From 7e7ce61ba6b8a1dbc36f170d97aaf93dfbe5856e Mon Sep 17 00:00:00 2001 From: Sergio Pulgarin Date: Sun, 14 May 2017 21:58:33 -0500 Subject: [PATCH] Enabling SQLite FTS5 module by default. Compiled using EMSCRIPTEN 1.37.9. --- Makefile | 2 +- js/sql-debug.js | 574605 ++++++++++++++++++++----------------- js/sql-memory-growth.js | 985 +- js/sql.js | 986 +- js/worker.sql.js | 992 +- 5 files changed, 316481 insertions(+), 261089 deletions(-) diff --git a/Makefile b/Makefile index 2f7cd45c..28c3a9f9 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ EMSCRIPTEN?=/usr/bin EMCC=$(EMSCRIPTEN)/emcc -CFLAGS=-DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_DISABLE_LFS -DLONGDOUBLE_TYPE=double -DSQLITE_INT64_TYPE="long long int" -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS +CFLAGS=-DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_DISABLE_LFS -DLONGDOUBLE_TYPE=double -DSQLITE_INT64_TYPE="long long int" -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS5 all: js/sql.js debug js/worker.sql.js memory-growth diff --git a/js/sql-debug.js b/js/sql-debug.js index 4483aaa8..ab9b521e 100644 --- a/js/sql-debug.js +++ b/js/sql-debug.js @@ -32,38 +32,51 @@ for (var key in Module) { // The environment setup code below is customized to use Module. // *** Environment setup code *** -var ENVIRONMENT_IS_WEB = typeof window === 'object'; +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) -var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + +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'] = function print(x) { - process['stdout'].write(x + '\n'); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - process['stderr'].write(x + '\n'); - }; + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; - var nodeFS = require('fs'); - var nodePath = require('path'); + var nodeFS; + var nodePath; Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); filename = nodePath['normalize'](filename); var ret = nodeFS['readFileSync'](filename); - // The path is absolute if the normalized version is the same as the resolved. - if (!ret && filename != nodePath['resolve'](filename)) { - filename = path.join(__dirname, '..', 'src', filename); - ret = nodeFS['readFileSync'](filename); - } - if (ret && !binary) ret = ret.toString(); - return ret; + return binary ? ret : ret.toString(); }; Module['readBinary'] = function readBinary(filename) { @@ -109,7 +122,7 @@ else if (ENVIRONMENT_IS_SHELL) { if (typeof read != 'undefined') { Module['read'] = read; } else { - Module['read'] = function read() { throw 'no read() available (jsc?)' }; + Module['read'] = function read() { throw 'no read() available' }; } Module['readBinary'] = function readBinary(f) { @@ -127,6 +140,12 @@ else if (ENVIRONMENT_IS_SHELL) { 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 read(url) { @@ -136,6 +155,31 @@ else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { return xhr.responseText; }; + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + Module['readAsync'] = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + if (typeof arguments != 'undefined') { Module['arguments'] = arguments; } @@ -145,7 +189,7 @@ else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { console.log(x); }; if (!Module['printErr']) Module['printErr'] = function printErr(x) { - console.log(x); + console.warn(x); }; } else { // Probably a worker, and without console.log. We can do very little here... @@ -190,6 +234,11 @@ if (!Module['arguments']) { if (!Module['thisProgram']) { Module['thisProgram'] = './this.program'; } +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} // *** Environment setup code *** @@ -207,14 +256,19 @@ for (var key in moduleOverrides) { Module[key] = moduleOverrides[key]; } } +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = undefined; + +// {{PREAMBLE_ADDITIONS}} // === Preamble library stuff === -// Documentation for the public APIs defined in this file must be updated in: +// 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: +// 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) @@ -227,6 +281,7 @@ for (var key in moduleOverrides) { var Runtime = { setTempRet0: function (value) { tempRet0 = value; + return value; }, getTempRet0: function () { return tempRet0; @@ -282,9 +337,7 @@ var Runtime = { }, dynCall: function (sig, ptr, args) { if (args && args.length) { - if (!args.splice) args = Array.prototype.slice.call(args); - args.splice(0, 0, ptr); - return Module['dynCall_' + sig].apply(null, args); + return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); } else { return Module['dynCall_' + sig].call(null, ptr); } @@ -317,9 +370,21 @@ var Runtime = { } var sigCache = Runtime.funcWrappers[sig]; if (!sigCache[func]) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, arguments); - }; + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } } return sigCache[func]; }, @@ -328,7 +393,7 @@ var Runtime = { }, stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16); return ret; }, staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + size)|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + size)|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) { var success = enlargeMemory(); if (!success) { DYNAMICTOP = ret; return 0; } }; return ret; }, + dynamicAlloc: function (size) { var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, GLOBAL_BASE: 8, @@ -346,18 +411,9 @@ Module["Runtime"] = Runtime; // Runtime essentials //======================================== -var __THREW__ = 0; // Used in checking for thrown exceptions. - -var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() var EXITSTATUS = 0; -var undef = 0; -// tempInt is used for 32-bit signed values or smaller. tempBigInt is used -// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt -var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD, tempDouble, tempFloat; -var tempI64, tempI64b; -var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9; - function assert(condition, text) { if (!condition) { abort('Assertion failed: ' + text); @@ -370,9 +426,7 @@ var globalScope = this; function getCFunc(ident) { var func = Module['_' + ident]; // closure exported function if (!func) { - try { - func = eval('_' + ident); // explicit lookup - } catch(e) {} + try { func = eval('_' + ident); } catch(e) {} } assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); return func; @@ -400,8 +454,9 @@ var cwrap, ccall; 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' - ret = Runtime.stackAlloc((str.length << 2) + 1); - writeStringToMemory(str, ret); + var len = (str.length << 2) + 1; + ret = Runtime.stackAlloc(len); + stringToUTF8(str, ret, len); } return ret; } @@ -409,7 +464,7 @@ var cwrap, ccall; // For fast lookup of conversion functions var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - // C calling interface. + // C calling interface. ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { var func = getCFunc(ident); var cArgs = []; @@ -439,22 +494,28 @@ var cwrap, ccall; return ret; } - var sourceRegex = /^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; function parseJSFunc(jsfunc) { // Match the body and the return value of a javascript function source var parsed = jsfunc.toString().match(sourceRegex).slice(1); return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} } - var JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } } } - cwrap = function cwrap(ident, returnType, argTypes) { argTypes = argTypes || []; var cfunc = getCFunc(ident); @@ -472,6 +533,7 @@ var cwrap, ccall; if (!numericArgs) { // Generate the code needed to convert the arguments from javascript // values to pointers + ensureJSsource(); funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; for (var i = 0; i < nargs; i++) { var arg = argNames[i], type = argTypes[i]; @@ -479,7 +541,7 @@ var cwrap, ccall; var convertCode = JSsource[type + 'ToC']; // [code, return] funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; funcstr += convertCode.body + ';'; - funcstr += arg + '=' + convertCode.returnValue + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; } } @@ -494,6 +556,7 @@ var cwrap, ccall; } if (!numericArgs) { // If we had a stack, restore it + ensureJSsource(); funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; } funcstr += 'return ret})'; @@ -577,7 +640,7 @@ function allocate(slab, types, allocator, ptr) { if (allocator == ALLOC_NONE) { ret = ptr; } else { - ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); } if (zeroinit) { @@ -636,7 +699,7 @@ Module["allocate"] = allocate; // Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready function getMemory(size) { if (!staticSealed) return Runtime.staticAlloc(size); - if ((typeof _sbrk !== 'undefined' && !_sbrk.called) || !runtimeInitialized) return Runtime.dynamicAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); return _malloc(size); } Module["getMemory"] = getMemory; @@ -698,39 +761,49 @@ Module["stringToAscii"] = stringToAscii; // Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns // a copy of that string as a Javascript String object. +var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; function UTF8ArrayToString(u8Array, idx) { - var u0, u1, u2, u3, u4, u5; + 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; - 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; + 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 { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; + u3 = u8Array[idx++] & 63; + if ((u0 & 0xF8) == 0xF0) { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; + 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)); + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } } } } @@ -746,12 +819,12 @@ Module["UTF8ToString"] = UTF8ToString; // Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', // encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. +// 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 +// 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. @@ -811,7 +884,7 @@ Module["stringToUTF8Array"] = stringToUTF8Array; // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', // null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. +// 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) { @@ -849,20 +922,31 @@ Module["lengthBytesUTF8"] = lengthBytesUTF8; // Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns // a copy of that string as a Javascript String object. +var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; function UTF16ToString(ptr) { - var i = 0; + 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); + 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); + } } } -Module["UTF16ToString"] = UTF16ToString; + // 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. @@ -870,7 +954,7 @@ Module["UTF16ToString"] = UTF16ToString; // 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 +// 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. @@ -894,14 +978,14 @@ function stringToUTF16(str, outPtr, maxBytesToWrite) { HEAP16[((outPtr)>>1)]=0; return outPtr - startPtr; } -Module["stringToUTF16"] = stringToUTF16; + // 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; } -Module["lengthBytesUTF16"] = lengthBytesUTF16; + function UTF32ToString(ptr) { var i = 0; @@ -922,7 +1006,7 @@ function UTF32ToString(ptr) { } } } -Module["UTF32ToString"] = UTF32ToString; + // 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. @@ -930,7 +1014,7 @@ Module["UTF32ToString"] = UTF32ToString; // 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 +// 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. @@ -959,7 +1043,7 @@ function stringToUTF32(str, outPtr, maxBytesToWrite) { HEAP32[((outPtr)>>2)]=0; return outPtr - startPtr; } -Module["stringToUTF32"] = stringToUTF32; + // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. @@ -975,185 +1059,45 @@ function lengthBytesUTF32(str) { return len; } -Module["lengthBytesUTF32"] = lengthBytesUTF32; + function demangle(func) { - var hasLibcxxabi = !!Module['___cxa_demangle']; - if (hasLibcxxabi) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { try { - var buf = _malloc(func.length); - writeStringToMemory(func.substr(1), buf); + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); var status = _malloc(4); - var ret = Module['___cxa_demangle'](buf, 0, 0, status); + var ret = __cxa_demangle_func(buf, 0, 0, status); if (getValue(status, 'i32') === 0 && ret) { return Pointer_stringify(ret); } - // otherwise, libcxxabi failed, we can try ours which may return a partial result + // otherwise, libcxxabi failed } catch(e) { - // failure when using libcxxabi, we can try ours which may return a partial result + // ignore problems here } finally { if (buf) _free(buf); if (status) _free(status); if (ret) _free(ret); } + // failure when using libcxxabi, don't demangle + return func; } - var i = 3; - // params, etc. - var basicTypes = { - 'v': 'void', - 'b': 'bool', - 'c': 'char', - 's': 'short', - 'i': 'int', - 'l': 'long', - 'f': 'float', - 'd': 'double', - 'w': 'wchar_t', - 'a': 'signed char', - 'h': 'unsigned char', - 't': 'unsigned short', - 'j': 'unsigned int', - 'm': 'unsigned long', - 'x': 'long long', - 'y': 'unsigned long long', - 'z': '...' - }; - var subs = []; - var first = true; - function dump(x) { - //return; - if (x) Module.print(x); - Module.print(func); - var pre = ''; - for (var a = 0; a < i; a++) pre += ' '; - Module.print (pre + '^'); - } - function parseNested() { - i++; - if (func[i] === 'K') i++; // ignore const - var parts = []; - while (func[i] !== 'E') { - if (func[i] === 'S') { // substitution - i++; - var next = func.indexOf('_', i); - var num = func.substring(i, next) || 0; - parts.push(subs[num] || '?'); - i = next+1; - continue; - } - if (func[i] === 'C') { // constructor - parts.push(parts[parts.length-1]); - i += 2; - continue; - } - var size = parseInt(func.substr(i)); - var pre = size.toString().length; - if (!size || !pre) { i--; break; } // counter i++ below us - var curr = func.substr(i + pre, size); - parts.push(curr); - subs.push(curr); - i += pre + size; - } - i++; // skip E - return parts; - } - function parse(rawList, limit, allowVoid) { // main parser - limit = limit || Infinity; - var ret = '', list = []; - function flushList() { - return '(' + list.join(', ') + ')'; - } - var name; - if (func[i] === 'N') { - // namespaced N-E - name = parseNested().join('::'); - limit--; - if (limit === 0) return rawList ? [name] : name; - } else { - // not namespaced - if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L' - var size = parseInt(func.substr(i)); - if (size) { - var pre = size.toString().length; - name = func.substr(i + pre, size); - i += pre + size; - } - } - first = false; - if (func[i] === 'I') { - i++; - var iList = parse(true); - var iRet = parse(true, 1, true); - ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>'; - } else { - ret = name; - } - paramLoop: while (i < func.length && limit-- > 0) { - //dump('paramLoop'); - var c = func[i++]; - if (c in basicTypes) { - list.push(basicTypes[c]); - } else { - switch (c) { - case 'P': list.push(parse(true, 1, true)[0] + '*'); break; // pointer - case 'R': list.push(parse(true, 1, true)[0] + '&'); break; // reference - case 'L': { // literal - i++; // skip basic type - var end = func.indexOf('E', i); - var size = end - i; - list.push(func.substr(i, size)); - i += size + 2; // size + 'EE' - break; - } - case 'A': { // array - var size = parseInt(func.substr(i)); - i += size.toString().length; - if (func[i] !== '_') throw '?'; - i++; // skip _ - list.push(parse(true, 1, true)[0] + ' [' + size + ']'); - break; - } - case 'E': break paramLoop; - default: ret += '?' + c; break paramLoop; - } - } - } - if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void) - if (rawList) { - if (ret) { - list.push(ret + '?'); - } - return list; - } else { - return ret + flushList(); - } - } - var parsed = func; - try { - // Special-case the entry point, since its name differs from other name mangling. - if (func == 'Object._main' || func == '_main') { - return 'main()'; - } - if (typeof func === 'number') func = Pointer_stringify(func); - if (func[0] !== '_') return func; - if (func[1] !== '_') return func; // C function - if (func[2] !== 'Z') return func; - switch (func[3]) { - case 'n': return 'operator new()'; - case 'd': return 'operator delete()'; - } - parsed = parse(); - } catch(e) { - parsed += '?'; - } - if (parsed.indexOf('?') >= 0 && !hasLibcxxabi) { - Runtime.warnOnce('warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - } - return parsed; + Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); + return func; } function demangleAll(text) { - return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') }); + var regex = + /__Z[\w\d_]+/g; + return text.replace(regex, + function(x) { + var y = demangle(x); + return x === y ? x : (x + ' [' + y + ']'); + }); } function jsStackTrace() { @@ -1174,33 +1118,59 @@ function jsStackTrace() { } function stackTrace() { - return demangleAll(jsStackTrace()); + var js = jsStackTrace(); + if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); + return demangleAll(js); } Module["stackTrace"] = stackTrace; // Memory management -var PAGE_SIZE = 4096; +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var ASMJS_PAGE_SIZE = 16777216; +var MIN_TOTAL_MEMORY = 16777216; -function alignMemoryPage(x) { - if (x % 4096 > 0) { - x += (4096 - (x % 4096)); +function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - (x % multiple); } return x; } var HEAP; +var buffer; var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; -var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area -var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area -var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk +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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); } + function enlargeMemory() { abortOnCannotGrowMemory(); } @@ -1208,42 +1178,32 @@ function enlargeMemory() { var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; - -var totalMemory = 64*1024; -while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) { - if (totalMemory < 16*1024*1024) { - totalMemory *= 2; - } else { - totalMemory += 16*1024*1024 - } -} -if (totalMemory !== TOTAL_MEMORY) { - TOTAL_MEMORY = totalMemory; -} +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 -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), - 'JS engine does not provide full typed array support'); -var buffer; +// 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(); -buffer = new ArrayBuffer(TOTAL_MEMORY); -HEAP8 = new Int8Array(buffer); -HEAP16 = new Int16Array(buffer); -HEAP32 = new Int32Array(buffer); -HEAPU8 = new Uint8Array(buffer); -HEAPU16 = new Uint16Array(buffer); -HEAPU32 = new Uint32Array(buffer); -HEAPF32 = new Float32Array(buffer); -HEAPF64 = new Float64Array(buffer); +function getTotalMemory() { + return TOTAL_MEMORY; +} // Endianness check (note: assumes compiler arch was little-endian) -HEAP32[0] = 255; -assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system'); + 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; @@ -1266,9 +1226,9 @@ function callRuntimeCallbacks(callbacks) { var func = callback.func; if (typeof func === 'number') { if (callback.arg === undefined) { - Runtime.dynCall('v', func); + Module['dynCall_v'](func); } else { - Runtime.dynCall('vi', func, [callback.arg]); + Module['dynCall_vi'](func, callback.arg); } } else { func(callback.arg === undefined ? null : callback.arg); @@ -1373,21 +1333,28 @@ function intArrayToString(array) { } Module["intArrayToString"] = intArrayToString; +// Deprecated: This function should not be called because it is unsafe and does not provide +// a maximum length limit of how many bytes it is allowed to write. Prefer calling the +// function stringToUTF8Array() instead, which takes in a maximum length that can be used +// to be secure from out of bounds writes. function writeStringToMemory(string, buffer, dontAddNull) { - var array = intArrayFromString(string, dontAddNull); - var i = 0; - while (i < array.length) { - var chr = array[i]; - HEAP8[(((buffer)+(i))>>0)]=chr; - i = i + 1; + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, end; + if (dontAddNull) { + // stringToUTF8Array always appends null. If we don't want to do that, remember the + // character that existed at the location where the null will be placed, and restore + // that after the write (below). + end = buffer + lengthBytesUTF8(string); + lastChar = HEAP8[end]; } + stringToUTF8(string, buffer, Infinity); + if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. } Module["writeStringToMemory"] = writeStringToMemory; function writeArrayToMemory(array, buffer) { - for (var i = 0; i < array.length; i++) { - HEAP8[((buffer++)>>0)]=array[i]; - } + HEAP8.set(array, buffer); } Module["writeArrayToMemory"] = writeArrayToMemory; @@ -1442,6 +1409,11 @@ if (!Math['clz32']) Math['clz32'] = function(x) { }; Math.clz32 = Math['clz32'] +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + var Math_abs = Math.abs; var Math_cos = Math.cos; var Math_sin = Math.sin; @@ -1458,8 +1430,10 @@ 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 @@ -1512,6 +1486,9 @@ var memoryInitializer = null; + + + // === Body === var ASM_CONSTS = []; @@ -1521,24 +1498,23 @@ var ASM_CONSTS = []; STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 48688; +STATICTOP = STATIC_BASE + 57088; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,64,0,0,1,0,1,0,130,0,0,0,55,64,0,0,1,0,1,0,131,0,0,0,60,64,0,0,1,0,1,0,132,0,0,0,65,64,0,0,2,0,1,0,133,0,0,0,70,64,0,0,2,0,1,0,133,0,0,0,76,64,0,0,1,0,1,0,134,0,0,0,82,64,0,0,1,0,1,0,135,0,0,0,88,64,0,0,1,0,1,0,136,0,0,0,94,64,0,0,2,0,1,0,137,0,0,0,105,64,0,0,1,0,1,0,138,0,0,0,113,64,0,0,1,0,1,0,139,0,0,0,121,64,0,0,1,0,1,0,140,0,0,0,125,64,0,0,1,0,1,0,141,0,0,0,129,64,0,0,1,0,1,0,142,0,0,0,133,64,0,0,1,0,1,0,143,0,0,0,137,64,0,0,1,0,1,0,144,0,0,0,142,64,0,0,1,0,1,0,145,0,0,0,147,64,0,0,1,0,1,0,146,0,0,0,152,64,0,0,1,0,1,0,147,0,0,0,157,64,0,0,1,0,1,0,148,0,0,0,143,98,0,0,1,0,1,0,149,0,0,0,161,64,0,0,1,0,1,0,150,0,0,0,167,64,0,0,2,0,1,0,151,0,0,0,173,64,0,0,1,0,1,0,152,0,0,0,178,64,0,0,1,0,1,0,153,0,0,0,183,64,0,0,1,0,1,0,154,0,0,0,190,64,0,0,1,0,1,0,155,0,0,0,195,64,0,0,1,0,1,0,156,0,0,0,201,64,0,0,0,0,1,1,157,0,0,0,204,64,0,0,2,0,1,0,158,0,0,0,214,64,0,0,2,0,1,0,159,0,0,0,214,64,0,0,3,0,1,0,159,0,0,0,224,64,0,0,2,0,1,0,160,0,0,0,232,64,0,0,2,0,1,0,161,0,0,0,241,64,0,0,1,0,1,0,162,0,0,0,249,64,0,0,1,0,1,0,163,0,0,0,0,65,0,0,2,0,1,0,164,0,0,0,5,65,0,0,2,0,1,0,165,0,0,0,10,65,0,0,2,0,1,0,166,0,0,0,15,65,0,0,2,0,1,0,167,0,0,0,25,65,0,0,1,0,0,0,168,0,0,0,130,0,0,0,31,65,0,0,1,0,0,0,168,0,0,0,131,0,0,0,221,101,0,0,1,0,0,0,169,0,0,0,132,0,0,0,40,65,0,0,1,0,0,0,169,0,0,0,133,0,0,0,47,65,0,0,1,0,0,0,169,0,0,0,134,0,0,0,62,65,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,45,178,0,0,66,178,0,0,78,178,0,0,90,178,0,0,114,178,0,0,125,178,0,0,145,178,0,0,159,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,21,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,26,172,0,0,208,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,36,172,0,0,212,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,49,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,81,0,0,184,81,0,0,252,81,0,0,24,82,0,0,53,82,0,0,80,82,0,0,108,82,0,0,133,82,0,0,157,82,0,0,222,82,0,0,25,83,0,0,93,83,0,0,141,83,0,0,253,83,0,0,132,84,0,0,184,84,0,0,250,84,0,0,37,85,0,0,96,85,0,0,135,85,0,0,179,85,0,0,220,85,0,0,11,86,0,0,53,86,0,0,226,71,0,0,226,71,0,0,91,86,0,0,146,86,0,0,207,86,0,0,70,87,0,0,173,87,0,0,228,87,0,0,30,88,0,0,137,88,0,0,216,88,0,0,25,89,0,0,85,89,0,0,133,89,0,0,239,89,0,0,56,90,0,0,6,80,0,0,170,0,0,0,14,80,0,0,171,0,0,0,32,80,0,0,172,0,0,0,22,80,0,0,173,0,0,0,0,93,0,0,2,0,4,0,3,93,0,0,3,1,3,0,7,93,0,0,3,1,2,0,11,93,0,0,4,0,1,0,22,80,0,0,9,0,0,0,236,96,0,0,6,0,0,0,99,94,0,0,8,0,0,0,108,94,0,0,10,0,0,0,243,96,0,0,5,0,0,0,37,94,0,0,7,0,0,0,249,96,0,0,10,0,0,0,4,97,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,102,0,0,0,0,2,0,61,102,0,0,0,0,4,0,0,0,0,0,0,0,0,0,37,102,0,0,1,0,0,0,40,102,0,0,2,0,0,0,43,102,0,0,6,0,0,0,47,102,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,133,0,0,1,0,0,0,226,77,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,185,120,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,175,120,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,155,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,78,0,0,248,120,0,0,5,121,0,0,0,0,0,0,18,121,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,85,122,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,210,122,0,0,0,0,0,0,23,130,0,0,0,0,0,0,8,0,0,0,247,125,0,0,1,1,0,0,0,0,0,0,38,130,0,0,2,0,0,0,0,0,16,0,54,130,0,0,3,0,0,0,0,0,0,0,114,125,0,0,4,1,0,0,0,0,0,0,23,126,0,0,5,0,0,0,0,0,0,0,67,130,0,0,6,0,0,0,0,0,0,0,87,130,0,0,2,0,0,0,0,0,0,32,103,130,0,0,2,0,0,0,16,0,0,0,124,130,0,0,7,0,0,0,0,0,0,0,139,130,0,0,8,0,0,0,0,0,0,0,155,130,0,0,2,0,0,0,128,0,0,0,169,130,0,0,0,2,0,0,15,0,0,0,182,130,0,0,10,1,0,0,0,0,0,0,196,130,0,0,11,1,0,0,0,0,0,0,215,130,0,0,2,0,0,0,0,0,0,2,234,130,0,0,2,0,0,0,0,1,0,0,126,127,0,0,12,0,0,0,0,0,0,0,1,131,0,0,13,1,0,0,0,0,0,0,19,131,0,0,14,1,0,0,0,0,0,0,36,131,0,0,2,0,0,0,0,0,8,0,49,131,0,0,0,2,0,0,0,0,0,0,64,131,0,0,2,0,0,0,4,0,0,0,82,131,0,0,2,0,0,0,8,0,0,0,92,131,0,0,2,0,0,0,0,32,0,0,117,131,0,0,15,1,0,0,0,0,0,0,136,131,0,0,16,1,0,0,0,0,0,0,147,131,0,0,17,1,0,0,0,0,0,0,158,131,0,0,16,1,0,0,1,0,0,0,221,126,0,0,18,1,0,0,0,0,0,0,215,125,0,0,19,1,0,0,0,0,0,0,228,125,0,0,20,0,0,0,0,0,0,0,170,131,0,0,2,0,0,0,0,128,0,0,202,125,0,0,22,0,0,0,0,0,0,0,189,131,0,0,23,1,0,0,0,0,0,0,35,126,0,0,24,0,0,0,0,0,0,0,204,131,0,0,23,1,0,0,0,0,0,0,161,125,0,0,25,0,0,0,0,0,0,0,215,131,0,0,2,0,0,0,0,0,0,4,226,131,0,0,18,1,0,0,0,0,0,0,238,131,0,0,2,0,0,0,0,64,0,0,255,131,0,0,2,0,0,0,0,0,4,0,18,132,0,0,2,0,0,0,0,0,2,0,44,132,0,0,0,0,0,0,1,0,0,0,171,125,0,0,26,0,0,0,0,0,0,0,59,132,0,0,2,0,0,0,64,0,0,0,78,132,0,0,27,0,0,0,0,0,0,0,244,127,0,0,28,0,0,0,0,0,0,0,92,132,0,0,29,1,0,0,0,0,0,0,102,126,0,0,30,1,0,0,0,0,0,0,98,132,0,0,31,1,0,0,0,0,0,0,45,126,0,0,32,0,0,0,0,0,0,0,56,126,0,0,33,0,0,0,0,0,0,0,4,128,0,0,34,0,0,0,0,0,0,0,109,132,0,0,0,0,0,0,6,0,0,0,217,127,0,0,35,0,0,0,0,0,0,0,122,132,0,0,36,1,0,0,0,0,0,0,137,132,0,0,2,0,0,0,0,8,1,0,121,129,0,0,76,129,0,0,153,129,0,0,158,129,0,0,166,129,0,0,90,129,0,0,225,128,0,0,134,129,0,0,140,129,0,0,146,129,0,0,115,129,0,0,121,129,0,0,76,129,0,0,9,94,0,0,125,129,0,0,130,129,0,0,38,129,0,0,76,129,0,0,93,129,0,0,100,129,0,0,107,129,0,0,86,129,0,0,88,129,0,0,90,129,0,0,38,129,0,0,76,129,0,0,81,129,0,0,38,129,0,0,76,129,0,0,35,129,0,0,38,129,0,0,225,128,0,0,42,129,0,0,47,129,0,0,50,129,0,0,60,129,0,0,70,129,0,0,225,128,0,0,169,96,0,0,231,128,0,0,238,128,0,0,30,128,0,0,1,0,0,0,35,128,0,0,1,0,0,0,41,128,0,0,2,0,0,0,50,128,0,0,3,0,0,0,59,128,0,0,2,0,0,0,67,128,0,0,3,0,0,0,75,128,0,0,0,0,0,0,82,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,128,0,0,143,98,0,0,17,128,0,0,0,130,0,0,7,130,0,0,15,130,0,0,208,127,0,0,47,102,0,0,19,130,0,0,70,129,0,0,64,0,0,0,97,128,0,0,66,0,0,0,92,128,0,0,65,0,0,0,25,136,0,0,67,0,0,0,248,116,0,0,3,0,0,0,244,116,0,0,3,0,0,0,226,71,0,0,19,146,0,0,25,146,0,0,30,146,0,0,35,146,0,0,151,146,0,0,157,146,0,0,165,146,0,0,216,154,0,0,221,154,0,0,228,154,0,0,231,154,0,0,234,154,0,0,237,154,0,0,240,154,0,0,243,154,0,0,251,154,0,0,243,96,0,0,42,129,0,0,4,155,0,0,148,163,0,0,157,163,0,0,164,163,0,0,170,163,0,0,253,163,0,0,7,164,0,0,18,164,0,0,30,164,0,0,41,164,0,0,52,164,0,0,63,164,0,0,68,164,0,0,73,164,0,0,84,164,0,0,96,164,0,0,103,164,0,0,111,164,0,0,119,164,0,0,124,164,0,0,130,164,0,0,144,164,0,0,150,164,0,0,160,164,0,0,165,164,0,0,169,164,0,0,174,164,0,0,177,164,0,0,183,164,0,0,190,164,0,0,197,164,0,0,204,164,0,0,211,164,0,0,214,164,0,0,218,164,0,0,229,164,0,0,238,164,0,0,244,164,0,0,254,164,0,0,8,165,0,0,15,165,0,0,23,165,0,0,26,165,0,0,29,165,0,0,32,165,0,0,35,165,0,0,38,165,0,0,41,165,0,0,51,165,0,0,58,165,0,0,64,165,0,0,74,165,0,0,85,165,0,0,89,165,0,0,98,165,0,0,107,165,0,0,114,165,0,0,124,165,0,0,131,165,0,0,136,165,0,0,143,165,0,0,154,165,0,0,159,165,0,0,166,165,0,0,172,165,0,0,178,165,0,0,184,165,0,0,190,165,0,0,201,165,0,0,212,165,0,0,220,165,0,0,229,165,0,0,235,165,0,0,245,165,0,0,2,166,0,0,13,166,0,0,19,166,0,0,24,166,0,0,31,166,0,0,44,166,0,0,55,166,0,0,60,166,0,0,68,166,0,0,74,166,0,0,81,166,0,0,86,166,0,0,95,166,0,0,100,166,0,0,109,166,0,0,114,166,0,0,119,166,0,0,125,166,0,0,133,166,0,0,143,166,0,0,151,166,0,0,161,166,0,0,170,166,0,0,177,166,0,0,190,166,0,0,195,166,0,0,207,166,0,0,215,166,0,0,222,166,0,0,230,166,0,0,239,166,0,0,250,166,0,0,0,167,0,0,11,167,0,0,21,167,0,0,31,167,0,0,40,167,0,0,50,167,0,0,64,167,0,0,78,167,0,0,89,167,0,0,102,167,0,0,113,167,0,0,119,167,0,0,131,167,0,0,140,167,0,0,149,167,0,0,156,167,0,0,166,167,0,0,173,167,0,0,184,167,0,0,198,167,0,0,209,167,0,0,216,167,0,0,224,167,0,0,230,167,0,0,238,167,0,0,251,167,0,0,5,168,0,0,15,168,0,0,20,168,0,0,29,168,0,0,37,168,0,0,43,168,0,0,48,168,0,0,60,168,0,0,72,168,0,0,84,168,0,0,96,168,0,0,109,168,0,0,119,168,0,0,129,168,0,0,141,168,0,0,153,168,0,0,163,168,0,0,169,168,0,0,179,168,0,0,186,168,0,0,198,168,0,0,207,168,0,0,215,168,0,0,224,168,0,0,231,168,0,0,241,168,0,0,248,168,0,0,0,169,0,0,9,169,0,0,15,169,0,0,23,169,0,0,31,169,0,0,41,169,0,0,50,169,0,0,61,169,0,0,66,169,0,0,150,169,0,0,163,169,0,0,0,0,0,0,199,169,0,0,224,169,0,0,255,169,0,0,18,170,0,0,184,97,0,0,43,170,0,0,80,170,0,0,92,170,0,0,107,170,0,0,140,170,0,0,158,170,0,0,183,170,0,0,212,170,0,0,229,170,0,0,73,157,0,0,250,70,0,0,252,170,0,0,14,171,0,0,32,171,0,0,71,171,0,0,102,171,0,0,123,171,0,0,155,171,0,0,189,171,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,96,172,0,0,145,0,0,0,0,0,0,0,59,172,0,0,163,0,0,0,0,0,0,0,226,101,0,0,160,0,0,0,0,0,0,0,101,172,0,0,161,0,0,0,0,0,0,0,108,172,0,0,162,0,0,0,0,0,0,0,113,172,0,0,163,0,0,0,0,0,0,0,119,172,0,0,164,0,0,0,0,0,0,0,129,172,0,0,146,0,0,0,0,0,0,0,135,172,0,0,147,0,0,0,0,0,0,0,140,172,0,0,0,0,0,0,0,0,0,0,146,172,0,0,0,0,0,0,0,0,0,0,154,172,0,0,148,0,0,0,0,0,0,0,160,172,0,0,0,0,0,0,0,0,0,0,167,172,0,0,0,0,0,0,0,0,0,0,176,172,0,0,165,0,0,0,0,0,0,0,183,172,0,0,0,0,0,0,0,0,0,0,193,172,0,0,164,0,0,0,0,0,0,0,200,172,0,0,166,0,0,0,0,0,0,0,214,172,0,0,167,0,0,0,0,0,0,0,220,172,0,0,165,0,0,0,0,0,0,0,226,172,0,0,149,0,0,0,0,0,0,0,233,172,0,0,130,0,0,0,0,0,0,0,241,172,0,0,137,0,0,0,0,0,0,0,246,172,0,0,168,0,0,0,0,0,0,0,253,172,0,0,0,0,0,0,0,0,0,0,4,173,0,0,131,0,0,0,0,0,0,0,16,173,0,0,150,0,0,0,0,0,0,0,25,173,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,173,0,0,131,173,0,0,140,173,0,0,145,173,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,17,175,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,43,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,68,175,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,77,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,88,175,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,124,139,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,128,139,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,112,175,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,119,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,126,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,132,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,139,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,147,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,152,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,162,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,168,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,174,175,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,178,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,185,175,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,192,175,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,203,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,210,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,225,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,242,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,253,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,3,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,21,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,29,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,43,176,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,51,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,67,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,71,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,77,176,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,13,8,218,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,97,128,0,0,0,0,0,0,2,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,3,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,101,138,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,165,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,175,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,180,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,185,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,194,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,203,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,216,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,234,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,209,177,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,229,177,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,251,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,34,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,39,186,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235,2,18,3,27,3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0,217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158,3,127,4,137,4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4,102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202,4,226,4,230,4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239,4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209,3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,190,3,190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2,46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0,178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25,0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3,194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0,169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83,0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64,3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0,189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19,0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0,151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166,3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3,56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0,96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8,3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214,3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121,3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12,1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0,120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38,0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0,42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0,18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194,1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121,0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190,1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244,2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0,242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0,143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158,3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0,142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170,1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241,2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1,134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239,2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3,96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211,0,12,5,11,5,53,1,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181,3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31,6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255,181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2,42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73,5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214,4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31,6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4,153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133,5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158,5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5,252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178,4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117,4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52,5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243,4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5,111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111,4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104,4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52,5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96,4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,12,0,14,0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0,0,75,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131,81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); -/* memory initializer */ allocate([105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177,0,177,3,187,5,187,3,229,0,229,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97,108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); -/* memory initializer */ allocate([32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32,114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2,1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,44,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32,97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157,90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119,120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43,44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46,47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33,247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206,179,180,92,172,173,95,152,97,98,188,99,101,219,102,103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97,85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83,43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56,101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98,172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132,133,134,135,136,89,16,207,92,93,19,172,173,169,170,195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152,172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172,173,152,172,173,152,172,173,152,152,172,173,152,172,173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152,152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217,166,167,163,163,163,163,163,196,130,217,211,212,217,116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175,175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159,158,22,177,201,201,159,107,158,177,159,174,158,76,174,182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37,22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64,22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24,1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68,32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34,37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+30720); -/* memory initializer */ allocate([97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,109,111,100,101,111,102,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2,14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,51,46,55,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+40960); +/* memory initializer */ allocate([1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,73,0,0,1,0,1,0,130,0,0,0,201,73,0,0,1,0,1,0,131,0,0,0,206,73,0,0,1,0,1,0,132,0,0,0,211,73,0,0,2,0,1,0,133,0,0,0,216,73,0,0,2,0,1,0,133,0,0,0,222,73,0,0,1,0,1,0,134,0,0,0,228,73,0,0,1,0,1,0,135,0,0,0,234,73,0,0,1,0,1,0,136,0,0,0,240,73,0,0,2,0,1,0,137,0,0,0,251,73,0,0,1,0,1,0,138,0,0,0,3,74,0,0,1,0,1,0,139,0,0,0,11,74,0,0,1,0,1,0,140,0,0,0,15,74,0,0,1,0,1,0,141,0,0,0,19,74,0,0,1,0,1,0,142,0,0,0,23,74,0,0,1,0,1,0,143,0,0,0,27,74,0,0,1,0,1,0,144,0,0,0,32,74,0,0,1,0,1,0,145,0,0,0,37,74,0,0,1,0,1,0,146,0,0,0,42,74,0,0,1,0,1,0,147,0,0,0,47,74,0,0,1,0,1,0,148,0,0,0,3,126,0,0,1,0,1,0,149,0,0,0,51,74,0,0,1,0,1,0,150,0,0,0,57,74,0,0,2,0,1,0,151,0,0,0,63,74,0,0,1,0,1,0,152,0,0,0,68,74,0,0,1,0,1,0,153,0,0,0,73,74,0,0,1,0,1,0,154,0,0,0,80,74,0,0,1,0,1,0,155,0,0,0,85,74,0,0,1,0,1,0,156,0,0,0,91,74,0,0,0,0,1,1,157,0,0,0,94,74,0,0,2,0,1,0,158,0,0,0,104,74,0,0,2,0,1,0,159,0,0,0,104,74,0,0,3,0,1,0,159,0,0,0,114,74,0,0,2,0,1,0,160,0,0,0,122,74,0,0,2,0,1,0,161,0,0,0,131,74,0,0,1,0,1,0,162,0,0,0,139,74,0,0,1,0,1,0,163,0,0,0,146,74,0,0,2,0,1,0,164,0,0,0,151,74,0,0,2,0,1,0,165,0,0,0,156,74,0,0,2,0,1,0,166,0,0,0,161,74,0,0,2,0,1,0,167,0,0,0,171,74,0,0,1,0,0,0,168,0,0,0,130,0,0,0,177,74,0,0,1,0,0,0,168,0,0,0,131,0,0,0,250,120,0,0,1,0,0,0,169,0,0,0,132,0,0,0,186,74,0,0,1,0,0,0,169,0,0,0,133,0,0,0,193,74,0,0,1,0,0,0,169,0,0,0,134,0,0,0,208,74,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,95,79,0,0,116,79,0,0,128,79,0,0,140,79,0,0,164,79,0,0,176,79,0,0,187,79,0,0,207,79,0,0,221,79,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,231,81,0,0,48,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,236,81,0,0,52,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,246,81,0,0,56,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,3,82,0,0,48,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,1,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,0,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,50,82,0,0,136,0,0,0,0,0,0,0,13,82,0,0,133,0,0,0,0,0,0,0,55,82,0,0,144,0,0,0,0,0,0,0,62,82,0,0,145,0,0,0,0,0,0,0,69,82,0,0,146,0,0,0,0,0,0,0,74,82,0,0,147,0,0,0,0,0,0,0,80,82,0,0,148,0,0,0,0,0,0,0,90,82,0,0,137,0,0,0,0,0,0,0,96,82,0,0,138,0,0,0,0,0,0,0,101,82,0,0,0,0,0,0,0,0,0,0,107,82,0,0,0,0,0,0,0,0,0,0,115,82,0,0,139,0,0,0,0,0,0,0,121,82,0,0,0,0,0,0,0,0,0,0,128,82,0,0,0,0,0,0,0,0,0,0,137,82,0,0,149,0,0,0,0,0,0,0,144,82,0,0,0,0,0,0,0,0,0,0,154,82,0,0,134,0,0,0,0,0,0,0,161,82,0,0,150,0,0,0,0,0,0,0,175,82,0,0,151,0,0,0,0,0,0,0,181,82,0,0,135,0,0,0,0,0,0,0,187,82,0,0,140,0,0,0,0,0,0,0,194,82,0,0,130,0,0,0,0,0,0,0,202,82,0,0,130,0,0,0,0,0,0,0,207,82,0,0,152,0,0,0,0,0,0,0,214,82,0,0,0,0,0,0,0,0,0,0,221,82,0,0,131,0,0,0,0,0,0,0,233,82,0,0,141,0,0,0,0,0,0,0,242,82,0,0,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,83,0,0,112,83,0,0,121,83,0,0,229,81,0,0,3,0,0,0,136,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,0,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,3,0,0,0,137,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,0,0,0,64,1,0,0,0,0,0,0,0,138,0,0,0,137,0,0,0,142,0,0,0,130,0,0,0,139,0,0,0,143,0,0,0,170,0,0,0,130,0,0,0,131,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,140,0,0,0,160,0,0,0,141,0,0,0,142,0,0,0,143,0,0,0,141,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,171,84,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,172,0,0,0,0,0,0,0,197,84,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,222,84,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,231,84,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,242,84,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,249,84,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,249,84,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,255,84,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,255,84,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,5,85,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,5,85,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,10,85,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,85,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,176,0,0,0,142,0,0,0,10,85,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,14,85,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,85,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,176,0,0,0,142,0,0,0,14,85,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,18,85,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,25,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,32,85,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,38,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,45,85,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,53,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,58,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,62,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,62,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,185,0,0,0,0,0,0,0,68,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,74,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,80,85,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,84,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,91,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,98,85,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,109,85,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,116,85,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,131,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,148,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,159,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,165,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,183,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,191,85,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,205,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,213,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,222,85,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,222,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,143,0,0,0,229,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,144,0,0,0,233,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,145,0,0,0,239,85,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,201,0,0,0,146,0,0,0,243,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,201,0,0,0,146,0,0,0,243,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,202,0,0,0,147,0,0,0,249,85,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,202,0,0,0,147,0,0,0,249,85,0,0,0,0,0,0,2,0,13,8,6,86,0,0,0,0,0,0,203,0,0,0,0,0,0,0,10,86,0,0,0,0,0,0,2,0,5,8,15,86,0,0,0,0,0,0,203,0,0,0,0,0,0,0,19,86,0,0,0,0,0,0,3,0,5,8,15,86,0,0,0,0,0,0,203,0,0,0,0,0,0,0,19,86,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,86,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,86,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,24,86,0,0,0,0,0,0,60,87,0,0,73,87,0,0,0,0,0,0,109,87,0,0,134,87,0,0,165,87,0,0,184,87,0,0,209,87,0,0,223,87,0,0,4,88,0,0,16,88,0,0,31,88,0,0,64,88,0,0,82,88,0,0,107,88,0,0,136,88,0,0,153,88,0,0,176,88,0,0,187,86,0,0,204,88,0,0,222,88,0,0,240,88,0,0,23,89,0,0,54,89,0,0,75,89,0,0,107,89,0,0,141,89,0,0,237,89,0,0,255,0,1,32,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,239,89,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,249,89,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,254,89,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,3,90,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,12,90,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,209,0,0,0,0,0,0,0,21,90,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,210,0,0,0,0,0,0,0,34,90,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,52,90,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,212,0,0,0,0,0,0,0,33,91,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,53,91,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,75,91,0,0,0,0,0,0,132,0,0,0,133,0,0,0,144,0,0,0,148,0,0,0,149,0,0,0,145,0,0,0,150,0,0,0,0,0,0,0,0,0,0,0,134,0,0,0,135,0,0,0,146,0,0,0,151,0,0,0,152,0,0,0,147,0,0,0,153,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,148,0,0,0,135,0,0,0,136,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,98,0,0,143,98,0,0,150,98,0,0,153,98,0,0,156,98,0,0,159,98,0,0,162,98,0,0,165,98,0,0,173,98,0,0,182,98,0,0,188,98,0,0,193,98,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,132,0,0,1,0,0,0,245,104,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,247,117,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,237,117,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,217,117,0,0,0,0,0,0,214,105,0,0,54,118,0,0,67,118,0,0,0,0,0,0,80,118,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,147,119,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,16,120,0,0,0,0,0,0,76,121,0,0,0,0,2,0,83,121,0,0,0,0,4,0,0,0,0,0,0,0,0,0,59,121,0,0,1,0,0,0,62,121,0,0,2,0,0,0,65,121,0,0,6,0,0,0,69,121,0,0,128,0,0,0,0,0,0,0,0,0,0,0,151,128,0,0,0,0,0,0,8,0,0,0,212,123,0,0,1,1,0,0,0,0,0,0,166,128,0,0,2,0,0,0,0,0,16,0,182,128,0,0,3,0,0,0,0,0,0,0,79,123,0,0,4,1,0,0,0,0,0,0,244,123,0,0,5,0,0,0,0,0,0,0,195,128,0,0,6,0,0,0,0,0,0,0,215,128,0,0,2,0,0,0,0,0,0,32,231,128,0,0,2,0,0,0,16,0,0,0,252,128,0,0,7,0,0,0,0,0,0,0,11,129,0,0,8,0,0,0,0,0,0,0,27,129,0,0,2,0,0,0,128,0,0,0,41,129,0,0,0,2,0,0,15,0,0,0,54,129,0,0,10,1,0,0,0,0,0,0,68,129,0,0,11,1,0,0,0,0,0,0,87,129,0,0,2,0,0,0,0,0,0,2,106,129,0,0,2,0,0,0,0,1,0,0,91,125,0,0,12,0,0,0,0,0,0,0,129,129,0,0,13,1,0,0,0,0,0,0,147,129,0,0,14,1,0,0,0,0,0,0,164,129,0,0,2,0,0,0,0,0,8,0,177,129,0,0,0,2,0,0,0,0,0,0,192,129,0,0,2,0,0,0,4,0,0,0,210,129,0,0,2,0,0,0,8,0,0,0,220,129,0,0,2,0,0,0,0,32,0,0,245,129,0,0,15,1,0,0,0,0,0,0,8,130,0,0,16,1,0,0,0,0,0,0,19,130,0,0,17,1,0,0,0,0,0,0,30,130,0,0,16,1,0,0,1,0,0,0,186,124,0,0,18,1,0,0,0,0,0,0,180,123,0,0,19,1,0,0,0,0,0,0,193,123,0,0,20,0,0,0,0,0,0,0,42,130,0,0,2,0,0,0,0,128,0,0,167,123,0,0,22,0,0,0,0,0,0,0,61,130,0,0,23,1,0,0,0,0,0,0,0,124,0,0,24,0,0,0,0,0,0,0,76,130,0,0,23,1,0,0,0,0,0,0,126,123,0,0,25,0,0,0,0,0,0,0,87,130,0,0,2,0,0,0,0,0,0,4,98,130,0,0,18,1,0,0,0,0,0,0,110,130,0,0,2,0,0,0,0,64,0,0,127,130,0,0,2,0,0,0,0,0,4,0,146,130,0,0,2,0,0,0,0,0,2,0,172,130,0,0,0,0,0,0,1,0,0,0,136,123,0,0,26,0,0,0,0,0,0,0,187,130,0,0,2,0,0,0,64,0,0,0,206,130,0,0,27,0,0,0,0,0,0,0,209,125,0,0,28,0,0,0,0,0,0,0,220,130,0,0,29,1,0,0,0,0,0,0,67,124,0,0,30,1,0,0,0,0,0,0,226,130,0,0,31,1,0,0,0,0,0,0,10,124,0,0,32,0,0,0,0,0,0,0,21,124,0,0,33,0,0,0,0,0,0,0,225,125,0,0,34,0,0,0,0,0,0,0,237,130,0,0,0,0,0,0,6,0,0,0,182,125,0,0,35,0,0,0,0,0,0,0,250,130,0,0,36,1,0,0,0,0,0,0,9,131,0,0,2,0,0,0,0,8,1,0,81,127,0,0,36,127,0,0,118,127,0,0,123,127,0,0,131,127,0,0,50,127,0,0,190,126,0,0,99,127,0,0,105,127,0,0,111,127,0,0,75,127,0,0,81,127,0,0,36,127,0,0,85,127,0,0,90,127,0,0,95,127,0,0,3,127,0,0,36,127,0,0,53,127,0,0,60,127,0,0,67,127,0,0,46,127,0,0,48,127,0,0,50,127,0,0,3,127,0,0,36,127,0,0,41,127,0,0,3,127,0,0,36,127,0,0,0,127,0,0,3,127,0,0,190,126,0,0,188,98,0,0,7,127,0,0,10,127,0,0,20,127,0,0,30,127,0,0,190,126,0,0,145,101,0,0,196,126,0,0,203,126,0,0,20,126,0,0,1,0,0,0,25,126,0,0,1,0,0,0,31,126,0,0,2,0,0,0,40,126,0,0,3,0,0,0,49,126,0,0,2,0,0,0,57,126,0,0,3,0,0,0,65,126,0,0,0,0,0,0,72,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,125,0,0,3,126,0,0,7,126,0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,8,0,0,0,221,127,0,0,228,127,0,0,236,127,0,0,173,125,0,0,69,121,0,0,240,127,0,0,30,127,0,0,64,0,0,0,10,86,0,0,66,0,0,0,19,86,0,0,65,0,0,0,158,134,0,0,67,0,0,0,176,114,0,0,3,0,0,0,172,114,0,0,3,0,0,0,200,217,0,0,224,143,0,0,230,143,0,0,235,143,0,0,240,143,0,0,100,144,0,0,106,144,0,0,114,144,0,0,201,158,0,0,210,158,0,0,217,158,0,0,223,158,0,0,44,159,0,0,54,159,0,0,65,159,0,0,77,159,0,0,88,159,0,0,99,159,0,0,110,159,0,0,115,159,0,0,120,159,0,0,131,159,0,0,143,159,0,0,150,159,0,0,158,159,0,0,166,159,0,0,171,159,0,0,177,159,0,0,191,159,0,0,197,159,0,0,207,159,0,0,212,159,0,0,216,159,0,0,221,159,0,0,224,159,0,0,230,159,0,0,237,159,0,0,244,159,0,0,251,159,0,0,2,160,0,0,5,160,0,0,9,160,0,0,20,160,0,0,29,160,0,0,35,160,0,0,45,160,0,0,55,160,0,0,62,160,0,0,70,160,0,0,73,160,0,0,76,160,0,0,79,160,0,0,82,160,0,0,85,160,0,0,88,160,0,0,98,160,0,0,105,160,0,0,111,160,0,0,121,160,0,0,132,160,0,0,136,160,0,0,145,160,0,0,154,160,0,0,161,160,0,0,171,160,0,0,178,160,0,0,183,160,0,0,190,160,0,0,201,160,0,0,206,160,0,0,213,160,0,0,219,160,0,0,225,160,0,0,231,160,0,0,237,160,0,0,248,160,0,0,3,161,0,0,11,161,0,0,20,161,0,0,26,161,0,0,36,161,0,0,49,161,0,0,60,161,0,0,66,161,0,0,71,161,0,0,78,161,0,0,91,161,0,0,102,161,0,0,107,161,0,0,115,161,0,0,121,161,0,0,128,161,0,0,133,161,0,0,142,161,0,0,147,161,0,0,156,161,0,0,161,161,0,0,166,161,0,0,172,161,0,0,180,161,0,0,190,161,0,0,198,161,0,0,208,161,0,0,217,161,0,0,224,161,0,0,237,161,0,0,242,161,0,0,254,161,0,0,6,162,0,0,13,162,0,0,21,162,0,0,30,162,0,0,41,162,0,0,47,162,0,0,58,162,0,0,68,162,0,0,78,162,0,0,87,162,0,0,97,162,0,0,111,162,0,0,125,162,0,0,136,162,0,0,149,162,0,0,160,162,0,0,166,162,0,0,178,162,0,0,187,162,0,0,196,162,0,0,203,162,0,0,213,162,0,0,220,162,0,0,231,162,0,0,245,162,0,0,0,163,0,0,7,163,0,0,15,163,0,0,21,163,0,0,29,163,0,0,42,163,0,0,52,163,0,0,62,163,0,0,67,163,0,0,76,163,0,0,84,163,0,0,90,163,0,0,95,163,0,0,107,163,0,0,119,163,0,0,131,163,0,0,143,163,0,0,156,163,0,0,166,163,0,0,176,163,0,0,188,163,0,0,200,163,0,0,210,163,0,0,216,163,0,0,226,163,0,0,233,163,0,0,245,163,0,0,254,163,0,0,6,164,0,0,15,164,0,0,22,164,0,0,32,164,0,0,39,164,0,0,47,164,0,0,56,164,0,0,62,164,0,0,70,164,0,0,78,164,0,0,88,164,0,0,97,164,0,0,108,164,0,0,113,164,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,2,0,0,0,131,0,0,0,132,0,0,0,163,0,0,0,149,0,0,0,150,0,0,0,164,0,0,0,151,0,0,0,137,0,0,0,152,0,0,0,153,0,0,0,145,0,0,0,165,0,0,0,134,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,138,0,0,0,166,0,0,0,167,0,0,0,168,0,0,0,169,0,0,0,0,0,0,0,133,0,0,0,133,0,0,0,170,0,0,0,158,0,0,0,158,0,0,0,171,0,0,0,159,0,0,0,139,0,0,0,160,0,0,0,161,0,0,0,146,0,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,167,0,0,37,168,0,0,105,168,0,0,133,168,0,0,162,168,0,0,189,168,0,0,217,168,0,0,242,168,0,0,10,169,0,0,75,169,0,0,134,169,0,0,202,169,0,0,250,169,0,0,106,170,0,0,241,170,0,0,37,171,0,0,103,171,0,0,146,171,0,0,205,171,0,0,244,171,0,0,32,172,0,0,73,172,0,0,120,172,0,0,162,172,0,0,200,217,0,0,200,217,0,0,200,172,0,0,255,172,0,0,60,173,0,0,179,173,0,0,26,174,0,0,81,174,0,0,139,174,0,0,246,174,0,0,69,175,0,0,134,175,0,0,194,175,0,0,242,175,0,0,92,176,0,0,165,176,0,0,115,166,0,0,220,0,0,0,123,166,0,0,221,0,0,0,141,166,0,0,222,0,0,0,131,166,0,0,223,0,0,0,109,179,0,0,2,0,4,0,112,179,0,0,3,1,3,0,116,179,0,0,3,1,2,0,120,179,0,0,4,0,1,0,131,166,0,0,9,0,0,0,54,183,0,0,6,0,0,0,184,180,0,0,8,0,0,0,193,180,0,0,10,0,0,0,182,98,0,0,5,0,0,0,141,180,0,0,7,0,0,0,61,183,0,0,10,0,0,0,72,183,0,0,10,0,0,0,0,0,0,0,147,0,0,0,162,0,0,0,135,0,0,0,163,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,148,0,0,0,164,0,0,0,136,0,0,0,165,0,0,0,135,0,0,0,0,0,0,0,0,0,0,0,136,0,0,0,136,0,0,0,173,0,0,0,166,0,0,0,166,0,0,0,174,0,0,0,167,0,0,0,140,0,0,0,168,0,0,0,169,0,0,0,149,0,0,0,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,0,0,170,0,0,0,137,0,0,0,171,0,0,0,137,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,2,0,0,0,138,0,0,0,139,0,0,0,176,0,0,0,172,0,0,0,173,0,0,0,177,0,0,0,174,0,0,0,141,0,0,0,175,0,0,0,176,0,0,0,151,0,0,0,178,0,0,0,138,0,0,0,177,0,0,0,178,0,0,0,179,0,0,0,180,0,0,0,142,0,0,0,179,0,0,0,180,0,0,0,181,0,0,0,182,0,0,0,2,0,0,0,140,0,0,0,141,0,0,0,183,0,0,0,181,0,0,0,182,0,0,0,184,0,0,0,183,0,0,0,143,0,0,0,184,0,0,0,185,0,0,0,152,0,0,0,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,188,0,0,26,189,0,0,90,166,0,0,139,0,0,0,154,0,0,0,142,0,0,0,61,189,0,0,140,0,0,0,155,0,0,0,143,0,0,0,83,166,0,0,141,0,0,0,156,0,0,0,144,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,115,166,0,0,0,0,0,0,130,0,0,0,0,0,0,0,45,191,0,0,0,0,0,0,131,0,0,0,0,0,0,0,55,191,0,0,0,0,0,0,132,0,0,0,0,0,0,0,117,191,0,0,224,0,0,0,127,191,0,0,225,0,0,0,141,191,0,0,226,0,0,0,154,191,0,0,227,0,0,0,204,127,0,0,1,0,0,0,160,125,0,0,0,0,0,0,249,196,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,186,0,0,0,187,0,0,0,186,0,0,0,153,0,0,0,144,0,0,0,188,0,0,0,187,0,0,0,188,0,0,0,145,0,0,0,189,0,0,0,142,0,0,0,154,0,0,0,143,0,0,0,155,0,0,0,189,0,0,0,146,0,0,0,131,0,0,0,144,0,0,0,228,0,0,0,108,199,0,0,176,199,0,0,245,199,0,0,205,171,0,0,22,200,0,0,62,200,0,0,32,172,0,0,101,200,0,0,140,200,0,0,182,200,0,0,222,200,0,0,66,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,255,255,255,255,66,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,255,255,255,255,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,24,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,36,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,0,0,0,157,0,0,0,253,218,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,43,0,0,12,0,14,0,24,0,31,0,59,0,15,39,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235,2,18,3,27,3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0,217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158,3,127,4,137,4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4,102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202,4,226,4,230,4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239,4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209,3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,190,3,190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2,46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0,178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25,0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3,194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0,169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83,0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64,3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0,189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19,0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0,151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166,3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3,56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0,96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8,3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214,3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121,3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12,1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0,120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38,0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0,42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0,18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194,1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121,0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190,1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244,2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0,242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0,143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158,3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0,142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170,1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241,2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1,134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239,2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3,96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211,0,12,5,11,5,53,1,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181,3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31,6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255,181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2,42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73,5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214,4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31,6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4,153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133,5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158,5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5,252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178,4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117,4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52,5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243,4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5,111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111,4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104,4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52,5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96,4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,52,46,48,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,69,78,65,66,76,69,95,70,84,83,53,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,49,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0,1,0,0,109,105,115,117,115,101,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2,14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,78,85,76,76,0,40,78,85,76,76,41,0,46,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,97,99,99,101,115,115,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,109,111,100,101,111,102,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,109,105,110,0,109,97,120,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,42,63,91,0,103,108,111,98,0,37,95,0,1,108,105,107,101,0,99,111,97,108,101,115,99,101,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,37,108,108,100,0,37,33,46,49,53,103,0,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,44,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,105,110,116,101,103,101,114,0,116,101,120,116,0,114,101,97,108,0,98,108,111,98,0,110,117,108,108,0,1,32,0,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,46,49,54,103,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,115,37,115,0,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131,81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,37,46,42,115,34,37,119,34,37,115,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,58,109,101,109,111,114,121,58,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,64,32,32,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,111,114,100,101,114,0,102,114,111,109,0,100,101,116,97,105,108,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177,0,177,3,187,5,187,3,229,0,229,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,114,111,119,105,100,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,73,78,84,69,71,69,82,0,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97,108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,82,79,87,73,68,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,95,82,79,87,73,68,95,0,79,73,68,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,42,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32,114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); +/* memory initializer */ allocate([32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,116,114,105,103,103,101,114,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2,1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,98,117,115,121,0,108,111,103,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,100,101,115,99,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,78,79,67,65,83,69,0,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32,97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157,90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119,120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43,44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46,47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33,247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206,179,180,92,172,173,95,152,97,98,188,99,101,219,102,103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97,85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83,43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56,101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98,172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132,133,134,135,136,89,16,207,92,93,19,172,173,169,170,195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152,172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172,173,152,172,173,152,172,173,152,152,172,173,152,172,173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152,152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217,166,167,163,163,163,163,163,196,130,217,211,212,217,116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175,175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159,158,22,177,201,201,159,107,158,177,159,174,158,76,174,182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37,22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64,22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24,1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,117,110,111,112,101,110,101,100,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68,32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34,37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+30720); +/* memory initializer */ allocate([0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0,0,75,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,1,4,3,2,5,116,101,109,112,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,102,116,115,53,0,102,116,115,53,95,115,111,117,114,99,101,95,105,100,0,102,116,115,53,58,32,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,102,116,115,53,118,111,99,97,98,0,83,69,76,69,67,84,32,112,103,110,111,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,105,100,120,39,32,87,72,69,82,69,32,115,101,103,105,100,61,63,32,65,78,68,32,116,101,114,109,60,61,63,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,68,69,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,107,44,32,118,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,102,105,103,39,0,118,101,114,115,105,111,110,0,105,110,118,97,108,105,100,32,102,116,115,53,32,102,105,108,101,32,102,111,114,109,97,116,32,40,102,111,117,110,100,32,37,100,44,32,101,120,112,101,99,116,101,100,32,37,100,41,32,45,32,114,117,110,32,39,114,101,98,117,105,108,100,39,0,112,103,115,122,0,104,97,115,104,115,105,122,101,0,97,117,116,111,109,101,114,103,101,0,117,115,101,114,109,101,114,103,101,0,99,114,105,115,105,115,109,101,114,103,101,0,114,97,110,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,80,82,65,71,77,65,32,37,81,46,100,97,116,97,95,118,101,114,115,105,111,110,0,83,69,76,69,67,84,32,116,46,37,81,32,70,82,79,77,32,37,81,46,37,81,32,65,83,32,116,32,87,72,69,82,69,32,116,46,37,81,32,77,65,84,67,72,32,39,42,105,100,39,0,110,111,32,115,117,99,104,32,102,116,115,53,32,116,97,98,108,101,58,32,37,115,46,37,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,118,116,97,98,108,101,32,97,114,103,117,109,101,110,116,115,0,99,111,108,0,114,111,119,0,102,116,115,53,118,111,99,97,98,58,32,117,110,107,110,111,119,110,32,116,97,98,108,101,32,116,121,112,101,58,32,37,81,0,67,82,69,65,84,69,32,84,65,66,108,69,32,118,111,99,97,98,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,44,32,99,110,116,41,0,67,82,69,65,84,69,32,84,65,66,108,69,32,118,111,99,97,98,40,116,101,114,109,44,32,100,111,99,44,32,99,110,116,41,0,97,115,99,105,105,0,101,114,0,97,98,108,101,0,105,98,108,101,0,97,110,116,0,101,109,101,110,116,0,109,101,110,116,0,105,111,110,0,111,117,0,105,115,109,0,105,99,97,108,0,110,101,115,115,0,105,99,97,116,101,0,105,99,105,116,105,0,97,116,105,118,101,0,97,108,105,122,101,0,97,116,105,111,110,97,108,0,116,105,111,110,97,108,0,101,110,99,105,0,97,110,99,105,0,105,122,101,114,0,108,111,103,105,0,98,108,105,0,97,108,108,105,0,101,110,116,108,105,0,101,108,105,0,111,117,115,108,105,0,105,122,97,116,105,111,110,0,97,116,105,111,110,0,97,116,111,114,0,97,108,105,115,109,0,105,118,101,110,101,115,115,0,102,117,108,110,101,115,115,0,111,117,115,110,101,115,115,0,97,108,105,116,105,0,105,118,105,116,105,0,98,105,108,105,116,105,0,97,116,0,98,108,0,105,122,0,101,101,100,0,101,100,0,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,116,111,107,101,110,99,104,97,114,115,0,115,101,112,97,114,97,116,111,114,115,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,0,104,105,103,104,108,105,103,104,116,0,98,109,50,53,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,104,105,103,104,108,105,103,104,116,40,41,0,37,122,37,46,42,115,0,102,116,115,53,95,101,120,112,114,0,102,116,115,53,95,101,120,112,114,95,116,99,108,0,102,116,115,53,95,105,115,97,108,110,117,109,0,102,116,115,53,95,102,111,108,100,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,102,116,115,53,95,102,111,108,100,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,102,116,115,53,95,105,115,97,108,110,117,109,0,110,101,97,114,115,101,116,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,115,0,34,34,0,37,115,32,58,32,0,78,69,65,82,40,0,32,43,32,0,44,32,37,100,41,0,32,78,79,84,32,0,32,79,82,32,0,37,115,37,115,37,122,37,115,0,37,115,32,0,45,99,111,108,32,37,100,32,0,45,99,111,108,32,123,37,100,0,32,37,100,0,125,32,0,45,110,101,97,114,32,37,100,32,0,45,45,0,32,123,0,125,0,32,91,37,122,93,0,102,116,115,53,58,32,115,121,110,116,97,120,32,101,114,114,111,114,32,110,101,97,114,32,34,37,46,42,115,34,0,16,1,17,3,17,3,17,3,17,3,17,1,19,1,19,2,18,1,18,3,21,4,21,3,21,1,21,2,22,2,22,1,20,1,20,5,23,1,23,2,25,0,25,2,24,4,24,2,26,1,26,0,240,248,0,9,17,28,26,35,33,13,13,22,54,13,51,98,16,51,5,53,27,83,7,26,15,51,5,53,27,13,69,26,48,51,5,53,27,19,11,26,9,20,51,5,53,27,13,22,26,28,51,5,53,27,68,1,26,19,11,17,9,52,10,53,27,23,24,26,54,3,4,2,26,6,21,49,71,3,4,2,7,56,59,55,59,4,2,12,69,58,60,18,67,62,69,25,66,8,14,2,101,120,112,101,99,116,101,100,32,105,110,116,101,103,101,114,44,32,103,111,116,32,34,37,46,42,115,34,0,102,116,115,53,58,32,99,111,108,117,109,110,32,113,117,101,114,105,101,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,100,101,116,97,105,108,61,110,111,110,101,41,0,112,104,114,97,115,101,0,102,116,115,53,58,32,37,115,32,113,117,101,114,105,101,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,100,101,116,97,105,108,33,61,102,117,108,108,41,0,102,116,115,53,58,32,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,34,34,34,34,34,14,20,3,36,1,59,64,64,65,65,53,61,56,58,63,68,67,70,67,71,72,67,77,81,16,17,18,19,20,21,5,6,24,17,18,19,20,21,11,14,24,17,18,19,20,21,8,9,24,11,17,18,19,20,21,11,12,24,17,18,19,20,21,26,6,24,8,9,22,11,18,11,20,21,24,25,24,20,1,2,3,24,23,24,7,0,1,2,3,6,10,11,10,11,2,3,9,14,11,11,22,26,7,14,13,11,5,11,3,97,97,97,97,97,76,91,97,97,96,96,97,97,96,96,97,97,97,97,97,73,89,97,90,97,97,87,97,72,117,110,116,101,114,109,105,110,97,116,101,100,32,115,116,114,105,110,103,0,102,116,115,53,58,32,115,121,110,116,97,120,32,101,114,114,111,114,32,110,101,97,114,32,34,37,46,49,115,34,0,114,101,115,101,114,118,101,100,32,102,116,115,53,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,112,97,114,115,101,32,101,114,114,111,114,32,105,110,32,34,37,115,34,0,100,111,99,115,105,122,101,0,37,81,46,39,37,113,95,37,115,39,0,84,46,37,81,0,44,32,84,46,37,81,0,44,32,84,46,99,37,100,0,110,111,32,115,117,99,104,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,101,114,114,111,114,32,105,110,32,116,111,107,101,110,105,122,101,114,32,99,111,110,115,116,114,117,99,116,111,114,0,114,101,115,101,114,118,101,100,32,102,116,115,53,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,117,110,105,110,100,101,120,101,100,0,117,110,114,101,99,111,103,110,105,122,101,100,32,99,111,108,117,109,110,32,111,112,116,105,111,110,58,32,37,115,0,109,97,108,102,111,114,109,101,100,32,112,114,101,102,105,120,61,46,46,46,32,100,105,114,101,99,116,105,118,101,0,116,111,111,32,109,97,110,121,32,112,114,101,102,105,120,32,105,110,100,101,120,101,115,32,40,109,97,120,32,37,100,41,0,112,114,101,102,105,120,32,108,101,110,103,116,104,32,111,117,116,32,111,102,32,114,97,110,103,101,32,40,109,97,120,32,57,57,57,41,0,109,117,108,116,105,112,108,101,32,116,111,107,101,110,105,122,101,61,46,46,46,32,100,105,114,101,99,116,105,118,101,115,0,112,97,114,115,101,32,101,114,114,111,114,32,105,110,32,116,111,107,101,110,105,122,101,32,100,105,114,101,99,116,105,118,101,0,109,117,108,116,105,112,108,101,32,99,111,110,116,101,110,116,61,46,46,46,32,100,105,114,101,99,116,105,118,101,115,0,37,81,46,37,81,0,99,111,110,116,101,110,116,95,114,111,119,105,100,0,109,117,108,116,105,112,108,101,32,99,111,110,116,101,110,116,95,114,111,119,105,100,61,46,46,46,32,100,105,114,101,99,116,105,118,101,115,0,99,111,108,117,109,110,115,105,122,101,0,109,97,108,102,111,114,109,101,100,32,99,111,108,117,109,110,115,105,122,101,61,46,46,46,32,100,105,114,101,99,116,105,118,101,0,109,97,108,102,111,114,109,101,100,32,100,101,116,97,105,108,61,46,46,46,32,100,105,114,101,99,116,105,118,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,112,116,105,111,110,58,32,34,37,46,42,115,34,0,99,111,108,117,109,110,115,0,102,116,115,53,95,100,101,99,111,100,101,0,102,116,115,53,95,100,101,99,111,100,101,95,110,111,110,101,0,102,116,115,53,95,114,111,119,105,100,0,115,104,111,117,108,100,32,98,101,58,32,102,116,115,53,95,114,111,119,105,100,40,115,117,98,106,101,99,116,44,32,46,46,46,46,41,0,115,101,103,109,101,110,116,0,115,104,111,117,108,100,32,98,101,58,32,102,116,115,53,95,114,111,119,105,100,40,39,115,101,103,109,101,110,116,39,44,32,115,101,103,105,100,44,32,112,103,110,111,41,41,0,102,105,114,115,116,32,97,114,103,32,116,111,32,102,116,115,53,95,114,111,119,105,100,40,41,32,109,117,115,116,32,98,101,32,39,115,101,103,109,101,110,116,39,0,32,37,100,40,37,108,108,100,41,0,32,116,101,114,109,61,37,46,42,115,0,99,111,114,114,117,112,116,0,32,105,100,61,37,108,108,100,0,32,110,80,111,115,61,37,100,37,115,0,43,0,32,37,108,108,100,37,115,0,32,123,108,118,108,61,37,100,32,110,77,101,114,103,101,61,37,100,32,110,83,101,103,61,37,100,0,32,123,105,100,61,37,100,32,108,101,97,118,101,115,61,37,100,46,46,37,100,125,0,37,115,37,100,0,123,97,118,101,114,97,103,101,115,125,32,0,123,115,116,114,117,99,116,117,114,101,125,0,100,108,105,100,120,32,0,123,37,115,115,101,103,105,100,61,37,100,32,104,61,37,100,32,112,103,110,111,61,37,100,125,0,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,100,97,116,97,39,40,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,100,97,116,97,39,32,87,72,69,82,69,32,105,100,62,61,63,32,65,78,68,32,105,100,60,61,63,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,105,100,120,39,32,87,72,69,82,69,32,115,101,103,105,100,61,63,0,73,78,83,69,82,84,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,105,100,120,39,40,115,101,103,105,100,44,116,101,114,109,44,112,103,110,111,41,32,86,65,76,85,69,83,40,63,44,63,44,63,41,0,100,97,116,97,0,99,111,110,102,105,103,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,37,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,37,115,39,59,0,110,111,32,115,117,99,104,32,99,117,114,115,111,114,58,32,37,108,108,100,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,84,32,87,72,69,82,69,32,84,46,37,81,32,62,61,32,63,32,65,78,68,32,84,46,37,81,32,60,61,32,63,32,79,82,68,69,82,32,66,89,32,84,46,37,81,32,65,83,67,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,84,32,87,72,69,82,69,32,84,46,37,81,32,60,61,32,63,32,65,78,68,32,84,46,37,81,32,62,61,32,63,32,79,82,68,69,82,32,66,89,32,84,46,37,81,32,68,69,83,67,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,84], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+40960); +/* memory initializer */ allocate([32,87,72,69,82,69,32,84,46,37,81,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,105,100,61,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,105,100,61,63,0,83,69,76,69,67,84,32,115,122,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,102,105,103,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,65,83,32,84,0,85,80,68,65,84,69,0,68,69,76,69,84,69,32,102,114,111,109,0,99,97,110,110,111,116,32,37,115,32,99,111,110,116,101,110,116,108,101,115,115,32,102,116,115,53,32,116,97,98,108,101,58,32,37,115,0,100,101,108,101,116,101,45,97,108,108,0,39,100,101,108,101,116,101,45,97,108,108,39,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,32,99,111,110,116,101,110,116,108,101,115,115,32,111,114,32,101,120,116,101,114,110,97,108,32,99,111,110,116,101,110,116,32,102,116,115,53,32,116,97,98,108,101,0,39,114,101,98,117,105,108,100,39,32,109,97,121,32,110,111,116,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,32,99,111,110,116,101,110,116,108,101,115,115,32,102,116,115,53,32,116,97,98,108,101,0,109,101,114,103,101,0,83,69,76,69,67,84,32,115,101,103,105,100,44,32,116,101,114,109,44,32,40,112,103,110,111,62,62,49,41,44,32,40,112,103,110,111,38,49,41,32,70,82,79,77,32,37,81,46,39,37,113,95,105,100,120,39,32,87,72,69,82,69,32,115,101,103,105,100,61,37,100,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,37,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,97,116,97,39,59,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,105,100,120,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,59,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,115,0,37,115,58,32,116,97,98,108,101,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,99,97,110,110,105,110,103,0,83,69,76,69,67,84,32,114,111,119,105,100,44,32,114,97,110,107,32,70,82,79,77,32,37,81,46,37,81,32,79,82,68,69,82,32,66,89,32,37,115,40,37,115,37,115,37,115,41,32,37,115,0,114,101,97,100,115,0,117,110,107,110,111,119,110,32,115,112,101,99,105,97,108,32,113,117,101,114,121,58,32,37,46,42,115,0,112,97,114,115,101,32,101,114,114,111,114,32,105,110,32,114,97,110,107,32,102,117,110,99,116,105,111,110,58,32,37,115,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,97,116,97,39,59,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,105,100,120,39,59,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,102,105,103,39,59,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,59,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,0,37,122,37,115,37,81,0,37,122,44,32,37,81,32,72,73,68,68,69,78,44,32,37,115,32,72,73,68,68,69,78,41,0,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,44,32,99,37,100,0,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,122,32,66,76,79,66,0,107,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,0,32,87,73,84,72,79,85,84,32,82,79,87,73,68,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,37,113,39,40,37,115,41,37,115,0,102,116,115,53,58,32,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,115,104,97,100,111,119,32,116,97,98,108,101,32,37,113,95,37,115,58,32,37,115,0,37,115,95,100,97,116,97,0,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,0,115,101,103,105,100,44,32,116,101,114,109,44,32,112,103,110,111,44,32,80,82,73,77,65,82,89,32,75,69,89,40,115,101,103,105,100,44,32,116,101,114,109,41,0,77,65,84,67,72,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+51200); /* no memory initializer */ -var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); - -assert(tempDoublePtr % 8 == 0); +var tempDoublePtr = STATICTOP; STATICTOP += 16; function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much @@ -1578,11 +1554,12 @@ function copyTempDouble(ptr) { Module["_i64Subtract"] = _i64Subtract; - var _DtoILow=true; - Module["_i64Add"] = _i64Add; + + Module["_pthread_mutex_lock"] = _pthread_mutex_lock; + @@ -1794,15 +1771,26 @@ function copyTempDouble(ptr) { 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; - // 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) {} + 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) {} + } - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + 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) { @@ -1921,7 +1909,7 @@ function copyTempDouble(ptr) { } 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.buffer.byteLength which gives the whole capacity. + 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. @@ -1960,7 +1948,7 @@ function copyTempDouble(ptr) { } 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.buffer.byteLength : 0; + 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 @@ -2100,7 +2088,7 @@ function copyTempDouble(ptr) { 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) { // Can we just reuse the buffer we are given? + if (canOwn) { node.contents = buffer.subarray(offset, offset + length); node.usedBytes = length; return length; @@ -2220,6 +2208,9 @@ function copyTempDouble(ptr) { } 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; @@ -2495,7 +2486,10 @@ function copyTempDouble(ptr) { 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 &= ~0100000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + 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 { @@ -2700,8 +2694,15 @@ function copyTempDouble(ptr) { 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, curr, WORKERFS.DIR_MODE, 0); + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); } parent = createdParents[curr]; } @@ -2777,7 +2778,14 @@ function copyTempDouble(ptr) { },rmdir:function (parent, name) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); },readdir:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); + 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) { @@ -2805,11 +2813,11 @@ function copyTempDouble(ptr) { return position; }}}; - var _stdin=allocate(1, "i32*", ALLOC_STATIC); + var _stdin=STATICTOP; STATICTOP += 16;; - var _stdout=allocate(1, "i32*", ALLOC_STATIC); + var _stdout=STATICTOP; STATICTOP += 16;; - var _stderr=allocate(1, "i32*", ALLOC_STATIC);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,handleFSError:function (e) { + 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) { @@ -3064,8 +3072,8 @@ function copyTempDouble(ptr) { if (FS.isLink(node.mode)) { return ERRNO_CODES.ELOOP; } else if (FS.isDir(node.mode)) { - if ((flags & 2097155) !== 0 || // opening for write - (flags & 512)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) return ERRNO_CODES.EISDIR; } } @@ -3153,19 +3161,31 @@ function copyTempDouble(ptr) { 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 callback(err); + return doCallback(err); } return; } if (++completed >= mounts.length) { - callback(null); + doCallback(null); } }; @@ -3283,6 +3303,18 @@ function copyTempDouble(ptr) { 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; @@ -3445,8 +3477,9 @@ function copyTempDouble(ptr) { var node = FS.lookupNode(parent, name); var err = FS.mayDelete(parent, name, false); if (err) { - // POSIX says unlink should set EPERM, not EISDIR - if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM; + // 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) { @@ -3832,6 +3865,9 @@ function copyTempDouble(ptr) { 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); } @@ -3886,7 +3922,7 @@ function copyTempDouble(ptr) { FS.mkdir('/proc/self/fd'); FS.mount({ mount: function() { - var node = FS.createNode('/proc/self', 'fd', 16384 | 0777, 73); + var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); node.node_ops = { lookup: function(parent, name) { var fd = +name; @@ -4195,6 +4231,8 @@ function copyTempDouble(ptr) { 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; @@ -4235,6 +4273,14 @@ function copyTempDouble(ptr) { 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; @@ -4242,21 +4288,23 @@ function copyTempDouble(ptr) { 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.defineProperty(lazyArray, "length", { + Object.defineProperties(lazyArray, { + length: { get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._length; + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; } - }); - Object.defineProperty(lazyArray, "chunkSize", { + }, + chunkSize: { get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; } + } }); var properties = { isDevice: false, contents: lazyArray }; @@ -4275,8 +4323,10 @@ function copyTempDouble(ptr) { node.url = properties.url; } // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperty(node, "usedBytes", { + 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 = {}; @@ -4314,7 +4364,7 @@ function copyTempDouble(ptr) { node.stream_ops = stream_ops; return node; },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); + 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; @@ -4491,9 +4541,15 @@ function copyTempDouble(ptr) { },doReadlink:function (path, buf, bufsize) { if (bufsize <= 0) return -ERRNO_CODES.EINVAL; var ret = FS.readlink(path); - ret = ret.slice(0, Math.max(0, bufsize)); - writeStringToMemory(ret, buf, true); - return ret.length; + + 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 @@ -4572,7 +4628,7 @@ function copyTempDouble(ptr) { var ptr; var allocated = false; if (fd === -1) { - ptr = _malloc(len); + ptr = _memalign(PAGE_SIZE, len); if (!ptr) return -ERRNO_CODES.ENOMEM; _memset(ptr, 0, len); allocated = true; @@ -4636,8 +4692,18 @@ function copyTempDouble(ptr) { } } + function _pthread_create() { + return 11; + } + + - var EmterpreterAsync=undefined;function ___syscall118(which, varargs) {SYSCALLS.varargs = varargs; + var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___remdi3"] = ___remdi3; + + function ___syscall118(which, varargs) {SYSCALLS.varargs = varargs; try { // fsync var stream = SYSCALLS.getStreamFromFD(); @@ -4648,149 +4714,9 @@ function copyTempDouble(ptr) { } } - 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: return totalMemory / 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 ___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(); } @@ -4823,6 +4749,8 @@ function copyTempDouble(ptr) { return _usleep((seconds * 1e6) + (nanoseconds / 1000)); } + function _pthread_mutex_init() {} + function ___syscall94(which, varargs) {SYSCALLS.varargs = varargs; try { // fchmod @@ -4858,6 +4786,8 @@ function copyTempDouble(ptr) { } } + function _pthread_mutexattr_destroy() {} + function ___syscall212(which, varargs) {SYSCALLS.varargs = varargs; try { // chown32 @@ -4870,6 +4800,9 @@ function copyTempDouble(ptr) { } } + + Module["_pthread_mutex_trylock"] = _pthread_mutex_trylock; + function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; try { // ioctl @@ -4897,6 +4830,12 @@ function copyTempDouble(ptr) { var argp = SYSCALLS.get(); return FS.ioctl(stream, op, argp); } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } default: abort('bad ioctl syscall ' + op); } } catch (e) { @@ -4906,17 +4845,17 @@ function copyTempDouble(ptr) { } - var ___tm_current=allocate(44, "i8", ALLOC_STATIC); + var ___tm_current=STATICTOP; STATICTOP += 48;; var ___tm_timezone=allocate(intArrayFromString("GMT"), "i8", ALLOC_STATIC); - var _tzname=allocate(8, "i32*", ALLOC_STATIC); + var _tzname=STATICTOP; STATICTOP += 16;; - var _daylight=allocate(1, "i32*", ALLOC_STATIC); + var _daylight=STATICTOP; STATICTOP += 16;; - var _timezone=allocate(1, "i32*", ALLOC_STATIC);function _tzset() { + var _timezone=STATICTOP; STATICTOP += 16;;function _tzset() { // TODO: Use (malleable) environment variables instead of system settings. if (_tzset.called) return; _tzset.called = true; @@ -4974,6 +4913,9 @@ function copyTempDouble(ptr) { } + Module["_bitshift64Ashr"] = _bitshift64Ashr; + + Module["_bitshift64Lshr"] = _bitshift64Lshr; function ___syscall33(which, varargs) {SYSCALLS.varargs = varargs; @@ -4987,18 +4929,11 @@ function copyTempDouble(ptr) { } } - var _BDtoIHigh=true; - - function _pthread_cleanup_push(routine, arg) { - __ATEXIT__.push(function() { Runtime.dynCall('vi', routine, [arg]) }) - _pthread_cleanup_push.level = __ATEXIT__.length; - } - - var _environ=allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) { + var _environ=STATICTOP; STATICTOP += 16;;var ___environ=_environ;function ___buildEnvironment(env) { // WARNING: Arbitrary limit! var MAX_ENV_VALUES = 64; var TOTAL_ENV_SIZE = 1024; @@ -5068,6 +5003,9 @@ function copyTempDouble(ptr) { return 0; } + + Module["_pthread_mutex_unlock"] = _pthread_mutex_unlock; + function _emscripten_memcpy_big(dest, src, num) { HEAPU8.set(HEAPU8.subarray(src, src+num), dest); @@ -5077,31 +5015,17 @@ function copyTempDouble(ptr) { var _llvm_pow_f64=Math_pow; - function _sbrk(bytes) { - // Implement a Linux-like 'memory area' for our 'process'. - // Changes the size of the memory area by |bytes|; returns the - // address of the previous top ('break') of the memory area - // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP - var self = _sbrk; - if (!self.called) { - DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned - self.called = true; - assert(Runtime.dynamicAlloc); - self.alloc = Runtime.dynamicAlloc; - Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; - } - var ret = DYNAMICTOP; - if (bytes != 0) { - var success = self.alloc(bytes); - if (!success) return -1 >>> 0; // sbrk failure code - } - return ret; // Previous break location. - } + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; Module["_memmove"] = _memmove; - var _BItoD=true; + + Module["___uremdi3"] = ___uremdi3; function ___syscall85(which, varargs) {SYSCALLS.varargs = varargs; try { @@ -5114,6 +5038,8 @@ function copyTempDouble(ptr) { } } + function _pthread_mutexattr_init() {} + function ___syscall207(which, varargs) {SYSCALLS.varargs = varargs; try { // fchown32 @@ -5151,9 +5077,152 @@ function copyTempDouble(ptr) { } } - 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(); + 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; } @@ -5167,13 +5236,9 @@ function copyTempDouble(ptr) { } } - var _acos=Math_acos; - Module["_memset"] = _memset; - var _BDtoILow=true; - function ___syscall39(which, varargs) {SYSCALLS.varargs = varargs; try { // mkdir @@ -5185,772 +5250,23 @@ function copyTempDouble(ptr) { } } - var _DtoIHigh=true; - - - Module["_bitshift64Shl"] = _bitshift64Shl; + function _pthread_mutexattr_settype() {} function _abort() { Module['abort'](); } - var _tan=Math_tan; + function _pthread_mutex_destroy() {} + + + Module["___divdi3"] = ___divdi3; function ___lock() {} function ___unlock() {} - var _asin=Math_asin; - - var _floor=Math_floor; - - var _sqrt=Math_sqrt; - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { - setTimeout(Browser.mainLoop.runner, value); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = '__emcc'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - window.postMessage(emscriptenMainLoopMessageId, "*"); - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; - - Browser.mainLoop.runner = function Browser_mainLoop_runner() { - if (ABORT) return; - if (Browser.mainLoop.queue.length > 0) { - var start = Date.now(); - var blocker = Browser.mainLoop.queue.shift(); - blocker.func(blocker.arg); - if (Browser.mainLoop.remainingBlockers) { - var remaining = Browser.mainLoop.remainingBlockers; - var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); - if (blocker.counted) { - Browser.mainLoop.remainingBlockers = next; - } else { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(function() { - if (typeof arg !== 'undefined') { - Runtime.dynCall('vi', func, [arg]); - } else { - Runtime.dynCall('v', func); - } - }); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); - - Browser.mainLoop.scheduler(); - } - - if (!noSetTiming) { - if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - Browser.mainLoop.scheduler(); - } - - if (simulateInfiniteLoop) { - throw 'SimulateInfiniteLoop'; - } - }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { - Browser.mainLoop.scheduler = null; - Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },resume:function () { - Browser.mainLoop.currentlyRunningMainloop++; - var timingMode = Browser.mainLoop.timingMode; - var timingValue = Browser.mainLoop.timingValue; - var func = Browser.mainLoop.func; - Browser.mainLoop.func = null; - _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); - _emscripten_set_main_loop_timing(timingMode, timingValue); - Browser.mainLoop.scheduler(); - },updateStatus:function () { - if (Module['setStatus']) { - var message = Module['statusMessage'] || 'Please wait...'; - var remaining = Browser.mainLoop.remainingBlockers; - var expected = Browser.mainLoop.expectedBlockers; - if (remaining) { - if (remaining < expected) { - Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); - } else { - Module['setStatus'](message); - } - } else { - Module['setStatus'](''); - } - } - },runIter:function (func) { - if (ABORT) return; - if (Module['preMainLoop']) { - var preRet = Module['preMainLoop'](); - if (preRet === false) { - return; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - if (Browser.initted) return; - Browser.initted = true; - - try { - new Blob(); - Browser.hasBlobConstructor = true; - } catch(e) { - Browser.hasBlobConstructor = false; - console.log("warning: no blob constructor, cannot create blobs with mimetypes"); - } - Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); - Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; - if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { - console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); - Module.noImageDecoding = true; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - var imagePlugin = {}; - imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { - return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); - }; - imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { - var b = null; - if (Browser.hasBlobConstructor) { - try { - b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - if (b.size !== byteArray.length) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - var img = new Image(); - img.onload = function img_onload() { - assert(img.complete, 'Image ' + name + ' could not be decoded'); - var canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - var ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); - Module["preloadedImages"][name] = canvas; - Browser.URLObject.revokeObjectURL(url); - if (onload) onload(byteArray); - }; - img.onerror = function img_onerror(event) { - console.log('Image ' + url + ' could not be decoded'); - if (onerror) onerror(); - }; - img.src = url; - }; - Module['preloadPlugins'].push(imagePlugin); - - var audioPlugin = {}; - audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { - return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; - }; - audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { - var done = false; - function finish(audio) { - if (done) return; - done = true; - Module["preloadedAudios"][name] = audio; - if (onload) onload(byteArray); - } - function fail() { - if (done) return; - done = true; - Module["preloadedAudios"][name] = new Audio(); // empty shim - if (onerror) onerror(); - } - if (Browser.hasBlobConstructor) { - try { - var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - } catch(e) { - return fail(); - } - var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - audio.onerror = function audio_onerror(event) { - if (done) return; - console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); - function encode64(data) { - var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - var PAD = '='; - var ret = ''; - var leftchar = 0; - var leftbits = 0; - for (var i = 0; i < data.length; i++) { - leftchar = (leftchar << 8) | data[i]; - leftbits += 8; - while (leftbits >= 6) { - var curr = (leftchar >> (leftbits-6)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - var canvas = Module['canvas']; - function pointerLockChange() { - Browser.pointerLock = document['pointerLockElement'] === canvas || - document['mozPointerLockElement'] === canvas || - document['webkitPointerLockElement'] === canvas || - document['msPointerLockElement'] === canvas; - } - if (canvas) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - canvas.exitPointerLock = canvas.exitPointerLock.bind(document); - - - document.addEventListener('pointerlockchange', pointerLockChange, false); - document.addEventListener('mozpointerlockchange', pointerLockChange, false); - document.addEventListener('webkitpointerlockchange', pointerLockChange, false); - document.addEventListener('mspointerlockchange', pointerLockChange, false); - - if (Module['elementPointerLock']) { - canvas.addEventListener("click", function(ev) { - if (!Browser.pointerLock && canvas.requestPointerLock) { - canvas.requestPointerLock(); - ev.preventDefault(); - } - }, false); - } - } - },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { - if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - // Set the background of the WebGL canvas to black - canvas.style.backgroundColor = "black"; - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullScreenChange() { - Browser.isFullScreen = false; - var canvasContainer = canvas.parentNode; - if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvasContainer) { - canvas.cancelFullScreen = document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - document['msExitFullscreen'] || - document['exitFullscreen'] || - function() {}; - canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullScreen = true; - if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullScreenHandlersInstalled) { - Browser.fullScreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullScreenChange, false); - document.addEventListener('mozfullscreenchange', fullScreenChange, false); - document.addEventListener('webkitfullscreenchange', fullScreenChange, false); - document.addEventListener('MSFullscreenChange', fullScreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - canvasContainer.requestFullScreen = canvasContainer['requestFullScreen'] || - canvasContainer['mozRequestFullScreen'] || - canvasContainer['msRequestFullscreen'] || - (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); - - if (vrDevice) { - canvasContainer.requestFullScreen({ vrDisplay: vrDevice }); - } else { - canvasContainer.requestFullScreen(); - } - },nextRAF:0,fakeRequestAnimationFrame:function (func) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - Browser.fakeRequestAnimationFrame(func); - } else { - if (!window.requestAnimationFrame) { - window.requestAnimationFrame = window['requestAnimationFrame'] || - window['mozRequestAnimationFrame'] || - window['webkitRequestAnimationFrame'] || - window['msRequestAnimationFrame'] || - window['oRequestAnimationFrame'] || - Browser.fakeRequestAnimationFrame; - } - window.requestAnimationFrame(func); - } - },safeCallback:function (func) { - return function() { - if (!ABORT) return func.apply(null, arguments); - }; - },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { - Browser.allowAsyncCallbacks = false; - },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - Browser.allowAsyncCallbacks = true; - if (Browser.queuedAsyncCallbacks.length > 0) { - var callbacks = Browser.queuedAsyncCallbacks; - Browser.queuedAsyncCallbacks = []; - callbacks.forEach(function(func) { - func(); - }); - } - },safeRequestAnimationFrame:function (func) { - return Browser.requestAnimationFrame(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }); - },safeSetTimeout:function (func, timeout) { - Module['noExitRuntime'] = true; - return setTimeout(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }, timeout); - },safeSetInterval:function (func, timeout) { - Module['noExitRuntime'] = true; - return setInterval(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } // drop it on the floor otherwise, next interval will kick in - }, timeout); - },getMimetype:function (name) { - return { - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'png': 'image/png', - 'bmp': 'image/bmp', - 'ogg': 'audio/ogg', - 'wav': 'audio/wav', - 'mp3': 'audio/mpeg' - }[name.substr(name.lastIndexOf('.')+1)]; - },getUserMedia:function (func) { - if(!window.getUserMedia) { - window.getUserMedia = navigator['getUserMedia'] || - navigator['mozGetUserMedia']; - } - window.getUserMedia(func); - },getMovementX:function (event) { - return event['movementX'] || - event['mozMovementX'] || - event['webkitMovementX'] || - 0; - },getMovementY:function (event) { - return event['movementY'] || - event['mozMovementY'] || - event['webkitMovementY'] || - 0; - },getMouseWheelDelta:function (event) { - var delta = 0; - switch (event.type) { - case 'DOMMouseScroll': - delta = event.detail; - break; - case 'mousewheel': - delta = event.wheelDelta; - break; - case 'wheel': - delta = event['deltaY']; - break; - default: - throw 'unrecognized mouse wheel event: ' + event.type; - } - return delta; - },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - var adjustedX = touch.pageX - (scrollX + rect.left); - var adjustedY = touch.pageY - (scrollY + rect.top); - - adjustedX = adjustedX * (cw / rect.width); - adjustedY = adjustedY * (ch / rect.height); - - var coords = { x: adjustedX, y: adjustedY }; - - if (event.type === 'touchstart') { - Browser.lastTouches[touch.identifier] = coords; - Browser.touches[touch.identifier] = coords; - } else if (event.type === 'touchend' || event.type === 'touchmove') { - var last = Browser.touches[touch.identifier]; - if (!last) last = coords; - Browser.lastTouches[touch.identifier] = last; - Browser.touches[touch.identifier] = coords; - } - return; - } - - var x = event.pageX - (scrollX + rect.left); - var y = event.pageY - (scrollY + rect.top); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - x = x * (cw / rect.width); - y = y * (ch / rect.height); - - Browser.mouseMovementX = x - Browser.mouseX; - Browser.mouseMovementY = y - Browser.mouseY; - Browser.mouseX = x; - Browser.mouseY = y; - } - },xhrLoad:function (url, onload, onerror) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = function xhr_onload() { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - },asyncLoad:function (url, onload, onerror, noRunDep) { - Browser.xhrLoad(url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (!noRunDep) removeRunDependency('al ' + url); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (!noRunDep) addRunDependency('al ' + url); - },resizeListeners:[],updateResizeListeners:function () { - var canvas = Module['canvas']; - Browser.resizeListeners.forEach(function(listener) { - listener(canvas.width, canvas.height); - }); - },setCanvasSize:function (width, height, noUpdates) { - var canvas = Module['canvas']; - Browser.updateCanvasDimensions(canvas, width, height); - if (!noUpdates) Browser.updateResizeListeners(); - },windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { - var factor = Math.min(screen.width / w, screen.height / h); - w = Math.round(w * factor); - h = Math.round(h * factor); - } - if (Browser.resizeCanvas) { - if (canvas.width != w) canvas.width = w; - if (canvas.height != h) canvas.height = h; - if (typeof canvas.style != 'undefined') { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } else { - if (canvas.width != wNative) canvas.width = wNative; - if (canvas.height != hNative) canvas.height = hNative; - if (typeof canvas.style != 'undefined') { - if (w != wNative || h != hNative) { - canvas.style.setProperty( "width", w + "px", "important"); - canvas.style.setProperty("height", h + "px", "important"); - } else { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } - } - },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { - var handle = Browser.nextWgetRequestHandle; - Browser.nextWgetRequestHandle++; - return handle; - }}; - - var _sin=Math_sin; - - var _atan=Math_atan; + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; function ___syscall15(which, varargs) {SYSCALLS.varargs = varargs; try { @@ -5991,7 +5307,7 @@ function copyTempDouble(ptr) { } } - var _SItoD=true; + function _pthread_join() {} function ___syscall3(which, varargs) {SYSCALLS.varargs = varargs; try { @@ -6004,8 +5320,6 @@ function copyTempDouble(ptr) { } } - var _ceil=Math_ceil; - function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; try { // open @@ -6041,19 +5355,13 @@ function copyTempDouble(ptr) { } } - var _cos=Math_cos; - - function _pthread_cleanup_pop() { - assert(_pthread_cleanup_push.level == __ATEXIT__.length, 'cannot pop if something else added meanwhile!'); - __ATEXIT__.pop(); - _pthread_cleanup_push.level = __ATEXIT__.length; - } - - var _atan2=Math_atan2; - - var _log=Math_log; + + Module["___udivdi3"] = ___udivdi3; - var _exp=Math_exp; + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; function _time(ptr) { var ret = (Date.now()/1000)|0; @@ -6063,11 +5371,6 @@ function copyTempDouble(ptr) { return ret; } - function _pthread_self() { - //FIXME: assumes only a single thread - return 0; - } - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; try { // llseek @@ -6168,28 +5471,22 @@ function copyTempDouble(ptr) { return -e.errno; } } -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() }); -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); } -___buildEnvironment(ENV); -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; - Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; - Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; - Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; - Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; - Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } - Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) } -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); +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 = allocate(1, "i32", ALLOC_STATIC); -staticSealed = true; // seal the static portion of memory +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); STACK_MAX = STACK_BASE + TOTAL_STACK; -DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX); +DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); + +HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); +staticSealed = true; // seal the static portion of memory - 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_DYNAMIC); function invoke_iiii(index,a1,a2,a3) { @@ -6197,7 +5494,7 @@ function invoke_iiii(index,a1,a2,a3) { return Module["dynCall_iiii"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6205,12 +5502,25 @@ function jsCall_iiii(index,a1,a2,a3) { return Runtime.functionPointers[index](a1,a2,a3); } +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function jsCall_viiiii(index,a1,a2,a3,a4,a5) { + Runtime.functionPointers[index](a1,a2,a3,a4,a5); +} + function invoke_i(index) { try { return Module["dynCall_i"](index); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6223,7 +5533,7 @@ function invoke_vi(index,a1) { Module["dynCall_vi"](index,a1); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6236,7 +5546,7 @@ function invoke_vii(index,a1,a2) { Module["dynCall_vii"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6249,7 +5559,7 @@ function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6) { return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6262,7 +5572,7 @@ function invoke_ii(index,a1) { return Module["dynCall_ii"](index,a1); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6275,7 +5585,7 @@ function invoke_viii(index,a1,a2,a3) { Module["dynCall_viii"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6288,7 +5598,7 @@ function invoke_v(index) { Module["dynCall_v"](index); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6301,7 +5611,7 @@ function invoke_iiiii(index,a1,a2,a3,a4) { return Module["dynCall_iiiii"](index,a1,a2,a3,a4); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6314,7 +5624,7 @@ function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6327,7 +5637,7 @@ function invoke_iii(index,a1,a2) { return Module["dynCall_iii"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6340,7 +5650,7 @@ function invoke_iiiiii(index,a1,a2,a3,a4,a5) { return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6353,7 +5663,7 @@ function invoke_viiii(index,a1,a2,a3,a4) { Module["dynCall_viiii"](index,a1,a2,a3,a4); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -6363,7 +5673,7 @@ function jsCall_viiii(index,a1,a2,a3,a4) { 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, "invoke_iiii": invoke_iiii, "jsCall_iiii": jsCall_iiii, "invoke_i": invoke_i, "jsCall_i": jsCall_i, "invoke_vi": invoke_vi, "jsCall_vi": jsCall_vi, "invoke_vii": invoke_vii, "jsCall_vii": jsCall_vii, "invoke_iiiiiii": invoke_iiiiiii, "jsCall_iiiiiii": jsCall_iiiiiii, "invoke_ii": invoke_ii, "jsCall_ii": jsCall_ii, "invoke_viii": invoke_viii, "jsCall_viii": jsCall_viii, "invoke_v": invoke_v, "jsCall_v": jsCall_v, "invoke_iiiii": invoke_iiiii, "jsCall_iiiii": jsCall_iiiii, "invoke_viiiiii": invoke_viiiiii, "jsCall_viiiiii": jsCall_viiiiii, "invoke_iii": invoke_iii, "jsCall_iii": jsCall_iii, "invoke_iiiiii": invoke_iiiiii, "jsCall_iiiiii": jsCall_iiiiii, "invoke_viiii": invoke_viiii, "jsCall_viiii": jsCall_viiii, "_pthread_cleanup_pop": _pthread_cleanup_pop, "___syscall85": ___syscall85, "_sin": _sin, "_exp": _exp, "_utimes": _utimes, "_llvm_pow_f64": _llvm_pow_f64, "_acos": _acos, "___syscall54": ___syscall54, "_pthread_cleanup_push": _pthread_cleanup_push, "_abort": _abort, "___syscall40": ___syscall40, "___syscall118": ___syscall118, "___setErrNo": ___setErrNo, "___syscall20": ___syscall20, "___syscall183": ___syscall183, "___assert_fail": ___assert_fail, "_usleep": _usleep, "_asin": _asin, "___buildEnvironment": ___buildEnvironment, "___syscall202": ___syscall202, "___syscall91": ___syscall91, "_cos": _cos, "___syscall39": ___syscall39, "_localtime_r": _localtime_r, "_tzset": _tzset, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_sbrk": _sbrk, "___syscall192": ___syscall192, "___syscall197": ___syscall197, "___syscall196": ___syscall196, "___syscall195": ___syscall195, "___syscall194": ___syscall194, "___syscall212": ___syscall212, "_sysconf": _sysconf, "___syscall94": ___syscall94, "_nanosleep": _nanosleep, "_emscripten_memcpy_big": _emscripten_memcpy_big, "___syscall221": ___syscall221, "_floor": _floor, "_atan": _atan, "___syscall201": ___syscall201, "_pthread_self": _pthread_self, "_getenv": _getenv, "___syscall33": ___syscall33, "_log": _log, "___unlock": ___unlock, "___syscall140": ___syscall140, "___syscall15": ___syscall15, "_emscripten_set_main_loop": _emscripten_set_main_loop, "___syscall10": ___syscall10, "_tan": _tan, "___syscall3": ___syscall3, "___lock": ___lock, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall4": ___syscall4, "_time": _time, "_atan2": _atan2, "_gettimeofday": _gettimeofday, "_ceil": _ceil, "_sqrt": _sqrt, "_localtime": _localtime, "___syscall207": ___syscall207, "___syscall146": ___syscall146, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8 }; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "invoke_iiii": invoke_iiii, "jsCall_iiii": jsCall_iiii, "invoke_viiiii": invoke_viiiii, "jsCall_viiiii": jsCall_viiiii, "invoke_i": invoke_i, "jsCall_i": jsCall_i, "invoke_vi": invoke_vi, "jsCall_vi": jsCall_vi, "invoke_vii": invoke_vii, "jsCall_vii": jsCall_vii, "invoke_iiiiiii": invoke_iiiiiii, "jsCall_iiiiiii": jsCall_iiiiiii, "invoke_ii": invoke_ii, "jsCall_ii": jsCall_ii, "invoke_viii": invoke_viii, "jsCall_viii": jsCall_viii, "invoke_v": invoke_v, "jsCall_v": jsCall_v, "invoke_iiiii": invoke_iiiii, "jsCall_iiiii": jsCall_iiiii, "invoke_viiiiii": invoke_viiiiii, "jsCall_viiiiii": jsCall_viiiiii, "invoke_iii": invoke_iii, "jsCall_iii": jsCall_iii, "invoke_iiiiii": invoke_iiiiii, "jsCall_iiiiii": jsCall_iiiiii, "invoke_viiii": invoke_viiii, "jsCall_viiii": jsCall_viiii, "___syscall221": ___syscall221, "___syscall85": ___syscall85, "_pthread_mutex_init": _pthread_mutex_init, "_utimes": _utimes, "_llvm_pow_f64": _llvm_pow_f64, "___syscall6": ___syscall6, "___syscall40": ___syscall40, "___syscall118": ___syscall118, "___syscall20": ___syscall20, "___syscall4": ___syscall4, "___assert_fail": ___assert_fail, "_usleep": _usleep, "_pthread_join": _pthread_join, "___buildEnvironment": ___buildEnvironment, "_pthread_mutexattr_destroy": _pthread_mutexattr_destroy, "_localtime_r": _localtime_r, "_tzset": _tzset, "___setErrNo": ___setErrNo, "___syscall192": ___syscall192, "___syscall197": ___syscall197, "___syscall196": ___syscall196, "___syscall195": ___syscall195, "___syscall194": ___syscall194, "___syscall212": ___syscall212, "_sysconf": _sysconf, "___syscall94": ___syscall94, "_nanosleep": _nanosleep, "_emscripten_memcpy_big": _emscripten_memcpy_big, "___syscall91": ___syscall91, "_pthread_mutex_destroy": _pthread_mutex_destroy, "_pthread_mutexattr_settype": _pthread_mutexattr_settype, "_getenv": _getenv, "___syscall33": ___syscall33, "___syscall54": ___syscall54, "___unlock": ___unlock, "___syscall140": ___syscall140, "___syscall15": ___syscall15, "_pthread_create": _pthread_create, "___syscall39": ___syscall39, "___syscall10": ___syscall10, "_pthread_mutexattr_init": _pthread_mutexattr_init, "___syscall3": ___syscall3, "___lock": ___lock, "_abort": _abort, "___syscall5": ___syscall5, "___syscall183": ___syscall183, "_time": _time, "_gettimeofday": _gettimeofday, "___syscall201": ___syscall201, "___syscall207": ___syscall207, "_localtime": _localtime, "___syscall202": ___syscall202, "___syscall146": ___syscall146, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { 'use asm'; @@ -6379,10 +5689,11 @@ var asm = (function(global, env, buffer) { var HEAPF64 = new global.Float64Array(buffer); - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; + var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; var tempDoublePtr=env.tempDoublePtr|0; var ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; var cttz_i8=env.cttz_i8|0; var __THREW__ = 0; @@ -6391,17 +5702,8 @@ var asm = (function(global, env, buffer) { var undef = 0; var nan = global.NaN, inf = global.Infinity; var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - var tempRet1 = 0; - var tempRet2 = 0; - var tempRet3 = 0; - var tempRet4 = 0; - var tempRet5 = 0; - var tempRet6 = 0; - var tempRet7 = 0; - var tempRet8 = 0; - var tempRet9 = 0; + var Math_floor=global.Math.floor; var Math_abs=global.Math.abs; var Math_sqrt=global.Math.sqrt; @@ -6418,11 +5720,17 @@ var asm = (function(global, env, buffer) { 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_iiii=env.invoke_iiii; var jsCall_iiii=env.jsCall_iiii; + var invoke_viiiii=env.invoke_viiiii; + var jsCall_viiiii=env.jsCall_viiiii; var invoke_i=env.invoke_i; var jsCall_i=env.jsCall_i; var invoke_vi=env.invoke_vi; @@ -6447,33 +5755,24 @@ var asm = (function(global, env, buffer) { var jsCall_iiiiii=env.jsCall_iiiiii; var invoke_viiii=env.invoke_viiii; var jsCall_viiii=env.jsCall_viiii; - var _pthread_cleanup_pop=env._pthread_cleanup_pop; + var ___syscall221=env.___syscall221; var ___syscall85=env.___syscall85; - var _sin=env._sin; - var _exp=env._exp; + var _pthread_mutex_init=env._pthread_mutex_init; var _utimes=env._utimes; var _llvm_pow_f64=env._llvm_pow_f64; - var _acos=env._acos; - var ___syscall54=env.___syscall54; - var _pthread_cleanup_push=env._pthread_cleanup_push; - var _abort=env._abort; + var ___syscall6=env.___syscall6; var ___syscall40=env.___syscall40; var ___syscall118=env.___syscall118; - var ___setErrNo=env.___setErrNo; var ___syscall20=env.___syscall20; - var ___syscall183=env.___syscall183; + var ___syscall4=env.___syscall4; var ___assert_fail=env.___assert_fail; var _usleep=env._usleep; - var _asin=env._asin; + var _pthread_join=env._pthread_join; var ___buildEnvironment=env.___buildEnvironment; - var ___syscall202=env.___syscall202; - var ___syscall91=env.___syscall91; - var _cos=env._cos; - var ___syscall39=env.___syscall39; + var _pthread_mutexattr_destroy=env._pthread_mutexattr_destroy; var _localtime_r=env._localtime_r; var _tzset=env._tzset; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _sbrk=env._sbrk; + var ___setErrNo=env.___setErrNo; var ___syscall192=env.___syscall192; var ___syscall197=env.___syscall197; var ___syscall196=env.___syscall196; @@ -6484,36 +5783,35 @@ var asm = (function(global, env, buffer) { var ___syscall94=env.___syscall94; var _nanosleep=env._nanosleep; var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var ___syscall221=env.___syscall221; - var _floor=env._floor; - var _atan=env._atan; - var ___syscall201=env.___syscall201; - var _pthread_self=env._pthread_self; + var ___syscall91=env.___syscall91; + var _pthread_mutex_destroy=env._pthread_mutex_destroy; + var _pthread_mutexattr_settype=env._pthread_mutexattr_settype; var _getenv=env._getenv; var ___syscall33=env.___syscall33; - var _log=env._log; + var ___syscall54=env.___syscall54; var ___unlock=env.___unlock; var ___syscall140=env.___syscall140; var ___syscall15=env.___syscall15; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _pthread_create=env._pthread_create; + var ___syscall39=env.___syscall39; var ___syscall10=env.___syscall10; - var _tan=env._tan; + var _pthread_mutexattr_init=env._pthread_mutexattr_init; var ___syscall3=env.___syscall3; var ___lock=env.___lock; - var ___syscall6=env.___syscall6; + var _abort=env._abort; var ___syscall5=env.___syscall5; - var ___syscall4=env.___syscall4; + var ___syscall183=env.___syscall183; var _time=env._time; - var _atan2=env._atan2; var _gettimeofday=env._gettimeofday; - var _ceil=env._ceil; - var _sqrt=env._sqrt; - var _localtime=env._localtime; + var ___syscall201=env.___syscall201; var ___syscall207=env.___syscall207; + var _localtime=env._localtime; + var ___syscall202=env.___syscall202; var ___syscall146=env.___syscall146; var tempFloat = 0.0; // EMSCRIPTEN_START_FUNCS + function stackAlloc(size) { size = size|0; var ret = 0; @@ -6545,24 +5843,6 @@ function setThrew(threw, value) { threwValue = value; } } -function copyTempFloat(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; -} -function copyTempDouble(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; - HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0]; - HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0]; - HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0]; - HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0]; -} function setTempRet0(value) { value = value|0; @@ -6572,2031 +5852,2021 @@ function getTempRet0() { return tempRet0|0; } -function _RegisterExtensionFunctions($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pArg = 0; - var $pArg1 = 0, label = 0, sp = 0; +function _RegisterExtensionFunctions($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $i = sp + 8|0; - $pArg = sp + 4|0; - $pArg1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$i>>2] = 0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; while(1) { - $1 = HEAP32[$i>>2]|0; - $2 = ($1>>>0)<(40); - if (!($2)) { + $5 = HEAP32[$2>>2]|0; + $6 = ($5>>>0)<(40); + if (!($6)) { break; } - HEAP32[$pArg>>2] = 0; - $3 = HEAP32[$i>>2]|0; - $4 = (360 + (($3*12)|0)|0); - $5 = ((($4)) + 5|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - switch ($7|0) { + HEAP32[$3>>2] = 0; + $7 = HEAP32[$2>>2]|0; + $8 = (328 + (($7*12)|0)|0); + $9 = ((($8)) + 5|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + switch ($11|0) { case 1: { - $8 = HEAP32[$0>>2]|0; - HEAP32[$pArg>>2] = $8; + $12 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $12; break; } case 2: { - HEAP32[$pArg>>2] = (-1); + HEAP32[$3>>2] = (-1); break; } default: { } } - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$i>>2]|0; - $11 = (360 + (($10*12)|0)|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$i>>2]|0; - $14 = (360 + (($13*12)|0)|0); - $15 = ((($14)) + 4|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16 << 24 >> 24; - $18 = HEAP32[$i>>2]|0; - $19 = (360 + (($18*12)|0)|0); - $20 = ((($19)) + 6|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = HEAP32[$pArg>>2]|0; - $24 = HEAP32[$i>>2]|0; - $25 = (360 + (($24*12)|0)|0); - $26 = ((($25)) + 8|0); - $27 = HEAP32[$26>>2]|0; - (_sqlite3_create_function($9,$12,$17,$22,$23,$27,0,0)|0); - $28 = HEAP32[$i>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$i>>2] = $29; + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = (328 + (($14*12)|0)|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = (328 + (($17*12)|0)|0); + $19 = ((($18)) + 4|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20 << 24 >> 24; + $22 = HEAP32[$2>>2]|0; + $23 = (328 + (($22*12)|0)|0); + $24 = ((($23)) + 6|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$2>>2]|0; + $29 = (328 + (($28*12)|0)|0); + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + (_sqlite3_create_function($13,$16,$21,$26,$27,$31,0,0)|0); + $32 = HEAP32[$2>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$2>>2] = $33; } - HEAP32[$i>>2] = 0; + HEAP32[$2>>2] = 0; while(1) { - $30 = HEAP32[$i>>2]|0; - $31 = ($30>>>0)<(6); - if (!($31)) { + $34 = HEAP32[$2>>2]|0; + $35 = ($34>>>0)<(6); + if (!($35)) { break; } - HEAP32[$pArg1>>2] = 0; - $32 = HEAP32[$i>>2]|0; - $33 = (840 + ($32<<4)|0); - $34 = ((($33)) + 5|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - switch ($36|0) { + HEAP32[$4>>2] = 0; + $36 = HEAP32[$2>>2]|0; + $37 = (808 + ($36<<4)|0); + $38 = ((($37)) + 5|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + switch ($40|0) { case 1: { - $37 = HEAP32[$0>>2]|0; - HEAP32[$pArg1>>2] = $37; + $41 = HEAP32[$1>>2]|0; + HEAP32[$4>>2] = $41; break; } case 2: { - HEAP32[$pArg1>>2] = (-1); + HEAP32[$4>>2] = (-1); break; } default: { } } - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$i>>2]|0; - $40 = (840 + ($39<<4)|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$i>>2]|0; - $43 = (840 + ($42<<4)|0); - $44 = ((($43)) + 4|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45 << 24 >> 24; - $47 = HEAP32[$pArg1>>2]|0; - $48 = HEAP32[$i>>2]|0; - $49 = (840 + ($48<<4)|0); - $50 = ((($49)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$i>>2]|0; - $53 = (840 + ($52<<4)|0); - $54 = ((($53)) + 12|0); + $42 = HEAP32[$1>>2]|0; + $43 = HEAP32[$2>>2]|0; + $44 = (808 + ($43<<4)|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$2>>2]|0; + $47 = (808 + ($46<<4)|0); + $48 = ((($47)) + 4|0); + $49 = HEAP8[$48>>0]|0; + $50 = $49 << 24 >> 24; + $51 = HEAP32[$4>>2]|0; + $52 = HEAP32[$2>>2]|0; + $53 = (808 + ($52<<4)|0); + $54 = ((($53)) + 8|0); $55 = HEAP32[$54>>2]|0; - (_sqlite3_create_function($38,$41,$46,1,$47,0,$51,$55)|0); - $56 = HEAP32[$i>>2]|0; - $57 = (($56) + 1)|0; - HEAP32[$i>>2] = $57; + $56 = HEAP32[$2>>2]|0; + $57 = (808 + ($56<<4)|0); + $58 = ((($57)) + 12|0); + $59 = HEAP32[$58>>2]|0; + (_sqlite3_create_function($42,$45,$50,1,$51,0,$55,$59)|0); + $60 = HEAP32[$2>>2]|0; + $61 = (($60) + 1)|0; + HEAP32[$2>>2] = $61; } STACKTOP = sp;return 0; } -function _acosFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _acosFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),378,(16758|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),378,(19208|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+Math_acos((+$13))); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+Math_acos((+$18))); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _asinFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _asinFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),379,(16767|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),379,(19217|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+Math_asin((+$13))); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+Math_asin((+$18))); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _atanFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _atanFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),380,(16776|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),380,(19226|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+Math_atan((+$13))); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+Math_atan((+$18))); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _atn2Func($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r1 = 0, $r2 = 0, label = 0, sp = 0; +function _atn2Func($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, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $3 = 0, $30 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $r1 = sp + 8|0; - $r2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$r1>>3] = 0.0; - HEAPF64[$r2>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(2); - if (!($4)) { - ___assert_fail((16785|0),(16734|0),570,(16793|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + HEAPF64[$7>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(2); + if (!($9)) { + ___assert_fail((19235|0),(19184|0),570,(19243|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $8 = ($7|0)==(5); - if (!($8)) { - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_type($11)|0); - $13 = ($12|0)==(5); - if (!($13)) { - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = (+_sqlite3_value_double($16)); - HEAPF64[$r1>>3] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (+_sqlite3_value_double($20)); - HEAPF64[$r2>>3] = $21; - $22 = HEAP32[$0>>2]|0; - $23 = +HEAPF64[$r1>>3]; - $24 = +HEAPF64[$r2>>3]; - $25 = (+Math_atan2((+$23),(+$24))); - _sqlite3_result_double($22,$25); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $13 = ($12|0)==(5); + if (!($13)) { + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_type($16)|0); + $18 = ($17|0)==(5); + if (!($18)) { + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = (+_sqlite3_value_double($21)); + HEAPF64[$6>>3] = $22; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = (+_sqlite3_value_double($25)); + HEAPF64[$7>>3] = $26; + $27 = HEAP32[$3>>2]|0; + $28 = +HEAPF64[$6>>3]; + $29 = +HEAPF64[$7>>3]; + $30 = (+Math_atan2((+$28),(+$29))); + _sqlite3_result_double($27,$30); STACKTOP = sp;return; } } - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_null($14); + $19 = HEAP32[$3>>2]|0; + _sqlite3_result_null($19); STACKTOP = sp;return; } -function _acoshFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _acoshFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),394,(16802|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),394,(19252|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+_acosh($13)); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+_acosh($18)); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _asinhFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _asinhFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),402,(16812|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),402,(19262|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+_asinh($13)); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+_asinh($18)); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _atanhFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _atanhFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),410,(16822|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),410,(19272|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+_atanh($13)); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+_atanh($18)); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _differenceFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $rVal = 0, $zIn1 = 0, $zIn2 = 0, $zR1 = 0, $zR2 = 0, $zResult1 = 0, $zResult2 = 0, label = 0; +function _differenceFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $zResult1 = sp + 48|0; - $zResult2 = sp + 40|0; - $zR1 = sp + 20|0; - $zR2 = sp + 16|0; - $rVal = sp + 12|0; - $i = sp + 8|0; - $zIn1 = sp + 4|0; - $zIn2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$zR1>>2] = $zResult1; - HEAP32[$zR2>>2] = $zResult2; - HEAP32[$rVal>>2] = 0; - HEAP32[$i>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(2); - if (!($4)) { - ___assert_fail((16785|0),(16734|0),1680,(16832|0)); + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 48|0; + $7 = sp + 40|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$8>>2] = $6; + HEAP32[$9>>2] = $7; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(2); + if (!($15)) { + ___assert_fail((19235|0),(19184|0),1680,(19282|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $8 = ($7|0)==(5); - if (!($8)) { - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_type($11)|0); - $13 = ($12|0)==(5); - if (!($13)) { - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3_value_text($16)|0); - HEAP32[$zIn1>>2] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3_value_text($20)|0); - HEAP32[$zIn2>>2] = $21; - $22 = HEAP32[$zIn1>>2]|0; - $23 = HEAP32[$zR1>>2]|0; - _soundex($22,$23); - $24 = HEAP32[$zIn2>>2]|0; - $25 = HEAP32[$zR2>>2]|0; - _soundex($24,$25); - HEAP32[$i>>2] = 0; + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3_value_type($17)|0); + $19 = ($18|0)==(5); + if (!($19)) { + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3_value_type($22)|0); + $24 = ($23|0)==(5); + if (!($24)) { + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3_value_text($27)|0); + HEAP32[$12>>2] = $28; + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3_value_text($31)|0); + HEAP32[$13>>2] = $32; + $33 = HEAP32[$12>>2]|0; + $34 = HEAP32[$8>>2]|0; + _soundex($33,$34); + $35 = HEAP32[$13>>2]|0; + $36 = HEAP32[$9>>2]|0; + _soundex($35,$36); + HEAP32[$11>>2] = 0; while(1) { - $26 = HEAP32[$i>>2]|0; - $27 = ($26|0)<(4); - if (!($27)) { + $37 = HEAP32[$11>>2]|0; + $38 = ($37|0)<(4); + if (!($38)) { break; } - $28 = HEAP32[$zR1>>2]|0; - $29 = (_sqlite3ReadUtf8($28)|0); - $30 = HEAP32[$zR2>>2]|0; - $31 = (_sqlite3ReadUtf8($30)|0); - $32 = ($29|0)==($31|0); - if ($32) { - $33 = HEAP32[$rVal>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$rVal>>2] = $34; + $39 = HEAP32[$8>>2]|0; + $40 = (_sqlite3ReadUtf8($39)|0); + $41 = HEAP32[$9>>2]|0; + $42 = (_sqlite3ReadUtf8($41)|0); + $43 = ($40|0)==($42|0); + if ($43) { + $44 = HEAP32[$10>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$10>>2] = $45; } while(1) { - $35 = HEAP32[$zR1>>2]|0; - $36 = ((($35)) + 1|0); - HEAP32[$zR1>>2] = $36; - $37 = HEAP8[$36>>0]|0; - $38 = $37 << 24 >> 24; - $39 = 192 & $38; - $40 = ($39|0)==(128); - if (!($40)) { + $46 = HEAP32[$8>>2]|0; + $47 = ((($46)) + 1|0); + HEAP32[$8>>2] = $47; + $48 = HEAP8[$47>>0]|0; + $49 = $48 << 24 >> 24; + $50 = 192 & $49; + $51 = ($50|0)==(128); + if (!($51)) { break; } } while(1) { - $41 = HEAP32[$zR2>>2]|0; - $42 = ((($41)) + 1|0); - HEAP32[$zR2>>2] = $42; - $43 = HEAP8[$42>>0]|0; - $44 = $43 << 24 >> 24; - $45 = 192 & $44; - $46 = ($45|0)==(128); - if (!($46)) { + $52 = HEAP32[$9>>2]|0; + $53 = ((($52)) + 1|0); + HEAP32[$9>>2] = $53; + $54 = HEAP8[$53>>0]|0; + $55 = $54 << 24 >> 24; + $56 = 192 & $55; + $57 = ($56|0)==(128); + if (!($57)) { break; } } - $47 = HEAP32[$i>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[$i>>2] = $48; + $58 = HEAP32[$11>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$11>>2] = $59; } - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$rVal>>2]|0; - _sqlite3_result_int($49,$50); + $60 = HEAP32[$3>>2]|0; + $61 = HEAP32[$10>>2]|0; + _sqlite3_result_int($60,$61); STACKTOP = sp;return; } } - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_null($14); + $25 = HEAP32[$3>>2]|0; + _sqlite3_result_null($25); STACKTOP = sp;return; } -function _rad2degFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _rad2degFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),498,(17236|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),498,(19686|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+_rad2deg($13)); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+_rad2deg($18)); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _deg2radFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _deg2radFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),499,(17248|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),499,(19698|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+_deg2rad($13)); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+_deg2rad($18)); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _cosFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _cosFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),420,(17260|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),420,(19710|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+Math_cos((+$13))); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+Math_cos((+$18))); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _sinFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _sinFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),419,(17268|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),419,(19718|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+Math_sin((+$13))); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+Math_sin((+$18))); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _tanFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _tanFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),421,(17276|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),421,(19726|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+Math_tan((+$13))); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+Math_tan((+$18))); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _cotFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _cotFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),422,(17284|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),422,(19734|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+_cot($13)); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+_cot($18)); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _coshFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _coshFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),446,(17292|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),446,(19742|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+_cosh($13)); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+_cosh($18)); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _sinhFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _sinhFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),438,(17301|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),438,(19751|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+_sinh($13)); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+_sinh($18)); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _tanhFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _tanhFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),454,(17310|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),454,(19760|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+_tanh($13)); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+_tanh($18)); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _cothFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _cothFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),456,(17319|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),456,(19769|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+_coth($13)); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+_coth($18)); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _expFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _expFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),474,(17328|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),474,(19778|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+Math_exp((+$13))); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+Math_exp((+$18))); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _logFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _logFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),472,(17336|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),472,(19786|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+Math_log((+$13))); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+Math_log((+$18))); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _log10Func($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _log10Func($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),473,(17344|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),473,(19794|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+_log10($13)); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+_log10($18)); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _powerFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r1 = 0, $r2 = 0, $val = 0, label = 0; +function _powerFunc($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, $27 = 0.0, $28 = 0, $29 = 0.0; + var $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $r1 = sp + 16|0; - $r2 = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$r1>>3] = 0.0; - HEAPF64[$r2>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(2); - if (!($4)) { - ___assert_fail((16785|0),(16734|0),546,(17354|0)); + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + HEAPF64[$7>>3] = 0.0; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)==(2); + if (!($10)) { + ___assert_fail((19235|0),(19184|0),546,(19804|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $8 = ($7|0)==(5); - if (!($8)) { - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_type($11)|0); - $13 = ($12|0)==(5); - if (!($13)) { - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = (+_sqlite3_value_double($16)); - HEAPF64[$r1>>3] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (+_sqlite3_value_double($20)); - HEAPF64[$r2>>3] = $21; - $22 = (___errno_location()|0); - HEAP32[$22>>2] = 0; - $23 = +HEAPF64[$r1>>3]; - $24 = +HEAPF64[$r2>>3]; - $25 = (+Math_pow((+$23),(+$24))); - HEAPF64[$val>>3] = $25; - $26 = (___errno_location()|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)==(0); - $29 = HEAP32[$0>>2]|0; - if ($28) { - $30 = +HEAPF64[$val>>3]; - _sqlite3_result_double($29,$30); + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3_value_type($12)|0); + $14 = ($13|0)==(5); + if (!($14)) { + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3_value_type($17)|0); + $19 = ($18|0)==(5); + if (!($19)) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = (+_sqlite3_value_double($22)); + HEAPF64[$6>>3] = $23; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = (+_sqlite3_value_double($26)); + HEAPF64[$7>>3] = $27; + $28 = (___errno_location()|0); + HEAP32[$28>>2] = 0; + $29 = +HEAPF64[$6>>3]; + $30 = +HEAPF64[$7>>3]; + $31 = (+Math_pow((+$29),(+$30))); + HEAPF64[$8>>3] = $31; + $32 = (___errno_location()|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0); + $35 = HEAP32[$3>>2]|0; + if ($34) { + $36 = +HEAPF64[$8>>3]; + _sqlite3_result_double($35,$36); STACKTOP = sp;return; } else { - $31 = (___errno_location()|0); - $32 = HEAP32[$31>>2]|0; - $33 = (_strerror($32)|0); - $34 = (___errno_location()|0); - $35 = HEAP32[$34>>2]|0; - _sqlite3_result_error($29,$33,$35); + $37 = (___errno_location()|0); + $38 = HEAP32[$37>>2]|0; + $39 = (_strerror($38)|0); + $40 = (___errno_location()|0); + $41 = HEAP32[$40>>2]|0; + _sqlite3_result_error($35,$39,$41); STACKTOP = sp;return; } } } - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_null($14); + $20 = HEAP32[$3>>2]|0; + _sqlite3_result_null($20); STACKTOP = sp;return; } -function _signFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0; - var $63 = 0, $64 = 0, $65 = 0.0, $7 = 0, $8 = 0, $9 = 0, $iVal = 0, $rVal = 0, label = 0, sp = 0; +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, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0; + var $66 = 0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $iVal = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = $iVal; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)==(1); - if (!($8)) { - ___assert_fail((16726|0),(16734|0),590,(17364|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = $7; + $9 = $8; + HEAP32[$9>>2] = 0; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = 0; + $12 = HEAP32[$4>>2]|0; + $13 = ($12|0)==(1); + if (!($13)) { + ___assert_fail((19176|0),(19184|0),590,(19814|0)); // unreachable; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_type($10)|0); - switch ($11|0) { + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3_value_type($15)|0); + switch ($16|0) { case 1: { - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_int64($13)|0); - $15 = tempRet0; - $16 = $iVal; - $17 = $16; - HEAP32[$17>>2] = $14; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - $20 = $iVal; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3_value_int64($18)|0); + $20 = tempRet0; + $21 = $7; + $22 = $21; + HEAP32[$22>>2] = $19; + $23 = (($21) + 4)|0; $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)>(0); - $27 = ($22>>>0)>(0); - $28 = ($25|0)==(0); - $29 = $28 & $27; - $30 = $26 | $29; - if ($30) { - $40 = 1; + HEAP32[$24>>2] = $20; + $25 = $7; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)>(0); + $32 = ($27>>>0)>(0); + $33 = ($30|0)==(0); + $34 = $33 & $32; + $35 = $31 | $34; + if ($35) { + $45 = 1; } else { - $31 = $iVal; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)<(0); - $38 = $37 ? -1 : 0; - $40 = $38; + $36 = $7; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)<(0); + $43 = $42 ? -1 : 0; + $45 = $43; } - $39 = ($40|0)<(0); - $41 = $39 << 31 >> 31; - $42 = $iVal; - $43 = $42; - HEAP32[$43>>2] = $40; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = HEAP32[$0>>2]|0; - $47 = $iVal; + $44 = ($45|0)<(0); + $46 = $44 << 31 >> 31; + $47 = $7; $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - _sqlite3_result_int64($46,$49,$52); + HEAP32[$48>>2] = $45; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = $46; + $51 = HEAP32[$3>>2]|0; + $52 = $7; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + _sqlite3_result_int64($51,$54,$57); STACKTOP = sp;return; break; } case 5: { - $53 = HEAP32[$0>>2]|0; - _sqlite3_result_null($53); + $58 = HEAP32[$3>>2]|0; + _sqlite3_result_null($58); STACKTOP = sp;return; break; } default: { - $54 = HEAP32[$2>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = (+_sqlite3_value_double($55)); - HEAPF64[$rVal>>3] = $56; - $57 = +HEAPF64[$rVal>>3]; - $58 = $57 > 0.0; - if ($58) { - $63 = 1; + $59 = HEAP32[$5>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = (+_sqlite3_value_double($60)); + HEAPF64[$6>>3] = $61; + $62 = +HEAPF64[$6>>3]; + $63 = $62 > 0.0; + if ($63) { + $68 = 1; } else { - $59 = +HEAPF64[$rVal>>3]; - $60 = $59 < 0.0; - $61 = $60 ? -1 : 0; - $63 = $61; + $64 = +HEAPF64[$6>>3]; + $65 = $64 < 0.0; + $66 = $65 ? -1 : 0; + $68 = $66; } - $62 = (+($63|0)); - HEAPF64[$rVal>>3] = $62; - $64 = HEAP32[$0>>2]|0; - $65 = +HEAPF64[$rVal>>3]; - _sqlite3_result_double($64,$65); + $67 = (+($68|0)); + HEAPF64[$6>>3] = $67; + $69 = HEAP32[$3>>2]|0; + $70 = +HEAPF64[$6>>3]; + _sqlite3_result_double($69,$70); STACKTOP = sp;return; } } } -function _sqrtFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $rVal = 0, $val = 0, label = 0, sp = 0; +function _sqrtFunc($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.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rVal = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),375,(17373|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if (!($9)) { + ___assert_fail((19176|0),(19184|0),375,(19823|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $cond = ($7|0)==(5); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $cond = ($12|0)==(5); if ($cond) { - $8 = HEAP32[$0>>2]|0; - _sqlite3_result_null($8); + $13 = HEAP32[$3>>2]|0; + _sqlite3_result_null($13); STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (+_sqlite3_value_double($10)); - HEAPF64[$rVal>>3] = $11; - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 0; - $13 = +HEAPF64[$rVal>>3]; - $14 = (+Math_sqrt((+$13))); - HEAPF64[$val>>3] = $14; - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if ($17) { - $19 = +HEAPF64[$val>>3]; - _sqlite3_result_double($18,$19); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (+_sqlite3_value_double($15)); + HEAPF64[$6>>3] = $16; + $17 = (___errno_location()|0); + HEAP32[$17>>2] = 0; + $18 = +HEAPF64[$6>>3]; + $19 = (+Math_sqrt((+$18))); + HEAPF64[$7>>3] = $19; + $20 = (___errno_location()|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = +HEAPF64[$7>>3]; + _sqlite3_result_double($23,$24); STACKTOP = sp;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($18,$22,$24); + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strerror($26)|0); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_error($23,$27,$29); STACKTOP = sp;return; } } -function _squareFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $iVal = 0, $rVal = 0, label = 0, sp = 0; +function _squareFunc($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.0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0.0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $iVal = sp + 8|0; - $rVal = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = $iVal; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 0; - HEAPF64[$rVal>>3] = 0.0; - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)==(1); - if (!($8)) { - ___assert_fail((16726|0),(16734|0),514,(17382|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = $6; + $9 = $8; + HEAP32[$9>>2] = 0; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = 0; + HEAPF64[$7>>3] = 0.0; + $12 = HEAP32[$4>>2]|0; + $13 = ($12|0)==(1); + if (!($13)) { + ___assert_fail((19176|0),(19184|0),514,(19832|0)); // unreachable; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_type($10)|0); - switch ($11|0) { + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3_value_type($15)|0); + switch ($16|0) { case 1: { - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_int64($13)|0); - $15 = tempRet0; - $16 = $iVal; - $17 = $16; - HEAP32[$17>>2] = $14; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - $20 = HEAP32[$0>>2]|0; - $21 = $iVal; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3_value_int64($18)|0); + $20 = tempRet0; + $21 = $6; $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = $iVal; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (___muldi3(($23|0),($26|0),($29|0),($32|0))|0); - $34 = tempRet0; - _sqlite3_result_int64($20,$33,$34); + HEAP32[$22>>2] = $19; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = HEAP32[$3>>2]|0; + $26 = $6; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = $6; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (___muldi3(($28|0),($31|0),($34|0),($37|0))|0); + $39 = tempRet0; + _sqlite3_result_int64($25,$38,$39); STACKTOP = sp;return; break; } case 5: { - $35 = HEAP32[$0>>2]|0; - _sqlite3_result_null($35); + $40 = HEAP32[$3>>2]|0; + _sqlite3_result_null($40); STACKTOP = sp;return; break; } default: { - $36 = HEAP32[$2>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = (+_sqlite3_value_double($37)); - HEAPF64[$rVal>>3] = $38; - $39 = HEAP32[$0>>2]|0; - $40 = +HEAPF64[$rVal>>3]; - $41 = +HEAPF64[$rVal>>3]; - $42 = $40 * $41; - _sqlite3_result_double($39,$42); + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = (+_sqlite3_value_double($42)); + HEAPF64[$7>>3] = $43; + $44 = HEAP32[$3>>2]|0; + $45 = +HEAPF64[$7>>3]; + $46 = +HEAPF64[$7>>3]; + $47 = $45 * $46; + _sqlite3_result_double($44,$47); STACKTOP = sp;return; } } } -function _ceilFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iVal = 0, $iVal1 = 0, $rVal = 0, label = 0; +function _ceilFunc($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.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $rVal = sp + 16|0; - $iVal = sp + 8|0; - $iVal1 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = $iVal; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)==(1); - if (!($8)) { - ___assert_fail((16726|0),(16734|0),620,(17393|0)); + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $9 = $7; + $10 = $9; + HEAP32[$10>>2] = 0; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(1); + if (!($14)) { + ___assert_fail((19176|0),(19184|0),620,(19843|0)); // unreachable; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_type($10)|0); - switch ($11|0) { + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_type($16)|0); + switch ($17|0) { case 1: { - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_int64($13)|0); - $15 = tempRet0; - $16 = $iVal1; - $17 = $16; - HEAP32[$17>>2] = $14; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - $20 = HEAP32[$0>>2]|0; - $21 = $iVal1; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_int64($19)|0); + $21 = tempRet0; + $22 = $8; + $23 = $22; + HEAP32[$23>>2] = $20; + $24 = (($22) + 4)|0; $25 = $24; - $26 = HEAP32[$25>>2]|0; - _sqlite3_result_int64($20,$23,$26); + HEAP32[$25>>2] = $21; + $26 = HEAP32[$3>>2]|0; + $27 = $8; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + _sqlite3_result_int64($26,$29,$32); STACKTOP = sp;return; break; } case 5: { - $27 = HEAP32[$0>>2]|0; - _sqlite3_result_null($27); + $33 = HEAP32[$3>>2]|0; + _sqlite3_result_null($33); STACKTOP = sp;return; break; } default: { - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = (+_sqlite3_value_double($29)); - HEAPF64[$rVal>>3] = $30; - $31 = HEAP32[$0>>2]|0; - $32 = +HEAPF64[$rVal>>3]; - $33 = (+Math_ceil((+$32))); - $34 = (~~$33)>>>0; - $35 = +Math_abs($33) >= 1.0 ? $33 > 0.0 ? (~~+Math_min(+Math_floor($33 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($33 - +(~~$33 >>> 0)) / 4294967296.0) >>> 0 : 0; - _sqlite3_result_int64($31,$34,$35); + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = (+_sqlite3_value_double($35)); + HEAPF64[$6>>3] = $36; + $37 = HEAP32[$3>>2]|0; + $38 = +HEAPF64[$6>>3]; + $39 = (+Math_ceil((+$38))); + $40 = (~~$39)>>>0; + $41 = +Math_abs($39) >= 1.0 ? $39 > 0.0 ? (~~+Math_min(+Math_floor($39 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($39 - +(~~$39 >>> 0)) / 4294967296.0) >>> 0 : 0; + _sqlite3_result_int64($37,$40,$41); STACKTOP = sp;return; } } } -function _floorFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iVal = 0, $iVal1 = 0, $rVal = 0, label = 0; +function _floorFunc($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.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $rVal = sp + 16|0; - $iVal = sp + 8|0; - $iVal1 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAPF64[$rVal>>3] = 0.0; - $3 = $iVal; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)==(1); - if (!($8)) { - ___assert_fail((16726|0),(16734|0),645,(17402|0)); + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAPF64[$6>>3] = 0.0; + $9 = $7; + $10 = $9; + HEAP32[$10>>2] = 0; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(1); + if (!($14)) { + ___assert_fail((19176|0),(19184|0),645,(19852|0)); // unreachable; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_type($10)|0); - switch ($11|0) { + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_type($16)|0); + switch ($17|0) { case 1: { - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_int64($13)|0); - $15 = tempRet0; - $16 = $iVal1; - $17 = $16; - HEAP32[$17>>2] = $14; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - $20 = HEAP32[$0>>2]|0; - $21 = $iVal1; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_int64($19)|0); + $21 = tempRet0; + $22 = $8; + $23 = $22; + HEAP32[$23>>2] = $20; + $24 = (($22) + 4)|0; $25 = $24; - $26 = HEAP32[$25>>2]|0; - _sqlite3_result_int64($20,$23,$26); + HEAP32[$25>>2] = $21; + $26 = HEAP32[$3>>2]|0; + $27 = $8; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + _sqlite3_result_int64($26,$29,$32); STACKTOP = sp;return; break; } case 5: { - $27 = HEAP32[$0>>2]|0; - _sqlite3_result_null($27); + $33 = HEAP32[$3>>2]|0; + _sqlite3_result_null($33); STACKTOP = sp;return; break; } default: { - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = (+_sqlite3_value_double($29)); - HEAPF64[$rVal>>3] = $30; - $31 = HEAP32[$0>>2]|0; - $32 = +HEAPF64[$rVal>>3]; - $33 = (+Math_floor((+$32))); - $34 = (~~$33)>>>0; - $35 = +Math_abs($33) >= 1.0 ? $33 > 0.0 ? (~~+Math_min(+Math_floor($33 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($33 - +(~~$33 >>> 0)) / 4294967296.0) >>> 0 : 0; - _sqlite3_result_int64($31,$34,$35); + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = (+_sqlite3_value_double($35)); + HEAPF64[$6>>3] = $36; + $37 = HEAP32[$3>>2]|0; + $38 = +HEAPF64[$6>>3]; + $39 = (+Math_floor((+$38))); + $40 = (~~$39)>>>0; + $41 = +Math_abs($39) >= 1.0 ? $39 > 0.0 ? (~~+Math_min(+Math_floor($39 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($39 - +(~~$39 >>> 0)) / 4294967296.0) >>> 0 : 0; + _sqlite3_result_int64($37,$40,$41); STACKTOP = sp;return; } } } -function _piFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _piFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - _sqlite3_result_double($3,3.1415926535897931); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + _sqlite3_result_double($6,3.1415926535897931); STACKTOP = sp;return; } -function _replicateFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iCount = 0, $nLen = 0, $nTLen = 0, $or$cond = 0, $z = 0, $zo = 0, label = 0, sp = 0; +function _replicateFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $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, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $z = sp + 36|0; - $zo = sp + 32|0; - $iCount = sp + 24|0; - $nLen = sp + 16|0; - $nTLen = sp + 8|0; - $i = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = $i; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)!=(2); - if ($8) { + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 24|0; + $9 = sp + 16|0; + $10 = sp + 8|0; + $11 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $12 = $11; + $13 = $12; + HEAP32[$13>>2] = 0; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = 0; + $16 = HEAP32[$4>>2]|0; + $17 = ($16|0)!=(2); + if ($17) { STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_type($10)|0); - $12 = (5)==($11|0); - if ($12) { + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_type($19)|0); + $21 = (5)==($20|0); + if ($21) { STACKTOP = sp;return; } - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3_value_int64($15)|0); - $17 = tempRet0; - $18 = $iCount; - $19 = $18; - HEAP32[$19>>2] = $16; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = $iCount; - $23 = $22; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)<(0); - if ($28) { - $29 = HEAP32[$0>>2]|0; - _sqlite3_result_error($29,17412,-1); + $25 = (_sqlite3_value_int64($24)|0); + $26 = tempRet0; + $27 = $8; + $28 = $27; + HEAP32[$28>>2] = $25; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $26; + $31 = $8; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)<(0); + if ($37) { + $38 = HEAP32[$3>>2]|0; + _sqlite3_result_error($38,19862,-1); STACKTOP = sp;return; } - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = (_sqlite3_value_bytes($31)|0); - $33 = ($32|0)<(0); - $34 = $33 << 31 >> 31; - $35 = $nLen; - $36 = $35; - HEAP32[$36>>2] = $32; - $37 = (($35) + 4)|0; - $38 = $37; - HEAP32[$38>>2] = $34; - $39 = $nLen; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (($39) + 4)|0; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = $iCount; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3_value_bytes($40)|0); + $42 = ($41|0)<(0); + $43 = $42 << 31 >> 31; + $44 = $9; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + $48 = $9; $49 = $48; $50 = HEAP32[$49>>2]|0; - $51 = (___muldi3(($41|0),($44|0),($47|0),($50|0))|0); - $52 = tempRet0; - $53 = $nTLen; - $54 = $53; - HEAP32[$54>>2] = $51; - $55 = (($53) + 4)|0; - $56 = $55; - HEAP32[$56>>2] = $52; - $57 = $nTLen; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = $8; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; $58 = $57; $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (_i64Add(($59|0),($62|0),1,0)|0); - $64 = tempRet0; - $65 = (_sqlite3_malloc($63)|0); - HEAP32[$z>>2] = $65; - $66 = $nLen; + $60 = (___muldi3(($50|0),($53|0),($56|0),($59|0))|0); + $61 = tempRet0; + $62 = $10; + $63 = $62; + HEAP32[$63>>2] = $60; + $64 = (($62) + 4)|0; + $65 = $64; + HEAP32[$65>>2] = $61; + $66 = $10; $67 = $66; $68 = HEAP32[$67>>2]|0; $69 = (($66) + 4)|0; @@ -8605,2617 +7875,2626 @@ function _replicateFunc($context,$argc,$argv) { $72 = (_i64Add(($68|0),($71|0),1,0)|0); $73 = tempRet0; $74 = (_sqlite3_malloc($72)|0); - HEAP32[$zo>>2] = $74; - $75 = HEAP32[$z>>2]|0; - $76 = ($75|0)!=(0|0); - $77 = HEAP32[$zo>>2]|0; - $78 = ($77|0)!=(0|0); - $or$cond = $76 & $78; + HEAP32[$6>>2] = $74; + $75 = $9; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (_i64Add(($77|0),($80|0),1,0)|0); + $82 = tempRet0; + $83 = (_sqlite3_malloc($81)|0); + HEAP32[$7>>2] = $83; + $84 = HEAP32[$6>>2]|0; + $85 = ($84|0)!=(0|0); + $86 = HEAP32[$7>>2]|0; + $87 = ($86|0)!=(0|0); + $or$cond = $85 & $87; if ($or$cond) { - $86 = HEAP32[$zo>>2]|0; - $87 = HEAP32[$2>>2]|0; - $88 = HEAP32[$87>>2]|0; - $89 = (_sqlite3_value_text($88)|0); - (_strcpy($86,$89)|0); - $90 = $i; - $91 = $90; - HEAP32[$91>>2] = 0; - $92 = (($90) + 4)|0; - $93 = $92; - HEAP32[$93>>2] = 0; + $95 = HEAP32[$7>>2]|0; + $96 = HEAP32[$5>>2]|0; + $97 = HEAP32[$96>>2]|0; + $98 = (_sqlite3_value_text($97)|0); + (_strcpy($95,$98)|0); + $99 = $11; + $100 = $99; + HEAP32[$100>>2] = 0; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = 0; while(1) { - $94 = $i; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (($94) + 4)|0; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = $iCount; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; + $103 = $11; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = ($99|0)<($105|0); - $107 = ($96>>>0)<($102>>>0); - $108 = ($99|0)==($105|0); - $109 = $108 & $107; - $110 = $106 | $109; - if (!($110)) { - break; - } - $111 = HEAP32[$z>>2]|0; - $112 = $i; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = $8; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; $113 = $112; $114 = HEAP32[$113>>2]|0; - $115 = (($112) + 4)|0; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = $nLen; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = (($118) + 4)|0; + $115 = ($108|0)<($114|0); + $116 = ($105>>>0)<($111>>>0); + $117 = ($108|0)==($114|0); + $118 = $117 & $116; + $119 = $115 | $118; + if (!($119)) { + break; + } + $120 = HEAP32[$6>>2]|0; + $121 = $11; $122 = $121; $123 = HEAP32[$122>>2]|0; - $124 = (___muldi3(($114|0),($117|0),($120|0),($123|0))|0); - $125 = tempRet0; - $126 = (($111) + ($124)|0); - $127 = HEAP32[$zo>>2]|0; - (_strcpy($126,$127)|0); - $128 = $i; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = (($128) + 4)|0; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (_i64Add(($130|0),($133|0),1,0)|0); - $135 = tempRet0; - $136 = $i; - $137 = $136; - HEAP32[$137>>2] = $134; - $138 = (($136) + 4)|0; - $139 = $138; - HEAP32[$139>>2] = $135; - } - $140 = HEAP32[$0>>2]|0; - $141 = HEAP32[$z>>2]|0; - _sqlite3_result_text($140,$141,-1,(-1)); - $142 = HEAP32[$z>>2]|0; - _sqlite3_free($142); - $143 = HEAP32[$zo>>2]|0; - _sqlite3_free($143); + $124 = (($121) + 4)|0; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = $9; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (___muldi3(($123|0),($126|0),($129|0),($132|0))|0); + $134 = tempRet0; + $135 = (($120) + ($133)|0); + $136 = HEAP32[$7>>2]|0; + (_strcpy($135,$136)|0); + $137 = $11; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (($137) + 4)|0; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (_i64Add(($139|0),($142|0),1,0)|0); + $144 = tempRet0; + $145 = $11; + $146 = $145; + HEAP32[$146>>2] = $143; + $147 = (($145) + 4)|0; + $148 = $147; + HEAP32[$148>>2] = $144; + } + $149 = HEAP32[$3>>2]|0; + $150 = HEAP32[$6>>2]|0; + _sqlite3_result_text($149,$150,-1,(-1)); + $151 = HEAP32[$6>>2]|0; + _sqlite3_free($151); + $152 = HEAP32[$7>>2]|0; + _sqlite3_free($152); STACKTOP = sp;return; } - $79 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($79); - $80 = HEAP32[$z>>2]|0; - $81 = ($80|0)!=(0|0); - if ($81) { - $82 = HEAP32[$z>>2]|0; - _sqlite3_free($82); + $88 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($88); + $89 = HEAP32[$6>>2]|0; + $90 = ($89|0)!=(0|0); + if ($90) { + $91 = HEAP32[$6>>2]|0; + _sqlite3_free($91); } - $83 = HEAP32[$zo>>2]|0; - $84 = ($83|0)!=(0|0); - if (!($84)) { + $92 = HEAP32[$7>>2]|0; + $93 = ($92|0)!=(0|0); + if (!($93)) { STACKTOP = sp;return; } - $85 = HEAP32[$zo>>2]|0; - _sqlite3_free($85); + $94 = HEAP32[$7>>2]|0; + _sqlite3_free($94); STACKTOP = sp;return; } -function _charindexFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - 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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rVal = 0, $s = 0, $z1 = 0, $z2 = 0, label = 0, sp = 0; +function _charindexFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $z1 = sp + 12|0; - $z2 = sp + 8|0; - $s = sp + 4|0; - $rVal = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$s>>2] = 0; - HEAP32[$rVal>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(3); - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)==(2); - $or$cond = $4 | $6; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)==(3); + $12 = HEAP32[$4>>2]|0; + $13 = ($12|0)==(2); + $or$cond = $11 | $13; if (!($or$cond)) { - ___assert_fail((17425|0),(16734|0),1038,(17443|0)); + ___assert_fail((19875|0),(19184|0),1038,(19893|0)); // unreachable; } - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_type($8)|0); - $10 = (5)==($9|0); - if (!($10)) { - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_type($13)|0); - $15 = (5)==($14|0); - if (!($15)) { - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = (_sqlite3_value_text($18)|0); - HEAP32[$z1>>2] = $19; - $20 = HEAP32[$z1>>2]|0; - $21 = ($20|0)==(0|0); - if ($21) { + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3_value_type($15)|0); + $17 = (5)==($16|0); + if (!($17)) { + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3_value_type($20)|0); + $22 = (5)==($21|0); + if (!($22)) { + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3_value_text($25)|0); + HEAP32[$6>>2] = $26; + $27 = HEAP32[$6>>2]|0; + $28 = ($27|0)==(0|0); + if ($28) { STACKTOP = sp;return; } - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3_value_text($24)|0); - HEAP32[$z2>>2] = $25; - $26 = HEAP32[$1>>2]|0; - $27 = ($26|0)==(3); - if ($27) { - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3_value_int($30)|0); - $32 = (($31) - 1)|0; - HEAP32[$s>>2] = $32; - $33 = HEAP32[$s>>2]|0; - $34 = ($33|0)<(0); - $$ = $34 ? 0 : $32; - HEAP32[$s>>2] = $$; + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3_value_text($31)|0); + HEAP32[$7>>2] = $32; + $33 = HEAP32[$4>>2]|0; + $34 = ($33|0)==(3); + if ($34) { + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_sqlite3_value_int($37)|0); + $39 = (($38) - 1)|0; + HEAP32[$8>>2] = $39; + $40 = HEAP32[$8>>2]|0; + $41 = ($40|0)<(0); + $$ = $41 ? 0 : $39; + HEAP32[$8>>2] = $$; } else { - HEAP32[$s>>2] = 0; - } - $35 = HEAP32[$z1>>2]|0; - $36 = HEAP32[$z2>>2]|0; - $37 = HEAP32[$s>>2]|0; - $38 = (__substr($35,$36,$37,0)|0); - HEAP32[$rVal>>2] = $38; - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$rVal>>2]|0; - $41 = (($40) + 1)|0; - _sqlite3_result_int($39,$41); + HEAP32[$8>>2] = 0; + } + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = (__substr($42,$43,$44,0)|0); + HEAP32[$9>>2] = $45; + $46 = HEAP32[$3>>2]|0; + $47 = HEAP32[$9>>2]|0; + $48 = (($47) + 1)|0; + _sqlite3_result_int($46,$48); STACKTOP = sp;return; } } - $16 = HEAP32[$0>>2]|0; - _sqlite3_result_null($16); + $23 = HEAP32[$3>>2]|0; + _sqlite3_result_null($23); STACKTOP = sp;return; } -function _leftFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $c = 0, $cc = 0, $l = 0, $rz = 0, $z = 0, $zt = 0, label = 0, sp = 0; +function _leftFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $c = sp + 20|0; - $cc = sp + 16|0; - $l = sp + 12|0; - $z = sp + 8|0; - $zt = sp + 4|0; - $rz = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$c>>2] = 0; - HEAP32[$cc>>2] = 0; - HEAP32[$l>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(2); - if (!($4)) { - ___assert_fail((16785|0),(16734|0),1073,(17457|0)); + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + $12 = HEAP32[$4>>2]|0; + $13 = ($12|0)==(2); + if (!($13)) { + ___assert_fail((19235|0),(19184|0),1073,(19907|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $8 = (5)==($7|0); - if (!($8)) { - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_type($11)|0); - $13 = (5)==($12|0); - if (!($13)) { - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3_value_text($16)|0); - HEAP32[$z>>2] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3_value_int($20)|0); - HEAP32[$l>>2] = $21; - $22 = HEAP32[$z>>2]|0; - HEAP32[$zt>>2] = $22; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3_value_type($15)|0); + $17 = (5)==($16|0); + if (!($17)) { + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3_value_type($20)|0); + $22 = (5)==($21|0); + if (!($22)) { + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3_value_text($25)|0); + HEAP32[$9>>2] = $26; + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_sqlite3_value_int($29)|0); + HEAP32[$8>>2] = $30; + $31 = HEAP32[$9>>2]|0; + HEAP32[$10>>2] = $31; L7: while(1) { - $23 = HEAP32[$zt>>2]|0; - $24 = (_sqlite3ReadUtf8($23)|0); - $25 = ($24|0)!=(0); - if (!($25)) { + $32 = HEAP32[$10>>2]|0; + $33 = (_sqlite3ReadUtf8($32)|0); + $34 = ($33|0)!=(0); + if (!($34)) { break; } - $26 = HEAP32[$c>>2]|0; - $27 = (($26) + 1)|0; - HEAP32[$c>>2] = $27; - $28 = HEAP32[$l>>2]|0; - $29 = ($26|0)<($28|0); - if (!($29)) { + $35 = HEAP32[$6>>2]|0; + $36 = (($35) + 1)|0; + HEAP32[$6>>2] = $36; + $37 = HEAP32[$8>>2]|0; + $38 = ($35|0)<($37|0); + if (!($38)) { break; } while(1) { - $30 = HEAP32[$zt>>2]|0; - $31 = ((($30)) + 1|0); - HEAP32[$zt>>2] = $31; - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = 192 & $33; - $35 = ($34|0)==(128); - if (!($35)) { + $39 = HEAP32[$10>>2]|0; + $40 = ((($39)) + 1|0); + HEAP32[$10>>2] = $40; + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = 192 & $42; + $44 = ($43|0)==(128); + if (!($44)) { continue L7; } } } - $36 = HEAP32[$zt>>2]|0; - $37 = HEAP32[$z>>2]|0; - $38 = $36; - $39 = $37; - $40 = (($38) - ($39))|0; - HEAP32[$cc>>2] = $40; - $41 = HEAP32[$zt>>2]|0; - $42 = HEAP32[$z>>2]|0; - $43 = $41; - $44 = $42; - $45 = (($43) - ($44))|0; - $46 = (($45) + 1)|0; - $47 = (_sqlite3_malloc($46)|0); - HEAP32[$rz>>2] = $47; - $48 = HEAP32[$rz>>2]|0; - $49 = ($48|0)!=(0|0); - if ($49) { - $51 = HEAP32[$rz>>2]|0; - $52 = HEAP32[$z>>2]|0; - $53 = HEAP32[$zt>>2]|0; - $54 = HEAP32[$z>>2]|0; - $55 = $53; - $56 = $54; - $57 = (($55) - ($56))|0; - (_strncpy($51,$52,$57)|0); - $58 = HEAP32[$rz>>2]|0; - $59 = HEAP32[$cc>>2]|0; - $60 = (($58) + ($59)|0); - HEAP8[$60>>0] = 0; - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$rz>>2]|0; - _sqlite3_result_text($61,$62,-1,(-1)); - $63 = HEAP32[$rz>>2]|0; - _sqlite3_free($63); + $45 = HEAP32[$10>>2]|0; + $46 = HEAP32[$9>>2]|0; + $47 = $45; + $48 = $46; + $49 = (($47) - ($48))|0; + HEAP32[$7>>2] = $49; + $50 = HEAP32[$10>>2]|0; + $51 = HEAP32[$9>>2]|0; + $52 = $50; + $53 = $51; + $54 = (($52) - ($53))|0; + $55 = (($54) + 1)|0; + $56 = (_sqlite3_malloc($55)|0); + HEAP32[$11>>2] = $56; + $57 = HEAP32[$11>>2]|0; + $58 = ($57|0)!=(0|0); + if ($58) { + $60 = HEAP32[$11>>2]|0; + $61 = HEAP32[$9>>2]|0; + $62 = HEAP32[$10>>2]|0; + $63 = HEAP32[$9>>2]|0; + $64 = $62; + $65 = $63; + $66 = (($64) - ($65))|0; + (_strncpy($60,$61,$66)|0); + $67 = HEAP32[$11>>2]|0; + $68 = HEAP32[$7>>2]|0; + $69 = (($67) + ($68)|0); + HEAP8[$69>>0] = 0; + $70 = HEAP32[$3>>2]|0; + $71 = HEAP32[$11>>2]|0; + _sqlite3_result_text($70,$71,-1,(-1)); + $72 = HEAP32[$11>>2]|0; + _sqlite3_free($72); STACKTOP = sp;return; } else { - $50 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($50); + $59 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($59); STACKTOP = sp;return; } } } - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_null($14); + $23 = HEAP32[$3>>2]|0; + _sqlite3_result_null($23); STACKTOP = sp;return; } -function _rightFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $cc = 0, $l = 0, $rz = 0, $z = 0, $ze = 0, $zt = 0, label = 0, sp = 0; +function _rightFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $l = sp + 24|0; - $c = sp + 20|0; - $cc = sp + 16|0; - $z = sp + 12|0; - $zt = sp + 8|0; - $ze = sp + 4|0; - $rz = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$l>>2] = 0; - HEAP32[$c>>2] = 0; - HEAP32[$cc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(2); - if (!($4)) { - ___assert_fail((16785|0),(16734|0),1113,(17466|0)); + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(2); + if (!($14)) { + ___assert_fail((19235|0),(19184|0),1113,(19916|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $8 = (5)==($7|0); - if (!($8)) { - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_type($11)|0); - $13 = (5)==($12|0); - if (!($13)) { - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3_value_text($16)|0); - HEAP32[$z>>2] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3_value_int($20)|0); - HEAP32[$l>>2] = $21; - $22 = HEAP32[$z>>2]|0; - HEAP32[$zt>>2] = $22; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_type($16)|0); + $18 = (5)==($17|0); + if (!($18)) { + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_sqlite3_value_type($21)|0); + $23 = (5)==($22|0); + if (!($23)) { + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3_value_text($26)|0); + HEAP32[$9>>2] = $27; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_value_int($30)|0); + HEAP32[$6>>2] = $31; + $32 = HEAP32[$9>>2]|0; + HEAP32[$10>>2] = $32; while(1) { - $23 = HEAP32[$zt>>2]|0; - $24 = (_sqlite3ReadUtf8($23)|0); - $25 = ($24|0)!=(0); - if (!($25)) { + $33 = HEAP32[$10>>2]|0; + $34 = (_sqlite3ReadUtf8($33)|0); + $35 = ($34|0)!=(0); + if (!($35)) { break; } while(1) { - $26 = HEAP32[$zt>>2]|0; - $27 = ((($26)) + 1|0); - HEAP32[$zt>>2] = $27; - $28 = HEAP8[$27>>0]|0; - $29 = $28 << 24 >> 24; - $30 = 192 & $29; - $31 = ($30|0)==(128); - if (!($31)) { + $36 = HEAP32[$10>>2]|0; + $37 = ((($36)) + 1|0); + HEAP32[$10>>2] = $37; + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = 192 & $39; + $41 = ($40|0)==(128); + if (!($41)) { break; } } - $32 = HEAP32[$c>>2]|0; - $33 = (($32) + 1)|0; - HEAP32[$c>>2] = $33; - } - $34 = HEAP32[$zt>>2]|0; - HEAP32[$ze>>2] = $34; - $35 = HEAP32[$z>>2]|0; - HEAP32[$zt>>2] = $35; - $36 = HEAP32[$c>>2]|0; - $37 = HEAP32[$l>>2]|0; - $38 = (($36) - ($37))|0; - HEAP32[$cc>>2] = $38; - $39 = HEAP32[$cc>>2]|0; - $40 = ($39|0)<(0); - $$ = $40 ? 0 : $38; - HEAP32[$cc>>2] = $$; + $42 = HEAP32[$7>>2]|0; + $43 = (($42) + 1)|0; + HEAP32[$7>>2] = $43; + } + $44 = HEAP32[$10>>2]|0; + HEAP32[$11>>2] = $44; + $45 = HEAP32[$9>>2]|0; + HEAP32[$10>>2] = $45; + $46 = HEAP32[$7>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = (($46) - ($47))|0; + HEAP32[$8>>2] = $48; + $49 = HEAP32[$8>>2]|0; + $50 = ($49|0)<(0); + $$ = $50 ? 0 : $48; + HEAP32[$8>>2] = $$; L13: while(1) { - $41 = HEAP32[$cc>>2]|0; - $42 = (($41) + -1)|0; - HEAP32[$cc>>2] = $42; - $43 = ($41|0)>(0); - if (!($43)) { + $51 = HEAP32[$8>>2]|0; + $52 = (($51) + -1)|0; + HEAP32[$8>>2] = $52; + $53 = ($51|0)>(0); + if (!($53)) { break; } while(1) { - $44 = HEAP32[$zt>>2]|0; - $45 = ((($44)) + 1|0); - HEAP32[$zt>>2] = $45; - $46 = HEAP8[$45>>0]|0; - $47 = $46 << 24 >> 24; - $48 = 192 & $47; - $49 = ($48|0)==(128); - if (!($49)) { + $54 = HEAP32[$10>>2]|0; + $55 = ((($54)) + 1|0); + HEAP32[$10>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = 192 & $57; + $59 = ($58|0)==(128); + if (!($59)) { continue L13; } } } - $50 = HEAP32[$ze>>2]|0; - $51 = HEAP32[$zt>>2]|0; - $52 = $50; - $53 = $51; - $54 = (($52) - ($53))|0; - $55 = (($54) + 1)|0; - $56 = (_sqlite3_malloc($55)|0); - HEAP32[$rz>>2] = $56; - $57 = HEAP32[$rz>>2]|0; - $58 = ($57|0)!=(0|0); - if ($58) { - $60 = HEAP32[$rz>>2]|0; - $61 = HEAP32[$zt>>2]|0; - (_strcpy($60,$61)|0); - $62 = HEAP32[$0>>2]|0; - $63 = HEAP32[$rz>>2]|0; - _sqlite3_result_text($62,$63,-1,(-1)); - $64 = HEAP32[$rz>>2]|0; - _sqlite3_free($64); + $60 = HEAP32[$11>>2]|0; + $61 = HEAP32[$10>>2]|0; + $62 = $60; + $63 = $61; + $64 = (($62) - ($63))|0; + $65 = (($64) + 1)|0; + $66 = (_sqlite3_malloc($65)|0); + HEAP32[$12>>2] = $66; + $67 = HEAP32[$12>>2]|0; + $68 = ($67|0)!=(0|0); + if ($68) { + $70 = HEAP32[$12>>2]|0; + $71 = HEAP32[$10>>2]|0; + (_strcpy($70,$71)|0); + $72 = HEAP32[$3>>2]|0; + $73 = HEAP32[$12>>2]|0; + _sqlite3_result_text($72,$73,-1,(-1)); + $74 = HEAP32[$12>>2]|0; + _sqlite3_free($74); STACKTOP = sp;return; } else { - $59 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($59); + $69 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($69); STACKTOP = sp;return; } } } - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_null($14); + $24 = HEAP32[$3>>2]|0; + _sqlite3_result_null($24); STACKTOP = sp;return; } -function _reverseFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $l = 0, $rz = 0, $rzt = 0, $z = 0; - var $zt = 0, label = 0, sp = 0; +function _reverseFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $z = sp + 20|0; - $zt = sp + 16|0; - $rz = sp + 12|0; - $rzt = sp + 8|0; - $l = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$l>>2] = 0; - HEAP32[$i>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = (1)==($3|0); - if (!($4)) { - ___assert_fail((17476|0),(16734|0),1323,(17484|0)); + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + $12 = HEAP32[$4>>2]|0; + $13 = (1)==($12|0); + if (!($13)) { + ___assert_fail((19926|0),(19184|0),1323,(19934|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $8 = (5)==($7|0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - _sqlite3_result_null($9); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3_value_type($15)|0); + $17 = (5)==($16|0); + if ($17) { + $18 = HEAP32[$3>>2]|0; + _sqlite3_result_null($18); STACKTOP = sp;return; } - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_text($11)|0); - HEAP32[$z>>2] = $12; - $13 = HEAP32[$z>>2]|0; - $14 = (_strlen($13)|0); - HEAP32[$l>>2] = $14; - $15 = HEAP32[$l>>2]|0; - $16 = (($15) + 1)|0; - $17 = (_sqlite3_malloc($16)|0); - HEAP32[$rz>>2] = $17; - $18 = HEAP32[$rz>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - $20 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($20); + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3_value_text($20)|0); + HEAP32[$6>>2] = $21; + $22 = HEAP32[$6>>2]|0; + $23 = (_strlen($22)|0); + HEAP32[$10>>2] = $23; + $24 = HEAP32[$10>>2]|0; + $25 = (($24) + 1)|0; + $26 = (_sqlite3_malloc($25)|0); + HEAP32[$8>>2] = $26; + $27 = HEAP32[$8>>2]|0; + $28 = ($27|0)!=(0|0); + if (!($28)) { + $29 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($29); STACKTOP = sp;return; } - $21 = HEAP32[$rz>>2]|0; - $22 = HEAP32[$l>>2]|0; - $23 = (($21) + ($22)|0); - HEAP32[$rzt>>2] = $23; - $24 = HEAP32[$rzt>>2]|0; - $25 = ((($24)) + -1|0); - HEAP32[$rzt>>2] = $25; - HEAP8[$24>>0] = 0; - $26 = HEAP32[$z>>2]|0; - HEAP32[$zt>>2] = $26; + $30 = HEAP32[$8>>2]|0; + $31 = HEAP32[$10>>2]|0; + $32 = (($30) + ($31)|0); + HEAP32[$9>>2] = $32; + $33 = HEAP32[$9>>2]|0; + $34 = ((($33)) + -1|0); + HEAP32[$9>>2] = $34; + HEAP8[$33>>0] = 0; + $35 = HEAP32[$6>>2]|0; + HEAP32[$7>>2] = $35; L12: while(1) { - $27 = HEAP32[$zt>>2]|0; - $28 = (_sqlite3ReadUtf8($27)|0); - $29 = ($28|0)!=(0); - if (!($29)) { + $36 = HEAP32[$7>>2]|0; + $37 = (_sqlite3ReadUtf8($36)|0); + $38 = ($37|0)!=(0); + if (!($38)) { break; } - $30 = HEAP32[$zt>>2]|0; - HEAP32[$z>>2] = $30; + $39 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $39; while(1) { - $31 = HEAP32[$zt>>2]|0; - $32 = ((($31)) + 1|0); - HEAP32[$zt>>2] = $32; - $33 = HEAP8[$32>>0]|0; - $34 = $33 << 24 >> 24; - $35 = 192 & $34; - $36 = ($35|0)==(128); - if (!($36)) { + $40 = HEAP32[$7>>2]|0; + $41 = ((($40)) + 1|0); + HEAP32[$7>>2] = $41; + $42 = HEAP8[$41>>0]|0; + $43 = $42 << 24 >> 24; + $44 = 192 & $43; + $45 = ($44|0)==(128); + if (!($45)) { break; } } - HEAP32[$i>>2] = 1; + HEAP32[$11>>2] = 1; while(1) { - $37 = HEAP32[$zt>>2]|0; - $38 = HEAP32[$i>>2]|0; - $39 = (0 - ($38))|0; - $40 = (($37) + ($39)|0); - $41 = HEAP32[$z>>2]|0; - $42 = ($40>>>0)>=($41>>>0); - if (!($42)) { + $46 = HEAP32[$7>>2]|0; + $47 = HEAP32[$11>>2]|0; + $48 = (0 - ($47))|0; + $49 = (($46) + ($48)|0); + $50 = HEAP32[$6>>2]|0; + $51 = ($49>>>0)>=($50>>>0); + if (!($51)) { continue L12; } - $43 = HEAP32[$zt>>2]|0; - $44 = HEAP32[$i>>2]|0; - $45 = (0 - ($44))|0; - $46 = (($43) + ($45)|0); - $47 = HEAP8[$46>>0]|0; - $48 = HEAP32[$rzt>>2]|0; - $49 = ((($48)) + -1|0); - HEAP32[$rzt>>2] = $49; - HEAP8[$48>>0] = $47; - $50 = HEAP32[$i>>2]|0; - $51 = (($50) + 1)|0; - HEAP32[$i>>2] = $51; + $52 = HEAP32[$7>>2]|0; + $53 = HEAP32[$11>>2]|0; + $54 = (0 - ($53))|0; + $55 = (($52) + ($54)|0); + $56 = HEAP8[$55>>0]|0; + $57 = HEAP32[$9>>2]|0; + $58 = ((($57)) + -1|0); + HEAP32[$9>>2] = $58; + HEAP8[$57>>0] = $56; + $59 = HEAP32[$11>>2]|0; + $60 = (($59) + 1)|0; + HEAP32[$11>>2] = $60; } } - $52 = HEAP32[$0>>2]|0; - $53 = HEAP32[$rz>>2]|0; - _sqlite3_result_text($52,$53,-1,(-1)); - $54 = HEAP32[$rz>>2]|0; - _sqlite3_free($54); + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$8>>2]|0; + _sqlite3_result_text($61,$62,-1,(-1)); + $63 = HEAP32[$8>>2]|0; + _sqlite3_free($63); STACKTOP = sp;return; } -function _properFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $c = 0, $r = 0, $z = 0, $zo = 0, $zt = 0, label = 0, sp = 0; +function _properFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $z = sp + 12|0; - $zo = sp + 8|0; - $zt = sp + 4|0; - $r = sp + 28|0; - $c = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$c>>2] = 1; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),724,(17496|0)); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp + 28|0; + $10 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$10>>2] = 1; + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)==(1); + if (!($12)) { + ___assert_fail((19176|0),(19184|0),724,(19946|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $8 = (5)==($7|0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - _sqlite3_result_null($9); + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3_value_type($14)|0); + $16 = (5)==($15|0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + _sqlite3_result_null($17); STACKTOP = sp;return; } - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_text($11)|0); - HEAP32[$z>>2] = $12; - $13 = HEAP32[$z>>2]|0; - $14 = (_sqlite3StrDup($13)|0); - HEAP32[$zo>>2] = $14; - $15 = HEAP32[$zo>>2]|0; - $16 = ($15|0)!=(0|0); - if (!($16)) { - $17 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($17); + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_text($19)|0); + HEAP32[$6>>2] = $20; + $21 = HEAP32[$6>>2]|0; + $22 = (_sqlite3StrDup($21)|0); + HEAP32[$7>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { + $25 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($25); STACKTOP = sp;return; } - $18 = HEAP32[$zo>>2]|0; - HEAP32[$zt>>2] = $18; + $26 = HEAP32[$7>>2]|0; + HEAP32[$8>>2] = $26; while(1) { - $19 = HEAP32[$z>>2]|0; - $20 = ((($19)) + 1|0); - HEAP32[$z>>2] = $20; - $21 = HEAP8[$19>>0]|0; - HEAP8[$r>>0] = $21; - $22 = $21 << 24 >> 24; - $23 = ($22|0)!=(0); - if (!($23)) { + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 1|0); + HEAP32[$6>>2] = $28; + $29 = HEAP8[$27>>0]|0; + HEAP8[$9>>0] = $29; + $30 = $29 << 24 >> 24; + $31 = ($30|0)!=(0); + if (!($31)) { break; } - $24 = HEAP8[$r>>0]|0; - $25 = $24 << 24 >> 24; - $26 = (_isblank($25)|0); - $27 = ($26|0)!=(0); - if ($27) { - HEAP32[$c>>2] = 1; + $32 = HEAP8[$9>>0]|0; + $33 = $32 << 24 >> 24; + $34 = (_isblank($33)|0); + $35 = ($34|0)!=(0); + if ($35) { + HEAP32[$10>>2] = 1; } else { - $28 = HEAP32[$c>>2]|0; - $29 = ($28|0)==(1); - $30 = HEAP8[$r>>0]|0; - $31 = $30 << 24 >> 24; - if ($29) { - $32 = (_toupper($31)|0); - $33 = $32&255; - HEAP8[$r>>0] = $33; + $36 = HEAP32[$10>>2]|0; + $37 = ($36|0)==(1); + $38 = HEAP8[$9>>0]|0; + $39 = $38 << 24 >> 24; + if ($37) { + $40 = (_toupper($39)|0); + $41 = $40&255; + HEAP8[$9>>0] = $41; } else { - $34 = (_tolower($31)|0); - $35 = $34&255; - HEAP8[$r>>0] = $35; + $42 = (_tolower($39)|0); + $43 = $42&255; + HEAP8[$9>>0] = $43; } - HEAP32[$c>>2] = 0; + HEAP32[$10>>2] = 0; } - $36 = HEAP8[$r>>0]|0; - $37 = HEAP32[$zt>>2]|0; - $38 = ((($37)) + 1|0); - HEAP32[$zt>>2] = $38; - HEAP8[$37>>0] = $36; - } - $39 = HEAP32[$zt>>2]|0; - HEAP8[$39>>0] = 0; - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$zo>>2]|0; - _sqlite3_result_text($40,$41,-1,(-1)); - $42 = HEAP32[$zo>>2]|0; - _sqlite3_free($42); + $44 = HEAP8[$9>>0]|0; + $45 = HEAP32[$8>>2]|0; + $46 = ((($45)) + 1|0); + HEAP32[$8>>2] = $46; + HEAP8[$45>>0] = $44; + } + $47 = HEAP32[$8>>2]|0; + HEAP8[$47>>0] = 0; + $48 = HEAP32[$3>>2]|0; + $49 = HEAP32[$7>>2]|0; + _sqlite3_result_text($48,$49,-1,(-1)); + $50 = HEAP32[$7>>2]|0; + _sqlite3_free($50); STACKTOP = sp;return; } -function _padlFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $12 = 0; - var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $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, $i = 0, $ilen = 0, $zi = 0, $zl = 0, $zo = 0; - var $zt = 0, label = 0, sp = 0; +function _padlFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $ilen = sp + 8|0; - $zl = sp; - $i = sp + 28|0; - $zi = sp + 24|0; - $zo = sp + 20|0; - $zt = sp + 16|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$i>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(2); - if (!($4)) { - ___assert_fail((16785|0),(16734|0),771,(17507|0)); + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$8>>2] = 0; + $12 = HEAP32[$4>>2]|0; + $13 = ($12|0)==(2); + if (!($13)) { + ___assert_fail((19235|0),(19184|0),771,(19957|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $8 = ($7|0)==(5); - if ($8) { - $9 = HEAP32[$0>>2]|0; - _sqlite3_result_null($9); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3_value_type($15)|0); + $17 = ($16|0)==(5); + if ($17) { + $18 = HEAP32[$3>>2]|0; + _sqlite3_result_null($18); STACKTOP = sp;return; } - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_text($11)|0); - HEAP32[$zi>>2] = $12; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3_value_int64($15)|0); - $17 = tempRet0; - $18 = $ilen; - $19 = $18; - HEAP32[$19>>2] = $16; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = $ilen; - $23 = $22; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3_value_text($20)|0); + HEAP32[$9>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)<(0); - if ($28) { - $29 = HEAP32[$0>>2]|0; - _sqlite3_result_error($29,17412,-1); + $25 = (_sqlite3_value_int64($24)|0); + $26 = tempRet0; + $27 = $6; + $28 = $27; + HEAP32[$28>>2] = $25; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $26; + $31 = $6; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)<(0); + if ($37) { + $38 = HEAP32[$3>>2]|0; + _sqlite3_result_error($38,19862,-1); STACKTOP = sp;return; } - $30 = HEAP32[$zi>>2]|0; - $31 = (_sqlite3Utf8CharLen($30,-1)|0); - $32 = ($31|0)<(0); - $33 = $32 << 31 >> 31; - $34 = $zl; - $35 = $34; - HEAP32[$35>>2] = $31; - $36 = (($34) + 4)|0; - $37 = $36; - HEAP32[$37>>2] = $33; - $38 = $zl; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = $ilen; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; + $39 = HEAP32[$9>>2]|0; + $40 = (_sqlite3Utf8CharLen($39,-1)|0); + $41 = ($40|0)<(0); + $42 = $41 << 31 >> 31; + $43 = $7; + $44 = $43; + HEAP32[$44>>2] = $40; + $45 = (($43) + 4)|0; + $46 = $45; + HEAP32[$46>>2] = $42; + $47 = $7; $48 = $47; $49 = HEAP32[$48>>2]|0; - $50 = ($43|0)>($49|0); - $51 = ($40>>>0)>=($46>>>0); - $52 = ($43|0)==($49|0); - $53 = $52 & $51; - $54 = $50 | $53; - $55 = HEAP32[$zi>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = $6; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = ($52|0)>($58|0); + $60 = ($49>>>0)>=($55>>>0); + $61 = ($52|0)==($58|0); + $62 = $61 & $60; + $63 = $59 | $62; + $64 = HEAP32[$9>>2]|0; do { - if ($54) { - $56 = (_sqlite3StrDup($55)|0); - HEAP32[$zo>>2] = $56; - $57 = HEAP32[$zo>>2]|0; - $58 = ($57|0)!=(0|0); - $59 = HEAP32[$0>>2]|0; - if ($58) { - $60 = HEAP32[$zo>>2]|0; - _sqlite3_result_text($59,$60,-1,(-1)); + if ($63) { + $65 = (_sqlite3StrDup($64)|0); + HEAP32[$10>>2] = $65; + $66 = HEAP32[$10>>2]|0; + $67 = ($66|0)!=(0|0); + $68 = HEAP32[$3>>2]|0; + if ($67) { + $69 = HEAP32[$10>>2]|0; + _sqlite3_result_text($68,$69,-1,(-1)); break; } - _sqlite3_result_error_nomem($59); + _sqlite3_result_error_nomem($68); STACKTOP = sp;return; } else { - $61 = (_strlen($55)|0); - $62 = $ilen; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (_i64Add(($61|0),0,($64|0),($67|0))|0); - $69 = tempRet0; - $70 = $zl; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (_i64Subtract(($68|0),($69|0),($72|0),($75|0))|0); - $77 = tempRet0; - $78 = (_i64Add(($76|0),($77|0),1,0)|0); - $79 = tempRet0; - $80 = (_sqlite3_malloc($78)|0); - HEAP32[$zo>>2] = $80; - $81 = HEAP32[$zo>>2]|0; - $82 = ($81|0)!=(0|0); - if (!($82)) { - $83 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($83); + $70 = (_strlen($64)|0); + $71 = $6; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (_i64Add(($70|0),0,($73|0),($76|0))|0); + $78 = tempRet0; + $79 = $7; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = (($79) + 4)|0; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (_i64Subtract(($77|0),($78|0),($81|0),($84|0))|0); + $86 = tempRet0; + $87 = (_i64Add(($85|0),($86|0),1,0)|0); + $88 = tempRet0; + $89 = (_sqlite3_malloc($87)|0); + HEAP32[$10>>2] = $89; + $90 = HEAP32[$10>>2]|0; + $91 = ($90|0)!=(0|0); + if (!($91)) { + $92 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($92); STACKTOP = sp;return; } - $84 = HEAP32[$zo>>2]|0; - HEAP32[$zt>>2] = $84; - HEAP32[$i>>2] = 1; + $93 = HEAP32[$10>>2]|0; + HEAP32[$11>>2] = $93; + HEAP32[$8>>2] = 1; while(1) { - $85 = HEAP32[$i>>2]|0; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $zl; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (_i64Add(($85|0),($87|0),($90|0),($93|0))|0); - $95 = tempRet0; - $96 = $ilen; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (($96) + 4)|0; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = ($95|0)<($101|0); - $103 = ($94>>>0)<=($98>>>0); - $104 = ($95|0)==($101|0); - $105 = $104 & $103; - $106 = $102 | $105; - $107 = HEAP32[$zt>>2]|0; - if (!($106)) { + $94 = HEAP32[$8>>2]|0; + $95 = ($94|0)<(0); + $96 = $95 << 31 >> 31; + $97 = $7; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (_i64Add(($94|0),($96|0),($99|0),($102|0))|0); + $104 = tempRet0; + $105 = $6; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = ($104|0)<($110|0); + $112 = ($103>>>0)<=($107>>>0); + $113 = ($104|0)==($110|0); + $114 = $113 & $112; + $115 = $111 | $114; + $116 = HEAP32[$11>>2]|0; + if (!($115)) { break; } - $108 = ((($107)) + 1|0); - HEAP32[$zt>>2] = $108; - HEAP8[$107>>0] = 32; - $109 = HEAP32[$i>>2]|0; - $110 = (($109) + 1)|0; - HEAP32[$i>>2] = $110; + $117 = ((($116)) + 1|0); + HEAP32[$11>>2] = $117; + HEAP8[$116>>0] = 32; + $118 = HEAP32[$8>>2]|0; + $119 = (($118) + 1)|0; + HEAP32[$8>>2] = $119; } - $111 = HEAP32[$zi>>2]|0; - (_strcpy($107,$111)|0); + $120 = HEAP32[$9>>2]|0; + (_strcpy($116,$120)|0); } } while(0); - $112 = HEAP32[$0>>2]|0; - $113 = HEAP32[$zo>>2]|0; - _sqlite3_result_text($112,$113,-1,(-1)); - $114 = HEAP32[$zo>>2]|0; - _sqlite3_free($114); + $121 = HEAP32[$3>>2]|0; + $122 = HEAP32[$10>>2]|0; + _sqlite3_result_text($121,$122,-1,(-1)); + $123 = HEAP32[$10>>2]|0; + _sqlite3_free($123); STACKTOP = sp;return; } -function _padrFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0; - var $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, $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, $i = 0, $ilen = 0, $zi = 0, $zl = 0, $zll = 0, $zo = 0, $zt = 0; +function _padrFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $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 label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $ilen = sp + 16|0; - $zl = sp + 8|0; - $zll = sp; - $i = sp + 36|0; - $zi = sp + 32|0; - $zo = sp + 28|0; - $zt = sp + 24|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$i>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(2); - if (!($4)) { - ___assert_fail((16785|0),(16734|0),825,(17544|0)); + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$9>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(2); + if (!($14)) { + ___assert_fail((19235|0),(19184|0),825,(19994|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $8 = ($7|0)==(5); - if ($8) { - $9 = HEAP32[$0>>2]|0; - _sqlite3_result_null($9); + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_type($16)|0); + $18 = ($17|0)==(5); + if ($18) { + $19 = HEAP32[$3>>2]|0; + _sqlite3_result_null($19); STACKTOP = sp;return; } - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_text($11)|0); - HEAP32[$zi>>2] = $12; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3_value_int64($15)|0); - $17 = tempRet0; - $18 = $ilen; - $19 = $18; - HEAP32[$19>>2] = $16; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = $ilen; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)<(0); - if ($28) { - $29 = HEAP32[$0>>2]|0; - _sqlite3_result_error($29,17412,-1); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = (_sqlite3_value_text($21)|0); + HEAP32[$10>>2] = $22; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3_value_int64($25)|0); + $27 = tempRet0; + $28 = $6; + $29 = $28; + HEAP32[$29>>2] = $26; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = $27; + $32 = $6; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)<(0); + if ($38) { + $39 = HEAP32[$3>>2]|0; + _sqlite3_result_error($39,19862,-1); STACKTOP = sp;return; } - $30 = HEAP32[$zi>>2]|0; - $31 = (_sqlite3Utf8CharLen($30,-1)|0); - $32 = ($31|0)<(0); - $33 = $32 << 31 >> 31; - $34 = $zl; - $35 = $34; - HEAP32[$35>>2] = $31; - $36 = (($34) + 4)|0; - $37 = $36; - HEAP32[$37>>2] = $33; - $38 = $zl; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = $ilen; + $40 = HEAP32[$10>>2]|0; + $41 = (_sqlite3Utf8CharLen($40,-1)|0); + $42 = ($41|0)<(0); + $43 = $42 << 31 >> 31; + $44 = $7; $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = ($43|0)>($49|0); - $51 = ($40>>>0)>=($46>>>0); - $52 = ($43|0)==($49|0); - $53 = $52 & $51; - $54 = $50 | $53; - $55 = HEAP32[$zi>>2]|0; + HEAP32[$45>>2] = $41; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + $48 = $7; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = $6; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = ($53|0)>($59|0); + $61 = ($50>>>0)>=($56>>>0); + $62 = ($53|0)==($59|0); + $63 = $62 & $61; + $64 = $60 | $63; + $65 = HEAP32[$10>>2]|0; do { - if ($54) { - $56 = (_sqlite3StrDup($55)|0); - HEAP32[$zo>>2] = $56; - $57 = HEAP32[$zo>>2]|0; - $58 = ($57|0)!=(0|0); - $59 = HEAP32[$0>>2]|0; - if ($58) { - $60 = HEAP32[$zo>>2]|0; - _sqlite3_result_text($59,$60,-1,(-1)); + if ($64) { + $66 = (_sqlite3StrDup($65)|0); + HEAP32[$11>>2] = $66; + $67 = HEAP32[$11>>2]|0; + $68 = ($67|0)!=(0|0); + $69 = HEAP32[$3>>2]|0; + if ($68) { + $70 = HEAP32[$11>>2]|0; + _sqlite3_result_text($69,$70,-1,(-1)); break; } - _sqlite3_result_error_nomem($59); + _sqlite3_result_error_nomem($69); STACKTOP = sp;return; } else { - $61 = (_strlen($55)|0); - $62 = $zll; - $63 = $62; - HEAP32[$63>>2] = $61; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = 0; - $66 = $zll; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = (($66) + 4)|0; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = $ilen; + $71 = (_strlen($65)|0); + $72 = $8; $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (_i64Add(($68|0),($71|0),($74|0),($77|0))|0); - $79 = tempRet0; - $80 = $zl; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = (($80) + 4)|0; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = (_i64Subtract(($78|0),($79|0),($82|0),($85|0))|0); - $87 = tempRet0; - $88 = (_i64Add(($86|0),($87|0),1,0)|0); + HEAP32[$73>>2] = $71; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = 0; + $76 = $8; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $6; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (_i64Add(($78|0),($81|0),($84|0),($87|0))|0); $89 = tempRet0; - $90 = (_sqlite3_malloc($88)|0); - HEAP32[$zo>>2] = $90; - $91 = HEAP32[$zo>>2]|0; - $92 = ($91|0)!=(0|0); - if (!($92)) { - $93 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($93); + $90 = $7; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = (($90) + 4)|0; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (_i64Subtract(($88|0),($89|0),($92|0),($95|0))|0); + $97 = tempRet0; + $98 = (_i64Add(($96|0),($97|0),1,0)|0); + $99 = tempRet0; + $100 = (_sqlite3_malloc($98)|0); + HEAP32[$11>>2] = $100; + $101 = HEAP32[$11>>2]|0; + $102 = ($101|0)!=(0|0); + if (!($102)) { + $103 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($103); STACKTOP = sp;return; } - $94 = HEAP32[$zo>>2]|0; - $95 = HEAP32[$zi>>2]|0; - $96 = (_strcpy($94,$95)|0); - $97 = $zll; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = (($97) + 4)|0; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($96) + ($99)|0); - HEAP32[$zt>>2] = $103; - HEAP32[$i>>2] = 1; + $104 = HEAP32[$11>>2]|0; + $105 = HEAP32[$10>>2]|0; + $106 = (_strcpy($104,$105)|0); + $107 = $8; + $108 = $107; + $109 = HEAP32[$108>>2]|0; + $110 = (($107) + 4)|0; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($104) + ($109)|0); + HEAP32[$12>>2] = $113; + HEAP32[$9>>2] = 1; while(1) { - $104 = HEAP32[$i>>2]|0; - $105 = ($104|0)<(0); - $106 = $105 << 31 >> 31; - $107 = $zl; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (($107) + 4)|0; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (_i64Add(($104|0),($106|0),($109|0),($112|0))|0); - $114 = tempRet0; - $115 = $ilen; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = (($115) + 4)|0; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = ($114|0)<($120|0); - $122 = ($113>>>0)<=($117>>>0); - $123 = ($114|0)==($120|0); - $124 = $123 & $122; - $125 = $121 | $124; - $126 = HEAP32[$zt>>2]|0; - if (!($125)) { + $114 = HEAP32[$9>>2]|0; + $115 = ($114|0)<(0); + $116 = $115 << 31 >> 31; + $117 = $7; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (_i64Add(($114|0),($116|0),($119|0),($122|0))|0); + $124 = tempRet0; + $125 = $6; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = (($125) + 4)|0; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = ($124|0)<($130|0); + $132 = ($123>>>0)<=($127>>>0); + $133 = ($124|0)==($130|0); + $134 = $133 & $132; + $135 = $131 | $134; + $136 = HEAP32[$12>>2]|0; + if (!($135)) { break; } - $127 = ((($126)) + 1|0); - HEAP32[$zt>>2] = $127; - HEAP8[$126>>0] = 32; - $128 = HEAP32[$i>>2]|0; - $129 = (($128) + 1)|0; - HEAP32[$i>>2] = $129; + $137 = ((($136)) + 1|0); + HEAP32[$12>>2] = $137; + HEAP8[$136>>0] = 32; + $138 = HEAP32[$9>>2]|0; + $139 = (($138) + 1)|0; + HEAP32[$9>>2] = $139; } - HEAP8[$126>>0] = 0; + HEAP8[$136>>0] = 0; } } while(0); - $130 = HEAP32[$0>>2]|0; - $131 = HEAP32[$zo>>2]|0; - _sqlite3_result_text($130,$131,-1,(-1)); - $132 = HEAP32[$zo>>2]|0; - _sqlite3_free($132); + $140 = HEAP32[$3>>2]|0; + $141 = HEAP32[$11>>2]|0; + _sqlite3_result_text($140,$141,-1,(-1)); + $142 = HEAP32[$11>>2]|0; + _sqlite3_free($142); STACKTOP = sp;return; } -function _padcFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 $i = 0, $ilen = 0, $zi = 0, $zl = 0, $zll = 0, $zo = 0, $zt = 0, label = 0, sp = 0; +function _padcFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $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, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $ilen = sp + 16|0; - $zl = sp + 8|0; - $zll = sp; - $i = sp + 36|0; - $zi = sp + 32|0; - $zo = sp + 28|0; - $zt = sp + 24|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$i>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(2); - if (!($4)) { - ___assert_fail((16785|0),(16734|0),880,(17553|0)); + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$9>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(2); + if (!($14)) { + ___assert_fail((19235|0),(19184|0),880,(20003|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $8 = ($7|0)==(5); - if ($8) { - $9 = HEAP32[$0>>2]|0; - _sqlite3_result_null($9); + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_type($16)|0); + $18 = ($17|0)==(5); + if ($18) { + $19 = HEAP32[$3>>2]|0; + _sqlite3_result_null($19); STACKTOP = sp;return; } - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_text($11)|0); - HEAP32[$zi>>2] = $12; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3_value_int64($15)|0); - $17 = tempRet0; - $18 = $ilen; - $19 = $18; - HEAP32[$19>>2] = $16; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = $ilen; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)<(0); - if ($28) { - $29 = HEAP32[$0>>2]|0; - _sqlite3_result_error($29,17412,-1); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = (_sqlite3_value_text($21)|0); + HEAP32[$10>>2] = $22; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3_value_int64($25)|0); + $27 = tempRet0; + $28 = $6; + $29 = $28; + HEAP32[$29>>2] = $26; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = $27; + $32 = $6; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)<(0); + if ($38) { + $39 = HEAP32[$3>>2]|0; + _sqlite3_result_error($39,19862,-1); STACKTOP = sp;return; } - $30 = HEAP32[$zi>>2]|0; - $31 = (_sqlite3Utf8CharLen($30,-1)|0); - $32 = ($31|0)<(0); - $33 = $32 << 31 >> 31; - $34 = $zl; - $35 = $34; - HEAP32[$35>>2] = $31; - $36 = (($34) + 4)|0; - $37 = $36; - HEAP32[$37>>2] = $33; - $38 = $zl; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = $ilen; + $40 = HEAP32[$10>>2]|0; + $41 = (_sqlite3Utf8CharLen($40,-1)|0); + $42 = ($41|0)<(0); + $43 = $42 << 31 >> 31; + $44 = $7; $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = ($43|0)>($49|0); - $51 = ($40>>>0)>=($46>>>0); - $52 = ($43|0)==($49|0); - $53 = $52 & $51; - $54 = $50 | $53; - $55 = HEAP32[$zi>>2]|0; + HEAP32[$45>>2] = $41; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + $48 = $7; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = $6; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = ($53|0)>($59|0); + $61 = ($50>>>0)>=($56>>>0); + $62 = ($53|0)==($59|0); + $63 = $62 & $61; + $64 = $60 | $63; + $65 = HEAP32[$10>>2]|0; do { - if ($54) { - $56 = (_sqlite3StrDup($55)|0); - HEAP32[$zo>>2] = $56; - $57 = HEAP32[$zo>>2]|0; - $58 = ($57|0)!=(0|0); - $59 = HEAP32[$0>>2]|0; - if ($58) { - $60 = HEAP32[$zo>>2]|0; - _sqlite3_result_text($59,$60,-1,(-1)); + if ($64) { + $66 = (_sqlite3StrDup($65)|0); + HEAP32[$11>>2] = $66; + $67 = HEAP32[$11>>2]|0; + $68 = ($67|0)!=(0|0); + $69 = HEAP32[$3>>2]|0; + if ($68) { + $70 = HEAP32[$11>>2]|0; + _sqlite3_result_text($69,$70,-1,(-1)); break; } - _sqlite3_result_error_nomem($59); + _sqlite3_result_error_nomem($69); STACKTOP = sp;return; } else { - $61 = (_strlen($55)|0); - $62 = $zll; - $63 = $62; - HEAP32[$63>>2] = $61; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = 0; - $66 = $zll; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = (($66) + 4)|0; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = $ilen; + $71 = (_strlen($65)|0); + $72 = $8; $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (_i64Add(($68|0),($71|0),($74|0),($77|0))|0); - $79 = tempRet0; - $80 = $zl; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = (($80) + 4)|0; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = (_i64Subtract(($78|0),($79|0),($82|0),($85|0))|0); - $87 = tempRet0; - $88 = (_i64Add(($86|0),($87|0),1,0)|0); + HEAP32[$73>>2] = $71; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = 0; + $76 = $8; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $6; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (_i64Add(($78|0),($81|0),($84|0),($87|0))|0); $89 = tempRet0; - $90 = (_sqlite3_malloc($88)|0); - HEAP32[$zo>>2] = $90; - $91 = HEAP32[$zo>>2]|0; - $92 = ($91|0)!=(0|0); - if (!($92)) { - $93 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($93); + $90 = $7; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = (($90) + 4)|0; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (_i64Subtract(($88|0),($89|0),($92|0),($95|0))|0); + $97 = tempRet0; + $98 = (_i64Add(($96|0),($97|0),1,0)|0); + $99 = tempRet0; + $100 = (_sqlite3_malloc($98)|0); + HEAP32[$11>>2] = $100; + $101 = HEAP32[$11>>2]|0; + $102 = ($101|0)!=(0|0); + if (!($102)) { + $103 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($103); STACKTOP = sp;return; } - $94 = HEAP32[$zo>>2]|0; - HEAP32[$zt>>2] = $94; - HEAP32[$i>>2] = 1; + $104 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $104; + HEAP32[$9>>2] = 1; while(1) { - $95 = HEAP32[$i>>2]|0; - $96 = $95<<1; - $97 = ($96|0)<(0); - $98 = $97 << 31 >> 31; - $99 = $zl; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = (($99) + 4)|0; - $103 = $102; - $104 = HEAP32[$103>>2]|0; - $105 = (_i64Add(($96|0),($98|0),($101|0),($104|0))|0); - $106 = tempRet0; - $107 = $ilen; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (($107) + 4)|0; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = ($106|0)<($112|0); - $114 = ($105>>>0)<=($109>>>0); - $115 = ($106|0)==($112|0); - $116 = $115 & $114; - $117 = $113 | $116; - $118 = HEAP32[$zt>>2]|0; - if (!($117)) { + $105 = HEAP32[$9>>2]|0; + $106 = $105<<1; + $107 = ($106|0)<(0); + $108 = $107 << 31 >> 31; + $109 = $7; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = (_i64Add(($106|0),($108|0),($111|0),($114|0))|0); + $116 = tempRet0; + $117 = $6; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = ($116|0)<($122|0); + $124 = ($115>>>0)<=($119>>>0); + $125 = ($116|0)==($122|0); + $126 = $125 & $124; + $127 = $123 | $126; + $128 = HEAP32[$12>>2]|0; + if (!($127)) { break; } - $119 = ((($118)) + 1|0); - HEAP32[$zt>>2] = $119; - HEAP8[$118>>0] = 32; - $120 = HEAP32[$i>>2]|0; - $121 = (($120) + 1)|0; - HEAP32[$i>>2] = $121; + $129 = ((($128)) + 1|0); + HEAP32[$12>>2] = $129; + HEAP8[$128>>0] = 32; + $130 = HEAP32[$9>>2]|0; + $131 = (($130) + 1)|0; + HEAP32[$9>>2] = $131; } - $122 = HEAP32[$zi>>2]|0; - (_strcpy($118,$122)|0); - $123 = $zll; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = (($123) + 4)|0; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = HEAP32[$zt>>2]|0; - $130 = (($129) + ($125)|0); - HEAP32[$zt>>2] = $130; + $132 = HEAP32[$10>>2]|0; + (_strcpy($128,$132)|0); + $133 = $8; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (($133) + 4)|0; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$12>>2]|0; + $140 = (($139) + ($135)|0); + HEAP32[$12>>2] = $140; while(1) { - $131 = HEAP32[$i>>2]|0; - $132 = ($131|0)<(0); - $133 = $132 << 31 >> 31; - $134 = $zl; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = (($134) + 4)|0; - $138 = $137; - $139 = HEAP32[$138>>2]|0; - $140 = (_i64Add(($131|0),($133|0),($136|0),($139|0))|0); - $141 = tempRet0; - $142 = $ilen; - $143 = $142; - $144 = HEAP32[$143>>2]|0; - $145 = (($142) + 4)|0; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = ($141|0)<($147|0); - $149 = ($140>>>0)<=($144>>>0); - $150 = ($141|0)==($147|0); - $151 = $150 & $149; - $152 = $148 | $151; - $153 = HEAP32[$zt>>2]|0; - if (!($152)) { + $141 = HEAP32[$9>>2]|0; + $142 = ($141|0)<(0); + $143 = $142 << 31 >> 31; + $144 = $7; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = (_i64Add(($141|0),($143|0),($146|0),($149|0))|0); + $151 = tempRet0; + $152 = $6; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = ($151|0)<($157|0); + $159 = ($150>>>0)<=($154>>>0); + $160 = ($151|0)==($157|0); + $161 = $160 & $159; + $162 = $158 | $161; + $163 = HEAP32[$12>>2]|0; + if (!($162)) { break; } - $154 = ((($153)) + 1|0); - HEAP32[$zt>>2] = $154; - HEAP8[$153>>0] = 32; - $155 = HEAP32[$i>>2]|0; - $156 = (($155) + 1)|0; - HEAP32[$i>>2] = $156; + $164 = ((($163)) + 1|0); + HEAP32[$12>>2] = $164; + HEAP8[$163>>0] = 32; + $165 = HEAP32[$9>>2]|0; + $166 = (($165) + 1)|0; + HEAP32[$9>>2] = $166; } - HEAP8[$153>>0] = 0; + HEAP8[$163>>0] = 0; } } while(0); - $157 = HEAP32[$0>>2]|0; - $158 = HEAP32[$zo>>2]|0; - _sqlite3_result_text($157,$158,-1,(-1)); - $159 = HEAP32[$zo>>2]|0; - _sqlite3_free($159); + $167 = HEAP32[$3>>2]|0; + $168 = HEAP32[$11>>2]|0; + _sqlite3_result_text($167,$168,-1,(-1)); + $169 = HEAP32[$11>>2]|0; + _sqlite3_free($169); STACKTOP = sp;return; } -function _strfilterFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0; - var $c1 = 0, $c2 = 0, $z1 = 0, $z21 = 0, $z22 = 0, $zi1 = 0, $zi2 = 0, $zo = 0, $zot = 0, label = 0, sp = 0; +function _strfilterFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $zi1 = sp + 32|0; - $zi2 = sp + 28|0; - $z1 = sp + 24|0; - $z21 = sp + 20|0; - $z22 = sp + 16|0; - $zo = sp + 12|0; - $zot = sp + 8|0; - $c1 = sp + 4|0; - $c2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$c1>>2] = 0; - HEAP32[$c2>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(2); - if (!($4)) { - ___assert_fail((16785|0),(16734|0),939,(17562|0)); + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + $15 = HEAP32[$4>>2]|0; + $16 = ($15|0)==(2); + if (!($16)) { + ___assert_fail((19235|0),(19184|0),939,(20012|0)); // unreachable; } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_type($6)|0); - $8 = ($7|0)==(5); - if (!($8)) { - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_type($11)|0); - $13 = ($12|0)==(5); - if (!($13)) { - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3_value_text($16)|0); - HEAP32[$zi1>>2] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3_value_text($20)|0); - HEAP32[$zi2>>2] = $21; - $22 = HEAP32[$zi1>>2]|0; - $23 = (_strlen($22)|0); - $24 = (($23) + 1)|0; - $25 = (_sqlite3_malloc($24)|0); - HEAP32[$zo>>2] = $25; - $26 = HEAP32[$zo>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - $28 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($28); + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3_value_type($18)|0); + $20 = ($19|0)==(5); + if (!($20)) { + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3_value_type($23)|0); + $25 = ($24|0)==(5); + if (!($25)) { + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3_value_text($28)|0); + HEAP32[$6>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (_sqlite3_value_text($32)|0); + HEAP32[$7>>2] = $33; + $34 = HEAP32[$6>>2]|0; + $35 = (_strlen($34)|0); + $36 = (($35) + 1)|0; + $37 = (_sqlite3_malloc($36)|0); + HEAP32[$11>>2] = $37; + $38 = HEAP32[$11>>2]|0; + $39 = ($38|0)!=(0|0); + if (!($39)) { + $40 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($40); STACKTOP = sp;return; } - $29 = HEAP32[$zo>>2]|0; - HEAP32[$zot>>2] = $29; - $30 = HEAP32[$zi1>>2]|0; - HEAP32[$z1>>2] = $30; + $41 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $41; + $42 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $42; L11: while(1) { - $31 = HEAP32[$z1>>2]|0; - $32 = (_sqlite3ReadUtf8($31)|0); - HEAP32[$c1>>2] = $32; - $33 = ($32|0)!=(0); - if (!($33)) { + $43 = HEAP32[$8>>2]|0; + $44 = (_sqlite3ReadUtf8($43)|0); + HEAP32[$13>>2] = $44; + $45 = ($44|0)!=(0); + if (!($45)) { break; } - $34 = HEAP32[$zi2>>2]|0; - HEAP32[$z21>>2] = $34; + $46 = HEAP32[$7>>2]|0; + HEAP32[$9>>2] = $46; L14: while(1) { - $35 = HEAP32[$z21>>2]|0; - $36 = (_sqlite3ReadUtf8($35)|0); - HEAP32[$c2>>2] = $36; - $37 = ($36|0)!=(0); - if (!($37)) { + $47 = HEAP32[$9>>2]|0; + $48 = (_sqlite3ReadUtf8($47)|0); + HEAP32[$14>>2] = $48; + $49 = ($48|0)!=(0); + if (!($49)) { break; } - $38 = HEAP32[$c2>>2]|0; - $39 = HEAP32[$c1>>2]|0; - $40 = ($38|0)!=($39|0); - if (!($40)) { + $50 = HEAP32[$14>>2]|0; + $51 = HEAP32[$13>>2]|0; + $52 = ($50|0)!=($51|0); + if (!($52)) { break; } while(1) { - $41 = HEAP32[$z21>>2]|0; - $42 = ((($41)) + 1|0); - HEAP32[$z21>>2] = $42; - $43 = HEAP8[$42>>0]|0; - $44 = $43 << 24 >> 24; - $45 = 192 & $44; - $46 = ($45|0)==(128); - if (!($46)) { + $53 = HEAP32[$9>>2]|0; + $54 = ((($53)) + 1|0); + HEAP32[$9>>2] = $54; + $55 = HEAP8[$54>>0]|0; + $56 = $55 << 24 >> 24; + $57 = 192 & $56; + $58 = ($57|0)==(128); + if (!($58)) { continue L14; } } } - $47 = HEAP32[$c2>>2]|0; - $48 = ($47|0)!=(0); - if ($48) { - $49 = HEAP32[$z21>>2]|0; - HEAP32[$z22>>2] = $49; + $59 = HEAP32[$14>>2]|0; + $60 = ($59|0)!=(0); + if ($60) { + $61 = HEAP32[$9>>2]|0; + HEAP32[$10>>2] = $61; while(1) { - $50 = HEAP32[$z22>>2]|0; - $51 = ((($50)) + 1|0); - HEAP32[$z22>>2] = $51; - $52 = HEAP8[$51>>0]|0; - $53 = $52 << 24 >> 24; - $54 = 192 & $53; - $55 = ($54|0)==(128); - if (!($55)) { + $62 = HEAP32[$10>>2]|0; + $63 = ((($62)) + 1|0); + HEAP32[$10>>2] = $63; + $64 = HEAP8[$63>>0]|0; + $65 = $64 << 24 >> 24; + $66 = 192 & $65; + $67 = ($66|0)==(128); + if (!($67)) { break; } } - $56 = HEAP32[$zot>>2]|0; - $57 = HEAP32[$z21>>2]|0; - $58 = HEAP32[$z22>>2]|0; - $59 = HEAP32[$z21>>2]|0; - $60 = $58; - $61 = $59; - $62 = (($60) - ($61))|0; - (_strncpy($56,$57,$62)|0); - $63 = HEAP32[$z22>>2]|0; - $64 = HEAP32[$z21>>2]|0; - $65 = $63; - $66 = $64; - $67 = (($65) - ($66))|0; - $68 = HEAP32[$zot>>2]|0; - $69 = (($68) + ($67)|0); - HEAP32[$zot>>2] = $69; + $68 = HEAP32[$12>>2]|0; + $69 = HEAP32[$9>>2]|0; + $70 = HEAP32[$10>>2]|0; + $71 = HEAP32[$9>>2]|0; + $72 = $70; + $73 = $71; + $74 = (($72) - ($73))|0; + (_strncpy($68,$69,$74)|0); + $75 = HEAP32[$10>>2]|0; + $76 = HEAP32[$9>>2]|0; + $77 = $75; + $78 = $76; + $79 = (($77) - ($78))|0; + $80 = HEAP32[$12>>2]|0; + $81 = (($80) + ($79)|0); + HEAP32[$12>>2] = $81; } while(1) { - $70 = HEAP32[$z1>>2]|0; - $71 = ((($70)) + 1|0); - HEAP32[$z1>>2] = $71; - $72 = HEAP8[$71>>0]|0; - $73 = $72 << 24 >> 24; - $74 = 192 & $73; - $75 = ($74|0)==(128); - if (!($75)) { + $82 = HEAP32[$8>>2]|0; + $83 = ((($82)) + 1|0); + HEAP32[$8>>2] = $83; + $84 = HEAP8[$83>>0]|0; + $85 = $84 << 24 >> 24; + $86 = 192 & $85; + $87 = ($86|0)==(128); + if (!($87)) { continue L11; } } } - $76 = HEAP32[$zot>>2]|0; - HEAP8[$76>>0] = 0; - $77 = HEAP32[$0>>2]|0; - $78 = HEAP32[$zo>>2]|0; - _sqlite3_result_text($77,$78,-1,(-1)); - $79 = HEAP32[$zo>>2]|0; - _sqlite3_free($79); + $88 = HEAP32[$12>>2]|0; + HEAP8[$88>>0] = 0; + $89 = HEAP32[$3>>2]|0; + $90 = HEAP32[$11>>2]|0; + _sqlite3_result_text($89,$90,-1,(-1)); + $91 = HEAP32[$11>>2]|0; + _sqlite3_free($91); STACKTOP = sp;return; } } - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_null($14); + $26 = HEAP32[$3>>2]|0; + _sqlite3_result_null($26); STACKTOP = sp;return; } -function _varianceStep($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $delta = 0, $p = 0, $x = 0, label = 0; +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, $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.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0; + var $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $p = sp + 16|0; - $delta = sp + 8|0; - $x = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(1); - if (!($4)) { - ___assert_fail((16726|0),(16734|0),1395,(17576|0)); + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)==(1); + if (!($10)) { + ___assert_fail((19176|0),(19184|0),1395,(20026|0)); // unreachable; } - $5 = HEAP32[$0>>2]|0; - $6 = (_sqlite3_aggregate_context($5,24)|0); - HEAP32[$p>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_numeric_type($8)|0); - $10 = (5)!=($9|0); - if (!($10)) { + $11 = HEAP32[$3>>2]|0; + $12 = (_sqlite3_aggregate_context($11,24)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3_value_numeric_type($14)|0); + $16 = (5)!=($15|0); + if (!($16)) { STACKTOP = sp;return; } - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 16|0); - $13 = $12; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (_i64Add(($15|0),($18|0),1,0)|0); - $20 = tempRet0; - $21 = $12; - $22 = $21; - HEAP32[$22>>2] = $19; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = (+_sqlite3_value_double($26)); - HEAPF64[$x>>3] = $27; - $28 = +HEAPF64[$x>>3]; - $29 = HEAP32[$p>>2]|0; - $30 = +HEAPF64[$29>>3]; - $31 = $28 - $30; - HEAPF64[$delta>>3] = $31; - $32 = +HEAPF64[$delta>>3]; - $33 = HEAP32[$p>>2]|0; - $34 = ((($33)) + 16|0); - $35 = $34; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (+($37>>>0)) + (4294967296.0*(+($40|0))); - $42 = $32 / $41; - $43 = HEAP32[$p>>2]|0; - $44 = +HEAPF64[$43>>3]; - $45 = $44 + $42; - HEAPF64[$43>>3] = $45; - $46 = +HEAPF64[$delta>>3]; - $47 = +HEAPF64[$x>>3]; - $48 = HEAP32[$p>>2]|0; - $49 = +HEAPF64[$48>>3]; - $50 = $47 - $49; - $51 = $46 * $50; - $52 = HEAP32[$p>>2]|0; - $53 = ((($52)) + 8|0); - $54 = +HEAPF64[$53>>3]; - $55 = $54 + $51; - HEAPF64[$53>>3] = $55; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 16|0); + $19 = $18; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (_i64Add(($21|0),($24|0),1,0)|0); + $26 = tempRet0; + $27 = $18; + $28 = $27; + HEAP32[$28>>2] = $25; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $26; + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = (+_sqlite3_value_double($32)); + HEAPF64[$8>>3] = $33; + $34 = +HEAPF64[$8>>3]; + $35 = HEAP32[$6>>2]|0; + $36 = +HEAPF64[$35>>3]; + $37 = $34 - $36; + HEAPF64[$7>>3] = $37; + $38 = +HEAPF64[$7>>3]; + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 16|0); + $41 = $40; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (+($43>>>0)) + (4294967296.0*(+($46|0))); + $48 = $38 / $47; + $49 = HEAP32[$6>>2]|0; + $50 = +HEAPF64[$49>>3]; + $51 = $50 + $48; + HEAPF64[$49>>3] = $51; + $52 = +HEAPF64[$7>>3]; + $53 = +HEAPF64[$8>>3]; + $54 = HEAP32[$6>>2]|0; + $55 = +HEAPF64[$54>>3]; + $56 = $53 - $55; + $57 = $52 * $56; + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + 8|0); + $60 = +HEAPF64[$59>>3]; + $61 = $60 + $57; + HEAPF64[$59>>3] = $61; STACKTOP = sp;return; } -function _stdevFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.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.0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _stdevFinalize($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.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.0, $35 = 0.0, $36 = 0.0, $37 = 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 + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 16|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - $14 = ($9>>>0)>(1); - $15 = ($12|0)==(0); - $16 = $15 & $14; - $17 = $13 | $16; - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 8|0); - $21 = +HEAPF64[$20>>3]; - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 16|0); - $24 = $23; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (_i64Subtract(($26|0),($29|0),1,0)|0); - $31 = tempRet0; - $32 = (+($30>>>0)) + (4294967296.0*(+($31|0))); - $33 = $21 / $32; - $34 = (+Math_sqrt((+$33))); - _sqlite3_result_double($18,$34); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_aggregate_context($3,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if ($6) { + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 16|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(0); + $16 = ($11>>>0)>(1); + $17 = ($14|0)==(0); + $18 = $17 & $16; + $19 = $15 | $18; + if ($19) { + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 8|0); + $23 = +HEAPF64[$22>>3]; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 16|0); + $26 = $25; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (_i64Subtract(($28|0),($31|0),1,0)|0); + $33 = tempRet0; + $34 = (+($32>>>0)) + (4294967296.0*(+($33|0))); + $35 = $23 / $34; + $36 = (+Math_sqrt((+$35))); + _sqlite3_result_double($20,$36); STACKTOP = sp;return; } } - $35 = HEAP32[$0>>2]|0; - _sqlite3_result_double($35,0.0); + $37 = HEAP32[$1>>2]|0; + _sqlite3_result_double($37,0.0); STACKTOP = sp;return; } -function _varianceFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.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.0, $33 = 0.0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _varianceFinalize($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.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.0, $35 = 0.0, $36 = 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 + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 16|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - $14 = ($9>>>0)>(1); - $15 = ($12|0)==(0); - $16 = $15 & $14; - $17 = $13 | $16; - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 8|0); - $21 = +HEAPF64[$20>>3]; - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 16|0); - $24 = $23; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (_i64Subtract(($26|0),($29|0),1,0)|0); - $31 = tempRet0; - $32 = (+($30>>>0)) + (4294967296.0*(+($31|0))); - $33 = $21 / $32; - _sqlite3_result_double($18,$33); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_aggregate_context($3,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if ($6) { + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 16|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(0); + $16 = ($11>>>0)>(1); + $17 = ($14|0)==(0); + $18 = $17 & $16; + $19 = $15 | $18; + if ($19) { + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 8|0); + $23 = +HEAPF64[$22>>3]; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 16|0); + $26 = $25; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (_i64Subtract(($28|0),($31|0),1,0)|0); + $33 = tempRet0; + $34 = (+($32>>>0)) + (4294967296.0*(+($33|0))); + $35 = $23 / $34; + _sqlite3_result_double($20,$35); STACKTOP = sp;return; } } - $34 = HEAP32[$0>>2]|0; - _sqlite3_result_double($34,0.0); + $36 = HEAP32[$1>>2]|0; + _sqlite3_result_double($36,0.0); STACKTOP = sp;return; } -function _modeStep($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $dptr = 0, $iptr = 0, $p = 0, $type = 0, $xd = 0, $xi = 0, label = 0, sp = 0; +function _modeStep($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 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, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $p = sp + 52|0; - $xi = sp + 8|0; - $xd = sp; - $iptr = sp + 48|0; - $dptr = sp + 44|0; - $type = sp + 40|0; - $3 = sp + 28|0; - $4 = sp + 16|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $5 = $xi; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = 0; - HEAPF64[$xd>>3] = 0.0; - $9 = HEAP32[$1>>2]|0; - $10 = ($9|0)==(1); - if (!($10)) { - ___assert_fail((16726|0),(16734|0),1418,(17589|0)); + $3 = sp + 64|0; + $4 = sp + 60|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp + 28|0; + $13 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $14 = $7; + $15 = $14; + HEAP32[$15>>2] = 0; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = 0; + HEAPF64[$8>>3] = 0.0; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)==(1); + if (!($19)) { + ___assert_fail((19176|0),(19184|0),1418,(20039|0)); // unreachable; } - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3_value_numeric_type($12)|0); - HEAP32[$type>>2] = $13; - $14 = HEAP32[$type>>2]|0; - $15 = ($14|0)==(5); - if ($15) { + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = (_sqlite3_value_numeric_type($21)|0); + HEAP32[$11>>2] = $22; + $23 = HEAP32[$11>>2]|0; + $24 = ($23|0)==(5); + if ($24) { STACKTOP = sp;return; } - $16 = HEAP32[$0>>2]|0; - $17 = (_sqlite3_aggregate_context($16,64)|0); - HEAP32[$p>>2] = $17; - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 56|0); - $20 = HEAP32[$19>>2]|0; - $21 = (0|0)==($20|0); + $25 = HEAP32[$3>>2]|0; + $26 = (_sqlite3_aggregate_context($25,64)|0); + HEAP32[$6>>2] = $26; + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 56|0); + $29 = HEAP32[$28>>2]|0; + $30 = (0|0)==($29|0); do { - if ($21) { - $22 = (_calloc(1,12)|0); - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 56|0); - HEAP32[$24>>2] = $22; - $25 = HEAP32[$type>>2]|0; - $26 = ($25|0)==(1); - $27 = HEAP32[$p>>2]|0; - if ($26) { - $28 = ((($27)) + 56|0); - $29 = HEAP32[$28>>2]|0; - _map_make($3,176); - ;HEAP32[$29>>2]=HEAP32[$3>>2]|0;HEAP32[$29+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$29+8>>2]=HEAP32[$3+8>>2]|0; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 48|0); - $32 = $31; - $33 = $32; - HEAP32[$33>>2] = 0; - $34 = (($32) + 4)|0; - $35 = $34; - HEAP32[$35>>2] = 0; + if ($30) { + $31 = (_calloc(1,12)|0); + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 56|0); + HEAP32[$33>>2] = $31; + $34 = HEAP32[$11>>2]|0; + $35 = ($34|0)==(1); + $36 = HEAP32[$6>>2]|0; + if ($35) { + $37 = ((($36)) + 56|0); + $38 = HEAP32[$37>>2]|0; + _map_make($12,190); + ;HEAP32[$38>>2]=HEAP32[$12>>2]|0;HEAP32[$38+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$38+8>>2]=HEAP32[$12+8>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 48|0); + $41 = $40; + $42 = $41; + HEAP32[$42>>2] = 0; + $43 = (($41) + 4)|0; + $44 = $43; + HEAP32[$44>>2] = 0; break; } else { - $36 = ((($27)) + 48|0); - $37 = $36; - $38 = $37; - HEAP32[$38>>2] = 1; - $39 = (($37) + 4)|0; - $40 = $39; - HEAP32[$40>>2] = 0; - $41 = HEAP32[$p>>2]|0; - $42 = ((($41)) + 56|0); - $43 = HEAP32[$42>>2]|0; - _map_make($4,177); - ;HEAP32[$43>>2]=HEAP32[$4>>2]|0;HEAP32[$43+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$43+8>>2]=HEAP32[$4+8>>2]|0; + $45 = ((($36)) + 48|0); + $46 = $45; + $47 = $46; + HEAP32[$47>>2] = 1; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = 0; + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 56|0); + $52 = HEAP32[$51>>2]|0; + _map_make($13,191); + ;HEAP32[$52>>2]=HEAP32[$13>>2]|0;HEAP32[$52+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$52+8>>2]=HEAP32[$13+8>>2]|0; break; } } } while(0); - $44 = HEAP32[$p>>2]|0; - $45 = ((($44)) + 16|0); - $46 = $45; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (($46) + 4)|0; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (_i64Add(($48|0),($51|0),1,0)|0); - $53 = tempRet0; - $54 = $45; + $53 = HEAP32[$6>>2]|0; + $54 = ((($53)) + 16|0); $55 = $54; - HEAP32[$55>>2] = $52; - $56 = (($54) + 4)|0; - $57 = $56; - HEAP32[$57>>2] = $53; - $58 = HEAP32[$p>>2]|0; - $59 = ((($58)) + 48|0); - $60 = $59; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (($60) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (_i64Add(($57|0),($60|0),1,0)|0); + $62 = tempRet0; + $63 = $54; $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (0)==($62|0); - $67 = (0)==($65|0); - $68 = $66 & $67; - $69 = HEAP32[$2>>2]|0; - $70 = HEAP32[$69>>2]|0; - if ($68) { - $71 = (_sqlite3_value_int64($70)|0); - $72 = tempRet0; - $73 = $xi; - $74 = $73; - HEAP32[$74>>2] = $71; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = $72; - $77 = (_calloc(1,8)|0); - HEAP32[$iptr>>2] = $77; - $78 = $xi; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$iptr>>2]|0; + HEAP32[$64>>2] = $61; + $65 = (($63) + 4)|0; + $66 = $65; + HEAP32[$66>>2] = $62; + $67 = HEAP32[$6>>2]|0; + $68 = ((($67)) + 48|0); + $69 = $68; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (0)==($71|0); + $76 = (0)==($74|0); + $77 = $75 & $76; + $78 = HEAP32[$5>>2]|0; + $79 = HEAP32[$78>>2]|0; + if ($77) { + $80 = (_sqlite3_value_int64($79)|0); + $81 = tempRet0; + $82 = $7; + $83 = $82; + HEAP32[$83>>2] = $80; + $84 = (($82) + 4)|0; $85 = $84; - $86 = $85; - HEAP32[$86>>2] = $80; - $87 = (($85) + 4)|0; + HEAP32[$85>>2] = $81; + $86 = (_calloc(1,8)|0); + HEAP32[$9>>2] = $86; + $87 = $7; $88 = $87; - HEAP32[$88>>2] = $83; - $89 = HEAP32[$p>>2]|0; - $90 = ((($89)) + 56|0); - $91 = HEAP32[$90>>2]|0; - $92 = HEAP32[$iptr>>2]|0; - _map_insert($91,$92); + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$9>>2]|0; + $94 = $93; + $95 = $94; + HEAP32[$95>>2] = $89; + $96 = (($94) + 4)|0; + $97 = $96; + HEAP32[$97>>2] = $92; + $98 = HEAP32[$6>>2]|0; + $99 = ((($98)) + 56|0); + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$9>>2]|0; + _map_insert($100,$101); STACKTOP = sp;return; } else { - $93 = (+_sqlite3_value_double($70)); - HEAPF64[$xd>>3] = $93; - $94 = (_calloc(1,8)|0); - HEAP32[$dptr>>2] = $94; - $95 = +HEAPF64[$xd>>3]; - $96 = HEAP32[$dptr>>2]|0; - HEAPF64[$96>>3] = $95; - $97 = HEAP32[$p>>2]|0; - $98 = ((($97)) + 56|0); - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$dptr>>2]|0; - _map_insert($99,$100); + $102 = (+_sqlite3_value_double($79)); + HEAPF64[$8>>3] = $102; + $103 = (_calloc(1,8)|0); + HEAP32[$10>>2] = $103; + $104 = +HEAPF64[$8>>3]; + $105 = HEAP32[$10>>2]|0; + HEAPF64[$105>>3] = $104; + $106 = HEAP32[$6>>2]|0; + $107 = ((($106)) + 56|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$10>>2]|0; + _map_insert($108,$109); STACKTOP = sp;return; } } -function _modeFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +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, $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.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_aggregate_context($3,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { STACKTOP = sp;return; } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 56|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 56|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { STACKTOP = sp;return; } - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 56|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$p>>2]|0; - _map_iterate($11,131,$12); - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 56|0); - $15 = HEAP32[$14>>2]|0; - _map_destroy($15); - $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 56|0); - $18 = HEAP32[$17>>2]|0; - _free($18); - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 40|0); - $21 = $20; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (1)==($23|0); - $28 = (0)==($26|0); - $29 = $27 & $28; - if (!($29)) { + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + _map_iterate($13,132,$14); + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 56|0); + $17 = HEAP32[$16>>2]|0; + _map_destroy($17); + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 56|0); + $20 = HEAP32[$19>>2]|0; + _free($20); + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 40|0); + $23 = $22; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (1)==($25|0); + $30 = (0)==($28|0); + $31 = $29 & $30; + if (!($31)) { STACKTOP = sp;return; } - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 48|0); - $32 = $31; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (0)==($34|0); - $39 = (0)==($37|0); - $40 = $38 & $39; - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$p>>2]|0; - if ($40) { - $43 = $42; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = (($43) + 4)|0; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - _sqlite3_result_int64($41,$45,$48); + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 48|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (0)==($36|0); + $41 = (0)==($39|0); + $42 = $40 & $41; + $43 = HEAP32[$1>>2]|0; + $44 = HEAP32[$2>>2]|0; + if ($42) { + $45 = $44; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + _sqlite3_result_int64($43,$47,$50); STACKTOP = sp;return; } else { - $49 = ((($42)) + 8|0); - $50 = +HEAPF64[$49>>3]; - _sqlite3_result_double($41,$50); + $51 = ((($44)) + 8|0); + $52 = +HEAPF64[$51>>3]; + _sqlite3_result_double($43,$52); STACKTOP = sp;return; } } -function _medianFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0; +function _medianFinalize($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_aggregate_context($3,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { STACKTOP = sp;return; } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 16|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (+($9>>>0)) + (4294967296.0*(+($12|0))); - $14 = $13 / 2.0; - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 24|0); - HEAPF64[$16>>3] = $14; - $17 = HEAP32[$0>>2]|0; - __medianFinalize($17); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 16|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (+($11>>>0)) + (4294967296.0*(+($14|0))); + $16 = $15 / 2.0; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 24|0); + HEAPF64[$18>>3] = $16; + $19 = HEAP32[$1>>2]|0; + __medianFinalize($19); STACKTOP = sp;return; } -function _lower_quartileFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0; +function _lower_quartileFinalize($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 16|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (+($9>>>0)) + (4294967296.0*(+($12|0))); - $14 = $13 / 4.0; - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 24|0); - HEAPF64[$16>>3] = $14; - $17 = HEAP32[$0>>2]|0; - __medianFinalize($17); - STACKTOP = sp;return; -} -function _upper_quartileFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_aggregate_context($3,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { STACKTOP = sp;return; } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 16|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (___muldi3(($9|0),($12|0),3,0)|0); - $14 = tempRet0; - $15 = (+($13>>>0)) + (4294967296.0*(+($14|0))); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 16|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (+($11>>>0)) + (4294967296.0*(+($14|0))); $16 = $15 / 4.0; - $17 = HEAP32[$p>>2]|0; + $17 = HEAP32[$2>>2]|0; $18 = ((($17)) + 24|0); HEAPF64[$18>>3] = $16; - $19 = HEAP32[$0>>2]|0; + $19 = HEAP32[$1>>2]|0; __medianFinalize($19); STACKTOP = sp;return; } -function _map_make($agg$result,$cmp) { - $agg$result = $agg$result|0; - $cmp = $cmp|0; - var $0 = 0, $1 = 0, $2 = 0, $r = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $r = sp; - HEAP32[$0>>2] = $cmp; - $1 = HEAP32[$0>>2]|0; - $2 = ((($r)) + 4|0); - HEAP32[$2>>2] = $1; - HEAP32[$r>>2] = 0; - ;HEAP32[$agg$result>>2]=HEAP32[$r>>2]|0;HEAP32[$agg$result+4>>2]=HEAP32[$r+4>>2]|0;HEAP32[$agg$result+8>>2]=HEAP32[$r+8>>2]|0; - STACKTOP = sp;return; -} -function _xcalloc($nmemb,$size,$s) { - $nmemb = $nmemb|0; - $size = $size|0; - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $ret = 0, label = 0, sp = 0; +function _upper_quartileFinalize($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.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 + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $ret = sp; - HEAP32[$0>>2] = $nmemb; - HEAP32[$1>>2] = $size; - HEAP32[$2>>2] = $s; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (_calloc($3,$4)|0); - HEAP32[$ret>>2] = $5; - $6 = HEAP32[$ret>>2]|0; - STACKTOP = sp;return ($6|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_aggregate_context($3,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 16|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (___muldi3(($11|0),($14|0),3,0)|0); + $16 = tempRet0; + $17 = (+($15>>>0)) + (4294967296.0*(+($16|0))); + $18 = $17 / 4.0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 24|0); + HEAPF64[$20>>3] = $18; + $21 = HEAP32[$1>>2]|0; + __medianFinalize($21); + STACKTOP = sp;return; } -function _xfree($p) { - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; +function _map_make($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _free($1); + $2 = sp + 12|0; + $3 = sp; + HEAP32[$2>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + HEAP32[$3>>2] = 0; + ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$3+8>>2]|0; STACKTOP = sp;return; } -function _node_insert($n,$cmp,$e) { - $n = $n|0; - $cmp = $cmp|0; - $e = $e|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $nn = 0, label = 0, sp = 0; +function _xcalloc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (_calloc($7,$8)|0); + HEAP32[$6>>2] = $9; + $10 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($10|0); +} +function _xfree($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _free($2); + STACKTOP = sp;return; +} +function _node_insert($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $c = sp + 4|0; - $nn = sp; - HEAP32[$0>>2] = $n; - HEAP32[$1>>2] = $cmp; - HEAP32[$2>>2] = $e; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $6 = (_xcalloc(1,24,16717)|0); - HEAP32[$nn>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$nn>>2]|0; - $9 = ((($8)) + 8|0); - HEAP32[$9>>2] = $7; - $10 = HEAP32[$nn>>2]|0; - $11 = ((($10)) + 16|0); - $12 = $11; - $13 = $12; - HEAP32[$13>>2] = 1; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = 0; - $16 = HEAP32[$nn>>2]|0; - $17 = HEAP32[$0>>2]|0; - HEAP32[$17>>2] = $16; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $11 = (_xcalloc(1,24,19167)|0); + HEAP32[$7>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = ((($13)) + 8|0); + HEAP32[$14>>2] = $12; + $15 = HEAP32[$7>>2]|0; + $16 = ((($15)) + 16|0); + $17 = $16; + $18 = $17; + HEAP32[$18>>2] = 1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = 0; + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$3>>2]|0; + HEAP32[$22>>2] = $21; STACKTOP = sp;return; } - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (FUNCTION_TABLE_iii[$18 & 255]($22,$23)|0); - HEAP32[$c>>2] = $24; - $25 = HEAP32[$c>>2]|0; - $26 = (0)==($25|0); - if ($26) { - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 16|0); - $30 = $29; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (_i64Add(($32|0),($35|0),1,0)|0); - $37 = tempRet0; - $38 = $29; + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = (FUNCTION_TABLE_iii[$23 & 255]($27,$28)|0); + HEAP32[$6>>2] = $29; + $30 = HEAP32[$6>>2]|0; + $31 = (0)==($30|0); + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = ((($33)) + 16|0); + $35 = $34; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; $39 = $38; - HEAP32[$39>>2] = $36; - $40 = (($38) + 4)|0; - $41 = $40; - HEAP32[$41>>2] = $37; - $42 = HEAP32[$2>>2]|0; - _xfree($42); + $40 = HEAP32[$39>>2]|0; + $41 = (_i64Add(($37|0),($40|0),1,0)|0); + $42 = tempRet0; + $43 = $34; + $44 = $43; + HEAP32[$44>>2] = $41; + $45 = (($43) + 4)|0; + $46 = $45; + HEAP32[$46>>2] = $42; + $47 = HEAP32[$5>>2]|0; + _xfree($47); STACKTOP = sp;return; } - $43 = HEAP32[$c>>2]|0; - $44 = ($43|0)>(0); - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$45>>2]|0; - if ($44) { - $47 = HEAP32[$1>>2]|0; - $48 = HEAP32[$2>>2]|0; - _node_insert($46,$47,$48); + $48 = HEAP32[$6>>2]|0; + $49 = ($48|0)>(0); + $50 = HEAP32[$3>>2]|0; + $51 = HEAP32[$50>>2]|0; + if ($49) { + $52 = HEAP32[$4>>2]|0; + $53 = HEAP32[$5>>2]|0; + _node_insert($51,$52,$53); STACKTOP = sp;return; } else { - $49 = ((($46)) + 4|0); - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$2>>2]|0; - _node_insert($49,$50,$51); + $54 = ((($51)) + 4|0); + $55 = HEAP32[$4>>2]|0; + $56 = HEAP32[$5>>2]|0; + _node_insert($54,$55,$56); STACKTOP = sp;return; } } -function _map_insert($m,$e) { - $m = $m|0; - $e = $e|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _map_insert($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $m; - HEAP32[$1>>2] = $e; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - _node_insert($2,$5,$6); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$3>>2]|0; + _node_insert($4,$7,$8); STACKTOP = sp;return; } -function _node_iterate($n,$iter,$p) { - $n = $n|0; - $iter = $iter|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _node_iterate($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $n; - HEAP32[$1>>2] = $iter; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { STACKTOP = sp;return; } - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - _node_iterate($9,$10,$11); + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$5>>2]|0; + _node_iterate($12,$13,$14); } - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 16|0); - $18 = $17; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (($18) + 4)|0; + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 16|0); + $21 = $20; $22 = $21; $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_viiii[$12 & 255]($15,$20,$23,$24); - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)!=(0|0); - if (!($28)) { + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$5>>2]|0; + FUNCTION_TABLE_viiii[$15 & 255]($18,$23,$26,$27); + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0|0); + if (!($31)) { STACKTOP = sp;return; } - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 4|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$2>>2]|0; - _node_iterate($31,$32,$33); + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = HEAP32[$5>>2]|0; + _node_iterate($34,$35,$36); STACKTOP = sp;return; } -function _map_iterate($m,$iter,$p) { - $m = $m|0; - $iter = $iter|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _map_iterate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $m; - HEAP32[$1>>2] = $iter; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - _node_iterate($4,$5,$6); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + _node_iterate($7,$8,$9); STACKTOP = sp;return; } -function _node_destroy($n) { - $n = $n|0; - var $0 = 0, $1 = 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; +function _node_destroy($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $n; - $1 = HEAP32[$0>>2]|0; - $2 = (0|0)!=($1|0); - if (!($2)) { + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (0|0)!=($2|0); + if (!($3)) { STACKTOP = sp;return; } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - _xfree($5); - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$9>>2]|0; - _node_destroy($10); + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP32[$5>>2]|0; + _xfree($6); + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0|0); + if ($9) { + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$10>>2]|0; + _node_destroy($11); } - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - _node_destroy($17); + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + _node_destroy($18); } - $18 = HEAP32[$0>>2]|0; - _xfree($18); + $19 = HEAP32[$1>>2]|0; + _xfree($19); STACKTOP = sp;return; } -function _map_destroy($m) { - $m = $m|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _map_destroy($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $m; - $1 = HEAP32[$0>>2]|0; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - _node_destroy($2); + $3 = HEAP32[$2>>2]|0; + _node_destroy($3); STACKTOP = sp;return; } -function _int_cmp($a,$b) { - $a = $a|0; - $b = $b|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aa = 0, $bb = 0; +function _int_cmp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $aa = sp + 8|0; - $bb = sp; - HEAP32[$1>>2] = $a; - HEAP32[$2>>2] = $b; - $3 = HEAP32[$1>>2]|0; - $4 = $3; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = (($4) + 4)|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = $aa; - $11 = $10; - HEAP32[$11>>2] = $6; - $12 = (($10) + 4)|0; - $13 = $12; - HEAP32[$13>>2] = $9; - $14 = HEAP32[$2>>2]|0; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = $5; $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; + HEAP32[$15>>2] = $10; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $13; + $18 = HEAP32[$4>>2]|0; $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $bb; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = $aa; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = $6; $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = $bb; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = ($27|0)==($33|0); - $38 = ($30|0)==($36|0); - $39 = $37 & $38; - if ($39) { - HEAP32[$0>>2] = 0; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + HEAP32[$26>>2] = $21; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $24; + $29 = $5; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $6; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = ($31|0)==($37|0); + $42 = ($34|0)==($40|0); + $43 = $41 & $42; + if ($43) { + HEAP32[$2>>2] = 0; + $61 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($61|0); } - $40 = $aa; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (($40) + 4)|0; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = $bb; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (($46) + 4)|0; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = ($45|0)<($51|0); - $53 = ($42>>>0)<($48>>>0); - $54 = ($45|0)==($51|0); - $55 = $54 & $53; - $56 = $52 | $55; - if ($56) { - HEAP32[$0>>2] = -1; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + $44 = $5; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = $6; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = ($49|0)<($55|0); + $57 = ($46>>>0)<($52>>>0); + $58 = ($49|0)==($55|0); + $59 = $58 & $57; + $60 = $56 | $59; + if ($60) { + HEAP32[$2>>2] = -1; + $61 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($61|0); } else { - HEAP32[$0>>2] = 1; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + HEAP32[$2>>2] = 1; + $61 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($61|0); } return (0)|0; } -function _double_cmp($a,$b) { - $a = $a|0; - $b = $b|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, $aa = 0, $bb = 0, label = 0, sp = 0; +function _double_cmp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $aa = sp + 8|0; - $bb = sp; - HEAP32[$1>>2] = $a; - HEAP32[$2>>2] = $b; - $3 = HEAP32[$1>>2]|0; - $4 = +HEAPF64[$3>>3]; - HEAPF64[$aa>>3] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = +HEAPF64[$5>>3]; - HEAPF64[$bb>>3] = $6; - $7 = +HEAPF64[$aa>>3]; - $8 = +HEAPF64[$bb>>3]; - $9 = $7 == $8; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = +HEAPF64[$7>>3]; + HEAPF64[$5>>3] = $8; + $9 = HEAP32[$4>>2]|0; + $10 = +HEAPF64[$9>>3]; + HEAPF64[$6>>3] = $10; + $11 = +HEAPF64[$5>>3]; + $12 = +HEAPF64[$6>>3]; + $13 = $11 == $12; do { - if ($9) { - HEAP32[$0>>2] = 0; + if ($13) { + HEAP32[$2>>2] = 0; } else { - $10 = +HEAPF64[$aa>>3]; - $11 = +HEAPF64[$bb>>3]; - $12 = $10 < $11; - if ($12) { - HEAP32[$0>>2] = -1; + $14 = +HEAPF64[$5>>3]; + $15 = +HEAPF64[$6>>3]; + $16 = $14 < $15; + if ($16) { + HEAP32[$2>>2] = -1; break; } else { - HEAP32[$0>>2] = 1; + HEAP32[$2>>2] = 1; break; } } } while(0); - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); + $17 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($17|0); } -function _soundex($zIn,$zResult) { - $zIn = $zIn|0; - $zResult = $zResult|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $code = 0, $i = 0, $j = 0, label = 0, sp = 0; +function _soundex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $i = sp + 8|0; - $j = sp + 4|0; - $code = sp; - HEAP32[$0>>2] = $zIn; - HEAP32[$1>>2] = $zResult; - HEAP32[$i>>2] = 0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; while(1) { - $2 = HEAP32[$i>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + ($2)|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)!=(0); - if (!($7)) { + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (($7) + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)!=(0); + if (!($12)) { break; } - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + ($8)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (_isalpha($12)|0); - $14 = ($13|0)!=(0); - $15 = $14 ^ 1; - if (!($15)) { + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = (($13) + ($14)|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = (_isalpha($17)|0); + $19 = ($18|0)!=(0); + $20 = $19 ^ 1; + if (!($20)) { break; } - $16 = HEAP32[$i>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$i>>2] = $17; + $21 = HEAP32[$4>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$4>>2] = $22; } - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = (($19) + ($18)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)!=(0); - if (!($22)) { - $67 = HEAP32[$1>>2]|0; - (_strcpy($67,16975)|0); + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = (($23) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = ($26<<24>>24)!=(0); + if (!($27)) { + $71 = HEAP32[$3>>2]|0; + (_strcpy($71,19425)|0); STACKTOP = sp;return; } - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (_toupper($27)|0); - $29 = $28&255; - $30 = HEAP32[$1>>2]|0; - HEAP8[$30>>0] = $29; - HEAP32[$j>>2] = 1; + $28 = HEAP32[$2>>2]|0; + $29 = HEAP32[$4>>2]|0; + $30 = (($28) + ($29)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = (_toupper($32)|0); + $34 = $33&255; + $35 = HEAP32[$3>>2]|0; + HEAP8[$35>>0] = $34; + HEAP32[$5>>2] = 1; while(1) { - $31 = HEAP32[$j>>2]|0; - $32 = ($31|0)<(4); - if (!($32)) { + $36 = HEAP32[$5>>2]|0; + $37 = ($36|0)<(4); + if (!($37)) { break; } - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + ($33)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = ($37|0)!=(0); - if (!($38)) { + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = (($38) + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ($42|0)!=(0); + if (!($43)) { break; } - $39 = HEAP32[$i>>2]|0; - $40 = HEAP32[$0>>2]|0; - $41 = (($40) + ($39)|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = $43 & 127; - $45 = (16847 + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - HEAP32[$code>>2] = $47; - $48 = HEAP32[$code>>2]|0; - $49 = ($48|0)>(0); - if ($49) { - $50 = HEAP32[$code>>2]|0; - $51 = (($50) + 48)|0; - $52 = $51&255; - $53 = HEAP32[$j>>2]|0; - $54 = (($53) + 1)|0; - HEAP32[$j>>2] = $54; - $55 = HEAP32[$1>>2]|0; - $56 = (($55) + ($53)|0); - HEAP8[$56>>0] = $52; + $44 = HEAP32[$2>>2]|0; + $45 = HEAP32[$4>>2]|0; + $46 = (($44) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = $48 & 127; + $50 = (19297 + ($49)|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + HEAP32[$6>>2] = $52; + $53 = HEAP32[$6>>2]|0; + $54 = ($53|0)>(0); + if ($54) { + $55 = HEAP32[$6>>2]|0; + $56 = (($55) + 48)|0; + $57 = $56&255; + $58 = HEAP32[$3>>2]|0; + $59 = HEAP32[$5>>2]|0; + $60 = (($59) + 1)|0; + HEAP32[$5>>2] = $60; + $61 = (($58) + ($59)|0); + HEAP8[$61>>0] = $57; } - $57 = HEAP32[$i>>2]|0; - $58 = (($57) + 1)|0; - HEAP32[$i>>2] = $58; + $62 = HEAP32[$4>>2]|0; + $63 = (($62) + 1)|0; + HEAP32[$4>>2] = $63; } while(1) { - $59 = HEAP32[$j>>2]|0; - $60 = ($59|0)<(4); - $61 = HEAP32[$j>>2]|0; - if (!($60)) { + $64 = HEAP32[$5>>2]|0; + $65 = ($64|0)<(4); + $66 = HEAP32[$3>>2]|0; + $67 = HEAP32[$5>>2]|0; + if (!($65)) { break; } - $62 = (($61) + 1)|0; - HEAP32[$j>>2] = $62; - $63 = HEAP32[$1>>2]|0; - $64 = (($63) + ($61)|0); - HEAP8[$64>>0] = 48; + $68 = (($67) + 1)|0; + HEAP32[$5>>2] = $68; + $69 = (($66) + ($67)|0); + HEAP8[$69>>0] = 48; } - $65 = HEAP32[$1>>2]|0; - $66 = (($65) + ($61)|0); - HEAP8[$66>>0] = 0; + $70 = (($66) + ($67)|0); + HEAP8[$70>>0] = 0; STACKTOP = sp;return; } -function _sqlite3ReadUtf8($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $xtra = 0, label = 0, sp = 0; +function _sqlite3ReadUtf8($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $c = sp + 4|0; - $xtra = sp; - HEAP32[$0>>2] = $z; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 1|0); - HEAP32[$0>>2] = $2; - $3 = HEAP8[$1>>0]|0; - $4 = $3&255; - HEAP32[$c>>2] = $4; - $5 = HEAP32[$c>>2]|0; - $6 = (16980 + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - HEAP32[$xtra>>2] = $8; - $9 = HEAP32[$xtra>>2]|0; - switch ($9|0) { + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 1|0); + HEAP32[$1>>2] = $5; + $6 = HEAP8[$4>>0]|0; + $7 = $6&255; + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = (19430 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + HEAP32[$3>>2] = $11; + $12 = HEAP32[$3>>2]|0; + switch ($12|0) { case 4: { - HEAP32[$c>>2] = 65533; - $48 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($48|0); + HEAP32[$2>>2] = 65533; + $51 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($51|0); break; } case 3: { - $10 = HEAP32[$c>>2]|0; - $11 = $10 << 6; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 1|0); - HEAP32[$0>>2] = $13; - $14 = HEAP8[$12>>0]|0; - $15 = $14&255; - $16 = (($11) + ($15))|0; - HEAP32[$c>>2] = $16; + $13 = HEAP32[$2>>2]|0; + $14 = $13 << 6; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 1|0); + HEAP32[$1>>2] = $16; + $17 = HEAP8[$15>>0]|0; + $18 = $17&255; + $19 = (($14) + ($18))|0; + HEAP32[$2>>2] = $19; label = 4; break; } @@ -11227,4330 +10506,5709 @@ function _sqlite3ReadUtf8($z) { break; } default: { - $48 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($48|0); + $51 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($51|0); } } if ((label|0) == 4) { - $17 = HEAP32[$c>>2]|0; - $18 = $17 << 6; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 1|0); - HEAP32[$0>>2] = $20; - $21 = HEAP8[$19>>0]|0; - $22 = $21&255; - $23 = (($18) + ($22))|0; - HEAP32[$c>>2] = $23; + $20 = HEAP32[$2>>2]|0; + $21 = $20 << 6; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 1|0); + HEAP32[$1>>2] = $23; + $24 = HEAP8[$22>>0]|0; + $25 = $24&255; + $26 = (($21) + ($25))|0; + HEAP32[$2>>2] = $26; } - $24 = HEAP32[$c>>2]|0; - $25 = $24 << 6; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 1|0); - HEAP32[$0>>2] = $27; - $28 = HEAP8[$26>>0]|0; - $29 = $28&255; - $30 = (($25) + ($29))|0; - HEAP32[$c>>2] = $30; - $31 = HEAP32[$xtra>>2]|0; - $32 = (936 + ($31<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$c>>2]|0; - $35 = (($34) - ($33))|0; - HEAP32[$c>>2] = $35; - $36 = HEAP32[$xtra>>2]|0; - $37 = (952 + ($36<<2)|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$c>>2]|0; - $40 = $38 & $39; - $41 = ($40|0)==(0); - if (!($41)) { - $42 = HEAP32[$c>>2]|0; - $43 = $42 & -2048; - $44 = ($43|0)==(55296); - if (!($44)) { - $45 = HEAP32[$c>>2]|0; - $46 = $45 & -2; - $47 = ($46|0)==(65534); - if (!($47)) { - $48 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($48|0); + $27 = HEAP32[$2>>2]|0; + $28 = $27 << 6; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 1|0); + HEAP32[$1>>2] = $30; + $31 = HEAP8[$29>>0]|0; + $32 = $31&255; + $33 = (($28) + ($32))|0; + HEAP32[$2>>2] = $33; + $34 = HEAP32[$3>>2]|0; + $35 = (904 + ($34<<2)|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$2>>2]|0; + $38 = (($37) - ($36))|0; + HEAP32[$2>>2] = $38; + $39 = HEAP32[$3>>2]|0; + $40 = (920 + ($39<<2)|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$2>>2]|0; + $43 = $41 & $42; + $44 = ($43|0)==(0); + if (!($44)) { + $45 = HEAP32[$2>>2]|0; + $46 = $45 & -2048; + $47 = ($46|0)==(55296); + if (!($47)) { + $48 = HEAP32[$2>>2]|0; + $49 = $48 & -2; + $50 = ($49|0)==(65534); + if (!($50)) { + $51 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($51|0); } } } - HEAP32[$c>>2] = 65533; - $48 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($48|0); + HEAP32[$2>>2] = 65533; + $51 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($51|0); } -function _rad2deg($x) { - $x = +$x; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; +function _rad2deg($0) { + $0 = +$0; + var $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAPF64[$0>>3] = $x; - $1 = +HEAPF64[$0>>3]; - $2 = 180.0 * $1; - $3 = $2 / 3.1415926535897931; - STACKTOP = sp;return (+$3); + $1 = sp; + HEAPF64[$1>>3] = $0; + $2 = +HEAPF64[$1>>3]; + $3 = 180.0 * $2; + $4 = $3 / 3.1415926535897931; + STACKTOP = sp;return (+$4); } -function _deg2rad($x) { - $x = +$x; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; +function _deg2rad($0) { + $0 = +$0; + var $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAPF64[$0>>3] = $x; - $1 = +HEAPF64[$0>>3]; - $2 = $1 * 3.1415926535897931; - $3 = $2 / 180.0; - STACKTOP = sp;return (+$3); + $1 = sp; + HEAPF64[$1>>3] = $0; + $2 = +HEAPF64[$1>>3]; + $3 = $2 * 3.1415926535897931; + $4 = $3 / 180.0; + STACKTOP = sp;return (+$4); } -function _cot($x) { - $x = +$x; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; +function _cot($0) { + $0 = +$0; + var $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAPF64[$0>>3] = $x; - $1 = +HEAPF64[$0>>3]; - $2 = (+Math_tan((+$1))); - $3 = 1.0 / $2; - STACKTOP = sp;return (+$3); + $1 = sp; + HEAPF64[$1>>3] = $0; + $2 = +HEAPF64[$1>>3]; + $3 = (+Math_tan((+$2))); + $4 = 1.0 / $3; + STACKTOP = sp;return (+$4); } -function _coth($x) { - $x = +$x; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; +function _coth($0) { + $0 = +$0; + var $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAPF64[$0>>3] = $x; - $1 = +HEAPF64[$0>>3]; - $2 = (+_tanh($1)); - $3 = 1.0 / $2; - STACKTOP = sp;return (+$3); + $1 = sp; + HEAPF64[$1>>3] = $0; + $2 = +HEAPF64[$1>>3]; + $3 = (+_tanh($2)); + $4 = 1.0 / $3; + STACKTOP = sp;return (+$4); } -function __substr($z1,$z2,$s,$p) { - $z1 = $z1|0; - $z2 = $z2|0; - $s = $s|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $c = 0, $c1 = 0, $c2 = 0, $or$cond = 0, $or$cond4 = 0, $rVal = 0, $zt1 = 0, $zt2 = 0; +function __substr($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, $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, $9 = 0, $or$cond = 0, $or$cond4 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $c = sp + 20|0; - $rVal = sp + 16|0; - $zt1 = sp + 12|0; - $zt2 = sp + 8|0; - $c1 = sp + 4|0; - $c2 = sp; - HEAP32[$1>>2] = $z1; - HEAP32[$2>>2] = $z2; - HEAP32[$3>>2] = $s; - HEAP32[$4>>2] = $p; - HEAP32[$c>>2] = 0; - HEAP32[$rVal>>2] = -1; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - $8 = (0)==($7|0); - if ($8) { - HEAP32[$0>>2] = -1; - $71 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($71|0); + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = -1; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; + $18 = (0)==($17|0); + if ($18) { + HEAP32[$4>>2] = -1; + $81 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($81|0); } L4: while(1) { - $9 = HEAP32[$2>>2]|0; - $10 = (_sqlite3ReadUtf8($9)|0); - $11 = ($10|0)!=(0); - if (!($11)) { + $19 = HEAP32[$6>>2]|0; + $20 = (_sqlite3ReadUtf8($19)|0); + $21 = ($20|0)!=(0); + if (!($21)) { break; } - $12 = HEAP32[$c>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$c>>2] = $13; - $14 = HEAP32[$3>>2]|0; - $15 = ($12|0)<($14|0); - if (!($15)) { + $22 = HEAP32[$9>>2]|0; + $23 = (($22) + 1)|0; + HEAP32[$9>>2] = $23; + $24 = HEAP32[$7>>2]|0; + $25 = ($22|0)<($24|0); + if (!($25)) { break; } while(1) { - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 1|0); - HEAP32[$2>>2] = $17; - $18 = HEAP8[$17>>0]|0; - $19 = $18 << 24 >> 24; - $20 = 192 & $19; - $21 = ($20|0)==(128); - if (!($21)) { + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 1|0); + HEAP32[$6>>2] = $27; + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = 192 & $29; + $31 = ($30|0)==(128); + if (!($31)) { continue L4; } } } - HEAP32[$c>>2] = 0; + HEAP32[$9>>2] = 0; while(1) { - $22 = HEAP32[$2>>2]|0; - $23 = (_sqlite3ReadUtf8($22)|0); - $24 = ($23|0)!=(0); - if (!($24)) { + $32 = HEAP32[$6>>2]|0; + $33 = (_sqlite3ReadUtf8($32)|0); + $34 = ($33|0)!=(0); + if (!($34)) { break; } - $25 = HEAP32[$1>>2]|0; - HEAP32[$zt1>>2] = $25; - $26 = HEAP32[$2>>2]|0; - HEAP32[$zt2>>2] = $26; + $35 = HEAP32[$5>>2]|0; + HEAP32[$11>>2] = $35; + $36 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $36; while(1) { - $27 = HEAP32[$zt1>>2]|0; - $28 = (_sqlite3ReadUtf8($27)|0); - HEAP32[$c1>>2] = $28; - $29 = HEAP32[$zt2>>2]|0; - $30 = (_sqlite3ReadUtf8($29)|0); - HEAP32[$c2>>2] = $30; + $37 = HEAP32[$11>>2]|0; + $38 = (_sqlite3ReadUtf8($37)|0); + HEAP32[$13>>2] = $38; + $39 = HEAP32[$12>>2]|0; + $40 = (_sqlite3ReadUtf8($39)|0); + HEAP32[$14>>2] = $40; while(1) { - $31 = HEAP32[$zt1>>2]|0; - $32 = ((($31)) + 1|0); - HEAP32[$zt1>>2] = $32; - $33 = HEAP8[$32>>0]|0; - $34 = $33 << 24 >> 24; - $35 = 192 & $34; - $36 = ($35|0)==(128); - if (!($36)) { + $41 = HEAP32[$11>>2]|0; + $42 = ((($41)) + 1|0); + HEAP32[$11>>2] = $42; + $43 = HEAP8[$42>>0]|0; + $44 = $43 << 24 >> 24; + $45 = 192 & $44; + $46 = ($45|0)==(128); + if (!($46)) { break; } } while(1) { - $37 = HEAP32[$zt2>>2]|0; - $38 = ((($37)) + 1|0); - HEAP32[$zt2>>2] = $38; - $39 = HEAP8[$38>>0]|0; - $40 = $39 << 24 >> 24; - $41 = 192 & $40; - $42 = ($41|0)==(128); - if (!($42)) { + $47 = HEAP32[$12>>2]|0; + $48 = ((($47)) + 1|0); + HEAP32[$12>>2] = $48; + $49 = HEAP8[$48>>0]|0; + $50 = $49 << 24 >> 24; + $51 = 192 & $50; + $52 = ($51|0)==(128); + if (!($52)) { break; } } - $43 = HEAP32[$c1>>2]|0; - $44 = HEAP32[$c2>>2]|0; - $45 = ($43|0)==($44|0); - $46 = HEAP32[$c1>>2]|0; - $47 = ($46|0)!=(0); - $or$cond = $45 & $47; - $48 = HEAP32[$c2>>2]|0; - $49 = ($48|0)!=(0); - $or$cond4 = $or$cond & $49; + $53 = HEAP32[$13>>2]|0; + $54 = HEAP32[$14>>2]|0; + $55 = ($53|0)==($54|0); + $56 = HEAP32[$13>>2]|0; + $57 = ($56|0)!=(0); + $or$cond = $55 & $57; + $58 = HEAP32[$14>>2]|0; + $59 = ($58|0)!=(0); + $or$cond4 = $or$cond & $59; if (!($or$cond4)) { break; } } - $50 = HEAP32[$c1>>2]|0; - $51 = ($50|0)==(0); - if ($51) { + $60 = HEAP32[$13>>2]|0; + $61 = ($60|0)==(0); + if ($61) { label = 14; break; } while(1) { - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 1|0); - HEAP32[$2>>2] = $54; - $55 = HEAP8[$54>>0]|0; - $56 = $55 << 24 >> 24; - $57 = 192 & $56; - $58 = ($57|0)==(128); - if (!($58)) { + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 1|0); + HEAP32[$6>>2] = $64; + $65 = HEAP8[$64>>0]|0; + $66 = $65 << 24 >> 24; + $67 = 192 & $66; + $68 = ($67|0)==(128); + if (!($68)) { break; } } - $59 = HEAP32[$c>>2]|0; - $60 = (($59) + 1)|0; - HEAP32[$c>>2] = $60; + $69 = HEAP32[$9>>2]|0; + $70 = (($69) + 1)|0; + HEAP32[$9>>2] = $70; } if ((label|0) == 14) { - $52 = HEAP32[$c>>2]|0; - HEAP32[$rVal>>2] = $52; + $62 = HEAP32[$9>>2]|0; + HEAP32[$10>>2] = $62; } - $61 = HEAP32[$4>>2]|0; - $62 = ($61|0)!=(0|0); - if ($62) { - $63 = HEAP32[$2>>2]|0; - $64 = HEAP32[$4>>2]|0; - HEAP32[$64>>2] = $63; + $71 = HEAP32[$8>>2]|0; + $72 = ($71|0)!=(0|0); + if ($72) { + $73 = HEAP32[$6>>2]|0; + $74 = HEAP32[$8>>2]|0; + HEAP32[$74>>2] = $73; } - $65 = HEAP32[$rVal>>2]|0; - $66 = ($65|0)>=(0); - $67 = HEAP32[$rVal>>2]|0; - $68 = HEAP32[$3>>2]|0; - $69 = (($67) + ($68))|0; - $70 = $66 ? $69 : $67; - HEAP32[$0>>2] = $70; - $71 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($71|0); + $75 = HEAP32[$10>>2]|0; + $76 = ($75|0)>=(0); + $77 = HEAP32[$10>>2]|0; + $78 = HEAP32[$7>>2]|0; + $79 = (($77) + ($78))|0; + $80 = $76 ? $79 : $77; + HEAP32[$4>>2] = $80; + $81 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($81|0); } -function _sqlite3StrDup($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $res = 0, label = 0, sp = 0; +function _sqlite3StrDup($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $res = sp; - HEAP32[$0>>2] = $z; - $1 = HEAP32[$0>>2]|0; - $2 = (_strlen($1)|0); - $3 = (($2) + 1)|0; - $4 = (_sqlite3_malloc($3)|0); - HEAP32[$res>>2] = $4; - $5 = HEAP32[$res>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = (_strcpy($5,$6)|0); - STACKTOP = sp;return ($7|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_strlen($3)|0); + $5 = (($4) + 1)|0; + $6 = (_sqlite3_malloc($5)|0); + HEAP32[$2>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = (_strcpy($7,$8)|0); + STACKTOP = sp;return ($9|0); } -function _sqlite3Utf8CharLen($z,$nByte) { - $z = $z|0; - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, $zTerm = 0, label = 0, sp = 0; +function _sqlite3Utf8CharLen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $r = sp + 4|0; - $zTerm = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $nByte; - HEAP32[$r>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>=(0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + ($4)|0); - HEAP32[$zTerm>>2] = $6; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)>=(0); + if ($7) { + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (($8) + ($9)|0); + HEAP32[$5>>2] = $10; } else { - HEAP32[$zTerm>>2] = (-1); + HEAP32[$5>>2] = (-1); } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$zTerm>>2]|0; - $9 = ($7>>>0)<=($8>>>0); - if (!($9)) { - ___assert_fail((17516|0),(16734|0),316,(17525|0)); + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = ($11>>>0)<=($12>>>0); + if (!($13)) { + ___assert_fail((19966|0),(19184|0),316,(19975|0)); // unreachable; } while(1) { - $10 = HEAP32[$0>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = ($12|0)!=(0); - if (!($13)) { + $14 = HEAP32[$2>>2]|0; + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = ($16|0)!=(0); + if (!($17)) { label = 10; break; } - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$zTerm>>2]|0; - $16 = ($14>>>0)<($15>>>0); - if (!($16)) { + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = ($18>>>0)<($19>>>0); + if (!($20)) { label = 10; break; } - $17 = HEAP32[$0>>2]|0; - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = (16980 + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = (($22) + 1)|0; - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + ($23)|0); - HEAP32[$0>>2] = $25; - $26 = HEAP32[$r>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = (19430 + ($23)|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; $27 = (($26) + 1)|0; - HEAP32[$r>>2] = $27; + $28 = HEAP32[$2>>2]|0; + $29 = (($28) + ($27)|0); + HEAP32[$2>>2] = $29; + $30 = HEAP32[$4>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$4>>2] = $31; } if ((label|0) == 10) { - $28 = HEAP32[$r>>2]|0; - STACKTOP = sp;return ($28|0); + $32 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($32|0); } return (0)|0; } -function _modeIterate($e,$0,$1,$pp) { - $e = $e|0; +function _modeIterate($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - $pp = $pp|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0.0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $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; - 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, $ed = 0, $ei = 0, $p = 0, label = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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; STACKTOP = STACKTOP + 48|0; - $2 = sp + 32|0; - $3 = sp + 16|0; - $4 = sp + 28|0; - $ei = sp + 8|0; - $ed = sp; - $p = sp + 24|0; - HEAP32[$2>>2] = $e; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $pp; - $9 = HEAP32[$4>>2]|0; - HEAP32[$p>>2] = $9; - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 48|0); - $12 = $11; + $4 = sp + 32|0; + $5 = sp + 16|0; + $6 = sp + 28|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 24|0; + HEAP32[$4>>2] = $0; + $10 = $5; + $11 = $10; + HEAP32[$11>>2] = $1; + $12 = (($10) + 4)|0; $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (0)==($14|0); - $19 = (0)==($17|0); - $20 = $18 & $19; - $21 = HEAP32[$2>>2]|0; - if ($20) { - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)<(0); - $24 = $23 << 31 >> 31; - $25 = $ei; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $24; - $29 = HEAP32[$p>>2]|0; - $30 = ((($29)) + 32|0); + HEAP32[$13>>2] = $2; + HEAP32[$6>>2] = $3; + $14 = HEAP32[$6>>2]|0; + HEAP32[$9>>2] = $14; + $15 = HEAP32[$9>>2]|0; + $16 = ((($15)) + 48|0); + $17 = $16; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (($17) + 4)|0; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (0)==($19|0); + $24 = (0)==($22|0); + $25 = $23 & $24; + $26 = HEAP32[$4>>2]|0; + if ($25) { + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)<(0); + $29 = $28 << 31 >> 31; + $30 = $7; $31 = $30; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = $3; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = ($33|0)==($39|0); - $44 = ($36|0)==($42|0); - $45 = $43 & $44; - $46 = HEAP32[$p>>2]|0; - if ($45) { - $47 = ((($46)) + 40|0); - $48 = $47; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (_i64Add(($50|0),($53|0),1,0)|0); - $55 = tempRet0; - $56 = $47; + HEAP32[$31>>2] = $27; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $34 = HEAP32[$9>>2]|0; + $35 = ((($34)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = $5; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = ($38|0)==($44|0); + $49 = ($41|0)==($47|0); + $50 = $48 & $49; + $51 = HEAP32[$9>>2]|0; + if ($50) { + $52 = ((($51)) + 40|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; $57 = $56; - HEAP32[$57>>2] = $54; - $58 = (($56) + 4)|0; - $59 = $58; - HEAP32[$59>>2] = $55; + $58 = HEAP32[$57>>2]|0; + $59 = (_i64Add(($55|0),($58|0),1,0)|0); + $60 = tempRet0; + $61 = $52; + $62 = $61; + HEAP32[$62>>2] = $59; + $63 = (($61) + 4)|0; + $64 = $63; + HEAP32[$64>>2] = $60; STACKTOP = sp;return; } - $60 = ((($46)) + 32|0); - $61 = $60; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = $3; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = ($66|0)<($72|0); - $74 = ($63>>>0)<($69>>>0); - $75 = ($66|0)==($72|0); - $76 = $75 & $74; - $77 = $73 | $76; - if (!($77)) { + $65 = ((($51)) + 32|0); + $66 = $65; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = $5; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = ($71|0)<($77|0); + $79 = ($68>>>0)<($74>>>0); + $80 = ($71|0)==($77|0); + $81 = $80 & $79; + $82 = $78 | $81; + if (!($82)) { STACKTOP = sp;return; } - $78 = $ei; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$p>>2]|0; - $85 = $84; - $86 = $85; - HEAP32[$86>>2] = $80; - $87 = (($85) + 4)|0; - $88 = $87; - HEAP32[$88>>2] = $83; - $89 = $3; + $83 = $7; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$9>>2]|0; $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $85; + $92 = (($90) + 4)|0; $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = HEAP32[$p>>2]|0; - $96 = ((($95)) + 32|0); - $97 = $96; + HEAP32[$93>>2] = $88; + $94 = $5; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; $98 = $97; - HEAP32[$98>>2] = $91; - $99 = (($97) + 4)|0; - $100 = $99; - HEAP32[$100>>2] = $94; - $101 = HEAP32[$p>>2]|0; - $102 = ((($101)) + 40|0); + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$9>>2]|0; + $101 = ((($100)) + 32|0); + $102 = $101; $103 = $102; - $104 = $103; - HEAP32[$104>>2] = 1; - $105 = (($103) + 4)|0; - $106 = $105; - HEAP32[$106>>2] = 0; + HEAP32[$103>>2] = $96; + $104 = (($102) + 4)|0; + $105 = $104; + HEAP32[$105>>2] = $99; + $106 = HEAP32[$9>>2]|0; + $107 = ((($106)) + 40|0); + $108 = $107; + $109 = $108; + HEAP32[$109>>2] = 1; + $110 = (($108) + 4)|0; + $111 = $110; + HEAP32[$111>>2] = 0; STACKTOP = sp;return; } else { - $107 = +HEAPF64[$21>>3]; - HEAPF64[$ed>>3] = $107; - $108 = HEAP32[$p>>2]|0; - $109 = ((($108)) + 32|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = $3; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = ($112|0)==($118|0); - $123 = ($115|0)==($121|0); - $124 = $122 & $123; - $125 = HEAP32[$p>>2]|0; - if ($124) { - $126 = ((($125)) + 40|0); - $127 = $126; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (_i64Add(($129|0),($132|0),1,0)|0); - $134 = tempRet0; - $135 = $126; - $136 = $135; - HEAP32[$136>>2] = $133; - $137 = (($135) + 4)|0; - $138 = $137; - HEAP32[$138>>2] = $134; - STACKTOP = sp;return; - } - $139 = ((($125)) + 32|0); - $140 = $139; - $141 = $140; - $142 = HEAP32[$141>>2]|0; - $143 = (($140) + 4)|0; - $144 = $143; - $145 = HEAP32[$144>>2]|0; - $146 = $3; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = ($145|0)<($151|0); - $153 = ($142>>>0)<($148>>>0); - $154 = ($145|0)==($151|0); - $155 = $154 & $153; - $156 = $152 | $155; - if (!($156)) { + $112 = +HEAPF64[$26>>3]; + HEAPF64[$8>>3] = $112; + $113 = HEAP32[$9>>2]|0; + $114 = ((($113)) + 32|0); + $115 = $114; + $116 = $115; + $117 = HEAP32[$116>>2]|0; + $118 = (($115) + 4)|0; + $119 = $118; + $120 = HEAP32[$119>>2]|0; + $121 = $5; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = (($121) + 4)|0; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = ($117|0)==($123|0); + $128 = ($120|0)==($126|0); + $129 = $127 & $128; + $130 = HEAP32[$9>>2]|0; + if ($129) { + $131 = ((($130)) + 40|0); + $132 = $131; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = (($132) + 4)|0; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (_i64Add(($134|0),($137|0),1,0)|0); + $139 = tempRet0; + $140 = $131; + $141 = $140; + HEAP32[$141>>2] = $138; + $142 = (($140) + 4)|0; + $143 = $142; + HEAP32[$143>>2] = $139; STACKTOP = sp;return; } - $157 = +HEAPF64[$ed>>3]; - $158 = HEAP32[$p>>2]|0; - $159 = ((($158)) + 8|0); - HEAPF64[$159>>3] = $157; - $160 = $3; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = (($160) + 4)|0; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - $166 = HEAP32[$p>>2]|0; - $167 = ((($166)) + 32|0); - $168 = $167; + $144 = ((($130)) + 32|0); + $145 = $144; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = $5; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = (($151) + 4)|0; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = ($150|0)<($156|0); + $158 = ($147>>>0)<($153>>>0); + $159 = ($150|0)==($156|0); + $160 = $159 & $158; + $161 = $157 | $160; + if (!($161)) { + STACKTOP = sp;return; + } + $162 = +HEAPF64[$8>>3]; + $163 = HEAP32[$9>>2]|0; + $164 = ((($163)) + 8|0); + HEAPF64[$164>>3] = $162; + $165 = $5; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; $169 = $168; - HEAP32[$169>>2] = $162; - $170 = (($168) + 4)|0; - $171 = $170; - HEAP32[$171>>2] = $165; - $172 = HEAP32[$p>>2]|0; - $173 = ((($172)) + 40|0); + $170 = HEAP32[$169>>2]|0; + $171 = HEAP32[$9>>2]|0; + $172 = ((($171)) + 32|0); + $173 = $172; $174 = $173; - $175 = $174; - HEAP32[$175>>2] = 1; - $176 = (($174) + 4)|0; - $177 = $176; - HEAP32[$177>>2] = 0; + HEAP32[$174>>2] = $167; + $175 = (($173) + 4)|0; + $176 = $175; + HEAP32[$176>>2] = $170; + $177 = HEAP32[$9>>2]|0; + $178 = ((($177)) + 40|0); + $179 = $178; + $180 = $179; + HEAP32[$180>>2] = 1; + $181 = (($179) + 4)|0; + $182 = $181; + HEAP32[$182>>2] = 0; STACKTOP = sp;return; } } -function __medianFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +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, $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.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0; + var $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_aggregate_context($3,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { STACKTOP = sp;return; } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 56|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 56|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { STACKTOP = sp;return; } - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 60|0); - HEAP32[$10>>2] = 0; - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$p>>2]|0; - _map_iterate($13,132,$14); - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 56|0); - $17 = HEAP32[$16>>2]|0; - _map_destroy($17); - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 56|0); - $20 = HEAP32[$19>>2]|0; - _free($20); - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 48|0); - $23 = $22; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (0)==($25|0); - $30 = (0)==($28|0); - $31 = $29 & $30; - if (!($31)) { - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$p>>2]|0; - $65 = ((($64)) + 8|0); - $66 = +HEAPF64[$65>>3]; - $67 = HEAP32[$p>>2]|0; - $68 = ((($67)) + 40|0); - $69 = $68; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (+($71>>>0)) + (4294967296.0*(+($74|0))); - $76 = $66 / $75; - _sqlite3_result_double($63,$76); + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 60|0); + HEAP32[$12>>2] = 0; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 56|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$2>>2]|0; + _map_iterate($15,133,$16); + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 56|0); + $19 = HEAP32[$18>>2]|0; + _map_destroy($19); + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 56|0); + $22 = HEAP32[$21>>2]|0; + _free($22); + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 48|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (0)==($27|0); + $32 = (0)==($30|0); + $33 = $31 & $32; + if (!($33)) { + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$2>>2]|0; + $67 = ((($66)) + 8|0); + $68 = +HEAPF64[$67>>3]; + $69 = HEAP32[$2>>2]|0; + $70 = ((($69)) + 40|0); + $71 = $70; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (+($73>>>0)) + (4294967296.0*(+($76|0))); + $78 = $68 / $77; + _sqlite3_result_double($65,$78); STACKTOP = sp;return; } - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 40|0); - $34 = $33; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (1)==($36|0); - $41 = (0)==($39|0); - $42 = $40 & $41; - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$p>>2]|0; - $45 = $44; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - if ($42) { - _sqlite3_result_int64($43,$47,$50); + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 40|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (1)==($38|0); + $43 = (0)==($41|0); + $44 = $42 & $43; + $45 = HEAP32[$1>>2]|0; + $46 = HEAP32[$2>>2]|0; + $47 = $46; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + if ($44) { + _sqlite3_result_int64($45,$49,$52); STACKTOP = sp;return; } else { - $51 = (+($47>>>0)) + (4294967296.0*(+($50|0))); - $52 = $51 * 1.0; - $53 = HEAP32[$p>>2]|0; - $54 = ((($53)) + 40|0); - $55 = $54; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (($55) + 4)|0; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (+($57>>>0)) + (4294967296.0*(+($60|0))); - $62 = $52 / $61; - _sqlite3_result_double($43,$62); + $53 = (+($49>>>0)) + (4294967296.0*(+($52|0))); + $54 = $53 * 1.0; + $55 = HEAP32[$2>>2]|0; + $56 = ((($55)) + 40|0); + $57 = $56; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (+($59>>>0)) + (4294967296.0*(+($62|0))); + $64 = $54 / $63; + _sqlite3_result_double($45,$64); STACKTOP = sp;return; } } -function _medianIterate($e,$0,$1,$pp) { - $e = $e|0; +function _medianIterate($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - $pp = $pp|0; + $2 = $2|0; + $3 = $3|0; var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0.0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.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.0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.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, $ed = 0, $ei = 0, $iL = 0, $iR = 0, $il = 0, $ir = 0, $p = 0, label = 0, sp = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0; + var $136 = 0, $137 = 0.0, $138 = 0.0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $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; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.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.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $2 = sp + 56|0; - $3 = sp + 32|0; - $4 = sp + 52|0; - $ei = sp + 24|0; - $ed = sp + 16|0; - $iL = sp + 8|0; - $iR = sp; - $il = sp + 48|0; - $ir = sp + 44|0; - $p = sp + 40|0; - HEAP32[$2>>2] = $e; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $pp; - $9 = HEAP32[$4>>2]|0; - HEAP32[$p>>2] = $9; - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 60|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - if ($13) { + $4 = sp + 56|0; + $5 = sp + 32|0; + $6 = sp + 52|0; + $7 = sp + 24|0; + $8 = sp + 16|0; + $9 = sp + 8|0; + $10 = sp; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + HEAP32[$4>>2] = $0; + $14 = $5; + $15 = $14; + HEAP32[$15>>2] = $1; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $2; + HEAP32[$6>>2] = $3; + $18 = HEAP32[$6>>2]|0; + HEAP32[$13>>2] = $18; + $19 = HEAP32[$13>>2]|0; + $20 = ((($19)) + 60|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)>(0); + if ($22) { STACKTOP = sp;return; } - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 24|0); - $16 = +HEAPF64[$15>>3]; - HEAPF64[$iL>>3] = $16; - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 16|0); - $19 = $18; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (+($21>>>0)) + (4294967296.0*(+($24|0))); - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 24|0); - $28 = +HEAPF64[$27>>3]; - $29 = $25 - $28; - HEAPF64[$iR>>3] = $29; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 32|0); + $23 = HEAP32[$13>>2]|0; + $24 = ((($23)) + 24|0); + $25 = +HEAPF64[$24>>3]; + HEAPF64[$9>>3] = $25; + $26 = HEAP32[$13>>2]|0; + $27 = ((($26)) + 16|0); + $28 = $27; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; $32 = $31; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = $3; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; + $33 = HEAP32[$32>>2]|0; + $34 = (+($30>>>0)) + (4294967296.0*(+($33|0))); + $35 = HEAP32[$13>>2]|0; + $36 = ((($35)) + 24|0); + $37 = +HEAPF64[$36>>3]; + $38 = $34 - $37; + HEAPF64[$10>>3] = $38; + $39 = HEAP32[$13>>2]|0; + $40 = ((($39)) + 32|0); + $41 = $40; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = (_i64Add(($34|0),($37|0),($40|0),($43|0))|0); - $45 = tempRet0; - HEAP32[$il>>2] = $44; - $46 = HEAP32[$p>>2]|0; - $47 = ((($46)) + 16|0); + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = $5; $48 = $47; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$p>>2]|0; - $55 = ((($54)) + 32|0); - $56 = $55; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (_i64Add(($43|0),($46|0),($49|0),($52|0))|0); + $54 = tempRet0; + HEAP32[$11>>2] = $53; + $55 = HEAP32[$13>>2]|0; + $56 = ((($55)) + 16|0); $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = (($56) + 4)|0; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (_i64Subtract(($50|0),($53|0),($58|0),($61|0))|0); - $63 = tempRet0; - HEAP32[$ir>>2] = $62; - $64 = HEAP32[$il>>2]|0; - $65 = (+($64|0)); - $66 = +HEAPF64[$iL>>3]; - $67 = $65 >= $66; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$13>>2]|0; + $64 = ((($63)) + 32|0); + $65 = $64; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (($65) + 4)|0; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (_i64Subtract(($59|0),($62|0),($67|0),($70|0))|0); + $72 = tempRet0; + HEAP32[$12>>2] = $71; + $73 = HEAP32[$11>>2]|0; + $74 = (+($73|0)); + $75 = +HEAPF64[$9>>3]; + $76 = $74 >= $75; do { - if ($67) { - $68 = HEAP32[$ir>>2]|0; - $69 = (+($68|0)); - $70 = +HEAPF64[$iR>>3]; - $71 = $69 >= $70; - $72 = HEAP32[$p>>2]|0; - if (!($71)) { - $130 = ((($72)) + 60|0); - HEAP32[$130>>2] = 1; + if ($76) { + $77 = HEAP32[$12>>2]|0; + $78 = (+($77|0)); + $79 = +HEAPF64[$10>>3]; + $80 = $78 >= $79; + $81 = HEAP32[$13>>2]|0; + if (!($80)) { + $139 = ((($81)) + 60|0); + HEAP32[$139>>2] = 1; break; } - $73 = ((($72)) + 40|0); - $74 = $73; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (($74) + 4)|0; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (_i64Add(($76|0),($79|0),1,0)|0); - $81 = tempRet0; - $82 = $73; + $82 = ((($81)) + 40|0); $83 = $82; - HEAP32[$83>>2] = $80; - $84 = (($82) + 4)|0; - $85 = $84; - HEAP32[$85>>2] = $81; - $86 = HEAP32[$p>>2]|0; - $87 = ((($86)) + 48|0); - $88 = $87; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (_i64Add(($85|0),($88|0),1,0)|0); + $90 = tempRet0; + $91 = $82; $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (0)==($90|0); - $95 = (0)==($93|0); - $96 = $94 & $95; - $97 = HEAP32[$2>>2]|0; - if ($96) { - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)<(0); - $100 = $99 << 31 >> 31; - $101 = $ei; - $102 = $101; - HEAP32[$102>>2] = $98; - $103 = (($101) + 4)|0; - $104 = $103; - HEAP32[$104>>2] = $100; - $105 = $ei; - $106 = $105; + HEAP32[$92>>2] = $89; + $93 = (($91) + 4)|0; + $94 = $93; + HEAP32[$94>>2] = $90; + $95 = HEAP32[$13>>2]|0; + $96 = ((($95)) + 48|0); + $97 = $96; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (0)==($99|0); + $104 = (0)==($102|0); + $105 = $103 & $104; + $106 = HEAP32[$4>>2]|0; + if ($105) { $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$p>>2]|0; - $112 = $111; + $108 = ($107|0)<(0); + $109 = $108 << 31 >> 31; + $110 = $7; + $111 = $110; + HEAP32[$111>>2] = $107; + $112 = (($110) + 4)|0; $113 = $112; - $114 = HEAP32[$113>>2]|0; - $115 = (($112) + 4)|0; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = (_i64Add(($114|0),($117|0),($107|0),($110|0))|0); - $119 = tempRet0; - $120 = $111; + HEAP32[$113>>2] = $109; + $114 = $7; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (($114) + 4)|0; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$13>>2]|0; $121 = $120; - HEAP32[$121>>2] = $118; - $122 = (($120) + 4)|0; - $123 = $122; - HEAP32[$123>>2] = $119; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = (($121) + 4)|0; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (_i64Add(($123|0),($126|0),($116|0),($119|0))|0); + $128 = tempRet0; + $129 = $120; + $130 = $129; + HEAP32[$130>>2] = $127; + $131 = (($129) + 4)|0; + $132 = $131; + HEAP32[$132>>2] = $128; break; } else { - $124 = +HEAPF64[$97>>3]; - HEAPF64[$ed>>3] = $124; - $125 = +HEAPF64[$ed>>3]; - $126 = HEAP32[$p>>2]|0; - $127 = ((($126)) + 8|0); - $128 = +HEAPF64[$127>>3]; - $129 = $128 + $125; - HEAPF64[$127>>3] = $129; + $133 = +HEAPF64[$106>>3]; + HEAPF64[$8>>3] = $133; + $134 = +HEAPF64[$8>>3]; + $135 = HEAP32[$13>>2]|0; + $136 = ((($135)) + 8|0); + $137 = +HEAPF64[$136>>3]; + $138 = $137 + $134; + HEAPF64[$136>>3] = $138; break; } } } while(0); - $131 = $3; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = HEAP32[$p>>2]|0; - $138 = ((($137)) + 32|0); - $139 = $138; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = (($139) + 4)|0; - $143 = $142; - $144 = HEAP32[$143>>2]|0; - $145 = (_i64Add(($141|0),($144|0),($133|0),($136|0))|0); - $146 = tempRet0; - $147 = $138; + $140 = $5; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$13>>2]|0; + $147 = ((($146)) + 32|0); $148 = $147; - HEAP32[$148>>2] = $145; - $149 = (($147) + 4)|0; - $150 = $149; - HEAP32[$150>>2] = $146; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = (($148) + 4)|0; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = (_i64Add(($150|0),($153|0),($142|0),($145|0))|0); + $155 = tempRet0; + $156 = $147; + $157 = $156; + HEAP32[$157>>2] = $154; + $158 = (($156) + 4)|0; + $159 = $158; + HEAP32[$159>>2] = $155; STACKTOP = sp;return; } -function _sqlite3_compileoption_used($zOptName) { - $zOptName = $zOptName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, label = 0, sp = 0; +function _sqlite3_compileoption_used($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $i = sp + 4|0; - $n = sp; - HEAP32[$1>>2] = $zOptName; - $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3_strnicmp($2,17605,7)|0); - $4 = ($3|0)==(0); - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 7|0); - HEAP32[$1>>2] = $6; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_sqlite3_strnicmp($5,20055,7)|0); + $7 = ($6|0)==(0); + if ($7) { + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 7|0); + HEAP32[$2>>2] = $9; } - $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3Strlen30($7)|0); - HEAP32[$n>>2] = $8; - HEAP32[$i>>2] = 0; + $10 = HEAP32[$2>>2]|0; + $11 = (_sqlite3Strlen30($10)|0); + HEAP32[$4>>2] = $11; + HEAP32[$3>>2] = 0; while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = ($9|0)<(8); - if (!($10)) { + $12 = HEAP32[$3>>2]|0; + $13 = ($12|0)<(9); + if (!($13)) { label = 9; break; } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$i>>2]|0; - $13 = (976 + ($12<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$n>>2]|0; - $16 = (_sqlite3_strnicmp($11,$14,$15)|0); - $17 = ($16|0)==(0); - if ($17) { - $18 = HEAP32[$n>>2]|0; - $19 = HEAP32[$i>>2]|0; - $20 = (976 + ($19<<2)|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($18)|0); - $23 = HEAP8[$22>>0]|0; - $24 = (_sqlite3IsIdChar($23)|0); - $25 = ($24|0)==(0); - if ($25) { + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = (940 + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = (_sqlite3_strnicmp($14,$17,$18)|0); + $20 = ($19|0)==(0); + if ($20) { + $21 = HEAP32[$3>>2]|0; + $22 = (940 + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = (($23) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = (_sqlite3IsIdChar($26)|0); + $28 = ($27|0)==(0); + if ($28) { label = 7; break; } } - $26 = HEAP32[$i>>2]|0; - $27 = (($26) + 1)|0; - HEAP32[$i>>2] = $27; + $29 = HEAP32[$3>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$3>>2] = $30; } if ((label|0) == 7) { - HEAP32[$0>>2] = 1; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + HEAP32[$1>>2] = 1; + $31 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($31|0); } else if ((label|0) == 9) { - HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + HEAP32[$1>>2] = 0; + $31 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($31|0); } return (0)|0; } -function _sqlite3_strnicmp($zLeft,$zRight,$N) { - $zLeft = $zLeft|0; - $zRight = $zRight|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $b = 0, label = 0, sp = 0; +function _sqlite3_strnicmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $a = sp + 4|0; - $b = sp; - HEAP32[$1>>2] = $zLeft; - HEAP32[$2>>2] = $zRight; - HEAP32[$3>>2] = $N; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - $6 = HEAP32[$2>>2]|0; - if ($5) { - $7 = ($6|0)!=(0|0); - $8 = $7 ? -1 : 0; - HEAP32[$0>>2] = $8; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)==(0|0); + $11 = HEAP32[$5>>2]|0; + if ($10) { + $12 = ($11|0)!=(0|0); + $13 = $12 ? -1 : 0; + HEAP32[$3>>2] = $13; + $57 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($57|0); } - $9 = ($6|0)==(0|0); - if ($9) { - HEAP32[$0>>2] = 1; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + $14 = ($11|0)==(0|0); + if ($14) { + HEAP32[$3>>2] = 1; + $57 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($57|0); } - $10 = HEAP32[$1>>2]|0; - HEAP32[$a>>2] = $10; - $11 = HEAP32[$2>>2]|0; - HEAP32[$b>>2] = $11; + $15 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $15; + $16 = HEAP32[$5>>2]|0; + HEAP32[$8>>2] = $16; while(1) { - $12 = HEAP32[$3>>2]|0; - $13 = (($12) + -1)|0; - HEAP32[$3>>2] = $13; - $14 = ($12|0)>(0); - if (!($14)) { + $17 = HEAP32[$6>>2]|0; + $18 = (($17) + -1)|0; + HEAP32[$6>>2] = $18; + $19 = ($17|0)>(0); + if (!($19)) { break; } - $15 = HEAP32[$a>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = ($17|0)!=(0); - if (!($18)) { + $20 = HEAP32[$7>>2]|0; + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)!=(0); + if (!($23)) { break; } - $19 = HEAP32[$a>>2]|0; - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = (17613 + ($21)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = HEAP32[$b>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (17613 + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = ($24|0)==($30|0); - if (!($31)) { + $24 = HEAP32[$7>>2]|0; + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = (20458 + ($26)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = HEAP32[$8>>2]|0; + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = (20458 + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = ($29|0)==($35|0); + if (!($36)) { break; } - $32 = HEAP32[$a>>2]|0; - $33 = ((($32)) + 1|0); - HEAP32[$a>>2] = $33; - $34 = HEAP32[$b>>2]|0; - $35 = ((($34)) + 1|0); - HEAP32[$b>>2] = $35; + $37 = HEAP32[$7>>2]|0; + $38 = ((($37)) + 1|0); + HEAP32[$7>>2] = $38; + $39 = HEAP32[$8>>2]|0; + $40 = ((($39)) + 1|0); + HEAP32[$8>>2] = $40; } - $36 = HEAP32[$3>>2]|0; - $37 = ($36|0)<(0); - if ($37) { - $51 = 0; + $41 = HEAP32[$6>>2]|0; + $42 = ($41|0)<(0); + if ($42) { + $56 = 0; } else { - $38 = HEAP32[$a>>2]|0; - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = (17613 + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = HEAP32[$b>>2]|0; - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $47 = (17613 + ($46)|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - $50 = (($43) - ($49))|0; - $51 = $50; + $43 = HEAP32[$7>>2]|0; + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = (20458 + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = HEAP32[$8>>2]|0; + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = (20458 + ($51)|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = (($48) - ($54))|0; + $56 = $55; } - HEAP32[$0>>2] = $51; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + HEAP32[$3>>2] = $56; + $57 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($57|0); } -function _sqlite3_compileoption_get($N) { - $N = $N|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; +function _sqlite3Strlen30($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + HEAP32[$1>>2] = 0; + } else { + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = 1073741823 & $6; + HEAP32[$1>>2] = $7; + } + $8 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($8|0); +} +function _sqlite3IsIdChar($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$1>>2] = $N; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>=(0); - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)<(8); - $or$cond = $3 & $5; + HEAP8[$1>>0] = $0; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = (20063 + ($3)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $6 & 70; + $8 = ($7|0)!=(0); + $9 = $8&1; + STACKTOP = sp;return ($9|0); +} +function _sqlite3_compileoption_get($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>=(0); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)<(9); + $or$cond = $4 & $6; if ($or$cond) { - $6 = HEAP32[$1>>2]|0; - $7 = (976 + ($6<<2)|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$0>>2] = $8; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); + $7 = HEAP32[$2>>2]|0; + $8 = (940 + ($7<<2)|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$1>>2] = $9; + $10 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($10|0); } else { - HEAP32[$0>>2] = 0; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); + HEAP32[$1>>2] = 0; + $10 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($10|0); } return (0)|0; } -function _sqlite3_status64($op,$pCurrent,$pHighwater,$resetFlag) { - $op = $op|0; - $pCurrent = $pCurrent|0; - $pHighwater = $pHighwater|0; - $resetFlag = $resetFlag|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $or$cond = 0, $pMutex = 0, label = 0, sp = 0; +function _sqlite3_status64($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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $pMutex = sp; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $pCurrent; - HEAP32[$3>>2] = $pHighwater; - HEAP32[$4>>2] = $resetFlag; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)<(0); - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)>=(10); - $or$cond = $6 | $8; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)<(0); + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)>=(10); + $or$cond = $11 | $13; if ($or$cond) { - $9 = (_sqlite3MisuseError(18365)|0); - HEAP32[$0>>2] = $9; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); + $14 = (_sqlite3MisuseError(18365)|0); + HEAP32[$4>>2] = $14; + $48 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($48|0); } - $10 = HEAP32[$1>>2]|0; - $11 = (17869 + ($10)|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12 << 24 >> 24; - $14 = ($13|0)!=(0); - if ($14) { - $15 = (_sqlite3Pcache1Mutex()|0); - $17 = $15; + $15 = HEAP32[$5>>2]|0; + $16 = (20714 + ($15)|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17 << 24 >> 24; + $19 = ($18|0)!=(0); + if ($19) { + $20 = (_sqlite3Pcache1Mutex()|0); + $22 = $20; } else { - $16 = (_sqlite3MallocMutex()|0); - $17 = $16; + $21 = (_sqlite3MallocMutex()|0); + $22 = $21; } - HEAP32[$pMutex>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = (1008 + ($18<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = $21; - $23 = $22; - HEAP32[$23>>2] = $20; - $24 = (($22) + 4)|0; - $25 = $24; - HEAP32[$25>>2] = 0; - $26 = HEAP32[$1>>2]|0; - $27 = ((1048) + ($26<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$3>>2]|0; - $30 = $29; + HEAP32[$9>>2] = $22; + $23 = HEAP32[$9>>2]|0; + _sqlite3_mutex_enter($23); + $24 = HEAP32[$5>>2]|0; + $25 = (54516 + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = $27; + $29 = $28; + HEAP32[$29>>2] = $26; + $30 = (($28) + 4)|0; $31 = $30; - HEAP32[$31>>2] = $28; - $32 = (($30) + 4)|0; - $33 = $32; - HEAP32[$33>>2] = 0; - $34 = HEAP32[$4>>2]|0; - $35 = ($34|0)!=(0); - if ($35) { - $36 = HEAP32[$1>>2]|0; - $37 = (1008 + ($36<<2)|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = ((1048) + ($39<<2)|0); - HEAP32[$40>>2] = $38; + HEAP32[$31>>2] = 0; + $32 = HEAP32[$5>>2]|0; + $33 = ((54556) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = $35; + $37 = $36; + HEAP32[$37>>2] = $34; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = 0; + $40 = HEAP32[$8>>2]|0; + $41 = ($40|0)!=(0); + if ($41) { + $42 = HEAP32[$5>>2]|0; + $43 = (54516 + ($42<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$5>>2]|0; + $46 = ((54556) + ($45<<2)|0); + HEAP32[$46>>2] = $44; } - HEAP32[$0>>2] = 0; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); + $47 = HEAP32[$9>>2]|0; + _sqlite3_mutex_leave($47); + HEAP32[$4>>2] = 0; + $48 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($48|0); } -function _sqlite3_vfs_find($zVfs) { - $zVfs = $zVfs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $or$cond = 0, $pVfs = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3MisuseError($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pVfs = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $zVfs; - HEAP32[$pVfs>>2] = 0; - $2 = (_sqlite3_initialize()|0); - HEAP32[$rc>>2] = $2; - $3 = HEAP32[$rc>>2]|0; - $4 = ($3|0)!=(0); - if ($4) { - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } - $5 = HEAP32[1088>>2]|0; - HEAP32[$pVfs>>2] = $5; - while(1) { - $6 = HEAP32[$pVfs>>2]|0; - $7 = ($6|0)==(0|0); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); - $or$cond = $7 | $9; - if ($or$cond) { - break; - } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$pVfs>>2]|0; - $12 = ((($11)) + 16|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_strcmp($10,$13)|0); - $15 = ($14|0)==(0); - if ($15) { - break; - } - $16 = HEAP32[$pVfs>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$pVfs>>2] = $18; - } - $19 = HEAP32[$pVfs>>2]|0; - HEAP32[$0>>2] = $19; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_reportError(21,$2,20724)|0); + STACKTOP = sp;return ($3|0); } -function _sqlite3_initialize() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _sqlite3Pcache1Mutex() { + var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - $1 = HEAP32[(236)>>2]|0; - $2 = ($1|0)!=(0); - if ($2) { - HEAP32[$0>>2] = 0; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); - } - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$rc>>2]|0; - $4 = ($3|0)!=(0); - if ($4) { - $5 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $5; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); - } - HEAP32[(244)>>2] = 1; - $6 = HEAP32[(248)>>2]|0; - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (_sqlite3MallocInit()|0); - HEAP32[$rc>>2] = $8; - } - $9 = HEAP32[$rc>>2]|0; - $10 = ($9|0)==(0); - if ($10) { - HEAP32[(248)>>2] = 1; - $11 = HEAP32[(260)>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { - HEAP32[(260)>>2] = (8); - $13 = HEAP32[(12)>>2]|0; - $14 = ($13|0)==(0); - $15 = HEAP32[(260)>>2]|0; - $16 = ($15|0)!=(0|0); - $or$cond = $14 | $16; - if (!($or$cond)) { - HEAP32[$rc>>2] = 7; - } - } - } - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)==(0); - if ($18) { - $19 = HEAP32[(256)>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[(256)>>2] = $20; - } - $21 = HEAP32[$rc>>2]|0; - $22 = ($21|0)!=(0); - if ($22) { - $23 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $23; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); - } - $24 = HEAP32[(236)>>2]|0; - $25 = ($24|0)==(0); - $26 = HEAP32[(240)>>2]|0; - $27 = ($26|0)==(0); - $or$cond3 = $25 & $27; - if ($or$cond3) { - HEAP32[(240)>>2] = 1; - dest=1092; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _sqlite3RegisterBuiltinFunctions(); - $28 = HEAP32[(252)>>2]|0; - $29 = ($28|0)==(0); - if ($29) { - $30 = (_sqlite3PcacheInitialize()|0); - HEAP32[$rc>>2] = $30; - } - $31 = HEAP32[$rc>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - HEAP32[(252)>>2] = 1; - $33 = (_sqlite3OsInit()|0); - HEAP32[$rc>>2] = $33; - } - $34 = HEAP32[$rc>>2]|0; - $35 = ($34|0)==(0); - if ($35) { - $36 = HEAP32[(212)>>2]|0; - $37 = HEAP32[(216)>>2]|0; - $38 = HEAP32[(220)>>2]|0; - _sqlite3PCacheBufferSetup($36,$37,$38); - HEAP32[(236)>>2] = 1; - } - HEAP32[(240)>>2] = 0; - } - $39 = HEAP32[(256)>>2]|0; - $40 = (($39) + -1)|0; - HEAP32[(256)>>2] = $40; - $41 = HEAP32[(256)>>2]|0; - $42 = ($41|0)<=(0); - if ($42) { - HEAP32[(260)>>2] = 0; - } - $43 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $43; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); + $0 = HEAP32[(54680)>>2]|0; + return ($0|0); +} +function _sqlite3MallocMutex() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[13620]|0; + return ($0|0); } -function _sqlite3_vfs_register($pVfs,$makeDflt) { - $pVfs = $pVfs|0; - $makeDflt = $makeDflt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3_mutex_enter($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pVfs; - HEAP32[$2>>2] = $makeDflt; - $3 = (_sqlite3_initialize()|0); - HEAP32[$rc>>2] = $3; - $4 = HEAP32[$rc>>2]|0; - $5 = ($4|0)!=(0); - if ($5) { - $6 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $6; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); - } - $7 = HEAP32[$1>>2]|0; - _vfsUnlink($7); - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)!=(0); - $10 = HEAP32[1088>>2]|0; - $11 = ($10|0)==(0|0); - $or$cond = $9 | $11; - $12 = HEAP32[1088>>2]|0; - if ($or$cond) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 12|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$1>>2]|0; - HEAP32[1088>>2] = $15; - } else { - $16 = ((($12)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 12|0); - HEAP32[$19>>2] = $17; - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[1088>>2]|0; - $22 = ((($21)) + 12|0); - HEAP32[$22>>2] = $20; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + STACKTOP = sp;return; } - HEAP32[$0>>2] = 0; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); + $4 = HEAP32[(96)>>2]|0; + $5 = HEAP32[$1>>2]|0; + FUNCTION_TABLE_vi[$4 & 255]($5); + STACKTOP = sp;return; } -function _sqlite3_release_memory($n) { - $n = $n|0; - var $0 = 0, label = 0, sp = 0; +function _sqlite3_mutex_leave($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $n; - STACKTOP = sp;return 0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + STACKTOP = sp;return; + } + $4 = HEAP32[(104)>>2]|0; + $5 = HEAP32[$1>>2]|0; + FUNCTION_TABLE_vi[$4 & 255]($5); + STACKTOP = sp;return; } -function _sqlite3_soft_heap_limit64($0,$1) { +function _reportError($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $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, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $excess = 0, $nUsed = 0, $priorLimit = 0, $rc = 0, label = 0, sp = 0; + $2 = $2|0; + var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 32|0; - $3 = sp + 24|0; - $priorLimit = sp + 16|0; - $excess = sp + 8|0; - $nUsed = sp; - $rc = sp + 40|0; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = (_sqlite3_initialize()|0); - HEAP32[$rc>>2] = $8; - $9 = HEAP32[$rc>>2]|0; - $10 = ($9|0)!=(0); - if ($10) { - $11 = $2; - $12 = $11; - HEAP32[$12>>2] = -1; - $13 = (($11) + 4)|0; - $14 = $13; - HEAP32[$14>>2] = -1; - $130 = $2; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (($130) + 4)|0; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - tempRet0 = ($135); - STACKTOP = sp;return ($132|0); - } - $15 = (296); - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $priorLimit; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = $3; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)<(0); - if ($31) { - $32 = $priorLimit; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = $2; - $39 = $38; - HEAP32[$39>>2] = $34; - $40 = (($38) + 4)|0; - $41 = $40; - HEAP32[$41>>2] = $37; - $130 = $2; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (($130) + 4)|0; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - tempRet0 = ($135); - STACKTOP = sp;return ($132|0); - } - $42 = $3; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (296); - $49 = $48; - HEAP32[$49>>2] = $44; - $50 = (($48) + 4)|0; - $51 = $50; - HEAP32[$51>>2] = $47; - $52 = (_sqlite3StatusValue(0)|0); - $53 = tempRet0; - $54 = $nUsed; - $55 = $54; - HEAP32[$55>>2] = $52; - $56 = (($54) + 4)|0; - $57 = $56; - HEAP32[$57>>2] = $53; - $58 = $3; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)>(0); - $65 = ($60>>>0)>(0); - $66 = ($63|0)==(0); - $67 = $66 & $65; - $68 = $64 | $67; - if ($68) { - $69 = $3; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = $nUsed; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = ($74|0)<($80|0); - $82 = ($71>>>0)<=($77>>>0); - $83 = ($74|0)==($80|0); - $84 = $83 & $82; - $85 = $81 | $84; - $87 = $85; - } else { - $87 = 0; - } - $86 = $87&1; - HEAP32[(316)>>2] = $86; - $88 = (_sqlite3_memory_used()|0); - $89 = tempRet0; - $90 = $3; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $93 = (($90) + 4)|0; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = (_i64Subtract(($88|0),($89|0),($92|0),($95|0))|0); - $97 = tempRet0; - $98 = $excess; - $99 = $98; - HEAP32[$99>>2] = $96; - $100 = (($98) + 4)|0; - $101 = $100; - HEAP32[$101>>2] = $97; - $102 = $excess; - $103 = $102; - $104 = HEAP32[$103>>2]|0; - $105 = (($102) + 4)|0; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)>(0); - $109 = ($104>>>0)>(0); - $110 = ($107|0)==(0); - $111 = $110 & $109; - $112 = $108 | $111; - if ($112) { - $113 = $excess; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = (($113) + 4)|0; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = $115 & 2147483647; - (_sqlite3_release_memory($119)|0); - } - $120 = $priorLimit; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = (($120) + 4)|0; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = $2; - $127 = $126; - HEAP32[$127>>2] = $122; - $128 = (($126) + 4)|0; - $129 = $128; - HEAP32[$129>>2] = $125; - $130 = $2; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (($130) + 4)|0; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - tempRet0 = ($135); - STACKTOP = sp;return ($132|0); + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$5>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (_sqlite3_sourceid()|0); + $10 = ((($9)) + 20|0); + HEAP32[$vararg_buffer>>2] = $7; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + _sqlite3_log($6,20731,$vararg_buffer); + $11 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($11|0); } -function _sqlite3_memory_used() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $mx = 0, $res = 0, label = 0, sp = 0; +function _sqlite3_sourceid() { + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $res = sp + 8|0; - $mx = sp; - (_sqlite3_status64(0,$res,$mx,0)|0); - $0 = $res; - $1 = $0; - $2 = HEAP32[$1>>2]|0; - $3 = (($0) + 4)|0; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - tempRet0 = ($5); - STACKTOP = sp;return ($2|0); + return (24727|0); } -function _sqlite3_malloc($n) { - $n = $n|0; - var $0 = 0, $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; +function _sqlite3_log($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $n; - $2 = (_sqlite3_initialize()|0); - $3 = ($2|0)!=(0); - if ($3) { - HEAP32[$0>>2] = 0; - $11 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($11|0); - } - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)<=(0); - if ($5) { - $10 = 0; - } else { - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)<(0); - $8 = $7 << 31 >> 31; - $9 = (_sqlite3Malloc($6,$8)|0); - $10 = $9; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[(264)>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + STACKTOP = sp;return; } - HEAP32[$0>>2] = $10; - $11 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($11|0); + HEAP32[$4>>2] = $varargs; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$3>>2]|0; + _renderLogMsg($7,$8,$4); + STACKTOP = sp;return; } -function _sqlite3_malloc64($0,$1) { +function _renderLogMsg($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 8|0; - $3 = sp; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = (_sqlite3_initialize()|0); - $9 = ($8|0)!=(0); - if ($9) { - HEAP32[$2>>2] = 0; - $17 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($17|0); - } else { - $10 = $3; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3Malloc($12,$15)|0); - HEAP32[$2>>2] = $16; - $17 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($17|0); - } - return (0)|0; -} -function _sqlite3_free($p) { - $p = $p|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; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - STACKTOP = sp;return; - } - $3 = HEAP32[8>>2]|0; - $4 = ($3|0)!=(0); - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = (_sqlite3MallocSize($5)|0); - _sqlite3StatusDown(0,$6); - _sqlite3StatusDown(9,1); - $7 = HEAP32[(52)>>2]|0; - $8 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_vi[$7 & 255]($8); - STACKTOP = sp;return; - } else { - $9 = HEAP32[(52)>>2]|0; - $10 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_vi[$9 & 255]($10); - STACKTOP = sp;return; - } -} -function _sqlite3_realloc($pOld,$n) { - $pOld = $pOld|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pOld; - HEAP32[$2>>2] = $n; - $3 = (_sqlite3_initialize()|0); - $4 = ($3|0)!=(0); - if ($4) { - HEAP32[$0>>2] = 0; - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); - } - $5 = HEAP32[$2>>2]|0; - $6 = ($5|0)<(0); - if ($6) { - HEAP32[$2>>2] = 0; - } - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)<(0); - $10 = $9 << 31 >> 31; - $11 = (_sqlite3Realloc($7,$8,$10)|0); - HEAP32[$0>>2] = $11; - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); + STACKTOP = STACKTOP + 256|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp; + $7 = sp + 40|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + _sqlite3StrAccumInit($6,0,$7,210,0); + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + _sqlite3VXPrintf($6,$8,$9); + $10 = HEAP32[(264)>>2]|0; + $11 = HEAP32[(268)>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (_sqlite3StrAccumFinish($6)|0); + FUNCTION_TABLE_viii[$10 & 255]($11,$12,$13); + STACKTOP = sp;return; } -function _sqlite3_realloc64($pOld,$0,$1) { - $pOld = $pOld|0; +function _sqlite3StrAccumInit($0,$1,$2,$3,$4) { $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; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp; - HEAP32[$3>>2] = $pOld; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = (_sqlite3_initialize()|0); - $10 = ($9|0)!=(0); - if ($10) { - HEAP32[$2>>2] = 0; - $19 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($19|0); - } else { - $11 = HEAP32[$3>>2]|0; - $12 = $4; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3Realloc($11,$14,$17)|0); - HEAP32[$2>>2] = $18; - $19 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($19|0); - } - return (0)|0; -} -function _sqlite3_vmprintf($zFormat,$ap) { - $zFormat = $zFormat|0; - $ap = $ap|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $acc = 0, $z = 0, $zBase = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $z = sp + 28|0; - $zBase = sp + 44|0; - $acc = sp; - HEAP32[$1>>2] = $zFormat; - HEAP32[$2>>2] = $ap; - $3 = (_sqlite3_initialize()|0); - $4 = ($3|0)!=(0); - if ($4) { - HEAP32[$0>>2] = 0; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); - } else { - _sqlite3StrAccumInit($acc,0,$zBase,70,1000000000); - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - _sqlite3VXPrintf($acc,$5,$6); - $7 = (_sqlite3StrAccumFinish($acc)|0); - HEAP32[$z>>2] = $7; - $8 = HEAP32[$z>>2]|0; - HEAP32[$0>>2] = $8; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); - } - return (0)|0; -} -function _sqlite3_mprintf($zFormat,$varargs) { - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $ap = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $ap = sp + 8|0; - $z = sp; - HEAP32[$1>>2] = $zFormat; - $2 = (_sqlite3_initialize()|0); - $3 = ($2|0)!=(0); - if ($3) { - HEAP32[$0>>2] = 0; - $7 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($7|0); - } else { - HEAP32[$ap>>2] = $varargs; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3_vmprintf($4,$ap)|0); - HEAP32[$z>>2] = $5; - $6 = HEAP32[$z>>2]|0; - HEAP32[$0>>2] = $6; - $7 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($7|0); - } - return (0)|0; -} -function _sqlite3_vsnprintf($n,$zBuf,$zFormat,$ap) { - $n = $n|0; - $zBuf = $zBuf|0; - $zFormat = $zFormat|0; - $ap = $ap|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $acc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $acc = sp; - HEAP32[$1>>2] = $n; - HEAP32[$2>>2] = $zBuf; - HEAP32[$3>>2] = $zFormat; - HEAP32[$4>>2] = $ap; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)<=(0); - $7 = HEAP32[$2>>2]|0; - if ($6) { - HEAP32[$0>>2] = $7; - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); - } else { - $8 = HEAP32[$1>>2]|0; - _sqlite3StrAccumInit($acc,0,$7,$8,0); - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$4>>2]|0; - _sqlite3VXPrintf($acc,$9,$10); - $11 = (_sqlite3StrAccumFinish($acc)|0); - HEAP32[$0>>2] = $11; - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); - } - return (0)|0; -} -function _sqlite3_snprintf($n,$zBuf,$zFormat,$varargs) { - $n = $n|0; - $zBuf = $zBuf|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $ap = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $z = sp + 16|0; - $ap = sp; - HEAP32[$0>>2] = $n; - HEAP32[$1>>2] = $zBuf; - HEAP32[$2>>2] = $zFormat; - HEAP32[$ap>>2] = $varargs; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3_vsnprintf($3,$4,$5,$ap)|0); - HEAP32[$z>>2] = $6; - $7 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($7|0); -} -function _sqlite3_log($iErrCode,$zFormat,$varargs) { - $iErrCode = $iErrCode|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ap = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $ap = sp; - HEAP32[$0>>2] = $iErrCode; - HEAP32[$1>>2] = $zFormat; - $2 = HEAP32[(264)>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; - } - HEAP32[$ap>>2] = $varargs; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - _renderLogMsg($4,$5,$ap); + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $10 = HEAP32[$7>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 4|0); + HEAP32[$12>>2] = $10; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 8|0); + HEAP32[$14>>2] = $10; + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$5>>2]|0; + HEAP32[$16>>2] = $15; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 12|0); + HEAP32[$18>>2] = 0; + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 16|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$9>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 20|0); + HEAP32[$24>>2] = $22; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 24|0); + HEAP8[$26>>0] = 0; + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 25|0); + HEAP8[$28>>0] = 0; STACKTOP = sp;return; } -function _sqlite3_randomness($N,$pBuf) { - $N = $N|0; - $pBuf = $pBuf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $k = 0, $or$cond = 0, $t = 0, $zBuf = 0, label = 0, sp = 0; +function _sqlite3VXPrintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0; + var $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0; + var $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0; + var $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0; + var $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, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0; + var $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0; + var $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0; + var $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0; + var $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0; + var $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0; + var $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0; + var $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0; + var $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0; + var $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 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, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0; + var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0; + var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0; + var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0; + var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0; + var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0; + var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0; + var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0; + var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0; + var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0; + var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0; + var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0; + var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0.0; + var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0.0, $632 = 0.0, $633 = 0, $634 = 0, $635 = 0.0, $636 = 0, $637 = 0.0, $638 = 0.0, $639 = 0, $64 = 0, $640 = 0, $641 = 0; + var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0.0, $657 = 0.0, $658 = 0, $659 = 0, $66 = 0; + var $660 = 0, $661 = 0.0, $662 = 0.0, $663 = 0.0, $664 = 0.0, $665 = 0, $666 = 0, $667 = 0.0, $668 = 0, $669 = 0.0, $67 = 0, $670 = 0.0, $671 = 0.0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0.0, $677 = 0.0, $678 = 0; + var $679 = 0, $68 = 0, $680 = 0.0, $681 = 0.0, $682 = 0.0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0.0, $688 = 0.0, $689 = 0, $69 = 0, $690 = 0, $691 = 0.0, $692 = 0.0, $693 = 0.0, $694 = 0, $695 = 0, $696 = 0; + var $697 = 0, $698 = 0.0, $699 = 0.0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0.0, $703 = 0.0, $704 = 0.0, $705 = 0, $706 = 0.0, $707 = 0.0, $708 = 0, $709 = 0, $71 = 0, $710 = 0.0, $711 = 0, $712 = 0.0, $713 = 0.0; + var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0; + var $732 = 0.0, $733 = 0.0, $734 = 0.0, $735 = 0.0, $736 = 0, $737 = 0.0, $738 = 0.0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0; + var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0; + var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0; + var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0; + var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0; + var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0; + var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0; + var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0; + var $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0; + var $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0; + var $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0; + var $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0; + var $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0; + var $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0; + var $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $arglist_current = 0, $arglist_current12 = 0, $arglist_current15 = 0, $arglist_current18 = 0; + var $arglist_current21 = 0, $arglist_current24 = 0, $arglist_current27 = 0, $arglist_current30 = 0, $arglist_current33 = 0, $arglist_current36 = 0, $arglist_current39 = 0, $arglist_current42 = 0, $arglist_current45 = 0, $arglist_current48 = 0, $arglist_current51 = 0, $arglist_next = 0, $arglist_next13 = 0, $arglist_next16 = 0, $arglist_next19 = 0, $arglist_next22 = 0, $arglist_next25 = 0, $arglist_next28 = 0, $arglist_next31 = 0, $arglist_next34 = 0; + var $arglist_next37 = 0, $arglist_next40 = 0, $arglist_next43 = 0, $arglist_next46 = 0, $arglist_next49 = 0, $arglist_next52 = 0, $expanded = 0, $expanded101 = 0, $expanded102 = 0, $expanded104 = 0, $expanded105 = 0, $expanded106 = 0, $expanded108 = 0, $expanded109 = 0, $expanded111 = 0, $expanded112 = 0, $expanded113 = 0, $expanded115 = 0, $expanded116 = 0, $expanded118 = 0; + var $expanded119 = 0, $expanded120 = 0, $expanded122 = 0, $expanded123 = 0, $expanded125 = 0, $expanded126 = 0, $expanded127 = 0, $expanded129 = 0, $expanded130 = 0, $expanded132 = 0, $expanded133 = 0, $expanded134 = 0, $expanded136 = 0, $expanded137 = 0, $expanded139 = 0, $expanded140 = 0, $expanded141 = 0, $expanded143 = 0, $expanded144 = 0, $expanded146 = 0; + var $expanded147 = 0, $expanded148 = 0, $expanded150 = 0, $expanded151 = 0, $expanded153 = 0, $expanded154 = 0, $expanded155 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded57 = 0, $expanded59 = 0, $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded64 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0; + var $expanded71 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded78 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded85 = 0, $expanded87 = 0, $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded92 = 0, $expanded94 = 0, $expanded95 = 0, $expanded97 = 0, $expanded98 = 0; + var $expanded99 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond4 = 0, $or$cond6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $t = sp + 272|0; - $zBuf = sp + 4|0; - $i = sp; - $k = sp + 16|0; - HEAP32[$0>>2] = $N; - HEAP32[$1>>2] = $pBuf; - $2 = HEAP32[$1>>2]|0; - HEAP32[$zBuf>>2] = $2; - $3 = (_sqlite3_initialize()|0); - $4 = ($3|0)!=(0); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$0>>2]|0; - $6 = ($5|0)<=(0); - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)==(0|0); - $or$cond = $6 | $8; - if ($or$cond) { - HEAP8[17879>>0] = 0; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 352|0; + $3 = sp + 256|0; + $4 = sp + 252|0; + $5 = sp + 248|0; + $6 = sp + 244|0; + $7 = sp + 240|0; + $8 = sp + 236|0; + $9 = sp + 232|0; + $10 = sp + 228|0; + $11 = sp + 224|0; + $12 = sp + 348|0; + $13 = sp + 347|0; + $14 = sp + 346|0; + $15 = sp + 345|0; + $16 = sp + 344|0; + $17 = sp + 343|0; + $18 = sp + 342|0; + $19 = sp + 341|0; + $20 = sp + 340|0; + $21 = sp + 339|0; + $22 = sp + 338|0; + $23 = sp + 337|0; + $24 = sp + 336|0; + $25 = sp + 56|0; + $26 = sp + 48|0; + $27 = sp + 220|0; + $28 = sp + 216|0; + $29 = sp + 212|0; + $30 = sp + 208|0; + $31 = sp + 204|0; + $32 = sp + 200|0; + $33 = sp + 196|0; + $34 = sp + 40|0; + $35 = sp + 335|0; + $36 = sp + 334|0; + $37 = sp + 192|0; + $38 = sp + 264|0; + $39 = sp + 188|0; + $40 = sp + 184|0; + $41 = sp + 180|0; + $42 = sp + 176|0; + $43 = sp + 172|0; + $44 = sp + 32|0; + $45 = sp + 24|0; + $46 = sp + 168|0; + $47 = sp + 164|0; + $48 = sp + 16|0; + $49 = sp + 160|0; + $50 = sp + 156|0; + $51 = sp + 152|0; + $52 = sp + 148|0; + $53 = sp + 263|0; + $54 = sp + 144|0; + $55 = sp + 262|0; + $56 = sp + 8|0; + $57 = sp; + $58 = sp + 140|0; + $59 = sp + 136|0; + $60 = sp + 132|0; + $61 = sp + 128|0; + $62 = sp + 124|0; + $63 = sp + 120|0; + $64 = sp + 116|0; + $65 = sp + 112|0; + $66 = sp + 108|0; + $67 = sp + 104|0; + $68 = sp + 100|0; + $69 = sp + 261|0; + $70 = sp + 260|0; + $71 = sp + 96|0; + $72 = sp + 92|0; + $73 = sp + 88|0; + $74 = sp + 84|0; + $75 = sp + 80|0; + $76 = sp + 76|0; + $77 = sp + 72|0; + $78 = sp + 68|0; + $79 = sp + 64|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP8[$21>>0] = 16; + HEAP32[$30>>2] = 0; + HEAP32[$37>>2] = 0; + HEAP32[$7>>2] = 0; + $80 = HEAP32[$3>>2]|0; + $81 = ((($80)) + 25|0); + $82 = HEAP8[$81>>0]|0; + $83 = ($82<<24>>24)!=(0); + if ($83) { + $84 = HEAP32[$3>>2]|0; + $85 = ((($84)) + 25|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = $87 & 2; + $89 = $88&255; + HEAP8[$22>>0] = $89; + $90 = $89&255; + $91 = ($90|0)!=(0); + if ($91) { + $92 = HEAP32[$5>>2]|0; + $arglist_current = HEAP32[$92>>2]|0; + $93 = $arglist_current; + $94 = ((0) + 4|0); + $expanded53 = $94; + $expanded = (($expanded53) - 1)|0; + $95 = (($93) + ($expanded))|0; + $96 = ((0) + 4|0); + $expanded57 = $96; + $expanded56 = (($expanded57) - 1)|0; + $expanded55 = $expanded56 ^ -1; + $97 = $95 & $expanded55; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $arglist_next = ((($98)) + 4|0); + HEAP32[$92>>2] = $arglist_next; + HEAP32[$39>>2] = $99; + $100 = HEAP32[$39>>2]|0; + HEAP32[$37>>2] = $100; + } + $101 = HEAP32[$3>>2]|0; + $102 = ((($101)) + 25|0); + $103 = HEAP8[$102>>0]|0; + $104 = $103&255; + $105 = $104 & 1; + $106 = $105&255; + HEAP8[$23>>0] = $106; + } else { + HEAP8[$23>>0] = 0; + HEAP8[$22>>0] = 0; } - $9 = HEAP8[17879>>0]|0; - $10 = ($9<<24>>24)!=(0); - if (!($10)) { - HEAP8[(17881)>>0] = 0; - HEAP8[(17880)>>0] = 0; - $11 = (_sqlite3_vfs_find(0)|0); - (_sqlite3OsRandomness($11,256,$k)|0); - HEAP32[$i>>2] = 0; - while(1) { - $12 = HEAP32[$i>>2]|0; - $13 = ($12|0)<(256); - if (!($13)) { - break; - } - $14 = HEAP32[$i>>2]|0; - $15 = $14&255; - $16 = HEAP32[$i>>2]|0; - $17 = ((17882) + ($16)|0); - HEAP8[$17>>0] = $15; - $18 = HEAP32[$i>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$i>>2] = $19; + L7: while(1) { + $107 = HEAP32[$4>>2]|0; + $108 = HEAP8[$107>>0]|0; + $109 = $108 << 24 >> 24; + HEAP32[$6>>2] = $109; + $110 = ($109|0)!=(0); + if (!($110)) { + label = 272; + break; } - HEAP32[$i>>2] = 0; - while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = ($20|0)<(256); - if (!($21)) { + $111 = HEAP32[$6>>2]|0; + $112 = ($111|0)!=(37); + if ($112) { + $113 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $113; + while(1) { + $114 = HEAP32[$4>>2]|0; + $115 = ((($114)) + 1|0); + HEAP32[$4>>2] = $115; + $116 = HEAP32[$4>>2]|0; + $117 = HEAP8[$116>>0]|0; + $118 = $117 << 24 >> 24; + $119 = ($118|0)!=(0); + if (!($119)) { + break; + } + $120 = HEAP32[$4>>2]|0; + $121 = HEAP8[$120>>0]|0; + $122 = $121 << 24 >> 24; + $123 = ($122|0)!=(37); + if (!($123)) { + break; + } + } + $124 = HEAP32[$3>>2]|0; + $125 = HEAP32[$7>>2]|0; + $126 = HEAP32[$4>>2]|0; + $127 = HEAP32[$7>>2]|0; + $128 = $126; + $129 = $127; + $130 = (($128) - ($129))|0; + _sqlite3StrAccumAppend($124,$125,$130); + $131 = HEAP32[$4>>2]|0; + $132 = HEAP8[$131>>0]|0; + $133 = $132 << 24 >> 24; + $134 = ($133|0)==(0); + if ($134) { + label = 272; break; } - $22 = HEAP32[$i>>2]|0; - $23 = ((17882) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = HEAP32[$i>>2]|0; - $27 = (($k) + ($26)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28 << 24 >> 24; - $30 = (($25) + ($29))|0; - $31 = HEAP8[(17881)>>0]|0; - $32 = $31&255; - $33 = (($32) + ($30))|0; - $34 = $33&255; - HEAP8[(17881)>>0] = $34; - $35 = HEAP8[(17881)>>0]|0; - $36 = $35&255; - $37 = ((17882) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - HEAP8[$t>>0] = $38; - $39 = HEAP32[$i>>2]|0; - $40 = ((17882) + ($39)|0); - $41 = HEAP8[$40>>0]|0; - $42 = HEAP8[(17881)>>0]|0; - $43 = $42&255; - $44 = ((17882) + ($43)|0); - HEAP8[$44>>0] = $41; - $45 = HEAP8[$t>>0]|0; - $46 = HEAP32[$i>>2]|0; - $47 = ((17882) + ($46)|0); - HEAP8[$47>>0] = $45; - $48 = HEAP32[$i>>2]|0; - $49 = (($48) + 1)|0; - HEAP32[$i>>2] = $49; } - HEAP8[17879>>0] = 1; - } - while(1) { - $50 = HEAP8[(17880)>>0]|0; - $51 = (($50) + 1)<<24>>24; - HEAP8[(17880)>>0] = $51; - $52 = HEAP8[(17880)>>0]|0; - $53 = $52&255; - $54 = ((17882) + ($53)|0); - $55 = HEAP8[$54>>0]|0; - HEAP8[$t>>0] = $55; - $56 = HEAP8[$t>>0]|0; - $57 = $56&255; - $58 = HEAP8[(17881)>>0]|0; - $59 = $58&255; - $60 = (($59) + ($57))|0; - $61 = $60&255; - HEAP8[(17881)>>0] = $61; - $62 = HEAP8[(17881)>>0]|0; - $63 = $62&255; - $64 = ((17882) + ($63)|0); - $65 = HEAP8[$64>>0]|0; - $66 = HEAP8[(17880)>>0]|0; - $67 = $66&255; - $68 = ((17882) + ($67)|0); - HEAP8[$68>>0] = $65; - $69 = HEAP8[$t>>0]|0; - $70 = HEAP8[(17881)>>0]|0; - $71 = $70&255; - $72 = ((17882) + ($71)|0); - HEAP8[$72>>0] = $69; - $73 = HEAP8[(17880)>>0]|0; - $74 = $73&255; - $75 = ((17882) + ($74)|0); - $76 = HEAP8[$75>>0]|0; - $77 = $76&255; - $78 = HEAP8[$t>>0]|0; - $79 = $78&255; - $80 = (($79) + ($77))|0; - $81 = $80&255; - HEAP8[$t>>0] = $81; - $82 = HEAP8[$t>>0]|0; - $83 = $82&255; - $84 = ((17882) + ($83)|0); - $85 = HEAP8[$84>>0]|0; - $86 = HEAP32[$zBuf>>2]|0; - $87 = ((($86)) + 1|0); - HEAP32[$zBuf>>2] = $87; - HEAP8[$86>>0] = $85; - $88 = HEAP32[$0>>2]|0; - $89 = (($88) + -1)|0; - HEAP32[$0>>2] = $89; - $90 = ($89|0)!=(0); - if (!($90)) { + $135 = HEAP32[$4>>2]|0; + $136 = ((($135)) + 1|0); + HEAP32[$4>>2] = $136; + $137 = HEAP8[$136>>0]|0; + $138 = $137 << 24 >> 24; + HEAP32[$6>>2] = $138; + $139 = ($138|0)==(0); + if ($139) { + label = 13; break; } - } - STACKTOP = sp;return; -} -function _sqlite3_stricmp($zLeft,$zRight) { - $zLeft = $zLeft|0; - $zRight = $zRight|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $zLeft; - HEAP32[$2>>2] = $zRight; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - $5 = HEAP32[$2>>2]|0; - do { - if ($4) { - $6 = ($5|0)!=(0|0); - $7 = $6 ? -1 : 0; - HEAP32[$0>>2] = $7; - } else { - $8 = ($5|0)==(0|0); - if ($8) { - HEAP32[$0>>2] = 1; + HEAP8[$17>>0] = 0; + HEAP8[$16>>0] = 0; + HEAP8[$15>>0] = 0; + HEAP8[$14>>0] = 0; + HEAP8[$13>>0] = 0; + HEAP8[$12>>0] = 0; + HEAP8[$20>>0] = 0; + while(1) { + $141 = HEAP32[$6>>2]|0; + switch ($141|0) { + case 45: { + HEAP8[$12>>0] = 1; break; - } else { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (_sqlite3StrICmp($9,$10)|0); - HEAP32[$0>>2] = $11; + } + case 43: { + HEAP8[$13>>0] = 1; break; } - } - } while(0); - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); -} -function _sqlite3_os_init() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $i = sp; - HEAP32[$i>>2] = 0; - while(1) { - $0 = HEAP32[$i>>2]|0; - $1 = ($0>>>0)<(4); - if (!($1)) { - break; - } - $2 = HEAP32[$i>>2]|0; - $3 = (1184 + (($2*88)|0)|0); - $4 = HEAP32[$i>>2]|0; - $5 = ($4|0)==(0); - $6 = $5&1; - (_sqlite3_vfs_register($3,$6)|0); - $7 = HEAP32[$i>>2]|0; - $8 = (($7) + 1)|0; - HEAP32[$i>>2] = $8; - } - STACKTOP = sp;return 0; -} -function _sqlite3_backup_step($p,$nPage) { - $p = $p|0; - $nPage = $nPage|0; - var $$ = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; - var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; - var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; - var $421 = 0, $422 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bCloseTrans = 0, $destMode = 0, $iEnd = 0, $iOff = 0, $iPg = 0, $iSize = 0, $iSrcPg = 0, $iSrcPg2 = 0, $ii = 0, $nDestTruncate = 0, $nDstPage = 0, $nSrcPage = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $pDestPager = 0; - var $pFile = 0, $pPg = 0, $pSrcPager = 0, $pSrcPg = 0, $pSrcPg1 = 0, $pgszDest = 0, $pgszSrc = 0, $ratio = 0, $rc = 0, $zData = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 108|0; - $1 = sp + 104|0; - $rc = sp + 100|0; - $destMode = sp + 96|0; - $pgszSrc = sp + 92|0; - $pgszDest = sp + 88|0; - $pSrcPager = sp + 84|0; - $pDestPager = sp + 80|0; - $ii = sp + 76|0; - $nSrcPage = sp + 72|0; - $bCloseTrans = sp + 68|0; - $iSrcPg = sp + 64|0; - $pSrcPg = sp + 60|0; - $nDestTruncate = sp + 56|0; - $ratio = sp + 52|0; - $iSize = sp + 16|0; - $pFile = sp + 48|0; - $iPg = sp + 44|0; - $nDstPage = sp + 40|0; - $iOff = sp + 8|0; - $iEnd = sp; - $pPg = sp + 36|0; - $pSrcPg1 = sp + 32|0; - $iSrcPg2 = sp + 28|0; - $zData = sp + 24|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $nPage; - HEAP32[$pgszSrc>>2] = 0; - HEAP32[$pgszDest>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 24|0); - $4 = HEAP32[$3>>2]|0; - _sqlite3BtreeEnter($4); - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 28|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = (_isFatalError($8)|0); - $10 = ($9|0)!=(0); - if ($10) { - $422 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($422|0); - } - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3BtreePager($13)|0); - HEAP32[$pSrcPager>>2] = $14; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3BtreePager($17)|0); - HEAP32[$pDestPager>>2] = $18; - HEAP32[$nSrcPage>>2] = -1; - HEAP32[$bCloseTrans>>2] = 0; - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 24|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = ((($26)) + 20|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)==(2); - if ($30) { - HEAP32[$rc>>2] = 5; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - HEAP32[$rc>>2] = 0; - } - $31 = HEAP32[$rc>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 24|0); - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3BtreeIsInReadTrans($35)|0); - $37 = (0)==($36|0); - if ($37) { - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 24|0); - $40 = HEAP32[$39>>2]|0; - $41 = (_sqlite3BtreeBeginTrans($40,0)|0); - HEAP32[$rc>>2] = $41; - HEAP32[$bCloseTrans>>2] = 1; - } - } - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==(0); - $46 = HEAP32[$rc>>2]|0; - $47 = ($46|0)==(0); - $or$cond = $45 & $47; - if ($or$cond) { - $48 = HEAP32[$0>>2]|0; - $49 = (_setDestPgsz($48)|0); - $50 = ($49|0)==(7); - if ($50) { - HEAP32[$rc>>2] = 7; - } - } - $51 = HEAP32[$rc>>2]|0; - $52 = (0)==($51|0); - if ($52) { - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 12|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==(0); - if ($56) { - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = (_sqlite3BtreeBeginTrans($59,2)|0); - HEAP32[$rc>>2] = $60; - $61 = (0)==($60|0); - if ($61) { - $62 = HEAP32[$0>>2]|0; - $63 = ((($62)) + 12|0); - HEAP32[$63>>2] = 1; - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 4|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$0>>2]|0; - $68 = ((($67)) + 8|0); - _sqlite3BtreeGetMeta($66,1,$68); + case 32: { + HEAP8[$14>>0] = 1; + break; } - } - } - $69 = HEAP32[$0>>2]|0; - $70 = ((($69)) + 24|0); - $71 = HEAP32[$70>>2]|0; - $72 = (_sqlite3BtreeGetPageSize($71)|0); - HEAP32[$pgszSrc>>2] = $72; - $73 = HEAP32[$0>>2]|0; - $74 = ((($73)) + 4|0); - $75 = HEAP32[$74>>2]|0; - $76 = (_sqlite3BtreeGetPageSize($75)|0); - HEAP32[$pgszDest>>2] = $76; - $77 = HEAP32[$0>>2]|0; - $78 = ((($77)) + 4|0); - $79 = HEAP32[$78>>2]|0; - $80 = (_sqlite3BtreePager($79)|0); - $81 = (_sqlite3PagerGetJournalMode($80)|0); - HEAP32[$destMode>>2] = $81; - $82 = HEAP32[$rc>>2]|0; - $83 = (0)==($82|0); - $84 = HEAP32[$destMode>>2]|0; - $85 = ($84|0)==(5); - $or$cond3 = $83 & $85; - if ($or$cond3) { - $86 = HEAP32[$pgszSrc>>2]|0; - $87 = HEAP32[$pgszDest>>2]|0; - $88 = ($86|0)!=($87|0); - if ($88) { - HEAP32[$rc>>2] = 8; - } - } - $89 = HEAP32[$0>>2]|0; - $90 = ((($89)) + 24|0); - $91 = HEAP32[$90>>2]|0; - $92 = (_sqlite3BtreeLastPage($91)|0); - HEAP32[$nSrcPage>>2] = $92; - HEAP32[$ii>>2] = 0; - while(1) { - $93 = HEAP32[$1>>2]|0; - $94 = ($93|0)<(0); - if (!($94)) { - $95 = HEAP32[$ii>>2]|0; - $96 = HEAP32[$1>>2]|0; - $97 = ($95|0)<($96|0); - if (!($97)) { + case 35: { + HEAP8[$15>>0] = 1; break; } - } - $98 = HEAP32[$0>>2]|0; - $99 = ((($98)) + 16|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[$nSrcPage>>2]|0; - $102 = ($100>>>0)<=($101>>>0); - if (!($102)) { - break; - } - $103 = HEAP32[$rc>>2]|0; - $104 = ($103|0)!=(0); - $105 = $104 ^ 1; - if (!($105)) { - break; - } - $106 = HEAP32[$0>>2]|0; - $107 = ((($106)) + 16|0); - $108 = HEAP32[$107>>2]|0; - HEAP32[$iSrcPg>>2] = $108; - $109 = HEAP32[$iSrcPg>>2]|0; - $110 = HEAP32[1536>>2]|0; - $111 = HEAP32[$0>>2]|0; - $112 = ((($111)) + 24|0); - $113 = HEAP32[$112>>2]|0; - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = ((($115)) + 32|0); - $117 = HEAP32[$116>>2]|0; - $118 = (($110>>>0) / ($117>>>0))&-1; - $119 = (($118) + 1)|0; - $120 = ($109|0)!=($119|0); - if ($120) { - $121 = HEAP32[$pSrcPager>>2]|0; - $122 = HEAP32[$iSrcPg>>2]|0; - $123 = (_sqlite3PagerGet($121,$122,$pSrcPg,2)|0); - HEAP32[$rc>>2] = $123; - $124 = HEAP32[$rc>>2]|0; - $125 = ($124|0)==(0); - if ($125) { - $126 = HEAP32[$0>>2]|0; - $127 = HEAP32[$iSrcPg>>2]|0; - $128 = HEAP32[$pSrcPg>>2]|0; - $129 = (_sqlite3PagerGetData($128)|0); - $130 = (_backupOnePage($126,$127,$129,0)|0); - HEAP32[$rc>>2] = $130; - $131 = HEAP32[$pSrcPg>>2]|0; - _sqlite3PagerUnref($131); + case 33: { + HEAP8[$16>>0] = 1; + break; } - } - $132 = HEAP32[$0>>2]|0; - $133 = ((($132)) + 16|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($134) + 1)|0; - HEAP32[$133>>2] = $135; - $136 = HEAP32[$ii>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[$ii>>2] = $137; - } - $138 = HEAP32[$rc>>2]|0; - $139 = ($138|0)==(0); - do { - if ($139) { - $140 = HEAP32[$nSrcPage>>2]|0; - $141 = HEAP32[$0>>2]|0; - $142 = ((($141)) + 36|0); - HEAP32[$142>>2] = $140; - $143 = HEAP32[$nSrcPage>>2]|0; - $144 = (($143) + 1)|0; - $145 = HEAP32[$0>>2]|0; - $146 = ((($145)) + 16|0); - $147 = HEAP32[$146>>2]|0; - $148 = (($144) - ($147))|0; - $149 = HEAP32[$0>>2]|0; - $150 = ((($149)) + 32|0); - HEAP32[$150>>2] = $148; - $151 = HEAP32[$0>>2]|0; - $152 = ((($151)) + 16|0); - $153 = HEAP32[$152>>2]|0; - $154 = HEAP32[$nSrcPage>>2]|0; - $155 = ($153>>>0)>($154>>>0); - if ($155) { - HEAP32[$rc>>2] = 101; + case 48: { + HEAP8[$17>>0] = 1; break; } - $156 = HEAP32[$0>>2]|0; - $157 = ((($156)) + 40|0); - $158 = HEAP32[$157>>2]|0; - $159 = ($158|0)!=(0); - if (!($159)) { - $160 = HEAP32[$0>>2]|0; - _attachBackupObject($160); + default: { + HEAP8[$20>>0] = 1; + } + } + $142 = HEAP8[$20>>0]|0; + $143 = ($142<<24>>24)!=(0); + if ($143) { + break; + } + $144 = HEAP32[$4>>2]|0; + $145 = ((($144)) + 1|0); + HEAP32[$4>>2] = $145; + $146 = HEAP8[$145>>0]|0; + $147 = $146 << 24 >> 24; + HEAP32[$6>>2] = $147; + $148 = ($147|0)!=(0); + if (!($148)) { + break; } } - } while(0); - $161 = HEAP32[$rc>>2]|0; - $162 = ($161|0)==(101); - if ($162) { - $163 = HEAP32[$nSrcPage>>2]|0; - $164 = ($163|0)==(0); - if ($164) { - $165 = HEAP32[$0>>2]|0; - $166 = ((($165)) + 4|0); - $167 = HEAP32[$166>>2]|0; - $168 = (_sqlite3BtreeNewDb($167)|0); - HEAP32[$rc>>2] = $168; - HEAP32[$nSrcPage>>2] = 1; + $149 = HEAP32[$6>>2]|0; + $150 = ($149|0)==(42); + if ($150) { + $151 = HEAP8[$22>>0]|0; + $152 = ($151<<24>>24)!=(0); + if ($152) { + $153 = HEAP32[$37>>2]|0; + $154 = (_getIntArg($153)|0); + $155 = tempRet0; + HEAP32[$11>>2] = $154; + } else { + $156 = HEAP32[$5>>2]|0; + $arglist_current12 = HEAP32[$156>>2]|0; + $157 = $arglist_current12; + $158 = ((0) + 4|0); + $expanded60 = $158; + $expanded59 = (($expanded60) - 1)|0; + $159 = (($157) + ($expanded59))|0; + $160 = ((0) + 4|0); + $expanded64 = $160; + $expanded63 = (($expanded64) - 1)|0; + $expanded62 = $expanded63 ^ -1; + $161 = $159 & $expanded62; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $arglist_next13 = ((($162)) + 4|0); + HEAP32[$156>>2] = $arglist_next13; + HEAP32[$40>>2] = $163; + $164 = HEAP32[$40>>2]|0; + HEAP32[$11>>2] = $164; + } + $165 = HEAP32[$11>>2]|0; + $166 = ($165|0)<(0); + if ($166) { + HEAP8[$12>>0] = 1; + $167 = HEAP32[$11>>2]|0; + $168 = ($167|0)>=(-2147483647); + $169 = HEAP32[$11>>2]|0; + $170 = (0 - ($169))|0; + $171 = $168 ? $170 : 0; + HEAP32[$11>>2] = $171; + } + $172 = HEAP32[$4>>2]|0; + $173 = ((($172)) + 1|0); + HEAP32[$4>>2] = $173; + $174 = HEAP8[$173>>0]|0; + $175 = $174 << 24 >> 24; + HEAP32[$6>>2] = $175; + } else { + HEAP32[$41>>2] = 0; + while(1) { + $176 = HEAP32[$6>>2]|0; + $177 = ($176|0)>=(48); + $178 = HEAP32[$6>>2]|0; + $179 = ($178|0)<=(57); + $180 = $177 ? $179 : 0; + $181 = HEAP32[$41>>2]|0; + if (!($180)) { + break; + } + $182 = ($181*10)|0; + $183 = HEAP32[$6>>2]|0; + $184 = (($182) + ($183))|0; + $185 = (($184) - 48)|0; + HEAP32[$41>>2] = $185; + $186 = HEAP32[$4>>2]|0; + $187 = ((($186)) + 1|0); + HEAP32[$4>>2] = $187; + $188 = HEAP8[$187>>0]|0; + $189 = $188 << 24 >> 24; + HEAP32[$6>>2] = $189; + } + $190 = $181 & 2147483647; + HEAP32[$11>>2] = $190; + } + $191 = HEAP32[$6>>2]|0; + $192 = ($191|0)==(46); + do { + if ($192) { + $193 = HEAP32[$4>>2]|0; + $194 = ((($193)) + 1|0); + HEAP32[$4>>2] = $194; + $195 = HEAP8[$194>>0]|0; + $196 = $195 << 24 >> 24; + HEAP32[$6>>2] = $196; + $197 = HEAP32[$6>>2]|0; + $198 = ($197|0)==(42); + if (!($198)) { + HEAP32[$43>>2] = 0; + while(1) { + $224 = HEAP32[$6>>2]|0; + $225 = ($224|0)>=(48); + $226 = HEAP32[$6>>2]|0; + $227 = ($226|0)<=(57); + $228 = $225 ? $227 : 0; + $229 = HEAP32[$43>>2]|0; + if (!($228)) { + break; + } + $230 = ($229*10)|0; + $231 = HEAP32[$6>>2]|0; + $232 = (($230) + ($231))|0; + $233 = (($232) - 48)|0; + HEAP32[$43>>2] = $233; + $234 = HEAP32[$4>>2]|0; + $235 = ((($234)) + 1|0); + HEAP32[$4>>2] = $235; + $236 = HEAP8[$235>>0]|0; + $237 = $236 << 24 >> 24; + HEAP32[$6>>2] = $237; + } + $238 = $229 & 2147483647; + HEAP32[$8>>2] = $238; + break; + } + $199 = HEAP8[$22>>0]|0; + $200 = ($199<<24>>24)!=(0); + if ($200) { + $201 = HEAP32[$37>>2]|0; + $202 = (_getIntArg($201)|0); + $203 = tempRet0; + HEAP32[$8>>2] = $202; + } else { + $204 = HEAP32[$5>>2]|0; + $arglist_current15 = HEAP32[$204>>2]|0; + $205 = $arglist_current15; + $206 = ((0) + 4|0); + $expanded67 = $206; + $expanded66 = (($expanded67) - 1)|0; + $207 = (($205) + ($expanded66))|0; + $208 = ((0) + 4|0); + $expanded71 = $208; + $expanded70 = (($expanded71) - 1)|0; + $expanded69 = $expanded70 ^ -1; + $209 = $207 & $expanded69; + $210 = $209; + $211 = HEAP32[$210>>2]|0; + $arglist_next16 = ((($210)) + 4|0); + HEAP32[$204>>2] = $arglist_next16; + HEAP32[$42>>2] = $211; + $212 = HEAP32[$42>>2]|0; + HEAP32[$8>>2] = $212; + } + $213 = HEAP32[$4>>2]|0; + $214 = ((($213)) + 1|0); + HEAP32[$4>>2] = $214; + $215 = HEAP8[$214>>0]|0; + $216 = $215 << 24 >> 24; + HEAP32[$6>>2] = $216; + $217 = HEAP32[$8>>2]|0; + $218 = ($217|0)<(0); + if ($218) { + $219 = HEAP32[$8>>2]|0; + $220 = ($219|0)>=(-2147483647); + $221 = HEAP32[$8>>2]|0; + $222 = (0 - ($221))|0; + $223 = $220 ? $222 : -1; + HEAP32[$8>>2] = $223; + } + } else { + HEAP32[$8>>2] = -1; + } + } while(0); + $239 = HEAP32[$6>>2]|0; + $240 = ($239|0)==(108); + do { + if ($240) { + HEAP8[$18>>0] = 1; + $241 = HEAP32[$4>>2]|0; + $242 = ((($241)) + 1|0); + HEAP32[$4>>2] = $242; + $243 = HEAP8[$242>>0]|0; + $244 = $243 << 24 >> 24; + HEAP32[$6>>2] = $244; + $245 = HEAP32[$6>>2]|0; + $246 = ($245|0)==(108); + if ($246) { + HEAP8[$19>>0] = 1; + $247 = HEAP32[$4>>2]|0; + $248 = ((($247)) + 1|0); + HEAP32[$4>>2] = $248; + $249 = HEAP8[$248>>0]|0; + $250 = $249 << 24 >> 24; + HEAP32[$6>>2] = $250; + break; + } else { + HEAP8[$19>>0] = 0; + break; + } + } else { + HEAP8[$19>>0] = 0; + HEAP8[$18>>0] = 0; + } + } while(0); + HEAP32[$27>>2] = 20758; + HEAP8[$21>>0] = 16; + HEAP32[$10>>2] = 0; + while(1) { + $251 = HEAP32[$10>>2]|0; + $252 = ($251|0)<(23); + if (!($252)) { + break; + } + $253 = HEAP32[$6>>2]|0; + $254 = HEAP32[$10>>2]|0; + $255 = (20758 + (($254*6)|0)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256 << 24 >> 24; + $258 = ($253|0)==($257|0); + $259 = HEAP32[$10>>2]|0; + if ($258) { + label = 56; + break; + } + $273 = (($259) + 1)|0; + HEAP32[$10>>2] = $273; } - $169 = HEAP32[$rc>>2]|0; - $170 = ($169|0)==(0); - $171 = HEAP32[$rc>>2]|0; - $172 = ($171|0)==(101); - $or$cond6 = $170 | $172; - if ($or$cond6) { - $173 = HEAP32[$0>>2]|0; - $174 = ((($173)) + 4|0); - $175 = HEAP32[$174>>2]|0; - $176 = HEAP32[$0>>2]|0; - $177 = ((($176)) + 8|0); - $178 = HEAP32[$177>>2]|0; - $179 = (($178) + 1)|0; - $180 = (_sqlite3BtreeUpdateMeta($175,1,$179)|0); - HEAP32[$rc>>2] = $180; + if ((label|0) == 56) { + label = 0; + $260 = (20758 + (($259*6)|0)|0); + HEAP32[$27>>2] = $260; + $261 = HEAP8[$23>>0]|0; + $262 = $261&255; + $263 = ($262|0)!=(0); + if (!($263)) { + $264 = HEAP32[$27>>2]|0; + $265 = ((($264)) + 2|0); + $266 = HEAP8[$265>>0]|0; + $267 = $266&255; + $268 = $267 & 2; + $269 = ($268|0)==(0); + if (!($269)) { + label = 272; + break; + } + } + $270 = HEAP32[$27>>2]|0; + $271 = ((($270)) + 3|0); + $272 = HEAP8[$271>>0]|0; + HEAP8[$21>>0] = $272; } - $181 = HEAP32[$rc>>2]|0; - $182 = ($181|0)==(0); - if ($182) { - $183 = HEAP32[$0>>2]|0; - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)!=(0|0); - if ($185) { - $186 = HEAP32[$0>>2]|0; - $187 = HEAP32[$186>>2]|0; - _sqlite3ResetAllSchemasOfConnection($187); + $274 = HEAP8[$21>>0]|0; + $275 = $274&255; + L79: do { + switch ($275|0) { + case 13: { + HEAP8[$19>>0] = 0; + HEAP8[$18>>0] = 1; + label = 62; + break; } - $188 = HEAP32[$destMode>>2]|0; - $189 = ($188|0)==(5); - if ($189) { - $190 = HEAP32[$0>>2]|0; - $191 = ((($190)) + 4|0); - $192 = HEAP32[$191>>2]|0; - $193 = (_sqlite3BtreeSetVersion($192,2)|0); - HEAP32[$rc>>2] = $193; + case 0: case 15: { + label = 62; + break; } - } - $194 = HEAP32[$rc>>2]|0; - $195 = ($194|0)==(0); - if ($195) { - $196 = HEAP32[$pgszSrc>>2]|0; - $197 = HEAP32[$pgszDest>>2]|0; - $198 = ($196|0)<($197|0); - if ($198) { - $199 = HEAP32[$pgszDest>>2]|0; - $200 = HEAP32[$pgszSrc>>2]|0; - $201 = (($199|0) / ($200|0))&-1; - HEAP32[$ratio>>2] = $201; - $202 = HEAP32[$nSrcPage>>2]|0; - $203 = HEAP32[$ratio>>2]|0; - $204 = (($202) + ($203))|0; - $205 = (($204) - 1)|0; - $206 = HEAP32[$ratio>>2]|0; - $207 = (($205|0) / ($206|0))&-1; - HEAP32[$nDestTruncate>>2] = $207; - $208 = HEAP32[$nDestTruncate>>2]|0; - $209 = HEAP32[1536>>2]|0; - $210 = HEAP32[$0>>2]|0; - $211 = ((($210)) + 4|0); - $212 = HEAP32[$211>>2]|0; - $213 = ((($212)) + 4|0); - $214 = HEAP32[$213>>2]|0; - $215 = ((($214)) + 32|0); - $216 = HEAP32[$215>>2]|0; - $217 = (($209>>>0) / ($216>>>0))&-1; - $218 = (($217) + 1)|0; - $219 = ($208|0)==($218|0); - if ($219) { - $220 = HEAP32[$nDestTruncate>>2]|0; - $221 = (($220) + -1)|0; - HEAP32[$nDestTruncate>>2] = $221; + case 3: case 2: case 1: { + $620 = HEAP8[$22>>0]|0; + $621 = ($620<<24>>24)!=(0); + if ($621) { + $622 = HEAP32[$37>>2]|0; + $623 = (+_getDoubleArg($622)); + HEAPF64[$26>>3] = $623; + } else { + $624 = HEAP32[$5>>2]|0; + $arglist_current30 = HEAP32[$624>>2]|0; + $625 = $arglist_current30; + $626 = ((0) + 8|0); + $expanded102 = $626; + $expanded101 = (($expanded102) - 1)|0; + $627 = (($625) + ($expanded101))|0; + $628 = ((0) + 8|0); + $expanded106 = $628; + $expanded105 = (($expanded106) - 1)|0; + $expanded104 = $expanded105 ^ -1; + $629 = $627 & $expanded104; + $630 = $629; + $631 = +HEAPF64[$630>>3]; + $arglist_next31 = ((($630)) + 8|0); + HEAP32[$624>>2] = $arglist_next31; + HEAPF64[$56>>3] = $631; + $632 = +HEAPF64[$56>>3]; + HEAPF64[$26>>3] = $632; + } + $633 = HEAP32[$8>>2]|0; + $634 = ($633|0)<(0); + if ($634) { + HEAP32[$8>>2] = 6; + } + $635 = +HEAPF64[$26>>3]; + $636 = $635 < 0.0; + do { + if ($636) { + $637 = +HEAPF64[$26>>3]; + $638 = -$637; + HEAPF64[$26>>3] = $638; + HEAP8[$24>>0] = 45; + } else { + $639 = HEAP8[$13>>0]|0; + $640 = ($639<<24>>24)!=(0); + if ($640) { + HEAP8[$24>>0] = 43; + break; + } + $641 = HEAP8[$14>>0]|0; + $642 = ($641<<24>>24)!=(0); + if ($642) { + HEAP8[$24>>0] = 32; + break; + } else { + HEAP8[$24>>0] = 0; + break; + } + } + } while(0); + $643 = HEAP8[$21>>0]|0; + $644 = $643&255; + $645 = ($644|0)==(3); + $646 = HEAP32[$8>>2]|0; + $647 = ($646|0)>(0); + $or$cond = $645 & $647; + if ($or$cond) { + $648 = HEAP32[$8>>2]|0; + $649 = (($648) + -1)|0; + HEAP32[$8>>2] = $649; + } + $650 = HEAP32[$8>>2]|0; + $651 = $650 & 4095; + HEAP32[$10>>2] = $651; + HEAPF64[$34>>3] = 0.5; + while(1) { + $652 = HEAP32[$10>>2]|0; + $653 = ($652|0)>(0); + if (!($653)) { + break; + } + $654 = HEAP32[$10>>2]|0; + $655 = (($654) + -1)|0; + HEAP32[$10>>2] = $655; + $656 = +HEAPF64[$34>>3]; + $657 = $656 * 0.10000000000000001; + HEAPF64[$34>>3] = $657; + } + $658 = HEAP8[$21>>0]|0; + $659 = $658&255; + $660 = ($659|0)==(1); + if ($660) { + $661 = +HEAPF64[$34>>3]; + $662 = +HEAPF64[$26>>3]; + $663 = $662 + $661; + HEAPF64[$26>>3] = $663; + } + HEAP32[$31>>2] = 0; + $664 = +HEAPF64[$26>>3]; + $665 = (_sqlite3IsNaN($664)|0); + $666 = ($665|0)!=(0); + if ($666) { + HEAP32[$7>>2] = 20945; + HEAP32[$9>>2] = 3; + break L79; } - } else { - $222 = HEAP32[$nSrcPage>>2]|0; - $223 = HEAP32[$pgszSrc>>2]|0; - $224 = HEAP32[$pgszDest>>2]|0; - $225 = (($223|0) / ($224|0))&-1; - $226 = Math_imul($222, $225)|0; - HEAP32[$nDestTruncate>>2] = $226; - } - $227 = HEAP32[$pgszSrc>>2]|0; - $228 = HEAP32[$pgszDest>>2]|0; - $229 = ($227|0)<($228|0); - if ($229) { - $230 = HEAP32[$pgszSrc>>2]|0; - $231 = ($230|0)<(0); - $232 = $231 << 31 >> 31; - $233 = HEAP32[$nSrcPage>>2]|0; - $234 = ($233|0)<(0); - $235 = $234 << 31 >> 31; - $236 = (___muldi3(($230|0),($232|0),($233|0),($235|0))|0); - $237 = tempRet0; - $238 = $iSize; - $239 = $238; - HEAP32[$239>>2] = $236; - $240 = (($238) + 4)|0; - $241 = $240; - HEAP32[$241>>2] = $237; - $242 = HEAP32[$pDestPager>>2]|0; - $243 = (_sqlite3PagerFile($242)|0); - HEAP32[$pFile>>2] = $243; - $244 = HEAP32[$pDestPager>>2]|0; - _sqlite3PagerPagecount($244,$nDstPage); - $245 = HEAP32[$nDestTruncate>>2]|0; - HEAP32[$iPg>>2] = $245; + $667 = +HEAPF64[$26>>3]; + $668 = $667 > 0.0; + if ($668) { + HEAPF64[$57>>3] = 1.0; + while(1) { + $669 = +HEAPF64[$26>>3]; + $670 = +HEAPF64[$57>>3]; + $671 = 1.0E+100 * $670; + $672 = $669 >= $671; + $673 = HEAP32[$31>>2]|0; + $674 = ($673|0)<=(350); + $675 = $672 ? $674 : 0; + if (!($675)) { + break; + } + $676 = +HEAPF64[$57>>3]; + $677 = $676 * 1.0E+100; + HEAPF64[$57>>3] = $677; + $678 = HEAP32[$31>>2]|0; + $679 = (($678) + 100)|0; + HEAP32[$31>>2] = $679; + } + while(1) { + $680 = +HEAPF64[$26>>3]; + $681 = +HEAPF64[$57>>3]; + $682 = 1.0E+10 * $681; + $683 = $680 >= $682; + $684 = HEAP32[$31>>2]|0; + $685 = ($684|0)<=(350); + $686 = $683 ? $685 : 0; + if (!($686)) { + break; + } + $687 = +HEAPF64[$57>>3]; + $688 = $687 * 1.0E+10; + HEAPF64[$57>>3] = $688; + $689 = HEAP32[$31>>2]|0; + $690 = (($689) + 10)|0; + HEAP32[$31>>2] = $690; + } + while(1) { + $691 = +HEAPF64[$26>>3]; + $692 = +HEAPF64[$57>>3]; + $693 = 10.0 * $692; + $694 = $691 >= $693; + $695 = HEAP32[$31>>2]|0; + $696 = ($695|0)<=(350); + $697 = $694 ? $696 : 0; + $698 = +HEAPF64[$57>>3]; + if (!($697)) { + break; + } + $699 = $698 * 10.0; + HEAPF64[$57>>3] = $699; + $700 = HEAP32[$31>>2]|0; + $701 = (($700) + 1)|0; + HEAP32[$31>>2] = $701; + } + $702 = +HEAPF64[$26>>3]; + $703 = $702 / $698; + HEAPF64[$26>>3] = $703; + while(1) { + $704 = +HEAPF64[$26>>3]; + $705 = $704 < 1.0E-8; + if (!($705)) { + break; + } + $706 = +HEAPF64[$26>>3]; + $707 = $706 * 1.0E+8; + HEAPF64[$26>>3] = $707; + $708 = HEAP32[$31>>2]|0; + $709 = (($708) - 8)|0; + HEAP32[$31>>2] = $709; + } + while(1) { + $710 = +HEAPF64[$26>>3]; + $711 = $710 < 1.0; + if (!($711)) { + break; + } + $712 = +HEAPF64[$26>>3]; + $713 = $712 * 10.0; + HEAPF64[$26>>3] = $713; + $714 = HEAP32[$31>>2]|0; + $715 = (($714) + -1)|0; + HEAP32[$31>>2] = $715; + } + $716 = HEAP32[$31>>2]|0; + $717 = ($716|0)>(350); + if ($717) { + HEAP32[$7>>2] = $38; + $718 = HEAP8[$24>>0]|0; + HEAP8[$38>>0] = $718; + $719 = HEAP8[$24>>0]|0; + $720 = $719 << 24 >> 24; + $721 = ($720|0)!=(0); + $722 = $721&1; + $723 = (($38) + ($722)|0); + ;HEAP8[$723>>0]=HEAP8[20949>>0]|0;HEAP8[$723+1>>0]=HEAP8[20949+1>>0]|0;HEAP8[$723+2>>0]=HEAP8[20949+2>>0]|0;HEAP8[$723+3>>0]=HEAP8[20949+3>>0]|0; + $724 = HEAP8[$24>>0]|0; + $725 = $724 << 24 >> 24; + $726 = ($725|0)!=(0); + $727 = $726&1; + $728 = (3 + ($727))|0; + HEAP32[$9>>2] = $728; + break L79; + } + } + HEAP32[$7>>2] = $38; + $729 = HEAP8[$21>>0]|0; + $730 = $729&255; + $731 = ($730|0)!=(1); + if ($731) { + $732 = +HEAPF64[$34>>3]; + $733 = +HEAPF64[$26>>3]; + $734 = $733 + $732; + HEAPF64[$26>>3] = $734; + $735 = +HEAPF64[$26>>3]; + $736 = $735 >= 10.0; + if ($736) { + $737 = +HEAPF64[$26>>3]; + $738 = $737 * 0.10000000000000001; + HEAPF64[$26>>3] = $738; + $739 = HEAP32[$31>>2]|0; + $740 = (($739) + 1)|0; + HEAP32[$31>>2] = $740; + } + } + $741 = HEAP8[$21>>0]|0; + $742 = $741&255; + $743 = ($742|0)==(3); + L137: do { + if ($743) { + $744 = HEAP8[$15>>0]|0; + $745 = ($744<<24>>24)!=(0); + $746 = $745 ^ 1; + $747 = $746&1; + $748 = $747&255; + HEAP8[$36>>0] = $748; + $749 = HEAP32[$31>>2]|0; + $750 = ($749|0)<(-4); + do { + if (!($750)) { + $751 = HEAP32[$31>>2]|0; + $752 = HEAP32[$8>>2]|0; + $753 = ($751|0)>($752|0); + if ($753) { + break; + } + $754 = HEAP32[$8>>2]|0; + $755 = HEAP32[$31>>2]|0; + $756 = (($754) - ($755))|0; + HEAP32[$8>>2] = $756; + HEAP8[$21>>0] = 1; + break L137; + } + } while(0); + HEAP8[$21>>0] = 2; + } else { + $757 = HEAP8[$16>>0]|0; + HEAP8[$36>>0] = $757; + } + } while(0); + $758 = HEAP8[$21>>0]|0; + $759 = $758&255; + $760 = ($759|0)==(2); + if ($760) { + HEAP32[$32>>2] = 0; + } else { + $761 = HEAP32[$31>>2]|0; + HEAP32[$32>>2] = $761; + } + $762 = HEAP32[$32>>2]|0; + $763 = ($762|0)>(0); + $764 = HEAP32[$32>>2]|0; + $765 = $763 ? $764 : 0; + $766 = ($765|0)<(0); + $767 = $766 << 31 >> 31; + $768 = HEAP32[$8>>2]|0; + $769 = ($768|0)<(0); + $770 = $769 << 31 >> 31; + $771 = (_i64Add(($765|0),($767|0),($768|0),($770|0))|0); + $772 = tempRet0; + $773 = HEAP32[$11>>2]|0; + $774 = ($773|0)<(0); + $775 = $774 << 31 >> 31; + $776 = (_i64Add(($771|0),($772|0),($773|0),($775|0))|0); + $777 = tempRet0; + $778 = ($777|0)>(0); + $779 = ($776>>>0)>(55); + $780 = ($777|0)==(0); + $781 = $780 & $779; + $782 = $778 | $781; + if ($782) { + $783 = HEAP32[$32>>2]|0; + $784 = ($783|0)>(0); + $785 = HEAP32[$32>>2]|0; + $786 = $784 ? $785 : 0; + $787 = ($786|0)<(0); + $788 = $787 << 31 >> 31; + $789 = HEAP32[$8>>2]|0; + $790 = ($789|0)<(0); + $791 = $790 << 31 >> 31; + $792 = (_i64Add(($786|0),($788|0),($789|0),($791|0))|0); + $793 = tempRet0; + $794 = HEAP32[$11>>2]|0; + $795 = ($794|0)<(0); + $796 = $795 << 31 >> 31; + $797 = (_i64Add(($792|0),($793|0),($794|0),($796|0))|0); + $798 = tempRet0; + $799 = (_i64Add(($797|0),($798|0),15,0)|0); + $800 = tempRet0; + $801 = (_sqlite3Malloc($799,$800)|0); + HEAP32[$30>>2] = $801; + HEAP32[$7>>2] = $801; + $802 = HEAP32[$7>>2]|0; + $803 = ($802|0)==(0|0); + if ($803) { + label = 165; + break L7; + } + } + $805 = HEAP32[$7>>2]|0; + HEAP32[$28>>2] = $805; + $806 = HEAP8[$16>>0]|0; + $807 = $806&255; + $808 = ($807*10)|0; + $809 = (16 + ($808))|0; + HEAP32[$33>>2] = $809; + $810 = HEAP32[$8>>2]|0; + $811 = ($810|0)>(0); + $812 = $811 ? 1 : 0; + $813 = HEAP8[$15>>0]|0; + $814 = $813&255; + $815 = $812 | $814; + $816 = HEAP8[$16>>0]|0; + $817 = $816&255; + $818 = $815 | $817; + $819 = $818&255; + HEAP8[$35>>0] = $819; + $820 = HEAP8[$24>>0]|0; + $821 = ($820<<24>>24)!=(0); + if ($821) { + $822 = HEAP8[$24>>0]|0; + $823 = HEAP32[$7>>2]|0; + $824 = ((($823)) + 1|0); + HEAP32[$7>>2] = $824; + HEAP8[$823>>0] = $822; + } + $825 = HEAP32[$32>>2]|0; + $826 = ($825|0)<(0); + L155: do { + if ($826) { + $827 = HEAP32[$7>>2]|0; + $828 = ((($827)) + 1|0); + HEAP32[$7>>2] = $828; + HEAP8[$827>>0] = 48; + } else { + while(1) { + $829 = HEAP32[$32>>2]|0; + $830 = ($829|0)>=(0); + if (!($830)) { + break L155; + } + $831 = (_et_getdigit($26,$33)|0); + $832 = HEAP32[$7>>2]|0; + $833 = ((($832)) + 1|0); + HEAP32[$7>>2] = $833; + HEAP8[$832>>0] = $831; + $834 = HEAP32[$32>>2]|0; + $835 = (($834) + -1)|0; + HEAP32[$32>>2] = $835; + } + } + } while(0); + $836 = HEAP8[$35>>0]|0; + $837 = ($836<<24>>24)!=(0); + if ($837) { + $838 = HEAP32[$7>>2]|0; + $839 = ((($838)) + 1|0); + HEAP32[$7>>2] = $839; + HEAP8[$838>>0] = 46; + } + $840 = HEAP32[$32>>2]|0; + $841 = (($840) + 1)|0; + HEAP32[$32>>2] = $841; while(1) { - $246 = HEAP32[$rc>>2]|0; - $247 = ($246|0)==(0); - if (!($247)) { + $842 = HEAP32[$32>>2]|0; + $843 = ($842|0)<(0); + if (!($843)) { break; } - $248 = HEAP32[$iPg>>2]|0; - $249 = HEAP32[$nDstPage>>2]|0; - $250 = ($248>>>0)<=($249>>>0); - if (!($250)) { + $844 = HEAP32[$7>>2]|0; + $845 = ((($844)) + 1|0); + HEAP32[$7>>2] = $845; + HEAP8[$844>>0] = 48; + $846 = HEAP32[$8>>2]|0; + $847 = (($846) + -1)|0; + HEAP32[$8>>2] = $847; + $848 = HEAP32[$32>>2]|0; + $849 = (($848) + 1)|0; + HEAP32[$32>>2] = $849; + } + while(1) { + $850 = HEAP32[$8>>2]|0; + $851 = (($850) + -1)|0; + HEAP32[$8>>2] = $851; + $852 = ($850|0)>(0); + if (!($852)) { break; } - $251 = HEAP32[$iPg>>2]|0; - $252 = HEAP32[1536>>2]|0; - $253 = HEAP32[$0>>2]|0; - $254 = ((($253)) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = ((($255)) + 4|0); - $257 = HEAP32[$256>>2]|0; - $258 = ((($257)) + 32|0); - $259 = HEAP32[$258>>2]|0; - $260 = (($252>>>0) / ($259>>>0))&-1; - $261 = (($260) + 1)|0; - $262 = ($251|0)!=($261|0); - do { - if ($262) { - $263 = HEAP32[$pDestPager>>2]|0; - $264 = HEAP32[$iPg>>2]|0; - $265 = (_sqlite3PagerGet($263,$264,$pPg,0)|0); - HEAP32[$rc>>2] = $265; - $266 = HEAP32[$rc>>2]|0; - $267 = ($266|0)==(0); - if (!($267)) { + $853 = (_et_getdigit($26,$33)|0); + $854 = HEAP32[$7>>2]|0; + $855 = ((($854)) + 1|0); + HEAP32[$7>>2] = $855; + HEAP8[$854>>0] = $853; + } + $856 = HEAP8[$36>>0]|0; + $857 = $856&255; + $858 = ($857|0)!=(0); + do { + if ($858) { + $859 = HEAP8[$35>>0]|0; + $860 = $859&255; + $861 = ($860|0)!=(0); + if (!($861)) { + break; + } + while(1) { + $862 = HEAP32[$7>>2]|0; + $863 = ((($862)) + -1|0); + $864 = HEAP8[$863>>0]|0; + $865 = $864 << 24 >> 24; + $866 = ($865|0)==(48); + $867 = HEAP32[$7>>2]|0; + $868 = ((($867)) + -1|0); + if (!($866)) { break; } - $268 = HEAP32[$pPg>>2]|0; - $269 = (_sqlite3PagerWrite($268)|0); - HEAP32[$rc>>2] = $269; - $270 = HEAP32[$pPg>>2]|0; - _sqlite3PagerUnref($270); + HEAP32[$7>>2] = $868; + HEAP8[$868>>0] = 0; } - } while(0); - $271 = HEAP32[$iPg>>2]|0; - $272 = (($271) + 1)|0; - HEAP32[$iPg>>2] = $272; + $869 = HEAP8[$868>>0]|0; + $870 = $869 << 24 >> 24; + $871 = ($870|0)==(46); + if (!($871)) { + break; + } + $872 = HEAP8[$16>>0]|0; + $873 = ($872<<24>>24)!=(0); + $874 = HEAP32[$7>>2]|0; + if ($873) { + $875 = ((($874)) + 1|0); + HEAP32[$7>>2] = $875; + HEAP8[$874>>0] = 48; + break; + } else { + $876 = ((($874)) + -1|0); + HEAP32[$7>>2] = $876; + HEAP8[$876>>0] = 0; + break; + } + } + } while(0); + $877 = HEAP8[$21>>0]|0; + $878 = $877&255; + $879 = ($878|0)==(2); + if ($879) { + $880 = HEAP32[$27>>2]|0; + $881 = ((($880)) + 4|0); + $882 = HEAP8[$881>>0]|0; + $883 = $882&255; + $884 = (20905 + ($883)|0); + $885 = HEAP8[$884>>0]|0; + $886 = HEAP32[$7>>2]|0; + $887 = ((($886)) + 1|0); + HEAP32[$7>>2] = $887; + HEAP8[$886>>0] = $885; + $888 = HEAP32[$31>>2]|0; + $889 = ($888|0)<(0); + $890 = HEAP32[$7>>2]|0; + $891 = ((($890)) + 1|0); + HEAP32[$7>>2] = $891; + if ($889) { + HEAP8[$890>>0] = 45; + $892 = HEAP32[$31>>2]|0; + $893 = (0 - ($892))|0; + HEAP32[$31>>2] = $893; + } else { + HEAP8[$890>>0] = 43; + } + $894 = HEAP32[$31>>2]|0; + $895 = ($894|0)>=(100); + if ($895) { + $896 = HEAP32[$31>>2]|0; + $897 = (($896|0) / 100)&-1; + $898 = (($897) + 48)|0; + $899 = $898&255; + $900 = HEAP32[$7>>2]|0; + $901 = ((($900)) + 1|0); + HEAP32[$7>>2] = $901; + HEAP8[$900>>0] = $899; + $902 = HEAP32[$31>>2]|0; + $903 = (($902|0) % 100)&-1; + HEAP32[$31>>2] = $903; + } + $904 = HEAP32[$31>>2]|0; + $905 = (($904|0) / 10)&-1; + $906 = (($905) + 48)|0; + $907 = $906&255; + $908 = HEAP32[$7>>2]|0; + $909 = ((($908)) + 1|0); + HEAP32[$7>>2] = $909; + HEAP8[$908>>0] = $907; + $910 = HEAP32[$31>>2]|0; + $911 = (($910|0) % 10)&-1; + $912 = (($911) + 48)|0; + $913 = $912&255; + $914 = HEAP32[$7>>2]|0; + $915 = ((($914)) + 1|0); + HEAP32[$7>>2] = $915; + HEAP8[$914>>0] = $913; + } + $916 = HEAP32[$7>>2]|0; + HEAP8[$916>>0] = 0; + $917 = HEAP32[$7>>2]|0; + $918 = HEAP32[$28>>2]|0; + $919 = $917; + $920 = $918; + $921 = (($919) - ($920))|0; + HEAP32[$9>>2] = $921; + $922 = HEAP32[$28>>2]|0; + HEAP32[$7>>2] = $922; + $923 = HEAP8[$17>>0]|0; + $924 = $923&255; + $925 = ($924|0)==(0); + $926 = HEAP8[$12>>0]|0; + $927 = ($926<<24>>24)!=(0); + $or$cond4 = $925 | $927; + if ($or$cond4) { + break L79; } - $273 = HEAP32[$rc>>2]|0; - $274 = ($273|0)==(0); - if ($274) { - $275 = HEAP32[$pDestPager>>2]|0; - $276 = (_sqlite3PagerCommitPhaseOne($275,0,1)|0); - HEAP32[$rc>>2] = $276; - } - $277 = HEAP32[1536>>2]|0; - $278 = HEAP32[$pgszDest>>2]|0; - $279 = (($277) + ($278))|0; - $280 = ($279|0)<(0); - $281 = $280 << 31 >> 31; - $282 = $iSize; - $283 = $282; - $284 = HEAP32[$283>>2]|0; - $285 = (($282) + 4)|0; - $286 = $285; - $287 = HEAP32[$286>>2]|0; - $288 = ($281|0)<($287|0); - $289 = ($279>>>0)<($284>>>0); - $290 = ($281|0)==($287|0); - $291 = $290 & $289; - $292 = $288 | $291; - if ($292) { - $293 = HEAP32[1536>>2]|0; - $294 = HEAP32[$pgszDest>>2]|0; - $295 = (($293) + ($294))|0; - $296 = ($295|0)<(0); - $297 = $296 << 31 >> 31; - $306 = $295;$309 = $297; + $928 = HEAP32[$9>>2]|0; + $929 = HEAP32[$11>>2]|0; + $930 = ($928|0)<($929|0); + if (!($930)) { + break L79; + } + $931 = HEAP32[$11>>2]|0; + $932 = HEAP32[$9>>2]|0; + $933 = (($931) - ($932))|0; + HEAP32[$59>>2] = $933; + $934 = HEAP32[$11>>2]|0; + HEAP32[$58>>2] = $934; + while(1) { + $935 = HEAP32[$58>>2]|0; + $936 = HEAP32[$59>>2]|0; + $937 = ($935|0)>=($936|0); + if (!($937)) { + break; + } + $938 = HEAP32[$7>>2]|0; + $939 = HEAP32[$58>>2]|0; + $940 = HEAP32[$59>>2]|0; + $941 = (($939) - ($940))|0; + $942 = (($938) + ($941)|0); + $943 = HEAP8[$942>>0]|0; + $944 = HEAP32[$7>>2]|0; + $945 = HEAP32[$58>>2]|0; + $946 = (($944) + ($945)|0); + HEAP8[$946>>0] = $943; + $947 = HEAP32[$58>>2]|0; + $948 = (($947) + -1)|0; + HEAP32[$58>>2] = $948; + } + $949 = HEAP8[$24>>0]|0; + $950 = $949 << 24 >> 24; + $951 = ($950|0)!=(0); + $952 = $951&1; + HEAP32[$58>>2] = $952; + while(1) { + $953 = HEAP32[$59>>2]|0; + $954 = (($953) + -1)|0; + HEAP32[$59>>2] = $954; + $955 = ($953|0)!=(0); + if (!($955)) { + break; + } + $956 = HEAP32[$7>>2]|0; + $957 = HEAP32[$58>>2]|0; + $958 = (($957) + 1)|0; + HEAP32[$58>>2] = $958; + $959 = (($956) + ($957)|0); + HEAP8[$959>>0] = 48; + } + $960 = HEAP32[$11>>2]|0; + HEAP32[$9>>2] = $960; + break; + } + case 4: { + $961 = HEAP8[$22>>0]|0; + $962 = ($961<<24>>24)!=(0); + if (!($962)) { + $963 = HEAP32[$3>>2]|0; + $964 = ((($963)) + 12|0); + $965 = HEAP32[$964>>2]|0; + $966 = HEAP32[$5>>2]|0; + $arglist_current33 = HEAP32[$966>>2]|0; + $967 = $arglist_current33; + $968 = ((0) + 4|0); + $expanded109 = $968; + $expanded108 = (($expanded109) - 1)|0; + $969 = (($967) + ($expanded108))|0; + $970 = ((0) + 4|0); + $expanded113 = $970; + $expanded112 = (($expanded113) - 1)|0; + $expanded111 = $expanded112 ^ -1; + $971 = $969 & $expanded111; + $972 = $971; + $973 = HEAP32[$972>>2]|0; + $arglist_next34 = ((($972)) + 4|0); + HEAP32[$966>>2] = $arglist_next34; + HEAP32[$60>>2] = $973; + $974 = HEAP32[$60>>2]|0; + HEAP32[$974>>2] = $965; + } + HEAP32[$11>>2] = 0; + HEAP32[$9>>2] = 0; + break; + } + case 7: { + HEAP8[$38>>0] = 37; + HEAP32[$7>>2] = $38; + HEAP32[$9>>2] = 1; + break; + } + case 8: { + $975 = HEAP8[$22>>0]|0; + $976 = ($975<<24>>24)!=(0); + if ($976) { + $977 = HEAP32[$37>>2]|0; + $978 = (_getTextArg($977)|0); + HEAP32[$7>>2] = $978; + $979 = HEAP32[$7>>2]|0; + $980 = ($979|0)!=(0|0); + if ($980) { + $981 = HEAP32[$7>>2]|0; + $982 = HEAP8[$981>>0]|0; + $983 = $982 << 24 >> 24; + $984 = $983; + } else { + $984 = 0; + } + HEAP32[$6>>2] = $984; } else { - $298 = $iSize; - $299 = $298; - $300 = HEAP32[$299>>2]|0; - $301 = (($298) + 4)|0; - $302 = $301; - $303 = HEAP32[$302>>2]|0; - $306 = $300;$309 = $303; - } - $304 = $iEnd; - $305 = $304; - HEAP32[$305>>2] = $306; - $307 = (($304) + 4)|0; - $308 = $307; - HEAP32[$308>>2] = $309; - $310 = HEAP32[1536>>2]|0; - $311 = HEAP32[$pgszSrc>>2]|0; - $312 = (($310) + ($311))|0; - $313 = ($312|0)<(0); - $314 = $313 << 31 >> 31; - $315 = $iOff; - $316 = $315; - HEAP32[$316>>2] = $312; - $317 = (($315) + 4)|0; - $318 = $317; - HEAP32[$318>>2] = $314; + $985 = HEAP32[$5>>2]|0; + $arglist_current36 = HEAP32[$985>>2]|0; + $986 = $arglist_current36; + $987 = ((0) + 4|0); + $expanded116 = $987; + $expanded115 = (($expanded116) - 1)|0; + $988 = (($986) + ($expanded115))|0; + $989 = ((0) + 4|0); + $expanded120 = $989; + $expanded119 = (($expanded120) - 1)|0; + $expanded118 = $expanded119 ^ -1; + $990 = $988 & $expanded118; + $991 = $990; + $992 = HEAP32[$991>>2]|0; + $arglist_next37 = ((($991)) + 4|0); + HEAP32[$985>>2] = $arglist_next37; + HEAP32[$61>>2] = $992; + $993 = HEAP32[$61>>2]|0; + HEAP32[$6>>2] = $993; + } + $994 = HEAP32[$8>>2]|0; + $995 = ($994|0)>(1); + if ($995) { + $996 = HEAP32[$8>>2]|0; + $997 = (($996) - 1)|0; + $998 = HEAP32[$11>>2]|0; + $999 = (($998) - ($997))|0; + HEAP32[$11>>2] = $999; + $1000 = HEAP32[$11>>2]|0; + $1001 = ($1000|0)<=(1); + $1002 = HEAP8[$12>>0]|0; + $1003 = ($1002<<24>>24)!=(0); + $or$cond6 = $1001 | $1003; + if (!($or$cond6)) { + $1004 = HEAP32[$3>>2]|0; + $1005 = HEAP32[$11>>2]|0; + $1006 = (($1005) - 1)|0; + _sqlite3AppendChar($1004,$1006,32); + HEAP32[$11>>2] = 0; + } + $1007 = HEAP32[$3>>2]|0; + $1008 = HEAP32[$8>>2]|0; + $1009 = (($1008) - 1)|0; + $1010 = HEAP32[$6>>2]|0; + $1011 = $1010&255; + _sqlite3AppendChar($1007,$1009,$1011); + } + HEAP32[$9>>2] = 1; + $1012 = HEAP32[$6>>2]|0; + $1013 = $1012&255; + HEAP8[$38>>0] = $1013; + HEAP32[$7>>2] = $38; + break; + } + case 6: case 5: { + $1014 = HEAP8[$22>>0]|0; + $1015 = ($1014<<24>>24)!=(0); + if ($1015) { + $1016 = HEAP32[$37>>2]|0; + $1017 = (_getTextArg($1016)|0); + HEAP32[$7>>2] = $1017; + HEAP8[$21>>0] = 5; + } else { + $1018 = HEAP32[$5>>2]|0; + $arglist_current39 = HEAP32[$1018>>2]|0; + $1019 = $arglist_current39; + $1020 = ((0) + 4|0); + $expanded123 = $1020; + $expanded122 = (($expanded123) - 1)|0; + $1021 = (($1019) + ($expanded122))|0; + $1022 = ((0) + 4|0); + $expanded127 = $1022; + $expanded126 = (($expanded127) - 1)|0; + $expanded125 = $expanded126 ^ -1; + $1023 = $1021 & $expanded125; + $1024 = $1023; + $1025 = HEAP32[$1024>>2]|0; + $arglist_next40 = ((($1024)) + 4|0); + HEAP32[$1018>>2] = $arglist_next40; + HEAP32[$62>>2] = $1025; + $1026 = HEAP32[$62>>2]|0; + HEAP32[$7>>2] = $1026; + } + $1027 = HEAP32[$7>>2]|0; + $1028 = ($1027|0)==(0|0); + if ($1028) { + HEAP32[$7>>2] = 55752; + } else { + $1029 = HEAP8[$21>>0]|0; + $1030 = $1029&255; + $1031 = ($1030|0)==(6); + if ($1031) { + $1032 = HEAP32[$7>>2]|0; + HEAP32[$30>>2] = $1032; + } + } + $1033 = HEAP32[$8>>2]|0; + $1034 = ($1033|0)>=(0); + if (!($1034)) { + $1046 = HEAP32[$7>>2]|0; + $1047 = (_sqlite3Strlen30($1046)|0); + HEAP32[$9>>2] = $1047; + break L79; + } + HEAP32[$9>>2] = 0; while(1) { - $319 = HEAP32[$rc>>2]|0; - $320 = ($319|0)==(0); - if (!($320)) { + $1035 = HEAP32[$9>>2]|0; + $1036 = HEAP32[$8>>2]|0; + $1037 = ($1035|0)<($1036|0); + if (!($1037)) { + break L79; + } + $1038 = HEAP32[$7>>2]|0; + $1039 = HEAP32[$9>>2]|0; + $1040 = (($1038) + ($1039)|0); + $1041 = HEAP8[$1040>>0]|0; + $1042 = $1041 << 24 >> 24; + $1043 = ($1042|0)!=(0); + if (!($1043)) { + break L79; + } + $1044 = HEAP32[$9>>2]|0; + $1045 = (($1044) + 1)|0; + HEAP32[$9>>2] = $1045; + } + break; + } + case 14: case 10: case 9: { + $1048 = HEAP8[$21>>0]|0; + $1049 = $1048&255; + $1050 = ($1049|0)==(14); + $1051 = $1050 ? 34 : 39; + $1052 = $1051&255; + HEAP8[$70>>0] = $1052; + $1053 = HEAP8[$22>>0]|0; + $1054 = ($1053<<24>>24)!=(0); + if ($1054) { + $1055 = HEAP32[$37>>2]|0; + $1056 = (_getTextArg($1055)|0); + HEAP32[$71>>2] = $1056; + } else { + $1057 = HEAP32[$5>>2]|0; + $arglist_current42 = HEAP32[$1057>>2]|0; + $1058 = $arglist_current42; + $1059 = ((0) + 4|0); + $expanded130 = $1059; + $expanded129 = (($expanded130) - 1)|0; + $1060 = (($1058) + ($expanded129))|0; + $1061 = ((0) + 4|0); + $expanded134 = $1061; + $expanded133 = (($expanded134) - 1)|0; + $expanded132 = $expanded133 ^ -1; + $1062 = $1060 & $expanded132; + $1063 = $1062; + $1064 = HEAP32[$1063>>2]|0; + $arglist_next43 = ((($1063)) + 4|0); + HEAP32[$1057>>2] = $arglist_next43; + HEAP32[$72>>2] = $1064; + $1065 = HEAP32[$72>>2]|0; + HEAP32[$71>>2] = $1065; + } + $1066 = HEAP32[$71>>2]|0; + $1067 = ($1066|0)==(0|0); + $1068 = $1067&1; + HEAP32[$67>>2] = $1068; + $1069 = HEAP32[$67>>2]|0; + $1070 = ($1069|0)!=(0); + if ($1070) { + $1071 = HEAP8[$21>>0]|0; + $1072 = $1071&255; + $1073 = ($1072|0)==(10); + $1074 = $1073 ? 20953 : 20958; + HEAP32[$71>>2] = $1074; + } + $1075 = HEAP32[$8>>2]|0; + HEAP32[$65>>2] = $1075; + HEAP32[$66>>2] = 0; + HEAP32[$63>>2] = 0; + while(1) { + $1076 = HEAP32[$65>>2]|0; + $1077 = ($1076|0)!=(0); + if (!($1077)) { break; } - $321 = $iOff; - $322 = $321; - $323 = HEAP32[$322>>2]|0; - $324 = (($321) + 4)|0; - $325 = $324; - $326 = HEAP32[$325>>2]|0; - $327 = $iEnd; - $328 = $327; - $329 = HEAP32[$328>>2]|0; - $330 = (($327) + 4)|0; - $331 = $330; - $332 = HEAP32[$331>>2]|0; - $333 = ($326|0)<($332|0); - $334 = ($323>>>0)<($329>>>0); - $335 = ($326|0)==($332|0); - $336 = $335 & $334; - $337 = $333 | $336; - if (!($337)) { + $1078 = HEAP32[$71>>2]|0; + $1079 = HEAP32[$63>>2]|0; + $1080 = (($1078) + ($1079)|0); + $1081 = HEAP8[$1080>>0]|0; + HEAP8[$69>>0] = $1081; + $1082 = $1081 << 24 >> 24; + $1083 = ($1082|0)!=(0); + if (!($1083)) { break; } - HEAP32[$pSrcPg1>>2] = 0; - $338 = $iOff; - $339 = $338; - $340 = HEAP32[$339>>2]|0; - $341 = (($338) + 4)|0; - $342 = $341; - $343 = HEAP32[$342>>2]|0; - $344 = HEAP32[$pgszSrc>>2]|0; - $345 = ($344|0)<(0); - $346 = $345 << 31 >> 31; - $347 = (___divdi3(($340|0),($343|0),($344|0),($346|0))|0); - $348 = tempRet0; - $349 = (_i64Add(($347|0),($348|0),1,0)|0); - $350 = tempRet0; - HEAP32[$iSrcPg2>>2] = $349; - $351 = HEAP32[$pSrcPager>>2]|0; - $352 = HEAP32[$iSrcPg2>>2]|0; - $353 = (_sqlite3PagerGet($351,$352,$pSrcPg1,0)|0); - HEAP32[$rc>>2] = $353; - $354 = HEAP32[$rc>>2]|0; - $355 = ($354|0)==(0); - if ($355) { - $356 = HEAP32[$pSrcPg1>>2]|0; - $357 = (_sqlite3PagerGetData($356)|0); - HEAP32[$zData>>2] = $357; - $358 = HEAP32[$pFile>>2]|0; - $359 = HEAP32[$zData>>2]|0; - $360 = HEAP32[$pgszSrc>>2]|0; - $361 = $iOff; - $362 = $361; - $363 = HEAP32[$362>>2]|0; - $364 = (($361) + 4)|0; - $365 = $364; - $366 = HEAP32[$365>>2]|0; - $367 = (_sqlite3OsWrite($358,$359,$360,$363,$366)|0); - HEAP32[$rc>>2] = $367; - } - $368 = HEAP32[$pSrcPg1>>2]|0; - _sqlite3PagerUnref($368); - $369 = HEAP32[$pgszSrc>>2]|0; - $370 = ($369|0)<(0); - $371 = $370 << 31 >> 31; - $372 = $iOff; - $373 = $372; - $374 = HEAP32[$373>>2]|0; - $375 = (($372) + 4)|0; - $376 = $375; - $377 = HEAP32[$376>>2]|0; - $378 = (_i64Add(($374|0),($377|0),($369|0),($371|0))|0); - $379 = tempRet0; - $380 = $iOff; - $381 = $380; - HEAP32[$381>>2] = $378; - $382 = (($380) + 4)|0; - $383 = $382; - HEAP32[$383>>2] = $379; - } - $384 = HEAP32[$rc>>2]|0; - $385 = ($384|0)==(0); - if ($385) { - $386 = HEAP32[$pFile>>2]|0; - $387 = $iSize; - $388 = $387; - $389 = HEAP32[$388>>2]|0; - $390 = (($387) + 4)|0; - $391 = $390; - $392 = HEAP32[$391>>2]|0; - $393 = (_backupTruncateFile($386,$389,$392)|0); - HEAP32[$rc>>2] = $393; - } - $394 = HEAP32[$rc>>2]|0; - $395 = ($394|0)==(0); - if ($395) { - $396 = HEAP32[$pDestPager>>2]|0; - $397 = (_sqlite3PagerSync($396,0)|0); - HEAP32[$rc>>2] = $397; + $1084 = HEAP8[$69>>0]|0; + $1085 = $1084 << 24 >> 24; + $1086 = HEAP8[$70>>0]|0; + $1087 = $1086 << 24 >> 24; + $1088 = ($1085|0)==($1087|0); + if ($1088) { + $1089 = HEAP32[$66>>2]|0; + $1090 = (($1089) + 1)|0; + HEAP32[$66>>2] = $1090; + } + $1091 = HEAP32[$63>>2]|0; + $1092 = (($1091) + 1)|0; + HEAP32[$63>>2] = $1092; + $1093 = HEAP32[$65>>2]|0; + $1094 = (($1093) + -1)|0; + HEAP32[$65>>2] = $1094; + } + $1095 = HEAP32[$67>>2]|0; + $1096 = ($1095|0)!=(0); + if ($1096) { + $1101 = 0; + } else { + $1097 = HEAP8[$21>>0]|0; + $1098 = $1097&255; + $1099 = ($1098|0)==(10); + $1101 = $1099; + } + $1100 = $1101&1; + HEAP32[$68>>2] = $1100; + $1102 = HEAP32[$63>>2]|0; + $1103 = (($1102) + 3)|0; + $1104 = HEAP32[$66>>2]|0; + $1105 = (($1104) + ($1103))|0; + HEAP32[$66>>2] = $1105; + $1106 = HEAP32[$66>>2]|0; + $1107 = ($1106|0)>(70); + if ($1107) { + $1108 = HEAP32[$66>>2]|0; + $1109 = ($1108|0)<(0); + $1110 = $1109 << 31 >> 31; + $1111 = (_sqlite3Malloc($1108,$1110)|0); + HEAP32[$30>>2] = $1111; + HEAP32[$7>>2] = $1111; + $1112 = HEAP32[$7>>2]|0; + $1113 = ($1112|0)==(0|0); + if ($1113) { + label = 245; + break L7; + } + } else { + HEAP32[$7>>2] = $38; + } + HEAP32[$64>>2] = 0; + $1115 = HEAP32[$68>>2]|0; + $1116 = ($1115|0)!=(0); + if ($1116) { + $1117 = HEAP8[$70>>0]|0; + $1118 = HEAP32[$7>>2]|0; + $1119 = HEAP32[$64>>2]|0; + $1120 = (($1119) + 1)|0; + HEAP32[$64>>2] = $1120; + $1121 = (($1118) + ($1119)|0); + HEAP8[$1121>>0] = $1117; + } + $1122 = HEAP32[$63>>2]|0; + HEAP32[$65>>2] = $1122; + HEAP32[$63>>2] = 0; + while(1) { + $1123 = HEAP32[$63>>2]|0; + $1124 = HEAP32[$65>>2]|0; + $1125 = ($1123|0)<($1124|0); + if (!($1125)) { + break; + } + $1126 = HEAP32[$71>>2]|0; + $1127 = HEAP32[$63>>2]|0; + $1128 = (($1126) + ($1127)|0); + $1129 = HEAP8[$1128>>0]|0; + HEAP8[$69>>0] = $1129; + $1130 = HEAP32[$7>>2]|0; + $1131 = HEAP32[$64>>2]|0; + $1132 = (($1131) + 1)|0; + HEAP32[$64>>2] = $1132; + $1133 = (($1130) + ($1131)|0); + HEAP8[$1133>>0] = $1129; + $1134 = HEAP8[$69>>0]|0; + $1135 = $1134 << 24 >> 24; + $1136 = HEAP8[$70>>0]|0; + $1137 = $1136 << 24 >> 24; + $1138 = ($1135|0)==($1137|0); + if ($1138) { + $1139 = HEAP8[$69>>0]|0; + $1140 = HEAP32[$7>>2]|0; + $1141 = HEAP32[$64>>2]|0; + $1142 = (($1141) + 1)|0; + HEAP32[$64>>2] = $1142; + $1143 = (($1140) + ($1141)|0); + HEAP8[$1143>>0] = $1139; + } + $1144 = HEAP32[$63>>2]|0; + $1145 = (($1144) + 1)|0; + HEAP32[$63>>2] = $1145; + } + $1146 = HEAP32[$68>>2]|0; + $1147 = ($1146|0)!=(0); + if ($1147) { + $1148 = HEAP8[$70>>0]|0; + $1149 = HEAP32[$7>>2]|0; + $1150 = HEAP32[$64>>2]|0; + $1151 = (($1150) + 1)|0; + HEAP32[$64>>2] = $1151; + $1152 = (($1149) + ($1150)|0); + HEAP8[$1152>>0] = $1148; + } + $1153 = HEAP32[$7>>2]|0; + $1154 = HEAP32[$64>>2]|0; + $1155 = (($1153) + ($1154)|0); + HEAP8[$1155>>0] = 0; + $1156 = HEAP32[$64>>2]|0; + HEAP32[$9>>2] = $1156; + break; + } + case 11: { + $1157 = HEAP32[$5>>2]|0; + $arglist_current45 = HEAP32[$1157>>2]|0; + $1158 = $arglist_current45; + $1159 = ((0) + 4|0); + $expanded137 = $1159; + $expanded136 = (($expanded137) - 1)|0; + $1160 = (($1158) + ($expanded136))|0; + $1161 = ((0) + 4|0); + $expanded141 = $1161; + $expanded140 = (($expanded141) - 1)|0; + $expanded139 = $expanded140 ^ -1; + $1162 = $1160 & $expanded139; + $1163 = $1162; + $1164 = HEAP32[$1163>>2]|0; + $arglist_next46 = ((($1163)) + 4|0); + HEAP32[$1157>>2] = $arglist_next46; + HEAP32[$74>>2] = $1164; + $1165 = HEAP32[$74>>2]|0; + HEAP32[$73>>2] = $1165; + $1166 = HEAP32[$73>>2]|0; + $1167 = ($1166|0)!=(0|0); + if ($1167) { + $1168 = HEAP32[$73>>2]|0; + $1169 = ((($1168)) + 4|0); + $1170 = HEAP32[$1169>>2]|0; + $1171 = ($1170|0)!=(0); + if ($1171) { + $1172 = HEAP32[$3>>2]|0; + $1173 = HEAP32[$73>>2]|0; + $1174 = HEAP32[$1173>>2]|0; + $1175 = HEAP32[$73>>2]|0; + $1176 = ((($1175)) + 4|0); + $1177 = HEAP32[$1176>>2]|0; + _sqlite3StrAccumAppend($1172,$1174,$1177); + } } - } else { - $398 = HEAP32[$pDestPager>>2]|0; - $399 = HEAP32[$nDestTruncate>>2]|0; - _sqlite3PagerTruncateImage($398,$399); - $400 = HEAP32[$pDestPager>>2]|0; - $401 = (_sqlite3PagerCommitPhaseOne($400,0,0)|0); - HEAP32[$rc>>2] = $401; - } - $402 = HEAP32[$rc>>2]|0; - $403 = (0)==($402|0); - if ($403) { - $404 = HEAP32[$0>>2]|0; - $405 = ((($404)) + 4|0); - $406 = HEAP32[$405>>2]|0; - $407 = (_sqlite3BtreeCommitPhaseTwo($406,0)|0); - HEAP32[$rc>>2] = $407; - $408 = (0)==($407|0); - $$ = $408 ? 101 : $407; - HEAP32[$rc>>2] = $$; - } - } - } - $409 = HEAP32[$bCloseTrans>>2]|0; - $410 = ($409|0)!=(0); - if ($410) { - $411 = HEAP32[$0>>2]|0; - $412 = ((($411)) + 24|0); - $413 = HEAP32[$412>>2]|0; - (_sqlite3BtreeCommitPhaseOne($413,0)|0); - $414 = HEAP32[$0>>2]|0; - $415 = ((($414)) + 24|0); - $416 = HEAP32[$415>>2]|0; - (_sqlite3BtreeCommitPhaseTwo($416,0)|0); - } - $417 = HEAP32[$rc>>2]|0; - $418 = ($417|0)==(3082); - if ($418) { - HEAP32[$rc>>2] = 7; - } - $419 = HEAP32[$rc>>2]|0; - $420 = HEAP32[$0>>2]|0; - $421 = ((($420)) + 28|0); - HEAP32[$421>>2] = $419; - $422 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($422|0); -} -function _sqlite3_backup_finish($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $pSrcDb = 0, $pp = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pp = sp + 8|0; - $pSrcDb = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - HEAP32[$0>>2] = 0; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 20|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pSrcDb>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 24|0); - $9 = HEAP32[$8>>2]|0; - _sqlite3BtreeEnter($9); - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + -1)|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 40|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 24|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3BtreePager($25)|0); - $27 = (_sqlite3PagerBackupPtr($26)|0); - HEAP32[$pp>>2] = $27; - while(1) { - $28 = HEAP32[$pp>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ($29|0)!=($30|0); - if (!($31)) { + HEAP32[$11>>2] = 0; + HEAP32[$9>>2] = 0; break; } - $32 = HEAP32[$pp>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = ((($33)) + 44|0); - HEAP32[$pp>>2] = $34; + case 12: { + $1178 = HEAP32[$5>>2]|0; + $arglist_current48 = HEAP32[$1178>>2]|0; + $1179 = $arglist_current48; + $1180 = ((0) + 4|0); + $expanded144 = $1180; + $expanded143 = (($expanded144) - 1)|0; + $1181 = (($1179) + ($expanded143))|0; + $1182 = ((0) + 4|0); + $expanded148 = $1182; + $expanded147 = (($expanded148) - 1)|0; + $expanded146 = $expanded147 ^ -1; + $1183 = $1181 & $expanded146; + $1184 = $1183; + $1185 = HEAP32[$1184>>2]|0; + $arglist_next49 = ((($1184)) + 4|0); + HEAP32[$1178>>2] = $arglist_next49; + HEAP32[$76>>2] = $1185; + $1186 = HEAP32[$76>>2]|0; + HEAP32[$75>>2] = $1186; + $1187 = HEAP32[$5>>2]|0; + $arglist_current51 = HEAP32[$1187>>2]|0; + $1188 = $arglist_current51; + $1189 = ((0) + 4|0); + $expanded151 = $1189; + $expanded150 = (($expanded151) - 1)|0; + $1190 = (($1188) + ($expanded150))|0; + $1191 = ((0) + 4|0); + $expanded155 = $1191; + $expanded154 = (($expanded155) - 1)|0; + $expanded153 = $expanded154 ^ -1; + $1192 = $1190 & $expanded153; + $1193 = $1192; + $1194 = HEAP32[$1193>>2]|0; + $arglist_next52 = ((($1193)) + 4|0); + HEAP32[$1187>>2] = $arglist_next52; + HEAP32[$78>>2] = $1194; + $1195 = HEAP32[$78>>2]|0; + HEAP32[$77>>2] = $1195; + $1196 = HEAP32[$75>>2]|0; + $1197 = ((($1196)) + 8|0); + $1198 = HEAP32[$77>>2]|0; + $1199 = (($1197) + (($1198*72)|0)|0); + HEAP32[$79>>2] = $1199; + $1200 = HEAP32[$79>>2]|0; + $1201 = ((($1200)) + 4|0); + $1202 = HEAP32[$1201>>2]|0; + $1203 = ($1202|0)!=(0|0); + if ($1203) { + $1204 = HEAP32[$3>>2]|0; + $1205 = HEAP32[$79>>2]|0; + $1206 = ((($1205)) + 4|0); + $1207 = HEAP32[$1206>>2]|0; + _sqlite3StrAccumAppendAll($1204,$1207); + $1208 = HEAP32[$3>>2]|0; + _sqlite3StrAccumAppend($1208,20965,1); + } + $1209 = HEAP32[$3>>2]|0; + $1210 = HEAP32[$79>>2]|0; + $1211 = ((($1210)) + 8|0); + $1212 = HEAP32[$1211>>2]|0; + _sqlite3StrAccumAppendAll($1209,$1212); + HEAP32[$11>>2] = 0; + HEAP32[$9>>2] = 0; + break; + } + default: { + label = 272; + break L7; + } + } + } while(0); + if ((label|0) == 62) { + label = 0; + $276 = HEAP32[$27>>2]|0; + $277 = ((($276)) + 2|0); + $278 = HEAP8[$277>>0]|0; + $279 = $278&255; + $280 = $279 & 1; + $281 = ($280|0)!=(0); + $282 = HEAP8[$22>>0]|0; + $283 = ($282<<24>>24)!=(0); + do { + if ($281) { + do { + if ($283) { + $284 = HEAP32[$37>>2]|0; + $285 = (_getIntArg($284)|0); + $286 = tempRet0; + $287 = $44; + $288 = $287; + HEAP32[$288>>2] = $285; + $289 = (($287) + 4)|0; + $290 = $289; + HEAP32[$290>>2] = $286; + } else { + $291 = HEAP8[$19>>0]|0; + $292 = ($291<<24>>24)!=(0); + if ($292) { + $293 = HEAP32[$5>>2]|0; + $arglist_current18 = HEAP32[$293>>2]|0; + $294 = $arglist_current18; + $295 = ((0) + 8|0); + $expanded74 = $295; + $expanded73 = (($expanded74) - 1)|0; + $296 = (($294) + ($expanded73))|0; + $297 = ((0) + 8|0); + $expanded78 = $297; + $expanded77 = (($expanded78) - 1)|0; + $expanded76 = $expanded77 ^ -1; + $298 = $296 & $expanded76; + $299 = $298; + $300 = $299; + $301 = $300; + $302 = HEAP32[$301>>2]|0; + $303 = (($300) + 4)|0; + $304 = $303; + $305 = HEAP32[$304>>2]|0; + $arglist_next19 = ((($299)) + 8|0); + HEAP32[$293>>2] = $arglist_next19; + $306 = $45; + $307 = $306; + HEAP32[$307>>2] = $302; + $308 = (($306) + 4)|0; + $309 = $308; + HEAP32[$309>>2] = $305; + $310 = $45; + $311 = $310; + $312 = HEAP32[$311>>2]|0; + $313 = (($310) + 4)|0; + $314 = $313; + $315 = HEAP32[$314>>2]|0; + $316 = $44; + $317 = $316; + HEAP32[$317>>2] = $312; + $318 = (($316) + 4)|0; + $319 = $318; + HEAP32[$319>>2] = $315; + break; + } + $320 = HEAP8[$18>>0]|0; + $321 = ($320<<24>>24)!=(0); + $322 = HEAP32[$5>>2]|0; + $arglist_current21 = HEAP32[$322>>2]|0; + $323 = $arglist_current21; + $324 = ((0) + 4|0); + $expanded81 = $324; + $expanded80 = (($expanded81) - 1)|0; + $325 = (($323) + ($expanded80))|0; + $326 = ((0) + 4|0); + $expanded85 = $326; + $expanded84 = (($expanded85) - 1)|0; + $expanded83 = $expanded84 ^ -1; + $327 = $325 & $expanded83; + $328 = $327; + $329 = HEAP32[$328>>2]|0; + $arglist_next22 = ((($328)) + 4|0); + HEAP32[$322>>2] = $arglist_next22; + if ($321) { + HEAP32[$46>>2] = $329; + $330 = HEAP32[$46>>2]|0; + $331 = ($330|0)<(0); + $332 = $331 << 31 >> 31; + $333 = $44; + $334 = $333; + HEAP32[$334>>2] = $330; + $335 = (($333) + 4)|0; + $336 = $335; + HEAP32[$336>>2] = $332; + break; + } else { + HEAP32[$47>>2] = $329; + $337 = HEAP32[$47>>2]|0; + $338 = ($337|0)<(0); + $339 = $338 << 31 >> 31; + $340 = $44; + $341 = $340; + HEAP32[$341>>2] = $337; + $342 = (($340) + 4)|0; + $343 = $342; + HEAP32[$343>>2] = $339; + break; + } + } + } while(0); + $344 = $44; + $345 = $344; + $346 = HEAP32[$345>>2]|0; + $347 = (($344) + 4)|0; + $348 = $347; + $349 = HEAP32[$348>>2]|0; + $350 = ($349|0)<(0); + $351 = $44; + $352 = $351; + $353 = HEAP32[$352>>2]|0; + $354 = (($351) + 4)|0; + $355 = $354; + $356 = HEAP32[$355>>2]|0; + if ($350) { + $357 = ($353|0)==(0); + $358 = ($356|0)==(-2147483648); + $359 = $357 & $358; + if ($359) { + $360 = $25; + $361 = $360; + HEAP32[$361>>2] = 0; + $362 = (($360) + 4)|0; + $363 = $362; + HEAP32[$363>>2] = -2147483648; + } else { + $364 = $44; + $365 = $364; + $366 = HEAP32[$365>>2]|0; + $367 = (($364) + 4)|0; + $368 = $367; + $369 = HEAP32[$368>>2]|0; + $370 = (_i64Subtract(0,0,($366|0),($369|0))|0); + $371 = tempRet0; + $372 = $25; + $373 = $372; + HEAP32[$373>>2] = $370; + $374 = (($372) + 4)|0; + $375 = $374; + HEAP32[$375>>2] = $371; + } + HEAP8[$24>>0] = 45; + break; + } + $376 = $25; + $377 = $376; + HEAP32[$377>>2] = $353; + $378 = (($376) + 4)|0; + $379 = $378; + HEAP32[$379>>2] = $356; + $380 = HEAP8[$13>>0]|0; + $381 = ($380<<24>>24)!=(0); + if ($381) { + HEAP8[$24>>0] = 43; + break; + } + $382 = HEAP8[$14>>0]|0; + $383 = ($382<<24>>24)!=(0); + if ($383) { + HEAP8[$24>>0] = 32; + break; + } else { + HEAP8[$24>>0] = 0; + break; + } + } else { + do { + if ($283) { + $384 = HEAP32[$37>>2]|0; + $385 = (_getIntArg($384)|0); + $386 = tempRet0; + $387 = $25; + $388 = $387; + HEAP32[$388>>2] = $385; + $389 = (($387) + 4)|0; + $390 = $389; + HEAP32[$390>>2] = $386; + } else { + $391 = HEAP8[$19>>0]|0; + $392 = ($391<<24>>24)!=(0); + if ($392) { + $393 = HEAP32[$5>>2]|0; + $arglist_current24 = HEAP32[$393>>2]|0; + $394 = $arglist_current24; + $395 = ((0) + 8|0); + $expanded88 = $395; + $expanded87 = (($expanded88) - 1)|0; + $396 = (($394) + ($expanded87))|0; + $397 = ((0) + 8|0); + $expanded92 = $397; + $expanded91 = (($expanded92) - 1)|0; + $expanded90 = $expanded91 ^ -1; + $398 = $396 & $expanded90; + $399 = $398; + $400 = $399; + $401 = $400; + $402 = HEAP32[$401>>2]|0; + $403 = (($400) + 4)|0; + $404 = $403; + $405 = HEAP32[$404>>2]|0; + $arglist_next25 = ((($399)) + 8|0); + HEAP32[$393>>2] = $arglist_next25; + $406 = $48; + $407 = $406; + HEAP32[$407>>2] = $402; + $408 = (($406) + 4)|0; + $409 = $408; + HEAP32[$409>>2] = $405; + $410 = $48; + $411 = $410; + $412 = HEAP32[$411>>2]|0; + $413 = (($410) + 4)|0; + $414 = $413; + $415 = HEAP32[$414>>2]|0; + $416 = $25; + $417 = $416; + HEAP32[$417>>2] = $412; + $418 = (($416) + 4)|0; + $419 = $418; + HEAP32[$419>>2] = $415; + break; + } + $420 = HEAP8[$18>>0]|0; + $421 = ($420<<24>>24)!=(0); + $422 = HEAP32[$5>>2]|0; + $arglist_current27 = HEAP32[$422>>2]|0; + $423 = $arglist_current27; + $424 = ((0) + 4|0); + $expanded95 = $424; + $expanded94 = (($expanded95) - 1)|0; + $425 = (($423) + ($expanded94))|0; + $426 = ((0) + 4|0); + $expanded99 = $426; + $expanded98 = (($expanded99) - 1)|0; + $expanded97 = $expanded98 ^ -1; + $427 = $425 & $expanded97; + $428 = $427; + $429 = HEAP32[$428>>2]|0; + $arglist_next28 = ((($428)) + 4|0); + HEAP32[$422>>2] = $arglist_next28; + if ($421) { + HEAP32[$49>>2] = $429; + $430 = HEAP32[$49>>2]|0; + $431 = $25; + $432 = $431; + HEAP32[$432>>2] = $430; + $433 = (($431) + 4)|0; + $434 = $433; + HEAP32[$434>>2] = 0; + break; + } else { + HEAP32[$50>>2] = $429; + $435 = HEAP32[$50>>2]|0; + $436 = $25; + $437 = $436; + HEAP32[$437>>2] = $435; + $438 = (($436) + 4)|0; + $439 = $438; + HEAP32[$439>>2] = 0; + break; + } + } + } while(0); + HEAP8[$24>>0] = 0; + } + } while(0); + $440 = $25; + $441 = $440; + $442 = HEAP32[$441>>2]|0; + $443 = (($440) + 4)|0; + $444 = $443; + $445 = HEAP32[$444>>2]|0; + $446 = ($442|0)==(0); + $447 = ($445|0)==(0); + $448 = $446 & $447; + if ($448) { + HEAP8[$15>>0] = 0; + } + $449 = HEAP8[$17>>0]|0; + $450 = $449&255; + $451 = ($450|0)!=(0); + if ($451) { + $452 = HEAP32[$8>>2]|0; + $453 = HEAP32[$11>>2]|0; + $454 = HEAP8[$24>>0]|0; + $455 = $454 << 24 >> 24; + $456 = ($455|0)!=(0); + $457 = $456&1; + $458 = (($453) - ($457))|0; + $459 = ($452|0)<($458|0); + if ($459) { + $460 = HEAP32[$11>>2]|0; + $461 = HEAP8[$24>>0]|0; + $462 = $461 << 24 >> 24; + $463 = ($462|0)!=(0); + $464 = $463&1; + $465 = (($460) - ($464))|0; + HEAP32[$8>>2] = $465; + } + } + $466 = HEAP32[$8>>2]|0; + $467 = ($466|0)<(60); + if ($467) { + HEAP32[$29>>2] = 70; + HEAP32[$28>>2] = $38; + } else { + $468 = HEAP32[$8>>2]|0; + $469 = (($468) + 10)|0; + HEAP32[$29>>2] = $469; + $470 = HEAP32[$29>>2]|0; + $471 = ($470|0)<(0); + $472 = $471 << 31 >> 31; + $473 = (_sqlite3Malloc($470,$472)|0); + HEAP32[$30>>2] = $473; + HEAP32[$28>>2] = $473; + $474 = HEAP32[$28>>2]|0; + $475 = ($474|0)==(0|0); + if ($475) { + label = 96; + break; + } + } + $477 = HEAP32[$28>>2]|0; + $478 = HEAP32[$29>>2]|0; + $479 = (($478) - 1)|0; + $480 = (($477) + ($479)|0); + HEAP32[$7>>2] = $480; + $481 = HEAP8[$21>>0]|0; + $482 = $481&255; + $483 = ($482|0)==(15); + if ($483) { + $484 = $25; + $485 = $484; + $486 = HEAP32[$485>>2]|0; + $487 = (($484) + 4)|0; + $488 = $487; + $489 = HEAP32[$488>>2]|0; + $490 = (___uremdi3(($486|0),($489|0),10,0)|0); + $491 = tempRet0; + HEAP32[$51>>2] = $490; + $492 = HEAP32[$51>>2]|0; + $493 = ($492|0)>=(4); + if ($493) { + label = 100; + } else { + $494 = $25; + $495 = $494; + $496 = HEAP32[$495>>2]|0; + $497 = (($494) + 4)|0; + $498 = $497; + $499 = HEAP32[$498>>2]|0; + $500 = (___udivdi3(($496|0),($499|0),10,0)|0); + $501 = tempRet0; + $502 = (___uremdi3(($500|0),($501|0),10,0)|0); + $503 = tempRet0; + $504 = ($502|0)==(1); + $505 = ($503|0)==(0); + $506 = $504 & $505; + if ($506) { + label = 100; + } + } + if ((label|0) == 100) { + label = 0; + HEAP32[$51>>2] = 0; + } + $507 = HEAP32[$51>>2]|0; + $508 = $507<<1; + $509 = (($508) + 1)|0; + $510 = (20896 + ($509)|0); + $511 = HEAP8[$510>>0]|0; + $512 = HEAP32[$7>>2]|0; + $513 = ((($512)) + -1|0); + HEAP32[$7>>2] = $513; + HEAP8[$513>>0] = $511; + $514 = HEAP32[$51>>2]|0; + $515 = $514<<1; + $516 = (20896 + ($515)|0); + $517 = HEAP8[$516>>0]|0; + $518 = HEAP32[$7>>2]|0; + $519 = ((($518)) + -1|0); + HEAP32[$7>>2] = $519; + HEAP8[$519>>0] = $517; + } + $520 = HEAP32[$27>>2]|0; + $521 = ((($520)) + 4|0); + $522 = HEAP8[$521>>0]|0; + $523 = $522&255; + $524 = (20905 + ($523)|0); + HEAP32[$52>>2] = $524; + $525 = HEAP32[$27>>2]|0; + $526 = ((($525)) + 1|0); + $527 = HEAP8[$526>>0]|0; + HEAP8[$53>>0] = $527; + while(1) { + $528 = HEAP32[$52>>2]|0; + $529 = $25; + $530 = $529; + $531 = HEAP32[$530>>2]|0; + $532 = (($529) + 4)|0; + $533 = $532; + $534 = HEAP32[$533>>2]|0; + $535 = HEAP8[$53>>0]|0; + $536 = $535&255; + $537 = (___uremdi3(($531|0),($534|0),($536|0),0)|0); + $538 = tempRet0; + $539 = (($528) + ($537)|0); + $540 = HEAP8[$539>>0]|0; + $541 = HEAP32[$7>>2]|0; + $542 = ((($541)) + -1|0); + HEAP32[$7>>2] = $542; + HEAP8[$542>>0] = $540; + $543 = $25; + $544 = $543; + $545 = HEAP32[$544>>2]|0; + $546 = (($543) + 4)|0; + $547 = $546; + $548 = HEAP32[$547>>2]|0; + $549 = HEAP8[$53>>0]|0; + $550 = $549&255; + $551 = (___udivdi3(($545|0),($548|0),($550|0),0)|0); + $552 = tempRet0; + $553 = $25; + $554 = $553; + HEAP32[$554>>2] = $551; + $555 = (($553) + 4)|0; + $556 = $555; + HEAP32[$556>>2] = $552; + $557 = $25; + $558 = $557; + $559 = HEAP32[$558>>2]|0; + $560 = (($557) + 4)|0; + $561 = $560; + $562 = HEAP32[$561>>2]|0; + $563 = ($562>>>0)>(0); + $564 = ($559>>>0)>(0); + $565 = ($562|0)==(0); + $566 = $565 & $564; + $567 = $563 | $566; + if (!($567)) { + break; + } + } + $568 = HEAP32[$28>>2]|0; + $569 = HEAP32[$29>>2]|0; + $570 = (($569) - 1)|0; + $571 = (($568) + ($570)|0); + $572 = HEAP32[$7>>2]|0; + $573 = $571; + $574 = $572; + $575 = (($573) - ($574))|0; + HEAP32[$9>>2] = $575; + $576 = HEAP32[$8>>2]|0; + $577 = HEAP32[$9>>2]|0; + $578 = (($576) - ($577))|0; + HEAP32[$10>>2] = $578; + while(1) { + $579 = HEAP32[$10>>2]|0; + $580 = ($579|0)>(0); + if (!($580)) { + break; + } + $581 = HEAP32[$7>>2]|0; + $582 = ((($581)) + -1|0); + HEAP32[$7>>2] = $582; + HEAP8[$582>>0] = 48; + $583 = HEAP32[$10>>2]|0; + $584 = (($583) + -1)|0; + HEAP32[$10>>2] = $584; + } + $585 = HEAP8[$24>>0]|0; + $586 = ($585<<24>>24)!=(0); + if ($586) { + $587 = HEAP8[$24>>0]|0; + $588 = HEAP32[$7>>2]|0; + $589 = ((($588)) + -1|0); + HEAP32[$7>>2] = $589; + HEAP8[$589>>0] = $587; + } + $590 = HEAP8[$15>>0]|0; + $591 = $590&255; + $592 = ($591|0)!=(0); + L351: do { + if ($592) { + $593 = HEAP32[$27>>2]|0; + $594 = ((($593)) + 5|0); + $595 = HEAP8[$594>>0]|0; + $596 = $595&255; + $597 = ($596|0)!=(0); + if ($597) { + $598 = HEAP32[$27>>2]|0; + $599 = ((($598)) + 5|0); + $600 = HEAP8[$599>>0]|0; + $601 = $600&255; + $602 = (20938 + ($601)|0); + HEAP32[$54>>2] = $602; + while(1) { + $603 = HEAP32[$54>>2]|0; + $604 = HEAP8[$603>>0]|0; + HEAP8[$55>>0] = $604; + $605 = $604 << 24 >> 24; + $606 = ($605|0)!=(0); + if (!($606)) { + break L351; + } + $607 = HEAP8[$55>>0]|0; + $608 = HEAP32[$7>>2]|0; + $609 = ((($608)) + -1|0); + HEAP32[$7>>2] = $609; + HEAP8[$609>>0] = $607; + $610 = HEAP32[$54>>2]|0; + $611 = ((($610)) + 1|0); + HEAP32[$54>>2] = $611; + } + } + } + } while(0); + $612 = HEAP32[$28>>2]|0; + $613 = HEAP32[$29>>2]|0; + $614 = (($613) - 1)|0; + $615 = (($612) + ($614)|0); + $616 = HEAP32[$7>>2]|0; + $617 = $615; + $618 = $616; + $619 = (($617) - ($618))|0; + HEAP32[$9>>2] = $619; + } + $1213 = HEAP32[$9>>2]|0; + $1214 = HEAP32[$11>>2]|0; + $1215 = (($1214) - ($1213))|0; + HEAP32[$11>>2] = $1215; + $1216 = HEAP32[$11>>2]|0; + $1217 = ($1216|0)<=(0); + $1218 = HEAP8[$12>>0]|0; + $1219 = ($1218<<24>>24)!=(0); + $or$cond10 = $1217 | $1219; + if (!($or$cond10)) { + $1220 = HEAP32[$3>>2]|0; + $1221 = HEAP32[$11>>2]|0; + _sqlite3AppendChar($1220,$1221,32); + } + $1222 = HEAP32[$3>>2]|0; + $1223 = HEAP32[$7>>2]|0; + $1224 = HEAP32[$9>>2]|0; + _sqlite3StrAccumAppend($1222,$1223,$1224); + $1225 = HEAP32[$11>>2]|0; + $1226 = ($1225|0)>(0); + if ($1226) { + $1227 = HEAP8[$12>>0]|0; + $1228 = $1227&255; + $1229 = ($1228|0)!=(0); + if ($1229) { + $1230 = HEAP32[$3>>2]|0; + $1231 = HEAP32[$11>>2]|0; + _sqlite3AppendChar($1230,$1231,32); + } + } + $1232 = HEAP32[$30>>2]|0; + $1233 = ($1232|0)!=(0|0); + if ($1233) { + $1234 = HEAP32[$3>>2]|0; + $1235 = HEAP32[$1234>>2]|0; + $1236 = HEAP32[$30>>2]|0; + _sqlite3DbFree($1235,$1236); + HEAP32[$30>>2] = 0; } - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 44|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$pp>>2]|0; - HEAP32[$38>>2] = $37; + $1237 = HEAP32[$4>>2]|0; + $1238 = ((($1237)) + 1|0); + HEAP32[$4>>2] = $1238; } - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 4|0); - $41 = HEAP32[$40>>2]|0; - (_sqlite3BtreeRollback($41,0,0)|0); - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 28|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==(101); - if ($45) { - $49 = 0; - } else { - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 28|0); - $48 = HEAP32[$47>>2]|0; - $49 = $48; + if ((label|0) == 13) { + $140 = HEAP32[$3>>2]|0; + _sqlite3StrAccumAppend($140,20756,1); + STACKTOP = sp;return; } - HEAP32[$rc>>2] = $49; - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)!=(0|0); - if ($52) { - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$rc>>2]|0; - _sqlite3Error($54,$55); - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$56>>2]|0; - _sqlite3LeaveMutexAndCloseZombie($57); + else if ((label|0) == 96) { + $476 = HEAP32[$3>>2]|0; + _setStrAccumError($476,1); + STACKTOP = sp;return; } - $58 = HEAP32[$1>>2]|0; - $59 = HEAP32[$58>>2]|0; - $60 = ($59|0)!=(0|0); - if ($60) { - $61 = HEAP32[$1>>2]|0; - _sqlite3_free($61); + else if ((label|0) == 165) { + $804 = HEAP32[$3>>2]|0; + _setStrAccumError($804,1); + STACKTOP = sp;return; + } + else if ((label|0) == 245) { + $1114 = HEAP32[$3>>2]|0; + _setStrAccumError($1114,1); + STACKTOP = sp;return; + } + else if ((label|0) == 272) { + STACKTOP = sp;return; } - $62 = HEAP32[$pSrcDb>>2]|0; - _sqlite3LeaveMutexAndCloseZombie($62); - $63 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $63; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); } -function _sqlite3_finalize($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $rc = 0, $v = 0, label = 0, sp = 0; +function _sqlite3StrAccumFinish($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $rc = sp + 8|0; - $v = sp + 4|0; - $db = sp; - HEAP32[$1>>2] = $pStmt; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - HEAP32[$rc>>2] = 0; - } else { - $4 = HEAP32[$1>>2]|0; - HEAP32[$v>>2] = $4; - $5 = HEAP32[$v>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$v>>2]|0; - $8 = (_vdbeSafety($7)|0); - $9 = ($8|0)!=(0); - if ($9) { - $10 = (_sqlite3MisuseError(75223)|0); - HEAP32[$0>>2] = $10; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); + $3 = ((($2)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + do { + if ($5) { + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($8) + ($11)|0); + HEAP8[$12>>0] = 0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15>>>0)>(0); + if ($16) { + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 25|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 & 4; + $22 = ($21|0)!=(0); + if (!($22)) { + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + 1)|0; + $29 = (_sqlite3DbMallocRaw($24,$28,0)|0); + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 8|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)!=(0|0); + $36 = HEAP32[$1>>2]|0; + if ($35) { + $37 = ((($36)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) + 1)|0; + _memcpy(($38|0),($41|0),($45|0))|0; + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 25|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = $49 | 4; + $51 = $50&255; + HEAP8[$47>>0] = $51; + break; + } else { + _setStrAccumError($36,1); + break; + } + } + } } - $11 = HEAP32[$v>>2]|0; - $12 = ((($11)) + 128|0); - $13 = $12; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)>(0); - $20 = ($15>>>0)>(0); - $21 = ($18|0)==(0); - $22 = $21 & $20; - $23 = $19 | $22; - if ($23) { - $24 = HEAP32[$db>>2]|0; - $25 = HEAP32[$v>>2]|0; - _invokeProfileCallback($24,$25); - } - $26 = HEAP32[$v>>2]|0; - $27 = (_sqlite3VdbeFinalize($26)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$db>>2]|0; - $29 = HEAP32[$rc>>2]|0; - $30 = (_sqlite3ApiExit($28,$29)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$db>>2]|0; - _sqlite3LeaveMutexAndCloseZombie($31); - } - $32 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $32; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); + } while(0); + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + 8|0); + $54 = HEAP32[$53>>2]|0; + STACKTOP = sp;return ($54|0); } -function _sqlite3_reset($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $rc = 0, $v = 0, label = 0, sp = 0; +function _sqlite3DbMallocRaw($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $rc = sp + 8|0; - $v = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pStmt; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - HEAP32[$rc>>2] = 0; - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); - } - $3 = HEAP32[$0>>2]|0; - HEAP32[$v>>2] = $3; - $4 = HEAP32[$v>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$v>>2]|0; - $7 = ((($6)) + 128|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp; + $6 = sp + 8|0; + HEAP32[$4>>2] = $0; + $7 = $5; $8 = $7; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(0); - $15 = ($10>>>0)>(0); - $16 = ($13|0)==(0); - $17 = $16 & $15; - $18 = $14 | $17; - if ($18) { - $19 = HEAP32[$db>>2]|0; - $20 = HEAP32[$v>>2]|0; - _invokeProfileCallback($19,$20); - } - $21 = HEAP32[$v>>2]|0; - $22 = (_sqlite3VdbeReset($21)|0); - HEAP32[$rc>>2] = $22; - $23 = HEAP32[$v>>2]|0; - _sqlite3VdbeRewind($23); - $24 = HEAP32[$db>>2]|0; - $25 = HEAP32[$rc>>2]|0; - $26 = (_sqlite3ApiExit($24,$25)|0); - HEAP32[$rc>>2] = $26; - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)!=(0|0); + if ($12) { + $13 = HEAP32[$4>>2]|0; + $14 = $5; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3DbMallocRawNN($13,$16,$19)|0); + HEAP32[$3>>2] = $20; + $29 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($29|0); + } else { + $21 = $5; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3Malloc($23,$26)|0); + HEAP32[$6>>2] = $27; + $28 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $28; + $29 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($29|0); + } + return (0)|0; } -function _sqlite3_clear_bindings($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0; - var $rc = 0, label = 0, sp = 0; +function _setStrAccumError($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $i = sp + 8|0; - $rc = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - HEAP32[$i>>2] = 0; - while(1) { - $2 = HEAP32[$i>>2]|0; - $3 = HEAP32[$p>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5 << 16 >> 16; - $7 = ($2|0)<($6|0); - if (!($7)) { - break; + $2 = sp; + $3 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP8[$3>>0] = $1; + $4 = HEAP8[$3>>0]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 24|0); + HEAP8[$6>>0] = $4; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3DbMallocRawNN($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp; + $6 = sp + 8|0; + HEAP32[$4>>2] = $0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 256|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + do { + if ($14) { + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 256|0); + $23 = ((($22)) + 4|0); + $24 = HEAP16[$23>>1]|0; + $25 = $24&65535; + $26 = ($20>>>0)>(0); + $27 = ($17>>>0)>($25>>>0); + $28 = ($20|0)==(0); + $29 = $28 & $27; + $30 = $26 | $29; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 256|0); + if ($30) { + $33 = ((($32)) + 16|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + 1)|0; + HEAP32[$34>>2] = $36; + break; + } + $37 = ((($32)) + 28|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$6>>2] = $38; + $39 = ($38|0)==(0|0); + if ($39) { + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 256|0); + $42 = ((($41)) + 16|0); + $43 = ((($42)) + 8|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$43>>2] = $45; + break; + } + $46 = HEAP32[$6>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$4>>2]|0; + $49 = ((($48)) + 256|0); + $50 = ((($49)) + 28|0); + HEAP32[$50>>2] = $47; + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 256|0); + $53 = ((($52)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$53>>2] = $55; + $56 = HEAP32[$4>>2]|0; + $57 = ((($56)) + 256|0); + $58 = ((($57)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (($59) + 1)|0; + HEAP32[$58>>2] = $60; + $61 = HEAP32[$4>>2]|0; + $62 = ((($61)) + 256|0); + $63 = ((($62)) + 8|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$4>>2]|0; + $66 = ((($65)) + 256|0); + $67 = ((($66)) + 12|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($64|0)>($68|0); + if ($69) { + $70 = HEAP32[$4>>2]|0; + $71 = ((($70)) + 256|0); + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$4>>2]|0; + $75 = ((($74)) + 256|0); + $76 = ((($75)) + 12|0); + HEAP32[$76>>2] = $73; + } + $77 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $77; + $90 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($90|0); + } else { + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 69|0); + $80 = HEAP8[$79>>0]|0; + $81 = ($80<<24>>24)!=(0); + if ($81) { + HEAP32[$3>>2] = 0; + $90 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($90|0); + } } - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 116|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + (($8*40)|0)|0); - _sqlite3VdbeMemRelease($12); - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 116|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + (($13*40)|0)|0); - $18 = ((($17)) + 8|0); - HEAP16[$18>>1] = 1; - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; - } - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 144|0); - $23 = HEAP16[$22>>1]|0; - $24 = ($23&65535) >>> 9; - $25 = $24 & 1; - $26 = $25&65535; - $27 = ($26|0)!=(0); - if (!($27)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); - } - $28 = HEAP32[$p>>2]|0; - $29 = ((($28)) + 196|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)!=(0); - if (!($31)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); - } - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 144|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34 & -2; - $36 = $35 | 1; - HEAP16[$33>>1] = $36; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + } while(0); + $82 = HEAP32[$4>>2]|0; + $83 = $5; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (_dbMallocRawFinish($82,$85,$88)|0); + HEAP32[$3>>2] = $89; + $90 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($90|0); } -function _sqlite3_value_blob($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $p = 0, label = 0, sp = 0; +function _sqlite3Malloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pVal; - $2 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 18; - $8 = ($7|0)!=(0); - if (!($8)) { - $33 = HEAP32[$1>>2]|0; - $34 = (_sqlite3_value_text($33)|0); - HEAP32[$0>>2] = $34; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = $12 & 16384; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$p>>2]|0; - $16 = (_sqlite3VdbeMemExpandBlob($15)|0); - $18 = $16; - } else { - $18 = 0; - } - $17 = ($18|0)!=(0); - if ($17) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $2 = sp; + $3 = sp + 8|0; + $4 = $2; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = $2; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = ($10|0)==(0); + $15 = ($13|0)==(0); + $16 = $14 & $15; + $17 = $2; + $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)>=(2147483392); + $25 = ($22|0)==(0); + $26 = $25 & $24; + $27 = $23 | $26; + $or$cond = $16 | $27; + if ($or$cond) { + HEAP32[$3>>2] = 0; + $46 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($46|0); } - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21&65535; - $23 = $22 | 16; - $24 = $23&65535; - HEAP16[$20>>1] = $24; - $25 = HEAP32[$p>>2]|0; - $26 = ((($25)) + 12|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$p>>2]|0; - $30 = ((($29)) + 16|0); - $31 = HEAP32[$30>>2]|0; + $28 = HEAP32[2]|0; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[13620]|0; + _sqlite3_mutex_enter($30); + $31 = $2; $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + (_mallocWithAlarm($33,$3)|0); + $37 = HEAP32[13620]|0; + _sqlite3_mutex_leave($37); + $46 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($46|0); } else { - $32 = 0; + $38 = HEAP32[(48)>>2]|0; + $39 = $2; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (FUNCTION_TABLE_ii[$38 & 255]($41)|0); + HEAP32[$3>>2] = $45; + $46 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($46|0); } - HEAP32[$0>>2] = $32; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); -} -function _sqlite3_value_text($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVal; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3ValueText($1,1)|0); - STACKTOP = sp;return ($2|0); + return (0)|0; } -function _sqlite3_value_bytes($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _mallocWithAlarm($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVal; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3ValueBytes($1,1)|0); - STACKTOP = sp;return ($2|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[(64)>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = (FUNCTION_TABLE_ii[$7 & 255]($8)|0); + HEAP32[$4>>2] = $9; + $10 = HEAP32[$2>>2]|0; + _sqlite3StatusHighwater(5,$10); + $11 = (54488); + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>(0); + $18 = ($13>>>0)>(0); + $19 = ($16|0)==(0); + $20 = $19 & $18; + $21 = $17 | $20; + do { + if ($21) { + $22 = (_sqlite3StatusValue(0)|0); + $23 = tempRet0; + $24 = $6; + $25 = $24; + HEAP32[$25>>2] = $22; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = $6; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (54488); + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$4>>2]|0; + $41 = ($40|0)<(0); + $42 = $41 << 31 >> 31; + $43 = (_i64Subtract(($36|0),($39|0),($40|0),($42|0))|0); + $44 = tempRet0; + $45 = ($33|0)>($44|0); + $46 = ($30>>>0)>=($43>>>0); + $47 = ($33|0)==($44|0); + $48 = $47 & $46; + $49 = $45 | $48; + if ($49) { + HEAP32[(54508)>>2] = 1; + $50 = HEAP32[$4>>2]|0; + _sqlite3MallocAlarm($50); + break; + } else { + HEAP32[(54508)>>2] = 0; + break; + } + } + } while(0); + $51 = HEAP32[(48)>>2]|0; + $52 = HEAP32[$4>>2]|0; + $53 = (FUNCTION_TABLE_ii[$51 & 255]($52)|0); + HEAP32[$5>>2] = $53; + $54 = HEAP32[$5>>2]|0; + $55 = ($54|0)!=(0|0); + if (!($55)) { + $59 = HEAP32[$5>>2]|0; + $60 = HEAP32[$3>>2]|0; + HEAP32[$60>>2] = $59; + $61 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($61|0); + } + $56 = HEAP32[$5>>2]|0; + $57 = (_sqlite3MallocSize($56)|0); + HEAP32[$4>>2] = $57; + $58 = HEAP32[$4>>2]|0; + _sqlite3StatusUp(0,$58); + _sqlite3StatusUp(9,1); + $59 = HEAP32[$5>>2]|0; + $60 = HEAP32[$3>>2]|0; + HEAP32[$60>>2] = $59; + $61 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($61|0); } -function _sqlite3_value_double($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0.0, label = 0, sp = 0; +function _sqlite3StatusHighwater($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVal; - $1 = HEAP32[$0>>2]|0; - $2 = (+_sqlite3VdbeRealValue($1)); - STACKTOP = sp;return (+$2); + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = ((54556) + ($7<<2)|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($6>>>0)>($9>>>0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((54556) + ($12<<2)|0); + HEAP32[$13>>2] = $11; + STACKTOP = sp;return; } -function _sqlite3_value_int($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3StatusValue($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVal; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3VdbeIntValue($1)|0); - $3 = tempRet0; - STACKTOP = sp;return ($2|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (54516 + ($2<<2)|0); + $4 = HEAP32[$3>>2]|0; + tempRet0 = (0); + STACKTOP = sp;return ($4|0); } -function _sqlite3_value_int64($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3MallocAlarm($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVal; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3VdbeIntValue($1)|0); - $3 = tempRet0; - tempRet0 = ($3); - STACKTOP = sp;return ($2|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = (54488); + $3 = $2; + $4 = HEAP32[$3>>2]|0; + $5 = (($2) + 4)|0; + $6 = $5; + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(0); + $9 = ($4>>>0)<=(0); + $10 = ($7|0)==(0); + $11 = $10 & $9; + $12 = $8 | $11; + if ($12) { + STACKTOP = sp;return; + } + $13 = HEAP32[13620]|0; + _sqlite3_mutex_leave($13); + $14 = HEAP32[$1>>2]|0; + (_sqlite3_release_memory($14)|0); + $15 = HEAP32[13620]|0; + _sqlite3_mutex_enter($15); + STACKTOP = sp;return; } -function _sqlite3_value_type($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3MallocSize($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVal; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 31; - $6 = (18138 + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - STACKTOP = sp;return ($8|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[(60)>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (FUNCTION_TABLE_ii[$2 & 255]($3)|0); + STACKTOP = sp;return ($4|0); } -function _sqlite3_result_blob($pCtx,$z,$n,$xDel) { - $pCtx = $pCtx|0; - $z = $z|0; - $n = $n|0; - $xDel = $xDel|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _sqlite3StatusUp($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; - $0 = sp + 12|0; - $1 = sp + 8|0; $2 = sp + 4|0; $3 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $xDel; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - _setResultStrOrError($4,$5,$6,0,$7); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (54516 + ($5<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($7) + ($4))|0; + HEAP32[$6>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = (54516 + ($9<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((54556) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($11>>>0)>($14>>>0); + if (!($15)) { + STACKTOP = sp;return; + } + $16 = HEAP32[$2>>2]|0; + $17 = (54516 + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((54556) + ($19<<2)|0); + HEAP32[$20>>2] = $18; STACKTOP = sp;return; } -function _sqlite3_result_blob64($pCtx,$z,$0,$1,$xDel) { - $pCtx = $pCtx|0; - $z = $z|0; +function _sqlite3_release_memory($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + STACKTOP = sp;return 0; +} +function _dbMallocRawFinish($0,$1,$2) { $0 = $0|0; $1 = $1|0; - $xDel = $xDel|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $3 = sp + 12|0; $4 = sp; $5 = sp + 8|0; - HEAP32[$2>>2] = $pCtx; - HEAP32[$3>>2] = $z; + HEAP32[$3>>2] = $0; $6 = $4; $7 = $6; - HEAP32[$7>>2] = $0; + HEAP32[$7>>2] = $1; $8 = (($6) + 4)|0; $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$5>>2] = $xDel; + HEAP32[$9>>2] = $2; $10 = $4; $11 = $10; $12 = HEAP32[$11>>2]|0; $13 = (($10) + 4)|0; $14 = $13; $15 = HEAP32[$14>>2]|0; - $16 = ($15>>>0)>(0); - $17 = ($12>>>0)>(2147483647); - $18 = ($15|0)==(0); - $19 = $18 & $17; - $20 = $16 | $19; - if ($20) { - $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$5>>2]|0; - $23 = HEAP32[$2>>2]|0; - (_invokeValueDestructor($21,$22,$23)|0); - STACKTOP = sp;return; - } else { - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$3>>2]|0; - $26 = $4; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$5>>2]|0; - _setResultStrOrError($24,$25,$28,0,$32); - STACKTOP = sp;return; + $16 = (_sqlite3Malloc($12,$15)|0); + HEAP32[$5>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $20 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($20|0); } + $19 = HEAP32[$3>>2]|0; + _sqlite3OomFault($19); + $20 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($20|0); } -function _sqlite3_result_double($pCtx,$rVal) { - $pCtx = $pCtx|0; - $rVal = +$rVal; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, label = 0, sp = 0; +function _sqlite3OomFault($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp; - HEAP32[$0>>2] = $pCtx; - HEAPF64[$1>>3] = $rVal; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = +HEAPF64[$1>>3]; - _sqlite3VdbeMemSetDouble($3,$4); + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 69|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 70|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)==(0); + if (!($11)) { + STACKTOP = sp;return; + } + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 69|0); + HEAP8[$13>>0] = 1; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 168|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>(0); + if ($17) { + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 248|0); + HEAP32[$19>>2] = 1; + } + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 256|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + 1)|0; + HEAP32[$21>>2] = $23; STACKTOP = sp;return; } -function _sqlite3_result_error($pCtx,$z,$n) { - $pCtx = $pCtx|0; - $z = $z|0; - $n = $n|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; +function _sqlite3StrAccumAppend($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $n; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 20|0); - HEAP32[$4>>2] = 1; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 25|0); - HEAP8[$6>>0] = 1; - $7 = HEAP32[$0>>2]|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_sqlite3VdbeMemSetStr($8,$9,$10,1,(-1))|0); - STACKTOP = sp;return; + $9 = HEAP32[$5>>2]|0; + $10 = (($8) + ($9))|0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($10>>>0)>=($13>>>0); + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$5>>2]|0; + _enlargeAndAppend($15,$16,$17); + STACKTOP = sp;return; + } else { + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + ($18))|0; + HEAP32[$20>>2] = $22; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = (($28) - ($29))|0; + $31 = (($25) + ($30)|0); + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$5>>2]|0; + _memcpy(($31|0),($32|0),($33|0))|0; + STACKTOP = sp;return; + } } -function _sqlite3_result_int($pCtx,$iVal) { - $pCtx = $pCtx|0; - $iVal = $iVal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _getIntArg($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $iVal; - $2 = HEAP32[$0>>2]|0; + $2 = sp + 8|0; + HEAP32[$2>>2] = $0; $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)<(0); - $6 = $5 << 31 >> 31; - _sqlite3VdbeMemSetInt64($3,$4,$6); - STACKTOP = sp;return; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($4|0)<=($7|0); + if ($8) { + $9 = $1; + $10 = $9; + HEAP32[$10>>2] = 0; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = 0; + $28 = $1; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + tempRet0 = ($33); + STACKTOP = sp;return ($30|0); + } else { + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$17>>2] = $19; + $20 = (($15) + ($18<<2)|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_sqlite3_value_int64($21)|0); + $23 = tempRet0; + $24 = $1; + $25 = $24; + HEAP32[$25>>2] = $22; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = $1; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + tempRet0 = ($33); + STACKTOP = sp;return ($30|0); + } + return (0)|0; } -function _sqlite3_result_int64($pCtx,$0,$1) { - $pCtx = $pCtx|0; +function _getDoubleArg($0) { $0 = $0|0; - $1 = $1|0; - var $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; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $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; + $1 = sp; $2 = sp + 8|0; - $3 = sp; - HEAP32[$2>>2] = $pCtx; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = $3; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - _sqlite3VdbeMemSetInt64($9,$12,$15); - STACKTOP = sp;return; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($4|0)<=($7|0); + if ($8) { + HEAPF64[$1>>3] = 0.0; + $19 = +HEAPF64[$1>>3]; + STACKTOP = sp;return (+$19); + } else { + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + 1)|0; + HEAP32[$13>>2] = $15; + $16 = (($11) + ($14<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = (+_sqlite3_value_double($17)); + HEAPF64[$1>>3] = $18; + $19 = +HEAPF64[$1>>3]; + STACKTOP = sp;return (+$19); + } + return +(0.0); } -function _sqlite3_result_null($pCtx) { - $pCtx = $pCtx|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _sqlite3IsNaN($0) { + $0 = +$0; + var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 24|0; + $3 = sp + 8|0; + $4 = sp; + HEAPF64[$1>>3] = $0; + $5 = +HEAPF64[$1>>3]; + HEAPF64[$3>>3] = $5; + $6 = +HEAPF64[$3>>3]; + HEAPF64[$4>>3] = $6; + $7 = +HEAPF64[$3>>3]; + $8 = +HEAPF64[$4>>3]; + $9 = $7 != $8; + $10 = $9&1; + HEAP32[$2>>2] = $10; + $11 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _et_getdigit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)<=(0); + if ($9) { + HEAP8[$2>>0] = 48; + $28 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($28|0); + } else { + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + -1)|0; + HEAP32[$10>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = +HEAPF64[$13>>3]; + $15 = (~~(($14))); + HEAP32[$5>>2] = $15; + $16 = HEAP32[$5>>2]|0; + $17 = (+($16|0)); + HEAPF64[$6>>3] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = (($18) + 48)|0; + HEAP32[$5>>2] = $19; + $20 = HEAP32[$3>>2]|0; + $21 = +HEAPF64[$20>>3]; + $22 = +HEAPF64[$6>>3]; + $23 = $21 - $22; + $24 = $23 * 10.0; + $25 = HEAP32[$3>>2]|0; + HEAPF64[$25>>3] = $24; + $26 = HEAP32[$5>>2]|0; + $27 = $26&255; + HEAP8[$2>>0] = $27; + $28 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($28|0); + } + return (0)|0; +} +function _getTextArg($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCtx; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemSetNull($2); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($4|0)<=($7|0); + if ($8) { + HEAP32[$1>>2] = 0; + $19 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($19|0); + } else { + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + 1)|0; + HEAP32[$13>>2] = $15; + $16 = (($11) + ($14<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3_value_text($17)|0); + HEAP32[$1>>2] = $18; + $19 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($19|0); + } + return (0)|0; +} +function _sqlite3AppendChar($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 4|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP8[$5>>0] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)<(0); + $11 = $10 << 31 >> 31; + $12 = (_i64Add(($8|0),0,($9|0),($11|0))|0); + $13 = tempRet0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($13|0)>(0); + $18 = ($12>>>0)>=($16>>>0); + $19 = ($13|0)==(0); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = (_sqlite3StrAccumEnlarge($22,$23)|0); + HEAP32[$4>>2] = $24; + $25 = ($24|0)<=(0); + if ($25) { + STACKTOP = sp;return; + } + } + while(1) { + $26 = HEAP32[$4>>2]|0; + $27 = (($26) + -1)|0; + HEAP32[$4>>2] = $27; + $28 = ($26|0)>(0); + if (!($28)) { + break; + } + $29 = HEAP8[$5>>0]|0; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + 1)|0; + HEAP32[$34>>2] = $36; + $37 = (($32) + ($35)|0); + HEAP8[$37>>0] = $29; + } STACKTOP = sp;return; } -function _sqlite3_result_text($pCtx,$z,$n,$xDel) { - $pCtx = $pCtx|0; - $z = $z|0; - $n = $n|0; - $xDel = $xDel|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _sqlite3StrAccumAppendAll($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; $2 = sp + 4|0; $3 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $xDel; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - _setResultStrOrError($4,$5,$6,1,$7); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_sqlite3Strlen30($6)|0); + _sqlite3StrAccumAppend($4,$5,$7); STACKTOP = sp;return; } -function _sqlite3_result_text64($pCtx,$z,$0,$1,$xDel,$enc) { - $pCtx = $pCtx|0; - $z = $z|0; +function _sqlite3DbFree($0,$1) { $0 = $0|0; $1 = $1|0; - $xDel = $xDel|0; - $enc = $enc|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; + var $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; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; $4 = sp; - $5 = sp + 8|0; - $6 = sp + 20|0; - HEAP32[$2>>2] = $pCtx; - HEAP32[$3>>2] = $z; - $7 = $4; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - HEAP32[$5>>2] = $xDel; - HEAP8[$6>>0] = $enc; - $11 = HEAP8[$6>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(4); - if ($13) { - $14 = HEAP8[968>>0]|0; - $15 = $14 << 24 >> 24; - $16 = ($15|0)==(0); - $17 = $16 ? 3 : 2; - $18 = $17&255; - HEAP8[$6>>0] = $18; - } - $19 = $4; - $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)>(2147483647); - $27 = ($24|0)==(0); - $28 = $27 & $26; - $29 = $25 | $28; - if ($29) { - $30 = HEAP32[$3>>2]|0; - $31 = HEAP32[$5>>2]|0; - $32 = HEAP32[$2>>2]|0; - (_invokeValueDestructor($30,$31,$32)|0); - STACKTOP = sp;return; - } else { - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = $4; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP8[$6>>0]|0; - $42 = HEAP32[$5>>2]|0; - _setResultStrOrError($33,$34,$37,$41,$42); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { STACKTOP = sp;return; } + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)!=(0|0); + if ($8) { + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 456|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$3>>2]|0; + if ($12) { + _measureAllocationSize($13,$14); + STACKTOP = sp;return; + } + $15 = (_isLookaside($13,$14)|0); + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + HEAP32[$4>>2] = $17; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 256|0); + $20 = ((($19)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$4>>2]|0; + HEAP32[$22>>2] = $21; + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 256|0); + $26 = ((($25)) + 28|0); + HEAP32[$26>>2] = $23; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 256|0); + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($30) + -1)|0; + HEAP32[$29>>2] = $31; + STACKTOP = sp;return; + } + } + $32 = HEAP32[$3>>2]|0; + _sqlite3_free($32); + STACKTOP = sp;return; } -function _sqlite3_result_value($pCtx,$pValue) { - $pCtx = $pCtx|0; - $pValue = $pValue|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _measureAllocationSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $pValue; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - (_sqlite3VdbeMemCopy($3,$4)|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_sqlite3DbMallocSize($4,$5)|0); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 456|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($6))|0; + HEAP32[$9>>2] = $11; STACKTOP = sp;return; } -function _sqlite3_result_zeroblob64($pCtx,$0,$1) { - $pCtx = $pCtx|0; +function _isLookaside($0,$1) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pOut = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp; - $pOut = sp + 8|0; - HEAP32[$3>>2] = $pCtx; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$pOut>>2] = $10; - $11 = $4; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$pOut>>2]|0; - $18 = ((($17)) + 32|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($19)) + 96|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)<(0); - $23 = $22 << 31 >> 31; - $24 = ($16>>>0)>($23>>>0); - $25 = ($13>>>0)>($21>>>0); - $26 = ($16|0)==($23|0); - $27 = $26 & $25; - $28 = $24 | $27; - if ($28) { - HEAP32[$2>>2] = 18; - $37 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($37|0); - } else { - $29 = HEAP32[$3>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = $4; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - _sqlite3VdbeMemSetZeroBlob($30,$33); - HEAP32[$2>>2] = 0; - $37 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($37|0); + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 256|0); + $8 = ((($7)) + 32|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9; + $11 = ($5>>>0)>=($10>>>0); + if (!($11)) { + $21 = 0; + $20 = $21&1; + STACKTOP = sp;return ($20|0); } - return (0)|0; + $12 = HEAP32[$3>>2]|0; + $13 = $12; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 256|0); + $16 = ((($15)) + 36|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17; + $19 = ($13>>>0)<($18>>>0); + $21 = $19; + $20 = $21&1; + STACKTOP = sp;return ($20|0); } -function _sqlite3_result_error_code($pCtx,$errCode) { - $pCtx = $pCtx|0; - $errCode = $errCode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3_free($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $errCode; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 20|0); - HEAP32[$4>>2] = $2; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 25|0); - HEAP8[$6>>0] = 1; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11 & 1; - $13 = ($12|0)!=(0); - if (!($13)) { + $3 = ($2|0)==(0|0); + if ($3) { + STACKTOP = sp;return; + } + $4 = HEAP32[2]|0; + $5 = ($4|0)!=(0); + if ($5) { + $6 = HEAP32[13620]|0; + _sqlite3_mutex_enter($6); + $7 = HEAP32[$1>>2]|0; + $8 = (_sqlite3MallocSize($7)|0); + _sqlite3StatusDown(0,$8); + _sqlite3StatusDown(9,1); + $9 = HEAP32[(52)>>2]|0; + $10 = HEAP32[$1>>2]|0; + FUNCTION_TABLE_vi[$9 & 255]($10); + $11 = HEAP32[13620]|0; + _sqlite3_mutex_leave($11); + STACKTOP = sp;return; + } else { + $12 = HEAP32[(52)>>2]|0; + $13 = HEAP32[$1>>2]|0; + FUNCTION_TABLE_vi[$12 & 255]($13); STACKTOP = sp;return; } - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = (_sqlite3ErrStr($16)|0); - (_sqlite3VdbeMemSetStr($15,$17,-1,1,0)|0); - STACKTOP = sp;return; } -function _sqlite3_result_error_toobig($pCtx) { - $pCtx = $pCtx|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _sqlite3StatusDown($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCtx; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 20|0); - HEAP32[$2>>2] = 18; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 25|0); - HEAP8[$4>>0] = 1; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - (_sqlite3VdbeMemSetStr($6,18170,-1,1,0)|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (54516 + ($5<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($7) - ($4))|0; + HEAP32[$6>>2] = $8; STACKTOP = sp;return; } -function _sqlite3_result_error_nomem($pCtx) { - $pCtx = $pCtx|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; +function _sqlite3DbMallocSize($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; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCtx; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemSetNull($2); - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 20|0); - HEAP32[$4>>2] = 7; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 25|0); - HEAP8[$6>>0] = 1; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 32|0); - $10 = HEAP32[$9>>2]|0; - _sqlite3OomFault($10); - STACKTOP = sp;return; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (_isLookaside($7,$8)|0); + $10 = ($9|0)!=(0); + if ($10) { + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 256|0); + $16 = ((($15)) + 4|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + HEAP32[$2>>2] = $18; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); + } + } + $11 = HEAP32[(60)>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = (FUNCTION_TABLE_ii[$11 & 255]($12)|0); + HEAP32[$2>>2] = $13; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); } -function _sqlite3_step($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $cnt = 0, $db = 0, $rc = 0, $rc2 = 0, $savedPc = 0, $v = 0, $zErr = 0, label = 0, sp = 0; +function _sqlite3StrAccumEnlarge($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $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, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $rc = sp + 24|0; - $rc2 = sp + 20|0; - $v = sp + 16|0; - $cnt = sp + 12|0; - $db = sp + 8|0; - $savedPc = sp + 4|0; - $zErr = sp; - HEAP32[$1>>2] = $pStmt; - HEAP32[$rc>>2] = 0; - HEAP32[$rc2>>2] = 0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$v>>2] = $2; - HEAP32[$cnt>>2] = 0; - $3 = HEAP32[$v>>2]|0; - $4 = (_vdbeSafetyNotNull($3)|0); - $5 = ($4|0)!=(0); - if ($5) { - $6 = (_sqlite3MisuseError(75775)|0); - HEAP32[$0>>2] = $6; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)!=(0); + if ($11) { + HEAP32[$2>>2] = 0; + $167 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($167|0); } - $7 = HEAP32[$v>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$db>>2] = $8; - $9 = HEAP32[$v>>2]|0; - $10 = ((($9)) + 144|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11 & -3; - HEAP16[$10>>1] = $12; - while(1) { - $13 = HEAP32[$v>>2]|0; - $14 = (_sqlite3Step($13)|0); - HEAP32[$rc>>2] = $14; - $15 = ($14|0)==(17); - if (!($15)) { - break; - } - $16 = HEAP32[$cnt>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$cnt>>2] = $17; - $18 = ($16|0)<(50); - if (!($18)) { - break; - } - $19 = HEAP32[$v>>2]|0; - $20 = ((($19)) + 36|0); + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + $16 = HEAP32[$3>>2]|0; + if ($15) { + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 12|0); $21 = HEAP32[$20>>2]|0; - HEAP32[$savedPc>>2] = $21; - $22 = HEAP32[$v>>2]|0; - $23 = (_sqlite3Reprepare($22)|0); - HEAP32[$rc>>2] = $23; - HEAP32[$rc2>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)!=(0); - if ($25) { - break; - } - $26 = HEAP32[$1>>2]|0; - (_sqlite3_reset($26)|0); - $27 = HEAP32[$savedPc>>2]|0; - $28 = ($27|0)>=(0); - if (!($28)) { - continue; - } - $29 = HEAP32[$v>>2]|0; - $30 = ((($29)) + 144|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31 & -3; - $33 = $32 | 2; - HEAP16[$30>>1] = $33; + $22 = (($18) - ($21))|0; + $23 = (($22) - 1)|0; + HEAP32[$4>>2] = $23; + $24 = HEAP32[$3>>2]|0; + _setStrAccumError($24,2); + $25 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $25; + $167 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($167|0); } - $34 = HEAP32[$rc2>>2]|0; - $35 = ($34|0)!=(0); - do { - if ($35) { - $36 = HEAP32[$db>>2]|0; - $37 = ((($36)) + 244|0); - $38 = HEAP32[$37>>2]|0; - $39 = (_sqlite3_value_text($38)|0); - HEAP32[$zErr>>2] = $39; - $40 = HEAP32[$db>>2]|0; - $41 = HEAP32[$v>>2]|0; - $42 = ((($41)) + 108|0); - $43 = HEAP32[$42>>2]|0; - _sqlite3DbFree($40,$43); - $44 = HEAP32[$db>>2]|0; - $45 = ((($44)) + 69|0); - $46 = HEAP8[$45>>0]|0; - $47 = ($46<<24>>24)!=(0); - if ($47) { - $56 = HEAP32[$v>>2]|0; - $57 = ((($56)) + 108|0); - HEAP32[$57>>2] = 0; - HEAP32[$rc>>2] = 7; - $58 = HEAP32[$v>>2]|0; - $59 = ((($58)) + 40|0); - HEAP32[$59>>2] = 7; - break; - } else { - $48 = HEAP32[$db>>2]|0; - $49 = HEAP32[$zErr>>2]|0; - $50 = (_sqlite3DbStrDup($48,$49)|0); - $51 = HEAP32[$v>>2]|0; - $52 = ((($51)) + 108|0); - HEAP32[$52>>2] = $50; - $53 = HEAP32[$rc2>>2]|0; - $54 = HEAP32[$v>>2]|0; - $55 = ((($54)) + 40|0); - HEAP32[$55>>2] = $53; - break; - } + $26 = ((($16)) + 25|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = $28 & 4; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + $34 = $33; + } else { + $34 = 0; + } + HEAP32[$6>>2] = $34; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = $7; + $39 = $38; + HEAP32[$39>>2] = $37; + $40 = (($38) + 4)|0; + $41 = $40; + HEAP32[$41>>2] = 0; + $42 = HEAP32[$4>>2]|0; + $43 = (($42) + 1)|0; + $44 = ($43|0)<(0); + $45 = $44 << 31 >> 31; + $46 = $7; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (_i64Add(($48|0),($51|0),($43|0),($45|0))|0); + $53 = tempRet0; + $54 = $7; + $55 = $54; + HEAP32[$55>>2] = $52; + $56 = (($54) + 4)|0; + $57 = $56; + HEAP32[$57>>2] = $53; + $58 = $7; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$3>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = (_i64Add(($60|0),($63|0),($66|0),0)|0); + $68 = tempRet0; + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($68|0)<(0); + $73 = ($67>>>0)<=($71>>>0); + $74 = ($68|0)==(0); + $75 = $74 & $73; + $76 = $72 | $75; + if ($76) { + $77 = HEAP32[$3>>2]|0; + $78 = ((($77)) + 12|0); + $79 = HEAP32[$78>>2]|0; + $80 = $7; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (($80) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (_i64Add(($82|0),($85|0),($79|0),0)|0); + $87 = tempRet0; + $88 = $7; + $89 = $88; + HEAP32[$89>>2] = $86; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + } + $92 = $7; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (($92) + 4)|0; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$3>>2]|0; + $99 = ((($98)) + 20|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($97|0)>(0); + $102 = ($94>>>0)>($100>>>0); + $103 = ($97|0)==(0); + $104 = $103 & $102; + $105 = $101 | $104; + if ($105) { + $106 = HEAP32[$3>>2]|0; + _sqlite3StrAccumReset($106); + $107 = HEAP32[$3>>2]|0; + _setStrAccumError($107,2); + HEAP32[$2>>2] = 0; + $167 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($167|0); + } + $108 = $7; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (($108) + 4)|0; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + 16|0); + HEAP32[$115>>2] = $110; + $116 = HEAP32[$3>>2]|0; + $117 = HEAP32[$116>>2]|0; + $118 = ($117|0)!=(0|0); + if ($118) { + $119 = HEAP32[$3>>2]|0; + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$6>>2]|0; + $122 = HEAP32[$3>>2]|0; + $123 = ((($122)) + 16|0); + $124 = HEAP32[$123>>2]|0; + $125 = (_sqlite3DbRealloc($120,$121,$124,0)|0); + HEAP32[$5>>2] = $125; + } else { + $126 = HEAP32[$6>>2]|0; + $127 = HEAP32[$3>>2]|0; + $128 = ((($127)) + 16|0); + $129 = HEAP32[$128>>2]|0; + $130 = (_sqlite3_realloc64($126,$129,0)|0); + HEAP32[$5>>2] = $130; + } + $131 = HEAP32[$5>>2]|0; + $132 = ($131|0)!=(0|0); + $133 = HEAP32[$3>>2]|0; + if (!($132)) { + _sqlite3StrAccumReset($133); + $166 = HEAP32[$3>>2]|0; + _setStrAccumError($166,1); + HEAP32[$2>>2] = 0; + $167 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($167|0); + } + $134 = ((($133)) + 25|0); + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = $136 & 4; + $138 = ($137|0)!=(0); + if (!($138)) { + $139 = HEAP32[$3>>2]|0; + $140 = ((($139)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141>>>0)>(0); + if ($142) { + $143 = HEAP32[$5>>2]|0; + $144 = HEAP32[$3>>2]|0; + $145 = ((($144)) + 8|0); + $146 = HEAP32[$145>>2]|0; + $147 = HEAP32[$3>>2]|0; + $148 = ((($147)) + 12|0); + $149 = HEAP32[$148>>2]|0; + _memcpy(($143|0),($146|0),($149|0))|0; } - } while(0); - $60 = HEAP32[$db>>2]|0; - $61 = HEAP32[$rc>>2]|0; - $62 = (_sqlite3ApiExit($60,$61)|0); - HEAP32[$rc>>2] = $62; - $63 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $63; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); -} -function _sqlite3_user_data($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($5|0); + } + $150 = HEAP32[$5>>2]|0; + $151 = HEAP32[$3>>2]|0; + $152 = ((($151)) + 8|0); + HEAP32[$152>>2] = $150; + $153 = HEAP32[$3>>2]|0; + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$5>>2]|0; + $156 = (_sqlite3DbMallocSize($154,$155)|0); + $157 = HEAP32[$3>>2]|0; + $158 = ((($157)) + 16|0); + HEAP32[$158>>2] = $156; + $159 = HEAP32[$3>>2]|0; + $160 = ((($159)) + 25|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = $162 | 4; + $164 = $163&255; + HEAP8[$160>>0] = $164; + $165 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $165; + $167 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($167|0); } -function _sqlite3_context_db_handle($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3StrAccumReset($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 32|0); - $4 = HEAP32[$3>>2]|0; - STACKTOP = sp;return ($4|0); + $3 = ((($2)) + 25|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = $5 & 4; + $7 = ($6|0)!=(0); + if (!($7)) { + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$20>>2] = 0; + STACKTOP = sp;return; + } + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP32[$11>>2]|0; + _sqlite3DbFree($9,$12); + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 25|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 & -5; + $18 = $17&255; + HEAP8[$14>>0] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$20>>2] = 0; + STACKTOP = sp;return; } -function _sqlite3_aggregate_context($p,$nByte) { - $p = $p|0; - $nByte = $nByte|0; - var $0 = 0, $1 = 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; - var sp = 0; +function _sqlite3DbRealloc($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $nByte; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = $8 & 8192; - $10 = ($9|0)==(0); - $11 = HEAP32[$1>>2]|0; - if ($10) { - $12 = HEAP32[$2>>2]|0; - $13 = (_createAggContext($11,$12)|0); - HEAP32[$0>>2] = $13; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } else { - $14 = ((($11)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 16|0); + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + $8 = $7; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $3; + $12 = HEAP32[$6>>2]|0; + $13 = ($12|0)==(0|0); + $14 = HEAP32[$5>>2]|0; + if ($13) { + $15 = $7; + $16 = $15; $17 = HEAP32[$16>>2]|0; - HEAP32[$0>>2] = $17; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3DbMallocRawNN($14,$17,$20)|0); + HEAP32[$4>>2] = $21; + $51 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($51|0); } - return (0)|0; + $22 = HEAP32[$6>>2]|0; + $23 = (_isLookaside($14,$22)|0); + $24 = ($23|0)!=(0); + if ($24) { + $25 = $7; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 256|0); + $33 = ((($32)) + 4|0); + $34 = HEAP16[$33>>1]|0; + $35 = $34&65535; + $36 = ($30>>>0)<(0); + $37 = ($27>>>0)<=($35>>>0); + $38 = ($30|0)==(0); + $39 = $38 & $37; + $40 = $36 | $39; + if ($40) { + $41 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $41; + $51 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($51|0); + } + } + $42 = HEAP32[$5>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = $7; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (_dbReallocFinish($42,$43,$46,$49)|0); + HEAP32[$4>>2] = $50; + $51 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($51|0); } -function _sqlite3_column_count($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $pVm = 0, label = 0, sp = 0; +function _sqlite3_realloc64($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pVm = sp; - HEAP32[$0>>2] = $pStmt; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pVm>>2] = $1; - $2 = HEAP32[$pVm>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $8 = 0; - STACKTOP = sp;return ($8|0); + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$4>>2] = $0; + $6 = $5; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = (_sqlite3_initialize()|0); + $11 = ($10|0)!=(0); + if ($11) { + HEAP32[$3>>2] = 0; + $20 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($20|0); + } else { + $12 = HEAP32[$4>>2]|0; + $13 = $5; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3Realloc($12,$15,$18)|0); + HEAP32[$3>>2] = $19; + $20 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($20|0); } - $4 = HEAP32[$pVm>>2]|0; - $5 = ((($4)) + 140|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = $7; - STACKTOP = sp;return ($8|0); + return (0)|0; } -function _sqlite3_data_count($pStmt) { - $pStmt = $pStmt|0; - var $0 = 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, $pVm = 0, label = 0, sp = 0; +function _sqlite3_initialize() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, dest = 0; + var label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $pVm = sp; - HEAP32[$1>>2] = $pStmt; - $2 = HEAP32[$1>>2]|0; - HEAP32[$pVm>>2] = $2; - $3 = HEAP32[$pVm>>2]|0; - $4 = ($3|0)==(0|0); - if (!($4)) { - $5 = HEAP32[$pVm>>2]|0; - $6 = ((($5)) + 104|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = HEAP32[$pVm>>2]|0; - $10 = ((($9)) + 140|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - HEAP32[$0>>2] = $12; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); + $2 = sp; + $3 = HEAP32[(236)>>2]|0; + $4 = ($3|0)!=(0); + if ($4) { + HEAP32[$0>>2] = 0; + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); + } + $5 = (_sqlite3MutexInit()|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $8; + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); + } + $9 = (_sqlite3MutexAlloc(2)|0); + HEAP32[$1>>2] = $9; + $10 = HEAP32[$1>>2]|0; + _sqlite3_mutex_enter($10); + HEAP32[(244)>>2] = 1; + $11 = HEAP32[(248)>>2]|0; + $12 = ($11|0)!=(0); + if (!($12)) { + $13 = (_sqlite3MallocInit()|0); + HEAP32[$2>>2] = $13; + } + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)==(0); + if ($15) { + HEAP32[(248)>>2] = 1; + $16 = HEAP32[(260)>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + $18 = (_sqlite3MutexAlloc(1)|0); + HEAP32[(260)>>2] = $18; + $19 = HEAP32[(12)>>2]|0; + $20 = ($19|0)==(0); + $21 = HEAP32[(260)>>2]|0; + $22 = ($21|0)!=(0|0); + $or$cond = $20 | $22; + if (!($or$cond)) { + HEAP32[$2>>2] = 7; + } } } - HEAP32[$0>>2] = 0; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); -} -function _sqlite3_column_blob($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $val = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $val = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - $5 = (_sqlite3_value_blob($4)|0); - HEAP32[$val>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _columnMallocFailure($6); - $7 = HEAP32[$val>>2]|0; - STACKTOP = sp;return ($7|0); -} -function _sqlite3_column_bytes($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $val = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $val = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - $5 = (_sqlite3_value_bytes($4)|0); - HEAP32[$val>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _columnMallocFailure($6); - $7 = HEAP32[$val>>2]|0; - STACKTOP = sp;return ($7|0); -} -function _sqlite3_column_double($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $val = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - $5 = (+_sqlite3_value_double($4)); - HEAPF64[$val>>3] = $5; - $6 = HEAP32[$0>>2]|0; - _columnMallocFailure($6); - $7 = +HEAPF64[$val>>3]; - STACKTOP = sp;return (+$7); -} -function _sqlite3_column_int($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $val = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $val = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - $5 = (_sqlite3_value_int($4)|0); - HEAP32[$val>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _columnMallocFailure($6); - $7 = HEAP32[$val>>2]|0; - STACKTOP = sp;return ($7|0); + $23 = HEAP32[$2>>2]|0; + $24 = ($23|0)==(0); + if ($24) { + $25 = HEAP32[(256)>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[(256)>>2] = $26; + } + $27 = HEAP32[$1>>2]|0; + _sqlite3_mutex_leave($27); + $28 = HEAP32[$2>>2]|0; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $30; + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); + } + $31 = HEAP32[(260)>>2]|0; + _sqlite3_mutex_enter($31); + $32 = HEAP32[(236)>>2]|0; + $33 = ($32|0)==(0); + $34 = HEAP32[(240)>>2]|0; + $35 = ($34|0)==(0); + $or$cond3 = $33 & $35; + if ($or$cond3) { + HEAP32[(240)>>2] = 1; + dest=54696; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _sqlite3RegisterBuiltinFunctions(); + $36 = HEAP32[(252)>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $38 = (_sqlite3PcacheInitialize()|0); + HEAP32[$2>>2] = $38; + } + $39 = HEAP32[$2>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + HEAP32[(252)>>2] = 1; + $41 = (_sqlite3OsInit()|0); + HEAP32[$2>>2] = $41; + } + $42 = HEAP32[$2>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + $44 = HEAP32[(212)>>2]|0; + $45 = HEAP32[(216)>>2]|0; + $46 = HEAP32[(220)>>2]|0; + _sqlite3PCacheBufferSetup($44,$45,$46); + HEAP32[(236)>>2] = 1; + } + HEAP32[(240)>>2] = 0; + } + $47 = HEAP32[(260)>>2]|0; + _sqlite3_mutex_leave($47); + $48 = HEAP32[$1>>2]|0; + _sqlite3_mutex_enter($48); + $49 = HEAP32[(256)>>2]|0; + $50 = (($49) + -1)|0; + HEAP32[(256)>>2] = $50; + $51 = HEAP32[(256)>>2]|0; + $52 = ($51|0)<=(0); + if ($52) { + $53 = HEAP32[(260)>>2]|0; + _sqlite3_mutex_free($53); + HEAP32[(260)>>2] = 0; + } + $54 = HEAP32[$1>>2]|0; + _sqlite3_mutex_leave($54); + $55 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $55; + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); } -function _sqlite3_column_int64($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $val = 0, label = 0; - var sp = 0; +function _sqlite3Realloc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - $5 = (_sqlite3_value_int64($4)|0); - $6 = tempRet0; - $7 = $val; - $8 = $7; - HEAP32[$8>>2] = $5; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - $11 = HEAP32[$0>>2]|0; - _columnMallocFailure($11); - $12 = $val; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + HEAP32[$4>>2] = $0; + $10 = $5; + $11 = $10; + HEAP32[$11>>2] = $1; + $12 = (($10) + 4)|0; $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - tempRet0 = ($17); - STACKTOP = sp;return ($14|0); -} -function _sqlite3_column_text($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $val = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $val = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$val>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _columnMallocFailure($6); - $7 = HEAP32[$val>>2]|0; - STACKTOP = sp;return ($7|0); -} -function _sqlite3_column_value($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pOut = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pOut = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - HEAP32[$pOut>>2] = $4; - $5 = HEAP32[$pOut>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = $8 & 2048; - $10 = ($9|0)!=(0); - if (!($10)) { - $23 = HEAP32[$0>>2]|0; - _columnMallocFailure($23); - $24 = HEAP32[$pOut>>2]|0; - STACKTOP = sp;return ($24|0); + HEAP32[$13>>2] = $2; + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(0|0); + $16 = $5; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + if ($15) { + $22 = (_sqlite3Malloc($18,$21)|0); + HEAP32[$3>>2] = $22; + $123 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($123|0); } - $11 = HEAP32[$pOut>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & -2049; - $16 = $15&65535; - HEAP16[$12>>1] = $16; - $17 = HEAP32[$pOut>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 | 4096; - $22 = $21&65535; - HEAP16[$18>>1] = $22; - $23 = HEAP32[$0>>2]|0; - _columnMallocFailure($23); - $24 = HEAP32[$pOut>>2]|0; - STACKTOP = sp;return ($24|0); + $23 = ($18|0)==(0); + $24 = ($21|0)==(0); + $25 = $23 & $24; + if ($25) { + $26 = HEAP32[$4>>2]|0; + _sqlite3_free($26); + HEAP32[$3>>2] = 0; + $123 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($123|0); + } + $27 = $5; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = ($32>>>0)>(0); + $34 = ($29>>>0)>=(2147483392); + $35 = ($32|0)==(0); + $36 = $35 & $34; + $37 = $33 | $36; + if ($37) { + HEAP32[$3>>2] = 0; + $123 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($123|0); + } + $38 = HEAP32[$4>>2]|0; + $39 = (_sqlite3MallocSize($38)|0); + HEAP32[$6>>2] = $39; + $40 = HEAP32[(64)>>2]|0; + $41 = $5; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (FUNCTION_TABLE_ii[$40 & 255]($43)|0); + HEAP32[$7>>2] = $47; + $48 = HEAP32[$6>>2]|0; + $49 = HEAP32[$7>>2]|0; + $50 = ($48|0)==($49|0); + do { + if ($50) { + $51 = HEAP32[$4>>2]|0; + HEAP32[$9>>2] = $51; + } else { + $52 = HEAP32[2]|0; + $53 = ($52|0)!=(0); + if (!($53)) { + $118 = HEAP32[(56)>>2]|0; + $119 = HEAP32[$4>>2]|0; + $120 = HEAP32[$7>>2]|0; + $121 = (FUNCTION_TABLE_iii[$118 & 255]($119,$120)|0); + HEAP32[$9>>2] = $121; + break; + } + $54 = HEAP32[13620]|0; + _sqlite3_mutex_enter($54); + $55 = $5; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + _sqlite3StatusHighwater(5,$57); + $61 = HEAP32[$7>>2]|0; + $62 = HEAP32[$6>>2]|0; + $63 = (($61) - ($62))|0; + HEAP32[$8>>2] = $63; + $64 = (_sqlite3StatusValue(0)|0); + $65 = tempRet0; + $66 = (54488); + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$8>>2]|0; + $73 = ($72|0)<(0); + $74 = $73 << 31 >> 31; + $75 = (_i64Subtract(($68|0),($71|0),($72|0),($74|0))|0); + $76 = tempRet0; + $77 = ($65|0)>($76|0); + $78 = ($64>>>0)>=($75>>>0); + $79 = ($65|0)==($76|0); + $80 = $79 & $78; + $81 = $77 | $80; + if ($81) { + $82 = HEAP32[$8>>2]|0; + _sqlite3MallocAlarm($82); + } + $83 = HEAP32[(56)>>2]|0; + $84 = HEAP32[$4>>2]|0; + $85 = HEAP32[$7>>2]|0; + $86 = (FUNCTION_TABLE_iii[$83 & 255]($84,$85)|0); + HEAP32[$9>>2] = $86; + $87 = HEAP32[$9>>2]|0; + $88 = ($87|0)==(0|0); + $89 = (54488); + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)>(0); + $96 = ($91>>>0)>(0); + $97 = ($94|0)==(0); + $98 = $97 & $96; + $99 = $95 | $98; + $or$cond = $88 & $99; + if ($or$cond) { + $100 = $5; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + _sqlite3MallocAlarm($102); + $106 = HEAP32[(56)>>2]|0; + $107 = HEAP32[$4>>2]|0; + $108 = HEAP32[$7>>2]|0; + $109 = (FUNCTION_TABLE_iii[$106 & 255]($107,$108)|0); + HEAP32[$9>>2] = $109; + } + $110 = HEAP32[$9>>2]|0; + $111 = ($110|0)!=(0|0); + if ($111) { + $112 = HEAP32[$9>>2]|0; + $113 = (_sqlite3MallocSize($112)|0); + HEAP32[$7>>2] = $113; + $114 = HEAP32[$7>>2]|0; + $115 = HEAP32[$6>>2]|0; + $116 = (($114) - ($115))|0; + _sqlite3StatusUp(0,$116); + } + $117 = HEAP32[13620]|0; + _sqlite3_mutex_leave($117); + } + } while(0); + $122 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $122; + $123 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($123|0); } -function _sqlite3_column_type($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $iType = 0, label = 0, sp = 0; +function _sqlite3MutexInit() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $iType = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - $5 = (_sqlite3_value_type($4)|0); - HEAP32[$iType>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _columnMallocFailure($6); - $7 = HEAP32[$iType>>2]|0; - STACKTOP = sp;return ($7|0); -} -function _sqlite3_column_name($pStmt,$N) { - $pStmt = $pStmt|0; - $N = $N|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $N; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnName($2,$3,169,0)|0); - STACKTOP = sp;return ($4|0); -} -function _sqlite3_bind_blob($pStmt,$i,$zData,$nData,$xDel) { - $pStmt = $pStmt|0; - $i = $i|0; - $zData = $zData|0; - $nData = $nData|0; - $xDel = $xDel|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 + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - HEAP32[$2>>2] = $zData; - HEAP32[$3>>2] = $nData; - HEAP32[$4>>2] = $xDel; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_bindText($5,$6,$7,$8,$9,0)|0); - STACKTOP = sp;return ($10|0); -} -function _sqlite3_bind_double($pStmt,$i,$rValue) { - $pStmt = $pStmt|0; - $i = $i|0; - $rValue = +$rValue; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $rc = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; $2 = sp; - $rc = sp + 12|0; - $p = sp + 8|0; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - HEAPF64[$2>>3] = $rValue; - $3 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_vdbeUnbind($4,$5)|0); - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); + HEAP32[$0>>2] = 0; + $3 = HEAP32[(88)>>2]|0; + $4 = ($3|0)!=(0|0); + if ($4) { + $52 = HEAP32[(80)>>2]|0; + $53 = (FUNCTION_TABLE_i[$52 & 255]()|0); + HEAP32[$0>>2] = $53; + $54 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($54|0); + } + HEAP32[$2>>2] = (80); + $5 = HEAP32[(12)>>2]|0; + $6 = ($5|0)!=(0); + if ($6) { + $7 = (_sqlite3DefaultMutex()|0); + HEAP32[$1>>2] = $7; + } else { + $8 = (_sqlite3NoopMutex()|0); + HEAP32[$1>>2] = $8; } $9 = HEAP32[$1>>2]|0; - $10 = (($9) - 1)|0; - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 116|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + (($10*40)|0)|0); - $15 = +HEAPF64[$2>>3]; - _sqlite3VdbeMemSetDouble($14,$15); - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$2>>2]|0; + HEAP32[$11>>2] = $10; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 4|0); + HEAP32[$16>>2] = $14; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 12|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 16|0); + HEAP32[$26>>2] = $24; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 20|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 20|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 24|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 24|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 28|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 28|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 32|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 32|0); + HEAP32[$46>>2] = $44; + _sqlite3MemoryBarrier(); + $47 = HEAP32[$1>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$2>>2]|0; + $51 = ((($50)) + 8|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[(80)>>2]|0; + $53 = (FUNCTION_TABLE_i[$52 & 255]()|0); + HEAP32[$0>>2] = $53; + $54 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($54|0); } -function _sqlite3_bind_int($p,$i,$iValue) { - $p = $p|0; - $i = $i|0; - $iValue = $iValue|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3MutexAlloc($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $i; - HEAP32[$2>>2] = $iValue; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = ($5|0)<(0); - $7 = $6 << 31 >> 31; - $8 = (_sqlite3_bind_int64($3,$4,$5,$7)|0); - STACKTOP = sp;return ($8|0); -} -function _sqlite3_bind_int64($pStmt,$i,$0,$1) { - $pStmt = $pStmt|0; - $i = $i|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp; - $rc = sp + 12|0; - $p = sp + 8|0; - HEAP32[$2>>2] = $pStmt; - HEAP32[$3>>2] = $i; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $9; - $10 = HEAP32[$p>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = (_vdbeUnbind($10,$11)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)==(0); - if (!($14)) { - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); + HEAP32[$2>>2] = $0; + $3 = HEAP32[(12)>>2]|0; + $4 = ($3|0)!=(0); + if ($4) { + $5 = HEAP32[(88)>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = (FUNCTION_TABLE_ii[$5 & 255]($6)|0); + HEAP32[$1>>2] = $7; + $8 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($8|0); + } else { + HEAP32[$1>>2] = 0; + $8 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($8|0); } - $15 = HEAP32[$3>>2]|0; - $16 = (($15) - 1)|0; - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 116|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + (($16*40)|0)|0); - $21 = $4; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - _sqlite3VdbeMemSetInt64($20,$23,$26); - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); -} -function _sqlite3_bind_null($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $p = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (_vdbeUnbind($3,$4)|0); - HEAP32[$rc>>2] = $5; - $6 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($6|0); + return (0)|0; } -function _sqlite3_bind_text($pStmt,$i,$zData,$nData,$xDel) { - $pStmt = $pStmt|0; - $i = $i|0; - $zData = $zData|0; - $nData = $nData|0; - $xDel = $xDel|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; +function _sqlite3MallocInit() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; @@ -15558,29178 +16216,22060 @@ function _sqlite3_bind_text($pStmt,$i,$zData,$nData,$xDel) { $2 = sp + 8|0; $3 = sp + 4|0; $4 = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - HEAP32[$2>>2] = $zData; - HEAP32[$3>>2] = $nData; - HEAP32[$4>>2] = $xDel; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_bindText($5,$6,$7,$8,$9,1)|0); - STACKTOP = sp;return ($10|0); -} -function _sqlite3_bind_value($pStmt,$i,$pValue) { - $pStmt = $pStmt|0; - $i = $i|0; - $pValue = $pValue|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - HEAP32[$2>>2] = $pValue; - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3_value_type($3)|0); - switch ($4|0) { - case 1: { - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = $7; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_bind_int64($5,$6,$10,$13)|0); - HEAP32[$rc>>2] = $14; - $52 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($52|0); - break; - } - case 2: { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = +HEAPF64[$17>>3]; - $19 = (_sqlite3_bind_double($15,$16,$18)|0); - HEAP32[$rc>>2] = $19; - $52 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($52|0); - break; + $5 = HEAP32[(48)>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + _sqlite3MemSetDefault(); } - case 4: { + ;HEAP32[54480>>2]=0|0;HEAP32[54480+4>>2]=0|0;HEAP32[54480+8>>2]=0|0;HEAP32[54480+12>>2]=0|0;HEAP32[54480+16>>2]=0|0;HEAP32[54480+20>>2]=0|0;HEAP32[54480+24>>2]=0|0;HEAP32[54480+28>>2]=0|0; + $7 = (_sqlite3MutexAlloc(3)|0); + HEAP32[13620] = $7; + $8 = HEAP32[(200)>>2]|0; + $9 = ($8|0)!=(0|0); + $10 = HEAP32[(204)>>2]|0; + $11 = ($10|0)>=(100); + $or$cond = $9 & $11; + $12 = HEAP32[(208)>>2]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond & $13; + if ($or$cond3) { + $14 = HEAP32[(204)>>2]|0; + $15 = $14 & -8; + HEAP32[$3>>2] = $15; + $16 = HEAP32[$3>>2]|0; + HEAP32[(204)>>2] = $16; + $17 = HEAP32[(200)>>2]|0; + HEAP32[$4>>2] = $17; + $18 = HEAP32[(208)>>2]|0; + HEAP32[$2>>2] = $18; + $19 = HEAP32[$4>>2]|0; + HEAP32[(54500)>>2] = $19; $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = $23 & 16384; - $25 = ($24|0)!=(0); - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$2>>2]|0; - if ($25) { - $29 = HEAP32[$28>>2]|0; - $30 = (_sqlite3_bind_zeroblob($26,$27,$29)|0); - HEAP32[$rc>>2] = $30; - $52 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($52|0); - } else { - $31 = ((($28)) + 16|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 12|0); - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3_bind_blob($26,$27,$32,$35,(-1))|0); - HEAP32[$rc>>2] = $36; - $52 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($52|0); + HEAP32[(54504)>>2] = $20; + HEAP32[$1>>2] = 0; + while(1) { + $21 = HEAP32[$1>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = (($22) - 1)|0; + $24 = ($21|0)<($23|0); + if (!($24)) { + break; + } + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = (($26) + ($25)|0); + $28 = HEAP32[$4>>2]|0; + HEAP32[$28>>2] = $27; + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$4>>2] = $30; + $31 = HEAP32[$1>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$1>>2] = $32; } - break; - } - case 3: { - $37 = HEAP32[$0>>2]|0; - $38 = HEAP32[$1>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 16|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$2>>2]|0; - $43 = ((($42)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 10|0); - $47 = HEAP8[$46>>0]|0; - $48 = (_bindText($37,$38,$41,$44,(-1),$47)|0); - HEAP32[$rc>>2] = $48; - $52 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($52|0); - break; + $33 = HEAP32[$4>>2]|0; + HEAP32[$33>>2] = 0; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 4|0); + HEAP32[(54496)>>2] = $35; + } else { + HEAP32[(54496)>>2] = 0; + HEAP32[(200)>>2] = 0; + HEAP32[(204)>>2] = 0; + HEAP32[(208)>>2] = 0; } - default: { - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = (_sqlite3_bind_null($49,$50)|0); - HEAP32[$rc>>2] = $51; - $52 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($52|0); + $36 = HEAP32[(212)>>2]|0; + $37 = ($36|0)==(0|0); + $38 = HEAP32[(216)>>2]|0; + $39 = ($38|0)<(512); + $or$cond5 = $37 | $39; + $40 = HEAP32[(220)>>2]|0; + $41 = ($40|0)<=(0); + $or$cond7 = $or$cond5 | $41; + if ($or$cond7) { + HEAP32[(212)>>2] = 0; + HEAP32[(216)>>2] = 0; } + $42 = HEAP32[(68)>>2]|0; + $43 = HEAP32[(76)>>2]|0; + $44 = (FUNCTION_TABLE_ii[$42 & 255]($43)|0); + HEAP32[$0>>2] = $44; + $45 = HEAP32[$0>>2]|0; + $46 = ($45|0)!=(0); + if (!($46)) { + $47 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($47|0); } - return (0)|0; + ;HEAP32[54480>>2]=0|0;HEAP32[54480+4>>2]=0|0;HEAP32[54480+8>>2]=0|0;HEAP32[54480+12>>2]=0|0;HEAP32[54480+16>>2]=0|0;HEAP32[54480+20>>2]=0|0;HEAP32[54480+24>>2]=0|0;HEAP32[54480+28>>2]=0|0; + $47 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($47|0); } -function _sqlite3_bind_zeroblob($pStmt,$i,$n) { - $pStmt = $pStmt|0; - $i = $i|0; - $n = $n|0; - var $0 = 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, $p = 0, $rc = 0, label = 0; - var sp = 0; +function _sqlite3RegisterBuiltinFunctions() { + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $rc = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - HEAP32[$2>>2] = $n; - $3 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_vdbeUnbind($4,$5)|0); - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); - } - $9 = HEAP32[$1>>2]|0; - $10 = (($9) - 1)|0; - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 116|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + (($10*40)|0)|0); - $15 = HEAP32[$2>>2]|0; - _sqlite3VdbeMemSetZeroBlob($14,$15); - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); + _sqlite3AlterFunctions(); + _sqlite3RegisterDateTimeFunctions(); + _sqlite3InsertBuiltinFuncs(2016,57); + return; } -function _sqlite3_bind_parameter_count($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3PcacheInitialize() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pStmt; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $8 = 0; - STACKTOP = sp;return ($8|0); + $0 = HEAP32[(124)>>2]|0; + $1 = ($0|0)==(0|0); + if ($1) { + _sqlite3PCacheSetDefault(); } - $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 16|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6 << 16 >> 16; - $8 = $7; - STACKTOP = sp;return ($8|0); + $2 = HEAP32[(124)>>2]|0; + $3 = HEAP32[(120)>>2]|0; + $4 = (FUNCTION_TABLE_ii[$2 & 255]($3)|0); + return ($4|0); } -function _sqlite3_bind_parameter_index($pStmt,$zName) { - $pStmt = $pStmt|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _sqlite3OsInit() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $zName; - $2 = HEAP32[$0>>2]|0; + $2 = (_sqlite3_malloc(10)|0); + HEAP32[$1>>2] = $2; $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3Strlen30($4)|0); - $6 = (_sqlite3VdbeParameterIndex($2,$3,$5)|0); - STACKTOP = sp;return ($6|0); + $4 = ($3|0)==(0|0); + if ($4) { + HEAP32[$0>>2] = 7; + $7 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($7|0); + } else { + $5 = HEAP32[$1>>2]|0; + _sqlite3_free($5); + $6 = (_sqlite3_os_init()|0); + HEAP32[$0>>2] = $6; + $7 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($7|0); + } + return (0)|0; } -function _sqlite3_sql($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3PCacheBufferSetup($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pStmt; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $7 = 0; - STACKTOP = sp;return ($7|0); + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[(54648)>>2]|0; + $8 = ($7|0)!=(0); + if (!($8)) { + STACKTOP = sp;return; } - $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 176|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6; - STACKTOP = sp;return ($7|0); + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + HEAP32[$5>>2] = 0; + HEAP32[$4>>2] = 0; + } + $11 = HEAP32[$4>>2]|0; + $12 = $11 & -8; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + HEAP32[(54660)>>2] = $13; + $14 = HEAP32[$5>>2]|0; + HEAP32[(54688)>>2] = $14; + HEAP32[(54664)>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = ($15|0)>(90); + if ($16) { + $20 = 10; + } else { + $17 = HEAP32[$5>>2]|0; + $18 = (($17|0) / 10)&-1; + $19 = (($18) + 1)|0; + $20 = $19; + } + HEAP32[(54668)>>2] = $20; + $21 = HEAP32[$3>>2]|0; + HEAP32[(54672)>>2] = $21; + HEAP32[(54684)>>2] = 0; + HEAP32[(54692)>>2] = 0; + while(1) { + $22 = HEAP32[$5>>2]|0; + $23 = (($22) + -1)|0; + HEAP32[$5>>2] = $23; + $24 = ($22|0)!=(0); + $25 = HEAP32[$3>>2]|0; + if (!($24)) { + break; + } + HEAP32[$6>>2] = $25; + $26 = HEAP32[(54684)>>2]|0; + $27 = HEAP32[$6>>2]|0; + HEAP32[$27>>2] = $26; + $28 = HEAP32[$6>>2]|0; + HEAP32[(54684)>>2] = $28; + $29 = HEAP32[$3>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = (($29) + ($30)|0); + HEAP32[$3>>2] = $31; + } + HEAP32[(54676)>>2] = $25; + STACKTOP = sp;return; } -function _sqlite3_value_numeric_type($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eType = 0, $pMem = 0, label = 0, sp = 0; +function _sqlite3_mutex_free($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $eType = sp + 4|0; - $pMem = sp; - HEAP32[$0>>2] = $pVal; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_value_type($1)|0); - HEAP32[$eType>>2] = $2; - $3 = HEAP32[$eType>>2]|0; - $4 = ($3|0)==(3); - if (!($4)) { - $9 = HEAP32[$eType>>2]|0; - STACKTOP = sp;return ($9|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + STACKTOP = sp;return; } - $5 = HEAP32[$0>>2]|0; - HEAP32[$pMem>>2] = $5; - $6 = HEAP32[$pMem>>2]|0; - _applyNumericAffinity($6,0); - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3_value_type($7)|0); - HEAP32[$eType>>2] = $8; - $9 = HEAP32[$eType>>2]|0; - STACKTOP = sp;return ($9|0); + $4 = HEAP32[(92)>>2]|0; + $5 = HEAP32[$1>>2]|0; + FUNCTION_TABLE_vi[$4 & 255]($5); + STACKTOP = sp;return; } -function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { - $db = $db|0; - $zDb = $zDb|0; - $zTable = $zTable|0; - $zColumn = $zColumn|0; +function _sqlite3_malloc($0) { $0 = $0|0; - $1 = $1|0; - $flags = $flags|0; - $ppBlob = $ppBlob|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; - var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; - var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; - var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; - var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; - var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; - var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; - var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $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, $aOp = 0, $iCol = 0, $iDb = 0, $j = 0, $j1 = 0; - var $nAttempt = 0, $pBlob = 0, $pFKey = 0, $pIdx = 0, $pParse = 0, $pTab = 0, $rc = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $zErr = 0, $zFault = 0, label = 0, sp = 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; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer13 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer4 = sp + 24|0; - $vararg_buffer1 = sp + 16|0; - $vararg_buffer = sp + 8|0; - $2 = sp + 132|0; - $3 = sp + 128|0; - $4 = sp + 124|0; - $5 = sp + 120|0; - $6 = sp; - $7 = sp + 116|0; - $8 = sp + 112|0; - $nAttempt = sp + 108|0; - $iCol = sp + 104|0; - $rc = sp + 100|0; - $zErr = sp + 96|0; - $pTab = sp + 92|0; - $pParse = sp + 88|0; - $pBlob = sp + 84|0; - $zFault = sp + 80|0; - $pIdx = sp + 76|0; - $pFKey = sp + 72|0; - $j = sp + 68|0; - $j1 = sp + 64|0; - $v = sp + 60|0; - $iDb = sp + 56|0; - $aOp = sp + 52|0; - HEAP32[$2>>2] = $db; - HEAP32[$3>>2] = $zDb; - HEAP32[$4>>2] = $zTable; - HEAP32[$5>>2] = $zColumn; - $9 = $6; - $10 = $9; - HEAP32[$10>>2] = $0; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = $1; - HEAP32[$7>>2] = $flags; - HEAP32[$8>>2] = $ppBlob; - HEAP32[$nAttempt>>2] = 0; - HEAP32[$rc>>2] = 0; - HEAP32[$zErr>>2] = 0; - HEAP32[$pParse>>2] = 0; - HEAP32[$pBlob>>2] = 0; - $13 = HEAP32[$8>>2]|0; - HEAP32[$13>>2] = 0; - $14 = HEAP32[$7>>2]|0; - $15 = ($14|0)!=(0); - $16 = $15 ^ 1; - $17 = $16 ^ 1; - $18 = $17&1; - HEAP32[$7>>2] = $18; - $19 = HEAP32[$2>>2]|0; - $20 = (_sqlite3DbMallocZero($19,36,0)|0); - HEAP32[$pBlob>>2] = $20; - $21 = HEAP32[$pBlob>>2]|0; - $22 = ($21|0)!=(0|0); - L1: do { - if ($22) { - $23 = HEAP32[$2>>2]|0; - $24 = (_sqlite3DbMallocRaw($23,480,0)|0); - HEAP32[$pParse>>2] = $24; - $25 = HEAP32[$pParse>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - while(1) { - $27 = HEAP32[$pParse>>2]|0; - _memset(($27|0),0,480)|0; - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$pParse>>2]|0; - HEAP32[$29>>2] = $28; - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$zErr>>2]|0; - _sqlite3DbFree($30,$31); - HEAP32[$zErr>>2] = 0; - $32 = HEAP32[$2>>2]|0; - _sqlite3BtreeEnterAll($32); - $33 = HEAP32[$pParse>>2]|0; - $34 = HEAP32[$4>>2]|0; - $35 = HEAP32[$3>>2]|0; - $36 = (_sqlite3LocateTable($33,0,$34,$35)|0); - HEAP32[$pTab>>2] = $36; - $37 = HEAP32[$pTab>>2]|0; - $38 = ($37|0)!=(0|0); - if ($38) { - $39 = HEAP32[$pTab>>2]|0; - $40 = ((($39)) + 42|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 & 16; - $44 = ($43|0)!=(0); - if ($44) { - HEAP32[$pTab>>2] = 0; - $45 = HEAP32[$pParse>>2]|0; - $46 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer>>2] = $46; - _sqlite3ErrorMsg($45,18193,$vararg_buffer); - } - } - $47 = HEAP32[$pTab>>2]|0; - $48 = ($47|0)!=(0|0); - if ($48) { - $49 = HEAP32[$pTab>>2]|0; - $50 = ((($49)) + 42|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = $52 & 32; - $54 = ($53|0)==(0); - if (!($54)) { - HEAP32[$pTab>>2] = 0; - $55 = HEAP32[$pParse>>2]|0; - $56 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer1>>2] = $56; - _sqlite3ErrorMsg($55,18223,$vararg_buffer1); - } - } - $57 = HEAP32[$pTab>>2]|0; - $58 = ($57|0)!=(0|0); - if ($58) { - $59 = HEAP32[$pTab>>2]|0; - $60 = ((($59)) + 12|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)!=(0|0); - if ($62) { - HEAP32[$pTab>>2] = 0; - $63 = HEAP32[$pParse>>2]|0; - $64 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer4>>2] = $64; - _sqlite3ErrorMsg($63,18259,$vararg_buffer4); - } - } - $65 = HEAP32[$pTab>>2]|0; - $66 = ($65|0)!=(0|0); - if (!($66)) { - label = 13; - break; - } - $78 = HEAP32[$pTab>>2]|0; - $79 = HEAP32[$pBlob>>2]|0; - $80 = ((($79)) + 32|0); - HEAP32[$80>>2] = $78; - $81 = HEAP32[$2>>2]|0; - $82 = HEAP32[$pTab>>2]|0; - $83 = ((($82)) + 64|0); - $84 = HEAP32[$83>>2]|0; - $85 = (_sqlite3SchemaToIndex($81,$84)|0); - $86 = HEAP32[$2>>2]|0; - $87 = ((($86)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = (($88) + ($85<<4)|0); - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$pBlob>>2]|0; - $92 = ((($91)) + 28|0); - HEAP32[$92>>2] = $90; - HEAP32[$iCol>>2] = 0; - while(1) { - $93 = HEAP32[$iCol>>2]|0; - $94 = HEAP32[$pTab>>2]|0; - $95 = ((($94)) + 34|0); - $96 = HEAP16[$95>>1]|0; - $97 = $96 << 16 >> 16; - $98 = ($93|0)<($97|0); - if (!($98)) { - break; - } - $99 = HEAP32[$iCol>>2]|0; - $100 = HEAP32[$pTab>>2]|0; - $101 = ((($100)) + 4|0); - $102 = HEAP32[$101>>2]|0; - $103 = (($102) + ($99<<4)|0); - $104 = HEAP32[$103>>2]|0; - $105 = HEAP32[$5>>2]|0; - $106 = (_sqlite3StrICmp($104,$105)|0); - $107 = ($106|0)==(0); - if ($107) { - break; - } - $108 = HEAP32[$iCol>>2]|0; - $109 = (($108) + 1)|0; - HEAP32[$iCol>>2] = $109; - } - $110 = HEAP32[$iCol>>2]|0; - $111 = HEAP32[$pTab>>2]|0; - $112 = ((($111)) + 34|0); - $113 = HEAP16[$112>>1]|0; - $114 = $113 << 16 >> 16; - $115 = ($110|0)==($114|0); - if ($115) { - label = 21; - break; - } - $121 = HEAP32[$7>>2]|0; - $122 = ($121|0)!=(0); - if ($122) { - HEAP32[$zFault>>2] = 0; - $123 = HEAP32[$2>>2]|0; - $124 = ((($123)) + 24|0); - $125 = HEAP32[$124>>2]|0; - $126 = $125 & 524288; - $127 = ($126|0)!=(0); - L26: do { - if ($127) { - $128 = HEAP32[$pTab>>2]|0; - $129 = ((($128)) + 16|0); - $130 = HEAP32[$129>>2]|0; - HEAP32[$pFKey>>2] = $130; - while(1) { - $131 = HEAP32[$pFKey>>2]|0; - $132 = ($131|0)!=(0|0); - if (!($132)) { - break L26; - } - HEAP32[$j>>2] = 0; - while(1) { - $133 = HEAP32[$j>>2]|0; - $134 = HEAP32[$pFKey>>2]|0; - $135 = ((($134)) + 20|0); - $136 = HEAP32[$135>>2]|0; - $137 = ($133|0)<($136|0); - if (!($137)) { - break; - } - $138 = HEAP32[$j>>2]|0; - $139 = HEAP32[$pFKey>>2]|0; - $140 = ((($139)) + 36|0); - $141 = (($140) + ($138<<3)|0); - $142 = HEAP32[$141>>2]|0; - $143 = HEAP32[$iCol>>2]|0; - $144 = ($142|0)==($143|0); - if ($144) { - HEAP32[$zFault>>2] = 18301; - } - $145 = HEAP32[$j>>2]|0; - $146 = (($145) + 1)|0; - HEAP32[$j>>2] = $146; - } - $147 = HEAP32[$pFKey>>2]|0; - $148 = ((($147)) + 4|0); - $149 = HEAP32[$148>>2]|0; - HEAP32[$pFKey>>2] = $149; - } - } - } while(0); - $150 = HEAP32[$pTab>>2]|0; - $151 = ((($150)) + 8|0); - $152 = HEAP32[$151>>2]|0; - HEAP32[$pIdx>>2] = $152; - while(1) { - $153 = HEAP32[$pIdx>>2]|0; - $154 = ($153|0)!=(0|0); - if (!($154)) { - break; - } - HEAP32[$j1>>2] = 0; - while(1) { - $155 = HEAP32[$j1>>2]|0; - $156 = HEAP32[$pIdx>>2]|0; - $157 = ((($156)) + 50|0); - $158 = HEAP16[$157>>1]|0; - $159 = $158&65535; - $160 = ($155|0)<($159|0); - if (!($160)) { - break; - } - $161 = HEAP32[$j1>>2]|0; - $162 = HEAP32[$pIdx>>2]|0; - $163 = ((($162)) + 4|0); - $164 = HEAP32[$163>>2]|0; - $165 = (($164) + ($161<<1)|0); - $166 = HEAP16[$165>>1]|0; - $167 = $166 << 16 >> 16; - $168 = HEAP32[$iCol>>2]|0; - $169 = ($167|0)==($168|0); - if ($169) { - label = 38; - } else { - $170 = HEAP32[$j1>>2]|0; - $171 = HEAP32[$pIdx>>2]|0; - $172 = ((($171)) + 4|0); - $173 = HEAP32[$172>>2]|0; - $174 = (($173) + ($170<<1)|0); - $175 = HEAP16[$174>>1]|0; - $176 = $175 << 16 >> 16; - $177 = ($176|0)==(-2); - if ($177) { - label = 38; - } - } - if ((label|0) == 38) { - label = 0; - HEAP32[$zFault>>2] = 18313; - } - $178 = HEAP32[$j1>>2]|0; - $179 = (($178) + 1)|0; - HEAP32[$j1>>2] = $179; - } - $180 = HEAP32[$pIdx>>2]|0; - $181 = ((($180)) + 20|0); - $182 = HEAP32[$181>>2]|0; - HEAP32[$pIdx>>2] = $182; - } - $183 = HEAP32[$zFault>>2]|0; - $184 = ($183|0)!=(0|0); - if ($184) { - label = 42; - break; - } - } - $190 = HEAP32[$pParse>>2]|0; - $191 = (_sqlite3VdbeCreate($190)|0); - $192 = HEAP32[$pBlob>>2]|0; - $193 = ((($192)) + 20|0); - HEAP32[$193>>2] = $191; - $194 = HEAP32[$pBlob>>2]|0; - $195 = ((($194)) + 20|0); - $196 = HEAP32[$195>>2]|0; - $197 = ($196|0)!=(0|0); - if ($197) { - $198 = HEAP32[$pBlob>>2]|0; - $199 = ((($198)) + 20|0); - $200 = HEAP32[$199>>2]|0; - HEAP32[$v>>2] = $200; - $201 = HEAP32[$2>>2]|0; - $202 = HEAP32[$pTab>>2]|0; - $203 = ((($202)) + 64|0); - $204 = HEAP32[$203>>2]|0; - $205 = (_sqlite3SchemaToIndex($201,$204)|0); - HEAP32[$iDb>>2] = $205; - $206 = HEAP32[$v>>2]|0; - $207 = HEAP32[$iDb>>2]|0; - $208 = HEAP32[$7>>2]|0; - $209 = HEAP32[$pTab>>2]|0; - $210 = ((($209)) + 64|0); - $211 = HEAP32[$210>>2]|0; - $212 = HEAP32[$211>>2]|0; - $213 = HEAP32[$pTab>>2]|0; - $214 = ((($213)) + 64|0); - $215 = HEAP32[$214>>2]|0; - $216 = ((($215)) + 4|0); - $217 = HEAP32[$216>>2]|0; - (_sqlite3VdbeAddOp4Int($206,2,$207,$208,$212,$217)|0); - $218 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($218,1); - $219 = HEAP32[$v>>2]|0; - $220 = (_sqlite3VdbeAddOpList($219,9,18355,0)|0); - HEAP32[$aOp>>2] = $220; - $221 = HEAP32[$v>>2]|0; - $222 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($221,$222); - $223 = HEAP32[$2>>2]|0; - $224 = ((($223)) + 69|0); - $225 = HEAP8[$224>>0]|0; - $226 = $225&255; - $227 = ($226|0)==(0); - if ($227) { - $228 = HEAP32[$iDb>>2]|0; - $229 = HEAP32[$aOp>>2]|0; - $230 = ((($229)) + 4|0); - HEAP32[$230>>2] = $228; - $231 = HEAP32[$pTab>>2]|0; - $232 = ((($231)) + 28|0); - $233 = HEAP32[$232>>2]|0; - $234 = HEAP32[$aOp>>2]|0; - $235 = ((($234)) + 8|0); - HEAP32[$235>>2] = $233; - $236 = HEAP32[$7>>2]|0; - $237 = HEAP32[$aOp>>2]|0; - $238 = ((($237)) + 12|0); - HEAP32[$238>>2] = $236; - $239 = HEAP32[$v>>2]|0; - $240 = HEAP32[$pTab>>2]|0; - $241 = HEAP32[$240>>2]|0; - _sqlite3VdbeChangeP4($239,1,$241,0); - } - $242 = HEAP32[$2>>2]|0; - $243 = ((($242)) + 69|0); - $244 = HEAP8[$243>>0]|0; - $245 = $244&255; - $246 = ($245|0)==(0); - if ($246) { - $247 = HEAP32[$7>>2]|0; - $248 = ($247|0)!=(0); - if ($248) { - $249 = HEAP32[$aOp>>2]|0; - $250 = ((($249)) + 20|0); - HEAP8[$250>>0] = 105; - } - $251 = HEAP32[$pTab>>2]|0; - $252 = ((($251)) + 28|0); - $253 = HEAP32[$252>>2]|0; - $254 = HEAP32[$aOp>>2]|0; - $255 = ((($254)) + 20|0); - $256 = ((($255)) + 8|0); - HEAP32[$256>>2] = $253; - $257 = HEAP32[$iDb>>2]|0; - $258 = HEAP32[$aOp>>2]|0; - $259 = ((($258)) + 20|0); - $260 = ((($259)) + 12|0); - HEAP32[$260>>2] = $257; - $261 = HEAP32[$aOp>>2]|0; - $262 = ((($261)) + 20|0); - $263 = ((($262)) + 1|0); - HEAP8[$263>>0] = -14; - $264 = HEAP32[$pTab>>2]|0; - $265 = ((($264)) + 34|0); - $266 = HEAP16[$265>>1]|0; - $267 = $266 << 16 >> 16; - $268 = (($267) + 1)|0; - $269 = HEAP32[$aOp>>2]|0; - $270 = ((($269)) + 20|0); - $271 = ((($270)) + 16|0); - HEAP32[$271>>2] = $268; - $272 = HEAP32[$pTab>>2]|0; - $273 = ((($272)) + 34|0); - $274 = HEAP16[$273>>1]|0; - $275 = $274 << 16 >> 16; - $276 = HEAP32[$aOp>>2]|0; - $277 = ((($276)) + 80|0); - $278 = ((($277)) + 8|0); - HEAP32[$278>>2] = $275; - $279 = HEAP32[$pParse>>2]|0; - $280 = ((($279)) + 400|0); - HEAP16[$280>>1] = 1; - $281 = HEAP32[$pParse>>2]|0; - $282 = ((($281)) + 44|0); - HEAP32[$282>>2] = 1; - $283 = HEAP32[$pParse>>2]|0; - $284 = ((($283)) + 40|0); - HEAP32[$284>>2] = 1; - $285 = HEAP32[$v>>2]|0; - $286 = HEAP32[$pParse>>2]|0; - _sqlite3VdbeMakeReady($285,$286); - } - } - $287 = HEAP32[$7>>2]|0; - $288 = HEAP32[$pBlob>>2]|0; - HEAP32[$288>>2] = $287; - $289 = HEAP32[$iCol>>2]|0; - $290 = HEAP32[$pBlob>>2]|0; - $291 = ((($290)) + 12|0); - HEAP32[$291>>2] = $289; - $292 = HEAP32[$2>>2]|0; - $293 = HEAP32[$pBlob>>2]|0; - $294 = ((($293)) + 24|0); - HEAP32[$294>>2] = $292; - $295 = HEAP32[$2>>2]|0; - $296 = ((($295)) + 69|0); - $297 = HEAP8[$296>>0]|0; - $298 = ($297<<24>>24)!=(0); - if ($298) { - break L1; - } - $299 = HEAP32[$pBlob>>2]|0; - $300 = ((($299)) + 20|0); - $301 = HEAP32[$300>>2]|0; - $302 = $6; - $303 = $302; - $304 = HEAP32[$303>>2]|0; - $305 = (($302) + 4)|0; - $306 = $305; - $307 = HEAP32[$306>>2]|0; - (_sqlite3_bind_int64($301,1,$304,$307)|0); - $308 = HEAP32[$pBlob>>2]|0; - $309 = $6; - $310 = $309; - $311 = HEAP32[$310>>2]|0; - $312 = (($309) + 4)|0; - $313 = $312; - $314 = HEAP32[$313>>2]|0; - $315 = (_blobSeekToRow($308,$311,$314,$zErr)|0); - HEAP32[$rc>>2] = $315; - $316 = HEAP32[$nAttempt>>2]|0; - $317 = (($316) + 1)|0; - HEAP32[$nAttempt>>2] = $317; - $318 = ($317|0)<(50); - $319 = HEAP32[$rc>>2]|0; - $320 = ($319|0)==(17); - $321 = $318 ? $320 : 0; - if (!($321)) { - break L1; - } - } - if ((label|0) == 13) { - $67 = HEAP32[$pParse>>2]|0; - $68 = ((($67)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)!=(0|0); - if ($70) { - $71 = HEAP32[$2>>2]|0; - $72 = HEAP32[$zErr>>2]|0; - _sqlite3DbFree($71,$72); - $73 = HEAP32[$pParse>>2]|0; - $74 = ((($73)) + 4|0); - $75 = HEAP32[$74>>2]|0; - HEAP32[$zErr>>2] = $75; - $76 = HEAP32[$pParse>>2]|0; - $77 = ((($76)) + 4|0); - HEAP32[$77>>2] = 0; - } - HEAP32[$rc>>2] = 1; - break; - } - else if ((label|0) == 21) { - $116 = HEAP32[$2>>2]|0; - $117 = HEAP32[$zErr>>2]|0; - _sqlite3DbFree($116,$117); - $118 = HEAP32[$2>>2]|0; - $119 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer7>>2] = $119; - $120 = (_sqlite3MPrintf($118,18280,$vararg_buffer7)|0); - HEAP32[$zErr>>2] = $120; - HEAP32[$rc>>2] = 1; - break; - } - else if ((label|0) == 42) { - $185 = HEAP32[$2>>2]|0; - $186 = HEAP32[$zErr>>2]|0; - _sqlite3DbFree($185,$186); - $187 = HEAP32[$2>>2]|0; - $188 = HEAP32[$zFault>>2]|0; - HEAP32[$vararg_buffer10>>2] = $188; - $189 = (_sqlite3MPrintf($187,18321,$vararg_buffer10)|0); - HEAP32[$zErr>>2] = $189; - HEAP32[$rc>>2] = 1; - break; - } - } - } - } while(0); - $322 = HEAP32[$rc>>2]|0; - $323 = ($322|0)==(0); - if ($323) { - $324 = HEAP32[$2>>2]|0; - $325 = ((($324)) + 69|0); - $326 = HEAP8[$325>>0]|0; - $327 = $326&255; - $328 = ($327|0)==(0); - if ($328) { - $329 = HEAP32[$pBlob>>2]|0; - $330 = HEAP32[$8>>2]|0; - HEAP32[$330>>2] = $329; - $342 = HEAP32[$2>>2]|0; - $343 = HEAP32[$rc>>2]|0; - $344 = HEAP32[$zErr>>2]|0; - $345 = ($344|0)!=(0|0); - $346 = $345 ? 18391 : 0; - $347 = HEAP32[$zErr>>2]|0; - HEAP32[$vararg_buffer13>>2] = $347; - _sqlite3ErrorWithMsg($342,$343,$346,$vararg_buffer13); - $348 = HEAP32[$2>>2]|0; - $349 = HEAP32[$zErr>>2]|0; - _sqlite3DbFree($348,$349); - $350 = HEAP32[$pParse>>2]|0; - _sqlite3ParserReset($350); - $351 = HEAP32[$2>>2]|0; - $352 = HEAP32[$pParse>>2]|0; - _sqlite3DbFree($351,$352); - $353 = HEAP32[$2>>2]|0; - $354 = HEAP32[$rc>>2]|0; - $355 = (_sqlite3ApiExit($353,$354)|0); - HEAP32[$rc>>2] = $355; - $356 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($356|0); - } - } - $331 = HEAP32[$pBlob>>2]|0; - $332 = ($331|0)!=(0|0); - if ($332) { - $333 = HEAP32[$pBlob>>2]|0; - $334 = ((($333)) + 20|0); - $335 = HEAP32[$334>>2]|0; - $336 = ($335|0)!=(0|0); - if ($336) { - $337 = HEAP32[$pBlob>>2]|0; - $338 = ((($337)) + 20|0); - $339 = HEAP32[$338>>2]|0; - (_sqlite3VdbeFinalize($339)|0); - } - } - $340 = HEAP32[$2>>2]|0; - $341 = HEAP32[$pBlob>>2]|0; - _sqlite3DbFree($340,$341); - $342 = HEAP32[$2>>2]|0; - $343 = HEAP32[$rc>>2]|0; - $344 = HEAP32[$zErr>>2]|0; - $345 = ($344|0)!=(0|0); - $346 = $345 ? 18391 : 0; - $347 = HEAP32[$zErr>>2]|0; - HEAP32[$vararg_buffer13>>2] = $347; - _sqlite3ErrorWithMsg($342,$343,$346,$vararg_buffer13); - $348 = HEAP32[$2>>2]|0; - $349 = HEAP32[$zErr>>2]|0; - _sqlite3DbFree($348,$349); - $350 = HEAP32[$pParse>>2]|0; - _sqlite3ParserReset($350); - $351 = HEAP32[$2>>2]|0; - $352 = HEAP32[$pParse>>2]|0; - _sqlite3DbFree($351,$352); - $353 = HEAP32[$2>>2]|0; - $354 = HEAP32[$rc>>2]|0; - $355 = (_sqlite3ApiExit($353,$354)|0); - HEAP32[$rc>>2] = $355; - $356 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($356|0); -} -function _sqlite3_blob_close($pBlob) { - $pBlob = $pBlob|0; - var $0 = 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, $db = 0, $p = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $p = sp + 8|0; - $rc = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pBlob; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)!=(0|0); - if ($3) { - $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 24|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = ((($7)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_sqlite3_finalize($9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$db>>2]|0; - $12 = HEAP32[$p>>2]|0; - _sqlite3DbFree($11,$12); - $13 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($13|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = (_sqlite3_initialize()|0); + $4 = ($3|0)!=(0); + if ($4) { + HEAP32[$1>>2] = 0; + $12 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($12|0); + } + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)<=(0); + if ($6) { + $11 = 0; } else { - HEAP32[$rc>>2] = 0; - $13 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($13|0); + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)<(0); + $9 = $8 << 31 >> 31; + $10 = (_sqlite3Malloc($7,$9)|0); + $11 = $10; } - return (0)|0; -} -function _sqlite3_blob_read($pBlob,$z,$n,$iOffset) { - $pBlob = $pBlob|0; - $z = $z|0; - $n = $n|0; - $iOffset = $iOffset|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pBlob; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $iOffset; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (_blobReadWrite($4,$5,$6,$7,138)|0); - STACKTOP = sp;return ($8|0); + HEAP32[$1>>2] = $11; + $12 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($12|0); } -function _sqlite3_blob_bytes($pBlob) { - $pBlob = $pBlob|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3_os_init() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pBlob; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $11 = 0; - STACKTOP = sp;return ($11|0); - } - $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $11 = 0; - STACKTOP = sp;return ($11|0); + $0 = sp; + HEAP32[$0>>2] = 0; + while(1) { + $1 = HEAP32[$0>>2]|0; + $2 = ($1>>>0)<(4); + if (!($2)) { + break; + } + $3 = HEAP32[$0>>2]|0; + $4 = (976 + (($3*88)|0)|0); + $5 = HEAP32[$0>>2]|0; + $6 = ($5|0)==(0); + $7 = $6&1; + (_sqlite3_vfs_register($4,$7)|0); + $8 = HEAP32[$0>>2]|0; + $9 = (($8) + 1)|0; + HEAP32[$0>>2] = $9; } - $8 = HEAP32[$p>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10; - STACKTOP = sp;return ($11|0); + STACKTOP = sp;return 0; } -function _sqlite3_blob_reopen($pBlob,$0,$1) { - $pBlob = $pBlob|0; +function _sqlite3_vfs_register($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $db = 0, $p = 0, $rc = 0, $vararg_buffer = 0, $zErr = 0, label = 0, sp = 0; + var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp + 8|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp; - $rc = sp + 24|0; - $p = sp + 20|0; - $db = sp + 16|0; - $zErr = sp + 12|0; - HEAP32[$3>>2] = $pBlob; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $9; - $10 = HEAP32[$p>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $12 = (_sqlite3MisuseError(84814)|0); - HEAP32[$2>>2] = $12; - $42 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($42|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = (_sqlite3_initialize()|0); + HEAP32[$6>>2] = $7; + $8 = HEAP32[$6>>2]|0; + $9 = ($8|0)!=(0); + if ($9) { + $10 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $10; + $30 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($30|0); } - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 24|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$db>>2] = $15; - $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 20|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)==(0|0); - if ($19) { - HEAP32[$rc>>2] = 4; + $11 = (_sqlite3MutexAlloc(2)|0); + HEAP32[$5>>2] = $11; + $12 = HEAP32[$5>>2]|0; + _sqlite3_mutex_enter($12); + $13 = HEAP32[$3>>2]|0; + _vfsUnlink($13); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)!=(0); + $16 = HEAP32[13697]|0; + $17 = ($16|0)==(0|0); + $or$cond = $15 | $17; + $18 = HEAP32[13697]|0; + if ($or$cond) { + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 12|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$3>>2]|0; + HEAP32[13697] = $21; } else { - $20 = HEAP32[$p>>2]|0; - $21 = $4; - $22 = $21; + $22 = ((($18)) + 12|0); $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (_blobSeekToRow($20,$23,$26,$zErr)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$db>>2]|0; - $31 = HEAP32[$rc>>2]|0; - $32 = HEAP32[$zErr>>2]|0; - $33 = ($32|0)!=(0|0); - $34 = $33 ? 18391 : 0; - $35 = HEAP32[$zErr>>2]|0; - HEAP32[$vararg_buffer>>2] = $35; - _sqlite3ErrorWithMsg($30,$31,$34,$vararg_buffer); - $36 = HEAP32[$db>>2]|0; - $37 = HEAP32[$zErr>>2]|0; - _sqlite3DbFree($36,$37); - } - } - $38 = HEAP32[$db>>2]|0; - $39 = HEAP32[$rc>>2]|0; - $40 = (_sqlite3ApiExit($38,$39)|0); - HEAP32[$rc>>2] = $40; - $41 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $41; - $42 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($42|0); -} -function _sqlite3_strglob($zGlobPattern,$zString) { - $zGlobPattern = $zGlobPattern|0; - $zString = $zString|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $zGlobPattern; - HEAP32[$1>>2] = $zString; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_patternCompare($2,$3,18394,91)|0); - $5 = ($4|0)==(0); - $6 = $5&1; - STACKTOP = sp;return ($6|0); + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 12|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[13697]|0; + $28 = ((($27)) + 12|0); + HEAP32[$28>>2] = $26; + } + $29 = HEAP32[$5>>2]|0; + _sqlite3_mutex_leave($29); + HEAP32[$2>>2] = 0; + $30 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($30|0); } -function _sqlite3_strlike($zPattern,$zStr,$esc) { - $zPattern = $zPattern|0; - $zStr = $zStr|0; - $esc = $esc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _vfsUnlink($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $zPattern; - HEAP32[$1>>2] = $zStr; - HEAP32[$2>>2] = $esc; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_patternCompare($3,$4,18398,$5)|0); - $7 = ($6|0)==(0); - $8 = $7&1; - STACKTOP = sp;return ($8|0); -} -function _sqlite3_exec($db,$zSql,$xCallback,$pArg,$pzErrMsg) { - $db = $db|0; - $zSql = $zSql|0; - $xCallback = $xCallback|0; - $pArg = $pArg|0; - $pzErrMsg = $pzErrMsg|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $azCols = 0, $azVals = 0, $callbackIsInit = 0, $i = 0, $nCol = 0, $nErrMsg = 0, $or$cond = 0, $or$cond3 = 0; - var $pStmt = 0, $rc = 0, $zLeftover = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $5 = sp + 36|0; - $rc = sp + 32|0; - $zLeftover = sp + 28|0; - $pStmt = sp + 24|0; - $azCols = sp + 20|0; - $callbackIsInit = sp + 16|0; - $nCol = sp + 12|0; - $azVals = sp + 8|0; - $i = sp + 4|0; - $nErrMsg = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zSql; - HEAP32[$3>>2] = $xCallback; - HEAP32[$4>>2] = $pArg; - HEAP32[$5>>2] = $pzErrMsg; - HEAP32[$rc>>2] = 0; - HEAP32[$pStmt>>2] = 0; - HEAP32[$azCols>>2] = 0; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = HEAP32[13697]|0; $6 = HEAP32[$1>>2]|0; - $7 = (_sqlite3SafetyCheckOk($6)|0); - $8 = ($7|0)!=(0); - if (!($8)) { - $9 = (_sqlite3MisuseError(109597)|0); - HEAP32[$0>>2] = $9; - $151 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($151|0); + $7 = ($5|0)==($6|0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[13697] = $10; + STACKTOP = sp;return; } - $10 = HEAP32[$2>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - HEAP32[$2>>2] = 18402; + $11 = HEAP32[13697]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + STACKTOP = sp;return; } - $12 = HEAP32[$1>>2]|0; - _sqlite3Error($12,0); - L8: while(1) { - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)==(0); - if (!($14)) { - break; + $13 = HEAP32[13697]|0; + HEAP32[$2>>2] = $13; + while(1) { + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$1>>2]|0; + $22 = ($20|0)!=($21|0); + $33 = $22; + } else { + $33 = 0; } - $15 = HEAP32[$2>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16 << 24 >> 24; - $18 = ($17|0)!=(0); - if (!($18)) { + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + if (!($33)) { break; } - HEAP32[$azVals>>2] = 0; - HEAP32[$pStmt>>2] = 0; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = (_sqlite3_prepare_v2($19,$20,-1,$pStmt,$zLeftover)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)!=(0); - if ($23) { - continue; - } - $24 = HEAP32[$pStmt>>2]|0; - $25 = ($24|0)!=(0|0); - if (!($25)) { - $26 = HEAP32[$zLeftover>>2]|0; - HEAP32[$2>>2] = $26; - continue; + HEAP32[$2>>2] = $25; + } + $26 = HEAP32[$1>>2]|0; + $27 = ($25|0)==($26|0); + if (!($27)) { + STACKTOP = sp;return; + } + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 12|0); + HEAP32[$32>>2] = $30; + STACKTOP = sp;return; +} +function _unixOpen($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 624|0; + $5 = sp + 92|0; + $6 = sp + 88|0; + $7 = sp + 84|0; + $8 = sp + 80|0; + $9 = sp + 76|0; + $10 = sp + 72|0; + $11 = sp + 68|0; + $12 = sp + 64|0; + $13 = sp + 60|0; + $14 = sp + 56|0; + $15 = sp + 52|0; + $16 = sp + 48|0; + $17 = sp + 44|0; + $18 = sp + 40|0; + $19 = sp + 36|0; + $20 = sp + 32|0; + $21 = sp + 28|0; + $22 = sp + 24|0; + $23 = sp + 20|0; + $24 = sp + 96|0; + $25 = sp + 16|0; + $26 = sp + 12|0; + $27 = sp + 8|0; + $28 = sp + 4|0; + $29 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $30 = HEAP32[$8>>2]|0; + HEAP32[$11>>2] = $30; + HEAP32[$12>>2] = -1; + HEAP32[$13>>2] = 0; + $31 = HEAP32[$9>>2]|0; + $32 = $31 & -256; + HEAP32[$14>>2] = $32; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + $33 = HEAP32[$9>>2]|0; + $34 = $33 & 16; + HEAP32[$18>>2] = $34; + $35 = HEAP32[$9>>2]|0; + $36 = $35 & 8; + HEAP32[$19>>2] = $36; + $37 = HEAP32[$9>>2]|0; + $38 = $37 & 4; + HEAP32[$20>>2] = $38; + $39 = HEAP32[$9>>2]|0; + $40 = $39 & 1; + HEAP32[$21>>2] = $40; + $41 = HEAP32[$9>>2]|0; + $42 = $41 & 2; + HEAP32[$22>>2] = $42; + $43 = HEAP32[$20>>2]|0; + $44 = ($43|0)!=(0); + if ($44) { + $45 = HEAP32[$14>>2]|0; + $46 = ($45|0)==(16384); + $47 = HEAP32[$14>>2]|0; + $48 = ($47|0)==(2048); + $or$cond = $46 | $48; + if ($or$cond) { + $52 = 1; + } else { + $49 = HEAP32[$14>>2]|0; + $50 = ($49|0)==(524288); + $52 = $50; } - HEAP32[$callbackIsInit>>2] = 0; - $27 = HEAP32[$pStmt>>2]|0; - $28 = (_sqlite3_column_count($27)|0); - HEAP32[$nCol>>2] = $28; - while(1) { - $29 = HEAP32[$pStmt>>2]|0; - $30 = (_sqlite3_step($29)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$3>>2]|0; - $32 = ($31|0)!=(0|0); - do { - if ($32) { - $33 = HEAP32[$rc>>2]|0; - $34 = (100)==($33|0); - if (!($34)) { - $35 = HEAP32[$rc>>2]|0; - $36 = (101)!=($35|0); - $37 = HEAP32[$callbackIsInit>>2]|0; - $38 = ($37|0)!=(0); - $or$cond = $36 | $38; - if ($or$cond) { - break; - } - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 24|0); - $41 = HEAP32[$40>>2]|0; - $42 = $41 & 256; - $43 = ($42|0)!=(0); - if (!($43)) { - break; - } - } - $44 = HEAP32[$callbackIsInit>>2]|0; - $45 = ($44|0)!=(0); - if (!($45)) { - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$nCol>>2]|0; - $48 = $47<<1; - $49 = $48<<2; - $50 = (($49) + 1)|0; - $51 = (_sqlite3DbMallocZero($46,$50,0)|0); - HEAP32[$azCols>>2] = $51; - $52 = HEAP32[$azCols>>2]|0; - $53 = ($52|0)==(0|0); - if ($53) { - break L8; - } - HEAP32[$i>>2] = 0; - while(1) { - $54 = HEAP32[$i>>2]|0; - $55 = HEAP32[$nCol>>2]|0; - $56 = ($54|0)<($55|0); - if (!($56)) { - break; - } - $57 = HEAP32[$pStmt>>2]|0; - $58 = HEAP32[$i>>2]|0; - $59 = (_sqlite3_column_name($57,$58)|0); - $60 = HEAP32[$i>>2]|0; - $61 = HEAP32[$azCols>>2]|0; - $62 = (($61) + ($60<<2)|0); - HEAP32[$62>>2] = $59; - $63 = HEAP32[$i>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$i>>2] = $64; - } - HEAP32[$callbackIsInit>>2] = 1; - } - $65 = HEAP32[$rc>>2]|0; - $66 = ($65|0)==(100); - L32: do { - if ($66) { - $67 = HEAP32[$nCol>>2]|0; - $68 = HEAP32[$azCols>>2]|0; - $69 = (($68) + ($67<<2)|0); - HEAP32[$azVals>>2] = $69; - HEAP32[$i>>2] = 0; - while(1) { - $70 = HEAP32[$i>>2]|0; - $71 = HEAP32[$nCol>>2]|0; - $72 = ($70|0)<($71|0); - if (!($72)) { - break L32; - } - $73 = HEAP32[$pStmt>>2]|0; - $74 = HEAP32[$i>>2]|0; - $75 = (_sqlite3_column_text($73,$74)|0); - $76 = HEAP32[$i>>2]|0; - $77 = HEAP32[$azVals>>2]|0; - $78 = (($77) + ($76<<2)|0); - HEAP32[$78>>2] = $75; - $79 = HEAP32[$i>>2]|0; - $80 = HEAP32[$azVals>>2]|0; - $81 = (($80) + ($79<<2)|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)!=(0|0); - if (!($83)) { - $84 = HEAP32[$pStmt>>2]|0; - $85 = HEAP32[$i>>2]|0; - $86 = (_sqlite3_column_type($84,$85)|0); - $87 = ($86|0)!=(5); - if ($87) { - label = 27; - break L8; - } - } - $89 = HEAP32[$i>>2]|0; - $90 = (($89) + 1)|0; - HEAP32[$i>>2] = $90; - } - } - } while(0); - $91 = HEAP32[$3>>2]|0; - $92 = HEAP32[$4>>2]|0; - $93 = HEAP32[$nCol>>2]|0; - $94 = HEAP32[$azVals>>2]|0; - $95 = HEAP32[$azCols>>2]|0; - $96 = (FUNCTION_TABLE_iiiii[$91 & 255]($92,$93,$94,$95)|0); - $97 = ($96|0)!=(0); - if ($97) { - label = 30; - break L8; - } + } else { + $52 = 0; + } + $51 = $52&1; + HEAP32[$23>>2] = $51; + $53 = HEAP32[$7>>2]|0; + HEAP32[$25>>2] = $53; + $54 = HEAP32[13698]|0; + $55 = (_getpid()|0); + $56 = ($54|0)!=($55|0); + if ($56) { + $57 = (_getpid()|0); + HEAP32[13698] = $57; + _sqlite3_randomness(0,0); + } + $58 = HEAP32[$11>>2]|0; + dest=$58; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $59 = HEAP32[$14>>2]|0; + $60 = ($59|0)==(256); + $61 = HEAP32[$25>>2]|0; + do { + if ($60) { + $62 = HEAP32[$9>>2]|0; + $63 = (_findReusableFd($61,$62)|0); + HEAP32[$26>>2] = $63; + $64 = HEAP32[$26>>2]|0; + $65 = ($64|0)!=(0|0); + if ($65) { + $66 = HEAP32[$26>>2]|0; + $67 = HEAP32[$66>>2]|0; + HEAP32[$12>>2] = $67; + } else { + $68 = (_sqlite3_malloc64(12,0)|0); + HEAP32[$26>>2] = $68; + $69 = HEAP32[$26>>2]|0; + $70 = ($69|0)!=(0|0); + if (!($70)) { + HEAP32[$5>>2] = 7; + $196 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($196|0); + } + } + $71 = HEAP32[$26>>2]|0; + $72 = HEAP32[$11>>2]|0; + $73 = ((($72)) + 28|0); + HEAP32[$73>>2] = $71; + } else { + $74 = ($61|0)!=(0|0); + if (!($74)) { + $75 = HEAP32[$6>>2]|0; + $76 = ((($75)) + 8|0); + $77 = HEAP32[$76>>2]|0; + $78 = (_unixGetTempname($77,$24)|0); + HEAP32[$16>>2] = $78; + $79 = HEAP32[$16>>2]|0; + $80 = ($79|0)!=(0); + if (!($80)) { + HEAP32[$25>>2] = $24; + break; } - } while(0); - $100 = HEAP32[$rc>>2]|0; - $101 = ($100|0)!=(100); - if ($101) { - break; - } - } - $102 = HEAP32[$pStmt>>2]|0; - $103 = (_sqlite3VdbeFinalize($102)|0); - HEAP32[$rc>>2] = $103; - HEAP32[$pStmt>>2] = 0; - $104 = HEAP32[$zLeftover>>2]|0; - HEAP32[$2>>2] = $104; - while(1) { - $105 = HEAP32[$2>>2]|0; - $106 = HEAP8[$105>>0]|0; - $107 = $106&255; - $108 = (18403 + ($107)|0); - $109 = HEAP8[$108>>0]|0; - $110 = $109&255; - $111 = $110 & 1; - $112 = ($111|0)!=(0); - if (!($112)) { - break; + $81 = HEAP32[$16>>2]|0; + HEAP32[$5>>2] = $81; + $196 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($196|0); } - $113 = HEAP32[$2>>2]|0; - $114 = ((($113)) + 1|0); - HEAP32[$2>>2] = $114; } - $115 = HEAP32[$1>>2]|0; - $116 = HEAP32[$azCols>>2]|0; - _sqlite3DbFree($115,$116); - HEAP32[$azCols>>2] = 0; + } while(0); + $82 = HEAP32[$21>>2]|0; + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$13>>2]|0; + HEAP32[$13>>2] = $84; } - if ((label|0) == 27) { - $88 = HEAP32[$1>>2]|0; - _sqlite3OomFault($88); + $85 = HEAP32[$22>>2]|0; + $86 = ($85|0)!=(0); + if ($86) { + $87 = HEAP32[$13>>2]|0; + $88 = $87 | 2; + HEAP32[$13>>2] = $88; } - else if ((label|0) == 30) { - HEAP32[$rc>>2] = 4; - $98 = HEAP32[$pStmt>>2]|0; - (_sqlite3VdbeFinalize($98)|0); - HEAP32[$pStmt>>2] = 0; - $99 = HEAP32[$1>>2]|0; - _sqlite3Error($99,4); - } - $117 = HEAP32[$pStmt>>2]|0; - $118 = ($117|0)!=(0|0); - if ($118) { - $119 = HEAP32[$pStmt>>2]|0; - (_sqlite3VdbeFinalize($119)|0); - } - $120 = HEAP32[$1>>2]|0; - $121 = HEAP32[$azCols>>2]|0; - _sqlite3DbFree($120,$121); - $122 = HEAP32[$1>>2]|0; - $123 = HEAP32[$rc>>2]|0; - $124 = (_sqlite3ApiExit($122,$123)|0); - HEAP32[$rc>>2] = $124; - $125 = HEAP32[$rc>>2]|0; - $126 = ($125|0)!=(0); - $127 = HEAP32[$5>>2]|0; - $128 = ($127|0)!=(0|0); - $or$cond3 = $126 & $128; + $89 = HEAP32[$20>>2]|0; + $90 = ($89|0)!=(0); + if ($90) { + $91 = HEAP32[$13>>2]|0; + $92 = $91 | 64; + HEAP32[$13>>2] = $92; + } + $93 = HEAP32[$18>>2]|0; + $94 = ($93|0)!=(0); + if ($94) { + $95 = HEAP32[$13>>2]|0; + $96 = $95 | 131200; + HEAP32[$13>>2] = $96; + } + $97 = HEAP32[$13>>2]|0; + HEAP32[$13>>2] = $97; + $98 = HEAP32[$12>>2]|0; + $99 = ($98|0)<(0); do { - if ($or$cond3) { - $129 = HEAP32[$1>>2]|0; - $130 = (_sqlite3_errmsg($129)|0); - $131 = (_sqlite3Strlen30($130)|0); - $132 = (1 + ($131))|0; - HEAP32[$nErrMsg>>2] = $132; - $133 = HEAP32[$nErrMsg>>2]|0; - $134 = ($133|0)<(0); - $135 = $134 << 31 >> 31; - $136 = (_sqlite3Malloc($133,$135)|0); - $137 = HEAP32[$5>>2]|0; - HEAP32[$137>>2] = $136; - $138 = HEAP32[$5>>2]|0; - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)!=(0|0); - if ($140) { - $141 = HEAP32[$5>>2]|0; - $142 = HEAP32[$141>>2]|0; - $143 = HEAP32[$1>>2]|0; - $144 = (_sqlite3_errmsg($143)|0); - $145 = HEAP32[$nErrMsg>>2]|0; - _memcpy(($142|0),($144|0),($145|0))|0; + if ($99) { + $100 = HEAP32[$25>>2]|0; + $101 = HEAP32[$9>>2]|0; + $102 = (_findCreateFileMode($100,$101,$27,$28,$29)|0); + HEAP32[$16>>2] = $102; + $103 = HEAP32[$16>>2]|0; + $104 = ($103|0)!=(0); + if ($104) { + $105 = HEAP32[$16>>2]|0; + HEAP32[$5>>2] = $105; + $196 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($196|0); + } + $106 = HEAP32[$25>>2]|0; + $107 = HEAP32[$13>>2]|0; + $108 = HEAP32[$27>>2]|0; + $109 = (_robust_open($106,$107,$108)|0); + HEAP32[$12>>2] = $109; + $110 = HEAP32[$12>>2]|0; + $111 = ($110|0)<(0); + if ($111) { + $112 = (___errno_location()|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)!=(21); + $115 = HEAP32[$22>>2]|0; + $116 = ($115|0)!=(0); + $or$cond3 = $114 & $116; + if ($or$cond3) { + $117 = HEAP32[$9>>2]|0; + $118 = $117 & -7; + HEAP32[$9>>2] = $118; + $119 = HEAP32[$13>>2]|0; + $120 = $119 & -67; + HEAP32[$13>>2] = $120; + $121 = HEAP32[$9>>2]|0; + $122 = $121 | 1; + HEAP32[$9>>2] = $122; + $123 = HEAP32[$13>>2]|0; + HEAP32[$13>>2] = $123; + HEAP32[$21>>2] = 1; + $124 = HEAP32[$25>>2]|0; + $125 = HEAP32[$13>>2]|0; + $126 = HEAP32[$27>>2]|0; + $127 = (_robust_open($124,$125,$126)|0); + HEAP32[$12>>2] = $127; + } + } + $128 = HEAP32[$12>>2]|0; + $129 = ($128|0)<(0); + if ($129) { + $130 = (_sqlite3CantopenError(35186)|0); + $131 = HEAP32[$25>>2]|0; + $132 = (_unixLogErrorAtLine($130,21042,$131,35186)|0); + HEAP32[$16>>2] = $132; break; + } + $133 = HEAP32[$9>>2]|0; + $134 = $133 & 526336; + $135 = ($134|0)!=(0); + if ($135) { + $136 = HEAP32[$12>>2]|0; + $137 = HEAP32[$28>>2]|0; + $138 = HEAP32[$29>>2]|0; + (_robustFchown($136,$137,$138)|0); + label = 34; } else { - HEAP32[$rc>>2] = 7; - $146 = HEAP32[$1>>2]|0; - _sqlite3Error($146,7); - break; + label = 34; } } else { - $147 = HEAP32[$5>>2]|0; - $148 = ($147|0)!=(0|0); - if ($148) { - $149 = HEAP32[$5>>2]|0; - HEAP32[$149>>2] = 0; - } + label = 34; } } while(0); - $150 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $150; - $151 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($151|0); -} -function _sqlite3_prepare_v2($db,$zSql,$nBytes,$ppStmt,$pzTail) { - $db = $db|0; - $zSql = $zSql|0; - $nBytes = $nBytes|0; - $ppStmt = $ppStmt|0; - $pzTail = $pzTail|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + if ((label|0) == 34) { + $139 = HEAP32[$10>>2]|0; + $140 = ($139|0)!=(0|0); + if ($140) { + $141 = HEAP32[$9>>2]|0; + $142 = HEAP32[$10>>2]|0; + HEAP32[$142>>2] = $141; + } + $143 = HEAP32[$11>>2]|0; + $144 = ((($143)) + 28|0); + $145 = HEAP32[$144>>2]|0; + $146 = ($145|0)!=(0|0); + if ($146) { + $147 = HEAP32[$12>>2]|0; + $148 = HEAP32[$11>>2]|0; + $149 = ((($148)) + 28|0); + $150 = HEAP32[$149>>2]|0; + HEAP32[$150>>2] = $147; + $151 = HEAP32[$9>>2]|0; + $152 = HEAP32[$11>>2]|0; + $153 = ((($152)) + 28|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($154)) + 4|0); + HEAP32[$155>>2] = $151; + } + $156 = HEAP32[$19>>2]|0; + $157 = ($156|0)!=(0); + if ($157) { + $158 = HEAP32[(1612)>>2]|0; + $159 = HEAP32[$25>>2]|0; + (FUNCTION_TABLE_ii[$158 & 255]($159)|0); + } + $160 = HEAP32[$19>>2]|0; + $161 = ($160|0)!=(0); + if ($161) { + $162 = HEAP32[$17>>2]|0; + $163 = $162 | 32; + HEAP32[$17>>2] = $163; + } + $164 = HEAP32[$21>>2]|0; + $165 = ($164|0)!=(0); + if ($165) { + $166 = HEAP32[$17>>2]|0; + $167 = $166 | 2; + HEAP32[$17>>2] = $167; + } + $168 = HEAP32[$14>>2]|0; + $169 = ($168|0)!=(256); + $170 = $169&1; + HEAP32[$15>>2] = $170; + $171 = HEAP32[$15>>2]|0; + $172 = ($171|0)!=(0); + if ($172) { + $173 = HEAP32[$17>>2]|0; + $174 = $173 | 128; + HEAP32[$17>>2] = $174; + } + $175 = HEAP32[$23>>2]|0; + $176 = ($175|0)!=(0); + if ($176) { + $177 = HEAP32[$17>>2]|0; + $178 = $177 | 8; + HEAP32[$17>>2] = $178; + } + $179 = HEAP32[$9>>2]|0; + $180 = $179 & 64; + $181 = ($180|0)!=(0); + if ($181) { + $182 = HEAP32[$17>>2]|0; + $183 = $182 | 64; + HEAP32[$17>>2] = $183; + } + $184 = HEAP32[$6>>2]|0; + $185 = HEAP32[$12>>2]|0; + $186 = HEAP32[$8>>2]|0; + $187 = HEAP32[$7>>2]|0; + $188 = HEAP32[$17>>2]|0; + $189 = (_fillInUnixFile($184,$185,$186,$187,$188)|0); + HEAP32[$16>>2] = $189; + } + $190 = HEAP32[$16>>2]|0; + $191 = ($190|0)!=(0); + if ($191) { + $192 = HEAP32[$11>>2]|0; + $193 = ((($192)) + 28|0); + $194 = HEAP32[$193>>2]|0; + _sqlite3_free($194); + } + $195 = HEAP32[$16>>2]|0; + HEAP32[$5>>2] = $195; + $196 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($196|0); +} +function _unixDelete($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zSql; - HEAP32[$2>>2] = $nBytes; - HEAP32[$3>>2] = $ppStmt; - HEAP32[$4>>2] = $pzTail; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_sqlite3LockAndPrepare($5,$6,$7,1,0,$8,$9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + $9 = HEAP32[(1612)>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (FUNCTION_TABLE_ii[$9 & 255]($10)|0); + $12 = ($11|0)==(-1); + if ($12) { + $13 = (___errno_location()|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(2); + if ($15) { + HEAP32[$7>>2] = 5898; + } else { + $16 = HEAP32[$5>>2]|0; + $17 = (_unixLogErrorAtLine(2570,21146,$16,35312)|0); + HEAP32[$7>>2] = $17; + } + $18 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $18; + $34 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($34|0); + } + $19 = HEAP32[$6>>2]|0; + $20 = $19 & 1; + $21 = ($20|0)!=(0); + do { + if ($21) { + $22 = HEAP32[(1624)>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = (FUNCTION_TABLE_iii[$22 & 255]($23,$8)|0); + HEAP32[$7>>2] = $24; + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + HEAP32[$7>>2] = 0; + break; + } + $27 = HEAP32[$8>>2]|0; + $28 = (_full_fsync($27,0,0)|0); + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$5>>2]|0; + $31 = (_unixLogErrorAtLine(1290,21398,$30,35322)|0); + HEAP32[$7>>2] = $31; + } + $32 = HEAP32[$8>>2]|0; + _robust_close(0,$32,35324); + } + } while(0); + $33 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $33; + $34 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($34|0); } -function _sqlite3_errmsg($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z = 0, label = 0, sp = 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, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $z = sp; - HEAP32[$1>>2] = $db; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $4 = (_sqlite3ErrStr(7)|0); - HEAP32[$0>>2] = $4; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); - } - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3SafetyCheckSickOrOk($5)|0); - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (_sqlite3MisuseError(140046)|0); - $9 = (_sqlite3ErrStr($8)|0); - HEAP32[$0>>2] = $9; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); + STACKTOP = STACKTOP + 96|0; + $4 = sp + 88|0; + $5 = sp + 84|0; + $6 = sp + 80|0; + $7 = sp + 76|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$6>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $21 = HEAP32[(1444)>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = (FUNCTION_TABLE_iii[$21 & 255]($22,6)|0); + $24 = ($23|0)==(0); + $25 = $24&1; + $26 = HEAP32[$7>>2]|0; + HEAP32[$26>>2] = $25; + STACKTOP = sp;return 0; } - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 69|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)!=(0); - if ($13) { - $14 = (_sqlite3ErrStr(7)|0); - HEAP32[$z>>2] = $14; + $11 = HEAP32[(1468)>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = (FUNCTION_TABLE_iii[$11 & 255]($12,$8)|0); + $14 = (0)==($13|0); + if ($14) { + $15 = ((($8)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>(0); + $19 = $17; } else { - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 244|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3_value_text($17)|0); - HEAP32[$z>>2] = $18; - $19 = HEAP32[$z>>2]|0; - $20 = ($19|0)==(0|0); + $19 = 0; + } + $18 = $19&1; + $20 = HEAP32[$7>>2]|0; + HEAP32[$20>>2] = $18; + STACKTOP = sp;return 0; +} +function _unixFullPathname($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $4 = sp + 116|0; + $5 = sp + 112|0; + $6 = sp + 108|0; + $7 = sp + 104|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 92|0; + $11 = sp + 88|0; + $12 = sp + 84|0; + $13 = sp + 80|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + HEAP32[$10>>2] = 1; + $16 = HEAP32[$5>>2]|0; + HEAP32[$11>>2] = $16; + HEAP32[$12>>2] = 0; + while(1) { + HEAP32[$13>>2] = 0; + $17 = HEAP32[(1744)>>2]|0; + $18 = HEAP32[$11>>2]|0; + $19 = (FUNCTION_TABLE_iii[$17 & 255]($18,$14)|0); + $20 = ($19|0)!=(0); if ($20) { - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 52|0); - $23 = HEAP32[$22>>2]|0; - $24 = (_sqlite3ErrStr($23)|0); - HEAP32[$z>>2] = $24; + $21 = (___errno_location()|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(2); + if ($23) { + $24 = (_sqlite3CantopenError(35436)|0); + $25 = HEAP32[$11>>2]|0; + $26 = (_unixLogErrorAtLine($24,21234,$25,35436)|0); + HEAP32[$8>>2] = $26; + } + } else { + $27 = ((($14)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = $28 & 61440; + $30 = ($29|0)==(40960); + $31 = $30&1; + HEAP32[$13>>2] = $31; + } + $32 = HEAP32[$13>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$12>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + $36 = HEAP32[$6>>2]|0; + $37 = (_sqlite3_malloc($36)|0); + HEAP32[$12>>2] = $37; + $38 = HEAP32[$12>>2]|0; + $39 = ($38|0)==(0|0); + if ($39) { + HEAP32[$8>>2] = 7; + } + } else { + $40 = HEAP32[$10>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$10>>2] = $41; + $42 = ($41|0)>(100); + if ($42) { + $43 = (_sqlite3CantopenError(35447)|0); + HEAP32[$8>>2] = $43; + } + } + $44 = HEAP32[$8>>2]|0; + $45 = ($44|0)==(0); + do { + if ($45) { + $46 = HEAP32[(1732)>>2]|0; + $47 = HEAP32[$11>>2]|0; + $48 = HEAP32[$12>>2]|0; + $49 = HEAP32[$6>>2]|0; + $50 = (($49) - 1)|0; + $51 = (FUNCTION_TABLE_iiii[$46 & 255]($47,$48,$50)|0); + HEAP32[$9>>2] = $51; + $52 = HEAP32[$9>>2]|0; + $53 = ($52|0)<(0); + if ($53) { + $54 = (_sqlite3CantopenError(35453)|0); + $55 = HEAP32[$11>>2]|0; + $56 = (_unixLogErrorAtLine($54,21225,$55,35453)|0); + HEAP32[$8>>2] = $56; + break; + } + $57 = HEAP32[$12>>2]|0; + $58 = HEAP8[$57>>0]|0; + $59 = $58 << 24 >> 24; + $60 = ($59|0)!=(47); + do { + if ($60) { + $61 = HEAP32[$11>>2]|0; + $62 = (_sqlite3Strlen30($61)|0); + HEAP32[$15>>2] = $62; + while(1) { + $63 = HEAP32[$15>>2]|0; + $64 = ($63|0)>(0); + if (!($64)) { + break; + } + $65 = HEAP32[$11>>2]|0; + $66 = HEAP32[$15>>2]|0; + $67 = (($66) - 1)|0; + $68 = (($65) + ($67)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69 << 24 >> 24; + $71 = ($70|0)!=(47); + if (!($71)) { + break; + } + $72 = HEAP32[$15>>2]|0; + $73 = (($72) + -1)|0; + HEAP32[$15>>2] = $73; + } + $74 = HEAP32[$9>>2]|0; + $75 = HEAP32[$15>>2]|0; + $76 = (($74) + ($75))|0; + $77 = (($76) + 1)|0; + $78 = HEAP32[$6>>2]|0; + $79 = ($77|0)>($78|0); + if ($79) { + $80 = (_sqlite3CantopenError(35459)|0); + HEAP32[$8>>2] = $80; + break; + } else { + $81 = HEAP32[$12>>2]|0; + $82 = HEAP32[$15>>2]|0; + $83 = (($81) + ($82)|0); + $84 = HEAP32[$12>>2]|0; + $85 = HEAP32[$9>>2]|0; + $86 = (($85) + 1)|0; + _memmove(($83|0),($84|0),($86|0))|0; + $87 = HEAP32[$12>>2]|0; + $88 = HEAP32[$11>>2]|0; + $89 = HEAP32[$15>>2]|0; + _memcpy(($87|0),($88|0),($89|0))|0; + $90 = HEAP32[$15>>2]|0; + $91 = HEAP32[$9>>2]|0; + $92 = (($91) + ($90))|0; + HEAP32[$9>>2] = $92; + break; + } + } + } while(0); + $93 = HEAP32[$12>>2]|0; + $94 = HEAP32[$9>>2]|0; + $95 = (($93) + ($94)|0); + HEAP8[$95>>0] = 0; + } + } while(0); + $96 = HEAP32[$12>>2]|0; + HEAP32[$11>>2] = $96; + } + $97 = HEAP32[$8>>2]|0; + $98 = ($97|0)==(0); + if ($98) { + $99 = HEAP32[$11>>2]|0; + $100 = HEAP32[$7>>2]|0; + $101 = ($99|0)!=($100|0); + if ($101) { + $102 = HEAP32[$11>>2]|0; + $103 = HEAP32[$7>>2]|0; + $104 = HEAP32[$6>>2]|0; + $105 = (_mkFullPathname($102,$103,$104)|0); + HEAP32[$8>>2] = $105; + } + } + $106 = HEAP32[$13>>2]|0; + $107 = ($106|0)==(0); + if ($107) { + label = 30; + break; + } + $108 = HEAP32[$7>>2]|0; + HEAP32[$11>>2] = $108; + $109 = HEAP32[$8>>2]|0; + $110 = ($109|0)==(0); + if (!($110)) { + label = 30; + break; } } - $25 = HEAP32[$z>>2]|0; - HEAP32[$0>>2] = $25; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); + if ((label|0) == 30) { + $111 = HEAP32[$12>>2]|0; + _sqlite3_free($111); + $112 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($112|0); + } + return (0)|0; } -function _sqlite3_prepare($db,$zSql,$nBytes,$ppStmt,$pzTail) { - $db = $db|0; - $zSql = $zSql|0; - $nBytes = $nBytes|0; - $ppStmt = $ppStmt|0; - $pzTail = $pzTail|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _unixRandomness($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zSql; - HEAP32[$2>>2] = $nBytes; - HEAP32[$3>>2] = $ppStmt; - HEAP32[$4>>2] = $pzTail; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_sqlite3LockAndPrepare($5,$6,$7,0,0,$8,$9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$4>>2]|0; + _memset(($9|0),0,($10|0))|0; + $11 = (_getpid()|0); + HEAP32[13698] = $11; + $12 = (_robust_open(21385,0,0)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)<(0); + if ($14) { + (_time(($8|0))|0); + $15 = HEAP32[$5>>2]|0; + ;HEAP8[$15>>0]=HEAP8[$8>>0]|0;HEAP8[$15+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$15+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$15+3>>0]=HEAP8[$8+3>>0]|0; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 4|0); + ;HEAP8[$17>>0]=HEAP8[54792>>0]|0;HEAP8[$17+1>>0]=HEAP8[54792+1>>0]|0;HEAP8[$17+2>>0]=HEAP8[54792+2>>0]|0;HEAP8[$17+3>>0]=HEAP8[54792+3>>0]|0; + HEAP32[$4>>2] = 8; + $29 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($29|0); + } + while(1) { + $18 = HEAP32[(1516)>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = (FUNCTION_TABLE_iiii[$18 & 255]($19,$20,$21)|0); + HEAP32[$7>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = ($23|0)<(0); + if (!($24)) { + break; + } + $25 = (___errno_location()|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(4); + if (!($27)) { + break; + } + } + $28 = HEAP32[$6>>2]|0; + _robust_close(0,$28,35583); + $29 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($29|0); } -function _sqlite3_create_module($db,$zName,$pModule,$pAux) { - $db = $db|0; - $zName = $zName|0; - $pModule = $pModule|0; - $pAux = $pAux|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _unixSleep($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zName; - HEAP32[$2>>2] = $pModule; - HEAP32[$3>>2] = $pAux; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (_createModule($4,$5,$6,$7,0)|0); - STACKTOP = sp;return ($8|0); -} -function _sqlite3_create_module_v2($db,$zName,$pModule,$pAux,$xDestroy) { - $db = $db|0; - $zName = $zName|0; - $pModule = $pModule|0; - $pAux = $pAux|0; - $xDestroy = $xDestroy|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 + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; $2 = sp + 8|0; $3 = sp + 4|0; $4 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zName; - HEAP32[$2>>2] = $pModule; - HEAP32[$3>>2] = $pAux; - HEAP32[$4>>2] = $xDestroy; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = (($5) + 999999)|0; + $7 = (($6|0) / 1000000)&-1; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + (_sleep($8)|0); $9 = HEAP32[$4>>2]|0; - $10 = (_createModule($5,$6,$7,$8,$9)|0); + $10 = ($9*1000000)|0; STACKTOP = sp;return ($10|0); } -function _sqlite3_declare_vtab($db,$zCreateTable) { - $db = $db|0; - $zCreateTable = $zCreateTable|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $pCtx = 0, $pIdx = 0, $pNew = 0, $pParse = 0, $pTab = 0, $rc = 0, $vararg_buffer = 0, $zErr = 0, label = 0, sp = 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, $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 + 48|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $pCtx = sp + 28|0; - $pParse = sp + 24|0; - $rc = sp + 20|0; - $pTab = sp + 16|0; - $zErr = sp + 12|0; - $pNew = sp + 8|0; - $pIdx = sp + 4|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zCreateTable; - HEAP32[$rc>>2] = 0; - HEAP32[$zErr>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 336|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pCtx>>2] = $5; - $6 = HEAP32[$pCtx>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$pCtx>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0); - if (!($11)) { - $14 = HEAP32[$pCtx>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pTab>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = (_sqlite3DbMallocZero($17,480,0)|0); - HEAP32[$pParse>>2] = $18; - $19 = HEAP32[$pParse>>2]|0; - $20 = ($19|0)==(0|0); - if ($20) { - HEAP32[$rc>>2] = 7; - } else { - $21 = HEAP32[$pParse>>2]|0; - $22 = ((($21)) + 410|0); - HEAP8[$22>>0] = 1; - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$pParse>>2]|0; - HEAP32[$24>>2] = $23; - $25 = HEAP32[$pParse>>2]|0; - $26 = ((($25)) + 136|0); - HEAP32[$26>>2] = 1; - $27 = HEAP32[$pParse>>2]|0; - $28 = HEAP32[$2>>2]|0; - $29 = (_sqlite3RunParser($27,$28,$zErr)|0); - $30 = (0)==($29|0); - if ($30) { - $31 = HEAP32[$pParse>>2]|0; - $32 = ((($31)) + 440|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)!=(0|0); - if ($34) { - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 69|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)!=(0); - if ($38) { - label = 18; - } else { - $39 = HEAP32[$pParse>>2]|0; - $40 = ((($39)) + 440|0); - $41 = HEAP32[$40>>2]|0; - $42 = ((($41)) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)!=(0|0); - if ($44) { - label = 18; - } else { - $45 = HEAP32[$pParse>>2]|0; - $46 = ((($45)) + 440|0); - $47 = HEAP32[$46>>2]|0; - $48 = ((($47)) + 42|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = $50 & 16; - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$pTab>>2]|0; - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)!=(0|0); - if (!($56)) { - $57 = HEAP32[$pParse>>2]|0; - $58 = ((($57)) + 440|0); - $59 = HEAP32[$58>>2]|0; - HEAP32[$pNew>>2] = $59; - $60 = HEAP32[$pNew>>2]|0; - $61 = ((($60)) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$pTab>>2]|0; - $64 = ((($63)) + 4|0); - HEAP32[$64>>2] = $62; - $65 = HEAP32[$pNew>>2]|0; - $66 = ((($65)) + 34|0); - $67 = HEAP16[$66>>1]|0; - $68 = HEAP32[$pTab>>2]|0; - $69 = ((($68)) + 34|0); - HEAP16[$69>>1] = $67; - $70 = HEAP32[$pNew>>2]|0; - $71 = ((($70)) + 42|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = $73 & 96; - $75 = HEAP32[$pTab>>2]|0; - $76 = ((($75)) + 42|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = $78 | $74; - $80 = $79&255; - HEAP8[$76>>0] = $80; - $81 = HEAP32[$pNew>>2]|0; - $82 = ((($81)) + 34|0); - HEAP16[$82>>1] = 0; - $83 = HEAP32[$pNew>>2]|0; - $84 = ((($83)) + 4|0); - HEAP32[$84>>2] = 0; - $85 = HEAP32[$pNew>>2]|0; - $86 = ((($85)) + 42|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87&255; - $89 = $88 & 32; - $90 = ($89|0)==(0); - if (!($90)) { - $91 = HEAP32[$pCtx>>2]|0; - $92 = HEAP32[$91>>2]|0; - $93 = ((($92)) + 4|0); - $94 = HEAP32[$93>>2]|0; - $95 = HEAP32[$94>>2]|0; - $96 = ((($95)) + 52|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)!=(0|0); - if ($98) { - HEAP32[$rc>>2] = 1; - } - } - $99 = HEAP32[$pNew>>2]|0; - $100 = ((($99)) + 8|0); - $101 = HEAP32[$100>>2]|0; - HEAP32[$pIdx>>2] = $101; - $102 = HEAP32[$pIdx>>2]|0; - $103 = ($102|0)!=(0|0); - if ($103) { - $104 = HEAP32[$pIdx>>2]|0; - $105 = HEAP32[$pTab>>2]|0; - $106 = ((($105)) + 8|0); - HEAP32[$106>>2] = $104; - $107 = HEAP32[$pNew>>2]|0; - $108 = ((($107)) + 8|0); - HEAP32[$108>>2] = 0; - $109 = HEAP32[$pTab>>2]|0; - $110 = HEAP32[$pIdx>>2]|0; - $111 = ((($110)) + 12|0); - HEAP32[$111>>2] = $109; - } - } - $112 = HEAP32[$pCtx>>2]|0; - $113 = ((($112)) + 12|0); - HEAP32[$113>>2] = 1; - } else { - label = 18; - } - } - } - } else { - label = 18; - } - } else { - label = 18; - } - if ((label|0) == 18) { - $114 = HEAP32[$1>>2]|0; - $115 = HEAP32[$zErr>>2]|0; - $116 = ($115|0)!=(0|0); - $117 = $116 ? 18391 : 0; - $118 = HEAP32[$zErr>>2]|0; - HEAP32[$vararg_buffer>>2] = $118; - _sqlite3ErrorWithMsg($114,1,$117,$vararg_buffer); - $119 = HEAP32[$1>>2]|0; - $120 = HEAP32[$zErr>>2]|0; - _sqlite3DbFree($119,$120); - HEAP32[$rc>>2] = 1; - } - $121 = HEAP32[$pParse>>2]|0; - $122 = ((($121)) + 410|0); - HEAP8[$122>>0] = 0; - $123 = HEAP32[$pParse>>2]|0; - $124 = ((($123)) + 8|0); - $125 = HEAP32[$124>>2]|0; - $126 = ($125|0)!=(0|0); - if ($126) { - $127 = HEAP32[$pParse>>2]|0; - $128 = ((($127)) + 8|0); - $129 = HEAP32[$128>>2]|0; - (_sqlite3VdbeFinalize($129)|0); - } - $130 = HEAP32[$1>>2]|0; - $131 = HEAP32[$pParse>>2]|0; - $132 = ((($131)) + 440|0); - $133 = HEAP32[$132>>2]|0; - _sqlite3DeleteTable($130,$133); - $134 = HEAP32[$pParse>>2]|0; - _sqlite3ParserReset($134); - $135 = HEAP32[$1>>2]|0; - $136 = HEAP32[$pParse>>2]|0; - _sqlite3DbFree($135,$136); - } - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$rc>>2]|0; - $139 = (_sqlite3ApiExit($137,$138)|0); - HEAP32[$rc>>2] = $139; - $140 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $140; - $141 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($141|0); - } - } - $12 = HEAP32[$1>>2]|0; - _sqlite3Error($12,21); - $13 = (_sqlite3MisuseError(123278)|0); - HEAP32[$0>>2] = $13; - $141 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($141|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = 0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = 0; + $10 = (_unixCurrentTimeInt64(0,$4)|0); + HEAP32[$5>>2] = $10; + $11 = $4; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (+($13>>>0)) + (4294967296.0*(+($16|0))); + $18 = $17 / 8.64E+7; + $19 = HEAP32[$3>>2]|0; + HEAPF64[$19>>3] = $18; + $20 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($20|0); } -function _sqlite3_vtab_on_conflict($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _unixGetLastError($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 74|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = (($4) - 1)|0; - $6 = (18659 + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - STACKTOP = sp;return ($8|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = (___errno_location()|0); + $7 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($7|0); } -function _sqlite3_vtab_config($db,$op,$varargs) { - $db = $db|0; - $op = $op|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $arglist_current = 0, $arglist_next = 0, $cond = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $p = 0, $rc = 0, label = 0, sp = 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, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $ap = sp + 8|0; - $rc = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $op; - HEAP32[$rc>>2] = 0; - HEAP32[$ap>>2] = $varargs; - $2 = HEAP32[$1>>2]|0; - $cond = ($2|0)==(1); - do { - if ($cond) { - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 336|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$p>>2] = $5; - $6 = HEAP32[$p>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $arglist_current = HEAP32[$ap>>2]|0; - $9 = $arglist_current; - $10 = ((0) + 4|0); - $expanded2 = $10; - $expanded = (($expanded2) - 1)|0; - $11 = (($9) + ($expanded))|0; - $12 = ((0) + 4|0); - $expanded6 = $12; - $expanded5 = (($expanded6) - 1)|0; - $expanded4 = $expanded5 ^ -1; - $13 = $11 & $expanded4; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $arglist_next = ((($14)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - $16 = $15&255; - $17 = HEAP32[$p>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 16|0); - HEAP8[$19>>0] = $16; - break; - } else { - $8 = (_sqlite3MisuseError(123749)|0); - HEAP32[$rc>>2] = $8; - break; - } - } else { - $20 = (_sqlite3MisuseError(123757)|0); - HEAP32[$rc>>2] = $20; - } - } while(0); - $21 = HEAP32[$rc>>2]|0; - $22 = ($21|0)!=(0); - if (!($22)) { - $25 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($25|0); - } - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$rc>>2]|0; - _sqlite3Error($23,$24); - $25 = HEAP32[$rc>>2]|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + (_gettimeofday(($5|0),(0|0))|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)<(0); + $8 = $7 << 31 >> 31; + $9 = (___muldi3(1000,0,($6|0),($8|0))|0); + $10 = tempRet0; + $11 = (_i64Add(1045635584,49096,($9|0),($10|0))|0); + $12 = tempRet0; + $13 = ((($5)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14|0) / 1000)&-1; + $16 = ($15|0)<(0); + $17 = $16 << 31 >> 31; + $18 = (_i64Add(($11|0),($12|0),($15|0),($17|0))|0); + $19 = tempRet0; + $20 = HEAP32[$3>>2]|0; + $21 = $20; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $19; + $25 = HEAP32[$4>>2]|0; STACKTOP = sp;return ($25|0); } -function _sqlite3_libversion() { - var label = 0, sp = 0; - sp = STACKTOP; - return (17598|0); -} -function _sqlite3_sourceid() { - var label = 0, sp = 0; +function _unixSetSystemCall($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - return (18677|0); -} -function _sqlite3_libversion_number() { - var label = 0, sp = 0; - sp = STACKTOP; - return 3015001; -} -function _sqlite3_config($op,$varargs) { - $op = $op|0; - $varargs = $varargs|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ap = 0, $arglist_current = 0, $arglist_current12 = 0, $arglist_current15 = 0, $arglist_current18 = 0, $arglist_current21 = 0, $arglist_current24 = 0, $arglist_current27 = 0, $arglist_current3 = 0; - var $arglist_current30 = 0, $arglist_current33 = 0, $arglist_current36 = 0, $arglist_current39 = 0, $arglist_current42 = 0, $arglist_current45 = 0, $arglist_current48 = 0, $arglist_current51 = 0, $arglist_current54 = 0, $arglist_current57 = 0, $arglist_current6 = 0, $arglist_current60 = 0, $arglist_current63 = 0, $arglist_current9 = 0, $arglist_next = 0, $arglist_next10 = 0, $arglist_next13 = 0, $arglist_next16 = 0, $arglist_next19 = 0, $arglist_next22 = 0; - var $arglist_next25 = 0, $arglist_next28 = 0, $arglist_next31 = 0, $arglist_next34 = 0, $arglist_next37 = 0, $arglist_next4 = 0, $arglist_next40 = 0, $arglist_next43 = 0, $arglist_next46 = 0, $arglist_next49 = 0, $arglist_next52 = 0, $arglist_next55 = 0, $arglist_next58 = 0, $arglist_next61 = 0, $arglist_next64 = 0, $arglist_next7 = 0, $expanded = 0, $expanded100 = 0, $expanded102 = 0, $expanded103 = 0; - var $expanded104 = 0, $expanded106 = 0, $expanded107 = 0, $expanded109 = 0, $expanded11 = 0, $expanded110 = 0, $expanded111 = 0, $expanded113 = 0, $expanded114 = 0, $expanded116 = 0, $expanded117 = 0, $expanded118 = 0, $expanded12 = 0, $expanded120 = 0, $expanded121 = 0, $expanded123 = 0, $expanded124 = 0, $expanded125 = 0, $expanded127 = 0, $expanded128 = 0; - var $expanded13 = 0, $expanded130 = 0, $expanded131 = 0, $expanded132 = 0, $expanded134 = 0, $expanded135 = 0, $expanded137 = 0, $expanded138 = 0, $expanded139 = 0, $expanded141 = 0, $expanded142 = 0, $expanded144 = 0, $expanded145 = 0, $expanded146 = 0, $expanded148 = 0, $expanded149 = 0, $expanded15 = 0, $expanded151 = 0, $expanded152 = 0, $expanded153 = 0; - var $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, $expanded40 = 0; - var $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, $expanded65 = 0; - var $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, $expanded90 = 0; - var $expanded92 = 0, $expanded93 = 0, $expanded95 = 0, $expanded96 = 0, $expanded97 = 0, $expanded99 = 0, $mxMmap = 0, $or$cond = 0, $rc = 0, $szMmap = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $ap = sp + 24|0; - $rc = sp + 16|0; - $szMmap = sp + 8|0; - $mxMmap = sp; - HEAP32[$1>>2] = $op; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[(236)>>2]|0; - $3 = ($2|0)!=(0); - if ($3) { - $4 = (_sqlite3MisuseError(138190)|0); - HEAP32[$0>>2] = $4; - $270 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($270|0); - } - HEAP32[$ap>>2] = $varargs; - $5 = HEAP32[$1>>2]|0; - do { - switch ($5|0) { - case 4: { - $arglist_current = HEAP32[$ap>>2]|0; - $6 = $arglist_current; - $7 = ((0) + 4|0); - $expanded2 = $7; - $expanded = (($expanded2) - 1)|0; - $8 = (($6) + ($expanded))|0; - $9 = ((0) + 4|0); - $expanded6 = $9; - $expanded5 = (($expanded6) - 1)|0; - $expanded4 = $expanded5 ^ -1; - $10 = $8 & $expanded4; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $arglist_next = ((($11)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - ;HEAP32[(48)>>2]=HEAP32[$12>>2]|0;HEAP32[(48)+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[(48)+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[(48)+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[(48)+16>>2]=HEAP32[$12+16>>2]|0;HEAP32[(48)+20>>2]=HEAP32[$12+20>>2]|0;HEAP32[(48)+24>>2]=HEAP32[$12+24>>2]|0;HEAP32[(48)+28>>2]=HEAP32[$12+28>>2]|0; - break; - } - case 5: { - $13 = HEAP32[(48)>>2]|0; - $14 = ($13|0)==(0|0); - if ($14) { - _sqlite3MemSetDefault(); - } - $arglist_current3 = HEAP32[$ap>>2]|0; - $15 = $arglist_current3; - $16 = ((0) + 4|0); - $expanded9 = $16; - $expanded8 = (($expanded9) - 1)|0; - $17 = (($15) + ($expanded8))|0; - $18 = ((0) + 4|0); - $expanded13 = $18; - $expanded12 = (($expanded13) - 1)|0; - $expanded11 = $expanded12 ^ -1; - $19 = $17 & $expanded11; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $arglist_next4 = ((($20)) + 4|0); - HEAP32[$ap>>2] = $arglist_next4; - ;HEAP32[$21>>2]=HEAP32[(48)>>2]|0;HEAP32[$21+4>>2]=HEAP32[(48)+4>>2]|0;HEAP32[$21+8>>2]=HEAP32[(48)+8>>2]|0;HEAP32[$21+12>>2]=HEAP32[(48)+12>>2]|0;HEAP32[$21+16>>2]=HEAP32[(48)+16>>2]|0;HEAP32[$21+20>>2]=HEAP32[(48)+20>>2]|0;HEAP32[$21+24>>2]=HEAP32[(48)+24>>2]|0;HEAP32[$21+28>>2]=HEAP32[(48)+28>>2]|0; - break; - } - case 9: { - $arglist_current6 = HEAP32[$ap>>2]|0; - $22 = $arglist_current6; - $23 = ((0) + 4|0); - $expanded16 = $23; - $expanded15 = (($expanded16) - 1)|0; - $24 = (($22) + ($expanded15))|0; - $25 = ((0) + 4|0); - $expanded20 = $25; - $expanded19 = (($expanded20) - 1)|0; - $expanded18 = $expanded19 ^ -1; - $26 = $24 & $expanded18; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $arglist_next7 = ((($27)) + 4|0); - HEAP32[$ap>>2] = $arglist_next7; - HEAP32[8>>2] = $28; - break; - } - case 6: { - $arglist_current9 = HEAP32[$ap>>2]|0; - $29 = $arglist_current9; - $30 = ((0) + 4|0); - $expanded23 = $30; - $expanded22 = (($expanded23) - 1)|0; - $31 = (($29) + ($expanded22))|0; - $32 = ((0) + 4|0); - $expanded27 = $32; - $expanded26 = (($expanded27) - 1)|0; - $expanded25 = $expanded26 ^ -1; - $33 = $31 & $expanded25; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $arglist_next10 = ((($34)) + 4|0); - HEAP32[$ap>>2] = $arglist_next10; - HEAP32[(200)>>2] = $35; - $arglist_current12 = HEAP32[$ap>>2]|0; - $36 = $arglist_current12; - $37 = ((0) + 4|0); - $expanded30 = $37; - $expanded29 = (($expanded30) - 1)|0; - $38 = (($36) + ($expanded29))|0; - $39 = ((0) + 4|0); - $expanded34 = $39; - $expanded33 = (($expanded34) - 1)|0; - $expanded32 = $expanded33 ^ -1; - $40 = $38 & $expanded32; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $arglist_next13 = ((($41)) + 4|0); - HEAP32[$ap>>2] = $arglist_next13; - HEAP32[(204)>>2] = $42; - $arglist_current15 = HEAP32[$ap>>2]|0; - $43 = $arglist_current15; - $44 = ((0) + 4|0); - $expanded37 = $44; - $expanded36 = (($expanded37) - 1)|0; - $45 = (($43) + ($expanded36))|0; - $46 = ((0) + 4|0); - $expanded41 = $46; - $expanded40 = (($expanded41) - 1)|0; - $expanded39 = $expanded40 ^ -1; - $47 = $45 & $expanded39; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $arglist_next16 = ((($48)) + 4|0); - HEAP32[$ap>>2] = $arglist_next16; - HEAP32[(208)>>2] = $49; - break; - } - case 7: { - $arglist_current18 = HEAP32[$ap>>2]|0; - $50 = $arglist_current18; - $51 = ((0) + 4|0); - $expanded44 = $51; - $expanded43 = (($expanded44) - 1)|0; - $52 = (($50) + ($expanded43))|0; - $53 = ((0) + 4|0); - $expanded48 = $53; - $expanded47 = (($expanded48) - 1)|0; - $expanded46 = $expanded47 ^ -1; - $54 = $52 & $expanded46; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $arglist_next19 = ((($55)) + 4|0); - HEAP32[$ap>>2] = $arglist_next19; - HEAP32[(212)>>2] = $56; - $arglist_current21 = HEAP32[$ap>>2]|0; - $57 = $arglist_current21; - $58 = ((0) + 4|0); - $expanded51 = $58; - $expanded50 = (($expanded51) - 1)|0; - $59 = (($57) + ($expanded50))|0; - $60 = ((0) + 4|0); - $expanded55 = $60; - $expanded54 = (($expanded55) - 1)|0; - $expanded53 = $expanded54 ^ -1; - $61 = $59 & $expanded53; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $arglist_next22 = ((($62)) + 4|0); - HEAP32[$ap>>2] = $arglist_next22; - HEAP32[(216)>>2] = $63; - $arglist_current24 = HEAP32[$ap>>2]|0; - $64 = $arglist_current24; - $65 = ((0) + 4|0); - $expanded58 = $65; - $expanded57 = (($expanded58) - 1)|0; - $66 = (($64) + ($expanded57))|0; - $67 = ((0) + 4|0); - $expanded62 = $67; - $expanded61 = (($expanded62) - 1)|0; - $expanded60 = $expanded61 ^ -1; - $68 = $66 & $expanded60; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $arglist_next25 = ((($69)) + 4|0); - HEAP32[$ap>>2] = $arglist_next25; - HEAP32[(220)>>2] = $70; - break; - } - case 24: { - $71 = (_sqlite3HeaderSizeBtree()|0); - $72 = (_sqlite3HeaderSizePcache()|0); - $73 = (($71) + ($72))|0; - $74 = (_sqlite3HeaderSizePcache1()|0); - $75 = (($73) + ($74))|0; - $arglist_current27 = HEAP32[$ap>>2]|0; - $76 = $arglist_current27; - $77 = ((0) + 4|0); - $expanded65 = $77; - $expanded64 = (($expanded65) - 1)|0; - $78 = (($76) + ($expanded64))|0; - $79 = ((0) + 4|0); - $expanded69 = $79; - $expanded68 = (($expanded69) - 1)|0; - $expanded67 = $expanded68 ^ -1; - $80 = $78 & $expanded67; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $arglist_next28 = ((($81)) + 4|0); - HEAP32[$ap>>2] = $arglist_next28; - HEAP32[$82>>2] = $75; - break; - } - case 14: { - break; - } - case 15: { - HEAP32[$rc>>2] = 1; - break; - } - case 18: { - $arglist_current30 = HEAP32[$ap>>2]|0; - $83 = $arglist_current30; - $84 = ((0) + 4|0); - $expanded72 = $84; - $expanded71 = (($expanded72) - 1)|0; - $85 = (($83) + ($expanded71))|0; - $86 = ((0) + 4|0); - $expanded76 = $86; - $expanded75 = (($expanded76) - 1)|0; - $expanded74 = $expanded75 ^ -1; - $87 = $85 & $expanded74; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $arglist_next31 = ((($88)) + 4|0); - HEAP32[$ap>>2] = $arglist_next31; - dest=(116); src=$89; 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)); - break; - } - case 19: { - $90 = HEAP32[(124)>>2]|0; - $91 = ($90|0)==(0|0); - if ($91) { - _sqlite3PCacheSetDefault(); - } - $arglist_current33 = HEAP32[$ap>>2]|0; - $92 = $arglist_current33; - $93 = ((0) + 4|0); - $expanded79 = $93; - $expanded78 = (($expanded79) - 1)|0; - $94 = (($92) + ($expanded78))|0; - $95 = ((0) + 4|0); - $expanded83 = $95; - $expanded82 = (($expanded83) - 1)|0; - $expanded81 = $expanded82 ^ -1; - $96 = $94 & $expanded81; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $arglist_next34 = ((($97)) + 4|0); - HEAP32[$ap>>2] = $arglist_next34; - dest=$98; src=(116); 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)); - break; - } - case 13: { - $arglist_current36 = HEAP32[$ap>>2]|0; - $99 = $arglist_current36; - $100 = ((0) + 4|0); - $expanded86 = $100; - $expanded85 = (($expanded86) - 1)|0; - $101 = (($99) + ($expanded85))|0; - $102 = ((0) + 4|0); - $expanded90 = $102; - $expanded89 = (($expanded90) - 1)|0; - $expanded88 = $expanded89 ^ -1; - $103 = $101 & $expanded88; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $arglist_next37 = ((($104)) + 4|0); - HEAP32[$ap>>2] = $arglist_next37; - HEAP32[(36)>>2] = $105; - $arglist_current39 = HEAP32[$ap>>2]|0; - $106 = $arglist_current39; - $107 = ((0) + 4|0); - $expanded93 = $107; - $expanded92 = (($expanded93) - 1)|0; - $108 = (($106) + ($expanded92))|0; - $109 = ((0) + 4|0); - $expanded97 = $109; - $expanded96 = (($expanded97) - 1)|0; - $expanded95 = $expanded96 ^ -1; - $110 = $108 & $expanded95; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $arglist_next40 = ((($111)) + 4|0); - HEAP32[$ap>>2] = $arglist_next40; - HEAP32[(40)>>2] = $112; - break; - } - case 16: { - $arglist_current42 = HEAP32[$ap>>2]|0; - $113 = $arglist_current42; - $114 = ((0) + 4|0); - $expanded100 = $114; - $expanded99 = (($expanded100) - 1)|0; - $115 = (($113) + ($expanded99))|0; - $116 = ((0) + 4|0); - $expanded104 = $116; - $expanded103 = (($expanded104) - 1)|0; - $expanded102 = $expanded103 ^ -1; - $117 = $115 & $expanded102; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $arglist_next43 = ((($118)) + 4|0); - HEAP32[$ap>>2] = $arglist_next43; - HEAP32[(264)>>2] = $119; - $arglist_current45 = HEAP32[$ap>>2]|0; - $120 = $arglist_current45; - $121 = ((0) + 4|0); - $expanded107 = $121; - $expanded106 = (($expanded107) - 1)|0; - $122 = (($120) + ($expanded106))|0; - $123 = ((0) + 4|0); - $expanded111 = $123; - $expanded110 = (($expanded111) - 1)|0; - $expanded109 = $expanded110 ^ -1; - $124 = $122 & $expanded109; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $arglist_next46 = ((($125)) + 4|0); - HEAP32[$ap>>2] = $arglist_next46; - HEAP32[(268)>>2] = $126; - break; - } - case 17: { - $arglist_current48 = HEAP32[$ap>>2]|0; - $127 = $arglist_current48; - $128 = ((0) + 4|0); - $expanded114 = $128; - $expanded113 = (($expanded114) - 1)|0; - $129 = (($127) + ($expanded113))|0; - $130 = ((0) + 4|0); - $expanded118 = $130; - $expanded117 = (($expanded118) - 1)|0; - $expanded116 = $expanded117 ^ -1; - $131 = $129 & $expanded116; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $arglist_next49 = ((($132)) + 4|0); - HEAP32[$ap>>2] = $arglist_next49; - HEAP32[(20)>>2] = $133; - break; - } - case 20: { - $arglist_current51 = HEAP32[$ap>>2]|0; - $134 = $arglist_current51; - $135 = ((0) + 4|0); - $expanded121 = $135; - $expanded120 = (($expanded121) - 1)|0; - $136 = (($134) + ($expanded120))|0; - $137 = ((0) + 4|0); - $expanded125 = $137; - $expanded124 = (($expanded125) - 1)|0; - $expanded123 = $expanded124 ^ -1; - $138 = $136 & $expanded123; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $arglist_next52 = ((($139)) + 4|0); - HEAP32[$ap>>2] = $arglist_next52; - HEAP32[(24)>>2] = $140; - break; - } - case 22: { - $arglist_current54 = HEAP32[$ap>>2]|0; - $141 = $arglist_current54; - $142 = ((0) + 8|0); - $expanded128 = $142; - $expanded127 = (($expanded128) - 1)|0; - $143 = (($141) + ($expanded127))|0; - $144 = ((0) + 8|0); - $expanded132 = $144; - $expanded131 = (($expanded132) - 1)|0; - $expanded130 = $expanded131 ^ -1; - $145 = $143 & $expanded130; - $146 = $145; - $147 = $146; - $148 = $147; - $149 = HEAP32[$148>>2]|0; - $150 = (($147) + 4)|0; - $151 = $150; - $152 = HEAP32[$151>>2]|0; - $arglist_next55 = ((($146)) + 8|0); - HEAP32[$ap>>2] = $arglist_next55; - $153 = $szMmap; - $154 = $153; - HEAP32[$154>>2] = $149; - $155 = (($153) + 4)|0; - $156 = $155; - HEAP32[$156>>2] = $152; - $arglist_current57 = HEAP32[$ap>>2]|0; - $157 = $arglist_current57; - $158 = ((0) + 8|0); - $expanded135 = $158; - $expanded134 = (($expanded135) - 1)|0; - $159 = (($157) + ($expanded134))|0; - $160 = ((0) + 8|0); - $expanded139 = $160; - $expanded138 = (($expanded139) - 1)|0; - $expanded137 = $expanded138 ^ -1; - $161 = $159 & $expanded137; - $162 = $161; - $163 = $162; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - $166 = (($163) + 4)|0; - $167 = $166; - $168 = HEAP32[$167>>2]|0; - $arglist_next58 = ((($162)) + 8|0); - HEAP32[$ap>>2] = $arglist_next58; - $169 = $mxMmap; - $170 = $169; - HEAP32[$170>>2] = $165; - $171 = (($169) + 4)|0; - $172 = $171; - HEAP32[$172>>2] = $168; - $173 = $mxMmap; - $174 = $173; - $175 = HEAP32[$174>>2]|0; - $176 = (($173) + 4)|0; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = ($178|0)<(0); - $180 = $mxMmap; - $181 = $180; - $182 = HEAP32[$181>>2]|0; - $183 = (($180) + 4)|0; - $184 = $183; - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)>(0); - $187 = ($182>>>0)>(0); - $188 = ($185|0)==(0); - $189 = $188 & $187; - $190 = $186 | $189; - $or$cond = $179 | $190; - $191 = $or$cond ? 0 : $165; - $192 = $or$cond ? 0 : $168; - $193 = $mxMmap; - $194 = $193; - HEAP32[$194>>2] = $191; - $195 = (($193) + 4)|0; - $196 = $195; - HEAP32[$196>>2] = $192; - $197 = $szMmap; - $198 = $197; - $199 = HEAP32[$198>>2]|0; - $200 = (($197) + 4)|0; - $201 = $200; - $202 = HEAP32[$201>>2]|0; - $203 = ($202|0)<(0); - if ($203) { - $204 = $szMmap; - $205 = $204; - HEAP32[$205>>2] = 0; - $206 = (($204) + 4)|0; - $207 = $206; - HEAP32[$207>>2] = 0; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$7>>2] = 12; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + HEAP32[$7>>2] = 0; + HEAP32[$6>>2] = 0; + while(1) { + $10 = HEAP32[$6>>2]|0; + $11 = ($10>>>0)<(28); + if (!($11)) { + break; } - $208 = $szMmap; - $209 = $208; - $210 = HEAP32[$209>>2]|0; - $211 = (($208) + 4)|0; - $212 = $211; - $213 = HEAP32[$212>>2]|0; - $214 = $mxMmap; - $215 = $214; - $216 = HEAP32[$215>>2]|0; - $217 = (($214) + 4)|0; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = ($213|0)>($219|0); - $221 = ($210>>>0)>($216>>>0); - $222 = ($213|0)==($219|0); - $223 = $222 & $221; - $224 = $220 | $223; - if ($224) { - $225 = $mxMmap; - $226 = $225; - $227 = HEAP32[$226>>2]|0; - $228 = (($225) + 4)|0; - $229 = $228; - $230 = HEAP32[$229>>2]|0; - $231 = $szMmap; - $232 = $231; - HEAP32[$232>>2] = $227; - $233 = (($231) + 4)|0; - $234 = $233; - HEAP32[$234>>2] = $230; + $12 = HEAP32[$6>>2]|0; + $13 = (1416 + (($12*12)|0)|0); + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)!=(0|0); + if ($16) { + $17 = HEAP32[$6>>2]|0; + $18 = (1416 + (($17*12)|0)|0); + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = (1416 + (($21*12)|0)|0); + $23 = ((($22)) + 4|0); + HEAP32[$23>>2] = $20; } - $235 = $mxMmap; - $236 = $235; - $237 = HEAP32[$236>>2]|0; - $238 = (($235) + 4)|0; - $239 = $238; - $240 = HEAP32[$239>>2]|0; - $241 = (192); - $242 = $241; - HEAP32[$242>>2] = $237; - $243 = (($241) + 4)|0; - $244 = $243; - HEAP32[$244>>2] = $240; - $245 = $szMmap; - $246 = $245; - $247 = HEAP32[$246>>2]|0; - $248 = (($245) + 4)|0; - $249 = $248; - $250 = HEAP32[$249>>2]|0; - $251 = (184); - $252 = $251; - HEAP32[$252>>2] = $247; - $253 = (($251) + 4)|0; - $254 = $253; - HEAP32[$254>>2] = $250; - break; + $24 = HEAP32[$6>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$6>>2] = $25; } - case 25: { - $arglist_current60 = HEAP32[$ap>>2]|0; - $255 = $arglist_current60; - $256 = ((0) + 4|0); - $expanded142 = $256; - $expanded141 = (($expanded142) - 1)|0; - $257 = (($255) + ($expanded141))|0; - $258 = ((0) + 4|0); - $expanded146 = $258; - $expanded145 = (($expanded146) - 1)|0; - $expanded144 = $expanded145 ^ -1; - $259 = $257 & $expanded144; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $arglist_next61 = ((($260)) + 4|0); - HEAP32[$ap>>2] = $arglist_next61; - HEAP32[(232)>>2] = $261; + $57 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($57|0); + } + HEAP32[$6>>2] = 0; + while(1) { + $26 = HEAP32[$6>>2]|0; + $27 = ($26>>>0)<(28); + if (!($27)) { + label = 16; break; } - case 26: { - $arglist_current63 = HEAP32[$ap>>2]|0; - $262 = $arglist_current63; - $263 = ((0) + 4|0); - $expanded149 = $263; - $expanded148 = (($expanded149) - 1)|0; - $264 = (($262) + ($expanded148))|0; - $265 = ((0) + 4|0); - $expanded153 = $265; - $expanded152 = (($expanded153) - 1)|0; - $expanded151 = $expanded152 ^ -1; - $266 = $264 & $expanded151; - $267 = $266; - $268 = HEAP32[$267>>2]|0; - $arglist_next64 = ((($267)) + 4|0); - HEAP32[$ap>>2] = $arglist_next64; - HEAP32[(44)>>2] = $268; + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$6>>2]|0; + $30 = (1416 + (($29*12)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_strcmp($28,$31)|0); + $33 = ($32|0)==(0); + $34 = HEAP32[$6>>2]|0; + if ($33) { break; } - default: { - HEAP32[$rc>>2] = 1; - } - } - } while(0); - $269 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $269; - $270 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($270|0); + $56 = (($34) + 1)|0; + HEAP32[$6>>2] = $56; + } + if ((label|0) == 16) { + $57 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($57|0); + } + $35 = (1416 + (($34*12)|0)|0); + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0|0); + if ($38) { + $39 = HEAP32[$6>>2]|0; + $40 = (1416 + (($39*12)|0)|0); + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = (1416 + (($43*12)|0)|0); + $45 = ((($44)) + 8|0); + HEAP32[$45>>2] = $42; + } + HEAP32[$7>>2] = 0; + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0|0); + if ($47) { + $48 = HEAP32[$6>>2]|0; + $49 = (1416 + (($48*12)|0)|0); + $50 = ((($49)) + 8|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$5>>2] = $51; + } + $52 = HEAP32[$5>>2]|0; + $53 = HEAP32[$6>>2]|0; + $54 = (1416 + (($53*12)|0)|0); + $55 = ((($54)) + 4|0); + HEAP32[$55>>2] = $52; + $57 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($57|0); } -function _sqlite3_db_release_memory($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, $pBt = 0, $pPager = 0, label = 0, sp = 0; +function _unixGetSystemCall($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $i = sp + 8|0; - $pBt = sp + 4|0; - $pPager = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnterAll($1); - HEAP32[$i>>2] = 0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; while(1) { - $2 = HEAP32[$i>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($2|0)<($5|0); - if (!($6)) { + $6 = HEAP32[$5>>2]|0; + $7 = ($6>>>0)<(28); + if (!($7)) { + label = 6; break; } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($7<<4)|0); - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pBt>>2] = $13; - $14 = HEAP32[$pBt>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$pBt>>2]|0; - $17 = (_sqlite3BtreePager($16)|0); - HEAP32[$pPager>>2] = $17; - $18 = HEAP32[$pPager>>2]|0; - _sqlite3PagerShrink($18); + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = (1416 + (($9*12)|0)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_strcmp($8,$11)|0); + $13 = ($12|0)==(0); + $14 = HEAP32[$5>>2]|0; + if ($13) { + label = 4; + break; } - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; + $18 = (($14) + 1)|0; + HEAP32[$5>>2] = $18; } - STACKTOP = sp;return 0; -} -function _sqlite3_db_config($db,$op,$varargs) { - $db = $db|0; - $op = $op|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 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, $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, $97 = 0, $98 = 0, $99 = 0, $ap = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current2 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $cnt = 0; - var $expanded = 0, $expanded10 = 0, $expanded12 = 0, $expanded13 = 0, $expanded14 = 0, $expanded16 = 0, $expanded17 = 0, $expanded19 = 0, $expanded20 = 0, $expanded21 = 0, $expanded23 = 0, $expanded24 = 0, $expanded26 = 0, $expanded27 = 0, $expanded28 = 0, $expanded3 = 0, $expanded30 = 0, $expanded31 = 0, $expanded33 = 0, $expanded34 = 0; - var $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded40 = 0, $expanded41 = 0, $expanded42 = 0, $expanded5 = 0, $expanded6 = 0, $expanded7 = 0, $expanded9 = 0, $i = 0, $oldFlags = 0, $onoff = 0, $pBuf = 0, $pRes = 0, $rc = 0, $sz = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $ap = sp + 32|0; - $rc = sp + 28|0; - $pBuf = sp + 24|0; - $sz = sp + 20|0; - $cnt = sp + 16|0; - $i = sp + 12|0; - $onoff = sp + 8|0; - $pRes = sp + 4|0; - $oldFlags = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $op; - HEAP32[$ap>>2] = $varargs; - $2 = HEAP32[$1>>2]|0; - switch ($2|0) { - case 1000: { - $arglist_current = HEAP32[$ap>>2]|0; - $3 = $arglist_current; - $4 = ((0) + 4|0); - $expanded3 = $4; - $expanded = (($expanded3) - 1)|0; - $5 = (($3) + ($expanded))|0; - $6 = ((0) + 4|0); - $expanded7 = $6; - $expanded6 = (($expanded7) - 1)|0; - $expanded5 = $expanded6 ^ -1; - $7 = $5 & $expanded5; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $arglist_next = ((($8)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 16|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$12>>2] = $9; - HEAP32[$rc>>2] = 0; - $105 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($105|0); - break; + if ((label|0) == 4) { + $15 = (1416 + (($14*12)|0)|0); + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$2>>2] = $17; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); } - case 1001: { - $arglist_current2 = HEAP32[$ap>>2]|0; - $13 = $arglist_current2; - $14 = ((0) + 4|0); - $expanded10 = $14; - $expanded9 = (($expanded10) - 1)|0; - $15 = (($13) + ($expanded9))|0; - $16 = ((0) + 4|0); - $expanded14 = $16; - $expanded13 = (($expanded14) - 1)|0; - $expanded12 = $expanded13 ^ -1; - $17 = $15 & $expanded12; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $arglist_next3 = ((($18)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - HEAP32[$pBuf>>2] = $19; - $arglist_current5 = HEAP32[$ap>>2]|0; - $20 = $arglist_current5; - $21 = ((0) + 4|0); - $expanded17 = $21; - $expanded16 = (($expanded17) - 1)|0; - $22 = (($20) + ($expanded16))|0; - $23 = ((0) + 4|0); - $expanded21 = $23; - $expanded20 = (($expanded21) - 1)|0; - $expanded19 = $expanded20 ^ -1; - $24 = $22 & $expanded19; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $arglist_next6 = ((($25)) + 4|0); - HEAP32[$ap>>2] = $arglist_next6; - HEAP32[$sz>>2] = $26; - $arglist_current8 = HEAP32[$ap>>2]|0; - $27 = $arglist_current8; - $28 = ((0) + 4|0); - $expanded24 = $28; - $expanded23 = (($expanded24) - 1)|0; - $29 = (($27) + ($expanded23))|0; - $30 = ((0) + 4|0); - $expanded28 = $30; - $expanded27 = (($expanded28) - 1)|0; - $expanded26 = $expanded27 ^ -1; - $31 = $29 & $expanded26; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $arglist_next9 = ((($32)) + 4|0); - HEAP32[$ap>>2] = $arglist_next9; - HEAP32[$cnt>>2] = $33; - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$pBuf>>2]|0; - $36 = HEAP32[$sz>>2]|0; - $37 = HEAP32[$cnt>>2]|0; - $38 = (_setupLookaside($34,$35,$36,$37)|0); - HEAP32[$rc>>2] = $38; - $105 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($105|0); - break; + else if ((label|0) == 6) { + HEAP32[$2>>2] = 0; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); } - default: { - HEAP32[$rc>>2] = 1; - HEAP32[$i>>2] = 0; - while(1) { - $39 = HEAP32[$i>>2]|0; - $40 = ($39>>>0)<(4); - if (!($40)) { - label = 17; - break; - } - $41 = HEAP32[$i>>2]|0; - $42 = (1548 + ($41<<3)|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ($43|0)==($44|0); - if ($45) { - break; - } - $103 = HEAP32[$i>>2]|0; - $104 = (($103) + 1)|0; - HEAP32[$i>>2] = $104; - } - if ((label|0) == 17) { - $105 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($105|0); - } - $arglist_current11 = HEAP32[$ap>>2]|0; - $46 = $arglist_current11; - $47 = ((0) + 4|0); - $expanded31 = $47; - $expanded30 = (($expanded31) - 1)|0; - $48 = (($46) + ($expanded30))|0; - $49 = ((0) + 4|0); - $expanded35 = $49; - $expanded34 = (($expanded35) - 1)|0; - $expanded33 = $expanded34 ^ -1; - $50 = $48 & $expanded33; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $arglist_next12 = ((($51)) + 4|0); - HEAP32[$ap>>2] = $arglist_next12; - HEAP32[$onoff>>2] = $52; - $arglist_current14 = HEAP32[$ap>>2]|0; - $53 = $arglist_current14; - $54 = ((0) + 4|0); - $expanded38 = $54; - $expanded37 = (($expanded38) - 1)|0; - $55 = (($53) + ($expanded37))|0; - $56 = ((0) + 4|0); - $expanded42 = $56; - $expanded41 = (($expanded42) - 1)|0; - $expanded40 = $expanded41 ^ -1; - $57 = $55 & $expanded40; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $arglist_next15 = ((($58)) + 4|0); - HEAP32[$ap>>2] = $arglist_next15; - HEAP32[$pRes>>2] = $59; - $60 = HEAP32[$0>>2]|0; - $61 = ((($60)) + 24|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$oldFlags>>2] = $62; - $63 = HEAP32[$onoff>>2]|0; - $64 = ($63|0)>(0); - if ($64) { - $65 = HEAP32[$i>>2]|0; - $66 = (1548 + ($65<<3)|0); - $67 = ((($66)) + 4|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$0>>2]|0; - $70 = ((($69)) + 24|0); - $71 = HEAP32[$70>>2]|0; - $72 = $71 | $68; - HEAP32[$70>>2] = $72; - } else { - $73 = HEAP32[$onoff>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = HEAP32[$i>>2]|0; - $76 = (1548 + ($75<<3)|0); - $77 = ((($76)) + 4|0); - $78 = HEAP32[$77>>2]|0; - $79 = $78 ^ -1; - $80 = HEAP32[$0>>2]|0; - $81 = ((($80)) + 24|0); - $82 = HEAP32[$81>>2]|0; - $83 = $82 & $79; - HEAP32[$81>>2] = $83; + return (0)|0; +} +function _unixNextSystemCall($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = -1; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)!=(0|0); + L1: do { + if ($7) { + HEAP32[$5>>2] = 0; + while(1) { + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)<(27); + if (!($9)) { + break L1; + } + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = (1416 + (($11*12)|0)|0); + $13 = HEAP32[$12>>2]|0; + $14 = (_strcmp($10,$13)|0); + $15 = ($14|0)==(0); + if ($15) { + break L1; + } + $16 = HEAP32[$5>>2]|0; + $17 = (($16) + 1)|0; + HEAP32[$5>>2] = $17; } } - $84 = HEAP32[$oldFlags>>2]|0; - $85 = HEAP32[$0>>2]|0; - $86 = ((($85)) + 24|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($84|0)!=($87|0); - if ($88) { - $89 = HEAP32[$0>>2]|0; - _sqlite3ExpirePreparedStatements($89); + } while(0); + $18 = HEAP32[$5>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$5>>2] = $19; + while(1) { + $20 = HEAP32[$5>>2]|0; + $21 = ($20|0)<(28); + if (!($21)) { + label = 11; + break; } - $90 = HEAP32[$pRes>>2]|0; - $91 = ($90|0)!=(0|0); - if ($91) { - $92 = HEAP32[$0>>2]|0; - $93 = ((($92)) + 24|0); - $94 = HEAP32[$93>>2]|0; - $95 = HEAP32[$i>>2]|0; - $96 = (1548 + ($95<<3)|0); - $97 = ((($96)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = $94 & $98; - $100 = ($99|0)!=(0); - $101 = $100&1; - $102 = HEAP32[$pRes>>2]|0; - HEAP32[$102>>2] = $101; + $22 = HEAP32[$5>>2]|0; + $23 = (1416 + (($22*12)|0)|0); + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0|0); + $27 = HEAP32[$5>>2]|0; + if ($26) { + label = 9; + break; } - HEAP32[$rc>>2] = 0; - $105 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($105|0); + $30 = (($27) + 1)|0; + HEAP32[$5>>2] = $30; + } + if ((label|0) == 9) { + $28 = (1416 + (($27*12)|0)|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$2>>2] = $29; + $31 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($31|0); } + else if ((label|0) == 11) { + HEAP32[$2>>2] = 0; + $31 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($31|0); } return (0)|0; } -function _sqlite3_last_insert_rowid($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 32|0); - $3 = $2; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = (($3) + 4)|0; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - tempRet0 = ($8); - STACKTOP = sp;return ($5|0); -} -function _sqlite3_changes($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 88|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} -function _sqlite3_total_changes($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 92|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} -function _sqlite3_close($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3Close($1,0)|0); - STACKTOP = sp;return ($2|0); -} -function _sqlite3_close_v2($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _dotlockIoFinderImpl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3Close($1,1)|0); - STACKTOP = sp;return ($2|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + STACKTOP = sp;return (1340|0); } -function _sqlite3_busy_handler($db,$xBusy,$pArg) { - $db = $db|0; - $xBusy = $xBusy|0; - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _dotlockClose($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $xBusy; - HEAP32[$2>>2] = $pArg; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 380|0); - HEAP32[$5>>2] = $3; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 380|0); - $9 = ((($8)) + 4|0); - HEAP32[$9>>2] = $6; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 380|0); - $12 = ((($11)) + 8|0); - HEAP32[$12>>2] = 0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 428|0); - HEAP32[$14>>2] = 0; - STACKTOP = sp;return 0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$1>>2]|0; + (_dotlockUnlock($4,0)|0); + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 24|0); + $7 = HEAP32[$6>>2]|0; + _sqlite3_free($7); + $8 = HEAP32[$1>>2]|0; + $9 = (_closeUnixFile($8)|0); + STACKTOP = sp;return ($9|0); } -function _sqlite3_busy_timeout($db,$ms) { - $db = $db|0; - $ms = $ms|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _unixRead($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $ms; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - $4 = HEAP32[$0>>2]|0; - if ($3) { - $5 = HEAP32[$0>>2]|0; - (_sqlite3_busy_handler($4,178,$5)|0); - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 428|0); - HEAP32[$8>>2] = $6; - STACKTOP = sp;return 0; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp; + $10 = sp + 12|0; + $11 = sp + 8|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + $12 = $9; + $13 = $12; + HEAP32[$13>>2] = $3; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $4; + $16 = HEAP32[$6>>2]|0; + HEAP32[$10>>2] = $16; + $17 = HEAP32[$10>>2]|0; + $18 = $9; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = (_seekAndRead($17,$20,$23,$24,$25)|0); + HEAP32[$11>>2] = $26; + $27 = HEAP32[$11>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = ($27|0)==($28|0); + if ($29) { + HEAP32[$5>>2] = 0; + $39 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($39|0); + } + $30 = HEAP32[$11>>2]|0; + $31 = ($30|0)<(0); + if ($31) { + HEAP32[$5>>2] = 266; + $39 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($39|0); } else { - (_sqlite3_busy_handler($4,0,0)|0); - STACKTOP = sp;return 0; + $32 = HEAP32[$10>>2]|0; + _storeLastErrno($32,0); + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$11>>2]|0; + $35 = (($33) + ($34)|0); + $36 = HEAP32[$8>>2]|0; + $37 = HEAP32[$11>>2]|0; + $38 = (($36) - ($37))|0; + _memset(($35|0),0,($38|0))|0; + HEAP32[$5>>2] = 522; + $39 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($39|0); } return (0)|0; } -function _sqlite3_create_function($db,$zFunc,$nArg,$enc,$p,$xSFunc,$xStep,$xFinal) { - $db = $db|0; - $zFunc = $zFunc|0; - $nArg = $nArg|0; - $enc = $enc|0; - $p = $p|0; - $xSFunc = $xSFunc|0; - $xStep = $xStep|0; - $xFinal = $xFinal|0; - var $0 = 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, label = 0, sp = 0; +function _unixWrite($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $6 = sp + 4|0; - $7 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zFunc; - HEAP32[$2>>2] = $nArg; - HEAP32[$3>>2] = $enc; - HEAP32[$4>>2] = $p; - HEAP32[$5>>2] = $xSFunc; - HEAP32[$6>>2] = $xStep; - HEAP32[$7>>2] = $xFinal; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$4>>2]|0; - $13 = HEAP32[$5>>2]|0; - $14 = HEAP32[$6>>2]|0; - $15 = HEAP32[$7>>2]|0; - $16 = (_sqlite3_create_function_v2($8,$9,$10,$11,$12,$13,$14,$15,0)|0); - STACKTOP = sp;return ($16|0); -} -function _sqlite3_create_function_v2($db,$zFunc,$nArg,$enc,$p,$xSFunc,$xStep,$xFinal,$xDestroy) { - $db = $db|0; - $zFunc = $zFunc|0; - $nArg = $nArg|0; - $enc = $enc|0; - $p = $p|0; - $xSFunc = $xSFunc|0; - $xStep = $xStep|0; - $xFinal = $xFinal|0; - $xDestroy = $xDestroy|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pArg = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $5 = sp + 20|0; - $6 = sp + 16|0; - $7 = sp + 12|0; - $8 = sp + 8|0; - $rc = sp + 4|0; - $pArg = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zFunc; - HEAP32[$2>>2] = $nArg; - HEAP32[$3>>2] = $enc; - HEAP32[$4>>2] = $p; - HEAP32[$5>>2] = $xSFunc; - HEAP32[$6>>2] = $xStep; - HEAP32[$7>>2] = $xFinal; - HEAP32[$8>>2] = $xDestroy; - HEAP32[$rc>>2] = 1; - HEAP32[$pArg>>2] = 0; - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - do { - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3DbMallocZero($11,12,0)|0); - HEAP32[$pArg>>2] = $12; - $13 = HEAP32[$pArg>>2]|0; - $14 = ($13|0)!=(0|0); - $15 = HEAP32[$8>>2]|0; - if ($14) { - $17 = HEAP32[$pArg>>2]|0; - $18 = ((($17)) + 4|0); - HEAP32[$18>>2] = $15; - $19 = HEAP32[$4>>2]|0; - $20 = HEAP32[$pArg>>2]|0; - $21 = ((($20)) + 8|0); - HEAP32[$21>>2] = $19; - label = 5; - break; - } else { - $16 = HEAP32[$4>>2]|0; - FUNCTION_TABLE_vi[$15 & 255]($16); - break; - } - } else { - label = 5; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp; + $10 = sp + 12|0; + $11 = sp + 8|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + $12 = $9; + $13 = $12; + HEAP32[$13>>2] = $3; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $4; + $16 = HEAP32[$6>>2]|0; + HEAP32[$10>>2] = $16; + HEAP32[$11>>2] = 0; + while(1) { + $17 = HEAP32[$10>>2]|0; + $18 = $9; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = (_seekAndWrite($17,$20,$23,$24,$25)|0); + HEAP32[$11>>2] = $26; + $27 = HEAP32[$8>>2]|0; + $28 = ($26|0)<($27|0); + $29 = HEAP32[$11>>2]|0; + $30 = ($29|0)>(0); + $31 = $28 ? $30 : 0; + if (!($31)) { + break; } - } while(0); - if ((label|0) == 5) { - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$3>>2]|0; - $26 = HEAP32[$4>>2]|0; - $27 = HEAP32[$5>>2]|0; - $28 = HEAP32[$6>>2]|0; - $29 = HEAP32[$7>>2]|0; - $30 = HEAP32[$pArg>>2]|0; - $31 = (_sqlite3CreateFunc($22,$23,$24,$25,$26,$27,$28,$29,$30)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$pArg>>2]|0; - $33 = ($32|0)!=(0|0); - if ($33) { - $34 = HEAP32[$pArg>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[$8>>2]|0; - $38 = HEAP32[$4>>2]|0; - FUNCTION_TABLE_vi[$37 & 255]($38); - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$pArg>>2]|0; - _sqlite3DbFree($39,$40); - } + $32 = HEAP32[$11>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = (($33) - ($32))|0; + HEAP32[$8>>2] = $34; + $35 = HEAP32[$11>>2]|0; + $36 = ($35|0)<(0); + $37 = $36 << 31 >> 31; + $38 = $9; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (_i64Add(($40|0),($43|0),($35|0),($37|0))|0); + $45 = tempRet0; + $46 = $9; + $47 = $46; + HEAP32[$47>>2] = $44; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$7>>2]|0; + $51 = HEAP32[$11>>2]|0; + $52 = (($50) + ($51)|0); + HEAP32[$7>>2] = $52; + } + $53 = HEAP32[$8>>2]|0; + $54 = HEAP32[$11>>2]|0; + $55 = ($53|0)>($54|0); + if (!($55)) { + HEAP32[$5>>2] = 0; + $63 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($63|0); + } + $56 = HEAP32[$11>>2]|0; + $57 = ($56|0)<(0); + if ($57) { + $58 = HEAP32[$10>>2]|0; + $59 = ((($58)) + 20|0); + $60 = HEAP32[$59>>2]|0; + $61 = ($60|0)!=(28); + if ($61) { + HEAP32[$5>>2] = 778; + $63 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($63|0); } } - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$rc>>2]|0; - $43 = (_sqlite3ApiExit($41,$42)|0); - HEAP32[$rc>>2] = $43; - $44 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($44|0); -} -function _sqlite3_overload_function($db,$zName,$nArg) { - $db = $db|0; - $zName = $zName|0; - $nArg = $nArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zName; - HEAP32[$2>>2] = $nArg; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3FindFunction($3,$4,$5,1,0)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (_sqlite3CreateFunc($8,$9,$10,1,0,224,0,0,0)|0); - HEAP32[$rc>>2] = $11; - } - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$rc>>2]|0; - $14 = (_sqlite3ApiExit($12,$13)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($15|0); + $62 = HEAP32[$10>>2]|0; + _storeLastErrno($62,0); + HEAP32[$5>>2] = 13; + $63 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($63|0); } -function _sqlite3_wal_autocheckpoint($db,$nFrame) { - $db = $db|0; - $nFrame = $nFrame|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _unixTruncate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $nFrame; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - $4 = HEAP32[$0>>2]|0; - if ($3) { - $5 = HEAP32[$1>>2]|0; - $6 = $5; - (_sqlite3_wal_hook($4,139,$6)|0); - STACKTOP = sp;return 0; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp; + $6 = sp + 12|0; + $7 = sp + 8|0; + HEAP32[$4>>2] = $0; + $8 = $5; + $9 = $8; + HEAP32[$9>>2] = $1; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $2; + $12 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = ((($13)) + 40|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = $5; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (($17) + 4)|0; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 40|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)<(0); + $27 = $26 << 31 >> 31; + $28 = (_i64Add(($19|0),($22|0),($25|0),($27|0))|0); + $29 = tempRet0; + $30 = (_i64Subtract(($28|0),($29|0),1,0)|0); + $31 = tempRet0; + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 40|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<(0); + $36 = $35 << 31 >> 31; + $37 = (___divdi3(($30|0),($31|0),($34|0),($36|0))|0); + $38 = tempRet0; + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 40|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)<(0); + $43 = $42 << 31 >> 31; + $44 = (___muldi3(($37|0),($38|0),($41|0),($43|0))|0); + $45 = tempRet0; + $46 = $5; + $47 = $46; + HEAP32[$47>>2] = $44; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + } + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = $5; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (_robust_ftruncate($52,$55,$58)|0); + HEAP32[$7>>2] = $59; + $60 = HEAP32[$7>>2]|0; + $61 = ($60|0)!=(0); + if ($61) { + $62 = HEAP32[$6>>2]|0; + $63 = (___errno_location()|0); + $64 = HEAP32[$63>>2]|0; + _storeLastErrno($62,$64); + $65 = HEAP32[$6>>2]|0; + $66 = ((($65)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = (_unixLogErrorAtLine(1546,21072,$67,32998)|0); + HEAP32[$3>>2] = $68; + $69 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($69|0); } else { - (_sqlite3_wal_hook($4,0,0)|0); - STACKTOP = sp;return 0; + HEAP32[$3>>2] = 0; + $69 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($69|0); } return (0)|0; } -function _sqlite3_wal_hook($db,$xCallback,$pArg) { - $db = $db|0; - $xCallback = $xCallback|0; - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRet = 0, label = 0, sp = 0; +function _unixSync($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pRet = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $xCallback; - HEAP32[$2>>2] = $pArg; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 228|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pRet>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 224|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 228|0); - HEAP32[$11>>2] = $9; - $12 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($12|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $10 = HEAP32[$3>>2]|0; + HEAP32[$6>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = $11 & 16; + HEAP32[$7>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = $13 & 15; + $15 = ($14|0)==(3); + $16 = $15&1; + HEAP32[$8>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$8>>2]|0; + $21 = HEAP32[$7>>2]|0; + $22 = (_full_fsync($19,$20,$21)|0); + HEAP32[$5>>2] = $22; + $23 = HEAP32[$5>>2]|0; + $24 = ($23|0)!=(0); + $25 = HEAP32[$6>>2]|0; + if ($24) { + $26 = (___errno_location()|0); + $27 = HEAP32[$26>>2]|0; + _storeLastErrno($25,$27); + $28 = HEAP32[$6>>2]|0; + $29 = ((($28)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_unixLogErrorAtLine(1034,21374,$30,32953)|0); + HEAP32[$2>>2] = $31; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); + } + $32 = ((($25)) + 18|0); + $33 = HEAP16[$32>>1]|0; + $34 = $33&65535; + $35 = $34 & 8; + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[(1624)>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 32|0); + $40 = HEAP32[$39>>2]|0; + $41 = (FUNCTION_TABLE_iii[$37 & 255]($40,$9)|0); + HEAP32[$5>>2] = $41; + $42 = HEAP32[$5>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + $44 = HEAP32[$9>>2]|0; + (_full_fsync($44,0,0)|0); + $45 = HEAP32[$6>>2]|0; + $46 = HEAP32[$9>>2]|0; + _robust_close($45,$46,32967); + } else { + HEAP32[$5>>2] = 0; + } + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + 18|0); + $49 = HEAP16[$48>>1]|0; + $50 = $49&65535; + $51 = $50 & -9; + $52 = $51&65535; + HEAP16[$48>>1] = $52; + } + $53 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $53; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); } -function _sqlite3_wal_checkpoint_v2($db,$zDb,$eMode,$pnLog,$pnCkpt) { - $db = $db|0; - $zDb = $zDb|0; - $eMode = $eMode|0; - $pnLog = $pnLog|0; - $pnCkpt = $pnCkpt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iDb = 0, $or$cond = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _unixFileSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; + STACKTOP = STACKTOP + 96|0; + $2 = sp + 88|0; + $3 = sp + 84|0; + $4 = sp + 80|0; + $5 = sp + 76|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[(1480)>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (FUNCTION_TABLE_iii[$7 & 255]($10,$6)|0); + HEAP32[$5>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$3>>2]|0; + $15 = (___errno_location()|0); + $16 = HEAP32[$15>>2]|0; + _storeLastErrno($14,$16); + HEAP32[$2>>2] = 1802; + $41 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($41|0); + } + $17 = ((($6)) + 36|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)<(0); + $20 = $19 << 31 >> 31; + $21 = HEAP32[$4>>2]|0; + $22 = $21; + $23 = $22; + HEAP32[$23>>2] = $18; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = HEAP32[$4>>2]|0; + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = ($29|0)==(1); + $34 = ($32|0)==(0); + $35 = $33 & $34; + if ($35) { + $36 = HEAP32[$4>>2]|0; + $37 = $36; + $38 = $37; + HEAP32[$38>>2] = 0; + $39 = (($37) + 4)|0; + $40 = $39; + HEAP32[$40>>2] = 0; + } + HEAP32[$2>>2] = 0; + $41 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($41|0); +} +function _dotlockLock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; $2 = sp + 24|0; $3 = sp + 20|0; $4 = sp + 16|0; $5 = sp + 12|0; - $rc = sp + 8|0; - $iDb = sp + 4|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zDb; - HEAP32[$3>>2] = $eMode; - HEAP32[$4>>2] = $pnLog; - HEAP32[$5>>2] = $pnCkpt; - HEAP32[$iDb>>2] = 10; - $6 = HEAP32[$4>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$4>>2]|0; - HEAP32[$8>>2] = -1; - } - $9 = HEAP32[$5>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$5>>2]|0; - HEAP32[$11>>2] = -1; - } - $12 = HEAP32[$3>>2]|0; - $13 = ($12|0)<(0); - $14 = HEAP32[$3>>2]|0; - $15 = ($14|0)>(3); - $or$cond = $13 | $15; - if ($or$cond) { - HEAP32[$0>>2] = 21; - $44 = HEAP32[$0>>2]|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $9; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $12; + HEAP32[$7>>2] = 0; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)>(0); + if ($17) { + $18 = HEAP32[$4>>2]|0; + $19 = $18&255; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 16|0); + HEAP8[$21>>0] = $19; + $22 = HEAP32[$6>>2]|0; + (_utimes(($22|0),(0|0))|0); + HEAP32[$2>>2] = 0; + $44 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($44|0); } - $16 = HEAP32[$2>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$2>>2]|0; - $19 = HEAP8[$18>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (_sqlite3FindDbName($22,$23)|0); - HEAP32[$iDb>>2] = $24; - } + $23 = HEAP32[(1636)>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = (FUNCTION_TABLE_iii[$23 & 255]($24,511)|0); + HEAP32[$7>>2] = $25; + $26 = HEAP32[$7>>2]|0; + $27 = ($26|0)<(0); + if (!($27)) { + $39 = HEAP32[$4>>2]|0; + $40 = $39&255; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 16|0); + HEAP8[$42>>0] = $40; + $43 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $43; + $44 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($44|0); } - $25 = HEAP32[$iDb>>2]|0; - $26 = ($25|0)<(0); - if ($26) { - HEAP32[$rc>>2] = 1; - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorWithMsg($27,1,18738,$vararg_buffer); + $28 = (___errno_location()|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$8>>2] = $29; + $30 = HEAP32[$8>>2]|0; + $31 = (17)==($30|0); + if ($31) { + HEAP32[$7>>2] = 5; } else { - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 380|0); - $31 = ((($30)) + 8|0); - HEAP32[$31>>2] = 0; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$iDb>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = HEAP32[$4>>2]|0; - $36 = HEAP32[$5>>2]|0; - $37 = (_sqlite3Checkpoint($32,$33,$34,$35,$36)|0); - HEAP32[$rc>>2] = $37; - $38 = HEAP32[$1>>2]|0; - $39 = HEAP32[$rc>>2]|0; - _sqlite3Error($38,$39); + $32 = HEAP32[$8>>2]|0; + $33 = (_sqliteErrorFromPosixError($32,3850)|0); + HEAP32[$7>>2] = $33; + $34 = HEAP32[$7>>2]|0; + $35 = ($34|0)!=(5); + if ($35) { + $36 = HEAP32[$5>>2]|0; + $37 = HEAP32[$8>>2]|0; + _storeLastErrno($36,$37); + } } - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$rc>>2]|0; - $42 = (_sqlite3ApiExit($40,$41)|0); - HEAP32[$rc>>2] = $42; - $43 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $43; - $44 = HEAP32[$0>>2]|0; + $38 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $38; + $44 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($44|0); } -function _sqlite3_wal_checkpoint($db,$zDb) { - $db = $db|0; - $zDb = $zDb|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zDb; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3_wal_checkpoint_v2($2,$3,0,0,0)|0); - STACKTOP = sp;return ($4|0); -} -function _sqlite3_errcode($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $db; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3SafetyCheckSickOrOk($4)|0); - $6 = ($5|0)!=(0); - if (!($6)) { - $7 = (_sqlite3MisuseError(140115)|0); - HEAP32[$0>>2] = $7; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); - } - } - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)!=(0|0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 69|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(0); - if (!($14)) { - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 52|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 56|0); - $20 = HEAP32[$19>>2]|0; - $21 = $17 & $20; - HEAP32[$0>>2] = $21; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); - } - } - HEAP32[$0>>2] = 7; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); -} -function _sqlite3_limit($db,$limitId,$newLimit) { - $db = $db|0; - $limitId = $limitId|0; - $newLimit = $newLimit|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $oldLimit = 0, $or$cond = 0, label = 0, sp = 0; +function _dotlockUnlock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $oldLimit = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $limitId; - HEAP32[$3>>2] = $newLimit; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)<(0); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)>=(12); - $or$cond = $5 | $7; - if ($or$cond) { - HEAP32[$0>>2] = -1; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); - } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 96|0); - $11 = (($10) + ($8<<2)|0); + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $9; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 24|0); $12 = HEAP32[$11>>2]|0; - HEAP32[$oldLimit>>2] = $12; - $13 = HEAP32[$3>>2]|0; - $14 = ($13|0)>=(0); - if ($14) { - $15 = HEAP32[$3>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = (1580 + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)>($18|0); - if ($19) { - $20 = HEAP32[$2>>2]|0; - $21 = (1580 + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$3>>2] = $22; - } - $23 = HEAP32[$3>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 96|0); - $27 = (($26) + ($24<<2)|0); - HEAP32[$27>>2] = $23; - } - $28 = HEAP32[$oldLimit>>2]|0; - HEAP32[$0>>2] = $28; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); -} -function _sqlite3_open($zFilename,$ppDb) { - $zFilename = $zFilename|0; - $ppDb = $ppDb|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $zFilename; - HEAP32[$1>>2] = $ppDb; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_openDatabase($2,$3,6,0)|0); - STACKTOP = sp;return ($4|0); -} -function _sqlite3_file_control($db,$zDbName,$op,$pArg) { - $db = $db|0; - $zDbName = $zDbName|0; - $op = $op|0; - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $fd = 0, $pBtree = 0, $pPager = 0, $rc = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $rc = sp + 12|0; - $pBtree = sp + 8|0; - $pPager = sp + 4|0; - $fd = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zDbName; - HEAP32[$2>>2] = $op; - HEAP32[$3>>2] = $pArg; - HEAP32[$rc>>2] = 1; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3DbNameToBtree($4,$5)|0); - HEAP32[$pBtree>>2] = $6; - $7 = HEAP32[$pBtree>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); - } - $9 = HEAP32[$pBtree>>2]|0; - _sqlite3BtreeEnter($9); - $10 = HEAP32[$pBtree>>2]|0; - $11 = (_sqlite3BtreePager($10)|0); - HEAP32[$pPager>>2] = $11; - $12 = HEAP32[$pPager>>2]|0; - $13 = (_sqlite3PagerFile($12)|0); - HEAP32[$fd>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = ($14|0)==(7); - if ($15) { - $16 = HEAP32[$fd>>2]|0; - $17 = HEAP32[$3>>2]|0; - HEAP32[$17>>2] = $16; - HEAP32[$rc>>2] = 0; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = HEAP32[$4>>2]|0; + $18 = ($16|0)==($17|0); + if ($18) { + HEAP32[$2>>2] = 0; + $37 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($37|0); } - $18 = HEAP32[$2>>2]|0; - $19 = ($18|0)==(27); - if ($19) { - $20 = HEAP32[$pPager>>2]|0; - $21 = (_sqlite3PagerVfs($20)|0); - $22 = HEAP32[$3>>2]|0; - HEAP32[$22>>2] = $21; - HEAP32[$rc>>2] = 0; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)==(1); + if ($20) { + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 16|0); + HEAP8[$22>>0] = 1; + HEAP32[$2>>2] = 0; + $37 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($37|0); } - $23 = HEAP32[$2>>2]|0; - $24 = ($23|0)==(28); - if ($24) { - $25 = HEAP32[$pPager>>2]|0; - $26 = (_sqlite3PagerJrnlFile($25)|0); - $27 = HEAP32[$3>>2]|0; - HEAP32[$27>>2] = $26; - HEAP32[$rc>>2] = 0; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + $23 = HEAP32[(1648)>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = (FUNCTION_TABLE_ii[$23 & 255]($24)|0); + HEAP32[$7>>2] = $25; + $26 = HEAP32[$7>>2]|0; + $27 = ($26|0)<(0); + if (!($27)) { + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 16|0); + HEAP8[$36>>0] = 0; + HEAP32[$2>>2] = 0; + $37 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($37|0); } - $28 = HEAP32[$fd>>2]|0; + $28 = (___errno_location()|0); $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)!=(0|0); - if ($30) { - $31 = HEAP32[$fd>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = HEAP32[$3>>2]|0; - $34 = (_sqlite3OsFileControl($31,$32,$33)|0); - HEAP32[$rc>>2] = $34; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + HEAP32[$8>>2] = $29; + $30 = HEAP32[$8>>2]|0; + $31 = ($30|0)==(2); + if ($31) { + HEAP32[$7>>2] = 0; } else { - HEAP32[$rc>>2] = 12; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + HEAP32[$7>>2] = 2058; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$8>>2]|0; + _storeLastErrno($32,$33); } - return (0)|0; + $34 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $34; + $37 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($37|0); } -function _sqlite3_uri_parameter($zFilename,$zParam) { - $zFilename = $zFilename|0; - $zParam = $zParam|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $x = 0, label = 0, sp = 0; +function _dotlockCheckReservedLock($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, $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 + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $x = sp; - HEAP32[$1>>2] = $zFilename; - HEAP32[$2>>2] = $zParam; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - $5 = HEAP32[$2>>2]|0; - $6 = ($5|0)==(0|0); - $or$cond = $4 | $6; - if ($or$cond) { - HEAP32[$0>>2] = 0; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); - } - $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3Strlen30($7)|0); - $9 = (($8) + 1)|0; - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + ($9)|0); - HEAP32[$1>>2] = $11; - while(1) { - $12 = HEAP32[$1>>2]|0; - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)!=(0); - if (!($14)) { - label = 8; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $7 = HEAP32[$2>>2]|0; + HEAP32[$6>>2] = $7; + $8 = HEAP32[(1444)>>2]|0; + $9 = HEAP32[$6>>2]|0; + $10 = ((($9)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = (FUNCTION_TABLE_iii[$8 & 255]($11,0)|0); + $13 = ($12|0)==(0); + $14 = $13&1; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$3>>2]|0; + HEAP32[$16>>2] = $15; + $17 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _unixFileControl($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $10 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $10; + $11 = HEAP32[$5>>2]|0; + do { + switch ($11|0) { + case 1: { + $12 = HEAP32[$7>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = HEAP32[$6>>2]|0; + HEAP32[$16>>2] = $15; + HEAP32[$3>>2] = 0; break; } - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = (_strcmp($15,$16)|0); - HEAP32[$x>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = (_sqlite3Strlen30($18)|0); - $20 = (($19) + 1)|0; - $21 = HEAP32[$1>>2]|0; - $22 = (($21) + ($20)|0); - HEAP32[$1>>2] = $22; - $23 = HEAP32[$x>>2]|0; - $24 = ($23|0)==(0); - $25 = HEAP32[$1>>2]|0; - if ($24) { - label = 6; + case 4: { + $17 = HEAP32[$7>>2]|0; + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$6>>2]|0; + HEAP32[$20>>2] = $19; + HEAP32[$3>>2] = 0; break; } - $26 = (_sqlite3Strlen30($25)|0); - $27 = (($26) + 1)|0; - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + ($27)|0); - HEAP32[$1>>2] = $29; - } - if ((label|0) == 6) { - HEAP32[$0>>2] = $25; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); - } - else if ((label|0) == 8) { - HEAP32[$0>>2] = 0; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); - } - return (0)|0; + case 6: { + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 40|0); + HEAP32[$24>>2] = $22; + HEAP32[$3>>2] = 0; + break; + } + case 5: { + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (_fcntlSizeHint($25,$29,$32)|0); + HEAP32[$8>>2] = $33; + $34 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $34; + break; + } + case 10: { + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$6>>2]|0; + _unixModeBit($35,4,$36); + HEAP32[$3>>2] = 0; + break; + } + case 13: { + $37 = HEAP32[$7>>2]|0; + $38 = HEAP32[$6>>2]|0; + _unixModeBit($37,16,$38); + HEAP32[$3>>2] = 0; + break; + } + case 12: { + $39 = HEAP32[$7>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$vararg_buffer>>2] = $43; + $44 = (_sqlite3_mprintf(21240,$vararg_buffer)|0); + $45 = HEAP32[$6>>2]|0; + HEAP32[$45>>2] = $44; + HEAP32[$3>>2] = 0; + break; + } + case 16: { + $46 = HEAP32[$7>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)<(0); + $52 = $51 << 31 >> 31; + $53 = (_sqlite3_malloc64($50,$52)|0); + HEAP32[$9>>2] = $53; + $54 = HEAP32[$9>>2]|0; + $55 = ($54|0)!=(0|0); + if ($55) { + $56 = HEAP32[$7>>2]|0; + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + $59 = ((($58)) + 8|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$9>>2]|0; + (_unixGetTempname($60,$61)|0); + $62 = HEAP32[$9>>2]|0; + $63 = HEAP32[$6>>2]|0; + HEAP32[$63>>2] = $62; + } + HEAP32[$3>>2] = 0; + break; + } + case 20: { + $64 = HEAP32[$7>>2]|0; + $65 = (_fileHasMoved($64)|0); + $66 = HEAP32[$6>>2]|0; + HEAP32[$66>>2] = $65; + HEAP32[$3>>2] = 0; + break; + } + default: { + HEAP32[$3>>2] = 12; + } + } + } while(0); + $67 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($67|0); } -function _sqlite3_uri_boolean($zFilename,$zParam,$bDflt) { - $zFilename = $zFilename|0; - $zParam = $zParam|0; - $bDflt = $bDflt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z = 0, label = 0; - var sp = 0; +function _unixSectorSize($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + STACKTOP = sp;return 4096; +} +function _unixDeviceCharacteristics($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $zFilename; - HEAP32[$1>>2] = $zParam; - HEAP32[$2>>2] = $bDflt; - $3 = HEAP32[$0>>2]|0; + $3 = sp; + HEAP32[$1>>2] = $0; $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3_uri_parameter($3,$4)|0); - HEAP32[$z>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)!=(0); - $8 = $7&1; - HEAP32[$2>>2] = $8; - $9 = HEAP32[$z>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$z>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = $12&255; - $14 = (_sqlite3GetBoolean($11,$13)|0); - $15 = $14&255; - $17 = $15; - STACKTOP = sp;return ($17|0); - } else { - $16 = HEAP32[$2>>2]|0; - $17 = $16; - STACKTOP = sp;return ($17|0); + HEAP32[$2>>2] = $4; + HEAP32[$3>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 18|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + $9 = $8 & 16; + $10 = ($9|0)!=(0); + if (!($10)) { + $13 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($13|0); } - return (0)|0; + $11 = HEAP32[$3>>2]|0; + $12 = $11 | 4096; + HEAP32[$3>>2] = $12; + $13 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($13|0); } -function _sqlite3Strlen30($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _unixShmLock($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + $13 = sp + 40|0; + $14 = sp + 38|0; + $15 = sp + 36|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $16 = HEAP32[$4>>2]|0; + HEAP32[$8>>2] = $16; + $17 = HEAP32[$8>>2]|0; + $18 = ((($17)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$9>>2] = $19; + $20 = HEAP32[$9>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$11>>2] = $21; + HEAP32[$12>>2] = 0; + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = (($22) + ($23))|0; + $25 = 1 << $24; + $26 = HEAP32[$5>>2]|0; + $27 = 1 << $26; + $28 = (($25) - ($27))|0; + $29 = $28&65535; + HEAP16[$13>>1] = $29; + $30 = HEAP32[$11>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + _sqlite3_mutex_enter($32); + $33 = HEAP32[$7>>2]|0; + $34 = $33 & 1; + $35 = ($34|0)!=(0); + do { + if ($35) { + HEAP16[$14>>1] = 0; + $36 = HEAP32[$11>>2]|0; + $37 = ((($36)) + 32|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$10>>2] = $38; + while(1) { + $39 = HEAP32[$10>>2]|0; + $40 = ($39|0)!=(0|0); + if (!($40)) { + break; + } + $41 = HEAP32[$10>>2]|0; + $42 = HEAP32[$9>>2]|0; + $43 = ($41|0)==($42|0); + if (!($43)) { + $44 = HEAP32[$10>>2]|0; + $45 = ((($44)) + 10|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = HEAP16[$14>>1]|0; + $49 = $48&65535; + $50 = $49 | $47; + $51 = $50&65535; + HEAP16[$14>>1] = $51; + } + $52 = HEAP32[$10>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + HEAP32[$10>>2] = $54; + } + $55 = HEAP16[$13>>1]|0; + $56 = $55&65535; + $57 = HEAP16[$14>>1]|0; + $58 = $57&65535; + $59 = $56 & $58; + $60 = ($59|0)==(0); + if ($60) { + $61 = HEAP32[$8>>2]|0; + $62 = HEAP32[$5>>2]|0; + $63 = (($62) + 120)|0; + $64 = HEAP32[$6>>2]|0; + $65 = (_unixShmSystemLock($61,2,$63,$64)|0); + HEAP32[$12>>2] = $65; + } else { + HEAP32[$12>>2] = 0; + } + $66 = HEAP32[$12>>2]|0; + $67 = ($66|0)==(0); + if ($67) { + $68 = HEAP16[$13>>1]|0; + $69 = $68&65535; + $70 = $69 ^ -1; + $71 = HEAP32[$9>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP16[$72>>1]|0; + $74 = $73&65535; + $75 = $74 & $70; + $76 = $75&65535; + HEAP16[$72>>1] = $76; + $77 = HEAP16[$13>>1]|0; + $78 = $77&65535; + $79 = $78 ^ -1; + $80 = HEAP32[$9>>2]|0; + $81 = ((($80)) + 10|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 & $79; + $85 = $84&65535; + HEAP16[$81>>1] = $85; + } + } else { + $86 = HEAP32[$7>>2]|0; + $87 = $86 & 4; + $88 = ($87|0)!=(0); + if (!($88)) { + $136 = HEAP32[$11>>2]|0; + $137 = ((($136)) + 32|0); + $138 = HEAP32[$137>>2]|0; + HEAP32[$10>>2] = $138; + while(1) { + $139 = HEAP32[$10>>2]|0; + $140 = ($139|0)!=(0|0); + if (!($140)) { + break; + } + $141 = HEAP32[$10>>2]|0; + $142 = ((($141)) + 12|0); + $143 = HEAP16[$142>>1]|0; + $144 = $143&65535; + $145 = HEAP16[$13>>1]|0; + $146 = $145&65535; + $147 = $144 & $146; + $148 = ($147|0)!=(0); + if ($148) { + label = 28; + break; + } + $149 = HEAP32[$10>>2]|0; + $150 = ((($149)) + 10|0); + $151 = HEAP16[$150>>1]|0; + $152 = $151&65535; + $153 = HEAP16[$13>>1]|0; + $154 = $153&65535; + $155 = $152 & $154; + $156 = ($155|0)!=(0); + if ($156) { + label = 28; + break; + } + $157 = HEAP32[$10>>2]|0; + $158 = ((($157)) + 4|0); + $159 = HEAP32[$158>>2]|0; + HEAP32[$10>>2] = $159; + } + if ((label|0) == 28) { + HEAP32[$12>>2] = 5; + } + $160 = HEAP32[$12>>2]|0; + $161 = ($160|0)==(0); + if (!($161)) { + break; + } + $162 = HEAP32[$8>>2]|0; + $163 = HEAP32[$5>>2]|0; + $164 = (($163) + 120)|0; + $165 = HEAP32[$6>>2]|0; + $166 = (_unixShmSystemLock($162,1,$164,$165)|0); + HEAP32[$12>>2] = $166; + $167 = HEAP32[$12>>2]|0; + $168 = ($167|0)==(0); + if (!($168)) { + break; + } + $169 = HEAP16[$13>>1]|0; + $170 = $169&65535; + $171 = HEAP32[$9>>2]|0; + $172 = ((($171)) + 12|0); + $173 = HEAP16[$172>>1]|0; + $174 = $173&65535; + $175 = $174 | $170; + $176 = $175&65535; + HEAP16[$172>>1] = $176; + break; + } + HEAP16[$15>>1] = 0; + $89 = HEAP32[$11>>2]|0; + $90 = ((($89)) + 32|0); + $91 = HEAP32[$90>>2]|0; + HEAP32[$10>>2] = $91; + while(1) { + $92 = HEAP32[$10>>2]|0; + $93 = ($92|0)!=(0|0); + if (!($93)) { + break; + } + $94 = HEAP32[$10>>2]|0; + $95 = ((($94)) + 12|0); + $96 = HEAP16[$95>>1]|0; + $97 = $96&65535; + $98 = HEAP16[$13>>1]|0; + $99 = $98&65535; + $100 = $97 & $99; + $101 = ($100|0)!=(0); + if ($101) { + label = 16; + break; + } + $102 = HEAP32[$10>>2]|0; + $103 = ((($102)) + 10|0); + $104 = HEAP16[$103>>1]|0; + $105 = $104&65535; + $106 = HEAP16[$15>>1]|0; + $107 = $106&65535; + $108 = $107 | $105; + $109 = $108&65535; + HEAP16[$15>>1] = $109; + $110 = HEAP32[$10>>2]|0; + $111 = ((($110)) + 4|0); + $112 = HEAP32[$111>>2]|0; + HEAP32[$10>>2] = $112; + } + if ((label|0) == 16) { + HEAP32[$12>>2] = 5; + } + $113 = HEAP32[$12>>2]|0; + $114 = ($113|0)==(0); + do { + if ($114) { + $115 = HEAP16[$15>>1]|0; + $116 = $115&65535; + $117 = HEAP16[$13>>1]|0; + $118 = $117&65535; + $119 = $116 & $118; + $120 = ($119|0)==(0); + if ($120) { + $121 = HEAP32[$8>>2]|0; + $122 = HEAP32[$5>>2]|0; + $123 = (($122) + 120)|0; + $124 = HEAP32[$6>>2]|0; + $125 = (_unixShmSystemLock($121,0,$123,$124)|0); + HEAP32[$12>>2] = $125; + break; + } else { + HEAP32[$12>>2] = 0; + break; + } + } + } while(0); + $126 = HEAP32[$12>>2]|0; + $127 = ($126|0)==(0); + if ($127) { + $128 = HEAP16[$13>>1]|0; + $129 = $128&65535; + $130 = HEAP32[$9>>2]|0; + $131 = ((($130)) + 10|0); + $132 = HEAP16[$131>>1]|0; + $133 = $132&65535; + $134 = $133 | $129; + $135 = $134&65535; + HEAP16[$131>>1] = $135; + } + } + } while(0); + $177 = HEAP32[$11>>2]|0; + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + _sqlite3_mutex_leave($179); + $180 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($180|0); +} +function _unixShmBarrier($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$1>>2] = $z; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - HEAP32[$0>>2] = 0; - } else { - $4 = HEAP32[$1>>2]|0; - $5 = (_strlen($4)|0); - $6 = 1073741823 & $5; - HEAP32[$0>>2] = $6; - } - $7 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($7|0); + HEAP32[$1>>2] = $0; + _sqlite3MemoryBarrier(); + _unixEnterMutex(); + _unixLeaveMutex(); + STACKTOP = sp;return; } -function _sqlite3IsIdChar($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _unixShmUnmap($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP8[$0>>0] = $c; - $1 = HEAP8[$0>>0]|0; - $2 = $1&255; - $3 = (18403 + ($2)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $5 & 70; - $7 = ($6|0)!=(0); - $8 = $7&1; - STACKTOP = sp;return ($8|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$3>>2]|0; + HEAP32[$8>>2] = $9; + $10 = HEAP32[$8>>2]|0; + $11 = ((($10)) + 36|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + HEAP32[$2>>2] = 0; + $58 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($58|0); + } + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3_mutex_enter($19); + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 32|0); + HEAP32[$7>>2] = $21; + while(1) { + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = ($23|0)!=($24|0); + if (!($25)) { + break; + } + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = ((($27)) + 4|0); + HEAP32[$7>>2] = $28; + } + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$7>>2]|0; + HEAP32[$32>>2] = $31; + $33 = HEAP32[$5>>2]|0; + _sqlite3_free($33); + $34 = HEAP32[$8>>2]|0; + $35 = ((($34)) + 36|0); + HEAP32[$35>>2] = 0; + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + _sqlite3_mutex_leave($38); + _unixEnterMutex(); + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 28|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($41) + -1)|0; + HEAP32[$40>>2] = $42; + $43 = HEAP32[$6>>2]|0; + $44 = ((($43)) + 28|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(0); + if ($46) { + $47 = HEAP32[$4>>2]|0; + $48 = ($47|0)!=(0); + if ($48) { + $49 = HEAP32[$6>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)>=(0); + if ($52) { + $53 = HEAP32[(1612)>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ((($54)) + 8|0); + $56 = HEAP32[$55>>2]|0; + (FUNCTION_TABLE_ii[$53 & 255]($56)|0); + } + } + $57 = HEAP32[$8>>2]|0; + _unixShmPurge($57); + } + _unixLeaveMutex(); + HEAP32[$2>>2] = 0; + $58 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($58|0); } -function _sqlite3MisuseError($lineno) { - $lineno = $lineno|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _unixFetch($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $lineno; - $1 = HEAP32[$0>>2]|0; - $2 = (_reportError(21,$1,45606)|0); - STACKTOP = sp;return ($2|0); + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$5>>2] = $0; + $9 = $6; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = $4; + $13 = HEAP32[$8>>2]|0; + HEAP32[$13>>2] = 0; + STACKTOP = sp;return 0; } -function _sqlite3Pcache1Mutex() { - var $0 = 0, label = 0, sp = 0; +function _unixUnfetch($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[(1712)>>2]|0; - return ($0|0); + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp; + $6 = sp + 8|0; + HEAP32[$4>>2] = $0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + HEAP32[$6>>2] = $3; + STACKTOP = sp;return 0; } -function _sqlite3MallocMutex() { +function _unixEnterMutex() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[288>>2]|0; - return ($0|0); + $0 = (_sqlite3MutexAlloc(11)|0); + _sqlite3_mutex_enter($0); + return; } -function _sqlite3BtreeEnterAll($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, label = 0, sp = 0; +function _unixShmPurge($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $i = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - HEAP32[$i>>2] = 0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$2>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + STACKTOP = sp;return; + } + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 28|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + STACKTOP = sp;return; + } + $16 = (_unixShmRegionPerMap()|0); + HEAP32[$3>>2] = $16; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3_mutex_free($19); + HEAP32[$4>>2] = 0; while(1) { - $1 = HEAP32[$i>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1|0)<($4|0); - if (!($5)) { + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23&65535; + $25 = ($20|0)<($24|0); + $26 = HEAP32[$2>>2]|0; + if (!($25)) { break; } - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($6<<4)|0); - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$p>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$p>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($19)) + 4|0); - HEAP32[$20>>2] = $16; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)>=(0); + if ($29) { + $30 = HEAP32[(1696)>>2]|0; + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 24|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = (($33) + ($34<<2)|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 16|0); + $39 = HEAP32[$38>>2]|0; + (FUNCTION_TABLE_iii[$30 & 255]($36,$39)|0); + } else { + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$4>>2]|0; + $44 = (($42) + ($43<<2)|0); + $45 = HEAP32[$44>>2]|0; + _sqlite3_free($45); } - $21 = HEAP32[$i>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$i>>2] = $22; + $46 = HEAP32[$3>>2]|0; + $47 = HEAP32[$4>>2]|0; + $48 = (($47) + ($46))|0; + HEAP32[$4>>2] = $48; + } + $49 = ((($26)) + 24|0); + $50 = HEAP32[$49>>2]|0; + _sqlite3_free($50); + $51 = HEAP32[$2>>2]|0; + $52 = ((($51)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)>=(0); + if ($54) { + $55 = HEAP32[$1>>2]|0; + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP32[$57>>2]|0; + _robust_close($55,$58,33574); + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 12|0); + HEAP32[$60>>2] = -1; } + $61 = HEAP32[$2>>2]|0; + $62 = HEAP32[$61>>2]|0; + $63 = ((($62)) + 20|0); + HEAP32[$63>>2] = 0; + $64 = HEAP32[$2>>2]|0; + _sqlite3_free($64); STACKTOP = sp;return; } -function _sqlite3BtreePager($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _unixLeaveMutex() { + var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - STACKTOP = sp;return ($4|0); + $0 = (_sqlite3MutexAlloc(11)|0); + _sqlite3_mutex_leave($0); + return; } -function _sqlite3DeleteTrigger($db,$pTrigger) { - $db = $db|0; - $pTrigger = $pTrigger|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _unixShmRegionPerMap() { + var $0 = 0, $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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTrigger; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - STACKTOP = sp;return; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = 32768; + $3 = HEAP32[(1720)>>2]|0; + $4 = (FUNCTION_TABLE_i[$3 & 255]()|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ($5|0)<($6|0); + if ($7) { + HEAP32[$0>>2] = 1; + $11 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($11|0); + } else { + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = (($8|0) / ($9|0))&-1; + HEAP32[$0>>2] = $10; + $11 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($11|0); } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 28|0); - $7 = HEAP32[$6>>2]|0; - _sqlite3DeleteTriggerStep($4,$7); - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$9>>2]|0; - _sqlite3DbFree($8,$10); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - _sqlite3DbFree($11,$14); - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3ExprDelete($15,$18); - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$21>>2]|0; - _sqlite3IdListDelete($19,$22); - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$1>>2]|0; - _sqlite3DbFree($23,$24); - STACKTOP = sp;return; + return (0)|0; } -function _sqlite3DeleteTable($db,$pTable) { - $db = $db|0; - $pTable = $pTable|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _robust_close($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, $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 + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTable; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[(1432)>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = (FUNCTION_TABLE_ii[$6 & 255]($7)|0); + $9 = ($8|0)!=(0); + if (!($9)) { STACKTOP = sp;return; } - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 456|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - label = 4; - } + $10 = HEAP32[$3>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $16 = $14; } else { - label = 4; - } - if ((label|0) == 4) { - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 36|0); - $12 = HEAP16[$11>>1]|0; - $13 = (($12) + -1)<<16>>16; - HEAP16[$11>>1] = $13; - $14 = $13&65535; - $15 = ($14|0)>(0); - if ($15) { - STACKTOP = sp;return; - } + $16 = 0; } - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$1>>2]|0; - _deleteTable($16,$17); + $15 = HEAP32[$5>>2]|0; + (_unixLogErrorAtLine(4106,21005,$16,$15)|0); STACKTOP = sp;return; } -function _sqlite3VdbeClearObject($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0, $pNext = 0, $pSub = 0, label = 0; - var sp = 0; +function _unixLogErrorAtLine($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pSub = sp + 8|0; - $pNext = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 100|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 140|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = $8<<1; - _releaseMemArray($4,$9); - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 200|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$pSub>>2] = $12; - while(1) { - $13 = HEAP32[$pSub>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - break; - } - $15 = HEAP32[$pSub>>2]|0; - $16 = ((($15)) + 20|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$pNext>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$pSub>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$pSub>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - _vdbeFreeOpArray($18,$20,$23); - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$pSub>>2]|0; - _sqlite3DbFree($24,$25); - $26 = HEAP32[$pNext>>2]|0; - HEAP32[$pSub>>2] = $26; - } - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 20|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)!=(381479589); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 116|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 16|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36 << 16 >> 16; - _releaseMemArray($33,$37); - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 18|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40 << 16 >> 16; - $42 = (($41) - 1)|0; - HEAP32[$i>>2] = $42; - while(1) { - $43 = HEAP32[$i>>2]|0; - $44 = ($43|0)>=(0); - $45 = HEAP32[$0>>2]|0; - if (!($44)) { - break; - } - $46 = HEAP32[$i>>2]|0; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 120|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($46<<2)|0); - $51 = HEAP32[$50>>2]|0; - _sqlite3DbFree($45,$51); - $52 = HEAP32[$i>>2]|0; - $53 = (($52) + -1)|0; - HEAP32[$i>>2] = $53; - } - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 120|0); - $56 = HEAP32[$55>>2]|0; - _sqlite3DbFree($45,$56); - $57 = HEAP32[$0>>2]|0; - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 180|0); - $60 = HEAP32[$59>>2]|0; - _sqlite3DbFree($57,$60); + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = (___errno_location()|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + HEAP32[$8>>2] = 55752; + $12 = HEAP32[$6>>2]|0; + $13 = ($12|0)==(0|0); + if ($13) { + HEAP32[$6>>2] = 55752; } - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 88|0); - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 136|0); - $67 = HEAP32[$66>>2]|0; - _vdbeFreeOpArray($61,$64,$67); - $68 = HEAP32[$0>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 100|0); - $71 = HEAP32[$70>>2]|0; - _sqlite3DbFree($68,$71); - $72 = HEAP32[$0>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 176|0); - $75 = HEAP32[$74>>2]|0; - _sqlite3DbFree($72,$75); - STACKTOP = sp;return; + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$9>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer>>2] = $15; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $17; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $18; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $19; + _sqlite3_log($14,21011,$vararg_buffer); + $20 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($20|0); } -function _sqlite3DbFree($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBuf = 0, label = 0, sp = 0; +function _posixOpen($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pBuf = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - STACKTOP = sp;return; - } - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 456|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - if ($9) { - _measureAllocationSize($10,$11); - STACKTOP = sp;return; - } - $12 = (_isLookaside($10,$11)|0); - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$1>>2]|0; - HEAP32[$pBuf>>2] = $14; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 256|0); - $17 = ((($16)) + 28|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$pBuf>>2]|0; - HEAP32[$19>>2] = $18; - $20 = HEAP32[$pBuf>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 256|0); - $23 = ((($22)) + 28|0); - HEAP32[$23>>2] = $20; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 256|0); - $26 = ((($25)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + -1)|0; - HEAP32[$26>>2] = $28; - STACKTOP = sp;return; - } - } - $29 = HEAP32[$1>>2]|0; - _sqlite3_free($29); - STACKTOP = sp;return; + $vararg_buffer = sp; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $8; + $9 = (_open($6,$7,$vararg_buffer)|0); + STACKTOP = sp;return ($9|0); } -function _sqlite3MallocInit() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $i = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pSlot = 0, $rc = 0, $sz = 0, label = 0, sp = 0; +function _openDirectory($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$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, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $rc = sp + 16|0; - $i = sp + 12|0; - $n = sp + 8|0; - $sz = sp + 4|0; - $pSlot = sp; - $0 = HEAP32[(48)>>2]|0; - $1 = ($0|0)==(0|0); - if ($1) { - _sqlite3MemSetDefault(); - } - ;HEAP32[288>>2]=0|0;HEAP32[288+4>>2]=0|0;HEAP32[288+8>>2]=0|0;HEAP32[288+12>>2]=0|0;HEAP32[288+16>>2]=0|0;HEAP32[288+20>>2]=0|0;HEAP32[288+24>>2]=0|0;HEAP32[288+28>>2]=0|0; - HEAP32[288>>2] = (8); - $2 = HEAP32[(200)>>2]|0; - $3 = ($2|0)!=(0|0); - $4 = HEAP32[(204)>>2]|0; - $5 = ($4|0)>=(100); - $or$cond = $3 & $5; - $6 = HEAP32[(208)>>2]|0; - $7 = ($6|0)>(0); - $or$cond3 = $or$cond & $7; - if ($or$cond3) { - $8 = HEAP32[(204)>>2]|0; - $9 = $8 & -8; - HEAP32[$sz>>2] = $9; - $10 = HEAP32[$sz>>2]|0; - HEAP32[(204)>>2] = $10; - $11 = HEAP32[(200)>>2]|0; - HEAP32[$pSlot>>2] = $11; - $12 = HEAP32[(208)>>2]|0; - HEAP32[$n>>2] = $12; - $13 = HEAP32[$pSlot>>2]|0; - HEAP32[(308)>>2] = $13; - $14 = HEAP32[$n>>2]|0; - HEAP32[(312)>>2] = $14; - HEAP32[$i>>2] = 0; - while(1) { - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$n>>2]|0; - $17 = (($16) - 1)|0; - $18 = ($15|0)<($17|0); - if (!($18)) { - break; - } - $19 = HEAP32[$sz>>2]|0; - $20 = HEAP32[$pSlot>>2]|0; - $21 = (($20) + ($19)|0); - $22 = HEAP32[$pSlot>>2]|0; - HEAP32[$22>>2] = $21; - $23 = HEAP32[$pSlot>>2]|0; - $24 = HEAP32[$23>>2]|0; - HEAP32[$pSlot>>2] = $24; - $25 = HEAP32[$i>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$i>>2] = $26; + STACKTOP = STACKTOP + 544|0; + $vararg_buffer = sp; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp + 24|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$6>>2] = -1; + $8 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $8; + (_sqlite3_snprintf(512,$7,21240,$vararg_buffer)|0); + $9 = (_strlen($7)|0); + HEAP32[$5>>2] = $9; + while(1) { + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)>(0); + if (!($11)) { + break; } - $27 = HEAP32[$pSlot>>2]|0; - HEAP32[$27>>2] = 0; - $28 = HEAP32[$pSlot>>2]|0; - $29 = ((($28)) + 4|0); - HEAP32[(304)>>2] = $29; - } else { - HEAP32[(304)>>2] = 0; - HEAP32[(200)>>2] = 0; - HEAP32[(204)>>2] = 0; - HEAP32[(208)>>2] = 0; + $12 = HEAP32[$5>>2]|0; + $13 = (($7) + ($12)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 << 24 >> 24; + $16 = ($15|0)!=(47); + if (!($16)) { + break; + } + $17 = HEAP32[$5>>2]|0; + $18 = (($17) + -1)|0; + HEAP32[$5>>2] = $18; } - $30 = HEAP32[(212)>>2]|0; - $31 = ($30|0)==(0|0); - $32 = HEAP32[(216)>>2]|0; - $33 = ($32|0)<(512); - $or$cond5 = $31 | $33; - $34 = HEAP32[(220)>>2]|0; - $35 = ($34|0)<=(0); - $or$cond7 = $or$cond5 | $35; - if ($or$cond7) { - HEAP32[(212)>>2] = 0; - HEAP32[(216)>>2] = 0; + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[$5>>2]|0; + $$sink1 = $21; + } else { + $22 = HEAP8[$7>>0]|0; + $23 = $22 << 24 >> 24; + $24 = ($23|0)!=(47); + if ($24) { + HEAP8[$7>>0] = 46; + $$sink1 = 1; + } else { + $$sink1 = 1; + } } - $36 = HEAP32[(68)>>2]|0; - $37 = HEAP32[(76)>>2]|0; - $38 = (FUNCTION_TABLE_ii[$36 & 255]($37)|0); - HEAP32[$rc>>2] = $38; - $39 = HEAP32[$rc>>2]|0; - $40 = ($39|0)!=(0); - if (!($40)) { - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); + $25 = (($7) + ($$sink1)|0); + HEAP8[$25>>0] = 0; + $26 = (_robust_open($7,0,0)|0); + HEAP32[$6>>2] = $26; + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$4>>2]|0; + HEAP32[$28>>2] = $27; + $29 = HEAP32[$6>>2]|0; + $30 = ($29|0)>=(0); + if ($30) { + HEAP32[$2>>2] = 0; + $33 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($33|0); + } else { + $31 = (_sqlite3CantopenError(32912)|0); + $32 = (_unixLogErrorAtLine($31,21153,$7,32912)|0); + HEAP32[$2>>2] = $32; + $33 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($33|0); } - ;HEAP32[288>>2]=0|0;HEAP32[288+4>>2]=0|0;HEAP32[288+8>>2]=0|0;HEAP32[288+12>>2]=0|0;HEAP32[288+16>>2]=0|0;HEAP32[288+20>>2]=0|0;HEAP32[288+24>>2]=0|0;HEAP32[288+28>>2]=0|0; - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); + return (0)|0; } -function _sqlite3RegisterBuiltinFunctions() { - var label = 0, sp = 0; +function _unixGetpagesize() { + var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - _sqlite3AlterFunctions(); - _sqlite3RegisterDateTimeFunctions(); - _sqlite3InsertBuiltinFuncs(6956,57); - return; + $0 = (_sysconf(30)|0); + return ($0|0); } -function _sqlite3PcacheInitialize() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 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, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[(124)>>2]|0; - $1 = ($0|0)==(0|0); - if ($1) { - _sqlite3PCacheSetDefault(); - } - $2 = HEAP32[(124)>>2]|0; - $3 = HEAP32[(120)>>2]|0; - $4 = (FUNCTION_TABLE_ii[$2 & 255]($3)|0); - return ($4|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$7>>2] = $varargs; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (_sqlite3_vsnprintf($8,$9,$10,$7)|0); + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($12|0); } -function _sqlite3OsInit() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $p = 0, label = 0, sp = 0; +function _robust_open($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer = sp; + $3 = sp + 100|0; + $4 = sp + 96|0; + $5 = sp + 92|0; + $6 = sp + 88|0; + $7 = sp + 84|0; + $8 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)!=(0); + $11 = HEAP32[$5>>2]|0; + $12 = $10 ? $11 : 420; + HEAP32[$7>>2] = $12; + while(1) { + $13 = HEAP32[(1420)>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = $15 | 524288; + $17 = HEAP32[$7>>2]|0; + $18 = (FUNCTION_TABLE_iiii[$13 & 255]($14,$16,$17)|0); + HEAP32[$6>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = ($19|0)<(0); + if ($20) { + $21 = (___errno_location()|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(4); + if ($23) { + continue; + } else { + break; + } + } + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)>=(3); + if ($25) { + break; + } + $26 = HEAP32[(1432)>>2]|0; + $27 = HEAP32[$6>>2]|0; + (FUNCTION_TABLE_ii[$26 & 255]($27)|0); + $28 = HEAP32[$3>>2]|0; + $29 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer>>2] = $28; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $29; + _sqlite3_log(28,21260,$vararg_buffer); + HEAP32[$6>>2] = -1; + $30 = HEAP32[(1420)>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = (FUNCTION_TABLE_iiii[$30 & 255](21303,$31,$32)|0); + $34 = ($33|0)<(0); + if ($34) { + break; + } + } + $35 = HEAP32[$6>>2]|0; + $36 = ($35|0)>=(0); + $37 = HEAP32[$5>>2]|0; + $38 = ($37|0)!=(0); + $or$cond = $36 & $38; + if (!($or$cond)) { + $54 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($54|0); + } + $39 = HEAP32[(1480)>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = (FUNCTION_TABLE_iii[$39 & 255]($40,$8)|0); + $42 = ($41|0)==(0); + if (!($42)) { + $54 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($54|0); + } + $43 = ((($8)) + 36|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + $54 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($54|0); + } + $46 = ((($8)) + 12|0); + $47 = HEAP32[$46>>2]|0; + $48 = $47 & 511; + $49 = HEAP32[$5>>2]|0; + $50 = ($48|0)!=($49|0); + if (!($50)) { + $54 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($54|0); + } + $51 = HEAP32[(1588)>>2]|0; + $52 = HEAP32[$6>>2]|0; + $53 = HEAP32[$5>>2]|0; + (FUNCTION_TABLE_iii[$51 & 255]($52,$53)|0); + $54 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($54|0); +} +function _sqlite3CantopenError($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - $1 = (_sqlite3_malloc(10)|0); - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - HEAP32[$0>>2] = 7; - $6 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($6|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_reportError(14,$2,21243)|0); + STACKTOP = sp;return ($3|0); +} +function _sqlite3_vsnprintf($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 + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)<=(0); + $12 = HEAP32[$6>>2]|0; + if ($11) { + HEAP32[$4>>2] = $12; + $17 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($17|0); } else { - $4 = HEAP32[$p>>2]|0; - _sqlite3_free($4); - $5 = (_sqlite3_os_init()|0); - HEAP32[$0>>2] = $5; - $6 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($6|0); + $13 = HEAP32[$5>>2]|0; + _sqlite3StrAccumInit($9,0,$12,$13,0); + $14 = HEAP32[$7>>2]|0; + $15 = HEAP32[$8>>2]|0; + _sqlite3VXPrintf($9,$14,$15); + $16 = (_sqlite3StrAccumFinish($9)|0); + HEAP32[$4>>2] = $16; + $17 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($17|0); } return (0)|0; } -function _sqlite3PCacheBufferSetup($pBuf,$sz,$n) { - $pBuf = $pBuf|0; - $sz = $sz|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3MemoryBarrier() { + var label = 0, sp = 0; + sp = STACKTOP; + /* fence */; + return; +} +function _unixShmSystemLock($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, $4 = 0, $5 = 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; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$10>>2] = 0; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$8>>2] = $15; + $16 = HEAP32[$8>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)>=(0); + if (!($19)) { + $35 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($35|0); + } + ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0;HEAP32[$9+12>>2]=0|0; + $20 = HEAP32[$5>>2]|0; + $21 = $20&65535; + HEAP16[$9>>1] = $21; + $22 = ((($9)) + 2|0); + HEAP16[$22>>1] = 0; + $23 = HEAP32[$6>>2]|0; + $24 = ((($9)) + 4|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$7>>2]|0; + $26 = ((($9)) + 8|0); + HEAP32[$26>>2] = $25; + $27 = HEAP32[(1504)>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$vararg_buffer>>2] = $9; + $31 = (FUNCTION_TABLE_iiii[$27 & 255]($30,13,$vararg_buffer)|0); + HEAP32[$10>>2] = $31; + $32 = HEAP32[$10>>2]|0; + $33 = ($32|0)!=(-1); + $34 = $33 ? 0 : 5; + HEAP32[$10>>2] = $34; + $35 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($35|0); +} +function _fcntlSizeHint($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $3 = sp + 112|0; + $4 = sp + 108|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp; + HEAP32[$4>>2] = $0; + $11 = $5; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 40|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(0); + L1: do { + if ($18) { + $19 = HEAP32[(1480)>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_iii[$19 & 255]($22,$7)|0); + $24 = ($23|0)!=(0); + if ($24) { + HEAP32[$3>>2] = 1802; + $168 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($168|0); + } + $25 = $5; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)<(0); + $35 = $34 << 31 >> 31; + $36 = (_i64Add(($27|0),($30|0),($33|0),($35|0))|0); + $37 = tempRet0; + $38 = (_i64Subtract(($36|0),($37|0),1,0)|0); + $39 = tempRet0; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 40|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)<(0); + $44 = $43 << 31 >> 31; + $45 = (___divdi3(($38|0),($39|0),($42|0),($44|0))|0); + $46 = tempRet0; + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 40|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)<(0); + $51 = $50 << 31 >> 31; + $52 = (___muldi3(($45|0),($46|0),($49|0),($51|0))|0); + $53 = tempRet0; + $54 = $6; + $55 = $54; + HEAP32[$55>>2] = $52; + $56 = (($54) + 4)|0; + $57 = $56; + HEAP32[$57>>2] = $53; + $58 = $6; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = ((($7)) + 36|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)<(0); + $67 = $66 << 31 >> 31; + $68 = ($63|0)>($67|0); + $69 = ($60>>>0)>($65>>>0); + $70 = ($63|0)==($67|0); + $71 = $70 & $69; + $72 = $68 | $71; + if ($72) { + $73 = ((($7)) + 40|0); + $74 = HEAP32[$73>>2]|0; + HEAP32[$8>>2] = $74; + HEAP32[$9>>2] = 0; + $75 = ((($7)) + 36|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$8>>2]|0; + $78 = (($76|0) / ($77|0))&-1; + $79 = HEAP32[$8>>2]|0; + $80 = Math_imul($78, $79)|0; + $81 = HEAP32[$8>>2]|0; + $82 = (($80) + ($81))|0; + $83 = (($82) - 1)|0; + $84 = ($83|0)<(0); + $85 = $84 << 31 >> 31; + $86 = $10; + $87 = $86; + HEAP32[$87>>2] = $83; + $88 = (($86) + 4)|0; + $89 = $88; + HEAP32[$89>>2] = $85; + while(1) { + $90 = $10; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = (($90) + 4)|0; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = $6; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (($96) + 4)|0; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = HEAP32[$8>>2]|0; + $103 = ($102|0)<(0); + $104 = $103 << 31 >> 31; + $105 = (_i64Add(($98|0),($101|0),($102|0),($104|0))|0); + $106 = tempRet0; + $107 = (_i64Subtract(($105|0),($106|0),1,0)|0); + $108 = tempRet0; + $109 = ($95|0)<($108|0); + $110 = ($92>>>0)<($107>>>0); + $111 = ($95|0)==($108|0); + $112 = $111 & $110; + $113 = $109 | $112; + if (!($113)) { + break L1; + } + $114 = $10; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (($114) + 4)|0; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = $6; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = ($119|0)>($125|0); + $127 = ($116>>>0)>=($122>>>0); + $128 = ($119|0)==($125|0); + $129 = $128 & $127; + $130 = $126 | $129; + if ($130) { + $131 = $6; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (($131) + 4)|0; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = (_i64Subtract(($133|0),($136|0),1,0)|0); + $138 = tempRet0; + $139 = $10; + $140 = $139; + HEAP32[$140>>2] = $137; + $141 = (($139) + 4)|0; + $142 = $141; + HEAP32[$142>>2] = $138; + } + $143 = HEAP32[$4>>2]|0; + $144 = $10; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = (_seekAndWrite($143,$146,$149,55752,1)|0); + HEAP32[$9>>2] = $150; + $151 = HEAP32[$9>>2]|0; + $152 = ($151|0)!=(1); + if ($152) { + break; + } + $153 = HEAP32[$8>>2]|0; + $154 = ($153|0)<(0); + $155 = $154 << 31 >> 31; + $156 = $10; + $157 = $156; + $158 = HEAP32[$157>>2]|0; + $159 = (($156) + 4)|0; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (_i64Add(($158|0),($161|0),($153|0),($155|0))|0); + $163 = tempRet0; + $164 = $10; + $165 = $164; + HEAP32[$165>>2] = $162; + $166 = (($164) + 4)|0; + $167 = $166; + HEAP32[$167>>2] = $163; + } + HEAP32[$3>>2] = 778; + $168 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($168|0); + } + } + } while(0); + HEAP32[$3>>2] = 0; + $168 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($168|0); +} +function _unixModeBit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink1 = 0, $$sink2 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pBuf; - HEAP32[$1>>2] = $sz; - HEAP32[$2>>2] = $n; - $3 = HEAP32[(1680)>>2]|0; - $4 = ($3|0)!=(0); - if (!($4)) { + $3 = sp + 4|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(0); + if ($8) { + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 18|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = HEAP8[$4>>0]|0; + $14 = $13&255; + $15 = $12 & $14; + $16 = ($15|0)!=(0); + $17 = $16&1; + $18 = HEAP32[$5>>2]|0; + HEAP32[$18>>2] = $17; STACKTOP = sp;return; } - $5 = HEAP32[$0>>2]|0; - $6 = ($5|0)==(0|0); + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + $22 = HEAP8[$4>>0]|0; + $23 = $22&255; + if ($21) { + $24 = $23 ^ -1; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 18|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27&65535; + $29 = $28 & $24; + $$sink1 = $26;$$sink2 = $29; + } else { + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 18|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32&65535; + $34 = $33 | $23; + $$sink1 = $31;$$sink2 = $34; + } + $35 = $$sink2&65535; + HEAP16[$$sink1>>1] = $35; + STACKTOP = sp;return; +} +function _sqlite3_mprintf($0,$varargs) { + $0 = $0|0; + $varargs = $varargs|0; + var $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 + 32|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = (_sqlite3_initialize()|0); + $6 = ($5|0)!=(0); if ($6) { - HEAP32[$2>>2] = 0; HEAP32[$1>>2] = 0; + $10 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($10|0); + } else { + HEAP32[$3>>2] = $varargs; + $7 = HEAP32[$2>>2]|0; + $8 = (_sqlite3_vmprintf($7,$3)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $9; + $10 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($10|0); } - $7 = HEAP32[$1>>2]|0; - $8 = $7 & -8; - HEAP32[$1>>2] = $8; - $9 = HEAP32[$1>>2]|0; - HEAP32[(1692)>>2] = $9; - $10 = HEAP32[$2>>2]|0; - HEAP32[(1720)>>2] = $10; - HEAP32[(1696)>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)>(90); - if ($12) { - $16 = 10; + return (0)|0; +} +function _sqlite3_malloc64($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, $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 + 8|0; + $3 = sp; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = (_sqlite3_initialize()|0); + $9 = ($8|0)!=(0); + if ($9) { + HEAP32[$2>>2] = 0; + $17 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($17|0); } else { - $13 = HEAP32[$2>>2]|0; - $14 = (($13|0) / 10)&-1; - $15 = (($14) + 1)|0; - $16 = $15; + $10 = $3; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3Malloc($12,$15)|0); + HEAP32[$2>>2] = $16; + $17 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($17|0); + } + return (0)|0; +} +function _unixGetTempname($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp + 8|0; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$6>>2] = 0; + $8 = HEAP32[$4>>2]|0; + HEAP8[$8>>0] = 0; + $9 = (_unixTempFileDir()|0); + HEAP32[$5>>2] = $9; + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + HEAP32[$2>>2] = 6410; + $43 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($43|0); } - HEAP32[(1700)>>2] = $16; - $17 = HEAP32[$0>>2]|0; - HEAP32[(1704)>>2] = $17; - HEAP32[(1716)>>2] = 0; - HEAP32[(1724)>>2] = 0; while(1) { - $18 = HEAP32[$2>>2]|0; - $19 = (($18) + -1)|0; - HEAP32[$2>>2] = $19; - $20 = ($18|0)!=(0); - $21 = HEAP32[$0>>2]|0; - if (!($20)) { + _sqlite3_randomness(8,$7); + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = (($13) - 2)|0; + $15 = (($12) + ($14)|0); + HEAP8[$15>>0] = 0; + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = $7; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + HEAP32[$vararg_buffer>>2] = $18; + $vararg_ptr1 = ((($vararg_buffer)) + 8|0); + $25 = $vararg_ptr1; + $26 = $25; + HEAP32[$26>>2] = $21; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $24; + $vararg_ptr2 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr2>>2] = 0; + (_sqlite3_snprintf($16,$17,21313,$vararg_buffer)|0); + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = (($30) - 2)|0; + $32 = (($29) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($34|0)!=(0); + if ($35) { + label = 5; + break; + } + $36 = HEAP32[$6>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$6>>2] = $37; + $38 = ($36|0)>(10); + if ($38) { + label = 5; + break; + } + $39 = HEAP32[(1444)>>2]|0; + $40 = HEAP32[$4>>2]|0; + $41 = (FUNCTION_TABLE_iii[$39 & 255]($40,0)|0); + $42 = ($41|0)==(0); + if (!($42)) { + label = 7; break; } - HEAP32[$p>>2] = $21; - $22 = HEAP32[(1716)>>2]|0; - $23 = HEAP32[$p>>2]|0; - HEAP32[$23>>2] = $22; - $24 = HEAP32[$p>>2]|0; - HEAP32[(1716)>>2] = $24; - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = (($26) + ($25)|0); - HEAP32[$0>>2] = $27; } - HEAP32[(1708)>>2] = $21; - STACKTOP = sp;return; + if ((label|0) == 5) { + HEAP32[$2>>2] = 1; + $43 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($43|0); + } + else if ((label|0) == 7) { + HEAP32[$2>>2] = 0; + $43 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($43|0); + } + return (0)|0; } -function _vfsUnlink($pVfs) { - $pVfs = $pVfs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _fileHasMoved($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pVfs; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 80|0; + $1 = sp + 76|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $22 = 0; + $21 = $22&1; + STACKTOP = sp;return ($21|0); } - $3 = HEAP32[1088>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ($3|0)==($4|0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[1088>>2] = $8; - STACKTOP = sp;return; + $7 = HEAP32[(1468)>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 32|0); + $10 = HEAP32[$9>>2]|0; + $11 = (FUNCTION_TABLE_iii[$7 & 255]($10,$2)|0); + $12 = ($11|0)!=(0); + if ($12) { + $22 = 1; + $21 = $22&1; + STACKTOP = sp;return ($21|0); } - $9 = HEAP32[1088>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; + $13 = ((($2)) + 72|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($14|0)!=($19|0); + $22 = $20; + $21 = $22&1; + STACKTOP = sp;return ($21|0); +} +function _unixTempFileDir() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $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; + STACKTOP = STACKTOP + 96|0; + $0 = sp + 84|0; + $1 = sp + 80|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = 0; + $4 = HEAP32[13628]|0; + HEAP32[$3>>2] = $4; + $5 = HEAP32[438]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $7 = (_getenv((21330|0))|0); + HEAP32[438] = $7; + } + $8 = HEAP32[(1756)>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + $10 = (_getenv((21344|0))|0); + HEAP32[(1756)>>2] = $10; } - $11 = HEAP32[1088>>2]|0; - HEAP32[$p>>2] = $11; while(1) { - $12 = HEAP32[$p>>2]|0; - $13 = ((($12)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ($18|0)!=($19|0); - $31 = $20; - } else { - $31 = 0; + $11 = HEAP32[$3>>2]|0; + $12 = ($11|0)!=(0|0); + if ($12) { + $13 = HEAP32[(1468)>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = (FUNCTION_TABLE_iii[$13 & 255]($14,$2)|0); + $16 = ($15|0)==(0); + if ($16) { + $17 = ((($2)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 & 61440; + $20 = ($19|0)==(16384); + if ($20) { + $21 = HEAP32[(1444)>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = (FUNCTION_TABLE_iii[$21 & 255]($22,3)|0); + $24 = ($23|0)==(0); + if ($24) { + label = 9; + break; + } + } + } } - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 12|0); - $23 = HEAP32[$22>>2]|0; - if (!($31)) { + $26 = HEAP32[$1>>2]|0; + $27 = ($26>>>0)>=(6); + if ($27) { + label = 12; break; } - HEAP32[$p>>2] = $23; + $28 = HEAP32[$1>>2]|0; + $29 = (($28) + 1)|0; + HEAP32[$1>>2] = $29; + $30 = (1752 + ($28<<2)|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$3>>2] = $31; } - $24 = HEAP32[$0>>2]|0; - $25 = ($23|0)==($24|0); - if (!($25)) { + if ((label|0) == 9) { + $25 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $25; + $32 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($32|0); + } + else if ((label|0) == 12) { + HEAP32[$0>>2] = 0; + $32 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($32|0); + } + return (0)|0; +} +function _sqlite3_randomness($0,$1) { + $0 = $0|0; + $1 = $1|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, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 280|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + $8 = sp + 24|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $9 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $9; + $10 = (_sqlite3_initialize()|0); + $11 = ($10|0)!=(0); + if ($11) { STACKTOP = sp;return; } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$p>>2]|0; - $30 = ((($29)) + 12|0); - HEAP32[$30>>2] = $28; + $12 = (_sqlite3MutexAlloc(5)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + _sqlite3_mutex_enter($13); + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)<=(0); + $16 = HEAP32[$3>>2]|0; + $17 = ($16|0)==(0|0); + $or$cond = $15 | $17; + if ($or$cond) { + HEAP8[55753] = 0; + $18 = HEAP32[$6>>2]|0; + _sqlite3_mutex_leave($18); + STACKTOP = sp;return; + } + $19 = HEAP8[55753]|0; + $20 = ($19<<24>>24)!=(0); + if (!($20)) { + HEAP8[(55755)>>0] = 0; + HEAP8[(55754)>>0] = 0; + $21 = (_sqlite3_vfs_find(0)|0); + (_sqlite3OsRandomness($21,256,$8)|0); + HEAP32[$7>>2] = 0; + while(1) { + $22 = HEAP32[$7>>2]|0; + $23 = ($22|0)<(256); + if (!($23)) { + break; + } + $24 = HEAP32[$7>>2]|0; + $25 = $24&255; + $26 = HEAP32[$7>>2]|0; + $27 = ((55756) + ($26)|0); + HEAP8[$27>>0] = $25; + $28 = HEAP32[$7>>2]|0; + $29 = (($28) + 1)|0; + HEAP32[$7>>2] = $29; + } + HEAP32[$7>>2] = 0; + while(1) { + $30 = HEAP32[$7>>2]|0; + $31 = ($30|0)<(256); + if (!($31)) { + break; + } + $32 = HEAP32[$7>>2]|0; + $33 = ((55756) + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = HEAP32[$7>>2]|0; + $37 = (($8) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($35) + ($39))|0; + $41 = HEAP8[(55755)>>0]|0; + $42 = $41&255; + $43 = (($42) + ($40))|0; + $44 = $43&255; + HEAP8[(55755)>>0] = $44; + $45 = HEAP8[(55755)>>0]|0; + $46 = $45&255; + $47 = ((55756) + ($46)|0); + $48 = HEAP8[$47>>0]|0; + HEAP8[$4>>0] = $48; + $49 = HEAP32[$7>>2]|0; + $50 = ((55756) + ($49)|0); + $51 = HEAP8[$50>>0]|0; + $52 = HEAP8[(55755)>>0]|0; + $53 = $52&255; + $54 = ((55756) + ($53)|0); + HEAP8[$54>>0] = $51; + $55 = HEAP8[$4>>0]|0; + $56 = HEAP32[$7>>2]|0; + $57 = ((55756) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[$7>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$7>>2] = $59; + } + HEAP8[55753] = 1; + } + while(1) { + $60 = HEAP8[(55754)>>0]|0; + $61 = (($60) + 1)<<24>>24; + HEAP8[(55754)>>0] = $61; + $62 = HEAP8[(55754)>>0]|0; + $63 = $62&255; + $64 = ((55756) + ($63)|0); + $65 = HEAP8[$64>>0]|0; + HEAP8[$4>>0] = $65; + $66 = HEAP8[$4>>0]|0; + $67 = $66&255; + $68 = HEAP8[(55755)>>0]|0; + $69 = $68&255; + $70 = (($69) + ($67))|0; + $71 = $70&255; + HEAP8[(55755)>>0] = $71; + $72 = HEAP8[(55755)>>0]|0; + $73 = $72&255; + $74 = ((55756) + ($73)|0); + $75 = HEAP8[$74>>0]|0; + $76 = HEAP8[(55754)>>0]|0; + $77 = $76&255; + $78 = ((55756) + ($77)|0); + HEAP8[$78>>0] = $75; + $79 = HEAP8[$4>>0]|0; + $80 = HEAP8[(55755)>>0]|0; + $81 = $80&255; + $82 = ((55756) + ($81)|0); + HEAP8[$82>>0] = $79; + $83 = HEAP8[(55754)>>0]|0; + $84 = $83&255; + $85 = ((55756) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = HEAP8[$4>>0]|0; + $89 = $88&255; + $90 = (($89) + ($87))|0; + $91 = $90&255; + HEAP8[$4>>0] = $91; + $92 = HEAP8[$4>>0]|0; + $93 = $92&255; + $94 = ((55756) + ($93)|0); + $95 = HEAP8[$94>>0]|0; + $96 = HEAP32[$5>>2]|0; + $97 = ((($96)) + 1|0); + HEAP32[$5>>2] = $97; + HEAP8[$96>>0] = $95; + $98 = HEAP32[$2>>2]|0; + $99 = (($98) + -1)|0; + HEAP32[$2>>2] = $99; + $100 = ($99|0)!=(0); + if (!($100)) { + break; + } + } + $101 = HEAP32[$6>>2]|0; + _sqlite3_mutex_leave($101); STACKTOP = sp;return; } -function _sqlite3StatusValue($op) { - $op = $op|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3_vfs_find($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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $op; - $1 = HEAP32[$0>>2]|0; - $2 = (1008 + ($1<<2)|0); - $3 = HEAP32[$2>>2]|0; - tempRet0 = (0); - STACKTOP = sp;return ($3|0); + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $6 = (_sqlite3_initialize()|0); + HEAP32[$5>>2] = $6; + $7 = HEAP32[$5>>2]|0; + $8 = ($7|0)!=(0); + if ($8) { + HEAP32[$1>>2] = 0; + $27 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($27|0); + } + $9 = (_sqlite3MutexAlloc(2)|0); + HEAP32[$4>>2] = $9; + $10 = HEAP32[$4>>2]|0; + _sqlite3_mutex_enter($10); + $11 = HEAP32[13697]|0; + HEAP32[$3>>2] = $11; + while(1) { + $12 = HEAP32[$3>>2]|0; + $13 = ($12|0)==(0|0); + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)==(0|0); + $or$cond = $13 | $15; + if ($or$cond) { + break; + } + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_strcmp($16,$19)|0); + $21 = ($20|0)==(0); + if ($21) { + break; + } + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$3>>2] = $24; + } + $25 = HEAP32[$4>>2]|0; + _sqlite3_mutex_leave($25); + $26 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $26; + $27 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($27|0); } -function _sqlite3Malloc($0,$1) { +function _sqlite3OsRandomness($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $or$cond = 0, $p = 0, label = 0, sp = 0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp; - $p = sp + 8|0; - $3 = $2; - $4 = $3; - HEAP32[$4>>2] = $0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = $1; - $7 = $2; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = ($9|0)==(0); - $14 = ($12|0)==(0); - $15 = $13 & $14; - $16 = $2; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 56|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = (FUNCTION_TABLE_iiii[$8 & 255]($9,$10,$11)|0); + STACKTOP = sp;return ($12|0); +} +function _sqlite3_vmprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 44|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = (_sqlite3_initialize()|0); + $9 = ($8|0)!=(0); + if ($9) { + HEAP32[$2>>2] = 0; + $14 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($14|0); + } else { + _sqlite3StrAccumInit($7,0,$6,70,1000000000); + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$4>>2]|0; + _sqlite3VXPrintf($7,$10,$11); + $12 = (_sqlite3StrAccumFinish($7)|0); + HEAP32[$5>>2] = $12; + $13 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $13; + $14 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($14|0); + } + return (0)|0; +} +function _seekAndWrite($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$5>>2] = $0; + $9 = $6; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = $4; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = $6; $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)>=(2147483392); - $24 = ($21|0)==(0); - $25 = $24 & $23; - $26 = $22 | $25; - $or$cond = $15 | $26; - if ($or$cond) { - HEAP32[$p>>2] = 0; - $43 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($43|0); - } - $27 = HEAP32[8>>2]|0; - $28 = ($27|0)!=(0); - if ($28) { - $29 = $2; + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 20|0); + $26 = (_seekAndWriteFd($15,$18,$21,$22,$23,$25)|0); + STACKTOP = sp;return ($26|0); +} +function _seekAndWriteFd($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 32|0; + $7 = sp + 8|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp; + HEAP32[$6>>2] = $0; + $13 = $7; + $14 = $13; + HEAP32[$14>>2] = $1; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = $5; + HEAP32[$11>>2] = 0; + $17 = HEAP32[$9>>2]|0; + $18 = $17 & 131071; + HEAP32[$9>>2] = $18; + while(1) { + $19 = HEAP32[$6>>2]|0; + $20 = $7; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (_lseek($19,$22,0)|0); + $27 = ($26|0)<(0); + $28 = $27 << 31 >> 31; + $29 = $12; $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - (_mallocWithAlarm($31,$p)|0); - $43 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($43|0); - } else { - $35 = HEAP32[(48)>>2]|0; - $36 = $2; + HEAP32[$30>>2] = $26; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $33 = $12; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; $37 = $36; $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (FUNCTION_TABLE_ii[$35 & 255]($38)|0); - HEAP32[$p>>2] = $42; - $43 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($43|0); + $39 = ($38|0)<(0); + if ($39) { + label = 3; + break; + } + $40 = HEAP32[(1552)>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$8>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = (FUNCTION_TABLE_iiii[$40 & 255]($41,$42,$43)|0); + HEAP32[$11>>2] = $44; + $45 = HEAP32[$11>>2]|0; + $46 = ($45|0)<(0); + if (!($46)) { + break; + } + $47 = (___errno_location()|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==(4); + if (!($49)) { + break; + } } - return (0)|0; -} -function _sqlite3MallocSize($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[(60)>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = (FUNCTION_TABLE_ii[$1 & 255]($2)|0); - STACKTOP = sp;return ($3|0); + if ((label|0) == 3) { + HEAP32[$11>>2] = -1; + } + $50 = HEAP32[$11>>2]|0; + $51 = ($50|0)<(0); + if (!($51)) { + $55 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($55|0); + } + $52 = (___errno_location()|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$10>>2]|0; + HEAP32[$54>>2] = $53; + $55 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($55|0); } -function _sqlite3StatusDown($op,$N) { - $op = $op|0; - $N = $N|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _storeLastErrno($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $op; - HEAP32[$1>>2] = $N; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (1008 + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) - ($2))|0; - HEAP32[$4>>2] = $6; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 20|0); + HEAP32[$6>>2] = $4; STACKTOP = sp;return; } -function _sqlite3Realloc($pOld,$0,$1) { - $pOld = $pOld|0; +function _sqliteErrorFromPosixError($0,$1) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0; - var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $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, $nDiff = 0, $nNew = 0, $nOld = 0, $or$cond = 0, $pNew = 0; - var label = 0, sp = 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; $4 = sp; - $nOld = sp + 20|0; - $nNew = sp + 16|0; - $nDiff = sp + 12|0; - $pNew = sp + 8|0; - HEAP32[$3>>2] = $pOld; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = ($9|0)==(0|0); - $11 = $4; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - if ($10) { - $17 = (_sqlite3Malloc($13,$16)|0); - HEAP32[$2>>2] = $17; - $116 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($116|0); + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + switch ($5|0) { + case 37: case 4: case 16: case 110: case 11: case 13: { + HEAP32[$2>>2] = 5; + break; } - $18 = ($13|0)==(0); - $19 = ($16|0)==(0); - $20 = $18 & $19; - if ($20) { - $21 = HEAP32[$3>>2]|0; - _sqlite3_free($21); - HEAP32[$2>>2] = 0; - $116 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($116|0); + case 1: { + HEAP32[$2>>2] = 3; + break; } - $22 = $4; - $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)>=(2147483392); - $30 = ($27|0)==(0); - $31 = $30 & $29; - $32 = $28 | $31; - if ($32) { - HEAP32[$2>>2] = 0; - $116 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($116|0); + default: { + $6 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $6; } - $33 = HEAP32[$3>>2]|0; - $34 = (_sqlite3MallocSize($33)|0); - HEAP32[$nOld>>2] = $34; - $35 = HEAP32[(64)>>2]|0; - $36 = $4; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (FUNCTION_TABLE_ii[$35 & 255]($38)|0); - HEAP32[$nNew>>2] = $42; - $43 = HEAP32[$nOld>>2]|0; - $44 = HEAP32[$nNew>>2]|0; - $45 = ($43|0)==($44|0); - do { - if ($45) { - $46 = HEAP32[$3>>2]|0; - HEAP32[$pNew>>2] = $46; - } else { - $47 = HEAP32[8>>2]|0; - $48 = ($47|0)!=(0); - if (!($48)) { - $111 = HEAP32[(56)>>2]|0; - $112 = HEAP32[$3>>2]|0; - $113 = HEAP32[$nNew>>2]|0; - $114 = (FUNCTION_TABLE_iii[$111 & 255]($112,$113)|0); - HEAP32[$pNew>>2] = $114; - break; - } - $49 = $4; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - _sqlite3StatusHighwater(5,$51); - $55 = HEAP32[$nNew>>2]|0; - $56 = HEAP32[$nOld>>2]|0; - $57 = (($55) - ($56))|0; - HEAP32[$nDiff>>2] = $57; - $58 = (_sqlite3StatusValue(0)|0); - $59 = tempRet0; - $60 = (296); - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (($60) + 4)|0; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$nDiff>>2]|0; - $67 = ($66|0)<(0); - $68 = $67 << 31 >> 31; - $69 = (_i64Subtract(($62|0),($65|0),($66|0),($68|0))|0); - $70 = tempRet0; - $71 = ($59|0)>($70|0); - $72 = ($58>>>0)>=($69>>>0); - $73 = ($59|0)==($70|0); - $74 = $73 & $72; - $75 = $71 | $74; - if ($75) { - $76 = HEAP32[$nDiff>>2]|0; - _sqlite3MallocAlarm($76); - } - $77 = HEAP32[(56)>>2]|0; - $78 = HEAP32[$3>>2]|0; - $79 = HEAP32[$nNew>>2]|0; - $80 = (FUNCTION_TABLE_iii[$77 & 255]($78,$79)|0); - HEAP32[$pNew>>2] = $80; - $81 = HEAP32[$pNew>>2]|0; - $82 = ($81|0)==(0|0); - $83 = (296); - $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 = $4; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (($94) + 4)|0; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - _sqlite3MallocAlarm($96); - $100 = HEAP32[(56)>>2]|0; - $101 = HEAP32[$3>>2]|0; - $102 = HEAP32[$nNew>>2]|0; - $103 = (FUNCTION_TABLE_iii[$100 & 255]($101,$102)|0); - HEAP32[$pNew>>2] = $103; - } - $104 = HEAP32[$pNew>>2]|0; - $105 = ($104|0)!=(0|0); - if ($105) { - $106 = HEAP32[$pNew>>2]|0; - $107 = (_sqlite3MallocSize($106)|0); - HEAP32[$nNew>>2] = $107; - $108 = HEAP32[$nNew>>2]|0; - $109 = HEAP32[$nOld>>2]|0; - $110 = (($108) - ($109))|0; - _sqlite3StatusUp(0,$110); - } - } - } while(0); - $115 = HEAP32[$pNew>>2]|0; - HEAP32[$2>>2] = $115; - $116 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($116|0); + } + $7 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($7|0); } -function _sqlite3StrAccumInit($p,$db,$zBase,$n,$mx) { - $p = $p|0; - $db = $db|0; - $zBase = $zBase|0; - $n = $n|0; - $mx = $mx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _full_fsync($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zBase; - HEAP32[$3>>2] = $n; - HEAP32[$4>>2] = $mx; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 4|0); - HEAP32[$7>>2] = $5; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 8|0); - HEAP32[$9>>2] = $5; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$0>>2]|0; - HEAP32[$11>>2] = $10; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 12|0); - HEAP32[$13>>2] = 0; - $14 = HEAP32[$3>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 16|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$4>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 20|0); - HEAP32[$19>>2] = $17; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 24|0); - HEAP8[$21>>0] = 0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 25|0); - HEAP8[$23>>0] = 0; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = (_fsync($7)|0); + HEAP32[$6>>2] = $8; + $9 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($9|0); } -function _sqlite3VXPrintf($pAccum,$fmt,$ap) { - $pAccum = $pAccum|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $0 = 0, $1 = 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, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0; - var $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, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0; - var $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, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0; - var $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, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0; - var $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, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0; - var $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0; - var $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 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, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; - var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; - var $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, $25 = 0; - var $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, $268 = 0; - var $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, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $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, $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, $41 = 0, $410 = 0, $411 = 0; - var $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, $428 = 0, $429 = 0, $43 = 0; - var $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0; - var $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0; - var $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0; - var $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0.0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0.0, $512 = 0, $513 = 0, $514 = 0.0, $515 = 0, $516 = 0.0, $517 = 0.0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0.0, $536 = 0.0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0.0, $541 = 0.0, $542 = 0.0, $543 = 0.0, $544 = 0, $545 = 0, $546 = 0.0, $547 = 0, $548 = 0.0, $549 = 0.0, $55 = 0, $550 = 0.0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0.0, $556 = 0.0; - var $557 = 0, $558 = 0, $559 = 0.0, $56 = 0, $560 = 0.0, $561 = 0.0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0.0, $567 = 0.0, $568 = 0, $569 = 0, $57 = 0, $570 = 0.0, $571 = 0.0, $572 = 0.0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0.0, $578 = 0.0, $579 = 0, $58 = 0, $580 = 0, $581 = 0.0, $582 = 0.0, $583 = 0.0, $584 = 0, $585 = 0.0, $586 = 0.0, $587 = 0, $588 = 0, $589 = 0.0, $59 = 0, $590 = 0, $591 = 0.0, $592 = 0.0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0; - var $610 = 0, $611 = 0.0, $612 = 0.0, $613 = 0.0, $614 = 0.0, $615 = 0, $616 = 0.0, $617 = 0.0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0; - var $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0; - var $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0; - var $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0; - var $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0; - var $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0; - var $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0; - var $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0; - var $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0; - var $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0; - var $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0; - var $809 = 0, $81 = 0, $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, $824 = 0, $825 = 0, $826 = 0; - var $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, $842 = 0, $843 = 0, $844 = 0; - var $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, $860 = 0, $861 = 0, $862 = 0; - var $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, $879 = 0, $88 = 0, $880 = 0; - var $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, $897 = 0, $898 = 0, $899 = 0; - var $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, $914 = 0, $915 = 0, $916 = 0; - var $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, $932 = 0, $933 = 0, $934 = 0; - var $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, $950 = 0, $951 = 0, $952 = 0; - var $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, $969 = 0, $97 = 0, $970 = 0; - var $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, $987 = 0, $988 = 0, $989 = 0; - var $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_current12 = 0, $arglist_current15 = 0, $arglist_current18 = 0, $arglist_current21 = 0, $arglist_current24 = 0, $arglist_current27 = 0, $arglist_current30 = 0, $arglist_current33 = 0; - var $arglist_current36 = 0, $arglist_current39 = 0, $arglist_current42 = 0, $arglist_current45 = 0, $arglist_current48 = 0, $arglist_current51 = 0, $arglist_next = 0, $arglist_next13 = 0, $arglist_next16 = 0, $arglist_next19 = 0, $arglist_next22 = 0, $arglist_next25 = 0, $arglist_next28 = 0, $arglist_next31 = 0, $arglist_next34 = 0, $arglist_next37 = 0, $arglist_next40 = 0, $arglist_next43 = 0, $arglist_next46 = 0, $arglist_next49 = 0; - var $arglist_next52 = 0, $bArgList = 0, $base = 0, $buf = 0, $bufpt = 0, $c = 0, $ch = 0, $cset = 0, $done = 0, $e2 = 0, $escarg = 0, $exp = 0, $expanded = 0, $expanded101 = 0, $expanded102 = 0, $expanded104 = 0, $expanded105 = 0, $expanded106 = 0, $expanded108 = 0, $expanded109 = 0; - var $expanded111 = 0, $expanded112 = 0, $expanded113 = 0, $expanded115 = 0, $expanded116 = 0, $expanded118 = 0, $expanded119 = 0, $expanded120 = 0, $expanded122 = 0, $expanded123 = 0, $expanded125 = 0, $expanded126 = 0, $expanded127 = 0, $expanded129 = 0, $expanded130 = 0, $expanded132 = 0, $expanded133 = 0, $expanded134 = 0, $expanded136 = 0, $expanded137 = 0; - var $expanded139 = 0, $expanded140 = 0, $expanded141 = 0, $expanded143 = 0, $expanded144 = 0, $expanded146 = 0, $expanded147 = 0, $expanded148 = 0, $expanded150 = 0, $expanded151 = 0, $expanded153 = 0, $expanded154 = 0, $expanded155 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded57 = 0, $expanded59 = 0, $expanded60 = 0, $expanded62 = 0; - var $expanded63 = 0, $expanded64 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded71 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded78 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded85 = 0, $expanded87 = 0, $expanded88 = 0, $expanded90 = 0; - var $expanded91 = 0, $expanded92 = 0, $expanded94 = 0, $expanded95 = 0, $expanded97 = 0, $expanded98 = 0, $expanded99 = 0, $flag_alternateform = 0, $flag_altform2 = 0, $flag_blanksign = 0, $flag_dp = 0, $flag_leftjustify = 0, $flag_long = 0, $flag_longlong = 0, $flag_plussign = 0, $flag_rtz = 0, $flag_zeropad = 0, $i = 0, $i2 = 0, $idx = 0; - var $infop = 0, $isnull = 0, $j = 0, $k = 0, $k3 = 0, $length = 0, $longvalue = 0, $n = 0, $nOut = 0, $nPad = 0, $needQuote = 0, $nsd = 0, $or$cond = 0, $or$cond10 = 0, $or$cond4 = 0, $or$cond6 = 0, $pArgList = 0, $pItem = 0, $pSrc = 0, $pToken = 0; - var $pre = 0, $precision = 0, $prefix = 0, $px = 0, $q = 0, $realvalue = 0, $rounder = 0, $scale = 0, $useIntern = 0, $v = 0, $width = 0, $wx = 0, $x = 0, $x1 = 0, $xtype = 0, $zExtra = 0, $zOut = 0, label = 0, sp = 0; +function _robust_ftruncate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; - $0 = sp + 176|0; - $1 = sp + 172|0; - $2 = sp + 168|0; - $c = sp + 164|0; - $bufpt = sp + 160|0; - $precision = sp + 156|0; - $length = sp + 152|0; - $idx = sp + 148|0; - $width = sp + 144|0; - $flag_leftjustify = sp + 268|0; - $flag_plussign = sp + 267|0; - $flag_blanksign = sp + 266|0; - $flag_alternateform = sp + 265|0; - $flag_altform2 = sp + 264|0; - $flag_zeropad = sp + 263|0; - $flag_long = sp + 262|0; - $flag_longlong = sp + 261|0; - $done = sp + 260|0; - $xtype = sp + 259|0; - $bArgList = sp + 258|0; - $useIntern = sp + 257|0; - $prefix = sp + 256|0; - $longvalue = sp + 32|0; - $realvalue = sp + 24|0; - $infop = sp + 140|0; - $zOut = sp + 136|0; - $nOut = sp + 132|0; - $zExtra = sp + 128|0; - $exp = sp + 124|0; - $e2 = sp + 120|0; - $nsd = sp + 116|0; - $rounder = sp + 16|0; - $flag_dp = sp + 255|0; - $flag_rtz = sp + 254|0; - $pArgList = sp + 112|0; - $buf = sp + 184|0; - $wx = sp + 108|0; - $px = sp + 104|0; - $v = sp + 8|0; - $x = sp + 100|0; - $cset = sp + 96|0; - $base = sp + 183|0; - $pre = sp + 92|0; - $x1 = sp + 182|0; - $scale = sp; - $i = sp + 88|0; - $nPad = sp + 84|0; - $i2 = sp + 80|0; - $j = sp + 76|0; - $k = sp + 72|0; - $n = sp + 68|0; - $isnull = sp + 64|0; - $needQuote = sp + 60|0; - $ch = sp + 181|0; - $q = sp + 180|0; - $escarg = sp + 56|0; - $pToken = sp + 52|0; - $pSrc = sp + 48|0; - $k3 = sp + 44|0; - $pItem = sp + 40|0; - HEAP32[$0>>2] = $pAccum; - HEAP32[$1>>2] = $fmt; - HEAP32[$2>>2] = $ap; - HEAP8[$xtype>>0] = 16; - HEAP32[$zExtra>>2] = 0; - HEAP32[$pArgList>>2] = 0; - HEAP32[$bufpt>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 25|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 25|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = $10 & 2; - $12 = $11&255; - HEAP8[$bArgList>>0] = $12; - $13 = $12&255; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$2>>2]|0; - $arglist_current = HEAP32[$15>>2]|0; - $16 = $arglist_current; - $17 = ((0) + 4|0); - $expanded53 = $17; - $expanded = (($expanded53) - 1)|0; - $18 = (($16) + ($expanded))|0; - $19 = ((0) + 4|0); - $expanded57 = $19; - $expanded56 = (($expanded57) - 1)|0; - $expanded55 = $expanded56 ^ -1; - $20 = $18 & $expanded55; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $arglist_next = ((($21)) + 4|0); - HEAP32[$15>>2] = $arglist_next; - HEAP32[$pArgList>>2] = $22; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $2; + while(1) { + $10 = HEAP32[(1492)>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = $4; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (FUNCTION_TABLE_iii[$10 & 255]($11,$14)|0); + HEAP32[$5>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)<(0); + if (!($20)) { + label = 4; + break; } - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 25|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = $26 & 1; - $28 = $27&255; - HEAP8[$useIntern>>0] = $28; - } else { - HEAP8[$useIntern>>0] = 0; - HEAP8[$bArgList>>0] = 0; - } - L7: while(1) { - $29 = HEAP32[$1>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = $30 << 24 >> 24; - HEAP32[$c>>2] = $31; - $32 = ($31|0)!=(0); - if (!($32)) { - label = 268; + $21 = (___errno_location()|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(4); + if (!($23)) { + label = 4; break; } - $33 = HEAP32[$c>>2]|0; - $34 = ($33|0)!=(37); - if ($34) { - $35 = HEAP32[$1>>2]|0; - HEAP32[$bufpt>>2] = $35; - while(1) { - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 1|0); - HEAP32[$1>>2] = $37; - $38 = HEAP32[$1>>2]|0; - $39 = HEAP8[$38>>0]|0; - $40 = $39 << 24 >> 24; - $41 = ($40|0)!=(0); - if (!($41)) { - break; - } - $42 = HEAP32[$1>>2]|0; - $43 = HEAP8[$42>>0]|0; - $44 = $43 << 24 >> 24; - $45 = ($44|0)!=(37); - if (!($45)) { - break; - } - } - $46 = HEAP32[$0>>2]|0; - $47 = HEAP32[$bufpt>>2]|0; - $48 = HEAP32[$1>>2]|0; - $49 = HEAP32[$bufpt>>2]|0; - $50 = $48; - $51 = $49; - $52 = (($50) - ($51))|0; - _sqlite3StrAccumAppend($46,$47,$52); - $53 = HEAP32[$1>>2]|0; - $54 = HEAP8[$53>>0]|0; - $55 = $54 << 24 >> 24; - $56 = ($55|0)==(0); - if ($56) { - label = 268; - break; - } + } + if ((label|0) == 4) { + $24 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($24|0); + } + return (0)|0; +} +function _seekAndRead($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 8|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp; + HEAP32[$6>>2] = $0; + $13 = $7; + $14 = $13; + HEAP32[$14>>2] = $1; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$11>>2] = 0; + while(1) { + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = $7; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (_lseek($19,$22,0)|0); + $27 = ($26|0)<(0); + $28 = $27 << 31 >> 31; + $29 = $12; + $30 = $29; + HEAP32[$30>>2] = $26; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $33 = $12; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)<(0); + if ($39) { + label = 3; + break; } - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 1|0); - HEAP32[$1>>2] = $58; - $59 = HEAP8[$58>>0]|0; - $60 = $59 << 24 >> 24; - HEAP32[$c>>2] = $60; - $61 = ($60|0)==(0); - if ($61) { - label = 13; + $43 = HEAP32[(1516)>>2]|0; + $44 = HEAP32[$6>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$8>>2]|0; + $48 = HEAP32[$9>>2]|0; + $49 = (FUNCTION_TABLE_iiii[$43 & 255]($46,$47,$48)|0); + HEAP32[$10>>2] = $49; + $50 = HEAP32[$10>>2]|0; + $51 = HEAP32[$9>>2]|0; + $52 = ($50|0)==($51|0); + if ($52) { break; } - HEAP8[$flag_zeropad>>0] = 0; - HEAP8[$flag_altform2>>0] = 0; - HEAP8[$flag_alternateform>>0] = 0; - HEAP8[$flag_blanksign>>0] = 0; - HEAP8[$flag_plussign>>0] = 0; - HEAP8[$flag_leftjustify>>0] = 0; - HEAP8[$done>>0] = 0; - while(1) { - $63 = HEAP32[$c>>2]|0; - switch ($63|0) { - case 45: { - HEAP8[$flag_leftjustify>>0] = 1; - break; - } - case 43: { - HEAP8[$flag_plussign>>0] = 1; - break; - } - case 32: { - HEAP8[$flag_blanksign>>0] = 1; - break; - } - case 35: { - HEAP8[$flag_alternateform>>0] = 1; - break; - } - case 33: { - HEAP8[$flag_altform2>>0] = 1; - break; - } - case 48: { - HEAP8[$flag_zeropad>>0] = 1; - break; - } - default: { - HEAP8[$done>>0] = 1; - } - } - $64 = HEAP8[$done>>0]|0; - $65 = ($64<<24>>24)!=(0); - if ($65) { - break; - } - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 1|0); - HEAP32[$1>>2] = $67; - $68 = HEAP8[$67>>0]|0; - $69 = $68 << 24 >> 24; - HEAP32[$c>>2] = $69; - $70 = ($69|0)!=(0); - if (!($70)) { + $53 = HEAP32[$10>>2]|0; + $54 = ($53|0)<(0); + if ($54) { + $55 = (___errno_location()|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56|0)==(4); + if (!($57)) { + label = 8; break; } - } - $71 = HEAP32[$c>>2]|0; - $72 = ($71|0)==(42); - if ($72) { - $73 = HEAP8[$bArgList>>0]|0; - $74 = ($73<<24>>24)!=(0); - if ($74) { - $75 = HEAP32[$pArgList>>2]|0; - $76 = (_getIntArg($75)|0); - $77 = tempRet0; - HEAP32[$width>>2] = $76; - } else { - $78 = HEAP32[$2>>2]|0; - $arglist_current12 = HEAP32[$78>>2]|0; - $79 = $arglist_current12; - $80 = ((0) + 4|0); - $expanded60 = $80; - $expanded59 = (($expanded60) - 1)|0; - $81 = (($79) + ($expanded59))|0; - $82 = ((0) + 4|0); - $expanded64 = $82; - $expanded63 = (($expanded64) - 1)|0; - $expanded62 = $expanded63 ^ -1; - $83 = $81 & $expanded62; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $arglist_next13 = ((($84)) + 4|0); - HEAP32[$78>>2] = $arglist_next13; - HEAP32[$width>>2] = $85; - } - $86 = HEAP32[$width>>2]|0; - $87 = ($86|0)<(0); - if ($87) { - HEAP8[$flag_leftjustify>>0] = 1; - $88 = HEAP32[$width>>2]|0; - $89 = ($88|0)>=(-2147483647); - $90 = HEAP32[$width>>2]|0; - $91 = (0 - ($90))|0; - $92 = $89 ? $91 : 0; - HEAP32[$width>>2] = $92; - } - $93 = HEAP32[$1>>2]|0; - $94 = ((($93)) + 1|0); - HEAP32[$1>>2] = $94; - $95 = HEAP8[$94>>0]|0; - $96 = $95 << 24 >> 24; - HEAP32[$c>>2] = $96; + HEAP32[$10>>2] = 1; } else { - HEAP32[$wx>>2] = 0; - while(1) { - $97 = HEAP32[$c>>2]|0; - $98 = ($97|0)>=(48); - $99 = HEAP32[$c>>2]|0; - $100 = ($99|0)<=(57); - $101 = $98 ? $100 : 0; - $102 = HEAP32[$wx>>2]|0; - if (!($101)) { - break; - } - $103 = ($102*10)|0; - $104 = HEAP32[$c>>2]|0; - $105 = (($103) + ($104))|0; - $106 = (($105) - 48)|0; - HEAP32[$wx>>2] = $106; - $107 = HEAP32[$1>>2]|0; - $108 = ((($107)) + 1|0); - HEAP32[$1>>2] = $108; - $109 = HEAP8[$108>>0]|0; - $110 = $109 << 24 >> 24; - HEAP32[$c>>2] = $110; - } - $111 = $102 & 2147483647; - HEAP32[$width>>2] = $111; - } - $112 = HEAP32[$c>>2]|0; - $113 = ($112|0)==(46); - do { - if ($113) { - $114 = HEAP32[$1>>2]|0; - $115 = ((($114)) + 1|0); - HEAP32[$1>>2] = $115; - $116 = HEAP8[$115>>0]|0; - $117 = $116 << 24 >> 24; - HEAP32[$c>>2] = $117; - $118 = HEAP32[$c>>2]|0; - $119 = ($118|0)==(42); - if (!($119)) { - HEAP32[$px>>2] = 0; - while(1) { - $144 = HEAP32[$c>>2]|0; - $145 = ($144|0)>=(48); - $146 = HEAP32[$c>>2]|0; - $147 = ($146|0)<=(57); - $148 = $145 ? $147 : 0; - $149 = HEAP32[$px>>2]|0; - if (!($148)) { - break; - } - $150 = ($149*10)|0; - $151 = HEAP32[$c>>2]|0; - $152 = (($150) + ($151))|0; - $153 = (($152) - 48)|0; - HEAP32[$px>>2] = $153; - $154 = HEAP32[$1>>2]|0; - $155 = ((($154)) + 1|0); - HEAP32[$1>>2] = $155; - $156 = HEAP8[$155>>0]|0; - $157 = $156 << 24 >> 24; - HEAP32[$c>>2] = $157; - } - $158 = $149 & 2147483647; - HEAP32[$precision>>2] = $158; - break; - } - $120 = HEAP8[$bArgList>>0]|0; - $121 = ($120<<24>>24)!=(0); - if ($121) { - $122 = HEAP32[$pArgList>>2]|0; - $123 = (_getIntArg($122)|0); - $124 = tempRet0; - HEAP32[$precision>>2] = $123; - } else { - $125 = HEAP32[$2>>2]|0; - $arglist_current15 = HEAP32[$125>>2]|0; - $126 = $arglist_current15; - $127 = ((0) + 4|0); - $expanded67 = $127; - $expanded66 = (($expanded67) - 1)|0; - $128 = (($126) + ($expanded66))|0; - $129 = ((0) + 4|0); - $expanded71 = $129; - $expanded70 = (($expanded71) - 1)|0; - $expanded69 = $expanded70 ^ -1; - $130 = $128 & $expanded69; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $arglist_next16 = ((($131)) + 4|0); - HEAP32[$125>>2] = $arglist_next16; - HEAP32[$precision>>2] = $132; - } - $133 = HEAP32[$1>>2]|0; - $134 = ((($133)) + 1|0); - HEAP32[$1>>2] = $134; - $135 = HEAP8[$134>>0]|0; - $136 = $135 << 24 >> 24; - HEAP32[$c>>2] = $136; - $137 = HEAP32[$precision>>2]|0; - $138 = ($137|0)<(0); - if ($138) { - $139 = HEAP32[$precision>>2]|0; - $140 = ($139|0)>=(-2147483647); - $141 = HEAP32[$precision>>2]|0; - $142 = (0 - ($141))|0; - $143 = $140 ? $142 : -1; - HEAP32[$precision>>2] = $143; - } - } else { - HEAP32[$precision>>2] = -1; - } - } while(0); - $159 = HEAP32[$c>>2]|0; - $160 = ($159|0)==(108); - do { - if ($160) { - HEAP8[$flag_long>>0] = 1; - $161 = HEAP32[$1>>2]|0; - $162 = ((($161)) + 1|0); - HEAP32[$1>>2] = $162; - $163 = HEAP8[$162>>0]|0; - $164 = $163 << 24 >> 24; - HEAP32[$c>>2] = $164; - $165 = HEAP32[$c>>2]|0; - $166 = ($165|0)==(108); - if ($166) { - HEAP8[$flag_longlong>>0] = 1; - $167 = HEAP32[$1>>2]|0; - $168 = ((($167)) + 1|0); - HEAP32[$1>>2] = $168; - $169 = HEAP8[$168>>0]|0; - $170 = $169 << 24 >> 24; - HEAP32[$c>>2] = $170; - break; - } else { - HEAP8[$flag_longlong>>0] = 0; - break; - } - } else { - HEAP8[$flag_longlong>>0] = 0; - HEAP8[$flag_long>>0] = 0; - } - } while(0); - HEAP32[$infop>>2] = 44615; - HEAP8[$xtype>>0] = 16; - HEAP32[$idx>>2] = 0; - while(1) { - $171 = HEAP32[$idx>>2]|0; - $172 = ($171|0)<(23); - if (!($172)) { - break; - } - $173 = HEAP32[$c>>2]|0; - $174 = HEAP32[$idx>>2]|0; - $175 = (44615 + (($174*6)|0)|0); - $176 = HEAP8[$175>>0]|0; - $177 = $176 << 24 >> 24; - $178 = ($173|0)==($177|0); - $179 = HEAP32[$idx>>2]|0; - if ($178) { - label = 56; - break; + $61 = HEAP32[$10>>2]|0; + $62 = ($61|0)>(0); + if ($62) { + $63 = HEAP32[$10>>2]|0; + $64 = HEAP32[$9>>2]|0; + $65 = (($64) - ($63))|0; + HEAP32[$9>>2] = $65; + $66 = HEAP32[$10>>2]|0; + $67 = ($66|0)<(0); + $68 = $67 << 31 >> 31; + $69 = $7; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (_i64Add(($71|0),($74|0),($66|0),($68|0))|0); + $76 = tempRet0; + $77 = $7; + $78 = $77; + HEAP32[$78>>2] = $75; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = $76; + $81 = HEAP32[$10>>2]|0; + $82 = HEAP32[$11>>2]|0; + $83 = (($82) + ($81))|0; + HEAP32[$11>>2] = $83; + $84 = HEAP32[$10>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84)|0); + HEAP32[$8>>2] = $86; } - $193 = (($179) + 1)|0; - HEAP32[$idx>>2] = $193; } - if ((label|0) == 56) { - label = 0; - $180 = (44615 + (($179*6)|0)|0); - HEAP32[$infop>>2] = $180; - $181 = HEAP8[$useIntern>>0]|0; - $182 = $181&255; - $183 = ($182|0)!=(0); - if (!($183)) { - $184 = HEAP32[$infop>>2]|0; - $185 = ((($184)) + 2|0); - $186 = HEAP8[$185>>0]|0; - $187 = $186&255; - $188 = $187 & 2; - $189 = ($188|0)==(0); - if (!($189)) { - label = 268; - break; - } - } - $190 = HEAP32[$infop>>2]|0; - $191 = ((($190)) + 3|0); - $192 = HEAP8[$191>>0]|0; - HEAP8[$xtype>>0] = $192; + $87 = HEAP32[$10>>2]|0; + $88 = ($87|0)>(0); + if (!($88)) { + break; } - $194 = HEAP8[$xtype>>0]|0; - $195 = $194&255; - L79: do { - switch ($195|0) { - case 13: { - HEAP8[$flag_longlong>>0] = 0; - HEAP8[$flag_long>>0] = 1; - label = 62; - break; - } - case 0: case 15: { - label = 62; - break; - } - case 3: case 2: case 1: { - $500 = HEAP8[$bArgList>>0]|0; - $501 = ($500<<24>>24)!=(0); - if ($501) { - $502 = HEAP32[$pArgList>>2]|0; - $503 = (+_getDoubleArg($502)); - HEAPF64[$realvalue>>3] = $503; - } else { - $504 = HEAP32[$2>>2]|0; - $arglist_current30 = HEAP32[$504>>2]|0; - $505 = $arglist_current30; - $506 = ((0) + 8|0); - $expanded102 = $506; - $expanded101 = (($expanded102) - 1)|0; - $507 = (($505) + ($expanded101))|0; - $508 = ((0) + 8|0); - $expanded106 = $508; - $expanded105 = (($expanded106) - 1)|0; - $expanded104 = $expanded105 ^ -1; - $509 = $507 & $expanded104; - $510 = $509; - $511 = +HEAPF64[$510>>3]; - $arglist_next31 = ((($510)) + 8|0); - HEAP32[$504>>2] = $arglist_next31; - HEAPF64[$realvalue>>3] = $511; - } - $512 = HEAP32[$precision>>2]|0; - $513 = ($512|0)<(0); - if ($513) { - HEAP32[$precision>>2] = 6; - } - $514 = +HEAPF64[$realvalue>>3]; - $515 = $514 < 0.0; - do { - if ($515) { - $516 = +HEAPF64[$realvalue>>3]; - $517 = -$516; - HEAPF64[$realvalue>>3] = $517; - HEAP8[$prefix>>0] = 45; - } else { - $518 = HEAP8[$flag_plussign>>0]|0; - $519 = ($518<<24>>24)!=(0); - if ($519) { - HEAP8[$prefix>>0] = 43; - break; - } - $520 = HEAP8[$flag_blanksign>>0]|0; - $521 = ($520<<24>>24)!=(0); - if ($521) { - HEAP8[$prefix>>0] = 32; - break; - } else { - HEAP8[$prefix>>0] = 0; - break; - } - } - } while(0); - $522 = HEAP8[$xtype>>0]|0; - $523 = $522&255; - $524 = ($523|0)==(3); - $525 = HEAP32[$precision>>2]|0; - $526 = ($525|0)>(0); - $or$cond = $524 & $526; - if ($or$cond) { - $527 = HEAP32[$precision>>2]|0; - $528 = (($527) + -1)|0; - HEAP32[$precision>>2] = $528; - } - $529 = HEAP32[$precision>>2]|0; - $530 = $529 & 4095; - HEAP32[$idx>>2] = $530; - HEAPF64[$rounder>>3] = 0.5; - while(1) { - $531 = HEAP32[$idx>>2]|0; - $532 = ($531|0)>(0); - if (!($532)) { - break; - } - $533 = HEAP32[$idx>>2]|0; - $534 = (($533) + -1)|0; - HEAP32[$idx>>2] = $534; - $535 = +HEAPF64[$rounder>>3]; - $536 = $535 * 0.10000000000000001; - HEAPF64[$rounder>>3] = $536; - } - $537 = HEAP8[$xtype>>0]|0; - $538 = $537&255; - $539 = ($538|0)==(1); - if ($539) { - $540 = +HEAPF64[$rounder>>3]; - $541 = +HEAPF64[$realvalue>>3]; - $542 = $541 + $540; - HEAPF64[$realvalue>>3] = $542; - } - HEAP32[$exp>>2] = 0; - $543 = +HEAPF64[$realvalue>>3]; - $544 = (_sqlite3IsNaN($543)|0); - $545 = ($544|0)!=(0); - if ($545) { - HEAP32[$bufpt>>2] = 44802; - HEAP32[$length>>2] = 3; - break L79; - } - $546 = +HEAPF64[$realvalue>>3]; - $547 = $546 > 0.0; - if ($547) { - HEAPF64[$scale>>3] = 1.0; - while(1) { - $548 = +HEAPF64[$realvalue>>3]; - $549 = +HEAPF64[$scale>>3]; - $550 = 1.0E+100 * $549; - $551 = $548 >= $550; - $552 = HEAP32[$exp>>2]|0; - $553 = ($552|0)<=(350); - $554 = $551 ? $553 : 0; - if (!($554)) { - break; - } - $555 = +HEAPF64[$scale>>3]; - $556 = $555 * 1.0E+100; - HEAPF64[$scale>>3] = $556; - $557 = HEAP32[$exp>>2]|0; - $558 = (($557) + 100)|0; - HEAP32[$exp>>2] = $558; - } - while(1) { - $559 = +HEAPF64[$realvalue>>3]; - $560 = +HEAPF64[$scale>>3]; - $561 = 1.0E+10 * $560; - $562 = $559 >= $561; - $563 = HEAP32[$exp>>2]|0; - $564 = ($563|0)<=(350); - $565 = $562 ? $564 : 0; - if (!($565)) { - break; - } - $566 = +HEAPF64[$scale>>3]; - $567 = $566 * 1.0E+10; - HEAPF64[$scale>>3] = $567; - $568 = HEAP32[$exp>>2]|0; - $569 = (($568) + 10)|0; - HEAP32[$exp>>2] = $569; - } - while(1) { - $570 = +HEAPF64[$realvalue>>3]; - $571 = +HEAPF64[$scale>>3]; - $572 = 10.0 * $571; - $573 = $570 >= $572; - $574 = HEAP32[$exp>>2]|0; - $575 = ($574|0)<=(350); - $576 = $573 ? $575 : 0; - $577 = +HEAPF64[$scale>>3]; - if (!($576)) { - break; - } - $578 = $577 * 10.0; - HEAPF64[$scale>>3] = $578; - $579 = HEAP32[$exp>>2]|0; - $580 = (($579) + 1)|0; - HEAP32[$exp>>2] = $580; - } - $581 = +HEAPF64[$realvalue>>3]; - $582 = $581 / $577; - HEAPF64[$realvalue>>3] = $582; - while(1) { - $583 = +HEAPF64[$realvalue>>3]; - $584 = $583 < 1.0E-8; - if (!($584)) { - break; - } - $585 = +HEAPF64[$realvalue>>3]; - $586 = $585 * 1.0E+8; - HEAPF64[$realvalue>>3] = $586; - $587 = HEAP32[$exp>>2]|0; - $588 = (($587) - 8)|0; - HEAP32[$exp>>2] = $588; - } - while(1) { - $589 = +HEAPF64[$realvalue>>3]; - $590 = $589 < 1.0; - if (!($590)) { - break; - } - $591 = +HEAPF64[$realvalue>>3]; - $592 = $591 * 10.0; - HEAPF64[$realvalue>>3] = $592; - $593 = HEAP32[$exp>>2]|0; - $594 = (($593) + -1)|0; - HEAP32[$exp>>2] = $594; - } - $595 = HEAP32[$exp>>2]|0; - $596 = ($595|0)>(350); - if ($596) { - HEAP32[$bufpt>>2] = $buf; - $597 = HEAP8[$prefix>>0]|0; - HEAP8[$buf>>0] = $597; - $598 = HEAP8[$prefix>>0]|0; - $599 = $598 << 24 >> 24; - $600 = ($599|0)!=(0); - $601 = $600&1; - $602 = (($buf) + ($601)|0); - ;HEAP8[$602>>0]=HEAP8[44806>>0]|0;HEAP8[$602+1>>0]=HEAP8[44806+1>>0]|0;HEAP8[$602+2>>0]=HEAP8[44806+2>>0]|0;HEAP8[$602+3>>0]=HEAP8[44806+3>>0]|0; - $603 = HEAP8[$prefix>>0]|0; - $604 = $603 << 24 >> 24; - $605 = ($604|0)!=(0); - $606 = $605&1; - $607 = (3 + ($606))|0; - HEAP32[$length>>2] = $607; - break L79; - } - } - HEAP32[$bufpt>>2] = $buf; - $608 = HEAP8[$xtype>>0]|0; - $609 = $608&255; - $610 = ($609|0)!=(1); - if ($610) { - $611 = +HEAPF64[$rounder>>3]; - $612 = +HEAPF64[$realvalue>>3]; - $613 = $612 + $611; - HEAPF64[$realvalue>>3] = $613; - $614 = +HEAPF64[$realvalue>>3]; - $615 = $614 >= 10.0; - if ($615) { - $616 = +HEAPF64[$realvalue>>3]; - $617 = $616 * 0.10000000000000001; - HEAPF64[$realvalue>>3] = $617; - $618 = HEAP32[$exp>>2]|0; - $619 = (($618) + 1)|0; - HEAP32[$exp>>2] = $619; - } - } - $620 = HEAP8[$xtype>>0]|0; - $621 = $620&255; - $622 = ($621|0)==(3); - L137: do { - if ($622) { - $623 = HEAP8[$flag_alternateform>>0]|0; - $624 = ($623<<24>>24)!=(0); - $625 = $624 ^ 1; - $626 = $625&1; - $627 = $626&255; - HEAP8[$flag_rtz>>0] = $627; - $628 = HEAP32[$exp>>2]|0; - $629 = ($628|0)<(-4); - do { - if (!($629)) { - $630 = HEAP32[$exp>>2]|0; - $631 = HEAP32[$precision>>2]|0; - $632 = ($630|0)>($631|0); - if ($632) { - break; - } - $633 = HEAP32[$precision>>2]|0; - $634 = HEAP32[$exp>>2]|0; - $635 = (($633) - ($634))|0; - HEAP32[$precision>>2] = $635; - HEAP8[$xtype>>0] = 1; - break L137; - } - } while(0); - HEAP8[$xtype>>0] = 2; - } else { - $636 = HEAP8[$flag_altform2>>0]|0; - HEAP8[$flag_rtz>>0] = $636; - } - } while(0); - $637 = HEAP8[$xtype>>0]|0; - $638 = $637&255; - $639 = ($638|0)==(2); - if ($639) { - HEAP32[$e2>>2] = 0; - } else { - $640 = HEAP32[$exp>>2]|0; - HEAP32[$e2>>2] = $640; - } - $641 = HEAP32[$e2>>2]|0; - $642 = ($641|0)>(0); - $643 = HEAP32[$e2>>2]|0; - $644 = $642 ? $643 : 0; - $645 = ($644|0)<(0); - $646 = $645 << 31 >> 31; - $647 = HEAP32[$precision>>2]|0; - $648 = ($647|0)<(0); - $649 = $648 << 31 >> 31; - $650 = (_i64Add(($644|0),($646|0),($647|0),($649|0))|0); - $651 = tempRet0; - $652 = HEAP32[$width>>2]|0; - $653 = ($652|0)<(0); - $654 = $653 << 31 >> 31; - $655 = (_i64Add(($650|0),($651|0),($652|0),($654|0))|0); - $656 = tempRet0; - $657 = ($656|0)>(0); - $658 = ($655>>>0)>(55); - $659 = ($656|0)==(0); - $660 = $659 & $658; - $661 = $657 | $660; - if ($661) { - $662 = HEAP32[$e2>>2]|0; - $663 = ($662|0)>(0); - $664 = HEAP32[$e2>>2]|0; - $665 = $663 ? $664 : 0; - $666 = ($665|0)<(0); - $667 = $666 << 31 >> 31; - $668 = HEAP32[$precision>>2]|0; - $669 = ($668|0)<(0); - $670 = $669 << 31 >> 31; - $671 = (_i64Add(($665|0),($667|0),($668|0),($670|0))|0); - $672 = tempRet0; - $673 = HEAP32[$width>>2]|0; - $674 = ($673|0)<(0); - $675 = $674 << 31 >> 31; - $676 = (_i64Add(($671|0),($672|0),($673|0),($675|0))|0); - $677 = tempRet0; - $678 = (_i64Add(($676|0),($677|0),15,0)|0); - $679 = tempRet0; - $680 = (_sqlite3Malloc($678,$679)|0); - HEAP32[$zExtra>>2] = $680; - HEAP32[$bufpt>>2] = $680; - $681 = HEAP32[$bufpt>>2]|0; - $682 = ($681|0)==(0|0); - if ($682) { - label = 161; - break L7; - } - } - $684 = HEAP32[$bufpt>>2]|0; - HEAP32[$zOut>>2] = $684; - $685 = HEAP8[$flag_altform2>>0]|0; - $686 = $685&255; - $687 = ($686*10)|0; - $688 = (16 + ($687))|0; - HEAP32[$nsd>>2] = $688; - $689 = HEAP32[$precision>>2]|0; - $690 = ($689|0)>(0); - $691 = $690 ? 1 : 0; - $692 = HEAP8[$flag_alternateform>>0]|0; - $693 = $692&255; - $694 = $691 | $693; - $695 = HEAP8[$flag_altform2>>0]|0; - $696 = $695&255; - $697 = $694 | $696; - $698 = $697&255; - HEAP8[$flag_dp>>0] = $698; - $699 = HEAP8[$prefix>>0]|0; - $700 = ($699<<24>>24)!=(0); - if ($700) { - $701 = HEAP8[$prefix>>0]|0; - $702 = HEAP32[$bufpt>>2]|0; - $703 = ((($702)) + 1|0); - HEAP32[$bufpt>>2] = $703; - HEAP8[$702>>0] = $701; - } - $704 = HEAP32[$e2>>2]|0; - $705 = ($704|0)<(0); - L155: do { - if ($705) { - $706 = HEAP32[$bufpt>>2]|0; - $707 = ((($706)) + 1|0); - HEAP32[$bufpt>>2] = $707; - HEAP8[$706>>0] = 48; - } else { - while(1) { - $708 = HEAP32[$e2>>2]|0; - $709 = ($708|0)>=(0); - if (!($709)) { - break L155; - } - $710 = (_et_getdigit($realvalue,$nsd)|0); - $711 = HEAP32[$bufpt>>2]|0; - $712 = ((($711)) + 1|0); - HEAP32[$bufpt>>2] = $712; - HEAP8[$711>>0] = $710; - $713 = HEAP32[$e2>>2]|0; - $714 = (($713) + -1)|0; - HEAP32[$e2>>2] = $714; - } - } - } while(0); - $715 = HEAP8[$flag_dp>>0]|0; - $716 = ($715<<24>>24)!=(0); - if ($716) { - $717 = HEAP32[$bufpt>>2]|0; - $718 = ((($717)) + 1|0); - HEAP32[$bufpt>>2] = $718; - HEAP8[$717>>0] = 46; - } - $719 = HEAP32[$e2>>2]|0; - $720 = (($719) + 1)|0; - HEAP32[$e2>>2] = $720; - while(1) { - $721 = HEAP32[$e2>>2]|0; - $722 = ($721|0)<(0); - if (!($722)) { - break; - } - $723 = HEAP32[$bufpt>>2]|0; - $724 = ((($723)) + 1|0); - HEAP32[$bufpt>>2] = $724; - HEAP8[$723>>0] = 48; - $725 = HEAP32[$precision>>2]|0; - $726 = (($725) + -1)|0; - HEAP32[$precision>>2] = $726; - $727 = HEAP32[$e2>>2]|0; - $728 = (($727) + 1)|0; - HEAP32[$e2>>2] = $728; - } - while(1) { - $729 = HEAP32[$precision>>2]|0; - $730 = (($729) + -1)|0; - HEAP32[$precision>>2] = $730; - $731 = ($729|0)>(0); - if (!($731)) { - break; - } - $732 = (_et_getdigit($realvalue,$nsd)|0); - $733 = HEAP32[$bufpt>>2]|0; - $734 = ((($733)) + 1|0); - HEAP32[$bufpt>>2] = $734; - HEAP8[$733>>0] = $732; - } - $735 = HEAP8[$flag_rtz>>0]|0; - $736 = $735&255; - $737 = ($736|0)!=(0); - do { - if ($737) { - $738 = HEAP8[$flag_dp>>0]|0; - $739 = $738&255; - $740 = ($739|0)!=(0); - if (!($740)) { - break; - } - while(1) { - $741 = HEAP32[$bufpt>>2]|0; - $742 = ((($741)) + -1|0); - $743 = HEAP8[$742>>0]|0; - $744 = $743 << 24 >> 24; - $745 = ($744|0)==(48); - $746 = HEAP32[$bufpt>>2]|0; - $747 = ((($746)) + -1|0); - if (!($745)) { - break; - } - HEAP32[$bufpt>>2] = $747; - HEAP8[$747>>0] = 0; - } - $748 = HEAP8[$747>>0]|0; - $749 = $748 << 24 >> 24; - $750 = ($749|0)==(46); - if (!($750)) { - break; - } - $751 = HEAP8[$flag_altform2>>0]|0; - $752 = ($751<<24>>24)!=(0); - $753 = HEAP32[$bufpt>>2]|0; - if ($752) { - $754 = ((($753)) + 1|0); - HEAP32[$bufpt>>2] = $754; - HEAP8[$753>>0] = 48; - break; - } else { - $755 = ((($753)) + -1|0); - HEAP32[$bufpt>>2] = $755; - HEAP8[$755>>0] = 0; - break; - } - } - } while(0); - $756 = HEAP8[$xtype>>0]|0; - $757 = $756&255; - $758 = ($757|0)==(2); - if ($758) { - $759 = HEAP32[$infop>>2]|0; - $760 = ((($759)) + 4|0); - $761 = HEAP8[$760>>0]|0; - $762 = $761&255; - $763 = (44762 + ($762)|0); - $764 = HEAP8[$763>>0]|0; - $765 = HEAP32[$bufpt>>2]|0; - $766 = ((($765)) + 1|0); - HEAP32[$bufpt>>2] = $766; - HEAP8[$765>>0] = $764; - $767 = HEAP32[$exp>>2]|0; - $768 = ($767|0)<(0); - $769 = HEAP32[$bufpt>>2]|0; - $770 = ((($769)) + 1|0); - HEAP32[$bufpt>>2] = $770; - if ($768) { - HEAP8[$769>>0] = 45; - $771 = HEAP32[$exp>>2]|0; - $772 = (0 - ($771))|0; - HEAP32[$exp>>2] = $772; - } else { - HEAP8[$769>>0] = 43; - } - $773 = HEAP32[$exp>>2]|0; - $774 = ($773|0)>=(100); - if ($774) { - $775 = HEAP32[$exp>>2]|0; - $776 = (($775|0) / 100)&-1; - $777 = (($776) + 48)|0; - $778 = $777&255; - $779 = HEAP32[$bufpt>>2]|0; - $780 = ((($779)) + 1|0); - HEAP32[$bufpt>>2] = $780; - HEAP8[$779>>0] = $778; - $781 = HEAP32[$exp>>2]|0; - $782 = (($781|0) % 100)&-1; - HEAP32[$exp>>2] = $782; - } - $783 = HEAP32[$exp>>2]|0; - $784 = (($783|0) / 10)&-1; - $785 = (($784) + 48)|0; - $786 = $785&255; - $787 = HEAP32[$bufpt>>2]|0; - $788 = ((($787)) + 1|0); - HEAP32[$bufpt>>2] = $788; - HEAP8[$787>>0] = $786; - $789 = HEAP32[$exp>>2]|0; - $790 = (($789|0) % 10)&-1; - $791 = (($790) + 48)|0; - $792 = $791&255; - $793 = HEAP32[$bufpt>>2]|0; - $794 = ((($793)) + 1|0); - HEAP32[$bufpt>>2] = $794; - HEAP8[$793>>0] = $792; - } - $795 = HEAP32[$bufpt>>2]|0; - HEAP8[$795>>0] = 0; - $796 = HEAP32[$bufpt>>2]|0; - $797 = HEAP32[$zOut>>2]|0; - $798 = $796; - $799 = $797; - $800 = (($798) - ($799))|0; - HEAP32[$length>>2] = $800; - $801 = HEAP32[$zOut>>2]|0; - HEAP32[$bufpt>>2] = $801; - $802 = HEAP8[$flag_zeropad>>0]|0; - $803 = $802&255; - $804 = ($803|0)==(0); - $805 = HEAP8[$flag_leftjustify>>0]|0; - $806 = ($805<<24>>24)!=(0); - $or$cond4 = $804 | $806; - if ($or$cond4) { - break L79; - } - $807 = HEAP32[$length>>2]|0; - $808 = HEAP32[$width>>2]|0; - $809 = ($807|0)<($808|0); - if (!($809)) { - break L79; - } - $810 = HEAP32[$width>>2]|0; - $811 = HEAP32[$length>>2]|0; - $812 = (($810) - ($811))|0; - HEAP32[$nPad>>2] = $812; - $813 = HEAP32[$width>>2]|0; - HEAP32[$i>>2] = $813; - while(1) { - $814 = HEAP32[$i>>2]|0; - $815 = HEAP32[$nPad>>2]|0; - $816 = ($814|0)>=($815|0); - if (!($816)) { - break; - } - $817 = HEAP32[$i>>2]|0; - $818 = HEAP32[$nPad>>2]|0; - $819 = (($817) - ($818))|0; - $820 = HEAP32[$bufpt>>2]|0; - $821 = (($820) + ($819)|0); - $822 = HEAP8[$821>>0]|0; - $823 = HEAP32[$i>>2]|0; - $824 = HEAP32[$bufpt>>2]|0; - $825 = (($824) + ($823)|0); - HEAP8[$825>>0] = $822; - $826 = HEAP32[$i>>2]|0; - $827 = (($826) + -1)|0; - HEAP32[$i>>2] = $827; - } - $828 = HEAP8[$prefix>>0]|0; - $829 = $828 << 24 >> 24; - $830 = ($829|0)!=(0); - $831 = $830&1; - HEAP32[$i>>2] = $831; - while(1) { - $832 = HEAP32[$nPad>>2]|0; - $833 = (($832) + -1)|0; - HEAP32[$nPad>>2] = $833; - $834 = ($832|0)!=(0); - if (!($834)) { - break; - } - $835 = HEAP32[$i>>2]|0; - $836 = (($835) + 1)|0; - HEAP32[$i>>2] = $836; - $837 = HEAP32[$bufpt>>2]|0; - $838 = (($837) + ($835)|0); - HEAP8[$838>>0] = 48; - } - $839 = HEAP32[$width>>2]|0; - HEAP32[$length>>2] = $839; - break; - } - case 4: { - $840 = HEAP8[$bArgList>>0]|0; - $841 = ($840<<24>>24)!=(0); - if (!($841)) { - $842 = HEAP32[$0>>2]|0; - $843 = ((($842)) + 12|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[$2>>2]|0; - $arglist_current33 = HEAP32[$845>>2]|0; - $846 = $arglist_current33; - $847 = ((0) + 4|0); - $expanded109 = $847; - $expanded108 = (($expanded109) - 1)|0; - $848 = (($846) + ($expanded108))|0; - $849 = ((0) + 4|0); - $expanded113 = $849; - $expanded112 = (($expanded113) - 1)|0; - $expanded111 = $expanded112 ^ -1; - $850 = $848 & $expanded111; - $851 = $850; - $852 = HEAP32[$851>>2]|0; - $arglist_next34 = ((($851)) + 4|0); - HEAP32[$845>>2] = $arglist_next34; - HEAP32[$852>>2] = $844; - } - HEAP32[$width>>2] = 0; - HEAP32[$length>>2] = 0; - break; - } - case 7: { - HEAP8[$buf>>0] = 37; - HEAP32[$bufpt>>2] = $buf; - HEAP32[$length>>2] = 1; - break; - } - case 8: { - $853 = HEAP8[$bArgList>>0]|0; - $854 = ($853<<24>>24)!=(0); - if ($854) { - $855 = HEAP32[$pArgList>>2]|0; - $856 = (_getTextArg($855)|0); - HEAP32[$bufpt>>2] = $856; - $857 = HEAP32[$bufpt>>2]|0; - $858 = ($857|0)!=(0|0); - if ($858) { - $859 = HEAP32[$bufpt>>2]|0; - $860 = HEAP8[$859>>0]|0; - $861 = $860 << 24 >> 24; - $862 = $861; - } else { - $862 = 0; - } - HEAP32[$c>>2] = $862; - } else { - $863 = HEAP32[$2>>2]|0; - $arglist_current36 = HEAP32[$863>>2]|0; - $864 = $arglist_current36; - $865 = ((0) + 4|0); - $expanded116 = $865; - $expanded115 = (($expanded116) - 1)|0; - $866 = (($864) + ($expanded115))|0; - $867 = ((0) + 4|0); - $expanded120 = $867; - $expanded119 = (($expanded120) - 1)|0; - $expanded118 = $expanded119 ^ -1; - $868 = $866 & $expanded118; - $869 = $868; - $870 = HEAP32[$869>>2]|0; - $arglist_next37 = ((($869)) + 4|0); - HEAP32[$863>>2] = $arglist_next37; - HEAP32[$c>>2] = $870; - } - $871 = HEAP32[$precision>>2]|0; - $872 = ($871|0)>(1); - if ($872) { - $873 = HEAP32[$precision>>2]|0; - $874 = (($873) - 1)|0; - $875 = HEAP32[$width>>2]|0; - $876 = (($875) - ($874))|0; - HEAP32[$width>>2] = $876; - $877 = HEAP32[$width>>2]|0; - $878 = ($877|0)<=(1); - $879 = HEAP8[$flag_leftjustify>>0]|0; - $880 = ($879<<24>>24)!=(0); - $or$cond6 = $878 | $880; - if (!($or$cond6)) { - $881 = HEAP32[$0>>2]|0; - $882 = HEAP32[$width>>2]|0; - $883 = (($882) - 1)|0; - _sqlite3AppendChar($881,$883,32); - HEAP32[$width>>2] = 0; - } - $884 = HEAP32[$0>>2]|0; - $885 = HEAP32[$precision>>2]|0; - $886 = (($885) - 1)|0; - $887 = HEAP32[$c>>2]|0; - $888 = $887&255; - _sqlite3AppendChar($884,$886,$888); - } - HEAP32[$length>>2] = 1; - $889 = HEAP32[$c>>2]|0; - $890 = $889&255; - HEAP8[$buf>>0] = $890; - HEAP32[$bufpt>>2] = $buf; - break; - } - case 6: case 5: { - $891 = HEAP8[$bArgList>>0]|0; - $892 = ($891<<24>>24)!=(0); - if ($892) { - $893 = HEAP32[$pArgList>>2]|0; - $894 = (_getTextArg($893)|0); - HEAP32[$bufpt>>2] = $894; - HEAP8[$xtype>>0] = 5; - } else { - $895 = HEAP32[$2>>2]|0; - $arglist_current39 = HEAP32[$895>>2]|0; - $896 = $arglist_current39; - $897 = ((0) + 4|0); - $expanded123 = $897; - $expanded122 = (($expanded123) - 1)|0; - $898 = (($896) + ($expanded122))|0; - $899 = ((0) + 4|0); - $expanded127 = $899; - $expanded126 = (($expanded127) - 1)|0; - $expanded125 = $expanded126 ^ -1; - $900 = $898 & $expanded125; - $901 = $900; - $902 = HEAP32[$901>>2]|0; - $arglist_next40 = ((($901)) + 4|0); - HEAP32[$895>>2] = $arglist_next40; - HEAP32[$bufpt>>2] = $902; - } - $903 = HEAP32[$bufpt>>2]|0; - $904 = ($903|0)==(0|0); - if ($904) { - HEAP32[$bufpt>>2] = 18402; - } else { - $905 = HEAP8[$xtype>>0]|0; - $906 = $905&255; - $907 = ($906|0)==(6); - if ($907) { - $908 = HEAP32[$bufpt>>2]|0; - HEAP32[$zExtra>>2] = $908; - } - } - $909 = HEAP32[$precision>>2]|0; - $910 = ($909|0)>=(0); - if (!($910)) { - $922 = HEAP32[$bufpt>>2]|0; - $923 = (_sqlite3Strlen30($922)|0); - HEAP32[$length>>2] = $923; - break L79; - } - HEAP32[$length>>2] = 0; - while(1) { - $911 = HEAP32[$length>>2]|0; - $912 = HEAP32[$precision>>2]|0; - $913 = ($911|0)<($912|0); - if (!($913)) { - break L79; - } - $914 = HEAP32[$length>>2]|0; - $915 = HEAP32[$bufpt>>2]|0; - $916 = (($915) + ($914)|0); - $917 = HEAP8[$916>>0]|0; - $918 = $917 << 24 >> 24; - $919 = ($918|0)!=(0); - if (!($919)) { - break L79; - } - $920 = HEAP32[$length>>2]|0; - $921 = (($920) + 1)|0; - HEAP32[$length>>2] = $921; - } - break; - } - case 14: case 10: case 9: { - $924 = HEAP8[$xtype>>0]|0; - $925 = $924&255; - $926 = ($925|0)==(14); - $927 = $926 ? 34 : 39; - $928 = $927&255; - HEAP8[$q>>0] = $928; - $929 = HEAP8[$bArgList>>0]|0; - $930 = ($929<<24>>24)!=(0); - if ($930) { - $931 = HEAP32[$pArgList>>2]|0; - $932 = (_getTextArg($931)|0); - HEAP32[$escarg>>2] = $932; - } else { - $933 = HEAP32[$2>>2]|0; - $arglist_current42 = HEAP32[$933>>2]|0; - $934 = $arglist_current42; - $935 = ((0) + 4|0); - $expanded130 = $935; - $expanded129 = (($expanded130) - 1)|0; - $936 = (($934) + ($expanded129))|0; - $937 = ((0) + 4|0); - $expanded134 = $937; - $expanded133 = (($expanded134) - 1)|0; - $expanded132 = $expanded133 ^ -1; - $938 = $936 & $expanded132; - $939 = $938; - $940 = HEAP32[$939>>2]|0; - $arglist_next43 = ((($939)) + 4|0); - HEAP32[$933>>2] = $arglist_next43; - HEAP32[$escarg>>2] = $940; - } - $941 = HEAP32[$escarg>>2]|0; - $942 = ($941|0)==(0|0); - $943 = $942&1; - HEAP32[$isnull>>2] = $943; - $944 = HEAP32[$isnull>>2]|0; - $945 = ($944|0)!=(0); - if ($945) { - $946 = HEAP8[$xtype>>0]|0; - $947 = $946&255; - $948 = ($947|0)==(10); - $949 = $948 ? 39691 : 44810; - HEAP32[$escarg>>2] = $949; - } - $950 = HEAP32[$precision>>2]|0; - HEAP32[$k>>2] = $950; - HEAP32[$n>>2] = 0; - HEAP32[$i2>>2] = 0; - while(1) { - $951 = HEAP32[$k>>2]|0; - $952 = ($951|0)!=(0); - if (!($952)) { - break; - } - $953 = HEAP32[$i2>>2]|0; - $954 = HEAP32[$escarg>>2]|0; - $955 = (($954) + ($953)|0); - $956 = HEAP8[$955>>0]|0; - HEAP8[$ch>>0] = $956; - $957 = $956 << 24 >> 24; - $958 = ($957|0)!=(0); - if (!($958)) { - break; - } - $959 = HEAP8[$ch>>0]|0; - $960 = $959 << 24 >> 24; - $961 = HEAP8[$q>>0]|0; - $962 = $961 << 24 >> 24; - $963 = ($960|0)==($962|0); - if ($963) { - $964 = HEAP32[$n>>2]|0; - $965 = (($964) + 1)|0; - HEAP32[$n>>2] = $965; - } - $966 = HEAP32[$i2>>2]|0; - $967 = (($966) + 1)|0; - HEAP32[$i2>>2] = $967; - $968 = HEAP32[$k>>2]|0; - $969 = (($968) + -1)|0; - HEAP32[$k>>2] = $969; - } - $970 = HEAP32[$isnull>>2]|0; - $971 = ($970|0)!=(0); - if ($971) { - $976 = 0; - } else { - $972 = HEAP8[$xtype>>0]|0; - $973 = $972&255; - $974 = ($973|0)==(10); - $976 = $974; - } - $975 = $976&1; - HEAP32[$needQuote>>2] = $975; - $977 = HEAP32[$i2>>2]|0; - $978 = (($977) + 3)|0; - $979 = HEAP32[$n>>2]|0; - $980 = (($979) + ($978))|0; - HEAP32[$n>>2] = $980; - $981 = HEAP32[$n>>2]|0; - $982 = ($981|0)>(70); - if ($982) { - $983 = HEAP32[$n>>2]|0; - $984 = ($983|0)<(0); - $985 = $984 << 31 >> 31; - $986 = (_sqlite3Malloc($983,$985)|0); - HEAP32[$zExtra>>2] = $986; - HEAP32[$bufpt>>2] = $986; - $987 = HEAP32[$bufpt>>2]|0; - $988 = ($987|0)==(0|0); - if ($988) { - label = 241; - break L7; - } - } else { - HEAP32[$bufpt>>2] = $buf; - } - HEAP32[$j>>2] = 0; - $990 = HEAP32[$needQuote>>2]|0; - $991 = ($990|0)!=(0); - if ($991) { - $992 = HEAP8[$q>>0]|0; - $993 = HEAP32[$j>>2]|0; - $994 = (($993) + 1)|0; - HEAP32[$j>>2] = $994; - $995 = HEAP32[$bufpt>>2]|0; - $996 = (($995) + ($993)|0); - HEAP8[$996>>0] = $992; - } - $997 = HEAP32[$i2>>2]|0; - HEAP32[$k>>2] = $997; - HEAP32[$i2>>2] = 0; - while(1) { - $998 = HEAP32[$i2>>2]|0; - $999 = HEAP32[$k>>2]|0; - $1000 = ($998|0)<($999|0); - if (!($1000)) { - break; - } - $1001 = HEAP32[$i2>>2]|0; - $1002 = HEAP32[$escarg>>2]|0; - $1003 = (($1002) + ($1001)|0); - $1004 = HEAP8[$1003>>0]|0; - HEAP8[$ch>>0] = $1004; - $1005 = HEAP32[$j>>2]|0; - $1006 = (($1005) + 1)|0; - HEAP32[$j>>2] = $1006; - $1007 = HEAP32[$bufpt>>2]|0; - $1008 = (($1007) + ($1005)|0); - HEAP8[$1008>>0] = $1004; - $1009 = HEAP8[$ch>>0]|0; - $1010 = $1009 << 24 >> 24; - $1011 = HEAP8[$q>>0]|0; - $1012 = $1011 << 24 >> 24; - $1013 = ($1010|0)==($1012|0); - if ($1013) { - $1014 = HEAP8[$ch>>0]|0; - $1015 = HEAP32[$j>>2]|0; - $1016 = (($1015) + 1)|0; - HEAP32[$j>>2] = $1016; - $1017 = HEAP32[$bufpt>>2]|0; - $1018 = (($1017) + ($1015)|0); - HEAP8[$1018>>0] = $1014; - } - $1019 = HEAP32[$i2>>2]|0; - $1020 = (($1019) + 1)|0; - HEAP32[$i2>>2] = $1020; - } - $1021 = HEAP32[$needQuote>>2]|0; - $1022 = ($1021|0)!=(0); - if ($1022) { - $1023 = HEAP8[$q>>0]|0; - $1024 = HEAP32[$j>>2]|0; - $1025 = (($1024) + 1)|0; - HEAP32[$j>>2] = $1025; - $1026 = HEAP32[$bufpt>>2]|0; - $1027 = (($1026) + ($1024)|0); - HEAP8[$1027>>0] = $1023; - } - $1028 = HEAP32[$j>>2]|0; - $1029 = HEAP32[$bufpt>>2]|0; - $1030 = (($1029) + ($1028)|0); - HEAP8[$1030>>0] = 0; - $1031 = HEAP32[$j>>2]|0; - HEAP32[$length>>2] = $1031; - break; - } - case 11: { - $1032 = HEAP32[$2>>2]|0; - $arglist_current45 = HEAP32[$1032>>2]|0; - $1033 = $arglist_current45; - $1034 = ((0) + 4|0); - $expanded137 = $1034; - $expanded136 = (($expanded137) - 1)|0; - $1035 = (($1033) + ($expanded136))|0; - $1036 = ((0) + 4|0); - $expanded141 = $1036; - $expanded140 = (($expanded141) - 1)|0; - $expanded139 = $expanded140 ^ -1; - $1037 = $1035 & $expanded139; - $1038 = $1037; - $1039 = HEAP32[$1038>>2]|0; - $arglist_next46 = ((($1038)) + 4|0); - HEAP32[$1032>>2] = $arglist_next46; - HEAP32[$pToken>>2] = $1039; - $1040 = HEAP32[$pToken>>2]|0; - $1041 = ($1040|0)!=(0|0); - if ($1041) { - $1042 = HEAP32[$pToken>>2]|0; - $1043 = ((($1042)) + 4|0); - $1044 = HEAP32[$1043>>2]|0; - $1045 = ($1044|0)!=(0); - if ($1045) { - $1046 = HEAP32[$0>>2]|0; - $1047 = HEAP32[$pToken>>2]|0; - $1048 = HEAP32[$1047>>2]|0; - $1049 = HEAP32[$pToken>>2]|0; - $1050 = ((($1049)) + 4|0); - $1051 = HEAP32[$1050>>2]|0; - _sqlite3StrAccumAppend($1046,$1048,$1051); - } - } - HEAP32[$width>>2] = 0; - HEAP32[$length>>2] = 0; - break; - } - case 12: { - $1052 = HEAP32[$2>>2]|0; - $arglist_current48 = HEAP32[$1052>>2]|0; - $1053 = $arglist_current48; - $1054 = ((0) + 4|0); - $expanded144 = $1054; - $expanded143 = (($expanded144) - 1)|0; - $1055 = (($1053) + ($expanded143))|0; - $1056 = ((0) + 4|0); - $expanded148 = $1056; - $expanded147 = (($expanded148) - 1)|0; - $expanded146 = $expanded147 ^ -1; - $1057 = $1055 & $expanded146; - $1058 = $1057; - $1059 = HEAP32[$1058>>2]|0; - $arglist_next49 = ((($1058)) + 4|0); - HEAP32[$1052>>2] = $arglist_next49; - HEAP32[$pSrc>>2] = $1059; - $1060 = HEAP32[$2>>2]|0; - $arglist_current51 = HEAP32[$1060>>2]|0; - $1061 = $arglist_current51; - $1062 = ((0) + 4|0); - $expanded151 = $1062; - $expanded150 = (($expanded151) - 1)|0; - $1063 = (($1061) + ($expanded150))|0; - $1064 = ((0) + 4|0); - $expanded155 = $1064; - $expanded154 = (($expanded155) - 1)|0; - $expanded153 = $expanded154 ^ -1; - $1065 = $1063 & $expanded153; - $1066 = $1065; - $1067 = HEAP32[$1066>>2]|0; - $arglist_next52 = ((($1066)) + 4|0); - HEAP32[$1060>>2] = $arglist_next52; - HEAP32[$k3>>2] = $1067; - $1068 = HEAP32[$k3>>2]|0; - $1069 = HEAP32[$pSrc>>2]|0; - $1070 = ((($1069)) + 8|0); - $1071 = (($1070) + (($1068*72)|0)|0); - HEAP32[$pItem>>2] = $1071; - $1072 = HEAP32[$pItem>>2]|0; - $1073 = ((($1072)) + 4|0); - $1074 = HEAP32[$1073>>2]|0; - $1075 = ($1074|0)!=(0|0); - if ($1075) { - $1076 = HEAP32[$0>>2]|0; - $1077 = HEAP32[$pItem>>2]|0; - $1078 = ((($1077)) + 4|0); - $1079 = HEAP32[$1078>>2]|0; - _sqlite3StrAccumAppendAll($1076,$1079); - $1080 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($1080,44433,1); - } - $1081 = HEAP32[$0>>2]|0; - $1082 = HEAP32[$pItem>>2]|0; - $1083 = ((($1082)) + 8|0); - $1084 = HEAP32[$1083>>2]|0; - _sqlite3StrAccumAppendAll($1081,$1084); - HEAP32[$width>>2] = 0; - HEAP32[$length>>2] = 0; - break; - } - default: { - label = 268; - break L7; - } - } - } while(0); - if ((label|0) == 62) { - label = 0; - $196 = HEAP32[$infop>>2]|0; - $197 = ((($196)) + 2|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = $199 & 1; - $201 = ($200|0)!=(0); - $202 = HEAP8[$bArgList>>0]|0; - $203 = ($202<<24>>24)!=(0); - do { - if ($201) { - do { - if ($203) { - $204 = HEAP32[$pArgList>>2]|0; - $205 = (_getIntArg($204)|0); - $206 = tempRet0; - $207 = $v; - $208 = $207; - HEAP32[$208>>2] = $205; - $209 = (($207) + 4)|0; - $210 = $209; - HEAP32[$210>>2] = $206; - } else { - $211 = HEAP8[$flag_longlong>>0]|0; - $212 = ($211<<24>>24)!=(0); - $213 = HEAP32[$2>>2]|0; - if ($212) { - $arglist_current18 = HEAP32[$213>>2]|0; - $214 = $arglist_current18; - $215 = ((0) + 8|0); - $expanded74 = $215; - $expanded73 = (($expanded74) - 1)|0; - $216 = (($214) + ($expanded73))|0; - $217 = ((0) + 8|0); - $expanded78 = $217; - $expanded77 = (($expanded78) - 1)|0; - $expanded76 = $expanded77 ^ -1; - $218 = $216 & $expanded76; - $219 = $218; - $220 = $219; - $221 = $220; - $222 = HEAP32[$221>>2]|0; - $223 = (($220) + 4)|0; - $224 = $223; - $225 = HEAP32[$224>>2]|0; - $arglist_next19 = ((($219)) + 8|0); - HEAP32[$213>>2] = $arglist_next19; - $226 = $v; - $227 = $226; - HEAP32[$227>>2] = $222; - $228 = (($226) + 4)|0; - $229 = $228; - HEAP32[$229>>2] = $225; - break; - } else { - $arglist_current21 = HEAP32[$213>>2]|0; - $230 = $arglist_current21; - $231 = ((0) + 4|0); - $expanded81 = $231; - $expanded80 = (($expanded81) - 1)|0; - $232 = (($230) + ($expanded80))|0; - $233 = ((0) + 4|0); - $expanded85 = $233; - $expanded84 = (($expanded85) - 1)|0; - $expanded83 = $expanded84 ^ -1; - $234 = $232 & $expanded83; - $235 = $234; - $236 = HEAP32[$235>>2]|0; - $arglist_next22 = ((($235)) + 4|0); - HEAP32[$213>>2] = $arglist_next22; - $237 = ($236|0)<(0); - $238 = $237 << 31 >> 31; - $239 = $v; - $240 = $239; - HEAP32[$240>>2] = $236; - $241 = (($239) + 4)|0; - $242 = $241; - HEAP32[$242>>2] = $238; - break; - } - } - } while(0); - $243 = $v; - $244 = $243; - $245 = HEAP32[$244>>2]|0; - $246 = (($243) + 4)|0; - $247 = $246; - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)<(0); - $250 = $v; - $251 = $250; - $252 = HEAP32[$251>>2]|0; - $253 = (($250) + 4)|0; - $254 = $253; - $255 = HEAP32[$254>>2]|0; - if ($249) { - $256 = ($252|0)==(0); - $257 = ($255|0)==(-2147483648); - $258 = $256 & $257; - if ($258) { - $259 = $longvalue; - $260 = $259; - HEAP32[$260>>2] = 0; - $261 = (($259) + 4)|0; - $262 = $261; - HEAP32[$262>>2] = -2147483648; - } else { - $263 = $v; - $264 = $263; - $265 = HEAP32[$264>>2]|0; - $266 = (($263) + 4)|0; - $267 = $266; - $268 = HEAP32[$267>>2]|0; - $269 = (_i64Subtract(0,0,($265|0),($268|0))|0); - $270 = tempRet0; - $271 = $longvalue; - $272 = $271; - HEAP32[$272>>2] = $269; - $273 = (($271) + 4)|0; - $274 = $273; - HEAP32[$274>>2] = $270; - } - HEAP8[$prefix>>0] = 45; - break; - } - $275 = $longvalue; - $276 = $275; - HEAP32[$276>>2] = $252; - $277 = (($275) + 4)|0; - $278 = $277; - HEAP32[$278>>2] = $255; - $279 = HEAP8[$flag_plussign>>0]|0; - $280 = ($279<<24>>24)!=(0); - if ($280) { - HEAP8[$prefix>>0] = 43; - break; - } - $281 = HEAP8[$flag_blanksign>>0]|0; - $282 = ($281<<24>>24)!=(0); - if ($282) { - HEAP8[$prefix>>0] = 32; - break; - } else { - HEAP8[$prefix>>0] = 0; - break; - } - } else { - do { - if ($203) { - $283 = HEAP32[$pArgList>>2]|0; - $284 = (_getIntArg($283)|0); - $285 = tempRet0; - $286 = $longvalue; - $287 = $286; - HEAP32[$287>>2] = $284; - $288 = (($286) + 4)|0; - $289 = $288; - HEAP32[$289>>2] = $285; - } else { - $290 = HEAP8[$flag_longlong>>0]|0; - $291 = ($290<<24>>24)!=(0); - $292 = HEAP32[$2>>2]|0; - if ($291) { - $arglist_current24 = HEAP32[$292>>2]|0; - $293 = $arglist_current24; - $294 = ((0) + 8|0); - $expanded88 = $294; - $expanded87 = (($expanded88) - 1)|0; - $295 = (($293) + ($expanded87))|0; - $296 = ((0) + 8|0); - $expanded92 = $296; - $expanded91 = (($expanded92) - 1)|0; - $expanded90 = $expanded91 ^ -1; - $297 = $295 & $expanded90; - $298 = $297; - $299 = $298; - $300 = $299; - $301 = HEAP32[$300>>2]|0; - $302 = (($299) + 4)|0; - $303 = $302; - $304 = HEAP32[$303>>2]|0; - $arglist_next25 = ((($298)) + 8|0); - HEAP32[$292>>2] = $arglist_next25; - $305 = $longvalue; - $306 = $305; - HEAP32[$306>>2] = $301; - $307 = (($305) + 4)|0; - $308 = $307; - HEAP32[$308>>2] = $304; - break; - } else { - $arglist_current27 = HEAP32[$292>>2]|0; - $309 = $arglist_current27; - $310 = ((0) + 4|0); - $expanded95 = $310; - $expanded94 = (($expanded95) - 1)|0; - $311 = (($309) + ($expanded94))|0; - $312 = ((0) + 4|0); - $expanded99 = $312; - $expanded98 = (($expanded99) - 1)|0; - $expanded97 = $expanded98 ^ -1; - $313 = $311 & $expanded97; - $314 = $313; - $315 = HEAP32[$314>>2]|0; - $arglist_next28 = ((($314)) + 4|0); - HEAP32[$292>>2] = $arglist_next28; - $316 = $longvalue; - $317 = $316; - HEAP32[$317>>2] = $315; - $318 = (($316) + 4)|0; - $319 = $318; - HEAP32[$319>>2] = 0; - break; - } - } - } while(0); - HEAP8[$prefix>>0] = 0; - } - } while(0); - $320 = $longvalue; - $321 = $320; - $322 = HEAP32[$321>>2]|0; - $323 = (($320) + 4)|0; - $324 = $323; - $325 = HEAP32[$324>>2]|0; - $326 = ($322|0)==(0); - $327 = ($325|0)==(0); - $328 = $326 & $327; - if ($328) { - HEAP8[$flag_alternateform>>0] = 0; - } - $329 = HEAP8[$flag_zeropad>>0]|0; - $330 = $329&255; - $331 = ($330|0)!=(0); - if ($331) { - $332 = HEAP32[$precision>>2]|0; - $333 = HEAP32[$width>>2]|0; - $334 = HEAP8[$prefix>>0]|0; - $335 = $334 << 24 >> 24; - $336 = ($335|0)!=(0); - $337 = $336&1; - $338 = (($333) - ($337))|0; - $339 = ($332|0)<($338|0); - if ($339) { - $340 = HEAP32[$width>>2]|0; - $341 = HEAP8[$prefix>>0]|0; - $342 = $341 << 24 >> 24; - $343 = ($342|0)!=(0); - $344 = $343&1; - $345 = (($340) - ($344))|0; - HEAP32[$precision>>2] = $345; - } - } - $346 = HEAP32[$precision>>2]|0; - $347 = ($346|0)<(60); - if ($347) { - HEAP32[$nOut>>2] = 70; - HEAP32[$zOut>>2] = $buf; - } else { - $348 = HEAP32[$precision>>2]|0; - $349 = (($348) + 10)|0; - HEAP32[$nOut>>2] = $349; - $350 = HEAP32[$nOut>>2]|0; - $351 = ($350|0)<(0); - $352 = $351 << 31 >> 31; - $353 = (_sqlite3Malloc($350,$352)|0); - HEAP32[$zExtra>>2] = $353; - HEAP32[$zOut>>2] = $353; - $354 = HEAP32[$zOut>>2]|0; - $355 = ($354|0)==(0|0); - if ($355) { - label = 92; - break; - } - } - $357 = HEAP32[$nOut>>2]|0; - $358 = (($357) - 1)|0; - $359 = HEAP32[$zOut>>2]|0; - $360 = (($359) + ($358)|0); - HEAP32[$bufpt>>2] = $360; - $361 = HEAP8[$xtype>>0]|0; - $362 = $361&255; - $363 = ($362|0)==(15); - if ($363) { - $364 = $longvalue; - $365 = $364; - $366 = HEAP32[$365>>2]|0; - $367 = (($364) + 4)|0; - $368 = $367; - $369 = HEAP32[$368>>2]|0; - $370 = (___uremdi3(($366|0),($369|0),10,0)|0); - $371 = tempRet0; - HEAP32[$x>>2] = $370; - $372 = HEAP32[$x>>2]|0; - $373 = ($372|0)>=(4); - if ($373) { - label = 96; - } else { - $374 = $longvalue; - $375 = $374; - $376 = HEAP32[$375>>2]|0; - $377 = (($374) + 4)|0; - $378 = $377; - $379 = HEAP32[$378>>2]|0; - $380 = (___udivdi3(($376|0),($379|0),10,0)|0); - $381 = tempRet0; - $382 = (___uremdi3(($380|0),($381|0),10,0)|0); - $383 = tempRet0; - $384 = ($382|0)==(1); - $385 = ($383|0)==(0); - $386 = $384 & $385; - if ($386) { - label = 96; - } - } - if ((label|0) == 96) { - label = 0; - HEAP32[$x>>2] = 0; - } - $387 = HEAP32[$x>>2]|0; - $388 = $387<<1; - $389 = (($388) + 1)|0; - $390 = (44753 + ($389)|0); - $391 = HEAP8[$390>>0]|0; - $392 = HEAP32[$bufpt>>2]|0; - $393 = ((($392)) + -1|0); - HEAP32[$bufpt>>2] = $393; - HEAP8[$393>>0] = $391; - $394 = HEAP32[$x>>2]|0; - $395 = $394<<1; - $396 = (44753 + ($395)|0); - $397 = HEAP8[$396>>0]|0; - $398 = HEAP32[$bufpt>>2]|0; - $399 = ((($398)) + -1|0); - HEAP32[$bufpt>>2] = $399; - HEAP8[$399>>0] = $397; - } - $400 = HEAP32[$infop>>2]|0; - $401 = ((($400)) + 4|0); - $402 = HEAP8[$401>>0]|0; - $403 = $402&255; - $404 = (44762 + ($403)|0); - HEAP32[$cset>>2] = $404; - $405 = HEAP32[$infop>>2]|0; - $406 = ((($405)) + 1|0); - $407 = HEAP8[$406>>0]|0; - HEAP8[$base>>0] = $407; - while(1) { - $408 = $longvalue; - $409 = $408; - $410 = HEAP32[$409>>2]|0; - $411 = (($408) + 4)|0; - $412 = $411; - $413 = HEAP32[$412>>2]|0; - $414 = HEAP8[$base>>0]|0; - $415 = $414&255; - $416 = (___uremdi3(($410|0),($413|0),($415|0),0)|0); - $417 = tempRet0; - $418 = HEAP32[$cset>>2]|0; - $419 = (($418) + ($416)|0); - $420 = HEAP8[$419>>0]|0; - $421 = HEAP32[$bufpt>>2]|0; - $422 = ((($421)) + -1|0); - HEAP32[$bufpt>>2] = $422; - HEAP8[$422>>0] = $420; - $423 = $longvalue; - $424 = $423; - $425 = HEAP32[$424>>2]|0; - $426 = (($423) + 4)|0; - $427 = $426; - $428 = HEAP32[$427>>2]|0; - $429 = HEAP8[$base>>0]|0; - $430 = $429&255; - $431 = (___udivdi3(($425|0),($428|0),($430|0),0)|0); - $432 = tempRet0; - $433 = $longvalue; - $434 = $433; - HEAP32[$434>>2] = $431; - $435 = (($433) + 4)|0; - $436 = $435; - HEAP32[$436>>2] = $432; - $437 = $longvalue; - $438 = $437; - $439 = HEAP32[$438>>2]|0; - $440 = (($437) + 4)|0; - $441 = $440; - $442 = HEAP32[$441>>2]|0; - $443 = ($442>>>0)>(0); - $444 = ($439>>>0)>(0); - $445 = ($442|0)==(0); - $446 = $445 & $444; - $447 = $443 | $446; - if (!($447)) { - break; - } - } - $448 = HEAP32[$nOut>>2]|0; - $449 = (($448) - 1)|0; - $450 = HEAP32[$zOut>>2]|0; - $451 = (($450) + ($449)|0); - $452 = HEAP32[$bufpt>>2]|0; - $453 = $451; - $454 = $452; - $455 = (($453) - ($454))|0; - HEAP32[$length>>2] = $455; - $456 = HEAP32[$precision>>2]|0; - $457 = HEAP32[$length>>2]|0; - $458 = (($456) - ($457))|0; - HEAP32[$idx>>2] = $458; - while(1) { - $459 = HEAP32[$idx>>2]|0; - $460 = ($459|0)>(0); - if (!($460)) { - break; - } - $461 = HEAP32[$bufpt>>2]|0; - $462 = ((($461)) + -1|0); - HEAP32[$bufpt>>2] = $462; - HEAP8[$462>>0] = 48; - $463 = HEAP32[$idx>>2]|0; - $464 = (($463) + -1)|0; - HEAP32[$idx>>2] = $464; - } - $465 = HEAP8[$prefix>>0]|0; - $466 = ($465<<24>>24)!=(0); - if ($466) { - $467 = HEAP8[$prefix>>0]|0; - $468 = HEAP32[$bufpt>>2]|0; - $469 = ((($468)) + -1|0); - HEAP32[$bufpt>>2] = $469; - HEAP8[$469>>0] = $467; - } - $470 = HEAP8[$flag_alternateform>>0]|0; - $471 = $470&255; - $472 = ($471|0)!=(0); - L345: do { - if ($472) { - $473 = HEAP32[$infop>>2]|0; - $474 = ((($473)) + 5|0); - $475 = HEAP8[$474>>0]|0; - $476 = $475&255; - $477 = ($476|0)!=(0); - if ($477) { - $478 = HEAP32[$infop>>2]|0; - $479 = ((($478)) + 5|0); - $480 = HEAP8[$479>>0]|0; - $481 = $480&255; - $482 = (44795 + ($481)|0); - HEAP32[$pre>>2] = $482; - while(1) { - $483 = HEAP32[$pre>>2]|0; - $484 = HEAP8[$483>>0]|0; - HEAP8[$x1>>0] = $484; - $485 = $484 << 24 >> 24; - $486 = ($485|0)!=(0); - if (!($486)) { - break L345; - } - $487 = HEAP8[$x1>>0]|0; - $488 = HEAP32[$bufpt>>2]|0; - $489 = ((($488)) + -1|0); - HEAP32[$bufpt>>2] = $489; - HEAP8[$489>>0] = $487; - $490 = HEAP32[$pre>>2]|0; - $491 = ((($490)) + 1|0); - HEAP32[$pre>>2] = $491; - } - } - } - } while(0); - $492 = HEAP32[$nOut>>2]|0; - $493 = (($492) - 1)|0; - $494 = HEAP32[$zOut>>2]|0; - $495 = (($494) + ($493)|0); - $496 = HEAP32[$bufpt>>2]|0; - $497 = $495; - $498 = $496; - $499 = (($497) - ($498))|0; - HEAP32[$length>>2] = $499; - } - $1085 = HEAP32[$length>>2]|0; - $1086 = HEAP32[$width>>2]|0; - $1087 = (($1086) - ($1085))|0; - HEAP32[$width>>2] = $1087; - $1088 = HEAP32[$width>>2]|0; - $1089 = ($1088|0)<=(0); - $1090 = HEAP8[$flag_leftjustify>>0]|0; - $1091 = ($1090<<24>>24)!=(0); - $or$cond10 = $1089 | $1091; - if (!($or$cond10)) { - $1092 = HEAP32[$0>>2]|0; - $1093 = HEAP32[$width>>2]|0; - _sqlite3AppendChar($1092,$1093,32); - } - $1094 = HEAP32[$0>>2]|0; - $1095 = HEAP32[$bufpt>>2]|0; - $1096 = HEAP32[$length>>2]|0; - _sqlite3StrAccumAppend($1094,$1095,$1096); - $1097 = HEAP32[$width>>2]|0; - $1098 = ($1097|0)>(0); - if ($1098) { - $1099 = HEAP8[$flag_leftjustify>>0]|0; - $1100 = $1099&255; - $1101 = ($1100|0)!=(0); - if ($1101) { - $1102 = HEAP32[$0>>2]|0; - $1103 = HEAP32[$width>>2]|0; - _sqlite3AppendChar($1102,$1103,32); - } - } - $1104 = HEAP32[$zExtra>>2]|0; - $1105 = ($1104|0)!=(0|0); - if ($1105) { - $1106 = HEAP32[$0>>2]|0; - $1107 = HEAP32[$1106>>2]|0; - $1108 = HEAP32[$zExtra>>2]|0; - _sqlite3DbFree($1107,$1108); - HEAP32[$zExtra>>2] = 0; - } - $1109 = HEAP32[$1>>2]|0; - $1110 = ((($1109)) + 1|0); - HEAP32[$1>>2] = $1110; - } - if ((label|0) == 13) { - $62 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($62,44613,1); - STACKTOP = sp;return; } - else if ((label|0) == 92) { - $356 = HEAP32[$0>>2]|0; - _setStrAccumError($356,1); - STACKTOP = sp;return; - } - else if ((label|0) == 161) { - $683 = HEAP32[$0>>2]|0; - _setStrAccumError($683,1); - STACKTOP = sp;return; - } - else if ((label|0) == 241) { - $989 = HEAP32[$0>>2]|0; - _setStrAccumError($989,1); - STACKTOP = sp;return; + if ((label|0) == 3) { + $40 = HEAP32[$6>>2]|0; + $41 = (___errno_location()|0); + $42 = HEAP32[$41>>2]|0; + _storeLastErrno($40,$42); + HEAP32[$5>>2] = -1; + $92 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($92|0); } - else if ((label|0) == 268) { - STACKTOP = sp;return; + else if ((label|0) == 8) { + HEAP32[$11>>2] = 0; + $58 = HEAP32[$6>>2]|0; + $59 = (___errno_location()|0); + $60 = HEAP32[$59>>2]|0; + _storeLastErrno($58,$60); } + $89 = HEAP32[$10>>2]|0; + $90 = HEAP32[$11>>2]|0; + $91 = (($89) + ($90))|0; + HEAP32[$5>>2] = $91; + $92 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($92|0); } -function _sqlite3StrAccumFinish($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - do { - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($7)|0); - HEAP8[$11>>0] = 0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 20|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14>>>0)>(0); - if ($15) { - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 25|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 & 4; - $21 = ($20|0)!=(0); - if (!($21)) { - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + 1)|0; - $28 = (_sqlite3DbMallocRaw($23,$27,0)|0); - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 8|0); - HEAP32[$30>>2] = $28; - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)!=(0|0); - $35 = HEAP32[$0>>2]|0; - if ($34) { - $36 = ((($35)) + 8|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + 1)|0; - _memcpy(($37|0),($40|0),($44|0))|0; - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 25|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = $48 | 4; - $50 = $49&255; - HEAP8[$46>>0] = $50; - break; - } else { - _setStrAccumError($35,1); - break; - } - } - } - } - } while(0); - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 8|0); - $53 = HEAP32[$52>>2]|0; - STACKTOP = sp;return ($53|0); -} -function _renderLogMsg($iErrCode,$zFormat,$ap) { - $iErrCode = $iErrCode|0; - $zFormat = $zFormat|0; - $ap = $ap|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $acc = 0, $zMsg = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $acc = sp; - $zMsg = sp + 40|0; - HEAP32[$0>>2] = $iErrCode; - HEAP32[$1>>2] = $zFormat; - HEAP32[$2>>2] = $ap; - _sqlite3StrAccumInit($acc,0,$zMsg,210,0); - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - _sqlite3VXPrintf($acc,$3,$4); - $5 = HEAP32[(264)>>2]|0; - $6 = HEAP32[(268)>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3StrAccumFinish($acc)|0); - FUNCTION_TABLE_viii[$5 & 255]($6,$7,$8); - STACKTOP = sp;return; -} -function _sqlite3OsRandomness($pVfs,$nByte,$zBufOut) { - $pVfs = $pVfs|0; - $nByte = $nByte|0; - $zBufOut = $zBufOut|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _closeUnixFile($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; + var stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $nByte; - HEAP32[$2>>2] = $zBufOut; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 56|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (FUNCTION_TABLE_iiii[$5 & 255]($6,$7,$8)|0); - STACKTOP = sp;return ($9|0); -} -function _sqlite3StrICmp($zLeft,$zRight) { - $zLeft = $zLeft|0; - $zRight = $zRight|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $b = 0, $c = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $a = sp + 8|0; - $b = sp + 4|0; - $c = sp; - HEAP32[$0>>2] = $zLeft; - HEAP32[$1>>2] = $zRight; - $2 = HEAP32[$0>>2]|0; - HEAP32[$a>>2] = $2; - $3 = HEAP32[$1>>2]|0; - HEAP32[$b>>2] = $3; - while(1) { - $4 = HEAP32[$a>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = (17613 + ($6)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = HEAP32[$b>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (17613 + ($12)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (($9) - ($15))|0; - HEAP32[$c>>2] = $16; - $17 = HEAP32[$c>>2]|0; - $18 = ($17|0)!=(0); - if ($18) { - label = 5; - break; - } - $19 = HEAP32[$a>>2]|0; - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = ($21|0)==(0); - if ($22) { - label = 5; - break; - } - $23 = HEAP32[$a>>2]|0; - $24 = ((($23)) + 1|0); - HEAP32[$a>>2] = $24; - $25 = HEAP32[$b>>2]|0; - $26 = ((($25)) + 1|0); - HEAP32[$b>>2] = $26; - } - if ((label|0) == 5) { - $27 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($27|0); - } - return (0)|0; -} -function _sqlite3ErrorWithMsg($db,$err_code,$zFormat,$varargs) { - $db = $db|0; - $err_code = $err_code|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $z = sp + 16|0; - $ap = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $err_code; - HEAP32[$2>>2] = $zFormat; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 52|0); - HEAP32[$5>>2] = $3; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - _sqlite3SystemError($6,$7); - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)==(0|0); - $10 = HEAP32[$0>>2]|0; - if ($9) { - $11 = HEAP32[$1>>2]|0; - _sqlite3Error($10,$11); - STACKTOP = sp;return; - } - $12 = ((($10)) + 244|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - $15 = HEAP32[$0>>2]|0; - $16 = (_sqlite3ValueNew($15)|0); - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 244|0); - HEAP32[$18>>2] = $16; - $19 = ($16|0)!=(0|0); - if (!($19)) { - STACKTOP = sp;return; - } + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)>=(0); + if ($7) { + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + _robust_close($8,$11,31321); + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 12|0); + HEAP32[$13>>2] = -1; } - HEAP32[$ap>>2] = $varargs; - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = (_sqlite3VMPrintf($20,$21,$ap)|0); - HEAP32[$z>>2] = $22; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 244|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$z>>2]|0; - _sqlite3ValueSetStr($25,-1,$26,1,170); - STACKTOP = sp;return; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 28|0); + $16 = HEAP32[$15>>2]|0; + _sqlite3_free($16); + $17 = HEAP32[$2>>2]|0; + dest=$17; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return 0; } -function _sqlite3MallocZero($0,$1) { +function _nolockIoFinderImpl($0,$1) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp; - $p = sp + 8|0; - $3 = $2; - $4 = $3; - HEAP32[$4>>2] = $0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = $1; - $7 = $2; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3Malloc($9,$12)|0); - HEAP32[$p>>2] = $13; - $14 = HEAP32[$p>>2]|0; - $15 = ($14|0)!=(0|0); - if (!($15)) { - $23 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($23|0); - } - $16 = HEAP32[$p>>2]|0; - $17 = $2; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - _memset(($16|0),0,($19|0))|0; - $23 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($23|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + STACKTOP = sp;return (1776|0); } -function _sqlite3Error($db,$err_code) { - $db = $db|0; - $err_code = $err_code|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _nolockClose($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $err_code; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 52|0); - HEAP32[$4>>2] = $2; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)!=(0); - if (!($6)) { - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 244|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; - } - } - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - _sqlite3ErrorFinish($11,$12); - STACKTOP = sp;return; + $3 = (_closeUnixFile($2)|0); + STACKTOP = sp;return ($3|0); } -function _sqlite3BtreeEnter($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _nolockLock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $2; - STACKTOP = sp;return; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + STACKTOP = sp;return 0; } -function _isFatalError($rc) { - $rc = $rc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; +function _nolockUnlock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $rc; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0); - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)!=(5); - $or$cond = $2 & $4; - if (!($or$cond)) { - $8 = 0; - $7 = $8&1; - STACKTOP = sp;return ($7|0); - } - $5 = HEAP32[$0>>2]|0; - $6 = ($5|0)!=(6); - $8 = $6; - $7 = $8&1; - STACKTOP = sp;return ($7|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + STACKTOP = sp;return 0; } -function _sqlite3BtreeIsInReadTrans($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _nolockCheckReservedLock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(0); - $6 = $5&1; - STACKTOP = sp;return ($6|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + HEAP32[$4>>2] = 0; + STACKTOP = sp;return 0; } -function _sqlite3BtreeBeginTrans($p,$wrflag) { - $p = $p|0; - $wrflag = $wrflag|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond9 = 0, $pBlock = 0, $pBt = 0, $pIter = 0, $pPage1 = 0, $rc = 0, label = 0, sp = 0; +function _mkFullPathname($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $pBt = sp + 16|0; - $rc = sp + 12|0; - $pBlock = sp + 8|0; - $pIter = sp + 4|0; - $pPage1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $wrflag; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pBt>>2] = $4; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($5); - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($9|0)==(2); + $vararg_buffer = sp; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = (_sqlite3Strlen30($9)|0); + HEAP32[$7>>2] = $10; + HEAP32[$8>>2] = 0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP8[$11>>0]|0; + $13 = $12 << 24 >> 24; + $14 = ($13|0)!=(47); do { - if (!($10)) { - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)!=(1); - $16 = HEAP32[$1>>2]|0; - $17 = ($16|0)!=(0); - $or$cond = $15 | $17; - if ($or$cond) { - $18 = HEAP32[$pBt>>2]|0; - $19 = ((($18)) + 22|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - $22 = $21 & 1; - $23 = ($22|0)!=(0); - $24 = HEAP32[$1>>2]|0; - $25 = ($24|0)!=(0); - $or$cond3 = $23 & $25; - if ($or$cond3) { - HEAP32[$rc>>2] = 8; - break; - } - HEAP32[$pBlock>>2] = 0; - $26 = HEAP32[$1>>2]|0; - $27 = ($26|0)!=(0); - if ($27) { - $28 = HEAP32[$pBt>>2]|0; - $29 = ((($28)) + 20|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = ($31|0)==(2); - if ($32) { - label = 8; - } else { - label = 7; - } - } else { - label = 7; - } - L9: do { - if ((label|0) == 7) { - $33 = HEAP32[$pBt>>2]|0; - $34 = ((($33)) + 22|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35&65535; - $37 = $36 & 64; - $38 = ($37|0)!=(0); - if ($38) { - label = 8; - } else { - $43 = HEAP32[$1>>2]|0; - $44 = ($43|0)>(1); - if ($44) { - $45 = HEAP32[$pBt>>2]|0; - $46 = ((($45)) + 72|0); - $47 = HEAP32[$46>>2]|0; - HEAP32[$pIter>>2] = $47; - while(1) { - $48 = HEAP32[$pIter>>2]|0; - $49 = ($48|0)!=(0|0); - if (!($49)) { - break L9; - } - $50 = HEAP32[$pIter>>2]|0; - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$0>>2]|0; - $53 = ($51|0)!=($52|0); - $54 = HEAP32[$pIter>>2]|0; - if ($53) { - break; - } - $57 = ((($54)) + 12|0); - $58 = HEAP32[$57>>2]|0; - HEAP32[$pIter>>2] = $58; - } - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$55>>2]|0; - HEAP32[$pBlock>>2] = $56; - } - } - } - } while(0); - if ((label|0) == 8) { - $39 = HEAP32[$pBt>>2]|0; - $40 = ((($39)) + 76|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$41>>2]|0; - HEAP32[$pBlock>>2] = $42; - } - $59 = HEAP32[$pBlock>>2]|0; - $60 = ($59|0)!=(0|0); - if ($60) { - HEAP32[$rc>>2] = 262; - break; - } - $61 = HEAP32[$0>>2]|0; - $62 = (_querySharedCacheTableLock($61,1,1)|0); - HEAP32[$rc>>2] = $62; - $63 = HEAP32[$rc>>2]|0; - $64 = (0)!=($63|0); - if (!($64)) { - $65 = HEAP32[$pBt>>2]|0; - $66 = ((($65)) + 22|0); - $67 = HEAP16[$66>>1]|0; - $68 = $67&65535; - $69 = $68 & -9; - $70 = $69&65535; - HEAP16[$66>>1] = $70; - $71 = HEAP32[$pBt>>2]|0; - $72 = ((($71)) + 44|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = HEAP32[$pBt>>2]|0; - $76 = ((($75)) + 22|0); - $77 = HEAP16[$76>>1]|0; - $78 = $77&65535; - $79 = $78 | 8; - $80 = $79&65535; - HEAP16[$76>>1] = $80; - } - while(1) { - $81 = HEAP32[$pBt>>2]|0; - $82 = ((($81)) + 12|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)==(0|0); - if ($84) { - $85 = HEAP32[$pBt>>2]|0; - $86 = (_lockBtree($85)|0); - HEAP32[$rc>>2] = $86; - $87 = (0)==($86|0); - if ($87) { - continue; - } - } - $88 = HEAP32[$rc>>2]|0; - $89 = ($88|0)==(0); - $90 = HEAP32[$1>>2]|0; - $91 = ($90|0)!=(0); - $or$cond5 = $89 & $91; - do { - if ($or$cond5) { - $92 = HEAP32[$pBt>>2]|0; - $93 = ((($92)) + 22|0); - $94 = HEAP16[$93>>1]|0; - $95 = $94&65535; - $96 = $95 & 1; - $97 = ($96|0)!=(0); - if ($97) { - HEAP32[$rc>>2] = 8; - break; - } - $98 = HEAP32[$pBt>>2]|0; - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$1>>2]|0; - $101 = ($100|0)>(1); - $102 = $101&1; - $103 = HEAP32[$0>>2]|0; - $104 = HEAP32[$103>>2]|0; - $105 = (_sqlite3TempInMemory($104)|0); - $106 = (_sqlite3PagerBegin($99,$102,$105)|0); - HEAP32[$rc>>2] = $106; - $107 = HEAP32[$rc>>2]|0; - $108 = ($107|0)==(0); - if ($108) { - $109 = HEAP32[$pBt>>2]|0; - $110 = (_newDatabase($109)|0); - HEAP32[$rc>>2] = $110; - } - } - } while(0); - $111 = HEAP32[$rc>>2]|0; - $112 = ($111|0)!=(0); - if ($112) { - $113 = HEAP32[$pBt>>2]|0; - _unlockBtreeIfUnused($113); - } - $114 = HEAP32[$rc>>2]|0; - $115 = $114 & 255; - $116 = ($115|0)==(5); - if (!($116)) { - break; - } - $117 = HEAP32[$pBt>>2]|0; - $118 = ((($117)) + 20|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119&255; - $121 = ($120|0)==(0); - if (!($121)) { - break; - } - $122 = HEAP32[$pBt>>2]|0; - $123 = (_btreeInvokeBusyHandler($122)|0); - $124 = ($123|0)!=(0); - if (!($124)) { - break; - } - } - $125 = HEAP32[$rc>>2]|0; - $126 = ($125|0)==(0); - if ($126) { - $127 = HEAP32[$0>>2]|0; - $128 = ((($127)) + 8|0); - $129 = HEAP8[$128>>0]|0; - $130 = $129&255; - $131 = ($130|0)==(0); - if ($131) { - $132 = HEAP32[$pBt>>2]|0; - $133 = ((($132)) + 40|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($134) + 1)|0; - HEAP32[$133>>2] = $135; - $136 = HEAP32[$0>>2]|0; - $137 = ((($136)) + 9|0); - $138 = HEAP8[$137>>0]|0; - $139 = ($138<<24>>24)!=(0); - if ($139) { - $140 = HEAP32[$0>>2]|0; - $141 = ((($140)) + 32|0); - $142 = ((($141)) + 8|0); - HEAP8[$142>>0] = 1; - $143 = HEAP32[$pBt>>2]|0; - $144 = ((($143)) + 72|0); - $145 = HEAP32[$144>>2]|0; - $146 = HEAP32[$0>>2]|0; - $147 = ((($146)) + 32|0); - $148 = ((($147)) + 12|0); - HEAP32[$148>>2] = $145; - $149 = HEAP32[$0>>2]|0; - $150 = ((($149)) + 32|0); - $151 = HEAP32[$pBt>>2]|0; - $152 = ((($151)) + 72|0); - HEAP32[$152>>2] = $150; - } - } - $153 = HEAP32[$1>>2]|0; - $154 = ($153|0)!=(0); - $155 = $154 ? 2 : 1; - $156 = $155&255; - $157 = HEAP32[$0>>2]|0; - $158 = ((($157)) + 8|0); - HEAP8[$158>>0] = $156; - $159 = HEAP32[$0>>2]|0; - $160 = ((($159)) + 8|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161&255; - $163 = HEAP32[$pBt>>2]|0; - $164 = ((($163)) + 20|0); - $165 = HEAP8[$164>>0]|0; - $166 = $165&255; - $167 = ($162|0)>($166|0); - if ($167) { - $168 = HEAP32[$0>>2]|0; - $169 = ((($168)) + 8|0); - $170 = HEAP8[$169>>0]|0; - $171 = HEAP32[$pBt>>2]|0; - $172 = ((($171)) + 20|0); - HEAP8[$172>>0] = $170; - } - $173 = HEAP32[$1>>2]|0; - $174 = ($173|0)!=(0); - if ($174) { - $175 = HEAP32[$pBt>>2]|0; - $176 = ((($175)) + 12|0); - $177 = HEAP32[$176>>2]|0; - HEAP32[$pPage1>>2] = $177; - $178 = HEAP32[$0>>2]|0; - $179 = HEAP32[$pBt>>2]|0; - $180 = ((($179)) + 76|0); - HEAP32[$180>>2] = $178; - $181 = HEAP32[$pBt>>2]|0; - $182 = ((($181)) + 22|0); - $183 = HEAP16[$182>>1]|0; - $184 = $183&65535; - $185 = $184 & -33; - $186 = $185&65535; - HEAP16[$182>>1] = $186; - $187 = HEAP32[$1>>2]|0; - $188 = ($187|0)>(1); - if ($188) { - $189 = HEAP32[$pBt>>2]|0; - $190 = ((($189)) + 22|0); - $191 = HEAP16[$190>>1]|0; - $192 = $191&65535; - $193 = $192 | 32; - $194 = $193&65535; - HEAP16[$190>>1] = $194; - } - $195 = HEAP32[$pBt>>2]|0; - $196 = ((($195)) + 44|0); - $197 = HEAP32[$196>>2]|0; - $198 = HEAP32[$pPage1>>2]|0; - $199 = ((($198)) + 56|0); - $200 = HEAP32[$199>>2]|0; - $201 = ((($200)) + 28|0); - $202 = (_sqlite3Get4byte($201)|0); - $203 = ($197|0)!=($202|0); - if ($203) { - $204 = HEAP32[$pPage1>>2]|0; - $205 = ((($204)) + 72|0); - $206 = HEAP32[$205>>2]|0; - $207 = (_sqlite3PagerWrite($206)|0); - HEAP32[$rc>>2] = $207; - $208 = HEAP32[$rc>>2]|0; - $209 = ($208|0)==(0); - if ($209) { - $210 = HEAP32[$pPage1>>2]|0; - $211 = ((($210)) + 56|0); - $212 = HEAP32[$211>>2]|0; - $213 = ((($212)) + 28|0); - $214 = HEAP32[$pBt>>2]|0; - $215 = ((($214)) + 44|0); - $216 = HEAP32[$215>>2]|0; - _sqlite3Put4byte($213,$216); - } - } - } - } - } + if ($14) { + $15 = HEAP32[(1456)>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$6>>2]|0; + $18 = (($17) - 2)|0; + $19 = (FUNCTION_TABLE_iii[$15 & 255]($16,$18)|0); + $20 = ($19|0)==(0|0); + if (!($20)) { + $24 = HEAP32[$5>>2]|0; + $25 = (_sqlite3Strlen30($24)|0); + HEAP32[$8>>2] = $25; + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$8>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$8>>2] = $28; + $29 = (($26) + ($27)|0); + HEAP8[$29>>0] = 47; + break; } + $21 = (_sqlite3CantopenError(35379)|0); + $22 = HEAP32[$4>>2]|0; + $23 = (_unixLogErrorAtLine($21,21054,$22,35379)|0); + HEAP32[$3>>2] = $23; + $47 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($47|0); } } while(0); - $217 = HEAP32[$rc>>2]|0; - $218 = ($217|0)==(0); - $219 = HEAP32[$1>>2]|0; - $220 = ($219|0)!=(0); - $or$cond9 = $218 & $220; - if (!($or$cond9)) { - $228 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($228|0); + $30 = HEAP32[$8>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = (($30) + ($31))|0; + $33 = (($32) + 1)|0; + $34 = HEAP32[$6>>2]|0; + $35 = ($33|0)>($34|0); + if ($35) { + $36 = HEAP32[$5>>2]|0; + $37 = HEAP32[$8>>2]|0; + $38 = (($36) + ($37)|0); + HEAP8[$38>>0] = 0; + $39 = (_sqlite3CantopenError(35388)|0); + HEAP32[$3>>2] = $39; + $47 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($47|0); + } else { + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$8>>2]|0; + $42 = (($40) - ($41))|0; + $43 = HEAP32[$5>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = (($43) + ($44)|0); + $46 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer>>2] = $46; + (_sqlite3_snprintf($42,$45,21240,$vararg_buffer)|0); + HEAP32[$3>>2] = 0; + $47 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($47|0); } - $221 = HEAP32[$pBt>>2]|0; - $222 = HEAP32[$221>>2]|0; - $223 = HEAP32[$0>>2]|0; - $224 = HEAP32[$223>>2]|0; - $225 = ((($224)) + 432|0); - $226 = HEAP32[$225>>2]|0; - $227 = (_sqlite3PagerOpenSavepoint($222,$226)|0); - HEAP32[$rc>>2] = $227; - $228 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($228|0); -} -function _setDestPgsz($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 24|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3BtreeGetPageSize($6)|0); - $8 = (_sqlite3BtreeSetPageSize($3,$7,-1,0)|0); - HEAP32[$rc>>2] = $8; - $9 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($9|0); + return (0)|0; } -function _sqlite3BtreeGetMeta($p,$idx,$pMeta) { - $p = $p|0; - $idx = $idx|0; - $pMeta = $pMeta|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, label = 0, sp = 0; +function _findReusableFd($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $idx; - HEAP32[$2>>2] = $pMeta; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pBt>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($6); - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)==(15); - if ($8) { - $9 = HEAP32[$pBt>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3PagerDataVersion($10)|0); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 20|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($11) + ($14))|0; - $16 = HEAP32[$2>>2]|0; - HEAP32[$16>>2] = $15; - STACKTOP = sp;return; - } else { - $17 = HEAP32[$1>>2]|0; - $18 = $17<<2; - $19 = (36 + ($18))|0; - $20 = HEAP32[$pBt>>2]|0; - $21 = ((($20)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($22)) + 56|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($19)|0); - $26 = (_sqlite3Get4byte($25)|0); - $27 = HEAP32[$2>>2]|0; - HEAP32[$27>>2] = $26; - STACKTOP = sp;return; - } -} -function _sqlite3BtreeGetPageSize($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 32|0); - $5 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($5|0); -} -function _sqlite3PagerGetJournalMode($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 5|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - STACKTOP = sp;return ($4|0); -} -function _sqlite3BtreeLastPage($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_btreePagecount($3)|0); - STACKTOP = sp;return ($4|0); -} -function _sqlite3PagerGet($pPager,$pgno,$ppPage,$flags) { - $pPager = $pPager|0; - $pgno = $pgno|0; - $ppPage = $ppPage|0; - $flags = $flags|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $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, $bMmapOk = 0, $iFrame = 0, $noContent = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pBase = 0, $pData = 0, $pPg = 0, $rc = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $rc = sp + 24|0; - $pPg = sp + 20|0; - $iFrame = sp + 16|0; - $noContent = sp + 12|0; - $bMmapOk = sp + 8|0; - $pData = sp + 4|0; - $pBase = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $ppPage; - HEAP32[$4>>2] = $flags; - HEAP32[$rc>>2] = 0; - HEAP32[$pPg>>2] = 0; - HEAP32[$iFrame>>2] = 0; - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 1; - HEAP32[$noContent>>2] = $6; - $7 = 0; - HEAP32[$bMmapOk>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = ($8>>>0)<=(1); - $10 = HEAP32[$2>>2]|0; - $11 = ($10|0)==(0); - $or$cond = $9 & $11; - if ($or$cond) { - $12 = (_sqlite3CorruptError(51704)|0); - HEAP32[$0>>2] = $12; - $206 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($206|0); + STACKTOP = STACKTOP + 96|0; + $2 = sp + 92|0; + $3 = sp + 88|0; + $4 = sp + 84|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $8 = HEAP32[(1468)>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = (FUNCTION_TABLE_iii[$8 & 255]($9,$5)|0); + $11 = (0)==($10|0); + if (!($11)) { + $51 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($51|0); } - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 44|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0); - do { - if ($16) { - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 44|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$rc>>2] = $19; - label = 24; - } else { - $20 = HEAP32[$bMmapOk>>2]|0; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = (_sqlite3PagerUseWal($22)|0); - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 216|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$2>>2]|0; - $29 = (_sqlite3WalFindFrame($27,$28,$iFrame)|0); - HEAP32[$rc>>2] = $29; - $30 = HEAP32[$rc>>2]|0; - $31 = ($30|0)!=(0); - if ($31) { - break; - } - } - } - $32 = HEAP32[$bMmapOk>>2]|0; - $33 = ($32|0)!=(0); - $34 = HEAP32[$iFrame>>2]|0; - $35 = ($34|0)==(0); - $or$cond3 = $33 & $35; - if ($or$cond3) { - HEAP32[$pData>>2] = 0; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 64|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = (($39) - 1)|0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 160|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)<(0); - $45 = $44 << 31 >> 31; - $46 = (___muldi3(($40|0),0,($43|0),($45|0))|0); - $47 = tempRet0; - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 160|0); - $50 = HEAP32[$49>>2]|0; - $51 = (_sqlite3OsFetch($38,$46,$47,$50,$pData)|0); - HEAP32[$rc>>2] = $51; - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)==(0); - $54 = HEAP32[$pData>>2]|0; - $55 = ($54|0)!=(0|0); - $or$cond5 = $53 & $55; - if ($or$cond5) { - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 17|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = ($59|0)>(1); - if ($60) { - label = 12; - } else { - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 13|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = ($64|0)!=(0); - if ($65) { - label = 12; - } - } - if ((label|0) == 12) { - $66 = HEAP32[$1>>2]|0; - $67 = HEAP32[$2>>2]|0; - $68 = (_sqlite3PagerLookup($66,$67)|0); - HEAP32[$pPg>>2] = $68; - } - $69 = HEAP32[$pPg>>2]|0; - $70 = ($69|0)==(0|0); - $71 = HEAP32[$1>>2]|0; - if ($70) { - $72 = HEAP32[$2>>2]|0; - $73 = HEAP32[$pData>>2]|0; - $74 = (_pagerAcquireMapPage($71,$72,$73,$pPg)|0); - HEAP32[$rc>>2] = $74; - } else { - $75 = ((($71)) + 64|0); - $76 = HEAP32[$75>>2]|0; - $77 = HEAP32[$2>>2]|0; - $78 = (($77) - 1)|0; - $79 = HEAP32[$1>>2]|0; - $80 = ((($79)) + 160|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)<(0); - $83 = $82 << 31 >> 31; - $84 = (___muldi3(($78|0),0,($81|0),($83|0))|0); - $85 = tempRet0; - $86 = HEAP32[$pData>>2]|0; - (_sqlite3OsUnfetch($76,$84,$85,$86)|0); - } - $87 = HEAP32[$pPg>>2]|0; - $88 = ($87|0)!=(0|0); - if ($88) { - $89 = HEAP32[$pPg>>2]|0; - $90 = HEAP32[$3>>2]|0; - HEAP32[$90>>2] = $89; - HEAP32[$0>>2] = 0; - $206 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($206|0); - } - } - $91 = HEAP32[$rc>>2]|0; - $92 = ($91|0)!=(0); - if ($92) { - break; - } - } - $93 = HEAP32[$1>>2]|0; - $94 = ((($93)) + 212|0); - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$2>>2]|0; - $97 = (_sqlite3PcacheFetch($95,$96,3)|0); - HEAP32[$pBase>>2] = $97; - $98 = HEAP32[$pBase>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 212|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$2>>2]|0; - $104 = (_sqlite3PcacheFetchStress($102,$103,$pBase)|0); - HEAP32[$rc>>2] = $104; - $105 = HEAP32[$rc>>2]|0; - $106 = ($105|0)!=(0); - if ($106) { - break; - } - $107 = HEAP32[$pBase>>2]|0; - $108 = ($107|0)==(0|0); - if ($108) { - $109 = HEAP32[$3>>2]|0; - HEAP32[$109>>2] = 0; - HEAP32[$pPg>>2] = 0; - HEAP32[$rc>>2] = 7; - break; - } + _unixEnterMutex(); + $12 = HEAP32[13699]|0; + HEAP32[$6>>2] = $12; + while(1) { + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = ($16|0)!=($17|0); + if ($18) { + $52 = 1; + } else { + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($5)) + 72|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($21|0)!=($23|0); + $52 = $24; } - $110 = HEAP32[$1>>2]|0; - $111 = ((($110)) + 212|0); - $112 = HEAP32[$111>>2]|0; - $113 = HEAP32[$2>>2]|0; - $114 = HEAP32[$pBase>>2]|0; - $115 = (_sqlite3PcacheFetchFinish($112,$113,$114)|0); - $116 = HEAP32[$3>>2]|0; - HEAP32[$116>>2] = $115; - HEAP32[$pPg>>2] = $115; - label = 24; + } else { + $52 = 0; } - } while(0); - do { - if ((label|0) == 24) { - $117 = HEAP32[$rc>>2]|0; - $118 = ($117|0)!=(0); - if ($118) { - HEAP32[$pPg>>2] = 0; + $25 = HEAP32[$6>>2]|0; + if (!($52)) { + break; + } + $26 = ((($25)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$6>>2] = $27; + } + $28 = ($25|0)!=(0|0); + if ($28) { + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 28|0); + HEAP32[$7>>2] = $30; + while(1) { + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0|0); + if (!($33)) { break; } - $119 = HEAP32[$pPg>>2]|0; - $120 = ((($119)) + 16|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($121|0)==(0|0); - $123 = HEAP32[$noContent>>2]|0; - $124 = ($123|0)!=(0); - $or$cond7 = $122 | $124; - $125 = HEAP32[$1>>2]|0; - if (!($or$cond7)) { - $126 = ((($125)) + 192|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($127) + 1)|0; - HEAP32[$126>>2] = $128; - HEAP32[$0>>2] = 0; - $206 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($206|0); - } - $129 = HEAP32[$pPg>>2]|0; - $130 = ((($129)) + 16|0); - HEAP32[$130>>2] = $125; - $131 = HEAP32[$2>>2]|0; - $132 = ($131>>>0)>(2147483647); - if (!($132)) { - $133 = HEAP32[$2>>2]|0; - $134 = HEAP32[1536>>2]|0; - $135 = HEAP32[$1>>2]|0; - $136 = ((($135)) + 160|0); - $137 = HEAP32[$136>>2]|0; - $138 = (($134|0) / ($137|0))&-1; - $139 = (($138) + 1)|0; - $140 = ($133|0)==($139|0); - if (!($140)) { - $142 = HEAP32[$1>>2]|0; - $143 = ((($142)) + 64|0); - $144 = HEAP32[$143>>2]|0; - $145 = HEAP32[$144>>2]|0; - $146 = ($145|0)!=(0|0); - if ($146) { - $147 = HEAP32[$1>>2]|0; - $148 = ((($147)) + 28|0); - $149 = HEAP32[$148>>2]|0; - $150 = HEAP32[$2>>2]|0; - $151 = ($149>>>0)<($150>>>0); - $152 = HEAP32[$noContent>>2]|0; - $153 = ($152|0)!=(0); - $or$cond9 = $151 | $153; - if ($or$cond9) { - label = 33; - } else { - $178 = HEAP32[$1>>2]|0; - $179 = (_sqlite3PagerUseWal($178)|0); - $180 = ($179|0)!=(0); - $181 = HEAP32[$bMmapOk>>2]|0; - $182 = ($181|0)==(0); - $or$cond11 = $180 & $182; - if ($or$cond11) { - $183 = HEAP32[$1>>2]|0; - $184 = ((($183)) + 216|0); - $185 = HEAP32[$184>>2]|0; - $186 = HEAP32[$2>>2]|0; - $187 = (_sqlite3WalFindFrame($185,$186,$iFrame)|0); - HEAP32[$rc>>2] = $187; - $188 = HEAP32[$rc>>2]|0; - $189 = ($188|0)!=(0); - if ($189) { - break; - } - } - $190 = HEAP32[$1>>2]|0; - $191 = ((($190)) + 192|0); - $192 = ((($191)) + 4|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193) + 1)|0; - HEAP32[$192>>2] = $194; - $195 = HEAP32[$pPg>>2]|0; - $196 = HEAP32[$iFrame>>2]|0; - $197 = (_readDbPage($195,$196)|0); - HEAP32[$rc>>2] = $197; - $198 = HEAP32[$rc>>2]|0; - $199 = ($198|0)!=(0); - if ($199) { - break; - } - } - } else { - label = 33; - } - if ((label|0) == 33) { - $154 = HEAP32[$2>>2]|0; - $155 = HEAP32[$1>>2]|0; - $156 = ((($155)) + 164|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($154>>>0)>($157>>>0); - if ($158) { - HEAP32[$rc>>2] = 13; - break; - } - $159 = HEAP32[$noContent>>2]|0; - $160 = ($159|0)!=(0); - if ($160) { - _sqlite3BeginBenignMalloc(); - $161 = HEAP32[$2>>2]|0; - $162 = HEAP32[$1>>2]|0; - $163 = ((($162)) + 32|0); - $164 = HEAP32[$163>>2]|0; - $165 = ($161>>>0)<=($164>>>0); - if ($165) { - $166 = HEAP32[$1>>2]|0; - $167 = ((($166)) + 60|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[$2>>2]|0; - (_sqlite3BitvecSet($168,$169)|0); - } - $170 = HEAP32[$1>>2]|0; - $171 = HEAP32[$2>>2]|0; - (_addToSavepointBitvecs($170,$171)|0); - _sqlite3EndBenignMalloc(); - } - $172 = HEAP32[$pPg>>2]|0; - $173 = ((($172)) + 4|0); - $174 = HEAP32[$173>>2]|0; - $175 = HEAP32[$1>>2]|0; - $176 = ((($175)) + 160|0); - $177 = HEAP32[$176>>2]|0; - _memset(($174|0),0,($177|0))|0; - } - HEAP32[$0>>2] = 0; - $206 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($206|0); - } + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$3>>2]|0; + $39 = ($37|0)!=($38|0); + if (!($39)) { + break; } - $141 = (_sqlite3CorruptError(51793)|0); - HEAP32[$rc>>2] = $141; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$40>>2]|0; + $42 = ((($41)) + 8|0); + HEAP32[$7>>2] = $42; + } + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$43>>2]|0; + HEAP32[$4>>2] = $44; + $45 = HEAP32[$4>>2]|0; + $46 = ($45|0)!=(0|0); + if ($46) { + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$7>>2]|0; + HEAP32[$50>>2] = $49; } - } while(0); - $200 = HEAP32[$pPg>>2]|0; - $201 = ($200|0)!=(0|0); - if ($201) { - $202 = HEAP32[$pPg>>2]|0; - _sqlite3PcacheDrop($202); } - $203 = HEAP32[$1>>2]|0; - _pagerUnlockIfUnused($203); - $204 = HEAP32[$3>>2]|0; - HEAP32[$204>>2] = 0; - $205 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $205; - $206 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($206|0); -} -function _sqlite3PagerGetData($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + _unixLeaveMutex(); + $51 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($51|0); } -function _backupOnePage($p,$iSrcPg,$zSrcData,$bUpdate) { - $p = $p|0; - $iSrcPg = $iSrcPg|0; - $zSrcData = $zSrcData|0; - $bUpdate = $bUpdate|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $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, $iDest = 0, $iEnd = 0, $iOff = 0, $nCopy = 0, $nDestPgsz = 0, $nSrcPgsz = 0, $or$cond = 0, $pDestPager = 0, $pDestPg = 0, $rc = 0; - var $zDestData = 0, $zIn = 0, $zOut = 0, label = 0, sp = 0; +function _findCreateFileMode($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $3 = sp + 56|0; - $pDestPager = sp + 52|0; - $nSrcPgsz = sp + 48|0; - $nDestPgsz = sp + 44|0; - $nCopy = sp + 40|0; - $iEnd = sp + 8|0; - $rc = sp + 36|0; - $iOff = sp; - $pDestPg = sp + 32|0; - $iDest = sp + 28|0; - $zIn = sp + 24|0; - $zDestData = sp + 20|0; - $zOut = sp + 16|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iSrcPg; - HEAP32[$2>>2] = $zSrcData; - HEAP32[$3>>2] = $bUpdate; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3BtreePager($6)|0); - HEAP32[$pDestPager>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3BtreeGetPageSize($10)|0); - HEAP32[$nSrcPgsz>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3BtreeGetPageSize($14)|0); - HEAP32[$nDestPgsz>>2] = $15; - $16 = HEAP32[$nSrcPgsz>>2]|0; - $17 = HEAP32[$nDestPgsz>>2]|0; - $18 = ($16|0)<($17|0); - $19 = HEAP32[$nSrcPgsz>>2]|0; - $20 = HEAP32[$nDestPgsz>>2]|0; - $21 = $18 ? $19 : $20; - HEAP32[$nCopy>>2] = $21; - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$nSrcPgsz>>2]|0; - $24 = ($23|0)<(0); - $25 = $24 << 31 >> 31; - $26 = (___muldi3(($22|0),0,($23|0),($25|0))|0); - $27 = tempRet0; - $28 = $iEnd; - $29 = $28; - HEAP32[$29>>2] = $26; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = $27; - HEAP32[$rc>>2] = 0; - $32 = HEAP32[$nSrcPgsz>>2]|0; - $33 = HEAP32[$nDestPgsz>>2]|0; - $34 = ($32|0)!=($33|0); - if ($34) { - $35 = HEAP32[$pDestPager>>2]|0; - $36 = (_sqlite3PagerIsMemdb($35)|0); - $37 = ($36|0)!=(0); - if ($37) { - HEAP32[$rc>>2] = 8; - } - } - $38 = $iEnd; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$nSrcPgsz>>2]|0; - $45 = ($44|0)<(0); - $46 = $45 << 31 >> 31; - $47 = (_i64Subtract(($40|0),($43|0),($44|0),($46|0))|0); - $48 = tempRet0; - $49 = $iOff; - $50 = $49; - HEAP32[$50>>2] = $47; - $51 = (($49) + 4)|0; - $52 = $51; - HEAP32[$52>>2] = $48; - while(1) { - $53 = HEAP32[$rc>>2]|0; - $54 = ($53|0)==(0); - if (!($54)) { - label = 14; - break; - } - $55 = $iOff; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (($55) + 4)|0; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = $iEnd; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = ($60|0)<($66|0); - $68 = ($57>>>0)<($63>>>0); - $69 = ($60|0)==($66|0); - $70 = $69 & $68; - $71 = $67 | $70; - if (!($71)) { - label = 14; - break; - } - HEAP32[$pDestPg>>2] = 0; - $72 = $iOff; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$nDestPgsz>>2]|0; - $79 = ($78|0)<(0); - $80 = $79 << 31 >> 31; - $81 = (___divdi3(($74|0),($77|0),($78|0),($80|0))|0); - $82 = tempRet0; - $83 = (($81) + 1)|0; - HEAP32[$iDest>>2] = $83; - $84 = HEAP32[$iDest>>2]|0; - $85 = HEAP32[1536>>2]|0; - $86 = HEAP32[$0>>2]|0; - $87 = ((($86)) + 4|0); - $88 = HEAP32[$87>>2]|0; - $89 = ((($88)) + 4|0); - $90 = HEAP32[$89>>2]|0; - $91 = ((($90)) + 32|0); - $92 = HEAP32[$91>>2]|0; - $93 = (($85>>>0) / ($92>>>0))&-1; - $94 = (($93) + 1)|0; - $95 = ($84|0)==($94|0); - if (!($95)) { - $96 = HEAP32[$pDestPager>>2]|0; - $97 = HEAP32[$iDest>>2]|0; - $98 = (_sqlite3PagerGet($96,$97,$pDestPg,0)|0); - HEAP32[$rc>>2] = $98; - $99 = (0)==($98|0); - if ($99) { - $100 = HEAP32[$pDestPg>>2]|0; - $101 = (_sqlite3PagerWrite($100)|0); - HEAP32[$rc>>2] = $101; - $102 = (0)==($101|0); - if ($102) { - $103 = $iOff; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = (($103) + 4)|0; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = HEAP32[$nSrcPgsz>>2]|0; - $110 = ($109|0)<(0); - $111 = $110 << 31 >> 31; - $112 = (___remdi3(($105|0),($108|0),($109|0),($111|0))|0); - $113 = tempRet0; - $114 = HEAP32[$2>>2]|0; - $115 = (($114) + ($112)|0); - HEAP32[$zIn>>2] = $115; - $116 = HEAP32[$pDestPg>>2]|0; - $117 = (_sqlite3PagerGetData($116)|0); - HEAP32[$zDestData>>2] = $117; - $118 = $iOff; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = (($118) + 4)|0; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$nDestPgsz>>2]|0; - $125 = ($124|0)<(0); - $126 = $125 << 31 >> 31; - $127 = (___remdi3(($120|0),($123|0),($124|0),($126|0))|0); - $128 = tempRet0; - $129 = HEAP32[$zDestData>>2]|0; - $130 = (($129) + ($127)|0); - HEAP32[$zOut>>2] = $130; - $131 = HEAP32[$zOut>>2]|0; - $132 = HEAP32[$zIn>>2]|0; - $133 = HEAP32[$nCopy>>2]|0; - _memcpy(($131|0),($132|0),($133|0))|0; - $134 = HEAP32[$pDestPg>>2]|0; - $135 = (_sqlite3PagerGetExtra($134)|0); - HEAP8[$135>>0] = 0; - $136 = $iOff; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = (($136) + 4)|0; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = ($138|0)==(0); - $143 = ($141|0)==(0); - $144 = $142 & $143; - $145 = HEAP32[$3>>2]|0; - $146 = ($145|0)==(0); - $or$cond = $144 & $146; - if ($or$cond) { - $147 = HEAP32[$zOut>>2]|0; - $148 = ((($147)) + 28|0); - $149 = HEAP32[$0>>2]|0; - $150 = ((($149)) + 24|0); - $151 = HEAP32[$150>>2]|0; - $152 = (_sqlite3BtreeLastPage($151)|0); - _sqlite3Put4byte($148,$152); - } - } + STACKTOP = STACKTOP + 560|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 32|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = 0; + $14 = HEAP32[$7>>2]|0; + HEAP32[$14>>2] = 0; + $15 = HEAP32[$8>>2]|0; + HEAP32[$15>>2] = 0; + $16 = HEAP32[$9>>2]|0; + HEAP32[$16>>2] = 0; + $17 = HEAP32[$6>>2]|0; + $18 = $17 & 526336; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$5>>2]|0; + $21 = (_sqlite3Strlen30($20)|0); + $22 = (($21) - 1)|0; + HEAP32[$12>>2] = $22; + while(1) { + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$12>>2]|0; + $25 = (($23) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($27|0)!=(45); + if (!($28)) { + break; } - $153 = HEAP32[$pDestPg>>2]|0; - _sqlite3PagerUnref($153); + $29 = HEAP32[$12>>2]|0; + $30 = (($29) + -1)|0; + HEAP32[$12>>2] = $30; } - $154 = HEAP32[$nDestPgsz>>2]|0; - $155 = ($154|0)<(0); - $156 = $155 << 31 >> 31; - $157 = $iOff; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = (_i64Add(($159|0),($162|0),($154|0),($156|0))|0); - $164 = tempRet0; - $165 = $iOff; - $166 = $165; - HEAP32[$166>>2] = $163; - $167 = (($165) + 4)|0; - $168 = $167; - HEAP32[$168>>2] = $164; + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$12>>2]|0; + _memcpy(($11|0),($31|0),($32|0))|0; + $33 = HEAP32[$12>>2]|0; + $34 = (($11) + ($33)|0); + HEAP8[$34>>0] = 0; + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$8>>2]|0; + $37 = HEAP32[$9>>2]|0; + $38 = (_getFileMode($11,$35,$36,$37)|0); + HEAP32[$10>>2] = $38; + $55 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($55|0); } - if ((label|0) == 14) { - $169 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($169|0); + $39 = HEAP32[$6>>2]|0; + $40 = $39 & 8; + $41 = ($40|0)!=(0); + if ($41) { + $42 = HEAP32[$7>>2]|0; + HEAP32[$42>>2] = 384; + $55 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($55|0); } - return (0)|0; -} -function _sqlite3PagerUnref($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; + $43 = HEAP32[$6>>2]|0; + $44 = $43 & 64; + $45 = ($44|0)!=(0); + if (!($45)) { + $55 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($55|0); } - $3 = HEAP32[$0>>2]|0; - _sqlite3PagerUnrefNotNull($3); - STACKTOP = sp;return; -} -function _attachBackupObject($p) { - $p = $p|0; - var $0 = 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, $pp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pp = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3BtreePager($3)|0); - $5 = (_sqlite3PagerBackupPtr($4)|0); - HEAP32[$pp>>2] = $5; - $6 = HEAP32[$pp>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 44|0); - HEAP32[$9>>2] = $7; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$pp>>2]|0; - HEAP32[$11>>2] = $10; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 40|0); - HEAP32[$13>>2] = 1; - STACKTOP = sp;return; + $46 = HEAP32[$5>>2]|0; + $47 = (_sqlite3_uri_parameter($46,21594)|0); + HEAP32[$13>>2] = $47; + $48 = HEAP32[$13>>2]|0; + $49 = ($48|0)!=(0|0); + if (!($49)) { + $55 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($55|0); + } + $50 = HEAP32[$13>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$8>>2]|0; + $53 = HEAP32[$9>>2]|0; + $54 = (_getFileMode($50,$51,$52,$53)|0); + HEAP32[$10>>2] = $54; + $55 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($55|0); } -function _sqlite3BtreeNewDb($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _robustFchown($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($1); - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 44|0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_newDatabase($8)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[(1672)>>2]|0; + $7 = (FUNCTION_TABLE_i[$6 & 255]()|0); + $8 = ($7|0)!=(0); + if ($8) { + $14 = 0; + STACKTOP = sp;return ($14|0); + } + $9 = HEAP32[(1660)>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = (FUNCTION_TABLE_iiii[$9 & 255]($10,$11,$12)|0); + $14 = $13; + STACKTOP = sp;return ($14|0); } -function _sqlite3BtreeUpdateMeta($p,$idx,$iMeta) { - $p = $p|0; - $idx = $idx|0; - $iMeta = $iMeta|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $pP1 = 0, $rc = 0, label = 0, sp = 0; +function _fillInUnixFile($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pBt = sp + 8|0; - $pP1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $idx; - HEAP32[$2>>2] = $iMeta; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pBt>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($6); - $7 = HEAP32[$pBt>>2]|0; - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 56|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pP1>>2] = $11; - $12 = HEAP32[$pBt>>2]|0; - $13 = ((($12)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 72|0); - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3PagerWrite($16)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - $32 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($32|0); + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $15 = HEAP32[$7>>2]|0; + HEAP32[$11>>2] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[$6>>2]|0; + $17 = HEAP32[$11>>2]|0; + $18 = ((($17)) + 12|0); + HEAP32[$18>>2] = $16; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$11>>2]|0; + $21 = ((($20)) + 4|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$11>>2]|0; + $24 = ((($23)) + 32|0); + HEAP32[$24>>2] = $22; + $25 = HEAP32[$9>>2]|0; + $26 = $25&255; + $27 = $26&255; + $28 = HEAP32[$11>>2]|0; + $29 = ((($28)) + 18|0); + HEAP16[$29>>1] = $27; + $30 = HEAP32[$9>>2]|0; + $31 = $30 & 64; + $32 = ($31|0)!=(0); + $33 = HEAP32[$8>>2]|0; + $34 = $32 ? $33 : 0; + $35 = (_sqlite3_uri_boolean($34,21404,1)|0); + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$11>>2]|0; + $38 = ((($37)) + 18|0); + $39 = HEAP16[$38>>1]|0; + $40 = $39&65535; + $41 = $40 | 16; + $42 = $41&65535; + HEAP16[$38>>1] = $42; } - $20 = HEAP32[$1>>2]|0; - $21 = $20<<2; - $22 = (36 + ($21))|0; - $23 = HEAP32[$pP1>>2]|0; - $24 = (($23) + ($22)|0); - $25 = HEAP32[$2>>2]|0; - _sqlite3Put4byte($24,$25); - $26 = HEAP32[$1>>2]|0; - $27 = ($26|0)==(7); - if (!($27)) { - $32 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($32|0); + $43 = HEAP32[$5>>2]|0; + $44 = ((($43)) + 16|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_strcmp($45,20995)|0); + $47 = ($46|0)==(0); + if ($47) { + $48 = HEAP32[$11>>2]|0; + $49 = ((($48)) + 18|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = $51 | 1; + $53 = $52&65535; + HEAP16[$49>>1] = $53; } - $28 = HEAP32[$2>>2]|0; - $29 = $28&255; - $30 = HEAP32[$pBt>>2]|0; - $31 = ((($30)) + 18|0); - HEAP8[$31>>0] = $29; - $32 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($32|0); -} -function _sqlite3ResetAllSchemasOfConnection($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pDb = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $i = sp + 4|0; - $pDb = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnterAll($1); - HEAP32[$i>>2] = 0; - while(1) { - $2 = HEAP32[$i>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($2|0)<($5|0); - if (!($6)) { - break; + $54 = HEAP32[$9>>2]|0; + $55 = $54 & 128; + $56 = ($55|0)!=(0); + if ($56) { + HEAP32[$10>>2] = 1776; + } else { + $57 = HEAP32[$5>>2]|0; + $58 = ((($57)) + 20|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$8>>2]|0; + $62 = HEAP32[$11>>2]|0; + $63 = (FUNCTION_TABLE_iii[$60 & 255]($61,$62)|0); + HEAP32[$10>>2] = $63; + } + $64 = HEAP32[$10>>2]|0; + $65 = ($64|0)==(1852|0); + if ($65) { + _unixEnterMutex(); + $66 = HEAP32[$11>>2]|0; + $67 = HEAP32[$11>>2]|0; + $68 = ((($67)) + 8|0); + $69 = (_findInodeInfo($66,$68)|0); + HEAP32[$12>>2] = $69; + $70 = HEAP32[$12>>2]|0; + $71 = ($70|0)!=(0); + if ($71) { + $72 = HEAP32[$11>>2]|0; + $73 = HEAP32[$6>>2]|0; + _robust_close($72,$73,34692); + HEAP32[$6>>2] = -1; } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($7<<4)|0); - HEAP32[$pDb>>2] = $11; - $12 = HEAP32[$pDb>>2]|0; - $13 = ((($12)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$pDb>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3SchemaClear($18); + _unixLeaveMutex(); + } else { + $74 = HEAP32[$10>>2]|0; + $75 = ($74|0)==(1340|0); + if ($75) { + $76 = HEAP32[$8>>2]|0; + $77 = (_strlen($76)|0); + $78 = (($77) + 6)|0; + HEAP32[$14>>2] = $78; + $79 = HEAP32[$14>>2]|0; + $80 = ($79|0)<(0); + $81 = $80 << 31 >> 31; + $82 = (_sqlite3_malloc64($79,$81)|0); + HEAP32[$13>>2] = $82; + $83 = HEAP32[$13>>2]|0; + $84 = ($83|0)==(0|0); + if ($84) { + HEAP32[$12>>2] = 7; + } else { + $85 = HEAP32[$14>>2]|0; + $86 = HEAP32[$13>>2]|0; + $87 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer>>2] = $87; + (_sqlite3_snprintf($85,$86,21409,$vararg_buffer)|0); + } + $88 = HEAP32[$13>>2]|0; + $89 = HEAP32[$11>>2]|0; + $90 = ((($89)) + 24|0); + HEAP32[$90>>2] = $88; } - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; } - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 24|0); - $23 = HEAP32[$22>>2]|0; - $24 = $23 & -3; - HEAP32[$22>>2] = $24; - $25 = HEAP32[$0>>2]|0; - _sqlite3VtabUnlockList($25); - $26 = HEAP32[$0>>2]|0; - _sqlite3CollapseDatabaseArray($26); - STACKTOP = sp;return; -} -function _sqlite3BtreeSetVersion($pBtree,$iVersion) { - $pBtree = $pBtree|0; - $iVersion = $iVersion|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $aData = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pBt = sp + 8|0; - $rc = sp + 4|0; - $aData = sp; - HEAP32[$0>>2] = $pBtree; - HEAP32[$1>>2] = $iVersion; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pBt>>2] = $4; - $5 = HEAP32[$pBt>>2]|0; - $6 = ((($5)) + 22|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = $8 & -17; - $10 = $9&65535; - HEAP16[$6>>1] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ($11|0)==(1); - if ($12) { - $13 = HEAP32[$pBt>>2]|0; - $14 = ((($13)) + 22|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = $16 | 16; - $18 = $17&65535; - HEAP16[$14>>1] = $18; + $91 = HEAP32[$11>>2]|0; + _storeLastErrno($91,0); + $92 = HEAP32[$12>>2]|0; + $93 = ($92|0)!=(0); + if (!($93)) { + $98 = HEAP32[$10>>2]|0; + $99 = HEAP32[$11>>2]|0; + HEAP32[$99>>2] = $98; + $100 = HEAP32[$11>>2]|0; + _verifyDbFile($100); + $101 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($101|0); } - $19 = HEAP32[$0>>2]|0; - $20 = (_sqlite3BtreeBeginTrans($19,0)|0); - HEAP32[$rc>>2] = $20; - $21 = HEAP32[$rc>>2]|0; - $22 = ($21|0)==(0); - do { - if ($22) { - $23 = HEAP32[$pBt>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($25)) + 56|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$aData>>2] = $27; - $28 = HEAP32[$aData>>2]|0; - $29 = ((($28)) + 18|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = HEAP32[$1>>2]|0; - $33 = $32&255; - $34 = $33&255; - $35 = ($31|0)!=($34|0); - if (!($35)) { - $36 = HEAP32[$aData>>2]|0; - $37 = ((($36)) + 19|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = HEAP32[$1>>2]|0; - $41 = $40&255; - $42 = $41&255; - $43 = ($39|0)!=($42|0); - if (!($43)) { - break; - } - } - $44 = HEAP32[$0>>2]|0; - $45 = (_sqlite3BtreeBeginTrans($44,2)|0); - HEAP32[$rc>>2] = $45; - $46 = HEAP32[$rc>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - $48 = HEAP32[$pBt>>2]|0; - $49 = ((($48)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ((($50)) + 72|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_sqlite3PagerWrite($52)|0); - HEAP32[$rc>>2] = $53; - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)==(0); - if ($55) { - $56 = HEAP32[$1>>2]|0; - $57 = $56&255; - $58 = HEAP32[$aData>>2]|0; - $59 = ((($58)) + 18|0); - HEAP8[$59>>0] = $57; - $60 = HEAP32[$1>>2]|0; - $61 = $60&255; - $62 = HEAP32[$aData>>2]|0; - $63 = ((($62)) + 19|0); - HEAP8[$63>>0] = $61; - } - } - } - } while(0); - $64 = HEAP32[$pBt>>2]|0; - $65 = ((($64)) + 22|0); - $66 = HEAP16[$65>>1]|0; - $67 = $66&65535; - $68 = $67 & -17; - $69 = $68&65535; - HEAP16[$65>>1] = $69; - $70 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($70|0); -} -function _sqlite3PagerFile($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 64|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + $94 = HEAP32[$6>>2]|0; + $95 = ($94|0)>=(0); + if (!($95)) { + $101 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($101|0); + } + $96 = HEAP32[$11>>2]|0; + $97 = HEAP32[$6>>2]|0; + _robust_close($96,$97,34777); + $101 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($101|0); } -function _sqlite3PagerPagecount($pPager,$pnPage) { - $pPager = $pPager|0; - $pnPage = $pnPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _sqlite3_uri_boolean($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, $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; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pnPage; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - HEAP32[$5>>2] = $4; - STACKTOP = sp;return; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (_sqlite3_uri_parameter($7,$8)|0); + HEAP32[$6>>2] = $9; + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)!=(0); + $12 = $11&1; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = $16&255; + $18 = (_sqlite3GetBoolean($15,$17)|0); + $19 = $18&255; + $21 = $19; + STACKTOP = sp;return ($21|0); + } else { + $20 = HEAP32[$5>>2]|0; + $21 = $20; + STACKTOP = sp;return ($21|0); + } + return (0)|0; } -function _sqlite3PagerWrite($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $pPager = 0, label = 0, sp = 0; +function _findInodeInfo($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pPager = sp; - HEAP32[$1>>2] = $pPg; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pPager>>2] = $4; - $5 = HEAP32[$pPager>>2]|0; - $6 = ((($5)) + 44|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0); - if ($8) { - $9 = HEAP32[$pPager>>2]|0; - $10 = ((($9)) + 44|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$0>>2] = $11; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); - } - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 24|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = $15 & 4; + STACKTOP = STACKTOP + 112|0; + $2 = sp + 104|0; + $3 = sp + 100|0; + $4 = sp + 96|0; + $5 = sp + 92|0; + $6 = sp + 88|0; + $7 = sp + 80|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$9>>2] = 0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $12; + $13 = HEAP32[(1480)>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = (FUNCTION_TABLE_iii[$13 & 255]($14,$8)|0); + HEAP32[$5>>2] = $15; + $16 = HEAP32[$5>>2]|0; $17 = ($16|0)!=(0); if ($17) { - $18 = HEAP32[$pPager>>2]|0; - $19 = ((($18)) + 28|0); + $18 = HEAP32[$3>>2]|0; + $19 = (___errno_location()|0); $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$1>>2]|0; + _storeLastErrno($18,$20); + $21 = HEAP32[$3>>2]|0; $22 = ((($21)) + 20|0); $23 = HEAP32[$22>>2]|0; - $24 = ($20>>>0)>=($23>>>0); + $24 = ($23|0)==(75); if ($24) { - $25 = HEAP32[$pPager>>2]|0; - $26 = ((($25)) + 104|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$1>>2]|0; - $30 = (_subjournalPageIfRequired($29)|0); - HEAP32[$0>>2] = $30; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); - } else { - HEAP32[$0>>2] = 0; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); - } + HEAP32[$2>>2] = 22; + $63 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($63|0); + } else { + HEAP32[$2>>2] = 10; + $63 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($63|0); } } - $31 = HEAP32[$pPager>>2]|0; - $32 = ((($31)) + 156|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$pPager>>2]|0; - $35 = ((($34)) + 160|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($33>>>0)>($36>>>0); - $38 = HEAP32[$1>>2]|0; - if ($37) { - $39 = (_pagerWriteLargeSector($38)|0); - HEAP32[$0>>2] = $39; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); - } else { - $40 = (_pager_write($38)|0); - HEAP32[$0>>2] = $40; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); - } - return (0)|0; -} -function _sqlite3PagerCommitPhaseOne($pPager,$zMaster,$noSync) { - $pPager = $pPager|0; - $zMaster = $zMaster|0; - $noSync = $noSync|0; - var $$old = 0, $$old1 = 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, $112 = 0, $113 = 0; - var $114 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $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, $nNew = 0, $or$cond = 0, $pList = 0; - var $pPageOne = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $rc = sp + 12|0; - $pList = sp + 8|0; - $pPageOne = sp + 4|0; - $nNew = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $zMaster; - HEAP32[$3>>2] = $noSync; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 44|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 44|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$0>>2] = $10; - $114 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($114|0); - } - $11 = (_sqlite3FaultSim(400)|0); - $12 = ($11|0)!=(0); - if ($12) { - HEAP32[$0>>2] = 10; - $114 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($114|0); - } - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 17|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)<(3); - if ($17) { - HEAP32[$0>>2] = 0; - $114 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($114|0); - } - $18 = HEAP32[$1>>2]|0; - $19 = (_pagerFlushOnCommit($18,1)|0); - $20 = (0)==($19|0); - $21 = HEAP32[$1>>2]|0; - do { - if ($20) { - $22 = ((($21)) + 96|0); - $23 = HEAP32[$22>>2]|0; - _sqlite3BackupRestart($23); + ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0; + $25 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $25; + $26 = ((($8)) + 72|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($7)) + 4|0); + HEAP32[$28>>2] = $27; + $29 = HEAP32[13699]|0; + HEAP32[$9>>2] = $29; + while(1) { + $30 = HEAP32[$9>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$9>>2]|0; + $33 = (_memcmp($7,$32,8)|0); + $34 = ($33|0)!=(0); + $64 = $34; } else { - $24 = (_sqlite3PagerUseWal($21)|0); - $25 = ($24|0)!=(0); - $26 = HEAP32[$1>>2]|0; - if ($25) { - $27 = ((($26)) + 212|0); - $28 = HEAP32[$27>>2]|0; - $29 = (_sqlite3PcacheDirtyList($28)|0); - HEAP32[$pList>>2] = $29; - HEAP32[$pPageOne>>2] = 0; - $30 = HEAP32[$pList>>2]|0; - $31 = ($30|0)==(0|0); - if ($31) { - $32 = HEAP32[$1>>2]|0; - $33 = (_sqlite3PagerGet($32,1,$pPageOne,0)|0); - HEAP32[$rc>>2] = $33; - $34 = HEAP32[$pPageOne>>2]|0; - HEAP32[$pList>>2] = $34; - $35 = HEAP32[$pList>>2]|0; - $36 = ((($35)) + 12|0); - HEAP32[$36>>2] = 0; - } - $37 = HEAP32[$pList>>2]|0; - $38 = ($37|0)!=(0|0); - if ($38) { - $39 = HEAP32[$1>>2]|0; - $40 = HEAP32[$pList>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 28|0); - $43 = HEAP32[$42>>2]|0; - $44 = (_pagerWalFrames($39,$40,$43,1)|0); - HEAP32[$rc>>2] = $44; - } - $45 = HEAP32[$pPageOne>>2]|0; - _sqlite3PagerUnref($45); - $46 = HEAP32[$rc>>2]|0; - $47 = ($46|0)==(0); - if (!($47)) { - break; - } - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 212|0); - $50 = HEAP32[$49>>2]|0; - _sqlite3PcacheCleanAll($50); - break; - } - $51 = (_pager_incr_changecounter($26,0)|0); - HEAP32[$rc>>2] = $51; - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)!=(0); - if (!($53)) { - $54 = HEAP32[$1>>2]|0; - $55 = HEAP32[$2>>2]|0; - $56 = (_writeMasterJournal($54,$55)|0); - HEAP32[$rc>>2] = $56; - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)!=(0); - if (!($58)) { - $59 = HEAP32[$1>>2]|0; - $60 = (_syncJournal($59,0)|0); - HEAP32[$rc>>2] = $60; - $61 = HEAP32[$rc>>2]|0; - $62 = ($61|0)!=(0); - if (!($62)) { - $63 = HEAP32[$1>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 212|0); - $66 = HEAP32[$65>>2]|0; - $67 = (_sqlite3PcacheDirtyList($66)|0); - $68 = (_pager_write_pagelist($63,$67)|0); - HEAP32[$rc>>2] = $68; - $69 = HEAP32[$rc>>2]|0; - $70 = ($69|0)!=(0); - if (!($70)) { - $71 = HEAP32[$1>>2]|0; - $72 = ((($71)) + 212|0); - $73 = HEAP32[$72>>2]|0; - _sqlite3PcacheCleanAll($73); - $74 = HEAP32[$1>>2]|0; - $75 = ((($74)) + 28|0); - $76 = HEAP32[$75>>2]|0; - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 36|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($76>>>0)>($79>>>0); - if ($80) { - $81 = HEAP32[$1>>2]|0; - $82 = ((($81)) + 28|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$1>>2]|0; - $85 = ((($84)) + 28|0); - $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[1536>>2]|0; - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 160|0); - $90 = HEAP32[$89>>2]|0; - $91 = (($87|0) / ($90|0))&-1; - $92 = (($91) + 1)|0; - $93 = ($86|0)==($92|0); - $94 = $93&1; - $95 = (($83) - ($94))|0; - HEAP32[$nNew>>2] = $95; - $96 = HEAP32[$1>>2]|0; - $97 = HEAP32[$nNew>>2]|0; - $98 = (_pager_truncate($96,$97)|0); - HEAP32[$rc>>2] = $98; - $99 = HEAP32[$rc>>2]|0; - $100 = ($99|0)!=(0); - $101 = HEAP32[$3>>2]|0; - $102 = ($101|0)!=(0); - $or$cond = $100 | $102; - if ($or$cond) { - break; - } - } else { - $$old = HEAP32[$3>>2]|0; - $$old1 = ($$old|0)!=(0); - if ($$old1) { - break; - } - } - $103 = HEAP32[$1>>2]|0; - $104 = HEAP32[$2>>2]|0; - $105 = (_sqlite3PagerSync($103,$104)|0); - HEAP32[$rc>>2] = $105; - } - } - } - } + $64 = 0; } - } while(0); - $106 = HEAP32[$rc>>2]|0; - $107 = ($106|0)==(0); - if ($107) { - $108 = HEAP32[$1>>2]|0; - $109 = (_sqlite3PagerUseWal($108)|0); - $110 = ($109|0)!=(0); - if (!($110)) { - $111 = HEAP32[$1>>2]|0; - $112 = ((($111)) + 17|0); - HEAP8[$112>>0] = 5; + $35 = HEAP32[$9>>2]|0; + if (!($64)) { + break; } + $36 = ((($35)) + 32|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$9>>2] = $37; } - $113 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $113; - $114 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($114|0); + $38 = ($35|0)==(0|0); + if ($38) { + $39 = (_sqlite3_malloc64(40,0)|0); + HEAP32[$9>>2] = $39; + $40 = HEAP32[$9>>2]|0; + $41 = ($40|0)==(0|0); + if ($41) { + HEAP32[$2>>2] = 7; + $63 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($63|0); + } + $42 = HEAP32[$9>>2]|0; + dest=$42; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $43 = HEAP32[$9>>2]|0; + ;HEAP32[$43>>2]=HEAP32[$7>>2]|0;HEAP32[$43+4>>2]=HEAP32[$7+4>>2]|0; + $44 = HEAP32[$9>>2]|0; + $45 = ((($44)) + 16|0); + HEAP32[$45>>2] = 1; + $46 = HEAP32[13699]|0; + $47 = HEAP32[$9>>2]|0; + $48 = ((($47)) + 32|0); + HEAP32[$48>>2] = $46; + $49 = HEAP32[$9>>2]|0; + $50 = ((($49)) + 36|0); + HEAP32[$50>>2] = 0; + $51 = HEAP32[13699]|0; + $52 = ($51|0)!=(0|0); + if ($52) { + $53 = HEAP32[$9>>2]|0; + $54 = HEAP32[13699]|0; + $55 = ((($54)) + 36|0); + HEAP32[$55>>2] = $53; + } + $56 = HEAP32[$9>>2]|0; + HEAP32[13699] = $56; + } else { + $57 = HEAP32[$9>>2]|0; + $58 = ((($57)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (($59) + 1)|0; + HEAP32[$58>>2] = $60; + } + $61 = HEAP32[$9>>2]|0; + $62 = HEAP32[$4>>2]|0; + HEAP32[$62>>2] = $61; + HEAP32[$2>>2] = 0; + $63 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($63|0); } -function _sqlite3OsWrite($id,$pBuf,$amt,$0,$1) { - $id = $id|0; - $pBuf = $pBuf|0; - $amt = $amt|0; +function _verifyDbFile($0) { $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp; - HEAP32[$2>>2] = $id; - HEAP32[$3>>2] = $pBuf; - HEAP32[$4>>2] = $amt; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 108|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 18|0); + $6 = HEAP16[$5>>1]|0; + $7 = $6&65535; + $8 = $7 & 128; + $9 = ($8|0)!=(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = HEAP32[(1480)>>2]|0; + $11 = HEAP32[$1>>2]|0; $12 = ((($11)) + 12|0); $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$2>>2]|0; + $14 = (FUNCTION_TABLE_iii[$10 & 255]($13,$2)|0); + HEAP32[$3>>2] = $14; $15 = HEAP32[$3>>2]|0; - $16 = HEAP32[$4>>2]|0; - $17 = $5; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (FUNCTION_TABLE_iiiiii[$13 & 255]($14,$15,$16,$19,$22)|0); - STACKTOP = sp;return ($23|0); -} -function _backupTruncateFile($pFile,$0,$1) { - $pFile = $pFile|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iCurrent = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 8|0; - $iCurrent = sp; - $rc = sp + 16|0; - HEAP32[$2>>2] = $pFile; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = (_sqlite3OsFileSize($8,$iCurrent)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - if (!($11)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 32|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$vararg_buffer>>2] = $19; + _sqlite3_log(28,21417,$vararg_buffer); + STACKTOP = sp;return; } - $12 = $iCurrent; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = $3; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (($18) + 4)|0; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = ($17|0)>($23|0); - $25 = ($14>>>0)>($20>>>0); - $26 = ($17|0)==($23|0); - $27 = $26 & $25; - $28 = $24 | $27; - if (!($28)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $20 = ((($2)) + 16|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 32|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$vararg_buffer1>>2] = $25; + _sqlite3_log(28,21441,$vararg_buffer1); + STACKTOP = sp;return; } - $29 = HEAP32[$2>>2]|0; - $30 = $3; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3OsTruncate($29,$32,$35)|0); - HEAP32[$rc>>2] = $36; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); -} -function _sqlite3PagerSync($pPager,$zMaster) { - $pPager = $pPager|0; - $zMaster = $zMaster|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pArg = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $pArg = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $zMaster; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 64|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if ($6) { - $7 = HEAP32[$1>>2]|0; - HEAP32[$pArg>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 64|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$pArg>>2]|0; - $12 = (_sqlite3OsFileControl($10,21,$11)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)==(12); - $$ = $14 ? 0 : $12; - HEAP32[$rc>>2] = $$; - } - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - if (!($16)) { - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); + $26 = ((($2)) + 16|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27>>>0)>(1); + $29 = HEAP32[$1>>2]|0; + if ($28) { + $30 = ((($29)) + 32|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$vararg_buffer4>>2] = $31; + _sqlite3_log(28,21470,$vararg_buffer4); + STACKTOP = sp;return; } - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 7|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)!=(0); - if ($20) { - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); + $32 = (_fileHasMoved($29)|0); + $33 = ($32|0)!=(0); + if (!($33)) { + STACKTOP = sp;return; } - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 64|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 12|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (_sqlite3OsSync($23,$27)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); -} -function _sqlite3PagerTruncateImage($pPager,$nPage) { - $pPager = $pPager|0; - $nPage = $nPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $nPage; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 28|0); - HEAP32[$4>>2] = $2; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 32|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$vararg_buffer7>>2] = $36; + _sqlite3_log(28,21497,$vararg_buffer7); STACKTOP = sp;return; } -function _sqlite3BtreeCommitPhaseTwo($p,$bCleanup) { - $p = $p|0; - $bCleanup = $bCleanup|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; +function _unixClose($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $rc = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $bCleanup; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(0); - if ($7) { - HEAP32[$0>>2] = 0; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); - } - $8 = HEAP32[$1>>2]|0; - _sqlite3BtreeEnter($8); - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(2); - do { - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pBt>>2] = $16; - $17 = HEAP32[$pBt>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = (_sqlite3PagerCommitPhaseTwo($18)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)!=(0); - $22 = HEAP32[$2>>2]|0; - $23 = ($22|0)==(0); - $or$cond = $21 & $23; - if (!($or$cond)) { - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 20|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + -1)|0; - HEAP32[$26>>2] = $28; - $29 = HEAP32[$pBt>>2]|0; - $30 = ((($29)) + 20|0); - HEAP8[$30>>0] = 1; - $31 = HEAP32[$pBt>>2]|0; - _btreeClearHasContent($31); - break; - } - $24 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $24; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $4 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $4; + $5 = HEAP32[$3>>2]|0; + _verifyDbFile($5); + $6 = HEAP32[$1>>2]|0; + (_unixUnlock($6,0)|0); + _unixEnterMutex(); + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 24|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + _setPendingFd($17); } - } while(0); - $32 = HEAP32[$1>>2]|0; - _btreeEndTransaction($32); - HEAP32[$0>>2] = 0; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); + } + $18 = HEAP32[$3>>2]|0; + _releaseInodeInfo($18); + $19 = HEAP32[$1>>2]|0; + $20 = (_closeUnixFile($19)|0); + HEAP32[$2>>2] = $20; + _unixLeaveMutex(); + $21 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($21|0); } -function _sqlite3BtreeCommitPhaseOne($p,$zMaster) { - $p = $p|0; - $zMaster = $zMaster|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $pBt = 0, $rc = 0, label = 0, sp = 0; +function _unixLock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $rc = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $zMaster; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(2); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pBt>>2] = $10; - $11 = HEAP32[$1>>2]|0; - _sqlite3BtreeEnter($11); - $12 = HEAP32[$pBt>>2]|0; - $13 = ((($12)) + 17|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)!=(0); - if ($15) { - $16 = HEAP32[$pBt>>2]|0; - $17 = (_autoVacuumCommit($16)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $20; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - } - $21 = HEAP32[$pBt>>2]|0; - $22 = ((($21)) + 19|0); - $23 = HEAP8[$22>>0]|0; - $24 = ($23<<24>>24)!=(0); - if ($24) { - $25 = HEAP32[$pBt>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$pBt>>2]|0; - $28 = ((($27)) + 44|0); - $29 = HEAP32[$28>>2]|0; - _sqlite3PagerTruncateImage($26,$29); + STACKTOP = STACKTOP + 48|0; + $2 = sp + 44|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + $10 = HEAP32[$3>>2]|0; + HEAP32[$6>>2] = $10; + HEAP32[$9>>2] = 0; + $11 = HEAP32[$6>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = HEAP32[$4>>2]|0; + $16 = ($14|0)>=($15|0); + if ($16) { + HEAP32[$2>>2] = 0; + $162 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($162|0); + } + _unixEnterMutex(); + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$7>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = HEAP32[$7>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ($23|0)!=($27|0); + if ($28) { + $29 = HEAP32[$7>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32|0)>=(3); + $34 = HEAP32[$4>>2]|0; + $35 = ($34|0)>(1); + $or$cond = $33 | $35; + if ($or$cond) { + HEAP32[$5>>2] = 5; + } else { + label = 6; } - $30 = HEAP32[$pBt>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = (_sqlite3PagerCommitPhaseOne($31,$32,0)|0); - HEAP32[$rc>>2] = $33; + } else { + label = 6; } - $34 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $34; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + L8: do { + if ((label|0) == 6) { + $36 = HEAP32[$4>>2]|0; + $37 = ($36|0)==(1); + do { + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($41|0)==(1); + if (!($42)) { + $43 = HEAP32[$7>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = ($46|0)==(2); + if (!($47)) { + break; + } + } + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 16|0); + HEAP8[$49>>0] = 1; + $50 = HEAP32[$7>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$51>>2] = $53; + $54 = HEAP32[$7>>2]|0; + $55 = ((($54)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (($56) + 1)|0; + HEAP32[$55>>2] = $57; + break L8; + } + } while(0); + $58 = ((($8)) + 8|0); + HEAP32[$58>>2] = 1; + $59 = ((($8)) + 2|0); + HEAP16[$59>>1] = 0; + $60 = HEAP32[$4>>2]|0; + $61 = ($60|0)==(1); + if ($61) { + label = 13; + } else { + $62 = HEAP32[$4>>2]|0; + $63 = ($62|0)==(4); + if ($63) { + $64 = HEAP32[$6>>2]|0; + $65 = ((($64)) + 16|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = ($67|0)<(3); + if ($68) { + label = 13; + } + } + } + if ((label|0) == 13) { + $69 = HEAP32[$4>>2]|0; + $70 = ($69|0)==(1); + $71 = $70 ? 0 : 1; + $72 = $71&65535; + HEAP16[$8>>1] = $72; + $73 = HEAP32[482]|0; + $74 = ((($8)) + 4|0); + HEAP32[$74>>2] = $73; + $75 = HEAP32[$6>>2]|0; + $76 = (_unixFileLock($75,$8)|0); + $77 = ($76|0)!=(0); + if ($77) { + $78 = (___errno_location()|0); + $79 = HEAP32[$78>>2]|0; + HEAP32[$9>>2] = $79; + $80 = HEAP32[$9>>2]|0; + $81 = (_sqliteErrorFromPosixError($80,3850)|0); + HEAP32[$5>>2] = $81; + $82 = HEAP32[$5>>2]|0; + $83 = ($82|0)!=(5); + if (!($83)) { + break; + } + $84 = HEAP32[$6>>2]|0; + $85 = HEAP32[$9>>2]|0; + _storeLastErrno($84,$85); + break; + } + } + $86 = HEAP32[$4>>2]|0; + $87 = ($86|0)==(1); + do { + if ($87) { + $88 = HEAP32[482]|0; + $89 = (($88) + 2)|0; + $90 = ((($8)) + 4|0); + HEAP32[$90>>2] = $89; + $91 = ((($8)) + 8|0); + HEAP32[$91>>2] = 510; + $92 = HEAP32[$6>>2]|0; + $93 = (_unixFileLock($92,$8)|0); + $94 = ($93|0)!=(0); + if ($94) { + $95 = (___errno_location()|0); + $96 = HEAP32[$95>>2]|0; + HEAP32[$9>>2] = $96; + $97 = HEAP32[$9>>2]|0; + $98 = (_sqliteErrorFromPosixError($97,3850)|0); + HEAP32[$5>>2] = $98; + } + $99 = HEAP32[482]|0; + $100 = ((($8)) + 4|0); + HEAP32[$100>>2] = $99; + $101 = ((($8)) + 8|0); + HEAP32[$101>>2] = 1; + HEAP16[$8>>1] = 2; + $102 = HEAP32[$6>>2]|0; + $103 = (_unixFileLock($102,$8)|0); + $104 = ($103|0)!=(0); + $105 = HEAP32[$5>>2]|0; + $106 = ($105|0)==(0); + $or$cond3 = $104 & $106; + if ($or$cond3) { + $107 = (___errno_location()|0); + $108 = HEAP32[$107>>2]|0; + HEAP32[$9>>2] = $108; + HEAP32[$5>>2] = 2058; + } + $109 = HEAP32[$5>>2]|0; + $110 = ($109|0)!=(0); + if (!($110)) { + $115 = HEAP32[$6>>2]|0; + $116 = ((($115)) + 16|0); + HEAP8[$116>>0] = 1; + $117 = HEAP32[$7>>2]|0; + $118 = ((($117)) + 24|0); + $119 = HEAP32[$118>>2]|0; + $120 = (($119) + 1)|0; + HEAP32[$118>>2] = $120; + $121 = HEAP32[$7>>2]|0; + $122 = ((($121)) + 8|0); + HEAP32[$122>>2] = 1; + break; + } + $111 = HEAP32[$5>>2]|0; + $112 = ($111|0)!=(5); + if (!($112)) { + break L8; + } + $113 = HEAP32[$6>>2]|0; + $114 = HEAP32[$9>>2]|0; + _storeLastErrno($113,$114); + break L8; + } else { + $123 = HEAP32[$4>>2]|0; + $124 = ($123|0)==(4); + if ($124) { + $125 = HEAP32[$7>>2]|0; + $126 = ((($125)) + 8|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)>(1); + if ($128) { + HEAP32[$5>>2] = 5; + break; + } + } + HEAP16[$8>>1] = 1; + $129 = HEAP32[$4>>2]|0; + $130 = ($129|0)==(2); + $131 = HEAP32[482]|0; + $$sink7 = $130 ? 1 : 2; + $$sink = $130 ? 1 : 510; + $132 = (($131) + ($$sink7))|0; + $133 = ((($8)) + 4|0); + HEAP32[$133>>2] = $132; + $134 = ((($8)) + 8|0); + HEAP32[$134>>2] = $$sink; + $135 = HEAP32[$6>>2]|0; + $136 = (_unixFileLock($135,$8)|0); + $137 = ($136|0)!=(0); + if ($137) { + $138 = (___errno_location()|0); + $139 = HEAP32[$138>>2]|0; + HEAP32[$9>>2] = $139; + $140 = HEAP32[$9>>2]|0; + $141 = (_sqliteErrorFromPosixError($140,3850)|0); + HEAP32[$5>>2] = $141; + $142 = HEAP32[$5>>2]|0; + $143 = ($142|0)!=(5); + if ($143) { + $144 = HEAP32[$6>>2]|0; + $145 = HEAP32[$9>>2]|0; + _storeLastErrno($144,$145); + } + } + } + } while(0); + $146 = HEAP32[$5>>2]|0; + $147 = ($146|0)==(0); + $148 = HEAP32[$4>>2]|0; + if ($147) { + $149 = $148&255; + $150 = HEAP32[$6>>2]|0; + $151 = ((($150)) + 16|0); + HEAP8[$151>>0] = $149; + $152 = HEAP32[$4>>2]|0; + $153 = $152&255; + $154 = HEAP32[$7>>2]|0; + $155 = ((($154)) + 12|0); + HEAP8[$155>>0] = $153; + break; + } + $156 = ($148|0)==(4); + if ($156) { + $157 = HEAP32[$6>>2]|0; + $158 = ((($157)) + 16|0); + HEAP8[$158>>0] = 3; + $159 = HEAP32[$7>>2]|0; + $160 = ((($159)) + 12|0); + HEAP8[$160>>0] = 3; + } + } + } while(0); + _unixLeaveMutex(); + $161 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $161; + $162 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($162|0); } -function _sqlite3PagerBackupPtr($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _unixUnlock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 96|0); - STACKTOP = sp;return ($2|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_posixUnlock($4,$5,0)|0); + STACKTOP = sp;return ($6|0); } -function _sqlite3BtreeRollback($p,$tripCode,$writeOnly) { - $p = $p|0; - $tripCode = $tripCode|0; - $writeOnly = $writeOnly|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nPage = 0, $pBt = 0, $pPage1 = 0, $rc = 0, $rc2 = 0, $rc21 = 0; - var label = 0, sp = 0; +function _unixCheckReservedLock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $rc = sp + 20|0; - $pBt = sp + 16|0; - $pPage1 = sp + 12|0; - $rc2 = sp + 8|0; - $rc21 = sp + 4|0; - $nPage = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $tripCode; - HEAP32[$2>>2] = $writeOnly; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pBt>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($6); - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $9 = HEAP32[$pBt>>2]|0; - $10 = (_saveAllCursors($9,0,0)|0); - HEAP32[$1>>2] = $10; - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)!=(0); - if ($12) { - HEAP32[$2>>2] = 0; - } - } else { - HEAP32[$rc>>2] = 0; - } - $13 = HEAP32[$1>>2]|0; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = (_sqlite3BtreeTripAllCursors($15,$16,$17)|0); - HEAP32[$rc2>>2] = $18; - $19 = HEAP32[$rc2>>2]|0; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $21; - } - } - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 8|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = ($25|0)==(2); - if (!($26)) { - $52 = HEAP32[$0>>2]|0; - _btreeEndTransaction($52); - $53 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($53|0); - } - $27 = HEAP32[$pBt>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = (_sqlite3PagerRollback($28)|0); - HEAP32[$rc21>>2] = $29; - $30 = HEAP32[$rc21>>2]|0; - $31 = ($30|0)!=(0); - if ($31) { - $32 = HEAP32[$rc21>>2]|0; - HEAP32[$rc>>2] = $32; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $8 = HEAP32[$2>>2]|0; + HEAP32[$6>>2] = $8; + _unixEnterMutex(); + $9 = HEAP32[$6>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)>(1); + if ($15) { + HEAP32[$5>>2] = 1; } - $33 = HEAP32[$pBt>>2]|0; - $34 = (_btreeGetPage($33,1,$pPage1,0)|0); - $35 = ($34|0)==(0); - if ($35) { - $36 = HEAP32[$pPage1>>2]|0; - $37 = ((($36)) + 56|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($38)) + 28|0); - $40 = (_sqlite3Get4byte($39)|0); - HEAP32[$nPage>>2] = $40; - $41 = HEAP32[$nPage>>2]|0; - $42 = ($41|0)==(0); - if ($42) { - $43 = HEAP32[$pBt>>2]|0; - $44 = HEAP32[$43>>2]|0; - _sqlite3PagerPagecount($44,$nPage); + $16 = HEAP32[$5>>2]|0; + $17 = ($16|0)!=(0); + do { + if (!($17)) { + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 13|0); + $22 = HEAP8[$21>>0]|0; + $23 = ($22<<24>>24)!=(0); + if (!($23)) { + $24 = ((($7)) + 2|0); + HEAP16[$24>>1] = 0; + $25 = HEAP32[482]|0; + $26 = (($25) + 1)|0; + $27 = ((($7)) + 4|0); + HEAP32[$27>>2] = $26; + $28 = ((($7)) + 8|0); + HEAP32[$28>>2] = 1; + HEAP16[$7>>1] = 1; + $29 = HEAP32[(1504)>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$vararg_buffer>>2] = $7; + $33 = (FUNCTION_TABLE_iiii[$29 & 255]($32,12,$vararg_buffer)|0); + $34 = ($33|0)!=(0); + if ($34) { + HEAP32[$4>>2] = 3594; + $35 = HEAP32[$6>>2]|0; + $36 = (___errno_location()|0); + $37 = HEAP32[$36>>2]|0; + _storeLastErrno($35,$37); + break; + } + $38 = HEAP16[$7>>1]|0; + $39 = $38 << 16 >> 16; + $40 = ($39|0)!=(2); + if ($40) { + HEAP32[$5>>2] = 1; + } + } } - $45 = HEAP32[$nPage>>2]|0; - $46 = HEAP32[$pBt>>2]|0; - $47 = ((($46)) + 44|0); - HEAP32[$47>>2] = $45; - $48 = HEAP32[$pPage1>>2]|0; - _releasePage($48); - } - $49 = HEAP32[$pBt>>2]|0; - $50 = ((($49)) + 20|0); - HEAP8[$50>>0] = 1; - $51 = HEAP32[$pBt>>2]|0; - _btreeClearHasContent($51); - $52 = HEAP32[$0>>2]|0; - _btreeEndTransaction($52); - $53 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($53|0); + } while(0); + _unixLeaveMutex(); + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$3>>2]|0; + HEAP32[$42>>2] = $41; + $43 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($43|0); } -function _sqlite3LeaveMutexAndCloseZombie($db) { - $db = $db|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 $i = 0, $j = 0, $p = 0, $pColl = 0, $pDb = 0, $pMod = 0, $pNext = 0, label = 0, sp = 0; +function _unixShmMap($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $i = sp + 24|0; - $j = sp + 20|0; - $pDb = sp + 16|0; - $pNext = sp + 12|0; - $p = sp + 8|0; - $pColl = sp + 4|0; - $pMod = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 84|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(1691352191); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$0>>2]|0; - $6 = (_connectionIsBusy($5)|0); - $7 = ($6|0)!=(0); - if ($7) { - STACKTOP = sp;return; - } - $8 = HEAP32[$0>>2]|0; - _sqlite3RollbackAll($8,0); - $9 = HEAP32[$0>>2]|0; - _sqlite3CloseSavepoints($9); - HEAP32[$j>>2] = 0; - while(1) { - $10 = HEAP32[$j>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)<($13|0); - if (!($14)) { - break; - } - $15 = HEAP32[$j>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($15<<4)|0); - HEAP32[$pDb>>2] = $19; - $20 = HEAP32[$pDb>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { - $24 = HEAP32[$pDb>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - (_sqlite3BtreeClose($26)|0); - $27 = HEAP32[$pDb>>2]|0; - $28 = ((($27)) + 4|0); - HEAP32[$28>>2] = 0; - $29 = HEAP32[$j>>2]|0; - $30 = ($29|0)!=(1); - if ($30) { - $31 = HEAP32[$pDb>>2]|0; - $32 = ((($31)) + 12|0); - HEAP32[$32>>2] = 0; - } + STACKTOP = STACKTOP + 160|0; + $5 = sp + 152|0; + $6 = sp + 148|0; + $7 = sp + 144|0; + $8 = sp + 140|0; + $9 = sp + 136|0; + $10 = sp + 132|0; + $11 = sp + 128|0; + $12 = sp + 124|0; + $13 = sp + 120|0; + $14 = sp + 116|0; + $15 = sp + 112|0; + $16 = sp + 108|0; + $17 = sp + 104|0; + $18 = sp + 100|0; + $19 = sp + 24|0; + $20 = sp + 20|0; + $21 = sp + 16|0; + $22 = sp + 12|0; + $23 = sp + 8|0; + $24 = sp + 4|0; + $25 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $26 = HEAP32[$6>>2]|0; + HEAP32[$11>>2] = $26; + HEAP32[$14>>2] = 0; + $27 = (_unixShmRegionPerMap()|0); + HEAP32[$15>>2] = $27; + $28 = HEAP32[$11>>2]|0; + $29 = ((($28)) + 36|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0|0); + if ($31) { + $32 = HEAP32[$11>>2]|0; + $33 = (_unixOpenSharedMemory($32)|0); + HEAP32[$14>>2] = $33; + $34 = HEAP32[$14>>2]|0; + $35 = ($34|0)!=(0); + if ($35) { + $36 = HEAP32[$14>>2]|0; + HEAP32[$5>>2] = $36; + $216 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($216|0); } - $33 = HEAP32[$j>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$j>>2] = $34; } - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 16|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($37)) + 16|0); - $39 = ((($38)) + 12|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)!=(0|0); - if ($41) { - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 16|0); - $44 = HEAP32[$43>>2]|0; - $45 = ((($44)) + 16|0); - $46 = ((($45)) + 12|0); - $47 = HEAP32[$46>>2]|0; - _sqlite3SchemaClear($47); - } - $48 = HEAP32[$0>>2]|0; - _sqlite3VtabUnlockList($48); - $49 = HEAP32[$0>>2]|0; - _sqlite3CollapseDatabaseArray($49); - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 348|0); - $52 = ((($51)) + 8|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$i>>2] = $53; - while(1) { - $54 = HEAP32[$i>>2]|0; - $55 = ($54|0)!=(0|0); - if (!($55)) { - break; - } - $56 = HEAP32[$i>>2]|0; - $57 = ((($56)) + 8|0); - $58 = HEAP32[$57>>2]|0; - HEAP32[$p>>2] = $58; - while(1) { - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$p>>2]|0; - _functionDestroy($59,$60); - $61 = HEAP32[$p>>2]|0; - $62 = ((($61)) + 8|0); - $63 = HEAP32[$62>>2]|0; - HEAP32[$pNext>>2] = $63; - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$p>>2]|0; - _sqlite3DbFree($64,$65); - $66 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $66; - $67 = HEAP32[$p>>2]|0; - $68 = ($67|0)!=(0|0); - if (!($68)) { + $37 = HEAP32[$11>>2]|0; + $38 = ((($37)) + 36|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$12>>2] = $39; + $40 = HEAP32[$12>>2]|0; + $41 = HEAP32[$40>>2]|0; + HEAP32[$13>>2] = $41; + $42 = HEAP32[$13>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + _sqlite3_mutex_enter($44); + $45 = HEAP32[$7>>2]|0; + $46 = HEAP32[$15>>2]|0; + $47 = (($45) + ($46))|0; + $48 = HEAP32[$15>>2]|0; + $49 = (($47|0) / ($48|0))&-1; + $50 = HEAP32[$15>>2]|0; + $51 = Math_imul($49, $50)|0; + HEAP32[$16>>2] = $51; + $52 = HEAP32[$13>>2]|0; + $53 = ((($52)) + 20|0); + $54 = HEAP16[$53>>1]|0; + $55 = $54&65535; + $56 = HEAP32[$16>>2]|0; + $57 = ($55|0)<($56|0); + L6: do { + if ($57) { + $58 = HEAP32[$16>>2]|0; + $59 = HEAP32[$8>>2]|0; + $60 = Math_imul($58, $59)|0; + HEAP32[$18>>2] = $60; + $61 = HEAP32[$8>>2]|0; + $62 = HEAP32[$13>>2]|0; + $63 = ((($62)) + 16|0); + HEAP32[$63>>2] = $61; + $64 = HEAP32[$13>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)>=(0); + L8: do { + if ($67) { + $68 = HEAP32[(1480)>>2]|0; + $69 = HEAP32[$13>>2]|0; + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + $72 = (FUNCTION_TABLE_iii[$68 & 255]($71,$19)|0); + $73 = ($72|0)!=(0); + if ($73) { + HEAP32[$14>>2] = 4874; + break L6; + } + $74 = ((($19)) + 36|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$18>>2]|0; + $77 = ($75|0)<($76|0); + if ($77) { + $78 = HEAP32[$9>>2]|0; + $79 = ($78|0)!=(0); + if (!($79)) { + break L6; + } + $80 = ((($19)) + 36|0); + $81 = HEAP32[$80>>2]|0; + $82 = (($81|0) / 4096)&-1; + HEAP32[$20>>2] = $82; + while(1) { + $83 = HEAP32[$20>>2]|0; + $84 = HEAP32[$18>>2]|0; + $85 = (($84|0) / 4096)&-1; + $86 = ($83|0)<($85|0); + if (!($86)) { + break L8; + } + HEAP32[$21>>2] = 0; + $87 = HEAP32[$13>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$20>>2]|0; + $91 = $90<<12; + $92 = (($91) + 4096)|0; + $93 = (($92) - 1)|0; + $94 = ($93|0)<(0); + $95 = $94 << 31 >> 31; + $96 = (_seekAndWriteFd($89,$93,$95,55752,1,$21)|0); + $97 = ($96|0)!=(1); + if ($97) { + break; + } + $103 = HEAP32[$20>>2]|0; + $104 = (($103) + 1)|0; + HEAP32[$20>>2] = $104; + } + $98 = HEAP32[$13>>2]|0; + $99 = ((($98)) + 8|0); + $100 = HEAP32[$99>>2]|0; + HEAP32[$22>>2] = $100; + $101 = HEAP32[$22>>2]|0; + $102 = (_unixLogErrorAtLine(4874,21107,$101,33839)|0); + HEAP32[$14>>2] = $102; + break L6; + } + } + } while(0); + $105 = HEAP32[$13>>2]|0; + $106 = ((($105)) + 24|0); + $107 = HEAP32[$106>>2]|0; + $108 = HEAP32[$16>>2]|0; + $109 = $108<<2; + $110 = (_sqlite3_realloc($107,$109)|0); + HEAP32[$17>>2] = $110; + $111 = HEAP32[$17>>2]|0; + $112 = ($111|0)!=(0|0); + if (!($112)) { + HEAP32[$14>>2] = 3082; break; } - } - $69 = HEAP32[$i>>2]|0; - $70 = HEAP32[$69>>2]|0; - HEAP32[$i>>2] = $70; - } - $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 348|0); - _sqlite3HashClear($72); - $73 = HEAP32[$0>>2]|0; - $74 = ((($73)) + 364|0); - $75 = ((($74)) + 8|0); - $76 = HEAP32[$75>>2]|0; - HEAP32[$i>>2] = $76; - while(1) { - $77 = HEAP32[$i>>2]|0; - $78 = ($77|0)!=(0|0); - if (!($78)) { - break; - } - $79 = HEAP32[$i>>2]|0; - $80 = ((($79)) + 8|0); - $81 = HEAP32[$80>>2]|0; - HEAP32[$pColl>>2] = $81; - HEAP32[$j>>2] = 0; - while(1) { - $82 = HEAP32[$j>>2]|0; - $83 = ($82|0)<(3); - if (!($83)) { + $113 = HEAP32[$17>>2]|0; + $114 = HEAP32[$13>>2]|0; + $115 = ((($114)) + 24|0); + HEAP32[$115>>2] = $113; + while(1) { + $116 = HEAP32[$13>>2]|0; + $117 = ((($116)) + 20|0); + $118 = HEAP16[$117>>1]|0; + $119 = $118&65535; + $120 = HEAP32[$16>>2]|0; + $121 = ($119|0)<($120|0); + if (!($121)) { + break L6; + } + $122 = HEAP32[$8>>2]|0; + $123 = HEAP32[$15>>2]|0; + $124 = Math_imul($122, $123)|0; + HEAP32[$23>>2] = $124; + $125 = HEAP32[$13>>2]|0; + $126 = ((($125)) + 12|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)>=(0); + if ($128) { + $129 = HEAP32[(1684)>>2]|0; + $130 = HEAP32[$23>>2]|0; + $131 = HEAP32[$13>>2]|0; + $132 = ((($131)) + 22|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = ($134|0)!=(0); + $136 = $135 ? 1 : 3; + $137 = HEAP32[$13>>2]|0; + $138 = ((($137)) + 12|0); + $139 = HEAP32[$138>>2]|0; + $140 = HEAP32[$8>>2]|0; + $141 = ($140|0)<(0); + $142 = $141 << 31 >> 31; + $143 = HEAP32[$13>>2]|0; + $144 = ((($143)) + 20|0); + $145 = HEAP16[$144>>1]|0; + $146 = $145&65535; + $147 = (___muldi3(($140|0),($142|0),($146|0),0)|0); + $148 = tempRet0; + $149 = (FUNCTION_TABLE_iiiiiii[$129 & 255](0,$130,$136,1,$139,$147)|0); + HEAP32[$25>>2] = $149; + $150 = HEAP32[$25>>2]|0; + $151 = ($150|0)==((-1)|0); + if ($151) { + label = 21; + break; + } + } else { + $156 = HEAP32[$8>>2]|0; + $157 = ($156|0)<(0); + $158 = $157 << 31 >> 31; + $159 = (_sqlite3_malloc64($156,$158)|0); + HEAP32[$25>>2] = $159; + $160 = HEAP32[$25>>2]|0; + $161 = ($160|0)==(0|0); + if ($161) { + label = 23; + break; + } + $162 = HEAP32[$25>>2]|0; + $163 = HEAP32[$8>>2]|0; + _memset(($162|0),0,($163|0))|0; + } + HEAP32[$24>>2] = 0; + while(1) { + $164 = HEAP32[$24>>2]|0; + $165 = HEAP32[$15>>2]|0; + $166 = ($164|0)<($165|0); + if (!($166)) { + break; + } + $167 = HEAP32[$25>>2]|0; + $168 = HEAP32[$8>>2]|0; + $169 = HEAP32[$24>>2]|0; + $170 = Math_imul($168, $169)|0; + $171 = (($167) + ($170)|0); + $172 = HEAP32[$13>>2]|0; + $173 = ((($172)) + 24|0); + $174 = HEAP32[$173>>2]|0; + $175 = HEAP32[$13>>2]|0; + $176 = ((($175)) + 20|0); + $177 = HEAP16[$176>>1]|0; + $178 = $177&65535; + $179 = HEAP32[$24>>2]|0; + $180 = (($178) + ($179))|0; + $181 = (($174) + ($180<<2)|0); + HEAP32[$181>>2] = $171; + $182 = HEAP32[$24>>2]|0; + $183 = (($182) + 1)|0; + HEAP32[$24>>2] = $183; + } + $184 = HEAP32[$15>>2]|0; + $185 = HEAP32[$13>>2]|0; + $186 = ((($185)) + 20|0); + $187 = HEAP16[$186>>1]|0; + $188 = $187&65535; + $189 = (($188) + ($184))|0; + $190 = $189&65535; + HEAP16[$186>>1] = $190; + } + if ((label|0) == 21) { + $152 = HEAP32[$13>>2]|0; + $153 = ((($152)) + 8|0); + $154 = HEAP32[$153>>2]|0; + $155 = (_unixLogErrorAtLine(5386,21194,$154,33866)|0); + HEAP32[$14>>2] = $155; break; } - $84 = HEAP32[$j>>2]|0; - $85 = HEAP32[$pColl>>2]|0; - $86 = (($85) + (($84*20)|0)|0); - $87 = ((($86)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)!=(0|0); - if ($89) { - $90 = HEAP32[$j>>2]|0; - $91 = HEAP32[$pColl>>2]|0; - $92 = (($91) + (($90*20)|0)|0); - $93 = ((($92)) + 16|0); - $94 = HEAP32[$93>>2]|0; - $95 = HEAP32[$j>>2]|0; - $96 = HEAP32[$pColl>>2]|0; - $97 = (($96) + (($95*20)|0)|0); - $98 = ((($97)) + 8|0); - $99 = HEAP32[$98>>2]|0; - FUNCTION_TABLE_vi[$94 & 255]($99); + else if ((label|0) == 23) { + HEAP32[$14>>2] = 7; + break; } - $100 = HEAP32[$j>>2]|0; - $101 = (($100) + 1)|0; - HEAP32[$j>>2] = $101; - } - $102 = HEAP32[$0>>2]|0; - $103 = HEAP32[$pColl>>2]|0; - _sqlite3DbFree($102,$103); - $104 = HEAP32[$i>>2]|0; - $105 = HEAP32[$104>>2]|0; - HEAP32[$i>>2] = $105; - } - $106 = HEAP32[$0>>2]|0; - $107 = ((($106)) + 364|0); - _sqlite3HashClear($107); - $108 = HEAP32[$0>>2]|0; - $109 = ((($108)) + 320|0); - $110 = ((($109)) + 8|0); - $111 = HEAP32[$110>>2]|0; - HEAP32[$i>>2] = $111; - while(1) { - $112 = HEAP32[$i>>2]|0; - $113 = ($112|0)!=(0|0); - if (!($113)) { - break; } - $114 = HEAP32[$i>>2]|0; - $115 = ((($114)) + 8|0); - $116 = HEAP32[$115>>2]|0; - HEAP32[$pMod>>2] = $116; - $117 = HEAP32[$pMod>>2]|0; - $118 = ((($117)) + 12|0); - $119 = HEAP32[$118>>2]|0; - $120 = ($119|0)!=(0|0); - if ($120) { - $121 = HEAP32[$pMod>>2]|0; - $122 = ((($121)) + 12|0); - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$pMod>>2]|0; - $125 = ((($124)) + 8|0); - $126 = HEAP32[$125>>2]|0; - FUNCTION_TABLE_vi[$123 & 255]($126); - } - $127 = HEAP32[$0>>2]|0; - $128 = HEAP32[$pMod>>2]|0; - _sqlite3VtabEponymousTableClear($127,$128); - $129 = HEAP32[$0>>2]|0; - $130 = HEAP32[$pMod>>2]|0; - _sqlite3DbFree($129,$130); - $131 = HEAP32[$i>>2]|0; - $132 = HEAP32[$131>>2]|0; - HEAP32[$i>>2] = $132; - } - $133 = HEAP32[$0>>2]|0; - $134 = ((($133)) + 320|0); - _sqlite3HashClear($134); - $135 = HEAP32[$0>>2]|0; - _sqlite3Error($135,0); - $136 = HEAP32[$0>>2]|0; - $137 = ((($136)) + 244|0); - $138 = HEAP32[$137>>2]|0; - _sqlite3ValueFree($138); - $139 = HEAP32[$0>>2]|0; - $140 = ((($139)) + 84|0); - HEAP32[$140>>2] = -1254786768; - $141 = HEAP32[$0>>2]|0; - $142 = HEAP32[$0>>2]|0; - $143 = ((($142)) + 16|0); - $144 = HEAP32[$143>>2]|0; - $145 = ((($144)) + 16|0); - $146 = ((($145)) + 12|0); - $147 = HEAP32[$146>>2]|0; - _sqlite3DbFree($141,$147); - $148 = HEAP32[$0>>2]|0; - $149 = ((($148)) + 84|0); - HEAP32[$149>>2] = -1623446221; - $150 = HEAP32[$0>>2]|0; - $151 = ((($150)) + 256|0); - $152 = ((($151)) + 6|0); - $153 = HEAP8[$152>>0]|0; - $154 = ($153<<24>>24)!=(0); - if ($154) { - $155 = HEAP32[$0>>2]|0; - $156 = ((($155)) + 256|0); - $157 = ((($156)) + 32|0); - $158 = HEAP32[$157>>2]|0; - _sqlite3_free($158); - } - $159 = HEAP32[$0>>2]|0; - _sqlite3_free($159); - STACKTOP = sp;return; -} -function _vdbeSafety($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 8|0; - $1 = sp + 4|0; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - _sqlite3_log(21,44004,$vararg_buffer); - HEAP32[$0>>2] = 1; - $5 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($5|0); + } while(0); + $191 = HEAP32[$13>>2]|0; + $192 = ((($191)) + 20|0); + $193 = HEAP16[$192>>1]|0; + $194 = $193&65535; + $195 = HEAP32[$7>>2]|0; + $196 = ($194|0)>($195|0); + if ($196) { + $197 = HEAP32[$13>>2]|0; + $198 = ((($197)) + 24|0); + $199 = HEAP32[$198>>2]|0; + $200 = HEAP32[$7>>2]|0; + $201 = (($199) + ($200<<2)|0); + $202 = HEAP32[$201>>2]|0; + $203 = HEAP32[$10>>2]|0; + HEAP32[$203>>2] = $202; } else { - HEAP32[$0>>2] = 0; - $5 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($5|0); + $204 = HEAP32[$10>>2]|0; + HEAP32[$204>>2] = 0; + } + $205 = HEAP32[$13>>2]|0; + $206 = ((($205)) + 22|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $209 = ($208|0)!=(0); + $210 = HEAP32[$14>>2]|0; + $211 = ($210|0)==(0); + $or$cond = $209 & $211; + if ($or$cond) { + HEAP32[$14>>2] = 8; } - return (0)|0; + $212 = HEAP32[$13>>2]|0; + $213 = ((($212)) + 4|0); + $214 = HEAP32[$213>>2]|0; + _sqlite3_mutex_leave($214); + $215 = HEAP32[$14>>2]|0; + HEAP32[$5>>2] = $215; + $216 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($216|0); } -function _invokeProfileCallback($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $iElapse = 0, $iNow = 0, label = 0, sp = 0; +function _unixOpenSharedMemory($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $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, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $iNow = sp + 8|0; - $iElapse = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - (_sqlite3OsCurrentTimeInt64($3,$iNow)|0); - $4 = $iNow; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = (($4) + 4)|0; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 128|0); - $12 = $11; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (_i64Subtract(($6|0),($9|0),($14|0),($17|0))|0); - $19 = tempRet0; - $20 = (___muldi3(($18|0),($19|0),1000000,0)|0); - $21 = tempRet0; - $22 = $iElapse; - $23 = $22; - HEAP32[$23>>2] = $20; - $24 = (($22) + 4)|0; - $25 = $24; - HEAP32[$25>>2] = $21; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 192|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 192|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 196|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 176|0); - $38 = HEAP32[$37>>2]|0; - $39 = $iElapse; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (($39) + 4)|0; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - FUNCTION_TABLE_viiii[$32 & 255]($35,$38,$41,$44); - } - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 76|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = $48 & 2; - $50 = ($49|0)!=(0); - if (!($50)) { - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 128|0); - $60 = $59; - $61 = $60; - HEAP32[$61>>2] = 0; - $62 = (($60) + 4)|0; - $63 = $62; - HEAP32[$63>>2] = 0; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 128|0; + $vararg_buffer = sp; + $1 = sp + 116|0; + $2 = sp + 112|0; + $3 = sp + 108|0; + $4 = sp + 104|0; + $5 = sp + 100|0; + $6 = sp + 96|0; + $7 = sp + 92|0; + $8 = sp + 88|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $12 = (_sqlite3_malloc64(16,0)|0); + HEAP32[$3>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + HEAP32[$1>>2] = 7; + $147 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($147|0); } - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 184|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 188|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$1>>2]|0; - (FUNCTION_TABLE_iiiii[$53 & 255](2,$56,$57,$iElapse)|0); - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 128|0); - $60 = $59; - $61 = $60; - HEAP32[$61>>2] = 0; - $62 = (($60) + 4)|0; - $63 = $62; - HEAP32[$63>>2] = 0; - STACKTOP = sp;return; + $15 = HEAP32[$3>>2]|0; + ;HEAP32[$15>>2]=0|0;HEAP32[$15+4>>2]=0|0;HEAP32[$15+8>>2]=0|0;HEAP32[$15+12>>2]=0|0; + _unixEnterMutex(); + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$6>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 20|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$4>>2] = $21; + $22 = HEAP32[$4>>2]|0; + $23 = ($22|0)==(0|0); + L5: do { + if ($23) { + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 32|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$10>>2] = $26; + $27 = HEAP32[(1480)>>2]|0; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = (FUNCTION_TABLE_iii[$27 & 255]($30,$9)|0); + $32 = ($31|0)!=(0); + do { + if ($32) { + HEAP32[$5>>2] = 1802; + } else { + $33 = HEAP32[$10>>2]|0; + $34 = (_strlen($33)|0); + $35 = (6 + ($34))|0; + HEAP32[$8>>2] = $35; + $36 = HEAP32[$8>>2]|0; + $37 = (36 + ($36))|0; + $38 = (_sqlite3_malloc64($37,0)|0); + HEAP32[$4>>2] = $38; + $39 = HEAP32[$4>>2]|0; + $40 = ($39|0)==(0|0); + if ($40) { + HEAP32[$5>>2] = 7; + break; + } + $41 = HEAP32[$4>>2]|0; + $42 = HEAP32[$8>>2]|0; + $43 = (36 + ($42))|0; + _memset(($41|0),0,($43|0))|0; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 36|0); + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 8|0); + HEAP32[$47>>2] = $45; + HEAP32[$7>>2] = $45; + $48 = HEAP32[$8>>2]|0; + $49 = HEAP32[$7>>2]|0; + $50 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer>>2] = $50; + (_sqlite3_snprintf($48,$49,21525,$vararg_buffer)|0); + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 12|0); + HEAP32[$52>>2] = -1; + $53 = HEAP32[$4>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ((($56)) + 20|0); + HEAP32[$57>>2] = $53; + $58 = HEAP32[$2>>2]|0; + $59 = ((($58)) + 8|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$4>>2]|0; + HEAP32[$61>>2] = $60; + $62 = HEAP32[(12)>>2]|0; + $63 = ($62|0)!=(0); + if ($63) { + $64 = (_sqlite3_mutex_alloc(0)|0); + $65 = HEAP32[$4>>2]|0; + $66 = ((($65)) + 4|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 4|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + HEAP32[$5>>2] = 7; + break; + } + } + $71 = HEAP32[$6>>2]|0; + $72 = ((($71)) + 13|0); + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = ($74|0)==(0); + if (!($75)) { + break L5; + } + HEAP32[$11>>2] = 66; + $76 = HEAP32[$2>>2]|0; + $77 = ((($76)) + 32|0); + $78 = HEAP32[$77>>2]|0; + $79 = (_sqlite3_uri_boolean($78,21532,0)|0); + $80 = ($79|0)!=(0); + if ($80) { + HEAP32[$11>>2] = 0; + $81 = HEAP32[$4>>2]|0; + $82 = ((($81)) + 22|0); + HEAP8[$82>>0] = 1; + } + $83 = HEAP32[$7>>2]|0; + $84 = HEAP32[$11>>2]|0; + $85 = ((($9)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = $86 & 511; + $88 = (_robust_open($83,$84,$87)|0); + $89 = HEAP32[$4>>2]|0; + $90 = ((($89)) + 12|0); + HEAP32[$90>>2] = $88; + $91 = HEAP32[$4>>2]|0; + $92 = ((($91)) + 12|0); + $93 = HEAP32[$92>>2]|0; + $94 = ($93|0)<(0); + if ($94) { + $95 = (_sqlite3CantopenError(33691)|0); + $96 = HEAP32[$7>>2]|0; + $97 = (_unixLogErrorAtLine($95,21042,$96,33691)|0); + HEAP32[$5>>2] = $97; + break; + } + $98 = HEAP32[$4>>2]|0; + $99 = ((($98)) + 12|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($9)) + 20|0); + $102 = HEAP32[$101>>2]|0; + $103 = ((($9)) + 24|0); + $104 = HEAP32[$103>>2]|0; + (_robustFchown($100,$102,$104)|0); + HEAP32[$5>>2] = 0; + $105 = HEAP32[$2>>2]|0; + $106 = (_unixShmSystemLock($105,1,128,1)|0); + $107 = ($106|0)==(0); + if ($107) { + $108 = HEAP32[$4>>2]|0; + $109 = ((($108)) + 12|0); + $110 = HEAP32[$109>>2]|0; + $111 = (_robust_ftruncate($110,0,0)|0); + $112 = ($111|0)!=(0); + if ($112) { + $113 = HEAP32[$7>>2]|0; + $114 = (_unixLogErrorAtLine(4618,21072,$113,33707)|0); + HEAP32[$5>>2] = $114; + } + } + $115 = HEAP32[$5>>2]|0; + $116 = ($115|0)==(0); + if ($116) { + $117 = HEAP32[$2>>2]|0; + $118 = (_unixShmSystemLock($117,0,128,1)|0); + HEAP32[$5>>2] = $118; + } + $119 = HEAP32[$5>>2]|0; + $120 = ($119|0)!=(0); + if (!($120)) { + break L5; + } + } + } while(0); + $144 = HEAP32[$2>>2]|0; + _unixShmPurge($144); + $145 = HEAP32[$3>>2]|0; + _sqlite3_free($145); + _unixLeaveMutex(); + $146 = HEAP32[$5>>2]|0; + HEAP32[$1>>2] = $146; + $147 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($147|0); + } + } while(0); + $121 = HEAP32[$4>>2]|0; + $122 = HEAP32[$3>>2]|0; + HEAP32[$122>>2] = $121; + $123 = HEAP32[$4>>2]|0; + $124 = ((($123)) + 28|0); + $125 = HEAP32[$124>>2]|0; + $126 = (($125) + 1)|0; + HEAP32[$124>>2] = $126; + $127 = HEAP32[$3>>2]|0; + $128 = HEAP32[$2>>2]|0; + $129 = ((($128)) + 36|0); + HEAP32[$129>>2] = $127; + _unixLeaveMutex(); + $130 = HEAP32[$4>>2]|0; + $131 = ((($130)) + 4|0); + $132 = HEAP32[$131>>2]|0; + _sqlite3_mutex_enter($132); + $133 = HEAP32[$4>>2]|0; + $134 = ((($133)) + 32|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$3>>2]|0; + $137 = ((($136)) + 4|0); + HEAP32[$137>>2] = $135; + $138 = HEAP32[$3>>2]|0; + $139 = HEAP32[$4>>2]|0; + $140 = ((($139)) + 32|0); + HEAP32[$140>>2] = $138; + $141 = HEAP32[$4>>2]|0; + $142 = ((($141)) + 4|0); + $143 = HEAP32[$142>>2]|0; + _sqlite3_mutex_leave($143); + HEAP32[$1>>2] = 0; + $147 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($147|0); } -function _sqlite3VdbeFinalize($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3_realloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 20|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(770837923); - if ($4) { - label = 3; - } else { - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(832317811); - if ($8) { - label = 3; - } + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = (_sqlite3_initialize()|0); + $6 = ($5|0)!=(0); + if ($6) { + HEAP32[$2>>2] = 0; + $14 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($14|0); } - if ((label|0) == 3) { - $9 = HEAP32[$0>>2]|0; - $10 = (_sqlite3VdbeReset($9)|0); - HEAP32[$rc>>2] = $10; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)<(0); + if ($8) { + HEAP32[$4>>2] = 0; } - $11 = HEAP32[$0>>2]|0; - _sqlite3VdbeDelete($11); - $12 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($12|0); + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)<(0); + $12 = $11 << 31 >> 31; + $13 = (_sqlite3Realloc($9,$10,$12)|0); + HEAP32[$2>>2] = $13; + $14 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($14|0); } -function _sqlite3ApiExit($db,$rc) { - $db = $db|0; - $rc = $rc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0; - var sp = 0; +function _sqlite3_mutex_alloc($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $rc; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 69|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)!=(0); - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)==(3082); - $or$cond = $7 | $9; - if ($or$cond) { - $10 = HEAP32[$1>>2]|0; - $11 = (_apiOomError($10)|0); - HEAP32[$0>>2] = $11; - $17 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($17|0); - } else { - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 56|0); - $15 = HEAP32[$14>>2]|0; - $16 = $12 & $15; - HEAP32[$0>>2] = $16; - $17 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($17|0); - } - return (0)|0; -} -function _sqlite3VdbeReset($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $db = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 8|0; - $db = sp + 4|0; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$db>>2] = $2; - $3 = HEAP32[$0>>2]|0; - (_sqlite3VdbeHalt($3)|0); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 36|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)>=(0); - $8 = HEAP32[$0>>2]|0; - if ($7) { - (_sqlite3VdbeTransferError($8)|0); - $9 = HEAP32[$db>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 108|0); - $12 = HEAP32[$11>>2]|0; - _sqlite3DbFree($9,$12); - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 108|0); - HEAP32[$14>>2] = 0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 144|0); - $17 = HEAP16[$16>>1]|0; - $18 = ($17&65535) >>> 5; - $19 = $18 & 1; - $20 = $19&65535; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 144|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24 & -2; - $26 = $25 | 1; - HEAP16[$23>>1] = $26; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<=(1); + if ($4) { + $5 = (_sqlite3_initialize()|0); + $6 = ($5|0)!=(0); + if ($6) { + HEAP32[$1>>2] = 0; + } else { + label = 4; } } else { - $27 = ((($8)) + 40|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 144|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32 & 1; - $34 = $33&65535; - $35 = ($34|0)!=(0); - if ($35) { - $36 = HEAP32[$db>>2]|0; - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 40|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 108|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)!=(0|0); - $44 = $43 ? 18391 : 0; - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 108|0); - $47 = HEAP32[$46>>2]|0; - HEAP32[$vararg_buffer>>2] = $47; - _sqlite3ErrorWithMsg($36,$39,$44,$vararg_buffer); - $48 = HEAP32[$db>>2]|0; - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 108|0); - $51 = HEAP32[$50>>2]|0; - _sqlite3DbFree($48,$51); - $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 108|0); - HEAP32[$53>>2] = 0; + label = 4; + } + do { + if ((label|0) == 4) { + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)>(1); + if ($8) { + $9 = (_sqlite3MutexInit()|0); + $10 = ($9|0)!=(0); + if ($10) { + HEAP32[$1>>2] = 0; + break; + } } + $11 = HEAP32[(88)>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = (FUNCTION_TABLE_ii[$11 & 255]($12)|0); + HEAP32[$1>>2] = $13; } - } - $54 = HEAP32[$0>>2]|0; - _Cleanup($54); - $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 56|0); - $57 = $56; - $58 = $57; - HEAP32[$58>>2] = 0; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = 0; - $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 20|0); - HEAP32[$62>>2] = 1224384374; - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 40|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$db>>2]|0; - $67 = ((($66)) + 56|0); - $68 = HEAP32[$67>>2]|0; - $69 = $65 & $68; - STACKTOP = sp;return ($69|0); + } while(0); + $14 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($14|0); } -function _sqlite3VdbeRewind($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _posixUnlock($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 20|0); - HEAP32[$2>>2] = 770837923; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 36|0); - HEAP32[$4>>2] = -1; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 40|0); - HEAP32[$6>>2] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 142|0); - HEAP8[$8>>0] = 2; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 44|0); + STACKTOP = STACKTOP + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 8|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $11 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $11; HEAP32[$10>>2] = 0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 32|0); - HEAP32[$12>>2] = 1; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 143|0); - HEAP8[$14>>0] = -1; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 48|0); - HEAP32[$16>>2] = 0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 64|0); - $19 = $18; - $20 = $19; - HEAP32[$20>>2] = 0; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = 0; - STACKTOP = sp;return; -} -function _sqlite3VdbeMemRelease($p) { - $p = $p|0; - var $0 = 0, $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; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 9312; - $6 = ($5|0)!=(0); - if (!($6)) { - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 24|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0); - if (!($10)) { - STACKTOP = sp;return; - } - } - $11 = HEAP32[$0>>2]|0; - _vdbeMemClear($11); - STACKTOP = sp;return; -} -function _sqlite3VdbeMemExpandBlob($pMem) { - $pMem = $pMem|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $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, $nByte = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $nByte = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (($4) + ($6))|0; - HEAP32[$nByte>>2] = $7; - $8 = HEAP32[$nByte>>2]|0; - $9 = ($8|0)<=(0); - $$ = $9 ? 1 : $7; - HEAP32[$nByte>>2] = $$; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$nByte>>2]|0; - $12 = (_sqlite3VdbeMemGrow($10,$11,1)|0); - $13 = ($12|0)!=(0); - if ($13) { - HEAP32[$0>>2] = 7; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } else { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + ($16)|0); - $21 = HEAP32[$1>>2]|0; - $22 = HEAP32[$21>>2]|0; - _memset(($20|0),0,($22|0))|0; - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 12|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + ($24))|0; - HEAP32[$26>>2] = $28; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 8|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31&65535; - $33 = $32 & -16897; - $34 = $33&65535; - HEAP16[$30>>1] = $34; - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $12 = HEAP32[$7>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = HEAP32[$5>>2]|0; + $17 = ($15|0)<=($16|0); + if ($17) { + HEAP32[$3>>2] = 0; + $92 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($92|0); } - return (0)|0; -} -function _sqlite3ValueText($pVal,$enc) { - $pVal = $pVal|0; - $enc = $enc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 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 + 4|0; - $1 = sp; - $2 = sp + 8|0; - HEAP32[$1>>2] = $pVal; - HEAP8[$2>>0] = $enc; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); + _unixEnterMutex(); + $18 = HEAP32[$7>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = ($24|0)>(1); do { - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = $8 & 514; - $10 = ($9|0)==(514); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 10|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = HEAP8[$2>>0]|0; - $16 = $15&255; - $17 = ($14|0)==($16|0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 16|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$0>>2] = $20; + if ($25) { + $26 = HEAP32[$5>>2]|0; + $27 = ($26|0)==(1); + if ($27) { + HEAP16[$9>>1] = 0; + $28 = ((($9)) + 2|0); + HEAP16[$28>>1] = 0; + $29 = HEAP32[482]|0; + $30 = (($29) + 2)|0; + $31 = ((($9)) + 4|0); + HEAP32[$31>>2] = $30; + $32 = ((($9)) + 8|0); + HEAP32[$32>>2] = 510; + $33 = HEAP32[$7>>2]|0; + $34 = (_unixFileLock($33,$9)|0); + $35 = ($34|0)!=(0); + if ($35) { + HEAP32[$10>>2] = 2314; + $36 = HEAP32[$7>>2]|0; + $37 = (___errno_location()|0); + $38 = HEAP32[$37>>2]|0; + _storeLastErrno($36,$38); break; } } - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 8|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23&65535; - $25 = $24 & 1; - $26 = ($25|0)!=(0); - if ($26) { - HEAP32[$0>>2] = 0; + HEAP16[$9>>1] = 2; + $39 = ((($9)) + 2|0); + HEAP16[$39>>1] = 0; + $40 = HEAP32[482]|0; + $41 = ((($9)) + 4|0); + HEAP32[$41>>2] = $40; + $42 = ((($9)) + 8|0); + HEAP32[$42>>2] = 2; + $43 = HEAP32[$7>>2]|0; + $44 = (_unixFileLock($43,$9)|0); + $45 = ($44|0)==(0); + if ($45) { + $46 = HEAP32[$8>>2]|0; + $47 = ((($46)) + 12|0); + HEAP8[$47>>0] = 1; + label = 10; break; } else { - $27 = HEAP32[$1>>2]|0; - $28 = HEAP8[$2>>0]|0; - $29 = (_valueToText($27,$28)|0); - HEAP32[$0>>2] = $29; + HEAP32[$10>>2] = 2058; + $48 = HEAP32[$7>>2]|0; + $49 = (___errno_location()|0); + $50 = HEAP32[$49>>2]|0; + _storeLastErrno($48,$50); break; } } else { - HEAP32[$0>>2] = 0; + label = 10; } } while(0); - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); -} -function _sqlite3ValueBytes($pVal,$enc) { - $pVal = $pVal|0; - $enc = $enc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp + 12|0; - $p = sp; - HEAP32[$1>>2] = $pVal; - HEAP8[$2>>0] = $enc; - $3 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = $7 & 2; - $9 = ($8|0)!=(0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 10|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = HEAP8[$2>>0]|0; - $15 = $14&255; - $16 = ($13|0)==($15|0); - if ($16) { - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$0>>2] = $19; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); - } - } - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = $23 & 16; - $25 = ($24|0)!=(0); - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 8|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - if ($25) { - $30 = $29 & 16384; - $31 = ($30|0)!=(0); - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 12|0); - $34 = HEAP32[$33>>2]|0; - if ($31) { - $35 = HEAP32[$p>>2]|0; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + ($36))|0; - HEAP32[$0>>2] = $37; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); - } else { - HEAP32[$0>>2] = $34; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); - } - } else { - $38 = $29 & 1; - $39 = ($38|0)!=(0); - if ($39) { - HEAP32[$0>>2] = 0; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); - } else { - $40 = HEAP32[$1>>2]|0; - $41 = HEAP8[$2>>0]|0; - $42 = (_valueBytes($40,$41)|0); - HEAP32[$0>>2] = $42; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); + if ((label|0) == 10) { + $51 = HEAP32[$5>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$8>>2]|0; + $54 = ((($53)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + -1)|0; + HEAP32[$54>>2] = $56; + $57 = HEAP32[$8>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==(0); + if ($60) { + HEAP16[$9>>1] = 2; + $61 = ((($9)) + 2|0); + HEAP16[$61>>1] = 0; + $62 = ((($9)) + 8|0); + HEAP32[$62>>2] = 0; + $63 = ((($9)) + 4|0); + HEAP32[$63>>2] = 0; + $64 = HEAP32[$7>>2]|0; + $65 = (_unixFileLock($64,$9)|0); + $66 = ($65|0)==(0); + if ($66) { + $67 = HEAP32[$8>>2]|0; + $68 = ((($67)) + 12|0); + $$sink = $68; + } else { + HEAP32[$10>>2] = 2058; + $69 = HEAP32[$7>>2]|0; + $70 = (___errno_location()|0); + $71 = HEAP32[$70>>2]|0; + _storeLastErrno($69,$71); + $72 = HEAP32[$8>>2]|0; + $73 = ((($72)) + 12|0); + HEAP8[$73>>0] = 0; + $74 = HEAP32[$7>>2]|0; + $75 = ((($74)) + 16|0); + $$sink = $75; + } + HEAP8[$$sink>>0] = 0; + } + $76 = HEAP32[$8>>2]|0; + $77 = ((($76)) + 24|0); + $78 = HEAP32[$77>>2]|0; + $79 = (($78) + -1)|0; + HEAP32[$77>>2] = $79; + $80 = HEAP32[$8>>2]|0; + $81 = ((($80)) + 24|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)==(0); + if ($83) { + $84 = HEAP32[$7>>2]|0; + _closePendingFds($84); + } } } - return (0)|0; -} -function _sqlite3VdbeRealValue($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.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.0, $38 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $val = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 8|0; - $1 = sp + 16|0; - $val = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 8; - $7 = ($6|0)!=(0); - $8 = HEAP32[$1>>2]|0; - if ($7) { - $9 = +HEAPF64[$8>>3]; - HEAPF64[$0>>3] = $9; - $38 = +HEAPF64[$0>>3]; - STACKTOP = sp;return (+$38); - } - $10 = ((($8)) + 8|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = $12 & 4; - $14 = ($13|0)!=(0); - $15 = HEAP32[$1>>2]|0; - if ($14) { - $16 = $15; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + 4)|0; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (+($18>>>0)) + (4294967296.0*(+($21|0))); - HEAPF64[$0>>3] = $22; - $38 = +HEAPF64[$0>>3]; - STACKTOP = sp;return (+$38); - } - $23 = ((($15)) + 8|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24&65535; - $26 = $25 & 18; - $27 = ($26|0)!=(0); - if ($27) { - HEAPF64[$val>>3] = 0.0; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 10|0); - $36 = HEAP8[$35>>0]|0; - (_sqlite3AtoF($30,$val,$33,$36)|0); - $37 = +HEAPF64[$val>>3]; - HEAPF64[$0>>3] = $37; - $38 = +HEAPF64[$0>>3]; - STACKTOP = sp;return (+$38); - } else { - HEAPF64[$0>>3] = 0.0; - $38 = +HEAPF64[$0>>3]; - STACKTOP = sp;return (+$38); + _unixLeaveMutex(); + $85 = HEAP32[$10>>2]|0; + $86 = ($85|0)==(0); + if ($86) { + $87 = HEAP32[$5>>2]|0; + $88 = $87&255; + $89 = HEAP32[$7>>2]|0; + $90 = ((($89)) + 16|0); + HEAP8[$90>>0] = $88; } - return +(0.0); + $91 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $91; + $92 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($92|0); } -function _sqlite3VdbeIntValue($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.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, $7 = 0, $8 = 0, $9 = 0, $flags = 0, $value = 0, label = 0, sp = 0; +function _unixFileLock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 8|0; - $1 = sp + 20|0; - $flags = sp + 16|0; - $value = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - HEAP32[$flags>>2] = $5; - $6 = HEAP32[$flags>>2]|0; - $7 = $6 & 4; - $8 = ($7|0)!=(0); + STACKTOP = STACKTOP + 64|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$6>>2] = $10; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 18|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = $14 & 3; + $16 = ($15|0)==(1); do { - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = $9; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = $0; - $17 = $16; - HEAP32[$17>>2] = $12; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - } else { - $20 = HEAP32[$flags>>2]|0; - $21 = $20 & 8; - $22 = ($21|0)!=(0); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = +HEAPF64[$23>>3]; - $25 = (_doubleToInt64($24)|0); - $26 = tempRet0; - $27 = $0; - $28 = $27; - HEAP32[$28>>2] = $25; - $29 = (($27) + 4)|0; - $30 = $29; - HEAP32[$30>>2] = $26; + if ($16) { + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 13|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = ($20|0)==(0); + if (!($21)) { + HEAP32[$5>>2] = 0; break; } - $31 = HEAP32[$flags>>2]|0; - $32 = $31 & 18; - $33 = ($32|0)!=(0); - if ($33) { - $34 = $value; - $35 = $34; - HEAP32[$35>>2] = 0; - $36 = (($34) + 4)|0; - $37 = $36; - HEAP32[$37>>2] = 0; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 16|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 10|0); - $46 = HEAP8[$45>>0]|0; - (_sqlite3Atoi64($40,$value,$43,$46)|0); - $47 = $value; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = $0; - $54 = $53; - HEAP32[$54>>2] = $49; - $55 = (($53) + 4)|0; - $56 = $55; - HEAP32[$56>>2] = $52; - break; - } else { - $57 = $0; - $58 = $57; - HEAP32[$58>>2] = 0; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = 0; + $22 = ((($7)) + 2|0); + HEAP16[$22>>1] = 0; + $23 = HEAP32[482]|0; + $24 = (($23) + 2)|0; + $25 = ((($7)) + 4|0); + HEAP32[$25>>2] = $24; + $26 = ((($7)) + 8|0); + HEAP32[$26>>2] = 510; + HEAP16[$7>>1] = 1; + $27 = HEAP32[(1504)>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$vararg_buffer>>2] = $7; + $31 = (FUNCTION_TABLE_iiii[$27 & 255]($30,13,$vararg_buffer)|0); + HEAP32[$5>>2] = $31; + $32 = HEAP32[$5>>2]|0; + $33 = ($32|0)<(0); + if (!($33)) { + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 13|0); + HEAP8[$36>>0] = 1; + $37 = HEAP32[$6>>2]|0; + $38 = ((($37)) + 24|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$38>>2] = $40; break; } + $34 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $34; + $48 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($48|0); + } else { + $41 = HEAP32[(1504)>>2]|0; + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer1>>2] = $45; + $46 = (FUNCTION_TABLE_iiii[$41 & 255]($44,13,$vararg_buffer1)|0); + HEAP32[$5>>2] = $46; } } while(0); - $61 = $0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - tempRet0 = ($66); - STACKTOP = sp;return ($63|0); + $47 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $47; + $48 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($48|0); } -function _sqlite3VdbeMemMakeWriteable($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _closePendingFds($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 18; - $7 = ($6|0)!=(0); - do { - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11 & 16384; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = (_sqlite3VdbeMemExpandBlob($14)|0); - $16 = ($15|0)!=(0); - if ($16) { - HEAP32[$0>>2] = 7; - $62 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($62|0); - } - } - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 24|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)==(0); - if (!($20)) { - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 16|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 20|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($23|0)!=($26|0); - if (!($27)) { - break; - } - } - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + 2)|0; - $33 = (_sqlite3VdbeMemGrow($28,$32,1)|0); - $34 = ($33|0)!=(0); - if (!($34)) { - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 16|0); - $40 = HEAP32[$39>>2]|0; - $41 = (($40) + ($37)|0); - HEAP8[$41>>0] = 0; - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + 1)|0; - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + ($45)|0); - HEAP8[$49>>0] = 0; - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 8|0); - $52 = HEAP16[$51>>1]|0; - $53 = $52&65535; - $54 = $53 | 512; - $55 = $54&65535; - HEAP16[$51>>1] = $55; - break; - } - HEAP32[$0>>2] = 7; - $62 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($62|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 28|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $10; + while(1) { + $11 = HEAP32[$3>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + break; } - } while(0); - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 8|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58&65535; - $60 = $59 & -4097; - $61 = $60&65535; - HEAP16[$57>>1] = $61; - HEAP32[$0>>2] = 0; - $62 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($62|0); -} -function _sqlite3ValueFree($v) { - $v = $v|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $v; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$4>>2] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + _robust_close($16,$18,30592); + $19 = HEAP32[$3>>2]|0; + _sqlite3_free($19); + $20 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $20; } - $3 = HEAP32[$0>>2]|0; - _sqlite3VdbeMemRelease($3); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 32|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - _sqlite3DbFree($6,$7); + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 28|0); + HEAP32[$22>>2] = 0; STACKTOP = sp;return; } -function _setResultStrOrError($pCtx,$z,$n,$enc,$xDel) { - $pCtx = $pCtx|0; - $z = $z|0; - $n = $n|0; - $enc = $enc|0; - $xDel = $xDel|0; - var $0 = 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, label = 0, sp = 0; +function _setPendingFd($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp + 4|0; - $3 = sp + 16|0; - $4 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $n; - HEAP8[$3>>0] = $enc; - HEAP32[$4>>2] = $xDel; - $5 = HEAP32[$0>>2]|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP8[$3>>0]|0; - $10 = HEAP32[$4>>2]|0; - $11 = (_sqlite3VdbeMemSetStr($6,$7,$8,$9,$10)|0); - $12 = ($11|0)==(18); - if (!($12)) { - STACKTOP = sp;return; - } - $13 = HEAP32[$0>>2]|0; - _sqlite3_result_error_toobig($13); + $8 = ((($7)) + 28|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 8|0); + HEAP32[$14>>2] = $12; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 28|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 12|0); + HEAP32[$19>>2] = -1; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 28|0); + HEAP32[$21>>2] = 0; STACKTOP = sp;return; } -function _invokeValueDestructor($p,$xDel,$pCtx) { - $p = $p|0; - $xDel = $xDel|0; - $pCtx = $pCtx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; +function _releaseInodeInfo($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $inodeList$sink = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $xDel; - HEAP32[$2>>2] = $pCtx; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)==((-1)|0); - $or$cond = $4 | $6; - if (!($or$cond)) { - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_vi[$7 & 255]($8); - } - $9 = HEAP32[$2>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return 18; + $4 = ((($3)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + STACKTOP = sp;return; } - $11 = HEAP32[$2>>2]|0; - _sqlite3_result_error_toobig($11); - STACKTOP = sp;return 18; -} -function _sqlite3VdbeMemSetDouble($pMem,$val) { - $pMem = $pMem|0; - $val = +$val; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp; - HEAP32[$0>>2] = $pMem; - HEAPF64[$1>>3] = $val; - $2 = HEAP32[$0>>2]|0; - _sqlite3VdbeMemSetNull($2); - $3 = +HEAPF64[$1>>3]; - $4 = (_sqlite3IsNaN($3)|0); - $5 = ($4|0)!=(0); - if ($5) { + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + -1)|0; + HEAP32[$9>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { STACKTOP = sp;return; } - $6 = +HEAPF64[$1>>3]; - $7 = HEAP32[$0>>2]|0; - HEAPF64[$7>>3] = $6; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 8|0); - HEAP16[$9>>1] = 8; + $16 = HEAP32[$1>>2]|0; + _closePendingFds($16); + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 36|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(0|0); + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 32|0); + $23 = HEAP32[$22>>2]|0; + if ($20) { + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($26)) + 32|0); + $inodeList$sink = $27; + } else { + $inodeList$sink = 54796; + } + HEAP32[$inodeList$sink>>2] = $23; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 36|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 32|0); + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 36|0); + HEAP32[$38>>2] = $34; + } + $39 = HEAP32[$2>>2]|0; + _sqlite3_free($39); STACKTOP = sp;return; } -function _sqlite3VdbeMemSetStr($pMem,$z,$n,$enc,$xDel) { - $pMem = $pMem|0; - $z = $z|0; - $n = $n|0; - $enc = $enc|0; - $xDel = $xDel|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $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, $flags = 0; - var $iLimit = 0, $nAlloc = 0, $nByte = 0, label = 0, sp = 0; +function _sqlite3_uri_parameter($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 34|0; - $5 = sp + 12|0; - $nByte = sp + 8|0; - $iLimit = sp + 4|0; - $flags = sp + 32|0; - $nAlloc = sp; - HEAP32[$1>>2] = $pMem; - HEAP32[$2>>2] = $z; - HEAP32[$3>>2] = $n; - HEAP8[$4>>0] = $enc; - HEAP32[$5>>2] = $xDel; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; $6 = HEAP32[$3>>2]|0; - HEAP32[$nByte>>2] = $6; - HEAP16[$flags>>1] = 0; - $7 = HEAP32[$2>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = HEAP32[$1>>2]|0; - if (!($8)) { - _sqlite3VdbeMemSetNull($9); - HEAP32[$0>>2] = 0; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); - } - $10 = ((($9)) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 32|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 96|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$iLimit>>2] = $17; - } else { - HEAP32[$iLimit>>2] = 1000000000; - } - $18 = HEAP8[$4>>0]|0; - $19 = $18&255; - $20 = ($19|0)==(0); - $21 = $20 ? 16 : 2; - $22 = $21&65535; - HEAP16[$flags>>1] = $22; - $23 = HEAP32[$nByte>>2]|0; - $24 = ($23|0)<(0); - if ($24) { - $25 = HEAP8[$4>>0]|0; - $26 = $25&255; - $27 = ($26|0)==(1); - L11: do { - if ($27) { - $28 = HEAP32[$2>>2]|0; - $29 = (_sqlite3Strlen30($28)|0); - HEAP32[$nByte>>2] = $29; - $30 = HEAP32[$nByte>>2]|0; - $31 = HEAP32[$iLimit>>2]|0; - $32 = ($30|0)>($31|0); - if ($32) { - $33 = HEAP32[$iLimit>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$nByte>>2] = $34; - } - } else { - HEAP32[$nByte>>2] = 0; - while(1) { - $35 = HEAP32[$nByte>>2]|0; - $36 = HEAP32[$iLimit>>2]|0; - $37 = ($35|0)<=($36|0); - if (!($37)) { - break L11; - } - $38 = HEAP32[$nByte>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = (($39) + ($38)|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 << 24 >> 24; - $43 = HEAP32[$nByte>>2]|0; - $44 = (($43) + 1)|0; - $45 = HEAP32[$2>>2]|0; - $46 = (($45) + ($44)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47 << 24 >> 24; - $49 = $42 | $48; - $50 = ($49|0)!=(0); - if (!($50)) { - break L11; - } - $51 = HEAP32[$nByte>>2]|0; - $52 = (($51) + 2)|0; - HEAP32[$nByte>>2] = $52; - } - } - } while(0); - $53 = HEAP16[$flags>>1]|0; - $54 = $53&65535; - $55 = $54 | 512; - $56 = $55&65535; - HEAP16[$flags>>1] = $56; + $7 = ($6|0)==(0|0); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(0|0); + $or$cond = $7 | $9; + if ($or$cond) { + HEAP32[$2>>2] = 0; + $33 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($33|0); } - $57 = HEAP32[$5>>2]|0; - $58 = ($57|0)==((-1)|0); - do { - if ($58) { - $59 = HEAP32[$nByte>>2]|0; - HEAP32[$nAlloc>>2] = $59; - $60 = HEAP16[$flags>>1]|0; - $61 = $60&65535; - $62 = $61 & 512; - $63 = ($62|0)!=(0); - if ($63) { - $64 = HEAP8[$4>>0]|0; - $65 = $64&255; - $66 = ($65|0)==(1); - $67 = $66 ? 1 : 2; - $68 = HEAP32[$nAlloc>>2]|0; - $69 = (($68) + ($67))|0; - HEAP32[$nAlloc>>2] = $69; - } - $70 = HEAP32[$nByte>>2]|0; - $71 = HEAP32[$iLimit>>2]|0; - $72 = ($70|0)>($71|0); - if ($72) { - HEAP32[$0>>2] = 18; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); - } - $73 = HEAP32[$1>>2]|0; - $74 = HEAP32[$nAlloc>>2]|0; - $75 = ($74|0)>(32); - $76 = HEAP32[$nAlloc>>2]|0; - $77 = $75 ? $76 : 32; - $78 = (_sqlite3VdbeMemClearAndResize($73,$77)|0); - $79 = ($78|0)!=(0); - if (!($79)) { - $80 = HEAP32[$1>>2]|0; - $81 = ((($80)) + 16|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$2>>2]|0; - $84 = HEAP32[$nAlloc>>2]|0; - _memcpy(($82|0),($83|0),($84|0))|0; - break; - } - HEAP32[$0>>2] = 7; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); - } else { - $85 = HEAP32[$5>>2]|0; - $86 = ($85|0)==(170|0); - $87 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemRelease($87); - $88 = HEAP32[$2>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 16|0); - HEAP32[$90>>2] = $88; - if ($86) { - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 20|0); - HEAP32[$92>>2] = $88; - $93 = HEAP32[$1>>2]|0; - $94 = ((($93)) + 32|0); - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 20|0); - $98 = HEAP32[$97>>2]|0; - $99 = (_sqlite3DbMallocSize($95,$98)|0); - $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 24|0); - HEAP32[$101>>2] = $99; - break; - } else { - $102 = HEAP32[$5>>2]|0; - $103 = HEAP32[$1>>2]|0; - $104 = ((($103)) + 36|0); - HEAP32[$104>>2] = $102; - $105 = HEAP32[$5>>2]|0; - $106 = ($105|0)==(0|0); - $107 = $106 ? 2048 : 1024; - $108 = HEAP16[$flags>>1]|0; - $109 = $108&65535; - $110 = $109 | $107; - $111 = $110&65535; - HEAP16[$flags>>1] = $111; - break; - } + $10 = HEAP32[$3>>2]|0; + $11 = (_sqlite3Strlen30($10)|0); + $12 = (($11) + 1)|0; + $13 = HEAP32[$3>>2]|0; + $14 = (($13) + ($12)|0); + HEAP32[$3>>2] = $14; + while(1) { + $15 = HEAP32[$3>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if (!($17)) { + label = 8; + break; } - } while(0); - $112 = HEAP32[$nByte>>2]|0; - $113 = HEAP32[$1>>2]|0; - $114 = ((($113)) + 12|0); - HEAP32[$114>>2] = $112; - $115 = HEAP16[$flags>>1]|0; - $116 = HEAP32[$1>>2]|0; - $117 = ((($116)) + 8|0); - HEAP16[$117>>1] = $115; - $118 = HEAP8[$4>>0]|0; - $119 = $118&255; - $120 = ($119|0)==(0); - $121 = HEAP8[$4>>0]|0; - $122 = $121&255; - $123 = $120 ? 1 : $122; - $124 = $123&255; - $125 = HEAP32[$1>>2]|0; - $126 = ((($125)) + 10|0); - HEAP8[$126>>0] = $124; - $127 = HEAP32[$1>>2]|0; - $128 = ((($127)) + 10|0); - $129 = HEAP8[$128>>0]|0; - $130 = $129&255; - $131 = ($130|0)!=(1); - if ($131) { - $132 = HEAP32[$1>>2]|0; - $133 = (_sqlite3VdbeMemHandleBom($132)|0); - $134 = ($133|0)!=(0); - if ($134) { - HEAP32[$0>>2] = 7; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = (_strcmp($18,$19)|0); + HEAP32[$5>>2] = $20; + $21 = HEAP32[$3>>2]|0; + $22 = (_sqlite3Strlen30($21)|0); + $23 = (($22) + 1)|0; + $24 = HEAP32[$3>>2]|0; + $25 = (($24) + ($23)|0); + HEAP32[$3>>2] = $25; + $26 = HEAP32[$5>>2]|0; + $27 = ($26|0)==(0); + $28 = HEAP32[$3>>2]|0; + if ($27) { + label = 6; + break; } + $29 = (_sqlite3Strlen30($28)|0); + $30 = (($29) + 1)|0; + $31 = HEAP32[$3>>2]|0; + $32 = (($31) + ($30)|0); + HEAP32[$3>>2] = $32; } - $135 = HEAP32[$nByte>>2]|0; - $136 = HEAP32[$iLimit>>2]|0; - $137 = ($135|0)>($136|0); - if ($137) { - HEAP32[$0>>2] = 18; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); - } else { - HEAP32[$0>>2] = 0; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); + if ((label|0) == 6) { + HEAP32[$2>>2] = $28; + $33 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($33|0); + } + else if ((label|0) == 8) { + HEAP32[$2>>2] = 0; + $33 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($33|0); } return (0)|0; } -function _sqlite3VdbeMemSetInt64($pMem,$0,$1) { - $pMem = $pMem|0; +function _sqlite3GetBoolean($0,$1) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $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; - $2 = sp + 8|0; - $3 = sp; - HEAP32[$2>>2] = $pMem; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11 & 9312; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$2>>2]|0; - $15 = $3; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - _vdbeReleaseAndSetInt64($14,$17,$20); - STACKTOP = sp;return; - } else { - $21 = $3; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = $27; - $29 = $28; - HEAP32[$29>>2] = $23; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = $26; - $32 = HEAP32[$2>>2]|0; - $33 = ((($32)) + 8|0); - HEAP16[$33>>1] = 4; - STACKTOP = sp;return; - } + $2 = sp; + $3 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP8[$3>>0] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP8[$3>>0]|0; + $6 = (_getSafetyLevel($4,1,$5)|0); + $7 = $6&255; + $8 = ($7|0)!=(0); + $9 = $8&1; + $10 = $9&255; + STACKTOP = sp;return ($10|0); } -function _sqlite3VdbeMemSetNull($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _getSafetyLevel($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pMem; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 9312; - $6 = ($5|0)!=(0); - $7 = HEAP32[$0>>2]|0; - if ($6) { - _vdbeMemClearExternAndSetNull($7); - STACKTOP = sp;return; - } else { - $8 = ((($7)) + 8|0); - HEAP16[$8>>1] = 1; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 17|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 16|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP8[$6>>0] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = (20063 + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = $14 & 4; + $16 = ($15|0)!=(0); + $17 = HEAP32[$4>>2]|0; + if ($16) { + $18 = (_sqlite3Atoi($17)|0); + $19 = $18&255; + HEAP8[$3>>0] = $19; + $51 = HEAP8[$3>>0]|0; + STACKTOP = sp;return ($51|0); } -} -function _sqlite3VdbeMemCopy($pTo,$pFrom) { - $pTo = $pTo|0; - $pFrom = $pFrom|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pTo; - HEAP32[$1>>2] = $pFrom; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 9312; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - _vdbeMemClearExternAndSetNull($8); + $20 = (_sqlite3Strlen30($17)|0); + HEAP32[$8>>2] = $20; + HEAP32[$7>>2] = 0; + while(1) { + $21 = HEAP32[$7>>2]|0; + $22 = ($21|0)<(8); + if (!($22)) { + label = 11; + break; + } + $23 = HEAP32[$7>>2]|0; + $24 = (21545 + ($23)|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = HEAP32[$8>>2]|0; + $28 = ($26|0)==($27|0); + if ($28) { + $29 = HEAP32[$7>>2]|0; + $30 = (21553 + ($29)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = (21561 + ($32)|0); + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$8>>2]|0; + $36 = (_sqlite3_strnicmp($33,$34,$35)|0); + $37 = ($36|0)==(0); + if ($37) { + $38 = HEAP32[$5>>2]|0; + $39 = ($38|0)!=(0); + if (!($39)) { + label = 9; + break; + } + $40 = HEAP32[$7>>2]|0; + $41 = (21586 + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = ($43|0)<=(1); + if ($44) { + label = 9; + break; + } + } + } + $48 = HEAP32[$7>>2]|0; + $49 = (($48) + 1)|0; + HEAP32[$7>>2] = $49; } - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$1>>2]|0; - ;HEAP32[$9>>2]=HEAP32[$10>>2]|0;HEAP32[$9+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$10+16>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & -1025; - $16 = $15&65535; - HEAP16[$12>>1] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 & 18; - $22 = ($21|0)!=(0); - if (!($22)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + if ((label|0) == 9) { + $45 = HEAP32[$7>>2]|0; + $46 = (21586 + ($45)|0); + $47 = HEAP8[$46>>0]|0; + HEAP8[$3>>0] = $47; + $51 = HEAP8[$3>>0]|0; + STACKTOP = sp;return ($51|0); } - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = $26 & 2048; - $28 = (0)==($27|0); - if (!($28)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + else if ((label|0) == 11) { + $50 = HEAP8[$6>>0]|0; + HEAP8[$3>>0] = $50; + $51 = HEAP8[$3>>0]|0; + STACKTOP = sp;return ($51|0); } - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 8|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31&65535; - $33 = $32 | 4096; - $34 = $33&65535; - HEAP16[$30>>1] = $34; - $35 = HEAP32[$0>>2]|0; - $36 = (_sqlite3VdbeMemMakeWriteable($35)|0); - HEAP32[$rc>>2] = $36; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + return (0)|0; } -function _sqlite3VdbeMemSetZeroBlob($pMem,$n) { - $pMem = $pMem|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3Atoi($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pMem; - HEAP32[$1>>2] = $n; - $2 = HEAP32[$0>>2]|0; - _sqlite3VdbeMemRelease($2); - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - HEAP16[$4>>1] = 16400; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 12|0); - HEAP32[$6>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)<(0); - if ($8) { - HEAP32[$1>>2] = 0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if ($4) { + $5 = HEAP32[$1>>2]|0; + (_sqlite3GetInt32($5,$2)|0); } - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$0>>2]|0; - HEAP32[$10>>2] = $9; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 10|0); - HEAP8[$12>>0] = 1; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 16|0); - HEAP32[$14>>2] = 0; - STACKTOP = sp;return; + $6 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($6|0); } -function _sqlite3ErrStr($rc) { - $rc = $rc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $or$cond = 0, $zErr = 0, label = 0; - var sp = 0; +function _sqlite3GetInt32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $zErr = sp; - HEAP32[$0>>2] = $rc; - HEAP32[$zErr>>2] = 43378; - $1 = HEAP32[$0>>2]|0; - $cond = ($1|0)==(516); - if ($cond) { - HEAP32[$zErr>>2] = 43392; - } else { - $2 = HEAP32[$0>>2]|0; - $3 = $2 & 255; - HEAP32[$0>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)>=(0); - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)<(27); - $or$cond = $5 & $7; - if ($or$cond) { - $8 = HEAP32[$0>>2]|0; - $9 = (6240 + ($8<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = (6240 + ($12<<2)|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$zErr>>2] = $14; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $10 = $5; + $11 = $10; + HEAP32[$11>>2] = 0; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = 0; + HEAP32[$8>>2] = 0; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = ($16|0)==(45); + do { + if ($17) { + HEAP32[$8>>2] = 1; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 1|0); + HEAP32[$3>>2] = $19; + } else { + $20 = HEAP32[$3>>2]|0; + $21 = HEAP8[$20>>0]|0; + $22 = $21 << 24 >> 24; + $23 = ($22|0)==(43); + $24 = HEAP32[$3>>2]|0; + if ($23) { + $25 = ((($24)) + 1|0); + HEAP32[$3>>2] = $25; + break; + } + $26 = HEAP8[$24>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($27|0)==(48); + if ($28) { + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31 << 24 >> 24; + $33 = ($32|0)==(120); + if (!($33)) { + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 1|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36 << 24 >> 24; + $38 = ($37|0)==(88); + if (!($38)) { + break; + } + } + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 2|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = (20063 + ($42)|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = $45 & 8; + $47 = ($46|0)!=(0); + if ($47) { + HEAP32[$9>>2] = 0; + $48 = HEAP32[$3>>2]|0; + $49 = ((($48)) + 2|0); + HEAP32[$3>>2] = $49; + while(1) { + $50 = HEAP32[$3>>2]|0; + $51 = HEAP8[$50>>0]|0; + $52 = $51 << 24 >> 24; + $53 = ($52|0)==(48); + if (!($53)) { + break; + } + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 1|0); + HEAP32[$3>>2] = $55; + } + HEAP32[$6>>2] = 0; + while(1) { + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = (($56) + ($57)|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = (20063 + ($60)|0); + $62 = HEAP8[$61>>0]|0; + $63 = $62&255; + $64 = $63 & 8; + $65 = ($64|0)!=(0); + $66 = HEAP32[$6>>2]|0; + $67 = ($66|0)<(8); + $68 = $65 ? $67 : 0; + $69 = HEAP32[$9>>2]|0; + if (!($68)) { + break; + } + $70 = $69<<4; + $71 = HEAP32[$3>>2]|0; + $72 = HEAP32[$6>>2]|0; + $73 = (($71) + ($72)|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74 << 24 >> 24; + $76 = (_sqlite3HexToInt($75)|0); + $77 = $76&255; + $78 = (($70) + ($77))|0; + HEAP32[$9>>2] = $78; + $79 = HEAP32[$6>>2]|0; + $80 = (($79) + 1)|0; + HEAP32[$6>>2] = $80; + } + $81 = $69 & -2147483648; + $82 = ($81|0)==(0); + if ($82) { + $83 = HEAP32[$3>>2]|0; + $84 = HEAP32[$6>>2]|0; + $85 = (($83) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = (20063 + ($87)|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = $90 & 8; + $92 = ($91|0)==(0); + if ($92) { + $93 = HEAP32[$4>>2]|0; + ;HEAP32[$93>>2]=HEAP32[$9>>2]|0; + HEAP32[$2>>2] = 1; + $169 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($169|0); + } + } + HEAP32[$2>>2] = 0; + $169 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($169|0); + } } } + } while(0); + while(1) { + $94 = HEAP32[$3>>2]|0; + $95 = HEAP8[$94>>0]|0; + $96 = $95 << 24 >> 24; + $97 = ($96|0)==(48); + if (!($97)) { + break; + } + $98 = HEAP32[$3>>2]|0; + $99 = ((($98)) + 1|0); + HEAP32[$3>>2] = $99; } - $15 = HEAP32[$zErr>>2]|0; - STACKTOP = sp;return ($15|0); -} -function _sqlite3OomFault($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 69|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(0); - if (!($5)) { - STACKTOP = sp;return; + HEAP32[$6>>2] = 0; + while(1) { + $100 = HEAP32[$6>>2]|0; + $101 = ($100|0)<(11); + if (!($101)) { + break; + } + $102 = HEAP32[$3>>2]|0; + $103 = HEAP32[$6>>2]|0; + $104 = (($102) + ($103)|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105 << 24 >> 24; + $107 = (($106) - 48)|0; + HEAP32[$7>>2] = $107; + $108 = ($107|0)>=(0); + $109 = HEAP32[$7>>2]|0; + $110 = ($109|0)<=(9); + $or$cond = $108 & $110; + if (!($or$cond)) { + break; + } + $111 = $5; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (($111) + 4)|0; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (___muldi3(($113|0),($116|0),10,0)|0); + $118 = tempRet0; + $119 = HEAP32[$7>>2]|0; + $120 = ($119|0)<(0); + $121 = $120 << 31 >> 31; + $122 = (_i64Add(($117|0),($118|0),($119|0),($121|0))|0); + $123 = tempRet0; + $124 = $5; + $125 = $124; + HEAP32[$125>>2] = $122; + $126 = (($124) + 4)|0; + $127 = $126; + HEAP32[$127>>2] = $123; + $128 = HEAP32[$6>>2]|0; + $129 = (($128) + 1)|0; + HEAP32[$6>>2] = $129; } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 70|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($9|0)==(0); - if (!($10)) { - STACKTOP = sp;return; + $130 = HEAP32[$6>>2]|0; + $131 = ($130|0)>(10); + if ($131) { + HEAP32[$2>>2] = 0; + $169 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($169|0); } - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 69|0); - HEAP8[$12>>0] = 1; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 168|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 248|0); - HEAP32[$18>>2] = 1; + $132 = $5; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = (($132) + 4)|0; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = HEAP32[$8>>2]|0; + $139 = ($138|0)<(0); + $140 = $139 << 31 >> 31; + $141 = (_i64Subtract(($134|0),($137|0),($138|0),($140|0))|0); + $142 = tempRet0; + $143 = ($142|0)>(0); + $144 = ($141>>>0)>(2147483647); + $145 = ($142|0)==(0); + $146 = $145 & $144; + $147 = $143 | $146; + if ($147) { + HEAP32[$2>>2] = 0; + $169 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($169|0); } - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 256|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$20>>2] = $22; - STACKTOP = sp;return; + $148 = HEAP32[$8>>2]|0; + $149 = ($148|0)!=(0); + if ($149) { + $150 = $5; + $151 = $150; + $152 = HEAP32[$151>>2]|0; + $153 = (($150) + 4)|0; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = (_i64Subtract(0,0,($152|0),($155|0))|0); + $157 = tempRet0; + $158 = $5; + $159 = $158; + HEAP32[$159>>2] = $156; + $160 = (($158) + 4)|0; + $161 = $160; + HEAP32[$161>>2] = $157; + } + $162 = $5; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = (($162) + 4)|0; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = HEAP32[$4>>2]|0; + HEAP32[$168>>2] = $164; + HEAP32[$2>>2] = 1; + $169 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($169|0); } -function _vdbeSafetyNotNull($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3HexToInt($0) { + $0 = $0|0; + var $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; - $vararg_buffer = sp; - $0 = sp + 8|0; - $1 = sp + 4|0; - HEAP32[$1>>2] = $p; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - _sqlite3_log(21,43338,$vararg_buffer); - HEAP32[$0>>2] = 1; - $6 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($6|0); + $3 = $2 >> 6; + $4 = 1 & $3; + $5 = ($4*9)|0; + $6 = HEAP32[$1>>2]|0; + $7 = (($6) + ($5))|0; + HEAP32[$1>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = $8 & 15; + $10 = $9&255; + STACKTOP = sp;return ($10|0); +} +function _getFileMode($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $4 = sp + 92|0; + $5 = sp + 88|0; + $6 = sp + 84|0; + $7 = sp + 80|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$9>>2] = 0; + $10 = HEAP32[(1468)>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = (FUNCTION_TABLE_iii[$10 & 255]($11,$8)|0); + $13 = (0)==($12|0); + if ($13) { + $14 = ((($8)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = $15 & 511; + $17 = HEAP32[$5>>2]|0; + HEAP32[$17>>2] = $16; + $18 = ((($8)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$6>>2]|0; + HEAP32[$20>>2] = $19; + $21 = ((($8)) + 24|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$7>>2]|0; + HEAP32[$23>>2] = $22; + $24 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($24|0); } else { - $4 = HEAP32[$1>>2]|0; - $5 = (_vdbeSafety($4)|0); - HEAP32[$0>>2] = $5; - $6 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($6|0); + HEAP32[$9>>2] = 1802; + $24 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($24|0); } return (0)|0; } -function _sqlite3Step($p) { - $p = $p|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, label = 0, sp = 0; +function _posixIoFinderImpl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $db = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(770837923); - if ($5) { - $6 = HEAP32[$1>>2]|0; - (_sqlite3_reset($6)|0); - } - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$db>>2] = $8; - $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 69|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)!=(0); - $13 = HEAP32[$1>>2]|0; - if ($12) { - $14 = ((($13)) + 40|0); - HEAP32[$14>>2] = 7; - HEAP32[$0>>2] = 7; - $163 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($163|0); - } - $15 = ((($13)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)<=(0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 144|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20 & 1; - $22 = $21&65535; - $23 = ($22|0)!=(0); - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 40|0); - HEAP32[$25>>2] = 17; - HEAP32[$rc>>2] = 1; - } else { - label = 8; - } - } else { - label = 8; - } - if ((label|0) == 8) { - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 36|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)<(0); - if ($29) { - $30 = HEAP32[$db>>2]|0; - $31 = ((($30)) + 156|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==(0); - if ($33) { - $34 = HEAP32[$db>>2]|0; - $35 = ((($34)) + 248|0); - HEAP32[$35>>2] = 0; - } - $36 = HEAP32[$db>>2]|0; - $37 = ((($36)) + 192|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)!=(0|0); - if ($39) { - label = 13; - } else { - $40 = HEAP32[$db>>2]|0; - $41 = ((($40)) + 76|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = $43 & 2; - $45 = ($44|0)!=(0); - if ($45) { - label = 13; - } - } - if ((label|0) == 13) { - $46 = HEAP32[$db>>2]|0; - $47 = ((($46)) + 148|0); - $48 = ((($47)) + 5|0); - $49 = HEAP8[$48>>0]|0; - $50 = ($49<<24>>24)!=(0); - if (!($50)) { - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 176|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)!=(0|0); - if ($54) { - $55 = HEAP32[$db>>2]|0; - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 128|0); - (_sqlite3OsCurrentTimeInt64($56,$58)|0); - } - } - } - $59 = HEAP32[$db>>2]|0; - $60 = ((($59)) + 156|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($61) + 1)|0; - HEAP32[$60>>2] = $62; - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 144|0); - $65 = HEAP16[$64>>1]|0; - $66 = ($65&65535) >>> 7; - $67 = $66 & 1; - $68 = $67&65535; - $69 = ($68|0)==(0); - if ($69) { - $70 = HEAP32[$db>>2]|0; - $71 = ((($70)) + 164|0); - $72 = HEAP32[$71>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$71>>2] = $73; - } - $74 = HEAP32[$1>>2]|0; - $75 = ((($74)) + 144|0); - $76 = HEAP16[$75>>1]|0; - $77 = ($76&65535) >>> 8; - $78 = $77 & 1; - $79 = $78&65535; - $80 = ($79|0)!=(0); - if ($80) { - $81 = HEAP32[$db>>2]|0; - $82 = ((($81)) + 160|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83) + 1)|0; - HEAP32[$82>>2] = $84; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + STACKTOP = sp;return (1852|0); +} +function _sqlite3PCacheSetDefault() { + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = 1932; + (_sqlite3_config(18,$vararg_buffer)|0); + STACKTOP = sp;return; +} +function _sqlite3_config($0,$varargs) { + $0 = $0|0; + $varargs = $varargs|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 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, $arglist_current = 0, $arglist_current12 = 0, $arglist_current15 = 0, $arglist_current18 = 0, $arglist_current21 = 0; + var $arglist_current24 = 0, $arglist_current27 = 0, $arglist_current3 = 0, $arglist_current30 = 0, $arglist_current33 = 0, $arglist_current36 = 0, $arglist_current39 = 0, $arglist_current42 = 0, $arglist_current45 = 0, $arglist_current48 = 0, $arglist_current51 = 0, $arglist_current54 = 0, $arglist_current57 = 0, $arglist_current6 = 0, $arglist_current60 = 0, $arglist_current63 = 0, $arglist_current66 = 0, $arglist_current69 = 0, $arglist_current9 = 0, $arglist_next = 0; + var $arglist_next10 = 0, $arglist_next13 = 0, $arglist_next16 = 0, $arglist_next19 = 0, $arglist_next22 = 0, $arglist_next25 = 0, $arglist_next28 = 0, $arglist_next31 = 0, $arglist_next34 = 0, $arglist_next37 = 0, $arglist_next4 = 0, $arglist_next40 = 0, $arglist_next43 = 0, $arglist_next46 = 0, $arglist_next49 = 0, $arglist_next52 = 0, $arglist_next55 = 0, $arglist_next58 = 0, $arglist_next61 = 0, $arglist_next64 = 0; + var $arglist_next67 = 0, $arglist_next7 = 0, $arglist_next70 = 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, $expanded116 = 0, $expanded117 = 0, $expanded118 = 0, $expanded12 = 0; + var $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, $expanded141 = 0, $expanded142 = 0, $expanded144 = 0, $expanded145 = 0; + var $expanded146 = 0, $expanded148 = 0, $expanded149 = 0, $expanded15 = 0, $expanded151 = 0, $expanded152 = 0, $expanded153 = 0, $expanded155 = 0, $expanded156 = 0, $expanded158 = 0, $expanded159 = 0, $expanded16 = 0, $expanded160 = 0, $expanded162 = 0, $expanded163 = 0, $expanded165 = 0, $expanded166 = 0, $expanded167 = 0, $expanded18 = 0, $expanded19 = 0; + var $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, $expanded40 = 0, $expanded41 = 0, $expanded43 = 0, $expanded44 = 0; + var $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, $expanded65 = 0, $expanded67 = 0, $expanded68 = 0, $expanded69 = 0; + var $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, $expanded90 = 0, $expanded92 = 0, $expanded93 = 0, $expanded95 = 0; + var $expanded96 = 0, $expanded97 = 0, $expanded99 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; + $1 = sp + 148|0; + $2 = sp + 144|0; + $3 = sp + 128|0; + $4 = sp + 120|0; + $5 = sp + 116|0; + $6 = sp + 112|0; + $7 = sp + 108|0; + $8 = sp + 104|0; + $9 = sp + 100|0; + $10 = sp + 96|0; + $11 = sp + 92|0; + $12 = sp + 88|0; + $13 = sp + 84|0; + $14 = sp + 80|0; + $15 = sp + 76|0; + $16 = sp + 72|0; + $17 = sp + 68|0; + $18 = sp + 64|0; + $19 = sp + 60|0; + $20 = sp + 56|0; + $21 = sp + 52|0; + $22 = sp + 48|0; + $23 = sp + 44|0; + $24 = sp + 40|0; + $25 = sp + 24|0; + $26 = sp + 16|0; + $27 = sp + 8|0; + $28 = sp; + $29 = sp + 36|0; + $30 = sp + 32|0; + HEAP32[$2>>2] = $0; + HEAP32[$4>>2] = 0; + $31 = HEAP32[(236)>>2]|0; + $32 = ($31|0)!=(0); + if ($32) { + $33 = (_sqlite3MisuseError(138190)|0); + HEAP32[$1>>2] = $33; + $355 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($355|0); + } + HEAP32[$3>>2] = $varargs; + $34 = HEAP32[$2>>2]|0; + do { + switch ($34|0) { + case 1: { + HEAP32[(12)>>2] = 0; + HEAP32[(16)>>2] = 0; + break; + } + case 2: { + HEAP32[(12)>>2] = 1; + HEAP32[(16)>>2] = 0; + break; + } + case 3: { + HEAP32[(12)>>2] = 1; + HEAP32[(16)>>2] = 1; + break; + } + case 10: { + $arglist_current = HEAP32[$3>>2]|0; + $35 = $arglist_current; + $36 = ((0) + 4|0); + $expanded2 = $36; + $expanded = (($expanded2) - 1)|0; + $37 = (($35) + ($expanded))|0; + $38 = ((0) + 4|0); + $expanded6 = $38; + $expanded5 = (($expanded6) - 1)|0; + $expanded4 = $expanded5 ^ -1; + $39 = $37 & $expanded4; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $arglist_next = ((($40)) + 4|0); + HEAP32[$3>>2] = $arglist_next; + HEAP32[$5>>2] = $41; + $42 = HEAP32[$5>>2]|0; + dest=(80); src=$42; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + break; + } + case 11: { + $arglist_current3 = HEAP32[$3>>2]|0; + $43 = $arglist_current3; + $44 = ((0) + 4|0); + $expanded9 = $44; + $expanded8 = (($expanded9) - 1)|0; + $45 = (($43) + ($expanded8))|0; + $46 = ((0) + 4|0); + $expanded13 = $46; + $expanded12 = (($expanded13) - 1)|0; + $expanded11 = $expanded12 ^ -1; + $47 = $45 & $expanded11; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $arglist_next4 = ((($48)) + 4|0); + HEAP32[$3>>2] = $arglist_next4; + HEAP32[$6>>2] = $49; + $50 = HEAP32[$6>>2]|0; + dest=$50; src=(80); stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + break; + } + case 4: { + $arglist_current6 = HEAP32[$3>>2]|0; + $51 = $arglist_current6; + $52 = ((0) + 4|0); + $expanded16 = $52; + $expanded15 = (($expanded16) - 1)|0; + $53 = (($51) + ($expanded15))|0; + $54 = ((0) + 4|0); + $expanded20 = $54; + $expanded19 = (($expanded20) - 1)|0; + $expanded18 = $expanded19 ^ -1; + $55 = $53 & $expanded18; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $arglist_next7 = ((($56)) + 4|0); + HEAP32[$3>>2] = $arglist_next7; + HEAP32[$7>>2] = $57; + $58 = HEAP32[$7>>2]|0; + ;HEAP32[(48)>>2]=HEAP32[$58>>2]|0;HEAP32[(48)+4>>2]=HEAP32[$58+4>>2]|0;HEAP32[(48)+8>>2]=HEAP32[$58+8>>2]|0;HEAP32[(48)+12>>2]=HEAP32[$58+12>>2]|0;HEAP32[(48)+16>>2]=HEAP32[$58+16>>2]|0;HEAP32[(48)+20>>2]=HEAP32[$58+20>>2]|0;HEAP32[(48)+24>>2]=HEAP32[$58+24>>2]|0;HEAP32[(48)+28>>2]=HEAP32[$58+28>>2]|0; + break; + } + case 5: { + $59 = HEAP32[(48)>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + _sqlite3MemSetDefault(); } - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 36|0); - HEAP32[$86>>2] = 0; + $arglist_current9 = HEAP32[$3>>2]|0; + $61 = $arglist_current9; + $62 = ((0) + 4|0); + $expanded23 = $62; + $expanded22 = (($expanded23) - 1)|0; + $63 = (($61) + ($expanded22))|0; + $64 = ((0) + 4|0); + $expanded27 = $64; + $expanded26 = (($expanded27) - 1)|0; + $expanded25 = $expanded26 ^ -1; + $65 = $63 & $expanded25; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $arglist_next10 = ((($66)) + 4|0); + HEAP32[$3>>2] = $arglist_next10; + HEAP32[$8>>2] = $67; + $68 = HEAP32[$8>>2]|0; + ;HEAP32[$68>>2]=HEAP32[(48)>>2]|0;HEAP32[$68+4>>2]=HEAP32[(48)+4>>2]|0;HEAP32[$68+8>>2]=HEAP32[(48)+8>>2]|0;HEAP32[$68+12>>2]=HEAP32[(48)+12>>2]|0;HEAP32[$68+16>>2]=HEAP32[(48)+16>>2]|0;HEAP32[$68+20>>2]=HEAP32[(48)+20>>2]|0;HEAP32[$68+24>>2]=HEAP32[(48)+24>>2]|0;HEAP32[$68+28>>2]=HEAP32[(48)+28>>2]|0; + break; } - $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 144|0); - $89 = HEAP16[$88>>1]|0; - $90 = ($89&65535) >>> 2; - $91 = $90 & 3; - $92 = $91&65535; - $93 = ($92|0)!=(0); - if ($93) { - $94 = HEAP32[$1>>2]|0; - $95 = (_sqlite3VdbeList($94)|0); - HEAP32[$rc>>2] = $95; - } else { - $96 = HEAP32[$db>>2]|0; - $97 = ((($96)) + 168|0); - $98 = HEAP32[$97>>2]|0; - $99 = (($98) + 1)|0; - HEAP32[$97>>2] = $99; - $100 = HEAP32[$1>>2]|0; - $101 = (_sqlite3VdbeExec($100)|0); - HEAP32[$rc>>2] = $101; - $102 = HEAP32[$db>>2]|0; - $103 = ((($102)) + 168|0); - $104 = HEAP32[$103>>2]|0; - $105 = (($104) + -1)|0; - HEAP32[$103>>2] = $105; + case 9: { + $arglist_current12 = HEAP32[$3>>2]|0; + $69 = $arglist_current12; + $70 = ((0) + 4|0); + $expanded30 = $70; + $expanded29 = (($expanded30) - 1)|0; + $71 = (($69) + ($expanded29))|0; + $72 = ((0) + 4|0); + $expanded34 = $72; + $expanded33 = (($expanded34) - 1)|0; + $expanded32 = $expanded33 ^ -1; + $73 = $71 & $expanded32; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $arglist_next13 = ((($74)) + 4|0); + HEAP32[$3>>2] = $arglist_next13; + HEAP32[$9>>2] = $75; + $76 = HEAP32[$9>>2]|0; + HEAP32[2] = $76; + break; } - $106 = HEAP32[$rc>>2]|0; - $107 = ($106|0)!=(100); - if ($107) { - $108 = HEAP32[$1>>2]|0; - $109 = ((($108)) + 128|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; + case 6: { + $arglist_current15 = HEAP32[$3>>2]|0; + $77 = $arglist_current15; + $78 = ((0) + 4|0); + $expanded37 = $78; + $expanded36 = (($expanded37) - 1)|0; + $79 = (($77) + ($expanded36))|0; + $80 = ((0) + 4|0); + $expanded41 = $80; + $expanded40 = (($expanded41) - 1)|0; + $expanded39 = $expanded40 ^ -1; + $81 = $79 & $expanded39; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $arglist_next16 = ((($82)) + 4|0); + HEAP32[$3>>2] = $arglist_next16; + HEAP32[$10>>2] = $83; + $84 = HEAP32[$10>>2]|0; + HEAP32[(200)>>2] = $84; + $arglist_current18 = HEAP32[$3>>2]|0; + $85 = $arglist_current18; + $86 = ((0) + 4|0); + $expanded44 = $86; + $expanded43 = (($expanded44) - 1)|0; + $87 = (($85) + ($expanded43))|0; + $88 = ((0) + 4|0); + $expanded48 = $88; + $expanded47 = (($expanded48) - 1)|0; + $expanded46 = $expanded47 ^ -1; + $89 = $87 & $expanded46; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $arglist_next19 = ((($90)) + 4|0); + HEAP32[$3>>2] = $arglist_next19; + HEAP32[$11>>2] = $91; + $92 = HEAP32[$11>>2]|0; + HEAP32[(204)>>2] = $92; + $arglist_current21 = HEAP32[$3>>2]|0; + $93 = $arglist_current21; + $94 = ((0) + 4|0); + $expanded51 = $94; + $expanded50 = (($expanded51) - 1)|0; + $95 = (($93) + ($expanded50))|0; + $96 = ((0) + 4|0); + $expanded55 = $96; + $expanded54 = (($expanded55) - 1)|0; + $expanded53 = $expanded54 ^ -1; + $97 = $95 & $expanded53; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $arglist_next22 = ((($98)) + 4|0); + HEAP32[$3>>2] = $arglist_next22; + HEAP32[$12>>2] = $99; + $100 = HEAP32[$12>>2]|0; + HEAP32[(208)>>2] = $100; + break; + } + case 7: { + $arglist_current24 = HEAP32[$3>>2]|0; + $101 = $arglist_current24; + $102 = ((0) + 4|0); + $expanded58 = $102; + $expanded57 = (($expanded58) - 1)|0; + $103 = (($101) + ($expanded57))|0; + $104 = ((0) + 4|0); + $expanded62 = $104; + $expanded61 = (($expanded62) - 1)|0; + $expanded60 = $expanded61 ^ -1; + $105 = $103 & $expanded60; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $arglist_next25 = ((($106)) + 4|0); + HEAP32[$3>>2] = $arglist_next25; + HEAP32[$13>>2] = $107; + $108 = HEAP32[$13>>2]|0; + HEAP32[(212)>>2] = $108; + $arglist_current27 = HEAP32[$3>>2]|0; + $109 = $arglist_current27; + $110 = ((0) + 4|0); + $expanded65 = $110; + $expanded64 = (($expanded65) - 1)|0; + $111 = (($109) + ($expanded64))|0; + $112 = ((0) + 4|0); + $expanded69 = $112; + $expanded68 = (($expanded69) - 1)|0; + $expanded67 = $expanded68 ^ -1; + $113 = $111 & $expanded67; $114 = $113; $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)>(0); - $117 = ($112>>>0)>(0); - $118 = ($115|0)==(0); - $119 = $118 & $117; - $120 = $116 | $119; - if ($120) { - $121 = HEAP32[$db>>2]|0; - $122 = HEAP32[$1>>2]|0; - _invokeProfileCallback($121,$122); + $arglist_next28 = ((($114)) + 4|0); + HEAP32[$3>>2] = $arglist_next28; + HEAP32[$14>>2] = $115; + $116 = HEAP32[$14>>2]|0; + HEAP32[(216)>>2] = $116; + $arglist_current30 = HEAP32[$3>>2]|0; + $117 = $arglist_current30; + $118 = ((0) + 4|0); + $expanded72 = $118; + $expanded71 = (($expanded72) - 1)|0; + $119 = (($117) + ($expanded71))|0; + $120 = ((0) + 4|0); + $expanded76 = $120; + $expanded75 = (($expanded76) - 1)|0; + $expanded74 = $expanded75 ^ -1; + $121 = $119 & $expanded74; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $arglist_next31 = ((($122)) + 4|0); + HEAP32[$3>>2] = $arglist_next31; + HEAP32[$15>>2] = $123; + $124 = HEAP32[$15>>2]|0; + HEAP32[(220)>>2] = $124; + break; + } + case 24: { + $125 = (_sqlite3HeaderSizeBtree()|0); + $126 = (_sqlite3HeaderSizePcache()|0); + $127 = (($125) + ($126))|0; + $128 = (_sqlite3HeaderSizePcache1()|0); + $129 = (($127) + ($128))|0; + $arglist_current33 = HEAP32[$3>>2]|0; + $130 = $arglist_current33; + $131 = ((0) + 4|0); + $expanded79 = $131; + $expanded78 = (($expanded79) - 1)|0; + $132 = (($130) + ($expanded78))|0; + $133 = ((0) + 4|0); + $expanded83 = $133; + $expanded82 = (($expanded83) - 1)|0; + $expanded81 = $expanded82 ^ -1; + $134 = $132 & $expanded81; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $arglist_next34 = ((($135)) + 4|0); + HEAP32[$3>>2] = $arglist_next34; + HEAP32[$16>>2] = $136; + $137 = HEAP32[$16>>2]|0; + HEAP32[$137>>2] = $129; + break; + } + case 14: { + break; + } + case 15: { + HEAP32[$4>>2] = 1; + break; + } + case 18: { + $arglist_current36 = HEAP32[$3>>2]|0; + $138 = $arglist_current36; + $139 = ((0) + 4|0); + $expanded86 = $139; + $expanded85 = (($expanded86) - 1)|0; + $140 = (($138) + ($expanded85))|0; + $141 = ((0) + 4|0); + $expanded90 = $141; + $expanded89 = (($expanded90) - 1)|0; + $expanded88 = $expanded89 ^ -1; + $142 = $140 & $expanded88; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $arglist_next37 = ((($143)) + 4|0); + HEAP32[$3>>2] = $arglist_next37; + HEAP32[$17>>2] = $144; + $145 = HEAP32[$17>>2]|0; + dest=(116); src=$145; 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)); + break; + } + case 19: { + $146 = HEAP32[(124)>>2]|0; + $147 = ($146|0)==(0|0); + if ($147) { + _sqlite3PCacheSetDefault(); } + $arglist_current39 = HEAP32[$3>>2]|0; + $148 = $arglist_current39; + $149 = ((0) + 4|0); + $expanded93 = $149; + $expanded92 = (($expanded93) - 1)|0; + $150 = (($148) + ($expanded92))|0; + $151 = ((0) + 4|0); + $expanded97 = $151; + $expanded96 = (($expanded97) - 1)|0; + $expanded95 = $expanded96 ^ -1; + $152 = $150 & $expanded95; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $arglist_next40 = ((($153)) + 4|0); + HEAP32[$3>>2] = $arglist_next40; + HEAP32[$18>>2] = $154; + $155 = HEAP32[$18>>2]|0; + dest=$155; src=(116); 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)); + break; } - $123 = HEAP32[$rc>>2]|0; - $124 = ($123|0)==(101); - if ($124) { - $125 = HEAP32[$db>>2]|0; - $126 = (_doWalCallbacks($125)|0); - $127 = HEAP32[$1>>2]|0; - $128 = ((($127)) + 40|0); - HEAP32[$128>>2] = $126; - $129 = HEAP32[$1>>2]|0; - $130 = ((($129)) + 40|0); - $131 = HEAP32[$130>>2]|0; - $132 = ($131|0)!=(0); - if ($132) { - HEAP32[$rc>>2] = 1; + case 13: { + $arglist_current42 = HEAP32[$3>>2]|0; + $156 = $arglist_current42; + $157 = ((0) + 4|0); + $expanded100 = $157; + $expanded99 = (($expanded100) - 1)|0; + $158 = (($156) + ($expanded99))|0; + $159 = ((0) + 4|0); + $expanded104 = $159; + $expanded103 = (($expanded104) - 1)|0; + $expanded102 = $expanded103 ^ -1; + $160 = $158 & $expanded102; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $arglist_next43 = ((($161)) + 4|0); + HEAP32[$3>>2] = $arglist_next43; + HEAP32[$19>>2] = $162; + $163 = HEAP32[$19>>2]|0; + HEAP32[(36)>>2] = $163; + $arglist_current45 = HEAP32[$3>>2]|0; + $164 = $arglist_current45; + $165 = ((0) + 4|0); + $expanded107 = $165; + $expanded106 = (($expanded107) - 1)|0; + $166 = (($164) + ($expanded106))|0; + $167 = ((0) + 4|0); + $expanded111 = $167; + $expanded110 = (($expanded111) - 1)|0; + $expanded109 = $expanded110 ^ -1; + $168 = $166 & $expanded109; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $arglist_next46 = ((($169)) + 4|0); + HEAP32[$3>>2] = $arglist_next46; + HEAP32[$20>>2] = $170; + $171 = HEAP32[$20>>2]|0; + HEAP32[(40)>>2] = $171; + break; + } + case 16: { + $arglist_current48 = HEAP32[$3>>2]|0; + $172 = $arglist_current48; + $173 = ((0) + 4|0); + $expanded114 = $173; + $expanded113 = (($expanded114) - 1)|0; + $174 = (($172) + ($expanded113))|0; + $175 = ((0) + 4|0); + $expanded118 = $175; + $expanded117 = (($expanded118) - 1)|0; + $expanded116 = $expanded117 ^ -1; + $176 = $174 & $expanded116; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $arglist_next49 = ((($177)) + 4|0); + HEAP32[$3>>2] = $arglist_next49; + HEAP32[$21>>2] = $178; + $179 = HEAP32[$21>>2]|0; + HEAP32[(264)>>2] = $179; + $arglist_current51 = HEAP32[$3>>2]|0; + $180 = $arglist_current51; + $181 = ((0) + 4|0); + $expanded121 = $181; + $expanded120 = (($expanded121) - 1)|0; + $182 = (($180) + ($expanded120))|0; + $183 = ((0) + 4|0); + $expanded125 = $183; + $expanded124 = (($expanded125) - 1)|0; + $expanded123 = $expanded124 ^ -1; + $184 = $182 & $expanded123; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + $arglist_next52 = ((($185)) + 4|0); + HEAP32[$3>>2] = $arglist_next52; + HEAP32[$22>>2] = $186; + $187 = HEAP32[$22>>2]|0; + HEAP32[(268)>>2] = $187; + break; + } + case 17: { + $arglist_current54 = HEAP32[$3>>2]|0; + $188 = $arglist_current54; + $189 = ((0) + 4|0); + $expanded128 = $189; + $expanded127 = (($expanded128) - 1)|0; + $190 = (($188) + ($expanded127))|0; + $191 = ((0) + 4|0); + $expanded132 = $191; + $expanded131 = (($expanded132) - 1)|0; + $expanded130 = $expanded131 ^ -1; + $192 = $190 & $expanded130; + $193 = $192; + $194 = HEAP32[$193>>2]|0; + $arglist_next55 = ((($193)) + 4|0); + HEAP32[$3>>2] = $arglist_next55; + HEAP32[$23>>2] = $194; + $195 = HEAP32[$23>>2]|0; + HEAP32[(20)>>2] = $195; + break; + } + case 20: { + $arglist_current57 = HEAP32[$3>>2]|0; + $196 = $arglist_current57; + $197 = ((0) + 4|0); + $expanded135 = $197; + $expanded134 = (($expanded135) - 1)|0; + $198 = (($196) + ($expanded134))|0; + $199 = ((0) + 4|0); + $expanded139 = $199; + $expanded138 = (($expanded139) - 1)|0; + $expanded137 = $expanded138 ^ -1; + $200 = $198 & $expanded137; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $arglist_next58 = ((($201)) + 4|0); + HEAP32[$3>>2] = $arglist_next58; + HEAP32[$24>>2] = $202; + $203 = HEAP32[$24>>2]|0; + HEAP32[(24)>>2] = $203; + break; + } + case 22: { + $arglist_current60 = HEAP32[$3>>2]|0; + $204 = $arglist_current60; + $205 = ((0) + 8|0); + $expanded142 = $205; + $expanded141 = (($expanded142) - 1)|0; + $206 = (($204) + ($expanded141))|0; + $207 = ((0) + 8|0); + $expanded146 = $207; + $expanded145 = (($expanded146) - 1)|0; + $expanded144 = $expanded145 ^ -1; + $208 = $206 & $expanded144; + $209 = $208; + $210 = $209; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $arglist_next61 = ((($209)) + 8|0); + HEAP32[$3>>2] = $arglist_next61; + $216 = $26; + $217 = $216; + HEAP32[$217>>2] = $212; + $218 = (($216) + 4)|0; + $219 = $218; + HEAP32[$219>>2] = $215; + $220 = $26; + $221 = $220; + $222 = HEAP32[$221>>2]|0; + $223 = (($220) + 4)|0; + $224 = $223; + $225 = HEAP32[$224>>2]|0; + $226 = $25; + $227 = $226; + HEAP32[$227>>2] = $222; + $228 = (($226) + 4)|0; + $229 = $228; + HEAP32[$229>>2] = $225; + $arglist_current63 = HEAP32[$3>>2]|0; + $230 = $arglist_current63; + $231 = ((0) + 8|0); + $expanded149 = $231; + $expanded148 = (($expanded149) - 1)|0; + $232 = (($230) + ($expanded148))|0; + $233 = ((0) + 8|0); + $expanded153 = $233; + $expanded152 = (($expanded153) - 1)|0; + $expanded151 = $expanded152 ^ -1; + $234 = $232 & $expanded151; + $235 = $234; + $236 = $235; + $237 = $236; + $238 = HEAP32[$237>>2]|0; + $239 = (($236) + 4)|0; + $240 = $239; + $241 = HEAP32[$240>>2]|0; + $arglist_next64 = ((($235)) + 8|0); + HEAP32[$3>>2] = $arglist_next64; + $242 = $28; + $243 = $242; + HEAP32[$243>>2] = $238; + $244 = (($242) + 4)|0; + $245 = $244; + HEAP32[$245>>2] = $241; + $246 = $28; + $247 = $246; + $248 = HEAP32[$247>>2]|0; + $249 = (($246) + 4)|0; + $250 = $249; + $251 = HEAP32[$250>>2]|0; + $252 = $27; + $253 = $252; + HEAP32[$253>>2] = $248; + $254 = (($252) + 4)|0; + $255 = $254; + HEAP32[$255>>2] = $251; + $256 = $27; + $257 = $256; + $258 = HEAP32[$257>>2]|0; + $259 = (($256) + 4)|0; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = ($261|0)<(0); + $263 = $27; + $264 = $263; + $265 = HEAP32[$264>>2]|0; + $266 = (($263) + 4)|0; + $267 = $266; + $268 = HEAP32[$267>>2]|0; + $269 = ($268|0)>(0); + $270 = ($265>>>0)>(0); + $271 = ($268|0)==(0); + $272 = $271 & $270; + $273 = $269 | $272; + $or$cond = $262 | $273; + $274 = $or$cond ? 0 : $248; + $275 = $or$cond ? 0 : $251; + $276 = $27; + $277 = $276; + HEAP32[$277>>2] = $274; + $278 = (($276) + 4)|0; + $279 = $278; + HEAP32[$279>>2] = $275; + $280 = $25; + $281 = $280; + $282 = HEAP32[$281>>2]|0; + $283 = (($280) + 4)|0; + $284 = $283; + $285 = HEAP32[$284>>2]|0; + $286 = ($285|0)<(0); + if ($286) { + $287 = $25; + $288 = $287; + HEAP32[$288>>2] = 0; + $289 = (($287) + 4)|0; + $290 = $289; + HEAP32[$290>>2] = 0; + } + $291 = $25; + $292 = $291; + $293 = HEAP32[$292>>2]|0; + $294 = (($291) + 4)|0; + $295 = $294; + $296 = HEAP32[$295>>2]|0; + $297 = $27; + $298 = $297; + $299 = HEAP32[$298>>2]|0; + $300 = (($297) + 4)|0; + $301 = $300; + $302 = HEAP32[$301>>2]|0; + $303 = ($296|0)>($302|0); + $304 = ($293>>>0)>($299>>>0); + $305 = ($296|0)==($302|0); + $306 = $305 & $304; + $307 = $303 | $306; + if ($307) { + $308 = $27; + $309 = $308; + $310 = HEAP32[$309>>2]|0; + $311 = (($308) + 4)|0; + $312 = $311; + $313 = HEAP32[$312>>2]|0; + $314 = $25; + $315 = $314; + HEAP32[$315>>2] = $310; + $316 = (($314) + 4)|0; + $317 = $316; + HEAP32[$317>>2] = $313; } + $318 = $27; + $319 = $318; + $320 = HEAP32[$319>>2]|0; + $321 = (($318) + 4)|0; + $322 = $321; + $323 = HEAP32[$322>>2]|0; + $324 = (192); + $325 = $324; + HEAP32[$325>>2] = $320; + $326 = (($324) + 4)|0; + $327 = $326; + HEAP32[$327>>2] = $323; + $328 = $25; + $329 = $328; + $330 = HEAP32[$329>>2]|0; + $331 = (($328) + 4)|0; + $332 = $331; + $333 = HEAP32[$332>>2]|0; + $334 = (184); + $335 = $334; + HEAP32[$335>>2] = $330; + $336 = (($334) + 4)|0; + $337 = $336; + HEAP32[$337>>2] = $333; + break; } - $133 = HEAP32[$rc>>2]|0; - $134 = HEAP32[$db>>2]|0; - $135 = ((($134)) + 52|0); - HEAP32[$135>>2] = $133; - $136 = HEAP32[$1>>2]|0; - $137 = HEAP32[$136>>2]|0; - $138 = HEAP32[$1>>2]|0; - $139 = ((($138)) + 40|0); - $140 = HEAP32[$139>>2]|0; - $141 = (_sqlite3ApiExit($137,$140)|0); - $142 = (7)==($141|0); - if ($142) { - $143 = HEAP32[$1>>2]|0; - $144 = ((($143)) + 40|0); - HEAP32[$144>>2] = 7; + case 25: { + $arglist_current66 = HEAP32[$3>>2]|0; + $338 = $arglist_current66; + $339 = ((0) + 4|0); + $expanded156 = $339; + $expanded155 = (($expanded156) - 1)|0; + $340 = (($338) + ($expanded155))|0; + $341 = ((0) + 4|0); + $expanded160 = $341; + $expanded159 = (($expanded160) - 1)|0; + $expanded158 = $expanded159 ^ -1; + $342 = $340 & $expanded158; + $343 = $342; + $344 = HEAP32[$343>>2]|0; + $arglist_next67 = ((($343)) + 4|0); + HEAP32[$3>>2] = $arglist_next67; + HEAP32[$29>>2] = $344; + $345 = HEAP32[$29>>2]|0; + HEAP32[(232)>>2] = $345; + break; } - } - $145 = HEAP32[$1>>2]|0; - $146 = ((($145)) + 144|0); - $147 = HEAP16[$146>>1]|0; - $148 = ($147&65535) >>> 9; - $149 = $148 & 1; - $150 = $149&65535; - $151 = ($150|0)!=(0); - $152 = HEAP32[$rc>>2]|0; - $153 = ($152|0)!=(100); - $or$cond = $151 & $153; - $154 = HEAP32[$rc>>2]|0; - $155 = ($154|0)!=(101); - $or$cond3 = $or$cond & $155; - if ($or$cond3) { - $156 = HEAP32[$1>>2]|0; - $157 = (_sqlite3VdbeTransferError($156)|0); - HEAP32[$rc>>2] = $157; - } - $158 = HEAP32[$rc>>2]|0; - $159 = HEAP32[$db>>2]|0; - $160 = ((($159)) + 56|0); - $161 = HEAP32[$160>>2]|0; - $162 = $158 & $161; - HEAP32[$0>>2] = $162; - $163 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($163|0); + case 26: { + $arglist_current69 = HEAP32[$3>>2]|0; + $346 = $arglist_current69; + $347 = ((0) + 4|0); + $expanded163 = $347; + $expanded162 = (($expanded163) - 1)|0; + $348 = (($346) + ($expanded162))|0; + $349 = ((0) + 4|0); + $expanded167 = $349; + $expanded166 = (($expanded167) - 1)|0; + $expanded165 = $expanded166 ^ -1; + $350 = $348 & $expanded165; + $351 = $350; + $352 = HEAP32[$351>>2]|0; + $arglist_next70 = ((($351)) + 4|0); + HEAP32[$3>>2] = $arglist_next70; + HEAP32[$30>>2] = $352; + $353 = HEAP32[$30>>2]|0; + HEAP32[(44)>>2] = $353; + break; + } + default: { + HEAP32[$4>>2] = 1; + } + } + } while(0); + $354 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $354; + $355 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($355|0); } -function _sqlite3Reprepare($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $db = 0, $pNew = 0, $rc = 0, $zSql = 0, label = 0, sp = 0; +function _sqlite3MemSetDefault() { + var $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $rc = sp + 12|0; - $pNew = sp + 8|0; - $zSql = sp + 4|0; - $db = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3_sql($2)|0); - HEAP32[$zSql>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3VdbeDb($4)|0); - HEAP32[$db>>2] = $5; - $6 = HEAP32[$db>>2]|0; - $7 = HEAP32[$zSql>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3LockAndPrepare($6,$7,-1,0,$8,$pNew,0)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)!=(0); - if (!($11)) { - $16 = HEAP32[$pNew>>2]|0; - $17 = HEAP32[$1>>2]|0; - _sqlite3VdbeSwap($16,$17); - $18 = HEAP32[$pNew>>2]|0; - $19 = HEAP32[$1>>2]|0; - (_sqlite3TransferBindings($18,$19)|0); - $20 = HEAP32[$pNew>>2]|0; - _sqlite3VdbeResetStepResult($20); - $21 = HEAP32[$pNew>>2]|0; - (_sqlite3VdbeFinalize($21)|0); - HEAP32[$0>>2] = 0; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); - } - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)==(7); - if ($13) { - $14 = HEAP32[$db>>2]|0; - _sqlite3OomFault($14); - } - $15 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $15; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = 1984; + (_sqlite3_config(4,$vararg_buffer)|0); + STACKTOP = sp;return; } -function _sqlite3DbStrDup($db,$z) { - $db = $db|0; - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $n = 0, $zNew = 0, label = 0, sp = 0; +function _sqlite3HeaderSizeBtree() { + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $zNew = sp + 4|0; - $n = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $z; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = 0; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); - } - $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3Strlen30($5)|0); - $7 = (($6) + 1)|0; - HEAP32[$n>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$n>>2]|0; - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = (_sqlite3DbMallocRaw($8,$9,$11)|0); - HEAP32[$zNew>>2] = $12; - $13 = HEAP32[$zNew>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$zNew>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$n>>2]|0; - _memcpy(($15|0),($16|0),($17|0))|0; - } - $18 = HEAP32[$zNew>>2]|0; - HEAP32[$0>>2] = $18; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); + return 88; } -function _createAggContext($p,$nByte) { - $p = $p|0; - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pMem = 0, label = 0, sp = 0; +function _sqlite3HeaderSizePcache() { + var label = 0, sp = 0; + sp = STACKTOP; + return 40; +} +function _sqlite3HeaderSizePcache1() { + var label = 0, sp = 0; + sp = STACKTOP; + return 32; +} +function _sqlite3MemMalloc($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pMem = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $nByte; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pMem>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)<=(0); - $7 = HEAP32[$pMem>>2]|0; - if ($6) { - _sqlite3VdbeMemSetNull($7); - $8 = HEAP32[$pMem>>2]|0; - $9 = ((($8)) + 16|0); - HEAP32[$9>>2] = 0; + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (($3) + 7)|0; + $5 = $4 & -8; + HEAP32[$1>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = (($6) + 8)|0; + $8 = (_malloc($7)|0); + HEAP32[$2>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)!=(0|0); + $11 = HEAP32[$1>>2]|0; + if ($10) { + $12 = ($11|0)<(0); + $13 = $12 << 31 >> 31; + $14 = HEAP32[$2>>2]|0; + $15 = $14; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $13; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$2>>2] = $20; + $21 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($21|0); } else { - $10 = HEAP32[$1>>2]|0; - (_sqlite3VdbeMemClearAndResize($7,$10)|0); - $11 = HEAP32[$pMem>>2]|0; - $12 = ((($11)) + 8|0); - HEAP16[$12>>1] = 8192; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$pMem>>2]|0; - HEAP32[$16>>2] = $15; - $17 = HEAP32[$pMem>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)!=(0|0); - if ($20) { - $21 = HEAP32[$pMem>>2]|0; - $22 = ((($21)) + 16|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$1>>2]|0; - _memset(($23|0),0,($24|0))|0; - } + HEAP32[$vararg_buffer>>2] = $11; + _sqlite3_log(7,21637,$vararg_buffer); + $21 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($21|0); } - $25 = HEAP32[$pMem>>2]|0; - $26 = ((($25)) + 16|0); - $27 = HEAP32[$26>>2]|0; - STACKTOP = sp;return ($27|0); + return (0)|0; } -function _sqlite3DbMallocZero($db,$0,$1) { - $db = $db|0; +function _sqlite3MemFree($0) { $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp; - $p = sp + 8|0; - HEAP32[$2>>2] = $db; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = $3; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3DbMallocRaw($8,$11,$14)|0); - HEAP32[$p>>2] = $15; - $16 = HEAP32[$p>>2]|0; - $17 = ($16|0)!=(0|0); - if (!($17)) { - $25 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($25|0); - } - $18 = HEAP32[$p>>2]|0; - $19 = $3; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - _memset(($18|0),0,($21|0))|0; - $25 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($25|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + -8|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + _free($6); + STACKTOP = sp;return; } -function _columnMem($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pOut = 0, $pVm = 0, label = 0, sp = 0; +function _sqlite3MemRealloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; + var $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 + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $pVm = sp + 4|0; - $pOut = sp; - HEAP32[$1>>2] = $pStmt; - HEAP32[$2>>2] = $i; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pVm>>2] = $3; - $4 = HEAP32[$pVm>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $6 = (_columnNullValue()|0); - HEAP32[$0>>2] = $6; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); - } - $7 = HEAP32[$pVm>>2]|0; - $8 = ((($7)) + 104|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$pVm>>2]|0; - $13 = ((($12)) + 140|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = ($11|0)<($15|0); - $17 = HEAP32[$2>>2]|0; - $18 = ($17|0)>=(0); - $or$cond = $16 & $18; - if ($or$cond) { - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$pVm>>2]|0; - $21 = ((($20)) + 104|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + (($19*40)|0)|0); - HEAP32[$pOut>>2] = $23; - } else { - label = 6; - } + $vararg_buffer = sp; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + $7 = ((($6)) + -8|0); + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (($9) + 8)|0; + $11 = (_realloc($8,$10)|0); + HEAP32[$4>>2] = $11; + $12 = HEAP32[$4>>2]|0; + $13 = ($12|0)!=(0|0); + if ($13) { + $14 = HEAP32[$3>>2]|0; + $15 = ($14|0)<(0); + $16 = $15 << 31 >> 31; + $17 = HEAP32[$4>>2]|0; + $18 = $17; + $19 = $18; + HEAP32[$19>>2] = $14; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $16; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 8|0); + HEAP32[$4>>2] = $23; + $27 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($27|0); } else { - label = 6; - } - if ((label|0) == 6) { - $24 = HEAP32[$pVm>>2]|0; - $25 = HEAP32[$24>>2]|0; - _sqlite3Error($25,25); - $26 = (_columnNullValue()|0); - HEAP32[$pOut>>2] = $26; + $24 = HEAP32[$2>>2]|0; + $25 = (_sqlite3MemSize($24)|0); + $26 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $25; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $26; + _sqlite3_log(7,21601,$vararg_buffer); + $27 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($27|0); } - $27 = HEAP32[$pOut>>2]|0; - HEAP32[$0>>2] = $27; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + return (0)|0; } -function _columnMallocFailure($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3MemSize($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pStmt; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + -8|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _sqlite3MemRoundup($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (($2) + 7)|0; + $4 = $3 & -8; + STACKTOP = sp;return ($4|0); +} +function _sqlite3MemInit($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + STACKTOP = sp;return 0; +} +function _sqlite3MemShutdown($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + STACKTOP = sp;return; +} +function _pcache1Init($0) { + $0 = $0|0; + var $$sink = 0, $1 = 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, $or$cond = 0; + var $or$cond3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + dest=54596; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $2 = HEAP32[(212)>>2]|0; + $3 = ($2|0)==(0|0); + $4 = HEAP32[(12)>>2]|0; + $5 = ($4|0)>(0); + $6 = $3 ? 1 : $5; + $7 = $6&1; + HEAP32[(54652)>>2] = $7; + $8 = HEAP32[(12)>>2]|0; + $9 = ($8|0)!=(0); + if ($9) { + $10 = (_sqlite3MutexAlloc(6)|0); + HEAP32[13649] = $10; + $11 = (_sqlite3MutexAlloc(7)|0); + HEAP32[(54680)>>2] = $11; } - $4 = HEAP32[$p>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 40|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3ApiExit($5,$8)|0); - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 40|0); - HEAP32[$11>>2] = $9; + $12 = HEAP32[(54652)>>2]|0; + $13 = ($12|0)!=(0); + $14 = HEAP32[(220)>>2]|0; + $15 = ($14|0)!=(0); + $or$cond = $13 & $15; + $16 = HEAP32[(212)>>2]|0; + $17 = ($16|0)==(0|0); + $or$cond3 = $or$cond & $17; + $18 = HEAP32[(220)>>2]|0; + $$sink = $or$cond3 ? $18 : 0; + HEAP32[(54656)>>2] = $$sink; + HEAP32[(54608)>>2] = 10; + HEAP32[(54648)>>2] = 1; + STACKTOP = sp;return 0; +} +function _pcache1Shutdown($0) { + $0 = $0|0; + var $1 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + dest=54596; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } -function _columnName($pStmt,$N,$xFunc,$useType) { - $pStmt = $pStmt|0; - $N = $N|0; - $xFunc = $xFunc|0; - $useType = $useType|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0, $or$cond = 0, $p = 0, $ret = 0, label = 0, sp = 0; +function _pcache1Create($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $ret = sp + 12|0; - $p = sp + 8|0; - $n = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $N; - HEAP32[$2>>2] = $xFunc; - HEAP32[$3>>2] = $useType; - HEAP32[$ret>>2] = 0; - $4 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3_column_count($7)|0); - HEAP32[$n>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$n>>2]|0; - $11 = ($9|0)<($10|0); - $12 = HEAP32[$1>>2]|0; - $13 = ($12|0)>=(0); - $or$cond = $11 & $13; - if (!($or$cond)) { - $31 = HEAP32[$ret>>2]|0; - STACKTOP = sp;return ($31|0); + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[(54652)>>2]|0; + $10 = ($9*52)|0; + $11 = (60 + ($10))|0; + HEAP32[$8>>2] = $11; + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)<(0); + $14 = $13 << 31 >> 31; + $15 = (_sqlite3MallocZero($12,$14)|0); + HEAP32[$6>>2] = $15; + $16 = HEAP32[$6>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + $87 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($87|0); } - $14 = HEAP32[$3>>2]|0; - $15 = HEAP32[$n>>2]|0; - $16 = Math_imul($14, $15)|0; - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + ($16))|0; - HEAP32[$1>>2] = $18; - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 100|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + (($20*40)|0)|0); - $25 = (FUNCTION_TABLE_ii[$19 & 255]($24)|0); - HEAP32[$ret>>2] = $25; - $26 = HEAP32[$db>>2]|0; - $27 = ((($26)) + 69|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)!=(0); - if (!($29)) { - $31 = HEAP32[$ret>>2]|0; - STACKTOP = sp;return ($31|0); + $18 = HEAP32[(54652)>>2]|0; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 60|0); + HEAP32[$7>>2] = $21; + $22 = HEAP32[$7>>2]|0; + $23 = ((($22)) + 12|0); + HEAP32[$23>>2] = 10; + } else { + HEAP32[$7>>2] = 54596; } - $30 = HEAP32[$db>>2]|0; - _sqlite3OomClear($30); - HEAP32[$ret>>2] = 0; - $31 = HEAP32[$ret>>2]|0; - STACKTOP = sp;return ($31|0); -} -function _bindText($pStmt,$i,$zData,$nData,$xDel,$encoding) { - $pStmt = $pStmt|0; - $i = $i|0; - $zData = $zData|0; - $nData = $nData|0; - $xDel = $xDel|0; - $encoding = $encoding|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, $pVar = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 32|0; - $p = sp + 8|0; - $pVar = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - HEAP32[$2>>2] = $zData; - HEAP32[$3>>2] = $nData; - HEAP32[$4>>2] = $xDel; - HEAP8[$5>>0] = $encoding; - $6 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (_vdbeUnbind($7,$8)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - if (!($11)) { - $45 = HEAP32[$4>>2]|0; - $46 = ($45|0)!=(0|0); - $47 = HEAP32[$4>>2]|0; - $48 = ($47|0)!=((-1)|0); - $or$cond = $46 & $48; - if (!($or$cond)) { - $51 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($51|0); - } - $49 = HEAP32[$4>>2]|0; - $50 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_vi[$49 & 255]($50); - $51 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($51|0); + $24 = HEAP32[$7>>2]|0; + $25 = ((($24)) + 20|0); + $26 = ((($25)) + 14|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = ($28|0)==(0); + if ($29) { + $30 = HEAP32[$7>>2]|0; + $31 = ((($30)) + 20|0); + $32 = ((($31)) + 14|0); + HEAP8[$32>>0] = 1; + $33 = HEAP32[$7>>2]|0; + $34 = ((($33)) + 20|0); + $35 = HEAP32[$7>>2]|0; + $36 = ((($35)) + 20|0); + $37 = ((($36)) + 24|0); + HEAP32[$37>>2] = $34; + $38 = HEAP32[$7>>2]|0; + $39 = ((($38)) + 20|0); + $40 = ((($39)) + 28|0); + HEAP32[$40>>2] = $34; } - $12 = HEAP32[$2>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - $51 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($51|0); + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$6>>2]|0; + HEAP32[$42>>2] = $41; + $43 = HEAP32[$3>>2]|0; + $44 = HEAP32[$6>>2]|0; + $45 = ((($44)) + 4|0); + HEAP32[$45>>2] = $43; + $46 = HEAP32[$4>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + 8|0); + HEAP32[$48>>2] = $46; + $49 = HEAP32[$3>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = (($49) + ($50))|0; + $52 = (($51) + 32)|0; + $53 = HEAP32[$6>>2]|0; + $54 = ((($53)) + 12|0); + HEAP32[$54>>2] = $52; + $55 = HEAP32[$5>>2]|0; + $56 = ($55|0)!=(0); + $57 = $56 ? 1 : 0; + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + 16|0); + HEAP32[$59>>2] = $57; + $60 = HEAP32[$6>>2]|0; + _pcache1ResizeHash($60); + $61 = HEAP32[$5>>2]|0; + $62 = ($61|0)!=(0); + if ($62) { + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 20|0); + HEAP32[$64>>2] = 10; + $65 = HEAP32[$6>>2]|0; + $66 = ((($65)) + 20|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$7>>2]|0; + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + $71 = (($70) + ($67))|0; + HEAP32[$69>>2] = $71; + $72 = HEAP32[$7>>2]|0; + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + $75 = (($74) + 10)|0; + $76 = HEAP32[$7>>2]|0; + $77 = ((($76)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = (($75) - ($78))|0; + $80 = HEAP32[$7>>2]|0; + $81 = ((($80)) + 12|0); + HEAP32[$81>>2] = $79; } - $14 = HEAP32[$1>>2]|0; - $15 = (($14) - 1)|0; - $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 116|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + (($15*40)|0)|0); - HEAP32[$pVar>>2] = $19; - $20 = HEAP32[$pVar>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = HEAP8[$5>>0]|0; - $24 = HEAP32[$4>>2]|0; - $25 = (_sqlite3VdbeMemSetStr($20,$21,$22,$23,$24)|0); - HEAP32[$rc>>2] = $25; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - $28 = HEAP8[$5>>0]|0; - $29 = $28&255; - $30 = ($29|0)!=(0); - if ($30) { - $31 = HEAP32[$pVar>>2]|0; - $32 = HEAP32[$p>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = ((($33)) + 66|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = (_sqlite3VdbeChangeEncoding($31,$36)|0); - HEAP32[$rc>>2] = $37; - } + $82 = HEAP32[$6>>2]|0; + $83 = ((($82)) + 44|0); + $84 = HEAP32[$83>>2]|0; + $85 = ($84|0)==(0); + if (!($85)) { + $87 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($87|0); } - $38 = HEAP32[$p>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$rc>>2]|0; - _sqlite3Error($39,$40); - $41 = HEAP32[$p>>2]|0; - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$rc>>2]|0; - $44 = (_sqlite3ApiExit($42,$43)|0); - HEAP32[$rc>>2] = $44; - $51 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($51|0); + $86 = HEAP32[$6>>2]|0; + _pcache1Destroy($86); + HEAP32[$6>>2] = 0; + $87 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($87|0); } -function _vdbeUnbind($p,$i) { - $p = $p|0; - $i = $i|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $pVar = 0, $vararg_buffer = 0, label = 0, sp = 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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $pVar = sp + 4|0; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $i; - $3 = HEAP32[$1>>2]|0; - $4 = (_vdbeSafetyNotNull($3)|0); - $5 = ($4|0)!=(0); - if ($5) { - $6 = (_sqlite3MisuseError(76348)|0); - HEAP32[$0>>2] = $6; - $68 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($68|0); - } - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 20|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $6; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 16|0); $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(770837923); + $10 = ($9|0)!=(0); if (!($10)) { - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 36|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>=(0); - if (!($14)) { - $21 = HEAP32[$2>>2]|0; - $22 = ($21|0)<(1); - if (!($22)) { - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 16|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26 << 16 >> 16; - $28 = ($23|0)>($27|0); - if (!($28)) { - $31 = HEAP32[$2>>2]|0; - $32 = (($31) + -1)|0; - HEAP32[$2>>2] = $32; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 116|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + (($33*40)|0)|0); - HEAP32[$pVar>>2] = $37; - $38 = HEAP32[$pVar>>2]|0; - _sqlite3VdbeMemRelease($38); - $39 = HEAP32[$pVar>>2]|0; - $40 = ((($39)) + 8|0); - HEAP16[$40>>1] = 1; - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$41>>2]|0; - _sqlite3Error($42,0); - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 144|0); - $45 = HEAP16[$44>>1]|0; - $46 = ($45&65535) >>> 9; - $47 = $46 & 1; - $48 = $47&65535; - $49 = ($48|0)!=(0); - do { - if ($49) { - $50 = HEAP32[$2>>2]|0; - $51 = ($50|0)<(32); - if ($51) { - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 196|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$2>>2]|0; - $56 = 1 << $55; - $57 = $54 & $56; - $58 = ($57|0)!=(0); - if (!($58)) { - label = 12; - } - } else { - label = 12; - } - if ((label|0) == 12) { - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 196|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(-1); - if (!($62)) { - break; - } - } - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 144|0); - $65 = HEAP16[$64>>1]|0; - $66 = $65 & -2; - $67 = $66 | 1; - HEAP16[$64>>1] = $67; - } - } while(0); - HEAP32[$0>>2] = 0; - $68 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($68|0); - } - } - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$29>>2]|0; - _sqlite3Error($30,25); - HEAP32[$0>>2] = 25; - $68 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($68|0); - } + STACKTOP = sp;return; } - $15 = HEAP32[$1>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 24|0); $16 = HEAP32[$15>>2]|0; - _sqlite3Error($16,21); - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 176|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$vararg_buffer>>2] = $19; - _sqlite3_log(21,39833,$vararg_buffer); - $20 = (_sqlite3MisuseError(76356)|0); - HEAP32[$0>>2] = $20; - $68 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($68|0); + $17 = (($13) - ($16))|0; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + ($17))|0; + HEAP32[$19>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + 10)|0; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($25) - ($28))|0; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 12|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 24|0); + HEAP32[$34>>2] = $32; + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 24|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37*9)|0; + $39 = (($38>>>0) / 10)&-1; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 28|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$4>>2]|0; + _pcache1EnforceMaxPage($42); + STACKTOP = sp;return; } -function _sqlite3VdbeParameterIndex($p,$zName,$nName) { - $p = $p|0; - $zName = $zName|0; - $nName = $nName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $z = 0; - var label = 0, sp = 0; +function _pcache1Pagecount($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $i = sp + 4|0; - $z = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $zName; - HEAP32[$3>>2] = $nName; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$0>>2] = 0; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); - } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)!=(0|0); - L5: do { - if ($7) { - HEAP32[$i>>2] = 0; - while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 18|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11 << 16 >> 16; - $13 = ($8|0)<($12|0); - if (!($13)) { - break L5; - } - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 120|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($14<<2)|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$z>>2] = $19; - $20 = HEAP32[$z>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$z>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$3>>2]|0; - $25 = (_strncmp($22,$23,$24)|0); - $26 = ($25|0)==(0); - if ($26) { - $27 = HEAP32[$3>>2]|0; - $28 = HEAP32[$z>>2]|0; - $29 = (($28) + ($27)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30 << 24 >> 24; - $32 = ($31|0)==(0); - if ($32) { - break; - } - } - } - $35 = HEAP32[$i>>2]|0; - $36 = (($35) + 1)|0; - HEAP32[$i>>2] = $36; - } - $33 = HEAP32[$i>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$0>>2] = $34; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); + HEAP32[$3>>2] = $4; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 40|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($8|0); +} +function _pcache1Fetch($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + $9 = (_pcache1FetchNoMutex($6,$7,$8)|0); + STACKTOP = sp;return ($9|0); +} +function _pcache1Unpin($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + HEAP32[$6>>2] = $10; + $11 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$8>>2] = $13; + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)!=(0); + if (!($15)) { + $16 = HEAP32[$8>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($18>>>0)>($21>>>0); + if (!($22)) { + $24 = HEAP32[$8>>2]|0; + $25 = ((($24)) + 20|0); + $26 = ((($25)) + 24|0); + HEAP32[$9>>2] = $26; + $27 = HEAP32[$8>>2]|0; + $28 = ((($27)) + 20|0); + $29 = HEAP32[$7>>2]|0; + $30 = ((($29)) + 28|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$9>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 24|0); + HEAP32[$35>>2] = $33; + $36 = ((($33)) + 28|0); + HEAP32[$36>>2] = $31; + $37 = HEAP32[$7>>2]|0; + $38 = HEAP32[$9>>2]|0; + HEAP32[$38>>2] = $37; + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 36|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$40>>2] = $42; + $43 = HEAP32[$7>>2]|0; + $44 = ((($43)) + 12|0); + HEAP8[$44>>0] = 0; + STACKTOP = sp;return; } - } while(0); - HEAP32[$0>>2] = 0; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); + } + $23 = HEAP32[$7>>2]|0; + _pcache1RemoveFromHash($23,1); + STACKTOP = sp;return; } -function _sqlite3TransferBindings($pFromStmt,$pToStmt) { - $pFromStmt = $pFromStmt|0; - $pToStmt = $pToStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $i = 0, $pFrom = 0, $pTo = 0, label = 0, sp = 0; +function _pcache1Rekey($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pFrom = sp + 8|0; - $pTo = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pFromStmt; - HEAP32[$1>>2] = $pToStmt; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pFrom>>2] = $2; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pTo>>2] = $3; - HEAP32[$i>>2] = 0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $12 = HEAP32[$4>>2]|0; + HEAP32[$8>>2] = $12; + $13 = HEAP32[$5>>2]|0; + HEAP32[$9>>2] = $13; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$8>>2]|0; + $16 = ((($15)) + 44|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($14>>>0) % ($17>>>0))&-1; + HEAP32[$11>>2] = $18; + $19 = HEAP32[$8>>2]|0; + $20 = ((($19)) + 48|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$11>>2]|0; + $23 = (($21) + ($22<<2)|0); + HEAP32[$10>>2] = $23; while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$pFrom>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7 << 16 >> 16; - $9 = ($4|0)<($8|0); - if (!($9)) { + $24 = HEAP32[$10>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$9>>2]|0; + $27 = ($25|0)!=($26|0); + if (!($27)) { break; } - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$pTo>>2]|0; - $12 = ((($11)) + 116|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + (($10*40)|0)|0); - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$pFrom>>2]|0; - $17 = ((($16)) + 116|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + (($15*40)|0)|0); - _sqlite3VdbeMemMove($14,$19); - $20 = HEAP32[$i>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[$i>>2] = $21; + $28 = HEAP32[$10>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = ((($29)) + 16|0); + HEAP32[$10>>2] = $30; } - STACKTOP = sp;return 0; + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$10>>2]|0; + HEAP32[$34>>2] = $33; + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$8>>2]|0; + $37 = ((($36)) + 44|0); + $38 = HEAP32[$37>>2]|0; + $39 = (($35>>>0) % ($38>>>0))&-1; + HEAP32[$11>>2] = $39; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$9>>2]|0; + $42 = ((($41)) + 8|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$8>>2]|0; + $44 = ((($43)) + 48|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$11>>2]|0; + $47 = (($45) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$9>>2]|0; + $50 = ((($49)) + 16|0); + HEAP32[$50>>2] = $48; + $51 = HEAP32[$9>>2]|0; + $52 = HEAP32[$8>>2]|0; + $53 = ((($52)) + 48|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$11>>2]|0; + $56 = (($54) + ($55<<2)|0); + HEAP32[$56>>2] = $51; + $57 = HEAP32[$7>>2]|0; + $58 = HEAP32[$8>>2]|0; + $59 = ((($58)) + 32|0); + $60 = HEAP32[$59>>2]|0; + $61 = ($57>>>0)>($60>>>0); + if (!($61)) { + STACKTOP = sp;return; + } + $62 = HEAP32[$7>>2]|0; + $63 = HEAP32[$8>>2]|0; + $64 = ((($63)) + 32|0); + HEAP32[$64>>2] = $62; + STACKTOP = sp;return; } -function _sqlite3VdbeExpandSql($p,$zRawSql) { - $p = $p|0; - $zRawSql = $zRawSql|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $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, $97 = 0, $98 = 0, $99 = 0, $db = 0, $enc = 0, $i = 0, $idx = 0, $n = 0, $nOut = 0, $nOut1 = 0, $nToken = 0, $nextIndex = 0, $out = 0, $pVar = 0, $utf8 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer11 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr7 = 0, $zBase = 0, $zStart = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _pcache1Truncate($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $vararg_buffer11 = sp + 72|0; - $vararg_buffer8 = sp + 64|0; - $vararg_buffer4 = sp + 56|0; - $vararg_buffer1 = sp + 48|0; - $vararg_buffer = sp + 40|0; - $0 = sp + 148|0; - $1 = sp + 144|0; - $db = sp + 140|0; - $idx = sp + 136|0; - $nextIndex = sp + 132|0; - $n = sp + 128|0; - $nToken = sp + 124|0; - $i = sp + 120|0; - $pVar = sp + 116|0; - $out = sp + 88|0; - $utf8 = sp; - $zBase = sp + 156|0; - $zStart = sp + 84|0; - $nOut = sp + 80|0; - $enc = sp + 152|0; - $nOut1 = sp + 76|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $zRawSql; - HEAP32[$idx>>2] = 0; - HEAP32[$nextIndex>>2] = 1; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 96|0); - $6 = HEAP32[$5>>2]|0; - _sqlite3StrAccumInit($out,0,$zBase,100,$6); - $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 168|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 32|0); $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)>(1); - L1: do { - if ($10) { - while(1) { - $11 = HEAP32[$1>>2]|0; - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)!=(0); - if (!($13)) { - break L1; - } - $14 = HEAP32[$1>>2]|0; - HEAP32[$zStart>>2] = $14; - while(1) { - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 1|0); - HEAP32[$1>>2] = $16; - $17 = HEAP8[$15>>0]|0; - $18 = $17 << 24 >> 24; - $19 = ($18|0)!=(10); - if (!($19)) { - break; - } - $20 = HEAP32[$1>>2]|0; - $21 = HEAP8[$20>>0]|0; - $22 = $21 << 24 >> 24; - $23 = ($22|0)!=(0); - if (!($23)) { - break; - } - } - _sqlite3StrAccumAppend($out,39799,3); - $24 = HEAP32[$zStart>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$zStart>>2]|0; - $27 = $25; - $28 = $26; - $29 = (($27) - ($28))|0; - _sqlite3StrAccumAppend($out,$24,$29); - } - } else { - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 16|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32 << 16 >> 16; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$1>>2]|0; - $36 = HEAP32[$1>>2]|0; - $37 = (_sqlite3Strlen30($36)|0); - _sqlite3StrAccumAppend($out,$35,$37); - break; - } - while(1) { - $38 = HEAP32[$1>>2]|0; - $39 = HEAP8[$38>>0]|0; - $40 = ($39<<24>>24)!=(0); - if (!($40)) { - break L1; - } - $41 = HEAP32[$1>>2]|0; - $42 = (_findNextHostParameter($41,$nToken)|0); - HEAP32[$n>>2] = $42; - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$n>>2]|0; - _sqlite3StrAccumAppend($out,$43,$44); - $45 = HEAP32[$n>>2]|0; - $46 = HEAP32[$1>>2]|0; - $47 = (($46) + ($45)|0); - HEAP32[$1>>2] = $47; - $48 = HEAP32[$nToken>>2]|0; - $49 = ($48|0)==(0); - if ($49) { - break L1; - } - $50 = HEAP32[$1>>2]|0; - $51 = HEAP8[$50>>0]|0; - $52 = $51 << 24 >> 24; - $53 = ($52|0)==(63); - do { - if ($53) { - $54 = HEAP32[$nToken>>2]|0; - $55 = ($54|0)>(1); - if ($55) { - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 1|0); - (_sqlite3GetInt32($57,$idx)|0); - break; - } else { - $58 = HEAP32[$nextIndex>>2]|0; - HEAP32[$idx>>2] = $58; - break; - } - } else { - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = HEAP32[$nToken>>2]|0; - $62 = (_sqlite3VdbeParameterIndex($59,$60,$61)|0); - HEAP32[$idx>>2] = $62; - } - } while(0); - $63 = HEAP32[$nToken>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = (($64) + ($63)|0); - HEAP32[$1>>2] = $65; - $66 = HEAP32[$idx>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$nextIndex>>2] = $67; - $68 = HEAP32[$idx>>2]|0; - $69 = (($68) - 1)|0; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 116|0); - $72 = HEAP32[$71>>2]|0; - $73 = (($72) + (($69*40)|0)|0); - HEAP32[$pVar>>2] = $73; - $74 = HEAP32[$pVar>>2]|0; - $75 = ((($74)) + 8|0); - $76 = HEAP16[$75>>1]|0; - $77 = $76&65535; - $78 = $77 & 1; - $79 = ($78|0)!=(0); - if ($79) { - _sqlite3StrAccumAppend($out,39691,4); - continue; - } - $80 = HEAP32[$pVar>>2]|0; - $81 = ((($80)) + 8|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = $83 & 4; - $85 = ($84|0)!=(0); - $86 = HEAP32[$pVar>>2]|0; - if ($85) { - $87 = $86; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $93 = $vararg_buffer; - $94 = $93; - HEAP32[$94>>2] = $89; - $95 = (($93) + 4)|0; - $96 = $95; - HEAP32[$96>>2] = $92; - _sqlite3XPrintf($out,28266,$vararg_buffer); - continue; - } - $97 = ((($86)) + 8|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = $99 & 8; - $101 = ($100|0)!=(0); - $102 = HEAP32[$pVar>>2]|0; - if ($101) { - $103 = +HEAPF64[$102>>3]; - HEAPF64[$vararg_buffer1>>3] = $103; - _sqlite3XPrintf($out,28271,$vararg_buffer1); - continue; - } - $104 = ((($102)) + 8|0); - $105 = HEAP16[$104>>1]|0; - $106 = $105&65535; - $107 = $106 & 2; - $108 = ($107|0)!=(0); - if ($108) { - $109 = HEAP32[$db>>2]|0; - $110 = ((($109)) + 66|0); - $111 = HEAP8[$110>>0]|0; - HEAP8[$enc>>0] = $111; - $112 = HEAP8[$enc>>0]|0; - $113 = $112&255; - $114 = ($113|0)!=(1); - if ($114) { - dest=$utf8; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $115 = HEAP32[$db>>2]|0; - $116 = ((($utf8)) + 32|0); - HEAP32[$116>>2] = $115; - $117 = HEAP32[$pVar>>2]|0; - $118 = ((($117)) + 16|0); - $119 = HEAP32[$118>>2]|0; - $120 = HEAP32[$pVar>>2]|0; - $121 = ((($120)) + 12|0); - $122 = HEAP32[$121>>2]|0; - $123 = HEAP8[$enc>>0]|0; - (_sqlite3VdbeMemSetStr($utf8,$119,$122,$123,0)|0); - $124 = (_sqlite3VdbeChangeEncoding($utf8,1)|0); - $125 = (7)==($124|0); - if ($125) { - $126 = ((($out)) + 24|0); - HEAP8[$126>>0] = 1; - $127 = ((($out)) + 16|0); - HEAP32[$127>>2] = 0; - } - HEAP32[$pVar>>2] = $utf8; - } - $128 = HEAP32[$pVar>>2]|0; - $129 = ((($128)) + 12|0); - $130 = HEAP32[$129>>2]|0; - HEAP32[$nOut>>2] = $130; - $131 = HEAP32[$nOut>>2]|0; - $132 = HEAP32[$pVar>>2]|0; - $133 = ((($132)) + 16|0); - $134 = HEAP32[$133>>2]|0; - HEAP32[$vararg_buffer4>>2] = $131; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $134; - _sqlite3XPrintf($out,39803,$vararg_buffer4); - $135 = HEAP8[$enc>>0]|0; - $136 = $135&255; - $137 = ($136|0)!=(1); - if (!($137)) { - continue; - } - _sqlite3VdbeMemRelease($utf8); - continue; - } else { - $138 = HEAP32[$pVar>>2]|0; - $139 = ((($138)) + 8|0); - $140 = HEAP16[$139>>1]|0; - $141 = $140&65535; - $142 = $141 & 16384; - $143 = ($142|0)!=(0); - if ($143) { - $144 = HEAP32[$pVar>>2]|0; - $145 = HEAP32[$144>>2]|0; - HEAP32[$vararg_buffer8>>2] = $145; - _sqlite3XPrintf($out,39810,$vararg_buffer8); - continue; - } - _sqlite3StrAccumAppend($out,39823,2); - $146 = HEAP32[$pVar>>2]|0; - $147 = ((($146)) + 12|0); - $148 = HEAP32[$147>>2]|0; - HEAP32[$nOut1>>2] = $148; - HEAP32[$i>>2] = 0; - while(1) { - $149 = HEAP32[$i>>2]|0; - $150 = HEAP32[$nOut1>>2]|0; - $151 = ($149|0)<($150|0); - if (!($151)) { - break; - } - $152 = HEAP32[$i>>2]|0; - $153 = HEAP32[$pVar>>2]|0; - $154 = ((($153)) + 16|0); - $155 = HEAP32[$154>>2]|0; - $156 = (($155) + ($152)|0); - $157 = HEAP8[$156>>0]|0; - $158 = $157 << 24 >> 24; - $159 = $158 & 255; - HEAP32[$vararg_buffer11>>2] = $159; - _sqlite3XPrintf($out,39826,$vararg_buffer11); - $160 = HEAP32[$i>>2]|0; - $161 = (($160) + 1)|0; - HEAP32[$i>>2] = $161; - } - _sqlite3StrAccumAppend($out,39831,1); - continue; - } - } - } - } while(0); - $162 = ((($out)) + 24|0); - $163 = HEAP8[$162>>0]|0; - $164 = ($163<<24>>24)!=(0); - if (!($164)) { - $165 = (_sqlite3StrAccumFinish($out)|0); - STACKTOP = sp;return ($165|0); - } - _sqlite3StrAccumReset($out); - $165 = (_sqlite3StrAccumFinish($out)|0); - STACKTOP = sp;return ($165|0); -} -function _applyNumericAffinity($pRec,$bTryForInt) { - $pRec = $pRec|0; - $bTryForInt = $bTryForInt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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.0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $enc = 0, $iValue = 0, $rValue = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $rValue = sp + 8|0; - $iValue = sp; - $enc = sp + 24|0; - HEAP32[$0>>2] = $pRec; - HEAP32[$1>>2] = $bTryForInt; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 10|0); - $4 = HEAP8[$3>>0]|0; - HEAP8[$enc>>0] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP8[$enc>>0]|0; - $12 = (_sqlite3AtoF($7,$rValue,$10,$11)|0); - $13 = ($12|0)==(0); - if ($13) { - STACKTOP = sp;return; - } - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP8[$enc>>0]|0; - $21 = (_sqlite3Atoi64($16,$iValue,$19,$20)|0); - $22 = (0)==($21|0); - if ($22) { - $23 = $iValue; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = $29; - $31 = $30; - HEAP32[$31>>2] = $25; - $32 = (($30) + 4)|0; - $33 = $32; - HEAP32[$33>>2] = $28; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 8|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 | 4; - $39 = $38&65535; - HEAP16[$35>>1] = $39; - STACKTOP = sp;return; - } - $40 = +HEAPF64[$rValue>>3]; - $41 = HEAP32[$0>>2]|0; - HEAPF64[$41>>3] = $40; - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 8|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = $45 | 8; - $47 = $46&65535; - HEAP16[$43>>1] = $47; - $48 = HEAP32[$1>>2]|0; - $49 = ($48|0)!=(0); - if (!($49)) { + $10 = ($6>>>0)<=($9>>>0); + if (!($10)) { STACKTOP = sp;return; } - $50 = HEAP32[$0>>2]|0; - _sqlite3VdbeIntegerAffinity($50); + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$3>>2]|0; + _pcache1TruncateUnsafe($11,$12); + $13 = HEAP32[$3>>2]|0; + $14 = (($13) - 1)|0; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 32|0); + HEAP32[$16>>2] = $14; STACKTOP = sp;return; } -function _sqlite3DbMallocRaw($db,$0,$1) { - $db = $db|0; +function _pcache1Destroy($0) { $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 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; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp; - $p = sp + 8|0; - HEAP32[$3>>2] = $db; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = ($9|0)!=(0|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + HEAP32[$3>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 40|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0); if ($10) { - $11 = HEAP32[$3>>2]|0; - $12 = $4; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3DbMallocRawNN($11,$14,$17)|0); - HEAP32[$2>>2] = $18; - $27 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($27|0); - } else { - $19 = $4; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3Malloc($21,$24)|0); - HEAP32[$p>>2] = $25; - $26 = HEAP32[$p>>2]|0; - HEAP32[$2>>2] = $26; - $27 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($27|0); + $11 = HEAP32[$2>>2]|0; + _pcache1TruncateUnsafe($11,0); } - return (0)|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 20|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) - ($21))|0; + HEAP32[$23>>2] = $25; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + 10)|0; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($29) - ($32))|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 12|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$2>>2]|0; + _pcache1EnforceMaxPage($36); + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 56|0); + $39 = HEAP32[$38>>2]|0; + _sqlite3_free($39); + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 48|0); + $42 = HEAP32[$41>>2]|0; + _sqlite3_free($42); + $43 = HEAP32[$2>>2]|0; + _sqlite3_free($43); + STACKTOP = sp;return; } -function _sqlite3LocateTable($pParse,$flags,$zName,$zDbase) { - $pParse = $pParse|0; - $flags = $flags|0; - $zName = $zName|0; - $zDbase = $zDbase|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pMod = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $zMsg = 0; +function _pcache1Shrink($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $p = sp + 32|0; - $zMsg = sp + 28|0; - $pMod = sp + 24|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $flags; - HEAP32[$3>>2] = $zName; - HEAP32[$4>>2] = $zDbase; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3ReadSchema($5)|0); - $7 = (0)!=($6|0); - if ($7) { - HEAP32[$0>>2] = 0; - $51 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($51|0); - } - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = HEAP32[$4>>2]|0; - $12 = (_sqlite3FindTable($9,$10,$11)|0); - HEAP32[$p>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ($13|0)==(0|0); - if ($14) { - $15 = HEAP32[$2>>2]|0; - $16 = $15 & 1; - $17 = ($16|0)!=(0); - $18 = $17 ? 39772 : 39785; - HEAP32[$zMsg>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$4>>2]|0; - $22 = (_sqlite3FindDbName($20,$21)|0); - $23 = ($22|0)<(1); - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = ((($25)) + 320|0); - $27 = HEAP32[$3>>2]|0; - $28 = (_sqlite3HashFind($26,$27)|0); - HEAP32[$pMod>>2] = $28; - $29 = HEAP32[$pMod>>2]|0; - $30 = ($29|0)!=(0|0); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$pMod>>2]|0; - $33 = (_sqlite3VtabEponymousTableInit($31,$32)|0); - $34 = ($33|0)!=(0); - if ($34) { - $35 = HEAP32[$pMod>>2]|0; - $36 = ((($35)) + 16|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$0>>2] = $37; - $51 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($51|0); - } - } - } - $38 = HEAP32[$2>>2]|0; - $39 = $38 & 2; - $40 = ($39|0)==(0); - if ($40) { - $41 = HEAP32[$4>>2]|0; - $42 = ($41|0)!=(0|0); - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$zMsg>>2]|0; - if ($42) { - $45 = HEAP32[$4>>2]|0; - $46 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer>>2] = $44; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $45; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $46; - _sqlite3ErrorMsg($43,30029,$vararg_buffer); - } else { - $47 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer3>>2] = $44; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $47; - _sqlite3ErrorMsg($43,30039,$vararg_buffer3); - } - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 17|0); - HEAP8[$49>>0] = 1; - } - } - $50 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $50; - $51 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($51|0); -} -function _sqlite3ErrorMsg($pParse,$zFormat,$varargs) { - $pParse = $pParse|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $db = 0, $zMsg = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $zMsg = sp + 24|0; - $ap = sp + 8|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $zFormat; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - HEAP32[$ap>>2] = $varargs; - $4 = HEAP32[$db>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3VMPrintf($4,$5,$ap)|0); - HEAP32[$zMsg>>2] = $6; - $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 73|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)!=(0); - if ($10) { - $11 = HEAP32[$db>>2]|0; - $12 = HEAP32[$zMsg>>2]|0; - _sqlite3DbFree($11,$12); - STACKTOP = sp;return; - } else { - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 36|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 1)|0; - HEAP32[$14>>2] = $16; - $17 = HEAP32[$db>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - _sqlite3DbFree($17,$20); - $21 = HEAP32[$zMsg>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 4|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 12|0); - HEAP32[$25>>2] = 1; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0); + if (!($9)) { STACKTOP = sp;return; } + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 4|0); + HEAP32[$16>>2] = 0; + $17 = HEAP32[$2>>2]|0; + _pcache1EnforceMaxPage($17); + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 4|0); + HEAP32[$20>>2] = $18; + STACKTOP = sp;return; } -function _sqlite3SchemaToIndex($db,$pSchema) { - $db = $db|0; - $pSchema = $pSchema|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, label = 0, sp = 0; +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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pSchema; - HEAP32[$i>>2] = -1000000; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $20 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($20|0); - } - HEAP32[$i>>2] = 0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($4|0)<($7|0); - if (!($8)) { - label = 6; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8>>>0)>($11>>>0); + if (!($12)) { break; } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($9<<4)|0); - $14 = ((($13)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ($15|0)==($16|0); - if ($17) { - label = 6; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 20|0); + $15 = ((($14)) + 28|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$3>>2] = $16; + $17 = ((($16)) + 14|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)==(0); + if (!($20)) { break; } - $18 = HEAP32[$i>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$i>>2] = $19; + $21 = HEAP32[$3>>2]|0; + (_pcache1PinPage($21)|0); + $22 = HEAP32[$3>>2]|0; + _pcache1RemoveFromHash($22,1); } - if ((label|0) == 6) { - $20 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($20|0); + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 40|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + STACKTOP = sp;return; } - return (0)|0; -} -function _sqlite3MPrintf($db,$zFormat,$varargs) { - $db = $db|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ap = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $ap = sp + 8|0; - $z = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zFormat; - HEAP32[$ap>>2] = $varargs; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3VMPrintf($2,$3,$ap)|0); - HEAP32[$z>>2] = $4; - $5 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($5|0); + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 56|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { + STACKTOP = sp;return; + } + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 56|0); + $33 = HEAP32[$32>>2]|0; + _sqlite3_free($33); + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 52|0); + HEAP32[$35>>2] = 0; + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 56|0); + HEAP32[$37>>2] = 0; + STACKTOP = sp;return; } -function _sqlite3VdbeCreate($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0; - var dest = 0, label = 0, sp = 0, stop = 0; +function _pcache1PinPage($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $db = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pParse; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$db>>2]|0; - $5 = (_sqlite3DbMallocRawNN($4,208,0)|0); - HEAP32[$p>>2] = $5; - $6 = HEAP32[$p>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - HEAP32[$0>>2] = 0; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); - } - $8 = HEAP32[$p>>2]|0; - $9 = ((($8)) + 88|0); - dest=$9; stop=dest+120|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $10 = HEAP32[$db>>2]|0; - $11 = HEAP32[$p>>2]|0; - HEAP32[$11>>2] = $10; - $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$p>>2]|0; - $17 = HEAP32[$db>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($19)) + 4|0); - HEAP32[$20>>2] = $16; - } - $21 = HEAP32[$db>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 8|0); - HEAP32[$25>>2] = $23; - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 4|0); - HEAP32[$27>>2] = 0; - $28 = HEAP32[$p>>2]|0; - $29 = HEAP32[$db>>2]|0; - $30 = ((($29)) + 4|0); - HEAP32[$30>>2] = $28; - $31 = HEAP32[$p>>2]|0; - $32 = ((($31)) + 20|0); - HEAP32[$32>>2] = 381479589; - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 12|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $36; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 20|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 28|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 24|0); + HEAP32[$12>>2] = $8; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 24|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 28|0); + HEAP32[$19>>2] = $15; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 24|0); + HEAP32[$21>>2] = 0; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 28|0); + HEAP32[$23>>2] = 0; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 12|0); + HEAP8[$25>>0] = 1; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 36|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + -1)|0; + HEAP32[$27>>2] = $29; + $30 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($30|0); } -function _sqlite3VdbeAddOp4Int($p,$op,$p1,$p2,$p3,$p4) { - $p = $p|0; - $op = $op|0; - $p1 = $p1|0; - $p2 = $p2|0; - $p3 = $p3|0; - $p4 = $p4|0; - var $0 = 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, $addr = 0, label = 0, sp = 0; +function _pcache1RemoveFromHash($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; $2 = sp + 16|0; $3 = sp + 12|0; $4 = sp + 8|0; $5 = sp + 4|0; - $addr = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $p1; - HEAP32[$3>>2] = $p2; - HEAP32[$4>>2] = $p3; - HEAP32[$5>>2] = $p4; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$4>>2]|0; - $11 = (_sqlite3VdbeAddOp3($6,$7,$8,$9,$10)|0); - HEAP32[$addr>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$addr>>2]|0; - $14 = HEAP32[$5>>2]|0; - $15 = $14; - _sqlite3VdbeChangeP4($12,$13,$15,-14); - $16 = HEAP32[$addr>>2]|0; - STACKTOP = sp;return ($16|0); -} -function _sqlite3VdbeChangeP5($p,$p5) { - $p = $p|0; - $p5 = $p5|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 4|0; - HEAP32[$0>>2] = $p; - HEAP8[$1>>0] = $p5; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 136|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = HEAP8[$1>>0]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 136|0); + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 20|0); $9 = HEAP32[$8>>2]|0; - $10 = (($9) - 1)|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 88|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + (($10*20)|0)|0); - $15 = ((($14)) + 3|0); - HEAP8[$15>>0] = $6; - STACKTOP = sp;return; -} -function _sqlite3VdbeAddOpList($p,$nOp,$aOp,$iLineno) { - $p = $p|0; - $nOp = $nOp|0; - $aOp = $aOp|0; - $iLineno = $iLineno|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $pFirst = 0, $pOut = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $i = sp + 8|0; - $pOut = sp + 4|0; - $pFirst = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $nOp; - HEAP32[$3>>2] = $aOp; - HEAP32[$4>>2] = $iLineno; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 136|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (($7) + ($8))|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 12|0); + HEAP32[$5>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 8|0); $12 = HEAP32[$11>>2]|0; - $13 = ((($12)) + 48|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($9|0)>($14|0); - if ($15) { - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = (_growOpArray($16,$17)|0); - $19 = ($18|0)!=(0); - if ($19) { - HEAP32[$0>>2] = 0; - $89 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($89|0); - } - } - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 136|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 88|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + (($22*20)|0)|0); - HEAP32[$pOut>>2] = $26; - HEAP32[$pFirst>>2] = $26; - HEAP32[$i>>2] = 0; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 44|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($12>>>0) % ($15>>>0))&-1; + HEAP32[$4>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 48|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = (($19) + ($20<<2)|0); + HEAP32[$6>>2] = $21; while(1) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$2>>2]|0; - $29 = ($27|0)<($28|0); - if (!($29)) { + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = ($23|0)!=($24|0); + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = ((($27)) + 16|0); + if (!($25)) { break; } - $30 = HEAP32[$3>>2]|0; - $31 = HEAP8[$30>>0]|0; - $32 = HEAP32[$pOut>>2]|0; - HEAP8[$32>>0] = $31; - $33 = HEAP32[$3>>2]|0; - $34 = ((($33)) + 1|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35 << 24 >> 24; - $37 = HEAP32[$pOut>>2]|0; - $38 = ((($37)) + 4|0); - HEAP32[$38>>2] = $36; - $39 = HEAP32[$3>>2]|0; - $40 = ((($39)) + 2|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 << 24 >> 24; - $43 = HEAP32[$pOut>>2]|0; - $44 = ((($43)) + 8|0); - HEAP32[$44>>2] = $42; - $45 = HEAP32[$3>>2]|0; - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = (34898 + ($47)|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = $50 & 1; - $52 = ($51|0)!=(0); - if ($52) { - $53 = HEAP32[$3>>2]|0; - $54 = ((($53)) + 2|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55 << 24 >> 24; - $57 = ($56|0)>(0); - if ($57) { - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 136|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$pOut>>2]|0; - $62 = ((($61)) + 8|0); - $63 = HEAP32[$62>>2]|0; - $64 = (($63) + ($60))|0; - HEAP32[$62>>2] = $64; - } - } - $65 = HEAP32[$3>>2]|0; - $66 = ((($65)) + 3|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67 << 24 >> 24; - $69 = HEAP32[$pOut>>2]|0; - $70 = ((($69)) + 12|0); - HEAP32[$70>>2] = $68; - $71 = HEAP32[$pOut>>2]|0; - $72 = ((($71)) + 1|0); - HEAP8[$72>>0] = 0; - $73 = HEAP32[$pOut>>2]|0; - $74 = ((($73)) + 16|0); - HEAP32[$74>>2] = 0; - $75 = HEAP32[$pOut>>2]|0; - $76 = ((($75)) + 3|0); - HEAP8[$76>>0] = 0; - $77 = HEAP32[$i>>2]|0; - $78 = (($77) + 1)|0; - HEAP32[$i>>2] = $78; - $79 = HEAP32[$3>>2]|0; - $80 = ((($79)) + 4|0); - HEAP32[$3>>2] = $80; - $81 = HEAP32[$pOut>>2]|0; - $82 = ((($81)) + 20|0); - HEAP32[$pOut>>2] = $82; - } - $83 = HEAP32[$2>>2]|0; - $84 = HEAP32[$1>>2]|0; - $85 = ((($84)) + 136|0); - $86 = HEAP32[$85>>2]|0; - $87 = (($86) + ($83))|0; - HEAP32[$85>>2] = $87; - $88 = HEAP32[$pFirst>>2]|0; - HEAP32[$0>>2] = $88; - $89 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($89|0); -} -function _sqlite3VdbeUsesBtree($p,$i) { - $p = $p|0; - $i = $i|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $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; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$1>>2]|0; - $3 = 1 << $2; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 148|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 | $3; - HEAP32[$5>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)!=(1); - if (!($9)) { - STACKTOP = sp;return; + HEAP32[$6>>2] = $28; } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ((($12)) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($10<<4)|0); - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3BtreeSharable($17)|0); - $19 = ($18|0)!=(0); - if (!($19)) { + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$6>>2]|0; + HEAP32[$30>>2] = $29; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($33) + -1)|0; + HEAP32[$32>>2] = $34; + $35 = HEAP32[$3>>2]|0; + $36 = ($35|0)!=(0); + if (!($36)) { STACKTOP = sp;return; } - $20 = HEAP32[$1>>2]|0; - $21 = 1 << $20; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 152|0); - $24 = HEAP32[$23>>2]|0; - $25 = $24 | $21; - HEAP32[$23>>2] = $25; + $37 = HEAP32[$2>>2]|0; + _pcache1FreePage($37); STACKTOP = sp;return; } -function _sqlite3VdbeChangeP4($p,$addr,$zP4,$n) { - $p = $p|0; - $addr = $addr|0; - $zP4 = $zP4|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $pOp = 0, label = 0, sp = 0; +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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $pOp = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $addr; - HEAP32[$2>>2] = $zP4; - HEAP32[$3>>2] = $n; - $4 = HEAP32[$0>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 20|0); $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$db>>2]|0; - $7 = ((($6)) + 69|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 13|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)!=(0); if ($9) { - $10 = HEAP32[$3>>2]|0; - $11 = ($10|0)!=(-10); - if (!($11)) { + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 52|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 16|0); + HEAP32[$14>>2] = $12; + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 52|0); + HEAP32[$17>>2] = $15; + } else { + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$18>>2]|0; + _pcache1Free($19); + } + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0); + if (!($23)) { + STACKTOP = sp;return; + } + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 16|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + -1)|0; + HEAP32[$26>>2] = $28; + STACKTOP = sp;return; +} +function _pcache1Free($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + STACKTOP = sp;return; + } + $6 = HEAP32[$1>>2]|0; + $7 = $6; + $8 = HEAP32[(54672)>>2]|0; + $9 = $8; + $10 = ($7>>>0)>=($9>>>0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = $11; + $13 = HEAP32[(54676)>>2]|0; + $14 = $13; + $15 = ($12>>>0)<($14>>>0); + if ($15) { + $16 = HEAP32[(54680)>>2]|0; + _sqlite3_mutex_enter($16); + _sqlite3StatusDown(1,1); + $17 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $17; + $18 = HEAP32[(54684)>>2]|0; + $19 = HEAP32[$2>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$2>>2]|0; + HEAP32[(54684)>>2] = $20; + $21 = HEAP32[(54688)>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[(54688)>>2] = $22; + $23 = HEAP32[(54688)>>2]|0; + $24 = HEAP32[(54668)>>2]|0; + $25 = ($23|0)<($24|0); + $26 = $25&1; + HEAP32[(54692)>>2] = $26; + $27 = HEAP32[(54680)>>2]|0; + _sqlite3_mutex_leave($27); STACKTOP = sp;return; } - $12 = HEAP32[$db>>2]|0; - $13 = HEAP32[$3>>2]|0; - $14 = HEAP32[$2>>2]|0; - _freeP4($12,$13,$14); - STACKTOP = sp;return; } - $15 = HEAP32[$1>>2]|0; - $16 = ($15|0)<(0); + HEAP32[$3>>2] = 0; + $28 = HEAP32[$1>>2]|0; + $29 = (_sqlite3MallocSize($28)|0); + HEAP32[$3>>2] = $29; + $30 = HEAP32[(54680)>>2]|0; + _sqlite3_mutex_enter($30); + $31 = HEAP32[$3>>2]|0; + _sqlite3StatusDown(2,$31); + $32 = HEAP32[(54680)>>2]|0; + _sqlite3_mutex_leave($32); + $33 = HEAP32[$1>>2]|0; + _sqlite3_free($33); + STACKTOP = sp;return; +} +function _pcache1TruncateUnsafe($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 32|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = (($10) - ($11))|0; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 44|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($12>>>0)<($15>>>0); if ($16) { - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 136|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) - 1)|0; - HEAP32[$1>>2] = $20; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($17>>>0) % ($20>>>0))&-1; + HEAP32[$4>>2] = $21; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 32|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 44|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($24>>>0) % ($27>>>0))&-1; + HEAP32[$5>>2] = $28; + } else { + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 44|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31>>>0) / 2)&-1; + HEAP32[$4>>2] = $32; + $33 = HEAP32[$4>>2]|0; + $34 = (($33) - 1)|0; + HEAP32[$5>>2] = $34; } - $21 = HEAP32[$1>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 88|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + (($21*20)|0)|0); - HEAP32[$pOp>>2] = $25; - $26 = HEAP32[$3>>2]|0; - $27 = ($26|0)>=(0); - if (!($27)) { - $28 = HEAP32[$pOp>>2]|0; - $29 = ((($28)) + 1|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30 << 24 >> 24; - $32 = ($31|0)!=(0); - if (!($32)) { - $37 = HEAP32[$3>>2]|0; - $38 = ($37|0)==(-14); - $39 = HEAP32[$2>>2]|0; - if ($38) { - $40 = $39; - $41 = HEAP32[$pOp>>2]|0; - $42 = ((($41)) + 16|0); - HEAP32[$42>>2] = $40; - $43 = HEAP32[$pOp>>2]|0; - $44 = ((($43)) + 1|0); - HEAP8[$44>>0] = -14; - STACKTOP = sp;return; + while(1) { + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 48|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = (($37) + ($38<<2)|0); + HEAP32[$6>>2] = $39; + while(1) { + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$40>>2]|0; + HEAP32[$7>>2] = $41; + $42 = ($41|0)!=(0|0); + if (!($42)) { + break; } - $45 = ($39|0)!=(0|0); - if (!($45)) { - STACKTOP = sp;return; + $43 = HEAP32[$7>>2]|0; + $44 = ((($43)) + 8|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$3>>2]|0; + $47 = ($45>>>0)>=($46>>>0); + if (!($47)) { + $62 = HEAP32[$7>>2]|0; + $63 = ((($62)) + 16|0); + HEAP32[$6>>2] = $63; + continue; } - $46 = HEAP32[$2>>2]|0; - $47 = HEAP32[$pOp>>2]|0; - $48 = ((($47)) + 16|0); - HEAP32[$48>>2] = $46; - $49 = HEAP32[$3>>2]|0; - $50 = $49&255; - $51 = HEAP32[$pOp>>2]|0; - $52 = ((($51)) + 1|0); - HEAP8[$52>>0] = $50; - $53 = HEAP32[$3>>2]|0; - $54 = ($53|0)==(-10); - if (!($54)) { - STACKTOP = sp;return; + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 40|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + -1)|0; + HEAP32[$49>>2] = $51; + $52 = HEAP32[$7>>2]|0; + $53 = ((($52)) + 16|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$6>>2]|0; + HEAP32[$55>>2] = $54; + $56 = HEAP32[$7>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP8[$57>>0]|0; + $59 = ($58<<24>>24)!=(0); + if (!($59)) { + $60 = HEAP32[$7>>2]|0; + (_pcache1PinPage($60)|0); } - $55 = HEAP32[$2>>2]|0; - _sqlite3VtabLock($55); - STACKTOP = sp;return; + $61 = HEAP32[$7>>2]|0; + _pcache1FreePage($61); + } + $64 = HEAP32[$4>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = ($64|0)==($65|0); + if ($66) { + break; } + $67 = HEAP32[$4>>2]|0; + $68 = (($67) + 1)|0; + $69 = HEAP32[$2>>2]|0; + $70 = ((($69)) + 44|0); + $71 = HEAP32[$70>>2]|0; + $72 = (($68>>>0) % ($71>>>0))&-1; + HEAP32[$4>>2] = $72; } - $33 = HEAP32[$0>>2]|0; - $34 = HEAP32[$pOp>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = HEAP32[$3>>2]|0; - _vdbeChangeP4Full($33,$34,$35,$36); STACKTOP = sp;return; } -function _sqlite3VdbeMakeReady($p,$pParse) { - $p = $p|0; - $pParse = $pParse|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $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; - 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, $db = 0, $n = 0, $nArg = 0, $nCursor = 0, $nMem = 0, $nVar = 0, $or$cond = 0; - var $or$cond3 = 0, $x = 0, label = 0, sp = 0; +function _pcache1FetchNoMutex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $db = sp + 32|0; - $nVar = sp + 28|0; - $nMem = sp + 24|0; - $nCursor = sp + 20|0; - $nArg = sp + 16|0; - $n = sp + 12|0; - $x = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pParse; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 400|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6 << 16 >> 16; - HEAP32[$nVar>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 44|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$nMem>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 40|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$nCursor>>2] = $13; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 108|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $9; + HEAP32[$8>>2] = 0; + $10 = HEAP32[$7>>2]|0; + $11 = ((($10)) + 48|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = ((($14)) + 44|0); $16 = HEAP32[$15>>2]|0; - HEAP32[$nArg>>2] = $16; - $17 = HEAP32[$nCursor>>2]|0; - $18 = HEAP32[$nMem>>2]|0; - $19 = (($18) + ($17))|0; - HEAP32[$nMem>>2] = $19; - $20 = HEAP32[$nCursor>>2]|0; - $21 = ($20|0)==(0); - $22 = HEAP32[$nMem>>2]|0; - $23 = ($22|0)>(0); - $or$cond = $21 & $23; - if ($or$cond) { - $24 = HEAP32[$nMem>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$nMem>>2] = $25; - } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 136|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28*20)|0; - $30 = (($29) + 7)|0; - $31 = $30 & -8; - HEAP32[$n>>2] = $31; - $32 = HEAP32[$n>>2]|0; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 88|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + ($32)|0); - HEAP32[$x>>2] = $36; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 52|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$n>>2]|0; - $41 = (($39) - ($40))|0; - $42 = $41 & -8; - $43 = ((($x)) + 4|0); - HEAP32[$43>>2] = $42; - $44 = HEAP32[$0>>2]|0; - _resolveP2Values($44,$nArg); - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 20|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = ($48|0)!=(0); - if ($49) { - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 21|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = ($53|0)!=(0); - $56 = $54; - } else { - $56 = 0; - } - $55 = $56&1; - $57 = $55&255; - $58 = $57&255; - $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 144|0); - $61 = $58&65535; - $62 = HEAP16[$60>>1]|0; - $63 = $61 & 1; - $64 = ($63 << 6)&65535; - $65 = $62 & -65; - $66 = $65 | $64; - HEAP16[$60>>1] = $66; - $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 409|0); - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - $71 = ($70|0)!=(0); - $72 = HEAP32[$nMem>>2]|0; - $73 = ($72|0)<(10); - $or$cond3 = $71 & $73; - if ($or$cond3) { - HEAP32[$nMem>>2] = 10; - } - $74 = HEAP32[$0>>2]|0; - $75 = ((($74)) + 144|0); - $76 = HEAP16[$75>>1]|0; - $77 = $76 & -2; - HEAP16[$75>>1] = $77; + $17 = (($13>>>0) % ($16>>>0))&-1; + $18 = (($12) + ($17<<2)|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$8>>2] = $19; while(1) { - $78 = ((($x)) + 8|0); - HEAP32[$78>>2] = 0; - $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 92|0); - $81 = HEAP32[$80>>2]|0; - $82 = HEAP32[$nMem>>2]|0; - $83 = ($82*40)|0; - $84 = (_allocSpace($x,$81,$83)|0); - $85 = HEAP32[$0>>2]|0; - $86 = ((($85)) + 92|0); - HEAP32[$86>>2] = $84; - $87 = HEAP32[$0>>2]|0; - $88 = ((($87)) + 116|0); - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$nVar>>2]|0; - $91 = ($90*40)|0; - $92 = (_allocSpace($x,$89,$91)|0); - $93 = HEAP32[$0>>2]|0; - $94 = ((($93)) + 116|0); - HEAP32[$94>>2] = $92; - $95 = HEAP32[$0>>2]|0; - $96 = ((($95)) + 96|0); - $97 = HEAP32[$96>>2]|0; - $98 = HEAP32[$nArg>>2]|0; - $99 = $98<<2; - $100 = (_allocSpace($x,$97,$99)|0); - $101 = HEAP32[$0>>2]|0; - $102 = ((($101)) + 96|0); - HEAP32[$102>>2] = $100; - $103 = HEAP32[$0>>2]|0; - $104 = ((($103)) + 112|0); - $105 = HEAP32[$104>>2]|0; - $106 = HEAP32[$nCursor>>2]|0; - $107 = $106<<2; - $108 = (_allocSpace($x,$105,$107)|0); - $109 = HEAP32[$0>>2]|0; - $110 = ((($109)) + 112|0); - HEAP32[$110>>2] = $108; - $111 = ((($x)) + 8|0); - $112 = HEAP32[$111>>2]|0; - $113 = ($112|0)==(0); - if ($113) { - break; + $20 = HEAP32[$8>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$8>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = ($24|0)!=($25|0); + $44 = $26; + } else { + $44 = 0; } - $114 = HEAP32[$db>>2]|0; - $115 = ((($x)) + 8|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($116|0)<(0); - $118 = $117 << 31 >> 31; - $119 = (_sqlite3DbMallocRawNN($114,$116,$118)|0); - $120 = HEAP32[$0>>2]|0; - $121 = ((($120)) + 180|0); - HEAP32[$121>>2] = $119; - HEAP32[$x>>2] = $119; - $122 = ((($x)) + 8|0); - $123 = HEAP32[$122>>2]|0; - $124 = ((($x)) + 4|0); - HEAP32[$124>>2] = $123; - $125 = HEAP32[$db>>2]|0; - $126 = ((($125)) + 69|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($127<<24>>24)!=(0); - $129 = $128 ^ 1; - if (!($129)) { + $27 = HEAP32[$8>>2]|0; + if (!($44)) { break; } + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$8>>2] = $29; } - $130 = HEAP32[$1>>2]|0; - $131 = ((($130)) + 404|0); - $132 = HEAP32[$131>>2]|0; - $133 = $132&65535; - $134 = HEAP32[$0>>2]|0; - $135 = ((($134)) + 18|0); - HEAP16[$135>>1] = $133; - $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 428|0); - $138 = HEAP32[$137>>2]|0; - $139 = HEAP32[$0>>2]|0; - $140 = ((($139)) + 120|0); - HEAP32[$140>>2] = $138; - $141 = HEAP32[$1>>2]|0; - $142 = ((($141)) + 404|0); - HEAP32[$142>>2] = 0; - $143 = HEAP32[$1>>2]|0; - $144 = ((($143)) + 428|0); - HEAP32[$144>>2] = 0; - $145 = HEAP32[$1>>2]|0; - $146 = ((($145)) + 409|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $149 = HEAP32[$0>>2]|0; - $150 = ((($149)) + 144|0); - $151 = $148&65535; - $152 = HEAP16[$150>>1]|0; - $153 = $151 & 3; - $154 = ($153 << 2)&65535; - $155 = $152 & -13; - $156 = $155 | $154; - HEAP16[$150>>1] = $156; - $157 = HEAP32[$db>>2]|0; - $158 = ((($157)) + 69|0); - $159 = HEAP8[$158>>0]|0; - $160 = ($159<<24>>24)!=(0); - if ($160) { - $161 = HEAP32[$0>>2]|0; - $162 = ((($161)) + 16|0); - HEAP16[$162>>1] = 0; - $163 = HEAP32[$0>>2]|0; - $164 = ((($163)) + 28|0); - HEAP32[$164>>2] = 0; - $165 = HEAP32[$0>>2]|0; - $166 = ((($165)) + 24|0); - HEAP32[$166>>2] = 0; - $192 = HEAP32[$0>>2]|0; - _sqlite3VdbeRewind($192); - STACKTOP = sp;return; + $30 = ($27|0)!=(0|0); + if ($30) { + $31 = HEAP32[$8>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)!=(0); + $35 = HEAP32[$8>>2]|0; + if ($34) { + HEAP32[$3>>2] = $35; + $43 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($43|0); + } else { + $36 = (_pcache1PinPage($35)|0); + HEAP32[$3>>2] = $36; + $43 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($43|0); + } } else { - $167 = HEAP32[$nCursor>>2]|0; - $168 = HEAP32[$0>>2]|0; - $169 = ((($168)) + 28|0); - HEAP32[$169>>2] = $167; - $170 = HEAP32[$nVar>>2]|0; - $171 = $170&65535; - $172 = HEAP32[$0>>2]|0; - $173 = ((($172)) + 16|0); - HEAP16[$173>>1] = $171; - $174 = HEAP32[$0>>2]|0; - $175 = ((($174)) + 116|0); - $176 = HEAP32[$175>>2]|0; - $177 = HEAP32[$nVar>>2]|0; - $178 = HEAP32[$db>>2]|0; - _initMemArray($176,$177,$178,1); - $179 = HEAP32[$nMem>>2]|0; - $180 = HEAP32[$0>>2]|0; - $181 = ((($180)) + 24|0); - HEAP32[$181>>2] = $179; - $182 = HEAP32[$0>>2]|0; - $183 = ((($182)) + 92|0); - $184 = HEAP32[$183>>2]|0; - $185 = HEAP32[$nMem>>2]|0; - $186 = HEAP32[$db>>2]|0; - _initMemArray($184,$185,$186,128); - $187 = HEAP32[$0>>2]|0; - $188 = ((($187)) + 112|0); - $189 = HEAP32[$188>>2]|0; - $190 = HEAP32[$nCursor>>2]|0; - $191 = $190<<2; - _memset(($189|0),0,($191|0))|0; - $192 = HEAP32[$0>>2]|0; - _sqlite3VdbeRewind($192); - STACKTOP = sp;return; + $37 = HEAP32[$6>>2]|0; + $38 = ($37|0)!=(0); + if ($38) { + $39 = HEAP32[$7>>2]|0; + $40 = HEAP32[$5>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = (_pcache1FetchStage2($39,$40,$41)|0); + HEAP32[$3>>2] = $42; + $43 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($43|0); + } else { + HEAP32[$3>>2] = 0; + $43 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($43|0); + } } + return (0)|0; } -function _blobSeekToRow($p,$0,$1,$pzErr) { - $p = $p|0; +function _pcache1FetchStage2($0,$1,$2) { $0 = $0|0; $1 = $1|0; - $pzErr = $pzErr|0; + $2 = $2|0; var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $pC = 0, $rc = 0; - var $type = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $zErr = 0, label = 0, sp = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer4 = sp + 24|0; - $vararg_buffer1 = sp + 16|0; - $vararg_buffer = sp + 8|0; - $2 = sp + 52|0; - $3 = sp; - $4 = sp + 48|0; - $rc = sp + 44|0; - $zErr = sp + 40|0; - $v = sp + 36|0; - $pC = sp + 32|0; - $type = sp + 28|0; - HEAP32[$2>>2] = $p; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $pzErr; - HEAP32[$zErr>>2] = 0; - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$v>>2] = $11; - $12 = $3; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$v>>2]|0; - $19 = ((($18)) + 116|0); - $20 = HEAP32[$19>>2]|0; - $21 = $20; - $22 = $21; - HEAP32[$22>>2] = $14; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $17; - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 20|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_sqlite3_step($27)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$rc>>2]|0; - $30 = ($29|0)==(100); + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$8>>2] = $13; + HEAP32[$9>>2] = 0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 40|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 36|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($16) - ($19))|0; + HEAP32[$7>>2] = $20; + $21 = HEAP32[$6>>2]|0; + $22 = ($21|0)==(1); do { - if ($30) { - $31 = HEAP32[$v>>2]|0; - $32 = ((($31)) + 112|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$33>>2]|0; - HEAP32[$pC>>2] = $34; - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$pC>>2]|0; - $39 = ((($38)) + 80|0); - $40 = (($39) + ($37<<2)|0); - $41 = HEAP32[$40>>2]|0; - HEAP32[$type>>2] = $41; - $42 = HEAP32[$type>>2]|0; - $43 = ($42>>>0)<(12); - $44 = HEAP32[$2>>2]|0; - if (!($43)) { - $59 = ((($44)) + 12|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$pC>>2]|0; - $62 = ((($61)) + 12|0); - $63 = HEAP16[$62>>1]|0; - $64 = $63 << 16 >> 16; - $65 = (($60) + ($64))|0; - $66 = HEAP32[$pC>>2]|0; - $67 = ((($66)) + 80|0); - $68 = (($67) + ($65<<2)|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = ((($70)) + 8|0); - HEAP32[$71>>2] = $69; - $72 = HEAP32[$type>>2]|0; - $73 = (_sqlite3VdbeSerialTypeLen($72)|0); - $74 = HEAP32[$2>>2]|0; - $75 = ((($74)) + 4|0); - HEAP32[$75>>2] = $73; - $76 = HEAP32[$pC>>2]|0; - $77 = ((($76)) + 16|0); - $78 = HEAP32[$77>>2]|0; - $79 = HEAP32[$2>>2]|0; - $80 = ((($79)) + 16|0); - HEAP32[$80>>2] = $78; - $81 = HEAP32[$2>>2]|0; - $82 = ((($81)) + 16|0); - $83 = HEAP32[$82>>2]|0; - _sqlite3BtreeIncrblobCursor($83); - break; - } - $45 = ((($44)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$type>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - $52 = 39718; - } else { - $49 = HEAP32[$type>>2]|0; - $50 = ($49|0)==(7); - $51 = $50 ? 39705 : 39710; - $52 = $51; + if ($22) { + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$8>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($23>>>0)>=($26>>>0); + if (!($27)) { + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 28|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($28>>>0)>=($31>>>0); + if (!($32)) { + $33 = HEAP32[$4>>2]|0; + $34 = (_pcache1UnderMemoryPressure($33)|0); + $35 = ($34|0)!=(0); + if (!($35)) { + break; + } + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 36|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$7>>2]|0; + $40 = ($38>>>0)<($39>>>0); + if (!($40)) { + break; + } + } } - HEAP32[$vararg_buffer>>2] = $52; - $53 = (_sqlite3MPrintf($46,39723,$vararg_buffer)|0); - HEAP32[$zErr>>2] = $53; - HEAP32[$rc>>2] = 1; - $54 = HEAP32[$2>>2]|0; - $55 = ((($54)) + 20|0); - $56 = HEAP32[$55>>2]|0; - (_sqlite3_finalize($56)|0); - $57 = HEAP32[$2>>2]|0; - $58 = ((($57)) + 20|0); - HEAP32[$58>>2] = 0; + HEAP32[$3>>2] = 0; + $155 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($155|0); } } while(0); - $84 = HEAP32[$rc>>2]|0; - $85 = ($84|0)==(100); - if ($85) { - HEAP32[$rc>>2] = 0; - $117 = HEAP32[$zErr>>2]|0; - $118 = HEAP32[$4>>2]|0; - HEAP32[$118>>2] = $117; - $119 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($119|0); - } - $86 = HEAP32[$2>>2]|0; - $87 = ((($86)) + 20|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)!=(0|0); - if (!($89)) { - $117 = HEAP32[$zErr>>2]|0; - $118 = HEAP32[$4>>2]|0; - HEAP32[$118>>2] = $117; - $119 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($119|0); - } - $90 = HEAP32[$2>>2]|0; - $91 = ((($90)) + 20|0); - $92 = HEAP32[$91>>2]|0; - $93 = (_sqlite3_finalize($92)|0); - HEAP32[$rc>>2] = $93; - $94 = HEAP32[$2>>2]|0; - $95 = ((($94)) + 20|0); - HEAP32[$95>>2] = 0; - $96 = HEAP32[$rc>>2]|0; - $97 = ($96|0)==(0); - $98 = HEAP32[$2>>2]|0; - $99 = ((($98)) + 24|0); - $100 = HEAP32[$99>>2]|0; - if ($97) { - $101 = $3; - $102 = $101; - $103 = HEAP32[$102>>2]|0; - $104 = (($101) + 4)|0; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = $vararg_buffer1; - $108 = $107; - HEAP32[$108>>2] = $103; - $109 = (($107) + 4)|0; - $110 = $109; - HEAP32[$110>>2] = $106; - $111 = (_sqlite3MPrintf($100,39752,$vararg_buffer1)|0); - HEAP32[$zErr>>2] = $111; - HEAP32[$rc>>2] = 1; - $117 = HEAP32[$zErr>>2]|0; - $118 = HEAP32[$4>>2]|0; - HEAP32[$118>>2] = $117; - $119 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($119|0); - } else { - $112 = HEAP32[$2>>2]|0; - $113 = ((($112)) + 24|0); - $114 = HEAP32[$113>>2]|0; - $115 = (_sqlite3_errmsg($114)|0); - HEAP32[$vararg_buffer4>>2] = $115; - $116 = (_sqlite3MPrintf($100,18391,$vararg_buffer4)|0); - HEAP32[$zErr>>2] = $116; - $117 = HEAP32[$zErr>>2]|0; - $118 = HEAP32[$4>>2]|0; - HEAP32[$118>>2] = $117; - $119 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($119|0); - } - return (0)|0; -} -function _sqlite3ParserReset($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; - } - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$db>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 76|0); - $8 = HEAP32[$7>>2]|0; - _sqlite3DbFree($5,$8); - $9 = HEAP32[$db>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 80|0); - $12 = HEAP32[$11>>2]|0; - _sqlite3ExprListDelete($9,$12); - $13 = HEAP32[$db>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 24|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 256|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) - ($18))|0; - HEAP32[$20>>2] = $22; - } - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 24|0); - HEAP8[$24>>0] = 0; - STACKTOP = sp;return; -} -function _sqlite3BtreeData($pCur,$offset,$amt,$pBuf) { - $pCur = $pCur|0; - $offset = $offset|0; - $amt = $amt|0; - $pBuf = $pBuf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pCur; - HEAP32[$2>>2] = $offset; - HEAP32[$3>>2] = $amt; - HEAP32[$4>>2] = $pBuf; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 66|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(0); - if ($9) { - HEAP32[$0>>2] = 4; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); - } - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 66|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)>=(3); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = (_btreeRestoreCursorPosition($15)|0); - $17 = $16; - } else { - $17 = 0; - } - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)==(0); - if ($19) { - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = (_accessPayload($20,$21,$22,$23,0)|0); - HEAP32[$rc>>2] = $24; - } - $25 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $25; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); -} -function _blobReadWrite($pBlob,$z,$n,$iOffset,$xCall) { - $pBlob = $pBlob|0; - $z = $z|0; - $n = $n|0; - $iOffset = $iOffset|0; - $xCall = $xCall|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $db = 0, $or$cond = 0, $p = 0, $rc = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; - $rc = sp + 12|0; - $p = sp + 8|0; - $v = sp + 4|0; - $db = sp; - HEAP32[$1>>2] = $pBlob; - HEAP32[$2>>2] = $z; - HEAP32[$3>>2] = $n; - HEAP32[$4>>2] = $iOffset; - HEAP32[$5>>2] = $xCall; - $6 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $9 = (_sqlite3MisuseError(84716)|0); - HEAP32[$0>>2] = $9; - $69 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($69|0); + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 40|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 44|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($43>>>0)>=($46>>>0); + if ($47) { + $48 = HEAP32[$4>>2]|0; + _pcache1ResizeHash($48); } - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 24|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$db>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$v>>2] = $15; - $16 = HEAP32[$3>>2]|0; - $17 = ($16|0)<(0); - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)<(0); - $or$cond = $17 | $19; + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)!=(0); do { - if ($or$cond) { - label = 5; - } else { - $20 = HEAP32[$4>>2]|0; - $21 = ($20|0)<(0); - $22 = $21 << 31 >> 31; - $23 = HEAP32[$3>>2]|0; - $24 = ($23|0)<(0); - $25 = $24 << 31 >> 31; - $26 = (_i64Add(($20|0),($22|0),($23|0),($25|0))|0); - $27 = tempRet0; - $28 = HEAP32[$p>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)<(0); - $32 = $31 << 31 >> 31; - $33 = ($27|0)>($32|0); - $34 = ($26>>>0)>($30>>>0); - $35 = ($27|0)==($32|0); - $36 = $35 & $34; - $37 = $33 | $36; - if ($37) { - label = 5; - } else { - $38 = HEAP32[$v>>2]|0; - $39 = ($38|0)==(0|0); - if ($39) { - HEAP32[$rc>>2] = 4; - break; + if ($52) { + $53 = HEAP32[$8>>2]|0; + $54 = ((($53)) + 20|0); + $55 = ((($54)) + 28|0); + $56 = HEAP32[$55>>2]|0; + $57 = ((($56)) + 14|0); + $58 = HEAP8[$57>>0]|0; + $59 = ($58<<24>>24)!=(0); + if (!($59)) { + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 40|0); + $62 = HEAP32[$61>>2]|0; + $63 = (($62) + 1)|0; + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 24|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($63>>>0)>=($66>>>0); + if (!($67)) { + $68 = HEAP32[$4>>2]|0; + $69 = (_pcache1UnderMemoryPressure($68)|0); + $70 = ($69|0)!=(0); + if (!($70)) { + break; + } } - $40 = HEAP32[$p>>2]|0; - $41 = ((($40)) + 16|0); - $42 = HEAP32[$41>>2]|0; - _sqlite3BtreeEnterCursor($42); - $43 = HEAP32[$5>>2]|0; - $44 = HEAP32[$p>>2]|0; - $45 = ((($44)) + 16|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$4>>2]|0; - $48 = HEAP32[$p>>2]|0; - $49 = ((($48)) + 8|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($47) + ($50))|0; - $52 = HEAP32[$3>>2]|0; - $53 = HEAP32[$2>>2]|0; - $54 = (FUNCTION_TABLE_iiiii[$43 & 255]($46,$51,$52,$53)|0); - HEAP32[$rc>>2] = $54; - $55 = HEAP32[$rc>>2]|0; - $56 = ($55|0)==(4); - if ($56) { - $57 = HEAP32[$v>>2]|0; - (_sqlite3VdbeFinalize($57)|0); - $58 = HEAP32[$p>>2]|0; - $59 = ((($58)) + 20|0); - HEAP32[$59>>2] = 0; + $71 = HEAP32[$8>>2]|0; + $72 = ((($71)) + 20|0); + $73 = ((($72)) + 28|0); + $74 = HEAP32[$73>>2]|0; + HEAP32[$9>>2] = $74; + $75 = HEAP32[$9>>2]|0; + _pcache1RemoveFromHash($75,0); + $76 = HEAP32[$9>>2]|0; + (_pcache1PinPage($76)|0); + $77 = HEAP32[$9>>2]|0; + $78 = ((($77)) + 20|0); + $79 = HEAP32[$78>>2]|0; + HEAP32[$10>>2] = $79; + $80 = HEAP32[$10>>2]|0; + $81 = ((($80)) + 12|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 12|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($82|0)!=($85|0); + if ($86) { + $87 = HEAP32[$9>>2]|0; + _pcache1FreePage($87); + HEAP32[$9>>2] = 0; break; } else { - $60 = HEAP32[$rc>>2]|0; - $61 = HEAP32[$v>>2]|0; - $62 = ((($61)) + 40|0); - HEAP32[$62>>2] = $60; + $88 = HEAP32[$10>>2]|0; + $89 = ((($88)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$4>>2]|0; + $92 = ((($91)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = (($90) - ($93))|0; + $95 = HEAP32[$8>>2]|0; + $96 = ((($95)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = (($97) - ($94))|0; + HEAP32[$96>>2] = $98; break; } } } } while(0); - if ((label|0) == 5) { - HEAP32[$rc>>2] = 1; - } - $63 = HEAP32[$db>>2]|0; - $64 = HEAP32[$rc>>2]|0; - _sqlite3Error($63,$64); - $65 = HEAP32[$db>>2]|0; - $66 = HEAP32[$rc>>2]|0; - $67 = (_sqlite3ApiExit($65,$66)|0); - HEAP32[$rc>>2] = $67; - $68 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $68; - $69 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($69|0); + $99 = HEAP32[$9>>2]|0; + $100 = ($99|0)!=(0|0); + if (!($100)) { + $101 = HEAP32[$4>>2]|0; + $102 = HEAP32[$6>>2]|0; + $103 = ($102|0)==(1); + $104 = $103&1; + $105 = (_pcache1AllocPage($101,$104)|0); + HEAP32[$9>>2] = $105; + } + $106 = HEAP32[$9>>2]|0; + $107 = ($106|0)!=(0|0); + if ($107) { + $108 = HEAP32[$5>>2]|0; + $109 = HEAP32[$4>>2]|0; + $110 = ((($109)) + 44|0); + $111 = HEAP32[$110>>2]|0; + $112 = (($108>>>0) % ($111>>>0))&-1; + HEAP32[$11>>2] = $112; + $113 = HEAP32[$4>>2]|0; + $114 = ((($113)) + 40|0); + $115 = HEAP32[$114>>2]|0; + $116 = (($115) + 1)|0; + HEAP32[$114>>2] = $116; + $117 = HEAP32[$5>>2]|0; + $118 = HEAP32[$9>>2]|0; + $119 = ((($118)) + 8|0); + HEAP32[$119>>2] = $117; + $120 = HEAP32[$4>>2]|0; + $121 = ((($120)) + 48|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$11>>2]|0; + $124 = (($122) + ($123<<2)|0); + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$9>>2]|0; + $127 = ((($126)) + 16|0); + HEAP32[$127>>2] = $125; + $128 = HEAP32[$4>>2]|0; + $129 = HEAP32[$9>>2]|0; + $130 = ((($129)) + 20|0); + HEAP32[$130>>2] = $128; + $131 = HEAP32[$9>>2]|0; + $132 = ((($131)) + 28|0); + HEAP32[$132>>2] = 0; + $133 = HEAP32[$9>>2]|0; + $134 = ((($133)) + 24|0); + HEAP32[$134>>2] = 0; + $135 = HEAP32[$9>>2]|0; + $136 = ((($135)) + 12|0); + HEAP8[$136>>0] = 1; + $137 = HEAP32[$9>>2]|0; + $138 = ((($137)) + 4|0); + $139 = HEAP32[$138>>2]|0; + HEAP32[$139>>2] = 0; + $140 = HEAP32[$9>>2]|0; + $141 = HEAP32[$4>>2]|0; + $142 = ((($141)) + 48|0); + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$11>>2]|0; + $145 = (($143) + ($144<<2)|0); + HEAP32[$145>>2] = $140; + $146 = HEAP32[$5>>2]|0; + $147 = HEAP32[$4>>2]|0; + $148 = ((($147)) + 32|0); + $149 = HEAP32[$148>>2]|0; + $150 = ($146>>>0)>($149>>>0); + if ($150) { + $151 = HEAP32[$5>>2]|0; + $152 = HEAP32[$4>>2]|0; + $153 = ((($152)) + 32|0); + HEAP32[$153>>2] = $151; + } + } + $154 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $154; + $155 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($155|0); } -function _sqlite3ExpirePreparedStatements($db) { - $db = $db|0; - var $0 = 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, $p = 0, label = 0, sp = 0; +function _pcache1UnderMemoryPressure($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; - while(1) { - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - break; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[(54664)>>2]|0; + $4 = ($3|0)!=(0); + if ($4) { + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($7) + ($10))|0; + $12 = HEAP32[(54660)>>2]|0; + $13 = ($11|0)<=($12|0); + if ($13) { + $14 = HEAP32[(54692)>>2]|0; + HEAP32[$1>>2] = $14; + $16 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($16|0); } - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 144|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8 & -2; - $10 = $9 | 1; - HEAP16[$7>>1] = $10; - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$p>>2] = $13; } - STACKTOP = sp;return; + $15 = (_sqlite3HeapNearlyFull()|0); + HEAP32[$1>>2] = $15; + $16 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($16|0); } -function _patternCompare($zPattern,$zString,$pInfo,$matchOther) { - $zPattern = $zPattern|0; - $zString = $zString|0; - $pInfo = $pInfo|0; - $matchOther = $matchOther|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $c2 = 0, $cx = 0, $invert = 0, $matchAll = 0, $matchOne = 0, $noCase = 0, $or$cond = 0; - var $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $prior_c = 0, $seen = 0, $zEscaped = 0, label = 0, sp = 0; +function _pcache1ResizeHash($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $c = sp + 32|0; - $c2 = sp + 28|0; - $matchOne = sp + 24|0; - $matchAll = sp + 20|0; - $noCase = sp + 56|0; - $zEscaped = sp + 16|0; - $cx = sp + 12|0; - $prior_c = sp + 8|0; - $seen = sp + 4|0; - $invert = sp; - HEAP32[$1>>2] = $zPattern; - HEAP32[$2>>2] = $zString; - HEAP32[$3>>2] = $pInfo; - HEAP32[$4>>2] = $matchOther; - $5 = HEAP32[$3>>2]|0; - $6 = ((($5)) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - HEAP32[$matchOne>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - HEAP32[$matchAll>>2] = $11; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$1>>2] = $0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 44|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10<<1; + HEAP32[$3>>2] = $11; $12 = HEAP32[$3>>2]|0; - $13 = ((($12)) + 3|0); - $14 = HEAP8[$13>>0]|0; - HEAP8[$noCase>>0] = $14; - HEAP32[$zEscaped>>2] = 0; - L1: while(1) { - $15 = HEAP32[$1>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = ($17|0)<(128); - if ($18) { - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 1|0); - HEAP32[$1>>2] = $20; - $21 = HEAP8[$19>>0]|0; - $22 = $21&255; - $24 = $22; - } else { - $23 = (_sqlite3Utf8Read($1)|0); - $24 = $23; - } - HEAP32[$c>>2] = $24; - $25 = ($24|0)!=(0); - if (!($25)) { - label = 83; + $13 = ($12>>>0)<(256); + $$ = $13 ? 256 : $11; + HEAP32[$3>>2] = $$; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 44|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + _sqlite3BeginBenignMalloc(); + } + $18 = HEAP32[$3>>2]|0; + $19 = $18<<2; + $20 = (_sqlite3MallocZero($19,0)|0); + HEAP32[$2>>2] = $20; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 44|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)!=(0); + if ($24) { + _sqlite3EndBenignMalloc(); + } + $25 = HEAP32[$2>>2]|0; + $26 = ($25|0)!=(0|0); + if (!($26)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; + while(1) { + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 44|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($27>>>0)<($30>>>0); + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 48|0); + $34 = HEAP32[$33>>2]|0; + if (!($31)) { break; } - $26 = HEAP32[$c>>2]|0; - $27 = HEAP32[$matchAll>>2]|0; - $28 = ($26|0)==($27|0); - if ($28) { - label = 7; - break; + $35 = HEAP32[$4>>2]|0; + $36 = (($34) + ($35<<2)|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$6>>2] = $37; + while(1) { + $38 = HEAP32[$6>>2]|0; + HEAP32[$5>>2] = $38; + $39 = ($38|0)!=(0|0); + if (!($39)) { + break; + } + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$3>>2]|0; + $44 = (($42>>>0) % ($43>>>0))&-1; + HEAP32[$7>>2] = $44; + $45 = HEAP32[$5>>2]|0; + $46 = ((($45)) + 16|0); + $47 = HEAP32[$46>>2]|0; + HEAP32[$6>>2] = $47; + $48 = HEAP32[$2>>2]|0; + $49 = HEAP32[$7>>2]|0; + $50 = (($48) + ($49<<2)|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$5>>2]|0; + $53 = ((($52)) + 16|0); + HEAP32[$53>>2] = $51; + $54 = HEAP32[$5>>2]|0; + $55 = HEAP32[$2>>2]|0; + $56 = HEAP32[$7>>2]|0; + $57 = (($55) + ($56<<2)|0); + HEAP32[$57>>2] = $54; } - $145 = HEAP32[$c>>2]|0; - $146 = HEAP32[$4>>2]|0; - $147 = ($145|0)==($146|0); - do { - if ($147) { - $148 = HEAP32[$3>>2]|0; - $149 = ((($148)) + 2|0); - $150 = HEAP8[$149>>0]|0; - $151 = $150&255; - $152 = ($151|0)==(0); - if ($152) { - $153 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c>>2] = $153; - $154 = HEAP32[$c>>2]|0; - $155 = ($154|0)==(0); - if ($155) { - label = 49; - break L1; - } - $156 = HEAP32[$1>>2]|0; - HEAP32[$zEscaped>>2] = $156; + $58 = HEAP32[$4>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$4>>2] = $59; + } + _sqlite3_free($34); + $60 = HEAP32[$2>>2]|0; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 48|0); + HEAP32[$62>>2] = $60; + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 44|0); + HEAP32[$65>>2] = $63; + STACKTOP = sp;return; +} +function _pcache1AllocPage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 52|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + do { + if ($10) { + label = 4; + } else { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = (_pcache1InitBulk($15)|0); + $17 = ($16|0)!=(0); + if ($17) { + label = 4; break; } - HEAP32[$prior_c>>2] = 0; - HEAP32[$seen>>2] = 0; - HEAP32[$invert>>2] = 0; - $157 = (_sqlite3Utf8Read($2)|0); - HEAP32[$c>>2] = $157; - $158 = HEAP32[$c>>2]|0; - $159 = ($158|0)==(0); - if ($159) { - label = 52; - break L1; - } - $160 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c2>>2] = $160; - $161 = HEAP32[$c2>>2]|0; - $162 = ($161|0)==(94); - if ($162) { - HEAP32[$invert>>2] = 1; - $163 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c2>>2] = $163; - } - $164 = HEAP32[$c2>>2]|0; - $165 = ($164|0)==(93); - if ($165) { - $166 = HEAP32[$c>>2]|0; - $167 = ($166|0)==(93); - if ($167) { - HEAP32[$seen>>2] = 1; - } - $168 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c2>>2] = $168; - } - while(1) { - $169 = HEAP32[$c2>>2]|0; - $170 = ($169|0)!=(0); - $171 = HEAP32[$c2>>2]|0; - $172 = ($171|0)!=(93); - $173 = $170 ? $172 : 0; - $174 = HEAP32[$c2>>2]|0; - if (!($173)) { - break; - } - $175 = ($174|0)==(45); - if ($175) { - $176 = HEAP32[$1>>2]|0; - $177 = HEAP8[$176>>0]|0; - $178 = $177&255; - $179 = ($178|0)!=(93); - if ($179) { - $180 = HEAP32[$1>>2]|0; - $181 = HEAP8[$180>>0]|0; - $182 = $181&255; - $183 = ($182|0)!=(0); - $184 = HEAP32[$prior_c>>2]|0; - $185 = ($184>>>0)>(0); - $or$cond = $183 & $185; - if ($or$cond) { - $186 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c2>>2] = $186; - $187 = HEAP32[$c>>2]|0; - $188 = HEAP32[$prior_c>>2]|0; - $189 = ($187>>>0)>=($188>>>0); - if ($189) { - $190 = HEAP32[$c>>2]|0; - $191 = HEAP32[$c2>>2]|0; - $192 = ($190>>>0)<=($191>>>0); - if ($192) { - HEAP32[$seen>>2] = 1; - } - } - HEAP32[$prior_c>>2] = 0; - } else { - label = 67; - } - } else { - label = 67; - } - } else { - label = 67; - } - if ((label|0) == 67) { - label = 0; - $193 = HEAP32[$c>>2]|0; - $194 = HEAP32[$c2>>2]|0; - $195 = ($193|0)==($194|0); - if ($195) { - HEAP32[$seen>>2] = 1; - } - $196 = HEAP32[$c2>>2]|0; - HEAP32[$prior_c>>2] = $196; - } - $197 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c2>>2] = $197; - } - $198 = ($174|0)==(0); - if ($198) { - label = 73; - break L1; - } - $199 = HEAP32[$seen>>2]|0; - $200 = HEAP32[$invert>>2]|0; - $201 = $199 ^ $200; - $202 = ($201|0)==(0); - if ($202) { - label = 73; - break L1; - } else { - continue L1; - } - } - } while(0); - $203 = HEAP32[$2>>2]|0; - $204 = HEAP8[$203>>0]|0; - $205 = $204&255; - $206 = ($205|0)<(128); - if ($206) { - $207 = HEAP32[$2>>2]|0; - $208 = ((($207)) + 1|0); - HEAP32[$2>>2] = $208; - $209 = HEAP8[$207>>0]|0; - $210 = $209&255; - $212 = $210; - } else { - $211 = (_sqlite3Utf8Read($2)|0); - $212 = $211; - } - HEAP32[$c2>>2] = $212; - $213 = HEAP32[$c>>2]|0; - $214 = HEAP32[$c2>>2]|0; - $215 = ($213|0)==($214|0); - if ($215) { - continue; - } - $216 = HEAP8[$noCase>>0]|0; - $217 = $216&255; - $218 = ($217|0)!=(0); - if ($218) { - $219 = HEAP32[$c>>2]|0; - $220 = $219&255; - $221 = $220&255; - $222 = (17613 + ($221)|0); - $223 = HEAP8[$222>>0]|0; - $224 = $223&255; - $225 = HEAP32[$c2>>2]|0; - $226 = $225&255; - $227 = $226&255; - $228 = (17613 + ($227)|0); - $229 = HEAP8[$228>>0]|0; - $230 = $229&255; - $231 = ($224|0)==($230|0); - $232 = HEAP32[$c>>2]|0; - $233 = ($232>>>0)<(128); - $or$cond3 = $231 & $233; - $234 = HEAP32[$c2>>2]|0; - $235 = ($234>>>0)<(128); - $or$cond5 = $or$cond3 & $235; - if ($or$cond5) { - continue; } - } - $236 = HEAP32[$c>>2]|0; - $237 = HEAP32[$matchOne>>2]|0; - $238 = ($236|0)==($237|0); - if (!($238)) { - label = 82; - break; - } - $239 = HEAP32[$1>>2]|0; - $240 = HEAP32[$zEscaped>>2]|0; - $241 = ($239|0)!=($240|0); - $242 = HEAP32[$c2>>2]|0; - $243 = ($242|0)!=(0); - $or$cond7 = $241 & $243; - if (!($or$cond7)) { - label = 82; - break; - } - } - if ((label|0) == 7) { - while(1) { - label = 0; - $29 = HEAP32[$1>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = ($31|0)<(128); - if ($32) { - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 1|0); - HEAP32[$1>>2] = $34; - $35 = HEAP8[$33>>0]|0; - $36 = $35&255; - $38 = $36; - } else { - $37 = (_sqlite3Utf8Read($1)|0); - $38 = $37; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0); + if ($29) { + _sqlite3BeginBenignMalloc(); } - HEAP32[$c>>2] = $38; - $39 = HEAP32[$matchAll>>2]|0; - $40 = ($38|0)==($39|0); + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = (_pcache1Alloc($32)|0); + HEAP32[$6>>2] = $33; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($34) + ($37)|0); + HEAP32[$5>>2] = $38; + $39 = HEAP32[$4>>2]|0; + $40 = ($39|0)!=(0); if ($40) { - $250 = 1; - } else { - $41 = HEAP32[$c>>2]|0; - $42 = HEAP32[$matchOne>>2]|0; - $43 = ($41|0)==($42|0); - $250 = $43; - } - $44 = HEAP32[$c>>2]|0; - if (!($250)) { - break; - } - $45 = HEAP32[$matchOne>>2]|0; - $46 = ($44|0)==($45|0); - if (!($46)) { - label = 7; - continue; + _sqlite3EndBenignMalloc(); } - $47 = (_sqlite3Utf8Read($2)|0); - $48 = ($47|0)==(0); - if ($48) { - label = 15; + $41 = HEAP32[$6>>2]|0; + $42 = ($41|0)==(0|0); + if (!($42)) { + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$5>>2]|0; + HEAP32[$44>>2] = $43; + $45 = HEAP32[$5>>2]|0; + $46 = ((($45)) + 32|0); + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 4|0); + HEAP32[$48>>2] = $46; + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 13|0); + HEAP8[$50>>0] = 0; + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 14|0); + HEAP8[$52>>0] = 0; break; - } else { - label = 7; } + HEAP32[$2>>2] = 0; + $63 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($63|0); } - if ((label|0) == 15) { - HEAP32[$0>>2] = 0; - $249 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($249|0); - } - $49 = ($44|0)==(0); - if ($49) { - HEAP32[$0>>2] = 1; - $249 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($249|0); - } - $50 = HEAP32[$c>>2]|0; - $51 = HEAP32[$4>>2]|0; - $52 = ($50|0)==($51|0); - do { - if ($52) { - $53 = HEAP32[$3>>2]|0; - $54 = ((($53)) + 2|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = ($56|0)==(0); - if ($57) { - $58 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c>>2] = $58; - $59 = HEAP32[$c>>2]|0; - $60 = ($59|0)==(0); - if (!($60)) { - break; - } - HEAP32[$0>>2] = 0; - $249 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($249|0); - } - L83: while(1) { - $61 = HEAP32[$2>>2]|0; - $62 = HEAP8[$61>>0]|0; - $63 = $62&255; - $64 = ($63|0)!=(0); - if ($64) { - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + -1|0); - $67 = HEAP32[$2>>2]|0; - $68 = HEAP32[$3>>2]|0; - $69 = HEAP32[$4>>2]|0; - $70 = (_patternCompare($66,$67,$68,$69)|0); - $71 = ($70|0)==(0); - $251 = $71; - } else { - $251 = 0; - } - $72 = HEAP32[$2>>2]|0; - if (!($251)) { - break; - } - $73 = ((($72)) + 1|0); - HEAP32[$2>>2] = $73; - $74 = HEAP8[$72>>0]|0; - $75 = $74&255; - $76 = ($75|0)>=(192); - if (!($76)) { - continue; - } - while(1) { - $77 = HEAP32[$2>>2]|0; - $78 = HEAP8[$77>>0]|0; - $79 = $78&255; - $80 = $79 & 192; - $81 = ($80|0)==(128); - if (!($81)) { - continue L83; - } - $82 = HEAP32[$2>>2]|0; - $83 = ((($82)) + 1|0); - HEAP32[$2>>2] = $83; - } - } - $84 = HEAP8[$72>>0]|0; - $85 = $84&255; - $86 = ($85|0)!=(0); - $87 = $86&1; - HEAP32[$0>>2] = $87; - $249 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($249|0); - } - } while(0); - $88 = HEAP32[$c>>2]|0; - $89 = ($88>>>0)<=(128); - L95: do { - if ($89) { - $90 = HEAP8[$noCase>>0]|0; - $91 = ($90<<24>>24)!=(0); - $92 = HEAP32[$c>>2]|0; - if ($91) { - $93 = HEAP32[$c>>2]|0; - $94 = $93&255; - $95 = $94&255; - $96 = (18403 + ($95)|0); - $97 = HEAP8[$96>>0]|0; - $98 = $97&255; - $99 = $98 & 32; - $100 = $99 ^ -1; - $101 = $92 & $100; - HEAP32[$cx>>2] = $101; - $102 = HEAP32[$c>>2]|0; - $103 = $102&255; - $104 = $103&255; - $105 = (17613 + ($104)|0); - $106 = HEAP8[$105>>0]|0; - $107 = $106&255; - HEAP32[$c>>2] = $107; - } else { - HEAP32[$cx>>2] = $92; - } - while(1) { - $108 = HEAP32[$2>>2]|0; - $109 = ((($108)) + 1|0); - HEAP32[$2>>2] = $109; - $110 = HEAP8[$108>>0]|0; - $111 = $110&255; - HEAP32[$c2>>2] = $111; - $112 = ($111|0)!=(0); - if (!($112)) { - break L95; - } - $113 = HEAP32[$c2>>2]|0; - $114 = HEAP32[$c>>2]|0; - $115 = ($113|0)!=($114|0); - if ($115) { - $116 = HEAP32[$c2>>2]|0; - $117 = HEAP32[$cx>>2]|0; - $118 = ($116|0)!=($117|0); - if ($118) { - continue; - } - } - $119 = HEAP32[$1>>2]|0; - $120 = HEAP32[$2>>2]|0; - $121 = HEAP32[$3>>2]|0; - $122 = HEAP32[$4>>2]|0; - $123 = (_patternCompare($119,$120,$121,$122)|0); - $124 = ($123|0)!=(0); - if ($124) { - break; - } - } - HEAP32[$0>>2] = 1; - $249 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($249|0); - } else { - while(1) { - $125 = HEAP32[$2>>2]|0; - $126 = HEAP8[$125>>0]|0; - $127 = $126&255; - $128 = ($127|0)<(128); - if ($128) { - $129 = HEAP32[$2>>2]|0; - $130 = ((($129)) + 1|0); - HEAP32[$2>>2] = $130; - $131 = HEAP8[$129>>0]|0; - $132 = $131&255; - $134 = $132; - } else { - $133 = (_sqlite3Utf8Read($2)|0); - $134 = $133; - } - HEAP32[$c2>>2] = $134; - $135 = ($134|0)!=(0); - if (!($135)) { - break L95; - } - $136 = HEAP32[$c2>>2]|0; - $137 = HEAP32[$c>>2]|0; - $138 = ($136|0)!=($137|0); - if ($138) { - continue; - } - $139 = HEAP32[$1>>2]|0; - $140 = HEAP32[$2>>2]|0; - $141 = HEAP32[$3>>2]|0; - $142 = HEAP32[$4>>2]|0; - $143 = (_patternCompare($139,$140,$141,$142)|0); - $144 = ($143|0)!=(0); - if ($144) { - break; - } - } - HEAP32[$0>>2] = 1; - $249 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($249|0); - } - } while(0); - HEAP32[$0>>2] = 0; - $249 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($249|0); + } while(0); + if ((label|0) == 4) { + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 52|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$5>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 52|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 16|0); + HEAP32[$27>>2] = 0; } - else if ((label|0) == 49) { - HEAP32[$0>>2] = 0; - $249 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($249|0); + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)!=(0); + if ($56) { + $57 = HEAP32[$3>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = ((($58)) + 16|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($60) + 1)|0; + HEAP32[$59>>2] = $61; } - else if ((label|0) == 52) { - HEAP32[$0>>2] = 0; - $249 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($249|0); + $62 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $62; + $63 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($63|0); +} +function _pcache1InitBulk($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + HEAP32[$2>>2] = $0; + $8 = HEAP32[(54656)>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + HEAP32[$1>>2] = 0; + $129 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($129|0); } - else if ((label|0) == 73) { - HEAP32[$0>>2] = 0; - $249 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($249|0); + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)<(3); + if ($13) { + HEAP32[$1>>2] = 0; + $129 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($129|0); } - else if ((label|0) == 82) { - HEAP32[$0>>2] = 0; - $249 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($249|0); + _sqlite3BeginBenignMalloc(); + $14 = HEAP32[(54656)>>2]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)<(0); + $20 = $19 << 31 >> 31; + $21 = HEAP32[(54656)>>2]|0; + $22 = ($21|0)<(0); + $23 = $22 << 31 >> 31; + $24 = (___muldi3(($18|0),($20|0),($21|0),($23|0))|0); + $25 = tempRet0; + $26 = $3; + $27 = $26; + HEAP32[$27>>2] = $24; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $25; + } else { + $30 = HEAP32[(54656)>>2]|0; + $31 = ($30|0)<(0); + $32 = $31 << 31 >> 31; + $33 = (___muldi3(-1024,-1,($30|0),($32|0))|0); + $34 = tempRet0; + $35 = $3; + $36 = $35; + HEAP32[$36>>2] = $33; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; } - else if ((label|0) == 83) { - $244 = HEAP32[$2>>2]|0; - $245 = HEAP8[$244>>0]|0; - $246 = $245&255; - $247 = ($246|0)==(0); - $248 = $247&1; - HEAP32[$0>>2] = $248; - $249 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($249|0); + $39 = $3; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 12|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)<(0); + $49 = $48 << 31 >> 31; + $50 = HEAP32[$2>>2]|0; + $51 = ((($50)) + 24|0); + $52 = HEAP32[$51>>2]|0; + $53 = (___muldi3(($47|0),($49|0),($52|0),0)|0); + $54 = tempRet0; + $55 = ($44|0)>($54|0); + $56 = ($41>>>0)>($53>>>0); + $57 = ($44|0)==($54|0); + $58 = $57 & $56; + $59 = $55 | $58; + if ($59) { + $60 = HEAP32[$2>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)<(0); + $64 = $63 << 31 >> 31; + $65 = HEAP32[$2>>2]|0; + $66 = ((($65)) + 24|0); + $67 = HEAP32[$66>>2]|0; + $68 = (___muldi3(($62|0),($64|0),($67|0),0)|0); + $69 = tempRet0; + $70 = $3; + $71 = $70; + HEAP32[$71>>2] = $68; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; } - return (0)|0; -} -function _sqlite3SafetyCheckOk($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $magic = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $magic = sp; - HEAP32[$1>>2] = $db; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - do { - if ($3) { - _logBadConnection(39691); - HEAP32[$0>>2] = 0; - } else { - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 84|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$magic>>2] = $6; - $7 = HEAP32[$magic>>2]|0; - $8 = ($7|0)!=(-1607883113); - if (!($8)) { - HEAP32[$0>>2] = 1; - break; - } - $9 = HEAP32[$1>>2]|0; - $10 = (_sqlite3SafetyCheckSickOrOk($9)|0); - $11 = ($10|0)!=(0); - if ($11) { - _logBadConnection(39696); + $74 = $3; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (_sqlite3Malloc($76,$79)|0); + $81 = HEAP32[$2>>2]|0; + $82 = ((($81)) + 56|0); + HEAP32[$82>>2] = $80; + HEAP32[$4>>2] = $80; + _sqlite3EndBenignMalloc(); + $83 = HEAP32[$4>>2]|0; + $84 = ($83|0)!=(0|0); + L16: do { + if ($84) { + $85 = HEAP32[$4>>2]|0; + $86 = (_sqlite3MallocSize($85)|0); + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$88>>2]|0; + $90 = (($86|0) / ($89|0))&-1; + HEAP32[$5>>2] = $90; + HEAP32[$6>>2] = 0; + while(1) { + $91 = HEAP32[$6>>2]|0; + $92 = HEAP32[$5>>2]|0; + $93 = ($91|0)<($92|0); + if (!($93)) { + break L16; + } + $94 = HEAP32[$4>>2]|0; + $95 = HEAP32[$2>>2]|0; + $96 = ((($95)) + 4|0); + $97 = HEAP32[$96>>2]|0; + $98 = (($94) + ($97)|0); + HEAP32[$7>>2] = $98; + $99 = HEAP32[$4>>2]|0; + $100 = HEAP32[$7>>2]|0; + HEAP32[$100>>2] = $99; + $101 = HEAP32[$7>>2]|0; + $102 = ((($101)) + 32|0); + $103 = HEAP32[$7>>2]|0; + $104 = ((($103)) + 4|0); + HEAP32[$104>>2] = $102; + $105 = HEAP32[$7>>2]|0; + $106 = ((($105)) + 13|0); + HEAP8[$106>>0] = 1; + $107 = HEAP32[$7>>2]|0; + $108 = ((($107)) + 14|0); + HEAP8[$108>>0] = 0; + $109 = HEAP32[$2>>2]|0; + $110 = ((($109)) + 52|0); + $111 = HEAP32[$110>>2]|0; + $112 = HEAP32[$7>>2]|0; + $113 = ((($112)) + 16|0); + HEAP32[$113>>2] = $111; + $114 = HEAP32[$7>>2]|0; + $115 = HEAP32[$2>>2]|0; + $116 = ((($115)) + 52|0); + HEAP32[$116>>2] = $114; + $117 = HEAP32[$2>>2]|0; + $118 = ((($117)) + 12|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$4>>2]|0; + $121 = (($120) + ($119)|0); + HEAP32[$4>>2] = $121; + $122 = HEAP32[$6>>2]|0; + $123 = (($122) + 1)|0; + HEAP32[$6>>2] = $123; } - HEAP32[$0>>2] = 0; } } while(0); - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); + $124 = HEAP32[$2>>2]|0; + $125 = ((($124)) + 52|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($126|0)!=(0|0); + $128 = $127&1; + HEAP32[$1>>2] = $128; + $129 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($129|0); } -function _sqlite3LockAndPrepare($db,$zSql,$nBytes,$saveSqlFlag,$pOld,$ppStmt,$pzTail) { - $db = $db|0; - $zSql = $zSql|0; - $nBytes = $nBytes|0; - $saveSqlFlag = $saveSqlFlag|0; - $pOld = $pOld|0; - $ppStmt = $ppStmt|0; - $pzTail = $pzTail|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rc = 0; - var label = 0, sp = 0; +function _sqlite3BeginBenignMalloc() { + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $6 = sp + 8|0; - $7 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zSql; - HEAP32[$3>>2] = $nBytes; - HEAP32[$4>>2] = $saveSqlFlag; - HEAP32[$5>>2] = $pOld; - HEAP32[$6>>2] = $ppStmt; - HEAP32[$7>>2] = $pzTail; - $8 = HEAP32[$6>>2]|0; - HEAP32[$8>>2] = 0; - $9 = HEAP32[$1>>2]|0; - $10 = (_sqlite3SafetyCheckOk($9)|0); - $11 = ($10|0)==(0); - $12 = HEAP32[$2>>2]|0; - $13 = ($12|0)==(0|0); - $or$cond = $11 | $13; - if ($or$cond) { - $14 = (_sqlite3MisuseError(114197)|0); - HEAP32[$0>>2] = $14; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); - } - $15 = HEAP32[$1>>2]|0; - _sqlite3BtreeEnterAll($15); - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$3>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = HEAP32[$5>>2]|0; - $21 = HEAP32[$6>>2]|0; - $22 = HEAP32[$7>>2]|0; - $23 = (_sqlite3Prepare($16,$17,$18,$19,$20,$21,$22)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(17); - if ($25) { - $26 = HEAP32[$6>>2]|0; - $27 = HEAP32[$26>>2]|0; - (_sqlite3_finalize($27)|0); - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$3>>2]|0; - $31 = HEAP32[$4>>2]|0; - $32 = HEAP32[$5>>2]|0; - $33 = HEAP32[$6>>2]|0; - $34 = HEAP32[$7>>2]|0; - $35 = (_sqlite3Prepare($28,$29,$30,$31,$32,$33,$34)|0); - HEAP32[$rc>>2] = $35; + $0 = HEAP32[13700]|0; + $1 = ($0|0)!=(0|0); + if (!($1)) { + return; } - $36 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $36; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); + $2 = HEAP32[13700]|0; + FUNCTION_TABLE_v[$2 & 255](); + return; } -function _sqlite3SafetyCheckSickOrOk($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $magic = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; +function _pcache1Alloc($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $magic = sp; - HEAP32[$1>>2] = $db; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 84|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$magic>>2] = $4; - $5 = HEAP32[$magic>>2]|0; - $6 = ($5|0)!=(1266094736); - $7 = HEAP32[$magic>>2]|0; - $8 = ($7|0)!=(-1607883113); - $or$cond = $6 & $8; - $9 = HEAP32[$magic>>2]|0; - $10 = ($9|0)!=(-264537850); - $or$cond3 = $or$cond & $10; - if ($or$cond3) { - _logBadConnection(39538); - HEAP32[$0>>2] = 0; - $11 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($11|0); - } else { - HEAP32[$0>>2] = 1; - $11 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($11|0); + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[(54660)>>2]|0; + $6 = ($4|0)<=($5|0); + if ($6) { + $7 = HEAP32[(54680)>>2]|0; + _sqlite3_mutex_enter($7); + $8 = HEAP32[(54684)>>2]|0; + HEAP32[$2>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[(54684)>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[(54684)>>2] = $12; + $13 = HEAP32[(54688)>>2]|0; + $14 = (($13) + -1)|0; + HEAP32[(54688)>>2] = $14; + $15 = HEAP32[(54688)>>2]|0; + $16 = HEAP32[(54668)>>2]|0; + $17 = ($15|0)<($16|0); + $18 = $17&1; + HEAP32[(54692)>>2] = $18; + $19 = HEAP32[$1>>2]|0; + _sqlite3StatusHighwater(7,$19); + _sqlite3StatusUp(1,1); + } + $20 = HEAP32[(54680)>>2]|0; + _sqlite3_mutex_leave($20); } - return (0)|0; + $21 = HEAP32[$2>>2]|0; + $22 = ($21|0)==(0|0); + if (!($22)) { + $35 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($35|0); + } + $23 = HEAP32[$1>>2]|0; + $24 = ($23|0)<(0); + $25 = $24 << 31 >> 31; + $26 = (_sqlite3Malloc($23,$25)|0); + HEAP32[$2>>2] = $26; + $27 = HEAP32[$2>>2]|0; + $28 = ($27|0)!=(0|0); + if (!($28)) { + $35 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($35|0); + } + $29 = HEAP32[$2>>2]|0; + $30 = (_sqlite3MallocSize($29)|0); + HEAP32[$3>>2] = $30; + $31 = HEAP32[(54680)>>2]|0; + _sqlite3_mutex_enter($31); + $32 = HEAP32[$1>>2]|0; + _sqlite3StatusHighwater(7,$32); + $33 = HEAP32[$3>>2]|0; + _sqlite3StatusUp(2,$33); + $34 = HEAP32[(54680)>>2]|0; + _sqlite3_mutex_leave($34); + $35 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($35|0); } -function _createModule($db,$zName,$pModule,$pAux,$xDestroy) { - $db = $db|0; - $zName = $zName|0; - $pModule = $pModule|0; - $pAux = $pAux|0; - $xDestroy = $xDestroy|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nName = 0; - var $or$cond = 0, $pDel = 0, $pMod = 0, $rc = 0, $zCopy = 0, label = 0, sp = 0; +function _sqlite3EndBenignMalloc() { + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $rc = sp + 16|0; - $nName = sp + 12|0; - $pMod = sp + 8|0; - $pDel = sp + 4|0; - $zCopy = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zName; - HEAP32[$2>>2] = $pModule; - HEAP32[$3>>2] = $pAux; - HEAP32[$4>>2] = $xDestroy; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3Strlen30($5)|0); - HEAP32[$nName>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 320|0); - $9 = HEAP32[$1>>2]|0; - $10 = (_sqlite3HashFind($8,$9)|0); - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = (_sqlite3MisuseError(122590)|0); - HEAP32[$rc>>2] = $12; - } else { - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$nName>>2]|0; - $15 = (20 + ($14))|0; - $16 = (($15) + 1)|0; - $17 = (_sqlite3DbMallocRawNN($13,$16,0)|0); - HEAP32[$pMod>>2] = $17; - $18 = HEAP32[$pMod>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$pMod>>2]|0; - $21 = ((($20)) + 20|0); - HEAP32[$zCopy>>2] = $21; - $22 = HEAP32[$zCopy>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$nName>>2]|0; - $25 = (($24) + 1)|0; - _memcpy(($22|0),($23|0),($25|0))|0; - $26 = HEAP32[$zCopy>>2]|0; - $27 = HEAP32[$pMod>>2]|0; - $28 = ((($27)) + 4|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$pMod>>2]|0; - HEAP32[$30>>2] = $29; - $31 = HEAP32[$3>>2]|0; - $32 = HEAP32[$pMod>>2]|0; - $33 = ((($32)) + 8|0); - HEAP32[$33>>2] = $31; - $34 = HEAP32[$4>>2]|0; - $35 = HEAP32[$pMod>>2]|0; - $36 = ((($35)) + 12|0); - HEAP32[$36>>2] = $34; - $37 = HEAP32[$pMod>>2]|0; - $38 = ((($37)) + 16|0); - HEAP32[$38>>2] = 0; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 320|0); - $41 = HEAP32[$zCopy>>2]|0; - $42 = HEAP32[$pMod>>2]|0; - $43 = (_sqlite3HashInsert($40,$41,$42)|0); - HEAP32[$pDel>>2] = $43; - $44 = HEAP32[$pDel>>2]|0; - $45 = ($44|0)!=(0|0); - if ($45) { - $46 = HEAP32[$0>>2]|0; - _sqlite3OomFault($46); - $47 = HEAP32[$0>>2]|0; - $48 = HEAP32[$pDel>>2]|0; - _sqlite3DbFree($47,$48); - } - } - } - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$rc>>2]|0; - $51 = (_sqlite3ApiExit($49,$50)|0); - HEAP32[$rc>>2] = $51; - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)!=(0); - $54 = HEAP32[$4>>2]|0; - $55 = ($54|0)!=(0|0); - $or$cond = $53 & $55; - if (!($or$cond)) { - $58 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($58|0); + $0 = HEAP32[(54804)>>2]|0; + $1 = ($0|0)!=(0|0); + if (!($1)) { + return; } - $56 = HEAP32[$4>>2]|0; - $57 = HEAP32[$3>>2]|0; - FUNCTION_TABLE_vi[$56 & 255]($57); - $58 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($58|0); + $2 = HEAP32[(54804)>>2]|0; + FUNCTION_TABLE_v[$2 & 255](); + return; } -function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { - $pParse = $pParse|0; - $zSql = $zSql|0; - $pzErrMsg = $pzErrMsg|0; - var $$byval_copy = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $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, $db = 0, $i = 0, $lastTokenParsed = 0; - var $mxSqlLen = 0, $nErr = 0, $p = 0, $p1 = 0, $pEngine = 0, $tokenType = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; +function _sqlite3MallocZero($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $$byval_copy = sp + 72|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $3 = sp + 56|0; - $nErr = sp + 52|0; - $i = sp + 48|0; - $pEngine = sp + 44|0; - $tokenType = sp + 40|0; - $lastTokenParsed = sp + 36|0; - $db = sp + 32|0; - $mxSqlLen = sp + 28|0; - $p = sp + 24|0; - $p1 = sp + 20|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $zSql; - HEAP32[$3>>2] = $pzErrMsg; - HEAP32[$nErr>>2] = 0; - HEAP32[$lastTokenParsed>>2] = -1; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$db>>2]|0; - $7 = ((($6)) + 96|0); - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$mxSqlLen>>2] = $9; - $10 = HEAP32[$db>>2]|0; - $11 = ((($10)) + 156|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $14 = HEAP32[$db>>2]|0; - $15 = ((($14)) + 248|0); - HEAP32[$15>>2] = 0; - } - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 12|0); - HEAP32[$17>>2] = 0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 436|0); - HEAP32[$20>>2] = $18; - HEAP32[$i>>2] = 0; - $21 = (_sqlite3ParserAlloc(179)|0); - HEAP32[$pEngine>>2] = $21; - $22 = HEAP32[$pEngine>>2]|0; - $23 = ($22|0)==(0|0); - if ($23) { - $24 = HEAP32[$db>>2]|0; - _sqlite3OomFault($24); - HEAP32[$0>>2] = 7; - $235 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($235|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp; + $3 = sp + 8|0; + $4 = $2; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = $2; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3Malloc($10,$13)|0); + HEAP32[$3>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { + $24 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($24|0); } - L7: while(1) { - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = (($26) + ($25)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28 << 24 >> 24; - $30 = ($29|0)!=(0); - do { - if ($30) { - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = (($32) + ($31)|0); - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 392|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$i>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = (($37) + ($36)|0); - $39 = (_sqlite3GetToken($38,$tokenType)|0); - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 392|0); - $42 = ((($41)) + 4|0); - HEAP32[$42>>2] = $39; - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 392|0); - $45 = ((($44)) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$i>>2]|0; - $48 = (($47) + ($46))|0; - HEAP32[$i>>2] = $48; - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$mxSqlLen>>2]|0; - $51 = ($49|0)>($50|0); - if ($51) { - label = 7; - break L7; - } - } else { - $54 = HEAP32[$lastTokenParsed>>2]|0; - $55 = ($54|0)==(1); - if ($55) { - HEAP32[$tokenType>>2] = 0; - break; - } - $56 = HEAP32[$lastTokenParsed>>2]|0; - $57 = ($56|0)==(0); - if ($57) { - break L7; - } - HEAP32[$tokenType>>2] = 1; - } - } while(0); - $58 = HEAP32[$tokenType>>2]|0; - $59 = ($58|0)>=(162); - if ($59) { - $60 = HEAP32[$db>>2]|0; - $61 = ((($60)) + 248|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)!=(0); - if ($63) { - label = 14; - break; - } - $66 = HEAP32[$tokenType>>2]|0; - $67 = ($66|0)==(163); - if ($67) { - label = 16; - break; - } else { - continue; - } + $17 = HEAP32[$3>>2]|0; + $18 = $2; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + _memset(($17|0),0,($20|0))|0; + $24 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($24|0); +} +function _sqlite3HeapNearlyFull() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[(54508)>>2]|0; + return ($0|0); +} +function _sqlite3AlterFunctions() { + var label = 0, sp = 0; + sp = STACKTOP; + _sqlite3InsertBuiltinFuncs(3948,3); + return; +} +function _sqlite3RegisterDateTimeFunctions() { + var label = 0, sp = 0; + sp = STACKTOP; + _sqlite3InsertBuiltinFuncs(3724,8); + return; +} +function _sqlite3InsertBuiltinFuncs($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + while(1) { + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ($9|0)<($10|0); + if (!($11)) { + break; + } + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = (($12) + (($13*28)|0)|0); + $15 = ((($14)) + 20|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = (_sqlite3Strlen30($17)|0); + HEAP32[$7>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = (20458 + ($21)|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = HEAP32[$7>>2]|0; + $26 = (($24) + ($25))|0; + $27 = (($26|0) % 23)&-1; + HEAP32[$8>>2] = $27; + $28 = HEAP32[$8>>2]|0; + $29 = HEAP32[$6>>2]|0; + $30 = (_functionSearch($28,$29)|0); + HEAP32[$5>>2] = $30; + $31 = HEAP32[$5>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$2>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = (($36) + (($37*28)|0)|0); + $39 = ((($38)) + 8|0); + HEAP32[$39>>2] = $35; + $40 = HEAP32[$2>>2]|0; + $41 = HEAP32[$4>>2]|0; + $42 = (($40) + (($41*28)|0)|0); + $43 = HEAP32[$5>>2]|0; + $44 = ((($43)) + 8|0); + HEAP32[$44>>2] = $42; } else { - $71 = HEAP32[$pEngine>>2]|0; - $72 = HEAP32[$tokenType>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 392|0); - $75 = HEAP32[$1>>2]|0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$74>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$74+4>>2]|0; - _sqlite3Parser($71,$72,$$byval_copy,$75); - $76 = HEAP32[$tokenType>>2]|0; - HEAP32[$lastTokenParsed>>2] = $76; - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 12|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)!=(0); - if ($80) { - break; - } - $81 = HEAP32[$db>>2]|0; - $82 = ((($81)) + 69|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = ($84|0)!=(0); - if ($85) { - break; - } else { - continue; - } + $45 = HEAP32[$2>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = (($45) + (($46*28)|0)|0); + $48 = ((($47)) + 8|0); + HEAP32[$48>>2] = 0; + $49 = HEAP32[$8>>2]|0; + $50 = (54696 + ($49<<2)|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$2>>2]|0; + $53 = HEAP32[$4>>2]|0; + $54 = (($52) + (($53*28)|0)|0); + $55 = ((($54)) + 24|0); + HEAP32[$55>>2] = $51; + $56 = HEAP32[$2>>2]|0; + $57 = HEAP32[$4>>2]|0; + $58 = (($56) + (($57*28)|0)|0); + $59 = HEAP32[$8>>2]|0; + $60 = (54696 + ($59<<2)|0); + HEAP32[$60>>2] = $58; } + $61 = HEAP32[$4>>2]|0; + $62 = (($61) + 1)|0; + HEAP32[$4>>2] = $62; } - if ((label|0) == 7) { - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 12|0); - HEAP32[$53>>2] = 18; - } - else if ((label|0) == 14) { - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 12|0); - HEAP32[$65>>2] = 9; - } - else if ((label|0) == 16) { - $68 = HEAP32[$1>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 392|0); - HEAP32[$vararg_buffer>>2] = $70; - _sqlite3ErrorMsg($68,26437,$vararg_buffer); - } - $86 = HEAP32[$i>>2]|0; - $87 = HEAP32[$2>>2]|0; - $88 = (($87) + ($86)|0); - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 436|0); - HEAP32[$90>>2] = $88; - $91 = HEAP32[$pEngine>>2]|0; - _sqlite3ParserFree($91,148); - $92 = HEAP32[$db>>2]|0; - $93 = ((($92)) + 69|0); - $94 = HEAP8[$93>>0]|0; - $95 = ($94<<24>>24)!=(0); - if ($95) { - $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 12|0); - HEAP32[$97>>2] = 7; - } - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 12|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)!=(0); - if ($101) { - $102 = HEAP32[$1>>2]|0; - $103 = ((($102)) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)!=(101); - if ($105) { - $106 = HEAP32[$1>>2]|0; - $107 = ((($106)) + 4|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==(0|0); - if ($109) { - $110 = HEAP32[$db>>2]|0; - $111 = HEAP32[$1>>2]|0; - $112 = ((($111)) + 12|0); - $113 = HEAP32[$112>>2]|0; - $114 = (_sqlite3ErrStr($113)|0); - HEAP32[$vararg_buffer1>>2] = $114; - $115 = (_sqlite3MPrintf($110,18391,$vararg_buffer1)|0); - $116 = HEAP32[$1>>2]|0; - $117 = ((($116)) + 4|0); - HEAP32[$117>>2] = $115; - } + STACKTOP = sp;return; +} +function _functionSearch($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 + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = (54696 + ($6<<2)|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $8; + while(1) { + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + label = 6; + break; } - } - $118 = HEAP32[$1>>2]|0; - $119 = ((($118)) + 4|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)!=(0|0); - if ($121) { - $122 = HEAP32[$1>>2]|0; - $123 = ((($122)) + 4|0); - $124 = HEAP32[$123>>2]|0; - $125 = HEAP32[$3>>2]|0; - HEAP32[$125>>2] = $124; - $126 = HEAP32[$1>>2]|0; - $127 = ((($126)) + 12|0); - $128 = HEAP32[$127>>2]|0; - $129 = HEAP32[$3>>2]|0; - $130 = HEAP32[$129>>2]|0; - HEAP32[$vararg_buffer4>>2] = $130; - _sqlite3_log($128,18391,$vararg_buffer4); - $131 = HEAP32[$1>>2]|0; - $132 = ((($131)) + 4|0); - HEAP32[$132>>2] = 0; - $133 = HEAP32[$nErr>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[$nErr>>2] = $134; - } - $135 = HEAP32[$1>>2]|0; - $136 = ((($135)) + 8|0); - $137 = HEAP32[$136>>2]|0; - $138 = ($137|0)!=(0|0); - if ($138) { - $139 = HEAP32[$1>>2]|0; - $140 = ((($139)) + 36|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)>(0); - if ($142) { - $143 = HEAP32[$1>>2]|0; - $144 = ((($143)) + 18|0); - $145 = HEAP8[$144>>0]|0; - $146 = $145&255; - $147 = ($146|0)==(0); - if ($147) { - $148 = HEAP32[$1>>2]|0; - $149 = ((($148)) + 8|0); - $150 = HEAP32[$149>>2]|0; - _sqlite3VdbeDelete($150); - $151 = HEAP32[$1>>2]|0; - $152 = ((($151)) + 8|0); - HEAP32[$152>>2] = 0; - } + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = (_sqlite3StrICmp($13,$14)|0); + $16 = ($15|0)==(0); + $17 = HEAP32[$5>>2]|0; + if ($16) { + label = 4; + break; } + $18 = ((($17)) + 24|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$5>>2] = $19; } - $153 = HEAP32[$1>>2]|0; - $154 = ((($153)) + 18|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = ($156|0)==(0); - if ($157) { - $158 = HEAP32[$db>>2]|0; - $159 = HEAP32[$1>>2]|0; - $160 = ((($159)) + 116|0); - $161 = HEAP32[$160>>2]|0; - _sqlite3DbFree($158,$161); - $162 = HEAP32[$1>>2]|0; - $163 = ((($162)) + 116|0); - HEAP32[$163>>2] = 0; - $164 = HEAP32[$1>>2]|0; - $165 = ((($164)) + 112|0); - HEAP32[$165>>2] = 0; + if ((label|0) == 4) { + HEAP32[$2>>2] = $17; + $20 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($20|0); } - $166 = HEAP32[$1>>2]|0; - $167 = ((($166)) + 460|0); - $168 = HEAP32[$167>>2]|0; - _sqlite3_free($168); - $169 = HEAP32[$1>>2]|0; - $170 = ((($169)) + 410|0); - $171 = HEAP8[$170>>0]|0; - $172 = ($171<<24>>24)!=(0); - if (!($172)) { - $173 = HEAP32[$db>>2]|0; - $174 = HEAP32[$1>>2]|0; - $175 = ((($174)) + 440|0); - $176 = HEAP32[$175>>2]|0; - _sqlite3DeleteTable($173,$176); + else if ((label|0) == 6) { + HEAP32[$2>>2] = 0; + $20 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($20|0); } - $177 = HEAP32[$1>>2]|0; - $178 = ((($177)) + 476|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)!=(0|0); - if ($180) { - $181 = HEAP32[$db>>2]|0; - $182 = HEAP32[$1>>2]|0; - $183 = ((($182)) + 476|0); - $184 = HEAP32[$183>>2]|0; - _sqlite3WithDelete($181,$184); - } - $185 = HEAP32[$db>>2]|0; - $186 = HEAP32[$1>>2]|0; - $187 = ((($186)) + 444|0); - $188 = HEAP32[$187>>2]|0; - _sqlite3DeleteTrigger($185,$188); - $189 = HEAP32[$1>>2]|0; - $190 = ((($189)) + 404|0); - $191 = HEAP32[$190>>2]|0; - $192 = (($191) - 1)|0; - HEAP32[$i>>2] = $192; + return (0)|0; +} +function _sqlite3StrICmp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $8; while(1) { - $193 = HEAP32[$i>>2]|0; - $194 = ($193|0)>=(0); - $195 = HEAP32[$db>>2]|0; - if (!($194)) { + $9 = HEAP32[$4>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = (20458 + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = (20458 + ($17)|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = (($14) - ($20))|0; + HEAP32[$6>>2] = $21; + $22 = HEAP32[$6>>2]|0; + $23 = ($22|0)!=(0); + if ($23) { + label = 5; break; } - $196 = HEAP32[$i>>2]|0; - $197 = HEAP32[$1>>2]|0; - $198 = ((($197)) + 428|0); - $199 = HEAP32[$198>>2]|0; - $200 = (($199) + ($196<<2)|0); - $201 = HEAP32[$200>>2]|0; - _sqlite3DbFree($195,$201); - $202 = HEAP32[$i>>2]|0; - $203 = (($202) + -1)|0; - HEAP32[$i>>2] = $203; - } - $204 = HEAP32[$1>>2]|0; - $205 = ((($204)) + 428|0); - $206 = HEAP32[$205>>2]|0; - _sqlite3DbFree($195,$206); - while(1) { - $207 = HEAP32[$1>>2]|0; - $208 = ((($207)) + 120|0); - $209 = HEAP32[$208>>2]|0; - $210 = ($209|0)!=(0|0); - if (!($210)) { + $24 = HEAP32[$4>>2]|0; + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($26|0)==(0); + if ($27) { + label = 5; break; } - $211 = HEAP32[$1>>2]|0; - $212 = ((($211)) + 120|0); - $213 = HEAP32[$212>>2]|0; - HEAP32[$p>>2] = $213; - $214 = HEAP32[$p>>2]|0; - $215 = HEAP32[$214>>2]|0; - $216 = HEAP32[$1>>2]|0; - $217 = ((($216)) + 120|0); - HEAP32[$217>>2] = $215; - $218 = HEAP32[$db>>2]|0; - $219 = HEAP32[$p>>2]|0; - _sqlite3DbFree($218,$219); + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 1|0); + HEAP32[$4>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 1|0); + HEAP32[$5>>2] = $31; } - while(1) { - $220 = HEAP32[$1>>2]|0; - $221 = ((($220)) + 464|0); - $222 = HEAP32[$221>>2]|0; - $223 = ($222|0)!=(0|0); - if (!($223)) { - break; - } - $224 = HEAP32[$1>>2]|0; - $225 = ((($224)) + 464|0); - $226 = HEAP32[$225>>2]|0; - HEAP32[$p1>>2] = $226; - $227 = HEAP32[$p1>>2]|0; - $228 = ((($227)) + 68|0); - $229 = HEAP32[$228>>2]|0; - $230 = HEAP32[$1>>2]|0; - $231 = ((($230)) + 464|0); - HEAP32[$231>>2] = $229; - $232 = HEAP32[$db>>2]|0; - $233 = HEAP32[$p1>>2]|0; - _sqlite3DeleteTable($232,$233); + if ((label|0) == 5) { + $32 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($32|0); } - $234 = HEAP32[$nErr>>2]|0; - HEAP32[$0>>2] = $234; - $235 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($235|0); + return (0)|0; } -function _sqlite3ValueNew($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _compileoptionusedFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3DbMallocZero($1,40,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $10 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($10|0); - } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 8|0); - HEAP16[$6>>1] = 1; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$p>>2]|0; - $9 = ((($8)) + 32|0); - HEAP32[$9>>2] = $7; - $10 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($10|0); -} -function _sqlite3ValueSetStr($v,$n,$z,$enc,$xDel) { - $v = $v|0; - $n = $n|0; - $z = $z|0; - $enc = $enc|0; - $xDel = $xDel|0; - var $0 = 0, $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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp + 16|0; - $4 = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $n; - HEAP32[$2>>2] = $z; - HEAP8[$3>>0] = $enc; - HEAP32[$4>>2] = $xDel; - $5 = HEAP32[$0>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_text($8)|0); + HEAP32[$6>>2] = $9; + $10 = ($9|0)!=(0|0); + if (!($10)) { STACKTOP = sp;return; } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP8[$3>>0]|0; - $11 = HEAP32[$4>>2]|0; - (_sqlite3VdbeMemSetStr($7,$8,$9,$10,$11)|0); - STACKTOP = sp;return; -} -function _sqlite3MemSetDefault() { - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = 4220; - (_sqlite3_config(4,$vararg_buffer)|0); + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = (_sqlite3_compileoption_used($12)|0); + _sqlite3_result_int($11,$13); STACKTOP = sp;return; } -function _sqlite3HeaderSizeBtree() { - var label = 0, sp = 0; - sp = STACKTOP; - return 88; -} -function _sqlite3HeaderSizePcache() { - var label = 0, sp = 0; - sp = STACKTOP; - return 40; -} -function _sqlite3HeaderSizePcache1() { - var label = 0, sp = 0; - sp = STACKTOP; - return 32; -} -function _sqlite3PCacheSetDefault() { - var $vararg_buffer = 0, label = 0, sp = 0; +function _compileoptiongetFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = 4168; - (_sqlite3_config(18,$vararg_buffer)|0); + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_int($8)|0); + HEAP32[$6>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = (_sqlite3_compileoption_get($11)|0); + _sqlite3_result_text($10,$12,-1,0); STACKTOP = sp;return; } -function _sqlite3PagerShrink($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 212|0); - $3 = HEAP32[$2>>2]|0; - _sqlite3PcacheShrink($3); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = (_sqlite3_libversion()|0); + _sqlite3_result_text($6,$7,-1,0); STACKTOP = sp;return; } -function _sqlite3BtreeIsInTrans($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - $9 = 0; - $8 = $9&1; - STACKTOP = sp;return ($8|0); - } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(2); - $9 = $7; - $8 = $9&1; - STACKTOP = sp;return ($8|0); -} -function _setupLookaside($db,$pBuf,$sz,$cnt) { - $db = $db|0; - $pBuf = $pBuf|0; - $sz = $sz|0; - $cnt = $cnt|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 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; +function _trimFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$old = 0, $$old1 = 0, $$old2 = 0, $$old3 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $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, $i = 0, $or$cond = 0, $p = 0, $pStart = 0, label = 0, sp = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $pStart = sp + 8|0; - $i = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pBuf; - HEAP32[$3>>2] = $sz; - HEAP32[$4>>2] = $cnt; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 256|0); - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0); - if ($9) { - HEAP32[$0>>2] = 5; - $103 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($103|0); - } - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 256|0); - $12 = ((($11)) + 6|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)!=(0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 256|0); - $17 = ((($16)) + 32|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3_free($18); + STACKTOP = STACKTOP + 64|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = 0; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3_value_type($18)|0); + $20 = ($19|0)==(5); + if ($20) { + STACKTOP = sp;return; } - $19 = HEAP32[$3>>2]|0; - $20 = $19 & -8; - HEAP32[$3>>2] = $20; - $21 = HEAP32[$3>>2]|0; - $22 = ($21|0)<=(4); - $$ = $22 ? 0 : $20; - HEAP32[$3>>2] = $$; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)<(0); - if ($24) { - HEAP32[$4>>2] = 0; + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3_value_text($22)|0); + HEAP32[$6>>2] = $23; + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)==(0|0); + if ($25) { + STACKTOP = sp;return; } - $25 = HEAP32[$3>>2]|0; - $26 = ($25|0)==(0); - $27 = HEAP32[$4>>2]|0; - $28 = ($27|0)==(0); - $or$cond = $26 | $28; - do { - if ($or$cond) { - HEAP32[$3>>2] = 0; - HEAP32[$pStart>>2] = 0; + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3_value_bytes($27)|0); + HEAP32[$8>>2] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = ($29|0)==(1); + L7: do { + if ($30) { + HEAP32[$13>>2] = 1; + HEAP32[$11>>2] = 23020; + HEAP32[$12>>2] = 3720; + HEAP32[$7>>2] = 0; } else { - $29 = HEAP32[$2>>2]|0; - $30 = ($29|0)==(0|0); - if (!($30)) { - $43 = HEAP32[$2>>2]|0; - HEAP32[$pStart>>2] = $43; - break; - } - _sqlite3BeginBenignMalloc(); - $31 = HEAP32[$3>>2]|0; - $32 = HEAP32[$4>>2]|0; - $33 = Math_imul($31, $32)|0; - $34 = ($33|0)<(0); - $35 = $34 << 31 >> 31; - $36 = (_sqlite3Malloc($33,$35)|0); - HEAP32[$pStart>>2] = $36; - _sqlite3EndBenignMalloc(); - $37 = HEAP32[$pStart>>2]|0; - $38 = ($37|0)!=(0|0); - if ($38) { - $39 = HEAP32[$pStart>>2]|0; - $40 = (_sqlite3MallocSize($39)|0); - $41 = HEAP32[$3>>2]|0; - $42 = (($40|0) / ($41|0))&-1; - HEAP32[$4>>2] = $42; - } - } - } while(0); - $44 = HEAP32[$pStart>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 256|0); - $47 = ((($46)) + 32|0); - HEAP32[$47>>2] = $44; - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 256|0); - $50 = ((($49)) + 28|0); - HEAP32[$50>>2] = 0; - $51 = HEAP32[$3>>2]|0; - $52 = $51&65535; - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 256|0); - $55 = ((($54)) + 4|0); - HEAP16[$55>>1] = $52; - $56 = HEAP32[$pStart>>2]|0; - $57 = ($56|0)!=(0|0); - if ($57) { - $58 = HEAP32[$pStart>>2]|0; - HEAP32[$p>>2] = $58; - $59 = HEAP32[$4>>2]|0; - $60 = (($59) - 1)|0; - HEAP32[$i>>2] = $60; - while(1) { - $61 = HEAP32[$i>>2]|0; - $62 = ($61|0)>=(0); - if (!($62)) { - break; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sqlite3_value_text($33)|0); + HEAP32[$7>>2] = $34; + $35 = ($34|0)==(0|0); + if ($35) { + STACKTOP = sp;return; } - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 256|0); - $65 = ((($64)) + 28|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$p>>2]|0; - HEAP32[$67>>2] = $66; - $68 = HEAP32[$p>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 256|0); - $71 = ((($70)) + 28|0); - HEAP32[$71>>2] = $68; - $72 = HEAP32[$3>>2]|0; - $73 = HEAP32[$p>>2]|0; - $74 = (($73) + ($72)|0); - HEAP32[$p>>2] = $74; - $75 = HEAP32[$i>>2]|0; - $76 = (($75) + -1)|0; - HEAP32[$i>>2] = $76; - } - $77 = HEAP32[$p>>2]|0; - $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 256|0); - $80 = ((($79)) + 36|0); - HEAP32[$80>>2] = $77; - $81 = HEAP32[$1>>2]|0; - $82 = ((($81)) + 256|0); - HEAP32[$82>>2] = 0; - $83 = HEAP32[$2>>2]|0; - $84 = ($83|0)==(0|0); - $85 = $84 ? 1 : 0; - $86 = $85&255; - $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 256|0); - $89 = ((($88)) + 6|0); - HEAP8[$89>>0] = $86; - } else { - $90 = HEAP32[$1>>2]|0; - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 256|0); - $93 = ((($92)) + 32|0); - HEAP32[$93>>2] = $90; - $94 = HEAP32[$1>>2]|0; - $95 = HEAP32[$1>>2]|0; - $96 = ((($95)) + 256|0); - $97 = ((($96)) + 36|0); - HEAP32[$97>>2] = $94; - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 256|0); - HEAP32[$99>>2] = 1; - $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 256|0); - $102 = ((($101)) + 6|0); - HEAP8[$102>>0] = 0; - } - HEAP32[$0>>2] = 0; - $103 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($103|0); -} -function _sqlite3Close($db,$forceZombie) { - $db = $db|0; - $forceZombie = $forceZombie|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $forceZombie; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - HEAP32[$0>>2] = 0; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); - } - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3SafetyCheckSickOrOk($5)|0); - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (_sqlite3MisuseError(138867)|0); - HEAP32[$0>>2] = $8; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); - } - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 76|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 & 8; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 184|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 188|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$1>>2]|0; - (FUNCTION_TABLE_iiiii[$17 & 255](8,$20,$21,0)|0); - } - $22 = HEAP32[$1>>2]|0; - _disconnectAllVtab($22); - $23 = HEAP32[$1>>2]|0; - (_sqlite3VtabRollback($23)|0); - $24 = HEAP32[$2>>2]|0; - $25 = ($24|0)!=(0); - if (!($25)) { - $26 = HEAP32[$1>>2]|0; - $27 = (_connectionIsBusy($26)|0); - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$1>>2]|0; - _sqlite3ErrorWithMsg($29,5,26295,$vararg_buffer); - HEAP32[$0>>2] = 5; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); - } - } - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 84|0); - HEAP32[$31>>2] = 1691352191; - $32 = HEAP32[$1>>2]|0; - _sqlite3LeaveMutexAndCloseZombie($32); - HEAP32[$0>>2] = 0; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); -} -function _sqliteDefaultBusyCallback($ptr,$count) { - $ptr = $ptr|0; - $count = $count|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $timeout = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $db = sp + 4|0; - $timeout = sp; - HEAP32[$1>>2] = $ptr; - HEAP32[$2>>2] = $count; - $3 = HEAP32[$1>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 428|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$timeout>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 1)|0; - $9 = ($8*1000)|0; - $10 = HEAP32[$timeout>>2]|0; - $11 = ($9|0)>($10|0); - if ($11) { - HEAP32[$0>>2] = 0; - $14 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($14|0); - } else { - $12 = HEAP32[$db>>2]|0; - $13 = HEAP32[$12>>2]|0; - (_sqlite3OsSleep($13,1000000)|0); - HEAP32[$0>>2] = 1; - $14 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($14|0); - } - return (0)|0; -} -function _sqlite3CreateFunc($db,$zFunctionName,$nArg,$enc,$pUserData,$xSFunc,$xStep,$xFinal,$pDestructor) { - $db = $db|0; - $zFunctionName = $zFunctionName|0; - $nArg = $nArg|0; - $enc = $enc|0; - $pUserData = $pUserData|0; - $xSFunc = $xSFunc|0; - $xStep = $xStep|0; - $xFinal = $xFinal|0; - $pDestructor = $pDestructor|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $extraFlags = 0, $nName = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond3$not = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond7$not = 0, $or$cond9 = 0, $p = 0; - var $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer = sp; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $5 = sp + 36|0; - $6 = sp + 32|0; - $7 = sp + 28|0; - $8 = sp + 24|0; - $9 = sp + 20|0; - $p = sp + 16|0; - $nName = sp + 12|0; - $extraFlags = sp + 8|0; - $rc = sp + 4|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zFunctionName; - HEAP32[$3>>2] = $nArg; - HEAP32[$4>>2] = $enc; - HEAP32[$5>>2] = $pUserData; - HEAP32[$6>>2] = $xSFunc; - HEAP32[$7>>2] = $xStep; - HEAP32[$8>>2] = $xFinal; - HEAP32[$9>>2] = $pDestructor; - $10 = HEAP32[$2>>2]|0; - $11 = ($10|0)==(0|0); - do { - if (!($11)) { - $12 = HEAP32[$6>>2]|0; - $13 = ($12|0)!=(0|0); - if ($13) { - $14 = HEAP32[$8>>2]|0; - $15 = ($14|0)!=(0|0); - $16 = HEAP32[$7>>2]|0; - $17 = ($16|0)!=(0|0); - $or$cond = $15 | $17; - if ($or$cond) { + $36 = HEAP32[$7>>2]|0; + HEAP32[$14>>2] = $36; + HEAP32[$13>>2] = 0; + while(1) { + $37 = HEAP32[$14>>2]|0; + $38 = HEAP8[$37>>0]|0; + $39 = ($38<<24>>24)!=(0); + if (!($39)) { break; } - } - $18 = HEAP32[$6>>2]|0; - $19 = ($18|0)==(0|0); - $20 = HEAP32[$8>>2]|0; - $21 = ($20|0)!=(0|0); - $or$cond3 = $19 & $21; - $or$cond3$not = $or$cond3 ^ 1; - $22 = HEAP32[$7>>2]|0; - $23 = ($22|0)!=(0|0); - $or$cond5 = $or$cond3$not | $23; - if ($or$cond5) { - $24 = HEAP32[$6>>2]|0; - $25 = ($24|0)!=(0|0); - $26 = HEAP32[$8>>2]|0; - $27 = ($26|0)!=(0|0); - $or$cond7 = $25 | $27; - $or$cond7$not = $or$cond7 ^ 1; - $28 = HEAP32[$7>>2]|0; - $29 = ($28|0)!=(0|0); - $or$cond9 = $or$cond7$not & $29; - $30 = HEAP32[$3>>2]|0; - $31 = ($30|0)<(-1); - $or$cond11 = $or$cond9 | $31; - $32 = HEAP32[$3>>2]|0; - $33 = ($32|0)>(127); - $or$cond13 = $or$cond11 | $33; - if (!($or$cond13)) { - $34 = HEAP32[$2>>2]|0; - $35 = (_sqlite3Strlen30($34)|0); - HEAP32[$nName>>2] = $35; - $36 = (255)<($35|0); - if (!($36)) { - $38 = HEAP32[$4>>2]|0; - $39 = $38 & 2048; - HEAP32[$extraFlags>>2] = $39; - $40 = HEAP32[$4>>2]|0; - $41 = $40 & 7; - HEAP32[$4>>2] = $41; - $42 = HEAP32[$4>>2]|0; - $43 = ($42|0)==(4); - do { - if ($43) { - $44 = HEAP8[968>>0]|0; - $45 = $44 << 24 >> 24; - $46 = ($45|0)==(0); - $47 = $46 ? 3 : 2; - HEAP32[$4>>2] = $47; - } else { - $48 = HEAP32[$4>>2]|0; - $49 = ($48|0)==(5); - if ($49) { - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$2>>2]|0; - $52 = HEAP32[$3>>2]|0; - $53 = HEAP32[$extraFlags>>2]|0; - $54 = 1 | $53; - $55 = HEAP32[$5>>2]|0; - $56 = HEAP32[$6>>2]|0; - $57 = HEAP32[$7>>2]|0; - $58 = HEAP32[$8>>2]|0; - $59 = HEAP32[$9>>2]|0; - $60 = (_sqlite3CreateFunc($50,$51,$52,$54,$55,$56,$57,$58,$59)|0); - HEAP32[$rc>>2] = $60; - $61 = HEAP32[$rc>>2]|0; - $62 = ($61|0)==(0); - if ($62) { - $63 = HEAP32[$1>>2]|0; - $64 = HEAP32[$2>>2]|0; - $65 = HEAP32[$3>>2]|0; - $66 = HEAP32[$extraFlags>>2]|0; - $67 = 2 | $66; - $68 = HEAP32[$5>>2]|0; - $69 = HEAP32[$6>>2]|0; - $70 = HEAP32[$7>>2]|0; - $71 = HEAP32[$8>>2]|0; - $72 = HEAP32[$9>>2]|0; - $73 = (_sqlite3CreateFunc($63,$64,$65,$67,$68,$69,$70,$71,$72)|0); - HEAP32[$rc>>2] = $73; - } - $74 = HEAP32[$rc>>2]|0; - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$4>>2] = 3; - break; - } - $76 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $76; - $147 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($147|0); - } - } - } while(0); - $77 = HEAP32[$1>>2]|0; - $78 = HEAP32[$2>>2]|0; - $79 = HEAP32[$3>>2]|0; - $80 = HEAP32[$4>>2]|0; - $81 = $80&255; - $82 = (_sqlite3FindFunction($77,$78,$79,$81,0)|0); - HEAP32[$p>>2] = $82; - $83 = HEAP32[$p>>2]|0; - $84 = ($83|0)!=(0|0); - do { - if ($84) { - $85 = HEAP32[$p>>2]|0; - $86 = ((($85)) + 2|0); - $87 = HEAP16[$86>>1]|0; - $88 = $87&65535; - $89 = $88 & 3; - $90 = HEAP32[$4>>2]|0; - $91 = ($89|0)==($90|0); - if ($91) { - $92 = HEAP32[$p>>2]|0; - $93 = HEAP8[$92>>0]|0; - $94 = $93 << 24 >> 24; - $95 = HEAP32[$3>>2]|0; - $96 = ($94|0)==($95|0); - if ($96) { - $97 = HEAP32[$1>>2]|0; - $98 = ((($97)) + 156|0); - $99 = HEAP32[$98>>2]|0; - $100 = ($99|0)!=(0); - $101 = HEAP32[$1>>2]|0; - if (!($100)) { - _sqlite3ExpirePreparedStatements($101); - break; - } - _sqlite3ErrorWithMsg($101,5,26232,$vararg_buffer); - HEAP32[$0>>2] = 5; - $147 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($147|0); - } - } + $40 = HEAP32[$14>>2]|0; + $41 = ((($40)) + 1|0); + HEAP32[$14>>2] = $41; + $42 = HEAP8[$40>>0]|0; + $43 = $42&255; + $44 = ($43|0)>=(192); + L16: do { + if ($44) { + while(1) { + $45 = HEAP32[$14>>2]|0; + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = $47 & 192; + $49 = ($48|0)==(128); + if (!($49)) { + break L16; } - } while(0); - $102 = HEAP32[$1>>2]|0; - $103 = HEAP32[$2>>2]|0; - $104 = HEAP32[$3>>2]|0; - $105 = HEAP32[$4>>2]|0; - $106 = $105&255; - $107 = (_sqlite3FindFunction($102,$103,$104,$106,1)|0); - HEAP32[$p>>2] = $107; - $108 = HEAP32[$p>>2]|0; - $109 = ($108|0)!=(0|0); - if (!($109)) { - HEAP32[$0>>2] = 7; - $147 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($147|0); + $50 = HEAP32[$14>>2]|0; + $51 = ((($50)) + 1|0); + HEAP32[$14>>2] = $51; } - $110 = HEAP32[$1>>2]|0; - $111 = HEAP32[$p>>2]|0; - _functionDestroy($110,$111); - $112 = HEAP32[$9>>2]|0; - $113 = ($112|0)!=(0|0); - if ($113) { - $114 = HEAP32[$9>>2]|0; - $115 = HEAP32[$114>>2]|0; - $116 = (($115) + 1)|0; - HEAP32[$114>>2] = $116; - } - $117 = HEAP32[$9>>2]|0; - $118 = HEAP32[$p>>2]|0; - $119 = ((($118)) + 24|0); - HEAP32[$119>>2] = $117; - $120 = HEAP32[$p>>2]|0; - $121 = ((($120)) + 2|0); - $122 = HEAP16[$121>>1]|0; - $123 = $122&65535; - $124 = $123 & 3; - $125 = HEAP32[$extraFlags>>2]|0; - $126 = $124 | $125; - $127 = $126&65535; - $128 = HEAP32[$p>>2]|0; - $129 = ((($128)) + 2|0); - HEAP16[$129>>1] = $127; - $130 = HEAP32[$6>>2]|0; - $131 = ($130|0)!=(0|0); - $132 = HEAP32[$6>>2]|0; - $133 = HEAP32[$7>>2]|0; - $134 = $131 ? $132 : $133; - $135 = HEAP32[$p>>2]|0; - $136 = ((($135)) + 12|0); - HEAP32[$136>>2] = $134; - $137 = HEAP32[$8>>2]|0; - $138 = HEAP32[$p>>2]|0; - $139 = ((($138)) + 16|0); - HEAP32[$139>>2] = $137; - $140 = HEAP32[$5>>2]|0; - $141 = HEAP32[$p>>2]|0; - $142 = ((($141)) + 4|0); - HEAP32[$142>>2] = $140; - $143 = HEAP32[$3>>2]|0; - $144 = $143&65535; - $145 = $144&255; - $146 = HEAP32[$p>>2]|0; - HEAP8[$146>>0] = $145; - HEAP32[$0>>2] = 0; - $147 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($147|0); } - } - } - } - } while(0); - $37 = (_sqlite3MisuseError(139436)|0); - HEAP32[$0>>2] = $37; - $147 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($147|0); -} -function _sqlite3FindFunction($db,$zName,$nArg,$enc,$createFlag) { - $db = $db|0; - $zName = $zName|0; - $nArg = $nArg|0; - $enc = $enc|0; - $createFlag = $createFlag|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bestScore = 0, $h = 0, $nName = 0, $or$cond = 0; - var $p = 0, $pBest = 0, $pOther = 0, $score = 0, $score1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 49|0; - $5 = sp + 48|0; - $p = sp + 28|0; - $pBest = sp + 24|0; - $bestScore = sp + 20|0; - $h = sp + 16|0; - $nName = sp + 12|0; - $score = sp + 8|0; - $score1 = sp + 4|0; - $pOther = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zName; - HEAP32[$3>>2] = $nArg; - HEAP8[$4>>0] = $enc; - HEAP8[$5>>0] = $createFlag; - HEAP32[$pBest>>2] = 0; - HEAP32[$bestScore>>2] = 0; - $6 = HEAP32[$2>>2]|0; - $7 = (_sqlite3Strlen30($6)|0); - HEAP32[$nName>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 348|0); - $10 = HEAP32[$2>>2]|0; - $11 = (_sqlite3HashFind($9,$10)|0); - HEAP32[$p>>2] = $11; - while(1) { - $12 = HEAP32[$p>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - break; - } - $14 = HEAP32[$p>>2]|0; - $15 = HEAP32[$3>>2]|0; - $16 = HEAP8[$4>>0]|0; - $17 = (_matchQuality($14,$15,$16)|0); - HEAP32[$score>>2] = $17; - $18 = HEAP32[$score>>2]|0; - $19 = HEAP32[$bestScore>>2]|0; - $20 = ($18|0)>($19|0); - if ($20) { - $21 = HEAP32[$p>>2]|0; - HEAP32[$pBest>>2] = $21; - $22 = HEAP32[$score>>2]|0; - HEAP32[$bestScore>>2] = $22; - } - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$p>>2] = $25; - } - $26 = HEAP8[$5>>0]|0; - $27 = ($26<<24>>24)!=(0); - L8: do { - if (!($27)) { - $28 = HEAP32[$pBest>>2]|0; - $29 = ($28|0)==(0|0); - if (!($29)) { - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 24|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 & 2097152; - $34 = ($33|0)!=(0); - if (!($34)) { - break; - } + } while(0); + $52 = HEAP32[$13>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$13>>2] = $53; } - HEAP32[$bestScore>>2] = 0; - $35 = HEAP32[$2>>2]|0; - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = (17613 + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = HEAP32[$nName>>2]|0; - $42 = (($40) + ($41))|0; - $43 = (($42|0) % 23)&-1; - HEAP32[$h>>2] = $43; - $44 = HEAP32[$h>>2]|0; - $45 = HEAP32[$2>>2]|0; - $46 = (_functionSearch($44,$45)|0); - HEAP32[$p>>2] = $46; - while(1) { - $47 = HEAP32[$p>>2]|0; - $48 = ($47|0)!=(0|0); - if (!($48)) { - break L8; + $54 = HEAP32[$13>>2]|0; + $55 = ($54|0)>(0); + if ($55) { + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$13>>2]|0; + $58 = ($57|0)<(0); + $59 = $58 << 31 >> 31; + $60 = (___muldi3(($57|0),($59|0),5,0)|0); + $61 = tempRet0; + $62 = (_contextMalloc($56,$60,$61)|0); + HEAP32[$12>>2] = $62; + $63 = HEAP32[$12>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + STACKTOP = sp;return; } - $49 = HEAP32[$p>>2]|0; - $50 = HEAP32[$3>>2]|0; - $51 = HEAP8[$4>>0]|0; - $52 = (_matchQuality($49,$50,$51)|0); - HEAP32[$score1>>2] = $52; - $53 = HEAP32[$score1>>2]|0; - $54 = HEAP32[$bestScore>>2]|0; - $55 = ($53|0)>($54|0); - if ($55) { - $56 = HEAP32[$p>>2]|0; - HEAP32[$pBest>>2] = $56; - $57 = HEAP32[$score1>>2]|0; - HEAP32[$bestScore>>2] = $57; + $65 = HEAP32[$12>>2]|0; + $66 = HEAP32[$13>>2]|0; + $67 = (($65) + ($66<<2)|0); + HEAP32[$11>>2] = $67; + $68 = HEAP32[$7>>2]|0; + HEAP32[$14>>2] = $68; + HEAP32[$13>>2] = 0; + while(1) { + $69 = HEAP32[$14>>2]|0; + $70 = HEAP8[$69>>0]|0; + $71 = ($70<<24>>24)!=(0); + if (!($71)) { + break L7; + } + $72 = HEAP32[$14>>2]|0; + $73 = HEAP32[$12>>2]|0; + $74 = HEAP32[$13>>2]|0; + $75 = (($73) + ($74<<2)|0); + HEAP32[$75>>2] = $72; + $76 = HEAP32[$14>>2]|0; + $77 = ((($76)) + 1|0); + HEAP32[$14>>2] = $77; + $78 = HEAP8[$76>>0]|0; + $79 = $78&255; + $80 = ($79|0)>=(192); + L29: do { + if ($80) { + while(1) { + $81 = HEAP32[$14>>2]|0; + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 & 192; + $85 = ($84|0)==(128); + if (!($85)) { + break L29; + } + $86 = HEAP32[$14>>2]|0; + $87 = ((($86)) + 1|0); + HEAP32[$14>>2] = $87; + } + } + } while(0); + $88 = HEAP32[$14>>2]|0; + $89 = HEAP32[$12>>2]|0; + $90 = HEAP32[$13>>2]|0; + $91 = (($89) + ($90<<2)|0); + $92 = HEAP32[$91>>2]|0; + $93 = $88; + $94 = $92; + $95 = (($93) - ($94))|0; + $96 = $95&255; + $97 = HEAP32[$11>>2]|0; + $98 = HEAP32[$13>>2]|0; + $99 = (($97) + ($98)|0); + HEAP8[$99>>0] = $96; + $100 = HEAP32[$13>>2]|0; + $101 = (($100) + 1)|0; + HEAP32[$13>>2] = $101; } - $58 = HEAP32[$p>>2]|0; - $59 = ((($58)) + 8|0); - $60 = HEAP32[$59>>2]|0; - HEAP32[$p>>2] = $60; } } } while(0); - $61 = HEAP8[$5>>0]|0; - $62 = $61&255; - $63 = ($62|0)!=(0); - $64 = HEAP32[$bestScore>>2]|0; - $65 = ($64|0)<(6); - $or$cond = $63 & $65; - do { - if ($or$cond) { - $66 = HEAP32[$1>>2]|0; - $67 = HEAP32[$nName>>2]|0; - $68 = (28 + ($67))|0; - $69 = (($68) + 1)|0; - $70 = (_sqlite3DbMallocZero($66,$69,0)|0); - HEAP32[$pBest>>2] = $70; - $71 = ($70|0)!=(0|0); - if ($71) { - $72 = HEAP32[$pBest>>2]|0; - $73 = ((($72)) + 28|0); - $74 = HEAP32[$pBest>>2]|0; - $75 = ((($74)) + 20|0); - HEAP32[$75>>2] = $73; - $76 = HEAP32[$3>>2]|0; - $77 = $76&65535; - $78 = $77&255; - $79 = HEAP32[$pBest>>2]|0; - HEAP8[$79>>0] = $78; - $80 = HEAP8[$4>>0]|0; - $81 = $80&255; - $82 = HEAP32[$pBest>>2]|0; - $83 = ((($82)) + 2|0); - HEAP16[$83>>1] = $81; - $84 = HEAP32[$pBest>>2]|0; - $85 = ((($84)) + 28|0); - $86 = HEAP32[$2>>2]|0; - $87 = HEAP32[$nName>>2]|0; - $88 = (($87) + 1)|0; - _memcpy(($85|0),($86|0),($88|0))|0; - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 348|0); - $91 = HEAP32[$pBest>>2]|0; - $92 = ((($91)) + 20|0); - $93 = HEAP32[$92>>2]|0; - $94 = HEAP32[$pBest>>2]|0; - $95 = (_sqlite3HashInsert($90,$93,$94)|0); - HEAP32[$pOther>>2] = $95; - $96 = HEAP32[$pOther>>2]|0; - $97 = HEAP32[$pBest>>2]|0; - $98 = ($96|0)==($97|0); - if (!($98)) { - $102 = HEAP32[$pOther>>2]|0; - $103 = HEAP32[$pBest>>2]|0; - $104 = ((($103)) + 8|0); - HEAP32[$104>>2] = $102; - break; + $102 = HEAP32[$13>>2]|0; + $103 = ($102|0)>(0); + if ($103) { + $104 = HEAP32[$3>>2]|0; + $105 = (_sqlite3_user_data($104)|0); + $106 = $105; + HEAP32[$9>>2] = $106; + $107 = HEAP32[$9>>2]|0; + $108 = $107 & 1; + $109 = ($108|0)!=(0); + $110 = HEAP32[$8>>2]|0; + $111 = ($110|0)>(0); + $or$cond = $109 & $111; + L37: do { + if ($or$cond) { + while(1) { + HEAP32[$15>>2] = 0; + HEAP32[$10>>2] = 0; + while(1) { + $112 = HEAP32[$10>>2]|0; + $113 = HEAP32[$13>>2]|0; + $114 = ($112|0)<($113|0); + if (!($114)) { + break; + } + $115 = HEAP32[$11>>2]|0; + $116 = HEAP32[$10>>2]|0; + $117 = (($115) + ($116)|0); + $118 = HEAP8[$117>>0]|0; + $119 = $118&255; + HEAP32[$15>>2] = $119; + $120 = HEAP32[$15>>2]|0; + $121 = HEAP32[$8>>2]|0; + $122 = ($120|0)<=($121|0); + if ($122) { + $123 = HEAP32[$6>>2]|0; + $124 = HEAP32[$12>>2]|0; + $125 = HEAP32[$10>>2]|0; + $126 = (($124) + ($125<<2)|0); + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$15>>2]|0; + $129 = (_memcmp($123,$127,$128)|0); + $130 = ($129|0)==(0); + if ($130) { + break; + } + } + $131 = HEAP32[$10>>2]|0; + $132 = (($131) + 1)|0; + HEAP32[$10>>2] = $132; + } + $133 = HEAP32[$10>>2]|0; + $134 = HEAP32[$13>>2]|0; + $135 = ($133|0)>=($134|0); + if ($135) { + break L37; + } + $136 = HEAP32[$15>>2]|0; + $137 = HEAP32[$6>>2]|0; + $138 = (($137) + ($136)|0); + HEAP32[$6>>2] = $138; + $139 = HEAP32[$15>>2]|0; + $140 = HEAP32[$8>>2]|0; + $141 = (($140) - ($139))|0; + HEAP32[$8>>2] = $141; + $$old = HEAP32[$8>>2]|0; + $$old1 = ($$old|0)>(0); + if (!($$old1)) { + break; + } } - $99 = HEAP32[$1>>2]|0; - $100 = HEAP32[$pBest>>2]|0; - _sqlite3DbFree($99,$100); - $101 = HEAP32[$1>>2]|0; - _sqlite3OomFault($101); - HEAP32[$0>>2] = 0; - $115 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($115|0); } - } - } while(0); - $105 = HEAP32[$pBest>>2]|0; - $106 = ($105|0)!=(0|0); - do { - if ($106) { - $107 = HEAP32[$pBest>>2]|0; - $108 = ((($107)) + 12|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($109|0)!=(0|0); - if (!($110)) { - $111 = HEAP8[$5>>0]|0; - $112 = $111&255; - $113 = ($112|0)!=(0); - if (!($113)) { - break; + } while(0); + $142 = HEAP32[$9>>2]|0; + $143 = $142 & 2; + $144 = ($143|0)!=(0); + $145 = HEAP32[$8>>2]|0; + $146 = ($145|0)>(0); + $or$cond4 = $144 & $146; + L49: do { + if ($or$cond4) { + while(1) { + HEAP32[$16>>2] = 0; + HEAP32[$10>>2] = 0; + while(1) { + $147 = HEAP32[$10>>2]|0; + $148 = HEAP32[$13>>2]|0; + $149 = ($147|0)<($148|0); + if (!($149)) { + break; + } + $150 = HEAP32[$11>>2]|0; + $151 = HEAP32[$10>>2]|0; + $152 = (($150) + ($151)|0); + $153 = HEAP8[$152>>0]|0; + $154 = $153&255; + HEAP32[$16>>2] = $154; + $155 = HEAP32[$16>>2]|0; + $156 = HEAP32[$8>>2]|0; + $157 = ($155|0)<=($156|0); + if ($157) { + $158 = HEAP32[$6>>2]|0; + $159 = HEAP32[$8>>2]|0; + $160 = HEAP32[$16>>2]|0; + $161 = (($159) - ($160))|0; + $162 = (($158) + ($161)|0); + $163 = HEAP32[$12>>2]|0; + $164 = HEAP32[$10>>2]|0; + $165 = (($163) + ($164<<2)|0); + $166 = HEAP32[$165>>2]|0; + $167 = HEAP32[$16>>2]|0; + $168 = (_memcmp($162,$166,$167)|0); + $169 = ($168|0)==(0); + if ($169) { + break; + } + } + $170 = HEAP32[$10>>2]|0; + $171 = (($170) + 1)|0; + HEAP32[$10>>2] = $171; + } + $172 = HEAP32[$10>>2]|0; + $173 = HEAP32[$13>>2]|0; + $174 = ($172|0)>=($173|0); + if ($174) { + break L49; + } + $175 = HEAP32[$16>>2]|0; + $176 = HEAP32[$8>>2]|0; + $177 = (($176) - ($175))|0; + HEAP32[$8>>2] = $177; + $$old2 = HEAP32[$8>>2]|0; + $$old3 = ($$old2|0)>(0); + if (!($$old3)) { + break; + } } } - $114 = HEAP32[$pBest>>2]|0; - HEAP32[$0>>2] = $114; - $115 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($115|0); + } while(0); + $178 = HEAP32[$7>>2]|0; + $179 = ($178|0)!=(0|0); + if ($179) { + $180 = HEAP32[$12>>2]|0; + _sqlite3_free($180); } - } while(0); - HEAP32[$0>>2] = 0; - $115 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($115|0); -} -function _sqlite3InvalidFunction($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $zErr = 0, $zName = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $zName = sp + 8|0; - $zErr = sp + 4|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$zName>>2] = $7; - $8 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer>>2] = $8; - $9 = (_sqlite3_mprintf(26181,$vararg_buffer)|0); - HEAP32[$zErr>>2] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$zErr>>2]|0; - _sqlite3_result_error($10,$11,-1); - $12 = HEAP32[$zErr>>2]|0; - _sqlite3_free($12); - STACKTOP = sp;return; -} -function _sqlite3WalDefaultHook($pClientData,$db,$zDb,$nFrame) { - $pClientData = $pClientData|0; - $db = $db|0; - $zDb = $zDb|0; - $nFrame = $nFrame|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pClientData; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zDb; - HEAP32[$3>>2] = $nFrame; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = $5; - $7 = ($4|0)>=($6|0); - if (!($7)) { - STACKTOP = sp;return 0; } - _sqlite3BeginBenignMalloc(); - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - (_sqlite3_wal_checkpoint($8,$9)|0); - _sqlite3EndBenignMalloc(); - STACKTOP = sp;return 0; + $181 = HEAP32[$3>>2]|0; + $182 = HEAP32[$6>>2]|0; + $183 = HEAP32[$8>>2]|0; + _sqlite3_result_text($181,$182,$183,(-1)); + STACKTOP = sp;return; } -function _sqlite3FindDbName($db,$zName) { - $db = $db|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pDb = 0, label = 0, sp = 0; +function _minmaxFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $i = sp + 4|0; - $pDb = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zName; - HEAP32[$i>>2] = -1; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $24 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($24|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = (_sqlite3_user_data($10)|0); + $12 = ($11|0)==(0|0); + $13 = $12 ? 0 : -1; + HEAP32[$7>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = (_sqlite3GetFuncCollSeq($14)|0); + HEAP32[$9>>2] = $15; + HEAP32[$8>>2] = 0; + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3_value_type($17)|0); + $19 = ($18|0)==(5); + if ($19) { + STACKTOP = sp;return; } - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) - 1)|0; - HEAP32[$i>>2] = $7; - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + ($8<<4)|0); - HEAP32[$pDb>>2] = $12; + HEAP32[$6>>2] = 1; while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = ($13|0)>=(0); - if (!($14)) { - label = 6; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = ($20|0)<($21|0); + if (!($22)) { break; } - $15 = HEAP32[$pDb>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = (_sqlite3StrICmp($16,$17)|0); - $19 = (0)==($18|0); - if ($19) { - label = 6; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = (($23) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3_value_type($26)|0); + $28 = ($27|0)==(5); + if ($28) { + label = 9; break; } - $20 = HEAP32[$i>>2]|0; - $21 = (($20) + -1)|0; - HEAP32[$i>>2] = $21; - $22 = HEAP32[$pDb>>2]|0; - $23 = ((($22)) + -16|0); - HEAP32[$pDb>>2] = $23; + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$8>>2]|0; + $31 = (($29) + ($30<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = (($33) + ($34<<2)|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$9>>2]|0; + $38 = (_sqlite3MemCompare($32,$36,$37)|0); + $39 = HEAP32[$7>>2]|0; + $40 = $38 ^ $39; + $41 = ($40|0)>=(0); + if ($41) { + $42 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $42; + } + $43 = HEAP32[$6>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$6>>2] = $44; } - if ((label|0) == 6) { - $24 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($24|0); + if ((label|0) == 9) { + STACKTOP = sp;return; } - return (0)|0; + $45 = HEAP32[$3>>2]|0; + $46 = HEAP32[$5>>2]|0; + $47 = HEAP32[$8>>2]|0; + $48 = (($46) + ($47<<2)|0); + $49 = HEAP32[$48>>2]|0; + _sqlite3_result_value($45,$49); + STACKTOP = sp;return; } -function _sqlite3Checkpoint($db,$iDb,$eMode,$pnLog,$pnCkpt) { - $db = $db|0; - $iDb = $iDb|0; - $eMode = $eMode|0; - $pnLog = $pnLog|0; - $pnCkpt = $pnCkpt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bBusy = 0; - var $i = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, label = 0, sp = 0; +function _minmaxStep($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $rc = sp + 8|0; - $i = sp + 4|0; - $bBusy = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $iDb; - HEAP32[$2>>2] = $eMode; - HEAP32[$3>>2] = $pnLog; - HEAP32[$4>>2] = $pnCkpt; - HEAP32[$rc>>2] = 0; - HEAP32[$bBusy>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($5|0)<($8|0); - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - $12 = $9 ? $11 : 0; - if (!($12)) { - break; - } - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ($13|0)==($14|0); - $16 = HEAP32[$1>>2]|0; - $17 = ($16|0)==(10); - $or$cond = $15 | $17; - if ($or$cond) { - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 16|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($18<<4)|0); - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$3>>2]|0; - $27 = HEAP32[$4>>2]|0; - $28 = (_sqlite3BtreeCheckpoint($24,$25,$26,$27)|0); - HEAP32[$rc>>2] = $28; - HEAP32[$3>>2] = 0; - HEAP32[$4>>2] = 0; - $29 = HEAP32[$rc>>2]|0; - $30 = ($29|0)==(5); - if ($30) { - HEAP32[$bBusy>>2] = 1; - HEAP32[$rc>>2] = 0; - } + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = (_sqlite3_aggregate_context($13,40)|0); + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { + STACKTOP = sp;return; + } + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3_value_type($18)|0); + $20 = ($19|0)==(5); + $21 = HEAP32[$7>>2]|0; + $22 = ((($21)) + 8|0); + $23 = HEAP16[$22>>1]|0; + $24 = ($23<<16>>16)!=(0); + if ($20) { + if (!($24)) { + STACKTOP = sp;return; } - $31 = HEAP32[$i>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$i>>2] = $32; + $25 = HEAP32[$3>>2]|0; + _sqlite3SkipAccumulatorLoad($25); + STACKTOP = sp;return; } - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)==(0); - $35 = HEAP32[$bBusy>>2]|0; - $36 = ($35|0)!=(0); - $or$cond3 = $34 & $36; - $37 = HEAP32[$rc>>2]|0; - $38 = $or$cond3 ? 5 : $37; - STACKTOP = sp;return ($38|0); + $26 = HEAP32[$3>>2]|0; + if (!($24)) { + $47 = (_sqlite3_context_db_handle($26)|0); + $48 = HEAP32[$7>>2]|0; + $49 = ((($48)) + 32|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$7>>2]|0; + $51 = HEAP32[$6>>2]|0; + (_sqlite3VdbeMemCopy($50,$51)|0); + STACKTOP = sp;return; + } + $27 = (_sqlite3GetFuncCollSeq($26)|0); + HEAP32[$10>>2] = $27; + $28 = HEAP32[$3>>2]|0; + $29 = (_sqlite3_user_data($28)|0); + $30 = ($29|0)!=(0|0); + $31 = $30&1; + HEAP32[$8>>2] = $31; + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = HEAP32[$10>>2]|0; + $35 = (_sqlite3MemCompare($32,$33,$34)|0); + HEAP32[$9>>2] = $35; + $36 = HEAP32[$8>>2]|0; + $37 = ($36|0)!=(0); + $38 = HEAP32[$9>>2]|0; + $39 = ($38|0)<(0); + $or$cond = $37 & $39; + if (!($or$cond)) { + $40 = HEAP32[$8>>2]|0; + $41 = ($40|0)==(0); + $42 = HEAP32[$9>>2]|0; + $43 = ($42|0)>(0); + $or$cond3 = $41 & $43; + if (!($or$cond3)) { + $46 = HEAP32[$3>>2]|0; + _sqlite3SkipAccumulatorLoad($46); + STACKTOP = sp;return; + } + } + $44 = HEAP32[$7>>2]|0; + $45 = HEAP32[$6>>2]|0; + (_sqlite3VdbeMemCopy($44,$45)|0); + STACKTOP = sp;return; } -function _sqlite3OomClear($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _minMaxFinalize($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 69|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(0); - if (!($5)) { + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_aggregate_context($3,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { STACKTOP = sp;return; } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 168|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if (!($9)) { - STACKTOP = sp;return; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP16[$8>>1]|0; + $10 = ($9<<16>>16)!=(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = HEAP32[$2>>2]|0; + _sqlite3_result_value($11,$12); } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 69|0); - HEAP8[$11>>0] = 0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 248|0); - HEAP32[$13>>2] = 0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 256|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + -1)|0; - HEAP32[$15>>2] = $17; + $13 = HEAP32[$2>>2]|0; + _sqlite3VdbeMemRelease($13); STACKTOP = sp;return; } -function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { - $zFilename = $zFilename|0; - $ppDb = $ppDb|0; - $flags = $flags|0; - $zVfs = $zVfs|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $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 $db = 0, $isThreadsafe = 0, $or$cond = 0, $rc = 0, $vararg_buffer = 0, $zErrMsg = 0, $zOpen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _typeofFunc($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; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $db = sp + 20|0; - $rc = sp + 16|0; - $isThreadsafe = sp + 12|0; - $zOpen = sp + 8|0; - $zErrMsg = sp + 4|0; - HEAP32[$1>>2] = $zFilename; - HEAP32[$2>>2] = $ppDb; - HEAP32[$3>>2] = $flags; - HEAP32[$4>>2] = $zVfs; - HEAP32[$zOpen>>2] = 0; - HEAP32[$zErrMsg>>2] = 0; - $5 = HEAP32[$2>>2]|0; - HEAP32[$5>>2] = 0; - $6 = (_sqlite3_initialize()|0); - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)!=(0); - if ($8) { - $9 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $9; - $239 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($239|0); + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $7 = HEAP32[$5>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_type($8)|0); + switch ($9|0) { + case 1: { + HEAP32[$6>>2] = 22992; + break; + } + case 3: { + HEAP32[$6>>2] = 23000; + break; + } + case 2: { + HEAP32[$6>>2] = 23005; + break; + } + case 4: { + HEAP32[$6>>2] = 23010; + break; + } + default: { + HEAP32[$6>>2] = 23015; + } } $10 = HEAP32[$3>>2]|0; - $11 = $10 & 7; - $12 = 1 << $11; - $13 = $12 & 70; - $14 = ($13|0)==(0); - if ($14) { - $15 = (_sqlite3MisuseError(140621)|0); - HEAP32[$0>>2] = $15; - $239 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($239|0); + $11 = HEAP32[$6>>2]|0; + _sqlite3_result_text($10,$11,-1,0); + STACKTOP = sp;return; +} +function _lengthFunc($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3_value_type($9)|0); + switch ($10|0) { + case 2: case 1: case 4: { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3_value_bytes($13)|0); + _sqlite3_result_int($11,$14); + STACKTOP = sp;return; + break; } - $16 = HEAP32[(12)>>2]|0; - $17 = ($16|0)==(0); - do { - if ($17) { - HEAP32[$isThreadsafe>>2] = 0; - } else { - $18 = HEAP32[$3>>2]|0; - $19 = $18 & 32768; - $20 = ($19|0)!=(0); - if ($20) { - HEAP32[$isThreadsafe>>2] = 0; - break; - } - $21 = HEAP32[$3>>2]|0; - $22 = $21 & 65536; - $23 = ($22|0)!=(0); - if ($23) { - HEAP32[$isThreadsafe>>2] = 1; - break; - } else { - $24 = HEAP32[(16)>>2]|0; - HEAP32[$isThreadsafe>>2] = $24; + case 3: { + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_text($16)|0); + HEAP32[$7>>2] = $17; + $18 = HEAP32[$7>>2]|0; + $19 = ($18|0)==(0|0); + if ($19) { + STACKTOP = sp;return; + } + HEAP32[$6>>2] = 0; + L10: while(1) { + $20 = HEAP32[$7>>2]|0; + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)!=(0); + if (!($22)) { break; } - } - } while(0); - $25 = HEAP32[$3>>2]|0; - $26 = $25 & 262144; - $27 = ($26|0)!=(0); - if ($27) { - $28 = HEAP32[$3>>2]|0; - $29 = $28 & -131073; - HEAP32[$3>>2] = $29; - } else { - $30 = HEAP32[(228)>>2]|0; - $31 = ($30|0)!=(0); - if ($31) { - $32 = HEAP32[$3>>2]|0; - $33 = $32 | 131072; - HEAP32[$3>>2] = $33; - } - } - $34 = HEAP32[$3>>2]|0; - $35 = $34 & -655129; - HEAP32[$3>>2] = $35; - $36 = (_sqlite3MallocZero(464,0)|0); - HEAP32[$db>>2] = $36; - $37 = HEAP32[$db>>2]|0; - $38 = ($37|0)==(0|0); - do { - if (!($38)) { - $39 = HEAP32[$isThreadsafe>>2]|0; - $40 = ($39|0)!=(0); - if ($40) { - $41 = HEAP32[$db>>2]|0; - $42 = ((($41)) + 12|0); - HEAP32[$42>>2] = (8); - $43 = HEAP32[$db>>2]|0; - $44 = ((($43)) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(0|0); - if ($46) { - $47 = HEAP32[$db>>2]|0; - _sqlite3_free($47); - HEAP32[$db>>2] = 0; - break; - } + $23 = HEAP32[$6>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$6>>2] = $24; + $25 = HEAP32[$7>>2]|0; + $26 = ((($25)) + 1|0); + HEAP32[$7>>2] = $26; + $27 = HEAP8[$25>>0]|0; + $28 = $27&255; + $29 = ($28|0)>=(192); + if (!($29)) { + continue; } - $48 = HEAP32[$db>>2]|0; - $49 = ((($48)) + 56|0); - HEAP32[$49>>2] = 255; - $50 = HEAP32[$db>>2]|0; - $51 = ((($50)) + 20|0); - HEAP32[$51>>2] = 2; - $52 = HEAP32[$db>>2]|0; - $53 = ((($52)) + 84|0); - HEAP32[$53>>2] = -264537850; - $54 = HEAP32[$db>>2]|0; - $55 = ((($54)) + 392|0); - $56 = HEAP32[$db>>2]|0; - $57 = ((($56)) + 16|0); - HEAP32[$57>>2] = $55; - $58 = HEAP32[$db>>2]|0; - $59 = ((($58)) + 96|0); - dest=$59; src=1580; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $60 = HEAP32[$db>>2]|0; - $61 = ((($60)) + 96|0); - $62 = ((($61)) + 44|0); - HEAP32[$62>>2] = 0; - $63 = HEAP32[$db>>2]|0; - $64 = ((($63)) + 67|0); - HEAP8[$64>>0] = 1; - $65 = HEAP32[$db>>2]|0; - $66 = ((($65)) + 72|0); - HEAP8[$66>>0] = -1; - $67 = (184); - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$db>>2]|0; - $74 = ((($73)) + 40|0); - $75 = $74; - $76 = $75; - HEAP32[$76>>2] = $69; - $77 = (($75) + 4)|0; - $78 = $77; - HEAP32[$78>>2] = $72; - $79 = HEAP32[$db>>2]|0; - $80 = ((($79)) + 80|0); - HEAP32[$80>>2] = 0; - $81 = HEAP32[$db>>2]|0; - $82 = ((($81)) + 144|0); - HEAP32[$82>>2] = 2147483647; - $83 = HEAP32[$db>>2]|0; - $84 = ((($83)) + 24|0); - $85 = HEAP32[$84>>2]|0; - $86 = $85 | 17825888; - HEAP32[$84>>2] = $86; - $87 = HEAP32[$db>>2]|0; - $88 = ((($87)) + 364|0); - _sqlite3HashInit($88); - $89 = HEAP32[$db>>2]|0; - $90 = ((($89)) + 320|0); - _sqlite3HashInit($90); - $91 = HEAP32[$db>>2]|0; - (_createCollation($91,34834,1,0,141,0)|0); - $92 = HEAP32[$db>>2]|0; - (_createCollation($92,34834,3,0,141,0)|0); - $93 = HEAP32[$db>>2]|0; - (_createCollation($93,34834,2,0,141,0)|0); - $94 = HEAP32[$db>>2]|0; - (_createCollation($94,20429,1,0,142,0)|0); - $95 = HEAP32[$db>>2]|0; - (_createCollation($95,20436,1,(1),141,0)|0); - $96 = HEAP32[$db>>2]|0; - $97 = ((($96)) + 69|0); - $98 = HEAP8[$97>>0]|0; - $99 = ($98<<24>>24)!=(0); - if (!($99)) { - $100 = HEAP32[$db>>2]|0; - $101 = (_sqlite3FindCollSeq($100,1,34834,0)|0); - $102 = HEAP32[$db>>2]|0; - $103 = ((($102)) + 8|0); - HEAP32[$103>>2] = $101; - $104 = HEAP32[$3>>2]|0; - $105 = HEAP32[$db>>2]|0; - $106 = ((($105)) + 48|0); - HEAP32[$106>>2] = $104; - $107 = HEAP32[$4>>2]|0; - $108 = HEAP32[$1>>2]|0; - $109 = HEAP32[$db>>2]|0; - $110 = (_sqlite3ParseUri($107,$108,$3,$109,$zOpen,$zErrMsg)|0); - HEAP32[$rc>>2] = $110; - $111 = HEAP32[$rc>>2]|0; - $112 = ($111|0)!=(0); - if ($112) { - $113 = HEAP32[$rc>>2]|0; - $114 = ($113|0)==(7); - if ($114) { - $115 = HEAP32[$db>>2]|0; - _sqlite3OomFault($115); - } - $116 = HEAP32[$db>>2]|0; - $117 = HEAP32[$rc>>2]|0; - $118 = HEAP32[$zErrMsg>>2]|0; - $119 = ($118|0)!=(0|0); - $120 = $119 ? 18391 : 0; - $121 = HEAP32[$zErrMsg>>2]|0; - HEAP32[$vararg_buffer>>2] = $121; - _sqlite3ErrorWithMsg($116,$117,$120,$vararg_buffer); - $122 = HEAP32[$zErrMsg>>2]|0; - _sqlite3_free($122); - break; - } - $123 = HEAP32[$db>>2]|0; - $124 = HEAP32[$123>>2]|0; - $125 = HEAP32[$zOpen>>2]|0; - $126 = HEAP32[$db>>2]|0; - $127 = HEAP32[$db>>2]|0; - $128 = ((($127)) + 16|0); - $129 = HEAP32[$128>>2]|0; - $130 = ((($129)) + 4|0); - $131 = HEAP32[$3>>2]|0; - $132 = $131 | 256; - $133 = (_sqlite3BtreeOpen($124,$125,$126,$130,0,$132)|0); - HEAP32[$rc>>2] = $133; - $134 = HEAP32[$rc>>2]|0; - $135 = ($134|0)!=(0); - if ($135) { - $136 = HEAP32[$rc>>2]|0; - $137 = ($136|0)==(3082); - if ($137) { - HEAP32[$rc>>2] = 7; - } - $138 = HEAP32[$db>>2]|0; - $139 = HEAP32[$rc>>2]|0; - _sqlite3Error($138,$139); - break; - } - $140 = HEAP32[$db>>2]|0; - $141 = ((($140)) + 16|0); - $142 = HEAP32[$141>>2]|0; - $143 = ((($142)) + 4|0); - $144 = HEAP32[$143>>2]|0; - _sqlite3BtreeEnter($144); - $145 = HEAP32[$db>>2]|0; - $146 = HEAP32[$db>>2]|0; - $147 = ((($146)) + 16|0); - $148 = HEAP32[$147>>2]|0; - $149 = ((($148)) + 4|0); - $150 = HEAP32[$149>>2]|0; - $151 = (_sqlite3SchemaGet($145,$150)|0); - $152 = HEAP32[$db>>2]|0; - $153 = ((($152)) + 16|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($154)) + 12|0); - HEAP32[$155>>2] = $151; - $156 = HEAP32[$db>>2]|0; - $157 = ((($156)) + 69|0); - $158 = HEAP8[$157>>0]|0; - $159 = ($158<<24>>24)!=(0); - if (!($159)) { - $160 = HEAP32[$db>>2]|0; - $161 = ((($160)) + 16|0); - $162 = HEAP32[$161>>2]|0; - $163 = ((($162)) + 12|0); - $164 = HEAP32[$163>>2]|0; - $165 = ((($164)) + 77|0); - $166 = HEAP8[$165>>0]|0; - $167 = HEAP32[$db>>2]|0; - $168 = ((($167)) + 66|0); - HEAP8[$168>>0] = $166; - } - $169 = HEAP32[$db>>2]|0; - $170 = (_sqlite3SchemaGet($169,0)|0); - $171 = HEAP32[$db>>2]|0; - $172 = ((($171)) + 16|0); - $173 = HEAP32[$172>>2]|0; - $174 = ((($173)) + 16|0); - $175 = ((($174)) + 12|0); - HEAP32[$175>>2] = $170; - $176 = HEAP32[$db>>2]|0; - $177 = ((($176)) + 16|0); - $178 = HEAP32[$177>>2]|0; - HEAP32[$178>>2] = 20442; - $179 = HEAP32[$db>>2]|0; - $180 = ((($179)) + 16|0); - $181 = HEAP32[$180>>2]|0; - $182 = ((($181)) + 8|0); - HEAP8[$182>>0] = 3; - $183 = HEAP32[$db>>2]|0; - $184 = ((($183)) + 16|0); - $185 = HEAP32[$184>>2]|0; - $186 = ((($185)) + 16|0); - HEAP32[$186>>2] = 18672; - $187 = HEAP32[$db>>2]|0; - $188 = ((($187)) + 16|0); - $189 = HEAP32[$188>>2]|0; - $190 = ((($189)) + 16|0); - $191 = ((($190)) + 8|0); - HEAP8[$191>>0] = 1; - $192 = HEAP32[$db>>2]|0; - $193 = ((($192)) + 84|0); - HEAP32[$193>>2] = -1607883113; - $194 = HEAP32[$db>>2]|0; - $195 = ((($194)) + 69|0); - $196 = HEAP8[$195>>0]|0; - $197 = ($196<<24>>24)!=(0); - if (!($197)) { - $198 = HEAP32[$db>>2]|0; - _sqlite3Error($198,0); - $199 = HEAP32[$db>>2]|0; - _sqlite3RegisterPerConnectionBuiltinFunctions($199); - $200 = HEAP32[$db>>2]|0; - $201 = (_sqlite3_errcode($200)|0); - HEAP32[$rc>>2] = $201; - $202 = HEAP32[$rc>>2]|0; - $203 = ($202|0)==(0); - if ($203) { - $204 = HEAP32[$db>>2]|0; - _sqlite3AutoLoadExtensions($204); - $205 = HEAP32[$db>>2]|0; - $206 = (_sqlite3_errcode($205)|0); - HEAP32[$rc>>2] = $206; - $207 = HEAP32[$rc>>2]|0; - $208 = ($207|0)!=(0); - if ($208) { - break; - } - } - $209 = HEAP32[$db>>2]|0; - $210 = ((($209)) + 69|0); - $211 = HEAP8[$210>>0]|0; - $212 = ($211<<24>>24)==(0); - $213 = HEAP32[$rc>>2]|0; - $214 = ($213|0)==(0); - $or$cond = $212 & $214; - if ($or$cond) { - $215 = HEAP32[$db>>2]|0; - $216 = (_sqlite3Fts3Init($215)|0); - HEAP32[$rc>>2] = $216; - } - $217 = HEAP32[$rc>>2]|0; - $218 = ($217|0)!=(0); - if ($218) { - $219 = HEAP32[$db>>2]|0; - $220 = HEAP32[$rc>>2]|0; - _sqlite3Error($219,$220); - } - $221 = HEAP32[$db>>2]|0; - $222 = HEAP32[(36)>>2]|0; - $223 = HEAP32[(40)>>2]|0; - (_setupLookaside($221,0,$222,$223)|0); - $224 = HEAP32[$db>>2]|0; - (_sqlite3_wal_autocheckpoint($224,1000)|0); + while(1) { + $30 = HEAP32[$7>>2]|0; + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 & 192; + $34 = ($33|0)==(128); + if (!($34)) { + continue L10; } + $35 = HEAP32[$7>>2]|0; + $36 = ((($35)) + 1|0); + HEAP32[$7>>2] = $36; } } - } while(0); - $225 = HEAP32[$db>>2]|0; - $226 = (_sqlite3_errcode($225)|0); - HEAP32[$rc>>2] = $226; - $227 = HEAP32[$rc>>2]|0; - $228 = ($227|0)==(7); - if ($228) { - $229 = HEAP32[$db>>2]|0; - (_sqlite3_close($229)|0); - HEAP32[$db>>2] = 0; - } else { - $230 = HEAP32[$rc>>2]|0; - $231 = ($230|0)!=(0); - if ($231) { - $232 = HEAP32[$db>>2]|0; - $233 = ((($232)) + 84|0); - HEAP32[$233>>2] = 1266094736; - } + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$6>>2]|0; + _sqlite3_result_int($37,$38); + STACKTOP = sp;return; + break; } - $234 = HEAP32[$db>>2]|0; - $235 = HEAP32[$2>>2]|0; - HEAP32[$235>>2] = $234; - $236 = HEAP32[$zOpen>>2]|0; - _sqlite3_free($236); - $237 = HEAP32[$rc>>2]|0; - $238 = $237 & 255; - HEAP32[$0>>2] = $238; - $239 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($239|0); -} -function _createCollation($db,$zName,$enc,$pCtx,$xCompare,$xDel) { - $db = $db|0; - $zName = $zName|0; - $enc = $enc|0; - $pCtx = $pCtx|0; - $xCompare = $xCompare|0; - $xDel = $xDel|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $aColl = 0, $enc2 = 0, $j = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pColl = 0, $vararg_buffer = 0, label = 0, sp = 0; + default: { + $39 = HEAP32[$3>>2]|0; + _sqlite3_result_null($39); + STACKTOP = sp;return; + } + } +} +function _instrFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer = sp; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 48|0; - $4 = sp + 32|0; - $5 = sp + 28|0; - $6 = sp + 24|0; - $pColl = sp + 20|0; - $enc2 = sp + 16|0; - $aColl = sp + 12|0; - $j = sp + 8|0; - $p = sp + 4|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zName; - HEAP8[$3>>0] = $enc; - HEAP32[$4>>2] = $pCtx; - HEAP32[$5>>2] = $xCompare; - HEAP32[$6>>2] = $xDel; - $7 = HEAP8[$3>>0]|0; - $8 = $7&255; - HEAP32[$enc2>>2] = $8; - $9 = HEAP32[$enc2>>2]|0; - $10 = ($9|0)==(4); - $11 = HEAP32[$enc2>>2]|0; - $12 = ($11|0)==(8); - $or$cond = $10 | $12; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$12>>2] = 1; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3_value_type($15)|0); + HEAP32[$10>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_type($19)|0); + HEAP32[$11>>2] = $20; + $21 = HEAP32[$10>>2]|0; + $22 = ($21|0)==(5); + $23 = HEAP32[$11>>2]|0; + $24 = ($23|0)==(5); + $or$cond = $22 | $24; if ($or$cond) { - $13 = HEAP8[968>>0]|0; - $14 = $13 << 24 >> 24; - $15 = ($14|0)==(0); - $16 = $15 ? 3 : 2; - HEAP32[$enc2>>2] = $16; - } - $17 = HEAP32[$enc2>>2]|0; - $18 = ($17|0)<(1); - $19 = HEAP32[$enc2>>2]|0; - $20 = ($19|0)>(3); - $or$cond3 = $18 | $20; - if ($or$cond3) { - $21 = (_sqlite3MisuseError(140172)|0); - HEAP32[$0>>2] = $21; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); + STACKTOP = sp;return; } - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$enc2>>2]|0; - $24 = $23&255; - $25 = HEAP32[$2>>2]|0; - $26 = (_sqlite3FindCollSeq($22,$24,$25,0)|0); - HEAP32[$pColl>>2] = $26; - $27 = HEAP32[$pColl>>2]|0; - $28 = ($27|0)!=(0|0); - L8: do { - if ($28) { - $29 = HEAP32[$pColl>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 156|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)!=(0); - $37 = HEAP32[$1>>2]|0; - if ($36) { - _sqlite3ErrorWithMsg($37,5,20361,$vararg_buffer); - HEAP32[$0>>2] = 5; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); - } - _sqlite3ExpirePreparedStatements($37); - $38 = HEAP32[$pColl>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = $41 & -9; - $43 = HEAP32[$enc2>>2]|0; - $44 = ($42|0)==($43|0); - if ($44) { - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 364|0); - $47 = HEAP32[$2>>2]|0; - $48 = (_sqlite3HashFind($46,$47)|0); - HEAP32[$aColl>>2] = $48; - HEAP32[$j>>2] = 0; - while(1) { - $49 = HEAP32[$j>>2]|0; - $50 = ($49|0)<(3); - if (!($50)) { - break L8; - } - $51 = HEAP32[$j>>2]|0; - $52 = HEAP32[$aColl>>2]|0; - $53 = (($52) + (($51*20)|0)|0); - HEAP32[$p>>2] = $53; - $54 = HEAP32[$p>>2]|0; - $55 = ((($54)) + 4|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = HEAP32[$pColl>>2]|0; - $59 = ((($58)) + 4|0); - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = ($57|0)==($61|0); - if ($62) { - $63 = HEAP32[$p>>2]|0; - $64 = ((($63)) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)!=(0|0); - if ($66) { - $67 = HEAP32[$p>>2]|0; - $68 = ((($67)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$p>>2]|0; - $71 = ((($70)) + 8|0); - $72 = HEAP32[$71>>2]|0; - FUNCTION_TABLE_vi[$69 & 255]($72); - } - $73 = HEAP32[$p>>2]|0; - $74 = ((($73)) + 12|0); - HEAP32[$74>>2] = 0; - } - $75 = HEAP32[$j>>2]|0; - $76 = (($75) + 1)|0; - HEAP32[$j>>2] = $76; - } - } - } - } - } while(0); - $77 = HEAP32[$1>>2]|0; - $78 = HEAP32[$enc2>>2]|0; - $79 = $78&255; - $80 = HEAP32[$2>>2]|0; - $81 = (_sqlite3FindCollSeq($77,$79,$80,1)|0); - HEAP32[$pColl>>2] = $81; - $82 = HEAP32[$pColl>>2]|0; - $83 = ($82|0)==(0|0); - if ($83) { - HEAP32[$0>>2] = 7; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3_value_bytes($26)|0); + HEAP32[$8>>2] = $27; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_value_bytes($30)|0); + HEAP32[$9>>2] = $31; + $32 = HEAP32[$10>>2]|0; + $33 = ($32|0)==(4); + $34 = HEAP32[$11>>2]|0; + $35 = ($34|0)==(4); + $or$cond3 = $33 & $35; + $36 = HEAP32[$5>>2]|0; + $37 = HEAP32[$36>>2]|0; + if ($or$cond3) { + $38 = (_sqlite3_value_blob($37)|0); + HEAP32[$6>>2] = $38; + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_sqlite3_value_blob($41)|0); + HEAP32[$7>>2] = $42; + HEAP32[$13>>2] = 0; } else { - $84 = HEAP32[$5>>2]|0; - $85 = HEAP32[$pColl>>2]|0; - $86 = ((($85)) + 12|0); - HEAP32[$86>>2] = $84; - $87 = HEAP32[$4>>2]|0; - $88 = HEAP32[$pColl>>2]|0; - $89 = ((($88)) + 8|0); - HEAP32[$89>>2] = $87; - $90 = HEAP32[$6>>2]|0; - $91 = HEAP32[$pColl>>2]|0; - $92 = ((($91)) + 16|0); - HEAP32[$92>>2] = $90; - $93 = HEAP32[$enc2>>2]|0; - $94 = HEAP8[$3>>0]|0; - $95 = $94&255; - $96 = $95 & 8; - $97 = $93 | $96; - $98 = $97&255; - $99 = HEAP32[$pColl>>2]|0; - $100 = ((($99)) + 4|0); - HEAP8[$100>>0] = $98; - $101 = HEAP32[$1>>2]|0; - _sqlite3Error($101,0); - HEAP32[$0>>2] = 0; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); + $43 = (_sqlite3_value_text($37)|0); + HEAP32[$6>>2] = $43; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_sqlite3_value_text($46)|0); + HEAP32[$7>>2] = $47; + HEAP32[$13>>2] = 1; } - return (0)|0; -} -function _sqlite3Init($db,$pzErrMsg) { - $db = $db|0; - $pzErrMsg = $pzErrMsg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0; - var $commit_internal = 0, $i = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $i = sp + 8|0; - $rc = sp + 4|0; - $commit_internal = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pzErrMsg; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 24|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 2; - $6 = ($5|0)!=(0); - $7 = $6 ^ 1; - $8 = $7&1; - HEAP32[$commit_internal>>2] = $8; - HEAP32[$rc>>2] = 0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 148|0); - $11 = ((($10)) + 5|0); - HEAP8[$11>>0] = 1; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 77|0); - $18 = HEAP8[$17>>0]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 66|0); - HEAP8[$20>>0] = $18; - HEAP32[$i>>2] = 0; - while(1) { - $21 = HEAP32[$rc>>2]|0; - $22 = ($21|0)==(0); - if (!($22)) { + L7: while(1) { + $48 = HEAP32[$9>>2]|0; + $49 = HEAP32[$8>>2]|0; + $50 = ($48|0)<=($49|0); + if (!($50)) { break; } - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 20|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($23|0)<($26|0); - if (!($27)) { + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$7>>2]|0; + $53 = HEAP32[$9>>2]|0; + $54 = (_memcmp($51,$52,$53)|0); + $55 = ($54|0)!=(0); + if (!($55)) { break; } - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 16|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + ($28<<4)|0); - $33 = ((($32)) + 12|0); - $34 = HEAP32[$33>>2]|0; - $35 = ((($34)) + 78|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 & 1; - $39 = ($38|0)==(1); - $40 = HEAP32[$i>>2]|0; - $41 = ($40|0)==(1); - $or$cond = $39 | $41; - if (!($or$cond)) { - $42 = HEAP32[$0>>2]|0; - $43 = HEAP32[$i>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = (_sqlite3InitOne($42,$43,$44)|0); - HEAP32[$rc>>2] = $45; - $46 = HEAP32[$rc>>2]|0; - $47 = ($46|0)!=(0); - if ($47) { - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$i>>2]|0; - _sqlite3ResetOneSchema($48,$49); + $56 = HEAP32[$12>>2]|0; + $57 = (($56) + 1)|0; + HEAP32[$12>>2] = $57; + while(1) { + $58 = HEAP32[$8>>2]|0; + $59 = (($58) + -1)|0; + HEAP32[$8>>2] = $59; + $60 = HEAP32[$6>>2]|0; + $61 = ((($60)) + 1|0); + HEAP32[$6>>2] = $61; + $62 = HEAP32[$13>>2]|0; + $63 = ($62|0)!=(0); + if (!($63)) { + continue L7; } - } - $50 = HEAP32[$i>>2]|0; - $51 = (($50) + 1)|0; - HEAP32[$i>>2] = $51; - } - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)==(0); - if ($53) { - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 16|0); - $56 = HEAP32[$55>>2]|0; - $57 = ((($56)) + 16|0); - $58 = ((($57)) + 12|0); - $59 = HEAP32[$58>>2]|0; - $60 = ((($59)) + 78|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 & 1; - $64 = ($63|0)==(1); - if (!($64)) { - $65 = HEAP32[$0>>2]|0; - $66 = HEAP32[$1>>2]|0; - $67 = (_sqlite3InitOne($65,1,$66)|0); - HEAP32[$rc>>2] = $67; - $68 = HEAP32[$rc>>2]|0; - $69 = ($68|0)!=(0); - if ($69) { - $70 = HEAP32[$0>>2]|0; - _sqlite3ResetOneSchema($70,1); + $64 = HEAP32[$6>>2]|0; + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = $66 & 192; + $68 = ($67|0)==(128); + if (!($68)) { + continue L7; } } } - $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 148|0); - $73 = ((($72)) + 5|0); - HEAP8[$73>>0] = 0; - $74 = HEAP32[$rc>>2]|0; - $75 = ($74|0)==(0); - $76 = HEAP32[$commit_internal>>2]|0; - $77 = ($76|0)!=(0); - $or$cond3 = $75 & $77; - if (!($or$cond3)) { - $79 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($79|0); + $69 = HEAP32[$9>>2]|0; + $70 = HEAP32[$8>>2]|0; + $71 = ($69|0)>($70|0); + if ($71) { + HEAP32[$12>>2] = 0; } - $78 = HEAP32[$0>>2]|0; - _sqlite3CommitInternalChanges($78); - $79 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($79|0); + $72 = HEAP32[$3>>2]|0; + $73 = HEAP32[$12>>2]|0; + _sqlite3_result_int($72,$73); + STACKTOP = sp;return; } -function _sqlite3FindTable($db,$zName,$zDatabase) { - $db = $db|0; - $zName = $zName|0; - $zDatabase = $zDatabase|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0; - var $j = 0, $p = 0, label = 0, sp = 0; +function _printfFunc($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $p = sp + 8|0; - $i = sp + 4|0; - $j = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zName; - HEAP32[$2>>2] = $zDatabase; - HEAP32[$p>>2] = 0; - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer = sp; + $3 = sp + 64|0; + $4 = sp + 60|0; + $5 = sp + 56|0; + $6 = sp + 44|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $11 = HEAP32[$3>>2]|0; + $12 = (_sqlite3_context_db_handle($11)|0); + HEAP32[$10>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)>=(1); + if (!($14)) { + STACKTOP = sp;return; + } + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_text($16)|0); + HEAP32[$8>>2] = $17; + $18 = ($17|0)!=(0|0); + if (!($18)) { + STACKTOP = sp;return; + } + $19 = HEAP32[$4>>2]|0; + $20 = (($19) - 1)|0; + HEAP32[$6>>2] = $20; + $21 = ((($6)) + 4|0); + HEAP32[$21>>2] = 0; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 4|0); + $24 = ((($6)) + 8|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$10>>2]|0; + $26 = HEAP32[$10>>2]|0; + $27 = ((($26)) + 96|0); + $28 = HEAP32[$27>>2]|0; + _sqlite3StrAccumInit($7,$25,0,0,$28); + $29 = ((($7)) + 25|0); + HEAP8[$29>>0] = 2; + $30 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer>>2] = $6; + _sqlite3XPrintf($7,$30,$vararg_buffer); + $31 = ((($7)) + 12|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$9>>2] = $32; + $33 = HEAP32[$3>>2]|0; + $34 = (_sqlite3StrAccumFinish($7)|0); + $35 = HEAP32[$9>>2]|0; + _sqlite3_result_text($33,$34,$35,191); + STACKTOP = sp;return; +} +function _unicodeFunc($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; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_text($8)|0); + HEAP32[$6>>2] = $9; + $10 = HEAP32[$6>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + STACKTOP = sp;return; + } + $12 = HEAP32[$6>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)!=(0); + if (!($15)) { + STACKTOP = sp;return; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_sqlite3Utf8Read($6)|0); + _sqlite3_result_int($16,$17); + STACKTOP = sp;return; +} +function _charFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp; + $10 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = $11<<2; + $13 = (($12) + 1)|0; + $14 = ($13|0)<(0); + $15 = $14 << 31 >> 31; + $16 = (_sqlite3_malloc64($13,$15)|0); + HEAP32[$6>>2] = $16; + HEAP32[$7>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + $19 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($19); + STACKTOP = sp;return; + } + HEAP32[$8>>2] = 0; while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<($6|0); - if (!($7)) { - label = 7; + $20 = HEAP32[$8>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = ($20|0)<($21|0); + if (!($22)) { break; } - $8 = HEAP32[$i>>2]|0; - $9 = ($8|0)<(2); - $10 = HEAP32[$i>>2]|0; - $11 = $10 ^ 1; - $12 = $9 ? $11 : $10; - HEAP32[$j>>2] = $12; - $13 = HEAP32[$2>>2]|0; - $14 = ($13|0)==(0|0); - if ($14) { - label = 5; - } else { - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$j>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + ($16<<4)|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3StrICmp($15,$21)|0); - $23 = ($22|0)==(0); - if ($23) { - label = 5; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$8>>2]|0; + $25 = (($23) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3_value_int64($26)|0); + $28 = tempRet0; + $29 = $9; + $30 = $29; + HEAP32[$30>>2] = $27; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $33 = $9; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)<(0); + $40 = $9; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)>(0); + $47 = ($42>>>0)>(1114111); + $48 = ($45|0)==(0); + $49 = $48 & $47; + $50 = $46 | $49; + $or$cond = $39 | $50; + $51 = $or$cond ? 65533 : $27; + $52 = $or$cond ? 0 : $28; + $53 = $9; + $54 = $53; + HEAP32[$54>>2] = $51; + $55 = (($53) + 4)|0; + $56 = $55; + HEAP32[$56>>2] = $52; + $57 = $9; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = $59 & 2097151; + HEAP32[$10>>2] = $63; + $64 = HEAP32[$10>>2]|0; + $65 = ($64>>>0)<(128); + $66 = HEAP32[$10>>2]|0; + do { + if ($65) { + $67 = $66 & 255; + $68 = $67&255; + $69 = HEAP32[$7>>2]|0; + $70 = ((($69)) + 1|0); + HEAP32[$7>>2] = $70; + HEAP8[$69>>0] = $68; + } else { + $71 = ($66>>>0)<(2048); + $72 = HEAP32[$10>>2]|0; + if ($71) { + $73 = $72 >>> 6; + $74 = $73 & 31; + $75 = $74&255; + $76 = $75&255; + $77 = (192 + ($76))|0; + $78 = $77&255; + $79 = HEAP32[$7>>2]|0; + $80 = ((($79)) + 1|0); + HEAP32[$7>>2] = $80; + HEAP8[$79>>0] = $78; + $81 = HEAP32[$10>>2]|0; + $82 = $81 & 63; + $83 = $82&255; + $84 = $83&255; + $85 = (128 + ($84))|0; + $86 = $85&255; + $87 = HEAP32[$7>>2]|0; + $88 = ((($87)) + 1|0); + HEAP32[$7>>2] = $88; + HEAP8[$87>>0] = $86; + break; + } + $89 = ($72>>>0)<(65536); + $90 = HEAP32[$10>>2]|0; + if ($89) { + $91 = $90 >>> 12; + $92 = $91 & 15; + $93 = $92&255; + $94 = $93&255; + $95 = (224 + ($94))|0; + $96 = $95&255; + $97 = HEAP32[$7>>2]|0; + $98 = ((($97)) + 1|0); + HEAP32[$7>>2] = $98; + HEAP8[$97>>0] = $96; + $99 = HEAP32[$10>>2]|0; + $100 = $99 >>> 6; + $101 = $100 & 63; + $102 = $101&255; + $103 = $102&255; + $104 = (128 + ($103))|0; + $105 = $104&255; + $106 = HEAP32[$7>>2]|0; + $107 = ((($106)) + 1|0); + HEAP32[$7>>2] = $107; + HEAP8[$106>>0] = $105; + $108 = HEAP32[$10>>2]|0; + $109 = $108 & 63; + $110 = $109&255; + $111 = $110&255; + $112 = (128 + ($111))|0; + $113 = $112&255; + $114 = HEAP32[$7>>2]|0; + $115 = ((($114)) + 1|0); + HEAP32[$7>>2] = $115; + HEAP8[$114>>0] = $113; + break; + } else { + $116 = $90 >>> 18; + $117 = $116 & 7; + $118 = $117&255; + $119 = $118&255; + $120 = (240 + ($119))|0; + $121 = $120&255; + $122 = HEAP32[$7>>2]|0; + $123 = ((($122)) + 1|0); + HEAP32[$7>>2] = $123; + HEAP8[$122>>0] = $121; + $124 = HEAP32[$10>>2]|0; + $125 = $124 >>> 12; + $126 = $125 & 63; + $127 = $126&255; + $128 = $127&255; + $129 = (128 + ($128))|0; + $130 = $129&255; + $131 = HEAP32[$7>>2]|0; + $132 = ((($131)) + 1|0); + HEAP32[$7>>2] = $132; + HEAP8[$131>>0] = $130; + $133 = HEAP32[$10>>2]|0; + $134 = $133 >>> 6; + $135 = $134 & 63; + $136 = $135&255; + $137 = $136&255; + $138 = (128 + ($137))|0; + $139 = $138&255; + $140 = HEAP32[$7>>2]|0; + $141 = ((($140)) + 1|0); + HEAP32[$7>>2] = $141; + HEAP8[$140>>0] = $139; + $142 = HEAP32[$10>>2]|0; + $143 = $142 & 63; + $144 = $143&255; + $145 = $144&255; + $146 = (128 + ($145))|0; + $147 = $146&255; + $148 = HEAP32[$7>>2]|0; + $149 = ((($148)) + 1|0); + HEAP32[$7>>2] = $149; + HEAP8[$148>>0] = $147; + break; + } } - } - if ((label|0) == 5) { - label = 0; - $24 = HEAP32[$j>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 16|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + ($24<<4)|0); - $29 = ((($28)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = ((($30)) + 8|0); - $32 = HEAP32[$1>>2]|0; - $33 = (_sqlite3HashFind($31,$32)|0); - HEAP32[$p>>2] = $33; - $34 = HEAP32[$p>>2]|0; - $35 = ($34|0)!=(0|0); - if ($35) { - label = 7; - break; + } while(0); + $150 = HEAP32[$8>>2]|0; + $151 = (($150) + 1)|0; + HEAP32[$8>>2] = $151; + } + $152 = HEAP32[$3>>2]|0; + $153 = HEAP32[$6>>2]|0; + $154 = HEAP32[$7>>2]|0; + $155 = HEAP32[$6>>2]|0; + $156 = $154; + $157 = $155; + $158 = (($156) - ($157))|0; + $159 = ($158|0)<(0); + $160 = $159 << 31 >> 31; + _sqlite3_result_text64($152,$153,$158,$160,157,1); + STACKTOP = sp;return; +} +function _absFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0.0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3_value_type($9)|0); + switch ($10|0) { + case 1: { + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3_value_int64($12)|0); + $14 = tempRet0; + $15 = $6; + $16 = $15; + HEAP32[$16>>2] = $13; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = $6; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)<(0); + do { + if ($25) { + $26 = $6; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = ($28|0)==(0); + $33 = ($31|0)==(-2147483648); + $34 = $32 & $33; + if (!($34)) { + $36 = $6; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (_i64Subtract(0,0,($38|0),($41|0))|0); + $43 = tempRet0; + $44 = $6; + $45 = $44; + HEAP32[$45>>2] = $42; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + break; + } + $35 = HEAP32[$3>>2]|0; + _sqlite3_result_error($35,22260,-1); + STACKTOP = sp;return; } + } while(0); + $48 = HEAP32[$3>>2]|0; + $49 = $6; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + _sqlite3_result_int64($48,$51,$54); + STACKTOP = sp;return; + break; + } + case 5: { + $55 = HEAP32[$3>>2]|0; + _sqlite3_result_null($55); + STACKTOP = sp;return; + break; + } + default: { + $56 = HEAP32[$5>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = (+_sqlite3_value_double($57)); + HEAPF64[$7>>3] = $58; + $59 = +HEAPF64[$7>>3]; + $60 = $59 < 0.0; + if ($60) { + $61 = +HEAPF64[$7>>3]; + $62 = -$61; + HEAPF64[$7>>3] = $62; } - $36 = HEAP32[$i>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$i>>2] = $37; + $63 = HEAP32[$3>>2]|0; + $64 = +HEAPF64[$7>>3]; + _sqlite3_result_double($63,$64); + STACKTOP = sp;return; } - if ((label|0) == 7) { - $38 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($38|0); } - return (0)|0; } -function _sqlite3IsRowid($z) { - $z = $z|0; - var $0 = 0, $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; +function _roundFunc($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; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0; + var $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0.0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $vararg_buffer = 0, $vararg_ptr6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $z; - $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3StrICmp($2,19887)|0); - $4 = ($3|0)==(0); + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp + 8|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp; + $8 = sp + 24|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)==(2); do { - if ($4) { - HEAP32[$0>>2] = 1; - } else { - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3StrICmp($5,19895)|0); - $7 = ($6|0)==(0); - if ($7) { - HEAP32[$0>>2] = 1; - break; - } - $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3StrICmp($8,19901)|0); - $10 = ($9|0)==(0); - if ($10) { - HEAP32[$0>>2] = 1; - break; + if ($10) { + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3_value_type($13)|0); + $15 = (5)==($14|0); + if ($15) { + STACKTOP = sp;return; } else { - HEAP32[$0>>2] = 0; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3_value_int($18)|0); + HEAP32[$6>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = ($20|0)>(30); + $$ = $21 ? 30 : $19; + HEAP32[$6>>2] = $$; + $22 = HEAP32[$6>>2]|0; + $23 = ($22|0)<(0); + $$$ = $23 ? 0 : $$; + HEAP32[$6>>2] = $$$; break; } } } while(0); - $11 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($11|0); -} -function _sqlite3ColumnType($pCol,$zDflt) { - $pCol = $pCol|0; - $zDflt = $zDflt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pCol; - HEAP32[$2>>2] = $zDflt; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 15|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = $6 & 4; - $8 = ($7|0)==(0); - if ($8) { - $9 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $9; - $17 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($17|0); - } else { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (_strlen($13)|0); - $15 = (($11) + ($14)|0); - $16 = ((($15)) + 1|0); - HEAP32[$0>>2] = $16; - $17 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($17|0); + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3_value_type($25)|0); + $27 = ($26|0)==(5); + if ($27) { + STACKTOP = sp;return; } - return (0)|0; -} -function _sqlite3OsSleep($pVfs,$nMicro) { - $pVfs = $pVfs|0; - $nMicro = $nMicro|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $nMicro; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 60|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (FUNCTION_TABLE_iii[$4 & 255]($5,$6)|0); - STACKTOP = sp;return ($7|0); -} -function _sqlite3DbNameToBtree($db,$zDbName) { - $db = $db|0; - $zDbName = $zDbName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zDbName; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<($6|0); - if (!($7)) { - label = 8; - break; - } - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + ($8<<4)|0); - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$2>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - label = 6; - break; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = (+_sqlite3_value_double($29)); + HEAPF64[$7>>3] = $30; + $31 = HEAP32[$6>>2]|0; + $32 = ($31|0)==(0); + $33 = +HEAPF64[$7>>3]; + $34 = $33 >= 0.0; + $or$cond = $32 & $34; + $35 = +HEAPF64[$7>>3]; + $36 = $35 < 9.2233720368547758E+18; + $or$cond3 = $or$cond & $36; + do { + if ($or$cond3) { + $37 = +HEAPF64[$7>>3]; + $38 = $37 + 0.5; + $39 = (~~$38)>>>0; + $40 = +Math_abs($38) >= 1.0 ? $38 > 0.0 ? (~~+Math_min(+Math_floor($38 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($38 - +(~~$38 >>> 0)) / 4294967296.0) >>> 0 : 0; + $41 = (+($39>>>0)) + (4294967296.0*(+($40|0))); + HEAPF64[$7>>3] = $41; + } else { + $42 = HEAP32[$6>>2]|0; + $43 = ($42|0)==(0); + $44 = +HEAPF64[$7>>3]; + $45 = $44 < 0.0; + $or$cond5 = $43 & $45; + if ($or$cond5) { + $46 = +HEAPF64[$7>>3]; + $47 = -$46; + $48 = $47 < 9.2233720368547758E+18; + if ($48) { + $49 = +HEAPF64[$7>>3]; + $50 = -$49; + $51 = $50 + 0.5; + $52 = (~~$51)>>>0; + $53 = +Math_abs($51) >= 1.0 ? $51 > 0.0 ? (~~+Math_min(+Math_floor($51 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($51 - +(~~$51 >>> 0)) / 4294967296.0) >>> 0 : 0; + $54 = (+($52>>>0)) + (4294967296.0*(+($53|0))); + $55 = -$54; + HEAPF64[$7>>3] = $55; + break; + } } - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($19<<4)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3StrICmp($18,$24)|0); - $26 = ($25|0)==(0); - if ($26) { - label = 6; + $56 = HEAP32[$6>>2]|0; + $57 = +HEAPF64[$7>>3]; + HEAP32[$vararg_buffer>>2] = $56; + $vararg_ptr6 = ((($vararg_buffer)) + 8|0); + HEAPF64[$vararg_ptr6>>3] = $57; + $58 = (_sqlite3_mprintf(22987,$vararg_buffer)|0); + HEAP32[$8>>2] = $58; + $59 = HEAP32[$8>>2]|0; + $60 = ($59|0)==(0|0); + if (!($60)) { + $62 = HEAP32[$8>>2]|0; + $63 = HEAP32[$8>>2]|0; + $64 = (_sqlite3Strlen30($63)|0); + (_sqlite3AtoF($62,$7,$64,1)|0); + $65 = HEAP32[$8>>2]|0; + _sqlite3_free($65); break; } + $61 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($61); + STACKTOP = sp;return; } - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$i>>2] = $35; - } - if ((label|0) == 6) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + ($27<<4)|0); - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$0>>2] = $33; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); - } - else if ((label|0) == 8) { - HEAP32[$0>>2] = 0; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); - } - return (0)|0; -} -function _sqlite3PagerVfs($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($2|0); + } while(0); + $66 = HEAP32[$3>>2]|0; + $67 = +HEAPF64[$7>>3]; + _sqlite3_result_double($66,$67); + STACKTOP = sp;return; } -function _sqlite3PagerJrnlFile($pPager) { - $pPager = $pPager|0; - var $0 = 0, $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; +function _upperFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 216|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - $5 = HEAP32[$0>>2]|0; - if ($4) { - $6 = ((($5)) + 216|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3WalFile($7)|0); - $11 = $8; - STACKTOP = sp;return ($11|0); - } else { - $9 = ((($5)) + 68|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10; - STACKTOP = sp;return ($11|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_text($11)|0); + HEAP32[$7>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3_value_bytes($14)|0); + HEAP32[$9>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + STACKTOP = sp;return; } - return (0)|0; -} -function _sqlite3OsFileControl($id,$op,$pArg) { - $id = $id|0; - $op = $op|0; - $pArg = $pArg|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 + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $pArg; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 40|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = (FUNCTION_TABLE_iiii[$6 & 255]($7,$8,$9)|0); - STACKTOP = sp;return ($10|0); -} -function _sqlite3FaultSim($iTest) { - $iTest = $iTest|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $xCallback = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $xCallback = sp; - HEAP32[$0>>2] = $iTest; - $1 = HEAP32[(272)>>2]|0; - HEAP32[$xCallback>>2] = $1; - $2 = HEAP32[$xCallback>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $7 = 0; - STACKTOP = sp;return ($7|0); + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$9>>2]|0; + $20 = ($19|0)<(0); + $21 = $20 << 31 >> 31; + $22 = (_i64Add(($19|0),($21|0),1,0)|0); + $23 = tempRet0; + $24 = (_contextMalloc($18,$22,$23)|0); + HEAP32[$6>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = ($25|0)!=(0|0); + if (!($26)) { + STACKTOP = sp;return; } - $4 = HEAP32[$xCallback>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = (FUNCTION_TABLE_ii[$4 & 255]($5)|0); - $7 = $6; - STACKTOP = sp;return ($7|0); + HEAP32[$8>>2] = 0; + while(1) { + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = ($27|0)<($28|0); + if (!($29)) { + break; + } + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$8>>2]|0; + $32 = (($30) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$8>>2]|0; + $37 = (($35) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = (20063 + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 & 32; + $44 = $43 ^ -1; + $45 = $34 & $44; + $46 = $45&255; + $47 = HEAP32[$6>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = (($47) + ($48)|0); + HEAP8[$49>>0] = $46; + $50 = HEAP32[$8>>2]|0; + $51 = (($50) + 1)|0; + HEAP32[$8>>2] = $51; + } + $52 = HEAP32[$3>>2]|0; + $53 = HEAP32[$6>>2]|0; + $54 = HEAP32[$9>>2]|0; + _sqlite3_result_text($52,$53,$54,157); + STACKTOP = sp;return; } -function _sqlite3BtreeSetPageSize($p,$pageSize,$nReserve,$iFix) { - $p = $p|0; - $pageSize = $pageSize|0; - $nReserve = $nReserve|0; - $iFix = $iFix|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $or$cond = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; +function _lowerFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $rc = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pageSize; - HEAP32[$3>>2] = $nReserve; - HEAP32[$4>>2] = $iFix; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pBt>>2] = $7; - $8 = HEAP32[$1>>2]|0; - _sqlite3BtreeEnter($8); - $9 = HEAP32[$pBt>>2]|0; - $10 = ((($9)) + 22|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = $12 & 2; - $14 = ($13|0)!=(0); - if ($14) { - HEAP32[$0>>2] = 8; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); - } - $15 = HEAP32[$3>>2]|0; - $16 = ($15|0)<(0); - if ($16) { - $17 = HEAP32[$pBt>>2]|0; - $18 = ((($17)) + 32|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$pBt>>2]|0; - $21 = ((($20)) + 36|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($19) - ($22))|0; - HEAP32[$3>>2] = $23; - } - $24 = HEAP32[$2>>2]|0; - $25 = ($24|0)>=(512); - $26 = HEAP32[$2>>2]|0; - $27 = ($26|0)<=(65536); - $or$cond = $25 & $27; - if ($or$cond) { - $28 = HEAP32[$2>>2]|0; - $29 = (($28) - 1)|0; - $30 = HEAP32[$2>>2]|0; - $31 = $29 & $30; - $32 = ($31|0)==(0); - if ($32) { - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$pBt>>2]|0; - $35 = ((($34)) + 32|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$pBt>>2]|0; - _freeTempSpace($36); - } + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_text($11)|0); + HEAP32[$7>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3_value_bytes($14)|0); + HEAP32[$9>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + STACKTOP = sp;return; } - $37 = HEAP32[$pBt>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$pBt>>2]|0; - $40 = ((($39)) + 32|0); - $41 = HEAP32[$3>>2]|0; - $42 = (_sqlite3PagerSetPagesize($38,$40,$41)|0); - HEAP32[$rc>>2] = $42; - $43 = HEAP32[$pBt>>2]|0; - $44 = ((($43)) + 32|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$3>>2]|0; - $47 = $46&65535; - $48 = $47&65535; - $49 = (($45) - ($48))|0; - $50 = HEAP32[$pBt>>2]|0; - $51 = ((($50)) + 36|0); - HEAP32[$51>>2] = $49; - $52 = HEAP32[$4>>2]|0; - $53 = ($52|0)!=(0); - if ($53) { - $54 = HEAP32[$pBt>>2]|0; - $55 = ((($54)) + 22|0); - $56 = HEAP16[$55>>1]|0; - $57 = $56&65535; - $58 = $57 | 2; - $59 = $58&65535; - HEAP16[$55>>1] = $59; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$9>>2]|0; + $20 = ($19|0)<(0); + $21 = $20 << 31 >> 31; + $22 = (_i64Add(($19|0),($21|0),1,0)|0); + $23 = tempRet0; + $24 = (_contextMalloc($18,$22,$23)|0); + HEAP32[$6>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = ($25|0)!=(0|0); + if (!($26)) { + STACKTOP = sp;return; } - $60 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $60; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); -} -function _sqlite3KeywordCode($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $id = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $id = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $n; - HEAP32[$id>>2] = 55; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - (_keywordCode($2,$3,$id)|0); - $4 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($4|0); -} -function _sqlite3ScratchMalloc($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $n; - $1 = HEAP32[$0>>2]|0; - _sqlite3StatusHighwater(8,$1); - $2 = HEAP32[(312)>>2]|0; - $3 = ($2|0)!=(0); - if ($3) { - $4 = HEAP32[(204)>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ($4|0)>=($5|0); - if ($6) { - $7 = HEAP32[(308)>>2]|0; - HEAP32[$p>>2] = $7; - $8 = HEAP32[(308)>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[(308)>>2] = $9; - $10 = HEAP32[(312)>>2]|0; - $11 = (($10) + -1)|0; - HEAP32[(312)>>2] = $11; - _sqlite3StatusUp(3,1); - $22 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($22|0); + HEAP32[$8>>2] = 0; + while(1) { + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = ($27|0)<($28|0); + if (!($29)) { + break; } + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$8>>2]|0; + $32 = (($30) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = (20458 + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$8>>2]|0; + $39 = (($37) + ($38)|0); + HEAP8[$39>>0] = $36; + $40 = HEAP32[$8>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$8>>2] = $41; } - $12 = HEAP32[$0>>2]|0; - $13 = ($12|0)<(0); - $14 = $13 << 31 >> 31; - $15 = (_sqlite3Malloc($12,$14)|0); - HEAP32[$p>>2] = $15; - $16 = HEAP32[8>>2]|0; - $17 = ($16|0)!=(0); - $18 = HEAP32[$p>>2]|0; - $19 = ($18|0)!=(0|0); - $or$cond = $17 & $19; - if (!($or$cond)) { - $22 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($22|0); - } - $20 = HEAP32[$p>>2]|0; - $21 = (_sqlite3MallocSize($20)|0); - _sqlite3StatusUp(4,$21); - $22 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($22|0); + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$9>>2]|0; + _sqlite3_result_text($42,$43,$44,157); + STACKTOP = sp;return; } -function _sqlite3ScratchFree($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iSize = 0, $pSlot = 0, label = 0, sp = 0; +function _hexFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pSlot = sp + 4|0; - $iSize = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { + STACKTOP = STACKTOP + 48|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + $11 = sp + 32|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3_value_blob($13)|0); + HEAP32[$8>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_bytes($16)|0); + HEAP32[$7>>2] = $17; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = ($19|0)<(0); + $21 = $20 << 31 >> 31; + $22 = (___muldi3(($19|0),($21|0),2,0)|0); + $23 = tempRet0; + $24 = (_i64Add(($22|0),($23|0),1,0)|0); + $25 = tempRet0; + $26 = (_contextMalloc($18,$24,$25)|0); + HEAP32[$9>>2] = $26; + HEAP32[$10>>2] = $26; + $27 = HEAP32[$9>>2]|0; + $28 = ($27|0)!=(0|0); + if (!($28)) { STACKTOP = sp;return; } - $3 = HEAP32[$0>>2]|0; - $4 = $3; - $5 = HEAP32[(200)>>2]|0; - $6 = $5; - $7 = ($4>>>0)>=($6>>>0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = $8; - $10 = HEAP32[(304)>>2]|0; - $11 = $10; - $12 = ($9>>>0)<($11>>>0); - if ($12) { - $13 = HEAP32[$0>>2]|0; - HEAP32[$pSlot>>2] = $13; - $14 = HEAP32[(308)>>2]|0; - $15 = HEAP32[$pSlot>>2]|0; - HEAP32[$15>>2] = $14; - $16 = HEAP32[$pSlot>>2]|0; - HEAP32[(308)>>2] = $16; - $17 = HEAP32[(312)>>2]|0; - $18 = (($17) + 1)|0; - HEAP32[(312)>>2] = $18; - _sqlite3StatusDown(3,1); - STACKTOP = sp;return; + HEAP32[$6>>2] = 0; + while(1) { + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = ($29|0)<($30|0); + if (!($31)) { + break; } + $32 = HEAP32[$8>>2]|0; + $33 = HEAP8[$32>>0]|0; + HEAP8[$11>>0] = $33; + $34 = HEAP8[$11>>0]|0; + $35 = $34&255; + $36 = $35 >> 4; + $37 = $36 & 15; + $38 = (22971 + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = HEAP32[$10>>2]|0; + $41 = ((($40)) + 1|0); + HEAP32[$10>>2] = $41; + HEAP8[$40>>0] = $39; + $42 = HEAP8[$11>>0]|0; + $43 = $42&255; + $44 = $43 & 15; + $45 = (22971 + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = HEAP32[$10>>2]|0; + $48 = ((($47)) + 1|0); + HEAP32[$10>>2] = $48; + HEAP8[$47>>0] = $46; + $49 = HEAP32[$6>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$6>>2] = $50; + $51 = HEAP32[$8>>2]|0; + $52 = ((($51)) + 1|0); + HEAP32[$8>>2] = $52; } - $19 = HEAP32[8>>2]|0; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$0>>2]|0; - $22 = (_sqlite3MallocSize($21)|0); - HEAP32[$iSize>>2] = $22; - $23 = HEAP32[$iSize>>2]|0; - _sqlite3StatusDown(4,$23); - $24 = HEAP32[$iSize>>2]|0; - _sqlite3StatusDown(0,$24); - _sqlite3StatusDown(9,1); - $25 = HEAP32[(52)>>2]|0; - $26 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_vi[$25 & 255]($26); - STACKTOP = sp;return; - } else { - $27 = HEAP32[(52)>>2]|0; - $28 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_vi[$27 & 255]($28); - STACKTOP = sp;return; - } + $53 = HEAP32[$10>>2]|0; + HEAP8[$53>>0] = 0; + $54 = HEAP32[$3>>2]|0; + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$7>>2]|0; + $57 = $56<<1; + _sqlite3_result_text($54,$55,$57,157); + STACKTOP = sp;return; } -function _sqlite3GetBoolean($z,$dflt) { - $z = $z|0; - $dflt = $dflt|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +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, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 4|0; - HEAP32[$0>>2] = $z; - HEAP8[$1>>0] = $dflt; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP8[$1>>0]|0; - $4 = (_getSafetyLevel($2,1,$3)|0); - $5 = $4&255; - $6 = ($5|0)!=(0); - $7 = $6&1; - $8 = $7&255; - STACKTOP = sp;return ($8|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + _sqlite3_randomness(8,$6); + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)<(0); + if ($13) { + $14 = $6; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = $19 & 2147483647; + $21 = (_i64Subtract(0,0,($16|0),($20|0))|0); + $22 = tempRet0; + $23 = $6; + $24 = $23; + HEAP32[$24>>2] = $21; + $25 = (($23) + 4)|0; + $26 = $25; + HEAP32[$26>>2] = $22; + } + $27 = HEAP32[$3>>2]|0; + $28 = $6; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + _sqlite3_result_int64($27,$30,$33); + STACKTOP = sp;return; } -function _sqlite3DecOrHexToI64($z,$pOut) { - $z = $z|0; - $pOut = $pOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $9 = 0, $i = 0, $k = 0, $u = 0, label = 0, sp = 0; +function _randomBlob($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $u = sp; - $i = sp + 12|0; - $k = sp + 8|0; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $pOut; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $6 = ($5|0)==(48); - do { - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = ($10|0)==(120); - if (!($11)) { - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = ($15|0)==(88); - if (!($16)) { - break; - } - } - $17 = $u; - $18 = $17; - HEAP32[$18>>2] = 0; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = 0; - HEAP32[$i>>2] = 2; - while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = (($22) + ($21)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24 << 24 >> 24; - $26 = ($25|0)==(48); - $27 = HEAP32[$i>>2]|0; - if (!($26)) { - break; - } - $28 = (($27) + 1)|0; - HEAP32[$i>>2] = $28; - } - HEAP32[$k>>2] = $27; - while(1) { - $29 = HEAP32[$k>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = (($30) + ($29)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = (18403 + ($33)|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = $36 & 8; - $38 = ($37|0)!=(0); - if (!($38)) { - break; - } - $39 = $u; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (($39) + 4)|0; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (___muldi3(($41|0),($44|0),16,0)|0); - $46 = tempRet0; - $47 = HEAP32[$k>>2]|0; - $48 = HEAP32[$1>>2]|0; - $49 = (($48) + ($47)|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50 << 24 >> 24; - $52 = (_sqlite3HexToInt($51)|0); - $53 = $52&255; - $54 = (_i64Add(($45|0),($46|0),($53|0),0)|0); - $55 = tempRet0; - $56 = $u; - $57 = $56; - HEAP32[$57>>2] = $54; - $58 = (($56) + 4)|0; - $59 = $58; - HEAP32[$59>>2] = $55; - $60 = HEAP32[$k>>2]|0; - $61 = (($60) + 1)|0; - HEAP32[$k>>2] = $61; - } - $62 = HEAP32[$2>>2]|0; - ;HEAP32[$62>>2]=HEAP32[$u>>2]|0;HEAP32[$62+4>>2]=HEAP32[$u+4>>2]|0; - $63 = HEAP32[$k>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = (($64) + ($63)|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66 << 24 >> 24; - $68 = ($67|0)==(0); - if ($68) { - $69 = HEAP32[$k>>2]|0; - $70 = HEAP32[$i>>2]|0; - $71 = (($69) - ($70))|0; - $72 = ($71|0)<=(16); - $74 = $72; - } else { - $74 = 0; - } - $73 = $74 ? 0 : 1; - HEAP32[$0>>2] = $73; - $80 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($80|0); - } - } while(0); - $75 = HEAP32[$1>>2]|0; - $76 = HEAP32[$2>>2]|0; - $77 = HEAP32[$1>>2]|0; - $78 = (_sqlite3Strlen30($77)|0); - $79 = (_sqlite3Atoi64($75,$76,$78,1)|0); - HEAP32[$0>>2] = $79; - $80 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($80|0); + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3_value_int($9)|0); + HEAP32[$6>>2] = $10; + $11 = HEAP32[$6>>2]|0; + $12 = ($11|0)<(1); + $$ = $12 ? 1 : $10; + HEAP32[$6>>2] = $$; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = ($14|0)<(0); + $16 = $15 << 31 >> 31; + $17 = (_contextMalloc($13,$14,$16)|0); + HEAP32[$7>>2] = $17; + $18 = HEAP32[$7>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + STACKTOP = sp;return; + } + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$7>>2]|0; + _sqlite3_randomness($20,$21); + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$6>>2]|0; + _sqlite3_result_blob($22,$23,$24,157); + STACKTOP = sp;return; } -function _sqlite3BtreeGetFilename($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _nullifFunc($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; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3PagerFilename($4,1)|0); - STACKTOP = sp;return ($5|0); + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3GetFuncCollSeq($7)|0); + HEAP32[$6>>2] = $8; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = (_sqlite3MemCompare($10,$13,$14)|0); + $16 = ($15|0)!=(0); + if (!($16)) { + STACKTOP = sp;return; + } + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + _sqlite3_result_value($17,$19); + STACKTOP = sp;return; } -function _sqlite3BtreeIsReadonly($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 22|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 1; - $8 = ($7|0)!=(0); - $9 = $8&1; - STACKTOP = sp;return ($9|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = (_sqlite3_sourceid()|0); + _sqlite3_result_text($6,$7,-1,0); + STACKTOP = sp;return; } -function _sqlite3PagerFilename($pPager,$nullIfMemDb) { - $pPager = $pPager|0; - $nullIfMemDb = $nullIfMemDb|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _errlogFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $nullIfMemDb; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0); - if ($3) { - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 16|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)!=(0); - if ($8) { - $12 = 18402; - STACKTOP = sp;return ($12|0); - } - } - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 176|0); + $vararg_buffer = sp; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3_value_int($7)|0); + $9 = HEAP32[$5>>2]|0; + $10 = ((($9)) + 4|0); $11 = HEAP32[$10>>2]|0; - $12 = $11; - STACKTOP = sp;return ($12|0); -} -function _sqlite3HexToInt($h) { - $h = $h|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $h; - $1 = HEAP32[$0>>2]|0; - $2 = $1 >> 6; - $3 = 1 & $2; - $4 = ($3*9)|0; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + ($4))|0; - HEAP32[$0>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = $7 & 15; - $9 = $8&255; - STACKTOP = sp;return ($9|0); + $12 = (_sqlite3_value_text($11)|0); + HEAP32[$vararg_buffer>>2] = $12; + _sqlite3_log($8,21240,$vararg_buffer); + STACKTOP = sp;return; } -function _sqlite3Atoi64($zNum,$pNum,$length,$enc) { - $zNum = $zNum|0; - $pNum = $pNum|0; - $length = $length|0; - $enc = $enc|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $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; +function _quoteFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0; + var $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 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; var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $c = 0, $i = 0, $incr = 0, $neg = 0, $nonNum = 0, $or$cond = 0, $u = 0, $zEnd = 0, $zStart = 0, label = 0, sp = 0; + var $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 52|0; - $incr = sp + 32|0; - $u = sp; - $neg = sp + 28|0; - $i = sp + 24|0; - $c = sp + 20|0; - $nonNum = sp + 16|0; - $zStart = sp + 12|0; - $zEnd = sp + 8|0; - HEAP32[$1>>2] = $zNum; - HEAP32[$2>>2] = $pNum; - HEAP32[$3>>2] = $length; - HEAP8[$4>>0] = $enc; - $5 = $u; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = 0; - HEAP32[$neg>>2] = 0; - HEAP32[$c>>2] = 0; - HEAP32[$nonNum>>2] = 0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = (($9) + ($10)|0); - HEAP32[$zEnd>>2] = $11; - $12 = HEAP8[$4>>0]|0; - $13 = $12&255; - $14 = ($13|0)==(1); - if ($14) { - HEAP32[$incr>>2] = 1; - } else { - HEAP32[$incr>>2] = 2; - $15 = HEAP8[$4>>0]|0; - $16 = $15&255; - $17 = (3 - ($16))|0; - HEAP32[$i>>2] = $17; - while(1) { - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$3>>2]|0; - $20 = ($18|0)<($19|0); - if (!($20)) { - break; - } - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = (($22) + ($21)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24 << 24 >> 24; - $26 = ($25|0)==(0); - if (!($26)) { - break; - } - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + 2)|0; - HEAP32[$i>>2] = $28; + STACKTOP = STACKTOP + 144|0; + $vararg_buffer1 = sp + 32|0; + $vararg_buffer = sp + 24|0; + $3 = sp + 80|0; + $4 = sp + 76|0; + $5 = sp + 72|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp + 84|0; + $9 = sp + 68|0; + $10 = sp + 64|0; + $11 = sp + 60|0; + $12 = sp + 56|0; + $13 = sp + 52|0; + $14 = sp + 48|0; + $15 = sp; + $16 = sp + 44|0; + $17 = sp + 40|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_type($19)|0); + switch ($20|0) { + case 2: { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = (+_sqlite3_value_double($22)); + HEAPF64[$6>>3] = $23; + $24 = +HEAPF64[$6>>3]; + HEAPF64[$vararg_buffer>>3] = $24; + (_sqlite3_snprintf(50,$8,22196,$vararg_buffer)|0); + (_sqlite3AtoF($8,$7,20,1)|0); + $25 = +HEAPF64[$6>>3]; + $26 = +HEAPF64[$7>>3]; + $27 = $25 != $26; + if ($27) { + $28 = +HEAPF64[$6>>3]; + HEAPF64[$vararg_buffer1>>3] = $28; + (_sqlite3_snprintf(50,$8,22964,$vararg_buffer1)|0); } - $29 = HEAP32[$i>>2]|0; + $29 = HEAP32[$3>>2]|0; + _sqlite3_result_text($29,$8,-1,(-1)); + STACKTOP = sp;return; + break; + } + case 1: { $30 = HEAP32[$3>>2]|0; - $31 = ($29|0)<($30|0); - $32 = $31&1; - HEAP32[$nonNum>>2] = $32; - $33 = HEAP32[$i>>2]|0; - $34 = $33 ^ 1; - $35 = HEAP32[$1>>2]|0; - $36 = (($35) + ($34)|0); - HEAP32[$zEnd>>2] = $36; - $37 = HEAP8[$4>>0]|0; - $38 = $37&255; - $39 = $38 & 1; - $40 = HEAP32[$1>>2]|0; - $41 = (($40) + ($39)|0); - HEAP32[$1>>2] = $41; + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$31>>2]|0; + _sqlite3_result_value($30,$32); + STACKTOP = sp;return; + break; } - while(1) { - $42 = HEAP32[$1>>2]|0; - $43 = HEAP32[$zEnd>>2]|0; - $44 = ($42>>>0)<($43>>>0); - if (!($44)) { - break; - } - $45 = HEAP32[$1>>2]|0; - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = (18403 + ($47)|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = $50 & 1; - $52 = ($51|0)!=(0); - if (!($52)) { - break; + case 4: { + HEAP32[$9>>2] = 0; + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = (_sqlite3_value_blob($34)|0); + HEAP32[$10>>2] = $35; + $36 = HEAP32[$5>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = (_sqlite3_value_bytes($37)|0); + HEAP32[$11>>2] = $38; + $39 = HEAP32[$3>>2]|0; + $40 = HEAP32[$11>>2]|0; + $41 = ($40|0)<(0); + $42 = $41 << 31 >> 31; + $43 = (___muldi3(2,0,($40|0),($42|0))|0); + $44 = tempRet0; + $45 = (_i64Add(($43|0),($44|0),4,0)|0); + $46 = tempRet0; + $47 = (_contextMalloc($39,$45,$46)|0); + HEAP32[$9>>2] = $47; + $48 = HEAP32[$9>>2]|0; + $49 = ($48|0)!=(0|0); + if (!($49)) { + STACKTOP = sp;return; } - $53 = HEAP32[$incr>>2]|0; - $54 = HEAP32[$1>>2]|0; - $55 = (($54) + ($53)|0); - HEAP32[$1>>2] = $55; - } - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$zEnd>>2]|0; - $58 = ($56>>>0)<($57>>>0); - do { - if ($58) { - $59 = HEAP32[$1>>2]|0; - $60 = HEAP8[$59>>0]|0; - $61 = $60 << 24 >> 24; - $62 = ($61|0)==(45); - if ($62) { - HEAP32[$neg>>2] = 1; - $63 = HEAP32[$incr>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = (($64) + ($63)|0); - HEAP32[$1>>2] = $65; + HEAP32[$12>>2] = 0; + while(1) { + $50 = HEAP32[$12>>2]|0; + $51 = HEAP32[$11>>2]|0; + $52 = ($50|0)<($51|0); + if (!($52)) { break; } - $66 = HEAP32[$1>>2]|0; - $67 = HEAP8[$66>>0]|0; - $68 = $67 << 24 >> 24; - $69 = ($68|0)==(43); - if ($69) { - $70 = HEAP32[$incr>>2]|0; - $71 = HEAP32[$1>>2]|0; - $72 = (($71) + ($70)|0); - HEAP32[$1>>2] = $72; - } - } - } while(0); - $73 = HEAP32[$1>>2]|0; - HEAP32[$zStart>>2] = $73; - while(1) { - $74 = HEAP32[$1>>2]|0; - $75 = HEAP32[$zEnd>>2]|0; - $76 = ($74>>>0)<($75>>>0); - if (!($76)) { - break; - } - $77 = HEAP32[$1>>2]|0; - $78 = HEAP8[$77>>0]|0; - $79 = $78 << 24 >> 24; - $80 = ($79|0)==(48); - if (!($80)) { - break; - } - $81 = HEAP32[$incr>>2]|0; - $82 = HEAP32[$1>>2]|0; - $83 = (($82) + ($81)|0); - HEAP32[$1>>2] = $83; + $53 = HEAP32[$10>>2]|0; + $54 = HEAP32[$12>>2]|0; + $55 = (($53) + ($54)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = $57 >> 4; + $59 = $58 & 15; + $60 = (22971 + ($59)|0); + $61 = HEAP8[$60>>0]|0; + $62 = HEAP32[$9>>2]|0; + $63 = HEAP32[$12>>2]|0; + $64 = $63<<1; + $65 = (($64) + 2)|0; + $66 = (($62) + ($65)|0); + HEAP8[$66>>0] = $61; + $67 = HEAP32[$10>>2]|0; + $68 = HEAP32[$12>>2]|0; + $69 = (($67) + ($68)|0); + $70 = HEAP8[$69>>0]|0; + $71 = $70 << 24 >> 24; + $72 = $71 & 15; + $73 = (22971 + ($72)|0); + $74 = HEAP8[$73>>0]|0; + $75 = HEAP32[$9>>2]|0; + $76 = HEAP32[$12>>2]|0; + $77 = $76<<1; + $78 = (($77) + 3)|0; + $79 = (($75) + ($78)|0); + HEAP8[$79>>0] = $74; + $80 = HEAP32[$12>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$12>>2] = $81; + } + $82 = HEAP32[$9>>2]|0; + $83 = HEAP32[$11>>2]|0; + $84 = $83<<1; + $85 = (($84) + 2)|0; + $86 = (($82) + ($85)|0); + HEAP8[$86>>0] = 39; + $87 = HEAP32[$9>>2]|0; + $88 = HEAP32[$11>>2]|0; + $89 = $88<<1; + $90 = (($89) + 3)|0; + $91 = (($87) + ($90)|0); + HEAP8[$91>>0] = 0; + $92 = HEAP32[$9>>2]|0; + HEAP8[$92>>0] = 88; + $93 = HEAP32[$9>>2]|0; + $94 = ((($93)) + 1|0); + HEAP8[$94>>0] = 39; + $95 = HEAP32[$3>>2]|0; + $96 = HEAP32[$9>>2]|0; + _sqlite3_result_text($95,$96,-1,(-1)); + $97 = HEAP32[$9>>2]|0; + _sqlite3_free($97); + STACKTOP = sp;return; + break; } - HEAP32[$i>>2] = 0; - while(1) { - $84 = HEAP32[$i>>2]|0; - $85 = HEAP32[$1>>2]|0; - $86 = (($85) + ($84)|0); - $87 = HEAP32[$zEnd>>2]|0; - $88 = ($86>>>0)<($87>>>0); - if ($88) { - $89 = HEAP32[$i>>2]|0; - $90 = HEAP32[$1>>2]|0; - $91 = (($90) + ($89)|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92 << 24 >> 24; - HEAP32[$c>>2] = $93; - $94 = ($93|0)>=(48); - if ($94) { - $95 = HEAP32[$c>>2]|0; - $96 = ($95|0)<=(57); - $182 = $96; - } else { - $182 = 0; - } - } else { - $182 = 0; - } - $97 = $u; - $98 = $97; + case 3: { + $98 = HEAP32[$5>>2]|0; $99 = HEAP32[$98>>2]|0; - $100 = (($97) + 4)|0; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - if (!($182)) { - break; + $100 = (_sqlite3_value_text($99)|0); + HEAP32[$16>>2] = $100; + $101 = HEAP32[$16>>2]|0; + $102 = ($101|0)==(0|0); + if ($102) { + STACKTOP = sp;return; } - $103 = (___muldi3(($99|0),($102|0),10,0)|0); - $104 = tempRet0; - $105 = HEAP32[$c>>2]|0; - $106 = ($105|0)<(0); - $107 = $106 << 31 >> 31; - $108 = (_i64Add(($103|0),($104|0),($105|0),($107|0))|0); - $109 = tempRet0; - $110 = (_i64Subtract(($108|0),($109|0),48,0)|0); - $111 = tempRet0; - $112 = $u; - $113 = $112; - HEAP32[$113>>2] = $110; - $114 = (($112) + 4)|0; - $115 = $114; - HEAP32[$115>>2] = $111; - $116 = HEAP32[$incr>>2]|0; - $117 = HEAP32[$i>>2]|0; - $118 = (($117) + ($116))|0; - HEAP32[$i>>2] = $118; - } - $119 = ($102>>>0)>(2147483647); - $120 = ($99>>>0)>(4294967295); - $121 = ($102|0)==(2147483647); - $122 = $121 & $120; - $123 = $119 | $122; - $124 = HEAP32[$neg>>2]|0; - $125 = ($124|0)!=(0); - do { - if ($123) { - $126 = $125 ? 0 : -1; - $127 = $125 ? -2147483648 : 2147483647; - $128 = HEAP32[$2>>2]|0; - $129 = $128; - $130 = $129; - HEAP32[$130>>2] = $126; - $131 = (($129) + 4)|0; - $132 = $131; - HEAP32[$132>>2] = $127; - } else { - $133 = $u; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = (($133) + 4)|0; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - if ($125) { - $139 = (_i64Subtract(0,0,($135|0),($138|0))|0); - $140 = tempRet0; - $141 = HEAP32[$2>>2]|0; - $142 = $141; - $143 = $142; - HEAP32[$143>>2] = $139; - $144 = (($142) + 4)|0; - $145 = $144; - HEAP32[$145>>2] = $140; - break; - } else { - $146 = HEAP32[$2>>2]|0; - $147 = $146; - $148 = $147; - HEAP32[$148>>2] = $135; - $149 = (($147) + 4)|0; - $150 = $149; - HEAP32[$150>>2] = $138; + HEAP32[$13>>2] = 0; + $103 = $15; + $104 = $103; + HEAP32[$104>>2] = 0; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = 0; + while(1) { + $107 = HEAP32[$16>>2]|0; + $108 = HEAP32[$13>>2]|0; + $109 = (($107) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = ($110<<24>>24)!=(0); + if (!($111)) { break; } - } - } while(0); - $151 = HEAP32[$i>>2]|0; - $152 = HEAP32[$1>>2]|0; - $153 = (($152) + ($151)|0); - $154 = HEAP32[$zEnd>>2]|0; - $155 = ($153>>>0)<($154>>>0); - do { - if (!($155)) { - $156 = HEAP32[$i>>2]|0; - $157 = ($156|0)==(0); - if ($157) { - $158 = HEAP32[$zStart>>2]|0; - $159 = HEAP32[$1>>2]|0; - $160 = ($158|0)==($159|0); - if ($160) { - break; - } - } - $161 = HEAP32[$i>>2]|0; - $162 = HEAP32[$incr>>2]|0; - $163 = ($162*19)|0; - $164 = ($161|0)>($163|0); - $165 = HEAP32[$nonNum>>2]|0; - $166 = ($165|0)!=(0); - $or$cond = $164 | $166; - if (!($or$cond)) { - $167 = HEAP32[$i>>2]|0; - $168 = HEAP32[$incr>>2]|0; - $169 = ($168*19)|0; - $170 = ($167|0)<($169|0); - if ($170) { - HEAP32[$0>>2] = 0; - $181 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($181|0); - } - $171 = HEAP32[$1>>2]|0; - $172 = HEAP32[$incr>>2]|0; - $173 = (_compare2pow63($171,$172)|0); - HEAP32[$c>>2] = $173; - $174 = HEAP32[$c>>2]|0; - $175 = ($174|0)<(0); - if ($175) { - HEAP32[$0>>2] = 0; - $181 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($181|0); - } - $176 = HEAP32[$c>>2]|0; - $177 = ($176|0)>(0); - if ($177) { - HEAP32[$0>>2] = 1; - $181 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($181|0); - } else { - $178 = HEAP32[$neg>>2]|0; - $179 = ($178|0)!=(0); - $180 = $179 ? 0 : 2; - HEAP32[$0>>2] = $180; - $181 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($181|0); - } + $112 = HEAP32[$16>>2]|0; + $113 = HEAP32[$13>>2]|0; + $114 = (($112) + ($113)|0); + $115 = HEAP8[$114>>0]|0; + $116 = $115&255; + $117 = ($116|0)==(39); + if ($117) { + $118 = $15; + $119 = $118; + $120 = HEAP32[$119>>2]|0; + $121 = (($118) + 4)|0; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = (_i64Add(($120|0),($123|0),1,0)|0); + $125 = tempRet0; + $126 = $15; + $127 = $126; + HEAP32[$127>>2] = $124; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; } + $130 = HEAP32[$13>>2]|0; + $131 = (($130) + 1)|0; + HEAP32[$13>>2] = $131; } - } while(0); - HEAP32[$0>>2] = 1; - $181 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($181|0); -} -function _compare2pow63($zNum,$incr) { - $zNum = $zNum|0; - $incr = $incr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $i = 0, $pow63 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $c = sp + 8|0; - $i = sp + 4|0; - $pow63 = sp; - HEAP32[$0>>2] = $zNum; - HEAP32[$1>>2] = $incr; - HEAP32[$c>>2] = 0; - HEAP32[$pow63>>2] = 18767; - HEAP32[$i>>2] = 0; - while(1) { - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)==(0); - $4 = HEAP32[$i>>2]|0; - $5 = ($4|0)<(18); - $6 = $3 ? $5 : 0; - if (!($6)) { - break; + $132 = HEAP32[$3>>2]|0; + $133 = HEAP32[$13>>2]|0; + $134 = ($133|0)<(0); + $135 = $134 << 31 >> 31; + $136 = $15; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = (_i64Add(($133|0),($135|0),($138|0),($141|0))|0); + $143 = tempRet0; + $144 = (_i64Add(($142|0),($143|0),3,0)|0); + $145 = tempRet0; + $146 = (_contextMalloc($132,$144,$145)|0); + HEAP32[$17>>2] = $146; + $147 = HEAP32[$17>>2]|0; + $148 = ($147|0)!=(0|0); + if (!($148)) { + STACKTOP = sp;return; } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = Math_imul($7, $8)|0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + ($9)|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12 << 24 >> 24; - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$pow63>>2]|0; - $16 = (($15) + ($14)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 << 24 >> 24; - $19 = (($13) - ($18))|0; - $20 = ($19*10)|0; - HEAP32[$c>>2] = $20; - $21 = HEAP32[$i>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$i>>2] = $22; + $149 = HEAP32[$17>>2]|0; + HEAP8[$149>>0] = 39; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 1; + while(1) { + $150 = HEAP32[$16>>2]|0; + $151 = HEAP32[$13>>2]|0; + $152 = (($150) + ($151)|0); + $153 = HEAP8[$152>>0]|0; + $154 = ($153<<24>>24)!=(0); + if (!($154)) { + break; + } + $155 = HEAP32[$16>>2]|0; + $156 = HEAP32[$13>>2]|0; + $157 = (($155) + ($156)|0); + $158 = HEAP8[$157>>0]|0; + $159 = HEAP32[$17>>2]|0; + $160 = HEAP32[$14>>2]|0; + $161 = (($160) + 1)|0; + HEAP32[$14>>2] = $161; + $162 = (($159) + ($160)|0); + HEAP8[$162>>0] = $158; + $163 = HEAP32[$16>>2]|0; + $164 = HEAP32[$13>>2]|0; + $165 = (($163) + ($164)|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $168 = ($167|0)==(39); + if ($168) { + $169 = HEAP32[$17>>2]|0; + $170 = HEAP32[$14>>2]|0; + $171 = (($170) + 1)|0; + HEAP32[$14>>2] = $171; + $172 = (($169) + ($170)|0); + HEAP8[$172>>0] = 39; + } + $173 = HEAP32[$13>>2]|0; + $174 = (($173) + 1)|0; + HEAP32[$13>>2] = $174; + } + $175 = HEAP32[$17>>2]|0; + $176 = HEAP32[$14>>2]|0; + $177 = (($176) + 1)|0; + HEAP32[$14>>2] = $177; + $178 = (($175) + ($176)|0); + HEAP8[$178>>0] = 39; + $179 = HEAP32[$17>>2]|0; + $180 = HEAP32[$14>>2]|0; + $181 = (($179) + ($180)|0); + HEAP8[$181>>0] = 0; + $182 = HEAP32[$3>>2]|0; + $183 = HEAP32[$17>>2]|0; + $184 = HEAP32[$14>>2]|0; + _sqlite3_result_text($182,$183,$184,157); + STACKTOP = sp;return; + break; + } + default: { + $185 = HEAP32[$3>>2]|0; + _sqlite3_result_text($185,20953,4,0); + STACKTOP = sp;return; } - $23 = HEAP32[$c>>2]|0; - $24 = ($23|0)==(0); - if (!($24)) { - $32 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($32|0); } - $25 = HEAP32[$1>>2]|0; - $26 = ($25*18)|0; - $27 = HEAP32[$0>>2]|0; - $28 = (($27) + ($26)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29 << 24 >> 24; - $31 = (($30) - 56)|0; - HEAP32[$c>>2] = $31; - $32 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($32|0); } -function _getSafetyLevel($z,$omitFull,$dflt) { - $z = $z|0; - $omitFull = $omitFull|0; - $dflt = $dflt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, label = 0, sp = 0; +function _last_insert_rowid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 17|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 16|0; - $i = sp + 4|0; - $n = sp; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $omitFull; - HEAP8[$3>>0] = $dflt; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = (18403 + ($6)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = $9 & 4; - $11 = ($10|0)!=(0); - $12 = HEAP32[$1>>2]|0; - if ($11) { - $13 = (_sqlite3Atoi($12)|0); - $14 = $13&255; - HEAP8[$0>>0] = $14; - $46 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($46|0); + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3_context_db_handle($7)|0); + HEAP32[$6>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = (_sqlite3_last_insert_rowid($10)|0); + $12 = tempRet0; + _sqlite3_result_int64($9,$11,$12); + STACKTOP = sp;return; +} +function _changes($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; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3_context_db_handle($7)|0); + HEAP32[$6>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = (_sqlite3_changes($10)|0); + _sqlite3_result_int($9,$11); + STACKTOP = sp;return; +} +function _total_changes($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; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3_context_db_handle($7)|0); + HEAP32[$6>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = (_sqlite3_total_changes($10)|0); + _sqlite3_result_int($9,$11); + STACKTOP = sp;return; +} +function _replaceFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $3 = sp + 64|0; + $4 = sp + 60|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp; + $14 = sp + 24|0; + $15 = sp + 20|0; + $16 = sp + 16|0; + $17 = sp + 12|0; + $18 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3_value_text($20)|0); + HEAP32[$6>>2] = $21; + $22 = HEAP32[$6>>2]|0; + $23 = ($22|0)==(0|0); + if ($23) { + STACKTOP = sp;return; + } + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3_value_bytes($25)|0); + HEAP32[$10>>2] = $26; + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_sqlite3_value_text($29)|0); + HEAP32[$7>>2] = $30; + $31 = HEAP32[$7>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + STACKTOP = sp;return; } - $15 = (_sqlite3Strlen30($12)|0); - HEAP32[$n>>2] = $15; - HEAP32[$i>>2] = 0; + $33 = HEAP32[$7>>2]|0; + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = ($35|0)==(0); + if ($36) { + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$38>>2]|0; + _sqlite3_result_value($37,$39); + STACKTOP = sp;return; + } + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = (_sqlite3_value_bytes($42)|0); + HEAP32[$11>>2] = $43; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 8|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_sqlite3_value_text($46)|0); + HEAP32[$8>>2] = $47; + $48 = HEAP32[$8>>2]|0; + $49 = ($48|0)==(0|0); + if ($49) { + STACKTOP = sp;return; + } + $50 = HEAP32[$5>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = (_sqlite3_value_bytes($52)|0); + HEAP32[$12>>2] = $53; + $54 = HEAP32[$10>>2]|0; + $55 = (($54) + 1)|0; + $56 = ($55|0)<(0); + $57 = $56 << 31 >> 31; + $58 = $13; + $59 = $58; + HEAP32[$59>>2] = $55; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = HEAP32[$3>>2]|0; + $63 = $13; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (($63) + 4)|0; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (_contextMalloc($62,$65,$68)|0); + HEAP32[$9>>2] = $69; + $70 = HEAP32[$9>>2]|0; + $71 = ($70|0)==(0|0); + if ($71) { + STACKTOP = sp;return; + } + $72 = HEAP32[$10>>2]|0; + $73 = HEAP32[$11>>2]|0; + $74 = (($72) - ($73))|0; + HEAP32[$14>>2] = $74; + HEAP32[$16>>2] = 0; + HEAP32[$15>>2] = 0; while(1) { - $16 = HEAP32[$i>>2]|0; - $17 = ($16|0)<(8); - if (!($17)) { - label = 11; + $75 = HEAP32[$15>>2]|0; + $76 = HEAP32[$14>>2]|0; + $77 = ($75|0)<=($76|0); + if (!($77)) { + label = 18; break; } - $18 = HEAP32[$i>>2]|0; - $19 = (18786 + ($18)|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = HEAP32[$n>>2]|0; - $23 = ($21|0)==($22|0); - if ($23) { - $24 = HEAP32[$i>>2]|0; - $25 = (18794 + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (18802 + ($27)|0); - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$n>>2]|0; - $31 = (_sqlite3_strnicmp($28,$29,$30)|0); - $32 = ($31|0)==(0); - if ($32) { - $33 = HEAP32[$2>>2]|0; - $34 = ($33|0)!=(0); - if (!($34)) { - label = 9; + $78 = HEAP32[$6>>2]|0; + $79 = HEAP32[$15>>2]|0; + $80 = (($78) + ($79)|0); + $81 = HEAP8[$80>>0]|0; + $82 = $81&255; + $83 = HEAP32[$7>>2]|0; + $84 = HEAP8[$83>>0]|0; + $85 = $84&255; + $86 = ($82|0)!=($85|0); + if ($86) { + label = 11; + } else { + $87 = HEAP32[$6>>2]|0; + $88 = HEAP32[$15>>2]|0; + $89 = (($87) + ($88)|0); + $90 = HEAP32[$7>>2]|0; + $91 = HEAP32[$11>>2]|0; + $92 = (_memcmp($89,$90,$91)|0); + $93 = ($92|0)!=(0); + if ($93) { + label = 11; + } else { + $102 = HEAP32[$3>>2]|0; + $103 = (_sqlite3_context_db_handle($102)|0); + HEAP32[$18>>2] = $103; + $104 = HEAP32[$12>>2]|0; + $105 = HEAP32[$11>>2]|0; + $106 = (($104) - ($105))|0; + $107 = ($106|0)<(0); + $108 = $107 << 31 >> 31; + $109 = $13; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = (_i64Add(($111|0),($114|0),($106|0),($108|0))|0); + $116 = tempRet0; + $117 = $13; + $118 = $117; + HEAP32[$118>>2] = $115; + $119 = (($117) + 4)|0; + $120 = $119; + HEAP32[$120>>2] = $116; + $121 = $13; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = (($121) + 4)|0; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (_i64Subtract(($123|0),($126|0),1,0)|0); + $128 = tempRet0; + $129 = HEAP32[$18>>2]|0; + $130 = ((($129)) + 96|0); + $131 = HEAP32[$130>>2]|0; + $132 = ($131|0)<(0); + $133 = $132 << 31 >> 31; + $134 = ($128|0)>($133|0); + $135 = ($127>>>0)>($131>>>0); + $136 = ($128|0)==($133|0); + $137 = $136 & $135; + $138 = $134 | $137; + if ($138) { + label = 13; break; } - $35 = HEAP32[$i>>2]|0; - $36 = (18827 + ($35)|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = ($38|0)<=(1); - if ($39) { - label = 9; + $141 = HEAP32[$9>>2]|0; + HEAP32[$17>>2] = $141; + $142 = HEAP32[$9>>2]|0; + $143 = $13; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = (($143) + 4)|0; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = ($145|0)<(0); + $150 = $149 << 31 >> 31; + $151 = (_sqlite3_realloc64($142,$145,$150)|0); + HEAP32[$9>>2] = $151; + $152 = HEAP32[$9>>2]|0; + $153 = ($152|0)==(0|0); + if ($153) { + label = 15; break; } + $156 = HEAP32[$9>>2]|0; + $157 = HEAP32[$16>>2]|0; + $158 = (($156) + ($157)|0); + $159 = HEAP32[$8>>2]|0; + $160 = HEAP32[$12>>2]|0; + _memcpy(($158|0),($159|0),($160|0))|0; + $161 = HEAP32[$12>>2]|0; + $162 = HEAP32[$16>>2]|0; + $163 = (($162) + ($161))|0; + HEAP32[$16>>2] = $163; + $164 = HEAP32[$11>>2]|0; + $165 = (($164) - 1)|0; + $166 = HEAP32[$15>>2]|0; + $167 = (($166) + ($165))|0; + HEAP32[$15>>2] = $167; } } - $43 = HEAP32[$i>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$i>>2] = $44; + if ((label|0) == 11) { + label = 0; + $94 = HEAP32[$6>>2]|0; + $95 = HEAP32[$15>>2]|0; + $96 = (($94) + ($95)|0); + $97 = HEAP8[$96>>0]|0; + $98 = HEAP32[$9>>2]|0; + $99 = HEAP32[$16>>2]|0; + $100 = (($99) + 1)|0; + HEAP32[$16>>2] = $100; + $101 = (($98) + ($99)|0); + HEAP8[$101>>0] = $97; + } + $168 = HEAP32[$15>>2]|0; + $169 = (($168) + 1)|0; + HEAP32[$15>>2] = $169; } - if ((label|0) == 9) { - $40 = HEAP32[$i>>2]|0; - $41 = (18827 + ($40)|0); - $42 = HEAP8[$41>>0]|0; - HEAP8[$0>>0] = $42; - $46 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($46|0); + if ((label|0) == 13) { + $139 = HEAP32[$3>>2]|0; + _sqlite3_result_error_toobig($139); + $140 = HEAP32[$9>>2]|0; + _sqlite3_free($140); + STACKTOP = sp;return; } - else if ((label|0) == 11) { - $45 = HEAP8[$3>>0]|0; - HEAP8[$0>>0] = $45; - $46 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($46|0); + else if ((label|0) == 15) { + $154 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($154); + $155 = HEAP32[$17>>2]|0; + _sqlite3_free($155); + STACKTOP = sp;return; + } + else if ((label|0) == 18) { + $170 = HEAP32[$9>>2]|0; + $171 = HEAP32[$16>>2]|0; + $172 = (($170) + ($171)|0); + $173 = HEAP32[$6>>2]|0; + $174 = HEAP32[$15>>2]|0; + $175 = (($173) + ($174)|0); + $176 = HEAP32[$10>>2]|0; + $177 = HEAP32[$15>>2]|0; + $178 = (($176) - ($177))|0; + _memcpy(($172|0),($175|0),($178|0))|0; + $179 = HEAP32[$10>>2]|0; + $180 = HEAP32[$15>>2]|0; + $181 = (($179) - ($180))|0; + $182 = HEAP32[$16>>2]|0; + $183 = (($182) + ($181))|0; + HEAP32[$16>>2] = $183; + $184 = HEAP32[$9>>2]|0; + $185 = HEAP32[$16>>2]|0; + $186 = (($184) + ($185)|0); + HEAP8[$186>>0] = 0; + $187 = HEAP32[$3>>2]|0; + $188 = HEAP32[$9>>2]|0; + $189 = HEAP32[$16>>2]|0; + _sqlite3_result_text($187,$188,$189,157); + STACKTOP = sp;return; } - return (0)|0; } -function _sqlite3Atoi($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $x = 0, label = 0, sp = 0; +function _zeroblobFunc($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $x = sp; - HEAP32[$0>>2] = $z; - HEAP32[$x>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if ($2) { - $3 = HEAP32[$0>>2]|0; - (_sqlite3GetInt32($3,$x)|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3_value_int64($9)|0); + $11 = tempRet0; + $12 = $6; + $13 = $12; + HEAP32[$13>>2] = $10; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $11; + $16 = $6; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)<(0); + $23 = $22 ? 0 : $10; + $24 = $22 ? 0 : $11; + $25 = $6; + $26 = $25; + HEAP32[$26>>2] = $23; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $24; + $29 = HEAP32[$3>>2]|0; + $30 = $6; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (_sqlite3_result_zeroblob64($29,$32,$35)|0); + HEAP32[$7>>2] = $36; + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)!=(0); + if (!($38)) { + STACKTOP = sp;return; } - $4 = HEAP32[$x>>2]|0; - STACKTOP = sp;return ($4|0); + $39 = HEAP32[$3>>2]|0; + $40 = HEAP32[$7>>2]|0; + _sqlite3_result_error_code($39,$40); + STACKTOP = sp;return; } -function _sqlite3GetInt32($zNum,$pValue) { - $zNum = $zNum|0; - $pValue = $pValue|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $c = 0, $i = 0, $neg = 0, $or$cond = 0, $u = 0, $v = 0, label = 0, sp = 0; +function _substrFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; + var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; + var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; + var $425 = 0, $426 = 0, $427 = 0, $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $v = sp; - $i = sp + 20|0; - $c = sp + 16|0; - $neg = sp + 12|0; - $u = sp + 8|0; - HEAP32[$1>>2] = $zNum; - HEAP32[$2>>2] = $pValue; - $3 = $v; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 0; - HEAP32[$neg>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)==(45); - do { - if ($10) { - HEAP32[$neg>>2] = 1; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 1|0); - HEAP32[$1>>2] = $12; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 8|0; + $11 = sp; + $12 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$12>>2] = 0; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3_value_type($15)|0); + $17 = ($16|0)==(5); + if ($17) { + STACKTOP = sp;return; + } + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)==(3); + if ($19) { + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3_value_type($22)|0); + $24 = ($23|0)==(5); + if ($24) { + STACKTOP = sp;return; + } + } + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3_value_type($26)|0); + HEAP32[$9>>2] = $27; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_value_int($30)|0); + $32 = ($31|0)<(0); + $33 = $32 << 31 >> 31; + $34 = $10; + $35 = $34; + HEAP32[$35>>2] = $31; + $36 = (($34) + 4)|0; + $37 = $36; + HEAP32[$37>>2] = $33; + $38 = HEAP32[$9>>2]|0; + $39 = ($38|0)==(4); + $40 = HEAP32[$5>>2]|0; + $41 = HEAP32[$40>>2]|0; + L8: do { + if ($39) { + $42 = (_sqlite3_value_bytes($41)|0); + HEAP32[$8>>2] = $42; + $43 = HEAP32[$5>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = (_sqlite3_value_blob($44)|0); + HEAP32[$6>>2] = $45; + $46 = HEAP32[$6>>2]|0; + $47 = ($46|0)==(0|0); + if ($47) { + STACKTOP = sp;return; + } } else { - $13 = HEAP32[$1>>2]|0; - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = ($15|0)==(43); - $17 = HEAP32[$1>>2]|0; - if ($16) { - $18 = ((($17)) + 1|0); - HEAP32[$1>>2] = $18; - break; + $48 = (_sqlite3_value_text($41)|0); + HEAP32[$6>>2] = $48; + $49 = HEAP32[$6>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + STACKTOP = sp;return; } - $19 = HEAP8[$17>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($20|0)==(48); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24 << 24 >> 24; - $26 = ($25|0)==(120); - if (!($26)) { - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 1|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29 << 24 >> 24; - $31 = ($30|0)==(88); - if (!($31)) { - break; - } - } - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = (18403 + ($35)|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = $38 & 8; - $40 = ($39|0)!=(0); - if ($40) { - HEAP32[$u>>2] = 0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 2|0); - HEAP32[$1>>2] = $42; - while(1) { - $43 = HEAP32[$1>>2]|0; - $44 = HEAP8[$43>>0]|0; - $45 = $44 << 24 >> 24; - $46 = ($45|0)==(48); - if (!($46)) { - break; - } - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 1|0); - HEAP32[$1>>2] = $48; - } - HEAP32[$i>>2] = 0; - while(1) { - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = (($50) + ($49)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = (18403 + ($53)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = $56 & 8; - $58 = ($57|0)!=(0); - $59 = HEAP32[$i>>2]|0; - $60 = ($59|0)<(8); - $61 = $58 ? $60 : 0; - $62 = HEAP32[$u>>2]|0; - if (!($61)) { - break; - } - $63 = $62<<4; - $64 = HEAP32[$i>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = (($65) + ($64)|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67 << 24 >> 24; - $69 = (_sqlite3HexToInt($68)|0); - $70 = $69&255; - $71 = (($63) + ($70))|0; - HEAP32[$u>>2] = $71; - $72 = HEAP32[$i>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$i>>2] = $73; + HEAP32[$8>>2] = 0; + $51 = $10; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = ($56|0)<(0); + if ($57) { + $58 = HEAP32[$6>>2]|0; + HEAP32[$7>>2] = $58; + while(1) { + $59 = HEAP32[$7>>2]|0; + $60 = HEAP8[$59>>0]|0; + $61 = ($60<<24>>24)!=(0); + if (!($61)) { + break L8; } - $74 = $62 & -2147483648; - $75 = ($74|0)==(0); - if ($75) { - $76 = HEAP32[$i>>2]|0; - $77 = HEAP32[$1>>2]|0; - $78 = (($77) + ($76)|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = (18403 + ($80)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 & 8; - $85 = ($84|0)==(0); - if ($85) { - $86 = HEAP32[$2>>2]|0; - ;HEAP32[$86>>2]=HEAP32[$u>>2]|0; - HEAP32[$0>>2] = 1; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); + $62 = HEAP32[$7>>2]|0; + $63 = ((($62)) + 1|0); + HEAP32[$7>>2] = $63; + $64 = HEAP8[$62>>0]|0; + $65 = $64&255; + $66 = ($65|0)>=(192); + L19: do { + if ($66) { + while(1) { + $67 = HEAP32[$7>>2]|0; + $68 = HEAP8[$67>>0]|0; + $69 = $68&255; + $70 = $69 & 192; + $71 = ($70|0)==(128); + if (!($71)) { + break L19; + } + $72 = HEAP32[$7>>2]|0; + $73 = ((($72)) + 1|0); + HEAP32[$7>>2] = $73; + } } - } - HEAP32[$0>>2] = 0; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); + } while(0); + $74 = HEAP32[$8>>2]|0; + $75 = (($74) + 1)|0; + HEAP32[$8>>2] = $75; } } } } while(0); - while(1) { - $87 = HEAP32[$1>>2]|0; - $88 = HEAP8[$87>>0]|0; - $89 = $88 << 24 >> 24; - $90 = ($89|0)==(48); - if (!($90)) { - break; + $76 = HEAP32[$4>>2]|0; + $77 = ($76|0)==(3); + if ($77) { + $78 = HEAP32[$5>>2]|0; + $79 = ((($78)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (_sqlite3_value_int($80)|0); + $82 = ($81|0)<(0); + $83 = $82 << 31 >> 31; + $84 = $11; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = (($84) + 4)|0; + $87 = $86; + HEAP32[$87>>2] = $83; + $88 = $11; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = ($93|0)<(0); + if ($94) { + $95 = $11; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (_i64Subtract(0,0,($97|0),($100|0))|0); + $102 = tempRet0; + $103 = $11; + $104 = $103; + HEAP32[$104>>2] = $101; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + HEAP32[$12>>2] = 1; } - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 1|0); - HEAP32[$1>>2] = $92; + } else { + $107 = HEAP32[$3>>2]|0; + $108 = (_sqlite3_context_db_handle($107)|0); + $109 = ((($108)) + 96|0); + $110 = HEAP32[$109>>2]|0; + $111 = ($110|0)<(0); + $112 = $111 << 31 >> 31; + $113 = $11; + $114 = $113; + HEAP32[$114>>2] = $110; + $115 = (($113) + 4)|0; + $116 = $115; + HEAP32[$116>>2] = $112; } - HEAP32[$i>>2] = 0; - while(1) { - $93 = HEAP32[$i>>2]|0; - $94 = ($93|0)<(11); - if (!($94)) { - break; + $117 = $10; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = ($122|0)<(0); + do { + if ($123) { + $124 = HEAP32[$8>>2]|0; + $125 = ($124|0)<(0); + $126 = $125 << 31 >> 31; + $127 = $10; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (_i64Add(($129|0),($132|0),($124|0),($126|0))|0); + $134 = tempRet0; + $135 = $10; + $136 = $135; + HEAP32[$136>>2] = $133; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + $139 = $10; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = (($139) + 4)|0; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = ($144|0)<(0); + if ($145) { + $146 = $10; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $11; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = (_i64Add(($154|0),($157|0),($148|0),($151|0))|0); + $159 = tempRet0; + $160 = $11; + $161 = $160; + HEAP32[$161>>2] = $158; + $162 = (($160) + 4)|0; + $163 = $162; + HEAP32[$163>>2] = $159; + $164 = $11; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = (($164) + 4)|0; + $168 = $167; + $169 = HEAP32[$168>>2]|0; + $170 = ($169|0)<(0); + $171 = $170 ? 0 : $158; + $172 = $170 ? 0 : $159; + $173 = $11; + $174 = $173; + HEAP32[$174>>2] = $171; + $175 = (($173) + 4)|0; + $176 = $175; + HEAP32[$176>>2] = $172; + $177 = $10; + $178 = $177; + HEAP32[$178>>2] = 0; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = 0; + } + } else { + $181 = $10; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = (($181) + 4)|0; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + $187 = ($186|0)>(0); + $188 = ($183>>>0)>(0); + $189 = ($186|0)==(0); + $190 = $189 & $188; + $191 = $187 | $190; + if ($191) { + $192 = $10; + $193 = $192; + $194 = HEAP32[$193>>2]|0; + $195 = (($192) + 4)|0; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (_i64Add(($194|0),($197|0),-1,-1)|0); + $199 = tempRet0; + $200 = $10; + $201 = $200; + HEAP32[$201>>2] = $198; + $202 = (($200) + 4)|0; + $203 = $202; + HEAP32[$203>>2] = $199; + break; + } + $204 = $11; + $205 = $204; + $206 = HEAP32[$205>>2]|0; + $207 = (($204) + 4)|0; + $208 = $207; + $209 = HEAP32[$208>>2]|0; + $210 = ($209|0)>(0); + $211 = ($206>>>0)>(0); + $212 = ($209|0)==(0); + $213 = $212 & $211; + $214 = $210 | $213; + if ($214) { + $215 = $11; + $216 = $215; + $217 = HEAP32[$216>>2]|0; + $218 = (($215) + 4)|0; + $219 = $218; + $220 = HEAP32[$219>>2]|0; + $221 = (_i64Add(($217|0),($220|0),-1,-1)|0); + $222 = tempRet0; + $223 = $11; + $224 = $223; + HEAP32[$224>>2] = $221; + $225 = (($223) + 4)|0; + $226 = $225; + HEAP32[$226>>2] = $222; + } } - $95 = HEAP32[$i>>2]|0; - $96 = HEAP32[$1>>2]|0; - $97 = (($96) + ($95)|0); - $98 = HEAP8[$97>>0]|0; - $99 = $98 << 24 >> 24; - $100 = (($99) - 48)|0; - HEAP32[$c>>2] = $100; - $101 = ($100|0)>=(0); - $102 = HEAP32[$c>>2]|0; - $103 = ($102|0)<=(9); - $or$cond = $101 & $103; - if (!($or$cond)) { + } while(0); + $227 = HEAP32[$12>>2]|0; + $228 = ($227|0)!=(0); + if ($228) { + $229 = $11; + $230 = $229; + $231 = HEAP32[$230>>2]|0; + $232 = (($229) + 4)|0; + $233 = $232; + $234 = HEAP32[$233>>2]|0; + $235 = $10; + $236 = $235; + $237 = HEAP32[$236>>2]|0; + $238 = (($235) + 4)|0; + $239 = $238; + $240 = HEAP32[$239>>2]|0; + $241 = (_i64Subtract(($237|0),($240|0),($231|0),($234|0))|0); + $242 = tempRet0; + $243 = $10; + $244 = $243; + HEAP32[$244>>2] = $241; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP32[$246>>2] = $242; + $247 = $10; + $248 = $247; + $249 = HEAP32[$248>>2]|0; + $250 = (($247) + 4)|0; + $251 = $250; + $252 = HEAP32[$251>>2]|0; + $253 = ($252|0)<(0); + if ($253) { + $254 = $10; + $255 = $254; + $256 = HEAP32[$255>>2]|0; + $257 = (($254) + 4)|0; + $258 = $257; + $259 = HEAP32[$258>>2]|0; + $260 = $11; + $261 = $260; + $262 = HEAP32[$261>>2]|0; + $263 = (($260) + 4)|0; + $264 = $263; + $265 = HEAP32[$264>>2]|0; + $266 = (_i64Add(($262|0),($265|0),($256|0),($259|0))|0); + $267 = tempRet0; + $268 = $11; + $269 = $268; + HEAP32[$269>>2] = $266; + $270 = (($268) + 4)|0; + $271 = $270; + HEAP32[$271>>2] = $267; + $272 = $10; + $273 = $272; + HEAP32[$273>>2] = 0; + $274 = (($272) + 4)|0; + $275 = $274; + HEAP32[$275>>2] = 0; + } + } + $276 = HEAP32[$9>>2]|0; + $277 = ($276|0)!=(4); + if (!($277)) { + $363 = $10; + $364 = $363; + $365 = HEAP32[$364>>2]|0; + $366 = (($363) + 4)|0; + $367 = $366; + $368 = HEAP32[$367>>2]|0; + $369 = $11; + $370 = $369; + $371 = HEAP32[$370>>2]|0; + $372 = (($369) + 4)|0; + $373 = $372; + $374 = HEAP32[$373>>2]|0; + $375 = (_i64Add(($365|0),($368|0),($371|0),($374|0))|0); + $376 = tempRet0; + $377 = HEAP32[$8>>2]|0; + $378 = ($377|0)<(0); + $379 = $378 << 31 >> 31; + $380 = ($376|0)>($379|0); + $381 = ($375>>>0)>($377>>>0); + $382 = ($376|0)==($379|0); + $383 = $382 & $381; + $384 = $380 | $383; + if ($384) { + $385 = HEAP32[$8>>2]|0; + $386 = ($385|0)<(0); + $387 = $386 << 31 >> 31; + $388 = $10; + $389 = $388; + $390 = HEAP32[$389>>2]|0; + $391 = (($388) + 4)|0; + $392 = $391; + $393 = HEAP32[$392>>2]|0; + $394 = (_i64Subtract(($385|0),($387|0),($390|0),($393|0))|0); + $395 = tempRet0; + $396 = $11; + $397 = $396; + HEAP32[$397>>2] = $394; + $398 = (($396) + 4)|0; + $399 = $398; + HEAP32[$399>>2] = $395; + $400 = $11; + $401 = $400; + $402 = HEAP32[$401>>2]|0; + $403 = (($400) + 4)|0; + $404 = $403; + $405 = HEAP32[$404>>2]|0; + $406 = ($405|0)<(0); + $407 = $406 ? 0 : $394; + $408 = $406 ? 0 : $395; + $409 = $11; + $410 = $409; + HEAP32[$410>>2] = $407; + $411 = (($409) + 4)|0; + $412 = $411; + HEAP32[$412>>2] = $408; + } + $413 = HEAP32[$3>>2]|0; + $414 = HEAP32[$6>>2]|0; + $415 = $10; + $416 = $415; + $417 = HEAP32[$416>>2]|0; + $418 = (($415) + 4)|0; + $419 = $418; + $420 = HEAP32[$419>>2]|0; + $421 = (($414) + ($417)|0); + $422 = $11; + $423 = $422; + $424 = HEAP32[$423>>2]|0; + $425 = (($422) + 4)|0; + $426 = $425; + $427 = HEAP32[$426>>2]|0; + _sqlite3_result_blob64($413,$421,$424,$427,(-1)); + STACKTOP = sp;return; + } + while(1) { + $278 = HEAP32[$6>>2]|0; + $279 = HEAP8[$278>>0]|0; + $280 = $279&255; + $281 = ($280|0)!=(0); + $282 = $10; + $283 = $282; + $284 = HEAP32[$283>>2]|0; + $285 = (($282) + 4)|0; + $286 = $285; + $287 = HEAP32[$286>>2]|0; + $288 = ($284|0)!=(0); + $289 = ($287|0)!=(0); + $290 = $288 | $289; + $291 = $281 ? $290 : 0; + $292 = HEAP32[$6>>2]|0; + if (!($291)) { break; } - $104 = $v; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (___muldi3(($106|0),($109|0),10,0)|0); - $111 = tempRet0; - $112 = HEAP32[$c>>2]|0; - $113 = ($112|0)<(0); - $114 = $113 << 31 >> 31; - $115 = (_i64Add(($110|0),($111|0),($112|0),($114|0))|0); - $116 = tempRet0; - $117 = $v; - $118 = $117; - HEAP32[$118>>2] = $115; - $119 = (($117) + 4)|0; - $120 = $119; - HEAP32[$120>>2] = $116; - $121 = HEAP32[$i>>2]|0; - $122 = (($121) + 1)|0; - HEAP32[$i>>2] = $122; + $293 = ((($292)) + 1|0); + HEAP32[$6>>2] = $293; + $294 = HEAP8[$292>>0]|0; + $295 = $294&255; + $296 = ($295|0)>=(192); + L52: do { + if ($296) { + while(1) { + $297 = HEAP32[$6>>2]|0; + $298 = HEAP8[$297>>0]|0; + $299 = $298&255; + $300 = $299 & 192; + $301 = ($300|0)==(128); + if (!($301)) { + break L52; + } + $302 = HEAP32[$6>>2]|0; + $303 = ((($302)) + 1|0); + HEAP32[$6>>2] = $303; + } + } + } while(0); + $304 = $10; + $305 = $304; + $306 = HEAP32[$305>>2]|0; + $307 = (($304) + 4)|0; + $308 = $307; + $309 = HEAP32[$308>>2]|0; + $310 = (_i64Add(($306|0),($309|0),-1,-1)|0); + $311 = tempRet0; + $312 = $10; + $313 = $312; + HEAP32[$313>>2] = $310; + $314 = (($312) + 4)|0; + $315 = $314; + HEAP32[$315>>2] = $311; + } + HEAP32[$7>>2] = $292; + while(1) { + $316 = HEAP32[$7>>2]|0; + $317 = HEAP8[$316>>0]|0; + $318 = $317&255; + $319 = ($318|0)!=(0); + $320 = $11; + $321 = $320; + $322 = HEAP32[$321>>2]|0; + $323 = (($320) + 4)|0; + $324 = $323; + $325 = HEAP32[$324>>2]|0; + $326 = ($322|0)!=(0); + $327 = ($325|0)!=(0); + $328 = $326 | $327; + $329 = $319 ? $328 : 0; + if (!($329)) { + break; + } + $330 = HEAP32[$7>>2]|0; + $331 = ((($330)) + 1|0); + HEAP32[$7>>2] = $331; + $332 = HEAP8[$330>>0]|0; + $333 = $332&255; + $334 = ($333|0)>=(192); + L61: do { + if ($334) { + while(1) { + $335 = HEAP32[$7>>2]|0; + $336 = HEAP8[$335>>0]|0; + $337 = $336&255; + $338 = $337 & 192; + $339 = ($338|0)==(128); + if (!($339)) { + break L61; + } + $340 = HEAP32[$7>>2]|0; + $341 = ((($340)) + 1|0); + HEAP32[$7>>2] = $341; + } + } + } while(0); + $342 = $11; + $343 = $342; + $344 = HEAP32[$343>>2]|0; + $345 = (($342) + 4)|0; + $346 = $345; + $347 = HEAP32[$346>>2]|0; + $348 = (_i64Add(($344|0),($347|0),-1,-1)|0); + $349 = tempRet0; + $350 = $11; + $351 = $350; + HEAP32[$351>>2] = $348; + $352 = (($350) + 4)|0; + $353 = $352; + HEAP32[$353>>2] = $349; + } + $354 = HEAP32[$3>>2]|0; + $355 = HEAP32[$6>>2]|0; + $356 = HEAP32[$7>>2]|0; + $357 = HEAP32[$6>>2]|0; + $358 = $356; + $359 = $357; + $360 = (($358) - ($359))|0; + $361 = ($360|0)<(0); + $362 = $361 << 31 >> 31; + _sqlite3_result_text64($354,$355,$360,$362,(-1),1); + STACKTOP = sp;return; +} +function _sumStep($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.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.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = (_sqlite3_aggregate_context($9,32)|0); + HEAP32[$6>>2] = $10; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3_value_numeric_type($12)|0); + HEAP32[$7>>2] = $13; + $14 = HEAP32[$6>>2]|0; + $15 = ($14|0)!=(0|0); + $16 = HEAP32[$7>>2]|0; + $17 = ($16|0)!=(5); + $or$cond = $15 & $17; + if (!($or$cond)) { + STACKTOP = sp;return; } - $123 = HEAP32[$i>>2]|0; - $124 = ($123|0)>(10); - if ($124) { - HEAP32[$0>>2] = 0; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 16|0); + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (_i64Add(($22|0),($25|0),1,0)|0); + $27 = tempRet0; + $28 = $19; + $29 = $28; + HEAP32[$29>>2] = $26; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = $27; + $32 = HEAP32[$7>>2]|0; + $33 = ($32|0)==(1); + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$34>>2]|0; + if (!($33)) { + $74 = (+_sqlite3_value_double($35)); + $75 = HEAP32[$6>>2]|0; + $76 = +HEAPF64[$75>>3]; + $77 = $76 + $74; + HEAPF64[$75>>3] = $77; + $78 = HEAP32[$6>>2]|0; + $79 = ((($78)) + 25|0); + HEAP8[$79>>0] = 1; + STACKTOP = sp;return; } - $125 = $v; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = (($125) + 4)|0; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = HEAP32[$neg>>2]|0; - $132 = ($131|0)<(0); - $133 = $132 << 31 >> 31; - $134 = (_i64Subtract(($127|0),($130|0),($131|0),($133|0))|0); - $135 = tempRet0; - $136 = ($135|0)>(0); - $137 = ($134>>>0)>(2147483647); - $138 = ($135|0)==(0); - $139 = $138 & $137; - $140 = $136 | $139; - if ($140) { - HEAP32[$0>>2] = 0; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); + $36 = (_sqlite3_value_int64($35)|0); + $37 = tempRet0; + $38 = $8; + $39 = $38; + HEAP32[$39>>2] = $36; + $40 = (($38) + 4)|0; + $41 = $40; + HEAP32[$41>>2] = $37; + $42 = $8; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (+($44>>>0)) + (4294967296.0*(+($47|0))); + $49 = HEAP32[$6>>2]|0; + $50 = +HEAPF64[$49>>3]; + $51 = $50 + $48; + HEAPF64[$49>>3] = $51; + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 25|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = HEAP32[$6>>2]|0; + $57 = ((($56)) + 24|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = $55 | $59; + $61 = ($60|0)==(0); + if (!($61)) { + STACKTOP = sp;return; } - $141 = HEAP32[$neg>>2]|0; - $142 = ($141|0)!=(0); - if ($142) { - $143 = $v; - $144 = $143; - $145 = HEAP32[$144>>2]|0; - $146 = (($143) + 4)|0; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (_i64Subtract(0,0,($145|0),($148|0))|0); - $150 = tempRet0; - $151 = $v; - $152 = $151; - HEAP32[$152>>2] = $149; - $153 = (($151) + 4)|0; - $154 = $153; - HEAP32[$154>>2] = $150; + $62 = HEAP32[$6>>2]|0; + $63 = ((($62)) + 8|0); + $64 = $8; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (_sqlite3AddInt64($63,$66,$69)|0); + $71 = ($70|0)!=(0); + if (!($71)) { + STACKTOP = sp;return; } - $155 = $v; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = (($155) + 4)|0; - $159 = $158; - $160 = HEAP32[$159>>2]|0; - $161 = HEAP32[$2>>2]|0; - HEAP32[$161>>2] = $157; - HEAP32[$0>>2] = 1; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); + $72 = HEAP32[$6>>2]|0; + $73 = ((($72)) + 24|0); + HEAP8[$73>>0] = 1; + STACKTOP = sp;return; } -function _sqlite3StatusHighwater($op,$X) { - $op = $op|0; - $X = $X|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $newValue = 0, label = 0, sp = 0; +function _sumFinalize($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.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; - $newValue = sp; - HEAP32[$0>>2] = $op; - HEAP32[$1>>2] = $X; - $2 = HEAP32[$1>>2]|0; - HEAP32[$newValue>>2] = $2; - $3 = HEAP32[$newValue>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((1048) + ($4<<2)|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3>>>0)>($6>>>0); - if (!($7)) { + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_aggregate_context($3,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { STACKTOP = sp;return; } - $8 = HEAP32[$newValue>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((1048) + ($9<<2)|0); - HEAP32[$10>>2] = $8; - STACKTOP = sp;return; -} -function _sqlite3StatusUp($op,$N) { - $op = $op|0; - $N = $N|0; - var $0 = 0, $1 = 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; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $op; - HEAP32[$1>>2] = $N; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (1008 + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + ($2))|0; - HEAP32[$4>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (1008 + ($7<<2)|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((1048) + ($10<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($9>>>0)>($12>>>0); - if (!($13)) { + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 16|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(0); + $16 = ($11>>>0)>(0); + $17 = ($14|0)==(0); + $18 = $17 & $16; + $19 = $15 | $18; + if (!($19)) { + STACKTOP = sp;return; + } + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP8[$21>>0]|0; + $23 = ($22<<24>>24)!=(0); + if ($23) { + $24 = HEAP32[$1>>2]|0; + _sqlite3_result_error($24,22260,-1); + STACKTOP = sp;return; + } + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 25|0); + $27 = HEAP8[$26>>0]|0; + $28 = ($27<<24>>24)!=(0); + $29 = HEAP32[$1>>2]|0; + $30 = HEAP32[$2>>2]|0; + if ($28) { + $31 = +HEAPF64[$30>>3]; + _sqlite3_result_double($29,$31); + STACKTOP = sp;return; + } else { + $32 = ((($30)) + 8|0); + $33 = $32; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + _sqlite3_result_int64($29,$35,$38); STACKTOP = sp;return; } - $14 = HEAP32[$0>>2]|0; - $15 = (1008 + ($14<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((1048) + ($17<<2)|0); - HEAP32[$18>>2] = $16; - STACKTOP = sp;return; } -function _keywordCode($z,$n,$pType) { - $z = $z|0; - $n = $n|0; - $pType = $pType|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0, $j = 0, $zKW = 0, label = 0, sp = 0; +function _totalFinalize($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $i = sp + 8|0; - $j = sp + 4|0; - $zKW = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $n; - HEAP32[$2>>2] = $pType; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)>=(2); - if (!($4)) { - $73 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($73|0); - } - $5 = HEAP32[$0>>2]|0; - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = (17613 + ($7)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = $10<<2; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) - 1)|0; - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + ($13)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = (17613 + ($17)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20*3)|0; - $22 = $11 ^ $21; - $23 = HEAP32[$1>>2]|0; - $24 = $22 ^ $23; - $25 = (($24|0) % 127)&-1; - HEAP32[$i>>2] = $25; - $26 = HEAP32[$i>>2]|0; - $27 = (18835 + ($26)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = (($29) - 1)|0; - HEAP32[$i>>2] = $30; - while(1) { - $31 = HEAP32[$i>>2]|0; - $32 = ($31|0)>=(0); - if (!($32)) { - label = 13; - break; - } - $33 = HEAP32[$i>>2]|0; - $34 = (18962 + ($33)|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = HEAP32[$1>>2]|0; - $38 = ($36|0)!=($37|0); - if (!($38)) { - HEAP32[$j>>2] = 0; - $39 = HEAP32[$i>>2]|0; - $40 = (9524 + ($39<<1)|0); - $41 = HEAP16[$40>>1]|0; - $42 = $41&65535; - $43 = (19086 + ($42)|0); - HEAP32[$zKW>>2] = $43; - while(1) { - $44 = HEAP32[$j>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = ($44|0)<($45|0); - if ($46) { - $47 = HEAP32[$j>>2]|0; - $48 = HEAP32[$0>>2]|0; - $49 = (($48) + ($47)|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50 << 24 >> 24; - $52 = $51 & -33; - $53 = HEAP32[$j>>2]|0; - $54 = HEAP32[$zKW>>2]|0; - $55 = (($54) + ($53)|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = ($52|0)==($57|0); - $74 = $58; - } else { - $74 = 0; - } - $59 = HEAP32[$j>>2]|0; - if (!($74)) { - break; - } - $60 = (($59) + 1)|0; - HEAP32[$j>>2] = $60; - } - $61 = HEAP32[$1>>2]|0; - $62 = ($59|0)<($61|0); - if (!($62)) { - break; - } - } - $68 = HEAP32[$i>>2]|0; - $69 = (19763 + ($68)|0); - $70 = HEAP8[$69>>0]|0; - $71 = $70&255; - $72 = (($71) - 1)|0; - HEAP32[$i>>2] = $72; - } - if ((label|0) == 13) { - $73 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($73|0); + $4 = (_sqlite3_aggregate_context($3,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + $10 = 0.0; + _sqlite3_result_double($5,$10); + STACKTOP = sp;return; } - $63 = HEAP32[$i>>2]|0; - $64 = (19639 + ($63)|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = HEAP32[$2>>2]|0; - HEAP32[$67>>2] = $66; - $73 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($73|0); + $8 = HEAP32[$2>>2]|0; + $9 = +HEAPF64[$8>>3]; + $10 = $9; + _sqlite3_result_double($5,$10); + STACKTOP = sp;return; } -function _freeTempSpace($pBt) { - $pBt = $pBt|0; - var $0 = 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, label = 0, sp = 0; +function _avgFinalize($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.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.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; - HEAP32[$0>>2] = $pBt; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 80|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_aggregate_context($3,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { STACKTOP = sp;return; } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 80|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + -4|0); - HEAP32[$6>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 80|0); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 16|0); + $9 = $8; + $10 = $9; $11 = HEAP32[$10>>2]|0; - _sqlite3PageFree($11); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 80|0); - HEAP32[$13>>2] = 0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(0); + $16 = ($11>>>0)>(0); + $17 = ($14|0)==(0); + $18 = $17 & $16; + $19 = $15 | $18; + if (!($19)) { + STACKTOP = sp;return; + } + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = +HEAPF64[$21>>3]; + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 16|0); + $25 = $24; + $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 = $22 / $31; + _sqlite3_result_double($20,$32); STACKTOP = sp;return; } -function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { - $pPager = $pPager|0; - $pPageSize = $pPageSize|0; - $nReserve = $nReserve|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nByte = 0, $or$cond = 0, $pNew = 0, $pageSize = 0, $rc = 0, label = 0, sp = 0; +function _countStep($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$old = 0, $$old1 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $rc = sp + 16|0; - $pageSize = sp + 12|0; - $pNew = sp + 8|0; - $nByte = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pPageSize; - HEAP32[$2>>2] = $nReserve; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pageSize>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(0); - if ($9) { - label = 3; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3_aggregate_context($7,8)|0); + HEAP32[$6>>2] = $8; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)==(0); + if ($10) { + $$old = HEAP32[$6>>2]|0; + $$old1 = ($$old|0)!=(0|0); + if (!($$old1)) { + STACKTOP = sp;return; + } } else { - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 28|0); + $11 = HEAP32[$5>>2]|0; $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - label = 3; - } - } - do { - if ((label|0) == 3) { - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 212|0); - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3PcacheRefCount($16)|0); - $18 = ($17|0)==(0); - $19 = HEAP32[$pageSize>>2]|0; - $20 = ($19|0)!=(0); - $or$cond = $18 & $20; - if ($or$cond) { - $21 = HEAP32[$pageSize>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 160|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($21|0)!=($24|0); - if ($25) { - HEAP32[$pNew>>2] = 0; - $26 = $nByte; - $27 = $26; - HEAP32[$27>>2] = 0; - $28 = (($26) + 4)|0; - $29 = $28; - HEAP32[$29>>2] = 0; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 17|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = ($33|0)>(0); - if ($34) { - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 64|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)!=(0|0); - if ($39) { - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 64|0); - $42 = HEAP32[$41>>2]|0; - $43 = (_sqlite3OsFileSize($42,$nByte)|0); - HEAP32[$rc>>2] = $43; - } - } - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)==(0); - if ($45) { - $46 = HEAP32[$pageSize>>2]|0; - $47 = (_sqlite3PageMalloc($46)|0); - HEAP32[$pNew>>2] = $47; - $48 = HEAP32[$pNew>>2]|0; - $49 = ($48|0)!=(0|0); - if (!($49)) { - HEAP32[$rc>>2] = 7; - } - } - $50 = HEAP32[$rc>>2]|0; - $51 = ($50|0)==(0); - if ($51) { - $52 = HEAP32[$0>>2]|0; - _pager_reset($52); - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 212|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$pageSize>>2]|0; - $57 = (_sqlite3PcacheSetPageSize($55,$56)|0); - HEAP32[$rc>>2] = $57; - } - $58 = HEAP32[$rc>>2]|0; - $59 = ($58|0)==(0); - if ($59) { - $60 = HEAP32[$0>>2]|0; - $61 = ((($60)) + 208|0); - $62 = HEAP32[$61>>2]|0; - _sqlite3PageFree($62); - $63 = HEAP32[$pNew>>2]|0; - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 208|0); - HEAP32[$65>>2] = $63; - $66 = $nByte; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = (($66) + 4)|0; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = HEAP32[$pageSize>>2]|0; - $73 = (_i64Add(($68|0),($71|0),($72|0),0)|0); - $74 = tempRet0; - $75 = (_i64Subtract(($73|0),($74|0),1,0)|0); - $76 = tempRet0; - $77 = HEAP32[$pageSize>>2]|0; - $78 = (___divdi3(($75|0),($76|0),($77|0),0)|0); - $79 = tempRet0; - $80 = HEAP32[$0>>2]|0; - $81 = ((($80)) + 28|0); - HEAP32[$81>>2] = $78; - $82 = HEAP32[$pageSize>>2]|0; - $83 = HEAP32[$0>>2]|0; - $84 = ((($83)) + 160|0); - HEAP32[$84>>2] = $82; - break; - } else { - $85 = HEAP32[$pNew>>2]|0; - _sqlite3PageFree($85); - break; - } - } - } + $13 = (_sqlite3_value_type($12)|0); + $14 = (5)!=($13|0); + $15 = HEAP32[$6>>2]|0; + $16 = ($15|0)!=(0|0); + $or$cond = $14 & $16; + if (!($or$cond)) { + STACKTOP = sp;return; } - } while(0); - $86 = HEAP32[$0>>2]|0; - $87 = ((($86)) + 160|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$1>>2]|0; - HEAP32[$89>>2] = $88; - $90 = HEAP32[$rc>>2]|0; - $91 = ($90|0)==(0); - if (!($91)) { - $103 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($103|0); } - $92 = HEAP32[$2>>2]|0; - $93 = ($92|0)<(0); - if ($93) { - $94 = HEAP32[$0>>2]|0; - $95 = ((($94)) + 150|0); - $96 = HEAP16[$95>>1]|0; - $97 = $96 << 16 >> 16; - HEAP32[$2>>2] = $97; - } - $98 = HEAP32[$2>>2]|0; - $99 = $98&65535; - $100 = HEAP32[$0>>2]|0; - $101 = ((($100)) + 150|0); - HEAP16[$101>>1] = $99; - $102 = HEAP32[$0>>2]|0; - _pagerFixMaplimit($102); - $103 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($103|0); -} -function _sqlite3PcacheRefCount($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} -function _sqlite3OsFileSize($id,$pSize) { - $id = $id|0; - $pSize = $pSize|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $pSize; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (FUNCTION_TABLE_iii[$5 & 255]($6,$7)|0); - STACKTOP = sp;return ($8|0); -} -function _sqlite3PageMalloc($sz) { - $sz = $sz|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $sz; - $1 = HEAP32[$0>>2]|0; - $2 = (_pcache1Alloc($1)|0); - STACKTOP = sp;return ($2|0); + $17 = HEAP32[$6>>2]|0; + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (_i64Add(($20|0),($23|0),1,0)|0); + $25 = tempRet0; + $26 = $17; + $27 = $26; + HEAP32[$27>>2] = $24; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $25; + STACKTOP = sp;return; } -function _pager_reset($pPager) { - $pPager = $pPager|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; +function _countFinalize($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 108|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 1)|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_aggregate_context($3,0)|0); HEAP32[$2>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 96|0); - $7 = HEAP32[$6>>2]|0; - _sqlite3BackupRestart($7); - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 212|0); - $10 = HEAP32[$9>>2]|0; - _sqlite3PcacheClear($10); + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + $15 = 0;$16 = 0; + _sqlite3_result_int64($5,$15,$16); + STACKTOP = sp;return; + } + $8 = HEAP32[$2>>2]|0; + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = $11;$16 = $14; + _sqlite3_result_int64($5,$15,$16); STACKTOP = sp;return; } -function _sqlite3PcacheSetPageSize($pCache,$szPage) { - $pCache = $pCache|0; - $szPage = $szPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pNew = 0; - var label = 0, sp = 0; +function _groupConcatStep($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pNew = sp; - HEAP32[$1>>2] = $pCache; - HEAP32[$2>>2] = $szPage; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[(132)>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + 40)|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 32|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = (FUNCTION_TABLE_iiii[$7 & 255]($8,$12,$16)|0); - HEAP32[$pNew>>2] = $17; - $18 = HEAP32[$pNew>>2]|0; - $19 = ($18|0)==(0|0); - if ($19) { - HEAP32[$0>>2] = 7; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3_value_type($14)|0); + $16 = ($15|0)==(5); + if ($16) { + STACKTOP = sp;return; + } + $17 = HEAP32[$3>>2]|0; + $18 = (_sqlite3_aggregate_context($17,28)|0); + HEAP32[$7>>2] = $18; + $19 = HEAP32[$7>>2]|0; + $20 = ($19|0)!=(0|0); + if (!($20)) { + STACKTOP = sp;return; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_sqlite3_context_db_handle($21)|0); + HEAP32[$11>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + $27 = $26&1; + HEAP32[$12>>2] = $27; + $28 = HEAP32[$11>>2]|0; + $29 = ((($28)) + 96|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = ((($31)) + 20|0); + HEAP32[$32>>2] = $30; + $33 = HEAP32[$12>>2]|0; + $34 = ($33|0)!=(0); + if (!($34)) { + $35 = HEAP32[$4>>2]|0; + $36 = ($35|0)==(2); + if ($36) { + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = (_sqlite3_value_text($39)|0); + HEAP32[$8>>2] = $40; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = (_sqlite3_value_bytes($43)|0); + HEAP32[$10>>2] = $44; + } else { + HEAP32[$8>>2] = 22226; + HEAP32[$10>>2] = 1; } - $20 = HEAP32[(136)>>2]|0; - $21 = HEAP32[$pNew>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = (_numberOfCachePages($22)|0); - FUNCTION_TABLE_vii[$20 & 255]($21,$23); - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 44|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0|0); - if ($27) { - $28 = HEAP32[(160)>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 44|0); - $31 = HEAP32[$30>>2]|0; - FUNCTION_TABLE_vi[$28 & 255]($31); + $45 = HEAP32[$10>>2]|0; + $46 = ($45|0)!=(0); + if ($46) { + $47 = HEAP32[$7>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = HEAP32[$10>>2]|0; + _sqlite3StrAccumAppend($47,$48,$49); } - $32 = HEAP32[$pNew>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 44|0); - HEAP32[$34>>2] = $32; - $35 = HEAP32[$2>>2]|0; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 24|0); - HEAP32[$37>>2] = $35; } - HEAP32[$0>>2] = 0; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); -} -function _sqlite3PageFree($p) { - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _pcache1Free($1); + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$50>>2]|0; + $52 = (_sqlite3_value_text($51)|0); + HEAP32[$6>>2] = $52; + $53 = HEAP32[$5>>2]|0; + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3_value_bytes($54)|0); + HEAP32[$9>>2] = $55; + $56 = HEAP32[$6>>2]|0; + $57 = ($56|0)!=(0|0); + if (!($57)) { + STACKTOP = sp;return; + } + $58 = HEAP32[$7>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$9>>2]|0; + _sqlite3StrAccumAppend($58,$59,$60); STACKTOP = sp;return; } -function _pagerFixMaplimit($pPager) { - $pPager = $pPager|0; - var $0 = 0, label = 0, sp = 0; +function _groupConcatFinalize($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - STACKTOP = sp;return; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_aggregate_context($3,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 24|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)==(2); + if ($11) { + $12 = HEAP32[$1>>2]|0; + _sqlite3_result_error_toobig($12); + STACKTOP = sp;return; + } + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 24|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)==(1); + $18 = HEAP32[$1>>2]|0; + if ($17) { + _sqlite3_result_error_nomem($18); + STACKTOP = sp;return; + } else { + $19 = HEAP32[$2>>2]|0; + $20 = (_sqlite3StrAccumFinish($19)|0); + _sqlite3_result_text($18,$20,-1,157); + STACKTOP = sp;return; + } } -function _pcache1Free($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nFreed = 0, $pSlot = 0, label = 0, sp = 0; +function _likeFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pSlot = sp + 4|0; - $nFreed = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $13 = HEAP32[$3>>2]|0; + $14 = (_sqlite3_context_db_handle($13)|0); + HEAP32[$10>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = (_sqlite3_user_data($15)|0); + HEAP32[$11>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3_value_text($18)|0); + HEAP32[$7>>2] = $19; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3_value_text($22)|0); + HEAP32[$6>>2] = $23; + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3_value_bytes($25)|0); + HEAP32[$9>>2] = $26; + $27 = HEAP32[$9>>2]|0; + $28 = HEAP32[$10>>2]|0; + $29 = ((($28)) + 96|0); + $30 = ((($29)) + 32|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($27|0)>($31|0); + if ($32) { + $33 = HEAP32[$3>>2]|0; + _sqlite3_result_error($33,22049,-1); STACKTOP = sp;return; } - $3 = HEAP32[$0>>2]|0; - $4 = $3; - $5 = HEAP32[(1704)>>2]|0; - $6 = $5; - $7 = ($4>>>0)>=($6>>>0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = $8; - $10 = HEAP32[(1708)>>2]|0; - $11 = $10; - $12 = ($9>>>0)<($11>>>0); - if ($12) { - _sqlite3StatusDown(1,1); - $13 = HEAP32[$0>>2]|0; - HEAP32[$pSlot>>2] = $13; - $14 = HEAP32[(1716)>>2]|0; - $15 = HEAP32[$pSlot>>2]|0; - HEAP32[$15>>2] = $14; - $16 = HEAP32[$pSlot>>2]|0; - HEAP32[(1716)>>2] = $16; - $17 = HEAP32[(1720)>>2]|0; - $18 = (($17) + 1)|0; - HEAP32[(1720)>>2] = $18; - $19 = HEAP32[(1720)>>2]|0; - $20 = HEAP32[(1700)>>2]|0; - $21 = ($19|0)<($20|0); - $22 = $21&1; - HEAP32[(1724)>>2] = $22; + $34 = HEAP32[$4>>2]|0; + $35 = ($34|0)==(3); + do { + if ($35) { + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3_value_text($38)|0); + HEAP32[$12>>2] = $39; + $40 = HEAP32[$12>>2]|0; + $41 = ($40|0)==(0|0); + if ($41) { + STACKTOP = sp;return; + } + $42 = HEAP32[$12>>2]|0; + $43 = (_sqlite3Utf8CharLen_101($42,-1)|0); + $44 = ($43|0)!=(1); + if (!($44)) { + $46 = (_sqlite3Utf8Read($12)|0); + HEAP32[$8>>2] = $46; + break; + } + $45 = HEAP32[$3>>2]|0; + _sqlite3_result_error($45,22082,-1); STACKTOP = sp;return; + } else { + $47 = HEAP32[$11>>2]|0; + $48 = ((($47)) + 2|0); + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + HEAP32[$8>>2] = $50; } + } while(0); + $51 = HEAP32[$6>>2]|0; + $52 = ($51|0)!=(0|0); + $53 = HEAP32[$7>>2]|0; + $54 = ($53|0)!=(0|0); + $or$cond = $52 & $54; + if (!($or$cond)) { + STACKTOP = sp;return; } - HEAP32[$nFreed>>2] = 0; - $23 = HEAP32[$0>>2]|0; - $24 = (_sqlite3MallocSize($23)|0); - HEAP32[$nFreed>>2] = $24; - $25 = HEAP32[$nFreed>>2]|0; - _sqlite3StatusDown(2,$25); - $26 = HEAP32[$0>>2]|0; - _sqlite3_free($26); + $55 = HEAP32[$3>>2]|0; + $56 = HEAP32[$7>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = HEAP32[$11>>2]|0; + $59 = HEAP32[$8>>2]|0; + $60 = (_patternCompare($56,$57,$58,$59)|0); + _sqlite3_result_int($55,$60); STACKTOP = sp;return; } -function _numberOfCachePages($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3_context_db_handle($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$1>>2] = $p; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 32|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _sqlite3_user_data($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>=(0); - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 16|0); - $8 = HEAP32[$7>>2]|0; - if ($5) { - HEAP32[$0>>2] = $8; - $24 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($24|0); - } else { - $9 = ($8|0)<(0); - $10 = $9 << 31 >> 31; - $11 = (___muldi3(-1024,-1,($8|0),($10|0))|0); - $12 = tempRet0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 28|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($15) + ($18))|0; - $20 = ($19|0)<(0); - $21 = $20 << 31 >> 31; - $22 = (___divdi3(($11|0),($12|0),($19|0),($21|0))|0); - $23 = tempRet0; - HEAP32[$0>>2] = $22; - $24 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($24|0); - } - return (0)|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($6|0); } -function _sqlite3BackupRestart($pBackup) { - $pBackup = $pBackup|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3_value_text($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pBackup; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - while(1) { - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - break; - } - $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 16|0); - HEAP32[$5>>2] = 1; - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 44|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$p>>2] = $8; - } - STACKTOP = sp;return; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_sqlite3ValueText($2,1)|0); + STACKTOP = sp;return ($3|0); } -function _sqlite3PcacheClear($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; +function _sqlite3_value_bytes($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[$0>>2]|0; - _sqlite3PcacheTruncate($1,0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_sqlite3ValueBytes($2,1)|0); + STACKTOP = sp;return ($3|0); +} +function _sqlite3_result_error($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 20|0); + HEAP32[$7>>2] = 1; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 25|0); + HEAP8[$9>>0] = 1; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$5>>2]|0; + (_sqlite3VdbeMemSetStr($11,$12,$13,1,(-1))|0); STACKTOP = sp;return; } -function _sqlite3PcacheTruncate($pCache,$pgno) { - $pCache = $pCache|0; - $pgno = $pgno|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pNext = 0, $pPage1 = 0, label = 0, sp = 0; +function _sqlite3Utf8CharLen_101($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $p = sp + 8|0; - $pNext = sp + 4|0; - $pPage1 = sp; - HEAP32[$0>>2] = $pCache; - HEAP32[$1>>2] = $pgno; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 44|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - STACKTOP = sp;return; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $7 = HEAP32[$2>>2]|0; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = ($8|0)>=(0); + if ($9) { + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = (($10) + ($11)|0); + HEAP32[$6>>2] = $12; + } else { + HEAP32[$6>>2] = (-1); } - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$p>>2] = $7; while(1) { - $8 = HEAP32[$p>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { + $13 = HEAP32[$5>>2]|0; + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)!=(0); + if (!($16)) { + label = 10; break; } - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 32|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$pNext>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ($15>>>0)>($16>>>0); - if ($17) { - $18 = HEAP32[$p>>2]|0; - _sqlite3PcacheMakeClean($18); + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = ($17>>>0)<($18>>>0); + if (!($19)) { + label = 10; + break; } - $19 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $19; - } - $20 = HEAP32[$1>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 12|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)!=(0); - if ($25) { - $26 = HEAP32[(144)>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 44|0); - $29 = HEAP32[$28>>2]|0; - $30 = (FUNCTION_TABLE_iiii[$26 & 255]($29,1,0)|0); - HEAP32[$pPage1>>2] = $30; - $31 = HEAP32[$pPage1>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { - $33 = HEAP32[$pPage1>>2]|0; - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 24|0); - $37 = HEAP32[$36>>2]|0; - _memset(($34|0),0,($37|0))|0; - HEAP32[$1>>2] = 1; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 1|0); + HEAP32[$5>>2] = $21; + $22 = HEAP8[$20>>0]|0; + $23 = $22&255; + $24 = ($23|0)>=(192); + L8: do { + if ($24) { + while(1) { + $25 = HEAP32[$5>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = $27 & 192; + $29 = ($28|0)==(128); + if (!($29)) { + break L8; + } + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 1|0); + HEAP32[$5>>2] = $31; + } } - } + } while(0); + $32 = HEAP32[$4>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$4>>2] = $33; } - $38 = HEAP32[(156)>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 44|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$1>>2]|0; - $43 = (($42) + 1)|0; - FUNCTION_TABLE_vii[$38 & 255]($41,$43); - STACKTOP = sp;return; + if ((label|0) == 10) { + $34 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($34|0); + } + return (0)|0; } -function _sqlite3PcacheMakeClean($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3Utf8Read($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 2; - $6 = ($5|0)!=(0); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = HEAP32[$0>>2]|0; - _pcacheManageDirtyList($7,1); - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 24|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11 & -15; - $13 = $12&65535; - HEAP16[$9>>1] = $13; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 24|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16&65535; - $18 = $17 | 1; - $19 = $18&65535; - HEAP16[$15>>1] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 26|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22 << 16 >> 16; - $24 = ($23|0)==(0); - if (!($24)) { - STACKTOP = sp;return; - } - $25 = HEAP32[$0>>2]|0; - _pcacheUnpin($25); - STACKTOP = sp;return; -} -function _pcacheManageDirtyList($pPage,$addRemove) { - $pPage = $pPage|0; - $addRemove = $addRemove|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp + 8|0; - $p = sp; - HEAP32[$0>>2] = $pPage; - HEAP8[$1>>0] = $addRemove; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 28|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP8[$1>>0]|0; - $6 = $5&255; - $7 = $6 & 1; - $8 = ($7|0)!=(0); - if ($8) { - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ($11|0)==($12|0); - if ($13) { - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 8|0); - HEAP32[$18>>2] = $16; - } - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 32|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0|0); - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 36|0); - $25 = HEAP32[$24>>2]|0; - if ($22) { - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 32|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 36|0); - HEAP32[$29>>2] = $25; - } else { - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 4|0); - HEAP32[$31>>2] = $25; - } - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 36|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)!=(0|0); - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 32|0); - $38 = HEAP32[$37>>2]|0; - if ($35) { - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 36|0); - $41 = HEAP32[$40>>2]|0; - $42 = ((($41)) + 32|0); - HEAP32[$42>>2] = $38; - } else { - $43 = HEAP32[$p>>2]|0; - HEAP32[$43>>2] = $38; - $44 = HEAP32[$p>>2]|0; - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(0|0); - if ($46) { - $47 = HEAP32[$p>>2]|0; - $48 = ((($47)) + 33|0); - HEAP8[$48>>0] = 2; - } - } - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 32|0); - HEAP32[$50>>2] = 0; - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 36|0); - HEAP32[$52>>2] = 0; - } - $53 = HEAP8[$1>>0]|0; - $54 = $53&255; - $55 = $54 & 2; - $56 = ($55|0)!=(0); - if (!($56)) { - STACKTOP = sp;return; + $5 = ((($4)) + 1|0); + HEAP32[$3>>2] = $5; + $6 = HEAP8[$4>>0]|0; + $7 = $6&255; + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ($8>>>0)>=(192); + if (!($9)) { + $37 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($37|0); } - $57 = HEAP32[$p>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 32|0); - HEAP32[$60>>2] = $58; - $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 32|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)!=(0|0); - $65 = HEAP32[$0>>2]|0; - if ($64) { - $66 = HEAP32[$0>>2]|0; - $67 = ((($66)) + 32|0); - $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 36|0); - HEAP32[$69>>2] = $65; - } else { - $70 = HEAP32[$p>>2]|0; - $71 = ((($70)) + 4|0); - HEAP32[$71>>2] = $65; - $72 = HEAP32[$p>>2]|0; - $73 = ((($72)) + 32|0); - $74 = HEAP8[$73>>0]|0; - $75 = ($74<<24>>24)!=(0); - if ($75) { - $76 = HEAP32[$p>>2]|0; - $77 = ((($76)) + 33|0); - HEAP8[$77>>0] = 1; + $10 = HEAP32[$2>>2]|0; + $11 = (($10) - 192)|0; + $12 = (22127 + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + HEAP32[$2>>2] = $14; + while(1) { + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = $18 & 192; + $20 = ($19|0)==(128); + $21 = HEAP32[$2>>2]|0; + if (!($20)) { + break; } + $22 = $21 << 6; + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 1|0); + HEAP32[$23>>2] = $25; + $26 = HEAP8[$24>>0]|0; + $27 = $26&255; + $28 = 63 & $27; + $29 = (($22) + ($28))|0; + HEAP32[$2>>2] = $29; } - $78 = HEAP32[$0>>2]|0; - $79 = HEAP32[$p>>2]|0; - HEAP32[$79>>2] = $78; - $80 = HEAP32[$p>>2]|0; - $81 = ((($80)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)!=(0|0); - if ($83) { - STACKTOP = sp;return; - } - $84 = HEAP32[$0>>2]|0; - $85 = ((($84)) + 24|0); - $86 = HEAP16[$85>>1]|0; - $87 = $86&65535; - $88 = $87 & 8; - $89 = (0)==($88|0); - if (!($89)) { - STACKTOP = sp;return; - } - $90 = HEAP32[$0>>2]|0; - $91 = HEAP32[$p>>2]|0; - $92 = ((($91)) + 8|0); - HEAP32[$92>>2] = $90; - STACKTOP = sp;return; -} -function _pcacheUnpin($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 32|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = HEAP32[(148)>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 44|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$13>>2]|0; - FUNCTION_TABLE_viii[$7 & 255]($12,$14,0); - STACKTOP = sp;return; -} -function _pcache1Alloc($nByte) { - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $sz = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $p = sp + 4|0; - $sz = sp; - HEAP32[$0>>2] = $nByte; - HEAP32[$p>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[(1692)>>2]|0; - $3 = ($1|0)<=($2|0); - if ($3) { - $4 = HEAP32[(1716)>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = ($5|0)!=(0|0); - if ($6) { - $7 = HEAP32[(1716)>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[(1716)>>2] = $8; - $9 = HEAP32[(1720)>>2]|0; - $10 = (($9) + -1)|0; - HEAP32[(1720)>>2] = $10; - $11 = HEAP32[(1720)>>2]|0; - $12 = HEAP32[(1700)>>2]|0; - $13 = ($11|0)<($12|0); - $14 = $13&1; - HEAP32[(1724)>>2] = $14; - $15 = HEAP32[$0>>2]|0; - _sqlite3StatusHighwater(7,$15); - _sqlite3StatusUp(1,1); + $30 = ($21>>>0)<(128); + if (!($30)) { + $31 = HEAP32[$2>>2]|0; + $32 = $31 & -2048; + $33 = ($32|0)==(55296); + if (!($33)) { + $34 = HEAP32[$2>>2]|0; + $35 = $34 & -2; + $36 = ($35|0)==(65534); + if (!($36)) { + $37 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($37|0); + } } } - $16 = HEAP32[$p>>2]|0; - $17 = ($16|0)==(0|0); - if (!($17)) { - $28 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($28|0); - } - $18 = HEAP32[$0>>2]|0; - $19 = ($18|0)<(0); - $20 = $19 << 31 >> 31; - $21 = (_sqlite3Malloc($18,$20)|0); - HEAP32[$p>>2] = $21; - $22 = HEAP32[$p>>2]|0; - $23 = ($22|0)!=(0|0); - if (!($23)) { - $28 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($28|0); - } - $24 = HEAP32[$p>>2]|0; - $25 = (_sqlite3MallocSize($24)|0); - HEAP32[$sz>>2] = $25; - $26 = HEAP32[$0>>2]|0; - _sqlite3StatusHighwater(7,$26); - $27 = HEAP32[$sz>>2]|0; - _sqlite3StatusUp(2,$27); - $28 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($28|0); -} -function _sqlite3BitvecCreate($iSize) { - $iSize = $iSize|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $iSize; - $1 = (_sqlite3MallocZero(512,0)|0); - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $6 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($6|0); - } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$p>>2]|0; - HEAP32[$5>>2] = $4; - $6 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($6|0); + HEAP32[$2>>2] = 65533; + $37 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($37|0); } -function _sqlite3BitvecSet($p,$i) { - $p = $p|0; - $i = $i|0; - var $$ = 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, $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, $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, $97 = 0, $98 = 0, $99 = 0, $aiValues = 0, $bin = 0, $h = 0, $j = 0, $rc = 0, label = 0, sp = 0; +function _patternCompare($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $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; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $h = sp + 16|0; - $bin = sp + 12|0; - $j = sp + 8|0; - $rc = sp + 4|0; - $aiValues = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $i; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = 0; - $144 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($144|0); - } - $5 = HEAP32[$2>>2]|0; - $6 = (($5) + -1)|0; - HEAP32[$2>>2] = $6; - while(1) { - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ($8>>>0)>(4000); - if (!($9)) { - break; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 56|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + HEAP32[$11>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + HEAP32[$12>>2] = $25; + $26 = HEAP32[$7>>2]|0; + $27 = ((($26)) + 3|0); + $28 = HEAP8[$27>>0]|0; + HEAP8[$13>>0] = $28; + HEAP32[$14>>2] = 0; + L1: while(1) { + $29 = HEAP32[$5>>2]|0; + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = ($31|0)<(128); + if ($32) { + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 1|0); + HEAP32[$5>>2] = $34; + $35 = HEAP8[$33>>0]|0; + $36 = $35&255; + $38 = $36; + } else { + $37 = (_sqlite3Utf8Read($5)|0); + $38 = $37; } - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0); - if (!($13)) { + HEAP32[$9>>2] = $38; + $39 = ($38|0)!=(0); + if (!($39)) { + label = 83; break; } - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($14>>>0) / ($17>>>0))&-1; - HEAP32[$bin>>2] = $18; - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($19>>>0) % ($22>>>0))&-1; - HEAP32[$2>>2] = $23; - $24 = HEAP32[$bin>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 12|0); - $27 = (($26) + ($24<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==(0|0); - if ($29) { - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 8|0); - $32 = HEAP32[$31>>2]|0; - $33 = (_sqlite3BitvecCreate($32)|0); - $34 = HEAP32[$bin>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 12|0); - $37 = (($36) + ($34<<2)|0); - HEAP32[$37>>2] = $33; - $38 = HEAP32[$bin>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 12|0); - $41 = (($40) + ($38<<2)|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==(0|0); - if ($43) { - label = 8; - break; - } + $40 = HEAP32[$9>>2]|0; + $41 = HEAP32[$12>>2]|0; + $42 = ($40|0)==($41|0); + if ($42) { + label = 7; + break; } - $44 = HEAP32[$bin>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 12|0); - $47 = (($46) + ($44<<2)|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$1>>2] = $48; - } - if ((label|0) == 8) { - HEAP32[$0>>2] = 7; - $144 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($144|0); - } - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$49>>2]|0; - $51 = ($50>>>0)<=(4000); - $52 = HEAP32[$2>>2]|0; - if ($51) { - $53 = $52 & 7; - $54 = 1 << $53; - $55 = HEAP32[$2>>2]|0; - $56 = (($55>>>0) / 8)&-1; - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 12|0); - $59 = (($58) + ($56)|0); - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = $61 | $54; - $63 = $62&255; - HEAP8[$59>>0] = $63; - HEAP32[$0>>2] = 0; - $144 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($144|0); - } - $64 = (($52) + 1)|0; - HEAP32[$2>>2] = $64; - $65 = $52; - $66 = (($65>>>0) % 125)&-1; - HEAP32[$h>>2] = $66; - $67 = HEAP32[$h>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 12|0); - $70 = (($69) + ($67<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)!=(0); - L20: do { - if ($72) { - while(1) { - $77 = HEAP32[$h>>2]|0; - $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 12|0); - $80 = (($79) + ($77<<2)|0); - $81 = HEAP32[$80>>2]|0; - $82 = HEAP32[$2>>2]|0; - $83 = ($81|0)==($82|0); - if ($83) { + $159 = HEAP32[$9>>2]|0; + $160 = HEAP32[$8>>2]|0; + $161 = ($159|0)==($160|0); + do { + if ($161) { + $162 = HEAP32[$7>>2]|0; + $163 = ((($162)) + 2|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164&255; + $166 = ($165|0)==(0); + if ($166) { + $167 = (_sqlite3Utf8Read($5)|0); + HEAP32[$9>>2] = $167; + $168 = HEAP32[$9>>2]|0; + $169 = ($168|0)==(0); + if ($169) { + label = 49; + break L1; + } + $170 = HEAP32[$5>>2]|0; + HEAP32[$14>>2] = $170; break; } - $84 = HEAP32[$h>>2]|0; - $85 = (($84) + 1)|0; - HEAP32[$h>>2] = $85; - $86 = HEAP32[$h>>2]|0; - $87 = ($86>>>0)>=(125); - $$ = $87 ? 0 : $85; - HEAP32[$h>>2] = $$; - $88 = HEAP32[$h>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 12|0); - $91 = (($90) + ($88<<2)|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)!=(0); - if (!($93)) { - label = 17; - break L20; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + HEAP32[$18>>2] = 0; + $171 = (_sqlite3Utf8Read($6)|0); + HEAP32[$9>>2] = $171; + $172 = HEAP32[$9>>2]|0; + $173 = ($172|0)==(0); + if ($173) { + label = 52; + break L1; + } + $174 = (_sqlite3Utf8Read($5)|0); + HEAP32[$10>>2] = $174; + $175 = HEAP32[$10>>2]|0; + $176 = ($175|0)==(94); + if ($176) { + HEAP32[$18>>2] = 1; + $177 = (_sqlite3Utf8Read($5)|0); + HEAP32[$10>>2] = $177; + } + $178 = HEAP32[$10>>2]|0; + $179 = ($178|0)==(93); + if ($179) { + $180 = HEAP32[$9>>2]|0; + $181 = ($180|0)==(93); + if ($181) { + HEAP32[$17>>2] = 1; + } + $182 = (_sqlite3Utf8Read($5)|0); + HEAP32[$10>>2] = $182; + } + while(1) { + $183 = HEAP32[$10>>2]|0; + $184 = ($183|0)!=(0); + $185 = HEAP32[$10>>2]|0; + $186 = ($185|0)!=(93); + $187 = $184 ? $186 : 0; + $188 = HEAP32[$10>>2]|0; + if (!($187)) { + break; + } + $189 = ($188|0)==(45); + if ($189) { + $190 = HEAP32[$5>>2]|0; + $191 = HEAP8[$190>>0]|0; + $192 = $191&255; + $193 = ($192|0)!=(93); + if ($193) { + $194 = HEAP32[$5>>2]|0; + $195 = HEAP8[$194>>0]|0; + $196 = $195&255; + $197 = ($196|0)!=(0); + $198 = HEAP32[$16>>2]|0; + $199 = ($198>>>0)>(0); + $or$cond = $197 & $199; + if ($or$cond) { + $200 = (_sqlite3Utf8Read($5)|0); + HEAP32[$10>>2] = $200; + $201 = HEAP32[$9>>2]|0; + $202 = HEAP32[$16>>2]|0; + $203 = ($201>>>0)>=($202>>>0); + if ($203) { + $204 = HEAP32[$9>>2]|0; + $205 = HEAP32[$10>>2]|0; + $206 = ($204>>>0)<=($205>>>0); + if ($206) { + HEAP32[$17>>2] = 1; + } + } + HEAP32[$16>>2] = 0; + } else { + label = 67; + } + } else { + label = 67; + } + } else { + label = 67; + } + if ((label|0) == 67) { + label = 0; + $207 = HEAP32[$9>>2]|0; + $208 = HEAP32[$10>>2]|0; + $209 = ($207|0)==($208|0); + if ($209) { + HEAP32[$17>>2] = 1; + } + $210 = HEAP32[$10>>2]|0; + HEAP32[$16>>2] = $210; + } + $211 = (_sqlite3Utf8Read($5)|0); + HEAP32[$10>>2] = $211; + } + $212 = ($188|0)==(0); + if ($212) { + label = 73; + break L1; + } + $213 = HEAP32[$17>>2]|0; + $214 = HEAP32[$18>>2]|0; + $215 = $213 ^ $214; + $216 = ($215|0)==(0); + if ($216) { + label = 73; + break L1; + } else { + continue L1; } } - HEAP32[$0>>2] = 0; - $144 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($144|0); + } while(0); + $217 = HEAP32[$6>>2]|0; + $218 = HEAP8[$217>>0]|0; + $219 = $218&255; + $220 = ($219|0)<(128); + if ($220) { + $221 = HEAP32[$6>>2]|0; + $222 = ((($221)) + 1|0); + HEAP32[$6>>2] = $222; + $223 = HEAP8[$221>>0]|0; + $224 = $223&255; + $226 = $224; } else { - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 4|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75>>>0)<(124); - if (!($76)) { - label = 17; - } + $225 = (_sqlite3Utf8Read($6)|0); + $226 = $225; } - } while(0); - if ((label|0) == 17) { - $94 = HEAP32[$1>>2]|0; - $95 = ((($94)) + 4|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96>>>0)>=(62); - if ($97) { - $98 = (_sqlite3DbMallocRaw(0,500,0)|0); - HEAP32[$aiValues>>2] = $98; - $99 = HEAP32[$aiValues>>2]|0; - $100 = ($99|0)==(0|0); - if ($100) { - HEAP32[$0>>2] = 7; - $144 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($144|0); - } - $101 = HEAP32[$aiValues>>2]|0; - $102 = HEAP32[$1>>2]|0; - $103 = ((($102)) + 12|0); - _memcpy(($101|0),($103|0),500)|0; - $104 = HEAP32[$1>>2]|0; - $105 = ((($104)) + 12|0); - _memset(($105|0),0,500)|0; - $106 = HEAP32[$1>>2]|0; - $107 = HEAP32[$106>>2]|0; - $108 = (($107) + 125)|0; - $109 = (($108) - 1)|0; - $110 = (($109>>>0) / 125)&-1; - $111 = HEAP32[$1>>2]|0; - $112 = ((($111)) + 8|0); - HEAP32[$112>>2] = $110; - $113 = HEAP32[$1>>2]|0; - $114 = HEAP32[$2>>2]|0; - $115 = (_sqlite3BitvecSet($113,$114)|0); - HEAP32[$rc>>2] = $115; - HEAP32[$j>>2] = 0; - while(1) { - $116 = HEAP32[$j>>2]|0; - $117 = ($116>>>0)<(125); - if (!($117)) { - break; - } - $118 = HEAP32[$j>>2]|0; - $119 = HEAP32[$aiValues>>2]|0; - $120 = (($119) + ($118<<2)|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($121|0)!=(0); - if ($122) { - $123 = HEAP32[$1>>2]|0; - $124 = HEAP32[$j>>2]|0; - $125 = HEAP32[$aiValues>>2]|0; - $126 = (($125) + ($124<<2)|0); - $127 = HEAP32[$126>>2]|0; - $128 = (_sqlite3BitvecSet($123,$127)|0); - $129 = HEAP32[$rc>>2]|0; - $130 = $129 | $128; - HEAP32[$rc>>2] = $130; - } - $131 = HEAP32[$j>>2]|0; - $132 = (($131) + 1)|0; - HEAP32[$j>>2] = $132; + HEAP32[$10>>2] = $226; + $227 = HEAP32[$9>>2]|0; + $228 = HEAP32[$10>>2]|0; + $229 = ($227|0)==($228|0); + if ($229) { + continue; + } + $230 = HEAP8[$13>>0]|0; + $231 = $230&255; + $232 = ($231|0)!=(0); + if ($232) { + $233 = HEAP32[$9>>2]|0; + $234 = $233&255; + $235 = $234&255; + $236 = (20458 + ($235)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = HEAP32[$10>>2]|0; + $240 = $239&255; + $241 = $240&255; + $242 = (20458 + ($241)|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = ($238|0)==($244|0); + $246 = HEAP32[$9>>2]|0; + $247 = ($246>>>0)<(128); + $or$cond3 = $245 & $247; + $248 = HEAP32[$10>>2]|0; + $249 = ($248>>>0)<(128); + $or$cond5 = $or$cond3 & $249; + if ($or$cond5) { + continue; } - $133 = HEAP32[$aiValues>>2]|0; - _sqlite3DbFree(0,$133); - $134 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $134; - $144 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($144|0); } - } - $135 = HEAP32[$1>>2]|0; - $136 = ((($135)) + 4|0); - $137 = HEAP32[$136>>2]|0; - $138 = (($137) + 1)|0; - HEAP32[$136>>2] = $138; - $139 = HEAP32[$2>>2]|0; - $140 = HEAP32[$h>>2]|0; - $141 = HEAP32[$1>>2]|0; - $142 = ((($141)) + 12|0); - $143 = (($142) + ($140<<2)|0); - HEAP32[$143>>2] = $139; - HEAP32[$0>>2] = 0; - $144 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($144|0); -} -function _sqlite3BitvecClear($p,$i,$pBuf) { - $p = $p|0; - $i = $i|0; - $pBuf = $pBuf|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $aiValues = 0, $bin = 0; - var $h = 0, $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $bin = sp + 12|0; - $j = sp + 8|0; - $aiValues = sp + 4|0; - $h = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $i; - HEAP32[$2>>2] = $pBuf; - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + -1)|0; - HEAP32[$1>>2] = $6; - while(1) { - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0); - if (!($10)) { + $250 = HEAP32[$9>>2]|0; + $251 = HEAP32[$11>>2]|0; + $252 = ($250|0)==($251|0); + if (!($252)) { + label = 82; break; } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($11>>>0) / ($14>>>0))&-1; - HEAP32[$bin>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($16>>>0) % ($19>>>0))&-1; - HEAP32[$1>>2] = $20; - $21 = HEAP32[$bin>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 12|0); - $24 = (($23) + ($21<<2)|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$0>>2] = $25; - $26 = HEAP32[$0>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - label = 16; + $253 = HEAP32[$5>>2]|0; + $254 = HEAP32[$14>>2]|0; + $255 = ($253|0)!=($254|0); + $256 = HEAP32[$10>>2]|0; + $257 = ($256|0)!=(0); + $or$cond7 = $255 & $257; + if (!($or$cond7)) { + label = 82; break; } } - if ((label|0) == 16) { - STACKTOP = sp;return; - } - $28 = HEAP32[$0>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = ($29>>>0)<=(4000); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = $31 & 7; - $33 = 1 << $32; - $34 = $33 ^ -1; - $35 = HEAP32[$1>>2]|0; - $36 = (($35>>>0) / 8)&-1; - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 12|0); - $39 = (($38) + ($36)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = $41 & $34; - $43 = $42&255; - HEAP8[$39>>0] = $43; - STACKTOP = sp;return; - } - $44 = HEAP32[$2>>2]|0; - HEAP32[$aiValues>>2] = $44; - $45 = HEAP32[$aiValues>>2]|0; - $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 12|0); - _memcpy(($45|0),($47|0),500)|0; - $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 12|0); - _memset(($49|0),0,500)|0; - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 4|0); - HEAP32[$51>>2] = 0; - HEAP32[$j>>2] = 0; - while(1) { - $52 = HEAP32[$j>>2]|0; - $53 = ($52>>>0)<(125); - if (!($53)) { - break; + if ((label|0) == 7) { + while(1) { + label = 0; + $43 = HEAP32[$5>>2]|0; + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = ($45|0)<(128); + if ($46) { + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 1|0); + HEAP32[$5>>2] = $48; + $49 = HEAP8[$47>>0]|0; + $50 = $49&255; + $52 = $50; + } else { + $51 = (_sqlite3Utf8Read($5)|0); + $52 = $51; + } + HEAP32[$9>>2] = $52; + $53 = HEAP32[$12>>2]|0; + $54 = ($52|0)==($53|0); + if ($54) { + $264 = 1; + } else { + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$11>>2]|0; + $57 = ($55|0)==($56|0); + $264 = $57; + } + $58 = HEAP32[$9>>2]|0; + if (!($264)) { + break; + } + $59 = HEAP32[$11>>2]|0; + $60 = ($58|0)==($59|0); + if (!($60)) { + label = 7; + continue; + } + $61 = (_sqlite3Utf8Read($6)|0); + $62 = ($61|0)==(0); + if ($62) { + label = 15; + break; + } else { + label = 7; + } } - $54 = HEAP32[$j>>2]|0; - $55 = HEAP32[$aiValues>>2]|0; - $56 = (($55) + ($54<<2)|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)!=(0); - if ($58) { - $59 = HEAP32[$j>>2]|0; - $60 = HEAP32[$aiValues>>2]|0; - $61 = (($60) + ($59<<2)|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$1>>2]|0; - $64 = (($63) + 1)|0; - $65 = ($62|0)!=($64|0); - if ($65) { - $66 = HEAP32[$j>>2]|0; - $67 = HEAP32[$aiValues>>2]|0; - $68 = (($67) + ($66<<2)|0); - $69 = HEAP32[$68>>2]|0; - $70 = (($69) - 1)|0; - $71 = $70; - $72 = (($71>>>0) % 125)&-1; - HEAP32[$h>>2] = $72; - $73 = HEAP32[$0>>2]|0; - $74 = ((($73)) + 4|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($75) + 1)|0; - HEAP32[$74>>2] = $76; + if ((label|0) == 15) { + HEAP32[$4>>2] = 0; + $263 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($263|0); + } + $63 = ($58|0)==(0); + if ($63) { + HEAP32[$4>>2] = 1; + $263 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($263|0); + } + $64 = HEAP32[$9>>2]|0; + $65 = HEAP32[$8>>2]|0; + $66 = ($64|0)==($65|0); + do { + if ($66) { + $67 = HEAP32[$7>>2]|0; + $68 = ((($67)) + 2|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ($70|0)==(0); + if ($71) { + $72 = (_sqlite3Utf8Read($5)|0); + HEAP32[$9>>2] = $72; + $73 = HEAP32[$9>>2]|0; + $74 = ($73|0)==(0); + if (!($74)) { + break; + } + HEAP32[$4>>2] = 0; + $263 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($263|0); + } + L83: while(1) { + $75 = HEAP32[$6>>2]|0; + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = ($77|0)!=(0); + if ($78) { + $79 = HEAP32[$5>>2]|0; + $80 = ((($79)) + -1|0); + $81 = HEAP32[$6>>2]|0; + $82 = HEAP32[$7>>2]|0; + $83 = HEAP32[$8>>2]|0; + $84 = (_patternCompare($80,$81,$82,$83)|0); + $85 = ($84|0)==(0); + $265 = $85; + } else { + $265 = 0; + } + $86 = HEAP32[$6>>2]|0; + if (!($265)) { + break; + } + $87 = ((($86)) + 1|0); + HEAP32[$6>>2] = $87; + $88 = HEAP8[$86>>0]|0; + $89 = $88&255; + $90 = ($89|0)>=(192); + if (!($90)) { + continue; + } + while(1) { + $91 = HEAP32[$6>>2]|0; + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = $93 & 192; + $95 = ($94|0)==(128); + if (!($95)) { + continue L83; + } + $96 = HEAP32[$6>>2]|0; + $97 = ((($96)) + 1|0); + HEAP32[$6>>2] = $97; + } + } + $98 = HEAP8[$86>>0]|0; + $99 = $98&255; + $100 = ($99|0)!=(0); + $101 = $100&1; + HEAP32[$4>>2] = $101; + $263 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($263|0); + } + } while(0); + $102 = HEAP32[$9>>2]|0; + $103 = ($102>>>0)<=(128); + L95: do { + if ($103) { + $104 = HEAP8[$13>>0]|0; + $105 = ($104<<24>>24)!=(0); + $106 = HEAP32[$9>>2]|0; + if ($105) { + $107 = HEAP32[$9>>2]|0; + $108 = $107&255; + $109 = $108&255; + $110 = (20063 + ($109)|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $113 = $112 & 32; + $114 = $113 ^ -1; + $115 = $106 & $114; + HEAP32[$15>>2] = $115; + $116 = HEAP32[$9>>2]|0; + $117 = $116&255; + $118 = $117&255; + $119 = (20458 + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + HEAP32[$9>>2] = $121; + } else { + HEAP32[$15>>2] = $106; + } while(1) { - $77 = HEAP32[$h>>2]|0; - $78 = HEAP32[$0>>2]|0; - $79 = ((($78)) + 12|0); - $80 = (($79) + ($77<<2)|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)!=(0); - if (!($82)) { + $122 = HEAP32[$6>>2]|0; + $123 = ((($122)) + 1|0); + HEAP32[$6>>2] = $123; + $124 = HEAP8[$122>>0]|0; + $125 = $124&255; + HEAP32[$10>>2] = $125; + $126 = ($125|0)!=(0); + if (!($126)) { + break L95; + } + $127 = HEAP32[$10>>2]|0; + $128 = HEAP32[$9>>2]|0; + $129 = ($127|0)!=($128|0); + if ($129) { + $130 = HEAP32[$10>>2]|0; + $131 = HEAP32[$15>>2]|0; + $132 = ($130|0)!=($131|0); + if ($132) { + continue; + } + } + $133 = HEAP32[$5>>2]|0; + $134 = HEAP32[$6>>2]|0; + $135 = HEAP32[$7>>2]|0; + $136 = HEAP32[$8>>2]|0; + $137 = (_patternCompare($133,$134,$135,$136)|0); + $138 = ($137|0)!=(0); + if ($138) { break; } - $83 = HEAP32[$h>>2]|0; - $84 = (($83) + 1)|0; - HEAP32[$h>>2] = $84; - $85 = HEAP32[$h>>2]|0; - $86 = ($85>>>0)>=(125); - $$ = $86 ? 0 : $84; - HEAP32[$h>>2] = $$; - } - $87 = HEAP32[$j>>2]|0; - $88 = HEAP32[$aiValues>>2]|0; - $89 = (($88) + ($87<<2)|0); - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$h>>2]|0; - $92 = HEAP32[$0>>2]|0; - $93 = ((($92)) + 12|0); - $94 = (($93) + ($91<<2)|0); - HEAP32[$94>>2] = $90; + } + HEAP32[$4>>2] = 1; + $263 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($263|0); + } else { + while(1) { + $139 = HEAP32[$6>>2]|0; + $140 = HEAP8[$139>>0]|0; + $141 = $140&255; + $142 = ($141|0)<(128); + if ($142) { + $143 = HEAP32[$6>>2]|0; + $144 = ((($143)) + 1|0); + HEAP32[$6>>2] = $144; + $145 = HEAP8[$143>>0]|0; + $146 = $145&255; + $148 = $146; + } else { + $147 = (_sqlite3Utf8Read($6)|0); + $148 = $147; + } + HEAP32[$10>>2] = $148; + $149 = ($148|0)!=(0); + if (!($149)) { + break L95; + } + $150 = HEAP32[$10>>2]|0; + $151 = HEAP32[$9>>2]|0; + $152 = ($150|0)!=($151|0); + if ($152) { + continue; + } + $153 = HEAP32[$5>>2]|0; + $154 = HEAP32[$6>>2]|0; + $155 = HEAP32[$7>>2]|0; + $156 = HEAP32[$8>>2]|0; + $157 = (_patternCompare($153,$154,$155,$156)|0); + $158 = ($157|0)!=(0); + if ($158) { + break; + } + } + HEAP32[$4>>2] = 1; + $263 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($263|0); } - } - $95 = HEAP32[$j>>2]|0; - $96 = (($95) + 1)|0; - HEAP32[$j>>2] = $96; + } while(0); + HEAP32[$4>>2] = 0; + $263 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($263|0); + } + else if ((label|0) == 49) { + HEAP32[$4>>2] = 0; + $263 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($263|0); + } + else if ((label|0) == 52) { + HEAP32[$4>>2] = 0; + $263 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($263|0); + } + else if ((label|0) == 73) { + HEAP32[$4>>2] = 0; + $263 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($263|0); } + else if ((label|0) == 82) { + HEAP32[$4>>2] = 0; + $263 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($263|0); + } + else if ((label|0) == 83) { + $258 = HEAP32[$6>>2]|0; + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = ($260|0)==(0); + $262 = $261&1; + HEAP32[$4>>2] = $262; + $263 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($263|0); + } + return (0)|0; +} +function _sqlite3_result_int($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)<(0); + $8 = $7 << 31 >> 31; + _sqlite3VdbeMemSetInt64($5,$6,$8); STACKTOP = sp;return; } -function _sqlite3BitvecTest($p,$i) { - $p = $p|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3VdbeMemSetInt64($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $9 = 0; - $8 = $9&1; - STACKTOP = sp;return ($8|0); + $3 = sp + 8|0; + $4 = sp; + HEAP32[$3>>2] = $0; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $1; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = $12 & 9312; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = $4; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + _vdbeReleaseAndSetInt64($15,$18,$21); + STACKTOP = sp;return; + } else { + $22 = $4; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = $28; + $30 = $29; + HEAP32[$30>>2] = $24; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 8|0); + HEAP16[$34>>1] = 4; + STACKTOP = sp;return; } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3BitvecTestNotNull($4,$5)|0); - $7 = ($6|0)!=(0); - $9 = $7; - $8 = $9&1; - STACKTOP = sp;return ($8|0); } -function _sqlite3BitvecSize($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _vdbeReleaseAndSetInt64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($2|0); + $3 = sp + 8|0; + $4 = sp; + HEAP32[$3>>2] = $0; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $1; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = HEAP32[$3>>2]|0; + _sqlite3VdbeMemSetNull($9); + $10 = $4; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = $16; + $18 = $17; + HEAP32[$18>>2] = $12; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $15; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 8|0); + HEAP16[$22>>1] = 4; + STACKTOP = sp;return; } -function _sqlite3BitvecDestroy($p) { - $p = $p|0; - var $0 = 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, $i = 0, label = 0, sp = 0; +function _sqlite3VdbeMemSetNull($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 9312; + $7 = ($6|0)!=(0); + $8 = HEAP32[$1>>2]|0; + if ($7) { + _vdbeMemClearExternAndSetNull($8); + STACKTOP = sp;return; + } else { + $9 = ((($8)) + 8|0); + HEAP16[$9>>1] = 1; STACKTOP = sp;return; } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0); - L4: do { - if ($6) { - HEAP32[$i>>2] = 0; - while(1) { - $7 = HEAP32[$i>>2]|0; - $8 = ($7>>>0)<(125); - if (!($8)) { - break L4; - } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 12|0); - $12 = (($11) + ($9<<2)|0); - $13 = HEAP32[$12>>2]|0; - _sqlite3BitvecDestroy($13); - $14 = HEAP32[$i>>2]|0; - $15 = (($14) + 1)|0; - HEAP32[$i>>2] = $15; - } - } - } while(0); - $16 = HEAP32[$0>>2]|0; - _sqlite3_free($16); - STACKTOP = sp;return; } -function _sqlite3BitvecTestNotNull($p,$i) { - $p = $p|0; - $i = $i|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $bin = 0, $h = 0, label = 0, sp = 0; +function _vdbeMemClearExternAndSetNull($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $bin = sp + 4|0; - $h = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $i; - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + -1)|0; - HEAP32[$2>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ($5>>>0)>=($7>>>0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = $6 & 8192; + $8 = ($7|0)!=(0); if ($8) { - HEAP32[$0>>2] = 0; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); - } - while(1) { $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 8|0); + $10 = HEAP32[$1>>2]|0; $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0); - if (!($12)) { - break; - } - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($13>>>0) / ($16>>>0))&-1; - HEAP32[$bin>>2] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($18>>>0) % ($21>>>0))&-1; - HEAP32[$2>>2] = $22; - $23 = HEAP32[$bin>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 12|0); - $26 = (($25) + ($23<<2)|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$1>>2] = $27; - $28 = HEAP32[$1>>2]|0; - $29 = ($28|0)!=(0|0); - if (!($29)) { - label = 5; - break; - } - } - if ((label|0) == 5) { - HEAP32[$0>>2] = 0; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); - } - $30 = HEAP32[$1>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = ($31>>>0)<=(4000); - $33 = HEAP32[$2>>2]|0; - if ($32) { - $34 = (($33>>>0) / 8)&-1; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 12|0); - $37 = (($36) + ($34)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = HEAP32[$2>>2]|0; - $41 = $40 & 7; - $42 = 1 << $41; - $43 = $39 & $42; - $44 = ($43|0)!=(0); - $45 = $44&1; - HEAP32[$0>>2] = $45; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + (_sqlite3VdbeMemFinalize($9,$11)|0); } - $46 = (($33) + 1)|0; - HEAP32[$2>>2] = $46; - $47 = $33; - $48 = (($47>>>0) % 125)&-1; - HEAP32[$h>>2] = $48; - while(1) { - $49 = HEAP32[$h>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 12|0); - $52 = (($51) + ($49<<2)|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)!=(0); - if (!($54)) { - label = 13; - break; - } - $55 = HEAP32[$h>>2]|0; - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 12|0); - $58 = (($57) + ($55<<2)|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = ($59|0)==($60|0); - if ($61) { - label = 11; - break; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = $15 & 1024; + $17 = ($16|0)!=(0); + $18 = HEAP32[$1>>2]|0; + do { + if ($17) { + $19 = ((($18)) + 36|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + FUNCTION_TABLE_vi[$20 & 255]($23); + } else { + $24 = ((($18)) + 8|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = $26 & 32; + $28 = ($27|0)!=(0); + $29 = HEAP32[$1>>2]|0; + if ($28) { + $30 = HEAP32[$29>>2]|0; + _sqlite3RowSetClear($30); + break; + } + $31 = ((($29)) + 8|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32&65535; + $34 = $33 & 64; + $35 = ($34|0)!=(0); + if ($35) { + $36 = HEAP32[$1>>2]|0; + $37 = HEAP32[$36>>2]|0; + HEAP32[$2>>2] = $37; + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = ((($39)) + 188|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$2>>2]|0; + $43 = ((($42)) + 4|0); + HEAP32[$43>>2] = $41; + $44 = HEAP32[$2>>2]|0; + $45 = HEAP32[$2>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = ((($46)) + 188|0); + HEAP32[$47>>2] = $44; + } } - $62 = HEAP32[$h>>2]|0; - $63 = (($62) + 1)|0; - $64 = (($63>>>0) % 125)&-1; - HEAP32[$h>>2] = $64; + } while(0); + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 8|0); + HEAP16[$49>>1] = 1; + STACKTOP = sp;return; +} +function _sqlite3VdbeMemFinalize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; + var src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 40|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + $38 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($38|0); } - if ((label|0) == 11) { - HEAP32[$0>>2] = 1; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + $38 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($38|0); } - else if ((label|0) == 13) { - HEAP32[$0>>2] = 0; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0;HEAP32[$5+20>>2]=0|0;HEAP32[$5+24>>2]=0|0;HEAP32[$5+28>>2]=0|0; + dest=$6; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $13 = ((($6)) + 8|0); + HEAP16[$13>>1] = 1; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 32|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($6)) + 32|0); + HEAP32[$17>>2] = $16; + HEAP32[$5>>2] = $6; + $18 = HEAP32[$2>>2]|0; + $19 = ((($5)) + 8|0); + HEAP32[$19>>2] = $18; + $20 = HEAP32[$3>>2]|0; + $21 = ((($5)) + 4|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + FUNCTION_TABLE_vi[$24 & 255]($5); + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)>(0); + if ($28) { + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 32|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 20|0); + $34 = HEAP32[$33>>2]|0; + _sqlite3DbFree($31,$34); } - return (0)|0; -} -function _sqlite3WalFile($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWal; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + $35 = HEAP32[$2>>2]|0; + dest=$35; src=$6; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $36 = ((($5)) + 20|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$4>>2] = $37; + $38 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($38|0); } -function _sqlite3HashFind($pH,$pKey) { - $pH = $pH|0; - $pKey = $pKey|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $elem = 0, $h = 0, label = 0, sp = 0; +function _sqlite3RowSetClear($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, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; $1 = sp + 8|0; - $elem = sp + 4|0; - $h = sp; - HEAP32[$0>>2] = $pH; - HEAP32[$1>>2] = $pKey; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_findElementWithHash($2,$3,$h)|0); - HEAP32[$elem>>2] = $4; - $5 = HEAP32[$elem>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $10 = 0; - STACKTOP = sp;return ($10|0); - } - $7 = HEAP32[$elem>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9; - STACKTOP = sp;return ($10|0); -} -function _findElementWithHash($pH,$pKey,$pHash) { - $pH = $pH|0; - $pKey = $pKey|0; - $pHash = $pHash|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $count = 0, $elem = 0, $h = 0, $pEntry = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $elem = sp + 12|0; - $count = sp + 8|0; - $h = sp + 4|0; - $pEntry = sp; - HEAP32[$1>>2] = $pH; - HEAP32[$2>>2] = $pKey; - HEAP32[$3>>2] = $pHash; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$2>>2]|0; - $9 = (_strHash($8)|0); - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (($9>>>0) % ($11>>>0))&-1; - HEAP32[$h>>2] = $12; - $13 = HEAP32[$h>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($13<<3)|0); - HEAP32[$pEntry>>2] = $17; - $18 = HEAP32[$pEntry>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$elem>>2] = $20; - $21 = HEAP32[$pEntry>>2]|0; - $22 = HEAP32[$21>>2]|0; - HEAP32[$count>>2] = $22; - } else { - HEAP32[$h>>2] = 0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$elem>>2] = $25; - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$count>>2] = $28; - } - $29 = HEAP32[$h>>2]|0; - $30 = HEAP32[$3>>2]|0; - HEAP32[$30>>2] = $29; + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; while(1) { - $31 = HEAP32[$count>>2]|0; - $32 = (($31) + -1)|0; - HEAP32[$count>>2] = $32; - $33 = ($31|0)!=(0); - if (!($33)) { - label = 9; - break; - } - $34 = HEAP32[$elem>>2]|0; - $35 = ((($34)) + 12|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = (_sqlite3StrICmp($36,$37)|0); - $39 = ($38|0)==(0); - $40 = HEAP32[$elem>>2]|0; - if ($39) { - label = 7; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { break; } - $41 = HEAP32[$40>>2]|0; - HEAP32[$elem>>2] = $41; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + _sqlite3DbFree($12,$13); + $14 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $14; } - if ((label|0) == 7) { - HEAP32[$0>>2] = $40; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); - } - else if ((label|0) == 9) { - HEAP32[$0>>2] = 0; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); - } - return (0)|0; -} -function _strHash($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $h = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $h = sp; - $c = sp + 8|0; - HEAP32[$0>>2] = $z; - HEAP32[$h>>2] = 0; - while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 1|0); - HEAP32[$0>>2] = $2; - $3 = HEAP8[$1>>0]|0; - HEAP8[$c>>0] = $3; - $4 = $3&255; - $5 = ($4|0)!=(0); - if (!($5)) { - break; - } - $6 = HEAP8[$c>>0]|0; - $7 = $6&255; - $8 = (17613 + ($7)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = HEAP32[$h>>2]|0; - $12 = (($11) + ($10))|0; - HEAP32[$h>>2] = $12; - $13 = HEAP32[$h>>2]|0; - $14 = Math_imul($13, -1640531535)|0; - HEAP32[$h>>2] = $14; - } - $15 = HEAP32[$h>>2]|0; - STACKTOP = sp;return ($15|0); + $15 = HEAP32[$1>>2]|0; + HEAP32[$15>>2] = 0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 24|0); + HEAP16[$17>>1] = 0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 8|0); + HEAP32[$19>>2] = 0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 12|0); + HEAP32[$21>>2] = 0; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 20|0); + HEAP32[$23>>2] = 0; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 26|0); + HEAP16[$25>>1] = 1; + STACKTOP = sp;return; } -function _sqlite3InitOne($db,$iDb,$pzErrMsg) { - $db = $db|0; - $iDb = $iDb|0; - $pzErrMsg = $pzErrMsg|0; - var $$ = 0, $$1 = 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, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $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, $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, $azArg = 0, $encoding = 0, $i = 0, $initData = 0, $meta = 0, $openedTransaction = 0, $or$cond = 0, $pDb = 0, $rc = 0, $size = 0, $vararg_buffer = 0, $vararg_ptr3 = 0, $xAuth = 0, $zMasterName = 0; - var $zSql = 0, label = 0, sp = 0; +function _sqlite3VdbeMemSetStr($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer = sp; - $0 = sp + 108|0; - $1 = sp + 104|0; - $2 = sp + 100|0; - $3 = sp + 96|0; - $rc = sp + 92|0; - $i = sp + 88|0; - $size = sp + 84|0; - $pDb = sp + 80|0; - $azArg = sp + 64|0; - $meta = sp + 40|0; - $initData = sp + 24|0; - $zMasterName = sp + 20|0; - $openedTransaction = sp + 16|0; - $encoding = sp + 112|0; - $zSql = sp + 12|0; - $xAuth = sp + 8|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $iDb; - HEAP32[$3>>2] = $pzErrMsg; - HEAP32[$openedTransaction>>2] = 0; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)==(1); - $6 = $5 ? 19905 : 19924; - HEAP32[$zMasterName>>2] = $6; - HEAP32[$azArg>>2] = $6; - $7 = ((($azArg)) + 4|0); - HEAP32[$7>>2] = 19938; - $8 = ((($azArg)) + 8|0); - HEAP32[$8>>2] = 19940; - $9 = ((($azArg)) + 12|0); - HEAP32[$9>>2] = 0; - $10 = HEAP32[$1>>2]|0; - HEAP32[$initData>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = ((($initData)) + 8|0); - HEAP32[$12>>2] = $11; - $13 = ((($initData)) + 12|0); - HEAP32[$13>>2] = 0; - $14 = HEAP32[$3>>2]|0; - $15 = ((($initData)) + 4|0); - HEAP32[$15>>2] = $14; - (_sqlite3InitCallback($initData,3,$azArg,0)|0); - $16 = ((($initData)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)!=(0); - if ($18) { - $19 = ((($initData)) + 12|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$rc>>2] = $20; - } else { - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 16|0); + STACKTOP = STACKTOP + 48|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 34|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp + 32|0; + $14 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP8[$9>>0] = $3; + HEAP32[$10>>2] = $4; + $15 = HEAP32[$8>>2]|0; + HEAP32[$11>>2] = $15; + HEAP16[$13>>1] = 0; + $16 = HEAP32[$7>>2]|0; + $17 = ($16|0)!=(0|0); + $18 = HEAP32[$6>>2]|0; + if (!($17)) { + _sqlite3VdbeMemSetNull($18); + HEAP32[$5>>2] = 0; + $147 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($147|0); + } + $19 = ((($18)) + 32|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 32|0); $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($21<<4)|0); - HEAP32[$pDb>>2] = $25; - $26 = HEAP32[$pDb>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==(0|0); - if ($29) { - $30 = HEAP32[$2>>2]|0; - $31 = ($30|0)==(1); - if ($31) { - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 16|0); - $34 = HEAP32[$33>>2]|0; - $35 = ((($34)) + 16|0); - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($37)) + 78|0); - $39 = HEAP16[$38>>1]|0; - $40 = $39&65535; - $41 = $40 | 1; - $42 = $41&65535; - HEAP16[$38>>1] = $42; - } - HEAP32[$0>>2] = 0; - $243 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($243|0); - } - $43 = HEAP32[$pDb>>2]|0; - $44 = ((($43)) + 4|0); - $45 = HEAP32[$44>>2]|0; - _sqlite3BtreeEnter($45); - $46 = HEAP32[$pDb>>2]|0; - $47 = ((($46)) + 4|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_sqlite3BtreeIsInReadTrans($48)|0); - $50 = ($49|0)!=(0); - do { - if ($50) { - label = 11; - } else { - $51 = HEAP32[$pDb>>2]|0; - $52 = ((($51)) + 4|0); - $53 = HEAP32[$52>>2]|0; - $54 = (_sqlite3BtreeBeginTrans($53,0)|0); - HEAP32[$rc>>2] = $54; - $55 = HEAP32[$rc>>2]|0; - $56 = ($55|0)!=(0); - if ($56) { - $57 = HEAP32[$3>>2]|0; - $58 = HEAP32[$1>>2]|0; - $59 = HEAP32[$rc>>2]|0; - $60 = (_sqlite3ErrStr($59)|0); - _sqlite3SetString($57,$58,$60); - break; - } else { - HEAP32[$openedTransaction>>2] = 1; - label = 11; - break; + $25 = ((($24)) + 96|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$12>>2] = $26; + } else { + HEAP32[$12>>2] = 1000000000; + } + $27 = HEAP8[$9>>0]|0; + $28 = $27&255; + $29 = ($28|0)==(0); + $30 = $29 ? 16 : 2; + $31 = $30&65535; + HEAP16[$13>>1] = $31; + $32 = HEAP32[$11>>2]|0; + $33 = ($32|0)<(0); + if ($33) { + $34 = HEAP8[$9>>0]|0; + $35 = $34&255; + $36 = ($35|0)==(1); + L11: do { + if ($36) { + $37 = HEAP32[$7>>2]|0; + $38 = (_sqlite3Strlen30($37)|0); + HEAP32[$11>>2] = $38; + $39 = HEAP32[$11>>2]|0; + $40 = HEAP32[$12>>2]|0; + $41 = ($39|0)>($40|0); + if ($41) { + $42 = HEAP32[$12>>2]|0; + $43 = (($42) + 1)|0; + HEAP32[$11>>2] = $43; } - } - } while(0); - L16: do { - if ((label|0) == 11) { - HEAP32[$i>>2] = 0; + } else { + HEAP32[$11>>2] = 0; while(1) { - $61 = HEAP32[$i>>2]|0; - $62 = ($61|0)<(5); - if (!($62)) { - break; - } - $63 = HEAP32[$pDb>>2]|0; - $64 = ((($63)) + 4|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$i>>2]|0; - $67 = (($66) + 1)|0; - $68 = HEAP32[$i>>2]|0; - $69 = (($meta) + ($68<<2)|0); - _sqlite3BtreeGetMeta($65,$67,$69); - $70 = HEAP32[$i>>2]|0; - $71 = (($70) + 1)|0; - HEAP32[$i>>2] = $71; - } - $72 = HEAP32[$meta>>2]|0; - $73 = HEAP32[$pDb>>2]|0; - $74 = ((($73)) + 12|0); - $75 = HEAP32[$74>>2]|0; - HEAP32[$75>>2] = $72; - $76 = ((($meta)) + 16|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($77|0)!=(0); - $79 = HEAP32[$2>>2]|0; - do { - if ($78) { - $80 = ($79|0)==(0); - $81 = ((($meta)) + 16|0); - $82 = HEAP32[$81>>2]|0; - if ($80) { - $83 = $82&255; - $84 = $83&255; - $85 = $84 & 3; - $86 = $85&255; - HEAP8[$encoding>>0] = $86; - $87 = HEAP8[$encoding>>0]|0; - $88 = $87&255; - $89 = ($88|0)==(0); - $$ = $89 ? 1 : $86; - HEAP8[$encoding>>0] = $$; - $90 = HEAP8[$encoding>>0]|0; - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 66|0); - HEAP8[$92>>0] = $90; - break; - } - $93 = HEAP32[$1>>2]|0; - $94 = ((($93)) + 66|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = ($82|0)!=($96|0); - if ($97) { - $98 = HEAP32[$3>>2]|0; - $99 = HEAP32[$1>>2]|0; - _sqlite3SetString($98,$99,20016); - HEAP32[$rc>>2] = 1; - break L16; - } - } else { - $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 16|0); - $102 = HEAP32[$101>>2]|0; - $103 = (($102) + ($79<<4)|0); - $104 = ((($103)) + 12|0); - $105 = HEAP32[$104>>2]|0; - $106 = ((($105)) + 78|0); - $107 = HEAP16[$106>>1]|0; - $108 = $107&65535; - $109 = $108 | 4; - $110 = $109&65535; - HEAP16[$106>>1] = $110; - } - } while(0); - $111 = HEAP32[$1>>2]|0; - $112 = ((($111)) + 66|0); - $113 = HEAP8[$112>>0]|0; - $114 = HEAP32[$pDb>>2]|0; - $115 = ((($114)) + 12|0); - $116 = HEAP32[$115>>2]|0; - $117 = ((($116)) + 77|0); - HEAP8[$117>>0] = $113; - $118 = HEAP32[$pDb>>2]|0; - $119 = ((($118)) + 12|0); - $120 = HEAP32[$119>>2]|0; - $121 = ((($120)) + 80|0); - $122 = HEAP32[$121>>2]|0; - $123 = ($122|0)==(0); - if ($123) { - $124 = ((($meta)) + 8|0); - $125 = HEAP32[$124>>2]|0; - $126 = (_sqlite3AbsInt32($125)|0); - HEAP32[$size>>2] = $126; - $127 = HEAP32[$size>>2]|0; - $128 = ($127|0)==(0); - $$1 = $128 ? -2000 : $126; - HEAP32[$size>>2] = $$1; - $129 = HEAP32[$size>>2]|0; - $130 = HEAP32[$pDb>>2]|0; - $131 = ((($130)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($132)) + 80|0); - HEAP32[$133>>2] = $129; - $134 = HEAP32[$pDb>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - $137 = HEAP32[$pDb>>2]|0; - $138 = ((($137)) + 12|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($139)) + 80|0); - $141 = HEAP32[$140>>2]|0; - (_sqlite3BtreeSetCacheSize($136,$141)|0); - } - $142 = ((($meta)) + 4|0); - $143 = HEAP32[$142>>2]|0; - $144 = $143&255; - $145 = HEAP32[$pDb>>2]|0; - $146 = ((($145)) + 12|0); - $147 = HEAP32[$146>>2]|0; - $148 = ((($147)) + 76|0); - HEAP8[$148>>0] = $144; - $149 = HEAP32[$pDb>>2]|0; - $150 = ((($149)) + 12|0); - $151 = HEAP32[$150>>2]|0; - $152 = ((($151)) + 76|0); - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = ($154|0)==(0); - if ($155) { - $156 = HEAP32[$pDb>>2]|0; - $157 = ((($156)) + 12|0); - $158 = HEAP32[$157>>2]|0; - $159 = ((($158)) + 76|0); - HEAP8[$159>>0] = 1; - } - $160 = HEAP32[$pDb>>2]|0; - $161 = ((($160)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ((($162)) + 76|0); - $164 = HEAP8[$163>>0]|0; - $165 = $164&255; - $166 = ($165|0)>(4); - if ($166) { - $167 = HEAP32[$3>>2]|0; - $168 = HEAP32[$1>>2]|0; - _sqlite3SetString($167,$168,20084); - HEAP32[$rc>>2] = 1; - break; - } - $169 = HEAP32[$2>>2]|0; - $170 = ($169|0)==(0); - if ($170) { - $171 = ((($meta)) + 4|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)>=(4); - if ($173) { - $174 = HEAP32[$1>>2]|0; - $175 = ((($174)) + 24|0); - $176 = HEAP32[$175>>2]|0; - $177 = $176 & -32769; - HEAP32[$175>>2] = $177; + $44 = HEAP32[$11>>2]|0; + $45 = HEAP32[$12>>2]|0; + $46 = ($44|0)<=($45|0); + if (!($46)) { + break L11; } - } - $178 = HEAP32[$1>>2]|0; - $179 = HEAP32[$2>>2]|0; - $180 = HEAP32[$1>>2]|0; - $181 = ((($180)) + 16|0); - $182 = HEAP32[$181>>2]|0; - $183 = (($182) + ($179<<4)|0); - $184 = HEAP32[$183>>2]|0; - $185 = HEAP32[$zMasterName>>2]|0; - HEAP32[$vararg_buffer>>2] = $184; - $vararg_ptr3 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr3>>2] = $185; - $186 = (_sqlite3MPrintf($178,20108,$vararg_buffer)|0); - HEAP32[$zSql>>2] = $186; - $187 = HEAP32[$1>>2]|0; - $188 = ((($187)) + 296|0); - $189 = HEAP32[$188>>2]|0; - HEAP32[$xAuth>>2] = $189; - $190 = HEAP32[$1>>2]|0; - $191 = ((($190)) + 296|0); - HEAP32[$191>>2] = 0; - $192 = HEAP32[$1>>2]|0; - $193 = HEAP32[$zSql>>2]|0; - $194 = (_sqlite3_exec($192,$193,140,$initData,0)|0); - HEAP32[$rc>>2] = $194; - $195 = HEAP32[$xAuth>>2]|0; - $196 = HEAP32[$1>>2]|0; - $197 = ((($196)) + 296|0); - HEAP32[$197>>2] = $195; - $198 = HEAP32[$rc>>2]|0; - $199 = ($198|0)==(0); - if ($199) { - $200 = ((($initData)) + 12|0); - $201 = HEAP32[$200>>2]|0; - HEAP32[$rc>>2] = $201; - } - $202 = HEAP32[$1>>2]|0; - $203 = HEAP32[$zSql>>2]|0; - _sqlite3DbFree($202,$203); - $204 = HEAP32[$rc>>2]|0; - $205 = ($204|0)==(0); - if ($205) { - $206 = HEAP32[$1>>2]|0; - $207 = HEAP32[$2>>2]|0; - (_sqlite3AnalysisLoad($206,$207)|0); - } - $208 = HEAP32[$1>>2]|0; - $209 = ((($208)) + 69|0); - $210 = HEAP8[$209>>0]|0; - $211 = ($210<<24>>24)!=(0); - if ($211) { - HEAP32[$rc>>2] = 7; - $212 = HEAP32[$1>>2]|0; - _sqlite3ResetAllSchemasOfConnection($212); - } - $213 = HEAP32[$rc>>2]|0; - $214 = ($213|0)==(0); - if (!($214)) { - $215 = HEAP32[$1>>2]|0; - $216 = ((($215)) + 24|0); - $217 = HEAP32[$216>>2]|0; - $218 = $217 & 65536; - $219 = ($218|0)!=(0); - if (!($219)) { - break; + $47 = HEAP32[$7>>2]|0; + $48 = HEAP32[$11>>2]|0; + $49 = (($47) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50 << 24 >> 24; + $52 = HEAP32[$7>>2]|0; + $53 = HEAP32[$11>>2]|0; + $54 = (($53) + 1)|0; + $55 = (($52) + ($54)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = $51 | $57; + $59 = ($58|0)!=(0); + if (!($59)) { + break L11; } + $60 = HEAP32[$11>>2]|0; + $61 = (($60) + 2)|0; + HEAP32[$11>>2] = $61; } - $220 = HEAP32[$2>>2]|0; - $221 = HEAP32[$1>>2]|0; - $222 = ((($221)) + 16|0); - $223 = HEAP32[$222>>2]|0; - $224 = (($223) + ($220<<4)|0); - $225 = ((($224)) + 12|0); - $226 = HEAP32[$225>>2]|0; - $227 = ((($226)) + 78|0); - $228 = HEAP16[$227>>1]|0; - $229 = $228&65535; - $230 = $229 | 1; - $231 = $230&65535; - HEAP16[$227>>1] = $231; - HEAP32[$rc>>2] = 0; } } while(0); - $232 = HEAP32[$openedTransaction>>2]|0; - $233 = ($232|0)!=(0); - if ($233) { - $234 = HEAP32[$pDb>>2]|0; - $235 = ((($234)) + 4|0); - $236 = HEAP32[$235>>2]|0; - (_sqlite3BtreeCommit($236)|0); + $62 = HEAP16[$13>>1]|0; + $63 = $62&65535; + $64 = $63 | 512; + $65 = $64&65535; + HEAP16[$13>>1] = $65; + } + $66 = HEAP32[$10>>2]|0; + $67 = ($66|0)==((-1)|0); + do { + if ($67) { + $68 = HEAP32[$11>>2]|0; + HEAP32[$14>>2] = $68; + $69 = HEAP16[$13>>1]|0; + $70 = $69&65535; + $71 = $70 & 512; + $72 = ($71|0)!=(0); + if ($72) { + $73 = HEAP8[$9>>0]|0; + $74 = $73&255; + $75 = ($74|0)==(1); + $76 = $75 ? 1 : 2; + $77 = HEAP32[$14>>2]|0; + $78 = (($77) + ($76))|0; + HEAP32[$14>>2] = $78; + } + $79 = HEAP32[$11>>2]|0; + $80 = HEAP32[$12>>2]|0; + $81 = ($79|0)>($80|0); + if ($81) { + HEAP32[$5>>2] = 18; + $147 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($147|0); + } + $82 = HEAP32[$6>>2]|0; + $83 = HEAP32[$14>>2]|0; + $84 = ($83|0)>(32); + $85 = HEAP32[$14>>2]|0; + $86 = $84 ? $85 : 32; + $87 = (_sqlite3VdbeMemClearAndResize($82,$86)|0); + $88 = ($87|0)!=(0); + if (!($88)) { + $89 = HEAP32[$6>>2]|0; + $90 = ((($89)) + 16|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$7>>2]|0; + $93 = HEAP32[$14>>2]|0; + _memcpy(($91|0),($92|0),($93|0))|0; + break; + } + HEAP32[$5>>2] = 7; + $147 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($147|0); + } else { + $94 = HEAP32[$10>>2]|0; + $95 = ($94|0)==(191|0); + $96 = HEAP32[$6>>2]|0; + _sqlite3VdbeMemRelease($96); + $97 = HEAP32[$7>>2]|0; + $98 = HEAP32[$6>>2]|0; + $99 = ((($98)) + 16|0); + HEAP32[$99>>2] = $97; + if ($95) { + $100 = HEAP32[$6>>2]|0; + $101 = ((($100)) + 20|0); + HEAP32[$101>>2] = $97; + $102 = HEAP32[$6>>2]|0; + $103 = ((($102)) + 32|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$6>>2]|0; + $106 = ((($105)) + 20|0); + $107 = HEAP32[$106>>2]|0; + $108 = (_sqlite3DbMallocSize($104,$107)|0); + $109 = HEAP32[$6>>2]|0; + $110 = ((($109)) + 24|0); + HEAP32[$110>>2] = $108; + break; + } else { + $111 = HEAP32[$10>>2]|0; + $112 = HEAP32[$6>>2]|0; + $113 = ((($112)) + 36|0); + HEAP32[$113>>2] = $111; + $114 = HEAP32[$10>>2]|0; + $115 = ($114|0)==(0|0); + $116 = $115 ? 2048 : 1024; + $117 = HEAP16[$13>>1]|0; + $118 = $117&65535; + $119 = $118 | $116; + $120 = $119&65535; + HEAP16[$13>>1] = $120; + break; + } + } + } while(0); + $121 = HEAP32[$11>>2]|0; + $122 = HEAP32[$6>>2]|0; + $123 = ((($122)) + 12|0); + HEAP32[$123>>2] = $121; + $124 = HEAP16[$13>>1]|0; + $125 = HEAP32[$6>>2]|0; + $126 = ((($125)) + 8|0); + HEAP16[$126>>1] = $124; + $127 = HEAP8[$9>>0]|0; + $128 = $127&255; + $129 = ($128|0)==(0); + $130 = HEAP8[$9>>0]|0; + $131 = $130&255; + $132 = $129 ? 1 : $131; + $133 = $132&255; + $134 = HEAP32[$6>>2]|0; + $135 = ((($134)) + 10|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[$6>>2]|0; + $137 = ((($136)) + 10|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = ($139|0)!=(1); + if ($140) { + $141 = HEAP32[$6>>2]|0; + $142 = (_sqlite3VdbeMemHandleBom($141)|0); + $143 = ($142|0)!=(0); + if ($143) { + HEAP32[$5>>2] = 7; + $147 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($147|0); } } - $237 = HEAP32[$rc>>2]|0; - $238 = ($237|0)==(7); - $239 = HEAP32[$rc>>2]|0; - $240 = ($239|0)==(3082); - $or$cond = $238 | $240; - if ($or$cond) { - $241 = HEAP32[$1>>2]|0; - _sqlite3OomFault($241); - } - $242 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $242; - $243 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($243|0); -} -function _sqlite3ResetOneSchema($db,$iDb) { - $db = $db|0; - $iDb = $iDb|0; - var $0 = 0, $1 = 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, $pDb = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pDb = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $iDb; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + ($2<<4)|0); - HEAP32[$pDb>>2] = $6; - $7 = HEAP32[$pDb>>2]|0; - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - _sqlite3SchemaClear($9); - $10 = HEAP32[$1>>2]|0; - $11 = ($10|0)!=(1); - if (!($11)) { - STACKTOP = sp;return; + $144 = HEAP32[$11>>2]|0; + $145 = HEAP32[$12>>2]|0; + $146 = ($144|0)>($145|0); + if ($146) { + HEAP32[$5>>2] = 18; + $147 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($147|0); + } else { + HEAP32[$5>>2] = 0; + $147 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($147|0); } - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 16|0); - HEAP32[$pDb>>2] = $15; - $16 = HEAP32[$pDb>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3SchemaClear($18); - STACKTOP = sp;return; + return (0)|0; } -function _sqlite3CommitInternalChanges($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3VdbeMemClearAndResize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & -3; - HEAP32[$2>>2] = $4; - STACKTOP = sp;return; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 24|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = ($7|0)<($8|0); + $10 = HEAP32[$3>>2]|0; + if ($9) { + $11 = HEAP32[$4>>2]|0; + $12 = (_sqlite3VdbeMemGrow($10,$11,0)|0); + HEAP32[$2>>2] = $12; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); + } else { + $13 = ((($10)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 16|0); + HEAP32[$16>>2] = $14; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP16[$18>>1]|0; + $20 = $19&65535; + $21 = $20 & 13; + $22 = $21&65535; + HEAP16[$18>>1] = $22; + HEAP32[$2>>2] = 0; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); + } + return (0)|0; } -function _sqlite3SchemaClear($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pElem = 0, $pSchema = 0, $pTab = 0, $temp1 = 0, $temp2 = 0, label = 0, sp = 0; +function _sqlite3VdbeMemRelease($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; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $temp1 = sp + 32|0; - $temp2 = sp + 16|0; - $pElem = sp + 8|0; - $pSchema = sp + 4|0; - $pTab = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pSchema>>2] = $1; - $2 = HEAP32[$pSchema>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; $3 = ((($2)) + 8|0); - ;HEAP32[$temp1>>2]=HEAP32[$3>>2]|0;HEAP32[$temp1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$temp1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$temp1+12>>2]=HEAP32[$3+12>>2]|0; - $4 = HEAP32[$pSchema>>2]|0; - $5 = ((($4)) + 40|0); - ;HEAP32[$temp2>>2]=HEAP32[$5>>2]|0;HEAP32[$temp2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$temp2+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$temp2+12>>2]=HEAP32[$5+12>>2]|0; - $6 = HEAP32[$pSchema>>2]|0; - $7 = ((($6)) + 40|0); - _sqlite3HashInit($7); - $8 = HEAP32[$pSchema>>2]|0; - $9 = ((($8)) + 24|0); - _sqlite3HashClear($9); - $10 = ((($temp2)) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pElem>>2] = $11; - while(1) { - $12 = HEAP32[$pElem>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - break; - } - $14 = HEAP32[$pElem>>2]|0; - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - _sqlite3DeleteTrigger(0,$16); - $17 = HEAP32[$pElem>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$pElem>>2] = $18; - } - _sqlite3HashClear($temp2); - $19 = HEAP32[$pSchema>>2]|0; - $20 = ((($19)) + 8|0); - _sqlite3HashInit($20); - $21 = ((($temp1)) + 8|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$pElem>>2] = $22; - while(1) { - $23 = HEAP32[$pElem>>2]|0; - $24 = ($23|0)!=(0|0); - if (!($24)) { - break; + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 9312; + $7 = ($6|0)!=(0); + if (!($7)) { + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0); + if (!($11)) { + STACKTOP = sp;return; } - $25 = HEAP32[$pElem>>2]|0; - $26 = ((($25)) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pTab>>2] = $27; - $28 = HEAP32[$pTab>>2]|0; - _sqlite3DeleteTable(0,$28); - $29 = HEAP32[$pElem>>2]|0; - $30 = HEAP32[$29>>2]|0; - HEAP32[$pElem>>2] = $30; - } - _sqlite3HashClear($temp1); - $31 = HEAP32[$pSchema>>2]|0; - $32 = ((($31)) + 56|0); - _sqlite3HashClear($32); - $33 = HEAP32[$pSchema>>2]|0; - $34 = ((($33)) + 72|0); - HEAP32[$34>>2] = 0; - $35 = HEAP32[$pSchema>>2]|0; - $36 = ((($35)) + 78|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37&65535; - $39 = $38 & 1; - $40 = ($39|0)!=(0); - if (!($40)) { - STACKTOP = sp;return; } - $41 = HEAP32[$pSchema>>2]|0; - $42 = ((($41)) + 4|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$42>>2] = $44; - $45 = HEAP32[$pSchema>>2]|0; - $46 = ((($45)) + 78|0); - $47 = HEAP16[$46>>1]|0; - $48 = $47&65535; - $49 = $48 & -2; - $50 = $49&65535; - HEAP16[$46>>1] = $50; + $12 = HEAP32[$1>>2]|0; + _vdbeMemClear($12); STACKTOP = sp;return; } -function _sqlite3HashInit($pNew) { - $pNew = $pNew|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _sqlite3VdbeMemHandleBom($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pNew; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); + $1 = sp + 4|0; + $2 = sp; + $3 = sp + 10|0; + $4 = sp + 9|0; + $5 = sp + 8|0; + HEAP32[$1>>2] = $0; HEAP32[$2>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - HEAP32[$4>>2] = 0; - $5 = HEAP32[$0>>2]|0; - HEAP32[$5>>2] = 0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 12|0); - HEAP32[$7>>2] = 0; - STACKTOP = sp;return; -} -function _sqlite3HashClear($pH) { - $pH = $pH|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $elem = 0, $next_elem = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $elem = sp + 4|0; - $next_elem = sp; - HEAP32[$0>>2] = $pH; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$elem>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[$0>>2]|0; + HEAP8[$3>>0] = 0; + $6 = HEAP32[$1>>2]|0; $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; - _sqlite3_free($8); - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 12|0); - HEAP32[$10>>2] = 0; - $11 = HEAP32[$0>>2]|0; - HEAP32[$11>>2] = 0; - while(1) { - $12 = HEAP32[$elem>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - break; + $9 = ($8|0)>(1); + if ($9) { + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP8[$12>>0]|0; + HEAP8[$4>>0] = $13; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 1|0); + $18 = HEAP8[$17>>0]|0; + HEAP8[$5>>0] = $18; + $19 = HEAP8[$4>>0]|0; + $20 = $19&255; + $21 = ($20|0)==(254); + if ($21) { + $22 = HEAP8[$5>>0]|0; + $23 = $22&255; + $24 = ($23|0)==(255); + if ($24) { + HEAP8[$3>>0] = 3; + } + } + $25 = HEAP8[$4>>0]|0; + $26 = $25&255; + $27 = ($26|0)==(255); + if ($27) { + $28 = HEAP8[$5>>0]|0; + $29 = $28&255; + $30 = ($29|0)==(254); + if ($30) { + HEAP8[$3>>0] = 2; + } } - $14 = HEAP32[$elem>>2]|0; - $15 = HEAP32[$14>>2]|0; - HEAP32[$next_elem>>2] = $15; - $16 = HEAP32[$elem>>2]|0; - _sqlite3_free($16); - $17 = HEAP32[$next_elem>>2]|0; - HEAP32[$elem>>2] = $17; } - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 4|0); - HEAP32[$19>>2] = 0; - STACKTOP = sp;return; -} -function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { - $pInit = $pInit|0; - $argc = $argc|0; - $argv = $argv|0; - $NotUsed = $NotUsed|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $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; - 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, $db = 0, $iDb = 0, $pData = 0, $pIndex = 0; - var $pStmt = 0, $rc = 0, $saved_iDb = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $pData = sp + 20|0; - $db = sp + 16|0; - $iDb = sp + 12|0; - $rc = sp + 8|0; - $saved_iDb = sp + 44|0; - $pStmt = sp + 4|0; - $pIndex = sp; - HEAP32[$1>>2] = $pInit; - HEAP32[$2>>2] = $argc; - HEAP32[$3>>2] = $argv; - HEAP32[$4>>2] = $NotUsed; - $5 = HEAP32[$1>>2]|0; - HEAP32[$pData>>2] = $5; - $6 = HEAP32[$pData>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$db>>2] = $7; - $8 = HEAP32[$pData>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$iDb>>2] = $10; - $11 = HEAP32[$iDb>>2]|0; - $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<4)|0); - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($17)) + 78|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 & -5; - $22 = $21&65535; - HEAP16[$18>>1] = $22; - $23 = HEAP32[$db>>2]|0; - $24 = ((($23)) + 69|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)!=(0); - if ($26) { - $27 = HEAP32[$pData>>2]|0; - $28 = HEAP32[$3>>2]|0; - $29 = HEAP32[$28>>2]|0; - _corruptSchema($27,$29,0); - HEAP32[$0>>2] = 1; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); + $31 = HEAP8[$3>>0]|0; + $32 = ($31<<24>>24)!=(0); + if (!($32)) { + $75 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($75|0); } - $30 = HEAP32[$3>>2]|0; - $31 = ($30|0)==(0|0); - if ($31) { - HEAP32[$0>>2] = 0; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); + $33 = HEAP32[$1>>2]|0; + $34 = (_sqlite3VdbeMemMakeWriteable($33)|0); + HEAP32[$2>>2] = $34; + $35 = HEAP32[$2>>2]|0; + $36 = ($35|0)==(0); + if (!($36)) { + $75 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($75|0); } - $32 = HEAP32[$3>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - L9: do { - if ($35) { - $36 = HEAP32[$pData>>2]|0; - $37 = HEAP32[$3>>2]|0; - $38 = HEAP32[$37>>2]|0; - _corruptSchema($36,$38,0); - } else { - $39 = HEAP32[$3>>2]|0; - $40 = ((($39)) + 8|0); - $41 = HEAP32[$40>>2]|0; - $42 = (_sqlite3_strnicmp($41,20250,7)|0); - $43 = ($42|0)==(0); - if (!($43)) { - $97 = HEAP32[$3>>2]|0; - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - do { - if (!($99)) { - $100 = HEAP32[$3>>2]|0; - $101 = ((($100)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102|0)!=(0|0); - if ($103) { - $104 = HEAP32[$3>>2]|0; - $105 = ((($104)) + 8|0); - $106 = HEAP32[$105>>2]|0; - $107 = HEAP8[$106>>0]|0; - $108 = $107 << 24 >> 24; - $109 = ($108|0)!=(0); - if ($109) { - break; - } - } - $113 = HEAP32[$db>>2]|0; - $114 = HEAP32[$3>>2]|0; - $115 = HEAP32[$114>>2]|0; - $116 = HEAP32[$iDb>>2]|0; - $117 = HEAP32[$db>>2]|0; - $118 = ((($117)) + 16|0); - $119 = HEAP32[$118>>2]|0; - $120 = (($119) + ($116<<4)|0); - $121 = HEAP32[$120>>2]|0; - $122 = (_sqlite3FindIndex($113,$115,$121)|0); - HEAP32[$pIndex>>2] = $122; - $123 = HEAP32[$pIndex>>2]|0; - $124 = ($123|0)==(0|0); - if ($124) { - break L9; - } - $125 = HEAP32[$3>>2]|0; - $126 = ((($125)) + 4|0); - $127 = HEAP32[$126>>2]|0; - $128 = HEAP32[$pIndex>>2]|0; - $129 = ((($128)) + 44|0); - $130 = (_sqlite3GetInt32($127,$129)|0); - $131 = ($130|0)==(0); - if (!($131)) { - break L9; - } - $132 = HEAP32[$pData>>2]|0; - $133 = HEAP32[$3>>2]|0; - $134 = HEAP32[$133>>2]|0; - _corruptSchema($132,$134,20258); - break L9; - } - } while(0); - $110 = HEAP32[$pData>>2]|0; - $111 = HEAP32[$3>>2]|0; - $112 = HEAP32[$111>>2]|0; - _corruptSchema($110,$112,0); - break; - } - $44 = HEAP32[$db>>2]|0; - $45 = ((($44)) + 148|0); - $46 = ((($45)) + 4|0); - $47 = HEAP8[$46>>0]|0; - HEAP8[$saved_iDb>>0] = $47; - $48 = HEAP32[$iDb>>2]|0; - $49 = $48&255; - $50 = HEAP32[$db>>2]|0; - $51 = ((($50)) + 148|0); - $52 = ((($51)) + 4|0); - HEAP8[$52>>0] = $49; - $53 = HEAP32[$3>>2]|0; - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = (_sqlite3Atoi($55)|0); - $57 = HEAP32[$db>>2]|0; - $58 = ((($57)) + 148|0); - HEAP32[$58>>2] = $56; - $59 = HEAP32[$db>>2]|0; - $60 = ((($59)) + 148|0); - $61 = ((($60)) + 6|0); - HEAP8[$61>>0] = 0; - $62 = HEAP32[$db>>2]|0; - $63 = HEAP32[$3>>2]|0; - $64 = ((($63)) + 8|0); - $65 = HEAP32[$64>>2]|0; - (_sqlite3_prepare($62,$65,-1,$pStmt,0)|0); - $66 = HEAP32[$db>>2]|0; - $67 = ((($66)) + 52|0); - $68 = HEAP32[$67>>2]|0; - HEAP32[$rc>>2] = $68; - $69 = HEAP8[$saved_iDb>>0]|0; - $70 = HEAP32[$db>>2]|0; - $71 = ((($70)) + 148|0); - $72 = ((($71)) + 4|0); - HEAP8[$72>>0] = $69; - $73 = HEAP32[$rc>>2]|0; - $74 = (0)!=($73|0); - do { - if ($74) { - $75 = HEAP32[$db>>2]|0; - $76 = ((($75)) + 148|0); - $77 = ((($76)) + 6|0); - $78 = HEAP8[$77>>0]|0; - $79 = ($78<<24>>24)!=(0); - if (!($79)) { - $80 = HEAP32[$rc>>2]|0; - $81 = HEAP32[$pData>>2]|0; - $82 = ((($81)) + 12|0); - HEAP32[$82>>2] = $80; - $83 = HEAP32[$rc>>2]|0; - $84 = ($83|0)==(7); - if ($84) { - $85 = HEAP32[$db>>2]|0; - _sqlite3OomFault($85); - break; - } - $86 = HEAP32[$rc>>2]|0; - $87 = ($86|0)!=(9); - if ($87) { - $88 = HEAP32[$rc>>2]|0; - $89 = $88 & 255; - $90 = ($89|0)!=(6); - if ($90) { - $91 = HEAP32[$pData>>2]|0; - $92 = HEAP32[$3>>2]|0; - $93 = HEAP32[$92>>2]|0; - $94 = HEAP32[$db>>2]|0; - $95 = (_sqlite3_errmsg($94)|0); - _corruptSchema($91,$93,$95); - } - } - } - } - } while(0); - $96 = HEAP32[$pStmt>>2]|0; - (_sqlite3_finalize($96)|0); - } - } while(0); - HEAP32[$0>>2] = 0; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) - 2)|0; + HEAP32[$38>>2] = $40; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 16|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($46)) + 2|0); + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + _memmove(($43|0),($47|0),($50|0))|0; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + $57 = (($53) + ($56)|0); + HEAP8[$57>>0] = 0; + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 16|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (($63) + 1)|0; + $65 = (($60) + ($64)|0); + HEAP8[$65>>0] = 0; + $66 = HEAP32[$1>>2]|0; + $67 = ((($66)) + 8|0); + $68 = HEAP16[$67>>1]|0; + $69 = $68&65535; + $70 = $69 | 512; + $71 = $70&65535; + HEAP16[$67>>1] = $71; + $72 = HEAP8[$3>>0]|0; + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 10|0); + HEAP8[$74>>0] = $72; + $75 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($75|0); } -function _sqlite3SetString($pz,$db,$zNew) { - $pz = $pz|0; - $db = $db|0; - $zNew = $zNew|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3VdbeMemMakeWriteable($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $pz; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zNew; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - _sqlite3DbFree($3,$5); - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = (_sqlite3DbStrDup($6,$7)|0); - $9 = HEAP32[$0>>2]|0; - HEAP32[$9>>2] = $8; - STACKTOP = sp;return; -} -function _sqlite3AbsInt32($x) { - $x = $x|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $x; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>=(0); - $4 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = $6 & 18; + $8 = ($7|0)!=(0); do { - if ($3) { - HEAP32[$0>>2] = $4; - } else { - $5 = ($4|0)==(-2147483648); - if ($5) { - HEAP32[$0>>2] = 2147483647; - break; - } else { - $6 = HEAP32[$1>>2]|0; - $7 = (0 - ($6))|0; - HEAP32[$0>>2] = $7; + if ($8) { + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = $12 & 16384; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$2>>2]|0; + $16 = (_sqlite3VdbeMemExpandBlob($15)|0); + $17 = ($16|0)!=(0); + if ($17) { + HEAP32[$1>>2] = 7; + $63 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($63|0); + } + } + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 24|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 20|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($24|0)!=($27|0); + if (!($28)) { + break; + } + } + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + 2)|0; + $34 = (_sqlite3VdbeMemGrow($29,$33,1)|0); + $35 = ($34|0)!=(0); + if (!($35)) { + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 12|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($38) + ($41)|0); + HEAP8[$42>>0] = 0; + $43 = HEAP32[$2>>2]|0; + $44 = ((($43)) + 16|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = (($48) + 1)|0; + $50 = (($45) + ($49)|0); + HEAP8[$50>>0] = 0; + $51 = HEAP32[$2>>2]|0; + $52 = ((($51)) + 8|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = $54 | 512; + $56 = $55&65535; + HEAP16[$52>>1] = $56; break; } + HEAP32[$1>>2] = 7; + $63 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($63|0); } } while(0); - $8 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($8|0); + $57 = HEAP32[$2>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP16[$58>>1]|0; + $60 = $59&65535; + $61 = $60 & -4097; + $62 = $61&65535; + HEAP16[$58>>1] = $62; + HEAP32[$1>>2] = 0; + $63 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($63|0); } -function _sqlite3BtreeSetCacheSize($p,$mxPage) { - $p = $p|0; - $mxPage = $mxPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $pBt = 0, label = 0, sp = 0; +function _sqlite3VdbeMemExpandBlob($0) { + $0 = $0|0; + var $$ = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $mxPage; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pBt>>2] = $4; - $5 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($5); - $6 = HEAP32[$pBt>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$1>>2]|0; - _sqlite3PagerSetCachesize($7,$8); - STACKTOP = sp;return 0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + ($8))|0; + HEAP32[$3>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = ($10|0)<=(0); + $$ = $11 ? 1 : $9; + HEAP32[$3>>2] = $$; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = (_sqlite3VdbeMemGrow($12,$13,1)|0); + $15 = ($14|0)!=(0); + if ($15) { + HEAP32[$1>>2] = 7; + $37 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($37|0); + } else { + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($18) + ($21)|0); + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$23>>2]|0; + _memset(($22|0),0,($24|0))|0; + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($29) + ($26))|0; + HEAP32[$28>>2] = $30; + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP16[$32>>1]|0; + $34 = $33&65535; + $35 = $34 & -16897; + $36 = $35&65535; + HEAP16[$32>>1] = $36; + HEAP32[$1>>2] = 0; + $37 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($37|0); + } + return (0)|0; } -function _sqlite3AnalysisLoad($db,$iDb) { - $db = $db|0; - $iDb = $iDb|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; +function _sqlite3VdbeMemGrow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $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, $i = 0, $pIdx = 0, $pIdx1 = 0, $rc = 0, $sInfo = 0, $vararg_buffer = 0; - var $zSql = 0, label = 0, sp = 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 label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $sInfo = sp + 24|0; - $i = sp + 20|0; - $zSql = sp + 16|0; - $rc = sp + 12|0; - $pIdx = sp + 8|0; - $pIdx1 = sp + 4|0; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $iDb; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + ($2<<4)|0); - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 24|0); - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$i>>2] = $11; - while(1) { - $12 = HEAP32[$i>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - break; - } - $14 = HEAP32[$i>>2]|0; - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pIdx>>2] = $16; - $17 = HEAP32[$pIdx>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - HEAP16[$19>>1] = 0; - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$20>>2]|0; - HEAP32[$i>>2] = $21; - } - $22 = HEAP32[$0>>2]|0; - HEAP32[$sInfo>>2] = $22; - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 16|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + ($23<<4)|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($sInfo)) + 4|0); - HEAP32[$29>>2] = $28; - $30 = HEAP32[$0>>2]|0; - $31 = ((($sInfo)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (_sqlite3FindTable($30,20163,$32)|0); - $34 = ($33|0)!=(0|0); + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 24|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = ($9|0)<($10|0); do { - if ($34) { - $35 = HEAP32[$0>>2]|0; - $36 = ((($sInfo)) + 4|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$vararg_buffer>>2] = $37; - $38 = (_sqlite3MPrintf($35,20176,$vararg_buffer)|0); - HEAP32[$zSql>>2] = $38; - $39 = HEAP32[$zSql>>2]|0; - $40 = ($39|0)==(0|0); - if ($40) { - HEAP32[$rc>>2] = 7; - break; + if ($11) { + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)<(32); + if ($13) { + HEAP32[$5>>2] = 32; + } + $14 = HEAP32[$6>>2]|0; + $15 = ($14|0)!=(0); + if ($15) { + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 24|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($22|0)==($25|0); + if ($26) { + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = ($33|0)<(0); + $35 = $34 << 31 >> 31; + $36 = (_sqlite3DbReallocOrFree($29,$32,$33,$35)|0); + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 20|0); + HEAP32[$38>>2] = $36; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 16|0); + HEAP32[$40>>2] = $36; + HEAP32[$6>>2] = 0; + } else { + label = 8; + } + } else { + label = 8; + } } else { - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$zSql>>2]|0; - $43 = (_sqlite3_exec($41,$42,141,$sInfo,0)|0); - HEAP32[$rc>>2] = $43; - $44 = HEAP32[$0>>2]|0; - $45 = HEAP32[$zSql>>2]|0; - _sqlite3DbFree($44,$45); + label = 8; + } + if ((label|0) == 8) { + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 24|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)>(0); + if ($44) { + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 32|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$4>>2]|0; + $49 = ((($48)) + 20|0); + $50 = HEAP32[$49>>2]|0; + _sqlite3DbFree($47,$50); + } + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 32|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$5>>2]|0; + $55 = ($54|0)<(0); + $56 = $55 << 31 >> 31; + $57 = (_sqlite3DbMallocRaw($53,$54,$56)|0); + $58 = HEAP32[$4>>2]|0; + $59 = ((($58)) + 20|0); + HEAP32[$59>>2] = $57; + } + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + $64 = HEAP32[$4>>2]|0; + if (!($63)) { + $69 = ((($64)) + 32|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 20|0); + $73 = HEAP32[$72>>2]|0; + $74 = (_sqlite3DbMallocSize($70,$73)|0); + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 24|0); + HEAP32[$76>>2] = $74; break; } + _sqlite3VdbeMemSetNull($64); + $65 = HEAP32[$4>>2]|0; + $66 = ((($65)) + 16|0); + HEAP32[$66>>2] = 0; + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 24|0); + HEAP32[$68>>2] = 0; + HEAP32[$3>>2] = 7; + $122 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($122|0); } } while(0); - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 16|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($46<<4)|0); - $51 = ((($50)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ((($52)) + 24|0); - $54 = ((($53)) + 8|0); - $55 = HEAP32[$54>>2]|0; - HEAP32[$i>>2] = $55; - while(1) { - $56 = HEAP32[$i>>2]|0; - $57 = ($56|0)!=(0|0); - if (!($57)) { - break; - } - $58 = HEAP32[$i>>2]|0; - $59 = ((($58)) + 8|0); - $60 = HEAP32[$59>>2]|0; - HEAP32[$pIdx1>>2] = $60; - $61 = HEAP32[$pIdx1>>2]|0; - $62 = ((($61)) + 8|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP16[$63>>1]|0; - $65 = $64 << 16 >> 16; - $66 = ($65|0)==(0); - if ($66) { - $67 = HEAP32[$pIdx1>>2]|0; - _sqlite3DefaultRowEst($67); + $77 = HEAP32[$6>>2]|0; + $78 = ($77|0)!=(0); + if ($78) { + $79 = HEAP32[$4>>2]|0; + $80 = ((($79)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)!=(0|0); + if ($82) { + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$4>>2]|0; + $87 = ((($86)) + 20|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($85|0)!=($88|0); + if ($89) { + $90 = HEAP32[$4>>2]|0; + $91 = ((($90)) + 20|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$4>>2]|0; + $94 = ((($93)) + 16|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$4>>2]|0; + $97 = ((($96)) + 12|0); + $98 = HEAP32[$97>>2]|0; + _memcpy(($92|0),($95|0),($98|0))|0; + } } - $68 = HEAP32[$i>>2]|0; - $69 = HEAP32[$68>>2]|0; - HEAP32[$i>>2] = $69; } - $70 = HEAP32[$rc>>2]|0; - $71 = ($70|0)==(7); - if (!($71)) { - $73 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($73|0); + $99 = HEAP32[$4>>2]|0; + $100 = ((($99)) + 8|0); + $101 = HEAP16[$100>>1]|0; + $102 = $101&65535; + $103 = $102 & 1024; + $104 = ($103|0)!=(0); + if ($104) { + $105 = HEAP32[$4>>2]|0; + $106 = ((($105)) + 36|0); + $107 = HEAP32[$106>>2]|0; + $108 = HEAP32[$4>>2]|0; + $109 = ((($108)) + 16|0); + $110 = HEAP32[$109>>2]|0; + FUNCTION_TABLE_vi[$107 & 255]($110); } - $72 = HEAP32[$0>>2]|0; - _sqlite3OomFault($72); - $73 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($73|0); + $111 = HEAP32[$4>>2]|0; + $112 = ((($111)) + 20|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$4>>2]|0; + $115 = ((($114)) + 16|0); + HEAP32[$115>>2] = $113; + $116 = HEAP32[$4>>2]|0; + $117 = ((($116)) + 8|0); + $118 = HEAP16[$117>>1]|0; + $119 = $118&65535; + $120 = $119 & -7169; + $121 = $120&65535; + HEAP16[$117>>1] = $121; + HEAP32[$3>>2] = 0; + $122 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($122|0); +} +function _sqlite3DbReallocOrFree($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $8 = $6; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $3; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = $6; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3DbRealloc($12,$13,$16,$19)|0); + HEAP32[$7>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $25 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($25|0); + } + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$5>>2]|0; + _sqlite3DbFree($23,$24); + $25 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($25|0); } -function _sqlite3BtreeCommit($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $rc = 0, label = 0, sp = 0; +function _vdbeMemClear($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($1); - $2 = HEAP32[$0>>2]|0; - $3 = (_sqlite3BtreeCommitPhaseOne($2,0)|0); - HEAP32[$rc>>2] = $3; - $4 = HEAP32[$rc>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - $8 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($8|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 9312; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + _vdbeMemClearExternAndSetNull($8); } - $6 = HEAP32[$0>>2]|0; - $7 = (_sqlite3BtreeCommitPhaseTwo($6,0)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($8|0); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0); + if (!($12)) { + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 16|0); + HEAP32[$22>>2] = 0; + STACKTOP = sp;return; + } + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3DbFree($15,$18); + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 24|0); + HEAP32[$20>>2] = 0; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 16|0); + HEAP32[$22>>2] = 0; + STACKTOP = sp;return; } -function _analysisLoader($pData,$argc,$argv,$NotUsed) { - $pData = $pData|0; - $argc = $argc|0; - $argv = $argv|0; - $NotUsed = $NotUsed|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $aiRowEst = 0, $fakeIdx = 0, $nCol = 0, $pIndex = 0, $pInfo = 0, $pTable = 0, $z = 0, label = 0, sp = 0; +function _sqlite3ValueBytes($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 96|0; - $1 = sp + 92|0; - $2 = sp + 88|0; - $3 = sp + 84|0; - $4 = sp + 80|0; - $pInfo = sp + 76|0; - $pIndex = sp + 72|0; - $pTable = sp + 68|0; - $z = sp + 64|0; - $aiRowEst = sp + 60|0; - $nCol = sp + 56|0; - $fakeIdx = sp; - HEAP32[$1>>2] = $pData; - HEAP32[$2>>2] = $argc; - HEAP32[$3>>2] = $argv; - HEAP32[$4>>2] = $NotUsed; - $5 = HEAP32[$1>>2]|0; - HEAP32[$pInfo>>2] = $5; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp + 12|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; $6 = HEAP32[$3>>2]|0; - $7 = ($6|0)==(0|0); - if (!($7)) { - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = HEAP32[$3>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0|0); - if (!($14)) { - $15 = HEAP32[$pInfo>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$pInfo>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3FindTable($16,$18,$21)|0); - HEAP32[$pTable>>2] = $22; - $23 = HEAP32[$pTable>>2]|0; - $24 = ($23|0)==(0|0); - if ($24) { - HEAP32[$0>>2] = 0; - $89 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($89|0); + HEAP32[$5>>2] = $6; + $7 = HEAP32[$5>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = $10 & 2; + $12 = ($11|0)!=(0); + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 10|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = HEAP8[$4>>0]|0; + $18 = $17&255; + $19 = ($16|0)==($18|0); + if ($19) { + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$2>>2] = $22; + $46 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($46|0); + } + } + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = $26 & 16; + $28 = ($27|0)!=(0); + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + if ($28) { + $33 = $32 & 16384; + $34 = ($33|0)!=(0); + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + if ($34) { + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + ($39))|0; + HEAP32[$2>>2] = $40; + $46 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($46|0); + } else { + HEAP32[$2>>2] = $37; + $46 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($46|0); + } + } else { + $41 = $32 & 1; + $42 = ($41|0)!=(0); + if ($42) { + HEAP32[$2>>2] = 0; + $46 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($46|0); + } else { + $43 = HEAP32[$3>>2]|0; + $44 = HEAP8[$4>>0]|0; + $45 = (_valueBytes($43,$44)|0); + HEAP32[$2>>2] = $45; + $46 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($46|0); + } + } + return (0)|0; +} +function _valueBytes($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp; + $3 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP8[$3>>0] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP8[$3>>0]|0; + $6 = (_valueToText($4,$5)|0); + $7 = ($6|0)!=(0|0); + if (!($7)) { + $11 = 0; + STACKTOP = sp;return ($11|0); + } + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10; + STACKTOP = sp;return ($11|0); +} +function _valueToText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + $4 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + $9 = $8 & 18; + $10 = ($9|0)!=(0); + $11 = HEAP32[$3>>2]|0; + if ($10) { + $12 = ((($11)) + 8|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = $14 | 2; + $16 = $15&65535; + HEAP16[$12>>1] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 10|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = HEAP8[$4>>0]|0; + $22 = $21&255; + $23 = $22 & -9; + $24 = ($20|0)!=($23|0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + $26 = HEAP8[$4>>0]|0; + $27 = $26&255; + $28 = $27 & -9; + (_sqlite3VdbeChangeEncoding($25,$28)|0); + } + $29 = HEAP8[$4>>0]|0; + $30 = $29&255; + $31 = $30 & 8; + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 16|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35; + $37 = 1 & $36; + $38 = (1)==($37|0); + if ($38) { + $39 = HEAP32[$3>>2]|0; + $40 = (_sqlite3VdbeMemMakeWriteable($39)|0); + $41 = ($40|0)!=(0); + if ($41) { + HEAP32[$2>>2] = 0; + $55 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($55|0); } - $25 = HEAP32[$3>>2]|0; - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)==(0|0); - do { - if ($28) { - HEAP32[$pIndex>>2] = 0; - } else { - $29 = HEAP32[$3>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_sqlite3_stricmp($30,$33)|0); - $35 = ($34|0)==(0); - if ($35) { - $36 = HEAP32[$pTable>>2]|0; - $37 = (_sqlite3PrimaryKeyIndex($36)|0); - HEAP32[$pIndex>>2] = $37; - break; - } else { - $38 = HEAP32[$pInfo>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$3>>2]|0; - $41 = ((($40)) + 4|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$pInfo>>2]|0; - $44 = ((($43)) + 4|0); - $45 = HEAP32[$44>>2]|0; - $46 = (_sqlite3FindIndex($39,$42,$45)|0); - HEAP32[$pIndex>>2] = $46; - break; - } - } - } while(0); - $47 = HEAP32[$3>>2]|0; - $48 = ((($47)) + 8|0); - $49 = HEAP32[$48>>2]|0; - HEAP32[$z>>2] = $49; - $50 = HEAP32[$pIndex>>2]|0; - $51 = ($50|0)!=(0|0); - if ($51) { - HEAP32[$aiRowEst>>2] = 0; - $52 = HEAP32[$pIndex>>2]|0; - $53 = ((($52)) + 50|0); - $54 = HEAP16[$53>>1]|0; - $55 = $54&65535; - $56 = (($55) + 1)|0; - HEAP32[$nCol>>2] = $56; - $57 = HEAP32[$pIndex>>2]|0; - $58 = ((($57)) + 55|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59 & -5; - HEAP8[$58>>0] = $60; - $61 = HEAP32[$z>>2]|0; - $62 = HEAP32[$nCol>>2]|0; - $63 = HEAP32[$aiRowEst>>2]|0; - $64 = HEAP32[$pIndex>>2]|0; - $65 = ((($64)) + 8|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$pIndex>>2]|0; - _decodeIntArray($61,$62,$63,$66,$67); - $68 = HEAP32[$pIndex>>2]|0; - $69 = ((($68)) + 36|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)==(0|0); - if ($71) { - $72 = HEAP32[$pIndex>>2]|0; - $73 = ((($72)) + 8|0); - $74 = HEAP32[$73>>2]|0; - $75 = HEAP16[$74>>1]|0; - $76 = HEAP32[$pTable>>2]|0; - $77 = ((($76)) + 38|0); - HEAP16[$77>>1] = $75; - } - } else { - $78 = HEAP32[$pTable>>2]|0; - $79 = ((($78)) + 40|0); - $80 = HEAP16[$79>>1]|0; - $81 = ((($fakeIdx)) + 48|0); - HEAP16[$81>>1] = $80; - $82 = HEAP32[$z>>2]|0; - $83 = HEAP32[$pTable>>2]|0; - $84 = ((($83)) + 38|0); - _decodeIntArray($82,1,0,$84,$fakeIdx); - $85 = ((($fakeIdx)) + 48|0); - $86 = HEAP16[$85>>1]|0; - $87 = HEAP32[$pTable>>2]|0; - $88 = ((($87)) + 40|0); - HEAP16[$88>>1] = $86; - } - HEAP32[$0>>2] = 0; - $89 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($89|0); } } + $42 = HEAP32[$3>>2]|0; + (_sqlite3VdbeMemNulTerminate($42)|0); + } else { + $43 = HEAP8[$4>>0]|0; + (_sqlite3VdbeMemStringify($11,$43,0)|0); } - HEAP32[$0>>2] = 0; - $89 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($89|0); + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 10|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = HEAP8[$4>>0]|0; + $49 = $48&255; + $50 = $49 & -9; + $51 = ($47|0)==($50|0); + if ($51) { + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 16|0); + $54 = HEAP32[$53>>2]|0; + HEAP32[$2>>2] = $54; + $55 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($55|0); + } else { + HEAP32[$2>>2] = 0; + $55 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($55|0); + } + return (0)|0; } -function _sqlite3DefaultRowEst($pIdx) { - $pIdx = $pIdx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $a = 0, $aVal = 0, $i = 0, $nCopy = 0, label = 0, sp = 0; +function _sqlite3VdbeChangeEncoding($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $aVal = sp + 16|0; - $a = sp + 8|0; - $nCopy = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pIdx; - ;HEAP16[$aVal>>1]=HEAP16[9772>>1]|0;HEAP16[$aVal+2>>1]=HEAP16[9772+2>>1]|0;HEAP16[$aVal+4>>1]=HEAP16[9772+4>>1]|0;HEAP16[$aVal+6>>1]=HEAP16[9772+6>>1]|0;HEAP16[$aVal+8>>1]=HEAP16[9772+8>>1]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = $9 & 2; + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 10|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = HEAP32[$4>>2]|0; + $17 = ($15|0)==($16|0); + if (!($17)) { + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = $19&255; + $21 = (_sqlite3VdbeMemTranslate($18,$20)|0); + HEAP32[$5>>2] = $21; + $22 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $22; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); + } + } + HEAP32[$2>>2] = 0; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); +} +function _sqlite3VdbeMemNulTerminate($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; $3 = HEAP32[$2>>2]|0; - HEAP32[$a>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 50|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = (5)<($7|0); + $4 = ((($3)) + 8|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = $6 & 514; + $8 = ($7|0)!=(2); if ($8) { - $13 = 5; + HEAP32[$1>>2] = 0; + $11 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($11|0); } else { - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 50|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = $12; + $9 = HEAP32[$2>>2]|0; + $10 = (_vdbeMemAddTerminator($9)|0); + HEAP32[$1>>2] = $10; + $11 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($11|0); } - HEAP32[$nCopy>>2] = $13; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 38|0); - $18 = HEAP16[$17>>1]|0; - $19 = HEAP32[$a>>2]|0; - HEAP16[$19>>1] = $18; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 36|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { - $24 = HEAP32[$a>>2]|0; - $25 = HEAP16[$24>>1]|0; - $26 = $25 << 16 >> 16; - $27 = (($26) - 10)|0; - $28 = $27&65535; - HEAP16[$24>>1] = $28; + return (0)|0; +} +function _sqlite3VdbeMemStringify($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.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 33|0; + $6 = sp + 32|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + HEAP32[$4>>2] = $0; + HEAP8[$5>>0] = $1; + HEAP8[$6>>0] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + HEAP32[$7>>2] = $12; + HEAP32[$8>>2] = 32; + $13 = HEAP32[$4>>2]|0; + $14 = (_sqlite3VdbeMemClearAndResize($13,32)|0); + $15 = ($14|0)!=(0); + if ($15) { + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 10|0); + HEAP8[$17>>0] = 0; + HEAP32[$3>>2] = 7; + $61 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($61|0); } - $29 = HEAP32[$a>>2]|0; - $30 = HEAP16[$29>>1]|0; - $31 = $30 << 16 >> 16; - $32 = ($31|0)<(33); - if ($32) { - $33 = HEAP32[$a>>2]|0; - HEAP16[$33>>1] = 33; - } - $34 = HEAP32[$a>>2]|0; - $35 = ((($34)) + 2|0); - $36 = HEAP32[$nCopy>>2]|0; - $37 = $36<<1; - _memcpy(($35|0),($aVal|0),($37|0))|0; - $38 = HEAP32[$nCopy>>2]|0; - $39 = (($38) + 1)|0; - HEAP32[$i>>2] = $39; - while(1) { - $40 = HEAP32[$i>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 50|0); - $43 = HEAP16[$42>>1]|0; - $44 = $43&65535; - $45 = ($40|0)<=($44|0); - if (!($45)) { - break; - } - $46 = HEAP32[$i>>2]|0; - $47 = HEAP32[$a>>2]|0; - $48 = (($47) + ($46<<1)|0); - HEAP16[$48>>1] = 23; - $49 = HEAP32[$i>>2]|0; - $50 = (($49) + 1)|0; - HEAP32[$i>>2] = $50; + $18 = HEAP32[$7>>2]|0; + $19 = $18 & 4; + $20 = ($19|0)!=(0); + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$4>>2]|0; + if ($20) { + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = $vararg_buffer; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + (_sqlite3_snprintf(32,$23,22191,$vararg_buffer)|0); + } else { + $35 = +HEAPF64[$24>>3]; + HEAPF64[$vararg_buffer1>>3] = $35; + (_sqlite3_snprintf(32,$23,22196,$vararg_buffer1)|0); } - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 54|0); - $53 = HEAP8[$52>>0]|0; - $54 = $53&255; - $55 = ($54|0)!=(0); - if (!($55)) { - STACKTOP = sp;return; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3Strlen30($38)|0); + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 12|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 10|0); + HEAP8[$43>>0] = 1; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 8|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = $47 | 514; + $49 = $48&65535; + HEAP16[$45>>1] = $49; + $50 = HEAP8[$6>>0]|0; + $51 = ($50<<24>>24)!=(0); + if ($51) { + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 8|0); + $54 = HEAP16[$53>>1]|0; + $55 = $54&65535; + $56 = $55 & -13; + $57 = $56&65535; + HEAP16[$53>>1] = $57; } - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 50|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58&65535; - $60 = HEAP32[$a>>2]|0; - $61 = (($60) + ($59<<1)|0); - HEAP16[$61>>1] = 0; - STACKTOP = sp;return; + $58 = HEAP32[$4>>2]|0; + $59 = HEAP8[$5>>0]|0; + $60 = $59&255; + (_sqlite3VdbeChangeEncoding($58,$60)|0); + HEAP32[$3>>2] = 0; + $61 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($61|0); } -function _sqlite3PrimaryKeyIndex($pTab) { - $pTab = $pTab|0; - var $0 = 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, $p = 0, label = 0, sp = 0; +function _vdbeMemAddTerminator($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pTab; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; - while(1) { - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - label = 5; - break; - } - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 55|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 & 3; - $10 = $9&255; - $11 = ($10|0)==(2); - $12 = $11 ^ 1; - if (!($12)) { - label = 5; - break; - } - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 20|0); + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = (($6) + 2)|0; + $8 = (_sqlite3VdbeMemGrow($3,$7,1)|0); + $9 = ($8|0)!=(0); + if ($9) { + HEAP32[$1>>2] = 7; + $31 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($31|0); + } else { + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 12|0); $15 = HEAP32[$14>>2]|0; - HEAP32[$p>>2] = $15; - } - if ((label|0) == 5) { - $16 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($16|0); - } - return (0)|0; -} -function _sqlite3FindIndex($db,$zName,$zDb) { - $db = $db|0; - $zName = $zName|0; - $zDb = $zDb|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i = 0, $j = 0, $p = 0, $pSchema = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $p = sp + 12|0; - $i = sp + 8|0; - $j = sp + 4|0; - $pSchema = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zName; - HEAP32[$2>>2] = $zDb; - HEAP32[$p>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<($6|0); - if (!($7)) { - label = 7; - break; - } - $8 = HEAP32[$i>>2]|0; - $9 = ($8|0)<(2); - $10 = HEAP32[$i>>2]|0; - $11 = $10 ^ 1; - $12 = $9 ? $11 : $10; - HEAP32[$j>>2] = $12; - $13 = HEAP32[$j>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($13<<4)|0); - $18 = ((($17)) + 12|0); + $16 = (($12) + ($15)|0); + HEAP8[$16>>0] = 0; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 16|0); $19 = HEAP32[$18>>2]|0; - HEAP32[$pSchema>>2] = $19; $20 = HEAP32[$2>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$j>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 16|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + ($23<<4)|0); - $28 = HEAP32[$27>>2]|0; - $29 = (_sqlite3StrICmp($22,$28)|0); - $30 = ($29|0)!=(0); - if (!($30)) { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - label = 0; - $31 = HEAP32[$pSchema>>2]|0; - $32 = ((($31)) + 24|0); - $33 = HEAP32[$1>>2]|0; - $34 = (_sqlite3HashFind($32,$33)|0); - HEAP32[$p>>2] = $34; - $35 = HEAP32[$p>>2]|0; - $36 = ($35|0)!=(0|0); - if ($36) { - label = 7; - break; - } - } - $37 = HEAP32[$i>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$i>>2] = $38; - } - if ((label|0) == 7) { - $39 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($39|0); + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + 1)|0; + $24 = (($19) + ($23)|0); + HEAP8[$24>>0] = 0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27&65535; + $29 = $28 | 512; + $30 = $29&65535; + HEAP16[$26>>1] = $30; + HEAP32[$1>>2] = 0; + $31 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($31|0); } return (0)|0; } -function _decodeIntArray($zIntArray,$nOut,$aOut,$aLog,$pIndex) { - $zIntArray = $zIntArray|0; - $nOut = $nOut|0; - $aOut = $aOut|0; - $aLog = $aLog|0; - $pIndex = $pIndex|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $c = 0, $i = 0, $v = 0, $z = 0, label = 0, sp = 0; +function _sqlite3VdbeMemTranslate($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $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; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; + var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; + var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; + var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; + var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $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$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $z = sp + 12|0; - $c = sp + 8|0; - $i = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $zIntArray; - HEAP32[$1>>2] = $nOut; - HEAP32[$2>>2] = $aOut; - HEAP32[$3>>2] = $aLog; - HEAP32[$4>>2] = $pIndex; - $5 = HEAP32[$0>>2]|0; - HEAP32[$z>>2] = $5; - HEAP32[$i>>2] = 0; - while(1) { - $6 = HEAP32[$z>>2]|0; - $7 = HEAP8[$6>>0]|0; - $8 = $7 << 24 >> 24; - $9 = ($8|0)!=(0); - if (!($9)) { - break; - } - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = ($10|0)<($11|0); - if (!($12)) { - break; - } - HEAP32[$v>>2] = 0; - while(1) { - $13 = HEAP32[$z>>2]|0; - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - HEAP32[$c>>2] = $15; - $16 = ($15|0)>=(48); - $17 = HEAP32[$c>>2]|0; - $18 = ($17|0)<=(57); - $19 = $16 ? $18 : 0; - if (!($19)) { - break; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 45|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 44|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 10|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)!=(1); + if ($19) { + $20 = HEAP8[$4>>0]|0; + $21 = $20&255; + $22 = ($21|0)!=(1); + if ($22) { + $23 = HEAP32[$3>>2]|0; + $24 = (_sqlite3VdbeMemMakeWriteable($23)|0); + HEAP32[$12>>2] = $24; + $25 = HEAP32[$12>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + HEAP32[$2>>2] = 7; + $564 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($564|0); } - $20 = HEAP32[$v>>2]|0; - $21 = ($20*10)|0; - $22 = HEAP32[$c>>2]|0; - $23 = (($21) + ($22))|0; - $24 = (($23) - 48)|0; - HEAP32[$v>>2] = $24; - $25 = HEAP32[$z>>2]|0; - $26 = ((($25)) + 1|0); - HEAP32[$z>>2] = $26; - } - $27 = HEAP32[$v>>2]|0; - $28 = (_sqlite3LogEst($27,0)|0); - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$3>>2]|0; - $31 = (($30) + ($29<<1)|0); - HEAP16[$31>>1] = $28; - $32 = HEAP32[$z>>2]|0; - $33 = HEAP8[$32>>0]|0; - $34 = $33 << 24 >> 24; - $35 = ($34|0)==(32); - if ($35) { - $36 = HEAP32[$z>>2]|0; - $37 = ((($36)) + 1|0); - HEAP32[$z>>2] = $37; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$7>>2] = $29; + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = $33 & -2; + $35 = (($30) + ($34)|0); + HEAP32[$8>>2] = $35; + while(1) { + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$8>>2]|0; + $38 = ($36>>>0)<($37>>>0); + if (!($38)) { + break; + } + $39 = HEAP32[$7>>2]|0; + $40 = HEAP8[$39>>0]|0; + HEAP8[$11>>0] = $40; + $41 = HEAP32[$7>>2]|0; + $42 = ((($41)) + 1|0); + $43 = HEAP8[$42>>0]|0; + $44 = HEAP32[$7>>2]|0; + HEAP8[$44>>0] = $43; + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 1|0); + HEAP32[$7>>2] = $46; + $47 = HEAP8[$11>>0]|0; + $48 = HEAP32[$7>>2]|0; + $49 = ((($48)) + 1|0); + HEAP32[$7>>2] = $49; + HEAP8[$48>>0] = $47; + } + $50 = HEAP8[$4>>0]|0; + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 10|0); + HEAP8[$52>>0] = $50; + } else { + label = 9; } - $38 = HEAP32[$i>>2]|0; - $39 = (($38) + 1)|0; - HEAP32[$i>>2] = $39; + } else { + label = 9; } - $40 = HEAP32[$4>>2]|0; - $41 = ((($40)) + 55|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42 & -5; - HEAP8[$41>>0] = $43; - $44 = HEAP32[$4>>2]|0; - $45 = ((($44)) + 55|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46 & -65; - HEAP8[$45>>0] = $47; - L13: while(1) { - $48 = HEAP32[$z>>2]|0; - $49 = HEAP8[$48>>0]|0; - $50 = ($49<<24>>24)!=(0); - if (!($50)) { - break; + if ((label|0) == 9) { + $53 = HEAP8[$4>>0]|0; + $54 = $53&255; + $55 = ($54|0)==(1); + $56 = HEAP32[$3>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP32[$57>>2]|0; + if ($55) { + $59 = $58 & -2; + HEAP32[$57>>2] = $59; + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = $62<<1; + $64 = (($63) + 1)|0; + HEAP32[$5>>2] = $64; + } else { + $65 = $58<<1; + $66 = (($65) + 2)|0; + HEAP32[$5>>2] = $66; } - $51 = HEAP32[$z>>2]|0; - $52 = (_sqlite3_strglob(20217,$51)|0); - $53 = ($52|0)==(0); - do { - if ($53) { - $54 = HEAP32[$4>>2]|0; - $55 = ((($54)) + 55|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56 & -5; - $58 = $57 | 4; - HEAP8[$55>>0] = $58; - } else { - $59 = HEAP32[$z>>2]|0; - $60 = (_sqlite3_strglob(20228,$59)|0); - $61 = ($60|0)==(0); - $62 = HEAP32[$z>>2]|0; - if ($61) { - $63 = ((($62)) + 3|0); - $64 = (_sqlite3Atoi($63)|0); - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = (_sqlite3LogEst($64,$66)|0); - $68 = HEAP32[$4>>2]|0; - $69 = ((($68)) + 48|0); - HEAP16[$69>>1] = $67; - break; + $67 = HEAP32[$3>>2]|0; + $68 = ((($67)) + 16|0); + $69 = HEAP32[$68>>2]|0; + HEAP32[$7>>2] = $69; + $70 = HEAP32[$7>>2]|0; + $71 = HEAP32[$3>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($70) + ($73)|0); + HEAP32[$8>>2] = $74; + $75 = HEAP32[$3>>2]|0; + $76 = ((($75)) + 32|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$5>>2]|0; + $79 = ($78|0)<(0); + $80 = $79 << 31 >> 31; + $81 = (_sqlite3DbMallocRaw($77,$78,$80)|0); + HEAP32[$6>>2] = $81; + $82 = HEAP32[$6>>2]|0; + $83 = ($82|0)!=(0|0); + if (!($83)) { + HEAP32[$2>>2] = 7; + $564 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($564|0); + } + $84 = HEAP32[$6>>2]|0; + HEAP32[$9>>2] = $84; + $85 = HEAP32[$3>>2]|0; + $86 = ((($85)) + 10|0); + $87 = HEAP8[$86>>0]|0; + $88 = $87&255; + $89 = ($88|0)==(1); + if ($89) { + $90 = HEAP8[$4>>0]|0; + $91 = $90&255; + $92 = ($91|0)==(2); + L24: do { + if ($92) { + while(1) { + $93 = HEAP32[$7>>2]|0; + $94 = HEAP32[$8>>2]|0; + $95 = ($93>>>0)<($94>>>0); + if (!($95)) { + break L24; + } + $96 = HEAP32[$7>>2]|0; + $97 = ((($96)) + 1|0); + HEAP32[$7>>2] = $97; + $98 = HEAP8[$96>>0]|0; + $99 = $98&255; + HEAP32[$10>>2] = $99; + $100 = HEAP32[$10>>2]|0; + $101 = ($100>>>0)>=(192); + do { + if ($101) { + $102 = HEAP32[$10>>2]|0; + $103 = (($102) - 192)|0; + $104 = (22127 + ($103)|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + HEAP32[$10>>2] = $106; + while(1) { + $107 = HEAP32[$7>>2]|0; + $108 = HEAP32[$8>>2]|0; + $109 = ($107|0)!=($108|0); + if ($109) { + $110 = HEAP32[$7>>2]|0; + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $113 = $112 & 192; + $114 = ($113|0)==(128); + $565 = $114; + } else { + $565 = 0; + } + $115 = HEAP32[$10>>2]|0; + if (!($565)) { + break; + } + $116 = $115 << 6; + $117 = HEAP32[$7>>2]|0; + $118 = ((($117)) + 1|0); + HEAP32[$7>>2] = $118; + $119 = HEAP8[$117>>0]|0; + $120 = $119&255; + $121 = 63 & $120; + $122 = (($116) + ($121))|0; + HEAP32[$10>>2] = $122; + } + $123 = ($115>>>0)<(128); + if (!($123)) { + $124 = HEAP32[$10>>2]|0; + $125 = $124 & -2048; + $126 = ($125|0)==(55296); + if (!($126)) { + $127 = HEAP32[$10>>2]|0; + $128 = $127 & -2; + $129 = ($128|0)==(65534); + if (!($129)) { + break; + } + } + } + HEAP32[$10>>2] = 65533; + } + } while(0); + $130 = HEAP32[$10>>2]|0; + $131 = ($130>>>0)<=(65535); + $132 = HEAP32[$10>>2]|0; + if ($131) { + $133 = $132 & 255; + $134 = $133&255; + $135 = HEAP32[$9>>2]|0; + $136 = ((($135)) + 1|0); + HEAP32[$9>>2] = $136; + HEAP8[$135>>0] = $134; + $137 = HEAP32[$10>>2]|0; + $138 = $137 >>> 8; + $139 = $138 & 255; + $140 = $139&255; + $141 = HEAP32[$9>>2]|0; + $142 = ((($141)) + 1|0); + HEAP32[$9>>2] = $142; + HEAP8[$141>>0] = $140; + continue; + } else { + $143 = $132 >>> 10; + $144 = $143 & 63; + $145 = HEAP32[$10>>2]|0; + $146 = (($145) - 65536)|0; + $147 = $146 >>> 10; + $148 = $147 & 192; + $149 = (($144) + ($148))|0; + $150 = $149&255; + $151 = HEAP32[$9>>2]|0; + $152 = ((($151)) + 1|0); + HEAP32[$9>>2] = $152; + HEAP8[$151>>0] = $150; + $153 = HEAP32[$10>>2]|0; + $154 = (($153) - 65536)|0; + $155 = $154 >>> 18; + $156 = $155 & 3; + $157 = (216 + ($156))|0; + $158 = $157&255; + $159 = HEAP32[$9>>2]|0; + $160 = ((($159)) + 1|0); + HEAP32[$9>>2] = $160; + HEAP8[$159>>0] = $158; + $161 = HEAP32[$10>>2]|0; + $162 = $161 & 255; + $163 = $162&255; + $164 = HEAP32[$9>>2]|0; + $165 = ((($164)) + 1|0); + HEAP32[$9>>2] = $165; + HEAP8[$164>>0] = $163; + $166 = HEAP32[$10>>2]|0; + $167 = $166 >>> 8; + $168 = $167 & 3; + $169 = (220 + ($168))|0; + $170 = $169&255; + $171 = HEAP32[$9>>2]|0; + $172 = ((($171)) + 1|0); + HEAP32[$9>>2] = $172; + HEAP8[$171>>0] = $170; + continue; + } + } + } else { + while(1) { + $173 = HEAP32[$7>>2]|0; + $174 = HEAP32[$8>>2]|0; + $175 = ($173>>>0)<($174>>>0); + if (!($175)) { + break L24; + } + $176 = HEAP32[$7>>2]|0; + $177 = ((($176)) + 1|0); + HEAP32[$7>>2] = $177; + $178 = HEAP8[$176>>0]|0; + $179 = $178&255; + HEAP32[$10>>2] = $179; + $180 = HEAP32[$10>>2]|0; + $181 = ($180>>>0)>=(192); + do { + if ($181) { + $182 = HEAP32[$10>>2]|0; + $183 = (($182) - 192)|0; + $184 = (22127 + ($183)|0); + $185 = HEAP8[$184>>0]|0; + $186 = $185&255; + HEAP32[$10>>2] = $186; + while(1) { + $187 = HEAP32[$7>>2]|0; + $188 = HEAP32[$8>>2]|0; + $189 = ($187|0)!=($188|0); + if ($189) { + $190 = HEAP32[$7>>2]|0; + $191 = HEAP8[$190>>0]|0; + $192 = $191&255; + $193 = $192 & 192; + $194 = ($193|0)==(128); + $566 = $194; + } else { + $566 = 0; + } + $195 = HEAP32[$10>>2]|0; + if (!($566)) { + break; + } + $196 = $195 << 6; + $197 = HEAP32[$7>>2]|0; + $198 = ((($197)) + 1|0); + HEAP32[$7>>2] = $198; + $199 = HEAP8[$197>>0]|0; + $200 = $199&255; + $201 = 63 & $200; + $202 = (($196) + ($201))|0; + HEAP32[$10>>2] = $202; + } + $203 = ($195>>>0)<(128); + if (!($203)) { + $204 = HEAP32[$10>>2]|0; + $205 = $204 & -2048; + $206 = ($205|0)==(55296); + if (!($206)) { + $207 = HEAP32[$10>>2]|0; + $208 = $207 & -2; + $209 = ($208|0)==(65534); + if (!($209)) { + break; + } + } + } + HEAP32[$10>>2] = 65533; + } + } while(0); + $210 = HEAP32[$10>>2]|0; + $211 = ($210>>>0)<=(65535); + $212 = HEAP32[$10>>2]|0; + if ($211) { + $213 = $212 >>> 8; + $214 = $213 & 255; + $215 = $214&255; + $216 = HEAP32[$9>>2]|0; + $217 = ((($216)) + 1|0); + HEAP32[$9>>2] = $217; + HEAP8[$216>>0] = $215; + $218 = HEAP32[$10>>2]|0; + $219 = $218 & 255; + $220 = $219&255; + $221 = HEAP32[$9>>2]|0; + $222 = ((($221)) + 1|0); + HEAP32[$9>>2] = $222; + HEAP8[$221>>0] = $220; + continue; + } else { + $223 = (($212) - 65536)|0; + $224 = $223 >>> 18; + $225 = $224 & 3; + $226 = (216 + ($225))|0; + $227 = $226&255; + $228 = HEAP32[$9>>2]|0; + $229 = ((($228)) + 1|0); + HEAP32[$9>>2] = $229; + HEAP8[$228>>0] = $227; + $230 = HEAP32[$10>>2]|0; + $231 = $230 >>> 10; + $232 = $231 & 63; + $233 = HEAP32[$10>>2]|0; + $234 = (($233) - 65536)|0; + $235 = $234 >>> 10; + $236 = $235 & 192; + $237 = (($232) + ($236))|0; + $238 = $237&255; + $239 = HEAP32[$9>>2]|0; + $240 = ((($239)) + 1|0); + HEAP32[$9>>2] = $240; + HEAP8[$239>>0] = $238; + $241 = HEAP32[$10>>2]|0; + $242 = $241 >>> 8; + $243 = $242 & 3; + $244 = (220 + ($243))|0; + $245 = $244&255; + $246 = HEAP32[$9>>2]|0; + $247 = ((($246)) + 1|0); + HEAP32[$9>>2] = $247; + HEAP8[$246>>0] = $245; + $248 = HEAP32[$10>>2]|0; + $249 = $248 & 255; + $250 = $249&255; + $251 = HEAP32[$9>>2]|0; + $252 = ((($251)) + 1|0); + HEAP32[$9>>2] = $252; + HEAP8[$251>>0] = $250; + continue; + } + } } - $70 = (_sqlite3_strglob(20238,$62)|0); - $71 = ($70|0)==(0); - if ($71) { - $72 = HEAP32[$4>>2]|0; - $73 = ((($72)) + 55|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74 & -65; - $76 = $75 | 64; - HEAP8[$73>>0] = $76; + } while(0); + $253 = HEAP32[$9>>2]|0; + $254 = HEAP32[$6>>2]|0; + $255 = $253; + $256 = $254; + $257 = (($255) - ($256))|0; + $258 = HEAP32[$3>>2]|0; + $259 = ((($258)) + 12|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$9>>2]|0; + $261 = ((($260)) + 1|0); + HEAP32[$9>>2] = $261; + HEAP8[$260>>0] = 0; + } else { + $262 = HEAP32[$3>>2]|0; + $263 = ((($262)) + 10|0); + $264 = HEAP8[$263>>0]|0; + $265 = $264&255; + $266 = ($265|0)==(2); + L67: do { + if ($266) { + while(1) { + $267 = HEAP32[$7>>2]|0; + $268 = HEAP32[$8>>2]|0; + $269 = ($267>>>0)<($268>>>0); + if (!($269)) { + break L67; + } + $270 = HEAP32[$7>>2]|0; + $271 = ((($270)) + 1|0); + HEAP32[$7>>2] = $271; + $272 = HEAP8[$270>>0]|0; + $273 = $272&255; + HEAP32[$10>>2] = $273; + $274 = HEAP32[$7>>2]|0; + $275 = ((($274)) + 1|0); + HEAP32[$7>>2] = $275; + $276 = HEAP8[$274>>0]|0; + $277 = $276&255; + $278 = $277 << 8; + $279 = HEAP32[$10>>2]|0; + $280 = (($279) + ($278))|0; + HEAP32[$10>>2] = $280; + $281 = HEAP32[$10>>2]|0; + $282 = ($281>>>0)>=(55296); + $283 = HEAP32[$10>>2]|0; + $284 = ($283>>>0)<(57344); + $or$cond = $282 & $284; + if ($or$cond) { + $285 = HEAP32[$7>>2]|0; + $286 = HEAP32[$8>>2]|0; + $287 = ($285>>>0)<($286>>>0); + if ($287) { + $288 = HEAP32[$7>>2]|0; + $289 = ((($288)) + 1|0); + HEAP32[$7>>2] = $289; + $290 = HEAP8[$288>>0]|0; + $291 = $290&255; + HEAP32[$13>>2] = $291; + $292 = HEAP32[$7>>2]|0; + $293 = ((($292)) + 1|0); + HEAP32[$7>>2] = $293; + $294 = HEAP8[$292>>0]|0; + $295 = $294&255; + $296 = $295 << 8; + $297 = HEAP32[$13>>2]|0; + $298 = (($297) + ($296))|0; + HEAP32[$13>>2] = $298; + $299 = HEAP32[$13>>2]|0; + $300 = $299 & 1023; + $301 = HEAP32[$10>>2]|0; + $302 = $301 & 63; + $303 = $302 << 10; + $304 = (($300) + ($303))|0; + $305 = HEAP32[$10>>2]|0; + $306 = $305 & 960; + $307 = (($306) + 64)|0; + $308 = $307 << 10; + $309 = (($304) + ($308))|0; + HEAP32[$10>>2] = $309; + } + } + $310 = HEAP32[$10>>2]|0; + $311 = ($310>>>0)<(128); + $312 = HEAP32[$10>>2]|0; + if ($311) { + $313 = $312 & 255; + $314 = $313&255; + $315 = HEAP32[$9>>2]|0; + $316 = ((($315)) + 1|0); + HEAP32[$9>>2] = $316; + HEAP8[$315>>0] = $314; + continue; + } + $317 = ($312>>>0)<(2048); + $318 = HEAP32[$10>>2]|0; + if ($317) { + $319 = $318 >>> 6; + $320 = $319 & 31; + $321 = $320&255; + $322 = $321&255; + $323 = (192 + ($322))|0; + $324 = $323&255; + $325 = HEAP32[$9>>2]|0; + $326 = ((($325)) + 1|0); + HEAP32[$9>>2] = $326; + HEAP8[$325>>0] = $324; + $327 = HEAP32[$10>>2]|0; + $328 = $327 & 63; + $329 = $328&255; + $330 = $329&255; + $331 = (128 + ($330))|0; + $332 = $331&255; + $333 = HEAP32[$9>>2]|0; + $334 = ((($333)) + 1|0); + HEAP32[$9>>2] = $334; + HEAP8[$333>>0] = $332; + continue; + } + $335 = ($318>>>0)<(65536); + $336 = HEAP32[$10>>2]|0; + if ($335) { + $337 = $336 >>> 12; + $338 = $337 & 15; + $339 = $338&255; + $340 = $339&255; + $341 = (224 + ($340))|0; + $342 = $341&255; + $343 = HEAP32[$9>>2]|0; + $344 = ((($343)) + 1|0); + HEAP32[$9>>2] = $344; + HEAP8[$343>>0] = $342; + $345 = HEAP32[$10>>2]|0; + $346 = $345 >>> 6; + $347 = $346 & 63; + $348 = $347&255; + $349 = $348&255; + $350 = (128 + ($349))|0; + $351 = $350&255; + $352 = HEAP32[$9>>2]|0; + $353 = ((($352)) + 1|0); + HEAP32[$9>>2] = $353; + HEAP8[$352>>0] = $351; + $354 = HEAP32[$10>>2]|0; + $355 = $354 & 63; + $356 = $355&255; + $357 = $356&255; + $358 = (128 + ($357))|0; + $359 = $358&255; + $360 = HEAP32[$9>>2]|0; + $361 = ((($360)) + 1|0); + HEAP32[$9>>2] = $361; + HEAP8[$360>>0] = $359; + continue; + } else { + $362 = $336 >>> 18; + $363 = $362 & 7; + $364 = $363&255; + $365 = $364&255; + $366 = (240 + ($365))|0; + $367 = $366&255; + $368 = HEAP32[$9>>2]|0; + $369 = ((($368)) + 1|0); + HEAP32[$9>>2] = $369; + HEAP8[$368>>0] = $367; + $370 = HEAP32[$10>>2]|0; + $371 = $370 >>> 12; + $372 = $371 & 63; + $373 = $372&255; + $374 = $373&255; + $375 = (128 + ($374))|0; + $376 = $375&255; + $377 = HEAP32[$9>>2]|0; + $378 = ((($377)) + 1|0); + HEAP32[$9>>2] = $378; + HEAP8[$377>>0] = $376; + $379 = HEAP32[$10>>2]|0; + $380 = $379 >>> 6; + $381 = $380 & 63; + $382 = $381&255; + $383 = $382&255; + $384 = (128 + ($383))|0; + $385 = $384&255; + $386 = HEAP32[$9>>2]|0; + $387 = ((($386)) + 1|0); + HEAP32[$9>>2] = $387; + HEAP8[$386>>0] = $385; + $388 = HEAP32[$10>>2]|0; + $389 = $388 & 63; + $390 = $389&255; + $391 = $390&255; + $392 = (128 + ($391))|0; + $393 = $392&255; + $394 = HEAP32[$9>>2]|0; + $395 = ((($394)) + 1|0); + HEAP32[$9>>2] = $395; + HEAP8[$394>>0] = $393; + continue; + } + } + } else { + while(1) { + $396 = HEAP32[$7>>2]|0; + $397 = HEAP32[$8>>2]|0; + $398 = ($396>>>0)<($397>>>0); + if (!($398)) { + break L67; + } + $399 = HEAP32[$7>>2]|0; + $400 = ((($399)) + 1|0); + HEAP32[$7>>2] = $400; + $401 = HEAP8[$399>>0]|0; + $402 = $401&255; + $403 = $402 << 8; + HEAP32[$10>>2] = $403; + $404 = HEAP32[$7>>2]|0; + $405 = ((($404)) + 1|0); + HEAP32[$7>>2] = $405; + $406 = HEAP8[$404>>0]|0; + $407 = $406&255; + $408 = HEAP32[$10>>2]|0; + $409 = (($408) + ($407))|0; + HEAP32[$10>>2] = $409; + $410 = HEAP32[$10>>2]|0; + $411 = ($410>>>0)>=(55296); + $412 = HEAP32[$10>>2]|0; + $413 = ($412>>>0)<(57344); + $or$cond3 = $411 & $413; + if ($or$cond3) { + $414 = HEAP32[$7>>2]|0; + $415 = HEAP32[$8>>2]|0; + $416 = ($414>>>0)<($415>>>0); + if ($416) { + $417 = HEAP32[$7>>2]|0; + $418 = ((($417)) + 1|0); + HEAP32[$7>>2] = $418; + $419 = HEAP8[$417>>0]|0; + $420 = $419&255; + $421 = $420 << 8; + HEAP32[$14>>2] = $421; + $422 = HEAP32[$7>>2]|0; + $423 = ((($422)) + 1|0); + HEAP32[$7>>2] = $423; + $424 = HEAP8[$422>>0]|0; + $425 = $424&255; + $426 = HEAP32[$14>>2]|0; + $427 = (($426) + ($425))|0; + HEAP32[$14>>2] = $427; + $428 = HEAP32[$14>>2]|0; + $429 = $428 & 1023; + $430 = HEAP32[$10>>2]|0; + $431 = $430 & 63; + $432 = $431 << 10; + $433 = (($429) + ($432))|0; + $434 = HEAP32[$10>>2]|0; + $435 = $434 & 960; + $436 = (($435) + 64)|0; + $437 = $436 << 10; + $438 = (($433) + ($437))|0; + HEAP32[$10>>2] = $438; + } + } + $439 = HEAP32[$10>>2]|0; + $440 = ($439>>>0)<(128); + $441 = HEAP32[$10>>2]|0; + if ($440) { + $442 = $441 & 255; + $443 = $442&255; + $444 = HEAP32[$9>>2]|0; + $445 = ((($444)) + 1|0); + HEAP32[$9>>2] = $445; + HEAP8[$444>>0] = $443; + continue; + } + $446 = ($441>>>0)<(2048); + $447 = HEAP32[$10>>2]|0; + if ($446) { + $448 = $447 >>> 6; + $449 = $448 & 31; + $450 = $449&255; + $451 = $450&255; + $452 = (192 + ($451))|0; + $453 = $452&255; + $454 = HEAP32[$9>>2]|0; + $455 = ((($454)) + 1|0); + HEAP32[$9>>2] = $455; + HEAP8[$454>>0] = $453; + $456 = HEAP32[$10>>2]|0; + $457 = $456 & 63; + $458 = $457&255; + $459 = $458&255; + $460 = (128 + ($459))|0; + $461 = $460&255; + $462 = HEAP32[$9>>2]|0; + $463 = ((($462)) + 1|0); + HEAP32[$9>>2] = $463; + HEAP8[$462>>0] = $461; + continue; + } + $464 = ($447>>>0)<(65536); + $465 = HEAP32[$10>>2]|0; + if ($464) { + $466 = $465 >>> 12; + $467 = $466 & 15; + $468 = $467&255; + $469 = $468&255; + $470 = (224 + ($469))|0; + $471 = $470&255; + $472 = HEAP32[$9>>2]|0; + $473 = ((($472)) + 1|0); + HEAP32[$9>>2] = $473; + HEAP8[$472>>0] = $471; + $474 = HEAP32[$10>>2]|0; + $475 = $474 >>> 6; + $476 = $475 & 63; + $477 = $476&255; + $478 = $477&255; + $479 = (128 + ($478))|0; + $480 = $479&255; + $481 = HEAP32[$9>>2]|0; + $482 = ((($481)) + 1|0); + HEAP32[$9>>2] = $482; + HEAP8[$481>>0] = $480; + $483 = HEAP32[$10>>2]|0; + $484 = $483 & 63; + $485 = $484&255; + $486 = $485&255; + $487 = (128 + ($486))|0; + $488 = $487&255; + $489 = HEAP32[$9>>2]|0; + $490 = ((($489)) + 1|0); + HEAP32[$9>>2] = $490; + HEAP8[$489>>0] = $488; + continue; + } else { + $491 = $465 >>> 18; + $492 = $491 & 7; + $493 = $492&255; + $494 = $493&255; + $495 = (240 + ($494))|0; + $496 = $495&255; + $497 = HEAP32[$9>>2]|0; + $498 = ((($497)) + 1|0); + HEAP32[$9>>2] = $498; + HEAP8[$497>>0] = $496; + $499 = HEAP32[$10>>2]|0; + $500 = $499 >>> 12; + $501 = $500 & 63; + $502 = $501&255; + $503 = $502&255; + $504 = (128 + ($503))|0; + $505 = $504&255; + $506 = HEAP32[$9>>2]|0; + $507 = ((($506)) + 1|0); + HEAP32[$9>>2] = $507; + HEAP8[$506>>0] = $505; + $508 = HEAP32[$10>>2]|0; + $509 = $508 >>> 6; + $510 = $509 & 63; + $511 = $510&255; + $512 = $511&255; + $513 = (128 + ($512))|0; + $514 = $513&255; + $515 = HEAP32[$9>>2]|0; + $516 = ((($515)) + 1|0); + HEAP32[$9>>2] = $516; + HEAP8[$515>>0] = $514; + $517 = HEAP32[$10>>2]|0; + $518 = $517 & 63; + $519 = $518&255; + $520 = $519&255; + $521 = (128 + ($520))|0; + $522 = $521&255; + $523 = HEAP32[$9>>2]|0; + $524 = ((($523)) + 1|0); + HEAP32[$9>>2] = $524; + HEAP8[$523>>0] = $522; + continue; + } + } } - } - } while(0); - while(1) { - $77 = HEAP32[$z>>2]|0; - $78 = HEAP8[$77>>0]|0; - $79 = $78 << 24 >> 24; - $80 = ($79|0)!=(0); - if (!($80)) { - break; - } - $81 = HEAP32[$z>>2]|0; - $82 = HEAP8[$81>>0]|0; - $83 = $82 << 24 >> 24; - $84 = ($83|0)!=(32); - if (!($84)) { - break; - } - $85 = HEAP32[$z>>2]|0; - $86 = ((($85)) + 1|0); - HEAP32[$z>>2] = $86; - } - while(1) { - $87 = HEAP32[$z>>2]|0; - $88 = HEAP8[$87>>0]|0; - $89 = $88 << 24 >> 24; - $90 = ($89|0)==(32); - if (!($90)) { - continue L13; - } - $91 = HEAP32[$z>>2]|0; - $92 = ((($91)) + 1|0); - HEAP32[$z>>2] = $92; - } + } while(0); + $525 = HEAP32[$9>>2]|0; + $526 = HEAP32[$6>>2]|0; + $527 = $525; + $528 = $526; + $529 = (($527) - ($528))|0; + $530 = HEAP32[$3>>2]|0; + $531 = ((($530)) + 12|0); + HEAP32[$531>>2] = $529; + } + $532 = HEAP32[$9>>2]|0; + HEAP8[$532>>0] = 0; + $533 = HEAP32[$3>>2]|0; + $534 = ((($533)) + 8|0); + $535 = HEAP16[$534>>1]|0; + $536 = $535&65535; + HEAP32[$10>>2] = $536; + $537 = HEAP32[$3>>2]|0; + _sqlite3VdbeMemRelease($537); + $538 = HEAP32[$10>>2]|0; + $539 = $538 & 32799; + $540 = 514 | $539; + $541 = $540&65535; + $542 = HEAP32[$3>>2]|0; + $543 = ((($542)) + 8|0); + HEAP16[$543>>1] = $541; + $544 = HEAP8[$4>>0]|0; + $545 = HEAP32[$3>>2]|0; + $546 = ((($545)) + 10|0); + HEAP8[$546>>0] = $544; + $547 = HEAP32[$6>>2]|0; + $548 = HEAP32[$3>>2]|0; + $549 = ((($548)) + 16|0); + HEAP32[$549>>2] = $547; + $550 = HEAP32[$3>>2]|0; + $551 = ((($550)) + 16|0); + $552 = HEAP32[$551>>2]|0; + $553 = HEAP32[$3>>2]|0; + $554 = ((($553)) + 20|0); + HEAP32[$554>>2] = $552; + $555 = HEAP32[$3>>2]|0; + $556 = ((($555)) + 32|0); + $557 = HEAP32[$556>>2]|0; + $558 = HEAP32[$3>>2]|0; + $559 = ((($558)) + 16|0); + $560 = HEAP32[$559>>2]|0; + $561 = (_sqlite3DbMallocSize($557,$560)|0); + $562 = HEAP32[$3>>2]|0; + $563 = ((($562)) + 24|0); + HEAP32[$563>>2] = $561; } - STACKTOP = sp;return; + HEAP32[$2>>2] = 0; + $564 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($564|0); } -function _sqlite3LogEst($0,$1) { +function _sqlite3ValueText($0,$1) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $y = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp + 10|0; + $2 = sp + 4|0; $3 = sp; - $y = sp + 8|0; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - HEAP16[$y>>1] = 40; - $8 = $3; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = ($13>>>0)<(0); - $15 = ($10>>>0)<(8); - $16 = ($13|0)==(0); - $17 = $16 & $15; - $18 = $14 | $17; - L1: do { - if ($18) { - $19 = $3; - $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)<(2); - $27 = ($24|0)==(0); - $28 = $27 & $26; - $29 = $25 | $28; - if ($29) { - HEAP16[$2>>1] = 0; - $126 = HEAP16[$2>>1]|0; - STACKTOP = sp;return ($126|0); - } else { - while(1) { - $30 = $3; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = ($35>>>0)<(0); - $37 = ($32>>>0)<(8); - $38 = ($35|0)==(0); - $39 = $38 & $37; - $40 = $36 | $39; - if (!($40)) { - break L1; - } - $41 = HEAP16[$y>>1]|0; - $42 = $41 << 16 >> 16; - $43 = (($42) - 10)|0; - $44 = $43&65535; - HEAP16[$y>>1] = $44; - $45 = $3; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (_bitshift64Shl(($47|0),($50|0),1)|0); - $52 = tempRet0; - $53 = $3; - $54 = $53; - HEAP32[$54>>2] = $51; - $55 = (($53) + 4)|0; - $56 = $55; - HEAP32[$56>>2] = $52; - } - } - } else { - while(1) { - $57 = $3; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = ($62>>>0)>(0); - $64 = ($59>>>0)>(255); - $65 = ($62|0)==(0); - $66 = $65 & $64; - $67 = $63 | $66; - if (!($67)) { + $4 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)!=(0|0); + do { + if ($6) { + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = $10 & 514; + $12 = ($11|0)==(514); + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 10|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = HEAP8[$4>>0]|0; + $18 = $17&255; + $19 = ($16|0)==($18|0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$2>>2] = $22; break; } - $68 = HEAP16[$y>>1]|0; - $69 = $68 << 16 >> 16; - $70 = (($69) + 40)|0; - $71 = $70&65535; - HEAP16[$y>>1] = $71; - $72 = $3; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (_bitshift64Lshr(($74|0),($77|0),4)|0); - $79 = tempRet0; - $80 = $3; - $81 = $80; - HEAP32[$81>>2] = $78; - $82 = (($80) + 4)|0; - $83 = $82; - HEAP32[$83>>2] = $79; } - while(1) { - $84 = $3; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = (($84) + 4)|0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = ($89>>>0)>(0); - $91 = ($86>>>0)>(15); - $92 = ($89|0)==(0); - $93 = $92 & $91; - $94 = $90 | $93; - if (!($94)) { - break L1; - } - $95 = HEAP16[$y>>1]|0; - $96 = $95 << 16 >> 16; - $97 = (($96) + 10)|0; - $98 = $97&65535; - HEAP16[$y>>1] = $98; - $99 = $3; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = (($99) + 4)|0; - $103 = $102; - $104 = HEAP32[$103>>2]|0; - $105 = (_bitshift64Lshr(($101|0),($104|0),1)|0); - $106 = tempRet0; - $107 = $3; - $108 = $107; - HEAP32[$108>>2] = $105; - $109 = (($107) + 4)|0; - $110 = $109; - HEAP32[$110>>2] = $106; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = $26 & 1; + $28 = ($27|0)!=(0); + if ($28) { + HEAP32[$2>>2] = 0; + break; + } else { + $29 = HEAP32[$3>>2]|0; + $30 = HEAP8[$4>>0]|0; + $31 = (_valueToText($29,$30)|0); + HEAP32[$2>>2] = $31; + break; } + } else { + HEAP32[$2>>2] = 0; } } while(0); - $111 = $3; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = (($111) + 4)|0; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = $113 & 7; - $118 = (9782 + ($117<<1)|0); - $119 = HEAP16[$118>>1]|0; - $120 = $119 << 16 >> 16; - $121 = HEAP16[$y>>1]|0; - $122 = $121 << 16 >> 16; - $123 = (($120) + ($122))|0; - $124 = (($123) - 10)|0; - $125 = $124&65535; - HEAP16[$2>>1] = $125; - $126 = HEAP16[$2>>1]|0; - STACKTOP = sp;return ($126|0); -} -function _sqlite3PagerSetCachesize($pPager,$mxPage) { - $pPager = $pPager|0; - $mxPage = $mxPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + $32 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _sqlite3_aggregate_context($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; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $mxPage; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 212|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - _sqlite3PcacheSetCachesize($4,$5); - STACKTOP = sp;return; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = $10 & 8192; + $12 = ($11|0)==(0); + $13 = HEAP32[$3>>2]|0; + if ($12) { + $14 = HEAP32[$4>>2]|0; + $15 = (_createAggContext($13,$14)|0); + HEAP32[$2>>2] = $15; + $20 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($20|0); + } else { + $16 = ((($13)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$2>>2] = $19; + $20 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($20|0); + } + return (0)|0; } -function _sqlite3PcacheSetCachesize($pCache,$mxPage) { - $pCache = $pCache|0; - $mxPage = $mxPage|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; +function _sqlite3_result_error_toobig($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $pCache; - HEAP32[$1>>2] = $mxPage; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 16|0); - HEAP32[$4>>2] = $2; - $5 = HEAP32[(136)>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 44|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = (_numberOfCachePages($9)|0); - FUNCTION_TABLE_vii[$5 & 255]($8,$10); + $3 = ((($2)) + 20|0); + HEAP32[$3>>2] = 18; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 25|0); + HEAP8[$5>>0] = 1; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + (_sqlite3VdbeMemSetStr($7,22203,-1,1,0)|0); STACKTOP = sp;return; } -function _corruptSchema($pData,$zObj,$zExtra) { - $pData = $pData|0; - $zObj = $zObj|0; - $zExtra = $zExtra|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $db = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $z = 0, label = 0, sp = 0; +function _sqlite3_result_error_nomem($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; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $db = sp + 20|0; - $z = sp + 16|0; - HEAP32[$0>>2] = $pData; - HEAP32[$1>>2] = $zObj; - HEAP32[$2>>2] = $zExtra; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 69|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - if (!($8)) { - $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 24|0); - $11 = HEAP32[$10>>2]|0; - $12 = $11 & 65536; - $13 = ($12|0)==(0); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = ($14|0)==(0|0); - if ($15) { - HEAP32[$1>>2] = 20275; - } - $16 = HEAP32[$db>>2]|0; - $17 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $17; - $18 = (_sqlite3MPrintf($16,20277,$vararg_buffer)|0); - HEAP32[$z>>2] = $18; - $19 = HEAP32[$2>>2]|0; - $20 = ($19|0)!=(0|0); - if ($20) { - $21 = HEAP32[$db>>2]|0; - $22 = HEAP32[$z>>2]|0; - $23 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer1>>2] = $22; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $23; - $24 = (_sqlite3MPrintf($21,20308,$vararg_buffer1)|0); - HEAP32[$z>>2] = $24; - } - $25 = HEAP32[$db>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$28>>2]|0; - _sqlite3DbFree($25,$29); - $30 = HEAP32[$z>>2]|0; - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$33>>2] = $30; - } - } - $34 = HEAP32[$db>>2]|0; - $35 = ((($34)) + 69|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = ($37|0)!=(0); - if ($38) { - $42 = 7; - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 12|0); - HEAP32[$41>>2] = $42; - STACKTOP = sp;return; - } - $39 = (_sqlite3CorruptError(113554)|0); - $42 = $39; - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 12|0); - HEAP32[$41>>2] = $42; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + _sqlite3VdbeMemSetNull($3); + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 20|0); + HEAP32[$5>>2] = 7; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 25|0); + HEAP8[$7>>0] = 1; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 32|0); + $11 = HEAP32[$10>>2]|0; + _sqlite3OomFault($11); STACKTOP = sp;return; } -function _sqlite3CorruptError($lineno) { - $lineno = $lineno|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _sqlite3_result_text($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 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; - HEAP32[$0>>2] = $lineno; - $1 = HEAP32[$0>>2]|0; - $2 = (_reportError(11,$1,20316)|0); - STACKTOP = sp;return ($2|0); + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$7>>2]|0; + _setResultStrOrError($8,$9,$10,1,$11); + STACKTOP = sp;return; } -function _reportError($iErr,$lineno,$zType) { - $iErr = $iErr|0; - $lineno = $lineno|0; - $zType = $zType|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; +function _setResultStrOrError($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - HEAP32[$0>>2] = $iErr; - HEAP32[$1>>2] = $lineno; - HEAP32[$2>>2] = $zType; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3_sourceid()|0); - $7 = ((($6)) + 20|0); - HEAP32[$vararg_buffer>>2] = $4; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $5; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $7; - _sqlite3_log($3,20336,$vararg_buffer); - $8 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($8|0); + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp + 16|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP8[$8>>0] = $3; + HEAP32[$9>>2] = $4; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP8[$8>>0]|0; + $15 = HEAP32[$9>>2]|0; + $16 = (_sqlite3VdbeMemSetStr($11,$12,$13,$14,$15)|0); + $17 = ($16|0)==(18); + if (!($17)) { + STACKTOP = sp;return; + } + $18 = HEAP32[$5>>2]|0; + _sqlite3_result_error_toobig($18); + STACKTOP = sp;return; } -function _sqlite3FindCollSeq($db,$enc,$zName,$create) { - $db = $db|0; - $enc = $enc|0; - $zName = $zName|0; - $create = $create|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $pColl = 0, label = 0, sp = 0; +function _createAggContext($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $1 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 8|0; $3 = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $db; - HEAP8[$1>>0] = $enc; - HEAP32[$2>>2] = $zName; - HEAP32[$3>>2] = $create; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)!=(0|0); - $6 = HEAP32[$0>>2]|0; - if ($5) { - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = (_findCollSeqEntry($6,$7,$8)|0); - HEAP32[$pColl>>2] = $9; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = ($8|0)<=(0); + $10 = HEAP32[$4>>2]|0; + if ($9) { + _sqlite3VdbeMemSetNull($10); + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 16|0); + HEAP32[$12>>2] = 0; } else { - $10 = ((($6)) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pColl>>2] = $11; - } - $12 = HEAP32[$pColl>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - $19 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($19|0); + $13 = HEAP32[$3>>2]|0; + (_sqlite3VdbeMemClearAndResize($10,$13)|0); + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 8|0); + HEAP16[$15>>1] = 8192; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$4>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 16|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$3>>2]|0; + _memset(($26|0),0,($27|0))|0; + } } - $14 = HEAP8[$1>>0]|0; - $15 = $14&255; - $16 = (($15) - 1)|0; - $17 = HEAP32[$pColl>>2]|0; - $18 = (($17) + (($16*20)|0)|0); - HEAP32[$pColl>>2] = $18; - $19 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($19|0); + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + STACKTOP = sp;return ($30|0); } -function _findCollSeqEntry($db,$zName,$create) { - $db = $db|0; - $zName = $zName|0; - $create = $create|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nName = 0; - var $or$cond = 0, $pColl = 0, $pDel = 0, label = 0, sp = 0; +function _sqlite3_value_type($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pColl = sp + 8|0; - $nName = sp + 4|0; - $pDel = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zName; - HEAP32[$2>>2] = $create; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 364|0); - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3HashFind($4,$5)|0); - HEAP32[$pColl>>2] = $6; - $7 = HEAP32[$pColl>>2]|0; - $8 = (0|0)==($7|0); - $9 = HEAP32[$2>>2]|0; - $10 = ($9|0)!=(0); - $or$cond = $8 & $10; - if (!($or$cond)) { - $58 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($58|0); - } - $11 = HEAP32[$1>>2]|0; - $12 = (_sqlite3Strlen30($11)|0); - HEAP32[$nName>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$nName>>2]|0; - $15 = (60 + ($14))|0; - $16 = (($15) + 1)|0; - $17 = (_sqlite3DbMallocZero($13,$16,0)|0); - HEAP32[$pColl>>2] = $17; - $18 = HEAP32[$pColl>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - $58 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($58|0); - } - HEAP32[$pDel>>2] = 0; - $20 = HEAP32[$pColl>>2]|0; - $21 = ((($20)) + 60|0); - $22 = HEAP32[$pColl>>2]|0; - HEAP32[$22>>2] = $21; - $23 = HEAP32[$pColl>>2]|0; - $24 = ((($23)) + 4|0); - HEAP8[$24>>0] = 1; - $25 = HEAP32[$pColl>>2]|0; - $26 = ((($25)) + 60|0); - $27 = HEAP32[$pColl>>2]|0; - $28 = ((($27)) + 20|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$pColl>>2]|0; - $30 = ((($29)) + 20|0); - $31 = ((($30)) + 4|0); - HEAP8[$31>>0] = 2; - $32 = HEAP32[$pColl>>2]|0; - $33 = ((($32)) + 60|0); - $34 = HEAP32[$pColl>>2]|0; - $35 = ((($34)) + 40|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$pColl>>2]|0; - $37 = ((($36)) + 40|0); - $38 = ((($37)) + 4|0); - HEAP8[$38>>0] = 3; - $39 = HEAP32[$pColl>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$nName>>2]|0; - _memcpy(($40|0),($41|0),($42|0))|0; - $43 = HEAP32[$nName>>2]|0; - $44 = HEAP32[$pColl>>2]|0; - $45 = HEAP32[$44>>2]|0; - $46 = (($45) + ($43)|0); - HEAP8[$46>>0] = 0; - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 364|0); - $49 = HEAP32[$pColl>>2]|0; - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$pColl>>2]|0; - $52 = (_sqlite3HashInsert($48,$50,$51)|0); - HEAP32[$pDel>>2] = $52; - $53 = HEAP32[$pDel>>2]|0; - $54 = ($53|0)!=(0|0); - if (!($54)) { - $58 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($58|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 31; + $7 = (22228 + ($6)|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + STACKTOP = sp;return ($9|0); +} +function _sqlite3_result_int64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$3>>2] = $0; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $1; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = $4; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + _sqlite3VdbeMemSetInt64($10,$13,$16); + STACKTOP = sp;return; +} +function _sqlite3_result_double($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAPF64[$3>>3] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = +HEAPF64[$3>>3]; + _sqlite3VdbeMemSetDouble($5,$6); + STACKTOP = sp;return; +} +function _sqlite3VdbeMemSetDouble($0,$1) { + $0 = $0|0; + $1 = +$1; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAPF64[$3>>3] = $1; + $4 = HEAP32[$2>>2]|0; + _sqlite3VdbeMemSetNull($4); + $5 = +HEAPF64[$3>>3]; + $6 = (_sqlite3IsNaN($5)|0); + $7 = ($6|0)!=(0); + if ($7) { + STACKTOP = sp;return; } - $55 = HEAP32[$0>>2]|0; - _sqlite3OomFault($55); - $56 = HEAP32[$0>>2]|0; - $57 = HEAP32[$pDel>>2]|0; - _sqlite3DbFree($56,$57); - HEAP32[$pColl>>2] = 0; - $58 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($58|0); + $8 = +HEAPF64[$3>>3]; + $9 = HEAP32[$2>>2]|0; + HEAPF64[$9>>3] = $8; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 8|0); + HEAP16[$11>>1] = 8; + STACKTOP = sp;return; } -function _sqlite3HashInsert($pH,$pKey,$data) { - $pH = $pH|0; - $pKey = $pKey|0; - $data = $data|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $elem = 0, $h = 0, $new_elem = 0, $old_data = 0; - var label = 0, sp = 0; +function _sqlite3_value_numeric_type($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $h = sp + 12|0; - $elem = sp + 8|0; - $new_elem = sp + 4|0; - $old_data = sp; - HEAP32[$1>>2] = $pH; - HEAP32[$2>>2] = $pKey; - HEAP32[$3>>2] = $data; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_findElementWithHash($4,$5,$h)|0); - HEAP32[$elem>>2] = $6; - $7 = HEAP32[$elem>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$elem>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$old_data>>2] = $11; - $12 = HEAP32[$3>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$elem>>2]|0; - $16 = HEAP32[$h>>2]|0; - _removeElementGivenHash($14,$15,$16); - } else { - $17 = HEAP32[$3>>2]|0; - $18 = HEAP32[$elem>>2]|0; - $19 = ((($18)) + 8|0); - HEAP32[$19>>2] = $17; - $20 = HEAP32[$2>>2]|0; - $21 = HEAP32[$elem>>2]|0; - $22 = ((($21)) + 12|0); - HEAP32[$22>>2] = $20; - } - $23 = HEAP32[$old_data>>2]|0; - HEAP32[$0>>2] = $23; - $75 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($75|0); - } - $24 = HEAP32[$3>>2]|0; - $25 = ($24|0)==(0|0); - if ($25) { - HEAP32[$0>>2] = 0; - $75 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($75|0); - } - $26 = (_sqlite3Malloc(16,0)|0); - HEAP32[$new_elem>>2] = $26; - $27 = HEAP32[$new_elem>>2]|0; - $28 = ($27|0)==(0|0); - if ($28) { - $29 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $29; - $75 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($75|0); + $5 = (_sqlite3_value_type($4)|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)==(3); + if (!($7)) { + $12 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($12|0); } - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$new_elem>>2]|0; - $32 = ((($31)) + 12|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$3>>2]|0; - $34 = HEAP32[$new_elem>>2]|0; - $35 = ((($34)) + 8|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 4|0); + $8 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + _applyNumericAffinity($9,0); + $10 = HEAP32[$1>>2]|0; + $11 = (_sqlite3_value_type($10)|0); + HEAP32[$2>>2] = $11; + $12 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($12|0); +} +function _sqlite3_value_int64($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_sqlite3VdbeIntValue($2)|0); + $4 = tempRet0; + tempRet0 = ($4); + STACKTOP = sp;return ($3|0); +} +function _sqlite3AddInt64($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 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, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$4>>2] = $0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = $11; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = $6; + $19 = $18; + HEAP32[$19>>2] = $14; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = $5; + $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; + $33 = $6; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; $38 = HEAP32[$37>>2]|0; - $39 = (($38) + 1)|0; - HEAP32[$37>>2] = $39; - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 4|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42>>>0)>=(10); - if ($43) { - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$1>>2]|0; - $48 = HEAP32[$47>>2]|0; - $49 = $48<<1; - $50 = ($46>>>0)>($49>>>0); - if ($50) { - $51 = HEAP32[$1>>2]|0; - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 4|0); + if ($32) { + $39 = ($38|0)>(0); + $40 = ($35>>>0)>(0); + $41 = ($38|0)==(0); + $42 = $41 & $40; + $43 = $39 | $42; + if ($43) { + $44 = $6; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (_i64Subtract(-1,2147483647,($46|0),($49|0))|0); + $51 = tempRet0; + $52 = $5; + $53 = $52; $54 = HEAP32[$53>>2]|0; - $55 = $54<<1; - $56 = (_rehash($51,$55)|0); - $57 = ($56|0)!=(0); - if ($57) { - $58 = HEAP32[$2>>2]|0; - $59 = (_strHash($58)|0); - $60 = HEAP32[$1>>2]|0; - $61 = HEAP32[$60>>2]|0; - $62 = (($59>>>0) % ($61>>>0))&-1; - HEAP32[$h>>2] = $62; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = ($51|0)<($57|0); + $59 = ($50>>>0)<($54>>>0); + $60 = ($51|0)==($57|0); + $61 = $60 & $59; + $62 = $58 | $61; + if ($62) { + HEAP32[$3>>2] = 1; + $106 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($106|0); } } - } - $63 = HEAP32[$1>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 12|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)!=(0|0); - if ($67) { - $68 = HEAP32[$h>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 12|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + ($68<<3)|0); - $74 = $72; } else { - $74 = 0; + $63 = ($38|0)<(0); + if ($63) { + $64 = $6; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (_i64Add(($66|0),($69|0),-1,2147483647)|0); + $71 = tempRet0; + $72 = (_i64Subtract(0,0,($70|0),($71|0))|0); + $73 = tempRet0; + $74 = $5; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (_i64Add(($76|0),($79|0),1,0)|0); + $81 = tempRet0; + $82 = ($73|0)>($81|0); + $83 = ($72>>>0)>($80>>>0); + $84 = ($73|0)==($81|0); + $85 = $84 & $83; + $86 = $82 | $85; + if ($86) { + HEAP32[$3>>2] = 1; + $106 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($106|0); + } + } } - $73 = HEAP32[$new_elem>>2]|0; - _insertElement($63,$74,$73); - HEAP32[$0>>2] = 0; - $75 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($75|0); + $87 = $5; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$4>>2]|0; + $94 = $93; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (_i64Add(($96|0),($99|0),($89|0),($92|0))|0); + $101 = tempRet0; + $102 = $93; + $103 = $102; + HEAP32[$103>>2] = $100; + $104 = (($102) + 4)|0; + $105 = $104; + HEAP32[$105>>2] = $101; + HEAP32[$3>>2] = 0; + $106 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($106|0); } -function _removeElementGivenHash($pH,$elem,$h) { - $pH = $pH|0; - $elem = $elem|0; - $h = $h|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pEntry = 0, label = 0, sp = 0; +function _sqlite3_value_double($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (+_sqlite3VdbeRealValue($2)); + STACKTOP = sp;return (+$3); +} +function _sqlite3VdbeRealValue($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.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.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.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; $1 = sp + 8|0; - $2 = sp + 4|0; - $pEntry = sp; - HEAP32[$0>>2] = $pH; - HEAP32[$1>>2] = $elem; - HEAP32[$2>>2] = $h; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - if ($6) { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$11>>2] = $8; - } else { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 8|0); - HEAP32[$13>>2] = $8; + $2 = sp + 16|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP16[$5>>1]|0; + $7 = $6&65535; + $8 = $7 & 8; + $9 = ($8|0)!=(0); + $10 = HEAP32[$2>>2]|0; + if ($9) { + $11 = +HEAPF64[$10>>3]; + HEAPF64[$1>>3] = $11; + $40 = +HEAPF64[$1>>3]; + STACKTOP = sp;return (+$40); } - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); + $12 = ((($10)) + 8|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = $14 & 4; + $16 = ($15|0)!=(0); + $17 = HEAP32[$2>>2]|0; if ($16) { - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = ((($21)) + 4|0); - HEAP32[$22>>2] = $19; - } - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + ($27<<3)|0); - HEAP32[$pEntry>>2] = $31; - $32 = HEAP32[$pEntry>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = ($34|0)==($35|0); - if ($36) { - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$pEntry>>2]|0; - $40 = ((($39)) + 4|0); - HEAP32[$40>>2] = $38; - } - $41 = HEAP32[$pEntry>>2]|0; - $42 = HEAP32[$41>>2]|0; - $43 = (($42) + -1)|0; - HEAP32[$41>>2] = $43; + $18 = $17; + $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))); + HEAPF64[$1>>3] = $24; + $40 = +HEAPF64[$1>>3]; + STACKTOP = sp;return (+$40); } - $44 = HEAP32[$1>>2]|0; - _sqlite3_free($44); - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + -1)|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)==(0); - if (!($52)) { - STACKTOP = sp;return; + $25 = ((($17)) + 8|0); + $26 = HEAP16[$25>>1]|0; + $27 = $26&65535; + $28 = $27 & 18; + $29 = ($28|0)!=(0); + if ($29) { + HEAPF64[$3>>3] = 0.0; + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 10|0); + $38 = HEAP8[$37>>0]|0; + (_sqlite3AtoF($32,$3,$35,$38)|0); + $39 = +HEAPF64[$3>>3]; + HEAPF64[$1>>3] = $39; + $40 = +HEAPF64[$1>>3]; + STACKTOP = sp;return (+$40); + } else { + HEAPF64[$1>>3] = 0.0; + $40 = +HEAPF64[$1>>3]; + STACKTOP = sp;return (+$40); } - $53 = HEAP32[$0>>2]|0; - _sqlite3HashClear($53); - STACKTOP = sp;return; + return +(0.0); } -function _rehash($pH,$new_size) { - $pH = $pH|0; - $new_size = $new_size|0; - var $$new_size = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $elem = 0, $h = 0, $new_ht = 0, $next_elem = 0, label = 0, sp = 0; +function _sqlite3AtoF($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0.0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0.0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0.0, $384 = 0.0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0.0, $396 = 0.0, $397 = 0.0, $398 = 0.0, $399 = 0.0, $4 = 0, $40 = 0, $400 = 0.0, $401 = 0.0, $402 = 0.0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0; + var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0.0, $412 = 0.0, $413 = 0.0, $414 = 0, $415 = 0, $416 = 0, $417 = 0.0, $418 = 0.0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0.0, $424 = 0.0, $425 = 0; + var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0.0, $436 = 0.0, $437 = 0.0, $438 = 0.0, $439 = 0.0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0; + var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $new_ht = sp + 12|0; - $elem = sp + 8|0; - $next_elem = sp + 4|0; - $h = sp; - HEAP32[$1>>2] = $pH; - HEAP32[$2>>2] = $new_size; - $3 = HEAP32[$2>>2]|0; - $4 = $3<<3; - $5 = ($4>>>0)>(1024); - $$new_size = $5 ? 128 : $new_size; - HEAP32[$2>>2] = $$new_size; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ($6|0)==($8|0); - if ($9) { - HEAP32[$0>>2] = 0; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); - } - _sqlite3BeginBenignMalloc(); - $10 = HEAP32[$2>>2]|0; - $11 = $10<<3; - $12 = (_sqlite3Malloc($11,0)|0); - HEAP32[$new_ht>>2] = $12; - _sqlite3EndBenignMalloc(); - $13 = HEAP32[$new_ht>>2]|0; - $14 = ($13|0)==(0|0); - if ($14) { - HEAP32[$0>>2] = 0; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); + STACKTOP = STACKTOP + 96|0; + $4 = sp + 76|0; + $5 = sp + 72|0; + $6 = sp + 68|0; + $7 = sp + 64|0; + $8 = sp + 80|0; + $9 = sp + 60|0; + $10 = sp + 56|0; + $11 = sp + 52|0; + $12 = sp + 16|0; + $13 = sp + 48|0; + $14 = sp + 44|0; + $15 = sp + 40|0; + $16 = sp + 36|0; + $17 = sp + 8|0; + $18 = sp + 32|0; + $19 = sp + 28|0; + $20 = sp + 24|0; + $21 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP8[$8>>0] = $3; + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = (($22) + ($23)|0); + HEAP32[$10>>2] = $24; + HEAP32[$11>>2] = 1; + $25 = $12; + $26 = $25; + HEAP32[$26>>2] = 0; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 1; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 1; + HEAP32[$18>>2] = 0; + HEAP32[$19>>2] = 0; + $29 = HEAP32[$6>>2]|0; + HEAPF64[$29>>3] = 0.0; + $30 = HEAP8[$8>>0]|0; + $31 = $30&255; + $32 = ($31|0)==(1); + if ($32) { + HEAP32[$9>>2] = 1; + } else { + HEAP32[$9>>2] = 2; + $33 = HEAP8[$8>>0]|0; + $34 = $33&255; + $35 = (3 - ($34))|0; + HEAP32[$20>>2] = $35; + while(1) { + $36 = HEAP32[$20>>2]|0; + $37 = HEAP32[$7>>2]|0; + $38 = ($36|0)<($37|0); + if (!($38)) { + break; + } + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$20>>2]|0; + $41 = (($39) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42 << 24 >> 24; + $44 = ($43|0)==(0); + if (!($44)) { + break; + } + $45 = HEAP32[$20>>2]|0; + $46 = (($45) + 2)|0; + HEAP32[$20>>2] = $46; + } + $47 = HEAP32[$20>>2]|0; + $48 = HEAP32[$7>>2]|0; + $49 = ($47|0)<($48|0); + $50 = $49&1; + HEAP32[$19>>2] = $50; + $51 = HEAP32[$5>>2]|0; + $52 = HEAP32[$20>>2]|0; + $53 = $52 ^ 1; + $54 = (($51) + ($53)|0); + HEAP32[$10>>2] = $54; + $55 = HEAP8[$8>>0]|0; + $56 = $55&255; + $57 = $56 & 1; + $58 = HEAP32[$5>>2]|0; + $59 = (($58) + ($57)|0); + HEAP32[$5>>2] = $59; } - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - _sqlite3_free($17); - $18 = HEAP32[$new_ht>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 12|0); - HEAP32[$20>>2] = $18; - $21 = HEAP32[$new_ht>>2]|0; - $22 = (_sqlite3MallocSize($21)|0); - $23 = (($22>>>0) / 8)&-1; - HEAP32[$2>>2] = $23; - $24 = HEAP32[$1>>2]|0; - HEAP32[$24>>2] = $23; - $25 = HEAP32[$new_ht>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = $26<<3; - _memset(($25|0),0,($27|0))|0; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$elem>>2] = $30; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 8|0); - HEAP32[$32>>2] = 0; while(1) { - $33 = HEAP32[$elem>>2]|0; - $34 = ($33|0)!=(0|0); - if (!($34)) { + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$10>>2]|0; + $62 = ($60>>>0)<($61>>>0); + if (!($62)) { break; } - $35 = HEAP32[$elem>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_strHash($37)|0); - $39 = HEAP32[$2>>2]|0; - $40 = (($38>>>0) % ($39>>>0))&-1; - HEAP32[$h>>2] = $40; - $41 = HEAP32[$elem>>2]|0; - $42 = HEAP32[$41>>2]|0; - HEAP32[$next_elem>>2] = $42; - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$h>>2]|0; - $45 = HEAP32[$new_ht>>2]|0; - $46 = (($45) + ($44<<3)|0); - $47 = HEAP32[$elem>>2]|0; - _insertElement($43,$46,$47); - $48 = HEAP32[$next_elem>>2]|0; - HEAP32[$elem>>2] = $48; - } - HEAP32[$0>>2] = 1; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); -} -function _insertElement($pH,$pEntry,$pNew) { - $pH = $pH|0; - $pEntry = $pEntry|0; - $pNew = $pNew|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pHead = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pHead = sp; - HEAP32[$0>>2] = $pH; - HEAP32[$1>>2] = $pEntry; - HEAP32[$2>>2] = $pNew; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10; - } else { - $11 = 0; + $63 = HEAP32[$5>>2]|0; + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + $66 = (20063 + ($65)|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $68 & 1; + $70 = ($69|0)!=(0); + if (!($70)) { + break; } - HEAP32[$pHead>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[$12>>2] = $14; - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 4|0); - HEAP32[$17>>2] = $15; - } else { - HEAP32[$pHead>>2] = 0; + $71 = HEAP32[$9>>2]|0; + $72 = HEAP32[$5>>2]|0; + $73 = (($72) + ($71)|0); + HEAP32[$5>>2] = $73; } - $18 = HEAP32[$pHead>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$2>>2]|0; - HEAP32[$43>>2] = $42; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 8|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)!=(0|0); - if ($47) { - $48 = HEAP32[$2>>2]|0; - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ((($51)) + 4|0); - HEAP32[$52>>2] = $48; - } - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 4|0); - HEAP32[$54>>2] = 0; - $55 = HEAP32[$2>>2]|0; - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 8|0); - HEAP32[$57>>2] = $55; - STACKTOP = sp;return; + $74 = HEAP32[$5>>2]|0; + $75 = HEAP32[$10>>2]|0; + $76 = ($74>>>0)>=($75>>>0); + if ($76) { + HEAP32[$4>>2] = 0; + $452 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($452|0); } - $20 = HEAP32[$pHead>>2]|0; - $21 = HEAP32[$2>>2]|0; - HEAP32[$21>>2] = $20; - $22 = HEAP32[$pHead>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 4|0); - HEAP32[$26>>2] = $24; - $27 = HEAP32[$pHead>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)!=(0|0); - $31 = HEAP32[$2>>2]|0; - if ($30) { - $32 = HEAP32[$pHead>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$34>>2] = $31; + $77 = HEAP32[$5>>2]|0; + $78 = HEAP8[$77>>0]|0; + $79 = $78 << 24 >> 24; + $80 = ($79|0)==(45); + if ($80) { + HEAP32[$11>>2] = -1; + $81 = HEAP32[$9>>2]|0; + $82 = HEAP32[$5>>2]|0; + $83 = (($82) + ($81)|0); + HEAP32[$5>>2] = $83; } else { - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 8|0); - HEAP32[$36>>2] = $31; - } - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$pHead>>2]|0; - $39 = ((($38)) + 4|0); - HEAP32[$39>>2] = $37; - STACKTOP = sp;return; -} -function _sqlite3BeginBenignMalloc() { - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[1728>>2]|0; - $1 = ($0|0)!=(0|0); - if (!($1)) { - return; - } - $2 = HEAP32[1728>>2]|0; - FUNCTION_TABLE_v[$2 & 255](); - return; -} -function _sqlite3EndBenignMalloc() { - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[(1732)>>2]|0; - $1 = ($0|0)!=(0|0); - if (!($1)) { - return; - } - $2 = HEAP32[(1732)>>2]|0; - FUNCTION_TABLE_v[$2 & 255](); - return; -} -function _binCollFunc($padFlag,$nKey1,$pKey1,$nKey2,$pKey2) { - $padFlag = $padFlag|0; - $nKey1 = $nKey1|0; - $pKey1 = $pKey1|0; - $nKey2 = $nKey2|0; - $pKey2 = $pKey2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0; - var $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $rc = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $padFlag; - HEAP32[$1>>2] = $nKey1; - HEAP32[$2>>2] = $pKey1; - HEAP32[$3>>2] = $nKey2; - HEAP32[$4>>2] = $pKey2; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$3>>2]|0; - $7 = ($5|0)<($6|0); - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$3>>2]|0; - $10 = $7 ? $8 : $9; - HEAP32[$n>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$4>>2]|0; - $13 = HEAP32[$n>>2]|0; - $14 = (_memcmp($11,$12,$13)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - if (!($16)) { - $38 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($38|0); + $84 = HEAP32[$5>>2]|0; + $85 = HEAP8[$84>>0]|0; + $86 = $85 << 24 >> 24; + $87 = ($86|0)==(43); + if ($87) { + $88 = HEAP32[$9>>2]|0; + $89 = HEAP32[$5>>2]|0; + $90 = (($89) + ($88)|0); + HEAP32[$5>>2] = $90; + } } - $17 = HEAP32[$0>>2]|0; - $18 = ($17|0)!=(0|0); - if ($18) { - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$n>>2]|0; - $21 = (($19) + ($20)|0); - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$n>>2]|0; - $24 = (($22) - ($23))|0; - $25 = (_allSpaces($21,$24)|0); - $26 = ($25|0)!=(0); - if ($26) { - $27 = HEAP32[$4>>2]|0; - $28 = HEAP32[$n>>2]|0; - $29 = (($27) + ($28)|0); - $30 = HEAP32[$3>>2]|0; - $31 = HEAP32[$n>>2]|0; - $32 = (($30) - ($31))|0; - $33 = (_allSpaces($29,$32)|0); - $34 = ($33|0)!=(0); - if ($34) { - $38 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($38|0); - } + while(1) { + $91 = HEAP32[$5>>2]|0; + $92 = HEAP32[$10>>2]|0; + $93 = ($91>>>0)<($92>>>0); + if (!($93)) { + break; + } + $94 = HEAP32[$5>>2]|0; + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = (20063 + ($96)|0); + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $100 = $99 & 4; + $101 = ($100|0)!=(0); + $102 = $12; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = (($102) + 4)|0; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = ($107|0)<(214748364); + $109 = ($104>>>0)<(3435973835); + $110 = ($107|0)==(214748364); + $111 = $110 & $109; + $112 = $108 | $111; + $or$cond12 = $101 & $112; + if (!($or$cond12)) { + break; } + $113 = $12; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = (($113) + 4)|0; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (___muldi3(($115|0),($118|0),10,0)|0); + $120 = tempRet0; + $121 = HEAP32[$5>>2]|0; + $122 = HEAP8[$121>>0]|0; + $123 = $122 << 24 >> 24; + $124 = (($123) - 48)|0; + $125 = ($124|0)<(0); + $126 = $125 << 31 >> 31; + $127 = (_i64Add(($119|0),($120|0),($124|0),($126|0))|0); + $128 = tempRet0; + $129 = $12; + $130 = $129; + HEAP32[$130>>2] = $127; + $131 = (($129) + 4)|0; + $132 = $131; + HEAP32[$132>>2] = $128; + $133 = HEAP32[$9>>2]|0; + $134 = HEAP32[$5>>2]|0; + $135 = (($134) + ($133)|0); + HEAP32[$5>>2] = $135; + $136 = HEAP32[$18>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[$18>>2] = $137; } - $35 = HEAP32[$1>>2]|0; - $36 = HEAP32[$3>>2]|0; - $37 = (($35) - ($36))|0; - HEAP32[$rc>>2] = $37; - $38 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($38|0); -} -function _nocaseCollatingFunc($NotUsed,$nKey1,$pKey1,$nKey2,$pKey2) { - $NotUsed = $NotUsed|0; - $nKey1 = $nKey1|0; - $pKey1 = $pKey1|0; - $nKey2 = $nKey2|0; - $pKey2 = $pKey2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $r = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $r = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $nKey1; - HEAP32[$2>>2] = $pKey1; - HEAP32[$3>>2] = $nKey2; - HEAP32[$4>>2] = $pKey2; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$4>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = ($7|0)<($8|0); - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = $9 ? $10 : $11; - $13 = (_sqlite3_strnicmp($5,$6,$12)|0); - HEAP32[$r>>2] = $13; - $14 = HEAP32[$r>>2]|0; - $15 = (0)==($14|0); - if (!($15)) { - $19 = HEAP32[$r>>2]|0; - STACKTOP = sp;return ($19|0); + while(1) { + $138 = HEAP32[$5>>2]|0; + $139 = HEAP32[$10>>2]|0; + $140 = ($138>>>0)<($139>>>0); + if (!($140)) { + break; + } + $141 = HEAP32[$5>>2]|0; + $142 = HEAP8[$141>>0]|0; + $143 = $142&255; + $144 = (20063 + ($143)|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = $146 & 4; + $148 = ($147|0)!=(0); + if (!($148)) { + break; + } + $149 = HEAP32[$9>>2]|0; + $150 = HEAP32[$5>>2]|0; + $151 = (($150) + ($149)|0); + HEAP32[$5>>2] = $151; + $152 = HEAP32[$18>>2]|0; + $153 = (($152) + 1)|0; + HEAP32[$18>>2] = $153; + $154 = HEAP32[$13>>2]|0; + $155 = (($154) + 1)|0; + HEAP32[$13>>2] = $155; } - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = (($16) - ($17))|0; - HEAP32[$r>>2] = $18; - $19 = HEAP32[$r>>2]|0; - STACKTOP = sp;return ($19|0); -} -function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { - $zDefaultVfs = $zDefaultVfs|0; - $zUri = $zUri|0; - $pFlags = $pFlags|0; - $ppVfs = $ppVfs|0; - $pzFile = $pzFile|0; - $pzErrMsg = $pzErrMsg|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aMode = 0, $c = 0, $eState = 0, $flags = 0, $i = 0, $iIn = 0, $iOut = 0, $limit = 0, $mask = 0, $mode = 0, $nByte = 0, $nOpt = 0; - var $nUri = 0, $nVal = 0, $octet = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $z = 0, $zFile = 0, $zModeType = 0, $zOpt = 0, $zVal = 0, $zVfs = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $vararg_buffer21 = sp + 32|0; - $vararg_buffer17 = sp + 24|0; - $vararg_buffer13 = sp + 16|0; - $vararg_buffer = sp + 8|0; - $0 = sp + 140|0; - $1 = sp + 136|0; - $2 = sp + 132|0; - $3 = sp + 128|0; - $4 = sp + 124|0; - $5 = sp + 120|0; - $6 = sp + 116|0; - $rc = sp + 112|0; - $flags = sp + 108|0; - $zVfs = sp + 104|0; - $zFile = sp + 100|0; - $c = sp + 144|0; - $nUri = sp + 96|0; - $zOpt = sp + 92|0; - $eState = sp + 88|0; - $iIn = sp + 84|0; - $iOut = sp + 80|0; - $nByte = sp; - $octet = sp + 76|0; - $nOpt = sp + 72|0; - $zVal = sp + 68|0; - $nVal = sp + 64|0; - $aMode = sp + 60|0; - $zModeType = sp + 56|0; - $mask = sp + 52|0; - $limit = sp + 48|0; - $i = sp + 44|0; - $mode = sp + 40|0; - $z = sp + 36|0; - HEAP32[$1>>2] = $zDefaultVfs; - HEAP32[$2>>2] = $zUri; - HEAP32[$3>>2] = $pFlags; - HEAP32[$4>>2] = $ppVfs; - HEAP32[$5>>2] = $pzFile; - HEAP32[$6>>2] = $pzErrMsg; - HEAP32[$rc>>2] = 0; - $7 = HEAP32[$3>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$flags>>2] = $8; - $9 = HEAP32[$1>>2]|0; - HEAP32[$zVfs>>2] = $9; - $10 = HEAP32[$2>>2]|0; - $11 = (_sqlite3Strlen30($10)|0); - HEAP32[$nUri>>2] = $11; - $12 = HEAP32[$flags>>2]|0; - $13 = $12 & 64; - $14 = ($13|0)!=(0); - $15 = HEAP32[(20)>>2]|0; - $16 = ($15|0)!=(0); - $or$cond = $14 | $16; - $17 = HEAP32[$nUri>>2]|0; - $18 = ($17|0)>=(5); - $or$cond3 = $or$cond & $18; - L1: do { - if ($or$cond3) { - $19 = HEAP32[$2>>2]|0; - $20 = (_memcmp($19,26023,5)|0); - $21 = ($20|0)==(0); - if ($21) { - HEAP32[$iOut>>2] = 0; - $22 = HEAP32[$nUri>>2]|0; - $23 = (($22) + 2)|0; - $24 = ($23|0)<(0); - $25 = $24 << 31 >> 31; - $26 = $nByte; - $27 = $26; - HEAP32[$27>>2] = $23; - $28 = (($26) + 4)|0; - $29 = $28; - HEAP32[$29>>2] = $25; - $30 = HEAP32[$flags>>2]|0; - $31 = $30 | 64; - HEAP32[$flags>>2] = $31; - HEAP32[$iIn>>2] = 0; - while(1) { - $32 = HEAP32[$iIn>>2]|0; - $33 = HEAP32[$nUri>>2]|0; - $34 = ($32|0)<($33|0); - if (!($34)) { - break; - } - $35 = HEAP32[$iIn>>2]|0; - $36 = HEAP32[$2>>2]|0; - $37 = (($36) + ($35)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38 << 24 >> 24; - $40 = ($39|0)==(38); - $41 = $40&1; - $42 = ($41|0)<(0); - $43 = $42 << 31 >> 31; - $44 = $nByte; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (_i64Add(($46|0),($49|0),($41|0),($43|0))|0); - $51 = tempRet0; - $52 = $nByte; - $53 = $52; - HEAP32[$53>>2] = $50; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = $51; - $56 = HEAP32[$iIn>>2]|0; - $57 = (($56) + 1)|0; - HEAP32[$iIn>>2] = $57; - } - $58 = $nByte; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (_sqlite3_malloc64($60,$63)|0); - HEAP32[$zFile>>2] = $64; - $65 = HEAP32[$zFile>>2]|0; - $66 = ($65|0)!=(0|0); - if (!($66)) { - HEAP32[$0>>2] = 7; - $386 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($386|0); - } - HEAP32[$iIn>>2] = 5; - $67 = HEAP32[$2>>2]|0; - $68 = ((($67)) + 5|0); - $69 = HEAP8[$68>>0]|0; - $70 = $69 << 24 >> 24; - $71 = ($70|0)==(47); - do { - if ($71) { - $72 = HEAP32[$2>>2]|0; - $73 = ((($72)) + 6|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74 << 24 >> 24; - $76 = ($75|0)==(47); - if ($76) { - HEAP32[$iIn>>2] = 7; - while(1) { - $77 = HEAP32[$iIn>>2]|0; - $78 = HEAP32[$2>>2]|0; - $79 = (($78) + ($77)|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80 << 24 >> 24; - $82 = ($81|0)!=(0); - if ($82) { - $83 = HEAP32[$iIn>>2]|0; - $84 = HEAP32[$2>>2]|0; - $85 = (($84) + ($83)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $86 << 24 >> 24; - $88 = ($87|0)!=(47); - $387 = $88; - } else { - $387 = 0; - } - $89 = HEAP32[$iIn>>2]|0; - if (!($387)) { - break; - } - $90 = (($89) + 1)|0; - HEAP32[$iIn>>2] = $90; - } - $91 = ($89|0)!=(7); - if ($91) { - $92 = HEAP32[$iIn>>2]|0; - $93 = ($92|0)!=(16); - if (!($93)) { - $94 = HEAP32[$2>>2]|0; - $95 = ((($94)) + 7|0); - $96 = (_memcmp(26029,$95,9)|0); - $97 = ($96|0)!=(0); - if (!($97)) { - break; - } - } - $98 = HEAP32[$iIn>>2]|0; - $99 = (($98) - 7)|0; - $100 = HEAP32[$2>>2]|0; - $101 = ((($100)) + 7|0); - HEAP32[$vararg_buffer>>2] = $99; - $vararg_ptr12 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $101; - $102 = (_sqlite3_mprintf(26039,$vararg_buffer)|0); - $103 = HEAP32[$6>>2]|0; - HEAP32[$103>>2] = $102; - HEAP32[$rc>>2] = 1; - break L1; - } + $156 = HEAP32[$5>>2]|0; + $157 = HEAP32[$10>>2]|0; + $158 = ($156>>>0)>=($157>>>0); + L31: do { + if (!($158)) { + $159 = HEAP32[$5>>2]|0; + $160 = HEAP8[$159>>0]|0; + $161 = $160 << 24 >> 24; + $162 = ($161|0)==(46); + L33: do { + if ($162) { + $163 = HEAP32[$9>>2]|0; + $164 = HEAP32[$5>>2]|0; + $165 = (($164) + ($163)|0); + HEAP32[$5>>2] = $165; + while(1) { + $166 = HEAP32[$5>>2]|0; + $167 = HEAP32[$10>>2]|0; + $168 = ($166>>>0)<($167>>>0); + if (!($168)) { + break L33; } - } - } while(0); - HEAP32[$eState>>2] = 0; - L27: while(1) { - $104 = HEAP32[$iIn>>2]|0; - $105 = HEAP32[$2>>2]|0; - $106 = (($105) + ($104)|0); - $107 = HEAP8[$106>>0]|0; - HEAP8[$c>>0] = $107; - $108 = $107 << 24 >> 24; - $109 = ($108|0)!=(0); - if (!($109)) { - break; - } - $110 = HEAP8[$c>>0]|0; - $111 = $110 << 24 >> 24; - $112 = ($111|0)!=(35); - if (!($112)) { - break; - } - $113 = HEAP32[$iIn>>2]|0; - $114 = (($113) + 1)|0; - HEAP32[$iIn>>2] = $114; - $115 = HEAP8[$c>>0]|0; - $116 = $115 << 24 >> 24; - $117 = ($116|0)==(37); - do { - if ($117) { - $118 = HEAP32[$iIn>>2]|0; - $119 = HEAP32[$2>>2]|0; - $120 = (($119) + ($118)|0); - $121 = HEAP8[$120>>0]|0; - $122 = $121&255; - $123 = (18403 + ($122)|0); - $124 = HEAP8[$123>>0]|0; - $125 = $124&255; - $126 = $125 & 8; - $127 = ($126|0)!=(0); - if ($127) { - $128 = HEAP32[$iIn>>2]|0; - $129 = (($128) + 1)|0; - $130 = HEAP32[$2>>2]|0; - $131 = (($130) + ($129)|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - $134 = (18403 + ($133)|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $137 = $136 & 8; - $138 = ($137|0)!=(0); - if ($138) { - $139 = HEAP32[$iIn>>2]|0; - $140 = (($139) + 1)|0; - HEAP32[$iIn>>2] = $140; - $141 = HEAP32[$2>>2]|0; - $142 = (($141) + ($139)|0); - $143 = HEAP8[$142>>0]|0; - $144 = $143 << 24 >> 24; - $145 = (_sqlite3HexToInt($144)|0); - $146 = $145&255; - $147 = $146 << 4; - HEAP32[$octet>>2] = $147; - $148 = HEAP32[$iIn>>2]|0; - $149 = (($148) + 1)|0; - HEAP32[$iIn>>2] = $149; - $150 = HEAP32[$2>>2]|0; - $151 = (($150) + ($148)|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152 << 24 >> 24; - $154 = (_sqlite3HexToInt($153)|0); - $155 = $154&255; - $156 = HEAP32[$octet>>2]|0; - $157 = (($156) + ($155))|0; - HEAP32[$octet>>2] = $157; - $158 = HEAP32[$octet>>2]|0; - $159 = ($158|0)==(0); - if (!($159)) { - $189 = HEAP32[$octet>>2]|0; - $190 = $189&255; - HEAP8[$c>>0] = $190; - break; - } - while(1) { - $160 = HEAP32[$iIn>>2]|0; - $161 = HEAP32[$2>>2]|0; - $162 = (($161) + ($160)|0); - $163 = HEAP8[$162>>0]|0; - HEAP8[$c>>0] = $163; - $164 = $163 << 24 >> 24; - $165 = ($164|0)!=(0); - if (!($165)) { - continue L27; - } - $166 = HEAP8[$c>>0]|0; - $167 = $166 << 24 >> 24; - $168 = ($167|0)!=(35); - if (!($168)) { - continue L27; - } - $169 = HEAP32[$eState>>2]|0; - $170 = ($169|0)!=(0); - if (!($170)) { - $171 = HEAP8[$c>>0]|0; - $172 = $171 << 24 >> 24; - $173 = ($172|0)!=(63); - if (!($173)) { - continue L27; - } - } - $174 = HEAP32[$eState>>2]|0; - $175 = ($174|0)!=(1); - if (!($175)) { - $176 = HEAP8[$c>>0]|0; - $177 = $176 << 24 >> 24; - $178 = ($177|0)!=(61); - if (!($178)) { - continue L27; - } - $179 = HEAP8[$c>>0]|0; - $180 = $179 << 24 >> 24; - $181 = ($180|0)!=(38); - if (!($181)) { - continue L27; - } - } - $182 = HEAP32[$eState>>2]|0; - $183 = ($182|0)!=(2); - if (!($183)) { - $184 = HEAP8[$c>>0]|0; - $185 = $184 << 24 >> 24; - $186 = ($185|0)!=(38); - if (!($186)) { - continue L27; - } - } - $187 = HEAP32[$iIn>>2]|0; - $188 = (($187) + 1)|0; - HEAP32[$iIn>>2] = $188; - } - } else { - label = 37; - } - } else { - label = 37; - } - } else { - label = 37; + $169 = HEAP32[$5>>2]|0; + $170 = HEAP8[$169>>0]|0; + $171 = $170&255; + $172 = (20063 + ($171)|0); + $173 = HEAP8[$172>>0]|0; + $174 = $173&255; + $175 = $174 & 4; + $176 = ($175|0)!=(0); + if (!($176)) { + break L33; } - } while(0); - L51: do { - if ((label|0) == 37) { - label = 0; - $191 = HEAP32[$eState>>2]|0; - $192 = ($191|0)==(1); - do { - if ($192) { - $193 = HEAP8[$c>>0]|0; - $194 = $193 << 24 >> 24; - $195 = ($194|0)==(38); - if (!($195)) { - $196 = HEAP8[$c>>0]|0; - $197 = $196 << 24 >> 24; - $198 = ($197|0)==(61); - if (!($198)) { - break; - } - } - $199 = HEAP32[$iOut>>2]|0; - $200 = (($199) - 1)|0; - $201 = HEAP32[$zFile>>2]|0; - $202 = (($201) + ($200)|0); - $203 = HEAP8[$202>>0]|0; - $204 = $203 << 24 >> 24; - $205 = ($204|0)==(0); - if ($205) { - while(1) { - $206 = HEAP32[$iIn>>2]|0; - $207 = HEAP32[$2>>2]|0; - $208 = (($207) + ($206)|0); - $209 = HEAP8[$208>>0]|0; - $210 = $209 << 24 >> 24; - $211 = ($210|0)!=(0); - if (!($211)) { - continue L27; - } - $212 = HEAP32[$iIn>>2]|0; - $213 = HEAP32[$2>>2]|0; - $214 = (($213) + ($212)|0); - $215 = HEAP8[$214>>0]|0; - $216 = $215 << 24 >> 24; - $217 = ($216|0)!=(35); - if (!($217)) { - continue L27; - } - $218 = HEAP32[$iIn>>2]|0; - $219 = (($218) - 1)|0; - $220 = HEAP32[$2>>2]|0; - $221 = (($220) + ($219)|0); - $222 = HEAP8[$221>>0]|0; - $223 = $222 << 24 >> 24; - $224 = ($223|0)!=(38); - if (!($224)) { - continue L27; - } - $225 = HEAP32[$iIn>>2]|0; - $226 = (($225) + 1)|0; - HEAP32[$iIn>>2] = $226; - } - } else { - $227 = HEAP8[$c>>0]|0; - $228 = $227 << 24 >> 24; - $229 = ($228|0)==(38); - if ($229) { - $230 = HEAP32[$iOut>>2]|0; - $231 = (($230) + 1)|0; - HEAP32[$iOut>>2] = $231; - $232 = HEAP32[$zFile>>2]|0; - $233 = (($232) + ($230)|0); - HEAP8[$233>>0] = 0; - } else { - HEAP32[$eState>>2] = 2; - } - HEAP8[$c>>0] = 0; - break L51; - } - } - } while(0); - $234 = HEAP32[$eState>>2]|0; - $235 = ($234|0)==(0); - if ($235) { - $236 = HEAP8[$c>>0]|0; - $237 = $236 << 24 >> 24; - $238 = ($237|0)==(63); - if (!($238)) { - label = 51; - } - } else { - label = 51; - } - if ((label|0) == 51) { - label = 0; - $239 = HEAP32[$eState>>2]|0; - $240 = ($239|0)==(2); - if (!($240)) { - break; - } - $241 = HEAP8[$c>>0]|0; - $242 = $241 << 24 >> 24; - $243 = ($242|0)==(38); - if (!($243)) { - break; - } - } - HEAP8[$c>>0] = 0; - HEAP32[$eState>>2] = 1; + $177 = $12; + $178 = $177; + $179 = HEAP32[$178>>2]|0; + $180 = (($177) + 4)|0; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = ($182|0)<(214748364); + $184 = ($179>>>0)<(3435973835); + $185 = ($182|0)==(214748364); + $186 = $185 & $184; + $187 = $183 | $186; + if ($187) { + $188 = $12; + $189 = $188; + $190 = HEAP32[$189>>2]|0; + $191 = (($188) + 4)|0; + $192 = $191; + $193 = HEAP32[$192>>2]|0; + $194 = (___muldi3(($190|0),($193|0),10,0)|0); + $195 = tempRet0; + $196 = HEAP32[$5>>2]|0; + $197 = HEAP8[$196>>0]|0; + $198 = $197 << 24 >> 24; + $199 = (($198) - 48)|0; + $200 = ($199|0)<(0); + $201 = $200 << 31 >> 31; + $202 = (_i64Add(($194|0),($195|0),($199|0),($201|0))|0); + $203 = tempRet0; + $204 = $12; + $205 = $204; + HEAP32[$205>>2] = $202; + $206 = (($204) + 4)|0; + $207 = $206; + HEAP32[$207>>2] = $203; + $208 = HEAP32[$13>>2]|0; + $209 = (($208) + -1)|0; + HEAP32[$13>>2] = $209; } - } while(0); - $244 = HEAP8[$c>>0]|0; - $245 = HEAP32[$iOut>>2]|0; - $246 = (($245) + 1)|0; - HEAP32[$iOut>>2] = $246; - $247 = HEAP32[$zFile>>2]|0; - $248 = (($247) + ($245)|0); - HEAP8[$248>>0] = $244; - } - $249 = HEAP32[$eState>>2]|0; - $250 = ($249|0)==(1); - if ($250) { - $251 = HEAP32[$iOut>>2]|0; - $252 = (($251) + 1)|0; - HEAP32[$iOut>>2] = $252; - $253 = HEAP32[$zFile>>2]|0; - $254 = (($253) + ($251)|0); - HEAP8[$254>>0] = 0; - } - $255 = HEAP32[$iOut>>2]|0; - $256 = (($255) + 1)|0; - HEAP32[$iOut>>2] = $256; - $257 = HEAP32[$zFile>>2]|0; - $258 = (($257) + ($255)|0); - HEAP8[$258>>0] = 0; - $259 = HEAP32[$iOut>>2]|0; - $260 = (($259) + 1)|0; - HEAP32[$iOut>>2] = $260; - $261 = HEAP32[$zFile>>2]|0; - $262 = (($261) + ($259)|0); - HEAP8[$262>>0] = 0; - $263 = HEAP32[$zFile>>2]|0; - $264 = (_sqlite3Strlen30($263)|0); - $265 = (($264) + 1)|0; - $266 = HEAP32[$zFile>>2]|0; - $267 = (($266) + ($265)|0); - HEAP32[$zOpt>>2] = $267; - while(1) { - $268 = HEAP32[$zOpt>>2]|0; - $269 = HEAP8[$268>>0]|0; - $270 = ($269<<24>>24)!=(0); - if (!($270)) { - label = 84; - break L1; + $210 = HEAP32[$9>>2]|0; + $211 = HEAP32[$5>>2]|0; + $212 = (($211) + ($210)|0); + HEAP32[$5>>2] = $212; + $213 = HEAP32[$18>>2]|0; + $214 = (($213) + 1)|0; + HEAP32[$18>>2] = $214; } - $271 = HEAP32[$zOpt>>2]|0; - $272 = (_sqlite3Strlen30($271)|0); - HEAP32[$nOpt>>2] = $272; - $273 = HEAP32[$nOpt>>2]|0; - $274 = (($273) + 1)|0; - $275 = HEAP32[$zOpt>>2]|0; - $276 = (($275) + ($274)|0); - HEAP32[$zVal>>2] = $276; - $277 = HEAP32[$zVal>>2]|0; - $278 = (_sqlite3Strlen30($277)|0); - HEAP32[$nVal>>2] = $278; - $279 = HEAP32[$nOpt>>2]|0; - $280 = ($279|0)==(3); - if ($280) { - $281 = HEAP32[$zOpt>>2]|0; - $282 = (_memcmp(26067,$281,3)|0); - $283 = ($282|0)==(0); - if ($283) { - $284 = HEAP32[$zVal>>2]|0; - HEAP32[$zVfs>>2] = $284; - } else { - label = 62; - } - } else { - label = 62; + } + } while(0); + $215 = HEAP32[$5>>2]|0; + $216 = HEAP32[$10>>2]|0; + $217 = ($215>>>0)>=($216>>>0); + if (!($217)) { + $218 = HEAP32[$5>>2]|0; + $219 = HEAP8[$218>>0]|0; + $220 = $219 << 24 >> 24; + $221 = ($220|0)==(101); + if ($221) { + label = 34; + } else { + $222 = HEAP32[$5>>2]|0; + $223 = HEAP8[$222>>0]|0; + $224 = $223 << 24 >> 24; + $225 = ($224|0)==(69); + if ($225) { + label = 34; } - if ((label|0) == 62) { - label = 0; - HEAP32[$aMode>>2] = 0; - HEAP32[$zModeType>>2] = 0; - HEAP32[$mask>>2] = 0; - HEAP32[$limit>>2] = 0; - $285 = HEAP32[$nOpt>>2]|0; - $286 = ($285|0)==(5); - if ($286) { - $287 = HEAP32[$zOpt>>2]|0; - $288 = (_memcmp(26071,$287,5)|0); - $289 = ($288|0)==(0); - if ($289) { - HEAP32[$mask>>2] = 393216; - HEAP32[$aMode>>2] = 4104; - $290 = HEAP32[$mask>>2]|0; - HEAP32[$limit>>2] = $290; - HEAP32[$zModeType>>2] = 26071; - } + } + L46: do { + if ((label|0) == 34) { + $226 = HEAP32[$9>>2]|0; + $227 = HEAP32[$5>>2]|0; + $228 = (($227) + ($226)|0); + HEAP32[$5>>2] = $228; + HEAP32[$16>>2] = 0; + $229 = HEAP32[$5>>2]|0; + $230 = HEAP32[$10>>2]|0; + $231 = ($229>>>0)>=($230>>>0); + if ($231) { + break L31; } - $291 = HEAP32[$nOpt>>2]|0; - $292 = ($291|0)==(4); - if ($292) { - $293 = HEAP32[$zOpt>>2]|0; - $294 = (_memcmp(26077,$293,4)|0); - $295 = ($294|0)==(0); - if ($295) { - HEAP32[$mask>>2] = 135; - HEAP32[$aMode>>2] = 4128; - $296 = HEAP32[$mask>>2]|0; - $297 = HEAP32[$flags>>2]|0; - $298 = $296 & $297; - HEAP32[$limit>>2] = $298; - HEAP32[$zModeType>>2] = 26082; + $232 = HEAP32[$5>>2]|0; + $233 = HEAP8[$232>>0]|0; + $234 = $233 << 24 >> 24; + $235 = ($234|0)==(45); + if ($235) { + HEAP32[$14>>2] = -1; + $236 = HEAP32[$9>>2]|0; + $237 = HEAP32[$5>>2]|0; + $238 = (($237) + ($236)|0); + HEAP32[$5>>2] = $238; + } else { + $239 = HEAP32[$5>>2]|0; + $240 = HEAP8[$239>>0]|0; + $241 = $240 << 24 >> 24; + $242 = ($241|0)==(43); + if ($242) { + $243 = HEAP32[$9>>2]|0; + $244 = HEAP32[$5>>2]|0; + $245 = (($244) + ($243)|0); + HEAP32[$5>>2] = $245; } } - $299 = HEAP32[$aMode>>2]|0; - $300 = ($299|0)!=(0|0); - if ($300) { - HEAP32[$mode>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $301 = HEAP32[$i>>2]|0; - $302 = HEAP32[$aMode>>2]|0; - $303 = (($302) + ($301<<3)|0); - $304 = HEAP32[$303>>2]|0; - $305 = ($304|0)!=(0|0); - if (!($305)) { - break; - } - $306 = HEAP32[$i>>2]|0; - $307 = HEAP32[$aMode>>2]|0; - $308 = (($307) + ($306<<3)|0); - $309 = HEAP32[$308>>2]|0; - HEAP32[$z>>2] = $309; - $310 = HEAP32[$nVal>>2]|0; - $311 = HEAP32[$z>>2]|0; - $312 = (_sqlite3Strlen30($311)|0); - $313 = ($310|0)==($312|0); - if ($313) { - $314 = HEAP32[$zVal>>2]|0; - $315 = HEAP32[$z>>2]|0; - $316 = HEAP32[$nVal>>2]|0; - $317 = (_memcmp($314,$315,$316)|0); - $318 = (0)==($317|0); - if ($318) { - label = 73; - break; - } - } - $324 = HEAP32[$i>>2]|0; - $325 = (($324) + 1)|0; - HEAP32[$i>>2] = $325; - } - if ((label|0) == 73) { - label = 0; - $319 = HEAP32[$i>>2]|0; - $320 = HEAP32[$aMode>>2]|0; - $321 = (($320) + ($319<<3)|0); - $322 = ((($321)) + 4|0); - $323 = HEAP32[$322>>2]|0; - HEAP32[$mode>>2] = $323; + while(1) { + $246 = HEAP32[$5>>2]|0; + $247 = HEAP32[$10>>2]|0; + $248 = ($246>>>0)<($247>>>0); + if (!($248)) { + break L46; } - $326 = HEAP32[$mode>>2]|0; - $327 = ($326|0)==(0); - if ($327) { - label = 76; - break; + $249 = HEAP32[$5>>2]|0; + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = (20063 + ($251)|0); + $253 = HEAP8[$252>>0]|0; + $254 = $253&255; + $255 = $254 & 4; + $256 = ($255|0)!=(0); + if (!($256)) { + break L46; } - $332 = HEAP32[$mode>>2]|0; - $333 = $332 & -129; - $334 = HEAP32[$limit>>2]|0; - $335 = ($333|0)>($334|0); - if ($335) { - label = 78; - break; + $257 = HEAP32[$15>>2]|0; + $258 = ($257|0)<(10000); + if ($258) { + $259 = HEAP32[$15>>2]|0; + $260 = ($259*10)|0; + $261 = HEAP32[$5>>2]|0; + $262 = HEAP8[$261>>0]|0; + $263 = $262 << 24 >> 24; + $264 = (($263) - 48)|0; + $265 = (($260) + ($264))|0; + $266 = $265; + } else { + $266 = 10000; } - $340 = HEAP32[$flags>>2]|0; - $341 = HEAP32[$mask>>2]|0; - $342 = $341 ^ -1; - $343 = $340 & $342; - $344 = HEAP32[$mode>>2]|0; - $345 = $343 | $344; - HEAP32[$flags>>2] = $345; + HEAP32[$15>>2] = $266; + $267 = HEAP32[$9>>2]|0; + $268 = HEAP32[$5>>2]|0; + $269 = (($268) + ($267)|0); + HEAP32[$5>>2] = $269; + HEAP32[$16>>2] = 1; } } - $346 = HEAP32[$nVal>>2]|0; - $347 = (($346) + 1)|0; - $348 = HEAP32[$zVal>>2]|0; - $349 = (($348) + ($347)|0); - HEAP32[$zOpt>>2] = $349; - } - if ((label|0) == 76) { - $328 = HEAP32[$zModeType>>2]|0; - $329 = HEAP32[$zVal>>2]|0; - HEAP32[$vararg_buffer13>>2] = $328; - $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); - HEAP32[$vararg_ptr16>>2] = $329; - $330 = (_sqlite3_mprintf(26089,$vararg_buffer13)|0); - $331 = HEAP32[$6>>2]|0; - HEAP32[$331>>2] = $330; - HEAP32[$rc>>2] = 1; - break; - } - else if ((label|0) == 78) { - $336 = HEAP32[$zModeType>>2]|0; - $337 = HEAP32[$zVal>>2]|0; - HEAP32[$vararg_buffer17>>2] = $336; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $337; - $338 = (_sqlite3_mprintf(26109,$vararg_buffer17)|0); - $339 = HEAP32[$6>>2]|0; - HEAP32[$339>>2] = $338; - HEAP32[$rc>>2] = 3; - break; + } while(0); + while(1) { + $270 = HEAP32[$5>>2]|0; + $271 = HEAP32[$10>>2]|0; + $272 = ($270>>>0)<($271>>>0); + if (!($272)) { + break L31; + } + $273 = HEAP32[$5>>2]|0; + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $276 = (20063 + ($275)|0); + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $279 = $278 & 1; + $280 = ($279|0)!=(0); + if (!($280)) { + break L31; + } + $281 = HEAP32[$9>>2]|0; + $282 = HEAP32[$5>>2]|0; + $283 = (($282) + ($281)|0); + HEAP32[$5>>2] = $283; } - } else { - label = 81; } - } else { - label = 81; } } while(0); + $284 = HEAP32[$15>>2]|0; + $285 = HEAP32[$14>>2]|0; + $286 = Math_imul($284, $285)|0; + $287 = HEAP32[$13>>2]|0; + $288 = (($286) + ($287))|0; + HEAP32[$15>>2] = $288; + $289 = HEAP32[$15>>2]|0; + $290 = ($289|0)<(0); + if ($290) { + HEAP32[$14>>2] = -1; + $291 = HEAP32[$15>>2]|0; + $292 = Math_imul($291, -1)|0; + HEAP32[$15>>2] = $292; + } else { + HEAP32[$14>>2] = 1; + } + $293 = $12; + $294 = $293; + $295 = HEAP32[$294>>2]|0; + $296 = (($293) + 4)|0; + $297 = $296; + $298 = HEAP32[$297>>2]|0; + $299 = ($295|0)==(0); + $300 = ($298|0)==(0); + $301 = $299 & $300; do { - if ((label|0) == 81) { - $350 = HEAP32[$nUri>>2]|0; - $351 = (($350) + 2)|0; - $352 = ($351|0)<(0); - $353 = $352 << 31 >> 31; - $354 = (_sqlite3_malloc64($351,$353)|0); - HEAP32[$zFile>>2] = $354; - $355 = HEAP32[$zFile>>2]|0; - $356 = ($355|0)!=(0|0); - if ($356) { - $357 = HEAP32[$zFile>>2]|0; - $358 = HEAP32[$2>>2]|0; - $359 = HEAP32[$nUri>>2]|0; - _memcpy(($357|0),($358|0),($359|0))|0; - $360 = HEAP32[$nUri>>2]|0; - $361 = HEAP32[$zFile>>2]|0; - $362 = (($361) + ($360)|0); - HEAP8[$362>>0] = 0; - $363 = HEAP32[$nUri>>2]|0; - $364 = (($363) + 1)|0; - $365 = HEAP32[$zFile>>2]|0; - $366 = (($365) + ($364)|0); - HEAP8[$366>>0] = 0; - $367 = HEAP32[$flags>>2]|0; - $368 = $367 & -65; - HEAP32[$flags>>2] = $368; - label = 84; - break; + if ($301) { + $302 = HEAP32[$11>>2]|0; + $303 = ($302|0)<(0); + $304 = $303 ? -0.0 : 0.0; + HEAPF64[$17>>3] = $304; + } else { + while(1) { + $305 = HEAP32[$15>>2]|0; + $306 = ($305|0)>(0); + if (!($306)) { + break; + } + $307 = HEAP32[$14>>2]|0; + $308 = ($307|0)>(0); + $309 = $12; + $310 = $309; + $311 = HEAP32[$310>>2]|0; + $312 = (($309) + 4)|0; + $313 = $312; + $314 = HEAP32[$313>>2]|0; + if ($308) { + $315 = ($314|0)>(214748364); + $316 = ($311>>>0)>=(3435973836); + $317 = ($314|0)==(214748364); + $318 = $317 & $316; + $319 = $315 | $318; + if ($319) { + break; + } + $320 = $12; + $321 = $320; + $322 = HEAP32[$321>>2]|0; + $323 = (($320) + 4)|0; + $324 = $323; + $325 = HEAP32[$324>>2]|0; + $326 = (___muldi3(($322|0),($325|0),10,0)|0); + $327 = tempRet0; + $328 = $12; + $329 = $328; + HEAP32[$329>>2] = $326; + $330 = (($328) + 4)|0; + $331 = $330; + HEAP32[$331>>2] = $327; + } else { + $332 = (___remdi3(($311|0),($314|0),10,0)|0); + $333 = tempRet0; + $334 = ($332|0)!=(0); + $335 = ($333|0)!=(0); + $336 = $334 | $335; + if ($336) { + break; + } + $337 = $12; + $338 = $337; + $339 = HEAP32[$338>>2]|0; + $340 = (($337) + 4)|0; + $341 = $340; + $342 = HEAP32[$341>>2]|0; + $343 = (___divdi3(($339|0),($342|0),10,0)|0); + $344 = tempRet0; + $345 = $12; + $346 = $345; + HEAP32[$346>>2] = $343; + $347 = (($345) + 4)|0; + $348 = $347; + HEAP32[$348>>2] = $344; + } + $349 = HEAP32[$15>>2]|0; + $350 = (($349) + -1)|0; + HEAP32[$15>>2] = $350; } - HEAP32[$0>>2] = 7; - $386 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($386|0); - } - } while(0); - if ((label|0) == 84) { - $369 = HEAP32[$zVfs>>2]|0; - $370 = (_sqlite3_vfs_find($369)|0); - $371 = HEAP32[$4>>2]|0; - HEAP32[$371>>2] = $370; - $372 = HEAP32[$4>>2]|0; - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)==(0|0); - if ($374) { - $375 = HEAP32[$zVfs>>2]|0; - HEAP32[$vararg_buffer21>>2] = $375; - $376 = (_sqlite3_mprintf(26133,$vararg_buffer21)|0); - $377 = HEAP32[$6>>2]|0; - HEAP32[$377>>2] = $376; - HEAP32[$rc>>2] = 1; - } - } - $378 = HEAP32[$rc>>2]|0; - $379 = ($378|0)!=(0); - if ($379) { - $380 = HEAP32[$zFile>>2]|0; - _sqlite3_free($380); - HEAP32[$zFile>>2] = 0; - } - $381 = HEAP32[$flags>>2]|0; - $382 = HEAP32[$3>>2]|0; - HEAP32[$382>>2] = $381; - $383 = HEAP32[$zFile>>2]|0; - $384 = HEAP32[$5>>2]|0; - HEAP32[$384>>2] = $383; - $385 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $385; - $386 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($386|0); -} -function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { - $pVfs = $pVfs|0; - $zFilename = $zFilename|0; - $db = $db|0; - $ppBtree = $ppBtree|0; - $flags = $flags|0; - $vfsFlags = $vfsFlags|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $i = 0, $iDb = 0, $isMemdb = 0, $isTempDb = 0, $mutexOpen = 0, $nFilename = 0, $nFullPathname = 0, $nReserve = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pBt = 0, $pExisting = 0, $pSib = 0, $rc = 0, $zDbHeader = 0, $zFullPathname = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = sp + 60|0; - $5 = sp + 56|0; - $6 = sp + 52|0; - $pBt = sp + 48|0; - $p = sp + 44|0; - $mutexOpen = sp + 40|0; - $rc = sp + 36|0; - $nReserve = sp + 180|0; - $zDbHeader = sp + 80|0; - $isTempDb = sp + 32|0; - $isMemdb = sp + 28|0; - $nFilename = sp + 24|0; - $nFullPathname = sp + 20|0; - $zFullPathname = sp + 16|0; - $iDb = sp + 12|0; - $pExisting = sp + 8|0; - $i = sp + 4|0; - $pSib = sp; - HEAP32[$1>>2] = $pVfs; - HEAP32[$2>>2] = $zFilename; - HEAP32[$3>>2] = $db; - HEAP32[$4>>2] = $ppBtree; - HEAP32[$5>>2] = $flags; - HEAP32[$6>>2] = $vfsFlags; - HEAP32[$pBt>>2] = 0; - HEAP32[$mutexOpen>>2] = 0; - HEAP32[$rc>>2] = 0; - $7 = HEAP32[$2>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $14 = 1; - } else { - $9 = HEAP32[$2>>2]|0; - $10 = HEAP8[$9>>0]|0; - $11 = $10 << 24 >> 24; - $12 = ($11|0)==(0); - $14 = $12; - } - $13 = $14&1; - HEAP32[$isTempDb>>2] = $13; - $15 = HEAP32[$2>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$2>>2]|0; - $18 = (_strcmp($17,25837)|0); - $19 = ($18|0)==(0); - if ($19) { - $29 = 1; - } else { - label = 5; - } - } else { - label = 5; - } - do { - if ((label|0) == 5) { - $20 = HEAP32[$isTempDb>>2]|0; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$3>>2]|0; - $23 = (_sqlite3TempInMemory($22)|0); - $24 = ($23|0)!=(0); - if ($24) { - $29 = 1; - break; - } - } - $25 = HEAP32[$6>>2]|0; - $26 = $25 & 128; - $27 = ($26|0)!=(0); - $29 = $27; - } - } while(0); - $28 = $29&1; - HEAP32[$isMemdb>>2] = $28; - $30 = HEAP32[$isMemdb>>2]|0; - $31 = ($30|0)!=(0); - if ($31) { - $32 = HEAP32[$5>>2]|0; - $33 = $32 | 2; - HEAP32[$5>>2] = $33; - } - $34 = HEAP32[$6>>2]|0; - $35 = $34 & 256; - $36 = ($35|0)!=(0); - if ($36) { - $37 = HEAP32[$isMemdb>>2]|0; - $38 = ($37|0)!=(0); - $39 = HEAP32[$isTempDb>>2]|0; - $40 = ($39|0)!=(0); - $or$cond = $38 | $40; - if ($or$cond) { - $41 = HEAP32[$6>>2]|0; - $42 = $41 & -257; - $43 = $42 | 512; - HEAP32[$6>>2] = $43; - } - } - $44 = (_sqlite3MallocZero(48,0)|0); - HEAP32[$p>>2] = $44; - $45 = HEAP32[$p>>2]|0; - $46 = ($45|0)!=(0|0); - if (!($46)) { - HEAP32[$0>>2] = 7; - $399 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($399|0); - } - $47 = HEAP32[$p>>2]|0; - $48 = ((($47)) + 8|0); - HEAP8[$48>>0] = 0; - $49 = HEAP32[$3>>2]|0; - $50 = HEAP32[$p>>2]|0; - HEAP32[$50>>2] = $49; - $51 = HEAP32[$p>>2]|0; - $52 = HEAP32[$p>>2]|0; - $53 = ((($52)) + 32|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$p>>2]|0; - $55 = ((($54)) + 32|0); - $56 = ((($55)) + 4|0); - HEAP32[$56>>2] = 1; - $57 = HEAP32[$isTempDb>>2]|0; - $58 = ($57|0)==(0); - do { - if ($58) { - $59 = HEAP32[$isMemdb>>2]|0; - $60 = ($59|0)==(0); - if (!($60)) { - $61 = HEAP32[$6>>2]|0; - $62 = $61 & 64; - $63 = ($62|0)!=(0); - if (!($63)) { - break; - } + $351 = HEAP32[$11>>2]|0; + $352 = ($351|0)<(0); + $353 = $12; + $354 = $353; + $355 = HEAP32[$354>>2]|0; + $356 = (($353) + 4)|0; + $357 = $356; + $358 = HEAP32[$357>>2]|0; + $359 = (_i64Subtract(0,0,($355|0),($358|0))|0); + $360 = tempRet0; + $361 = $352 ? $359 : $355; + $362 = $352 ? $360 : $358; + $363 = $12; + $364 = $363; + HEAP32[$364>>2] = $361; + $365 = (($363) + 4)|0; + $366 = $365; + HEAP32[$366>>2] = $362; + $367 = HEAP32[$15>>2]|0; + $368 = ($367|0)==(0); + if ($368) { + $369 = $12; + $370 = $369; + $371 = HEAP32[$370>>2]|0; + $372 = (($369) + 4)|0; + $373 = $372; + $374 = HEAP32[$373>>2]|0; + $375 = (+($371>>>0)) + (4294967296.0*(+($374|0))); + HEAPF64[$17>>3] = $375; + break; } - $64 = HEAP32[$6>>2]|0; - $65 = $64 & 131072; - $66 = ($65|0)!=(0); - if ($66) { - $67 = HEAP32[$2>>2]|0; - $68 = (_sqlite3Strlen30($67)|0); - $69 = (($68) + 1)|0; - HEAP32[$nFilename>>2] = $69; - $70 = HEAP32[$1>>2]|0; - $71 = ((($70)) + 8|0); - $72 = HEAP32[$71>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$nFullPathname>>2] = $73; - $74 = HEAP32[$nFullPathname>>2]|0; - $75 = HEAP32[$nFilename>>2]|0; - $76 = ($74|0)>($75|0); - $77 = HEAP32[$nFullPathname>>2]|0; - $78 = HEAP32[$nFilename>>2]|0; - $79 = $76 ? $77 : $78; - $80 = ($79|0)<(0); - $81 = $80 << 31 >> 31; - $82 = (_sqlite3Malloc($79,$81)|0); - HEAP32[$zFullPathname>>2] = $82; - $83 = HEAP32[$p>>2]|0; - $84 = ((($83)) + 9|0); - HEAP8[$84>>0] = 1; - $85 = HEAP32[$zFullPathname>>2]|0; - $86 = ($85|0)!=(0|0); - if (!($86)) { - $87 = HEAP32[$p>>2]|0; - _sqlite3_free($87); - HEAP32[$0>>2] = 7; - $399 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($399|0); - } - $88 = HEAP32[$isMemdb>>2]|0; - $89 = ($88|0)!=(0); - if ($89) { - $90 = HEAP32[$zFullPathname>>2]|0; - $91 = HEAP32[$2>>2]|0; - $92 = HEAP32[$nFilename>>2]|0; - _memcpy(($90|0),($91|0),($92|0))|0; - } else { - $93 = HEAP32[$1>>2]|0; - $94 = HEAP32[$2>>2]|0; - $95 = HEAP32[$nFullPathname>>2]|0; - $96 = HEAP32[$zFullPathname>>2]|0; - $97 = (_sqlite3OsFullPathname($93,$94,$95,$96)|0); - HEAP32[$rc>>2] = $97; - $98 = HEAP32[$rc>>2]|0; - $99 = ($98|0)!=(0); - if ($99) { - $100 = HEAP32[$zFullPathname>>2]|0; - _sqlite3_free($100); - $101 = HEAP32[$p>>2]|0; - _sqlite3_free($101); - $102 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $102; - $399 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($399|0); - } - } - $103 = HEAP32[4024>>2]|0; - HEAP32[$pBt>>2] = $103; + HEAPF64[$21>>3] = 1.0; + $376 = HEAP32[$15>>2]|0; + $377 = ($376|0)>(307); + if (!($377)) { while(1) { - $104 = HEAP32[$pBt>>2]|0; - $105 = ($104|0)!=(0|0); - if (!($105)) { + $414 = HEAP32[$15>>2]|0; + $415 = (($414|0) % 22)&-1; + $416 = ($415|0)!=(0); + if (!($416)) { break; } - $106 = HEAP32[$zFullPathname>>2]|0; - $107 = HEAP32[$pBt>>2]|0; - $108 = HEAP32[$107>>2]|0; - $109 = (_sqlite3PagerFilename($108,0)|0); - $110 = (_strcmp($106,$109)|0); - $111 = (0)==($110|0); - if ($111) { - $112 = HEAP32[$pBt>>2]|0; - $113 = HEAP32[$112>>2]|0; - $114 = (_sqlite3PagerVfs($113)|0); - $115 = HEAP32[$1>>2]|0; - $116 = ($114|0)==($115|0); - if ($116) { - label = 29; - break; - } - } - $148 = HEAP32[$pBt>>2]|0; - $149 = ((($148)) + 68|0); - $150 = HEAP32[$149>>2]|0; - HEAP32[$pBt>>2] = $150; + $417 = +HEAPF64[$21>>3]; + $418 = $417 * 10.0; + HEAPF64[$21>>3] = $418; + $419 = HEAP32[$15>>2]|0; + $420 = (($419) - 1)|0; + HEAP32[$15>>2] = $420; } - do { - if ((label|0) == 29) { - $117 = HEAP32[$3>>2]|0; - $118 = ((($117)) + 20|0); - $119 = HEAP32[$118>>2]|0; - $120 = (($119) - 1)|0; - HEAP32[$iDb>>2] = $120; - while(1) { - $121 = HEAP32[$iDb>>2]|0; - $122 = ($121|0)>=(0); - if (!($122)) { - label = 35; - break; - } - $123 = HEAP32[$iDb>>2]|0; - $124 = HEAP32[$3>>2]|0; - $125 = ((($124)) + 16|0); - $126 = HEAP32[$125>>2]|0; - $127 = (($126) + ($123<<4)|0); - $128 = ((($127)) + 4|0); - $129 = HEAP32[$128>>2]|0; - HEAP32[$pExisting>>2] = $129; - $130 = HEAP32[$pExisting>>2]|0; - $131 = ($130|0)!=(0|0); - if ($131) { - $132 = HEAP32[$pExisting>>2]|0; - $133 = ((($132)) + 4|0); - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$pBt>>2]|0; - $136 = ($134|0)==($135|0); - if ($136) { - break; - } - } - $139 = HEAP32[$iDb>>2]|0; - $140 = (($139) + -1)|0; - HEAP32[$iDb>>2] = $140; - } - if ((label|0) == 35) { - $141 = HEAP32[$pBt>>2]|0; - $142 = HEAP32[$p>>2]|0; - $143 = ((($142)) + 4|0); - HEAP32[$143>>2] = $141; - $144 = HEAP32[$pBt>>2]|0; - $145 = ((($144)) + 64|0); - $146 = HEAP32[$145>>2]|0; - $147 = (($146) + 1)|0; - HEAP32[$145>>2] = $147; - break; - } - $137 = HEAP32[$zFullPathname>>2]|0; - _sqlite3_free($137); - $138 = HEAP32[$p>>2]|0; - _sqlite3_free($138); - HEAP32[$0>>2] = 19; - $399 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($399|0); + while(1) { + $421 = HEAP32[$15>>2]|0; + $422 = ($421|0)>(0); + if (!($422)) { + break; } - } while(0); - $151 = HEAP32[$zFullPathname>>2]|0; - _sqlite3_free($151); - } - } - } while(0); - $152 = HEAP32[$pBt>>2]|0; - $153 = ($152|0)==(0|0); - do { - if ($153) { - $154 = (_sqlite3MallocZero(84,0)|0); - HEAP32[$pBt>>2] = $154; - $155 = HEAP32[$pBt>>2]|0; - $156 = ($155|0)==(0|0); - if ($156) { - HEAP32[$rc>>2] = 7; - break; - } - $157 = HEAP32[$1>>2]|0; - $158 = HEAP32[$pBt>>2]|0; - $159 = HEAP32[$2>>2]|0; - $160 = HEAP32[$5>>2]|0; - $161 = HEAP32[$6>>2]|0; - $162 = (_sqlite3PagerOpen($157,$158,$159,88,$160,$161,149)|0); - HEAP32[$rc>>2] = $162; - $163 = HEAP32[$rc>>2]|0; - $164 = ($163|0)==(0); - if ($164) { - $165 = HEAP32[$pBt>>2]|0; - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[$3>>2]|0; - $168 = ((($167)) + 40|0); - $169 = $168; - $170 = $169; - $171 = HEAP32[$170>>2]|0; - $172 = (($169) + 4)|0; - $173 = $172; - $174 = HEAP32[$173>>2]|0; - _sqlite3PagerSetMmapLimit($166,$171,$174); - $175 = HEAP32[$pBt>>2]|0; - $176 = HEAP32[$175>>2]|0; - $177 = (_sqlite3PagerReadFileheader($176,100,$zDbHeader)|0); - HEAP32[$rc>>2] = $177; - } - $178 = HEAP32[$rc>>2]|0; - $179 = ($178|0)!=(0); - if (!($179)) { - $180 = HEAP32[$5>>2]|0; - $181 = $180&255; - $182 = HEAP32[$pBt>>2]|0; - $183 = ((($182)) + 16|0); - HEAP8[$183>>0] = $181; - $184 = HEAP32[$3>>2]|0; - $185 = HEAP32[$pBt>>2]|0; - $186 = ((($185)) + 4|0); - HEAP32[$186>>2] = $184; - $187 = HEAP32[$pBt>>2]|0; - $188 = HEAP32[$187>>2]|0; - $189 = HEAP32[$pBt>>2]|0; - _sqlite3PagerSetBusyhandler($188,171,$189); - $190 = HEAP32[$pBt>>2]|0; - $191 = HEAP32[$p>>2]|0; - $192 = ((($191)) + 4|0); - HEAP32[$192>>2] = $190; - $193 = HEAP32[$pBt>>2]|0; - $194 = ((($193)) + 8|0); - HEAP32[$194>>2] = 0; - $195 = HEAP32[$pBt>>2]|0; - $196 = ((($195)) + 12|0); - HEAP32[$196>>2] = 0; - $197 = HEAP32[$pBt>>2]|0; - $198 = HEAP32[$197>>2]|0; - $199 = (_sqlite3PagerIsreadonly($198)|0); - $200 = ($199<<24>>24)!=(0); - if ($200) { - $201 = HEAP32[$pBt>>2]|0; - $202 = ((($201)) + 22|0); - $203 = HEAP16[$202>>1]|0; - $204 = $203&65535; - $205 = $204 | 1; - $206 = $205&65535; - HEAP16[$202>>1] = $206; - } - $207 = ((($zDbHeader)) + 16|0); - $208 = HEAP8[$207>>0]|0; - $209 = $208&255; - $210 = $209 << 8; - $211 = ((($zDbHeader)) + 17|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $214 = $213 << 16; - $215 = $210 | $214; - $216 = HEAP32[$pBt>>2]|0; - $217 = ((($216)) + 32|0); - HEAP32[$217>>2] = $215; - $218 = HEAP32[$pBt>>2]|0; - $219 = ((($218)) + 32|0); - $220 = HEAP32[$219>>2]|0; - $221 = ($220>>>0)<(512); - if ($221) { - label = 49; + $423 = +HEAPF64[$21>>3]; + $424 = $423 * 1.0E+22; + HEAPF64[$21>>3] = $424; + $425 = HEAP32[$15>>2]|0; + $426 = (($425) - 22)|0; + HEAP32[$15>>2] = $426; + } + $427 = HEAP32[$14>>2]|0; + $428 = ($427|0)<(0); + $429 = $12; + $430 = $429; + $431 = HEAP32[$430>>2]|0; + $432 = (($429) + 4)|0; + $433 = $432; + $434 = HEAP32[$433>>2]|0; + $435 = (+($431>>>0)) + (4294967296.0*(+($434|0))); + $436 = +HEAPF64[$21>>3]; + if ($428) { + $437 = $435 / $436; + HEAPF64[$17>>3] = $437; + break; } else { - $222 = HEAP32[$pBt>>2]|0; - $223 = ((($222)) + 32|0); - $224 = HEAP32[$223>>2]|0; - $225 = ($224>>>0)>(65536); - if ($225) { - label = 49; - } else { - $226 = HEAP32[$pBt>>2]|0; - $227 = ((($226)) + 32|0); - $228 = HEAP32[$227>>2]|0; - $229 = (($228) - 1)|0; - $230 = HEAP32[$pBt>>2]|0; - $231 = ((($230)) + 32|0); - $232 = HEAP32[$231>>2]|0; - $233 = $229 & $232; - $234 = ($233|0)!=(0); - if ($234) { - label = 49; - } else { - $245 = ((($zDbHeader)) + 20|0); - $246 = HEAP8[$245>>0]|0; - HEAP8[$nReserve>>0] = $246; - $247 = HEAP32[$pBt>>2]|0; - $248 = ((($247)) + 22|0); - $249 = HEAP16[$248>>1]|0; - $250 = $249&65535; - $251 = $250 | 2; - $252 = $251&65535; - HEAP16[$248>>1] = $252; - $253 = ((($zDbHeader)) + 52|0); - $254 = (_sqlite3Get4byte($253)|0); - $255 = ($254|0)!=(0); - $256 = $255 ? 1 : 0; - $257 = $256&255; - $258 = HEAP32[$pBt>>2]|0; - $259 = ((($258)) + 17|0); - HEAP8[$259>>0] = $257; - $260 = ((($zDbHeader)) + 64|0); - $261 = (_sqlite3Get4byte($260)|0); - $262 = ($261|0)!=(0); - $263 = $262 ? 1 : 0; - $264 = $263&255; - $265 = HEAP32[$pBt>>2]|0; - $266 = ((($265)) + 18|0); - HEAP8[$266>>0] = $264; - } - } - } - if ((label|0) == 49) { - $235 = HEAP32[$pBt>>2]|0; - $236 = ((($235)) + 32|0); - HEAP32[$236>>2] = 0; - $237 = HEAP32[$2>>2]|0; - $238 = ($237|0)==(0|0); - $239 = HEAP32[$isMemdb>>2]|0; - $240 = ($239|0)!=(0); - $or$cond3 = $238 | $240; - if (!($or$cond3)) { - $241 = HEAP32[$pBt>>2]|0; - $242 = ((($241)) + 17|0); - HEAP8[$242>>0] = 0; - $243 = HEAP32[$pBt>>2]|0; - $244 = ((($243)) + 18|0); - HEAP8[$244>>0] = 0; - } - HEAP8[$nReserve>>0] = 0; - } - $267 = HEAP32[$pBt>>2]|0; - $268 = HEAP32[$267>>2]|0; - $269 = HEAP32[$pBt>>2]|0; - $270 = ((($269)) + 32|0); - $271 = HEAP8[$nReserve>>0]|0; - $272 = $271&255; - $273 = (_sqlite3PagerSetPagesize($268,$270,$272)|0); - HEAP32[$rc>>2] = $273; - $274 = HEAP32[$rc>>2]|0; - $275 = ($274|0)!=(0); - if (!($275)) { - $276 = HEAP32[$pBt>>2]|0; - $277 = ((($276)) + 32|0); - $278 = HEAP32[$277>>2]|0; - $279 = HEAP8[$nReserve>>0]|0; - $280 = $279&255; - $281 = (($278) - ($280))|0; - $282 = HEAP32[$pBt>>2]|0; - $283 = ((($282)) + 36|0); - HEAP32[$283>>2] = $281; - $284 = HEAP32[$pBt>>2]|0; - $285 = ((($284)) + 64|0); - HEAP32[$285>>2] = 1; - $286 = HEAP32[$p>>2]|0; - $287 = ((($286)) + 9|0); - $288 = HEAP8[$287>>0]|0; - $289 = ($288<<24>>24)!=(0); - if ($289) { - $290 = HEAP32[4024>>2]|0; - $291 = HEAP32[$pBt>>2]|0; - $292 = ((($291)) + 68|0); - HEAP32[$292>>2] = $290; - $293 = HEAP32[$pBt>>2]|0; - HEAP32[4024>>2] = $293; - label = 56; - } else { - label = 56; - } + $438 = $435 * $436; + HEAPF64[$17>>3] = $438; + break; } } - } else { - label = 56; - } - } while(0); - if ((label|0) == 56) { - $294 = HEAP32[$p>>2]|0; - $295 = ((($294)) + 9|0); - $296 = HEAP8[$295>>0]|0; - $297 = ($296<<24>>24)!=(0); - L85: do { - if ($297) { - HEAP32[$i>>2] = 0; - while(1) { - $298 = HEAP32[$i>>2]|0; - $299 = HEAP32[$3>>2]|0; - $300 = ((($299)) + 20|0); - $301 = HEAP32[$300>>2]|0; - $302 = ($298|0)<($301|0); - if (!($302)) { - break L85; - } - $303 = HEAP32[$i>>2]|0; - $304 = HEAP32[$3>>2]|0; - $305 = ((($304)) + 16|0); - $306 = HEAP32[$305>>2]|0; - $307 = (($306) + ($303<<4)|0); - $308 = ((($307)) + 4|0); - $309 = HEAP32[$308>>2]|0; - HEAP32[$pSib>>2] = $309; - $310 = ($309|0)!=(0|0); - if ($310) { - $311 = HEAP32[$pSib>>2]|0; - $312 = ((($311)) + 9|0); - $313 = HEAP8[$312>>0]|0; - $314 = $313&255; - $315 = ($314|0)!=(0); - if ($315) { - break; - } - } - $375 = HEAP32[$i>>2]|0; - $376 = (($375) + 1)|0; - HEAP32[$i>>2] = $376; - } - while(1) { - $316 = HEAP32[$pSib>>2]|0; - $317 = ((($316)) + 28|0); - $318 = HEAP32[$317>>2]|0; - $319 = ($318|0)!=(0|0); - if (!($319)) { - break; - } - $320 = HEAP32[$pSib>>2]|0; - $321 = ((($320)) + 28|0); - $322 = HEAP32[$321>>2]|0; - HEAP32[$pSib>>2] = $322; - } - $323 = HEAP32[$p>>2]|0; - $324 = ((($323)) + 4|0); - $325 = HEAP32[$324>>2]|0; - $326 = $325; - $327 = HEAP32[$pSib>>2]|0; - $328 = ((($327)) + 4|0); - $329 = HEAP32[$328>>2]|0; - $330 = $329; - $331 = ($326>>>0)<($330>>>0); - if ($331) { - $332 = HEAP32[$pSib>>2]|0; - $333 = HEAP32[$p>>2]|0; - $334 = ((($333)) + 24|0); - HEAP32[$334>>2] = $332; - $335 = HEAP32[$p>>2]|0; - $336 = ((($335)) + 28|0); - HEAP32[$336>>2] = 0; - $337 = HEAP32[$p>>2]|0; - $338 = HEAP32[$pSib>>2]|0; - $339 = ((($338)) + 28|0); - HEAP32[$339>>2] = $337; + $378 = HEAP32[$15>>2]|0; + $379 = ($378|0)<(342); + if (!($379)) { + $403 = HEAP32[$14>>2]|0; + $404 = ($403|0)<(0); + $405 = $12; + $406 = $405; + $407 = HEAP32[$406>>2]|0; + $408 = (($405) + 4)|0; + $409 = $408; + $410 = HEAP32[$409>>2]|0; + $411 = (+($407>>>0)) + (4294967296.0*(+($410|0))); + if ($404) { + $412 = 0.0 * $411; + HEAPF64[$17>>3] = $412; + break; + } else { + $413 = inf * $411; + HEAPF64[$17>>3] = $413; break; } - while(1) { - $340 = HEAP32[$pSib>>2]|0; - $341 = ((($340)) + 24|0); - $342 = HEAP32[$341>>2]|0; - $343 = ($342|0)!=(0|0); - if ($343) { - $344 = HEAP32[$pSib>>2]|0; - $345 = ((($344)) + 24|0); - $346 = HEAP32[$345>>2]|0; - $347 = ((($346)) + 4|0); - $348 = HEAP32[$347>>2]|0; - $349 = $348; - $350 = HEAP32[$p>>2]|0; - $351 = ((($350)) + 4|0); - $352 = HEAP32[$351>>2]|0; - $353 = $352; - $354 = ($349>>>0)<($353>>>0); - $400 = $354; - } else { - $400 = 0; - } - $355 = HEAP32[$pSib>>2]|0; - $356 = ((($355)) + 24|0); - $357 = HEAP32[$356>>2]|0; - if (!($400)) { - break; - } - HEAP32[$pSib>>2] = $357; - } - $358 = HEAP32[$p>>2]|0; - $359 = ((($358)) + 24|0); - HEAP32[$359>>2] = $357; - $360 = HEAP32[$pSib>>2]|0; - $361 = HEAP32[$p>>2]|0; - $362 = ((($361)) + 28|0); - HEAP32[$362>>2] = $360; - $363 = HEAP32[$p>>2]|0; - $364 = ((($363)) + 24|0); - $365 = HEAP32[$364>>2]|0; - $366 = ($365|0)!=(0|0); - if ($366) { - $367 = HEAP32[$p>>2]|0; - $368 = HEAP32[$p>>2]|0; - $369 = ((($368)) + 24|0); - $370 = HEAP32[$369>>2]|0; - $371 = ((($370)) + 28|0); - HEAP32[$371>>2] = $367; + } + while(1) { + $380 = HEAP32[$15>>2]|0; + $381 = (($380|0) % 308)&-1; + $382 = ($381|0)!=(0); + if (!($382)) { + break; } - $372 = HEAP32[$p>>2]|0; - $373 = HEAP32[$pSib>>2]|0; - $374 = ((($373)) + 24|0); - HEAP32[$374>>2] = $372; + $383 = +HEAPF64[$21>>3]; + $384 = $383 * 10.0; + HEAPF64[$21>>3] = $384; + $385 = HEAP32[$15>>2]|0; + $386 = (($385) - 1)|0; + HEAP32[$15>>2] = $386; } - } while(0); - $377 = HEAP32[$p>>2]|0; - $378 = HEAP32[$4>>2]|0; - HEAP32[$378>>2] = $377; - } - $379 = HEAP32[$rc>>2]|0; - $380 = ($379|0)!=(0); - if ($380) { - $381 = HEAP32[$pBt>>2]|0; - $382 = ($381|0)!=(0|0); - if ($382) { - $383 = HEAP32[$pBt>>2]|0; - $384 = HEAP32[$383>>2]|0; - $385 = ($384|0)!=(0|0); - if ($385) { - $386 = HEAP32[$pBt>>2]|0; - $387 = HEAP32[$386>>2]|0; - (_sqlite3PagerClose($387)|0); + $387 = HEAP32[$14>>2]|0; + $388 = ($387|0)<(0); + $389 = $12; + $390 = $389; + $391 = HEAP32[$390>>2]|0; + $392 = (($389) + 4)|0; + $393 = $392; + $394 = HEAP32[$393>>2]|0; + $395 = (+($391>>>0)) + (4294967296.0*(+($394|0))); + $396 = +HEAPF64[$21>>3]; + if ($388) { + $397 = $395 / $396; + HEAPF64[$17>>3] = $397; + $398 = +HEAPF64[$17>>3]; + $399 = $398 / 1.0E+308; + HEAPF64[$17>>3] = $399; + break; + } else { + $400 = $395 * $396; + HEAPF64[$17>>3] = $400; + $401 = +HEAPF64[$17>>3]; + $402 = $401 * 1.0E+308; + HEAPF64[$17>>3] = $402; + break; } } - $388 = HEAP32[$pBt>>2]|0; - _sqlite3_free($388); - $389 = HEAP32[$p>>2]|0; - _sqlite3_free($389); - $390 = HEAP32[$4>>2]|0; - HEAP32[$390>>2] = 0; + } while(0); + $439 = +HEAPF64[$17>>3]; + $440 = HEAP32[$6>>2]|0; + HEAPF64[$440>>3] = $439; + $441 = HEAP32[$5>>2]|0; + $442 = HEAP32[$10>>2]|0; + $443 = ($441|0)==($442|0); + $444 = HEAP32[$18>>2]|0; + $445 = ($444|0)>(0); + $or$cond = $443 & $445; + $446 = HEAP32[$16>>2]|0; + $447 = ($446|0)!=(0); + $or$cond10 = $or$cond & $447; + if ($or$cond10) { + $448 = HEAP32[$19>>2]|0; + $449 = ($448|0)==(0); + $451 = $449; } else { - $391 = HEAP32[$p>>2]|0; - $392 = (_sqlite3BtreeSchema($391,0,0)|0); - $393 = ($392|0)==(0|0); - if ($393) { - $394 = HEAP32[$p>>2]|0; - $395 = ((($394)) + 4|0); - $396 = HEAP32[$395>>2]|0; - $397 = HEAP32[$396>>2]|0; - _sqlite3PagerSetCachesize($397,-2000); - } + $451 = 0; } - $398 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $398; - $399 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($399|0); + $450 = $451&1; + HEAP32[$4>>2] = $450; + $452 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($452|0); } -function _sqlite3SchemaGet($db,$pBt) { - $db = $db|0; - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3VdbeIntValue($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.0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pBt; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3BtreeSchema($4,84,150)|0); - HEAP32[$p>>2] = $5; - } else { - $6 = (_sqlite3DbMallocZero(0,84,0)|0); - HEAP32[$p>>2] = $6; - } - $7 = HEAP32[$p>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - $9 = HEAP32[$0>>2]|0; - _sqlite3OomFault($9); - $25 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($25|0); - } - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 76|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = (0)==($13|0); - if (!($14)) { - $25 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($25|0); - } - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 8|0); - _sqlite3HashInit($16); - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 24|0); - _sqlite3HashInit($18); - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 40|0); - _sqlite3HashInit($20); - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 56|0); - _sqlite3HashInit($22); - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 77|0); - HEAP8[$24>>0] = 1; - $25 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($25|0); + STACKTOP = STACKTOP + 32|0; + $1 = sp + 8|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = $9 & 4; + $11 = ($10|0)!=(0); + do { + if ($11) { + $12 = HEAP32[$2>>2]|0; + $13 = $12; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = $1; + $20 = $19; + HEAP32[$20>>2] = $15; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + } else { + $23 = HEAP32[$3>>2]|0; + $24 = $23 & 8; + $25 = ($24|0)!=(0); + if ($25) { + $26 = HEAP32[$2>>2]|0; + $27 = +HEAPF64[$26>>3]; + $28 = (_doubleToInt64($27)|0); + $29 = tempRet0; + $30 = $1; + $31 = $30; + HEAP32[$31>>2] = $28; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + break; + } + $34 = HEAP32[$3>>2]|0; + $35 = $34 & 18; + $36 = ($35|0)!=(0); + if ($36) { + $37 = $4; + $38 = $37; + HEAP32[$38>>2] = 0; + $39 = (($37) + 4)|0; + $40 = $39; + HEAP32[$40>>2] = 0; + $41 = HEAP32[$2>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 10|0); + $49 = HEAP8[$48>>0]|0; + (_sqlite3Atoi64($43,$4,$46,$49)|0); + $50 = $4; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = $1; + $57 = $56; + HEAP32[$57>>2] = $52; + $58 = (($56) + 4)|0; + $59 = $58; + HEAP32[$59>>2] = $55; + break; + } else { + $60 = $1; + $61 = $60; + HEAP32[$61>>2] = 0; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = 0; + break; + } + } + } while(0); + $64 = $1; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + tempRet0 = ($69); + STACKTOP = sp;return ($66|0); } -function _sqlite3RegisterPerConnectionBuiltinFunctions($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $rc = 0, label = 0, sp = 0; +function _doubleToInt64($0) { + $0 = +$0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.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 $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_overload_function($1,25831,2)|0); - HEAP32[$rc>>2] = $2; - $3 = HEAP32[$rc>>2]|0; - $4 = ($3|0)==(7); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$0>>2]|0; - _sqlite3OomFault($5); - STACKTOP = sp;return; + $1 = sp + 8|0; + $2 = sp; + HEAPF64[$2>>3] = $0; + $3 = +HEAPF64[$2>>3]; + $4 = $3 <= -9.2233720368547758E+18; + do { + if ($4) { + $5 = $1; + $6 = $5; + HEAP32[$6>>2] = 0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = -2147483648; + } else { + $9 = +HEAPF64[$2>>3]; + $10 = $9 >= 9.2233720368547758E+18; + if ($10) { + $11 = $1; + $12 = $11; + HEAP32[$12>>2] = -1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = 2147483647; + break; + } else { + $15 = +HEAPF64[$2>>3]; + $16 = (~~$15)>>>0; + $17 = +Math_abs($15) >= 1.0 ? $15 > 0.0 ? (~~+Math_min(+Math_floor($15 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($15 - +(~~$15 >>> 0)) / 4294967296.0) >>> 0 : 0; + $18 = $1; + $19 = $18; + HEAP32[$19>>2] = $16; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $17; + break; + } + } + } while(0); + $22 = $1; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + tempRet0 = ($27); + STACKTOP = sp;return ($24|0); } -function _sqlite3AutoLoadExtensions($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $go = 0, $i = 0, $pThunk = 0, $rc = 0, $vararg_buffer = 0, $xInit = 0, $zErrmsg = 0, label = 0, sp = 0; +function _sqlite3Atoi64($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $i = sp + 24|0; - $go = sp + 20|0; - $rc = sp + 16|0; - $xInit = sp + 12|0; - $zErrmsg = sp + 8|0; - $pThunk = sp + 4|0; - HEAP32[$0>>2] = $db; - HEAP32[$go>>2] = 1; - $1 = HEAP32[1540>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 52|0; + $9 = sp + 32|0; + $10 = sp; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP8[$8>>0] = $3; + $17 = $10; + $18 = $17; + HEAP32[$18>>2] = 0; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = (($21) + ($22)|0); + HEAP32[$16>>2] = $23; + $24 = HEAP8[$8>>0]|0; + $25 = $24&255; + $26 = ($25|0)==(1); + if ($26) { + HEAP32[$9>>2] = 1; + } else { + HEAP32[$9>>2] = 2; + $27 = HEAP8[$8>>0]|0; + $28 = $27&255; + $29 = (3 - ($28))|0; + HEAP32[$12>>2] = $29; + while(1) { + $30 = HEAP32[$12>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = ($30|0)<($31|0); + if (!($32)) { + break; + } + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$12>>2]|0; + $35 = (($33) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36 << 24 >> 24; + $38 = ($37|0)==(0); + if (!($38)) { + break; + } + $39 = HEAP32[$12>>2]|0; + $40 = (($39) + 2)|0; + HEAP32[$12>>2] = $40; + } + $41 = HEAP32[$12>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = ($41|0)<($42|0); + $44 = $43&1; + HEAP32[$14>>2] = $44; + $45 = HEAP32[$5>>2]|0; + $46 = HEAP32[$12>>2]|0; + $47 = $46 ^ 1; + $48 = (($45) + ($47)|0); + HEAP32[$16>>2] = $48; + $49 = HEAP8[$8>>0]|0; + $50 = $49&255; + $51 = $50 & 1; + $52 = HEAP32[$5>>2]|0; + $53 = (($52) + ($51)|0); + HEAP32[$5>>2] = $53; } - HEAP32[$i>>2] = 0; while(1) { - $3 = HEAP32[$go>>2]|0; - $4 = ($3|0)!=(0); - if (!($4)) { + $54 = HEAP32[$5>>2]|0; + $55 = HEAP32[$16>>2]|0; + $56 = ($54>>>0)<($55>>>0); + if (!($56)) { break; } - HEAP32[$pThunk>>2] = 0; - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[1540>>2]|0; - $7 = ($5>>>0)>=($6>>>0); - if ($7) { - HEAP32[$xInit>>2] = 0; - HEAP32[$go>>2] = 0; - } else { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[(1544)>>2]|0; - $10 = (($9) + ($8<<2)|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$xInit>>2] = $11; - } - HEAP32[$zErrmsg>>2] = 0; - $12 = HEAP32[$xInit>>2]|0; - $13 = ($12|0)!=(0|0); - if ($13) { - $14 = HEAP32[$xInit>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$pThunk>>2]|0; - $17 = (FUNCTION_TABLE_iiii[$14 & 255]($15,$zErrmsg,$16)|0); - HEAP32[$rc>>2] = $17; - $18 = ($17|0)!=(0); - if ($18) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$rc>>2]|0; - $21 = HEAP32[$zErrmsg>>2]|0; - HEAP32[$vararg_buffer>>2] = $21; - _sqlite3ErrorWithMsg($19,$20,25792,$vararg_buffer); - HEAP32[$go>>2] = 0; - } + $57 = HEAP32[$5>>2]|0; + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = (20063 + ($59)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = $62 & 1; + $64 = ($63|0)!=(0); + if (!($64)) { + break; } - $22 = HEAP32[$zErrmsg>>2]|0; - _sqlite3_free($22); - $23 = HEAP32[$i>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$i>>2] = $24; - } - STACKTOP = sp;return; -} -function _sqlite3Fts3Init($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $pHash = 0, $pPorter = 0, $pSimple = 0, $pUnicode = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $rc = sp + 16|0; - $pHash = sp + 12|0; - $pSimple = sp + 8|0; - $pPorter = sp + 4|0; - $pUnicode = sp; - HEAP32[$1>>2] = $db; - HEAP32[$rc>>2] = 0; - HEAP32[$pHash>>2] = 0; - HEAP32[$pSimple>>2] = 0; - HEAP32[$pPorter>>2] = 0; - HEAP32[$pUnicode>>2] = 0; - _sqlite3Fts3UnicodeTokenizer($pUnicode); - $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3Fts3InitAux($2)|0); - HEAP32[$rc>>2] = $3; - $4 = HEAP32[$rc>>2]|0; - $5 = ($4|0)!=(0); - if ($5) { - $6 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $6; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); - } - _sqlite3Fts3SimpleTokenizerModule($pSimple); - _sqlite3Fts3PorterTokenizerModule($pPorter); - $7 = (_sqlite3_malloc(20)|0); - HEAP32[$pHash>>2] = $7; - $8 = HEAP32[$pHash>>2]|0; - $9 = ($8|0)!=(0|0); - if ($9) { - $10 = HEAP32[$pHash>>2]|0; - _sqlite3Fts3HashInit($10,1,1); - } else { - HEAP32[$rc>>2] = 7; + $65 = HEAP32[$9>>2]|0; + $66 = HEAP32[$5>>2]|0; + $67 = (($66) + ($65)|0); + HEAP32[$5>>2] = $67; } - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)==(0); + $68 = HEAP32[$5>>2]|0; + $69 = HEAP32[$16>>2]|0; + $70 = ($68>>>0)<($69>>>0); do { - if ($12) { - $13 = HEAP32[$pHash>>2]|0; - $14 = HEAP32[$pSimple>>2]|0; - $15 = (_sqlite3Fts3HashInsert($13,20447,7,$14)|0); - $16 = ($15|0)!=(0|0); - if (!($16)) { - $17 = HEAP32[$pHash>>2]|0; - $18 = HEAP32[$pPorter>>2]|0; - $19 = (_sqlite3Fts3HashInsert($17,20454,7,$18)|0); - $20 = ($19|0)!=(0|0); - if (!($20)) { - $21 = HEAP32[$pHash>>2]|0; - $22 = HEAP32[$pUnicode>>2]|0; - $23 = (_sqlite3Fts3HashInsert($21,20461,10,$22)|0); - $24 = ($23|0)!=(0|0); - if (!($24)) { - break; - } - } + if ($70) { + $71 = HEAP32[$5>>2]|0; + $72 = HEAP8[$71>>0]|0; + $73 = $72 << 24 >> 24; + $74 = ($73|0)==(45); + if ($74) { + HEAP32[$11>>2] = 1; + $75 = HEAP32[$9>>2]|0; + $76 = HEAP32[$5>>2]|0; + $77 = (($76) + ($75)|0); + HEAP32[$5>>2] = $77; + break; + } + $78 = HEAP32[$5>>2]|0; + $79 = HEAP8[$78>>0]|0; + $80 = $79 << 24 >> 24; + $81 = ($80|0)==(43); + if ($81) { + $82 = HEAP32[$9>>2]|0; + $83 = HEAP32[$5>>2]|0; + $84 = (($83) + ($82)|0); + HEAP32[$5>>2] = $84; } - HEAP32[$rc>>2] = 7; } } while(0); - $25 = HEAP32[$rc>>2]|0; - $26 = (0)==($25|0); - if ($26) { - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$pHash>>2]|0; - $29 = (_sqlite3Fts3InitHashTable($27,$28,20471)|0); - HEAP32[$rc>>2] = $29; - $30 = (0)==($29|0); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = (_sqlite3_overload_function($31,20486,-1)|0); - HEAP32[$rc>>2] = $32; - $33 = (0)==($32|0); - if ($33) { - $34 = HEAP32[$1>>2]|0; - $35 = (_sqlite3_overload_function($34,20494,1)|0); - HEAP32[$rc>>2] = $35; - $36 = (0)==($35|0); - if ($36) { - $37 = HEAP32[$1>>2]|0; - $38 = (_sqlite3_overload_function($37,20502,1)|0); - HEAP32[$rc>>2] = $38; - $39 = (0)==($38|0); - if ($39) { - $40 = HEAP32[$1>>2]|0; - $41 = (_sqlite3_overload_function($40,20502,2)|0); - HEAP32[$rc>>2] = $41; - $42 = (0)==($41|0); - if ($42) { - $43 = HEAP32[$1>>2]|0; - $44 = (_sqlite3_overload_function($43,20512,1)|0); - HEAP32[$rc>>2] = $44; - $45 = (0)==($44|0); - if ($45) { - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$pHash>>2]|0; - $48 = (_sqlite3_create_module_v2($46,20521,1736,$47,151)|0); - HEAP32[$rc>>2] = $48; - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP32[$1>>2]|0; - $52 = HEAP32[$pHash>>2]|0; - $53 = (_sqlite3_create_module_v2($51,20526,1736,$52,0)|0); - HEAP32[$rc>>2] = $53; - } - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)==(0); - if ($55) { - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$pHash>>2]|0; - $58 = (_sqlite3Fts3InitTok($56,$57)|0); - HEAP32[$rc>>2] = $58; - } - $59 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $59; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); - } - } - } - } - } + $85 = HEAP32[$5>>2]|0; + HEAP32[$15>>2] = $85; + while(1) { + $86 = HEAP32[$5>>2]|0; + $87 = HEAP32[$16>>2]|0; + $88 = ($86>>>0)<($87>>>0); + if (!($88)) { + break; } + $89 = HEAP32[$5>>2]|0; + $90 = HEAP8[$89>>0]|0; + $91 = $90 << 24 >> 24; + $92 = ($91|0)==(48); + if (!($92)) { + break; + } + $93 = HEAP32[$9>>2]|0; + $94 = HEAP32[$5>>2]|0; + $95 = (($94) + ($93)|0); + HEAP32[$5>>2] = $95; } - $60 = HEAP32[$pHash>>2]|0; - $61 = ($60|0)!=(0|0); - if ($61) { - $62 = HEAP32[$pHash>>2]|0; - _sqlite3Fts3HashClear($62); - $63 = HEAP32[$pHash>>2]|0; - _sqlite3_free($63); - } - $64 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $64; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); -} -function _sqlite3Fts3UnicodeTokenizer($ppModule) { - $ppModule = $ppModule|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $ppModule; - $1 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = 2356; - STACKTOP = sp;return; -} -function _sqlite3Fts3InitAux($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_create_module($1,25443,2264,0)|0); - HEAP32[$rc>>2] = $2; - $3 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($3|0); -} -function _sqlite3Fts3SimpleTokenizerModule($ppModule) { - $ppModule = $ppModule|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $ppModule; - $1 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = 2236; - STACKTOP = sp;return; -} -function _sqlite3Fts3PorterTokenizerModule($ppModule) { - $ppModule = $ppModule|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $ppModule; - $1 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = 2208; - STACKTOP = sp;return; -} -function _sqlite3Fts3HashInit($pNew,$keyClass,$copyKey) { - $pNew = $pNew|0; - $keyClass = $keyClass|0; - $copyKey = $copyKey|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 5|0; - $2 = sp + 4|0; - HEAP32[$0>>2] = $pNew; - HEAP8[$1>>0] = $keyClass; - HEAP8[$2>>0] = $copyKey; - $3 = HEAP8[$1>>0]|0; - $4 = HEAP32[$0>>2]|0; - HEAP8[$4>>0] = $3; - $5 = HEAP8[$2>>0]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 1|0); - HEAP8[$7>>0] = $5; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 4|0); - HEAP32[$11>>2] = 0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 12|0); - HEAP32[$13>>2] = 0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 16|0); - HEAP32[$15>>2] = 0; - STACKTOP = sp;return; -} -function _sqlite3Fts3HashInsert($pH,$pKey,$nKey,$data) { - $pH = $pH|0; - $pKey = $pKey|0; - $nKey = $nKey|0; - $data = $data|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $elem = 0, $h = 0, $hraw = 0, $new_elem = 0; - var $old_data = 0, $or$cond = 0, $xHash = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $hraw = sp + 20|0; - $h = sp + 16|0; - $elem = sp + 12|0; - $new_elem = sp + 8|0; - $xHash = sp + 4|0; - $old_data = sp; - HEAP32[$1>>2] = $pH; - HEAP32[$2>>2] = $pKey; - HEAP32[$3>>2] = $nKey; - HEAP32[$4>>2] = $data; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - $8 = (_ftsHashFunction($7)|0); - HEAP32[$xHash>>2] = $8; - $9 = HEAP32[$xHash>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = (FUNCTION_TABLE_iii[$9 & 255]($10,$11)|0); - HEAP32[$hraw>>2] = $12; - $13 = HEAP32[$hraw>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) - 1)|0; - $18 = $13 & $17; - HEAP32[$h>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$h>>2]|0; - $23 = (_fts3FindElementByHash($19,$20,$21,$22)|0); - HEAP32[$elem>>2] = $23; - $24 = HEAP32[$elem>>2]|0; - $25 = ($24|0)!=(0|0); - if ($25) { - $26 = HEAP32[$elem>>2]|0; - $27 = ((($26)) + 8|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$old_data>>2] = $28; - $29 = HEAP32[$4>>2]|0; - $30 = ($29|0)==(0|0); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$elem>>2]|0; - $33 = HEAP32[$h>>2]|0; - _fts3RemoveElementByHash($31,$32,$33); + HEAP32[$12>>2] = 0; + while(1) { + $96 = HEAP32[$5>>2]|0; + $97 = HEAP32[$12>>2]|0; + $98 = (($96) + ($97)|0); + $99 = HEAP32[$16>>2]|0; + $100 = ($98>>>0)<($99>>>0); + if ($100) { + $101 = HEAP32[$5>>2]|0; + $102 = HEAP32[$12>>2]|0; + $103 = (($101) + ($102)|0); + $104 = HEAP8[$103>>0]|0; + $105 = $104 << 24 >> 24; + HEAP32[$13>>2] = $105; + $106 = ($105|0)>=(48); + if ($106) { + $107 = HEAP32[$13>>2]|0; + $108 = ($107|0)<=(57); + $194 = $108; + } else { + $194 = 0; + } } else { - $34 = HEAP32[$4>>2]|0; - $35 = HEAP32[$elem>>2]|0; - $36 = ((($35)) + 8|0); - HEAP32[$36>>2] = $34; + $194 = 0; } - $37 = HEAP32[$old_data>>2]|0; - HEAP32[$0>>2] = $37; - $115 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($115|0); - } - $38 = HEAP32[$4>>2]|0; - $39 = ($38|0)==(0|0); - if ($39) { - HEAP32[$0>>2] = 0; - $115 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($115|0); - } - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 12|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - $44 = HEAP32[$1>>2]|0; - $45 = (_fts3Rehash($44,8)|0); - $46 = ($45|0)!=(0); - if (!($46)) { - label = 10; + $109 = $10; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + if (!($194)) { + break; } - } else { - label = 10; - } + $115 = (___muldi3(($111|0),($114|0),10,0)|0); + $116 = tempRet0; + $117 = HEAP32[$13>>2]|0; + $118 = ($117|0)<(0); + $119 = $118 << 31 >> 31; + $120 = (_i64Add(($115|0),($116|0),($117|0),($119|0))|0); + $121 = tempRet0; + $122 = (_i64Subtract(($120|0),($121|0),48,0)|0); + $123 = tempRet0; + $124 = $10; + $125 = $124; + HEAP32[$125>>2] = $122; + $126 = (($124) + 4)|0; + $127 = $126; + HEAP32[$127>>2] = $123; + $128 = HEAP32[$9>>2]|0; + $129 = HEAP32[$12>>2]|0; + $130 = (($129) + ($128))|0; + HEAP32[$12>>2] = $130; + } + $131 = ($114>>>0)>(2147483647); + $132 = ($111>>>0)>(4294967295); + $133 = ($114|0)==(2147483647); + $134 = $133 & $132; + $135 = $131 | $134; + $136 = HEAP32[$11>>2]|0; + $137 = ($136|0)!=(0); do { - if ((label|0) == 10) { - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 4|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($49|0)>=($52|0); - if ($53) { - $54 = HEAP32[$1>>2]|0; - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 12|0); - $57 = HEAP32[$56>>2]|0; - $58 = $57<<1; - $59 = (_fts3Rehash($54,$58)|0); - $60 = ($59|0)!=(0); - if ($60) { + if ($135) { + $138 = $137 ? 0 : -1; + $139 = $137 ? -2147483648 : 2147483647; + $140 = HEAP32[$6>>2]|0; + $141 = $140; + $142 = $141; + HEAP32[$142>>2] = $138; + $143 = (($141) + 4)|0; + $144 = $143; + HEAP32[$144>>2] = $139; + } else { + $145 = $10; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + if ($137) { + $151 = (_i64Subtract(0,0,($147|0),($150|0))|0); + $152 = tempRet0; + $153 = HEAP32[$6>>2]|0; + $154 = $153; + $155 = $154; + HEAP32[$155>>2] = $151; + $156 = (($154) + 4)|0; + $157 = $156; + HEAP32[$157>>2] = $152; + break; + } else { + $158 = HEAP32[$6>>2]|0; + $159 = $158; + $160 = $159; + HEAP32[$160>>2] = $147; + $161 = (($159) + 4)|0; + $162 = $161; + HEAP32[$162>>2] = $150; + break; + } + } + } while(0); + $163 = HEAP32[$5>>2]|0; + $164 = HEAP32[$12>>2]|0; + $165 = (($163) + ($164)|0); + $166 = HEAP32[$16>>2]|0; + $167 = ($165>>>0)<($166>>>0); + do { + if (!($167)) { + $168 = HEAP32[$12>>2]|0; + $169 = ($168|0)==(0); + if ($169) { + $170 = HEAP32[$15>>2]|0; + $171 = HEAP32[$5>>2]|0; + $172 = ($170|0)==($171|0); + if ($172) { break; } } - $64 = (_fts3HashMalloc(20)|0); - HEAP32[$new_elem>>2] = $64; - $65 = HEAP32[$new_elem>>2]|0; - $66 = ($65|0)==(0|0); - if ($66) { - $67 = HEAP32[$4>>2]|0; - HEAP32[$0>>2] = $67; - $115 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($115|0); - } - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 1|0); - $70 = HEAP8[$69>>0]|0; - $71 = $70 << 24 >> 24; - $72 = ($71|0)!=(0); - $73 = HEAP32[$2>>2]|0; - $74 = ($73|0)!=(0|0); - $or$cond = $72 & $74; - do { - if ($or$cond) { - $75 = HEAP32[$3>>2]|0; - $76 = (_fts3HashMalloc($75)|0); - $77 = HEAP32[$new_elem>>2]|0; - $78 = ((($77)) + 12|0); - HEAP32[$78>>2] = $76; - $79 = HEAP32[$new_elem>>2]|0; - $80 = ((($79)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==(0|0); - $83 = HEAP32[$new_elem>>2]|0; - if (!($82)) { - $85 = ((($83)) + 12|0); - $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[$2>>2]|0; - $88 = HEAP32[$3>>2]|0; - _memcpy(($86|0),($87|0),($88|0))|0; - break; - } - _fts3HashFree($83); - $84 = HEAP32[$4>>2]|0; - HEAP32[$0>>2] = $84; - $115 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($115|0); + $173 = HEAP32[$12>>2]|0; + $174 = HEAP32[$9>>2]|0; + $175 = ($174*19)|0; + $176 = ($173|0)>($175|0); + $177 = HEAP32[$14>>2]|0; + $178 = ($177|0)!=(0); + $or$cond = $176 | $178; + if (!($or$cond)) { + $179 = HEAP32[$12>>2]|0; + $180 = HEAP32[$9>>2]|0; + $181 = ($180*19)|0; + $182 = ($179|0)<($181|0); + if ($182) { + HEAP32[$4>>2] = 0; + $193 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($193|0); + } + $183 = HEAP32[$5>>2]|0; + $184 = HEAP32[$9>>2]|0; + $185 = (_compare2pow63($183,$184)|0); + HEAP32[$13>>2] = $185; + $186 = HEAP32[$13>>2]|0; + $187 = ($186|0)<(0); + if ($187) { + HEAP32[$4>>2] = 0; + $193 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($193|0); + } + $188 = HEAP32[$13>>2]|0; + $189 = ($188|0)>(0); + if ($189) { + HEAP32[$4>>2] = 1; + $193 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($193|0); } else { - $89 = HEAP32[$2>>2]|0; - $90 = HEAP32[$new_elem>>2]|0; - $91 = ((($90)) + 12|0); - HEAP32[$91>>2] = $89; + $190 = HEAP32[$11>>2]|0; + $191 = ($190|0)!=(0); + $192 = $191 ? 0 : 2; + HEAP32[$4>>2] = $192; + $193 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($193|0); } - } while(0); - $92 = HEAP32[$3>>2]|0; - $93 = HEAP32[$new_elem>>2]|0; - $94 = ((($93)) + 16|0); - HEAP32[$94>>2] = $92; - $95 = HEAP32[$1>>2]|0; - $96 = ((($95)) + 4|0); - $97 = HEAP32[$96>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[$96>>2] = $98; - $99 = HEAP32[$hraw>>2]|0; - $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 12|0); - $102 = HEAP32[$101>>2]|0; - $103 = (($102) - 1)|0; - $104 = $99 & $103; - HEAP32[$h>>2] = $104; - $105 = HEAP32[$1>>2]|0; - $106 = HEAP32[$h>>2]|0; - $107 = HEAP32[$1>>2]|0; - $108 = ((($107)) + 16|0); - $109 = HEAP32[$108>>2]|0; - $110 = (($109) + ($106<<3)|0); - $111 = HEAP32[$new_elem>>2]|0; - _fts3HashInsertElement($105,$110,$111); - $112 = HEAP32[$4>>2]|0; - $113 = HEAP32[$new_elem>>2]|0; - $114 = ((($113)) + 8|0); - HEAP32[$114>>2] = $112; - HEAP32[$0>>2] = 0; - $115 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($115|0); + } } } while(0); - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 4|0); - HEAP32[$62>>2] = 0; - $63 = HEAP32[$4>>2]|0; - HEAP32[$0>>2] = $63; - $115 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($115|0); + HEAP32[$4>>2] = 1; + $193 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($193|0); } -function _sqlite3Fts3InitHashTable($db,$pHash,$zName) { - $db = $db|0; - $pHash = $pHash|0; - $zName = $zName|0; - var $0 = 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, $any = 0, $p = 0, $rc = 0; - var label = 0, sp = 0; +function _compare2pow63($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $rc = sp + 8|0; - $p = sp + 4|0; - $any = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pHash; - HEAP32[$2>>2] = $zName; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $3; - HEAP32[$any>>2] = 5; - $4 = HEAP32[$rc>>2]|0; - $5 = (0)==($4|0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$p>>2]|0; - $9 = (_sqlite3_create_function($6,$7,1,5,$8,225,0,0)|0); - HEAP32[$rc>>2] = $9; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + HEAP32[$6>>2] = 22277; + HEAP32[$5>>2] = 0; + while(1) { + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)==(0); + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)<(18); + $11 = $8 ? $10 : 0; + if (!($11)) { + break; + } + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = Math_imul($13, $14)|0; + $16 = (($12) + ($15)|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17 << 24 >> 24; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = (($19) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($18) - ($23))|0; + $25 = ($24*10)|0; + HEAP32[$4>>2] = $25; + $26 = HEAP32[$5>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$5>>2] = $27; } - $10 = HEAP32[$rc>>2]|0; - $11 = (0)==($10|0); - if (!($11)) { - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)==(0); + if (!($29)) { + $37 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($37|0); } - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$p>>2]|0; - $15 = (_sqlite3_create_function($12,$13,2,5,$14,225,0,0)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ($31*18)|0; + $33 = (($30) + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34 << 24 >> 24; + $36 = (($35) - 56)|0; + HEAP32[$4>>2] = $36; + $37 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($37|0); } -function _hashDestroy($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $pHash = 0, label = 0, sp = 0; +function _applyNumericAffinity($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pHash = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pHash>>2] = $1; - $2 = HEAP32[$pHash>>2]|0; - _sqlite3Fts3HashClear($2); - $3 = HEAP32[$pHash>>2]|0; - _sqlite3_free($3); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $5 = sp; + $6 = sp + 24|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 10|0); + $9 = HEAP8[$8>>0]|0; + HEAP8[$6>>0] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP8[$6>>0]|0; + $17 = (_sqlite3AtoF($12,$4,$15,$16)|0); + $18 = ($17|0)==(0); + if ($18) { + STACKTOP = sp;return; + } + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP8[$6>>0]|0; + $26 = (_sqlite3Atoi64($21,$5,$24,$25)|0); + $27 = (0)==($26|0); + if ($27) { + $28 = $5; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$2>>2]|0; + $35 = $34; + $36 = $35; + HEAP32[$36>>2] = $30; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $33; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP16[$40>>1]|0; + $42 = $41&65535; + $43 = $42 | 4; + $44 = $43&65535; + HEAP16[$40>>1] = $44; + STACKTOP = sp;return; + } + $45 = +HEAPF64[$4>>3]; + $46 = HEAP32[$2>>2]|0; + HEAPF64[$46>>3] = $45; + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP16[$48>>1]|0; + $50 = $49&65535; + $51 = $50 | 8; + $52 = $51&65535; + HEAP16[$48>>1] = $52; + $53 = HEAP32[$3>>2]|0; + $54 = ($53|0)!=(0); + if (!($54)) { + STACKTOP = sp;return; + } + $55 = HEAP32[$2>>2]|0; + _sqlite3VdbeIntegerAffinity($55); STACKTOP = sp;return; } -function _sqlite3Fts3InitTok($db,$pHash) { - $db = $db|0; - $pHash = $pHash|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3VdbeIntegerAffinity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.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.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, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pHash; - $2 = HEAP32[$0>>2]|0; + $1 = sp + 8|0; + $2 = sp; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3_create_module($2,20531,1828,$3)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($5|0); -} -function _sqlite3Fts3HashClear($pH) { - $pH = $pH|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $elem = 0, $next_elem = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $elem = sp + 4|0; - $next_elem = sp; - HEAP32[$0>>2] = $pH; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$elem>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 16|0); - $8 = HEAP32[$7>>2]|0; - _fts3HashFree($8); - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 16|0); - HEAP32[$10>>2] = 0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 12|0); - HEAP32[$12>>2] = 0; - while(1) { - $13 = HEAP32[$elem>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - break; - } - $15 = HEAP32[$elem>>2]|0; - $16 = HEAP32[$15>>2]|0; - HEAP32[$next_elem>>2] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$elem>>2]|0; - $23 = ((($22)) + 12|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)!=(0|0); - if ($25) { - $26 = HEAP32[$elem>>2]|0; - $27 = ((($26)) + 12|0); - $28 = HEAP32[$27>>2]|0; - _fts3HashFree($28); - } - } - $29 = HEAP32[$elem>>2]|0; - _fts3HashFree($29); - $30 = HEAP32[$next_elem>>2]|0; - HEAP32[$elem>>2] = $30; + $4 = +HEAPF64[$3>>3]; + $5 = (_doubleToInt64($4)|0); + $6 = tempRet0; + $7 = $2; + $8 = $7; + HEAP32[$8>>2] = $5; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + $11 = HEAP32[$1>>2]|0; + $12 = +HEAPF64[$11>>3]; + $13 = $2; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (+($15>>>0)) + (4294967296.0*(+($18|0))); + $20 = $12 == $19; + $21 = $2; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)>(-2147483648); + $28 = ($23>>>0)>(0); + $29 = ($26|0)==(-2147483648); + $30 = $29 & $28; + $31 = $27 | $30; + $or$cond = $20 & $31; + $32 = $2; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)<(2147483647); + $39 = ($34>>>0)<(4294967295); + $40 = ($37|0)==(2147483647); + $41 = $40 & $39; + $42 = $38 | $41; + $or$cond3 = $or$cond & $42; + if (!($or$cond3)) { + STACKTOP = sp;return; } - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 4|0); - HEAP32[$32>>2] = 0; + $43 = $2; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$1>>2]|0; + $50 = $49; + $51 = $50; + HEAP32[$51>>2] = $45; + $52 = (($50) + 4)|0; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 8|0); + $56 = HEAP16[$55>>1]|0; + $57 = $56&65535; + $58 = $57 & -49664; + $59 = $58 | 4; + $60 = $59&65535; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 8|0); + HEAP16[$62>>1] = $60; STACKTOP = sp;return; } -function _fts3HashFree($p) { - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; +function _sqlite3_value_int($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _sqlite3_free($1); - STACKTOP = sp;return; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_sqlite3VdbeIntValue($2)|0); + $4 = tempRet0; + STACKTOP = sp;return ($3|0); } -function _fts3tokConnectMethod($db,$pHash,$argc,$argv,$ppVtab,$pzErr) { - $db = $db|0; - $pHash = $pHash|0; - $argc = $argc|0; - $argv = $argv|0; - $ppVtab = $ppVtab|0; - $pzErr = $pzErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $azArg = 0, $azDequote = 0, $nDequote = 0, $pMod = 0, $pTab = 0, $pTok = 0, $rc = 0, $zModule = 0, label = 0, sp = 0; +function _sqlite3_value_blob($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $5 = sp + 36|0; - $6 = sp + 32|0; - $pTab = sp + 28|0; - $pMod = sp + 24|0; - $pTok = sp + 20|0; - $rc = sp + 16|0; - $azDequote = sp + 12|0; - $nDequote = sp + 8|0; - $zModule = sp + 4|0; - $azArg = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pHash; - HEAP32[$3>>2] = $argc; - HEAP32[$4>>2] = $argv; - HEAP32[$5>>2] = $ppVtab; - HEAP32[$6>>2] = $pzErr; - HEAP32[$pTab>>2] = 0; - HEAP32[$pMod>>2] = 0; - HEAP32[$pTok>>2] = 0; - HEAP32[$azDequote>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3_declare_vtab($7,20544)|0); - HEAP32[$rc>>2] = $8; - $9 = HEAP32[$rc>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + HEAP32[$3>>2] = $4; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + $9 = $8 & 18; $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $11; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); + if (!($10)) { + $35 = HEAP32[$2>>2]|0; + $36 = (_sqlite3_value_text($35)|0); + HEAP32[$1>>2] = $36; + $37 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($37|0); } - $12 = HEAP32[$3>>2]|0; - $13 = (($12) - 3)|0; - HEAP32[$nDequote>>2] = $13; - $14 = HEAP32[$nDequote>>2]|0; - $15 = HEAP32[$4>>2]|0; - $16 = ((($15)) + 12|0); - $17 = (_fts3tokDequoteArray($14,$16,$azDequote)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)==(0); - if ($19) { - $20 = HEAP32[$nDequote>>2]|0; - $21 = ($20|0)<(1); - if ($21) { - HEAP32[$zModule>>2] = 20447; - } else { - $22 = HEAP32[$azDequote>>2]|0; - $23 = HEAP32[$22>>2]|0; - HEAP32[$zModule>>2] = $23; - } - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$zModule>>2]|0; - $26 = HEAP32[$6>>2]|0; - $27 = (_fts3tokQueryTokenizer($24,$25,$pMod,$26)|0); - HEAP32[$rc>>2] = $27; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = $14 & 16384; + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + $18 = (_sqlite3VdbeMemExpandBlob($17)|0); + $20 = $18; + } else { + $20 = 0; } - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)==(0); - if ($29) { - $30 = HEAP32[$azDequote>>2]|0; - $31 = ((($30)) + 4|0); - HEAP32[$azArg>>2] = $31; - $32 = HEAP32[$pMod>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$nDequote>>2]|0; - $36 = ($35|0)>(1); - $37 = HEAP32[$nDequote>>2]|0; - $38 = (($37) - 1)|0; - $39 = $36 ? $38 : 0; - $40 = HEAP32[$azArg>>2]|0; - $41 = (FUNCTION_TABLE_iiii[$34 & 255]($39,$40,$pTok)|0); - HEAP32[$rc>>2] = $41; - } - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - $44 = (_sqlite3_malloc(20)|0); - HEAP32[$pTab>>2] = $44; - $45 = HEAP32[$pTab>>2]|0; - $46 = ($45|0)==(0|0); - if ($46) { - HEAP32[$rc>>2] = 7; - } + $19 = ($20|0)!=(0); + if ($19) { + HEAP32[$1>>2] = 0; + $37 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($37|0); } - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - $49 = HEAP32[$pTab>>2]|0; - ;HEAP32[$49>>2]=0|0;HEAP32[$49+4>>2]=0|0;HEAP32[$49+8>>2]=0|0;HEAP32[$49+12>>2]=0|0;HEAP32[$49+16>>2]=0|0; - $50 = HEAP32[$pMod>>2]|0; - $51 = HEAP32[$pTab>>2]|0; - $52 = ((($51)) + 12|0); - HEAP32[$52>>2] = $50; - $53 = HEAP32[$pTok>>2]|0; - $54 = HEAP32[$pTab>>2]|0; - $55 = ((($54)) + 16|0); - HEAP32[$55>>2] = $53; - $56 = HEAP32[$pTab>>2]|0; - $57 = HEAP32[$5>>2]|0; - HEAP32[$57>>2] = $56; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 8|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23&65535; + $25 = $24 | 16; + $26 = $25&65535; + HEAP16[$22>>1] = $26; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = $33; } else { - $58 = HEAP32[$pTok>>2]|0; - $59 = ($58|0)!=(0|0); - if ($59) { - $60 = HEAP32[$pMod>>2]|0; - $61 = ((($60)) + 8|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$pTok>>2]|0; - (FUNCTION_TABLE_ii[$62 & 255]($63)|0); - } - } - $64 = HEAP32[$azDequote>>2]|0; - _sqlite3_free($64); - $65 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $65; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); -} -function _fts3tokBestIndexMethod($pVTab,$pInfo) { - $pVTab = $pVTab|0; - $pInfo = $pInfo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $pVTab; - HEAP32[$2>>2] = $pInfo; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($3|0)<($5|0); - if (!($6)) { - label = 8; - break; - } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + (($7*12)|0)|0); - $12 = ((($11)) + 5|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)!=(0); - if ($15) { - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + (($16*12)|0)|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + (($23*12)|0)|0); - $28 = ((($27)) + 4|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = ($30|0)==(2); - if ($31) { - label = 6; - break; - } - } - } - $47 = HEAP32[$i>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[$i>>2] = $48; - } - if ((label|0) == 6) { - $32 = HEAP32[$2>>2]|0; - $33 = ((($32)) + 20|0); - HEAP32[$33>>2] = 1; - $34 = HEAP32[$i>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 16|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + ($34<<3)|0); - HEAP32[$38>>2] = 1; - $39 = HEAP32[$i>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = ((($40)) + 16|0); - $42 = HEAP32[$41>>2]|0; - $43 = (($42) + ($39<<3)|0); - $44 = ((($43)) + 4|0); - HEAP8[$44>>0] = 1; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 40|0); - HEAPF64[$46>>3] = 1.0; - HEAP32[$0>>2] = 0; - $51 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($51|0); + $34 = 0; } - else if ((label|0) == 8) { - $49 = HEAP32[$2>>2]|0; - $50 = ((($49)) + 20|0); - HEAP32[$50>>2] = 0; - HEAP32[$0>>2] = 0; - $51 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($51|0); - } - return (0)|0; -} -function _fts3tokDisconnectMethod($pVtab) { - $pVtab = $pVtab|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTab = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pTab = sp; - HEAP32[$0>>2] = $pVtab; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pTab>>2] = $1; - $2 = HEAP32[$pTab>>2]|0; - $3 = ((($2)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$pTab>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP32[$8>>2]|0; - (FUNCTION_TABLE_ii[$6 & 255]($9)|0); - $10 = HEAP32[$pTab>>2]|0; - _sqlite3_free($10); - STACKTOP = sp;return 0; + HEAP32[$1>>2] = $34; + $37 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($37|0); } -function _fts3tokOpenMethod($pVTab,$ppCsr) { - $pVTab = $pVTab|0; - $ppCsr = $ppCsr|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCsr = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _sqlite3_result_text64($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pCsr = sp; - HEAP32[$1>>2] = $pVTab; - HEAP32[$2>>2] = $ppCsr; - $3 = (_sqlite3_malloc(36)|0); - HEAP32[$pCsr>>2] = $3; - $4 = HEAP32[$pCsr>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$0>>2] = 7; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); - } else { - $6 = HEAP32[$pCsr>>2]|0; - dest=$6; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $7 = HEAP32[$pCsr>>2]|0; - $8 = HEAP32[$2>>2]|0; - HEAP32[$8>>2] = $7; - HEAP32[$0>>2] = 0; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); + STACKTOP = STACKTOP + 32|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp; + $9 = sp + 8|0; + $10 = sp + 20|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + $11 = $8; + $12 = $11; + HEAP32[$12>>2] = $2; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP8[$10>>0] = $5; + $15 = HEAP8[$10>>0]|0; + $16 = $15&255; + $17 = ($16|0)==(4); + if ($17) { + $18 = HEAP8[936]|0; + $19 = $18 << 24 >> 24; + $20 = ($19|0)==(0); + $21 = $20 ? 3 : 2; + $22 = $21&255; + HEAP8[$10>>0] = $22; } - return (0)|0; -} -function _fts3tokCloseMethod($pCursor) { - $pCursor = $pCursor|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $pCsr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pCursor; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $1; - $2 = HEAP32[$pCsr>>2]|0; - _fts3tokResetCursor($2); - $3 = HEAP32[$pCsr>>2]|0; - _sqlite3_free($3); - STACKTOP = sp;return 0; -} -function _fts3tokFilterMethod($pCursor,$idxNum,$idxStr,$nVal,$apVal) { - $pCursor = $pCursor|0; - $idxNum = $idxNum|0; - $idxStr = $idxStr|0; - $nVal = $nVal|0; - $apVal = $apVal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $nByte = 0, $pCsr = 0, $pTab = 0, $rc = 0, $zByte = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $5 = sp + 20|0; - $rc = sp + 16|0; - $pCsr = sp + 12|0; - $pTab = sp + 8|0; - $zByte = sp + 4|0; - $nByte = sp; - HEAP32[$1>>2] = $pCursor; - HEAP32[$2>>2] = $idxNum; - HEAP32[$3>>2] = $idxStr; - HEAP32[$4>>2] = $nVal; - HEAP32[$5>>2] = $apVal; - HEAP32[$rc>>2] = 1; - $6 = HEAP32[$1>>2]|0; - HEAP32[$pCsr>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$pTab>>2] = $8; - $9 = HEAP32[$pCsr>>2]|0; - _fts3tokResetCursor($9); - $10 = HEAP32[$2>>2]|0; - $11 = ($10|0)==(1); - do { - if ($11) { - $12 = HEAP32[$5>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_text($13)|0); - HEAP32[$zByte>>2] = $14; - $15 = HEAP32[$5>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3_value_bytes($16)|0); - HEAP32[$nByte>>2] = $17; - $18 = HEAP32[$nByte>>2]|0; - $19 = (($18) + 1)|0; - $20 = (_sqlite3_malloc($19)|0); - $21 = HEAP32[$pCsr>>2]|0; - $22 = ((($21)) + 4|0); - HEAP32[$22>>2] = $20; - $23 = HEAP32[$pCsr>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)==(0|0); - if ($26) { - HEAP32[$rc>>2] = 7; - break; - } - $27 = HEAP32[$pCsr>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$zByte>>2]|0; - $31 = HEAP32[$nByte>>2]|0; - _memcpy(($29|0),($30|0),($31|0))|0; - $32 = HEAP32[$nByte>>2]|0; - $33 = HEAP32[$pCsr>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + ($32)|0); - HEAP8[$36>>0] = 0; - $37 = HEAP32[$pTab>>2]|0; - $38 = ((($37)) + 12|0); - $39 = HEAP32[$38>>2]|0; - $40 = ((($39)) + 12|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$pTab>>2]|0; - $43 = ((($42)) + 16|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$pCsr>>2]|0; - $46 = ((($45)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$nByte>>2]|0; - $49 = HEAP32[$pCsr>>2]|0; - $50 = ((($49)) + 8|0); - $51 = (FUNCTION_TABLE_iiiii[$41 & 255]($44,$47,$48,$50)|0); - HEAP32[$rc>>2] = $51; - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)==(0); - if ($53) { - $54 = HEAP32[$pTab>>2]|0; - $55 = ((($54)) + 16|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$pCsr>>2]|0; - $58 = ((($57)) + 8|0); - $59 = HEAP32[$58>>2]|0; - HEAP32[$59>>2] = $56; - } - } - } while(0); - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)!=(0); - if ($61) { - $62 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $62; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + $23 = $8; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = ($28>>>0)>(0); + $30 = ($25>>>0)>(2147483647); + $31 = ($28|0)==(0); + $32 = $31 & $30; + $33 = $29 | $32; + if ($33) { + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$6>>2]|0; + (_invokeValueDestructor($34,$35,$36)|0); + STACKTOP = sp;return; } else { - $63 = HEAP32[$1>>2]|0; - $64 = (_fts3tokNextMethod($63)|0); - HEAP32[$0>>2] = $64; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); - } - return (0)|0; -} -function _fts3tokNextMethod($pCursor) { - $pCursor = $pCursor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCsr = 0, $pTab = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $pCsr = sp + 8|0; - $pTab = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pCursor; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $1; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pTab>>2] = $3; - $4 = HEAP32[$pCsr>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[$5>>2] = $7; - $8 = HEAP32[$pTab>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$pCsr>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$pCsr>>2]|0; - $17 = ((($16)) + 16|0); - $18 = HEAP32[$pCsr>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP32[$pCsr>>2]|0; - $21 = ((($20)) + 24|0); - $22 = HEAP32[$pCsr>>2]|0; - $23 = ((($22)) + 28|0); - $24 = HEAP32[$pCsr>>2]|0; - $25 = ((($24)) + 32|0); - $26 = (FUNCTION_TABLE_iiiiiii[$12 & 255]($15,$17,$19,$21,$23,$25)|0); - HEAP32[$rc>>2] = $26; - $27 = HEAP32[$rc>>2]|0; - $28 = ($27|0)!=(0); - if (!($28)) { - $32 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($32|0); - } - $29 = HEAP32[$pCsr>>2]|0; - _fts3tokResetCursor($29); - $30 = HEAP32[$rc>>2]|0; - $31 = ($30|0)==(101); - if (!($31)) { - $32 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($32|0); - } - HEAP32[$rc>>2] = 0; - $32 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($32|0); -} -function _fts3tokEofMethod($pCursor) { - $pCursor = $pCursor|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $pCsr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pCursor; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $1; - $2 = HEAP32[$pCsr>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - $6 = $5&1; - STACKTOP = sp;return ($6|0); -} -function _fts3tokColumnMethod($pCursor,$pCtx,$iCol) { - $pCursor = $pCursor|0; - $pCtx = $pCtx|0; - $iCol = $iCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCsr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pCursor; - HEAP32[$1>>2] = $pCtx; - HEAP32[$2>>2] = $iCol; - $3 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $3; - $4 = HEAP32[$2>>2]|0; - switch ($4|0) { - case 0: { - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$pCsr>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - _sqlite3_result_text($5,$8,-1,(-1)); - STACKTOP = sp;return 0; - break; - } - case 1: { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$pCsr>>2]|0; - $11 = ((($10)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$pCsr>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - _sqlite3_result_text($9,$12,$15,(-1)); - STACKTOP = sp;return 0; - break; - } - case 2: { - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$pCsr>>2]|0; - $18 = ((($17)) + 24|0); - $19 = HEAP32[$18>>2]|0; - _sqlite3_result_int($16,$19); - STACKTOP = sp;return 0; - break; - } - case 3: { - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$pCsr>>2]|0; - $22 = ((($21)) + 28|0); - $23 = HEAP32[$22>>2]|0; - _sqlite3_result_int($20,$23); - STACKTOP = sp;return 0; - break; - } - default: { - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$pCsr>>2]|0; - $26 = ((($25)) + 32|0); - $27 = HEAP32[$26>>2]|0; - _sqlite3_result_int($24,$27); - STACKTOP = sp;return 0; - } + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$7>>2]|0; + $39 = $8; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = HEAP8[$10>>0]|0; + $46 = HEAP32[$9>>2]|0; + _setResultStrOrError($37,$38,$41,$45,$46); + STACKTOP = sp;return; } - return (0)|0; } -function _fts3tokRowidMethod($pCursor,$pRowid) { - $pCursor = $pCursor|0; - $pRowid = $pRowid|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCsr = 0, label = 0, sp = 0; +function _sqlite3_result_blob64($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pCursor; - HEAP32[$1>>2] = $pRowid; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $2; - $3 = HEAP32[$pCsr>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)<(0); - $7 = $6 << 31 >> 31; - $8 = HEAP32[$1>>2]|0; - $9 = $8; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp; + $8 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + $9 = $7; $10 = $9; - HEAP32[$10>>2] = $5; + HEAP32[$10>>2] = $2; $11 = (($9) + 4)|0; $12 = $11; - HEAP32[$12>>2] = $7; - STACKTOP = sp;return 0; -} -function _fts3tokResetCursor($pCsr) { - $pCsr = $pCsr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTab = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pTab = sp; - HEAP32[$0>>2] = $pCsr; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$pTab>>2] = $6; - $7 = HEAP32[$pTab>>2]|0; - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - (FUNCTION_TABLE_ii[$11 & 255]($14)|0); - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 8|0); - HEAP32[$16>>2] = 0; + HEAP32[$12>>2] = $3; + HEAP32[$8>>2] = $4; + $13 = $7; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = ($18>>>0)>(0); + $20 = ($15>>>0)>(2147483647); + $21 = ($18|0)==(0); + $22 = $21 & $20; + $23 = $19 | $22; + if ($23) { + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = HEAP32[$5>>2]|0; + (_invokeValueDestructor($24,$25,$26)|0); + STACKTOP = sp;return; + } else { + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = $7; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$8>>2]|0; + _setResultStrOrError($27,$28,$31,0,$35); + STACKTOP = sp;return; } - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - _sqlite3_free($19); - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 4|0); - HEAP32[$21>>2] = 0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 16|0); - HEAP32[$23>>2] = 0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 20|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 24|0); - HEAP32[$27>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 28|0); - HEAP32[$29>>2] = 0; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 32|0); - HEAP32[$31>>2] = 0; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 12|0); - HEAP32[$33>>2] = 0; - STACKTOP = sp;return; } -function _fts3tokDequoteArray($argc,$argv,$pazDequote) { - $argc = $argc|0; - $argv = $argv|0; - $pazDequote = $pazDequote|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $azDequote = 0, $i = 0, $n = 0; - var $nByte = 0, $pSpace = 0, $rc = 0, label = 0, sp = 0; +function _invokeValueDestructor($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $rc = sp + 20|0; - $i = sp + 16|0; - $nByte = sp + 12|0; - $azDequote = sp + 8|0; - $pSpace = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $argc; - HEAP32[$1>>2] = $argv; - HEAP32[$2>>2] = $pazDequote; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - $5 = HEAP32[$2>>2]|0; - HEAP32[$5>>2] = 0; - $56 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($56|0); - } - HEAP32[$nByte>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ($6|0)<($7|0); - if (!($8)) { - break; - } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + ($9<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_strlen($12)|0); - $14 = (($13) + 1)|0; - $15 = HEAP32[$nByte>>2]|0; - $16 = (($15) + ($14))|0; - HEAP32[$nByte>>2] = $16; - $17 = HEAP32[$i>>2]|0; - $18 = (($17) + 1)|0; - HEAP32[$i>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - $20 = $19<<2; - $21 = HEAP32[$nByte>>2]|0; - $22 = (($20) + ($21))|0; - $23 = (_sqlite3_malloc($22)|0); - HEAP32[$azDequote>>2] = $23; - $24 = HEAP32[$2>>2]|0; - HEAP32[$24>>2] = $23; - $25 = HEAP32[$azDequote>>2]|0; - $26 = ($25|0)==(0|0); - if ($26) { - HEAP32[$rc>>2] = 7; - $56 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($56|0); + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)==(0|0); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==((-1)|0); + $or$cond = $7 | $9; + if (!($or$cond)) { + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$3>>2]|0; + FUNCTION_TABLE_vi[$10 & 255]($11); } - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$azDequote>>2]|0; - $29 = (($28) + ($27<<2)|0); - HEAP32[$pSpace>>2] = $29; - HEAP32[$i>>2] = 0; - while(1) { - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$0>>2]|0; - $32 = ($30|0)<($31|0); - if (!($32)) { - break; - } - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + ($33<<2)|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_strlen($36)|0); - HEAP32[$n>>2] = $37; - $38 = HEAP32[$pSpace>>2]|0; - $39 = HEAP32[$i>>2]|0; - $40 = HEAP32[$azDequote>>2]|0; - $41 = (($40) + ($39<<2)|0); - HEAP32[$41>>2] = $38; - $42 = HEAP32[$pSpace>>2]|0; - $43 = HEAP32[$i>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = (($44) + ($43<<2)|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$n>>2]|0; - $48 = (($47) + 1)|0; - _memcpy(($42|0),($46|0),($48|0))|0; - $49 = HEAP32[$pSpace>>2]|0; - _sqlite3Fts3Dequote($49); - $50 = HEAP32[$n>>2]|0; - $51 = (($50) + 1)|0; - $52 = HEAP32[$pSpace>>2]|0; - $53 = (($52) + ($51)|0); - HEAP32[$pSpace>>2] = $53; - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + STACKTOP = sp;return 18; } - $56 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($56|0); + $14 = HEAP32[$5>>2]|0; + _sqlite3_result_error_toobig($14); + STACKTOP = sp;return 18; } -function _fts3tokQueryTokenizer($pHash,$zName,$pp,$pzErr) { - $pHash = $pHash|0; - $zName = $zName|0; - $pp = $pp|0; - $pzErr = $pzErr|0; - var $0 = 0, $1 = 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, $nName = 0; - var $p = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3_result_zeroblob64($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; $3 = sp + 16|0; $4 = sp + 12|0; - $p = sp + 8|0; - $nName = sp + 4|0; - HEAP32[$1>>2] = $pHash; - HEAP32[$2>>2] = $zName; - HEAP32[$3>>2] = $pp; - HEAP32[$4>>2] = $pzErr; - $5 = HEAP32[$2>>2]|0; - $6 = (_strlen($5)|0); - HEAP32[$nName>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$nName>>2]|0; - $10 = (($9) + 1)|0; - $11 = (_sqlite3Fts3HashFind($7,$8,$10)|0); - HEAP32[$p>>2] = $11; - $12 = HEAP32[$p>>2]|0; - $13 = ($12|0)!=(0|0); - if ($13) { - $16 = HEAP32[$p>>2]|0; - $17 = HEAP32[$3>>2]|0; - HEAP32[$17>>2] = $16; - HEAP32[$0>>2] = 0; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); + $5 = sp; + $6 = sp + 8|0; + HEAP32[$4>>2] = $0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $12; + $13 = $5; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 32|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 96|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)<(0); + $25 = $24 << 31 >> 31; + $26 = ($18>>>0)>($25>>>0); + $27 = ($15>>>0)>($23>>>0); + $28 = ($18|0)==($25|0); + $29 = $28 & $27; + $30 = $26 | $29; + if ($30) { + HEAP32[$3>>2] = 18; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); } else { - $14 = HEAP32[$4>>2]|0; - $15 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $15; - _sqlite3Fts3ErrMsg($14,20595,$vararg_buffer); - HEAP32[$0>>2] = 1; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = $5; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + _sqlite3VdbeMemSetZeroBlob($32,$35); + HEAP32[$3>>2] = 0; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); } return (0)|0; } -function _sqlite3Fts3HashFind($pH,$pKey,$nKey) { - $pH = $pH|0; - $pKey = $pKey|0; - $nKey = $nKey|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pElem = 0, label = 0, sp = 0; +function _sqlite3_result_error_code($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; $2 = sp + 4|0; - $pElem = sp; - HEAP32[$0>>2] = $pH; - HEAP32[$1>>2] = $pKey; - HEAP32[$2>>2] = $nKey; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3Fts3HashFindElem($3,$4,$5)|0); - HEAP32[$pElem>>2] = $6; - $7 = HEAP32[$pElem>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - $12 = 0; - STACKTOP = sp;return ($12|0); + $6 = ((($5)) + 20|0); + HEAP32[$6>>2] = $4; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 25|0); + HEAP8[$8>>0] = 1; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + $14 = $13 & 1; + $15 = ($14|0)!=(0); + if (!($15)) { + STACKTOP = sp;return; } - $9 = HEAP32[$pElem>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = $11; - STACKTOP = sp;return ($12|0); -} -function _sqlite3Fts3ErrMsg($pzErr,$zFormat,$varargs) { - $pzErr = $pzErr|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $ap = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $ap = sp; - HEAP32[$0>>2] = $pzErr; - HEAP32[$1>>2] = $zFormat; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - _sqlite3_free($3); - HEAP32[$ap>>2] = $varargs; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3_vmprintf($4,$ap)|0); - $6 = HEAP32[$0>>2]|0; - HEAP32[$6>>2] = $5; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = (_sqlite3ErrStr($18)|0); + (_sqlite3VdbeMemSetStr($17,$19,-1,1,0)|0); STACKTOP = sp;return; } -function _sqlite3Fts3HashFindElem($pH,$pKey,$nKey) { - $pH = $pH|0; - $pKey = $pKey|0; - $nKey = $nKey|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $xHash = 0, label = 0, sp = 0; +function _sqlite3ErrStr($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $or$cond = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $h = sp + 4|0; - $xHash = sp; - HEAP32[$1>>2] = $pH; - HEAP32[$2>>2] = $pKey; - HEAP32[$3>>2] = $nKey; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 22296; + $3 = HEAP32[$1>>2]|0; + $cond = ($3|0)==(516); + if ($cond) { + HEAP32[$2>>2] = 22310; + } else { + $4 = HEAP32[$1>>2]|0; + $5 = $4 & 255; + HEAP32[$1>>2] = $5; $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { + $7 = ($6|0)>=(0); + $8 = HEAP32[$1>>2]|0; + $9 = ($8|0)<(27); + $or$cond = $7 & $9; + if ($or$cond) { $10 = HEAP32[$1>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (_ftsHashFunction($12)|0); - HEAP32[$xHash>>2] = $13; - $14 = HEAP32[$xHash>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = (FUNCTION_TABLE_iii[$14 & 255]($15,$16)|0); - HEAP32[$h>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$3>>2]|0; - $21 = HEAP32[$h>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 12|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) - 1)|0; - $26 = $21 & $25; - $27 = (_fts3FindElementByHash($18,$19,$20,$26)|0); - HEAP32[$0>>2] = $27; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $11 = (3612 + ($10<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + if ($13) { + $14 = HEAP32[$1>>2]|0; + $15 = (3612 + ($14<<2)|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$2>>2] = $16; + } } } - HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $17 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($17|0); } -function _ftsHashFunction($keyClass) { - $keyClass = $keyClass|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3VdbeMemSetZeroBlob($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $keyClass; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(1); - if ($3) { - HEAP32[$0>>2] = 180; - } else { - HEAP32[$0>>2] = 181; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + _sqlite3VdbeMemRelease($4); + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 8|0); + HEAP16[$6>>1] = 16400; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 12|0); + HEAP32[$8>>2] = 0; + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + HEAP32[$3>>2] = 0; } - $4 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($4|0); -} -function _fts3FindElementByHash($pH,$pKey,$nKey,$h) { - $pH = $pH|0; - $pKey = $pKey|0; - $nKey = $nKey|0; - $h = $h|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $count = 0, $elem = 0, $pEntry = 0, $xCompare = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $elem = sp + 12|0; - $count = sp + 8|0; - $xCompare = sp + 4|0; - $pEntry = sp; - HEAP32[$1>>2] = $pH; - HEAP32[$2>>2] = $pKey; - HEAP32[$3>>2] = $nKey; - HEAP32[$4>>2] = $h; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - L1: do { - if ($8) { - $9 = HEAP32[$4>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($9<<3)|0); - HEAP32[$pEntry>>2] = $13; - $14 = HEAP32[$pEntry>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$elem>>2] = $16; - $17 = HEAP32[$pEntry>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$count>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = (_ftsCompareFunction($21)|0); - HEAP32[$xCompare>>2] = $22; - while(1) { - $23 = HEAP32[$count>>2]|0; - $24 = (($23) + -1)|0; - HEAP32[$count>>2] = $24; - $25 = ($23|0)!=(0); - $26 = HEAP32[$elem>>2]|0; - $27 = ($26|0)!=(0|0); - $28 = $25 ? $27 : 0; - if (!($28)) { - break L1; - } - $29 = HEAP32[$xCompare>>2]|0; - $30 = HEAP32[$elem>>2]|0; - $31 = ((($30)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$elem>>2]|0; - $34 = ((($33)) + 16|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$2>>2]|0; - $37 = HEAP32[$3>>2]|0; - $38 = (FUNCTION_TABLE_iiiii[$29 & 255]($32,$35,$36,$37)|0); - $39 = ($38|0)==(0); - $40 = HEAP32[$elem>>2]|0; - if ($39) { - break; - } - $41 = HEAP32[$40>>2]|0; - HEAP32[$elem>>2] = $41; - } - HEAP32[$0>>2] = $40; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); - } - } while(0); - HEAP32[$0>>2] = 0; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$2>>2]|0; + HEAP32[$12>>2] = $11; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 10|0); + HEAP8[$14>>0] = 1; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 16|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; } -function _ftsCompareFunction($keyClass) { - $keyClass = $keyClass|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3_result_value($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $keyClass; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(1); - if ($3) { - HEAP32[$0>>2] = 142; - } else { - HEAP32[$0>>2] = 143; - } - $4 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($4|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$3>>2]|0; + (_sqlite3VdbeMemCopy($5,$6)|0); + STACKTOP = sp;return; } -function _fts3StrCompare($pKey1,$n1,$pKey2,$n2) { - $pKey1 = $pKey1|0; - $n1 = $n1|0; - $pKey2 = $pKey2|0; - $n2 = $n2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _contextMalloc($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; + $3 = sp + 16|0; $4 = sp; - HEAP32[$1>>2] = $pKey1; - HEAP32[$2>>2] = $n1; - HEAP32[$3>>2] = $pKey2; - HEAP32[$4>>2] = $n2; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$4>>2]|0; - $7 = ($5|0)!=($6|0); - if ($7) { - HEAP32[$0>>2] = 1; - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); - } else { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (_strncmp($8,$9,$10)|0); - HEAP32[$0>>2] = $11; - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); + $5 = sp + 12|0; + $6 = sp + 8|0; + HEAP32[$3>>2] = $0; + $7 = $4; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = HEAP32[$3>>2]|0; + $12 = (_sqlite3_context_db_handle($11)|0); + HEAP32[$6>>2] = $12; + $13 = $4; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 96|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)<(0); + $23 = $22 << 31 >> 31; + $24 = ($18|0)>($23|0); + $25 = ($15>>>0)>($21>>>0); + $26 = ($18|0)==($23|0); + $27 = $26 & $25; + $28 = $24 | $27; + if ($28) { + $29 = HEAP32[$3>>2]|0; + _sqlite3_result_error_toobig($29); + HEAP32[$5>>2] = 0; + $40 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($40|0); } - return (0)|0; + $30 = $4; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (_sqlite3Malloc($32,$35)|0); + HEAP32[$5>>2] = $36; + $37 = HEAP32[$5>>2]|0; + $38 = ($37|0)!=(0|0); + if ($38) { + $40 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($40|0); + } + $39 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($39); + $40 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($40|0); } -function _fts3BinCompare($pKey1,$n1,$pKey2,$n2) { - $pKey1 = $pKey1|0; - $n1 = $n1|0; - $pKey2 = $pKey2|0; - $n2 = $n2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3VdbeMemCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 8|0; $3 = sp + 4|0; $4 = sp; - HEAP32[$1>>2] = $pKey1; - HEAP32[$2>>2] = $n1; - HEAP32[$3>>2] = $pKey2; - HEAP32[$4>>2] = $n2; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$4>>2]|0; - $7 = ($5|0)!=($6|0); - if ($7) { - HEAP32[$0>>2] = 1; - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); - } else { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (_memcmp($8,$9,$10)|0); - HEAP32[$0>>2] = $11; - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); + $6 = ((($5)) + 8|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + $9 = $8 & 9312; + $10 = ($9|0)!=(0); + if ($10) { + $11 = HEAP32[$2>>2]|0; + _vdbeMemClearExternAndSetNull($11); } - return (0)|0; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$3>>2]|0; + ;HEAP32[$12>>2]=HEAP32[$13>>2]|0;HEAP32[$12+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$12+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[$12+12>>2]=HEAP32[$13+12>>2]|0;HEAP32[$12+16>>2]=HEAP32[$13+16>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = $17 & -1025; + $19 = $18&65535; + HEAP16[$15>>1] = $19; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = $23 & 18; + $25 = ($24|0)!=(0); + if (!($25)) { + $40 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($40|0); + } + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28&65535; + $30 = $29 & 2048; + $31 = (0)==($30|0); + if (!($31)) { + $40 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($40|0); + } + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP16[$33>>1]|0; + $35 = $34&65535; + $36 = $35 | 4096; + $37 = $36&65535; + HEAP16[$33>>1] = $37; + $38 = HEAP32[$2>>2]|0; + $39 = (_sqlite3VdbeMemMakeWriteable($38)|0); + HEAP32[$4>>2] = $39; + $40 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($40|0); } -function _fts3StrHash($pKey,$nKey) { - $pKey = $pKey|0; - $nKey = $nKey|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $h = 0, $z = 0, label = 0, sp = 0; +function _sqlite3_total_changes($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $z = sp + 4|0; - $h = sp; - HEAP32[$0>>2] = $pKey; - HEAP32[$1>>2] = $nKey; - $2 = HEAP32[$0>>2]|0; - HEAP32[$z>>2] = $2; - HEAP32[$h>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)<=(0); - if ($4) { - $5 = HEAP32[$z>>2]|0; - $6 = (_strlen($5)|0); - HEAP32[$1>>2] = $6; - } - while(1) { - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)>(0); - $9 = HEAP32[$h>>2]|0; - if (!($8)) { - break; - } - $10 = $9 << 3; - $11 = HEAP32[$h>>2]|0; - $12 = $10 ^ $11; - $13 = HEAP32[$z>>2]|0; - $14 = ((($13)) + 1|0); - HEAP32[$z>>2] = $14; - $15 = HEAP8[$13>>0]|0; - $16 = $15 << 24 >> 24; - $17 = $12 ^ $16; - HEAP32[$h>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + -1)|0; - HEAP32[$1>>2] = $19; - } - $20 = $9 & 2147483647; - STACKTOP = sp;return ($20|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 92|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); } -function _fts3BinHash($pKey,$nKey) { - $pKey = $pKey|0; - $nKey = $nKey|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $z = 0, label = 0, sp = 0; +function _sqlite3_changes($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $h = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $pKey; - HEAP32[$1>>2] = $nKey; - HEAP32[$h>>2] = 0; - $2 = HEAP32[$0>>2]|0; - HEAP32[$z>>2] = $2; - while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + -1)|0; - HEAP32[$1>>2] = $4; - $5 = ($3|0)>(0); - $6 = HEAP32[$h>>2]|0; - if (!($5)) { - break; - } - $7 = $6 << 3; - $8 = HEAP32[$h>>2]|0; - $9 = $7 ^ $8; - $10 = HEAP32[$z>>2]|0; - $11 = ((($10)) + 1|0); - HEAP32[$z>>2] = $11; - $12 = HEAP8[$10>>0]|0; - $13 = $12 << 24 >> 24; - $14 = $9 ^ $13; - HEAP32[$h>>2] = $14; - } - $15 = $6 & 2147483647; - STACKTOP = sp;return ($15|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 88|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); } -function _sqlite3Fts3Dequote($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iIn = 0, $iOut = 0, $quote = 0; - var label = 0, sp = 0; +function _sqlite3_last_insert_rowid($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $quote = sp + 12|0; - $iIn = sp + 4|0; - $iOut = sp; - HEAP32[$0>>2] = $z; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - HEAP8[$quote>>0] = $2; - $3 = HEAP8[$quote>>0]|0; - $4 = $3 << 24 >> 24; - $5 = ($4|0)==(91); - if (!($5)) { - $6 = HEAP8[$quote>>0]|0; - $7 = $6 << 24 >> 24; - $8 = ($7|0)==(39); - if (!($8)) { - $9 = HEAP8[$quote>>0]|0; - $10 = $9 << 24 >> 24; - $11 = ($10|0)==(34); - if (!($11)) { - $12 = HEAP8[$quote>>0]|0; - $13 = $12 << 24 >> 24; - $14 = ($13|0)==(96); - if (!($14)) { - STACKTOP = sp;return; - } - } - } - } - HEAP32[$iIn>>2] = 1; - HEAP32[$iOut>>2] = 0; - $15 = HEAP8[$quote>>0]|0; - $16 = $15 << 24 >> 24; - $17 = ($16|0)==(91); - if ($17) { - HEAP8[$quote>>0] = 93; - } - while(1) { - $18 = HEAP32[$iIn>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = (($19) + ($18)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)!=(0); - if (!($22)) { - break; - } - $23 = HEAP32[$iIn>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - $28 = HEAP8[$quote>>0]|0; - $29 = $28 << 24 >> 24; - $30 = ($27|0)==($29|0); - $31 = HEAP32[$iIn>>2]|0; - $32 = (($31) + 1)|0; - if (!($30)) { - HEAP32[$iIn>>2] = $32; - $47 = HEAP32[$0>>2]|0; - $48 = (($47) + ($31)|0); - $49 = HEAP8[$48>>0]|0; - $50 = HEAP32[$iOut>>2]|0; - $51 = (($50) + 1)|0; - HEAP32[$iOut>>2] = $51; - $52 = HEAP32[$0>>2]|0; - $53 = (($52) + ($50)|0); - HEAP8[$53>>0] = $49; - continue; - } - $33 = HEAP32[$0>>2]|0; - $34 = (($33) + ($32)|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35 << 24 >> 24; - $37 = HEAP8[$quote>>0]|0; - $38 = $37 << 24 >> 24; - $39 = ($36|0)!=($38|0); - if ($39) { - break; - } - $40 = HEAP8[$quote>>0]|0; - $41 = HEAP32[$iOut>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$iOut>>2] = $42; - $43 = HEAP32[$0>>2]|0; - $44 = (($43) + ($41)|0); - HEAP8[$44>>0] = $40; - $45 = HEAP32[$iIn>>2]|0; - $46 = (($45) + 2)|0; - HEAP32[$iIn>>2] = $46; - } - $54 = HEAP32[$iOut>>2]|0; - $55 = HEAP32[$0>>2]|0; - $56 = (($55) + ($54)|0); - HEAP8[$56>>0] = 0; - STACKTOP = sp;return; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 32|0); + $4 = $3; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + 4)|0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + tempRet0 = ($9); + STACKTOP = sp;return ($6|0); } -function _fts3CreateMethod($db,$pAux,$argc,$argv,$ppVtab,$pzErr) { - $db = $db|0; - $pAux = $pAux|0; - $argc = $argc|0; - $argv = $argv|0; - $ppVtab = $ppVtab|0; - $pzErr = $pzErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3GetFuncCollSeq($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $5 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pAux; - HEAP32[$2>>2] = $argc; - HEAP32[$3>>2] = $argv; - HEAP32[$4>>2] = $ppVtab; - HEAP32[$5>>2] = $pzErr; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$4>>2]|0; - $11 = HEAP32[$5>>2]|0; - $12 = (_fts3InitVtab(1,$6,$7,$8,$9,$10,$11)|0); - STACKTOP = sp;return ($12|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 88|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) - 1)|0; + $12 = (($7) + (($11*20)|0)|0); + HEAP32[$2>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($15|0); } -function _fts3ConnectMethod($db,$pAux,$argc,$argv,$ppVtab,$pzErr) { - $db = $db|0; - $pAux = $pAux|0; - $argc = $argc|0; - $argv = $argv|0; - $ppVtab = $ppVtab|0; - $pzErr = $pzErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3MemCompare($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0.0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $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.0; + var $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0.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; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $5 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pAux; - HEAP32[$2>>2] = $argc; - HEAP32[$3>>2] = $argv; - HEAP32[$4>>2] = $ppVtab; - HEAP32[$5>>2] = $pzErr; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$3>>2]|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; $10 = HEAP32[$4>>2]|0; - $11 = HEAP32[$5>>2]|0; - $12 = (_fts3InitVtab(0,$6,$7,$8,$9,$10,$11)|0); - STACKTOP = sp;return ($12|0); -} -function _fts3BestIndexMethod($pVTab,$pInfo) { - $pVTab = $pVTab|0; - $pInfo = $pInfo|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $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, $bDocid = 0, $i = 0, $iCons = 0, $iDocidGe = 0, $iDocidLe = 0, $iIdx = 0, $iLangidCons = 0, $or$cond = 0, $p = 0, $pCons = 0, $pOrder = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $p = sp + 36|0; - $i = sp + 32|0; - $iCons = sp + 28|0; - $iLangidCons = sp + 24|0; - $iDocidGe = sp + 20|0; - $iDocidLe = sp + 16|0; - $iIdx = sp + 12|0; - $bDocid = sp + 8|0; - $pCons = sp + 4|0; - $pOrder = sp; - HEAP32[$1>>2] = $pVTab; - HEAP32[$2>>2] = $pInfo; - $3 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $3; - HEAP32[$iCons>>2] = -1; - HEAP32[$iLangidCons>>2] = -1; - HEAP32[$iDocidGe>>2] = -1; - HEAP32[$iDocidLe>>2] = -1; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 20|0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 40|0); - HEAPF64[$7>>3] = 5.0E+6; - HEAP32[$i>>2] = 0; - L1: while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ($8|0)<($10|0); - if (!($11)) { - break; - } - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + (($12*12)|0)|0); - HEAP32[$pCons>>2] = $16; - $17 = HEAP32[$pCons>>2]|0; - $18 = ((($17)) + 5|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)==(0); - $22 = HEAP32[$pCons>>2]|0; - L4: do { - if ($21) { - $23 = ((($22)) + 4|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = ($25|0)==(64); - if ($26) { - label = 5; - break L1; - } - } else { - $32 = HEAP32[$22>>2]|0; - $33 = ($32|0)<(0); - if ($33) { - $42 = 1; - } else { - $34 = HEAP32[$pCons>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$p>>2]|0; - $37 = ((($36)) + 24|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + 1)|0; - $40 = ($35|0)==($39|0); - $42 = $40; - } - $41 = $42&1; - HEAP32[$bDocid>>2] = $41; - $43 = HEAP32[$iCons>>2]|0; - $44 = ($43|0)<(0); - if ($44) { - $45 = HEAP32[$pCons>>2]|0; - $46 = ((($45)) + 4|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = ($48|0)==(2); - $50 = HEAP32[$bDocid>>2]|0; - $51 = ($50|0)!=(0); - $or$cond = $49 & $51; - if ($or$cond) { - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 20|0); - HEAP32[$53>>2] = 1; - $54 = HEAP32[$2>>2]|0; - $55 = ((($54)) + 40|0); - HEAPF64[$55>>3] = 1.0; - $56 = HEAP32[$i>>2]|0; - HEAP32[$iCons>>2] = $56; - } - } - $57 = HEAP32[$pCons>>2]|0; - $58 = ((($57)) + 4|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = ($60|0)==(64); - if ($61) { - $62 = HEAP32[$pCons>>2]|0; - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)>=(0); - if ($64) { - $65 = HEAP32[$pCons>>2]|0; - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$p>>2]|0; - $68 = ((($67)) + 24|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($66|0)<=($69|0); - if ($70) { - $71 = HEAP32[$pCons>>2]|0; - $72 = HEAP32[$71>>2]|0; - $73 = (2 + ($72))|0; - $74 = HEAP32[$2>>2]|0; - $75 = ((($74)) + 20|0); - HEAP32[$75>>2] = $73; - $76 = HEAP32[$2>>2]|0; - $77 = ((($76)) + 40|0); - HEAPF64[$77>>3] = 2.0; - $78 = HEAP32[$i>>2]|0; - HEAP32[$iCons>>2] = $78; - } - } - } - $79 = HEAP32[$pCons>>2]|0; - $80 = ((($79)) + 4|0); - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $83 = ($82|0)==(2); - if ($83) { - $84 = HEAP32[$pCons>>2]|0; - $85 = HEAP32[$84>>2]|0; - $86 = HEAP32[$p>>2]|0; - $87 = ((($86)) + 24|0); - $88 = HEAP32[$87>>2]|0; - $89 = (($88) + 2)|0; - $90 = ($85|0)==($89|0); - if ($90) { - $91 = HEAP32[$i>>2]|0; - HEAP32[$iLangidCons>>2] = $91; - } - } - $92 = HEAP32[$bDocid>>2]|0; - $93 = ($92|0)!=(0); - if ($93) { - $94 = HEAP32[$pCons>>2]|0; - $95 = ((($94)) + 4|0); - $96 = HEAP8[$95>>0]|0; - $97 = $96&255; - switch ($97|0) { - case 4: case 32: { - $98 = HEAP32[$i>>2]|0; - HEAP32[$iDocidGe>>2] = $98; - break L4; + $11 = ((($10)) + 8|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + HEAP32[$7>>2] = $13; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + HEAP32[$8>>2] = $17; + $18 = HEAP32[$7>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = $18 | $19; + HEAP32[$9>>2] = $20; + $21 = HEAP32[$9>>2]|0; + $22 = $21 & 1; + $23 = ($22|0)!=(0); + do { + if ($23) { + $24 = HEAP32[$8>>2]|0; + $25 = $24 & 1; + $26 = HEAP32[$7>>2]|0; + $27 = $26 & 1; + $28 = (($25) - ($27))|0; + HEAP32[$3>>2] = $28; + } else { + $29 = HEAP32[$9>>2]|0; + $30 = $29 & 12; + $31 = ($30|0)!=(0); + if (!($31)) { + $123 = HEAP32[$9>>2]|0; + $124 = $123 & 2; + $125 = ($124|0)!=(0); + if ($125) { + $126 = HEAP32[$7>>2]|0; + $127 = $126 & 2; + $128 = ($127|0)==(0); + if ($128) { + HEAP32[$3>>2] = 1; break; } - case 16: case 8: { - $99 = HEAP32[$i>>2]|0; - HEAP32[$iDocidLe>>2] = $99; - break L4; + $129 = HEAP32[$8>>2]|0; + $130 = $129 & 2; + $131 = ($130|0)==(0); + if ($131) { + HEAP32[$3>>2] = -1; break; } - default: { - break L4; - } + $132 = HEAP32[$6>>2]|0; + $133 = ($132|0)!=(0|0); + if ($133) { + $134 = HEAP32[$4>>2]|0; + $135 = HEAP32[$5>>2]|0; + $136 = HEAP32[$6>>2]|0; + $137 = (_vdbeCompareMemString($134,$135,$136,0)|0); + HEAP32[$3>>2] = $137; + break; } } + $138 = HEAP32[$4>>2]|0; + $139 = HEAP32[$5>>2]|0; + $140 = (_sqlite3BlobCompare($138,$139)|0); + HEAP32[$3>>2] = $140; + break; } - } while(0); - $100 = HEAP32[$i>>2]|0; - $101 = (($100) + 1)|0; - HEAP32[$i>>2] = $101; - } - if ((label|0) == 5) { - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 20|0); - HEAP32[$28>>2] = 0; - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 40|0); - HEAPF64[$30>>3] = 1.0000000000000001E+50; - $31 = HEAP32[$2>>2]|0; - _fts3SetEstimatedRows($31,0,262144); - HEAP32[$0>>2] = 0; - $186 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($186|0); - } - $102 = HEAP32[$2>>2]|0; - $103 = ((($102)) + 20|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==(1); - if ($105) { - $106 = HEAP32[$2>>2]|0; - _fts3SetUniqueFlag($106); - } - HEAP32[$iIdx>>2] = 1; - $107 = HEAP32[$iCons>>2]|0; - $108 = ($107|0)>=(0); - if ($108) { - $109 = HEAP32[$iIdx>>2]|0; - $110 = (($109) + 1)|0; - HEAP32[$iIdx>>2] = $110; - $111 = HEAP32[$iCons>>2]|0; - $112 = HEAP32[$2>>2]|0; - $113 = ((($112)) + 16|0); - $114 = HEAP32[$113>>2]|0; - $115 = (($114) + ($111<<3)|0); - HEAP32[$115>>2] = $109; - $116 = HEAP32[$iCons>>2]|0; - $117 = HEAP32[$2>>2]|0; - $118 = ((($117)) + 16|0); - $119 = HEAP32[$118>>2]|0; - $120 = (($119) + ($116<<3)|0); - $121 = ((($120)) + 4|0); - HEAP8[$121>>0] = 1; - } - $122 = HEAP32[$iLangidCons>>2]|0; - $123 = ($122|0)>=(0); - if ($123) { - $124 = HEAP32[$2>>2]|0; - $125 = ((($124)) + 20|0); - $126 = HEAP32[$125>>2]|0; - $127 = $126 | 65536; - HEAP32[$125>>2] = $127; - $128 = HEAP32[$iIdx>>2]|0; - $129 = (($128) + 1)|0; - HEAP32[$iIdx>>2] = $129; - $130 = HEAP32[$iLangidCons>>2]|0; - $131 = HEAP32[$2>>2]|0; - $132 = ((($131)) + 16|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($133) + ($130<<3)|0); - HEAP32[$134>>2] = $128; - } - $135 = HEAP32[$iDocidGe>>2]|0; - $136 = ($135|0)>=(0); - if ($136) { - $137 = HEAP32[$2>>2]|0; - $138 = ((($137)) + 20|0); - $139 = HEAP32[$138>>2]|0; - $140 = $139 | 131072; - HEAP32[$138>>2] = $140; - $141 = HEAP32[$iIdx>>2]|0; - $142 = (($141) + 1)|0; - HEAP32[$iIdx>>2] = $142; - $143 = HEAP32[$iDocidGe>>2]|0; - $144 = HEAP32[$2>>2]|0; - $145 = ((($144)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = (($146) + ($143<<3)|0); - HEAP32[$147>>2] = $141; - } - $148 = HEAP32[$iDocidLe>>2]|0; - $149 = ($148|0)>=(0); - if ($149) { - $150 = HEAP32[$2>>2]|0; - $151 = ((($150)) + 20|0); - $152 = HEAP32[$151>>2]|0; - $153 = $152 | 262144; - HEAP32[$151>>2] = $153; - $154 = HEAP32[$iIdx>>2]|0; - $155 = (($154) + 1)|0; - HEAP32[$iIdx>>2] = $155; - $156 = HEAP32[$iDocidLe>>2]|0; - $157 = HEAP32[$2>>2]|0; - $158 = ((($157)) + 16|0); - $159 = HEAP32[$158>>2]|0; - $160 = (($159) + ($156<<3)|0); - HEAP32[$160>>2] = $154; - } - $161 = HEAP32[$2>>2]|0; - $162 = ((($161)) + 8|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==(1); - do { - if ($164) { - $165 = HEAP32[$2>>2]|0; - $166 = ((($165)) + 12|0); - $167 = HEAP32[$166>>2]|0; - HEAP32[$pOrder>>2] = $167; - $168 = HEAP32[$pOrder>>2]|0; - $169 = HEAP32[$168>>2]|0; - $170 = ($169|0)<(0); - if (!($170)) { - $171 = HEAP32[$pOrder>>2]|0; - $172 = HEAP32[$171>>2]|0; - $173 = HEAP32[$p>>2]|0; - $174 = ((($173)) + 24|0); - $175 = HEAP32[$174>>2]|0; - $176 = (($175) + 1)|0; - $177 = ($172|0)==($176|0); - if (!($177)) { + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = $32 & $33; + $35 = $34 & 4; + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$4>>2]|0; + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = $44; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = ($43|0)<($50|0); + $52 = ($40>>>0)<($47>>>0); + $53 = ($43|0)==($50|0); + $54 = $53 & $52; + $55 = $51 | $54; + if ($55) { + HEAP32[$3>>2] = -1; + break; + } + $56 = HEAP32[$4>>2]|0; + $57 = $56; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$5>>2]|0; + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = ($62|0)>($69|0); + $71 = ($59>>>0)>($66>>>0); + $72 = ($62|0)==($69|0); + $73 = $72 & $71; + $74 = $70 | $73; + if ($74) { + HEAP32[$3>>2] = 1; + break; + } else { + HEAP32[$3>>2] = 0; break; } } - $178 = HEAP32[$pOrder>>2]|0; - $179 = ((($178)) + 4|0); - $180 = HEAP8[$179>>0]|0; - $181 = ($180<<24>>24)!=(0); - $182 = HEAP32[$2>>2]|0; - $183 = ((($182)) + 24|0); - if ($181) { - HEAP32[$183>>2] = 23624; + $75 = HEAP32[$7>>2]|0; + $76 = HEAP32[$8>>2]|0; + $77 = $75 & $76; + $78 = $77 & 8; + $79 = ($78|0)!=(0); + if ($79) { + $80 = HEAP32[$4>>2]|0; + $81 = +HEAPF64[$80>>3]; + $82 = HEAP32[$5>>2]|0; + $83 = +HEAPF64[$82>>3]; + $84 = $81 < $83; + if ($84) { + HEAP32[$3>>2] = -1; + break; + } + $85 = HEAP32[$4>>2]|0; + $86 = +HEAPF64[$85>>3]; + $87 = HEAP32[$5>>2]|0; + $88 = +HEAPF64[$87>>3]; + $89 = $86 > $88; + if ($89) { + HEAP32[$3>>2] = 1; + break; + } else { + HEAP32[$3>>2] = 0; + break; + } + } + $90 = HEAP32[$7>>2]|0; + $91 = $90 & 4; + $92 = ($91|0)!=(0); + if ($92) { + $93 = HEAP32[$8>>2]|0; + $94 = $93 & 8; + $95 = ($94|0)!=(0); + if ($95) { + $96 = HEAP32[$4>>2]|0; + $97 = $96; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$5>>2]|0; + $104 = +HEAPF64[$103>>3]; + $105 = (_sqlite3IntFloatCompare($99,$102,$104)|0); + HEAP32[$3>>2] = $105; + break; + } else { + HEAP32[$3>>2] = -1; + break; + } + } + $106 = HEAP32[$7>>2]|0; + $107 = $106 & 8; + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$3>>2] = 1; + break; + } + $109 = HEAP32[$8>>2]|0; + $110 = $109 & 4; + $111 = ($110|0)!=(0); + if ($111) { + $112 = HEAP32[$5>>2]|0; + $113 = $112; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = (($113) + 4)|0; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$4>>2]|0; + $120 = +HEAPF64[$119>>3]; + $121 = (_sqlite3IntFloatCompare($115,$118,$120)|0); + $122 = (0 - ($121))|0; + HEAP32[$3>>2] = $122; + break; } else { - HEAP32[$183>>2] = 23629; + HEAP32[$3>>2] = -1; + break; } - $184 = HEAP32[$2>>2]|0; - $185 = ((($184)) + 32|0); - HEAP32[$185>>2] = 1; } } while(0); - HEAP32[$0>>2] = 0; - $186 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($186|0); + $141 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($141|0); } -function _fts3DisconnectMethod($pVtab) { - $pVtab = $pVtab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $p = 0, label = 0, sp = 0; +function _sqlite3IntFloatCompare($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0.0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, $or$cond = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $p = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pVtab; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - HEAP32[$i>>2] = 0; - while(1) { - $2 = HEAP32[$i>>2]|0; - $3 = ($2|0)<(40); - if (!($3)) { - break; - } - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 56|0); - $7 = (($6) + ($4<<2)|0); - $8 = HEAP32[$7>>2]|0; - (_sqlite3_finalize($8)|0); - $9 = HEAP32[$i>>2]|0; - $10 = (($9) + 1)|0; - HEAP32[$i>>2] = $10; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 24|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = $4; + $9 = $8; + HEAP32[$9>>2] = $0; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $1; + HEAPF64[$5>>3] = $2; + $12 = +HEAPF64[$5>>3]; + $13 = $12 < -9.2233720368547758E+18; + if ($13) { + HEAP32[$3>>2] = 1; + $81 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($81|0); } - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 240|0); - $13 = HEAP32[$12>>2]|0; - _sqlite3_free($13); - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 216|0); - $16 = HEAP32[$15>>2]|0; - _sqlite3_free($16); - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 220|0); - $19 = HEAP32[$18>>2]|0; - _sqlite3_free($19); - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 40|0); - $22 = HEAP32[$21>>2]|0; - _sqlite3_free($22); - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 44|0); + $14 = +HEAPF64[$5>>3]; + $15 = $14 > 9.2233720368547758E+18; + if ($15) { + HEAP32[$3>>2] = -1; + $81 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($81|0); + } + $16 = +HEAPF64[$5>>3]; + $17 = (~~$16)>>>0; + $18 = +Math_abs($16) >= 1.0 ? $16 > 0.0 ? (~~+Math_min(+Math_floor($16 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($16 - +(~~$16 >>> 0)) / 4294967296.0) >>> 0 : 0; + $19 = $6; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = $4; + $24 = $23; $25 = HEAP32[$24>>2]|0; - _sqlite3_free($25); - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 36|0); + $26 = (($23) + 4)|0; + $27 = $26; $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 8|0); + $29 = $6; + $30 = $29; $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 36|0); + $32 = (($29) + 4)|0; + $33 = $32; $34 = HEAP32[$33>>2]|0; - (FUNCTION_TABLE_ii[$31 & 255]($34)|0); - $35 = HEAP32[$p>>2]|0; - _sqlite3_free($35); - STACKTOP = sp;return 0; -} -function _fts3DestroyMethod($pVtab) { - $pVtab = $pVtab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, $zDb = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer14 = sp + 32|0; - $vararg_buffer10 = sp + 24|0; - $vararg_buffer6 = sp + 16|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 56|0; - $p = sp + 52|0; - $rc = sp + 48|0; - $zDb = sp + 44|0; - $db = sp + 40|0; - HEAP32[$0>>2] = $pVtab; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$p>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$zDb>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$db>>2] = $7; - $8 = HEAP32[$p>>2]|0; - $9 = ((($8)) + 40|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $12 = HEAP32[$db>>2]|0; - $13 = HEAP32[$zDb>>2]|0; - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 20|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$vararg_buffer>>2] = $13; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $16; - _fts3DbExec($rc,$12,23824,$vararg_buffer); + $35 = ($28|0)<($34|0); + $36 = ($25>>>0)<($31>>>0); + $37 = ($28|0)==($34|0); + $38 = $37 & $36; + $39 = $35 | $38; + if ($39) { + HEAP32[$3>>2] = -1; + $81 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($81|0); } - $17 = HEAP32[$db>>2]|0; - $18 = HEAP32[$zDb>>2]|0; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 20|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$vararg_buffer2>>2] = $18; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $21; - _fts3DbExec($rc,$17,23861,$vararg_buffer2); - $22 = HEAP32[$db>>2]|0; - $23 = HEAP32[$zDb>>2]|0; - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 20|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$vararg_buffer6>>2] = $23; - $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $26; - _fts3DbExec($rc,$22,23899,$vararg_buffer6); - $27 = HEAP32[$db>>2]|0; - $28 = HEAP32[$zDb>>2]|0; - $29 = HEAP32[$p>>2]|0; - $30 = ((($29)) + 20|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$vararg_buffer10>>2] = $28; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $31; - _fts3DbExec($rc,$27,23935,$vararg_buffer10); - $32 = HEAP32[$db>>2]|0; - $33 = HEAP32[$zDb>>2]|0; - $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 20|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$vararg_buffer14>>2] = $33; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $36; - _fts3DbExec($rc,$32,23972,$vararg_buffer14); - $37 = HEAP32[$rc>>2]|0; - $38 = ($37|0)==(0); - if ($38) { - $39 = HEAP32[$0>>2]|0; - $40 = (_fts3DisconnectMethod($39)|0); - $42 = $40; - STACKTOP = sp;return ($42|0); - } else { - $41 = HEAP32[$rc>>2]|0; - $42 = $41; - STACKTOP = sp;return ($42|0); + $40 = $4; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $6; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = ($45|0)>($51|0); + $53 = ($42>>>0)>($48>>>0); + $54 = ($45|0)==($51|0); + $55 = $54 & $53; + $56 = $52 | $55; + if ($56) { + $57 = $6; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = ($59|0)==(0); + $64 = ($62|0)==(-2147483648); + $65 = $63 & $64; + $66 = +HEAPF64[$5>>3]; + $67 = $66 > 0.0; + $or$cond = $65 & $67; + if ($or$cond) { + HEAP32[$3>>2] = -1; + $81 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($81|0); + } else { + HEAP32[$3>>2] = 1; + $81 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($81|0); + } } - return (0)|0; -} -function _fts3OpenMethod($pVTab,$ppCsr) { - $pVTab = $pVTab|0; - $ppCsr = $ppCsr|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $pCsr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pCsr = sp; - HEAP32[$1>>2] = $pVTab; - HEAP32[$2>>2] = $ppCsr; - $3 = (_sqlite3_malloc(96)|0); - HEAP32[$pCsr>>2] = $3; - $4 = HEAP32[$2>>2]|0; - HEAP32[$4>>2] = $3; - $5 = HEAP32[$pCsr>>2]|0; - $6 = ($5|0)!=(0|0); - if ($6) { - $7 = HEAP32[$pCsr>>2]|0; - dest=$7; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - HEAP32[$0>>2] = 0; - $8 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($8|0); + $68 = $4; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (+($70>>>0)) + (4294967296.0*(+($73|0))); + HEAPF64[$7>>3] = $74; + $75 = +HEAPF64[$7>>3]; + $76 = +HEAPF64[$5>>3]; + $77 = $75 < $76; + if ($77) { + HEAP32[$3>>2] = -1; + $81 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($81|0); + } + $78 = +HEAPF64[$7>>3]; + $79 = +HEAPF64[$5>>3]; + $80 = $78 > $79; + if ($80) { + HEAP32[$3>>2] = 1; + $81 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($81|0); } else { - HEAP32[$0>>2] = 7; - $8 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($8|0); + HEAP32[$3>>2] = 0; + $81 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($81|0); } return (0)|0; } -function _fts3CloseMethod($pCursor) { - $pCursor = $pCursor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCsr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pCursor; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $1; - $2 = HEAP32[$pCsr>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - (_sqlite3_finalize($4)|0); - $5 = HEAP32[$pCsr>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP32[$6>>2]|0; - _sqlite3Fts3ExprFree($7); - $8 = HEAP32[$pCsr>>2]|0; - _sqlite3Fts3FreeDeferredTokens($8); - $9 = HEAP32[$pCsr>>2]|0; - $10 = ((($9)) + 44|0); - $11 = HEAP32[$10>>2]|0; - _sqlite3_free($11); - $12 = HEAP32[$pCsr>>2]|0; - $13 = ((($12)) + 92|0); - $14 = HEAP32[$13>>2]|0; - _sqlite3Fts3MIBufferFree($14); - $15 = HEAP32[$pCsr>>2]|0; - _sqlite3_free($15); - STACKTOP = sp;return 0; -} -function _fts3FilterMethod($pCursor,$idxNum,$idxStr,$nVal,$apVal) { - $pCursor = $pCursor|0; - $idxNum = $idxNum|0; - $idxStr = $idxStr|0; - $nVal = $nVal|0; - $apVal = $apVal|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $eSearch = 0, $iCol = 0, $iIdx = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pCons = 0, $pCsr = 0; - var $pDocidGe = 0, $pDocidLe = 0, $pLangid = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $zQuery = 0, $zSql = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _vdbeCompareMemString($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, $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, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer = sp; - $0 = sp + 108|0; - $1 = sp + 104|0; - $2 = sp + 100|0; - $3 = sp + 96|0; - $4 = sp + 92|0; - $5 = sp + 88|0; - $rc = sp + 84|0; - $zSql = sp + 80|0; - $eSearch = sp + 76|0; - $p = sp + 72|0; - $pCsr = sp + 68|0; - $pCons = sp + 64|0; - $pLangid = sp + 60|0; - $pDocidGe = sp + 56|0; - $pDocidLe = sp + 52|0; - $iIdx = sp + 48|0; - $iCol = sp + 44|0; - $zQuery = sp + 40|0; - HEAP32[$1>>2] = $pCursor; - HEAP32[$2>>2] = $idxNum; - HEAP32[$3>>2] = $idxStr; - HEAP32[$4>>2] = $nVal; - HEAP32[$5>>2] = $apVal; - HEAP32[$rc>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$p>>2] = $7; - $8 = HEAP32[$1>>2]|0; - HEAP32[$pCsr>>2] = $8; - HEAP32[$pCons>>2] = 0; - HEAP32[$pLangid>>2] = 0; - HEAP32[$pDocidGe>>2] = 0; - HEAP32[$pDocidLe>>2] = 0; - $9 = HEAP32[$2>>2]|0; - $10 = $9 & 65535; - HEAP32[$eSearch>>2] = $10; - HEAP32[$iIdx>>2] = 0; - $11 = HEAP32[$eSearch>>2]|0; - $12 = ($11|0)!=(0); - if ($12) { - $13 = HEAP32[$iIdx>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[$iIdx>>2] = $14; - $15 = HEAP32[$5>>2]|0; - $16 = (($15) + ($13<<2)|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$pCons>>2] = $17; - } - $18 = HEAP32[$2>>2]|0; - $19 = $18 & 65536; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$iIdx>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$iIdx>>2] = $22; - $23 = HEAP32[$5>>2]|0; - $24 = (($23) + ($21<<2)|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pLangid>>2] = $25; - } - $26 = HEAP32[$2>>2]|0; - $27 = $26 & 131072; - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$iIdx>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$iIdx>>2] = $30; + STACKTOP = STACKTOP + 128|0; + $4 = sp + 116|0; + $5 = sp + 112|0; + $6 = sp + 108|0; + $7 = sp + 104|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 92|0; + $11 = sp + 88|0; + $12 = sp + 84|0; + $13 = sp + 80|0; + $14 = sp + 40|0; + $15 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 10|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = HEAP32[$7>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($19|0)==($23|0); + if ($24) { + $25 = HEAP32[$7>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$7>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$5>>2]|0; - $32 = (($31) + ($29<<2)|0); + $32 = ((($31)) + 12|0); $33 = HEAP32[$32>>2]|0; - HEAP32[$pDocidGe>>2] = $33; + $34 = HEAP32[$5>>2]|0; + $35 = ((($34)) + 16|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$6>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = ((($40)) + 16|0); + $42 = HEAP32[$41>>2]|0; + $43 = (FUNCTION_TABLE_iiiiii[$27 & 255]($30,$33,$36,$39,$42)|0); + HEAP32[$4>>2] = $43; + $89 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($89|0); } - $34 = HEAP32[$2>>2]|0; - $35 = $34 & 262144; - $36 = ($35|0)!=(0); - if ($36) { - $37 = HEAP32[$iIdx>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$iIdx>>2] = $38; - $39 = HEAP32[$5>>2]|0; - $40 = (($39) + ($37<<2)|0); - $41 = HEAP32[$40>>2]|0; - HEAP32[$pDocidLe>>2] = $41; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 32|0); + $46 = HEAP32[$45>>2]|0; + _sqlite3VdbeMemInit($14,$46,1); + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 32|0); + $49 = HEAP32[$48>>2]|0; + _sqlite3VdbeMemInit($15,$49,1); + $50 = HEAP32[$5>>2]|0; + _sqlite3VdbeMemShallowCopy($14,$50,4096); + $51 = HEAP32[$6>>2]|0; + _sqlite3VdbeMemShallowCopy($15,$51,4096); + $52 = HEAP32[$7>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP8[$53>>0]|0; + $55 = (_sqlite3ValueText($14,$54)|0); + HEAP32[$10>>2] = $55; + $56 = HEAP32[$10>>2]|0; + $57 = ($56|0)==(0|0); + $58 = ((($14)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = $57 ? 0 : $59; + HEAP32[$12>>2] = $60; + $61 = HEAP32[$7>>2]|0; + $62 = ((($61)) + 4|0); + $63 = HEAP8[$62>>0]|0; + $64 = (_sqlite3ValueText($15,$63)|0); + HEAP32[$11>>2] = $64; + $65 = HEAP32[$11>>2]|0; + $66 = ($65|0)==(0|0); + $67 = ((($15)) + 12|0); + $68 = HEAP32[$67>>2]|0; + $69 = $66 ? 0 : $68; + HEAP32[$13>>2] = $69; + $70 = HEAP32[$7>>2]|0; + $71 = ((($70)) + 12|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$7>>2]|0; + $74 = ((($73)) + 8|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$12>>2]|0; + $77 = HEAP32[$10>>2]|0; + $78 = HEAP32[$13>>2]|0; + $79 = HEAP32[$11>>2]|0; + $80 = (FUNCTION_TABLE_iiiiii[$72 & 255]($75,$76,$77,$78,$79)|0); + HEAP32[$9>>2] = $80; + $81 = HEAP32[$10>>2]|0; + $82 = ($81|0)==(0|0); + $83 = HEAP32[$11>>2]|0; + $84 = ($83|0)==(0|0); + $or$cond = $82 | $84; + $85 = HEAP32[$8>>2]|0; + $86 = ($85|0)!=(0|0); + $or$cond3 = $or$cond & $86; + if ($or$cond3) { + $87 = HEAP32[$8>>2]|0; + HEAP8[$87>>0] = 7; + } + _sqlite3VdbeMemRelease($14); + _sqlite3VdbeMemRelease($15); + $88 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $88; + $89 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($89|0); +} +function _sqlite3BlobCompare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$6>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$7>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP16[$19>>1]|0; + $21 = $20&65535; + $22 = $17 | $21; + $23 = $22 & 16384; + $24 = ($23|0)!=(0); + $25 = HEAP32[$3>>2]|0; + if (!($24)) { + $70 = ((($25)) + 16|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$4>>2]|0; + $73 = ((($72)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$7>>2]|0; + $77 = ($75|0)>($76|0); + $78 = HEAP32[$7>>2]|0; + $79 = HEAP32[$6>>2]|0; + $80 = $77 ? $78 : $79; + $81 = (_memcmp($71,$74,$80)|0); + HEAP32[$5>>2] = $81; + $82 = HEAP32[$5>>2]|0; + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $84; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); + } else { + $85 = HEAP32[$6>>2]|0; + $86 = HEAP32[$7>>2]|0; + $87 = (($85) - ($86))|0; + HEAP32[$2>>2] = $87; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); + } } - $42 = HEAP32[$pCsr>>2]|0; - $43 = ((($42)) + 8|0); - $44 = HEAP32[$43>>2]|0; - (_sqlite3_finalize($44)|0); - $45 = HEAP32[$pCsr>>2]|0; - $46 = ((($45)) + 44|0); - $47 = HEAP32[$46>>2]|0; - _sqlite3_free($47); - $48 = HEAP32[$pCsr>>2]|0; - $49 = ((($48)) + 92|0); - $50 = HEAP32[$49>>2]|0; - _sqlite3Fts3MIBufferFree($50); - $51 = HEAP32[$pCsr>>2]|0; - $52 = ((($51)) + 12|0); - $53 = HEAP32[$52>>2]|0; - _sqlite3Fts3ExprFree($53); - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 4|0); - dest=$55; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $56 = HEAP32[$pDocidGe>>2]|0; - $57 = (_fts3DocidRange($56,0,-2147483648)|0); - $58 = tempRet0; - $59 = HEAP32[$pCsr>>2]|0; - $60 = ((($59)) + 72|0); - $61 = $60; - $62 = $61; - HEAP32[$62>>2] = $57; - $63 = (($61) + 4)|0; - $64 = $63; - HEAP32[$64>>2] = $58; - $65 = HEAP32[$pDocidLe>>2]|0; - $66 = (_fts3DocidRange($65,-1,2147483647)|0); - $67 = tempRet0; - $68 = HEAP32[$pCsr>>2]|0; - $69 = ((($68)) + 80|0); - $70 = $69; - $71 = $70; - HEAP32[$71>>2] = $66; - $72 = (($70) + 4)|0; - $73 = $72; - HEAP32[$73>>2] = $67; - $74 = HEAP32[$3>>2]|0; - $75 = ($74|0)!=(0|0); - if ($75) { - $76 = HEAP32[$3>>2]|0; - $77 = HEAP8[$76>>0]|0; - $78 = $77 << 24 >> 24; - $79 = ($78|0)==(68); - $80 = $79&1; - $81 = $80&255; - $82 = HEAP32[$pCsr>>2]|0; - $83 = ((($82)) + 52|0); - HEAP8[$83>>0] = $81; - } else { - $84 = HEAP32[$p>>2]|0; - $85 = ((($84)) + 231|0); - $86 = HEAP8[$85>>0]|0; - $87 = HEAP32[$pCsr>>2]|0; - $88 = ((($87)) + 52|0); - HEAP8[$88>>0] = $86; + $26 = ((($25)) + 8|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27&65535; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + $33 = $28 & $32; + $34 = $33 & 16384; + $35 = ($34|0)!=(0); + $36 = HEAP32[$3>>2]|0; + if ($35) { + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) - ($39))|0; + HEAP32[$2>>2] = $40; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); } - $89 = HEAP32[$eSearch>>2]|0; - $90 = $89&65535; - $91 = HEAP32[$pCsr>>2]|0; - $92 = ((($91)) + 4|0); - HEAP16[$92>>1] = $90; - $93 = HEAP32[$eSearch>>2]|0; - $94 = ($93|0)!=(1); - $95 = HEAP32[$eSearch>>2]|0; - $96 = ($95|0)!=(0); - $or$cond = $94 & $96; - do { - if ($or$cond) { - $97 = HEAP32[$eSearch>>2]|0; - $98 = (($97) - 2)|0; - HEAP32[$iCol>>2] = $98; - $99 = HEAP32[$pCons>>2]|0; - $100 = (_sqlite3_value_text($99)|0); - HEAP32[$zQuery>>2] = $100; - $101 = HEAP32[$zQuery>>2]|0; - $102 = ($101|0)==(0|0); - if ($102) { - $103 = HEAP32[$pCons>>2]|0; - $104 = (_sqlite3_value_type($103)|0); - $105 = ($104|0)!=(5); - if ($105) { - HEAP32[$0>>2] = 7; - $231 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($231|0); - } - } - $106 = HEAP32[$pCsr>>2]|0; - $107 = ((($106)) + 16|0); - HEAP32[$107>>2] = 0; - $108 = HEAP32[$pLangid>>2]|0; - $109 = ($108|0)!=(0|0); - if ($109) { - $110 = HEAP32[$pLangid>>2]|0; - $111 = (_sqlite3_value_int($110)|0); - $112 = HEAP32[$pCsr>>2]|0; - $113 = ((($112)) + 16|0); - HEAP32[$113>>2] = $111; - } - $114 = HEAP32[$p>>2]|0; - $115 = ((($114)) + 36|0); - $116 = HEAP32[$115>>2]|0; - $117 = HEAP32[$pCsr>>2]|0; - $118 = ((($117)) + 16|0); - $119 = HEAP32[$118>>2]|0; - $120 = HEAP32[$p>>2]|0; - $121 = ((($120)) + 28|0); - $122 = HEAP32[$121>>2]|0; - $123 = HEAP32[$p>>2]|0; - $124 = ((($123)) + 228|0); - $125 = HEAP8[$124>>0]|0; - $126 = $125&255; - $127 = HEAP32[$p>>2]|0; - $128 = ((($127)) + 24|0); - $129 = HEAP32[$128>>2]|0; - $130 = HEAP32[$iCol>>2]|0; - $131 = HEAP32[$zQuery>>2]|0; - $132 = HEAP32[$pCsr>>2]|0; - $133 = ((($132)) + 12|0); - $134 = HEAP32[$p>>2]|0; - $135 = ((($134)) + 8|0); - $136 = (_sqlite3Fts3ExprParse($116,$119,$122,$126,$129,$130,$131,-1,$133,$135)|0); - HEAP32[$rc>>2] = $136; - $137 = HEAP32[$rc>>2]|0; - $138 = ($137|0)!=(0); - if ($138) { - $139 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $139; - $231 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($231|0); - } - $140 = HEAP32[$pCsr>>2]|0; - $141 = (_fts3EvalStart($140)|0); - HEAP32[$rc>>2] = $141; - $142 = HEAP32[$p>>2]|0; - _sqlite3Fts3SegmentsClose($142); - $143 = HEAP32[$rc>>2]|0; - $144 = ($143|0)!=(0); - if (!($144)) { - $146 = HEAP32[$pCsr>>2]|0; - $147 = ((($146)) + 44|0); - $148 = HEAP32[$147>>2]|0; - $149 = HEAP32[$pCsr>>2]|0; - $150 = ((($149)) + 40|0); - HEAP32[$150>>2] = $148; - $151 = HEAP32[$pCsr>>2]|0; - $152 = ((($151)) + 32|0); - $153 = $152; - $154 = $153; - HEAP32[$154>>2] = 0; - $155 = (($153) + 4)|0; - $156 = $155; - HEAP32[$156>>2] = 0; - break; - } - $145 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $145; - $231 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($231|0); - } - } while(0); - $157 = HEAP32[$eSearch>>2]|0; - $158 = ($157|0)==(0); - do { - if ($158) { - $159 = HEAP32[$pDocidGe>>2]|0; - $160 = ($159|0)!=(0|0); - $161 = HEAP32[$pDocidLe>>2]|0; - $162 = ($161|0)!=(0|0); - $or$cond3 = $160 | $162; - $163 = HEAP32[$p>>2]|0; - $164 = ((($163)) + 216|0); - $165 = HEAP32[$164>>2]|0; - $166 = HEAP32[$pCsr>>2]|0; - if ($or$cond3) { - $167 = ((($166)) + 72|0); - $168 = $167; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $171 = (($168) + 4)|0; - $172 = $171; - $173 = HEAP32[$172>>2]|0; - $174 = HEAP32[$pCsr>>2]|0; - $175 = ((($174)) + 80|0); - $176 = $175; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (($176) + 4)|0; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $182 = HEAP32[$pCsr>>2]|0; - $183 = ((($182)) + 52|0); - $184 = HEAP8[$183>>0]|0; - $185 = $184&255; - $186 = ($185|0)!=(0); - $187 = $186 ? 23624 : 23629; - HEAP32[$vararg_buffer>>2] = $165; - $vararg_ptr4 = ((($vararg_buffer)) + 8|0); - $188 = $vararg_ptr4; - $189 = $188; - HEAP32[$189>>2] = $170; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $173; - $vararg_ptr5 = ((($vararg_buffer)) + 16|0); - $192 = $vararg_ptr5; - $193 = $192; - HEAP32[$193>>2] = $178; - $194 = (($192) + 4)|0; - $195 = $194; - HEAP32[$195>>2] = $181; - $vararg_ptr6 = ((($vararg_buffer)) + 24|0); - HEAP32[$vararg_ptr6>>2] = $187; - $196 = (_sqlite3_mprintf(23633,$vararg_buffer)|0); - HEAP32[$zSql>>2] = $196; - } else { - $197 = ((($166)) + 52|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = ($199|0)!=(0); - $201 = $200 ? 23624 : 23629; - HEAP32[$vararg_buffer7>>2] = $165; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $201; - $202 = (_sqlite3_mprintf(23695,$vararg_buffer7)|0); - HEAP32[$zSql>>2] = $202; - } - $203 = HEAP32[$zSql>>2]|0; - $204 = ($203|0)!=(0|0); - if ($204) { - $205 = HEAP32[$p>>2]|0; - $206 = ((($205)) + 12|0); - $207 = HEAP32[$206>>2]|0; - $208 = HEAP32[$zSql>>2]|0; - $209 = HEAP32[$pCsr>>2]|0; - $210 = ((($209)) + 8|0); - $211 = (_sqlite3_prepare_v2($207,$208,-1,$210,0)|0); - HEAP32[$rc>>2] = $211; - $212 = HEAP32[$zSql>>2]|0; - _sqlite3_free($212); - break; - } else { - HEAP32[$rc>>2] = 7; - break; - } + $41 = ((($36)) + 8|0); + $42 = HEAP16[$41>>1]|0; + $43 = $42&65535; + $44 = $43 & 16384; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 16|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_isAllZero($48,$51)|0); + $53 = ($52|0)!=(0); + if ($53) { + $54 = HEAP32[$3>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$7>>2]|0; + $57 = (($55) - ($56))|0; + HEAP32[$2>>2] = $57; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); } else { - $213 = HEAP32[$eSearch>>2]|0; - $214 = ($213|0)==(1); - if ($214) { - $215 = HEAP32[$pCsr>>2]|0; - $216 = HEAP32[$pCsr>>2]|0; - $217 = ((($216)) + 8|0); - $218 = (_fts3CursorSeekStmt($215,$217)|0); - HEAP32[$rc>>2] = $218; - $219 = HEAP32[$rc>>2]|0; - $220 = ($219|0)==(0); - if ($220) { - $221 = HEAP32[$pCsr>>2]|0; - $222 = ((($221)) + 8|0); - $223 = HEAP32[$222>>2]|0; - $224 = HEAP32[$pCons>>2]|0; - $225 = (_sqlite3_bind_value($223,1,$224)|0); - HEAP32[$rc>>2] = $225; - } - } + HEAP32[$2>>2] = -1; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); } - } while(0); - $226 = HEAP32[$rc>>2]|0; - $227 = ($226|0)!=(0); - if ($227) { - $228 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $228; - $231 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($231|0); } else { - $229 = HEAP32[$1>>2]|0; - $230 = (_fts3NextMethod($229)|0); - HEAP32[$0>>2] = $230; - $231 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($231|0); + $58 = HEAP32[$3>>2]|0; + $59 = ((($58)) + 16|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$3>>2]|0; + $62 = ((($61)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (_isAllZero($60,$63)|0); + $65 = ($64|0)!=(0); + if ($65) { + $66 = HEAP32[$6>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) - ($68))|0; + HEAP32[$2>>2] = $69; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); + } else { + HEAP32[$2>>2] = 1; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); + } } return (0)|0; } -function _fts3NextMethod($pCursor) { - $pCursor = $pCursor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $pCsr = 0, $rc = 0, label = 0, sp = 0; +function _isAllZero($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pCursor; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $1; - $2 = HEAP32[$pCsr>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - $6 = ($5|0)==(1); - if (!($6)) { - $7 = HEAP32[$pCsr>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9 << 16 >> 16; - $11 = ($10|0)==(0); - if (!($11)) { - $33 = HEAP32[$0>>2]|0; - $34 = (_fts3EvalNext($33)|0); - HEAP32[$rc>>2] = $34; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + while(1) { + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = ($6|0)<($7|0); + if (!($8)) { + label = 6; + break; } + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($9) + ($10)|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)!=(0); + if ($13) { + label = 4; + break; + } + $14 = HEAP32[$5>>2]|0; + $15 = (($14) + 1)|0; + HEAP32[$5>>2] = $15; } - $12 = HEAP32[$pCsr>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3_step($14)|0); - $16 = (100)!=($15|0); - $17 = HEAP32[$pCsr>>2]|0; - if ($16) { - $18 = ((($17)) + 6|0); - HEAP8[$18>>0] = 1; - $19 = HEAP32[$pCsr>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3_reset($21)|0); - HEAP32[$rc>>2] = $22; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); - } else { - $23 = ((($17)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3_column_int64($24,0)|0); - $26 = tempRet0; - $27 = HEAP32[$pCsr>>2]|0; - $28 = ((($27)) + 32|0); - $29 = $28; - $30 = $29; - HEAP32[$30>>2] = $25; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $26; - HEAP32[$rc>>2] = 0; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + if ((label|0) == 4) { + HEAP32[$2>>2] = 0; + $16 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($16|0); + } + else if ((label|0) == 6) { + HEAP32[$2>>2] = 1; + $16 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($16|0); } return (0)|0; } -function _fts3EofMethod($pCursor) { - $pCursor = $pCursor|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3VdbeMemInit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCursor; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 6|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - STACKTOP = sp;return ($4|0); + $3 = sp + 4|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP16[$5>>1] = $2; + $6 = HEAP16[$5>>1]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 8|0); + HEAP16[$8>>1] = $6; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 32|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 24|0); + HEAP32[$13>>2] = 0; + STACKTOP = sp;return; } -function _fts3ColumnMethod($pCursor,$pCtx,$iCol) { - $pCursor = $pCursor|0; - $pCtx = $pCtx|0; - $iCol = $iCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $iLangid = 0, $p = 0, $pCsr = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3VdbeMemShallowCopy($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; - $pCsr = sp + 8|0; - $p = sp + 4|0; - $iLangid = sp; - HEAP32[$0>>2] = $pCursor; - HEAP32[$1>>2] = $pCtx; - HEAP32[$2>>2] = $iCol; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$p>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$p>>2]|0; - $8 = ((($7)) + 24|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 1)|0; - $11 = ($6|0)==($10|0); + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = $9 & 9312; + $11 = ($10|0)!=(0); + $12 = HEAP32[$3>>2]|0; if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$pCsr>>2]|0; - $14 = ((($13)) + 32|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - _sqlite3_result_int64($12,$17,$20); - $81 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($81|0); - } - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 24|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($21|0)==($24|0); - if ($25) { - $26 = HEAP32[$1>>2]|0; - _sqlite3_result_blob($26,$pCsr,4,(-1)); - $81 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($81|0); - } - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$p>>2]|0; - $29 = ((($28)) + 24|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + 2)|0; - $32 = ($27|0)==($31|0); - if ($32) { - $33 = HEAP32[$pCsr>>2]|0; - $34 = ((($33)) + 12|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)!=(0|0); - if ($36) { - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$pCsr>>2]|0; - $39 = ((($38)) + 16|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)<(0); - $42 = $41 << 31 >> 31; - _sqlite3_result_int64($37,$40,$42); - $81 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($81|0); - } - } - $43 = HEAP32[$pCsr>>2]|0; - $44 = (_fts3CursorSeek(0,$43)|0); - HEAP32[$rc>>2] = $44; - $45 = HEAP32[$rc>>2]|0; - $46 = ($45|0)==(0); - if (!($46)) { - $81 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($81|0); + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$5>>2]|0; + _vdbeClrCopy($12,$13,$14); + STACKTOP = sp;return; } - $47 = HEAP32[$2>>2]|0; - $48 = HEAP32[$p>>2]|0; - $49 = ((($48)) + 24|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + 2)|0; - $52 = ($47|0)==($51|0); - if ($52) { - HEAP32[$iLangid>>2] = 0; - $53 = HEAP32[$p>>2]|0; - $54 = ((($53)) + 44|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)!=(0|0); - if ($56) { - $57 = HEAP32[$pCsr>>2]|0; - $58 = ((($57)) + 8|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$p>>2]|0; - $61 = ((($60)) + 24|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) + 1)|0; - $64 = (_sqlite3_column_int($59,$63)|0); - HEAP32[$iLangid>>2] = $64; - } - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$iLangid>>2]|0; - _sqlite3_result_int($65,$66); - $81 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($81|0); - } else { - $67 = HEAP32[$pCsr>>2]|0; - $68 = ((($67)) + 8|0); - $69 = HEAP32[$68>>2]|0; - $70 = (_sqlite3_data_count($69)|0); - $71 = HEAP32[$2>>2]|0; - $72 = (($71) + 1)|0; - $73 = ($70|0)>($72|0); - if (!($73)) { - $81 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($81|0); - } - $74 = HEAP32[$1>>2]|0; - $75 = HEAP32[$pCsr>>2]|0; - $76 = ((($75)) + 8|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$2>>2]|0; - $79 = (($78) + 1)|0; - $80 = (_sqlite3_column_value($77,$79)|0); - _sqlite3_result_value($74,$80); - $81 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($81|0); + $15 = HEAP32[$4>>2]|0; + ;HEAP32[$12>>2]=HEAP32[$15>>2]|0;HEAP32[$12+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$12+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$12+12>>2]=HEAP32[$15+12>>2]|0;HEAP32[$12+16>>2]=HEAP32[$15+16>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP16[$17>>1]|0; + $19 = $18&65535; + $20 = $19 & 2048; + $21 = ($20|0)==(0); + if (!($21)) { + STACKTOP = sp;return; } - return (0)|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP16[$23>>1]|0; + $25 = $24&65535; + $26 = $25 & -7169; + $27 = $26&65535; + HEAP16[$23>>1] = $27; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + $33 = $32 | $28; + $34 = $33&65535; + HEAP16[$30>>1] = $34; + STACKTOP = sp;return; } -function _fts3RowidMethod($pCursor,$pRowid) { - $pCursor = $pCursor|0; - $pRowid = $pRowid|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCsr = 0, label = 0, sp = 0; +function _vdbeClrCopy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pCursor; - HEAP32[$1>>2] = $pRowid; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $2; - $3 = HEAP32[$pCsr>>2]|0; - $4 = ((($3)) + 32|0); - $5 = $4; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = (($5) + 4)|0; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = $11; - $13 = $12; - HEAP32[$13>>2] = $7; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = $10; - STACKTOP = sp;return 0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + _vdbeMemClearExternAndSetNull($6); + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + _sqlite3VdbeMemShallowCopy($7,$8,$9); + STACKTOP = sp;return; } -function _fts3UpdateMethod($pVtab,$nArg,$apVal,$pRowid) { - $pVtab = $pVtab|0; - $nArg = $nArg|0; - $apVal = $apVal|0; - $pRowid = $pRowid|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3_result_blob($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 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 + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pVtab; - HEAP32[$1>>2] = $nArg; - HEAP32[$2>>2] = $apVal; - HEAP32[$3>>2] = $pRowid; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (_sqlite3Fts3UpdateMethod($4,$5,$6,$7)|0); - STACKTOP = sp;return ($8|0); + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$7>>2]|0; + _setResultStrOrError($8,$9,$10,0,$11); + STACKTOP = sp;return; } -function _fts3BeginMethod($pVtab) { - $pVtab = $pVtab|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3_result_null($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pVtab; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ((($2)) + 52|0); - HEAP32[$3>>2] = 0; - $4 = HEAP32[$p>>2]|0; - $5 = (_fts3SetHasStat($4)|0); - STACKTOP = sp;return ($5|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + _sqlite3VdbeMemSetNull($3); + STACKTOP = sp;return; } -function _fts3SyncMethod($pVtab) { - $pVtab = $pVtab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $A = 0; - var $mxLevel = 0, $nMinMerge = 0, $p = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3XPrintf($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $nMinMerge = sp + 16|0; - $p = sp + 12|0; - $rc = sp + 8|0; - $mxLevel = sp + 4|0; - $A = sp; - HEAP32[$0>>2] = $pVtab; - HEAP32[$nMinMerge>>2] = 64; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = (_sqlite3Fts3PendingTermsFlush($2)|0); - HEAP32[$rc>>2] = $3; - $4 = HEAP32[$rc>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 52|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8>>>0)>(4); - if ($9) { - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 48|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 48|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(255); - if ($17) { - HEAP32[$mxLevel>>2] = 0; - $18 = HEAP32[$p>>2]|0; - $19 = (_sqlite3Fts3MaxLevel($18,$mxLevel)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 52|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$mxLevel>>2]|0; - $24 = Math_imul($22, $23)|0; - HEAP32[$A>>2] = $24; - $25 = HEAP32[$A>>2]|0; - $26 = (($25|0) / 2)&-1; - $27 = HEAP32[$A>>2]|0; - $28 = (($27) + ($26))|0; - HEAP32[$A>>2] = $28; - $29 = HEAP32[$A>>2]|0; - $30 = ($29|0)>(64); - if ($30) { - $31 = HEAP32[$p>>2]|0; - $32 = HEAP32[$A>>2]|0; - $33 = HEAP32[$p>>2]|0; - $34 = ((($33)) + 48|0); - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3Fts3Incrmerge($31,$32,$35)|0); - HEAP32[$rc>>2] = $36; - } - } - } - } - } - $37 = HEAP32[$p>>2]|0; - _sqlite3Fts3SegmentsClose($37); - $38 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($38|0); + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = $varargs; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + _sqlite3VXPrintf($5,$6,$4); + STACKTOP = sp;return; } -function _fts3CommitMethod($pVtab) { - $pVtab = $pVtab|0; - var $0 = 0, label = 0, sp = 0; +function _sqlite3SkipAccumulatorLoad($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVtab; - STACKTOP = sp;return 0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + HEAP8[$3>>0] = 1; + STACKTOP = sp;return; } -function _fts3RollbackMethod($pVtab) { - $pVtab = $pVtab|0; - var $0 = 0, $1 = 0, $2 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3_libversion() { + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pVtab; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - _sqlite3Fts3PendingTermsClear($2); - STACKTOP = sp;return 0; + return (20048|0); } -function _fts3FindFunctionMethod($pVtab,$nArg,$zName,$pxFunc,$ppArg) { - $pVtab = $pVtab|0; - $nArg = $nArg|0; - $zName = $zName|0; - $pxFunc = $pxFunc|0; - $ppArg = $ppArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $aOverload = 0, $i = 0, label = 0, sp = 0; +function _juliandayFunc($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.0, $20 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $5 = sp + 40|0; - $aOverload = sp + 8|0; - $i = sp; - HEAP32[$1>>2] = $pVtab; - HEAP32[$2>>2] = $nArg; - HEAP32[$3>>2] = $zName; - HEAP32[$4>>2] = $pxFunc; - HEAP32[$5>>2] = $ppArg; - ;HEAP32[$aOverload>>2]=HEAP32[2080>>2]|0;HEAP32[$aOverload+4>>2]=HEAP32[2080+4>>2]|0;HEAP32[$aOverload+8>>2]=HEAP32[2080+8>>2]|0;HEAP32[$aOverload+12>>2]=HEAP32[2080+12>>2]|0;HEAP32[$aOverload+16>>2]=HEAP32[2080+16>>2]|0;HEAP32[$aOverload+20>>2]=HEAP32[2080+20>>2]|0;HEAP32[$aOverload+24>>2]=HEAP32[2080+24>>2]|0;HEAP32[$aOverload+28>>2]=HEAP32[2080+28>>2]|0; - HEAP32[$i>>2] = 0; - while(1) { - $6 = HEAP32[$i>>2]|0; - $7 = ($6|0)<(4); - if (!($7)) { - label = 6; - break; - } - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$i>>2]|0; - $10 = (($aOverload) + ($9<<3)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_strcmp($8,$11)|0); - $13 = ($12|0)==(0); - $14 = HEAP32[$i>>2]|0; - if ($13) { - label = 4; - break; - } - $19 = (($14) + 1)|0; - HEAP32[$i>>2] = $19; - } - if ((label|0) == 4) { - $15 = (($aOverload) + ($14<<3)|0); - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$4>>2]|0; - HEAP32[$18>>2] = $17; - HEAP32[$0>>2] = 1; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } - else if ((label|0) == 6) { - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = (_isDate($7,$8,$9,$6)|0); + $11 = ($10|0)==(0); + if (!($11)) { + STACKTOP = sp;return; } - return (0)|0; + _computeJD($6); + $12 = HEAP32[$3>>2]|0; + $13 = $6; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (+($15>>>0)) + (4294967296.0*(+($18|0))); + $20 = $19 / 8.64E+7; + _sqlite3_result_double($12,$20); + STACKTOP = sp;return; } -function _fts3RenameMethod($pVtab,$zName) { - $pVtab = $pVtab|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer18 = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr21 = 0; - var $vararg_ptr22 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; +function _dateFunc($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, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer18 = sp + 64|0; - $vararg_buffer13 = sp + 48|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $0 = sp + 92|0; - $1 = sp + 88|0; - $p = sp + 84|0; - $db = sp + 80|0; - $rc = sp + 76|0; - HEAP32[$0>>2] = $pVtab; - HEAP32[$1>>2] = $zName; - $2 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$p>>2]|0; - $7 = (_fts3SetHasStat($6)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $10 = HEAP32[$p>>2]|0; - $11 = (_sqlite3Fts3PendingTermsFlush($10)|0); - HEAP32[$rc>>2] = $11; + STACKTOP = STACKTOP + 176|0; + $vararg_buffer = sp + 48|0; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp; + $7 = sp + 72|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (_isDate($8,$9,$10,$6)|0); + $12 = ($11|0)==(0); + if (!($12)) { + STACKTOP = sp;return; } - $12 = HEAP32[$p>>2]|0; - $13 = ((($12)) + 40|0); + _computeYMD($6); + $13 = ((($6)) + 8|0); $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if ($15) { - $16 = HEAP32[$db>>2]|0; - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $19; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $22; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $23; - _fts3DbExec($rc,$16,20617,$vararg_buffer); - } - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 230|0); - $26 = HEAP8[$25>>0]|0; - $27 = ($26<<24>>24)!=(0); - if ($27) { - $28 = HEAP32[$db>>2]|0; - $29 = HEAP32[$p>>2]|0; - $30 = ((($29)) + 16|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer3>>2] = $31; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $34; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $35; - _fts3DbExec($rc,$28,20670,$vararg_buffer3); - } - $36 = HEAP32[$p>>2]|0; - $37 = ((($36)) + 229|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)!=(0); - if ($39) { - $40 = HEAP32[$db>>2]|0; - $41 = HEAP32[$p>>2]|0; - $42 = ((($41)) + 16|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$p>>2]|0; - $45 = ((($44)) + 20|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer8>>2] = $43; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $46; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $47; - _fts3DbExec($rc,$40,20723,$vararg_buffer8); - } - $48 = HEAP32[$db>>2]|0; - $49 = HEAP32[$p>>2]|0; - $50 = ((($49)) + 16|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$p>>2]|0; - $53 = ((($52)) + 20|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer13>>2] = $51; - $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); - HEAP32[$vararg_ptr16>>2] = $54; - $vararg_ptr17 = ((($vararg_buffer13)) + 8|0); - HEAP32[$vararg_ptr17>>2] = $55; - _fts3DbExec($rc,$48,20770,$vararg_buffer13); - $56 = HEAP32[$db>>2]|0; - $57 = HEAP32[$p>>2]|0; - $58 = ((($57)) + 16|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$p>>2]|0; - $61 = ((($60)) + 20|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer18>>2] = $59; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $62; - $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); - HEAP32[$vararg_ptr22>>2] = $63; - _fts3DbExec($rc,$56,20824,$vararg_buffer18); - $64 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($64|0); -} -function _fts3SavepointMethod($pVtab,$iSavepoint) { - $pVtab = $pVtab|0; - $iSavepoint = $iSavepoint|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pVtab; - HEAP32[$1>>2] = $iSavepoint; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 232|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(0); - if (!($6)) { - $9 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($9|0); - } - $7 = HEAP32[$0>>2]|0; - $8 = (_fts3SyncMethod($7)|0); - HEAP32[$rc>>2] = $8; - $9 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($9|0); -} -function _fts3ReleaseMethod($pVtab,$iSavepoint) { - $pVtab = $pVtab|0; - $iSavepoint = $iSavepoint|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pVtab; - HEAP32[$1>>2] = $iSavepoint; - STACKTOP = sp;return 0; -} -function _fts3RollbackToMethod($pVtab,$iSavepoint) { - $pVtab = $pVtab|0; - $iSavepoint = $iSavepoint|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pVtab; - HEAP32[$1>>2] = $iSavepoint; - $2 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - _sqlite3Fts3PendingTermsClear($3); - STACKTOP = sp;return 0; -} -function _sqlite3Fts3PendingTermsClear($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pElem = 0, $pHash = 0, $pList = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $i = sp + 12|0; - $pElem = sp + 8|0; - $pHash = sp + 4|0; - $pList = sp; - HEAP32[$0>>2] = $p; - HEAP32[$i>>2] = 0; - while(1) { - $1 = HEAP32[$i>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 248|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1|0)<($4|0); - if (!($5)) { - break; - } - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 252|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($6*24)|0)|0); - $11 = ((($10)) + 4|0); - HEAP32[$pHash>>2] = $11; - $12 = HEAP32[$pHash>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pElem>>2] = $14; - while(1) { - $15 = HEAP32[$pElem>>2]|0; - $16 = ($15|0)!=(0|0); - if (!($16)) { - break; - } - $17 = HEAP32[$pElem>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pList>>2] = $19; - $20 = HEAP32[$pList>>2]|0; - _fts3PendingListDelete($20); - $21 = HEAP32[$pElem>>2]|0; - $22 = HEAP32[$21>>2]|0; - HEAP32[$pElem>>2] = $22; - } - $23 = HEAP32[$pHash>>2]|0; - _sqlite3Fts3HashClear($23); - $24 = HEAP32[$i>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$i>>2] = $25; - } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 260|0); - HEAP32[$27>>2] = 0; + $15 = ((($6)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($6)) + 16|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer>>2] = $14; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $18; + (_sqlite3_snprintf(100,$7,23314,$vararg_buffer)|0); + $19 = HEAP32[$3>>2]|0; + _sqlite3_result_text($19,$7,-1,(-1)); STACKTOP = sp;return; } -function _fts3PendingListDelete($pList) { - $pList = $pList|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; +function _timeFunc($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.0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0; + var $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pList; - $1 = HEAP32[$0>>2]|0; - _sqlite3_free($1); + STACKTOP = STACKTOP + 176|0; + $vararg_buffer = sp + 48|0; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp; + $7 = sp + 72|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (_isDate($8,$9,$10,$6)|0); + $12 = ($11|0)==(0); + if (!($12)) { + STACKTOP = sp;return; + } + _computeHMS($6); + $13 = ((($6)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($6)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($6)) + 32|0); + $18 = +HEAPF64[$17>>3]; + $19 = (~~(($18))); + HEAP32[$vararg_buffer>>2] = $14; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $19; + (_sqlite3_snprintf(100,$7,23299,$vararg_buffer)|0); + $20 = HEAP32[$3>>2]|0; + _sqlite3_result_text($20,$7,-1,(-1)); STACKTOP = sp;return; } -function _fts3SetHasStat($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $bHasStat = 0, $pStmt = 0, $rc = 0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, $zFmt = 0, $zSql = 0, label = 0, sp = 0; +function _datetimeFunc($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.0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $rc = sp + 24|0; - $zFmt = sp + 20|0; - $zSql = sp + 16|0; - $pStmt = sp + 12|0; - $bHasStat = sp + 8|0; - HEAP32[$0>>2] = $p; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 229|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(2); - if (!($5)) { - $36 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($36|0); - } - HEAP32[$zFmt>>2] = 23181; - $6 = HEAP32[$zFmt>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 20|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $12; - $13 = (_sqlite3_mprintf($6,$vararg_buffer)|0); - HEAP32[$zSql>>2] = $13; - $14 = HEAP32[$zSql>>2]|0; - $15 = ($14|0)!=(0|0); - if (!($15)) { - HEAP32[$rc>>2] = 7; - $36 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($36|0); + STACKTOP = STACKTOP + 192|0; + $vararg_buffer = sp + 48|0; + $3 = sp + 80|0; + $4 = sp + 76|0; + $5 = sp + 72|0; + $6 = sp; + $7 = sp + 84|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (_isDate($8,$9,$10,$6)|0); + $12 = ($11|0)==(0); + if (!($12)) { + STACKTOP = sp;return; } - HEAP32[$pStmt>>2] = 0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 12|0); + _computeYMD_HMS($6); + $13 = ((($6)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($6)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($6)) + 16|0); $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$zSql>>2]|0; - $20 = (_sqlite3_prepare_v2($18,$19,-1,$pStmt,0)|0); - HEAP32[$rc>>2] = $20; - $21 = HEAP32[$rc>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - $23 = HEAP32[$pStmt>>2]|0; - $24 = (_sqlite3_step($23)|0); - $25 = ($24|0)==(100); - $26 = $25&1; - HEAP32[$bHasStat>>2] = $26; - $27 = HEAP32[$pStmt>>2]|0; - $28 = (_sqlite3_finalize($27)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$rc>>2]|0; - $30 = ($29|0)==(0); - if ($30) { - $31 = HEAP32[$bHasStat>>2]|0; - $32 = $31&255; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 229|0); - HEAP8[$34>>0] = $32; - } - } - $35 = HEAP32[$zSql>>2]|0; - _sqlite3_free($35); - $36 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($36|0); + $19 = ((($6)) + 20|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($6)) + 24|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($6)) + 32|0); + $24 = +HEAPF64[$23>>3]; + $25 = (~~(($24))); + HEAP32[$vararg_buffer>>2] = $14; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $18; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $20; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $22; + $vararg_ptr5 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr5>>2] = $25; + (_sqlite3_snprintf(100,$7,23269,$vararg_buffer)|0); + $26 = HEAP32[$3>>2]|0; + _sqlite3_result_text($26,$7,-1,(-1)); + STACKTOP = sp;return; } -function _sqlite3Fts3PendingTermsFlush($p) { - $p = $p|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - 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, $i = 0, $pStmt = 0, $rc = 0, label = 0, sp = 0; +function _strftimeFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0.0, $207 = 0.0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0.0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0; + var src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $rc = sp + 8|0; - $i = sp + 4|0; - $pStmt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$rc>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $1 = HEAP32[$rc>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 248|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<($6|0); - $59 = $7; - } else { - $59 = 0; - } - $8 = HEAP32[$0>>2]|0; - if (!($59)) { - break; - } - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 272|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$i>>2]|0; - $13 = (_fts3SegmentMerge($8,$11,$12,-1)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)==(101); - $$ = $15 ? 0 : $13; - HEAP32[$rc>>2] = $$; - $16 = HEAP32[$i>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$i>>2] = $17; - } - _sqlite3Fts3PendingTermsClear($8); - $18 = HEAP32[$rc>>2]|0; + STACKTOP = STACKTOP + 336|0; + $vararg_buffer28 = sp + 192|0; + $vararg_buffer25 = sp + 184|0; + $vararg_buffer22 = sp + 176|0; + $vararg_buffer19 = sp + 168|0; + $vararg_buffer16 = sp + 160|0; + $vararg_buffer13 = sp + 152|0; + $vararg_buffer10 = sp + 144|0; + $vararg_buffer7 = sp + 136|0; + $vararg_buffer4 = sp + 128|0; + $vararg_buffer1 = sp + 120|0; + $vararg_buffer = sp + 112|0; + $3 = sp + 232|0; + $4 = sp + 228|0; + $5 = sp + 224|0; + $6 = sp + 64|0; + $7 = sp + 56|0; + $8 = sp + 220|0; + $9 = sp + 216|0; + $10 = sp + 212|0; + $11 = sp + 208|0; + $12 = sp + 204|0; + $13 = sp + 236|0; + $14 = sp + 48|0; + $15 = sp + 200|0; + $16 = sp; + $17 = sp + 196|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $18 = HEAP32[$4>>2]|0; $19 = ($18|0)==(0); - if (!($19)) { - $58 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($58|0); - } - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 229|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = ($23|0)!=(0); - if (!($24)) { - $58 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($58|0); - } - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 48|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)==(255); - if (!($28)) { - $58 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($58|0); + if ($19) { + STACKTOP = sp;return; } - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 52|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31>>>0)>(0); - if (!($32)) { - $58 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($58|0); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = (_sqlite3_value_text($21)|0); + HEAP32[$12>>2] = $22; + $23 = HEAP32[$12>>2]|0; + $24 = ($23|0)==(0|0); + if ($24) { + STACKTOP = sp;return; } - HEAP32[$pStmt>>2] = 0; - $33 = HEAP32[$0>>2]|0; - $34 = (_fts3SqlStmt($33,22,$pStmt,0)|0); - HEAP32[$rc>>2] = $34; - $35 = HEAP32[$rc>>2]|0; - $36 = ($35|0)==(0); - if (!($36)) { - $58 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($58|0); + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = (($26) - 1)|0; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 4|0); + $30 = (_isDate($25,$27,$29,$6)|0); + $31 = ($30|0)!=(0); + if ($31) { + STACKTOP = sp;return; } - $37 = HEAP32[$pStmt>>2]|0; - (_sqlite3_bind_int($37,1,2)|0); - $38 = HEAP32[$pStmt>>2]|0; - $39 = (_sqlite3_step($38)|0); - HEAP32[$rc>>2] = $39; - $40 = HEAP32[$rc>>2]|0; - $41 = ($40|0)==(100); - if ($41) { - $42 = HEAP32[$pStmt>>2]|0; - $43 = (_sqlite3_column_int($42,0)|0); - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 48|0); - HEAP32[$45>>2] = $43; - $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 48|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==(1); - if ($49) { - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 48|0); - HEAP32[$51>>2] = 8; + $32 = HEAP32[$3>>2]|0; + $33 = (_sqlite3_context_db_handle($32)|0); + HEAP32[$11>>2] = $33; + HEAP32[$8>>2] = 0; + $34 = $7; + $35 = $34; + HEAP32[$35>>2] = 1; + $36 = (($34) + 4)|0; + $37 = $36; + HEAP32[$37>>2] = 0; + L10: while(1) { + $38 = HEAP32[$12>>2]|0; + $39 = HEAP32[$8>>2]|0; + $40 = (($38) + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)!=(0); + if (!($42)) { + break; } - } else { - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)==(101); - if ($53) { - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 48|0); - HEAP32[$55>>2] = 0; + $43 = HEAP32[$12>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = (($43) + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46 << 24 >> 24; + $48 = ($47|0)==(37); + if ($48) { + $49 = HEAP32[$12>>2]|0; + $50 = HEAP32[$8>>2]|0; + $51 = (($50) + 1)|0; + $52 = (($49) + ($51)|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53 << 24 >> 24; + switch ($54|0) { + case 87: case 83: case 77: case 109: case 72: case 100: { + $55 = $7; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (_i64Add(($57|0),($60|0),1,0)|0); + $62 = tempRet0; + $63 = $7; + $64 = $63; + HEAP32[$64>>2] = $61; + $65 = (($63) + 4)|0; + $66 = $65; + HEAP32[$66>>2] = $62; + break; + } + case 37: case 119: { + break; + } + case 102: { + $67 = $7; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (_i64Add(($69|0),($72|0),8,0)|0); + $74 = tempRet0; + $75 = $7; + $76 = $75; + HEAP32[$76>>2] = $73; + $77 = (($75) + 4)|0; + $78 = $77; + HEAP32[$78>>2] = $74; + break; + } + case 106: { + $79 = $7; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = (($79) + 4)|0; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (_i64Add(($81|0),($84|0),3,0)|0); + $86 = tempRet0; + $87 = $7; + $88 = $87; + HEAP32[$88>>2] = $85; + $89 = (($87) + 4)|0; + $90 = $89; + HEAP32[$90>>2] = $86; + break; + } + case 89: { + $91 = $7; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (($91) + 4)|0; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (_i64Add(($93|0),($96|0),8,0)|0); + $98 = tempRet0; + $99 = $7; + $100 = $99; + HEAP32[$100>>2] = $97; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = $98; + break; + } + case 74: case 115: { + $103 = $7; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (_i64Add(($105|0),($108|0),50,0)|0); + $110 = tempRet0; + $111 = $7; + $112 = $111; + HEAP32[$112>>2] = $109; + $113 = (($111) + 4)|0; + $114 = $113; + HEAP32[$114>>2] = $110; + break; + } + default: { + label = 44; + break L10; + } + } + $115 = HEAP32[$8>>2]|0; + $116 = (($115) + 1)|0; + HEAP32[$8>>2] = $116; } + $117 = HEAP32[$8>>2]|0; + $118 = (($117) + 1)|0; + HEAP32[$8>>2] = $118; + $119 = $7; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = (($119) + 4)|0; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = (_i64Add(($121|0),($124|0),1,0)|0); + $126 = tempRet0; + $127 = $7; + $128 = $127; + HEAP32[$128>>2] = $125; + $129 = (($127) + 4)|0; + $130 = $129; + HEAP32[$130>>2] = $126; } - $56 = HEAP32[$pStmt>>2]|0; - $57 = (_sqlite3_reset($56)|0); - HEAP32[$rc>>2] = $57; - $58 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($58|0); -} -function _fts3DbExec($pRc,$db,$zFormat,$varargs) { - $pRc = $pRc|0; - $db = $db|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $zSql = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $ap = sp + 8|0; - $zSql = sp; - HEAP32[$0>>2] = $pRc; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zFormat; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0); - if ($5) { + if ((label|0) == 44) { STACKTOP = sp;return; } - HEAP32[$ap>>2] = $varargs; - $6 = HEAP32[$2>>2]|0; - $7 = (_sqlite3_vmprintf($6,$ap)|0); - HEAP32[$zSql>>2] = $7; - $8 = HEAP32[$zSql>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $10 = HEAP32[$0>>2]|0; - HEAP32[$10>>2] = 7; - STACKTOP = sp;return; + $131 = $7; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (($131) + 4)|0; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = ($136>>>0)<(0); + $138 = ($133>>>0)<(100); + $139 = ($136|0)==(0); + $140 = $139 & $138; + $141 = $137 | $140; + if ($141) { + HEAP32[$10>>2] = $13; } else { - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$zSql>>2]|0; - $13 = (_sqlite3_exec($11,$12,0,0,0)|0); - $14 = HEAP32[$0>>2]|0; - HEAP32[$14>>2] = $13; - $15 = HEAP32[$zSql>>2]|0; - _sqlite3_free($15); - STACKTOP = sp;return; + $142 = $7; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = (($142) + 4)|0; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$11>>2]|0; + $149 = ((($148)) + 96|0); + $150 = HEAP32[$149>>2]|0; + $151 = ($150|0)<(0); + $152 = $151 << 31 >> 31; + $153 = ($147>>>0)>($152>>>0); + $154 = ($144>>>0)>($150>>>0); + $155 = ($147|0)==($152|0); + $156 = $155 & $154; + $157 = $153 | $156; + if ($157) { + $158 = HEAP32[$3>>2]|0; + _sqlite3_result_error_toobig($158); + STACKTOP = sp;return; + } + $159 = HEAP32[$11>>2]|0; + $160 = $7; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = (($160) + 4)|0; + $164 = $163; + $165 = HEAP32[$164>>2]|0; + $166 = ($162|0)<(0); + $167 = $166 << 31 >> 31; + $168 = (_sqlite3DbMallocRawNN($159,$162,$167)|0); + HEAP32[$10>>2] = $168; + $169 = HEAP32[$10>>2]|0; + $170 = ($169|0)==(0|0); + if ($170) { + $171 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($171); + STACKTOP = sp;return; + } } -} -function _fts3SegmentMerge($p,$iLangid,$iIndex,$iLevel) { - $p = $p|0; - $iLangid = $iLangid|0; - $iIndex = $iIndex|0; - $iLevel = $iLevel|0; - var $$old = 0, $$old1 = 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, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bIgnoreEmpty = 0, $csr = 0, $filter = 0, $iIdx = 0, $iMaxLevel = 0, $iNewLevel = 0, $or$cond = 0, $pWriter = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 120|0; - $1 = sp + 116|0; - $2 = sp + 112|0; - $3 = sp + 108|0; - $rc = sp + 104|0; - $iIdx = sp + 100|0; - $iNewLevel = sp + 8|0; - $pWriter = sp + 96|0; - $filter = sp + 80|0; - $csr = sp + 24|0; - $bIgnoreEmpty = sp + 16|0; - $iMaxLevel = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iLangid; - HEAP32[$2>>2] = $iIndex; - HEAP32[$3>>2] = $iLevel; - HEAP32[$iIdx>>2] = 0; - $4 = $iNewLevel; - $5 = $4; - HEAP32[$5>>2] = 0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = 0; - HEAP32[$pWriter>>2] = 0; - HEAP32[$bIgnoreEmpty>>2] = 0; - $8 = $iMaxLevel; - $9 = $8; + _computeJD($6); + _computeYMD_HMS($6); HEAP32[$9>>2] = 0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = 0; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$3>>2]|0; - $16 = (_sqlite3Fts3SegReaderCursor($12,$13,$14,$15,0,0,1,0,$csr)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)!=(0); - do { - if (!($18)) { - $19 = ((($csr)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $22 = HEAP32[$3>>2]|0; - $23 = ($22|0)!=(-1); - if ($23) { - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = (_fts3SegmentMaxLevel($24,$25,$26,$iMaxLevel)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)!=(0); - if ($29) { + HEAP32[$8>>2] = 0; + while(1) { + $172 = HEAP32[$12>>2]|0; + $173 = HEAP32[$8>>2]|0; + $174 = (($172) + ($173)|0); + $175 = HEAP8[$174>>0]|0; + $176 = ($175<<24>>24)!=(0); + if (!($176)) { + break; + } + $177 = HEAP32[$12>>2]|0; + $178 = HEAP32[$8>>2]|0; + $179 = (($177) + ($178)|0); + $180 = HEAP8[$179>>0]|0; + $181 = $180 << 24 >> 24; + $182 = ($181|0)!=(37); + L39: do { + if ($182) { + $183 = HEAP32[$12>>2]|0; + $184 = HEAP32[$8>>2]|0; + $185 = (($183) + ($184)|0); + $186 = HEAP8[$185>>0]|0; + $187 = HEAP32[$10>>2]|0; + $188 = HEAP32[$9>>2]|0; + $189 = (($188) + 1)|0; + HEAP32[$9>>2] = $189; + $190 = (($187) + ($188)|0); + HEAP8[$190>>0] = $186; + } else { + $191 = HEAP32[$8>>2]|0; + $192 = (($191) + 1)|0; + HEAP32[$8>>2] = $192; + $193 = HEAP32[$12>>2]|0; + $194 = HEAP32[$8>>2]|0; + $195 = (($193) + ($194)|0); + $196 = HEAP8[$195>>0]|0; + $197 = $196 << 24 >> 24; + do { + switch ($197|0) { + case 100: { + $198 = HEAP32[$10>>2]|0; + $199 = HEAP32[$9>>2]|0; + $200 = (($198) + ($199)|0); + $201 = ((($6)) + 16|0); + $202 = HEAP32[$201>>2]|0; + HEAP32[$vararg_buffer>>2] = $202; + (_sqlite3_snprintf(3,$200,23105,$vararg_buffer)|0); + $203 = HEAP32[$9>>2]|0; + $204 = (($203) + 2)|0; + HEAP32[$9>>2] = $204; + break L39; break; } - } - $30 = HEAP32[$3>>2]|0; - $31 = ($30|0)==(-2); - if ($31) { - $32 = ((($csr)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(1); - if ($34) { - $35 = HEAP32[$csr>>2]|0; - $36 = HEAP32[$35>>2]|0; - $37 = ((($36)) + 56|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)!=(0|0); - $40 = $39&1; - $41 = (0)==($40|0); - if ($41) { - HEAP32[$rc>>2] = 101; - break; + case 102: { + $205 = ((($6)) + 32|0); + $206 = +HEAPF64[$205>>3]; + HEAPF64[$14>>3] = $206; + $207 = +HEAPF64[$14>>3]; + $208 = $207 > 59.999000000000002; + if ($208) { + HEAPF64[$14>>3] = 59.999000000000002; } + $209 = HEAP32[$10>>2]|0; + $210 = HEAP32[$9>>2]|0; + $211 = (($209) + ($210)|0); + $212 = +HEAPF64[$14>>3]; + HEAPF64[$vararg_buffer1>>3] = $212; + (_sqlite3_snprintf(7,$211,23110,$vararg_buffer1)|0); + $213 = HEAP32[$10>>2]|0; + $214 = HEAP32[$9>>2]|0; + $215 = (($213) + ($214)|0); + $216 = (_sqlite3Strlen30($215)|0); + $217 = HEAP32[$9>>2]|0; + $218 = (($217) + ($216))|0; + HEAP32[$9>>2] = $218; + break L39; + break; } - $42 = $iMaxLevel; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = $iNewLevel; - $49 = $48; - HEAP32[$49>>2] = $44; - $50 = (($48) + 4)|0; - $51 = $50; - HEAP32[$51>>2] = $47; - HEAP32[$bIgnoreEmpty>>2] = 1; - } else { - $52 = HEAP32[$0>>2]|0; - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$2>>2]|0; - $55 = HEAP32[$3>>2]|0; - $56 = (($55) + 1)|0; - $57 = (_getAbsoluteLevel($52,$53,$54,$56)|0); - $58 = tempRet0; - $59 = $iNewLevel; - $60 = $59; - HEAP32[$60>>2] = $57; - $61 = (($59) + 4)|0; - $62 = $61; - HEAP32[$62>>2] = $58; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[$2>>2]|0; - $66 = HEAP32[$3>>2]|0; - $67 = (($66) + 1)|0; - $68 = (_fts3AllocateSegdirIdx($63,$64,$65,$67,$iIdx)|0); - HEAP32[$rc>>2] = $68; - $69 = HEAP32[$3>>2]|0; - $70 = ($69|0)!=(-1); - if ($70) { - $71 = $iNewLevel; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = (($71) + 4)|0; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = $iMaxLevel; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (($77) + 4)|0; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = ($76|0)>($82|0); - $84 = ($73>>>0)>($79>>>0); - $85 = ($76|0)==($82|0); - $86 = $85 & $84; - $87 = $83 | $86; - $89 = $87; - } else { - $89 = 0; - } - $88 = $89&1; - HEAP32[$bIgnoreEmpty>>2] = $88; - } - $90 = HEAP32[$rc>>2]|0; - $91 = ($90|0)!=(0); - if (!($91)) { - ;HEAP32[$filter>>2]=0|0;HEAP32[$filter+4>>2]=0|0;HEAP32[$filter+8>>2]=0|0;HEAP32[$filter+12>>2]=0|0; - $92 = ((($filter)) + 12|0); - HEAP32[$92>>2] = 1; - $93 = HEAP32[$bIgnoreEmpty>>2]|0; - $94 = ($93|0)!=(0); - $95 = $94 ? 2 : 0; - $96 = ((($filter)) + 12|0); - $97 = HEAP32[$96>>2]|0; - $98 = $97 | $95; - HEAP32[$96>>2] = $98; - $99 = HEAP32[$0>>2]|0; - $100 = (_sqlite3Fts3SegReaderStart($99,$csr,$filter)|0); - HEAP32[$rc>>2] = $100; - while(1) { - $101 = HEAP32[$rc>>2]|0; - $102 = (0)==($101|0); - if (!($102)) { - break; - } - $103 = HEAP32[$0>>2]|0; - $104 = (_sqlite3Fts3SegReaderStep($103,$csr)|0); - HEAP32[$rc>>2] = $104; - $105 = HEAP32[$rc>>2]|0; - $106 = ($105|0)!=(100); - if ($106) { - break; - } - $107 = HEAP32[$0>>2]|0; - $108 = ((($csr)) + 40|0); - $109 = HEAP32[$108>>2]|0; - $110 = ((($csr)) + 44|0); - $111 = HEAP32[$110>>2]|0; - $112 = ((($csr)) + 48|0); - $113 = HEAP32[$112>>2]|0; - $114 = ((($csr)) + 52|0); - $115 = HEAP32[$114>>2]|0; - $116 = (_fts3SegWriterAdd($107,$pWriter,1,$109,$111,$113,$115)|0); - HEAP32[$rc>>2] = $116; + case 72: { + $219 = HEAP32[$10>>2]|0; + $220 = HEAP32[$9>>2]|0; + $221 = (($219) + ($220)|0); + $222 = ((($6)) + 20|0); + $223 = HEAP32[$222>>2]|0; + HEAP32[$vararg_buffer4>>2] = $223; + (_sqlite3_snprintf(3,$221,23105,$vararg_buffer4)|0); + $224 = HEAP32[$9>>2]|0; + $225 = (($224) + 2)|0; + HEAP32[$9>>2] = $225; + break L39; + break; } - $117 = HEAP32[$rc>>2]|0; - $118 = ($117|0)!=(0); - if (!($118)) { - $119 = HEAP32[$3>>2]|0; - $120 = ($119|0)!=(-1); - if ($120) { - $121 = HEAP32[$0>>2]|0; - $122 = HEAP32[$1>>2]|0; - $123 = HEAP32[$2>>2]|0; - $124 = HEAP32[$3>>2]|0; - $125 = HEAP32[$csr>>2]|0; - $126 = ((($csr)) + 4|0); - $127 = HEAP32[$126>>2]|0; - $128 = (_fts3DeleteSegdir($121,$122,$123,$124,$125,$127)|0); - HEAP32[$rc>>2] = $128; - $129 = HEAP32[$rc>>2]|0; - $130 = ($129|0)==(0); - $131 = HEAP32[$pWriter>>2]|0; - $132 = ($131|0)!=(0|0); - $or$cond = $130 & $132; - if (!($or$cond)) { - break; - } + case 106: case 87: { + dest=$16; src=$6; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $226 = ((($16)) + 42|0); + HEAP8[$226>>0] = 0; + $227 = ((($16)) + 12|0); + HEAP32[$227>>2] = 1; + $228 = ((($16)) + 16|0); + HEAP32[$228>>2] = 1; + _computeJD($16); + $229 = $6; + $230 = $229; + $231 = HEAP32[$230>>2]|0; + $232 = (($229) + 4)|0; + $233 = $232; + $234 = HEAP32[$233>>2]|0; + $235 = $16; + $236 = $235; + $237 = HEAP32[$236>>2]|0; + $238 = (($235) + 4)|0; + $239 = $238; + $240 = HEAP32[$239>>2]|0; + $241 = (_i64Subtract(($231|0),($234|0),($237|0),($240|0))|0); + $242 = tempRet0; + $243 = (_i64Add(($241|0),($242|0),43200000,0)|0); + $244 = tempRet0; + $245 = (___divdi3(($243|0),($244|0),86400000,0)|0); + $246 = tempRet0; + HEAP32[$15>>2] = $245; + $247 = HEAP32[$12>>2]|0; + $248 = HEAP32[$8>>2]|0; + $249 = (($247) + ($248)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250 << 24 >> 24; + $252 = ($251|0)==(87); + if ($252) { + $253 = $6; + $254 = $253; + $255 = HEAP32[$254>>2]|0; + $256 = (($253) + 4)|0; + $257 = $256; + $258 = HEAP32[$257>>2]|0; + $259 = (_i64Add(($255|0),($258|0),43200000,0)|0); + $260 = tempRet0; + $261 = (___divdi3(($259|0),($260|0),86400000,0)|0); + $262 = tempRet0; + $263 = (___remdi3(($261|0),($262|0),7,0)|0); + $264 = tempRet0; + HEAP32[$17>>2] = $263; + $265 = HEAP32[$10>>2]|0; + $266 = HEAP32[$9>>2]|0; + $267 = (($265) + ($266)|0); + $268 = HEAP32[$15>>2]|0; + $269 = (($268) + 7)|0; + $270 = HEAP32[$17>>2]|0; + $271 = (($269) - ($270))|0; + $272 = (($271|0) / 7)&-1; + HEAP32[$vararg_buffer7>>2] = $272; + (_sqlite3_snprintf(3,$267,23105,$vararg_buffer7)|0); + $273 = HEAP32[$9>>2]|0; + $274 = (($273) + 2)|0; + HEAP32[$9>>2] = $274; + break L39; } else { - $$old = HEAP32[$pWriter>>2]|0; - $$old1 = ($$old|0)!=(0|0); - if (!($$old1)) { - break; - } - } - $133 = HEAP32[$0>>2]|0; - $134 = HEAP32[$pWriter>>2]|0; - $135 = $iNewLevel; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = (($135) + 4)|0; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = HEAP32[$iIdx>>2]|0; - $142 = (_fts3SegWriterFlush($133,$134,$137,$140,$141)|0); - HEAP32[$rc>>2] = $142; - $143 = HEAP32[$rc>>2]|0; - $144 = ($143|0)==(0); - if ($144) { - $145 = HEAP32[$3>>2]|0; - $146 = ($145|0)==(-1); - if (!($146)) { - $147 = $iNewLevel; - $148 = $147; - $149 = HEAP32[$148>>2]|0; - $150 = (($147) + 4)|0; - $151 = $150; - $152 = HEAP32[$151>>2]|0; - $153 = $iMaxLevel; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = (($153) + 4)|0; - $157 = $156; - $158 = HEAP32[$157>>2]|0; - $159 = ($152|0)<($158|0); - $160 = ($149>>>0)<($155>>>0); - $161 = ($152|0)==($158|0); - $162 = $161 & $160; - $163 = $159 | $162; - if (!($163)) { - break; - } - } - $164 = HEAP32[$0>>2]|0; - $165 = $iNewLevel; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $171 = HEAP32[$pWriter>>2]|0; - $172 = ((($171)) + 56|0); - $173 = $172; - $174 = $173; - $175 = HEAP32[$174>>2]|0; - $176 = (($173) + 4)|0; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (_fts3PromoteSegments($164,$167,$170,$175,$178)|0); - HEAP32[$rc>>2] = $179; + $275 = HEAP32[$10>>2]|0; + $276 = HEAP32[$9>>2]|0; + $277 = (($275) + ($276)|0); + $278 = HEAP32[$15>>2]|0; + $279 = (($278) + 1)|0; + HEAP32[$vararg_buffer10>>2] = $279; + (_sqlite3_snprintf(4,$277,23117,$vararg_buffer10)|0); + $280 = HEAP32[$9>>2]|0; + $281 = (($280) + 3)|0; + HEAP32[$9>>2] = $281; + break L39; } + break; } - } + case 74: { + $282 = HEAP32[$10>>2]|0; + $283 = HEAP32[$9>>2]|0; + $284 = (($282) + ($283)|0); + $285 = $6; + $286 = $285; + $287 = HEAP32[$286>>2]|0; + $288 = (($285) + 4)|0; + $289 = $288; + $290 = HEAP32[$289>>2]|0; + $291 = (+($287>>>0)) + (4294967296.0*(+($290|0))); + $292 = $291 / 8.64E+7; + HEAPF64[$vararg_buffer13>>3] = $292; + (_sqlite3_snprintf(20,$284,23122,$vararg_buffer13)|0); + $293 = HEAP32[$10>>2]|0; + $294 = HEAP32[$9>>2]|0; + $295 = (($293) + ($294)|0); + $296 = (_sqlite3Strlen30($295)|0); + $297 = HEAP32[$9>>2]|0; + $298 = (($297) + ($296))|0; + HEAP32[$9>>2] = $298; + break L39; + break; + } + case 109: { + $299 = HEAP32[$10>>2]|0; + $300 = HEAP32[$9>>2]|0; + $301 = (($299) + ($300)|0); + $302 = ((($6)) + 12|0); + $303 = HEAP32[$302>>2]|0; + HEAP32[$vararg_buffer16>>2] = $303; + (_sqlite3_snprintf(3,$301,23105,$vararg_buffer16)|0); + $304 = HEAP32[$9>>2]|0; + $305 = (($304) + 2)|0; + HEAP32[$9>>2] = $305; + break L39; + break; + } + case 77: { + $306 = HEAP32[$10>>2]|0; + $307 = HEAP32[$9>>2]|0; + $308 = (($306) + ($307)|0); + $309 = ((($6)) + 24|0); + $310 = HEAP32[$309>>2]|0; + HEAP32[$vararg_buffer19>>2] = $310; + (_sqlite3_snprintf(3,$308,23105,$vararg_buffer19)|0); + $311 = HEAP32[$9>>2]|0; + $312 = (($311) + 2)|0; + HEAP32[$9>>2] = $312; + break L39; + break; + } + case 115: { + $313 = HEAP32[$10>>2]|0; + $314 = HEAP32[$9>>2]|0; + $315 = (($313) + ($314)|0); + $316 = $6; + $317 = $316; + $318 = HEAP32[$317>>2]|0; + $319 = (($316) + 4)|0; + $320 = $319; + $321 = HEAP32[$320>>2]|0; + $322 = (___divdi3(($318|0),($321|0),1000,0)|0); + $323 = tempRet0; + $324 = (_i64Subtract(($322|0),($323|0),413362496,49)|0); + $325 = tempRet0; + $326 = $vararg_buffer22; + $327 = $326; + HEAP32[$327>>2] = $324; + $328 = (($326) + 4)|0; + $329 = $328; + HEAP32[$329>>2] = $325; + (_sqlite3_snprintf(30,$315,22191,$vararg_buffer22)|0); + $330 = HEAP32[$10>>2]|0; + $331 = HEAP32[$9>>2]|0; + $332 = (($330) + ($331)|0); + $333 = (_sqlite3Strlen30($332)|0); + $334 = HEAP32[$9>>2]|0; + $335 = (($334) + ($333))|0; + HEAP32[$9>>2] = $335; + break L39; + break; + } + case 83: { + $336 = HEAP32[$10>>2]|0; + $337 = HEAP32[$9>>2]|0; + $338 = (($336) + ($337)|0); + $339 = ((($6)) + 32|0); + $340 = +HEAPF64[$339>>3]; + $341 = (~~(($340))); + HEAP32[$vararg_buffer25>>2] = $341; + (_sqlite3_snprintf(3,$338,23105,$vararg_buffer25)|0); + $342 = HEAP32[$9>>2]|0; + $343 = (($342) + 2)|0; + HEAP32[$9>>2] = $343; + break L39; + break; + } + case 119: { + $344 = $6; + $345 = $344; + $346 = HEAP32[$345>>2]|0; + $347 = (($344) + 4)|0; + $348 = $347; + $349 = HEAP32[$348>>2]|0; + $350 = (_i64Add(($346|0),($349|0),129600000,0)|0); + $351 = tempRet0; + $352 = (___divdi3(($350|0),($351|0),86400000,0)|0); + $353 = tempRet0; + $354 = (___remdi3(($352|0),($353|0),7,0)|0); + $355 = tempRet0; + $356 = $354&255; + $357 = $356 << 24 >> 24; + $358 = (($357) + 48)|0; + $359 = $358&255; + $360 = HEAP32[$10>>2]|0; + $361 = HEAP32[$9>>2]|0; + $362 = (($361) + 1)|0; + HEAP32[$9>>2] = $362; + $363 = (($360) + ($361)|0); + HEAP8[$363>>0] = $359; + break L39; + break; + } + case 89: { + $364 = HEAP32[$10>>2]|0; + $365 = HEAP32[$9>>2]|0; + $366 = (($364) + ($365)|0); + $367 = ((($6)) + 8|0); + $368 = HEAP32[$367>>2]|0; + HEAP32[$vararg_buffer28>>2] = $368; + (_sqlite3_snprintf(5,$366,23128,$vararg_buffer28)|0); + $369 = HEAP32[$10>>2]|0; + $370 = HEAP32[$9>>2]|0; + $371 = (($369) + ($370)|0); + $372 = (_sqlite3Strlen30($371)|0); + $373 = HEAP32[$9>>2]|0; + $374 = (($373) + ($372))|0; + HEAP32[$9>>2] = $374; + break L39; + break; + } + default: { + $375 = HEAP32[$10>>2]|0; + $376 = HEAP32[$9>>2]|0; + $377 = (($376) + 1)|0; + HEAP32[$9>>2] = $377; + $378 = (($375) + ($376)|0); + HEAP8[$378>>0] = 37; + break L39; + } + } + } while(0); } - } - } while(0); - $180 = HEAP32[$pWriter>>2]|0; - _fts3SegWriterFree($180); - _sqlite3Fts3SegReaderFinish($csr); - $181 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($181|0); + } while(0); + $379 = HEAP32[$8>>2]|0; + $380 = (($379) + 1)|0; + HEAP32[$8>>2] = $380; + } + $381 = HEAP32[$10>>2]|0; + $382 = HEAP32[$9>>2]|0; + $383 = (($381) + ($382)|0); + HEAP8[$383>>0] = 0; + $384 = HEAP32[$3>>2]|0; + $385 = HEAP32[$10>>2]|0; + $386 = HEAP32[$10>>2]|0; + $387 = ($386|0)==($13|0); + $388 = $387 ? (-1) : 191; + _sqlite3_result_text($384,$385,-1,$388); + STACKTOP = sp;return; } -function _fts3SqlStmt($p,$eStmt,$pp,$apVal) { - $p = $p|0; - $eStmt = $eStmt|0; - $pp = $pp|0; - $apVal = $apVal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $azSql = 0, $i = 0, $nParam = 0, $pStmt = 0, $rc = 0; - var $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr9 = 0, $zSql = 0, label = 0, sp = 0; +function _ctimeFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $0 = sp + 228|0; - $1 = sp + 224|0; - $2 = sp + 220|0; - $3 = sp + 216|0; - $azSql = sp + 56|0; - $rc = sp + 48|0; - $pStmt = sp + 44|0; - $zSql = sp + 40|0; - $i = sp + 36|0; - $nParam = sp + 32|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $eStmt; - HEAP32[$2>>2] = $pp; - HEAP32[$3>>2] = $apVal; - _memcpy(($azSql|0),(1920|0),160)|0; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 56|0); - $7 = (($6) + ($4<<2)|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pStmt>>2] = $8; - $9 = HEAP32[$pStmt>>2]|0; - $10 = ($9|0)!=(0|0); + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + _timeFunc($6,0,0); + STACKTOP = sp;return; +} +function _ctimestampFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + _datetimeFunc($6,0,0); + STACKTOP = sp;return; +} +function _cdateFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + _dateFunc($6,0,0); + STACKTOP = sp;return; +} +function _isDate($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.0, $27 = 0.0, $28 = 0.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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0; + var $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $12 = HEAP32[$8>>2]|0; + dest=$12; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$8>>2]|0; + $17 = (_setDateTimeToCurrent($15,$16)|0); + HEAP32[$4>>2] = $17; + $63 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($63|0); + } + $18 = HEAP32[$7>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_type($19)|0); + HEAP32[$11>>2] = $20; + $21 = ($20|0)==(2); + $22 = HEAP32[$11>>2]|0; + $23 = ($22|0)==(1); + $or$cond = $21 | $23; + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$24>>2]|0; do { - if (!($10)) { - $11 = HEAP32[$1>>2]|0; - $12 = ($11|0)==(18); - $13 = HEAP32[$1>>2]|0; - do { - if ($12) { - $14 = (($azSql) + ($13<<2)|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 220|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$vararg_buffer>>2] = $18; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $21; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $24; - $25 = (_sqlite3_mprintf($15,$vararg_buffer)|0); - HEAP32[$zSql>>2] = $25; - } else { - $26 = ($13|0)==(7); - $27 = HEAP32[$1>>2]|0; - $28 = (($azSql) + ($27<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$0>>2]|0; - if ($26) { - $31 = ((($30)) + 216|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$vararg_buffer3>>2] = $32; - $33 = (_sqlite3_mprintf($29,$vararg_buffer3)|0); - HEAP32[$zSql>>2] = $33; - break; - } else { - $34 = ((($30)) + 16|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 20|0); - $38 = HEAP32[$37>>2]|0; - HEAP32[$vararg_buffer6>>2] = $35; - $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $38; - $39 = (_sqlite3_mprintf($29,$vararg_buffer6)|0); - HEAP32[$zSql>>2] = $39; - break; - } + if ($or$cond) { + $26 = (+_sqlite3_value_double($25)); + $27 = $26 * 8.64E+7; + $28 = $27 + 0.5; + $29 = (~~$28)>>>0; + $30 = +Math_abs($28) >= 1.0 ? $28 > 0.0 ? (~~+Math_min(+Math_floor($28 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($28 - +(~~$28 >>> 0)) / 4294967296.0) >>> 0 : 0; + $31 = HEAP32[$8>>2]|0; + $32 = $31; + $33 = $32; + HEAP32[$33>>2] = $29; + $34 = (($32) + 4)|0; + $35 = $34; + HEAP32[$35>>2] = $30; + $36 = HEAP32[$8>>2]|0; + $37 = ((($36)) + 42|0); + HEAP8[$37>>0] = 1; + } else { + $38 = (_sqlite3_value_text($25)|0); + HEAP32[$10>>2] = $38; + $39 = HEAP32[$10>>2]|0; + $40 = ($39|0)!=(0|0); + if ($40) { + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$10>>2]|0; + $43 = HEAP32[$8>>2]|0; + $44 = (_parseDateOrTime($41,$42,$43)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + break; } - } while(0); - $40 = HEAP32[$zSql>>2]|0; - $41 = ($40|0)!=(0|0); - if ($41) { - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$zSql>>2]|0; - $46 = (_sqlite3_prepare_v2($44,$45,-1,$pStmt,0)|0); - HEAP32[$rc>>2] = $46; - $47 = HEAP32[$zSql>>2]|0; - _sqlite3_free($47); - $48 = HEAP32[$pStmt>>2]|0; - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 56|0); - $52 = (($51) + ($49<<2)|0); - HEAP32[$52>>2] = $48; - break; - } else { - HEAP32[$rc>>2] = 7; - break; } + HEAP32[$4>>2] = 1; + $63 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($63|0); } } while(0); - $53 = HEAP32[$3>>2]|0; - $54 = ($53|0)!=(0|0); - if (!($54)) { - $72 = HEAP32[$pStmt>>2]|0; - $73 = HEAP32[$2>>2]|0; - HEAP32[$73>>2] = $72; - $74 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($74|0); - } - $55 = HEAP32[$pStmt>>2]|0; - $56 = (_sqlite3_bind_parameter_count($55)|0); - HEAP32[$nParam>>2] = $56; - HEAP32[$i>>2] = 0; + HEAP32[$9>>2] = 1; while(1) { - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)==(0); - if (!($58)) { - label = 15; + $46 = HEAP32[$9>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = ($46|0)<($47|0); + if (!($48)) { + label = 14; break; } - $59 = HEAP32[$i>>2]|0; - $60 = HEAP32[$nParam>>2]|0; - $61 = ($59|0)<($60|0); - if (!($61)) { - label = 15; + $49 = HEAP32[$7>>2]|0; + $50 = HEAP32[$9>>2]|0; + $51 = (($49) + ($50<<2)|0); + $52 = HEAP32[$51>>2]|0; + $53 = (_sqlite3_value_text($52)|0); + HEAP32[$10>>2] = $53; + $54 = HEAP32[$10>>2]|0; + $55 = ($54|0)==(0|0); + if ($55) { + label = 12; break; } - $62 = HEAP32[$pStmt>>2]|0; - $63 = HEAP32[$i>>2]|0; - $64 = (($63) + 1)|0; - $65 = HEAP32[$i>>2]|0; - $66 = HEAP32[$3>>2]|0; - $67 = (($66) + ($65<<2)|0); - $68 = HEAP32[$67>>2]|0; - $69 = (_sqlite3_bind_value($62,$64,$68)|0); - HEAP32[$rc>>2] = $69; - $70 = HEAP32[$i>>2]|0; - $71 = (($70) + 1)|0; - HEAP32[$i>>2] = $71; + $56 = HEAP32[$5>>2]|0; + $57 = HEAP32[$10>>2]|0; + $58 = HEAP32[$8>>2]|0; + $59 = (_parseModifier($56,$57,$58)|0); + $60 = ($59|0)!=(0); + if ($60) { + label = 12; + break; + } + $61 = HEAP32[$9>>2]|0; + $62 = (($61) + 1)|0; + HEAP32[$9>>2] = $62; } - if ((label|0) == 15) { - $72 = HEAP32[$pStmt>>2]|0; - $73 = HEAP32[$2>>2]|0; - HEAP32[$73>>2] = $72; - $74 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($74|0); + if ((label|0) == 12) { + HEAP32[$4>>2] = 1; + $63 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($63|0); + } + else if ((label|0) == 14) { + HEAP32[$4>>2] = 0; + $63 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($63|0); } return (0)|0; } -function _sqlite3Fts3SegReaderCursor($p,$iLangid,$iIndex,$iLevel,$zTerm,$nTerm,$isPrefix,$isScan,$pCsr) { - $p = $p|0; - $iLangid = $iLangid|0; - $iIndex = $iIndex|0; - $iLevel = $iLevel|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - $isPrefix = $isPrefix|0; - $isScan = $isScan|0; - $pCsr = $pCsr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var dest = 0, label = 0, sp = 0, stop = 0; +function _computeJD($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $14 = 0, $15 = 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.0, $55 = 0.0, $56 = 0.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.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; + STACKTOP = STACKTOP + 32|0; $1 = sp + 28|0; $2 = sp + 24|0; $3 = sp + 20|0; @@ -44738,67950 +38278,50025 @@ function _sqlite3Fts3SegReaderCursor($p,$iLangid,$iIndex,$iLevel,$zTerm,$nTerm,$ $6 = sp + 8|0; $7 = sp + 4|0; $8 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iLangid; - HEAP32[$2>>2] = $iIndex; - HEAP32[$3>>2] = $iLevel; - HEAP32[$4>>2] = $zTerm; - HEAP32[$5>>2] = $nTerm; - HEAP32[$6>>2] = $isPrefix; - HEAP32[$7>>2] = $isScan; - HEAP32[$8>>2] = $pCsr; - $9 = HEAP32[$8>>2]|0; - dest=$9; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$3>>2]|0; - $14 = HEAP32[$4>>2]|0; - $15 = HEAP32[$5>>2]|0; - $16 = HEAP32[$6>>2]|0; - $17 = HEAP32[$7>>2]|0; - $18 = HEAP32[$8>>2]|0; - $19 = (_fts3SegReaderCursor($10,$11,$12,$13,$14,$15,$16,$17,$18)|0); - STACKTOP = sp;return ($19|0); -} -function _fts3SegmentMaxLevel($p,$iLangid,$iIndex,$pnMax) { - $p = $p|0; - $iLangid = $iLangid|0; - $iIndex = $iIndex|0; - $pnMax = $pnMax|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $pStmt = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $pStmt = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iLangid; - HEAP32[$3>>2] = $iIndex; - HEAP32[$4>>2] = $pnMax; - $5 = HEAP32[$1>>2]|0; - $6 = (_fts3SqlStmt($5,15,$pStmt,0)|0); - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)!=(0); - if ($8) { - $9 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $9; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + HEAP32[$1>>2] = $0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 42|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)!=(0); + if ($12) { + STACKTOP = sp;return; } - $10 = HEAP32[$pStmt>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$3>>2]|0; - $14 = (_getAbsoluteLevel($11,$12,$13,0)|0); - $15 = tempRet0; - (_sqlite3_bind_int64($10,1,$14,$15)|0); - $16 = HEAP32[$pStmt>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$3>>2]|0; - $20 = (_getAbsoluteLevel($17,$18,$19,1023)|0); - $21 = tempRet0; - (_sqlite3_bind_int64($16,2,$20,$21)|0); - $22 = HEAP32[$pStmt>>2]|0; - $23 = (_sqlite3_step($22)|0); - $24 = (100)==($23|0); - if ($24) { - $25 = HEAP32[$pStmt>>2]|0; - $26 = (_sqlite3_column_int64($25,0)|0); - $27 = tempRet0; - $28 = HEAP32[$4>>2]|0; - $29 = $28; - $30 = $29; - HEAP32[$30>>2] = $26; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $27; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 40|0); + $15 = HEAP8[$14>>0]|0; + $16 = ($15<<24>>24)!=(0); + if ($16) { + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$2>>2] = $19; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$3>>2] = $22; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$4>>2] = $25; + } else { + HEAP32[$2>>2] = 2000; + HEAP32[$3>>2] = 1; + HEAP32[$4>>2] = 1; } - $33 = HEAP32[$pStmt>>2]|0; - $34 = (_sqlite3_reset($33)|0); - HEAP32[$0>>2] = $34; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); -} -function _getAbsoluteLevel($p,$iLangid,$iIndex,$iLevel) { - $p = $p|0; - $iLangid = $iLangid|0; - $iIndex = $iIndex|0; - $iLevel = $iLevel|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $iBase = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $iBase = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iLangid; - HEAP32[$2>>2] = $iIndex; - HEAP32[$3>>2] = $iLevel; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)<(0); - $6 = $5 << 31 >> 31; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 248|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = (___muldi3(($4|0),($6|0),($9|0),($11|0))|0); - $13 = tempRet0; - $14 = HEAP32[$2>>2]|0; - $15 = ($14|0)<(0); - $16 = $15 << 31 >> 31; - $17 = (_i64Add(($12|0),($13|0),($14|0),($16|0))|0); - $18 = tempRet0; - $19 = (___muldi3(($17|0),($18|0),1024,0)|0); - $20 = tempRet0; - $21 = $iBase; - $22 = $21; - HEAP32[$22>>2] = $19; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = $iBase; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = ($31|0)<(0); - $33 = $32 << 31 >> 31; - $34 = (_i64Add(($27|0),($30|0),($31|0),($33|0))|0); - $35 = tempRet0; - tempRet0 = ($35); - STACKTOP = sp;return ($34|0); -} -function _fts3AllocateSegdirIdx($p,$iLangid,$iIndex,$iLevel,$piIdx) { - $p = $p|0; - $iLangid = $iLangid|0; - $iIndex = $iIndex|0; - $iLevel = $iLevel|0; - $piIdx = $piIdx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $iNext = 0, $pNextIdx = 0, $rc = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $rc = sp + 8|0; - $pNextIdx = sp + 4|0; - $iNext = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iLangid; - HEAP32[$2>>2] = $iIndex; - HEAP32[$3>>2] = $iLevel; - HEAP32[$4>>2] = $piIdx; - HEAP32[$iNext>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = (_fts3SqlStmt($5,8,$pNextIdx,0)|0); - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $9 = HEAP32[$pNextIdx>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$3>>2]|0; - $14 = (_getAbsoluteLevel($10,$11,$12,$13)|0); - $15 = tempRet0; - (_sqlite3_bind_int64($9,1,$14,$15)|0); - $16 = HEAP32[$pNextIdx>>2]|0; - $17 = (_sqlite3_step($16)|0); - $18 = (100)==($17|0); - if ($18) { - $19 = HEAP32[$pNextIdx>>2]|0; - $20 = (_sqlite3_column_int($19,0)|0); - HEAP32[$iNext>>2] = $20; - } - $21 = HEAP32[$pNextIdx>>2]|0; - $22 = (_sqlite3_reset($21)|0); - HEAP32[$rc>>2] = $22; + $26 = HEAP32[$3>>2]|0; + $27 = ($26|0)<=(2); + if ($27) { + $28 = HEAP32[$2>>2]|0; + $29 = (($28) + -1)|0; + HEAP32[$2>>2] = $29; + $30 = HEAP32[$3>>2]|0; + $31 = (($30) + 12)|0; + HEAP32[$3>>2] = $31; } - $23 = HEAP32[$rc>>2]|0; - $24 = ($23|0)==(0); - if (!($24)) { - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + $32 = HEAP32[$2>>2]|0; + $33 = (($32|0) / 100)&-1; + HEAP32[$5>>2] = $33; + $34 = HEAP32[$5>>2]|0; + $35 = (2 - ($34))|0; + $36 = HEAP32[$5>>2]|0; + $37 = (($36|0) / 4)&-1; + $38 = (($35) + ($37))|0; + HEAP32[$6>>2] = $38; + $39 = HEAP32[$2>>2]|0; + $40 = (($39) + 4716)|0; + $41 = ($40*36525)|0; + $42 = (($41|0) / 100)&-1; + HEAP32[$7>>2] = $42; + $43 = HEAP32[$3>>2]|0; + $44 = (($43) + 1)|0; + $45 = ($44*306001)|0; + $46 = (($45|0) / 10000)&-1; + HEAP32[$8>>2] = $46; + $47 = HEAP32[$7>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = (($47) + ($48))|0; + $50 = HEAP32[$4>>2]|0; + $51 = (($49) + ($50))|0; + $52 = HEAP32[$6>>2]|0; + $53 = (($51) + ($52))|0; + $54 = (+($53|0)); + $55 = $54 - 1524.5; + $56 = $55 * 8.64E+7; + $57 = (~~$56)>>>0; + $58 = +Math_abs($56) >= 1.0 ? $56 > 0.0 ? (~~+Math_min(+Math_floor($56 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($56 - +(~~$56 >>> 0)) / 4294967296.0) >>> 0 : 0; + $59 = HEAP32[$1>>2]|0; + $60 = $59; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $58; + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 42|0); + HEAP8[$65>>0] = 1; + $66 = HEAP32[$1>>2]|0; + $67 = ((($66)) + 41|0); + $68 = HEAP8[$67>>0]|0; + $69 = ($68<<24>>24)!=(0); + if (!($69)) { + STACKTOP = sp;return; } - $25 = HEAP32[$iNext>>2]|0; - $26 = ($25|0)>=(16); - if ($26) { - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$3>>2]|0; - $31 = (_fts3SegmentMerge($27,$28,$29,$30)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$4>>2]|0; - HEAP32[$32>>2] = 0; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); - } else { - $33 = HEAP32[$iNext>>2]|0; - $34 = HEAP32[$4>>2]|0; - HEAP32[$34>>2] = $33; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + $70 = HEAP32[$1>>2]|0; + $71 = ((($70)) + 20|0); + $72 = HEAP32[$71>>2]|0; + $73 = Math_imul($72, 3600000)|0; + $74 = HEAP32[$1>>2]|0; + $75 = ((($74)) + 24|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76*60000)|0; + $78 = (($73) + ($77))|0; + $79 = ($78|0)<(0); + $80 = $79 << 31 >> 31; + $81 = HEAP32[$1>>2]|0; + $82 = ((($81)) + 32|0); + $83 = +HEAPF64[$82>>3]; + $84 = $83 * 1000.0; + $85 = (~~$84)>>>0; + $86 = +Math_abs($84) >= 1.0 ? $84 > 0.0 ? (~~+Math_min(+Math_floor($84 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($84 - +(~~$84 >>> 0)) / 4294967296.0) >>> 0 : 0; + $87 = (_i64Add(($78|0),($80|0),($85|0),($86|0))|0); + $88 = tempRet0; + $89 = HEAP32[$1>>2]|0; + $90 = $89; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = (($90) + 4)|0; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (_i64Add(($92|0),($95|0),($87|0),($88|0))|0); + $97 = tempRet0; + $98 = $89; + $99 = $98; + HEAP32[$99>>2] = $96; + $100 = (($98) + 4)|0; + $101 = $100; + HEAP32[$101>>2] = $97; + $102 = HEAP32[$1>>2]|0; + $103 = ((($102)) + 43|0); + $104 = HEAP8[$103>>0]|0; + $105 = ($104<<24>>24)!=(0); + if (!($105)) { + STACKTOP = sp;return; } - return (0)|0; + $106 = HEAP32[$1>>2]|0; + $107 = ((($106)) + 28|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108*60000)|0; + $110 = ($109|0)<(0); + $111 = $110 << 31 >> 31; + $112 = HEAP32[$1>>2]|0; + $113 = $112; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = (($113) + 4)|0; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (_i64Subtract(($115|0),($118|0),($109|0),($111|0))|0); + $120 = tempRet0; + $121 = $112; + $122 = $121; + HEAP32[$122>>2] = $119; + $123 = (($121) + 4)|0; + $124 = $123; + HEAP32[$124>>2] = $120; + $125 = HEAP32[$1>>2]|0; + $126 = ((($125)) + 40|0); + HEAP8[$126>>0] = 0; + $127 = HEAP32[$1>>2]|0; + $128 = ((($127)) + 41|0); + HEAP8[$128>>0] = 0; + $129 = HEAP32[$1>>2]|0; + $130 = ((($129)) + 43|0); + HEAP8[$130>>0] = 0; + STACKTOP = sp;return; } -function _sqlite3Fts3SegReaderStart($p,$pCsr,$pFilter) { - $p = $p|0; - $pCsr = $pCsr|0; - $pFilter = $pFilter|0; - var $0 = 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, label = 0, sp = 0; +function _computeYMD_HMS($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pFilter; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 12|0); - HEAP32[$5>>2] = $3; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_fts3SegReaderStart($6,$7,$9,$12)|0); - STACKTOP = sp;return ($13|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _computeYMD($2); + $3 = HEAP32[$1>>2]|0; + _computeHMS($3); + STACKTOP = sp;return; } -function _sqlite3Fts3SegReaderStep($p,$pCsr) { - $p = $p|0; - $pCsr = $pCsr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $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, $a = 0, $aNew = 0, $apSegment = 0; - var $i = 0, $iDelta = 0, $iDocid = 0, $iPrev = 0, $isColFilter = 0, $isFirst = 0, $isIgnoreEmpty = 0, $isPrefix = 0, $isRequirePos = 0, $isScan = 0, $j = 0, $nByte = 0, $nDoclist = 0, $nList = 0, $nMerge = 0, $nSegment = 0, $nWrite = 0, $or$cond = 0, $or$cond10 = 0, $or$cond3 = 0; - var $or$cond5 = 0, $or$cond8 = 0, $pFilter = 0, $pList = 0, $pSeg = 0, $rc = 0, $xCmp = 0, label = 0, sp = 0; +function _computeYMD($0) { + $0 = $0|0; + var $$sink = 0, $$sink1 = 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.0, $35 = 0.0, $36 = 0.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.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0; + var $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 120|0; - $1 = sp + 116|0; - $2 = sp + 112|0; - $rc = sp + 108|0; - $isIgnoreEmpty = sp + 104|0; - $isRequirePos = sp + 100|0; - $isColFilter = sp + 96|0; - $isPrefix = sp + 92|0; - $isScan = sp + 88|0; - $isFirst = sp + 84|0; - $apSegment = sp + 80|0; - $nSegment = sp + 76|0; - $pFilter = sp + 72|0; - $xCmp = sp + 68|0; - $nMerge = sp + 64|0; - $i = sp + 60|0; - $pSeg = sp + 56|0; - $nDoclist = sp + 52|0; - $iPrev = sp + 16|0; - $j = sp + 48|0; - $pList = sp + 44|0; - $nList = sp + 40|0; - $nByte = sp + 36|0; - $iDocid = sp + 8|0; - $iDelta = sp; - $aNew = sp + 32|0; - $a = sp + 28|0; - $nWrite = sp + 24|0; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pCsr; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = $7 & 2; - HEAP32[$isIgnoreEmpty>>2] = $8; - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 12|0); + STACKTOP = STACKTOP + 32|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$1>>2] = $0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 40|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)!=(0); + if ($12) { + STACKTOP = sp;return; + } + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 42|0); + $15 = HEAP8[$14>>0]|0; + $16 = ($15<<24>>24)!=(0); + $17 = HEAP32[$1>>2]|0; + if ($16) { + $23 = $17; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (_i64Add(($25|0),($28|0),43200000,0)|0); + $30 = tempRet0; + $31 = (___divdi3(($29|0),($30|0),86400000,0)|0); + $32 = tempRet0; + HEAP32[$2>>2] = $31; + $33 = HEAP32[$2>>2]|0; + $34 = (+($33|0)); + $35 = $34 - 1867216.25; + $36 = $35 / 36524.25; + $37 = (~~(($36))); + HEAP32[$3>>2] = $37; + $38 = HEAP32[$2>>2]|0; + $39 = (($38) + 1)|0; + $40 = HEAP32[$3>>2]|0; + $41 = (($39) + ($40))|0; + $42 = HEAP32[$3>>2]|0; + $43 = (($42|0) / 4)&-1; + $44 = (($41) - ($43))|0; + HEAP32[$3>>2] = $44; + $45 = HEAP32[$3>>2]|0; + $46 = (($45) + 1524)|0; + HEAP32[$4>>2] = $46; + $47 = HEAP32[$4>>2]|0; + $48 = (+($47|0)); + $49 = $48 - 122.09999999999999; + $50 = $49 / 365.25; + $51 = (~~(($50))); + HEAP32[$5>>2] = $51; + $52 = HEAP32[$5>>2]|0; + $53 = $52 & 32767; + $54 = ($53*36525)|0; + $55 = (($54|0) / 100)&-1; + HEAP32[$6>>2] = $55; + $56 = HEAP32[$4>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = (($56) - ($57))|0; + $59 = (+($58|0)); + $60 = $59 / 30.600100000000001; + $61 = (~~(($60))); + HEAP32[$7>>2] = $61; + $62 = HEAP32[$7>>2]|0; + $63 = (+($62|0)); + $64 = 30.600100000000001 * $63; + $65 = (~~(($64))); + HEAP32[$8>>2] = $65; + $66 = HEAP32[$4>>2]|0; + $67 = HEAP32[$6>>2]|0; + $68 = (($66) - ($67))|0; + $69 = HEAP32[$8>>2]|0; + $70 = (($68) - ($69))|0; + $71 = HEAP32[$1>>2]|0; + $72 = ((($71)) + 16|0); + HEAP32[$72>>2] = $70; + $73 = HEAP32[$7>>2]|0; + $74 = ($73|0)<(14); + $75 = HEAP32[$7>>2]|0; + $$sink = $74 ? 1 : 13; + $76 = (($75) - ($$sink))|0; + $77 = HEAP32[$1>>2]|0; + $78 = ((($77)) + 12|0); + HEAP32[$78>>2] = $76; + $79 = HEAP32[$1>>2]|0; + $80 = ((($79)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)>(2); + $83 = HEAP32[$5>>2]|0; + $$sink1 = $82 ? 4716 : 4715; + $84 = (($83) - ($$sink1))|0; + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 8|0); + HEAP32[$86>>2] = $84; + } else { + $18 = ((($17)) + 8|0); + HEAP32[$18>>2] = 2000; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 12|0); + HEAP32[$20>>2] = 1; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 16|0); + HEAP32[$22>>2] = 1; + } + $87 = HEAP32[$1>>2]|0; + $88 = ((($87)) + 40|0); + HEAP8[$88>>0] = 1; + STACKTOP = sp;return; +} +function _computeHMS($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.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0; + var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 41|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)!=(0); + if ($6) { + STACKTOP = sp;return; + } + $7 = HEAP32[$1>>2]|0; + _computeJD($7); + $8 = HEAP32[$1>>2]|0; + $9 = $8; + $10 = $9; $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 & 1; - HEAP32[$isRequirePos>>2] = $14; - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19 & 4; - HEAP32[$isColFilter>>2] = $20; - $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 12|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - $26 = $25 & 8; - HEAP32[$isPrefix>>2] = $26; - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = $31 & 16; - HEAP32[$isScan>>2] = $32; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 12|0); - $35 = HEAP32[$34>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = $37 & 32; - HEAP32[$isFirst>>2] = $38; - $39 = HEAP32[$2>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (_i64Add(($11|0),($14|0),43200000,0)|0); + $16 = tempRet0; + $17 = (___remdi3(($15|0),($16|0),86400000,0)|0); + $18 = tempRet0; + HEAP32[$2>>2] = $17; + $19 = HEAP32[$2>>2]|0; + $20 = (+($19|0)); + $21 = $20 / 1000.0; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 32|0); + HEAPF64[$23>>3] = $21; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 32|0); + $26 = +HEAPF64[$25>>3]; + $27 = (~~(($26))); + HEAP32[$2>>2] = $27; + $28 = HEAP32[$2>>2]|0; + $29 = (+($28|0)); + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 32|0); + $32 = +HEAPF64[$31>>3]; + $33 = $32 - $29; + HEAPF64[$31>>3] = $33; + $34 = HEAP32[$2>>2]|0; + $35 = (($34|0) / 3600)&-1; + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 20|0); + HEAP32[$37>>2] = $35; + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 20|0); $40 = HEAP32[$39>>2]|0; - HEAP32[$apSegment>>2] = $40; - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 4|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$nSegment>>2] = $43; + $41 = ($40*3600)|0; + $42 = HEAP32[$2>>2]|0; + $43 = (($42) - ($41))|0; + HEAP32[$2>>2] = $43; $44 = HEAP32[$2>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$pFilter>>2] = $46; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 231|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = ($50|0)!=(0); - $52 = $51 ? 182 : 183; - HEAP32[$xCmp>>2] = $52; - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==(0); - if ($56) { - HEAP32[$0>>2] = 0; - $475 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($475|0); + $45 = (($44|0) / 60)&-1; + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 24|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$2>>2]|0; + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51*60)|0; + $53 = (($48) - ($52))|0; + $54 = (+($53|0)); + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 32|0); + $57 = +HEAPF64[$56>>3]; + $58 = $57 + $54; + HEAPF64[$56>>3] = $58; + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 41|0); + HEAP8[$60>>0] = 1; + STACKTOP = sp;return; +} +function _setDateTimeToCurrent($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $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; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = (_sqlite3StmtCurrentTime($5)|0); + $7 = tempRet0; + $8 = HEAP32[$4>>2]|0; + $9 = $8; + $10 = $9; + HEAP32[$10>>2] = $6; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $7; + $13 = HEAP32[$4>>2]|0; + $14 = $13; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)>(0); + $21 = ($16>>>0)>(0); + $22 = ($19|0)==(0); + $23 = $22 & $21; + $24 = $20 | $23; + if ($24) { + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 42|0); + HEAP8[$26>>0] = 1; + HEAP32[$2>>2] = 0; + $27 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($27|0); + } else { + HEAP32[$2>>2] = 1; + $27 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($27|0); } - L4: while(1) { - HEAP32[$i>>2] = 0; - while(1) { - $57 = HEAP32[$i>>2]|0; - $58 = HEAP32[$2>>2]|0; - $59 = ((($58)) + 8|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($57|0)<($60|0); - if (!($61)) { - break; - } - $62 = HEAP32[$i>>2]|0; - $63 = HEAP32[$apSegment>>2]|0; - $64 = (($63) + ($62<<2)|0); - $65 = HEAP32[$64>>2]|0; - HEAP32[$pSeg>>2] = $65; - $66 = HEAP32[$pSeg>>2]|0; - $67 = ((($66)) + 4|0); - $68 = HEAP8[$67>>0]|0; - $69 = ($68<<24>>24)!=(0); - if ($69) { - $70 = HEAP32[$pSeg>>2]|0; - _fts3SegReaderSetEof($70); - } else { - $71 = HEAP32[$1>>2]|0; - $72 = HEAP32[$pSeg>>2]|0; - $73 = (_fts3SegReaderNext($71,$72,0)|0); - HEAP32[$rc>>2] = $73; - } - $74 = HEAP32[$rc>>2]|0; + return (0)|0; +} +function _parseDateOrTime($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.0, $28 = 0.0, $29 = 0.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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$6>>2]|0; + $10 = (_parseYyyyMmDd($8,$9)|0); + $11 = ($10|0)==(0); + if ($11) { + HEAP32[$3>>2] = 0; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); + } + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = (_parseHhMmSs($12,$13)|0); + $15 = ($14|0)==(0); + if ($15) { + HEAP32[$3>>2] = 0; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); + } + $16 = HEAP32[$5>>2]|0; + $17 = (_sqlite3StrICmp($16,23253)|0); + $18 = ($17|0)==(0); + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = (_setDateTimeToCurrent($19,$20)|0); + HEAP32[$3>>2] = $21; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); + } + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = (_sqlite3Strlen30($23)|0); + $25 = (_sqlite3AtoF($22,$7,$24,1)|0); + $26 = ($25|0)!=(0); + if ($26) { + $27 = +HEAPF64[$7>>3]; + $28 = $27 * 8.64E+7; + $29 = $28 + 0.5; + $30 = (~~$29)>>>0; + $31 = +Math_abs($29) >= 1.0 ? $29 > 0.0 ? (~~+Math_min(+Math_floor($29 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($29 - +(~~$29 >>> 0)) / 4294967296.0) >>> 0 : 0; + $32 = HEAP32[$6>>2]|0; + $33 = $32; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $31; + $37 = HEAP32[$6>>2]|0; + $38 = ((($37)) + 42|0); + HEAP8[$38>>0] = 1; + HEAP32[$3>>2] = 0; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); + } else { + HEAP32[$3>>2] = 1; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); + } + return (0)|0; +} +function _parseModifier($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink8 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0, $178 = 0.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; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $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; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0.0, $453 = 0, $454 = 0.0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; + var $460 = 0.0, $461 = 0.0, $462 = 0.0, $463 = 0.0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0.0, $485 = 0.0, $486 = 0.0, $487 = 0.0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0.0, $509 = 0.0, $51 = 0, $510 = 0.0, $511 = 0.0, $512 = 0, $513 = 0; + var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; + var $532 = 0.0, $533 = 0.0, $534 = 0.0, $535 = 0.0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; + var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0.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; + var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0.0; + var $587 = 0, $588 = 0, $589 = 0.0, $59 = 0, $590 = 0.0, $591 = 0, $592 = 0.0, $593 = 0, $594 = 0.0, $595 = 0.0, $596 = 0.0, $597 = 0.0, $598 = 0.0, $599 = 0.0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; + var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0.0, $621 = 0; + var $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0.0, $633 = 0.0, $634 = 0, $635 = 0.0, $636 = 0, $637 = 0.0, $638 = 0.0, $639 = 0.0, $64 = 0; + var $640 = 0.0, $641 = 0.0, $642 = 0.0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0; + var $659 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0; + var $or$cond7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; + $3 = sp + 124|0; + $4 = sp + 120|0; + $5 = sp + 116|0; + $6 = sp + 112|0; + $7 = sp + 108|0; + $8 = sp + 80|0; + $9 = sp + 104|0; + $10 = sp + 128|0; + $11 = sp + 72|0; + $12 = sp + 64|0; + $13 = sp + 56|0; + $14 = sp + 100|0; + $15 = sp + 8|0; + $16 = sp; + $17 = sp + 96|0; + $18 = sp + 92|0; + $19 = sp + 88|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 1; + HEAP32[$9>>2] = $10; + HEAP32[$7>>2] = 0; + while(1) { + $20 = HEAP32[$7>>2]|0; + $21 = ($20|0)<(29); + if (!($21)) { + break; + } + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = (($22) + ($23)|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25 << 24 >> 24; + $27 = ($26|0)!=(0); + if (!($27)) { + break; + } + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = (($28) + ($29)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = (20458 + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = (($35) + ($36)|0); + HEAP8[$37>>0] = $34; + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$7>>2] = $39; + } + $40 = HEAP32[$9>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = (($40) + ($41)|0); + HEAP8[$42>>0] = 0; + $43 = HEAP32[$9>>2]|0; + $44 = HEAP8[$43>>0]|0; + $45 = $44 << 24 >> 24; + switch ($45|0) { + case 108: { + $46 = HEAP32[$9>>2]|0; + $47 = (_strcmp($46,23133)|0); + $48 = ($47|0)==(0); + if (!($48)) { + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + } + $49 = HEAP32[$5>>2]|0; + _computeJD($49); + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$3>>2]|0; + $52 = (_localtimeOffset($50,$51,$6)|0); + $53 = tempRet0; + $54 = HEAP32[$5>>2]|0; + $55 = $54; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (_i64Add(($57|0),($60|0),($52|0),($53|0))|0); + $62 = tempRet0; + $63 = $54; + $64 = $63; + HEAP32[$64>>2] = $61; + $65 = (($63) + 4)|0; + $66 = $65; + HEAP32[$66>>2] = $62; + $67 = HEAP32[$5>>2]|0; + _clearYMD_HMS_TZ($67); + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + break; + } + case 117: { + $68 = HEAP32[$9>>2]|0; + $69 = (_strcmp($68,23143)|0); + $70 = ($69|0)==(0); + if ($70) { + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + 42|0); + $73 = HEAP8[$72>>0]|0; + $74 = $73 << 24 >> 24; $75 = ($74|0)!=(0); if ($75) { - label = 9; - break L4; + $76 = HEAP32[$5>>2]|0; + $77 = $76; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + 4)|0; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (_i64Add(($79|0),($82|0),43200,0)|0); + $84 = tempRet0; + $85 = (___divdi3(($83|0),($84|0),86400,0)|0); + $86 = tempRet0; + $87 = (_i64Add(($85|0),($86|0),1045635584,49096)|0); + $88 = tempRet0; + $89 = HEAP32[$5>>2]|0; + $90 = $89; + $91 = $90; + HEAP32[$91>>2] = $87; + $92 = (($90) + 4)|0; + $93 = $92; + HEAP32[$93>>2] = $88; + $94 = HEAP32[$5>>2]|0; + _clearYMD_HMS_TZ($94); + HEAP32[$6>>2] = 0; + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); } - $77 = HEAP32[$i>>2]|0; - $78 = (($77) + 1)|0; - HEAP32[$i>>2] = $78; } - $79 = HEAP32[$apSegment>>2]|0; - $80 = HEAP32[$nSegment>>2]|0; - $81 = HEAP32[$2>>2]|0; - $82 = ((($81)) + 8|0); - $83 = HEAP32[$82>>2]|0; - _fts3SegReaderSort($79,$80,$83,184); - $84 = HEAP32[$2>>2]|0; - $85 = ((($84)) + 8|0); - HEAP32[$85>>2] = 0; - $86 = HEAP32[$apSegment>>2]|0; - $87 = HEAP32[$86>>2]|0; - $88 = ((($87)) + 40|0); - $89 = HEAP32[$88>>2]|0; - $90 = ($89|0)==(0|0); - if ($90) { - label = 61; - break; + $95 = HEAP32[$9>>2]|0; + $96 = (_strcmp($95,23153)|0); + $97 = ($96|0)==(0); + if (!($97)) { + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); } - $91 = HEAP32[$apSegment>>2]|0; - $92 = HEAP32[$91>>2]|0; - $93 = ((($92)) + 60|0); - $94 = HEAP32[$93>>2]|0; - $95 = HEAP32[$2>>2]|0; - $96 = ((($95)) + 44|0); - HEAP32[$96>>2] = $94; - $97 = HEAP32[$apSegment>>2]|0; - $98 = HEAP32[$97>>2]|0; - $99 = ((($98)) + 64|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[$2>>2]|0; - $102 = ((($101)) + 40|0); - HEAP32[$102>>2] = $100; - $103 = HEAP32[$pFilter>>2]|0; - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==(0|0); - $106 = HEAP32[$isScan>>2]|0; - $107 = ($106|0)!=(0); - $or$cond = $105 | $107; - if (!($or$cond)) { - $108 = HEAP32[$2>>2]|0; - $109 = ((($108)) + 44|0); - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$pFilter>>2]|0; - $112 = ((($111)) + 4|0); - $113 = HEAP32[$112>>2]|0; - $114 = ($110|0)<($113|0); - if ($114) { - label = 61; + $98 = HEAP32[$5>>2]|0; + $99 = ((($98)) + 44|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $102 = ($101|0)==(0); + if (!($102)) { + HEAP32[$6>>2] = 0; + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + } + $103 = HEAP32[$5>>2]|0; + _computeJD($103); + $104 = HEAP32[$5>>2]|0; + $105 = HEAP32[$3>>2]|0; + $106 = (_localtimeOffset($104,$105,$6)|0); + $107 = tempRet0; + $108 = $11; + $109 = $108; + HEAP32[$109>>2] = $106; + $110 = (($108) + 4)|0; + $111 = $110; + HEAP32[$111>>2] = $107; + $112 = HEAP32[$6>>2]|0; + $113 = ($112|0)==(0); + if ($113) { + $114 = $11; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (($114) + 4)|0; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$5>>2]|0; + $121 = $120; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = (($121) + 4)|0; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (_i64Subtract(($123|0),($126|0),($116|0),($119|0))|0); + $128 = tempRet0; + $129 = $120; + $130 = $129; + HEAP32[$130>>2] = $127; + $131 = (($129) + 4)|0; + $132 = $131; + HEAP32[$132>>2] = $128; + $133 = HEAP32[$5>>2]|0; + _clearYMD_HMS_TZ($133); + $134 = $11; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = (($134) + 4)|0; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = HEAP32[$5>>2]|0; + $141 = HEAP32[$3>>2]|0; + $142 = (_localtimeOffset($140,$141,$6)|0); + $143 = tempRet0; + $144 = (_i64Subtract(($136|0),($139|0),($142|0),($143|0))|0); + $145 = tempRet0; + $146 = HEAP32[$5>>2]|0; + $147 = $146; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = (($147) + 4)|0; + $151 = $150; + $152 = HEAP32[$151>>2]|0; + $153 = (_i64Add(($149|0),($152|0),($144|0),($145|0))|0); + $154 = tempRet0; + $155 = $146; + $156 = $155; + HEAP32[$156>>2] = $153; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + } + $159 = HEAP32[$5>>2]|0; + $160 = ((($159)) + 44|0); + HEAP8[$160>>0] = 1; + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + break; + } + case 119: { + $161 = HEAP32[$9>>2]|0; + $162 = (_strncmp($161,23157,8)|0); + $163 = ($162|0)==(0); + if (!($163)) { + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + } + $164 = HEAP32[$9>>2]|0; + $165 = ((($164)) + 8|0); + $166 = HEAP32[$9>>2]|0; + $167 = ((($166)) + 8|0); + $168 = (_sqlite3Strlen30($167)|0); + $169 = (_sqlite3AtoF($165,$8,$168,1)|0); + $170 = ($169|0)!=(0); + if (!($170)) { + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + } + $171 = +HEAPF64[$8>>3]; + $172 = (~~(($171))); + HEAP32[$7>>2] = $172; + $173 = (+($172|0)); + $174 = +HEAPF64[$8>>3]; + $175 = $173 == $174; + $176 = HEAP32[$7>>2]|0; + $177 = ($176|0)>=(0); + $or$cond = $175 & $177; + $178 = +HEAPF64[$8>>3]; + $179 = $178 < 7.0; + $or$cond3 = $or$cond & $179; + if (!($or$cond3)) { + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + } + $180 = HEAP32[$5>>2]|0; + _computeYMD_HMS($180); + $181 = HEAP32[$5>>2]|0; + $182 = ((($181)) + 43|0); + HEAP8[$182>>0] = 0; + $183 = HEAP32[$5>>2]|0; + $184 = ((($183)) + 42|0); + HEAP8[$184>>0] = 0; + $185 = HEAP32[$5>>2]|0; + _computeJD($185); + $186 = HEAP32[$5>>2]|0; + $187 = $186; + $188 = $187; + $189 = HEAP32[$188>>2]|0; + $190 = (($187) + 4)|0; + $191 = $190; + $192 = HEAP32[$191>>2]|0; + $193 = (_i64Add(($189|0),($192|0),129600000,0)|0); + $194 = tempRet0; + $195 = (___divdi3(($193|0),($194|0),86400000,0)|0); + $196 = tempRet0; + $197 = (___remdi3(($195|0),($196|0),7,0)|0); + $198 = tempRet0; + $199 = $12; + $200 = $199; + HEAP32[$200>>2] = $197; + $201 = (($199) + 4)|0; + $202 = $201; + HEAP32[$202>>2] = $198; + $203 = $12; + $204 = $203; + $205 = HEAP32[$204>>2]|0; + $206 = (($203) + 4)|0; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = HEAP32[$7>>2]|0; + $210 = ($209|0)<(0); + $211 = $210 << 31 >> 31; + $212 = ($208|0)>($211|0); + $213 = ($205>>>0)>($209>>>0); + $214 = ($208|0)==($211|0); + $215 = $214 & $213; + $216 = $212 | $215; + if ($216) { + $217 = $12; + $218 = $217; + $219 = HEAP32[$218>>2]|0; + $220 = (($217) + 4)|0; + $221 = $220; + $222 = HEAP32[$221>>2]|0; + $223 = (_i64Subtract(($219|0),($222|0),7,0)|0); + $224 = tempRet0; + $225 = $12; + $226 = $225; + HEAP32[$226>>2] = $223; + $227 = (($225) + 4)|0; + $228 = $227; + HEAP32[$228>>2] = $224; + } + $229 = HEAP32[$7>>2]|0; + $230 = ($229|0)<(0); + $231 = $230 << 31 >> 31; + $232 = $12; + $233 = $232; + $234 = HEAP32[$233>>2]|0; + $235 = (($232) + 4)|0; + $236 = $235; + $237 = HEAP32[$236>>2]|0; + $238 = (_i64Subtract(($229|0),($231|0),($234|0),($237|0))|0); + $239 = tempRet0; + $240 = (___muldi3(($238|0),($239|0),86400000,0)|0); + $241 = tempRet0; + $242 = HEAP32[$5>>2]|0; + $243 = $242; + $244 = $243; + $245 = HEAP32[$244>>2]|0; + $246 = (($243) + 4)|0; + $247 = $246; + $248 = HEAP32[$247>>2]|0; + $249 = (_i64Add(($245|0),($248|0),($240|0),($241|0))|0); + $250 = tempRet0; + $251 = $242; + $252 = $251; + HEAP32[$252>>2] = $249; + $253 = (($251) + 4)|0; + $254 = $253; + HEAP32[$254>>2] = $250; + $255 = HEAP32[$5>>2]|0; + _clearYMD_HMS_TZ($255); + HEAP32[$6>>2] = 0; + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + break; + } + case 115: { + $256 = HEAP32[$9>>2]|0; + $257 = (_strncmp($256,23166,9)|0); + $258 = ($257|0)!=(0); + if ($258) { + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + } + $259 = HEAP32[$9>>2]|0; + $260 = ((($259)) + 9|0); + HEAP32[$9>>2] = $260; + $261 = HEAP32[$5>>2]|0; + _computeYMD($261); + $262 = HEAP32[$5>>2]|0; + $263 = ((($262)) + 41|0); + HEAP8[$263>>0] = 1; + $264 = HEAP32[$5>>2]|0; + $265 = ((($264)) + 24|0); + HEAP32[$265>>2] = 0; + $266 = HEAP32[$5>>2]|0; + $267 = ((($266)) + 20|0); + HEAP32[$267>>2] = 0; + $268 = HEAP32[$5>>2]|0; + $269 = ((($268)) + 32|0); + HEAPF64[$269>>3] = 0.0; + $270 = HEAP32[$5>>2]|0; + $271 = ((($270)) + 43|0); + HEAP8[$271>>0] = 0; + $272 = HEAP32[$5>>2]|0; + $273 = ((($272)) + 42|0); + HEAP8[$273>>0] = 0; + $274 = HEAP32[$9>>2]|0; + $275 = (_strcmp($274,23176)|0); + $276 = ($275|0)==(0); + if ($276) { + $277 = HEAP32[$5>>2]|0; + $278 = ((($277)) + 16|0); + HEAP32[$278>>2] = 1; + HEAP32[$6>>2] = 0; + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + } + $279 = HEAP32[$9>>2]|0; + $280 = (_strcmp($279,23182)|0); + $281 = ($280|0)==(0); + if ($281) { + $282 = HEAP32[$5>>2]|0; + _computeYMD($282); + $283 = HEAP32[$5>>2]|0; + $284 = ((($283)) + 12|0); + HEAP32[$284>>2] = 1; + $285 = HEAP32[$5>>2]|0; + $286 = ((($285)) + 16|0); + HEAP32[$286>>2] = 1; + HEAP32[$6>>2] = 0; + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + } + $287 = HEAP32[$9>>2]|0; + $288 = (_strcmp($287,23187)|0); + $289 = ($288|0)==(0); + if (!($289)) { + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + } + HEAP32[$6>>2] = 0; + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + break; + } + case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48: case 45: case 43: { + HEAP32[$7>>2] = 1; + while(1) { + $290 = HEAP32[$9>>2]|0; + $291 = HEAP32[$7>>2]|0; + $292 = (($290) + ($291)|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293 << 24 >> 24; + $295 = ($294|0)!=(0); + if (!($295)) { break; } - $115 = HEAP32[$isPrefix>>2]|0; - $116 = ($115|0)!=(0); - if (!($116)) { - $117 = HEAP32[$2>>2]|0; - $118 = ((($117)) + 44|0); - $119 = HEAP32[$118>>2]|0; - $120 = HEAP32[$pFilter>>2]|0; - $121 = ((($120)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ($119|0)>($122|0); - if ($123) { - label = 61; - break; - } + $296 = HEAP32[$9>>2]|0; + $297 = HEAP32[$7>>2]|0; + $298 = (($296) + ($297)|0); + $299 = HEAP8[$298>>0]|0; + $300 = $299 << 24 >> 24; + $301 = ($300|0)!=(58); + if (!($301)) { + break; } - $124 = HEAP32[$2>>2]|0; - $125 = ((($124)) + 40|0); - $126 = HEAP32[$125>>2]|0; - $127 = HEAP32[$pFilter>>2]|0; - $128 = HEAP32[$127>>2]|0; - $129 = HEAP32[$pFilter>>2]|0; - $130 = ((($129)) + 4|0); - $131 = HEAP32[$130>>2]|0; - $132 = (_memcmp($126,$128,$131)|0); - $133 = ($132|0)!=(0); - if ($133) { - label = 61; + $302 = HEAP32[$9>>2]|0; + $303 = HEAP32[$7>>2]|0; + $304 = (($302) + ($303)|0); + $305 = HEAP8[$304>>0]|0; + $306 = $305&255; + $307 = (20063 + ($306)|0); + $308 = HEAP8[$307>>0]|0; + $309 = $308&255; + $310 = $309 & 1; + $311 = ($310|0)!=(0); + $312 = $311 ^ 1; + if (!($312)) { break; } + $313 = HEAP32[$7>>2]|0; + $314 = (($313) + 1)|0; + HEAP32[$7>>2] = $314; + } + $315 = HEAP32[$9>>2]|0; + $316 = HEAP32[$7>>2]|0; + $317 = (_sqlite3AtoF($315,$8,$316,1)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$6>>2] = 1; + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + } + $319 = HEAP32[$9>>2]|0; + $320 = HEAP32[$7>>2]|0; + $321 = (($319) + ($320)|0); + $322 = HEAP8[$321>>0]|0; + $323 = $322 << 24 >> 24; + $324 = ($323|0)==(58); + if ($324) { + $325 = HEAP32[$9>>2]|0; + HEAP32[$14>>2] = $325; + $326 = HEAP32[$14>>2]|0; + $327 = HEAP8[$326>>0]|0; + $328 = $327&255; + $329 = (20063 + ($328)|0); + $330 = HEAP8[$329>>0]|0; + $331 = $330&255; + $332 = $331 & 4; + $333 = ($332|0)!=(0); + if (!($333)) { + $334 = HEAP32[$14>>2]|0; + $335 = ((($334)) + 1|0); + HEAP32[$14>>2] = $335; + } + dest=$15; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $336 = HEAP32[$14>>2]|0; + $337 = (_parseHhMmSs($336,$15)|0); + $338 = ($337|0)!=(0); + if ($338) { + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + } + _computeJD($15); + $339 = $15; + $340 = $339; + $341 = HEAP32[$340>>2]|0; + $342 = (($339) + 4)|0; + $343 = $342; + $344 = HEAP32[$343>>2]|0; + $345 = (_i64Subtract(($341|0),($344|0),43200000,0)|0); + $346 = tempRet0; + $347 = $15; + $348 = $347; + HEAP32[$348>>2] = $345; + $349 = (($347) + 4)|0; + $350 = $349; + HEAP32[$350>>2] = $346; + $351 = $15; + $352 = $351; + $353 = HEAP32[$352>>2]|0; + $354 = (($351) + 4)|0; + $355 = $354; + $356 = HEAP32[$355>>2]|0; + $357 = (___divdi3(($353|0),($356|0),86400000,0)|0); + $358 = tempRet0; + $359 = $16; + $360 = $359; + HEAP32[$360>>2] = $357; + $361 = (($359) + 4)|0; + $362 = $361; + HEAP32[$362>>2] = $358; + $363 = $16; + $364 = $363; + $365 = HEAP32[$364>>2]|0; + $366 = (($363) + 4)|0; + $367 = $366; + $368 = HEAP32[$367>>2]|0; + $369 = (___muldi3(($365|0),($368|0),86400000,0)|0); + $370 = tempRet0; + $371 = $15; + $372 = $371; + $373 = HEAP32[$372>>2]|0; + $374 = (($371) + 4)|0; + $375 = $374; + $376 = HEAP32[$375>>2]|0; + $377 = (_i64Subtract(($373|0),($376|0),($369|0),($370|0))|0); + $378 = tempRet0; + $379 = $15; + $380 = $379; + HEAP32[$380>>2] = $377; + $381 = (($379) + 4)|0; + $382 = $381; + HEAP32[$382>>2] = $378; + $383 = HEAP32[$9>>2]|0; + $384 = HEAP8[$383>>0]|0; + $385 = $384 << 24 >> 24; + $386 = ($385|0)==(45); + if ($386) { + $387 = $15; + $388 = $387; + $389 = HEAP32[$388>>2]|0; + $390 = (($387) + 4)|0; + $391 = $390; + $392 = HEAP32[$391>>2]|0; + $393 = (_i64Subtract(0,0,($389|0),($392|0))|0); + $394 = tempRet0; + $395 = $15; + $396 = $395; + HEAP32[$396>>2] = $393; + $397 = (($395) + 4)|0; + $398 = $397; + HEAP32[$398>>2] = $394; + } + $399 = HEAP32[$5>>2]|0; + _computeJD($399); + $400 = HEAP32[$5>>2]|0; + _clearYMD_HMS_TZ($400); + $401 = $15; + $402 = $401; + $403 = HEAP32[$402>>2]|0; + $404 = (($401) + 4)|0; + $405 = $404; + $406 = HEAP32[$405>>2]|0; + $407 = HEAP32[$5>>2]|0; + $408 = $407; + $409 = $408; + $410 = HEAP32[$409>>2]|0; + $411 = (($408) + 4)|0; + $412 = $411; + $413 = HEAP32[$412>>2]|0; + $414 = (_i64Add(($410|0),($413|0),($403|0),($406|0))|0); + $415 = tempRet0; + $416 = $407; + $417 = $416; + HEAP32[$417>>2] = $414; + $418 = (($416) + 4)|0; + $419 = $418; + HEAP32[$419>>2] = $415; + HEAP32[$6>>2] = 0; + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); } - HEAP32[$nMerge>>2] = 1; + $420 = HEAP32[$7>>2]|0; + $421 = HEAP32[$9>>2]|0; + $422 = (($421) + ($420)|0); + HEAP32[$9>>2] = $422; while(1) { - $134 = HEAP32[$nMerge>>2]|0; - $135 = HEAP32[$nSegment>>2]|0; - $136 = ($134|0)<($135|0); - if ($136) { - $137 = HEAP32[$nMerge>>2]|0; - $138 = HEAP32[$apSegment>>2]|0; - $139 = (($138) + ($137<<2)|0); - $140 = HEAP32[$139>>2]|0; - $141 = ((($140)) + 40|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)!=(0|0); - if ($143) { - $144 = HEAP32[$nMerge>>2]|0; - $145 = HEAP32[$apSegment>>2]|0; - $146 = (($145) + ($144<<2)|0); - $147 = HEAP32[$146>>2]|0; - $148 = ((($147)) + 60|0); - $149 = HEAP32[$148>>2]|0; - $150 = HEAP32[$2>>2]|0; - $151 = ((($150)) + 44|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($149|0)==($152|0); - if ($153) { - $154 = HEAP32[$2>>2]|0; - $155 = ((($154)) + 40|0); - $156 = HEAP32[$155>>2]|0; - $157 = HEAP32[$nMerge>>2]|0; - $158 = HEAP32[$apSegment>>2]|0; - $159 = (($158) + ($157<<2)|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($160)) + 64|0); - $162 = HEAP32[$161>>2]|0; - $163 = HEAP32[$2>>2]|0; - $164 = ((($163)) + 44|0); - $165 = HEAP32[$164>>2]|0; - $166 = (_memcmp($156,$162,$165)|0); - $167 = (0)==($166|0); - $476 = $167; - } else { - $476 = 0; - } - } else { - $476 = 0; - } - } else { - $476 = 0; - } - $168 = HEAP32[$nMerge>>2]|0; - if (!($476)) { + $423 = HEAP32[$9>>2]|0; + $424 = HEAP8[$423>>0]|0; + $425 = $424&255; + $426 = (20063 + ($425)|0); + $427 = HEAP8[$426>>0]|0; + $428 = $427&255; + $429 = $428 & 1; + $430 = ($429|0)!=(0); + $431 = HEAP32[$9>>2]|0; + if (!($430)) { break; } - $169 = (($168) + 1)|0; - HEAP32[$nMerge>>2] = $169; + $432 = ((($431)) + 1|0); + HEAP32[$9>>2] = $432; } - $170 = ($168|0)!=(1); - $171 = HEAP32[$isIgnoreEmpty>>2]|0; - $172 = ($171|0)!=(0); - $or$cond3 = $170 | $172; - $173 = HEAP32[$isFirst>>2]|0; - $174 = ($173|0)!=(0); - $or$cond5 = $or$cond3 | $174; - do { - if ($or$cond5) { - label = 32; + $433 = (_sqlite3Strlen30($431)|0); + HEAP32[$7>>2] = $433; + $434 = HEAP32[$7>>2]|0; + $435 = ($434|0)>(10); + $436 = HEAP32[$7>>2]|0; + $437 = ($436|0)<(3); + $or$cond7 = $435 | $437; + if ($or$cond7) { + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + } + $438 = HEAP32[$9>>2]|0; + $439 = HEAP32[$7>>2]|0; + $440 = (($439) - 1)|0; + $441 = (($438) + ($440)|0); + $442 = HEAP8[$441>>0]|0; + $443 = $442 << 24 >> 24; + $444 = ($443|0)==(115); + if ($444) { + $445 = HEAP32[$9>>2]|0; + $446 = HEAP32[$7>>2]|0; + $447 = (($446) - 1)|0; + $448 = (($445) + ($447)|0); + HEAP8[$448>>0] = 0; + $449 = HEAP32[$7>>2]|0; + $450 = (($449) + -1)|0; + HEAP32[$7>>2] = $450; + } + $451 = HEAP32[$5>>2]|0; + _computeJD($451); + HEAP32[$6>>2] = 0; + $452 = +HEAPF64[$8>>3]; + $453 = $452 < 0.0; + $454 = $453 ? -0.5 : 0.5; + HEAPF64[$13>>3] = $454; + $455 = HEAP32[$7>>2]|0; + $456 = ($455|0)==(3); + if ($456) { + $457 = HEAP32[$9>>2]|0; + $458 = (_strcmp($457,23187)|0); + $459 = ($458|0)==(0); + if ($459) { + $460 = +HEAPF64[$8>>3]; + $461 = $460 * 8.64E+7; + $462 = +HEAPF64[$13>>3]; + $463 = $461 + $462; + $464 = (~~$463)>>>0; + $465 = +Math_abs($463) >= 1.0 ? $463 > 0.0 ? (~~+Math_min(+Math_floor($463 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($463 - +(~~$463 >>> 0)) / 4294967296.0) >>> 0 : 0; + $466 = HEAP32[$5>>2]|0; + $467 = $466; + $468 = $467; + $469 = HEAP32[$468>>2]|0; + $470 = (($467) + 4)|0; + $471 = $470; + $472 = HEAP32[$471>>2]|0; + $473 = (_i64Add(($469|0),($472|0),($464|0),($465|0))|0); + $474 = tempRet0; + $475 = $466; + $476 = $475; + HEAP32[$476>>2] = $473; + $477 = (($475) + 4)|0; + $478 = $477; + HEAP32[$478>>2] = $474; } else { - $175 = HEAP32[$1>>2]|0; - $176 = ((($175)) + 231|0); - $177 = HEAP8[$176>>0]|0; - $178 = $177&255; - $179 = ($178|0)==(0); - if (!($179)) { - $180 = HEAP32[$apSegment>>2]|0; - $181 = HEAP32[$180>>2]|0; - $182 = ((($181)) + 56|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)!=(0|0); - $185 = $184&1; - $186 = ($185|0)==(0); - if (!($186)) { - label = 32; + label = 53; + } + } else { + label = 53; + } + do { + if ((label|0) == 53) { + $479 = HEAP32[$7>>2]|0; + $480 = ($479|0)==(4); + if ($480) { + $481 = HEAP32[$9>>2]|0; + $482 = (_strcmp($481,23191)|0); + $483 = ($482|0)==(0); + if ($483) { + $484 = +HEAPF64[$8>>3]; + $485 = $484 * 3.6E+6; + $486 = +HEAPF64[$13>>3]; + $487 = $485 + $486; + $488 = (~~$487)>>>0; + $489 = +Math_abs($487) >= 1.0 ? $487 > 0.0 ? (~~+Math_min(+Math_floor($487 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($487 - +(~~$487 >>> 0)) / 4294967296.0) >>> 0 : 0; + $490 = HEAP32[$5>>2]|0; + $491 = $490; + $492 = $491; + $493 = HEAP32[$492>>2]|0; + $494 = (($491) + 4)|0; + $495 = $494; + $496 = HEAP32[$495>>2]|0; + $497 = (_i64Add(($493|0),($496|0),($488|0),($489|0))|0); + $498 = tempRet0; + $499 = $490; + $500 = $499; + HEAP32[$500>>2] = $497; + $501 = (($499) + 4)|0; + $502 = $501; + HEAP32[$502>>2] = $498; break; } } - $187 = HEAP32[$apSegment>>2]|0; - $188 = HEAP32[$187>>2]|0; - $189 = ((($188)) + 76|0); - $190 = HEAP32[$189>>2]|0; - $191 = HEAP32[$2>>2]|0; - $192 = ((($191)) + 52|0); - HEAP32[$192>>2] = $190; - $193 = HEAP32[$apSegment>>2]|0; - $194 = HEAP32[$193>>2]|0; - $195 = ((($194)) + 56|0); - $196 = HEAP32[$195>>2]|0; - $197 = ($196|0)!=(0|0); - if ($197) { - $198 = HEAP32[$2>>2]|0; - $199 = HEAP32[$apSegment>>2]|0; - $200 = HEAP32[$199>>2]|0; - $201 = ((($200)) + 72|0); - $202 = HEAP32[$201>>2]|0; - $203 = HEAP32[$2>>2]|0; - $204 = ((($203)) + 52|0); - $205 = HEAP32[$204>>2]|0; - $206 = (_fts3MsrBufferData($198,$202,$205)|0); - HEAP32[$rc>>2] = $206; - $207 = HEAP32[$2>>2]|0; - $208 = ((($207)) + 16|0); - $209 = HEAP32[$208>>2]|0; - $210 = HEAP32[$2>>2]|0; - $211 = ((($210)) + 48|0); - HEAP32[$211>>2] = $209; - } else { - $212 = HEAP32[$apSegment>>2]|0; - $213 = HEAP32[$212>>2]|0; - $214 = ((($213)) + 72|0); - $215 = HEAP32[$214>>2]|0; - $216 = HEAP32[$2>>2]|0; - $217 = ((($216)) + 48|0); - HEAP32[$217>>2] = $215; - } - $218 = HEAP32[$rc>>2]|0; - $219 = ($218|0)==(0); - if ($219) { - HEAP32[$rc>>2] = 100; - } - } - } while(0); - if ((label|0) == 32) { - label = 0; - HEAP32[$nDoclist>>2] = 0; - $220 = $iPrev; - $221 = $220; - HEAP32[$221>>2] = 0; - $222 = (($220) + 4)|0; - $223 = $222; - HEAP32[$223>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $224 = HEAP32[$i>>2]|0; - $225 = HEAP32[$nMerge>>2]|0; - $226 = ($224|0)<($225|0); - if (!($226)) { - break; - } - $227 = HEAP32[$1>>2]|0; - $228 = HEAP32[$i>>2]|0; - $229 = HEAP32[$apSegment>>2]|0; - $230 = (($229) + ($228<<2)|0); - $231 = HEAP32[$230>>2]|0; - (_fts3SegReaderFirstDocid($227,$231)|0); - $232 = HEAP32[$i>>2]|0; - $233 = (($232) + 1)|0; - HEAP32[$i>>2] = $233; - } - $234 = HEAP32[$apSegment>>2]|0; - $235 = HEAP32[$nMerge>>2]|0; - $236 = HEAP32[$nMerge>>2]|0; - $237 = HEAP32[$xCmp>>2]|0; - _fts3SegReaderSort($234,$235,$236,$237); - while(1) { - $238 = HEAP32[$apSegment>>2]|0; - $239 = HEAP32[$238>>2]|0; - $240 = ((($239)) + 80|0); - $241 = HEAP32[$240>>2]|0; - $242 = ($241|0)!=(0|0); - if (!($242)) { - break; - } - HEAP32[$pList>>2] = 0; - HEAP32[$nList>>2] = 0; - $243 = HEAP32[$apSegment>>2]|0; - $244 = HEAP32[$243>>2]|0; - $245 = ((($244)) + 88|0); - $246 = $245; - $247 = $246; - $248 = HEAP32[$247>>2]|0; - $249 = (($246) + 4)|0; - $250 = $249; - $251 = HEAP32[$250>>2]|0; - $252 = $iDocid; - $253 = $252; - HEAP32[$253>>2] = $248; - $254 = (($252) + 4)|0; - $255 = $254; - HEAP32[$255>>2] = $251; - $256 = HEAP32[$1>>2]|0; - $257 = HEAP32[$apSegment>>2]|0; - $258 = HEAP32[$257>>2]|0; - (_fts3SegReaderNextDocid($256,$258,$pList,$nList)|0); - HEAP32[$j>>2] = 1; - while(1) { - $259 = HEAP32[$j>>2]|0; - $260 = HEAP32[$nMerge>>2]|0; - $261 = ($259|0)<($260|0); - if (!($261)) { + $503 = HEAP32[$7>>2]|0; + $504 = ($503|0)==(6); + if ($504) { + $505 = HEAP32[$9>>2]|0; + $506 = (_strcmp($505,23196)|0); + $507 = ($506|0)==(0); + if ($507) { + $508 = +HEAPF64[$8>>3]; + $509 = $508 * 6.0E+4; + $510 = +HEAPF64[$13>>3]; + $511 = $509 + $510; + $512 = (~~$511)>>>0; + $513 = +Math_abs($511) >= 1.0 ? $511 > 0.0 ? (~~+Math_min(+Math_floor($511 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($511 - +(~~$511 >>> 0)) / 4294967296.0) >>> 0 : 0; + $514 = HEAP32[$5>>2]|0; + $515 = $514; + $516 = $515; + $517 = HEAP32[$516>>2]|0; + $518 = (($515) + 4)|0; + $519 = $518; + $520 = HEAP32[$519>>2]|0; + $521 = (_i64Add(($517|0),($520|0),($512|0),($513|0))|0); + $522 = tempRet0; + $523 = $514; + $524 = $523; + HEAP32[$524>>2] = $521; + $525 = (($523) + 4)|0; + $526 = $525; + HEAP32[$526>>2] = $522; break; } - $262 = HEAP32[$j>>2]|0; - $263 = HEAP32[$apSegment>>2]|0; - $264 = (($263) + ($262<<2)|0); - $265 = HEAP32[$264>>2]|0; - $266 = ((($265)) + 80|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($267|0)!=(0|0); - if (!($268)) { + } + $527 = HEAP32[$7>>2]|0; + $528 = ($527|0)==(6); + if ($528) { + $529 = HEAP32[$9>>2]|0; + $530 = (_strcmp($529,23203)|0); + $531 = ($530|0)==(0); + if ($531) { + $532 = +HEAPF64[$8>>3]; + $533 = $532 * 1000.0; + $534 = +HEAPF64[$13>>3]; + $535 = $533 + $534; + $536 = (~~$535)>>>0; + $537 = +Math_abs($535) >= 1.0 ? $535 > 0.0 ? (~~+Math_min(+Math_floor($535 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($535 - +(~~$535 >>> 0)) / 4294967296.0) >>> 0 : 0; + $538 = HEAP32[$5>>2]|0; + $539 = $538; + $540 = $539; + $541 = HEAP32[$540>>2]|0; + $542 = (($539) + 4)|0; + $543 = $542; + $544 = HEAP32[$543>>2]|0; + $545 = (_i64Add(($541|0),($544|0),($536|0),($537|0))|0); + $546 = tempRet0; + $547 = $538; + $548 = $547; + HEAP32[$548>>2] = $545; + $549 = (($547) + 4)|0; + $550 = $549; + HEAP32[$550>>2] = $546; break; } - $269 = HEAP32[$j>>2]|0; - $270 = HEAP32[$apSegment>>2]|0; - $271 = (($270) + ($269<<2)|0); - $272 = HEAP32[$271>>2]|0; - $273 = ((($272)) + 88|0); - $274 = $273; - $275 = $274; - $276 = HEAP32[$275>>2]|0; - $277 = (($274) + 4)|0; - $278 = $277; - $279 = HEAP32[$278>>2]|0; - $280 = $iDocid; - $281 = $280; - $282 = HEAP32[$281>>2]|0; - $283 = (($280) + 4)|0; - $284 = $283; - $285 = HEAP32[$284>>2]|0; - $286 = ($276|0)==($282|0); - $287 = ($279|0)==($285|0); - $288 = $286 & $287; - if (!($288)) { + } + $551 = HEAP32[$7>>2]|0; + $552 = ($551|0)==(5); + if ($552) { + $553 = HEAP32[$9>>2]|0; + $554 = (_strcmp($553,23176)|0); + $555 = ($554|0)==(0); + if ($555) { + $556 = HEAP32[$5>>2]|0; + _computeYMD_HMS($556); + $557 = +HEAPF64[$8>>3]; + $558 = (~~(($557))); + $559 = HEAP32[$5>>2]|0; + $560 = ((($559)) + 12|0); + $561 = HEAP32[$560>>2]|0; + $562 = (($561) + ($558))|0; + HEAP32[$560>>2] = $562; + $563 = HEAP32[$5>>2]|0; + $564 = ((($563)) + 12|0); + $565 = HEAP32[$564>>2]|0; + $566 = ($565|0)>(0); + $567 = HEAP32[$5>>2]|0; + $568 = ((($567)) + 12|0); + $569 = HEAP32[$568>>2]|0; + $$sink8 = $566 ? 1 : 12; + $570 = (($569) - ($$sink8))|0; + $571 = (($570|0) / 12)&-1; + HEAP32[$17>>2] = $571; + $572 = HEAP32[$17>>2]|0; + $573 = HEAP32[$5>>2]|0; + $574 = ((($573)) + 8|0); + $575 = HEAP32[$574>>2]|0; + $576 = (($575) + ($572))|0; + HEAP32[$574>>2] = $576; + $577 = HEAP32[$17>>2]|0; + $578 = ($577*12)|0; + $579 = HEAP32[$5>>2]|0; + $580 = ((($579)) + 12|0); + $581 = HEAP32[$580>>2]|0; + $582 = (($581) - ($578))|0; + HEAP32[$580>>2] = $582; + $583 = HEAP32[$5>>2]|0; + $584 = ((($583)) + 42|0); + HEAP8[$584>>0] = 0; + $585 = HEAP32[$5>>2]|0; + _computeJD($585); + $586 = +HEAPF64[$8>>3]; + $587 = (~~(($586))); + HEAP32[$18>>2] = $587; + $588 = HEAP32[$18>>2]|0; + $589 = (+($588|0)); + $590 = +HEAPF64[$8>>3]; + $591 = $589 != $590; + if (!($591)) { + break; + } + $592 = +HEAPF64[$8>>3]; + $593 = HEAP32[$18>>2]|0; + $594 = (+($593|0)); + $595 = $592 - $594; + $596 = $595 * 30.0; + $597 = $596 * 8.64E+7; + $598 = +HEAPF64[$13>>3]; + $599 = $597 + $598; + $600 = (~~$599)>>>0; + $601 = +Math_abs($599) >= 1.0 ? $599 > 0.0 ? (~~+Math_min(+Math_floor($599 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($599 - +(~~$599 >>> 0)) / 4294967296.0) >>> 0 : 0; + $602 = HEAP32[$5>>2]|0; + $603 = $602; + $604 = $603; + $605 = HEAP32[$604>>2]|0; + $606 = (($603) + 4)|0; + $607 = $606; + $608 = HEAP32[$607>>2]|0; + $609 = (_i64Add(($605|0),($608|0),($600|0),($601|0))|0); + $610 = tempRet0; + $611 = $602; + $612 = $611; + HEAP32[$612>>2] = $609; + $613 = (($611) + 4)|0; + $614 = $613; + HEAP32[$614>>2] = $610; break; } - $289 = HEAP32[$1>>2]|0; - $290 = HEAP32[$j>>2]|0; - $291 = HEAP32[$apSegment>>2]|0; - $292 = (($291) + ($290<<2)|0); - $293 = HEAP32[$292>>2]|0; - (_fts3SegReaderNextDocid($289,$293,0,0)|0); - $294 = HEAP32[$j>>2]|0; - $295 = (($294) + 1)|0; - HEAP32[$j>>2] = $295; } - $296 = HEAP32[$isColFilter>>2]|0; - $297 = ($296|0)!=(0); - if ($297) { - $298 = HEAP32[$pFilter>>2]|0; - $299 = ((($298)) + 8|0); - $300 = HEAP32[$299>>2]|0; - _fts3ColumnFilter($300,0,$pList,$nList); - } - $301 = HEAP32[$isIgnoreEmpty>>2]|0; - $302 = ($301|0)==(0); - $303 = HEAP32[$nList>>2]|0; - $304 = ($303|0)>(0); - $or$cond8 = $302 | $304; - do { - if ($or$cond8) { - $305 = HEAP32[$1>>2]|0; - $306 = ((($305)) + 231|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = ($308|0)!=(0); - $310 = HEAP32[$nDoclist>>2]|0; - $311 = ($310|0)>(0); - $or$cond10 = $309 & $311; - if ($or$cond10) { - $312 = $iPrev; - $313 = $312; - $314 = HEAP32[$313>>2]|0; - $315 = (($312) + 4)|0; - $316 = $315; - $317 = HEAP32[$316>>2]|0; - $318 = $iDocid; - $319 = $318; - $320 = HEAP32[$319>>2]|0; - $321 = (($318) + 4)|0; - $322 = $321; - $323 = HEAP32[$322>>2]|0; - $324 = (_i64Subtract(($314|0),($317|0),($320|0),($323|0))|0); - $325 = tempRet0; - $326 = $iDelta; - $327 = $326; - HEAP32[$327>>2] = $324; - $328 = (($326) + 4)|0; - $329 = $328; - HEAP32[$329>>2] = $325; - } else { - $330 = $iDocid; - $331 = $330; - $332 = HEAP32[$331>>2]|0; - $333 = (($330) + 4)|0; - $334 = $333; - $335 = HEAP32[$334>>2]|0; - $336 = $iPrev; - $337 = $336; - $338 = HEAP32[$337>>2]|0; - $339 = (($336) + 4)|0; - $340 = $339; - $341 = HEAP32[$340>>2]|0; - $342 = (_i64Subtract(($332|0),($335|0),($338|0),($341|0))|0); - $343 = tempRet0; - $344 = $iDelta; - $345 = $344; - HEAP32[$345>>2] = $342; - $346 = (($344) + 4)|0; - $347 = $346; - HEAP32[$347>>2] = $343; - } - $348 = $iDelta; - $349 = $348; - $350 = HEAP32[$349>>2]|0; - $351 = (($348) + 4)|0; - $352 = $351; - $353 = HEAP32[$352>>2]|0; - $354 = (_sqlite3Fts3VarintLen($350,$353)|0); - $355 = HEAP32[$isRequirePos>>2]|0; - $356 = ($355|0)!=(0); - $357 = HEAP32[$nList>>2]|0; - $358 = (($357) + 1)|0; - $359 = $356 ? $358 : 0; - $360 = (($354) + ($359))|0; - HEAP32[$nByte>>2] = $360; - $361 = HEAP32[$nDoclist>>2]|0; - $362 = HEAP32[$nByte>>2]|0; - $363 = (($361) + ($362))|0; - $364 = HEAP32[$2>>2]|0; - $365 = ((($364)) + 20|0); - $366 = HEAP32[$365>>2]|0; - $367 = ($363|0)>($366|0); - if ($367) { - $368 = HEAP32[$nDoclist>>2]|0; - $369 = HEAP32[$nByte>>2]|0; - $370 = (($368) + ($369))|0; - $371 = $370<<1; - $372 = HEAP32[$2>>2]|0; - $373 = ((($372)) + 20|0); - HEAP32[$373>>2] = $371; - $374 = HEAP32[$2>>2]|0; - $375 = ((($374)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = HEAP32[$2>>2]|0; - $378 = ((($377)) + 20|0); - $379 = HEAP32[$378>>2]|0; - $380 = (_sqlite3_realloc($376,$379)|0); - HEAP32[$aNew>>2] = $380; - $381 = HEAP32[$aNew>>2]|0; - $382 = ($381|0)!=(0|0); - if (!($382)) { - label = 50; - break L4; - } - $383 = HEAP32[$aNew>>2]|0; - $384 = HEAP32[$2>>2]|0; - $385 = ((($384)) + 16|0); - HEAP32[$385>>2] = $383; - } - $386 = HEAP32[$isFirst>>2]|0; - $387 = ($386|0)!=(0); - $388 = HEAP32[$nDoclist>>2]|0; - $389 = HEAP32[$2>>2]|0; - $390 = ((($389)) + 16|0); - $391 = HEAP32[$390>>2]|0; - $392 = (($391) + ($388)|0); - if ($387) { - HEAP32[$a>>2] = $392; - $393 = $iDelta; - $394 = $393; - $395 = HEAP32[$394>>2]|0; - $396 = (($393) + 4)|0; - $397 = $396; - $398 = HEAP32[$397>>2]|0; - $399 = HEAP32[$pList>>2]|0; - $400 = HEAP32[$nList>>2]|0; - $401 = HEAP32[$a>>2]|0; - $402 = (_sqlite3Fts3FirstFilter($395,$398,$399,$400,$401)|0); - HEAP32[$nWrite>>2] = $402; - $403 = HEAP32[$nWrite>>2]|0; - $404 = ($403|0)!=(0); - if (!($404)) { - break; - } - $405 = $iDocid; - $406 = $405; - $407 = HEAP32[$406>>2]|0; - $408 = (($405) + 4)|0; - $409 = $408; - $410 = HEAP32[$409>>2]|0; - $411 = $iPrev; - $412 = $411; - HEAP32[$412>>2] = $407; - $413 = (($411) + 4)|0; - $414 = $413; - HEAP32[$414>>2] = $410; - $415 = HEAP32[$nWrite>>2]|0; - $416 = HEAP32[$nDoclist>>2]|0; - $417 = (($416) + ($415))|0; - HEAP32[$nDoclist>>2] = $417; - break; - } else { - $418 = $iDelta; - $419 = $418; - $420 = HEAP32[$419>>2]|0; - $421 = (($418) + 4)|0; - $422 = $421; - $423 = HEAP32[$422>>2]|0; - $424 = (_sqlite3Fts3PutVarint($392,$420,$423)|0); - $425 = HEAP32[$nDoclist>>2]|0; - $426 = (($425) + ($424))|0; - HEAP32[$nDoclist>>2] = $426; - $427 = $iDocid; - $428 = $427; - $429 = HEAP32[$428>>2]|0; - $430 = (($427) + 4)|0; - $431 = $430; - $432 = HEAP32[$431>>2]|0; - $433 = $iPrev; - $434 = $433; - HEAP32[$434>>2] = $429; - $435 = (($433) + 4)|0; - $436 = $435; - HEAP32[$436>>2] = $432; - $437 = HEAP32[$isRequirePos>>2]|0; - $438 = ($437|0)!=(0); - if (!($438)) { - break; - } - $439 = HEAP32[$nDoclist>>2]|0; - $440 = HEAP32[$2>>2]|0; - $441 = ((($440)) + 16|0); - $442 = HEAP32[$441>>2]|0; - $443 = (($442) + ($439)|0); - $444 = HEAP32[$pList>>2]|0; - $445 = HEAP32[$nList>>2]|0; - _memcpy(($443|0),($444|0),($445|0))|0; - $446 = HEAP32[$nList>>2]|0; - $447 = HEAP32[$nDoclist>>2]|0; - $448 = (($447) + ($446))|0; - HEAP32[$nDoclist>>2] = $448; - $449 = HEAP32[$nDoclist>>2]|0; - $450 = (($449) + 1)|0; - HEAP32[$nDoclist>>2] = $450; - $451 = HEAP32[$2>>2]|0; - $452 = ((($451)) + 16|0); - $453 = HEAP32[$452>>2]|0; - $454 = (($453) + ($449)|0); - HEAP8[$454>>0] = 0; + $615 = HEAP32[$7>>2]|0; + $616 = ($615|0)==(4); + if ($616) { + $617 = HEAP32[$9>>2]|0; + $618 = (_strcmp($617,23182)|0); + $619 = ($618|0)==(0); + if ($619) { + $620 = +HEAPF64[$8>>3]; + $621 = (~~(($620))); + HEAP32[$19>>2] = $621; + $622 = HEAP32[$5>>2]|0; + _computeYMD_HMS($622); + $623 = HEAP32[$19>>2]|0; + $624 = HEAP32[$5>>2]|0; + $625 = ((($624)) + 8|0); + $626 = HEAP32[$625>>2]|0; + $627 = (($626) + ($623))|0; + HEAP32[$625>>2] = $627; + $628 = HEAP32[$5>>2]|0; + $629 = ((($628)) + 42|0); + HEAP8[$629>>0] = 0; + $630 = HEAP32[$5>>2]|0; + _computeJD($630); + $631 = HEAP32[$19>>2]|0; + $632 = (+($631|0)); + $633 = +HEAPF64[$8>>3]; + $634 = $632 != $633; + if (!($634)) { break; } + $635 = +HEAPF64[$8>>3]; + $636 = HEAP32[$19>>2]|0; + $637 = (+($636|0)); + $638 = $635 - $637; + $639 = $638 * 365.0; + $640 = $639 * 8.64E+7; + $641 = +HEAPF64[$13>>3]; + $642 = $640 + $641; + $643 = (~~$642)>>>0; + $644 = +Math_abs($642) >= 1.0 ? $642 > 0.0 ? (~~+Math_min(+Math_floor($642 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($642 - +(~~$642 >>> 0)) / 4294967296.0) >>> 0 : 0; + $645 = HEAP32[$5>>2]|0; + $646 = $645; + $647 = $646; + $648 = HEAP32[$647>>2]|0; + $649 = (($646) + 4)|0; + $650 = $649; + $651 = HEAP32[$650>>2]|0; + $652 = (_i64Add(($648|0),($651|0),($643|0),($644|0))|0); + $653 = tempRet0; + $654 = $645; + $655 = $654; + HEAP32[$655>>2] = $652; + $656 = (($654) + 4)|0; + $657 = $656; + HEAP32[$657>>2] = $653; + break; } - } while(0); - $455 = HEAP32[$apSegment>>2]|0; - $456 = HEAP32[$nMerge>>2]|0; - $457 = HEAP32[$j>>2]|0; - $458 = HEAP32[$xCmp>>2]|0; - _fts3SegReaderSort($455,$456,$457,$458); - } - $459 = HEAP32[$nDoclist>>2]|0; - $460 = ($459|0)>(0); - if ($460) { - $461 = HEAP32[$2>>2]|0; - $462 = ((($461)) + 16|0); - $463 = HEAP32[$462>>2]|0; - $464 = HEAP32[$2>>2]|0; - $465 = ((($464)) + 48|0); - HEAP32[$465>>2] = $463; - $466 = HEAP32[$nDoclist>>2]|0; - $467 = HEAP32[$2>>2]|0; - $468 = ((($467)) + 52|0); - HEAP32[$468>>2] = $466; - HEAP32[$rc>>2] = 100; - } - } - $469 = HEAP32[$nMerge>>2]|0; - $470 = HEAP32[$2>>2]|0; - $471 = ((($470)) + 8|0); - HEAP32[$471>>2] = $469; - $472 = HEAP32[$rc>>2]|0; - $473 = ($472|0)==(0); - if (!($473)) { - label = 61; - break; - } - } - if ((label|0) == 9) { - $76 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $76; - $475 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($475|0); + } + HEAP32[$6>>2] = 1; + } + } while(0); + $658 = HEAP32[$5>>2]|0; + _clearYMD_HMS_TZ($658); + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); + break; } - else if ((label|0) == 50) { - HEAP32[$0>>2] = 7; - $475 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($475|0); + default: { + $659 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($659|0); } - else if ((label|0) == 61) { - $474 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $474; - $475 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($475|0); } return (0)|0; } -function _fts3SegWriterAdd($p,$ppWriter,$isCopyTerm,$zTerm,$nTerm,$aDoclist,$nDoclist) { - $p = $p|0; - $ppWriter = $ppWriter|0; - $isCopyTerm = $isCopyTerm|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - $aDoclist = $aDoclist|0; - $nDoclist = $nDoclist|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aNew = 0, $nData = 0, $nPrefix = 0, $nReq = 0, $nSuffix = 0, $pStmt = 0; - var $pWriter = 0, $rc = 0, $rc1 = 0, $zNew = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _localtimeOffset($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 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.0, $26 = 0.0, $27 = 0, $28 = 0; + var $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0; + var sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $3 = sp + 56|0; - $4 = sp + 52|0; - $5 = sp + 48|0; - $6 = sp + 44|0; - $7 = sp + 40|0; - $nPrefix = sp + 36|0; - $nSuffix = sp + 32|0; - $nReq = sp + 28|0; - $nData = sp + 24|0; - $pWriter = sp + 20|0; - $rc = sp + 16|0; - $pStmt = sp + 12|0; - $rc1 = sp + 8|0; - $aNew = sp + 4|0; - $zNew = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $ppWriter; - HEAP32[$3>>2] = $isCopyTerm; - HEAP32[$4>>2] = $zTerm; - HEAP32[$5>>2] = $nTerm; - HEAP32[$6>>2] = $aDoclist; - HEAP32[$7>>2] = $nDoclist; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$pWriter>>2] = $9; - $10 = HEAP32[$pWriter>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - $12 = (_sqlite3_malloc(64)|0); - HEAP32[$pWriter>>2] = $12; - $13 = HEAP32[$pWriter>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - HEAP32[$0>>2] = 7; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - $15 = HEAP32[$pWriter>>2]|0; - dest=$15; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $16 = HEAP32[$pWriter>>2]|0; - $17 = HEAP32[$2>>2]|0; - HEAP32[$17>>2] = $16; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 224|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3_malloc($20)|0); - $22 = HEAP32[$pWriter>>2]|0; - $23 = ((($22)) + 48|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$pWriter>>2]|0; - $25 = ((($24)) + 48|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - HEAP32[$0>>2] = 7; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 224|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$pWriter>>2]|0; - $32 = ((($31)) + 40|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$1>>2]|0; - $34 = (_fts3SqlStmt($33,10,$pStmt,0)|0); - HEAP32[$rc>>2] = $34; - $35 = HEAP32[$rc>>2]|0; - $36 = ($35|0)!=(0); - if ($36) { - $37 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $37; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - $38 = HEAP32[$pStmt>>2]|0; - $39 = (_sqlite3_step($38)|0); - $40 = (100)==($39|0); - if ($40) { - $41 = HEAP32[$pStmt>>2]|0; - $42 = (_sqlite3_column_int64($41,0)|0); - $43 = tempRet0; - $44 = HEAP32[$pWriter>>2]|0; - $45 = ((($44)) + 16|0); - $46 = $45; - $47 = $46; - HEAP32[$47>>2] = $42; - $48 = (($46) + 4)|0; - $49 = $48; - HEAP32[$49>>2] = $43; - $50 = HEAP32[$pWriter>>2]|0; - $51 = ((($50)) + 16|0); - $52 = $51; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$pWriter>>2]|0; - $59 = ((($58)) + 8|0); - $60 = $59; - $61 = $60; - HEAP32[$61>>2] = $54; - $62 = (($60) + 4)|0; - $63 = $62; - HEAP32[$63>>2] = $57; - } - $64 = HEAP32[$pStmt>>2]|0; - $65 = (_sqlite3_reset($64)|0); - HEAP32[$rc>>2] = $65; - $66 = HEAP32[$rc>>2]|0; - $67 = ($66|0)!=(0); - if ($67) { - $68 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $68; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - } - $69 = HEAP32[$pWriter>>2]|0; - $70 = ((($69)) + 44|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[$nData>>2] = $71; - $72 = HEAP32[$pWriter>>2]|0; - $73 = ((($72)) + 24|0); - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$pWriter>>2]|0; - $76 = ((($75)) + 28|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$4>>2]|0; - $79 = HEAP32[$5>>2]|0; - $80 = (_fts3PrefixCompress($74,$77,$78,$79)|0); - HEAP32[$nPrefix>>2] = $80; - $81 = HEAP32[$5>>2]|0; - $82 = HEAP32[$nPrefix>>2]|0; - $83 = (($81) - ($82))|0; - HEAP32[$nSuffix>>2] = $83; - $84 = HEAP32[$nPrefix>>2]|0; - $85 = ($84|0)<(0); - $86 = $85 << 31 >> 31; - $87 = (_sqlite3Fts3VarintLen($84,$86)|0); - $88 = HEAP32[$nSuffix>>2]|0; - $89 = ($88|0)<(0); - $90 = $89 << 31 >> 31; - $91 = (_sqlite3Fts3VarintLen($88,$90)|0); - $92 = (($87) + ($91))|0; - $93 = HEAP32[$nSuffix>>2]|0; - $94 = (($92) + ($93))|0; - $95 = HEAP32[$7>>2]|0; - $96 = ($95|0)<(0); - $97 = $96 << 31 >> 31; - $98 = (_sqlite3Fts3VarintLen($95,$97)|0); - $99 = (($94) + ($98))|0; - $100 = HEAP32[$7>>2]|0; - $101 = (($99) + ($100))|0; - HEAP32[$nReq>>2] = $101; - $102 = HEAP32[$nData>>2]|0; - $103 = ($102|0)>(0); - do { - if ($103) { - $104 = HEAP32[$nData>>2]|0; - $105 = HEAP32[$nReq>>2]|0; - $106 = (($104) + ($105))|0; - $107 = HEAP32[$1>>2]|0; - $108 = ((($107)) + 224|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($106|0)>($109|0); - if ($110) { - $111 = HEAP32[$1>>2]|0; - $112 = HEAP32[$pWriter>>2]|0; - $113 = ((($112)) + 16|0); - $114 = $113; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = (($114) + 4)|0; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (_i64Add(($116|0),($119|0),1,0)|0); - $121 = tempRet0; - $122 = $113; - $123 = $122; - HEAP32[$123>>2] = $120; - $124 = (($122) + 4)|0; - $125 = $124; - HEAP32[$125>>2] = $121; - $126 = HEAP32[$pWriter>>2]|0; - $127 = ((($126)) + 48|0); - $128 = HEAP32[$127>>2]|0; - $129 = HEAP32[$nData>>2]|0; - $130 = (_fts3WriteSegment($111,$116,$119,$128,$129)|0); - HEAP32[$rc1>>2] = $130; - $131 = HEAP32[$rc1>>2]|0; - $132 = ($131|0)!=(0); - if ($132) { - $133 = HEAP32[$rc1>>2]|0; - HEAP32[$0>>2] = $133; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - $134 = HEAP32[$1>>2]|0; - $135 = ((($134)) + 52|0); - $136 = HEAP32[$135>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[$135>>2] = $137; - $138 = HEAP32[$1>>2]|0; - $139 = HEAP32[$pWriter>>2]|0; - $140 = HEAP32[$3>>2]|0; - $141 = HEAP32[$4>>2]|0; - $142 = HEAP32[$nPrefix>>2]|0; - $143 = (($142) + 1)|0; - $144 = (_fts3NodeAddTerm($138,$139,$140,$141,$143)|0); - HEAP32[$rc1>>2] = $144; - $145 = HEAP32[$rc1>>2]|0; - $146 = ($145|0)!=(0); - if (!($146)) { - HEAP32[$nData>>2] = 0; - $148 = HEAP32[$pWriter>>2]|0; - $149 = ((($148)) + 28|0); - HEAP32[$149>>2] = 0; - HEAP32[$nPrefix>>2] = 0; - $150 = HEAP32[$5>>2]|0; - HEAP32[$nSuffix>>2] = $150; - $151 = HEAP32[$5>>2]|0; - $152 = ($151|0)<(0); - $153 = $152 << 31 >> 31; - $154 = (_sqlite3Fts3VarintLen($151,$153)|0); - $155 = (1 + ($154))|0; - $156 = HEAP32[$5>>2]|0; - $157 = (($155) + ($156))|0; - $158 = HEAP32[$7>>2]|0; - $159 = ($158|0)<(0); - $160 = $159 << 31 >> 31; - $161 = (_sqlite3Fts3VarintLen($158,$160)|0); - $162 = (($157) + ($161))|0; - $163 = HEAP32[$7>>2]|0; - $164 = (($162) + ($163))|0; - HEAP32[$nReq>>2] = $164; - break; - } - $147 = HEAP32[$rc1>>2]|0; - HEAP32[$0>>2] = $147; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - } - } while(0); - $165 = HEAP32[$nReq>>2]|0; - $166 = ($165|0)<(0); - $167 = $166 << 31 >> 31; - $168 = HEAP32[$pWriter>>2]|0; - $169 = ((($168)) + 56|0); - $170 = $169; - $171 = $170; - $172 = HEAP32[$171>>2]|0; - $173 = (($170) + 4)|0; - $174 = $173; - $175 = HEAP32[$174>>2]|0; - $176 = (_i64Add(($172|0),($175|0),($165|0),($167|0))|0); - $177 = tempRet0; - $178 = $169; - $179 = $178; - HEAP32[$179>>2] = $176; - $180 = (($178) + 4)|0; - $181 = $180; - HEAP32[$181>>2] = $177; - $182 = HEAP32[$nReq>>2]|0; - $183 = HEAP32[$pWriter>>2]|0; - $184 = ((($183)) + 40|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($182|0)>($185|0); - do { - if ($186) { - $187 = HEAP32[$pWriter>>2]|0; - $188 = ((($187)) + 48|0); - $189 = HEAP32[$188>>2]|0; - $190 = HEAP32[$nReq>>2]|0; - $191 = (_sqlite3_realloc($189,$190)|0); - HEAP32[$aNew>>2] = $191; - $192 = HEAP32[$aNew>>2]|0; - $193 = ($192|0)!=(0|0); - if ($193) { - $194 = HEAP32[$aNew>>2]|0; - $195 = HEAP32[$pWriter>>2]|0; - $196 = ((($195)) + 48|0); - HEAP32[$196>>2] = $194; - $197 = HEAP32[$nReq>>2]|0; - $198 = HEAP32[$pWriter>>2]|0; - $199 = ((($198)) + 40|0); - HEAP32[$199>>2] = $197; - break; - } - HEAP32[$0>>2] = 7; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - } while(0); - $200 = HEAP32[$nData>>2]|0; - $201 = HEAP32[$pWriter>>2]|0; - $202 = ((($201)) + 48|0); - $203 = HEAP32[$202>>2]|0; - $204 = (($203) + ($200)|0); - $205 = HEAP32[$nPrefix>>2]|0; - $206 = ($205|0)<(0); - $207 = $206 << 31 >> 31; - $208 = (_sqlite3Fts3PutVarint($204,$205,$207)|0); - $209 = HEAP32[$nData>>2]|0; - $210 = (($209) + ($208))|0; - HEAP32[$nData>>2] = $210; - $211 = HEAP32[$nData>>2]|0; - $212 = HEAP32[$pWriter>>2]|0; - $213 = ((($212)) + 48|0); - $214 = HEAP32[$213>>2]|0; - $215 = (($214) + ($211)|0); - $216 = HEAP32[$nSuffix>>2]|0; - $217 = ($216|0)<(0); - $218 = $217 << 31 >> 31; - $219 = (_sqlite3Fts3PutVarint($215,$216,$218)|0); - $220 = HEAP32[$nData>>2]|0; - $221 = (($220) + ($219))|0; - HEAP32[$nData>>2] = $221; - $222 = HEAP32[$nData>>2]|0; - $223 = HEAP32[$pWriter>>2]|0; - $224 = ((($223)) + 48|0); - $225 = HEAP32[$224>>2]|0; - $226 = (($225) + ($222)|0); - $227 = HEAP32[$nPrefix>>2]|0; - $228 = HEAP32[$4>>2]|0; - $229 = (($228) + ($227)|0); - $230 = HEAP32[$nSuffix>>2]|0; - _memcpy(($226|0),($229|0),($230|0))|0; - $231 = HEAP32[$nSuffix>>2]|0; - $232 = HEAP32[$nData>>2]|0; - $233 = (($232) + ($231))|0; - HEAP32[$nData>>2] = $233; - $234 = HEAP32[$nData>>2]|0; - $235 = HEAP32[$pWriter>>2]|0; - $236 = ((($235)) + 48|0); - $237 = HEAP32[$236>>2]|0; - $238 = (($237) + ($234)|0); - $239 = HEAP32[$7>>2]|0; - $240 = ($239|0)<(0); - $241 = $240 << 31 >> 31; - $242 = (_sqlite3Fts3PutVarint($238,$239,$241)|0); - $243 = HEAP32[$nData>>2]|0; - $244 = (($243) + ($242))|0; - HEAP32[$nData>>2] = $244; - $245 = HEAP32[$nData>>2]|0; - $246 = HEAP32[$pWriter>>2]|0; - $247 = ((($246)) + 48|0); - $248 = HEAP32[$247>>2]|0; - $249 = (($248) + ($245)|0); - $250 = HEAP32[$6>>2]|0; - $251 = HEAP32[$7>>2]|0; - _memcpy(($249|0),($250|0),($251|0))|0; - $252 = HEAP32[$nData>>2]|0; - $253 = HEAP32[$7>>2]|0; - $254 = (($252) + ($253))|0; - $255 = HEAP32[$pWriter>>2]|0; - $256 = ((($255)) + 44|0); - HEAP32[$256>>2] = $254; - $257 = HEAP32[$3>>2]|0; - $258 = ($257|0)!=(0); - if ($258) { - $259 = HEAP32[$5>>2]|0; - $260 = HEAP32[$pWriter>>2]|0; - $261 = ((($260)) + 32|0); - $262 = HEAP32[$261>>2]|0; - $263 = ($259|0)>($262|0); - do { - if ($263) { - $264 = HEAP32[$pWriter>>2]|0; - $265 = ((($264)) + 36|0); - $266 = HEAP32[$265>>2]|0; - $267 = HEAP32[$5>>2]|0; - $268 = $267<<1; - $269 = (_sqlite3_realloc($266,$268)|0); - HEAP32[$zNew>>2] = $269; - $270 = HEAP32[$zNew>>2]|0; - $271 = ($270|0)!=(0|0); - if ($271) { - $272 = HEAP32[$5>>2]|0; - $273 = $272<<1; - $274 = HEAP32[$pWriter>>2]|0; - $275 = ((($274)) + 32|0); - HEAP32[$275>>2] = $273; - $276 = HEAP32[$zNew>>2]|0; - $277 = HEAP32[$pWriter>>2]|0; - $278 = ((($277)) + 36|0); - HEAP32[$278>>2] = $276; - $279 = HEAP32[$zNew>>2]|0; - $280 = HEAP32[$pWriter>>2]|0; - $281 = ((($280)) + 24|0); - HEAP32[$281>>2] = $279; - break; - } - HEAP32[$0>>2] = 7; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - } while(0); - $282 = HEAP32[$pWriter>>2]|0; - $283 = ((($282)) + 24|0); - $284 = HEAP32[$283>>2]|0; - $285 = HEAP32[$4>>2]|0; - $286 = HEAP32[$5>>2]|0; - _memcpy(($284|0),($285|0),($286|0))|0; + STACKTOP = STACKTOP + 176|0; + $3 = sp + 96|0; + $4 = sp + 164|0; + $5 = sp + 160|0; + $6 = sp + 156|0; + $7 = sp + 48|0; + $8 = sp; + $9 = sp + 152|0; + $10 = sp + 108|0; + $11 = sp + 104|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + dest=$10; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $12 = HEAP32[$4>>2]|0; + dest=$7; src=$12; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _computeYMD_HMS($7); + $13 = ((($7)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(1971); + if ($15) { + label = 3; } else { - $287 = HEAP32[$4>>2]|0; - $288 = HEAP32[$pWriter>>2]|0; - $289 = ((($288)) + 24|0); - HEAP32[$289>>2] = $287; - } - $290 = HEAP32[$5>>2]|0; - $291 = HEAP32[$pWriter>>2]|0; - $292 = ((($291)) + 28|0); - HEAP32[$292>>2] = $290; - HEAP32[$0>>2] = 0; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); -} -function _fts3DeleteSegdir($p,$iLangid,$iIndex,$iLevel,$apSegment,$nReader) { - $p = $p|0; - $iLangid = $iLangid|0; - $iIndex = $iIndex|0; - $iLevel = $iLevel|0; - $apSegment = $apSegment|0; - $nReader = $nReader|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pDelete = 0; - var $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; - $6 = sp + 12|0; - $rc = sp + 8|0; - $i = sp + 4|0; - $pDelete = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iLangid; - HEAP32[$3>>2] = $iIndex; - HEAP32[$4>>2] = $iLevel; - HEAP32[$5>>2] = $apSegment; - HEAP32[$6>>2] = $nReader; - HEAP32[$rc>>2] = 0; - HEAP32[$pDelete>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - break; - } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$6>>2]|0; - $11 = ($9|0)<($10|0); - if (!($11)) { - break; + $16 = ((($7)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>=(2038); + if ($18) { + label = 3; + } else { + $24 = ((($7)) + 32|0); + $25 = +HEAPF64[$24>>3]; + $26 = $25 + 0.5; + $27 = (~~(($26))); + HEAP32[$11>>2] = $27; + $28 = HEAP32[$11>>2]|0; + $29 = (+($28|0)); + $$sink = $29; } - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$5>>2]|0; - $15 = (($14) + ($13<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (_fts3DeleteSegment($12,$16)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$i>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$i>>2] = $19; } - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $22; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + if ((label|0) == 3) { + $19 = ((($7)) + 8|0); + HEAP32[$19>>2] = 2000; + $20 = ((($7)) + 12|0); + HEAP32[$20>>2] = 1; + $21 = ((($7)) + 16|0); + HEAP32[$21>>2] = 1; + $22 = ((($7)) + 20|0); + HEAP32[$22>>2] = 0; + $23 = ((($7)) + 24|0); + HEAP32[$23>>2] = 0; + $$sink = 0.0; } - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)==(-2); - $25 = HEAP32[$1>>2]|0; - if ($24) { - $26 = (_fts3SqlStmt($25,26,$pDelete,0)|0); - HEAP32[$rc>>2] = $26; - $27 = HEAP32[$rc>>2]|0; - $28 = ($27|0)==(0); - if ($28) { - $29 = HEAP32[$pDelete>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = HEAP32[$2>>2]|0; - $32 = HEAP32[$3>>2]|0; - $33 = (_getAbsoluteLevel($30,$31,$32,0)|0); - $34 = tempRet0; - (_sqlite3_bind_int64($29,1,$33,$34)|0); - $35 = HEAP32[$pDelete>>2]|0; - $36 = HEAP32[$1>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$3>>2]|0; - $39 = (_getAbsoluteLevel($36,$37,$38,1023)|0); - $40 = tempRet0; - (_sqlite3_bind_int64($35,2,$39,$40)|0); - } + $30 = ((($7)) + 32|0); + HEAPF64[$30>>3] = $$sink; + $31 = ((($7)) + 28|0); + HEAP32[$31>>2] = 0; + $32 = ((($7)) + 42|0); + HEAP8[$32>>0] = 0; + _computeJD($7); + $33 = $7; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (___divdi3(($35|0),($38|0),1000,0)|0); + $40 = tempRet0; + $41 = (_i64Subtract(($39|0),($40|0),413362496,49)|0); + $42 = tempRet0; + HEAP32[$9>>2] = $41; + $43 = (_osLocaltime($9,$10)|0); + $44 = ($43|0)!=(0); + if ($44) { + $45 = HEAP32[$5>>2]|0; + _sqlite3_result_error($45,23230,-1); + $46 = HEAP32[$6>>2]|0; + HEAP32[$46>>2] = 1; + $47 = $3; + $48 = $47; + HEAP32[$48>>2] = 0; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = 0; + $94 = $3; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + tempRet0 = ($99); + STACKTOP = sp;return ($96|0); } else { - $41 = (_fts3SqlStmt($25,16,$pDelete,0)|0); - HEAP32[$rc>>2] = $41; - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - $44 = HEAP32[$pDelete>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = HEAP32[$2>>2]|0; - $47 = HEAP32[$3>>2]|0; - $48 = HEAP32[$4>>2]|0; - $49 = (_getAbsoluteLevel($45,$46,$47,$48)|0); - $50 = tempRet0; - (_sqlite3_bind_int64($44,1,$49,$50)|0); - } - } - $51 = HEAP32[$rc>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$pDelete>>2]|0; - (_sqlite3_step($53)|0); - $54 = HEAP32[$pDelete>>2]|0; - $55 = (_sqlite3_reset($54)|0); - HEAP32[$rc>>2] = $55; + $51 = ((($10)) + 20|0); + $52 = HEAP32[$51>>2]|0; + $53 = (($52) + 1900)|0; + $54 = ((($8)) + 8|0); + HEAP32[$54>>2] = $53; + $55 = ((($10)) + 16|0); + $56 = HEAP32[$55>>2]|0; + $57 = (($56) + 1)|0; + $58 = ((($8)) + 12|0); + HEAP32[$58>>2] = $57; + $59 = ((($10)) + 12|0); + $60 = HEAP32[$59>>2]|0; + $61 = ((($8)) + 16|0); + HEAP32[$61>>2] = $60; + $62 = ((($10)) + 8|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($8)) + 20|0); + HEAP32[$64>>2] = $63; + $65 = ((($10)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = ((($8)) + 24|0); + HEAP32[$67>>2] = $66; + $68 = HEAP32[$10>>2]|0; + $69 = (+($68|0)); + $70 = ((($8)) + 32|0); + HEAPF64[$70>>3] = $69; + $71 = ((($8)) + 40|0); + HEAP8[$71>>0] = 1; + $72 = ((($8)) + 41|0); + HEAP8[$72>>0] = 1; + $73 = ((($8)) + 42|0); + HEAP8[$73>>0] = 0; + $74 = ((($8)) + 43|0); + HEAP8[$74>>0] = 0; + _computeJD($8); + $75 = HEAP32[$6>>2]|0; + HEAP32[$75>>2] = 0; + $76 = $8; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $7; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (_i64Subtract(($78|0),($81|0),($84|0),($87|0))|0); + $89 = tempRet0; + $90 = $3; + $91 = $90; + HEAP32[$91>>2] = $88; + $92 = (($90) + 4)|0; + $93 = $92; + HEAP32[$93>>2] = $89; + $94 = $3; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + tempRet0 = ($99); + STACKTOP = sp;return ($96|0); } - $56 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $56; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + return (0)|0; +} +function _clearYMD_HMS_TZ($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 40|0); + HEAP8[$3>>0] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 41|0); + HEAP8[$5>>0] = 0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 43|0); + HEAP8[$7>>0] = 0; + STACKTOP = sp;return; } -function _fts3SegWriterFlush($p,$pWriter,$0,$1,$iIdx) { - $p = $p|0; - $pWriter = $pWriter|0; +function _parseHhMmSs($0,$1) { $0 = $0|0; $1 = $1|0; - $iIdx = $iIdx|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 $iLast = 0, $iLastLeaf = 0, $nRoot = 0, $rc = 0, $zRoot = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 16|0; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer2 = sp + 24|0; + $vararg_buffer = sp + 16|0; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; $5 = sp + 36|0; - $rc = sp + 32|0; - $iLast = sp + 8|0; - $iLastLeaf = sp; - $zRoot = sp + 28|0; - $nRoot = sp + 24|0; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $pWriter; - $6 = $4; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$5>>2] = $iIdx; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 8|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAPF64[$8>>3] = 0.0; $10 = HEAP32[$3>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { - $114 = HEAP32[$2>>2]|0; - $115 = $4; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = (($115) + 4)|0; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = HEAP32[$5>>2]|0; - $122 = HEAP32[$3>>2]|0; - $123 = ((($122)) + 56|0); - $124 = $123; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = (($124) + 4)|0; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = HEAP32[$3>>2]|0; - $131 = ((($130)) + 48|0); - $132 = HEAP32[$131>>2]|0; - $133 = HEAP32[$3>>2]|0; - $134 = ((($133)) + 44|0); - $135 = HEAP32[$134>>2]|0; - $136 = (_fts3WriteSegdir($114,$117,$120,$121,0,0,0,0,0,0,$126,$129,$132,$135)|0); - HEAP32[$rc>>2] = $136; - $137 = HEAP32[$2>>2]|0; - $138 = ((($137)) + 52|0); - $139 = HEAP32[$138>>2]|0; - $140 = (($139) + 1)|0; - HEAP32[$138>>2] = $140; - $141 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($141|0); + HEAP32[$vararg_buffer>>2] = $5; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $6; + $11 = (_getDigits($10,23210,$vararg_buffer)|0); + $12 = ($11|0)!=(2); + if ($12) { + HEAP32[$2>>2] = 1; + $92 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($92|0); } - $13 = $iLast; - $14 = $13; - HEAP32[$14>>2] = 0; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = 0; - HEAP32[$zRoot>>2] = 0; - HEAP32[$nRoot>>2] = 0; - $17 = HEAP32[$3>>2]|0; - $18 = ((($17)) + 16|0); - $19 = $18; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = $iLastLeaf; - $26 = $25; - HEAP32[$26>>2] = $21; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $24; - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$3>>2]|0; - $31 = ((($30)) + 16|0); - $32 = $31; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (_i64Add(($34|0),($37|0),1,0)|0); - $39 = tempRet0; - $40 = $31; - $41 = $40; - HEAP32[$41>>2] = $38; - $42 = (($40) + 4)|0; - $43 = $42; - HEAP32[$43>>2] = $39; - $44 = HEAP32[$3>>2]|0; - $45 = ((($44)) + 48|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$3>>2]|0; - $48 = ((($47)) + 44|0); - $49 = HEAP32[$48>>2]|0; - $50 = (_fts3WriteSegment($29,$34,$37,$46,$49)|0); - HEAP32[$rc>>2] = $50; - $51 = HEAP32[$rc>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$2>>2]|0; - $54 = HEAP32[$3>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$3>>2]|0; - $57 = ((($56)) + 8|0); - $58 = $57; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$3>>2]|0; - $65 = ((($64)) + 16|0); - $66 = $65; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = (($66) + 4)|0; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (_fts3NodeWrite($53,$55,1,$60,$63,$68,$71,$iLast,$zRoot,$nRoot)|0); - HEAP32[$rc>>2] = $72; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 5|0); + HEAP32[$3>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; + $18 = ($17|0)==(58); + if ($18) { + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 1|0); + HEAP32[$3>>2] = $20; + $21 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer2>>2] = $7; + $22 = (_getDigits($21,23218,$vararg_buffer2)|0); + $23 = ($22|0)!=(1); + if ($23) { + HEAP32[$2>>2] = 1; + $92 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($92|0); + } + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 2|0); + HEAP32[$3>>2] = $25; + $26 = HEAP32[$3>>2]|0; + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = ($28|0)==(46); + if ($29) { + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = (20063 + ($33)|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 & 4; + $38 = ($37|0)!=(0); + if ($38) { + HEAPF64[$9>>3] = 1.0; + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 1|0); + HEAP32[$3>>2] = $40; + while(1) { + $41 = HEAP32[$3>>2]|0; + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = (20063 + ($43)|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = $46 & 4; + $48 = ($47|0)!=(0); + if (!($48)) { + break; + } + $49 = +HEAPF64[$8>>3]; + $50 = $49 * 10.0; + $51 = HEAP32[$3>>2]|0; + $52 = HEAP8[$51>>0]|0; + $53 = $52 << 24 >> 24; + $54 = (+($53|0)); + $55 = $50 + $54; + $56 = $55 - 48.0; + HEAPF64[$8>>3] = $56; + $57 = +HEAPF64[$9>>3]; + $58 = $57 * 10.0; + HEAPF64[$9>>3] = $58; + $59 = HEAP32[$3>>2]|0; + $60 = ((($59)) + 1|0); + HEAP32[$3>>2] = $60; + } + $61 = +HEAPF64[$9>>3]; + $62 = +HEAPF64[$8>>3]; + $63 = $62 / $61; + HEAPF64[$8>>3] = $63; + } + } + } else { + HEAP32[$7>>2] = 0; } - $73 = HEAP32[$rc>>2]|0; - $74 = ($73|0)==(0); - if (!($74)) { - $137 = HEAP32[$2>>2]|0; - $138 = ((($137)) + 52|0); - $139 = HEAP32[$138>>2]|0; - $140 = (($139) + 1)|0; - HEAP32[$138>>2] = $140; - $141 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($141|0); + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 42|0); + HEAP8[$65>>0] = 0; + $66 = HEAP32[$4>>2]|0; + $67 = ((($66)) + 41|0); + HEAP8[$67>>0] = 1; + $68 = HEAP32[$5>>2]|0; + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 20|0); + HEAP32[$70>>2] = $68; + $71 = HEAP32[$6>>2]|0; + $72 = HEAP32[$4>>2]|0; + $73 = ((($72)) + 24|0); + HEAP32[$73>>2] = $71; + $74 = HEAP32[$7>>2]|0; + $75 = (+($74|0)); + $76 = +HEAPF64[$8>>3]; + $77 = $75 + $76; + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 32|0); + HEAPF64[$79>>3] = $77; + $80 = HEAP32[$3>>2]|0; + $81 = HEAP32[$4>>2]|0; + $82 = (_parseTimezone($80,$81)|0); + $83 = ($82|0)!=(0); + if ($83) { + HEAP32[$2>>2] = 1; + $92 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($92|0); + } else { + $84 = HEAP32[$4>>2]|0; + $85 = ((($84)) + 28|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)!=(0); + $88 = $87 ? 1 : 0; + $89 = $88&255; + $90 = HEAP32[$4>>2]|0; + $91 = ((($90)) + 43|0); + HEAP8[$91>>0] = $89; + HEAP32[$2>>2] = 0; + $92 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($92|0); } - $75 = HEAP32[$2>>2]|0; - $76 = $4; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = (($76) + 4)|0; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = HEAP32[$5>>2]|0; - $83 = HEAP32[$3>>2]|0; - $84 = ((($83)) + 8|0); - $85 = $84; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = $iLastLeaf; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (($91) + 4)|0; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = $iLast; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = (($97) + 4)|0; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$3>>2]|0; - $104 = ((($103)) + 56|0); - $105 = $104; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$zRoot>>2]|0; - $112 = HEAP32[$nRoot>>2]|0; - $113 = (_fts3WriteSegdir($75,$78,$81,$82,$87,$90,$93,$96,$99,$102,$107,$110,$111,$112)|0); - HEAP32[$rc>>2] = $113; - $137 = HEAP32[$2>>2]|0; - $138 = ((($137)) + 52|0); - $139 = HEAP32[$138>>2]|0; - $140 = (($139) + 1)|0; - HEAP32[$138>>2] = $140; - $141 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($141|0); + return (0)|0; } -function _fts3PromoteSegments($p,$0,$1,$2,$3) { - $p = $p|0; +function _getDigits($0,$1,$varargs) { $0 = $0|0; $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $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; - 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, $bOk = 0, $dummy = 0, $iIdx = 0, $iLast = 0, $nLimit = 0; - var $nSize = 0, $pRange = 0, $pUpdate1 = 0, $pUpdate2 = 0, $rc = 0, label = 0, sp = 0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $4 = sp + 72|0; - $5 = sp + 40|0; - $6 = sp + 32|0; - $rc = sp + 68|0; - $pRange = sp + 64|0; - $bOk = sp + 60|0; - $iLast = sp + 24|0; - $nLimit = sp + 16|0; - $nSize = sp + 8|0; - $dummy = sp; - $iIdx = sp + 56|0; - $pUpdate1 = sp + 52|0; - $pUpdate2 = sp + 48|0; - HEAP32[$4>>2] = $p; - $7 = $5; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = $6; - $12 = $11; - HEAP32[$12>>2] = $2; - $13 = (($11) + 4)|0; - $14 = $13; - HEAP32[$14>>2] = $3; - HEAP32[$rc>>2] = 0; - $15 = HEAP32[$4>>2]|0; - $16 = (_fts3SqlStmt($15,37,$pRange,0)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)==(0); - if (!($18)) { - $158 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($158|0); - } - HEAP32[$bOk>>2] = 0; - $19 = $5; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (___divdi3(($21|0),($24|0),1024,0)|0); - $26 = tempRet0; - $27 = (_i64Add(($25|0),($26|0),1,0)|0); - $28 = tempRet0; - $29 = (___muldi3(($27|0),($28|0),1024,0)|0); - $30 = tempRet0; - $31 = (_i64Subtract(($29|0),($30|0),1,0)|0); - $32 = tempRet0; - $33 = $iLast; - $34 = $33; - HEAP32[$34>>2] = $31; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = $32; - $37 = $6; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (___muldi3(($39|0),($42|0),3,0)|0); - $44 = tempRet0; - $45 = (___divdi3(($43|0),($44|0),2,0)|0); - $46 = tempRet0; - $47 = $nLimit; - $48 = $47; - HEAP32[$48>>2] = $45; - $49 = (($47) + 4)|0; - $50 = $49; - HEAP32[$50>>2] = $46; - $51 = HEAP32[$pRange>>2]|0; - $52 = $5; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (_i64Add(($54|0),($57|0),1,0)|0); - $59 = tempRet0; - (_sqlite3_bind_int64($51,1,$58,$59)|0); - $60 = HEAP32[$pRange>>2]|0; - $61 = $iLast; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - (_sqlite3_bind_int64($60,2,$63,$66)|0); - while(1) { - $67 = HEAP32[$pRange>>2]|0; - $68 = (_sqlite3_step($67)|0); - $69 = (100)==($68|0); - if (!($69)) { + STACKTOP = STACKTOP + 48|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp + 44|0; + $7 = sp + 43|0; + $8 = sp + 42|0; + $9 = sp + 4|0; + $10 = sp + 40|0; + $11 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 0; + HEAP32[$4>>2] = $varargs; + L1: while(1) { + $12 = HEAP32[$3>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13 << 24 >> 24; + $15 = (($14) - 48)|0; + $16 = $15&255; + HEAP8[$7>>0] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19 << 24 >> 24; + $21 = (($20) - 48)|0; + $22 = $21&255; + HEAP8[$8>>0] = $22; + HEAP32[$9>>2] = 0; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 2|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25 << 24 >> 24; + $27 = (($26) - 97)|0; + $28 = (11168 + ($27<<1)|0); + $29 = HEAP16[$28>>1]|0; + HEAP16[$10>>1] = $29; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 3|0); + $32 = HEAP8[$31>>0]|0; + HEAP8[$6>>0] = $32; + HEAP32[$9>>2] = 0; + while(1) { + $33 = HEAP8[$7>>0]|0; + $34 = (($33) + -1)<<24>>24; + HEAP8[$7>>0] = $34; + $35 = ($33<<24>>24)!=(0); + if (!($35)) { + break; + } + $36 = HEAP32[$2>>2]|0; + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (20063 + ($38)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $41 & 4; + $43 = ($42|0)!=(0); + if (!($43)) { + label = 11; + break L1; + } + $44 = HEAP32[$9>>2]|0; + $45 = ($44*10)|0; + $46 = HEAP32[$2>>2]|0; + $47 = HEAP8[$46>>0]|0; + $48 = $47 << 24 >> 24; + $49 = (($45) + ($48))|0; + $50 = (($49) - 48)|0; + HEAP32[$9>>2] = $50; + $51 = HEAP32[$2>>2]|0; + $52 = ((($51)) + 1|0); + HEAP32[$2>>2] = $52; + } + $53 = HEAP32[$9>>2]|0; + $54 = HEAP8[$8>>0]|0; + $55 = $54 << 24 >> 24; + $56 = ($53|0)<($55|0); + if ($56) { + label = 11; break; } - $70 = $nSize; - $71 = $70; - HEAP32[$71>>2] = 0; - $72 = (($70) + 4)|0; - $73 = $72; - HEAP32[$73>>2] = 0; - $74 = HEAP32[$pRange>>2]|0; - _fts3ReadEndBlockField($74,2,$dummy,$nSize); - $75 = $nSize; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)<(0); - $82 = ($77>>>0)<=(0); - $83 = ($80|0)==(0); - $84 = $83 & $82; - $85 = $81 | $84; - if ($85) { - label = 6; + $57 = HEAP32[$9>>2]|0; + $58 = HEAP16[$10>>1]|0; + $59 = $58&65535; + $60 = ($57|0)>($59|0); + if ($60) { + label = 11; break; } - $86 = $nSize; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = (($86) + 4)|0; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = $nLimit; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = ($91|0)>($97|0); - $99 = ($88>>>0)>($94>>>0); - $100 = ($91|0)==($97|0); - $101 = $100 & $99; - $102 = $98 | $101; - if ($102) { - label = 6; + $61 = HEAP8[$6>>0]|0; + $62 = $61 << 24 >> 24; + $63 = ($62|0)!=(0); + if ($63) { + $64 = HEAP8[$6>>0]|0; + $65 = $64 << 24 >> 24; + $66 = HEAP32[$2>>2]|0; + $67 = HEAP8[$66>>0]|0; + $68 = $67 << 24 >> 24; + $69 = ($65|0)!=($68|0); + if ($69) { + label = 11; + break; + } + } + $70 = HEAP32[$9>>2]|0; + $arglist_current = HEAP32[$4>>2]|0; + $71 = $arglist_current; + $72 = ((0) + 4|0); + $expanded2 = $72; + $expanded = (($expanded2) - 1)|0; + $73 = (($71) + ($expanded))|0; + $74 = ((0) + 4|0); + $expanded6 = $74; + $expanded5 = (($expanded6) - 1)|0; + $expanded4 = $expanded5 ^ -1; + $75 = $73 & $expanded4; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $arglist_next = ((($76)) + 4|0); + HEAP32[$4>>2] = $arglist_next; + HEAP32[$11>>2] = $77; + $78 = HEAP32[$11>>2]|0; + HEAP32[$78>>2] = $70; + $79 = HEAP32[$2>>2]|0; + $80 = ((($79)) + 1|0); + HEAP32[$2>>2] = $80; + $81 = HEAP32[$5>>2]|0; + $82 = (($81) + 1)|0; + HEAP32[$5>>2] = $82; + $83 = HEAP32[$3>>2]|0; + $84 = ((($83)) + 4|0); + HEAP32[$3>>2] = $84; + $85 = HEAP8[$6>>0]|0; + $86 = ($85<<24>>24)!=(0); + if (!($86)) { + label = 11; break; } - HEAP32[$bOk>>2] = 1; - } - if ((label|0) == 6) { - HEAP32[$bOk>>2] = 0; - } - $103 = HEAP32[$pRange>>2]|0; - $104 = (_sqlite3_reset($103)|0); - HEAP32[$rc>>2] = $104; - $105 = HEAP32[$bOk>>2]|0; - $106 = ($105|0)!=(0); - if (!($106)) { - $158 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($158|0); } - HEAP32[$iIdx>>2] = 0; - HEAP32[$pUpdate1>>2] = 0; - HEAP32[$pUpdate2>>2] = 0; - $107 = HEAP32[$rc>>2]|0; - $108 = ($107|0)==(0); - if ($108) { - $109 = HEAP32[$4>>2]|0; - $110 = (_fts3SqlStmt($109,38,$pUpdate1,0)|0); - HEAP32[$rc>>2] = $110; + if ((label|0) == 11) { + $87 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($87|0); } - $111 = HEAP32[$rc>>2]|0; - $112 = ($111|0)==(0); - if ($112) { - $113 = HEAP32[$4>>2]|0; - $114 = (_fts3SqlStmt($113,39,$pUpdate2,0)|0); - HEAP32[$rc>>2] = $114; + return (0)|0; +} +function _parseTimezone($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + while(1) { + $9 = HEAP32[$3>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = (20063 + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = $14 & 1; + $16 = ($15|0)!=(0); + if (!($16)) { + break; + } + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 1|0); + HEAP32[$3>>2] = $18; } - $115 = HEAP32[$rc>>2]|0; - $116 = ($115|0)==(0); - L21: do { - if ($116) { - $117 = HEAP32[$pRange>>2]|0; - $118 = $5; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = (($118) + 4)|0; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - (_sqlite3_bind_int64($117,1,$120,$123)|0); - while(1) { - $124 = HEAP32[$pRange>>2]|0; - $125 = (_sqlite3_step($124)|0); - $126 = (100)==($125|0); - if (!($126)) { - break L21; - } - $127 = HEAP32[$pUpdate1>>2]|0; - $128 = HEAP32[$iIdx>>2]|0; - $129 = (($128) + 1)|0; - HEAP32[$iIdx>>2] = $129; - (_sqlite3_bind_int($127,1,$128)|0); - $130 = HEAP32[$pUpdate1>>2]|0; - $131 = HEAP32[$pRange>>2]|0; - $132 = (_sqlite3_column_int($131,0)|0); - (_sqlite3_bind_int($130,2,$132)|0); - $133 = HEAP32[$pUpdate1>>2]|0; - $134 = HEAP32[$pRange>>2]|0; - $135 = (_sqlite3_column_int($134,1)|0); - (_sqlite3_bind_int($133,3,$135)|0); - $136 = HEAP32[$pUpdate1>>2]|0; - (_sqlite3_step($136)|0); - $137 = HEAP32[$pUpdate1>>2]|0; - $138 = (_sqlite3_reset($137)|0); - HEAP32[$rc>>2] = $138; - $139 = HEAP32[$rc>>2]|0; - $140 = ($139|0)!=(0); - if ($140) { - break; - } + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 28|0); + HEAP32[$20>>2] = 0; + $21 = HEAP32[$3>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + HEAP32[$8>>2] = $23; + $24 = HEAP32[$8>>2]|0; + $25 = ($24|0)==(45); + do { + if ($25) { + HEAP32[$5>>2] = -1; + label = 11; + } else { + $26 = HEAP32[$8>>2]|0; + $27 = ($26|0)==(43); + if ($27) { + HEAP32[$5>>2] = 1; + label = 11; + break; + } + $28 = HEAP32[$8>>2]|0; + $29 = ($28|0)==(90); + $30 = HEAP32[$8>>2]|0; + $31 = ($30|0)==(122); + $or$cond = $29 | $31; + if ($or$cond) { + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 1|0); + HEAP32[$3>>2] = $33; + break; } - $141 = HEAP32[$pRange>>2]|0; - (_sqlite3_reset($141)|0); + $34 = HEAP32[$8>>2]|0; + $35 = ($34|0)!=(0); + $36 = $35&1; + HEAP32[$2>>2] = $36; + $69 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($69|0); } } while(0); - $142 = HEAP32[$rc>>2]|0; - $143 = ($142|0)==(0); - if ($143) { - $144 = HEAP32[$pRange>>2]|0; - $145 = (_sqlite3_reset($144)|0); - HEAP32[$rc>>2] = $145; - } - $146 = HEAP32[$rc>>2]|0; - $147 = ($146|0)==(0); - if (!($147)) { - $158 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($158|0); + do { + if ((label|0) == 11) { + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 1|0); + HEAP32[$3>>2] = $38; + $39 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $7; + $40 = (_getDigits($39,23222,$vararg_buffer)|0); + $41 = ($40|0)!=(2); + if (!($41)) { + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 5|0); + HEAP32[$3>>2] = $43; + $44 = HEAP32[$5>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = HEAP32[$6>>2]|0; + $47 = ($46*60)|0; + $48 = (($45) + ($47))|0; + $49 = Math_imul($44, $48)|0; + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 28|0); + HEAP32[$51>>2] = $49; + break; + } + HEAP32[$2>>2] = 1; + $69 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($69|0); + } + } while(0); + while(1) { + $52 = HEAP32[$3>>2]|0; + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = (20063 + ($54)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $57 & 1; + $59 = ($58|0)!=(0); + if (!($59)) { + break; + } + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 1|0); + HEAP32[$3>>2] = $61; } - $148 = HEAP32[$pUpdate2>>2]|0; - $149 = $5; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - (_sqlite3_bind_int64($148,1,$151,$154)|0); - $155 = HEAP32[$pUpdate2>>2]|0; - (_sqlite3_step($155)|0); - $156 = HEAP32[$pUpdate2>>2]|0; - $157 = (_sqlite3_reset($156)|0); - HEAP32[$rc>>2] = $157; - $158 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($158|0); + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 44|0); + HEAP8[$63>>0] = 1; + $64 = HEAP32[$3>>2]|0; + $65 = HEAP8[$64>>0]|0; + $66 = $65 << 24 >> 24; + $67 = ($66|0)!=(0); + $68 = $67&1; + HEAP32[$2>>2] = $68; + $69 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($69|0); } -function _fts3SegWriterFree($pWriter) { - $pWriter = $pWriter|0; - var $0 = 0, $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; +function _osLocaltime($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 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, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWriter; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = (_sqlite3MutexAlloc(2)|0); + HEAP32[$6>>2] = $7; + $8 = HEAP32[$6>>2]|0; + _sqlite3_mutex_enter($8); + $9 = HEAP32[$2>>2]|0; + $10 = (_localtime(($9|0))|0); + HEAP32[$5>>2] = $10; + $11 = HEAP32[(276)>>2]|0; + $12 = ($11|0)!=(0); + $$ = $12 ? 0 : $10; + HEAP32[$5>>2] = $$; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$5>>2]|0; + dest=$15; src=$16; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 48|0); - $5 = HEAP32[$4>>2]|0; - _sqlite3_free($5); - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 36|0); - $8 = HEAP32[$7>>2]|0; - _sqlite3_free($8); - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$9>>2]|0; - _fts3NodeFree($10); - $11 = HEAP32[$0>>2]|0; - _sqlite3_free($11); - STACKTOP = sp;return; + $17 = HEAP32[$6>>2]|0; + _sqlite3_mutex_leave($17); + $18 = HEAP32[$5>>2]|0; + $19 = ($18|0)==(0|0); + $20 = $19&1; + HEAP32[$4>>2] = $20; + $21 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($21|0); } -function _sqlite3Fts3SegReaderFinish($pCsr) { - $pCsr = $pCsr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; +function _parseYyyyMmDd($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pCsr; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = ($11|0)==(45); + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 1|0); + HEAP32[$3>>2] = $14; + HEAP32[$8>>2] = 1; + } else { + HEAP32[$8>>2] = 0; + } + $15 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $5; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $6; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $7; + $16 = (_getDigits($15,23257,$vararg_buffer)|0); + $17 = ($16|0)!=(3); + if ($17) { + HEAP32[$2>>2] = 1; + $65 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($65|0); } - HEAP32[$i>>2] = 0; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 10|0); + HEAP32[$3>>2] = $19; while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<($6|0); - if (!($7)) { + $20 = HEAP32[$3>>2]|0; + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = (20063 + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 & 1; + $27 = ($26|0)!=(0); + if ($27) { + $66 = 1; + } else { + $28 = HEAP32[$3>>2]|0; + $29 = HEAP8[$28>>0]|0; + $30 = $29&255; + $31 = (84)==($30|0); + $66 = $31; + } + $32 = HEAP32[$3>>2]|0; + if (!($66)) { break; } - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($8<<2)|0); - $12 = HEAP32[$11>>2]|0; - _sqlite3Fts3SegReaderFree($12); - $13 = HEAP32[$i>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[$i>>2] = $14; + $33 = ((($32)) + 1|0); + HEAP32[$3>>2] = $33; } - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$15>>2]|0; - _sqlite3_free($16); - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - _sqlite3_free($19); - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 4|0); - HEAP32[$21>>2] = 0; - $22 = HEAP32[$0>>2]|0; - HEAP32[$22>>2] = 0; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 16|0); - HEAP32[$24>>2] = 0; - STACKTOP = sp;return; + $34 = HEAP32[$4>>2]|0; + $35 = (_parseHhMmSs($32,$34)|0); + $36 = ($35|0)==(0); + do { + if (!($36)) { + $37 = HEAP32[$3>>2]|0; + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = ($39|0)==(0); + if ($40) { + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 41|0); + HEAP8[$42>>0] = 0; + break; + } + HEAP32[$2>>2] = 1; + $65 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($65|0); + } + } while(0); + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 42|0); + HEAP8[$44>>0] = 0; + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 40|0); + HEAP8[$46>>0] = 1; + $47 = HEAP32[$8>>2]|0; + $48 = ($47|0)!=(0); + $49 = HEAP32[$5>>2]|0; + $50 = (0 - ($49))|0; + $51 = $48 ? $50 : $49; + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 8|0); + HEAP32[$53>>2] = $51; + $54 = HEAP32[$6>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 12|0); + HEAP32[$56>>2] = $54; + $57 = HEAP32[$7>>2]|0; + $58 = HEAP32[$4>>2]|0; + $59 = ((($58)) + 16|0); + HEAP32[$59>>2] = $57; + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 43|0); + $62 = HEAP8[$61>>0]|0; + $63 = ($62<<24>>24)!=(0); + if ($63) { + $64 = HEAP32[$4>>2]|0; + _computeJD($64); + } + HEAP32[$2>>2] = 0; + $65 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($65|0); } -function _sqlite3Fts3SegReaderFree($pReader) { - $pReader = $pReader|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3StmtCurrentTime($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pReader; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - $21 = HEAP32[$0>>2]|0; - _sqlite3_free($21); - STACKTOP = sp;return; - } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 56|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 64|0); - $9 = HEAP32[$8>>2]|0; - _sqlite3_free($9); + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 56|0); + HEAP32[$3>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = ($11|0)==(0); + $16 = ($14|0)==(0); + $17 = $15 & $16; + if ($17) { + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 32|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$3>>2]|0; + $24 = (_sqlite3OsCurrentTimeInt64($22,$23)|0); + HEAP32[$2>>2] = $24; + $25 = HEAP32[$2>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$3>>2]|0; + $28 = $27; + $29 = $28; + HEAP32[$29>>2] = 0; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = 0; + } } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 5|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(0); - if (!($14)) { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 40|0); - $17 = HEAP32[$16>>2]|0; - _sqlite3_free($17); + $32 = HEAP32[$3>>2]|0; + $33 = $32; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + tempRet0 = ($38); + STACKTOP = sp;return ($35|0); +} +function _sqlite3OsCurrentTimeInt64($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>=(2); + if ($8) { + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 72|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 72|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = (FUNCTION_TABLE_iii[$15 & 255]($16,$17)|0); + HEAP32[$4>>2] = $18; + $33 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($33|0); + } } - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 52|0); - $20 = HEAP32[$19>>2]|0; - (_sqlite3_blob_close($20)|0); - $21 = HEAP32[$0>>2]|0; - _sqlite3_free($21); - STACKTOP = sp;return; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 64|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = (FUNCTION_TABLE_iii[$21 & 255]($22,$5)|0); + HEAP32[$4>>2] = $23; + $24 = +HEAPF64[$5>>3]; + $25 = $24 * 8.64E+7; + $26 = (~~$25)>>>0; + $27 = +Math_abs($25) >= 1.0 ? $25 > 0.0 ? (~~+Math_min(+Math_floor($25 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($25 - +(~~$25 >>> 0)) / 4294967296.0) >>> 0 : 0; + $28 = HEAP32[$3>>2]|0; + $29 = $28; + $30 = $29; + HEAP32[$30>>2] = $26; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($33|0); } -function _fts3NodeFree($pTree) { - $pTree = $pTree|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pRight = 0, label = 0, sp = 0; +function _renameTableFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $p = sp + 4|0; - $pRight = sp; - HEAP32[$0>>2] = $pTree; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp; + $3 = sp + 60|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3_value_text($15)|0); + HEAP32[$6>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_text($19)|0); + HEAP32[$7>>2] = $20; + $21 = HEAP32[$6>>2]|0; + HEAP32[$10>>2] = $21; + HEAP32[$11>>2] = 0; + $22 = HEAP32[$3>>2]|0; + $23 = (_sqlite3_context_db_handle($22)|0); + HEAP32[$13>>2] = $23; + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { STACKTOP = sp;return; } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$p>>2] = $5; - $6 = HEAP32[$p>>2]|0; - $7 = HEAP32[$6>>2]|0; - _fts3NodeFree($7); while(1) { - $8 = HEAP32[$p>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { + $26 = HEAP32[$10>>2]|0; + $27 = HEAP8[$26>>0]|0; + $28 = ($27<<24>>24)!=(0); + if (!($28)) { + label = 7; break; } - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$pRight>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 36|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 40|0); - $18 = ($15|0)!=($17|0); - if ($18) { - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 36|0); - $21 = HEAP32[$20>>2]|0; - _sqlite3_free($21); + $29 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $29; + $30 = HEAP32[$11>>2]|0; + $31 = ((($9)) + 4|0); + HEAP32[$31>>2] = $30; + while(1) { + $32 = HEAP32[$11>>2]|0; + $33 = HEAP32[$10>>2]|0; + $34 = (($33) + ($32)|0); + HEAP32[$10>>2] = $34; + $35 = HEAP32[$10>>2]|0; + $36 = (_sqlite3GetToken($35,$8)|0); + HEAP32[$11>>2] = $36; + $37 = HEAP32[$8>>2]|0; + $38 = ($37|0)==(162); + if (!($38)) { + break; + } } - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 28|0); - $24 = HEAP32[$23>>2]|0; - _sqlite3_free($24); - $25 = HEAP32[$p>>2]|0; - _sqlite3_free($25); - $26 = HEAP32[$pRight>>2]|0; - HEAP32[$p>>2] = $26; + $39 = HEAP32[$8>>2]|0; + $40 = ($39|0)!=(22); + $41 = HEAP32[$8>>2]|0; + $42 = ($41|0)!=(125); + $43 = $40 ? $42 : 0; + if (!($43)) { + break; + } + } + if ((label|0) == 7) { + STACKTOP = sp;return; } + $44 = HEAP32[$13>>2]|0; + $45 = HEAP32[$9>>2]|0; + $46 = HEAP32[$6>>2]|0; + $47 = $45; + $48 = $46; + $49 = (($47) - ($48))|0; + $50 = HEAP32[$6>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$9>>2]|0; + $53 = ((($9)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + ($54)|0); + HEAP32[$vararg_buffer>>2] = $49; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $50; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $51; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $55; + $56 = (_sqlite3MPrintf($44,24716,$vararg_buffer)|0); + HEAP32[$12>>2] = $56; + $57 = HEAP32[$3>>2]|0; + $58 = HEAP32[$12>>2]|0; + _sqlite3_result_text($57,$58,-1,191); STACKTOP = sp;return; } -function _fts3ReadEndBlockField($pStmt,$iCol,$piEndBlock,$pnByte) { - $pStmt = $pStmt|0; - $iCol = $iCol|0; - $piEndBlock = $piEndBlock|0; - $pnByte = $pnByte|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $i = 0, $iMul = 0, $iVal = 0, $zText = 0, label = 0, sp = 0; +function _renameTriggerFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $vararg_buffer = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $zText = sp + 16|0; - $i = sp + 12|0; - $iMul = sp + 8|0; - $iVal = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $iCol; - HEAP32[$2>>2] = $piEndBlock; - HEAP32[$3>>2] = $pnByte; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3_column_text($4,$5)|0); - HEAP32[$zText>>2] = $6; - $7 = HEAP32[$zText>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { + STACKTOP = STACKTOP + 80|0; + $vararg_buffer = sp; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 40|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_text($16)|0); + HEAP32[$6>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3_value_text($20)|0); + HEAP32[$7>>2] = $21; + HEAP32[$10>>2] = 3; + $22 = HEAP32[$6>>2]|0; + HEAP32[$11>>2] = $22; + HEAP32[$12>>2] = 0; + $23 = HEAP32[$3>>2]|0; + $24 = (_sqlite3_context_db_handle($23)|0); + HEAP32[$14>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = ($25|0)!=(0|0); + if (!($26)) { STACKTOP = sp;return; } - HEAP32[$iMul>>2] = 1; - $9 = $iVal; - $10 = $9; - HEAP32[$10>>2] = 0; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = 0; - HEAP32[$i>>2] = 0; while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$zText>>2]|0; - $15 = (($14) + ($13)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = ($17|0)>=(48); - if ($18) { - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$zText>>2]|0; - $21 = (($20) + ($19)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = ($23|0)<=(57); - $120 = $24; - } else { - $120 = 0; - } - $25 = $iVal; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - if (!($120)) { + $27 = HEAP32[$11>>2]|0; + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)!=(0); + if (!($29)) { + label = 8; break; } - $31 = (___muldi3(($27|0),($30|0),10,0)|0); - $32 = tempRet0; - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$zText>>2]|0; - $35 = (($34) + ($33)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = (($37) - 48)|0; - $39 = ($38|0)<(0); - $40 = $39 << 31 >> 31; - $41 = (_i64Add(($31|0),($32|0),($38|0),($40|0))|0); - $42 = tempRet0; - $43 = $iVal; - $44 = $43; - HEAP32[$44>>2] = $41; - $45 = (($43) + 4)|0; - $46 = $45; - HEAP32[$46>>2] = $42; - $47 = HEAP32[$i>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[$i>>2] = $48; - } - $49 = HEAP32[$2>>2]|0; - $50 = $49; - $51 = $50; - HEAP32[$51>>2] = $27; - $52 = (($50) + 4)|0; - $53 = $52; - HEAP32[$53>>2] = $30; - while(1) { - $54 = HEAP32[$i>>2]|0; - $55 = HEAP32[$zText>>2]|0; - $56 = (($55) + ($54)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = ($58|0)==(32); - if (!($59)) { - break; + $30 = HEAP32[$11>>2]|0; + HEAP32[$9>>2] = $30; + $31 = HEAP32[$12>>2]|0; + $32 = ((($9)) + 4|0); + HEAP32[$32>>2] = $31; + while(1) { + $33 = HEAP32[$12>>2]|0; + $34 = HEAP32[$11>>2]|0; + $35 = (($34) + ($33)|0); + HEAP32[$11>>2] = $35; + $36 = HEAP32[$11>>2]|0; + $37 = (_sqlite3GetToken($36,$8)|0); + HEAP32[$12>>2] = $37; + $38 = HEAP32[$8>>2]|0; + $39 = ($38|0)==(162); + if (!($39)) { + break; + } } - $60 = HEAP32[$i>>2]|0; - $61 = (($60) + 1)|0; - HEAP32[$i>>2] = $61; - } - $62 = $iVal; - $63 = $62; - HEAP32[$63>>2] = 0; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = 0; - $66 = HEAP32[$i>>2]|0; - $67 = HEAP32[$zText>>2]|0; - $68 = (($67) + ($66)|0); - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - $71 = ($70|0)==(45); - if ($71) { - $72 = HEAP32[$i>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$i>>2] = $73; - HEAP32[$iMul>>2] = -1; - } - while(1) { - $74 = HEAP32[$i>>2]|0; - $75 = HEAP32[$zText>>2]|0; - $76 = (($75) + ($74)|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = ($78|0)>=(48); - if ($79) { - $80 = HEAP32[$i>>2]|0; - $81 = HEAP32[$zText>>2]|0; - $82 = (($81) + ($80)|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = ($84|0)<=(57); - $121 = $85; - } else { - $121 = 0; + $40 = HEAP32[$10>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$10>>2] = $41; + $42 = HEAP32[$8>>2]|0; + $43 = ($42|0)==(122); + $44 = HEAP32[$8>>2]|0; + $45 = ($44|0)==(107); + $or$cond = $43 | $45; + $$ = $or$cond ? 0 : $41; + HEAP32[$10>>2] = $$; + $46 = HEAP32[$10>>2]|0; + $47 = ($46|0)!=(2); + if ($47) { + continue; } - $86 = $iVal; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = (($86) + 4)|0; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - if (!($121)) { + $48 = HEAP32[$8>>2]|0; + $49 = ($48|0)!=(137); + $50 = HEAP32[$8>>2]|0; + $51 = ($50|0)!=(74); + $or$cond3 = $49 & $51; + $52 = HEAP32[$8>>2]|0; + $53 = ($52|0)!=(5); + $or$cond6 = $or$cond3 & $53; + if (!($or$cond6)) { break; } - $92 = (___muldi3(($88|0),($91|0),10,0)|0); - $93 = tempRet0; - $94 = HEAP32[$i>>2]|0; - $95 = HEAP32[$zText>>2]|0; - $96 = (($95) + ($94)|0); - $97 = HEAP8[$96>>0]|0; - $98 = $97&255; - $99 = (($98) - 48)|0; - $100 = ($99|0)<(0); - $101 = $100 << 31 >> 31; - $102 = (_i64Add(($92|0),($93|0),($99|0),($101|0))|0); - $103 = tempRet0; - $104 = $iVal; - $105 = $104; - HEAP32[$105>>2] = $102; - $106 = (($104) + 4)|0; - $107 = $106; - HEAP32[$107>>2] = $103; - $108 = HEAP32[$i>>2]|0; - $109 = (($108) + 1)|0; - HEAP32[$i>>2] = $109; } - $110 = HEAP32[$iMul>>2]|0; - $111 = ($110|0)<(0); - $112 = $111 << 31 >> 31; - $113 = (___muldi3(($88|0),($91|0),($110|0),($112|0))|0); - $114 = tempRet0; - $115 = HEAP32[$3>>2]|0; - $116 = $115; - $117 = $116; - HEAP32[$117>>2] = $113; - $118 = (($116) + 4)|0; - $119 = $118; - HEAP32[$119>>2] = $114; + if ((label|0) == 8) { + STACKTOP = sp;return; + } + $54 = HEAP32[$14>>2]|0; + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$6>>2]|0; + $57 = $55; + $58 = $56; + $59 = (($57) - ($58))|0; + $60 = HEAP32[$6>>2]|0; + $61 = HEAP32[$7>>2]|0; + $62 = HEAP32[$9>>2]|0; + $63 = ((($9)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + ($64)|0); + HEAP32[$vararg_buffer>>2] = $59; + $vararg_ptr7 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $60; + $vararg_ptr8 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $61; + $vararg_ptr9 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $65; + $66 = (_sqlite3MPrintf($54,24716,$vararg_buffer)|0); + HEAP32[$13>>2] = $66; + $67 = HEAP32[$3>>2]|0; + $68 = HEAP32[$13>>2]|0; + _sqlite3_result_text($67,$68,-1,191); STACKTOP = sp;return; } -function _fts3WriteSegment($p,$0,$1,$z,$n) { - $p = $p|0; +function _renameParentFunc($0,$1,$2) { $0 = $0|0; $1 = $1|0; - $z = $z|0; - $n = $n|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pStmt = 0, $rc = 0, label = 0, sp = 0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $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, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer5 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 24|0; - $3 = sp; - $4 = sp + 20|0; - $5 = sp + 16|0; - $pStmt = sp + 12|0; - $rc = sp + 8|0; - HEAP32[$2>>2] = $p; - $6 = $3; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$4>>2] = $z; - HEAP32[$5>>2] = $n; - $10 = HEAP32[$2>>2]|0; - $11 = (_fts3SqlStmt($10,9,$pStmt,0)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)==(0); - if (!($13)) { - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); - } - $14 = HEAP32[$pStmt>>2]|0; - $15 = $3; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer = sp; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = sp + 64|0; + $7 = sp + 60|0; + $8 = sp + 56|0; + $9 = sp + 52|0; + $10 = sp + 48|0; + $11 = sp + 44|0; + $12 = sp + 40|0; + $13 = sp + 36|0; + $14 = sp + 32|0; + $15 = sp + 28|0; + $16 = sp + 24|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $17 = HEAP32[$3>>2]|0; + $18 = (_sqlite3_context_db_handle($17)|0); + HEAP32[$6>>2] = $18; + HEAP32[$7>>2] = 0; + $19 = HEAP32[$5>>2]|0; $20 = HEAP32[$19>>2]|0; - (_sqlite3_bind_int64($14,1,$17,$20)|0); - $21 = HEAP32[$pStmt>>2]|0; - $22 = HEAP32[$4>>2]|0; - $23 = HEAP32[$5>>2]|0; - (_sqlite3_bind_blob($21,2,$22,$23,0)|0); - $24 = HEAP32[$pStmt>>2]|0; - (_sqlite3_step($24)|0); - $25 = HEAP32[$pStmt>>2]|0; - $26 = (_sqlite3_reset($25)|0); - HEAP32[$rc>>2] = $26; - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); + $21 = (_sqlite3_value_text($20)|0); + HEAP32[$9>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_sqlite3_value_text($24)|0); + HEAP32[$10>>2] = $25; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3_value_text($28)|0); + HEAP32[$11>>2] = $29; + $30 = HEAP32[$9>>2]|0; + $31 = ($30|0)==(0|0); + $32 = HEAP32[$10>>2]|0; + $33 = ($32|0)==(0|0); + $or$cond = $31 | $33; + if ($or$cond) { + STACKTOP = sp;return; + } + $34 = HEAP32[$9>>2]|0; + HEAP32[$12>>2] = $34; + while(1) { + $35 = HEAP32[$12>>2]|0; + $36 = HEAP8[$35>>0]|0; + $37 = ($36<<24>>24)!=(0); + if (!($37)) { + break; + } + $38 = HEAP32[$12>>2]|0; + $39 = (_sqlite3GetToken($38,$14)|0); + HEAP32[$13>>2] = $39; + $40 = HEAP32[$14>>2]|0; + $41 = ($40|0)==(105); + if ($41) { + while(1) { + $42 = HEAP32[$13>>2]|0; + $43 = HEAP32[$12>>2]|0; + $44 = (($43) + ($42)|0); + HEAP32[$12>>2] = $44; + $45 = HEAP32[$12>>2]|0; + $46 = (_sqlite3GetToken($45,$14)|0); + HEAP32[$13>>2] = $46; + $47 = HEAP32[$14>>2]|0; + $48 = ($47|0)==(162); + if (!($48)) { + break; + } + } + $49 = HEAP32[$14>>2]|0; + $50 = ($49|0)==(163); + if ($50) { + break; + } + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$12>>2]|0; + $53 = HEAP32[$13>>2]|0; + $54 = ($53|0)<(0); + $55 = $54 << 31 >> 31; + $56 = (_sqlite3DbStrNDup($51,$52,$53,$55)|0); + HEAP32[$15>>2] = $56; + $57 = HEAP32[$15>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + break; + } + $59 = HEAP32[$15>>2]|0; + _sqlite3Dequote($59); + $60 = HEAP32[$10>>2]|0; + $61 = HEAP32[$15>>2]|0; + $62 = (_sqlite3StrICmp($60,$61)|0); + $63 = (0)==($62|0); + if ($63) { + $64 = HEAP32[$6>>2]|0; + $65 = HEAP32[$7>>2]|0; + $66 = ($65|0)!=(0|0); + $67 = HEAP32[$7>>2]|0; + $68 = $66 ? $67 : 55752; + $69 = HEAP32[$12>>2]|0; + $70 = HEAP32[$9>>2]|0; + $71 = $69; + $72 = $70; + $73 = (($71) - ($72))|0; + $74 = HEAP32[$9>>2]|0; + $75 = HEAP32[$11>>2]|0; + HEAP32[$vararg_buffer>>2] = $68; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $73; + $vararg_ptr3 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr3>>2] = $74; + $vararg_ptr4 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr4>>2] = $75; + $76 = (_sqlite3MPrintf($64,23392,$vararg_buffer)|0); + HEAP32[$16>>2] = $76; + $77 = HEAP32[$6>>2]|0; + $78 = HEAP32[$7>>2]|0; + _sqlite3DbFree($77,$78); + $79 = HEAP32[$16>>2]|0; + HEAP32[$7>>2] = $79; + $80 = HEAP32[$12>>2]|0; + $81 = HEAP32[$13>>2]|0; + $82 = (($80) + ($81)|0); + HEAP32[$9>>2] = $82; + } + $83 = HEAP32[$6>>2]|0; + $84 = HEAP32[$15>>2]|0; + _sqlite3DbFree($83,$84); + } + $85 = HEAP32[$12>>2]|0; + $86 = HEAP32[$13>>2]|0; + $87 = (($85) + ($86)|0); + HEAP32[$12>>2] = $87; + } + $88 = HEAP32[$6>>2]|0; + $89 = HEAP32[$7>>2]|0; + $90 = ($89|0)!=(0|0); + $91 = HEAP32[$7>>2]|0; + $92 = $90 ? $91 : 55752; + $93 = HEAP32[$9>>2]|0; + HEAP32[$vararg_buffer5>>2] = $92; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $93; + $94 = (_sqlite3MPrintf($88,23403,$vararg_buffer5)|0); + HEAP32[$8>>2] = $94; + $95 = HEAP32[$3>>2]|0; + $96 = HEAP32[$8>>2]|0; + _sqlite3_result_text($95,$96,-1,191); + $97 = HEAP32[$6>>2]|0; + $98 = HEAP32[$7>>2]|0; + _sqlite3DbFree($97,$98); + STACKTOP = sp;return; } -function _fts3NodeWrite($p,$pTree,$iHeight,$0,$1,$2,$3,$piLast,$paRoot,$pnRoot) { - $p = $p|0; - $pTree = $pTree|0; - $iHeight = $iHeight|0; +function _sqlite3GetToken($0,$1) { $0 = $0|0; $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $piLast = $piLast|0; - $paRoot = $paRoot|0; - $pnRoot = $pnRoot|0; var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $18 = 0, $19 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $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, $iNextFree = 0, $iNextLeaf = 0, $nStart = 0, $nStart1 = 0, $nWrite = 0, $pIter = 0, $rc = 0, label = 0, sp = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $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; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; + var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = sp + 64|0; - $7 = sp + 24|0; - $8 = sp + 16|0; - $9 = sp + 60|0; - $10 = sp + 56|0; - $11 = sp + 52|0; - $rc = sp + 48|0; - $nStart = sp + 44|0; - $pIter = sp + 40|0; - $iNextFree = sp + 8|0; - $iNextLeaf = sp; - $nStart1 = sp + 36|0; - $nWrite = sp + 32|0; - HEAP32[$4>>2] = $p; - HEAP32[$5>>2] = $pTree; - HEAP32[$6>>2] = $iHeight; - $12 = $7; - $13 = $12; - HEAP32[$13>>2] = $0; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = $1; - $16 = $8; - $17 = $16; - HEAP32[$17>>2] = $2; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $3; - HEAP32[$9>>2] = $piLast; - HEAP32[$10>>2] = $paRoot; - HEAP32[$11>>2] = $pnRoot; - HEAP32[$rc>>2] = 0; - $20 = HEAP32[$5>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0|0); - if (!($22)) { - $23 = HEAP32[$5>>2]|0; - $24 = HEAP32[$6>>2]|0; - $25 = $7; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (_fts3TreeFinishNode($23,$24,$27,$30)|0); - HEAP32[$nStart>>2] = $31; - $32 = $8; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (_i64Subtract(($34|0),($37|0),1,0)|0); - $39 = tempRet0; - $40 = HEAP32[$9>>2]|0; - $41 = $40; - $42 = $41; - HEAP32[$42>>2] = $38; - $43 = (($41) + 4)|0; - $44 = $43; - HEAP32[$44>>2] = $39; - $45 = HEAP32[$5>>2]|0; - $46 = ((($45)) + 32|0); - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$nStart>>2]|0; - $49 = (($47) - ($48))|0; - $50 = HEAP32[$11>>2]|0; - HEAP32[$50>>2] = $49; - $51 = HEAP32[$nStart>>2]|0; - $52 = HEAP32[$5>>2]|0; - $53 = ((($52)) + 36|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($51)|0); - $56 = HEAP32[$10>>2]|0; - HEAP32[$56>>2] = $55; - $169 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($169|0); - } - $57 = $8; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = $iNextFree; - $64 = $63; - HEAP32[$64>>2] = $59; - $65 = (($63) + 4)|0; - $66 = $65; - HEAP32[$66>>2] = $62; - $67 = $7; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = $iNextLeaf; - $74 = $73; - HEAP32[$74>>2] = $69; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = $72; - $77 = HEAP32[$5>>2]|0; - $78 = ((($77)) + 8|0); - $79 = HEAP32[$78>>2]|0; - HEAP32[$pIter>>2] = $79; - while(1) { - $80 = HEAP32[$pIter>>2]|0; - $81 = ($80|0)!=(0|0); - $82 = HEAP32[$rc>>2]|0; - $83 = ($82|0)==(0); - $84 = $81 ? $83 : 0; - if (!($84)) { + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = (23408 + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + L1: do { + switch ($14|0) { + case 7: { + HEAP32[$5>>2] = 1; + while(1) { + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = (($15) + ($16)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = (20063 + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = $22 & 1; + $24 = ($23|0)!=(0); + if (!($24)) { + break; + } + $25 = HEAP32[$5>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$5>>2] = $26; + } + $27 = HEAP32[$4>>2]|0; + HEAP32[$27>>2] = 162; + $28 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $28; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); break; } - $85 = HEAP32[$pIter>>2]|0; - $86 = HEAP32[$6>>2]|0; - $87 = $iNextLeaf; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $93 = (_fts3TreeFinishNode($85,$86,$89,$92)|0); - HEAP32[$nStart1>>2] = $93; - $94 = HEAP32[$pIter>>2]|0; - $95 = ((($94)) + 32|0); - $96 = HEAP32[$95>>2]|0; - $97 = HEAP32[$nStart1>>2]|0; - $98 = (($96) - ($97))|0; - HEAP32[$nWrite>>2] = $98; - $99 = HEAP32[$4>>2]|0; - $100 = $iNextFree; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = HEAP32[$nStart1>>2]|0; - $107 = HEAP32[$pIter>>2]|0; - $108 = ((($107)) + 36|0); - $109 = HEAP32[$108>>2]|0; - $110 = (($109) + ($106)|0); - $111 = HEAP32[$nWrite>>2]|0; - $112 = (_fts3WriteSegment($99,$102,$105,$110,$111)|0); - HEAP32[$rc>>2] = $112; - $113 = $iNextFree; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = (($113) + 4)|0; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (_i64Add(($115|0),($118|0),1,0)|0); - $120 = tempRet0; - $121 = $iNextFree; - $122 = $121; - HEAP32[$122>>2] = $119; - $123 = (($121) + 4)|0; - $124 = $123; - HEAP32[$124>>2] = $120; - $125 = HEAP32[$pIter>>2]|0; - $126 = ((($125)) + 12|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($127) + 1)|0; - $129 = ($128|0)<(0); - $130 = $129 << 31 >> 31; - $131 = $iNextLeaf; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = (_i64Add(($133|0),($136|0),($128|0),($130|0))|0); - $138 = tempRet0; - $139 = $iNextLeaf; - $140 = $139; - HEAP32[$140>>2] = $137; - $141 = (($139) + 4)|0; - $142 = $141; - HEAP32[$142>>2] = $138; - $143 = HEAP32[$pIter>>2]|0; - $144 = ((($143)) + 4|0); - $145 = HEAP32[$144>>2]|0; - HEAP32[$pIter>>2] = $145; - } - $146 = HEAP32[$rc>>2]|0; - $147 = ($146|0)==(0); - if (!($147)) { - $169 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($169|0); - } - $148 = HEAP32[$4>>2]|0; - $149 = HEAP32[$5>>2]|0; - $150 = HEAP32[$149>>2]|0; - $151 = HEAP32[$6>>2]|0; - $152 = (($151) + 1)|0; - $153 = $8; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = (($153) + 4)|0; - $157 = $156; - $158 = HEAP32[$157>>2]|0; - $159 = $iNextFree; - $160 = $159; - $161 = HEAP32[$160>>2]|0; - $162 = (($159) + 4)|0; - $163 = $162; - $164 = HEAP32[$163>>2]|0; - $165 = HEAP32[$9>>2]|0; - $166 = HEAP32[$10>>2]|0; - $167 = HEAP32[$11>>2]|0; - $168 = (_fts3NodeWrite($148,$150,$152,$155,$158,$161,$164,$165,$166,$167)|0); - HEAP32[$rc>>2] = $168; - $169 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($169|0); -} -function _fts3WriteSegdir($p,$0,$1,$iIdx,$2,$3,$4,$5,$6,$7,$8,$9,$zRoot,$nRoot) { - $p = $p|0; - $0 = $0|0; - $1 = $1|0; - $iIdx = $iIdx|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - $8 = $8|0; - $9 = $9|0; - $zRoot = $zRoot|0; - $nRoot = $nRoot|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $12 = 0, $13 = 0; - var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $pStmt = 0, $rc = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $zEnd = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer = sp + 40|0; - $10 = sp + 84|0; - $11 = sp + 80|0; - $12 = sp + 32|0; - $13 = sp + 76|0; - $14 = sp + 24|0; - $15 = sp + 16|0; - $16 = sp + 8|0; - $17 = sp; - $18 = sp + 72|0; - $19 = sp + 68|0; - $pStmt = sp + 64|0; - $rc = sp + 60|0; - $zEnd = sp + 56|0; - HEAP32[$11>>2] = $p; - $20 = $12; - $21 = $20; - HEAP32[$21>>2] = $0; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $1; - HEAP32[$13>>2] = $iIdx; - $24 = $14; - $25 = $24; - HEAP32[$25>>2] = $2; - $26 = (($24) + 4)|0; - $27 = $26; - HEAP32[$27>>2] = $3; - $28 = $15; - $29 = $28; - HEAP32[$29>>2] = $4; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = $5; - $32 = $16; - $33 = $32; - HEAP32[$33>>2] = $6; - $34 = (($32) + 4)|0; - $35 = $34; - HEAP32[$35>>2] = $7; - $36 = $17; - $37 = $36; - HEAP32[$37>>2] = $8; - $38 = (($36) + 4)|0; - $39 = $38; - HEAP32[$39>>2] = $9; - HEAP32[$18>>2] = $zRoot; - HEAP32[$19>>2] = $nRoot; - $40 = HEAP32[$11>>2]|0; - $41 = (_fts3SqlStmt($40,11,$pStmt,0)|0); - HEAP32[$rc>>2] = $41; - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - $44 = HEAP32[$pStmt>>2]|0; - $45 = $12; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - (_sqlite3_bind_int64($44,1,$47,$50)|0); - $51 = HEAP32[$pStmt>>2]|0; - $52 = HEAP32[$13>>2]|0; - (_sqlite3_bind_int($51,2,$52)|0); - $53 = HEAP32[$pStmt>>2]|0; - $54 = $14; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - (_sqlite3_bind_int64($53,3,$56,$59)|0); - $60 = HEAP32[$pStmt>>2]|0; - $61 = $15; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - (_sqlite3_bind_int64($60,4,$63,$66)|0); - $67 = $17; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = ($69|0)==(0); - $74 = ($72|0)==(0); - $75 = $73 & $74; - do { - if ($75) { - $76 = HEAP32[$pStmt>>2]|0; - $77 = $16; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (($77) + 4)|0; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - (_sqlite3_bind_int64($76,5,$79,$82)|0); + case 11: { + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32|0)==(45); + if (!($33)) { + $47 = HEAP32[$4>>2]|0; + HEAP32[$47>>2] = 48; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + HEAP32[$5>>2] = 2; + while(1) { + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = (($34) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + HEAP32[$6>>2] = $38; + $39 = ($38|0)!=(0); + $40 = HEAP32[$6>>2]|0; + $41 = ($40|0)!=(10); + $42 = $39 ? $41 : 0; + if (!($42)) { + break; + } + $43 = HEAP32[$5>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$5>>2] = $44; + } + $45 = HEAP32[$4>>2]|0; + HEAP32[$45>>2] = 162; + $46 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $46; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 17: { + $48 = HEAP32[$4>>2]|0; + HEAP32[$48>>2] = 22; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 18: { + $49 = HEAP32[$4>>2]|0; + HEAP32[$49>>2] = 23; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 19: { + $50 = HEAP32[$4>>2]|0; + HEAP32[$50>>2] = 1; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 20: { + $51 = HEAP32[$4>>2]|0; + HEAP32[$51>>2] = 47; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 21: { + $52 = HEAP32[$4>>2]|0; + HEAP32[$52>>2] = 49; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 16: { + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = ($56|0)!=(42); + if (!($57)) { + $58 = HEAP32[$3>>2]|0; + $59 = ((($58)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = ($61|0)==(0); + if (!($62)) { + HEAP32[$5>>2] = 3; + $64 = HEAP32[$3>>2]|0; + $65 = ((($64)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + HEAP32[$6>>2] = $67; + while(1) { + $68 = HEAP32[$6>>2]|0; + $69 = ($68|0)!=(42); + if (!($69)) { + $70 = HEAP32[$3>>2]|0; + $71 = HEAP32[$5>>2]|0; + $72 = (($70) + ($71)|0); + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = ($74|0)!=(47); + if (!($75)) { + break; + } + } + $76 = HEAP32[$3>>2]|0; + $77 = HEAP32[$5>>2]|0; + $78 = (($76) + ($77)|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + HEAP32[$6>>2] = $80; + $81 = ($80|0)!=(0); + if (!($81)) { + break; + } + $82 = HEAP32[$5>>2]|0; + $83 = (($82) + 1)|0; + HEAP32[$5>>2] = $83; + } + $84 = HEAP32[$6>>2]|0; + $85 = ($84|0)!=(0); + if ($85) { + $86 = HEAP32[$5>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$5>>2] = $87; + } + $88 = HEAP32[$4>>2]|0; + HEAP32[$88>>2] = 162; + $89 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $89; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + } + $63 = HEAP32[$4>>2]|0; + HEAP32[$63>>2] = 50; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 22: { + $90 = HEAP32[$4>>2]|0; + HEAP32[$90>>2] = 51; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 14: { + $91 = HEAP32[$4>>2]|0; + HEAP32[$91>>2] = 37; + $92 = HEAP32[$3>>2]|0; + $93 = ((($92)) + 1|0); + $94 = HEAP8[$93>>0]|0; + $95 = $94&255; + $96 = ($95|0)==(61); + $97 = $96&1; + $98 = (1 + ($97))|0; + HEAP32[$2>>2] = $98; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 12: { + $99 = HEAP32[$3>>2]|0; + $100 = ((($99)) + 1|0); + $101 = HEAP8[$100>>0]|0; + $102 = $101&255; + HEAP32[$6>>2] = $102; + $103 = ($102|0)==(61); + if ($103) { + $104 = HEAP32[$4>>2]|0; + HEAP32[$104>>2] = 39; + HEAP32[$2>>2] = 2; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + $105 = HEAP32[$6>>2]|0; + $106 = ($105|0)==(62); + if ($106) { + $107 = HEAP32[$4>>2]|0; + HEAP32[$107>>2] = 36; + HEAP32[$2>>2] = 2; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + $108 = HEAP32[$6>>2]|0; + $109 = ($108|0)==(60); + $110 = HEAP32[$4>>2]|0; + if ($109) { + HEAP32[$110>>2] = 45; + HEAP32[$2>>2] = 2; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); } else { - $83 = $16; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = (($83) + 4)|0; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = $17; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = $vararg_buffer; - $96 = $95; - HEAP32[$96>>2] = $85; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $88; - $vararg_ptr1 = ((($vararg_buffer)) + 8|0); - $99 = $vararg_ptr1; - $100 = $99; - HEAP32[$100>>2] = $91; - $101 = (($99) + 4)|0; - $102 = $101; - HEAP32[$102>>2] = $94; - $103 = (_sqlite3_mprintf(23153,$vararg_buffer)|0); - HEAP32[$zEnd>>2] = $103; - $104 = HEAP32[$zEnd>>2]|0; - $105 = ($104|0)!=(0|0); - if ($105) { - $106 = HEAP32[$pStmt>>2]|0; - $107 = HEAP32[$zEnd>>2]|0; - (_sqlite3_bind_text($106,5,$107,-1,148)|0); + HEAP32[$110>>2] = 40; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + break; + } + case 13: { + $111 = HEAP32[$3>>2]|0; + $112 = ((($111)) + 1|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + HEAP32[$6>>2] = $114; + $115 = ($114|0)==(61); + if ($115) { + $116 = HEAP32[$4>>2]|0; + HEAP32[$116>>2] = 41; + HEAP32[$2>>2] = 2; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + $117 = HEAP32[$6>>2]|0; + $118 = ($117|0)==(62); + $119 = HEAP32[$4>>2]|0; + if ($118) { + HEAP32[$119>>2] = 46; + HEAP32[$2>>2] = 2; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } else { + HEAP32[$119>>2] = 38; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + break; + } + case 15: { + $120 = HEAP32[$3>>2]|0; + $121 = ((($120)) + 1|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $124 = ($123|0)!=(61); + $125 = HEAP32[$4>>2]|0; + if ($124) { + HEAP32[$125>>2] = 163; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } else { + HEAP32[$125>>2] = 36; + HEAP32[$2>>2] = 2; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + break; + } + case 10: { + $126 = HEAP32[$3>>2]|0; + $127 = ((($126)) + 1|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ($129|0)!=(124); + $131 = HEAP32[$4>>2]|0; + if ($130) { + HEAP32[$131>>2] = 44; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } else { + HEAP32[$131>>2] = 52; + HEAP32[$2>>2] = 2; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + break; + } + case 23: { + $132 = HEAP32[$4>>2]|0; + HEAP32[$132>>2] = 26; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 24: { + $133 = HEAP32[$4>>2]|0; + HEAP32[$133>>2] = 43; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 25: { + $134 = HEAP32[$4>>2]|0; + HEAP32[$134>>2] = 54; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 8: { + $135 = HEAP32[$3>>2]|0; + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + HEAP32[$7>>2] = $137; + HEAP32[$5>>2] = 1; + while(1) { + $138 = HEAP32[$3>>2]|0; + $139 = HEAP32[$5>>2]|0; + $140 = (($138) + ($139)|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + HEAP32[$6>>2] = $142; + $143 = ($142|0)!=(0); + if (!($143)) { break; } - HEAP32[$10>>2] = 7; - $115 = HEAP32[$10>>2]|0; - STACKTOP = sp;return ($115|0); + $144 = HEAP32[$6>>2]|0; + $145 = HEAP32[$7>>2]|0; + $146 = ($144|0)==($145|0); + if ($146) { + $147 = HEAP32[$3>>2]|0; + $148 = HEAP32[$5>>2]|0; + $149 = (($148) + 1)|0; + $150 = (($147) + ($149)|0); + $151 = HEAP8[$150>>0]|0; + $152 = $151&255; + $153 = HEAP32[$7>>2]|0; + $154 = ($152|0)==($153|0); + if (!($154)) { + break; + } + $155 = HEAP32[$5>>2]|0; + $156 = (($155) + 1)|0; + HEAP32[$5>>2] = $156; + } + $157 = HEAP32[$5>>2]|0; + $158 = (($157) + 1)|0; + HEAP32[$5>>2] = $158; + } + $159 = HEAP32[$6>>2]|0; + $160 = ($159|0)==(39); + if ($160) { + $161 = HEAP32[$4>>2]|0; + HEAP32[$161>>2] = 97; + $162 = HEAP32[$5>>2]|0; + $163 = (($162) + 1)|0; + HEAP32[$2>>2] = $163; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + $164 = HEAP32[$6>>2]|0; + $165 = ($164|0)!=(0); + $166 = HEAP32[$4>>2]|0; + if ($165) { + HEAP32[$166>>2] = 55; + $167 = HEAP32[$5>>2]|0; + $168 = (($167) + 1)|0; + HEAP32[$2>>2] = $168; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } else { + HEAP32[$166>>2] = 163; + $169 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $169; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + break; + } + case 26: { + $170 = HEAP32[$3>>2]|0; + $171 = ((($170)) + 1|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = (20063 + ($173)|0); + $175 = HEAP8[$174>>0]|0; + $176 = $175&255; + $177 = $176 & 4; + $178 = ($177|0)!=(0); + if ($178) { + label = 64; + } else { + $179 = HEAP32[$4>>2]|0; + HEAP32[$179>>2] = 122; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + break; + } + case 3: { + label = 64; + break; + } + case 9: { + HEAP32[$5>>2] = 1; + $326 = HEAP32[$3>>2]|0; + $327 = HEAP8[$326>>0]|0; + $328 = $327&255; + HEAP32[$6>>2] = $328; + while(1) { + $329 = HEAP32[$6>>2]|0; + $330 = ($329|0)!=(93); + if (!($330)) { + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = HEAP32[$5>>2]|0; + $333 = (($331) + ($332)|0); + $334 = HEAP8[$333>>0]|0; + $335 = $334&255; + HEAP32[$6>>2] = $335; + $336 = ($335|0)!=(0); + if (!($336)) { + break; + } + $337 = HEAP32[$5>>2]|0; + $338 = (($337) + 1)|0; + HEAP32[$5>>2] = $338; + } + $339 = HEAP32[$6>>2]|0; + $340 = ($339|0)==(93); + $341 = $340 ? 55 : 163; + $342 = HEAP32[$4>>2]|0; + HEAP32[$342>>2] = $341; + $343 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $343; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 6: { + $344 = HEAP32[$4>>2]|0; + HEAP32[$344>>2] = 135; + HEAP32[$5>>2] = 1; + while(1) { + $345 = HEAP32[$3>>2]|0; + $346 = HEAP32[$5>>2]|0; + $347 = (($345) + ($346)|0); + $348 = HEAP8[$347>>0]|0; + $349 = $348&255; + $350 = (20063 + ($349)|0); + $351 = HEAP8[$350>>0]|0; + $352 = $351&255; + $353 = $352 & 4; + $354 = ($353|0)!=(0); + $355 = HEAP32[$5>>2]|0; + if (!($354)) { + break; + } + $356 = (($355) + 1)|0; + HEAP32[$5>>2] = $356; + } + HEAP32[$2>>2] = $355; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 5: case 4: { + HEAP32[$8>>2] = 0; + $357 = HEAP32[$4>>2]|0; + HEAP32[$357>>2] = 135; + HEAP32[$5>>2] = 1; + while(1) { + $358 = HEAP32[$3>>2]|0; + $359 = HEAP32[$5>>2]|0; + $360 = (($358) + ($359)|0); + $361 = HEAP8[$360>>0]|0; + $362 = $361&255; + HEAP32[$6>>2] = $362; + $363 = ($362|0)!=(0); + if (!($363)) { + break; + } + $364 = HEAP32[$6>>2]|0; + $365 = $364&255; + $366 = $365&255; + $367 = (20063 + ($366)|0); + $368 = HEAP8[$367>>0]|0; + $369 = $368&255; + $370 = $369 & 70; + $371 = ($370|0)!=(0); + if ($371) { + $372 = HEAP32[$8>>2]|0; + $373 = (($372) + 1)|0; + HEAP32[$8>>2] = $373; + } else { + $374 = HEAP32[$6>>2]|0; + $375 = ($374|0)==(40); + $376 = HEAP32[$8>>2]|0; + $377 = ($376|0)>(0); + $or$cond = $375 & $377; + if ($or$cond) { + label = 107; + break; + } + $401 = HEAP32[$6>>2]|0; + $402 = ($401|0)==(58); + if (!($402)) { + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = HEAP32[$5>>2]|0; + $405 = (($404) + 1)|0; + $406 = (($403) + ($405)|0); + $407 = HEAP8[$406>>0]|0; + $408 = $407&255; + $409 = ($408|0)==(58); + if (!($409)) { + break; + } + $410 = HEAP32[$5>>2]|0; + $411 = (($410) + 1)|0; + HEAP32[$5>>2] = $411; + } + $412 = HEAP32[$5>>2]|0; + $413 = (($412) + 1)|0; + HEAP32[$5>>2] = $413; + } + do { + if ((label|0) == 107) { + while(1) { + label = 0; + $378 = HEAP32[$5>>2]|0; + $379 = (($378) + 1)|0; + HEAP32[$5>>2] = $379; + $380 = HEAP32[$3>>2]|0; + $381 = HEAP32[$5>>2]|0; + $382 = (($380) + ($381)|0); + $383 = HEAP8[$382>>0]|0; + $384 = $383&255; + HEAP32[$6>>2] = $384; + $385 = ($384|0)!=(0); + if (!($385)) { + break; + } + $386 = HEAP32[$6>>2]|0; + $387 = $386&255; + $388 = $387&255; + $389 = (20063 + ($388)|0); + $390 = HEAP8[$389>>0]|0; + $391 = $390&255; + $392 = $391 & 1; + $393 = ($392|0)==(0); + $394 = HEAP32[$6>>2]|0; + $395 = ($394|0)!=(41); + $or$cond7 = $393 & $395; + if ($or$cond7) { + label = 107; + } else { + break; + } + } + $396 = HEAP32[$6>>2]|0; + $397 = ($396|0)==(41); + if ($397) { + $398 = HEAP32[$5>>2]|0; + $399 = (($398) + 1)|0; + HEAP32[$5>>2] = $399; + break; + } else { + $400 = HEAP32[$4>>2]|0; + HEAP32[$400>>2] = 163; + break; + } + } + } while(0); + $414 = HEAP32[$8>>2]|0; + $415 = ($414|0)==(0); + if ($415) { + $416 = HEAP32[$4>>2]|0; + HEAP32[$416>>2] = 163; + } + $417 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $417; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 1: { + HEAP32[$5>>2] = 1; + while(1) { + $418 = HEAP32[$3>>2]|0; + $419 = HEAP32[$5>>2]|0; + $420 = (($418) + ($419)|0); + $421 = HEAP8[$420>>0]|0; + $422 = $421&255; + $423 = (23408 + ($422)|0); + $424 = HEAP8[$423>>0]|0; + $425 = $424&255; + $426 = ($425|0)<=(1); + if (!($426)) { + break; + } + $427 = HEAP32[$5>>2]|0; + $428 = (($427) + 1)|0; + HEAP32[$5>>2] = $428; + } + $429 = HEAP32[$3>>2]|0; + $430 = HEAP32[$5>>2]|0; + $431 = (($429) + ($430)|0); + $432 = HEAP8[$431>>0]|0; + $433 = $432&255; + $434 = (20063 + ($433)|0); + $435 = HEAP8[$434>>0]|0; + $436 = $435&255; + $437 = $436 & 70; + $438 = ($437|0)!=(0); + if ($438) { + $439 = HEAP32[$5>>2]|0; + $440 = (($439) + 1)|0; + HEAP32[$5>>2] = $440; + break L1; + } + $441 = HEAP32[$4>>2]|0; + HEAP32[$441>>2] = 55; + $442 = HEAP32[$3>>2]|0; + $443 = HEAP32[$5>>2]|0; + $444 = HEAP32[$4>>2]|0; + $445 = (_keywordCode($442,$443,$444)|0); + HEAP32[$2>>2] = $445; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + break; + } + case 0: { + $446 = HEAP32[$3>>2]|0; + $447 = ((($446)) + 1|0); + $448 = HEAP8[$447>>0]|0; + $449 = $448&255; + $450 = ($449|0)==(39); + if ($450) { + $451 = HEAP32[$4>>2]|0; + HEAP32[$451>>2] = 133; + HEAP32[$5>>2] = 2; + while(1) { + $452 = HEAP32[$3>>2]|0; + $453 = HEAP32[$5>>2]|0; + $454 = (($452) + ($453)|0); + $455 = HEAP8[$454>>0]|0; + $456 = $455&255; + $457 = (20063 + ($456)|0); + $458 = HEAP8[$457>>0]|0; + $459 = $458&255; + $460 = $459 & 8; + $461 = ($460|0)!=(0); + if (!($461)) { + break; + } + $462 = HEAP32[$5>>2]|0; + $463 = (($462) + 1)|0; + HEAP32[$5>>2] = $463; + } + $464 = HEAP32[$3>>2]|0; + $465 = HEAP32[$5>>2]|0; + $466 = (($464) + ($465)|0); + $467 = HEAP8[$466>>0]|0; + $468 = $467&255; + $469 = ($468|0)!=(39); + if ($469) { + label = 131; + } else { + $470 = HEAP32[$5>>2]|0; + $471 = (($470|0) % 2)&-1; + $472 = ($471|0)!=(0); + if ($472) { + label = 131; + } + } + L168: do { + if ((label|0) == 131) { + $473 = HEAP32[$4>>2]|0; + HEAP32[$473>>2] = 163; + while(1) { + $474 = HEAP32[$3>>2]|0; + $475 = HEAP32[$5>>2]|0; + $476 = (($474) + ($475)|0); + $477 = HEAP8[$476>>0]|0; + $478 = $477&255; + $479 = ($478|0)!=(0); + if (!($479)) { + break L168; + } + $480 = HEAP32[$3>>2]|0; + $481 = HEAP32[$5>>2]|0; + $482 = (($480) + ($481)|0); + $483 = HEAP8[$482>>0]|0; + $484 = $483&255; + $485 = ($484|0)!=(39); + if (!($485)) { + break L168; + } + $486 = HEAP32[$5>>2]|0; + $487 = (($486) + 1)|0; + HEAP32[$5>>2] = $487; + } + } + } while(0); + $488 = HEAP32[$3>>2]|0; + $489 = HEAP32[$5>>2]|0; + $490 = (($488) + ($489)|0); + $491 = HEAP8[$490>>0]|0; + $492 = ($491<<24>>24)!=(0); + if ($492) { + $493 = HEAP32[$5>>2]|0; + $494 = (($493) + 1)|0; + HEAP32[$5>>2] = $494; + } + $495 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $495; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } else { + label = 138; + } + break; + } + case 2: { + label = 138; + break; + } + default: { + $496 = HEAP32[$4>>2]|0; + HEAP32[$496>>2] = 163; + HEAP32[$2>>2] = 1; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + } + } while(0); + if ((label|0) == 64) { + $180 = HEAP32[$4>>2]|0; + HEAP32[$180>>2] = 134; + $181 = HEAP32[$3>>2]|0; + $182 = HEAP8[$181>>0]|0; + $183 = $182&255; + $184 = ($183|0)==(48); + do { + if ($184) { + $185 = HEAP32[$3>>2]|0; + $186 = ((($185)) + 1|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187&255; + $189 = ($188|0)==(120); + if (!($189)) { + $190 = HEAP32[$3>>2]|0; + $191 = ((($190)) + 1|0); + $192 = HEAP8[$191>>0]|0; + $193 = $192&255; + $194 = ($193|0)==(88); + if (!($194)) { + break; + } + } + $195 = HEAP32[$3>>2]|0; + $196 = ((($195)) + 2|0); + $197 = HEAP8[$196>>0]|0; + $198 = $197&255; + $199 = (20063 + ($198)|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200&255; + $202 = $201 & 8; + $203 = ($202|0)!=(0); + if ($203) { + HEAP32[$5>>2] = 3; + while(1) { + $204 = HEAP32[$3>>2]|0; + $205 = HEAP32[$5>>2]|0; + $206 = (($204) + ($205)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $209 = (20063 + ($208)|0); + $210 = HEAP8[$209>>0]|0; + $211 = $210&255; + $212 = $211 & 8; + $213 = ($212|0)!=(0); + $214 = HEAP32[$5>>2]|0; + if (!($213)) { + break; + } + $215 = (($214) + 1)|0; + HEAP32[$5>>2] = $215; + } + HEAP32[$2>>2] = $214; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } } } while(0); - $108 = HEAP32[$pStmt>>2]|0; - $109 = HEAP32[$18>>2]|0; - $110 = HEAP32[$19>>2]|0; - (_sqlite3_bind_blob($108,6,$109,$110,0)|0); - $111 = HEAP32[$pStmt>>2]|0; - (_sqlite3_step($111)|0); - $112 = HEAP32[$pStmt>>2]|0; - $113 = (_sqlite3_reset($112)|0); - HEAP32[$rc>>2] = $113; - } - $114 = HEAP32[$rc>>2]|0; - HEAP32[$10>>2] = $114; - $115 = HEAP32[$10>>2]|0; - STACKTOP = sp;return ($115|0); -} -function _fts3TreeFinishNode($pTree,$iHeight,$0,$1) { - $pTree = $pTree|0; - $iHeight = $iHeight|0; + HEAP32[$5>>2] = 0; + while(1) { + $216 = HEAP32[$3>>2]|0; + $217 = HEAP32[$5>>2]|0; + $218 = (($216) + ($217)|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = (20063 + ($220)|0); + $222 = HEAP8[$221>>0]|0; + $223 = $222&255; + $224 = $223 & 4; + $225 = ($224|0)!=(0); + if (!($225)) { + break; + } + $226 = HEAP32[$5>>2]|0; + $227 = (($226) + 1)|0; + HEAP32[$5>>2] = $227; + } + $228 = HEAP32[$3>>2]|0; + $229 = HEAP32[$5>>2]|0; + $230 = (($228) + ($229)|0); + $231 = HEAP8[$230>>0]|0; + $232 = $231&255; + $233 = ($232|0)==(46); + if ($233) { + $234 = HEAP32[$5>>2]|0; + $235 = (($234) + 1)|0; + HEAP32[$5>>2] = $235; + while(1) { + $236 = HEAP32[$3>>2]|0; + $237 = HEAP32[$5>>2]|0; + $238 = (($236) + ($237)|0); + $239 = HEAP8[$238>>0]|0; + $240 = $239&255; + $241 = (20063 + ($240)|0); + $242 = HEAP8[$241>>0]|0; + $243 = $242&255; + $244 = $243 & 4; + $245 = ($244|0)!=(0); + if (!($245)) { + break; + } + $246 = HEAP32[$5>>2]|0; + $247 = (($246) + 1)|0; + HEAP32[$5>>2] = $247; + } + $248 = HEAP32[$4>>2]|0; + HEAP32[$248>>2] = 132; + } + $249 = HEAP32[$3>>2]|0; + $250 = HEAP32[$5>>2]|0; + $251 = (($249) + ($250)|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = ($253|0)==(101); + if ($254) { + label = 82; + } else { + $255 = HEAP32[$3>>2]|0; + $256 = HEAP32[$5>>2]|0; + $257 = (($255) + ($256)|0); + $258 = HEAP8[$257>>0]|0; + $259 = $258&255; + $260 = ($259|0)==(69); + if ($260) { + label = 82; + } + } + do { + if ((label|0) == 82) { + $261 = HEAP32[$3>>2]|0; + $262 = HEAP32[$5>>2]|0; + $263 = (($262) + 1)|0; + $264 = (($261) + ($263)|0); + $265 = HEAP8[$264>>0]|0; + $266 = $265&255; + $267 = (20063 + ($266)|0); + $268 = HEAP8[$267>>0]|0; + $269 = $268&255; + $270 = $269 & 4; + $271 = ($270|0)!=(0); + if (!($271)) { + $272 = HEAP32[$3>>2]|0; + $273 = HEAP32[$5>>2]|0; + $274 = (($273) + 1)|0; + $275 = (($272) + ($274)|0); + $276 = HEAP8[$275>>0]|0; + $277 = $276&255; + $278 = ($277|0)==(43); + if (!($278)) { + $279 = HEAP32[$3>>2]|0; + $280 = HEAP32[$5>>2]|0; + $281 = (($280) + 1)|0; + $282 = (($279) + ($281)|0); + $283 = HEAP8[$282>>0]|0; + $284 = $283&255; + $285 = ($284|0)==(45); + if (!($285)) { + break; + } + } + $286 = HEAP32[$3>>2]|0; + $287 = HEAP32[$5>>2]|0; + $288 = (($287) + 2)|0; + $289 = (($286) + ($288)|0); + $290 = HEAP8[$289>>0]|0; + $291 = $290&255; + $292 = (20063 + ($291)|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293&255; + $295 = $294 & 4; + $296 = ($295|0)!=(0); + if (!($296)) { + break; + } + } + $297 = HEAP32[$5>>2]|0; + $298 = (($297) + 2)|0; + HEAP32[$5>>2] = $298; + while(1) { + $299 = HEAP32[$3>>2]|0; + $300 = HEAP32[$5>>2]|0; + $301 = (($299) + ($300)|0); + $302 = HEAP8[$301>>0]|0; + $303 = $302&255; + $304 = (20063 + ($303)|0); + $305 = HEAP8[$304>>0]|0; + $306 = $305&255; + $307 = $306 & 4; + $308 = ($307|0)!=(0); + if (!($308)) { + break; + } + $309 = HEAP32[$5>>2]|0; + $310 = (($309) + 1)|0; + HEAP32[$5>>2] = $310; + } + $311 = HEAP32[$4>>2]|0; + HEAP32[$311>>2] = 132; + } + } while(0); + while(1) { + $312 = HEAP32[$3>>2]|0; + $313 = HEAP32[$5>>2]|0; + $314 = (($312) + ($313)|0); + $315 = HEAP8[$314>>0]|0; + $316 = $315&255; + $317 = (20063 + ($316)|0); + $318 = HEAP8[$317>>0]|0; + $319 = $318&255; + $320 = $319 & 70; + $321 = ($320|0)!=(0); + if (!($321)) { + break; + } + $322 = HEAP32[$4>>2]|0; + HEAP32[$322>>2] = 163; + $323 = HEAP32[$5>>2]|0; + $324 = (($323) + 1)|0; + HEAP32[$5>>2] = $324; + } + $325 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $325; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); + } + else if ((label|0) == 138) { + HEAP32[$5>>2] = 1; + } + while(1) { + $497 = HEAP32[$3>>2]|0; + $498 = HEAP32[$5>>2]|0; + $499 = (($497) + ($498)|0); + $500 = HEAP8[$499>>0]|0; + $501 = $500&255; + $502 = (20063 + ($501)|0); + $503 = HEAP8[$502>>0]|0; + $504 = $503&255; + $505 = $504 & 70; + $506 = ($505|0)!=(0); + if (!($506)) { + break; + } + $507 = HEAP32[$5>>2]|0; + $508 = (($507) + 1)|0; + HEAP32[$5>>2] = $508; + } + $509 = HEAP32[$4>>2]|0; + HEAP32[$509>>2] = 55; + $510 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $510; + $511 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($511|0); +} +function _sqlite3DbStrNDup($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nStart = 0, label = 0, sp = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp; - $nStart = sp + 8|0; - HEAP32[$2>>2] = $pTree; - HEAP32[$3>>2] = $iHeight; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = $4; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp; + $8 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + $9 = $7; $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3Fts3VarintLen($11,$14)|0); - $16 = (10 - ($15))|0; - HEAP32[$nStart>>2] = $16; - $17 = HEAP32[$3>>2]|0; - $18 = $17&255; - $19 = HEAP32[$nStart>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 36|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($19)|0); - HEAP8[$23>>0] = $18; - $24 = HEAP32[$nStart>>2]|0; - $25 = (($24) + 1)|0; - $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 36|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + ($25)|0); - $30 = $4; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - (_sqlite3Fts3PutVarint($29,$32,$35)|0); - $36 = HEAP32[$nStart>>2]|0; - STACKTOP = sp;return ($36|0); + HEAP32[$10>>2] = $2; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $3; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + HEAP32[$4>>2] = 0; + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); + } + $15 = HEAP32[$5>>2]|0; + $16 = $7; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (_i64Add(($18|0),($21|0),1,0)|0); + $23 = tempRet0; + $24 = (_sqlite3DbMallocRawNN($15,$22,$23)|0); + HEAP32[$8>>2] = $24; + $25 = HEAP32[$8>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = $7; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + _memcpy(($27|0),($28|0),($31|0))|0; + $35 = HEAP32[$8>>2]|0; + $36 = $7; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($35) + ($38)|0); + HEAP8[$42>>0] = 0; + } + $43 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $43; + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); } -function _sqlite3Fts3VarintLen($0,$1) { +function _sqlite3Dequote($0) { $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp; - $i = sp + 8|0; - $3 = $2; - $4 = $3; - HEAP32[$4>>2] = $0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = $1; - HEAP32[$i>>2] = 0; + $1 = sp + 8|0; + $2 = sp + 12|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + STACKTOP = sp;return; + } + $7 = HEAP32[$1>>2]|0; + $8 = HEAP8[$7>>0]|0; + HEAP8[$2>>0] = $8; + $9 = HEAP8[$2>>0]|0; + $10 = $9&255; + $11 = (20063 + ($10)|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = $13 & 128; + $15 = ($14|0)!=(0); + if (!($15)) { + STACKTOP = sp;return; + } + $16 = HEAP8[$2>>0]|0; + $17 = $16 << 24 >> 24; + $18 = ($17|0)==(91); + if ($18) { + HEAP8[$2>>0] = 93; + } + HEAP32[$3>>2] = 1; + HEAP32[$4>>2] = 0; while(1) { - $7 = HEAP32[$i>>2]|0; - $8 = (($7) + 1)|0; - HEAP32[$i>>2] = $8; - $9 = $2; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (_bitshift64Lshr(($11|0),($14|0),7)|0); - $16 = tempRet0; - $17 = $2; - $18 = $17; - HEAP32[$18>>2] = $15; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $16; - $21 = $2; - $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)) { - break; + $19 = HEAP32[$1>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = (($19) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = HEAP8[$2>>0]|0; + $25 = $24 << 24 >> 24; + $26 = ($23|0)==($25|0); + $27 = HEAP32[$1>>2]|0; + $28 = HEAP32[$3>>2]|0; + if ($26) { + $29 = (($28) + 1)|0; + $30 = (($27) + ($29)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31 << 24 >> 24; + $33 = HEAP8[$2>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($32|0)==($34|0); + if (!($35)) { + break; + } + $36 = HEAP8[$2>>0]|0; + $37 = HEAP32[$1>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$4>>2] = $39; + $40 = (($37) + ($38)|0); + HEAP8[$40>>0] = $36; + $41 = HEAP32[$3>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$3>>2] = $42; + } else { + $43 = (($27) + ($28)|0); + $44 = HEAP8[$43>>0]|0; + $45 = HEAP32[$1>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$4>>2] = $47; + $48 = (($45) + ($46)|0); + HEAP8[$48>>0] = $44; } + $49 = HEAP32[$3>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$3>>2] = $50; } - $30 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($30|0); + $51 = HEAP32[$1>>2]|0; + $52 = HEAP32[$4>>2]|0; + $53 = (($51) + ($52)|0); + HEAP8[$53>>0] = 0; + STACKTOP = sp;return; } -function _sqlite3Fts3PutVarint($p,$0,$1) { - $p = $p|0; +function _sqlite3MPrintf($0,$1,$varargs) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0; - var $q = 0, $vu = 0, label = 0, sp = 0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 8|0; - $q = sp + 16|0; - $vu = sp; - HEAP32[$2>>2] = $p; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - HEAP32[$q>>2] = $8; - $9 = $3; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = $vu; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - while(1) { - $19 = $vu; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = $21 & 127; - $26 = $25 | 128; - $27 = $26&255; - $28 = HEAP32[$q>>2]|0; - $29 = ((($28)) + 1|0); - HEAP32[$q>>2] = $29; - HEAP8[$28>>0] = $27; - $30 = $vu; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (_bitshift64Lshr(($32|0),($35|0),7)|0); - $37 = tempRet0; - $38 = $vu; - $39 = $38; - HEAP32[$39>>2] = $36; - $40 = (($38) + 4)|0; - $41 = $40; - HEAP32[$41>>2] = $37; - $42 = $vu; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = ($44|0)!=(0); - $49 = ($47|0)!=(0); - $50 = $48 | $49; - if (!($50)) { - break; - } - } - $51 = HEAP32[$q>>2]|0; - $52 = ((($51)) + -1|0); - $53 = HEAP8[$52>>0]|0; - $54 = $53&255; - $55 = $54 & 127; - $56 = $55&255; - HEAP8[$52>>0] = $56; - $57 = HEAP32[$q>>2]|0; - $58 = HEAP32[$2>>2]|0; - $59 = $57; - $60 = $58; - $61 = (($59) - ($60))|0; - STACKTOP = sp;return ($61|0); + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = $varargs; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3VMPrintf($6,$7,$4)|0); + HEAP32[$5>>2] = $8; + $9 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($9|0); } -function _fts3DeleteSegment($p,$pSeg) { - $p = $p|0; - $pSeg = $pSeg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDelete = 0; - var $rc = 0, label = 0, sp = 0; +function _sqlite3VMPrintf($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $pDelete = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pSeg; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - $4 = $3; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = (($4) + 4)|0; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = ($6|0)!=(0); - $11 = ($9|0)!=(0); - $12 = $10 | $11; - if (!($12)) { - $38 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($38|0); - } - $13 = HEAP32[$0>>2]|0; - $14 = (_fts3SqlStmt($13,17,$pDelete,0)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - if (!($16)) { - $38 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($38|0); + STACKTOP = STACKTOP + 128|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 44|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 96|0); + $12 = HEAP32[$11>>2]|0; + _sqlite3StrAccumInit($8,$9,$7,70,$12); + $13 = ((($8)) + 25|0); + HEAP8[$13>>0] = 1; + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$5>>2]|0; + _sqlite3VXPrintf($8,$14,$15); + $16 = (_sqlite3StrAccumFinish($8)|0); + HEAP32[$6>>2] = $16; + $17 = ((($8)) + 24|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)==(1); + if (!($20)) { + $22 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($22|0); } - $17 = HEAP32[$pDelete>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 8|0); - $20 = $19; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - (_sqlite3_bind_int64($17,1,$22,$25)|0); - $26 = HEAP32[$pDelete>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 24|0); - $29 = $28; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - (_sqlite3_bind_int64($26,2,$31,$34)|0); - $35 = HEAP32[$pDelete>>2]|0; - (_sqlite3_step($35)|0); - $36 = HEAP32[$pDelete>>2]|0; - $37 = (_sqlite3_reset($36)|0); - HEAP32[$rc>>2] = $37; - $38 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($38|0); + $21 = HEAP32[$3>>2]|0; + _sqlite3OomFault($21); + $22 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($22|0); } -function _fts3PrefixCompress($zPrev,$nPrev,$zNext,$nNext) { - $zPrev = $zPrev|0; - $nPrev = $nPrev|0; - $zNext = $zNext|0; - $nNext = $nNext|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $n = 0, label = 0, sp = 0; +function _keywordCode($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $zPrev; - HEAP32[$1>>2] = $nPrev; - HEAP32[$2>>2] = $zNext; - HEAP32[$3>>2] = $nNext; - HEAP32[$n>>2] = 0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)>=(2); + if (!($10)) { + $79 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($79|0); + } + $11 = HEAP32[$3>>2]|0; + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = (20458 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16<<2; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = (($19) - 1)|0; + $21 = (($18) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = (20458 + ($23)|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($26*3)|0; + $28 = $17 ^ $27; + $29 = HEAP32[$4>>2]|0; + $30 = $28 ^ $29; + $31 = (($30|0) % 127)&-1; + HEAP32[$6>>2] = $31; + $32 = HEAP32[$6>>2]|0; + $33 = (23664 + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = (($35) - 1)|0; + HEAP32[$6>>2] = $36; while(1) { - $4 = HEAP32[$n>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ($4|0)<($5|0); - if (!($6)) { - label = 5; + $37 = HEAP32[$6>>2]|0; + $38 = ($37|0)>=(0); + if (!($38)) { + label = 13; break; } - $7 = HEAP32[$n>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + ($7)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10 << 24 >> 24; - $12 = HEAP32[$n>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = (($13) + ($12)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15 << 24 >> 24; - $17 = ($11|0)==($16|0); - if (!($17)) { - label = 5; - break; + $39 = HEAP32[$6>>2]|0; + $40 = (23791 + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = HEAP32[$4>>2]|0; + $44 = ($42|0)!=($43|0); + if (!($44)) { + HEAP32[$7>>2] = 0; + $45 = HEAP32[$6>>2]|0; + $46 = (11180 + ($45<<1)|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47&65535; + $49 = (23915 + ($48)|0); + HEAP32[$8>>2] = $49; + while(1) { + $50 = HEAP32[$7>>2]|0; + $51 = HEAP32[$4>>2]|0; + $52 = ($50|0)<($51|0); + if ($52) { + $53 = HEAP32[$3>>2]|0; + $54 = HEAP32[$7>>2]|0; + $55 = (($53) + ($54)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = $57 & -33; + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$7>>2]|0; + $61 = (($59) + ($60)|0); + $62 = HEAP8[$61>>0]|0; + $63 = $62 << 24 >> 24; + $64 = ($58|0)==($63|0); + $80 = $64; + } else { + $80 = 0; + } + $65 = HEAP32[$7>>2]|0; + if (!($80)) { + break; + } + $66 = (($65) + 1)|0; + HEAP32[$7>>2] = $66; + } + $67 = HEAP32[$4>>2]|0; + $68 = ($65|0)<($67|0); + if (!($68)) { + break; + } } - $18 = HEAP32[$n>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$n>>2] = $19; + $74 = HEAP32[$6>>2]|0; + $75 = (24592 + ($74)|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = (($77) - 1)|0; + HEAP32[$6>>2] = $78; } - if ((label|0) == 5) { - $20 = HEAP32[$n>>2]|0; - STACKTOP = sp;return ($20|0); + if ((label|0) == 13) { + $79 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($79|0); } - return (0)|0; + $69 = HEAP32[$6>>2]|0; + $70 = (24468 + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = HEAP32[$5>>2]|0; + HEAP32[$73>>2] = $72; + $79 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($79|0); } -function _fts3NodeAddTerm($p,$ppTree,$isCopyTerm,$zTerm,$nTerm) { - $p = $p|0; - $ppTree = $ppTree|0; - $isCopyTerm = $isCopyTerm|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nData = 0, $nPrefix = 0, $nReq = 0, $nSuffix = 0, $pNew = 0, $pParent = 0, $pTree = 0, $rc = 0, $zNew = 0, dest = 0, label = 0, sp = 0; - var stop = 0; +function _sqlite3DefaultMutex() { + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $5 = sp + 36|0; - $pTree = sp + 32|0; - $rc = sp + 28|0; - $pNew = sp + 24|0; - $nData = sp + 20|0; - $nReq = sp + 16|0; - $nPrefix = sp + 12|0; - $nSuffix = sp + 8|0; - $zNew = sp + 4|0; - $pParent = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $ppTree; - HEAP32[$3>>2] = $isCopyTerm; - HEAP32[$4>>2] = $zTerm; - HEAP32[$5>>2] = $nTerm; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$pTree>>2] = $7; - $8 = HEAP32[$pTree>>2]|0; - $9 = ($8|0)!=(0|0); - do { - if ($9) { - $10 = HEAP32[$pTree>>2]|0; - $11 = ((($10)) + 32|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$nData>>2] = $12; - $13 = HEAP32[$nData>>2]|0; - HEAP32[$nReq>>2] = $13; - $14 = HEAP32[$pTree>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$pTree>>2]|0; - $18 = ((($17)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = HEAP32[$5>>2]|0; - $22 = (_fts3PrefixCompress($16,$19,$20,$21)|0); - HEAP32[$nPrefix>>2] = $22; - $23 = HEAP32[$5>>2]|0; - $24 = HEAP32[$nPrefix>>2]|0; - $25 = (($23) - ($24))|0; - HEAP32[$nSuffix>>2] = $25; - $26 = HEAP32[$nPrefix>>2]|0; - $27 = ($26|0)<(0); - $28 = $27 << 31 >> 31; - $29 = (_sqlite3Fts3VarintLen($26,$28)|0); - $30 = HEAP32[$nSuffix>>2]|0; - $31 = ($30|0)<(0); - $32 = $31 << 31 >> 31; - $33 = (_sqlite3Fts3VarintLen($30,$32)|0); - $34 = (($29) + ($33))|0; - $35 = HEAP32[$nSuffix>>2]|0; - $36 = (($34) + ($35))|0; - $37 = HEAP32[$nReq>>2]|0; - $38 = (($37) + ($36))|0; - HEAP32[$nReq>>2] = $38; - $39 = HEAP32[$nReq>>2]|0; - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 224|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($39|0)<=($42|0); - if (!($43)) { - $44 = HEAP32[$pTree>>2]|0; - $45 = ((($44)) + 16|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)!=(0|0); - if ($47) { - break; - } - } - $48 = HEAP32[$nReq>>2]|0; - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 224|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($48|0)>($51|0); - if ($52) { - $53 = HEAP32[$nReq>>2]|0; - $54 = (_sqlite3_malloc($53)|0); - $55 = HEAP32[$pTree>>2]|0; - $56 = ((($55)) + 36|0); - HEAP32[$56>>2] = $54; - $57 = HEAP32[$pTree>>2]|0; - $58 = ((($57)) + 36|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59|0)!=(0|0); - if (!($60)) { - HEAP32[$0>>2] = 7; - $207 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($207|0); - } - } - $61 = HEAP32[$pTree>>2]|0; - $62 = ((($61)) + 16|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)!=(0|0); - if ($64) { - $65 = HEAP32[$nData>>2]|0; - $66 = HEAP32[$pTree>>2]|0; - $67 = ((($66)) + 36|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68) + ($65)|0); - $70 = HEAP32[$nPrefix>>2]|0; - $71 = ($70|0)<(0); - $72 = $71 << 31 >> 31; - $73 = (_sqlite3Fts3PutVarint($69,$70,$72)|0); - $74 = HEAP32[$nData>>2]|0; - $75 = (($74) + ($73))|0; - HEAP32[$nData>>2] = $75; - } - $76 = HEAP32[$nData>>2]|0; - $77 = HEAP32[$pTree>>2]|0; - $78 = ((($77)) + 36|0); - $79 = HEAP32[$78>>2]|0; - $80 = (($79) + ($76)|0); - $81 = HEAP32[$nSuffix>>2]|0; - $82 = ($81|0)<(0); - $83 = $82 << 31 >> 31; - $84 = (_sqlite3Fts3PutVarint($80,$81,$83)|0); - $85 = HEAP32[$nData>>2]|0; - $86 = (($85) + ($84))|0; - HEAP32[$nData>>2] = $86; - $87 = HEAP32[$nData>>2]|0; - $88 = HEAP32[$pTree>>2]|0; - $89 = ((($88)) + 36|0); - $90 = HEAP32[$89>>2]|0; - $91 = (($90) + ($87)|0); - $92 = HEAP32[$nPrefix>>2]|0; - $93 = HEAP32[$4>>2]|0; - $94 = (($93) + ($92)|0); - $95 = HEAP32[$nSuffix>>2]|0; - _memcpy(($91|0),($94|0),($95|0))|0; - $96 = HEAP32[$nData>>2]|0; - $97 = HEAP32[$nSuffix>>2]|0; - $98 = (($96) + ($97))|0; - $99 = HEAP32[$pTree>>2]|0; - $100 = ((($99)) + 32|0); - HEAP32[$100>>2] = $98; - $101 = HEAP32[$pTree>>2]|0; - $102 = ((($101)) + 12|0); - $103 = HEAP32[$102>>2]|0; - $104 = (($103) + 1)|0; - HEAP32[$102>>2] = $104; - $105 = HEAP32[$3>>2]|0; - $106 = ($105|0)!=(0); - if ($106) { - $107 = HEAP32[$pTree>>2]|0; - $108 = ((($107)) + 24|0); - $109 = HEAP32[$108>>2]|0; - $110 = HEAP32[$5>>2]|0; - $111 = ($109|0)<($110|0); - do { - if ($111) { - $112 = HEAP32[$pTree>>2]|0; - $113 = ((($112)) + 28|0); - $114 = HEAP32[$113>>2]|0; - $115 = HEAP32[$5>>2]|0; - $116 = $115<<1; - $117 = (_sqlite3_realloc($114,$116)|0); - HEAP32[$zNew>>2] = $117; - $118 = HEAP32[$zNew>>2]|0; - $119 = ($118|0)!=(0|0); - if ($119) { - $120 = HEAP32[$5>>2]|0; - $121 = $120<<1; - $122 = HEAP32[$pTree>>2]|0; - $123 = ((($122)) + 24|0); - HEAP32[$123>>2] = $121; - $124 = HEAP32[$zNew>>2]|0; - $125 = HEAP32[$pTree>>2]|0; - $126 = ((($125)) + 28|0); - HEAP32[$126>>2] = $124; - break; - } - HEAP32[$0>>2] = 7; - $207 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($207|0); - } - } while(0); - $127 = HEAP32[$pTree>>2]|0; - $128 = ((($127)) + 28|0); - $129 = HEAP32[$128>>2]|0; - $130 = HEAP32[$pTree>>2]|0; - $131 = ((($130)) + 16|0); - HEAP32[$131>>2] = $129; - $132 = HEAP32[$pTree>>2]|0; - $133 = ((($132)) + 16|0); - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$4>>2]|0; - $136 = HEAP32[$5>>2]|0; - _memcpy(($134|0),($135|0),($136|0))|0; - $137 = HEAP32[$5>>2]|0; - $138 = HEAP32[$pTree>>2]|0; - $139 = ((($138)) + 20|0); - HEAP32[$139>>2] = $137; - } else { - $140 = HEAP32[$4>>2]|0; - $141 = HEAP32[$pTree>>2]|0; - $142 = ((($141)) + 16|0); - HEAP32[$142>>2] = $140; - $143 = HEAP32[$5>>2]|0; - $144 = HEAP32[$pTree>>2]|0; - $145 = ((($144)) + 20|0); - HEAP32[$145>>2] = $143; - } - HEAP32[$0>>2] = 0; - $207 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($207|0); + return (4068|0); +} +function _sqlite3NoopMutex() { + var label = 0, sp = 0; + sp = STACKTOP; + return (4032|0); +} +function _noopMutexInit() { + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _noopMutexEnd() { + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _noopMutexAlloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + STACKTOP = sp;return ((8)|0); +} +function _noopMutexFree($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + STACKTOP = sp;return; +} +function _noopMutexEnter($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + STACKTOP = sp;return; +} +function _noopMutexTry($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + STACKTOP = sp;return 0; +} +function _noopMutexLeave($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + STACKTOP = sp;return; +} +function _pthreadMutexInit() { + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _pthreadMutexEnd() { + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _pthreadMutexAlloc($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + switch ($4|0) { + case 1: { + $5 = (_sqlite3MallocZero(28,0)|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + if ($7) { + (_pthread_mutexattr_init(($3|0))|0); + (_pthread_mutexattr_settype(($3|0),1)|0); + $8 = HEAP32[$2>>2]|0; + (_pthread_mutex_init(($8|0),($3|0))|0); + (_pthread_mutexattr_destroy(($3|0))|0); } - } while(0); - $146 = HEAP32[$1>>2]|0; - $147 = ((($146)) + 224|0); - $148 = HEAP32[$147>>2]|0; - $149 = (40 + ($148))|0; - $150 = (_sqlite3_malloc($149)|0); - HEAP32[$pNew>>2] = $150; - $151 = HEAP32[$pNew>>2]|0; - $152 = ($151|0)!=(0|0); - if (!($152)) { - HEAP32[$0>>2] = 7; - $207 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($207|0); - } - $153 = HEAP32[$pNew>>2]|0; - dest=$153; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $154 = HEAP32[$pNew>>2]|0; - $155 = ((($154)) + 32|0); - HEAP32[$155>>2] = 11; - $156 = HEAP32[$pNew>>2]|0; - $157 = ((($156)) + 40|0); - $158 = HEAP32[$pNew>>2]|0; - $159 = ((($158)) + 36|0); - HEAP32[$159>>2] = $157; - $160 = HEAP32[$pTree>>2]|0; - $161 = ($160|0)!=(0|0); - if ($161) { - $162 = HEAP32[$pTree>>2]|0; - $163 = HEAP32[$162>>2]|0; - HEAP32[$pParent>>2] = $163; - $164 = HEAP32[$1>>2]|0; - $165 = HEAP32[$3>>2]|0; - $166 = HEAP32[$4>>2]|0; - $167 = HEAP32[$5>>2]|0; - $168 = (_fts3NodeAddTerm($164,$pParent,$165,$166,$167)|0); - HEAP32[$rc>>2] = $168; - $169 = HEAP32[$pTree>>2]|0; - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $172 = HEAP32[$pParent>>2]|0; - $173 = HEAP32[$pTree>>2]|0; - HEAP32[$173>>2] = $172; + break; + } + case 0: { + $9 = (_sqlite3MallocZero(28,0)|0); + HEAP32[$2>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$2>>2]|0; + (_pthread_mutex_init(($12|0),(0|0))|0); } - $174 = HEAP32[$pNew>>2]|0; - $175 = HEAP32[$pTree>>2]|0; - $176 = ((($175)) + 4|0); - HEAP32[$176>>2] = $174; - $177 = HEAP32[$pTree>>2]|0; - $178 = ((($177)) + 8|0); - $179 = HEAP32[$178>>2]|0; - $180 = HEAP32[$pNew>>2]|0; - $181 = ((($180)) + 8|0); - HEAP32[$181>>2] = $179; - $182 = HEAP32[$pParent>>2]|0; - $183 = HEAP32[$pNew>>2]|0; - HEAP32[$183>>2] = $182; - $184 = HEAP32[$pTree>>2]|0; - $185 = ((($184)) + 28|0); - $186 = HEAP32[$185>>2]|0; - $187 = HEAP32[$pNew>>2]|0; - $188 = ((($187)) + 28|0); - HEAP32[$188>>2] = $186; - $189 = HEAP32[$pTree>>2]|0; - $190 = ((($189)) + 24|0); - $191 = HEAP32[$190>>2]|0; - $192 = HEAP32[$pNew>>2]|0; - $193 = ((($192)) + 24|0); - HEAP32[$193>>2] = $191; - $194 = HEAP32[$pTree>>2]|0; - $195 = ((($194)) + 28|0); - HEAP32[$195>>2] = 0; - } else { - $196 = HEAP32[$pNew>>2]|0; - $197 = HEAP32[$pNew>>2]|0; - $198 = ((($197)) + 8|0); - HEAP32[$198>>2] = $196; - $199 = HEAP32[$1>>2]|0; - $200 = HEAP32[$3>>2]|0; - $201 = HEAP32[$4>>2]|0; - $202 = HEAP32[$5>>2]|0; - $203 = (_fts3NodeAddTerm($199,$pNew,$200,$201,$202)|0); - HEAP32[$rc>>2] = $203; - } - $204 = HEAP32[$pNew>>2]|0; - $205 = HEAP32[$2>>2]|0; - HEAP32[$205>>2] = $204; - $206 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $206; - $207 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($207|0); -} -function _fts3SegReaderDoclistCmpRev($pLhs,$pRhs) { - $pLhs = $pLhs|0; - $pRhs = $pRhs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + break; + } + default: { + $13 = HEAP32[$1>>2]|0; + $14 = (($13) - 2)|0; + $15 = (54808 + (($14*28)|0)|0); + HEAP32[$2>>2] = $15; + } + } + $16 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($16|0); +} +function _pthreadMutexFree($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + (_pthread_mutex_destroy(($2|0))|0); + $3 = HEAP32[$1>>2]|0; + _sqlite3_free($3); + STACKTOP = sp;return; +} +function _pthreadMutexEnter($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + (_pthread_mutex_lock(($2|0))|0); + STACKTOP = sp;return; +} +function _pthreadMutexTry($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pLhs; - HEAP32[$1>>2] = $pRhs; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 80|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - $6 = $5&1; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 80|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - $11 = $10&1; - $12 = (($6) - ($11))|0; - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)==(0); - if (!($14)) { - $61 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($61|0); - } - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 88|0); - $17 = $16; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 88|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = ($19|0)==($27|0); - $32 = ($22|0)==($30|0); - $33 = $31 & $32; - if ($33) { - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) - ($37))|0; - HEAP32[$rc>>2] = $38; - $61 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($61|0); + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_pthread_mutex_trylock(($3|0))|0); + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$2>>2] = 0; } else { - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 88|0); - $41 = $40; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 88|0); - $49 = $48; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = ($46|0)<($54|0); - $56 = ($43>>>0)<($51>>>0); - $57 = ($46|0)==($54|0); - $58 = $57 & $56; - $59 = $55 | $58; - $60 = $59 ? 1 : -1; - HEAP32[$rc>>2] = $60; - $61 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($61|0); + HEAP32[$2>>2] = 5; } - return (0)|0; + $6 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($6|0); } -function _fts3SegReaderDoclistCmp($pLhs,$pRhs) { - $pLhs = $pLhs|0; - $pRhs = $pRhs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _pthreadMutexLeave($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pLhs; - HEAP32[$1>>2] = $pRhs; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 80|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - $6 = $5&1; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 80|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - $11 = $10&1; - $12 = (($6) - ($11))|0; - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)==(0); - if (!($14)) { - $61 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($61|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + (_pthread_mutex_unlock(($2|0))|0); + STACKTOP = sp;return; +} +function _dbReallocFinish($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $8 = $6; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $3; + HEAP32[$7>>2] = 0; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 69|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==(0); + if (!($16)) { + $51 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($51|0); } - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 88|0); - $17 = $16; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 88|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = ($19|0)==($27|0); - $32 = ($22|0)==($30|0); - $33 = $31 & $32; - if ($33) { - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) - ($37))|0; - HEAP32[$rc>>2] = $38; - $61 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($61|0); + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = (_isLookaside($17,$18)|0); + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$4>>2]|0; + $22 = $6; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3DbMallocRawNN($21,$24,$27)|0); + HEAP32[$7>>2] = $28; + $29 = HEAP32[$7>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { + $51 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($51|0); + } + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 256|0); + $35 = ((($34)) + 4|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + _memcpy(($31|0),($32|0),($37|0))|0; + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$5>>2]|0; + _sqlite3DbFree($38,$39); + $51 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($51|0); } else { - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 88|0); - $41 = $40; + $40 = HEAP32[$5>>2]|0; + $41 = $6; $42 = $41; $43 = HEAP32[$42>>2]|0; $44 = (($41) + 4)|0; $45 = $44; $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 88|0); - $49 = $48; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = ($46|0)>($54|0); - $56 = ($43>>>0)>($51>>>0); - $57 = ($46|0)==($54|0); - $58 = $57 & $56; - $59 = $55 | $58; - $60 = $59 ? 1 : -1; - HEAP32[$rc>>2] = $60; - $61 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($61|0); + $47 = (_sqlite3_realloc64($40,$43,$46)|0); + HEAP32[$7>>2] = $47; + $48 = HEAP32[$7>>2]|0; + $49 = ($48|0)!=(0|0); + if ($49) { + $51 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($51|0); + } + $50 = HEAP32[$4>>2]|0; + _sqlite3OomFault($50); + $51 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($51|0); } return (0)|0; } -function _fts3SegReaderSetEof($pSeg) { - $pSeg = $pSeg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _enlargeAndAppend($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pSeg; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 5|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(0); - if ($5) { - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 40|0); - HEAP32[$15>>2] = 0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$5>>2]|0; + $8 = (_sqlite3StrAccumEnlarge($6,$7)|0); + HEAP32[$5>>2] = $8; + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)>(0); + if (!($10)) { STACKTOP = sp;return; } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 40|0); - $8 = HEAP32[$7>>2]|0; - _sqlite3_free($8); - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 52|0); - $11 = HEAP32[$10>>2]|0; - (_sqlite3_blob_close($11)|0); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 52|0); - HEAP32[$13>>2] = 0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 40|0); - HEAP32[$15>>2] = 0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($13) + ($16)|0); + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$5>>2]|0; + _memcpy(($17|0),($18|0),($19|0))|0; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($20))|0; + HEAP32[$22>>2] = $24; STACKTOP = sp;return; } -function _fts3SegReaderNext($p,$pReader,$bIncr) { - $p = $p|0; - $pReader = $pReader|0; - $bIncr = $bIncr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aCopy = 0, $nCopy = 0, $nNew = 0, $nPrefix = 0, $nSuffix = 0, $or$cond = 0; - var $pElem = 0, $pList = 0, $pNext = 0, $rc = 0, $zNew = 0, label = 0, sp = 0; +function _sqlite3BtreeEnterAll($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $rc = sp + 36|0; - $pNext = sp + 32|0; - $nPrefix = sp + 28|0; - $nSuffix = sp + 24|0; - $pElem = sp + 20|0; - $aCopy = sp + 16|0; - $pList = sp + 12|0; - $nCopy = sp + 8|0; - $nNew = sp + 4|0; - $zNew = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pReader; - HEAP32[$3>>2] = $bIncr; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 72|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - $8 = HEAP32[$2>>2]|0; - if ($7) { - $11 = ((($8)) + 76|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 72|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + while(1) { + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($4|0)<($7|0); + if (!($8)) { + break; + } + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = (($11) + ($12<<4)|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($12)|0); - HEAP32[$pNext>>2] = $16; - } else { - $9 = ((($8)) + 40|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pNext>>2] = $10; - } - $17 = HEAP32[$pNext>>2]|0; - $18 = ($17|0)!=(0|0); - if ($18) { - $19 = HEAP32[$pNext>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 44|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 40|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($22)|0); - $27 = ($19>>>0)>=($26>>>0); - if ($27) { - label = 6; + HEAP32[$3>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($18); } - } else { - label = 6; + $19 = HEAP32[$2>>2]|0; + $20 = (($19) + 1)|0; + HEAP32[$2>>2] = $20; } - if ((label|0) == 6) { - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 56|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)!=(0|0); - $32 = HEAP32[$2>>2]|0; - if ($31) { - $33 = ((($32)) + 56|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$34>>2]|0; - HEAP32[$pElem>>2] = $35; - $36 = HEAP32[$2>>2]|0; - $37 = ((($36)) + 40|0); - $38 = HEAP32[$37>>2]|0; - _sqlite3_free($38); - $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 40|0); - HEAP32[$40>>2] = 0; - $41 = HEAP32[$pElem>>2]|0; - $42 = ($41|0)!=(0|0); - do { - if ($42) { - $43 = HEAP32[$pElem>>2]|0; - $44 = ((($43)) + 8|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$pList>>2] = $45; - $46 = HEAP32[$pList>>2]|0; - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[$nCopy>>2] = $48; - $49 = HEAP32[$pElem>>2]|0; - $50 = ((($49)) + 12|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 64|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$pElem>>2]|0; - $55 = ((($54)) + 16|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$2>>2]|0; - $58 = ((($57)) + 60|0); - HEAP32[$58>>2] = $56; - $59 = HEAP32[$nCopy>>2]|0; - $60 = (_sqlite3_malloc($59)|0); - HEAP32[$aCopy>>2] = $60; - $61 = HEAP32[$aCopy>>2]|0; - $62 = ($61|0)!=(0|0); - if ($62) { - $63 = HEAP32[$aCopy>>2]|0; - $64 = HEAP32[$pList>>2]|0; - $65 = ((($64)) + 4|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$nCopy>>2]|0; - _memcpy(($63|0),($66|0),($67|0))|0; - $68 = HEAP32[$nCopy>>2]|0; - $69 = HEAP32[$2>>2]|0; - $70 = ((($69)) + 76|0); - HEAP32[$70>>2] = $68; - $71 = HEAP32[$2>>2]|0; - $72 = ((($71)) + 44|0); - HEAP32[$72>>2] = $68; - $73 = HEAP32[$aCopy>>2]|0; - $74 = HEAP32[$2>>2]|0; - $75 = ((($74)) + 72|0); - HEAP32[$75>>2] = $73; - $76 = HEAP32[$2>>2]|0; - $77 = ((($76)) + 40|0); - HEAP32[$77>>2] = $73; - $78 = HEAP32[$2>>2]|0; - $79 = ((($78)) + 56|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($80)) + 4|0); - HEAP32[$79>>2] = $81; - break; - } - HEAP32[$0>>2] = 7; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - } while(0); - HEAP32[$0>>2] = 0; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - _fts3SegReaderSetEof($32); - $82 = HEAP32[$2>>2]|0; - $83 = ((($82)) + 32|0); - $84 = $83; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = (($84) + 4)|0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$2>>2]|0; - $91 = ((($90)) + 16|0); - $92 = $91; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = ($89|0)>($97|0); - $99 = ($86>>>0)>=($94>>>0); - $100 = ($89|0)==($97|0); - $101 = $100 & $99; - $102 = $98 | $101; - if ($102) { - HEAP32[$0>>2] = 0; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - $103 = HEAP32[$1>>2]|0; - $104 = HEAP32[$2>>2]|0; - $105 = ((($104)) + 32|0); - $106 = $105; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (($106) + 4)|0; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = (_i64Add(($108|0),($111|0),1,0)|0); - $113 = tempRet0; - $114 = $105; - $115 = $114; - HEAP32[$115>>2] = $112; - $116 = (($114) + 4)|0; - $117 = $116; - HEAP32[$117>>2] = $113; - $118 = HEAP32[$2>>2]|0; - $119 = ((($118)) + 40|0); - $120 = HEAP32[$2>>2]|0; - $121 = ((($120)) + 44|0); - $122 = HEAP32[$3>>2]|0; - $123 = ($122|0)!=(0); - $124 = HEAP32[$2>>2]|0; - $125 = ((($124)) + 48|0); - $126 = $123 ? $125 : 0; - $127 = (_sqlite3Fts3ReadBlock($103,$112,$113,$119,$121,$126)|0); - HEAP32[$rc>>2] = $127; - $128 = HEAP32[$rc>>2]|0; - $129 = ($128|0)!=(0); - if ($129) { - $130 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $130; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); + STACKTOP = sp;return; +} +function _sqlite3BtreePager($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _sqlite3BtreeLeaveAll($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, $3 = 0, $4 = 0, $5 = 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 + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + while(1) { + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($4|0)<($7|0); + if (!($8)) { + break; } - $131 = HEAP32[$3>>2]|0; - $132 = ($131|0)!=(0); - if ($132) { - $133 = HEAP32[$2>>2]|0; - $134 = ((($133)) + 48|0); - $135 = HEAP32[$134>>2]|0; - $136 = HEAP32[$2>>2]|0; - $137 = ((($136)) + 44|0); - $138 = HEAP32[$137>>2]|0; - $139 = ($135|0)<($138|0); - if ($139) { - $140 = HEAP32[$1>>2]|0; - $141 = ((($140)) + 244|0); - $142 = HEAP32[$141>>2]|0; - $143 = HEAP32[$2>>2]|0; - $144 = ((($143)) + 52|0); - HEAP32[$144>>2] = $142; - $145 = HEAP32[$1>>2]|0; - $146 = ((($145)) + 244|0); - HEAP32[$146>>2] = 0; - } + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = (($11) + ($12<<4)|0); + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$3>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($18); } - $147 = HEAP32[$2>>2]|0; - $148 = ((($147)) + 40|0); - $149 = HEAP32[$148>>2]|0; - HEAP32[$pNext>>2] = $149; - } - $150 = HEAP32[$2>>2]|0; - $151 = HEAP32[$pNext>>2]|0; - $152 = (_fts3SegReaderRequire($150,$151,20)|0); - HEAP32[$rc>>2] = $152; - $153 = HEAP32[$rc>>2]|0; - $154 = ($153|0)!=(0); - if ($154) { - $155 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $155; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); + $19 = HEAP32[$2>>2]|0; + $20 = (($19) + 1)|0; + HEAP32[$2>>2] = $20; } - $156 = HEAP32[$pNext>>2]|0; - $157 = HEAP8[$156>>0]|0; - $158 = $157&255; - $159 = $158 & 128; - $160 = ($159|0)!=(0); - $161 = HEAP32[$pNext>>2]|0; - if ($160) { - $162 = (_sqlite3Fts3GetVarint32($161,$nPrefix)|0); - $167 = $162; - } else { - $163 = HEAP8[$161>>0]|0; - $164 = $163&255; - HEAP32[$nPrefix>>2] = $164; - $167 = 1; - } - $165 = HEAP32[$pNext>>2]|0; - $166 = (($165) + ($167)|0); - HEAP32[$pNext>>2] = $166; - $168 = HEAP32[$pNext>>2]|0; - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $171 = $170 & 128; - $172 = ($171|0)!=(0); - $173 = HEAP32[$pNext>>2]|0; - if ($172) { - $174 = (_sqlite3Fts3GetVarint32($173,$nSuffix)|0); - $179 = $174; - } else { - $175 = HEAP8[$173>>0]|0; - $176 = $175&255; - HEAP32[$nSuffix>>2] = $176; - $179 = 1; - } - $177 = HEAP32[$pNext>>2]|0; - $178 = (($177) + ($179)|0); - HEAP32[$pNext>>2] = $178; - $180 = HEAP32[$nPrefix>>2]|0; - $181 = ($180|0)<(0); - $182 = HEAP32[$nSuffix>>2]|0; - $183 = ($182|0)<=(0); - $or$cond = $181 | $183; - if (!($or$cond)) { - $184 = HEAP32[$nSuffix>>2]|0; - $185 = HEAP32[$pNext>>2]|0; - $186 = (($185) + ($184)|0); - $187 = HEAP32[$2>>2]|0; - $188 = ((($187)) + 44|0); - $189 = HEAP32[$188>>2]|0; - $190 = HEAP32[$2>>2]|0; - $191 = ((($190)) + 40|0); - $192 = HEAP32[$191>>2]|0; - $193 = (($192) + ($189)|0); - $194 = ($186>>>0)>($193>>>0); - if (!($194)) { - $195 = HEAP32[$nPrefix>>2]|0; - $196 = HEAP32[$nSuffix>>2]|0; - $197 = (($195) + ($196))|0; - $198 = HEAP32[$2>>2]|0; - $199 = ((($198)) + 68|0); - $200 = HEAP32[$199>>2]|0; - $201 = ($197|0)>($200|0); - do { - if ($201) { - $202 = HEAP32[$nPrefix>>2]|0; - $203 = HEAP32[$nSuffix>>2]|0; - $204 = (($202) + ($203))|0; - $205 = $204<<1; - HEAP32[$nNew>>2] = $205; - $206 = HEAP32[$2>>2]|0; - $207 = ((($206)) + 64|0); - $208 = HEAP32[$207>>2]|0; - $209 = HEAP32[$nNew>>2]|0; - $210 = (_sqlite3_realloc($208,$209)|0); - HEAP32[$zNew>>2] = $210; - $211 = HEAP32[$zNew>>2]|0; - $212 = ($211|0)!=(0|0); - if ($212) { - $213 = HEAP32[$zNew>>2]|0; - $214 = HEAP32[$2>>2]|0; - $215 = ((($214)) + 64|0); - HEAP32[$215>>2] = $213; - $216 = HEAP32[$nNew>>2]|0; - $217 = HEAP32[$2>>2]|0; - $218 = ((($217)) + 68|0); - HEAP32[$218>>2] = $216; - break; - } - HEAP32[$0>>2] = 7; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - } while(0); - $219 = HEAP32[$2>>2]|0; - $220 = HEAP32[$pNext>>2]|0; - $221 = HEAP32[$nSuffix>>2]|0; - $222 = (($221) + 10)|0; - $223 = (_fts3SegReaderRequire($219,$220,$222)|0); - HEAP32[$rc>>2] = $223; - $224 = HEAP32[$rc>>2]|0; - $225 = ($224|0)!=(0); - if ($225) { - $226 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $226; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - $227 = HEAP32[$nPrefix>>2]|0; - $228 = HEAP32[$2>>2]|0; - $229 = ((($228)) + 64|0); - $230 = HEAP32[$229>>2]|0; - $231 = (($230) + ($227)|0); - $232 = HEAP32[$pNext>>2]|0; - $233 = HEAP32[$nSuffix>>2]|0; - _memcpy(($231|0),($232|0),($233|0))|0; - $234 = HEAP32[$nPrefix>>2]|0; - $235 = HEAP32[$nSuffix>>2]|0; - $236 = (($234) + ($235))|0; - $237 = HEAP32[$2>>2]|0; - $238 = ((($237)) + 60|0); - HEAP32[$238>>2] = $236; - $239 = HEAP32[$nSuffix>>2]|0; - $240 = HEAP32[$pNext>>2]|0; - $241 = (($240) + ($239)|0); - HEAP32[$pNext>>2] = $241; - $242 = HEAP32[$pNext>>2]|0; - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = $244 & 128; - $246 = ($245|0)!=(0); - $247 = HEAP32[$pNext>>2]|0; - if ($246) { - $248 = HEAP32[$2>>2]|0; - $249 = ((($248)) + 76|0); - $250 = (_sqlite3Fts3GetVarint32($247,$249)|0); - $257 = $250; - } else { - $251 = HEAP8[$247>>0]|0; - $252 = $251&255; - $253 = HEAP32[$2>>2]|0; - $254 = ((($253)) + 76|0); - HEAP32[$254>>2] = $252; - $257 = 1; - } - $255 = HEAP32[$pNext>>2]|0; - $256 = (($255) + ($257)|0); - HEAP32[$pNext>>2] = $256; - $258 = HEAP32[$pNext>>2]|0; - $259 = HEAP32[$2>>2]|0; - $260 = ((($259)) + 72|0); - HEAP32[$260>>2] = $258; - $261 = HEAP32[$2>>2]|0; - $262 = ((($261)) + 80|0); - HEAP32[$262>>2] = 0; - $263 = HEAP32[$2>>2]|0; - $264 = ((($263)) + 76|0); - $265 = HEAP32[$264>>2]|0; - $266 = HEAP32[$2>>2]|0; - $267 = ((($266)) + 72|0); - $268 = HEAP32[$267>>2]|0; - $269 = (($268) + ($265)|0); - $270 = HEAP32[$2>>2]|0; - $271 = ((($270)) + 44|0); - $272 = HEAP32[$271>>2]|0; - $273 = HEAP32[$2>>2]|0; - $274 = ((($273)) + 40|0); - $275 = HEAP32[$274>>2]|0; - $276 = (($275) + ($272)|0); - $277 = ($269>>>0)>($276>>>0); - do { - if (!($277)) { - $278 = HEAP32[$2>>2]|0; - $279 = ((($278)) + 48|0); - $280 = HEAP32[$279>>2]|0; - $281 = ($280|0)==(0); - if ($281) { - $282 = HEAP32[$2>>2]|0; - $283 = ((($282)) + 76|0); - $284 = HEAP32[$283>>2]|0; - $285 = (($284) - 1)|0; - $286 = HEAP32[$2>>2]|0; - $287 = ((($286)) + 72|0); - $288 = HEAP32[$287>>2]|0; - $289 = (($288) + ($285)|0); - $290 = HEAP8[$289>>0]|0; - $291 = $290 << 24 >> 24; - $292 = ($291|0)!=(0); - if ($292) { - break; - } - } - HEAP32[$0>>2] = 0; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } - } while(0); - HEAP32[$0>>2] = 267; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); - } + STACKTOP = sp;return; +} +function _sqlite3DeleteTrigger($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + STACKTOP = sp;return; } - HEAP32[$0>>2] = 267; - $293 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($293|0); + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 28|0); + $9 = HEAP32[$8>>2]|0; + _sqlite3DeleteTriggerStep($6,$9); + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + _sqlite3DbFree($10,$12); + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + _sqlite3DbFree($13,$16); + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + _sqlite3ExprDelete($17,$20); + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + _sqlite3IdListDelete($21,$24); + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$3>>2]|0; + _sqlite3DbFree($25,$26); + STACKTOP = sp;return; } -function _fts3SegReaderCmp($pLhs,$pRhs) { - $pLhs = $pLhs|0; - $pRhs = $pRhs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; +function _sqlite3DeleteTable($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $rc2 = sp; - HEAP32[$0>>2] = $pLhs; - HEAP32[$1>>2] = $pRhs; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 40|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 40|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - if ($9) { - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 60|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 60|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($12) - ($15))|0; - HEAP32[$rc2>>2] = $16; - $17 = HEAP32[$rc2>>2]|0; - $18 = ($17|0)<(0); - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 64|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 64|0); - $24 = HEAP32[$23>>2]|0; - if ($18) { - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 60|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_memcmp($21,$24,$27)|0); - HEAP32[$rc>>2] = $28; - } else { - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 60|0); - $31 = HEAP32[$30>>2]|0; - $32 = (_memcmp($21,$24,$31)|0); - HEAP32[$rc>>2] = $32; - } - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $35; - } - } else { - label = 8; + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + if ($7) { + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 456|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + label = 4; } } else { - label = 8; - } - if ((label|0) == 8) { - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 40|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==(0|0); - $40 = $39&1; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 40|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)==(0|0); - $45 = $44&1; - $46 = (($40) - ($45))|0; - HEAP32[$rc>>2] = $46; + label = 4; } - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)==(0); - if (!($48)) { - $54 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($54|0); + if ((label|0) == 4) { + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 36|0); + $14 = HEAP16[$13>>1]|0; + $15 = (($14) + -1)<<16>>16; + HEAP16[$13>>1] = $15; + $16 = $15&65535; + $17 = ($16|0)>(0); + if ($17) { + STACKTOP = sp;return; + } } - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$0>>2]|0; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) - ($52))|0; - HEAP32[$rc>>2] = $53; - $54 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($54|0); + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$3>>2]|0; + _deleteTable($18,$19); + STACKTOP = sp;return; } -function _fts3SegReaderSort($apSegment,$nSegment,$nSuspect,$xCmp) { - $apSegment = $apSegment|0; - $nSegment = $nSegment|0; - $nSuspect = $nSuspect|0; - $xCmp = $xCmp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $pTmp = 0, label = 0, sp = 0; +function _sqlite3VdbeClearObject($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; $2 = sp + 16|0; $3 = sp + 12|0; - $i = sp + 8|0; - $j = sp + 4|0; - $pTmp = sp; - HEAP32[$0>>2] = $apSegment; - HEAP32[$1>>2] = $nSegment; - HEAP32[$2>>2] = $nSuspect; - HEAP32[$3>>2] = $xCmp; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ($4|0)==($5|0); - if ($6) { - $7 = HEAP32[$2>>2]|0; - $8 = (($7) + -1)|0; - HEAP32[$2>>2] = $8; - } - $9 = HEAP32[$2>>2]|0; - $10 = (($9) - 1)|0; - HEAP32[$i>>2] = $10; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 100|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 140|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + $14 = $13<<1; + _releaseMemArray($9,$14); + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 200|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$4>>2] = $17; while(1) { - $11 = HEAP32[$i>>2]|0; - $12 = ($11|0)>=(0); - if (!($12)) { + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { break; } - $13 = HEAP32[$i>>2]|0; - HEAP32[$j>>2] = $13; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$5>>2] = $22; + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + _vdbeFreeOpArray($23,$25,$28); + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$4>>2]|0; + _sqlite3DbFree($29,$30); + $31 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $31; + } + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)!=(381479589); + if ($35) { + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 116|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 16|0); + $41 = HEAP16[$40>>1]|0; + $42 = $41 << 16 >> 16; + _releaseMemArray($38,$42); + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 18|0); + $45 = HEAP16[$44>>1]|0; + $46 = $45 << 16 >> 16; + $47 = (($46) - 1)|0; + HEAP32[$6>>2] = $47; while(1) { - $14 = HEAP32[$j>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = (($15) - 1)|0; - $17 = ($14|0)<($16|0); - if (!($17)) { - break; - } - $18 = HEAP32[$3>>2]|0; - $19 = HEAP32[$j>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + ($19<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$j>>2]|0; - $24 = (($23) + 1)|0; - $25 = HEAP32[$0>>2]|0; - $26 = (($25) + ($24<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = (FUNCTION_TABLE_iii[$18 & 255]($22,$27)|0); - $29 = ($28|0)<(0); - if ($29) { + $48 = HEAP32[$6>>2]|0; + $49 = ($48|0)>=(0); + $50 = HEAP32[$2>>2]|0; + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 120|0); + $53 = HEAP32[$52>>2]|0; + if (!($49)) { break; } - $30 = HEAP32[$j>>2]|0; - $31 = (($30) + 1)|0; - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + ($31<<2)|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$pTmp>>2] = $34; - $35 = HEAP32[$j>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = (($36) + ($35<<2)|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$j>>2]|0; - $40 = (($39) + 1)|0; - $41 = HEAP32[$0>>2]|0; - $42 = (($41) + ($40<<2)|0); - HEAP32[$42>>2] = $38; - $43 = HEAP32[$pTmp>>2]|0; - $44 = HEAP32[$j>>2]|0; - $45 = HEAP32[$0>>2]|0; - $46 = (($45) + ($44<<2)|0); - HEAP32[$46>>2] = $43; - $47 = HEAP32[$j>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[$j>>2] = $48; + $54 = HEAP32[$6>>2]|0; + $55 = (($53) + ($54<<2)|0); + $56 = HEAP32[$55>>2]|0; + _sqlite3DbFree($50,$56); + $57 = HEAP32[$6>>2]|0; + $58 = (($57) + -1)|0; + HEAP32[$6>>2] = $58; } - $49 = HEAP32[$i>>2]|0; - $50 = (($49) + -1)|0; - HEAP32[$i>>2] = $50; + _sqlite3DbFree($50,$53); + $59 = HEAP32[$2>>2]|0; + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 180|0); + $62 = HEAP32[$61>>2]|0; + _sqlite3DbFree($59,$62); } + $63 = HEAP32[$2>>2]|0; + $64 = HEAP32[$3>>2]|0; + $65 = ((($64)) + 88|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$3>>2]|0; + $68 = ((($67)) + 136|0); + $69 = HEAP32[$68>>2]|0; + _vdbeFreeOpArray($63,$66,$69); + $70 = HEAP32[$2>>2]|0; + $71 = HEAP32[$3>>2]|0; + $72 = ((($71)) + 100|0); + $73 = HEAP32[$72>>2]|0; + _sqlite3DbFree($70,$73); + $74 = HEAP32[$2>>2]|0; + $75 = HEAP32[$3>>2]|0; + $76 = ((($75)) + 176|0); + $77 = HEAP32[$76>>2]|0; + _sqlite3DbFree($74,$77); STACKTOP = sp;return; } -function _fts3MsrBufferData($pMsr,$pList,$nList) { - $pMsr = $pMsr|0; - $pList = $pList|0; - $nList = $nList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pNew = 0, label = 0, sp = 0; +function _releaseMemArray($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $pNew = sp; - HEAP32[$1>>2] = $pMsr; - HEAP32[$2>>2] = $pList; - HEAP32[$3>>2] = $nList; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($4|0)>($7|0); - do { - if ($8) { - $9 = HEAP32[$3>>2]|0; - $10 = $9<<1; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 20|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 16|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 20|0); - $18 = HEAP32[$17>>2]|0; - $19 = (_sqlite3_realloc($15,$18)|0); - HEAP32[$pNew>>2] = $19; - $20 = HEAP32[$pNew>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$pNew>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 16|0); - HEAP32[$24>>2] = $22; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + $8 = HEAP32[$3>>2]|0; + $9 = ($8|0)!=(0); + $or$cond = $7 & $9; + if (!($or$cond)) { + STACKTOP = sp;return; + } + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = (($10) + (($11*40)|0)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 32|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$5>>2] = $15; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 456|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + while(1) { + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0); + if ($23) { + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 20|0); + $27 = HEAP32[$26>>2]|0; + _sqlite3DbFree($24,$27); + } + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 40|0); + HEAP32[$2>>2] = $29; + $30 = HEAP32[$4>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if (!($31)) { break; } - HEAP32[$0>>2] = 7; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); } - } while(0); - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 16|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$3>>2]|0; - _memcpy(($27|0),($28|0),($29|0))|0; - HEAP32[$0>>2] = 0; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); + STACKTOP = sp;return; + } + while(1) { + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP16[$33>>1]|0; + $35 = $34&65535; + $36 = $35 & 9312; + $37 = ($36|0)!=(0); + $38 = HEAP32[$2>>2]|0; + if ($37) { + _sqlite3VdbeMemRelease($38); + } else { + $39 = ((($38)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)!=(0); + if ($41) { + $42 = HEAP32[$5>>2]|0; + $43 = HEAP32[$2>>2]|0; + $44 = ((($43)) + 20|0); + $45 = HEAP32[$44>>2]|0; + _sqlite3DbFree($42,$45); + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 24|0); + HEAP32[$47>>2] = 0; + } + } + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 8|0); + HEAP16[$49>>1] = 128; + $50 = HEAP32[$2>>2]|0; + $51 = ((($50)) + 40|0); + HEAP32[$2>>2] = $51; + $52 = HEAP32[$4>>2]|0; + $53 = ($51>>>0)<($52>>>0); + if (!($53)) { + break; + } + } + STACKTOP = sp;return; } -function _fts3SegReaderFirstDocid($pTab,$pReader) { - $pTab = $pTab|0; - $pReader = $pReader|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bEof = 0, $n = 0, $rc = 0, label = 0, sp = 0; +function _vdbeFreeOpArray($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $bEof = sp + 16|0; - $n = sp; - HEAP32[$0>>2] = $pTab; - HEAP32[$1>>2] = $pReader; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 231|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 56|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - HEAP8[$bEof>>0] = 0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 88|0); - $13 = $12; - $14 = $13; - HEAP32[$14>>2] = 0; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = 0; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 84|0); - HEAP32[$18>>2] = 0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 72|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 76|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 80|0); - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 88|0); - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 84|0); - _sqlite3Fts3DoclistPrev(0,$21,$24,$26,$28,$30,$bEof); - $51 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($51|0); - } + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + $29 = HEAP32[$3>>2]|0; + $30 = HEAP32[$4>>2]|0; + _sqlite3DbFree($29,$30); + STACKTOP = sp;return; } - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 72|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_fts3SegReaderRequire($31,$34,10)|0); - HEAP32[$rc>>2] = $35; - $36 = HEAP32[$rc>>2]|0; - $37 = ($36|0)==(0); - if (!($37)) { - $51 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($51|0); + $9 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $9; + while(1) { + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = (($11) + (($12*20)|0)|0); + $14 = ($10>>>0)<($13>>>0); + if (!($14)) { + break; + } + $15 = HEAP32[$6>>2]|0; + $16 = ((($15)) + 1|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17<<24>>24)!=(0); + if ($18) { + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 16|0); + $26 = HEAP32[$25>>2]|0; + _freeP4($19,$23,$26); + } + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 20|0); + HEAP32[$6>>2] = $28; } - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 72|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 88|0); - $43 = (_sqlite3Fts3GetVarint($40,$42)|0); - HEAP32[$n>>2] = $43; - $44 = HEAP32[$n>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 72|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + ($44)|0); - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 80|0); - HEAP32[$50>>2] = $48; - $51 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($51|0); + $29 = HEAP32[$3>>2]|0; + $30 = HEAP32[$4>>2]|0; + _sqlite3DbFree($29,$30); + STACKTOP = sp;return; } -function _fts3SegReaderNextDocid($pTab,$pReader,$ppOffsetList,$pnOffsetList) { - $pTab = $pTab|0; - $pReader = $pReader|0; - $ppOffsetList = $ppOffsetList|0; - $pnOffsetList = $pnOffsetList|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $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, $bEof = 0, $c = 0, $iDelta = 0, $p = 0, $pEnd = 0; - var $rc = 0, label = 0, sp = 0; +function _freeP4($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $rc = sp + 16|0; - $p = sp + 12|0; - $c = sp + 41|0; - $bEof = sp + 40|0; - $pEnd = sp + 8|0; - $iDelta = sp; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $pReader; - HEAP32[$3>>2] = $ppOffsetList; - HEAP32[$4>>2] = $pnOffsetList; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$2>>2]|0; - $6 = ((($5)) + 80|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$p>>2] = $7; - HEAP8[$c>>0] = 0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 231|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)!=(0); - do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 56|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - HEAP8[$bEof>>0] = 0; - $17 = HEAP32[$3>>2]|0; - $18 = ($17|0)!=(0|0); - if ($18) { - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 80|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$3>>2]|0; - HEAP32[$22>>2] = $21; - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 84|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) - 1)|0; - $27 = HEAP32[$4>>2]|0; - HEAP32[$27>>2] = $26; - } - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 72|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$2>>2]|0; - $32 = ((($31)) + 76|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 88|0); - $36 = HEAP32[$2>>2]|0; - $37 = ((($36)) + 84|0); - _sqlite3Fts3DoclistPrev(0,$30,$33,$p,$35,$37,$bEof); - $38 = HEAP8[$bEof>>0]|0; - $39 = ($38<<24>>24)!=(0); - if ($39) { - $40 = HEAP32[$2>>2]|0; - $41 = ((($40)) + 80|0); - HEAP32[$41>>2] = 0; - break; - } else { - $42 = HEAP32[$p>>2]|0; - $43 = HEAP32[$2>>2]|0; - $44 = ((($43)) + 80|0); - HEAP32[$44>>2] = $42; - break; - } - } else { - label = 8; - } - } else { - label = 8; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + L1: do { + switch ($6|0) { + case -21: { + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$5>>2]|0; + _freeP4FuncCtx($7,$8); + break; } - } while(0); - do { - if ((label|0) == 8) { - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 76|0); - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$2>>2]|0; - $49 = ((($48)) + 72|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($47)|0); - HEAP32[$pEnd>>2] = $51; - while(1) { - $52 = HEAP32[$p>>2]|0; - $53 = HEAP8[$52>>0]|0; - $54 = $53 << 24 >> 24; - $55 = HEAP8[$c>>0]|0; - $56 = $55 << 24 >> 24; - $57 = $54 | $56; - $58 = ($57|0)!=(0); - if ($58) { - $59 = HEAP32[$p>>2]|0; - $60 = ((($59)) + 1|0); - HEAP32[$p>>2] = $60; - $61 = HEAP8[$59>>0]|0; - $62 = $61 << 24 >> 24; - $63 = $62 & 128; - $64 = $63&255; - HEAP8[$c>>0] = $64; - continue; - } - $65 = HEAP32[$2>>2]|0; - $66 = ((($65)) + 52|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)==(0|0); - if ($68) { - break; - } - $69 = HEAP32[$p>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = ((($70)) + 48|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$2>>2]|0; - $74 = ((($73)) + 40|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($75) + ($72)|0); - $77 = ($69>>>0)<($76>>>0); - if ($77) { - break; - } - $78 = HEAP32[$2>>2]|0; - $79 = (_fts3SegReaderIncrRead($78)|0); - HEAP32[$rc>>2] = $79; - $80 = HEAP32[$rc>>2]|0; - $81 = ($80|0)!=(0); - if ($81) { - label = 14; - break; - } - } - if ((label|0) == 14) { - $82 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $82; - $153 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($153|0); - } - $83 = HEAP32[$p>>2]|0; - $84 = ((($83)) + 1|0); - HEAP32[$p>>2] = $84; - $85 = HEAP32[$3>>2]|0; - $86 = ($85|0)!=(0|0); - if ($86) { - $87 = HEAP32[$2>>2]|0; - $88 = ((($87)) + 80|0); - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$3>>2]|0; - HEAP32[$90>>2] = $89; - $91 = HEAP32[$p>>2]|0; - $92 = HEAP32[$2>>2]|0; - $93 = ((($92)) + 80|0); - $94 = HEAP32[$93>>2]|0; - $95 = $91; - $96 = $94; - $97 = (($95) - ($96))|0; - $98 = (($97) - 1)|0; - $99 = HEAP32[$4>>2]|0; - HEAP32[$99>>2] = $98; - } - while(1) { - $100 = HEAP32[$p>>2]|0; - $101 = HEAP32[$pEnd>>2]|0; - $102 = ($100>>>0)<($101>>>0); - if ($102) { - $103 = HEAP32[$p>>2]|0; - $104 = HEAP8[$103>>0]|0; - $105 = $104 << 24 >> 24; - $106 = ($105|0)==(0); - $154 = $106; - } else { - $154 = 0; - } - $107 = HEAP32[$p>>2]|0; - if (!($154)) { - break; - } - $108 = ((($107)) + 1|0); - HEAP32[$p>>2] = $108; - } - $109 = HEAP32[$pEnd>>2]|0; - $110 = ($107>>>0)>=($109>>>0); - $111 = HEAP32[$2>>2]|0; - if ($110) { - $112 = ((($111)) + 80|0); - HEAP32[$112>>2] = 0; - break; - } - $113 = HEAP32[$p>>2]|0; - $114 = (_fts3SegReaderRequire($111,$113,10)|0); - HEAP32[$rc>>2] = $114; - $115 = HEAP32[$rc>>2]|0; - $116 = ($115|0)==(0); - if ($116) { - $117 = HEAP32[$p>>2]|0; - $118 = HEAP32[$p>>2]|0; - $119 = (_sqlite3Fts3GetVarint($118,$iDelta)|0); - $120 = (($117) + ($119)|0); - $121 = HEAP32[$2>>2]|0; - $122 = ((($121)) + 80|0); - HEAP32[$122>>2] = $120; - $123 = HEAP32[$1>>2]|0; - $124 = ((($123)) + 231|0); - $125 = HEAP8[$124>>0]|0; - $126 = ($125<<24>>24)!=(0); - $127 = $iDelta; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = HEAP32[$2>>2]|0; - $134 = ((($133)) + 88|0); - $135 = $134; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = (($135) + 4)|0; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - if ($126) { - $141 = (_i64Subtract(($137|0),($140|0),($129|0),($132|0))|0); - $142 = tempRet0; - $143 = $134; - $144 = $143; - HEAP32[$144>>2] = $141; - $145 = (($143) + 4)|0; - $146 = $145; - HEAP32[$146>>2] = $142; - break; - } else { - $147 = (_i64Add(($137|0),($140|0),($129|0),($132|0))|0); - $148 = tempRet0; - $149 = $134; - $150 = $149; - HEAP32[$150>>2] = $147; - $151 = (($149) + 4)|0; - $152 = $151; - HEAP32[$152>>2] = $148; - break; - } - } + case -15: case -1: case -13: case -12: { + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$5>>2]|0; + _sqlite3DbFree($9,$10); + break; } - } while(0); - HEAP32[$0>>2] = 0; - $153 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($153|0); -} -function _fts3ColumnFilter($iCol,$bZero,$ppList,$pnList) { - $iCol = $iCol|0; - $bZero = $bZero|0; - $ppList = $ppList|0; - $pnList = $pnList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $c = 0, $iCurrent = 0, $nList = 0; - var $p = 0, $pEnd = 0, $pList = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $pList = sp + 16|0; - $nList = sp + 12|0; - $pEnd = sp + 8|0; - $iCurrent = sp + 4|0; - $p = sp; - $c = sp + 36|0; - HEAP32[$0>>2] = $iCol; - HEAP32[$1>>2] = $bZero; - HEAP32[$2>>2] = $ppList; - HEAP32[$3>>2] = $pnList; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$pList>>2] = $5; - $6 = HEAP32[$3>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$nList>>2] = $7; - $8 = HEAP32[$nList>>2]|0; - $9 = HEAP32[$pList>>2]|0; - $10 = (($9) + ($8)|0); - HEAP32[$pEnd>>2] = $10; - HEAP32[$iCurrent>>2] = 0; - $11 = HEAP32[$pList>>2]|0; - HEAP32[$p>>2] = $11; - while(1) { - HEAP8[$c>>0] = 0; - while(1) { - $12 = HEAP32[$p>>2]|0; - $13 = HEAP32[$pEnd>>2]|0; - $14 = ($12>>>0)<($13>>>0); - if (!($14)) { - break; + case -6: { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 456|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + $15 = HEAP32[$5>>2]|0; + _sqlite3KeyInfoUnref($15); } - $15 = HEAP8[$c>>0]|0; - $16 = $15 << 24 >> 24; - $17 = HEAP32[$p>>2]|0; - $18 = HEAP8[$17>>0]|0; - $19 = $18 << 24 >> 24; - $20 = $16 | $19; - $21 = $20 & 254; - $22 = ($21|0)!=(0); - if (!($22)) { - break; + break; + } + case -11: { + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 456|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0|0); + if ($19) { + $20 = HEAP32[$5>>2]|0; + _sqlite3_free($20); } - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 1|0); - HEAP32[$p>>2] = $24; - $25 = HEAP8[$23>>0]|0; - $26 = $25 << 24 >> 24; - $27 = $26 & 128; - $28 = $27&255; - HEAP8[$c>>0] = $28; + break; } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$iCurrent>>2]|0; - $31 = ($29|0)==($30|0); - $32 = HEAP32[$p>>2]|0; - $33 = HEAP32[$pList>>2]|0; - $34 = $32; - $35 = $33; - $36 = (($34) - ($35))|0; - if ($31) { - label = 7; + case -5: { + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$5>>2]|0; + _freeEphemeralFunction($21,$22); break; } - $37 = HEAP32[$nList>>2]|0; - $38 = (($37) - ($36))|0; - HEAP32[$nList>>2] = $38; - $39 = HEAP32[$p>>2]|0; - HEAP32[$pList>>2] = $39; - $40 = HEAP32[$nList>>2]|0; - $41 = ($40|0)==(0); - if ($41) { + case -8: { + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 456|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + $27 = HEAP32[$5>>2]|0; + _sqlite3ValueFree($27); + break L1; + } else { + $28 = HEAP32[$3>>2]|0; + $29 = HEAP32[$5>>2]|0; + _freeP4Mem($28,$29); + break L1; + } break; } - $42 = HEAP32[$pList>>2]|0; - $43 = ((($42)) + 1|0); - HEAP32[$p>>2] = $43; - $44 = HEAP32[$p>>2]|0; - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $47 = $46 & 128; - $48 = ($47|0)!=(0); - $49 = HEAP32[$p>>2]|0; - if ($48) { - $50 = (_sqlite3Fts3GetVarint32($49,$iCurrent)|0); - $55 = $50; - } else { - $51 = HEAP8[$49>>0]|0; - $52 = $51&255; - HEAP32[$iCurrent>>2] = $52; - $55 = 1; + case -10: { + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 456|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0|0); + if ($33) { + $34 = HEAP32[$5>>2]|0; + _sqlite3VtabUnlock($34); + } + break; } - $53 = HEAP32[$p>>2]|0; - $54 = (($53) + ($55)|0); - HEAP32[$p>>2] = $54; - } - if ((label|0) == 7) { - HEAP32[$nList>>2] = $36; - } - $56 = HEAP32[$1>>2]|0; - $57 = ($56|0)!=(0); - if (!($57)) { - $73 = HEAP32[$pList>>2]|0; - $74 = HEAP32[$2>>2]|0; - HEAP32[$74>>2] = $73; - $75 = HEAP32[$nList>>2]|0; - $76 = HEAP32[$3>>2]|0; - HEAP32[$76>>2] = $75; - STACKTOP = sp;return; - } - $58 = HEAP32[$nList>>2]|0; - $59 = HEAP32[$pList>>2]|0; - $60 = (($59) + ($58)|0); - $61 = HEAP32[$pEnd>>2]|0; - $62 = ($60|0)!=($61|0); - if (!($62)) { - $73 = HEAP32[$pList>>2]|0; - $74 = HEAP32[$2>>2]|0; - HEAP32[$74>>2] = $73; - $75 = HEAP32[$nList>>2]|0; - $76 = HEAP32[$3>>2]|0; - HEAP32[$76>>2] = $75; - STACKTOP = sp;return; - } - $63 = HEAP32[$nList>>2]|0; - $64 = HEAP32[$pList>>2]|0; - $65 = (($64) + ($63)|0); - $66 = HEAP32[$pEnd>>2]|0; - $67 = HEAP32[$nList>>2]|0; - $68 = HEAP32[$pList>>2]|0; - $69 = (($68) + ($67)|0); - $70 = $66; - $71 = $69; - $72 = (($70) - ($71))|0; - _memset(($65|0),0,($72|0))|0; - $73 = HEAP32[$pList>>2]|0; - $74 = HEAP32[$2>>2]|0; - HEAP32[$74>>2] = $73; - $75 = HEAP32[$nList>>2]|0; - $76 = HEAP32[$3>>2]|0; - HEAP32[$76>>2] = $75; + default: { + } + } + } while(0); STACKTOP = sp;return; } -function _sqlite3Fts3FirstFilter($0,$1,$pList,$nList,$pOut) { +function _freeP4FuncCtx($0,$1) { $0 = $0|0; $1 = $1|0; - $pList = $pList|0; - $nList = $nList|0; - $pOut = $pOut|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $bWritten = 0, $iCol = 0, $nOut = 0, $p = 0, $pEnd = 0, label = 0; - var sp = 0; + var $2 = 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; - $2 = sp + 8|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $5 = sp + 32|0; - $nOut = sp + 28|0; - $bWritten = sp + 24|0; - $p = sp + 20|0; - $pEnd = sp + 16|0; - $iCol = sp; - $6 = $2; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$3>>2] = $pList; - HEAP32[$4>>2] = $nList; - HEAP32[$5>>2] = $pOut; - HEAP32[$nOut>>2] = 0; - HEAP32[$bWritten>>2] = 0; - $10 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $10; - $11 = HEAP32[$4>>2]|0; - $12 = HEAP32[$3>>2]|0; - $13 = (($12) + ($11)|0); - HEAP32[$pEnd>>2] = $13; - $14 = HEAP32[$p>>2]|0; - $15 = HEAP8[$14>>0]|0; - $16 = $15 << 24 >> 24; - $17 = ($16|0)!=(1); - if ($17) { - $18 = HEAP32[$p>>2]|0; - $19 = HEAP8[$18>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($20|0)==(2); - if ($21) { - $22 = HEAP32[$nOut>>2]|0; - $23 = HEAP32[$5>>2]|0; - $24 = (($23) + ($22)|0); - $25 = $2; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3Fts3PutVarint($24,$27,$30)|0); - $32 = HEAP32[$nOut>>2]|0; - $33 = (($32) + ($31))|0; - HEAP32[$nOut>>2] = $33; - $34 = HEAP32[$nOut>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$nOut>>2] = $35; - $36 = HEAP32[$5>>2]|0; - $37 = (($36) + ($34)|0); - HEAP8[$37>>0] = 2; - HEAP32[$bWritten>>2] = 1; - } - _fts3ColumnlistCopy(0,$p); - } - while(1) { - $38 = HEAP32[$p>>2]|0; - $39 = HEAP32[$pEnd>>2]|0; - $40 = ($38>>>0)<($39>>>0); - if (!($40)) { - break; - } - $41 = HEAP32[$p>>2]|0; - $42 = HEAP8[$41>>0]|0; - $43 = $42 << 24 >> 24; - $44 = ($43|0)==(1); - if (!($44)) { - break; - } - $45 = HEAP32[$p>>2]|0; - $46 = ((($45)) + 1|0); - HEAP32[$p>>2] = $46; - $47 = HEAP32[$p>>2]|0; - $48 = (_sqlite3Fts3GetVarint($47,$iCol)|0); - $49 = HEAP32[$p>>2]|0; - $50 = (($49) + ($48)|0); - HEAP32[$p>>2] = $50; - $51 = HEAP32[$p>>2]|0; - $52 = HEAP8[$51>>0]|0; - $53 = $52 << 24 >> 24; - $54 = ($53|0)==(2); - if ($54) { - $55 = HEAP32[$bWritten>>2]|0; - $56 = ($55|0)==(0); - if ($56) { - $57 = HEAP32[$nOut>>2]|0; - $58 = HEAP32[$5>>2]|0; - $59 = (($58) + ($57)|0); - $60 = $2; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (($60) + 4)|0; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (_sqlite3Fts3PutVarint($59,$62,$65)|0); - $67 = HEAP32[$nOut>>2]|0; - $68 = (($67) + ($66))|0; - HEAP32[$nOut>>2] = $68; - HEAP32[$bWritten>>2] = 1; - } - $69 = HEAP32[$nOut>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$nOut>>2] = $70; - $71 = HEAP32[$5>>2]|0; - $72 = (($71) + ($69)|0); - HEAP8[$72>>0] = 1; - $73 = HEAP32[$nOut>>2]|0; - $74 = HEAP32[$5>>2]|0; - $75 = (($74) + ($73)|0); - $76 = $iCol; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = (($76) + 4)|0; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (_sqlite3Fts3PutVarint($75,$78,$81)|0); - $83 = HEAP32[$nOut>>2]|0; - $84 = (($83) + ($82))|0; - HEAP32[$nOut>>2] = $84; - $85 = HEAP32[$nOut>>2]|0; - $86 = (($85) + 1)|0; - HEAP32[$nOut>>2] = $86; - $87 = HEAP32[$5>>2]|0; - $88 = (($87) + ($85)|0); - HEAP8[$88>>0] = 2; - } - _fts3ColumnlistCopy(0,$p); - } - $89 = HEAP32[$bWritten>>2]|0; - $90 = ($89|0)!=(0); - if (!($90)) { - $95 = HEAP32[$nOut>>2]|0; - STACKTOP = sp;return ($95|0); - } - $91 = HEAP32[$nOut>>2]|0; - $92 = (($91) + 1)|0; - HEAP32[$nOut>>2] = $92; - $93 = HEAP32[$5>>2]|0; - $94 = (($93) + ($91)|0); - HEAP8[$94>>0] = 0; - $95 = HEAP32[$nOut>>2]|0; - STACKTOP = sp;return ($95|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + _freeEphemeralFunction($4,$7); + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + _sqlite3DbFree($8,$9); + STACKTOP = sp;return; } -function _fts3ColumnlistCopy($pp,$ppPoslist) { - $pp = $pp|0; - $ppPoslist = $ppPoslist|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0; - var $n = 0, $p = 0, $pEnd = 0, label = 0, sp = 0; +function _sqlite3KeyInfoUnref($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pEnd = sp + 8|0; - $c = sp + 20|0; - $n = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pp; - HEAP32[$1>>2] = $ppPoslist; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pEnd>>2] = $3; - HEAP8[$c>>0] = 0; - while(1) { - $4 = HEAP32[$pEnd>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5 << 24 >> 24; - $7 = HEAP8[$c>>0]|0; - $8 = $7 << 24 >> 24; - $9 = $6 | $8; - $10 = 254 & $9; - $11 = ($10|0)!=(0); - if (!($11)) { - break; - } - $12 = HEAP32[$pEnd>>2]|0; - $13 = ((($12)) + 1|0); - HEAP32[$pEnd>>2] = $13; - $14 = HEAP8[$12>>0]|0; - $15 = $14 << 24 >> 24; - $16 = $15 & 128; - $17 = $16&255; - HEAP8[$c>>0] = $17; - } - $18 = HEAP32[$0>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - $37 = HEAP32[$pEnd>>2]|0; - $38 = HEAP32[$1>>2]|0; - HEAP32[$38>>2] = $37; + $3 = ($2|0)!=(0|0); + if (!($3)) { STACKTOP = sp;return; } - $20 = HEAP32[$pEnd>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = $20; - $24 = $22; - $25 = (($23) - ($24))|0; - HEAP32[$n>>2] = $25; - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$26>>2]|0; - HEAP32[$p>>2] = $27; - $28 = HEAP32[$p>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$n>>2]|0; - _memcpy(($28|0),($30|0),($31|0))|0; - $32 = HEAP32[$n>>2]|0; - $33 = HEAP32[$p>>2]|0; - $34 = (($33) + ($32)|0); - HEAP32[$p>>2] = $34; - $35 = HEAP32[$p>>2]|0; - $36 = HEAP32[$0>>2]|0; - HEAP32[$36>>2] = $35; - $37 = HEAP32[$pEnd>>2]|0; - $38 = HEAP32[$1>>2]|0; - HEAP32[$38>>2] = $37; - STACKTOP = sp;return; -} -function _sqlite3Fts3GetVarint($p,$v) { - $p = $p|0; - $v = $v|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0; - var $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, $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, $a = 0, $b = 0, $c = 0, $pStart = 0, $shift = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $pStart = sp + 24|0; - $a = sp + 20|0; - $b = sp + 8|0; - $shift = sp + 16|0; - $c = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $v; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pStart>>2] = $3; $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 1|0); - HEAP32[$1>>2] = $5; - $6 = HEAP8[$4>>0]|0; - $7 = $6 << 24 >> 24; - HEAP32[$a>>2] = $7; - $8 = HEAP32[$a>>2]|0; - $9 = $8 & 128; - $10 = ($9|0)==(0); - $11 = HEAP32[$a>>2]|0; - if ($10) { - $12 = HEAP32[$2>>2]|0; - $13 = $12; - $14 = $13; - HEAP32[$14>>2] = $11; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = 0; - HEAP32[$0>>2] = 1; - $132 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($132|0); - } - $17 = $11 & 127; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 1|0); - HEAP32[$1>>2] = $19; - $20 = HEAP8[$18>>0]|0; - $21 = $20 << 24 >> 24; - $22 = $21 << 7; - $23 = $17 | $22; - HEAP32[$a>>2] = $23; - $24 = HEAP32[$a>>2]|0; - $25 = $24 & 16384; - $26 = ($25|0)==(0); - $27 = HEAP32[$a>>2]|0; - if ($26) { - $28 = HEAP32[$2>>2]|0; - $29 = $28; - $30 = $29; - HEAP32[$30>>2] = $27; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = 0; - HEAP32[$0>>2] = 2; - $132 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($132|0); - } - $33 = $27 & 16383; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 1|0); - HEAP32[$1>>2] = $35; - $36 = HEAP8[$34>>0]|0; - $37 = $36 << 24 >> 24; - $38 = $37 << 14; - $39 = $33 | $38; - HEAP32[$a>>2] = $39; - $40 = HEAP32[$a>>2]|0; - $41 = $40 & 2097152; - $42 = ($41|0)==(0); - $43 = HEAP32[$a>>2]|0; - if ($42) { - $44 = HEAP32[$2>>2]|0; - $45 = $44; - $46 = $45; - HEAP32[$46>>2] = $43; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = 0; - HEAP32[$0>>2] = 3; - $132 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($132|0); - } - $49 = $43 & 2097151; - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 1|0); - HEAP32[$1>>2] = $51; - $52 = HEAP8[$50>>0]|0; - $53 = $52 << 24 >> 24; - $54 = $53 << 21; - $55 = $49 | $54; - HEAP32[$a>>2] = $55; - $56 = HEAP32[$a>>2]|0; - $57 = $56 & 268435456; - $58 = ($57|0)==(0); - $59 = HEAP32[$a>>2]|0; - if ($58) { - $60 = HEAP32[$2>>2]|0; - $61 = $60; - $62 = $61; - HEAP32[$62>>2] = $59; - $63 = (($61) + 4)|0; - $64 = $63; - HEAP32[$64>>2] = 0; - HEAP32[$0>>2] = 4; - $132 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($132|0); - } - $65 = $59 & 268435455; - $66 = $b; - $67 = $66; - HEAP32[$67>>2] = $65; - $68 = (($66) + 4)|0; - $69 = $68; - HEAP32[$69>>2] = 0; - HEAP32[$shift>>2] = 28; - while(1) { - $70 = HEAP32[$shift>>2]|0; - $71 = ($70|0)<=(63); - if (!($71)) { - break; - } - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 1|0); - HEAP32[$1>>2] = $73; - $74 = HEAP8[$72>>0]|0; - $75 = $74 << 24 >> 24; - $76 = ($75|0)<(0); - $77 = $76 << 31 >> 31; - $78 = $c; - $79 = $78; - HEAP32[$79>>2] = $75; - $80 = (($78) + 4)|0; - $81 = $80; - HEAP32[$81>>2] = $77; - $82 = $c; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (($82) + 4)|0; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = $84 & 127; - $89 = HEAP32[$shift>>2]|0; - $90 = (_bitshift64Shl(($88|0),0,($89|0))|0); - $91 = tempRet0; - $92 = $b; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = (_i64Add(($94|0),($97|0),($90|0),($91|0))|0); - $99 = tempRet0; - $100 = $b; - $101 = $100; - HEAP32[$101>>2] = $98; - $102 = (($100) + 4)|0; - $103 = $102; - HEAP32[$103>>2] = $99; - $104 = $c; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = $106 & 128; - $111 = ($110|0)==(0); - $112 = (0)==(0); - $113 = $111 & $112; - if ($113) { - break; - } - $114 = HEAP32[$shift>>2]|0; - $115 = (($114) + 7)|0; - HEAP32[$shift>>2] = $115; + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + -1)|0; + HEAP32[$4>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if (!($9)) { + STACKTOP = sp;return; } - $116 = $b; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$2>>2]|0; - $123 = $122; - $124 = $123; - HEAP32[$124>>2] = $118; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $121; - $127 = HEAP32[$1>>2]|0; - $128 = HEAP32[$pStart>>2]|0; - $129 = $127; - $130 = $128; - $131 = (($129) - ($130))|0; - HEAP32[$0>>2] = $131; - $132 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($132|0); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + _sqlite3DbFree($12,$13); + STACKTOP = sp;return; } -function _sqlite3Fts3GetVarint32($p,$pi) { - $p = $p|0; - $pi = $pi|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, label = 0, sp = 0; +function _freeEphemeralFunction($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; $2 = sp + 4|0; - $a = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pi; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 1|0); - HEAP32[$1>>2] = $4; - $5 = HEAP8[$3>>0]|0; - $6 = $5 << 24 >> 24; - HEAP32[$a>>2] = $6; - $7 = HEAP32[$a>>2]|0; - $8 = $7 & 127; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 1|0); - HEAP32[$1>>2] = $10; - $11 = HEAP8[$9>>0]|0; - $12 = $11 << 24 >> 24; - $13 = $12 << 7; - $14 = $8 | $13; - HEAP32[$a>>2] = $14; - $15 = HEAP32[$a>>2]|0; - $16 = $15 & 16384; - $17 = ($16|0)==(0); - $18 = HEAP32[$a>>2]|0; - if ($17) { - $19 = HEAP32[$2>>2]|0; - HEAP32[$19>>2] = $18; - HEAP32[$0>>2] = 2; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); - } - $20 = $18 & 16383; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 1|0); - HEAP32[$1>>2] = $22; - $23 = HEAP8[$21>>0]|0; - $24 = $23 << 24 >> 24; - $25 = $24 << 14; - $26 = $20 | $25; - HEAP32[$a>>2] = $26; - $27 = HEAP32[$a>>2]|0; - $28 = $27 & 2097152; - $29 = ($28|0)==(0); - $30 = HEAP32[$a>>2]|0; - if ($29) { - $31 = HEAP32[$2>>2]|0; - HEAP32[$31>>2] = $30; - HEAP32[$0>>2] = 3; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); - } - $32 = $30 & 2097151; - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 1|0); - HEAP32[$1>>2] = $34; - $35 = HEAP8[$33>>0]|0; - $36 = $35 << 24 >> 24; - $37 = $36 << 21; - $38 = $32 | $37; - HEAP32[$a>>2] = $38; - $39 = HEAP32[$a>>2]|0; - $40 = $39 & 268435456; - $41 = ($40|0)==(0); - $42 = HEAP32[$a>>2]|0; - if ($41) { - $43 = HEAP32[$2>>2]|0; - HEAP32[$43>>2] = $42; - HEAP32[$0>>2] = 4; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); - } else { - $44 = $42 & 268435455; - HEAP32[$a>>2] = $44; - $45 = HEAP32[$a>>2]|0; - $46 = HEAP32[$1>>2]|0; - $47 = HEAP8[$46>>0]|0; - $48 = $47 << 24 >> 24; - $49 = $48 & 15; - $50 = $49 << 28; - $51 = $45 | $50; - $52 = HEAP32[$2>>2]|0; - HEAP32[$52>>2] = $51; - HEAP32[$0>>2] = 5; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 2|0); + $6 = HEAP16[$5>>1]|0; + $7 = $6&65535; + $8 = $7 & 16; + $9 = ($8|0)!=(0); + if (!($9)) { + STACKTOP = sp;return; } - return (0)|0; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + _sqlite3DbFree($10,$11); + STACKTOP = sp;return; } -function _sqlite3Fts3DoclistPrev($bDescIdx,$aDoclist,$nDoclist,$ppIter,$piDocid,$pnList,$pbEof) { - $bDescIdx = $bDescIdx|0; - $aDoclist = $aDoclist|0; - $nDoclist = $nDoclist|0; - $ppIter = $ppIter|0; - $piDocid = $piDocid|0; - $pnList = $pnList|0; - $pbEof = $pbEof|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $iDelta = 0, $iDelta2 = 0, $iDocid = 0, $iMul = 0, $iMul1 = 0, $p = 0, $pDocid = 0, $pEnd = 0, $pNext = 0, $pSave = 0, label = 0, sp = 0; +function _sqlite3ValueFree($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; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = sp + 60|0; - $5 = sp + 56|0; - $6 = sp + 52|0; - $p = sp + 48|0; - $iDocid = sp + 16|0; - $pNext = sp + 44|0; - $pDocid = sp + 40|0; - $pEnd = sp + 36|0; - $iMul = sp + 32|0; - $iDelta = sp + 8|0; - $iMul1 = sp + 28|0; - $iDelta2 = sp; - $pSave = sp + 24|0; - HEAP32[$0>>2] = $bDescIdx; - HEAP32[$1>>2] = $aDoclist; - HEAP32[$2>>2] = $nDoclist; - HEAP32[$3>>2] = $ppIter; - HEAP32[$4>>2] = $piDocid; - HEAP32[$5>>2] = $pnList; - HEAP32[$6>>2] = $pbEof; - $7 = HEAP32[$3>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$p>>2] = $8; - $9 = HEAP32[$p>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - $81 = HEAP32[$0>>2]|0; - $82 = ($81|0)!=(0); - $83 = $82 ? -1 : 1; - HEAP32[$iMul1>>2] = $83; - $84 = HEAP32[$1>>2]|0; - _fts3GetReverseVarint($p,$84,$iDelta2); - $85 = HEAP32[$iMul1>>2]|0; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $iDelta2; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (___muldi3(($85|0),($87|0),($90|0),($93|0))|0); - $95 = tempRet0; - $96 = HEAP32[$4>>2]|0; - $97 = $96; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = (($97) + 4)|0; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (_i64Subtract(($99|0),($102|0),($94|0),($95|0))|0); - $104 = tempRet0; - $105 = $96; - $106 = $105; - HEAP32[$106>>2] = $103; - $107 = (($105) + 4)|0; - $108 = $107; - HEAP32[$108>>2] = $104; - $109 = HEAP32[$p>>2]|0; - $110 = HEAP32[$1>>2]|0; - $111 = ($109|0)==($110|0); - if ($111) { - $112 = HEAP32[$6>>2]|0; - HEAP8[$112>>0] = 1; - } else { - $113 = HEAP32[$p>>2]|0; - HEAP32[$pSave>>2] = $113; - $114 = HEAP32[$1>>2]|0; - _fts3ReversePoslist($114,$p); - $115 = HEAP32[$pSave>>2]|0; - $116 = HEAP32[$p>>2]|0; - $117 = $115; - $118 = $116; - $119 = (($117) - ($118))|0; - $120 = HEAP32[$5>>2]|0; - HEAP32[$120>>2] = $119; - } - $121 = HEAP32[$p>>2]|0; - $122 = HEAP32[$3>>2]|0; - HEAP32[$122>>2] = $121; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { STACKTOP = sp;return; } - $11 = $iDocid; - $12 = $11; - HEAP32[$12>>2] = 0; - $13 = (($11) + 4)|0; - $14 = $13; - HEAP32[$14>>2] = 0; - HEAP32[$pNext>>2] = 0; - $15 = HEAP32[$1>>2]|0; - HEAP32[$pDocid>>2] = $15; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + ($16)|0); - HEAP32[$pEnd>>2] = $18; - HEAP32[$iMul>>2] = 1; - while(1) { - $19 = HEAP32[$pDocid>>2]|0; - $20 = HEAP32[$pEnd>>2]|0; - $21 = ($19>>>0)<($20>>>0); - if (!($21)) { - break; - } - $22 = HEAP32[$pDocid>>2]|0; - $23 = (_sqlite3Fts3GetVarint($22,$iDelta)|0); - $24 = HEAP32[$pDocid>>2]|0; - $25 = (($24) + ($23)|0); - HEAP32[$pDocid>>2] = $25; - $26 = HEAP32[$iMul>>2]|0; - $27 = ($26|0)<(0); - $28 = $27 << 31 >> 31; - $29 = $iDelta; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (___muldi3(($26|0),($28|0),($31|0),($34|0))|0); - $36 = tempRet0; - $37 = $iDocid; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (_i64Add(($39|0),($42|0),($35|0),($36|0))|0); - $44 = tempRet0; - $45 = $iDocid; - $46 = $45; - HEAP32[$46>>2] = $43; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $44; - $49 = HEAP32[$pDocid>>2]|0; - HEAP32[$pNext>>2] = $49; - _fts3PoslistCopy(0,$pDocid); - while(1) { - $50 = HEAP32[$pDocid>>2]|0; - $51 = HEAP32[$pEnd>>2]|0; - $52 = ($50>>>0)<($51>>>0); - if (!($52)) { - break; - } - $53 = HEAP32[$pDocid>>2]|0; - $54 = HEAP8[$53>>0]|0; - $55 = $54 << 24 >> 24; - $56 = ($55|0)==(0); - if (!($56)) { - break; - } - $57 = HEAP32[$pDocid>>2]|0; - $58 = ((($57)) + 1|0); - HEAP32[$pDocid>>2] = $58; - } - $59 = HEAP32[$0>>2]|0; - $60 = ($59|0)!=(0); - $61 = $60 ? -1 : 1; - HEAP32[$iMul>>2] = $61; - } - $62 = HEAP32[$pEnd>>2]|0; - $63 = HEAP32[$pNext>>2]|0; - $64 = $62; - $65 = $63; - $66 = (($64) - ($65))|0; - $67 = HEAP32[$5>>2]|0; - HEAP32[$67>>2] = $66; - $68 = HEAP32[$pNext>>2]|0; - $69 = HEAP32[$3>>2]|0; - HEAP32[$69>>2] = $68; - $70 = $iDocid; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$4>>2]|0; - $77 = $76; - $78 = $77; - HEAP32[$78>>2] = $72; - $79 = (($77) + 4)|0; - $80 = $79; - HEAP32[$80>>2] = $75; + $4 = HEAP32[$1>>2]|0; + _sqlite3VdbeMemRelease($4); + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$1>>2]|0; + _sqlite3DbFree($7,$8); STACKTOP = sp;return; } -function _fts3SegReaderIncrRead($pReader) { - $pReader = $pReader|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0; - var $9 = 0, $nRead = 0, $rc = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _freeP4Mem($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $nRead = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pReader; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 44|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 48|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 24|0); $6 = HEAP32[$5>>2]|0; - $7 = (($3) - ($6))|0; - $8 = ($7|0)<(4096); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 44|0); + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 20|0); $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 48|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($11) - ($14))|0; - $16 = $15; - } else { - $16 = 4096; - } - HEAP32[$nRead>>2] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 52|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 40|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($22)|0); - $27 = HEAP32[$nRead>>2]|0; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 48|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3_blob_read($19,$26,$27,$30)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)==(0); - if (!($33)) { - $60 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($60|0); - } - $34 = HEAP32[$nRead>>2]|0; - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 48|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + ($34))|0; - HEAP32[$36>>2] = $38; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 48|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 40|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + ($41)|0); - dest=$45; stop=dest+20|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 48|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 44|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($48|0)==($51|0); - if (!($52)) { - $60 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($60|0); + _sqlite3DbFree($8,$11); } - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 52|0); - $55 = HEAP32[$54>>2]|0; - (_sqlite3_blob_close($55)|0); - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 52|0); - HEAP32[$57>>2] = 0; - $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 48|0); - HEAP32[$59>>2] = 0; - $60 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($60|0); + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$3>>2]|0; + _sqlite3DbFree($12,$13); + STACKTOP = sp;return; } -function _fts3SegReaderRequire($pReader,$pFrom,$nByte) { - $pReader = $pReader|0; - $pFrom = $pFrom|0; - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3VtabUnlock($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, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pReader; - HEAP32[$1>>2] = $pFrom; - HEAP32[$2>>2] = $nByte; - HEAP32[$rc>>2] = 0; - while(1) { - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 52|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - $or$cond = $6 & $8; - if (!($or$cond)) { - label = 5; - break; - } - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 40|0); - $12 = HEAP32[$11>>2]|0; - $13 = $9; - $14 = $12; - $15 = (($13) - ($14))|0; - $16 = HEAP32[$2>>2]|0; - $17 = (($15) + ($16))|0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 48|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($17|0)>($20|0); - if (!($21)) { - label = 5; - break; - } - $22 = HEAP32[$0>>2]|0; - $23 = (_fts3SegReaderIncrRead($22)|0); - HEAP32[$rc>>2] = $23; - } - if ((label|0) == 5) { - $24 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($24|0); - } - return (0)|0; -} -function _fts3PoslistCopy($pp,$ppPoslist) { - $pp = $pp|0; - $ppPoslist = $ppPoslist|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $n = 0; - var $p = 0, $pEnd = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pEnd = sp + 8|0; - $c = sp + 20|0; - $n = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pp; - HEAP32[$1>>2] = $ppPoslist; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pEnd>>2] = $3; - HEAP8[$c>>0] = 0; - while(1) { - $4 = HEAP32[$pEnd>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5 << 24 >> 24; - $7 = HEAP8[$c>>0]|0; - $8 = $7 << 24 >> 24; - $9 = $6 | $8; - $10 = ($9|0)!=(0); - $11 = HEAP32[$pEnd>>2]|0; - $12 = ((($11)) + 1|0); - HEAP32[$pEnd>>2] = $12; - if (!($10)) { - break; - } - $13 = HEAP8[$11>>0]|0; - $14 = $13 << 24 >> 24; - $15 = $14 & 128; - $16 = $15&255; - HEAP8[$c>>0] = $16; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + -1)|0; + HEAP32[$7>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + STACKTOP = sp;return; } - $17 = HEAP32[$0>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$3>>2] = $16; + $17 = HEAP32[$3>>2]|0; $18 = ($17|0)!=(0|0); - if (!($18)) { - $36 = HEAP32[$pEnd>>2]|0; - $37 = HEAP32[$1>>2]|0; - HEAP32[$37>>2] = $36; - STACKTOP = sp;return; + if ($18) { + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$3>>2]|0; + (FUNCTION_TABLE_ii[$22 & 255]($23)|0); } - $19 = HEAP32[$pEnd>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = $19; - $23 = $21; - $24 = (($22) - ($23))|0; - HEAP32[$n>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$25>>2]|0; - HEAP32[$p>>2] = $26; - $27 = HEAP32[$p>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$n>>2]|0; - _memcpy(($27|0),($29|0),($30|0))|0; - $31 = HEAP32[$n>>2]|0; - $32 = HEAP32[$p>>2]|0; - $33 = (($32) + ($31)|0); - HEAP32[$p>>2] = $33; - $34 = HEAP32[$p>>2]|0; - $35 = HEAP32[$0>>2]|0; - HEAP32[$35>>2] = $34; - $36 = HEAP32[$pEnd>>2]|0; - $37 = HEAP32[$1>>2]|0; - HEAP32[$37>>2] = $36; + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$1>>2]|0; + _sqlite3DbFree($24,$25); STACKTOP = sp;return; } -function _fts3GetReverseVarint($pp,$pStart,$pVal) { - $pp = $pp|0; - $pStart = $pStart|0; - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iVal = 0, $p = 0, label = 0, sp = 0; +function _deleteTable($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $iVal = sp; - $p = sp + 8|0; - HEAP32[$0>>2] = $pp; - HEAP32[$1>>2] = $pStart; - HEAP32[$2>>2] = $pVal; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + -2|0); - HEAP32[$p>>2] = $5; - while(1) { - $6 = HEAP32[$p>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = ($6>>>0)>=($7>>>0); - if (!($8)) { - break; - } - $9 = HEAP32[$p>>2]|0; - $10 = HEAP8[$9>>0]|0; - $11 = $10 << 24 >> 24; - $12 = $11 & 128; - $13 = ($12|0)!=(0); - if (!($13)) { - break; - } - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + -1|0); - HEAP32[$p>>2] = $15; - } - $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 1|0); - HEAP32[$p>>2] = $17; - $18 = HEAP32[$p>>2]|0; - $19 = HEAP32[$0>>2]|0; - HEAP32[$19>>2] = $18; - $20 = HEAP32[$p>>2]|0; - (_sqlite3Fts3GetVarint($20,$iVal)|0); - $21 = $iVal; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = $27; - $29 = $28; - HEAP32[$29>>2] = $23; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = $26; - STACKTOP = sp;return; -} -function _fts3ReversePoslist($pStart,$ppPoslist) { - $pStart = $pStart|0; - $ppPoslist = $ppPoslist|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $p = sp; - $c = sp + 12|0; - HEAP32[$0>>2] = $pStart; - HEAP32[$1>>2] = $ppPoslist; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + -2|0); - HEAP32[$p>>2] = $4; - HEAP8[$c>>0] = 0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; while(1) { - $5 = HEAP32[$p>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ($5>>>0)>($6>>>0); - if (!($7)) { - break; - } - $8 = HEAP32[$p>>2]|0; - $9 = ((($8)) + -1|0); - HEAP32[$p>>2] = $9; - $10 = HEAP8[$8>>0]|0; - HEAP8[$c>>0] = $10; - $11 = $10 << 24 >> 24; - $12 = ($11|0)==(0); - if (!($12)) { + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { break; } - } - while(1) { - $13 = HEAP32[$p>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ($13>>>0)>($14>>>0); - if ($15) { - $16 = HEAP32[$p>>2]|0; - $17 = HEAP8[$16>>0]|0; - $18 = $17 << 24 >> 24; - $19 = $18 & 128; - $20 = HEAP8[$c>>0]|0; - $21 = $20 << 24 >> 24; - $22 = $19 | $21; - $23 = ($22|0)!=(0); - $47 = $23; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 20|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$2>>2]|0; + $16 = ($15|0)==(0|0); + if ($16) { + label = 5; } else { - $47 = 0; - } - $24 = HEAP32[$p>>2]|0; - if (!($47)) { - break; - } - $25 = ((($24)) + -1|0); - HEAP32[$p>>2] = $25; - $26 = HEAP8[$24>>0]|0; - HEAP8[$c>>0] = $26; - } - $27 = HEAP32[$0>>2]|0; - $28 = ($24>>>0)>($27>>>0); - if ($28) { - label = 11; - } else { - $29 = HEAP8[$c>>0]|0; - $30 = $29 << 24 >> 24; - $31 = ($30|0)==(0); - if ($31) { - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 2|0); - $36 = ($33>>>0)>($35>>>0); - if ($36) { - label = 11; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 456|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0|0); + if ($20) { + label = 5; } } - } - if ((label|0) == 11) { - $37 = HEAP32[$p>>2]|0; - $38 = ((($37)) + 2|0); - HEAP32[$p>>2] = $38; - } - while(1) { - $39 = HEAP32[$p>>2]|0; - $40 = ((($39)) + 1|0); - HEAP32[$p>>2] = $40; - $41 = HEAP8[$39>>0]|0; - $42 = $41 << 24 >> 24; - $43 = $42 & 128; - $44 = ($43|0)!=(0); - if (!($44)) { - break; + if ((label|0) == 5) { + label = 0; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 42|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 & 16; + $26 = ($25|0)!=(0); + if (!($26)) { + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$27>>2]|0; + HEAP32[$6>>2] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 24|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 24|0); + $33 = HEAP32[$6>>2]|0; + (_sqlite3HashInsert($32,$33,0)|0); + } } + $34 = HEAP32[$2>>2]|0; + $35 = HEAP32[$4>>2]|0; + _freeIndex($34,$35); + $36 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $36; } - $45 = HEAP32[$p>>2]|0; - $46 = HEAP32[$1>>2]|0; - HEAP32[$46>>2] = $45; + $37 = HEAP32[$2>>2]|0; + $38 = HEAP32[$3>>2]|0; + _sqlite3FkDelete($37,$38); + $39 = HEAP32[$2>>2]|0; + $40 = HEAP32[$3>>2]|0; + _sqlite3DeleteColumnNames($39,$40); + $41 = HEAP32[$2>>2]|0; + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$42>>2]|0; + _sqlite3DbFree($41,$43); + $44 = HEAP32[$2>>2]|0; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 20|0); + $47 = HEAP32[$46>>2]|0; + _sqlite3DbFree($44,$47); + $48 = HEAP32[$2>>2]|0; + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + _sqlite3SelectDelete($48,$51); + $52 = HEAP32[$2>>2]|0; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 24|0); + $55 = HEAP32[$54>>2]|0; + _sqlite3ExprListDelete($52,$55); + $56 = HEAP32[$2>>2]|0; + $57 = HEAP32[$3>>2]|0; + _sqlite3VtabClear($56,$57); + $58 = HEAP32[$2>>2]|0; + $59 = HEAP32[$3>>2]|0; + _sqlite3DbFree($58,$59); STACKTOP = sp;return; } -function _sqlite3Fts3ReadBlock($p,$0,$1,$paBlob,$pnBlob,$pnLoad) { - $p = $p|0; +function _sqlite3HashInsert($0,$1,$2) { $0 = $0|0; $1 = $1|0; - $paBlob = $paBlob|0; - $pnBlob = $pnBlob|0; - $pnLoad = $pnLoad|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $aByte = 0, $nByte = 0, $or$cond = 0, $rc = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0; - var stop = 0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp + 8|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp; - $5 = sp + 32|0; - $6 = sp + 28|0; - $7 = sp + 24|0; - $rc = sp + 20|0; - $nByte = sp + 16|0; - $aByte = sp + 12|0; - HEAP32[$3>>2] = $p; - $8 = $4; - $9 = $8; - HEAP32[$9>>2] = $0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $1; - HEAP32[$5>>2] = $paBlob; - HEAP32[$6>>2] = $pnBlob; - HEAP32[$7>>2] = $pnLoad; - $12 = HEAP32[$3>>2]|0; - $13 = ((($12)) + 244|0); - $14 = HEAP32[$13>>2]|0; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = (_findElementWithHash($11,$12,$7)|0); + HEAP32[$8>>2] = $13; + $14 = HEAP32[$8>>2]|0; $15 = ($14|0)!=(0|0); - $16 = HEAP32[$3>>2]|0; if ($15) { - $17 = ((($16)) + 244|0); + $16 = HEAP32[$8>>2]|0; + $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; - $19 = $4; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3_blob_reopen($18,$21,$24)|0); - HEAP32[$rc>>2] = $25; - } else { - $26 = ((($16)) + 240|0); - $27 = HEAP32[$26>>2]|0; - $28 = (0|0)==($27|0); - if ($28) { - $29 = HEAP32[$3>>2]|0; - $30 = ((($29)) + 20|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$vararg_buffer>>2] = $31; - $32 = (_sqlite3_mprintf(23163,$vararg_buffer)|0); - $33 = HEAP32[$3>>2]|0; - $34 = ((($33)) + 240|0); - HEAP32[$34>>2] = $32; - $35 = HEAP32[$3>>2]|0; - $36 = ((($35)) + 240|0); - $37 = HEAP32[$36>>2]|0; - $38 = (0|0)==($37|0); - if ($38) { - HEAP32[$2>>2] = 7; - $93 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($93|0); - } + HEAP32[$10>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = ($19|0)==(0|0); + if ($20) { + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$7>>2]|0; + _removeElementGivenHash($21,$22,$23); + } else { + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = ((($25)) + 8|0); + HEAP32[$26>>2] = $24; + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 12|0); + HEAP32[$29>>2] = $27; } - $39 = HEAP32[$3>>2]|0; - $40 = ((($39)) + 12|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$3>>2]|0; - $43 = ((($42)) + 16|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$3>>2]|0; - $46 = ((($45)) + 240|0); - $47 = HEAP32[$46>>2]|0; - $48 = $4; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$3>>2]|0; - $55 = ((($54)) + 244|0); - $56 = (_sqlite3_blob_open($41,$44,$47,23175,$50,$53,0,$55)|0); - HEAP32[$rc>>2] = $56; + $30 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $30; + $82 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($82|0); } - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)==(0); - if ($58) { - $59 = HEAP32[$3>>2]|0; - $60 = ((($59)) + 244|0); - $61 = HEAP32[$60>>2]|0; - $62 = (_sqlite3_blob_bytes($61)|0); - HEAP32[$nByte>>2] = $62; - $63 = HEAP32[$nByte>>2]|0; - $64 = HEAP32[$6>>2]|0; - HEAP32[$64>>2] = $63; - $65 = HEAP32[$5>>2]|0; - $66 = ($65|0)!=(0|0); - if ($66) { - $67 = HEAP32[$nByte>>2]|0; - $68 = (($67) + 20)|0; - $69 = (_sqlite3_malloc($68)|0); - HEAP32[$aByte>>2] = $69; - $70 = HEAP32[$aByte>>2]|0; - $71 = ($70|0)!=(0|0); - if ($71) { - $72 = HEAP32[$7>>2]|0; - $73 = ($72|0)!=(0|0); - $74 = HEAP32[$nByte>>2]|0; - $75 = ($74|0)>(16384); - $or$cond = $73 & $75; - if ($or$cond) { - HEAP32[$nByte>>2] = 4096; - $76 = HEAP32[$nByte>>2]|0; - $77 = HEAP32[$7>>2]|0; - HEAP32[$77>>2] = $76; - } - $78 = HEAP32[$3>>2]|0; - $79 = ((($78)) + 244|0); - $80 = HEAP32[$79>>2]|0; - $81 = HEAP32[$aByte>>2]|0; - $82 = HEAP32[$nByte>>2]|0; - $83 = (_sqlite3_blob_read($80,$81,$82,0)|0); - HEAP32[$rc>>2] = $83; - $84 = HEAP32[$nByte>>2]|0; - $85 = HEAP32[$aByte>>2]|0; - $86 = (($85) + ($84)|0); - dest=$86; stop=dest+20|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $87 = HEAP32[$rc>>2]|0; - $88 = ($87|0)!=(0); - if ($88) { - $89 = HEAP32[$aByte>>2]|0; - _sqlite3_free($89); - HEAP32[$aByte>>2] = 0; - } - } else { - HEAP32[$rc>>2] = 7; + $31 = HEAP32[$6>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + HEAP32[$3>>2] = 0; + $82 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($82|0); + } + $33 = (_sqlite3Malloc(16,0)|0); + HEAP32[$9>>2] = $33; + $34 = HEAP32[$9>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + $36 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $36; + $82 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($82|0); + } + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$9>>2]|0; + $39 = ((($38)) + 12|0); + HEAP32[$39>>2] = $37; + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$9>>2]|0; + $42 = ((($41)) + 8|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$44>>2] = $46; + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49>>>0)>=(10); + if ($50) { + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 4|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$4>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = $55<<1; + $57 = ($53>>>0)>($56>>>0); + if ($57) { + $58 = HEAP32[$4>>2]|0; + $59 = HEAP32[$4>>2]|0; + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61<<1; + $63 = (_rehash($58,$62)|0); + $64 = ($63|0)!=(0); + if ($64) { + $65 = HEAP32[$5>>2]|0; + $66 = (_strHash($65)|0); + $67 = HEAP32[$4>>2]|0; + $68 = HEAP32[$67>>2]|0; + $69 = (($66>>>0) % ($68>>>0))&-1; + HEAP32[$7>>2] = $69; } - $90 = HEAP32[$aByte>>2]|0; - $91 = HEAP32[$5>>2]|0; - HEAP32[$91>>2] = $90; } } - $92 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $92; - $93 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($93|0); + $70 = HEAP32[$4>>2]|0; + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0|0); + if ($74) { + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 12|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$7>>2]|0; + $79 = (($77) + ($78<<3)|0); + $81 = $79; + } else { + $81 = 0; + } + $80 = HEAP32[$9>>2]|0; + _insertElement($70,$81,$80); + HEAP32[$3>>2] = 0; + $82 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($82|0); } -function _fts3SegReaderStart($p,$pCsr,$zTerm,$nTerm) { - $p = $p|0; - $pCsr = $pCsr|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $nSeg = 0, $or$cond = 0, $pSeg = 0, $rc = 0, $res = 0, label = 0, sp = 0; +function _freeIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $i = sp + 16|0; - $nSeg = sp + 12|0; - $res = sp + 8|0; - $pSeg = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pCsr; - HEAP32[$3>>2] = $zTerm; - HEAP32[$4>>2] = $nTerm; - $5 = HEAP32[$2>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$nSeg>>2] = $7; - HEAP32[$i>>2] = 0; - L1: while(1) { - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - if (!($11)) { - label = 12; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + _sqlite3DeleteIndexSamples($4,$5); + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 36|0); + $9 = HEAP32[$8>>2]|0; + _sqlite3ExprDelete($6,$9); + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 40|0); + $13 = HEAP32[$12>>2]|0; + _sqlite3ExprListDelete($10,$13); + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + _sqlite3DbFree($14,$17); + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 55|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20&255) >>> 4; + $22 = $21 & 1; + $23 = $22&255; + $24 = ($23|0)!=(0); + if (!($24)) { + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$3>>2]|0; + _sqlite3DbFree($29,$30); + STACKTOP = sp;return; + } + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 32|0); + $28 = HEAP32[$27>>2]|0; + _sqlite3DbFree($25,$28); + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$3>>2]|0; + _sqlite3DbFree($29,$30); + STACKTOP = sp;return; +} +function _sqlite3FkDelete($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$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, $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, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + while(1) { + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { break; } - $12 = HEAP32[$i>>2]|0; $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($12|0)<($15|0); - if (!($16)) { - label = 12; - break; - } - HEAP32[$res>>2] = 0; - $17 = HEAP32[$i>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + ($17<<2)|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$pSeg>>2] = $21; - while(1) { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$pSeg>>2]|0; - $24 = (_fts3SegReaderNext($22,$23,0)|0); - HEAP32[$rc>>2] = $24; - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)!=(0); - if ($26) { - label = 6; - break L1; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 456|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + label = 5; } - $28 = HEAP32[$3>>2]|0; - $29 = ($28|0)!=(0|0); - if (!($29)) { - break; + } else { + label = 5; + } + if ((label|0) == 5) { + label = 0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + if ($22) { + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 12|0); + HEAP32[$29>>2] = $25; + } else { + HEAP32[$6>>2] = $25; + $30 = HEAP32[$6>>2]|0; + $31 = ($30|0)!=(0|0); + $32 = HEAP32[$4>>2]|0; + if ($31) { + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + $$sink1 = $34; + } else { + $$sink1 = $32; + } + $35 = ((($$sink1)) + 8|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$7>>2] = $36; + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 64|0); + $39 = HEAP32[$38>>2]|0; + $40 = ((($39)) + 56|0); + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$6>>2]|0; + (_sqlite3HashInsert($40,$41,$42)|0); } - $30 = HEAP32[$pSeg>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = HEAP32[$4>>2]|0; - $33 = (_fts3SegReaderTermCmp($30,$31,$32)|0); - HEAP32[$res>>2] = $33; - $34 = ($33|0)<(0); - if (!($34)) { - break; + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)!=(0|0); + if ($46) { + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 16|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 16|0); + HEAP32[$53>>2] = $49; } } - $35 = HEAP32[$pSeg>>2]|0; - $36 = ((($35)) + 4|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = ($38|0)!=(0); - $40 = HEAP32[$res>>2]|0; - $41 = ($40|0)!=(0); - $or$cond = $39 & $41; - if ($or$cond) { - $42 = HEAP32[$pSeg>>2]|0; - _fts3SegReaderSetEof($42); - } - $43 = HEAP32[$i>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$i>>2] = $44; + $54 = HEAP32[$2>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 28|0); + $57 = HEAP32[$56>>2]|0; + _fkTriggerDelete($54,$57); + $58 = HEAP32[$2>>2]|0; + $59 = HEAP32[$4>>2]|0; + $60 = ((($59)) + 28|0); + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + _fkTriggerDelete($58,$62); + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 4|0); + $65 = HEAP32[$64>>2]|0; + HEAP32[$5>>2] = $65; + $66 = HEAP32[$2>>2]|0; + $67 = HEAP32[$4>>2]|0; + _sqlite3DbFree($66,$67); + $68 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $68; } - if ((label|0) == 6) { - $27 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $27; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); + STACKTOP = sp;return; +} +function _sqlite3DeleteColumnNames($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $8; + $9 = ($8|0)!=(0|0); + if (!($9)) { + STACKTOP = sp;return; } - else if ((label|0) == 12) { - $45 = HEAP32[$2>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$nSeg>>2]|0; - $48 = HEAP32[$nSeg>>2]|0; - _fts3SegReaderSort($46,$47,$48,184); - HEAP32[$0>>2] = 0; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); + HEAP32[$4>>2] = 0; + while(1) { + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 34|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13 << 16 >> 16; + $15 = ($10|0)<($14|0); + $16 = HEAP32[$2>>2]|0; + if (!($15)) { + break; + } + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + _sqlite3DbFree($16,$18); + $19 = HEAP32[$2>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3ExprDelete($19,$22); + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + _sqlite3DbFree($23,$26); + $27 = HEAP32[$4>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$4>>2] = $28; + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 16|0); + HEAP32[$5>>2] = $30; } - return (0)|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + _sqlite3DbFree($16,$33); + STACKTOP = sp;return; } -function _fts3SegReaderTermCmp($pSeg,$zTerm,$nTerm) { - $pSeg = $pSeg|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $res = 0, label = 0, sp = 0; +function _sqlite3SelectDelete($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; $2 = sp + 4|0; - $res = sp; - HEAP32[$0>>2] = $pSeg; - HEAP32[$1>>2] = $zTerm; - HEAP32[$2>>2] = $nTerm; - HEAP32[$res>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 40|0); - $5 = HEAP32[$4>>2]|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + _clearSelect($6,$7,1); + STACKTOP = sp;return; +} +function _sqlite3ExprListDelete($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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + _exprListDeleteNN($6,$7); + STACKTOP = sp;return; +} +function _sqlite3VtabClear($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; $6 = ($5|0)!=(0|0); - if (!($6)) { - $29 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($29|0); + if ($6) { + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 456|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + label = 3; + } + } else { + label = 3; } - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 60|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ($9|0)>($10|0); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 64|0); + if ((label|0) == 3) { + $11 = HEAP32[$3>>2]|0; + (_vtabDisconnectAll(0,$11)|0); + } + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 52|0); $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$1>>2]|0; - if ($11) { - $16 = HEAP32[$2>>2]|0; - $17 = (_memcmp($14,$15,$16)|0); - HEAP32[$res>>2] = $17; - } else { - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 60|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_memcmp($14,$15,$20)|0); - HEAP32[$res>>2] = $21; + $15 = ($14|0)!=(0|0); + if (!($15)) { + STACKTOP = sp;return; } - $22 = HEAP32[$res>>2]|0; - $23 = ($22|0)==(0); - if (!($23)) { - $29 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($29|0); + HEAP32[$4>>2] = 0; + while(1) { + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 48|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($16|0)<($19|0); + if (!($20)) { + break; + } + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)!=(1); + if ($22) { + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 52|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$4>>2]|0; + $28 = (($26) + ($27<<2)|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3DbFree($23,$29); + } + $30 = HEAP32[$4>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$4>>2] = $31; } - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 60|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = (($26) - ($27))|0; - HEAP32[$res>>2] = $28; - $29 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($29|0); + $32 = HEAP32[$2>>2]|0; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 52|0); + $35 = HEAP32[$34>>2]|0; + _sqlite3DbFree($32,$35); + STACKTOP = sp;return; } -function _fts3SegReaderCursor($p,$iLangid,$iIndex,$iLevel,$zTerm,$nTerm,$isPrefix,$isScan,$pCsr) { - $p = $p|0; - $iLangid = $iLangid|0; - $iIndex = $iIndex|0; - $iLevel = $iLevel|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - $isPrefix = $isPrefix|0; - $isScan = $isScan|0; - $pCsr = $pCsr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $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, $iEndBlock = 0, $iLeavesEndBlock = 0, $iLeavesEndBlock$ = 0, $iStartBlock = 0, $nRoot = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $pSeg = 0, $pSeg1 = 0; - var $pStmt = 0, $pi = 0, $rc = 0, $rc2 = 0, $zRoot = 0, label = 0, sp = 0; +function _vtabDisconnectAll($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 88|0; - $1 = sp + 84|0; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = sp + 64|0; - $7 = sp + 60|0; - $8 = sp + 56|0; - $rc = sp + 52|0; - $pStmt = sp + 48|0; - $rc2 = sp + 44|0; - $pSeg = sp + 40|0; - $pSeg1 = sp + 36|0; - $iStartBlock = sp + 16|0; - $iLeavesEndBlock = sp + 8|0; - $iEndBlock = sp; - $nRoot = sp + 32|0; - $zRoot = sp + 28|0; - $pi = sp + 24|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iLangid; - HEAP32[$2>>2] = $iIndex; - HEAP32[$3>>2] = $iLevel; - HEAP32[$4>>2] = $zTerm; - HEAP32[$5>>2] = $nTerm; - HEAP32[$6>>2] = $isPrefix; - HEAP32[$7>>2] = $isScan; - HEAP32[$8>>2] = $pCsr; - HEAP32[$rc>>2] = 0; - HEAP32[$pStmt>>2] = 0; - $9 = HEAP32[$3>>2]|0; - $10 = ($9|0)<(0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 252|0); - $13 = HEAP32[$12>>2]|0; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 56|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 56|0); + HEAP32[$12>>2] = 0; + while(1) { + $13 = HEAP32[$5>>2]|0; $14 = ($13|0)!=(0|0); - if ($14) { - HEAP32[$pSeg>>2] = 0; - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$4>>2]|0; - $18 = HEAP32[$5>>2]|0; - $19 = HEAP32[$6>>2]|0; - $20 = ($19|0)!=(0); - $21 = HEAP32[$7>>2]|0; - $22 = ($21|0)!=(0); - $23 = $20 ? 1 : $22; - $24 = $23&1; - $25 = (_sqlite3Fts3SegReaderPending($15,$16,$17,$18,$24,$pSeg)|0); - HEAP32[$rc>>2] = $25; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)==(0); - $28 = HEAP32[$pSeg>>2]|0; - $29 = ($28|0)!=(0|0); - $or$cond = $27 & $29; - if ($or$cond) { - $30 = HEAP32[$8>>2]|0; - $31 = HEAP32[$pSeg>>2]|0; - $32 = (_fts3SegReaderCursorAppend($30,$31)|0); - HEAP32[$rc>>2] = $32; - } + if (!($14)) { + break; + } + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 24|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$7>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = ($20|0)==($21|0); + if ($22) { + $23 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $23; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 56|0); + HEAP32[$26>>2] = $24; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 24|0); + HEAP32[$28>>2] = 0; + } else { + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 344|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 24|0); + HEAP32[$33>>2] = $31; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 344|0); + HEAP32[$36>>2] = $34; } + $37 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $37; } - $33 = HEAP32[$3>>2]|0; - $34 = ($33|0)!=(-1); - L6: do { - if ($34) { - $35 = HEAP32[$rc>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[$0>>2]|0; - $38 = HEAP32[$1>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = HEAP32[$3>>2]|0; - $41 = (_sqlite3Fts3AllSegdirs($37,$38,$39,$40,$pStmt)|0); - HEAP32[$rc>>2] = $41; - } - while(1) { - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)==(0); - if (!($43)) { - break L6; - } - $44 = HEAP32[$pStmt>>2]|0; - $45 = (_sqlite3_step($44)|0); - HEAP32[$rc>>2] = $45; - $46 = (100)==($45|0); - if (!($46)) { - break L6; - } - HEAP32[$pSeg1>>2] = 0; - $47 = HEAP32[$pStmt>>2]|0; - $48 = (_sqlite3_column_int64($47,1)|0); - $49 = tempRet0; - $50 = $iStartBlock; - $51 = $50; - HEAP32[$51>>2] = $48; - $52 = (($50) + 4)|0; - $53 = $52; - HEAP32[$53>>2] = $49; - $54 = HEAP32[$pStmt>>2]|0; - $55 = (_sqlite3_column_int64($54,2)|0); - $56 = tempRet0; - $57 = $iLeavesEndBlock; - $58 = $57; - HEAP32[$58>>2] = $55; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = $56; - $61 = HEAP32[$pStmt>>2]|0; - $62 = (_sqlite3_column_int64($61,3)|0); - $63 = tempRet0; - $64 = $iEndBlock; - $65 = $64; - HEAP32[$65>>2] = $62; - $66 = (($64) + 4)|0; - $67 = $66; - HEAP32[$67>>2] = $63; - $68 = HEAP32[$pStmt>>2]|0; - $69 = (_sqlite3_column_bytes($68,4)|0); - HEAP32[$nRoot>>2] = $69; - $70 = HEAP32[$pStmt>>2]|0; - $71 = (_sqlite3_column_blob($70,4)|0); - HEAP32[$zRoot>>2] = $71; - $72 = $iStartBlock; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = ($74|0)!=(0); - $79 = ($77|0)!=(0); - $80 = $78 | $79; - $81 = HEAP32[$4>>2]|0; - $82 = ($81|0)!=(0|0); - $or$cond3 = $80 & $82; - if ($or$cond3) { - $83 = HEAP32[$6>>2]|0; - $84 = ($83|0)!=(0); - $iLeavesEndBlock$ = $84 ? $iLeavesEndBlock : 0; - HEAP32[$pi>>2] = $iLeavesEndBlock$; - $85 = HEAP32[$0>>2]|0; - $86 = HEAP32[$4>>2]|0; - $87 = HEAP32[$5>>2]|0; - $88 = HEAP32[$zRoot>>2]|0; - $89 = HEAP32[$nRoot>>2]|0; - $90 = HEAP32[$pi>>2]|0; - $91 = (_fts3SelectLeaf($85,$86,$87,$88,$89,$iStartBlock,$90)|0); - HEAP32[$rc>>2] = $91; - $92 = HEAP32[$rc>>2]|0; - $93 = ($92|0)!=(0); - if ($93) { - break L6; - } - $94 = HEAP32[$6>>2]|0; - $95 = ($94|0)==(0); - $96 = HEAP32[$7>>2]|0; - $97 = ($96|0)==(0); - $or$cond5 = $95 & $97; - if ($or$cond5) { - $98 = $iStartBlock; - $99 = $98; - $100 = HEAP32[$99>>2]|0; - $101 = (($98) + 4)|0; - $102 = $101; - $103 = HEAP32[$102>>2]|0; - $104 = $iLeavesEndBlock; - $105 = $104; - HEAP32[$105>>2] = $100; - $106 = (($104) + 4)|0; - $107 = $106; - HEAP32[$107>>2] = $103; - } - } - $108 = HEAP32[$8>>2]|0; - $109 = ((($108)) + 4|0); - $110 = HEAP32[$109>>2]|0; - $111 = (($110) + 1)|0; - $112 = HEAP32[$6>>2]|0; - $113 = ($112|0)==(0); - $114 = HEAP32[$7>>2]|0; - $115 = ($114|0)==(0); - $116 = $113 ? $115 : 0; - $117 = $116&1; - $118 = $iStartBlock; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = (($118) + 4)|0; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = $iLeavesEndBlock; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = (($124) + 4)|0; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = $iEndBlock; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (($130) + 4)|0; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = HEAP32[$zRoot>>2]|0; - $137 = HEAP32[$nRoot>>2]|0; - $138 = (_sqlite3Fts3SegReaderNew($111,$117,$120,$123,$126,$129,$132,$135,$136,$137,$pSeg1)|0); - HEAP32[$rc>>2] = $138; - $139 = HEAP32[$rc>>2]|0; - $140 = ($139|0)!=(0); - if ($140) { - break L6; - } - $141 = HEAP32[$8>>2]|0; - $142 = HEAP32[$pSeg1>>2]|0; - $143 = (_fts3SegReaderCursorAppend($141,$142)|0); - HEAP32[$rc>>2] = $143; - } + $38 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($38|0); +} +function _exprListDeleteNN($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $8; + HEAP32[$4>>2] = 0; + while(1) { + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)<($11|0); + $13 = HEAP32[$2>>2]|0; + if (!($12)) { + break; } - } while(0); - $144 = HEAP32[$pStmt>>2]|0; - $145 = (_sqlite3_reset($144)|0); - HEAP32[$rc2>>2] = $145; - $146 = HEAP32[$rc>>2]|0; - $147 = ($146|0)==(101); - if (!($147)) { - $149 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($149|0); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + _sqlite3ExprDelete($13,$15); + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3DbFree($16,$19); + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 8|0); + $23 = HEAP32[$22>>2]|0; + _sqlite3DbFree($20,$23); + $24 = HEAP32[$4>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$4>>2] = $25; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 20|0); + HEAP32[$5>>2] = $27; } - $148 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $148; - $149 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($149|0); + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + _sqlite3DbFree($13,$30); + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$3>>2]|0; + _sqlite3DbFree($31,$32); + STACKTOP = sp;return; } -function _sqlite3Fts3SegReaderPending($p,$iIndex,$zTerm,$nTerm,$bPrefix,$ppReader) { - $p = $p|0; - $iIndex = $iIndex|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - $bPrefix = $bPrefix|0; - $ppReader = $ppReader|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $aElem = 0, $aElem2 = 0, $nAlloc = 0, $nByte = 0, $nElem = 0, $nKey = 0, $pE = 0; - var $pHash = 0, $pReader = 0, $rc = 0, $zKey = 0, label = 0, sp = 0; +function _sqlite3ExprDelete($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; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $4 = sp + 48|0; - $5 = sp + 44|0; - $pReader = sp + 40|0; - $pE = sp + 36|0; - $aElem = sp + 32|0; - $nElem = sp + 28|0; - $rc = sp + 24|0; - $pHash = sp + 20|0; - $nAlloc = sp + 16|0; - $zKey = sp + 12|0; - $nKey = sp + 8|0; - $aElem2 = sp + 4|0; - $nByte = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iIndex; - HEAP32[$2>>2] = $zTerm; - HEAP32[$3>>2] = $nTerm; - HEAP32[$4>>2] = $bPrefix; - HEAP32[$5>>2] = $ppReader; - HEAP32[$pReader>>2] = 0; - HEAP32[$aElem>>2] = 0; - HEAP32[$nElem>>2] = 0; - HEAP32[$rc>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 252|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($6*24)|0)|0); - $11 = ((($10)) + 4|0); - HEAP32[$pHash>>2] = $11; - $12 = HEAP32[$4>>2]|0; - $13 = ($12|0)!=(0); - if ($13) { - HEAP32[$nAlloc>>2] = 0; - $14 = HEAP32[$pHash>>2]|0; - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pE>>2] = $16; - while(1) { - $17 = HEAP32[$pE>>2]|0; - $18 = ($17|0)!=(0|0); - if (!($18)) { - break; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + _sqlite3ExprDeleteNN($6,$7); + STACKTOP = sp;return; +} +function _sqlite3ExprDeleteNN($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 8404992; + $8 = ($7|0)!=(0); + do { + if (!($8)) { + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)!=(159); + if ($16) { + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + _sqlite3ExprDeleteNN($17,$20); + } } - $19 = HEAP32[$pE>>2]|0; - $20 = ((($19)) + 12|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$zKey>>2] = $21; - $22 = HEAP32[$pE>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$3>>2]|0; $23 = ((($22)) + 16|0); $24 = HEAP32[$23>>2]|0; - HEAP32[$nKey>>2] = $24; + _sqlite3ExprDelete($21,$24); $25 = HEAP32[$3>>2]|0; - $26 = ($25|0)==(0); - if ($26) { - label = 7; - } else { - $27 = HEAP32[$nKey>>2]|0; - $28 = HEAP32[$3>>2]|0; - $29 = ($27|0)>=($28|0); - if ($29) { - $30 = HEAP32[$zKey>>2]|0; - $31 = HEAP32[$2>>2]|0; - $32 = HEAP32[$3>>2]|0; - $33 = (_memcmp($30,$31,$32)|0); - $34 = (0)==($33|0); - if ($34) { - label = 7; - } - } - } - if ((label|0) == 7) { - label = 0; - $35 = HEAP32[$nElem>>2]|0; - $36 = HEAP32[$nAlloc>>2]|0; - $37 = ($35|0)==($36|0); - if ($37) { - $38 = HEAP32[$nAlloc>>2]|0; - $39 = (($38) + 16)|0; - HEAP32[$nAlloc>>2] = $39; - $40 = HEAP32[$aElem>>2]|0; - $41 = HEAP32[$nAlloc>>2]|0; - $42 = $41<<2; - $43 = (_sqlite3_realloc($40,$42)|0); - HEAP32[$aElem2>>2] = $43; - $44 = HEAP32[$aElem2>>2]|0; - $45 = ($44|0)!=(0|0); - if (!($45)) { - label = 9; - break; - } - $46 = HEAP32[$aElem2>>2]|0; - HEAP32[$aElem>>2] = $46; - } - $47 = HEAP32[$pE>>2]|0; - $48 = HEAP32[$nElem>>2]|0; - $49 = (($48) + 1)|0; - HEAP32[$nElem>>2] = $49; - $50 = HEAP32[$aElem>>2]|0; - $51 = (($50) + ($48<<2)|0); - HEAP32[$51>>2] = $47; - } - $52 = HEAP32[$pE>>2]|0; - $53 = HEAP32[$52>>2]|0; - HEAP32[$pE>>2] = $53; - } - if ((label|0) == 9) { - HEAP32[$rc>>2] = 7; - HEAP32[$nElem>>2] = 0; - } - $54 = HEAP32[$nElem>>2]|0; - $55 = ($54|0)>(1); - if ($55) { - $56 = HEAP32[$aElem>>2]|0; - $57 = HEAP32[$nElem>>2]|0; - _qsort($56,$57,4,185); - } - } else { - $58 = HEAP32[$pHash>>2]|0; - $59 = HEAP32[$2>>2]|0; - $60 = HEAP32[$3>>2]|0; - $61 = (_sqlite3Fts3HashFindElem($58,$59,$60)|0); - HEAP32[$pE>>2] = $61; - $62 = HEAP32[$pE>>2]|0; - $63 = ($62|0)!=(0|0); - if ($63) { - HEAP32[$aElem>>2] = $pE; - HEAP32[$nElem>>2] = 1; - } - } - $64 = HEAP32[$nElem>>2]|0; - $65 = ($64|0)>(0); - do { - if ($65) { - $66 = HEAP32[$nElem>>2]|0; - $67 = (($66) + 1)|0; - $68 = $67<<2; - $69 = (96 + ($68))|0; - HEAP32[$nByte>>2] = $69; - $70 = HEAP32[$nByte>>2]|0; - $71 = (_sqlite3_malloc($70)|0); - HEAP32[$pReader>>2] = $71; - $72 = HEAP32[$pReader>>2]|0; - $73 = ($72|0)!=(0|0); - if ($73) { - $74 = HEAP32[$pReader>>2]|0; - $75 = HEAP32[$nByte>>2]|0; - _memset(($74|0),0,($75|0))|0; - $76 = HEAP32[$pReader>>2]|0; - HEAP32[$76>>2] = 2147483647; - $77 = HEAP32[$pReader>>2]|0; - $78 = ((($77)) + 96|0); - $79 = HEAP32[$pReader>>2]|0; - $80 = ((($79)) + 56|0); - HEAP32[$80>>2] = $78; - $81 = HEAP32[$pReader>>2]|0; - $82 = ((($81)) + 56|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$aElem>>2]|0; - $85 = HEAP32[$nElem>>2]|0; - $86 = $85<<2; - _memcpy(($83|0),($84|0),($86|0))|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = $27 & 2048; + $29 = ($28|0)!=(0); + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 20|0); + if ($29) { + $33 = HEAP32[$32>>2]|0; + _sqlite3SelectDelete($30,$33); break; } else { - HEAP32[$rc>>2] = 7; + $34 = HEAP32[$32>>2]|0; + _sqlite3ExprListDelete($30,$34); break; } } } while(0); - $87 = HEAP32[$4>>2]|0; - $88 = ($87|0)!=(0); - if (!($88)) { - $90 = HEAP32[$pReader>>2]|0; - $91 = HEAP32[$5>>2]|0; - HEAP32[$91>>2] = $90; - $92 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($92|0); + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = $37 & 65536; + $39 = ($38|0)!=(0); + if ($39) { + $40 = HEAP32[$2>>2]|0; + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP32[$42>>2]|0; + _sqlite3DbFree($40,$43); } - $89 = HEAP32[$aElem>>2]|0; - _sqlite3_free($89); - $90 = HEAP32[$pReader>>2]|0; - $91 = HEAP32[$5>>2]|0; - HEAP32[$91>>2] = $90; - $92 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($92|0); -} -function _fts3SegReaderCursorAppend($pCsr,$pNew) { - $pCsr = $pCsr|0; - $pNew = $pNew|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $apNew = 0, $nByte = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $apNew = sp + 4|0; - $nByte = sp; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pNew; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5|0) % 16)&-1; - $7 = ($6|0)==(0); - do { - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 16)|0; - $12 = $11<<2; - HEAP32[$nByte>>2] = $12; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$nByte>>2]|0; - $16 = (_sqlite3_realloc($14,$15)|0); - HEAP32[$apNew>>2] = $16; - $17 = HEAP32[$apNew>>2]|0; - $18 = ($17|0)!=(0|0); - if ($18) { - $20 = HEAP32[$apNew>>2]|0; - $21 = HEAP32[$1>>2]|0; - HEAP32[$21>>2] = $20; - break; - } - $19 = HEAP32[$2>>2]|0; - _sqlite3Fts3SegReaderFree($19); - HEAP32[$0>>2] = 7; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); - } - } while(0); - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$24>>2] = $26; - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + ($25<<2)|0); - HEAP32[$29>>2] = $22; - HEAP32[$0>>2] = 0; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = $46 & 32768; + $48 = ($47|0)!=(0); + if ($48) { + STACKTOP = sp;return; + } + $49 = HEAP32[$2>>2]|0; + $50 = HEAP32[$3>>2]|0; + _sqlite3DbFree($49,$50); + STACKTOP = sp;return; } -function _sqlite3Fts3AllSegdirs($p,$iLangid,$iIndex,$iLevel,$ppStmt) { - $p = $p|0; - $iLangid = $iLangid|0; - $iIndex = $iIndex|0; - $iLevel = $iLevel|0; - $ppStmt = $ppStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $pStmt = 0, $rc = 0, label = 0, sp = 0; +function _clearSelect($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $3 = sp + 12|0; $4 = sp + 8|0; - $rc = sp + 4|0; - $pStmt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iLangid; - HEAP32[$2>>2] = $iIndex; - HEAP32[$3>>2] = $iLevel; - HEAP32[$4>>2] = $ppStmt; - HEAP32[$pStmt>>2] = 0; - $5 = HEAP32[$3>>2]|0; - $6 = ($5|0)<(0); - $7 = HEAP32[$0>>2]|0; - if ($6) { - $8 = (_fts3SqlStmt($7,13,$pStmt,0)|0); - HEAP32[$rc>>2] = $8; - $9 = HEAP32[$rc>>2]|0; - $10 = ($9|0)==(0); - if ($10) { - $11 = HEAP32[$pStmt>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (_getAbsoluteLevel($12,$13,$14,0)|0); - $16 = tempRet0; - (_sqlite3_bind_int64($11,1,$15,$16)|0); - $17 = HEAP32[$pStmt>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = (_getAbsoluteLevel($18,$19,$20,1023)|0); - $22 = tempRet0; - (_sqlite3_bind_int64($17,2,$21,$22)|0); - } - } else { - $23 = (_fts3SqlStmt($7,12,$pStmt,0)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - $26 = HEAP32[$pStmt>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$3>>2]|0; - $31 = (_getAbsoluteLevel($27,$28,$29,$30)|0); - $32 = tempRet0; - (_sqlite3_bind_int64($26,1,$31,$32)|0); + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + while(1) { + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + break; } - } - $33 = HEAP32[$pStmt>>2]|0; - $34 = HEAP32[$4>>2]|0; - HEAP32[$34>>2] = $33; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); -} -function _fts3SelectLeaf($p,$zTerm,$nTerm,$zNode,$nNode,$piLeaf,$piLeaf2) { - $p = $p|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - $zNode = $zNode|0; - $nNode = $nNode|0; - $piLeaf = $piLeaf|0; - $piLeaf2 = $piLeaf2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $iHeight = 0, $nBlob = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $zBlob = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $5 = sp + 20|0; - $6 = sp + 16|0; - $rc = sp + 12|0; - $iHeight = sp + 8|0; - $zBlob = sp + 4|0; - $nBlob = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $zTerm; - HEAP32[$2>>2] = $nTerm; - HEAP32[$3>>2] = $zNode; - HEAP32[$4>>2] = $nNode; - HEAP32[$5>>2] = $piLeaf; - HEAP32[$6>>2] = $piLeaf2; - HEAP32[$rc>>2] = 0; - $7 = HEAP32[$3>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = $9 & 128; - $11 = ($10|0)!=(0); - $12 = HEAP32[$3>>2]|0; - if ($11) { - (_sqlite3Fts3GetVarint32($12,$iHeight)|0); - } else { - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - HEAP32[$iHeight>>2] = $14; - } - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = HEAP32[$4>>2]|0; - $19 = HEAP32[$5>>2]|0; - $20 = HEAP32[$6>>2]|0; - $21 = (_fts3ScanInteriorNode($15,$16,$17,$18,$19,$20)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)==(0); - $24 = HEAP32[$iHeight>>2]|0; - $25 = ($24|0)>(1); - $or$cond = $23 & $25; - if (!($or$cond)) { - $99 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($99|0); - } - HEAP32[$zBlob>>2] = 0; - HEAP32[$nBlob>>2] = 0; - $26 = HEAP32[$5>>2]|0; - $27 = ($26|0)!=(0|0); - $28 = HEAP32[$6>>2]|0; - $29 = ($28|0)!=(0|0); - $or$cond3 = $27 & $29; - if ($or$cond3) { - $30 = HEAP32[$5>>2]|0; - $31 = $30; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$6>>2]|0; - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = ($33|0)!=($40|0); - $45 = ($36|0)!=($43|0); - $46 = $44 | $45; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 48|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + _sqlite3ExprListDelete($12,$14); + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 28|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3SrcListDelete($15,$18); + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 32|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3ExprDelete($19,$22); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$25>>2]|0; + _sqlite3ExprListDelete($23,$26); + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 40|0); + $30 = HEAP32[$29>>2]|0; + _sqlite3ExprDelete($27,$30); + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 44|0); + $34 = HEAP32[$33>>2]|0; + _sqlite3ExprListDelete($31,$34); + $35 = HEAP32[$3>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 56|0); + $38 = HEAP32[$37>>2]|0; + _sqlite3ExprDelete($35,$38); + $39 = HEAP32[$3>>2]|0; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 60|0); + $42 = HEAP32[$41>>2]|0; + _sqlite3ExprDelete($39,$42); + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 64|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)!=(0|0); if ($46) { - $47 = HEAP32[$0>>2]|0; - $48 = HEAP32[$5>>2]|0; - $49 = $48; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (_sqlite3Fts3ReadBlock($47,$51,$54,$zBlob,$nBlob,0)|0); - HEAP32[$rc>>2] = $55; - $56 = HEAP32[$rc>>2]|0; - $57 = ($56|0)==(0); - if ($57) { - $58 = HEAP32[$0>>2]|0; - $59 = HEAP32[$1>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = HEAP32[$zBlob>>2]|0; - $62 = HEAP32[$nBlob>>2]|0; - $63 = HEAP32[$5>>2]|0; - $64 = (_fts3SelectLeaf($58,$59,$60,$61,$62,$63,0)|0); - HEAP32[$rc>>2] = $64; - } - $65 = HEAP32[$zBlob>>2]|0; - _sqlite3_free($65); - HEAP32[$5>>2] = 0; - HEAP32[$zBlob>>2] = 0; + $47 = HEAP32[$3>>2]|0; + $48 = HEAP32[$4>>2]|0; + $49 = ((($48)) + 64|0); + $50 = HEAP32[$49>>2]|0; + _sqlite3WithDelete($47,$50); } - } - $66 = HEAP32[$rc>>2]|0; - $67 = ($66|0)==(0); - if ($67) { - $68 = HEAP32[$0>>2]|0; - $69 = HEAP32[$5>>2]|0; - $70 = ($69|0)!=(0|0); - if ($70) { - $71 = HEAP32[$5>>2]|0; - $72 = $71; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $85 = $74;$86 = $77; - } else { - $78 = HEAP32[$6>>2]|0; - $79 = $78; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (($79) + 4)|0; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = $81;$86 = $84; + $51 = HEAP32[$5>>2]|0; + $52 = ($51|0)!=(0); + if ($52) { + $53 = HEAP32[$3>>2]|0; + $54 = HEAP32[$4>>2]|0; + _sqlite3DbFree($53,$54); } - $87 = (_sqlite3Fts3ReadBlock($68,$85,$86,$zBlob,$nBlob,0)|0); - HEAP32[$rc>>2] = $87; - } - $88 = HEAP32[$rc>>2]|0; - $89 = ($88|0)==(0); - if ($89) { - $90 = HEAP32[$0>>2]|0; - $91 = HEAP32[$1>>2]|0; - $92 = HEAP32[$2>>2]|0; - $93 = HEAP32[$zBlob>>2]|0; - $94 = HEAP32[$nBlob>>2]|0; - $95 = HEAP32[$5>>2]|0; - $96 = HEAP32[$6>>2]|0; - $97 = (_fts3SelectLeaf($90,$91,$92,$93,$94,$95,$96)|0); - HEAP32[$rc>>2] = $97; + $55 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $55; + HEAP32[$5>>2] = 1; } - $98 = HEAP32[$zBlob>>2]|0; - _sqlite3_free($98); - $99 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($99|0); + STACKTOP = sp;return; } -function _sqlite3Fts3SegReaderNew($iAge,$bLookup,$0,$1,$2,$3,$4,$5,$zRoot,$nRoot,$ppReader) { - $iAge = $iAge|0; - $bLookup = $bLookup|0; +function _sqlite3SrcListDelete($0,$1) { $0 = $0|0; $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $zRoot = $zRoot|0; - $nRoot = $nRoot|0; - $ppReader = $ppReader|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $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 $nExtra = 0, $pReader = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $6 = sp + 52|0; - $7 = sp + 48|0; - $8 = sp + 44|0; - $9 = sp + 16|0; - $10 = sp + 8|0; - $11 = sp; - $12 = sp + 40|0; - $13 = sp + 36|0; - $14 = sp + 32|0; - $pReader = sp + 28|0; - $nExtra = sp + 24|0; - HEAP32[$7>>2] = $iAge; - HEAP32[$8>>2] = $bLookup; - $15 = $9; - $16 = $15; - HEAP32[$16>>2] = $0; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $1; - $19 = $10; - $20 = $19; - HEAP32[$20>>2] = $2; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = $3; - $23 = $11; - $24 = $23; - HEAP32[$24>>2] = $4; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = $5; - HEAP32[$12>>2] = $zRoot; - HEAP32[$13>>2] = $nRoot; - HEAP32[$14>>2] = $ppReader; - HEAP32[$nExtra>>2] = 0; - $27 = $9; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = ($29|0)==(0); - $34 = ($32|0)==(0); - $35 = $33 & $34; - if ($35) { - $36 = HEAP32[$13>>2]|0; - $37 = (($36) + 20)|0; - HEAP32[$nExtra>>2] = $37; - } - $38 = HEAP32[$nExtra>>2]|0; - $39 = (96 + ($38))|0; - $40 = (_sqlite3_malloc($39)|0); - HEAP32[$pReader>>2] = $40; - $41 = HEAP32[$pReader>>2]|0; - $42 = ($41|0)!=(0|0); - if (!($42)) { - HEAP32[$6>>2] = 7; - $125 = HEAP32[$6>>2]|0; - STACKTOP = sp;return ($125|0); - } - $43 = HEAP32[$pReader>>2]|0; - dest=$43; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $44 = HEAP32[$7>>2]|0; - $45 = HEAP32[$pReader>>2]|0; - HEAP32[$45>>2] = $44; - $46 = HEAP32[$8>>2]|0; - $47 = ($46|0)!=(0); - $48 = $47&1; - $49 = $48&255; - $50 = HEAP32[$pReader>>2]|0; - $51 = ((($50)) + 4|0); - HEAP8[$51>>0] = $49; - $52 = $9; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$pReader>>2]|0; - $59 = ((($58)) + 8|0); - $60 = $59; - $61 = $60; - HEAP32[$61>>2] = $54; - $62 = (($60) + 4)|0; - $63 = $62; - HEAP32[$63>>2] = $57; - $64 = $10; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (($64) + 4)|0; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$pReader>>2]|0; - $71 = ((($70)) + 16|0); - $72 = $71; - $73 = $72; - HEAP32[$73>>2] = $66; - $74 = (($72) + 4)|0; - $75 = $74; - HEAP32[$75>>2] = $69; - $76 = $11; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = (($76) + 4)|0; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = HEAP32[$pReader>>2]|0; - $83 = ((($82)) + 24|0); - $84 = $83; - $85 = $84; - HEAP32[$85>>2] = $78; - $86 = (($84) + 4)|0; - $87 = $86; - HEAP32[$87>>2] = $81; - $88 = HEAP32[$nExtra>>2]|0; - $89 = ($88|0)!=(0); - if ($89) { - $90 = HEAP32[$pReader>>2]|0; - $91 = ((($90)) + 96|0); - $92 = HEAP32[$pReader>>2]|0; - $93 = ((($92)) + 40|0); - HEAP32[$93>>2] = $91; - $94 = HEAP32[$pReader>>2]|0; - $95 = ((($94)) + 5|0); - HEAP8[$95>>0] = 1; - $96 = HEAP32[$13>>2]|0; - $97 = HEAP32[$pReader>>2]|0; - $98 = ((($97)) + 44|0); - HEAP32[$98>>2] = $96; - $99 = HEAP32[$pReader>>2]|0; - $100 = ((($99)) + 40|0); - $101 = HEAP32[$100>>2]|0; - $102 = HEAP32[$12>>2]|0; - $103 = HEAP32[$13>>2]|0; - _memcpy(($101|0),($102|0),($103|0))|0; - $104 = HEAP32[$13>>2]|0; - $105 = HEAP32[$pReader>>2]|0; - $106 = ((($105)) + 40|0); - $107 = HEAP32[$106>>2]|0; - $108 = (($107) + ($104)|0); - dest=$108; stop=dest+20|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - } else { - $109 = $9; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = (($109) + 4)|0; - $113 = $112; - $114 = HEAP32[$113>>2]|0; - $115 = (_i64Subtract(($111|0),($114|0),1,0)|0); - $116 = tempRet0; - $117 = HEAP32[$pReader>>2]|0; - $118 = ((($117)) + 32|0); - $119 = $118; - $120 = $119; - HEAP32[$120>>2] = $115; - $121 = (($119) + 4)|0; - $122 = $121; - HEAP32[$122>>2] = $116; - } - $123 = HEAP32[$pReader>>2]|0; - $124 = HEAP32[$14>>2]|0; - HEAP32[$124>>2] = $123; - HEAP32[$6>>2] = 0; - $125 = HEAP32[$6>>2]|0; - STACKTOP = sp;return ($125|0); -} -function _fts3ScanInteriorNode($zTerm,$nTerm,$zNode,$nNode,$piFirst,$piLast) { - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - $zNode = $zNode|0; - $nNode = $nNode|0; - $piFirst = $piFirst|0; - $piLast = $piLast|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $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; - 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, $cmp = 0, $iChild = 0, $isFirstTerm = 0, $nAlloc = 0; - var $nBuffer = 0, $nPrefix = 0, $nSuffix = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $zBuffer = 0, $zCsr = 0, $zEnd = 0, $zNew = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = sp + 60|0; - $5 = sp + 56|0; - $6 = sp + 52|0; - $rc = sp + 48|0; - $zCsr = sp + 44|0; - $zEnd = sp + 40|0; - $zBuffer = sp + 36|0; - $nAlloc = sp + 32|0; - $isFirstTerm = sp + 28|0; - $iChild = sp; - $cmp = sp + 24|0; - $nSuffix = sp + 20|0; - $nPrefix = sp + 16|0; - $nBuffer = sp + 12|0; - $zNew = sp + 8|0; - HEAP32[$1>>2] = $zTerm; - HEAP32[$2>>2] = $nTerm; - HEAP32[$3>>2] = $zNode; - HEAP32[$4>>2] = $nNode; - HEAP32[$5>>2] = $piFirst; - HEAP32[$6>>2] = $piLast; - HEAP32[$rc>>2] = 0; - $7 = HEAP32[$3>>2]|0; - HEAP32[$zCsr>>2] = $7; - $8 = HEAP32[$4>>2]|0; - $9 = HEAP32[$zCsr>>2]|0; - $10 = (($9) + ($8)|0); - HEAP32[$zEnd>>2] = $10; - HEAP32[$zBuffer>>2] = 0; - HEAP32[$nAlloc>>2] = 0; - HEAP32[$isFirstTerm>>2] = 1; - $11 = HEAP32[$zCsr>>2]|0; - $12 = (_sqlite3Fts3GetVarint($11,$iChild)|0); - $13 = HEAP32[$zCsr>>2]|0; - $14 = (($13) + ($12)|0); - HEAP32[$zCsr>>2] = $14; - $15 = HEAP32[$zCsr>>2]|0; - $16 = (_sqlite3Fts3GetVarint($15,$iChild)|0); - $17 = HEAP32[$zCsr>>2]|0; - $18 = (($17) + ($16)|0); - HEAP32[$zCsr>>2] = $18; - $19 = HEAP32[$zCsr>>2]|0; - $20 = HEAP32[$zEnd>>2]|0; - $21 = ($19>>>0)>($20>>>0); - if ($21) { - HEAP32[$0>>2] = 267; - $175 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($175|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + STACKTOP = sp;return; } + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 8|0); + HEAP32[$5>>2] = $9; + HEAP32[$4>>2] = 0; while(1) { - $22 = HEAP32[$zCsr>>2]|0; - $23 = HEAP32[$zEnd>>2]|0; - $24 = ($22>>>0)<($23>>>0); - if (!($24)) { - label = 28; - break; - } - $25 = HEAP32[$5>>2]|0; - $26 = ($25|0)!=(0|0); - $27 = HEAP32[$6>>2]|0; - $28 = ($27|0)!=(0|0); - $29 = $26 ? 1 : $28; - if (!($29)) { - label = 28; - break; - } - HEAP32[$nPrefix>>2] = 0; - $30 = HEAP32[$isFirstTerm>>2]|0; - $31 = ($30|0)!=(0); - if (!($31)) { - $32 = HEAP32[$zCsr>>2]|0; - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 & 128; - $36 = ($35|0)!=(0); - $37 = HEAP32[$zCsr>>2]|0; - if ($36) { - $38 = (_sqlite3Fts3GetVarint32($37,$nPrefix)|0); - $43 = $38; - } else { - $39 = HEAP8[$37>>0]|0; - $40 = $39&255; - HEAP32[$nPrefix>>2] = $40; - $43 = 1; - } - $41 = HEAP32[$zCsr>>2]|0; - $42 = (($41) + ($43)|0); - HEAP32[$zCsr>>2] = $42; - } - HEAP32[$isFirstTerm>>2] = 0; - $44 = HEAP32[$zCsr>>2]|0; - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $47 = $46 & 128; - $48 = ($47|0)!=(0); - $49 = HEAP32[$zCsr>>2]|0; - if ($48) { - $50 = (_sqlite3Fts3GetVarint32($49,$nSuffix)|0); - $55 = $50; - } else { - $51 = HEAP8[$49>>0]|0; - $52 = $51&255; - HEAP32[$nSuffix>>2] = $52; - $55 = 1; - } - $53 = HEAP32[$zCsr>>2]|0; - $54 = (($53) + ($55)|0); - HEAP32[$zCsr>>2] = $54; - $56 = HEAP32[$nPrefix>>2]|0; - $57 = ($56|0)<(0); - $58 = HEAP32[$nSuffix>>2]|0; - $59 = ($58|0)<(0); - $or$cond = $57 | $59; - if ($or$cond) { - label = 15; - break; - } - $60 = HEAP32[$nSuffix>>2]|0; - $61 = HEAP32[$zCsr>>2]|0; - $62 = (($61) + ($60)|0); - $63 = HEAP32[$zEnd>>2]|0; - $64 = ($62>>>0)>($63>>>0); - if ($64) { - label = 15; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ($10|0)<($12|0); + $14 = HEAP32[$2>>2]|0; + if (!($13)) { break; } - $65 = HEAP32[$nPrefix>>2]|0; - $66 = HEAP32[$nSuffix>>2]|0; - $67 = (($65) + ($66))|0; - $68 = HEAP32[$nAlloc>>2]|0; - $69 = ($67|0)>($68|0); - if ($69) { - $70 = HEAP32[$nPrefix>>2]|0; - $71 = HEAP32[$nSuffix>>2]|0; - $72 = (($70) + ($71))|0; - $73 = $72<<1; - HEAP32[$nAlloc>>2] = $73; - $74 = HEAP32[$zBuffer>>2]|0; - $75 = HEAP32[$nAlloc>>2]|0; - $76 = (_sqlite3_realloc($74,$75)|0); - HEAP32[$zNew>>2] = $76; - $77 = HEAP32[$zNew>>2]|0; - $78 = ($77|0)!=(0|0); - if (!($78)) { - label = 18; - break; - } - $79 = HEAP32[$zNew>>2]|0; - HEAP32[$zBuffer>>2] = $79; - } - $80 = HEAP32[$nPrefix>>2]|0; - $81 = HEAP32[$zBuffer>>2]|0; - $82 = (($81) + ($80)|0); - $83 = HEAP32[$zCsr>>2]|0; - $84 = HEAP32[$nSuffix>>2]|0; - _memcpy(($82|0),($83|0),($84|0))|0; - $85 = HEAP32[$nPrefix>>2]|0; - $86 = HEAP32[$nSuffix>>2]|0; - $87 = (($85) + ($86))|0; - HEAP32[$nBuffer>>2] = $87; - $88 = HEAP32[$nSuffix>>2]|0; - $89 = HEAP32[$zCsr>>2]|0; - $90 = (($89) + ($88)|0); - HEAP32[$zCsr>>2] = $90; - $91 = HEAP32[$1>>2]|0; - $92 = HEAP32[$zBuffer>>2]|0; - $93 = HEAP32[$nBuffer>>2]|0; - $94 = HEAP32[$2>>2]|0; - $95 = ($93|0)>($94|0); - $96 = HEAP32[$2>>2]|0; - $97 = HEAP32[$nBuffer>>2]|0; - $98 = $95 ? $96 : $97; - $99 = (_memcmp($91,$92,$98)|0); - HEAP32[$cmp>>2] = $99; - $100 = HEAP32[$5>>2]|0; - $101 = ($100|0)!=(0|0); - do { - if ($101) { - $102 = HEAP32[$cmp>>2]|0; - $103 = ($102|0)<(0); - if (!($103)) { - $104 = HEAP32[$cmp>>2]|0; - $105 = ($104|0)==(0); - if (!($105)) { - break; - } - $106 = HEAP32[$nBuffer>>2]|0; - $107 = HEAP32[$2>>2]|0; - $108 = ($106|0)>($107|0); - if (!($108)) { - break; - } - } - $109 = $iChild; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = (($109) + 4)|0; - $113 = $112; - $114 = HEAP32[$113>>2]|0; - $115 = HEAP32[$5>>2]|0; - $116 = $115; - $117 = $116; - HEAP32[$117>>2] = $111; - $118 = (($116) + 4)|0; - $119 = $118; - HEAP32[$119>>2] = $114; - HEAP32[$5>>2] = 0; - } - } while(0); - $120 = HEAP32[$6>>2]|0; - $121 = ($120|0)!=(0|0); - $122 = HEAP32[$cmp>>2]|0; - $123 = ($122|0)<(0); - $or$cond3 = $121 & $123; - if ($or$cond3) { - $124 = $iChild; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = (($124) + 4)|0; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = HEAP32[$6>>2]|0; - $131 = $130; - $132 = $131; - HEAP32[$132>>2] = $126; - $133 = (($131) + 4)|0; - $134 = $133; - HEAP32[$134>>2] = $129; - HEAP32[$6>>2] = 0; - } - $135 = $iChild; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = (($135) + 4)|0; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (_i64Add(($137|0),($140|0),1,0)|0); - $142 = tempRet0; - $143 = $iChild; - $144 = $143; - HEAP32[$144>>2] = $141; - $145 = (($143) + 4)|0; - $146 = $145; - HEAP32[$146>>2] = $142; - } - if ((label|0) == 15) { - HEAP32[$rc>>2] = 267; - } - else if ((label|0) == 18) { - HEAP32[$rc>>2] = 7; - } - else if ((label|0) == 28) { - $147 = HEAP32[$5>>2]|0; - $148 = ($147|0)!=(0|0); - if ($148) { - $149 = $iChild; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = HEAP32[$5>>2]|0; - $156 = $155; - $157 = $156; - HEAP32[$157>>2] = $151; - $158 = (($156) + 4)|0; - $159 = $158; - HEAP32[$159>>2] = $154; - } - $160 = HEAP32[$6>>2]|0; - $161 = ($160|0)!=(0|0); - if ($161) { - $162 = $iChild; - $163 = $162; - $164 = HEAP32[$163>>2]|0; - $165 = (($162) + 4)|0; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = HEAP32[$6>>2]|0; - $169 = $168; - $170 = $169; - HEAP32[$170>>2] = $164; - $171 = (($169) + 4)|0; - $172 = $171; - HEAP32[$172>>2] = $167; - } - } - $173 = HEAP32[$zBuffer>>2]|0; - _sqlite3_free($173); - $174 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $174; - $175 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($175|0); -} -function _fts3CompareElemByTerm($lhs,$rhs) { - $lhs = $lhs|0; - $rhs = $rhs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $n = 0, $n1 = 0, $n2 = 0, $z1 = 0, $z2 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $z1 = sp + 20|0; - $z2 = sp + 16|0; - $n1 = sp + 12|0; - $n2 = sp + 8|0; - $n = sp + 4|0; - $c = sp; - HEAP32[$0>>2] = $lhs; - HEAP32[$1>>2] = $rhs; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$z1>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$z2>>2] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 16|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$n1>>2] = $13; - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$n2>>2] = $17; - $18 = HEAP32[$n1>>2]|0; - $19 = HEAP32[$n2>>2]|0; - $20 = ($18|0)<($19|0); - $21 = HEAP32[$n1>>2]|0; - $22 = HEAP32[$n2>>2]|0; - $23 = $20 ? $21 : $22; - HEAP32[$n>>2] = $23; - $24 = HEAP32[$z1>>2]|0; - $25 = HEAP32[$z2>>2]|0; - $26 = HEAP32[$n>>2]|0; - $27 = (_memcmp($24,$25,$26)|0); - HEAP32[$c>>2] = $27; - $28 = HEAP32[$c>>2]|0; - $29 = ($28|0)==(0); - if (!($29)) { - $33 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($33|0); - } - $30 = HEAP32[$n1>>2]|0; - $31 = HEAP32[$n2>>2]|0; - $32 = (($30) - ($31))|0; - HEAP32[$c>>2] = $32; - $33 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($33|0); -} -function _fts3SnippetFunc($pContext,$nVal,$apVal) { - $pContext = $pContext|0; - $nVal = $nVal|0; - $apVal = $apVal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iCol = 0, $nToken = 0, $or$cond = 0, $or$cond3 = 0, $pCsr = 0, $zEllipsis = 0, $zEnd = 0, $zStart = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $pCsr = sp + 20|0; - $zStart = sp + 16|0; - $zEnd = sp + 12|0; - $zEllipsis = sp + 8|0; - $iCol = sp + 4|0; - $nToken = sp; - HEAP32[$0>>2] = $pContext; - HEAP32[$1>>2] = $nVal; - HEAP32[$2>>2] = $apVal; - HEAP32[$zStart>>2] = 23427; - HEAP32[$zEnd>>2] = 23431; - HEAP32[$zEllipsis>>2] = 23436; - HEAP32[$iCol>>2] = -1; - HEAP32[$nToken>>2] = 15; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)>(6); - $5 = HEAP32[$0>>2]|0; - if ($4) { - _sqlite3_result_error($5,23447,-1); - STACKTOP = sp;return; - } - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_fts3FunctionArg($5,20486,$7,$pCsr)|0); - $9 = ($8|0)!=(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = HEAP32[$1>>2]|0; - switch ($10|0) { - case 6: { - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_int($13)|0); - HEAP32[$nToken>>2] = $14; - label = 6; - break; - } - case 5: { - label = 6; - break; - } - case 4: { - label = 7; - break; - } - case 3: { - label = 8; - break; - } - case 2: { - label = 9; - break; - } - default: { - } - } - if ((label|0) == 6) { - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 16|0); + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3_value_int($17)|0); - HEAP32[$iCol>>2] = $18; - label = 7; - } - if ((label|0) == 7) { - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 12|0); + _sqlite3DbFree($14,$17); + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3_value_text($21)|0); - HEAP32[$zEllipsis>>2] = $22; - label = 8; - } - if ((label|0) == 8) { - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 8|0); + _sqlite3DbFree($18,$21); + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 12|0); $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3_value_text($25)|0); - HEAP32[$zEnd>>2] = $26; - label = 9; - } - if ((label|0) == 9) { - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = (_sqlite3_value_text($29)|0); - HEAP32[$zStart>>2] = $30; - } - $31 = HEAP32[$zEllipsis>>2]|0; - $32 = ($31|0)!=(0|0); - $33 = HEAP32[$zEnd>>2]|0; - $34 = ($33|0)!=(0|0); - $or$cond = $32 & $34; - $35 = HEAP32[$zStart>>2]|0; - $36 = ($35|0)!=(0|0); - $or$cond3 = $or$cond & $36; - if (!($or$cond3)) { - $37 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($37); - STACKTOP = sp;return; - } - $38 = HEAP32[$nToken>>2]|0; - $39 = ($38|0)==(0); - $40 = HEAP32[$0>>2]|0; - if ($39) { - _sqlite3_result_text($40,18402,-1,0); - STACKTOP = sp;return; - } - $41 = HEAP32[$pCsr>>2]|0; - $42 = (_fts3CursorSeek($40,$41)|0); - $43 = (0)==($42|0); - if (!($43)) { - STACKTOP = sp;return; + _sqlite3DbFree($22,$25); + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 36|0); + $28 = ((($27)) + 1|0); + $29 = HEAP8[$28>>0]|0; + $30 = ($29&255) >>> 1; + $31 = $30 & 1; + $32 = $31&255; + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$2>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 64|0); + $37 = HEAP32[$36>>2]|0; + _sqlite3DbFree($34,$37); + } + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 36|0); + $40 = ((($39)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41&255) >>> 2; + $43 = $42 & 1; + $44 = $43&255; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$2>>2]|0; + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 64|0); + $49 = HEAP32[$48>>2]|0; + _sqlite3ExprListDelete($46,$49); + } + $50 = HEAP32[$2>>2]|0; + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + _sqlite3DeleteTable($50,$53); + $54 = HEAP32[$2>>2]|0; + $55 = HEAP32[$5>>2]|0; + $56 = ((($55)) + 20|0); + $57 = HEAP32[$56>>2]|0; + _sqlite3SelectDelete($54,$57); + $58 = HEAP32[$2>>2]|0; + $59 = HEAP32[$5>>2]|0; + $60 = ((($59)) + 48|0); + $61 = HEAP32[$60>>2]|0; + _sqlite3ExprDelete($58,$61); + $62 = HEAP32[$2>>2]|0; + $63 = HEAP32[$5>>2]|0; + $64 = ((($63)) + 52|0); + $65 = HEAP32[$64>>2]|0; + _sqlite3IdListDelete($62,$65); + $66 = HEAP32[$4>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$4>>2] = $67; + $68 = HEAP32[$5>>2]|0; + $69 = ((($68)) + 72|0); + HEAP32[$5>>2] = $69; } - $44 = HEAP32[$0>>2]|0; - $45 = HEAP32[$pCsr>>2]|0; - $46 = HEAP32[$zStart>>2]|0; - $47 = HEAP32[$zEnd>>2]|0; - $48 = HEAP32[$zEllipsis>>2]|0; - $49 = HEAP32[$iCol>>2]|0; - $50 = HEAP32[$nToken>>2]|0; - _sqlite3Fts3Snippet($44,$45,$46,$47,$48,$49,$50); + $70 = HEAP32[$3>>2]|0; + _sqlite3DbFree($14,$70); STACKTOP = sp;return; } -function _fts3OffsetsFunc($pContext,$nVal,$apVal) { - $pContext = $pContext|0; - $nVal = $nVal|0; - $apVal = $apVal|0; - var $0 = 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, $pCsr = 0, label = 0, sp = 0; +function _sqlite3WithDelete($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pContext; - HEAP32[$1>>2] = $nVal; - HEAP32[$2>>2] = $apVal; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = (_fts3FunctionArg($3,20494,$5,$pCsr)|0); - $7 = ($6|0)!=(0); - if ($7) { + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { STACKTOP = sp;return; } - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$pCsr>>2]|0; - $10 = (_fts3CursorSeek($8,$9)|0); - $11 = (0)==($10|0); - if (!($11)) { - STACKTOP = sp;return; + HEAP32[$4>>2] = 0; + while(1) { + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ($8|0)<($10|0); + if (!($11)) { + break; + } + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$4>>2]|0; + $15 = (($13) + ($14<<4)|0); + HEAP32[$5>>2] = $15; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3ExprListDelete($16,$19); + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 8|0); + $23 = HEAP32[$22>>2]|0; + _sqlite3SelectDelete($20,$23); + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$25>>2]|0; + _sqlite3DbFree($24,$26); + $27 = HEAP32[$4>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$4>>2] = $28; } - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$pCsr>>2]|0; - _sqlite3Fts3Offsets($12,$13); + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$3>>2]|0; + _sqlite3DbFree($29,$30); STACKTOP = sp;return; } -function _fts3OptimizeFunc($pContext,$nVal,$apVal) { - $pContext = $pContext|0; - $nVal = $nVal|0; - $apVal = $apVal|0; - var $0 = 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, $p = 0, $pCursor = 0, $rc = 0; +function _sqlite3IdListDelete($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $rc = sp + 8|0; - $p = sp + 4|0; - $pCursor = sp; - HEAP32[$0>>2] = $pContext; - HEAP32[$1>>2] = $nVal; - HEAP32[$2>>2] = $apVal; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = (_fts3FunctionArg($3,20512,$5,$pCursor)|0); - $7 = ($6|0)!=(0); - if ($7) { - STACKTOP = sp;return; - } - $8 = HEAP32[$pCursor>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$p>>2] = $9; - $10 = HEAP32[$p>>2]|0; - $11 = (_sqlite3Fts3Optimize($10)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - switch ($12|0) { - case 0: { - $13 = HEAP32[$0>>2]|0; - _sqlite3_result_text($13,23331,-1,0); - STACKTOP = sp;return; - break; - } - case 101: { - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_text($14,23347,-1,0); - STACKTOP = sp;return; - break; - } - default: { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$rc>>2]|0; - _sqlite3_result_error_code($15,$16); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { STACKTOP = sp;return; } + HEAP32[$4>>2] = 0; + while(1) { + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($7|0)<($10|0); + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$13>>2]|0; + if (!($11)) { + break; + } + $15 = HEAP32[$4>>2]|0; + $16 = (($14) + ($15<<3)|0); + $17 = HEAP32[$16>>2]|0; + _sqlite3DbFree($12,$17); + $18 = HEAP32[$4>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$4>>2] = $19; } + _sqlite3DbFree($12,$14); + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$3>>2]|0; + _sqlite3DbFree($20,$21); + STACKTOP = sp;return; } -function _fts3MatchinfoFunc($pContext,$nVal,$apVal) { - $pContext = $pContext|0; - $nVal = $nVal|0; - $apVal = $apVal|0; - var $0 = 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, $pCsr = 0, $zArg = 0, label = 0; - var sp = 0; +function _fkTriggerDelete($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 8|0; - $pCsr = sp + 4|0; - $zArg = sp; - HEAP32[$0>>2] = $pContext; - HEAP32[$1>>2] = $nVal; - HEAP32[$2>>2] = $apVal; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = (_fts3FunctionArg($3,20502,$5,$pCsr)|0); - $7 = (0)==($6|0); - if (!($7)) { + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { STACKTOP = sp;return; } - HEAP32[$zArg>>2] = 0; - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)>(1); - if ($9) { - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3_value_text($12)|0); - HEAP32[$zArg>>2] = $13; - } - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$pCsr>>2]|0; - $16 = HEAP32[$zArg>>2]|0; - _sqlite3Fts3Matchinfo($14,$15,$16); + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 28|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + _sqlite3ExprDelete($10,$13); + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 20|0); + $17 = HEAP32[$16>>2]|0; + _sqlite3ExprListDelete($14,$17); + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + _sqlite3SelectDelete($18,$21); + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + _sqlite3ExprDelete($22,$25); + $26 = HEAP32[$2>>2]|0; + $27 = HEAP32[$3>>2]|0; + _sqlite3DbFree($26,$27); STACKTOP = sp;return; } -function _fts3FunctionArg($pContext,$zFunc,$pVal,$ppCsr) { - $pContext = $pContext|0; - $zFunc = $zFunc|0; - $pVal = $pVal|0; - $ppCsr = $ppCsr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pRet = 0, $vararg_buffer = 0, $zErr = 0, label = 0, sp = 0; +function _sqlite3DeleteIndexSamples($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $pRet = sp + 8|0; - $zErr = sp + 4|0; - HEAP32[$1>>2] = $pContext; - HEAP32[$2>>2] = $zFunc; - HEAP32[$3>>2] = $pVal; - HEAP32[$4>>2] = $ppCsr; - $5 = HEAP32[$3>>2]|0; - $6 = (_sqlite3_value_type($5)|0); - $7 = ($6|0)!=(4); - if (!($7)) { - $8 = HEAP32[$3>>2]|0; - $9 = (_sqlite3_value_bytes($8)|0); - $10 = ($9|0)!=(4); - if (!($10)) { - $16 = HEAP32[$3>>2]|0; - $17 = (_sqlite3_value_blob($16)|0); - ;HEAP8[$pRet>>0]=HEAP8[$17>>0]|0;HEAP8[$pRet+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$pRet+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$pRet+3>>0]=HEAP8[$17+3>>0]|0; - $18 = HEAP32[$pRet>>2]|0; - $19 = HEAP32[$4>>2]|0; - HEAP32[$19>>2] = $18; - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } - } - $11 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $12 = (_sqlite3_mprintf(23302,$vararg_buffer)|0); - HEAP32[$zErr>>2] = $12; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$zErr>>2]|0; - _sqlite3_result_error($13,$14,-1); - $15 = HEAP32[$zErr>>2]|0; - _sqlite3_free($15); - HEAP32[$0>>2] = 1; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + STACKTOP = sp;return; } -function _sqlite3Fts3Matchinfo($pContext,$pCsr,$zArg) { - $pContext = $pContext|0; - $pCsr = $pCsr|0; - $zArg = $zArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTab = 0, $zFormat = 0, label = 0, sp = 0; +function _findElementWithHash($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $pTab = sp + 4|0; - $zFormat = sp; - HEAP32[$0>>2] = $pContext; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $zArg; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pTab>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = ($5|0)!=(0|0); - if ($6) { - $7 = HEAP32[$2>>2]|0; - HEAP32[$zFormat>>2] = $7; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$5>>2]|0; + $16 = (_strHash($15)|0); + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (($16>>>0) % ($18>>>0))&-1; + HEAP32[$9>>2] = $19; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$9>>2]|0; + $24 = (($22) + ($23<<3)|0); + HEAP32[$10>>2] = $24; + $25 = HEAP32[$10>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$7>>2] = $27; + $28 = HEAP32[$10>>2]|0; + $29 = HEAP32[$28>>2]|0; + HEAP32[$8>>2] = $29; } else { - HEAP32[$zFormat>>2] = 23237; + HEAP32[$9>>2] = 0; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$7>>2] = $32; + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$8>>2] = $35; } - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - $12 = HEAP32[$0>>2]|0; - if ($11) { - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$zFormat>>2]|0; - _fts3GetMatchinfo($12,$13,$14); - $15 = HEAP32[$pTab>>2]|0; - _sqlite3Fts3SegmentsClose($15); - STACKTOP = sp;return; - } else { - _sqlite3_result_blob($12,18402,0,0); - STACKTOP = sp;return; + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$6>>2]|0; + HEAP32[$37>>2] = $36; + while(1) { + $38 = HEAP32[$8>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$8>>2] = $39; + $40 = ($38|0)!=(0); + if (!($40)) { + label = 9; + break; + } + $41 = HEAP32[$7>>2]|0; + $42 = ((($41)) + 12|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = (_sqlite3StrICmp($43,$44)|0); + $46 = ($45|0)==(0); + $47 = HEAP32[$7>>2]|0; + if ($46) { + label = 7; + break; + } + $48 = HEAP32[$47>>2]|0; + HEAP32[$7>>2] = $48; + } + if ((label|0) == 7) { + HEAP32[$3>>2] = $47; + $49 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($49|0); + } + else if ((label|0) == 9) { + HEAP32[$3>>2] = 0; + $49 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($49|0); } + return (0)|0; } -function _fts3GetMatchinfo($pCtx,$pCsr,$zArg) { - $pCtx = $pCtx|0; - $pCsr = $pCsr|0; - $zArg = $zArg|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aOut = 0; - var $bGlobal = 0, $i = 0, $n = 0, $nMatchinfo = 0, $pTab = 0, $rc = 0, $sInfo = 0, $xDestroyOut = 0, $zErr = 0, label = 0, sp = 0; +function _removeElementGivenHash($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $sInfo = sp; - $pTab = sp + 64|0; - $rc = sp + 60|0; - $bGlobal = sp + 56|0; - $aOut = sp + 52|0; - $xDestroyOut = sp + 48|0; - $nMatchinfo = sp + 44|0; - $i = sp + 40|0; - $zErr = sp + 36|0; - $n = sp + 32|0; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $zArg; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pTab>>2] = $4; - HEAP32[$rc>>2] = 0; - HEAP32[$bGlobal>>2] = 0; - HEAP32[$aOut>>2] = 0; - HEAP32[$xDestroyOut>>2] = 0; - ;HEAP32[$sInfo>>2]=0|0;HEAP32[$sInfo+4>>2]=0|0;HEAP32[$sInfo+8>>2]=0|0;HEAP32[$sInfo+12>>2]=0|0;HEAP32[$sInfo+16>>2]=0|0;HEAP32[$sInfo+20>>2]=0|0;HEAP32[$sInfo+24>>2]=0|0;HEAP32[$sInfo+28>>2]=0|0; - $5 = HEAP32[$1>>2]|0; - HEAP32[$sInfo>>2] = $5; - $6 = HEAP32[$pTab>>2]|0; - $7 = ((($6)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($sInfo)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 92|0); + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + $11 = HEAP32[$4>>2]|0; $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0|0); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 92|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (_strcmp($18,$19)|0); - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 92|0); - $24 = HEAP32[$23>>2]|0; - _sqlite3Fts3MIBufferFree($24); - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 92|0); - HEAP32[$26>>2] = 0; - } + if ($10) { + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $$sink = $15; + } else { + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 8|0); + $$sink = $17; } - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 92|0); + HEAP32[$$sink>>2] = $12; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(0|0); + if ($20) { + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 4|0); + HEAP32[$26>>2] = $23; + } + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 12|0); $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0|0); + $30 = ($29|0)!=(0|0); if ($30) { - HEAP32[$nMatchinfo>>2] = 0; - $31 = HEAP32[$1>>2]|0; + $31 = HEAP32[$3>>2]|0; $32 = ((($31)) + 12|0); $33 = HEAP32[$32>>2]|0; - $34 = (_fts3ExprPhraseCount($33)|0); - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 20|0); - HEAP32[$36>>2] = $34; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 20|0); - $39 = HEAP32[$38>>2]|0; - $40 = ((($sInfo)) + 8|0); - HEAP32[$40>>2] = $39; - HEAP32[$i>>2] = 0; - while(1) { - $41 = HEAP32[$i>>2]|0; - $42 = HEAP32[$2>>2]|0; - $43 = (($42) + ($41)|0); - $44 = HEAP8[$43>>0]|0; - $45 = ($44<<24>>24)!=(0); - if (!($45)) { - break; - } - HEAP32[$zErr>>2] = 0; - $46 = HEAP32[$pTab>>2]|0; - $47 = HEAP32[$i>>2]|0; - $48 = HEAP32[$2>>2]|0; - $49 = (($48) + ($47)|0); - $50 = HEAP8[$49>>0]|0; - $51 = (_fts3MatchinfoCheck($46,$50,$zErr)|0); - $52 = ($51|0)!=(0); - if ($52) { - label = 8; - break; - } - $56 = HEAP32[$i>>2]|0; - $57 = HEAP32[$2>>2]|0; - $58 = (($57) + ($56)|0); - $59 = HEAP8[$58>>0]|0; - $60 = (_fts3MatchinfoSize($sInfo,$59)|0); - $61 = HEAP32[$nMatchinfo>>2]|0; - $62 = (($61) + ($60))|0; - HEAP32[$nMatchinfo>>2] = $62; - $63 = HEAP32[$i>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$i>>2] = $64; - } - if ((label|0) == 8) { - $53 = HEAP32[$0>>2]|0; - $54 = HEAP32[$zErr>>2]|0; - _sqlite3_result_error($53,$54,-1); - $55 = HEAP32[$zErr>>2]|0; - _sqlite3_free($55); - STACKTOP = sp;return; - } - $65 = HEAP32[$nMatchinfo>>2]|0; - $66 = HEAP32[$2>>2]|0; - $67 = (_fts3MIBufferNew($65,$66)|0); - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 92|0); - HEAP32[$69>>2] = $67; - $70 = HEAP32[$1>>2]|0; - $71 = ((($70)) + 92|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($72|0)!=(0|0); - if (!($73)) { - HEAP32[$rc>>2] = 7; + $34 = HEAP32[$5>>2]|0; + $35 = (($33) + ($34<<3)|0); + HEAP32[$6>>2] = $35; + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ($38|0)==($39|0); + if ($40) { + $41 = HEAP32[$4>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = ((($43)) + 4|0); + HEAP32[$44>>2] = $42; } - $74 = HEAP32[$1>>2]|0; - $75 = ((($74)) + 88|0); - HEAP32[$75>>2] = 1; - HEAP32[$bGlobal>>2] = 1; + $45 = HEAP32[$6>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + -1)|0; + HEAP32[$45>>2] = $47; } - $76 = HEAP32[$rc>>2]|0; - $77 = ($76|0)==(0); - if ($77) { - $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 92|0); - $80 = HEAP32[$79>>2]|0; - $81 = (_fts3MIBufferAlloc($80,$aOut)|0); - HEAP32[$xDestroyOut>>2] = $81; - $82 = HEAP32[$xDestroyOut>>2]|0; - $83 = ($82|0)==(0|0); - if ($83) { - HEAP32[$rc>>2] = 7; - } + $48 = HEAP32[$4>>2]|0; + _sqlite3_free($48); + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($51) + -1)|0; + HEAP32[$50>>2] = $52; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)==(0); + if (!($56)) { + STACKTOP = sp;return; } - $84 = HEAP32[$rc>>2]|0; - $85 = ($84|0)==(0); - if ($85) { - $86 = HEAP32[$aOut>>2]|0; - $87 = ((($sInfo)) + 28|0); - HEAP32[$87>>2] = $86; - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 20|0); - $90 = HEAP32[$89>>2]|0; - $91 = ((($sInfo)) + 8|0); - HEAP32[$91>>2] = $90; - $92 = HEAP32[$1>>2]|0; - $93 = HEAP32[$bGlobal>>2]|0; - $94 = HEAP32[$2>>2]|0; - $95 = (_fts3MatchinfoValues($92,$93,$sInfo,$94)|0); - HEAP32[$rc>>2] = $95; - $96 = HEAP32[$bGlobal>>2]|0; - $97 = ($96|0)!=(0); - if ($97) { - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 92|0); - $100 = HEAP32[$99>>2]|0; - _fts3MIBufferSetGlobal($100); - } + $57 = HEAP32[$3>>2]|0; + _sqlite3HashClear($57); + STACKTOP = sp;return; +} +function _rehash($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$4>>2]|0; + $10 = $9<<3; + $11 = ($10>>>0)>(1024); + $$ = $11 ? 128 : $1; + HEAP32[$4>>2] = $$; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ($12|0)==($14|0); + if ($15) { + HEAP32[$2>>2] = 0; + $55 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($55|0); } - $101 = HEAP32[$rc>>2]|0; - $102 = ($101|0)!=(0); - if (!($102)) { - $109 = HEAP32[$1>>2]|0; - $110 = ((($109)) + 92|0); - $111 = HEAP32[$110>>2]|0; - $112 = ((($111)) + 4|0); - $113 = HEAP32[$112>>2]|0; - $114 = $113<<2; - HEAP32[$n>>2] = $114; - $115 = HEAP32[$0>>2]|0; - $116 = HEAP32[$aOut>>2]|0; - $117 = HEAP32[$n>>2]|0; - $118 = HEAP32[$xDestroyOut>>2]|0; - _sqlite3_result_blob($115,$116,$117,$118); - STACKTOP = sp;return; + _sqlite3BeginBenignMalloc(); + $16 = HEAP32[$4>>2]|0; + $17 = $16<<3; + $18 = (_sqlite3Malloc($17,0)|0); + HEAP32[$5>>2] = $18; + _sqlite3EndBenignMalloc(); + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(0|0); + if ($20) { + HEAP32[$2>>2] = 0; + $55 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($55|0); } - $103 = HEAP32[$0>>2]|0; - $104 = HEAP32[$rc>>2]|0; - _sqlite3_result_error_code($103,$104); - $105 = HEAP32[$xDestroyOut>>2]|0; - $106 = ($105|0)!=(0|0); - if (!($106)) { - STACKTOP = sp;return; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + _sqlite3_free($23); + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 12|0); + HEAP32[$26>>2] = $24; + $27 = HEAP32[$5>>2]|0; + $28 = (_sqlite3MallocSize($27)|0); + $29 = (($28>>>0) / 8)&-1; + HEAP32[$4>>2] = $29; + $30 = HEAP32[$3>>2]|0; + HEAP32[$30>>2] = $29; + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = $32<<3; + _memset(($31|0),0,($33|0))|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$6>>2] = $36; + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 8|0); + HEAP32[$38>>2] = 0; + while(1) { + $39 = HEAP32[$6>>2]|0; + $40 = ($39|0)!=(0|0); + if (!($40)) { + break; + } + $41 = HEAP32[$6>>2]|0; + $42 = ((($41)) + 12|0); + $43 = HEAP32[$42>>2]|0; + $44 = (_strHash($43)|0); + $45 = HEAP32[$4>>2]|0; + $46 = (($44>>>0) % ($45>>>0))&-1; + HEAP32[$8>>2] = $46; + $47 = HEAP32[$6>>2]|0; + $48 = HEAP32[$47>>2]|0; + HEAP32[$7>>2] = $48; + $49 = HEAP32[$3>>2]|0; + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$8>>2]|0; + $52 = (($50) + ($51<<3)|0); + $53 = HEAP32[$6>>2]|0; + _insertElement($49,$52,$53); + $54 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $54; } - $107 = HEAP32[$xDestroyOut>>2]|0; - $108 = HEAP32[$aOut>>2]|0; - FUNCTION_TABLE_vi[$107 & 255]($108); - STACKTOP = sp;return; + HEAP32[$2>>2] = 1; + $55 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($55|0); } -function _sqlite3Fts3SegmentsClose($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _strHash($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, $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; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 244|0); - $3 = HEAP32[$2>>2]|0; - (_sqlite3_blob_close($3)|0); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 244|0); - HEAP32[$5>>2] = 0; - STACKTOP = sp;return; + $1 = sp + 4|0; + $2 = sp; + $3 = sp + 8|0; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + while(1) { + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 1|0); + HEAP32[$1>>2] = $5; + $6 = HEAP8[$4>>0]|0; + HEAP8[$3>>0] = $6; + $7 = $6&255; + $8 = ($7|0)!=(0); + if (!($8)) { + break; + } + $9 = HEAP8[$3>>0]|0; + $10 = $9&255; + $11 = (20458 + ($10)|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = HEAP32[$2>>2]|0; + $15 = (($14) + ($13))|0; + HEAP32[$2>>2] = $15; + $16 = HEAP32[$2>>2]|0; + $17 = Math_imul($16, -1640531535)|0; + HEAP32[$2>>2] = $17; + } + $18 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($18|0); } -function _sqlite3Fts3MIBufferFree($p) { - $p = $p|0; - var $0 = 0, $1 = 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; - var sp = 0; +function _insertElement($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; - } - $3 = HEAP32[$0>>2]|0; - HEAP8[$3>>0] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(0); - if (!($7)) { - STACKTOP = sp;return; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)!=(0|0); + if ($8) { + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = $14; + } else { + $15 = 0; + } + HEAP32[$6>>2] = $15; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$16>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 4|0); + HEAP32[$21>>2] = $19; + } else { + HEAP32[$6>>2] = 0; } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 1|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)==(0); - if (!($12)) { + $22 = HEAP32[$6>>2]|0; + $23 = ($22|0)!=(0|0); + if (!($23)) { + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 8|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$5>>2]|0; + HEAP32[$47>>2] = $46; + $48 = HEAP32[$3>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)!=(0|0); + if ($51) { + $52 = HEAP32[$5>>2]|0; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($55)) + 4|0); + HEAP32[$56>>2] = $52; + } + $57 = HEAP32[$5>>2]|0; + $58 = ((($57)) + 4|0); + HEAP32[$58>>2] = 0; + $59 = HEAP32[$5>>2]|0; + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 8|0); + HEAP32[$61>>2] = $59; STACKTOP = sp;return; } - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 2|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)==(0); - if (!($17)) { - STACKTOP = sp;return; + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$5>>2]|0; + HEAP32[$25>>2] = $24; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 4|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0|0); + $35 = HEAP32[$5>>2]|0; + if ($34) { + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $$sink = $38; + } else { + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 8|0); + $$sink = $40; } - $18 = HEAP32[$0>>2]|0; - _sqlite3_free($18); + HEAP32[$$sink>>2] = $35; + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 4|0); + HEAP32[$43>>2] = $41; STACKTOP = sp;return; } -function _fts3ExprPhraseCount($pExpr) { - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $2 = 0, $nPhrase = 0, label = 0, sp = 0; +function _sqlite3HashClear($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $nPhrase = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$nPhrase>>2] = 0; - $1 = HEAP32[$0>>2]|0; - (_fts3ExprIterate($1,153,$nPhrase)|0); - $2 = HEAP32[$nPhrase>>2]|0; - STACKTOP = sp;return ($2|0); + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 8|0); + HEAP32[$8>>2] = 0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + _sqlite3_free($11); + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 12|0); + HEAP32[$13>>2] = 0; + $14 = HEAP32[$1>>2]|0; + HEAP32[$14>>2] = 0; + while(1) { + $15 = HEAP32[$2>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { + break; + } + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$3>>2] = $18; + $19 = HEAP32[$2>>2]|0; + _sqlite3_free($19); + $20 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $20; + } + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 4|0); + HEAP32[$22>>2] = 0; + STACKTOP = sp;return; } -function _fts3MatchinfoCheck($pTab,$cArg,$pzErr) { - $pTab = $pTab|0; - $cArg = $cArg|0; - $pzErr = $pzErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, label = 0, sp = 0; +function _sqlite3DeleteTriggerStep($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; $3 = sp + 4|0; - HEAP32[$1>>2] = $pTab; - HEAP8[$2>>0] = $cArg; - HEAP32[$3>>2] = $pzErr; - $4 = HEAP8[$2>>0]|0; - $5 = $4 << 24 >> 24; - $6 = ($5|0)==(112); - do { + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)!=(0|0); if (!($6)) { - $7 = HEAP8[$2>>0]|0; - $8 = $7 << 24 >> 24; - $9 = ($8|0)==(99); - if (!($9)) { - $10 = HEAP8[$2>>0]|0; - $11 = $10 << 24 >> 24; - $12 = ($11|0)==(110); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 228|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)!=(0); - if ($17) { - break; - } - } - $18 = HEAP8[$2>>0]|0; - $19 = $18 << 24 >> 24; - $20 = ($19|0)==(97); - if ($20) { - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 228|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = ($24|0)!=(0); - if ($25) { - break; - } - } - $26 = HEAP8[$2>>0]|0; - $27 = $26 << 24 >> 24; - $28 = ($27|0)==(108); - if ($28) { - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 230|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = ($32|0)!=(0); - if ($33) { - break; - } - } - $34 = HEAP8[$2>>0]|0; - $35 = $34 << 24 >> 24; - $36 = ($35|0)==(115); - if (!($36)) { - $37 = HEAP8[$2>>0]|0; - $38 = $37 << 24 >> 24; - $39 = ($38|0)==(120); - if (!($39)) { - $40 = HEAP8[$2>>0]|0; - $41 = $40 << 24 >> 24; - $42 = ($41|0)==(121); - if (!($42)) { - $43 = HEAP8[$2>>0]|0; - $44 = $43 << 24 >> 24; - $45 = ($44|0)==(98); - if (!($45)) { - $46 = HEAP32[$3>>2]|0; - $47 = HEAP8[$2>>0]|0; - $48 = $47 << 24 >> 24; - HEAP32[$vararg_buffer>>2] = $48; - _sqlite3Fts3ErrMsg($46,23267,$vararg_buffer); - HEAP32[$0>>2] = 1; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); - } - } - } - } - } + break; } - } while(0); - HEAP32[$0>>2] = 0; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); -} -function _fts3MatchinfoSize($pInfo,$cArg) { - $pInfo = $pInfo|0; - $cArg = $cArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nVal = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp + 8|0; - $nVal = sp; - HEAP32[$0>>2] = $pInfo; - HEAP8[$1>>0] = $cArg; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - switch ($3|0) { - case 99: case 112: case 110: { - HEAP32[$nVal>>2] = 1; - break; - } - case 115: case 108: case 97: { - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$nVal>>2] = $6; - break; - } - case 121: { - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = Math_imul($9, $12)|0; - HEAP32[$nVal>>2] = $13; - break; - } - case 98: { - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + 31)|0; - $21 = (($20|0) / 32)&-1; - $22 = Math_imul($16, $21)|0; - HEAP32[$nVal>>2] = $22; - break; - } - default: { - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = Math_imul($25, $28)|0; - $30 = ($29*3)|0; - HEAP32[$nVal>>2] = $30; - } - } - $31 = HEAP32[$nVal>>2]|0; - STACKTOP = sp;return ($31|0); -} -function _fts3MIBufferNew($nElem,$zMatchinfo) { - $nElem = $nElem|0; - $zMatchinfo = $zMatchinfo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nByte = 0, $nStr = 0, $pRet = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pRet = sp + 8|0; - $nByte = sp + 4|0; - $nStr = sp; - HEAP32[$0>>2] = $nElem; - HEAP32[$1>>2] = $zMatchinfo; - $2 = HEAP32[$0>>2]|0; - $3 = $2<<1; - $4 = (($3) + 1)|0; - $5 = $4<<2; - $6 = (($5) + 20)|0; - HEAP32[$nByte>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = (_strlen($7)|0); - HEAP32[$nStr>>2] = $8; - $9 = HEAP32[$nByte>>2]|0; - $10 = HEAP32[$nStr>>2]|0; - $11 = (($9) + ($10))|0; - $12 = (($11) + 1)|0; - $13 = (_sqlite3_malloc($12)|0); - HEAP32[$pRet>>2] = $13; - $14 = HEAP32[$pRet>>2]|0; - $15 = ($14|0)!=(0|0); - if (!($15)) { - $54 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($54|0); + $7 = HEAP32[$3>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 28|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3ExprDelete($11,$14); + $15 = HEAP32[$2>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3ExprListDelete($15,$18); + $19 = HEAP32[$2>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3SelectDelete($19,$22); + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 24|0); + $26 = HEAP32[$25>>2]|0; + _sqlite3IdListDelete($23,$26); + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$4>>2]|0; + _sqlite3DbFree($27,$28); } - $16 = HEAP32[$pRet>>2]|0; - $17 = HEAP32[$nByte>>2]|0; - _memset(($16|0),0,($17|0))|0; - $18 = HEAP32[$pRet>>2]|0; - $19 = ((($18)) + 16|0); - $20 = ((($19)) + 4|0); - $21 = HEAP32[$pRet>>2]|0; - $22 = $20; - $23 = $21; - $24 = (($22) - ($23))|0; - $25 = HEAP32[$pRet>>2]|0; - $26 = ((($25)) + 16|0); - HEAP32[$26>>2] = $24; - $27 = HEAP32[$pRet>>2]|0; - $28 = ((($27)) + 16|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 1)|0; - $32 = $31<<2; - $33 = (($29) + ($32))|0; - $34 = HEAP32[$0>>2]|0; - $35 = (1 + ($34))|0; - $36 = HEAP32[$pRet>>2]|0; - $37 = ((($36)) + 16|0); - $38 = (($37) + ($35<<2)|0); - HEAP32[$38>>2] = $33; - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$pRet>>2]|0; - $41 = ((($40)) + 4|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$pRet>>2]|0; - $43 = HEAP32[$nByte>>2]|0; - $44 = (($42) + ($43)|0); - $45 = HEAP32[$pRet>>2]|0; - $46 = ((($45)) + 12|0); - HEAP32[$46>>2] = $44; - $47 = HEAP32[$pRet>>2]|0; - $48 = ((($47)) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$nStr>>2]|0; - $52 = (($51) + 1)|0; - _memcpy(($49|0),($50|0),($52|0))|0; - $53 = HEAP32[$pRet>>2]|0; - HEAP8[$53>>0] = 1; - $54 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($54|0); + STACKTOP = sp;return; } -function _fts3MIBufferAlloc($p,$paOut) { - $p = $p|0; - $paOut = $paOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aOut = 0, $xRet = 0, label = 0, sp = 0; +function _sqlite3BtreeLeave($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $xRet = sp + 4|0; - $aOut = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $paOut; - HEAP32[$xRet>>2] = 0; - HEAP32[$aOut>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 1|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 9|0); $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(0); - $7 = HEAP32[$0>>2]|0; - do { - if ($6) { - $8 = ((($7)) + 1|0); - HEAP8[$8>>0] = 1; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 16|0); - $11 = ((($10)) + 4|0); - HEAP32[$aOut>>2] = $11; - HEAP32[$xRet>>2] = 152; - } else { - $12 = ((($7)) + 2|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==(0); - $16 = HEAP32[$0>>2]|0; - if ($15) { - $17 = ((($16)) + 2|0); - HEAP8[$17>>0] = 1; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 2)|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 16|0); - $24 = (($23) + ($21<<2)|0); - HEAP32[$aOut>>2] = $24; - HEAP32[$xRet>>2] = 152; - break; - } - $25 = ((($16)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = $26<<2; - $28 = (_sqlite3_malloc($27)|0); - HEAP32[$aOut>>2] = $28; - $29 = HEAP32[$aOut>>2]|0; - $30 = ($29|0)!=(0|0); - if ($30) { - HEAP32[$xRet>>2] = 148; - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)!=(0); - if ($34) { - $35 = HEAP32[$aOut>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 16|0); - $38 = ((($37)) + 4|0); - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 4|0); - $41 = HEAP32[$40>>2]|0; - $42 = $41<<2; - _memcpy(($35|0),($38|0),($42|0))|0; - } - } - } - } while(0); - $43 = HEAP32[$aOut>>2]|0; - $44 = HEAP32[$1>>2]|0; - HEAP32[$44>>2] = $43; - $45 = HEAP32[$xRet>>2]|0; - STACKTOP = sp;return ($45|0); -} -function _fts3MatchinfoValues($pCsr,$bGlobal,$pInfo,$zArg) { - $pCsr = $pCsr|0; - $bGlobal = $bGlobal|0; - $pInfo = $pInfo|0; - $zArg = $zArg|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $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, $a = 0, $a3 = 0, $i = 0, $iCol = 0, $iCol2 = 0, $iVal = 0, $nDoc = 0, $nDoc1 = 0, $nToken = 0, $nToken4 = 0, $nZero = 0, $pExpr = 0, $pSelect = 0, $pSelectDocsize = 0, $pTab = 0; - var $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 92|0; - $1 = sp + 88|0; - $2 = sp + 84|0; - $3 = sp + 80|0; - $rc = sp + 76|0; - $i = sp + 72|0; - $pTab = sp + 68|0; - $pSelect = sp + 64|0; - $nDoc = sp + 24|0; - $nDoc1 = sp + 16|0; - $a = sp + 60|0; - $iCol = sp + 56|0; - $iVal = sp + 52|0; - $nToken = sp + 8|0; - $pSelectDocsize = sp + 48|0; - $iCol2 = sp + 44|0; - $a3 = sp + 40|0; - $nToken4 = sp; - $nZero = sp + 36|0; - $pExpr = sp + 32|0; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $bGlobal; - HEAP32[$2>>2] = $pInfo; - HEAP32[$3>>2] = $zArg; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$pTab>>2] = $5; - HEAP32[$pSelect>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $6 = HEAP32[$rc>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - label = 31; - break; - } - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$3>>2]|0; - $10 = (($9) + ($8)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = ($12|0)!=(0); - if (!($13)) { - label = 31; - break; - } - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$3>>2]|0; - $16 = (($15) + ($14)|0); - $17 = HEAP8[$16>>0]|0; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 24|0); - HEAP8[$19>>0] = $17; - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$3>>2]|0; - $22 = (($21) + ($20)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23 << 24 >> 24; - L5: do { - switch ($24|0) { - case 112: { - $25 = HEAP32[$1>>2]|0; - $26 = ($25|0)!=(0); - if ($26) { - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = ((($30)) + 28|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$32>>2] = $29; - } - break; - } - case 99: { - $33 = HEAP32[$1>>2]|0; - $34 = ($33|0)!=(0); - if ($34) { - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = ((($38)) + 28|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$40>>2] = $37; - } - break; - } - case 110: { - $41 = HEAP32[$1>>2]|0; - $42 = ($41|0)!=(0); - if ($42) { - $43 = $nDoc; - $44 = $43; - HEAP32[$44>>2] = 0; - $45 = (($43) + 4)|0; - $46 = $45; - HEAP32[$46>>2] = 0; - $47 = HEAP32[$pTab>>2]|0; - $48 = (_fts3MatchinfoSelectDoctotal($47,$pSelect,$nDoc,0)|0); - HEAP32[$rc>>2] = $48; - $49 = $nDoc; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$2>>2]|0; - $56 = ((($55)) + 28|0); - $57 = HEAP32[$56>>2]|0; - HEAP32[$57>>2] = $51; - } - break; - } - case 97: { - $58 = HEAP32[$1>>2]|0; - $59 = ($58|0)!=(0); - if ($59) { - $60 = HEAP32[$pTab>>2]|0; - $61 = (_fts3MatchinfoSelectDoctotal($60,$pSelect,$nDoc1,$a)|0); - HEAP32[$rc>>2] = $61; - $62 = HEAP32[$rc>>2]|0; - $63 = ($62|0)==(0); - if ($63) { - HEAP32[$iCol>>2] = 0; - while(1) { - $64 = HEAP32[$iCol>>2]|0; - $65 = HEAP32[$2>>2]|0; - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($64|0)<($67|0); - if (!($68)) { - break L5; - } - $69 = HEAP32[$a>>2]|0; - $70 = (_sqlite3Fts3GetVarint($69,$nToken)|0); - $71 = HEAP32[$a>>2]|0; - $72 = (($71) + ($70)|0); - HEAP32[$a>>2] = $72; - $73 = $nToken; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = $nDoc1; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (($79) + 4)|0; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (___divdi3(($81|0),($84|0),2,0)|0); - $86 = tempRet0; - $87 = (_i64Add(($75|0),0,($85|0),($86|0))|0); - $88 = tempRet0; - $89 = $nDoc1; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (___divdi3(($87|0),($88|0),($91|0),($94|0))|0); - $96 = tempRet0; - HEAP32[$iVal>>2] = $95; - $97 = HEAP32[$iVal>>2]|0; - $98 = HEAP32[$iCol>>2]|0; - $99 = HEAP32[$2>>2]|0; - $100 = ((($99)) + 28|0); - $101 = HEAP32[$100>>2]|0; - $102 = (($101) + ($98<<2)|0); - HEAP32[$102>>2] = $97; - $103 = HEAP32[$iCol>>2]|0; - $104 = (($103) + 1)|0; - HEAP32[$iCol>>2] = $104; - } - } - } - break; - } - case 108: { - HEAP32[$pSelectDocsize>>2] = 0; - $105 = HEAP32[$pTab>>2]|0; - $106 = HEAP32[$0>>2]|0; - $107 = ((($106)) + 32|0); - $108 = $107; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (($108) + 4)|0; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = (_sqlite3Fts3SelectDocsize($105,$110,$113,$pSelectDocsize)|0); - HEAP32[$rc>>2] = $114; - $115 = HEAP32[$rc>>2]|0; - $116 = ($115|0)==(0); - L27: do { - if ($116) { - $117 = HEAP32[$pSelectDocsize>>2]|0; - $118 = (_sqlite3_column_blob($117,0)|0); - HEAP32[$a3>>2] = $118; - HEAP32[$iCol2>>2] = 0; - while(1) { - $119 = HEAP32[$iCol2>>2]|0; - $120 = HEAP32[$2>>2]|0; - $121 = ((($120)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ($119|0)<($122|0); - if (!($123)) { - break L27; - } - $124 = HEAP32[$a3>>2]|0; - $125 = (_sqlite3Fts3GetVarint($124,$nToken4)|0); - $126 = HEAP32[$a3>>2]|0; - $127 = (($126) + ($125)|0); - HEAP32[$a3>>2] = $127; - $128 = $nToken4; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = (($128) + 4)|0; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = HEAP32[$iCol2>>2]|0; - $135 = HEAP32[$2>>2]|0; - $136 = ((($135)) + 28|0); - $137 = HEAP32[$136>>2]|0; - $138 = (($137) + ($134<<2)|0); - HEAP32[$138>>2] = $130; - $139 = HEAP32[$iCol2>>2]|0; - $140 = (($139) + 1)|0; - HEAP32[$iCol2>>2] = $140; - } - } - } while(0); - $141 = HEAP32[$pSelectDocsize>>2]|0; - (_sqlite3_reset($141)|0); - break; - } - case 115: { - $142 = HEAP32[$0>>2]|0; - $143 = (_fts3ExprLoadDoclists($142,0,0)|0); - HEAP32[$rc>>2] = $143; - $144 = HEAP32[$rc>>2]|0; - $145 = ($144|0)==(0); - if ($145) { - $146 = HEAP32[$0>>2]|0; - $147 = HEAP32[$2>>2]|0; - $148 = (_fts3MatchinfoLcs($146,$147)|0); - HEAP32[$rc>>2] = $148; - } - break; - } - case 121: case 98: { - $149 = HEAP32[$2>>2]|0; - $150 = HEAP32[$i>>2]|0; - $151 = HEAP32[$3>>2]|0; - $152 = (($151) + ($150)|0); - $153 = HEAP8[$152>>0]|0; - $154 = (_fts3MatchinfoSize($149,$153)|0); - $155 = $154<<2; - HEAP32[$nZero>>2] = $155; - $156 = HEAP32[$2>>2]|0; - $157 = ((($156)) + 28|0); - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$nZero>>2]|0; - _memset(($158|0),0,($159|0))|0; - $160 = HEAP32[$0>>2]|0; - $161 = ((($160)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = HEAP32[$2>>2]|0; - _fts3ExprLHitGather($162,$163); - break; - } - default: { - $164 = HEAP32[$0>>2]|0; - $165 = ((($164)) + 12|0); - $166 = HEAP32[$165>>2]|0; - HEAP32[$pExpr>>2] = $166; - $167 = HEAP32[$0>>2]|0; - $168 = (_fts3ExprLoadDoclists($167,0,0)|0); - HEAP32[$rc>>2] = $168; - $169 = HEAP32[$rc>>2]|0; - $170 = ($169|0)!=(0); - if (!($170)) { - $171 = HEAP32[$1>>2]|0; - $172 = ($171|0)!=(0); - if ($172) { - $173 = HEAP32[$0>>2]|0; - $174 = ((($173)) + 24|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)!=(0|0); - if ($176) { - $177 = HEAP32[$pTab>>2]|0; - $178 = HEAP32[$2>>2]|0; - $179 = ((($178)) + 16|0); - $180 = (_fts3MatchinfoSelectDoctotal($177,$pSelect,$179,0)|0); - HEAP32[$rc>>2] = $180; - $181 = HEAP32[$rc>>2]|0; - $182 = ($181|0)!=(0); - if ($182) { - break L5; - } - } - $183 = HEAP32[$pExpr>>2]|0; - $184 = HEAP32[$2>>2]|0; - $185 = (_fts3ExprIterate($183,154,$184)|0); - HEAP32[$rc>>2] = $185; - $186 = HEAP32[$0>>2]|0; - (_sqlite3Fts3EvalTestDeferred($186,$rc)|0); - $187 = HEAP32[$rc>>2]|0; - $188 = ($187|0)!=(0); - if ($188) { - break L5; - } - } - $189 = HEAP32[$pExpr>>2]|0; - $190 = HEAP32[$2>>2]|0; - (_fts3ExprIterate($189,155,$190)|0); - } - } - } - } while(0); - $191 = HEAP32[$2>>2]|0; - $192 = HEAP32[$i>>2]|0; - $193 = HEAP32[$3>>2]|0; - $194 = (($193) + ($192)|0); - $195 = HEAP8[$194>>0]|0; - $196 = (_fts3MatchinfoSize($191,$195)|0); - $197 = HEAP32[$2>>2]|0; - $198 = ((($197)) + 28|0); - $199 = HEAP32[$198>>2]|0; - $200 = (($199) + ($196<<2)|0); - HEAP32[$198>>2] = $200; - $201 = HEAP32[$i>>2]|0; - $202 = (($201) + 1)|0; - HEAP32[$i>>2] = $202; + $5 = ($4<<24>>24)!=(0); + if (!($5)) { + STACKTOP = sp;return; } - if ((label|0) == 31) { - $203 = HEAP32[$pSelect>>2]|0; - (_sqlite3_reset($203)|0); - $204 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($204|0); + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + -1)|0; + HEAP32[$7>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + STACKTOP = sp;return; } - return (0)|0; + $14 = HEAP32[$1>>2]|0; + _unlockBtreeMutex($14); + STACKTOP = sp;return; } -function _fts3MIBufferSetGlobal($p) { - $p = $p|0; - var $0 = 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, label = 0, sp = 0; +function _unlockBtreeMutex($0) { + $0 = $0|0; + var $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; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - HEAP32[$2>>2] = 1; - $3 = HEAP32[$0>>2]|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; - $6 = (2 + ($5))|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 16|0); - $9 = (($8) + ($6<<2)|0); - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 16|0); - $12 = ((($11)) + 4|0); - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15<<2; - _memcpy(($9|0),($12|0),($16|0))|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 56|0); + $8 = HEAP32[$7>>2]|0; + _sqlite3_mutex_leave($8); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 10|0); + HEAP8[$10>>0] = 0; STACKTOP = sp;return; } -function _fts3MatchinfoSelectDoctotal($pTab,$ppStmt,$pnDoc,$paLen) { - $pTab = $pTab|0; - $ppStmt = $ppStmt|0; - $pnDoc = $pnDoc|0; - $paLen = $paLen|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $nDoc = 0, $pStmt = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $pStmt = sp + 16|0; - $a = sp + 12|0; - $nDoc = sp; - $rc = sp + 8|0; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $ppStmt; - HEAP32[$3>>2] = $pnDoc; - HEAP32[$4>>2] = $paLen; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = (_sqlite3Fts3SelectDoctotal($8,$9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)!=(0); - if ($12) { - $13 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $13; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); - } - } - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$14>>2]|0; - HEAP32[$pStmt>>2] = $15; - $16 = HEAP32[$pStmt>>2]|0; - $17 = (_sqlite3_column_blob($16,0)|0); - HEAP32[$a>>2] = $17; - $18 = HEAP32[$a>>2]|0; - $19 = (_sqlite3Fts3GetVarint($18,$nDoc)|0); - $20 = HEAP32[$a>>2]|0; - $21 = (($20) + ($19)|0); - HEAP32[$a>>2] = $21; - $22 = $nDoc; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = ($24|0)==(0); - $29 = ($27|0)==(0); - $30 = $28 & $29; - if ($30) { - HEAP32[$0>>2] = 267; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); - } - $31 = $nDoc; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$3>>2]|0; - $38 = $37; - $39 = $38; - HEAP32[$39>>2] = $33; - $40 = (($38) + 4)|0; - $41 = $40; - HEAP32[$41>>2] = 0; - $42 = HEAP32[$4>>2]|0; - $43 = ($42|0)!=(0|0); - if ($43) { - $44 = HEAP32[$a>>2]|0; - $45 = HEAP32[$4>>2]|0; - HEAP32[$45>>2] = $44; - } - HEAP32[$0>>2] = 0; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); -} -function _sqlite3Fts3SelectDocsize($pTab,$0,$1,$ppStmt) { - $pTab = $pTab|0; +function _sqlite3PcachePagecount($0) { $0 = $0|0; - $1 = $1|0; - $ppStmt = $ppStmt|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp; - $4 = sp + 8|0; - HEAP32[$2>>2] = $pTab; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $ppStmt; - $9 = HEAP32[$2>>2]|0; - $10 = $3; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$4>>2]|0; - $17 = (_fts3SelectDocsize($9,$12,$15,$16)|0); - STACKTOP = sp;return ($17|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[(140)>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 44|0); + $5 = HEAP32[$4>>2]|0; + $6 = (FUNCTION_TABLE_ii[$2 & 255]($5)|0); + STACKTOP = sp;return ($6|0); } -function _fts3ExprLoadDoclists($pCsr,$pnPhrase,$pnToken) { - $pCsr = $pCsr|0; - $pnPhrase = $pnPhrase|0; - $pnToken = $pnToken|0; - var $0 = 0, $1 = 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, $rc = 0; - var $sCtx = 0, label = 0, sp = 0; +function _sqlite3BtreeEnter($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; - $sCtx = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $pnPhrase; - HEAP32[$2>>2] = $pnToken; - ;HEAP32[$sCtx>>2]=0|0;HEAP32[$sCtx+4>>2]=0|0;HEAP32[$sCtx+8>>2]=0|0; - $3 = HEAP32[$0>>2]|0; - HEAP32[$sCtx>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_fts3ExprIterate($6,156,$sCtx)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)!=(0|0); - if ($9) { - $10 = ((($sCtx)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$1>>2]|0; - HEAP32[$12>>2] = $11; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 9|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)!=(0); + if (!($5)) { + STACKTOP = sp;return; } - $13 = HEAP32[$2>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + 1)|0; + HEAP32[$7>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 10|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)!=(0); + if ($13) { + STACKTOP = sp;return; } - $15 = ((($sCtx)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$2>>2]|0; - HEAP32[$17>>2] = $16; - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); + $14 = HEAP32[$1>>2]|0; + _btreeLockCarefully($14); + STACKTOP = sp;return; } -function _fts3MatchinfoLcs($pCsr,$pInfo) { - $pCsr = $pCsr|0; - $pInfo = $pInfo|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $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; - 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, $aIter = 0, $i = 0, $iCol = 0, $nLcs = 0; - var $nLive = 0, $nThisLcs = 0, $nToken = 0, $pAdv = 0, $pIt = 0, $pIter = 0, $pIter1 = 0, $rc = 0, label = 0, sp = 0; +function _btreeLockCarefully($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; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $aIter = sp + 44|0; - $i = sp + 40|0; - $iCol = sp + 36|0; - $nToken = sp + 32|0; - $pIter = sp + 28|0; - $nLcs = sp + 24|0; - $nLive = sp + 20|0; - $rc = sp + 16|0; - $pIt = sp + 12|0; - $pAdv = sp + 8|0; - $nThisLcs = sp + 4|0; - $pIter1 = sp; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pInfo; - HEAP32[$nToken>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 20|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; - $6 = $5<<4; - $7 = (_sqlite3_malloc($6)|0); - HEAP32[$aIter>>2] = $7; - $8 = HEAP32[$aIter>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - HEAP32[$0>>2] = 7; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); + $6 = ((($5)) + 56|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3_mutex_try($7)|0); + $9 = ($8|0)==(0); + $10 = HEAP32[$1>>2]|0; + if ($9) { + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 4|0); + HEAP32[$15>>2] = $11; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 10|0); + HEAP8[$17>>0] = 1; + STACKTOP = sp;return; } - $10 = HEAP32[$aIter>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13<<4; - _memset(($10|0),0,($14|0))|0; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$aIter>>2]|0; - (_fts3ExprIterate($17,157,$18)|0); - HEAP32[$i>>2] = 0; + $18 = ((($10)) + 24|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$2>>2] = $19; while(1) { - $19 = HEAP32[$i>>2]|0; $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($19|0)<($22|0); - if (!($23)) { + $21 = ($20|0)!=(0|0); + if (!($21)) { break; } - $24 = HEAP32[$i>>2]|0; - $25 = HEAP32[$aIter>>2]|0; - $26 = (($25) + ($24<<4)|0); - HEAP32[$pIter>>2] = $26; - $27 = HEAP32[$pIter>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 20|0); - $30 = HEAP32[$29>>2]|0; - $31 = ((($30)) + 64|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$nToken>>2]|0; - $34 = (($33) - ($32))|0; - HEAP32[$nToken>>2] = $34; - $35 = HEAP32[$nToken>>2]|0; - $36 = HEAP32[$pIter>>2]|0; - $37 = ((($36)) + 4|0); - HEAP32[$37>>2] = $35; - $38 = HEAP32[$i>>2]|0; - $39 = (($38) + 1)|0; - HEAP32[$i>>2] = $39; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 10|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)!=(0); + if ($25) { + $26 = HEAP32[$2>>2]|0; + _unlockBtreeMutex($26); + } + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 24|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$2>>2] = $29; } - HEAP32[$iCol>>2] = 0; - L9: while(1) { - $40 = HEAP32[$iCol>>2]|0; - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 4|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($40|0)<($43|0); - if (!($44)) { - label = 33; + $30 = HEAP32[$1>>2]|0; + _lockBtreeMutex($30); + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 24|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$2>>2] = $33; + while(1) { + $34 = HEAP32[$2>>2]|0; + $35 = ($34|0)!=(0|0); + if (!($35)) { break; } - HEAP32[$nLcs>>2] = 0; - HEAP32[$nLive>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $45 = HEAP32[$i>>2]|0; - $46 = HEAP32[$2>>2]|0; - $47 = ((($46)) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($45|0)<($48|0); - if (!($49)) { - break; - } - $50 = HEAP32[$i>>2]|0; - $51 = HEAP32[$aIter>>2]|0; - $52 = (($51) + ($50<<4)|0); - HEAP32[$pIt>>2] = $52; - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$pIt>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$iCol>>2]|0; - $57 = HEAP32[$pIt>>2]|0; - $58 = ((($57)) + 8|0); - $59 = (_sqlite3Fts3EvalPhrasePoslist($53,$55,$56,$58)|0); - HEAP32[$rc>>2] = $59; - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)!=(0); - if ($61) { - label = 11; - break L9; - } - $63 = HEAP32[$pIt>>2]|0; - $64 = ((($63)) + 8|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)!=(0|0); - if ($66) { - $67 = HEAP32[$pIt>>2]|0; - $68 = ((($67)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$pIt>>2]|0; - $71 = ((($70)) + 12|0); - HEAP32[$71>>2] = $69; - $72 = HEAP32[$i>>2]|0; - $73 = HEAP32[$aIter>>2]|0; - $74 = (($73) + ($72<<4)|0); - (_fts3LcsIteratorAdvance($74)|0); - $75 = HEAP32[$nLive>>2]|0; - $76 = (($75) + 1)|0; - HEAP32[$nLive>>2] = $76; - } - $77 = HEAP32[$i>>2]|0; - $78 = (($77) + 1)|0; - HEAP32[$i>>2] = $78; - } - while(1) { - $79 = HEAP32[$nLive>>2]|0; - $80 = ($79|0)>(0); - if (!($80)) { - break; - } - HEAP32[$pAdv>>2] = 0; - HEAP32[$nThisLcs>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $81 = HEAP32[$i>>2]|0; - $82 = HEAP32[$2>>2]|0; - $83 = ((($82)) + 8|0); - $84 = HEAP32[$83>>2]|0; - $85 = ($81|0)<($84|0); - if (!($85)) { - break; - } - $86 = HEAP32[$i>>2]|0; - $87 = HEAP32[$aIter>>2]|0; - $88 = (($87) + ($86<<4)|0); - HEAP32[$pIter1>>2] = $88; - $89 = HEAP32[$pIter1>>2]|0; - $90 = ((($89)) + 8|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(0|0); - if ($92) { - HEAP32[$nThisLcs>>2] = 0; - } else { - $93 = HEAP32[$pAdv>>2]|0; - $94 = ($93|0)==(0|0); - if ($94) { - label = 22; - } else { - $95 = HEAP32[$pIter1>>2]|0; - $96 = ((($95)) + 12|0); - $97 = HEAP32[$96>>2]|0; - $98 = HEAP32[$pAdv>>2]|0; - $99 = ((($98)) + 12|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($97|0)<($100|0); - if ($101) { - label = 22; - } - } - if ((label|0) == 22) { - label = 0; - $102 = HEAP32[$pIter1>>2]|0; - HEAP32[$pAdv>>2] = $102; - } - $103 = HEAP32[$nThisLcs>>2]|0; - $104 = ($103|0)==(0); - if ($104) { - label = 25; - } else { - $105 = HEAP32[$pIter1>>2]|0; - $106 = ((($105)) + 12|0); - $107 = HEAP32[$106>>2]|0; - $108 = HEAP32[$pIter1>>2]|0; - $109 = ((($108)) + -16|0); - $110 = ((($109)) + 12|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($107|0)==($111|0); - if ($112) { - label = 25; - } else { - HEAP32[$nThisLcs>>2] = 1; - } - } - if ((label|0) == 25) { - label = 0; - $113 = HEAP32[$nThisLcs>>2]|0; - $114 = (($113) + 1)|0; - HEAP32[$nThisLcs>>2] = $114; - } - $115 = HEAP32[$nThisLcs>>2]|0; - $116 = HEAP32[$nLcs>>2]|0; - $117 = ($115|0)>($116|0); - if ($117) { - $118 = HEAP32[$nThisLcs>>2]|0; - HEAP32[$nLcs>>2] = $118; - } - } - $119 = HEAP32[$i>>2]|0; - $120 = (($119) + 1)|0; - HEAP32[$i>>2] = $120; - } - $121 = HEAP32[$pAdv>>2]|0; - $122 = (_fts3LcsIteratorAdvance($121)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - continue; - } - $124 = HEAP32[$nLive>>2]|0; - $125 = (($124) + -1)|0; - HEAP32[$nLive>>2] = $125; + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)!=(0); + if ($39) { + $40 = HEAP32[$2>>2]|0; + _lockBtreeMutex($40); } - $126 = HEAP32[$nLcs>>2]|0; - $127 = HEAP32[$iCol>>2]|0; - $128 = HEAP32[$2>>2]|0; - $129 = ((($128)) + 28|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + ($127<<2)|0); - HEAP32[$131>>2] = $126; - $132 = HEAP32[$iCol>>2]|0; - $133 = (($132) + 1)|0; - HEAP32[$iCol>>2] = $133; - } - if ((label|0) == 11) { - $62 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $62; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); - } - else if ((label|0) == 33) { - $134 = HEAP32[$aIter>>2]|0; - _sqlite3_free($134); - HEAP32[$0>>2] = 0; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); + $41 = HEAP32[$2>>2]|0; + $42 = ((($41)) + 24|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$2>>2] = $43; } - return (0)|0; + STACKTOP = sp;return; } -function _fts3ExprLHitGather($pExpr,$p) { - $pExpr = $pExpr|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; +function _sqlite3_mutex_try($0) { + $0 = $0|0; + var $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 + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 32|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(0); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 24|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 32|0); - $18 = $17; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (($18) + 4)|0; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = ($11|0)==($20|0); - $25 = ($14|0)==($23|0); - $26 = $24 & $25; - if (!($26)) { - STACKTOP = sp;return; - } - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)!=(0|0); - $31 = HEAP32[$0>>2]|0; - if ($30) { - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$1>>2]|0; - _fts3ExprLHitGather($33,$34); - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 16|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$1>>2]|0; - _fts3ExprLHitGather($37,$38); - STACKTOP = sp;return; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if ($5) { + $6 = HEAP32[(100)>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = (FUNCTION_TABLE_ii[$6 & 255]($7)|0); + HEAP32[$1>>2] = $8; + $10 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($10|0); } else { - $39 = HEAP32[$1>>2]|0; - _fts3ExprLHits($31,$39); - STACKTOP = sp;return; + $9 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $9; + $10 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($10|0); } + return (0)|0; } -function _fts3ExprGlobalHitsCb($pExpr,$iPhrase,$pCtx) { - $pExpr = $pExpr|0; - $iPhrase = $iPhrase|0; - $pCtx = $pCtx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0; - var sp = 0; +function _lockBtreeMutex($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $iPhrase; - HEAP32[$2>>2] = $pCtx; - $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 56|0); + $6 = HEAP32[$5>>2]|0; + _sqlite3_mutex_enter($6); $7 = HEAP32[$1>>2]|0; - $8 = ($7*3)|0; - $9 = HEAP32[$p>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$1>>2]|0; $10 = ((($9)) + 4|0); $11 = HEAP32[$10>>2]|0; - $12 = Math_imul($8, $11)|0; - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($12<<2)|0); - $17 = (_sqlite3Fts3EvalPhraseStats($5,$6,$16)|0); - STACKTOP = sp;return ($17|0); + $12 = ((($11)) + 4|0); + HEAP32[$12>>2] = $8; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 10|0); + HEAP8[$14>>0] = 1; + STACKTOP = sp;return; +} +function _sqlite3_soft_heap_limit64($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 24|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = sp + 40|0; + $8 = $3; + $9 = $8; + HEAP32[$9>>2] = $0; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $1; + $12 = (_sqlite3_initialize()|0); + HEAP32[$7>>2] = $12; + $13 = HEAP32[$7>>2]|0; + $14 = ($13|0)!=(0); + if ($14) { + $15 = $2; + $16 = $15; + HEAP32[$16>>2] = -1; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = -1; + $137 = $2; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (($137) + 4)|0; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + tempRet0 = ($142); + STACKTOP = sp;return ($139|0); + } + $19 = HEAP32[13620]|0; + _sqlite3_mutex_enter($19); + $20 = (54488); + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = $4; + $27 = $26; + HEAP32[$27>>2] = $22; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $25; + $30 = $3; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)<(0); + if ($36) { + $37 = HEAP32[13620]|0; + _sqlite3_mutex_leave($37); + $38 = $4; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = $2; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + $137 = $2; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (($137) + 4)|0; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + tempRet0 = ($142); + STACKTOP = sp;return ($139|0); + } + $48 = $3; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (54488); + $55 = $54; + HEAP32[$55>>2] = $50; + $56 = (($54) + 4)|0; + $57 = $56; + HEAP32[$57>>2] = $53; + $58 = (_sqlite3StatusValue(0)|0); + $59 = tempRet0; + $60 = $6; + $61 = $60; + HEAP32[$61>>2] = $58; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = $3; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)>(0); + $71 = ($66>>>0)>(0); + $72 = ($69|0)==(0); + $73 = $72 & $71; + $74 = $70 | $73; + if ($74) { + $75 = $3; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = $6; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = ($80|0)<($86|0); + $88 = ($77>>>0)<=($83>>>0); + $89 = ($80|0)==($86|0); + $90 = $89 & $88; + $91 = $87 | $90; + $93 = $91; + } else { + $93 = 0; + } + $92 = $93&1; + HEAP32[(54508)>>2] = $92; + $94 = HEAP32[13620]|0; + _sqlite3_mutex_leave($94); + $95 = (_sqlite3_memory_used()|0); + $96 = tempRet0; + $97 = $3; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (_i64Subtract(($95|0),($96|0),($99|0),($102|0))|0); + $104 = tempRet0; + $105 = $5; + $106 = $105; + HEAP32[$106>>2] = $103; + $107 = (($105) + 4)|0; + $108 = $107; + HEAP32[$108>>2] = $104; + $109 = $5; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = ($114|0)>(0); + $116 = ($111>>>0)>(0); + $117 = ($114|0)==(0); + $118 = $117 & $116; + $119 = $115 | $118; + if ($119) { + $120 = $5; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $122 & 2147483647; + (_sqlite3_release_memory($126)|0); + } + $127 = $4; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = $2; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = $2; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (($137) + 4)|0; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + tempRet0 = ($142); + STACKTOP = sp;return ($139|0); } -function _fts3ExprIterate($pExpr,$x,$pCtx) { - $pExpr = $pExpr|0; - $x = $x|0; - $pCtx = $pCtx|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $iPhrase = 0, label = 0, sp = 0; +function _sqlite3_memory_used() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $iPhrase = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $x; - HEAP32[$2>>2] = $pCtx; - HEAP32[$iPhrase>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_fts3ExprIterate2($3,$iPhrase,$4,$5)|0); - STACKTOP = sp;return ($6|0); + $0 = sp + 8|0; + $1 = sp; + (_sqlite3_status64(0,$0,$1,0)|0); + $2 = $0; + $3 = $2; + $4 = HEAP32[$3>>2]|0; + $5 = (($2) + 4)|0; + $6 = $5; + $7 = HEAP32[$6>>2]|0; + tempRet0 = ($7); + STACKTOP = sp;return ($4|0); } -function _sqlite3Fts3EvalTestDeferred($pCsr,$pRc) { - $pCsr = $pCsr|0; - $pRc = $pRc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bMiss = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3_stricmp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $bMiss = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $pRc; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$rc>>2] = $3; - HEAP32[$bMiss>>2] = 0; - $4 = HEAP32[$rc>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)==(0); - $28 = HEAP32[$bMiss>>2]|0; - $29 = ($28|0)!=(0); - $30 = $27 ? $29 : 0; - $31 = $30&1; - STACKTOP = sp;return ($31|0); - } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - if ($9) { - $10 = HEAP32[$0>>2]|0; - $11 = (_fts3CursorSeek(0,$10)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $14 = HEAP32[$0>>2]|0; - $15 = (_sqlite3Fts3CacheDeferredDoclists($14)|0); - HEAP32[$rc>>2] = $15; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0|0); + $7 = HEAP32[$4>>2]|0; + do { + if ($6) { + $8 = ($7|0)!=(0|0); + $9 = $8 ? -1 : 0; + HEAP32[$2>>2] = $9; + } else { + $10 = ($7|0)==(0|0); + if ($10) { + HEAP32[$2>>2] = 1; + break; + } else { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = (_sqlite3StrICmp($11,$12)|0); + HEAP32[$2>>2] = $13; + break; + } } - } - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_fts3EvalTestExpr($16,$19,$rc)|0); - $21 = (0)==($20|0); - $22 = $21&1; - HEAP32[$bMiss>>2] = $22; - $23 = HEAP32[$0>>2]|0; - _sqlite3Fts3FreeDeferredDoclists($23); - $24 = HEAP32[$rc>>2]|0; - $25 = HEAP32[$1>>2]|0; - HEAP32[$25>>2] = $24; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)==(0); - $28 = HEAP32[$bMiss>>2]|0; - $29 = ($28|0)!=(0); - $30 = $27 ? $29 : 0; - $31 = $30&1; - STACKTOP = sp;return ($31|0); + } while(0); + $14 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($14|0); } -function _fts3ExprLocalHitsCb($pExpr,$iPhrase,$pCtx) { - $pExpr = $pExpr|0; - $iPhrase = $iPhrase|0; - $pCtx = $pCtx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iStart = 0, $p = 0, $pCsr = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3ErrorWithMsg($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $rc = sp + 16|0; - $p = sp + 12|0; - $iStart = sp + 8|0; - $i = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $iPhrase; - HEAP32[$2>>2] = $pCtx; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = Math_imul($4, $7)|0; - $9 = ($8*3)|0; - HEAP32[$iStart>>2] = $9; - HEAP32[$i>>2] = 0; - while(1) { - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)<($13|0); - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - $17 = $14 ? $16 : 0; - if (!($17)) { - break; - } - $18 = HEAP32[$p>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$i>>2]|0; - $22 = (_sqlite3Fts3EvalPhrasePoslist($19,$20,$21,$pCsr)|0); - HEAP32[$rc>>2] = $22; - $23 = HEAP32[$pCsr>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = (_fts3ColumnlistCount($pCsr)|0); - $26 = HEAP32[$iStart>>2]|0; - $27 = HEAP32[$i>>2]|0; - $28 = ($27*3)|0; - $29 = (($26) + ($28))|0; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 28|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + ($29<<2)|0); - HEAP32[$33>>2] = $25; - } else { - $34 = HEAP32[$iStart>>2]|0; - $35 = HEAP32[$i>>2]|0; - $36 = ($35*3)|0; - $37 = (($34) + ($36))|0; - $38 = HEAP32[$p>>2]|0; - $39 = ((($38)) + 28|0); - $40 = HEAP32[$39>>2]|0; - $41 = (($40) + ($37<<2)|0); - HEAP32[$41>>2] = 0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 52|0); + HEAP32[$10>>2] = $8; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$4>>2]|0; + _sqlite3SystemError($11,$12); + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)==(0|0); + $15 = HEAP32[$3>>2]|0; + if ($14) { + $16 = HEAP32[$4>>2]|0; + _sqlite3Error($15,$16); + STACKTOP = sp;return; + } + $17 = ((($15)) + 244|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + $20 = HEAP32[$3>>2]|0; + $21 = (_sqlite3ValueNew($20)|0); + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 244|0); + HEAP32[$23>>2] = $21; + $24 = ($21|0)!=(0|0); + if (!($24)) { + STACKTOP = sp;return; } - $42 = HEAP32[$i>>2]|0; - $43 = (($42) + 1)|0; - HEAP32[$i>>2] = $43; } - $44 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($44|0); + HEAP32[$7>>2] = $varargs; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = (_sqlite3VMPrintf($25,$26,$7)|0); + HEAP32[$6>>2] = $27; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 244|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$6>>2]|0; + _sqlite3ValueSetStr($30,-1,$31,1,191); + STACKTOP = sp;return; } -function _sqlite3Fts3EvalPhrasePoslist($pCsr,$pExpr,$iCol,$ppOut) { - $pCsr = $pCsr|0; - $pExpr = $pExpr|0; - $iCol = $iCol|0; - $ppOut = $ppOut|0; - var $$old = 0, $$old4 = 0, $$old5 = 0, $$old6 = 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, $292 = 0; - var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0; - var $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0; - var $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0; - var $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, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bDescDoclist = 0, $bEof = 0, $bEofSave = 0, $bMatch = 0, $bOr = 0, $bTreeEof = 0, $dummy = 0, $iDocid = 0, $iThis = 0, $or$cond = 0, $or$cond7 = 0, $p = 0; - var $pIter = 0, $pNear = 0, $pPh = 0, $pPhrase = 0, $pTab = 0, $pTest = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3Error($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $pPhrase = sp + 60|0; - $pTab = sp + 56|0; - $pIter = sp + 52|0; - $iThis = sp + 48|0; - $iDocid = sp; - $rc = sp + 44|0; - $bDescDoclist = sp + 40|0; - $bOr = sp + 36|0; - $bTreeEof = sp + 85|0; - $p = sp + 32|0; - $pNear = sp + 28|0; - $bMatch = sp + 24|0; - $bEofSave = sp + 20|0; - $bEof = sp + 84|0; - $pTest = sp + 16|0; - $pPh = sp + 12|0; - $dummy = sp + 8|0; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pExpr; - HEAP32[$3>>2] = $iCol; - HEAP32[$4>>2] = $ppOut; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$2>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pPhrase>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$pTab>>2] = $9; - $10 = HEAP32[$4>>2]|0; - HEAP32[$10>>2] = 0; - $11 = HEAP32[$pPhrase>>2]|0; - $12 = ((($11)) + 68|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$pTab>>2]|0; - $15 = ((($14)) + 24|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($13|0)<($16|0); - if ($17) { - $18 = HEAP32[$pPhrase>>2]|0; - $19 = ((($18)) + 68|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$3>>2]|0; - $22 = ($20|0)!=($21|0); - if ($22) { - HEAP32[$0>>2] = 0; - $363 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($363|0); + $6 = ((($5)) + 52|0); + HEAP32[$6>>2] = $4; + $7 = HEAP32[$3>>2]|0; + $8 = ($7|0)!=(0); + if (!($8)) { + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 244|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + STACKTOP = sp;return; } } - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = $iDocid; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = HEAP32[$pPhrase>>2]|0; - $36 = ((($35)) + 28|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$pIter>>2] = $37; - $38 = $iDocid; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 32|0); - $46 = $45; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (($46) + 4)|0; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = ($40|0)!=($48|0); - $53 = ($43|0)!=($51|0); - $54 = $52 | $53; - if ($54) { - label = 6; - } else { - $55 = HEAP32[$2>>2]|0; - $56 = ((($55)) + 32|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = ($58|0)!=(0); - if ($59) { - label = 6; - } - } - do { - if ((label|0) == 6) { - HEAP32[$rc>>2] = 0; - $60 = HEAP32[$pTab>>2]|0; - $61 = ((($60)) + 231|0); - $62 = HEAP8[$61>>0]|0; - $63 = $62&255; - HEAP32[$bDescDoclist>>2] = $63; - HEAP32[$bOr>>2] = 0; - HEAP8[$bTreeEof>>0] = 0; - $64 = HEAP32[$2>>2]|0; - HEAP32[$pNear>>2] = $64; - $65 = HEAP32[$2>>2]|0; - $66 = ((($65)) + 8|0); - $67 = HEAP32[$66>>2]|0; - HEAP32[$p>>2] = $67; - while(1) { - $68 = HEAP32[$p>>2]|0; - $69 = ($68|0)!=(0|0); - if (!($69)) { - break; - } - $70 = HEAP32[$p>>2]|0; - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)==(4); - if ($72) { - HEAP32[$bOr>>2] = 1; - } - $73 = HEAP32[$p>>2]|0; - $74 = HEAP32[$73>>2]|0; - $75 = ($74|0)==(1); - if ($75) { - $76 = HEAP32[$p>>2]|0; - HEAP32[$pNear>>2] = $76; - } - $77 = HEAP32[$p>>2]|0; - $78 = ((($77)) + 32|0); - $79 = HEAP8[$78>>0]|0; - $80 = ($79<<24>>24)!=(0); - if ($80) { - HEAP8[$bTreeEof>>0] = 1; - } - $81 = HEAP32[$p>>2]|0; - $82 = ((($81)) + 8|0); - $83 = HEAP32[$82>>2]|0; - HEAP32[$p>>2] = $83; - } - $84 = HEAP32[$bOr>>2]|0; - $85 = ($84|0)==(0); - if ($85) { - HEAP32[$0>>2] = 0; - $363 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($363|0); - } - $86 = HEAP32[$pPhrase>>2]|0; - $87 = ((($86)) + 40|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)!=(0); - L27: do { - if ($89) { - $90 = HEAP32[$pNear>>2]|0; - $91 = ((($90)) + 32|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - HEAP32[$bEofSave>>2] = $93; - $94 = HEAP32[$1>>2]|0; - $95 = HEAP32[$pNear>>2]|0; - _fts3EvalRestart($94,$95,$rc); - L29: while(1) { - $$old = HEAP32[$rc>>2]|0; - $$old4 = ($$old|0)==(0); - if (!($$old4)) { - break L27; - } - while(1) { - $96 = HEAP32[$pNear>>2]|0; - $97 = ((($96)) + 32|0); - $98 = HEAP8[$97>>0]|0; - $99 = ($98<<24>>24)!=(0); - $100 = $99 ^ 1; - if (!($100)) { - break L27; - } - $101 = HEAP32[$1>>2]|0; - $102 = HEAP32[$pNear>>2]|0; - _fts3EvalNextRow($101,$102,$rc); - $103 = HEAP32[$bEofSave>>2]|0; - $104 = ($103|0)==(0); - if (!($104)) { - continue L29; - } - $105 = HEAP32[$pNear>>2]|0; - $106 = ((($105)) + 24|0); - $107 = $106; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (($107) + 4)|0; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = $iDocid; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = (($113) + 4)|0; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = ($109|0)!=($115|0); - $120 = ($112|0)!=($118|0); - $121 = $119 | $120; - $122 = HEAP32[$rc>>2]|0; - $123 = ($122|0)==(0); - $or$cond = $121 & $123; - if (!($or$cond)) { - break L27; - } - } - } - } - } while(0); - $124 = HEAP8[$bTreeEof>>0]|0; - $125 = ($124<<24>>24)!=(0); - $126 = HEAP32[$rc>>2]|0; - $127 = ($126|0)==(0); - $or$cond7 = $125 & $127; - L36: do { - if ($or$cond7) { - while(1) { - $128 = HEAP32[$pNear>>2]|0; - $129 = ((($128)) + 32|0); - $130 = HEAP8[$129>>0]|0; - $131 = ($130<<24>>24)!=(0); - $132 = $131 ^ 1; - if (!($132)) { - break L36; - } - $133 = HEAP32[$1>>2]|0; - $134 = HEAP32[$pNear>>2]|0; - _fts3EvalNextRow($133,$134,$rc); - $$old5 = HEAP32[$rc>>2]|0; - $$old6 = ($$old5|0)==(0); - if (!($$old6)) { - break; - } - } - } - } while(0); - $135 = HEAP32[$rc>>2]|0; - $136 = ($135|0)!=(0); - if ($136) { - $137 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $137; - $363 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($363|0); - } - HEAP32[$bMatch>>2] = 1; - $138 = HEAP32[$pNear>>2]|0; - HEAP32[$p>>2] = $138; - while(1) { - $139 = HEAP32[$p>>2]|0; - $140 = ($139|0)!=(0|0); - if (!($140)) { - break; - } - HEAP8[$bEof>>0] = 0; - $141 = HEAP32[$p>>2]|0; - HEAP32[$pTest>>2] = $141; - $142 = HEAP32[$pTest>>2]|0; - $143 = HEAP32[$142>>2]|0; - $144 = ($143|0)==(1); - if ($144) { - $145 = HEAP32[$pTest>>2]|0; - $146 = ((($145)) + 16|0); - $147 = HEAP32[$146>>2]|0; - HEAP32[$pTest>>2] = $147; - } - $148 = HEAP32[$pTest>>2]|0; - $149 = ((($148)) + 20|0); - $150 = HEAP32[$149>>2]|0; - HEAP32[$pPh>>2] = $150; - $151 = HEAP32[$pPh>>2]|0; - $152 = ((($151)) + 48|0); - $153 = HEAP32[$152>>2]|0; - HEAP32[$pIter>>2] = $153; - $154 = HEAP32[$pPh>>2]|0; - $155 = ((($154)) + 56|0); - $156 = $155; - $157 = $156; - $158 = HEAP32[$157>>2]|0; - $159 = (($156) + 4)|0; - $160 = $159; - $161 = HEAP32[$160>>2]|0; - $162 = $iDocid; - $163 = $162; - HEAP32[$163>>2] = $158; - $164 = (($162) + 4)|0; - $165 = $164; - HEAP32[$165>>2] = $161; - $166 = HEAP32[$1>>2]|0; - $167 = ((($166)) + 52|0); - $168 = HEAP8[$167>>0]|0; - $169 = $168&255; - $170 = HEAP32[$bDescDoclist>>2]|0; - $171 = ($169|0)==($170|0); - $172 = HEAP32[$pPh>>2]|0; - $173 = ((($172)) + 4|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)!=(0); - L51: do { - if ($171) { - if ($175) { - $176 = HEAP32[$pIter>>2]|0; - $177 = HEAP32[$pPh>>2]|0; - $178 = HEAP32[$177>>2]|0; - $179 = HEAP32[$pPh>>2]|0; - $180 = ((($179)) + 4|0); - $181 = HEAP32[$180>>2]|0; - $182 = (($178) + ($181)|0); - $183 = ($176>>>0)>=($182>>>0); - $185 = $183; - } else { - $185 = 1; - } - $184 = $185&1; - $186 = $184&255; - HEAP8[$bEof>>0] = $186; - while(1) { - $187 = HEAP32[$pIter>>2]|0; - $188 = ($187|0)==(0|0); - if (!($188)) { - $189 = HEAP32[$bDescDoclist>>2]|0; - $190 = ($189|0)!=(0); - $191 = $190 ? -1 : 1; - $192 = ($191|0)<(0); - $193 = $192 << 31 >> 31; - $194 = $iDocid; - $195 = $194; - $196 = HEAP32[$195>>2]|0; - $197 = (($194) + 4)|0; - $198 = $197; - $199 = HEAP32[$198>>2]|0; - $200 = HEAP32[$1>>2]|0; - $201 = ((($200)) + 32|0); - $202 = $201; - $203 = $202; - $204 = HEAP32[$203>>2]|0; - $205 = (($202) + 4)|0; - $206 = $205; - $207 = HEAP32[$206>>2]|0; - $208 = (_i64Subtract(($196|0),($199|0),($204|0),($207|0))|0); - $209 = tempRet0; - (___muldi3(($191|0),($193|0),($208|0),($209|0))|0); - $210 = tempRet0; - $211 = ($210|0)<(0); - if (!($211)) { - break L51; - } - } - $212 = HEAP8[$bEof>>0]|0; - $213 = $212&255; - $214 = ($213|0)==(0); - if (!($214)) { - break L51; - } - $215 = HEAP32[$bDescDoclist>>2]|0; - $216 = HEAP32[$pPh>>2]|0; - $217 = HEAP32[$216>>2]|0; - $218 = HEAP32[$pPh>>2]|0; - $219 = ((($218)) + 4|0); - $220 = HEAP32[$219>>2]|0; - _sqlite3Fts3DoclistNext($215,$217,$220,$pIter,$iDocid,$bEof); - } - } else { - if ($175) { - $221 = HEAP32[$pIter>>2]|0; - $222 = ($221|0)!=(0|0); - if ($222) { - $223 = HEAP32[$pIter>>2]|0; - $224 = HEAP32[$pPh>>2]|0; - $225 = HEAP32[$224>>2]|0; - $226 = ($223>>>0)<=($225>>>0); - $228 = $226; - } else { - $228 = 0; - } - } else { - $228 = 1; - } - $227 = $228&1; - $229 = $227&255; - HEAP8[$bEof>>0] = $229; - while(1) { - $230 = HEAP32[$pIter>>2]|0; - $231 = ($230|0)==(0|0); - if (!($231)) { - $232 = HEAP32[$bDescDoclist>>2]|0; - $233 = ($232|0)!=(0); - $234 = $233 ? -1 : 1; - $235 = ($234|0)<(0); - $236 = $235 << 31 >> 31; - $237 = $iDocid; - $238 = $237; - $239 = HEAP32[$238>>2]|0; - $240 = (($237) + 4)|0; - $241 = $240; - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[$1>>2]|0; - $244 = ((($243)) + 32|0); - $245 = $244; - $246 = $245; - $247 = HEAP32[$246>>2]|0; - $248 = (($245) + 4)|0; - $249 = $248; - $250 = HEAP32[$249>>2]|0; - $251 = (_i64Subtract(($239|0),($242|0),($247|0),($250|0))|0); - $252 = tempRet0; - $253 = (___muldi3(($234|0),($236|0),($251|0),($252|0))|0); - $254 = tempRet0; - $255 = ($254|0)>(0); - $256 = ($253>>>0)>(0); - $257 = ($254|0)==(0); - $258 = $257 & $256; - $259 = $255 | $258; - if (!($259)) { - break L51; - } - } - $260 = HEAP8[$bEof>>0]|0; - $261 = $260&255; - $262 = ($261|0)==(0); - if (!($262)) { - break L51; - } - $263 = HEAP32[$bDescDoclist>>2]|0; - $264 = HEAP32[$pPh>>2]|0; - $265 = HEAP32[$264>>2]|0; - $266 = HEAP32[$pPh>>2]|0; - $267 = ((($266)) + 4|0); - $268 = HEAP32[$267>>2]|0; - _sqlite3Fts3DoclistPrev($263,$265,$268,$pIter,$iDocid,$dummy,$bEof); - } - } - } while(0); - $269 = HEAP32[$pIter>>2]|0; - $270 = HEAP32[$pPh>>2]|0; - $271 = ((($270)) + 48|0); - HEAP32[$271>>2] = $269; - $272 = $iDocid; - $273 = $272; - $274 = HEAP32[$273>>2]|0; - $275 = (($272) + 4)|0; - $276 = $275; - $277 = HEAP32[$276>>2]|0; - $278 = HEAP32[$pPh>>2]|0; - $279 = ((($278)) + 56|0); - $280 = $279; - $281 = $280; - HEAP32[$281>>2] = $274; - $282 = (($280) + 4)|0; - $283 = $282; - HEAP32[$283>>2] = $277; - $284 = HEAP8[$bEof>>0]|0; - $285 = $284&255; - $286 = ($285|0)!=(0); - if ($286) { - label = 50; - } else { - $287 = $iDocid; - $288 = $287; - $289 = HEAP32[$288>>2]|0; - $290 = (($287) + 4)|0; - $291 = $290; - $292 = HEAP32[$291>>2]|0; - $293 = HEAP32[$1>>2]|0; - $294 = ((($293)) + 32|0); - $295 = $294; - $296 = $295; - $297 = HEAP32[$296>>2]|0; - $298 = (($295) + 4)|0; - $299 = $298; - $300 = HEAP32[$299>>2]|0; - $301 = ($289|0)!=($297|0); - $302 = ($292|0)!=($300|0); - $303 = $301 | $302; - if ($303) { - label = 50; - } - } - if ((label|0) == 50) { - label = 0; - HEAP32[$bMatch>>2] = 0; - } - $304 = HEAP32[$p>>2]|0; - $305 = ((($304)) + 12|0); - $306 = HEAP32[$305>>2]|0; - HEAP32[$p>>2] = $306; - } - $307 = HEAP32[$bMatch>>2]|0; - $308 = ($307|0)!=(0); - if ($308) { - $309 = HEAP32[$pPhrase>>2]|0; - $310 = ((($309)) + 48|0); - $311 = HEAP32[$310>>2]|0; - HEAP32[$pIter>>2] = $311; - break; - } else { - HEAP32[$pIter>>2] = 0; - break; - } - } - } while(0); - $312 = HEAP32[$pIter>>2]|0; - $313 = ($312|0)==(0|0); - if ($313) { - HEAP32[$0>>2] = 0; - $363 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($363|0); - } - $314 = HEAP32[$pIter>>2]|0; - $315 = HEAP8[$314>>0]|0; - $316 = $315 << 24 >> 24; - $317 = ($316|0)==(1); - if ($317) { - $318 = HEAP32[$pIter>>2]|0; - $319 = ((($318)) + 1|0); - HEAP32[$pIter>>2] = $319; - $320 = HEAP32[$pIter>>2]|0; - $321 = HEAP8[$320>>0]|0; - $322 = $321&255; - $323 = $322 & 128; - $324 = ($323|0)!=(0); - $325 = HEAP32[$pIter>>2]|0; - if ($324) { - $326 = (_sqlite3Fts3GetVarint32($325,$iThis)|0); - $331 = $326; - } else { - $327 = HEAP8[$325>>0]|0; - $328 = $327&255; - HEAP32[$iThis>>2] = $328; - $331 = 1; - } - $329 = HEAP32[$pIter>>2]|0; - $330 = (($329) + ($331)|0); - HEAP32[$pIter>>2] = $330; - } else { - HEAP32[$iThis>>2] = 0; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$3>>2]|0; + _sqlite3ErrorFinish($13,$14); + STACKTOP = sp;return; +} +function _sqlite3BtreeIsInReadTrans($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)!=(0); + $7 = $6&1; + STACKTOP = sp;return ($7|0); +} +function _sqlite3FindDbName($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = -1; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + $28 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($28|0); } + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) - 1)|0; + HEAP32[$4>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (($14) + ($15<<4)|0); + HEAP32[$5>>2] = $16; while(1) { - $332 = HEAP32[$iThis>>2]|0; - $333 = HEAP32[$3>>2]|0; - $334 = ($332|0)<($333|0); - if (!($334)) { - break; - } - _fts3ColumnlistCopy(0,$pIter); - $335 = HEAP32[$pIter>>2]|0; - $336 = HEAP8[$335>>0]|0; - $337 = $336 << 24 >> 24; - $338 = ($337|0)==(0); - if ($338) { - label = 65; + $17 = HEAP32[$4>>2]|0; + $18 = ($17|0)>=(0); + if (!($18)) { + label = 6; break; } - $339 = HEAP32[$pIter>>2]|0; - $340 = ((($339)) + 1|0); - HEAP32[$pIter>>2] = $340; - $341 = HEAP32[$pIter>>2]|0; - $342 = HEAP8[$341>>0]|0; - $343 = $342&255; - $344 = $343 & 128; - $345 = ($344|0)!=(0); - $346 = HEAP32[$pIter>>2]|0; - if ($345) { - $347 = (_sqlite3Fts3GetVarint32($346,$iThis)|0); - $352 = $347; - } else { - $348 = HEAP8[$346>>0]|0; - $349 = $348&255; - HEAP32[$iThis>>2] = $349; - $352 = 1; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = (_sqlite3StrICmp($20,$21)|0); + $23 = (0)==($22|0); + if ($23) { + label = 6; + break; } - $350 = HEAP32[$pIter>>2]|0; - $351 = (($350) + ($352)|0); - HEAP32[$pIter>>2] = $351; + $24 = HEAP32[$4>>2]|0; + $25 = (($24) + -1)|0; + HEAP32[$4>>2] = $25; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + -16|0); + HEAP32[$5>>2] = $27; } - if ((label|0) == 65) { - HEAP32[$0>>2] = 0; - $363 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($363|0); + if ((label|0) == 6) { + $28 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($28|0); } - $353 = HEAP32[$pIter>>2]|0; - $354 = HEAP8[$353>>0]|0; - $355 = $354 << 24 >> 24; - $356 = ($355|0)==(0); - if ($356) { - HEAP32[$pIter>>2] = 0; - } - $357 = HEAP32[$3>>2]|0; - $358 = HEAP32[$iThis>>2]|0; - $359 = ($357|0)==($358|0); - $360 = HEAP32[$pIter>>2]|0; - $361 = $359 ? $360 : 0; - $362 = HEAP32[$4>>2]|0; - HEAP32[$362>>2] = $361; - HEAP32[$0>>2] = 0; - $363 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($363|0); + return (0)|0; } -function _fts3ColumnlistCount($ppCollist) { - $ppCollist = $ppCollist|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $c = 0, $nEntry = 0, $pEnd = 0, label = 0, sp = 0; +function _sqlite3OpenTempDatabase($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, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pEnd = sp + 4|0; - $c = sp + 12|0; - $nEntry = sp; - HEAP32[$0>>2] = $ppCollist; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$pEnd>>2] = $2; - HEAP8[$c>>0] = 0; - HEAP32[$nEntry>>2] = 0; - while(1) { - $3 = HEAP32[$pEnd>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $6 = HEAP8[$c>>0]|0; - $7 = $6 << 24 >> 24; - $8 = $5 | $7; - $9 = 254 & $8; - $10 = ($9|0)!=(0); - $11 = HEAP32[$pEnd>>2]|0; - if (!($10)) { - break; - } - $12 = ((($11)) + 1|0); - HEAP32[$pEnd>>2] = $12; - $13 = HEAP8[$11>>0]|0; - $14 = $13 << 24 >> 24; - $15 = $14 & 128; - $16 = $15&255; - HEAP8[$c>>0] = $16; - $17 = HEAP8[$c>>0]|0; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + HEAP32[$2>>2] = $0; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 16|0); + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 409|0); + $17 = HEAP8[$16>>0]|0; $18 = ($17<<24>>24)!=(0); - if ($18) { - continue; + if (!($18)) { + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = (_sqlite3BtreeOpen($20,0,$21,$5,0,542)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$2>>2]|0; + _sqlite3ErrorMsg($25,24788,$vararg_buffer); + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 12|0); + HEAP32[$28>>2] = $26; + HEAP32[$1>>2] = 1; + $42 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($42|0); + } + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + $33 = ((($32)) + 16|0); + $34 = ((($33)) + 4|0); + HEAP32[$34>>2] = $29; + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 80|0); + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3BtreeSetPageSize($35,$38,-1,0)|0); + $40 = (7)==($39|0); + if ($40) { + $41 = HEAP32[$3>>2]|0; + _sqlite3OomFault($41); + HEAP32[$1>>2] = 1; + $42 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($42|0); + } } - $19 = HEAP32[$nEntry>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$nEntry>>2] = $20; } - $21 = HEAP32[$0>>2]|0; - HEAP32[$21>>2] = $11; - $22 = HEAP32[$nEntry>>2]|0; - STACKTOP = sp;return ($22|0); + HEAP32[$1>>2] = 0; + $42 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($42|0); } -function _fts3EvalRestart($pCsr,$pExpr,$pRc) { - $pCsr = $pCsr|0; - $pExpr = $pExpr|0; - $pRc = $pRc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0, $pPhrase = 0, $pToken = 0, label = 0, sp = 0; +function _sqlite3ParserReset($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, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pPhrase = sp + 8|0; - $i = sp + 4|0; - $pToken = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $pRc; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; $4 = ($3|0)!=(0|0); if (!($4)) { STACKTOP = sp;return; } - $5 = HEAP32[$2>>2]|0; + $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - STACKTOP = sp;return; - } + HEAP32[$2>>2] = $6; + $7 = HEAP32[$2>>2]|0; $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 20|0); + $9 = ((($8)) + 76|0); $10 = HEAP32[$9>>2]|0; - HEAP32[$pPhrase>>2] = $10; - $11 = HEAP32[$pPhrase>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$pPhrase>>2]|0; - _fts3EvalInvalidatePoslist($13); - $14 = HEAP32[$pPhrase>>2]|0; - $15 = ((($14)) + 40|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - HEAP32[$i>>2] = 0; - while(1) { - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$pPhrase>>2]|0; - $20 = ((($19)) + 64|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($18|0)<($21|0); - if (!($22)) { - break; - } - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$pPhrase>>2]|0; - $25 = ((($24)) + 72|0); - $26 = (($25) + (($23*24)|0)|0); - HEAP32[$pToken>>2] = $26; - $27 = HEAP32[$pToken>>2]|0; - $28 = ((($27)) + 20|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)!=(0|0); - if ($30) { - $31 = HEAP32[$pToken>>2]|0; - $32 = ((($31)) + 20|0); - $33 = HEAP32[$32>>2]|0; - (_sqlite3Fts3MsrIncrRestart($33)|0); - } - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$i>>2] = $35; - } - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$pPhrase>>2]|0; - $38 = (_fts3EvalPhraseStart($36,0,$37)|0); - $39 = HEAP32[$2>>2]|0; - HEAP32[$39>>2] = $38; - } - $40 = HEAP32[$pPhrase>>2]|0; - $41 = ((($40)) + 8|0); - HEAP32[$41>>2] = 0; - $42 = HEAP32[$pPhrase>>2]|0; - $43 = ((($42)) + 16|0); - $44 = $43; - $45 = $44; - HEAP32[$45>>2] = 0; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = 0; - $48 = HEAP32[$pPhrase>>2]|0; - $49 = ((($48)) + 48|0); - HEAP32[$49>>2] = 0; + _sqlite3DbFree($7,$10); + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 80|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3ExprListDelete($11,$14); + $15 = HEAP32[$2>>2]|0; + $16 = ($15|0)!=(0|0); + if ($16) { + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 24|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 256|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) - ($20))|0; + HEAP32[$22>>2] = $24; } - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 24|0); - $52 = $51; - $53 = $52; - HEAP32[$53>>2] = 0; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = 0; - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 32|0); - HEAP8[$57>>0] = 0; - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 33|0); - HEAP8[$59>>0] = 0; - $60 = HEAP32[$0>>2]|0; - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$2>>2]|0; - _fts3EvalRestart($60,$63,$64); - $65 = HEAP32[$0>>2]|0; - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 16|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$2>>2]|0; - _fts3EvalRestart($65,$68,$69); + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 24|0); + HEAP8[$26>>0] = 0; STACKTOP = sp;return; } -function _fts3EvalNextRow($pCsr,$pExpr,$pRc) { - $pCsr = $pCsr|0; - $pExpr = $pExpr|0; - $pRc = $pRc|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $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, $bDescDoclist = 0, $iCmp = 0, $iDiff = 0, $or$cond = 0, $or$cond6 = 0, $or$cond8 = 0, $pDl = 0, $pDl1 = 0, $pLeft = 0, $pLeft2 = 0; - var $pLeft4 = 0, $pPhrase = 0, $pRight = 0, $pRight3 = 0, $pRight5 = 0, label = 0, sp = 0; +function _sqlite3BtreeOpen($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; + var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; + var $445 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $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; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $bDescDoclist = sp + 52|0; - $pLeft = sp + 48|0; - $pRight = sp + 44|0; - $iDiff = sp + 8|0; - $pDl = sp + 40|0; - $pDl1 = sp + 36|0; - $pLeft2 = sp + 32|0; - $pRight3 = sp + 28|0; - $iCmp = sp; - $pLeft4 = sp + 24|0; - $pRight5 = sp + 20|0; - $pPhrase = sp + 16|0; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $pRc; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 192|0; + $6 = sp + 84|0; + $7 = sp + 80|0; + $8 = sp + 76|0; + $9 = sp + 72|0; + $10 = sp + 68|0; + $11 = sp + 64|0; + $12 = sp + 60|0; + $13 = sp + 56|0; + $14 = sp + 52|0; + $15 = sp + 48|0; + $16 = sp + 44|0; + $17 = sp + 188|0; + $18 = sp + 88|0; + $19 = sp + 40|0; + $20 = sp + 36|0; + $21 = sp + 32|0; + $22 = sp + 28|0; + $23 = sp + 24|0; + $24 = sp + 20|0; + $25 = sp + 16|0; + $26 = sp + 12|0; + $27 = sp + 8|0; + $28 = sp + 4|0; + $29 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + $30 = HEAP32[$8>>2]|0; + $31 = ($30|0)==(0|0); + if ($31) { + $37 = 1; + } else { + $32 = HEAP32[$8>>2]|0; + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($34|0)==(0); + $37 = $35; } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 52|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - HEAP32[$bDescDoclist>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 33|0); - HEAP8[$11>>0] = 1; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$12>>2]|0; - switch ($13|0) { - case 3: case 1: { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pLeft>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pRight>>2] = $19; - $20 = HEAP32[$pLeft>>2]|0; - $21 = ((($20)) + 34|0); - $22 = HEAP8[$21>>0]|0; - $23 = ($22<<24>>24)!=(0); - if ($23) { - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$pRight>>2]|0; - $26 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($24,$25,$26); - $27 = HEAP32[$pRight>>2]|0; - $28 = ((($27)) + 24|0); - $29 = $28; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 24|0); - $37 = $36; - $38 = $37; - HEAP32[$38>>2] = $31; - $39 = (($37) + 4)|0; - $40 = $39; - HEAP32[$40>>2] = $34; - $41 = HEAP32[$pRight>>2]|0; - $42 = ((($41)) + 32|0); - $43 = HEAP8[$42>>0]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 32|0); - HEAP8[$45>>0] = $43; - STACKTOP = sp;return; - } - $46 = HEAP32[$pRight>>2]|0; - $47 = ((($46)) + 34|0); - $48 = HEAP8[$47>>0]|0; - $49 = ($48<<24>>24)!=(0); - $50 = HEAP32[$0>>2]|0; - $51 = HEAP32[$pLeft>>2]|0; - $52 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($50,$51,$52); - if ($49) { - $53 = HEAP32[$pLeft>>2]|0; - $54 = ((($53)) + 24|0); - $55 = $54; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (($55) + 4)|0; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 24|0); - $63 = $62; - $64 = $63; - HEAP32[$64>>2] = $57; - $65 = (($63) + 4)|0; - $66 = $65; - HEAP32[$66>>2] = $60; - $67 = HEAP32[$pLeft>>2]|0; - $68 = ((($67)) + 32|0); - $69 = HEAP8[$68>>0]|0; - $70 = HEAP32[$1>>2]|0; - $71 = ((($70)) + 32|0); - HEAP8[$71>>0] = $69; - STACKTOP = sp;return; + $36 = $37&1; + HEAP32[$19>>2] = $36; + $38 = HEAP32[$8>>2]|0; + $39 = ($38|0)!=(0|0); + if ($39) { + $40 = HEAP32[$8>>2]|0; + $41 = (_strcmp($40,24858)|0); + $42 = ($41|0)==(0); + if ($42) { + $52 = 1; + } else { + label = 5; } - $72 = HEAP32[$0>>2]|0; - $73 = HEAP32[$pRight>>2]|0; - $74 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($72,$73,$74); - while(1) { - $75 = HEAP32[$pLeft>>2]|0; - $76 = ((($75)) + 32|0); - $77 = HEAP8[$76>>0]|0; - $78 = ($77<<24>>24)!=(0); - if ($78) { - break; - } - $79 = HEAP32[$pRight>>2]|0; - $80 = ((($79)) + 32|0); - $81 = HEAP8[$80>>0]|0; - $82 = ($81<<24>>24)!=(0); - if ($82) { - break; - } - $83 = HEAP32[$2>>2]|0; - $84 = HEAP32[$83>>2]|0; - $85 = ($84|0)==(0); - if (!($85)) { - break; - } - $86 = HEAP32[$bDescDoclist>>2]|0; - $87 = ($86|0)!=(0); - $88 = $87 ? -1 : 1; - $89 = ($88|0)<(0); - $90 = $89 << 31 >> 31; - $91 = HEAP32[$pLeft>>2]|0; - $92 = ((($91)) + 24|0); - $93 = $92; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = (($93) + 4)|0; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$pRight>>2]|0; - $100 = ((($99)) + 24|0); - $101 = $100; - $102 = $101; - $103 = HEAP32[$102>>2]|0; - $104 = (($101) + 4)|0; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (_i64Subtract(($95|0),($98|0),($103|0),($106|0))|0); - $108 = tempRet0; - $109 = (___muldi3(($88|0),($90|0),($107|0),($108|0))|0); - $110 = tempRet0; - $111 = $iDiff; - $112 = $111; - HEAP32[$112>>2] = $109; - $113 = (($111) + 4)|0; - $114 = $113; - HEAP32[$114>>2] = $110; - $115 = $iDiff; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = (($115) + 4)|0; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = ($117|0)==(0); - $122 = ($120|0)==(0); - $123 = $121 & $122; - if ($123) { - break; - } - $124 = $iDiff; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = (($124) + 4)|0; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = ($129|0)<(0); - $131 = HEAP32[$0>>2]|0; - if ($130) { - $132 = HEAP32[$pLeft>>2]|0; - $133 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($131,$132,$133); - continue; - } else { - $134 = HEAP32[$pRight>>2]|0; - $135 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($131,$134,$135); - continue; + } else { + label = 5; + } + do { + if ((label|0) == 5) { + $43 = HEAP32[$19>>2]|0; + $44 = ($43|0)!=(0); + if ($44) { + $45 = HEAP32[$9>>2]|0; + $46 = (_sqlite3TempInMemory($45)|0); + $47 = ($46|0)!=(0); + if ($47) { + $52 = 1; + break; + } } + $48 = HEAP32[$12>>2]|0; + $49 = $48 & 128; + $50 = ($49|0)!=(0); + $52 = $50; } - $136 = HEAP32[$pLeft>>2]|0; - $137 = ((($136)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = HEAP32[$1>>2]|0; - $145 = ((($144)) + 24|0); - $146 = $145; - $147 = $146; - HEAP32[$147>>2] = $140; - $148 = (($146) + 4)|0; - $149 = $148; - HEAP32[$149>>2] = $143; - $150 = HEAP32[$pLeft>>2]|0; - $151 = ((($150)) + 32|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = ($153|0)!=(0); - if ($154) { - $161 = 1; - } else { - $155 = HEAP32[$pRight>>2]|0; - $156 = ((($155)) + 32|0); - $157 = HEAP8[$156>>0]|0; - $158 = $157&255; - $159 = ($158|0)!=(0); - $161 = $159; - } - $160 = $161&1; - $162 = $160&255; - $163 = HEAP32[$1>>2]|0; - $164 = ((($163)) + 32|0); - HEAP8[$164>>0] = $162; - $165 = HEAP32[$1>>2]|0; - $166 = HEAP32[$165>>2]|0; - $167 = ($166|0)==(1); - if (!($167)) { - STACKTOP = sp;return; - } - $168 = HEAP32[$1>>2]|0; - $169 = ((($168)) + 32|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $172 = ($171|0)!=(0); - if (!($172)) { - STACKTOP = sp;return; + } while(0); + $51 = $52&1; + HEAP32[$20>>2] = $51; + $53 = HEAP32[$20>>2]|0; + $54 = ($53|0)!=(0); + if ($54) { + $55 = HEAP32[$11>>2]|0; + $56 = $55 | 2; + HEAP32[$11>>2] = $56; + } + $57 = HEAP32[$12>>2]|0; + $58 = $57 & 256; + $59 = ($58|0)!=(0); + if ($59) { + $60 = HEAP32[$20>>2]|0; + $61 = ($60|0)!=(0); + $62 = HEAP32[$19>>2]|0; + $63 = ($62|0)!=(0); + $or$cond = $61 | $63; + if ($or$cond) { + $64 = HEAP32[$12>>2]|0; + $65 = $64 & -257; + $66 = $65 | 512; + HEAP32[$12>>2] = $66; } - $173 = HEAP32[$pRight>>2]|0; - $174 = ((($173)) + 20|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)!=(0|0); - L35: do { - if ($176) { - $177 = HEAP32[$pRight>>2]|0; - $178 = ((($177)) + 20|0); - $179 = HEAP32[$178>>2]|0; - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)!=(0|0); - if ($181) { - $182 = HEAP32[$pRight>>2]|0; - $183 = ((($182)) + 20|0); - $184 = HEAP32[$183>>2]|0; - HEAP32[$pDl>>2] = $184; - while(1) { - $185 = HEAP32[$2>>2]|0; - $186 = HEAP32[$185>>2]|0; - $187 = ($186|0)==(0); - if (!($187)) { - break L35; - } - $188 = HEAP32[$pRight>>2]|0; - $189 = ((($188)) + 32|0); - $190 = HEAP8[$189>>0]|0; - $191 = $190&255; - $192 = ($191|0)==(0); - if (!($192)) { - break L35; + } + $67 = (_sqlite3MallocZero(48,0)|0); + HEAP32[$14>>2] = $67; + $68 = HEAP32[$14>>2]|0; + $69 = ($68|0)!=(0|0); + if (!($69)) { + HEAP32[$6>>2] = 7; + $444 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($444|0); + } + $70 = HEAP32[$14>>2]|0; + $71 = ((($70)) + 8|0); + HEAP8[$71>>0] = 0; + $72 = HEAP32[$9>>2]|0; + $73 = HEAP32[$14>>2]|0; + HEAP32[$73>>2] = $72; + $74 = HEAP32[$14>>2]|0; + $75 = HEAP32[$14>>2]|0; + $76 = ((($75)) + 32|0); + HEAP32[$76>>2] = $74; + $77 = HEAP32[$14>>2]|0; + $78 = ((($77)) + 32|0); + $79 = ((($78)) + 4|0); + HEAP32[$79>>2] = 1; + $80 = HEAP32[$19>>2]|0; + $81 = ($80|0)==(0); + do { + if ($81) { + $82 = HEAP32[$20>>2]|0; + $83 = ($82|0)==(0); + if (!($83)) { + $84 = HEAP32[$12>>2]|0; + $85 = $84 & 64; + $86 = ($85|0)!=(0); + if (!($86)) { + break; + } + } + $87 = HEAP32[$12>>2]|0; + $88 = $87 & 131072; + $89 = ($88|0)!=(0); + if ($89) { + $90 = HEAP32[$8>>2]|0; + $91 = (_sqlite3Strlen30($90)|0); + $92 = (($91) + 1)|0; + HEAP32[$21>>2] = $92; + $93 = HEAP32[$7>>2]|0; + $94 = ((($93)) + 8|0); + $95 = HEAP32[$94>>2]|0; + $96 = (($95) + 1)|0; + HEAP32[$22>>2] = $96; + $97 = HEAP32[$22>>2]|0; + $98 = HEAP32[$21>>2]|0; + $99 = ($97|0)>($98|0); + $100 = HEAP32[$22>>2]|0; + $101 = HEAP32[$21>>2]|0; + $102 = $99 ? $100 : $101; + $103 = ($102|0)<(0); + $104 = $103 << 31 >> 31; + $105 = (_sqlite3Malloc($102,$104)|0); + HEAP32[$23>>2] = $105; + $106 = HEAP32[$14>>2]|0; + $107 = ((($106)) + 9|0); + HEAP8[$107>>0] = 1; + $108 = HEAP32[$23>>2]|0; + $109 = ($108|0)!=(0|0); + if (!($109)) { + $110 = HEAP32[$14>>2]|0; + _sqlite3_free($110); + HEAP32[$6>>2] = 7; + $444 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($444|0); + } + $111 = HEAP32[$20>>2]|0; + $112 = ($111|0)!=(0); + if ($112) { + $113 = HEAP32[$23>>2]|0; + $114 = HEAP32[$8>>2]|0; + $115 = HEAP32[$21>>2]|0; + _memcpy(($113|0),($114|0),($115|0))|0; + } else { + $116 = HEAP32[$7>>2]|0; + $117 = HEAP32[$8>>2]|0; + $118 = HEAP32[$22>>2]|0; + $119 = HEAP32[$23>>2]|0; + $120 = (_sqlite3OsFullPathname($116,$117,$118,$119)|0); + HEAP32[$16>>2] = $120; + $121 = HEAP32[$16>>2]|0; + $122 = ($121|0)!=(0); + if ($122) { + $123 = HEAP32[$23>>2]|0; + _sqlite3_free($123); + $124 = HEAP32[$14>>2]|0; + _sqlite3_free($124); + $125 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $125; + $444 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($444|0); + } + } + $126 = (_sqlite3MutexAlloc(4)|0); + HEAP32[$15>>2] = $126; + $127 = HEAP32[$15>>2]|0; + _sqlite3_mutex_enter($127); + $128 = (_sqlite3MutexAlloc(2)|0); + HEAP32[$24>>2] = $128; + $129 = HEAP32[$24>>2]|0; + _sqlite3_mutex_enter($129); + $130 = HEAP32[13786]|0; + HEAP32[$13>>2] = $130; + while(1) { + $131 = HEAP32[$13>>2]|0; + $132 = ($131|0)!=(0|0); + if (!($132)) { + break; + } + $133 = HEAP32[$23>>2]|0; + $134 = HEAP32[$13>>2]|0; + $135 = HEAP32[$134>>2]|0; + $136 = (_sqlite3PagerFilename($135,0)|0); + $137 = (_strcmp($133,$136)|0); + $138 = (0)==($137|0); + if ($138) { + $139 = HEAP32[$13>>2]|0; + $140 = HEAP32[$139>>2]|0; + $141 = (_sqlite3PagerVfs($140)|0); + $142 = HEAP32[$7>>2]|0; + $143 = ($141|0)==($142|0); + if ($143) { + label = 29; + break; } - $193 = HEAP32[$pDl>>2]|0; - $194 = ((($193)) + 28|0); - $195 = HEAP32[$194>>2]|0; - $196 = HEAP32[$pDl>>2]|0; - $197 = ((($196)) + 32|0); - $198 = HEAP32[$197>>2]|0; - _memset(($195|0),0,($198|0))|0; - $199 = HEAP32[$0>>2]|0; - $200 = HEAP32[$pRight>>2]|0; - $201 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($199,$200,$201); } + $177 = HEAP32[$13>>2]|0; + $178 = ((($177)) + 68|0); + $179 = HEAP32[$178>>2]|0; + HEAP32[$13>>2] = $179; } + do { + if ((label|0) == 29) { + $144 = HEAP32[$9>>2]|0; + $145 = ((($144)) + 20|0); + $146 = HEAP32[$145>>2]|0; + $147 = (($146) - 1)|0; + HEAP32[$25>>2] = $147; + while(1) { + $148 = HEAP32[$25>>2]|0; + $149 = ($148|0)>=(0); + if (!($149)) { + label = 35; + break; + } + $150 = HEAP32[$9>>2]|0; + $151 = ((($150)) + 16|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$25>>2]|0; + $154 = (($152) + ($153<<4)|0); + $155 = ((($154)) + 4|0); + $156 = HEAP32[$155>>2]|0; + HEAP32[$26>>2] = $156; + $157 = HEAP32[$26>>2]|0; + $158 = ($157|0)!=(0|0); + if ($158) { + $159 = HEAP32[$26>>2]|0; + $160 = ((($159)) + 4|0); + $161 = HEAP32[$160>>2]|0; + $162 = HEAP32[$13>>2]|0; + $163 = ($161|0)==($162|0); + if ($163) { + break; + } + } + $168 = HEAP32[$25>>2]|0; + $169 = (($168) + -1)|0; + HEAP32[$25>>2] = $169; + } + if ((label|0) == 35) { + $170 = HEAP32[$13>>2]|0; + $171 = HEAP32[$14>>2]|0; + $172 = ((($171)) + 4|0); + HEAP32[$172>>2] = $170; + $173 = HEAP32[$13>>2]|0; + $174 = ((($173)) + 64|0); + $175 = HEAP32[$174>>2]|0; + $176 = (($175) + 1)|0; + HEAP32[$174>>2] = $176; + break; + } + $164 = HEAP32[$24>>2]|0; + _sqlite3_mutex_leave($164); + $165 = HEAP32[$15>>2]|0; + _sqlite3_mutex_leave($165); + $166 = HEAP32[$23>>2]|0; + _sqlite3_free($166); + $167 = HEAP32[$14>>2]|0; + _sqlite3_free($167); + HEAP32[$6>>2] = 19; + $444 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($444|0); + } + } while(0); + $180 = HEAP32[$24>>2]|0; + _sqlite3_mutex_leave($180); + $181 = HEAP32[$23>>2]|0; + _sqlite3_free($181); } - } while(0); - $202 = HEAP32[$pLeft>>2]|0; - $203 = ((($202)) + 20|0); - $204 = HEAP32[$203>>2]|0; - $205 = ($204|0)!=(0|0); - if (!($205)) { - STACKTOP = sp;return; - } - $206 = HEAP32[$pLeft>>2]|0; - $207 = ((($206)) + 20|0); - $208 = HEAP32[$207>>2]|0; - $209 = HEAP32[$208>>2]|0; - $210 = ($209|0)!=(0|0); - if (!($210)) { - STACKTOP = sp;return; } - $211 = HEAP32[$pLeft>>2]|0; - $212 = ((($211)) + 20|0); - $213 = HEAP32[$212>>2]|0; - HEAP32[$pDl1>>2] = $213; - while(1) { - $214 = HEAP32[$2>>2]|0; - $215 = HEAP32[$214>>2]|0; - $216 = ($215|0)==(0); - if (!($216)) { - label = 53; - break; - } - $217 = HEAP32[$pLeft>>2]|0; - $218 = ((($217)) + 32|0); - $219 = HEAP8[$218>>0]|0; - $220 = $219&255; - $221 = ($220|0)==(0); - if (!($221)) { - label = 53; + } while(0); + $182 = HEAP32[$13>>2]|0; + $183 = ($182|0)==(0|0); + do { + if ($183) { + $184 = (_sqlite3MallocZero(84,0)|0); + HEAP32[$13>>2] = $184; + $185 = HEAP32[$13>>2]|0; + $186 = ($185|0)==(0|0); + if ($186) { + HEAP32[$16>>2] = 7; break; } - $222 = HEAP32[$pDl1>>2]|0; - $223 = ((($222)) + 28|0); - $224 = HEAP32[$223>>2]|0; - $225 = HEAP32[$pDl1>>2]|0; - $226 = ((($225)) + 32|0); - $227 = HEAP32[$226>>2]|0; - _memset(($224|0),0,($227|0))|0; - $228 = HEAP32[$0>>2]|0; - $229 = HEAP32[$pLeft>>2]|0; - $230 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($228,$229,$230); - } - if ((label|0) == 53) { - STACKTOP = sp;return; - } - break; - } - case 4: { - $231 = HEAP32[$1>>2]|0; - $232 = ((($231)) + 12|0); - $233 = HEAP32[$232>>2]|0; - HEAP32[$pLeft2>>2] = $233; - $234 = HEAP32[$1>>2]|0; - $235 = ((($234)) + 16|0); - $236 = HEAP32[$235>>2]|0; - HEAP32[$pRight3>>2] = $236; - $237 = HEAP32[$bDescDoclist>>2]|0; - $238 = ($237|0)!=(0); - $239 = $238 ? -1 : 1; - $240 = ($239|0)<(0); - $241 = $240 << 31 >> 31; - $242 = HEAP32[$pLeft2>>2]|0; - $243 = ((($242)) + 24|0); - $244 = $243; - $245 = $244; - $246 = HEAP32[$245>>2]|0; - $247 = (($244) + 4)|0; - $248 = $247; - $249 = HEAP32[$248>>2]|0; - $250 = HEAP32[$pRight3>>2]|0; - $251 = ((($250)) + 24|0); - $252 = $251; - $253 = $252; - $254 = HEAP32[$253>>2]|0; - $255 = (($252) + 4)|0; - $256 = $255; - $257 = HEAP32[$256>>2]|0; - $258 = (_i64Subtract(($246|0),($249|0),($254|0),($257|0))|0); - $259 = tempRet0; - $260 = (___muldi3(($239|0),($241|0),($258|0),($259|0))|0); - $261 = tempRet0; - $262 = $iCmp; - $263 = $262; - HEAP32[$263>>2] = $260; - $264 = (($262) + 4)|0; - $265 = $264; - HEAP32[$265>>2] = $261; - $266 = HEAP32[$pRight3>>2]|0; - $267 = ((($266)) + 32|0); - $268 = HEAP8[$267>>0]|0; - $269 = $268&255; - $270 = ($269|0)!=(0); - do { - if ($270) { - label = 33; - } else { - $271 = HEAP32[$pLeft2>>2]|0; - $272 = ((($271)) + 32|0); - $273 = HEAP8[$272>>0]|0; - $274 = $273&255; - $275 = ($274|0)==(0); - $276 = $iCmp; - $277 = $276; - $278 = HEAP32[$277>>2]|0; - $279 = (($276) + 4)|0; - $280 = $279; - $281 = HEAP32[$280>>2]|0; - $282 = ($281|0)<(0); - $or$cond = $275 & $282; - if ($or$cond) { - label = 33; + $187 = HEAP32[$7>>2]|0; + $188 = HEAP32[$13>>2]|0; + $189 = HEAP32[$8>>2]|0; + $190 = HEAP32[$11>>2]|0; + $191 = HEAP32[$12>>2]|0; + $192 = (_sqlite3PagerOpen($187,$188,$189,88,$190,$191,158)|0); + HEAP32[$16>>2] = $192; + $193 = HEAP32[$16>>2]|0; + $194 = ($193|0)==(0); + if ($194) { + $195 = HEAP32[$13>>2]|0; + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$9>>2]|0; + $198 = ((($197)) + 40|0); + $199 = $198; + $200 = $199; + $201 = HEAP32[$200>>2]|0; + $202 = (($199) + 4)|0; + $203 = $202; + $204 = HEAP32[$203>>2]|0; + _sqlite3PagerSetMmapLimit($196,$201,$204); + $205 = HEAP32[$13>>2]|0; + $206 = HEAP32[$205>>2]|0; + $207 = (_sqlite3PagerReadFileheader($206,100,$18)|0); + HEAP32[$16>>2] = $207; + } + $208 = HEAP32[$16>>2]|0; + $209 = ($208|0)!=(0); + if (!($209)) { + $210 = HEAP32[$11>>2]|0; + $211 = $210&255; + $212 = HEAP32[$13>>2]|0; + $213 = ((($212)) + 16|0); + HEAP8[$213>>0] = $211; + $214 = HEAP32[$9>>2]|0; + $215 = HEAP32[$13>>2]|0; + $216 = ((($215)) + 4|0); + HEAP32[$216>>2] = $214; + $217 = HEAP32[$13>>2]|0; + $218 = HEAP32[$217>>2]|0; + $219 = HEAP32[$13>>2]|0; + _sqlite3PagerSetBusyhandler($218,192,$219); + $220 = HEAP32[$13>>2]|0; + $221 = HEAP32[$14>>2]|0; + $222 = ((($221)) + 4|0); + HEAP32[$222>>2] = $220; + $223 = HEAP32[$13>>2]|0; + $224 = ((($223)) + 8|0); + HEAP32[$224>>2] = 0; + $225 = HEAP32[$13>>2]|0; + $226 = ((($225)) + 12|0); + HEAP32[$226>>2] = 0; + $227 = HEAP32[$13>>2]|0; + $228 = HEAP32[$227>>2]|0; + $229 = (_sqlite3PagerIsreadonly($228)|0); + $230 = ($229<<24>>24)!=(0); + if ($230) { + $231 = HEAP32[$13>>2]|0; + $232 = ((($231)) + 22|0); + $233 = HEAP16[$232>>1]|0; + $234 = $233&65535; + $235 = $234 | 1; + $236 = $235&65535; + HEAP16[$232>>1] = $236; + } + $237 = ((($18)) + 16|0); + $238 = HEAP8[$237>>0]|0; + $239 = $238&255; + $240 = $239 << 8; + $241 = ((($18)) + 17|0); + $242 = HEAP8[$241>>0]|0; + $243 = $242&255; + $244 = $243 << 16; + $245 = $240 | $244; + $246 = HEAP32[$13>>2]|0; + $247 = ((($246)) + 32|0); + HEAP32[$247>>2] = $245; + $248 = HEAP32[$13>>2]|0; + $249 = ((($248)) + 32|0); + $250 = HEAP32[$249>>2]|0; + $251 = ($250>>>0)<(512); + if ($251) { + label = 49; } else { - $286 = HEAP32[$pLeft2>>2]|0; - $287 = ((($286)) + 32|0); - $288 = HEAP8[$287>>0]|0; - $289 = $288&255; - $290 = ($289|0)!=(0); - if (!($290)) { - $291 = HEAP32[$pRight3>>2]|0; - $292 = ((($291)) + 32|0); - $293 = HEAP8[$292>>0]|0; - $294 = $293&255; - $295 = ($294|0)==(0); - $296 = $iCmp; - $297 = $296; - $298 = HEAP32[$297>>2]|0; - $299 = (($296) + 4)|0; - $300 = $299; - $301 = HEAP32[$300>>2]|0; - $302 = ($301|0)>(0); - $303 = ($298>>>0)>(0); - $304 = ($301|0)==(0); - $305 = $304 & $303; - $306 = $302 | $305; - $or$cond6 = $295 & $306; - if (!($or$cond6)) { - $310 = HEAP32[$0>>2]|0; - $311 = HEAP32[$pLeft2>>2]|0; - $312 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($310,$311,$312); - $313 = HEAP32[$0>>2]|0; - $314 = HEAP32[$pRight3>>2]|0; - $315 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($313,$314,$315); - break; + $252 = HEAP32[$13>>2]|0; + $253 = ((($252)) + 32|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254>>>0)>(65536); + if ($255) { + label = 49; + } else { + $256 = HEAP32[$13>>2]|0; + $257 = ((($256)) + 32|0); + $258 = HEAP32[$257>>2]|0; + $259 = (($258) - 1)|0; + $260 = HEAP32[$13>>2]|0; + $261 = ((($260)) + 32|0); + $262 = HEAP32[$261>>2]|0; + $263 = $259 & $262; + $264 = ($263|0)!=(0); + if ($264) { + label = 49; + } else { + $275 = ((($18)) + 20|0); + $276 = HEAP8[$275>>0]|0; + HEAP8[$17>>0] = $276; + $277 = HEAP32[$13>>2]|0; + $278 = ((($277)) + 22|0); + $279 = HEAP16[$278>>1]|0; + $280 = $279&65535; + $281 = $280 | 2; + $282 = $281&65535; + HEAP16[$278>>1] = $282; + $283 = ((($18)) + 52|0); + $284 = (_sqlite3Get4byte($283)|0); + $285 = ($284|0)!=(0); + $286 = $285 ? 1 : 0; + $287 = $286&255; + $288 = HEAP32[$13>>2]|0; + $289 = ((($288)) + 17|0); + HEAP8[$289>>0] = $287; + $290 = ((($18)) + 64|0); + $291 = (_sqlite3Get4byte($290)|0); + $292 = ($291|0)!=(0); + $293 = $292 ? 1 : 0; + $294 = $293&255; + $295 = HEAP32[$13>>2]|0; + $296 = ((($295)) + 18|0); + HEAP8[$296>>0] = $294; } } - $307 = HEAP32[$0>>2]|0; - $308 = HEAP32[$pRight3>>2]|0; - $309 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($307,$308,$309); + } + if ((label|0) == 49) { + $265 = HEAP32[$13>>2]|0; + $266 = ((($265)) + 32|0); + HEAP32[$266>>2] = 0; + $267 = HEAP32[$8>>2]|0; + $268 = ($267|0)==(0|0); + $269 = HEAP32[$20>>2]|0; + $270 = ($269|0)!=(0); + $or$cond3 = $268 | $270; + if (!($or$cond3)) { + $271 = HEAP32[$13>>2]|0; + $272 = ((($271)) + 17|0); + HEAP8[$272>>0] = 0; + $273 = HEAP32[$13>>2]|0; + $274 = ((($273)) + 18|0); + HEAP8[$274>>0] = 0; + } + HEAP8[$17>>0] = 0; + } + $297 = HEAP32[$13>>2]|0; + $298 = HEAP32[$297>>2]|0; + $299 = HEAP32[$13>>2]|0; + $300 = ((($299)) + 32|0); + $301 = HEAP8[$17>>0]|0; + $302 = $301&255; + $303 = (_sqlite3PagerSetPagesize($298,$300,$302)|0); + HEAP32[$16>>2] = $303; + $304 = HEAP32[$16>>2]|0; + $305 = ($304|0)!=(0); + if (!($305)) { + $306 = HEAP32[$13>>2]|0; + $307 = ((($306)) + 32|0); + $308 = HEAP32[$307>>2]|0; + $309 = HEAP8[$17>>0]|0; + $310 = $309&255; + $311 = (($308) - ($310))|0; + $312 = HEAP32[$13>>2]|0; + $313 = ((($312)) + 36|0); + HEAP32[$313>>2] = $311; + $314 = HEAP32[$13>>2]|0; + $315 = ((($314)) + 64|0); + HEAP32[$315>>2] = 1; + $316 = HEAP32[$14>>2]|0; + $317 = ((($316)) + 9|0); + $318 = HEAP8[$317>>0]|0; + $319 = ($318<<24>>24)!=(0); + if ($319) { + $320 = (_sqlite3MutexAlloc(2)|0); + HEAP32[$27>>2] = $320; + $321 = HEAP32[(12)>>2]|0; + $322 = ($321|0)!=(0); + if ($322) { + $323 = (_sqlite3MutexAlloc(0)|0); + $324 = HEAP32[$13>>2]|0; + $325 = ((($324)) + 56|0); + HEAP32[$325>>2] = $323; + $326 = HEAP32[$13>>2]|0; + $327 = ((($326)) + 56|0); + $328 = HEAP32[$327>>2]|0; + $329 = ($328|0)==(0|0); + if ($329) { + HEAP32[$16>>2] = 7; + break; + } + } + $330 = HEAP32[$27>>2]|0; + _sqlite3_mutex_enter($330); + $331 = HEAP32[13786]|0; + $332 = HEAP32[$13>>2]|0; + $333 = ((($332)) + 68|0); + HEAP32[$333>>2] = $331; + $334 = HEAP32[$13>>2]|0; + HEAP32[13786] = $334; + $335 = HEAP32[$27>>2]|0; + _sqlite3_mutex_leave($335); + label = 59; + } else { + label = 59; + } } } - } while(0); - if ((label|0) == 33) { - $283 = HEAP32[$0>>2]|0; - $284 = HEAP32[$pLeft2>>2]|0; - $285 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($283,$284,$285); - } - $316 = HEAP32[$pLeft2>>2]|0; - $317 = ((($316)) + 32|0); - $318 = HEAP8[$317>>0]|0; - $319 = $318&255; - $320 = ($319|0)!=(0); - if ($320) { - $321 = HEAP32[$pRight3>>2]|0; - $322 = ((($321)) + 32|0); - $323 = HEAP8[$322>>0]|0; - $324 = $323&255; - $325 = ($324|0)!=(0); - $327 = $325; } else { - $327 = 0; - } - $326 = $327&1; - $328 = $326&255; - $329 = HEAP32[$1>>2]|0; - $330 = ((($329)) + 32|0); - HEAP8[$330>>0] = $328; - $331 = HEAP32[$bDescDoclist>>2]|0; - $332 = ($331|0)!=(0); - $333 = $332 ? -1 : 1; - $334 = ($333|0)<(0); - $335 = $334 << 31 >> 31; - $336 = HEAP32[$pLeft2>>2]|0; - $337 = ((($336)) + 24|0); - $338 = $337; - $339 = $338; - $340 = HEAP32[$339>>2]|0; - $341 = (($338) + 4)|0; - $342 = $341; - $343 = HEAP32[$342>>2]|0; - $344 = HEAP32[$pRight3>>2]|0; - $345 = ((($344)) + 24|0); - $346 = $345; - $347 = $346; - $348 = HEAP32[$347>>2]|0; - $349 = (($346) + 4)|0; - $350 = $349; - $351 = HEAP32[$350>>2]|0; - $352 = (_i64Subtract(($340|0),($343|0),($348|0),($351|0))|0); - $353 = tempRet0; - $354 = (___muldi3(($333|0),($335|0),($352|0),($353|0))|0); - $355 = tempRet0; - $356 = $iCmp; - $357 = $356; - HEAP32[$357>>2] = $354; - $358 = (($356) + 4)|0; - $359 = $358; - HEAP32[$359>>2] = $355; - $360 = HEAP32[$pRight3>>2]|0; - $361 = ((($360)) + 32|0); - $362 = HEAP8[$361>>0]|0; - $363 = $362&255; - $364 = ($363|0)!=(0); - if (!($364)) { - $365 = HEAP32[$pLeft2>>2]|0; - $366 = ((($365)) + 32|0); - $367 = HEAP8[$366>>0]|0; - $368 = $367&255; - $369 = ($368|0)==(0); - $370 = $iCmp; - $371 = $370; - $372 = HEAP32[$371>>2]|0; - $373 = (($370) + 4)|0; - $374 = $373; - $375 = HEAP32[$374>>2]|0; - $376 = ($375|0)<(0); - $or$cond8 = $369 & $376; - if (!($or$cond8)) { - $391 = HEAP32[$pRight3>>2]|0; - $392 = ((($391)) + 24|0); - $393 = $392; - $394 = $393; - $395 = HEAP32[$394>>2]|0; - $396 = (($393) + 4)|0; - $397 = $396; - $398 = HEAP32[$397>>2]|0; - $399 = HEAP32[$1>>2]|0; - $400 = ((($399)) + 24|0); - $401 = $400; - $402 = $401; - HEAP32[$402>>2] = $395; - $403 = (($401) + 4)|0; - $404 = $403; - HEAP32[$404>>2] = $398; - STACKTOP = sp;return; - } + label = 59; } - $377 = HEAP32[$pLeft2>>2]|0; - $378 = ((($377)) + 24|0); - $379 = $378; - $380 = $379; - $381 = HEAP32[$380>>2]|0; - $382 = (($379) + 4)|0; - $383 = $382; - $384 = HEAP32[$383>>2]|0; - $385 = HEAP32[$1>>2]|0; - $386 = ((($385)) + 24|0); - $387 = $386; - $388 = $387; - HEAP32[$388>>2] = $381; - $389 = (($387) + 4)|0; - $390 = $389; - HEAP32[$390>>2] = $384; - STACKTOP = sp;return; - break; - } - case 2: { - $405 = HEAP32[$1>>2]|0; - $406 = ((($405)) + 12|0); - $407 = HEAP32[$406>>2]|0; - HEAP32[$pLeft4>>2] = $407; - $408 = HEAP32[$1>>2]|0; - $409 = ((($408)) + 16|0); - $410 = HEAP32[$409>>2]|0; - HEAP32[$pRight5>>2] = $410; - $411 = HEAP32[$pRight5>>2]|0; - $412 = ((($411)) + 33|0); - $413 = HEAP8[$412>>0]|0; - $414 = $413&255; - $415 = ($414|0)==(0); - if ($415) { - $416 = HEAP32[$0>>2]|0; - $417 = HEAP32[$pRight5>>2]|0; - $418 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($416,$417,$418); - } - $419 = HEAP32[$0>>2]|0; - $420 = HEAP32[$pLeft4>>2]|0; - $421 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($419,$420,$421); - $422 = HEAP32[$pLeft4>>2]|0; - $423 = ((($422)) + 32|0); - $424 = HEAP8[$423>>0]|0; - $425 = $424&255; - $426 = ($425|0)==(0); - L80: do { - if ($426) { + } while(0); + if ((label|0) == 59) { + $336 = HEAP32[$14>>2]|0; + $337 = ((($336)) + 9|0); + $338 = HEAP8[$337>>0]|0; + $339 = ($338<<24>>24)!=(0); + L89: do { + if ($339) { + HEAP32[$28>>2] = 0; while(1) { - $427 = HEAP32[$2>>2]|0; - $428 = HEAP32[$427>>2]|0; - $429 = ($428|0)!=(0); - if ($429) { - break L80; + $340 = HEAP32[$28>>2]|0; + $341 = HEAP32[$9>>2]|0; + $342 = ((($341)) + 20|0); + $343 = HEAP32[$342>>2]|0; + $344 = ($340|0)<($343|0); + if (!($344)) { + break L89; + } + $345 = HEAP32[$9>>2]|0; + $346 = ((($345)) + 16|0); + $347 = HEAP32[$346>>2]|0; + $348 = HEAP32[$28>>2]|0; + $349 = (($347) + ($348<<4)|0); + $350 = ((($349)) + 4|0); + $351 = HEAP32[$350>>2]|0; + HEAP32[$29>>2] = $351; + $352 = ($351|0)!=(0|0); + if ($352) { + $353 = HEAP32[$29>>2]|0; + $354 = ((($353)) + 9|0); + $355 = HEAP8[$354>>0]|0; + $356 = $355&255; + $357 = ($356|0)!=(0); + if ($357) { + break; + } } - $430 = HEAP32[$pRight5>>2]|0; - $431 = ((($430)) + 32|0); - $432 = HEAP8[$431>>0]|0; - $433 = ($432<<24>>24)!=(0); - if ($433) { - break L80; + $417 = HEAP32[$28>>2]|0; + $418 = (($417) + 1)|0; + HEAP32[$28>>2] = $418; + } + while(1) { + $358 = HEAP32[$29>>2]|0; + $359 = ((($358)) + 28|0); + $360 = HEAP32[$359>>2]|0; + $361 = ($360|0)!=(0|0); + if (!($361)) { + break; } - $434 = HEAP32[$bDescDoclist>>2]|0; - $435 = ($434|0)!=(0); - $436 = $435 ? -1 : 1; - $437 = ($436|0)<(0); - $438 = $437 << 31 >> 31; - $439 = HEAP32[$pLeft4>>2]|0; - $440 = ((($439)) + 24|0); - $441 = $440; - $442 = $441; - $443 = HEAP32[$442>>2]|0; - $444 = (($441) + 4)|0; - $445 = $444; - $446 = HEAP32[$445>>2]|0; - $447 = HEAP32[$pRight5>>2]|0; - $448 = ((($447)) + 24|0); - $449 = $448; - $450 = $449; - $451 = HEAP32[$450>>2]|0; - $452 = (($449) + 4)|0; - $453 = $452; - $454 = HEAP32[$453>>2]|0; - $455 = (_i64Subtract(($443|0),($446|0),($451|0),($454|0))|0); - $456 = tempRet0; - $457 = (___muldi3(($436|0),($438|0),($455|0),($456|0))|0); - $458 = tempRet0; - $459 = ($458|0)>(0); - $460 = ($457>>>0)>(0); - $461 = ($458|0)==(0); - $462 = $461 & $460; - $463 = $459 | $462; - if (!($463)) { - break L80; + $362 = HEAP32[$29>>2]|0; + $363 = ((($362)) + 28|0); + $364 = HEAP32[$363>>2]|0; + HEAP32[$29>>2] = $364; + } + $365 = HEAP32[$14>>2]|0; + $366 = ((($365)) + 4|0); + $367 = HEAP32[$366>>2]|0; + $368 = $367; + $369 = HEAP32[$29>>2]|0; + $370 = ((($369)) + 4|0); + $371 = HEAP32[$370>>2]|0; + $372 = $371; + $373 = ($368>>>0)<($372>>>0); + if ($373) { + $374 = HEAP32[$29>>2]|0; + $375 = HEAP32[$14>>2]|0; + $376 = ((($375)) + 24|0); + HEAP32[$376>>2] = $374; + $377 = HEAP32[$14>>2]|0; + $378 = ((($377)) + 28|0); + HEAP32[$378>>2] = 0; + $379 = HEAP32[$14>>2]|0; + $380 = HEAP32[$29>>2]|0; + $381 = ((($380)) + 28|0); + HEAP32[$381>>2] = $379; + break; + } + while(1) { + $382 = HEAP32[$29>>2]|0; + $383 = ((($382)) + 24|0); + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)!=(0|0); + if ($385) { + $386 = HEAP32[$29>>2]|0; + $387 = ((($386)) + 24|0); + $388 = HEAP32[$387>>2]|0; + $389 = ((($388)) + 4|0); + $390 = HEAP32[$389>>2]|0; + $391 = $390; + $392 = HEAP32[$14>>2]|0; + $393 = ((($392)) + 4|0); + $394 = HEAP32[$393>>2]|0; + $395 = $394; + $396 = ($391>>>0)<($395>>>0); + $445 = $396; + } else { + $445 = 0; + } + $397 = HEAP32[$29>>2]|0; + $398 = ((($397)) + 24|0); + $399 = HEAP32[$398>>2]|0; + if (!($445)) { + break; } - $464 = HEAP32[$0>>2]|0; - $465 = HEAP32[$pRight5>>2]|0; - $466 = HEAP32[$2>>2]|0; - _fts3EvalNextRow($464,$465,$466); + HEAP32[$29>>2] = $399; + } + $400 = HEAP32[$14>>2]|0; + $401 = ((($400)) + 24|0); + HEAP32[$401>>2] = $399; + $402 = HEAP32[$29>>2]|0; + $403 = HEAP32[$14>>2]|0; + $404 = ((($403)) + 28|0); + HEAP32[$404>>2] = $402; + $405 = HEAP32[$14>>2]|0; + $406 = ((($405)) + 24|0); + $407 = HEAP32[$406>>2]|0; + $408 = ($407|0)!=(0|0); + if ($408) { + $409 = HEAP32[$14>>2]|0; + $410 = HEAP32[$14>>2]|0; + $411 = ((($410)) + 24|0); + $412 = HEAP32[$411>>2]|0; + $413 = ((($412)) + 28|0); + HEAP32[$413>>2] = $409; } + $414 = HEAP32[$14>>2]|0; + $415 = HEAP32[$29>>2]|0; + $416 = ((($415)) + 24|0); + HEAP32[$416>>2] = $414; } } while(0); - $467 = HEAP32[$pLeft4>>2]|0; - $468 = ((($467)) + 24|0); - $469 = $468; - $470 = $469; - $471 = HEAP32[$470>>2]|0; - $472 = (($469) + 4)|0; - $473 = $472; - $474 = HEAP32[$473>>2]|0; - $475 = HEAP32[$1>>2]|0; - $476 = ((($475)) + 24|0); - $477 = $476; - $478 = $477; - HEAP32[$478>>2] = $471; - $479 = (($477) + 4)|0; - $480 = $479; - HEAP32[$480>>2] = $474; - $481 = HEAP32[$pLeft4>>2]|0; - $482 = ((($481)) + 32|0); - $483 = HEAP8[$482>>0]|0; - $484 = HEAP32[$1>>2]|0; - $485 = ((($484)) + 32|0); - HEAP8[$485>>0] = $483; - STACKTOP = sp;return; - break; - } - default: { - $486 = HEAP32[$1>>2]|0; - $487 = ((($486)) + 20|0); - $488 = HEAP32[$487>>2]|0; - HEAP32[$pPhrase>>2] = $488; - $489 = HEAP32[$pPhrase>>2]|0; - _fts3EvalInvalidatePoslist($489); - $490 = HEAP32[$0>>2]|0; - $491 = HEAP32[$pPhrase>>2]|0; - $492 = HEAP32[$1>>2]|0; - $493 = ((($492)) + 32|0); - $494 = (_fts3EvalPhraseNext($490,$491,$493)|0); - $495 = HEAP32[$2>>2]|0; - HEAP32[$495>>2] = $494; - $496 = HEAP32[$pPhrase>>2]|0; - $497 = ((($496)) + 16|0); - $498 = $497; - $499 = $498; - $500 = HEAP32[$499>>2]|0; - $501 = (($498) + 4)|0; - $502 = $501; - $503 = HEAP32[$502>>2]|0; - $504 = HEAP32[$1>>2]|0; - $505 = ((($504)) + 24|0); - $506 = $505; - $507 = $506; - HEAP32[$507>>2] = $500; - $508 = (($506) + 4)|0; - $509 = $508; - HEAP32[$509>>2] = $503; - STACKTOP = sp;return; + $419 = HEAP32[$14>>2]|0; + $420 = HEAP32[$10>>2]|0; + HEAP32[$420>>2] = $419; + } + $421 = HEAP32[$16>>2]|0; + $422 = ($421|0)!=(0); + if ($422) { + $423 = HEAP32[$13>>2]|0; + $424 = ($423|0)!=(0|0); + if ($424) { + $425 = HEAP32[$13>>2]|0; + $426 = HEAP32[$425>>2]|0; + $427 = ($426|0)!=(0|0); + if ($427) { + $428 = HEAP32[$13>>2]|0; + $429 = HEAP32[$428>>2]|0; + (_sqlite3PagerClose($429)|0); + } + } + $430 = HEAP32[$13>>2]|0; + _sqlite3_free($430); + $431 = HEAP32[$14>>2]|0; + _sqlite3_free($431); + $432 = HEAP32[$10>>2]|0; + HEAP32[$432>>2] = 0; + } else { + $433 = HEAP32[$14>>2]|0; + $434 = (_sqlite3BtreeSchema($433,0,0)|0); + $435 = ($434|0)==(0|0); + if ($435) { + $436 = HEAP32[$14>>2]|0; + $437 = ((($436)) + 4|0); + $438 = HEAP32[$437>>2]|0; + $439 = HEAP32[$438>>2]|0; + _sqlite3PagerSetCachesize($439,-2000); + } } + $440 = HEAP32[$15>>2]|0; + $441 = ($440|0)!=(0|0); + if ($441) { + $442 = HEAP32[$15>>2]|0; + _sqlite3_mutex_leave($442); } + $443 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $443; + $444 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($444|0); } -function _sqlite3Fts3DoclistNext($bDescIdx,$aDoclist,$nDoclist,$ppIter,$piDocid,$pbEof) { - $bDescIdx = $bDescIdx|0; - $aDoclist = $aDoclist|0; - $nDoclist = $nDoclist|0; - $ppIter = $ppIter|0; - $piDocid = $piDocid|0; - $pbEof = $pbEof|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $iVar = 0, $p = 0, label = 0, sp = 0; +function _sqlite3ErrorMsg($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $p = sp + 8|0; - $iVar = sp; - HEAP32[$0>>2] = $bDescIdx; - HEAP32[$1>>2] = $aDoclist; - HEAP32[$2>>2] = $nDoclist; - HEAP32[$3>>2] = $ppIter; - HEAP32[$4>>2] = $piDocid; - HEAP32[$5>>2] = $pbEof; - $6 = HEAP32[$3>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$p>>2] = $7; - $8 = HEAP32[$p>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $10; - $11 = HEAP32[$p>>2]|0; - $12 = HEAP32[$4>>2]|0; - $13 = (_sqlite3Fts3GetVarint($11,$12)|0); - $14 = HEAP32[$p>>2]|0; - $15 = (($14) + ($13)|0); - HEAP32[$p>>2] = $15; - $62 = HEAP32[$p>>2]|0; - $63 = HEAP32[$3>>2]|0; - HEAP32[$63>>2] = $62; - STACKTOP = sp;return; - } - _fts3PoslistCopy(0,$p); - while(1) { - $16 = HEAP32[$p>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + ($17)|0); - $20 = ($16>>>0)<($19>>>0); - if ($20) { - $21 = HEAP32[$p>>2]|0; - $22 = HEAP8[$21>>0]|0; - $23 = $22 << 24 >> 24; - $24 = ($23|0)==(0); - $64 = $24; - } else { - $64 = 0; - } - $25 = HEAP32[$p>>2]|0; - if (!($64)) { - break; - } - $26 = ((($25)) + 1|0); - HEAP32[$p>>2] = $26; - } - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + ($27)|0); - $30 = ($25>>>0)>=($29>>>0); - if ($30) { - $31 = HEAP32[$5>>2]|0; - HEAP8[$31>>0] = 1; - $62 = HEAP32[$p>>2]|0; - $63 = HEAP32[$3>>2]|0; - HEAP32[$63>>2] = $62; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + HEAP32[$5>>2] = $varargs; + $9 = HEAP32[$6>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = (_sqlite3VMPrintf($9,$10,$5)|0); + HEAP32[$4>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 73|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)!=(0); + if ($15) { + $16 = HEAP32[$6>>2]|0; + $17 = HEAP32[$4>>2]|0; + _sqlite3DbFree($16,$17); STACKTOP = sp;return; } else { - $32 = HEAP32[$p>>2]|0; - $33 = (_sqlite3Fts3GetVarint($32,$iVar)|0); - $34 = HEAP32[$p>>2]|0; - $35 = (($34) + ($33)|0); - HEAP32[$p>>2] = $35; - $36 = HEAP32[$0>>2]|0; - $37 = ($36|0)!=(0); - $38 = $37 ? -1 : 1; - $39 = ($38|0)<(0); - $40 = $39 << 31 >> 31; - $41 = $iVar; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (___muldi3(($38|0),($40|0),($43|0),($46|0))|0); - $48 = tempRet0; - $49 = HEAP32[$4>>2]|0; - $50 = $49; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (_i64Add(($52|0),($55|0),($47|0),($48|0))|0); - $57 = tempRet0; - $58 = $49; - $59 = $58; - HEAP32[$59>>2] = $56; - $60 = (($58) + 4)|0; - $61 = $60; - HEAP32[$61>>2] = $57; - $62 = HEAP32[$p>>2]|0; - $63 = HEAP32[$3>>2]|0; - HEAP32[$63>>2] = $62; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 36|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + 1)|0; + HEAP32[$19>>2] = $21; + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + _sqlite3DbFree($22,$25); + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 4|0); + HEAP32[$28>>2] = $26; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 12|0); + HEAP32[$30>>2] = 1; STACKTOP = sp;return; } } -function _fts3EvalInvalidatePoslist($pPhrase) { - $pPhrase = $pPhrase|0; - var $0 = 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, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPhrase; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0); - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 28|0); - $7 = HEAP32[$6>>2]|0; - _sqlite3_free($7); - } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 28|0); - HEAP32[$9>>2] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 32|0); - HEAP32[$11>>2] = 0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 24|0); - HEAP32[$13>>2] = 0; - STACKTOP = sp;return; -} -function _fts3EvalPhraseNext($pCsr,$p,$pbEof) { - $pCsr = $pCsr|0; - $p = $p|0; - $pbEof = $pbEof|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDL = 0, $pTab = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3BtreeSetPageSize($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, $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, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $rc = sp + 8|0; - $pDL = sp + 4|0; - $pTab = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pbEof; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pDL>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$pTab>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 40|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0); - $10 = HEAP32[$0>>2]|0; - if ($9) { - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = (_fts3EvalIncrPhraseNext($10,$11,$12)|0); - HEAP32[$rc>>2] = $13; - $50 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($50|0); + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = 0; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$10>>2] = $13; + $14 = HEAP32[$5>>2]|0; + _sqlite3BtreeEnter($14); + $15 = HEAP32[$10>>2]|0; + $16 = ((($15)) + 22|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = $18 & 2; + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$5>>2]|0; + _sqlite3BtreeLeave($21); + HEAP32[$4>>2] = 8; + $69 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($69|0); } - $14 = ((($10)) + 52|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = HEAP32[$pTab>>2]|0; - $18 = ((($17)) + 231|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($16|0)!=($20|0); - if ($21) { - $22 = HEAP32[$pDL>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)!=(0); - if ($25) { - $26 = HEAP32[$pTab>>2]|0; - $27 = ((($26)) + 231|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = HEAP32[$pDL>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$pDL>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$pDL>>2]|0; - $36 = ((($35)) + 8|0); - $37 = HEAP32[$pDL>>2]|0; - $38 = ((($37)) + 16|0); - $39 = HEAP32[$pDL>>2]|0; - $40 = ((($39)) + 32|0); - $41 = HEAP32[$2>>2]|0; - _sqlite3Fts3DoclistPrev($29,$31,$34,$36,$38,$40,$41); - $42 = HEAP32[$pDL>>2]|0; - $43 = ((($42)) + 8|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$pDL>>2]|0; - $46 = ((($45)) + 28|0); - HEAP32[$46>>2] = $44; - $50 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($50|0); + $22 = HEAP32[$7>>2]|0; + $23 = ($22|0)<(0); + if ($23) { + $24 = HEAP32[$10>>2]|0; + $25 = ((($24)) + 32|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$10>>2]|0; + $28 = ((($27)) + 36|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($26) - ($29))|0; + HEAP32[$7>>2] = $30; + } + $31 = HEAP32[$6>>2]|0; + $32 = ($31|0)>=(512); + $33 = HEAP32[$6>>2]|0; + $34 = ($33|0)<=(65536); + $or$cond = $32 & $34; + if ($or$cond) { + $35 = HEAP32[$6>>2]|0; + $36 = (($35) - 1)|0; + $37 = HEAP32[$6>>2]|0; + $38 = $36 & $37; + $39 = ($38|0)==(0); + if ($39) { + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$10>>2]|0; + $42 = ((($41)) + 32|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$10>>2]|0; + _freeTempSpace($43); } } - $47 = HEAP32[$pTab>>2]|0; - $48 = HEAP32[$pDL>>2]|0; - $49 = HEAP32[$2>>2]|0; - _fts3EvalDlPhraseNext($47,$48,$49); - $50 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($50|0); + $44 = HEAP32[$10>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$10>>2]|0; + $47 = ((($46)) + 32|0); + $48 = HEAP32[$7>>2]|0; + $49 = (_sqlite3PagerSetPagesize($45,$47,$48)|0); + HEAP32[$9>>2] = $49; + $50 = HEAP32[$10>>2]|0; + $51 = ((($50)) + 32|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$7>>2]|0; + $54 = $53&65535; + $55 = $54&65535; + $56 = (($52) - ($55))|0; + $57 = HEAP32[$10>>2]|0; + $58 = ((($57)) + 36|0); + HEAP32[$58>>2] = $56; + $59 = HEAP32[$8>>2]|0; + $60 = ($59|0)!=(0); + if ($60) { + $61 = HEAP32[$10>>2]|0; + $62 = ((($61)) + 22|0); + $63 = HEAP16[$62>>1]|0; + $64 = $63&65535; + $65 = $64 | 2; + $66 = $65&65535; + HEAP16[$62>>1] = $66; + } + $67 = HEAP32[$5>>2]|0; + _sqlite3BtreeLeave($67); + $68 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $68; + $69 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($69|0); } -function _fts3EvalIncrPhraseNext($pCsr,$p,$pbEof) { - $pCsr = $pCsr|0; - $p = $p|0; - $pbEof = $pbEof|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $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 $a = 0, $aDoclist = 0, $bDescDoclist = 0, $bEof = 0, $bMaxSet = 0, $i = 0, $iMax = 0, $nByte = 0, $nDist = 0, $nList = 0, $pDL = 0, $pL = 0, $pOut = 0, $pR = 0, $pTab = 0, $rc = 0, $res = 0, dest = 0, label = 0, sp = 0; - var stop = 0; +function _freeTempSpace($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $0 = sp + 172|0; - $1 = sp + 168|0; - $2 = sp + 164|0; - $3 = sp + 160|0; - $rc = sp + 156|0; - $pDL = sp + 152|0; - $pTab = sp + 148|0; - $bEof = sp + 176|0; - $bDescDoclist = sp + 144|0; - $a = sp + 8|0; - $bMaxSet = sp + 140|0; - $iMax = sp; - $i = sp + 136|0; - $nList = sp + 132|0; - $nByte = sp + 128|0; - $aDoclist = sp + 124|0; - $pL = sp + 120|0; - $pR = sp + 116|0; - $pOut = sp + 112|0; - $nDist = sp + 108|0; - $res = sp + 104|0; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $pbEof; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$2>>2]|0; - HEAP32[$pDL>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$pTab>>2] = $6; - HEAP8[$bEof>>0] = 0; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 64|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(1); - if ($10) { - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 40|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$pTab>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 72|0); - $18 = ((($17)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$pDL>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$pDL>>2]|0; - $23 = ((($22)) + 28|0); - $24 = HEAP32[$pDL>>2]|0; - $25 = ((($24)) + 32|0); - $26 = (_sqlite3Fts3MsrIncrNext($15,$19,$21,$23,$25)|0); - HEAP32[$rc>>2] = $26; - $27 = HEAP32[$pDL>>2]|0; - $28 = ((($27)) + 28|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0|0); - if ($30) { - HEAP8[$bEof>>0] = 1; - } - } else { - label = 5; - } + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 80|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 80|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + -4|0); + HEAP32[$7>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 80|0); + $12 = HEAP32[$11>>2]|0; + _sqlite3PageFree($12); + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 80|0); + HEAP32[$14>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3PagerSetPagesize($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$7>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==(0); + if ($16) { + label = 3; } else { - label = 5; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + label = 3; + } } - L5: do { - if ((label|0) == 5) { - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 52|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - HEAP32[$bDescDoclist>>2] = $34; - dest=$a; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - while(1) { - $35 = HEAP8[$bEof>>0]|0; - $36 = $35&255; - $37 = ($36|0)==(0); - if (!($37)) { - break L5; - } - HEAP32[$bMaxSet>>2] = 0; - $38 = $iMax; - $39 = $38; - HEAP32[$39>>2] = 0; - $40 = (($38) + 4)|0; - $41 = $40; - HEAP32[$41>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)==(0); - if (!($43)) { - break; + do { + if ((label|0) == 3) { + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 212|0); + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3PcacheRefCount($23)|0); + $25 = ($24|0)==(0); + $26 = HEAP32[$7>>2]|0; + $27 = ($26|0)!=(0); + $or$cond = $25 & $27; + if ($or$cond) { + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 160|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($28|0)!=($31|0); + if ($32) { + HEAP32[$8>>2] = 0; + $33 = $9; + $34 = $33; + HEAP32[$34>>2] = 0; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = 0; + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 17|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = ($40|0)>(0); + if ($41) { + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 64|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)!=(0|0); + if ($46) { + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 64|0); + $49 = HEAP32[$48>>2]|0; + $50 = (_sqlite3OsFileSize($49,$9)|0); + HEAP32[$6>>2] = $50; + } } - $44 = HEAP32[$i>>2]|0; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 64|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($44|0)<($47|0); - if (!($48)) { - break; + $51 = HEAP32[$6>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$7>>2]|0; + $54 = (_sqlite3PageMalloc($53)|0); + HEAP32[$8>>2] = $54; + $55 = HEAP32[$8>>2]|0; + $56 = ($55|0)!=(0|0); + if (!($56)) { + HEAP32[$6>>2] = 7; + } } - $49 = HEAP8[$bEof>>0]|0; - $50 = $49&255; - $51 = ($50|0)==(0); - if (!($51)) { - break; + $57 = HEAP32[$6>>2]|0; + $58 = ($57|0)==(0); + if ($58) { + $59 = HEAP32[$3>>2]|0; + _pager_reset($59); + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 212|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$7>>2]|0; + $64 = (_sqlite3PcacheSetPageSize($62,$63)|0); + HEAP32[$6>>2] = $64; } - $52 = HEAP32[$pTab>>2]|0; - $53 = HEAP32[$2>>2]|0; - $54 = HEAP32[$i>>2]|0; - $55 = HEAP32[$i>>2]|0; - $56 = (($a) + (($55*24)|0)|0); - $57 = (_incrPhraseTokenNext($52,$53,$54,$56,$bEof)|0); - HEAP32[$rc>>2] = $57; - $58 = HEAP32[$i>>2]|0; - $59 = (($a) + (($58*24)|0)|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)==(0); - do { - if ($61) { - $62 = HEAP32[$bMaxSet>>2]|0; - $63 = ($62|0)==(0); - if (!($63)) { - $64 = HEAP32[$bDescDoclist>>2]|0; - $65 = ($64|0)!=(0); - $66 = $65 ? -1 : 1; - $67 = ($66|0)<(0); - $68 = $67 << 31 >> 31; - $69 = $iMax; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$i>>2]|0; - $76 = (($a) + (($75*24)|0)|0); - $77 = ((($76)) + 8|0); - $78 = $77; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = (_i64Subtract(($71|0),($74|0),($80|0),($83|0))|0); - $85 = tempRet0; - (___muldi3(($66|0),($68|0),($84|0),($85|0))|0); - $86 = tempRet0; - $87 = ($86|0)<(0); - if (!($87)) { - break; - } - } - $88 = HEAP32[$i>>2]|0; - $89 = (($a) + (($88*24)|0)|0); - $90 = ((($89)) + 8|0); - $91 = $90; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (($91) + 4)|0; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = $iMax; - $98 = $97; - HEAP32[$98>>2] = $93; - $99 = (($97) + 4)|0; - $100 = $99; - HEAP32[$100>>2] = $96; - HEAP32[$bMaxSet>>2] = 1; - } - } while(0); - $101 = HEAP32[$i>>2]|0; - $102 = (($101) + 1)|0; - HEAP32[$i>>2] = $102; - } - HEAP32[$i>>2] = 0; - while(1) { - $103 = HEAP32[$i>>2]|0; - $104 = HEAP32[$2>>2]|0; - $105 = ((($104)) + 64|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($103|0)<($106|0); - if (!($107)) { + $65 = HEAP32[$6>>2]|0; + $66 = ($65|0)==(0); + if ($66) { + $67 = HEAP32[$3>>2]|0; + $68 = ((($67)) + 208|0); + $69 = HEAP32[$68>>2]|0; + _sqlite3PageFree($69); + $70 = HEAP32[$8>>2]|0; + $71 = HEAP32[$3>>2]|0; + $72 = ((($71)) + 208|0); + HEAP32[$72>>2] = $70; + $73 = $9; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$7>>2]|0; + $80 = (_i64Add(($75|0),($78|0),($79|0),0)|0); + $81 = tempRet0; + $82 = (_i64Subtract(($80|0),($81|0),1,0)|0); + $83 = tempRet0; + $84 = HEAP32[$7>>2]|0; + $85 = (___divdi3(($82|0),($83|0),($84|0),0)|0); + $86 = tempRet0; + $87 = HEAP32[$3>>2]|0; + $88 = ((($87)) + 28|0); + HEAP32[$88>>2] = $85; + $89 = HEAP32[$7>>2]|0; + $90 = HEAP32[$3>>2]|0; + $91 = ((($90)) + 160|0); + HEAP32[$91>>2] = $89; break; - } - while(1) { - $108 = HEAP32[$rc>>2]|0; - $109 = ($108|0)==(0); - if (!($109)) { - break; - } - $110 = HEAP8[$bEof>>0]|0; - $111 = $110&255; - $112 = ($111|0)==(0); - if (!($112)) { - break; - } - $113 = HEAP32[$i>>2]|0; - $114 = (($a) + (($113*24)|0)|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)==(0); - if (!($116)) { - break; - } - $117 = HEAP32[$bDescDoclist>>2]|0; - $118 = ($117|0)!=(0); - $119 = $118 ? -1 : 1; - $120 = ($119|0)<(0); - $121 = $120 << 31 >> 31; - $122 = HEAP32[$i>>2]|0; - $123 = (($a) + (($122*24)|0)|0); - $124 = ((($123)) + 8|0); - $125 = $124; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = (($125) + 4)|0; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = $iMax; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = (_i64Subtract(($127|0),($130|0),($133|0),($136|0))|0); - $138 = tempRet0; - (___muldi3(($119|0),($121|0),($137|0),($138|0))|0); - $139 = tempRet0; - $140 = ($139|0)<(0); - if (!($140)) { - break; - } - $141 = HEAP32[$pTab>>2]|0; - $142 = HEAP32[$2>>2]|0; - $143 = HEAP32[$i>>2]|0; - $144 = HEAP32[$i>>2]|0; - $145 = (($a) + (($144*24)|0)|0); - $146 = (_incrPhraseTokenNext($141,$142,$143,$145,$bEof)|0); - HEAP32[$rc>>2] = $146; - $147 = HEAP32[$bDescDoclist>>2]|0; - $148 = ($147|0)!=(0); - $149 = $148 ? -1 : 1; - $150 = ($149|0)<(0); - $151 = $150 << 31 >> 31; - $152 = HEAP32[$i>>2]|0; - $153 = (($a) + (($152*24)|0)|0); - $154 = ((($153)) + 8|0); - $155 = $154; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = (($155) + 4)|0; - $159 = $158; - $160 = HEAP32[$159>>2]|0; - $161 = $iMax; - $162 = $161; - $163 = HEAP32[$162>>2]|0; - $164 = (($161) + 4)|0; - $165 = $164; - $166 = HEAP32[$165>>2]|0; - $167 = (_i64Subtract(($157|0),($160|0),($163|0),($166|0))|0); - $168 = tempRet0; - $169 = (___muldi3(($149|0),($151|0),($167|0),($168|0))|0); - $170 = tempRet0; - $171 = ($170|0)>(0); - $172 = ($169>>>0)>(0); - $173 = ($170|0)==(0); - $174 = $173 & $172; - $175 = $171 | $174; - if (!($175)) { - continue; - } - $176 = HEAP32[$i>>2]|0; - $177 = (($a) + (($176*24)|0)|0); - $178 = ((($177)) + 8|0); - $179 = $178; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $182 = (($179) + 4)|0; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = $iMax; - $186 = $185; - HEAP32[$186>>2] = $181; - $187 = (($185) + 4)|0; - $188 = $187; - HEAP32[$188>>2] = $184; - HEAP32[$i>>2] = 0; - } - $189 = HEAP32[$i>>2]|0; - $190 = (($189) + 1)|0; - HEAP32[$i>>2] = $190; - } - $191 = HEAP8[$bEof>>0]|0; - $192 = $191&255; - $193 = ($192|0)==(0); - if (!($193)) { - continue; - } - HEAP32[$nList>>2] = 0; - $194 = HEAP32[$2>>2]|0; - $195 = ((($194)) + 64|0); - $196 = HEAP32[$195>>2]|0; - $197 = (($196) - 1)|0; - $198 = (($a) + (($197*24)|0)|0); - $199 = ((($198)) + 20|0); - $200 = HEAP32[$199>>2]|0; - HEAP32[$nByte>>2] = $200; - $201 = HEAP32[$nByte>>2]|0; - $202 = (($201) + 1)|0; - $203 = (_sqlite3_malloc($202)|0); - HEAP32[$aDoclist>>2] = $203; - $204 = HEAP32[$aDoclist>>2]|0; - $205 = ($204|0)!=(0|0); - if (!($205)) { - break; - } - $206 = HEAP32[$aDoclist>>2]|0; - $207 = HEAP32[$2>>2]|0; - $208 = ((($207)) + 64|0); - $209 = HEAP32[$208>>2]|0; - $210 = (($209) - 1)|0; - $211 = (($a) + (($210*24)|0)|0); - $212 = ((($211)) + 16|0); - $213 = HEAP32[$212>>2]|0; - $214 = HEAP32[$nByte>>2]|0; - $215 = (($214) + 1)|0; - _memcpy(($206|0),($213|0),($215|0))|0; - HEAP32[$i>>2] = 0; - while(1) { - $216 = HEAP32[$i>>2]|0; - $217 = HEAP32[$2>>2]|0; - $218 = ((($217)) + 64|0); - $219 = HEAP32[$218>>2]|0; - $220 = (($219) - 1)|0; - $221 = ($216|0)<($220|0); - if (!($221)) { + } else { + $92 = HEAP32[$8>>2]|0; + _sqlite3PageFree($92); break; } - $222 = HEAP32[$i>>2]|0; - $223 = (($a) + (($222*24)|0)|0); - $224 = HEAP32[$223>>2]|0; - $225 = ($224|0)==(0); - if ($225) { - $226 = HEAP32[$i>>2]|0; - $227 = (($a) + (($226*24)|0)|0); - $228 = ((($227)) + 16|0); - $229 = HEAP32[$228>>2]|0; - HEAP32[$pL>>2] = $229; - $230 = HEAP32[$aDoclist>>2]|0; - HEAP32[$pR>>2] = $230; - $231 = HEAP32[$aDoclist>>2]|0; - HEAP32[$pOut>>2] = $231; - $232 = HEAP32[$2>>2]|0; - $233 = ((($232)) + 64|0); - $234 = HEAP32[$233>>2]|0; - $235 = (($234) - 1)|0; - $236 = HEAP32[$i>>2]|0; - $237 = (($235) - ($236))|0; - HEAP32[$nDist>>2] = $237; - $238 = HEAP32[$nDist>>2]|0; - $239 = (_fts3PoslistPhraseMerge($pOut,$238,0,1,$pL,$pR)|0); - HEAP32[$res>>2] = $239; - $240 = HEAP32[$res>>2]|0; - $241 = ($240|0)==(0); - if ($241) { - break; - } - $242 = HEAP32[$pOut>>2]|0; - $243 = HEAP32[$aDoclist>>2]|0; - $244 = $242; - $245 = $243; - $246 = (($244) - ($245))|0; - HEAP32[$nList>>2] = $246; - } - $247 = HEAP32[$i>>2]|0; - $248 = (($247) + 1)|0; - HEAP32[$i>>2] = $248; - } - $249 = HEAP32[$i>>2]|0; - $250 = HEAP32[$2>>2]|0; - $251 = ((($250)) + 64|0); - $252 = HEAP32[$251>>2]|0; - $253 = (($252) - 1)|0; - $254 = ($249|0)==($253|0); - if ($254) { - label = 35; - break; } - $275 = HEAP32[$aDoclist>>2]|0; - _sqlite3_free($275); - } - if ((label|0) == 35) { - $255 = $iMax; - $256 = $255; - $257 = HEAP32[$256>>2]|0; - $258 = (($255) + 4)|0; - $259 = $258; - $260 = HEAP32[$259>>2]|0; - $261 = HEAP32[$pDL>>2]|0; - $262 = ((($261)) + 16|0); - $263 = $262; - $264 = $263; - HEAP32[$264>>2] = $257; - $265 = (($263) + 4)|0; - $266 = $265; - HEAP32[$266>>2] = $260; - $267 = HEAP32[$aDoclist>>2]|0; - $268 = HEAP32[$pDL>>2]|0; - $269 = ((($268)) + 28|0); - HEAP32[$269>>2] = $267; - $270 = HEAP32[$nList>>2]|0; - $271 = HEAP32[$pDL>>2]|0; - $272 = ((($271)) + 32|0); - HEAP32[$272>>2] = $270; - $273 = HEAP32[$pDL>>2]|0; - $274 = ((($273)) + 24|0); - HEAP32[$274>>2] = 1; - break; } - HEAP32[$0>>2] = 7; - $279 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($279|0); } } while(0); - $276 = HEAP8[$bEof>>0]|0; - $277 = HEAP32[$3>>2]|0; - HEAP8[$277>>0] = $276; - $278 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $278; - $279 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($279|0); -} -function _fts3EvalDlPhraseNext($pTab,$pDL,$pbEof) { - $pTab = $pTab|0; - $pDL = $pDL|0; - $pbEof = $pbEof|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $iDelta = 0; - var $pEnd = 0, $pIter = 0, label = 0, sp = 0; + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 160|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$4>>2]|0; + HEAP32[$96>>2] = $95; + $97 = HEAP32[$6>>2]|0; + $98 = ($97|0)==(0); + if (!($98)) { + $110 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($110|0); + } + $99 = HEAP32[$5>>2]|0; + $100 = ($99|0)<(0); + if ($100) { + $101 = HEAP32[$3>>2]|0; + $102 = ((($101)) + 150|0); + $103 = HEAP16[$102>>1]|0; + $104 = $103 << 16 >> 16; + HEAP32[$5>>2] = $104; + } + $105 = HEAP32[$5>>2]|0; + $106 = $105&65535; + $107 = HEAP32[$3>>2]|0; + $108 = ((($107)) + 150|0); + HEAP16[$108>>1] = $106; + $109 = HEAP32[$3>>2]|0; + _pagerFixMaplimit($109); + $110 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($110|0); +} +function _sqlite3PcacheRefCount($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pIter = sp + 12|0; - $pEnd = sp + 8|0; - $iDelta = sp; - HEAP32[$0>>2] = $pTab; - HEAP32[$1>>2] = $pDL; - HEAP32[$2>>2] = $pbEof; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 4|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 12|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _sqlite3OsFileSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 24|0); $7 = HEAP32[$6>>2]|0; - $8 = (($7) + ($5)|0); - HEAP32[$pEnd>>2] = $8; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (FUNCTION_TABLE_iii[$7 & 255]($8,$9)|0); + STACKTOP = sp;return ($10|0); +} +function _sqlite3PageMalloc($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_pcache1Alloc($2)|0); + STACKTOP = sp;return ($3|0); +} +function _pager_reset($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 108|0); + $4 = HEAP32[$3>>2]|0; + $5 = (($4) + 1)|0; + HEAP32[$3>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 96|0); + $8 = HEAP32[$7>>2]|0; + _sqlite3BackupRestart($8); $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 8|0); + $10 = ((($9)) + 212|0); $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - $13 = HEAP32[$1>>2]|0; - if ($12) { - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$pIter>>2] = $15; - } else { - $16 = HEAP32[$13>>2]|0; - HEAP32[$pIter>>2] = $16; - } - $17 = HEAP32[$pIter>>2]|0; - $18 = HEAP32[$pEnd>>2]|0; - $19 = ($17>>>0)>=($18>>>0); - if ($19) { - $20 = HEAP32[$2>>2]|0; - HEAP8[$20>>0] = 1; - STACKTOP = sp;return; - } - $21 = HEAP32[$pIter>>2]|0; - $22 = (_sqlite3Fts3GetVarint($21,$iDelta)|0); - $23 = HEAP32[$pIter>>2]|0; - $24 = (($23) + ($22)|0); - HEAP32[$pIter>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 231|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = ($28|0)==(0); - if ($29) { - label = 8; - } else { - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 8|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==(0|0); - if ($33) { - label = 8; - } else { - $54 = $iDelta; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 16|0); - $62 = $61; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (_i64Subtract(($64|0),($67|0),($56|0),($59|0))|0); - $69 = tempRet0; - $70 = $61; - $71 = $70; - HEAP32[$71>>2] = $68; - $72 = (($70) + 4)|0; - $73 = $72; - HEAP32[$73>>2] = $69; + _sqlite3PcacheClear($11); + STACKTOP = sp;return; +} +function _sqlite3PcacheSetPageSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0); + if ($9) { + $10 = HEAP32[(132)>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 28|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + 40)|0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 32|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = (FUNCTION_TABLE_iiii[$10 & 255]($11,$15,$19)|0); + HEAP32[$5>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = ($21|0)==(0|0); + if ($22) { + HEAP32[$2>>2] = 7; + $41 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($41|0); + } + $23 = HEAP32[(136)>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = (_numberOfCachePages($25)|0); + FUNCTION_TABLE_vii[$23 & 255]($24,$26); + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 44|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0|0); + if ($30) { + $31 = HEAP32[(160)>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 44|0); + $34 = HEAP32[$33>>2]|0; + FUNCTION_TABLE_vi[$31 & 255]($34); } + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 44|0); + HEAP32[$37>>2] = $35; + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 24|0); + HEAP32[$40>>2] = $38; } - if ((label|0) == 8) { - $34 = $iDelta; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 16|0); - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (_i64Add(($44|0),($47|0),($36|0),($39|0))|0); - $49 = tempRet0; - $50 = $41; - $51 = $50; - HEAP32[$51>>2] = $48; - $52 = (($50) + 4)|0; - $53 = $52; - HEAP32[$53>>2] = $49; + HEAP32[$2>>2] = 0; + $41 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($41|0); +} +function _sqlite3PageFree($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _pcache1Free($2); + STACKTOP = sp;return; +} +function _pagerFixMaplimit($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + STACKTOP = sp;return; +} +function _numberOfCachePages($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, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 16|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)>=(0); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP32[$8>>2]|0; + if ($6) { + HEAP32[$1>>2] = $9; + $25 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($25|0); + } else { + $10 = ($9|0)<(0); + $11 = $10 << 31 >> 31; + $12 = (___muldi3(-1024,-1,($9|0),($11|0))|0); + $13 = tempRet0; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($16) + ($19))|0; + $21 = ($20|0)<(0); + $22 = $21 << 31 >> 31; + $23 = (___divdi3(($12|0),($13|0),($20|0),($22|0))|0); + $24 = tempRet0; + HEAP32[$1>>2] = $23; + $25 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($25|0); } - $74 = HEAP32[$pIter>>2]|0; - $75 = HEAP32[$1>>2]|0; - $76 = ((($75)) + 28|0); - HEAP32[$76>>2] = $74; - _fts3PoslistCopy(0,$pIter); - $77 = HEAP32[$pIter>>2]|0; - $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 28|0); - $80 = HEAP32[$79>>2]|0; - $81 = $77; - $82 = $80; - $83 = (($81) - ($82))|0; - $84 = HEAP32[$1>>2]|0; - $85 = ((($84)) + 32|0); - HEAP32[$85>>2] = $83; + return (0)|0; +} +function _sqlite3BackupRestart($0) { + $0 = $0|0; + var $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; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; while(1) { - $86 = HEAP32[$pIter>>2]|0; - $87 = HEAP32[$pEnd>>2]|0; - $88 = ($86>>>0)<($87>>>0); - if ($88) { - $89 = HEAP32[$pIter>>2]|0; - $90 = HEAP8[$89>>0]|0; - $91 = $90 << 24 >> 24; - $92 = ($91|0)==(0); - $98 = $92; - } else { - $98 = 0; - } - $93 = HEAP32[$pIter>>2]|0; - if (!($98)) { + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { break; } - $94 = ((($93)) + 1|0); - HEAP32[$pIter>>2] = $94; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 16|0); + HEAP32[$7>>2] = 1; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 44|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$2>>2] = $10; } - $95 = HEAP32[$1>>2]|0; - $96 = ((($95)) + 8|0); - HEAP32[$96>>2] = $93; - $97 = HEAP32[$2>>2]|0; - HEAP8[$97>>0] = 0; STACKTOP = sp;return; } -function _sqlite3Fts3MsrIncrNext($p,$pMsr,$piDocid,$paPoslist,$pnPoslist) { - $p = $p|0; - $pMsr = $pMsr|0; - $piDocid = $piDocid|0; - $paPoslist = $paPoslist|0; - $pnPoslist = $pnPoslist|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $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; - 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, $apSegment = 0, $iDocid = 0, $j = 0, $nList = 0; - var $nMerge = 0, $pList = 0, $pSeg = 0, $rc = 0, $xCmp = 0, label = 0, sp = 0; +function _sqlite3PcacheClear($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $5 = sp + 40|0; - $nMerge = sp + 36|0; - $apSegment = sp + 32|0; - $xCmp = sp + 28|0; - $pSeg = sp + 24|0; - $rc = sp + 20|0; - $pList = sp + 16|0; - $nList = sp + 12|0; - $j = sp + 8|0; - $iDocid = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pMsr; - HEAP32[$3>>2] = $piDocid; - HEAP32[$4>>2] = $paPoslist; - HEAP32[$5>>2] = $pnPoslist; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$nMerge>>2] = $8; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$apSegment>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 231|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)!=(0); - $16 = $15 ? 182 : 183; - HEAP32[$xCmp>>2] = $16; - $17 = HEAP32[$nMerge>>2]|0; - $18 = ($17|0)==(0); - if ($18) { - $19 = HEAP32[$4>>2]|0; - HEAP32[$19>>2] = 0; - HEAP32[$0>>2] = 0; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3PcacheTruncate($2,0); + STACKTOP = sp;return; +} +function _sqlite3PcacheTruncate($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; } + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $12; while(1) { - $20 = HEAP32[$2>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$21>>2]|0; - HEAP32[$pSeg>>2] = $22; - $23 = HEAP32[$pSeg>>2]|0; - $24 = ((($23)) + 80|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)==(0|0); - if ($26) { - label = 4; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { break; } - $28 = HEAP32[$apSegment>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 88|0); - $31 = $30; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = $iDocid; - $38 = $37; - HEAP32[$38>>2] = $33; - $39 = (($37) + 4)|0; - $40 = $39; - HEAP32[$40>>2] = $36; - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$apSegment>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = (_fts3SegReaderNextDocid($41,$43,$pList,$nList)|0); - HEAP32[$rc>>2] = $44; - HEAP32[$j>>2] = 1; - while(1) { - $45 = HEAP32[$rc>>2]|0; - $46 = ($45|0)==(0); - if (!($46)) { - break; - } - $47 = HEAP32[$j>>2]|0; - $48 = HEAP32[$nMerge>>2]|0; - $49 = ($47|0)<($48|0); - if (!($49)) { - break; - } - $50 = HEAP32[$j>>2]|0; - $51 = HEAP32[$apSegment>>2]|0; - $52 = (($51) + ($50<<2)|0); - $53 = HEAP32[$52>>2]|0; - $54 = ((($53)) + 80|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)!=(0|0); - if (!($56)) { - break; - } - $57 = HEAP32[$j>>2]|0; - $58 = HEAP32[$apSegment>>2]|0; - $59 = (($58) + ($57<<2)|0); - $60 = HEAP32[$59>>2]|0; - $61 = ((($60)) + 88|0); - $62 = $61; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = $iDocid; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = ($64|0)==($70|0); - $75 = ($67|0)==($73|0); - $76 = $74 & $75; - if (!($76)) { - break; - } - $77 = HEAP32[$1>>2]|0; - $78 = HEAP32[$j>>2]|0; - $79 = HEAP32[$apSegment>>2]|0; - $80 = (($79) + ($78<<2)|0); - $81 = HEAP32[$80>>2]|0; - $82 = (_fts3SegReaderNextDocid($77,$81,0,0)|0); - HEAP32[$rc>>2] = $82; - $83 = HEAP32[$j>>2]|0; - $84 = (($83) + 1)|0; - HEAP32[$j>>2] = $84; - } - $85 = HEAP32[$rc>>2]|0; - $86 = ($85|0)!=(0); - if ($86) { - label = 12; - break; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$5>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 20|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = ($20>>>0)>($21>>>0); + if ($22) { + $23 = HEAP32[$4>>2]|0; + _sqlite3PcacheMakeClean($23); } - $88 = HEAP32[$2>>2]|0; - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$nMerge>>2]|0; - $91 = HEAP32[$j>>2]|0; - $92 = HEAP32[$xCmp>>2]|0; - _fts3SegReaderSort($89,$90,$91,$92); - $93 = HEAP32[$nList>>2]|0; - $94 = ($93|0)>(0); - if ($94) { - $95 = HEAP32[$apSegment>>2]|0; - $96 = HEAP32[$95>>2]|0; - $97 = ((($96)) + 56|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)!=(0|0); - if ($99) { - $100 = HEAP32[$2>>2]|0; - $101 = HEAP32[$pList>>2]|0; - $102 = HEAP32[$nList>>2]|0; - $103 = (($102) + 1)|0; - $104 = (_fts3MsrBufferData($100,$101,$103)|0); - HEAP32[$rc>>2] = $104; - $105 = HEAP32[$rc>>2]|0; - $106 = ($105|0)!=(0); - if ($106) { - label = 16; - break; - } - $108 = HEAP32[$2>>2]|0; - $109 = ((($108)) + 16|0); - $110 = HEAP32[$109>>2]|0; - HEAP32[$pList>>2] = $110; + $24 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $24; + } + $25 = HEAP32[$3>>2]|0; + $26 = ($25|0)==(0); + if ($26) { + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[(144)>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 44|0); + $34 = HEAP32[$33>>2]|0; + $35 = (FUNCTION_TABLE_iiii[$31 & 255]($34,1,0)|0); + HEAP32[$6>>2] = $35; + $36 = HEAP32[$6>>2]|0; + $37 = ($36|0)!=(0|0); + if ($37) { + $38 = HEAP32[$6>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + _memset(($39|0),0,($42|0))|0; + HEAP32[$3>>2] = 1; } } - $111 = HEAP32[$2>>2]|0; - $112 = ((($111)) + 24|0); - $113 = HEAP32[$112>>2]|0; - $114 = ($113|0)>=(0); - if ($114) { - $115 = HEAP32[$2>>2]|0; - $116 = ((($115)) + 24|0); - $117 = HEAP32[$116>>2]|0; - _fts3ColumnFilter($117,1,$pList,$nList); - } - $118 = HEAP32[$nList>>2]|0; - $119 = ($118|0)>(0); - if ($119) { - label = 21; - break; - } - } - if ((label|0) == 4) { - $27 = HEAP32[$4>>2]|0; - HEAP32[$27>>2] = 0; - } - else if ((label|0) == 12) { - $87 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $87; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); } - else if ((label|0) == 16) { - $107 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $107; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); + $43 = HEAP32[(156)>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 44|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$3>>2]|0; + $48 = (($47) + 1)|0; + FUNCTION_TABLE_vii[$43 & 255]($46,$48); + STACKTOP = sp;return; +} +function _sqlite3PcacheMakeClean($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, $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; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 2; + $7 = ($6|0)!=(0); + if (!($7)) { + STACKTOP = sp;return; } - else if ((label|0) == 21) { - $120 = HEAP32[$pList>>2]|0; - $121 = HEAP32[$4>>2]|0; - HEAP32[$121>>2] = $120; - $122 = $iDocid; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = HEAP32[$3>>2]|0; - $129 = $128; - $130 = $129; - HEAP32[$130>>2] = $124; - $131 = (($129) + 4)|0; - $132 = $131; - HEAP32[$132>>2] = $127; - $133 = HEAP32[$nList>>2]|0; - $134 = HEAP32[$5>>2]|0; - HEAP32[$134>>2] = $133; + $8 = HEAP32[$1>>2]|0; + _pcacheManageDirtyList($8,1); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 24|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = $12 & -15; + $14 = $13&65535; + HEAP16[$10>>1] = $14; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 24|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = $18 | 1; + $20 = $19&65535; + HEAP16[$16>>1] = $20; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 26|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23 << 16 >> 16; + $25 = ($24|0)==(0); + if (!($25)) { + STACKTOP = sp;return; } - HEAP32[$0>>2] = 0; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); + $26 = HEAP32[$1>>2]|0; + _pcacheUnpin($26); + STACKTOP = sp;return; } -function _incrPhraseTokenNext($pTab,$pPhrase,$iToken,$p,$pbEof) { - $pTab = $pTab|0; - $pPhrase = $pPhrase|0; - $iToken = $iToken|0; - $p = $p|0; - $pbEof = $pbEof|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $7 = 0, $8 = 0, $9 = 0, $pToken = 0, $rc = 0, label = 0, sp = 0; +function _pcacheManageDirtyList($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $rc = sp + 4|0; - $pToken = sp; - HEAP32[$0>>2] = $pTab; - HEAP32[$1>>2] = $pPhrase; - HEAP32[$2>>2] = $iToken; - HEAP32[$3>>2] = $p; - HEAP32[$4>>2] = $pbEof; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 44|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP8[$3>>0] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 28|0); $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = ($7|0)==($8|0); - if ($9) { - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP8[$3>>0]|0; + $9 = $8&255; + $10 = $9 & 1; + $11 = ($10|0)!=(0); + if ($11) { $12 = HEAP32[$4>>2]|0; - _fts3EvalDlPhraseNext($10,$11,$12); - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = ((($16)) + 16|0); - HEAP32[$17>>2] = $15; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 32|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$3>>2]|0; - $22 = ((($21)) + 20|0); - HEAP32[$22>>2] = $20; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 16|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = ((($31)) + 8|0); - $33 = $32; - $34 = $33; - HEAP32[$34>>2] = $27; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = $30; - $62 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($62|0); - } - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 72|0); - $40 = (($39) + (($37*24)|0)|0); - HEAP32[$pToken>>2] = $40; - $41 = HEAP32[$pToken>>2]|0; - $42 = ((($41)) + 20|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)!=(0|0); - if (!($44)) { - $61 = HEAP32[$3>>2]|0; - HEAP32[$61>>2] = 1; - $62 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($62|0); + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = ($14|0)==($15|0); + if ($16) { + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 36|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 8|0); + HEAP32[$21>>2] = $19; + } + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 32|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)!=(0|0); + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 36|0); + $28 = HEAP32[$27>>2]|0; + if ($25) { + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 32|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 36|0); + $$sink = $32; + } else { + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 4|0); + $$sink = $34; + } + HEAP32[$$sink>>2] = $28; + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 36|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)!=(0|0); + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 32|0); + $41 = HEAP32[$40>>2]|0; + if ($38) { + $42 = HEAP32[$2>>2]|0; + $43 = ((($42)) + 36|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($44)) + 32|0); + HEAP32[$45>>2] = $41; + } else { + $46 = HEAP32[$4>>2]|0; + HEAP32[$46>>2] = $41; + $47 = HEAP32[$4>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==(0|0); + if ($49) { + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 33|0); + HEAP8[$51>>0] = 2; + } + } + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 32|0); + HEAP32[$53>>2] = 0; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 36|0); + HEAP32[$55>>2] = 0; } - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$pToken>>2]|0; - $47 = ((($46)) + 20|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$3>>2]|0; - $50 = ((($49)) + 8|0); - $51 = HEAP32[$3>>2]|0; - $52 = ((($51)) + 16|0); - $53 = HEAP32[$3>>2]|0; - $54 = ((($53)) + 20|0); - $55 = (_sqlite3Fts3MsrIncrNext($45,$48,$50,$52,$54)|0); - HEAP32[$rc>>2] = $55; - $56 = HEAP32[$3>>2]|0; - $57 = ((($56)) + 16|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0|0); + $56 = HEAP8[$3>>0]|0; + $57 = $56&255; + $58 = $57 & 2; + $59 = ($58|0)!=(0); if (!($59)) { - $62 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($62|0); + STACKTOP = sp;return; } $60 = HEAP32[$4>>2]|0; - HEAP8[$60>>0] = 1; - $62 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($62|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$2>>2]|0; + $63 = ((($62)) + 32|0); + HEAP32[$63>>2] = $61; + $64 = HEAP32[$2>>2]|0; + $65 = ((($64)) + 32|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)!=(0|0); + $68 = HEAP32[$2>>2]|0; + if ($67) { + $69 = HEAP32[$2>>2]|0; + $70 = ((($69)) + 32|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 36|0); + HEAP32[$72>>2] = $68; + } else { + $73 = HEAP32[$4>>2]|0; + $74 = ((($73)) + 4|0); + HEAP32[$74>>2] = $68; + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 32|0); + $77 = HEAP8[$76>>0]|0; + $78 = ($77<<24>>24)!=(0); + if ($78) { + $79 = HEAP32[$4>>2]|0; + $80 = ((($79)) + 33|0); + HEAP8[$80>>0] = 1; + } + } + $81 = HEAP32[$2>>2]|0; + $82 = HEAP32[$4>>2]|0; + HEAP32[$82>>2] = $81; + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 8|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)!=(0|0); + if ($86) { + STACKTOP = sp;return; + } + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 24|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89&65535; + $91 = $90 & 8; + $92 = (0)==($91|0); + if (!($92)) { + STACKTOP = sp;return; + } + $93 = HEAP32[$2>>2]|0; + $94 = HEAP32[$4>>2]|0; + $95 = ((($94)) + 8|0); + HEAP32[$95>>2] = $93; + STACKTOP = sp;return; } -function _fts3PoslistPhraseMerge($pp,$nToken,$isSaveLeft,$isExact,$pp1,$pp2) { - $pp = $pp|0; - $nToken = $nToken|0; - $isSaveLeft = $isSaveLeft|0; - $isExact = $isExact|0; - $pp1 = $pp1|0; - $pp2 = $pp2|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $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, $iCol1 = 0, $iCol2 = 0, $iPos1 = 0, $iPos2 = 0, $iPrev = 0, $iSave = 0, $p = 0, $p1 = 0, $p2 = 0, $pSave = 0, label = 0, sp = 0; +function _pcacheUnpin($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - $6 = sp + 56|0; - $p = sp + 52|0; - $p1 = sp + 48|0; - $p2 = sp + 44|0; - $iCol1 = sp + 40|0; - $iCol2 = sp + 36|0; - $pSave = sp + 32|0; - $iPrev = sp + 24|0; - $iPos1 = sp + 16|0; - $iPos2 = sp + 8|0; - $iSave = sp; - HEAP32[$1>>2] = $pp; - HEAP32[$2>>2] = $nToken; - HEAP32[$3>>2] = $isSaveLeft; - HEAP32[$4>>2] = $isExact; - HEAP32[$5>>2] = $pp1; - HEAP32[$6>>2] = $pp2; - $7 = HEAP32[$1>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 32|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)!=(0); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = HEAP32[(148)>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 28|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 44|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = HEAP32[$14>>2]|0; + FUNCTION_TABLE_viii[$8 & 255]($13,$15,0); + STACKTOP = sp;return; +} +function _sqlite3TempInMemory($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 68|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==(2); + $7 = $6&1; + STACKTOP = sp;return ($7|0); +} +function _sqlite3OsFullPathname($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; $8 = HEAP32[$7>>2]|0; - HEAP32[$p>>2] = $8; - $9 = HEAP32[$5>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$p1>>2] = $10; - $11 = HEAP32[$6>>2]|0; - $12 = HEAP32[$11>>2]|0; - HEAP32[$p2>>2] = $12; - HEAP32[$iCol1>>2] = 0; - HEAP32[$iCol2>>2] = 0; - $13 = HEAP32[$p1>>2]|0; - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = ($15|0)==(1); - if ($16) { - $17 = HEAP32[$p1>>2]|0; - $18 = ((($17)) + 1|0); - HEAP32[$p1>>2] = $18; - $19 = HEAP32[$p1>>2]|0; - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = $21 & 128; - $23 = ($22|0)!=(0); - $24 = HEAP32[$p1>>2]|0; - if ($23) { - $25 = (_sqlite3Fts3GetVarint32($24,$iCol1)|0); - $30 = $25; - } else { - $26 = HEAP8[$24>>0]|0; - $27 = $26&255; - HEAP32[$iCol1>>2] = $27; - $30 = 1; + HEAP8[$8>>0] = 0; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 36|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = (FUNCTION_TABLE_iiiii[$11 & 255]($12,$13,$14,$15)|0); + STACKTOP = sp;return ($16|0); +} +function _sqlite3PagerFilename($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0); + if ($5) { + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 16|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)!=(0); + if ($10) { + $14 = 55752; + STACKTOP = sp;return ($14|0); } - $28 = HEAP32[$p1>>2]|0; - $29 = (($28) + ($30)|0); - HEAP32[$p1>>2] = $29; } - $31 = HEAP32[$p2>>2]|0; - $32 = HEAP8[$31>>0]|0; - $33 = $32 << 24 >> 24; - $34 = ($33|0)==(1); - if ($34) { - $35 = HEAP32[$p2>>2]|0; - $36 = ((($35)) + 1|0); - HEAP32[$p2>>2] = $36; - $37 = HEAP32[$p2>>2]|0; - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = $39 & 128; - $41 = ($40|0)!=(0); - $42 = HEAP32[$p2>>2]|0; - if ($41) { - $43 = (_sqlite3Fts3GetVarint32($42,$iCol2)|0); - $48 = $43; - } else { - $44 = HEAP8[$42>>0]|0; - $45 = $44&255; - HEAP32[$iCol2>>2] = $45; - $48 = 1; - } - $46 = HEAP32[$p2>>2]|0; - $47 = (($46) + ($48)|0); - HEAP32[$p2>>2] = $47; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 176|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13; + STACKTOP = sp;return ($14|0); +} +function _sqlite3PagerVfs($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _pageReinit($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3PagerGetExtra($3)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)!=(0); + if (!($7)) { + STACKTOP = sp;return; } - while(1) { - $49 = HEAP32[$iCol1>>2]|0; - $50 = HEAP32[$iCol2>>2]|0; - $51 = ($49|0)==($50|0); - if (!($51)) { - $315 = HEAP32[$iCol1>>2]|0; - $316 = HEAP32[$iCol2>>2]|0; - $317 = ($315|0)<($316|0); - if ($317) { - _fts3ColumnlistCopy(0,$p1); - $318 = HEAP32[$p1>>2]|0; - $319 = HEAP8[$318>>0]|0; - $320 = $319 << 24 >> 24; - $321 = (0)==($320|0); - if ($321) { - break; + $8 = HEAP32[$2>>2]|0; + HEAP8[$8>>0] = 0; + $9 = HEAP32[$1>>2]|0; + $10 = (_sqlite3PagerPageRefcount($9)|0); + $11 = ($10|0)>(1); + if (!($11)) { + STACKTOP = sp;return; + } + $12 = HEAP32[$2>>2]|0; + (_btreeInitPage($12)|0); + STACKTOP = sp;return; +} +function _sqlite3PagerOpen($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $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, dest = 0, label = 0, sp = 0; + var src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $7 = sp + 96|0; + $8 = sp + 92|0; + $9 = sp + 88|0; + $10 = sp + 84|0; + $11 = sp + 80|0; + $12 = sp + 76|0; + $13 = sp + 72|0; + $14 = sp + 68|0; + $15 = sp + 64|0; + $16 = sp + 60|0; + $17 = sp + 56|0; + $18 = sp + 52|0; + $19 = sp + 48|0; + $20 = sp + 44|0; + $21 = sp + 40|0; + $22 = sp + 36|0; + $23 = sp + 32|0; + $24 = sp + 28|0; + $25 = sp + 24|0; + $26 = sp + 20|0; + $27 = sp + 16|0; + $28 = sp + 12|0; + $29 = sp + 8|0; + $30 = sp + 4|0; + $31 = sp; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + HEAP32[$18>>2] = 0; + HEAP32[$19>>2] = 0; + HEAP32[$20>>2] = 0; + HEAP32[$22>>2] = 0; + HEAP32[$23>>2] = 0; + $32 = HEAP32[$12>>2]|0; + $33 = $32 & 1; + $34 = ($33|0)==(0); + $35 = $34&1; + HEAP32[$24>>2] = $35; + $36 = (_sqlite3PcacheSize()|0); + HEAP32[$25>>2] = $36; + HEAP32[$26>>2] = 4096; + HEAP32[$27>>2] = 0; + HEAP32[$28>>2] = 0; + $37 = HEAP32[$8>>2]|0; + $38 = (_sqlite3JournalSize($37)|0); + $39 = (($38) + 7)|0; + $40 = $39 & -8; + HEAP32[$21>>2] = $40; + $41 = HEAP32[$9>>2]|0; + HEAP32[$41>>2] = 0; + $42 = HEAP32[$12>>2]|0; + $43 = $42 & 2; + $44 = ($43|0)!=(0); + do { + if ($44) { + HEAP32[$19>>2] = 1; + $45 = HEAP32[$10>>2]|0; + $46 = ($45|0)!=(0|0); + if ($46) { + $47 = HEAP32[$10>>2]|0; + $48 = HEAP8[$47>>0]|0; + $49 = $48 << 24 >> 24; + $50 = ($49|0)!=(0); + if ($50) { + $51 = HEAP32[$10>>2]|0; + $52 = (_sqlite3DbStrDup(0,$51)|0); + HEAP32[$22>>2] = $52; + $53 = HEAP32[$22>>2]|0; + $54 = ($53|0)==(0|0); + if (!($54)) { + $55 = HEAP32[$22>>2]|0; + $56 = (_sqlite3Strlen30($55)|0); + HEAP32[$23>>2] = $56; + HEAP32[$10>>2] = 0; + break; + } + HEAP32[$7>>2] = 7; + $401 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($401|0); } - $322 = HEAP32[$p1>>2]|0; - $323 = ((($322)) + 1|0); - HEAP32[$p1>>2] = $323; - $324 = HEAP32[$p1>>2]|0; - $325 = HEAP8[$324>>0]|0; - $326 = $325&255; - $327 = $326 & 128; - $328 = ($327|0)!=(0); - $329 = HEAP32[$p1>>2]|0; - if ($328) { - $330 = (_sqlite3Fts3GetVarint32($329,$iCol1)|0); - $335 = $330; - } else { - $331 = HEAP8[$329>>0]|0; - $332 = $331&255; - HEAP32[$iCol1>>2] = $332; - $335 = 1; - } - $333 = HEAP32[$p1>>2]|0; - $334 = (($333) + ($335)|0); - HEAP32[$p1>>2] = $334; - continue; - } else { - _fts3ColumnlistCopy(0,$p2); - $336 = HEAP32[$p2>>2]|0; - $337 = HEAP8[$336>>0]|0; - $338 = $337 << 24 >> 24; - $339 = (0)==($338|0); - if ($339) { + } + } + } while(0); + $57 = HEAP32[$10>>2]|0; + $58 = ($57|0)!=(0|0); + if ($58) { + $59 = HEAP32[$10>>2]|0; + $60 = HEAP8[$59>>0]|0; + $61 = $60 << 24 >> 24; + $62 = ($61|0)!=(0); + if ($62) { + $63 = HEAP32[$8>>2]|0; + $64 = ((($63)) + 8|0); + $65 = HEAP32[$64>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$23>>2] = $66; + $67 = HEAP32[$23>>2]|0; + $68 = $67<<1; + $69 = ($68|0)<(0); + $70 = $69 << 31 >> 31; + $71 = (_sqlite3DbMallocRaw(0,$68,$70)|0); + HEAP32[$22>>2] = $71; + $72 = HEAP32[$22>>2]|0; + $73 = ($72|0)==(0|0); + if ($73) { + HEAP32[$7>>2] = 7; + $401 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($401|0); + } + $74 = HEAP32[$22>>2]|0; + HEAP8[$74>>0] = 0; + $75 = HEAP32[$8>>2]|0; + $76 = HEAP32[$10>>2]|0; + $77 = HEAP32[$23>>2]|0; + $78 = HEAP32[$22>>2]|0; + $79 = (_sqlite3OsFullPathname($75,$76,$77,$78)|0); + HEAP32[$17>>2] = $79; + $80 = HEAP32[$22>>2]|0; + $81 = (_sqlite3Strlen30($80)|0); + HEAP32[$23>>2] = $81; + $82 = HEAP32[$10>>2]|0; + $83 = HEAP32[$10>>2]|0; + $84 = (_sqlite3Strlen30($83)|0); + $85 = (($84) + 1)|0; + $86 = (($82) + ($85)|0); + HEAP32[$27>>2] = $86; + HEAP32[$29>>2] = $86; + while(1) { + $87 = HEAP32[$29>>2]|0; + $88 = HEAP8[$87>>0]|0; + $89 = ($88<<24>>24)!=(0); + $90 = HEAP32[$29>>2]|0; + if (!($89)) { break; } - $340 = HEAP32[$p2>>2]|0; - $341 = ((($340)) + 1|0); - HEAP32[$p2>>2] = $341; - $342 = HEAP32[$p2>>2]|0; - $343 = HEAP8[$342>>0]|0; - $344 = $343&255; - $345 = $344 & 128; - $346 = ($345|0)!=(0); - $347 = HEAP32[$p2>>2]|0; - if ($346) { - $348 = (_sqlite3Fts3GetVarint32($347,$iCol2)|0); - $353 = $348; - } else { - $349 = HEAP8[$347>>0]|0; - $350 = $349&255; - HEAP32[$iCol2>>2] = $350; - $353 = 1; - } - $351 = HEAP32[$p2>>2]|0; - $352 = (($351) + ($353)|0); - HEAP32[$p2>>2] = $352; - continue; + $91 = (_sqlite3Strlen30($90)|0); + $92 = (($91) + 1)|0; + $93 = HEAP32[$29>>2]|0; + $94 = (($93) + ($92)|0); + HEAP32[$29>>2] = $94; + $95 = HEAP32[$29>>2]|0; + $96 = (_sqlite3Strlen30($95)|0); + $97 = (($96) + 1)|0; + $98 = HEAP32[$29>>2]|0; + $99 = (($98) + ($97)|0); + HEAP32[$29>>2] = $99; + } + $100 = ((($90)) + 1|0); + $101 = HEAP32[$27>>2]|0; + $102 = $100; + $103 = $101; + $104 = (($102) - ($103))|0; + HEAP32[$28>>2] = $104; + $105 = HEAP32[$17>>2]|0; + $106 = ($105|0)==(0); + if ($106) { + $107 = HEAP32[$23>>2]|0; + $108 = (($107) + 8)|0; + $109 = HEAP32[$8>>2]|0; + $110 = ((($109)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($108|0)>($111|0); + if ($112) { + $113 = (_sqlite3CantopenError(51006)|0); + HEAP32[$17>>2] = $113; + } + } + $114 = HEAP32[$17>>2]|0; + $115 = ($114|0)!=(0); + if ($115) { + $116 = HEAP32[$22>>2]|0; + _sqlite3DbFree(0,$116); + $117 = HEAP32[$17>>2]|0; + HEAP32[$7>>2] = $117; + $401 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($401|0); } } - $52 = HEAP32[$p>>2]|0; - HEAP32[$pSave>>2] = $52; - $53 = $iPrev; - $54 = $53; - HEAP32[$54>>2] = 0; - $55 = (($53) + 4)|0; - $56 = $55; - HEAP32[$56>>2] = 0; - $57 = $iPos1; - $58 = $57; - HEAP32[$58>>2] = 0; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = 0; - $61 = $iPos2; - $62 = $61; - HEAP32[$62>>2] = 0; - $63 = (($61) + 4)|0; - $64 = $63; - HEAP32[$64>>2] = 0; - $65 = HEAP32[$iCol1>>2]|0; - $66 = ($65|0)!=(0); - if ($66) { - $67 = HEAP32[$p>>2]|0; - $68 = ((($67)) + 1|0); - HEAP32[$p>>2] = $68; - HEAP8[$67>>0] = 1; - $69 = HEAP32[$p>>2]|0; - $70 = HEAP32[$iCol1>>2]|0; - $71 = ($70|0)<(0); - $72 = $71 << 31 >> 31; - $73 = (_sqlite3Fts3PutVarint($69,$70,$72)|0); - $74 = HEAP32[$p>>2]|0; - $75 = (($74) + ($73)|0); - HEAP32[$p>>2] = $75; - } - _fts3GetDeltaVarint($p1,$iPos1); - $76 = $iPos1; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = (($76) + 4)|0; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (_i64Subtract(($78|0),($81|0),2,0)|0); - $83 = tempRet0; - $84 = $iPos1; - $85 = $84; - HEAP32[$85>>2] = $82; - $86 = (($84) + 4)|0; - $87 = $86; - HEAP32[$87>>2] = $83; - _fts3GetDeltaVarint($p2,$iPos2); - $88 = $iPos2; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (_i64Subtract(($90|0),($93|0),2,0)|0); - $95 = tempRet0; - $96 = $iPos2; - $97 = $96; - HEAP32[$97>>2] = $94; - $98 = (($96) + 4)|0; - $99 = $98; - HEAP32[$99>>2] = $95; - while(1) { - $100 = $iPos2; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = $iPos1; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (($106) + 4)|0; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = HEAP32[$2>>2]|0; - $113 = ($112|0)<(0); - $114 = $113 << 31 >> 31; - $115 = (_i64Add(($108|0),($111|0),($112|0),($114|0))|0); - $116 = tempRet0; - $117 = ($102|0)==($115|0); - $118 = ($105|0)==($116|0); - $119 = $117 & $118; - if ($119) { - label = 19; - } else { - $120 = HEAP32[$4>>2]|0; - $121 = ($120|0)==(0); - if ($121) { - $122 = $iPos2; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = $iPos1; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = (($128) + 4)|0; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = ($127|0)>($133|0); - $135 = ($124>>>0)>($130>>>0); - $136 = ($127|0)==($133|0); - $137 = $136 & $135; - $138 = $134 | $137; - if ($138) { - $139 = $iPos2; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = (($139) + 4)|0; - $143 = $142; - $144 = HEAP32[$143>>2]|0; - $145 = $iPos1; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + 4)|0; - $149 = $148; - $150 = HEAP32[$149>>2]|0; - $151 = HEAP32[$2>>2]|0; - $152 = ($151|0)<(0); - $153 = $152 << 31 >> 31; - $154 = (_i64Add(($147|0),($150|0),($151|0),($153|0))|0); - $155 = tempRet0; - $156 = ($144|0)<($155|0); - $157 = ($141>>>0)<=($154>>>0); - $158 = ($144|0)==($155|0); - $159 = $158 & $157; - $160 = $156 | $159; - if ($160) { - label = 19; + } + $118 = HEAP32[$25>>2]|0; + $119 = (($118) + 7)|0; + $120 = $119 & -8; + $121 = (224 + ($120))|0; + $122 = HEAP32[$8>>2]|0; + $123 = ((($122)) + 4|0); + $124 = HEAP32[$123>>2]|0; + $125 = (($124) + 7)|0; + $126 = $125 & -8; + $127 = (($121) + ($126))|0; + $128 = HEAP32[$21>>2]|0; + $129 = $128<<1; + $130 = (($127) + ($129))|0; + $131 = HEAP32[$23>>2]|0; + $132 = (($130) + ($131))|0; + $133 = (($132) + 1)|0; + $134 = HEAP32[$28>>2]|0; + $135 = (($133) + ($134))|0; + $136 = HEAP32[$23>>2]|0; + $137 = (($135) + ($136))|0; + $138 = (($137) + 8)|0; + $139 = (($138) + 2)|0; + $140 = HEAP32[$23>>2]|0; + $141 = (($139) + ($140))|0; + $142 = (($141) + 4)|0; + $143 = (($142) + 2)|0; + $144 = (_sqlite3MallocZero($143,0)|0); + HEAP32[$15>>2] = $144; + $145 = HEAP32[$15>>2]|0; + $146 = ($145|0)!=(0|0); + if (!($146)) { + $147 = HEAP32[$22>>2]|0; + _sqlite3DbFree(0,$147); + HEAP32[$7>>2] = 7; + $401 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($401|0); + } + $148 = HEAP32[$15>>2]|0; + HEAP32[$16>>2] = $148; + $149 = HEAP32[$15>>2]|0; + $150 = ((($149)) + 224|0); + HEAP32[$15>>2] = $150; + $151 = HEAP32[$16>>2]|0; + $152 = ((($151)) + 212|0); + HEAP32[$152>>2] = $150; + $153 = HEAP32[$25>>2]|0; + $154 = (($153) + 7)|0; + $155 = $154 & -8; + $156 = HEAP32[$15>>2]|0; + $157 = (($156) + ($155)|0); + HEAP32[$15>>2] = $157; + $158 = HEAP32[$16>>2]|0; + $159 = ((($158)) + 64|0); + HEAP32[$159>>2] = $157; + $160 = HEAP32[$8>>2]|0; + $161 = ((($160)) + 4|0); + $162 = HEAP32[$161>>2]|0; + $163 = (($162) + 7)|0; + $164 = $163 & -8; + $165 = HEAP32[$15>>2]|0; + $166 = (($165) + ($164)|0); + HEAP32[$15>>2] = $166; + $167 = HEAP32[$16>>2]|0; + $168 = ((($167)) + 72|0); + HEAP32[$168>>2] = $166; + $169 = HEAP32[$21>>2]|0; + $170 = HEAP32[$15>>2]|0; + $171 = (($170) + ($169)|0); + HEAP32[$15>>2] = $171; + $172 = HEAP32[$16>>2]|0; + $173 = ((($172)) + 68|0); + HEAP32[$173>>2] = $171; + $174 = HEAP32[$21>>2]|0; + $175 = HEAP32[$15>>2]|0; + $176 = (($175) + ($174)|0); + HEAP32[$15>>2] = $176; + $177 = HEAP32[$16>>2]|0; + $178 = ((($177)) + 176|0); + HEAP32[$178>>2] = $176; + $179 = HEAP32[$22>>2]|0; + $180 = ($179|0)!=(0|0); + if ($180) { + $181 = HEAP32[$23>>2]|0; + $182 = (($181) + 1)|0; + $183 = HEAP32[$28>>2]|0; + $184 = (($182) + ($183))|0; + $185 = HEAP32[$15>>2]|0; + $186 = (($185) + ($184)|0); + HEAP32[$15>>2] = $186; + $187 = HEAP32[$16>>2]|0; + $188 = ((($187)) + 180|0); + HEAP32[$188>>2] = $186; + $189 = HEAP32[$16>>2]|0; + $190 = ((($189)) + 176|0); + $191 = HEAP32[$190>>2]|0; + $192 = HEAP32[$22>>2]|0; + $193 = HEAP32[$23>>2]|0; + _memcpy(($191|0),($192|0),($193|0))|0; + $194 = HEAP32[$28>>2]|0; + $195 = ($194|0)!=(0); + if ($195) { + $196 = HEAP32[$16>>2]|0; + $197 = ((($196)) + 176|0); + $198 = HEAP32[$197>>2]|0; + $199 = HEAP32[$23>>2]|0; + $200 = (($199) + 1)|0; + $201 = (($198) + ($200)|0); + $202 = HEAP32[$27>>2]|0; + $203 = HEAP32[$28>>2]|0; + _memcpy(($201|0),($202|0),($203|0))|0; + } + $204 = HEAP32[$16>>2]|0; + $205 = ((($204)) + 180|0); + $206 = HEAP32[$205>>2]|0; + $207 = HEAP32[$22>>2]|0; + $208 = HEAP32[$23>>2]|0; + _memcpy(($206|0),($207|0),($208|0))|0; + $209 = HEAP32[$16>>2]|0; + $210 = ((($209)) + 180|0); + $211 = HEAP32[$210>>2]|0; + $212 = HEAP32[$23>>2]|0; + $213 = (($211) + ($212)|0); + dest=$213; src=24985; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $214 = HEAP32[$16>>2]|0; + $215 = ((($214)) + 180|0); + $216 = HEAP32[$215>>2]|0; + $217 = HEAP32[$23>>2]|0; + $218 = (($217) + 8)|0; + $219 = (($218) + 1)|0; + $220 = (($216) + ($219)|0); + $221 = HEAP32[$16>>2]|0; + $222 = ((($221)) + 220|0); + HEAP32[$222>>2] = $220; + $223 = HEAP32[$16>>2]|0; + $224 = ((($223)) + 220|0); + $225 = HEAP32[$224>>2]|0; + $226 = HEAP32[$22>>2]|0; + $227 = HEAP32[$23>>2]|0; + _memcpy(($225|0),($226|0),($227|0))|0; + $228 = HEAP32[$16>>2]|0; + $229 = ((($228)) + 220|0); + $230 = HEAP32[$229>>2]|0; + $231 = HEAP32[$23>>2]|0; + $232 = (($230) + ($231)|0); + ;HEAP8[$232>>0]=HEAP8[24995>>0]|0;HEAP8[$232+1>>0]=HEAP8[24995+1>>0]|0;HEAP8[$232+2>>0]=HEAP8[24995+2>>0]|0;HEAP8[$232+3>>0]=HEAP8[24995+3>>0]|0;HEAP8[$232+4>>0]=HEAP8[24995+4>>0]|0; + $233 = HEAP32[$22>>2]|0; + _sqlite3DbFree(0,$233); + } + $234 = HEAP32[$8>>2]|0; + $235 = HEAP32[$16>>2]|0; + HEAP32[$235>>2] = $234; + $236 = HEAP32[$13>>2]|0; + $237 = HEAP32[$16>>2]|0; + $238 = ((($237)) + 152|0); + HEAP32[$238>>2] = $236; + $239 = HEAP32[$10>>2]|0; + $240 = ($239|0)!=(0|0); + do { + if ($240) { + $241 = HEAP32[$10>>2]|0; + $242 = HEAP8[$241>>0]|0; + $243 = $242 << 24 >> 24; + $244 = ($243|0)!=(0); + if ($244) { + HEAP32[$30>>2] = 0; + $245 = HEAP32[$8>>2]|0; + $246 = HEAP32[$16>>2]|0; + $247 = ((($246)) + 176|0); + $248 = HEAP32[$247>>2]|0; + $249 = HEAP32[$16>>2]|0; + $250 = ((($249)) + 64|0); + $251 = HEAP32[$250>>2]|0; + $252 = HEAP32[$13>>2]|0; + $253 = (_sqlite3OsOpen($245,$248,$251,$252,$30)|0); + HEAP32[$17>>2] = $253; + $254 = HEAP32[$30>>2]|0; + $255 = $254 & 1; + HEAP32[$20>>2] = $255; + $256 = HEAP32[$17>>2]|0; + $257 = ($256|0)==(0); + if ($257) { + $258 = HEAP32[$16>>2]|0; + $259 = ((($258)) + 64|0); + $260 = HEAP32[$259>>2]|0; + $261 = (_sqlite3OsDeviceCharacteristics($260)|0); + HEAP32[$31>>2] = $261; + $262 = HEAP32[$20>>2]|0; + $263 = ($262|0)!=(0); + do { + if (!($263)) { + $264 = HEAP32[$16>>2]|0; + _setSectorSize($264); + $265 = HEAP32[$26>>2]|0; + $266 = HEAP32[$16>>2]|0; + $267 = ((($266)) + 156|0); + $268 = HEAP32[$267>>2]|0; + $269 = ($265>>>0)<($268>>>0); + if ($269) { + $270 = HEAP32[$16>>2]|0; + $271 = ((($270)) + 156|0); + $272 = HEAP32[$271>>2]|0; + $273 = ($272>>>0)>(8192); + if ($273) { + HEAP32[$26>>2] = 8192; + break; + } else { + $274 = HEAP32[$16>>2]|0; + $275 = ((($274)) + 156|0); + $276 = HEAP32[$275>>2]|0; + HEAP32[$26>>2] = $276; + break; + } + } + } + } while(0); + $277 = HEAP32[$10>>2]|0; + $278 = (_sqlite3_uri_boolean($277,25001,0)|0); + $279 = $278&255; + $280 = HEAP32[$16>>2]|0; + $281 = ((($280)) + 14|0); + HEAP8[$281>>0] = $279; + $282 = HEAP32[$31>>2]|0; + $283 = $282 & 8192; + $284 = ($283|0)!=(0); + if (!($284)) { + $285 = HEAP32[$10>>2]|0; + $286 = (_sqlite3_uri_boolean($285,25008,0)|0); + $287 = ($286|0)!=(0); + if (!($287)) { + break; } } + $288 = HEAP32[$13>>2]|0; + $289 = $288 | 1; + HEAP32[$13>>2] = $289; + label = 36; } - } - if ((label|0) == 19) { - label = 0; - $161 = HEAP32[$3>>2]|0; - $162 = ($161|0)!=(0); - $163 = $iPos1; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - $166 = (($163) + 4)|0; - $167 = $166; - $168 = HEAP32[$167>>2]|0; - $169 = $iPos2; - $170 = $169; - $171 = HEAP32[$170>>2]|0; - $172 = (($169) + 4)|0; - $173 = $172; - $174 = HEAP32[$173>>2]|0; - $175 = $162 ? $165 : $171; - $176 = $162 ? $168 : $174; - $177 = $iSave; - $178 = $177; - HEAP32[$178>>2] = $175; - $179 = (($177) + 4)|0; - $180 = $179; - HEAP32[$180>>2] = $176; - $181 = $iSave; - $182 = $181; - $183 = HEAP32[$182>>2]|0; - $184 = (($181) + 4)|0; - $185 = $184; - $186 = HEAP32[$185>>2]|0; - $187 = (_i64Add(($183|0),($186|0),2,0)|0); - $188 = tempRet0; - _fts3PutDeltaVarint($p,$iPrev,$187,$188); - $189 = $iPrev; - $190 = $189; - $191 = HEAP32[$190>>2]|0; - $192 = (($189) + 4)|0; - $193 = $192; - $194 = HEAP32[$193>>2]|0; - $195 = (_i64Subtract(($191|0),($194|0),2,0)|0); - $196 = tempRet0; - $197 = $iPrev; - $198 = $197; - HEAP32[$198>>2] = $195; - $199 = (($197) + 4)|0; - $200 = $199; - HEAP32[$200>>2] = $196; - HEAP32[$pSave>>2] = 0; - } - $201 = HEAP32[$3>>2]|0; - $202 = ($201|0)!=(0); - if ($202) { - label = 22; } else { - $203 = $iPos2; - $204 = $203; - $205 = HEAP32[$204>>2]|0; - $206 = (($203) + 4)|0; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = $iPos1; - $210 = $209; - $211 = HEAP32[$210>>2]|0; - $212 = (($209) + 4)|0; - $213 = $212; - $214 = HEAP32[$213>>2]|0; - $215 = HEAP32[$2>>2]|0; - $216 = ($215|0)<(0); - $217 = $216 << 31 >> 31; - $218 = (_i64Add(($211|0),($214|0),($215|0),($217|0))|0); - $219 = tempRet0; - $220 = ($208|0)<($219|0); - $221 = ($205>>>0)<=($218>>>0); - $222 = ($208|0)==($219|0); - $223 = $222 & $221; - $224 = $220 | $223; - if (!($224)) { - label = 22; - } - } - if ((label|0) == 22) { - label = 0; - $225 = $iPos2; - $226 = $225; - $227 = HEAP32[$226>>2]|0; - $228 = (($225) + 4)|0; - $229 = $228; - $230 = HEAP32[$229>>2]|0; - $231 = $iPos1; - $232 = $231; - $233 = HEAP32[$232>>2]|0; - $234 = (($231) + 4)|0; - $235 = $234; - $236 = HEAP32[$235>>2]|0; - $237 = ($230|0)<($236|0); - $238 = ($227>>>0)<=($233>>>0); - $239 = ($230|0)==($236|0); - $240 = $239 & $238; - $241 = $237 | $240; - if (!($241)) { - $259 = HEAP32[$p1>>2]|0; - $260 = HEAP8[$259>>0]|0; - $261 = $260 << 24 >> 24; - $262 = $261 & 254; - $263 = ($262|0)==(0); - if ($263) { - break; - } - _fts3GetDeltaVarint($p1,$iPos1); - $264 = $iPos1; - $265 = $264; - $266 = HEAP32[$265>>2]|0; - $267 = (($264) + 4)|0; - $268 = $267; - $269 = HEAP32[$268>>2]|0; - $270 = (_i64Subtract(($266|0),($269|0),2,0)|0); - $271 = tempRet0; - $272 = $iPos1; - $273 = $272; - HEAP32[$273>>2] = $270; - $274 = (($272) + 4)|0; - $275 = $274; - HEAP32[$275>>2] = $271; - continue; - } - } - $242 = HEAP32[$p2>>2]|0; - $243 = HEAP8[$242>>0]|0; - $244 = $243 << 24 >> 24; - $245 = $244 & 254; - $246 = ($245|0)==(0); - if ($246) { - break; + label = 36; } - _fts3GetDeltaVarint($p2,$iPos2); - $247 = $iPos2; - $248 = $247; - $249 = HEAP32[$248>>2]|0; - $250 = (($247) + 4)|0; - $251 = $250; - $252 = HEAP32[$251>>2]|0; - $253 = (_i64Subtract(($249|0),($252|0),2,0)|0); - $254 = tempRet0; - $255 = $iPos2; - $256 = $255; - HEAP32[$256>>2] = $253; - $257 = (($255) + 4)|0; - $258 = $257; - HEAP32[$258>>2] = $254; - } - $276 = HEAP32[$pSave>>2]|0; - $277 = ($276|0)!=(0|0); - if ($277) { - $278 = HEAP32[$pSave>>2]|0; - HEAP32[$p>>2] = $278; - } - _fts3ColumnlistCopy(0,$p1); - _fts3ColumnlistCopy(0,$p2); - $279 = HEAP32[$p1>>2]|0; - $280 = HEAP8[$279>>0]|0; - $281 = $280 << 24 >> 24; - $282 = (0)==($281|0); - if ($282) { - break; - } - $283 = HEAP32[$p2>>2]|0; - $284 = HEAP8[$283>>0]|0; - $285 = $284 << 24 >> 24; - $286 = (0)==($285|0); - if ($286) { - break; - } - $287 = HEAP32[$p1>>2]|0; - $288 = ((($287)) + 1|0); - HEAP32[$p1>>2] = $288; - $289 = HEAP32[$p1>>2]|0; - $290 = HEAP8[$289>>0]|0; - $291 = $290&255; - $292 = $291 & 128; - $293 = ($292|0)!=(0); - $294 = HEAP32[$p1>>2]|0; - if ($293) { - $295 = (_sqlite3Fts3GetVarint32($294,$iCol1)|0); - $300 = $295; - } else { - $296 = HEAP8[$294>>0]|0; - $297 = $296&255; - HEAP32[$iCol1>>2] = $297; - $300 = 1; - } - $298 = HEAP32[$p1>>2]|0; - $299 = (($298) + ($300)|0); - HEAP32[$p1>>2] = $299; - $301 = HEAP32[$p2>>2]|0; - $302 = ((($301)) + 1|0); - HEAP32[$p2>>2] = $302; - $303 = HEAP32[$p2>>2]|0; - $304 = HEAP8[$303>>0]|0; - $305 = $304&255; - $306 = $305 & 128; - $307 = ($306|0)!=(0); - $308 = HEAP32[$p2>>2]|0; - if ($307) { - $309 = (_sqlite3Fts3GetVarint32($308,$iCol2)|0); - $314 = $309; } else { - $310 = HEAP8[$308>>0]|0; - $311 = $310&255; - HEAP32[$iCol2>>2] = $311; - $314 = 1; - } - $312 = HEAP32[$p2>>2]|0; - $313 = (($312) + ($314)|0); - HEAP32[$p2>>2] = $313; - } - _fts3PoslistCopy(0,$p2); - _fts3PoslistCopy(0,$p1); - $354 = HEAP32[$p1>>2]|0; - $355 = HEAP32[$5>>2]|0; - HEAP32[$355>>2] = $354; - $356 = HEAP32[$p2>>2]|0; - $357 = HEAP32[$6>>2]|0; - HEAP32[$357>>2] = $356; - $358 = HEAP32[$1>>2]|0; - $359 = HEAP32[$358>>2]|0; - $360 = HEAP32[$p>>2]|0; - $361 = ($359|0)==($360|0); - if ($361) { - HEAP32[$0>>2] = 0; - $366 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($366|0); + label = 36; + } + } while(0); + if ((label|0) == 36) { + HEAP32[$18>>2] = 1; + $290 = HEAP32[$16>>2]|0; + $291 = ((($290)) + 17|0); + HEAP8[$291>>0] = 1; + $292 = HEAP32[$16>>2]|0; + $293 = ((($292)) + 18|0); + HEAP8[$293>>0] = 4; + $294 = HEAP32[$16>>2]|0; + $295 = ((($294)) + 14|0); + HEAP8[$295>>0] = 1; + $296 = HEAP32[$13>>2]|0; + $297 = $296 & 1; + HEAP32[$20>>2] = $297; + } + $298 = HEAP32[$17>>2]|0; + $299 = ($298|0)==(0); + if ($299) { + $300 = HEAP32[$16>>2]|0; + $301 = (_sqlite3PagerSetPagesize($300,$26,-1)|0); + HEAP32[$17>>2] = $301; + } + $302 = HEAP32[$17>>2]|0; + $303 = ($302|0)==(0); + if ($303) { + $304 = HEAP32[$11>>2]|0; + $305 = (($304) + 7)|0; + $306 = $305 & -8; + HEAP32[$11>>2] = $306; + $307 = HEAP32[$26>>2]|0; + $308 = HEAP32[$11>>2]|0; + $309 = HEAP32[$19>>2]|0; + $310 = ($309|0)!=(0); + $311 = $310 ^ 1; + $312 = $311&1; + $313 = HEAP32[$19>>2]|0; + $314 = ($313|0)!=(0); + $315 = $314 ^ 1; + $316 = $315 ? 192 : 0; + $317 = HEAP32[$16>>2]|0; + $318 = HEAP32[$16>>2]|0; + $319 = ((($318)) + 212|0); + $320 = HEAP32[$319>>2]|0; + $321 = (_sqlite3PcacheOpen($307,$308,$312,$316,$317,$320)|0); + HEAP32[$17>>2] = $321; + } + $322 = HEAP32[$17>>2]|0; + $323 = ($322|0)!=(0); + if ($323) { + $324 = HEAP32[$16>>2]|0; + $325 = ((($324)) + 64|0); + $326 = HEAP32[$325>>2]|0; + _sqlite3OsClose($326); + $327 = HEAP32[$16>>2]|0; + $328 = ((($327)) + 208|0); + $329 = HEAP32[$328>>2]|0; + _sqlite3PageFree($329); + $330 = HEAP32[$16>>2]|0; + _sqlite3_free($330); + $331 = HEAP32[$17>>2]|0; + HEAP32[$7>>2] = $331; + $401 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($401|0); + } + $332 = HEAP32[$24>>2]|0; + $333 = $332&255; + $334 = HEAP32[$16>>2]|0; + $335 = ((($334)) + 6|0); + HEAP8[$335>>0] = $333; + $336 = HEAP32[$16>>2]|0; + $337 = ((($336)) + 164|0); + HEAP32[$337>>2] = 1073741823; + $338 = HEAP32[$18>>2]|0; + $339 = $338&255; + $340 = HEAP32[$16>>2]|0; + $341 = ((($340)) + 13|0); + HEAP8[$341>>0] = $339; + $342 = HEAP32[$18>>2]|0; + $343 = $342&255; + $344 = HEAP32[$16>>2]|0; + $345 = ((($344)) + 4|0); + HEAP8[$345>>0] = $343; + $346 = HEAP32[$16>>2]|0; + $347 = ((($346)) + 13|0); + $348 = HEAP8[$347>>0]|0; + $349 = HEAP32[$16>>2]|0; + $350 = ((($349)) + 19|0); + HEAP8[$350>>0] = $348; + $351 = HEAP32[$19>>2]|0; + $352 = $351&255; + $353 = HEAP32[$16>>2]|0; + $354 = ((($353)) + 16|0); + HEAP8[$354>>0] = $352; + $355 = HEAP32[$20>>2]|0; + $356 = $355&255; + $357 = HEAP32[$16>>2]|0; + $358 = ((($357)) + 15|0); + HEAP8[$358>>0] = $356; + $359 = HEAP32[$16>>2]|0; + $360 = ((($359)) + 13|0); + $361 = HEAP8[$360>>0]|0; + $362 = HEAP32[$16>>2]|0; + $363 = ((($362)) + 7|0); + HEAP8[$363>>0] = $361; + $364 = HEAP32[$16>>2]|0; + $365 = ((($364)) + 7|0); + $366 = HEAP8[$365>>0]|0; + $367 = ($366<<24>>24)!=(0); + if (!($367)) { + $368 = HEAP32[$16>>2]|0; + $369 = ((($368)) + 8|0); + HEAP8[$369>>0] = 1; + $370 = HEAP32[$16>>2]|0; + $371 = ((($370)) + 9|0); + HEAP8[$371>>0] = 0; + $372 = HEAP32[$16>>2]|0; + $373 = ((($372)) + 12|0); + HEAP8[$373>>0] = 2; + $374 = HEAP32[$16>>2]|0; + $375 = ((($374)) + 11|0); + HEAP8[$375>>0] = 34; + $376 = HEAP32[$16>>2]|0; + $377 = ((($376)) + 10|0); + HEAP8[$377>>0] = 2; + } + $378 = HEAP32[$11>>2]|0; + $379 = $378&65535; + $380 = HEAP32[$16>>2]|0; + $381 = ((($380)) + 148|0); + HEAP16[$381>>1] = $379; + $382 = HEAP32[$16>>2]|0; + $383 = ((($382)) + 168|0); + $384 = $383; + $385 = $384; + HEAP32[$385>>2] = -1; + $386 = (($384) + 4)|0; + $387 = $386; + HEAP32[$387>>2] = -1; + $388 = HEAP32[$16>>2]|0; + _setSectorSize($388); + $389 = HEAP32[$24>>2]|0; + $390 = ($389|0)!=(0); + if ($390) { + $392 = HEAP32[$19>>2]|0; + $393 = ($392|0)!=(0); + if ($393) { + $394 = HEAP32[$16>>2]|0; + $$sink = 4;$$sink2 = $394; + label = 49; + } } else { - $362 = HEAP32[$p>>2]|0; - $363 = ((($362)) + 1|0); - HEAP32[$p>>2] = $363; - HEAP8[$362>>0] = 0; - $364 = HEAP32[$p>>2]|0; - $365 = HEAP32[$1>>2]|0; - HEAP32[$365>>2] = $364; - HEAP32[$0>>2] = 1; - $366 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($366|0); - } - return (0)|0; -} -function _fts3GetDeltaVarint($pp,$pVal) { - $pp = $pp|0; - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iVal = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $iVal = sp; - HEAP32[$0>>2] = $pp; - HEAP32[$1>>2] = $pVal; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3Fts3GetVarint($3,$iVal)|0); - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($4)|0); - HEAP32[$5>>2] = $7; - $8 = $iVal; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (_i64Add(($17|0),($20|0),($10|0),($13|0))|0); - $22 = tempRet0; - $23 = $14; - $24 = $23; - HEAP32[$24>>2] = $21; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = $22; - STACKTOP = sp;return; + $391 = HEAP32[$16>>2]|0; + $$sink = 2;$$sink2 = $391; + label = 49; + } + if ((label|0) == 49) { + $395 = ((($$sink2)) + 5|0); + HEAP8[$395>>0] = $$sink; + } + $396 = HEAP32[$14>>2]|0; + $397 = HEAP32[$16>>2]|0; + $398 = ((($397)) + 204|0); + HEAP32[$398>>2] = $396; + $399 = HEAP32[$16>>2]|0; + $400 = HEAP32[$9>>2]|0; + HEAP32[$400>>2] = $399; + HEAP32[$7>>2] = 0; + $401 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($401|0); } -function _fts3PutDeltaVarint($pp,$piPrev,$0,$1) { - $pp = $pp|0; - $piPrev = $piPrev|0; +function _sqlite3PagerSetMmapLimit($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 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, $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 + 12|0; $3 = sp + 8|0; $4 = sp; - HEAP32[$2>>2] = $pp; - HEAP32[$3>>2] = $piPrev; + HEAP32[$3>>2] = $0; $5 = $4; $6 = $5; - HEAP32[$6>>2] = $0; + HEAP32[$6>>2] = $1; $7 = (($5) + 4)|0; $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$2>>2]|0; + HEAP32[$8>>2] = $2; + $9 = $4; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 136|0); + $17 = $16; + $18 = $17; + HEAP32[$18>>2] = $11; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $14; + $21 = HEAP32[$3>>2]|0; + _pagerFixMaplimit($21); + STACKTOP = sp;return; +} +function _sqlite3PagerReadFileheader($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $7 = HEAP32[$5>>2]|0; + $8 = HEAP32[$4>>2]|0; + _memset(($7|0),0,($8|0))|0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 64|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + $22 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($22|0); + } + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 64|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = (_sqlite3OsRead($16,$17,$18,0,0)|0); + HEAP32[$6>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = ($20|0)==(522); + $$ = $21 ? 0 : $19; + HEAP32[$6>>2] = $$; + $22 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($22|0); +} +function _btreeInvokeBusyHandler($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 380|0); + $8 = (_sqlite3InvokeBusyHandler($7)|0); + STACKTOP = sp;return ($8|0); +} +function _sqlite3PagerSetBusyhandler($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 184|0); + HEAP32[$9>>2] = $7; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 188|0); + HEAP32[$12>>2] = $10; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 64|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + STACKTOP = sp;return; + } + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 184|0); + HEAP32[$6>>2] = $19; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 64|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$6>>2]|0; + _sqlite3OsFileControlHint($22,15,$23); + STACKTOP = sp;return; +} +function _sqlite3PagerIsreadonly($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 15|0); + $4 = HEAP8[$3>>0]|0; + STACKTOP = sp;return ($4|0); +} +function _sqlite3Get4byte($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = $4 << 24; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 << 16; + $11 = $5 | $10; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = $15 << 8; + $17 = $11 | $16; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 3|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $17 | $21; + STACKTOP = sp;return ($22|0); +} +function _sqlite3PagerClose($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 208|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + _sqlite3BeginBenignMalloc(); + $6 = HEAP32[$1>>2]|0; + _pagerFreeMapHdrs($6); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 4|0); + HEAP8[$8>>0] = 0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 216|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 10|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 160|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$2>>2]|0; + (_sqlite3WalClose($11,$15,$18,$19)|0); + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 216|0); + HEAP32[$21>>2] = 0; + $22 = HEAP32[$1>>2]|0; + _pager_reset($22); + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)!=(0); + $27 = HEAP32[$1>>2]|0; + if ($26) { + _pager_unlock($27); + } else { + $28 = ((($27)) + 68|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$1>>2]|0; + $33 = HEAP32[$1>>2]|0; + $34 = (_pagerSyncHotJournal($33)|0); + (_pager_error($32,$34)|0); + } + $35 = HEAP32[$1>>2]|0; + _pagerUnlockAndRollback($35); + } + _sqlite3EndBenignMalloc(); + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 68|0); + $38 = HEAP32[$37>>2]|0; + _sqlite3OsClose($38); + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 64|0); + $41 = HEAP32[$40>>2]|0; + _sqlite3OsClose($41); + $42 = HEAP32[$2>>2]|0; + _sqlite3PageFree($42); + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 212|0); + $45 = HEAP32[$44>>2]|0; + _sqlite3PcacheClose($45); + $46 = HEAP32[$1>>2]|0; + _sqlite3_free($46); + STACKTOP = sp;return 0; +} +function _sqlite3BtreeSchema($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($10); + $11 = HEAP32[$6>>2]|0; + $12 = ((($11)) + 48|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0|0); + $15 = HEAP32[$4>>2]|0; + $16 = ($15|0)!=(0); + $or$cond = $14 & $16; + if (!($or$cond)) { + $26 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($26); + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 48|0); + $29 = HEAP32[$28>>2]|0; + STACKTOP = sp;return ($29|0); + } + $17 = HEAP32[$4>>2]|0; + $18 = ($17|0)<(0); + $19 = $18 << 31 >> 31; + $20 = (_sqlite3DbMallocZero(0,$17,$19)|0); + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 48|0); + HEAP32[$22>>2] = $20; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 52|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($26); + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 48|0); + $29 = HEAP32[$28>>2]|0; + STACKTOP = sp;return ($29|0); +} +function _sqlite3PagerSetCachesize($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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 212|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + _sqlite3PcacheSetCachesize($6,$7); + STACKTOP = sp;return; +} +function _sqlite3PcacheSetCachesize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 16|0); + HEAP32[$6>>2] = $4; + $7 = HEAP32[(136)>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 44|0); $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = (_numberOfCachePages($11)|0); + FUNCTION_TABLE_vii[$7 & 255]($10,$12); + STACKTOP = sp;return; +} +function _sqlite3DbMallocZero($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, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = HEAP32[$3>>2]|0; $11 = $4; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = (($11) + 4)|0; $15 = $14; $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = $17; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (($18) + 4)|0; + $17 = (_sqlite3DbMallocRaw($10,$13,$16)|0); + HEAP32[$5>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + $27 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($27|0); + } + $20 = HEAP32[$5>>2]|0; + $21 = $4; $22 = $21; $23 = HEAP32[$22>>2]|0; - $24 = (_i64Subtract(($13|0),($16|0),($20|0),($23|0))|0); - $25 = tempRet0; - $26 = (_sqlite3Fts3PutVarint($10,$24,$25)|0); - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + ($26)|0); - HEAP32[$27>>2] = $29; - $30 = $4; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$3>>2]|0; - $37 = $36; - $38 = $37; - HEAP32[$38>>2] = $32; - $39 = (($37) + 4)|0; - $40 = $39; - HEAP32[$40>>2] = $35; - STACKTOP = sp;return; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + _memset(($20|0),0,($23|0))|0; + $27 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($27|0); } -function _sqlite3Fts3MsrIncrRestart($pCsr) { - $pCsr = $pCsr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; +function _pagerFreeMapHdrs($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pCsr; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - HEAP32[$2>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 28|0); - HEAP32[$4>>2] = 1; - HEAP32[$i>>2] = 0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 144|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($5|0)<($8|0); - if (!($9)) { + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { break; } - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($10<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 80|0); - HEAP32[$15>>2] = 0; - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($16<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($20)) + 84|0); - HEAP32[$21>>2] = 0; - $22 = HEAP32[$i>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($22<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = ((($26)) + 88|0); - $28 = $27; - $29 = $28; - HEAP32[$29>>2] = 0; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = 0; - $32 = HEAP32[$i>>2]|0; - $33 = (($32) + 1)|0; - HEAP32[$i>>2] = $33; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $11; + $12 = HEAP32[$2>>2]|0; + _sqlite3_free($12); + $13 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $13; } - STACKTOP = sp;return 0; + STACKTOP = sp;return; } -function _fts3EvalPhraseStart($pCsr,$bOptOk,$p) { - $pCsr = $pCsr|0; - $bOptOk = $bOptOk|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $bHaveIncr = 0, $bIncrOk = 0, $i = 0, $iCol = 0, $or$cond = 0, $pSegcsr = 0, $pTab = 0, $pToken = 0, $pToken1 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3WalClose($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $pTab = sp + 32|0; - $rc = sp + 28|0; - $i = sp + 24|0; - $bHaveIncr = sp + 20|0; - $bIncrOk = sp + 16|0; - $pToken = sp + 12|0; - $iCol = sp + 8|0; - $pToken1 = sp + 4|0; - $pSegcsr = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $bOptOk; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pTab>>2] = $4; - HEAP32[$rc>>2] = 0; - HEAP32[$bHaveIncr>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 52|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = HEAP32[$pTab>>2]|0; - $12 = ((($11)) + 231|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($10|0)==($14|0); - if ($15) { - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 64|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)<=(4); - if ($19) { - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 64|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)>(0); - $25 = $23; - } else { - $25 = 0; - } - } else { - $25 = 0; - } - } else { - $25 = 0; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + $68 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($68|0); } - $24 = $25&1; - HEAP32[$bIncrOk>>2] = $24; - HEAP32[$i>>2] = 0; - while(1) { - $26 = HEAP32[$bIncrOk>>2]|0; - $27 = ($26|0)==(1); - if (!($27)) { - break; - } - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 64|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($28|0)<($31|0); - if (!($32)) { - break; - } - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 72|0); - $36 = (($35) + (($33*24)|0)|0); - HEAP32[$pToken>>2] = $36; - $37 = HEAP32[$pToken>>2]|0; - $38 = ((($37)) + 12|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)!=(0); - if ($40) { - label = 11; - } else { - $41 = HEAP32[$pToken>>2]|0; - $42 = ((($41)) + 20|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)!=(0|0); - if ($44) { - $45 = HEAP32[$pToken>>2]|0; - $46 = ((($45)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = ((($47)) + 36|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)!=(0); - if (!($50)) { - label = 11; + HEAP32[$9>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3OsLock($15,4)|0); + HEAP32[$8>>2] = $16; + $17 = HEAP32[$8>>2]|0; + $18 = ($17|0)==(0); + do { + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 43|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)==(0); + if ($23) { + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 43|0); + HEAP8[$25>>0] = 1; + } + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = (_sqlite3WalCheckpoint($26,0,0,0,$27,$28,$29,0,0)|0); + HEAP32[$8>>2] = $30; + $31 = HEAP32[$8>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + HEAP32[$10>>2] = -1; + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + _sqlite3OsFileControlHint($35,10,$10); + $36 = HEAP32[$10>>2]|0; + $37 = ($36|0)!=(1); + if ($37) { + HEAP32[$9>>2] = 1; + break; + } + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 16|0); + $40 = $39; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)>(0); + $47 = ($42>>>0)>=(0); + $48 = ($45|0)==(0); + $49 = $48 & $47; + $50 = $46 | $49; + if ($50) { + $51 = HEAP32[$4>>2]|0; + _walLimitSize($51,0,0); } } } - if ((label|0) == 11) { - label = 0; - HEAP32[$bIncrOk>>2] = 0; - } - $51 = HEAP32[$pToken>>2]|0; - $52 = ((($51)) + 20|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)!=(0|0); - if ($54) { - HEAP32[$bHaveIncr>>2] = 1; - } - $55 = HEAP32[$i>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$i>>2] = $56; - } - $57 = HEAP32[$bIncrOk>>2]|0; + } while(0); + $52 = HEAP32[$4>>2]|0; + $53 = HEAP32[$9>>2]|0; + _walIndexClose($52,$53); + $54 = HEAP32[$4>>2]|0; + $55 = ((($54)) + 8|0); + $56 = HEAP32[$55>>2]|0; + _sqlite3OsClose($56); + $57 = HEAP32[$9>>2]|0; $58 = ($57|0)!=(0); - $59 = HEAP32[$bHaveIncr>>2]|0; - $60 = ($59|0)!=(0); - $or$cond = $58 & $60; - if (!($or$cond)) { - $101 = HEAP32[$0>>2]|0; - $102 = HEAP32[$2>>2]|0; - $103 = (_fts3EvalPhraseLoad($101,$102)|0); - HEAP32[$rc>>2] = $103; - $104 = HEAP32[$2>>2]|0; - $105 = ((($104)) + 40|0); - HEAP32[$105>>2] = 0; - $106 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($106|0); + if ($58) { + _sqlite3BeginBenignMalloc(); + $59 = HEAP32[$4>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$4>>2]|0; + $62 = ((($61)) + 108|0); + $63 = HEAP32[$62>>2]|0; + (_sqlite3OsDelete($60,$63,0)|0); + _sqlite3EndBenignMalloc(); } - $61 = HEAP32[$2>>2]|0; - $62 = ((($61)) + 68|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$pTab>>2]|0; - $65 = ((($64)) + 24|0); + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 32|0); $66 = HEAP32[$65>>2]|0; - $67 = ($63|0)>=($66|0); - if ($67) { - $71 = -1; - } else { - $68 = HEAP32[$2>>2]|0; - $69 = ((($68)) + 68|0); - $70 = HEAP32[$69>>2]|0; - $71 = $70; - } - HEAP32[$iCol>>2] = $71; - HEAP32[$i>>2] = 0; - while(1) { - $72 = HEAP32[$rc>>2]|0; - $73 = ($72|0)==(0); - if (!($73)) { - break; - } - $74 = HEAP32[$i>>2]|0; - $75 = HEAP32[$2>>2]|0; - $76 = ((($75)) + 64|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($74|0)<($77|0); - if (!($78)) { - break; - } - $79 = HEAP32[$i>>2]|0; - $80 = HEAP32[$2>>2]|0; - $81 = ((($80)) + 72|0); - $82 = (($81) + (($79*24)|0)|0); - HEAP32[$pToken1>>2] = $82; - $83 = HEAP32[$pToken1>>2]|0; - $84 = ((($83)) + 20|0); - $85 = HEAP32[$84>>2]|0; - HEAP32[$pSegcsr>>2] = $85; - $86 = HEAP32[$pSegcsr>>2]|0; - $87 = ($86|0)!=(0|0); - if ($87) { - $88 = HEAP32[$pTab>>2]|0; - $89 = HEAP32[$pSegcsr>>2]|0; - $90 = HEAP32[$iCol>>2]|0; - $91 = HEAP32[$pToken1>>2]|0; - $92 = HEAP32[$91>>2]|0; - $93 = HEAP32[$pToken1>>2]|0; - $94 = ((($93)) + 4|0); - $95 = HEAP32[$94>>2]|0; - $96 = (_sqlite3Fts3MsrIncrStart($88,$89,$90,$92,$95)|0); - HEAP32[$rc>>2] = $96; - } - $97 = HEAP32[$i>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[$i>>2] = $98; - } - $99 = HEAP32[$2>>2]|0; - $100 = ((($99)) + 40|0); - HEAP32[$100>>2] = 1; - $106 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($106|0); + _sqlite3_free($66); + $67 = HEAP32[$4>>2]|0; + _sqlite3_free($67); + $68 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($68|0); } -function _sqlite3Fts3MsrIncrStart($p,$pCsr,$iCol,$zTerm,$nTerm) { - $p = $p|0; - $pCsr = $pCsr|0; - $iCol = $iCol|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0, $nSegment = 0, $pSeg = 0, $rc = 0, $xCmp = 0, label = 0, sp = 0; +function _pager_unlock($0) { + $0 = $0|0; + var $$sink = 0, $$sink2 = 0, $$sink4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $5 = sp + 20|0; - $i = sp + 16|0; - $rc = sp + 12|0; - $nSegment = sp + 8|0; - $xCmp = sp + 4|0; - $pSeg = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pCsr; - HEAP32[$3>>2] = $iCol; - HEAP32[$4>>2] = $zTerm; - HEAP32[$5>>2] = $nTerm; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$nSegment>>2] = $8; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 60|0); + $6 = HEAP32[$5>>2]|0; + _sqlite3BitvecDestroy($6); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 60|0); + HEAP32[$8>>2] = 0; $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 231|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)!=(0); - $14 = $13 ? 182 : 183; - HEAP32[$xCmp>>2] = $14; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$4>>2]|0; - $18 = HEAP32[$5>>2]|0; - $19 = (_fts3SegReaderStart($15,$16,$17,$18)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $22; - $70 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($70|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$nSegment>>2]|0; - $25 = ($23|0)<($24|0); - if (!($25)) { - break; - } - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + ($26<<2)|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$pSeg>>2] = $30; - $31 = HEAP32[$pSeg>>2]|0; - $32 = ((($31)) + 40|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)!=(0|0); - if (!($34)) { - break; - } - $35 = HEAP32[$pSeg>>2]|0; - $36 = HEAP32[$4>>2]|0; - $37 = HEAP32[$5>>2]|0; - $38 = (_fts3SegReaderTermCmp($35,$36,$37)|0); - $39 = ($38|0)!=(0); - if ($39) { - break; - } - $40 = HEAP32[$i>>2]|0; - $41 = (($40) + 1)|0; - HEAP32[$i>>2] = $41; - } - $42 = HEAP32[$i>>2]|0; - $43 = HEAP32[$2>>2]|0; - $44 = ((($43)) + 8|0); - HEAP32[$44>>2] = $42; - HEAP32[$i>>2] = 0; - while(1) { - $45 = HEAP32[$i>>2]|0; - $46 = HEAP32[$2>>2]|0; - $47 = ((($46)) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($45|0)<($48|0); - if (!($49)) { + _releaseAllSavepoints($9); + $10 = HEAP32[$1>>2]|0; + $11 = (_sqlite3PagerUseWal($10)|0); + $12 = ($11|0)!=(0); + $13 = HEAP32[$1>>2]|0; + if ($12) { + $14 = ((($13)) + 216|0); + $15 = HEAP32[$14>>2]|0; + _sqlite3WalEndReadTransaction($15); + $16 = HEAP32[$1>>2]|0; + $$sink4 = $16; + label = 13; + } else { + $17 = ((($13)) + 4|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)!=(0); + if (!($19)) { + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 64|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 64|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3OsDeviceCharacteristics($27)|0); + $29 = $28; + } else { + $29 = 0; + } + HEAP32[$3>>2] = $29; + $30 = HEAP32[$3>>2]|0; + $31 = $30 & 2048; + $32 = (0)==($31|0); + if ($32) { + label = 8; + } else { + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 5|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 & 5; + $38 = (1)!=($37|0); + if ($38) { + label = 8; + } + } + if ((label|0) == 8) { + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 68|0); + $41 = HEAP32[$40>>2]|0; + _sqlite3OsClose($41); + } + $42 = HEAP32[$1>>2]|0; + $43 = (_pagerUnlockDb($42,0)|0); + HEAP32[$2>>2] = $43; + $44 = HEAP32[$2>>2]|0; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 17|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = ($49|0)==(6); + if ($50) { + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 18|0); + HEAP8[$52>>0] = 5; + } + } + $53 = HEAP32[$1>>2]|0; + $54 = ((($53)) + 19|0); + HEAP8[$54>>0] = 0; + $55 = HEAP32[$1>>2]|0; + $$sink4 = $55; label = 13; - break; - } - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$i>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = (($53) + ($51<<2)|0); - $55 = HEAP32[$54>>2]|0; - $56 = (_fts3SegReaderFirstDocid($50,$55)|0); - HEAP32[$rc>>2] = $56; - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)!=(0); - if ($58) { - label = 11; - break; } - $60 = HEAP32[$i>>2]|0; - $61 = (($60) + 1)|0; - HEAP32[$i>>2] = $61; } - if ((label|0) == 11) { - $59 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $59; - $70 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($70|0); + if ((label|0) == 13) { + $56 = ((($$sink4)) + 17|0); + HEAP8[$56>>0] = 0; } - else if ((label|0) == 13) { - $62 = HEAP32[$2>>2]|0; - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$i>>2]|0; - $65 = HEAP32[$i>>2]|0; - $66 = HEAP32[$xCmp>>2]|0; - _fts3SegReaderSort($63,$64,$65,$66); - $67 = HEAP32[$3>>2]|0; - $68 = HEAP32[$2>>2]|0; - $69 = ((($68)) + 24|0); - HEAP32[$69>>2] = $67; - HEAP32[$0>>2] = 0; - $70 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($70|0); + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 44|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)!=(0); + if (!($60)) { + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 80|0); + $82 = $81; + $83 = $82; + HEAP32[$83>>2] = 0; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = 0; + $86 = HEAP32[$1>>2]|0; + $87 = ((($86)) + 88|0); + $88 = $87; + $89 = $88; + HEAP32[$89>>2] = 0; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = 0; + $92 = HEAP32[$1>>2]|0; + $93 = ((($92)) + 20|0); + HEAP8[$93>>0] = 0; + STACKTOP = sp;return; } - return (0)|0; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 13|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = ($64|0)==(0); + $66 = HEAP32[$1>>2]|0; + if ($65) { + _pager_reset($66); + $67 = HEAP32[$1>>2]|0; + $68 = ((($67)) + 19|0); + HEAP8[$68>>0] = 0; + $69 = HEAP32[$1>>2]|0; + $$sink = 0;$$sink2 = $69; + } else { + $70 = ((($66)) + 68|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$71>>2]|0; + $73 = ($72|0)!=(0|0); + $74 = $73 ? 0 : 1; + $75 = $74&255; + $76 = HEAP32[$1>>2]|0; + $$sink = $75;$$sink2 = $76; + } + $77 = ((($$sink2)) + 17|0); + HEAP8[$77>>0] = $$sink; + $78 = HEAP32[$1>>2]|0; + $79 = ((($78)) + 44|0); + HEAP32[$79>>2] = 0; + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 80|0); + $82 = $81; + $83 = $82; + HEAP32[$83>>2] = 0; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = 0; + $86 = HEAP32[$1>>2]|0; + $87 = ((($86)) + 88|0); + $88 = $87; + $89 = $88; + HEAP32[$89>>2] = 0; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = 0; + $92 = HEAP32[$1>>2]|0; + $93 = ((($92)) + 20|0); + HEAP8[$93>>0] = 0; + STACKTOP = sp;return; } -function _fts3EvalPhraseLoad($pCsr,$p) { - $pCsr = $pCsr|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $iToken = 0, $nThis = 0, $pTab = 0, $pThis = 0; - var $pToken = 0, $rc = 0, label = 0, sp = 0; +function _pagerSyncHotJournal($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $pTab = sp + 20|0; - $iToken = sp + 16|0; - $rc = sp + 12|0; - $pToken = sp + 8|0; - $nThis = sp + 4|0; - $pThis = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pTab>>2] = $3; - HEAP32[$rc>>2] = 0; - HEAP32[$iToken>>2] = 0; - while(1) { - $4 = HEAP32[$rc>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - label = 8; - break; - } - $6 = HEAP32[$iToken>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 7|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)!=(0); + if (!($6)) { $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 64|0); + $8 = ((($7)) + 68|0); $9 = HEAP32[$8>>2]|0; - $10 = ($6|0)<($9|0); - if (!($10)) { - label = 8; - break; - } - $11 = HEAP32[$iToken>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 72|0); - $14 = (($13) + (($11*24)|0)|0); - HEAP32[$pToken>>2] = $14; - $15 = HEAP32[$pToken>>2]|0; - $16 = ((($15)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)!=(0|0); - if ($18) { - HEAP32[$nThis>>2] = 0; - HEAP32[$pThis>>2] = 0; - $19 = HEAP32[$pTab>>2]|0; - $20 = HEAP32[$pToken>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 68|0); - $23 = HEAP32[$22>>2]|0; - $24 = (_fts3TermSelect($19,$20,$23,$nThis,$pThis)|0); - HEAP32[$rc>>2] = $24; - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)==(0); - if ($26) { - $27 = HEAP32[$pTab>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$iToken>>2]|0; - $30 = HEAP32[$pThis>>2]|0; - $31 = HEAP32[$nThis>>2]|0; - $32 = (_fts3EvalPhraseMergeToken($27,$28,$29,$30,$31)|0); - HEAP32[$rc>>2] = $32; - } - } - $33 = HEAP32[$iToken>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$iToken>>2] = $34; + $10 = (_sqlite3OsSync($9,2)|0); + HEAP32[$2>>2] = $10; } - if ((label|0) == 8) { - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + $11 = HEAP32[$2>>2]|0; + $12 = ($11|0)==(0); + if (!($12)) { + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); } - return (0)|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 68|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 88|0); + $18 = (_sqlite3OsFileSize($15,$17)|0); + HEAP32[$2>>2] = $18; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); } -function _fts3TermSelect($p,$pTok,$iColumn,$pnOut,$ppOut) { - $p = $p|0; - $pTok = $pTok|0; - $iColumn = $iColumn|0; - $pnOut = $pnOut|0; - $ppOut = $ppOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $filter = 0, $i = 0, $pSegcsr = 0, $rc = 0, $tsc = 0; - var dest = 0, label = 0, sp = 0, stop = 0; +function _pager_error($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $0 = sp + 176|0; - $1 = sp + 172|0; - $2 = sp + 168|0; - $3 = sp + 164|0; - $4 = sp + 160|0; - $rc = sp + 156|0; - $pSegcsr = sp + 152|0; - $tsc = sp + 24|0; - $filter = sp + 8|0; - $i = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pTok; - HEAP32[$2>>2] = $iColumn; - HEAP32[$3>>2] = $pnOut; - HEAP32[$4>>2] = $ppOut; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pSegcsr>>2] = $7; - dest=$tsc; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0); - $12 = $11 ? 8 : 0; - $13 = 3 | $12; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(0); - $18 = $17 ? 32 : 0; - $19 = $13 | $18; - $20 = HEAP32[$2>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 24|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($20|0)<($23|0); - $25 = $24 ? 4 : 0; - $26 = $19 | $25; - $27 = ((($filter)) + 12|0); - HEAP32[$27>>2] = $26; - $28 = HEAP32[$2>>2]|0; - $29 = ((($filter)) + 8|0); - HEAP32[$29>>2] = $28; - $30 = HEAP32[$1>>2]|0; - $31 = HEAP32[$30>>2]|0; - HEAP32[$filter>>2] = $31; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ((($filter)) + 4|0); - HEAP32[$35>>2] = $34; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$pSegcsr>>2]|0; - $38 = (_sqlite3Fts3SegReaderStart($36,$37,$filter)|0); - HEAP32[$rc>>2] = $38; - while(1) { - $39 = HEAP32[$rc>>2]|0; - $40 = (0)==($39|0); - if (!($40)) { - break; - } - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$pSegcsr>>2]|0; - $43 = (_sqlite3Fts3SegReaderStep($41,$42)|0); - HEAP32[$rc>>2] = $43; - $44 = (100)==($43|0); - if (!($44)) { - break; - } - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$pSegcsr>>2]|0; - $47 = ((($46)) + 48|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$pSegcsr>>2]|0; - $50 = ((($49)) + 52|0); - $51 = HEAP32[$50>>2]|0; - $52 = (_fts3TermSelectMerge($45,$tsc,$48,$51)|0); - HEAP32[$rc>>2] = $52; - } - $53 = HEAP32[$rc>>2]|0; - $54 = ($53|0)==(0); - if ($54) { - $55 = HEAP32[$0>>2]|0; - $56 = (_fts3TermSelectFinishMerge($55,$tsc)|0); - HEAP32[$rc>>2] = $56; - } - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)==(0); - if ($58) { - $59 = HEAP32[$tsc>>2]|0; - $60 = HEAP32[$4>>2]|0; - HEAP32[$60>>2] = $59; - $61 = ((($tsc)) + 64|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$3>>2]|0; - HEAP32[$63>>2] = $62; - $71 = HEAP32[$pSegcsr>>2]|0; - _fts3SegReaderCursorFree($71); - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 20|0); - HEAP32[$73>>2] = 0; - $74 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($74|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $64 = HEAP32[$i>>2]|0; - $65 = ($64|0)<(16); - if (!($65)) { - break; - } - $66 = HEAP32[$i>>2]|0; - $67 = (($tsc) + ($66<<2)|0); - $68 = HEAP32[$67>>2]|0; - _sqlite3_free($68); - $69 = HEAP32[$i>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$i>>2] = $70; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = $5 & 255; + HEAP32[$4>>2] = $6; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)==(13); + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)==(10); + $or$cond = $8 | $10; + if (!($or$cond)) { + $16 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($16|0); } - $71 = HEAP32[$pSegcsr>>2]|0; - _fts3SegReaderCursorFree($71); - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 20|0); - HEAP32[$73>>2] = 0; - $74 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($74|0); + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 44|0); + HEAP32[$13>>2] = $11; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 17|0); + HEAP8[$15>>0] = 6; + $16 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($16|0); } -function _fts3EvalPhraseMergeToken($pTab,$p,$iToken,$pList,$nList) { - $pTab = $pTab|0; - $p = $p|0; - $iToken = $iToken|0; - $pList = $pList|0; - $nList = $nList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $nDiff = 0, $nLeft = 0, $nRight = 0, $pLeft = 0, $pRight = 0, $rc = 0; - var label = 0, sp = 0; +function _pagerUnlockAndRollback($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $rc = sp + 20|0; - $pLeft = sp + 16|0; - $pRight = sp + 12|0; - $nLeft = sp + 8|0; - $nRight = sp + 4|0; - $nDiff = sp; - HEAP32[$0>>2] = $pTab; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iToken; - HEAP32[$3>>2] = $pList; - HEAP32[$4>>2] = $nList; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$3>>2]|0; - $6 = ($5|0)==(0|0); - $7 = HEAP32[$1>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 17|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)!=(6); do { if ($6) { - $8 = HEAP32[$7>>2]|0; - _sqlite3_free($8); - $9 = HEAP32[$1>>2]|0; - HEAP32[$9>>2] = 0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 4|0); - HEAP32[$11>>2] = 0; - } else { - $12 = ((($7)) + 44|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)<(0); - if ($14) { - $15 = HEAP32[$3>>2]|0; - $16 = HEAP32[$1>>2]|0; - HEAP32[$16>>2] = $15; - $17 = HEAP32[$4>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 17|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 17|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)>=(2); + if ($16) { + _sqlite3BeginBenignMalloc(); + $17 = HEAP32[$1>>2]|0; + (_sqlite3PagerRollback($17)|0); + _sqlite3EndBenignMalloc(); + break; + } $18 = HEAP32[$1>>2]|0; $19 = ((($18)) + 4|0); - HEAP32[$19>>2] = $17; - break; - } - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0|0); - if ($22) { - $23 = HEAP32[$3>>2]|0; - _sqlite3_free($23); - break; - } - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 44|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = ($26|0)<($27|0); - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$29>>2]|0; - if ($28) { - HEAP32[$pLeft>>2] = $30; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$nLeft>>2] = $33; - $34 = HEAP32[$3>>2]|0; - HEAP32[$pRight>>2] = $34; - $35 = HEAP32[$4>>2]|0; - HEAP32[$nRight>>2] = $35; - $36 = HEAP32[$2>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 44|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($36) - ($39))|0; - HEAP32[$nDiff>>2] = $40; - } else { - HEAP32[$pRight>>2] = $30; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 4|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$nRight>>2] = $43; - $44 = HEAP32[$3>>2]|0; - HEAP32[$pLeft>>2] = $44; - $45 = HEAP32[$4>>2]|0; - HEAP32[$nLeft>>2] = $45; - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 44|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = (($48) - ($49))|0; - HEAP32[$nDiff>>2] = $50; + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)!=(0); + if (!($21)) { + $22 = HEAP32[$1>>2]|0; + (_pager_end_transaction($22,0,0)|0); + } } - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 231|0); - $53 = HEAP8[$52>>0]|0; - $54 = $53&255; - $55 = HEAP32[$nDiff>>2]|0; - $56 = HEAP32[$pLeft>>2]|0; - $57 = HEAP32[$nLeft>>2]|0; - $58 = (_fts3DoclistPhraseMerge($54,$55,$56,$57,$pRight,$nRight)|0); - HEAP32[$rc>>2] = $58; - $59 = HEAP32[$pLeft>>2]|0; - _sqlite3_free($59); - $60 = HEAP32[$pRight>>2]|0; - $61 = HEAP32[$1>>2]|0; - HEAP32[$61>>2] = $60; - $62 = HEAP32[$nRight>>2]|0; - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 4|0); - HEAP32[$64>>2] = $62; } } while(0); - $65 = HEAP32[$2>>2]|0; - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 44|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($65|0)>($68|0); - if (!($69)) { - $73 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($73|0); - } - $70 = HEAP32[$2>>2]|0; - $71 = HEAP32[$1>>2]|0; - $72 = ((($71)) + 44|0); - HEAP32[$72>>2] = $70; - $73 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($73|0); + $23 = HEAP32[$1>>2]|0; + _pager_unlock($23); + STACKTOP = sp;return; } -function _fts3DoclistPhraseMerge($bDescDoclist,$nDist,$aLeft,$nLeft,$paRight,$pnRight) { - $bDescDoclist = $bDescDoclist|0; - $nDist = $nDist|0; - $aLeft = $aLeft|0; - $nLeft = $nLeft|0; - $paRight = $paRight|0; - $pnRight = $pnRight|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $aOut = 0, $aRight = 0, $bFirstOut = 0, $bFirstOutSave = 0, $i1 = 0, $i2 = 0, $iDiff = 0, $iPrev = 0, $iPrevSave = 0, $p = 0, $p1 = 0, $p2 = 0, $pEnd1 = 0, $pEnd2 = 0, $pSave = 0, label = 0, sp = 0; +function _sqlite3OsClose($0) { + $0 = $0|0; + var $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 + 112|0; - $0 = sp + 104|0; - $1 = sp + 100|0; - $2 = sp + 96|0; - $3 = sp + 92|0; - $4 = sp + 88|0; - $5 = sp + 84|0; - $6 = sp + 80|0; - $i1 = sp + 32|0; - $i2 = sp + 24|0; - $iPrev = sp + 16|0; - $aRight = sp + 76|0; - $pEnd1 = sp + 72|0; - $pEnd2 = sp + 68|0; - $p1 = sp + 64|0; - $p2 = sp + 60|0; - $p = sp + 56|0; - $bFirstOut = sp + 52|0; - $aOut = sp + 48|0; - $iDiff = sp + 8|0; - $pSave = sp + 44|0; - $iPrevSave = sp; - $bFirstOutSave = sp + 40|0; - HEAP32[$1>>2] = $bDescDoclist; - HEAP32[$2>>2] = $nDist; - HEAP32[$3>>2] = $aLeft; - HEAP32[$4>>2] = $nLeft; - HEAP32[$5>>2] = $paRight; - HEAP32[$6>>2] = $pnRight; - $7 = $i1; - $8 = $7; - HEAP32[$8>>2] = 0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 0; - $11 = $i2; - $12 = $11; - HEAP32[$12>>2] = 0; - $13 = (($11) + 4)|0; - $14 = $13; - HEAP32[$14>>2] = 0; - $15 = $iPrev; - $16 = $15; - HEAP32[$16>>2] = 0; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = 0; - $19 = HEAP32[$5>>2]|0; - $20 = HEAP32[$19>>2]|0; - HEAP32[$aRight>>2] = $20; - $21 = HEAP32[$4>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = (($22) + ($21)|0); - HEAP32[$pEnd1>>2] = $23; - $24 = HEAP32[$6>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$aRight>>2]|0; - $27 = (($26) + ($25)|0); - HEAP32[$pEnd2>>2] = $27; - $28 = HEAP32[$3>>2]|0; - HEAP32[$p1>>2] = $28; - $29 = HEAP32[$aRight>>2]|0; - HEAP32[$p2>>2] = $29; - HEAP32[$bFirstOut>>2] = 0; - $30 = HEAP32[$1>>2]|0; - $31 = ($30|0)!=(0); - if ($31) { - $32 = HEAP32[$6>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + 10)|0; - $35 = (_sqlite3_malloc($34)|0); - HEAP32[$aOut>>2] = $35; - $36 = HEAP32[$aOut>>2]|0; - $37 = ($36|0)==(0|0); - if ($37) { - HEAP32[$0>>2] = 7; - $141 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($141|0); - } - } else { - $38 = HEAP32[$aRight>>2]|0; - HEAP32[$aOut>>2] = $38; - } - $39 = HEAP32[$aOut>>2]|0; - HEAP32[$p>>2] = $39; - $40 = HEAP32[$pEnd1>>2]|0; - _fts3GetDeltaVarint3($p1,$40,0,$i1); - $41 = HEAP32[$pEnd2>>2]|0; - _fts3GetDeltaVarint3($p2,$41,0,$i2); - while(1) { - $42 = HEAP32[$p1>>2]|0; - $43 = ($42|0)!=(0|0); - $44 = HEAP32[$p2>>2]|0; - $45 = ($44|0)!=(0|0); - $46 = $43 ? $45 : 0; - if (!($46)) { - break; - } - $47 = HEAP32[$1>>2]|0; - $48 = ($47|0)!=(0); - $49 = $48 ? -1 : 1; - $50 = ($49|0)<(0); - $51 = $50 << 31 >> 31; - $52 = $i1; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = $i2; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (_i64Subtract(($54|0),($57|0),($60|0),($63|0))|0); - $65 = tempRet0; - $66 = (___muldi3(($49|0),($51|0),($64|0),($65|0))|0); - $67 = tempRet0; - $68 = $iDiff; - $69 = $68; - HEAP32[$69>>2] = $66; - $70 = (($68) + 4)|0; - $71 = $70; - HEAP32[$71>>2] = $67; - $72 = $iDiff; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = ($74|0)==(0); - $79 = ($77|0)==(0); - $80 = $78 & $79; - if ($80) { - $81 = HEAP32[$p>>2]|0; - HEAP32[$pSave>>2] = $81; - $82 = $iPrev; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (($82) + 4)|0; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = $iPrevSave; - $89 = $88; - HEAP32[$89>>2] = $84; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - $92 = HEAP32[$bFirstOut>>2]|0; - HEAP32[$bFirstOutSave>>2] = $92; - $93 = HEAP32[$1>>2]|0; - $94 = $i1; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (($94) + 4)|0; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - _fts3PutDeltaVarint3($p,$93,$iPrev,$bFirstOut,$96,$99); - $100 = HEAP32[$2>>2]|0; - $101 = (_fts3PoslistPhraseMerge($p,$100,0,1,$p1,$p2)|0); - $102 = (0)==($101|0); - if ($102) { - $103 = HEAP32[$pSave>>2]|0; - HEAP32[$p>>2] = $103; - $104 = $iPrevSave; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = $iPrev; - $111 = $110; - HEAP32[$111>>2] = $106; - $112 = (($110) + 4)|0; - $113 = $112; - HEAP32[$113>>2] = $109; - $114 = HEAP32[$bFirstOutSave>>2]|0; - HEAP32[$bFirstOut>>2] = $114; - } - $115 = HEAP32[$pEnd1>>2]|0; - $116 = HEAP32[$1>>2]|0; - _fts3GetDeltaVarint3($p1,$115,$116,$i1); - $117 = HEAP32[$pEnd2>>2]|0; - $118 = HEAP32[$1>>2]|0; - _fts3GetDeltaVarint3($p2,$117,$118,$i2); - continue; - } else { - $119 = $iDiff; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = (($119) + 4)|0; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = ($124|0)<(0); - if ($125) { - _fts3PoslistCopy(0,$p1); - $126 = HEAP32[$pEnd1>>2]|0; - $127 = HEAP32[$1>>2]|0; - _fts3GetDeltaVarint3($p1,$126,$127,$i1); - continue; - } else { - _fts3PoslistCopy(0,$p2); - $128 = HEAP32[$pEnd2>>2]|0; - $129 = HEAP32[$1>>2]|0; - _fts3GetDeltaVarint3($p2,$128,$129,$i2); - continue; - } - } - } - $130 = HEAP32[$p>>2]|0; - $131 = HEAP32[$aOut>>2]|0; - $132 = $130; - $133 = $131; - $134 = (($132) - ($133))|0; - $135 = HEAP32[$6>>2]|0; - HEAP32[$135>>2] = $134; - $136 = HEAP32[$1>>2]|0; - $137 = ($136|0)!=(0); - if ($137) { - $138 = HEAP32[$aRight>>2]|0; - _sqlite3_free($138); - $139 = HEAP32[$aOut>>2]|0; - $140 = HEAP32[$5>>2]|0; - HEAP32[$140>>2] = $139; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; } - HEAP32[$0>>2] = 0; - $141 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($141|0); + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$1>>2]|0; + (FUNCTION_TABLE_ii[$8 & 255]($9)|0); + $10 = HEAP32[$1>>2]|0; + HEAP32[$10>>2] = 0; + STACKTOP = sp;return; } -function _fts3GetDeltaVarint3($pp,$pEnd,$bDescIdx,$pVal) { - $pp = $pp|0; - $pEnd = $pEnd|0; - $bDescIdx = $bDescIdx|0; - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $iVal = 0, label = 0, sp = 0; +function _sqlite3PcacheClose($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[(160)>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 44|0); + $5 = HEAP32[$4>>2]|0; + FUNCTION_TABLE_vi[$2 & 255]($5); + STACKTOP = sp;return; +} +function _sqlite3PagerRollback($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; $1 = sp + 16|0; $2 = sp + 12|0; $3 = sp + 8|0; - $iVal = sp; - HEAP32[$0>>2] = $pp; - HEAP32[$1>>2] = $pEnd; - HEAP32[$2>>2] = $bDescIdx; - HEAP32[$3>>2] = $pVal; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ($5>>>0)>=($6>>>0); - $8 = HEAP32[$0>>2]|0; - if ($7) { - HEAP32[$8>>2] = 0; - STACKTOP = sp;return; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 17|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)==(6); + $11 = HEAP32[$2>>2]|0; + if ($10) { + $12 = ((($11)) + 44|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$1>>2] = $13; + $63 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($63|0); } - $9 = HEAP32[$8>>2]|0; - $10 = (_sqlite3Fts3GetVarint($9,$iVal)|0); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($10)|0); - HEAP32[$11>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = ($14|0)!=(0); - $16 = $iVal; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + 4)|0; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = $22; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - if ($15) { - $29 = (_i64Subtract(($25|0),($28|0),($18|0),($21|0))|0); - $30 = tempRet0; - $31 = $22; - $32 = $31; - HEAP32[$32>>2] = $29; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - STACKTOP = sp;return; - } else { - $35 = (_i64Add(($25|0),($28|0),($18|0),($21|0))|0); - $36 = tempRet0; - $37 = $22; - $38 = $37; - HEAP32[$38>>2] = $35; - $39 = (($37) + 4)|0; - $40 = $39; - HEAP32[$40>>2] = $36; - STACKTOP = sp;return; + $14 = ((($11)) + 17|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)<=(1); + if ($17) { + HEAP32[$1>>2] = 0; + $63 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($63|0); } + $18 = HEAP32[$2>>2]|0; + $19 = (_sqlite3PagerUseWal($18)|0); + $20 = ($19|0)!=(0); + $21 = HEAP32[$2>>2]|0; + do { + if ($20) { + $22 = (_sqlite3PagerSavepoint($21,2,-1)|0); + HEAP32[$3>>2] = $22; + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 20|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (_pager_end_transaction($23,$27,0)|0); + HEAP32[$4>>2] = $28; + $29 = HEAP32[$3>>2]|0; + $30 = ($29|0)==(0); + if ($30) { + $31 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $31; + } + } else { + $32 = ((($21)) + 68|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 17|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = ($39|0)==(2); + if (!($40)) { + $58 = HEAP32[$2>>2]|0; + $59 = (_pager_playback($58,0)|0); + HEAP32[$3>>2] = $59; + break; + } + } + $41 = HEAP32[$2>>2]|0; + $42 = ((($41)) + 17|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + HEAP32[$5>>2] = $44; + $45 = HEAP32[$2>>2]|0; + $46 = (_pager_end_transaction($45,0,0)|0); + HEAP32[$3>>2] = $46; + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 16|0); + $49 = HEAP8[$48>>0]|0; + $50 = ($49<<24>>24)==(0); + $51 = HEAP32[$5>>2]|0; + $52 = ($51|0)>(2); + $or$cond = $50 & $52; + if ($or$cond) { + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 44|0); + HEAP32[$54>>2] = 4; + $55 = HEAP32[$2>>2]|0; + $56 = ((($55)) + 17|0); + HEAP8[$56>>0] = 6; + $57 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $57; + $63 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($63|0); + } + } + } while(0); + $60 = HEAP32[$2>>2]|0; + $61 = HEAP32[$3>>2]|0; + $62 = (_pager_error($60,$61)|0); + HEAP32[$1>>2] = $62; + $63 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($63|0); } -function _fts3PutDeltaVarint3($pp,$bDescIdx,$piPrev,$pbFirst,$0,$1) { - $pp = $pp|0; - $bDescIdx = $bDescIdx|0; - $piPrev = $piPrev|0; - $pbFirst = $pbFirst|0; +function _pager_end_transaction($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $iWrite = 0, label = 0, sp = 0; + $2 = $2|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 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, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 28|0; $3 = sp + 24|0; $4 = sp + 20|0; $5 = sp + 16|0; - $6 = sp + 8|0; - $iWrite = sp; - HEAP32[$2>>2] = $pp; - HEAP32[$3>>2] = $bDescIdx; - HEAP32[$4>>2] = $piPrev; - HEAP32[$5>>2] = $pbFirst; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = HEAP32[$3>>2]|0; - $12 = ($11|0)==(0); - if ($12) { - label = 3; - } else { - $13 = HEAP32[$5>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0); - if ($15) { - label = 3; - } else { - $35 = HEAP32[$4>>2]|0; - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = $6; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (_i64Subtract(($38|0),($41|0),($44|0),($47|0))|0); - $49 = tempRet0; - $50 = $iWrite; - $51 = $50; - HEAP32[$51>>2] = $48; - $52 = (($50) + 4)|0; - $53 = $52; - HEAP32[$53>>2] = $49; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 17|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)<(2); + if ($14) { + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 18|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)<(2); + if ($19) { + HEAP32[$3>>2] = 0; + $211 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($211|0); } } - if ((label|0) == 3) { - $16 = $6; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + 4)|0; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$4>>2]|0; - $23 = $22; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (_i64Subtract(($18|0),($21|0),($25|0),($28|0))|0); - $30 = tempRet0; - $31 = $iWrite; - $32 = $31; - HEAP32[$32>>2] = $29; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - } - $54 = HEAP32[$2>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = $iWrite; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = (($56) + 4)|0; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (_sqlite3Fts3PutVarint($55,$58,$61)|0); - $63 = HEAP32[$2>>2]|0; - $64 = HEAP32[$63>>2]|0; - $65 = (($64) + ($62)|0); - HEAP32[$63>>2] = $65; - $66 = $6; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = (($66) + 4)|0; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = HEAP32[$4>>2]|0; - $73 = $72; - $74 = $73; - HEAP32[$74>>2] = $68; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = $71; - $77 = HEAP32[$5>>2]|0; - HEAP32[$77>>2] = 1; - STACKTOP = sp;return; -} -function _fts3TermSelectMerge($p,$pTS,$aDoclist,$nDoclist) { - $p = $p|0; - $pTS = $pTS|0; - $aDoclist = $aDoclist|0; - $nDoclist = $nDoclist|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $aMerge = 0, $aNew = 0, $iOut = 0, $nMerge = 0, $nNew = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $aMerge = sp + 20|0; - $nMerge = sp + 16|0; - $iOut = sp + 12|0; - $aNew = sp + 8|0; - $nNew = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pTS; - HEAP32[$3>>2] = $aDoclist; - HEAP32[$4>>2] = $nDoclist; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - L1: do { - if ($7) { - $8 = HEAP32[$4>>2]|0; - $9 = (($8) + 10)|0; - $10 = (($9) + 1)|0; - $11 = (_sqlite3_malloc($10)|0); - $12 = HEAP32[$2>>2]|0; - HEAP32[$12>>2] = $11; - $13 = HEAP32[$4>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 64|0); - HEAP32[$15>>2] = $13; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)!=(0|0); - if ($18) { - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$4>>2]|0; - _memcpy(($20|0),($21|0),($22|0))|0; + $20 = HEAP32[$4>>2]|0; + _releaseAllSavepoints($20); + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 68|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)!=(0|0); + L6: do { + if ($25) { + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 68|0); + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3JournalIsInMemory($28)|0); + $30 = ($29|0)!=(0); + $31 = HEAP32[$4>>2]|0; + if ($30) { + $32 = ((($31)) + 68|0); + $33 = HEAP32[$32>>2]|0; + _sqlite3OsClose($33); break; } - HEAP32[$0>>2] = 7; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } else { - $23 = HEAP32[$3>>2]|0; - HEAP32[$aMerge>>2] = $23; - $24 = HEAP32[$4>>2]|0; - HEAP32[$nMerge>>2] = $24; - HEAP32[$iOut>>2] = 0; - while(1) { - $25 = HEAP32[$iOut>>2]|0; - $26 = ($25|0)<(16); - if (!($26)) { - break L1; - } - $27 = HEAP32[$iOut>>2]|0; - $28 = HEAP32[$2>>2]|0; - $29 = (($28) + ($27<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==(0|0); - if ($31) { - label = 8; - break; - } - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 231|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = HEAP32[$aMerge>>2]|0; - $46 = HEAP32[$nMerge>>2]|0; - $47 = HEAP32[$iOut>>2]|0; - $48 = HEAP32[$2>>2]|0; - $49 = (($48) + ($47<<2)|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$iOut>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 64|0); - $54 = (($53) + ($51<<2)|0); - $55 = HEAP32[$54>>2]|0; - $56 = (_fts3DoclistOrMerge($44,$45,$46,$50,$55,$aNew,$nNew)|0); - HEAP32[$rc>>2] = $56; - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)!=(0); - $59 = HEAP32[$aMerge>>2]|0; - $60 = HEAP32[$3>>2]|0; - $61 = ($59|0)!=($60|0); - if ($58) { - break; - } - if ($61) { - $64 = HEAP32[$aMerge>>2]|0; - _sqlite3_free($64); + $34 = ((($31)) + 5|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)==(3); + $38 = HEAP32[$4>>2]|0; + if ($37) { + $39 = ((($38)) + 80|0); + $40 = $39; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = ($42|0)==(0); + $47 = ($45|0)==(0); + $48 = $46 & $47; + if ($48) { + HEAP32[$7>>2] = 0; + } else { + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 68|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_sqlite3OsTruncate($51,0,0)|0); + HEAP32[$7>>2] = $52; + $53 = HEAP32[$7>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 8|0); + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = ($58|0)!=(0); + if ($59) { + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 68|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 12|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = (_sqlite3OsSync($62,$66)|0); + HEAP32[$7>>2] = $67; + } + } } - $65 = HEAP32[$iOut>>2]|0; - $66 = HEAP32[$2>>2]|0; - $67 = (($66) + ($65<<2)|0); - $68 = HEAP32[$67>>2]|0; - _sqlite3_free($68); - $69 = HEAP32[$iOut>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = (($70) + ($69<<2)|0); + $68 = HEAP32[$4>>2]|0; + $69 = ((($68)) + 80|0); + $70 = $69; + $71 = $70; HEAP32[$71>>2] = 0; - $72 = HEAP32[$aNew>>2]|0; - HEAP32[$aMerge>>2] = $72; - $73 = HEAP32[$nNew>>2]|0; - HEAP32[$nMerge>>2] = $73; - $74 = HEAP32[$iOut>>2]|0; - $75 = (($74) + 1)|0; - $76 = ($75|0)==(16); - if ($76) { - $77 = HEAP32[$aMerge>>2]|0; - $78 = HEAP32[$iOut>>2]|0; - $79 = HEAP32[$2>>2]|0; - $80 = (($79) + ($78<<2)|0); - HEAP32[$80>>2] = $77; - $81 = HEAP32[$nMerge>>2]|0; - $82 = HEAP32[$iOut>>2]|0; - $83 = HEAP32[$2>>2]|0; - $84 = ((($83)) + 64|0); - $85 = (($84) + ($82<<2)|0); - HEAP32[$85>>2] = $81; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = 0; + break; + } + $74 = ((($38)) + 5|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = ($76|0)==(1); + do { + if (!($77)) { + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 4|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ($81|0)!=(0); + if ($82) { + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 5|0); + $85 = HEAP8[$84>>0]|0; + $86 = $85&255; + $87 = ($86|0)!=(5); + if ($87) { + break; + } + } + $105 = HEAP32[$4>>2]|0; + $106 = ((($105)) + 13|0); + $107 = HEAP8[$106>>0]|0; + $108 = ($107<<24>>24)!=(0); + $109 = $108 ^ 1; + $110 = $109&1; + HEAP32[$9>>2] = $110; + $111 = HEAP32[$4>>2]|0; + $112 = ((($111)) + 68|0); + $113 = HEAP32[$112>>2]|0; + _sqlite3OsClose($113); + $114 = HEAP32[$9>>2]|0; + $115 = ($114|0)!=(0); + if (!($115)) { + break L6; + } + $116 = HEAP32[$4>>2]|0; + $117 = HEAP32[$116>>2]|0; + $118 = HEAP32[$4>>2]|0; + $119 = ((($118)) + 180|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$4>>2]|0; + $122 = ((($121)) + 9|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = (_sqlite3OsDelete($117,$120,$124)|0); + HEAP32[$7>>2] = $125; + break L6; } - $86 = HEAP32[$iOut>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[$iOut>>2] = $87; + } while(0); + $88 = HEAP32[$4>>2]|0; + $89 = HEAP32[$5>>2]|0; + $90 = ($89|0)!=(0); + if ($90) { + $97 = 1; + } else { + $91 = HEAP32[$4>>2]|0; + $92 = ((($91)) + 13|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $95 = ($94|0)!=(0); + $97 = $95; } - if ((label|0) == 8) { - $32 = HEAP32[$aMerge>>2]|0; - $33 = HEAP32[$iOut>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = (($34) + ($33<<2)|0); - HEAP32[$35>>2] = $32; - $36 = HEAP32[$nMerge>>2]|0; - $37 = HEAP32[$iOut>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = ((($38)) + 64|0); - $40 = (($39) + ($37<<2)|0); - HEAP32[$40>>2] = $36; - break; + $96 = $97&1; + $98 = (_zeroJournalHdr($88,$96)|0); + HEAP32[$7>>2] = $98; + $99 = HEAP32[$4>>2]|0; + $100 = ((($99)) + 80|0); + $101 = $100; + $102 = $101; + HEAP32[$102>>2] = 0; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = 0; + } + } while(0); + $126 = HEAP32[$4>>2]|0; + $127 = ((($126)) + 60|0); + $128 = HEAP32[$127>>2]|0; + _sqlite3BitvecDestroy($128); + $129 = HEAP32[$4>>2]|0; + $130 = ((($129)) + 60|0); + HEAP32[$130>>2] = 0; + $131 = HEAP32[$4>>2]|0; + $132 = ((($131)) + 48|0); + HEAP32[$132>>2] = 0; + $133 = HEAP32[$7>>2]|0; + $134 = ($133|0)==(0); + if ($134) { + $135 = HEAP32[$4>>2]|0; + $136 = HEAP32[$6>>2]|0; + $137 = (_pagerFlushOnCommit($135,$136)|0); + $138 = ($137|0)!=(0); + $139 = HEAP32[$4>>2]|0; + $140 = ((($139)) + 212|0); + $141 = HEAP32[$140>>2]|0; + if ($138) { + _sqlite3PcacheCleanAll($141); + } else { + _sqlite3PcacheClearWritable($141); + } + $142 = HEAP32[$4>>2]|0; + $143 = ((($142)) + 212|0); + $144 = HEAP32[$143>>2]|0; + $145 = HEAP32[$4>>2]|0; + $146 = ((($145)) + 28|0); + $147 = HEAP32[$146>>2]|0; + _sqlite3PcacheTruncate($144,$147); + } + $148 = HEAP32[$4>>2]|0; + $149 = (_sqlite3PagerUseWal($148)|0); + $150 = ($149|0)!=(0); + if ($150) { + $151 = HEAP32[$4>>2]|0; + $152 = ((($151)) + 216|0); + $153 = HEAP32[$152>>2]|0; + $154 = (_sqlite3WalEndWriteTransaction($153)|0); + HEAP32[$8>>2] = $154; + } else { + $155 = HEAP32[$7>>2]|0; + $156 = ($155|0)==(0); + $157 = HEAP32[$6>>2]|0; + $158 = ($157|0)!=(0); + $or$cond = $156 & $158; + if ($or$cond) { + $159 = HEAP32[$4>>2]|0; + $160 = ((($159)) + 36|0); + $161 = HEAP32[$160>>2]|0; + $162 = HEAP32[$4>>2]|0; + $163 = ((($162)) + 28|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($161>>>0)>($164>>>0); + if ($165) { + $166 = HEAP32[$4>>2]|0; + $167 = HEAP32[$4>>2]|0; + $168 = ((($167)) + 28|0); + $169 = HEAP32[$168>>2]|0; + $170 = (_pager_truncate($166,$169)|0); + HEAP32[$7>>2] = $170; } - if ($61) { - $62 = HEAP32[$aMerge>>2]|0; - _sqlite3_free($62); + } + } + $171 = HEAP32[$7>>2]|0; + $172 = ($171|0)==(0); + $173 = HEAP32[$6>>2]|0; + $174 = ($173|0)!=(0); + $or$cond3 = $172 & $174; + if ($or$cond3) { + $175 = HEAP32[$4>>2]|0; + $176 = ((($175)) + 64|0); + $177 = HEAP32[$176>>2]|0; + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)!=(0|0); + if ($179) { + $180 = HEAP32[$4>>2]|0; + $181 = ((($180)) + 64|0); + $182 = HEAP32[$181>>2]|0; + $183 = (_sqlite3OsFileControl($182,22,0)|0); + HEAP32[$7>>2] = $183; + $184 = HEAP32[$7>>2]|0; + $185 = ($184|0)==(12); + $$ = $185 ? 0 : $183; + HEAP32[$7>>2] = $$; + } + } + $186 = HEAP32[$4>>2]|0; + $187 = ((($186)) + 4|0); + $188 = HEAP8[$187>>0]|0; + $189 = ($188<<24>>24)!=(0); + do { + if (!($189)) { + $190 = HEAP32[$4>>2]|0; + $191 = (_sqlite3PagerUseWal($190)|0); + $192 = ($191|0)!=(0); + if ($192) { + $193 = HEAP32[$4>>2]|0; + $194 = ((($193)) + 216|0); + $195 = HEAP32[$194>>2]|0; + $196 = (_sqlite3WalExclusiveMode($195,0)|0); + $197 = ($196|0)!=(0); + if (!($197)) { + break; + } } - $63 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $63; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); + $198 = HEAP32[$4>>2]|0; + $199 = (_pagerUnlockDb($198,1)|0); + HEAP32[$8>>2] = $199; + $200 = HEAP32[$4>>2]|0; + $201 = ((($200)) + 19|0); + HEAP8[$201>>0] = 0; } } while(0); - HEAP32[$0>>2] = 0; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); + $202 = HEAP32[$4>>2]|0; + $203 = ((($202)) + 17|0); + HEAP8[$203>>0] = 1; + $204 = HEAP32[$4>>2]|0; + $205 = ((($204)) + 20|0); + HEAP8[$205>>0] = 0; + $206 = HEAP32[$7>>2]|0; + $207 = ($206|0)==(0); + $208 = HEAP32[$8>>2]|0; + $209 = HEAP32[$7>>2]|0; + $210 = $207 ? $208 : $209; + HEAP32[$3>>2] = $210; + $211 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($211|0); } -function _fts3TermSelectFinishMerge($p,$pTS) { - $p = $p|0; - $pTS = $pTS|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $aNew = 0, $aOut = 0, $i = 0, $nNew = 0, $nOut = 0, $rc = 0, label = 0, sp = 0; +function _releaseAllSavepoints($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $aOut = sp + 20|0; - $nOut = sp + 16|0; - $i = sp + 12|0; - $nNew = sp + 8|0; - $aNew = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pTS; - HEAP32[$aOut>>2] = 0; - HEAP32[$nOut>>2] = 0; - HEAP32[$i>>2] = 0; - L1: while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = ($3|0)<(16); - if (!($4)) { - label = 10; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + while(1) { + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 104|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($3|0)<($6|0); + $8 = HEAP32[$1>>2]|0; + if (!($7)) { break; } - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = (($6) + ($5<<2)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - do { - if ($9) { - $10 = HEAP32[$aOut>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = (($13) + ($12<<2)|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$aOut>>2] = $15; - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 64|0); - $19 = (($18) + ($16<<2)|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$nOut>>2] = $20; - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = (($22) + ($21<<2)|0); - HEAP32[$23>>2] = 0; - break; - } - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 231|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = (($29) + ($28<<2)|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$i>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 64|0); - $35 = (($34) + ($32<<2)|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$aOut>>2]|0; - $38 = HEAP32[$nOut>>2]|0; - $39 = (_fts3DoclistOrMerge($27,$31,$36,$37,$38,$aNew,$nNew)|0); - HEAP32[$rc>>2] = $39; - $40 = HEAP32[$rc>>2]|0; - $41 = ($40|0)!=(0); - if ($41) { - label = 7; - break L1; - } - $44 = HEAP32[$i>>2]|0; - $45 = HEAP32[$2>>2]|0; - $46 = (($45) + ($44<<2)|0); - $47 = HEAP32[$46>>2]|0; - _sqlite3_free($47); - $48 = HEAP32[$aOut>>2]|0; - _sqlite3_free($48); - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$2>>2]|0; - $51 = (($50) + ($49<<2)|0); - HEAP32[$51>>2] = 0; - $52 = HEAP32[$aNew>>2]|0; - HEAP32[$aOut>>2] = $52; - $53 = HEAP32[$nNew>>2]|0; - HEAP32[$nOut>>2] = $53; - } - } while(0); - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; + $9 = ((($8)) + 100|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = (($10) + (($11*48)|0)|0); + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3BitvecDestroy($14); + $15 = HEAP32[$2>>2]|0; + $16 = (($15) + 1)|0; + HEAP32[$2>>2] = $16; } - if ((label|0) == 7) { - $42 = HEAP32[$aOut>>2]|0; - _sqlite3_free($42); - $43 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $43; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + $17 = ((($8)) + 4|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)!=(0); + if ($19) { + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 72|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3JournalIsInMemory($22)|0); + $24 = ($23|0)!=(0); + if ($24) { + label = 6; + } + } else { + label = 6; } - else if ((label|0) == 10) { - $56 = HEAP32[$aOut>>2]|0; - $57 = HEAP32[$2>>2]|0; - HEAP32[$57>>2] = $56; - $58 = HEAP32[$nOut>>2]|0; - $59 = HEAP32[$2>>2]|0; - $60 = ((($59)) + 64|0); - HEAP32[$60>>2] = $58; - HEAP32[$0>>2] = 0; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + if ((label|0) == 6) { + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 72|0); + $27 = HEAP32[$26>>2]|0; + _sqlite3OsClose($27); } - return (0)|0; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 100|0); + $30 = HEAP32[$29>>2]|0; + _sqlite3_free($30); + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 100|0); + HEAP32[$32>>2] = 0; + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 104|0); + HEAP32[$34>>2] = 0; + $35 = HEAP32[$1>>2]|0; + $36 = ((($35)) + 56|0); + HEAP32[$36>>2] = 0; + STACKTOP = sp;return; } -function _fts3SegReaderCursorFree($pSegcsr) { - $pSegcsr = $pSegcsr|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _sqlite3JournalIsInMemory($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pSegcsr; - $1 = HEAP32[$0>>2]|0; - _sqlite3Fts3SegReaderFinish($1); - $2 = HEAP32[$0>>2]|0; - _sqlite3_free($2); - STACKTOP = sp;return; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(4104|0); + $5 = $4&1; + STACKTOP = sp;return ($5|0); } -function _fts3DoclistOrMerge($bDescDoclist,$a1,$n1,$a2,$n2,$paOut,$pnOut) { - $bDescDoclist = $bDescDoclist|0; - $a1 = $a1|0; - $n1 = $n1|0; - $a2 = $a2|0; - $n2 = $n2|0; - $paOut = $paOut|0; - $pnOut = $pnOut|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0; - var $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, $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, $aOut = 0, $bFirstOut = 0, $i1 = 0, $i2 = 0, $iDiff = 0, $iPrev = 0, $or$cond = 0; - var $or$cond3 = 0, $or$cond5 = 0, $p = 0, $p1 = 0, $p2 = 0, $pEnd1 = 0, $pEnd2 = 0, label = 0, sp = 0; +function _sqlite3OsTruncate($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; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 88|0; - $1 = sp + 84|0; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = sp + 64|0; - $7 = sp + 60|0; - $i1 = sp + 24|0; - $i2 = sp + 16|0; - $iPrev = sp + 8|0; - $pEnd1 = sp + 56|0; - $pEnd2 = sp + 52|0; - $p1 = sp + 48|0; - $p2 = sp + 44|0; - $p = sp + 40|0; - $aOut = sp + 36|0; - $bFirstOut = sp + 32|0; - $iDiff = sp; - HEAP32[$1>>2] = $bDescDoclist; - HEAP32[$2>>2] = $a1; - HEAP32[$3>>2] = $n1; - HEAP32[$4>>2] = $a2; - HEAP32[$5>>2] = $n2; - HEAP32[$6>>2] = $paOut; - HEAP32[$7>>2] = $pnOut; - $8 = $i1; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$3>>2] = $0; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $1; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = $4; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (FUNCTION_TABLE_iiii[$12 & 255]($13,$16,$19)|0); + STACKTOP = sp;return ($20|0); +} +function _sqlite3OsSync($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (FUNCTION_TABLE_iii[$7 & 255]($8,$9)|0); + STACKTOP = sp;return ($10|0); +} +function _zeroJournalHdr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 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, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 80|0); $9 = $8; - HEAP32[$9>>2] = 0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = 0; - $12 = $i2; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; $13 = $12; - HEAP32[$13>>2] = 0; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = 0; - $16 = $iPrev; - $17 = $16; - HEAP32[$17>>2] = 0; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = 0; - $20 = HEAP32[$3>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = (($21) + ($20)|0); - HEAP32[$pEnd1>>2] = $22; - $23 = HEAP32[$5>>2]|0; - $24 = HEAP32[$4>>2]|0; - $25 = (($24) + ($23)|0); - HEAP32[$pEnd2>>2] = $25; - $26 = HEAP32[$2>>2]|0; - HEAP32[$p1>>2] = $26; - $27 = HEAP32[$4>>2]|0; - HEAP32[$p2>>2] = $27; - HEAP32[$bFirstOut>>2] = 0; - $28 = HEAP32[$6>>2]|0; - HEAP32[$28>>2] = 0; - $29 = HEAP32[$7>>2]|0; - HEAP32[$29>>2] = 0; + $14 = HEAP32[$13>>2]|0; + $15 = ($11|0)!=(0); + $16 = ($14|0)!=(0); + $17 = $15 | $16; + if (!($17)) { + $107 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($107|0); + } + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 168|0); + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = $5; + $27 = $26; + HEAP32[$27>>2] = $22; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $25; $30 = HEAP32[$3>>2]|0; - $31 = HEAP32[$5>>2]|0; - $32 = (($30) + ($31))|0; - $33 = (($32) + 10)|0; - $34 = (($33) - 1)|0; - $35 = (_sqlite3_malloc($34)|0); - HEAP32[$aOut>>2] = $35; - $36 = HEAP32[$aOut>>2]|0; - $37 = ($36|0)!=(0|0); - if (!($37)) { - HEAP32[$0>>2] = 7; - $132 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($132|0); + $31 = ($30|0)!=(0); + $32 = $5; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)==(0); + $39 = ($37|0)==(0); + $40 = $38 & $39; + $or$cond = $31 | $40; + $41 = HEAP32[$2>>2]|0; + $42 = ((($41)) + 68|0); + $43 = HEAP32[$42>>2]|0; + if ($or$cond) { + $44 = (_sqlite3OsTruncate($43,0,0)|0); + HEAP32[$4>>2] = $44; + } else { + $45 = (_sqlite3OsWrite($43,56012,28,0,0)|0); + HEAP32[$4>>2] = $45; } - $38 = HEAP32[$aOut>>2]|0; - HEAP32[$p>>2] = $38; - $39 = HEAP32[$pEnd1>>2]|0; - _fts3GetDeltaVarint3($p1,$39,0,$i1); - $40 = HEAP32[$pEnd2>>2]|0; - _fts3GetDeltaVarint3($p2,$40,0,$i2); - while(1) { - $41 = HEAP32[$p1>>2]|0; - $42 = ($41|0)!=(0|0); - $43 = HEAP32[$p2>>2]|0; - $44 = ($43|0)!=(0|0); - $45 = $42 ? 1 : $44; - if (!($45)) { - break; - } - $46 = HEAP32[$1>>2]|0; - $47 = ($46|0)!=(0); - $48 = $47 ? -1 : 1; - $49 = ($48|0)<(0); - $50 = $49 << 31 >> 31; - $51 = $i1; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (($51) + 4)|0; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = $i2; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (_i64Subtract(($53|0),($56|0),($59|0),($62|0))|0); - $64 = tempRet0; - $65 = (___muldi3(($48|0),($50|0),($63|0),($64|0))|0); - $66 = tempRet0; - $67 = $iDiff; - $68 = $67; - HEAP32[$68>>2] = $65; - $69 = (($67) + 4)|0; - $70 = $69; - HEAP32[$70>>2] = $66; - $71 = HEAP32[$p2>>2]|0; - $72 = ($71|0)!=(0|0); - $73 = HEAP32[$p1>>2]|0; - $74 = ($73|0)!=(0|0); - $or$cond = $72 & $74; - $75 = $iDiff; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = ($77|0)==(0); - $82 = ($80|0)==(0); - $83 = $81 & $82; - $or$cond3 = $or$cond & $83; - if ($or$cond3) { - $84 = HEAP32[$1>>2]|0; - $85 = $i1; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - _fts3PutDeltaVarint3($p,$84,$iPrev,$bFirstOut,$87,$90); - _fts3PoslistMerge($p,$p1,$p2); - $91 = HEAP32[$pEnd1>>2]|0; - $92 = HEAP32[$1>>2]|0; - _fts3GetDeltaVarint3($p1,$91,$92,$i1); - $93 = HEAP32[$pEnd2>>2]|0; - $94 = HEAP32[$1>>2]|0; - _fts3GetDeltaVarint3($p2,$93,$94,$i2); - continue; - } - $95 = HEAP32[$p2>>2]|0; - $96 = ($95|0)!=(0|0); - if ($96) { - $97 = HEAP32[$p1>>2]|0; - $98 = ($97|0)!=(0|0); - $99 = $iDiff; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = (($99) + 4)|0; - $103 = $102; - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)<(0); - $or$cond5 = $98 & $105; - if (!($or$cond5)) { - $115 = HEAP32[$1>>2]|0; - $116 = $i2; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - _fts3PutDeltaVarint3($p,$115,$iPrev,$bFirstOut,$118,$121); - _fts3PoslistCopy($p,$p2); - $122 = HEAP32[$pEnd2>>2]|0; - $123 = HEAP32[$1>>2]|0; - _fts3GetDeltaVarint3($p2,$122,$123,$i2); - continue; - } + $46 = HEAP32[$4>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 7|0); + $50 = HEAP8[$49>>0]|0; + $51 = ($50<<24>>24)!=(0); + if (!($51)) { + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 68|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$2>>2]|0; + $56 = ((($55)) + 12|0); + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = 16 | $58; + $60 = (_sqlite3OsSync($54,$59)|0); + HEAP32[$4>>2] = $60; } - $106 = HEAP32[$1>>2]|0; - $107 = $i1; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (($107) + 4)|0; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - _fts3PutDeltaVarint3($p,$106,$iPrev,$bFirstOut,$109,$112); - _fts3PoslistCopy($p,$p1); - $113 = HEAP32[$pEnd1>>2]|0; - $114 = HEAP32[$1>>2]|0; - _fts3GetDeltaVarint3($p1,$113,$114,$i1); } - $124 = HEAP32[$aOut>>2]|0; - $125 = HEAP32[$6>>2]|0; - HEAP32[$125>>2] = $124; - $126 = HEAP32[$p>>2]|0; - $127 = HEAP32[$aOut>>2]|0; - $128 = $126; - $129 = $127; - $130 = (($128) - ($129))|0; - $131 = HEAP32[$7>>2]|0; - HEAP32[$131>>2] = $130; - HEAP32[$0>>2] = 0; - $132 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($132|0); -} -function _fts3PoslistMerge($pp,$pp1,$pp2) { - $pp = $pp|0; - $pp1 = $pp1|0; - $pp2 = $pp2|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i1 = 0, $i2 = 0, $iCol1 = 0, $iCol2 = 0, $iPrev = 0, $n = 0, $p = 0, $p1 = 0, $p2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $p = sp + 44|0; - $p1 = sp + 40|0; - $p2 = sp + 36|0; - $iCol1 = sp + 32|0; - $iCol2 = sp + 28|0; - $i1 = sp + 16|0; - $i2 = sp + 8|0; - $iPrev = sp; - $n = sp + 24|0; - HEAP32[$0>>2] = $pp; - HEAP32[$1>>2] = $pp1; - HEAP32[$2>>2] = $pp2; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$p1>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$p2>>2] = $8; - L1: while(1) { - $9 = HEAP32[$p1>>2]|0; - $10 = HEAP8[$9>>0]|0; - $11 = $10 << 24 >> 24; - $12 = ($11|0)!=(0); - if (!($12)) { - $13 = HEAP32[$p2>>2]|0; - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = ($15|0)!=(0); - if (!($16)) { - break; - } - } - $17 = HEAP32[$p1>>2]|0; - $18 = HEAP8[$17>>0]|0; - $19 = $18 << 24 >> 24; - $20 = ($19|0)==(1); - $21 = HEAP32[$p1>>2]|0; - do { - if ($20) { - $22 = ((($21)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 & 128; - $26 = ($25|0)!=(0); - $27 = HEAP32[$p1>>2]|0; - $28 = ((($27)) + 1|0); - if ($26) { - (_sqlite3Fts3GetVarint32($28,$iCol1)|0); - break; - } else { - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - HEAP32[$iCol1>>2] = $30; - break; - } - } else { - $31 = HEAP8[$21>>0]|0; - $32 = $31 << 24 >> 24; - $33 = ($32|0)==(0); - if ($33) { - HEAP32[$iCol1>>2] = 2147483647; - break; - } else { - HEAP32[$iCol1>>2] = 0; - break; - } - } - } while(0); - $34 = HEAP32[$p2>>2]|0; - $35 = HEAP8[$34>>0]|0; - $36 = $35 << 24 >> 24; - $37 = ($36|0)==(1); - $38 = HEAP32[$p2>>2]|0; - do { - if ($37) { - $39 = ((($38)) + 1|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = $41 & 128; - $43 = ($42|0)!=(0); - $44 = HEAP32[$p2>>2]|0; - $45 = ((($44)) + 1|0); - if ($43) { - (_sqlite3Fts3GetVarint32($45,$iCol2)|0); - break; - } else { - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - HEAP32[$iCol2>>2] = $47; - break; - } - } else { - $48 = HEAP8[$38>>0]|0; - $49 = $48 << 24 >> 24; - $50 = ($49|0)==(0); - if ($50) { - HEAP32[$iCol2>>2] = 2147483647; - break; - } else { - HEAP32[$iCol2>>2] = 0; - break; - } - } - } while(0); - $51 = HEAP32[$iCol1>>2]|0; - $52 = HEAP32[$iCol2>>2]|0; - $53 = ($51|0)==($52|0); - if (!($53)) { - $168 = HEAP32[$iCol1>>2]|0; - $169 = HEAP32[$iCol2>>2]|0; - $170 = ($168|0)<($169|0); - if ($170) { - $171 = HEAP32[$iCol1>>2]|0; - $172 = (_fts3PutColNumber($p,$171)|0); - $173 = HEAP32[$p1>>2]|0; - $174 = (($173) + ($172)|0); - HEAP32[$p1>>2] = $174; - _fts3ColumnlistCopy($p,$p1); - continue; - } else { - $175 = HEAP32[$iCol2>>2]|0; - $176 = (_fts3PutColNumber($p,$175)|0); - $177 = HEAP32[$p2>>2]|0; - $178 = (($177) + ($176)|0); - HEAP32[$p2>>2] = $178; - _fts3ColumnlistCopy($p,$p2); - continue; - } - } - $54 = $i1; - $55 = $54; - HEAP32[$55>>2] = 0; - $56 = (($54) + 4)|0; - $57 = $56; - HEAP32[$57>>2] = 0; - $58 = $i2; - $59 = $58; - HEAP32[$59>>2] = 0; - $60 = (($58) + 4)|0; - $61 = $60; - HEAP32[$61>>2] = 0; - $62 = $iPrev; - $63 = $62; - HEAP32[$63>>2] = 0; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = 0; - $66 = HEAP32[$iCol1>>2]|0; - $67 = (_fts3PutColNumber($p,$66)|0); - HEAP32[$n>>2] = $67; - $68 = HEAP32[$n>>2]|0; - $69 = HEAP32[$p1>>2]|0; - $70 = (($69) + ($68)|0); - HEAP32[$p1>>2] = $70; - $71 = HEAP32[$n>>2]|0; - $72 = HEAP32[$p2>>2]|0; - $73 = (($72) + ($71)|0); - HEAP32[$p2>>2] = $73; - _fts3GetDeltaVarint($p1,$i1); - _fts3GetDeltaVarint($p2,$i2); - while(1) { - $74 = $i1; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (($74) + 4)|0; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = $i2; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = (($80) + 4)|0; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = ($79|0)<($85|0); - $87 = ($76>>>0)<($82>>>0); - $88 = ($79|0)==($85|0); - $89 = $88 & $87; - $90 = $86 | $89; - $91 = $i1; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (($91) + 4)|0; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = $i2; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = (($97) + 4)|0; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = $90 ? $93 : $99; - $104 = $90 ? $96 : $102; - _fts3PutDeltaVarint($p,$iPrev,$103,$104); - $105 = $iPrev; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (_i64Subtract(($107|0),($110|0),2,0)|0); - $112 = tempRet0; - $113 = $iPrev; - $114 = $113; - HEAP32[$114>>2] = $111; - $115 = (($113) + 4)|0; - $116 = $115; - HEAP32[$116>>2] = $112; - $117 = $i1; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = $i2; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = (($123) + 4)|0; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = ($119|0)==($125|0); - $130 = ($122|0)==($128|0); - $131 = $129 & $130; - do { - if ($131) { - _fts3ReadNextPos($p1,$i1); - _fts3ReadNextPos($p2,$i2); - } else { - $132 = $i1; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (($132) + 4)|0; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = $i2; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = ($137|0)<($143|0); - $145 = ($134>>>0)<($140>>>0); - $146 = ($137|0)==($143|0); - $147 = $146 & $145; - $148 = $144 | $147; - if ($148) { - _fts3ReadNextPos($p1,$i1); - break; - } else { - _fts3ReadNextPos($p2,$i2); - break; - } - } - } while(0); - $149 = $i1; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = ($151|0)!=(2147483647); - $156 = ($154|0)!=(0); - $157 = $155 | $156; - $158 = $i2; - $159 = $158; - $160 = HEAP32[$159>>2]|0; - $161 = (($158) + 4)|0; - $162 = $161; - $163 = HEAP32[$162>>2]|0; - $164 = ($160|0)!=(2147483647); - $165 = ($163|0)!=(0); - $166 = $164 | $165; - $167 = $157 ? 1 : $166; - if (!($167)) { - continue L1; - } - } + $61 = HEAP32[$4>>2]|0; + $62 = ($61|0)==(0); + $63 = $5; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (($63) + 4)|0; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)>(0); + $70 = ($65>>>0)>(0); + $71 = ($68|0)==(0); + $72 = $71 & $70; + $73 = $69 | $72; + $or$cond3 = $62 & $73; + if (!($or$cond3)) { + $107 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($107|0); } - $179 = HEAP32[$p>>2]|0; - $180 = ((($179)) + 1|0); - HEAP32[$p>>2] = $180; - HEAP8[$179>>0] = 0; - $181 = HEAP32[$p>>2]|0; - $182 = HEAP32[$0>>2]|0; - HEAP32[$182>>2] = $181; - $183 = HEAP32[$p1>>2]|0; - $184 = ((($183)) + 1|0); - $185 = HEAP32[$1>>2]|0; - HEAP32[$185>>2] = $184; - $186 = HEAP32[$p2>>2]|0; - $187 = ((($186)) + 1|0); - $188 = HEAP32[$2>>2]|0; - HEAP32[$188>>2] = $187; - STACKTOP = sp;return; + $74 = HEAP32[$2>>2]|0; + $75 = ((($74)) + 68|0); + $76 = HEAP32[$75>>2]|0; + $77 = (_sqlite3OsFileSize($76,$6)|0); + HEAP32[$4>>2] = $77; + $78 = HEAP32[$4>>2]|0; + $79 = ($78|0)==(0); + if (!($79)) { + $107 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($107|0); + } + $80 = $6; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (($80) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = $5; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = ($85|0)>($91|0); + $93 = ($82>>>0)>($88>>>0); + $94 = ($85|0)==($91|0); + $95 = $94 & $93; + $96 = $92 | $95; + if (!($96)) { + $107 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($107|0); + } + $97 = HEAP32[$2>>2]|0; + $98 = ((($97)) + 68|0); + $99 = HEAP32[$98>>2]|0; + $100 = $5; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (_sqlite3OsTruncate($99,$102,$105)|0); + HEAP32[$4>>2] = $106; + $107 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($107|0); } -function _fts3PutColNumber($pp,$iCol) { - $pp = $pp|0; - $iCol = $iCol|0; - var $0 = 0, $1 = 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, $n = 0; - var $p = 0, label = 0, sp = 0; +function _sqlite3OsDelete($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $n = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pp; - HEAP32[$1>>2] = $iCol; - HEAP32[$n>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0); - if (!($3)) { - $18 = HEAP32[$n>>2]|0; - STACKTOP = sp;return ($18|0); - } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$p>>2] = $5; - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 1|0); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)<(0); - $10 = $9 << 31 >> 31; - $11 = (_sqlite3Fts3PutVarint($7,$8,$10)|0); - $12 = (1 + ($11))|0; - HEAP32[$n>>2] = $12; - $13 = HEAP32[$p>>2]|0; - HEAP8[$13>>0] = 1; - $14 = HEAP32[$n>>2]|0; - $15 = HEAP32[$p>>2]|0; - $16 = (($15) + ($14)|0); - $17 = HEAP32[$0>>2]|0; - HEAP32[$17>>2] = $16; - $18 = HEAP32[$n>>2]|0; - STACKTOP = sp;return ($18|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 28|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = (FUNCTION_TABLE_iiii[$8 & 255]($9,$10,$11)|0); + STACKTOP = sp;return ($12|0); } -function _fts3ReadNextPos($pp,$pi) { - $pp = $pp|0; - $pi = $pi|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3BitvecDestroy($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, $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 + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pp; - HEAP32[$1>>2] = $pi; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $6 = $5 & 254; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - _fts3GetDeltaVarint($8,$9); - $10 = HEAP32[$1>>2]|0; - $11 = $10; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (_i64Subtract(($13|0),($16|0),2,0)|0); - $18 = tempRet0; - $19 = $10; - $20 = $19; - HEAP32[$20>>2] = $17; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = $18; - STACKTOP = sp;return; - } else { - $23 = HEAP32[$1>>2]|0; - $24 = $23; - $25 = $24; - HEAP32[$25>>2] = 2147483647; - $26 = (($24) + 4)|0; - $27 = $26; - HEAP32[$27>>2] = 0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { STACKTOP = sp;return; } + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0); + L4: do { + if ($8) { + HEAP32[$2>>2] = 0; + while(1) { + $9 = HEAP32[$2>>2]|0; + $10 = ($9>>>0)<(125); + if (!($10)) { + break L4; + } + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$2>>2]|0; + $14 = (($12) + ($13<<2)|0); + $15 = HEAP32[$14>>2]|0; + _sqlite3BitvecDestroy($15); + $16 = HEAP32[$2>>2]|0; + $17 = (($16) + 1)|0; + HEAP32[$2>>2] = $17; + } + } + } while(0); + $18 = HEAP32[$1>>2]|0; + _sqlite3_free($18); + STACKTOP = sp;return; } -function _fts3CursorSeek($pContext,$pCsr) { - $pContext = $pContext|0; - $pCsr = $pCsr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $or$cond = 0, $pStmt = 0, $rc = 0, label = 0, sp = 0; +function _pagerFlushOnCommit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 8|0; - $rc = sp + 4|0; - $pStmt = sp; - HEAP32[$1>>2] = $pContext; - HEAP32[$2>>2] = $pCsr; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 7|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if ($6) { - HEAP32[$pStmt>>2] = 0; - $7 = HEAP32[$2>>2]|0; - $8 = (_fts3CursorSeekStmt($7,$pStmt)|0); - HEAP32[$rc>>2] = $8; - $9 = HEAP32[$rc>>2]|0; - $10 = ($9|0)==(0); - if ($10) { - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 32|0); - $16 = $15; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + 4)|0; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - (_sqlite3_bind_int64($13,1,$18,$21)|0); - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 7|0); - HEAP8[$23>>0] = 0; - $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_sqlite3_step($26)|0); - $28 = (100)==($27|0); - if ($28) { - HEAP32[$0>>2] = 0; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 13|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(0); + do { + if ($9) { + HEAP32[$2>>2] = 1; + } else { + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)!=(0); + if (!($11)) { + HEAP32[$2>>2] = 0; + break; } - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = (_sqlite3_reset($31)|0); - HEAP32[$rc>>2] = $32; - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$2>>2]|0; - $36 = HEAP32[$35>>2]|0; - $37 = ((($36)) + 40|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==(0|0); - if ($39) { - HEAP32[$rc>>2] = 267; - $40 = HEAP32[$2>>2]|0; - $41 = ((($40)) + 6|0); - HEAP8[$41>>0] = 1; - } + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 64|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)!=(0|0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 212|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3PCachePercentDirty($19)|0); + $21 = ($20|0)>=(25); + $22 = $21&1; + HEAP32[$2>>2] = $22; + break; + } else { + HEAP32[$2>>2] = 0; + break; } } - } - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)!=(0); - $44 = HEAP32[$1>>2]|0; - $45 = ($44|0)!=(0|0); - $or$cond = $43 & $45; - if ($or$cond) { - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$rc>>2]|0; - _sqlite3_result_error_code($46,$47); - } - $48 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $48; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); + } while(0); + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } -function _sqlite3Fts3CacheDeferredDoclists($pCsr) { - $pCsr = $pCsr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iDocid = 0, $iDum1 = 0, $iDum2 = 0, $iPos = 0, $nToken = 0, $or$cond = 0, $p = 0; - var $pDef = 0, $pModule = 0, $pPT = 0, $pT = 0, $pTC = 0, $rc = 0, $zText = 0, $zToken = 0, label = 0, sp = 0; +function _sqlite3PcacheCleanAll($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $rc = sp + 60|0; - $i = sp + 56|0; - $iDocid = sp; - $pDef = sp + 52|0; - $p = sp + 48|0; - $pT = sp + 44|0; - $pModule = sp + 40|0; - $zText = sp + 36|0; - $pTC = sp + 32|0; - $zToken = sp + 28|0; - $nToken = sp + 24|0; - $iDum1 = sp + 20|0; - $iDum2 = sp + 16|0; - $iPos = sp + 12|0; - $pPT = sp + 8|0; - HEAP32[$0>>2] = $pCsr; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $151 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($151|0); - } - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = ((($7)) + 36|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$pT>>2] = $9; - $10 = HEAP32[$pT>>2]|0; - $11 = HEAP32[$10>>2]|0; - HEAP32[$pModule>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3_column_int64($14,0)|0); - $16 = tempRet0; - $17 = $iDocid; - $18 = $17; - HEAP32[$18>>2] = $15; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $16; - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 24|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($21|0)<($24|0); - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)==(0); - $28 = $25 ? $27 : 0; - if (!($28)) { + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $4; + $5 = ($4|0)!=(0|0); + if (!($5)) { break; } - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 32|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + ($29)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 8|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$i>>2]|0; - $41 = (($40) + 1)|0; - $42 = (_sqlite3_column_text($39,$41)|0); - HEAP32[$zText>>2] = $42; - HEAP32[$pTC>>2] = 0; - $43 = HEAP32[$pT>>2]|0; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 16|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$zText>>2]|0; - $48 = (_sqlite3Fts3OpenTokenizer($43,$46,$47,-1,$pTC)|0); - HEAP32[$rc>>2] = $48; - L9: while(1) { - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(0); - if (!($50)) { - break; - } - HEAP32[$nToken>>2] = 0; - HEAP32[$iDum1>>2] = 0; - HEAP32[$iDum2>>2] = 0; - HEAP32[$iPos>>2] = 0; - $51 = HEAP32[$pModule>>2]|0; - $52 = ((($51)) + 20|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$pTC>>2]|0; - $55 = (FUNCTION_TABLE_iiiiiii[$53 & 255]($54,$zToken,$nToken,$iDum1,$iDum2,$iPos)|0); - HEAP32[$rc>>2] = $55; - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 24|0); - $58 = HEAP32[$57>>2]|0; - HEAP32[$pDef>>2] = $58; - while(1) { - $59 = HEAP32[$pDef>>2]|0; - $60 = ($59|0)!=(0|0); - $61 = HEAP32[$rc>>2]|0; - $62 = ($61|0)==(0); - $63 = $60 ? $62 : 0; - if (!($63)) { - continue L9; - } - $64 = HEAP32[$pDef>>2]|0; - $65 = HEAP32[$64>>2]|0; - HEAP32[$pPT>>2] = $65; - $66 = HEAP32[$pDef>>2]|0; - $67 = ((($66)) + 4|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$p>>2]|0; - $70 = ((($69)) + 24|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($68|0)>=($71|0); - if ($72) { - label = 11; - } else { - $73 = HEAP32[$pDef>>2]|0; - $74 = ((($73)) + 4|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$i>>2]|0; - $77 = ($75|0)==($76|0); - if ($77) { - label = 11; - } - } - do { - if ((label|0) == 11) { - label = 0; - $78 = HEAP32[$pPT>>2]|0; - $79 = ((($78)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)==(0); - $82 = HEAP32[$iPos>>2]|0; - $83 = ($82|0)==(0); - $or$cond = $81 | $83; - if ($or$cond) { - $84 = HEAP32[$pPT>>2]|0; - $85 = ((($84)) + 4|0); - $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[$nToken>>2]|0; - $88 = ($86|0)==($87|0); - if (!($88)) { - $89 = HEAP32[$pPT>>2]|0; - $90 = ((($89)) + 8|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)!=(0); - if (!($92)) { - break; - } - $93 = HEAP32[$pPT>>2]|0; - $94 = ((($93)) + 4|0); - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$nToken>>2]|0; - $97 = ($95|0)<($96|0); - if (!($97)) { - break; - } - } - $98 = HEAP32[$zToken>>2]|0; - $99 = HEAP32[$pPT>>2]|0; - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[$pPT>>2]|0; - $102 = ((($101)) + 4|0); - $103 = HEAP32[$102>>2]|0; - $104 = (_memcmp($98,$100,$103)|0); - $105 = (0)==($104|0); - if ($105) { - $106 = HEAP32[$pDef>>2]|0; - $107 = ((($106)) + 12|0); - $108 = $iDocid; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (($108) + 4)|0; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$i>>2]|0; - $115 = ($114|0)<(0); - $116 = $115 << 31 >> 31; - $117 = HEAP32[$iPos>>2]|0; - $118 = ($117|0)<(0); - $119 = $118 << 31 >> 31; - (_fts3PendingListAppend($107,$110,$113,$114,$116,$117,$119,$rc)|0); - } - } - } - } while(0); - $120 = HEAP32[$pDef>>2]|0; - $121 = ((($120)) + 8|0); - $122 = HEAP32[$121>>2]|0; - HEAP32[$pDef>>2] = $122; - } - } - $123 = HEAP32[$pTC>>2]|0; - $124 = ($123|0)!=(0|0); - if ($124) { - $125 = HEAP32[$pModule>>2]|0; - $126 = ((($125)) + 16|0); - $127 = HEAP32[$126>>2]|0; - $128 = HEAP32[$pTC>>2]|0; - (FUNCTION_TABLE_ii[$127 & 255]($128)|0); - } - $129 = HEAP32[$rc>>2]|0; - $130 = ($129|0)==(101); - if ($130) { - HEAP32[$rc>>2] = 0; - } - } - $131 = HEAP32[$i>>2]|0; - $132 = (($131) + 1)|0; - HEAP32[$i>>2] = $132; + $6 = HEAP32[$2>>2]|0; + _sqlite3PcacheMakeClean($6); } - $133 = HEAP32[$0>>2]|0; - $134 = ((($133)) + 24|0); - $135 = HEAP32[$134>>2]|0; - HEAP32[$pDef>>2] = $135; + STACKTOP = sp;return; +} +function _sqlite3PcacheClearWritable($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $4; while(1) { - $136 = HEAP32[$pDef>>2]|0; - $137 = ($136|0)!=(0|0); - $138 = HEAP32[$rc>>2]|0; - $139 = ($138|0)==(0); - $140 = $137 ? $139 : 0; - if (!($140)) { + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { break; } - $141 = HEAP32[$pDef>>2]|0; - $142 = ((($141)) + 12|0); - $143 = HEAP32[$142>>2]|0; - $144 = ($143|0)!=(0|0); - if ($144) { - $145 = HEAP32[$pDef>>2]|0; - $146 = ((($145)) + 12|0); - $147 = (_fts3PendingListAppendVarint($146,0,0)|0); - HEAP32[$rc>>2] = $147; - } - $148 = HEAP32[$pDef>>2]|0; - $149 = ((($148)) + 8|0); - $150 = HEAP32[$149>>2]|0; - HEAP32[$pDef>>2] = $150; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 24|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = $10 & -13; + $12 = $11&65535; + HEAP16[$8>>1] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 32|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$2>>2] = $15; } - $151 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($151|0); + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$20>>2] = $18; + STACKTOP = sp;return; } -function _fts3EvalTestExpr($pCsr,$pExpr,$pRc) { - $pCsr = $pCsr|0; - $pExpr = $pExpr|0; - $pRc = $pRc|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bHit = 0, $bHit1 = 0; - var $bHit2 = 0, $p = 0, $pPhrase = 0, label = 0, sp = 0; +function _sqlite3PagerUseWal($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $bHit = sp + 16|0; - $p = sp + 12|0; - $bHit1 = sp + 8|0; - $bHit2 = sp + 4|0; - $pPhrase = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $pRc; - HEAP32[$bHit>>2] = 1; - $3 = HEAP32[$2>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 216|0); $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); + $5 = ($4|0)!=(0|0); + $6 = $5&1; + STACKTOP = sp;return ($6|0); +} +function _sqlite3WalEndWriteTransaction($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 44|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)!=(0); if (!($5)) { - $217 = HEAP32[$bHit>>2]|0; - STACKTOP = sp;return ($217|0); + STACKTOP = sp;return 0; } $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - switch ($7|0) { - case 3: case 1: { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = (_fts3EvalTestExpr($8,$11,$12)|0); - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (_fts3EvalTestExpr($15,$18,$19)|0); - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (_fts3EvalNearTest($22,$23)|0); - $25 = ($24|0)!=(0); - $27 = $25; - } else { - $27 = 0; - } - } else { - $27 = 0; - } - $26 = $27&1; - HEAP32[$bHit>>2] = $26; - $28 = HEAP32[$bHit>>2]|0; - $29 = ($28|0)==(0); - if (!($29)) { - $217 = HEAP32[$bHit>>2]|0; - STACKTOP = sp;return ($217|0); - } - $30 = HEAP32[$1>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(1); - if (!($32)) { - $217 = HEAP32[$bHit>>2]|0; - STACKTOP = sp;return ($217|0); - } - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 8|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - if (!($36)) { - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 8|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)!=(1); - if (!($41)) { - $217 = HEAP32[$bHit>>2]|0; - STACKTOP = sp;return ($217|0); - } - } - $42 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $42; - while(1) { - $43 = HEAP32[$p>>2]|0; - $44 = ((($43)) + 20|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(0|0); - $47 = HEAP32[$p>>2]|0; - if (!($46)) { - break; - } - $48 = ((($47)) + 16|0); - $49 = HEAP32[$48>>2]|0; - $50 = ((($49)) + 24|0); - $51 = $50; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (($51) + 4)|0; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 32|0); - $59 = $58; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (($59) + 4)|0; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = ($53|0)==($61|0); - $66 = ($56|0)==($64|0); - $67 = $65 & $66; - if ($67) { - $68 = HEAP32[$p>>2]|0; - $69 = ((($68)) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = ((($70)) + 20|0); - $72 = HEAP32[$71>>2]|0; - _fts3EvalInvalidatePoslist($72); - } - $73 = HEAP32[$p>>2]|0; - $74 = ((($73)) + 12|0); - $75 = HEAP32[$74>>2]|0; - HEAP32[$p>>2] = $75; + _walUnlockExclusive($6,0,1); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 44|0); + HEAP8[$8>>0] = 0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 104|0); + HEAP32[$10>>2] = 0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 47|0); + HEAP8[$12>>0] = 0; + STACKTOP = sp;return 0; +} +function _pager_truncate($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0; + var $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, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 8|0; + $6 = sp; + $7 = sp + 20|0; + $8 = sp + 16|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 64|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + $134 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($134|0); + } + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 17|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = ($17|0)>=(4); + if (!($18)) { + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 17|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)==(0); + if (!($23)) { + $134 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($134|0); } - $76 = ((($47)) + 24|0); - $77 = $76; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (($77) + 4)|0; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$0>>2]|0; - $84 = ((($83)) + 32|0); - $85 = $84; + } + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 160|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$7>>2] = $26; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 64|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_sqlite3OsFileSize($29,$5)|0); + HEAP32[$4>>2] = $30; + $31 = HEAP32[$7>>2]|0; + $32 = ($31|0)<(0); + $33 = $32 << 31 >> 31; + $34 = HEAP32[$3>>2]|0; + $35 = (___muldi3(($31|0),($33|0),($34|0),0)|0); + $36 = tempRet0; + $37 = $6; + $38 = $37; + HEAP32[$38>>2] = $35; + $39 = (($37) + 4)|0; + $40 = $39; + HEAP32[$40>>2] = $36; + $41 = HEAP32[$4>>2]|0; + $42 = ($41|0)==(0); + if (!($42)) { + $134 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($134|0); + } + $43 = $5; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = $6; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = ($45|0)!=($51|0); + $56 = ($48|0)!=($54|0); + $57 = $55 | $56; + if (!($57)) { + $134 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($134|0); + } + $58 = $5; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = $6; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = ($63|0)>($69|0); + $71 = ($60>>>0)>($66>>>0); + $72 = ($63|0)==($69|0); + $73 = $72 & $71; + $74 = $70 | $73; + if ($74) { + $75 = HEAP32[$2>>2]|0; + $76 = ((($75)) + 64|0); + $77 = HEAP32[$76>>2]|0; + $78 = $6; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (_sqlite3OsTruncate($77,$80,$83)|0); + HEAP32[$4>>2] = $84; + } else { + $85 = $5; $86 = $85; $87 = HEAP32[$86>>2]|0; $88 = (($85) + 4)|0; $89 = $88; $90 = HEAP32[$89>>2]|0; - $91 = ($79|0)==($87|0); - $92 = ($82|0)==($90|0); - $93 = $91 & $92; - if (!($93)) { - $217 = HEAP32[$bHit>>2]|0; - STACKTOP = sp;return ($217|0); + $91 = HEAP32[$7>>2]|0; + $92 = ($91|0)<(0); + $93 = $92 << 31 >> 31; + $94 = (_i64Add(($87|0),($90|0),($91|0),($93|0))|0); + $95 = tempRet0; + $96 = $6; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (($96) + 4)|0; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = ($95|0)<($101|0); + $103 = ($94>>>0)<=($98>>>0); + $104 = ($95|0)==($101|0); + $105 = $104 & $103; + $106 = $102 | $105; + if ($106) { + $107 = HEAP32[$2>>2]|0; + $108 = ((($107)) + 208|0); + $109 = HEAP32[$108>>2]|0; + HEAP32[$8>>2] = $109; + $110 = HEAP32[$8>>2]|0; + $111 = HEAP32[$7>>2]|0; + _memset(($110|0),0,($111|0))|0; + $112 = HEAP32[$2>>2]|0; + $113 = ((($112)) + 64|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$8>>2]|0; + $116 = HEAP32[$7>>2]|0; + $117 = $6; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$7>>2]|0; + $124 = ($123|0)<(0); + $125 = $124 << 31 >> 31; + $126 = (_i64Subtract(($119|0),($122|0),($123|0),($125|0))|0); + $127 = tempRet0; + $128 = (_sqlite3OsWrite($114,$115,$116,$126,$127)|0); + HEAP32[$4>>2] = $128; } - $94 = HEAP32[$p>>2]|0; - $95 = ((($94)) + 20|0); - $96 = HEAP32[$95>>2]|0; - _fts3EvalInvalidatePoslist($96); - $217 = HEAP32[$bHit>>2]|0; - STACKTOP = sp;return ($217|0); - break; } - case 4: { - $97 = HEAP32[$0>>2]|0; - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 12|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[$2>>2]|0; - $102 = (_fts3EvalTestExpr($97,$100,$101)|0); - HEAP32[$bHit1>>2] = $102; - $103 = HEAP32[$0>>2]|0; - $104 = HEAP32[$1>>2]|0; - $105 = ((($104)) + 16|0); - $106 = HEAP32[$105>>2]|0; - $107 = HEAP32[$2>>2]|0; - $108 = (_fts3EvalTestExpr($103,$106,$107)|0); - HEAP32[$bHit2>>2] = $108; - $109 = HEAP32[$bHit1>>2]|0; - $110 = ($109|0)!=(0); - $111 = HEAP32[$bHit2>>2]|0; - $112 = ($111|0)!=(0); - $113 = $110 ? 1 : $112; - $114 = $113&1; - HEAP32[$bHit>>2] = $114; - $217 = HEAP32[$bHit>>2]|0; - STACKTOP = sp;return ($217|0); - break; + $129 = HEAP32[$4>>2]|0; + $130 = ($129|0)==(0); + if (!($130)) { + $134 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($134|0); } - case 2: { - $115 = HEAP32[$0>>2]|0; - $116 = HEAP32[$1>>2]|0; - $117 = ((($116)) + 12|0); - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$2>>2]|0; - $120 = (_fts3EvalTestExpr($115,$118,$119)|0); - $121 = ($120|0)!=(0); - if ($121) { - $122 = HEAP32[$0>>2]|0; - $123 = HEAP32[$1>>2]|0; - $124 = ((($123)) + 16|0); - $125 = HEAP32[$124>>2]|0; - $126 = HEAP32[$2>>2]|0; - $127 = (_fts3EvalTestExpr($122,$125,$126)|0); - $128 = ($127|0)!=(0); - $129 = $128 ^ 1; - $131 = $129; + $131 = HEAP32[$3>>2]|0; + $132 = HEAP32[$2>>2]|0; + $133 = ((($132)) + 36|0); + HEAP32[$133>>2] = $131; + $134 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($134|0); +} +function _sqlite3OsFileControl($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 40|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = (FUNCTION_TABLE_iiii[$9 & 255]($10,$11,$12)|0); + STACKTOP = sp;return ($13|0); +} +function _sqlite3WalExclusiveMode($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + $29 = HEAP32[$3>>2]|0; + $30 = ($29|0)>(0); + $31 = HEAP32[$2>>2]|0; + if ($30) { + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 40|0); + $34 = HEAP16[$33>>1]|0; + $35 = $34 << 16 >> 16; + $36 = (3 + ($35))|0; + _walUnlockShared($31,$36); + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 43|0); + HEAP8[$38>>0] = 1; + HEAP32[$4>>2] = 1; + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); } else { - $131 = 0; + $39 = ((($31)) + 43|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($41|0)==(0); + $43 = $42&1; + HEAP32[$4>>2] = $43; + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); } - $130 = $131&1; - HEAP32[$bHit>>2] = $130; - $217 = HEAP32[$bHit>>2]|0; - STACKTOP = sp;return ($217|0); - break; } - default: { - $132 = HEAP32[$0>>2]|0; - $133 = ((($132)) + 24|0); - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)!=(0|0); - do { - if ($135) { - $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = HEAP32[$0>>2]|0; - $145 = ((($144)) + 32|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = ($140|0)==($148|0); - $153 = ($143|0)==($151|0); - $154 = $152 & $153; - if (!($154)) { - $155 = HEAP32[$1>>2]|0; - $156 = ((($155)) + 34|0); - $157 = HEAP8[$156>>0]|0; - $158 = $157&255; - $159 = ($158|0)!=(0); - if (!($159)) { - break; - } - } - $160 = HEAP32[$1>>2]|0; - $161 = ((($160)) + 20|0); - $162 = HEAP32[$161>>2]|0; - HEAP32[$pPhrase>>2] = $162; - $163 = HEAP32[$1>>2]|0; - $164 = ((($163)) + 34|0); - $165 = HEAP8[$164>>0]|0; - $166 = ($165<<24>>24)!=(0); - if ($166) { - $167 = HEAP32[$pPhrase>>2]|0; - _fts3EvalInvalidatePoslist($167); - } - $168 = HEAP32[$0>>2]|0; - $169 = HEAP32[$pPhrase>>2]|0; - $170 = (_fts3EvalDeferredPhrase($168,$169)|0); - $171 = HEAP32[$2>>2]|0; - HEAP32[$171>>2] = $170; - $172 = HEAP32[$pPhrase>>2]|0; - $173 = ((($172)) + 28|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)!=(0|0); - $176 = $175&1; - HEAP32[$bHit>>2] = $176; - $177 = HEAP32[$0>>2]|0; - $178 = ((($177)) + 32|0); - $179 = $178; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $182 = (($179) + 4)|0; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = HEAP32[$1>>2]|0; - $186 = ((($185)) + 24|0); - $187 = $186; - $188 = $187; - HEAP32[$188>>2] = $181; - $189 = (($187) + 4)|0; - $190 = $189; - HEAP32[$190>>2] = $184; - $217 = HEAP32[$bHit>>2]|0; - STACKTOP = sp;return ($217|0); - } - } while(0); - $191 = HEAP32[$1>>2]|0; - $192 = ((($191)) + 32|0); - $193 = HEAP8[$192>>0]|0; - $194 = $193&255; - $195 = ($194|0)==(0); - if ($195) { - $196 = HEAP32[$1>>2]|0; - $197 = ((($196)) + 24|0); - $198 = $197; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = (($198) + 4)|0; - $202 = $201; - $203 = HEAP32[$202>>2]|0; - $204 = HEAP32[$0>>2]|0; - $205 = ((($204)) + 32|0); - $206 = $205; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = (($206) + 4)|0; - $210 = $209; - $211 = HEAP32[$210>>2]|0; - $212 = ($200|0)==($208|0); - $213 = ($203|0)==($211|0); - $214 = $212 & $213; - $216 = $214; - } else { - $216 = 0; - } - $215 = $216&1; - HEAP32[$bHit>>2] = $215; - $217 = HEAP32[$bHit>>2]|0; - STACKTOP = sp;return ($217|0); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 43|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + if (!($10)) { + HEAP32[$4>>2] = 0; + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); } + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 43|0); + HEAP8[$12>>0] = 0; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 40|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16 << 16 >> 16; + $18 = (3 + ($17))|0; + $19 = (_walLockShared($13,$18)|0); + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 43|0); + HEAP8[$22>>0] = 1; } - return (0)|0; + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 43|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($26|0)==(0); + $28 = $27&1; + HEAP32[$4>>2] = $28; + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); } -function _sqlite3Fts3FreeDeferredDoclists($pCsr) { - $pCsr = $pCsr|0; - var $0 = 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, $pDef = 0, label = 0, sp = 0; +function _pagerUnlockDb($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pDef = sp; - HEAP32[$0>>2] = $pCsr; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pDef>>2] = $3; - while(1) { - $4 = HEAP32[$pDef>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - break; - } - $6 = HEAP32[$pDef>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - _fts3PendingListDelete($8); - $9 = HEAP32[$pDef>>2]|0; - $10 = ((($9)) + 12|0); - HEAP32[$10>>2] = 0; - $11 = HEAP32[$pDef>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pDef>>2] = $13; - } - STACKTOP = sp;return; -} -function _fts3EvalNearTest($pExpr,$pRc) { - $pExpr = $pExpr|0; - $pRc = $pRc|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $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, $aPoslist = 0, $aTmp = 0, $nNear = 0, $nNear1 = 0, $nTmp = 0; - var $nToken = 0, $or$cond = 0, $p = 0, $pPhrase = 0, $pPhrase2 = 0, $res = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $res = sp + 36|0; - $p = sp + 32|0; - $nTmp = sp + 28|0; - $aTmp = sp + 24|0; - $aPoslist = sp + 20|0; - $nToken = sp + 16|0; - $pPhrase = sp + 12|0; - $nNear = sp + 8|0; - $nNear1 = sp + 4|0; - $pPhrase2 = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $pRc; - HEAP32[$res>>2] = 1; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $134 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($134|0); - } - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(1); - if (!($7)) { - $134 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($134|0); - } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 32|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)==(0); - if (!($12)) { - $134 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($134|0); - } - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)==(0|0); - if (!($16)) { - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(1); - if (!($21)) { - $134 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($134|0); - } + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 64|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + $30 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($30|0); } - HEAP32[$nTmp>>2] = 0; - $22 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $22; - while(1) { - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)!=(0|0); - $27 = HEAP32[$p>>2]|0; - if (!($26)) { - break; - } - $28 = ((($27)) + 16|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 20|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($31)) + 32|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$nTmp>>2]|0; - $35 = (($34) + ($33))|0; - HEAP32[$nTmp>>2] = $35; - $36 = HEAP32[$p>>2]|0; - $37 = ((($36)) + 12|0); - $38 = HEAP32[$37>>2]|0; - HEAP32[$p>>2] = $38; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 14|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)!=(0); + if ($14) { + $20 = 0; + } else { + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 64|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = (_sqlite3OsUnlock($17,$18)|0); + $20 = $19; } - $39 = ((($27)) + 20|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($40)) + 32|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$nTmp>>2]|0; - $44 = (($43) + ($42))|0; - HEAP32[$nTmp>>2] = $44; - $45 = HEAP32[$nTmp>>2]|0; - $46 = ($45|0)==(0); - if ($46) { - HEAP32[$res>>2] = 0; - $134 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($134|0); + HEAP32[$4>>2] = $20; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 18|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = ($24|0)!=(5); + if (!($25)) { + $30 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($30|0); } - $47 = HEAP32[$nTmp>>2]|0; - $48 = $47<<1; - $49 = (_sqlite3_malloc($48)|0); - HEAP32[$aTmp>>2] = $49; - $50 = HEAP32[$aTmp>>2]|0; - $51 = ($50|0)!=(0|0); - L22: do { - if ($51) { - $53 = HEAP32[$p>>2]|0; - $54 = ((($53)) + 20|0); - $55 = HEAP32[$54>>2]|0; - $56 = ((($55)) + 28|0); - $57 = HEAP32[$56>>2]|0; - HEAP32[$aPoslist>>2] = $57; - $58 = HEAP32[$p>>2]|0; - $59 = ((($58)) + 20|0); - $60 = HEAP32[$59>>2]|0; - $61 = ((($60)) + 64|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$nToken>>2] = $62; - $63 = HEAP32[$p>>2]|0; - $64 = ((($63)) + 8|0); - $65 = HEAP32[$64>>2]|0; - HEAP32[$p>>2] = $65; - while(1) { - $66 = HEAP32[$res>>2]|0; - $67 = ($66|0)!=(0); - $68 = HEAP32[$p>>2]|0; - $69 = ($68|0)!=(0|0); - $or$cond = $67 & $69; - if (!($or$cond)) { - break; - } - $70 = HEAP32[$p>>2]|0; - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)==(1); - if (!($72)) { - break; - } - $73 = HEAP32[$p>>2]|0; - $74 = ((($73)) + 16|0); - $75 = HEAP32[$74>>2]|0; - $76 = ((($75)) + 20|0); - $77 = HEAP32[$76>>2]|0; - HEAP32[$pPhrase>>2] = $77; - $78 = HEAP32[$p>>2]|0; - $79 = ((($78)) + 4|0); - $80 = HEAP32[$79>>2]|0; - HEAP32[$nNear>>2] = $80; - $81 = HEAP32[$nNear>>2]|0; - $82 = HEAP32[$aTmp>>2]|0; - $83 = HEAP32[$pPhrase>>2]|0; - $84 = (_fts3EvalNearTrim($81,$82,$aPoslist,$nToken,$83)|0); - HEAP32[$res>>2] = $84; - $85 = HEAP32[$p>>2]|0; - $86 = ((($85)) + 8|0); - $87 = HEAP32[$86>>2]|0; - HEAP32[$p>>2] = $87; - } - $88 = HEAP32[$0>>2]|0; - $89 = ((($88)) + 16|0); - $90 = HEAP32[$89>>2]|0; - $91 = ((($90)) + 20|0); - $92 = HEAP32[$91>>2]|0; - $93 = ((($92)) + 28|0); - $94 = HEAP32[$93>>2]|0; - HEAP32[$aPoslist>>2] = $94; - $95 = HEAP32[$0>>2]|0; - $96 = ((($95)) + 16|0); - $97 = HEAP32[$96>>2]|0; - $98 = ((($97)) + 20|0); - $99 = HEAP32[$98>>2]|0; - $100 = ((($99)) + 64|0); - $101 = HEAP32[$100>>2]|0; - HEAP32[$nToken>>2] = $101; - $102 = HEAP32[$0>>2]|0; - $103 = ((($102)) + 12|0); - $104 = HEAP32[$103>>2]|0; - HEAP32[$p>>2] = $104; - while(1) { - $105 = HEAP32[$p>>2]|0; - $106 = ($105|0)!=(0|0); - $107 = HEAP32[$res>>2]|0; - $108 = ($107|0)!=(0); - $109 = $106 ? $108 : 0; - if (!($109)) { - break L22; - } - $110 = HEAP32[$p>>2]|0; - $111 = ((($110)) + 8|0); - $112 = HEAP32[$111>>2]|0; - $113 = ((($112)) + 4|0); - $114 = HEAP32[$113>>2]|0; - HEAP32[$nNear1>>2] = $114; - $115 = HEAP32[$p>>2]|0; - $116 = HEAP32[$115>>2]|0; - $117 = ($116|0)==(1); - $118 = HEAP32[$p>>2]|0; - if ($117) { - $119 = ((($118)) + 16|0); - $120 = HEAP32[$119>>2]|0; - $121 = ((($120)) + 20|0); - $122 = HEAP32[$121>>2]|0; - $125 = $122; - } else { - $123 = ((($118)) + 20|0); - $124 = HEAP32[$123>>2]|0; - $125 = $124; - } - HEAP32[$pPhrase2>>2] = $125; - $126 = HEAP32[$nNear1>>2]|0; - $127 = HEAP32[$aTmp>>2]|0; - $128 = HEAP32[$pPhrase2>>2]|0; - $129 = (_fts3EvalNearTrim($126,$127,$aPoslist,$nToken,$128)|0); - HEAP32[$res>>2] = $129; - $130 = HEAP32[$p>>2]|0; - $131 = ((($130)) + 12|0); - $132 = HEAP32[$131>>2]|0; - HEAP32[$p>>2] = $132; - } - } else { - $52 = HEAP32[$1>>2]|0; - HEAP32[$52>>2] = 7; - HEAP32[$res>>2] = 0; - } - } while(0); - $133 = HEAP32[$aTmp>>2]|0; - _sqlite3_free($133); - $134 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($134|0); + $26 = HEAP32[$3>>2]|0; + $27 = $26&255; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 18|0); + HEAP8[$29>>0] = $27; + $30 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($30|0); } -function _fts3EvalDeferredPhrase($pCsr,$pPhrase) { - $pCsr = $pCsr|0; - $pPhrase = $pPhrase|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $14 = 0, $15 = 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, $aOut = 0, $aOut3 = 0, $aPoslist = 0, $iPrev = 0, $iToken = 0, $nDistance = 0, $nList = 0, $nMaxUndeferred = 0, $nPoslist = 0, $p1 = 0; - var $p11 = 0, $p2 = 0, $p22 = 0, $pDeferred = 0, $pList = 0, $pToken = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3OsUnlock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 80|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $iToken = sp + 64|0; - $aPoslist = sp + 60|0; - $nPoslist = sp + 56|0; - $iPrev = sp + 52|0; - $pToken = sp + 48|0; - $pDeferred = sp + 44|0; - $pList = sp + 40|0; - $nList = sp + 36|0; - $rc = sp + 32|0; - $aOut = sp + 28|0; - $p1 = sp + 24|0; - $p2 = sp + 20|0; - $nMaxUndeferred = sp + 16|0; - $nDistance = sp + 12|0; - $p11 = sp + 8|0; - $p22 = sp + 4|0; - $aOut3 = sp; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pPhrase; - HEAP32[$aPoslist>>2] = 0; - HEAP32[$nPoslist>>2] = 0; - HEAP32[$iPrev>>2] = -1; - HEAP32[$iToken>>2] = 0; - while(1) { - $3 = HEAP32[$iToken>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 64|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<($6|0); - if (!($7)) { - label = 14; - break; - } - $8 = HEAP32[$iToken>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 72|0); - $11 = (($10) + (($8*24)|0)|0); - HEAP32[$pToken>>2] = $11; - $12 = HEAP32[$pToken>>2]|0; - $13 = ((($12)) + 16|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pDeferred>>2] = $14; - $15 = HEAP32[$pDeferred>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$pDeferred>>2]|0; - $18 = (_sqlite3Fts3DeferredTokenList($17,$pList,$nList)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)!=(0); - if ($20) { - label = 5; - break; - } - $22 = HEAP32[$pList>>2]|0; - $23 = ($22|0)==(0|0); - $24 = HEAP32[$aPoslist>>2]|0; - if ($23) { - label = 7; - break; - } - $29 = ($24|0)==(0|0); - $30 = HEAP32[$pList>>2]|0; - if ($29) { - HEAP32[$aPoslist>>2] = $30; - $31 = HEAP32[$nList>>2]|0; - HEAP32[$nPoslist>>2] = $31; - } else { - HEAP32[$aOut>>2] = $30; - $32 = HEAP32[$aPoslist>>2]|0; - HEAP32[$p1>>2] = $32; - $33 = HEAP32[$aOut>>2]|0; - HEAP32[$p2>>2] = $33; - $34 = HEAP32[$iToken>>2]|0; - $35 = HEAP32[$iPrev>>2]|0; - $36 = (($34) - ($35))|0; - (_fts3PoslistPhraseMerge($aOut,$36,0,1,$p1,$p2)|0); - $37 = HEAP32[$aPoslist>>2]|0; - _sqlite3_free($37); - $38 = HEAP32[$pList>>2]|0; - HEAP32[$aPoslist>>2] = $38; - $39 = HEAP32[$aOut>>2]|0; - $40 = HEAP32[$aPoslist>>2]|0; - $41 = $39; - $42 = $40; - $43 = (($41) - ($42))|0; - HEAP32[$nPoslist>>2] = $43; - $44 = HEAP32[$nPoslist>>2]|0; - $45 = ($44|0)==(0); - if ($45) { - label = 11; - break; - } - } - $51 = HEAP32[$iToken>>2]|0; - HEAP32[$iPrev>>2] = $51; - } - $52 = HEAP32[$iToken>>2]|0; - $53 = (($52) + 1)|0; - HEAP32[$iToken>>2] = $53; - } - if ((label|0) == 5) { - $21 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $21; - $129 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($129|0); - } - else if ((label|0) == 7) { - _sqlite3_free($24); - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 28|0); - HEAP32[$26>>2] = 0; - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 32|0); - HEAP32[$28>>2] = 0; - HEAP32[$0>>2] = 0; - $129 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($129|0); - } - else if ((label|0) == 11) { - $46 = HEAP32[$aPoslist>>2]|0; - _sqlite3_free($46); - $47 = HEAP32[$2>>2]|0; - $48 = ((($47)) + 28|0); - HEAP32[$48>>2] = 0; - $49 = HEAP32[$2>>2]|0; - $50 = ((($49)) + 32|0); - HEAP32[$50>>2] = 0; - HEAP32[$0>>2] = 0; - $129 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($129|0); - } - else if ((label|0) == 14) { - $54 = HEAP32[$iPrev>>2]|0; - $55 = ($54|0)>=(0); - do { - if ($55) { - $56 = HEAP32[$2>>2]|0; - $57 = ((($56)) + 44|0); - $58 = HEAP32[$57>>2]|0; - HEAP32[$nMaxUndeferred>>2] = $58; - $59 = HEAP32[$nMaxUndeferred>>2]|0; - $60 = ($59|0)<(0); - if ($60) { - $61 = HEAP32[$aPoslist>>2]|0; - $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 28|0); - HEAP32[$63>>2] = $61; - $64 = HEAP32[$nPoslist>>2]|0; - $65 = HEAP32[$2>>2]|0; - $66 = ((($65)) + 32|0); - HEAP32[$66>>2] = $64; - $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 32|0); - $69 = $68; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$2>>2]|0; - $76 = ((($75)) + 16|0); - $77 = $76; - $78 = $77; - HEAP32[$78>>2] = $71; - $79 = (($77) + 4)|0; - $80 = $79; - HEAP32[$80>>2] = $74; - $81 = HEAP32[$2>>2]|0; - $82 = ((($81)) + 24|0); - HEAP32[$82>>2] = 1; - break; - } - $83 = HEAP32[$nMaxUndeferred>>2]|0; - $84 = HEAP32[$iPrev>>2]|0; - $85 = ($83|0)>($84|0); - if ($85) { - $86 = HEAP32[$aPoslist>>2]|0; - HEAP32[$p11>>2] = $86; - $87 = HEAP32[$2>>2]|0; - $88 = ((($87)) + 28|0); - $89 = HEAP32[$88>>2]|0; - HEAP32[$p22>>2] = $89; - $90 = HEAP32[$nMaxUndeferred>>2]|0; - $91 = HEAP32[$iPrev>>2]|0; - $92 = (($90) - ($91))|0; - HEAP32[$nDistance>>2] = $92; - } else { - $93 = HEAP32[$2>>2]|0; - $94 = ((($93)) + 28|0); - $95 = HEAP32[$94>>2]|0; - HEAP32[$p11>>2] = $95; - $96 = HEAP32[$aPoslist>>2]|0; - HEAP32[$p22>>2] = $96; - $97 = HEAP32[$iPrev>>2]|0; - $98 = HEAP32[$nMaxUndeferred>>2]|0; - $99 = (($97) - ($98))|0; - HEAP32[$nDistance>>2] = $99; - } - $100 = HEAP32[$nPoslist>>2]|0; - $101 = (($100) + 8)|0; - $102 = (_sqlite3_malloc($101)|0); - HEAP32[$aOut3>>2] = $102; - $103 = HEAP32[$aOut3>>2]|0; - $104 = ($103|0)!=(0|0); - if (!($104)) { - $105 = HEAP32[$aPoslist>>2]|0; - _sqlite3_free($105); - HEAP32[$0>>2] = 7; - $129 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($129|0); - } - $106 = HEAP32[$aOut3>>2]|0; - $107 = HEAP32[$2>>2]|0; - $108 = ((($107)) + 28|0); - HEAP32[$108>>2] = $106; - $109 = HEAP32[$nDistance>>2]|0; - $110 = (_fts3PoslistPhraseMerge($aOut3,$109,0,1,$p11,$p22)|0); - $111 = ($110|0)!=(0); - if ($111) { - $112 = HEAP32[$2>>2]|0; - $113 = ((($112)) + 24|0); - HEAP32[$113>>2] = 1; - $114 = HEAP32[$aOut3>>2]|0; - $115 = HEAP32[$2>>2]|0; - $116 = ((($115)) + 28|0); - $117 = HEAP32[$116>>2]|0; - $118 = $114; - $119 = $117; - $120 = (($118) - ($119))|0; - $121 = HEAP32[$2>>2]|0; - $122 = ((($121)) + 32|0); - HEAP32[$122>>2] = $120; - } else { - $123 = HEAP32[$aOut3>>2]|0; - _sqlite3_free($123); - $124 = HEAP32[$2>>2]|0; - $125 = ((($124)) + 28|0); - HEAP32[$125>>2] = 0; - $126 = HEAP32[$2>>2]|0; - $127 = ((($126)) + 32|0); - HEAP32[$127>>2] = 0; - } - $128 = HEAP32[$aPoslist>>2]|0; - _sqlite3_free($128); - } - } while(0); - HEAP32[$0>>2] = 0; - $129 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($129|0); - } - return (0)|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (FUNCTION_TABLE_iii[$7 & 255]($8,$9)|0); + STACKTOP = sp;return ($10|0); } -function _sqlite3Fts3DeferredTokenList($p,$ppData,$pnData) { - $p = $p|0; - $ppData = $ppData|0; - $pnData = $pnData|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $dummy = 0, $nSkip = 0, $pRet = 0, label = 0, sp = 0; +function _walLockShared($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $pRet = sp + 12|0; - $nSkip = sp + 8|0; - $dummy = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $ppData; - HEAP32[$3>>2] = $pnData; - $4 = HEAP32[$2>>2]|0; - HEAP32[$4>>2] = 0; - $5 = HEAP32[$3>>2]|0; - HEAP32[$5>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 43|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)!=(0); if ($9) { - HEAP32[$0>>2] = 0; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); - } - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_malloc($13)|0); - HEAP32[$pRet>>2] = $14; - $15 = HEAP32[$pRet>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3Fts3GetVarint($21,$dummy)|0); - HEAP32[$nSkip>>2] = $22; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$nSkip>>2]|0; - $28 = (($26) - ($27))|0; - $29 = HEAP32[$3>>2]|0; - HEAP32[$29>>2] = $28; - $30 = HEAP32[$pRet>>2]|0; - $31 = HEAP32[$2>>2]|0; - HEAP32[$31>>2] = $30; - $32 = HEAP32[$pRet>>2]|0; - $33 = HEAP32[$nSkip>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 12|0); - $36 = HEAP32[$35>>2]|0; - $37 = ((($36)) + 4|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + ($33)|0); - $40 = HEAP32[$3>>2]|0; - $41 = HEAP32[$40>>2]|0; - _memcpy(($32|0),($39|0),($41|0))|0; - HEAP32[$0>>2] = 0; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); + HEAP32[$2>>2] = 0; + $16 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($16|0); } else { - HEAP32[$0>>2] = 7; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = (_sqlite3OsShmLock($12,$13,1,6)|0); + HEAP32[$5>>2] = $14; + $15 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $15; + $16 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($16|0); } return (0)|0; } -function _fts3EvalNearTrim($nNear,$aTmp,$paPoslist,$pnToken,$pPhrase) { - $nNear = $nNear|0; - $aTmp = $aTmp|0; - $paPoslist = $paPoslist|0; - $pnToken = $pnToken|0; - $pPhrase = $pPhrase|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nNew = 0, $nParam1 = 0, $nParam2 = 0, $p2 = 0, $pOut = 0, $res = 0; - var label = 0, sp = 0; +function _walUnlockShared($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $nParam1 = sp + 20|0; - $nParam2 = sp + 16|0; - $nNew = sp + 12|0; - $p2 = sp + 8|0; - $pOut = sp + 4|0; - $res = sp; - HEAP32[$0>>2] = $nNear; - HEAP32[$1>>2] = $aTmp; - HEAP32[$2>>2] = $paPoslist; - HEAP32[$3>>2] = $pnToken; - HEAP32[$4>>2] = $pPhrase; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$4>>2]|0; - $7 = ((($6)) + 64|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($5) + ($8))|0; - HEAP32[$nParam1>>2] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + ($12))|0; - HEAP32[$nParam2>>2] = $13; - $14 = HEAP32[$4>>2]|0; - $15 = ((($14)) + 28|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pOut>>2] = $16; - HEAP32[$p2>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$nParam1>>2]|0; - $19 = HEAP32[$nParam2>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = (_fts3PoslistNearMerge($pOut,$17,$18,$19,$20,$p2)|0); - HEAP32[$res>>2] = $21; - $22 = HEAP32[$res>>2]|0; - $23 = ($22|0)!=(0); - if (!($23)) { - $53 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($53|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 43|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)!=(0); + if ($7) { + STACKTOP = sp;return; } - $24 = HEAP32[$pOut>>2]|0; - $25 = HEAP32[$4>>2]|0; - $26 = ((($25)) + 28|0); - $27 = HEAP32[$26>>2]|0; - $28 = $24; - $29 = $27; - $30 = (($28) - ($29))|0; - $31 = (($30) - 1)|0; - HEAP32[$nNew>>2] = $31; - $32 = HEAP32[$nNew>>2]|0; - $33 = HEAP32[$4>>2]|0; - $34 = ((($33)) + 28|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + ($32)|0); - $37 = HEAP32[$4>>2]|0; - $38 = ((($37)) + 32|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$nNew>>2]|0; - $41 = (($39) - ($40))|0; - _memset(($36|0),0,($41|0))|0; - $42 = HEAP32[$nNew>>2]|0; - $43 = HEAP32[$4>>2]|0; - $44 = ((($43)) + 32|0); - HEAP32[$44>>2] = $42; - $45 = HEAP32[$4>>2]|0; - $46 = ((($45)) + 28|0); - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$2>>2]|0; - HEAP32[$48>>2] = $47; - $49 = HEAP32[$4>>2]|0; - $50 = ((($49)) + 64|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$3>>2]|0; - HEAP32[$52>>2] = $51; - $53 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($53|0); + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$3>>2]|0; + (_sqlite3OsShmLock($10,$11,1,5)|0); + STACKTOP = sp;return; } -function _fts3PoslistNearMerge($pp,$aTmp,$nRight,$nLeft,$pp1,$pp2) { - $pp = $pp|0; - $aTmp = $aTmp|0; - $nRight = $nRight|0; - $nLeft = $nLeft|0; - $pp1 = $pp1|0; - $pp2 = $pp2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aTmp2 = 0, $p1 = 0; - var $p2 = 0, $pTmp1 = 0, $pTmp2 = 0, $res = 0, label = 0, sp = 0; +function _sqlite3OsShmLock($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $p1 = sp + 20|0; - $p2 = sp + 16|0; - $pTmp1 = sp + 12|0; - $pTmp2 = sp + 8|0; - $aTmp2 = sp + 4|0; - $res = sp; - HEAP32[$0>>2] = $pp; - HEAP32[$1>>2] = $aTmp; - HEAP32[$2>>2] = $nRight; - HEAP32[$3>>2] = $nLeft; - HEAP32[$4>>2] = $pp1; - HEAP32[$5>>2] = $pp2; - $6 = HEAP32[$4>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$p1>>2] = $7; - $8 = HEAP32[$5>>2]|0; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; $9 = HEAP32[$8>>2]|0; - HEAP32[$p2>>2] = $9; - $10 = HEAP32[$1>>2]|0; - HEAP32[$pTmp1>>2] = $10; - HEAP32[$res>>2] = 1; - $11 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 56|0); + $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$4>>2]|0; $13 = HEAP32[$5>>2]|0; - (_fts3PoslistPhraseMerge($pTmp1,$11,0,0,$12,$13)|0); - $14 = HEAP32[$pTmp1>>2]|0; - HEAP32[$pTmp2>>2] = $14; - HEAP32[$aTmp2>>2] = $14; - $15 = HEAP32[$p1>>2]|0; - $16 = HEAP32[$4>>2]|0; - HEAP32[$16>>2] = $15; - $17 = HEAP32[$p2>>2]|0; - $18 = HEAP32[$5>>2]|0; - HEAP32[$18>>2] = $17; - $19 = HEAP32[$3>>2]|0; - $20 = HEAP32[$5>>2]|0; - $21 = HEAP32[$4>>2]|0; - (_fts3PoslistPhraseMerge($pTmp2,$19,1,0,$20,$21)|0); - $22 = HEAP32[$pTmp1>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ($22|0)!=($23|0); - if ($24) { - $25 = HEAP32[$pTmp2>>2]|0; - $26 = HEAP32[$aTmp2>>2]|0; - $27 = ($25|0)!=($26|0); - if ($27) { - $28 = HEAP32[$0>>2]|0; - _fts3PoslistMerge($28,$1,$aTmp2); - $37 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($37|0); - } + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = (FUNCTION_TABLE_iiiii[$11 & 255]($12,$13,$14,$15)|0); + STACKTOP = sp;return ($16|0); +} +function _sqlite3OsWrite($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + $9 = $8; + $10 = $9; + HEAP32[$10>>2] = $3; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $4; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = $8; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (FUNCTION_TABLE_iiiiii[$16 & 255]($17,$18,$19,$22,$25)|0); + STACKTOP = sp;return ($26|0); +} +function _walUnlockExclusive($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 43|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)!=(0); + if ($9) { + STACKTOP = sp;return; } - $29 = HEAP32[$pTmp1>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ($29|0)!=($30|0); - if ($31) { - $32 = HEAP32[$0>>2]|0; - _fts3PoslistCopy($32,$1); - $37 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($37|0); + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$5>>2]|0; + (_sqlite3OsShmLock($12,$13,$14,9)|0); + STACKTOP = sp;return; +} +function _sqlite3PCachePercentDirty($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 0; + $5 = HEAP32[$1>>2]|0; + $6 = (_numberOfCachePages($5)|0); + HEAP32[$4>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $8; + while(1) { + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + break; + } + $11 = HEAP32[$3>>2]|0; + $12 = (($11) + 1)|0; + HEAP32[$3>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 32|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$2>>2] = $15; } - $33 = HEAP32[$pTmp2>>2]|0; - $34 = HEAP32[$aTmp2>>2]|0; - $35 = ($33|0)!=($34|0); - if ($35) { - $36 = HEAP32[$0>>2]|0; - _fts3PoslistCopy($36,$aTmp2); - $37 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($37|0); - } else { - HEAP32[$res>>2] = 0; - $37 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($37|0); + $16 = HEAP32[$4>>2]|0; + $17 = ($16|0)!=(0); + if (!($17)) { + $28 = 0; + STACKTOP = sp;return ($28|0); } - return (0)|0; + $18 = HEAP32[$3>>2]|0; + $19 = ($18|0)<(0); + $20 = $19 << 31 >> 31; + $21 = (___muldi3(($18|0),($20|0),100,0)|0); + $22 = tempRet0; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)<(0); + $25 = $24 << 31 >> 31; + $26 = (___divdi3(($21|0),($22|0),($23|0),($25|0))|0); + $27 = tempRet0; + $28 = $26; + STACKTOP = sp;return ($28|0); } -function _sqlite3Fts3OpenTokenizer($pTokenizer,$iLangid,$z,$n,$ppCsr) { - $pTokenizer = $pTokenizer|0; - $iLangid = $iLangid|0; - $z = $z|0; - $n = $n|0; - $ppCsr = $ppCsr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $pCsr = 0, $pModule = 0, $rc = 0, label = 0; +function _memjrnlClose($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + _memjrnlFreeChunks($4); + STACKTOP = sp;return 0; +} +function _memjrnlRead($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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, $or$cond = 0, $or$cond5 = 0, label = 0; var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $pModule = sp + 8|0; - $pCsr = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pTokenizer; - HEAP32[$1>>2] = $iLangid; - HEAP32[$2>>2] = $z; - HEAP32[$3>>2] = $n; - HEAP32[$4>>2] = $ppCsr; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$pModule>>2] = $6; - HEAP32[$pCsr>>2] = 0; - $7 = HEAP32[$pModule>>2]|0; - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$3>>2]|0; - $13 = (FUNCTION_TABLE_iiiii[$9 & 255]($10,$11,$12,$pCsr)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)==(0); - if ($15) { - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$pCsr>>2]|0; - HEAP32[$17>>2] = $16; - $18 = HEAP32[$pModule>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)>=(1); - if ($20) { - $21 = HEAP32[$pModule>>2]|0; - $22 = ((($21)) + 24|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$pCsr>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = (FUNCTION_TABLE_iii[$23 & 255]($24,$25)|0); - HEAP32[$rc>>2] = $26; - $27 = HEAP32[$rc>>2]|0; - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$pModule>>2]|0; - $30 = ((($29)) + 16|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$pCsr>>2]|0; - (FUNCTION_TABLE_ii[$31 & 255]($32)|0); - HEAP32[$pCsr>>2] = 0; + STACKTOP = STACKTOP + 64|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 8|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp; + $15 = sp + 20|0; + $16 = sp + 16|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + $17 = $8; + $18 = $17; + HEAP32[$18>>2] = $3; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $4; + $21 = HEAP32[$5>>2]|0; + HEAP32[$9>>2] = $21; + $22 = HEAP32[$6>>2]|0; + HEAP32[$10>>2] = $22; + $23 = HEAP32[$7>>2]|0; + HEAP32[$11>>2] = $23; + $24 = HEAP32[$9>>2]|0; + $25 = ((($24)) + 40|0); + $26 = $25; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = $8; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = ($28|0)!=($34|0); + $39 = ($31|0)!=($37|0); + $40 = $38 | $39; + $41 = $8; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = ($43|0)==(0); + $48 = ($46|0)==(0); + $49 = $47 & $48; + $or$cond = $40 | $49; + L1: do { + if ($or$cond) { + $50 = $14; + $51 = $50; + HEAP32[$51>>2] = 0; + $52 = (($50) + 4)|0; + $53 = $52; + HEAP32[$53>>2] = 0; + $54 = HEAP32[$9>>2]|0; + $55 = ((($54)) + 16|0); + $56 = HEAP32[$55>>2]|0; + HEAP32[$13>>2] = $56; + while(1) { + $57 = HEAP32[$13>>2]|0; + $58 = ($57|0)!=(0|0); + if (!($58)) { + break L1; + } + $59 = $14; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$9>>2]|0; + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = ($67|0)<(0); + $69 = $68 << 31 >> 31; + $70 = (_i64Add(($61|0),($64|0),($67|0),($69|0))|0); + $71 = tempRet0; + $72 = $8; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = ($71|0)<($77|0); + $79 = ($70>>>0)<=($74>>>0); + $80 = ($71|0)==($77|0); + $81 = $80 & $79; + $82 = $78 | $81; + if (!($82)) { + break L1; + } + $83 = HEAP32[$9>>2]|0; + $84 = ((($83)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)<(0); + $87 = $86 << 31 >> 31; + $88 = $14; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (_i64Add(($90|0),($93|0),($85|0),($87|0))|0); + $95 = tempRet0; + $96 = $14; + $97 = $96; + HEAP32[$97>>2] = $94; + $98 = (($96) + 4)|0; + $99 = $98; + HEAP32[$99>>2] = $95; + $100 = HEAP32[$13>>2]|0; + $101 = HEAP32[$100>>2]|0; + HEAP32[$13>>2] = $101; } + } else { + $102 = HEAP32[$9>>2]|0; + $103 = ((($102)) + 40|0); + $104 = ((($103)) + 8|0); + $105 = HEAP32[$104>>2]|0; + HEAP32[$13>>2] = $105; + } + } while(0); + $106 = $8; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (($106) + 4)|0; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = HEAP32[$9>>2]|0; + $113 = ((($112)) + 4|0); + $114 = HEAP32[$113>>2]|0; + $115 = ($114|0)<(0); + $116 = $115 << 31 >> 31; + $117 = (___remdi3(($108|0),($111|0),($114|0),($116|0))|0); + $118 = tempRet0; + HEAP32[$12>>2] = $117; + while(1) { + $119 = HEAP32[$9>>2]|0; + $120 = ((($119)) + 4|0); + $121 = HEAP32[$120>>2]|0; + $122 = HEAP32[$12>>2]|0; + $123 = (($121) - ($122))|0; + HEAP32[$15>>2] = $123; + $124 = HEAP32[$11>>2]|0; + $125 = HEAP32[$9>>2]|0; + $126 = ((($125)) + 4|0); + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$12>>2]|0; + $129 = (($127) - ($128))|0; + $130 = ($124|0)<($129|0); + if ($130) { + $131 = HEAP32[$11>>2]|0; + $137 = $131; + } else { + $132 = HEAP32[$9>>2]|0; + $133 = ((($132)) + 4|0); + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$12>>2]|0; + $136 = (($134) - ($135))|0; + $137 = $136; + } + HEAP32[$16>>2] = $137; + $138 = HEAP32[$10>>2]|0; + $139 = HEAP32[$13>>2]|0; + $140 = ((($139)) + 4|0); + $141 = HEAP32[$12>>2]|0; + $142 = (($140) + ($141)|0); + $143 = HEAP32[$16>>2]|0; + _memcpy(($138|0),($142|0),($143|0))|0; + $144 = HEAP32[$16>>2]|0; + $145 = HEAP32[$10>>2]|0; + $146 = (($145) + ($144)|0); + HEAP32[$10>>2] = $146; + $147 = HEAP32[$15>>2]|0; + $148 = HEAP32[$11>>2]|0; + $149 = (($148) - ($147))|0; + HEAP32[$11>>2] = $149; + HEAP32[$12>>2] = 0; + $150 = HEAP32[$11>>2]|0; + $151 = ($150|0)>=(0); + if (!($151)) { + break; + } + $152 = HEAP32[$13>>2]|0; + $153 = HEAP32[$152>>2]|0; + HEAP32[$13>>2] = $153; + $154 = ($153|0)!=(0|0); + $155 = HEAP32[$11>>2]|0; + $156 = ($155|0)>(0); + $or$cond5 = $154 & $156; + if (!($or$cond5)) { + break; } } - $33 = HEAP32[$pCsr>>2]|0; - $34 = HEAP32[$4>>2]|0; - HEAP32[$34>>2] = $33; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + $157 = HEAP32[$13>>2]|0; + $158 = ($157|0)!=(0|0); + if (!($158)) { + $174 = 0;$177 = 0; + $170 = HEAP32[$9>>2]|0; + $171 = ((($170)) + 40|0); + $172 = $171; + $173 = $172; + HEAP32[$173>>2] = $174; + $175 = (($172) + 4)|0; + $176 = $175; + HEAP32[$176>>2] = $177; + $178 = HEAP32[$13>>2]|0; + $179 = HEAP32[$9>>2]|0; + $180 = ((($179)) + 40|0); + $181 = ((($180)) + 8|0); + HEAP32[$181>>2] = $178; + STACKTOP = sp;return 0; + } + $159 = $8; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = HEAP32[$7>>2]|0; + $166 = ($165|0)<(0); + $167 = $166 << 31 >> 31; + $168 = (_i64Add(($161|0),($164|0),($165|0),($167|0))|0); + $169 = tempRet0; + $174 = $168;$177 = $169; + $170 = HEAP32[$9>>2]|0; + $171 = ((($170)) + 40|0); + $172 = $171; + $173 = $172; + HEAP32[$173>>2] = $174; + $175 = (($172) + 4)|0; + $176 = $175; + HEAP32[$176>>2] = $177; + $178 = HEAP32[$13>>2]|0; + $179 = HEAP32[$9>>2]|0; + $180 = ((($179)) + 40|0); + $181 = ((($180)) + 8|0); + HEAP32[$181>>2] = $178; + STACKTOP = sp;return 0; } -function _fts3PendingListAppend($pp,$0,$1,$2,$3,$4,$5,$pRc) { - $pp = $pp|0; +function _memjrnlWrite($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; - $5 = $5|0; - $pRc = $pRc|0; var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; - var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - 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, $iDelta = 0, $p = 0, $rc = 0, label = 0, sp = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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; STACKTOP = STACKTOP + 64|0; + $5 = sp + 52|0; $6 = sp + 48|0; $7 = sp + 44|0; - $8 = sp + 24|0; - $9 = sp + 16|0; - $10 = sp + 8|0; - $11 = sp + 40|0; - $p = sp + 36|0; - $rc = sp + 32|0; - $iDelta = sp; - HEAP32[$7>>2] = $pp; - $12 = $8; - $13 = $12; - HEAP32[$13>>2] = $0; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = $1; - $16 = $9; - $17 = $16; - HEAP32[$17>>2] = $2; - $18 = (($16) + 4)|0; + $8 = sp + 40|0; + $9 = sp; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + $18 = $9; $19 = $18; HEAP32[$19>>2] = $3; - $20 = $10; + $20 = (($18) + 4)|0; $21 = $20; HEAP32[$21>>2] = $4; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $5; - HEAP32[$11>>2] = $pRc; + $22 = HEAP32[$6>>2]|0; + HEAP32[$10>>2] = $22; + $23 = HEAP32[$8>>2]|0; + HEAP32[$11>>2] = $23; $24 = HEAP32[$7>>2]|0; - $25 = HEAP32[$24>>2]|0; - HEAP32[$p>>2] = $25; - HEAP32[$rc>>2] = 0; - $26 = HEAP32[$p>>2]|0; - $27 = ($26|0)!=(0|0); - if ($27) { - $28 = HEAP32[$p>>2]|0; - $29 = ((($28)) + 16|0); - $30 = $29; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = $8; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = ($32|0)!=($38|0); - $43 = ($35|0)!=($41|0); - $44 = $42 | $43; - if ($44) { - label = 3; - } else { - label = 9; + HEAP32[$12>>2] = $24; + $25 = HEAP32[$10>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)>(0); + if ($28) { + $29 = HEAP32[$8>>2]|0; + $30 = ($29|0)<(0); + $31 = $30 << 31 >> 31; + $32 = $9; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (_i64Add(($29|0),($31|0),($34|0),($37|0))|0); + $39 = tempRet0; + $40 = HEAP32[$10>>2]|0; + $41 = ((($40)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)<(0); + $44 = $43 << 31 >> 31; + $45 = ($39|0)>($44|0); + $46 = ($38>>>0)>($42>>>0); + $47 = ($39|0)==($44|0); + $48 = $47 & $46; + $49 = $45 | $48; + if ($49) { + $50 = HEAP32[$10>>2]|0; + $51 = (_memjrnlCreateFile($50)|0); + HEAP32[$13>>2] = $51; + $52 = HEAP32[$13>>2]|0; + $53 = ($52|0)==(0); + if ($53) { + $54 = HEAP32[$6>>2]|0; + $55 = HEAP32[$7>>2]|0; + $56 = HEAP32[$8>>2]|0; + $57 = $9; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (_sqlite3OsWrite($54,$55,$56,$59,$62)|0); + HEAP32[$13>>2] = $63; + } + $64 = HEAP32[$13>>2]|0; + HEAP32[$5>>2] = $64; + $166 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($166|0); } - } else { - label = 3; } - if ((label|0) == 3) { - $45 = $8; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$p>>2]|0; - $52 = ($51|0)!=(0|0); - if ($52) { - $53 = HEAP32[$p>>2]|0; - $54 = ((($53)) + 16|0); - $55 = $54; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (($55) + 4)|0; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = $57;$62 = $60; - } else { - $61 = 0;$62 = 0; - } - $63 = (_i64Subtract(($47|0),($50|0),($61|0),($62|0))|0); - $64 = tempRet0; - $65 = $iDelta; - $66 = $65; - HEAP32[$66>>2] = $63; - $67 = (($65) + 4)|0; - $68 = $67; - HEAP32[$68>>2] = $64; - $69 = HEAP32[$p>>2]|0; - $70 = ($69|0)!=(0|0); - if ($70) { - $71 = HEAP32[$p>>2]|0; - $72 = HEAP32[$71>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$71>>2] = $73; + while(1) { + $65 = HEAP32[$11>>2]|0; + $66 = ($65|0)>(0); + if (!($66)) { + label = 18; + break; } - $74 = $iDelta; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (($74) + 4)|0; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (_fts3PendingListAppendVarint($p,$76,$79)|0); - HEAP32[$rc>>2] = $80; - $81 = (0)!=($80|0); - if (!($81)) { - $82 = HEAP32[$p>>2]|0; - $83 = ((($82)) + 24|0); - $84 = $83; - $85 = $84; - HEAP32[$85>>2] = -1; - $86 = (($84) + 4)|0; - $87 = $86; - HEAP32[$87>>2] = -1; - $88 = HEAP32[$p>>2]|0; - $89 = ((($88)) + 32|0); - $90 = $89; - $91 = $90; - HEAP32[$91>>2] = 0; - $92 = (($90) + 4)|0; - $93 = $92; - HEAP32[$93>>2] = 0; - $94 = $8; - $95 = $94; + $67 = HEAP32[$10>>2]|0; + $68 = ((($67)) + 24|0); + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + HEAP32[$14>>2] = $70; + $71 = HEAP32[$10>>2]|0; + $72 = ((($71)) + 24|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$10>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)<(0); + $83 = $82 << 31 >> 31; + $84 = (___remdi3(($75|0),($78|0),($81|0),($83|0))|0); + $85 = tempRet0; + HEAP32[$15>>2] = $84; + $86 = HEAP32[$11>>2]|0; + $87 = HEAP32[$10>>2]|0; + $88 = ((($87)) + 4|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$15>>2]|0; + $91 = (($89) - ($90))|0; + $92 = ($86|0)<($91|0); + if ($92) { + $93 = HEAP32[$11>>2]|0; + $99 = $93; + } else { + $94 = HEAP32[$10>>2]|0; + $95 = ((($94)) + 4|0); $96 = HEAP32[$95>>2]|0; - $97 = (($94) + 4)|0; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$p>>2]|0; - $101 = ((($100)) + 16|0); - $102 = $101; - $103 = $102; - HEAP32[$103>>2] = $96; - $104 = (($102) + 4)|0; - $105 = $104; - HEAP32[$105>>2] = $99; - label = 9; + $97 = HEAP32[$15>>2]|0; + $98 = (($96) - ($97))|0; + $99 = $98; } - } - do { - if ((label|0) == 9) { - $106 = $9; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (($106) + 4)|0; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)>(0); - $113 = ($108>>>0)>(0); - $114 = ($111|0)==(0); - $115 = $114 & $113; - $116 = $112 | $115; - if ($116) { - $117 = HEAP32[$p>>2]|0; - $118 = ((($117)) + 24|0); - $119 = $118; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = (($119) + 4)|0; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = $9; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = (($125) + 4)|0; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = ($121|0)!=($127|0); - $132 = ($124|0)!=($130|0); - $133 = $131 | $132; - if ($133) { - $134 = (_fts3PendingListAppendVarint($p,1,0)|0); - HEAP32[$rc>>2] = $134; - $135 = (0)!=($134|0); - if ($135) { - break; - } - $136 = $9; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = (($136) + 4)|0; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = (_fts3PendingListAppendVarint($p,$138,$141)|0); - HEAP32[$rc>>2] = $142; - $143 = (0)!=($142|0); - if ($143) { - break; - } - $144 = $9; - $145 = $144; - $146 = HEAP32[$145>>2]|0; - $147 = (($144) + 4)|0; - $148 = $147; - $149 = HEAP32[$148>>2]|0; - $150 = HEAP32[$p>>2]|0; - $151 = ((($150)) + 24|0); - $152 = $151; - $153 = $152; - HEAP32[$153>>2] = $146; - $154 = (($152) + 4)|0; - $155 = $154; - HEAP32[$155>>2] = $149; - $156 = HEAP32[$p>>2]|0; - $157 = ((($156)) + 32|0); - $158 = $157; - $159 = $158; - HEAP32[$159>>2] = 0; - $160 = (($158) + 4)|0; - $161 = $160; - HEAP32[$161>>2] = 0; - } + HEAP32[$16>>2] = $99; + $100 = HEAP32[$15>>2]|0; + $101 = ($100|0)==(0); + if ($101) { + $102 = HEAP32[$10>>2]|0; + $103 = ((($102)) + 4|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($104) - 8)|0; + $106 = (12 + ($105))|0; + $107 = (_sqlite3_malloc($106)|0); + HEAP32[$17>>2] = $107; + $108 = HEAP32[$17>>2]|0; + $109 = ($108|0)!=(0|0); + if (!($109)) { + label = 12; + break; } - $162 = $9; - $163 = $162; - $164 = HEAP32[$163>>2]|0; - $165 = (($162) + 4)|0; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = ($167|0)>(0); - $169 = ($164>>>0)>=(0); - $170 = ($167|0)==(0); - $171 = $170 & $169; - $172 = $168 | $171; - if ($172) { - $173 = $10; - $174 = $173; - $175 = HEAP32[$174>>2]|0; - $176 = (($173) + 4)|0; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (_i64Add(2,0,($175|0),($178|0))|0); - $180 = tempRet0; - $181 = HEAP32[$p>>2]|0; - $182 = ((($181)) + 32|0); - $183 = $182; - $184 = $183; - $185 = HEAP32[$184>>2]|0; - $186 = (($183) + 4)|0; - $187 = $186; - $188 = HEAP32[$187>>2]|0; - $189 = (_i64Subtract(($179|0),($180|0),($185|0),($188|0))|0); - $190 = tempRet0; - $191 = (_fts3PendingListAppendVarint($p,$189,$190)|0); - HEAP32[$rc>>2] = $191; - $192 = HEAP32[$rc>>2]|0; - $193 = ($192|0)==(0); - if ($193) { - $194 = $10; - $195 = $194; - $196 = HEAP32[$195>>2]|0; - $197 = (($194) + 4)|0; - $198 = $197; - $199 = HEAP32[$198>>2]|0; - $200 = HEAP32[$p>>2]|0; - $201 = ((($200)) + 32|0); - $202 = $201; - $203 = $202; - HEAP32[$203>>2] = $196; - $204 = (($202) + 4)|0; - $205 = $204; - HEAP32[$205>>2] = $199; - } + $110 = HEAP32[$17>>2]|0; + HEAP32[$110>>2] = 0; + $111 = HEAP32[$14>>2]|0; + $112 = ($111|0)!=(0|0); + $113 = HEAP32[$17>>2]|0; + if ($112) { + $114 = HEAP32[$14>>2]|0; + HEAP32[$114>>2] = $113; + } else { + $115 = HEAP32[$10>>2]|0; + $116 = ((($115)) + 16|0); + HEAP32[$116>>2] = $113; } + $117 = HEAP32[$17>>2]|0; + $118 = HEAP32[$10>>2]|0; + $119 = ((($118)) + 24|0); + $120 = ((($119)) + 8|0); + HEAP32[$120>>2] = $117; } - } while(0); - $206 = HEAP32[$rc>>2]|0; - $207 = HEAP32[$11>>2]|0; - HEAP32[$207>>2] = $206; - $208 = HEAP32[$p>>2]|0; - $209 = HEAP32[$7>>2]|0; - $210 = HEAP32[$209>>2]|0; - $211 = ($208|0)!=($210|0); - if ($211) { - $212 = HEAP32[$p>>2]|0; - $213 = HEAP32[$7>>2]|0; - HEAP32[$213>>2] = $212; - HEAP32[$6>>2] = 1; - $214 = HEAP32[$6>>2]|0; - STACKTOP = sp;return ($214|0); - } else { - HEAP32[$6>>2] = 0; - $214 = HEAP32[$6>>2]|0; - STACKTOP = sp;return ($214|0); + $121 = HEAP32[$10>>2]|0; + $122 = ((($121)) + 24|0); + $123 = ((($122)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ((($124)) + 4|0); + $126 = HEAP32[$15>>2]|0; + $127 = (($125) + ($126)|0); + $128 = HEAP32[$12>>2]|0; + $129 = HEAP32[$16>>2]|0; + _memcpy(($127|0),($128|0),($129|0))|0; + $130 = HEAP32[$16>>2]|0; + $131 = HEAP32[$12>>2]|0; + $132 = (($131) + ($130)|0); + HEAP32[$12>>2] = $132; + $133 = HEAP32[$16>>2]|0; + $134 = HEAP32[$11>>2]|0; + $135 = (($134) - ($133))|0; + HEAP32[$11>>2] = $135; + $136 = HEAP32[$16>>2]|0; + $137 = ($136|0)<(0); + $138 = $137 << 31 >> 31; + $139 = HEAP32[$10>>2]|0; + $140 = ((($139)) + 24|0); + $141 = $140; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = (($141) + 4)|0; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (_i64Add(($143|0),($146|0),($136|0),($138|0))|0); + $148 = tempRet0; + $149 = $140; + $150 = $149; + HEAP32[$150>>2] = $147; + $151 = (($149) + 4)|0; + $152 = $151; + HEAP32[$152>>2] = $148; + } + if ((label|0) == 12) { + HEAP32[$5>>2] = 3082; + $166 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($166|0); + } + else if ((label|0) == 18) { + $153 = HEAP32[$8>>2]|0; + $154 = ($153|0)<(0); + $155 = $154 << 31 >> 31; + $156 = $9; + $157 = $156; + $158 = HEAP32[$157>>2]|0; + $159 = (($156) + 4)|0; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (_i64Add(($153|0),($155|0),($158|0),($161|0))|0); + $163 = tempRet0; + $164 = HEAP32[$10>>2]|0; + $165 = ((($164)) + 12|0); + HEAP32[$165>>2] = $162; + HEAP32[$5>>2] = 0; + $166 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($166|0); } return (0)|0; } -function _fts3PendingListAppendVarint($pp,$0,$1) { - $pp = $pp|0; +function _memjrnlTruncate($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $nNew = 0, $p = 0, label = 0, sp = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; $4 = sp; - $p = sp + 12|0; - $nNew = sp + 8|0; - HEAP32[$3>>2] = $pp; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $10; + $11 = $4; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = ($13|0)==(0); + $18 = ($16|0)==(0); + $19 = $17 & $18; + if (!($19)) { + STACKTOP = sp;return 0; + } + $20 = HEAP32[$5>>2]|0; + _memjrnlFreeChunks($20); + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 12|0); + HEAP32[$22>>2] = 0; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 24|0); + $25 = ((($24)) + 8|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 24|0); + $28 = $27; + $29 = $28; + HEAP32[$29>>2] = 0; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = 0; + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 40|0); + $34 = ((($33)) + 8|0); + HEAP32[$34>>2] = 0; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 40|0); + $37 = $36; + $38 = $37; + HEAP32[$38>>2] = 0; + $39 = (($37) + 4)|0; + $40 = $39; + HEAP32[$40>>2] = 0; + STACKTOP = sp;return 0; +} +function _memjrnlSync($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + STACKTOP = sp;return 0; +} +function _memjrnlFileSize($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, $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 + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + $7 = ((($6)) + 24|0); $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; + $9 = $8; $10 = HEAP32[$9>>2]|0; - HEAP32[$p>>2] = $10; - $11 = HEAP32[$p>>2]|0; - $12 = ($11|0)!=(0|0); - do { - if ($12) { - $23 = HEAP32[$p>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + 10)|0; - $26 = (($25) + 1)|0; - $27 = HEAP32[$p>>2]|0; - $28 = ((($27)) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($26|0)>($29|0); - if ($30) { - $31 = HEAP32[$p>>2]|0; - $32 = ((($31)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = $33<<1; - HEAP32[$nNew>>2] = $34; - $35 = HEAP32[$p>>2]|0; - $36 = HEAP32[$nNew>>2]|0; - $37 = (40 + ($36))|0; - $38 = (_sqlite3_realloc($35,$37)|0); - HEAP32[$p>>2] = $38; - $39 = HEAP32[$p>>2]|0; - $40 = ($39|0)!=(0|0); - if ($40) { - $44 = HEAP32[$nNew>>2]|0; - $45 = HEAP32[$p>>2]|0; - $46 = ((($45)) + 8|0); - HEAP32[$46>>2] = $44; - $47 = HEAP32[$p>>2]|0; - $48 = ((($47)) + 40|0); - $49 = HEAP32[$p>>2]|0; - $50 = ((($49)) + 4|0); - HEAP32[$50>>2] = $48; - break; - } - $41 = HEAP32[$3>>2]|0; - $42 = HEAP32[$41>>2]|0; - _sqlite3_free($42); - $43 = HEAP32[$3>>2]|0; - HEAP32[$43>>2] = 0; - HEAP32[$2>>2] = 7; - $75 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($75|0); - } - } else { - $13 = (_sqlite3_malloc(140)|0); - HEAP32[$p>>2] = $13; - $14 = HEAP32[$p>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 8|0); - HEAP32[$17>>2] = 100; - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 40|0); - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 4|0); - HEAP32[$21>>2] = $19; - $22 = HEAP32[$p>>2]|0; - HEAP32[$22>>2] = 0; - break; - } - HEAP32[$2>>2] = 7; - $75 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($75|0); + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = $14; + $16 = $15; + HEAP32[$16>>2] = $10; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $13; + STACKTOP = sp;return 0; +} +function _memjrnlFreeChunks($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 16|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; + while(1) { + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + break; } - } while(0); - $51 = HEAP32[$p>>2]|0; - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$p>>2]|0; - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + ($52)|0); - $57 = $4; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3Fts3PutVarint($56,$59,$62)|0); - $64 = HEAP32[$p>>2]|0; - $65 = HEAP32[$64>>2]|0; - $66 = (($65) + ($63))|0; - HEAP32[$64>>2] = $66; - $67 = HEAP32[$p>>2]|0; - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$p>>2]|0; - $70 = ((($69)) + 4|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + ($68)|0); - HEAP8[$72>>0] = 0; - $73 = HEAP32[$p>>2]|0; - $74 = HEAP32[$3>>2]|0; - HEAP32[$74>>2] = $73; - HEAP32[$2>>2] = 0; - $75 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($75|0); + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $10; + $11 = HEAP32[$2>>2]|0; + _sqlite3_free($11); + $12 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $12; + } + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 16|0); + HEAP32[$14>>2] = 0; + STACKTOP = sp;return; } -function _fts3CursorSeekStmt($pCsr,$ppStmt) { - $pCsr = $pCsr|0; - $ppStmt = $ppStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $rc = 0, $vararg_buffer = 0, $zSql = 0, label = 0, sp = 0; +function _memjrnlCreateFile($0) { + $0 = $0|0; + var $1 = 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, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; - $p = sp + 8|0; - $zSql = sp + 4|0; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $ppStmt; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - do { - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$p>>2] = $8; - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 216|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $12 = (_sqlite3_mprintf(23241,$vararg_buffer)|0); - HEAP32[$zSql>>2] = $12; - $13 = HEAP32[$zSql>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$zSql>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 8|0); - $21 = (_sqlite3_prepare_v2($17,$18,-1,$20,0)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$zSql>>2]|0; - _sqlite3_free($22); + STACKTOP = STACKTOP + 112|0; + $1 = sp + 96|0; + $2 = sp + 92|0; + $3 = sp + 88|0; + $4 = sp + 8|0; + $5 = sp + 84|0; + $6 = sp; + $7 = sp + 80|0; + HEAP32[$1>>2] = $0; + $8 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $8; + $9 = HEAP32[$1>>2]|0; + dest=$4; src=$9; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $10 = HEAP32[$1>>2]|0; + dest=$10; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $11 = ((($4)) + 60|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($4)) + 64|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($4)) + 56|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3OsOpen($12,$14,$15,$17,0)|0); + HEAP32[$2>>2] = $18; + $19 = HEAP32[$2>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + $21 = ((($4)) + 4|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$5>>2] = $22; + $23 = $6; + $24 = $23; + HEAP32[$24>>2] = 0; + $25 = (($23) + 4)|0; + $26 = $25; + HEAP32[$26>>2] = 0; + $27 = ((($4)) + 16|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$7>>2] = $28; + while(1) { + $29 = HEAP32[$7>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { break; } - HEAP32[$0>>2] = 7; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $31 = $6; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$5>>2]|0; + $38 = ($37|0)<(0); + $39 = $38 << 31 >> 31; + $40 = (_i64Add(($33|0),($36|0),($37|0),($39|0))|0); + $41 = tempRet0; + $42 = ((($4)) + 24|0); + $43 = $42; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = ($41|0)>($48|0); + $50 = ($40>>>0)>($45>>>0); + $51 = ($41|0)==($48|0); + $52 = $51 & $50; + $53 = $49 | $52; + if ($53) { + $54 = ((($4)) + 24|0); + $55 = $54; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = $6; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (_i64Subtract(($57|0),($60|0),($63|0),($66|0))|0); + $68 = tempRet0; + HEAP32[$5>>2] = $67; + } + $69 = HEAP32[$3>>2]|0; + $70 = HEAP32[$7>>2]|0; + $71 = ((($70)) + 4|0); + $72 = HEAP32[$5>>2]|0; + $73 = $6; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (_sqlite3OsWrite($69,$71,$72,$75,$78)|0); + HEAP32[$2>>2] = $79; + $80 = HEAP32[$2>>2]|0; + $81 = ($80|0)!=(0); + if ($81) { + break; + } + $82 = HEAP32[$5>>2]|0; + $83 = ($82|0)<(0); + $84 = $83 << 31 >> 31; + $85 = $6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (_i64Add(($87|0),($90|0),($82|0),($84|0))|0); + $92 = tempRet0; + $93 = $6; + $94 = $93; + HEAP32[$94>>2] = $91; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = HEAP32[$7>>2]|0; + $98 = HEAP32[$97>>2]|0; + HEAP32[$7>>2] = $98; } - } while(0); - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$2>>2]|0; - HEAP32[$26>>2] = $25; - $27 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $27; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $99 = HEAP32[$2>>2]|0; + $100 = ($99|0)==(0); + if ($100) { + _memjrnlFreeChunks($4); + } + } + $101 = HEAP32[$2>>2]|0; + $102 = ($101|0)!=(0); + if (!($102)) { + $105 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($105|0); + } + $103 = HEAP32[$3>>2]|0; + _sqlite3OsClose($103); + $104 = HEAP32[$1>>2]|0; + dest=$104; src=$4; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $105 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($105|0); } -function _fts3ExprIterate2($pExpr,$piPhrase,$x,$pCtx) { - $pExpr = $pExpr|0; - $piPhrase = $piPhrase|0; - $x = $x|0; - $pCtx = $pCtx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $eType = 0, $or$cond = 0, $rc = 0, label = 0; - var sp = 0; +function _sqlite3OsOpen($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $rc = sp + 4|0; - $eType = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $piPhrase; - HEAP32[$2>>2] = $x; - HEAP32[$3>>2] = $pCtx; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$eType>>2] = $5; - $6 = HEAP32[$eType>>2]|0; - $7 = ($6|0)!=(5); - if (!($7)) { - $26 = HEAP32[$2>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$3>>2]|0; - $31 = (FUNCTION_TABLE_iiii[$26 & 255]($27,$29,$30)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$32>>2] = $34; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); - } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$3>>2]|0; - $14 = (_fts3ExprIterate2($10,$11,$12,$13)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - $17 = HEAP32[$eType>>2]|0; - $18 = ($17|0)!=(2); - $or$cond = $16 & $18; - if (!($or$cond)) { - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); - } - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 16|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$3>>2]|0; - $25 = (_fts3ExprIterate2($21,$22,$23,$24)|0); - HEAP32[$rc>>2] = $25; - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = $17 & 556927; + $19 = HEAP32[$9>>2]|0; + $20 = (FUNCTION_TABLE_iiiiii[$13 & 255]($14,$15,$16,$18,$19)|0); + HEAP32[$10>>2] = $20; + $21 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($21|0); } -function _sqlite3Fts3EvalPhraseStats($pCsr,$pExpr,$aiOut) { - $pCsr = $pCsr|0; - $pExpr = $pExpr|0; - $aiOut = $aiOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $iCol = 0, $pTab = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3PagerSavepoint($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pTab = sp + 8|0; - $rc = sp + 4|0; - $iCol = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $aiOut; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pTab>>2] = $4; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 34|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)!=(0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(1); - if ($14) { - HEAP32[$iCol>>2] = 0; - while(1) { - $15 = HEAP32[$iCol>>2]|0; - $16 = HEAP32[$pTab>>2]|0; - $17 = ((($16)) + 24|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)<($18|0); - if (!($19)) { - break; - } - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 64|0); - $22 = $21; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$iCol>>2]|0; - $29 = ($28*3)|0; - $30 = (($29) + 1)|0; - $31 = HEAP32[$2>>2]|0; - $32 = (($31) + ($30<<2)|0); - HEAP32[$32>>2] = $24; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 64|0); - $35 = $34; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$iCol>>2]|0; - $42 = ($41*3)|0; - $43 = (($42) + 2)|0; - $44 = HEAP32[$2>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAP32[$45>>2] = $37; - $46 = HEAP32[$iCol>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$iCol>>2] = $47; - } - $86 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($86|0); - } + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 44|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + $83 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($83|0); } - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$1>>2]|0; - $50 = (_fts3EvalGatherStats($48,$49)|0); - HEAP32[$rc>>2] = $50; - $51 = HEAP32[$rc>>2]|0; - $52 = ($51|0)==(0); - if (!($52)) { - $86 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($86|0); + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 104|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)<($18|0); + if (!($19)) { + $83 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($83|0); } - HEAP32[$iCol>>2] = 0; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(1); + $23 = $22 ? 0 : 1; + $24 = (($20) + ($23))|0; + HEAP32[$8>>2] = $24; + $25 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $25; while(1) { - $53 = HEAP32[$iCol>>2]|0; - $54 = HEAP32[$pTab>>2]|0; - $55 = ((($54)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = ($53|0)<($56|0); - if (!($57)) { + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 104|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($26|0)<($29|0); + if (!($30)) { break; } - $58 = HEAP32[$iCol>>2]|0; - $59 = ($58*3)|0; - $60 = (($59) + 1)|0; - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 40|0); - $63 = HEAP32[$62>>2]|0; - $64 = (($63) + ($60<<2)|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$iCol>>2]|0; - $67 = ($66*3)|0; - $68 = (($67) + 1)|0; - $69 = HEAP32[$2>>2]|0; - $70 = (($69) + ($68<<2)|0); - HEAP32[$70>>2] = $65; - $71 = HEAP32[$iCol>>2]|0; - $72 = ($71*3)|0; - $73 = (($72) + 2)|0; - $74 = HEAP32[$1>>2]|0; - $75 = ((($74)) + 40|0); - $76 = HEAP32[$75>>2]|0; - $77 = (($76) + ($73<<2)|0); - $78 = HEAP32[$77>>2]|0; - $79 = HEAP32[$iCol>>2]|0; - $80 = ($79*3)|0; - $81 = (($80) + 2)|0; - $82 = HEAP32[$2>>2]|0; - $83 = (($82) + ($81<<2)|0); - HEAP32[$83>>2] = $78; - $84 = HEAP32[$iCol>>2]|0; - $85 = (($84) + 1)|0; - HEAP32[$iCol>>2] = $85; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 100|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$7>>2]|0; + $35 = (($33) + (($34*48)|0)|0); + $36 = ((($35)) + 16|0); + $37 = HEAP32[$36>>2]|0; + _sqlite3BitvecDestroy($37); + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$7>>2] = $39; } - $86 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($86|0); + $40 = HEAP32[$8>>2]|0; + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 104|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$4>>2]|0; + $44 = ($43|0)==(1); + if (!($44)) { + $63 = HEAP32[$3>>2]|0; + $64 = (_sqlite3PagerUseWal($63)|0); + $65 = ($64|0)!=(0); + if (!($65)) { + $66 = HEAP32[$3>>2]|0; + $67 = ((($66)) + 68|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)!=(0|0); + if (!($70)) { + $83 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($83|0); + } + } + $71 = HEAP32[$8>>2]|0; + $72 = ($71|0)==(0); + if ($72) { + $79 = 0; + } else { + $73 = HEAP32[$3>>2]|0; + $74 = ((($73)) + 100|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$8>>2]|0; + $77 = (($76) - 1)|0; + $78 = (($75) + (($77*48)|0)|0); + $79 = $78; + } + HEAP32[$9>>2] = $79; + $80 = HEAP32[$3>>2]|0; + $81 = HEAP32[$9>>2]|0; + $82 = (_pagerPlaybackSavepoint($80,$81)|0); + HEAP32[$6>>2] = $82; + $83 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($83|0); + } + $45 = HEAP32[$8>>2]|0; + $46 = ($45|0)==(0); + if (!($46)) { + $83 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($83|0); + } + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 72|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)!=(0|0); + if (!($51)) { + $83 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($83|0); + } + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 72|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3JournalIsInMemory($54)|0); + $56 = ($55|0)!=(0); + if ($56) { + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 72|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3OsTruncate($59,0,0)|0); + HEAP32[$6>>2] = $60; + } + $61 = HEAP32[$3>>2]|0; + $62 = ((($61)) + 56|0); + HEAP32[$62>>2] = 0; + $83 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($83|0); } -function _fts3EvalGatherStats($pCsr,$pExpr) { - $pCsr = $pCsr|0; - $pExpr = $pExpr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bEof = 0, $iDocid = 0, $iPrevId = 0, $p = 0, $pE = 0, $pRoot = 0, $pTab = 0, $rc = 0, label = 0, sp = 0; +function _pager_playback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $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, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $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$cond3 = 0, $or$cond5 = 0; + var $or$cond7 = 0, $vararg_buffer = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $rc = sp + 32|0; - $pTab = sp + 28|0; - $pRoot = sp + 24|0; - $p = sp + 20|0; - $iPrevId = sp + 8|0; - $iDocid = sp; - $bEof = sp + 48|0; - $pE = sp + 16|0; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pExpr; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - do { - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$pTab>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 32|0); - $11 = $10; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = $iPrevId; - $18 = $17; - HEAP32[$18>>2] = $13; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $16; - $21 = HEAP32[$2>>2]|0; - HEAP32[$pRoot>>2] = $21; - while(1) { - $22 = HEAP32[$pRoot>>2]|0; - $23 = ((($22)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)!=(0|0); - if ($25) { - $26 = HEAP32[$pRoot>>2]|0; - $27 = ((($26)) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(1); - $188 = $30; - } else { - $188 = 0; - } - $31 = HEAP32[$pRoot>>2]|0; - if (!($188)) { - break; - } - $32 = ((($31)) + 8|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$pRoot>>2] = $33; - } - $34 = ((($31)) + 24|0); - $35 = $34; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = $iDocid; - $42 = $41; - HEAP32[$42>>2] = $37; - $43 = (($41) + 4)|0; - $44 = $43; - HEAP32[$44>>2] = $40; - $45 = HEAP32[$pRoot>>2]|0; - $46 = ((($45)) + 32|0); - $47 = HEAP8[$46>>0]|0; - HEAP8[$bEof>>0] = $47; - $48 = HEAP32[$pRoot>>2]|0; - HEAP32[$p>>2] = $48; - while(1) { - $49 = HEAP32[$p>>2]|0; - $50 = ($49|0)!=(0|0); - if (!($50)) { - break; - } - $51 = HEAP32[$p>>2]|0; - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)==(5); - $54 = HEAP32[$p>>2]|0; - if ($53) { - $57 = $54; - } else { - $55 = ((($54)) + 16|0); - $56 = HEAP32[$55>>2]|0; - $57 = $56; - } - HEAP32[$pE>>2] = $57; - $58 = HEAP32[$pTab>>2]|0; - $59 = ((($58)) + 24|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60*3)|0; - $62 = $61<<2; - $63 = (_sqlite3_malloc($62)|0); - $64 = HEAP32[$pE>>2]|0; - $65 = ((($64)) + 40|0); - HEAP32[$65>>2] = $63; - $66 = HEAP32[$pE>>2]|0; - $67 = ((($66)) + 40|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($68|0)!=(0|0); - if (!($69)) { - label = 12; - break; + $vararg_buffer = sp + 8|0; + $2 = sp + 56|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + HEAP32[$4>>2] = $15; + HEAP32[$8>>2] = 0; + HEAP32[$10>>2] = 1; + HEAP32[$11>>2] = 0; + HEAP32[$13>>2] = 0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 68|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3OsFileSize($18,$5)|0); + HEAP32[$9>>2] = $19; + $20 = HEAP32[$9>>2]|0; + $21 = ($20|0)!=(0); + L1: do { + if (!($21)) { + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 208|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$11>>2] = $24; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 68|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$11>>2]|0; + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + 1)|0; + $34 = (_readMasterJournal($27,$28,$33)|0); + HEAP32[$9>>2] = $34; + $35 = HEAP32[$9>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $37 = HEAP32[$11>>2]|0; + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = ($39|0)!=(0); + if ($40) { + $41 = HEAP32[$4>>2]|0; + $42 = HEAP32[$11>>2]|0; + $43 = (_sqlite3OsAccess($41,$42,0,$10)|0); + HEAP32[$9>>2] = $43; } - $70 = HEAP32[$pE>>2]|0; - $71 = ((($70)) + 40|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$pTab>>2]|0; - $74 = ((($73)) + 24|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75*3)|0; - $77 = $76<<2; - _memset(($72|0),0,($77|0))|0; - $78 = HEAP32[$p>>2]|0; - $79 = ((($78)) + 12|0); - $80 = HEAP32[$79>>2]|0; - HEAP32[$p>>2] = $80; - } - if ((label|0) == 12) { - HEAP32[$0>>2] = 7; - $187 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($187|0); } - $81 = HEAP32[$1>>2]|0; - $82 = HEAP32[$pRoot>>2]|0; - _fts3EvalRestart($81,$82,$rc); - while(1) { - $83 = HEAP32[$1>>2]|0; - $84 = ((($83)) + 6|0); - $85 = HEAP8[$84>>0]|0; - $86 = $85&255; - $87 = ($86|0)==(0); - $88 = HEAP32[$rc>>2]|0; - $89 = ($88|0)==(0); - $90 = $87 ? $89 : 0; - if (!($90)) { - break; - } - while(1) { - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 7|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $95 = ($94|0)==(0); - if ($95) { - $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 8|0); - $98 = HEAP32[$97>>2]|0; - (_sqlite3_reset($98)|0); - } - $99 = HEAP32[$1>>2]|0; - $100 = HEAP32[$pRoot>>2]|0; - _fts3EvalNextRow($99,$100,$rc); - $101 = HEAP32[$pRoot>>2]|0; - $102 = ((($101)) + 32|0); - $103 = HEAP8[$102>>0]|0; - $104 = HEAP32[$1>>2]|0; - $105 = ((($104)) + 6|0); - HEAP8[$105>>0] = $103; - $106 = HEAP32[$1>>2]|0; - $107 = ((($106)) + 7|0); - HEAP8[$107>>0] = 1; - $108 = HEAP32[$1>>2]|0; - $109 = ((($108)) + 88|0); - HEAP32[$109>>2] = 1; - $110 = HEAP32[$pRoot>>2]|0; - $111 = ((($110)) + 24|0); - $112 = $111; - $113 = $112; - $114 = HEAP32[$113>>2]|0; - $115 = (($112) + 4)|0; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = HEAP32[$1>>2]|0; - $119 = ((($118)) + 32|0); - $120 = $119; - $121 = $120; - HEAP32[$121>>2] = $114; - $122 = (($120) + 4)|0; - $123 = $122; - HEAP32[$123>>2] = $117; - $124 = HEAP32[$1>>2]|0; - $125 = ((($124)) + 6|0); - $126 = HEAP8[$125>>0]|0; - $127 = $126&255; - $128 = ($127|0)==(0); - if (!($128)) { + HEAP32[$11>>2] = 0; + $44 = HEAP32[$9>>2]|0; + $45 = ($44|0)==(0); + $46 = HEAP32[$10>>2]|0; + $47 = ($46|0)!=(0); + $or$cond = $45 & $47; + if ($or$cond) { + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 80|0); + $50 = $49; + $51 = $50; + HEAP32[$51>>2] = 0; + $52 = (($50) + 4)|0; + $53 = $52; + HEAP32[$53>>2] = 0; + $54 = HEAP32[$3>>2]|0; + HEAP32[$12>>2] = $54; + L8: while(1) { + $55 = HEAP32[$2>>2]|0; + $56 = HEAP32[$3>>2]|0; + $57 = $5; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (_readJournalHdr($55,$56,$59,$62,$6,$8)|0); + HEAP32[$9>>2] = $63; + $64 = HEAP32[$9>>2]|0; + $65 = ($64|0)!=(0); + if ($65) { + label = 8; break; } - $129 = HEAP32[$pRoot>>2]|0; - $130 = HEAP32[$129>>2]|0; - $131 = ($130|0)==(1); - if (!($131)) { - break; + $68 = HEAP32[$6>>2]|0; + $69 = ($68|0)==(-1); + if ($69) { + $70 = $5; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (($70) + 4)|0; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$2>>2]|0; + $77 = ((($76)) + 156|0); + $78 = HEAP32[$77>>2]|0; + $79 = (_i64Subtract(($72|0),($75|0),($78|0),0)|0); + $80 = tempRet0; + $81 = HEAP32[$2>>2]|0; + $82 = ((($81)) + 160|0); + $83 = HEAP32[$82>>2]|0; + $84 = (($83) + 8)|0; + $85 = ($84|0)<(0); + $86 = $85 << 31 >> 31; + $87 = (___divdi3(($79|0),($80|0),($84|0),($86|0))|0); + $88 = tempRet0; + HEAP32[$6>>2] = $87; + } + $89 = HEAP32[$6>>2]|0; + $90 = ($89|0)!=(0); + $91 = HEAP32[$3>>2]|0; + $92 = ($91|0)!=(0); + $or$cond3 = $90 | $92; + if (!($or$cond3)) { + $93 = HEAP32[$2>>2]|0; + $94 = ((($93)) + 88|0); + $95 = $94; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$2>>2]|0; + $102 = ((($101)) + 156|0); + $103 = HEAP32[$102>>2]|0; + $104 = (_i64Add(($97|0),($100|0),($103|0),0)|0); + $105 = tempRet0; + $106 = HEAP32[$2>>2]|0; + $107 = ((($106)) + 80|0); + $108 = $107; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (($108) + 4)|0; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = ($104|0)==($110|0); + $115 = ($105|0)==($113|0); + $116 = $114 & $115; + if ($116) { + $117 = $5; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$2>>2]|0; + $124 = ((($123)) + 80|0); + $125 = $124; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = (($125) + 4)|0; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = (_i64Subtract(($119|0),($122|0),($127|0),($130|0))|0); + $132 = tempRet0; + $133 = HEAP32[$2>>2]|0; + $134 = ((($133)) + 160|0); + $135 = HEAP32[$134>>2]|0; + $136 = (($135) + 8)|0; + $137 = ($136|0)<(0); + $138 = $137 << 31 >> 31; + $139 = (___divdi3(($131|0),($132|0),($136|0),($138|0))|0); + $140 = tempRet0; + HEAP32[$6>>2] = $139; + } } - $132 = HEAP32[$1>>2]|0; - $133 = (_sqlite3Fts3EvalTestDeferred($132,$rc)|0); - $134 = ($133|0)!=(0); - if (!($134)) { - break; + $141 = HEAP32[$2>>2]|0; + $142 = ((($141)) + 80|0); + $143 = $142; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = (($143) + 4)|0; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = HEAP32[$2>>2]|0; + $150 = ((($149)) + 156|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($145|0)==($151|0); + $153 = ($148|0)==(0); + $154 = $152 & $153; + if ($154) { + $155 = HEAP32[$2>>2]|0; + $156 = HEAP32[$8>>2]|0; + $157 = (_pager_truncate($155,$156)|0); + HEAP32[$9>>2] = $157; + $158 = HEAP32[$9>>2]|0; + $159 = ($158|0)!=(0); + if ($159) { + break L1; + } + $160 = HEAP32[$8>>2]|0; + $161 = HEAP32[$2>>2]|0; + $162 = ((($161)) + 28|0); + HEAP32[$162>>2] = $160; } - } - $135 = HEAP32[$rc>>2]|0; - $136 = ($135|0)==(0); - if (!($136)) { - continue; - } - $137 = HEAP32[$1>>2]|0; - $138 = ((($137)) + 6|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = ($140|0)==(0); - if (!($141)) { - continue; - } - $142 = HEAP32[$pRoot>>2]|0; - _fts3EvalUpdateCounts($142); - } - $143 = HEAP32[$1>>2]|0; - $144 = ((($143)) + 6|0); - HEAP8[$144>>0] = 0; - $145 = $iPrevId; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + 4)|0; - $149 = $148; - $150 = HEAP32[$149>>2]|0; - $151 = HEAP32[$1>>2]|0; - $152 = ((($151)) + 32|0); - $153 = $152; - $154 = $153; - HEAP32[$154>>2] = $147; - $155 = (($153) + 4)|0; - $156 = $155; - HEAP32[$156>>2] = $150; - $157 = HEAP8[$bEof>>0]|0; - $158 = ($157<<24>>24)!=(0); - if ($158) { - $159 = HEAP8[$bEof>>0]|0; - $160 = HEAP32[$pRoot>>2]|0; - $161 = ((($160)) + 32|0); - HEAP8[$161>>0] = $159; - break; - } - $162 = HEAP32[$1>>2]|0; - $163 = HEAP32[$pRoot>>2]|0; - _fts3EvalRestart($162,$163,$rc); - while(1) { - $164 = HEAP32[$1>>2]|0; - $165 = HEAP32[$pRoot>>2]|0; - _fts3EvalNextRow($164,$165,$rc); - $166 = HEAP32[$pRoot>>2]|0; - $167 = ((($166)) + 24|0); - $168 = $167; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $171 = (($168) + 4)|0; - $172 = $171; - $173 = HEAP32[$172>>2]|0; - $174 = $iDocid; - $175 = $174; - $176 = HEAP32[$175>>2]|0; - $177 = (($174) + 4)|0; - $178 = $177; - $179 = HEAP32[$178>>2]|0; - $180 = ($170|0)!=($176|0); - $181 = ($173|0)!=($179|0); - $182 = $180 | $181; - $183 = HEAP32[$rc>>2]|0; - $184 = ($183|0)==(0); - $185 = $182 ? $184 : 0; - if (!($185)) { - break; - } - } - } - } while(0); - $186 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $186; - $187 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($187|0); -} -function _fts3EvalUpdateCounts($pExpr) { - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $9 = 0, $c = 0, $iCnt = 0, $iCol = 0, $p = 0, $pPhrase = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $pPhrase = sp + 12|0; - $iCol = sp + 8|0; - $p = sp + 4|0; - $c = sp + 20|0; - $iCnt = sp; - HEAP32[$0>>2] = $pExpr; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; - } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 20|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pPhrase>>2] = $5; - $6 = HEAP32[$pPhrase>>2]|0; - $7 = ($6|0)!=(0|0); - L4: do { - if ($7) { - $8 = HEAP32[$pPhrase>>2]|0; - $9 = ((($8)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - HEAP32[$iCol>>2] = 0; - $12 = HEAP32[$pPhrase>>2]|0; - $13 = ((($12)) + 28|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$p>>2] = $14; - while(1) { - HEAP8[$c>>0] = 0; - HEAP32[$iCnt>>2] = 0; + HEAP32[$7>>2] = 0; while(1) { - $15 = HEAP32[$p>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16 << 24 >> 24; - $18 = HEAP8[$c>>0]|0; - $19 = $18&255; - $20 = $17 | $19; - $21 = 254 & $20; - $22 = ($21|0)!=(0); - if (!($22)) { - break; + $163 = HEAP32[$7>>2]|0; + $164 = HEAP32[$6>>2]|0; + $165 = ($163>>>0)<($164>>>0); + if (!($165)) { + continue L8; } - $23 = HEAP8[$c>>0]|0; - $24 = $23&255; - $25 = $24 & 128; - $26 = ($25|0)==(0); - if ($26) { - $27 = HEAP32[$iCnt>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$iCnt>>2] = $28; + $166 = HEAP32[$12>>2]|0; + $167 = ($166|0)!=(0); + if ($167) { + $168 = HEAP32[$2>>2]|0; + _pager_reset($168); + HEAP32[$12>>2] = 0; } - $29 = HEAP32[$p>>2]|0; - $30 = ((($29)) + 1|0); - HEAP32[$p>>2] = $30; - $31 = HEAP8[$29>>0]|0; - $32 = $31 << 24 >> 24; - $33 = $32 & 128; - $34 = $33&255; - HEAP8[$c>>0] = $34; - } - $35 = HEAP32[$iCnt>>2]|0; - $36 = HEAP32[$iCol>>2]|0; - $37 = ($36*3)|0; - $38 = (($37) + 1)|0; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 40|0); - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + ($38<<2)|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + ($35))|0; - HEAP32[$42>>2] = $44; - $45 = HEAP32[$iCnt>>2]|0; - $46 = ($45|0)>(0); - $47 = $46&1; - $48 = HEAP32[$iCol>>2]|0; - $49 = ($48*3)|0; - $50 = (($49) + 2)|0; - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 40|0); - $53 = HEAP32[$52>>2]|0; - $54 = (($53) + ($50<<2)|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + ($47))|0; - HEAP32[$54>>2] = $56; - $57 = HEAP32[$p>>2]|0; - $58 = HEAP8[$57>>0]|0; - $59 = $58 << 24 >> 24; - $60 = ($59|0)==(0); - if ($60) { - break L4; + $169 = HEAP32[$2>>2]|0; + $170 = HEAP32[$2>>2]|0; + $171 = ((($170)) + 80|0); + $172 = (_pager_playback_one_page($169,$171,0,1,0)|0); + HEAP32[$9>>2] = $172; + $173 = HEAP32[$9>>2]|0; + $174 = ($173|0)==(0); + if (!($174)) { + break; + } + $175 = HEAP32[$13>>2]|0; + $176 = (($175) + 1)|0; + HEAP32[$13>>2] = $176; + $177 = HEAP32[$7>>2]|0; + $178 = (($177) + 1)|0; + HEAP32[$7>>2] = $178; + } + $179 = HEAP32[$9>>2]|0; + $180 = ($179|0)==(101); + if (!($180)) { + label = 26; + break; } - $61 = HEAP32[$p>>2]|0; - $62 = ((($61)) + 1|0); - HEAP32[$p>>2] = $62; - $63 = HEAP32[$p>>2]|0; - $64 = HEAP8[$63>>0]|0; - $65 = $64&255; - $66 = $65 & 128; - $67 = ($66|0)!=(0); - $68 = HEAP32[$p>>2]|0; - if ($67) { - $69 = (_sqlite3Fts3GetVarint32($68,$iCol)|0); - $74 = $69; - } else { - $70 = HEAP8[$68>>0]|0; - $71 = $70&255; - HEAP32[$iCol>>2] = $71; - $74 = 1; + $181 = $5; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = (($181) + 4)|0; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + $187 = HEAP32[$2>>2]|0; + $188 = ((($187)) + 80|0); + $189 = $188; + $190 = $189; + HEAP32[$190>>2] = $183; + $191 = (($189) + 4)|0; + $192 = $191; + HEAP32[$192>>2] = $186; + } + if ((label|0) == 8) { + $66 = HEAP32[$9>>2]|0; + $67 = ($66|0)==(101); + if (!($67)) { + break; + } + HEAP32[$9>>2] = 0; + break; + } + else if ((label|0) == 26) { + $193 = HEAP32[$9>>2]|0; + $194 = ($193|0)==(522); + if (!($194)) { + break; } - $72 = HEAP32[$p>>2]|0; - $73 = (($72) + ($74)|0); - HEAP32[$p>>2] = $73; + HEAP32[$9>>2] = 0; + break; } } } } while(0); - $75 = HEAP32[$0>>2]|0; - $76 = ((($75)) + 12|0); - $77 = HEAP32[$76>>2]|0; - _fts3EvalUpdateCounts($77); - $78 = HEAP32[$0>>2]|0; - $79 = ((($78)) + 16|0); - $80 = HEAP32[$79>>2]|0; - _fts3EvalUpdateCounts($80); - STACKTOP = sp;return; -} -function _fts3ExprLHits($pExpr,$p) { - $pExpr = $pExpr|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $iCol = 0, $iStart = 0, $nHit = 0, $pIter = 0, $pPhrase = 0, $pTab = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $pTab = sp + 20|0; - $iStart = sp + 16|0; - $pPhrase = sp + 12|0; - $pIter = sp + 8|0; - $iCol = sp + 4|0; - $nHit = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pTab>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pPhrase>>2] = $7; - $8 = HEAP32[$pPhrase>>2]|0; - $9 = ((($8)) + 28|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pIter>>2] = $10; - HEAP32[$iCol>>2] = 0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 << 24 >> 24; - $15 = ($14|0)==(121); - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 36|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - if ($15) { - $22 = Math_imul($18, $21)|0; - HEAP32[$iStart>>2] = $22; - } else { - $23 = (($21) + 31)|0; - $24 = (($23|0) / 32)&-1; - $25 = Math_imul($18, $24)|0; - HEAP32[$iStart>>2] = $25; + $195 = HEAP32[$2>>2]|0; + $196 = ((($195)) + 13|0); + $197 = HEAP8[$196>>0]|0; + $198 = HEAP32[$2>>2]|0; + $199 = ((($198)) + 19|0); + HEAP8[$199>>0] = $197; + $200 = HEAP32[$9>>2]|0; + $201 = ($200|0)==(0); + if ($201) { + $202 = HEAP32[$2>>2]|0; + $203 = ((($202)) + 208|0); + $204 = HEAP32[$203>>2]|0; + HEAP32[$11>>2] = $204; + $205 = HEAP32[$2>>2]|0; + $206 = ((($205)) + 68|0); + $207 = HEAP32[$206>>2]|0; + $208 = HEAP32[$11>>2]|0; + $209 = HEAP32[$2>>2]|0; + $210 = HEAP32[$209>>2]|0; + $211 = ((($210)) + 8|0); + $212 = HEAP32[$211>>2]|0; + $213 = (($212) + 1)|0; + $214 = (_readMasterJournal($207,$208,$213)|0); + HEAP32[$9>>2] = $214; } - while(1) { - $26 = (_fts3ColumnlistCount($pIter)|0); - HEAP32[$nHit>>2] = $26; - $27 = HEAP32[$pPhrase>>2]|0; - $28 = ((($27)) + 68|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$pTab>>2]|0; - $31 = ((($30)) + 24|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($29|0)>=($32|0); - if ($33) { - label = 6; - } else { - $34 = HEAP32[$pPhrase>>2]|0; - $35 = ((($34)) + 68|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$iCol>>2]|0; - $38 = ($36|0)==($37|0); - if ($38) { - label = 6; - } - } - do { - if ((label|0) == 6) { - label = 0; - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 24|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 << 24 >> 24; - $43 = ($42|0)==(121); - $44 = HEAP32[$nHit>>2]|0; - if ($43) { - $45 = HEAP32[$iStart>>2]|0; - $46 = HEAP32[$iCol>>2]|0; - $47 = (($45) + ($46))|0; - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 28|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($47<<2)|0); - HEAP32[$51>>2] = $44; + $215 = HEAP32[$9>>2]|0; + $216 = ($215|0)==(0); + do { + if ($216) { + $217 = HEAP32[$2>>2]|0; + $218 = ((($217)) + 17|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = ($220|0)>=(4); + if (!($221)) { + $222 = HEAP32[$2>>2]|0; + $223 = ((($222)) + 17|0); + $224 = HEAP8[$223>>0]|0; + $225 = $224&255; + $226 = ($225|0)==(0); + if (!($226)) { break; } - $52 = ($44|0)!=(0); - if ($52) { - $53 = HEAP32[$iCol>>2]|0; - $54 = $53 & 31; - $55 = 1 << $54; - $56 = HEAP32[$iStart>>2]|0; - $57 = HEAP32[$iCol>>2]|0; - $58 = (($57) + 1)|0; - $59 = (($58|0) / 32)&-1; - $60 = (($56) + ($59))|0; - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 28|0); - $63 = HEAP32[$62>>2]|0; - $64 = (($63) + ($60<<2)|0); - $65 = HEAP32[$64>>2]|0; - $66 = $65 | $55; - HEAP32[$64>>2] = $66; - } } - } while(0); - $67 = HEAP32[$pIter>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = $68 << 24 >> 24; - $70 = ($69|0)!=(1); - if ($70) { - break; + $227 = HEAP32[$2>>2]|0; + $228 = (_sqlite3PagerSync($227,0)|0); + HEAP32[$9>>2] = $228; } - $71 = HEAP32[$pIter>>2]|0; - $72 = ((($71)) + 1|0); - HEAP32[$pIter>>2] = $72; - $73 = HEAP32[$pIter>>2]|0; - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 & 128; - $77 = ($76|0)!=(0); - $78 = HEAP32[$pIter>>2]|0; - if ($77) { - $79 = (_sqlite3Fts3GetVarint32($78,$iCol)|0); - $84 = $79; - } else { - $80 = HEAP8[$78>>0]|0; - $81 = $80&255; - HEAP32[$iCol>>2] = $81; - $84 = 1; + } while(0); + $229 = HEAP32[$9>>2]|0; + $230 = ($229|0)==(0); + if ($230) { + $231 = HEAP32[$2>>2]|0; + $232 = HEAP32[$11>>2]|0; + $233 = HEAP8[$232>>0]|0; + $234 = $233 << 24 >> 24; + $235 = ($234|0)!=(0); + $236 = $235&1; + $237 = (_pager_end_transaction($231,$236,0)|0); + HEAP32[$9>>2] = $237; + } + $238 = HEAP32[$9>>2]|0; + $239 = ($238|0)==(0); + if ($239) { + $240 = HEAP32[$11>>2]|0; + $241 = HEAP8[$240>>0]|0; + $242 = $241 << 24 >> 24; + $243 = ($242|0)!=(0); + $244 = HEAP32[$10>>2]|0; + $245 = ($244|0)!=(0); + $or$cond5 = $243 & $245; + if ($or$cond5) { + $246 = HEAP32[$2>>2]|0; + $247 = HEAP32[$11>>2]|0; + $248 = (_pager_delmaster($246,$247)|0); + HEAP32[$9>>2] = $248; } - $82 = HEAP32[$pIter>>2]|0; - $83 = (($82) + ($84)|0); - HEAP32[$pIter>>2] = $83; } - STACKTOP = sp;return; -} -function _fts3MatchinfoLcsCb($pExpr,$iPhrase,$pCtx) { - $pExpr = $pExpr|0; - $iPhrase = $iPhrase|0; - $pCtx = $pCtx|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $aIter = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $aIter = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $iPhrase; - HEAP32[$2>>2] = $pCtx; - $3 = HEAP32[$2>>2]|0; - HEAP32[$aIter>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$aIter>>2]|0; - $7 = (($6) + ($5<<4)|0); - HEAP32[$7>>2] = $4; - STACKTOP = sp;return 0; + $249 = HEAP32[$3>>2]|0; + $250 = ($249|0)!=(0); + $251 = HEAP32[$13>>2]|0; + $252 = ($251|0)!=(0); + $or$cond7 = $250 & $252; + if (!($or$cond7)) { + $257 = HEAP32[$2>>2]|0; + _setSectorSize($257); + $258 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($258|0); + } + $253 = HEAP32[$13>>2]|0; + $254 = HEAP32[$2>>2]|0; + $255 = ((($254)) + 180|0); + $256 = HEAP32[$255>>2]|0; + HEAP32[$vararg_buffer>>2] = $253; + $vararg_ptr8 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $256; + _sqlite3_log(539,24867,$vararg_buffer); + $257 = HEAP32[$2>>2]|0; + _setSectorSize($257); + $258 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($258|0); } -function _fts3LcsIteratorAdvance($pIter) { - $pIter = $pIter|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $iRead = 0, $or$cond = 0, $pRead = 0, $rc = 0, label = 0, sp = 0; +function _readMasterJournal($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 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, $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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $pRead = sp + 12|0; - $iRead = sp; - $rc = sp + 8|0; - HEAP32[$0>>2] = $pIter; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pRead>>2] = $3; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$pRead>>2]|0; - $5 = (_sqlite3Fts3GetVarint($4,$iRead)|0); - $6 = HEAP32[$pRead>>2]|0; - $7 = (($6) + ($5)|0); - HEAP32[$pRead>>2] = $7; - $8 = $iRead; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)==(0); - $15 = ($13|0)==(0); - $16 = $14 & $15; - $17 = $iRead; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 40|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $13 = HEAP32[$5>>2]|0; + HEAP8[$13>>0] = 0; + $14 = HEAP32[$4>>2]|0; + $15 = (_sqlite3OsFileSize($14,$9)|0); + HEAP32[$7>>2] = $15; + $16 = (0)!=($15|0); + $17 = $9; $18 = $17; $19 = HEAP32[$18>>2]|0; $20 = (($17) + 4)|0; $21 = $20; $22 = HEAP32[$21>>2]|0; - $23 = ($19|0)==(1); - $24 = ($22|0)==(0); - $25 = $23 & $24; - $or$cond = $16 | $25; - if ($or$cond) { - HEAP32[$pRead>>2] = 0; - HEAP32[$rc>>2] = 1; - $38 = HEAP32[$pRead>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 8|0); - HEAP32[$40>>2] = $38; - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); - } else { - $26 = $iRead; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; + $23 = ($22|0)<(0); + $24 = ($19>>>0)<(16); + $25 = ($22|0)==(0); + $26 = $25 & $24; + $27 = $23 | $26; + $or$cond = $16 | $27; + if (!($or$cond)) { + $28 = HEAP32[$4>>2]|0; + $29 = $9; $30 = $29; $31 = HEAP32[$30>>2]|0; - $32 = (_i64Subtract(($28|0),($31|0),2,0)|0); - $33 = tempRet0; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 12|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + ($32))|0; - HEAP32[$35>>2] = $37; - $38 = HEAP32[$pRead>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 8|0); - HEAP32[$40>>2] = $38; - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (_i64Subtract(($31|0),($34|0),16,0)|0); + $36 = tempRet0; + $37 = (_read32bits($28,$35,$36,$8)|0); + HEAP32[$7>>2] = $37; + $38 = (0)!=($37|0); + if (!($38)) { + $39 = HEAP32[$8>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = ($39>>>0)>=($40>>>0); + $42 = HEAP32[$8>>2]|0; + $43 = ($42|0)==(0); + $or$cond3 = $41 | $43; + if (!($or$cond3)) { + $44 = HEAP32[$4>>2]|0; + $45 = $9; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (_i64Subtract(($47|0),($50|0),12,0)|0); + $52 = tempRet0; + $53 = (_read32bits($44,$51,$52,$10)|0); + HEAP32[$7>>2] = $53; + $54 = (0)!=($53|0); + if (!($54)) { + $55 = HEAP32[$4>>2]|0; + $56 = $9; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (_i64Subtract(($58|0),($61|0),8,0)|0); + $63 = tempRet0; + $64 = (_sqlite3OsRead($55,$12,8,$62,$63)|0); + HEAP32[$7>>2] = $64; + $65 = (0)!=($64|0); + if (!($65)) { + $66 = (_memcmp($12,24914,8)|0); + $67 = ($66|0)!=(0); + if (!($67)) { + $68 = HEAP32[$4>>2]|0; + $69 = HEAP32[$5>>2]|0; + $70 = HEAP32[$8>>2]|0; + $71 = $9; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (_i64Subtract(($73|0),($76|0),16,0)|0); + $78 = tempRet0; + $79 = HEAP32[$8>>2]|0; + $80 = (_i64Subtract(($77|0),($78|0),($79|0),0)|0); + $81 = tempRet0; + $82 = (_sqlite3OsRead($68,$69,$70,$80,$81)|0); + HEAP32[$7>>2] = $82; + $83 = (0)!=($82|0); + if (!($83)) { + HEAP32[$11>>2] = 0; + while(1) { + $85 = HEAP32[$11>>2]|0; + $86 = HEAP32[$8>>2]|0; + $87 = ($85>>>0)<($86>>>0); + if (!($87)) { + break; + } + $88 = HEAP32[$5>>2]|0; + $89 = HEAP32[$11>>2]|0; + $90 = (($88) + ($89)|0); + $91 = HEAP8[$90>>0]|0; + $92 = $91 << 24 >> 24; + $93 = HEAP32[$10>>2]|0; + $94 = (($93) - ($92))|0; + HEAP32[$10>>2] = $94; + $95 = HEAP32[$11>>2]|0; + $96 = (($95) + 1)|0; + HEAP32[$11>>2] = $96; + } + $97 = HEAP32[$10>>2]|0; + $98 = ($97|0)!=(0); + if ($98) { + HEAP32[$8>>2] = 0; + } + $99 = HEAP32[$5>>2]|0; + $100 = HEAP32[$8>>2]|0; + $101 = (($99) + ($100)|0); + HEAP8[$101>>0] = 0; + HEAP32[$3>>2] = 0; + $102 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($102|0); + } + } + } + } + } + } } - return (0)|0; + $84 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $84; + $102 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($102|0); } -function _fts3ExprLoadDoclistsCb($pExpr,$iPhrase,$ctx) { - $pExpr = $pExpr|0; - $iPhrase = $iPhrase|0; - $ctx = $ctx|0; - var $0 = 0, $1 = 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, $p = 0; - var $pPhrase = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3OsAccess($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $rc = sp + 8|0; - $pPhrase = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $iPhrase; - HEAP32[$2>>2] = $ctx; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 20|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pPhrase>>2] = $5; - $6 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 1)|0; - HEAP32[$8>>2] = $10; - $11 = HEAP32[$pPhrase>>2]|0; - $12 = ((($11)) + 64|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($13))|0; - HEAP32[$15>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 32|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = (FUNCTION_TABLE_iiiii[$10 & 255]($11,$12,$13,$14)|0); + STACKTOP = sp;return ($15|0); } -function _fts3SelectDocsize($pTab,$0,$1,$ppStmt) { - $pTab = $pTab|0; +function _readJournalHdr($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; - $ppStmt = $ppStmt|0; - var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pStmt = 0, $rc = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp; - $4 = sp + 16|0; - $pStmt = sp + 12|0; - $rc = sp + 8|0; - HEAP32[$2>>2] = $pTab; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 8|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 48|0; + $14 = sp; + $15 = sp + 20|0; + $16 = sp + 16|0; + HEAP32[$7>>2] = $0; HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $ppStmt; - HEAP32[$pStmt>>2] = 0; - $9 = HEAP32[$2>>2]|0; - $10 = (_fts3SqlStmt($9,21,$pStmt,0)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)==(0); - do { - if ($12) { - $13 = HEAP32[$pStmt>>2]|0; - $14 = $3; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - (_sqlite3_bind_int64($13,1,$16,$19)|0); - $20 = HEAP32[$pStmt>>2]|0; - $21 = (_sqlite3_step($20)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)!=(100); - if (!($23)) { - $24 = HEAP32[$pStmt>>2]|0; - $25 = (_sqlite3_column_type($24,0)|0); - $26 = ($25|0)!=(4); - if (!($26)) { - HEAP32[$rc>>2] = 0; - break; - } - } - $27 = HEAP32[$pStmt>>2]|0; - $28 = (_sqlite3_reset($27)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$rc>>2]|0; - $30 = ($29|0)==(0); - $$ = $30 ? 267 : $28; - HEAP32[$rc>>2] = $$; - HEAP32[$pStmt>>2] = 0; + $17 = $9; + $18 = $17; + HEAP32[$18>>2] = $2; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $21 = HEAP32[$7>>2]|0; + $22 = (_journalHdrOffset($21)|0); + $23 = tempRet0; + $24 = HEAP32[$7>>2]|0; + $25 = ((($24)) + 80|0); + $26 = $25; + $27 = $26; + HEAP32[$27>>2] = $22; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $23; + $30 = HEAP32[$7>>2]|0; + $31 = ((($30)) + 80|0); + $32 = $31; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$7>>2]|0; + $39 = ((($38)) + 156|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_i64Add(($34|0),($37|0),($40|0),0)|0); + $42 = tempRet0; + $43 = $9; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = ($42|0)>($48|0); + $50 = ($41>>>0)>($45>>>0); + $51 = ($42|0)==($48|0); + $52 = $51 & $50; + $53 = $49 | $52; + if ($53) { + HEAP32[$6>>2] = 101; + $228 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($228|0); + } + $54 = HEAP32[$7>>2]|0; + $55 = ((($54)) + 80|0); + $56 = $55; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = $14; + $63 = $62; + HEAP32[$63>>2] = $58; + $64 = (($62) + 4)|0; + $65 = $64; + HEAP32[$65>>2] = $61; + $66 = HEAP32[$8>>2]|0; + $67 = ($66|0)!=(0); + if ($67) { + label = 5; + } else { + $68 = $14; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$7>>2]|0; + $75 = ((($74)) + 88|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = ($70|0)!=($78|0); + $83 = ($73|0)!=($81|0); + $84 = $82 | $83; + if ($84) { + label = 5; } - } while(0); - $31 = HEAP32[$pStmt>>2]|0; - $32 = HEAP32[$4>>2]|0; - HEAP32[$32>>2] = $31; - $33 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($33|0); -} -function _sqlite3Fts3SelectDoctotal($pTab,$ppStmt) { - $pTab = $pTab|0; - $ppStmt = $ppStmt|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pStmt = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pStmt = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pTab; - HEAP32[$1>>2] = $ppStmt; - HEAP32[$pStmt>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = (_fts3SqlStmt($2,22,$pStmt,0)|0); - HEAP32[$rc>>2] = $3; - $4 = HEAP32[$rc>>2]|0; - $5 = ($4|0)==(0); - do { - if ($5) { - $6 = HEAP32[$pStmt>>2]|0; - (_sqlite3_bind_int($6,1,0)|0); - $7 = HEAP32[$pStmt>>2]|0; - $8 = (_sqlite3_step($7)|0); - $9 = ($8|0)!=(100); - if (!($9)) { - $10 = HEAP32[$pStmt>>2]|0; - $11 = (_sqlite3_column_type($10,0)|0); - $12 = ($11|0)!=(4); - if (!($12)) { - break; - } + } + if ((label|0) == 5) { + $85 = HEAP32[$7>>2]|0; + $86 = ((($85)) + 68|0); + $87 = HEAP32[$86>>2]|0; + $88 = $14; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (_sqlite3OsRead($87,$13,8,$90,$93)|0); + HEAP32[$12>>2] = $94; + $95 = HEAP32[$12>>2]|0; + $96 = ($95|0)!=(0); + if ($96) { + $97 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $97; + $228 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($228|0); + } + $98 = (_memcmp($13,24914,8)|0); + $99 = ($98|0)!=(0); + if ($99) { + HEAP32[$6>>2] = 101; + $228 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($228|0); + } + } + $100 = HEAP32[$7>>2]|0; + $101 = ((($100)) + 68|0); + $102 = HEAP32[$101>>2]|0; + $103 = $14; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (_i64Add(($105|0),($108|0),8,0)|0); + $110 = tempRet0; + $111 = HEAP32[$10>>2]|0; + $112 = (_read32bits($102,$109,$110,$111)|0); + HEAP32[$12>>2] = $112; + $113 = (0)!=($112|0); + if (!($113)) { + $114 = HEAP32[$7>>2]|0; + $115 = ((($114)) + 68|0); + $116 = HEAP32[$115>>2]|0; + $117 = $14; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (_i64Add(($119|0),($122|0),12,0)|0); + $124 = tempRet0; + $125 = HEAP32[$7>>2]|0; + $126 = ((($125)) + 52|0); + $127 = (_read32bits($116,$123,$124,$126)|0); + HEAP32[$12>>2] = $127; + $128 = (0)!=($127|0); + if (!($128)) { + $129 = HEAP32[$7>>2]|0; + $130 = ((($129)) + 68|0); + $131 = HEAP32[$130>>2]|0; + $132 = $14; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = (($132) + 4)|0; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (_i64Add(($134|0),($137|0),16,0)|0); + $139 = tempRet0; + $140 = HEAP32[$11>>2]|0; + $141 = (_read32bits($131,$138,$139,$140)|0); + HEAP32[$12>>2] = $141; + $142 = (0)!=($141|0); + if (!($142)) { + $144 = HEAP32[$7>>2]|0; + $145 = ((($144)) + 80|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = ($148|0)==(0); + $153 = ($151|0)==(0); + $154 = $152 & $153; + do { + if ($154) { + $155 = HEAP32[$7>>2]|0; + $156 = ((($155)) + 68|0); + $157 = HEAP32[$156>>2]|0; + $158 = $14; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = (($158) + 4)|0; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (_i64Add(($160|0),($163|0),20,0)|0); + $165 = tempRet0; + $166 = (_read32bits($157,$164,$165,$16)|0); + HEAP32[$12>>2] = $166; + $167 = (0)!=($166|0); + if (!($167)) { + $168 = HEAP32[$7>>2]|0; + $169 = ((($168)) + 68|0); + $170 = HEAP32[$169>>2]|0; + $171 = $14; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = (_i64Add(($173|0),($176|0),24,0)|0); + $178 = tempRet0; + $179 = (_read32bits($170,$177,$178,$15)|0); + HEAP32[$12>>2] = $179; + $180 = (0)!=($179|0); + if (!($180)) { + $182 = HEAP32[$15>>2]|0; + $183 = ($182|0)==(0); + if ($183) { + $184 = HEAP32[$7>>2]|0; + $185 = ((($184)) + 160|0); + $186 = HEAP32[$185>>2]|0; + HEAP32[$15>>2] = $186; + } + $187 = HEAP32[$15>>2]|0; + $188 = ($187>>>0)<(512); + $189 = HEAP32[$16>>2]|0; + $190 = ($189>>>0)<(32); + $or$cond = $188 | $190; + $191 = HEAP32[$15>>2]|0; + $192 = ($191>>>0)>(65536); + $or$cond3 = $or$cond | $192; + $193 = HEAP32[$16>>2]|0; + $194 = ($193>>>0)>(65536); + $or$cond5 = $or$cond3 | $194; + if (!($or$cond5)) { + $195 = HEAP32[$15>>2]|0; + $196 = (($195) - 1)|0; + $197 = HEAP32[$15>>2]|0; + $198 = $196 & $197; + $199 = ($198|0)!=(0); + if (!($199)) { + $200 = HEAP32[$16>>2]|0; + $201 = (($200) - 1)|0; + $202 = HEAP32[$16>>2]|0; + $203 = $201 & $202; + $204 = ($203|0)!=(0); + if (!($204)) { + $205 = HEAP32[$7>>2]|0; + $206 = (_sqlite3PagerSetPagesize($205,$15,-1)|0); + HEAP32[$12>>2] = $206; + $207 = HEAP32[$16>>2]|0; + $208 = HEAP32[$7>>2]|0; + $209 = ((($208)) + 156|0); + HEAP32[$209>>2] = $207; + break; + } + } + } + HEAP32[$6>>2] = 101; + $228 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($228|0); + } + } + $181 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $181; + $228 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($228|0); + } + } while(0); + $210 = HEAP32[$7>>2]|0; + $211 = ((($210)) + 156|0); + $212 = HEAP32[$211>>2]|0; + $213 = HEAP32[$7>>2]|0; + $214 = ((($213)) + 80|0); + $215 = $214; + $216 = $215; + $217 = HEAP32[$216>>2]|0; + $218 = (($215) + 4)|0; + $219 = $218; + $220 = HEAP32[$219>>2]|0; + $221 = (_i64Add(($217|0),($220|0),($212|0),0)|0); + $222 = tempRet0; + $223 = $214; + $224 = $223; + HEAP32[$224>>2] = $221; + $225 = (($223) + 4)|0; + $226 = $225; + HEAP32[$226>>2] = $222; + $227 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $227; + $228 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($228|0); } - $13 = HEAP32[$pStmt>>2]|0; - $14 = (_sqlite3_reset($13)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - $$ = $16 ? 267 : $14; - HEAP32[$rc>>2] = $$; - HEAP32[$pStmt>>2] = 0; } - } while(0); - $17 = HEAP32[$pStmt>>2]|0; - $18 = HEAP32[$1>>2]|0; - HEAP32[$18>>2] = $17; - $19 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($19|0); + } + $143 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $143; + $228 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($228|0); } -function _fts3MIBufferFree($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBuf = 0, label = 0, sp = 0; +function _pager_playback_one_page($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$old = 0, $$old1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $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$cond4 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pBuf = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + -4|0); - $4 = HEAP32[$3>>2]|0; - $5 = (0 - ($4))|0; - $6 = (($1) + ($5)|0); - HEAP32[$pBuf>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$pBuf>>2]|0; - $9 = ((($8)) + 16|0); - $10 = ((($9)) + 4|0); - $11 = ($7|0)==($10|0); - $12 = HEAP32[$pBuf>>2]|0; - if ($11) { - $13 = ((($12)) + 1|0); - HEAP8[$13>>0] = 0; + STACKTOP = STACKTOP + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + $14 = sp + 24|0; + $15 = sp + 20|0; + $16 = sp + 16|0; + $17 = sp + 12|0; + $18 = sp; + $19 = sp + 8|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 208|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$15>>2] = $22; + $23 = HEAP32[$9>>2]|0; + $24 = ($23|0)!=(0); + $25 = HEAP32[$6>>2]|0; + if ($24) { + $26 = ((($25)) + 68|0); + $27 = HEAP32[$26>>2]|0; + $30 = $27; } else { - $14 = ((($12)) + 2|0); - HEAP8[$14>>0] = 0; - } - $15 = HEAP32[$pBuf>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = ($17|0)==(0); - if (!($18)) { - STACKTOP = sp;return; - } - $19 = HEAP32[$pBuf>>2]|0; - $20 = ((($19)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)==(0); - if (!($23)) { - STACKTOP = sp;return; + $28 = ((($25)) + 72|0); + $29 = HEAP32[$28>>2]|0; + $30 = $29; } - $24 = HEAP32[$pBuf>>2]|0; - $25 = ((($24)) + 2|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)==(0); - if (!($28)) { - STACKTOP = sp;return; + HEAP32[$16>>2] = $30; + $31 = HEAP32[$16>>2]|0; + $32 = HEAP32[$7>>2]|0; + $33 = $32; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (_read32bits($31,$35,$38,$13)|0); + HEAP32[$11>>2] = $39; + $40 = HEAP32[$11>>2]|0; + $41 = ($40|0)!=(0); + if ($41) { + $42 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $42; + $301 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($301|0); + } + $43 = HEAP32[$16>>2]|0; + $44 = HEAP32[$15>>2]|0; + $45 = HEAP32[$6>>2]|0; + $46 = ((($45)) + 160|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$7>>2]|0; + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (_i64Add(($51|0),($54|0),4,0)|0); + $56 = tempRet0; + $57 = (_sqlite3OsRead($43,$44,$47,$55,$56)|0); + HEAP32[$11>>2] = $57; + $58 = HEAP32[$11>>2]|0; + $59 = ($58|0)!=(0); + if ($59) { + $60 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $60; + $301 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($301|0); } - $29 = HEAP32[$pBuf>>2]|0; - _sqlite3_free($29); - STACKTOP = sp;return; -} -function _fts3ExprPhraseCountCb($pExpr,$iPhrase,$ctx) { - $pExpr = $pExpr|0; - $iPhrase = $iPhrase|0; - $ctx = $ctx|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $iPhrase; - HEAP32[$2>>2] = $ctx; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 1)|0; - HEAP32[$3>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 36|0); - HEAP32[$8>>2] = $6; - STACKTOP = sp;return 0; -} -function _sqlite3Fts3Optimize($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $rc2 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3_exec($3,23369,0,0,0)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - $6 = ($5|0)==(0); - do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = (_fts3DoOptimize($7,1)|0); - HEAP32[$rc>>2] = $8; - $9 = HEAP32[$rc>>2]|0; - $10 = ($9|0)==(0); - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)==(101); - $or$cond = $10 | $12; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 12|0); - $15 = HEAP32[$14>>2]|0; - if (!($or$cond)) { - (_sqlite3_exec($15,23397,0,0,0)|0); - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 12|0); - $22 = HEAP32[$21>>2]|0; - (_sqlite3_exec($22,23384,0,0,0)|0); - break; - } - $16 = (_sqlite3_exec($15,23384,0,0,0)|0); - HEAP32[$rc2>>2] = $16; - $17 = HEAP32[$rc2>>2]|0; - $18 = ($17|0)!=(0); - if ($18) { - $19 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $19; + $61 = HEAP32[$6>>2]|0; + $62 = ((($61)) + 160|0); + $63 = HEAP32[$62>>2]|0; + $64 = (($63) + 4)|0; + $65 = HEAP32[$9>>2]|0; + $66 = $65<<2; + $67 = (($64) + ($66))|0; + $68 = ($67|0)<(0); + $69 = $68 << 31 >> 31; + $70 = HEAP32[$7>>2]|0; + $71 = $70; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (_i64Add(($73|0),($76|0),($67|0),($69|0))|0); + $78 = tempRet0; + $79 = $70; + $80 = $79; + HEAP32[$80>>2] = $77; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + $83 = HEAP32[$13>>2]|0; + $84 = ($83|0)==(0); + if (!($84)) { + $85 = HEAP32[$13>>2]|0; + $86 = HEAP32[482]|0; + $87 = HEAP32[$6>>2]|0; + $88 = ((($87)) + 160|0); + $89 = HEAP32[$88>>2]|0; + $90 = (($86|0) / ($89|0))&-1; + $91 = (($90) + 1)|0; + $92 = ($85|0)==($91|0); + if (!($92)) { + $93 = HEAP32[$13>>2]|0; + $94 = HEAP32[$6>>2]|0; + $95 = ((($94)) + 28|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($93>>>0)>($96>>>0); + if (!($97)) { + $98 = HEAP32[$8>>2]|0; + $99 = HEAP32[$13>>2]|0; + $100 = (_sqlite3BitvecTest($98,$99)|0); + $101 = ($100|0)!=(0); + if (!($101)) { + $102 = HEAP32[$9>>2]|0; + $103 = ($102|0)!=(0); + if ($103) { + $104 = HEAP32[$16>>2]|0; + $105 = HEAP32[$7>>2]|0; + $106 = $105; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (($106) + 4)|0; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (_i64Subtract(($108|0),($111|0),4,0)|0); + $113 = tempRet0; + $114 = (_read32bits($104,$112,$113,$14)|0); + HEAP32[$11>>2] = $114; + $115 = HEAP32[$11>>2]|0; + $116 = ($115|0)!=(0); + if ($116) { + $117 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $117; + $301 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($301|0); + } + $118 = HEAP32[$10>>2]|0; + $119 = ($118|0)!=(0); + if (!($119)) { + $120 = HEAP32[$6>>2]|0; + $121 = HEAP32[$15>>2]|0; + $122 = (_pager_cksum($120,$121)|0); + $123 = HEAP32[$14>>2]|0; + $124 = ($122|0)!=($123|0); + if ($124) { + HEAP32[$5>>2] = 101; + $301 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($301|0); + } + } + } + $125 = HEAP32[$8>>2]|0; + $126 = ($125|0)!=(0|0); + if ($126) { + $127 = HEAP32[$8>>2]|0; + $128 = HEAP32[$13>>2]|0; + $129 = (_sqlite3BitvecSet($127,$128)|0); + HEAP32[$11>>2] = $129; + $130 = ($129|0)!=(0); + if ($130) { + $131 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $131; + $301 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($301|0); + } + } + $132 = HEAP32[$13>>2]|0; + $133 = ($132|0)==(1); + if ($133) { + $134 = HEAP32[$6>>2]|0; + $135 = ((($134)) + 150|0); + $136 = HEAP16[$135>>1]|0; + $137 = $136 << 16 >> 16; + $138 = HEAP32[$15>>2]|0; + $139 = ((($138)) + 20|0); + $140 = HEAP8[$139>>0]|0; + $141 = $140&255; + $142 = ($137|0)!=($141|0); + if ($142) { + $143 = HEAP32[$15>>2]|0; + $144 = ((($143)) + 20|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = HEAP32[$6>>2]|0; + $148 = ((($147)) + 150|0); + HEAP16[$148>>1] = $146; + } + } + $149 = HEAP32[$6>>2]|0; + $150 = (_sqlite3PagerUseWal($149)|0); + $151 = ($150|0)!=(0); + if ($151) { + HEAP32[$12>>2] = 0; + } else { + $152 = HEAP32[$6>>2]|0; + $153 = HEAP32[$13>>2]|0; + $154 = (_sqlite3PagerLookup($152,$153)|0); + HEAP32[$12>>2] = $154; + } + $155 = HEAP32[$9>>2]|0; + $156 = ($155|0)!=(0); + if ($156) { + $157 = HEAP32[$6>>2]|0; + $158 = ((($157)) + 7|0); + $159 = HEAP8[$158>>0]|0; + $160 = $159&255; + $161 = ($160|0)!=(0); + if ($161) { + $183 = 1; + } else { + $162 = HEAP32[$7>>2]|0; + $163 = $162; + $164 = $163; + $165 = HEAP32[$164>>2]|0; + $166 = (($163) + 4)|0; + $167 = $166; + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[$6>>2]|0; + $170 = ((($169)) + 88|0); + $171 = $170; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = ($168|0)<($176|0); + $178 = ($165>>>0)<=($173>>>0); + $179 = ($168|0)==($176|0); + $180 = $179 & $178; + $181 = $177 | $180; + $183 = $181; + } + $182 = $183&1; + HEAP32[$17>>2] = $182; + } else { + $184 = HEAP32[$12>>2]|0; + $185 = ($184|0)==(0|0); + if ($185) { + $193 = 1; + } else { + $186 = HEAP32[$12>>2]|0; + $187 = ((($186)) + 24|0); + $188 = HEAP16[$187>>1]|0; + $189 = $188&65535; + $190 = $189 & 8; + $191 = (0)==($190|0); + $193 = $191; + } + $192 = $193&1; + HEAP32[$17>>2] = $192; + } + $194 = HEAP32[$6>>2]|0; + $195 = ((($194)) + 64|0); + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)!=(0|0); + do { + if ($198) { + $199 = HEAP32[$6>>2]|0; + $200 = ((($199)) + 17|0); + $201 = HEAP8[$200>>0]|0; + $202 = $201&255; + $203 = ($202|0)>=(4); + if ($203) { + $$old = HEAP32[$17>>2]|0; + $$old1 = ($$old|0)!=(0); + if (!($$old1)) { + label = 44; + break; + } + } else { + $204 = HEAP32[$6>>2]|0; + $205 = ((($204)) + 17|0); + $206 = HEAP8[$205>>0]|0; + $207 = $206&255; + $208 = ($207|0)==(0); + $209 = HEAP32[$17>>2]|0; + $210 = ($209|0)!=(0); + $or$cond = $208 & $210; + if (!($or$cond)) { + label = 44; + break; + } + } + $211 = HEAP32[$13>>2]|0; + $212 = (($211) - 1)|0; + $213 = HEAP32[$6>>2]|0; + $214 = ((($213)) + 160|0); + $215 = HEAP32[$214>>2]|0; + $216 = ($215|0)<(0); + $217 = $216 << 31 >> 31; + $218 = (___muldi3(($212|0),0,($215|0),($217|0))|0); + $219 = tempRet0; + $220 = $18; + $221 = $220; + HEAP32[$221>>2] = $218; + $222 = (($220) + 4)|0; + $223 = $222; + HEAP32[$223>>2] = $219; + $224 = HEAP32[$6>>2]|0; + $225 = ((($224)) + 64|0); + $226 = HEAP32[$225>>2]|0; + $227 = HEAP32[$15>>2]|0; + $228 = HEAP32[$6>>2]|0; + $229 = ((($228)) + 160|0); + $230 = HEAP32[$229>>2]|0; + $231 = $18; + $232 = $231; + $233 = HEAP32[$232>>2]|0; + $234 = (($231) + 4)|0; + $235 = $234; + $236 = HEAP32[$235>>2]|0; + $237 = (_sqlite3OsWrite($226,$227,$230,$233,$236)|0); + HEAP32[$11>>2] = $237; + $238 = HEAP32[$13>>2]|0; + $239 = HEAP32[$6>>2]|0; + $240 = ((($239)) + 36|0); + $241 = HEAP32[$240>>2]|0; + $242 = ($238>>>0)>($241>>>0); + if ($242) { + $243 = HEAP32[$13>>2]|0; + $244 = HEAP32[$6>>2]|0; + $245 = ((($244)) + 36|0); + HEAP32[$245>>2] = $243; + } + $246 = HEAP32[$6>>2]|0; + $247 = ((($246)) + 96|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)!=(0|0); + if ($249) { + $250 = HEAP32[$6>>2]|0; + $251 = ((($250)) + 96|0); + $252 = HEAP32[$251>>2]|0; + $253 = HEAP32[$13>>2]|0; + $254 = HEAP32[$15>>2]|0; + _sqlite3BackupUpdate($252,$253,$254); + $255 = HEAP32[$15>>2]|0; + HEAP32[$15>>2] = $255; + } + } else { + label = 44; + } + } while(0); + do { + if ((label|0) == 44) { + $256 = HEAP32[$9>>2]|0; + $257 = ($256|0)==(0); + $258 = HEAP32[$12>>2]|0; + $259 = ($258|0)==(0|0); + $or$cond4 = $257 & $259; + if ($or$cond4) { + $260 = HEAP32[$6>>2]|0; + $261 = ((($260)) + 21|0); + $262 = HEAP8[$261>>0]|0; + $263 = $262&255; + $264 = $263 | 2; + $265 = $264&255; + HEAP8[$261>>0] = $265; + $266 = HEAP32[$6>>2]|0; + $267 = HEAP32[$13>>2]|0; + $268 = (_sqlite3PagerGet($266,$267,$12,1)|0); + HEAP32[$11>>2] = $268; + $269 = HEAP32[$6>>2]|0; + $270 = ((($269)) + 21|0); + $271 = HEAP8[$270>>0]|0; + $272 = $271&255; + $273 = $272 & -3; + $274 = $273&255; + HEAP8[$270>>0] = $274; + $275 = HEAP32[$11>>2]|0; + $276 = ($275|0)!=(0); + if (!($276)) { + $278 = HEAP32[$12>>2]|0; + _sqlite3PcacheMakeDirty($278); + break; + } + $277 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $277; + $301 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($301|0); + } + } + } while(0); + $279 = HEAP32[$12>>2]|0; + $280 = ($279|0)!=(0|0); + if ($280) { + $281 = HEAP32[$12>>2]|0; + $282 = ((($281)) + 4|0); + $283 = HEAP32[$282>>2]|0; + HEAP32[$19>>2] = $283; + $284 = HEAP32[$19>>2]|0; + $285 = HEAP32[$15>>2]|0; + $286 = HEAP32[$6>>2]|0; + $287 = ((($286)) + 160|0); + $288 = HEAP32[$287>>2]|0; + _memcpy(($284|0),($285|0),($288|0))|0; + $289 = HEAP32[$6>>2]|0; + $290 = ((($289)) + 204|0); + $291 = HEAP32[$290>>2]|0; + $292 = HEAP32[$12>>2]|0; + FUNCTION_TABLE_vi[$291 & 255]($292); + $293 = HEAP32[$13>>2]|0; + $294 = ($293|0)==(1); + if ($294) { + $295 = HEAP32[$6>>2]|0; + $296 = ((($295)) + 112|0); + $297 = HEAP32[$19>>2]|0; + $298 = ((($297)) + 24|0); + dest=$296; src=$298; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + } + $299 = HEAP32[$12>>2]|0; + _sqlite3PcacheRelease($299); + } + $300 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $300; + $301 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($301|0); + } } + HEAP32[$5>>2] = 0; + $301 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($301|0); } - } while(0); - $23 = HEAP32[$0>>2]|0; - _sqlite3Fts3SegmentsClose($23); - $24 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($24|0); + } + HEAP32[$5>>2] = 101; + $301 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($301|0); } -function _fts3DoOptimize($p,$bReturnDone) { - $p = $p|0; - $bReturnDone = $bReturnDone|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bSeenDone = 0, $i = 0, $iLangid = 0, $or$cond = 0, $or$cond3 = 0, $pAllLangid = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; +function _sqlite3PagerSync($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $bSeenDone = sp + 20|0; - $rc = sp + 16|0; - $pAllLangid = sp + 12|0; - $rc2 = sp + 8|0; - $i = sp + 4|0; - $iLangid = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $bReturnDone; - HEAP32[$bSeenDone>>2] = 0; - HEAP32[$pAllLangid>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = (_fts3SqlStmt($2,27,$pAllLangid,0)|0); - HEAP32[$rc>>2] = $3; - $4 = HEAP32[$rc>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = HEAP32[$pAllLangid>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 272|0); - $9 = HEAP32[$8>>2]|0; - (_sqlite3_bind_int($6,1,$9)|0); - $10 = HEAP32[$pAllLangid>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 248|0); - $13 = HEAP32[$12>>2]|0; - (_sqlite3_bind_int($10,2,$13)|0); - L3: while(1) { - $14 = HEAP32[$pAllLangid>>2]|0; - $15 = (_sqlite3_step($14)|0); - $16 = ($15|0)==(100); - $17 = HEAP32[$pAllLangid>>2]|0; - if (!($16)) { - break; - } - $18 = (_sqlite3_column_int($17,0)|0); - HEAP32[$iLangid>>2] = $18; - HEAP32[$i>>2] = 0; - while(1) { - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)==(0); - if (!($20)) { - continue L3; - } - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 248|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($21|0)<($24|0); - if (!($25)) { - continue L3; - } - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$iLangid>>2]|0; - $28 = HEAP32[$i>>2]|0; - $29 = (_fts3SegmentMerge($26,$27,$28,-2)|0); - HEAP32[$rc>>2] = $29; - $30 = HEAP32[$rc>>2]|0; - $31 = ($30|0)==(101); - if ($31) { - HEAP32[$bSeenDone>>2] = 1; - HEAP32[$rc>>2] = 0; - } - $32 = HEAP32[$i>>2]|0; - $33 = (($32) + 1)|0; - HEAP32[$i>>2] = $33; - } - } - $34 = (_sqlite3_reset($17)|0); - HEAP32[$rc2>>2] = $34; - $35 = HEAP32[$rc>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $37; - } + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 64|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 64|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = (_sqlite3OsFileControl($14,21,$15)|0); + HEAP32[$4>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = ($17|0)==(12); + $$ = $18 ? 0 : $16; + HEAP32[$4>>2] = $$; } - $38 = HEAP32[$0>>2]|0; - _sqlite3Fts3SegmentsClose($38); - $39 = HEAP32[$0>>2]|0; - _sqlite3Fts3PendingTermsClear($39); - $40 = HEAP32[$rc>>2]|0; - $41 = ($40|0)==(0); - $42 = HEAP32[$1>>2]|0; - $43 = ($42|0)!=(0); - $or$cond = $41 & $43; - $44 = HEAP32[$bSeenDone>>2]|0; - $45 = ($44|0)!=(0); - $or$cond3 = $or$cond & $45; - $46 = HEAP32[$rc>>2]|0; - $47 = $or$cond3 ? 101 : $46; - STACKTOP = sp;return ($47|0); + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)==(0); + if (!($20)) { + $33 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($33|0); + } + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 7|0); + $23 = HEAP8[$22>>0]|0; + $24 = ($23<<24>>24)!=(0); + if ($24) { + $33 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($33|0); + } + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 64|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = (_sqlite3OsSync($27,$31)|0); + HEAP32[$4>>2] = $32; + $33 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($33|0); } -function _sqlite3Fts3Offsets($pCtx,$pCsr) { - $pCtx = $pCtx|0; - $pCsr = $pCsr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $NDUMMY = 0, $ZDUMMY = 0, $aBuffer = 0, $i = 0, $iCol = 0, $iCurrent = 0, $iEnd = 0, $iMinPos = 0, $iStart = 0, $nDoc = 0, $nToken = 0, $pC = 0, $pMod = 0, $pT = 0, $pTab = 0, $pTerm = 0, $rc = 0, $res = 0, $sCtx = 0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $zDoc = 0, label = 0, sp = 0; +function _pager_delmaster($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $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; - STACKTOP = STACKTOP + 208|0; - $vararg_buffer = sp + 32|0; - $0 = sp + 132|0; - $1 = sp + 128|0; - $pTab = sp + 124|0; - $pMod = sp + 120|0; - $rc = sp + 116|0; - $nToken = sp + 112|0; - $iCol = sp + 108|0; - $res = sp + 96|0; - $sCtx = sp; - $pC = sp + 92|0; - $ZDUMMY = sp + 88|0; - $NDUMMY = sp + 84|0; - $iStart = sp + 80|0; - $iEnd = sp + 76|0; - $iCurrent = sp + 72|0; - $zDoc = sp + 68|0; - $nDoc = sp + 64|0; - $i = sp + 60|0; - $iMinPos = sp + 56|0; - $pTerm = sp + 52|0; - $pT = sp + 48|0; - $aBuffer = sp + 136|0; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $pCsr; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pTab>>2] = $3; - $4 = HEAP32[$pTab>>2]|0; - $5 = ((($4)) + 36|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$pMod>>2] = $7; - ;HEAP32[$res>>2]=0|0;HEAP32[$res+4>>2]=0|0;HEAP32[$res+8>>2]=0|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - $12 = HEAP32[$0>>2]|0; - _sqlite3_result_text($12,18402,0,0); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 60|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$4>>2] = $18; + HEAP32[$8>>2] = 0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = $21<<1; + $23 = ($22|0)<(0); + $24 = $23 << 31 >> 31; + $25 = (_sqlite3MallocZero($22,$24)|0); + HEAP32[$6>>2] = $25; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($26) + ($29)|0); + HEAP32[$7>>2] = $30; + $31 = HEAP32[$6>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + HEAP32[$13>>2] = 16385; + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = (_sqlite3OsOpen($33,$34,$35,16385,0)|0); + HEAP32[$5>>2] = $36; + } else { + HEAP32[$5>>2] = 7; } - ;HEAP32[$sCtx>>2]=0|0;HEAP32[$sCtx+4>>2]=0|0;HEAP32[$sCtx+8>>2]=0|0;HEAP32[$sCtx+12>>2]=0|0;HEAP32[$sCtx+16>>2]=0|0;HEAP32[$sCtx+20>>2]=0|0;HEAP32[$sCtx+24>>2]=0|0;HEAP32[$sCtx+28>>2]=0|0; - $13 = HEAP32[$1>>2]|0; - $14 = (_fts3ExprLoadDoclists($13,0,$nToken)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)!=(0); + $37 = HEAP32[$5>>2]|0; + $38 = ($37|0)!=(0); L5: do { - if (!($16)) { - $17 = HEAP32[$nToken>>2]|0; - $18 = ($17*12)|0; - $19 = (_sqlite3_malloc($18)|0); - $20 = ((($sCtx)) + 24|0); - HEAP32[$20>>2] = $19; - $21 = ((($sCtx)) + 24|0); - $22 = HEAP32[$21>>2]|0; - $23 = (0|0)==($22|0); - if ($23) { - HEAP32[$rc>>2] = 7; - break; - } - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 32|0); - $26 = $25; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = ((($sCtx)) + 16|0); - $33 = $32; - $34 = $33; - HEAP32[$34>>2] = $28; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = $31; - $37 = HEAP32[$1>>2]|0; - HEAP32[$sCtx>>2] = $37; - HEAP32[$iCol>>2] = 0; - while(1) { - $38 = HEAP32[$iCol>>2]|0; - $39 = HEAP32[$pTab>>2]|0; - $40 = ((($39)) + 24|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($38|0)<($41|0); - if (!($42)) { - break L5; + if (!($38)) { + $39 = HEAP32[$6>>2]|0; + $40 = (_sqlite3OsFileSize($39,$9)|0); + HEAP32[$5>>2] = $40; + $41 = HEAP32[$5>>2]|0; + $42 = ($41|0)!=(0); + if (!($42)) { + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 8|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$12>>2] = $46; + $47 = $9; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$12>>2]|0; + $54 = ($53|0)<(0); + $55 = $54 << 31 >> 31; + $56 = (_i64Add(($49|0),($52|0),($53|0),($55|0))|0); + $57 = tempRet0; + $58 = (_i64Add(($56|0),($57|0),1,0)|0); + $59 = tempRet0; + $60 = (_sqlite3Malloc($58,$59)|0); + HEAP32[$8>>2] = $60; + $61 = HEAP32[$8>>2]|0; + $62 = ($61|0)!=(0|0); + if (!($62)) { + HEAP32[$5>>2] = 7; + break; } - HEAP32[$NDUMMY>>2] = 0; - HEAP32[$iStart>>2] = 0; - HEAP32[$iEnd>>2] = 0; - HEAP32[$iCurrent>>2] = 0; - $43 = HEAP32[$iCol>>2]|0; - $44 = ((($sCtx)) + 4|0); - HEAP32[$44>>2] = $43; - $45 = ((($sCtx)) + 8|0); - HEAP32[$45>>2] = 0; - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 12|0); - $48 = HEAP32[$47>>2]|0; - (_fts3ExprIterate($48,158,$sCtx)|0); - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$iCol>>2]|0; - $53 = (($52) + 1)|0; - $54 = (_sqlite3_column_text($51,$53)|0); - HEAP32[$zDoc>>2] = $54; - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$iCol>>2]|0; - $59 = (($58) + 1)|0; - $60 = (_sqlite3_column_bytes($57,$59)|0); - HEAP32[$nDoc>>2] = $60; - $61 = HEAP32[$zDoc>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 8|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$iCol>>2]|0; - $67 = (($66) + 1)|0; - $68 = (_sqlite3_column_type($65,$67)|0); - $69 = ($68|0)==(5); - if (!($69)) { - break; - } - } else { - $70 = HEAP32[$pTab>>2]|0; - $71 = ((($70)) + 36|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 16|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$zDoc>>2]|0; - $77 = HEAP32[$nDoc>>2]|0; - $78 = (_sqlite3Fts3OpenTokenizer($72,$75,$76,$77,$pC)|0); - HEAP32[$rc>>2] = $78; - $79 = HEAP32[$rc>>2]|0; - $80 = ($79|0)!=(0); - if ($80) { - break L5; - } - $81 = HEAP32[$pMod>>2]|0; - $82 = ((($81)) + 20|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$pC>>2]|0; - $85 = (FUNCTION_TABLE_iiiiiii[$83 & 255]($84,$ZDUMMY,$NDUMMY,$iStart,$iEnd,$iCurrent)|0); - HEAP32[$rc>>2] = $85; + $63 = HEAP32[$8>>2]|0; + $64 = $9; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (_i64Add(($66|0),($69|0),1,0)|0); + $71 = tempRet0; + $72 = (($63) + ($70)|0); + HEAP32[$11>>2] = $72; + $73 = HEAP32[$6>>2]|0; + $74 = HEAP32[$8>>2]|0; + $75 = $9; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (_sqlite3OsRead($73,$74,$77,0,0)|0); + HEAP32[$5>>2] = $81; + $82 = HEAP32[$5>>2]|0; + $83 = ($82|0)!=(0); + if (!($83)) { + $84 = HEAP32[$8>>2]|0; + $85 = $9; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($84) + ($87)|0); + HEAP8[$91>>0] = 0; + $92 = HEAP32[$8>>2]|0; + HEAP32[$10>>2] = $92; while(1) { - $86 = HEAP32[$rc>>2]|0; - $87 = ($86|0)==(0); - if (!($87)) { + $93 = HEAP32[$10>>2]|0; + $94 = HEAP32[$8>>2]|0; + $95 = $93; + $96 = $94; + $97 = (($95) - ($96))|0; + $98 = ($97|0)<(0); + $99 = $98 << 31 >> 31; + $100 = $9; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = ($99|0)<($105|0); + $107 = ($97>>>0)<($102>>>0); + $108 = ($99|0)==($105|0); + $109 = $108 & $107; + $110 = $106 | $109; + if (!($110)) { break; } - HEAP32[$iMinPos>>2] = 2147483647; - HEAP32[$pTerm>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $88 = HEAP32[$i>>2]|0; - $89 = HEAP32[$nToken>>2]|0; - $90 = ($88|0)<($89|0); - if (!($90)) { - break; + $111 = HEAP32[$4>>2]|0; + $112 = HEAP32[$10>>2]|0; + $113 = (_sqlite3OsAccess($111,$112,0,$14)|0); + HEAP32[$5>>2] = $113; + $114 = HEAP32[$5>>2]|0; + $115 = ($114|0)!=(0); + if ($115) { + break L5; + } + $116 = HEAP32[$14>>2]|0; + $117 = ($116|0)!=(0); + if ($117) { + HEAP32[$16>>2] = 2049; + $118 = HEAP32[$4>>2]|0; + $119 = HEAP32[$10>>2]|0; + $120 = HEAP32[$7>>2]|0; + $121 = HEAP32[$16>>2]|0; + $122 = (_sqlite3OsOpen($118,$119,$120,$121,0)|0); + HEAP32[$5>>2] = $122; + $123 = HEAP32[$5>>2]|0; + $124 = ($123|0)!=(0); + if ($124) { + break L5; } - $91 = HEAP32[$i>>2]|0; - $92 = ((($sCtx)) + 24|0); - $93 = HEAP32[$92>>2]|0; - $94 = (($93) + (($91*12)|0)|0); - HEAP32[$pT>>2] = $94; - $95 = HEAP32[$pT>>2]|0; - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)!=(0|0); - if ($97) { - $98 = HEAP32[$pT>>2]|0; - $99 = ((($98)) + 4|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[$pT>>2]|0; - $102 = ((($101)) + 8|0); - $103 = HEAP32[$102>>2]|0; - $104 = (($100) - ($103))|0; - $105 = HEAP32[$iMinPos>>2]|0; - $106 = ($104|0)<($105|0); - if ($106) { - $107 = HEAP32[$pT>>2]|0; - $108 = ((($107)) + 4|0); - $109 = HEAP32[$108>>2]|0; - $110 = HEAP32[$pT>>2]|0; - $111 = ((($110)) + 8|0); - $112 = HEAP32[$111>>2]|0; - $113 = (($109) - ($112))|0; - HEAP32[$iMinPos>>2] = $113; - $114 = HEAP32[$pT>>2]|0; - HEAP32[$pTerm>>2] = $114; - } + $125 = HEAP32[$7>>2]|0; + $126 = HEAP32[$11>>2]|0; + $127 = HEAP32[$12>>2]|0; + $128 = (_readMasterJournal($125,$126,$127)|0); + HEAP32[$5>>2] = $128; + $129 = HEAP32[$7>>2]|0; + _sqlite3OsClose($129); + $130 = HEAP32[$5>>2]|0; + $131 = ($130|0)!=(0); + if ($131) { + break L5; } - $115 = HEAP32[$i>>2]|0; - $116 = (($115) + 1)|0; - HEAP32[$i>>2] = $116; - } - $117 = HEAP32[$pTerm>>2]|0; - $118 = ($117|0)!=(0|0); - if (!($118)) { - HEAP32[$rc>>2] = 101; - continue; - } - $119 = HEAP32[$pTerm>>2]|0; - $120 = HEAP32[$119>>2]|0; - $121 = HEAP8[$120>>0]|0; - $122 = $121 << 24 >> 24; - $123 = 254 & $122; - $124 = (0)==($123|0); - $125 = HEAP32[$pTerm>>2]|0; - if ($124) { - HEAP32[$125>>2] = 0; - } else { - $126 = HEAP32[$pTerm>>2]|0; - $127 = ((($126)) + 4|0); - _fts3GetDeltaPosition($125,$127); - } - while(1) { - $128 = HEAP32[$rc>>2]|0; - $129 = ($128|0)==(0); - if (!($129)) { - break; + $132 = HEAP32[$11>>2]|0; + $133 = HEAP8[$132>>0]|0; + $134 = $133 << 24 >> 24; + $135 = ($134|0)!=(0); + if ($135) { + $136 = HEAP32[$11>>2]|0; + $137 = HEAP32[$3>>2]|0; + $138 = (_strcmp($136,$137)|0); + $139 = ($138|0)==(0); + $141 = $139; + } else { + $141 = 0; } - $130 = HEAP32[$iCurrent>>2]|0; - $131 = HEAP32[$iMinPos>>2]|0; - $132 = ($130|0)<($131|0); - if (!($132)) { - break; + $140 = $141&1; + HEAP32[$15>>2] = $140; + $142 = HEAP32[$15>>2]|0; + $143 = ($142|0)!=(0); + if ($143) { + break L5; } - $133 = HEAP32[$pMod>>2]|0; - $134 = ((($133)) + 20|0); - $135 = HEAP32[$134>>2]|0; - $136 = HEAP32[$pC>>2]|0; - $137 = (FUNCTION_TABLE_iiiiiii[$135 & 255]($136,$ZDUMMY,$NDUMMY,$iStart,$iEnd,$iCurrent)|0); - HEAP32[$rc>>2] = $137; - } - $138 = HEAP32[$rc>>2]|0; - $139 = ($138|0)==(0); - if ($139) { - $140 = HEAP32[$iCol>>2]|0; - $141 = HEAP32[$pTerm>>2]|0; - $142 = ((($sCtx)) + 24|0); - $143 = HEAP32[$142>>2]|0; - $144 = $141; - $145 = $143; - $146 = (($144) - ($145))|0; - $147 = (($146|0) / 12)&-1; - $148 = HEAP32[$iStart>>2]|0; - $149 = HEAP32[$iEnd>>2]|0; - $150 = HEAP32[$iStart>>2]|0; - $151 = (($149) - ($150))|0; - HEAP32[$vararg_buffer>>2] = $140; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $147; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $148; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $151; - (_sqlite3_snprintf(64,$aBuffer,23414,$vararg_buffer)|0); - $152 = (_fts3StringAppend($res,$aBuffer,-1)|0); - HEAP32[$rc>>2] = $152; - continue; - } - $153 = HEAP32[$rc>>2]|0; - $154 = ($153|0)==(101); - if (!($154)) { - continue; } - $155 = HEAP32[$pTab>>2]|0; - $156 = ((($155)) + 40|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==(0|0); - if (!($158)) { - continue; - } - HEAP32[$rc>>2] = 267; - } - $159 = HEAP32[$rc>>2]|0; - $160 = ($159|0)==(101); - if ($160) { - HEAP32[$rc>>2] = 0; - } - $161 = HEAP32[$pMod>>2]|0; - $162 = ((($161)) + 16|0); - $163 = HEAP32[$162>>2]|0; - $164 = HEAP32[$pC>>2]|0; - (FUNCTION_TABLE_ii[$163 & 255]($164)|0); - $165 = HEAP32[$rc>>2]|0; - $166 = ($165|0)!=(0); - if ($166) { - break L5; + $144 = HEAP32[$10>>2]|0; + $145 = (_sqlite3Strlen30($144)|0); + $146 = (($145) + 1)|0; + $147 = HEAP32[$10>>2]|0; + $148 = (($147) + ($146)|0); + HEAP32[$10>>2] = $148; } + $149 = HEAP32[$6>>2]|0; + _sqlite3OsClose($149); + $150 = HEAP32[$4>>2]|0; + $151 = HEAP32[$3>>2]|0; + $152 = (_sqlite3OsDelete($150,$151,0)|0); + HEAP32[$5>>2] = $152; } - $167 = HEAP32[$iCol>>2]|0; - $168 = (($167) + 1)|0; - HEAP32[$iCol>>2] = $168; } - HEAP32[$rc>>2] = 7; } } while(0); - $169 = ((($sCtx)) + 24|0); - $170 = HEAP32[$169>>2]|0; - _sqlite3_free($170); - $171 = HEAP32[$pTab>>2]|0; - _sqlite3Fts3SegmentsClose($171); - $172 = HEAP32[$rc>>2]|0; - $173 = ($172|0)!=(0); - $174 = HEAP32[$0>>2]|0; - if ($173) { - $175 = HEAP32[$rc>>2]|0; - _sqlite3_result_error_code($174,$175); - $176 = HEAP32[$res>>2]|0; - _sqlite3_free($176); - STACKTOP = sp;return; - } else { - $177 = HEAP32[$res>>2]|0; - $178 = ((($res)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = (($179) - 1)|0; - _sqlite3_result_text($174,$177,$180,148); - STACKTOP = sp;return; + $153 = HEAP32[$8>>2]|0; + _sqlite3_free($153); + $154 = HEAP32[$6>>2]|0; + $155 = ($154|0)!=(0|0); + if (!($155)) { + $158 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($158|0); } + $156 = HEAP32[$6>>2]|0; + _sqlite3OsClose($156); + $157 = HEAP32[$6>>2]|0; + _sqlite3_free($157); + $158 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($158|0); } -function _fts3ExprTermOffsetInit($pExpr,$iPhrase,$ctx) { - $pExpr = $pExpr|0; - $iPhrase = $iPhrase|0; - $ctx = $ctx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $iPos = 0, $iTerm = 0, $nTerm = 0, $p = 0, $pList = 0, $pT = 0, $rc = 0, label = 0, sp = 0; +function _setSectorSize($0) { + $0 = $0|0; + var $$sink = 0, $$sink2 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $p = sp + 24|0; - $nTerm = sp + 20|0; - $iTerm = sp + 16|0; - $pList = sp + 12|0; - $iPos = sp + 8|0; - $rc = sp + 4|0; - $pT = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $iPhrase; - HEAP32[$2>>2] = $ctx; - $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; - HEAP32[$iPos>>2] = 0; - $4 = HEAP32[$p>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$p>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_sqlite3Fts3EvalPhrasePoslist($5,$6,$9,$pList)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 64|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$nTerm>>2] = $15; - $16 = HEAP32[$pList>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - _fts3GetDeltaPosition($pList,$iPos); - } - HEAP32[$iTerm>>2] = 0; - while(1) { - $18 = HEAP32[$iTerm>>2]|0; - $19 = HEAP32[$nTerm>>2]|0; - $20 = ($18|0)<($19|0); - if (!($20)) { - break; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 13|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)!=(0); + if (!($6)) { + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 64|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3OsDeviceCharacteristics($9)|0); + $11 = $10 & 4096; + $12 = ($11|0)!=(0); + if (!($12)) { + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 64|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3SectorSize($16)|0); + $18 = HEAP32[$1>>2]|0; + $$sink = $17;$$sink2 = $18; + $19 = ((($$sink2)) + 156|0); + HEAP32[$19>>2] = $$sink; + STACKTOP = sp;return; } - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 8|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$22>>2] = $24; - $25 = HEAP32[$p>>2]|0; - $26 = ((($25)) + 24|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + (($23*12)|0)|0); - HEAP32[$pT>>2] = $28; - $29 = HEAP32[$nTerm>>2]|0; - $30 = HEAP32[$iTerm>>2]|0; - $31 = (($29) - ($30))|0; - $32 = (($31) - 1)|0; - $33 = HEAP32[$pT>>2]|0; - $34 = ((($33)) + 8|0); - HEAP32[$34>>2] = $32; - $35 = HEAP32[$pList>>2]|0; - $36 = HEAP32[$pT>>2]|0; - HEAP32[$36>>2] = $35; - $37 = HEAP32[$iPos>>2]|0; - $38 = HEAP32[$pT>>2]|0; - $39 = ((($38)) + 4|0); - HEAP32[$39>>2] = $37; - $40 = HEAP32[$iTerm>>2]|0; - $41 = (($40) + 1)|0; - HEAP32[$iTerm>>2] = $41; } - $42 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($42|0); + $13 = HEAP32[$1>>2]|0; + $$sink = 512;$$sink2 = $13; + $19 = ((($$sink2)) + 156|0); + HEAP32[$19>>2] = $$sink; + STACKTOP = sp;return; } -function _fts3GetDeltaPosition($pp,$piPos) { - $pp = $pp|0; - $piPos = $piPos|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $iVal = 0, label = 0, sp = 0; +function _sqlite3OsDeviceCharacteristics($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $iVal = sp; - HEAP32[$0>>2] = $pp; - HEAP32[$1>>2] = $piPos; - $2 = HEAP32[$0>>2]|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$2>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $5 & 128; - $7 = ($6|0)!=(0); - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - if ($7) { - $10 = (_sqlite3Fts3GetVarint32($9,$iVal)|0); - $16 = $10; + $4 = ((($3)) + 48|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = (FUNCTION_TABLE_ii[$5 & 255]($6)|0); + STACKTOP = sp;return ($7|0); +} +function _sqlite3SectorSize($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3OsSectorSize($3)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)<(32); + if ($6) { + HEAP32[$2>>2] = 512; } else { - $11 = HEAP8[$9>>0]|0; - $12 = $11&255; - HEAP32[$iVal>>2] = $12; - $16 = 1; + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)>(65536); + if ($8) { + HEAP32[$2>>2] = 65536; + } } - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($16)|0); - HEAP32[$13>>2] = $15; - $17 = HEAP32[$iVal>>2]|0; - $18 = (($17) - 2)|0; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($18))|0; - HEAP32[$19>>2] = $21; - STACKTOP = sp;return; + $9 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($9|0); } -function _fts3StringAppend($pStr,$zAppend,$nAppend) { - $pStr = $pStr|0; - $zAppend = $zAppend|0; - $nAppend = $nAppend|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nAlloc = 0, $zNew = 0, label = 0, sp = 0; +function _sqlite3OsSectorSize($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $nAlloc = sp + 4|0; - $zNew = sp; - HEAP32[$1>>2] = $pStr; - HEAP32[$2>>2] = $zAppend; - HEAP32[$3>>2] = $nAppend; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(0); - if ($5) { - $6 = HEAP32[$2>>2]|0; - $7 = (_strlen($6)|0); - HEAP32[$3>>2] = $7; + $5 = ((($4)) + 44|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + $12 = 4096; + STACKTOP = sp;return ($12|0); } - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = (($10) + ($11))|0; - $13 = (($12) + 1)|0; - $14 = HEAP32[$1>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = (FUNCTION_TABLE_ii[$9 & 255]($10)|0); + $12 = $11; + STACKTOP = sp;return ($12|0); +} +function _sqlite3OsRead($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + $9 = $8; + $10 = $9; + HEAP32[$10>>2] = $3; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $4; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; $15 = ((($14)) + 8|0); $16 = HEAP32[$15>>2]|0; - $17 = ($13|0)>=($16|0); - do { - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$3>>2]|0; - $22 = (($20) + ($21))|0; - $23 = (($22) + 100)|0; - HEAP32[$nAlloc>>2] = $23; - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$nAlloc>>2]|0; - $27 = (_sqlite3_realloc($25,$26)|0); - HEAP32[$zNew>>2] = $27; - $28 = HEAP32[$zNew>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$zNew>>2]|0; - $31 = HEAP32[$1>>2]|0; - HEAP32[$31>>2] = $30; - $32 = HEAP32[$nAlloc>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 8|0); - HEAP32[$34>>2] = $32; - break; - } - HEAP32[$0>>2] = 7; - $54 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($54|0); - } - } while(0); - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$1>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + ($37)|0); - $41 = HEAP32[$2>>2]|0; - $42 = HEAP32[$3>>2]|0; - _memcpy(($40|0),($41|0),($42|0))|0; - $43 = HEAP32[$3>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + ($43))|0; - HEAP32[$45>>2] = $47; - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 4|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$1>>2]|0; - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + ($50)|0); - HEAP8[$53>>0] = 0; - HEAP32[$0>>2] = 0; - $54 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($54|0); + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = $8; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (FUNCTION_TABLE_iiiiii[$16 & 255]($17,$18,$19,$22,$25)|0); + STACKTOP = sp;return ($26|0); } -function _sqlite3Fts3Snippet($pCtx,$pCsr,$zStart,$zEnd,$zEllipsis,$iCol,$nToken) { - $pCtx = $pCtx|0; - $pCsr = $pCsr|0; - $zStart = $zStart|0; - $zEnd = $zEnd|0; - $zEllipsis = $zEllipsis|0; - $iCol = $iCol|0; - $nToken = $nToken|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $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; - 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, $aSnippet = 0, $i = 0, $iBestScore = 0, $iRead = 0; - var $iS = 0, $iSnip = 0, $mCovered = 0, $mSeen = 0, $nFToken = 0, $nSnippet = 0, $or$cond = 0, $pFragment = 0, $pTab = 0, $rc = 0, $res = 0, $sF = 0, label = 0, sp = 0; +function _read32bits($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $0 = sp + 212|0; - $1 = sp + 208|0; - $2 = sp + 204|0; - $3 = sp + 200|0; - $4 = sp + 196|0; - $5 = sp + 192|0; - $6 = sp + 188|0; - $pTab = sp + 184|0; - $rc = sp + 180|0; - $i = sp + 176|0; - $res = sp + 164|0; - $nSnippet = sp + 160|0; - $aSnippet = sp + 40|0; - $nFToken = sp + 156|0; - $iSnip = sp + 152|0; - $mCovered = sp + 32|0; - $mSeen = sp + 24|0; - $iBestScore = sp + 148|0; - $iRead = sp + 144|0; - $pFragment = sp + 140|0; - $sF = sp; - $iS = sp + 136|0; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $zStart; - HEAP32[$3>>2] = $zEnd; - HEAP32[$4>>2] = $zEllipsis; - HEAP32[$5>>2] = $iCol; - HEAP32[$6>>2] = $nToken; - $7 = HEAP32[$1>>2]|0; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp; + $6 = sp + 12|0; + $7 = sp + 20|0; + $8 = sp + 8|0; + HEAP32[$4>>2] = $0; + $9 = $5; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + HEAP32[$6>>2] = $3; + $13 = HEAP32[$4>>2]|0; + $14 = $5; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3OsRead($13,$7,4,$16,$19)|0); + HEAP32[$8>>2] = $20; + $21 = HEAP32[$8>>2]|0; + $22 = ($21|0)==(0); + if (!($22)) { + $25 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($25|0); + } + $23 = (_sqlite3Get4byte($7)|0); + $24 = HEAP32[$6>>2]|0; + HEAP32[$24>>2] = $23; + $25 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($25|0); +} +function _sqlite3BitvecTest($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $11 = 0; + $10 = $11&1; + STACKTOP = sp;return ($10|0); + } + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3BitvecTestNotNull($6,$7)|0); + $9 = ($8|0)!=(0); + $11 = $9; + $10 = $11&1; + STACKTOP = sp;return ($10|0); +} +function _pager_cksum($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 52|0); $8 = HEAP32[$7>>2]|0; - HEAP32[$pTab>>2] = $8; - HEAP32[$rc>>2] = 0; - ;HEAP32[$res>>2]=0|0;HEAP32[$res+4>>2]=0|0;HEAP32[$res+8>>2]=0|0; - HEAP32[$nSnippet>>2] = 0; - HEAP32[$nFToken>>2] = -1; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 12|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 160|0); $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { - $13 = HEAP32[$0>>2]|0; - _sqlite3_result_text($13,18402,0,0); - STACKTOP = sp;return; + $12 = (($11) - 200)|0; + HEAP32[$5>>2] = $12; + while(1) { + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)>(0); + if (!($14)) { + break; + } + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = (($15) + ($16)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = HEAP32[$4>>2]|0; + $21 = (($20) + ($19))|0; + HEAP32[$4>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = (($22) - 200)|0; + HEAP32[$5>>2] = $23; } - HEAP32[$nSnippet>>2] = 1; - L5: while(1) { - $14 = $mCovered; - $15 = $14; - HEAP32[$15>>2] = 0; - $16 = (($14) + 4)|0; - $17 = $16; - HEAP32[$17>>2] = 0; - $18 = $mSeen; - $19 = $18; - HEAP32[$19>>2] = 0; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = 0; - $22 = HEAP32[$6>>2]|0; - $23 = ($22|0)>=(0); - $24 = HEAP32[$6>>2]|0; - if ($23) { - $25 = HEAP32[$nSnippet>>2]|0; - $26 = (($24) + ($25))|0; - $27 = (($26) - 1)|0; - $28 = HEAP32[$nSnippet>>2]|0; - $29 = (($27|0) / ($28|0))&-1; - HEAP32[$nFToken>>2] = $29; - } else { - $30 = Math_imul(-1, $24)|0; - HEAP32[$nFToken>>2] = $30; + $24 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($24|0); +} +function _sqlite3BitvecSet($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $10 = HEAP32[$3>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + HEAP32[$2>>2] = 0; + $150 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($150|0); + } + $12 = HEAP32[$4>>2]|0; + $13 = (($12) + -1)|0; + HEAP32[$4>>2] = $13; + while(1) { + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ($15>>>0)>(4000); + if (!($16)) { + break; } - HEAP32[$iSnip>>2] = 0; - while(1) { - $31 = HEAP32[$iSnip>>2]|0; - $32 = HEAP32[$nSnippet>>2]|0; - $33 = ($31|0)<($32|0); - if (!($33)) { + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(0); + if (!($20)) { + break; + } + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($21>>>0) / ($24>>>0))&-1; + HEAP32[$6>>2] = $25; + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($26>>>0) % ($29>>>0))&-1; + HEAP32[$4>>2] = $30; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$6>>2]|0; + $34 = (($32) + ($33<<2)|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + if ($36) { + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = (_sqlite3BitvecCreate($39)|0); + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 12|0); + $43 = HEAP32[$6>>2]|0; + $44 = (($42) + ($43<<2)|0); + HEAP32[$44>>2] = $40; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 12|0); + $47 = HEAP32[$6>>2]|0; + $48 = (($46) + ($47<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + label = 8; break; } - HEAP32[$iBestScore>>2] = -1; - $34 = HEAP32[$iSnip>>2]|0; - $35 = (($aSnippet) + (($34*24)|0)|0); - HEAP32[$pFragment>>2] = $35; - $36 = HEAP32[$pFragment>>2]|0; - ;HEAP32[$36>>2]=0|0;HEAP32[$36+4>>2]=0|0;HEAP32[$36+8>>2]=0|0;HEAP32[$36+12>>2]=0|0;HEAP32[$36+16>>2]=0|0;HEAP32[$36+20>>2]=0|0; - HEAP32[$iRead>>2] = 0; + } + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 12|0); + $53 = HEAP32[$6>>2]|0; + $54 = (($52) + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$3>>2] = $55; + } + if ((label|0) == 8) { + HEAP32[$2>>2] = 7; + $150 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($150|0); + } + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = ($57>>>0)<=(4000); + $59 = HEAP32[$4>>2]|0; + if ($58) { + $60 = $59 & 7; + $61 = 1 << $60; + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 12|0); + $64 = HEAP32[$4>>2]|0; + $65 = (($64>>>0) / 8)&-1; + $66 = (($63) + ($65)|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $68 | $61; + $70 = $69&255; + HEAP8[$66>>0] = $70; + HEAP32[$2>>2] = 0; + $150 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($150|0); + } + $71 = (($59) + 1)|0; + HEAP32[$4>>2] = $71; + $72 = $59; + $73 = (($72>>>0) % 125)&-1; + HEAP32[$5>>2] = $73; + $74 = HEAP32[$3>>2]|0; + $75 = ((($74)) + 12|0); + $76 = HEAP32[$5>>2]|0; + $77 = (($75) + ($76<<2)|0); + $78 = HEAP32[$77>>2]|0; + $79 = ($78|0)!=(0); + L20: do { + if ($79) { while(1) { - $37 = HEAP32[$iRead>>2]|0; - $38 = HEAP32[$pTab>>2]|0; - $39 = ((($38)) + 24|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($37|0)<($40|0); - if (!($41)) { + $84 = HEAP32[$3>>2]|0; + $85 = ((($84)) + 12|0); + $86 = HEAP32[$5>>2]|0; + $87 = (($85) + ($86<<2)|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$4>>2]|0; + $90 = ($88|0)==($89|0); + if ($90) { break; } - ;HEAP32[$sF>>2]=0|0;HEAP32[$sF+4>>2]=0|0;HEAP32[$sF+8>>2]=0|0;HEAP32[$sF+12>>2]=0|0;HEAP32[$sF+16>>2]=0|0;HEAP32[$sF+20>>2]=0|0; - HEAP32[$iS>>2] = 0; - $42 = HEAP32[$5>>2]|0; - $43 = ($42|0)>=(0); - if ($43) { - $44 = HEAP32[$iRead>>2]|0; - $45 = HEAP32[$5>>2]|0; - $46 = ($44|0)!=($45|0); - if (!($46)) { - label = 13; - } - } else { - label = 13; - } - if ((label|0) == 13) { - label = 0; - $47 = HEAP32[$nFToken>>2]|0; - $48 = HEAP32[$1>>2]|0; - $49 = HEAP32[$iRead>>2]|0; - $50 = $mCovered; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (_fts3BestSnippet($47,$48,$49,$52,$55,$mSeen,$sF,$iS)|0); - HEAP32[$rc>>2] = $56; - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)!=(0); - if ($58) { - break L5; - } - $59 = HEAP32[$iS>>2]|0; - $60 = HEAP32[$iBestScore>>2]|0; - $61 = ($59|0)>($60|0); - if ($61) { - $62 = HEAP32[$pFragment>>2]|0; - ;HEAP32[$62>>2]=HEAP32[$sF>>2]|0;HEAP32[$62+4>>2]=HEAP32[$sF+4>>2]|0;HEAP32[$62+8>>2]=HEAP32[$sF+8>>2]|0;HEAP32[$62+12>>2]=HEAP32[$sF+12>>2]|0;HEAP32[$62+16>>2]=HEAP32[$sF+16>>2]|0;HEAP32[$62+20>>2]=HEAP32[$sF+20>>2]|0; - $63 = HEAP32[$iS>>2]|0; - HEAP32[$iBestScore>>2] = $63; - } + $91 = HEAP32[$5>>2]|0; + $92 = (($91) + 1)|0; + HEAP32[$5>>2] = $92; + $93 = HEAP32[$5>>2]|0; + $94 = ($93>>>0)>=(125); + $$ = $94 ? 0 : $92; + HEAP32[$5>>2] = $$; + $95 = HEAP32[$3>>2]|0; + $96 = ((($95)) + 12|0); + $97 = HEAP32[$5>>2]|0; + $98 = (($96) + ($97<<2)|0); + $99 = HEAP32[$98>>2]|0; + $100 = ($99|0)!=(0); + if (!($100)) { + label = 17; + break L20; } - $64 = HEAP32[$iRead>>2]|0; - $65 = (($64) + 1)|0; - HEAP32[$iRead>>2] = $65; } - $66 = HEAP32[$pFragment>>2]|0; - $67 = ((($66)) + 8|0); - $68 = $67; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = $mCovered; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (($74) + 4)|0; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = $76 | $70; - $81 = $79 | $73; - $82 = $mCovered; - $83 = $82; - HEAP32[$83>>2] = $80; - $84 = (($82) + 4)|0; - $85 = $84; - HEAP32[$85>>2] = $81; - $86 = HEAP32[$iSnip>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[$iSnip>>2] = $87; - } - $88 = $mSeen; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = $mCovered; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (($94) + 4)|0; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = ($90|0)==($96|0); - $101 = ($93|0)==($99|0); - $102 = $100 & $101; - $103 = HEAP32[$nSnippet>>2]|0; - $104 = ($103|0)==(4); - $or$cond = $102 | $104; - if ($or$cond) { - label = 20; - break; + HEAP32[$2>>2] = 0; + $150 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($150|0); + } else { + $80 = HEAP32[$3>>2]|0; + $81 = ((($80)) + 4|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82>>>0)<(124); + if (!($83)) { + label = 17; + } } - $105 = HEAP32[$nSnippet>>2]|0; - $106 = (($105) + 1)|0; - HEAP32[$nSnippet>>2] = $106; - } - L27: do { - if ((label|0) == 20) { - HEAP32[$i>>2] = 0; + } while(0); + if ((label|0) == 17) { + $101 = HEAP32[$3>>2]|0; + $102 = ((($101)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103>>>0)>=(62); + if ($104) { + $105 = (_sqlite3DbMallocRaw(0,500,0)|0); + HEAP32[$9>>2] = $105; + $106 = HEAP32[$9>>2]|0; + $107 = ($106|0)==(0|0); + if ($107) { + HEAP32[$2>>2] = 7; + $150 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($150|0); + } + $108 = HEAP32[$9>>2]|0; + $109 = HEAP32[$3>>2]|0; + $110 = ((($109)) + 12|0); + _memcpy(($108|0),($110|0),500)|0; + $111 = HEAP32[$3>>2]|0; + $112 = ((($111)) + 12|0); + _memset(($112|0),0,500)|0; + $113 = HEAP32[$3>>2]|0; + $114 = HEAP32[$113>>2]|0; + $115 = (($114) + 125)|0; + $116 = (($115) - 1)|0; + $117 = (($116>>>0) / 125)&-1; + $118 = HEAP32[$3>>2]|0; + $119 = ((($118)) + 8|0); + HEAP32[$119>>2] = $117; + $120 = HEAP32[$3>>2]|0; + $121 = HEAP32[$4>>2]|0; + $122 = (_sqlite3BitvecSet($120,$121)|0); + HEAP32[$8>>2] = $122; + HEAP32[$7>>2] = 0; while(1) { - $107 = HEAP32[$i>>2]|0; - $108 = HEAP32[$nSnippet>>2]|0; - $109 = ($107|0)<($108|0); - $110 = HEAP32[$rc>>2]|0; - $111 = ($110|0)==(0); - $112 = $109 ? $111 : 0; - if (!($112)) { - break L27; + $123 = HEAP32[$7>>2]|0; + $124 = ($123>>>0)<(125); + $125 = HEAP32[$9>>2]|0; + if (!($124)) { + break; } - $113 = HEAP32[$1>>2]|0; - $114 = HEAP32[$i>>2]|0; - $115 = (($aSnippet) + (($114*24)|0)|0); - $116 = HEAP32[$i>>2]|0; - $117 = HEAP32[$i>>2]|0; - $118 = HEAP32[$nSnippet>>2]|0; - $119 = (($118) - 1)|0; - $120 = ($117|0)==($119|0); - $121 = $120&1; - $122 = HEAP32[$nFToken>>2]|0; - $123 = HEAP32[$2>>2]|0; - $124 = HEAP32[$3>>2]|0; - $125 = HEAP32[$4>>2]|0; - $126 = (_fts3SnippetText($113,$115,$116,$121,$122,$123,$124,$125,$res)|0); - HEAP32[$rc>>2] = $126; - $127 = HEAP32[$i>>2]|0; - $128 = (($127) + 1)|0; - HEAP32[$i>>2] = $128; + $126 = HEAP32[$7>>2]|0; + $127 = (($125) + ($126<<2)|0); + $128 = HEAP32[$127>>2]|0; + $129 = ($128|0)!=(0); + if ($129) { + $130 = HEAP32[$3>>2]|0; + $131 = HEAP32[$9>>2]|0; + $132 = HEAP32[$7>>2]|0; + $133 = (($131) + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = (_sqlite3BitvecSet($130,$134)|0); + $136 = HEAP32[$8>>2]|0; + $137 = $136 | $135; + HEAP32[$8>>2] = $137; + } + $138 = HEAP32[$7>>2]|0; + $139 = (($138) + 1)|0; + HEAP32[$7>>2] = $139; } + _sqlite3DbFree(0,$125); + $140 = HEAP32[$8>>2]|0; + HEAP32[$2>>2] = $140; + $150 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($150|0); } - } while(0); - $129 = HEAP32[$pTab>>2]|0; - _sqlite3Fts3SegmentsClose($129); - $130 = HEAP32[$rc>>2]|0; - $131 = ($130|0)!=(0); - $132 = HEAP32[$0>>2]|0; - if ($131) { - $133 = HEAP32[$rc>>2]|0; - _sqlite3_result_error_code($132,$133); - $134 = HEAP32[$res>>2]|0; - _sqlite3_free($134); - STACKTOP = sp;return; - } else { - $135 = HEAP32[$res>>2]|0; - _sqlite3_result_text($132,$135,-1,148); - STACKTOP = sp;return; } + $141 = HEAP32[$3>>2]|0; + $142 = ((($141)) + 4|0); + $143 = HEAP32[$142>>2]|0; + $144 = (($143) + 1)|0; + HEAP32[$142>>2] = $144; + $145 = HEAP32[$4>>2]|0; + $146 = HEAP32[$3>>2]|0; + $147 = ((($146)) + 12|0); + $148 = HEAP32[$5>>2]|0; + $149 = (($147) + ($148<<2)|0); + HEAP32[$149>>2] = $145; + HEAP32[$2>>2] = 0; + $150 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($150|0); } -function _fts3BestSnippet($nSnippet,$pCsr,$iCol,$0,$1,$pmSeen,$pFragment,$piScore) { - $nSnippet = $nSnippet|0; - $pCsr = $pCsr|0; - $iCol = $iCol|0; +function _sqlite3PagerLookup($0,$1) { $0 = $0|0; $1 = $1|0; - $pmSeen = $pmSeen|0; - $pFragment = $pFragment|0; - $piScore = $piScore|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iBestScore = 0; - var $iPos = 0, $iScore = 0, $mCover = 0, $mHighlite = 0, $nByte = 0, $nList = 0, $rc = 0, $sIter = 0, label = 0, sp = 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; - STACKTOP = STACKTOP + 112|0; - $2 = sp + 104|0; - $3 = sp + 100|0; - $4 = sp + 96|0; - $5 = sp + 92|0; - $6 = sp + 16|0; - $7 = sp + 88|0; - $8 = sp + 84|0; - $9 = sp + 80|0; - $rc = sp + 76|0; - $nList = sp + 72|0; - $sIter = sp + 48|0; - $nByte = sp + 40|0; - $iBestScore = sp + 36|0; - $i = sp + 32|0; - $iPos = sp + 28|0; - $iScore = sp + 24|0; - $mCover = sp + 8|0; - $mHighlite = sp; - HEAP32[$3>>2] = $nSnippet; - HEAP32[$4>>2] = $pCsr; - HEAP32[$5>>2] = $iCol; - $10 = $6; - $11 = $10; - HEAP32[$11>>2] = $0; - $12 = (($10) + 4)|0; - $13 = $12; - HEAP32[$13>>2] = $1; - HEAP32[$7>>2] = $pmSeen; - HEAP32[$8>>2] = $pFragment; - HEAP32[$9>>2] = $piScore; - HEAP32[$iBestScore>>2] = -1; - ;HEAP32[$sIter>>2]=0|0;HEAP32[$sIter+4>>2]=0|0;HEAP32[$sIter+8>>2]=0|0;HEAP32[$sIter+12>>2]=0|0;HEAP32[$sIter+16>>2]=0|0;HEAP32[$sIter+20>>2]=0|0; - $14 = HEAP32[$4>>2]|0; - $15 = (_fts3ExprLoadDoclists($14,$nList,0)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$rc>>2]|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 212|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = (_sqlite3PcacheFetch($8,$9,0)|0); + HEAP32[$5>>2] = $10; + $11 = HEAP32[$5>>2]|0; + $12 = ($11|0)==(0|0); + if ($12) { + HEAP32[$2>>2] = 0; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); + } else { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 212|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = (_sqlite3PcacheFetchFinish($15,$16,$17)|0); HEAP32[$2>>2] = $18; - $119 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($119|0); - } - $19 = HEAP32[$nList>>2]|0; - $20 = ($19*24)|0; - HEAP32[$nByte>>2] = $20; - $21 = HEAP32[$nByte>>2]|0; - $22 = (_sqlite3_malloc($21)|0); - $23 = ((($sIter)) + 16|0); - HEAP32[$23>>2] = $22; - $24 = ((($sIter)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)!=(0|0); - if (!($26)) { - HEAP32[$2>>2] = 7; - $119 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($119|0); - } - $27 = ((($sIter)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$nByte>>2]|0; - _memset(($28|0),0,($29|0))|0; - $30 = HEAP32[$4>>2]|0; - HEAP32[$sIter>>2] = $30; - $31 = HEAP32[$5>>2]|0; - $32 = ((($sIter)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = HEAP32[$3>>2]|0; - $34 = ((($sIter)) + 8|0); - HEAP32[$34>>2] = $33; - $35 = HEAP32[$nList>>2]|0; - $36 = ((($sIter)) + 12|0); - HEAP32[$36>>2] = $35; - $37 = ((($sIter)) + 20|0); - HEAP32[$37>>2] = -1; - $38 = HEAP32[$4>>2]|0; - $39 = ((($38)) + 12|0); - $40 = HEAP32[$39>>2]|0; - $41 = (_fts3ExprIterate($40,159,$sIter)|0); - HEAP32[$rc>>2] = $41; - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - HEAP32[$i>>2] = 0; - while(1) { - $44 = HEAP32[$i>>2]|0; - $45 = HEAP32[$nList>>2]|0; - $46 = ($44|0)<($45|0); - if (!($46)) { - break; - } - $47 = HEAP32[$i>>2]|0; - $48 = ((($sIter)) + 16|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + (($47*24)|0)|0); - $51 = ((($50)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)!=(0|0); - if ($53) { - $54 = HEAP32[$i>>2]|0; - $55 = (_bitshift64Shl(1,0,($54|0))|0); - $56 = tempRet0; - $57 = HEAP32[$7>>2]|0; - $58 = $57; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = $60 | $55; - $65 = $63 | $56; - $66 = $57; - $67 = $66; - HEAP32[$67>>2] = $64; - $68 = (($66) + 4)|0; - $69 = $68; - HEAP32[$69>>2] = $65; - } - $70 = HEAP32[$i>>2]|0; - $71 = (($70) + 1)|0; - HEAP32[$i>>2] = $71; - } - $72 = HEAP32[$5>>2]|0; - $73 = HEAP32[$8>>2]|0; - HEAP32[$73>>2] = $72; - while(1) { - $74 = (_fts3SnippetNextCandidate($sIter)|0); - $75 = ($74|0)!=(0); - $76 = $75 ^ 1; - if (!($76)) { - break; - } - $77 = $6; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (($77) + 4)|0; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - _fts3SnippetDetails($sIter,$79,$82,$iPos,$iScore,$mCover,$mHighlite); - $83 = HEAP32[$iScore>>2]|0; - $84 = HEAP32[$iBestScore>>2]|0; - $85 = ($83|0)>($84|0); - if (!($85)) { - continue; - } - $86 = HEAP32[$iPos>>2]|0; - $87 = HEAP32[$8>>2]|0; - $88 = ((($87)) + 4|0); - HEAP32[$88>>2] = $86; - $89 = $mHighlite; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = HEAP32[$8>>2]|0; - $96 = ((($95)) + 16|0); - $97 = $96; - $98 = $97; - HEAP32[$98>>2] = $91; - $99 = (($97) + 4)|0; - $100 = $99; - HEAP32[$100>>2] = $94; - $101 = $mCover; - $102 = $101; - $103 = HEAP32[$102>>2]|0; - $104 = (($101) + 4)|0; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = HEAP32[$8>>2]|0; - $108 = ((($107)) + 8|0); - $109 = $108; - $110 = $109; - HEAP32[$110>>2] = $103; - $111 = (($109) + 4)|0; - $112 = $111; - HEAP32[$112>>2] = $106; - $113 = HEAP32[$iScore>>2]|0; - HEAP32[$iBestScore>>2] = $113; - } - $114 = HEAP32[$iBestScore>>2]|0; - $115 = HEAP32[$9>>2]|0; - HEAP32[$115>>2] = $114; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); } - $116 = ((($sIter)) + 16|0); - $117 = HEAP32[$116>>2]|0; - _sqlite3_free($117); - $118 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $118; - $119 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($119|0); + return (0)|0; } -function _fts3SnippetText($pCsr,$pFragment,$iFragment,$isLast,$nSnippet,$zOpen,$zClose,$zEllipsis,$pOut) { - $pCsr = $pCsr|0; - $pFragment = $pFragment|0; - $iFragment = $iFragment|0; - $isLast = $isLast|0; - $nSnippet = $nSnippet|0; - $zOpen = $zOpen|0; - $zClose = $zClose|0; - $zEllipsis = $zEllipsis|0; - $pOut = $pOut|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $DUMMY1 = 0, $ZDUMMY = 0, $hlmask = 0, $iBegin = 0, $iCol = 0, $iCurrent = 0, $iEnd = 0, $iFin = 0, $iPos = 0, $isHighlight = 0, $isShiftDone = 0, $n = 0, $nDoc = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $pC = 0; - var $pMod = 0, $pTab = 0, $rc = 0, $zDoc = 0, label = 0, sp = 0; +function _sqlite3BackupUpdate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 112|0; - $1 = sp + 108|0; - $2 = sp + 104|0; - $3 = sp + 100|0; - $4 = sp + 96|0; - $5 = sp + 92|0; - $6 = sp + 88|0; - $7 = sp + 84|0; - $8 = sp + 80|0; - $9 = sp + 76|0; - $pTab = sp + 72|0; - $rc = sp + 68|0; - $zDoc = sp + 64|0; - $nDoc = sp + 60|0; - $iCurrent = sp + 56|0; - $iEnd = sp + 52|0; - $isShiftDone = sp + 48|0; - $iPos = sp + 44|0; - $hlmask = sp; - $iCol = sp + 40|0; - $pMod = sp + 36|0; - $pC = sp + 32|0; - $ZDUMMY = sp + 28|0; - $DUMMY1 = sp + 24|0; - $iBegin = sp + 20|0; - $iFin = sp + 16|0; - $isHighlight = sp + 12|0; - $n = sp + 8|0; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pFragment; - HEAP32[$3>>2] = $iFragment; - HEAP32[$4>>2] = $isLast; - HEAP32[$5>>2] = $nSnippet; - HEAP32[$6>>2] = $zOpen; - HEAP32[$7>>2] = $zClose; - HEAP32[$8>>2] = $zEllipsis; - HEAP32[$9>>2] = $pOut; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$10>>2]|0; - HEAP32[$pTab>>2] = $11; - HEAP32[$iCurrent>>2] = 0; - HEAP32[$iEnd>>2] = 0; - HEAP32[$isShiftDone>>2] = 0; - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$iPos>>2] = $14; - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 16|0); - $17 = $16; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = $hlmask; - $24 = $23; - HEAP32[$24>>2] = $19; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$iCol>>2] = $29; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 8|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$iCol>>2]|0; - $34 = (_sqlite3_column_text($32,$33)|0); - HEAP32[$zDoc>>2] = $34; - $35 = HEAP32[$zDoc>>2]|0; - $36 = ($35|0)==(0|0); - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 8|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$iCol>>2]|0; - if ($36) { - $41 = (_sqlite3_column_type($39,$40)|0); - $42 = ($41|0)!=(5); - if ($42) { - HEAP32[$0>>2] = 7; - $182 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($182|0); - } else { - HEAP32[$0>>2] = 0; - $182 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($182|0); - } + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + STACKTOP = sp;return; } - $43 = (_sqlite3_column_bytes($39,$40)|0); - HEAP32[$nDoc>>2] = $43; - $44 = HEAP32[$pTab>>2]|0; - $45 = ((($44)) + 36|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$46>>2]|0; - HEAP32[$pMod>>2] = $47; - $48 = HEAP32[$pTab>>2]|0; - $49 = ((($48)) + 36|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 16|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$zDoc>>2]|0; - $55 = HEAP32[$nDoc>>2]|0; - $56 = (_sqlite3Fts3OpenTokenizer($50,$53,$54,$55,$pC)|0); - HEAP32[$rc>>2] = $56; - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)!=(0); - if ($58) { - $59 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $59; - $182 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($182|0); + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + _backupUpdate($8,$9,$10); + STACKTOP = sp;return; +} +function _sqlite3PagerGet($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + $16 = HEAP32[$8>>2]|0; + $17 = $16 & 1; + HEAP32[$12>>2] = $17; + $18 = 0; + HEAP32[$13>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = ($19>>>0)<=(1); + $21 = HEAP32[$6>>2]|0; + $22 = ($21|0)==(0); + $or$cond = $20 & $22; + if ($or$cond) { + $23 = (_sqlite3CorruptError(51704)|0); + HEAP32[$4>>2] = $23; + $217 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($217|0); } - while(1) { - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)==(0); - if (!($61)) { - break; - } - HEAP32[$DUMMY1>>2] = -1; - HEAP32[$iBegin>>2] = 0; - HEAP32[$iFin>>2] = 0; - HEAP32[$isHighlight>>2] = 0; - $62 = HEAP32[$pMod>>2]|0; - $63 = ((($62)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$pC>>2]|0; - $66 = (FUNCTION_TABLE_iiiiiii[$64 & 255]($65,$ZDUMMY,$DUMMY1,$iBegin,$iFin,$iCurrent)|0); - HEAP32[$rc>>2] = $66; - $67 = HEAP32[$rc>>2]|0; - $68 = ($67|0)!=(0); - if ($68) { - label = 9; - break; - } - $76 = HEAP32[$iCurrent>>2]|0; - $77 = HEAP32[$iPos>>2]|0; - $78 = ($76|0)<($77|0); - if ($78) { - continue; - } - $79 = HEAP32[$isShiftDone>>2]|0; - $80 = ($79|0)!=(0); - if (!($80)) { - $81 = HEAP32[$nDoc>>2]|0; - $82 = HEAP32[$iBegin>>2]|0; - $83 = (($81) - ($82))|0; - HEAP32[$n>>2] = $83; - $84 = HEAP32[$pTab>>2]|0; - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 16|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$5>>2]|0; - $89 = HEAP32[$iBegin>>2]|0; - $90 = HEAP32[$zDoc>>2]|0; - $91 = (($90) + ($89)|0); - $92 = HEAP32[$n>>2]|0; - $93 = (_fts3SnippetShift($84,$87,$88,$91,$92,$iPos,$hlmask)|0); - HEAP32[$rc>>2] = $93; - HEAP32[$isShiftDone>>2] = 1; - $94 = HEAP32[$rc>>2]|0; - $95 = ($94|0)==(0); - do { - if ($95) { - $96 = HEAP32[$iPos>>2]|0; - $97 = ($96|0)>(0); - $98 = HEAP32[$3>>2]|0; - $99 = ($98|0)>(0); - $or$cond = $97 | $99; - if ($or$cond) { - $100 = HEAP32[$9>>2]|0; - $101 = HEAP32[$8>>2]|0; - $102 = (_fts3StringAppend($100,$101,-1)|0); - HEAP32[$rc>>2] = $102; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 44|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0); + do { + if ($27) { + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 44|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$9>>2] = $30; + label = 24; + } else { + $31 = HEAP32[$13>>2]|0; + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$5>>2]|0; + $34 = (_sqlite3PagerUseWal($33)|0); + $35 = ($34|0)!=(0); + if ($35) { + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 216|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = (_sqlite3WalFindFrame($38,$39,$11)|0); + HEAP32[$9>>2] = $40; + $41 = HEAP32[$9>>2]|0; + $42 = ($41|0)!=(0); + if ($42) { break; } - $103 = HEAP32[$iBegin>>2]|0; - $104 = ($103|0)!=(0); - if ($104) { - $105 = HEAP32[$9>>2]|0; - $106 = HEAP32[$zDoc>>2]|0; - $107 = HEAP32[$iBegin>>2]|0; - $108 = (_fts3StringAppend($105,$106,$107)|0); - HEAP32[$rc>>2] = $108; - } } - } while(0); - $109 = HEAP32[$rc>>2]|0; - $110 = ($109|0)!=(0); - if ($110) { - continue; } - $111 = HEAP32[$iCurrent>>2]|0; - $112 = HEAP32[$iPos>>2]|0; - $113 = ($111|0)<($112|0); - if ($113) { - continue; - } - } - $114 = HEAP32[$iCurrent>>2]|0; - $115 = HEAP32[$iPos>>2]|0; - $116 = HEAP32[$5>>2]|0; - $117 = (($115) + ($116))|0; - $118 = ($114|0)>=($117|0); - if ($118) { - label = 21; - break; - } - $124 = $hlmask; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = (($124) + 4)|0; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = HEAP32[$iCurrent>>2]|0; - $131 = HEAP32[$iPos>>2]|0; - $132 = (($130) - ($131))|0; - $133 = (_bitshift64Shl(1,0,($132|0))|0); - $134 = tempRet0; - $135 = $126 & $133; - $136 = $129 & $134; - $137 = ($135|0)!=(0); - $138 = ($136|0)!=(0); - $139 = $137 | $138; - $140 = $139&1; - HEAP32[$isHighlight>>2] = $140; - $141 = HEAP32[$iCurrent>>2]|0; - $142 = HEAP32[$iPos>>2]|0; - $143 = ($141|0)>($142|0); - if ($143) { - $144 = HEAP32[$9>>2]|0; - $145 = HEAP32[$iEnd>>2]|0; - $146 = HEAP32[$zDoc>>2]|0; - $147 = (($146) + ($145)|0); - $148 = HEAP32[$iBegin>>2]|0; - $149 = HEAP32[$iEnd>>2]|0; - $150 = (($148) - ($149))|0; - $151 = (_fts3StringAppend($144,$147,$150)|0); - HEAP32[$rc>>2] = $151; - } - $152 = HEAP32[$rc>>2]|0; - $153 = ($152|0)==(0); - $154 = HEAP32[$isHighlight>>2]|0; - $155 = ($154|0)!=(0); - $or$cond3 = $153 & $155; - if ($or$cond3) { - $156 = HEAP32[$9>>2]|0; - $157 = HEAP32[$6>>2]|0; - $158 = (_fts3StringAppend($156,$157,-1)|0); - HEAP32[$rc>>2] = $158; - } - $159 = HEAP32[$rc>>2]|0; - $160 = ($159|0)==(0); - if ($160) { - $161 = HEAP32[$9>>2]|0; - $162 = HEAP32[$iBegin>>2]|0; - $163 = HEAP32[$zDoc>>2]|0; - $164 = (($163) + ($162)|0); - $165 = HEAP32[$iFin>>2]|0; - $166 = HEAP32[$iBegin>>2]|0; - $167 = (($165) - ($166))|0; - $168 = (_fts3StringAppend($161,$164,$167)|0); - HEAP32[$rc>>2] = $168; - } - $169 = HEAP32[$rc>>2]|0; - $170 = ($169|0)==(0); - $171 = HEAP32[$isHighlight>>2]|0; - $172 = ($171|0)!=(0); - $or$cond5 = $170 & $172; - if ($or$cond5) { - $173 = HEAP32[$9>>2]|0; - $174 = HEAP32[$7>>2]|0; - $175 = (_fts3StringAppend($173,$174,-1)|0); - HEAP32[$rc>>2] = $175; - } - $176 = HEAP32[$iFin>>2]|0; - HEAP32[$iEnd>>2] = $176; - } - if ((label|0) == 9) { - $69 = HEAP32[$rc>>2]|0; - $70 = ($69|0)==(101); - if ($70) { - $71 = HEAP32[$9>>2]|0; - $72 = HEAP32[$iEnd>>2]|0; - $73 = HEAP32[$zDoc>>2]|0; - $74 = (($73) + ($72)|0); - $75 = (_fts3StringAppend($71,$74,-1)|0); - HEAP32[$rc>>2] = $75; - } - } - else if ((label|0) == 21) { - $119 = HEAP32[$4>>2]|0; - $120 = ($119|0)!=(0); - if ($120) { - $121 = HEAP32[$9>>2]|0; - $122 = HEAP32[$8>>2]|0; - $123 = (_fts3StringAppend($121,$122,-1)|0); - HEAP32[$rc>>2] = $123; - } - } - $177 = HEAP32[$pMod>>2]|0; - $178 = ((($177)) + 16|0); - $179 = HEAP32[$178>>2]|0; - $180 = HEAP32[$pC>>2]|0; - (FUNCTION_TABLE_ii[$179 & 255]($180)|0); - $181 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $181; - $182 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($182|0); -} -function _fts3SnippetShift($pTab,$iLangid,$nSnippet,$zDoc,$nDoc,$piPos,$pHlmask) { - $pTab = $pTab|0; - $iLangid = $iLangid|0; - $nSnippet = $nSnippet|0; - $zDoc = $zDoc|0; - $nDoc = $nDoc|0; - $piPos = $piPos|0; - $pHlmask = $pHlmask|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0; - var $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, $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, $DUMMY1 = 0, $DUMMY2 = 0, $DUMMY3 = 0, $ZDUMMY = 0, $hlmask = 0, $iCurrent = 0, $nDesired = 0; - var $nLeft = 0, $nRight = 0, $nShift = 0, $or$cond = 0, $pC = 0, $pMod = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; - $3 = sp + 72|0; - $4 = sp + 68|0; - $5 = sp + 64|0; - $6 = sp + 60|0; - $7 = sp + 56|0; - $hlmask = sp; - $nLeft = sp + 52|0; - $nRight = sp + 48|0; - $nDesired = sp + 44|0; - $nShift = sp + 40|0; - $iCurrent = sp + 36|0; - $rc = sp + 32|0; - $pMod = sp + 28|0; - $pC = sp + 24|0; - $ZDUMMY = sp + 20|0; - $DUMMY1 = sp + 16|0; - $DUMMY2 = sp + 12|0; - $DUMMY3 = sp + 8|0; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $iLangid; - HEAP32[$3>>2] = $nSnippet; - HEAP32[$4>>2] = $zDoc; - HEAP32[$5>>2] = $nDoc; - HEAP32[$6>>2] = $piPos; - HEAP32[$7>>2] = $pHlmask; - $8 = HEAP32[$7>>2]|0; - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = $hlmask; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = $hlmask; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = ($21|0)!=(0); - $26 = ($24|0)!=(0); - $27 = $25 | $26; - do { - if ($27) { - HEAP32[$nLeft>>2] = 0; - while(1) { - $28 = $hlmask; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (($28) + 4)|0; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$nLeft>>2]|0; - $35 = (_bitshift64Shl(1,0,($34|0))|0); - $36 = tempRet0; - $37 = $30 & $35; - $38 = $33 & $36; - $39 = ($37|0)!=(0); - $40 = ($38|0)!=(0); - $41 = $39 | $40; - $42 = $41 ^ 1; - if (!($42)) { + $43 = HEAP32[$13>>2]|0; + $44 = ($43|0)!=(0); + $45 = HEAP32[$11>>2]|0; + $46 = ($45|0)==(0); + $or$cond3 = $44 & $46; + if ($or$cond3) { + HEAP32[$14>>2] = 0; + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 64|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$6>>2]|0; + $51 = (($50) - 1)|0; + $52 = HEAP32[$5>>2]|0; + $53 = ((($52)) + 160|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)<(0); + $56 = $55 << 31 >> 31; + $57 = (___muldi3(($51|0),0,($54|0),($56|0))|0); + $58 = tempRet0; + $59 = HEAP32[$5>>2]|0; + $60 = ((($59)) + 160|0); + $61 = HEAP32[$60>>2]|0; + $62 = (_sqlite3OsFetch($49,$57,$58,$61,$14)|0); + HEAP32[$9>>2] = $62; + $63 = HEAP32[$9>>2]|0; + $64 = ($63|0)==(0); + $65 = HEAP32[$14>>2]|0; + $66 = ($65|0)!=(0|0); + $or$cond5 = $64 & $66; + if ($or$cond5) { + $67 = HEAP32[$5>>2]|0; + $68 = ((($67)) + 17|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ($70|0)>(1); + if ($71) { + label = 12; + } else { + $72 = HEAP32[$5>>2]|0; + $73 = ((($72)) + 13|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + $76 = ($75|0)!=(0); + if ($76) { + label = 12; + } + } + if ((label|0) == 12) { + $77 = HEAP32[$5>>2]|0; + $78 = HEAP32[$6>>2]|0; + $79 = (_sqlite3PagerLookup($77,$78)|0); + HEAP32[$10>>2] = $79; + } + $80 = HEAP32[$10>>2]|0; + $81 = ($80|0)==(0|0); + $82 = HEAP32[$5>>2]|0; + if ($81) { + $83 = HEAP32[$6>>2]|0; + $84 = HEAP32[$14>>2]|0; + $85 = (_pagerAcquireMapPage($82,$83,$84,$10)|0); + HEAP32[$9>>2] = $85; + } else { + $86 = ((($82)) + 64|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$6>>2]|0; + $89 = (($88) - 1)|0; + $90 = HEAP32[$5>>2]|0; + $91 = ((($90)) + 160|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)<(0); + $94 = $93 << 31 >> 31; + $95 = (___muldi3(($89|0),0,($92|0),($94|0))|0); + $96 = tempRet0; + $97 = HEAP32[$14>>2]|0; + (_sqlite3OsUnfetch($87,$95,$96,$97)|0); + } + $98 = HEAP32[$10>>2]|0; + $99 = ($98|0)!=(0|0); + if ($99) { + $100 = HEAP32[$10>>2]|0; + $101 = HEAP32[$7>>2]|0; + HEAP32[$101>>2] = $100; + HEAP32[$4>>2] = 0; + $217 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($217|0); + } + } + $102 = HEAP32[$9>>2]|0; + $103 = ($102|0)!=(0); + if ($103) { break; } - $43 = HEAP32[$nLeft>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$nLeft>>2] = $44; } - HEAP32[$nRight>>2] = 0; - while(1) { - $45 = $hlmask; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$3>>2]|0; - $52 = (($51) - 1)|0; - $53 = HEAP32[$nRight>>2]|0; - $54 = (($52) - ($53))|0; - $55 = (_bitshift64Shl(1,0,($54|0))|0); - $56 = tempRet0; - $57 = $47 & $55; - $58 = $50 & $56; - $59 = ($57|0)!=(0); - $60 = ($58|0)!=(0); - $61 = $59 | $60; - $62 = $61 ^ 1; - if (!($62)) { + $104 = HEAP32[$5>>2]|0; + $105 = ((($104)) + 212|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$6>>2]|0; + $108 = (_sqlite3PcacheFetch($106,$107,3)|0); + HEAP32[$15>>2] = $108; + $109 = HEAP32[$15>>2]|0; + $110 = ($109|0)==(0|0); + if ($110) { + $111 = HEAP32[$5>>2]|0; + $112 = ((($111)) + 212|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$6>>2]|0; + $115 = (_sqlite3PcacheFetchStress($113,$114,$15)|0); + HEAP32[$9>>2] = $115; + $116 = HEAP32[$9>>2]|0; + $117 = ($116|0)!=(0); + if ($117) { break; } - $63 = HEAP32[$nRight>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$nRight>>2] = $64; - } - $65 = HEAP32[$nLeft>>2]|0; - $66 = HEAP32[$nRight>>2]|0; - $67 = (($65) - ($66))|0; - $68 = (($67|0) / 2)&-1; - HEAP32[$nDesired>>2] = $68; - $69 = HEAP32[$nDesired>>2]|0; - $70 = ($69|0)>(0); - if ($70) { - HEAP32[$iCurrent>>2] = 0; - $71 = HEAP32[$1>>2]|0; - $72 = ((($71)) + 36|0); - $73 = HEAP32[$72>>2]|0; - $74 = HEAP32[$73>>2]|0; - HEAP32[$pMod>>2] = $74; - $75 = HEAP32[$1>>2]|0; - $76 = ((($75)) + 36|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$2>>2]|0; - $79 = HEAP32[$4>>2]|0; - $80 = HEAP32[$5>>2]|0; - $81 = (_sqlite3Fts3OpenTokenizer($77,$78,$79,$80,$pC)|0); - HEAP32[$rc>>2] = $81; - $82 = HEAP32[$rc>>2]|0; - $83 = ($82|0)!=(0); - if ($83) { - $84 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $84; - $132 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($132|0); + $118 = HEAP32[$15>>2]|0; + $119 = ($118|0)==(0|0); + if ($119) { + $120 = HEAP32[$7>>2]|0; + HEAP32[$120>>2] = 0; + HEAP32[$10>>2] = 0; + HEAP32[$9>>2] = 7; + break; } - while(1) { - $85 = HEAP32[$rc>>2]|0; - $86 = ($85|0)==(0); - if (!($86)) { - break; - } - $87 = HEAP32[$iCurrent>>2]|0; - $88 = HEAP32[$3>>2]|0; - $89 = HEAP32[$nDesired>>2]|0; - $90 = (($88) + ($89))|0; - $91 = ($87|0)<($90|0); - if (!($91)) { - break; + } + $121 = HEAP32[$5>>2]|0; + $122 = ((($121)) + 212|0); + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$6>>2]|0; + $125 = HEAP32[$15>>2]|0; + $126 = (_sqlite3PcacheFetchFinish($123,$124,$125)|0); + $127 = HEAP32[$7>>2]|0; + HEAP32[$127>>2] = $126; + HEAP32[$10>>2] = $126; + label = 24; + } + } while(0); + do { + if ((label|0) == 24) { + $128 = HEAP32[$9>>2]|0; + $129 = ($128|0)!=(0); + if ($129) { + HEAP32[$10>>2] = 0; + break; + } + $130 = HEAP32[$10>>2]|0; + $131 = ((($130)) + 16|0); + $132 = HEAP32[$131>>2]|0; + $133 = ($132|0)==(0|0); + $134 = HEAP32[$12>>2]|0; + $135 = ($134|0)!=(0); + $or$cond7 = $133 | $135; + $136 = HEAP32[$5>>2]|0; + if (!($or$cond7)) { + $137 = ((($136)) + 192|0); + $138 = HEAP32[$137>>2]|0; + $139 = (($138) + 1)|0; + HEAP32[$137>>2] = $139; + HEAP32[$4>>2] = 0; + $217 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($217|0); + } + $140 = HEAP32[$10>>2]|0; + $141 = ((($140)) + 16|0); + HEAP32[$141>>2] = $136; + $142 = HEAP32[$6>>2]|0; + $143 = ($142>>>0)>(2147483647); + if (!($143)) { + $144 = HEAP32[$6>>2]|0; + $145 = HEAP32[482]|0; + $146 = HEAP32[$5>>2]|0; + $147 = ((($146)) + 160|0); + $148 = HEAP32[$147>>2]|0; + $149 = (($145|0) / ($148|0))&-1; + $150 = (($149) + 1)|0; + $151 = ($144|0)==($150|0); + if (!($151)) { + $153 = HEAP32[$5>>2]|0; + $154 = ((($153)) + 64|0); + $155 = HEAP32[$154>>2]|0; + $156 = HEAP32[$155>>2]|0; + $157 = ($156|0)!=(0|0); + if ($157) { + $158 = HEAP32[$5>>2]|0; + $159 = ((($158)) + 28|0); + $160 = HEAP32[$159>>2]|0; + $161 = HEAP32[$6>>2]|0; + $162 = ($160>>>0)<($161>>>0); + $163 = HEAP32[$12>>2]|0; + $164 = ($163|0)!=(0); + $or$cond9 = $162 | $164; + if ($or$cond9) { + label = 33; + } else { + $189 = HEAP32[$5>>2]|0; + $190 = (_sqlite3PagerUseWal($189)|0); + $191 = ($190|0)!=(0); + $192 = HEAP32[$13>>2]|0; + $193 = ($192|0)==(0); + $or$cond11 = $191 & $193; + if ($or$cond11) { + $194 = HEAP32[$5>>2]|0; + $195 = ((($194)) + 216|0); + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$6>>2]|0; + $198 = (_sqlite3WalFindFrame($196,$197,$11)|0); + HEAP32[$9>>2] = $198; + $199 = HEAP32[$9>>2]|0; + $200 = ($199|0)!=(0); + if ($200) { + break; + } + } + $201 = HEAP32[$5>>2]|0; + $202 = ((($201)) + 192|0); + $203 = ((($202)) + 4|0); + $204 = HEAP32[$203>>2]|0; + $205 = (($204) + 1)|0; + HEAP32[$203>>2] = $205; + $206 = HEAP32[$10>>2]|0; + $207 = HEAP32[$11>>2]|0; + $208 = (_readDbPage($206,$207)|0); + HEAP32[$9>>2] = $208; + $209 = HEAP32[$9>>2]|0; + $210 = ($209|0)!=(0); + if ($210) { + break; + } + } + } else { + label = 33; } - HEAP32[$DUMMY1>>2] = 0; - HEAP32[$DUMMY2>>2] = 0; - HEAP32[$DUMMY3>>2] = 0; - $92 = HEAP32[$pMod>>2]|0; - $93 = ((($92)) + 20|0); - $94 = HEAP32[$93>>2]|0; - $95 = HEAP32[$pC>>2]|0; - $96 = (FUNCTION_TABLE_iiiiiii[$94 & 255]($95,$ZDUMMY,$DUMMY1,$DUMMY2,$DUMMY3,$iCurrent)|0); - HEAP32[$rc>>2] = $96; - } - $97 = HEAP32[$pMod>>2]|0; - $98 = ((($97)) + 16|0); - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$pC>>2]|0; - (FUNCTION_TABLE_ii[$99 & 255]($100)|0); - $101 = HEAP32[$rc>>2]|0; - $102 = ($101|0)!=(0); - $103 = HEAP32[$rc>>2]|0; - $104 = ($103|0)!=(101); - $or$cond = $102 & $104; - $105 = HEAP32[$rc>>2]|0; - if ($or$cond) { - HEAP32[$0>>2] = $105; - $132 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($132|0); - } else { - $106 = ($105|0)==(101); - $107 = $106&1; - $108 = HEAP32[$iCurrent>>2]|0; - $109 = (($107) + ($108))|0; - $110 = HEAP32[$3>>2]|0; - $111 = (($109) - ($110))|0; - HEAP32[$nShift>>2] = $111; - $112 = HEAP32[$nShift>>2]|0; - $113 = ($112|0)>(0); - if (!($113)) { - break; + if ((label|0) == 33) { + $165 = HEAP32[$6>>2]|0; + $166 = HEAP32[$5>>2]|0; + $167 = ((($166)) + 164|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($165>>>0)>($168>>>0); + if ($169) { + HEAP32[$9>>2] = 13; + break; + } + $170 = HEAP32[$12>>2]|0; + $171 = ($170|0)!=(0); + if ($171) { + _sqlite3BeginBenignMalloc(); + $172 = HEAP32[$6>>2]|0; + $173 = HEAP32[$5>>2]|0; + $174 = ((($173)) + 32|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($172>>>0)<=($175>>>0); + if ($176) { + $177 = HEAP32[$5>>2]|0; + $178 = ((($177)) + 60|0); + $179 = HEAP32[$178>>2]|0; + $180 = HEAP32[$6>>2]|0; + (_sqlite3BitvecSet($179,$180)|0); + } + $181 = HEAP32[$5>>2]|0; + $182 = HEAP32[$6>>2]|0; + (_addToSavepointBitvecs($181,$182)|0); + _sqlite3EndBenignMalloc(); + } + $183 = HEAP32[$10>>2]|0; + $184 = ((($183)) + 4|0); + $185 = HEAP32[$184>>2]|0; + $186 = HEAP32[$5>>2]|0; + $187 = ((($186)) + 160|0); + $188 = HEAP32[$187>>2]|0; + _memset(($185|0),0,($188|0))|0; } - $114 = HEAP32[$nShift>>2]|0; - $115 = HEAP32[$6>>2]|0; - $116 = HEAP32[$115>>2]|0; - $117 = (($116) + ($114))|0; - HEAP32[$115>>2] = $117; - $118 = $hlmask; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = (($118) + 4)|0; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$nShift>>2]|0; - $125 = (_bitshift64Lshr(($120|0),($123|0),($124|0))|0); - $126 = tempRet0; - $127 = HEAP32[$7>>2]|0; - $128 = $127; - $129 = $128; - HEAP32[$129>>2] = $125; - $130 = (($128) + 4)|0; - $131 = $130; - HEAP32[$131>>2] = $126; - break; + HEAP32[$4>>2] = 0; + $217 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($217|0); } } + $152 = (_sqlite3CorruptError(51793)|0); + HEAP32[$9>>2] = $152; } } while(0); - HEAP32[$0>>2] = 0; - $132 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($132|0); + $211 = HEAP32[$10>>2]|0; + $212 = ($211|0)!=(0|0); + if ($212) { + $213 = HEAP32[$10>>2]|0; + _sqlite3PcacheDrop($213); + } + $214 = HEAP32[$5>>2]|0; + _pagerUnlockIfUnused($214); + $215 = HEAP32[$7>>2]|0; + HEAP32[$215>>2] = 0; + $216 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $216; + $217 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($217|0); } -function _fts3SnippetFindPositions($pExpr,$iPhrase,$ctx) { - $pExpr = $pExpr|0; - $iPhrase = $iPhrase|0; - $ctx = $ctx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $iFirst = 0, $p = 0, $pCsr = 0, $pPhrase = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3PcacheMakeDirty($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, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $p = sp + 16|0; - $pPhrase = sp + 12|0; - $pCsr = sp + 8|0; - $rc = sp + 4|0; - $iFirst = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $iPhrase; - HEAP32[$2>>2] = $ctx; - $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + (($4*24)|0)|0); - HEAP32[$pPhrase>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 64|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$pPhrase>>2]|0; - HEAP32[$14>>2] = $13; - $15 = HEAP32[$p>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3Fts3EvalPhrasePoslist($16,$17,$20,$pCsr)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$pCsr>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 17; + $7 = ($6|0)!=(0); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10&65535; + $12 = $11 & -17; + $13 = $12&65535; + HEAP16[$9>>1] = $13; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = $17 & 1; + $19 = ($18|0)!=(0); + if (!($19)) { + STACKTOP = sp;return; + } + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = $23 ^ 3; + $25 = $24&65535; + HEAP16[$21>>1] = $25; + $26 = HEAP32[$1>>2]|0; + _pcacheManageDirtyList($26,2); + STACKTOP = sp;return; +} +function _sqlite3PcacheRelease($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = (($6) + -1)|0; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 26|0); + $10 = HEAP16[$9>>1]|0; + $11 = (($10) + -1)<<16>>16; + HEAP16[$9>>1] = $11; + $12 = $11 << 16 >> 16; + $13 = ($12|0)==(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = $17 & 1; + $19 = ($18|0)!=(0); + $20 = HEAP32[$1>>2]|0; + if ($19) { + _pcacheUnpin($20); + STACKTOP = sp;return; + } + $21 = ((($20)) + 36|0); + $22 = HEAP32[$21>>2]|0; $23 = ($22|0)!=(0|0); if (!($23)) { - $39 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($39|0); + STACKTOP = sp;return; } - HEAP32[$iFirst>>2] = 0; - $24 = HEAP32[$pCsr>>2]|0; - $25 = HEAP32[$pPhrase>>2]|0; - $26 = ((($25)) + 4|0); - HEAP32[$26>>2] = $24; - _fts3GetDeltaPosition($pCsr,$iFirst); - $27 = HEAP32[$pCsr>>2]|0; - $28 = HEAP32[$pPhrase>>2]|0; - $29 = ((($28)) + 12|0); - HEAP32[$29>>2] = $27; - $30 = HEAP32[$pCsr>>2]|0; - $31 = HEAP32[$pPhrase>>2]|0; - $32 = ((($31)) + 20|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$iFirst>>2]|0; - $34 = HEAP32[$pPhrase>>2]|0; - $35 = ((($34)) + 8|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$iFirst>>2]|0; - $37 = HEAP32[$pPhrase>>2]|0; - $38 = ((($37)) + 16|0); - HEAP32[$38>>2] = $36; - $39 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($39|0); + $24 = HEAP32[$1>>2]|0; + _pcacheManageDirtyList($24,3); + STACKTOP = sp;return; } -function _fts3SnippetNextCandidate($pIter) { - $pIter = $pIter|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $i = 0, $iEnd = 0, $iStart = 0, $pPhrase = 0, $pPhrase1 = 0, $pPhrase2 = 0, label = 0, sp = 0; +function _sqlite3CorruptError($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $i = sp + 20|0; - $pPhrase = sp + 16|0; - $iStart = sp + 12|0; - $iEnd = sp + 8|0; - $pPhrase1 = sp + 4|0; - $pPhrase2 = sp; - HEAP32[$1>>2] = $pIter; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(0); - L1: do { - if ($5) { - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 20|0); - HEAP32[$7>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)<($11|0); - if (!($12)) { - break L1; + $3 = (_reportError(11,$2,24894)|0); + STACKTOP = sp;return ($3|0); +} +function _sqlite3WalFindFrame($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 52|0); + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$8>>2] = $21; + $22 = HEAP32[$8>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 40|0); + $26 = HEAP16[$25>>1]|0; + $27 = $26 << 16 >> 16; + $28 = ($27|0)==(0); + if (!($28)) { + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 100|0); + $32 = HEAP32[$31>>2]|0; + $33 = (_walFramePage($32)|0); + HEAP32[$10>>2] = $33; + $34 = HEAP32[$8>>2]|0; + $35 = (_walFramePage($34)|0); + HEAP32[$9>>2] = $35; + L4: while(1) { + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$10>>2]|0; + $38 = ($36|0)>=($37|0); + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)==(0); + $41 = $38 ? $40 : 0; + if (!($41)) { + label = 18; + break; } - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + (($13*24)|0)|0); - HEAP32[$pPhrase>>2] = $17; - $18 = HEAP32[$pPhrase>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$pPhrase>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 8|0); - $24 = HEAP32[$23>>2]|0; - _fts3SnippetAdvance($19,$21,$24); - $25 = HEAP32[$i>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$i>>2] = $26; - } - } else { - HEAP32[$iEnd>>2] = 2147483647; - HEAP32[$i>>2] = 0; - while(1) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($27|0)<($30|0); - if (!($31)) { + $42 = HEAP32[$4>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = (_walHashGet($42,$43,$11,$12,$13)|0); + HEAP32[$16>>2] = $44; + $45 = HEAP32[$16>>2]|0; + $46 = ($45|0)!=(0); + if ($46) { + label = 7; break; } - $32 = HEAP32[$i>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 16|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + (($32*24)|0)|0); - HEAP32[$pPhrase1>>2] = $36; - $37 = HEAP32[$pPhrase1>>2]|0; - $38 = ((($37)) + 12|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)!=(0|0); - if ($40) { - $41 = HEAP32[$pPhrase1>>2]|0; - $42 = ((($41)) + 8|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$iEnd>>2]|0; - $45 = ($43|0)<($44|0); - if ($45) { - $46 = HEAP32[$pPhrase1>>2]|0; - $47 = ((($46)) + 8|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$iEnd>>2] = $48; + HEAP32[$15>>2] = 8192; + $48 = HEAP32[$5>>2]|0; + $49 = (_walHash($48)|0); + HEAP32[$14>>2] = $49; + while(1) { + $50 = HEAP32[$11>>2]|0; + $51 = HEAP32[$14>>2]|0; + $52 = (($50) + ($51<<1)|0); + $53 = HEAP16[$52>>1]|0; + $54 = ($53<<16>>16)!=(0); + if (!($54)) { + break; + } + $55 = HEAP32[$11>>2]|0; + $56 = HEAP32[$14>>2]|0; + $57 = (($55) + ($56<<1)|0); + $58 = HEAP16[$57>>1]|0; + $59 = $58&65535; + $60 = HEAP32[$13>>2]|0; + $61 = (($59) + ($60))|0; + HEAP32[$17>>2] = $61; + $62 = HEAP32[$17>>2]|0; + $63 = HEAP32[$8>>2]|0; + $64 = ($62>>>0)<=($63>>>0); + if ($64) { + $65 = HEAP32[$17>>2]|0; + $66 = HEAP32[$4>>2]|0; + $67 = ((($66)) + 100|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($65>>>0)>=($68>>>0); + if ($69) { + $70 = HEAP32[$12>>2]|0; + $71 = HEAP32[$11>>2]|0; + $72 = HEAP32[$14>>2]|0; + $73 = (($71) + ($72<<1)|0); + $74 = HEAP16[$73>>1]|0; + $75 = $74&65535; + $76 = (($70) + ($75<<2)|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$5>>2]|0; + $79 = ($77|0)==($78|0); + if ($79) { + $80 = HEAP32[$17>>2]|0; + HEAP32[$7>>2] = $80; + } + } + } + $81 = HEAP32[$15>>2]|0; + $82 = (($81) + -1)|0; + HEAP32[$15>>2] = $82; + $83 = ($81|0)==(0); + if ($83) { + label = 15; + break L4; } + $85 = HEAP32[$14>>2]|0; + $86 = (_walNextHash($85)|0); + HEAP32[$14>>2] = $86; } - $49 = HEAP32[$i>>2]|0; - $50 = (($49) + 1)|0; - HEAP32[$i>>2] = $50; + $87 = HEAP32[$9>>2]|0; + $88 = (($87) + -1)|0; + HEAP32[$9>>2] = $88; } - $51 = HEAP32[$iEnd>>2]|0; - $52 = ($51|0)==(2147483647); - if ($52) { - HEAP32[$0>>2] = 1; - $84 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($84|0); + if ((label|0) == 7) { + $47 = HEAP32[$16>>2]|0; + HEAP32[$3>>2] = $47; + $91 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($91|0); } - $53 = HEAP32[$iEnd>>2]|0; - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 8|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($53) - ($56))|0; - $58 = (($57) + 1)|0; - HEAP32[$iStart>>2] = $58; - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 20|0); - HEAP32[$60>>2] = $58; - HEAP32[$i>>2] = 0; - while(1) { - $61 = HEAP32[$i>>2]|0; - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 12|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($61|0)<($64|0); - if (!($65)) { - break L1; - } - $66 = HEAP32[$i>>2]|0; - $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = (($69) + (($66*24)|0)|0); - HEAP32[$pPhrase2>>2] = $70; - $71 = HEAP32[$pPhrase2>>2]|0; - $72 = ((($71)) + 12|0); - $73 = HEAP32[$pPhrase2>>2]|0; - $74 = ((($73)) + 8|0); - $75 = HEAP32[$iEnd>>2]|0; - $76 = (($75) + 1)|0; - _fts3SnippetAdvance($72,$74,$76); - $77 = HEAP32[$pPhrase2>>2]|0; - $78 = ((($77)) + 20|0); - $79 = HEAP32[$pPhrase2>>2]|0; - $80 = ((($79)) + 16|0); - $81 = HEAP32[$iStart>>2]|0; - _fts3SnippetAdvance($78,$80,$81); - $82 = HEAP32[$i>>2]|0; - $83 = (($82) + 1)|0; - HEAP32[$i>>2] = $83; + else if ((label|0) == 15) { + $84 = (_sqlite3CorruptError(56344)|0); + HEAP32[$3>>2] = $84; + $91 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($91|0); + } + else if ((label|0) == 18) { + $89 = HEAP32[$7>>2]|0; + $90 = HEAP32[$6>>2]|0; + HEAP32[$90>>2] = $89; + HEAP32[$3>>2] = 0; + $91 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($91|0); } } - } while(0); - HEAP32[$0>>2] = 0; - $84 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($84|0); + } + $29 = HEAP32[$6>>2]|0; + HEAP32[$29>>2] = 0; + HEAP32[$3>>2] = 0; + $91 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($91|0); } -function _fts3SnippetDetails($pIter,$0,$1,$piToken,$piScore,$pmCover,$pmHighlight) { - $pIter = $pIter|0; +function _sqlite3OsFetch($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; - $piToken = $piToken|0; - $piScore = $piScore|0; - $pmCover = $pmCover|0; - $pmHighlight = $pmHighlight|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $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, $i = 0, $iCsr = 0, $iScore = 0, $iStart = 0, $j = 0, $mCover = 0, $mHighlight = 0, $mPhrase = 0, $mPos = 0, $pCsr = 0; - var $pPhrase = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $2 = sp + 84|0; - $3 = sp + 32|0; - $4 = sp + 80|0; - $5 = sp + 76|0; - $6 = sp + 72|0; - $7 = sp + 68|0; - $iStart = sp + 64|0; - $iScore = sp + 60|0; - $i = sp + 56|0; - $mCover = sp + 24|0; - $mHighlight = sp + 16|0; - $pPhrase = sp + 52|0; - $pCsr = sp + 48|0; - $iCsr = sp + 44|0; - $j = sp + 40|0; - $mPhrase = sp + 8|0; - $mPos = sp; - HEAP32[$2>>2] = $pIter; - $8 = $3; - $9 = $8; - HEAP32[$9>>2] = $0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $1; - HEAP32[$4>>2] = $piToken; - HEAP32[$5>>2] = $piScore; - HEAP32[$6>>2] = $pmCover; - HEAP32[$7>>2] = $pmHighlight; - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 20|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$iStart>>2] = $14; - HEAP32[$iScore>>2] = 0; - $15 = $mCover; - $16 = $15; - HEAP32[$16>>2] = 0; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = 0; - $19 = $mHighlight; - $20 = $19; - HEAP32[$20>>2] = 0; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($23|0)<($26|0); - if (!($27)) { - break; - } - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 16|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + (($28*24)|0)|0); - HEAP32[$pPhrase>>2] = $32; - $33 = HEAP32[$pPhrase>>2]|0; - $34 = ((($33)) + 20|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)!=(0|0); - L4: do { - if ($36) { - $37 = HEAP32[$pPhrase>>2]|0; - $38 = ((($37)) + 20|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$pCsr>>2] = $39; - $40 = HEAP32[$pPhrase>>2]|0; - $41 = ((($40)) + 16|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$iCsr>>2] = $42; - while(1) { - $43 = HEAP32[$iCsr>>2]|0; - $44 = HEAP32[$iStart>>2]|0; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($44) + ($47))|0; - $49 = ($43|0)<($48|0); - if (!($49)) { - break L4; - } - $50 = HEAP32[$i>>2]|0; - $51 = (_bitshift64Shl(1,0,($50|0))|0); - $52 = tempRet0; - $53 = $mPhrase; - $54 = $53; - HEAP32[$54>>2] = $51; - $55 = (($53) + 4)|0; - $56 = $55; - HEAP32[$56>>2] = $52; - $57 = HEAP32[$iCsr>>2]|0; - $58 = HEAP32[$iStart>>2]|0; - $59 = (($57) - ($58))|0; - $60 = (_bitshift64Shl(1,0,($59|0))|0); - $61 = tempRet0; - $62 = $mPos; - $63 = $62; - HEAP32[$63>>2] = $60; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - $66 = $mCover; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = (($66) + 4)|0; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = $3; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = $68 | $74; - $79 = $71 | $77; - $80 = $mPhrase; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = (($80) + 4)|0; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = $78 & $82; - $87 = $79 & $85; - $88 = ($86|0)!=(0); - $89 = ($87|0)!=(0); - $90 = $88 | $89; - $91 = HEAP32[$iScore>>2]|0; - if ($90) { - $92 = (($91) + 1)|0; - HEAP32[$iScore>>2] = $92; - } else { - $93 = (($91) + 1000)|0; - HEAP32[$iScore>>2] = $93; - } - $94 = $mPhrase; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (($94) + 4)|0; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = $mCover; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = $102 | $96; - $107 = $105 | $99; - $108 = $mCover; - $109 = $108; - HEAP32[$109>>2] = $106; - $110 = (($108) + 4)|0; - $111 = $110; - HEAP32[$111>>2] = $107; - HEAP32[$j>>2] = 0; - while(1) { - $112 = HEAP32[$j>>2]|0; - $113 = HEAP32[$pPhrase>>2]|0; - $114 = HEAP32[$113>>2]|0; - $115 = ($112|0)<($114|0); - if (!($115)) { - break; - } - $116 = $mPos; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$j>>2]|0; - $123 = (_bitshift64Lshr(($118|0),($121|0),($122|0))|0); - $124 = tempRet0; - $125 = $mHighlight; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = (($125) + 4)|0; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = $127 | $123; - $132 = $130 | $124; - $133 = $mHighlight; - $134 = $133; - HEAP32[$134>>2] = $131; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $137 = HEAP32[$j>>2]|0; - $138 = (($137) + 1)|0; - HEAP32[$j>>2] = $138; - } - $139 = HEAP32[$pCsr>>2]|0; - $140 = HEAP8[$139>>0]|0; - $141 = $140 << 24 >> 24; - $142 = $141 & 254; - $143 = (0)==($142|0); - if ($143) { - break L4; - } - _fts3GetDeltaPosition($pCsr,$iCsr); - } - } - } while(0); - $144 = HEAP32[$i>>2]|0; - $145 = (($144) + 1)|0; - HEAP32[$i>>2] = $145; - } - $146 = HEAP32[$iStart>>2]|0; - $147 = HEAP32[$4>>2]|0; - HEAP32[$147>>2] = $146; - $148 = HEAP32[$iScore>>2]|0; - $149 = HEAP32[$5>>2]|0; - HEAP32[$149>>2] = $148; - $150 = $mCover; - $151 = $150; - $152 = HEAP32[$151>>2]|0; - $153 = (($150) + 4)|0; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = HEAP32[$6>>2]|0; - $157 = $156; - $158 = $157; - HEAP32[$158>>2] = $152; - $159 = (($157) + 4)|0; - $160 = $159; - HEAP32[$160>>2] = $155; - $161 = $mHighlight; - $162 = $161; - $163 = HEAP32[$162>>2]|0; - $164 = (($161) + 4)|0; - $165 = $164; - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[$7>>2]|0; - $168 = $167; - $169 = $168; - HEAP32[$169>>2] = $163; - $170 = (($168) + 4)|0; - $171 = $170; - HEAP32[$171>>2] = $166; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$5>>2] = $0; + $9 = $6; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = $4; + $13 = HEAP32[$8>>2]|0; + HEAP32[$13>>2] = 0; + STACKTOP = sp;return 0; } -function _fts3SnippetAdvance($ppIter,$piIter,$iNext) { - $ppIter = $ppIter|0; - $piIter = $piIter|0; - $iNext = $iNext|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $iIter = 0, $pIter = 0, label = 0, sp = 0; +function _pagerAcquireMapPage($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, $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, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $pIter = sp + 4|0; - $iIter = sp; - HEAP32[$0>>2] = $ppIter; - HEAP32[$1>>2] = $piIter; - HEAP32[$2>>2] = $iNext; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pIter>>2] = $4; - $5 = HEAP32[$pIter>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$iIter>>2] = $8; - while(1) { - $9 = HEAP32[$iIter>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ($9|0)<($10|0); - if (!($11)) { - break; - } - $12 = HEAP32[$pIter>>2]|0; - $13 = HEAP8[$12>>0]|0; - $14 = $13 << 24 >> 24; - $15 = $14 & 254; - $16 = (0)==($15|0); - if ($16) { - label = 5; - break; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 144|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + $14 = HEAP32[$5>>2]|0; + do { + if ($13) { + $15 = ((($14)) + 144|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$9>>2] = $16; + $17 = HEAP32[$8>>2]|0; + HEAP32[$17>>2] = $16; + $18 = HEAP32[$9>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 144|0); + HEAP32[$22>>2] = $20; + $23 = HEAP32[$9>>2]|0; + $24 = ((($23)) + 12|0); + HEAP32[$24>>2] = 0; + $25 = HEAP32[$9>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 148|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + _memset(($27|0),0,($31|0))|0; + } else { + $32 = ((($14)) + 148|0); + $33 = HEAP16[$32>>1]|0; + $34 = $33&65535; + $35 = (40 + ($34))|0; + $36 = (_sqlite3MallocZero($35,0)|0); + HEAP32[$9>>2] = $36; + $37 = HEAP32[$8>>2]|0; + HEAP32[$37>>2] = $36; + $38 = HEAP32[$9>>2]|0; + $39 = ($38|0)==(0|0); + if (!($39)) { + $53 = HEAP32[$9>>2]|0; + $54 = ((($53)) + 40|0); + $55 = HEAP32[$9>>2]|0; + $56 = ((($55)) + 8|0); + HEAP32[$56>>2] = $54; + $57 = HEAP32[$9>>2]|0; + $58 = ((($57)) + 24|0); + HEAP16[$58>>1] = 32; + $59 = HEAP32[$9>>2]|0; + $60 = ((($59)) + 26|0); + HEAP16[$60>>1] = 1; + $61 = HEAP32[$5>>2]|0; + $62 = HEAP32[$9>>2]|0; + $63 = ((($62)) + 16|0); + HEAP32[$63>>2] = $61; + break; + } + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 64|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = (($43) - 1)|0; + $45 = HEAP32[$5>>2]|0; + $46 = ((($45)) + 160|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)<(0); + $49 = $48 << 31 >> 31; + $50 = (___muldi3(($44|0),0,($47|0),($49|0))|0); + $51 = tempRet0; + $52 = HEAP32[$7>>2]|0; + (_sqlite3OsUnfetch($42,$50,$51,$52)|0); + HEAP32[$4>>2] = 7; + $74 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($74|0); } - _fts3GetDeltaPosition($pIter,$iIter); - } - if ((label|0) == 5) { - HEAP32[$iIter>>2] = -1; - HEAP32[$pIter>>2] = 0; - } - $17 = HEAP32[$iIter>>2]|0; - $18 = HEAP32[$1>>2]|0; - HEAP32[$18>>2] = $17; - $19 = HEAP32[$pIter>>2]|0; - $20 = HEAP32[$0>>2]|0; - HEAP32[$20>>2] = $19; - STACKTOP = sp;return; + } while(0); + $64 = HEAP32[$6>>2]|0; + $65 = HEAP32[$9>>2]|0; + $66 = ((($65)) + 20|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$7>>2]|0; + $68 = HEAP32[$9>>2]|0; + $69 = ((($68)) + 4|0); + HEAP32[$69>>2] = $67; + $70 = HEAP32[$5>>2]|0; + $71 = ((($70)) + 128|0); + $72 = HEAP32[$71>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$71>>2] = $73; + HEAP32[$4>>2] = 0; + $74 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($74|0); +} +function _sqlite3OsUnfetch($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp; + $6 = sp + 8|0; + HEAP32[$4>>2] = $0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + HEAP32[$6>>2] = $3; + STACKTOP = sp;return 0; } -function _sqlite3Fts3MaxLevel($p,$pnMax) { - $p = $p|0; - $pnMax = $pnMax|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mxLevel = 0, $pStmt = 0, $rc = 0, label = 0; +function _sqlite3PcacheFetch($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $rc = sp + 8|0; - $mxLevel = sp + 4|0; - $pStmt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pnMax; - HEAP32[$mxLevel>>2] = 0; - HEAP32[$pStmt>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = (_fts3SqlStmt($2,36,$pStmt,0)|0); - HEAP32[$rc>>2] = $3; - $4 = HEAP32[$rc>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - $13 = HEAP32[$mxLevel>>2]|0; - $14 = HEAP32[$1>>2]|0; - HEAP32[$14>>2] = $13; - $15 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($15|0); - } - $6 = HEAP32[$pStmt>>2]|0; - $7 = (_sqlite3_step($6)|0); - $8 = (100)==($7|0); - if ($8) { - $9 = HEAP32[$pStmt>>2]|0; - $10 = (_sqlite3_column_int($9,0)|0); - HEAP32[$mxLevel>>2] = $10; - } - $11 = HEAP32[$pStmt>>2]|0; - $12 = (_sqlite3_reset($11)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$mxLevel>>2]|0; - $14 = HEAP32[$1>>2]|0; - HEAP32[$14>>2] = $13; - $15 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($15|0); + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 33|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $8 & $12; + HEAP32[$6>>2] = $13; + $14 = HEAP32[(144)>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 44|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = (FUNCTION_TABLE_iiii[$14 & 255]($17,$18,$19)|0); + HEAP32[$7>>2] = $20; + $21 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($21|0); } -function _sqlite3Fts3Incrmerge($p,$nMerge,$nMin) { - $p = $p|0; - $nMerge = $nMerge|0; - $nMin = $nMin|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $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; +function _sqlite3PcacheFetchStress($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $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, $bDirtyHint = 0, $bIgnore = 0, $bUseHint = 0; - var $hint = 0, $iAbsLevel = 0, $iHintAbsLevel = 0, $iIdx = 0, $nAlloc = 0, $nHint = 0, $nHintSeg = 0, $nKey = 0, $nMod = 0, $nRem = 0, $nSeg = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pCsr = 0, $pFilter = 0, $pFindLevel = 0, $pWriter = 0, $rc = 0; - var $zKey = 0, label = 0, sp = 0; + var $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 112|0; - $1 = sp + 108|0; - $2 = sp + 104|0; - $3 = sp + 100|0; - $rc = sp + 96|0; - $nRem = sp + 92|0; - $pCsr = sp + 88|0; - $pFilter = sp + 84|0; - $pWriter = sp + 80|0; - $nSeg = sp + 76|0; - $iAbsLevel = sp + 16|0; - $hint = sp + 64|0; - $bDirtyHint = sp + 60|0; - $nAlloc = sp + 56|0; - $nMod = sp + 8|0; - $pFindLevel = sp + 52|0; - $bUseHint = sp + 48|0; - $iIdx = sp + 44|0; - $nHint = sp + 40|0; - $iHintAbsLevel = sp; - $nHintSeg = sp + 36|0; - $bIgnore = sp + 32|0; - $zKey = sp + 28|0; - $nKey = sp + 24|0; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $nMerge; - HEAP32[$3>>2] = $nMin; - $4 = HEAP32[$2>>2]|0; - HEAP32[$nRem>>2] = $4; - HEAP32[$nSeg>>2] = 0; - $5 = $iAbsLevel; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = 0; - ;HEAP32[$hint>>2]=0|0;HEAP32[$hint+4>>2]=0|0;HEAP32[$hint+8>>2]=0|0; - HEAP32[$bDirtyHint>>2] = 0; - HEAP32[$nAlloc>>2] = 640; - $9 = (_sqlite3_malloc(640)|0); - HEAP32[$pWriter>>2] = $9; - $10 = HEAP32[$pWriter>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - HEAP32[$0>>2] = 7; - $316 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($316|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 33|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)==(2); + if ($13) { + HEAP32[$3>>2] = 0; + $83 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($83|0); } - $12 = HEAP32[$pWriter>>2]|0; - $13 = ((($12)) + 568|0); - HEAP32[$pFilter>>2] = $13; - $14 = HEAP32[$pFilter>>2]|0; - $15 = ((($14)) + 16|0); - HEAP32[$pCsr>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = (_fts3IncrmergeHintLoad($16,$hint)|0); - HEAP32[$rc>>2] = $17; - while(1) { - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)==(0); - $20 = HEAP32[$nRem>>2]|0; - $21 = ($20|0)>(0); - $22 = $19 ? $21 : 0; - if (!($22)) { - break; - } - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 248|0); - $25 = HEAP32[$24>>2]|0; - $26 = $25<<10; - $27 = ($26|0)<(0); - $28 = $27 << 31 >> 31; - $29 = $nMod; - $30 = $29; - HEAP32[$30>>2] = $26; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $28; - HEAP32[$pFindLevel>>2] = 0; - HEAP32[$bUseHint>>2] = 0; - HEAP32[$iIdx>>2] = 0; - $33 = HEAP32[$1>>2]|0; - $34 = (_fts3SqlStmt($33,28,$pFindLevel,0)|0); - HEAP32[$rc>>2] = $34; - $35 = HEAP32[$pFindLevel>>2]|0; - $36 = HEAP32[$3>>2]|0; - $37 = (2)>($36|0); - $38 = HEAP32[$3>>2]|0; - $39 = $37 ? 2 : $38; - (_sqlite3_bind_int($35,1,$39)|0); - $40 = HEAP32[$pFindLevel>>2]|0; - $41 = (_sqlite3_step($40)|0); - $42 = ($41|0)==(100); - if ($42) { - $43 = HEAP32[$pFindLevel>>2]|0; - $44 = (_sqlite3_column_int64($43,0)|0); - $45 = tempRet0; - $46 = $iAbsLevel; - $47 = $46; - HEAP32[$47>>2] = $44; - $48 = (($46) + 4)|0; - $49 = $48; - HEAP32[$49>>2] = $45; - $50 = HEAP32[$pFindLevel>>2]|0; - $51 = (_sqlite3_column_int($50,1)|0); - HEAP32[$nSeg>>2] = $51; - } else { - HEAP32[$nSeg>>2] = -1; - } - $52 = HEAP32[$pFindLevel>>2]|0; - $53 = (_sqlite3_reset($52)|0); - HEAP32[$rc>>2] = $53; - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)==(0); - do { - if ($55) { - $56 = ((($hint)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)!=(0); - if ($58) { - $59 = ((($hint)) + 4|0); - $60 = HEAP32[$59>>2]|0; - HEAP32[$nHint>>2] = $60; - $61 = $iHintAbsLevel; - $62 = $61; - HEAP32[$62>>2] = 0; - $63 = (($61) + 4)|0; - $64 = $63; - HEAP32[$64>>2] = 0; - HEAP32[$nHintSeg>>2] = 0; - $65 = (_fts3IncrmergeHintPop($hint,$iHintAbsLevel,$nHintSeg)|0); - HEAP32[$rc>>2] = $65; - $66 = HEAP32[$nSeg>>2]|0; - $67 = ($66|0)<(0); - if (!($67)) { - $68 = $iAbsLevel; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = $nMod; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (($74) + 4)|0; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (___remdi3(($70|0),($73|0),($76|0),($79|0))|0); - $81 = tempRet0; - $82 = $iHintAbsLevel; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (($82) + 4)|0; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = $nMod; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (___remdi3(($84|0),($87|0),($90|0),($93|0))|0); - $95 = tempRet0; - $96 = ($81|0)>($95|0); - $97 = ($80>>>0)>=($94>>>0); - $98 = ($81|0)==($95|0); - $99 = $98 & $97; - $100 = $96 | $99; - if (!($100)) { - $112 = HEAP32[$nHint>>2]|0; - $113 = ((($hint)) + 4|0); - HEAP32[$113>>2] = $112; - break; - } - } - $101 = $iHintAbsLevel; - $102 = $101; - $103 = HEAP32[$102>>2]|0; - $104 = (($101) + 4)|0; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = $iAbsLevel; - $108 = $107; - HEAP32[$108>>2] = $103; - $109 = (($107) + 4)|0; - $110 = $109; - HEAP32[$110>>2] = $106; - $111 = HEAP32[$nHintSeg>>2]|0; - HEAP32[$nSeg>>2] = $111; - HEAP32[$bUseHint>>2] = 1; - HEAP32[$bDirtyHint>>2] = 1; + $14 = HEAP32[$4>>2]|0; + $15 = (_sqlite3PcachePagecount($14)|0); + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)>($18|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$7>>2] = $22; + while(1) { + $23 = HEAP32[$7>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { + break; + } + $25 = HEAP32[$7>>2]|0; + $26 = ((($25)) + 26|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27 << 16 >> 16; + $29 = ($28|0)!=(0); + if (!($29)) { + $30 = HEAP32[$7>>2]|0; + $31 = ((($30)) + 24|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32&65535; + $34 = $33 & 8; + $35 = ($34|0)!=(0); + if (!($35)) { + break; } } - } while(0); - $114 = HEAP32[$nSeg>>2]|0; - $115 = ($114|0)<(0); - if ($115) { - break; + $36 = HEAP32[$7>>2]|0; + $37 = ((($36)) + 36|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$7>>2] = $38; } - $116 = HEAP32[$pWriter>>2]|0; - _memset(($116|0),0,640)|0; - $117 = HEAP32[$pFilter>>2]|0; - $118 = ((($117)) + 12|0); - HEAP32[$118>>2] = 1; - $119 = HEAP32[$rc>>2]|0; - $120 = ($119|0)==(0); - do { - if ($120) { - $121 = HEAP32[$1>>2]|0; - $122 = $iAbsLevel; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = (_fts3IncrmergeOutputIdx($121,$124,$127,$iIdx)|0); - HEAP32[$rc>>2] = $128; - $129 = HEAP32[$iIdx>>2]|0; - $130 = ($129|0)==(0); - if (!($130)) { - $131 = HEAP32[$bUseHint>>2]|0; - $132 = ($131|0)!=(0); - $133 = HEAP32[$iIdx>>2]|0; - $134 = ($133|0)==(1); - $or$cond = $132 & $134; - if (!($or$cond)) { - break; + $39 = HEAP32[$7>>2]|0; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 8|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$7>>2]|0; + $43 = ($42|0)!=(0|0); + L14: do { + if (!($43)) { + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$7>>2] = $46; + while(1) { + $47 = HEAP32[$7>>2]|0; + $48 = ($47|0)!=(0|0); + if (!($48)) { + break L14; } - } - HEAP32[$bIgnore>>2] = 0; - $135 = HEAP32[$1>>2]|0; - $136 = $iAbsLevel; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = (($136) + 4)|0; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = (_i64Add(($138|0),($141|0),1,0)|0); - $143 = tempRet0; - $144 = (_fts3SegmentIsMaxLevel($135,$142,$143,$bIgnore)|0); - HEAP32[$rc>>2] = $144; - $145 = HEAP32[$bIgnore>>2]|0; - $146 = ($145|0)!=(0); - if ($146) { - $147 = HEAP32[$pFilter>>2]|0; - $148 = ((($147)) + 12|0); - $149 = HEAP32[$148>>2]|0; - $150 = $149 | 2; - HEAP32[$148>>2] = $150; + $49 = HEAP32[$7>>2]|0; + $50 = ((($49)) + 26|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51 << 16 >> 16; + $53 = ($52|0)!=(0); + if (!($53)) { + break L14; + } + $54 = HEAP32[$7>>2]|0; + $55 = ((($54)) + 36|0); + $56 = HEAP32[$55>>2]|0; + HEAP32[$7>>2] = $56; } } } while(0); - $151 = HEAP32[$rc>>2]|0; - $152 = ($151|0)==(0); - if ($152) { - $153 = HEAP32[$1>>2]|0; - $154 = $iAbsLevel; - $155 = $154; - $156 = HEAP32[$155>>2]|0; - $157 = (($154) + 4)|0; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = HEAP32[$nSeg>>2]|0; - $161 = HEAP32[$pCsr>>2]|0; - $162 = (_fts3IncrmergeCsr($153,$156,$159,$160,$161)|0); - HEAP32[$rc>>2] = $162; - } - $163 = HEAP32[$rc>>2]|0; - $164 = (0)==($163|0); - if ($164) { - $165 = HEAP32[$pCsr>>2]|0; - $166 = ((($165)) + 4|0); - $167 = HEAP32[$166>>2]|0; - $168 = HEAP32[$nSeg>>2]|0; - $169 = ($167|0)==($168|0); - if ($169) { - $170 = HEAP32[$1>>2]|0; - $171 = HEAP32[$pCsr>>2]|0; - $172 = HEAP32[$pFilter>>2]|0; - $173 = (_sqlite3Fts3SegReaderStart($170,$171,$172)|0); - HEAP32[$rc>>2] = $173; - $174 = (0)==($173|0); - if ($174) { - $175 = HEAP32[$1>>2]|0; - $176 = HEAP32[$pCsr>>2]|0; - $177 = (_sqlite3Fts3SegReaderStep($175,$176)|0); - HEAP32[$rc>>2] = $177; - $178 = (100)==($177|0); - if ($178) { - $179 = HEAP32[$bUseHint>>2]|0; - $180 = ($179|0)!=(0); - $181 = HEAP32[$iIdx>>2]|0; - $182 = ($181|0)>(0); - $or$cond3 = $180 & $182; - if ($or$cond3) { - $183 = HEAP32[$pCsr>>2]|0; - $184 = ((($183)) + 40|0); - $185 = HEAP32[$184>>2]|0; - HEAP32[$zKey>>2] = $185; - $186 = HEAP32[$pCsr>>2]|0; - $187 = ((($186)) + 44|0); - $188 = HEAP32[$187>>2]|0; - HEAP32[$nKey>>2] = $188; - $189 = HEAP32[$1>>2]|0; - $190 = $iAbsLevel; - $191 = $190; - $192 = HEAP32[$191>>2]|0; - $193 = (($190) + 4)|0; - $194 = $193; - $195 = HEAP32[$194>>2]|0; - $196 = HEAP32[$iIdx>>2]|0; - $197 = (($196) - 1)|0; - $198 = HEAP32[$zKey>>2]|0; - $199 = HEAP32[$nKey>>2]|0; - $200 = HEAP32[$pWriter>>2]|0; - $201 = (_fts3IncrmergeLoad($189,$192,$195,$197,$198,$199,$200)|0); - HEAP32[$rc>>2] = $201; - } else { - $202 = HEAP32[$1>>2]|0; - $203 = $iAbsLevel; - $204 = $203; - $205 = HEAP32[$204>>2]|0; - $206 = (($203) + 4)|0; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = HEAP32[$iIdx>>2]|0; - $210 = HEAP32[$pCsr>>2]|0; - $211 = HEAP32[$pWriter>>2]|0; - $212 = (_fts3IncrmergeWriter($202,$205,$208,$209,$210,$211)|0); - HEAP32[$rc>>2] = $212; - } - $213 = HEAP32[$rc>>2]|0; - $214 = ($213|0)==(0); - if ($214) { - $215 = HEAP32[$pWriter>>2]|0; - $216 = HEAP32[$215>>2]|0; - $217 = ($216|0)!=(0); - if ($217) { - while(1) { - $218 = HEAP32[$1>>2]|0; - $219 = HEAP32[$pWriter>>2]|0; - $220 = HEAP32[$pCsr>>2]|0; - $221 = (_fts3IncrmergeAppend($218,$219,$220)|0); - HEAP32[$rc>>2] = $221; - $222 = HEAP32[$rc>>2]|0; - $223 = ($222|0)==(0); - if ($223) { - $224 = HEAP32[$1>>2]|0; - $225 = HEAP32[$pCsr>>2]|0; - $226 = (_sqlite3Fts3SegReaderStep($224,$225)|0); - HEAP32[$rc>>2] = $226; - } - $227 = HEAP32[$pWriter>>2]|0; - $228 = ((($227)) + 4|0); - $229 = HEAP32[$228>>2]|0; - $230 = HEAP32[$nRem>>2]|0; - $231 = ($229|0)>=($230|0); - $232 = HEAP32[$rc>>2]|0; - $233 = ($232|0)==(100); - $or$cond5 = $231 & $233; - if ($or$cond5) { - HEAP32[$rc>>2] = 0; - } - $234 = HEAP32[$rc>>2]|0; - $235 = ($234|0)==(100); - if (!($235)) { - break; - } - } - $236 = HEAP32[$rc>>2]|0; - $237 = ($236|0)==(0); - if ($237) { - $238 = HEAP32[$pWriter>>2]|0; - $239 = ((($238)) + 4|0); - $240 = HEAP32[$239>>2]|0; - $241 = (1 + ($240))|0; - $242 = HEAP32[$nRem>>2]|0; - $243 = (($242) - ($241))|0; - HEAP32[$nRem>>2] = $243; - $244 = HEAP32[$1>>2]|0; - $245 = $iAbsLevel; - $246 = $245; - $247 = HEAP32[$246>>2]|0; - $248 = (($245) + 4)|0; - $249 = $248; - $250 = HEAP32[$249>>2]|0; - $251 = HEAP32[$pCsr>>2]|0; - $252 = (_fts3IncrmergeChomp($244,$247,$250,$251,$nSeg)|0); - HEAP32[$rc>>2] = $252; - $253 = HEAP32[$nSeg>>2]|0; - $254 = ($253|0)!=(0); - if ($254) { - HEAP32[$bDirtyHint>>2] = 1; - $255 = $iAbsLevel; - $256 = $255; - $257 = HEAP32[$256>>2]|0; - $258 = (($255) + 4)|0; - $259 = $258; - $260 = HEAP32[$259>>2]|0; - $261 = HEAP32[$nSeg>>2]|0; - _fts3IncrmergeHintPush($hint,$257,$260,$261,$rc); - } - } - } - } - $262 = HEAP32[$nSeg>>2]|0; - $263 = ($262|0)!=(0); - if ($263) { - $264 = HEAP32[$pWriter>>2]|0; - $265 = ((($264)) + 40|0); - $266 = $265; - $267 = $266; - $268 = HEAP32[$267>>2]|0; - $269 = (($266) + 4)|0; - $270 = $269; - $271 = HEAP32[$270>>2]|0; - $272 = (___muldi3(($268|0),($271|0),-1,-1)|0); - $273 = tempRet0; - $274 = HEAP32[$pWriter>>2]|0; - $275 = ((($274)) + 40|0); - $276 = $275; - $277 = $276; - HEAP32[$277>>2] = $272; - $278 = (($276) + 4)|0; - $279 = $278; - HEAP32[$279>>2] = $273; - } - $280 = HEAP32[$1>>2]|0; - $281 = HEAP32[$pWriter>>2]|0; - _fts3IncrmergeRelease($280,$281,$rc); - $282 = HEAP32[$nSeg>>2]|0; - $283 = ($282|0)==(0); - if ($283) { - $284 = HEAP32[$pWriter>>2]|0; - $285 = ((($284)) + 48|0); - $286 = HEAP8[$285>>0]|0; - $287 = $286&255; - $288 = ($287|0)==(0); - if ($288) { - $289 = HEAP32[$1>>2]|0; - $290 = $iAbsLevel; - $291 = $290; - $292 = HEAP32[$291>>2]|0; - $293 = (($290) + 4)|0; - $294 = $293; - $295 = HEAP32[$294>>2]|0; - $296 = (_i64Add(($292|0),($295|0),1,0)|0); - $297 = tempRet0; - $298 = HEAP32[$pWriter>>2]|0; - $299 = ((($298)) + 40|0); - $300 = $299; - $301 = $300; - $302 = HEAP32[$301>>2]|0; - $303 = (($300) + 4)|0; - $304 = $303; - $305 = HEAP32[$304>>2]|0; - (_fts3PromoteSegments($289,$296,$297,$302,$305)|0); - } - } - } - } + $57 = HEAP32[$7>>2]|0; + $58 = ($57|0)!=(0|0); + if ($58) { + $59 = HEAP32[$4>>2]|0; + $60 = ((($59)) + 36|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 40|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$7>>2]|0; + $66 = (FUNCTION_TABLE_iii[$61 & 255]($64,$65)|0); + HEAP32[$8>>2] = $66; + $67 = HEAP32[$8>>2]|0; + $68 = ($67|0)!=(0); + $69 = HEAP32[$8>>2]|0; + $70 = ($69|0)!=(5); + $or$cond = $68 & $70; + if ($or$cond) { + $71 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $71; + $83 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($83|0); } } - $306 = HEAP32[$pCsr>>2]|0; - _sqlite3Fts3SegReaderFinish($306); } - $307 = HEAP32[$bDirtyHint>>2]|0; - $308 = ($307|0)!=(0); - $309 = HEAP32[$rc>>2]|0; - $310 = ($309|0)==(0); - $or$cond7 = $308 & $310; - if ($or$cond7) { - $311 = HEAP32[$1>>2]|0; - $312 = (_fts3IncrmergeHintStore($311,$hint)|0); - HEAP32[$rc>>2] = $312; - } - $313 = HEAP32[$pWriter>>2]|0; - _sqlite3_free($313); - $314 = HEAP32[$hint>>2]|0; - _sqlite3_free($314); - $315 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $315; - $316 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($316|0); -} -function _fts3IncrmergeHintLoad($p,$pHint) { - $p = $p|0; - $pHint = $pHint|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aHint = 0, $nHint = 0, $pSelect = 0, $rc = 0, $rc2 = 0; - var label = 0, sp = 0; + $72 = HEAP32[(144)>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = ((($73)) + 44|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$5>>2]|0; + $77 = (FUNCTION_TABLE_iiii[$72 & 255]($75,$76,2)|0); + $78 = HEAP32[$6>>2]|0; + HEAP32[$78>>2] = $77; + $79 = HEAP32[$6>>2]|0; + $80 = HEAP32[$79>>2]|0; + $81 = ($80|0)==(0|0); + $82 = $81 ? 7 : 0; + HEAP32[$3>>2] = $82; + $83 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($83|0); +} +function _sqlite3PcacheFetchFinish($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, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $pSelect = sp + 16|0; - $rc = sp + 12|0; - $rc2 = sp + 8|0; - $aHint = sp + 4|0; - $nHint = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pHint; - HEAP32[$pSelect>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 4|0); - HEAP32[$3>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = (_fts3SqlStmt($4,22,$pSelect,0)|0); - HEAP32[$rc>>2] = $5; - $6 = HEAP32[$rc>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - $34 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($34|0); - } - $8 = HEAP32[$pSelect>>2]|0; - (_sqlite3_bind_int($8,1,1)|0); - $9 = HEAP32[$pSelect>>2]|0; - $10 = (_sqlite3_step($9)|0); - $11 = (100)==($10|0); - if ($11) { - $12 = HEAP32[$pSelect>>2]|0; - $13 = (_sqlite3_column_blob($12,0)|0); - HEAP32[$aHint>>2] = $13; - $14 = HEAP32[$pSelect>>2]|0; - $15 = (_sqlite3_column_bytes($14,0)|0); - HEAP32[$nHint>>2] = $15; - $16 = HEAP32[$aHint>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$nHint>>2]|0; - _blobGrowBuffer($18,$19,$rc); - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$aHint>>2]|0; - $25 = HEAP32[$nHint>>2]|0; - _memcpy(($23|0),($24|0),($25|0))|0; - $26 = HEAP32[$nHint>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 4|0); - HEAP32[$28>>2] = $26; - } - } - } - $29 = HEAP32[$pSelect>>2]|0; - $30 = (_sqlite3_reset($29)|0); - HEAP32[$rc2>>2] = $30; - $31 = HEAP32[$rc>>2]|0; - $32 = ($31|0)==(0); - if (!($32)) { - $34 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($34|0); + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$6>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$7>>2] = $10; + $11 = HEAP32[$7>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + $14 = HEAP32[$4>>2]|0; + if ($13) { + $18 = ((($14)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($19) + 1)|0; + HEAP32[$18>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = ((($21)) + 26|0); + $23 = HEAP16[$22>>1]|0; + $24 = (($23) + 1)<<16>>16; + HEAP16[$22>>1] = $24; + $25 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $25; + $26 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($26|0); + } else { + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = (_pcacheFetchFinishWithInit($14,$15,$16)|0); + HEAP32[$3>>2] = $17; + $26 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($26|0); } - $33 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $33; - $34 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($34|0); + return (0)|0; } -function _fts3IncrmergeHintPop($pHint,$piAbsLevel,$pnInput) { - $pHint = $pHint|0; - $piAbsLevel = $piAbsLevel|0; - $pnInput = $pnInput|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $i = 0, $nHint = 0, label = 0, sp = 0; +function _addToSavepointBitvecs($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $nHint = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $pHint; - HEAP32[$2>>2] = $piAbsLevel; - HEAP32[$3>>2] = $pnInput; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$nHint>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) - 2)|0; - HEAP32[$i>>2] = $10; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 0; + HEAP32[$4>>2] = 0; while(1) { - $11 = HEAP32[$i>>2]|0; - $12 = ($11|0)>(0); - if (!($12)) { - break; - } - $13 = HEAP32[$i>>2]|0; - $14 = (($13) - 1)|0; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($14)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18 << 24 >> 24; - $20 = $19 & 128; - $21 = ($20|0)!=(0); - if (!($21)) { + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 104|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($7|0)<($10|0); + if (!($11)) { break; } - $22 = HEAP32[$i>>2]|0; - $23 = (($22) + -1)|0; - HEAP32[$i>>2] = $23; - } - while(1) { - $24 = HEAP32[$i>>2]|0; - $25 = ($24|0)>(0); - if ($25) { - $26 = HEAP32[$i>>2]|0; - $27 = (($26) - 1)|0; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + ($27)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31 << 24 >> 24; - $33 = $32 & 128; - $34 = ($33|0)!=(0); - $71 = $34; - } else { - $71 = 0; - } - $35 = HEAP32[$i>>2]|0; - if (!($71)) { - break; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 100|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (($14) + (($15*48)|0)|0); + HEAP32[$6>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 20|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($17>>>0)<=($20>>>0); + if ($21) { + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = (_sqlite3BitvecSet($24,$25)|0); + $27 = HEAP32[$5>>2]|0; + $28 = $27 | $26; + HEAP32[$5>>2] = $28; } - $36 = (($35) + -1)|0; - HEAP32[$i>>2] = $36; + $29 = HEAP32[$4>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$4>>2] = $30; } - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 4|0); - HEAP32[$38>>2] = $35; - $39 = HEAP32[$i>>2]|0; - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + ($39)|0); - $43 = HEAP32[$2>>2]|0; - $44 = (_sqlite3Fts3GetVarint($42,$43)|0); - $45 = HEAP32[$i>>2]|0; - $46 = (($45) + ($44))|0; - HEAP32[$i>>2] = $46; - $47 = HEAP32[$i>>2]|0; - $48 = HEAP32[$1>>2]|0; - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($47)|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = $52 & 128; - $54 = ($53|0)!=(0); - $55 = HEAP32[$i>>2]|0; - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + ($55)|0); - if ($54) { - $59 = HEAP32[$3>>2]|0; - $60 = (_sqlite3Fts3GetVarint32($58,$59)|0); - $66 = $60; + $31 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($31|0); +} +function _readDbPage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp; + $9 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$5>>2] = $15; + HEAP32[$6>>2] = 0; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 160|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$7>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 216|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3WalReadFrame($23,$24,$25,$28)|0); + HEAP32[$6>>2] = $29; } else { - $61 = HEAP8[$58>>0]|0; - $62 = $61&255; - $63 = HEAP32[$3>>2]|0; - HEAP32[$63>>2] = $62; - $66 = 1; - } - $64 = HEAP32[$i>>2]|0; - $65 = (($64) + ($66))|0; - HEAP32[$i>>2] = $65; - $67 = HEAP32[$i>>2]|0; - $68 = HEAP32[$nHint>>2]|0; - $69 = ($67|0)!=($68|0); - if ($69) { - HEAP32[$0>>2] = 267; - $70 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($70|0); + $30 = HEAP32[$5>>2]|0; + $31 = (($30) - 1)|0; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 160|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<(0); + $36 = $35 << 31 >> 31; + $37 = (___muldi3(($31|0),0,($34|0),($36|0))|0); + $38 = tempRet0; + $39 = $8; + $40 = $39; + HEAP32[$40>>2] = $37; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 64|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$7>>2]|0; + $50 = $8; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (_sqlite3OsRead($45,$48,$49,$52,$55)|0); + HEAP32[$6>>2] = $56; + $57 = HEAP32[$6>>2]|0; + $58 = ($57|0)==(522); + $$ = $58 ? 0 : $56; + HEAP32[$6>>2] = $$; + } + $59 = HEAP32[$5>>2]|0; + $60 = ($59|0)==(1); + if (!($60)) { + $72 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($72|0); + } + $61 = HEAP32[$6>>2]|0; + $62 = ($61|0)!=(0); + if ($62) { + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 112|0); + ;HEAP32[$64>>2]=4294967295|0;HEAP32[$64+4>>2]=4294967295|0;HEAP32[$64+8>>2]=4294967295|0;HEAP32[$64+12>>2]=4294967295|0; + $72 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($72|0); } else { - HEAP32[$0>>2] = 0; - $70 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($70|0); + $65 = HEAP32[$2>>2]|0; + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($67)) + 24|0); + HEAP32[$9>>2] = $68; + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 112|0); + $71 = HEAP32[$9>>2]|0; + dest=$70; src=$71; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $72 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($72|0); } return (0)|0; } -function _fts3IncrmergeOutputIdx($p,$0,$1,$piIdx) { - $p = $p|0; +function _sqlite3PcacheDrop($0) { $0 = $0|0; - $1 = $1|0; - $piIdx = $piIdx|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pOutputIdx = 0, $rc = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp; - $4 = sp + 16|0; - $rc = sp + 12|0; - $pOutputIdx = sp + 8|0; - HEAP32[$2>>2] = $p; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $piIdx; - HEAP32[$pOutputIdx>>2] = 0; - $9 = HEAP32[$2>>2]|0; - $10 = (_fts3SqlStmt($9,8,$pOutputIdx,0)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)==(0); - if (!($12)) { - $28 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($28|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 2; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + _pcacheManageDirtyList($8,1); } - $13 = HEAP32[$pOutputIdx>>2]|0; - $14 = $3; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (_i64Add(($16|0),($19|0),1,0)|0); - $21 = tempRet0; - (_sqlite3_bind_int64($13,1,$20,$21)|0); - $22 = HEAP32[$pOutputIdx>>2]|0; - (_sqlite3_step($22)|0); - $23 = HEAP32[$pOutputIdx>>2]|0; - $24 = (_sqlite3_column_int($23,0)|0); - $25 = HEAP32[$4>>2]|0; - HEAP32[$25>>2] = $24; - $26 = HEAP32[$pOutputIdx>>2]|0; - $27 = (_sqlite3_reset($26)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($28|0); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 28|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + -1)|0; + HEAP32[$12>>2] = $14; + $15 = HEAP32[(148)>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$1>>2]|0; + $22 = HEAP32[$21>>2]|0; + FUNCTION_TABLE_viii[$15 & 255]($20,$22,1); + STACKTOP = sp;return; +} +function _pagerUnlockIfUnused($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 128|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 212|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3PcacheRefCount($8)|0); + $10 = ($9|0)==(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[$1>>2]|0; + _pagerUnlockAndRollback($11); + STACKTOP = sp;return; } -function _fts3SegmentIsMaxLevel($p,$0,$1,$pbMax) { - $p = $p|0; +function _sqlite3WalReadFrame($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - $pbMax = $pbMax|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pStmt = 0, $rc = 0, label = 0, sp = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp; - $5 = sp + 16|0; - $pStmt = sp + 12|0; - $rc = sp + 8|0; - HEAP32[$3>>2] = $p; - $6 = $4; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$5>>2] = $pbMax; - $10 = HEAP32[$3>>2]|0; - $11 = (_fts3SqlStmt($10,15,$pStmt,0)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $14; - $48 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($48|0); - } - $15 = HEAP32[$pStmt>>2]|0; - $16 = $4; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + 4)|0; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (_i64Add(($18|0),($21|0),1,0)|0); - $23 = tempRet0; - (_sqlite3_bind_int64($15,1,$22,$23)|0); - $24 = HEAP32[$pStmt>>2]|0; - $25 = $4; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (___divdi3(($27|0),($30|0),1024,0)|0); + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 52|0); + $12 = ((($11)) + 14|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + HEAP32[$8>>2] = $14; + $15 = HEAP32[$8>>2]|0; + $16 = $15 & 65024; + $17 = HEAP32[$8>>2]|0; + $18 = $17 & 1; + $19 = $18 << 16; + $20 = (($16) + ($19))|0; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = (($21) - 1)|0; + $23 = HEAP32[$8>>2]|0; + $24 = (($23) + 24)|0; + $25 = ($24|0)<(0); + $26 = $25 << 31 >> 31; + $27 = (___muldi3(($22|0),0,($24|0),($26|0))|0); + $28 = tempRet0; + $29 = (_i64Add(32,0,($27|0),($28|0))|0); + $30 = tempRet0; + $31 = (_i64Add(($29|0),($30|0),24,0)|0); $32 = tempRet0; - $33 = (_i64Add(($31|0),($32|0),1,0)|0); - $34 = tempRet0; - $35 = (___muldi3(($33|0),($34|0),1024,0)|0); - $36 = tempRet0; - (_sqlite3_bind_int64($24,2,$35,$36)|0); - $37 = HEAP32[$5>>2]|0; - HEAP32[$37>>2] = 0; - $38 = HEAP32[$pStmt>>2]|0; - $39 = (_sqlite3_step($38)|0); - $40 = (100)==($39|0); - if ($40) { - $41 = HEAP32[$pStmt>>2]|0; - $42 = (_sqlite3_column_type($41,0)|0); - $43 = ($42|0)==(5); - $44 = $43&1; - $45 = HEAP32[$5>>2]|0; - HEAP32[$45>>2] = $44; - } - $46 = HEAP32[$pStmt>>2]|0; - $47 = (_sqlite3_reset($46)|0); - HEAP32[$2>>2] = $47; - $48 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($48|0); + $33 = $9; + $34 = $33; + HEAP32[$34>>2] = $31; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$8>>2]|0; + $43 = ($41|0)>($42|0); + $44 = HEAP32[$8>>2]|0; + $45 = HEAP32[$6>>2]|0; + $46 = $43 ? $44 : $45; + $47 = $9; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (_sqlite3OsRead($39,$40,$46,$49,$52)|0); + STACKTOP = sp;return ($53|0); } -function _fts3IncrmergeCsr($p,$0,$1,$nSeg,$pCsr) { - $p = $p|0; +function _pcacheFetchFinishWithInit($0,$1,$2) { $0 = $0|0; $1 = $1|0; - $nSeg = $nSeg|0; - $pCsr = $pCsr|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $i = 0, $nByte = 0, $pStmt = 0, $rc = 0, $rc2 = 0, dest = 0, label = 0, sp = 0, stop = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 36|0; - $3 = sp; - $4 = sp + 32|0; - $5 = sp + 28|0; - $rc = sp + 24|0; - $pStmt = sp + 20|0; - $nByte = sp + 16|0; - $i = sp + 12|0; - $rc2 = sp + 8|0; - HEAP32[$2>>2] = $p; - $6 = $3; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$4>>2] = $nSeg; - HEAP32[$5>>2] = $pCsr; - HEAP32[$pStmt>>2] = 0; - $10 = HEAP32[$5>>2]|0; - dest=$10; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $11 = HEAP32[$4>>2]|0; - $12 = $11<<2; - HEAP32[$nByte>>2] = $12; - $13 = HEAP32[$nByte>>2]|0; - $14 = (_sqlite3_malloc($13)|0); - $15 = HEAP32[$5>>2]|0; - HEAP32[$15>>2] = $14; - $16 = HEAP32[$5>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - HEAP32[$rc>>2] = 7; - } else { - $19 = HEAP32[$5>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$nByte>>2]|0; - _memset(($20|0),0,($21|0))|0; - $22 = HEAP32[$2>>2]|0; - $23 = (_fts3SqlStmt($22,12,$pStmt,0)|0); - HEAP32[$rc>>2] = $23; - } - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(0); - if (!($25)) { - $71 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($71|0); - } - $26 = HEAP32[$pStmt>>2]|0; - $27 = $3; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - (_sqlite3_bind_int64($26,1,$29,$32)|0); - HEAP32[$i>>2] = 0; - while(1) { - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)==(0); - if (!($34)) { - break; - } - $35 = HEAP32[$pStmt>>2]|0; - $36 = (_sqlite3_step($35)|0); - $37 = ($36|0)==(100); - if (!($37)) { - break; - } - $38 = HEAP32[$i>>2]|0; - $39 = HEAP32[$4>>2]|0; - $40 = ($38|0)<($39|0); - if (!($40)) { - break; - } - $41 = HEAP32[$i>>2]|0; - $42 = HEAP32[$pStmt>>2]|0; - $43 = (_sqlite3_column_int64($42,1)|0); - $44 = tempRet0; - $45 = HEAP32[$pStmt>>2]|0; - $46 = (_sqlite3_column_int64($45,2)|0); - $47 = tempRet0; - $48 = HEAP32[$pStmt>>2]|0; - $49 = (_sqlite3_column_int64($48,3)|0); - $50 = tempRet0; - $51 = HEAP32[$pStmt>>2]|0; - $52 = (_sqlite3_column_blob($51,4)|0); - $53 = HEAP32[$pStmt>>2]|0; - $54 = (_sqlite3_column_bytes($53,4)|0); - $55 = HEAP32[$i>>2]|0; - $56 = HEAP32[$5>>2]|0; - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + ($55<<2)|0); - $59 = (_sqlite3Fts3SegReaderNew($41,0,$43,$44,$46,$47,$49,$50,$52,$54,$58)|0); - HEAP32[$rc>>2] = $59; - $60 = HEAP32[$5>>2]|0; - $61 = ((($60)) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) + 1)|0; - HEAP32[$61>>2] = $63; - $64 = HEAP32[$i>>2]|0; - $65 = (($64) + 1)|0; - HEAP32[$i>>2] = $65; - } - $66 = HEAP32[$pStmt>>2]|0; - $67 = (_sqlite3_reset($66)|0); - HEAP32[$rc2>>2] = $67; - $68 = HEAP32[$rc>>2]|0; - $69 = ($68|0)==(0); - if (!($69)) { - $71 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($71|0); - } - $70 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $70; - $71 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($71|0); + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP32[$6>>2]|0; + $11 = ((($10)) + 12|0); + ;HEAP32[$11>>2]=0|0;HEAP32[$11+4>>2]=0|0;HEAP32[$11+8>>2]=0|0;HEAP32[$11+12>>2]=0|0;HEAP32[$11+16>>2]=0|0;HEAP32[$11+20>>2]=0|0;HEAP32[$11+24>>2]=0|0; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$6>>2]|0; + HEAP32[$13>>2] = $12; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 4|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 40|0); + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 8|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 28|0); + $27 = HEAP32[$26>>2]|0; + _memset(($24|0),0,($27|0))|0; + $28 = HEAP32[$3>>2]|0; + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 28|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 20|0); + HEAP32[$33>>2] = $31; + $34 = HEAP32[$6>>2]|0; + $35 = ((($34)) + 24|0); + HEAP16[$35>>1] = 1; + $36 = HEAP32[$3>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = (_sqlite3PcacheFetchFinish($36,$37,$38)|0); + STACKTOP = sp;return ($39|0); } -function _fts3IncrmergeLoad($p,$0,$1,$iIdx,$zKey,$nKey,$pWriter) { - $p = $p|0; +function _walFramePage($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (($3) + 4096)|0; + $5 = (($4) - 4062)|0; + $6 = (($5) - 1)|0; + $7 = (($6>>>0) / 4096)&-1; + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($8|0); +} +function _walHashGet($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; - $iIdx = $iIdx|0; - $zKey = $zKey|0; - $nKey = $nKey|0; - $pWriter = $pWriter|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; - var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; - var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; - var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; - var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; - var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; - var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; - var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; - var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aBlock = 0, $aLeaf = 0, $aRoot = 0, $bAppendable = 0, $i = 0, $iEnd = 0, $iLeafEnd = 0, $iStart = 0; - var $nBlock = 0, $nHeight = 0, $nLeaf = 0, $nRoot = 0, $or$cond = 0, $or$cond3 = 0, $pNode = 0, $pSelect = 0, $rc = 0, $rc2 = 0, $reader = 0, $reader1 = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 208|0; - $2 = sp + 200|0; - $3 = sp + 196|0; - $4 = sp + 120|0; - $5 = sp + 192|0; - $6 = sp + 188|0; - $7 = sp + 184|0; - $8 = sp + 180|0; - $rc = sp + 176|0; - $pSelect = sp + 172|0; - $iStart = sp + 112|0; - $iLeafEnd = sp + 104|0; - $iEnd = sp + 96|0; - $aRoot = sp + 168|0; - $nRoot = sp + 164|0; - $rc2 = sp + 160|0; - $bAppendable = sp + 156|0; - $aLeaf = sp + 152|0; - $nLeaf = sp + 148|0; - $reader = sp + 48|0; - $i = sp + 144|0; - $nHeight = sp + 140|0; - $pNode = sp + 136|0; - $reader1 = sp; - $aBlock = sp + 132|0; - $nBlock = sp + 128|0; - HEAP32[$3>>2] = $p; - $9 = $4; - $10 = $9; - HEAP32[$10>>2] = $0; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = $1; - HEAP32[$5>>2] = $iIdx; - HEAP32[$6>>2] = $zKey; - HEAP32[$7>>2] = $nKey; - HEAP32[$8>>2] = $pWriter; - HEAP32[$pSelect>>2] = 0; - $13 = HEAP32[$3>>2]|0; - $14 = (_fts3SqlStmt($13,32,$pSelect,0)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - if ($16) { - $17 = $iStart; - $18 = $17; - HEAP32[$18>>2] = 0; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = 0; - $21 = $iLeafEnd; - $22 = $21; - HEAP32[$22>>2] = 0; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = 0; - $25 = $iEnd; - $26 = $25; - HEAP32[$26>>2] = 0; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = 0; - HEAP32[$aRoot>>2] = 0; - HEAP32[$nRoot>>2] = 0; - HEAP32[$bAppendable>>2] = 0; - $29 = HEAP32[$pSelect>>2]|0; - $30 = $4; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (_i64Add(($32|0),($35|0),1,0)|0); - $37 = tempRet0; - (_sqlite3_bind_int64($29,1,$36,$37)|0); - $38 = HEAP32[$pSelect>>2]|0; - $39 = HEAP32[$5>>2]|0; - (_sqlite3_bind_int($38,2,$39)|0); - $40 = HEAP32[$pSelect>>2]|0; - $41 = (_sqlite3_step($40)|0); - $42 = ($41|0)==(100); - $43 = HEAP32[$pSelect>>2]|0; - if (!($42)) { - $116 = (_sqlite3_reset($43)|0); - HEAP32[$2>>2] = $116; - $393 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($393|0); - } - $44 = (_sqlite3_column_int64($43,1)|0); - $45 = tempRet0; - $46 = $iStart; - $47 = $46; - HEAP32[$47>>2] = $44; - $48 = (($46) + 4)|0; - $49 = $48; - HEAP32[$49>>2] = $45; - $50 = HEAP32[$pSelect>>2]|0; - $51 = (_sqlite3_column_int64($50,2)|0); - $52 = tempRet0; - $53 = $iLeafEnd; - $54 = $53; - HEAP32[$54>>2] = $51; - $55 = (($53) + 4)|0; - $56 = $55; - HEAP32[$56>>2] = $52; - $57 = HEAP32[$pSelect>>2]|0; - $58 = HEAP32[$8>>2]|0; - $59 = ((($58)) + 40|0); - _fts3ReadEndBlockField($57,3,$iEnd,$59); - $60 = HEAP32[$8>>2]|0; - $61 = ((($60)) + 40|0); - $62 = $61; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)<(0); - if ($68) { - $69 = HEAP32[$8>>2]|0; - $70 = ((($69)) + 40|0); - $71 = $70; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = (($71) + 4)|0; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (___muldi3(($73|0),($76|0),-1,-1)|0); - $78 = tempRet0; - $79 = HEAP32[$8>>2]|0; - $80 = ((($79)) + 40|0); - $81 = $80; - $82 = $81; - HEAP32[$82>>2] = $77; - $83 = (($81) + 4)|0; - $84 = $83; - HEAP32[$84>>2] = $78; - } - $85 = HEAP32[$8>>2]|0; - $86 = ((($85)) + 40|0); - $87 = $86; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $93 = ($89|0)==(0); - $94 = ($92|0)==(0); - $95 = $93 & $94; - $96 = $95&1; - $97 = $96&255; - $98 = HEAP32[$8>>2]|0; - $99 = ((($98)) + 48|0); - HEAP8[$99>>0] = $97; - $100 = HEAP32[$pSelect>>2]|0; - $101 = (_sqlite3_column_bytes($100,4)|0); - HEAP32[$nRoot>>2] = $101; - $102 = HEAP32[$pSelect>>2]|0; - $103 = (_sqlite3_column_blob($102,4)|0); - HEAP32[$aRoot>>2] = $103; - $104 = HEAP32[$3>>2]|0; - $105 = $iEnd; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (_fts3IsAppendable($104,$107,$110,$bAppendable)|0); - HEAP32[$rc>>2] = $111; - $112 = HEAP32[$rc>>2]|0; - $113 = ($112|0)==(0); - $114 = HEAP32[$bAppendable>>2]|0; - $115 = ($114|0)!=(0); - $or$cond = $113 & $115; - if ($or$cond) { - HEAP32[$aLeaf>>2] = 0; - HEAP32[$nLeaf>>2] = 0; - $117 = HEAP32[$3>>2]|0; - $118 = $iLeafEnd; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = (($118) + 4)|0; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = (_sqlite3Fts3ReadBlock($117,$120,$123,$aLeaf,$nLeaf,0)|0); - HEAP32[$rc>>2] = $124; - $125 = HEAP32[$rc>>2]|0; - $126 = ($125|0)==(0); - if ($126) { - $127 = HEAP32[$aLeaf>>2]|0; - $128 = HEAP32[$nLeaf>>2]|0; - $129 = (_nodeReaderInit($reader,$127,$128)|0); - HEAP32[$rc>>2] = $129; - while(1) { - $130 = HEAP32[$rc>>2]|0; - $131 = ($130|0)==(0); - $132 = HEAP32[$reader>>2]|0; - $133 = ($132|0)!=(0|0); - $134 = $131 ? $133 : 0; - if (!($134)) { - break; - } - $135 = (_nodeReaderNext($reader)|0); - HEAP32[$rc>>2] = $135; - } - $136 = HEAP32[$6>>2]|0; - $137 = HEAP32[$7>>2]|0; - $138 = ((($reader)) + 24|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($reader)) + 24|0); - $141 = ((($140)) + 4|0); - $142 = HEAP32[$141>>2]|0; - $143 = (_fts3TermCmp($136,$137,$139,$142)|0); - $144 = ($143|0)<=(0); - if ($144) { - HEAP32[$bAppendable>>2] = 0; - } - _nodeReaderRelease($reader); - } - $145 = HEAP32[$aLeaf>>2]|0; - _sqlite3_free($145); - } - $146 = HEAP32[$rc>>2]|0; - $147 = ($146|0)==(0); - $148 = HEAP32[$bAppendable>>2]|0; - $149 = ($148|0)!=(0); - $or$cond3 = $147 & $149; - L23: do { - if ($or$cond3) { - $150 = HEAP32[$aRoot>>2]|0; - $151 = HEAP8[$150>>0]|0; - $152 = $151 << 24 >> 24; - HEAP32[$nHeight>>2] = $152; - $153 = $iEnd; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = (($153) + 4)|0; - $157 = $156; - $158 = HEAP32[$157>>2]|0; - $159 = $iStart; - $160 = $159; - $161 = HEAP32[$160>>2]|0; - $162 = (($159) + 4)|0; - $163 = $162; - $164 = HEAP32[$163>>2]|0; - $165 = (_i64Subtract(($155|0),($158|0),($161|0),($164|0))|0); - $166 = tempRet0; - $167 = (_i64Add(($165|0),($166|0),1,0)|0); - $168 = tempRet0; - $169 = (($167|0) / 16)&-1; - $170 = HEAP32[$8>>2]|0; - HEAP32[$170>>2] = $169; - $171 = $iStart; - $172 = $171; - $173 = HEAP32[$172>>2]|0; - $174 = (($171) + 4)|0; - $175 = $174; - $176 = HEAP32[$175>>2]|0; - $177 = HEAP32[$8>>2]|0; - $178 = ((($177)) + 24|0); - $179 = $178; - $180 = $179; - HEAP32[$180>>2] = $173; - $181 = (($179) + 4)|0; - $182 = $181; - HEAP32[$182>>2] = $176; - $183 = $iEnd; - $184 = $183; - $185 = HEAP32[$184>>2]|0; - $186 = (($183) + 4)|0; - $187 = $186; - $188 = HEAP32[$187>>2]|0; - $189 = HEAP32[$8>>2]|0; - $190 = ((($189)) + 32|0); - $191 = $190; - $192 = $191; - HEAP32[$192>>2] = $185; - $193 = (($191) + 4)|0; - $194 = $193; - HEAP32[$194>>2] = $188; - $195 = $4; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = HEAP32[$8>>2]|0; - $202 = ((($201)) + 8|0); - $203 = $202; - $204 = $203; - HEAP32[$204>>2] = $197; - $205 = (($203) + 4)|0; - $206 = $205; - HEAP32[$206>>2] = $200; - $207 = HEAP32[$5>>2]|0; - $208 = HEAP32[$8>>2]|0; - $209 = ((($208)) + 16|0); - HEAP32[$209>>2] = $207; - $210 = HEAP32[$nHeight>>2]|0; - $211 = (($210) + 1)|0; - HEAP32[$i>>2] = $211; - while(1) { - $212 = HEAP32[$i>>2]|0; - $213 = ($212|0)<(16); - if (!($213)) { - break; - } - $214 = HEAP32[$8>>2]|0; - $215 = ((($214)) + 24|0); - $216 = $215; - $217 = $216; - $218 = HEAP32[$217>>2]|0; - $219 = (($216) + 4)|0; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = HEAP32[$i>>2]|0; - $223 = HEAP32[$8>>2]|0; - $224 = HEAP32[$223>>2]|0; - $225 = Math_imul($222, $224)|0; - $226 = ($225|0)<(0); - $227 = $226 << 31 >> 31; - $228 = (_i64Add(($218|0),($221|0),($225|0),($227|0))|0); - $229 = tempRet0; - $230 = HEAP32[$i>>2]|0; - $231 = HEAP32[$8>>2]|0; - $232 = ((($231)) + 56|0); - $233 = (($232) + ($230<<5)|0); - $234 = $233; - $235 = $234; - HEAP32[$235>>2] = $228; - $236 = (($234) + 4)|0; - $237 = $236; - HEAP32[$237>>2] = $229; - $238 = HEAP32[$i>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$i>>2] = $239; - } - $240 = HEAP32[$nHeight>>2]|0; - $241 = HEAP32[$8>>2]|0; - $242 = ((($241)) + 56|0); - $243 = (($242) + ($240<<5)|0); - HEAP32[$pNode>>2] = $243; - $244 = HEAP32[$8>>2]|0; - $245 = ((($244)) + 24|0); - $246 = $245; - $247 = $246; - $248 = HEAP32[$247>>2]|0; - $249 = (($246) + 4)|0; - $250 = $249; - $251 = HEAP32[$250>>2]|0; - $252 = HEAP32[$8>>2]|0; - $253 = HEAP32[$252>>2]|0; - $254 = HEAP32[$nHeight>>2]|0; - $255 = Math_imul($253, $254)|0; - $256 = ($255|0)<(0); - $257 = $256 << 31 >> 31; - $258 = (_i64Add(($248|0),($251|0),($255|0),($257|0))|0); - $259 = tempRet0; - $260 = HEAP32[$pNode>>2]|0; - $261 = $260; - $262 = $261; - HEAP32[$262>>2] = $258; - $263 = (($261) + 4)|0; - $264 = $263; - HEAP32[$264>>2] = $259; - $265 = HEAP32[$pNode>>2]|0; - $266 = ((($265)) + 20|0); - $267 = HEAP32[$nRoot>>2]|0; - $268 = HEAP32[$3>>2]|0; - $269 = ((($268)) + 224|0); - $270 = HEAP32[$269>>2]|0; - $271 = ($267|0)>($270|0); - if ($271) { - $272 = HEAP32[$nRoot>>2]|0; - $276 = $272; - } else { - $273 = HEAP32[$3>>2]|0; - $274 = ((($273)) + 224|0); - $275 = HEAP32[$274>>2]|0; - $276 = $275; - } - _blobGrowBuffer($266,$276,$rc); - $277 = HEAP32[$rc>>2]|0; - $278 = ($277|0)==(0); - if ($278) { - $279 = HEAP32[$pNode>>2]|0; - $280 = ((($279)) + 20|0); - $281 = HEAP32[$280>>2]|0; - $282 = HEAP32[$aRoot>>2]|0; - $283 = HEAP32[$nRoot>>2]|0; - _memcpy(($281|0),($282|0),($283|0))|0; - $284 = HEAP32[$nRoot>>2]|0; - $285 = HEAP32[$pNode>>2]|0; - $286 = ((($285)) + 20|0); - $287 = ((($286)) + 4|0); - HEAP32[$287>>2] = $284; - } - $288 = HEAP32[$nHeight>>2]|0; - HEAP32[$i>>2] = $288; - while(1) { - $289 = HEAP32[$i>>2]|0; - $290 = ($289|0)>=(0); - $291 = HEAP32[$rc>>2]|0; - $292 = ($291|0)==(0); - $293 = $290 ? $292 : 0; - if (!($293)) { - break L23; - } - $294 = HEAP32[$i>>2]|0; - $295 = HEAP32[$8>>2]|0; - $296 = ((($295)) + 56|0); - $297 = (($296) + ($294<<5)|0); - HEAP32[$pNode>>2] = $297; - $298 = HEAP32[$pNode>>2]|0; - $299 = ((($298)) + 20|0); - $300 = HEAP32[$299>>2]|0; - $301 = HEAP32[$pNode>>2]|0; - $302 = ((($301)) + 20|0); - $303 = ((($302)) + 4|0); - $304 = HEAP32[$303>>2]|0; - $305 = (_nodeReaderInit($reader1,$300,$304)|0); - HEAP32[$rc>>2] = $305; - while(1) { - $306 = HEAP32[$reader1>>2]|0; - $307 = ($306|0)!=(0|0); - $308 = HEAP32[$rc>>2]|0; - $309 = ($308|0)==(0); - $310 = $307 ? $309 : 0; - if (!($310)) { - break; - } - $311 = (_nodeReaderNext($reader1)|0); - HEAP32[$rc>>2] = $311; - } - $312 = HEAP32[$pNode>>2]|0; - $313 = ((($312)) + 8|0); - $314 = ((($reader1)) + 24|0); - $315 = ((($314)) + 4|0); - $316 = HEAP32[$315>>2]|0; - _blobGrowBuffer($313,$316,$rc); - $317 = HEAP32[$rc>>2]|0; - $318 = ($317|0)==(0); - if ($318) { - $319 = HEAP32[$pNode>>2]|0; - $320 = ((($319)) + 8|0); - $321 = HEAP32[$320>>2]|0; - $322 = ((($reader1)) + 24|0); - $323 = HEAP32[$322>>2]|0; - $324 = ((($reader1)) + 24|0); - $325 = ((($324)) + 4|0); - $326 = HEAP32[$325>>2]|0; - _memcpy(($321|0),($323|0),($326|0))|0; - $327 = ((($reader1)) + 24|0); - $328 = ((($327)) + 4|0); - $329 = HEAP32[$328>>2]|0; - $330 = HEAP32[$pNode>>2]|0; - $331 = ((($330)) + 8|0); - $332 = ((($331)) + 4|0); - HEAP32[$332>>2] = $329; - $333 = HEAP32[$i>>2]|0; - $334 = ($333|0)>(0); - if ($334) { - HEAP32[$aBlock>>2] = 0; - HEAP32[$nBlock>>2] = 0; - $335 = HEAP32[$i>>2]|0; - $336 = (($335) - 1)|0; - $337 = HEAP32[$8>>2]|0; - $338 = ((($337)) + 56|0); - $339 = (($338) + ($336<<5)|0); - HEAP32[$pNode>>2] = $339; - $340 = ((($reader1)) + 16|0); - $341 = $340; - $342 = $341; - $343 = HEAP32[$342>>2]|0; - $344 = (($341) + 4)|0; - $345 = $344; - $346 = HEAP32[$345>>2]|0; - $347 = HEAP32[$pNode>>2]|0; - $348 = $347; - $349 = $348; - HEAP32[$349>>2] = $343; - $350 = (($348) + 4)|0; - $351 = $350; - HEAP32[$351>>2] = $346; - $352 = HEAP32[$3>>2]|0; - $353 = ((($reader1)) + 16|0); - $354 = $353; - $355 = $354; - $356 = HEAP32[$355>>2]|0; - $357 = (($354) + 4)|0; - $358 = $357; - $359 = HEAP32[$358>>2]|0; - $360 = (_sqlite3Fts3ReadBlock($352,$356,$359,$aBlock,$nBlock,0)|0); - HEAP32[$rc>>2] = $360; - $361 = HEAP32[$pNode>>2]|0; - $362 = ((($361)) + 20|0); - $363 = HEAP32[$nBlock>>2]|0; - $364 = HEAP32[$3>>2]|0; - $365 = ((($364)) + 224|0); - $366 = HEAP32[$365>>2]|0; - $367 = ($363|0)>($366|0); - if ($367) { - $368 = HEAP32[$nBlock>>2]|0; - $372 = $368; - } else { - $369 = HEAP32[$3>>2]|0; - $370 = ((($369)) + 224|0); - $371 = HEAP32[$370>>2]|0; - $372 = $371; - } - _blobGrowBuffer($362,$372,$rc); - $373 = HEAP32[$rc>>2]|0; - $374 = ($373|0)==(0); - if ($374) { - $375 = HEAP32[$pNode>>2]|0; - $376 = ((($375)) + 20|0); - $377 = HEAP32[$376>>2]|0; - $378 = HEAP32[$aBlock>>2]|0; - $379 = HEAP32[$nBlock>>2]|0; - _memcpy(($377|0),($378|0),($379|0))|0; - $380 = HEAP32[$nBlock>>2]|0; - $381 = HEAP32[$pNode>>2]|0; - $382 = ((($381)) + 20|0); - $383 = ((($382)) + 4|0); - HEAP32[$383>>2] = $380; - } - $384 = HEAP32[$aBlock>>2]|0; - _sqlite3_free($384); - } - } - _nodeReaderRelease($reader1); - $385 = HEAP32[$i>>2]|0; - $386 = (($385) + -1)|0; - HEAP32[$i>>2] = $386; - } - } - } while(0); - $387 = HEAP32[$pSelect>>2]|0; - $388 = (_sqlite3_reset($387)|0); - HEAP32[$rc2>>2] = $388; - $389 = HEAP32[$rc>>2]|0; - $390 = ($389|0)==(0); - if ($390) { - $391 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $391; - } - } - $392 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $392; - $393 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($393|0); + STACKTOP = STACKTOP + 48|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = (_walIndexPage($14,$15,$11)|0); + HEAP32[$10>>2] = $16; + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(0); + if (!($18)) { + $36 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($36|0); + } + $19 = HEAP32[$11>>2]|0; + $20 = ((($19)) + 16384|0); + HEAP32[$13>>2] = $20; + $21 = HEAP32[$6>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $23 = HEAP32[$11>>2]|0; + $24 = ((($23)) + 136|0); + HEAP32[$11>>2] = $24; + HEAP32[$12>>2] = 0; + } else { + $25 = HEAP32[$6>>2]|0; + $26 = (($25) - 1)|0; + $27 = $26<<12; + $28 = (4062 + ($27))|0; + HEAP32[$12>>2] = $28; + } + $29 = HEAP32[$11>>2]|0; + $30 = ((($29)) + -4|0); + $31 = HEAP32[$8>>2]|0; + HEAP32[$31>>2] = $30; + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$7>>2]|0; + HEAP32[$33>>2] = $32; + $34 = HEAP32[$12>>2]|0; + $35 = HEAP32[$9>>2]|0; + HEAP32[$35>>2] = $34; + $36 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($36|0); } -function _fts3IncrmergeWriter($p,$0,$1,$iIdx,$pCsr,$pWriter) { - $p = $p|0; +function _walHash($0) { $0 = $0|0; - $1 = $1|0; - $iIdx = $iIdx|0; - $pCsr = $pCsr|0; - $pWriter = $pWriter|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $nLeafEst = 0, $pFirstBlock = 0, $pLeafEst = 0, $rc = 0, label = 0, sp = 0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp; - $5 = sp + 36|0; - $6 = sp + 32|0; - $7 = sp + 28|0; - $rc = sp + 24|0; - $i = sp + 20|0; - $nLeafEst = sp + 16|0; - $pLeafEst = sp + 12|0; - $pFirstBlock = sp + 8|0; - HEAP32[$3>>2] = $p; - $8 = $4; - $9 = $8; - HEAP32[$9>>2] = $0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $1; - HEAP32[$5>>2] = $iIdx; - HEAP32[$6>>2] = $pCsr; - HEAP32[$7>>2] = $pWriter; - HEAP32[$nLeafEst>>2] = 0; - HEAP32[$pLeafEst>>2] = 0; - HEAP32[$pFirstBlock>>2] = 0; - $12 = HEAP32[$3>>2]|0; - $13 = (_fts3SqlStmt($12,29,$pLeafEst,0)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)==(0); - if ($15) { - $16 = HEAP32[$pLeafEst>>2]|0; - $17 = $4; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - (_sqlite3_bind_int64($16,1,$19,$22)|0); - $23 = HEAP32[$pLeafEst>>2]|0; - $24 = HEAP32[$6>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)<(0); - $28 = $27 << 31 >> 31; - (_sqlite3_bind_int64($23,2,$26,$28)|0); - $29 = HEAP32[$pLeafEst>>2]|0; - $30 = (_sqlite3_step($29)|0); - $31 = (100)==($30|0); - if ($31) { - $32 = HEAP32[$pLeafEst>>2]|0; - $33 = (_sqlite3_column_int($32,0)|0); - HEAP32[$nLeafEst>>2] = $33; - } - $34 = HEAP32[$pLeafEst>>2]|0; - $35 = (_sqlite3_reset($34)|0); - HEAP32[$rc>>2] = $35; - } - $36 = HEAP32[$rc>>2]|0; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $38; - $152 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($152|0); - } - $39 = HEAP32[$3>>2]|0; - $40 = (_fts3SqlStmt($39,10,$pFirstBlock,0)|0); - HEAP32[$rc>>2] = $40; - $41 = HEAP32[$rc>>2]|0; - $42 = ($41|0)==(0); - if ($42) { - $43 = HEAP32[$pFirstBlock>>2]|0; - $44 = (_sqlite3_step($43)|0); - $45 = (100)==($44|0); - if ($45) { - $46 = HEAP32[$pFirstBlock>>2]|0; - $47 = (_sqlite3_column_int64($46,0)|0); - $48 = tempRet0; - $49 = HEAP32[$7>>2]|0; - $50 = ((($49)) + 24|0); - $51 = $50; - $52 = $51; - HEAP32[$52>>2] = $47; - $53 = (($51) + 4)|0; - $54 = $53; - HEAP32[$54>>2] = $48; - $55 = HEAP32[$7>>2]|0; - $56 = ((($55)) + 24|0); - $57 = $56; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (_i64Subtract(($59|0),($62|0),1,0)|0); - $64 = tempRet0; - $65 = HEAP32[$7>>2]|0; - $66 = ((($65)) + 32|0); - $67 = $66; - $68 = $67; - HEAP32[$68>>2] = $63; - $69 = (($67) + 4)|0; - $70 = $69; - HEAP32[$70>>2] = $64; - $71 = HEAP32[$nLeafEst>>2]|0; - $72 = $71<<4; - $73 = ($72|0)<(0); - $74 = $73 << 31 >> 31; - $75 = HEAP32[$7>>2]|0; - $76 = ((($75)) + 32|0); - $77 = $76; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (($77) + 4)|0; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = (_i64Add(($79|0),($82|0),($72|0),($74|0))|0); - $84 = tempRet0; - $85 = $76; - $86 = $85; - HEAP32[$86>>2] = $83; - $87 = (($85) + 4)|0; - $88 = $87; - HEAP32[$88>>2] = $84; - } - $89 = HEAP32[$pFirstBlock>>2]|0; - $90 = (_sqlite3_reset($89)|0); - HEAP32[$rc>>2] = $90; - } - $91 = HEAP32[$rc>>2]|0; - $92 = ($91|0)!=(0); - if ($92) { - $93 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $93; - $152 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($152|0); - } - $94 = HEAP32[$3>>2]|0; - $95 = HEAP32[$7>>2]|0; - $96 = ((($95)) + 32|0); - $97 = $96; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = (($97) + 4)|0; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (_fts3WriteSegment($94,$99,$102,0,0)|0); - HEAP32[$rc>>2] = $103; - $104 = HEAP32[$rc>>2]|0; - $105 = ($104|0)!=(0); - if ($105) { - $106 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $106; - $152 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($152|0); - } - $107 = $4; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (($107) + 4)|0; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = HEAP32[$7>>2]|0; - $114 = ((($113)) + 8|0); - $115 = $114; - $116 = $115; - HEAP32[$116>>2] = $109; - $117 = (($115) + 4)|0; - $118 = $117; - HEAP32[$118>>2] = $112; - $119 = HEAP32[$nLeafEst>>2]|0; - $120 = HEAP32[$7>>2]|0; - HEAP32[$120>>2] = $119; - $121 = HEAP32[$5>>2]|0; - $122 = HEAP32[$7>>2]|0; - $123 = ((($122)) + 16|0); - HEAP32[$123>>2] = $121; - HEAP32[$i>>2] = 0; - while(1) { - $124 = HEAP32[$i>>2]|0; - $125 = ($124|0)<(16); - if (!($125)) { - break; - } - $126 = HEAP32[$7>>2]|0; - $127 = ((($126)) + 24|0); - $128 = $127; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = (($128) + 4)|0; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = HEAP32[$i>>2]|0; - $135 = HEAP32[$7>>2]|0; - $136 = HEAP32[$135>>2]|0; - $137 = Math_imul($134, $136)|0; - $138 = ($137|0)<(0); - $139 = $138 << 31 >> 31; - $140 = (_i64Add(($130|0),($133|0),($137|0),($139|0))|0); - $141 = tempRet0; - $142 = HEAP32[$i>>2]|0; - $143 = HEAP32[$7>>2]|0; - $144 = ((($143)) + 56|0); - $145 = (($144) + ($142<<5)|0); - $146 = $145; - $147 = $146; - HEAP32[$147>>2] = $140; - $148 = (($146) + 4)|0; - $149 = $148; - HEAP32[$149>>2] = $141; - $150 = HEAP32[$i>>2]|0; - $151 = (($150) + 1)|0; - HEAP32[$i>>2] = $151; - } - HEAP32[$2>>2] = 0; - $152 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($152|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2*383)|0; + $4 = $3 & 8191; + STACKTOP = sp;return ($4|0); } -function _fts3IncrmergeAppend($p,$pWriter,$pCsr) { - $p = $p|0; - $pWriter = $pWriter|0; - $pCsr = $pCsr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $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, $aDoclist = 0, $nDoclist = 0, $nPrefix = 0; - var $nSpace = 0, $nSuffix = 0, $nTerm = 0, $pLeaf = 0, $rc = 0, $zTerm = 0, label = 0, sp = 0; +function _walNextHash($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $zTerm = sp + 32|0; - $nTerm = sp + 28|0; - $aDoclist = sp + 24|0; - $nDoclist = sp + 20|0; - $rc = sp + 16|0; - $nSpace = sp + 12|0; - $nPrefix = sp + 8|0; - $nSuffix = sp + 4|0; - $pLeaf = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pWriter; - HEAP32[$2>>2] = $pCsr; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 40|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$zTerm>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 44|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$nTerm>>2] = $8; - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 48|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$aDoclist>>2] = $11; - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 52|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$nDoclist>>2] = $14; - HEAP32[$rc>>2] = 0; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 56|0); - HEAP32[$pLeaf>>2] = $16; - $17 = HEAP32[$pLeaf>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$pLeaf>>2]|0; - $21 = ((($20)) + 8|0); - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$zTerm>>2]|0; - $25 = HEAP32[$nTerm>>2]|0; - $26 = (_fts3PrefixCompress($19,$23,$24,$25)|0); - HEAP32[$nPrefix>>2] = $26; - $27 = HEAP32[$nTerm>>2]|0; - $28 = HEAP32[$nPrefix>>2]|0; - $29 = (($27) - ($28))|0; - HEAP32[$nSuffix>>2] = $29; - $30 = HEAP32[$nPrefix>>2]|0; - $31 = ($30|0)<(0); - $32 = $31 << 31 >> 31; - $33 = (_sqlite3Fts3VarintLen($30,$32)|0); - HEAP32[$nSpace>>2] = $33; - $34 = HEAP32[$nSuffix>>2]|0; - $35 = ($34|0)<(0); - $36 = $35 << 31 >> 31; - $37 = (_sqlite3Fts3VarintLen($34,$36)|0); - $38 = HEAP32[$nSuffix>>2]|0; - $39 = (($37) + ($38))|0; - $40 = HEAP32[$nSpace>>2]|0; - $41 = (($40) + ($39))|0; - HEAP32[$nSpace>>2] = $41; - $42 = HEAP32[$nDoclist>>2]|0; - $43 = ($42|0)<(0); - $44 = $43 << 31 >> 31; - $45 = (_sqlite3Fts3VarintLen($42,$44)|0); - $46 = HEAP32[$nDoclist>>2]|0; - $47 = (($45) + ($46))|0; - $48 = HEAP32[$nSpace>>2]|0; - $49 = (($48) + ($47))|0; - HEAP32[$nSpace>>2] = $49; - $50 = HEAP32[$pLeaf>>2]|0; - $51 = ((($50)) + 20|0); - $52 = ((($51)) + 4|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)>(0); - if ($54) { - $55 = HEAP32[$pLeaf>>2]|0; - $56 = ((($55)) + 20|0); - $57 = ((($56)) + 4|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$nSpace>>2]|0; - $60 = (($58) + ($59))|0; - $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 224|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($60|0)>($63|0); - if ($64) { - $65 = HEAP32[$0>>2]|0; - $66 = HEAP32[$pLeaf>>2]|0; - $67 = $66; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$pLeaf>>2]|0; - $74 = ((($73)) + 20|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$pLeaf>>2]|0; - $77 = ((($76)) + 20|0); - $78 = ((($77)) + 4|0); - $79 = HEAP32[$78>>2]|0; - $80 = (_fts3WriteSegment($65,$69,$72,$75,$79)|0); - HEAP32[$rc>>2] = $80; - $81 = HEAP32[$1>>2]|0; - $82 = ((($81)) + 4|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83) + 1)|0; - HEAP32[$82>>2] = $84; - $85 = HEAP32[$rc>>2]|0; - $86 = ($85|0)==(0); - if ($86) { - $87 = HEAP32[$0>>2]|0; - $88 = HEAP32[$1>>2]|0; - $89 = HEAP32[$zTerm>>2]|0; - $90 = HEAP32[$nPrefix>>2]|0; - $91 = (($90) + 1)|0; - $92 = (_fts3IncrmergePush($87,$88,$89,$91)|0); - HEAP32[$rc>>2] = $92; - } - $93 = HEAP32[$pLeaf>>2]|0; - $94 = $93; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (($94) + 4)|0; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = (_i64Add(($96|0),($99|0),1,0)|0); - $101 = tempRet0; - $102 = $93; - $103 = $102; - HEAP32[$103>>2] = $100; - $104 = (($102) + 4)|0; - $105 = $104; - HEAP32[$105>>2] = $101; - $106 = HEAP32[$pLeaf>>2]|0; - $107 = ((($106)) + 8|0); - $108 = ((($107)) + 4|0); - HEAP32[$108>>2] = 0; - $109 = HEAP32[$pLeaf>>2]|0; - $110 = ((($109)) + 20|0); - $111 = ((($110)) + 4|0); - HEAP32[$111>>2] = 0; - $112 = HEAP32[$nTerm>>2]|0; - HEAP32[$nSuffix>>2] = $112; - HEAP32[$nSpace>>2] = 1; - $113 = HEAP32[$nSuffix>>2]|0; - $114 = ($113|0)<(0); - $115 = $114 << 31 >> 31; - $116 = (_sqlite3Fts3VarintLen($113,$115)|0); - $117 = HEAP32[$nSuffix>>2]|0; - $118 = (($116) + ($117))|0; - $119 = HEAP32[$nSpace>>2]|0; - $120 = (($119) + ($118))|0; - HEAP32[$nSpace>>2] = $120; - $121 = HEAP32[$nDoclist>>2]|0; - $122 = ($121|0)<(0); - $123 = $122 << 31 >> 31; - $124 = (_sqlite3Fts3VarintLen($121,$123)|0); - $125 = HEAP32[$nDoclist>>2]|0; - $126 = (($124) + ($125))|0; - $127 = HEAP32[$nSpace>>2]|0; - $128 = (($127) + ($126))|0; - HEAP32[$nSpace>>2] = $128; - } - } - $129 = HEAP32[$nSpace>>2]|0; - $130 = ($129|0)<(0); - $131 = $130 << 31 >> 31; - $132 = HEAP32[$1>>2]|0; - $133 = ((($132)) + 40|0); - $134 = $133; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = (($134) + 4)|0; - $138 = $137; - $139 = HEAP32[$138>>2]|0; - $140 = (_i64Add(($136|0),($139|0),($129|0),($131|0))|0); - $141 = tempRet0; - $142 = $133; - $143 = $142; - HEAP32[$143>>2] = $140; - $144 = (($142) + 4)|0; - $145 = $144; - HEAP32[$145>>2] = $141; - $146 = HEAP32[$pLeaf>>2]|0; - $147 = ((($146)) + 20|0); - $148 = HEAP32[$pLeaf>>2]|0; - $149 = ((($148)) + 20|0); - $150 = ((($149)) + 4|0); - $151 = HEAP32[$150>>2]|0; - $152 = HEAP32[$nSpace>>2]|0; - $153 = (($151) + ($152))|0; - _blobGrowBuffer($147,$153,$rc); - $154 = HEAP32[$rc>>2]|0; - $155 = ($154|0)==(0); - if (!($155)) { - $176 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($176|0); - } - $156 = HEAP32[$pLeaf>>2]|0; - $157 = ((($156)) + 20|0); - $158 = ((($157)) + 4|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==(0); - if ($160) { - $161 = HEAP32[$pLeaf>>2]|0; - $162 = ((($161)) + 20|0); - $163 = ((($162)) + 4|0); - HEAP32[$163>>2] = 1; - $164 = HEAP32[$pLeaf>>2]|0; - $165 = ((($164)) + 20|0); - $166 = HEAP32[$165>>2]|0; - HEAP8[$166>>0] = 0; - } - $167 = HEAP32[$pLeaf>>2]|0; - $168 = ((($167)) + 20|0); - $169 = HEAP32[$pLeaf>>2]|0; - $170 = ((($169)) + 8|0); - $171 = HEAP32[$zTerm>>2]|0; - $172 = HEAP32[$nTerm>>2]|0; - $173 = HEAP32[$aDoclist>>2]|0; - $174 = HEAP32[$nDoclist>>2]|0; - $175 = (_fts3AppendToNode($168,$170,$171,$172,$173,$174)|0); - HEAP32[$rc>>2] = $175; - $176 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($176|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (($2) + 1)|0; + $4 = $3 & 8191; + STACKTOP = sp;return ($4|0); } -function _fts3IncrmergeChomp($p,$0,$1,$pCsr,$pnRem) { - $p = $p|0; +function _walIndexPage($0,$1,$2) { $0 = $0|0; $1 = $1|0; - $pCsr = $pCsr|0; - $pnRem = $pnRem|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $i = 0, $j = 0, $nRem = 0, $nTerm = 0, $pSeg = 0, $rc = 0, $zTerm = 0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 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, $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 label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 44|0; - $3 = sp; - $4 = sp + 40|0; - $5 = sp + 36|0; - $i = sp + 32|0; - $nRem = sp + 28|0; - $rc = sp + 24|0; - $pSeg = sp + 20|0; - $j = sp + 16|0; - $zTerm = sp + 12|0; - $nTerm = sp + 8|0; - HEAP32[$2>>2] = $p; - $6 = $3; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$4>>2] = $pCsr; - HEAP32[$5>>2] = $pnRem; - HEAP32[$nRem>>2] = 0; - HEAP32[$rc>>2] = 0; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; $10 = HEAP32[$4>>2]|0; - $11 = ((($10)) + 4|0); + $11 = ((($10)) + 24|0); $12 = HEAP32[$11>>2]|0; - $13 = (($12) - 1)|0; - HEAP32[$i>>2] = $13; - while(1) { - $14 = HEAP32[$i>>2]|0; - $15 = ($14|0)>=(0); - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - $18 = $15 ? $17 : 0; - if (!($18)) { - break; - } - HEAP32[$pSeg>>2] = 0; - HEAP32[$j>>2] = 0; - while(1) { - $19 = HEAP32[$j>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($19|0)<($22|0); - if (!($23)) { - break; - } - $24 = HEAP32[$j>>2]|0; - $25 = HEAP32[$4>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + ($24<<2)|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$pSeg>>2] = $28; - $29 = HEAP32[$pSeg>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$i>>2]|0; - $32 = ($30|0)==($31|0); - if ($32) { + $13 = HEAP32[$5>>2]|0; + $14 = ($12|0)<=($13|0); + do { + if ($14) { + $15 = HEAP32[$5>>2]|0; + $16 = (($15) + 1)|0; + $17 = $16<<2; + HEAP32[$8>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 32|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$8>>2]|0; + $22 = ($21|0)<(0); + $23 = $22 << 31 >> 31; + $24 = (_sqlite3_realloc64($20,$21,$23)|0); + HEAP32[$9>>2] = $24; + $25 = HEAP32[$9>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $28 = HEAP32[$9>>2]|0; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 24|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($28) + ($31<<2)|0); + $33 = HEAP32[$5>>2]|0; + $34 = (($33) + 1)|0; + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 24|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($34) - ($37))|0; + $39 = $38<<2; + _memset(($32|0),0,($39|0))|0; + $40 = HEAP32[$9>>2]|0; + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 32|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$5>>2]|0; + $44 = (($43) + 1)|0; + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 24|0); + HEAP32[$46>>2] = $44; break; } - $33 = HEAP32[$j>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$j>>2] = $34; + $27 = HEAP32[$6>>2]|0; + HEAP32[$27>>2] = 0; + HEAP32[$3>>2] = 7; + $102 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($102|0); } - $35 = HEAP32[$pSeg>>2]|0; - $36 = ((($35)) + 40|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)==(0|0); - if ($38) { - $39 = HEAP32[$2>>2]|0; - $40 = HEAP32[$pSeg>>2]|0; - $41 = (_fts3DeleteSegment($39,$40)|0); - HEAP32[$rc>>2] = $41; - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - $44 = HEAP32[$2>>2]|0; - $45 = $3; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$pSeg>>2]|0; - $52 = HEAP32[$51>>2]|0; - $53 = (_fts3RemoveSegdirEntry($44,$47,$50,$52)|0); - HEAP32[$rc>>2] = $53; + } while(0); + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 32|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$5>>2]|0; + $51 = (($49) + ($50<<2)|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)==(0|0); + do { + if ($53) { + $54 = HEAP32[$4>>2]|0; + $55 = ((($54)) + 43|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = ($57|0)==(2); + if ($58) { + $59 = (_sqlite3MallocZero(32768,0)|0); + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 32|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$5>>2]|0; + $64 = (($62) + ($63<<2)|0); + HEAP32[$64>>2] = $59; + $65 = HEAP32[$4>>2]|0; + $66 = ((($65)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$5>>2]|0; + $69 = (($67) + ($68<<2)|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)!=(0|0); + if ($71) { + break; + } + HEAP32[$7>>2] = 7; + break; + } else { + $72 = HEAP32[$4>>2]|0; + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$5>>2]|0; + $76 = HEAP32[$4>>2]|0; + $77 = ((($76)) + 44|0); + $78 = HEAP8[$77>>0]|0; + $79 = $78&255; + $80 = HEAP32[$4>>2]|0; + $81 = ((($80)) + 32|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$5>>2]|0; + $84 = (($82) + ($83<<2)|0); + $85 = (_sqlite3OsShmMap($74,$75,32768,$79,$84)|0); + HEAP32[$7>>2] = $85; + $86 = HEAP32[$7>>2]|0; + $87 = ($86|0)==(8); + if (!($87)) { + break; + } + $88 = HEAP32[$4>>2]|0; + $89 = ((($88)) + 46|0); + $90 = HEAP8[$89>>0]|0; + $91 = $90&255; + $92 = $91 | 2; + $93 = $92&255; + HEAP8[$89>>0] = $93; + HEAP32[$7>>2] = 0; + break; } - $54 = HEAP32[$5>>2]|0; - HEAP32[$54>>2] = 0; - } else { - $55 = HEAP32[$pSeg>>2]|0; - $56 = ((($55)) + 64|0); - $57 = HEAP32[$56>>2]|0; - HEAP32[$zTerm>>2] = $57; - $58 = HEAP32[$pSeg>>2]|0; - $59 = ((($58)) + 60|0); - $60 = HEAP32[$59>>2]|0; - HEAP32[$nTerm>>2] = $60; - $61 = HEAP32[$2>>2]|0; - $62 = $3; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$pSeg>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$zTerm>>2]|0; - $71 = HEAP32[$nTerm>>2]|0; - $72 = (_fts3TruncateSegment($61,$64,$67,$69,$70,$71)|0); - HEAP32[$rc>>2] = $72; - $73 = HEAP32[$nRem>>2]|0; - $74 = (($73) + 1)|0; - HEAP32[$nRem>>2] = $74; } - $75 = HEAP32[$i>>2]|0; - $76 = (($75) + -1)|0; - HEAP32[$i>>2] = $76; - } - $77 = HEAP32[$rc>>2]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $92 = HEAP32[$nRem>>2]|0; - $93 = HEAP32[$5>>2]|0; - HEAP32[$93>>2] = $92; - $94 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($94|0); - } - $79 = HEAP32[$nRem>>2]|0; - $80 = HEAP32[$4>>2]|0; - $81 = ((($80)) + 4|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($79|0)!=($82|0); - if (!($83)) { - $92 = HEAP32[$nRem>>2]|0; - $93 = HEAP32[$5>>2]|0; - HEAP32[$93>>2] = $92; - $94 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($94|0); - } - $84 = HEAP32[$2>>2]|0; - $85 = $3; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (_fts3RepackSegdirLevel($84,$87,$90)|0); - HEAP32[$rc>>2] = $91; - $92 = HEAP32[$nRem>>2]|0; - $93 = HEAP32[$5>>2]|0; - HEAP32[$93>>2] = $92; - $94 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($94|0); + } while(0); + $94 = HEAP32[$4>>2]|0; + $95 = ((($94)) + 32|0); + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$5>>2]|0; + $98 = (($96) + ($97<<2)|0); + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$6>>2]|0; + HEAP32[$100>>2] = $99; + $101 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $101; + $102 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($102|0); } -function _fts3IncrmergeHintPush($pHint,$0,$1,$nInput,$pRc) { - $pHint = $pHint|0; +function _sqlite3OsShmMap($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; - $nInput = $nInput|0; - $pRc = $pRc|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp; - $4 = sp + 12|0; - $5 = sp + 8|0; - HEAP32[$2>>2] = $pHint; - $6 = $3; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$4>>2] = $nInput; - HEAP32[$5>>2] = $pRc; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 4|0); + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 52|0); $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 20)|0; - $15 = HEAP32[$5>>2]|0; - _blobGrowBuffer($10,$14,$15); - $16 = HEAP32[$5>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0); - if (!($18)) { - STACKTOP = sp;return; - } - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($21)|0); - $25 = $3; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3Fts3PutVarint($24,$27,$30)|0); - $32 = HEAP32[$2>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($31))|0; - HEAP32[$33>>2] = $35; - $36 = HEAP32[$2>>2]|0; - $37 = ((($36)) + 4|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = (($40) + ($38)|0); - $42 = HEAP32[$4>>2]|0; - $43 = ($42|0)<(0); - $44 = $43 << 31 >> 31; - $45 = (_sqlite3Fts3PutVarint($41,$42,$44)|0); - $46 = HEAP32[$2>>2]|0; - $47 = ((($46)) + 4|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + ($45))|0; - HEAP32[$47>>2] = $49; - STACKTOP = sp;return; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = (FUNCTION_TABLE_iiiiii[$13 & 255]($14,$15,$16,$17,$18)|0); + STACKTOP = sp;return ($19|0); } -function _fts3IncrmergeRelease($p,$pWriter,$pRc) { - $p = $p|0; - $pWriter = $pWriter|0; - $pRc = $pRc|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $i = 0, $iRoot = 0, $or$cond = 0, $pBlock = 0, $pNode = 0, $pNode1 = 0, $pRoot = 0, $rc = 0, label = 0, sp = 0; +function _backupUpdate($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $i = sp + 24|0; - $iRoot = sp + 20|0; - $pRoot = sp + 16|0; - $rc = sp + 12|0; - $pNode = sp + 8|0; - $pBlock = sp + 4|0; - $pNode1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pWriter; - HEAP32[$2>>2] = $pRc; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$rc>>2] = $4; - HEAP32[$iRoot>>2] = 15; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; while(1) { - $5 = HEAP32[$iRoot>>2]|0; - $6 = ($5|0)>=(0); - if (!($6)) { - break; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 28|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_isFatalError($9)|0); + $11 = ($10|0)!=(0); + if (!($11)) { + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($12>>>0)<($15>>>0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + _sqlite3_mutex_enter($20); + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = (_backupOnePage($21,$22,$23,1)|0); + HEAP32[$6>>2] = $24; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + _sqlite3_mutex_leave($28); + $29 = HEAP32[$6>>2]|0; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$6>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 28|0); + HEAP32[$33>>2] = $31; + } + } } - $7 = HEAP32[$iRoot>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 56|0); - $10 = (($9) + ($7<<5)|0); - HEAP32[$pNode>>2] = $10; - $11 = HEAP32[$pNode>>2]|0; - $12 = ((($11)) + 20|0); - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(0); - if ($15) { + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$3>>2] = $36; + $37 = ($36|0)!=(0|0); + if (!($37)) { break; } - $16 = HEAP32[$pNode>>2]|0; - $17 = ((($16)) + 20|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3_free($18); - $19 = HEAP32[$pNode>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - _sqlite3_free($21); - $22 = HEAP32[$iRoot>>2]|0; - $23 = (($22) + -1)|0; - HEAP32[$iRoot>>2] = $23; } - $24 = HEAP32[$iRoot>>2]|0; - $25 = ($24|0)<(0); - if ($25) { - STACKTOP = sp;return; + STACKTOP = sp;return; +} +function _isFatalError($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0); + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)!=(5); + $or$cond = $3 & $5; + if (!($or$cond)) { + $9 = 0; + $8 = $9&1; + STACKTOP = sp;return ($8|0); } - $26 = HEAP32[$iRoot>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 56|0); - $30 = ((($29)) + 32|0); - $31 = ((($30)) + 20|0); - HEAP32[$pBlock>>2] = $31; - $32 = HEAP32[$pBlock>>2]|0; - _blobGrowBuffer($32,11,$rc); - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$pBlock>>2]|0; - $36 = HEAP32[$35>>2]|0; - HEAP8[$36>>0] = 1; - $37 = HEAP32[$pBlock>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = ((($38)) + 1|0); - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 56|0); - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (_sqlite3Fts3PutVarint($39,$44,$47)|0); - $49 = (1 + ($48))|0; - $50 = HEAP32[$pBlock>>2]|0; - $51 = ((($50)) + 4|0); - HEAP32[$51>>2] = $49; + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)!=(6); + $9 = $7; + $8 = $9&1; + STACKTOP = sp;return ($8|0); +} +function _backupOnePage($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $4 = sp + 68|0; + $5 = sp + 64|0; + $6 = sp + 60|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp + 8|0; + $13 = sp + 36|0; + $14 = sp; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 24|0; + $18 = sp + 20|0; + $19 = sp + 16|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3BtreePager($22)|0); + HEAP32[$8>>2] = $23; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 24|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3BtreeGetPageSize($26)|0); + HEAP32[$9>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3BtreeGetPageSize($30)|0); + HEAP32[$10>>2] = $31; + $32 = HEAP32[$9>>2]|0; + $33 = HEAP32[$10>>2]|0; + $34 = ($32|0)<($33|0); + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$10>>2]|0; + $37 = $34 ? $35 : $36; + HEAP32[$11>>2] = $37; + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$9>>2]|0; + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = (___muldi3(($38|0),0,($39|0),($41|0))|0); + $43 = tempRet0; + $44 = $12; + $45 = $44; + HEAP32[$45>>2] = $42; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + HEAP32[$13>>2] = 0; + $48 = HEAP32[$9>>2]|0; + $49 = HEAP32[$10>>2]|0; + $50 = ($48|0)!=($49|0); + if ($50) { + $51 = HEAP32[$8>>2]|0; + $52 = (_sqlite3PagerIsMemdb($51)|0); + $53 = ($52|0)!=(0); + if ($53) { + HEAP32[$13>>2] = 8; } - HEAP32[$iRoot>>2] = 1; } - $52 = HEAP32[$iRoot>>2]|0; - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 56|0); - $55 = (($54) + ($52<<5)|0); - HEAP32[$pRoot>>2] = $55; - HEAP32[$i>>2] = 0; + $54 = $12; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$9>>2]|0; + $61 = ($60|0)<(0); + $62 = $61 << 31 >> 31; + $63 = (_i64Subtract(($56|0),($59|0),($60|0),($62|0))|0); + $64 = tempRet0; + $65 = $14; + $66 = $65; + HEAP32[$66>>2] = $63; + $67 = (($65) + 4)|0; + $68 = $67; + HEAP32[$68>>2] = $64; while(1) { - $56 = HEAP32[$i>>2]|0; - $57 = HEAP32[$iRoot>>2]|0; - $58 = ($56|0)<($57|0); - if (!($58)) { + $69 = HEAP32[$13>>2]|0; + $70 = ($69|0)==(0); + if (!($70)) { + label = 14; break; } - $59 = HEAP32[$i>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 56|0); - $62 = (($61) + ($59<<5)|0); - HEAP32[$pNode1>>2] = $62; - $63 = HEAP32[$pNode1>>2]|0; - $64 = ((($63)) + 20|0); - $65 = ((($64)) + 4|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)>(0); - $68 = HEAP32[$rc>>2]|0; - $69 = ($68|0)==(0); - $or$cond = $67 & $69; - if ($or$cond) { - $70 = HEAP32[$0>>2]|0; - $71 = HEAP32[$pNode1>>2]|0; - $72 = $71; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$pNode1>>2]|0; - $79 = ((($78)) + 20|0); - $80 = HEAP32[$79>>2]|0; - $81 = HEAP32[$pNode1>>2]|0; - $82 = ((($81)) + 20|0); - $83 = ((($82)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = (_fts3WriteSegment($70,$74,$77,$80,$84)|0); - HEAP32[$rc>>2] = $85; + $71 = $14; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = $12; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + 4)|0; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = ($76|0)<($82|0); + $84 = ($73>>>0)<($79>>>0); + $85 = ($76|0)==($82|0); + $86 = $85 & $84; + $87 = $83 | $86; + if (!($87)) { + label = 14; + break; } - $86 = HEAP32[$pNode1>>2]|0; - $87 = ((($86)) + 20|0); - $88 = HEAP32[$87>>2]|0; - _sqlite3_free($88); - $89 = HEAP32[$pNode1>>2]|0; - $90 = ((($89)) + 8|0); - $91 = HEAP32[$90>>2]|0; - _sqlite3_free($91); - $92 = HEAP32[$i>>2]|0; - $93 = (($92) + 1)|0; - HEAP32[$i>>2] = $93; - } - $94 = HEAP32[$rc>>2]|0; - $95 = ($94|0)==(0); - if ($95) { - $96 = HEAP32[$0>>2]|0; - $97 = HEAP32[$1>>2]|0; - $98 = ((($97)) + 8|0); - $99 = $98; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = (($99) + 4)|0; - $103 = $102; + HEAP32[$15>>2] = 0; + $88 = $14; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$10>>2]|0; + $95 = ($94|0)<(0); + $96 = $95 << 31 >> 31; + $97 = (___divdi3(($90|0),($93|0),($94|0),($96|0))|0); + $98 = tempRet0; + $99 = (($97) + 1)|0; + HEAP32[$16>>2] = $99; + $100 = HEAP32[$16>>2]|0; + $101 = HEAP32[482]|0; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 4|0); $104 = HEAP32[$103>>2]|0; - $105 = (_i64Add(($101|0),($104|0),1,0)|0); - $106 = tempRet0; - $107 = HEAP32[$1>>2]|0; - $108 = ((($107)) + 16|0); - $109 = HEAP32[$108>>2]|0; - $110 = HEAP32[$1>>2]|0; - $111 = ((($110)) + 24|0); - $112 = $111; - $113 = $112; - $114 = HEAP32[$113>>2]|0; - $115 = (($112) + 4)|0; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = HEAP32[$1>>2]|0; - $119 = ((($118)) + 56|0); - $120 = $119; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = (($120) + 4)|0; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = HEAP32[$1>>2]|0; - $127 = ((($126)) + 32|0); - $128 = $127; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = (($128) + 4)|0; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = HEAP32[$1>>2]|0; - $135 = ((($134)) + 48|0); - $136 = HEAP8[$135>>0]|0; - $137 = $136&255; - $138 = ($137|0)==(0); - if ($138) { - $139 = HEAP32[$1>>2]|0; - $140 = ((($139)) + 40|0); - $141 = $140; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = (($141) + 4)|0; - $145 = $144; - $146 = HEAP32[$145>>2]|0; - $154 = $143;$155 = $146; - } else { - $154 = 0;$155 = 0; + $105 = ((($104)) + 4|0); + $106 = HEAP32[$105>>2]|0; + $107 = ((($106)) + 32|0); + $108 = HEAP32[$107>>2]|0; + $109 = (($101>>>0) / ($108>>>0))&-1; + $110 = (($109) + 1)|0; + $111 = ($100|0)==($110|0); + if (!($111)) { + $112 = HEAP32[$8>>2]|0; + $113 = HEAP32[$16>>2]|0; + $114 = (_sqlite3PagerGet($112,$113,$15,0)|0); + HEAP32[$13>>2] = $114; + $115 = (0)==($114|0); + if ($115) { + $116 = HEAP32[$15>>2]|0; + $117 = (_sqlite3PagerWrite($116)|0); + HEAP32[$13>>2] = $117; + $118 = (0)==($117|0); + if ($118) { + $119 = HEAP32[$6>>2]|0; + $120 = $14; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$9>>2]|0; + $127 = ($126|0)<(0); + $128 = $127 << 31 >> 31; + $129 = (___remdi3(($122|0),($125|0),($126|0),($128|0))|0); + $130 = tempRet0; + $131 = (($119) + ($129)|0); + HEAP32[$17>>2] = $131; + $132 = HEAP32[$15>>2]|0; + $133 = (_sqlite3PagerGetData($132)|0); + HEAP32[$18>>2] = $133; + $134 = HEAP32[$18>>2]|0; + $135 = $14; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (($135) + 4)|0; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$10>>2]|0; + $142 = ($141|0)<(0); + $143 = $142 << 31 >> 31; + $144 = (___remdi3(($137|0),($140|0),($141|0),($143|0))|0); + $145 = tempRet0; + $146 = (($134) + ($144)|0); + HEAP32[$19>>2] = $146; + $147 = HEAP32[$19>>2]|0; + $148 = HEAP32[$17>>2]|0; + $149 = HEAP32[$11>>2]|0; + _memcpy(($147|0),($148|0),($149|0))|0; + $150 = HEAP32[$15>>2]|0; + $151 = (_sqlite3PagerGetExtra($150)|0); + HEAP8[$151>>0] = 0; + $152 = $14; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = ($154|0)==(0); + $159 = ($157|0)==(0); + $160 = $158 & $159; + $161 = HEAP32[$7>>2]|0; + $162 = ($161|0)==(0); + $or$cond = $160 & $162; + if ($or$cond) { + $163 = HEAP32[$19>>2]|0; + $164 = ((($163)) + 28|0); + $165 = HEAP32[$4>>2]|0; + $166 = ((($165)) + 24|0); + $167 = HEAP32[$166>>2]|0; + $168 = (_sqlite3BtreeLastPage($167)|0); + _sqlite3Put4byte($164,$168); + } + } + } + $169 = HEAP32[$15>>2]|0; + _sqlite3PagerUnref($169); } - $147 = HEAP32[$pRoot>>2]|0; - $148 = ((($147)) + 20|0); - $149 = HEAP32[$148>>2]|0; - $150 = HEAP32[$pRoot>>2]|0; - $151 = ((($150)) + 20|0); - $152 = ((($151)) + 4|0); - $153 = HEAP32[$152>>2]|0; - $156 = (_fts3WriteSegdir($96,$105,$106,$109,$114,$117,$122,$125,$130,$133,$154,$155,$149,$153)|0); - HEAP32[$rc>>2] = $156; + $170 = HEAP32[$10>>2]|0; + $171 = ($170|0)<(0); + $172 = $171 << 31 >> 31; + $173 = $14; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = (($173) + 4)|0; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = (_i64Add(($175|0),($178|0),($170|0),($172|0))|0); + $180 = tempRet0; + $181 = $14; + $182 = $181; + HEAP32[$182>>2] = $179; + $183 = (($181) + 4)|0; + $184 = $183; + HEAP32[$184>>2] = $180; } - $157 = HEAP32[$pRoot>>2]|0; - $158 = ((($157)) + 20|0); - $159 = HEAP32[$158>>2]|0; - _sqlite3_free($159); - $160 = HEAP32[$pRoot>>2]|0; - $161 = ((($160)) + 8|0); - $162 = HEAP32[$161>>2]|0; - _sqlite3_free($162); - $163 = HEAP32[$rc>>2]|0; - $164 = HEAP32[$2>>2]|0; - HEAP32[$164>>2] = $163; - STACKTOP = sp;return; + if ((label|0) == 14) { + $185 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($185|0); + } + return (0)|0; } -function _fts3IncrmergeHintStore($p,$pHint) { - $p = $p|0; - $pHint = $pHint|0; - var $0 = 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, $pReplace = 0, $rc = 0, label = 0; - var sp = 0; +function _sqlite3BtreeGetPageSize($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pReplace = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pHint; - HEAP32[$pReplace>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = (_fts3SqlStmt($2,23,$pReplace,0)|0); - HEAP32[$rc>>2] = $3; - $4 = HEAP32[$rc>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); - } - $6 = HEAP32[$pReplace>>2]|0; - (_sqlite3_bind_int($6,1,1)|0); - $7 = HEAP32[$pReplace>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - (_sqlite3_bind_blob($7,2,$9,$12,0)|0); - $13 = HEAP32[$pReplace>>2]|0; - (_sqlite3_step($13)|0); - $14 = HEAP32[$pReplace>>2]|0; - $15 = (_sqlite3_reset($14)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 32|0); + $6 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($6|0); } -function _blobGrowBuffer($pBlob,$nMin,$pRc) { - $pBlob = $pBlob|0; - $nMin = $nMin|0; - $pRc = $pRc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $nAlloc = 0, label = 0, sp = 0; +function _sqlite3PagerIsMemdb($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $nAlloc = sp + 4|0; - $a = sp; - HEAP32[$0>>2] = $pBlob; - HEAP32[$1>>2] = $nMin; - HEAP32[$2>>2] = $pRc; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 8|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 13|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + STACKTOP = sp;return ($5|0); +} +function _sqlite3PagerWrite($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 16|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$3>>2] = $6; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 44|0); $9 = HEAP32[$8>>2]|0; - $10 = ($6|0)>($9|0); - if (!($10)) { + $10 = ($9|0)!=(0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 44|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$1>>2] = $13; + $43 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($43|0); + } + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = $17 & 4; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 28|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($22>>>0)>=($25>>>0); + if ($26) { + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 104|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$2>>2]|0; + $32 = (_subjournalPageIfRequired($31)|0); + HEAP32[$1>>2] = $32; + $43 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($43|0); + } else { + HEAP32[$1>>2] = 0; + $43 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($43|0); + } + } + } + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 156|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 160|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($35>>>0)>($38>>>0); + $40 = HEAP32[$2>>2]|0; + if ($39) { + $41 = (_pagerWriteLargeSector($40)|0); + HEAP32[$1>>2] = $41; + $43 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($43|0); + } else { + $42 = (_pager_write($40)|0); + HEAP32[$1>>2] = $42; + $43 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($43|0); + } + return (0)|0; +} +function _sqlite3PagerGetData($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _sqlite3PagerGetExtra($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _sqlite3BtreeLastPage($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = (_btreePagecount($4)|0); + STACKTOP = sp;return ($5|0); +} +function _sqlite3Put4byte($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = $4 >>> 24; + $6 = $5&255; + $7 = HEAP32[$2>>2]|0; + HEAP8[$7>>0] = $6; + $8 = HEAP32[$3>>2]|0; + $9 = $8 >>> 16; + $10 = $9&255; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 1|0); + HEAP8[$12>>0] = $10; + $13 = HEAP32[$3>>2]|0; + $14 = $13 >>> 8; + $15 = $14&255; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 2|0); + HEAP8[$17>>0] = $15; + $18 = HEAP32[$3>>2]|0; + $19 = $18&255; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 3|0); + HEAP8[$21>>0] = $19; + STACKTOP = sp;return; +} +function _sqlite3PagerUnref($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { STACKTOP = sp;return; } - $11 = HEAP32[$1>>2]|0; - HEAP32[$nAlloc>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$nAlloc>>2]|0; - $15 = (_sqlite3_realloc($13,$14)|0); - HEAP32[$a>>2] = $15; - $16 = HEAP32[$a>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$nAlloc>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 8|0); - HEAP32[$20>>2] = $18; - $21 = HEAP32[$a>>2]|0; - $22 = HEAP32[$0>>2]|0; - HEAP32[$22>>2] = $21; + $4 = HEAP32[$1>>2]|0; + _sqlite3PagerUnrefNotNull($4); + STACKTOP = sp;return; +} +function _sqlite3PagerUnrefNotNull($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 16|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = $9 & 32; + $11 = ($10|0)!=(0); + $12 = HEAP32[$1>>2]|0; + if ($11) { + _pagerReleaseMapPage($12); + $13 = HEAP32[$2>>2]|0; + _pagerUnlockIfUnused($13); STACKTOP = sp;return; } else { - $23 = HEAP32[$2>>2]|0; - HEAP32[$23>>2] = 7; + _sqlite3PcacheRelease($12); + $13 = HEAP32[$2>>2]|0; + _pagerUnlockIfUnused($13); STACKTOP = sp;return; } } -function _fts3RemoveSegdirEntry($p,$0,$1,$iIdx) { - $p = $p|0; +function _pagerReleaseMapPage($0) { $0 = $0|0; - $1 = $1|0; - $iIdx = $iIdx|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDelete = 0, $rc = 0, label = 0, sp = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp; - $4 = sp + 16|0; - $rc = sp + 12|0; - $pDelete = sp + 8|0; - HEAP32[$2>>2] = $p; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $iIdx; - HEAP32[$pDelete>>2] = 0; - $9 = HEAP32[$2>>2]|0; - $10 = (_fts3SqlStmt($9,30,$pDelete,0)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)==(0); - if (!($12)) { - $25 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($25|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 16|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 128|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + -1)|0; + HEAP32[$7>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 144|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 12|0); + HEAP32[$14>>2] = $12; + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 144|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 64|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) - 1)|0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 160|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)<(0); + $29 = $28 << 31 >> 31; + $30 = (___muldi3(($24|0),0,($27|0),($29|0))|0); + $31 = tempRet0; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + (_sqlite3OsUnfetch($20,$30,$31,$34)|0); + STACKTOP = sp;return; +} +function _btreePagecount($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 44|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _subjournalPageIfRequired($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = (_subjRequiresPage($3)|0); + $5 = ($4|0)!=(0); + if ($5) { + $6 = HEAP32[$2>>2]|0; + $7 = (_subjournalPage($6)|0); + HEAP32[$1>>2] = $7; + $8 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($8|0); + } else { + HEAP32[$1>>2] = 0; + $8 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($8|0); } - $13 = HEAP32[$pDelete>>2]|0; - $14 = $3; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - (_sqlite3_bind_int64($13,1,$16,$19)|0); - $20 = HEAP32[$pDelete>>2]|0; - $21 = HEAP32[$4>>2]|0; - (_sqlite3_bind_int($20,2,$21)|0); - $22 = HEAP32[$pDelete>>2]|0; - (_sqlite3_step($22)|0); - $23 = HEAP32[$pDelete>>2]|0; - $24 = (_sqlite3_reset($23)|0); - HEAP32[$rc>>2] = $24; - $25 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($25|0); + return (0)|0; } -function _fts3TruncateSegment($p,$0,$1,$iIdx,$zTerm,$nTerm) { - $p = $p|0; +function _pagerWriteLargeSector($0) { $0 = $0|0; - $1 = $1|0; - $iIdx = $iIdx|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $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, $aBlock = 0, $aRoot = 0, $block = 0, $iBlock = 0, $iNewStart = 0; - var $iOldStart = 0, $nBlock = 0, $nRoot = 0, $or$cond = 0, $pChomp = 0, $pDel = 0, $pFetch = 0, $rc = 0, $rc2 = 0, $root = 0, label = 0, sp = 0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $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, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $2 = sp + 104|0; - $3 = sp + 24|0; - $4 = sp + 100|0; - $5 = sp + 96|0; - $6 = sp + 92|0; - $rc = sp + 88|0; - $root = sp + 76|0; - $block = sp + 64|0; - $iBlock = sp + 16|0; - $iNewStart = sp + 8|0; - $iOldStart = sp; - $pFetch = sp + 60|0; - $rc2 = sp + 56|0; - $aRoot = sp + 52|0; - $nRoot = sp + 48|0; - $aBlock = sp + 44|0; - $nBlock = sp + 40|0; - $pDel = sp + 36|0; - $pChomp = sp + 32|0; - HEAP32[$2>>2] = $p; - $7 = $3; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - HEAP32[$4>>2] = $iIdx; - HEAP32[$5>>2] = $zTerm; - HEAP32[$6>>2] = $nTerm; - HEAP32[$rc>>2] = 0; - ;HEAP32[$root>>2]=0|0;HEAP32[$root+4>>2]=0|0;HEAP32[$root+8>>2]=0|0; - ;HEAP32[$block>>2]=0|0;HEAP32[$block+4>>2]=0|0;HEAP32[$block+8>>2]=0|0; - $11 = $iBlock; - $12 = $11; - HEAP32[$12>>2] = 0; - $13 = (($11) + 4)|0; - $14 = $13; - HEAP32[$14>>2] = 0; - $15 = $iNewStart; - $16 = $15; - HEAP32[$16>>2] = 0; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = 0; - $19 = $iOldStart; - $20 = $19; - HEAP32[$20>>2] = 0; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = 0; - HEAP32[$pFetch>>2] = 0; - $23 = HEAP32[$2>>2]|0; - $24 = (_fts3SqlStmt($23,32,$pFetch,0)|0); - HEAP32[$rc>>2] = $24; - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)==(0); - if ($26) { - $27 = HEAP32[$pFetch>>2]|0; - $28 = $3; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (($28) + 4)|0; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - (_sqlite3_bind_int64($27,1,$30,$33)|0); - $34 = HEAP32[$pFetch>>2]|0; - $35 = HEAP32[$4>>2]|0; - (_sqlite3_bind_int($34,2,$35)|0); - $36 = HEAP32[$pFetch>>2]|0; - $37 = (_sqlite3_step($36)|0); - $38 = (100)==($37|0); - if ($38) { - $39 = HEAP32[$pFetch>>2]|0; - $40 = (_sqlite3_column_blob($39,4)|0); - HEAP32[$aRoot>>2] = $40; - $41 = HEAP32[$pFetch>>2]|0; - $42 = (_sqlite3_column_bytes($41,4)|0); - HEAP32[$nRoot>>2] = $42; - $43 = HEAP32[$pFetch>>2]|0; - $44 = (_sqlite3_column_int64($43,1)|0); - $45 = tempRet0; - $46 = $iOldStart; - $47 = $46; - HEAP32[$47>>2] = $44; - $48 = (($46) + 4)|0; - $49 = $48; - HEAP32[$49>>2] = $45; - $50 = HEAP32[$aRoot>>2]|0; - $51 = HEAP32[$nRoot>>2]|0; - $52 = HEAP32[$5>>2]|0; - $53 = HEAP32[$6>>2]|0; - $54 = (_fts3TruncateNode($50,$51,$root,$52,$53,$iBlock)|0); - HEAP32[$rc>>2] = $54; + STACKTOP = STACKTOP + 48|0; + $1 = sp + 44|0; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + HEAP32[$5>>2] = 0; + HEAP32[$7>>2] = 0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$8>>2] = $15; + $16 = HEAP32[$8>>2]|0; + $17 = ((($16)) + 156|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = ((($19)) + 160|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($18>>>0) / ($21>>>0))&-1; + HEAP32[$9>>2] = $22; + $23 = HEAP32[$8>>2]|0; + $24 = ((($23)) + 21|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = $26 | 4; + $28 = $27&255; + HEAP8[$24>>0] = $28; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) - 1)|0; + $33 = HEAP32[$9>>2]|0; + $34 = (($33) - 1)|0; + $35 = $34 ^ -1; + $36 = $32 & $35; + $37 = (($36) + 1)|0; + HEAP32[$4>>2] = $37; + $38 = HEAP32[$8>>2]|0; + $39 = ((($38)) + 28|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$3>>2] = $40; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 20|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$3>>2]|0; + $45 = ($43>>>0)>($44>>>0); + do { + if ($45) { + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 20|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$4>>2]|0; + $50 = (($48) - ($49))|0; + $51 = (($50) + 1)|0; + HEAP32[$5>>2] = $51; + } else { + $52 = HEAP32[$4>>2]|0; + $53 = HEAP32[$9>>2]|0; + $54 = (($52) + ($53))|0; + $55 = (($54) - 1)|0; + $56 = HEAP32[$3>>2]|0; + $57 = ($55>>>0)>($56>>>0); + if ($57) { + $58 = HEAP32[$3>>2]|0; + $59 = (($58) + 1)|0; + $60 = HEAP32[$4>>2]|0; + $61 = (($59) - ($60))|0; + HEAP32[$5>>2] = $61; + break; + } else { + $62 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $62; + break; + } } - $55 = HEAP32[$pFetch>>2]|0; - $56 = (_sqlite3_reset($55)|0); - HEAP32[$rc2>>2] = $56; - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)==(0); - if ($58) { - $59 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $59; + } while(0); + HEAP32[$6>>2] = 0; + while(1) { + $63 = HEAP32[$6>>2]|0; + $64 = HEAP32[$5>>2]|0; + $65 = ($63|0)<($64|0); + $66 = HEAP32[$2>>2]|0; + $67 = ($66|0)==(0); + $68 = $65 ? $67 : 0; + if (!($68)) { + break; + } + $69 = HEAP32[$4>>2]|0; + $70 = HEAP32[$6>>2]|0; + $71 = (($69) + ($70))|0; + HEAP32[$10>>2] = $71; + $72 = HEAP32[$10>>2]|0; + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 20|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($72|0)==($75|0); + if ($76) { + label = 10; + } else { + $77 = HEAP32[$8>>2]|0; + $78 = ((($77)) + 60|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$10>>2]|0; + $81 = (_sqlite3BitvecTest($79,$80)|0); + $82 = ($81|0)!=(0); + if ($82) { + $105 = HEAP32[$8>>2]|0; + $106 = HEAP32[$10>>2]|0; + $107 = (_sqlite3PagerLookup($105,$106)|0); + HEAP32[$11>>2] = $107; + $108 = ($107|0)!=(0|0); + if ($108) { + $109 = HEAP32[$11>>2]|0; + $110 = ((($109)) + 24|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = $112 & 8; + $114 = ($113|0)!=(0); + if ($114) { + HEAP32[$7>>2] = 1; + } + $115 = HEAP32[$11>>2]|0; + _sqlite3PagerUnrefNotNull($115); + } + } else { + label = 10; + } + } + if ((label|0) == 10) { + label = 0; + $83 = HEAP32[$10>>2]|0; + $84 = HEAP32[482]|0; + $85 = HEAP32[$8>>2]|0; + $86 = ((($85)) + 160|0); + $87 = HEAP32[$86>>2]|0; + $88 = (($84|0) / ($87|0))&-1; + $89 = (($88) + 1)|0; + $90 = ($83|0)!=($89|0); + if ($90) { + $91 = HEAP32[$8>>2]|0; + $92 = HEAP32[$10>>2]|0; + $93 = (_sqlite3PagerGet($91,$92,$11,0)|0); + HEAP32[$2>>2] = $93; + $94 = HEAP32[$2>>2]|0; + $95 = ($94|0)==(0); + if ($95) { + $96 = HEAP32[$11>>2]|0; + $97 = (_pager_write($96)|0); + HEAP32[$2>>2] = $97; + $98 = HEAP32[$11>>2]|0; + $99 = ((($98)) + 24|0); + $100 = HEAP16[$99>>1]|0; + $101 = $100&65535; + $102 = $101 & 8; + $103 = ($102|0)!=(0); + if ($103) { + HEAP32[$7>>2] = 1; + } + $104 = HEAP32[$11>>2]|0; + _sqlite3PagerUnrefNotNull($104); + } + } } + $116 = HEAP32[$6>>2]|0; + $117 = (($116) + 1)|0; + HEAP32[$6>>2] = $117; + } + $118 = HEAP32[$2>>2]|0; + $119 = ($118|0)==(0); + $120 = HEAP32[$7>>2]|0; + $121 = ($120|0)!=(0); + $or$cond = $119 & $121; + if (!($or$cond)) { + $141 = HEAP32[$8>>2]|0; + $142 = ((($141)) + 21|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $145 = $144 & -5; + $146 = $145&255; + HEAP8[$142>>0] = $146; + $147 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($147|0); } + HEAP32[$6>>2] = 0; while(1) { - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)==(0); - $62 = $iBlock; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = ($64|0)!=(0); - $69 = ($67|0)!=(0); - $70 = $68 | $69; - $71 = $61 ? $70 : 0; - if (!($71)) { + $122 = HEAP32[$6>>2]|0; + $123 = HEAP32[$5>>2]|0; + $124 = ($122|0)<($123|0); + if (!($124)) { break; } - HEAP32[$aBlock>>2] = 0; - HEAP32[$nBlock>>2] = 0; - $72 = $iBlock; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = $iNewStart; - $79 = $78; - HEAP32[$79>>2] = $74; - $80 = (($78) + 4)|0; - $81 = $80; - HEAP32[$81>>2] = $77; - $82 = HEAP32[$2>>2]|0; - $83 = $iBlock; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = (($83) + 4)|0; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = (_sqlite3Fts3ReadBlock($82,$85,$88,$aBlock,$nBlock,0)|0); - HEAP32[$rc>>2] = $89; - $90 = HEAP32[$rc>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - $92 = HEAP32[$aBlock>>2]|0; - $93 = HEAP32[$nBlock>>2]|0; - $94 = HEAP32[$5>>2]|0; - $95 = HEAP32[$6>>2]|0; - $96 = (_fts3TruncateNode($92,$93,$block,$94,$95,$iBlock)|0); - HEAP32[$rc>>2] = $96; + $125 = HEAP32[$8>>2]|0; + $126 = HEAP32[$4>>2]|0; + $127 = HEAP32[$6>>2]|0; + $128 = (($126) + ($127))|0; + $129 = (_sqlite3PagerLookup($125,$128)|0); + HEAP32[$12>>2] = $129; + $130 = HEAP32[$12>>2]|0; + $131 = ($130|0)!=(0|0); + if ($131) { + $132 = HEAP32[$12>>2]|0; + $133 = ((($132)) + 24|0); + $134 = HEAP16[$133>>1]|0; + $135 = $134&65535; + $136 = $135 | 8; + $137 = $136&65535; + HEAP16[$133>>1] = $137; + $138 = HEAP32[$12>>2]|0; + _sqlite3PagerUnrefNotNull($138); } - $97 = HEAP32[$rc>>2]|0; - $98 = ($97|0)==(0); - if ($98) { - $99 = HEAP32[$2>>2]|0; - $100 = $iNewStart; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = HEAP32[$block>>2]|0; - $107 = ((($block)) + 4|0); - $108 = HEAP32[$107>>2]|0; - $109 = (_fts3WriteSegment($99,$102,$105,$106,$108)|0); - HEAP32[$rc>>2] = $109; + $139 = HEAP32[$6>>2]|0; + $140 = (($139) + 1)|0; + HEAP32[$6>>2] = $140; + } + $141 = HEAP32[$8>>2]|0; + $142 = ((($141)) + 21|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $145 = $144 & -5; + $146 = $145&255; + HEAP8[$142>>0] = $146; + $147 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($147|0); +} +function _pager_write($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 16|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $7; + HEAP32[$4>>2] = 0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 17|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(2); + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = (_pager_open_journal($13)|0); + HEAP32[$4>>2] = $14; + $15 = HEAP32[$4>>2]|0; + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $17; + $79 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($79|0); } - $110 = HEAP32[$aBlock>>2]|0; - _sqlite3_free($110); } - $111 = HEAP32[$rc>>2]|0; - $112 = ($111|0)==(0); - $113 = $iNewStart; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = (($113) + 4)|0; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = ($115|0)!=(0); - $120 = ($118|0)!=(0); - $121 = $119 | $120; - $or$cond = $112 & $121; - if ($or$cond) { - HEAP32[$pDel>>2] = 0; - $122 = HEAP32[$2>>2]|0; - $123 = (_fts3SqlStmt($122,17,$pDel,0)|0); - HEAP32[$rc>>2] = $123; - $124 = HEAP32[$rc>>2]|0; - $125 = ($124|0)==(0); - if ($125) { - $126 = HEAP32[$pDel>>2]|0; - $127 = $iOldStart; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - (_sqlite3_bind_int64($126,1,$129,$132)|0); - $133 = HEAP32[$pDel>>2]|0; - $134 = $iNewStart; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = (($134) + 4)|0; - $138 = $137; - $139 = HEAP32[$138>>2]|0; - $140 = (_i64Subtract(($136|0),($139|0),1,0)|0); - $141 = tempRet0; - (_sqlite3_bind_int64($133,2,$140,$141)|0); - $142 = HEAP32[$pDel>>2]|0; - (_sqlite3_step($142)|0); - $143 = HEAP32[$pDel>>2]|0; - $144 = (_sqlite3_reset($143)|0); - HEAP32[$rc>>2] = $144; - } - } - $145 = HEAP32[$rc>>2]|0; - $146 = ($145|0)==(0); - if (!($146)) { - $174 = HEAP32[$root>>2]|0; - _sqlite3_free($174); - $175 = HEAP32[$block>>2]|0; - _sqlite3_free($175); - $176 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($176|0); + $18 = HEAP32[$2>>2]|0; + _sqlite3PcacheMakeDirty($18); + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 60|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + do { + if ($22) { + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 60|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3BitvecTestNotNull($25,$28)|0); + $30 = ($29|0)==(0); + if ($30) { + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 20|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 32|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($33>>>0)<=($36>>>0); + if (!($37)) { + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 17|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = ($46|0)!=(4); + if (!($47)) { + break; + } + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 24|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = $51 | 8; + $53 = $52&65535; + HEAP16[$49>>1] = $53; + break; + } + $38 = HEAP32[$2>>2]|0; + $39 = (_pagerAddPageToRollbackJournal($38)|0); + HEAP32[$4>>2] = $39; + $40 = HEAP32[$4>>2]|0; + $41 = ($40|0)!=(0); + if ($41) { + $42 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $42; + $79 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($79|0); + } + } + } + } while(0); + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 24|0); + $56 = HEAP16[$55>>1]|0; + $57 = $56&65535; + $58 = $57 | 4; + $59 = $58&65535; + HEAP16[$55>>1] = $59; + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 104|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)>(0); + if ($63) { + $64 = HEAP32[$2>>2]|0; + $65 = (_subjournalPageIfRequired($64)|0); + HEAP32[$4>>2] = $65; } - HEAP32[$pChomp>>2] = 0; - $147 = HEAP32[$2>>2]|0; - $148 = (_fts3SqlStmt($147,33,$pChomp,0)|0); - HEAP32[$rc>>2] = $148; - $149 = HEAP32[$rc>>2]|0; - $150 = ($149|0)==(0); - if (!($150)) { - $174 = HEAP32[$root>>2]|0; - _sqlite3_free($174); - $175 = HEAP32[$block>>2]|0; - _sqlite3_free($175); - $176 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($176|0); + $66 = HEAP32[$3>>2]|0; + $67 = ((($66)) + 28|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$2>>2]|0; + $70 = ((($69)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($68>>>0)<($71>>>0); + if ($72) { + $73 = HEAP32[$2>>2]|0; + $74 = ((($73)) + 20|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$3>>2]|0; + $77 = ((($76)) + 28|0); + HEAP32[$77>>2] = $75; } - $151 = HEAP32[$pChomp>>2]|0; - $152 = $iNewStart; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = (($152) + 4)|0; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - (_sqlite3_bind_int64($151,1,$154,$157)|0); - $158 = HEAP32[$pChomp>>2]|0; - $159 = HEAP32[$root>>2]|0; - $160 = ((($root)) + 4|0); - $161 = HEAP32[$160>>2]|0; - (_sqlite3_bind_blob($158,2,$159,$161,0)|0); - $162 = HEAP32[$pChomp>>2]|0; - $163 = $3; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - $166 = (($163) + 4)|0; - $167 = $166; - $168 = HEAP32[$167>>2]|0; - (_sqlite3_bind_int64($162,3,$165,$168)|0); - $169 = HEAP32[$pChomp>>2]|0; - $170 = HEAP32[$4>>2]|0; - (_sqlite3_bind_int($169,4,$170)|0); - $171 = HEAP32[$pChomp>>2]|0; - (_sqlite3_step($171)|0); - $172 = HEAP32[$pChomp>>2]|0; - $173 = (_sqlite3_reset($172)|0); - HEAP32[$rc>>2] = $173; - $174 = HEAP32[$root>>2]|0; - _sqlite3_free($174); - $175 = HEAP32[$block>>2]|0; - _sqlite3_free($175); - $176 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($176|0); + $78 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $78; + $79 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($79|0); } -function _fts3RepackSegdirLevel($p,$0,$1) { - $p = $p|0; +function _pager_open_journal($0) { $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $aIdx = 0, $aNew = 0, $i = 0, $nAlloc = 0, $nIdx = 0, $pSelect = 0, $pUpdate = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 44|0; - $3 = sp; - $rc = sp + 40|0; - $aIdx = sp + 36|0; - $nIdx = sp + 32|0; - $nAlloc = sp + 28|0; - $i = sp + 24|0; - $pSelect = sp + 20|0; - $pUpdate = sp + 16|0; - $rc2 = sp + 12|0; - $aNew = sp + 8|0; - HEAP32[$2>>2] = $p; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - HEAP32[$aIdx>>2] = 0; - HEAP32[$nIdx>>2] = 0; - HEAP32[$nAlloc>>2] = 0; - HEAP32[$pSelect>>2] = 0; - HEAP32[$pUpdate>>2] = 0; - $8 = HEAP32[$2>>2]|0; - $9 = (_fts3SqlStmt($8,35,$pSelect,0)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - if ($11) { - $12 = HEAP32[$pSelect>>2]|0; - $13 = $3; - $14 = $13; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 44|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0); + $13 = HEAP32[$2>>2]|0; + if ($12) { + $14 = ((($13)) + 44|0); $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - (_sqlite3_bind_int64($12,1,$15,$18)|0); - while(1) { - $19 = HEAP32[$pSelect>>2]|0; - $20 = (_sqlite3_step($19)|0); - $21 = (100)==($20|0); - if (!($21)) { - break; + HEAP32[$1>>2] = $15; + $97 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($97|0); + } + $16 = (_sqlite3PagerUseWal($13)|0); + $17 = ($16|0)!=(0); + if (!($17)) { + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 5|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($21|0)!=(2); + if ($22) { + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 28|0); + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3BitvecCreate($25)|0); + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 60|0); + HEAP32[$28>>2] = $26; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 60|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + HEAP32[$1>>2] = 7; + $97 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($97|0); } - $22 = HEAP32[$nIdx>>2]|0; - $23 = HEAP32[$nAlloc>>2]|0; - $24 = ($22|0)>=($23|0); - if ($24) { - $25 = HEAP32[$nAlloc>>2]|0; - $26 = (($25) + 16)|0; - HEAP32[$nAlloc>>2] = $26; - $27 = HEAP32[$aIdx>>2]|0; - $28 = HEAP32[$nAlloc>>2]|0; - $29 = $28<<2; - $30 = (_sqlite3_realloc($27,$29)|0); - HEAP32[$aNew>>2] = $30; - $31 = HEAP32[$aNew>>2]|0; - $32 = ($31|0)!=(0|0); - if (!($32)) { - label = 6; - break; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 68|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)!=(0|0); + do { + if (!($37)) { + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 5|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($41|0)==(4); + if ($42) { + $43 = HEAP32[$2>>2]|0; + $44 = ((($43)) + 68|0); + $45 = HEAP32[$44>>2]|0; + _sqlite3MemJournalOpen($45); + break; + } + HEAP32[$5>>2] = 6; + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 13|0); + $48 = HEAP8[$47>>0]|0; + $49 = ($48<<24>>24)!=(0); + $50 = HEAP32[$5>>2]|0; + if ($49) { + $51 = $50 | 4104; + HEAP32[$5>>2] = $51; + $52 = HEAP32[(44)>>2]|0; + HEAP32[$6>>2] = $52; + } else { + $53 = $50 | 2048; + HEAP32[$5>>2] = $53; + HEAP32[$6>>2] = 0; + } + $54 = HEAP32[$2>>2]|0; + $55 = (_databaseIsUnmoved($54)|0); + HEAP32[$3>>2] = $55; + $56 = HEAP32[$3>>2]|0; + $57 = ($56|0)==(0); + if ($57) { + $58 = HEAP32[$4>>2]|0; + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 180|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$2>>2]|0; + $63 = ((($62)) + 68|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = HEAP32[$6>>2]|0; + $67 = (_sqlite3JournalOpen($58,$61,$64,$65,$66)|0); + HEAP32[$3>>2] = $67; + } } - $33 = HEAP32[$aNew>>2]|0; - HEAP32[$aIdx>>2] = $33; + } while(0); + $68 = HEAP32[$3>>2]|0; + $69 = ($68|0)==(0); + if ($69) { + $70 = HEAP32[$2>>2]|0; + $71 = ((($70)) + 48|0); + HEAP32[$71>>2] = 0; + $72 = HEAP32[$2>>2]|0; + $73 = ((($72)) + 80|0); + $74 = $73; + $75 = $74; + HEAP32[$75>>2] = 0; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = 0; + $78 = HEAP32[$2>>2]|0; + $79 = ((($78)) + 20|0); + HEAP8[$79>>0] = 0; + $80 = HEAP32[$2>>2]|0; + $81 = ((($80)) + 88|0); + $82 = $81; + $83 = $82; + HEAP32[$83>>2] = 0; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = 0; + $86 = HEAP32[$2>>2]|0; + $87 = (_writeJournalHdr($86)|0); + HEAP32[$3>>2] = $87; } - $34 = HEAP32[$pSelect>>2]|0; - $35 = (_sqlite3_column_int($34,0)|0); - $36 = HEAP32[$nIdx>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$nIdx>>2] = $37; - $38 = HEAP32[$aIdx>>2]|0; - $39 = (($38) + ($36<<2)|0); - HEAP32[$39>>2] = $35; } - if ((label|0) == 6) { - HEAP32[$rc>>2] = 7; + } + $88 = HEAP32[$3>>2]|0; + $89 = ($88|0)!=(0); + $90 = HEAP32[$2>>2]|0; + if ($89) { + $91 = ((($90)) + 60|0); + $92 = HEAP32[$91>>2]|0; + _sqlite3BitvecDestroy($92); + $93 = HEAP32[$2>>2]|0; + $94 = ((($93)) + 60|0); + HEAP32[$94>>2] = 0; + } else { + $95 = ((($90)) + 17|0); + HEAP8[$95>>0] = 3; + } + $96 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $96; + $97 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($97|0); +} +function _sqlite3BitvecTestNotNull($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$4>>2]|0; + $8 = (($7) + -1)|0; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($9>>>0)>=($11>>>0); + if ($12) { + HEAP32[$2>>2] = 0; + $70 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($70|0); + } + while(1) { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)!=(0); + if (!($16)) { + break; } - $40 = HEAP32[$pSelect>>2]|0; - $41 = (_sqlite3_reset($40)|0); - HEAP32[$rc2>>2] = $41; - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - $44 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $44; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($17>>>0) / ($20>>>0))&-1; + HEAP32[$5>>2] = $21; + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($22>>>0) % ($25>>>0))&-1; + HEAP32[$4>>2] = $26; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$5>>2]|0; + $30 = (($28) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$3>>2] = $31; + $32 = HEAP32[$3>>2]|0; + $33 = ($32|0)!=(0|0); + if (!($33)) { + label = 5; + break; } } - $45 = HEAP32[$rc>>2]|0; - $46 = ($45|0)==(0); - if ($46) { - $47 = HEAP32[$2>>2]|0; - $48 = (_fts3SqlStmt($47,31,$pUpdate,0)|0); - HEAP32[$rc>>2] = $48; + if ((label|0) == 5) { + HEAP32[$2>>2] = 0; + $70 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($70|0); } - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP32[$pUpdate>>2]|0; - $52 = $3; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - (_sqlite3_bind_int64($51,2,$54,$57)|0); + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = ($35>>>0)<=(4000); + if ($36) { + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$4>>2]|0; + $40 = (($39>>>0) / 8)&-1; + $41 = (($38) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = HEAP32[$4>>2]|0; + $45 = $44 & 7; + $46 = 1 << $45; + $47 = $43 & $46; + $48 = ($47|0)!=(0); + $49 = $48&1; + HEAP32[$2>>2] = $49; + $70 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($70|0); } - $58 = HEAP32[$2>>2]|0; - $59 = ((($58)) + 232|0); - HEAP8[$59>>0] = 1; - HEAP32[$i>>2] = 0; + $50 = HEAP32[$4>>2]|0; + $51 = (($50) + 1)|0; + HEAP32[$4>>2] = $51; + $52 = $50; + $53 = (($52>>>0) % 125)&-1; + HEAP32[$6>>2] = $53; while(1) { - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)==(0); - if (!($61)) { - label = 21; + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$6>>2]|0; + $57 = (($55) + ($56<<2)|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)!=(0); + if (!($59)) { + label = 13; break; } - $62 = HEAP32[$i>>2]|0; - $63 = HEAP32[$nIdx>>2]|0; - $64 = ($62|0)<($63|0); - if (!($64)) { - label = 21; + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP32[$6>>2]|0; + $63 = (($61) + ($62<<2)|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$4>>2]|0; + $66 = ($64|0)==($65|0); + if ($66) { + label = 11; break; } - $65 = HEAP32[$i>>2]|0; - $66 = HEAP32[$aIdx>>2]|0; - $67 = (($66) + ($65<<2)|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$i>>2]|0; - $70 = ($68|0)!=($69|0); - if ($70) { - $71 = HEAP32[$pUpdate>>2]|0; - $72 = HEAP32[$i>>2]|0; - $73 = HEAP32[$aIdx>>2]|0; - $74 = (($73) + ($72<<2)|0); - $75 = HEAP32[$74>>2]|0; - (_sqlite3_bind_int($71,3,$75)|0); - $76 = HEAP32[$pUpdate>>2]|0; - $77 = HEAP32[$i>>2]|0; - (_sqlite3_bind_int($76,1,$77)|0); - $78 = HEAP32[$pUpdate>>2]|0; - (_sqlite3_step($78)|0); - $79 = HEAP32[$pUpdate>>2]|0; - $80 = (_sqlite3_reset($79)|0); - HEAP32[$rc>>2] = $80; - } - $81 = HEAP32[$i>>2]|0; - $82 = (($81) + 1)|0; - HEAP32[$i>>2] = $82; + $67 = HEAP32[$6>>2]|0; + $68 = (($67) + 1)|0; + $69 = (($68>>>0) % 125)&-1; + HEAP32[$6>>2] = $69; } - if ((label|0) == 21) { - $83 = HEAP32[$2>>2]|0; - $84 = ((($83)) + 232|0); - HEAP8[$84>>0] = 0; - $85 = HEAP32[$aIdx>>2]|0; - _sqlite3_free($85); - $86 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($86|0); + if ((label|0) == 11) { + HEAP32[$2>>2] = 1; + $70 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($70|0); + } + else if ((label|0) == 13) { + HEAP32[$2>>2] = 0; + $70 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($70|0); } return (0)|0; } -function _fts3TruncateNode($aNode,$nNode,$pNew,$zTerm,$nTerm,$piBlock) { - $aNode = $aNode|0; - $nNode = $nNode|0; - $pNew = $pNew|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - $piBlock = $piBlock|0; - var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 0; +function _pagerAddPageToRollbackJournal($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0, $15 = 0; var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bLeaf = 0, $or$cond = 0, $prev = 0, $rc = 0, $reader = 0, $res = 0, label = 0, sp = 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; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 96|0; - $1 = sp + 92|0; - $2 = sp + 88|0; - $3 = sp + 84|0; - $4 = sp + 80|0; - $5 = sp + 76|0; - $6 = sp + 72|0; - $reader = sp; - $prev = sp + 60|0; - $rc = sp + 56|0; - $bLeaf = sp + 52|0; - $res = sp + 48|0; - HEAP32[$1>>2] = $aNode; - HEAP32[$2>>2] = $nNode; - HEAP32[$3>>2] = $pNew; - HEAP32[$4>>2] = $zTerm; - HEAP32[$5>>2] = $nTerm; - HEAP32[$6>>2] = $piBlock; - ;HEAP32[$prev>>2]=0|0;HEAP32[$prev+4>>2]=0|0;HEAP32[$prev+8>>2]=0|0; - HEAP32[$rc>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)==(0); - $11 = $10&1; - HEAP32[$bLeaf>>2] = $11; - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$2>>2]|0; - _blobGrowBuffer($12,$13,$rc); - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)!=(0); - if ($15) { - $16 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $16; - $111 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($111|0); + STACKTOP = STACKTOP + 32|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$2>>2] = $0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $10; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 80|0); + $13 = $12; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = $7; + $20 = $19; + HEAP32[$20>>2] = $15; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$6>>2] = $25; + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = (_pager_cksum($26,$27)|0); + HEAP32[$5>>2] = $28; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 24|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + $33 = $32 | 8; + $34 = $33&65535; + HEAP16[$30>>1] = $34; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 68|0); + $37 = HEAP32[$36>>2]|0; + $38 = $7; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 20|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_write32bits($37,$40,$43,$46)|0); + HEAP32[$4>>2] = $47; + $48 = HEAP32[$4>>2]|0; + $49 = ($48|0)!=(0); + if ($49) { + $50 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $50; + $132 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($132|0); } - $17 = HEAP32[$3>>2]|0; - $18 = ((($17)) + 4|0); - HEAP32[$18>>2] = 0; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = (_nodeReaderInit($reader,$19,$20)|0); - HEAP32[$rc>>2] = $21; - while(1) { - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)==(0); - $24 = HEAP32[$reader>>2]|0; - $25 = ($24|0)!=(0|0); - $26 = $23 ? $25 : 0; - if (!($26)) { - break; - } - $27 = HEAP32[$3>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0); - if ($30) { - $31 = ((($reader)) + 24|0); - $32 = HEAP32[$31>>2]|0; - $33 = ((($reader)) + 24|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$4>>2]|0; - $37 = HEAP32[$5>>2]|0; - $38 = (_fts3TermCmp($32,$35,$36,$37)|0); - HEAP32[$res>>2] = $38; - $39 = HEAP32[$res>>2]|0; - $40 = ($39|0)<(0); - if (!($40)) { - $41 = HEAP32[$bLeaf>>2]|0; - $42 = ($41|0)==(0); - $43 = HEAP32[$res>>2]|0; - $44 = ($43|0)==(0); - $or$cond = $42 & $44; - if (!($or$cond)) { - $45 = HEAP32[$3>>2]|0; - $46 = HEAP32[$1>>2]|0; - $47 = HEAP8[$46>>0]|0; - $48 = $47 << 24 >> 24; - $49 = ((($reader)) + 16|0); - $50 = $49; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - _fts3StartNode($45,$48,$52,$55); - $56 = ((($reader)) + 16|0); - $57 = $56; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$6>>2]|0; - $64 = $63; - $65 = $64; - HEAP32[$65>>2] = $59; - $66 = (($64) + 4)|0; - $67 = $66; - HEAP32[$67>>2] = $62; - label = 9; - } - } - } else { - label = 9; - } - if ((label|0) == 9) { - label = 0; - $68 = HEAP32[$3>>2]|0; - $69 = ((($reader)) + 24|0); - $70 = HEAP32[$69>>2]|0; - $71 = ((($reader)) + 24|0); - $72 = ((($71)) + 4|0); - $73 = HEAP32[$72>>2]|0; - $74 = ((($reader)) + 36|0); - $75 = HEAP32[$74>>2]|0; - $76 = ((($reader)) + 40|0); - $77 = HEAP32[$76>>2]|0; - $78 = (_fts3AppendToNode($68,$prev,$70,$73,$75,$77)|0); - HEAP32[$rc>>2] = $78; - $79 = HEAP32[$rc>>2]|0; - $80 = ($79|0)!=(0); - if ($80) { - break; - } - } - $81 = (_nodeReaderNext($reader)|0); - HEAP32[$rc>>2] = $81; + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 68|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = HEAP32[$3>>2]|0; + $56 = ((($55)) + 160|0); + $57 = HEAP32[$56>>2]|0; + $58 = $7; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (_i64Add(($60|0),($63|0),4,0)|0); + $65 = tempRet0; + $66 = (_sqlite3OsWrite($53,$54,$57,$64,$65)|0); + HEAP32[$4>>2] = $66; + $67 = HEAP32[$4>>2]|0; + $68 = ($67|0)!=(0); + if ($68) { + $69 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $69; + $132 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($132|0); } - $82 = HEAP32[$3>>2]|0; - $83 = ((($82)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = ($84|0)==(0); - if ($85) { - $86 = HEAP32[$3>>2]|0; - $87 = HEAP32[$1>>2]|0; - $88 = HEAP8[$87>>0]|0; - $89 = $88 << 24 >> 24; - $90 = ((($reader)) + 16|0); - $91 = $90; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (($91) + 4)|0; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - _fts3StartNode($86,$89,$93,$96); - $97 = ((($reader)) + 16|0); - $98 = $97; - $99 = $98; - $100 = HEAP32[$99>>2]|0; - $101 = (($98) + 4)|0; + $70 = HEAP32[$3>>2]|0; + $71 = ((($70)) + 68|0); + $72 = HEAP32[$71>>2]|0; + $73 = $7; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$3>>2]|0; + $80 = ((($79)) + 160|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)<(0); + $83 = $82 << 31 >> 31; + $84 = (_i64Add(($75|0),($78|0),($81|0),($83|0))|0); + $85 = tempRet0; + $86 = (_i64Add(($84|0),($85|0),4,0)|0); + $87 = tempRet0; + $88 = HEAP32[$5>>2]|0; + $89 = (_write32bits($72,$86,$87,$88)|0); + HEAP32[$4>>2] = $89; + $90 = HEAP32[$4>>2]|0; + $91 = ($90|0)!=(0); + if ($91) { + $92 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $92; + $132 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($132|0); + } else { + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 160|0); + $95 = HEAP32[$94>>2]|0; + $96 = (8 + ($95))|0; + $97 = ($96|0)<(0); + $98 = $97 << 31 >> 31; + $99 = HEAP32[$3>>2]|0; + $100 = ((($99)) + 80|0); + $101 = $100; $102 = $101; $103 = HEAP32[$102>>2]|0; - $104 = HEAP32[$6>>2]|0; + $104 = (($101) + 4)|0; $105 = $104; - $106 = $105; - HEAP32[$106>>2] = $100; - $107 = (($105) + 4)|0; - $108 = $107; - HEAP32[$108>>2] = $103; - } - _nodeReaderRelease($reader); - $109 = HEAP32[$prev>>2]|0; - _sqlite3_free($109); - $110 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $110; - $111 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($111|0); -} -function _nodeReaderInit($p,$aNode,$nNode) { - $p = $p|0; - $aNode = $aNode|0; - $nNode = $nNode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $aNode; - HEAP32[$2>>2] = $nNode; - $3 = HEAP32[$0>>2]|0; - dest=$3; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$0>>2]|0; - HEAP32[$5>>2] = $4; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)!=(0); - $13 = HEAP32[$0>>2]|0; - if ($12) { - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 1|0); - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 16|0); - $18 = (_sqlite3Fts3GetVarint($15,$17)|0); - $19 = (1 + ($18))|0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 8|0); - HEAP32[$21>>2] = $19; - $23 = HEAP32[$0>>2]|0; - $24 = (_nodeReaderNext($23)|0); - STACKTOP = sp;return ($24|0); - } else { - $22 = ((($13)) + 8|0); - HEAP32[$22>>2] = 1; - $23 = HEAP32[$0>>2]|0; - $24 = (_nodeReaderNext($23)|0); - STACKTOP = sp;return ($24|0); + $106 = HEAP32[$105>>2]|0; + $107 = (_i64Add(($103|0),($106|0),($96|0),($98|0))|0); + $108 = tempRet0; + $109 = $100; + $110 = $109; + HEAP32[$110>>2] = $107; + $111 = (($109) + 4)|0; + $112 = $111; + HEAP32[$112>>2] = $108; + $113 = HEAP32[$3>>2]|0; + $114 = ((($113)) + 48|0); + $115 = HEAP32[$114>>2]|0; + $116 = (($115) + 1)|0; + HEAP32[$114>>2] = $116; + $117 = HEAP32[$3>>2]|0; + $118 = ((($117)) + 60|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$2>>2]|0; + $121 = ((($120)) + 20|0); + $122 = HEAP32[$121>>2]|0; + $123 = (_sqlite3BitvecSet($119,$122)|0); + HEAP32[$4>>2] = $123; + $124 = HEAP32[$3>>2]|0; + $125 = HEAP32[$2>>2]|0; + $126 = ((($125)) + 20|0); + $127 = HEAP32[$126>>2]|0; + $128 = (_addToSavepointBitvecs($124,$127)|0); + $129 = HEAP32[$4>>2]|0; + $130 = $129 | $128; + HEAP32[$4>>2] = $130; + $131 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $131; + $132 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($132|0); } return (0)|0; } -function _fts3TermCmp($zLhs,$nLhs,$zRhs,$nRhs) { - $zLhs = $zLhs|0; - $nLhs = $nLhs|0; - $zRhs = $zRhs|0; - $nRhs = $nRhs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $nCmp = 0, $res = 0, label = 0, sp = 0; +function _write32bits($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $nCmp = sp + 4|0; - $res = sp; - HEAP32[$0>>2] = $zLhs; - HEAP32[$1>>2] = $nLhs; - HEAP32[$2>>2] = $zRhs; - HEAP32[$3>>2] = $nRhs; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$3>>2]|0; - $6 = ($4|0)<($5|0); - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = $6 ? $7 : $8; - HEAP32[$nCmp>>2] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$nCmp>>2]|0; - $13 = (_memcmp($10,$11,$12)|0); - HEAP32[$res>>2] = $13; - $14 = HEAP32[$res>>2]|0; - $15 = ($14|0)==(0); - if (!($15)) { - $19 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($19|0); + $4 = sp + 12|0; + $5 = sp; + $6 = sp + 8|0; + $7 = sp + 16|0; + HEAP32[$4>>2] = $0; + $8 = $5; + $9 = $8; + HEAP32[$9>>2] = $1; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $2; + HEAP32[$6>>2] = $3; + $12 = HEAP32[$6>>2]|0; + _sqlite3Put4byte($7,$12); + $13 = HEAP32[$4>>2]|0; + $14 = $5; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3OsWrite($13,$7,4,$16,$19)|0); + STACKTOP = sp;return ($20|0); +} +function _sqlite3BitvecCreate($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = (_sqlite3MallocZero(512,0)|0); + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $8 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($8|0); } - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = (($16) - ($17))|0; - HEAP32[$res>>2] = $18; - $19 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($19|0); + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$2>>2]|0; + HEAP32[$7>>2] = $6; + $8 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($8|0); } -function _fts3StartNode($pNode,$iHeight,$0,$1) { - $pNode = $pNode|0; - $iHeight = $iHeight|0; +function _sqlite3MemJournalOpen($0) { $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + (_sqlite3JournalOpen(0,0,$2,0,-1)|0); + STACKTOP = sp;return; +} +function _databaseIsUnmoved($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; $4 = sp; - HEAP32[$2>>2] = $pNode; - HEAP32[$3>>2] = $iHeight; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = $9&255; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$11>>2]|0; - HEAP8[$12>>0] = $10; - $13 = $4; - $14 = $13; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 13|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)!=(0); + if ($8) { + HEAP32[$1>>2] = 0; + $24 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($24|0); + } + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 28|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if ($12) { + HEAP32[$1>>2] = 0; + $24 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($24|0); + } + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 64|0); $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)!=(0); - $20 = ($18|0)!=(0); - $21 = $19 | $20; - $22 = HEAP32[$2>>2]|0; - if ($21) { - $23 = HEAP32[$22>>2]|0; - $24 = ((($23)) + 1|0); - $25 = $4; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3Fts3PutVarint($24,$27,$30)|0); - $32 = (1 + ($31))|0; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 4|0); - HEAP32[$34>>2] = $32; - STACKTOP = sp;return; + $16 = (_sqlite3OsFileControl($15,20,$3)|0); + HEAP32[$4>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = ($17|0)==(12); + if ($18) { + HEAP32[$4>>2] = 0; } else { - $35 = ((($22)) + 4|0); - HEAP32[$35>>2] = 1; - STACKTOP = sp;return; + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)==(0); + $21 = HEAP32[$3>>2]|0; + $22 = ($21|0)!=(0); + $or$cond = $20 & $22; + if ($or$cond) { + HEAP32[$4>>2] = 1032; + } } + $23 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $23; + $24 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($24|0); } -function _fts3AppendToNode($pNode,$pPrev,$zTerm,$nTerm,$aDoclist,$nDoclist) { - $pNode = $pNode|0; - $pPrev = $pPrev|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - $aDoclist = $aDoclist|0; - $nDoclist = $nDoclist|0; - var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 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, $bFirst = 0, $nPrefix = 0, $nSuffix = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3JournalOpen($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0; + var sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $5 = sp + 20|0; - $6 = sp + 16|0; - $rc = sp + 12|0; - $bFirst = sp + 8|0; - $nPrefix = sp + 4|0; - $nSuffix = sp; - HEAP32[$1>>2] = $pNode; - HEAP32[$2>>2] = $pPrev; - HEAP32[$3>>2] = $zTerm; - HEAP32[$4>>2] = $nTerm; - HEAP32[$5>>2] = $aDoclist; - HEAP32[$6>>2] = $nDoclist; - HEAP32[$rc>>2] = 0; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - $11 = $10&1; - HEAP32[$bFirst>>2] = $11; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$4>>2]|0; - _blobGrowBuffer($12,$13,$rc); - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)!=(0); + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $12 = HEAP32[$8>>2]|0; + HEAP32[$11>>2] = $12; + $13 = HEAP32[$11>>2]|0; + dest=$13; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $14 = HEAP32[$10>>2]|0; + $15 = ($14|0)==(0); if ($15) { - $16 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $16; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); - } - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = (_fts3PrefixCompress($18,$21,$22,$23)|0); - HEAP32[$nPrefix>>2] = $24; - $25 = HEAP32[$4>>2]|0; - $26 = HEAP32[$nPrefix>>2]|0; - $27 = (($25) - ($26))|0; - HEAP32[$nSuffix>>2] = $27; - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$3>>2]|0; - $31 = HEAP32[$4>>2]|0; - _memcpy(($29|0),($30|0),($31|0))|0; - $32 = HEAP32[$4>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 4|0); - HEAP32[$34>>2] = $32; - $35 = HEAP32[$bFirst>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + ($39)|0); - $43 = HEAP32[$nPrefix>>2]|0; - $44 = ($43|0)<(0); - $45 = $44 << 31 >> 31; - $46 = (_sqlite3Fts3PutVarint($42,$43,$45)|0); - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 4|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($46))|0; - HEAP32[$48>>2] = $50; - } - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 4|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$1>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + ($53)|0); - $57 = HEAP32[$nSuffix>>2]|0; - $58 = ($57|0)<(0); - $59 = $58 << 31 >> 31; - $60 = (_sqlite3Fts3PutVarint($56,$57,$59)|0); - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 4|0); - $63 = HEAP32[$62>>2]|0; - $64 = (($63) + ($60))|0; - HEAP32[$62>>2] = $64; - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = (($69) + ($67)|0); - $71 = HEAP32[$nPrefix>>2]|0; - $72 = HEAP32[$3>>2]|0; - $73 = (($72) + ($71)|0); - $74 = HEAP32[$nSuffix>>2]|0; - _memcpy(($70|0),($73|0),($74|0))|0; - $75 = HEAP32[$nSuffix>>2]|0; - $76 = HEAP32[$1>>2]|0; - $77 = ((($76)) + 4|0); - $78 = HEAP32[$77>>2]|0; - $79 = (($78) + ($75))|0; - HEAP32[$77>>2] = $79; - $80 = HEAP32[$5>>2]|0; - $81 = ($80|0)!=(0|0); - if ($81) { - $82 = HEAP32[$1>>2]|0; - $83 = ((($82)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$1>>2]|0; - $86 = HEAP32[$85>>2]|0; - $87 = (($86) + ($84)|0); - $88 = HEAP32[$6>>2]|0; - $89 = ($88|0)<(0); - $90 = $89 << 31 >> 31; - $91 = (_sqlite3Fts3PutVarint($87,$88,$90)|0); - $92 = HEAP32[$1>>2]|0; - $93 = ((($92)) + 4|0); - $94 = HEAP32[$93>>2]|0; - $95 = (($94) + ($91))|0; - HEAP32[$93>>2] = $95; - $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$1>>2]|0; - $100 = HEAP32[$99>>2]|0; - $101 = (($100) + ($98)|0); - $102 = HEAP32[$5>>2]|0; - $103 = HEAP32[$6>>2]|0; - _memcpy(($101|0),($102|0),($103|0))|0; - $104 = HEAP32[$6>>2]|0; - $105 = HEAP32[$1>>2]|0; - $106 = ((($105)) + 4|0); - $107 = HEAP32[$106>>2]|0; - $108 = (($107) + ($104))|0; - HEAP32[$106>>2] = $108; + $16 = HEAP32[$6>>2]|0; + $17 = HEAP32[$7>>2]|0; + $18 = HEAP32[$8>>2]|0; + $19 = HEAP32[$9>>2]|0; + $20 = (_sqlite3OsOpen($16,$17,$18,$19,0)|0); + HEAP32[$5>>2] = $20; + $40 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($40|0); + } else { + $21 = HEAP32[$10>>2]|0; + $22 = ($21|0)>(0); + $23 = HEAP32[$11>>2]|0; + $24 = HEAP32[$10>>2]|0; + $25 = HEAP32[$11>>2]|0; + $$sink2 = $22 ? $25 : $23; + $$sink = $22 ? $24 : 1020; + $26 = ((($$sink2)) + 4|0); + HEAP32[$26>>2] = $$sink; + $27 = HEAP32[$11>>2]|0; + HEAP32[$27>>2] = 4104; + $28 = HEAP32[$10>>2]|0; + $29 = HEAP32[$11>>2]|0; + $30 = ((($29)) + 8|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$9>>2]|0; + $32 = HEAP32[$11>>2]|0; + $33 = ((($32)) + 56|0); + HEAP32[$33>>2] = $31; + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$11>>2]|0; + $36 = ((($35)) + 64|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$11>>2]|0; + $39 = ((($38)) + 60|0); + HEAP32[$39>>2] = $37; + HEAP32[$5>>2] = 0; + $40 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($40|0); } - HEAP32[$0>>2] = 0; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + return (0)|0; } -function _nodeReaderNext($p) { - $p = $p|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $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, $bFirst = 0, $nPrefix = 0, $nSuffix = 0; - var $or$cond = 0, $rc = 0, label = 0, sp = 0; +function _writeJournalHdr($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $bFirst = sp + 12|0; - $nPrefix = sp + 8|0; - $nSuffix = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - $6 = $5&1; - HEAP32[$bFirst>>2] = $6; - HEAP32[$nPrefix>>2] = 0; - HEAP32[$nSuffix>>2] = 0; - HEAP32[$rc>>2] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 16|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = ($11|0)!=(0); - $16 = ($14|0)!=(0); - $17 = $15 | $16; - $18 = HEAP32[$bFirst>>2]|0; - $19 = ($18|0)==(0); - $or$cond = $17 & $19; - if ($or$cond) { - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 16|0); - $22 = $21; - $23 = $22; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 208|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 160|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 156|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($13>>>0)>($16>>>0); + if ($17) { + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 156|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$4>>2] = $20; + } + HEAP32[$6>>2] = 0; + while(1) { + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 104|0); $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (_i64Add(($24|0),($27|0),1,0)|0); - $29 = tempRet0; - $30 = $21; - $31 = $30; - HEAP32[$31>>2] = $28; - $32 = (($30) + 4)|0; + $25 = ($21|0)<($24|0); + $26 = HEAP32[$1>>2]|0; + if (!($25)) { + break; + } + $27 = ((($26)) + 100|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$6>>2]|0; + $30 = (($28) + (($29*48)|0)|0); + $31 = ((($30)) + 8|0); + $32 = $31; $33 = $32; - HEAP32[$33>>2] = $29; - } - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($36|0)>=($39|0); - if ($40) { - $41 = HEAP32[$0>>2]|0; - HEAP32[$41>>2] = 0; - $176 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($176|0); - } - $42 = HEAP32[$bFirst>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 8|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$0>>2]|0; - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + ($46)|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = $51 & 128; - $53 = ($52|0)!=(0); - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 8|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$0>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = (($58) + ($56)|0); - if ($53) { - $60 = (_sqlite3Fts3GetVarint32($59,$nPrefix)|0); - $67 = $60; - } else { - $61 = HEAP8[$59>>0]|0; - $62 = $61&255; - HEAP32[$nPrefix>>2] = $62; - $67 = 1; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)==(0); + $39 = ($37|0)==(0); + $40 = $38 & $39; + if ($40) { + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 80|0); + $43 = $42; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 100|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$6>>2]|0; + $53 = (($51) + (($52*48)|0)|0); + $54 = ((($53)) + 8|0); + $55 = $54; + $56 = $55; + HEAP32[$56>>2] = $45; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $48; } - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 8|0); - $65 = HEAP32[$64>>2]|0; - $66 = (($65) + ($67))|0; - HEAP32[$64>>2] = $66; + $59 = HEAP32[$6>>2]|0; + $60 = (($59) + 1)|0; + HEAP32[$6>>2] = $60; } - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$0>>2]|0; - $72 = HEAP32[$71>>2]|0; - $73 = (($72) + ($70)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 & 128; - $77 = ($76|0)!=(0); - $78 = HEAP32[$0>>2]|0; - $79 = ((($78)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = HEAP32[$0>>2]|0; - $82 = HEAP32[$81>>2]|0; - $83 = (($82) + ($80)|0); - if ($77) { - $84 = (_sqlite3Fts3GetVarint32($83,$nSuffix)|0); - $91 = $84; + $61 = (_journalHdrOffset($26)|0); + $62 = tempRet0; + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 80|0); + $65 = $64; + $66 = $65; + HEAP32[$66>>2] = $61; + $67 = (($65) + 4)|0; + $68 = $67; + HEAP32[$68>>2] = $62; + $69 = HEAP32[$1>>2]|0; + $70 = ((($69)) + 88|0); + $71 = $70; + $72 = $71; + HEAP32[$72>>2] = $61; + $73 = (($71) + 4)|0; + $74 = $73; + HEAP32[$74>>2] = $62; + $75 = HEAP32[$1>>2]|0; + $76 = ((($75)) + 7|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = ($78|0)!=(0); + if ($79) { + label = 11; } else { - $85 = HEAP8[$83>>0]|0; - $86 = $85&255; - HEAP32[$nSuffix>>2] = $86; - $91 = 1; + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 5|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = ($83|0)==(4); + if ($84) { + label = 11; + } else { + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 64|0); + $87 = HEAP32[$86>>2]|0; + $88 = (_sqlite3OsDeviceCharacteristics($87)|0); + $89 = $88 & 512; + $90 = ($89|0)!=(0); + if ($90) { + label = 11; + } else { + $94 = HEAP32[$3>>2]|0; + dest=$94; stop=dest+12|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + } + } } - $87 = HEAP32[$0>>2]|0; - $88 = ((($87)) + 8|0); - $89 = HEAP32[$88>>2]|0; - $90 = (($89) + ($91))|0; - HEAP32[$88>>2] = $90; - $92 = HEAP32[$0>>2]|0; - $93 = ((($92)) + 24|0); - $94 = HEAP32[$nPrefix>>2]|0; - $95 = HEAP32[$nSuffix>>2]|0; - $96 = (($94) + ($95))|0; - _blobGrowBuffer($93,$96,$rc); - $97 = HEAP32[$rc>>2]|0; - $98 = ($97|0)==(0); - if (!($98)) { - $176 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($176|0); + if ((label|0) == 11) { + $91 = HEAP32[$3>>2]|0; + ;HEAP8[$91>>0]=HEAP8[24914>>0]|0;HEAP8[$91+1>>0]=HEAP8[24914+1>>0]|0;HEAP8[$91+2>>0]=HEAP8[24914+2>>0]|0;HEAP8[$91+3>>0]=HEAP8[24914+3>>0]|0;HEAP8[$91+4>>0]=HEAP8[24914+4>>0]|0;HEAP8[$91+5>>0]=HEAP8[24914+5>>0]|0;HEAP8[$91+6>>0]=HEAP8[24914+6>>0]|0;HEAP8[$91+7>>0]=HEAP8[24914+7>>0]|0; + $92 = HEAP32[$3>>2]|0; + $93 = ((($92)) + 8|0); + _sqlite3Put4byte($93,-1); } - $99 = HEAP32[$nPrefix>>2]|0; - $100 = HEAP32[$0>>2]|0; - $101 = ((($100)) + 24|0); - $102 = HEAP32[$101>>2]|0; - $103 = (($102) + ($99)|0); - $104 = HEAP32[$0>>2]|0; - $105 = ((($104)) + 8|0); + $95 = HEAP32[$1>>2]|0; + $96 = ((($95)) + 52|0); + _sqlite3_randomness(4,$96); + $97 = HEAP32[$3>>2]|0; + $98 = ((($97)) + 12|0); + $99 = HEAP32[$1>>2]|0; + $100 = ((($99)) + 52|0); + $101 = HEAP32[$100>>2]|0; + _sqlite3Put4byte($98,$101); + $102 = HEAP32[$3>>2]|0; + $103 = ((($102)) + 16|0); + $104 = HEAP32[$1>>2]|0; + $105 = ((($104)) + 32|0); $106 = HEAP32[$105>>2]|0; - $107 = HEAP32[$0>>2]|0; - $108 = HEAP32[$107>>2]|0; - $109 = (($108) + ($106)|0); - $110 = HEAP32[$nSuffix>>2]|0; - _memcpy(($103|0),($109|0),($110|0))|0; - $111 = HEAP32[$nPrefix>>2]|0; - $112 = HEAP32[$nSuffix>>2]|0; - $113 = (($111) + ($112))|0; - $114 = HEAP32[$0>>2]|0; - $115 = ((($114)) + 24|0); - $116 = ((($115)) + 4|0); - HEAP32[$116>>2] = $113; - $117 = HEAP32[$nSuffix>>2]|0; - $118 = HEAP32[$0>>2]|0; - $119 = ((($118)) + 8|0); - $120 = HEAP32[$119>>2]|0; - $121 = (($120) + ($117))|0; - HEAP32[$119>>2] = $121; - $122 = HEAP32[$0>>2]|0; - $123 = ((($122)) + 16|0); - $124 = $123; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = (($124) + 4)|0; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = ($126|0)==(0); - $131 = ($129|0)==(0); - $132 = $130 & $131; - if (!($132)) { - $176 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($176|0); + _sqlite3Put4byte($103,$106); + $107 = HEAP32[$3>>2]|0; + $108 = ((($107)) + 20|0); + $109 = HEAP32[$1>>2]|0; + $110 = ((($109)) + 156|0); + $111 = HEAP32[$110>>2]|0; + _sqlite3Put4byte($108,$111); + $112 = HEAP32[$3>>2]|0; + $113 = ((($112)) + 24|0); + $114 = HEAP32[$1>>2]|0; + $115 = ((($114)) + 160|0); + $116 = HEAP32[$115>>2]|0; + _sqlite3Put4byte($113,$116); + $117 = HEAP32[$3>>2]|0; + $118 = ((($117)) + 28|0); + $119 = HEAP32[$4>>2]|0; + $120 = (($119) - 28)|0; + _memset(($118|0),0,($120|0))|0; + HEAP32[$5>>2] = 0; + while(1) { + $121 = HEAP32[$2>>2]|0; + $122 = ($121|0)==(0); + if (!($122)) { + label = 17; + break; + } + $123 = HEAP32[$5>>2]|0; + $124 = HEAP32[$1>>2]|0; + $125 = ((($124)) + 156|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($123>>>0)<($126>>>0); + if (!($127)) { + label = 17; + break; + } + $128 = HEAP32[$1>>2]|0; + $129 = ((($128)) + 68|0); + $130 = HEAP32[$129>>2]|0; + $131 = HEAP32[$3>>2]|0; + $132 = HEAP32[$4>>2]|0; + $133 = HEAP32[$1>>2]|0; + $134 = ((($133)) + 80|0); + $135 = $134; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (($135) + 4)|0; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (_sqlite3OsWrite($130,$131,$132,$137,$140)|0); + HEAP32[$2>>2] = $141; + $142 = HEAP32[$4>>2]|0; + $143 = HEAP32[$1>>2]|0; + $144 = ((($143)) + 80|0); + $145 = $144; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = (_i64Add(($147|0),($150|0),($142|0),0)|0); + $152 = tempRet0; + $153 = $144; + $154 = $153; + HEAP32[$154>>2] = $151; + $155 = (($153) + 4)|0; + $156 = $155; + HEAP32[$156>>2] = $152; + $157 = HEAP32[$4>>2]|0; + $158 = HEAP32[$5>>2]|0; + $159 = (($158) + ($157))|0; + HEAP32[$5>>2] = $159; } - $133 = HEAP32[$0>>2]|0; - $134 = ((($133)) + 8|0); - $135 = HEAP32[$134>>2]|0; - $136 = HEAP32[$0>>2]|0; - $137 = HEAP32[$136>>2]|0; - $138 = (($137) + ($135)|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = $140 & 128; - $142 = ($141|0)!=(0); - $143 = HEAP32[$0>>2]|0; - $144 = ((($143)) + 8|0); - $145 = HEAP32[$144>>2]|0; - $146 = HEAP32[$0>>2]|0; - $147 = HEAP32[$146>>2]|0; - $148 = (($147) + ($145)|0); - if ($142) { - $149 = HEAP32[$0>>2]|0; - $150 = ((($149)) + 40|0); - $151 = (_sqlite3Fts3GetVarint32($148,$150)|0); - $160 = $151; - } else { - $152 = HEAP8[$148>>0]|0; - $153 = $152&255; - $154 = HEAP32[$0>>2]|0; - $155 = ((($154)) + 40|0); - HEAP32[$155>>2] = $153; - $160 = 1; + if ((label|0) == 17) { + $160 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($160|0); } - $156 = HEAP32[$0>>2]|0; - $157 = ((($156)) + 8|0); - $158 = HEAP32[$157>>2]|0; - $159 = (($158) + ($160))|0; - HEAP32[$157>>2] = $159; - $161 = HEAP32[$0>>2]|0; - $162 = ((($161)) + 8|0); - $163 = HEAP32[$162>>2]|0; - $164 = HEAP32[$0>>2]|0; - $165 = HEAP32[$164>>2]|0; - $166 = (($165) + ($163)|0); - $167 = HEAP32[$0>>2]|0; - $168 = ((($167)) + 36|0); - HEAP32[$168>>2] = $166; - $169 = HEAP32[$0>>2]|0; - $170 = ((($169)) + 40|0); - $171 = HEAP32[$170>>2]|0; - $172 = HEAP32[$0>>2]|0; - $173 = ((($172)) + 8|0); - $174 = HEAP32[$173>>2]|0; - $175 = (($174) + ($171))|0; - HEAP32[$173>>2] = $175; - $176 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($176|0); -} -function _nodeReaderRelease($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = HEAP32[$2>>2]|0; - _sqlite3_free($3); - STACKTOP = sp;return; + return (0)|0; } -function _fts3IncrmergePush($p,$pWriter,$zTerm,$nTerm) { - $p = $p|0; - $pWriter = $pWriter|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iLayer = 0, $iNextPtr = 0, $iPtr = 0, $nPrefix = 0, $nSpace = 0, $nSuffix = 0; - var $or$cond = 0, $pBlk = 0, $pNode = 0, $rc = 0, label = 0, sp = 0; +function _journalHdrOffset($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $iPtr = sp + 8|0; - $iLayer = sp + 40|0; - $iNextPtr = sp; - $pNode = sp + 36|0; - $rc = sp + 32|0; - $nPrefix = sp + 28|0; - $nSuffix = sp + 24|0; - $nSpace = sp + 20|0; - $pBlk = sp + 16|0; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pWriter; - HEAP32[$3>>2] = $zTerm; - HEAP32[$4>>2] = $nTerm; - $5 = HEAP32[$2>>2]|0; - $6 = ((($5)) + 56|0); + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = $2; + $5 = $4; + HEAP32[$5>>2] = 0; + $6 = (($4) + 4)|0; $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; + HEAP32[$7>>2] = 0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 80|0); + $10 = $9; $11 = $10; $12 = HEAP32[$11>>2]|0; - $13 = $iPtr; + $13 = (($10) + 4)|0; $14 = $13; - HEAP32[$14>>2] = $9; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = $12; - HEAP32[$iLayer>>2] = 1; + $15 = HEAP32[$14>>2]|0; + $16 = $3; + $17 = $16; + HEAP32[$17>>2] = $12; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $15; + $20 = $3; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = ($22|0)!=(0); + $27 = ($25|0)!=(0); + $28 = $26 | $27; + if (!($28)) { + $53 = $2; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + tempRet0 = ($58); + STACKTOP = sp;return ($55|0); + } + $29 = $3; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (_i64Subtract(($31|0),($34|0),1,0)|0); + $36 = tempRet0; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 156|0); + $39 = HEAP32[$38>>2]|0; + $40 = (___divdi3(($35|0),($36|0),($39|0),0)|0); + $41 = tempRet0; + $42 = (_i64Add(($40|0),($41|0),1,0)|0); + $43 = tempRet0; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 156|0); + $46 = HEAP32[$45>>2]|0; + $47 = (___muldi3(($42|0),($43|0),($46|0),0)|0); + $48 = tempRet0; + $49 = $2; + $50 = $49; + HEAP32[$50>>2] = $47; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = $48; + $53 = $2; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + tempRet0 = ($58); + STACKTOP = sp;return ($55|0); +} +function _subjRequiresPage($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $12; + HEAP32[$6>>2] = 0; while(1) { - $17 = HEAP32[$iLayer>>2]|0; - $18 = ($17|0)<(16); - if (!($18)) { - label = 16; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 104|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($13|0)<($16|0); + if (!($17)) { + label = 7; break; } - $19 = $iNextPtr; - $20 = $19; - HEAP32[$20>>2] = 0; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = 0; - $23 = HEAP32[$iLayer>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 56|0); - $26 = (($25) + ($23<<5)|0); - HEAP32[$pNode>>2] = $26; - HEAP32[$rc>>2] = 0; - $27 = HEAP32[$pNode>>2]|0; - $28 = ((($27)) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$pNode>>2]|0; - $31 = ((($30)) + 8|0); - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = HEAP32[$4>>2]|0; - $36 = (_fts3PrefixCompress($29,$33,$34,$35)|0); - HEAP32[$nPrefix>>2] = $36; - $37 = HEAP32[$4>>2]|0; - $38 = HEAP32[$nPrefix>>2]|0; - $39 = (($37) - ($38))|0; - HEAP32[$nSuffix>>2] = $39; - $40 = HEAP32[$nPrefix>>2]|0; - $41 = ($40|0)<(0); - $42 = $41 << 31 >> 31; - $43 = (_sqlite3Fts3VarintLen($40,$42)|0); - HEAP32[$nSpace>>2] = $43; - $44 = HEAP32[$nSuffix>>2]|0; - $45 = ($44|0)<(0); - $46 = $45 << 31 >> 31; - $47 = (_sqlite3Fts3VarintLen($44,$46)|0); - $48 = HEAP32[$nSuffix>>2]|0; - $49 = (($47) + ($48))|0; - $50 = HEAP32[$nSpace>>2]|0; - $51 = (($50) + ($49))|0; - HEAP32[$nSpace>>2] = $51; - $52 = HEAP32[$pNode>>2]|0; - $53 = ((($52)) + 8|0); - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==(0); - if ($56) { - label = 5; - } else { - $57 = HEAP32[$pNode>>2]|0; - $58 = ((($57)) + 20|0); - $59 = ((($58)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$nSpace>>2]|0; - $62 = (($60) + ($61))|0; - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 224|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($62|0)<=($65|0); - if ($66) { + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 100|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = (($20) + (($21*48)|0)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = ($25>>>0)>=($26>>>0); + if ($27) { + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = (_sqlite3BitvecTestNotNull($30,$31)|0); + $33 = (0)==($32|0); + if ($33) { label = 5; - } else { - $164 = HEAP32[$1>>2]|0; - $165 = HEAP32[$pNode>>2]|0; - $166 = $165; - $167 = $166; - $168 = HEAP32[$167>>2]|0; - $169 = (($166) + 4)|0; - $170 = $169; - $171 = HEAP32[$170>>2]|0; - $172 = HEAP32[$pNode>>2]|0; - $173 = ((($172)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = HEAP32[$pNode>>2]|0; - $176 = ((($175)) + 20|0); - $177 = ((($176)) + 4|0); - $178 = HEAP32[$177>>2]|0; - $179 = (_fts3WriteSegment($164,$168,$171,$174,$178)|0); - HEAP32[$rc>>2] = $179; - $180 = HEAP32[$iLayer>>2]|0; - $181 = $180&255; - $182 = HEAP32[$pNode>>2]|0; - $183 = ((($182)) + 20|0); - $184 = HEAP32[$183>>2]|0; - HEAP8[$184>>0] = $181; - $185 = HEAP32[$pNode>>2]|0; - $186 = ((($185)) + 20|0); - $187 = HEAP32[$186>>2]|0; - $188 = ((($187)) + 1|0); - $189 = $iPtr; - $190 = $189; - $191 = HEAP32[$190>>2]|0; - $192 = (($189) + 4)|0; - $193 = $192; - $194 = HEAP32[$193>>2]|0; - $195 = (_i64Add(($191|0),($194|0),1,0)|0); - $196 = tempRet0; - $197 = (_sqlite3Fts3PutVarint($188,$195,$196)|0); - $198 = (1 + ($197))|0; - $199 = HEAP32[$pNode>>2]|0; - $200 = ((($199)) + 20|0); - $201 = ((($200)) + 4|0); - HEAP32[$201>>2] = $198; - $202 = HEAP32[$pNode>>2]|0; - $203 = $202; - $204 = $203; - $205 = HEAP32[$204>>2]|0; - $206 = (($203) + 4)|0; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = $iNextPtr; - $210 = $209; - HEAP32[$210>>2] = $205; - $211 = (($209) + 4)|0; - $212 = $211; - HEAP32[$212>>2] = $208; - $213 = HEAP32[$pNode>>2]|0; - $214 = $213; - $215 = $214; - $216 = HEAP32[$215>>2]|0; - $217 = (($214) + 4)|0; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = (_i64Add(($216|0),($219|0),1,0)|0); - $221 = tempRet0; - $222 = $213; - $223 = $222; - HEAP32[$223>>2] = $220; - $224 = (($222) + 4)|0; - $225 = $224; - HEAP32[$225>>2] = $221; - $226 = HEAP32[$pNode>>2]|0; - $227 = ((($226)) + 8|0); - $228 = ((($227)) + 4|0); - HEAP32[$228>>2] = 0; - } - } - if ((label|0) == 5) { - label = 0; - $67 = HEAP32[$pNode>>2]|0; - $68 = ((($67)) + 20|0); - HEAP32[$pBlk>>2] = $68; - $69 = HEAP32[$pBlk>>2]|0; - $70 = ((($69)) + 4|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)==(0); - if ($72) { - $73 = HEAP32[$pBlk>>2]|0; - $74 = HEAP32[$1>>2]|0; - $75 = ((($74)) + 224|0); - $76 = HEAP32[$75>>2]|0; - _blobGrowBuffer($73,$76,$rc); - $77 = HEAP32[$rc>>2]|0; - $78 = ($77|0)==(0); - if ($78) { - $79 = HEAP32[$iLayer>>2]|0; - $80 = $79&255; - $81 = HEAP32[$pBlk>>2]|0; - $82 = HEAP32[$81>>2]|0; - HEAP8[$82>>0] = $80; - $83 = HEAP32[$pBlk>>2]|0; - $84 = HEAP32[$83>>2]|0; - $85 = ((($84)) + 1|0); - $86 = $iPtr; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = (($86) + 4)|0; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (_sqlite3Fts3PutVarint($85,$88,$91)|0); - $93 = (1 + ($92))|0; - $94 = HEAP32[$pBlk>>2]|0; - $95 = ((($94)) + 4|0); - HEAP32[$95>>2] = $93; - } - } - $96 = HEAP32[$pBlk>>2]|0; - $97 = HEAP32[$pBlk>>2]|0; - $98 = ((($97)) + 4|0); - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$nSpace>>2]|0; - $101 = (($99) + ($100))|0; - _blobGrowBuffer($96,$101,$rc); - $102 = HEAP32[$pNode>>2]|0; - $103 = ((($102)) + 8|0); - $104 = HEAP32[$4>>2]|0; - _blobGrowBuffer($103,$104,$rc); - $105 = HEAP32[$rc>>2]|0; - $106 = ($105|0)==(0); - if ($106) { - $107 = HEAP32[$pNode>>2]|0; - $108 = ((($107)) + 8|0); - $109 = ((($108)) + 4|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)!=(0); - if ($111) { - $112 = HEAP32[$pBlk>>2]|0; - $113 = ((($112)) + 4|0); - $114 = HEAP32[$113>>2]|0; - $115 = HEAP32[$pBlk>>2]|0; - $116 = HEAP32[$115>>2]|0; - $117 = (($116) + ($114)|0); - $118 = HEAP32[$nPrefix>>2]|0; - $119 = ($118|0)<(0); - $120 = $119 << 31 >> 31; - $121 = (_sqlite3Fts3PutVarint($117,$118,$120)|0); - $122 = HEAP32[$pBlk>>2]|0; - $123 = ((($122)) + 4|0); - $124 = HEAP32[$123>>2]|0; - $125 = (($124) + ($121))|0; - HEAP32[$123>>2] = $125; - } - $126 = HEAP32[$pBlk>>2]|0; - $127 = ((($126)) + 4|0); - $128 = HEAP32[$127>>2]|0; - $129 = HEAP32[$pBlk>>2]|0; - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + ($128)|0); - $132 = HEAP32[$nSuffix>>2]|0; - $133 = ($132|0)<(0); - $134 = $133 << 31 >> 31; - $135 = (_sqlite3Fts3PutVarint($131,$132,$134)|0); - $136 = HEAP32[$pBlk>>2]|0; - $137 = ((($136)) + 4|0); - $138 = HEAP32[$137>>2]|0; - $139 = (($138) + ($135))|0; - HEAP32[$137>>2] = $139; - $140 = HEAP32[$pBlk>>2]|0; - $141 = ((($140)) + 4|0); - $142 = HEAP32[$141>>2]|0; - $143 = HEAP32[$pBlk>>2]|0; - $144 = HEAP32[$143>>2]|0; - $145 = (($144) + ($142)|0); - $146 = HEAP32[$nPrefix>>2]|0; - $147 = HEAP32[$3>>2]|0; - $148 = (($147) + ($146)|0); - $149 = HEAP32[$nSuffix>>2]|0; - _memcpy(($145|0),($148|0),($149|0))|0; - $150 = HEAP32[$nSuffix>>2]|0; - $151 = HEAP32[$pBlk>>2]|0; - $152 = ((($151)) + 4|0); - $153 = HEAP32[$152>>2]|0; - $154 = (($153) + ($150))|0; - HEAP32[$152>>2] = $154; - $155 = HEAP32[$pNode>>2]|0; - $156 = ((($155)) + 8|0); - $157 = HEAP32[$156>>2]|0; - $158 = HEAP32[$3>>2]|0; - $159 = HEAP32[$4>>2]|0; - _memcpy(($157|0),($158|0),($159|0))|0; - $160 = HEAP32[$4>>2]|0; - $161 = HEAP32[$pNode>>2]|0; - $162 = ((($161)) + 8|0); - $163 = ((($162)) + 4|0); - HEAP32[$163>>2] = $160; + break; } } - $229 = HEAP32[$rc>>2]|0; - $230 = ($229|0)!=(0); - $231 = $iNextPtr; - $232 = $231; - $233 = HEAP32[$232>>2]|0; - $234 = (($231) + 4)|0; - $235 = $234; - $236 = HEAP32[$235>>2]|0; - $237 = ($233|0)==(0); - $238 = ($236|0)==(0); - $239 = $237 & $238; - $or$cond = $230 | $239; - if ($or$cond) { - label = 14; - break; - } - $241 = $iNextPtr; - $242 = $241; - $243 = HEAP32[$242>>2]|0; - $244 = (($241) + 4)|0; - $245 = $244; - $246 = HEAP32[$245>>2]|0; - $247 = $iPtr; - $248 = $247; - HEAP32[$248>>2] = $243; - $249 = (($247) + 4)|0; - $250 = $249; - HEAP32[$250>>2] = $246; - $251 = HEAP32[$iLayer>>2]|0; - $252 = (($251) + 1)|0; - HEAP32[$iLayer>>2] = $252; + $34 = HEAP32[$6>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$6>>2] = $35; } - if ((label|0) == 14) { - $240 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $240; - $253 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($253|0); + if ((label|0) == 5) { + HEAP32[$1>>2] = 1; + $36 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($36|0); } - else if ((label|0) == 16) { - HEAP32[$0>>2] = 0; - $253 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($253|0); + else if ((label|0) == 7) { + HEAP32[$1>>2] = 0; + $36 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($36|0); } return (0)|0; } -function _fts3IsAppendable($p,$0,$1,$pbRes) { - $p = $p|0; +function _subjournalPage($0) { $0 = $0|0; - $1 = $1|0; - $pbRes = $pbRes|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bRes = 0, $pCheck = 0, $rc = 0, label = 0, sp = 0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 24|0; - $3 = sp; - $4 = sp + 20|0; - $bRes = sp + 16|0; - $pCheck = sp + 12|0; - $rc = sp + 8|0; - HEAP32[$2>>2] = $p; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $pbRes; - HEAP32[$bRes>>2] = 0; - HEAP32[$pCheck>>2] = 0; - $9 = HEAP32[$2>>2]|0; - $10 = (_fts3SqlStmt($9,34,$pCheck,0)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)==(0); - if (!($12)) { - $25 = HEAP32[$bRes>>2]|0; - $26 = HEAP32[$4>>2]|0; - HEAP32[$26>>2] = $25; - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp; + $6 = sp + 8|0; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 5|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)!=(2); + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = (_openSubJournal($15)|0); + HEAP32[$2>>2] = $16; + $17 = HEAP32[$2>>2]|0; + $18 = ($17|0)==(0); + if ($18) { + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$4>>2] = $21; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 56|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 160|0); + $27 = HEAP32[$26>>2]|0; + $28 = (4 + ($27))|0; + $29 = ($28|0)<(0); + $30 = $29 << 31 >> 31; + $31 = (___muldi3(($24|0),0,($28|0),($30|0))|0); + $32 = tempRet0; + $33 = $5; + $34 = $33; + HEAP32[$34>>2] = $31; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $37; + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 72|0); + $40 = HEAP32[$39>>2]|0; + $41 = $5; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$1>>2]|0; + $48 = ((($47)) + 20|0); + $49 = HEAP32[$48>>2]|0; + $50 = (_write32bits($40,$43,$46,$49)|0); + HEAP32[$2>>2] = $50; + $51 = HEAP32[$2>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 72|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$6>>2]|0; + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 160|0); + $59 = HEAP32[$58>>2]|0; + $60 = $5; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (_i64Add(($62|0),($65|0),4,0)|0); + $67 = tempRet0; + $68 = (_sqlite3OsWrite($55,$56,$59,$66,$67)|0); + HEAP32[$2>>2] = $68; + } + } } - $13 = HEAP32[$pCheck>>2]|0; - $14 = $3; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - (_sqlite3_bind_int64($13,1,$16,$19)|0); - $20 = HEAP32[$pCheck>>2]|0; - $21 = (_sqlite3_step($20)|0); - $22 = (100)==($21|0); - if ($22) { - HEAP32[$bRes>>2] = 1; + $69 = HEAP32[$2>>2]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $80 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($80|0); } - $23 = HEAP32[$pCheck>>2]|0; - $24 = (_sqlite3_reset($23)|0); - HEAP32[$rc>>2] = $24; - $25 = HEAP32[$bRes>>2]|0; + $71 = HEAP32[$3>>2]|0; + $72 = ((($71)) + 56|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73) + 1)|0; + HEAP32[$72>>2] = $74; + $75 = HEAP32[$3>>2]|0; + $76 = HEAP32[$1>>2]|0; + $77 = ((($76)) + 20|0); + $78 = HEAP32[$77>>2]|0; + $79 = (_addToSavepointBitvecs($75,$78)|0); + HEAP32[$2>>2] = $79; + $80 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($80|0); +} +function _openSubJournal($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 72|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0|0); + if ($9) { + $28 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($28|0); + } + HEAP32[$3>>2] = 8222; + $10 = HEAP32[(44)>>2]|0; + HEAP32[$4>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 5|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(4); + if ($15) { + label = 4; + } else { + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 22|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)!=(0); + if ($20) { + label = 4; + } + } + if ((label|0) == 4) { + HEAP32[$4>>2] = -1; + } + $21 = HEAP32[$1>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 72|0); + $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$4>>2]|0; - HEAP32[$26>>2] = $25; - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); + $27 = (_sqlite3JournalOpen($22,0,$25,8222,$26)|0); + HEAP32[$2>>2] = $27; + $28 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($28|0); } -function _sqlite3Fts3UpdateMethod($pVtab,$nArg,$apVal,$pRowid) { - $pVtab = $pVtab|0; - $nArg = $nArg|0; - $apVal = $apVal|0; - $pRowid = $pRowid|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aSzDel = 0, $aSzIns = 0, $bInsertDone = 0, $iLangid = 0, $isRemove = 0, $nChng = 0, $or$cond = 0, $p = 0, $pNewRowid = 0, $rc = 0, label = 0; - var sp = 0; +function _pagerPlaybackSavepoint($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $p = sp + 32|0; - $rc = sp + 28|0; - $isRemove = sp + 24|0; - $aSzIns = sp + 20|0; - $aSzDel = sp + 16|0; - $nChng = sp + 12|0; - $bInsertDone = sp + 8|0; - $pNewRowid = sp + 4|0; - $iLangid = sp; - HEAP32[$0>>2] = $pVtab; - HEAP32[$1>>2] = $nArg; - HEAP32[$2>>2] = $apVal; - HEAP32[$3>>2] = $pRowid; - $4 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $4; - HEAP32[$rc>>2] = 0; - HEAP32[$isRemove>>2] = 0; - HEAP32[$aSzIns>>2] = 0; - HEAP32[$aSzDel>>2] = 0; - HEAP32[$nChng>>2] = 0; - HEAP32[$bInsertDone>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)>(1); - if ($6) { - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_type($8)|0); - $10 = ($9|0)==(5); - if ($10) { - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 2)|0; - $15 = HEAP32[$2>>2]|0; - $16 = (($15) + ($14<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3_value_type($17)|0); - $19 = ($18|0)!=(5); - if ($19) { - $20 = HEAP32[$p>>2]|0; - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 24|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 2)|0; - $25 = HEAP32[$2>>2]|0; - $26 = (($25) + ($24<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_fts3SpecialInsert($20,$27)|0); - HEAP32[$rc>>2] = $28; - $206 = HEAP32[$aSzDel>>2]|0; - _sqlite3_free($206); - $207 = HEAP32[$p>>2]|0; - _sqlite3Fts3SegmentsClose($207); - $208 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($208|0); - } + $2 = sp + 56|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3BitvecCreate($18)|0); + HEAP32[$8>>2] = $19; + $20 = HEAP32[$8>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { + HEAP32[$2>>2] = 7; + $305 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($305|0); } } - $29 = HEAP32[$1>>2]|0; - $30 = ($29|0)>(1); - if ($30) { - $31 = HEAP32[$p>>2]|0; - $32 = ((($31)) + 24|0); - $33 = HEAP32[$32>>2]|0; - $34 = (2 + ($33))|0; - $35 = (($34) + 2)|0; - $36 = HEAP32[$2>>2]|0; - $37 = (($36) + ($35<<2)|0); - $38 = HEAP32[$37>>2]|0; - $39 = (_sqlite3_value_int($38)|0); - $40 = ($39|0)<(0); - if ($40) { - HEAP32[$rc>>2] = 19; - $206 = HEAP32[$aSzDel>>2]|0; - _sqlite3_free($206); - $207 = HEAP32[$p>>2]|0; - _sqlite3Fts3SegmentsClose($207); - $208 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($208|0); + $22 = HEAP32[$4>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 20|0); + $26 = HEAP32[$25>>2]|0; + $32 = $26; + } else { + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $32 = $29; + } + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 28|0); + HEAP32[$31>>2] = $32; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 13|0); + $35 = HEAP8[$34>>0]|0; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 19|0); + HEAP8[$37>>0] = $35; + $38 = HEAP32[$4>>2]|0; + $39 = ($38|0)!=(0|0); + if (!($39)) { + $40 = HEAP32[$3>>2]|0; + $41 = (_sqlite3PagerUseWal($40)|0); + $42 = ($41|0)!=(0); + if ($42) { + $43 = HEAP32[$3>>2]|0; + $44 = (_pagerRollbackWal($43)|0); + HEAP32[$2>>2] = $44; + $305 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($305|0); } } - $41 = HEAP32[$p>>2]|0; - $42 = ((($41)) + 24|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + 1)|0; - $45 = $44<<2; - $46 = $45<<1; - $47 = (_sqlite3_malloc($46)|0); - HEAP32[$aSzDel>>2] = $47; - $48 = HEAP32[$aSzDel>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - HEAP32[$rc>>2] = 7; - $206 = HEAP32[$aSzDel>>2]|0; - _sqlite3_free($206); - $207 = HEAP32[$p>>2]|0; - _sqlite3Fts3SegmentsClose($207); - $208 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($208|0); - } - $50 = HEAP32[$p>>2]|0; - $51 = ((($50)) + 24|0); + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 80|0); + $47 = $46; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; $52 = HEAP32[$51>>2]|0; - $53 = (($52) + 1)|0; - $54 = HEAP32[$aSzDel>>2]|0; - $55 = (($54) + ($53<<2)|0); - HEAP32[$aSzIns>>2] = $55; - $56 = HEAP32[$aSzDel>>2]|0; - $57 = HEAP32[$p>>2]|0; - $58 = ((($57)) + 24|0); - $59 = HEAP32[$58>>2]|0; - $60 = (($59) + 1)|0; - $61 = $60<<2; - $62 = $61<<1; - _memset(($56|0),0,($62|0))|0; - $63 = HEAP32[$p>>2]|0; - $64 = (_fts3Writelock($63)|0); - HEAP32[$rc>>2] = $64; - $65 = HEAP32[$rc>>2]|0; - $66 = ($65|0)!=(0); - if ($66) { - $206 = HEAP32[$aSzDel>>2]|0; - _sqlite3_free($206); - $207 = HEAP32[$p>>2]|0; - _sqlite3Fts3SegmentsClose($207); - $208 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($208|0); - } - $67 = HEAP32[$1>>2]|0; - $68 = ($67|0)>(1); - do { - if ($68) { - $69 = HEAP32[$p>>2]|0; - $70 = ((($69)) + 40|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)==(0|0); - if ($72) { - $73 = HEAP32[$p>>2]|0; - $74 = ((($73)) + 24|0); - $75 = HEAP32[$74>>2]|0; - $76 = (3 + ($75))|0; - $77 = HEAP32[$2>>2]|0; - $78 = (($77) + ($76<<2)|0); - $79 = HEAP32[$78>>2]|0; - HEAP32[$pNewRowid>>2] = $79; - $80 = HEAP32[$pNewRowid>>2]|0; - $81 = (_sqlite3_value_type($80)|0); - $82 = ($81|0)==(5); - if ($82) { - $83 = HEAP32[$2>>2]|0; - $84 = ((($83)) + 4|0); - $85 = HEAP32[$84>>2]|0; - HEAP32[$pNewRowid>>2] = $85; + $53 = $5; + $54 = $53; + HEAP32[$54>>2] = $49; + $55 = (($53) + 4)|0; + $56 = $55; + HEAP32[$56>>2] = $52; + $57 = HEAP32[$4>>2]|0; + $58 = ($57|0)!=(0|0); + L15: do { + if ($58) { + $59 = HEAP32[$3>>2]|0; + $60 = (_sqlite3PagerUseWal($59)|0); + $61 = ($60|0)!=(0); + if ($61) { + label = 19; + } else { + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 8|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = ($66|0)!=(0); + $71 = ($69|0)!=(0); + $72 = $70 | $71; + if ($72) { + $73 = HEAP32[$4>>2]|0; + $74 = ((($73)) + 8|0); + $75 = $74; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $89 = $77;$92 = $80; + } else { + $81 = $5; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $89 = $83;$92 = $86; } - $86 = HEAP32[$pNewRowid>>2]|0; - $87 = (_sqlite3_value_type($86)|0); - $88 = ($87|0)!=(5); - if ($88) { - $89 = HEAP32[$2>>2]|0; - $90 = HEAP32[$89>>2]|0; - $91 = (_sqlite3_value_type($90)|0); - $92 = ($91|0)==(5); - if (!($92)) { - $93 = HEAP32[$2>>2]|0; - $94 = HEAP32[$93>>2]|0; - $95 = (_sqlite3_value_int64($94)|0); - $96 = tempRet0; - $97 = HEAP32[$pNewRowid>>2]|0; - $98 = (_sqlite3_value_int64($97)|0); - $99 = tempRet0; - $100 = ($95|0)!=($98|0); - $101 = ($96|0)!=($99|0); - $102 = $100 | $101; - if (!($102)) { - break; - } + $87 = $6; + $88 = $87; + HEAP32[$88>>2] = $89; + $90 = (($87) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $92; + $93 = HEAP32[$4>>2]|0; + $94 = $93; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$3>>2]|0; + $101 = ((($100)) + 80|0); + $102 = $101; + $103 = $102; + HEAP32[$103>>2] = $96; + $104 = (($102) + 4)|0; + $105 = $104; + HEAP32[$105>>2] = $99; + while(1) { + $106 = HEAP32[$7>>2]|0; + $107 = ($106|0)==(0); + if (!($107)) { + break L15; } - $103 = HEAP32[$p>>2]|0; - $104 = ((($103)) + 12|0); - $105 = HEAP32[$104>>2]|0; - $106 = (_sqlite3_vtab_on_conflict($105)|0); - $107 = ($106|0)==(5); - $108 = HEAP32[$p>>2]|0; - if ($107) { - $109 = HEAP32[$pNewRowid>>2]|0; - $110 = HEAP32[$aSzDel>>2]|0; - $111 = (_fts3DeleteByRowid($108,$109,$nChng,$110)|0); - HEAP32[$rc>>2] = $111; - break; - } else { - $112 = HEAP32[$2>>2]|0; - $113 = HEAP32[$3>>2]|0; - $114 = (_fts3InsertData($108,$112,$113)|0); - HEAP32[$rc>>2] = $114; - HEAP32[$bInsertDone>>2] = 1; - break; + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + 80|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = $6; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = ($115|0)<($121|0); + $123 = ($112>>>0)<($118>>>0); + $124 = ($115|0)==($121|0); + $125 = $124 & $123; + $126 = $122 | $125; + if (!($126)) { + break L15; } + $127 = HEAP32[$3>>2]|0; + $128 = HEAP32[$3>>2]|0; + $129 = ((($128)) + 80|0); + $130 = HEAP32[$8>>2]|0; + $131 = (_pager_playback_one_page($127,$129,$130,1,1)|0); + HEAP32[$7>>2] = $131; } } + } else { + label = 19; } } while(0); - $115 = HEAP32[$rc>>2]|0; - $116 = ($115|0)!=(0); - if ($116) { - $206 = HEAP32[$aSzDel>>2]|0; - _sqlite3_free($206); - $207 = HEAP32[$p>>2]|0; - _sqlite3Fts3SegmentsClose($207); - $208 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($208|0); + if ((label|0) == 19) { + $132 = HEAP32[$3>>2]|0; + $133 = ((($132)) + 80|0); + $134 = $133; + $135 = $134; + HEAP32[$135>>2] = 0; + $136 = (($134) + 4)|0; + $137 = $136; + HEAP32[$137>>2] = 0; } - $117 = HEAP32[$2>>2]|0; - $118 = HEAP32[$117>>2]|0; - $119 = (_sqlite3_value_type($118)|0); - $120 = ($119|0)!=(5); - if ($120) { - $121 = HEAP32[$p>>2]|0; - $122 = HEAP32[$2>>2]|0; - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$aSzDel>>2]|0; - $125 = (_fts3DeleteByRowid($121,$123,$nChng,$124)|0); - HEAP32[$rc>>2] = $125; - HEAP32[$isRemove>>2] = 1; - } - $126 = HEAP32[$1>>2]|0; - $127 = ($126|0)>(1); - $128 = HEAP32[$rc>>2]|0; - $129 = ($128|0)==(0); - $or$cond = $127 & $129; - if ($or$cond) { - $130 = HEAP32[$p>>2]|0; - $131 = ((($130)) + 24|0); - $132 = HEAP32[$131>>2]|0; - $133 = (2 + ($132))|0; - $134 = (($133) + 2)|0; - $135 = HEAP32[$2>>2]|0; - $136 = (($135) + ($134<<2)|0); - $137 = HEAP32[$136>>2]|0; - $138 = (_sqlite3_value_int($137)|0); - HEAP32[$iLangid>>2] = $138; - $139 = HEAP32[$bInsertDone>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $141 = HEAP32[$p>>2]|0; - $142 = HEAP32[$2>>2]|0; - $143 = HEAP32[$3>>2]|0; - $144 = (_fts3InsertData($141,$142,$143)|0); - HEAP32[$rc>>2] = $144; - $145 = HEAP32[$rc>>2]|0; - $146 = ($145|0)==(19); - if ($146) { - $147 = HEAP32[$p>>2]|0; - $148 = ((($147)) + 40|0); - $149 = HEAP32[$148>>2]|0; - $150 = ($149|0)==(0|0); - if ($150) { - HEAP32[$rc>>2] = 267; - } + L28: while(1) { + $138 = HEAP32[$7>>2]|0; + $139 = ($138|0)==(0); + if (!($139)) { + break; + } + $140 = HEAP32[$3>>2]|0; + $141 = ((($140)) + 80|0); + $142 = $141; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = (($142) + 4)|0; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = $5; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = (($148) + 4)|0; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = ($147|0)<($153|0); + $155 = ($144>>>0)<($150>>>0); + $156 = ($147|0)==($153|0); + $157 = $156 & $155; + $158 = $154 | $157; + if (!($158)) { + break; + } + HEAP32[$10>>2] = 0; + $159 = HEAP32[$3>>2]|0; + $160 = $5; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = (($160) + 4)|0; + $164 = $163; + $165 = HEAP32[$164>>2]|0; + $166 = (_readJournalHdr($159,0,$162,$165,$10,$11)|0); + HEAP32[$7>>2] = $166; + $167 = HEAP32[$10>>2]|0; + $168 = ($167|0)==(0); + if ($168) { + $169 = HEAP32[$3>>2]|0; + $170 = ((($169)) + 88|0); + $171 = $170; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = HEAP32[$3>>2]|0; + $178 = ((($177)) + 156|0); + $179 = HEAP32[$178>>2]|0; + $180 = (_i64Add(($173|0),($176|0),($179|0),0)|0); + $181 = tempRet0; + $182 = HEAP32[$3>>2]|0; + $183 = ((($182)) + 80|0); + $184 = $183; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + $187 = (($184) + 4)|0; + $188 = $187; + $189 = HEAP32[$188>>2]|0; + $190 = ($180|0)==($186|0); + $191 = ($181|0)==($189|0); + $192 = $190 & $191; + if ($192) { + $193 = $5; + $194 = $193; + $195 = HEAP32[$194>>2]|0; + $196 = (($193) + 4)|0; + $197 = $196; + $198 = HEAP32[$197>>2]|0; + $199 = HEAP32[$3>>2]|0; + $200 = ((($199)) + 80|0); + $201 = $200; + $202 = $201; + $203 = HEAP32[$202>>2]|0; + $204 = (($201) + 4)|0; + $205 = $204; + $206 = HEAP32[$205>>2]|0; + $207 = (_i64Subtract(($195|0),($198|0),($203|0),($206|0))|0); + $208 = tempRet0; + $209 = HEAP32[$3>>2]|0; + $210 = ((($209)) + 160|0); + $211 = HEAP32[$210>>2]|0; + $212 = (($211) + 8)|0; + $213 = ($212|0)<(0); + $214 = $213 << 31 >> 31; + $215 = (___divdi3(($207|0),($208|0),($212|0),($214|0))|0); + $216 = tempRet0; + HEAP32[$10>>2] = $215; } } - $151 = HEAP32[$rc>>2]|0; - $152 = ($151|0)==(0); - do { - if ($152) { - $153 = HEAP32[$isRemove>>2]|0; - $154 = ($153|0)!=(0); - if ($154) { - $155 = HEAP32[$3>>2]|0; - $156 = $155; - $157 = $156; - $158 = HEAP32[$157>>2]|0; - $159 = (($156) + 4)|0; - $160 = $159; - $161 = HEAP32[$160>>2]|0; - $162 = HEAP32[$p>>2]|0; - $163 = ((($162)) + 264|0); - $164 = $163; - $165 = $164; - $166 = HEAP32[$165>>2]|0; - $167 = (($164) + 4)|0; - $168 = $167; - $169 = HEAP32[$168>>2]|0; - $170 = ($158|0)!=($166|0); - $171 = ($161|0)!=($169|0); - $172 = $170 | $171; - if (!($172)) { - break; - } - } - $173 = HEAP32[$p>>2]|0; - $174 = HEAP32[$iLangid>>2]|0; - $175 = HEAP32[$3>>2]|0; - $176 = $175; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (($176) + 4)|0; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $182 = (_fts3PendingTermsDocid($173,0,$174,$178,$181)|0); - HEAP32[$rc>>2] = $182; + HEAP32[$9>>2] = 0; + while(1) { + $217 = HEAP32[$7>>2]|0; + $218 = ($217|0)==(0); + if (!($218)) { + continue L28; } - } while(0); - $183 = HEAP32[$rc>>2]|0; - $184 = ($183|0)==(0); - if ($184) { - $185 = HEAP32[$p>>2]|0; - $186 = HEAP32[$iLangid>>2]|0; - $187 = HEAP32[$2>>2]|0; - $188 = HEAP32[$aSzIns>>2]|0; - $189 = (_fts3InsertTerms($185,$186,$187,$188)|0); - HEAP32[$rc>>2] = $189; - } - $190 = HEAP32[$p>>2]|0; - $191 = ((($190)) + 230|0); - $192 = HEAP8[$191>>0]|0; - $193 = ($192<<24>>24)!=(0); - if ($193) { - $194 = HEAP32[$p>>2]|0; - $195 = HEAP32[$aSzIns>>2]|0; - _fts3InsertDocsize($rc,$194,$195); - } - $196 = HEAP32[$nChng>>2]|0; - $197 = (($196) + 1)|0; - HEAP32[$nChng>>2] = $197; - } - $198 = HEAP32[$p>>2]|0; - $199 = ((($198)) + 228|0); - $200 = HEAP8[$199>>0]|0; - $201 = ($200<<24>>24)!=(0); - if (!($201)) { - $206 = HEAP32[$aSzDel>>2]|0; - _sqlite3_free($206); - $207 = HEAP32[$p>>2]|0; - _sqlite3Fts3SegmentsClose($207); - $208 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($208|0); - } - $202 = HEAP32[$p>>2]|0; - $203 = HEAP32[$aSzIns>>2]|0; - $204 = HEAP32[$aSzDel>>2]|0; - $205 = HEAP32[$nChng>>2]|0; - _fts3UpdateDocTotals($rc,$202,$203,$204,$205); - $206 = HEAP32[$aSzDel>>2]|0; - _sqlite3_free($206); - $207 = HEAP32[$p>>2]|0; - _sqlite3Fts3SegmentsClose($207); - $208 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($208|0); -} -function _fts3SpecialInsert($p,$pVal) { - $p = $p|0; - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $nVal = 0, $rc = 0, $zVal = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $rc = sp + 8|0; - $zVal = sp + 4|0; - $nVal = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pVal; - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3_value_text($3)|0); - HEAP32[$zVal>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3_value_bytes($5)|0); - HEAP32[$nVal>>2] = $6; - $7 = HEAP32[$zVal>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - HEAP32[$0>>2] = 7; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); - } - $9 = HEAP32[$nVal>>2]|0; - $10 = ($9|0)==(8); - if ($10) { - $11 = HEAP32[$zVal>>2]|0; - $12 = (_sqlite3_strnicmp($11,20512,8)|0); - $13 = (0)==($12|0); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = (_fts3DoOptimize($14,0)|0); - HEAP32[$rc>>2] = $15; - } else { - label = 6; + $219 = HEAP32[$9>>2]|0; + $220 = HEAP32[$10>>2]|0; + $221 = ($219>>>0)<($220>>>0); + if (!($221)) { + continue L28; + } + $222 = HEAP32[$3>>2]|0; + $223 = ((($222)) + 80|0); + $224 = $223; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = $5; + $231 = $230; + $232 = HEAP32[$231>>2]|0; + $233 = (($230) + 4)|0; + $234 = $233; + $235 = HEAP32[$234>>2]|0; + $236 = ($229|0)<($235|0); + $237 = ($226>>>0)<($232>>>0); + $238 = ($229|0)==($235|0); + $239 = $238 & $237; + $240 = $236 | $239; + if (!($240)) { + continue L28; + } + $241 = HEAP32[$3>>2]|0; + $242 = HEAP32[$3>>2]|0; + $243 = ((($242)) + 80|0); + $244 = HEAP32[$8>>2]|0; + $245 = (_pager_playback_one_page($241,$243,$244,1,1)|0); + HEAP32[$7>>2] = $245; + $246 = HEAP32[$9>>2]|0; + $247 = (($246) + 1)|0; + HEAP32[$9>>2] = $247; } - } else { - label = 6; } - do { - if ((label|0) == 6) { - $16 = HEAP32[$nVal>>2]|0; - $17 = ($16|0)==(7); - if ($17) { - $18 = HEAP32[$zVal>>2]|0; - $19 = (_sqlite3_strnicmp($18,23495,7)|0); - $20 = (0)==($19|0); - if ($20) { - $21 = HEAP32[$1>>2]|0; - $22 = (_fts3DoRebuild($21)|0); - HEAP32[$rc>>2] = $22; - break; - } - } - $23 = HEAP32[$nVal>>2]|0; - $24 = ($23|0)==(15); - if ($24) { - $25 = HEAP32[$zVal>>2]|0; - $26 = (_sqlite3_strnicmp($25,23503,15)|0); - $27 = (0)==($26|0); - if ($27) { - $28 = HEAP32[$1>>2]|0; - $29 = (_fts3DoIntegrityCheck($28)|0); - HEAP32[$rc>>2] = $29; - break; - } + $248 = HEAP32[$4>>2]|0; + $249 = ($248|0)!=(0|0); + L42: do { + if ($249) { + $250 = HEAP32[$4>>2]|0; + $251 = ((($250)) + 24|0); + $252 = HEAP32[$251>>2]|0; + $253 = HEAP32[$3>>2]|0; + $254 = ((($253)) + 160|0); + $255 = HEAP32[$254>>2]|0; + $256 = (4 + ($255))|0; + $257 = ($256|0)<(0); + $258 = $257 << 31 >> 31; + $259 = (___muldi3(($252|0),0,($256|0),($258|0))|0); + $260 = tempRet0; + $261 = $13; + $262 = $261; + HEAP32[$262>>2] = $259; + $263 = (($261) + 4)|0; + $264 = $263; + HEAP32[$264>>2] = $260; + $265 = HEAP32[$3>>2]|0; + $266 = (_sqlite3PagerUseWal($265)|0); + $267 = ($266|0)!=(0); + if ($267) { + $268 = HEAP32[$3>>2]|0; + $269 = ((($268)) + 216|0); + $270 = HEAP32[$269>>2]|0; + $271 = HEAP32[$4>>2]|0; + $272 = ((($271)) + 28|0); + $273 = (_sqlite3WalSavepointUndo($270,$272)|0); + HEAP32[$7>>2] = $273; } - $30 = HEAP32[$nVal>>2]|0; - $31 = ($30|0)>(6); - if ($31) { - $32 = HEAP32[$zVal>>2]|0; - $33 = (_sqlite3_strnicmp($32,23519,6)|0); - $34 = (0)==($33|0); - if ($34) { - $35 = HEAP32[$1>>2]|0; - $36 = HEAP32[$zVal>>2]|0; - $37 = ((($36)) + 6|0); - $38 = (_fts3DoIncrmerge($35,$37)|0); - HEAP32[$rc>>2] = $38; - break; + $274 = HEAP32[$4>>2]|0; + $275 = ((($274)) + 24|0); + $276 = HEAP32[$275>>2]|0; + HEAP32[$12>>2] = $276; + while(1) { + $277 = HEAP32[$7>>2]|0; + $278 = ($277|0)==(0); + if (!($278)) { + break L42; } - } - $39 = HEAP32[$nVal>>2]|0; - $40 = ($39|0)>(10); - if ($40) { - $41 = HEAP32[$zVal>>2]|0; - $42 = (_sqlite3_strnicmp($41,23526,10)|0); - $43 = (0)==($42|0); - if ($43) { - $44 = HEAP32[$1>>2]|0; - $45 = HEAP32[$zVal>>2]|0; - $46 = ((($45)) + 10|0); - $47 = (_fts3DoAutoincrmerge($44,$46)|0); - HEAP32[$rc>>2] = $47; - break; + $279 = HEAP32[$12>>2]|0; + $280 = HEAP32[$3>>2]|0; + $281 = ((($280)) + 56|0); + $282 = HEAP32[$281>>2]|0; + $283 = ($279>>>0)<($282>>>0); + if (!($283)) { + break L42; } + $284 = HEAP32[$3>>2]|0; + $285 = HEAP32[$8>>2]|0; + $286 = (_pager_playback_one_page($284,$13,$285,0,1)|0); + HEAP32[$7>>2] = $286; + $287 = HEAP32[$12>>2]|0; + $288 = (($287) + 1)|0; + HEAP32[$12>>2] = $288; } - HEAP32[$rc>>2] = 1; } } while(0); - $48 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $48; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); + $289 = HEAP32[$8>>2]|0; + _sqlite3BitvecDestroy($289); + $290 = HEAP32[$7>>2]|0; + $291 = ($290|0)==(0); + if ($291) { + $292 = $5; + $293 = $292; + $294 = HEAP32[$293>>2]|0; + $295 = (($292) + 4)|0; + $296 = $295; + $297 = HEAP32[$296>>2]|0; + $298 = HEAP32[$3>>2]|0; + $299 = ((($298)) + 80|0); + $300 = $299; + $301 = $300; + HEAP32[$301>>2] = $294; + $302 = (($300) + 4)|0; + $303 = $302; + HEAP32[$303>>2] = $297; + } + $304 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $304; + $305 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($305|0); } -function _fts3Writelock($p) { - $p = $p|0; - var $0 = 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, $pStmt = 0, $rc = 0, label = 0, sp = 0; +function _pagerRollbackWal($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $pStmt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 260|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = (_fts3SqlStmt($5,16,$pStmt,0)|0); - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $9 = HEAP32[$pStmt>>2]|0; - (_sqlite3_bind_null($9,1)|0); - $10 = HEAP32[$pStmt>>2]|0; - (_sqlite3_step($10)|0); - $11 = HEAP32[$pStmt>>2]|0; - $12 = (_sqlite3_reset($11)|0); - HEAP32[$rc>>2] = $12; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 28|0); + HEAP32[$9>>2] = $7; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 216|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = (_sqlite3WalUndo($12,193,$13)|0); + HEAP32[$2>>2] = $14; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 212|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3PcacheDirtyList($17)|0); + HEAP32[$3>>2] = $18; + while(1) { + $19 = HEAP32[$3>>2]|0; + $20 = ($19|0)!=(0|0); + $21 = HEAP32[$2>>2]|0; + $22 = ($21|0)==(0); + $23 = $20 ? $22 : 0; + if (!($23)) { + break; } + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$4>>2] = $26; + $27 = HEAP32[$1>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 20|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_pagerUndoCallback($27,$30)|0); + HEAP32[$2>>2] = $31; + $32 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $32; } - $13 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($13|0); + $33 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($33|0); } -function _fts3DeleteByRowid($p,$pRowid,$pnChng,$aSzDel) { - $p = $p|0; - $pRowid = $pRowid|0; - $pnChng = $pnChng|0; - $aSzDel = $aSzDel|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $bFound = 0, $isEmpty = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3WalSavepointUndo($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $rc = sp + 8|0; - $bFound = sp + 4|0; - $isEmpty = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pRowid; - HEAP32[$2>>2] = $pnChng; - HEAP32[$3>>2] = $aSzDel; - HEAP32[$rc>>2] = 0; - HEAP32[$bFound>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$3>>2]|0; - _fts3DeleteTerms($rc,$4,$5,$6,$bFound); - $7 = HEAP32[$bFound>>2]|0; - $8 = ($7|0)!=(0); - $9 = HEAP32[$rc>>2]|0; - $10 = ($9|0)==(0); - $or$cond = $8 & $10; - if (!($or$cond)) { - $42 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($42|0); - } - HEAP32[$isEmpty>>2] = 0; - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (_fts3IsEmpty($11,$12,$isEmpty)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)==(0); - if (!($15)) { - $42 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($42|0); - } - $16 = HEAP32[$isEmpty>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = (_fts3DeleteAll($18,1)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$2>>2]|0; - HEAP32[$20>>2] = 0; - $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 24|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + 1)|0; - $26 = $25<<2; - $27 = $26<<1; - _memset(($21|0),0,($27|0))|0; - $42 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($42|0); - } - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = (($29) - 1)|0; - $31 = HEAP32[$2>>2]|0; - HEAP32[$31>>2] = $30; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 40|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - $36 = HEAP32[$0>>2]|0; - _fts3SqlExec($rc,$36,0,$1); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 112|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($7|0)!=($10|0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + HEAP32[$12>>2] = 0; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 112|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 12|0); + HEAP32[$17>>2] = $15; } - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 230|0); - $39 = HEAP8[$38>>0]|0; - $40 = ($39<<24>>24)!=(0); - if (!($40)) { - $42 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($42|0); + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 52|0); + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($19>>>0)<($23>>>0); + if (!($24)) { + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); } - $41 = HEAP32[$0>>2]|0; - _fts3SqlExec($rc,$41,19,$1); - $42 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($42|0); + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 52|0); + $29 = ((($28)) + 16|0); + HEAP32[$29>>2] = $26; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 52|0); + $35 = ((($34)) + 24|0); + HEAP32[$35>>2] = $32; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 52|0); + $41 = ((($40)) + 24|0); + $42 = ((($41)) + 4|0); + HEAP32[$42>>2] = $38; + $43 = HEAP32[$2>>2]|0; + _walCleanupHash($43); + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); } -function _fts3InsertData($p,$apVal,$piDocid) { - $p = $p|0; - $apVal = $apVal|0; - $piDocid = $piDocid|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $pContentInsert = 0, $pRowid = 0, $rc = 0, label = 0, sp = 0; +function _walCleanupHash($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $rc = sp + 8|0; - $pContentInsert = sp + 4|0; - $pRowid = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $apVal; - HEAP32[$3>>2] = $piDocid; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 40|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; $8 = HEAP32[$1>>2]|0; - if ($7) { - $9 = ((($8)) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 3)|0; - $12 = HEAP32[$2>>2]|0; - $13 = (($12) + ($11<<2)|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pRowid>>2] = $14; - $15 = HEAP32[$pRowid>>2]|0; - $16 = (_sqlite3_value_type($15)|0); - $17 = ($16|0)==(5); - if ($17) { - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pRowid>>2] = $20; - } - $21 = HEAP32[$pRowid>>2]|0; - $22 = (_sqlite3_value_type($21)|0); - $23 = ($22|0)!=(1); - if ($23) { - HEAP32[$0>>2] = 19; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); - } else { - $24 = HEAP32[$pRowid>>2]|0; - $25 = (_sqlite3_value_int64($24)|0); - $26 = tempRet0; - $27 = HEAP32[$3>>2]|0; - $28 = $27; - $29 = $28; - HEAP32[$29>>2] = $25; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = $26; - HEAP32[$0>>2] = 0; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); - } - } - $32 = HEAP32[$2>>2]|0; - $33 = ((($32)) + 4|0); - $34 = (_fts3SqlStmt($8,18,$pContentInsert,$33)|0); - HEAP32[$rc>>2] = $34; - $35 = HEAP32[$rc>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 44|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)!=(0|0); - if ($40) { - $41 = HEAP32[$pContentInsert>>2]|0; - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 24|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + 2)|0; - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 24|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + 4)|0; - $50 = HEAP32[$2>>2]|0; - $51 = (($50) + ($49<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_sqlite3_value_int($52)|0); - $54 = (_sqlite3_bind_int($41,$45,$53)|0); - HEAP32[$rc>>2] = $54; - } - } - $55 = HEAP32[$rc>>2]|0; - $56 = ($55|0)!=(0); - if ($56) { - $57 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $57; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); + $9 = ((($8)) + 52|0); + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if ($12) { + STACKTOP = sp;return; } - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 24|0); - $60 = HEAP32[$59>>2]|0; - $61 = (3 + ($60))|0; - $62 = HEAP32[$2>>2]|0; - $63 = (($62) + ($61<<2)|0); - $64 = HEAP32[$63>>2]|0; - $65 = (_sqlite3_value_type($64)|0); - $66 = (5)!=($65|0); - if ($66) { - $67 = HEAP32[$2>>2]|0; - $68 = HEAP32[$67>>2]|0; - $69 = (_sqlite3_value_type($68)|0); - $70 = (5)==($69|0); - if ($70) { - $71 = HEAP32[$2>>2]|0; - $72 = ((($71)) + 4|0); - $73 = HEAP32[$72>>2]|0; - $74 = (_sqlite3_value_type($73)|0); - $75 = (5)!=($74|0); - if ($75) { - HEAP32[$0>>2] = 1; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); - } + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 52|0); + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_walFramePage($17)|0); + (_walHashGet($13,$18,$2,$3,$4)|0); + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 52|0); + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = (($22) - ($23))|0; + HEAP32[$5>>2] = $24; + HEAP32[$7>>2] = 0; + while(1) { + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)<(8192); + $27 = HEAP32[$2>>2]|0; + if (!($26)) { + break; } - $76 = HEAP32[$pContentInsert>>2]|0; - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 24|0); - $79 = HEAP32[$78>>2]|0; - $80 = (3 + ($79))|0; - $81 = HEAP32[$2>>2]|0; - $82 = (($81) + ($80<<2)|0); - $83 = HEAP32[$82>>2]|0; - $84 = (_sqlite3_bind_value($76,1,$83)|0); - HEAP32[$rc>>2] = $84; - $85 = HEAP32[$rc>>2]|0; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $87; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); + $28 = HEAP32[$7>>2]|0; + $29 = (($27) + ($28<<1)|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $32 = HEAP32[$5>>2]|0; + $33 = ($31|0)>($32|0); + if ($33) { + $34 = HEAP32[$2>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = (($34) + ($35<<1)|0); + HEAP16[$36>>1] = 0; } + $37 = HEAP32[$7>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$7>>2] = $38; } - $88 = HEAP32[$pContentInsert>>2]|0; - (_sqlite3_step($88)|0); - $89 = HEAP32[$pContentInsert>>2]|0; - $90 = (_sqlite3_reset($89)|0); - HEAP32[$rc>>2] = $90; - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 12|0); - $93 = HEAP32[$92>>2]|0; - $94 = (_sqlite3_last_insert_rowid($93)|0); - $95 = tempRet0; - $96 = HEAP32[$3>>2]|0; - $97 = $96; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = (($97) + 4)|0; - $100 = $99; - HEAP32[$100>>2] = $95; - $101 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $101; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); + $39 = HEAP32[$3>>2]|0; + $40 = HEAP32[$5>>2]|0; + $41 = (($40) + 1)|0; + $42 = (($39) + ($41<<2)|0); + $43 = $27; + $44 = $42; + $45 = (($43) - ($44))|0; + HEAP32[$6>>2] = $45; + $46 = HEAP32[$3>>2]|0; + $47 = HEAP32[$5>>2]|0; + $48 = (($47) + 1)|0; + $49 = (($46) + ($48<<2)|0); + $50 = HEAP32[$6>>2]|0; + _memset(($49|0),0,($50|0))|0; + STACKTOP = sp;return; } -function _fts3PendingTermsDocid($p,$bDelete,$iLangid,$0,$1) { - $p = $p|0; - $bDelete = $bDelete|0; - $iLangid = $iLangid|0; +function _pagerUndoCallback($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $6 = sp; - $rc = sp + 8|0; - HEAP32[$3>>2] = $p; - HEAP32[$4>>2] = $bDelete; - HEAP32[$5>>2] = $iLangid; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = $6; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = ((($17)) + 264|0); - $19 = $18; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = ($16|0)<($24|0); - $26 = ($13>>>0)<($21>>>0); - $27 = ($16|0)==($24|0); - $28 = $27 & $26; - $29 = $25 | $28; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $8 = HEAP32[$2>>2]|0; + HEAP32[$5>>2] = $8; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = (_sqlite3PagerLookup($9,$10)|0); + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ($12|0)!=(0|0); do { - if ($29) { - label = 6; - } else { - $30 = $6; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$3>>2]|0; - $37 = ((($36)) + 264|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = ($32|0)==($40|0); - $45 = ($35|0)==($43|0); - $46 = $44 & $45; - if ($46) { - $47 = HEAP32[$3>>2]|0; - $48 = ((($47)) + 276|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - label = 6; - break; - } + if ($13) { + $14 = HEAP32[$6>>2]|0; + $15 = (_sqlite3PcachePageRefcount($14)|0); + $16 = ($15|0)==(1); + if ($16) { + $17 = HEAP32[$6>>2]|0; + _sqlite3PcacheDrop($17); + break; } - $51 = HEAP32[$3>>2]|0; - $52 = ((($51)) + 272|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$5>>2]|0; - $55 = ($53|0)!=($54|0); - if ($55) { - label = 6; - } else { - $56 = HEAP32[$3>>2]|0; - $57 = ((($56)) + 260|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$3>>2]|0; - $60 = ((($59)) + 256|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($58|0)>($61|0); - if ($62) { - label = 6; - } + HEAP32[$7>>2] = 0; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 216|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3WalFindFrame($20,$23,$7)|0); + HEAP32[$4>>2] = $24; + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)==(0); + if ($26) { + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$7>>2]|0; + $29 = (_readDbPage($27,$28)|0); + HEAP32[$4>>2] = $29; + } + $30 = HEAP32[$4>>2]|0; + $31 = ($30|0)==(0); + if ($31) { + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 204|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$6>>2]|0; + FUNCTION_TABLE_vi[$34 & 255]($35); } + $36 = HEAP32[$6>>2]|0; + _sqlite3PagerUnrefNotNull($36); } } while(0); - if ((label|0) == 6) { - $63 = HEAP32[$3>>2]|0; - $64 = (_sqlite3Fts3PendingTermsFlush($63)|0); - HEAP32[$rc>>2] = $64; - $65 = HEAP32[$rc>>2]|0; - $66 = ($65|0)!=(0); - if ($66) { - $67 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $67; - $86 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($86|0); - } - } - $68 = $6; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = HEAP32[$3>>2]|0; - $75 = ((($74)) + 264|0); - $76 = $75; - $77 = $76; - HEAP32[$77>>2] = $70; - $78 = (($76) + 4)|0; - $79 = $78; - HEAP32[$79>>2] = $73; - $80 = HEAP32[$5>>2]|0; - $81 = HEAP32[$3>>2]|0; - $82 = ((($81)) + 272|0); - HEAP32[$82>>2] = $80; - $83 = HEAP32[$4>>2]|0; - $84 = HEAP32[$3>>2]|0; - $85 = ((($84)) + 276|0); - HEAP32[$85>>2] = $83; - HEAP32[$2>>2] = 0; - $86 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($86|0); + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 96|0); + $39 = HEAP32[$38>>2]|0; + _sqlite3BackupRestart($39); + $40 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($40|0); } -function _fts3InsertTerms($p,$iLangid,$apVal,$aSz) { - $p = $p|0; - $iLangid = $iLangid|0; - $apVal = $apVal|0; - $aSz = $aSz|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iCol = 0, $rc = 0, $zText = 0, label = 0, sp = 0; +function _sqlite3WalUndo($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; + STACKTOP = STACKTOP + 32|0; $3 = sp + 20|0; $4 = sp + 16|0; - $i = sp + 12|0; - $iCol = sp + 8|0; - $zText = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iLangid; - HEAP32[$3>>2] = $apVal; - HEAP32[$4>>2] = $aSz; - HEAP32[$i>>2] = 2; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 44|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)!=(0); + if (!($12)) { + $46 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($46|0); + } + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 52|0); + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$7>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 52|0); + $19 = HEAP32[$3>>2]|0; + $20 = (_walIndexHdr($19)|0); + dest=$18; src=$20; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 52|0); + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$8>>2] = $25; while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 2)|0; - $10 = ($5|0)<($9|0); - if (!($10)) { - label = 8; + $26 = HEAP32[$6>>2]|0; + $27 = ($26|0)==(0); + if (!($27)) { break; } - $11 = HEAP32[$i>>2]|0; - $12 = (($11) - 2)|0; - HEAP32[$iCol>>2] = $12; - $13 = HEAP32[$iCol>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 32|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($13)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19|0)==(0); - if ($20) { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = (($22) + ($21<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3_value_text($24)|0); - HEAP32[$zText>>2] = $25; - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$zText>>2]|0; - $29 = HEAP32[$iCol>>2]|0; - $30 = HEAP32[$iCol>>2]|0; - $31 = HEAP32[$4>>2]|0; - $32 = (($31) + ($30<<2)|0); - $33 = (_fts3PendingTermsAdd($26,$27,$28,$29,$32)|0); - HEAP32[$rc>>2] = $33; - $34 = HEAP32[$rc>>2]|0; - $35 = ($34|0)!=(0); - if ($35) { - label = 5; - break; - } - $37 = HEAP32[$i>>2]|0; - $38 = HEAP32[$3>>2]|0; - $39 = (($38) + ($37<<2)|0); - $40 = HEAP32[$39>>2]|0; - $41 = (_sqlite3_value_bytes($40)|0); - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 24|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$4>>2]|0; - $46 = (($45) + ($44<<2)|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + ($41))|0; - HEAP32[$46>>2] = $48; + $28 = HEAP32[$8>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = ($28>>>0)<=($29>>>0); + if (!($30)) { + break; } - $49 = HEAP32[$i>>2]|0; - $50 = (($49) + 1)|0; - HEAP32[$i>>2] = $50; - } - if ((label|0) == 5) { - $36 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $36; - $51 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($51|0); + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$3>>2]|0; + $34 = HEAP32[$8>>2]|0; + $35 = (_walFramePgno($33,$34)|0); + $36 = (FUNCTION_TABLE_iii[$31 & 255]($32,$35)|0); + HEAP32[$6>>2] = $36; + $37 = HEAP32[$8>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$8>>2] = $38; } - else if ((label|0) == 8) { - HEAP32[$0>>2] = 0; - $51 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($51|0); + $39 = HEAP32[$7>>2]|0; + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 52|0); + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($39|0)!=($43|0); + if (!($44)) { + $46 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($46|0); } - return (0)|0; + $45 = HEAP32[$3>>2]|0; + _walCleanupHash($45); + $46 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($46|0); } -function _fts3InsertDocsize($pRC,$p,$aSz) { - $pRC = $pRC|0; - $p = $p|0; - $aSz = $aSz|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $nBlob = 0, $pBlob = 0, $pStmt = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3PcacheDirtyList($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pBlob = sp + 12|0; - $nBlob = sp + 8|0; - $pStmt = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pRC; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $aSz; - $3 = HEAP32[$0>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0); - if ($5) { - STACKTOP = sp;return; - } - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8*10)|0; - $10 = (_sqlite3_malloc($9)|0); - HEAP32[$pBlob>>2] = $10; - $11 = HEAP32[$pBlob>>2]|0; - $12 = ($11|0)==(0|0); - if ($12) { - $13 = HEAP32[$0>>2]|0; - HEAP32[$13>>2] = 7; - STACKTOP = sp;return; + HEAP32[$2>>2] = $4; + while(1) { + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + break; + } + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 32|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 12|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 32|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$2>>2] = $14; } - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 24|0); + $15 = HEAP32[$1>>2]|0; $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$pBlob>>2]|0; - _fts3EncodeIntArray($16,$17,$18,$nBlob); - $19 = HEAP32[$1>>2]|0; - $20 = (_fts3SqlStmt($19,20,$pStmt,0)|0); - HEAP32[$rc>>2] = $20; - $21 = HEAP32[$rc>>2]|0; - $22 = ($21|0)!=(0); - if ($22) { - $23 = HEAP32[$pBlob>>2]|0; - _sqlite3_free($23); - $24 = HEAP32[$rc>>2]|0; - $25 = HEAP32[$0>>2]|0; - HEAP32[$25>>2] = $24; - STACKTOP = sp;return; - } else { - $26 = HEAP32[$pStmt>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 264|0); - $29 = $28; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - (_sqlite3_bind_int64($26,1,$31,$34)|0); - $35 = HEAP32[$pStmt>>2]|0; - $36 = HEAP32[$pBlob>>2]|0; - $37 = HEAP32[$nBlob>>2]|0; - (_sqlite3_bind_blob($35,2,$36,$37,148)|0); - $38 = HEAP32[$pStmt>>2]|0; - (_sqlite3_step($38)|0); - $39 = HEAP32[$pStmt>>2]|0; - $40 = (_sqlite3_reset($39)|0); - $41 = HEAP32[$0>>2]|0; - HEAP32[$41>>2] = $40; - STACKTOP = sp;return; - } + $17 = (_pcacheSortDirtyList($16)|0); + STACKTOP = sp;return ($17|0); } -function _fts3UpdateDocTotals($pRC,$p,$aSzIns,$aSzDel,$nChng) { - $pRC = $pRC|0; - $p = $p|0; - $aSzIns = $aSzIns|0; - $aSzDel = $aSzDel|0; - $nChng = $nChng|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 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; +function _pcacheSortDirtyList($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $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, $a = 0; - var $i = 0, $nBlob = 0, $nStat = 0, $pBlob = 0, $pStmt = 0, $rc = 0, $x = 0, label = 0, sp = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0; + var dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $pBlob = sp + 28|0; - $nBlob = sp + 24|0; - $a = sp + 20|0; - $pStmt = sp + 16|0; - $i = sp + 12|0; - $rc = sp + 8|0; - $nStat = sp + 4|0; - $x = sp; - HEAP32[$0>>2] = $pRC; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $aSzIns; - HEAP32[$3>>2] = $aSzDel; - HEAP32[$4>>2] = $nChng; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 24|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + 2)|0; - HEAP32[$nStat>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0); - if ($11) { - STACKTOP = sp;return; - } - $12 = HEAP32[$nStat>>2]|0; - $13 = ($12*14)|0; - $14 = (_sqlite3_malloc($13)|0); - HEAP32[$a>>2] = $14; - $15 = HEAP32[$a>>2]|0; - $16 = ($15|0)==(0|0); - if ($16) { - $17 = HEAP32[$0>>2]|0; - HEAP32[$17>>2] = 7; - STACKTOP = sp;return; - } - $18 = HEAP32[$nStat>>2]|0; - $19 = HEAP32[$a>>2]|0; - $20 = (($19) + ($18<<2)|0); - HEAP32[$pBlob>>2] = $20; - $21 = HEAP32[$1>>2]|0; - $22 = (_fts3SqlStmt($21,22,$pStmt,0)|0); - HEAP32[$rc>>2] = $22; - $23 = HEAP32[$rc>>2]|0; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$a>>2]|0; - _sqlite3_free($25); - $26 = HEAP32[$rc>>2]|0; - $27 = HEAP32[$0>>2]|0; - HEAP32[$27>>2] = $26; - STACKTOP = sp;return; - } - $28 = HEAP32[$pStmt>>2]|0; - (_sqlite3_bind_int($28,1,0)|0); - $29 = HEAP32[$pStmt>>2]|0; - $30 = (_sqlite3_step($29)|0); - $31 = ($30|0)==(100); - if ($31) { - $32 = HEAP32[$nStat>>2]|0; - $33 = HEAP32[$a>>2]|0; - $34 = HEAP32[$pStmt>>2]|0; - $35 = (_sqlite3_column_blob($34,0)|0); - $36 = HEAP32[$pStmt>>2]|0; - $37 = (_sqlite3_column_bytes($36,0)|0); - _fts3DecodeIntArray($32,$33,$35,$37); - } else { - $38 = HEAP32[$a>>2]|0; - $39 = HEAP32[$nStat>>2]|0; - $40 = $39<<2; - _memset(($38|0),0,($40|0))|0; - } - $41 = HEAP32[$pStmt>>2]|0; - $42 = (_sqlite3_reset($41)|0); - HEAP32[$rc>>2] = $42; - $43 = HEAP32[$rc>>2]|0; - $44 = ($43|0)!=(0); - if ($44) { - $45 = HEAP32[$a>>2]|0; - _sqlite3_free($45); - $46 = HEAP32[$rc>>2]|0; - $47 = HEAP32[$0>>2]|0; - HEAP32[$47>>2] = $46; - STACKTOP = sp;return; - } - $48 = HEAP32[$4>>2]|0; - $49 = ($48|0)<(0); - if ($49) { - $50 = HEAP32[$a>>2]|0; - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$4>>2]|0; - $53 = (0 - ($52))|0; - $54 = ($51>>>0)<($53>>>0); - if ($54) { - $55 = HEAP32[$a>>2]|0; - HEAP32[$55>>2] = 0; - } else { - label = 14; - } - } else { - label = 14; - } - if ((label|0) == 14) { - $56 = HEAP32[$4>>2]|0; - $57 = HEAP32[$a>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = (($58) + ($56))|0; - HEAP32[$57>>2] = $59; - } - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 144|0; + $1 = sp + 136|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + dest=$2; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); while(1) { - $60 = HEAP32[$i>>2]|0; - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 24|0); - $63 = HEAP32[$62>>2]|0; - $64 = (($63) + 1)|0; - $65 = ($60|0)<($64|0); - if (!($65)) { + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { break; } - $66 = HEAP32[$i>>2]|0; - $67 = (($66) + 1)|0; - $68 = HEAP32[$a>>2]|0; - $69 = (($68) + ($67<<2)|0); - $70 = HEAP32[$69>>2]|0; - HEAP32[$x>>2] = $70; - $71 = HEAP32[$x>>2]|0; - $72 = HEAP32[$i>>2]|0; - $73 = HEAP32[$2>>2]|0; - $74 = (($73) + ($72<<2)|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($71) + ($75))|0; - $77 = HEAP32[$i>>2]|0; - $78 = HEAP32[$3>>2]|0; - $79 = (($78) + ($77<<2)|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($76>>>0)<($80>>>0); - if ($81) { - HEAP32[$x>>2] = 0; - } else { - $82 = HEAP32[$x>>2]|0; - $83 = HEAP32[$i>>2]|0; - $84 = HEAP32[$2>>2]|0; - $85 = (($84) + ($83<<2)|0); - $86 = HEAP32[$85>>2]|0; - $87 = (($82) + ($86))|0; - $88 = HEAP32[$i>>2]|0; - $89 = HEAP32[$3>>2]|0; - $90 = (($89) + ($88<<2)|0); - $91 = HEAP32[$90>>2]|0; - $92 = (($87) - ($91))|0; - HEAP32[$x>>2] = $92; + $7 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$1>>2] = $10; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 12|0); + HEAP32[$12>>2] = 0; + HEAP32[$4>>2] = 0; + while(1) { + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)<(31); + if (!($14)) { + break; + } + $15 = HEAP32[$4>>2]|0; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + label = 6; + break; + } + $22 = HEAP32[$4>>2]|0; + $23 = (($2) + ($22<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = (_pcacheMergeDirtyList($24,$25)|0); + HEAP32[$3>>2] = $26; + $27 = HEAP32[$4>>2]|0; + $28 = (($2) + ($27<<2)|0); + HEAP32[$28>>2] = 0; + $29 = HEAP32[$4>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$4>>2] = $30; } - $93 = HEAP32[$x>>2]|0; - $94 = HEAP32[$i>>2]|0; - $95 = (($94) + 1)|0; - $96 = HEAP32[$a>>2]|0; - $97 = (($96) + ($95<<2)|0); - HEAP32[$97>>2] = $93; - $98 = HEAP32[$i>>2]|0; - $99 = (($98) + 1)|0; - HEAP32[$i>>2] = $99; - } - $100 = HEAP32[$nStat>>2]|0; - $101 = HEAP32[$a>>2]|0; - $102 = HEAP32[$pBlob>>2]|0; - _fts3EncodeIntArray($100,$101,$102,$nBlob); - $103 = HEAP32[$1>>2]|0; - $104 = (_fts3SqlStmt($103,23,$pStmt,0)|0); - HEAP32[$rc>>2] = $104; - $105 = HEAP32[$rc>>2]|0; - $106 = ($105|0)!=(0); - if ($106) { - $107 = HEAP32[$a>>2]|0; - _sqlite3_free($107); - $108 = HEAP32[$rc>>2]|0; - $109 = HEAP32[$0>>2]|0; - HEAP32[$109>>2] = $108; - STACKTOP = sp;return; - } else { - $110 = HEAP32[$pStmt>>2]|0; - (_sqlite3_bind_int($110,1,0)|0); - $111 = HEAP32[$pStmt>>2]|0; - $112 = HEAP32[$pBlob>>2]|0; - $113 = HEAP32[$nBlob>>2]|0; - (_sqlite3_bind_blob($111,2,$112,$113,0)|0); - $114 = HEAP32[$pStmt>>2]|0; - (_sqlite3_step($114)|0); - $115 = HEAP32[$pStmt>>2]|0; - $116 = (_sqlite3_reset($115)|0); - $117 = HEAP32[$0>>2]|0; - HEAP32[$117>>2] = $116; - $118 = HEAP32[$a>>2]|0; - _sqlite3_free($118); - STACKTOP = sp;return; + if ((label|0) == 6) { + label = 0; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = (($2) + ($20<<2)|0); + HEAP32[$21>>2] = $19; + } + $31 = HEAP32[$4>>2]|0; + $32 = ($31|0)==(31); + if (!($32)) { + continue; + } + $33 = HEAP32[$4>>2]|0; + $34 = (($2) + ($33<<2)|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = (_pcacheMergeDirtyList($35,$36)|0); + $38 = HEAP32[$4>>2]|0; + $39 = (($2) + ($38<<2)|0); + HEAP32[$39>>2] = $37; } -} -function _fts3DecodeIntArray($N,$a,$zBuf,$nBuf) { - $N = $N|0; - $a = $a|0; - $zBuf = $zBuf|0; - $nBuf = $nBuf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $x = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $i = sp + 12|0; - $j = sp + 8|0; - $x = sp; - HEAP32[$0>>2] = $N; - HEAP32[$1>>2] = $a; - HEAP32[$2>>2] = $zBuf; - HEAP32[$3>>2] = $nBuf; - HEAP32[$j>>2] = 0; - HEAP32[$i>>2] = 0; + $40 = HEAP32[$2>>2]|0; + HEAP32[$3>>2] = $40; + HEAP32[$4>>2] = 1; while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ($4|0)<($5|0); - if (!($6)) { + $41 = HEAP32[$4>>2]|0; + $42 = ($41|0)<(32); + if (!($42)) { break; } - $7 = HEAP32[$j>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + ($7)|0); - $10 = (_sqlite3Fts3GetVarint($9,$x)|0); - $11 = HEAP32[$j>>2]|0; - $12 = (($11) + ($10))|0; - HEAP32[$j>>2] = $12; - $13 = $x; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + ($19<<2)|0); - HEAP32[$21>>2] = $15; - $22 = HEAP32[$i>>2]|0; - $23 = (($22) + 1)|0; - HEAP32[$i>>2] = $23; + $43 = HEAP32[$4>>2]|0; + $44 = (($2) + ($43<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(0|0); + if (!($46)) { + $47 = HEAP32[$3>>2]|0; + $48 = ($47|0)!=(0|0); + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = (($2) + ($50<<2)|0); + $52 = HEAP32[$51>>2]|0; + $53 = (_pcacheMergeDirtyList($49,$52)|0); + $57 = $53; + } else { + $54 = HEAP32[$4>>2]|0; + $55 = (($2) + ($54<<2)|0); + $56 = HEAP32[$55>>2]|0; + $57 = $56; + } + HEAP32[$3>>2] = $57; + } + $58 = HEAP32[$4>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$4>>2] = $59; } - STACKTOP = sp;return; + $60 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($60|0); } -function _fts3EncodeIntArray($N,$a,$zBuf,$pNBuf) { - $N = $N|0; - $a = $a|0; - $zBuf = $zBuf|0; - $pNBuf = $pNBuf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i = 0, $j = 0, label = 0, sp = 0; +function _pcacheMergeDirtyList($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink2 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $i = sp + 4|0; - $j = sp; - HEAP32[$0>>2] = $N; - HEAP32[$1>>2] = $a; - HEAP32[$2>>2] = $zBuf; - HEAP32[$3>>2] = $pNBuf; - HEAP32[$j>>2] = 0; - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 52|0; + $3 = sp + 48|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = $4; while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ($4|0)<($5|0); - $7 = HEAP32[$j>>2]|0; - if (!($6)) { - break; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8>>>0)<($11>>>0); + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 12|0); + HEAP32[$15>>2] = $13; + $16 = HEAP32[$2>>2]|0; + HEAP32[$5>>2] = $16; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$2>>2] = $19; + $20 = HEAP32[$2>>2]|0; + $21 = ($20|0)==(0|0); + if ($21) { + label = 4; + break; + } else { + continue; + } + } else { + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 12|0); + HEAP32[$26>>2] = $24; + $27 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $27; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$3>>2] = $30; + $31 = HEAP32[$3>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + label = 6; + break; + } else { + continue; + } } - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + ($7)|0); - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + ($10<<2)|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3Fts3PutVarint($9,$13,0)|0); - $15 = HEAP32[$j>>2]|0; - $16 = (($15) + ($14))|0; - HEAP32[$j>>2] = $16; - $17 = HEAP32[$i>>2]|0; - $18 = (($17) + 1)|0; - HEAP32[$i>>2] = $18; } - $19 = HEAP32[$3>>2]|0; - HEAP32[$19>>2] = $7; - STACKTOP = sp;return; -} -function _fts3PendingTermsAdd($p,$iLangid,$zText,$iCol,$pnWord) { - $p = $p|0; - $iLangid = $iLangid|0; - $zText = $zText|0; - $iCol = $iCol|0; - $pnWord = $pnWord|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $iEnd = 0, $iPos = 0, $iStart = 0, $nToken = 0, $nWord = 0, $or$cond = 0, $or$cond$not = 0, $or$cond3 = 0; - var $pCsr = 0, $pIndex = 0, $pModule = 0, $pTokenizer = 0, $rc = 0, $xNext = 0, $zToken = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 72|0; - $1 = sp + 68|0; - $2 = sp + 64|0; - $3 = sp + 60|0; - $4 = sp + 56|0; - $5 = sp + 52|0; - $rc = sp + 48|0; - $iStart = sp + 44|0; - $iEnd = sp + 40|0; - $iPos = sp + 36|0; - $nWord = sp + 32|0; - $zToken = sp + 28|0; - $nToken = sp + 24|0; - $pTokenizer = sp + 20|0; - $pModule = sp + 16|0; - $pCsr = sp + 12|0; - $xNext = sp + 8|0; - $i = sp + 4|0; - $pIndex = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iLangid; - HEAP32[$3>>2] = $zText; - HEAP32[$4>>2] = $iCol; - HEAP32[$5>>2] = $pnWord; - HEAP32[$iStart>>2] = 0; - HEAP32[$iEnd>>2] = 0; - HEAP32[$iPos>>2] = 0; - HEAP32[$nWord>>2] = 0; - HEAP32[$nToken>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 36|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pTokenizer>>2] = $8; - $9 = HEAP32[$pTokenizer>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$pModule>>2] = $10; - $11 = HEAP32[$3>>2]|0; - $12 = ($11|0)==(0|0); - if ($12) { - $13 = HEAP32[$5>>2]|0; - HEAP32[$13>>2] = 0; - HEAP32[$0>>2] = 0; - $90 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($90|0); - } - $14 = HEAP32[$pTokenizer>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = (_sqlite3Fts3OpenTokenizer($14,$15,$16,-1,$pCsr)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $20; - $90 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($90|0); - } - $21 = HEAP32[$pModule>>2]|0; - $22 = ((($21)) + 20|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$xNext>>2] = $23; - L9: while(1) { - $24 = HEAP32[$rc>>2]|0; - $25 = (0)==($24|0); - if (!($25)) { - break; - } - $26 = HEAP32[$xNext>>2]|0; - $27 = HEAP32[$pCsr>>2]|0; - $28 = (FUNCTION_TABLE_iiiiiii[$26 & 255]($27,$zToken,$nToken,$iStart,$iEnd,$iPos)|0); - HEAP32[$rc>>2] = $28; - $29 = (0)==($28|0); - if (!($29)) { - break; - } - $30 = HEAP32[$iPos>>2]|0; - $31 = HEAP32[$nWord>>2]|0; - $32 = ($30|0)>=($31|0); - if ($32) { - $33 = HEAP32[$iPos>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$nWord>>2] = $34; - } - $35 = HEAP32[$iPos>>2]|0; - $36 = ($35|0)>=(0); - $37 = HEAP32[$zToken>>2]|0; - $38 = ($37|0)!=(0|0); - $or$cond = $36 & $38; - $or$cond$not = $or$cond ^ 1; - $39 = HEAP32[$nToken>>2]|0; - $40 = ($39|0)<=(0); - $or$cond3 = $or$cond$not | $40; - if ($or$cond3) { - label = 11; - break; - } - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$4>>2]|0; - $43 = HEAP32[$iPos>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 252|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($46)) + 4|0); - $48 = HEAP32[$zToken>>2]|0; - $49 = HEAP32[$nToken>>2]|0; - $50 = (_fts3PendingTermsAddOne($41,$42,$43,$47,$48,$49)|0); - HEAP32[$rc>>2] = $50; - HEAP32[$i>>2] = 1; - while(1) { - $51 = HEAP32[$rc>>2]|0; - $52 = ($51|0)==(0); - if (!($52)) { - continue L9; - } - $53 = HEAP32[$i>>2]|0; - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 248|0); - $56 = HEAP32[$55>>2]|0; - $57 = ($53|0)<($56|0); - if (!($57)) { - continue L9; - } - $58 = HEAP32[$i>>2]|0; - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 252|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($61) + (($58*24)|0)|0); - HEAP32[$pIndex>>2] = $62; - $63 = HEAP32[$nToken>>2]|0; - $64 = HEAP32[$pIndex>>2]|0; - $65 = HEAP32[$64>>2]|0; - $66 = ($63|0)<($65|0); - if (!($66)) { - $67 = HEAP32[$1>>2]|0; - $68 = HEAP32[$4>>2]|0; - $69 = HEAP32[$iPos>>2]|0; - $70 = HEAP32[$pIndex>>2]|0; - $71 = ((($70)) + 4|0); - $72 = HEAP32[$zToken>>2]|0; - $73 = HEAP32[$pIndex>>2]|0; - $74 = HEAP32[$73>>2]|0; - $75 = (_fts3PendingTermsAddOne($67,$68,$69,$71,$72,$74)|0); - HEAP32[$rc>>2] = $75; - } - $76 = HEAP32[$i>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[$i>>2] = $77; - } + if ((label|0) == 4) { + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$5>>2]|0; + $$sink = $22;$$sink2 = $23; + $35 = ((($$sink2)) + 12|0); + HEAP32[$35>>2] = $$sink; + $36 = ((($4)) + 12|0); + $37 = HEAP32[$36>>2]|0; + STACKTOP = sp;return ($37|0); } - if ((label|0) == 11) { - HEAP32[$rc>>2] = 1; + else if ((label|0) == 6) { + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$5>>2]|0; + $$sink = $33;$$sink2 = $34; + $35 = ((($$sink2)) + 12|0); + HEAP32[$35>>2] = $$sink; + $36 = ((($4)) + 12|0); + $37 = HEAP32[$36>>2]|0; + STACKTOP = sp;return ($37|0); } - $78 = HEAP32[$pModule>>2]|0; - $79 = ((($78)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = HEAP32[$pCsr>>2]|0; - (FUNCTION_TABLE_ii[$80 & 255]($81)|0); - $82 = HEAP32[$nWord>>2]|0; - $83 = HEAP32[$5>>2]|0; - $84 = HEAP32[$83>>2]|0; - $85 = (($84) + ($82))|0; - HEAP32[$83>>2] = $85; - $86 = HEAP32[$rc>>2]|0; - $87 = ($86|0)==(101); - $88 = HEAP32[$rc>>2]|0; - $89 = $87 ? 0 : $88; - HEAP32[$0>>2] = $89; - $90 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($90|0); + return (0)|0; } -function _fts3PendingTermsAddOne($p,$iCol,$iPos,$pHash,$zToken,$nToken) { - $p = $p|0; - $iCol = $iCol|0; - $iPos = $iPos|0; - $pHash = $pHash|0; - $zToken = $zToken|0; - $nToken = $nToken|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pList = 0, $rc = 0, label = 0; - var sp = 0; +function _walIndexHdr($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $pList = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iCol; - HEAP32[$2>>2] = $iPos; - HEAP32[$3>>2] = $pHash; - HEAP32[$4>>2] = $zToken; - HEAP32[$5>>2] = $nToken; - HEAP32[$rc>>2] = 0; - $6 = HEAP32[$3>>2]|0; - $7 = HEAP32[$4>>2]|0; - $8 = HEAP32[$5>>2]|0; - $9 = (_sqlite3Fts3HashFind($6,$7,$8)|0); - HEAP32[$pList>>2] = $9; - $10 = HEAP32[$pList>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$pList>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$5>>2]|0; - $15 = (($13) + ($14))|0; - $16 = (($15) + 20)|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 260|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) - ($16))|0; - HEAP32[$18>>2] = $20; - } - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 264|0); - $23 = $22; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = ($29|0)<(0); - $31 = $30 << 31 >> 31; - $32 = HEAP32[$2>>2]|0; - $33 = ($32|0)<(0); - $34 = $33 << 31 >> 31; - $35 = (_fts3PendingListAppend($pList,$25,$28,$29,$31,$32,$34,$rc)|0); - $36 = ($35|0)!=(0); - if ($36) { - $37 = HEAP32[$pList>>2]|0; - $38 = HEAP32[$3>>2]|0; - $39 = HEAP32[$4>>2]|0; - $40 = HEAP32[$5>>2]|0; - $41 = HEAP32[$pList>>2]|0; - $42 = (_sqlite3Fts3HashInsert($38,$39,$40,$41)|0); - $43 = ($37|0)==($42|0); - if ($43) { - $44 = HEAP32[$pList>>2]|0; - _sqlite3_free($44); - HEAP32[$rc>>2] = 7; - } - } - $45 = HEAP32[$rc>>2]|0; - $46 = ($45|0)==(0); - if (!($46)) { - $56 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($56|0); - } - $47 = HEAP32[$pList>>2]|0; - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$5>>2]|0; - $50 = (($48) + ($49))|0; - $51 = (($50) + 20)|0; - $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 260|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($51))|0; - HEAP32[$53>>2] = $55; - $56 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($56|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 32|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); } -function _fts3DeleteTerms($pRC,$p,$pRowid,$aSz,$pbFound) { - $pRC = $pRC|0; - $p = $p|0; - $pRowid = $pRowid|0; - $aSz = $aSz|0; - $pbFound = $pbFound|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $i = 0, $iCol = 0, $iDocid = 0, $iLangid = 0, $pSelect = 0, $rc = 0, $zText = 0, label = 0, sp = 0; +function _walFramePgno($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $rc = sp + 28|0; - $pSelect = sp + 24|0; - $i = sp + 20|0; - $iLangid = sp + 16|0; - $iDocid = sp; - $iCol = sp + 12|0; - $zText = sp + 8|0; - HEAP32[$0>>2] = $pRC; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pRowid; - HEAP32[$3>>2] = $aSz; - HEAP32[$4>>2] = $pbFound; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - if ($7) { - STACKTOP = sp;return; - } - $8 = HEAP32[$1>>2]|0; - $9 = (_fts3SqlStmt($8,7,$pSelect,$2)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - $12 = HEAP32[$pSelect>>2]|0; - if ($11) { - $13 = (_sqlite3_step($12)|0); - $14 = (100)==($13|0); - do { - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$pSelect>>2]|0; - $17 = (_langidFromSelect($15,$16)|0); - HEAP32[$iLangid>>2] = $17; - $18 = HEAP32[$pSelect>>2]|0; - $19 = (_sqlite3_column_int64($18,0)|0); - $20 = tempRet0; - $21 = $iDocid; - $22 = $21; - HEAP32[$22>>2] = $19; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$iLangid>>2]|0; - $27 = $iDocid; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (_fts3PendingTermsDocid($25,1,$26,$29,$32)|0); - HEAP32[$rc>>2] = $33; - HEAP32[$i>>2] = 1; - while(1) { - $34 = HEAP32[$rc>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - break; - } - $36 = HEAP32[$i>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 24|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($36|0)<=($39|0); - if (!($40)) { - break; - } - $41 = HEAP32[$i>>2]|0; - $42 = (($41) - 1)|0; - HEAP32[$iCol>>2] = $42; - $43 = HEAP32[$iCol>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 32|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + ($43)|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP32[$pSelect>>2]|0; - $52 = HEAP32[$i>>2]|0; - $53 = (_sqlite3_column_text($51,$52)|0); - HEAP32[$zText>>2] = $53; - $54 = HEAP32[$1>>2]|0; - $55 = HEAP32[$iLangid>>2]|0; - $56 = HEAP32[$zText>>2]|0; - $57 = HEAP32[$iCol>>2]|0; - $58 = HEAP32[$3>>2]|0; - $59 = (($58) + ($57<<2)|0); - $60 = (_fts3PendingTermsAdd($54,$55,$56,-1,$59)|0); - HEAP32[$rc>>2] = $60; - $61 = HEAP32[$pSelect>>2]|0; - $62 = HEAP32[$i>>2]|0; - $63 = (_sqlite3_column_bytes($61,$62)|0); - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 24|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$3>>2]|0; - $68 = (($67) + ($66<<2)|0); - $69 = HEAP32[$68>>2]|0; - $70 = (($69) + ($63))|0; - HEAP32[$68>>2] = $70; - } - $71 = HEAP32[$i>>2]|0; - $72 = (($71) + 1)|0; - HEAP32[$i>>2] = $72; - } - $73 = HEAP32[$rc>>2]|0; - $74 = ($73|0)!=(0); - if (!($74)) { - $78 = HEAP32[$4>>2]|0; - HEAP32[$78>>2] = 1; - break; - } - $75 = HEAP32[$pSelect>>2]|0; - (_sqlite3_reset($75)|0); - $76 = HEAP32[$rc>>2]|0; - $77 = HEAP32[$0>>2]|0; - HEAP32[$77>>2] = $76; - STACKTOP = sp;return; - } - } while(0); - $79 = HEAP32[$pSelect>>2]|0; - $80 = (_sqlite3_reset($79)|0); - HEAP32[$rc>>2] = $80; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$4>>2]|0; + $7 = (_walFramePage($6)|0); + HEAP32[$5>>2] = $7; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 32|0); + $12 = HEAP32[$11>>2]|0; + if ($9) { + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = (34 + ($14))|0; + $16 = (($15) - 1)|0; + $17 = (($13) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$2>>2] = $18; + $28 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($28|0); } else { - (_sqlite3_reset($12)|0); + $19 = HEAP32[$5>>2]|0; + $20 = (($12) + ($19<<2)|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = (($22) - 1)|0; + $24 = (($23) - 4062)|0; + $25 = (($24>>>0) % 4096)&-1; + $26 = (($21) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$2>>2] = $27; + $28 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($28|0); } - $81 = HEAP32[$rc>>2]|0; - $82 = HEAP32[$0>>2]|0; - HEAP32[$82>>2] = $81; - STACKTOP = sp;return; + return (0)|0; } -function _fts3IsEmpty($p,$pRowid,$pisEmpty) { - $p = $p|0; - $pRowid = $pRowid|0; - $pisEmpty = $pisEmpty|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pStmt = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3PcachePageRefcount($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $pStmt = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pRowid; - HEAP32[$2>>2] = $pisEmpty; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if ($6) { - $7 = HEAP32[$2>>2]|0; - HEAP32[$7>>2] = 0; - HEAP32[$rc>>2] = 0; - $20 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($20|0); - } - $8 = HEAP32[$0>>2]|0; - $9 = (_fts3SqlStmt($8,1,$pStmt,$1)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - if (!($11)) { - $20 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($20|0); - } - $12 = HEAP32[$pStmt>>2]|0; - $13 = (_sqlite3_step($12)|0); - $14 = (100)==($13|0); - if ($14) { - $15 = HEAP32[$pStmt>>2]|0; - $16 = (_sqlite3_column_int($15,0)|0); - $17 = HEAP32[$2>>2]|0; - HEAP32[$17>>2] = $16; - } - $18 = HEAP32[$pStmt>>2]|0; - $19 = (_sqlite3_reset($18)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($20|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 26|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4 << 16 >> 16; + STACKTOP = sp;return ($5|0); } -function _fts3DeleteAll($p,$bContent) { - $p = $p|0; - $bContent = $bContent|0; - var $0 = 0, $1 = 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, $rc = 0; - var label = 0, sp = 0; +function _sqlite3WalEndReadTransaction($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $bContent; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - _sqlite3Fts3PendingTermsClear($2); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + (_sqlite3WalEndWriteTransaction($2)|0); $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0); - if ($4) { - $5 = HEAP32[$0>>2]|0; - _fts3SqlExec($rc,$5,2,0); - } - $6 = HEAP32[$0>>2]|0; - _fts3SqlExec($rc,$6,3,0); - $7 = HEAP32[$0>>2]|0; - _fts3SqlExec($rc,$7,4,0); - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 230|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)!=(0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - _fts3SqlExec($rc,$12,5,0); - } - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 229|0); - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)!=(0); - if (!($16)) { - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); - } - $17 = HEAP32[$0>>2]|0; - _fts3SqlExec($rc,$17,6,0); - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); -} -function _fts3SqlExec($pRC,$p,$eStmt,$apVal) { - $pRC = $pRC|0; - $p = $p|0; - $eStmt = $eStmt|0; - $apVal = $apVal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pStmt = 0, $rc = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $pStmt = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pRC; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $eStmt; - HEAP32[$3>>2] = $apVal; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { + $4 = ((($3)) + 40|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5 << 16 >> 16; + $7 = ($6|0)>=(0); + if (!($7)) { STACKTOP = sp;return; } - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$3>>2]|0; - $10 = (_fts3SqlStmt($7,$8,$pStmt,$9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)==(0); - if ($12) { - $13 = HEAP32[$pStmt>>2]|0; - (_sqlite3_step($13)|0); - $14 = HEAP32[$pStmt>>2]|0; - $15 = (_sqlite3_reset($14)|0); - HEAP32[$rc>>2] = $15; - } - $16 = HEAP32[$rc>>2]|0; - $17 = HEAP32[$0>>2]|0; - HEAP32[$17>>2] = $16; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 40|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11 << 16 >> 16; + $13 = (3 + ($12))|0; + _walUnlockShared($8,$13); + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 40|0); + HEAP16[$15>>1] = -1; STACKTOP = sp;return; } -function _langidFromSelect($p,$pSelect) { - $p = $p|0; - $pSelect = $pSelect|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iLangid = 0, label = 0, sp = 0; +function _sqlite3OsLock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 8|0; - $1 = sp + 4|0; - $iLangid = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pSelect; - HEAP32[$iLangid>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 44|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - $12 = HEAP32[$iLangid>>2]|0; - STACKTOP = sp;return ($12|0); - } - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 24|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 1)|0; - $11 = (_sqlite3_column_int($6,$10)|0); - HEAP32[$iLangid>>2] = $11; - $12 = HEAP32[$iLangid>>2]|0; - STACKTOP = sp;return ($12|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 28|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (FUNCTION_TABLE_iii[$7 & 255]($8,$9)|0); + STACKTOP = sp;return ($10|0); } -function _fts3DoRebuild($p) { - $p = $p|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $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, $aSz = 0, $aSzDel = 0, $aSzIns = 0, $iCol = 0, $iLangid = 0, $nByte = 0, $nEntry = 0, $pStmt = 0, $rc = 0, $rc2 = 0, $vararg_buffer = 0, $z = 0, $zSql = 0; - var label = 0, sp = 0; +function _sqlite3WalCheckpoint($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $10 = 0, $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, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 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, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $vararg_buffer = sp; - $0 = sp + 52|0; - $rc = sp + 48|0; - $aSz = sp + 44|0; - $aSzIns = sp + 40|0; - $aSzDel = sp + 36|0; - $pStmt = sp + 32|0; - $nEntry = sp + 28|0; - $zSql = sp + 24|0; - $nByte = sp + 20|0; - $iCol = sp + 16|0; - $iLangid = sp + 12|0; - $z = sp + 8|0; - $rc2 = sp + 4|0; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (_fts3DeleteAll($1,0)|0); - HEAP32[$rc>>2] = $2; - $3 = HEAP32[$rc>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $145 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($145|0); - } - HEAP32[$aSz>>2] = 0; - HEAP32[$aSzIns>>2] = 0; - HEAP32[$aSzDel>>2] = 0; - HEAP32[$pStmt>>2] = 0; - HEAP32[$nEntry>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 216|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$vararg_buffer>>2] = $7; - $8 = (_sqlite3_mprintf(23614,$vararg_buffer)|0); - HEAP32[$zSql>>2] = $8; - $9 = HEAP32[$zSql>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$zSql>>2]|0; - $15 = (_sqlite3_prepare_v2($13,$14,-1,$pStmt,0)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$zSql>>2]|0; - _sqlite3_free($16); - } else { - HEAP32[$rc>>2] = 7; + $9 = sp + 52|0; + $10 = sp + 48|0; + $11 = sp + 44|0; + $12 = sp + 40|0; + $13 = sp + 36|0; + $14 = sp + 32|0; + $15 = sp + 28|0; + $16 = sp + 24|0; + $17 = sp + 20|0; + $18 = sp + 16|0; + $19 = sp + 12|0; + $20 = sp + 8|0; + $21 = sp + 4|0; + $22 = sp; + HEAP32[$10>>2] = $0; + HEAP32[$11>>2] = $1; + HEAP32[$12>>2] = $2; + HEAP32[$13>>2] = $3; + HEAP32[$14>>2] = $4; + HEAP32[$15>>2] = $5; + HEAP32[$16>>2] = $6; + HEAP32[$17>>2] = $7; + HEAP32[$18>>2] = $8; + HEAP32[$20>>2] = 0; + $23 = HEAP32[$11>>2]|0; + HEAP32[$21>>2] = $23; + $24 = HEAP32[$12>>2]|0; + HEAP32[$22>>2] = $24; + $25 = HEAP32[$10>>2]|0; + $26 = ((($25)) + 46|0); + $27 = HEAP8[$26>>0]|0; + $28 = ($27<<24>>24)!=(0); + if ($28) { + HEAP32[$9>>2] = 8; + $114 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($114|0); } - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)==(0); + $29 = HEAP32[$10>>2]|0; + $30 = (_walLockExclusive($29,1,1)|0); + HEAP32[$19>>2] = $30; + $31 = HEAP32[$19>>2]|0; + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$19>>2]|0; + HEAP32[$9>>2] = $33; + $114 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($114|0); + } + $34 = HEAP32[$10>>2]|0; + $35 = ((($34)) + 45|0); + HEAP8[$35>>0] = 1; + $36 = HEAP32[$11>>2]|0; + $37 = ($36|0)!=(0); do { - if ($18) { - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 1)|0; - $23 = $22<<2; - $24 = ($23*3)|0; - HEAP32[$nByte>>2] = $24; - $25 = HEAP32[$nByte>>2]|0; - $26 = (_sqlite3_malloc($25)|0); - HEAP32[$aSz>>2] = $26; - $27 = HEAP32[$aSz>>2]|0; - $28 = ($27|0)==(0|0); - if ($28) { - HEAP32[$rc>>2] = 7; - break; - } else { - $29 = HEAP32[$aSz>>2]|0; - $30 = HEAP32[$nByte>>2]|0; - _memset(($29|0),0,($30|0))|0; - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 24|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + 1)|0; - $35 = HEAP32[$aSz>>2]|0; - $36 = (($35) + ($34<<2)|0); - HEAP32[$aSzIns>>2] = $36; - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 24|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + 1)|0; - $41 = HEAP32[$aSzIns>>2]|0; - $42 = (($41) + ($40<<2)|0); - HEAP32[$aSzDel>>2] = $42; + if ($37) { + $38 = HEAP32[$10>>2]|0; + $39 = HEAP32[$12>>2]|0; + $40 = HEAP32[$13>>2]|0; + $41 = (_walBusyLock($38,$39,$40,0,1)|0); + HEAP32[$19>>2] = $41; + $42 = HEAP32[$19>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + $44 = HEAP32[$10>>2]|0; + $45 = ((($44)) + 44|0); + HEAP8[$45>>0] = 1; break; } + $46 = HEAP32[$19>>2]|0; + $47 = ($46|0)==(5); + if ($47) { + HEAP32[$21>>2] = 0; + HEAP32[$22>>2] = 0; + HEAP32[$19>>2] = 0; + } } } while(0); - L13: while(1) { - $43 = HEAP32[$rc>>2]|0; - $44 = ($43|0)==(0); - if ($44) { - $45 = HEAP32[$pStmt>>2]|0; - $46 = (_sqlite3_step($45)|0); - $47 = (100)==($46|0); - $146 = $47; - } else { - $146 = 0; - } - $48 = HEAP32[$0>>2]|0; - if (!($146)) { - break; - } - $49 = HEAP32[$pStmt>>2]|0; - $50 = (_langidFromSelect($48,$49)|0); - HEAP32[$iLangid>>2] = $50; - $51 = HEAP32[$0>>2]|0; - $52 = HEAP32[$iLangid>>2]|0; - $53 = HEAP32[$pStmt>>2]|0; - $54 = (_sqlite3_column_int64($53,0)|0); - $55 = tempRet0; - $56 = (_fts3PendingTermsDocid($51,0,$52,$54,$55)|0); - HEAP32[$rc>>2] = $56; - $57 = HEAP32[$aSz>>2]|0; - $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 24|0); - $60 = HEAP32[$59>>2]|0; - $61 = (($60) + 1)|0; - $62 = $61<<2; - _memset(($57|0),0,($62|0))|0; - HEAP32[$iCol>>2] = 0; - while(1) { - $63 = HEAP32[$rc>>2]|0; - $64 = ($63|0)==(0); - if (!($64)) { - break; - } - $65 = HEAP32[$iCol>>2]|0; - $66 = HEAP32[$0>>2]|0; - $67 = ((($66)) + 24|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($65|0)<($68|0); - if (!($69)) { - break; - } - $70 = HEAP32[$iCol>>2]|0; - $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 32|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73) + ($70)|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = ($76|0)==(0); - if ($77) { - $78 = HEAP32[$pStmt>>2]|0; - $79 = HEAP32[$iCol>>2]|0; - $80 = (($79) + 1)|0; - $81 = (_sqlite3_column_text($78,$80)|0); - HEAP32[$z>>2] = $81; - $82 = HEAP32[$0>>2]|0; - $83 = HEAP32[$iLangid>>2]|0; - $84 = HEAP32[$z>>2]|0; - $85 = HEAP32[$iCol>>2]|0; - $86 = HEAP32[$iCol>>2]|0; - $87 = HEAP32[$aSz>>2]|0; - $88 = (($87) + ($86<<2)|0); - $89 = (_fts3PendingTermsAdd($82,$83,$84,$85,$88)|0); - HEAP32[$rc>>2] = $89; - $90 = HEAP32[$pStmt>>2]|0; - $91 = HEAP32[$iCol>>2]|0; - $92 = (($91) + 1)|0; - $93 = (_sqlite3_column_bytes($90,$92)|0); - $94 = HEAP32[$0>>2]|0; - $95 = ((($94)) + 24|0); - $96 = HEAP32[$95>>2]|0; - $97 = HEAP32[$aSz>>2]|0; - $98 = (($97) + ($96<<2)|0); - $99 = HEAP32[$98>>2]|0; - $100 = (($99) + ($93))|0; - HEAP32[$98>>2] = $100; + $48 = HEAP32[$19>>2]|0; + $49 = ($48|0)==(0); + if ($49) { + $50 = HEAP32[$10>>2]|0; + $51 = (_walIndexReadHdr($50,$20)|0); + HEAP32[$19>>2] = $51; + $52 = HEAP32[$20>>2]|0; + $53 = ($52|0)!=(0); + if ($53) { + $54 = HEAP32[$10>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)>=(3); + if ($59) { + $60 = HEAP32[$10>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + (_sqlite3OsUnfetch($62,0,0,0)|0); } - $101 = HEAP32[$iCol>>2]|0; - $102 = (($101) + 1)|0; - HEAP32[$iCol>>2] = $102; - } - $103 = HEAP32[$0>>2]|0; - $104 = ((($103)) + 230|0); - $105 = HEAP8[$104>>0]|0; - $106 = ($105<<24>>24)!=(0); - if ($106) { - $107 = HEAP32[$0>>2]|0; - $108 = HEAP32[$aSz>>2]|0; - _fts3InsertDocsize($rc,$107,$108); } - $109 = HEAP32[$rc>>2]|0; - $110 = ($109|0)!=(0); - if ($110) { - $111 = HEAP32[$pStmt>>2]|0; - (_sqlite3_finalize($111)|0); - HEAP32[$pStmt>>2] = 0; - continue; + } + $63 = HEAP32[$19>>2]|0; + $64 = ($63|0)==(0); + if ($64) { + $65 = HEAP32[$10>>2]|0; + $66 = ((($65)) + 52|0); + $67 = ((($66)) + 16|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)!=(0); + if ($69) { + $70 = HEAP32[$10>>2]|0; + $71 = (_walPagesize($70)|0); + $72 = HEAP32[$15>>2]|0; + $73 = ($71|0)!=($72|0); + if ($73) { + $74 = (_sqlite3CorruptError(57049)|0); + HEAP32[$19>>2] = $74; + } else { + label = 18; + } + } else { + label = 18; } - $112 = HEAP32[$nEntry>>2]|0; - $113 = (($112) + 1)|0; - HEAP32[$nEntry>>2] = $113; - HEAP32[$iCol>>2] = 0; - while(1) { - $114 = HEAP32[$iCol>>2]|0; - $115 = HEAP32[$0>>2]|0; - $116 = ((($115)) + 24|0); - $117 = HEAP32[$116>>2]|0; - $118 = ($114|0)<=($117|0); - if (!($118)) { - continue L13; + if ((label|0) == 18) { + $75 = HEAP32[$10>>2]|0; + $76 = HEAP32[$21>>2]|0; + $77 = HEAP32[$22>>2]|0; + $78 = HEAP32[$13>>2]|0; + $79 = HEAP32[$14>>2]|0; + $80 = HEAP32[$16>>2]|0; + $81 = (_walCheckpoint($75,$76,$77,$78,$79,$80)|0); + HEAP32[$19>>2] = $81; + } + $82 = HEAP32[$19>>2]|0; + $83 = ($82|0)==(0); + $84 = HEAP32[$19>>2]|0; + $85 = ($84|0)==(5); + $or$cond = $83 | $85; + if ($or$cond) { + $86 = HEAP32[$17>>2]|0; + $87 = ($86|0)!=(0|0); + if ($87) { + $88 = HEAP32[$10>>2]|0; + $89 = ((($88)) + 52|0); + $90 = ((($89)) + 16|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$17>>2]|0; + HEAP32[$92>>2] = $91; + } + $93 = HEAP32[$18>>2]|0; + $94 = ($93|0)!=(0|0); + if ($94) { + $95 = HEAP32[$10>>2]|0; + $96 = (_walCkptInfo($95)|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$18>>2]|0; + HEAP32[$98>>2] = $97; } - $119 = HEAP32[$iCol>>2]|0; - $120 = HEAP32[$aSz>>2]|0; - $121 = (($120) + ($119<<2)|0); - $122 = HEAP32[$121>>2]|0; - $123 = HEAP32[$iCol>>2]|0; - $124 = HEAP32[$aSzIns>>2]|0; - $125 = (($124) + ($123<<2)|0); - $126 = HEAP32[$125>>2]|0; - $127 = (($126) + ($122))|0; - HEAP32[$125>>2] = $127; - $128 = HEAP32[$iCol>>2]|0; - $129 = (($128) + 1)|0; - HEAP32[$iCol>>2] = $129; } } - $130 = ((($48)) + 228|0); - $131 = HEAP8[$130>>0]|0; - $132 = ($131<<24>>24)!=(0); - if ($132) { - $133 = HEAP32[$0>>2]|0; - $134 = HEAP32[$aSzIns>>2]|0; - $135 = HEAP32[$aSzDel>>2]|0; - $136 = HEAP32[$nEntry>>2]|0; - _fts3UpdateDocTotals($rc,$133,$134,$135,$136); - } - $137 = HEAP32[$aSz>>2]|0; - _sqlite3_free($137); - $138 = HEAP32[$pStmt>>2]|0; - $139 = ($138|0)!=(0|0); - if (!($139)) { - $145 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($145|0); + $99 = HEAP32[$20>>2]|0; + $100 = ($99|0)!=(0); + if ($100) { + $101 = HEAP32[$10>>2]|0; + $102 = ((($101)) + 52|0); + dest=$102; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + } + $103 = HEAP32[$10>>2]|0; + (_sqlite3WalEndWriteTransaction($103)|0); + $104 = HEAP32[$10>>2]|0; + _walUnlockExclusive($104,1,1); + $105 = HEAP32[$10>>2]|0; + $106 = ((($105)) + 45|0); + HEAP8[$106>>0] = 0; + $107 = HEAP32[$19>>2]|0; + $108 = ($107|0)==(0); + if ($108) { + $109 = HEAP32[$11>>2]|0; + $110 = HEAP32[$21>>2]|0; + $111 = ($109|0)!=($110|0); + if ($111) { + $113 = 5; + } else { + label = 28; + } + } else { + label = 28; } - $140 = HEAP32[$pStmt>>2]|0; - $141 = (_sqlite3_finalize($140)|0); - HEAP32[$rc2>>2] = $141; - $142 = HEAP32[$rc>>2]|0; - $143 = ($142|0)==(0); - if (!($143)) { - $145 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($145|0); + if ((label|0) == 28) { + $112 = HEAP32[$19>>2]|0; + $113 = $112; } - $144 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $144; - $145 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($145|0); + HEAP32[$9>>2] = $113; + $114 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($114|0); } -function _fts3DoIntegrityCheck($p) { - $p = $p|0; - var $$ = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $bOk = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3OsFileControlHint($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $bOk = sp; - HEAP32[$0>>2] = $p; - HEAP32[$bOk>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = (_fts3IntegrityCheck($1,$bOk)|0); - HEAP32[$rc>>2] = $2; - $3 = HEAP32[$rc>>2]|0; - $4 = ($3|0)==(0); - $5 = HEAP32[$bOk>>2]|0; - $6 = ($5|0)==(0); - $or$cond = $4 & $6; - $$ = $or$cond ? 267 : $2; - HEAP32[$rc>>2] = $$; - $7 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 40|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$5>>2]|0; + (FUNCTION_TABLE_iiii[$9 & 255]($10,$11,$12)|0); + STACKTOP = sp;return; } -function _fts3DoIncrmerge($p,$zParam) { - $p = $p|0; - $zParam = $zParam|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nMerge = 0, $nMin = 0, $or$cond = 0, $rc = 0, $z = 0; - var label = 0, sp = 0; +function _walLimitSize($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $rc = sp + 12|0; - $nMin = sp + 8|0; - $nMerge = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $zParam; - HEAP32[$nMin>>2] = 8; - HEAP32[$nMerge>>2] = 0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$z>>2] = $2; - $3 = (_fts3Getint($z)|0); - HEAP32[$nMerge>>2] = $3; - $4 = HEAP32[$z>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5 << 24 >> 24; - $7 = ($6|0)==(44); - if ($7) { - $8 = HEAP32[$z>>2]|0; - $9 = ((($8)) + 1|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10 << 24 >> 24; - $12 = ($11|0)!=(0); - if ($12) { - $13 = HEAP32[$z>>2]|0; - $14 = ((($13)) + 1|0); - HEAP32[$z>>2] = $14; - $15 = (_fts3Getint($z)|0); - HEAP32[$nMin>>2] = $15; + $vararg_buffer = sp + 16|0; + $3 = sp + 24|0; + $4 = sp + 8|0; + $5 = sp; + $6 = sp + 20|0; + HEAP32[$3>>2] = $0; + $7 = $4; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + _sqlite3BeginBenignMalloc(); + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3OsFileSize($13,$5)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + $17 = $5; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (($17) + 4)|0; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = $4; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = ($22|0)>($28|0); + $30 = ($19>>>0)>($25>>>0); + $31 = ($22|0)==($28|0); + $32 = $31 & $30; + $33 = $29 | $32; + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + $37 = $4; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (_sqlite3OsTruncate($36,$39,$42)|0); + HEAP32[$6>>2] = $43; } } - $16 = HEAP32[$z>>2]|0; - $17 = HEAP8[$16>>0]|0; - $18 = $17 << 24 >> 24; - $19 = ($18|0)!=(0); - $20 = HEAP32[$nMin>>2]|0; - $21 = ($20|0)<(2); - $or$cond = $19 | $21; - if ($or$cond) { - HEAP32[$rc>>2] = 1; - $34 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($34|0); - } - HEAP32[$rc>>2] = 0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 229|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)!=(0); - if (!($25)) { - $26 = HEAP32[$0>>2]|0; - _sqlite3Fts3CreateStatTable($rc,$26); + _sqlite3EndBenignMalloc(); + $44 = HEAP32[$6>>2]|0; + $45 = ($44|0)!=(0); + if (!($45)) { + STACKTOP = sp;return; } - $27 = HEAP32[$rc>>2]|0; - $28 = ($27|0)==(0); - if ($28) { - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$nMerge>>2]|0; - $31 = HEAP32[$nMin>>2]|0; - $32 = (_sqlite3Fts3Incrmerge($29,$30,$31)|0); - HEAP32[$rc>>2] = $32; - } - $33 = HEAP32[$0>>2]|0; - _sqlite3Fts3SegmentsClose($33); - $34 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($34|0); + $46 = HEAP32[$6>>2]|0; + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 108|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$vararg_buffer>>2] = $49; + _sqlite3_log($46,24922,$vararg_buffer); + STACKTOP = sp;return; } -function _fts3DoAutoincrmerge($p,$zParam) { - $p = $p|0; - $zParam = $zParam|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pStmt = 0; - var $rc = 0, label = 0, sp = 0; +function _walIndexClose($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 8|0; - $rc = sp + 4|0; - $pStmt = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $zParam; - HEAP32[$rc>>2] = 0; - HEAP32[$pStmt>>2] = 0; - $3 = (_fts3Getint($2)|0); - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 48|0); - HEAP32[$5>>2] = $3; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 48|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - label = 3; - } else { - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 48|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(16); - if ($13) { - label = 3; - } - } - if ((label|0) == 3) { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 48|0); - HEAP32[$15>>2] = 8; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 43|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(2); + if (!($9)) { + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$3>>2]|0; + (_sqlite3OsShmUnmap($30,$31)|0); + STACKTOP = sp;return; } - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 229|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)!=(0); - if (!($19)) { - $20 = HEAP32[$1>>2]|0; - _sqlite3Fts3CreateStatTable($rc,$20); - $21 = HEAP32[$rc>>2]|0; - $22 = ($21|0)!=(0); - if ($22) { - $23 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $23; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + HEAP32[$4>>2] = 0; + while(1) { + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($10|0)<($13|0); + if (!($14)) { + break; } + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 32|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = (($17) + ($18<<2)|0); + $20 = HEAP32[$19>>2]|0; + _sqlite3_free($20); + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 32|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = (($23) + ($24<<2)|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$4>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$4>>2] = $27; } - $24 = HEAP32[$1>>2]|0; - $25 = (_fts3SqlStmt($24,23,$pStmt,0)|0); - HEAP32[$rc>>2] = $25; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)!=(0); - if ($27) { - $28 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $28; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + STACKTOP = sp;return; +} +function _sqlite3OsShmUnmap($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 64|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (FUNCTION_TABLE_iii[$7 & 255]($8,$9)|0); + STACKTOP = sp;return ($10|0); +} +function _walLockExclusive($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; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 43|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)!=(0); + if ($11) { + HEAP32[$3>>2] = 0; + $19 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($19|0); } else { - $29 = HEAP32[$pStmt>>2]|0; - (_sqlite3_bind_int($29,1,2)|0); - $30 = HEAP32[$pStmt>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 48|0); - $33 = HEAP32[$32>>2]|0; - (_sqlite3_bind_int($30,2,$33)|0); - $34 = HEAP32[$pStmt>>2]|0; - (_sqlite3_step($34)|0); - $35 = HEAP32[$pStmt>>2]|0; - $36 = (_sqlite3_reset($35)|0); - HEAP32[$rc>>2] = $36; - $37 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $37; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = (_sqlite3OsShmLock($14,$15,$16,10)|0); + HEAP32[$7>>2] = $17; + $18 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $18; + $19 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($19|0); } return (0)|0; } -function _fts3Getint($pz) { - $pz = $pz|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $i = 0, $z = 0, label = 0, sp = 0; +function _walBusyLock($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $z = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pz; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$z>>2] = $2; - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; while(1) { - $3 = HEAP32[$z>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $6 = ($5|0)>=(48); - if (!($6)) { - label = 5; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$8>>2]|0; + $13 = HEAP32[$9>>2]|0; + $14 = (_walLockExclusive($11,$12,$13)|0); + HEAP32[$10>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = ($15|0)!=(0|0); + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(5); + $or$cond = $16 & $18; + if (!($or$cond)) { + label = 4; break; } - $7 = HEAP32[$z>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)<=(57); - if (!($10)) { - label = 5; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = (FUNCTION_TABLE_ii[$19 & 255]($20)|0); + $22 = ($21|0)!=(0); + if (!($22)) { + label = 4; break; } - $11 = HEAP32[$i>>2]|0; - $12 = ($11*10)|0; - $13 = HEAP32[$z>>2]|0; - $14 = ((($13)) + 1|0); - HEAP32[$z>>2] = $14; - $15 = HEAP8[$13>>0]|0; - $16 = $15 << 24 >> 24; - $17 = (($12) + ($16))|0; - $18 = (($17) - 48)|0; - HEAP32[$i>>2] = $18; } - if ((label|0) == 5) { - $19 = HEAP32[$z>>2]|0; - $20 = HEAP32[$0>>2]|0; - HEAP32[$20>>2] = $19; - $21 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($21|0); + if ((label|0) == 4) { + $23 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($23|0); } return (0)|0; } -function _sqlite3Fts3CreateStatTable($pRc,$p) { - $pRc = $pRc|0; - $p = $p|0; - var $0 = 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, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0; - var sp = 0; +function _walIndexReadHdr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - HEAP32[$0>>2] = $pRc; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer>>2] = $8; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $11; - _fts3DbExec($2,$5,23537,$vararg_buffer); - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0); - if (!($14)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = (_walIndexPage($8,0,$7)|0); + HEAP32[$5>>2] = $9; + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $12; + $57 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($57|0); } - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 229|0); - HEAP8[$16>>0] = 1; - STACKTOP = sp;return; + $13 = HEAP32[$7>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = (_walIndexTryHdr($15,$16)|0); + $18 = $17; + } else { + $18 = 1; + } + HEAP32[$6>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = ($19|0)!=(0); + do { + if ($20) { + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 46|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 & 2; + $26 = ($25|0)!=(0); + $27 = HEAP32[$3>>2]|0; + if ($26) { + $28 = (_walLockShared($27,0)|0); + HEAP32[$5>>2] = $28; + $29 = (0)==($28|0); + if (!($29)) { + break; + } + $30 = HEAP32[$3>>2]|0; + _walUnlockShared($30,0); + HEAP32[$5>>2] = 264; + break; + } + $31 = (_walLockExclusive($27,0,1)|0); + HEAP32[$5>>2] = $31; + $32 = (0)==($31|0); + if ($32) { + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 44|0); + HEAP8[$34>>0] = 1; + $35 = HEAP32[$3>>2]|0; + $36 = (_walIndexPage($35,0,$7)|0); + HEAP32[$5>>2] = $36; + $37 = (0)==($36|0); + if ($37) { + $38 = HEAP32[$3>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = (_walIndexTryHdr($38,$39)|0); + HEAP32[$6>>2] = $40; + $41 = HEAP32[$6>>2]|0; + $42 = ($41|0)!=(0); + if ($42) { + $43 = HEAP32[$3>>2]|0; + $44 = (_walIndexRecover($43)|0); + HEAP32[$5>>2] = $44; + $45 = HEAP32[$4>>2]|0; + HEAP32[$45>>2] = 1; + } + } + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 44|0); + HEAP8[$47>>0] = 0; + $48 = HEAP32[$3>>2]|0; + _walUnlockExclusive($48,0,1); + } + } + } while(0); + $49 = HEAP32[$6>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 52|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)!=(3007000); + if ($54) { + $55 = (_sqlite3CantopenError(55897)|0); + HEAP32[$5>>2] = $55; + } + } + $56 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $56; + $57 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($57|0); +} +function _walPagesize($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 52|0); + $4 = ((($3)) + 14|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = $6 & 65024; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 52|0); + $10 = ((($9)) + 14|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = $12 & 1; + $14 = $13 << 16; + $15 = (($7) + ($14))|0; + STACKTOP = sp;return ($15|0); } -function _fts3IntegrityCheck($p,$pbOk) { - $p = $p|0; - $pbOk = $pbOk|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; +function _walCheckpoint($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$old = 0, $$old4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $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, $cksum1 = 0, $cksum2 = 0, $i = 0, $i1 = 0, $iCol = 0, $iDocid = 0, $iDum1 = 0, $iDum2 = 0, $iLang = 0, $iLangid = 0; - var $iPos = 0, $nText = 0, $nToken = 0, $pAllLangid = 0, $pModule = 0, $pStmt = 0, $pT = 0, $rc = 0, $rc2 = 0, $vararg_buffer = 0, $zSql = 0, $zText = 0, $zToken = 0, label = 0, sp = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; - $vararg_buffer = sp + 24|0; - $0 = sp + 108|0; - $1 = sp + 104|0; - $rc = sp + 100|0; - $cksum1 = sp + 16|0; - $cksum2 = sp + 8|0; - $pAllLangid = sp + 96|0; - $rc2 = sp + 92|0; - $iLangid = sp + 88|0; - $i = sp + 84|0; - $pModule = sp + 80|0; - $pStmt = sp + 76|0; - $zSql = sp + 72|0; - $iDocid = sp; - $iLang = sp + 68|0; - $iCol = sp + 64|0; - $zText = sp + 60|0; - $nText = sp + 56|0; - $pT = sp + 52|0; - $zToken = sp + 48|0; - $nToken = sp + 44|0; - $iDum1 = sp + 40|0; - $iDum2 = sp + 36|0; - $iPos = sp + 32|0; - $i1 = sp + 28|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pbOk; - HEAP32[$rc>>2] = 0; - $2 = $cksum1; - $3 = $2; - HEAP32[$3>>2] = 0; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - $6 = $cksum2; - $7 = $6; - HEAP32[$7>>2] = 0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = 0; - HEAP32[$pAllLangid>>2] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = (_fts3SqlStmt($10,27,$pAllLangid,0)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $14 = HEAP32[$pAllLangid>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 272|0); - $17 = HEAP32[$16>>2]|0; - (_sqlite3_bind_int($14,1,$17)|0); - $18 = HEAP32[$pAllLangid>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 248|0); - $21 = HEAP32[$20>>2]|0; - (_sqlite3_bind_int($18,2,$21)|0); - L3: while(1) { - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)==(0); - if ($23) { - $24 = HEAP32[$pAllLangid>>2]|0; - $25 = (_sqlite3_step($24)|0); - $26 = ($25|0)==(100); - $228 = $26; - } else { - $228 = 0; - } - $27 = HEAP32[$pAllLangid>>2]|0; - if (!($228)) { - break; + $6 = sp + 104|0; + $7 = sp + 100|0; + $8 = sp + 96|0; + $9 = sp + 92|0; + $10 = sp + 88|0; + $11 = sp + 84|0; + $12 = sp + 80|0; + $13 = sp + 76|0; + $14 = sp + 72|0; + $15 = sp + 68|0; + $16 = sp + 64|0; + $17 = sp + 60|0; + $18 = sp + 56|0; + $19 = sp + 52|0; + $20 = sp + 48|0; + $21 = sp + 44|0; + $22 = sp + 40|0; + $23 = sp + 24|0; + $24 = sp + 36|0; + $25 = sp + 16|0; + $26 = sp + 8|0; + $27 = sp; + $28 = sp + 32|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + $29 = HEAP32[$7>>2]|0; + $30 = (_walPagesize($29)|0); + HEAP32[$14>>2] = $30; + $31 = HEAP32[$7>>2]|0; + $32 = (_walCkptInfo($31)|0); + HEAP32[$21>>2] = $32; + $33 = HEAP32[$21>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = ((($35)) + 52|0); + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($34>>>0)<($38>>>0); + L1: do { + if ($39) { + $40 = HEAP32[$7>>2]|0; + $41 = (_walIteratorInit($40,$15)|0); + HEAP32[$13>>2] = $41; + $42 = HEAP32[$13>>2]|0; + $43 = ($42|0)!=(0); + if ($43) { + $44 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $44; + $291 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($291|0); } - $28 = (_sqlite3_column_int($27,0)|0); - HEAP32[$iLangid>>2] = $28; - HEAP32[$i>>2] = 0; + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 52|0); + $47 = ((($46)) + 16|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$18>>2] = $48; + $49 = HEAP32[$7>>2]|0; + $50 = ((($49)) + 52|0); + $51 = ((($50)) + 20|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$19>>2] = $52; + HEAP32[$20>>2] = 1; while(1) { - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 248|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($29|0)<($32|0); - if (!($33)) { - continue L3; + $53 = HEAP32[$20>>2]|0; + $54 = ($53|0)<(5); + $55 = HEAP32[$21>>2]|0; + if (!($54)) { + break; } - $34 = $cksum1; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$iLangid>>2]|0; - $42 = HEAP32[$i>>2]|0; - $43 = (_fts3ChecksumIndex($40,$41,$42,$rc)|0); - $44 = tempRet0; - $45 = $36 ^ $43; - $46 = $39 ^ $44; - $47 = $cksum1; - $48 = $47; - HEAP32[$48>>2] = $45; - $49 = (($47) + 4)|0; - $50 = $49; - HEAP32[$50>>2] = $46; - $51 = HEAP32[$i>>2]|0; - $52 = (($51) + 1)|0; - HEAP32[$i>>2] = $52; - } - } - $53 = (_sqlite3_reset($27)|0); - HEAP32[$rc2>>2] = $53; - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)==(0); - if ($55) { - $56 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $56; - } - } - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)==(0); - if (!($58)) { - $210 = $cksum1; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = $cksum2; - $217 = $216; - $218 = HEAP32[$217>>2]|0; - $219 = (($216) + 4)|0; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = ($212|0)==($218|0); - $223 = ($215|0)==($221|0); - $224 = $222 & $223; - $225 = $224&1; - $226 = HEAP32[$1>>2]|0; - HEAP32[$226>>2] = $225; - $227 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($227|0); - } - $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 36|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$61>>2]|0; - HEAP32[$pModule>>2] = $62; - HEAP32[$pStmt>>2] = 0; - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 216|0); - $65 = HEAP32[$64>>2]|0; - HEAP32[$vararg_buffer>>2] = $65; - $66 = (_sqlite3_mprintf(23614,$vararg_buffer)|0); - HEAP32[$zSql>>2] = $66; - $67 = HEAP32[$zSql>>2]|0; - $68 = ($67|0)!=(0|0); - if ($68) { - $69 = HEAP32[$0>>2]|0; - $70 = ((($69)) + 12|0); - $71 = HEAP32[$70>>2]|0; - $72 = HEAP32[$zSql>>2]|0; - $73 = (_sqlite3_prepare_v2($71,$72,-1,$pStmt,0)|0); - HEAP32[$rc>>2] = $73; - $74 = HEAP32[$zSql>>2]|0; - _sqlite3_free($74); - } else { - HEAP32[$rc>>2] = 7; - } - L21: while(1) { - $75 = HEAP32[$rc>>2]|0; - $76 = ($75|0)==(0); - if ($76) { - $77 = HEAP32[$pStmt>>2]|0; - $78 = (_sqlite3_step($77)|0); - $79 = (100)==($78|0); - $229 = $79; - } else { - $229 = 0; - } - $80 = HEAP32[$pStmt>>2]|0; - if (!($229)) { - break; - } - $81 = (_sqlite3_column_int64($80,0)|0); - $82 = tempRet0; - $83 = $iDocid; - $84 = $83; - HEAP32[$84>>2] = $81; - $85 = (($83) + 4)|0; - $86 = $85; - HEAP32[$86>>2] = $82; - $87 = HEAP32[$0>>2]|0; - $88 = HEAP32[$pStmt>>2]|0; - $89 = (_langidFromSelect($87,$88)|0); - HEAP32[$iLang>>2] = $89; - HEAP32[$iCol>>2] = 0; - while(1) { - $90 = HEAP32[$rc>>2]|0; - $91 = ($90|0)==(0); - if (!($91)) { - continue L21; - } - $92 = HEAP32[$iCol>>2]|0; - $93 = HEAP32[$0>>2]|0; - $94 = ((($93)) + 24|0); - $95 = HEAP32[$94>>2]|0; - $96 = ($92|0)<($95|0); - if (!($96)) { - continue L21; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$20>>2]|0; + $58 = (($56) + ($57<<2)|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$22>>2] = $59; + $60 = HEAP32[$18>>2]|0; + $61 = HEAP32[$22>>2]|0; + $62 = ($60>>>0)>($61>>>0); + do { + if ($62) { + $63 = HEAP32[$7>>2]|0; + $64 = HEAP32[$9>>2]|0; + $65 = HEAP32[$10>>2]|0; + $66 = HEAP32[$20>>2]|0; + $67 = (3 + ($66))|0; + $68 = (_walBusyLock($63,$64,$65,$67,1)|0); + HEAP32[$13>>2] = $68; + $69 = HEAP32[$13>>2]|0; + $70 = ($69|0)==(0); + if ($70) { + $71 = HEAP32[$20>>2]|0; + $72 = ($71|0)==(1); + $73 = HEAP32[$18>>2]|0; + $74 = $72 ? $73 : -1; + $75 = HEAP32[$21>>2]|0; + $76 = ((($75)) + 4|0); + $77 = HEAP32[$20>>2]|0; + $78 = (($76) + ($77<<2)|0); + HEAP32[$78>>2] = $74; + $79 = HEAP32[$7>>2]|0; + $80 = HEAP32[$20>>2]|0; + $81 = (3 + ($80))|0; + _walUnlockExclusive($79,$81,1); + break; + } + $82 = HEAP32[$13>>2]|0; + $83 = ($82|0)==(5); + if (!($83)) { + break L1; + } + $84 = HEAP32[$22>>2]|0; + HEAP32[$18>>2] = $84; + HEAP32[$9>>2] = 0; + } + } while(0); + $85 = HEAP32[$20>>2]|0; + $86 = (($85) + 1)|0; + HEAP32[$20>>2] = $86; } - $97 = HEAP32[$iCol>>2]|0; - $98 = HEAP32[$0>>2]|0; - $99 = ((($98)) + 32|0); - $100 = HEAP32[$99>>2]|0; - $101 = (($100) + ($97)|0); - $102 = HEAP8[$101>>0]|0; - $103 = $102&255; - $104 = ($103|0)==(0); - if ($104) { - $105 = HEAP32[$pStmt>>2]|0; - $106 = HEAP32[$iCol>>2]|0; - $107 = (($106) + 1)|0; - $108 = (_sqlite3_column_text($105,$107)|0); - HEAP32[$zText>>2] = $108; - $109 = HEAP32[$pStmt>>2]|0; - $110 = HEAP32[$iCol>>2]|0; - $111 = (($110) + 1)|0; - $112 = (_sqlite3_column_bytes($109,$111)|0); - HEAP32[$nText>>2] = $112; - HEAP32[$pT>>2] = 0; - $113 = HEAP32[$0>>2]|0; - $114 = ((($113)) + 36|0); - $115 = HEAP32[$114>>2]|0; - $116 = HEAP32[$iLang>>2]|0; - $117 = HEAP32[$zText>>2]|0; - $118 = HEAP32[$nText>>2]|0; - $119 = (_sqlite3Fts3OpenTokenizer($115,$116,$117,$118,$pT)|0); - HEAP32[$rc>>2] = $119; - L33: while(1) { - $120 = HEAP32[$rc>>2]|0; - $121 = ($120|0)==(0); - if (!($121)) { - break; + $87 = HEAP32[$55>>2]|0; + $88 = HEAP32[$18>>2]|0; + $89 = ($87>>>0)<($88>>>0); + if ($89) { + $90 = HEAP32[$7>>2]|0; + $91 = HEAP32[$9>>2]|0; + $92 = HEAP32[$10>>2]|0; + $93 = (_walBusyLock($90,$91,$92,3,1)|0); + HEAP32[$13>>2] = $93; + $94 = ($93|0)==(0); + if ($94) { + $95 = HEAP32[$21>>2]|0; + $96 = HEAP32[$95>>2]|0; + HEAP32[$24>>2] = $96; + $97 = HEAP32[$18>>2]|0; + $98 = HEAP32[$21>>2]|0; + $99 = ((($98)) + 32|0); + HEAP32[$99>>2] = $97; + $100 = HEAP32[$11>>2]|0; + $101 = ($100|0)!=(0); + if ($101) { + $102 = HEAP32[$7>>2]|0; + $103 = ((($102)) + 8|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$11>>2]|0; + $106 = (_sqlite3OsSync($104,$105)|0); + HEAP32[$13>>2] = $106; } - HEAP32[$nToken>>2] = 0; - HEAP32[$iDum1>>2] = 0; - HEAP32[$iDum2>>2] = 0; - HEAP32[$iPos>>2] = 0; - $122 = HEAP32[$pModule>>2]|0; - $123 = ((($122)) + 20|0); - $124 = HEAP32[$123>>2]|0; - $125 = HEAP32[$pT>>2]|0; - $126 = (FUNCTION_TABLE_iiiiiii[$124 & 255]($125,$zToken,$nToken,$iDum1,$iDum2,$iPos)|0); - HEAP32[$rc>>2] = $126; - $127 = HEAP32[$rc>>2]|0; - $128 = ($127|0)==(0); - if (!($128)) { - continue; + $107 = HEAP32[$13>>2]|0; + $108 = ($107|0)==(0); + if ($108) { + $109 = HEAP32[$19>>2]|0; + $110 = HEAP32[$14>>2]|0; + $111 = ($110|0)<(0); + $112 = $111 << 31 >> 31; + $113 = (___muldi3(($109|0),0,($110|0),($112|0))|0); + $114 = tempRet0; + $115 = $25; + $116 = $115; + HEAP32[$116>>2] = $113; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + $119 = HEAP32[$7>>2]|0; + $120 = ((($119)) + 4|0); + $121 = HEAP32[$120>>2]|0; + $122 = (_sqlite3OsFileSize($121,$23)|0); + HEAP32[$13>>2] = $122; + $123 = HEAP32[$13>>2]|0; + $124 = ($123|0)==(0); + if ($124) { + $125 = $23; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = (($125) + 4)|0; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = $25; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (($131) + 4)|0; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = ($130|0)<($136|0); + $138 = ($127>>>0)<($133>>>0); + $139 = ($130|0)==($136|0); + $140 = $139 & $138; + $141 = $137 | $140; + if ($141) { + $142 = HEAP32[$7>>2]|0; + $143 = ((($142)) + 4|0); + $144 = HEAP32[$143>>2]|0; + _sqlite3OsFileControlHint($144,5,$25); + } + } } - $129 = $cksum2; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = (($129) + 4)|0; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$zToken>>2]|0; - $136 = HEAP32[$nToken>>2]|0; - $137 = HEAP32[$iLang>>2]|0; - $138 = $iDocid; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = HEAP32[$iCol>>2]|0; - $145 = HEAP32[$iPos>>2]|0; - $146 = (_fts3ChecksumEntry($135,$136,$137,0,$140,$143,$144,$145)|0); - $147 = tempRet0; - $148 = $131 ^ $146; - $149 = $134 ^ $147; - $150 = $cksum2; - $151 = $150; - HEAP32[$151>>2] = $148; - $152 = (($150) + 4)|0; - $153 = $152; - HEAP32[$153>>2] = $149; - HEAP32[$i1>>2] = 1; - while(1) { - $154 = HEAP32[$i1>>2]|0; - $155 = HEAP32[$0>>2]|0; - $156 = ((($155)) + 248|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($154|0)<($157|0); - if (!($158)) { - continue L33; + L28: while(1) { + $$old = HEAP32[$13>>2]|0; + $$old4 = ($$old|0)==(0); + if (!($$old4)) { + break; } - $159 = HEAP32[$i1>>2]|0; - $160 = HEAP32[$0>>2]|0; - $161 = ((($160)) + 252|0); - $162 = HEAP32[$161>>2]|0; - $163 = (($162) + (($159*24)|0)|0); - $164 = HEAP32[$163>>2]|0; - $165 = HEAP32[$nToken>>2]|0; - $166 = ($164|0)<=($165|0); - if ($166) { - $167 = $cksum2; - $168 = $167; - $169 = HEAP32[$168>>2]|0; - $170 = (($167) + 4)|0; - $171 = $170; - $172 = HEAP32[$171>>2]|0; - $173 = HEAP32[$zToken>>2]|0; - $174 = HEAP32[$i1>>2]|0; - $175 = HEAP32[$0>>2]|0; - $176 = ((($175)) + 252|0); - $177 = HEAP32[$176>>2]|0; - $178 = (($177) + (($174*24)|0)|0); - $179 = HEAP32[$178>>2]|0; - $180 = HEAP32[$iLang>>2]|0; - $181 = HEAP32[$i1>>2]|0; - $182 = $iDocid; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = (($182) + 4)|0; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = HEAP32[$iCol>>2]|0; - $189 = HEAP32[$iPos>>2]|0; - $190 = (_fts3ChecksumEntry($173,$179,$180,$181,$184,$187,$188,$189)|0); - $191 = tempRet0; - $192 = $169 ^ $190; - $193 = $172 ^ $191; - $194 = $cksum2; + while(1) { + $145 = HEAP32[$15>>2]|0; + $146 = (_walIteratorNext($145,$16,$17)|0); + $147 = (0)==($146|0); + if (!($147)) { + break L28; + } + $148 = HEAP32[$17>>2]|0; + $149 = HEAP32[$24>>2]|0; + $150 = ($148>>>0)<=($149>>>0); + if ($150) { + continue L28; + } + $151 = HEAP32[$17>>2]|0; + $152 = HEAP32[$18>>2]|0; + $153 = ($151>>>0)>($152>>>0); + if ($153) { + continue L28; + } + $154 = HEAP32[$16>>2]|0; + $155 = HEAP32[$19>>2]|0; + $156 = ($154>>>0)>($155>>>0); + if ($156) { + continue L28; + } + $157 = HEAP32[$17>>2]|0; + $158 = (($157) - 1)|0; + $159 = HEAP32[$14>>2]|0; + $160 = (($159) + 24)|0; + $161 = ($160|0)<(0); + $162 = $161 << 31 >> 31; + $163 = (___muldi3(($158|0),0,($160|0),($162|0))|0); + $164 = tempRet0; + $165 = (_i64Add(32,0,($163|0),($164|0))|0); + $166 = tempRet0; + $167 = (_i64Add(($165|0),($166|0),24,0)|0); + $168 = tempRet0; + $169 = $26; + $170 = $169; + HEAP32[$170>>2] = $167; + $171 = (($169) + 4)|0; + $172 = $171; + HEAP32[$172>>2] = $168; + $173 = HEAP32[$7>>2]|0; + $174 = ((($173)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = HEAP32[$12>>2]|0; + $177 = HEAP32[$14>>2]|0; + $178 = $26; + $179 = $178; + $180 = HEAP32[$179>>2]|0; + $181 = (($178) + 4)|0; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = (_sqlite3OsRead($175,$176,$177,$180,$183)|0); + HEAP32[$13>>2] = $184; + $185 = HEAP32[$13>>2]|0; + $186 = ($185|0)!=(0); + if ($186) { + break L28; + } + $187 = HEAP32[$16>>2]|0; + $188 = (($187) - 1)|0; + $189 = HEAP32[$14>>2]|0; + $190 = ($189|0)<(0); + $191 = $190 << 31 >> 31; + $192 = (___muldi3(($188|0),0,($189|0),($191|0))|0); + $193 = tempRet0; + $194 = $26; $195 = $194; HEAP32[$195>>2] = $192; $196 = (($194) + 4)|0; $197 = $196; HEAP32[$197>>2] = $193; + $198 = HEAP32[$7>>2]|0; + $199 = ((($198)) + 4|0); + $200 = HEAP32[$199>>2]|0; + $201 = HEAP32[$12>>2]|0; + $202 = HEAP32[$14>>2]|0; + $203 = $26; + $204 = $203; + $205 = HEAP32[$204>>2]|0; + $206 = (($203) + 4)|0; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = (_sqlite3OsWrite($200,$201,$202,$205,$208)|0); + HEAP32[$13>>2] = $209; + $210 = HEAP32[$13>>2]|0; + $211 = ($210|0)==(0); + $212 = HEAP32[$13>>2]|0; + $213 = ($212|0)==(0); + $or$cond5 = $211 & $213; + if (!($or$cond5)) { + break L28; + } + } + } + $214 = HEAP32[$13>>2]|0; + $215 = ($214|0)==(0); + if ($215) { + $216 = HEAP32[$18>>2]|0; + $217 = HEAP32[$7>>2]|0; + $218 = (_walIndexHdr($217)|0); + $219 = ((($218)) + 16|0); + $220 = HEAP32[$219>>2]|0; + $221 = ($216|0)==($220|0); + if ($221) { + $222 = HEAP32[$7>>2]|0; + $223 = ((($222)) + 52|0); + $224 = ((($223)) + 20|0); + $225 = HEAP32[$224>>2]|0; + $226 = HEAP32[$14>>2]|0; + $227 = ($226|0)<(0); + $228 = $227 << 31 >> 31; + $229 = (___muldi3(($225|0),0,($226|0),($228|0))|0); + $230 = tempRet0; + $231 = $27; + $232 = $231; + HEAP32[$232>>2] = $229; + $233 = (($231) + 4)|0; + $234 = $233; + HEAP32[$234>>2] = $230; + $235 = HEAP32[$7>>2]|0; + $236 = ((($235)) + 4|0); + $237 = HEAP32[$236>>2]|0; + $238 = $27; + $239 = $238; + $240 = HEAP32[$239>>2]|0; + $241 = (($238) + 4)|0; + $242 = $241; + $243 = HEAP32[$242>>2]|0; + $244 = (_sqlite3OsTruncate($237,$240,$243)|0); + HEAP32[$13>>2] = $244; + $245 = HEAP32[$13>>2]|0; + $246 = ($245|0)==(0); + $247 = HEAP32[$11>>2]|0; + $248 = ($247|0)!=(0); + $or$cond = $246 & $248; + if ($or$cond) { + $249 = HEAP32[$7>>2]|0; + $250 = ((($249)) + 4|0); + $251 = HEAP32[$250>>2]|0; + $252 = HEAP32[$11>>2]|0; + $253 = (_sqlite3OsSync($251,$252)|0); + HEAP32[$13>>2] = $253; + } + } + $254 = HEAP32[$13>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $256 = HEAP32[$18>>2]|0; + $257 = HEAP32[$21>>2]|0; + HEAP32[$257>>2] = $256; } - $198 = HEAP32[$i1>>2]|0; - $199 = (($198) + 1)|0; - HEAP32[$i1>>2] = $199; } + $258 = HEAP32[$7>>2]|0; + _walUnlockExclusive($258,3,1); } - $200 = HEAP32[$pT>>2]|0; - $201 = ($200|0)!=(0|0); - if ($201) { - $202 = HEAP32[$pModule>>2]|0; - $203 = ((($202)) + 16|0); - $204 = HEAP32[$203>>2]|0; - $205 = HEAP32[$pT>>2]|0; - (FUNCTION_TABLE_ii[$204 & 255]($205)|0); + } + $259 = HEAP32[$13>>2]|0; + $260 = ($259|0)==(5); + if ($260) { + HEAP32[$13>>2] = 0; + label = 36; + } else { + label = 36; + } + } else { + label = 36; + } + } while(0); + do { + if ((label|0) == 36) { + $261 = HEAP32[$13>>2]|0; + $262 = ($261|0)==(0); + $263 = HEAP32[$8>>2]|0; + $264 = ($263|0)!=(0); + $or$cond3 = $262 & $264; + if ($or$cond3) { + $265 = HEAP32[$21>>2]|0; + $266 = HEAP32[$265>>2]|0; + $267 = HEAP32[$7>>2]|0; + $268 = ((($267)) + 52|0); + $269 = ((($268)) + 16|0); + $270 = HEAP32[$269>>2]|0; + $271 = ($266>>>0)<($270>>>0); + if ($271) { + HEAP32[$13>>2] = 5; + break; } - $206 = HEAP32[$rc>>2]|0; - $207 = ($206|0)==(101); - if ($207) { - HEAP32[$rc>>2] = 0; + $272 = HEAP32[$8>>2]|0; + $273 = ($272|0)>=(2); + if ($273) { + _sqlite3_randomness(4,$28); + $274 = HEAP32[$7>>2]|0; + $275 = HEAP32[$9>>2]|0; + $276 = HEAP32[$10>>2]|0; + $277 = (_walBusyLock($274,$275,$276,4,4)|0); + HEAP32[$13>>2] = $277; + $278 = HEAP32[$13>>2]|0; + $279 = ($278|0)==(0); + if ($279) { + $280 = HEAP32[$8>>2]|0; + $281 = ($280|0)==(3); + if ($281) { + $282 = HEAP32[$7>>2]|0; + $283 = HEAP32[$28>>2]|0; + _walRestartHdr($282,$283); + $284 = HEAP32[$7>>2]|0; + $285 = ((($284)) + 8|0); + $286 = HEAP32[$285>>2]|0; + $287 = (_sqlite3OsTruncate($286,0,0)|0); + HEAP32[$13>>2] = $287; + } + $288 = HEAP32[$7>>2]|0; + _walUnlockExclusive($288,4,4); + } } } - $208 = HEAP32[$iCol>>2]|0; - $209 = (($208) + 1)|0; - HEAP32[$iCol>>2] = $209; } - } - (_sqlite3_finalize($80)|0); - $210 = $cksum1; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = $cksum2; - $217 = $216; - $218 = HEAP32[$217>>2]|0; - $219 = (($216) + 4)|0; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = ($212|0)==($218|0); - $223 = ($215|0)==($221|0); - $224 = $222 & $223; - $225 = $224&1; - $226 = HEAP32[$1>>2]|0; - HEAP32[$226>>2] = $225; - $227 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($227|0); -} -function _fts3ChecksumIndex($p,$iLangid,$iIndex,$pRc) { - $p = $p|0; - $iLangid = $iLangid|0; - $iIndex = $iIndex|0; - $pRc = $pRc|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $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, $cksum = 0, $csr = 0, $filter = 0, $iCol = 0, $iDocid = 0, $iPos = 0, $iVal = 0, $or$cond = 0, $pCsr = 0, $pEnd = 0, $rc = 0, dest = 0, label = 0; - var sp = 0, stop = 0; + } while(0); + $289 = HEAP32[$15>>2]|0; + _walIteratorFree($289); + $290 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $290; + $291 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($291|0); +} +function _walCkptInfo($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $0 = sp + 140|0; - $1 = sp + 136|0; - $2 = sp + 132|0; - $3 = sp + 128|0; - $filter = sp + 112|0; - $csr = sp + 56|0; - $rc = sp + 48|0; - $cksum = sp + 32|0; - $pCsr = sp + 44|0; - $pEnd = sp + 40|0; - $iDocid = sp + 24|0; - $iCol = sp + 16|0; - $iPos = sp + 8|0; - $iVal = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iLangid; - HEAP32[$2>>2] = $iIndex; - HEAP32[$3>>2] = $pRc; - $4 = $cksum; - $5 = $4; - HEAP32[$5>>2] = 0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = 0; - ;HEAP32[$filter>>2]=0|0;HEAP32[$filter+4>>2]=0|0;HEAP32[$filter+8>>2]=0|0;HEAP32[$filter+12>>2]=0|0; - dest=$csr; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $8 = ((($filter)) + 12|0); - HEAP32[$8>>2] = 3; - $9 = ((($filter)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 | 16; - HEAP32[$9>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (_sqlite3Fts3SegReaderCursor($12,$13,$14,-2,0,0,0,1,$csr)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = (_sqlite3Fts3SegReaderStart($18,$csr,$filter)|0); - HEAP32[$rc>>2] = $19; - } - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)==(0); - if (!($21)) { - _sqlite3Fts3SegReaderFinish($csr); - $179 = HEAP32[$rc>>2]|0; - $180 = HEAP32[$3>>2]|0; - HEAP32[$180>>2] = $179; - $181 = $cksum; - $182 = $181; - $183 = HEAP32[$182>>2]|0; - $184 = (($181) + 4)|0; - $185 = $184; - $186 = HEAP32[$185>>2]|0; - tempRet0 = ($186); - STACKTOP = sp;return ($183|0); - } - L6: while(1) { - $22 = HEAP32[$0>>2]|0; - $23 = (_sqlite3Fts3SegReaderStep($22,$csr)|0); - HEAP32[$rc>>2] = $23; - $24 = (100)==($23|0); - if (!($24)) { - break; - } - $25 = ((($csr)) + 48|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$pCsr>>2] = $26; - $27 = ((($csr)) + 52|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$pCsr>>2]|0; - $30 = (($29) + ($28)|0); - HEAP32[$pEnd>>2] = $30; - $31 = $iDocid; - $32 = $31; - HEAP32[$32>>2] = 0; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = 0; - $35 = $iCol; - $36 = $35; - HEAP32[$36>>2] = 0; - $37 = (($35) + 4)|0; - $38 = $37; - HEAP32[$38>>2] = 0; - $39 = $iPos; - $40 = $39; - HEAP32[$40>>2] = 0; - $41 = (($39) + 4)|0; - $42 = $41; - HEAP32[$42>>2] = 0; - $43 = HEAP32[$pCsr>>2]|0; - $44 = (_sqlite3Fts3GetVarint($43,$iDocid)|0); - $45 = HEAP32[$pCsr>>2]|0; - $46 = (($45) + ($44)|0); - HEAP32[$pCsr>>2] = $46; - while(1) { - $47 = HEAP32[$pCsr>>2]|0; - $48 = HEAP32[$pEnd>>2]|0; - $49 = ($47>>>0)<($48>>>0); - if (!($49)) { - continue L6; - } - $50 = $iVal; - $51 = $50; - HEAP32[$51>>2] = 0; - $52 = (($50) + 4)|0; - $53 = $52; - HEAP32[$53>>2] = 0; - $54 = HEAP32[$pCsr>>2]|0; - $55 = (_sqlite3Fts3GetVarint($54,$iVal)|0); - $56 = HEAP32[$pCsr>>2]|0; - $57 = (($56) + ($55)|0); - HEAP32[$pCsr>>2] = $57; - $58 = HEAP32[$pCsr>>2]|0; - $59 = HEAP32[$pEnd>>2]|0; - $60 = ($58>>>0)<($59>>>0); - if (!($60)) { - continue; - } - $61 = $iVal; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = ($63|0)==(0); - $68 = ($66|0)==(0); - $69 = $67 & $68; - $70 = $iVal; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = ($72|0)==(1); - $77 = ($75|0)==(0); - $78 = $76 & $77; - $or$cond = $69 | $78; - if (!($or$cond)) { - $121 = $iVal; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = (($121) + 4)|0; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = (_i64Subtract(($123|0),($126|0),2,0)|0); - $128 = tempRet0; - $129 = $iPos; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = (($129) + 4)|0; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (_i64Add(($131|0),($134|0),($127|0),($128|0))|0); - $136 = tempRet0; - $137 = $iPos; - $138 = $137; - HEAP32[$138>>2] = $135; - $139 = (($137) + 4)|0; - $140 = $139; - HEAP32[$140>>2] = $136; - $141 = $cksum; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = (($141) + 4)|0; - $145 = $144; - $146 = HEAP32[$145>>2]|0; - $147 = ((($csr)) + 40|0); - $148 = HEAP32[$147>>2]|0; - $149 = ((($csr)) + 44|0); - $150 = HEAP32[$149>>2]|0; - $151 = HEAP32[$1>>2]|0; - $152 = HEAP32[$2>>2]|0; - $153 = $iDocid; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = (($153) + 4)|0; - $157 = $156; - $158 = HEAP32[$157>>2]|0; - $159 = $iCol; - $160 = $159; - $161 = HEAP32[$160>>2]|0; - $162 = (($159) + 4)|0; - $163 = $162; - $164 = HEAP32[$163>>2]|0; - $165 = $iPos; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $171 = (_fts3ChecksumEntry($148,$150,$151,$152,$155,$158,$161,$167)|0); - $172 = tempRet0; - $173 = $143 ^ $171; - $174 = $146 ^ $172; - $175 = $cksum; - $176 = $175; - HEAP32[$176>>2] = $173; - $177 = (($175) + 4)|0; - $178 = $177; - HEAP32[$178>>2] = $174; - continue; - } - $79 = $iCol; - $80 = $79; - HEAP32[$80>>2] = 0; - $81 = (($79) + 4)|0; - $82 = $81; - HEAP32[$82>>2] = 0; - $83 = $iPos; - $84 = $83; - HEAP32[$84>>2] = 0; - $85 = (($83) + 4)|0; - $86 = $85; - HEAP32[$86>>2] = 0; - $87 = $iVal; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $93 = ($89|0)!=(0); - $94 = ($92|0)!=(0); - $95 = $93 | $94; - $96 = HEAP32[$pCsr>>2]|0; - if ($95) { - $97 = (_sqlite3Fts3GetVarint($96,$iCol)|0); - $98 = HEAP32[$pCsr>>2]|0; - $99 = (($98) + ($97)|0); - HEAP32[$pCsr>>2] = $99; - continue; - } else { - $100 = (_sqlite3Fts3GetVarint($96,$iVal)|0); - $101 = HEAP32[$pCsr>>2]|0; - $102 = (($101) + ($100)|0); - HEAP32[$pCsr>>2] = $102; - $103 = $iVal; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = (($103) + 4)|0; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = $iDocid; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = (($109) + 4)|0; - $113 = $112; - $114 = HEAP32[$113>>2]|0; - $115 = (_i64Add(($111|0),($114|0),($105|0),($108|0))|0); - $116 = tempRet0; - $117 = $iDocid; - $118 = $117; - HEAP32[$118>>2] = $115; - $119 = (($117) + 4)|0; - $120 = $119; - HEAP32[$120>>2] = $116; - continue; - } - } - } - _sqlite3Fts3SegReaderFinish($csr); - $179 = HEAP32[$rc>>2]|0; - $180 = HEAP32[$3>>2]|0; - HEAP32[$180>>2] = $179; - $181 = $cksum; - $182 = $181; - $183 = HEAP32[$182>>2]|0; - $184 = (($181) + 4)|0; - $185 = $184; - $186 = HEAP32[$185>>2]|0; - tempRet0 = ($186); - STACKTOP = sp;return ($183|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 32|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 96|0); + STACKTOP = sp;return ($6|0); } -function _fts3ChecksumEntry($zTerm,$nTerm,$iLangid,$iIndex,$0,$1,$iCol,$iPos) { - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - $iLangid = $iLangid|0; - $iIndex = $iIndex|0; +function _walIteratorInit($0,$1) { $0 = $0|0; $1 = $1|0; - $iCol = $iCol|0; - $iPos = $iPos|0; var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $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, $i = 0, $ret = 0, label = 0, sp = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $5 = sp + 28|0; - $6 = sp + 8|0; - $7 = sp + 24|0; - $8 = sp + 20|0; - $i = sp + 16|0; - $ret = sp; - HEAP32[$2>>2] = $zTerm; - HEAP32[$3>>2] = $nTerm; - HEAP32[$4>>2] = $iLangid; - HEAP32[$5>>2] = $iIndex; - $9 = $6; - $10 = $9; - HEAP32[$10>>2] = $0; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = $1; - HEAP32[$7>>2] = $iCol; - HEAP32[$8>>2] = $iPos; - $13 = $6; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = $ret; - $20 = $19; - HEAP32[$20>>2] = $15; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = $18; - $23 = $ret; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (_bitshift64Shl(($25|0),($28|0),3)|0); - $30 = tempRet0; - $31 = HEAP32[$4>>2]|0; - $32 = ($31|0)<(0); - $33 = $32 << 31 >> 31; - $34 = (_i64Add(($29|0),($30|0),($31|0),($33|0))|0); - $35 = tempRet0; - $36 = $ret; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (_i64Add(($38|0),($41|0),($34|0),($35|0))|0); - $43 = tempRet0; - $44 = $ret; - $45 = $44; - HEAP32[$45>>2] = $42; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - $48 = $ret; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (_bitshift64Shl(($50|0),($53|0),3)|0); - $55 = tempRet0; - $56 = HEAP32[$5>>2]|0; - $57 = ($56|0)<(0); - $58 = $57 << 31 >> 31; - $59 = (_i64Add(($54|0),($55|0),($56|0),($58|0))|0); - $60 = tempRet0; - $61 = $ret; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (_i64Add(($63|0),($66|0),($59|0),($60|0))|0); - $68 = tempRet0; - $69 = $ret; - $70 = $69; - HEAP32[$70>>2] = $67; - $71 = (($69) + 4)|0; - $72 = $71; - HEAP32[$72>>2] = $68; - $73 = $ret; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = (_bitshift64Shl(($75|0),($78|0),3)|0); - $80 = tempRet0; - $81 = HEAP32[$7>>2]|0; - $82 = ($81|0)<(0); - $83 = $82 << 31 >> 31; - $84 = (_i64Add(($79|0),($80|0),($81|0),($83|0))|0); - $85 = tempRet0; - $86 = $ret; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = (($86) + 4)|0; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (_i64Add(($88|0),($91|0),($84|0),($85|0))|0); - $93 = tempRet0; - $94 = $ret; - $95 = $94; - HEAP32[$95>>2] = $92; - $96 = (($94) + 4)|0; - $97 = $96; - HEAP32[$97>>2] = $93; - $98 = $ret; - $99 = $98; - $100 = HEAP32[$99>>2]|0; - $101 = (($98) + 4)|0; - $102 = $101; - $103 = HEAP32[$102>>2]|0; - $104 = (_bitshift64Shl(($100|0),($103|0),3)|0); - $105 = tempRet0; - $106 = HEAP32[$8>>2]|0; - $107 = ($106|0)<(0); - $108 = $107 << 31 >> 31; - $109 = (_i64Add(($104|0),($105|0),($106|0),($108|0))|0); - $110 = tempRet0; - $111 = $ret; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = (($111) + 4)|0; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = (_i64Add(($113|0),($116|0),($109|0),($110|0))|0); - $118 = tempRet0; - $119 = $ret; - $120 = $119; - HEAP32[$120>>2] = $117; - $121 = (($119) + 4)|0; - $122 = $121; - HEAP32[$122>>2] = $118; - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 60|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$11>>2] = 0; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 52|0); + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$7>>2] = $21; + $22 = HEAP32[$7>>2]|0; + $23 = (_walFramePage($22)|0); + $24 = (($23) + 1)|0; + HEAP32[$6>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = (($25) - 1)|0; + $27 = ($26*20)|0; + $28 = (28 + ($27))|0; + $29 = HEAP32[$7>>2]|0; + $30 = $29<<1; + $31 = (($28) + ($30))|0; + HEAP32[$8>>2] = $31; + $32 = HEAP32[$8>>2]|0; + $33 = ($32|0)<(0); + $34 = $33 << 31 >> 31; + $35 = (_sqlite3_malloc64($32,$34)|0); + HEAP32[$5>>2] = $35; + $36 = HEAP32[$5>>2]|0; + $37 = ($36|0)!=(0|0); + if (!($37)) { + HEAP32[$2>>2] = 7; + $132 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($132|0); + } + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$8>>2]|0; + _memset(($38|0),0,($39|0))|0; + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 4|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$7>>2]|0; + $44 = ($43>>>0)>(4096); + $45 = HEAP32[$7>>2]|0; + $46 = $44 ? 4096 : $45; + $47 = $46<<1; + $48 = (_sqlite3_malloc64($47,0)|0); + HEAP32[$10>>2] = $48; + $49 = HEAP32[$10>>2]|0; + $50 = ($49|0)!=(0|0); + if (!($50)) { + HEAP32[$11>>2] = 7; + } + HEAP32[$9>>2] = 0; while(1) { - $123 = HEAP32[$i>>2]|0; - $124 = HEAP32[$3>>2]|0; - $125 = ($123|0)<($124|0); - $126 = $ret; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = (($126) + 4)|0; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - if (!($125)) { + $51 = HEAP32[$11>>2]|0; + $52 = ($51|0)==(0); + if (!($52)) { break; } - $132 = (_bitshift64Shl(($128|0),($131|0),3)|0); - $133 = tempRet0; - $134 = HEAP32[$i>>2]|0; - $135 = HEAP32[$2>>2]|0; - $136 = (($135) + ($134)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137 << 24 >> 24; - $139 = ($138|0)<(0); - $140 = $139 << 31 >> 31; - $141 = (_i64Add(($132|0),($133|0),($138|0),($140|0))|0); - $142 = tempRet0; - $143 = $ret; - $144 = $143; - $145 = HEAP32[$144>>2]|0; - $146 = (($143) + 4)|0; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (_i64Add(($145|0),($148|0),($141|0),($142|0))|0); - $150 = tempRet0; - $151 = $ret; - $152 = $151; - HEAP32[$152>>2] = $149; - $153 = (($151) + 4)|0; - $154 = $153; - HEAP32[$154>>2] = $150; - $155 = HEAP32[$i>>2]|0; - $156 = (($155) + 1)|0; - HEAP32[$i>>2] = $156; - } - tempRet0 = ($131); - STACKTOP = sp;return ($128|0); -} -function _fts3EvalNext($pCsr) { - $pCsr = $pCsr|0; - var $0 = 0, $1 = 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, $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, $97 = 0, $98 = 0, $99 = 0, $pExpr = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $pExpr = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pExpr>>2] = $3; - $4 = HEAP32[$pExpr>>2]|0; - $5 = ($4|0)==(0|0); - L1: do { - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 6|0); - HEAP8[$7>>0] = 1; - } else { + $53 = HEAP32[$9>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ($53|0)<($54|0); + if (!($55)) { + break; + } + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$9>>2]|0; + $58 = (_walHashGet($56,$57,$12,$14,$13)|0); + HEAP32[$11>>2] = $58; + $59 = HEAP32[$11>>2]|0; + $60 = ($59|0)==(0); + if ($60) { + $61 = HEAP32[$14>>2]|0; + $62 = ((($61)) + 4|0); + HEAP32[$14>>2] = $62; + $63 = HEAP32[$9>>2]|0; + $64 = (($63) + 1)|0; + $65 = HEAP32[$6>>2]|0; + $66 = ($64|0)==($65|0); + if ($66) { + $67 = HEAP32[$7>>2]|0; + $68 = HEAP32[$13>>2]|0; + $69 = (($67) - ($68))|0; + HEAP32[$16>>2] = $69; + } else { + $70 = HEAP32[$12>>2]|0; + $71 = HEAP32[$14>>2]|0; + $72 = $70; + $73 = $71; + $74 = (($72) - ($73))|0; + $75 = (($74|0) / 4)&-1; + HEAP32[$16>>2] = $75; + } + $76 = HEAP32[$5>>2]|0; + $77 = ((($76)) + 8|0); + $78 = HEAP32[$5>>2]|0; + $79 = ((($78)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = (($77) + (($80*20)|0)|0); + $82 = HEAP32[$13>>2]|0; + $83 = (($81) + ($82<<1)|0); + HEAP32[$17>>2] = $83; + $84 = HEAP32[$13>>2]|0; + $85 = (($84) + 1)|0; + HEAP32[$13>>2] = $85; + HEAP32[$15>>2] = 0; while(1) { - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 7|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)==(0); - if ($12) { - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - (_sqlite3_reset($15)|0); - } - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$pExpr>>2]|0; - _fts3EvalNextRow($16,$17,$rc); - $18 = HEAP32[$pExpr>>2]|0; - $19 = ((($18)) + 32|0); - $20 = HEAP8[$19>>0]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 6|0); - HEAP8[$22>>0] = $20; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 7|0); - HEAP8[$24>>0] = 1; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 88|0); - HEAP32[$26>>2] = 1; - $27 = HEAP32[$pExpr>>2]|0; - $28 = ((($27)) + 24|0); - $29 = $28; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 32|0); - $37 = $36; - $38 = $37; - HEAP32[$38>>2] = $31; - $39 = (($37) + 4)|0; - $40 = $39; - HEAP32[$40>>2] = $34; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 6|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = ($44|0)==(0); - if (!($45)) { - break L1; - } - $46 = HEAP32[$0>>2]|0; - $47 = (_sqlite3Fts3EvalTestDeferred($46,$rc)|0); - $48 = ($47|0)!=(0); - if (!($48)) { + $86 = HEAP32[$15>>2]|0; + $87 = HEAP32[$16>>2]|0; + $88 = ($86|0)<($87|0); + if (!($88)) { break; } - } - } - } while(0); - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(0); - if (!($50)) { - $105 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($105|0); - } - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 52|0); - $53 = HEAP8[$52>>0]|0; - $54 = $53&255; - $55 = ($54|0)==(0); - if ($55) { - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 32|0); - $58 = $57; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 80|0); - $66 = $65; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = (($66) + 4)|0; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = ($63|0)>($71|0); - $73 = ($60>>>0)>($68>>>0); - $74 = ($63|0)==($71|0); - $75 = $74 & $73; - $76 = $72 | $75; - if (!($76)) { - label = 10; + $89 = HEAP32[$15>>2]|0; + $90 = $89&65535; + $91 = HEAP32[$17>>2]|0; + $92 = HEAP32[$15>>2]|0; + $93 = (($91) + ($92<<1)|0); + HEAP16[$93>>1] = $90; + $94 = HEAP32[$15>>2]|0; + $95 = (($94) + 1)|0; + HEAP32[$15>>2] = $95; + } + $96 = HEAP32[$14>>2]|0; + $97 = HEAP32[$10>>2]|0; + $98 = HEAP32[$17>>2]|0; + _walMergesort($96,$97,$98,$16); + $99 = HEAP32[$13>>2]|0; + $100 = HEAP32[$5>>2]|0; + $101 = ((($100)) + 8|0); + $102 = HEAP32[$9>>2]|0; + $103 = (($101) + (($102*20)|0)|0); + $104 = ((($103)) + 16|0); + HEAP32[$104>>2] = $99; + $105 = HEAP32[$16>>2]|0; + $106 = HEAP32[$5>>2]|0; + $107 = ((($106)) + 8|0); + $108 = HEAP32[$9>>2]|0; + $109 = (($107) + (($108*20)|0)|0); + $110 = ((($109)) + 12|0); + HEAP32[$110>>2] = $105; + $111 = HEAP32[$17>>2]|0; + $112 = HEAP32[$5>>2]|0; + $113 = ((($112)) + 8|0); + $114 = HEAP32[$9>>2]|0; + $115 = (($113) + (($114*20)|0)|0); + $116 = ((($115)) + 4|0); + HEAP32[$116>>2] = $111; + $117 = HEAP32[$14>>2]|0; + $118 = HEAP32[$5>>2]|0; + $119 = ((($118)) + 8|0); + $120 = HEAP32[$9>>2]|0; + $121 = (($119) + (($120*20)|0)|0); + $122 = ((($121)) + 8|0); + HEAP32[$122>>2] = $117; } - } else { - label = 10; + $123 = HEAP32[$9>>2]|0; + $124 = (($123) + 1)|0; + HEAP32[$9>>2] = $124; } - if ((label|0) == 10) { - $77 = HEAP32[$0>>2]|0; - $78 = ((($77)) + 52|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = ($80|0)!=(0); - if (!($81)) { - $105 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($105|0); - } - $82 = HEAP32[$0>>2]|0; - $83 = ((($82)) + 32|0); - $84 = $83; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = (($84) + 4)|0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$0>>2]|0; - $91 = ((($90)) + 72|0); - $92 = $91; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = ($89|0)<($97|0); - $99 = ($86>>>0)<($94>>>0); - $100 = ($89|0)==($97|0); - $101 = $100 & $99; - $102 = $98 | $101; - if (!($102)) { - $105 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($105|0); - } + $125 = HEAP32[$10>>2]|0; + _sqlite3_free($125); + $126 = HEAP32[$11>>2]|0; + $127 = ($126|0)!=(0); + if ($127) { + $128 = HEAP32[$5>>2]|0; + _walIteratorFree($128); } - $103 = HEAP32[$0>>2]|0; - $104 = ((($103)) + 6|0); - HEAP8[$104>>0] = 1; - $105 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($105|0); + $129 = HEAP32[$5>>2]|0; + $130 = HEAP32[$4>>2]|0; + HEAP32[$130>>2] = $129; + $131 = HEAP32[$11>>2]|0; + HEAP32[$2>>2] = $131; + $132 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($132|0); } -function _sqlite3Fts3ExprFree($pDel) { - $pDel = $pDel|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $7 = 0, $8 = 0, $9 = 0, $p = 0, $pParent = 0, label = 0, sp = 0; +function _walIteratorNext($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $p = sp + 4|0; - $pParent = sp; - HEAP32[$0>>2] = $pDel; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$7>>2] = -1; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) - 1)|0; + HEAP32[$8>>2] = $16; while(1) { - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { + $17 = HEAP32[$8>>2]|0; + $18 = ($17|0)>=(0); + if (!($18)) { break; } - $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $8 = HEAP32[$p>>2]|0; - $9 = ((($8)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$8>>2]|0; + $22 = (($20) + (($21*20)|0)|0); + HEAP32[$9>>2] = $22; + while(1) { + $23 = HEAP32[$9>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$9>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($24|0)<($27|0); + if (!($28)) { break; } + $29 = HEAP32[$9>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$9>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + ($36<<1)|0); + $38 = HEAP16[$37>>1]|0; + $39 = $38&65535; + $40 = (($31) + ($39<<2)|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$10>>2] = $41; + $42 = HEAP32[$10>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = ($42>>>0)>($43>>>0); + if ($44) { + label = 6; + break; + } + $62 = HEAP32[$9>>2]|0; + $63 = HEAP32[$62>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$62>>2] = $64; } - $12 = HEAP32[$p>>2]|0; - $13 = ((($12)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)!=(0|0); - $16 = HEAP32[$p>>2]|0; - if ($15) { - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $21 = $18; - } else { - $19 = ((($16)) + 16|0); - $20 = HEAP32[$19>>2]|0; - $21 = $20; - } - HEAP32[$p>>2] = $21; - } - L11: while(1) { - $22 = HEAP32[$p>>2]|0; - $23 = ($22|0)!=(0|0); - if (!($23)) { - break; - } - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 8|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$pParent>>2] = $26; - $27 = HEAP32[$p>>2]|0; - _fts3FreeExprNode($27); - $28 = HEAP32[$pParent>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$p>>2]|0; - $31 = HEAP32[$pParent>>2]|0; - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($30|0)==($33|0); - if ($34) { - $35 = HEAP32[$pParent>>2]|0; - $36 = ((($35)) + 16|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)!=(0|0); - if ($38) { - $39 = HEAP32[$pParent>>2]|0; - $40 = ((($39)) + 16|0); - $41 = HEAP32[$40>>2]|0; - HEAP32[$p>>2] = $41; - while(1) { - $42 = HEAP32[$p>>2]|0; - $43 = ($42|0)!=(0|0); - if (!($43)) { - continue L11; - } - $44 = HEAP32[$p>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)!=(0|0); - if (!($47)) { - $48 = HEAP32[$p>>2]|0; - $49 = ((($48)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)!=(0|0); - if (!($51)) { - continue L11; - } - } - $52 = HEAP32[$p>>2]|0; - $53 = ((($52)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)!=(0|0); - $56 = HEAP32[$p>>2]|0; - if ($55) { - $57 = ((($56)) + 12|0); - $58 = HEAP32[$57>>2]|0; - $61 = $58; - } else { - $59 = ((($56)) + 16|0); - $60 = HEAP32[$59>>2]|0; - $61 = $60; - } - HEAP32[$p>>2] = $61; - } - } + if ((label|0) == 6) { + label = 0; + $45 = HEAP32[$10>>2]|0; + $46 = HEAP32[$7>>2]|0; + $47 = ($45>>>0)<($46>>>0); + if ($47) { + $48 = HEAP32[$10>>2]|0; + HEAP32[$7>>2] = $48; + $49 = HEAP32[$9>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$9>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + ($56<<1)|0); + $58 = HEAP16[$57>>1]|0; + $59 = $58&65535; + $60 = (($51) + ($59))|0; + $61 = HEAP32[$5>>2]|0; + HEAP32[$61>>2] = $60; } } - $62 = HEAP32[$pParent>>2]|0; - HEAP32[$p>>2] = $62; + $65 = HEAP32[$8>>2]|0; + $66 = (($65) + -1)|0; + HEAP32[$8>>2] = $66; } - STACKTOP = sp;return; + $67 = HEAP32[$7>>2]|0; + $68 = HEAP32[$3>>2]|0; + HEAP32[$68>>2] = $67; + $69 = HEAP32[$4>>2]|0; + HEAP32[$69>>2] = $67; + $70 = HEAP32[$7>>2]|0; + $71 = ($70|0)==(-1); + $72 = $71&1; + STACKTOP = sp;return ($72|0); } -function _fts3DocidRange($pVal,$0,$1) { - $pVal = $pVal|0; +function _walRestartHdr($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eType = 0, label = 0, sp = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 8|0; - $3 = sp + 20|0; - $4 = sp; - $eType = sp + 16|0; - HEAP32[$3>>2] = $pVal; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$3>>2]|0; - $12 = (_sqlite3_value_numeric_type($11)|0); - HEAP32[$eType>>2] = $12; - $13 = HEAP32[$eType>>2]|0; - $14 = ($13|0)==(1); - if ($14) { - $15 = HEAP32[$3>>2]|0; - $16 = (_sqlite3_value_int64($15)|0); - $17 = tempRet0; - $18 = $2; - $19 = $18; - HEAP32[$19>>2] = $16; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = $17; - $32 = $2; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - tempRet0 = ($37); - STACKTOP = sp;return ($34|0); + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = (_walCkptInfo($7)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 52|0); + $11 = ((($10)) + 32|0); + HEAP32[$6>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 112|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + 1)|0; + HEAP32[$13>>2] = $15; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 52|0); + $18 = ((($17)) + 16|0); + HEAP32[$18>>2] = 0; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = (_sqlite3Get4byte($20)|0); + $22 = (1 + ($21))|0; + _sqlite3Put4byte($19,$22); + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 52|0); + $25 = ((($24)) + 32|0); + $26 = ((($25)) + 4|0); + ;HEAP32[$26>>2]=HEAP32[$3>>2]|0; + $27 = HEAP32[$2>>2]|0; + _walIndexWriteHdr($27); + $28 = HEAP32[$4>>2]|0; + HEAP32[$28>>2] = 0; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 32|0); + HEAP32[$30>>2] = 0; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 4|0); + $33 = ((($32)) + 4|0); + HEAP32[$33>>2] = 0; + HEAP32[$5>>2] = 2; + while(1) { + $34 = HEAP32[$5>>2]|0; + $35 = ($34|0)<(5); + if (!($35)) { + break; } + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$5>>2]|0; + $39 = (($37) + ($38<<2)|0); + HEAP32[$39>>2] = -1; + $40 = HEAP32[$5>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$5>>2] = $41; } - $22 = $4; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = $2; - $29 = $28; - HEAP32[$29>>2] = $24; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = $27; - $32 = $2; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - tempRet0 = ($37); - STACKTOP = sp;return ($34|0); + STACKTOP = sp;return; } -function _sqlite3Fts3ExprParse($pTokenizer,$iLangid,$azCol,$bFts4,$nCol,$iDefaultCol,$z,$n,$ppExpr,$pzErr) { - $pTokenizer = $pTokenizer|0; - $iLangid = $iLangid|0; - $azCol = $azCol|0; - $bFts4 = $bFts4|0; - $nCol = $nCol|0; - $iDefaultCol = $iDefaultCol|0; - $z = $z|0; - $n = $n|0; - $ppExpr = $ppExpr|0; - $pzErr = $pzErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; +function _walIteratorFree($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3_free($2); + STACKTOP = sp;return; +} +function _walIndexWriteHdr($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = (_walIndexHdr($4)|0); + HEAP32[$2>>2] = $5; + HEAP32[$3>>2] = 40; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 52|0); + $8 = ((($7)) + 12|0); + HEAP8[$8>>0] = 1; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 52|0); + HEAP32[$10>>2] = 3007000; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 52|0); + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 52|0); + $15 = ((($14)) + 40|0); + _walChecksumBytes(1,$12,40,0,$15); + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 48|0); + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 52|0); + dest=$17; src=$19; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $20 = HEAP32[$1>>2]|0; + _walShmBarrier($20); + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 52|0); + dest=$21; src=$23; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _walChecksumBytes($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $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; + STACKTOP = STACKTOP + 48|0; $5 = sp + 32|0; $6 = sp + 28|0; $7 = sp + 24|0; $8 = sp + 20|0; $9 = sp + 16|0; - $rc = sp + 12|0; - HEAP32[$0>>2] = $pTokenizer; - HEAP32[$1>>2] = $iLangid; - HEAP32[$2>>2] = $azCol; - HEAP32[$3>>2] = $bFts4; - HEAP32[$4>>2] = $nCol; - HEAP32[$5>>2] = $iDefaultCol; - HEAP32[$6>>2] = $z; - HEAP32[$7>>2] = $n; - HEAP32[$8>>2] = $ppExpr; - HEAP32[$9>>2] = $pzErr; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$3>>2]|0; - $14 = HEAP32[$4>>2]|0; - $15 = HEAP32[$5>>2]|0; - $16 = HEAP32[$6>>2]|0; - $17 = HEAP32[$7>>2]|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $14 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = (($15) + ($16)|0); + HEAP32[$13>>2] = $17; $18 = HEAP32[$8>>2]|0; - $19 = (_fts3ExprParseUnbalanced($10,$11,$12,$13,$14,$15,$16,$17,$18)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)==(0); - if ($21) { + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$8>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$10>>2] = $21; $22 = HEAP32[$8>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$8>>2]|0; - $26 = (_fts3ExprBalance($25,12)|0); - HEAP32[$rc>>2] = $26; - $27 = HEAP32[$rc>>2]|0; - $28 = ($27|0)==(0); - if ($28) { - $29 = HEAP32[$8>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = (_fts3ExprCheckDepth($30,12)|0); - HEAP32[$rc>>2] = $31; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$11>>2] = $24; + } else { + HEAP32[$11>>2] = 0; + HEAP32[$10>>2] = 0; + } + $25 = HEAP32[$5>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + while(1) { + $27 = HEAP32[$12>>2]|0; + $28 = ((($27)) + 4|0); + HEAP32[$12>>2] = $28; + $29 = HEAP32[$27>>2]|0; + $30 = HEAP32[$11>>2]|0; + $31 = (($29) + ($30))|0; + $32 = HEAP32[$10>>2]|0; + $33 = (($32) + ($31))|0; + HEAP32[$10>>2] = $33; + $34 = HEAP32[$12>>2]|0; + $35 = ((($34)) + 4|0); + HEAP32[$12>>2] = $35; + $36 = HEAP32[$34>>2]|0; + $37 = HEAP32[$10>>2]|0; + $38 = (($36) + ($37))|0; + $39 = HEAP32[$11>>2]|0; + $40 = (($39) + ($38))|0; + HEAP32[$11>>2] = $40; + $41 = HEAP32[$12>>2]|0; + $42 = HEAP32[$13>>2]|0; + $43 = ($41>>>0)<($42>>>0); + if (!($43)) { + break; } } - } - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)!=(0); - if (!($33)) { - $44 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($44|0); - } - $34 = HEAP32[$8>>2]|0; - $35 = HEAP32[$34>>2]|0; - _sqlite3Fts3ExprFree($35); - $36 = HEAP32[$8>>2]|0; - HEAP32[$36>>2] = 0; - $37 = HEAP32[$rc>>2]|0; - $38 = ($37|0)==(18); - if ($38) { - $39 = HEAP32[$9>>2]|0; - HEAP32[$vararg_buffer>>2] = 12; - _sqlite3Fts3ErrMsg($39,23723,$vararg_buffer); - HEAP32[$rc>>2] = 1; - $44 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($44|0); - } - $40 = HEAP32[$rc>>2]|0; - $41 = ($40|0)==(1); - if (!($41)) { - $44 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($44|0); - } - $42 = HEAP32[$9>>2]|0; - $43 = HEAP32[$6>>2]|0; - HEAP32[$vararg_buffer1>>2] = $43; - _sqlite3Fts3ErrMsg($42,23775,$vararg_buffer1); - $44 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($44|0); -} -function _fts3EvalStart($pCsr) { - $pCsr = $pCsr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $aTC = 0, $apOr = 0, $ii = 0, $nOr = 0, $nToken = 0, $or$cond = 0, $pTC = 0; - var $pTab = 0, $ppOr = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $pTab = sp + 32|0; - $rc = sp + 28|0; - $nToken = sp + 24|0; - $nOr = sp + 20|0; - $aTC = sp + 16|0; - $apOr = sp + 12|0; - $ii = sp + 8|0; - $pTC = sp + 4|0; - $ppOr = sp; - HEAP32[$0>>2] = $pCsr; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$pTab>>2] = $2; - HEAP32[$rc>>2] = 0; - HEAP32[$nToken>>2] = 0; - HEAP32[$nOr>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - _fts3EvalAllocateReaders($3,$6,$nToken,$nOr,$rc); - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - $9 = HEAP32[$nToken>>2]|0; - $10 = ($9|0)>(1); - $or$cond = $8 & $10; - do { - if ($or$cond) { - $11 = HEAP32[$pTab>>2]|0; - $12 = ((($11)) + 228|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)!=(0); - if ($15) { - $16 = HEAP32[$nToken>>2]|0; - $17 = ($16*24)|0; - $18 = HEAP32[$nOr>>2]|0; - $19 = $18<<2; - $20 = $19<<1; - $21 = (($17) + ($20))|0; - $22 = (_sqlite3_malloc($21)|0); - HEAP32[$aTC>>2] = $22; - $23 = HEAP32[$nToken>>2]|0; - $24 = HEAP32[$aTC>>2]|0; - $25 = (($24) + (($23*24)|0)|0); - HEAP32[$apOr>>2] = $25; - $26 = HEAP32[$aTC>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - HEAP32[$rc>>2] = 7; - break; - } - $28 = HEAP32[$aTC>>2]|0; - HEAP32[$pTC>>2] = $28; - $29 = HEAP32[$apOr>>2]|0; - HEAP32[$ppOr>>2] = $29; - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - _fts3EvalTokenCosts($30,0,$33,$pTC,$ppOr,$rc); - $34 = HEAP32[$pTC>>2]|0; - $35 = HEAP32[$aTC>>2]|0; - $36 = $34; - $37 = $35; - $38 = (($36) - ($37))|0; - $39 = (($38|0) / 24)&-1; - HEAP32[$nToken>>2] = $39; - $40 = HEAP32[$ppOr>>2]|0; - $41 = HEAP32[$apOr>>2]|0; - $42 = $40; - $43 = $41; - $44 = (($42) - ($43))|0; - $45 = (($44|0) / 4)&-1; - HEAP32[$nOr>>2] = $45; - $46 = HEAP32[$rc>>2]|0; - $47 = ($46|0)==(0); - L7: do { - if ($47) { - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$aTC>>2]|0; - $50 = HEAP32[$nToken>>2]|0; - $51 = (_fts3EvalSelectDeferred($48,0,$49,$50)|0); - HEAP32[$rc>>2] = $51; - HEAP32[$ii>>2] = 0; - while(1) { - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)==(0); - if (!($53)) { - break L7; - } - $54 = HEAP32[$ii>>2]|0; - $55 = HEAP32[$nOr>>2]|0; - $56 = ($54|0)<($55|0); - if (!($56)) { - break L7; - } - $57 = HEAP32[$0>>2]|0; - $58 = HEAP32[$ii>>2]|0; - $59 = HEAP32[$apOr>>2]|0; - $60 = (($59) + ($58<<2)|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$aTC>>2]|0; - $63 = HEAP32[$nToken>>2]|0; - $64 = (_fts3EvalSelectDeferred($57,$61,$62,$63)|0); - HEAP32[$rc>>2] = $64; - $65 = HEAP32[$ii>>2]|0; - $66 = (($65) + 1)|0; - HEAP32[$ii>>2] = $66; - } - } - } while(0); - $67 = HEAP32[$aTC>>2]|0; - _sqlite3_free($67); + $99 = HEAP32[$10>>2]|0; + $100 = HEAP32[$9>>2]|0; + HEAP32[$100>>2] = $99; + $101 = HEAP32[$11>>2]|0; + $102 = HEAP32[$9>>2]|0; + $103 = ((($102)) + 4|0); + HEAP32[$103>>2] = $101; + STACKTOP = sp;return; + } else { + while(1) { + $44 = HEAP32[$12>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = $45 & 255; + $47 = $46 << 24; + $48 = HEAP32[$12>>2]|0; + $49 = HEAP32[$48>>2]|0; + $50 = $49 & 65280; + $51 = $50 << 8; + $52 = (($47) + ($51))|0; + $53 = HEAP32[$12>>2]|0; + $54 = HEAP32[$53>>2]|0; + $55 = $54 & 16711680; + $56 = $55 >>> 8; + $57 = (($52) + ($56))|0; + $58 = HEAP32[$12>>2]|0; + $59 = HEAP32[$58>>2]|0; + $60 = $59 & -16777216; + $61 = $60 >>> 24; + $62 = (($57) + ($61))|0; + $63 = HEAP32[$11>>2]|0; + $64 = (($62) + ($63))|0; + $65 = HEAP32[$10>>2]|0; + $66 = (($65) + ($64))|0; + HEAP32[$10>>2] = $66; + $67 = HEAP32[$12>>2]|0; + $68 = ((($67)) + 4|0); + $69 = HEAP32[$68>>2]|0; + $70 = $69 & 255; + $71 = $70 << 24; + $72 = HEAP32[$12>>2]|0; + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + $75 = $74 & 65280; + $76 = $75 << 8; + $77 = (($71) + ($76))|0; + $78 = HEAP32[$12>>2]|0; + $79 = ((($78)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = $80 & 16711680; + $82 = $81 >>> 8; + $83 = (($77) + ($82))|0; + $84 = HEAP32[$12>>2]|0; + $85 = ((($84)) + 4|0); + $86 = HEAP32[$85>>2]|0; + $87 = $86 & -16777216; + $88 = $87 >>> 24; + $89 = (($83) + ($88))|0; + $90 = HEAP32[$10>>2]|0; + $91 = (($89) + ($90))|0; + $92 = HEAP32[$11>>2]|0; + $93 = (($92) + ($91))|0; + HEAP32[$11>>2] = $93; + $94 = HEAP32[$12>>2]|0; + $95 = ((($94)) + 8|0); + HEAP32[$12>>2] = $95; + $96 = HEAP32[$12>>2]|0; + $97 = HEAP32[$13>>2]|0; + $98 = ($96>>>0)<($97>>>0); + if (!($98)) { + break; } } - } while(0); - $68 = HEAP32[$0>>2]|0; - $69 = HEAP32[$0>>2]|0; - $70 = ((($69)) + 12|0); - $71 = HEAP32[$70>>2]|0; - _fts3EvalStartReaders($68,$71,$rc); - $72 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($72|0); + $99 = HEAP32[$10>>2]|0; + $100 = HEAP32[$9>>2]|0; + HEAP32[$100>>2] = $99; + $101 = HEAP32[$11>>2]|0; + $102 = HEAP32[$9>>2]|0; + $103 = ((($102)) + 4|0); + HEAP32[$103>>2] = $101; + STACKTOP = sp;return; + } } -function _fts3EvalAllocateReaders($pCsr,$pExpr,$pnToken,$pnOr,$pRc) { - $pCsr = $pCsr|0; - $pExpr = $pExpr|0; - $pnToken = $pnToken|0; - $pnOr = $pnOr|0; - $pRc = $pRc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0, $nToken = 0, $pToken = 0, $rc = 0, label = 0, sp = 0; +function _walShmBarrier($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $i = sp + 12|0; - $nToken = sp + 8|0; - $pToken = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $pnToken; - HEAP32[$3>>2] = $pnOr; - HEAP32[$4>>2] = $pRc; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)!=(0|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 43|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)!=(2); if (!($6)) { STACKTOP = sp;return; } - $7 = HEAP32[$4>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (0)==($8|0); - if (!($9)) { - STACKTOP = sp;return; - } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(5); - $13 = HEAP32[$1>>2]|0; - if (!($12)) { - $53 = HEAP32[$13>>2]|0; - $54 = ($53|0)==(4); - $55 = $54&1; - $56 = HEAP32[$3>>2]|0; - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + ($55))|0; - HEAP32[$56>>2] = $58; - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$2>>2]|0; - $64 = HEAP32[$3>>2]|0; - $65 = HEAP32[$4>>2]|0; - _fts3EvalAllocateReaders($59,$62,$63,$64,$65); - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = HEAP32[$3>>2]|0; - $72 = HEAP32[$4>>2]|0; - _fts3EvalAllocateReaders($66,$69,$70,$71,$72); - STACKTOP = sp;return; - } - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 64|0); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + _sqlite3OsShmBarrier($9); + STACKTOP = sp;return; +} +function _sqlite3OsShmBarrier($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 60|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$1>>2]|0; + FUNCTION_TABLE_vi[$5 & 255]($6); + STACKTOP = sp;return; +} +function _walMergesort($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, $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, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; + $4 = sp + 144|0; + $5 = sp + 140|0; + $6 = sp + 136|0; + $7 = sp + 132|0; + $8 = sp + 128|0; + $9 = sp + 124|0; + $10 = sp + 120|0; + $11 = sp + 116|0; + $12 = sp + 112|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $16 = HEAP32[$7>>2]|0; $17 = HEAP32[$16>>2]|0; - HEAP32[$nToken>>2] = $17; - $18 = HEAP32[$nToken>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($18))|0; - HEAP32[$19>>2] = $21; - HEAP32[$i>>2] = 0; + HEAP32[$8>>2] = $17; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + HEAP32[$12>>2] = 0; + dest=$13; stop=dest+104|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$11>>2] = 0; while(1) { - $22 = HEAP32[$i>>2]|0; - $23 = HEAP32[$nToken>>2]|0; - $24 = ($22|0)<($23|0); - if (!($24)) { - label = 9; - break; - } - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 20|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 72|0); - $30 = (($29) + (($25*24)|0)|0); - HEAP32[$pToken>>2] = $30; - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$pToken>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$pToken>>2]|0; - $35 = ((($34)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$pToken>>2]|0; - $38 = ((($37)) + 8|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$pToken>>2]|0; - $41 = ((($40)) + 20|0); - $42 = (_fts3TermSegReaderCursor($31,$33,$36,$39,$41)|0); - HEAP32[$rc>>2] = $42; - $43 = HEAP32[$rc>>2]|0; - $44 = ($43|0)!=(0); - if ($44) { - label = 7; + $18 = HEAP32[$11>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = ($18|0)<($19|0); + if (!($20)) { break; } - $47 = HEAP32[$i>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[$i>>2] = $48; - } - if ((label|0) == 7) { - $45 = HEAP32[$rc>>2]|0; - $46 = HEAP32[$4>>2]|0; - HEAP32[$46>>2] = $45; - STACKTOP = sp;return; + HEAP32[$9>>2] = 1; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$11>>2]|0; + $23 = (($21) + ($22<<1)|0); + HEAP32[$10>>2] = $23; + HEAP32[$12>>2] = 0; + while(1) { + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$12>>2]|0; + $26 = 1 << $25; + $27 = $24 & $26; + $28 = ($27|0)!=(0); + if (!($28)) { + break; + } + $29 = HEAP32[$12>>2]|0; + $30 = (($13) + ($29<<3)|0); + HEAP32[$14>>2] = $30; + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$14>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$14>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$5>>2]|0; + _walMerge($31,$34,$36,$10,$9,$37); + $38 = HEAP32[$12>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$12>>2] = $39; + } + $40 = HEAP32[$10>>2]|0; + $41 = HEAP32[$12>>2]|0; + $42 = (($13) + ($41<<3)|0); + $43 = ((($42)) + 4|0); + HEAP32[$43>>2] = $40; + $44 = HEAP32[$9>>2]|0; + $45 = HEAP32[$12>>2]|0; + $46 = (($13) + ($45<<3)|0); + HEAP32[$46>>2] = $44; + $47 = HEAP32[$11>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$11>>2] = $48; } - else if ((label|0) == 9) { - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 20|0); - $51 = HEAP32[$50>>2]|0; - $52 = ((($51)) + 44|0); - HEAP32[$52>>2] = -1; - STACKTOP = sp;return; + $49 = HEAP32[$12>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$12>>2] = $50; + while(1) { + $51 = HEAP32[$12>>2]|0; + $52 = ($51>>>0)<(13); + if (!($52)) { + break; + } + $53 = HEAP32[$8>>2]|0; + $54 = HEAP32[$12>>2]|0; + $55 = 1 << $54; + $56 = $53 & $55; + $57 = ($56|0)!=(0); + if ($57) { + $58 = HEAP32[$12>>2]|0; + $59 = (($13) + ($58<<3)|0); + HEAP32[$15>>2] = $59; + $60 = HEAP32[$4>>2]|0; + $61 = HEAP32[$15>>2]|0; + $62 = ((($61)) + 4|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$15>>2]|0; + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$5>>2]|0; + _walMerge($60,$63,$65,$10,$9,$66); + } + $67 = HEAP32[$12>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$12>>2] = $68; } + $69 = HEAP32[$9>>2]|0; + $70 = HEAP32[$7>>2]|0; + HEAP32[$70>>2] = $69; + STACKTOP = sp;return; } -function _fts3EvalTokenCosts($pCsr,$pRoot,$pExpr,$ppTC,$ppOr,$pRc) { - $pCsr = $pCsr|0; - $pRoot = $pRoot|0; - $pExpr = $pExpr|0; - $ppTC = $ppTC|0; - $ppOr = $ppOr|0; - $pRc = $pRc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0; - var $pPhrase = 0, $pTC = 0, label = 0, sp = 0; +function _walMerge($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $pPhrase = sp + 8|0; - $i = sp + 4|0; - $pTC = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $pRoot; - HEAP32[$2>>2] = $pExpr; - HEAP32[$3>>2] = $ppTC; - HEAP32[$4>>2] = $ppOr; - HEAP32[$5>>2] = $pRc; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(5); - $12 = HEAP32[$2>>2]|0; - if ($11) { - $13 = ((($12)) + 20|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pPhrase>>2] = $14; - HEAP32[$i>>2] = 0; - while(1) { - $15 = HEAP32[$5>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - label = 13; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp + 48|0; + $18 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + $19 = HEAP32[$10>>2]|0; + $20 = HEAP32[$19>>2]|0; + HEAP32[$15>>2] = $20; + $21 = HEAP32[$9>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$16>>2] = $22; + while(1) { + $23 = HEAP32[$13>>2]|0; + $24 = HEAP32[$15>>2]|0; + $25 = ($23|0)<($24|0); + if (!($25)) { + $26 = HEAP32[$12>>2]|0; + $27 = HEAP32[$8>>2]|0; + $28 = ($26|0)<($27|0); + if (!($28)) { break; } - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$pPhrase>>2]|0; - $20 = ((($19)) + 64|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($18|0)<($21|0); - if (!($22)) { - label = 13; - break; + } + $29 = HEAP32[$12>>2]|0; + $30 = HEAP32[$8>>2]|0; + $31 = ($29|0)<($30|0); + do { + if ($31) { + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$15>>2]|0; + $34 = ($32|0)>=($33|0); + if (!($34)) { + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$12>>2]|0; + $38 = (($36) + ($37<<1)|0); + $39 = HEAP16[$38>>1]|0; + $40 = $39&65535; + $41 = (($35) + ($40<<2)|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$16>>2]|0; + $45 = HEAP32[$13>>2]|0; + $46 = (($44) + ($45<<1)|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47&65535; + $49 = (($43) + ($48<<2)|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($42>>>0)<($50>>>0); + if (!($51)) { + label = 8; + break; + } + } + $52 = HEAP32[$7>>2]|0; + $53 = HEAP32[$12>>2]|0; + $54 = (($53) + 1)|0; + HEAP32[$12>>2] = $54; + $55 = (($52) + ($53<<1)|0); + $56 = HEAP16[$55>>1]|0; + HEAP16[$17>>1] = $56; + } else { + label = 8; } - $23 = HEAP32[$3>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = ((($24)) + 24|0); - HEAP32[$23>>2] = $25; - HEAP32[$pTC>>2] = $24; - $26 = HEAP32[$pPhrase>>2]|0; - $27 = HEAP32[$pTC>>2]|0; - HEAP32[$27>>2] = $26; - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$pTC>>2]|0; - $30 = ((($29)) + 4|0); - HEAP32[$30>>2] = $28; - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$pTC>>2]|0; - $33 = ((($32)) + 12|0); - HEAP32[$33>>2] = $31; - $34 = HEAP32[$i>>2]|0; - $35 = HEAP32[$pPhrase>>2]|0; - $36 = ((($35)) + 72|0); - $37 = (($36) + (($34*24)|0)|0); - $38 = HEAP32[$pTC>>2]|0; - $39 = ((($38)) + 8|0); - HEAP32[$39>>2] = $37; - $40 = HEAP32[$pPhrase>>2]|0; - $41 = ((($40)) + 68|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$pTC>>2]|0; - $44 = ((($43)) + 20|0); - HEAP32[$44>>2] = $42; - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$pTC>>2]|0; - $47 = ((($46)) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = ((($48)) + 20|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$pTC>>2]|0; - $52 = ((($51)) + 16|0); - $53 = (_sqlite3Fts3MsrOvfl($45,$50,$52)|0); - $54 = HEAP32[$5>>2]|0; - HEAP32[$54>>2] = $53; - $55 = HEAP32[$i>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$i>>2] = $56; + } while(0); + if ((label|0) == 8) { + label = 0; + $57 = HEAP32[$16>>2]|0; + $58 = HEAP32[$13>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$13>>2] = $59; + $60 = (($57) + ($58<<1)|0); + $61 = HEAP16[$60>>1]|0; + HEAP16[$17>>1] = $61; } - if ((label|0) == 13) { - STACKTOP = sp;return; + $62 = HEAP32[$6>>2]|0; + $63 = HEAP16[$17>>1]|0; + $64 = $63&65535; + $65 = (($62) + ($64<<2)|0); + $66 = HEAP32[$65>>2]|0; + HEAP32[$18>>2] = $66; + $67 = HEAP16[$17>>1]|0; + $68 = HEAP32[$11>>2]|0; + $69 = HEAP32[$14>>2]|0; + $70 = (($69) + 1)|0; + HEAP32[$14>>2] = $70; + $71 = (($68) + ($69<<1)|0); + HEAP16[$71>>1] = $67; + $72 = HEAP32[$12>>2]|0; + $73 = HEAP32[$8>>2]|0; + $74 = ($72|0)<($73|0); + if (!($74)) { + continue; } - } - $57 = HEAP32[$12>>2]|0; - $58 = ($57|0)!=(2); - if (!($58)) { - STACKTOP = sp;return; - } - $59 = HEAP32[$2>>2]|0; - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)==(4); - if ($61) { - $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 12|0); - $64 = HEAP32[$63>>2]|0; - HEAP32[$1>>2] = $64; - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$4>>2]|0; - $67 = HEAP32[$66>>2]|0; - HEAP32[$67>>2] = $65; - $68 = HEAP32[$4>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = ((($69)) + 4|0); - HEAP32[$68>>2] = $70; - } - $71 = HEAP32[$0>>2]|0; - $72 = HEAP32[$1>>2]|0; - $73 = HEAP32[$2>>2]|0; - $74 = ((($73)) + 12|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$3>>2]|0; - $77 = HEAP32[$4>>2]|0; - $78 = HEAP32[$5>>2]|0; - _fts3EvalTokenCosts($71,$72,$75,$76,$77,$78); - $79 = HEAP32[$2>>2]|0; - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)==(4); - if ($81) { - $82 = HEAP32[$2>>2]|0; - $83 = ((($82)) + 16|0); - $84 = HEAP32[$83>>2]|0; - HEAP32[$1>>2] = $84; - $85 = HEAP32[$1>>2]|0; - $86 = HEAP32[$4>>2]|0; - $87 = HEAP32[$86>>2]|0; - HEAP32[$87>>2] = $85; - $88 = HEAP32[$4>>2]|0; - $89 = HEAP32[$88>>2]|0; - $90 = ((($89)) + 4|0); - HEAP32[$88>>2] = $90; - } - $91 = HEAP32[$0>>2]|0; - $92 = HEAP32[$1>>2]|0; - $93 = HEAP32[$2>>2]|0; - $94 = ((($93)) + 16|0); - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$3>>2]|0; - $97 = HEAP32[$4>>2]|0; - $98 = HEAP32[$5>>2]|0; - _fts3EvalTokenCosts($91,$92,$95,$96,$97,$98); + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$7>>2]|0; + $77 = HEAP32[$12>>2]|0; + $78 = (($76) + ($77<<1)|0); + $79 = HEAP16[$78>>1]|0; + $80 = $79&65535; + $81 = (($75) + ($80<<2)|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$18>>2]|0; + $84 = ($82|0)==($83|0); + if (!($84)) { + continue; + } + $85 = HEAP32[$12>>2]|0; + $86 = (($85) + 1)|0; + HEAP32[$12>>2] = $86; + } + $87 = HEAP32[$7>>2]|0; + $88 = HEAP32[$9>>2]|0; + HEAP32[$88>>2] = $87; + $89 = HEAP32[$14>>2]|0; + $90 = HEAP32[$10>>2]|0; + HEAP32[$90>>2] = $89; + $91 = HEAP32[$7>>2]|0; + $92 = HEAP32[$11>>2]|0; + $93 = HEAP32[$14>>2]|0; + $94 = $93<<1; + _memcpy(($91|0),($92|0),($94|0))|0; STACKTOP = sp;return; } -function _fts3EvalSelectDeferred($pCsr,$pRoot,$aTC,$nTC) { - $pCsr = $pCsr|0; - $pRoot = $pRoot|0; - $aTC = $aTC|0; - $nTC = $nTC|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $iTC = 0, $ii = 0, $nCount = 0, $nDocSize = 0, $nList = 0, $nLoad4 = 0, $nMinEst = 0, $nOvfl = 0, $nToken = 0, $or$cond = 0, $pList = 0, $pTC = 0, $pTab = 0, $pToken = 0, $pToken1 = 0, $rc = 0, label = 0; - var sp = 0; +function _walIndexTryHdr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = sp + 60|0; - $pTab = sp + 56|0; - $nDocSize = sp + 52|0; - $rc = sp + 48|0; - $ii = sp + 44|0; - $nOvfl = sp + 40|0; - $nToken = sp + 36|0; - $nMinEst = sp + 32|0; - $nLoad4 = sp + 28|0; - $iTC = sp + 24|0; - $pTC = sp + 20|0; - $pToken = sp + 16|0; - $pToken1 = sp + 12|0; - $nList = sp + 8|0; - $pList = sp + 4|0; - $nCount = sp; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pRoot; - HEAP32[$3>>2] = $aTC; - HEAP32[$4>>2] = $nTC; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$pTab>>2] = $6; - HEAP32[$nDocSize>>2] = 0; - HEAP32[$rc>>2] = 0; - HEAP32[$nOvfl>>2] = 0; - HEAP32[$nToken>>2] = 0; - HEAP32[$nMinEst>>2] = 0; - HEAP32[$nLoad4>>2] = 1; - $7 = HEAP32[$pTab>>2]|0; - $8 = ((($7)) + 40|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - HEAP32[$0>>2] = 0; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); + STACKTOP = STACKTOP + 128|0; + $2 = sp + 120|0; + $3 = sp + 116|0; + $4 = sp + 112|0; + $5 = sp + 104|0; + $6 = sp + 56|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = (_walIndexHdr($9)|0); + HEAP32[$8>>2] = $10; + $11 = HEAP32[$8>>2]|0; + dest=$6; src=$11; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $12 = HEAP32[$3>>2]|0; + _walShmBarrier($12); + $13 = HEAP32[$8>>2]|0; + $14 = ((($13)) + 48|0); + dest=$7; src=$14; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $15 = (_memcmp($6,$7,48)|0); + $16 = ($15|0)!=(0); + if ($16) { + HEAP32[$2>>2] = 1; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); } - HEAP32[$ii>>2] = 0; - while(1) { - $11 = HEAP32[$ii>>2]|0; - $12 = HEAP32[$4>>2]|0; - $13 = ($11|0)<($12|0); - if (!($13)) { - break; - } - $14 = HEAP32[$ii>>2]|0; - $15 = HEAP32[$3>>2]|0; - $16 = (($15) + (($14*24)|0)|0); - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = ($18|0)==($19|0); - if ($20) { - $21 = HEAP32[$ii>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = (($22) + (($21*24)|0)|0); - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$nOvfl>>2]|0; - $27 = (($26) + ($25))|0; - HEAP32[$nOvfl>>2] = $27; - $28 = HEAP32[$nToken>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$nToken>>2] = $29; + $17 = ((($6)) + 12|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)==(0); + if ($20) { + HEAP32[$2>>2] = 1; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); + } + _walChecksumBytes(1,$6,40,0,$5); + $21 = HEAP32[$5>>2]|0; + $22 = ((($6)) + 40|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($21|0)!=($23|0); + if (!($24)) { + $25 = ((($5)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($6)) + 40|0); + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($26|0)!=($29|0); + if (!($30)) { + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 52|0); + $33 = (_memcmp($32,$6,48)|0); + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$4>>2]|0; + HEAP32[$35>>2] = 1; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 52|0); + dest=$37; src=$6; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 52|0); + $40 = ((($39)) + 14|0); + $41 = HEAP16[$40>>1]|0; + $42 = $41&65535; + $43 = $42 & 65024; + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 52|0); + $46 = ((($45)) + 14|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47&65535; + $49 = $48 & 1; + $50 = $49 << 16; + $51 = (($43) + ($50))|0; + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 36|0); + HEAP32[$53>>2] = $51; + } + HEAP32[$2>>2] = 0; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); } - $30 = HEAP32[$ii>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$ii>>2] = $31; } - $32 = HEAP32[$nOvfl>>2]|0; - $33 = ($32|0)==(0); - $34 = HEAP32[$nToken>>2]|0; - $35 = ($34|0)<(2); - $or$cond = $33 | $35; - if ($or$cond) { - HEAP32[$0>>2] = 0; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); + HEAP32[$2>>2] = 1; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); +} +function _walIndexRecover($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $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, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_ptr4 = 0; + var dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; + $vararg_buffer = sp + 16|0; + $1 = sp + 96|0; + $2 = sp + 92|0; + $3 = sp + 88|0; + $4 = sp + 8|0; + $5 = sp + 80|0; + $6 = sp + 76|0; + $7 = sp + 72|0; + $8 = sp + 104|0; + $9 = sp + 68|0; + $10 = sp + 64|0; + $11 = sp + 60|0; + $12 = sp + 56|0; + $13 = sp; + $14 = sp + 52|0; + $15 = sp + 48|0; + $16 = sp + 44|0; + $17 = sp + 40|0; + $18 = sp + 36|0; + $19 = sp + 32|0; + $20 = sp + 28|0; + $21 = sp + 24|0; + HEAP32[$2>>2] = $0; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 45|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = (1 + ($25))|0; + HEAP32[$6>>2] = $26; + $27 = HEAP32[$6>>2]|0; + $28 = (8 - ($27))|0; + HEAP32[$7>>2] = $28; + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = (_walLockExclusive($29,$30,$31)|0); + HEAP32[$3>>2] = $32; + $33 = HEAP32[$3>>2]|0; + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $35; + $296 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($296|0); } - $36 = HEAP32[$1>>2]|0; - $37 = (_fts3EvalAverageDocsize($36,$nDocSize)|0); - HEAP32[$rc>>2] = $37; - HEAP32[$ii>>2] = 0; - while(1) { - $38 = HEAP32[$ii>>2]|0; - $39 = HEAP32[$nToken>>2]|0; - $40 = ($38|0)<($39|0); - $41 = HEAP32[$rc>>2]|0; - $42 = ($41|0)==(0); - $43 = $40 ? $42 : 0; + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 52|0); + dest=$37; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3OsFileSize($40,$4)|0); + HEAP32[$3>>2] = $41; + $42 = HEAP32[$3>>2]|0; + $43 = ($42|0)!=(0); + L5: do { if (!($43)) { - break; - } - HEAP32[$pTC>>2] = 0; - HEAP32[$iTC>>2] = 0; - while(1) { - $44 = HEAP32[$iTC>>2]|0; - $45 = HEAP32[$4>>2]|0; - $46 = ($44|0)<($45|0); - if (!($46)) { - break; - } - $47 = HEAP32[$iTC>>2]|0; - $48 = HEAP32[$3>>2]|0; - $49 = (($48) + (($47*24)|0)|0); - $50 = ((($49)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)!=(0|0); + $44 = $4; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)>(0); + $51 = ($46>>>0)>(32); + $52 = ($49|0)==(0); + $53 = $52 & $51; + $54 = $50 | $53; do { - if ($52) { - $53 = HEAP32[$iTC>>2]|0; - $54 = HEAP32[$3>>2]|0; - $55 = (($54) + (($53*24)|0)|0); - $56 = ((($55)) + 12|0); + if ($54) { + HEAP32[$9>>2] = 0; + $55 = HEAP32[$2>>2]|0; + $56 = ((($55)) + 8|0); $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$2>>2]|0; - $59 = ($57|0)==($58|0); - if ($59) { - $60 = HEAP32[$pTC>>2]|0; - $61 = ($60|0)!=(0|0); - if ($61) { - $62 = HEAP32[$iTC>>2]|0; - $63 = HEAP32[$3>>2]|0; - $64 = (($63) + (($62*24)|0)|0); - $65 = ((($64)) + 16|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$pTC>>2]|0; - $68 = ((($67)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($66|0)<($69|0); - if (!($70)) { - break; + $58 = (_sqlite3OsRead($57,$8,32,0,0)|0); + HEAP32[$3>>2] = $58; + $59 = HEAP32[$3>>2]|0; + $60 = ($59|0)!=(0); + if ($60) { + break L5; + } + $61 = (_sqlite3Get4byte($8)|0); + HEAP32[$15>>2] = $61; + $62 = ((($8)) + 8|0); + $63 = (_sqlite3Get4byte($62)|0); + HEAP32[$14>>2] = $63; + $64 = HEAP32[$15>>2]|0; + $65 = $64 & -2; + $66 = ($65|0)!=(931071618); + if (!($66)) { + $67 = HEAP32[$14>>2]|0; + $68 = HEAP32[$14>>2]|0; + $69 = (($68) - 1)|0; + $70 = $67 & $69; + $71 = ($70|0)!=(0); + $72 = HEAP32[$14>>2]|0; + $73 = ($72|0)>(65536); + $or$cond = $71 | $73; + $74 = HEAP32[$14>>2]|0; + $75 = ($74|0)<(512); + $or$cond3 = $or$cond | $75; + if (!($or$cond3)) { + $76 = HEAP32[$15>>2]|0; + $77 = $76 & 1; + $78 = $77&255; + $79 = HEAP32[$2>>2]|0; + $80 = ((($79)) + 52|0); + $81 = ((($80)) + 13|0); + HEAP8[$81>>0] = $78; + $82 = HEAP32[$14>>2]|0; + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 36|0); + HEAP32[$84>>2] = $82; + $85 = ((($8)) + 12|0); + $86 = (_sqlite3Get4byte($85)|0); + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 112|0); + HEAP32[$88>>2] = $86; + $89 = HEAP32[$2>>2]|0; + $90 = ((($89)) + 52|0); + $91 = ((($90)) + 32|0); + $92 = ((($8)) + 16|0); + ;HEAP8[$91>>0]=HEAP8[$92>>0]|0;HEAP8[$91+1>>0]=HEAP8[$92+1>>0]|0;HEAP8[$91+2>>0]=HEAP8[$92+2>>0]|0;HEAP8[$91+3>>0]=HEAP8[$92+3>>0]|0;HEAP8[$91+4>>0]=HEAP8[$92+4>>0]|0;HEAP8[$91+5>>0]=HEAP8[$92+5>>0]|0;HEAP8[$91+6>>0]=HEAP8[$92+6>>0]|0;HEAP8[$91+7>>0]=HEAP8[$92+7>>0]|0; + $93 = HEAP32[$2>>2]|0; + $94 = ((($93)) + 52|0); + $95 = ((($94)) + 13|0); + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = HEAP8[936]|0; + $99 = $98 << 24 >> 24; + $100 = ($99|0)==(0); + $101 = $100&1; + $102 = ($97|0)==($101|0); + $103 = $102&1; + $104 = HEAP32[$2>>2]|0; + $105 = ((($104)) + 52|0); + $106 = ((($105)) + 24|0); + _walChecksumBytes($103,$8,24,0,$106); + $107 = HEAP32[$2>>2]|0; + $108 = ((($107)) + 52|0); + $109 = ((($108)) + 24|0); + $110 = HEAP32[$109>>2]|0; + $111 = ((($8)) + 24|0); + $112 = (_sqlite3Get4byte($111)|0); + $113 = ($110|0)!=($112|0); + if (!($113)) { + $114 = HEAP32[$2>>2]|0; + $115 = ((($114)) + 52|0); + $116 = ((($115)) + 24|0); + $117 = ((($116)) + 4|0); + $118 = HEAP32[$117>>2]|0; + $119 = ((($8)) + 28|0); + $120 = (_sqlite3Get4byte($119)|0); + $121 = ($118|0)!=($120|0); + if (!($121)) { + $122 = ((($8)) + 4|0); + $123 = (_sqlite3Get4byte($122)|0); + HEAP32[$16>>2] = $123; + $124 = HEAP32[$16>>2]|0; + $125 = ($124|0)!=(3007000); + if ($125) { + $126 = (_sqlite3CantopenError(54951)|0); + HEAP32[$3>>2] = $126; + break; + } + $127 = HEAP32[$14>>2]|0; + $128 = (($127) + 24)|0; + HEAP32[$10>>2] = $128; + $129 = HEAP32[$10>>2]|0; + $130 = ($129|0)<(0); + $131 = $130 << 31 >> 31; + $132 = (_sqlite3_malloc64($129,$131)|0); + HEAP32[$9>>2] = $132; + $133 = HEAP32[$9>>2]|0; + $134 = ($133|0)!=(0|0); + if (!($134)) { + HEAP32[$3>>2] = 7; + break L5; + } + $135 = HEAP32[$9>>2]|0; + $136 = ((($135)) + 24|0); + HEAP32[$11>>2] = $136; + HEAP32[$12>>2] = 0; + $137 = $13; + $138 = $137; + HEAP32[$138>>2] = 32; + $139 = (($137) + 4)|0; + $140 = $139; + HEAP32[$140>>2] = 0; + while(1) { + $141 = $13; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = (($141) + 4)|0; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = HEAP32[$10>>2]|0; + $148 = ($147|0)<(0); + $149 = $148 << 31 >> 31; + $150 = (_i64Add(($143|0),($146|0),($147|0),($149|0))|0); + $151 = tempRet0; + $152 = $4; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = ($151|0)<($157|0); + $159 = ($150>>>0)<=($154>>>0); + $160 = ($151|0)==($157|0); + $161 = $160 & $159; + $162 = $158 | $161; + if (!($162)) { + break; + } + $163 = HEAP32[$12>>2]|0; + $164 = (($163) + 1)|0; + HEAP32[$12>>2] = $164; + $165 = HEAP32[$2>>2]|0; + $166 = ((($165)) + 8|0); + $167 = HEAP32[$166>>2]|0; + $168 = HEAP32[$9>>2]|0; + $169 = HEAP32[$10>>2]|0; + $170 = $13; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = (($170) + 4)|0; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = (_sqlite3OsRead($167,$168,$169,$172,$175)|0); + HEAP32[$3>>2] = $176; + $177 = HEAP32[$3>>2]|0; + $178 = ($177|0)!=(0); + if ($178) { + break; + } + $179 = HEAP32[$2>>2]|0; + $180 = HEAP32[$11>>2]|0; + $181 = HEAP32[$9>>2]|0; + $182 = (_walDecodeFrame($179,$18,$19,$180,$181)|0); + HEAP32[$17>>2] = $182; + $183 = HEAP32[$17>>2]|0; + $184 = ($183|0)!=(0); + if (!($184)) { + break; + } + $185 = HEAP32[$2>>2]|0; + $186 = HEAP32[$12>>2]|0; + $187 = HEAP32[$18>>2]|0; + $188 = (_walIndexAppend($185,$186,$187)|0); + HEAP32[$3>>2] = $188; + $189 = HEAP32[$3>>2]|0; + $190 = ($189|0)!=(0); + if ($190) { + break; + } + $191 = HEAP32[$19>>2]|0; + $192 = ($191|0)!=(0); + if ($192) { + $193 = HEAP32[$12>>2]|0; + $194 = HEAP32[$2>>2]|0; + $195 = ((($194)) + 52|0); + $196 = ((($195)) + 16|0); + HEAP32[$196>>2] = $193; + $197 = HEAP32[$19>>2]|0; + $198 = HEAP32[$2>>2]|0; + $199 = ((($198)) + 52|0); + $200 = ((($199)) + 20|0); + HEAP32[$200>>2] = $197; + $201 = HEAP32[$14>>2]|0; + $202 = $201 & 65280; + $203 = HEAP32[$14>>2]|0; + $204 = $203 >> 16; + $205 = $202 | $204; + $206 = $205&65535; + $207 = HEAP32[$2>>2]|0; + $208 = ((($207)) + 52|0); + $209 = ((($208)) + 14|0); + HEAP16[$209>>1] = $206; + $210 = HEAP32[$2>>2]|0; + $211 = ((($210)) + 52|0); + $212 = ((($211)) + 24|0); + $213 = HEAP32[$212>>2]|0; + HEAP32[$5>>2] = $213; + $214 = HEAP32[$2>>2]|0; + $215 = ((($214)) + 52|0); + $216 = ((($215)) + 24|0); + $217 = ((($216)) + 4|0); + $218 = HEAP32[$217>>2]|0; + $219 = ((($5)) + 4|0); + HEAP32[$219>>2] = $218; + } + $220 = HEAP32[$10>>2]|0; + $221 = ($220|0)<(0); + $222 = $221 << 31 >> 31; + $223 = $13; + $224 = $223; + $225 = HEAP32[$224>>2]|0; + $226 = (($223) + 4)|0; + $227 = $226; + $228 = HEAP32[$227>>2]|0; + $229 = (_i64Add(($225|0),($228|0),($220|0),($222|0))|0); + $230 = tempRet0; + $231 = $13; + $232 = $231; + HEAP32[$232>>2] = $229; + $233 = (($231) + 4)|0; + $234 = $233; + HEAP32[$234>>2] = $230; + } + $235 = HEAP32[$9>>2]|0; + _sqlite3_free($235); + } } } - $71 = HEAP32[$iTC>>2]|0; - $72 = HEAP32[$3>>2]|0; - $73 = (($72) + (($71*24)|0)|0); - HEAP32[$pTC>>2] = $73; } } } while(0); - $74 = HEAP32[$iTC>>2]|0; - $75 = (($74) + 1)|0; - HEAP32[$iTC>>2] = $75; - } - $76 = HEAP32[$ii>>2]|0; - $77 = ($76|0)!=(0); - if ($77) { - $78 = HEAP32[$pTC>>2]|0; - $79 = ((($78)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = HEAP32[$nMinEst>>2]|0; - $82 = HEAP32[$nLoad4>>2]|0; - $83 = (($82|0) / 4)&-1; - $84 = (($81) + ($83))|0; - $85 = (($84) - 1)|0; - $86 = HEAP32[$nLoad4>>2]|0; - $87 = (($86|0) / 4)&-1; - $88 = (($85|0) / ($87|0))&-1; - $89 = HEAP32[$nDocSize>>2]|0; - $90 = Math_imul($88, $89)|0; - $91 = ($80|0)>=($90|0); - if ($91) { - $92 = HEAP32[$pTC>>2]|0; - $93 = ((($92)) + 8|0); - $94 = HEAP32[$93>>2]|0; - HEAP32[$pToken>>2] = $94; - $95 = HEAP32[$1>>2]|0; - $96 = HEAP32[$pToken>>2]|0; - $97 = HEAP32[$pTC>>2]|0; - $98 = ((($97)) + 20|0); - $99 = HEAP32[$98>>2]|0; - $100 = (_sqlite3Fts3DeferToken($95,$96,$99)|0); - HEAP32[$rc>>2] = $100; - $101 = HEAP32[$pToken>>2]|0; - $102 = ((($101)) + 20|0); - $103 = HEAP32[$102>>2]|0; - _fts3SegReaderCursorFree($103); - $104 = HEAP32[$pToken>>2]|0; - $105 = ((($104)) + 20|0); - HEAP32[$105>>2] = 0; - } else { - label = 23; - } - } else { - label = 23; - } - do { - if ((label|0) == 23) { - label = 0; - $106 = HEAP32[$ii>>2]|0; - $107 = ($106|0)<(12); - if ($107) { - $108 = HEAP32[$nLoad4>>2]|0; - $109 = $108<<2; - HEAP32[$nLoad4>>2] = $109; - } - $110 = HEAP32[$ii>>2]|0; - $111 = ($110|0)==(0); - if (!($111)) { - $112 = HEAP32[$pTC>>2]|0; - $113 = HEAP32[$112>>2]|0; - $114 = ((($113)) + 64|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)>(1); - if (!($116)) { - break; - } - $117 = HEAP32[$ii>>2]|0; - $118 = HEAP32[$nToken>>2]|0; - $119 = (($118) - 1)|0; - $120 = ($117|0)!=($119|0); - if (!($120)) { + $236 = HEAP32[$3>>2]|0; + $237 = ($236|0)==(0); + if ($237) { + $238 = HEAP32[$5>>2]|0; + $239 = HEAP32[$2>>2]|0; + $240 = ((($239)) + 52|0); + $241 = ((($240)) + 24|0); + HEAP32[$241>>2] = $238; + $242 = ((($5)) + 4|0); + $243 = HEAP32[$242>>2]|0; + $244 = HEAP32[$2>>2]|0; + $245 = ((($244)) + 52|0); + $246 = ((($245)) + 24|0); + $247 = ((($246)) + 4|0); + HEAP32[$247>>2] = $243; + $248 = HEAP32[$2>>2]|0; + _walIndexWriteHdr($248); + $249 = HEAP32[$2>>2]|0; + $250 = (_walCkptInfo($249)|0); + HEAP32[$20>>2] = $250; + $251 = HEAP32[$20>>2]|0; + HEAP32[$251>>2] = 0; + $252 = HEAP32[$2>>2]|0; + $253 = ((($252)) + 52|0); + $254 = ((($253)) + 16|0); + $255 = HEAP32[$254>>2]|0; + $256 = HEAP32[$20>>2]|0; + $257 = ((($256)) + 32|0); + HEAP32[$257>>2] = $255; + $258 = HEAP32[$20>>2]|0; + $259 = ((($258)) + 4|0); + HEAP32[$259>>2] = 0; + HEAP32[$21>>2] = 1; + while(1) { + $260 = HEAP32[$21>>2]|0; + $261 = ($260|0)<(5); + if (!($261)) { break; } - } - $121 = HEAP32[$pTC>>2]|0; - $122 = ((($121)) + 8|0); - $123 = HEAP32[$122>>2]|0; - HEAP32[$pToken1>>2] = $123; - HEAP32[$nList>>2] = 0; - HEAP32[$pList>>2] = 0; - $124 = HEAP32[$pTab>>2]|0; - $125 = HEAP32[$pToken1>>2]|0; - $126 = HEAP32[$pTC>>2]|0; - $127 = ((($126)) + 20|0); - $128 = HEAP32[$127>>2]|0; - $129 = (_fts3TermSelect($124,$125,$128,$nList,$pList)|0); - HEAP32[$rc>>2] = $129; - $130 = HEAP32[$rc>>2]|0; - $131 = ($130|0)==(0); - if ($131) { - $132 = HEAP32[$pTab>>2]|0; - $133 = HEAP32[$pTC>>2]|0; - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$pTC>>2]|0; - $136 = ((($135)) + 4|0); - $137 = HEAP32[$136>>2]|0; - $138 = HEAP32[$pList>>2]|0; - $139 = HEAP32[$nList>>2]|0; - $140 = (_fts3EvalPhraseMergeToken($132,$134,$137,$138,$139)|0); - HEAP32[$rc>>2] = $140; - } - $141 = HEAP32[$rc>>2]|0; - $142 = ($141|0)==(0); - if ($142) { - $143 = HEAP32[$pTC>>2]|0; - $144 = HEAP32[$143>>2]|0; - $145 = HEAP32[$144>>2]|0; - $146 = HEAP32[$pTC>>2]|0; - $147 = HEAP32[$146>>2]|0; - $148 = ((($147)) + 4|0); - $149 = HEAP32[$148>>2]|0; - $150 = (_fts3DoclistCountDocids($145,$149)|0); - HEAP32[$nCount>>2] = $150; - $151 = HEAP32[$ii>>2]|0; - $152 = ($151|0)==(0); - if (!($152)) { - $153 = HEAP32[$nCount>>2]|0; - $154 = HEAP32[$nMinEst>>2]|0; - $155 = ($153|0)<($154|0); - if (!($155)) { - break; - } - } - $156 = HEAP32[$nCount>>2]|0; - HEAP32[$nMinEst>>2] = $156; + $262 = HEAP32[$20>>2]|0; + $263 = ((($262)) + 4|0); + $264 = HEAP32[$21>>2]|0; + $265 = (($263) + ($264<<2)|0); + HEAP32[$265>>2] = -1; + $266 = HEAP32[$21>>2]|0; + $267 = (($266) + 1)|0; + HEAP32[$21>>2] = $267; + } + $268 = HEAP32[$2>>2]|0; + $269 = ((($268)) + 52|0); + $270 = ((($269)) + 16|0); + $271 = HEAP32[$270>>2]|0; + $272 = ($271|0)!=(0); + if ($272) { + $273 = HEAP32[$2>>2]|0; + $274 = ((($273)) + 52|0); + $275 = ((($274)) + 16|0); + $276 = HEAP32[$275>>2]|0; + $277 = HEAP32[$20>>2]|0; + $278 = ((($277)) + 4|0); + $279 = ((($278)) + 4|0); + HEAP32[$279>>2] = $276; + } + $280 = HEAP32[$2>>2]|0; + $281 = ((($280)) + 52|0); + $282 = ((($281)) + 20|0); + $283 = HEAP32[$282>>2]|0; + $284 = ($283|0)!=(0); + if ($284) { + $285 = HEAP32[$2>>2]|0; + $286 = ((($285)) + 52|0); + $287 = ((($286)) + 16|0); + $288 = HEAP32[$287>>2]|0; + $289 = HEAP32[$2>>2]|0; + $290 = ((($289)) + 108|0); + $291 = HEAP32[$290>>2]|0; + HEAP32[$vararg_buffer>>2] = $288; + $vararg_ptr4 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $291; + _sqlite3_log(283,24948,$vararg_buffer); } } - } while(0); - $157 = HEAP32[$pTC>>2]|0; - $158 = ((($157)) + 8|0); - HEAP32[$158>>2] = 0; - $159 = HEAP32[$ii>>2]|0; - $160 = (($159) + 1)|0; - HEAP32[$ii>>2] = $160; - } - $161 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $161; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); -} -function _fts3EvalStartReaders($pCsr,$pExpr,$pRc) { - $pCsr = $pCsr|0; - $pExpr = $pExpr|0; - $pRc = $pRc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $nToken = 0, label = 0, sp = 0; + } + } while(0); + $292 = HEAP32[$2>>2]|0; + $293 = HEAP32[$6>>2]|0; + $294 = HEAP32[$7>>2]|0; + _walUnlockExclusive($292,$293,$294); + $295 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $295; + $296 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($296|0); +} +function _walDecodeFrame($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $nToken = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $pRc; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (0)==($6|0); - if (!($7)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 52|0); + $16 = ((($15)) + 24|0); + HEAP32[$12>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 52|0); + $19 = ((($18)) + 32|0); + $20 = HEAP32[$10>>2]|0; + $21 = ((($20)) + 8|0); + $22 = (_memcmp($19,$21,8)|0); + $23 = ($22|0)!=(0); + if ($23) { + HEAP32[$5>>2] = 0; + $69 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($69|0); } - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(5); - if (!($10)) { - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$2>>2]|0; - _fts3EvalStartReaders($45,$48,$49); - $50 = HEAP32[$0>>2]|0; - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 16|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$2>>2]|0; - _fts3EvalStartReaders($50,$53,$54); - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 12|0); - $57 = HEAP32[$56>>2]|0; - $58 = ((($57)) + 34|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = ($60|0)!=(0); - if ($61) { - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 16|0); - $64 = HEAP32[$63>>2]|0; - $65 = ((($64)) + 34|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = ($67|0)!=(0); - $70 = $68; - } else { - $70 = 0; - } - $69 = $70&1; - $71 = $69&255; - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 34|0); - HEAP8[$73>>0] = $71; - STACKTOP = sp;return; + $24 = HEAP32[$10>>2]|0; + $25 = (_sqlite3Get4byte($24)|0); + HEAP32[$13>>2] = $25; + $26 = HEAP32[$13>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + HEAP32[$5>>2] = 0; + $69 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($69|0); } - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 64|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$nToken>>2] = $15; - $16 = HEAP32[$nToken>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - HEAP32[$i>>2] = 0; - while(1) { - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$nToken>>2]|0; - $20 = ($18|0)<($19|0); - if (!($20)) { - break; - } - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 20|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($24)) + 72|0); - $26 = (($25) + (($21*24)|0)|0); - $27 = ((($26)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==(0|0); - if ($29) { - break; - } - $30 = HEAP32[$i>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$i>>2] = $31; + $28 = HEAP32[$6>>2]|0; + $29 = ((($28)) + 52|0); + $30 = ((($29)) + 13|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = HEAP8[936]|0; + $34 = $33 << 24 >> 24; + $35 = ($34|0)==(0); + $36 = $35&1; + $37 = ($32|0)==($36|0); + $38 = $37&1; + HEAP32[$11>>2] = $38; + $39 = HEAP32[$11>>2]|0; + $40 = HEAP32[$10>>2]|0; + $41 = HEAP32[$12>>2]|0; + $42 = HEAP32[$12>>2]|0; + _walChecksumBytes($39,$40,8,$41,$42); + $43 = HEAP32[$11>>2]|0; + $44 = HEAP32[$9>>2]|0; + $45 = HEAP32[$6>>2]|0; + $46 = ((($45)) + 36|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$12>>2]|0; + $49 = HEAP32[$12>>2]|0; + _walChecksumBytes($43,$44,$47,$48,$49); + $50 = HEAP32[$12>>2]|0; + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$10>>2]|0; + $53 = ((($52)) + 16|0); + $54 = (_sqlite3Get4byte($53)|0); + $55 = ($51|0)!=($54|0); + if (!($55)) { + $56 = HEAP32[$12>>2]|0; + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$10>>2]|0; + $60 = ((($59)) + 20|0); + $61 = (_sqlite3Get4byte($60)|0); + $62 = ($58|0)!=($61|0); + if (!($62)) { + $63 = HEAP32[$13>>2]|0; + $64 = HEAP32[$7>>2]|0; + HEAP32[$64>>2] = $63; + $65 = HEAP32[$10>>2]|0; + $66 = ((($65)) + 4|0); + $67 = (_sqlite3Get4byte($66)|0); + $68 = HEAP32[$8>>2]|0; + HEAP32[$68>>2] = $67; + HEAP32[$5>>2] = 1; + $69 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($69|0); } - $32 = HEAP32[$i>>2]|0; - $33 = HEAP32[$nToken>>2]|0; - $34 = ($32|0)==($33|0); - $35 = $34&1; - $36 = $35&255; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 34|0); - HEAP8[$38>>0] = $36; } - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 20|0); - $42 = HEAP32[$41>>2]|0; - $43 = (_fts3EvalPhraseStart($39,1,$42)|0); - $44 = HEAP32[$2>>2]|0; - HEAP32[$44>>2] = $43; - STACKTOP = sp;return; + HEAP32[$5>>2] = 0; + $69 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($69|0); } -function _fts3EvalAverageDocsize($pCsr,$pnPage) { - $pCsr = $pCsr|0; - $pnPage = $pnPage|0; - var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 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, $a = 0, $nByte = 0, $nDoc = 0, $or$cond = 0, $p = 0, $pEnd = 0, $pStmt = 0, $rc = 0, label = 0, sp = 0; +function _walIndexAppend($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $rc = sp + 32|0; - $p = sp + 28|0; - $pStmt = sp + 24|0; - $nDoc = sp + 8|0; - $nByte = sp; - $pEnd = sp + 20|0; - $a = sp + 16|0; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pnPage; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 60|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$p>>2] = $8; - $9 = $nDoc; - $10 = $9; - HEAP32[$10>>2] = 0; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = 0; - $13 = $nByte; - $14 = $13; - HEAP32[$14>>2] = 0; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = 0; - $17 = HEAP32[$p>>2]|0; - $18 = (_sqlite3Fts3SelectDoctotal($17,$pStmt)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)!=(0); + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = (_walFramePage($16)|0); + $18 = (_walHashGet($15,$17,$10,$9,$8)|0); + HEAP32[$7>>2] = $18; + $19 = HEAP32[$7>>2]|0; + $20 = ($19|0)==(0); + do { if ($20) { - $21 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $21; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); - } - $22 = HEAP32[$pStmt>>2]|0; - $23 = (_sqlite3_column_blob($22,0)|0); - HEAP32[$a>>2] = $23; - $24 = HEAP32[$pStmt>>2]|0; - $25 = (_sqlite3_column_bytes($24,0)|0); - $26 = HEAP32[$a>>2]|0; - $27 = (($26) + ($25)|0); - HEAP32[$pEnd>>2] = $27; - $28 = HEAP32[$a>>2]|0; - $29 = (_sqlite3Fts3GetVarint($28,$nDoc)|0); - $30 = HEAP32[$a>>2]|0; - $31 = (($30) + ($29)|0); - HEAP32[$a>>2] = $31; - while(1) { - $32 = HEAP32[$a>>2]|0; - $33 = HEAP32[$pEnd>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if (!($34)) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$8>>2]|0; + $23 = (($21) - ($22))|0; + HEAP32[$12>>2] = $23; + $24 = HEAP32[$12>>2]|0; + $25 = ($24|0)==(1); + if ($25) { + $26 = HEAP32[$10>>2]|0; + $27 = ((($26)) + 16384|0); + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 4|0); + $30 = $27; + $31 = $29; + $32 = (($30) - ($31))|0; + HEAP32[$14>>2] = $32; + $33 = HEAP32[$9>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$14>>2]|0; + _memset(($34|0),0,($35|0))|0; + } + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$12>>2]|0; + $38 = (($36) + ($37<<2)|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)!=(0); + if ($40) { + $41 = HEAP32[$4>>2]|0; + _walCleanupHash($41); + } + $42 = HEAP32[$12>>2]|0; + HEAP32[$13>>2] = $42; + $43 = HEAP32[$6>>2]|0; + $44 = (_walHash($43)|0); + HEAP32[$11>>2] = $44; + while(1) { + $45 = HEAP32[$10>>2]|0; + $46 = HEAP32[$11>>2]|0; + $47 = (($45) + ($46<<1)|0); + $48 = HEAP16[$47>>1]|0; + $49 = ($48<<16>>16)!=(0); + if (!($49)) { + label = 11; + break; + } + $50 = HEAP32[$13>>2]|0; + $51 = (($50) + -1)|0; + HEAP32[$13>>2] = $51; + $52 = ($50|0)==(0); + if ($52) { + break; + } + $54 = HEAP32[$11>>2]|0; + $55 = (_walNextHash($54)|0); + HEAP32[$11>>2] = $55; + } + if ((label|0) == 11) { + $56 = HEAP32[$6>>2]|0; + $57 = HEAP32[$9>>2]|0; + $58 = HEAP32[$12>>2]|0; + $59 = (($57) + ($58<<2)|0); + HEAP32[$59>>2] = $56; + $60 = HEAP32[$12>>2]|0; + $61 = $60&65535; + $62 = HEAP32[$10>>2]|0; + $63 = HEAP32[$11>>2]|0; + $64 = (($62) + ($63<<1)|0); + HEAP16[$64>>1] = $61; break; } - $35 = HEAP32[$a>>2]|0; - $36 = (_sqlite3Fts3GetVarint($35,$nByte)|0); - $37 = HEAP32[$a>>2]|0; - $38 = (($37) + ($36)|0); - HEAP32[$a>>2] = $38; - } - $39 = $nDoc; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (($39) + 4)|0; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = ($41|0)==(0); - $46 = ($44|0)==(0); - $47 = $45 & $46; - $48 = $nByte; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = ($50|0)==(0); - $55 = ($53|0)==(0); - $56 = $54 & $55; - $or$cond = $47 | $56; - if ($or$cond) { - $57 = HEAP32[$pStmt>>2]|0; - (_sqlite3_reset($57)|0); - HEAP32[$0>>2] = 267; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + $53 = (_sqlite3CorruptError(54820)|0); + HEAP32[$3>>2] = $53; + $66 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($66|0); } - $58 = $nDoc; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 64|0); - $66 = $65; - $67 = $66; - HEAP32[$67>>2] = $60; - $68 = (($66) + 4)|0; - $69 = $68; - HEAP32[$69>>2] = $63; - $70 = $nByte; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = $nDoc; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = (($76) + 4)|0; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (___divdi3(($72|0),($75|0),($78|0),($81|0))|0); - $83 = tempRet0; - $84 = HEAP32[$p>>2]|0; - $85 = ((($84)) + 236|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)<(0); - $88 = $87 << 31 >> 31; - $89 = (_i64Add(($82|0),($83|0),($86|0),($88|0))|0); - $90 = tempRet0; - $91 = HEAP32[$p>>2]|0; - $92 = ((($91)) + 236|0); - $93 = HEAP32[$92>>2]|0; - $94 = ($93|0)<(0); - $95 = $94 << 31 >> 31; - $96 = (___divdi3(($89|0),($90|0),($93|0),($95|0))|0); - $97 = tempRet0; - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 60|0); - HEAP32[$99>>2] = $96; - $100 = HEAP32[$pStmt>>2]|0; - $101 = (_sqlite3_reset($100)|0); - HEAP32[$rc>>2] = $101; - $102 = HEAP32[$rc>>2]|0; - $103 = ($102|0)!=(0); - if ($103) { - $104 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $104; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + } while(0); + $65 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $65; + $66 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($66|0); +} +function _sqlite3InvokeBusyHandler($0) { + $0 = $0|0; + var $$sink = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)<(0); + if (!($12)) { + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = (FUNCTION_TABLE_iii[$14 & 255]($17,$20)|0); + HEAP32[$3>>2] = $21; + $22 = HEAP32[$3>>2]|0; + $23 = ($22|0)==(0); + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 8|0); + if ($23) { + $$sink = -1; + } else { + $26 = HEAP32[$25>>2]|0; + $27 = (($26) + 1)|0; + $$sink = $27; + } + HEAP32[$25>>2] = $$sink; + $28 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $28; + $29 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($29|0); + } } } - $105 = HEAP32[$1>>2]|0; - $106 = ((($105)) + 60|0); - $107 = HEAP32[$106>>2]|0; - $108 = HEAP32[$2>>2]|0; - HEAP32[$108>>2] = $107; - HEAP32[$0>>2] = 0; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + HEAP32[$1>>2] = 0; + $29 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($29|0); } -function _sqlite3Fts3DeferToken($pCsr,$pToken,$iCol) { - $pCsr = $pCsr|0; - $pToken = $pToken|0; - $iCol = $iCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDeferred = 0, label = 0, sp = 0; +function _sqlite3PcacheSize() { + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $pDeferred = sp; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pToken; - HEAP32[$3>>2] = $iCol; - $4 = (_sqlite3_malloc(16)|0); - HEAP32[$pDeferred>>2] = $4; - $5 = HEAP32[$pDeferred>>2]|0; - $6 = ($5|0)!=(0|0); - if ($6) { - $7 = HEAP32[$pDeferred>>2]|0; - ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$pDeferred>>2]|0; - HEAP32[$9>>2] = $8; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 24|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$pDeferred>>2]|0; - $14 = ((($13)) + 8|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$3>>2]|0; - $16 = HEAP32[$pDeferred>>2]|0; - $17 = ((($16)) + 4|0); - HEAP32[$17>>2] = $15; - $18 = HEAP32[$pDeferred>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 24|0); - HEAP32[$20>>2] = $18; - $21 = HEAP32[$pDeferred>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 16|0); - HEAP32[$23>>2] = $21; - HEAP32[$0>>2] = 0; - $24 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($24|0); - } else { - HEAP32[$0>>2] = 7; - $24 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($24|0); + return 48; +} +function _sqlite3JournalSize($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(72); + if (!($5)) { + $9 = 72; + STACKTOP = sp;return ($9|0); } - return (0)|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = $8; + STACKTOP = sp;return ($9|0); } -function _fts3DoclistCountDocids($aList,$nList) { - $aList = $aList|0; - $nList = $nList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $aEnd = 0, $nDoc = 0, $p = 0, label = 0, sp = 0; +function _sqlite3DbStrDup($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $nDoc = sp + 8|0; - $aEnd = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $aList; - HEAP32[$1>>2] = $nList; - HEAP32[$nDoc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $19 = HEAP32[$nDoc>>2]|0; - STACKTOP = sp;return ($19|0); + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + HEAP32[$2>>2] = 0; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + ($4)|0); - HEAP32[$aEnd>>2] = $6; - $7 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $7; - while(1) { - $8 = HEAP32[$p>>2]|0; - $9 = HEAP32[$aEnd>>2]|0; - $10 = ($8>>>0)<($9>>>0); - if (!($10)) { - break; - } - $11 = HEAP32[$nDoc>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[$nDoc>>2] = $12; - while(1) { - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 1|0); - HEAP32[$p>>2] = $14; - $15 = HEAP8[$13>>0]|0; - $16 = $15 << 24 >> 24; - $17 = $16 & 128; - $18 = ($17|0)!=(0); - if (!($18)) { - break; - } - } - _fts3PoslistCopy(0,$p); + $9 = HEAP32[$4>>2]|0; + $10 = (_sqlite3Strlen30($9)|0); + $11 = (($10) + 1)|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)<(0); + $15 = $14 << 31 >> 31; + $16 = (_sqlite3DbMallocRaw($12,$13,$15)|0); + HEAP32[$5>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$6>>2]|0; + _memcpy(($19|0),($20|0),($21|0))|0; } - $19 = HEAP32[$nDoc>>2]|0; - STACKTOP = sp;return ($19|0); + $22 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $22; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } -function _sqlite3Fts3MsrOvfl($pCsr,$pMsr,$pnOvfl) { - $pCsr = $pCsr|0; - $pMsr = $pMsr|0; - $pnOvfl = $pnOvfl|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $ii = 0, $jj = 0, $nBlob = 0; - var $nOvfl = 0, $p = 0, $pReader = 0, $pgsz = 0, $rc = 0, label = 0, sp = 0; +function _pagerStress($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $p = sp + 32|0; - $nOvfl = sp + 28|0; - $ii = sp + 24|0; - $rc = sp + 20|0; - $pgsz = sp + 16|0; - $pReader = sp + 12|0; - $jj = sp; - $nBlob = sp + 8|0; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $pMsr; - HEAP32[$2>>2] = $pnOvfl; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - HEAP32[$nOvfl>>2] = 0; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 236|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pgsz>>2] = $7; - HEAP32[$ii>>2] = 0; - while(1) { - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)==(0); - if (!($9)) { - label = 13; - break; - } - $10 = HEAP32[$ii>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)<($13|0); - if (!($14)) { - label = 13; - break; - } - $15 = HEAP32[$ii>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($15<<2)|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pReader>>2] = $19; - $20 = HEAP32[$pReader>>2]|0; - $21 = ((($20)) + 56|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)!=(0|0); - L5: do { - if (!($23)) { - $24 = HEAP32[$pReader>>2]|0; - $25 = ((($24)) + 5|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $7; + HEAP32[$6>>2] = 0; + $8 = HEAP32[$5>>2]|0; + $9 = ((($8)) + 44|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0); + if ($11) { + HEAP32[$2>>2] = 0; + $64 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($64|0); + } + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 21|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)!=(0); + do { + if ($16) { + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 21|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 & 3; + $22 = ($21|0)!=(0); + if (!($22)) { + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 24|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = $26 & 8; $28 = ($27|0)!=(0); if (!($28)) { - $29 = HEAP32[$pReader>>2]|0; - $30 = ((($29)) + 8|0); - $31 = $30; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = $jj; - $38 = $37; - HEAP32[$38>>2] = $33; - $39 = (($37) + 4)|0; - $40 = $39; - HEAP32[$40>>2] = $36; - while(1) { - $41 = $jj; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$pReader>>2]|0; - $48 = ((($47)) + 16|0); - $49 = $48; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = ($46|0)<($54|0); - $56 = ($43>>>0)<=($51>>>0); - $57 = ($46|0)==($54|0); - $58 = $57 & $56; - $59 = $55 | $58; - if (!($59)) { - break L5; - } - $60 = HEAP32[$p>>2]|0; - $61 = $jj; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (_sqlite3Fts3ReadBlock($60,$63,$66,0,$nBlob,0)|0); - HEAP32[$rc>>2] = $67; - $68 = HEAP32[$rc>>2]|0; - $69 = ($68|0)!=(0); - if ($69) { - break L5; - } - $70 = HEAP32[$nBlob>>2]|0; - $71 = (($70) + 35)|0; - $72 = HEAP32[$pgsz>>2]|0; - $73 = ($71|0)>($72|0); - if ($73) { - $74 = HEAP32[$nBlob>>2]|0; - $75 = (($74) + 34)|0; - $76 = HEAP32[$pgsz>>2]|0; - $77 = (($75|0) / ($76|0))&-1; - $78 = HEAP32[$nOvfl>>2]|0; - $79 = (($78) + ($77))|0; - HEAP32[$nOvfl>>2] = $79; - } - $80 = $jj; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = (($80) + 4)|0; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = (_i64Add(($82|0),($85|0),1,0)|0); - $87 = tempRet0; - $88 = $jj; - $89 = $88; - HEAP32[$89>>2] = $86; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - } + break; } } - } while(0); - $92 = HEAP32[$ii>>2]|0; - $93 = (($92) + 1)|0; - HEAP32[$ii>>2] = $93; + HEAP32[$2>>2] = 0; + $64 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($64|0); + } + } while(0); + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 12|0); + HEAP32[$30>>2] = 0; + $31 = HEAP32[$5>>2]|0; + $32 = (_sqlite3PagerUseWal($31)|0); + $33 = ($32|0)!=(0); + $34 = HEAP32[$4>>2]|0; + if ($33) { + $35 = (_subjournalPageIfRequired($34)|0); + HEAP32[$6>>2] = $35; + $36 = HEAP32[$6>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = (_pagerWalFrames($38,$39,0,0)|0); + HEAP32[$6>>2] = $40; + } + } else { + $41 = ((($34)) + 24|0); + $42 = HEAP16[$41>>1]|0; + $43 = $42&65535; + $44 = $43 & 8; + $45 = ($44|0)!=(0); + if ($45) { + label = 12; + } else { + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 17|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = ($49|0)==(3); + if ($50) { + label = 12; + } + } + if ((label|0) == 12) { + $51 = HEAP32[$5>>2]|0; + $52 = (_syncJournal($51,1)|0); + HEAP32[$6>>2] = $52; + } + $53 = HEAP32[$6>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + $55 = HEAP32[$5>>2]|0; + $56 = HEAP32[$4>>2]|0; + $57 = (_pager_write_pagelist($55,$56)|0); + HEAP32[$6>>2] = $57; + } } - if ((label|0) == 13) { - $94 = HEAP32[$nOvfl>>2]|0; - $95 = HEAP32[$2>>2]|0; - HEAP32[$95>>2] = $94; - $96 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($96|0); + $58 = HEAP32[$6>>2]|0; + $59 = ($58|0)==(0); + if ($59) { + $60 = HEAP32[$4>>2]|0; + _sqlite3PcacheMakeClean($60); } - return (0)|0; + $61 = HEAP32[$5>>2]|0; + $62 = HEAP32[$6>>2]|0; + $63 = (_pager_error($61,$62)|0); + HEAP32[$2>>2] = $63; + $64 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($64|0); } -function _fts3TermSegReaderCursor($pCsr,$zTerm,$nTerm,$isPrefix,$ppSegcsr) { - $pCsr = $pCsr|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - $isPrefix = $isPrefix|0; - $ppSegcsr = $ppSegcsr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $bFound = 0, $i = 0, $p = 0; - var $pSegcsr = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $pSegcsr = sp + 16|0; - $rc = sp + 12|0; - $i = sp + 8|0; - $bFound = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $zTerm; - HEAP32[$2>>2] = $nTerm; - HEAP32[$3>>2] = $isPrefix; - HEAP32[$4>>2] = $ppSegcsr; - HEAP32[$rc>>2] = 7; - $5 = (_sqlite3_malloc(56)|0); - HEAP32[$pSegcsr>>2] = $5; - $6 = HEAP32[$pSegcsr>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $94 = HEAP32[$pSegcsr>>2]|0; - $95 = HEAP32[$4>>2]|0; - HEAP32[$95>>2] = $94; - $96 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($96|0); - } - HEAP32[$bFound>>2] = 0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$p>>2] = $9; - $10 = HEAP32[$3>>2]|0; - $11 = ($10|0)!=(0); - L4: do { - if ($11) { - HEAP32[$i>>2] = 1; - while(1) { - $12 = HEAP32[$bFound>>2]|0; - $13 = ($12|0)==(0); - if (!($13)) { - break; - } - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 248|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($14|0)<($17|0); - if (!($18)) { - break; - } - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 252|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + (($19*24)|0)|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = ($24|0)==($25|0); - if ($26) { - HEAP32[$bFound>>2] = 1; - $27 = HEAP32[$p>>2]|0; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$pSegcsr>>2]|0; - $35 = (_sqlite3Fts3SegReaderCursor($27,$30,$31,-2,$32,$33,0,0,$34)|0); - HEAP32[$rc>>2] = $35; - $36 = HEAP32[$pSegcsr>>2]|0; - $37 = ((($36)) + 36|0); - HEAP32[$37>>2] = 1; - } - $38 = HEAP32[$i>>2]|0; - $39 = (($38) + 1)|0; - HEAP32[$i>>2] = $39; - } - HEAP32[$i>>2] = 1; +function _sqlite3PcacheOpen($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $12 = HEAP32[$11>>2]|0; + dest=$12; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $13 = HEAP32[$11>>2]|0; + $14 = ((($13)) + 24|0); + HEAP32[$14>>2] = 1; + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$11>>2]|0; + $17 = ((($16)) + 28|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$8>>2]|0; + $19 = $18&255; + $20 = HEAP32[$11>>2]|0; + $21 = ((($20)) + 32|0); + HEAP8[$21>>0] = $19; + $22 = HEAP32[$11>>2]|0; + $23 = ((($22)) + 33|0); + HEAP8[$23>>0] = 2; + $24 = HEAP32[$9>>2]|0; + $25 = HEAP32[$11>>2]|0; + $26 = ((($25)) + 36|0); + HEAP32[$26>>2] = $24; + $27 = HEAP32[$10>>2]|0; + $28 = HEAP32[$11>>2]|0; + $29 = ((($28)) + 40|0); + HEAP32[$29>>2] = $27; + $30 = HEAP32[$11>>2]|0; + $31 = ((($30)) + 16|0); + HEAP32[$31>>2] = 100; + $32 = HEAP32[$11>>2]|0; + $33 = ((($32)) + 20|0); + HEAP32[$33>>2] = 1; + $34 = HEAP32[$11>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = (_sqlite3PcacheSetPageSize($34,$35)|0); + STACKTOP = sp;return ($36|0); +} +function _pagerWalFrames($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, $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, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $12 = HEAP32[$7>>2]|0; + $13 = ($12|0)!=(0); + L1: do { + if ($13) { + HEAP32[$11>>2] = $5; + HEAP32[$9>>2] = 0; + $14 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = $14; while(1) { - $40 = HEAP32[$bFound>>2]|0; - $41 = ($40|0)==(0); - if (!($41)) { - break L4; - } - $42 = HEAP32[$i>>2]|0; - $43 = HEAP32[$p>>2]|0; - $44 = ((($43)) + 248|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($42|0)<($45|0); - if (!($46)) { - break L4; - } - $47 = HEAP32[$i>>2]|0; - $48 = HEAP32[$p>>2]|0; - $49 = ((($48)) + 252|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + (($47*24)|0)|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$2>>2]|0; - $54 = (($53) + 1)|0; - $55 = ($52|0)==($54|0); - if ($55) { - HEAP32[$bFound>>2] = 1; - $56 = HEAP32[$p>>2]|0; - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 16|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$i>>2]|0; - $61 = HEAP32[$1>>2]|0; - $62 = HEAP32[$2>>2]|0; - $63 = HEAP32[$pSegcsr>>2]|0; - $64 = (_sqlite3Fts3SegReaderCursor($56,$59,$60,-2,$61,$62,1,0,$63)|0); - HEAP32[$rc>>2] = $64; - $65 = HEAP32[$rc>>2]|0; - $66 = ($65|0)==(0); - if ($66) { - $67 = HEAP32[$p>>2]|0; - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$1>>2]|0; - $72 = HEAP32[$2>>2]|0; - $73 = HEAP32[$pSegcsr>>2]|0; - $74 = (_fts3SegReaderCursorAddZero($67,$70,$71,$72,$73)|0); - HEAP32[$rc>>2] = $74; - } + $15 = HEAP32[$10>>2]|0; + $16 = HEAP32[$11>>2]|0; + HEAP32[$16>>2] = $15; + $17 = ($15|0)!=(0|0); + if (!($17)) { + break L1; } - $75 = HEAP32[$i>>2]|0; - $76 = (($75) + 1)|0; - HEAP32[$i>>2] = $76; + $18 = HEAP32[$10>>2]|0; + $19 = ((($18)) + 20|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = ($20>>>0)<=($21>>>0); + if ($22) { + $23 = HEAP32[$10>>2]|0; + $24 = ((($23)) + 12|0); + HEAP32[$11>>2] = $24; + $25 = HEAP32[$9>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$9>>2] = $26; + } + $27 = HEAP32[$10>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$10>>2] = $29; } + } else { + HEAP32[$9>>2] = 1; } } while(0); - $77 = HEAP32[$bFound>>2]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $94 = HEAP32[$pSegcsr>>2]|0; - $95 = HEAP32[$4>>2]|0; - HEAP32[$95>>2] = $94; - $96 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($96|0); + $30 = HEAP32[$9>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 192|0); + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($34) + ($30))|0; + HEAP32[$33>>2] = $35; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 20|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(1); + if ($39) { + $40 = HEAP32[$5>>2]|0; + _pager_write_changecounter($40); } - $79 = HEAP32[$p>>2]|0; - $80 = HEAP32[$0>>2]|0; - $81 = ((($80)) + 16|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$1>>2]|0; - $84 = HEAP32[$2>>2]|0; - $85 = HEAP32[$3>>2]|0; - $86 = HEAP32[$pSegcsr>>2]|0; - $87 = (_sqlite3Fts3SegReaderCursor($79,$82,0,-2,$83,$84,$85,0,$86)|0); - HEAP32[$rc>>2] = $87; - $88 = HEAP32[$3>>2]|0; - $89 = ($88|0)!=(0); - $90 = $89 ^ 1; - $91 = $90&1; - $92 = HEAP32[$pSegcsr>>2]|0; - $93 = ((($92)) + 36|0); - HEAP32[$93>>2] = $91; - $94 = HEAP32[$pSegcsr>>2]|0; - $95 = HEAP32[$4>>2]|0; - HEAP32[$95>>2] = $94; - $96 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($96|0); -} -function _fts3SegReaderCursorAddZero($p,$iLangid,$zTerm,$nTerm,$pCsr) { - $p = $p|0; - $iLangid = $iLangid|0; - $zTerm = $zTerm|0; - $nTerm = $nTerm|0; - $pCsr = $pCsr|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 + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iLangid; - HEAP32[$2>>2] = $zTerm; - HEAP32[$3>>2] = $nTerm; - HEAP32[$4>>2] = $pCsr; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_fts3SegReaderCursor($5,$6,0,-2,$7,$8,0,0,$9)|0); - STACKTOP = sp;return ($10|0); -} -function _fts3ExprParseUnbalanced($pTokenizer,$iLangid,$azCol,$bFts4,$nCol,$iDefaultCol,$z,$n,$ppExpr) { - $pTokenizer = $pTokenizer|0; - $iLangid = $iLangid|0; - $azCol = $azCol|0; - $bFts4 = $bFts4|0; - $nCol = $nCol|0; - $iDefaultCol = $iDefaultCol|0; - $z = $z|0; - $n = $n|0; - $ppExpr = $ppExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nParsed = 0; - var $rc = 0, $sParse = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - $6 = sp + 56|0; - $7 = sp + 52|0; - $8 = sp + 48|0; - $9 = sp + 44|0; - $nParsed = sp + 40|0; - $rc = sp + 36|0; - $sParse = sp; - HEAP32[$1>>2] = $pTokenizer; - HEAP32[$2>>2] = $iLangid; - HEAP32[$3>>2] = $azCol; - HEAP32[$4>>2] = $bFts4; - HEAP32[$5>>2] = $nCol; - HEAP32[$6>>2] = $iDefaultCol; - HEAP32[$7>>2] = $z; - HEAP32[$8>>2] = $n; - HEAP32[$9>>2] = $ppExpr; - dest=$sParse; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $10 = HEAP32[$1>>2]|0; - HEAP32[$sParse>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = ((($sParse)) + 4|0); - HEAP32[$12>>2] = $11; - $13 = HEAP32[$3>>2]|0; - $14 = ((($sParse)) + 8|0); - HEAP32[$14>>2] = $13; - $15 = HEAP32[$5>>2]|0; - $16 = ((($sParse)) + 16|0); - HEAP32[$16>>2] = $15; - $17 = HEAP32[$6>>2]|0; - $18 = ((($sParse)) + 20|0); - HEAP32[$18>>2] = $17; - $19 = HEAP32[$4>>2]|0; - $20 = ((($sParse)) + 12|0); - HEAP32[$20>>2] = $19; - $21 = HEAP32[$7>>2]|0; - $22 = ($21|0)==(0|0); - if ($22) { - $23 = HEAP32[$9>>2]|0; - HEAP32[$23>>2] = 0; - HEAP32[$0>>2] = 0; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 216|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 160|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$5>>2]|0; + $48 = HEAP32[$6>>2]|0; + $49 = HEAP32[$7>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 11|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = (_sqlite3WalFrames($43,$46,$47,$48,$49,$53)|0); + HEAP32[$8>>2] = $54; + $55 = HEAP32[$8>>2]|0; + $56 = ($55|0)==(0); + if (!($56)) { + $76 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($76|0); } - $24 = HEAP32[$8>>2]|0; - $25 = ($24|0)<(0); - if ($25) { - $26 = HEAP32[$7>>2]|0; - $27 = (_strlen($26)|0); - HEAP32[$8>>2] = $27; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 96|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)!=(0|0); + if (!($60)) { + $76 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($76|0); } - $28 = HEAP32[$7>>2]|0; - $29 = HEAP32[$8>>2]|0; - $30 = HEAP32[$9>>2]|0; - $31 = (_fts3ExprParse($sParse,$28,$29,$30,$nParsed)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)==(0); - if ($33) { - $34 = ((($sParse)) + 32|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)!=(0); - if ($36) { - HEAP32[$rc>>2] = 1; + $61 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = $61; + while(1) { + $62 = HEAP32[$10>>2]|0; + $63 = ($62|0)!=(0|0); + if (!($63)) { + break; } + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 96|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$10>>2]|0; + $68 = ((($67)) + 20|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$10>>2]|0; + $71 = ((($70)) + 4|0); + $72 = HEAP32[$71>>2]|0; + _sqlite3BackupUpdate($66,$69,$72); + $73 = HEAP32[$10>>2]|0; + $74 = ((($73)) + 12|0); + $75 = HEAP32[$74>>2]|0; + HEAP32[$10>>2] = $75; } - $37 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $37; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + $76 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($76|0); } -function _fts3ExprBalance($pp,$nMaxDepth) { - $pp = $pp|0; - $nMaxDepth = $nMaxDepth|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; +function _syncJournal($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $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, $apLeaf = 0, $eType = 0, $i = 0, $iLvl = 0, $or$cond = 0; - var $p = 0, $pDel = 0, $pFree = 0, $pLeft = 0, $pParent = 0, $pRight = 0, $pRoot = 0, $rc = 0, label = 0, sp = 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 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $rc = sp + 44|0; - $pRoot = sp + 40|0; - $pFree = sp + 36|0; - $eType = sp + 32|0; - $apLeaf = sp + 28|0; - $i = sp + 24|0; - $p = sp + 20|0; - $iLvl = sp + 16|0; - $pParent = sp + 12|0; - $pDel = sp + 8|0; - $pLeft = sp + 4|0; - $pRight = sp; - HEAP32[$0>>2] = $pp; - HEAP32[$1>>2] = $nMaxDepth; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pRoot>>2] = $3; - HEAP32[$pFree>>2] = 0; - $4 = HEAP32[$pRoot>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$eType>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - HEAP32[$rc>>2] = 1; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 40|0; + $9 = sp + 28|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $10 = HEAP32[$3>>2]|0; + $11 = (_sqlite3PagerExclusiveLock($10)|0); + HEAP32[$5>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $14; + $176 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($176|0); } - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)==(0); + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 7|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17<<24>>24)!=(0); do { - if ($9) { - $10 = HEAP32[$eType>>2]|0; - $11 = ($10|0)==(3); - $12 = HEAP32[$eType>>2]|0; - $13 = ($12|0)==(4); - $or$cond = $11 | $13; - if (!($or$cond)) { - $189 = HEAP32[$eType>>2]|0; - $190 = ($189|0)==(2); - if (!($190)) { - break; - } - $191 = HEAP32[$pRoot>>2]|0; - $192 = ((($191)) + 12|0); - $193 = HEAP32[$192>>2]|0; - HEAP32[$pLeft>>2] = $193; - $194 = HEAP32[$pRoot>>2]|0; - $195 = ((($194)) + 16|0); - $196 = HEAP32[$195>>2]|0; - HEAP32[$pRight>>2] = $196; - $197 = HEAP32[$pRoot>>2]|0; - $198 = ((($197)) + 12|0); - HEAP32[$198>>2] = 0; - $199 = HEAP32[$pRoot>>2]|0; - $200 = ((($199)) + 16|0); - HEAP32[$200>>2] = 0; - $201 = HEAP32[$pLeft>>2]|0; - $202 = ((($201)) + 8|0); - HEAP32[$202>>2] = 0; - $203 = HEAP32[$pRight>>2]|0; - $204 = ((($203)) + 8|0); - HEAP32[$204>>2] = 0; - $205 = HEAP32[$1>>2]|0; - $206 = (($205) - 1)|0; - $207 = (_fts3ExprBalance($pLeft,$206)|0); - HEAP32[$rc>>2] = $207; - $208 = HEAP32[$rc>>2]|0; - $209 = ($208|0)==(0); - if ($209) { - $210 = HEAP32[$1>>2]|0; - $211 = (($210) - 1)|0; - $212 = (_fts3ExprBalance($pRight,$211)|0); - HEAP32[$rc>>2] = $212; - } - $213 = HEAP32[$rc>>2]|0; - $214 = ($213|0)!=(0); - if ($214) { - $215 = HEAP32[$pRight>>2]|0; - _sqlite3Fts3ExprFree($215); - $216 = HEAP32[$pLeft>>2]|0; - _sqlite3Fts3ExprFree($216); - break; - } else { - $217 = HEAP32[$pLeft>>2]|0; - $218 = HEAP32[$pRoot>>2]|0; - $219 = ((($218)) + 12|0); - HEAP32[$219>>2] = $217; - $220 = HEAP32[$pRoot>>2]|0; - $221 = HEAP32[$pLeft>>2]|0; - $222 = ((($221)) + 8|0); - HEAP32[$222>>2] = $220; - $223 = HEAP32[$pRight>>2]|0; - $224 = HEAP32[$pRoot>>2]|0; - $225 = ((($224)) + 16|0); - HEAP32[$225>>2] = $223; - $226 = HEAP32[$pRoot>>2]|0; - $227 = HEAP32[$pRight>>2]|0; - $228 = ((($227)) + 8|0); - HEAP32[$228>>2] = $226; - break; - } - } - $14 = HEAP32[$1>>2]|0; - $15 = $14<<2; - $16 = (_sqlite3_malloc($15)|0); - HEAP32[$apLeaf>>2] = $16; - $17 = HEAP32[$apLeaf>>2]|0; - $18 = (0|0)==($17|0); - if ($18) { - HEAP32[$rc>>2] = 7; - } else { - $19 = HEAP32[$apLeaf>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = $20<<2; - _memset(($19|0),0,($21|0))|0; - } - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)==(0); + if (!($18)) { + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 68|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0|0); if ($23) { - $24 = HEAP32[$pRoot>>2]|0; - HEAP32[$p>>2] = $24; - while(1) { - $25 = HEAP32[$p>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$eType>>2]|0; - $28 = ($26|0)==($27|0); - if (!($28)) { - break; - } - $29 = HEAP32[$p>>2]|0; - $30 = ((($29)) + 12|0); + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 5|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ($27|0)!=(4); + if ($28) { + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 64|0); $31 = HEAP32[$30>>2]|0; - HEAP32[$p>>2] = $31; - } - while(1) { - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$pParent>>2] = $34; - $35 = HEAP32[$p>>2]|0; - $36 = ((($35)) + 8|0); - HEAP32[$36>>2] = 0; - $37 = HEAP32[$pParent>>2]|0; - $38 = ($37|0)!=(0|0); - if ($38) { - $39 = HEAP32[$pParent>>2]|0; - $40 = ((($39)) + 12|0); - HEAP32[$40>>2] = 0; - } else { - HEAP32[$pRoot>>2] = 0; - } - $41 = HEAP32[$1>>2]|0; - $42 = (($41) - 1)|0; - $43 = (_fts3ExprBalance($p,$42)|0); - HEAP32[$rc>>2] = $43; - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)!=(0); - if ($45) { - break; - } - HEAP32[$iLvl>>2] = 0; - while(1) { - $46 = HEAP32[$p>>2]|0; - $47 = ($46|0)!=(0|0); - if (!($47)) { - break; + $32 = (_sqlite3OsDeviceCharacteristics($31)|0); + HEAP32[$6>>2] = $32; + $33 = HEAP32[$6>>2]|0; + $34 = $33 & 512; + $35 = (0)==($34|0); + if ($35) { + ;HEAP8[$9>>0]=HEAP8[24914>>0]|0;HEAP8[$9+1>>0]=HEAP8[24914+1>>0]|0;HEAP8[$9+2>>0]=HEAP8[24914+2>>0]|0;HEAP8[$9+3>>0]=HEAP8[24914+3>>0]|0;HEAP8[$9+4>>0]=HEAP8[24914+4>>0]|0;HEAP8[$9+5>>0]=HEAP8[24914+5>>0]|0;HEAP8[$9+6>>0]=HEAP8[24914+6>>0]|0;HEAP8[$9+7>>0]=HEAP8[24914+7>>0]|0; + $36 = ((($9)) + 8|0); + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 48|0); + $39 = HEAP32[$38>>2]|0; + _sqlite3Put4byte($36,$39); + $40 = HEAP32[$3>>2]|0; + $41 = (_journalHdrOffset($40)|0); + $42 = tempRet0; + $43 = $7; + $44 = $43; + HEAP32[$44>>2] = $41; + $45 = (($43) + 4)|0; + $46 = $45; + HEAP32[$46>>2] = $42; + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 68|0); + $49 = HEAP32[$48>>2]|0; + $50 = $7; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (_sqlite3OsRead($49,$8,8,$52,$55)|0); + HEAP32[$5>>2] = $56; + $57 = HEAP32[$5>>2]|0; + $58 = ($57|0)==(0); + if ($58) { + $59 = (_memcmp($8,24914,8)|0); + $60 = (0)==($59|0); + if ($60) { + $61 = HEAP32[$3>>2]|0; + $62 = ((($61)) + 68|0); + $63 = HEAP32[$62>>2]|0; + $64 = $7; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (_sqlite3OsWrite($63,56040,1,$66,$69)|0); + HEAP32[$5>>2] = $70; + } } - $48 = HEAP32[$iLvl>>2]|0; - $49 = HEAP32[$1>>2]|0; - $50 = ($48|0)<($49|0); - if (!($50)) { - break; + $71 = HEAP32[$5>>2]|0; + $72 = ($71|0)!=(0); + $73 = HEAP32[$5>>2]|0; + $74 = ($73|0)!=(522); + $or$cond = $72 & $74; + if ($or$cond) { + $75 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $75; + $176 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($176|0); } - $51 = HEAP32[$iLvl>>2]|0; - $52 = HEAP32[$apLeaf>>2]|0; - $53 = (($52) + ($51<<2)|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - $56 = HEAP32[$p>>2]|0; - $57 = HEAP32[$iLvl>>2]|0; - $58 = HEAP32[$apLeaf>>2]|0; - $59 = (($58) + ($57<<2)|0); - HEAP32[$59>>2] = $56; - HEAP32[$p>>2] = 0; - } else { - $60 = HEAP32[$iLvl>>2]|0; - $61 = HEAP32[$apLeaf>>2]|0; - $62 = (($61) + ($60<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$pFree>>2]|0; - $65 = ((($64)) + 12|0); - HEAP32[$65>>2] = $63; - $66 = HEAP32[$p>>2]|0; - $67 = HEAP32[$pFree>>2]|0; - $68 = ((($67)) + 16|0); - HEAP32[$68>>2] = $66; - $69 = HEAP32[$pFree>>2]|0; - $70 = HEAP32[$pFree>>2]|0; - $71 = ((($70)) + 12|0); - $72 = HEAP32[$71>>2]|0; - $73 = ((($72)) + 8|0); - HEAP32[$73>>2] = $69; - $74 = HEAP32[$pFree>>2]|0; - $75 = HEAP32[$pFree>>2]|0; - $76 = ((($75)) + 16|0); - $77 = HEAP32[$76>>2]|0; - $78 = ((($77)) + 8|0); - HEAP32[$78>>2] = $74; - $79 = HEAP32[$pFree>>2]|0; - HEAP32[$p>>2] = $79; - $80 = HEAP32[$pFree>>2]|0; - $81 = ((($80)) + 8|0); - $82 = HEAP32[$81>>2]|0; - HEAP32[$pFree>>2] = $82; - $83 = HEAP32[$p>>2]|0; - $84 = ((($83)) + 8|0); - HEAP32[$84>>2] = 0; - $85 = HEAP32[$iLvl>>2]|0; - $86 = HEAP32[$apLeaf>>2]|0; - $87 = (($86) + ($85<<2)|0); - HEAP32[$87>>2] = 0; + $76 = HEAP32[$3>>2]|0; + $77 = ((($76)) + 8|0); + $78 = HEAP8[$77>>0]|0; + $79 = $78&255; + $80 = ($79|0)!=(0); + if ($80) { + $81 = HEAP32[$6>>2]|0; + $82 = $81 & 1024; + $83 = (0)==($82|0); + if ($83) { + $84 = HEAP32[$3>>2]|0; + $85 = ((($84)) + 68|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$3>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = (_sqlite3OsSync($86,$90)|0); + HEAP32[$5>>2] = $91; + $92 = HEAP32[$5>>2]|0; + $93 = ($92|0)!=(0); + if ($93) { + $94 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $94; + $176 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($176|0); + } + } + } + $95 = HEAP32[$3>>2]|0; + $96 = ((($95)) + 68|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$3>>2]|0; + $99 = ((($98)) + 88|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (_sqlite3OsWrite($97,$9,12,$102,$105)|0); + HEAP32[$5>>2] = $106; + $107 = HEAP32[$5>>2]|0; + $108 = ($107|0)!=(0); + if ($108) { + $109 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $109; + $176 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($176|0); } - $88 = HEAP32[$iLvl>>2]|0; - $89 = (($88) + 1)|0; - HEAP32[$iLvl>>2] = $89; } - $90 = HEAP32[$p>>2]|0; - $91 = ($90|0)!=(0|0); - if ($91) { - label = 24; - break; + $110 = HEAP32[$6>>2]|0; + $111 = $110 & 1024; + $112 = (0)==($111|0); + if ($112) { + $113 = HEAP32[$3>>2]|0; + $114 = ((($113)) + 68|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$3>>2]|0; + $117 = ((($116)) + 12|0); + $118 = HEAP8[$117>>0]|0; + $119 = $118&255; + $120 = HEAP32[$3>>2]|0; + $121 = ((($120)) + 12|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $124 = ($123|0)==(3); + $125 = $124 ? 16 : 0; + $126 = $119 | $125; + $127 = (_sqlite3OsSync($115,$126)|0); + HEAP32[$5>>2] = $127; + $128 = HEAP32[$5>>2]|0; + $129 = ($128|0)!=(0); + if ($129) { + $130 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $130; + $176 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($176|0); + } } - $93 = HEAP32[$pParent>>2]|0; - $94 = ($93|0)==(0|0); - if ($94) { + $131 = HEAP32[$3>>2]|0; + $132 = ((($131)) + 80|0); + $133 = $132; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (($133) + 4)|0; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$3>>2]|0; + $140 = ((($139)) + 88|0); + $141 = $140; + $142 = $141; + HEAP32[$142>>2] = $135; + $143 = (($141) + 4)|0; + $144 = $143; + HEAP32[$144>>2] = $138; + $145 = HEAP32[$4>>2]|0; + $146 = ($145|0)!=(0); + if (!($146)) { break; } - $95 = HEAP32[$pParent>>2]|0; - $96 = ((($95)) + 16|0); - $97 = HEAP32[$96>>2]|0; - HEAP32[$p>>2] = $97; - while(1) { - $98 = HEAP32[$p>>2]|0; - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$eType>>2]|0; - $101 = ($99|0)==($100|0); - if (!($101)) { - break; - } - $102 = HEAP32[$p>>2]|0; - $103 = ((($102)) + 12|0); - $104 = HEAP32[$103>>2]|0; - HEAP32[$p>>2] = $104; + $147 = HEAP32[$6>>2]|0; + $148 = $147 & 512; + $149 = (0)==($148|0); + if (!($149)) { + break; } - $105 = HEAP32[$pParent>>2]|0; - $106 = ((($105)) + 8|0); - $107 = HEAP32[$106>>2]|0; - $108 = HEAP32[$pParent>>2]|0; - $109 = ((($108)) + 16|0); - $110 = HEAP32[$109>>2]|0; - $111 = ((($110)) + 8|0); - HEAP32[$111>>2] = $107; - $112 = HEAP32[$pParent>>2]|0; - $113 = ((($112)) + 8|0); - $114 = HEAP32[$113>>2]|0; - $115 = ($114|0)!=(0|0); - $116 = HEAP32[$pParent>>2]|0; - $117 = ((($116)) + 16|0); - $118 = HEAP32[$117>>2]|0; - if ($115) { - $119 = HEAP32[$pParent>>2]|0; - $120 = ((($119)) + 8|0); - $121 = HEAP32[$120>>2]|0; - $122 = ((($121)) + 12|0); - HEAP32[$122>>2] = $118; - } else { - HEAP32[$pRoot>>2] = $118; + $150 = HEAP32[$3>>2]|0; + $151 = ((($150)) + 48|0); + HEAP32[$151>>2] = 0; + $152 = HEAP32[$3>>2]|0; + $153 = (_writeJournalHdr($152)|0); + HEAP32[$5>>2] = $153; + $154 = HEAP32[$5>>2]|0; + $155 = ($154|0)!=(0); + if (!($155)) { + break; } - $123 = HEAP32[$pFree>>2]|0; - $124 = HEAP32[$pParent>>2]|0; - $125 = ((($124)) + 8|0); - HEAP32[$125>>2] = $123; - $126 = HEAP32[$pParent>>2]|0; - HEAP32[$pFree>>2] = $126; - } - if ((label|0) == 24) { - $92 = HEAP32[$p>>2]|0; - _sqlite3Fts3ExprFree($92); - HEAP32[$rc>>2] = 18; + $156 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $156; + $176 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($176|0); } - $127 = HEAP32[$rc>>2]|0; - $128 = ($127|0)==(0); - L53: do { - if ($128) { - HEAP32[$p>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $129 = HEAP32[$i>>2]|0; - $130 = HEAP32[$1>>2]|0; - $131 = ($129|0)<($130|0); - if (!($131)) { - break; - } - $132 = HEAP32[$i>>2]|0; - $133 = HEAP32[$apLeaf>>2]|0; - $134 = (($133) + ($132<<2)|0); - $135 = HEAP32[$134>>2]|0; - $136 = ($135|0)!=(0|0); - do { - if ($136) { - $137 = HEAP32[$p>>2]|0; - $138 = ($137|0)==(0|0); - if ($138) { - $139 = HEAP32[$i>>2]|0; - $140 = HEAP32[$apLeaf>>2]|0; - $141 = (($140) + ($139<<2)|0); - $142 = HEAP32[$141>>2]|0; - HEAP32[$p>>2] = $142; - $143 = HEAP32[$p>>2]|0; - $144 = ((($143)) + 8|0); - HEAP32[$144>>2] = 0; - break; - } else { - $145 = HEAP32[$p>>2]|0; - $146 = HEAP32[$pFree>>2]|0; - $147 = ((($146)) + 16|0); - HEAP32[$147>>2] = $145; - $148 = HEAP32[$i>>2]|0; - $149 = HEAP32[$apLeaf>>2]|0; - $150 = (($149) + ($148<<2)|0); - $151 = HEAP32[$150>>2]|0; - $152 = HEAP32[$pFree>>2]|0; - $153 = ((($152)) + 12|0); - HEAP32[$153>>2] = $151; - $154 = HEAP32[$pFree>>2]|0; - $155 = HEAP32[$pFree>>2]|0; - $156 = ((($155)) + 12|0); - $157 = HEAP32[$156>>2]|0; - $158 = ((($157)) + 8|0); - HEAP32[$158>>2] = $154; - $159 = HEAP32[$pFree>>2]|0; - $160 = HEAP32[$pFree>>2]|0; - $161 = ((($160)) + 16|0); - $162 = HEAP32[$161>>2]|0; - $163 = ((($162)) + 8|0); - HEAP32[$163>>2] = $159; - $164 = HEAP32[$pFree>>2]|0; - HEAP32[$p>>2] = $164; - $165 = HEAP32[$pFree>>2]|0; - $166 = ((($165)) + 8|0); - $167 = HEAP32[$166>>2]|0; - HEAP32[$pFree>>2] = $167; - $168 = HEAP32[$p>>2]|0; - $169 = ((($168)) + 8|0); - HEAP32[$169>>2] = 0; - break; - } - } - } while(0); - $170 = HEAP32[$i>>2]|0; - $171 = (($170) + 1)|0; - HEAP32[$i>>2] = $171; - } - $172 = HEAP32[$p>>2]|0; - HEAP32[$pRoot>>2] = $172; - } else { - HEAP32[$i>>2] = 0; - while(1) { - $173 = HEAP32[$i>>2]|0; - $174 = HEAP32[$1>>2]|0; - $175 = ($173|0)<($174|0); - if (!($175)) { - break; - } - $176 = HEAP32[$i>>2]|0; - $177 = HEAP32[$apLeaf>>2]|0; - $178 = (($177) + ($176<<2)|0); - $179 = HEAP32[$178>>2]|0; - _sqlite3Fts3ExprFree($179); - $180 = HEAP32[$i>>2]|0; - $181 = (($180) + 1)|0; - HEAP32[$i>>2] = $181; - } - while(1) { - $182 = HEAP32[$pFree>>2]|0; - HEAP32[$pDel>>2] = $182; - $183 = ($182|0)!=(0|0); - if (!($183)) { - break L53; - } - $184 = HEAP32[$pDel>>2]|0; - $185 = ((($184)) + 8|0); - $186 = HEAP32[$185>>2]|0; - HEAP32[$pFree>>2] = $186; - $187 = HEAP32[$pDel>>2]|0; - _sqlite3_free($187); - } - } - } while(0); - $188 = HEAP32[$apLeaf>>2]|0; - _sqlite3_free($188); } + $157 = HEAP32[$3>>2]|0; + $158 = ((($157)) + 80|0); + $159 = $158; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = HEAP32[$3>>2]|0; + $166 = ((($165)) + 88|0); + $167 = $166; + $168 = $167; + HEAP32[$168>>2] = $161; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = $164; } } while(0); - $229 = HEAP32[$rc>>2]|0; - $230 = ($229|0)!=(0); - if (!($230)) { - $232 = HEAP32[$pRoot>>2]|0; - $233 = HEAP32[$0>>2]|0; - HEAP32[$233>>2] = $232; - $234 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($234|0); - } - $231 = HEAP32[$pRoot>>2]|0; - _sqlite3Fts3ExprFree($231); - HEAP32[$pRoot>>2] = 0; - $232 = HEAP32[$pRoot>>2]|0; - $233 = HEAP32[$0>>2]|0; - HEAP32[$233>>2] = $232; - $234 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($234|0); -} -function _fts3ExprCheckDepth($p,$nMaxDepth) { - $p = $p|0; - $nMaxDepth = $nMaxDepth|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $rc = 0, label = 0, sp = 0; + $171 = HEAP32[$3>>2]|0; + $172 = ((($171)) + 212|0); + $173 = HEAP32[$172>>2]|0; + _sqlite3PcacheClearSyncFlags($173); + $174 = HEAP32[$3>>2]|0; + $175 = ((($174)) + 17|0); + HEAP8[$175>>0] = 4; + HEAP32[$2>>2] = 0; + $176 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($176|0); +} +function _pager_write_pagelist($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $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, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $nMaxDepth; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 8|0; + $6 = sp + 20|0; + $7 = sp; + $8 = sp + 16|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 64|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 64|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 152|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_pagerOpentemp($14,$17,$20)|0); + HEAP32[$4>>2] = $21; + } + $22 = HEAP32[$4>>2]|0; + $23 = ($22|0)==(0); do { - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)<(0); - if ($5) { - HEAP32[$rc>>2] = 18; - break; - } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) - 1)|0; - $11 = (_fts3ExprCheckDepth($8,$10)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = (($17) - 1)|0; - $19 = (_fts3ExprCheckDepth($16,$18)|0); - HEAP32[$rc>>2] = $19; + if ($23) { + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 40|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 28|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($26>>>0)<($29>>>0); + if ($30) { + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0|0); + if (!($34)) { + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 20|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 40|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($37>>>0)>($40>>>0); + if (!($41)) { + break; + } + } + $42 = HEAP32[$2>>2]|0; + $43 = ((($42)) + 160|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)<(0); + $46 = $45 << 31 >> 31; + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 28|0); + $49 = HEAP32[$48>>2]|0; + $50 = (___muldi3(($44|0),($46|0),($49|0),0)|0); + $51 = tempRet0; + $52 = $5; + $53 = $52; + HEAP32[$53>>2] = $50; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 64|0); + $58 = HEAP32[$57>>2]|0; + _sqlite3OsFileControlHint($58,5,$5); + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 28|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$2>>2]|0; + $63 = ((($62)) + 40|0); + HEAP32[$63>>2] = $61; } } } while(0); - $20 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($20|0); -} -function _fts3ExprParse($pParse,$z,$n,$ppExpr,$pnConsumed) { - $pParse = $pParse|0; - $z = $z|0; - $n = $n|0; - $ppExpr = $ppExpr|0; - $pnConsumed = $pnConsumed|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $eType = 0, $isPhrase = 0, $isRequirePhrase = 0, $nByte = 0, $nIn = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $p = 0, $pAnd = 0, $pNotBranch = 0, $pPrev = 0, $pRet = 0; - var $rc = 0, $zIn = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $4 = sp + 48|0; - $pRet = sp + 44|0; - $pPrev = sp + 40|0; - $pNotBranch = sp + 36|0; - $nIn = sp + 32|0; - $zIn = sp + 28|0; - $rc = sp + 24|0; - $isRequirePhrase = sp + 20|0; - $p = sp + 16|0; - $nByte = sp + 12|0; - $isPhrase = sp + 8|0; - $eType = sp + 4|0; - $pAnd = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $ppExpr; - HEAP32[$4>>2] = $pnConsumed; - HEAP32[$pRet>>2] = 0; - HEAP32[$pPrev>>2] = 0; - HEAP32[$pNotBranch>>2] = 0; - $5 = HEAP32[$2>>2]|0; - HEAP32[$nIn>>2] = $5; - $6 = HEAP32[$1>>2]|0; - HEAP32[$zIn>>2] = $6; - HEAP32[$rc>>2] = 0; - HEAP32[$isRequirePhrase>>2] = 1; while(1) { - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - label = 25; + $64 = HEAP32[$4>>2]|0; + $65 = ($64|0)==(0); + $66 = HEAP32[$3>>2]|0; + $67 = ($66|0)!=(0|0); + $68 = $65 ? $67 : 0; + if (!($68)) { break; } - HEAP32[$p>>2] = 0; - HEAP32[$nByte>>2] = 0; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$zIn>>2]|0; - $11 = HEAP32[$nIn>>2]|0; - $12 = (_getNextNode($9,$10,$11,$p,$nByte)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)==(0); - $15 = HEAP32[$p>>2]|0; - $16 = ($15|0)!=(0|0); - $or$cond13 = $14 & $16; - if ($or$cond13) { - $17 = HEAP32[$p>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$eType>>2] = $18; - $19 = HEAP32[$eType>>2]|0; - $20 = ($19|0)==(5); - if ($20) { - $26 = 1; - } else { - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 12|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)!=(0|0); - $26 = $24; - } - $25 = $26&1; - HEAP32[$isPhrase>>2] = $25; - $27 = HEAP32[$isPhrase>>2]|0; - $28 = ($27|0)==(0); - $29 = HEAP32[$isRequirePhrase>>2]|0; - $30 = ($29|0)!=(0); - $or$cond = $28 & $30; - if ($or$cond) { - label = 7; - break; - } - $32 = HEAP32[$isPhrase>>2]|0; - $33 = ($32|0)==(0); - $34 = HEAP32[$isRequirePhrase>>2]|0; - $35 = ($34|0)!=(0); - $or$cond3 = $33 | $35; - if (!($or$cond3)) { - $36 = (_fts3MallocZero(48)|0); - HEAP32[$pAnd>>2] = $36; - $37 = HEAP32[$pAnd>>2]|0; - $38 = ($37|0)!=(0|0); - if (!($38)) { - label = 10; - break; + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 20|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$6>>2] = $71; + $72 = HEAP32[$6>>2]|0; + $73 = HEAP32[$2>>2]|0; + $74 = ((($73)) + 28|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($72>>>0)<=($75>>>0); + if ($76) { + $77 = HEAP32[$3>>2]|0; + $78 = ((($77)) + 24|0); + $79 = HEAP16[$78>>1]|0; + $80 = $79&65535; + $81 = $80 & 16; + $82 = (0)==($81|0); + if ($82) { + $83 = HEAP32[$6>>2]|0; + $84 = (($83) - 1)|0; + $85 = HEAP32[$2>>2]|0; + $86 = ((($85)) + 160|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($87|0)<(0); + $89 = $88 << 31 >> 31; + $90 = (___muldi3(($84|0),0,($87|0),($89|0))|0); + $91 = tempRet0; + $92 = $7; + $93 = $92; + HEAP32[$93>>2] = $90; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + $96 = HEAP32[$3>>2]|0; + $97 = ((($96)) + 20|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(1); + if ($99) { + $100 = HEAP32[$3>>2]|0; + _pager_write_changecounter($100); } - $40 = HEAP32[$pAnd>>2]|0; - HEAP32[$40>>2] = 3; - $41 = HEAP32[$pPrev>>2]|0; - $42 = HEAP32[$pAnd>>2]|0; - _insertBinaryOperator($pRet,$41,$42); - $43 = HEAP32[$pAnd>>2]|0; - HEAP32[$pPrev>>2] = $43; - } - $44 = HEAP32[$pPrev>>2]|0; - $45 = ($44|0)!=(0|0); - if ($45) { - $46 = HEAP32[$eType>>2]|0; - $47 = ($46|0)!=(1); - $48 = HEAP32[$isPhrase>>2]|0; - $49 = ($48|0)!=(0); - $or$cond5 = $47 | $49; - if (!($or$cond5)) { - $50 = HEAP32[$pPrev>>2]|0; - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)!=(5); - if ($52) { - label = 17; - break; - } + $101 = HEAP32[$3>>2]|0; + $102 = ((($101)) + 4|0); + $103 = HEAP32[$102>>2]|0; + HEAP32[$8>>2] = $103; + $104 = HEAP32[$2>>2]|0; + $105 = ((($104)) + 64|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$8>>2]|0; + $108 = HEAP32[$2>>2]|0; + $109 = ((($108)) + 160|0); + $110 = HEAP32[$109>>2]|0; + $111 = $7; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (($111) + 4)|0; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (_sqlite3OsWrite($106,$107,$110,$113,$116)|0); + HEAP32[$4>>2] = $117; + $118 = HEAP32[$6>>2]|0; + $119 = ($118|0)==(1); + if ($119) { + $120 = HEAP32[$2>>2]|0; + $121 = ((($120)) + 112|0); + $122 = HEAP32[$8>>2]|0; + $123 = ((($122)) + 24|0); + dest=$121; src=$123; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); } - $53 = HEAP32[$eType>>2]|0; - $54 = ($53|0)!=(5); - $55 = HEAP32[$isPhrase>>2]|0; - $56 = ($55|0)!=(0); - $or$cond7 = $54 & $56; - if ($or$cond7) { - $57 = HEAP32[$pPrev>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(1); - if ($59) { - label = 17; - break; - } + $124 = HEAP32[$6>>2]|0; + $125 = HEAP32[$2>>2]|0; + $126 = ((($125)) + 36|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($124>>>0)>($127>>>0); + if ($128) { + $129 = HEAP32[$6>>2]|0; + $130 = HEAP32[$2>>2]|0; + $131 = ((($130)) + 36|0); + HEAP32[$131>>2] = $129; } + $132 = HEAP32[$2>>2]|0; + $133 = ((($132)) + 192|0); + $134 = ((($133)) + 8|0); + $135 = HEAP32[$134>>2]|0; + $136 = (($135) + 1)|0; + HEAP32[$134>>2] = $136; + $137 = HEAP32[$2>>2]|0; + $138 = ((($137)) + 96|0); + $139 = HEAP32[$138>>2]|0; + $140 = HEAP32[$6>>2]|0; + $141 = HEAP32[$3>>2]|0; + $142 = ((($141)) + 4|0); + $143 = HEAP32[$142>>2]|0; + _sqlite3BackupUpdate($139,$140,$143); } - $61 = HEAP32[$isPhrase>>2]|0; - $62 = ($61|0)!=(0); - do { - if ($62) { - $63 = HEAP32[$pRet>>2]|0; - $64 = ($63|0)!=(0|0); - $65 = HEAP32[$p>>2]|0; - if ($64) { - $66 = HEAP32[$pPrev>>2]|0; - $67 = ((($66)) + 16|0); - HEAP32[$67>>2] = $65; - $68 = HEAP32[$pPrev>>2]|0; - $69 = HEAP32[$p>>2]|0; - $70 = ((($69)) + 8|0); - HEAP32[$70>>2] = $68; - break; - } else { - HEAP32[$pRet>>2] = $65; - break; - } - } else { - $71 = HEAP32[$pPrev>>2]|0; - $72 = HEAP32[$p>>2]|0; - _insertBinaryOperator($pRet,$71,$72); - } - } while(0); - $73 = HEAP32[$isPhrase>>2]|0; - $74 = ($73|0)!=(0); - $75 = $74 ^ 1; - $76 = $75&1; - HEAP32[$isRequirePhrase>>2] = $76; - $77 = HEAP32[$p>>2]|0; - HEAP32[$pPrev>>2] = $77; - } - $78 = HEAP32[$nByte>>2]|0; - $79 = HEAP32[$nIn>>2]|0; - $80 = (($79) - ($78))|0; - HEAP32[$nIn>>2] = $80; - $81 = HEAP32[$nByte>>2]|0; - $82 = HEAP32[$zIn>>2]|0; - $83 = (($82) + ($81)|0); - HEAP32[$zIn>>2] = $83; - } - if ((label|0) == 7) { - $31 = HEAP32[$p>>2]|0; - _sqlite3Fts3ExprFree($31); - HEAP32[$rc>>2] = 1; - } - else if ((label|0) == 10) { - $39 = HEAP32[$p>>2]|0; - _sqlite3Fts3ExprFree($39); - HEAP32[$rc>>2] = 7; - } - else if ((label|0) == 17) { - $60 = HEAP32[$p>>2]|0; - _sqlite3Fts3ExprFree($60); - HEAP32[$rc>>2] = 1; - } - else if ((label|0) == 25) { - $84 = HEAP32[$rc>>2]|0; - $85 = ($84|0)==(101); - $86 = HEAP32[$pRet>>2]|0; - $87 = ($86|0)!=(0|0); - $or$cond9 = $85 & $87; - $88 = HEAP32[$isRequirePhrase>>2]|0; - $89 = ($88|0)!=(0); - $or$cond11 = $or$cond9 & $89; - if ($or$cond11) { - HEAP32[$rc>>2] = 1; - } - $90 = HEAP32[$rc>>2]|0; - $91 = ($90|0)==(101); - if ($91) { - HEAP32[$rc>>2] = 0; } - $92 = HEAP32[$2>>2]|0; - $93 = HEAP32[$nIn>>2]|0; - $94 = (($92) - ($93))|0; - $95 = HEAP32[$4>>2]|0; - HEAP32[$95>>2] = $94; - } - $96 = HEAP32[$rc>>2]|0; - $97 = ($96|0)!=(0); - if (!($97)) { - $100 = HEAP32[$pRet>>2]|0; - $101 = HEAP32[$3>>2]|0; - HEAP32[$101>>2] = $100; - $102 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($102|0); + $144 = HEAP32[$3>>2]|0; + $145 = ((($144)) + 12|0); + $146 = HEAP32[$145>>2]|0; + HEAP32[$3>>2] = $146; } - $98 = HEAP32[$pRet>>2]|0; - _sqlite3Fts3ExprFree($98); - $99 = HEAP32[$pNotBranch>>2]|0; - _sqlite3Fts3ExprFree($99); - HEAP32[$pRet>>2] = 0; - $100 = HEAP32[$pRet>>2]|0; - $101 = HEAP32[$3>>2]|0; - HEAP32[$101>>2] = $100; - $102 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($102|0); + $147 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($147|0); } -function _getNextNode($pParse,$z,$n,$ppExpr,$pnConsumed) { - $pParse = $pParse|0; - $z = $z|0; - $n = $n|0; - $ppExpr = $ppExpr|0; - $pnConsumed = $pnConsumed|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $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, $cNext = 0, $iCol = 0, $iColLen = 0, $ii = 0, $nConsumed = 0, $nInput = 0, $nKey = 0; - var $nNear = 0, $nStr = 0, $pKey = 0, $pRet = 0, $rc = 0, $zInput = 0, $zStr = 0, label = 0, sp = 0; +function _pagerOpentemp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 72|0; - $1 = sp + 68|0; - $2 = sp + 64|0; - $3 = sp + 60|0; - $4 = sp + 56|0; - $5 = sp + 52|0; - $ii = sp + 48|0; - $iCol = sp + 44|0; - $iColLen = sp + 40|0; - $rc = sp + 36|0; - $pRet = sp + 32|0; - $zInput = sp + 28|0; - $nInput = sp + 24|0; - $pKey = sp + 20|0; - $nNear = sp + 16|0; - $nKey = sp + 12|0; - $cNext = sp + 76|0; - $nConsumed = sp + 8|0; - $zStr = sp + 4|0; - $nStr = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $z; - HEAP32[$3>>2] = $n; - HEAP32[$4>>2] = $ppExpr; - HEAP32[$5>>2] = $pnConsumed; - HEAP32[$pRet>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + $8 = $7 | 30; + HEAP32[$5>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = (_sqlite3OsOpen($10,0,$11,$12,0)|0); + HEAP32[$6>>2] = $13; + $14 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($14|0); +} +function _pager_write_changecounter($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 16|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 112|0); + $7 = (_sqlite3Get4byte($6)|0); + $8 = (($7) + 1)|0; + HEAP32[$2>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$2>>2]|0; + _sqlite3Put4byte($12,$13); + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 92|0); + $18 = HEAP32[$2>>2]|0; + _sqlite3Put4byte($17,$18); + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 96|0); + _sqlite3Put4byte($22,3015001); + STACKTOP = sp;return; +} +function _sqlite3PagerExclusiveLock($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 44|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; $6 = HEAP32[$2>>2]|0; - HEAP32[$zInput>>2] = $6; - $7 = HEAP32[$3>>2]|0; - HEAP32[$nInput>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 24|0); - HEAP32[$9>>2] = 0; - while(1) { - $10 = HEAP32[$nInput>>2]|0; - $11 = ($10|0)>(0); - if ($11) { - $12 = HEAP32[$zInput>>2]|0; - $13 = HEAP8[$12>>0]|0; - $14 = (_fts3isspace($13)|0); - $15 = ($14|0)!=(0); - $272 = $15; - } else { - $272 = 0; - } - $16 = HEAP32[$nInput>>2]|0; - if (!($272)) { - break; + $7 = ($6|0)==(0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = (_sqlite3PagerUseWal($8)|0); + $10 = (0)==($9|0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (_pager_wait_on_lock($11,4)|0); + HEAP32[$2>>2] = $12; } - $17 = (($16) + -1)|0; - HEAP32[$nInput>>2] = $17; - $18 = HEAP32[$zInput>>2]|0; - $19 = ((($18)) + 1|0); - HEAP32[$zInput>>2] = $19; - } - $20 = ($16|0)==(0); - if ($20) { - HEAP32[$0>>2] = 101; - $271 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($271|0); } - HEAP32[$ii>>2] = 0; + $13 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _sqlite3PcacheClearSyncFlags($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $4; while(1) { - $21 = HEAP32[$ii>>2]|0; - $22 = ($21|0)<(4); - if (!($22)) { + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { break; } - $23 = HEAP32[$ii>>2]|0; - $24 = (2112 + ($23<<3)|0); - HEAP32[$pKey>>2] = $24; - $25 = HEAP32[$pKey>>2]|0; - $26 = ((($25)) + 5|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 & -2; - $30 = ($29|0)!=(0); - if (!($30)) { - $31 = HEAP32[$nInput>>2]|0; - $32 = HEAP32[$pKey>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = ($31|0)>=($35|0); - if ($36) { - $37 = HEAP32[$zInput>>2]|0; - $38 = HEAP32[$pKey>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$pKey>>2]|0; - $41 = ((($40)) + 4|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = (_memcmp($37,$39,$43)|0); - $45 = (0)==($44|0); - if ($45) { - HEAP32[$nNear>>2] = 10; - $46 = HEAP32[$pKey>>2]|0; - $47 = ((($46)) + 4|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - HEAP32[$nKey>>2] = $49; - $50 = HEAP32[$pKey>>2]|0; - $51 = ((($50)) + 6|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = ($53|0)==(1); - L19: do { - if ($54) { - $55 = HEAP32[$zInput>>2]|0; - $56 = ((($55)) + 4|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57 << 24 >> 24; - $59 = ($58|0)==(47); - if ($59) { - $60 = HEAP32[$zInput>>2]|0; - $61 = ((($60)) + 5|0); - $62 = HEAP8[$61>>0]|0; - $63 = $62 << 24 >> 24; - $64 = ($63|0)>=(48); - if ($64) { - $65 = HEAP32[$zInput>>2]|0; - $66 = ((($65)) + 5|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67 << 24 >> 24; - $69 = ($68|0)<=(57); - if ($69) { - HEAP32[$nNear>>2] = 0; - HEAP32[$nKey>>2] = 5; - while(1) { - $70 = HEAP32[$nKey>>2]|0; - $71 = HEAP32[$zInput>>2]|0; - $72 = (($71) + ($70)|0); - $73 = HEAP8[$72>>0]|0; - $74 = $73 << 24 >> 24; - $75 = ($74|0)>=(48); - if (!($75)) { - break L19; - } - $76 = HEAP32[$nKey>>2]|0; - $77 = HEAP32[$zInput>>2]|0; - $78 = (($77) + ($76)|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79 << 24 >> 24; - $81 = ($80|0)<=(57); - if (!($81)) { - break L19; - } - $82 = HEAP32[$nNear>>2]|0; - $83 = ($82*10)|0; - $84 = HEAP32[$nKey>>2]|0; - $85 = HEAP32[$zInput>>2]|0; - $86 = (($85) + ($84)|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87 << 24 >> 24; - $89 = (($88) - 48)|0; - $90 = (($83) + ($89))|0; - HEAP32[$nNear>>2] = $90; - $91 = HEAP32[$nKey>>2]|0; - $92 = (($91) + 1)|0; - HEAP32[$nKey>>2] = $92; - } - } - } - } - } - } while(0); - $93 = HEAP32[$nKey>>2]|0; - $94 = HEAP32[$zInput>>2]|0; - $95 = (($94) + ($93)|0); - $96 = HEAP8[$95>>0]|0; - HEAP8[$cNext>>0] = $96; - $97 = HEAP8[$cNext>>0]|0; - $98 = (_fts3isspace($97)|0); - $99 = ($98|0)!=(0); - if ($99) { - label = 26; - break; - } - $100 = HEAP8[$cNext>>0]|0; - $101 = $100 << 24 >> 24; - $102 = ($101|0)==(34); - if ($102) { - label = 26; - break; - } - $103 = HEAP8[$cNext>>0]|0; - $104 = $103 << 24 >> 24; - $105 = ($104|0)==(40); - if ($105) { - label = 26; - break; - } - $106 = HEAP8[$cNext>>0]|0; - $107 = $106 << 24 >> 24; - $108 = ($107|0)==(41); - if ($108) { - label = 26; - break; - } - $109 = HEAP8[$cNext>>0]|0; - $110 = $109 << 24 >> 24; - $111 = ($110|0)==(0); - if ($111) { - label = 26; - break; - } - } - } - } - $133 = HEAP32[$ii>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[$ii>>2] = $134; - } - if ((label|0) == 26) { - $112 = (_fts3MallocZero(48)|0); - HEAP32[$pRet>>2] = $112; - $113 = HEAP32[$pRet>>2]|0; - $114 = ($113|0)!=(0|0); - if ($114) { - $115 = HEAP32[$pKey>>2]|0; - $116 = ((($115)) + 6|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = HEAP32[$pRet>>2]|0; - HEAP32[$119>>2] = $118; - $120 = HEAP32[$nNear>>2]|0; - $121 = HEAP32[$pRet>>2]|0; - $122 = ((($121)) + 4|0); - HEAP32[$122>>2] = $120; - $123 = HEAP32[$pRet>>2]|0; - $124 = HEAP32[$4>>2]|0; - HEAP32[$124>>2] = $123; - $125 = HEAP32[$zInput>>2]|0; - $126 = HEAP32[$2>>2]|0; - $127 = $125; - $128 = $126; - $129 = (($127) - ($128))|0; - $130 = HEAP32[$nKey>>2]|0; - $131 = (($129) + ($130))|0; - $132 = HEAP32[$5>>2]|0; - HEAP32[$132>>2] = $131; - HEAP32[$0>>2] = 0; - $271 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($271|0); - } else { - HEAP32[$0>>2] = 7; - $271 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($271|0); - } - } - $135 = HEAP32[$zInput>>2]|0; - $136 = HEAP8[$135>>0]|0; - $137 = $136 << 24 >> 24; - $138 = ($137|0)==(34); - if ($138) { - HEAP32[$ii>>2] = 1; - while(1) { - $139 = HEAP32[$ii>>2]|0; - $140 = HEAP32[$nInput>>2]|0; - $141 = ($139|0)<($140|0); - if (!($141)) { - break; - } - $142 = HEAP32[$ii>>2]|0; - $143 = HEAP32[$zInput>>2]|0; - $144 = (($143) + ($142)|0); - $145 = HEAP8[$144>>0]|0; - $146 = $145 << 24 >> 24; - $147 = ($146|0)!=(34); - if (!($147)) { - break; - } - $148 = HEAP32[$ii>>2]|0; - $149 = (($148) + 1)|0; - HEAP32[$ii>>2] = $149; - } - $150 = HEAP32[$zInput>>2]|0; - $151 = HEAP32[$2>>2]|0; - $152 = $150; - $153 = $151; - $154 = (($152) - ($153))|0; - $155 = HEAP32[$ii>>2]|0; - $156 = (($154) + ($155))|0; - $157 = (($156) + 1)|0; - $158 = HEAP32[$5>>2]|0; - HEAP32[$158>>2] = $157; - $159 = HEAP32[$ii>>2]|0; - $160 = HEAP32[$nInput>>2]|0; - $161 = ($159|0)==($160|0); - if ($161) { - HEAP32[$0>>2] = 1; - $271 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($271|0); - } else { - $162 = HEAP32[$1>>2]|0; - $163 = HEAP32[$zInput>>2]|0; - $164 = ((($163)) + 1|0); - $165 = HEAP32[$ii>>2]|0; - $166 = (($165) - 1)|0; - $167 = HEAP32[$4>>2]|0; - $168 = (_getNextString($162,$164,$166,$167)|0); - HEAP32[$0>>2] = $168; - $271 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($271|0); - } - } - $169 = HEAP32[$zInput>>2]|0; - $170 = HEAP8[$169>>0]|0; - $171 = $170 << 24 >> 24; - $172 = ($171|0)==(40); - if ($172) { - HEAP32[$nConsumed>>2] = 0; - $173 = HEAP32[$1>>2]|0; - $174 = ((($173)) + 32|0); - $175 = HEAP32[$174>>2]|0; - $176 = (($175) + 1)|0; - HEAP32[$174>>2] = $176; - $177 = HEAP32[$1>>2]|0; - $178 = HEAP32[$zInput>>2]|0; - $179 = ((($178)) + 1|0); - $180 = HEAP32[$nInput>>2]|0; - $181 = (($180) - 1)|0; - $182 = HEAP32[$4>>2]|0; - $183 = (_fts3ExprParse($177,$179,$181,$182,$nConsumed)|0); - HEAP32[$rc>>2] = $183; - $184 = HEAP32[$rc>>2]|0; - $185 = ($184|0)==(0); - if ($185) { - $186 = HEAP32[$4>>2]|0; - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)!=(0|0); - if (!($188)) { - HEAP32[$rc>>2] = 101; - } - } - $189 = HEAP32[$zInput>>2]|0; - $190 = HEAP32[$2>>2]|0; - $191 = $189; - $192 = $190; - $193 = (($191) - ($192))|0; - $194 = (($193) + 1)|0; - $195 = HEAP32[$nConsumed>>2]|0; - $196 = (($194) + ($195))|0; - $197 = HEAP32[$5>>2]|0; - HEAP32[$197>>2] = $196; - $198 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $198; - $271 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($271|0); - } - $199 = HEAP32[$zInput>>2]|0; - $200 = HEAP8[$199>>0]|0; - $201 = $200 << 24 >> 24; - $202 = ($201|0)==(41); - $203 = HEAP32[$1>>2]|0; - if ($202) { - $204 = ((($203)) + 32|0); - $205 = HEAP32[$204>>2]|0; - $206 = (($205) + -1)|0; - HEAP32[$204>>2] = $206; - $207 = HEAP32[$zInput>>2]|0; - $208 = HEAP32[$2>>2]|0; - $209 = $207; - $210 = $208; - $211 = (($209) - ($210))|0; - $212 = (($211) + 1)|0; - $213 = HEAP32[$5>>2]|0; - HEAP32[$213>>2] = $212; - $214 = HEAP32[$4>>2]|0; - HEAP32[$214>>2] = 0; - HEAP32[$0>>2] = 101; - $271 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($271|0); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 24|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = $10 & -9; + $12 = $11&65535; + HEAP16[$8>>1] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 32|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$2>>2] = $15; } - $215 = ((($203)) + 20|0); - $216 = HEAP32[$215>>2]|0; - HEAP32[$iCol>>2] = $216; - HEAP32[$iColLen>>2] = 0; - HEAP32[$ii>>2] = 0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$20>>2] = $18; + STACKTOP = sp;return; +} +function _pager_wait_on_lock($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, $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 + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; while(1) { - $217 = HEAP32[$ii>>2]|0; - $218 = HEAP32[$1>>2]|0; - $219 = ((($218)) + 16|0); - $220 = HEAP32[$219>>2]|0; - $221 = ($217|0)<($220|0); - if (!($221)) { + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_pagerLockDb($5,$6)|0); + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(5); + if (!($9)) { + label = 4; break; } - $222 = HEAP32[$ii>>2]|0; - $223 = HEAP32[$1>>2]|0; - $224 = ((($223)) + 8|0); - $225 = HEAP32[$224>>2]|0; - $226 = (($225) + ($222<<2)|0); - $227 = HEAP32[$226>>2]|0; - HEAP32[$zStr>>2] = $227; - $228 = HEAP32[$zStr>>2]|0; - $229 = (_strlen($228)|0); - HEAP32[$nStr>>2] = $229; - $230 = HEAP32[$nInput>>2]|0; - $231 = HEAP32[$nStr>>2]|0; - $232 = ($230|0)>($231|0); - if ($232) { - $233 = HEAP32[$nStr>>2]|0; - $234 = HEAP32[$zInput>>2]|0; - $235 = (($234) + ($233)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236 << 24 >> 24; - $238 = ($237|0)==(58); - if ($238) { - $239 = HEAP32[$zStr>>2]|0; - $240 = HEAP32[$zInput>>2]|0; - $241 = HEAP32[$nStr>>2]|0; - $242 = (_sqlite3_strnicmp($239,$240,$241)|0); - $243 = ($242|0)==(0); - if ($243) { - label = 50; - break; - } - } + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 184|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 188|0); + $15 = HEAP32[$14>>2]|0; + $16 = (FUNCTION_TABLE_ii[$12 & 255]($15)|0); + $17 = ($16|0)!=(0); + if (!($17)) { + label = 4; + break; } - $253 = HEAP32[$ii>>2]|0; - $254 = (($253) + 1)|0; - HEAP32[$ii>>2] = $254; } - if ((label|0) == 50) { - $244 = HEAP32[$ii>>2]|0; - HEAP32[$iCol>>2] = $244; - $245 = HEAP32[$zInput>>2]|0; - $246 = HEAP32[$2>>2]|0; - $247 = $245; - $248 = $246; - $249 = (($247) - ($248))|0; - $250 = HEAP32[$nStr>>2]|0; - $251 = (($249) + ($250))|0; - $252 = (($251) + 1)|0; - HEAP32[$iColLen>>2] = $252; - } - $255 = HEAP32[$1>>2]|0; - $256 = HEAP32[$iCol>>2]|0; - $257 = HEAP32[$iColLen>>2]|0; - $258 = HEAP32[$2>>2]|0; - $259 = (($258) + ($257)|0); - $260 = HEAP32[$3>>2]|0; - $261 = HEAP32[$iColLen>>2]|0; - $262 = (($260) - ($261))|0; - $263 = HEAP32[$4>>2]|0; - $264 = HEAP32[$5>>2]|0; - $265 = (_getNextToken($255,$256,$259,$262,$263,$264)|0); - HEAP32[$rc>>2] = $265; - $266 = HEAP32[$iColLen>>2]|0; - $267 = HEAP32[$5>>2]|0; - $268 = HEAP32[$267>>2]|0; - $269 = (($268) + ($266))|0; - HEAP32[$267>>2] = $269; - $270 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $270; - $271 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($271|0); -} -function _fts3MallocZero($nByte) { - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $pRet = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pRet = sp; - HEAP32[$0>>2] = $nByte; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_malloc($1)|0); - HEAP32[$pRet>>2] = $2; - $3 = HEAP32[$pRet>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $7 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($7|0); + if ((label|0) == 4) { + $18 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($18|0); } - $5 = HEAP32[$pRet>>2]|0; - $6 = HEAP32[$0>>2]|0; - _memset(($5|0),0,($6|0))|0; - $7 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($7|0); + return (0)|0; } -function _insertBinaryOperator($ppHead,$pPrev,$pNew) { - $ppHead = $ppHead|0; - $pPrev = $pPrev|0; - $pNew = $pNew|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $pSplit = 0, label = 0, sp = 0; +function _pagerLockDb($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pSplit = sp; - HEAP32[$0>>2] = $ppHead; - HEAP32[$1>>2] = $pPrev; - HEAP32[$2>>2] = $pNew; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pSplit>>2] = $3; - while(1) { - $4 = HEAP32[$pSplit>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$pSplit>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_opPrecedence($10)|0); - $12 = HEAP32[$2>>2]|0; - $13 = (_opPrecedence($12)|0); - $14 = ($11|0)<=($13|0); - $36 = $14; - } else { - $36 = 0; - } - $15 = HEAP32[$pSplit>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - if (!($36)) { - break; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 18|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = HEAP32[$3>>2]|0; + $10 = ($8|0)<($9|0); + if (!($10)) { + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 18|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(5); + if (!($15)) { + $40 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($40|0); } - HEAP32[$pSplit>>2] = $17; } - $18 = ($17|0)!=(0|0); - $19 = HEAP32[$2>>2]|0; - if ($18) { - $20 = HEAP32[$pSplit>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($22)) + 16|0); - HEAP32[$23>>2] = $19; - $24 = HEAP32[$pSplit>>2]|0; - $25 = ((($24)) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 8|0); - HEAP32[$28>>2] = $26; - $30 = HEAP32[$pSplit>>2]|0; - $31 = HEAP32[$2>>2]|0; - $32 = ((($31)) + 12|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$pSplit>>2]|0; - $35 = ((($34)) + 8|0); - HEAP32[$35>>2] = $33; - STACKTOP = sp;return; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 14|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)!=(0); + if ($20) { + $26 = 0; } else { - $29 = HEAP32[$0>>2]|0; - HEAP32[$29>>2] = $19; - $30 = HEAP32[$pSplit>>2]|0; - $31 = HEAP32[$2>>2]|0; - $32 = ((($31)) + 12|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$pSplit>>2]|0; - $35 = ((($34)) + 8|0); - HEAP32[$35>>2] = $33; - STACKTOP = sp;return; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 64|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = (_sqlite3OsLock($23,$24)|0); + $26 = $25; } + HEAP32[$4>>2] = $26; + $27 = HEAP32[$4>>2]|0; + $28 = ($27|0)==(0); + if (!($28)) { + $40 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($40|0); + } + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 18|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32|0)!=(5); + $34 = HEAP32[$3>>2]|0; + $35 = ($34|0)==(4); + $or$cond = $33 | $35; + if (!($or$cond)) { + $40 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($40|0); + } + $36 = HEAP32[$3>>2]|0; + $37 = $36&255; + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 18|0); + HEAP8[$39>>0] = $37; + $40 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($40|0); } -function _opPrecedence($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($2|0); -} -function _fts3isspace($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; +function _sqlite3WalFrames($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$sink4 = 0, $$sink5 = 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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $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; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; + var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; + var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0; + var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0; + var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $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 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP8[$0>>0] = $c; - $1 = HEAP8[$0>>0]|0; - $2 = $1 << 24 >> 24; - $3 = ($2|0)==(32); - if ($3) { - $20 = 1; - } else { - $4 = HEAP8[$0>>0]|0; - $5 = $4 << 24 >> 24; - $6 = ($5|0)==(9); - if ($6) { - $20 = 1; - } else { - $7 = HEAP8[$0>>0]|0; - $8 = $7 << 24 >> 24; - $9 = ($8|0)==(10); - if ($9) { - $20 = 1; - } else { - $10 = HEAP8[$0>>0]|0; - $11 = $10 << 24 >> 24; - $12 = ($11|0)==(13); - if ($12) { - $20 = 1; - } else { - $13 = HEAP8[$0>>0]|0; - $14 = $13 << 24 >> 24; - $15 = ($14|0)==(11); - if ($15) { - $20 = 1; - } else { - $16 = HEAP8[$0>>0]|0; - $17 = $16 << 24 >> 24; - $18 = ($17|0)==(12); - $20 = $18; - } - } + STACKTOP = STACKTOP + 176|0; + $6 = sp + 136|0; + $7 = sp + 132|0; + $8 = sp + 128|0; + $9 = sp + 124|0; + $10 = sp + 120|0; + $11 = sp + 116|0; + $12 = sp + 112|0; + $13 = sp + 108|0; + $14 = sp + 104|0; + $15 = sp + 100|0; + $16 = sp + 96|0; + $17 = sp + 92|0; + $18 = sp + 88|0; + $19 = sp + 40|0; + $20 = sp + 16|0; + $21 = sp + 84|0; + $22 = sp + 80|0; + $23 = sp + 144|0; + $24 = sp + 72|0; + $25 = sp + 64|0; + $26 = sp + 60|0; + $27 = sp + 8|0; + $28 = sp + 56|0; + $29 = sp + 52|0; + $30 = sp + 48|0; + $31 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + HEAP32[$21>>2] = 0; + $32 = HEAP32[$7>>2]|0; + $33 = (_walIndexHdr($32)|0); + HEAP32[$22>>2] = $33; + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 52|0); + $36 = HEAP32[$22>>2]|0; + $37 = (_memcmp($35,$36,48)|0); + $38 = ($37|0)!=(0); + if ($38) { + $39 = HEAP32[$22>>2]|0; + $40 = ((($39)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$21>>2] = $42; + } + $43 = HEAP32[$7>>2]|0; + $44 = (_walRestartLog($43)|0); + HEAP32[$13>>2] = $44; + $45 = (0)!=($44|0); + if ($45) { + $46 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $46; + $557 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($557|0); + } + $47 = HEAP32[$7>>2]|0; + $48 = ((($47)) + 52|0); + $49 = ((($48)) + 16|0); + $50 = HEAP32[$49>>2]|0; + HEAP32[$14>>2] = $50; + $51 = HEAP32[$14>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP8[936]|0; + $54 = $53 << 24 >> 24; + $55 = ($54|0)==(0); + $56 = $55&1; + $57 = 931071618 | $56; + _sqlite3Put4byte($23,$57); + $58 = ((($23)) + 4|0); + _sqlite3Put4byte($58,3007000); + $59 = ((($23)) + 8|0); + $60 = HEAP32[$8>>2]|0; + _sqlite3Put4byte($59,$60); + $61 = ((($23)) + 12|0); + $62 = HEAP32[$7>>2]|0; + $63 = ((($62)) + 112|0); + $64 = HEAP32[$63>>2]|0; + _sqlite3Put4byte($61,$64); + $65 = HEAP32[$7>>2]|0; + $66 = ((($65)) + 112|0); + $67 = HEAP32[$66>>2]|0; + $68 = ($67|0)==(0); + if ($68) { + $69 = HEAP32[$7>>2]|0; + $70 = ((($69)) + 52|0); + $71 = ((($70)) + 32|0); + _sqlite3_randomness(8,$71); + } + $72 = ((($23)) + 16|0); + $73 = HEAP32[$7>>2]|0; + $74 = ((($73)) + 52|0); + $75 = ((($74)) + 32|0); + ;HEAP8[$72>>0]=HEAP8[$75>>0]|0;HEAP8[$72+1>>0]=HEAP8[$75+1>>0]|0;HEAP8[$72+2>>0]=HEAP8[$75+2>>0]|0;HEAP8[$72+3>>0]=HEAP8[$75+3>>0]|0;HEAP8[$72+4>>0]=HEAP8[$75+4>>0]|0;HEAP8[$72+5>>0]=HEAP8[$75+5>>0]|0;HEAP8[$72+6>>0]=HEAP8[$75+6>>0]|0;HEAP8[$72+7>>0]=HEAP8[$75+7>>0]|0; + _walChecksumBytes(1,$23,24,0,$24); + $76 = ((($23)) + 24|0); + $77 = HEAP32[$24>>2]|0; + _sqlite3Put4byte($76,$77); + $78 = ((($23)) + 28|0); + $79 = ((($24)) + 4|0); + $80 = HEAP32[$79>>2]|0; + _sqlite3Put4byte($78,$80); + $81 = HEAP32[$8>>2]|0; + $82 = HEAP32[$7>>2]|0; + $83 = ((($82)) + 36|0); + HEAP32[$83>>2] = $81; + $84 = HEAP8[936]|0; + $85 = $84 << 24 >> 24; + $86 = ($85|0)==(0); + $87 = $86&1; + $88 = $87&255; + $89 = HEAP32[$7>>2]|0; + $90 = ((($89)) + 52|0); + $91 = ((($90)) + 13|0); + HEAP8[$91>>0] = $88; + $92 = HEAP32[$24>>2]|0; + $93 = HEAP32[$7>>2]|0; + $94 = ((($93)) + 52|0); + $95 = ((($94)) + 24|0); + HEAP32[$95>>2] = $92; + $96 = ((($24)) + 4|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$7>>2]|0; + $99 = ((($98)) + 52|0); + $100 = ((($99)) + 24|0); + $101 = ((($100)) + 4|0); + HEAP32[$101>>2] = $97; + $102 = HEAP32[$7>>2]|0; + $103 = ((($102)) + 47|0); + HEAP8[$103>>0] = 1; + $104 = HEAP32[$7>>2]|0; + $105 = ((($104)) + 8|0); + $106 = HEAP32[$105>>2]|0; + $107 = (_sqlite3OsWrite($106,$23,32,0,0)|0); + HEAP32[$13>>2] = $107; + $108 = HEAP32[$13>>2]|0; + $109 = ($108|0)!=(0); + if ($109) { + $110 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $110; + $557 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($557|0); + } + $111 = HEAP32[$7>>2]|0; + $112 = ((($111)) + 48|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $115 = ($114|0)!=(0); + $116 = HEAP32[$12>>2]|0; + $117 = ($116|0)!=(0); + $or$cond = $115 & $117; + if ($or$cond) { + $118 = HEAP32[$7>>2]|0; + $119 = ((($118)) + 8|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$12>>2]|0; + $122 = $121 & 19; + $123 = (_sqlite3OsSync($120,$122)|0); + HEAP32[$13>>2] = $123; + $124 = HEAP32[$13>>2]|0; + $125 = ($124|0)!=(0); + if ($125) { + $126 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $126; + $557 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($557|0); } } } - $19 = $20&1; - STACKTOP = sp;return ($19|0); -} -function _getNextString($pParse,$zInput,$nInput,$ppExpr) { - $pParse = $pParse|0; - $zInput = $zInput|0; - $nInput = $nInput|0; - $ppExpr = $ppExpr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $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, $iBegin = 0; - var $iEnd = 0, $iPos = 0, $ii = 0, $jj = 0, $nByte = 0, $nSpace = 0, $nTemp = 0, $nToken = 0, $p = 0, $pCursor = 0, $pModule = 0, $pToken = 0, $pTokenizer = 0, $rc = 0, $zBuf = 0, $zByte = 0, $zTemp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 88|0; - $1 = sp + 84|0; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $pTokenizer = sp + 68|0; - $pModule = sp + 64|0; - $rc = sp + 60|0; - $p = sp + 56|0; - $pCursor = sp + 52|0; - $zTemp = sp + 48|0; - $nTemp = sp + 44|0; - $nSpace = sp + 40|0; - $nToken = sp + 36|0; - $ii = sp + 32|0; - $zByte = sp + 28|0; - $nByte = sp + 24|0; - $iBegin = sp + 20|0; - $iEnd = sp + 16|0; - $iPos = sp + 12|0; - $pToken = sp + 8|0; - $jj = sp + 4|0; - $zBuf = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $zInput; - HEAP32[$3>>2] = $nInput; - HEAP32[$4>>2] = $ppExpr; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$pTokenizer>>2] = $6; - $7 = HEAP32[$pTokenizer>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$pModule>>2] = $8; - HEAP32[$p>>2] = 0; - HEAP32[$pCursor>>2] = 0; - HEAP32[$zTemp>>2] = 0; - HEAP32[$nTemp>>2] = 0; - HEAP32[$nSpace>>2] = 144; - HEAP32[$nToken>>2] = 0; - $9 = HEAP32[$pTokenizer>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$3>>2]|0; - $15 = (_sqlite3Fts3OpenTokenizer($9,$12,$13,$14,$pCursor)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - L1: do { - if ($17) { - HEAP32[$ii>>2] = 0; - while(1) { - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - break; - } - HEAP32[$nByte>>2] = 0; - HEAP32[$iBegin>>2] = 0; - HEAP32[$iEnd>>2] = 0; - HEAP32[$iPos>>2] = 0; - $20 = HEAP32[$pModule>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$pCursor>>2]|0; - $24 = (FUNCTION_TABLE_iiiiiii[$22 & 255]($23,$zByte,$nByte,$iBegin,$iEnd,$iPos)|0); - HEAP32[$rc>>2] = $24; - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)==(0); - if ($26) { - $27 = HEAP32[$p>>2]|0; - $28 = HEAP32[$ii>>2]|0; - $29 = ($28*24)|0; - $30 = (144 + ($29))|0; - $31 = (_fts3ReallocOrFree($27,$30)|0); - HEAP32[$p>>2] = $31; - $32 = HEAP32[$p>>2]|0; - $33 = ($32|0)!=(0|0); - if (!($33)) { - break L1; - } - $34 = HEAP32[$zTemp>>2]|0; - $35 = HEAP32[$nTemp>>2]|0; - $36 = HEAP32[$nByte>>2]|0; - $37 = (($35) + ($36))|0; - $38 = (_fts3ReallocOrFree($34,$37)|0); - HEAP32[$zTemp>>2] = $38; - $39 = HEAP32[$zTemp>>2]|0; - $40 = ($39|0)!=(0|0); - if (!($40)) { - break L1; - } - $41 = HEAP32[$ii>>2]|0; - $42 = HEAP32[$p>>2]|0; - $43 = ((($42)) + 48|0); - $44 = ((($43)) + 72|0); - $45 = (($44) + (($41*24)|0)|0); - HEAP32[$pToken>>2] = $45; - $46 = HEAP32[$pToken>>2]|0; - ;HEAP32[$46>>2]=0|0;HEAP32[$46+4>>2]=0|0;HEAP32[$46+8>>2]=0|0;HEAP32[$46+12>>2]=0|0;HEAP32[$46+16>>2]=0|0;HEAP32[$46+20>>2]=0|0; - $47 = HEAP32[$nTemp>>2]|0; - $48 = HEAP32[$zTemp>>2]|0; - $49 = (($48) + ($47)|0); - $50 = HEAP32[$zByte>>2]|0; - $51 = HEAP32[$nByte>>2]|0; - _memcpy(($49|0),($50|0),($51|0))|0; - $52 = HEAP32[$nByte>>2]|0; - $53 = HEAP32[$nTemp>>2]|0; - $54 = (($53) + ($52))|0; - HEAP32[$nTemp>>2] = $54; - $55 = HEAP32[$nByte>>2]|0; - $56 = HEAP32[$pToken>>2]|0; - $57 = ((($56)) + 4|0); - HEAP32[$57>>2] = $55; - $58 = HEAP32[$iEnd>>2]|0; - $59 = HEAP32[$3>>2]|0; - $60 = ($58|0)<($59|0); - if ($60) { - $61 = HEAP32[$iEnd>>2]|0; - $62 = HEAP32[$2>>2]|0; - $63 = (($62) + ($61)|0); - $64 = HEAP8[$63>>0]|0; - $65 = $64 << 24 >> 24; - $66 = ($65|0)==(42); - $68 = $66; + $127 = HEAP32[$7>>2]|0; + HEAP32[$20>>2] = $127; + $128 = HEAP32[$7>>2]|0; + $129 = ((($128)) + 8|0); + $130 = HEAP32[$129>>2]|0; + $131 = ((($20)) + 4|0); + HEAP32[$131>>2] = $130; + $132 = ((($20)) + 8|0); + $133 = $132; + $134 = $133; + HEAP32[$134>>2] = 0; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = 0; + $137 = HEAP32[$12>>2]|0; + $138 = ((($20)) + 16|0); + HEAP32[$138>>2] = $137; + $139 = HEAP32[$8>>2]|0; + $140 = ((($20)) + 20|0); + HEAP32[$140>>2] = $139; + $141 = HEAP32[$14>>2]|0; + $142 = (($141) + 1)|0; + $143 = (($142) - 1)|0; + $144 = HEAP32[$8>>2]|0; + $145 = (($144) + 24)|0; + $146 = ($145|0)<(0); + $147 = $146 << 31 >> 31; + $148 = (___muldi3(($143|0),0,($145|0),($147|0))|0); + $149 = tempRet0; + $150 = (_i64Add(32,0,($148|0),($149|0))|0); + $151 = tempRet0; + $152 = $19; + $153 = $152; + HEAP32[$153>>2] = $150; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + $156 = HEAP32[$8>>2]|0; + $157 = (($156) + 24)|0; + HEAP32[$18>>2] = $157; + $158 = HEAP32[$9>>2]|0; + HEAP32[$15>>2] = $158; + while(1) { + $159 = HEAP32[$15>>2]|0; + $160 = ($159|0)!=(0|0); + if (!($160)) { + label = 30; + break; + } + $161 = HEAP32[$21>>2]|0; + $162 = ($161|0)!=(0); + if ($162) { + $163 = HEAP32[$15>>2]|0; + $164 = ((($163)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)!=(0|0); + $167 = HEAP32[$11>>2]|0; + $168 = ($167|0)==(0); + $or$cond3 = $166 | $168; + if ($or$cond3) { + HEAP32[$26>>2] = 0; + $169 = HEAP32[$7>>2]|0; + $170 = HEAP32[$15>>2]|0; + $171 = ((($170)) + 20|0); + $172 = HEAP32[$171>>2]|0; + (_sqlite3WalFindFrame($169,$172,$26)|0); + $173 = HEAP32[$26>>2]|0; + $174 = HEAP32[$21>>2]|0; + $175 = ($173>>>0)>=($174>>>0); + if ($175) { + $176 = HEAP32[$26>>2]|0; + $177 = (($176) - 1)|0; + $178 = HEAP32[$8>>2]|0; + $179 = (($178) + 24)|0; + $180 = ($179|0)<(0); + $181 = $180 << 31 >> 31; + $182 = (___muldi3(($177|0),0,($179|0),($181|0))|0); + $183 = tempRet0; + $184 = (_i64Add(32,0,($182|0),($183|0))|0); + $185 = tempRet0; + $186 = (_i64Add(($184|0),($185|0),24,0)|0); + $187 = tempRet0; + $188 = $27; + $189 = $188; + HEAP32[$189>>2] = $186; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $187; + $192 = HEAP32[$7>>2]|0; + $193 = ((($192)) + 104|0); + $194 = HEAP32[$193>>2]|0; + $195 = ($194|0)==(0); + if ($195) { + label = 20; } else { - $68 = 0; + $196 = HEAP32[$26>>2]|0; + $197 = HEAP32[$7>>2]|0; + $198 = ((($197)) + 104|0); + $199 = HEAP32[$198>>2]|0; + $200 = ($196>>>0)<($199>>>0); + if ($200) { + label = 20; + } } - $67 = $68&1; - $69 = HEAP32[$pToken>>2]|0; - $70 = ((($69)) + 8|0); - HEAP32[$70>>2] = $67; - $71 = HEAP32[$iBegin>>2]|0; - $72 = ($71|0)>(0); - if ($72) { - $73 = HEAP32[$iBegin>>2]|0; - $74 = (($73) - 1)|0; - $75 = HEAP32[$2>>2]|0; - $76 = (($75) + ($74)|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77 << 24 >> 24; - $79 = ($78|0)==(94); - $81 = $79; - } else { - $81 = 0; + if ((label|0) == 20) { + label = 0; + $201 = HEAP32[$26>>2]|0; + $202 = HEAP32[$7>>2]|0; + $203 = ((($202)) + 104|0); + HEAP32[$203>>2] = $201; } - $80 = $81&1; - $82 = HEAP32[$pToken>>2]|0; - $83 = ((($82)) + 12|0); - HEAP32[$83>>2] = $80; - $84 = HEAP32[$ii>>2]|0; - $85 = (($84) + 1)|0; - HEAP32[$nToken>>2] = $85; + $204 = HEAP32[$15>>2]|0; + $205 = ((($204)) + 4|0); + $206 = HEAP32[$205>>2]|0; + HEAP32[$28>>2] = $206; + $207 = HEAP32[$7>>2]|0; + $208 = ((($207)) + 8|0); + $209 = HEAP32[$208>>2]|0; + $210 = HEAP32[$28>>2]|0; + $211 = HEAP32[$8>>2]|0; + $212 = $27; + $213 = $212; + $214 = HEAP32[$213>>2]|0; + $215 = (($212) + 4)|0; + $216 = $215; + $217 = HEAP32[$216>>2]|0; + $218 = (_sqlite3OsWrite($209,$210,$211,$214,$217)|0); + HEAP32[$13>>2] = $218; + $219 = HEAP32[$13>>2]|0; + $220 = ($219|0)!=(0); + if ($220) { + label = 22; + break; + } + $222 = HEAP32[$15>>2]|0; + $223 = ((($222)) + 24|0); + $224 = HEAP16[$223>>1]|0; + $225 = $224&65535; + $226 = $225 & -65; + $$sink4 = $223;$$sink5 = $226; + } else { + label = 24; } - $86 = HEAP32[$ii>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[$ii>>2] = $87; + } else { + label = 24; } - $88 = HEAP32[$pModule>>2]|0; - $89 = ((($88)) + 16|0); - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$pCursor>>2]|0; - (FUNCTION_TABLE_ii[$90 & 255]($91)|0); - HEAP32[$pCursor>>2] = 0; - label = 14; } else { - label = 14; - } - } while(0); - do { - if ((label|0) == 14) { - $92 = HEAP32[$rc>>2]|0; - $93 = ($92|0)==(101); - if ($93) { - HEAP32[$zBuf>>2] = 0; - $94 = HEAP32[$p>>2]|0; - $95 = HEAP32[$nToken>>2]|0; - $96 = ($95*24)|0; - $97 = (144 + ($96))|0; - $98 = HEAP32[$nTemp>>2]|0; - $99 = (($97) + ($98))|0; - $100 = (_fts3ReallocOrFree($94,$99)|0); - HEAP32[$p>>2] = $100; - $101 = HEAP32[$p>>2]|0; - $102 = ($101|0)!=(0|0); - if (!($102)) { - break; - } - $103 = HEAP32[$p>>2]|0; - $104 = HEAP32[$p>>2]|0; - $105 = ((($104)) + 48|0); - $106 = ((($105)) + 72|0); - $107 = HEAP32[$p>>2]|0; - $108 = $106; - $109 = $107; - $110 = (($108) - ($109))|0; - _memset(($103|0),0,($110|0))|0; - $111 = HEAP32[$p>>2]|0; - HEAP32[$111>>2] = 5; - $112 = HEAP32[$p>>2]|0; - $113 = ((($112)) + 48|0); - $114 = HEAP32[$p>>2]|0; - $115 = ((($114)) + 20|0); - HEAP32[$115>>2] = $113; - $116 = HEAP32[$1>>2]|0; - $117 = ((($116)) + 20|0); - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$p>>2]|0; - $120 = ((($119)) + 20|0); - $121 = HEAP32[$120>>2]|0; - $122 = ((($121)) + 68|0); - HEAP32[$122>>2] = $118; - $123 = HEAP32[$nToken>>2]|0; - $124 = HEAP32[$p>>2]|0; - $125 = ((($124)) + 20|0); - $126 = HEAP32[$125>>2]|0; - $127 = ((($126)) + 64|0); - HEAP32[$127>>2] = $123; - $128 = HEAP32[$nToken>>2]|0; - $129 = HEAP32[$p>>2]|0; - $130 = ((($129)) + 20|0); - $131 = HEAP32[$130>>2]|0; - $132 = ((($131)) + 72|0); - $133 = (($132) + (($128*24)|0)|0); - HEAP32[$zBuf>>2] = $133; - $134 = HEAP32[$zTemp>>2]|0; - $135 = ($134|0)!=(0|0); - if ($135) { - $136 = HEAP32[$zBuf>>2]|0; - $137 = HEAP32[$zTemp>>2]|0; - $138 = HEAP32[$nTemp>>2]|0; - _memcpy(($136|0),($137|0),($138|0))|0; - $139 = HEAP32[$zTemp>>2]|0; - _sqlite3_free($139); - } - HEAP32[$jj>>2] = 0; - while(1) { - $140 = HEAP32[$jj>>2]|0; - $141 = HEAP32[$p>>2]|0; - $142 = ((($141)) + 20|0); - $143 = HEAP32[$142>>2]|0; - $144 = ((($143)) + 64|0); - $145 = HEAP32[$144>>2]|0; - $146 = ($140|0)<($145|0); - if (!($146)) { - break; - } - $147 = HEAP32[$zBuf>>2]|0; - $148 = HEAP32[$jj>>2]|0; - $149 = HEAP32[$p>>2]|0; - $150 = ((($149)) + 20|0); - $151 = HEAP32[$150>>2]|0; - $152 = ((($151)) + 72|0); - $153 = (($152) + (($148*24)|0)|0); - HEAP32[$153>>2] = $147; - $154 = HEAP32[$jj>>2]|0; - $155 = HEAP32[$p>>2]|0; - $156 = ((($155)) + 20|0); - $157 = HEAP32[$156>>2]|0; - $158 = ((($157)) + 72|0); - $159 = (($158) + (($154*24)|0)|0); - $160 = ((($159)) + 4|0); - $161 = HEAP32[$160>>2]|0; - $162 = HEAP32[$zBuf>>2]|0; - $163 = (($162) + ($161)|0); - HEAP32[$zBuf>>2] = $163; - $164 = HEAP32[$jj>>2]|0; - $165 = (($164) + 1)|0; - HEAP32[$jj>>2] = $165; - } - HEAP32[$rc>>2] = 0; - } - $166 = HEAP32[$p>>2]|0; - $167 = HEAP32[$4>>2]|0; - HEAP32[$167>>2] = $166; - $168 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $168; - $178 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($178|0); - } - } while(0); - $169 = HEAP32[$pCursor>>2]|0; - $170 = ($169|0)!=(0|0); - if ($170) { - $171 = HEAP32[$pModule>>2]|0; - $172 = ((($171)) + 16|0); - $173 = HEAP32[$172>>2]|0; - $174 = HEAP32[$pCursor>>2]|0; - (FUNCTION_TABLE_ii[$173 & 255]($174)|0); - } - $175 = HEAP32[$zTemp>>2]|0; - _sqlite3_free($175); - $176 = HEAP32[$p>>2]|0; - _sqlite3_free($176); - $177 = HEAP32[$4>>2]|0; - HEAP32[$177>>2] = 0; - HEAP32[$0>>2] = 7; - $178 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($178|0); -} -function _getNextToken($pParse,$iCol,$z,$n,$ppExpr,$pnConsumed) { - $pParse = $pParse|0; - $iCol = $iCol|0; - $z = $z|0; - $n = $n|0; - $ppExpr = $ppExpr|0; - $pnConsumed = $pnConsumed|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $i = 0, $iEnd = 0, $iPosition = 0, $iStart = 0, $nByte = 0, $nToken = 0, $or$cond = 0, $or$cond3 = 0, $pCursor = 0, $pModule = 0, $pRet = 0, $pTokenizer = 0, $rc = 0, $zToken = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $3 = sp + 56|0; - $4 = sp + 52|0; - $5 = sp + 48|0; - $pTokenizer = sp + 44|0; - $pModule = sp + 40|0; - $rc = sp + 36|0; - $pCursor = sp + 32|0; - $pRet = sp + 28|0; - $i = sp + 24|0; - $zToken = sp + 20|0; - $nToken = sp + 16|0; - $iStart = sp + 12|0; - $iEnd = sp + 8|0; - $iPosition = sp + 4|0; - $nByte = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iCol; - HEAP32[$2>>2] = $z; - HEAP32[$3>>2] = $n; - HEAP32[$4>>2] = $ppExpr; - HEAP32[$5>>2] = $pnConsumed; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$pTokenizer>>2] = $7; - $8 = HEAP32[$pTokenizer>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$pModule>>2] = $9; - HEAP32[$pRet>>2] = 0; - HEAP32[$i>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = ($10|0)<($11|0); - if (!($12)) { - break; - } - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (($14) + ($13)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16 << 24 >> 24; - $18 = ($17|0)==(40); - if ($18) { - break; - } - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = (($20) + ($19)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22 << 24 >> 24; - $24 = ($23|0)==(41); - if ($24) { - break; + label = 24; } - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = (($26) + ($25)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28 << 24 >> 24; - $30 = ($29|0)==(34); - if ($30) { - break; + if ((label|0) == 24) { + label = 0; + $227 = HEAP32[$14>>2]|0; + $228 = (($227) + 1)|0; + HEAP32[$14>>2] = $228; + $229 = HEAP32[$11>>2]|0; + $230 = ($229|0)!=(0); + if ($230) { + $231 = HEAP32[$15>>2]|0; + $232 = ((($231)) + 12|0); + $233 = HEAP32[$232>>2]|0; + $234 = ($233|0)==(0|0); + $235 = HEAP32[$10>>2]|0; + $$ = $234 ? $235 : 0; + $236 = $$; + } else { + $236 = 0; + } + HEAP32[$25>>2] = $236; + $237 = HEAP32[$15>>2]|0; + $238 = HEAP32[$25>>2]|0; + $239 = $19; + $240 = $239; + $241 = HEAP32[$240>>2]|0; + $242 = (($239) + 4)|0; + $243 = $242; + $244 = HEAP32[$243>>2]|0; + $245 = (_walWriteOneFrame($20,$237,$238,$241,$244)|0); + HEAP32[$13>>2] = $245; + $246 = HEAP32[$13>>2]|0; + $247 = ($246|0)!=(0); + if ($247) { + label = 27; + break; + } + $249 = HEAP32[$15>>2]|0; + HEAP32[$16>>2] = $249; + $250 = HEAP32[$18>>2]|0; + $251 = ($250|0)<(0); + $252 = $251 << 31 >> 31; + $253 = $19; + $254 = $253; + $255 = HEAP32[$254>>2]|0; + $256 = (($253) + 4)|0; + $257 = $256; + $258 = HEAP32[$257>>2]|0; + $259 = (_i64Add(($255|0),($258|0),($250|0),($252|0))|0); + $260 = tempRet0; + $261 = $19; + $262 = $261; + HEAP32[$262>>2] = $259; + $263 = (($261) + 4)|0; + $264 = $263; + HEAP32[$264>>2] = $260; + $265 = HEAP32[$15>>2]|0; + $266 = ((($265)) + 24|0); + $267 = HEAP16[$266>>1]|0; + $268 = $267&65535; + $269 = $268 | 64; + $$sink4 = $266;$$sink5 = $269; } - $31 = HEAP32[$i>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$i>>2] = $32; + $270 = $$sink5&65535; + HEAP16[$$sink4>>1] = $270; + $271 = HEAP32[$15>>2]|0; + $272 = ((($271)) + 12|0); + $273 = HEAP32[$272>>2]|0; + HEAP32[$15>>2] = $273; } - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$5>>2]|0; - HEAP32[$34>>2] = $33; - $35 = HEAP32[$pTokenizer>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 4|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = HEAP32[$i>>2]|0; - $41 = (_sqlite3Fts3OpenTokenizer($35,$38,$39,$40,$pCursor)|0); - HEAP32[$rc>>2] = $41; - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)==(0); - if (!($43)) { - $138 = HEAP32[$pRet>>2]|0; - $139 = HEAP32[$4>>2]|0; - HEAP32[$139>>2] = $138; - $140 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($140|0); + if ((label|0) == 22) { + $221 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $221; + $557 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($557|0); } - HEAP32[$nToken>>2] = 0; - HEAP32[$iStart>>2] = 0; - HEAP32[$iEnd>>2] = 0; - HEAP32[$iPosition>>2] = 0; - $44 = HEAP32[$pModule>>2]|0; - $45 = ((($44)) + 20|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$pCursor>>2]|0; - $48 = (FUNCTION_TABLE_iiiiiii[$46 & 255]($47,$zToken,$nToken,$iStart,$iEnd,$iPosition)|0); - HEAP32[$rc>>2] = $48; - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP32[$nToken>>2]|0; - $52 = (144 + ($51))|0; - HEAP32[$nByte>>2] = $52; - $53 = HEAP32[$nByte>>2]|0; - $54 = (_fts3MallocZero($53)|0); - HEAP32[$pRet>>2] = $54; - $55 = HEAP32[$pRet>>2]|0; - $56 = ($55|0)!=(0|0); - L13: do { - if ($56) { - $57 = HEAP32[$pRet>>2]|0; - HEAP32[$57>>2] = 5; - $58 = HEAP32[$pRet>>2]|0; - $59 = ((($58)) + 48|0); - $60 = HEAP32[$pRet>>2]|0; - $61 = ((($60)) + 20|0); - HEAP32[$61>>2] = $59; - $62 = HEAP32[$pRet>>2]|0; - $63 = ((($62)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ((($64)) + 64|0); - HEAP32[$65>>2] = 1; - $66 = HEAP32[$1>>2]|0; - $67 = HEAP32[$pRet>>2]|0; - $68 = ((($67)) + 20|0); - $69 = HEAP32[$68>>2]|0; - $70 = ((($69)) + 68|0); - HEAP32[$70>>2] = $66; - $71 = HEAP32[$nToken>>2]|0; - $72 = HEAP32[$pRet>>2]|0; - $73 = ((($72)) + 20|0); - $74 = HEAP32[$73>>2]|0; - $75 = ((($74)) + 72|0); - $76 = ((($75)) + 4|0); - HEAP32[$76>>2] = $71; - $77 = HEAP32[$pRet>>2]|0; - $78 = ((($77)) + 20|0); - $79 = HEAP32[$78>>2]|0; - $80 = ((($79)) + 96|0); - $81 = HEAP32[$pRet>>2]|0; - $82 = ((($81)) + 20|0); - $83 = HEAP32[$82>>2]|0; - $84 = ((($83)) + 72|0); - HEAP32[$84>>2] = $80; - $85 = HEAP32[$pRet>>2]|0; - $86 = ((($85)) + 20|0); - $87 = HEAP32[$86>>2]|0; - $88 = ((($87)) + 72|0); - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$zToken>>2]|0; - $91 = HEAP32[$nToken>>2]|0; - _memcpy(($89|0),($90|0),($91|0))|0; - $92 = HEAP32[$iEnd>>2]|0; - $93 = HEAP32[$3>>2]|0; - $94 = ($92|0)<($93|0); - if ($94) { - $95 = HEAP32[$iEnd>>2]|0; - $96 = HEAP32[$2>>2]|0; - $97 = (($96) + ($95)|0); - $98 = HEAP8[$97>>0]|0; - $99 = $98 << 24 >> 24; - $100 = ($99|0)==(42); - if ($100) { - $101 = HEAP32[$pRet>>2]|0; - $102 = ((($101)) + 20|0); - $103 = HEAP32[$102>>2]|0; - $104 = ((($103)) + 72|0); - $105 = ((($104)) + 8|0); - HEAP32[$105>>2] = 1; - $106 = HEAP32[$iEnd>>2]|0; - $107 = (($106) + 1)|0; - HEAP32[$iEnd>>2] = $107; + else if ((label|0) == 27) { + $248 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $248; + $557 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($557|0); + } + else if ((label|0) == 30) { + $274 = HEAP32[$11>>2]|0; + $275 = ($274|0)!=(0); + if ($275) { + $276 = HEAP32[$7>>2]|0; + $277 = ((($276)) + 104|0); + $278 = HEAP32[$277>>2]|0; + $279 = ($278|0)!=(0); + if ($279) { + $280 = HEAP32[$7>>2]|0; + $281 = HEAP32[$14>>2]|0; + $282 = (_walRewriteChecksums($280,$281)|0); + HEAP32[$13>>2] = $282; + $283 = HEAP32[$13>>2]|0; + $284 = ($283|0)!=(0); + if ($284) { + $285 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $285; + $557 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($557|0); + } + } + } + $286 = HEAP32[$11>>2]|0; + $287 = ($286|0)!=(0); + if ($287) { + $288 = HEAP32[$12>>2]|0; + $289 = $288 & 32; + $290 = ($289|0)!=(0); + if ($290) { + HEAP32[$29>>2] = 1; + $291 = HEAP32[$7>>2]|0; + $292 = ((($291)) + 49|0); + $293 = HEAP8[$292>>0]|0; + $294 = ($293<<24>>24)!=(0); + L52: do { + if ($294) { + $295 = HEAP32[$7>>2]|0; + $296 = ((($295)) + 8|0); + $297 = HEAP32[$296>>2]|0; + $298 = (_sqlite3SectorSize($297)|0); + HEAP32[$30>>2] = $298; + $299 = $19; + $300 = $299; + $301 = HEAP32[$300>>2]|0; + $302 = (($299) + 4)|0; + $303 = $302; + $304 = HEAP32[$303>>2]|0; + $305 = HEAP32[$30>>2]|0; + $306 = ($305|0)<(0); + $307 = $306 << 31 >> 31; + $308 = (_i64Add(($301|0),($304|0),($305|0),($307|0))|0); + $309 = tempRet0; + $310 = (_i64Subtract(($308|0),($309|0),1,0)|0); + $311 = tempRet0; + $312 = HEAP32[$30>>2]|0; + $313 = ($312|0)<(0); + $314 = $313 << 31 >> 31; + $315 = (___divdi3(($310|0),($311|0),($312|0),($314|0))|0); + $316 = tempRet0; + $317 = HEAP32[$30>>2]|0; + $318 = ($317|0)<(0); + $319 = $318 << 31 >> 31; + $320 = (___muldi3(($315|0),($316|0),($317|0),($319|0))|0); + $321 = tempRet0; + $322 = ((($20)) + 8|0); + $323 = $322; + $324 = $323; + HEAP32[$324>>2] = $320; + $325 = (($323) + 4)|0; + $326 = $325; + HEAP32[$326>>2] = $321; + $327 = ((($20)) + 8|0); + $328 = $327; + $329 = $328; + $330 = HEAP32[$329>>2]|0; + $331 = (($328) + 4)|0; + $332 = $331; + $333 = HEAP32[$332>>2]|0; + $334 = $19; + $335 = $334; + $336 = HEAP32[$335>>2]|0; + $337 = (($334) + 4)|0; + $338 = $337; + $339 = HEAP32[$338>>2]|0; + $340 = ($330|0)==($336|0); + $341 = ($333|0)==($339|0); + $342 = $340 & $341; + $343 = $342&1; + HEAP32[$29>>2] = $343; + while(1) { + $344 = $19; + $345 = $344; + $346 = HEAP32[$345>>2]|0; + $347 = (($344) + 4)|0; + $348 = $347; + $349 = HEAP32[$348>>2]|0; + $350 = ((($20)) + 8|0); + $351 = $350; + $352 = $351; + $353 = HEAP32[$352>>2]|0; + $354 = (($351) + 4)|0; + $355 = $354; + $356 = HEAP32[$355>>2]|0; + $357 = ($349|0)<($356|0); + $358 = ($346>>>0)<($353>>>0); + $359 = ($349|0)==($356|0); + $360 = $359 & $358; + $361 = $357 | $360; + if (!($361)) { + break L52; + } + $362 = HEAP32[$16>>2]|0; + $363 = HEAP32[$10>>2]|0; + $364 = $19; + $365 = $364; + $366 = HEAP32[$365>>2]|0; + $367 = (($364) + 4)|0; + $368 = $367; + $369 = HEAP32[$368>>2]|0; + $370 = (_walWriteOneFrame($20,$362,$363,$366,$369)|0); + HEAP32[$13>>2] = $370; + $371 = HEAP32[$13>>2]|0; + $372 = ($371|0)!=(0); + if ($372) { + break; + } + $374 = HEAP32[$18>>2]|0; + $375 = ($374|0)<(0); + $376 = $375 << 31 >> 31; + $377 = $19; + $378 = $377; + $379 = HEAP32[$378>>2]|0; + $380 = (($377) + 4)|0; + $381 = $380; + $382 = HEAP32[$381>>2]|0; + $383 = (_i64Add(($379|0),($382|0),($374|0),($376|0))|0); + $384 = tempRet0; + $385 = $19; + $386 = $385; + HEAP32[$386>>2] = $383; + $387 = (($385) + 4)|0; + $388 = $387; + HEAP32[$388>>2] = $384; + $389 = HEAP32[$17>>2]|0; + $390 = (($389) + 1)|0; + HEAP32[$17>>2] = $390; + } + $373 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $373; + $557 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($557|0); } + } while(0); + $391 = HEAP32[$29>>2]|0; + $392 = ($391|0)!=(0); + if ($392) { + $393 = ((($20)) + 4|0); + $394 = HEAP32[$393>>2]|0; + $395 = HEAP32[$12>>2]|0; + $396 = $395 & 19; + $397 = (_sqlite3OsSync($394,$396)|0); + HEAP32[$13>>2] = $397; + } + } + } + $398 = HEAP32[$11>>2]|0; + $399 = ($398|0)!=(0); + if ($399) { + $400 = HEAP32[$7>>2]|0; + $401 = ((($400)) + 47|0); + $402 = HEAP8[$401>>0]|0; + $403 = $402&255; + $404 = ($403|0)!=(0); + if ($404) { + $405 = HEAP32[$7>>2]|0; + $406 = ((($405)) + 16|0); + $407 = $406; + $408 = $407; + $409 = HEAP32[$408>>2]|0; + $410 = (($407) + 4)|0; + $411 = $410; + $412 = HEAP32[$411>>2]|0; + $413 = ($412|0)>(0); + $414 = ($409>>>0)>=(0); + $415 = ($412|0)==(0); + $416 = $415 & $414; + $417 = $413 | $416; + if ($417) { + $418 = HEAP32[$7>>2]|0; + $419 = ((($418)) + 16|0); + $420 = $419; + $421 = $420; + $422 = HEAP32[$421>>2]|0; + $423 = (($420) + 4)|0; + $424 = $423; + $425 = HEAP32[$424>>2]|0; + $426 = $31; + $427 = $426; + HEAP32[$427>>2] = $422; + $428 = (($426) + 4)|0; + $429 = $428; + HEAP32[$429>>2] = $425; + $430 = HEAP32[$14>>2]|0; + $431 = HEAP32[$17>>2]|0; + $432 = (($430) + ($431))|0; + $433 = (($432) + 1)|0; + $434 = (($433) - 1)|0; + $435 = HEAP32[$8>>2]|0; + $436 = (($435) + 24)|0; + $437 = ($436|0)<(0); + $438 = $437 << 31 >> 31; + $439 = (___muldi3(($434|0),0,($436|0),($438|0))|0); + $440 = tempRet0; + $441 = (_i64Add(32,0,($439|0),($440|0))|0); + $442 = tempRet0; + $443 = HEAP32[$7>>2]|0; + $444 = ((($443)) + 16|0); + $445 = $444; + $446 = $445; + $447 = HEAP32[$446>>2]|0; + $448 = (($445) + 4)|0; + $449 = $448; + $450 = HEAP32[$449>>2]|0; + $451 = ($442|0)>($450|0); + $452 = ($441>>>0)>($447>>>0); + $453 = ($442|0)==($450|0); + $454 = $453 & $452; + $455 = $451 | $454; + if ($455) { + $456 = HEAP32[$14>>2]|0; + $457 = HEAP32[$17>>2]|0; + $458 = (($456) + ($457))|0; + $459 = (($458) + 1)|0; + $460 = (($459) - 1)|0; + $461 = HEAP32[$8>>2]|0; + $462 = (($461) + 24)|0; + $463 = ($462|0)<(0); + $464 = $463 << 31 >> 31; + $465 = (___muldi3(($460|0),0,($462|0),($464|0))|0); + $466 = tempRet0; + $467 = (_i64Add(32,0,($465|0),($466|0))|0); + $468 = tempRet0; + $469 = $31; + $470 = $469; + HEAP32[$470>>2] = $467; + $471 = (($469) + 4)|0; + $472 = $471; + HEAP32[$472>>2] = $468; + } + $473 = HEAP32[$7>>2]|0; + $474 = $31; + $475 = $474; + $476 = HEAP32[$475>>2]|0; + $477 = (($474) + 4)|0; + $478 = $477; + $479 = HEAP32[$478>>2]|0; + _walLimitSize($473,$476,$479); + $480 = HEAP32[$7>>2]|0; + $481 = ((($480)) + 47|0); + HEAP8[$481>>0] = 0; + } + } + } + $482 = HEAP32[$7>>2]|0; + $483 = ((($482)) + 52|0); + $484 = ((($483)) + 16|0); + $485 = HEAP32[$484>>2]|0; + HEAP32[$14>>2] = $485; + $486 = HEAP32[$9>>2]|0; + HEAP32[$15>>2] = $486; + while(1) { + $487 = HEAP32[$15>>2]|0; + $488 = ($487|0)!=(0|0); + $489 = HEAP32[$13>>2]|0; + $490 = ($489|0)==(0); + $491 = $488 ? $490 : 0; + if (!($491)) { + break; + } + $492 = HEAP32[$15>>2]|0; + $493 = ((($492)) + 24|0); + $494 = HEAP16[$493>>1]|0; + $495 = $494&65535; + $496 = $495 & 64; + $497 = ($496|0)==(0); + if (!($497)) { + $498 = HEAP32[$14>>2]|0; + $499 = (($498) + 1)|0; + HEAP32[$14>>2] = $499; + $500 = HEAP32[$7>>2]|0; + $501 = HEAP32[$14>>2]|0; + $502 = HEAP32[$15>>2]|0; + $503 = ((($502)) + 20|0); + $504 = HEAP32[$503>>2]|0; + $505 = (_walIndexAppend($500,$501,$504)|0); + HEAP32[$13>>2] = $505; + } + $506 = HEAP32[$15>>2]|0; + $507 = ((($506)) + 12|0); + $508 = HEAP32[$507>>2]|0; + HEAP32[$15>>2] = $508; + } + while(1) { + $509 = HEAP32[$13>>2]|0; + $510 = ($509|0)==(0); + $511 = HEAP32[$17>>2]|0; + $512 = ($511|0)>(0); + $513 = $510 ? $512 : 0; + if (!($513)) { + break; + } + $514 = HEAP32[$14>>2]|0; + $515 = (($514) + 1)|0; + HEAP32[$14>>2] = $515; + $516 = HEAP32[$17>>2]|0; + $517 = (($516) + -1)|0; + HEAP32[$17>>2] = $517; + $518 = HEAP32[$7>>2]|0; + $519 = HEAP32[$14>>2]|0; + $520 = HEAP32[$16>>2]|0; + $521 = ((($520)) + 20|0); + $522 = HEAP32[$521>>2]|0; + $523 = (_walIndexAppend($518,$519,$522)|0); + HEAP32[$13>>2] = $523; + } + $524 = HEAP32[$13>>2]|0; + $525 = ($524|0)==(0); + if ($525) { + $526 = HEAP32[$8>>2]|0; + $527 = $526 & 65280; + $528 = HEAP32[$8>>2]|0; + $529 = $528 >> 16; + $530 = $527 | $529; + $531 = $530&65535; + $532 = HEAP32[$7>>2]|0; + $533 = ((($532)) + 52|0); + $534 = ((($533)) + 14|0); + HEAP16[$534>>1] = $531; + $535 = HEAP32[$14>>2]|0; + $536 = HEAP32[$7>>2]|0; + $537 = ((($536)) + 52|0); + $538 = ((($537)) + 16|0); + HEAP32[$538>>2] = $535; + $539 = HEAP32[$11>>2]|0; + $540 = ($539|0)!=(0); + if ($540) { + $541 = HEAP32[$7>>2]|0; + $542 = ((($541)) + 52|0); + $543 = ((($542)) + 8|0); + $544 = HEAP32[$543>>2]|0; + $545 = (($544) + 1)|0; + HEAP32[$543>>2] = $545; + $546 = HEAP32[$10>>2]|0; + $547 = HEAP32[$7>>2]|0; + $548 = ((($547)) + 52|0); + $549 = ((($548)) + 20|0); + HEAP32[$549>>2] = $546; + } + $550 = HEAP32[$11>>2]|0; + $551 = ($550|0)!=(0); + if ($551) { + $552 = HEAP32[$7>>2]|0; + _walIndexWriteHdr($552); + $553 = HEAP32[$14>>2]|0; + $554 = HEAP32[$7>>2]|0; + $555 = ((($554)) + 12|0); + HEAP32[$555>>2] = $553; + } + } + $556 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $556; + $557 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($557|0); + } + return (0)|0; +} +function _walRestartLog($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 40|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10 << 16 >> 16; + $12 = ($11|0)==(0); + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = (_walCkptInfo($13)|0); + HEAP32[$5>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16>>>0)>(0); + do { + if ($17) { + _sqlite3_randomness(4,$6); + $18 = HEAP32[$2>>2]|0; + $19 = (_walLockExclusive($18,4,4)|0); + HEAP32[$3>>2] = $19; + $20 = HEAP32[$3>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$6>>2]|0; + _walRestartHdr($22,$23); + $24 = HEAP32[$2>>2]|0; + _walUnlockExclusive($24,4,4); + break; } - while(1) { - $108 = HEAP32[$0>>2]|0; - $109 = ((($108)) + 12|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)!=(0); - $112 = HEAP32[$iStart>>2]|0; - $113 = ($112|0)>(0); - $or$cond = $111 & $113; - if (!($or$cond)) { - break L13; - } - $114 = HEAP32[$iStart>>2]|0; - $115 = (($114) - 1)|0; - $116 = HEAP32[$2>>2]|0; - $117 = (($116) + ($115)|0); - $118 = HEAP8[$117>>0]|0; - $119 = $118 << 24 >> 24; - $120 = ($119|0)==(94); - if (!($120)) { - break L13; - } - $121 = HEAP32[$pRet>>2]|0; - $122 = ((($121)) + 20|0); - $123 = HEAP32[$122>>2]|0; - $124 = ((($123)) + 72|0); - $125 = ((($124)) + 12|0); - HEAP32[$125>>2] = 1; - $126 = HEAP32[$iStart>>2]|0; - $127 = (($126) + -1)|0; - HEAP32[$iStart>>2] = $127; + $25 = HEAP32[$3>>2]|0; + $26 = ($25|0)!=(5); + if ($26) { + $27 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $27; + $38 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($38|0); } - } else { - HEAP32[$rc>>2] = 7; } } while(0); - $128 = HEAP32[$iEnd>>2]|0; - $129 = HEAP32[$5>>2]|0; - HEAP32[$129>>2] = $128; - } else { - $130 = HEAP32[$i>>2]|0; - $131 = ($130|0)!=(0); - $132 = HEAP32[$rc>>2]|0; - $133 = ($132|0)==(101); - $or$cond3 = $131 & $133; - if ($or$cond3) { - HEAP32[$rc>>2] = 0; + $28 = HEAP32[$2>>2]|0; + _walUnlockShared($28,3); + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 40|0); + HEAP16[$30>>1] = -1; + HEAP32[$4>>2] = 0; + while(1) { + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$4>>2] = $33; + $34 = (_walTryBeginRead($31,$7,1,$33)|0); + HEAP32[$3>>2] = $34; + $35 = HEAP32[$3>>2]|0; + $36 = ($35|0)==(-1); + if (!($36)) { + break; + } } } - $134 = HEAP32[$pModule>>2]|0; - $135 = ((($134)) + 16|0); - $136 = HEAP32[$135>>2]|0; - $137 = HEAP32[$pCursor>>2]|0; - (FUNCTION_TABLE_ii[$136 & 255]($137)|0); - $138 = HEAP32[$pRet>>2]|0; - $139 = HEAP32[$4>>2]|0; - HEAP32[$139>>2] = $138; - $140 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($140|0); + $37 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $37; + $38 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($38|0); } -function _fts3ReallocOrFree($pOrig,$nNew) { - $pOrig = $pOrig|0; - $nNew = $nNew|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $pRet = 0, label = 0, sp = 0; +function _walWriteOneFrame($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pRet = sp; - HEAP32[$0>>2] = $pOrig; - HEAP32[$1>>2] = $nNew; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3_realloc($2,$3)|0); - HEAP32[$pRet>>2] = $4; - $5 = HEAP32[$pRet>>2]|0; - $6 = ($5|0)!=(0|0); - if ($6) { - $8 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($8|0); + STACKTOP = STACKTOP + 64|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 32|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + $13 = $9; + $14 = $13; + HEAP32[$14>>2] = $3; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $4; + $17 = HEAP32[$7>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$11>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = HEAP32[$11>>2]|0; + _walEncodeFrame($21,$24,$25,$26,$12); + $27 = HEAP32[$6>>2]|0; + $28 = $9; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (_walWriteToLog($27,$12,24,$30,$33)|0); + HEAP32[$10>>2] = $34; + $35 = HEAP32[$10>>2]|0; + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $37; + $53 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($53|0); + } else { + $38 = HEAP32[$6>>2]|0; + $39 = HEAP32[$11>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = ((($40)) + 20|0); + $42 = HEAP32[$41>>2]|0; + $43 = $9; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (_i64Add(($45|0),($48|0),24,0)|0); + $50 = tempRet0; + $51 = (_walWriteToLog($38,$39,$42,$49,$50)|0); + HEAP32[$10>>2] = $51; + $52 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $52; + $53 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($53|0); } - $7 = HEAP32[$0>>2]|0; - _sqlite3_free($7); - $8 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($8|0); -} -function _fts3FreeExprNode($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 20|0); - $3 = HEAP32[$2>>2]|0; - _sqlite3Fts3EvalPhraseCleanup($3); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 40|0); - $6 = HEAP32[$5>>2]|0; - _sqlite3_free($6); - $7 = HEAP32[$0>>2]|0; - _sqlite3_free($7); - STACKTOP = sp;return; + return (0)|0; } -function _sqlite3Fts3EvalPhraseCleanup($pPhrase) { - $pPhrase = $pPhrase|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _walRewriteChecksums($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $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, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pPhrase; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 80|0; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 56|0; + $9 = sp + 24|0; + $10 = sp + 8|0; + $11 = sp; + $12 = sp + 20|0; + $13 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 36|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$5>>2] = $16; + HEAP32[$6>>2] = 0; + $17 = HEAP32[$5>>2]|0; + $18 = (($17) + 24)|0; + $19 = (_sqlite3_malloc($18)|0); + HEAP32[$7>>2] = $19; + $20 = HEAP32[$7>>2]|0; + $21 = ($20|0)==(0|0); + if ($21) { + HEAP32[$2>>2] = 7; + $135 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($135|0); } - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - _sqlite3_free($4); - $5 = HEAP32[$0>>2]|0; - _fts3EvalInvalidatePoslist($5); - $6 = HEAP32[$0>>2]|0; - dest=$6; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - HEAP32[$i>>2] = 0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 104|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(1); + if ($25) { + $26 = $10; + $27 = $26; + HEAP32[$27>>2] = 24; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = 0; + } else { + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 104|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) - 1)|0; + $34 = (($33) - 1)|0; + $35 = HEAP32[$5>>2]|0; + $36 = (($35) + 24)|0; + $37 = ($36|0)<(0); + $38 = $37 << 31 >> 31; + $39 = (___muldi3(($34|0),0,($36|0),($38|0))|0); + $40 = tempRet0; + $41 = (_i64Add(32,0,($39|0),($40|0))|0); + $42 = tempRet0; + $43 = (_i64Add(($41|0),($42|0),16,0)|0); + $44 = tempRet0; + $45 = $10; + $46 = $45; + HEAP32[$46>>2] = $43; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $44; + } + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$7>>2]|0; + $53 = $10; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (_sqlite3OsRead($51,$52,8,$55,$58)|0); + HEAP32[$6>>2] = $59; + $60 = HEAP32[$7>>2]|0; + $61 = (_sqlite3Get4byte($60)|0); + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 52|0); + $64 = ((($63)) + 24|0); + HEAP32[$64>>2] = $61; + $65 = HEAP32[$7>>2]|0; + $66 = ((($65)) + 4|0); + $67 = (_sqlite3Get4byte($66)|0); + $68 = HEAP32[$3>>2]|0; + $69 = ((($68)) + 52|0); + $70 = ((($69)) + 24|0); + $71 = ((($70)) + 4|0); + HEAP32[$71>>2] = $67; + $72 = HEAP32[$3>>2]|0; + $73 = ((($72)) + 104|0); + $74 = HEAP32[$73>>2]|0; + HEAP32[$9>>2] = $74; + $75 = HEAP32[$3>>2]|0; + $76 = ((($75)) + 104|0); + HEAP32[$76>>2] = 0; while(1) { - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 64|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($7|0)<($10|0); - if (!($11)) { + $77 = HEAP32[$6>>2]|0; + $78 = ($77|0)==(0); + if (!($78)) { break; } - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 72|0); - $15 = (($14) + (($12*24)|0)|0); - $16 = ((($15)) + 20|0); - $17 = HEAP32[$16>>2]|0; - _fts3SegReaderCursorFree($17); - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 72|0); - $21 = (($20) + (($18*24)|0)|0); - $22 = ((($21)) + 20|0); - HEAP32[$22>>2] = 0; - $23 = HEAP32[$i>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$i>>2] = $24; - } - STACKTOP = sp;return; -} -function _sqlite3Fts3FreeDeferredTokens($pCsr) { - $pCsr = $pCsr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDef = 0, $pNext = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pDef = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $pCsr; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pDef>>2] = $3; - while(1) { - $4 = HEAP32[$pDef>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { + $79 = HEAP32[$9>>2]|0; + $80 = HEAP32[$4>>2]|0; + $81 = ($79>>>0)<=($80>>>0); + if (!($81)) { break; } - $6 = HEAP32[$pDef>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pNext>>2] = $8; - $9 = HEAP32[$pDef>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - _fts3PendingListDelete($11); - $12 = HEAP32[$pDef>>2]|0; - _sqlite3_free($12); - $13 = HEAP32[$pNext>>2]|0; - HEAP32[$pDef>>2] = $13; + $82 = HEAP32[$9>>2]|0; + $83 = (($82) - 1)|0; + $84 = HEAP32[$5>>2]|0; + $85 = (($84) + 24)|0; + $86 = ($85|0)<(0); + $87 = $86 << 31 >> 31; + $88 = (___muldi3(($83|0),0,($85|0),($87|0))|0); + $89 = tempRet0; + $90 = (_i64Add(32,0,($88|0),($89|0))|0); + $91 = tempRet0; + $92 = $11; + $93 = $92; + HEAP32[$93>>2] = $90; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + $96 = HEAP32[$3>>2]|0; + $97 = ((($96)) + 8|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$7>>2]|0; + $100 = HEAP32[$5>>2]|0; + $101 = (($100) + 24)|0; + $102 = $11; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = (($102) + 4)|0; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (_sqlite3OsRead($98,$99,$101,$104,$107)|0); + HEAP32[$6>>2] = $108; + $109 = HEAP32[$6>>2]|0; + $110 = ($109|0)==(0); + if ($110) { + $111 = HEAP32[$7>>2]|0; + $112 = (_sqlite3Get4byte($111)|0); + HEAP32[$12>>2] = $112; + $113 = HEAP32[$7>>2]|0; + $114 = ((($113)) + 4|0); + $115 = (_sqlite3Get4byte($114)|0); + HEAP32[$13>>2] = $115; + $116 = HEAP32[$3>>2]|0; + $117 = HEAP32[$12>>2]|0; + $118 = HEAP32[$13>>2]|0; + $119 = HEAP32[$7>>2]|0; + $120 = ((($119)) + 24|0); + _walEncodeFrame($116,$117,$118,$120,$8); + $121 = HEAP32[$3>>2]|0; + $122 = ((($121)) + 8|0); + $123 = HEAP32[$122>>2]|0; + $124 = $11; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (($124) + 4)|0; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (_sqlite3OsWrite($123,$8,24,$126,$129)|0); + HEAP32[$6>>2] = $130; + } + $131 = HEAP32[$9>>2]|0; + $132 = (($131) + 1)|0; + HEAP32[$9>>2] = $132; } - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 24|0); - HEAP32[$15>>2] = 0; - STACKTOP = sp;return; + $133 = HEAP32[$7>>2]|0; + _sqlite3_free($133); + $134 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $134; + $135 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($135|0); } -function _fts3SetEstimatedRows($pIdxInfo,$0,$1) { - $pIdxInfo = $pIdxInfo|0; +function _walEncodeFrame($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 8|0; - $3 = sp; - HEAP32[$2>>2] = $pIdxInfo; - $4 = $3; - $5 = $4; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = (_sqlite3_libversion_number()|0); - $9 = ($8|0)>=(3008002); - if (!($9)) { + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 52|0); + $14 = ((($13)) + 24|0); + HEAP32[$11>>2] = $14; + $15 = HEAP32[$9>>2]|0; + $16 = HEAP32[$6>>2]|0; + _sqlite3Put4byte($15,$16); + $17 = HEAP32[$9>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$7>>2]|0; + _sqlite3Put4byte($18,$19); + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 104|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(0); + $24 = HEAP32[$9>>2]|0; + $25 = ((($24)) + 8|0); + if ($23) { + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 52|0); + $28 = ((($27)) + 32|0); + ;HEAP8[$25>>0]=HEAP8[$28>>0]|0;HEAP8[$25+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$25+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$25+3>>0]=HEAP8[$28+3>>0]|0;HEAP8[$25+4>>0]=HEAP8[$28+4>>0]|0;HEAP8[$25+5>>0]=HEAP8[$28+5>>0]|0;HEAP8[$25+6>>0]=HEAP8[$28+6>>0]|0;HEAP8[$25+7>>0]=HEAP8[$28+7>>0]|0; + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 52|0); + $31 = ((($30)) + 13|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = HEAP8[936]|0; + $35 = $34 << 24 >> 24; + $36 = ($35|0)==(0); + $37 = $36&1; + $38 = ($33|0)==($37|0); + $39 = $38&1; + HEAP32[$10>>2] = $39; + $40 = HEAP32[$10>>2]|0; + $41 = HEAP32[$9>>2]|0; + $42 = HEAP32[$11>>2]|0; + $43 = HEAP32[$11>>2]|0; + _walChecksumBytes($40,$41,8,$42,$43); + $44 = HEAP32[$10>>2]|0; + $45 = HEAP32[$8>>2]|0; + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 36|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$11>>2]|0; + $50 = HEAP32[$11>>2]|0; + _walChecksumBytes($44,$45,$48,$49,$50); + $51 = HEAP32[$9>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$11>>2]|0; + $54 = HEAP32[$53>>2]|0; + _sqlite3Put4byte($52,$54); + $55 = HEAP32[$9>>2]|0; + $56 = ((($55)) + 20|0); + $57 = HEAP32[$11>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + _sqlite3Put4byte($56,$59); STACKTOP = sp;return; - } - $10 = $3; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 48|0); - $18 = $17; - $19 = $18; - HEAP32[$19>>2] = $12; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = $15; - STACKTOP = sp;return; -} -function _fts3SetUniqueFlag($pIdxInfo) { - $pIdxInfo = $pIdxInfo|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pIdxInfo; - $1 = (_sqlite3_libversion_number()|0); - $2 = ($1|0)>=(3008012); - if (!($2)) { + } else { + dest=$25; stop=dest+16|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 56|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 | 1; - HEAP32[$4>>2] = $6; - STACKTOP = sp;return; } -function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { - $isCreate = $isCreate|0; - $db = $db|0; - $pAux = $pAux|0; - $argc = $argc|0; - $argv = $argv|0; - $ppVTab = $ppVTab|0; - $pzErr = $pzErr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $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 $aCol = 0, $aFts4Opt = 0, $aIndex = 0, $azNotindexed = 0, $bDescIdx = 0, $bNoDocsize = 0, $i = 0, $iCol = 0, $iOpt = 0, $isFts4 = 0, $j = 0, $k = 0, $n = 0, $n2 = 0, $nByte = 0, $nCol = 0, $nDb = 0, $nIndex = 0, $nKey = 0, $nName = 0; - var $nNotindexed = 0, $nString = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $p = 0, $pHash = 0, $pOp = 0, $pTokenizer = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0, $vararg_buffer20 = 0, $vararg_buffer8 = 0, $z = 0, $z1 = 0, $zCompress = 0; - var $zContent = 0, $zCsr = 0, $zLanguageid = 0, $zMiss = 0, $zNot = 0, $zPrefix = 0, $zUncompress = 0, $zVal = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _walWriteToLog($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; - $vararg_buffer20 = sp + 40|0; - $vararg_buffer17 = sp + 32|0; - $vararg_buffer14 = sp + 24|0; - $vararg_buffer11 = sp + 16|0; - $vararg_buffer8 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 280|0; - $1 = sp + 276|0; - $2 = sp + 272|0; - $3 = sp + 268|0; - $4 = sp + 264|0; - $5 = sp + 260|0; - $6 = sp + 256|0; - $pHash = sp + 252|0; - $p = sp + 248|0; - $rc = sp + 244|0; - $i = sp + 240|0; - $nByte = sp + 236|0; - $iCol = sp + 232|0; - $nString = sp + 228|0; - $nCol = sp + 224|0; - $zCsr = sp + 220|0; - $nDb = sp + 216|0; - $nName = sp + 212|0; - $isFts4 = sp + 208|0; - $aCol = sp + 204|0; - $pTokenizer = sp + 200|0; - $nIndex = sp + 196|0; - $aIndex = sp + 192|0; - $bNoDocsize = sp + 188|0; - $bDescIdx = sp + 184|0; - $zPrefix = sp + 180|0; - $zCompress = sp + 176|0; - $zUncompress = sp + 172|0; - $zContent = sp + 168|0; - $zLanguageid = sp + 164|0; - $azNotindexed = sp + 160|0; - $nNotindexed = sp + 156|0; - $z = sp + 152|0; - $nKey = sp + 148|0; - $zVal = sp + 144|0; - $aFts4Opt = sp + 80|0; - $iOpt = sp + 76|0; - $pOp = sp + 72|0; - $j = sp + 68|0; - $k = sp + 64|0; - $z1 = sp + 60|0; - $n = sp + 56|0; - $n2 = sp + 52|0; - $zNot = sp + 48|0; - $zMiss = sp + 44|0; - HEAP32[$0>>2] = $isCreate; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pAux; - HEAP32[$3>>2] = $argc; - HEAP32[$4>>2] = $argv; - HEAP32[$5>>2] = $ppVTab; - HEAP32[$6>>2] = $pzErr; - $7 = HEAP32[$2>>2]|0; - HEAP32[$pHash>>2] = $7; - HEAP32[$p>>2] = 0; - HEAP32[$rc>>2] = 0; - HEAP32[$nString>>2] = 0; - HEAP32[$nCol>>2] = 0; - $8 = HEAP32[$4>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 3|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = ($12|0)==(52); - $14 = $13&1; - HEAP32[$isFts4>>2] = $14; - HEAP32[$pTokenizer>>2] = 0; - HEAP32[$nIndex>>2] = 0; - HEAP32[$aIndex>>2] = 0; - HEAP32[$bNoDocsize>>2] = 0; - HEAP32[$bDescIdx>>2] = 0; - HEAP32[$zPrefix>>2] = 0; - HEAP32[$zCompress>>2] = 0; - HEAP32[$zUncompress>>2] = 0; - HEAP32[$zContent>>2] = 0; - HEAP32[$zLanguageid>>2] = 0; - HEAP32[$azNotindexed>>2] = 0; - HEAP32[$nNotindexed>>2] = 0; - $15 = HEAP32[$4>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_strlen($17)|0); - $19 = (($18) + 1)|0; - HEAP32[$nDb>>2] = $19; - $20 = HEAP32[$4>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_strlen($22)|0); - $24 = (($23) + 1)|0; - HEAP32[$nName>>2] = $24; - $25 = HEAP32[$3>>2]|0; - $26 = (($25) - 2)|0; - $27 = $26<<2; - HEAP32[$nByte>>2] = $27; - $28 = HEAP32[$nByte>>2]|0; - $29 = (_sqlite3_malloc($28)|0); - HEAP32[$aCol>>2] = $29; - $30 = HEAP32[$aCol>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$aCol>>2]|0; - $33 = HEAP32[$nByte>>2]|0; - _memset(($32|0),0,($33|0))|0; - $34 = HEAP32[$nByte>>2]|0; - $35 = (_sqlite3_malloc($34)|0); - HEAP32[$azNotindexed>>2] = $35; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp; + $10 = sp + 12|0; + $11 = sp + 8|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + $12 = $9; + $13 = $12; + HEAP32[$13>>2] = $3; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $4; + $16 = $9; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 8|0); + $24 = $23; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = ($21|0)<($29|0); + $31 = ($18>>>0)<($26>>>0); + $32 = ($21|0)==($29|0); + $33 = $32 & $31; + $34 = $30 | $33; + if ($34) { + $35 = $9; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$8>>2]|0; + $42 = ($41|0)<(0); + $43 = $42 << 31 >> 31; + $44 = (_i64Add(($37|0),($40|0),($41|0),($43|0))|0); + $45 = tempRet0; + $46 = HEAP32[$6>>2]|0; + $47 = ((($46)) + 8|0); + $48 = $47; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = ($45|0)>($53|0); + $55 = ($44>>>0)>=($50>>>0); + $56 = ($45|0)==($53|0); + $57 = $56 & $55; + $58 = $54 | $57; + if ($58) { + $59 = HEAP32[$6>>2]|0; + $60 = ((($59)) + 8|0); + $61 = $60; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $9; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (_i64Subtract(($63|0),($66|0),($69|0),($72|0))|0); + $74 = tempRet0; + HEAP32[$11>>2] = $73; + $75 = HEAP32[$6>>2]|0; + $76 = ((($75)) + 4|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$7>>2]|0; + $79 = HEAP32[$11>>2]|0; + $80 = $9; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (($80) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (_sqlite3OsWrite($77,$78,$79,$82,$85)|0); + HEAP32[$10>>2] = $86; + $87 = HEAP32[$10>>2]|0; + $88 = ($87|0)!=(0); + if ($88) { + $89 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $89; + $137 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($137|0); + } + $90 = HEAP32[$11>>2]|0; + $91 = ($90|0)<(0); + $92 = $91 << 31 >> 31; + $93 = $9; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (_i64Add(($95|0),($98|0),($90|0),($92|0))|0); + $100 = tempRet0; + $101 = $9; + $102 = $101; + HEAP32[$102>>2] = $99; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + $105 = HEAP32[$11>>2]|0; + $106 = HEAP32[$8>>2]|0; + $107 = (($106) - ($105))|0; + HEAP32[$8>>2] = $107; + $108 = HEAP32[$11>>2]|0; + $109 = HEAP32[$7>>2]|0; + $110 = (($109) + ($108)|0); + HEAP32[$7>>2] = $110; + $111 = HEAP32[$6>>2]|0; + $112 = ((($111)) + 4|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$6>>2]|0; + $115 = ((($114)) + 16|0); + $116 = HEAP32[$115>>2]|0; + $117 = $116 & 19; + $118 = (_sqlite3OsSync($113,$117)|0); + HEAP32[$10>>2] = $118; + $119 = HEAP32[$8>>2]|0; + $120 = ($119|0)==(0); + $121 = HEAP32[$10>>2]|0; + $122 = ($121|0)!=(0); + $or$cond = $120 | $122; + if ($or$cond) { + $123 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $123; + $137 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($137|0); + } + } } - $36 = HEAP32[$azNotindexed>>2]|0; - $37 = ($36|0)!=(0|0); - if ($37) { - $38 = HEAP32[$azNotindexed>>2]|0; - $39 = HEAP32[$nByte>>2]|0; - _memset(($38|0),0,($39|0))|0; + $124 = HEAP32[$6>>2]|0; + $125 = ((($124)) + 4|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$7>>2]|0; + $128 = HEAP32[$8>>2]|0; + $129 = $9; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = (_sqlite3OsWrite($126,$127,$128,$131,$134)|0); + HEAP32[$10>>2] = $135; + $136 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $136; + $137 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($137|0); +} +function _walTryBeginRead($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$13>>2] = 0; + $17 = HEAP32[$8>>2]|0; + $18 = ($17|0)>(5); + if ($18) { + HEAP32[$15>>2] = 1; + $19 = HEAP32[$8>>2]|0; + $20 = ($19|0)>(100); + if ($20) { + HEAP32[$4>>2] = 15; + $176 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($176|0); + } + $21 = HEAP32[$8>>2]|0; + $22 = ($21|0)>=(10); + if ($22) { + $23 = HEAP32[$8>>2]|0; + $24 = (($23) - 9)|0; + $25 = HEAP32[$8>>2]|0; + $26 = (($25) - 9)|0; + $27 = Math_imul($24, $26)|0; + $28 = ($27*39)|0; + HEAP32[$15>>2] = $28; + } + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$15>>2]|0; + (_sqlite3OsSleep($30,$31)|0); } - $40 = HEAP32[$aCol>>2]|0; - $41 = ($40|0)!=(0|0); - $42 = HEAP32[$azNotindexed>>2]|0; - $43 = ($42|0)!=(0|0); - $or$cond = $41 & $43; - do { - if ($or$cond) { - HEAP32[$i>>2] = 3; - while(1) { - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)==(0); - if (!($45)) { + $32 = HEAP32[$7>>2]|0; + $33 = ($32|0)!=(0); + if (!($33)) { + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = (_walIndexReadHdr($34,$35)|0); + HEAP32[$13>>2] = $36; + $37 = HEAP32[$13>>2]|0; + $38 = ($37|0)==(5); + do { + if ($38) { + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 32|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + HEAP32[$13>>2] = -1; break; } - $46 = HEAP32[$i>>2]|0; - $47 = HEAP32[$3>>2]|0; - $48 = ($46|0)<($47|0); - if (!($48)) { + $44 = HEAP32[$5>>2]|0; + $45 = (_walLockShared($44,2)|0); + HEAP32[$13>>2] = $45; + $46 = (0)==($45|0); + if ($46) { + $47 = HEAP32[$5>>2]|0; + _walUnlockShared($47,2); + HEAP32[$13>>2] = -1; break; } - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$4>>2]|0; - $51 = (($50) + ($49<<2)|0); - $52 = HEAP32[$51>>2]|0; - HEAP32[$z>>2] = $52; - $53 = HEAP32[$pTokenizer>>2]|0; - $54 = ($53|0)!=(0|0); - if ($54) { - label = 15; - } else { - $55 = HEAP32[$z>>2]|0; - $56 = (_strlen($55)|0); - $57 = ($56>>>0)>(8); - if ($57) { - $58 = HEAP32[$z>>2]|0; - $59 = (_sqlite3_strnicmp($58,24006,8)|0); - $60 = (0)==($59|0); - if ($60) { - $61 = HEAP32[$z>>2]|0; - $62 = ((($61)) + 8|0); - $63 = HEAP8[$62>>0]|0; - $64 = (_sqlite3Fts3IsIdChar($63)|0); - $65 = (0)==($64|0); - if ($65) { - $66 = HEAP32[$pHash>>2]|0; - $67 = HEAP32[$z>>2]|0; - $68 = ((($67)) + 9|0); - $69 = HEAP32[$6>>2]|0; - $70 = (_sqlite3Fts3InitTokenizer($66,$68,$pTokenizer,$69)|0); - HEAP32[$rc>>2] = $70; - } else { - label = 15; - } - } else { - label = 15; - } - } else { - label = 15; + $48 = HEAP32[$13>>2]|0; + $49 = ($48|0)==(5); + if ($49) { + HEAP32[$13>>2] = 261; + } + } + } while(0); + $50 = HEAP32[$13>>2]|0; + $51 = ($50|0)!=(0); + if ($51) { + $52 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $52; + $176 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($176|0); + } + } + $53 = HEAP32[$5>>2]|0; + $54 = (_walCkptInfo($53)|0); + HEAP32[$9>>2] = $54; + $55 = HEAP32[$7>>2]|0; + $56 = ($55|0)!=(0); + do { + if (!($56)) { + $57 = HEAP32[$9>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$5>>2]|0; + $60 = ((($59)) + 52|0); + $61 = ((($60)) + 16|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($58|0)==($62|0); + if ($63) { + $64 = HEAP32[$5>>2]|0; + $65 = (_walLockShared($64,3)|0); + HEAP32[$13>>2] = $65; + $66 = HEAP32[$5>>2]|0; + _walShmBarrier($66); + $67 = HEAP32[$13>>2]|0; + $68 = ($67|0)==(0); + if (!($68)) { + $77 = HEAP32[$13>>2]|0; + $78 = ($77|0)!=(5); + if (!($78)) { + break; } + $79 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $79; + $176 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($176|0); + } + $69 = HEAP32[$5>>2]|0; + $70 = (_walIndexHdr($69)|0); + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + 52|0); + $73 = (_memcmp($70,$72,48)|0); + $74 = ($73|0)!=(0); + $75 = HEAP32[$5>>2]|0; + if ($74) { + _walUnlockShared($75,3); + HEAP32[$4>>2] = -1; + $176 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($176|0); + } else { + $76 = ((($75)) + 40|0); + HEAP16[$76>>1] = 0; + HEAP32[$4>>2] = 0; + $176 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($176|0); } - do { - if ((label|0) == 15) { - label = 0; - $71 = HEAP32[$isFts4>>2]|0; - $72 = ($71|0)!=(0); - if ($72) { - $73 = HEAP32[$z>>2]|0; - $74 = (_fts3IsSpecialColumn($73,$nKey,$zVal)|0); - $75 = ($74|0)!=(0); - if ($75) { - dest=$aFts4Opt; src=2144; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $76 = HEAP32[$zVal>>2]|0; - $77 = ($76|0)!=(0|0); - if (!($77)) { - HEAP32[$rc>>2] = 7; - break; - } - HEAP32[$iOpt>>2] = 0; - while(1) { - $78 = HEAP32[$iOpt>>2]|0; - $79 = ($78|0)<(8); - if (!($79)) { - break; - } - $80 = HEAP32[$iOpt>>2]|0; - $81 = (($aFts4Opt) + ($80<<3)|0); - HEAP32[$pOp>>2] = $81; - $82 = HEAP32[$nKey>>2]|0; - $83 = HEAP32[$pOp>>2]|0; - $84 = ((($83)) + 4|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($82|0)==($85|0); - if ($86) { - $87 = HEAP32[$z>>2]|0; - $88 = HEAP32[$pOp>>2]|0; - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$pOp>>2]|0; - $91 = ((($90)) + 4|0); - $92 = HEAP32[$91>>2]|0; - $93 = (_sqlite3_strnicmp($87,$89,$92)|0); - $94 = ($93|0)!=(0); - if (!($94)) { - break; - } - } - $95 = HEAP32[$iOpt>>2]|0; - $96 = (($95) + 1)|0; - HEAP32[$iOpt>>2] = $96; - } - $97 = HEAP32[$iOpt>>2]|0; - $98 = ($97|0)==(8); - L33: do { - if ($98) { - $99 = HEAP32[$6>>2]|0; - $100 = HEAP32[$z>>2]|0; - HEAP32[$vararg_buffer>>2] = $100; - _sqlite3Fts3ErrMsg($99,24015,$vararg_buffer); - HEAP32[$rc>>2] = 1; - } else { - $101 = HEAP32[$iOpt>>2]|0; - switch ($101|0) { - case 0: { - $102 = HEAP32[$zVal>>2]|0; - $103 = (_strlen($102)|0); - $104 = ($103|0)!=(4); - if ($104) { - label = 29; - } else { - $105 = HEAP32[$zVal>>2]|0; - $106 = (_sqlite3_strnicmp($105,20521,4)|0); - $107 = ($106|0)!=(0); - if ($107) { - label = 29; - } - } - if ((label|0) == 29) { - label = 0; - $108 = HEAP32[$6>>2]|0; - $109 = HEAP32[$zVal>>2]|0; - HEAP32[$vararg_buffer8>>2] = $109; - _sqlite3Fts3ErrMsg($108,24042,$vararg_buffer8); - HEAP32[$rc>>2] = 1; - } - HEAP32[$bNoDocsize>>2] = 1; - break L33; - break; - } - case 1: { - $110 = HEAP32[$zPrefix>>2]|0; - _sqlite3_free($110); - $111 = HEAP32[$zVal>>2]|0; - HEAP32[$zPrefix>>2] = $111; - HEAP32[$zVal>>2] = 0; - break L33; - break; - } - case 2: { - $112 = HEAP32[$zCompress>>2]|0; - _sqlite3_free($112); - $113 = HEAP32[$zVal>>2]|0; - HEAP32[$zCompress>>2] = $113; - HEAP32[$zVal>>2] = 0; - break L33; - break; - } - case 3: { - $114 = HEAP32[$zUncompress>>2]|0; - _sqlite3_free($114); - $115 = HEAP32[$zVal>>2]|0; - HEAP32[$zUncompress>>2] = $115; - HEAP32[$zVal>>2] = 0; - break L33; - break; - } - case 4: { - $116 = HEAP32[$zVal>>2]|0; - $117 = (_strlen($116)|0); - $118 = ($117|0)!=(3); - if ($118) { - label = 36; - } else { - $119 = HEAP32[$zVal>>2]|0; - $120 = (_sqlite3_strnicmp($119,24069,3)|0); - $121 = ($120|0)!=(0); - if ($121) { - label = 36; - } - } - do { - if ((label|0) == 36) { - label = 0; - $122 = HEAP32[$zVal>>2]|0; - $123 = (_strlen($122)|0); - $124 = ($123|0)!=(4); - if (!($124)) { - $125 = HEAP32[$zVal>>2]|0; - $126 = (_sqlite3_strnicmp($125,24073,4)|0); - $127 = ($126|0)!=(0); - if (!($127)) { - break; - } - } - $128 = HEAP32[$6>>2]|0; - $129 = HEAP32[$zVal>>2]|0; - HEAP32[$vararg_buffer11>>2] = $129; - _sqlite3Fts3ErrMsg($128,24078,$vararg_buffer11); - HEAP32[$rc>>2] = 1; - } - } while(0); - $130 = HEAP32[$zVal>>2]|0; - $131 = HEAP8[$130>>0]|0; - $132 = $131 << 24 >> 24; - $133 = ($132|0)==(100); - if ($133) { - $139 = 1; - } else { - $134 = HEAP32[$zVal>>2]|0; - $135 = HEAP8[$134>>0]|0; - $136 = $135 << 24 >> 24; - $137 = ($136|0)==(68); - $139 = $137; - } - $138 = $139&1; - HEAP32[$bDescIdx>>2] = $138; - break L33; - break; - } - case 5: { - $140 = HEAP32[$zContent>>2]|0; - _sqlite3_free($140); - $141 = HEAP32[$zVal>>2]|0; - HEAP32[$zContent>>2] = $141; - HEAP32[$zVal>>2] = 0; - break L33; - break; - } - case 6: { - $142 = HEAP32[$zLanguageid>>2]|0; - _sqlite3_free($142); - $143 = HEAP32[$zVal>>2]|0; - HEAP32[$zLanguageid>>2] = $143; - HEAP32[$zVal>>2] = 0; - break L33; - break; - } - case 7: { - $144 = HEAP32[$zVal>>2]|0; - $145 = HEAP32[$nNotindexed>>2]|0; - $146 = (($145) + 1)|0; - HEAP32[$nNotindexed>>2] = $146; - $147 = HEAP32[$azNotindexed>>2]|0; - $148 = (($147) + ($145<<2)|0); - HEAP32[$148>>2] = $144; - HEAP32[$zVal>>2] = 0; - break L33; - break; - } - default: { - break L33; - } - } - } - } while(0); - $149 = HEAP32[$zVal>>2]|0; - _sqlite3_free($149); - break; - } - } - $150 = HEAP32[$z>>2]|0; - $151 = (_strlen($150)|0); - $152 = (($151) + 1)|0; - $153 = HEAP32[$nString>>2]|0; - $154 = (($153) + ($152))|0; - HEAP32[$nString>>2] = $154; - $155 = HEAP32[$z>>2]|0; - $156 = HEAP32[$nCol>>2]|0; - $157 = (($156) + 1)|0; - HEAP32[$nCol>>2] = $157; - $158 = HEAP32[$aCol>>2]|0; - $159 = (($158) + ($156<<2)|0); - HEAP32[$159>>2] = $155; - } - } while(0); - $160 = HEAP32[$i>>2]|0; - $161 = (($160) + 1)|0; - HEAP32[$i>>2] = $161; } - $162 = HEAP32[$rc>>2]|0; - $163 = ($162|0)==(0); - $164 = HEAP32[$zContent>>2]|0; - $165 = ($164|0)!=(0|0); - $or$cond3 = $163 & $165; - L65: do { - if ($or$cond3) { - $166 = HEAP32[$zCompress>>2]|0; - _sqlite3_free($166); - $167 = HEAP32[$zUncompress>>2]|0; - _sqlite3_free($167); - HEAP32[$zCompress>>2] = 0; - HEAP32[$zUncompress>>2] = 0; - $168 = HEAP32[$nCol>>2]|0; - $169 = ($168|0)==(0); - if ($169) { - $170 = HEAP32[$aCol>>2]|0; - _sqlite3_free($170); - HEAP32[$aCol>>2] = 0; - $171 = HEAP32[$1>>2]|0; - $172 = HEAP32[$4>>2]|0; - $173 = ((($172)) + 4|0); - $174 = HEAP32[$173>>2]|0; - $175 = HEAP32[$zContent>>2]|0; - $176 = HEAP32[$6>>2]|0; - $177 = (_fts3ContentColumns($171,$174,$175,$aCol,$nCol,$nString,$176)|0); - HEAP32[$rc>>2] = $177; - $178 = HEAP32[$rc>>2]|0; - $179 = ($178|0)==(0); - $180 = HEAP32[$zLanguageid>>2]|0; - $181 = ($180|0)!=(0|0); - $or$cond5 = $179 & $181; - if ($or$cond5) { - HEAP32[$j>>2] = 0; - while(1) { - $182 = HEAP32[$j>>2]|0; - $183 = HEAP32[$nCol>>2]|0; - $184 = ($182|0)<($183|0); - if (!($184)) { - break L65; - } - $185 = HEAP32[$zLanguageid>>2]|0; - $186 = HEAP32[$j>>2]|0; - $187 = HEAP32[$aCol>>2]|0; - $188 = (($187) + ($186<<2)|0); - $189 = HEAP32[$188>>2]|0; - $190 = (_sqlite3_stricmp($185,$189)|0); - $191 = ($190|0)==(0); - $192 = HEAP32[$j>>2]|0; - if ($191) { - break; - } - $208 = (($192) + 1)|0; - HEAP32[$j>>2] = $208; - } - HEAP32[$k>>2] = $192; - while(1) { - $193 = HEAP32[$k>>2]|0; - $194 = HEAP32[$nCol>>2]|0; - $195 = ($193|0)<($194|0); - if (!($195)) { - break; - } - $196 = HEAP32[$k>>2]|0; - $197 = (($196) + 1)|0; - $198 = HEAP32[$aCol>>2]|0; - $199 = (($198) + ($197<<2)|0); - $200 = HEAP32[$199>>2]|0; - $201 = HEAP32[$k>>2]|0; - $202 = HEAP32[$aCol>>2]|0; - $203 = (($202) + ($201<<2)|0); - HEAP32[$203>>2] = $200; - $204 = HEAP32[$k>>2]|0; - $205 = (($204) + 1)|0; - HEAP32[$k>>2] = $205; - } - $206 = HEAP32[$nCol>>2]|0; - $207 = (($206) + -1)|0; - HEAP32[$nCol>>2] = $207; - } + } + } while(0); + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + $80 = HEAP32[$5>>2]|0; + $81 = ((($80)) + 52|0); + $82 = ((($81)) + 16|0); + $83 = HEAP32[$82>>2]|0; + HEAP32[$14>>2] = $83; + HEAP32[$12>>2] = 1; + while(1) { + $84 = HEAP32[$12>>2]|0; + $85 = ($84|0)<(5); + if (!($85)) { + break; + } + $86 = HEAP32[$9>>2]|0; + $87 = ((($86)) + 4|0); + $88 = HEAP32[$12>>2]|0; + $89 = (($87) + ($88<<2)|0); + $90 = HEAP32[$89>>2]|0; + HEAP32[$16>>2] = $90; + $91 = HEAP32[$10>>2]|0; + $92 = HEAP32[$16>>2]|0; + $93 = ($91>>>0)<=($92>>>0); + if ($93) { + $94 = HEAP32[$16>>2]|0; + $95 = HEAP32[$14>>2]|0; + $96 = ($94>>>0)<=($95>>>0); + if ($96) { + $97 = HEAP32[$16>>2]|0; + HEAP32[$10>>2] = $97; + $98 = HEAP32[$12>>2]|0; + HEAP32[$11>>2] = $98; + } + } + $99 = HEAP32[$12>>2]|0; + $100 = (($99) + 1)|0; + HEAP32[$12>>2] = $100; + } + $101 = HEAP32[$5>>2]|0; + $102 = ((($101)) + 46|0); + $103 = HEAP8[$102>>0]|0; + $104 = $103&255; + $105 = $104 & 2; + $106 = ($105|0)==(0); + L48: do { + if ($106) { + $107 = HEAP32[$10>>2]|0; + $108 = HEAP32[$14>>2]|0; + $109 = ($107>>>0)<($108>>>0); + $110 = HEAP32[$11>>2]|0; + $111 = ($110|0)==(0); + $or$cond = $109 | $111; + if ($or$cond) { + HEAP32[$12>>2] = 1; + while(1) { + $112 = HEAP32[$12>>2]|0; + $113 = ($112|0)<(5); + if (!($113)) { + break L48; } - } - } while(0); - $209 = HEAP32[$rc>>2]|0; - $210 = ($209|0)!=(0); - if (!($210)) { - $211 = HEAP32[$nCol>>2]|0; - $212 = ($211|0)==(0); - if ($212) { - $213 = HEAP32[$aCol>>2]|0; - HEAP32[$213>>2] = 24101; - HEAP32[$nString>>2] = 8; - HEAP32[$nCol>>2] = 1; - } - $214 = HEAP32[$pTokenizer>>2]|0; - $215 = ($214|0)==(0|0); - if ($215) { - $216 = HEAP32[$pHash>>2]|0; - $217 = HEAP32[$6>>2]|0; - $218 = (_sqlite3Fts3InitTokenizer($216,20447,$pTokenizer,$217)|0); - HEAP32[$rc>>2] = $218; - $219 = HEAP32[$rc>>2]|0; - $220 = ($219|0)!=(0); - if ($220) { + $114 = HEAP32[$5>>2]|0; + $115 = HEAP32[$12>>2]|0; + $116 = (3 + ($115))|0; + $117 = (_walLockExclusive($114,$116,1)|0); + HEAP32[$13>>2] = $117; + $118 = HEAP32[$13>>2]|0; + $119 = ($118|0)==(0); + if ($119) { + label = 36; + break; + } + $129 = HEAP32[$13>>2]|0; + $130 = ($129|0)!=(5); + if ($130) { break; } + $132 = HEAP32[$12>>2]|0; + $133 = (($132) + 1)|0; + HEAP32[$12>>2] = $133; } - $221 = HEAP32[$zPrefix>>2]|0; - $222 = (_fts3PrefixParameter($221,$nIndex,$aIndex)|0); - HEAP32[$rc>>2] = $222; - $223 = HEAP32[$rc>>2]|0; - $224 = ($223|0)==(1); - if ($224) { - $225 = HEAP32[$6>>2]|0; - $226 = HEAP32[$zPrefix>>2]|0; - HEAP32[$vararg_buffer14>>2] = $226; - _sqlite3Fts3ErrMsg($225,24109,$vararg_buffer14); + if ((label|0) == 36) { + $120 = HEAP32[$14>>2]|0; + $121 = HEAP32[$9>>2]|0; + $122 = ((($121)) + 4|0); + $123 = HEAP32[$12>>2]|0; + $124 = (($122) + ($123<<2)|0); + HEAP32[$124>>2] = $120; + HEAP32[$10>>2] = $120; + $125 = HEAP32[$12>>2]|0; + HEAP32[$11>>2] = $125; + $126 = HEAP32[$5>>2]|0; + $127 = HEAP32[$12>>2]|0; + $128 = (3 + ($127))|0; + _walUnlockExclusive($126,$128,1); + break; } - $227 = HEAP32[$rc>>2]|0; - $228 = ($227|0)!=(0); - if (!($228)) { - $229 = HEAP32[$nCol>>2]|0; - $230 = $229<<2; - $231 = (280 + ($230))|0; - $232 = HEAP32[$nIndex>>2]|0; - $233 = ($232*24)|0; - $234 = (($231) + ($233))|0; - $235 = HEAP32[$nCol>>2]|0; - $236 = $235; - $237 = (($234) + ($236))|0; - $238 = HEAP32[$nName>>2]|0; - $239 = (($237) + ($238))|0; - $240 = HEAP32[$nDb>>2]|0; - $241 = (($239) + ($240))|0; - $242 = HEAP32[$nString>>2]|0; - $243 = (($241) + ($242))|0; - HEAP32[$nByte>>2] = $243; - $244 = HEAP32[$nByte>>2]|0; - $245 = (_sqlite3_malloc($244)|0); - HEAP32[$p>>2] = $245; - $246 = HEAP32[$p>>2]|0; - $247 = ($246|0)==(0|0); - if ($247) { - HEAP32[$rc>>2] = 7; - break; + $131 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $131; + $176 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($176|0); + } + } + } while(0); + $134 = HEAP32[$11>>2]|0; + $135 = ($134|0)==(0); + if ($135) { + $136 = HEAP32[$13>>2]|0; + $137 = ($136|0)==(5); + $138 = $137 ? -1 : 520; + HEAP32[$4>>2] = $138; + $176 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($176|0); + } + $139 = HEAP32[$5>>2]|0; + $140 = HEAP32[$11>>2]|0; + $141 = (3 + ($140))|0; + $142 = (_walLockShared($139,$141)|0); + HEAP32[$13>>2] = $142; + $143 = HEAP32[$13>>2]|0; + $144 = ($143|0)!=(0); + if ($144) { + $145 = HEAP32[$13>>2]|0; + $146 = ($145|0)==(5); + $147 = HEAP32[$13>>2]|0; + $148 = $146 ? -1 : $147; + HEAP32[$4>>2] = $148; + $176 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($176|0); + } + $149 = HEAP32[$9>>2]|0; + $150 = HEAP32[$149>>2]|0; + $151 = (($150) + 1)|0; + $152 = HEAP32[$5>>2]|0; + $153 = ((($152)) + 100|0); + HEAP32[$153>>2] = $151; + $154 = HEAP32[$5>>2]|0; + _walShmBarrier($154); + $155 = HEAP32[$9>>2]|0; + $156 = ((($155)) + 4|0); + $157 = HEAP32[$11>>2]|0; + $158 = (($156) + ($157<<2)|0); + $159 = HEAP32[$158>>2]|0; + $160 = HEAP32[$10>>2]|0; + $161 = ($159|0)!=($160|0); + if (!($161)) { + $162 = HEAP32[$5>>2]|0; + $163 = (_walIndexHdr($162)|0); + $164 = HEAP32[$5>>2]|0; + $165 = ((($164)) + 52|0); + $166 = (_memcmp($163,$165,48)|0); + $167 = ($166|0)!=(0); + if (!($167)) { + $171 = HEAP32[$11>>2]|0; + $172 = $171&65535; + $173 = HEAP32[$5>>2]|0; + $174 = ((($173)) + 40|0); + HEAP16[$174>>1] = $172; + $175 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $175; + $176 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($176|0); + } + } + $168 = HEAP32[$5>>2]|0; + $169 = HEAP32[$11>>2]|0; + $170 = (3 + ($169))|0; + _walUnlockShared($168,$170); + HEAP32[$4>>2] = -1; + $176 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($176|0); +} +function _sqlite3OsSleep($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 60|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = (FUNCTION_TABLE_iii[$6 & 255]($7,$8)|0); + STACKTOP = sp;return ($9|0); +} +function _sqlite3PagerPageRefcount($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_sqlite3PcachePageRefcount($2)|0); + STACKTOP = sp;return ($3|0); +} +function _btreeInitPage($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $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, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $1 = sp + 40|0; + $2 = sp + 36|0; + $3 = sp + 50|0; + $4 = sp + 52|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 48|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + $15 = sp + 46|0; + $16 = sp + 44|0; + HEAP32[$2>>2] = $0; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)!=(0); + do { + if (!($19)) { + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 52|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$6>>2] = $22; + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 5|0); + $25 = HEAP8[$24>>0]|0; + HEAP8[$4>>0] = $25; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 56|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$5>>2] = $28; + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = HEAP8[$4>>0]|0; + $32 = $31&255; + $33 = (($30) + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = (_decodeFlags($29,$35)|0); + $37 = ($36|0)!=(0); + if ($37) { + $38 = (_sqlite3CorruptError(60006)|0); + HEAP32[$1>>2] = $38; + $326 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($326|0); + } + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 32|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($41) - 1)|0; + $43 = $42&65535; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 20|0); + HEAP16[$45>>1] = $43; + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 1|0); + HEAP8[$47>>0] = 0; + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 36|0); + $50 = HEAP32[$49>>2]|0; + HEAP32[$7>>2] = $50; + $51 = HEAP8[$4>>0]|0; + $52 = $51&255; + $53 = (($52) + 8)|0; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 6|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = (($53) + ($57))|0; + $59 = $58&65535; + HEAP16[$8>>1] = $59; + $60 = HEAP32[$2>>2]|0; + $61 = ((($60)) + 14|0); + HEAP16[$61>>1] = $59; + $62 = HEAP32[$5>>2]|0; + $63 = HEAP32[$7>>2]|0; + $64 = (($62) + ($63)|0); + $65 = HEAP32[$2>>2]|0; + $66 = ((($65)) + 60|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$5>>2]|0; + $68 = HEAP16[$8>>1]|0; + $69 = $68&65535; + $70 = (($67) + ($69)|0); + $71 = HEAP32[$2>>2]|0; + $72 = ((($71)) + 64|0); + HEAP32[$72>>2] = $70; + $73 = HEAP32[$5>>2]|0; + $74 = HEAP32[$2>>2]|0; + $75 = ((($74)) + 6|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = (($73) + ($77)|0); + $79 = HEAP32[$2>>2]|0; + $80 = ((($79)) + 68|0); + HEAP32[$80>>2] = $78; + $81 = HEAP32[$5>>2]|0; + $82 = HEAP8[$4>>0]|0; + $83 = $82&255; + $84 = (($83) + 5)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = $87 << 8; + $89 = HEAP32[$5>>2]|0; + $90 = HEAP8[$4>>0]|0; + $91 = $90&255; + $92 = (($91) + 5)|0; + $93 = (($89) + ($92)|0); + $94 = ((($93)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = $88 | $96; + $98 = (($97) - 1)|0; + $99 = $98 & 65535; + $100 = (($99) + 1)|0; + HEAP32[$10>>2] = $100; + $101 = HEAP32[$5>>2]|0; + $102 = HEAP8[$4>>0]|0; + $103 = $102&255; + $104 = (($103) + 3)|0; + $105 = (($101) + ($104)|0); + $106 = HEAP8[$105>>0]|0; + $107 = $106&255; + $108 = $107 << 8; + $109 = HEAP32[$5>>2]|0; + $110 = HEAP8[$4>>0]|0; + $111 = $110&255; + $112 = (($111) + 3)|0; + $113 = (($109) + ($112)|0); + $114 = ((($113)) + 1|0); + $115 = HEAP8[$114>>0]|0; + $116 = $115&255; + $117 = $108 | $116; + $118 = $117&65535; + $119 = HEAP32[$2>>2]|0; + $120 = ((($119)) + 18|0); + HEAP16[$120>>1] = $118; + $121 = HEAP32[$2>>2]|0; + $122 = ((($121)) + 18|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123&65535; + $125 = HEAP32[$6>>2]|0; + $126 = ((($125)) + 32|0); + $127 = HEAP32[$126>>2]|0; + $128 = (($127) - 8)|0; + $129 = (($128>>>0) / 6)&-1; + $130 = ($124>>>0)>($129>>>0); + if ($130) { + $131 = (_sqlite3CorruptError(60024)|0); + HEAP32[$1>>2] = $131; + $326 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($326|0); + } + $132 = HEAP16[$8>>1]|0; + $133 = $132&65535; + $134 = HEAP32[$2>>2]|0; + $135 = ((($134)) + 18|0); + $136 = HEAP16[$135>>1]|0; + $137 = $136&65535; + $138 = $137<<1; + $139 = (($133) + ($138))|0; + HEAP32[$11>>2] = $139; + $140 = HEAP32[$7>>2]|0; + $141 = (($140) - 4)|0; + HEAP32[$12>>2] = $141; + $142 = HEAP32[$6>>2]|0; + $143 = ((($142)) + 4|0); + $144 = HEAP32[$143>>2]|0; + $145 = ((($144)) + 24|0); + $146 = HEAP32[$145>>2]|0; + $147 = $146 & 536870912; + $148 = ($147|0)!=(0); + do { + if ($148) { + $149 = HEAP32[$2>>2]|0; + $150 = ((($149)) + 4|0); + $151 = HEAP8[$150>>0]|0; + $152 = ($151<<24>>24)!=(0); + if (!($152)) { + $153 = HEAP32[$12>>2]|0; + $154 = (($153) + -1)|0; + HEAP32[$12>>2] = $154; } - $248 = HEAP32[$p>>2]|0; - $249 = HEAP32[$nByte>>2]|0; - _memset(($248|0),0,($249|0))|0; - $250 = HEAP32[$1>>2]|0; - $251 = HEAP32[$p>>2]|0; - $252 = ((($251)) + 12|0); - HEAP32[$252>>2] = $250; - $253 = HEAP32[$nCol>>2]|0; - $254 = HEAP32[$p>>2]|0; - $255 = ((($254)) + 24|0); - HEAP32[$255>>2] = $253; - $256 = HEAP32[$p>>2]|0; - $257 = ((($256)) + 260|0); - HEAP32[$257>>2] = 0; - $258 = HEAP32[$p>>2]|0; - $259 = ((($258)) + 280|0); - $260 = HEAP32[$p>>2]|0; - $261 = ((($260)) + 28|0); - HEAP32[$261>>2] = $259; - $262 = HEAP32[$pTokenizer>>2]|0; - $263 = HEAP32[$p>>2]|0; - $264 = ((($263)) + 36|0); - HEAP32[$264>>2] = $262; - $265 = HEAP32[$p>>2]|0; - $266 = ((($265)) + 256|0); - HEAP32[$266>>2] = 1048576; - $267 = HEAP32[$isFts4>>2]|0; - $268 = ($267|0)!=(0); - $269 = HEAP32[$bNoDocsize>>2]|0; - $270 = ($269|0)==(0); - $271 = $268 ? $270 : 0; - $272 = $271&1; - $273 = $272&255; - $274 = HEAP32[$p>>2]|0; - $275 = ((($274)) + 230|0); - HEAP8[$275>>0] = $273; - $276 = HEAP32[$isFts4>>2]|0; - $277 = $276&255; - $278 = HEAP32[$p>>2]|0; - $279 = ((($278)) + 229|0); - HEAP8[$279>>0] = $277; - $280 = HEAP32[$isFts4>>2]|0; - $281 = $280&255; - $282 = HEAP32[$p>>2]|0; - $283 = ((($282)) + 228|0); - HEAP8[$283>>0] = $281; - $284 = HEAP32[$bDescIdx>>2]|0; - $285 = $284&255; - $286 = HEAP32[$p>>2]|0; - $287 = ((($286)) + 231|0); - HEAP8[$287>>0] = $285; - $288 = HEAP32[$p>>2]|0; - $289 = ((($288)) + 48|0); - HEAP32[$289>>2] = 255; - $290 = HEAP32[$zContent>>2]|0; - $291 = HEAP32[$p>>2]|0; - $292 = ((($291)) + 40|0); - HEAP32[$292>>2] = $290; - $293 = HEAP32[$zLanguageid>>2]|0; - $294 = HEAP32[$p>>2]|0; - $295 = ((($294)) + 44|0); - HEAP32[$295>>2] = $293; - HEAP32[$zContent>>2] = 0; - HEAP32[$zLanguageid>>2] = 0; - $296 = HEAP32[$nCol>>2]|0; - $297 = HEAP32[$p>>2]|0; - $298 = ((($297)) + 28|0); - $299 = HEAP32[$298>>2]|0; - $300 = (($299) + ($296<<2)|0); - $301 = HEAP32[$p>>2]|0; - $302 = ((($301)) + 252|0); - HEAP32[$302>>2] = $300; - $303 = HEAP32[$p>>2]|0; - $304 = ((($303)) + 252|0); - $305 = HEAP32[$304>>2]|0; - $306 = HEAP32[$aIndex>>2]|0; - $307 = HEAP32[$nIndex>>2]|0; - $308 = ($307*24)|0; - _memcpy(($305|0),($306|0),($308|0))|0; - $309 = HEAP32[$nIndex>>2]|0; - $310 = HEAP32[$p>>2]|0; - $311 = ((($310)) + 248|0); - HEAP32[$311>>2] = $309; - HEAP32[$i>>2] = 0; + HEAP32[$13>>2] = 0; while(1) { - $312 = HEAP32[$i>>2]|0; - $313 = HEAP32[$nIndex>>2]|0; - $314 = ($312|0)<($313|0); - if (!($314)) { + $155 = HEAP32[$13>>2]|0; + $156 = HEAP32[$2>>2]|0; + $157 = ((($156)) + 18|0); + $158 = HEAP16[$157>>1]|0; + $159 = $158&65535; + $160 = ($155|0)<($159|0); + if (!($160)) { + label = 17; break; } - $315 = HEAP32[$i>>2]|0; - $316 = HEAP32[$p>>2]|0; - $317 = ((($316)) + 252|0); - $318 = HEAP32[$317>>2]|0; - $319 = (($318) + (($315*24)|0)|0); - $320 = ((($319)) + 4|0); - _sqlite3Fts3HashInit($320,1,1); - $321 = HEAP32[$i>>2]|0; - $322 = (($321) + 1)|0; - HEAP32[$i>>2] = $322; - } - $323 = HEAP32[$nIndex>>2]|0; - $324 = HEAP32[$p>>2]|0; - $325 = ((($324)) + 252|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + (($323*24)|0)|0); - $328 = HEAP32[$p>>2]|0; - $329 = ((($328)) + 32|0); - HEAP32[$329>>2] = $327; - $330 = HEAP32[$nCol>>2]|0; - $331 = HEAP32[$p>>2]|0; - $332 = ((($331)) + 32|0); - $333 = HEAP32[$332>>2]|0; - $334 = (($333) + ($330)|0); - HEAP32[$zCsr>>2] = $334; - $335 = HEAP32[$zCsr>>2]|0; - $336 = HEAP32[$p>>2]|0; - $337 = ((($336)) + 20|0); - HEAP32[$337>>2] = $335; - $338 = HEAP32[$zCsr>>2]|0; - $339 = HEAP32[$4>>2]|0; - $340 = ((($339)) + 8|0); - $341 = HEAP32[$340>>2]|0; - $342 = HEAP32[$nName>>2]|0; - _memcpy(($338|0),($341|0),($342|0))|0; - $343 = HEAP32[$nName>>2]|0; - $344 = HEAP32[$zCsr>>2]|0; - $345 = (($344) + ($343)|0); - HEAP32[$zCsr>>2] = $345; - $346 = HEAP32[$zCsr>>2]|0; - $347 = HEAP32[$p>>2]|0; - $348 = ((($347)) + 16|0); - HEAP32[$348>>2] = $346; - $349 = HEAP32[$zCsr>>2]|0; - $350 = HEAP32[$4>>2]|0; - $351 = ((($350)) + 4|0); - $352 = HEAP32[$351>>2]|0; - $353 = HEAP32[$nDb>>2]|0; - _memcpy(($349|0),($352|0),($353|0))|0; - $354 = HEAP32[$nDb>>2]|0; - $355 = HEAP32[$zCsr>>2]|0; - $356 = (($355) + ($354)|0); - HEAP32[$zCsr>>2] = $356; - HEAP32[$iCol>>2] = 0; - while(1) { - $357 = HEAP32[$iCol>>2]|0; - $358 = HEAP32[$nCol>>2]|0; - $359 = ($357|0)<($358|0); - if (!($359)) { + $161 = HEAP32[$5>>2]|0; + $162 = HEAP16[$8>>1]|0; + $163 = $162&65535; + $164 = HEAP32[$13>>2]|0; + $165 = $164<<1; + $166 = (($163) + ($165))|0; + $167 = (($161) + ($166)|0); + $168 = HEAP8[$167>>0]|0; + $169 = $168&255; + $170 = $169 << 8; + $171 = HEAP32[$5>>2]|0; + $172 = HEAP16[$8>>1]|0; + $173 = $172&65535; + $174 = HEAP32[$13>>2]|0; + $175 = $174<<1; + $176 = (($173) + ($175))|0; + $177 = (($171) + ($176)|0); + $178 = ((($177)) + 1|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = $170 | $180; + $182 = $181&65535; + HEAP16[$3>>1] = $182; + $183 = HEAP16[$3>>1]|0; + $184 = $183&65535; + $185 = HEAP32[$11>>2]|0; + $186 = ($184|0)<($185|0); + if ($186) { + label = 13; break; } - HEAP32[$n>>2] = 0; - $360 = HEAP32[$iCol>>2]|0; - $361 = HEAP32[$aCol>>2]|0; - $362 = (($361) + ($360<<2)|0); - $363 = HEAP32[$362>>2]|0; - $364 = (_sqlite3Fts3NextToken($363,$n)|0); - HEAP32[$z1>>2] = $364; - $365 = HEAP32[$zCsr>>2]|0; - $366 = HEAP32[$z1>>2]|0; - $367 = HEAP32[$n>>2]|0; - _memcpy(($365|0),($366|0),($367|0))|0; - $368 = HEAP32[$n>>2]|0; - $369 = HEAP32[$zCsr>>2]|0; - $370 = (($369) + ($368)|0); - HEAP8[$370>>0] = 0; - $371 = HEAP32[$zCsr>>2]|0; - _sqlite3Fts3Dequote($371); - $372 = HEAP32[$zCsr>>2]|0; - $373 = HEAP32[$iCol>>2]|0; - $374 = HEAP32[$p>>2]|0; - $375 = ((($374)) + 28|0); - $376 = HEAP32[$375>>2]|0; - $377 = (($376) + ($373<<2)|0); - HEAP32[$377>>2] = $372; - $378 = HEAP32[$n>>2]|0; - $379 = (($378) + 1)|0; - $380 = HEAP32[$zCsr>>2]|0; - $381 = (($380) + ($379)|0); - HEAP32[$zCsr>>2] = $381; - $382 = HEAP32[$iCol>>2]|0; - $383 = (($382) + 1)|0; - HEAP32[$iCol>>2] = $383; - } - HEAP32[$iCol>>2] = 0; - while(1) { - $384 = HEAP32[$iCol>>2]|0; - $385 = HEAP32[$nCol>>2]|0; - $386 = ($384|0)<($385|0); - if (!($386)) { + $187 = HEAP16[$3>>1]|0; + $188 = $187&65535; + $189 = HEAP32[$12>>2]|0; + $190 = ($188|0)>($189|0); + if ($190) { + label = 13; break; } - $387 = HEAP32[$iCol>>2]|0; - $388 = HEAP32[$p>>2]|0; - $389 = ((($388)) + 28|0); - $390 = HEAP32[$389>>2]|0; - $391 = (($390) + ($387<<2)|0); - $392 = HEAP32[$391>>2]|0; - $393 = (_strlen($392)|0); - HEAP32[$n2>>2] = $393; - HEAP32[$i>>2] = 0; - while(1) { - $394 = HEAP32[$i>>2]|0; - $395 = HEAP32[$nNotindexed>>2]|0; - $396 = ($394|0)<($395|0); - if (!($396)) { - break; - } - $397 = HEAP32[$i>>2]|0; - $398 = HEAP32[$azNotindexed>>2]|0; - $399 = (($398) + ($397<<2)|0); - $400 = HEAP32[$399>>2]|0; - HEAP32[$zNot>>2] = $400; - $401 = HEAP32[$zNot>>2]|0; - $402 = ($401|0)!=(0|0); - if ($402) { - $403 = HEAP32[$n2>>2]|0; - $404 = HEAP32[$zNot>>2]|0; - $405 = (_strlen($404)|0); - $406 = ($403|0)==($405|0); - if ($406) { - $407 = HEAP32[$iCol>>2]|0; - $408 = HEAP32[$p>>2]|0; - $409 = ((($408)) + 28|0); - $410 = HEAP32[$409>>2]|0; - $411 = (($410) + ($407<<2)|0); - $412 = HEAP32[$411>>2]|0; - $413 = HEAP32[$zNot>>2]|0; - $414 = HEAP32[$n2>>2]|0; - $415 = (_sqlite3_strnicmp($412,$413,$414)|0); - $416 = (0)==($415|0); - if ($416) { - $417 = HEAP32[$iCol>>2]|0; - $418 = HEAP32[$p>>2]|0; - $419 = ((($418)) + 32|0); - $420 = HEAP32[$419>>2]|0; - $421 = (($420) + ($417)|0); - HEAP8[$421>>0] = 1; - $422 = HEAP32[$zNot>>2]|0; - _sqlite3_free($422); - $423 = HEAP32[$i>>2]|0; - $424 = HEAP32[$azNotindexed>>2]|0; - $425 = (($424) + ($423<<2)|0); - HEAP32[$425>>2] = 0; - } - } - } - $426 = HEAP32[$i>>2]|0; - $427 = (($426) + 1)|0; - HEAP32[$i>>2] = $427; - } - $428 = HEAP32[$iCol>>2]|0; - $429 = (($428) + 1)|0; - HEAP32[$iCol>>2] = $429; - } - HEAP32[$i>>2] = 0; - while(1) { - $430 = HEAP32[$i>>2]|0; - $431 = HEAP32[$nNotindexed>>2]|0; - $432 = ($430|0)<($431|0); - if (!($432)) { + $192 = HEAP32[$2>>2]|0; + $193 = ((($192)) + 76|0); + $194 = HEAP32[$193>>2]|0; + $195 = HEAP32[$2>>2]|0; + $196 = HEAP32[$5>>2]|0; + $197 = HEAP16[$3>>1]|0; + $198 = $197&65535; + $199 = (($196) + ($198)|0); + $200 = (FUNCTION_TABLE_iii[$194 & 255]($195,$199)|0); + $201 = $200&65535; + HEAP32[$14>>2] = $201; + $202 = HEAP16[$3>>1]|0; + $203 = $202&65535; + $204 = HEAP32[$14>>2]|0; + $205 = (($203) + ($204))|0; + $206 = HEAP32[$7>>2]|0; + $207 = ($205|0)>($206|0); + if ($207) { + label = 15; break; } - $433 = HEAP32[$i>>2]|0; - $434 = HEAP32[$azNotindexed>>2]|0; - $435 = (($434) + ($433<<2)|0); - $436 = HEAP32[$435>>2]|0; - $437 = ($436|0)!=(0|0); - if ($437) { - $438 = HEAP32[$6>>2]|0; - $439 = HEAP32[$i>>2]|0; - $440 = HEAP32[$azNotindexed>>2]|0; - $441 = (($440) + ($439<<2)|0); - $442 = HEAP32[$441>>2]|0; - HEAP32[$vararg_buffer17>>2] = $442; - _sqlite3Fts3ErrMsg($438,24144,$vararg_buffer17); - HEAP32[$rc>>2] = 1; - } - $443 = HEAP32[$i>>2]|0; - $444 = (($443) + 1)|0; - HEAP32[$i>>2] = $444; + $209 = HEAP32[$13>>2]|0; + $210 = (($209) + 1)|0; + HEAP32[$13>>2] = $210; } - $445 = HEAP32[$rc>>2]|0; - $446 = ($445|0)==(0); - if ($446) { - $447 = HEAP32[$zCompress>>2]|0; - $448 = ($447|0)==(0|0); - $449 = $448&1; - $450 = HEAP32[$zUncompress>>2]|0; - $451 = ($450|0)==(0|0); - $452 = $451&1; - $453 = ($449|0)!=($452|0); - if ($453) { - $454 = HEAP32[$zCompress>>2]|0; - $455 = ($454|0)==(0|0); - $456 = $455 ? 24163 : 24172; - HEAP32[$zMiss>>2] = $456; - HEAP32[$rc>>2] = 1; - $457 = HEAP32[$6>>2]|0; - $458 = HEAP32[$zMiss>>2]|0; - HEAP32[$vararg_buffer20>>2] = $458; - _sqlite3Fts3ErrMsg($457,24183,$vararg_buffer20); - } + if ((label|0) == 13) { + $191 = (_sqlite3CorruptError(60052)|0); + HEAP32[$1>>2] = $191; + $326 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($326|0); } - $459 = HEAP32[$p>>2]|0; - $460 = HEAP32[$zUncompress>>2]|0; - $461 = (_fts3ReadExprList($459,$460,$rc)|0); - $462 = HEAP32[$p>>2]|0; - $463 = ((($462)) + 216|0); - HEAP32[$463>>2] = $461; - $464 = HEAP32[$p>>2]|0; - $465 = HEAP32[$zCompress>>2]|0; - $466 = (_fts3WriteExprList($464,$465,$rc)|0); - $467 = HEAP32[$p>>2]|0; - $468 = ((($467)) + 220|0); - HEAP32[$468>>2] = $466; - $469 = HEAP32[$rc>>2]|0; - $470 = ($469|0)!=(0); - if (!($470)) { - $471 = HEAP32[$0>>2]|0; - $472 = ($471|0)!=(0); - if ($472) { - $473 = HEAP32[$p>>2]|0; - $474 = (_fts3CreateTables($473)|0); - HEAP32[$rc>>2] = $474; - } - $475 = HEAP32[$isFts4>>2]|0; - $476 = ($475|0)!=(0); - $477 = HEAP32[$0>>2]|0; - $478 = ($477|0)!=(0); - $or$cond7 = $476 | $478; - if (!($or$cond7)) { - $479 = HEAP32[$p>>2]|0; - $480 = ((($479)) + 229|0); - HEAP8[$480>>0] = 2; + else if ((label|0) == 15) { + $208 = (_sqlite3CorruptError(60057)|0); + HEAP32[$1>>2] = $208; + $326 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($326|0); + } + else if ((label|0) == 17) { + $211 = HEAP32[$2>>2]|0; + $212 = ((($211)) + 4|0); + $213 = HEAP8[$212>>0]|0; + $214 = ($213<<24>>24)!=(0); + if ($214) { + break; } - $481 = HEAP32[$p>>2]|0; - _fts3DatabasePageSize($rc,$481); - $482 = HEAP32[$p>>2]|0; - $483 = ((($482)) + 236|0); - $484 = HEAP32[$483>>2]|0; - $485 = (($484) - 35)|0; - $486 = HEAP32[$p>>2]|0; - $487 = ((($486)) + 224|0); - HEAP32[$487>>2] = $485; - $488 = HEAP32[$p>>2]|0; - _fts3DeclareVtab($rc,$488); + $215 = HEAP32[$12>>2]|0; + $216 = (($215) + 1)|0; + HEAP32[$12>>2] = $216; + break; + } + } + } while(0); + $217 = HEAP32[$5>>2]|0; + $218 = HEAP8[$4>>0]|0; + $219 = $218&255; + $220 = (($219) + 1)|0; + $221 = (($217) + ($220)|0); + $222 = HEAP8[$221>>0]|0; + $223 = $222&255; + $224 = $223 << 8; + $225 = HEAP32[$5>>2]|0; + $226 = HEAP8[$4>>0]|0; + $227 = $226&255; + $228 = (($227) + 1)|0; + $229 = (($225) + ($228)|0); + $230 = ((($229)) + 1|0); + $231 = HEAP8[$230>>0]|0; + $232 = $231&255; + $233 = $224 | $232; + $234 = $233&65535; + HEAP16[$3>>1] = $234; + $235 = HEAP32[$5>>2]|0; + $236 = HEAP8[$4>>0]|0; + $237 = $236&255; + $238 = (($237) + 7)|0; + $239 = (($235) + ($238)|0); + $240 = HEAP8[$239>>0]|0; + $241 = $240&255; + $242 = HEAP32[$10>>2]|0; + $243 = (($241) + ($242))|0; + HEAP32[$9>>2] = $243; + while(1) { + $244 = HEAP16[$3>>1]|0; + $245 = $244&65535; + $246 = ($245|0)>(0); + if (!($246)) { + label = 29; + break; + } + $247 = HEAP16[$3>>1]|0; + $248 = $247&65535; + $249 = HEAP32[$11>>2]|0; + $250 = ($248|0)<($249|0); + if ($250) { + label = 23; + break; + } + $251 = HEAP16[$3>>1]|0; + $252 = $251&65535; + $253 = HEAP32[$12>>2]|0; + $254 = ($252|0)>($253|0); + if ($254) { + label = 23; + break; + } + $256 = HEAP32[$5>>2]|0; + $257 = HEAP16[$3>>1]|0; + $258 = $257&65535; + $259 = (($256) + ($258)|0); + $260 = HEAP8[$259>>0]|0; + $261 = $260&255; + $262 = $261 << 8; + $263 = HEAP32[$5>>2]|0; + $264 = HEAP16[$3>>1]|0; + $265 = $264&65535; + $266 = (($263) + ($265)|0); + $267 = ((($266)) + 1|0); + $268 = HEAP8[$267>>0]|0; + $269 = $268&255; + $270 = $262 | $269; + $271 = $270&65535; + HEAP16[$15>>1] = $271; + $272 = HEAP32[$5>>2]|0; + $273 = HEAP16[$3>>1]|0; + $274 = $273&65535; + $275 = (($274) + 2)|0; + $276 = (($272) + ($275)|0); + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $279 = $278 << 8; + $280 = HEAP32[$5>>2]|0; + $281 = HEAP16[$3>>1]|0; + $282 = $281&65535; + $283 = (($282) + 2)|0; + $284 = (($280) + ($283)|0); + $285 = ((($284)) + 1|0); + $286 = HEAP8[$285>>0]|0; + $287 = $286&255; + $288 = $279 | $287; + $289 = $288&65535; + HEAP16[$16>>1] = $289; + $290 = HEAP16[$15>>1]|0; + $291 = $290&65535; + $292 = ($291|0)>(0); + if ($292) { + $293 = HEAP16[$15>>1]|0; + $294 = $293&65535; + $295 = HEAP16[$3>>1]|0; + $296 = $295&65535; + $297 = HEAP16[$16>>1]|0; + $298 = $297&65535; + $299 = (($296) + ($298))|0; + $300 = (($299) + 3)|0; + $301 = ($294|0)<=($300|0); + if ($301) { + label = 27; + break; } } + $302 = HEAP16[$3>>1]|0; + $303 = $302&65535; + $304 = HEAP16[$16>>1]|0; + $305 = $304&65535; + $306 = (($303) + ($305))|0; + $307 = HEAP32[$7>>2]|0; + $308 = ($306|0)>($307|0); + if ($308) { + label = 27; + break; + } + $310 = HEAP32[$9>>2]|0; + $311 = HEAP16[$16>>1]|0; + $312 = $311&65535; + $313 = (($310) + ($312))|0; + HEAP32[$9>>2] = $313; + $314 = HEAP16[$15>>1]|0; + HEAP16[$3>>1] = $314; + } + if ((label|0) == 23) { + $255 = (_sqlite3CorruptError(60077)|0); + HEAP32[$1>>2] = $255; + $326 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($326|0); + } + else if ((label|0) == 27) { + $309 = (_sqlite3CorruptError(60084)|0); + HEAP32[$1>>2] = $309; + $326 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($326|0); + } + else if ((label|0) == 29) { + $315 = HEAP32[$9>>2]|0; + $316 = HEAP32[$7>>2]|0; + $317 = ($315|0)>($316|0); + if (!($317)) { + $319 = HEAP32[$9>>2]|0; + $320 = HEAP32[$11>>2]|0; + $321 = (($319) - ($320))|0; + $322 = $321&65535; + $323 = HEAP32[$2>>2]|0; + $324 = ((($323)) + 16|0); + HEAP16[$324>>1] = $322; + $325 = HEAP32[$2>>2]|0; + HEAP8[$325>>0] = 1; + break; + } + $318 = (_sqlite3CorruptError(60098)|0); + HEAP32[$1>>2] = $318; + $326 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($326|0); } - } else { - HEAP32[$rc>>2] = 7; } } while(0); - $489 = HEAP32[$zPrefix>>2]|0; - _sqlite3_free($489); - $490 = HEAP32[$aIndex>>2]|0; - _sqlite3_free($490); - $491 = HEAP32[$zCompress>>2]|0; - _sqlite3_free($491); - $492 = HEAP32[$zUncompress>>2]|0; - _sqlite3_free($492); - $493 = HEAP32[$zContent>>2]|0; - _sqlite3_free($493); - $494 = HEAP32[$zLanguageid>>2]|0; - _sqlite3_free($494); - HEAP32[$i>>2] = 0; - while(1) { - $495 = HEAP32[$i>>2]|0; - $496 = HEAP32[$nNotindexed>>2]|0; - $497 = ($495|0)<($496|0); - if (!($497)) { - break; - } - $498 = HEAP32[$i>>2]|0; - $499 = HEAP32[$azNotindexed>>2]|0; - $500 = (($499) + ($498<<2)|0); - $501 = HEAP32[$500>>2]|0; - _sqlite3_free($501); - $502 = HEAP32[$i>>2]|0; - $503 = (($502) + 1)|0; - HEAP32[$i>>2] = $503; - } - $504 = HEAP32[$aCol>>2]|0; - _sqlite3_free($504); - $505 = HEAP32[$azNotindexed>>2]|0; - _sqlite3_free($505); - $506 = HEAP32[$rc>>2]|0; - $507 = ($506|0)!=(0); - $508 = HEAP32[$p>>2]|0; - if (!($507)) { - $518 = HEAP32[$5>>2]|0; - HEAP32[$518>>2] = $508; - $519 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($519|0); - } - $509 = ($508|0)!=(0|0); - if ($509) { - $510 = HEAP32[$p>>2]|0; - (_fts3DisconnectMethod($510)|0); - $519 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($519|0); - } - $511 = HEAP32[$pTokenizer>>2]|0; - $512 = ($511|0)!=(0|0); - if (!($512)) { - $519 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($519|0); - } - $513 = HEAP32[$pTokenizer>>2]|0; - $514 = HEAP32[$513>>2]|0; - $515 = ((($514)) + 8|0); - $516 = HEAP32[$515>>2]|0; - $517 = HEAP32[$pTokenizer>>2]|0; - (FUNCTION_TABLE_ii[$516 & 255]($517)|0); - $519 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($519|0); + HEAP32[$1>>2] = 0; + $326 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($326|0); } -function _sqlite3Fts3IsIdChar($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _decodeFlags($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $$sink3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $btreeParseCellPtrNoPayload$sink = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP8[$0>>0] = $c; - $1 = HEAP8[$0>>0]|0; - $2 = $1 << 24 >> 24; - $3 = $2 & 128; - $4 = ($3|0)!=(0); - if ($4) { - $12 = 1; - $11 = $12&1; - STACKTOP = sp;return ($11|0); - } - $5 = HEAP8[$0>>0]|0; - $6 = $5 << 24 >> 24; - $7 = (24865 + ($6)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)!=(0); - $12 = $10; - $11 = $12&1; - STACKTOP = sp;return ($11|0); -} -function _sqlite3Fts3InitTokenizer($pHash,$zArg,$ppTok,$pzErr) { - $pHash = $pHash|0; - $zArg = $zArg|0; - $ppTok = $ppTok|0; - $pzErr = $pzErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $aArg = 0, $aNew = 0, $iArg = 0, $m = 0, $n = 0, $nNew = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $z = 0, $zCopy = 0, $zEnd = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = sp + 60|0; - $rc = sp + 56|0; - $z = sp + 52|0; - $n = sp + 48|0; - $zCopy = sp + 44|0; - $zEnd = sp + 40|0; - $m = sp + 36|0; - $aArg = sp + 32|0; - $iArg = sp + 28|0; - $nNew = sp + 24|0; - $aNew = sp + 20|0; - HEAP32[$1>>2] = $pHash; - HEAP32[$2>>2] = $zArg; - HEAP32[$3>>2] = $ppTok; - HEAP32[$4>>2] = $pzErr; - $5 = HEAP32[$2>>2]|0; - HEAP32[$z>>2] = $5; - HEAP32[$n>>2] = 0; - $6 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $6; - $7 = (_sqlite3_mprintf(18391,$vararg_buffer)|0); - HEAP32[$zCopy>>2] = $7; - $8 = HEAP32[$zCopy>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - HEAP32[$0>>2] = 7; - $83 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($83|0); - } - $10 = HEAP32[$zCopy>>2]|0; - $11 = (_strlen($10)|0); - $12 = HEAP32[$zCopy>>2]|0; - $13 = (($12) + ($11)|0); - HEAP32[$zEnd>>2] = $13; - $14 = HEAP32[$zCopy>>2]|0; - $15 = (_sqlite3Fts3NextToken($14,$n)|0); - HEAP32[$z>>2] = $15; - $16 = HEAP32[$z>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - $18 = HEAP32[$zCopy>>2]|0; - HEAP32[$z>>2] = $18; - } - $19 = HEAP32[$n>>2]|0; - $20 = HEAP32[$z>>2]|0; - $21 = (($20) + ($19)|0); - HEAP8[$21>>0] = 0; - $22 = HEAP32[$z>>2]|0; - _sqlite3Fts3Dequote($22); - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$z>>2]|0; - $25 = HEAP32[$z>>2]|0; - $26 = (_strlen($25)|0); - $27 = (($26) + 1)|0; - $28 = (_sqlite3Fts3HashFind($23,$24,$27)|0); - HEAP32[$m>>2] = $28; - $29 = HEAP32[$m>>2]|0; - $30 = ($29|0)!=(0|0); - if ($30) { - HEAP32[$aArg>>2] = 0; - HEAP32[$iArg>>2] = 0; - $33 = HEAP32[$n>>2]|0; - $34 = (($33) + 1)|0; - $35 = HEAP32[$z>>2]|0; - $36 = (($35) + ($34)|0); - HEAP32[$z>>2] = $36; - while(1) { - $37 = HEAP32[$z>>2]|0; - $38 = HEAP32[$zEnd>>2]|0; - $39 = ($37>>>0)<($38>>>0); - if (!($39)) { - break; - } - $40 = HEAP32[$z>>2]|0; - $41 = (_sqlite3Fts3NextToken($40,$n)|0); - HEAP32[$z>>2] = $41; - $42 = (0|0)!=($41|0); - if (!($42)) { - break; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$4>>2]|0; + $7 = $6 >> 3; + $8 = $7&255; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 4|0); + HEAP8[$10>>0] = $8; + $11 = HEAP32[$4>>2]|0; + $12 = $11 & -9; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16<<2; + $18 = (4 - ($17))|0; + $19 = $18&255; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 6|0); + HEAP8[$21>>0] = $19; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 76|0); + HEAP32[$23>>2] = 194; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 52|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$5>>2] = $26; + $27 = HEAP32[$4>>2]|0; + $28 = ($27|0)==(5); + do { + if ($28) { + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 2|0); + HEAP8[$30>>0] = 1; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)!=(0); + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 3|0); + if ($34) { + HEAP8[$36>>0] = 1; + $37 = HEAP32[$3>>2]|0; + $$sink1 = $37;$btreeParseCellPtrNoPayload$sink = 230; + } else { + HEAP8[$36>>0] = 0; + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 76|0); + HEAP32[$39>>2] = 195; + $40 = HEAP32[$3>>2]|0; + $$sink1 = $40;$btreeParseCellPtrNoPayload$sink = 231; } - $43 = HEAP32[$iArg>>2]|0; - $44 = (($43) + 1)|0; - $45 = $44<<2; - HEAP32[$nNew>>2] = $45; - $46 = HEAP32[$aArg>>2]|0; - $47 = HEAP32[$nNew>>2]|0; - $48 = (_sqlite3_realloc($46,$47)|0); - HEAP32[$aNew>>2] = $48; - $49 = HEAP32[$aNew>>2]|0; - $50 = ($49|0)!=(0|0); - if (!($50)) { - label = 11; + $41 = ((($$sink1)) + 80|0); + HEAP32[$41>>2] = $btreeParseCellPtrNoPayload$sink; + $42 = HEAP32[$5>>2]|0; + $43 = ((($42)) + 28|0); + $44 = HEAP16[$43>>1]|0; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 10|0); + HEAP16[$46>>1] = $44; + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 30|0); + $49 = HEAP16[$48>>1]|0; + $50 = HEAP32[$3>>2]|0; + $$sink = $49;$$sink3 = $50; + } else { + $51 = HEAP32[$4>>2]|0; + $52 = ($51|0)==(2); + if ($52) { + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 2|0); + HEAP8[$54>>0] = 0; + $55 = HEAP32[$3>>2]|0; + $56 = ((($55)) + 3|0); + HEAP8[$56>>0] = 0; + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 80|0); + HEAP32[$58>>2] = 229; + $59 = HEAP32[$5>>2]|0; + $60 = ((($59)) + 24|0); + $61 = HEAP16[$60>>1]|0; + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 10|0); + HEAP16[$63>>1] = $61; + $64 = HEAP32[$5>>2]|0; + $65 = ((($64)) + 26|0); + $66 = HEAP16[$65>>1]|0; + $67 = HEAP32[$3>>2]|0; + $$sink = $66;$$sink3 = $67; break; } - $53 = HEAP32[$aNew>>2]|0; - HEAP32[$aArg>>2] = $53; - $54 = HEAP32[$z>>2]|0; - $55 = HEAP32[$iArg>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$iArg>>2] = $56; - $57 = HEAP32[$aArg>>2]|0; - $58 = (($57) + ($55<<2)|0); - HEAP32[$58>>2] = $54; - $59 = HEAP32[$n>>2]|0; - $60 = HEAP32[$z>>2]|0; - $61 = (($60) + ($59)|0); - HEAP8[$61>>0] = 0; - $62 = HEAP32[$z>>2]|0; - _sqlite3Fts3Dequote($62); - $63 = HEAP32[$n>>2]|0; - $64 = (($63) + 1)|0; - $65 = HEAP32[$z>>2]|0; - $66 = (($65) + ($64)|0); - HEAP32[$z>>2] = $66; - } - if ((label|0) == 11) { - $51 = HEAP32[$zCopy>>2]|0; - _sqlite3_free($51); - $52 = HEAP32[$aArg>>2]|0; - _sqlite3_free($52); - HEAP32[$0>>2] = 7; - $83 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($83|0); - } - $67 = HEAP32[$m>>2]|0; - $68 = ((($67)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$iArg>>2]|0; - $71 = HEAP32[$aArg>>2]|0; - $72 = HEAP32[$3>>2]|0; - $73 = (FUNCTION_TABLE_iiii[$69 & 255]($70,$71,$72)|0); - HEAP32[$rc>>2] = $73; - $74 = HEAP32[$rc>>2]|0; - $75 = ($74|0)!=(0); - if ($75) { - $76 = HEAP32[$4>>2]|0; - _sqlite3Fts3ErrMsg($76,24847,$vararg_buffer4); - } else { - $77 = HEAP32[$m>>2]|0; - $78 = HEAP32[$3>>2]|0; - $79 = HEAP32[$78>>2]|0; - HEAP32[$79>>2] = $77; + $68 = (_sqlite3CorruptError(59964)|0); + HEAP32[$2>>2] = $68; + $75 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($75|0); } - $80 = HEAP32[$aArg>>2]|0; - _sqlite3_free($80); - } else { - $31 = HEAP32[$4>>2]|0; - $32 = HEAP32[$z>>2]|0; - HEAP32[$vararg_buffer1>>2] = $32; - _sqlite3Fts3ErrMsg($31,20595,$vararg_buffer1); - HEAP32[$rc>>2] = 1; - } - $81 = HEAP32[$zCopy>>2]|0; - _sqlite3_free($81); - $82 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $82; - $83 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($83|0); + } while(0); + $69 = ((($$sink3)) + 12|0); + HEAP16[$69>>1] = $$sink; + $70 = HEAP32[$5>>2]|0; + $71 = ((($70)) + 21|0); + $72 = HEAP8[$71>>0]|0; + $73 = HEAP32[$3>>2]|0; + $74 = ((($73)) + 7|0); + HEAP8[$74>>0] = $72; + HEAP32[$2>>2] = 0; + $75 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($75|0); } -function _fts3IsSpecialColumn($z,$pnKey,$pzValue) { - $z = $z|0; - $pnKey = $pnKey|0; - $pzValue = $pzValue|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $zCsr = 0, $zValue = 0, label = 0, sp = 0; +function _cellSizePtr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $zValue = sp + 8|0; - $zCsr = sp + 4|0; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $pnKey; - HEAP32[$3>>2] = $pzValue; - $4 = HEAP32[$1>>2]|0; - HEAP32[$zCsr>>2] = $4; - while(1) { - $5 = HEAP32[$zCsr>>2]|0; - $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - $8 = ($7|0)!=(61); - $9 = HEAP32[$zCsr>>2]|0; - if (!($8)) { - break; - } - $10 = HEAP8[$9>>0]|0; - $11 = $10 << 24 >> 24; - $12 = ($11|0)==(0); - if ($12) { - label = 4; - break; - } - $13 = HEAP32[$zCsr>>2]|0; - $14 = ((($13)) + 1|0); - HEAP32[$zCsr>>2] = $14; - } - if ((label|0) == 4) { - HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); - } - $15 = HEAP32[$1>>2]|0; - $16 = $9; - $17 = $15; - $18 = (($16) - ($17))|0; - $19 = HEAP32[$2>>2]|0; - HEAP32[$19>>2] = $18; - $20 = HEAP32[$zCsr>>2]|0; - $21 = ((($20)) + 1|0); - HEAP32[$vararg_buffer>>2] = $21; - $22 = (_sqlite3_mprintf(18391,$vararg_buffer)|0); - HEAP32[$zValue>>2] = $22; - $23 = HEAP32[$zValue>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$zValue>>2]|0; - _sqlite3Fts3Dequote($25); - } - $26 = HEAP32[$zValue>>2]|0; - $27 = HEAP32[$3>>2]|0; - HEAP32[$27>>2] = $26; - HEAP32[$0>>2] = 1; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); -} -function _fts3ContentColumns($db,$zDb,$zTbl,$pazCol,$pnCol,$pnStr,$pzErr) { - $db = $db|0; - $zDb = $zDb|0; - $zTbl = $zTbl|0; - $pazCol = $pazCol|0; - $pnCol = $pnCol|0; - $pnStr = $pnStr|0; - $pzErr = $pzErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $azCol = 0, $i = 0, $n = 0; - var $nCol = 0, $nStr = 0, $p = 0, $pStmt = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $zCol = 0, $zCol1 = 0, $zSql = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - $6 = sp + 56|0; - $rc = sp + 52|0; - $zSql = sp + 48|0; - $pStmt = sp + 44|0; - $azCol = sp + 40|0; - $nStr = sp + 36|0; - $nCol = sp + 32|0; - $i = sp + 28|0; - $zCol = sp + 24|0; - $p = sp + 20|0; - $zCol1 = sp + 16|0; - $n = sp + 12|0; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zDb; - HEAP32[$2>>2] = $zTbl; - HEAP32[$3>>2] = $pazCol; - HEAP32[$4>>2] = $pnCol; - HEAP32[$5>>2] = $pnStr; - HEAP32[$6>>2] = $pzErr; - HEAP32[$rc>>2] = 0; - HEAP32[$pStmt>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $7; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $9 = (_sqlite3_mprintf(24792,$vararg_buffer)|0); - HEAP32[$zSql>>2] = $9; - $10 = HEAP32[$zSql>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$zSql>>2]|0; - $14 = (_sqlite3_prepare($12,$13,-1,$pStmt,0)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)!=(0); - if ($16) { - $17 = HEAP32[$6>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = (_sqlite3_errmsg($18)|0); - HEAP32[$vararg_buffer2>>2] = $19; - _sqlite3Fts3ErrMsg($17,18391,$vararg_buffer2); - } - } else { - HEAP32[$rc>>2] = 7; - } - $20 = HEAP32[$zSql>>2]|0; - _sqlite3_free($20); - $21 = HEAP32[$rc>>2]|0; - $22 = ($21|0)==(0); - if (!($22)) { - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); - } - HEAP32[$nStr>>2] = 0; - $23 = HEAP32[$pStmt>>2]|0; - $24 = (_sqlite3_column_count($23)|0); - HEAP32[$nCol>>2] = $24; - HEAP32[$i>>2] = 0; - while(1) { - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$nCol>>2]|0; - $27 = ($25|0)<($26|0); - if (!($27)) { - break; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 6|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = (($8) + ($12)|0); + HEAP32[$4>>2] = $13; + $14 = HEAP32[$4>>2]|0; + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ($17>>>0)>=(128); + L1: do { + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$5>>2] = $20; + $21 = HEAP32[$6>>2]|0; + $22 = $21 & 127; + HEAP32[$6>>2] = $22; + while(1) { + $23 = HEAP32[$6>>2]|0; + $24 = $23 << 7; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 1|0); + HEAP32[$4>>2] = $26; + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = $28 & 127; + $30 = $24 | $29; + HEAP32[$6>>2] = $30; + $31 = HEAP32[$4>>2]|0; + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = ($33|0)>=(128); + if (!($34)) { + break L1; + } + $35 = HEAP32[$4>>2]|0; + $36 = HEAP32[$5>>2]|0; + $37 = ($35>>>0)<($36>>>0); + if (!($37)) { + break; + } + } } - $28 = HEAP32[$pStmt>>2]|0; - $29 = HEAP32[$i>>2]|0; - $30 = (_sqlite3_column_name($28,$29)|0); - HEAP32[$zCol>>2] = $30; - $31 = HEAP32[$zCol>>2]|0; - $32 = (_strlen($31)|0); - $33 = (($32) + 1)|0; - $34 = HEAP32[$nStr>>2]|0; - $35 = (($34) + ($33))|0; - HEAP32[$nStr>>2] = $35; - $36 = HEAP32[$i>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$i>>2] = $37; - } - $38 = HEAP32[$nCol>>2]|0; - $39 = $38<<2; - $40 = HEAP32[$nStr>>2]|0; - $41 = (($39) + ($40))|0; - $42 = (_sqlite3_malloc($41)|0); - HEAP32[$azCol>>2] = $42; - $43 = HEAP32[$azCol>>2]|0; - $44 = ($43|0)==(0|0); - L13: do { - if ($44) { - HEAP32[$rc>>2] = 7; - } else { - $45 = HEAP32[$nCol>>2]|0; - $46 = HEAP32[$azCol>>2]|0; - $47 = (($46) + ($45<<2)|0); - HEAP32[$p>>2] = $47; - HEAP32[$i>>2] = 0; + } while(0); + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 1|0); + HEAP32[$4>>2] = $39; + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 2|0); + $42 = HEAP8[$41>>0]|0; + $43 = ($42<<24>>24)!=(0); + L7: do { + if ($43) { + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 9|0); + HEAP32[$5>>2] = $45; while(1) { - $48 = HEAP32[$i>>2]|0; - $49 = HEAP32[$nCol>>2]|0; - $50 = ($48|0)<($49|0); - if (!($50)) { - break L13; + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 1|0); + HEAP32[$4>>2] = $47; + $48 = HEAP8[$46>>0]|0; + $49 = $48&255; + $50 = $49 & 128; + $51 = ($50|0)!=(0); + if (!($51)) { + break L7; + } + $52 = HEAP32[$4>>2]|0; + $53 = HEAP32[$5>>2]|0; + $54 = ($52>>>0)<($53>>>0); + if (!($54)) { + break; } - $51 = HEAP32[$pStmt>>2]|0; - $52 = HEAP32[$i>>2]|0; - $53 = (_sqlite3_column_name($51,$52)|0); - HEAP32[$zCol1>>2] = $53; - $54 = HEAP32[$zCol1>>2]|0; - $55 = (_strlen($54)|0); - $56 = (($55) + 1)|0; - HEAP32[$n>>2] = $56; - $57 = HEAP32[$p>>2]|0; - $58 = HEAP32[$zCol1>>2]|0; - $59 = HEAP32[$n>>2]|0; - _memcpy(($57|0),($58|0),($59|0))|0; - $60 = HEAP32[$p>>2]|0; - $61 = HEAP32[$i>>2]|0; - $62 = HEAP32[$azCol>>2]|0; - $63 = (($62) + ($61<<2)|0); - HEAP32[$63>>2] = $60; - $64 = HEAP32[$n>>2]|0; - $65 = HEAP32[$p>>2]|0; - $66 = (($65) + ($64)|0); - HEAP32[$p>>2] = $66; - $67 = HEAP32[$i>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$i>>2] = $68; } } } while(0); - $69 = HEAP32[$pStmt>>2]|0; - (_sqlite3_finalize($69)|0); - $70 = HEAP32[$nCol>>2]|0; - $71 = HEAP32[$4>>2]|0; - HEAP32[$71>>2] = $70; - $72 = HEAP32[$nStr>>2]|0; - $73 = HEAP32[$5>>2]|0; - HEAP32[$73>>2] = $72; - $74 = HEAP32[$azCol>>2]|0; - $75 = HEAP32[$3>>2]|0; - HEAP32[$75>>2] = $74; - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); + $55 = HEAP32[$6>>2]|0; + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 10|0); + $58 = HEAP16[$57>>1]|0; + $59 = $58&65535; + $60 = ($55>>>0)<=($59>>>0); + if ($60) { + $61 = HEAP32[$4>>2]|0; + $62 = HEAP32[$3>>2]|0; + $63 = $61; + $64 = $62; + $65 = (($63) - ($64))|0; + $66 = HEAP32[$6>>2]|0; + $67 = (($66) + ($65))|0; + HEAP32[$6>>2] = $67; + $68 = HEAP32[$6>>2]|0; + $69 = ($68>>>0)<(4); + $$ = $69 ? 4 : $67; + HEAP32[$6>>2] = $$; + $103 = HEAP32[$6>>2]|0; + $104 = $103&65535; + STACKTOP = sp;return ($104|0); + } + $70 = HEAP32[$2>>2]|0; + $71 = ((($70)) + 12|0); + $72 = HEAP16[$71>>1]|0; + $73 = $72&65535; + HEAP32[$7>>2] = $73; + $74 = HEAP32[$7>>2]|0; + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$7>>2]|0; + $77 = (($75) - ($76))|0; + $78 = HEAP32[$2>>2]|0; + $79 = ((($78)) + 52|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($80)) + 36|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82) - 4)|0; + $84 = (($77>>>0) % ($83>>>0))&-1; + $85 = (($74) + ($84))|0; + HEAP32[$6>>2] = $85; + $86 = HEAP32[$6>>2]|0; + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 10|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89&65535; + $91 = ($86>>>0)>($90>>>0); + if ($91) { + $92 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $92; + } + $93 = HEAP32[$4>>2]|0; + $94 = HEAP32[$3>>2]|0; + $95 = $93; + $96 = $94; + $97 = (($95) - ($96))|0; + $98 = $97&65535; + $99 = $98&65535; + $100 = (4 + ($99))|0; + $101 = HEAP32[$6>>2]|0; + $102 = (($101) + ($100))|0; + HEAP32[$6>>2] = $102; + $103 = HEAP32[$6>>2]|0; + $104 = $103&65535; + STACKTOP = sp;return ($104|0); } -function _fts3PrefixParameter($zParam,$pnIndex,$apIndex) { - $zParam = $zParam|0; - $pnIndex = $pnIndex|0; - $apIndex = $apIndex|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aIndex = 0; - var $i = 0, $nIndex = 0, $nPrefix = 0, $p = 0, $p1 = 0, label = 0, sp = 0; +function _btreeParseCellPtr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $aIndex = sp + 20|0; - $nIndex = sp + 16|0; - $p = sp + 12|0; - $p1 = sp + 8|0; - $i = sp + 4|0; - $nPrefix = sp; - HEAP32[$1>>2] = $zParam; - HEAP32[$2>>2] = $pnIndex; - HEAP32[$3>>2] = $apIndex; - HEAP32[$nIndex>>2] = 1; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0|0); + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp; + $9 = sp + 12|0; + $10 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $11 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ($15>>>0)>=(128); L1: do { - if ($5) { - $6 = HEAP32[$1>>2]|0; - $7 = HEAP8[$6>>0]|0; - $8 = $7 << 24 >> 24; - $9 = ($8|0)!=(0); - if ($9) { - $10 = HEAP32[$nIndex>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$nIndex>>2] = $11; - $12 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $12; - while(1) { - $13 = HEAP32[$p>>2]|0; - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)!=(0); - if (!($15)) { - break L1; - } - $16 = HEAP32[$p>>2]|0; - $17 = HEAP8[$16>>0]|0; - $18 = $17 << 24 >> 24; - $19 = ($18|0)==(44); - if ($19) { - $20 = HEAP32[$nIndex>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[$nIndex>>2] = $21; - } - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 1|0); - HEAP32[$p>>2] = $23; + if ($16) { + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 8|0); + HEAP32[$9>>2] = $18; + $19 = HEAP32[$7>>2]|0; + $20 = $19 & 127; + HEAP32[$7>>2] = $20; + while(1) { + $21 = HEAP32[$7>>2]|0; + $22 = $21 << 7; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 1|0); + HEAP32[$6>>2] = $24; + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = $26 & 127; + $28 = $22 | $27; + HEAP32[$7>>2] = $28; + $29 = HEAP32[$6>>2]|0; + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = ($31|0)>=(128); + if (!($32)) { + break L1; + } + $33 = HEAP32[$6>>2]|0; + $34 = HEAP32[$9>>2]|0; + $35 = ($33>>>0)<($34>>>0); + if (!($35)) { + break; } } } } while(0); - $24 = HEAP32[$nIndex>>2]|0; - $25 = ($24*24)|0; - $26 = (_sqlite3_malloc($25)|0); - HEAP32[$aIndex>>2] = $26; - $27 = HEAP32[$aIndex>>2]|0; - $28 = HEAP32[$3>>2]|0; - HEAP32[$28>>2] = $27; - $29 = HEAP32[$aIndex>>2]|0; - $30 = ($29|0)!=(0|0); - if (!($30)) { - HEAP32[$0>>2] = 7; - $58 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($58|0); - } - $31 = HEAP32[$aIndex>>2]|0; - $32 = HEAP32[$nIndex>>2]|0; - $33 = ($32*24)|0; - _memset(($31|0),0,($33|0))|0; - $34 = HEAP32[$1>>2]|0; - $35 = ($34|0)!=(0|0); - L15: do { - if ($35) { - $36 = HEAP32[$1>>2]|0; - HEAP32[$p1>>2] = $36; - HEAP32[$i>>2] = 1; + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 1|0); + HEAP32[$6>>2] = $37; + $38 = HEAP32[$6>>2]|0; + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $8; + $42 = $41; + HEAP32[$42>>2] = $40; + $43 = (($41) + 4)|0; + $44 = $43; + HEAP32[$44>>2] = 0; + $45 = $8; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = ($50>>>0)>(0); + $52 = ($47>>>0)>=(128); + $53 = ($50|0)==(0); + $54 = $53 & $52; + $55 = $51 | $54; + L7: do { + if ($55) { + $56 = HEAP32[$6>>2]|0; + $57 = ((($56)) + 7|0); + HEAP32[$10>>2] = $57; + $58 = $8; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = $60 & 127; + $65 = $8; + $66 = $65; + HEAP32[$66>>2] = $64; + $67 = (($65) + 4)|0; + $68 = $67; + HEAP32[$68>>2] = 0; while(1) { - $37 = HEAP32[$i>>2]|0; - $38 = HEAP32[$nIndex>>2]|0; - $39 = ($37|0)<($38|0); - if (!($39)) { - break L15; + $69 = $8; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (_bitshift64Shl(($71|0),($74|0),7)|0); + $76 = tempRet0; + $77 = HEAP32[$6>>2]|0; + $78 = ((($77)) + 1|0); + HEAP32[$6>>2] = $78; + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = $80 & 127; + $82 = ($81|0)<(0); + $83 = $82 << 31 >> 31; + $84 = $75 | $81; + $85 = $76 | $83; + $86 = $8; + $87 = $86; + HEAP32[$87>>2] = $84; + $88 = (($86) + 4)|0; + $89 = $88; + HEAP32[$89>>2] = $85; + $90 = HEAP32[$6>>2]|0; + $91 = HEAP8[$90>>0]|0; + $92 = $91&255; + $93 = ($92|0)<(128); + if ($93) { + break L7; } - HEAP32[$nPrefix>>2] = 0; - $40 = (_fts3GobbleInt($p1,$nPrefix)|0); - $41 = ($40|0)!=(0); - if ($41) { + $94 = HEAP32[$6>>2]|0; + $95 = HEAP32[$10>>2]|0; + $96 = ($94>>>0)>=($95>>>0); + if ($96) { break; } - $42 = HEAP32[$nPrefix>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - $44 = HEAP32[$nIndex>>2]|0; - $45 = (($44) + -1)|0; - HEAP32[$nIndex>>2] = $45; - $46 = HEAP32[$i>>2]|0; - $47 = (($46) + -1)|0; - HEAP32[$i>>2] = $47; - } else { - $48 = HEAP32[$nPrefix>>2]|0; - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$aIndex>>2]|0; - $51 = (($50) + (($49*24)|0)|0); - HEAP32[$51>>2] = $48; - } - $52 = HEAP32[$p1>>2]|0; - $53 = ((($52)) + 1|0); - HEAP32[$p1>>2] = $53; - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; } - HEAP32[$0>>2] = 1; - $58 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($58|0); + $97 = $8; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (_bitshift64Shl(($99|0),($102|0),8)|0); + $104 = tempRet0; + $105 = HEAP32[$6>>2]|0; + $106 = ((($105)) + 1|0); + HEAP32[$6>>2] = $106; + $107 = HEAP8[$106>>0]|0; + $108 = $107&255; + $109 = $103 | $108; + $110 = $8; + $111 = $110; + HEAP32[$111>>2] = $109; + $112 = (($110) + 4)|0; + $113 = $112; + HEAP32[$113>>2] = $104; } } while(0); - $56 = HEAP32[$nIndex>>2]|0; - $57 = HEAP32[$2>>2]|0; - HEAP32[$57>>2] = $56; - HEAP32[$0>>2] = 0; - $58 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($58|0); + $114 = HEAP32[$6>>2]|0; + $115 = ((($114)) + 1|0); + HEAP32[$6>>2] = $115; + $116 = $8; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = HEAP32[$5>>2]|0; + $123 = $122; + $124 = $123; + HEAP32[$124>>2] = $118; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $121; + $127 = HEAP32[$7>>2]|0; + $128 = HEAP32[$5>>2]|0; + $129 = ((($128)) + 12|0); + HEAP32[$129>>2] = $127; + $130 = HEAP32[$6>>2]|0; + $131 = HEAP32[$5>>2]|0; + $132 = ((($131)) + 8|0); + HEAP32[$132>>2] = $130; + $133 = HEAP32[$7>>2]|0; + $134 = HEAP32[$3>>2]|0; + $135 = ((($134)) + 10|0); + $136 = HEAP16[$135>>1]|0; + $137 = $136&65535; + $138 = ($133>>>0)<=($137>>>0); + if (!($138)) { + $162 = HEAP32[$3>>2]|0; + $163 = HEAP32[$4>>2]|0; + $164 = HEAP32[$5>>2]|0; + _btreeParseCellAdjustSizeForOverflow($162,$163,$164); + STACKTOP = sp;return; + } + $139 = HEAP32[$7>>2]|0; + $140 = HEAP32[$6>>2]|0; + $141 = HEAP32[$4>>2]|0; + $142 = $140; + $143 = $141; + $144 = (($142) - ($143))|0; + $145 = $144&65535; + $146 = $145&65535; + $147 = (($139) + ($146))|0; + $148 = $147&65535; + $149 = HEAP32[$5>>2]|0; + $150 = ((($149)) + 18|0); + HEAP16[$150>>1] = $148; + $151 = HEAP32[$5>>2]|0; + $152 = ((($151)) + 18|0); + $153 = HEAP16[$152>>1]|0; + $154 = $153&65535; + $155 = ($154|0)<(4); + if ($155) { + $156 = HEAP32[$5>>2]|0; + $157 = ((($156)) + 18|0); + HEAP16[$157>>1] = 4; + } + $158 = HEAP32[$7>>2]|0; + $159 = $158&65535; + $160 = HEAP32[$5>>2]|0; + $161 = ((($160)) + 16|0); + HEAP16[$161>>1] = $159; + STACKTOP = sp;return; } -function _sqlite3Fts3NextToken($zStr,$pn) { - $zStr = $zStr|0; - $pn = $pn|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $c = 0, $z1 = 0, $z2 = 0, label = 0, sp = 0; +function _cellSizePtrNoPayload($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $z1 = sp + 4|0; - $z2 = sp; - $c = sp + 20|0; - HEAP32[$1>>2] = $zStr; - HEAP32[$2>>2] = $pn; - HEAP32[$z2>>2] = 0; - $3 = HEAP32[$1>>2]|0; - HEAP32[$z1>>2] = $3; - L1: while(1) { - $4 = HEAP32[$z2>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - label = 21; - break; - } - $6 = HEAP32[$z1>>2]|0; - $7 = HEAP8[$6>>0]|0; - HEAP8[$c>>0] = $7; - $8 = HEAP8[$c>>0]|0; - $9 = $8 << 24 >> 24; - switch ($9|0) { - case 0: { - label = 4; - break L1; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 4|0); + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 9|0); + HEAP32[$5>>2] = $9; + while(1) { + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 1|0); + HEAP32[$4>>2] = $11; + $12 = HEAP8[$10>>0]|0; + $13 = $12&255; + $14 = $13 & 128; + $15 = ($14|0)!=(0); + if (!($15)) { break; } - case 96: case 34: case 39: { - $10 = HEAP32[$z1>>2]|0; - HEAP32[$z2>>2] = $10; - while(1) { - $11 = HEAP32[$z2>>2]|0; - $12 = ((($11)) + 1|0); - HEAP32[$z2>>2] = $12; - $13 = HEAP8[$12>>0]|0; - $14 = $13 << 24 >> 24; - $15 = ($14|0)!=(0); - if (!($15)) { - continue L1; - } - $16 = HEAP32[$z2>>2]|0; - $17 = HEAP8[$16>>0]|0; - $18 = $17 << 24 >> 24; - $19 = HEAP8[$c>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($18|0)!=($20|0); - if ($21) { - continue; - } - $22 = HEAP32[$z2>>2]|0; - $23 = ((($22)) + 1|0); - HEAP32[$z2>>2] = $23; - $24 = HEAP8[$23>>0]|0; - $25 = $24 << 24 >> 24; - $26 = HEAP8[$c>>0]|0; - $27 = $26 << 24 >> 24; - $28 = ($25|0)==($27|0); - if (!($28)) { - continue L1; - } - } + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = ($16>>>0)<($17>>>0); + if (!($18)) { break; } - case 91: { - $29 = HEAP32[$z1>>2]|0; - $30 = ((($29)) + 1|0); - HEAP32[$z2>>2] = $30; + } + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = $19; + $22 = $20; + $23 = (($21) - ($22))|0; + $24 = $23&65535; + STACKTOP = sp;return ($24|0); +} +function _btreeParseCellPtrNoPayload($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; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$5>>2]|0; + $9 = (_sqlite3GetVarint($7,$8)|0); + $10 = $9&255; + $11 = (4 + ($10))|0; + $12 = $11&65535; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 18|0); + HEAP16[$14>>1] = $12; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 12|0); + HEAP32[$16>>2] = 0; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 16|0); + HEAP16[$18>>1] = 0; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$20>>2] = 0; + STACKTOP = sp;return; +} +function _btreeParseCellPtrIndex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 6|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = (($9) + ($13)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + HEAP32[$7>>2] = $17; + $18 = HEAP32[$7>>2]|0; + $19 = ($18>>>0)>=(128); + L1: do { + if ($19) { + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 8|0); + HEAP32[$8>>2] = $21; + $22 = HEAP32[$7>>2]|0; + $23 = $22 & 127; + HEAP32[$7>>2] = $23; while(1) { - $31 = HEAP32[$z2>>2]|0; - $32 = HEAP8[$31>>0]|0; - $33 = $32 << 24 >> 24; - $34 = ($33|0)!=(0); - if ($34) { - $35 = HEAP32[$z2>>2]|0; - $36 = HEAP8[$35>>0]|0; - $37 = $36 << 24 >> 24; - $38 = ($37|0)!=(93); - $65 = $38; - } else { - $65 = 0; + $24 = HEAP32[$7>>2]|0; + $25 = $24 << 7; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 1|0); + HEAP32[$6>>2] = $27; + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 & 127; + $31 = $25 | $30; + HEAP32[$7>>2] = $31; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = ($34|0)>=(128); + if (!($35)) { + break L1; } - $39 = HEAP32[$z2>>2]|0; - if (!($65)) { + $36 = HEAP32[$6>>2]|0; + $37 = HEAP32[$8>>2]|0; + $38 = ($36>>>0)<($37>>>0); + if (!($38)) { break; } - $40 = ((($39)) + 1|0); - HEAP32[$z2>>2] = $40; - } - $41 = HEAP8[$39>>0]|0; - $42 = ($41<<24>>24)!=(0); - if (!($42)) { - continue L1; - } - $43 = HEAP32[$z2>>2]|0; - $44 = ((($43)) + 1|0); - HEAP32[$z2>>2] = $44; - continue L1; - break; - } - default: { - $45 = HEAP32[$z1>>2]|0; - $46 = HEAP8[$45>>0]|0; - $47 = (_sqlite3Fts3IsIdChar($46)|0); - $48 = ($47|0)!=(0); - $49 = HEAP32[$z1>>2]|0; - $50 = ((($49)) + 1|0); - if (!($48)) { - HEAP32[$z1>>2] = $50; - continue L1; - } - HEAP32[$z2>>2] = $50; - while(1) { - $51 = HEAP32[$z2>>2]|0; - $52 = HEAP8[$51>>0]|0; - $53 = (_sqlite3Fts3IsIdChar($52)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - continue L1; - } - $55 = HEAP32[$z2>>2]|0; - $56 = ((($55)) + 1|0); - HEAP32[$z2>>2] = $56; } } - } + } while(0); + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 1|0); + HEAP32[$6>>2] = $40; + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = $42; + $44 = $43; + HEAP32[$44>>2] = $41; + $45 = (($43) + 4)|0; + $46 = $45; + HEAP32[$46>>2] = 0; + $47 = HEAP32[$7>>2]|0; + $48 = HEAP32[$5>>2]|0; + $49 = ((($48)) + 12|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$6>>2]|0; + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 8|0); + HEAP32[$52>>2] = $50; + $53 = HEAP32[$7>>2]|0; + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 10|0); + $56 = HEAP16[$55>>1]|0; + $57 = $56&65535; + $58 = ($53>>>0)<=($57>>>0); + if (!($58)) { + $82 = HEAP32[$3>>2]|0; + $83 = HEAP32[$4>>2]|0; + $84 = HEAP32[$5>>2]|0; + _btreeParseCellAdjustSizeForOverflow($82,$83,$84); + STACKTOP = sp;return; } - if ((label|0) == 4) { - HEAP32[$0>>2] = 0; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); + $59 = HEAP32[$7>>2]|0; + $60 = HEAP32[$6>>2]|0; + $61 = HEAP32[$4>>2]|0; + $62 = $60; + $63 = $61; + $64 = (($62) - ($63))|0; + $65 = $64&65535; + $66 = $65&65535; + $67 = (($59) + ($66))|0; + $68 = $67&65535; + $69 = HEAP32[$5>>2]|0; + $70 = ((($69)) + 18|0); + HEAP16[$70>>1] = $68; + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + 18|0); + $73 = HEAP16[$72>>1]|0; + $74 = $73&65535; + $75 = ($74|0)<(4); + if ($75) { + $76 = HEAP32[$5>>2]|0; + $77 = ((($76)) + 18|0); + HEAP16[$77>>1] = 4; } - else if ((label|0) == 21) { - $57 = HEAP32[$z2>>2]|0; - $58 = HEAP32[$z1>>2]|0; - $59 = $57; - $60 = $58; - $61 = (($59) - ($60))|0; - $62 = HEAP32[$2>>2]|0; - HEAP32[$62>>2] = $61; - $63 = HEAP32[$z1>>2]|0; - HEAP32[$0>>2] = $63; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); - } - return (0)|0; -} -function _fts3ReadExprList($p,$zFunc,$pRc) { - $p = $p|0; - $zFunc = $zFunc|0; - $pRc = $pRc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr19 = 0, $vararg_ptr20 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $zFree = 0, $zFunction = 0, $zRet = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer16 = sp + 56|0; - $vararg_buffer13 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 92|0; - $1 = sp + 88|0; - $2 = sp + 84|0; - $zRet = sp + 80|0; - $zFree = sp + 76|0; - $zFunction = sp + 72|0; - $i = sp + 68|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $zFunc; - HEAP32[$2>>2] = $pRc; - HEAP32[$zRet>>2] = 0; - HEAP32[$zFree>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = (_fts3QuoteId($9)|0); - HEAP32[$zFunction>>2] = $10; - HEAP32[$zFree>>2] = $10; - } else { - HEAP32[$zFunction>>2] = 18402; - } - $11 = HEAP32[$2>>2]|0; - _fts3Appendf($11,$zRet,24710,$vararg_buffer); - HEAP32[$i>>2] = 0; - while(1) { - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($12|0)<($15|0); - if (!($16)) { - break; - } - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$zFunction>>2]|0; - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 28|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($20<<2)|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$vararg_buffer1>>2] = $18; - $vararg_ptr3 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr3>>2] = $19; - $vararg_ptr4 = ((($vararg_buffer1)) + 8|0); - HEAP32[$vararg_ptr4>>2] = $25; - _fts3Appendf($17,$zRet,24716,$vararg_buffer1); - $26 = HEAP32[$i>>2]|0; - $27 = (($26) + 1)|0; - HEAP32[$i>>2] = $27; - } - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 44|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer5>>2] = 24738; - _fts3Appendf($32,$zRet,24731,$vararg_buffer5); - } - $33 = HEAP32[$zFree>>2]|0; - _sqlite3_free($33); - } else { - $34 = HEAP32[$2>>2]|0; - _fts3Appendf($34,$zRet,24745,$vararg_buffer8); - HEAP32[$i>>2] = 0; - while(1) { - $35 = HEAP32[$i>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 24|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($35|0)<($38|0); - if (!($39)) { - break; - } - $40 = HEAP32[$2>>2]|0; - $41 = HEAP32[$i>>2]|0; - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 28|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + ($41<<2)|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$vararg_buffer10>>2] = $46; - _fts3Appendf($40,$zRet,24751,$vararg_buffer10); - $47 = HEAP32[$i>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[$i>>2] = $48; - } - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 44|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)!=(0|0); - if ($52) { - $53 = HEAP32[$2>>2]|0; - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 44|0); - $56 = HEAP32[$55>>2]|0; - HEAP32[$vararg_buffer13>>2] = $56; - _fts3Appendf($53,$zRet,24731,$vararg_buffer13); - } - } - $57 = HEAP32[$2>>2]|0; - $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 16|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 40|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)!=(0|0); - $65 = HEAP32[$0>>2]|0; - if ($64) { - $66 = ((($65)) + 40|0); - $67 = HEAP32[$66>>2]|0; - $75 = $67; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 40|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($72|0)!=(0|0); - $74 = $73 ? 18402 : 24760; - HEAP32[$vararg_buffer16>>2] = $60; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $75; - $vararg_ptr20 = ((($vararg_buffer16)) + 8|0); - HEAP32[$vararg_ptr20>>2] = $74; - _fts3Appendf($57,$zRet,24769,$vararg_buffer16); - $76 = HEAP32[$zRet>>2]|0; - STACKTOP = sp;return ($76|0); - } else { - $68 = ((($65)) + 20|0); - $69 = HEAP32[$68>>2]|0; - $75 = $69; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 40|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($72|0)!=(0|0); - $74 = $73 ? 18402 : 24760; - HEAP32[$vararg_buffer16>>2] = $60; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $75; - $vararg_ptr20 = ((($vararg_buffer16)) + 8|0); - HEAP32[$vararg_ptr20>>2] = $74; - _fts3Appendf($57,$zRet,24769,$vararg_buffer16); - $76 = HEAP32[$zRet>>2]|0; - STACKTOP = sp;return ($76|0); - } - return (0)|0; -} -function _fts3WriteExprList($p,$zFunc,$pRc) { - $p = $p|0; - $zFunc = $zFunc|0; - $pRc = $pRc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $zFree = 0, $zFunction = 0, $zRet = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $zRet = sp + 32|0; - $zFree = sp + 28|0; - $zFunction = sp + 24|0; - $i = sp + 20|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $zFunc; - HEAP32[$2>>2] = $pRc; - HEAP32[$zRet>>2] = 0; - HEAP32[$zFree>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = (_fts3QuoteId($5)|0); - HEAP32[$zFunction>>2] = $6; - HEAP32[$zFree>>2] = $6; - } else { - HEAP32[$zFunction>>2] = 18402; - } - $7 = HEAP32[$2>>2]|0; - _fts3Appendf($7,$zRet,20275,$vararg_buffer); - HEAP32[$i>>2] = 0; - while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 24|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)<($11|0); - if (!($12)) { - break; - } - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$zFunction>>2]|0; - HEAP32[$vararg_buffer1>>2] = $14; - _fts3Appendf($13,$zRet,24694,$vararg_buffer1); - $15 = HEAP32[$i>>2]|0; - $16 = (($15) + 1)|0; - HEAP32[$i>>2] = $16; - } - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 44|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)!=(0|0); - if (!($20)) { - $22 = HEAP32[$zFree>>2]|0; - _sqlite3_free($22); - $23 = HEAP32[$zRet>>2]|0; - STACKTOP = sp;return ($23|0); - } - $21 = HEAP32[$2>>2]|0; - _fts3Appendf($21,$zRet,24701,$vararg_buffer3); - $22 = HEAP32[$zFree>>2]|0; - _sqlite3_free($22); - $23 = HEAP32[$zRet>>2]|0; - STACKTOP = sp;return ($23|0); -} -function _fts3CreateTables($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0; - var $db = 0, $i = 0, $or$cond = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer15 = 0, $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer23 = 0, $vararg_buffer6 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr22 = 0, $vararg_ptr26 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, $z = 0; - var $zContentCols = 0, $zLanguageid = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer23 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer15 = sp + 48|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 96|0; - $rc = sp + 92|0; - $i = sp + 88|0; - $db = sp + 84|0; - $zLanguageid = sp + 80|0; - $zContentCols = sp + 76|0; - $z = sp + 72|0; - HEAP32[$0>>2] = $p; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 40|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 44|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$zLanguageid>>2] = $10; - $11 = (_sqlite3_mprintf(24319,$vararg_buffer)|0); - HEAP32[$zContentCols>>2] = $11; - HEAP32[$i>>2] = 0; - while(1) { - $12 = HEAP32[$zContentCols>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - break; - } - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 24|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($14|0)<($17|0); - if (!($18)) { - break; - } - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 28|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($19<<2)|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$z>>2] = $24; - $25 = HEAP32[$zContentCols>>2]|0; - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$z>>2]|0; - HEAP32[$vararg_buffer2>>2] = $25; - $vararg_ptr4 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $26; - $vararg_ptr5 = ((($vararg_buffer2)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $27; - $28 = (_sqlite3_mprintf(24345,$vararg_buffer2)|0); - HEAP32[$zContentCols>>2] = $28; - $29 = HEAP32[$i>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$i>>2] = $30; - } - $31 = HEAP32[$zLanguageid>>2]|0; - $32 = ($31|0)!=(0|0); - $33 = HEAP32[$zContentCols>>2]|0; - $34 = ($33|0)!=(0|0); - $or$cond = $32 & $34; - if ($or$cond) { - $35 = HEAP32[$zContentCols>>2]|0; - $36 = HEAP32[$zLanguageid>>2]|0; - HEAP32[$vararg_buffer6>>2] = $35; - $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $36; - $37 = (_sqlite3_mprintf(24357,$vararg_buffer6)|0); - HEAP32[$zContentCols>>2] = $37; - } - $38 = HEAP32[$zContentCols>>2]|0; - $39 = ($38|0)==(0|0); - if ($39) { - HEAP32[$rc>>2] = 7; - } - $40 = HEAP32[$db>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 16|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 20|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$zContentCols>>2]|0; - HEAP32[$vararg_buffer10>>2] = $43; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $46; - $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $47; - _fts3DbExec($rc,$40,24368,$vararg_buffer10); - $48 = HEAP32[$zContentCols>>2]|0; - _sqlite3_free($48); - } - $49 = HEAP32[$db>>2]|0; - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 16|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 20|0); - $55 = HEAP32[$54>>2]|0; - HEAP32[$vararg_buffer15>>2] = $52; - $vararg_ptr18 = ((($vararg_buffer15)) + 4|0); - HEAP32[$vararg_ptr18>>2] = $55; - _fts3DbExec($rc,$49,24401,$vararg_buffer15); - $56 = HEAP32[$db>>2]|0; - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 16|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$0>>2]|0; - $61 = ((($60)) + 20|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$vararg_buffer19>>2] = $59; - $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); - HEAP32[$vararg_ptr22>>2] = $62; - _fts3DbExec($rc,$56,24473,$vararg_buffer19); - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 230|0); - $65 = HEAP8[$64>>0]|0; - $66 = ($65<<24>>24)!=(0); - if ($66) { - $67 = HEAP32[$db>>2]|0; - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 20|0); - $73 = HEAP32[$72>>2]|0; - HEAP32[$vararg_buffer23>>2] = $70; - $vararg_ptr26 = ((($vararg_buffer23)) + 4|0); - HEAP32[$vararg_ptr26>>2] = $73; - _fts3DbExec($rc,$67,24626,$vararg_buffer23); - } - $74 = HEAP32[$0>>2]|0; - $75 = ((($74)) + 229|0); - $76 = HEAP8[$75>>0]|0; - $77 = ($76<<24>>24)!=(0); - if (!($77)) { - $79 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($79|0); - } - $78 = HEAP32[$0>>2]|0; - _sqlite3Fts3CreateStatTable($rc,$78); - $79 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($79|0); -} -function _fts3DatabasePageSize($pRc,$p) { - $pRc = $pRc|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pStmt = 0, $rc = 0, $vararg_buffer = 0, $zSql = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 20|0; - $1 = sp + 16|0; - $rc = sp + 12|0; - $zSql = sp + 8|0; - $pStmt = sp + 4|0; - HEAP32[$0>>2] = $pRc; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$vararg_buffer>>2] = $7; - $8 = (_sqlite3_mprintf(24299,$vararg_buffer)|0); - HEAP32[$zSql>>2] = $8; - $9 = HEAP32[$zSql>>2]|0; - $10 = ($9|0)!=(0|0); - do { - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$zSql>>2]|0; - $15 = (_sqlite3_prepare($13,$14,-1,$pStmt,0)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - if ($17) { - $18 = HEAP32[$pStmt>>2]|0; - (_sqlite3_step($18)|0); - $19 = HEAP32[$pStmt>>2]|0; - $20 = (_sqlite3_column_int($19,0)|0); - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 236|0); - HEAP32[$22>>2] = $20; - $23 = HEAP32[$pStmt>>2]|0; - $24 = (_sqlite3_finalize($23)|0); - HEAP32[$rc>>2] = $24; - break; - } - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)==(23); - if ($26) { - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 236|0); - HEAP32[$28>>2] = 1024; - HEAP32[$rc>>2] = 0; - } - } else { - HEAP32[$rc>>2] = 7; - } - } while(0); - $29 = HEAP32[$zSql>>2]|0; - _sqlite3_free($29); - $30 = HEAP32[$rc>>2]|0; - $31 = HEAP32[$0>>2]|0; - HEAP32[$31>>2] = $30; + $78 = HEAP32[$7>>2]|0; + $79 = $78&65535; + $80 = HEAP32[$5>>2]|0; + $81 = ((($80)) + 16|0); + HEAP16[$81>>1] = $79; STACKTOP = sp;return; } -function _fts3DeclareVtab($pRc,$p) { - $pRc = $pRc|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $or$cond = 0, $rc = 0; - var $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr8 = 0, $zCols = 0, $zLanguageid = 0, $zSql = 0, label = 0, sp = 0; +function _btreeParseCellAdjustSizeForOverflow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $$sink2 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer9 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 60|0; - $1 = sp + 56|0; - $i = sp + 52|0; - $rc = sp + 48|0; - $zSql = sp + 44|0; - $zCols = sp + 40|0; - $zLanguageid = sp + 36|0; - HEAP32[$0>>2] = $pRc; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 44|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 44|0); - $11 = HEAP32[$10>>2]|0; - $12 = $11; - } else { - $12 = 24224; - } - HEAP32[$zLanguageid>>2] = $12; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 12|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$vararg_buffer>>2] = 1; - (_sqlite3_vtab_config($15,1,$vararg_buffer)|0); - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 28|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$18>>2]|0; - HEAP32[$vararg_buffer2>>2] = $19; - $20 = (_sqlite3_mprintf(24233,$vararg_buffer2)|0); - HEAP32[$zCols>>2] = $20; - HEAP32[$i>>2] = 1; - while(1) { - $21 = HEAP32[$zCols>>2]|0; - $22 = ($21|0)!=(0|0); - if ($22) { - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 24|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($23|0)<($26|0); - $56 = $27; - } else { - $56 = 0; - } - $28 = HEAP32[$zCols>>2]|0; - if (!($56)) { - break; - } - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 28|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + ($29<<2)|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$vararg_buffer5>>2] = $28; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $34; - $35 = (_sqlite3_mprintf(24238,$vararg_buffer5)|0); - HEAP32[$zCols>>2] = $35; - $36 = HEAP32[$i>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$i>>2] = $37; - } - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 20|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$zLanguageid>>2]|0; - HEAP32[$vararg_buffer9>>2] = $28; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $40; - $vararg_ptr13 = ((($vararg_buffer9)) + 8|0); - HEAP32[$vararg_ptr13>>2] = $41; - $42 = (_sqlite3_mprintf(24245,$vararg_buffer9)|0); - HEAP32[$zSql>>2] = $42; - $43 = HEAP32[$zCols>>2]|0; - $44 = ($43|0)!=(0|0); - $45 = HEAP32[$zSql>>2]|0; - $46 = ($45|0)!=(0|0); - $or$cond = $44 & $46; - if ($or$cond) { - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$zSql>>2]|0; - $51 = (_sqlite3_declare_vtab($49,$50)|0); - HEAP32[$rc>>2] = $51; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + HEAP32[$6>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 10|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + HEAP32[$7>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = (($20) - ($21))|0; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 52|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - 4)|0; + $29 = (($22>>>0) % ($28>>>0))&-1; + $30 = (($17) + ($29))|0; + HEAP32[$8>>2] = $30; + $31 = HEAP32[$8>>2]|0; + $32 = HEAP32[$7>>2]|0; + $33 = ($31|0)<=($32|0); + if ($33) { + $34 = HEAP32[$8>>2]|0; + $35 = $34&65535; + $36 = HEAP32[$5>>2]|0; + $$sink = $35;$$sink2 = $36; } else { - HEAP32[$rc>>2] = 7; + $37 = HEAP32[$6>>2]|0; + $38 = $37&65535; + $39 = HEAP32[$5>>2]|0; + $$sink = $38;$$sink2 = $39; } - $52 = HEAP32[$zSql>>2]|0; - _sqlite3_free($52); - $53 = HEAP32[$zCols>>2]|0; - _sqlite3_free($53); - $54 = HEAP32[$rc>>2]|0; - $55 = HEAP32[$0>>2]|0; - HEAP32[$55>>2] = $54; + $40 = ((($$sink2)) + 16|0); + HEAP16[$40>>1] = $$sink; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 16|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = (($43) + ($47)|0); + $49 = HEAP32[$4>>2]|0; + $50 = $48; + $51 = $49; + $52 = (($50) - ($51))|0; + $53 = $52&65535; + $54 = $53&65535; + $55 = (($54) + 4)|0; + $56 = $55&65535; + $57 = HEAP32[$5>>2]|0; + $58 = ((($57)) + 18|0); + HEAP16[$58>>1] = $56; STACKTOP = sp;return; } -function _fts3QuoteId($zInput) { - $zInput = $zInput|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0; - var $nRet = 0, $z = 0, $zRet = 0, label = 0, sp = 0; +function _sqlite3GetVarint($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $nRet = sp + 12|0; - $zRet = sp + 8|0; - $i = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $zInput; - $1 = HEAP32[$0>>2]|0; - $2 = (_strlen($1)|0); - $3 = $2<<1; - $4 = (2 + ($3))|0; - $5 = (($4) + 1)|0; - HEAP32[$nRet>>2] = $5; - $6 = HEAP32[$nRet>>2]|0; - $7 = (_sqlite3_malloc($6)|0); - HEAP32[$zRet>>2] = $7; - $8 = HEAP32[$zRet>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - $38 = HEAP32[$zRet>>2]|0; - STACKTOP = sp;return ($38|0); - } - $10 = HEAP32[$zRet>>2]|0; - HEAP32[$z>>2] = $10; - $11 = HEAP32[$z>>2]|0; - $12 = ((($11)) + 1|0); - HEAP32[$z>>2] = $12; - HEAP8[$11>>0] = 34; - HEAP32[$i>>2] = 0; - while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + ($13)|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - break; - } - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = (($19) + ($18)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21 << 24 >> 24; - $23 = ($22|0)==(34); - if ($23) { - $24 = HEAP32[$z>>2]|0; - $25 = ((($24)) + 1|0); - HEAP32[$z>>2] = $25; - HEAP8[$24>>0] = 34; - } - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = (($27) + ($26)|0); - $29 = HEAP8[$28>>0]|0; - $30 = HEAP32[$z>>2]|0; - $31 = ((($30)) + 1|0); - HEAP32[$z>>2] = $31; - HEAP8[$30>>0] = $29; - $32 = HEAP32[$i>>2]|0; - $33 = (($32) + 1)|0; - HEAP32[$i>>2] = $33; - } - $34 = HEAP32[$z>>2]|0; - $35 = ((($34)) + 1|0); - HEAP32[$z>>2] = $35; - HEAP8[$34>>0] = 34; - $36 = HEAP32[$z>>2]|0; - $37 = ((($36)) + 1|0); - HEAP32[$z>>2] = $37; - HEAP8[$36>>0] = 0; - $38 = HEAP32[$zRet>>2]|0; - STACKTOP = sp;return ($38|0); -} -function _fts3Appendf($pRc,$pz,$zFormat,$varargs) { - $pRc = $pRc|0; - $pz = $pz|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $z = 0, $z2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $ap = sp + 16|0; - $z = sp + 12|0; - $z2 = sp + 8|0; - HEAP32[$0>>2] = $pRc; - HEAP32[$1>>2] = $pz; - HEAP32[$2>>2] = $zFormat; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - STACKTOP = sp;return; - } - HEAP32[$ap>>2] = $varargs; - $6 = HEAP32[$2>>2]|0; - $7 = (_sqlite3_vmprintf($6,$ap)|0); - HEAP32[$z>>2] = $7; - $8 = HEAP32[$z>>2]|0; - $9 = ($8|0)!=(0|0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$z>>2]|0; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $15; - $16 = (_sqlite3_mprintf(24705,$vararg_buffer)|0); - HEAP32[$z2>>2] = $16; - $17 = HEAP32[$z>>2]|0; - _sqlite3_free($17); - $18 = HEAP32[$z2>>2]|0; - HEAP32[$z>>2] = $18; - } + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$5>>2]|0; + $12 = $11 & 128; + $13 = ($12|0)!=(0); + if (!($13)) { + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = $15; + $17 = $16; + HEAP32[$17>>2] = $14; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = 0; + HEAP8[$2>>0] = 1; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); } - $19 = HEAP32[$z>>2]|0; - $20 = ($19|0)==(0|0); - if ($20) { - $21 = HEAP32[$0>>2]|0; - HEAP32[$21>>2] = 7; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 1|0); + HEAP32[$3>>2] = $21; + $22 = HEAP32[$3>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + HEAP32[$6>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = $25 & 128; + $27 = ($26|0)!=(0); + if (!($27)) { + $28 = HEAP32[$5>>2]|0; + $29 = $28 & 127; + HEAP32[$5>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = $30 << 7; + HEAP32[$5>>2] = $31; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = $33 | $32; + HEAP32[$5>>2] = $34; + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = $36; + $38 = $37; + HEAP32[$38>>2] = $35; + $39 = (($37) + 4)|0; + $40 = $39; + HEAP32[$40>>2] = 0; + HEAP8[$2>>0] = 2; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); } - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$22>>2]|0; - _sqlite3_free($23); - $24 = HEAP32[$z>>2]|0; - $25 = HEAP32[$1>>2]|0; - HEAP32[$25>>2] = $24; - STACKTOP = sp;return; -} -function _fts3GobbleInt($pp,$pnOut) { - $pp = $pp|0; - $pnOut = $pnOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $MAX_NPREFIX = 0, $nInt = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $MAX_NPREFIX = sp + 8|0; - $p = sp + 4|0; - $nInt = sp; - HEAP32[$1>>2] = $pp; - HEAP32[$2>>2] = $pnOut; - HEAP32[$MAX_NPREFIX>>2] = 10000000; - HEAP32[$nInt>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - while(1) { - $5 = HEAP32[$p>>2]|0; - $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - $8 = ($7|0)>=(48); - if (!($8)) { - break; - } - $9 = HEAP32[$p>>2]|0; - $10 = HEAP8[$9>>0]|0; - $11 = $10 << 24 >> 24; - $12 = ($11|0)<=(57); - if (!($12)) { - break; - } - $13 = HEAP32[$nInt>>2]|0; - $14 = ($13*10)|0; - $15 = HEAP32[$p>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16 << 24 >> 24; - $18 = (($17) - 48)|0; - $19 = (($14) + ($18))|0; - HEAP32[$nInt>>2] = $19; - $20 = HEAP32[$nInt>>2]|0; - $21 = ($20|0)>(10000000); - if ($21) { - label = 5; - break; - } - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 1|0); - HEAP32[$p>>2] = $23; + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 1|0); + HEAP32[$3>>2] = $42; + $43 = HEAP32[$5>>2]|0; + $44 = $43 << 14; + HEAP32[$5>>2] = $44; + $45 = HEAP32[$3>>2]|0; + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = HEAP32[$5>>2]|0; + $49 = $48 | $47; + HEAP32[$5>>2] = $49; + $50 = HEAP32[$5>>2]|0; + $51 = $50 & 128; + $52 = ($51|0)!=(0); + $53 = HEAP32[$5>>2]|0; + $54 = $53 & 2080895; + HEAP32[$5>>2] = $54; + if (!($52)) { + $55 = HEAP32[$6>>2]|0; + $56 = $55 & 127; + HEAP32[$6>>2] = $56; + $57 = HEAP32[$6>>2]|0; + $58 = $57 << 7; + HEAP32[$6>>2] = $58; + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$5>>2]|0; + $61 = $60 | $59; + HEAP32[$5>>2] = $61; + $62 = HEAP32[$5>>2]|0; + $63 = HEAP32[$4>>2]|0; + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = $62; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = 0; + HEAP8[$2>>0] = 3; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); } - if ((label|0) == 5) { - HEAP32[$nInt>>2] = 0; + $68 = HEAP32[$3>>2]|0; + $69 = ((($68)) + 1|0); + HEAP32[$3>>2] = $69; + $70 = HEAP32[$6>>2]|0; + $71 = $70 << 14; + HEAP32[$6>>2] = $71; + $72 = HEAP32[$3>>2]|0; + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = HEAP32[$6>>2]|0; + $76 = $75 | $74; + HEAP32[$6>>2] = $76; + $77 = HEAP32[$6>>2]|0; + $78 = $77 & 128; + $79 = ($78|0)!=(0); + $80 = HEAP32[$6>>2]|0; + $81 = $80 & 2080895; + HEAP32[$6>>2] = $81; + $82 = HEAP32[$5>>2]|0; + if (!($79)) { + $83 = $82 << 7; + HEAP32[$5>>2] = $83; + $84 = HEAP32[$6>>2]|0; + $85 = HEAP32[$5>>2]|0; + $86 = $85 | $84; + HEAP32[$5>>2] = $86; + $87 = HEAP32[$5>>2]|0; + $88 = HEAP32[$4>>2]|0; + $89 = $88; + $90 = $89; + HEAP32[$90>>2] = $87; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = 0; + HEAP8[$2>>0] = 4; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); } - $24 = HEAP32[$p>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = ($24|0)==($26|0); - if ($27) { - HEAP32[$0>>2] = 1; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); + HEAP32[$7>>2] = $82; + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 1|0); + HEAP32[$3>>2] = $94; + $95 = HEAP32[$5>>2]|0; + $96 = $95 << 14; + HEAP32[$5>>2] = $96; + $97 = HEAP32[$3>>2]|0; + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $100 = HEAP32[$5>>2]|0; + $101 = $100 | $99; + HEAP32[$5>>2] = $101; + $102 = HEAP32[$5>>2]|0; + $103 = $102 & 128; + $104 = ($103|0)!=(0); + if (!($104)) { + $105 = HEAP32[$6>>2]|0; + $106 = $105 << 7; + HEAP32[$6>>2] = $106; + $107 = HEAP32[$6>>2]|0; + $108 = HEAP32[$5>>2]|0; + $109 = $108 | $107; + HEAP32[$5>>2] = $109; + $110 = HEAP32[$7>>2]|0; + $111 = $110 >>> 18; + HEAP32[$7>>2] = $111; + $112 = HEAP32[$7>>2]|0; + $113 = HEAP32[$5>>2]|0; + $114 = HEAP32[$4>>2]|0; + $115 = $114; + $116 = $115; + HEAP32[$116>>2] = $113; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $112; + HEAP8[$2>>0] = 5; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); + } + $119 = HEAP32[$7>>2]|0; + $120 = $119 << 7; + HEAP32[$7>>2] = $120; + $121 = HEAP32[$6>>2]|0; + $122 = HEAP32[$7>>2]|0; + $123 = $122 | $121; + HEAP32[$7>>2] = $123; + $124 = HEAP32[$3>>2]|0; + $125 = ((($124)) + 1|0); + HEAP32[$3>>2] = $125; + $126 = HEAP32[$6>>2]|0; + $127 = $126 << 14; + HEAP32[$6>>2] = $127; + $128 = HEAP32[$3>>2]|0; + $129 = HEAP8[$128>>0]|0; + $130 = $129&255; + $131 = HEAP32[$6>>2]|0; + $132 = $131 | $130; + HEAP32[$6>>2] = $132; + $133 = HEAP32[$6>>2]|0; + $134 = $133 & 128; + $135 = ($134|0)!=(0); + if (!($135)) { + $136 = HEAP32[$5>>2]|0; + $137 = $136 & 2080895; + HEAP32[$5>>2] = $137; + $138 = HEAP32[$5>>2]|0; + $139 = $138 << 7; + HEAP32[$5>>2] = $139; + $140 = HEAP32[$6>>2]|0; + $141 = HEAP32[$5>>2]|0; + $142 = $141 | $140; + HEAP32[$5>>2] = $142; + $143 = HEAP32[$7>>2]|0; + $144 = $143 >>> 18; + HEAP32[$7>>2] = $144; + $145 = HEAP32[$7>>2]|0; + $146 = HEAP32[$5>>2]|0; + $147 = HEAP32[$4>>2]|0; + $148 = $147; + $149 = $148; + HEAP32[$149>>2] = $146; + $150 = (($148) + 4)|0; + $151 = $150; + HEAP32[$151>>2] = $145; + HEAP8[$2>>0] = 6; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); + } + $152 = HEAP32[$3>>2]|0; + $153 = ((($152)) + 1|0); + HEAP32[$3>>2] = $153; + $154 = HEAP32[$5>>2]|0; + $155 = $154 << 14; + HEAP32[$5>>2] = $155; + $156 = HEAP32[$3>>2]|0; + $157 = HEAP8[$156>>0]|0; + $158 = $157&255; + $159 = HEAP32[$5>>2]|0; + $160 = $159 | $158; + HEAP32[$5>>2] = $160; + $161 = HEAP32[$5>>2]|0; + $162 = $161 & 128; + $163 = ($162|0)!=(0); + $164 = HEAP32[$5>>2]|0; + if (!($163)) { + $165 = $164 & -266354561; + HEAP32[$5>>2] = $165; + $166 = HEAP32[$6>>2]|0; + $167 = $166 & 2080895; + HEAP32[$6>>2] = $167; + $168 = HEAP32[$6>>2]|0; + $169 = $168 << 7; + HEAP32[$6>>2] = $169; + $170 = HEAP32[$6>>2]|0; + $171 = HEAP32[$5>>2]|0; + $172 = $171 | $170; + HEAP32[$5>>2] = $172; + $173 = HEAP32[$7>>2]|0; + $174 = $173 >>> 11; + HEAP32[$7>>2] = $174; + $175 = HEAP32[$7>>2]|0; + $176 = HEAP32[$5>>2]|0; + $177 = HEAP32[$4>>2]|0; + $178 = $177; + $179 = $178; + HEAP32[$179>>2] = $176; + $180 = (($178) + 4)|0; + $181 = $180; + HEAP32[$181>>2] = $175; + HEAP8[$2>>0] = 7; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); + } + $182 = $164 & 2080895; + HEAP32[$5>>2] = $182; + $183 = HEAP32[$3>>2]|0; + $184 = ((($183)) + 1|0); + HEAP32[$3>>2] = $184; + $185 = HEAP32[$6>>2]|0; + $186 = $185 << 14; + HEAP32[$6>>2] = $186; + $187 = HEAP32[$3>>2]|0; + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = HEAP32[$6>>2]|0; + $191 = $190 | $189; + HEAP32[$6>>2] = $191; + $192 = HEAP32[$6>>2]|0; + $193 = $192 & 128; + $194 = ($193|0)!=(0); + if ($194) { + $211 = HEAP32[$3>>2]|0; + $212 = ((($211)) + 1|0); + HEAP32[$3>>2] = $212; + $213 = HEAP32[$5>>2]|0; + $214 = $213 << 15; + HEAP32[$5>>2] = $214; + $215 = HEAP32[$3>>2]|0; + $216 = HEAP8[$215>>0]|0; + $217 = $216&255; + $218 = HEAP32[$5>>2]|0; + $219 = $218 | $217; + HEAP32[$5>>2] = $219; + $220 = HEAP32[$6>>2]|0; + $221 = $220 & 2080895; + HEAP32[$6>>2] = $221; + $222 = HEAP32[$6>>2]|0; + $223 = $222 << 8; + HEAP32[$6>>2] = $223; + $224 = HEAP32[$6>>2]|0; + $225 = HEAP32[$5>>2]|0; + $226 = $225 | $224; + HEAP32[$5>>2] = $226; + $227 = HEAP32[$7>>2]|0; + $228 = $227 << 4; + HEAP32[$7>>2] = $228; + $229 = HEAP32[$3>>2]|0; + $230 = ((($229)) + -4|0); + $231 = HEAP8[$230>>0]|0; + $232 = $231&255; + HEAP32[$6>>2] = $232; + $233 = HEAP32[$6>>2]|0; + $234 = $233 & 127; + HEAP32[$6>>2] = $234; + $235 = HEAP32[$6>>2]|0; + $236 = $235 >>> 3; + HEAP32[$6>>2] = $236; + $237 = HEAP32[$6>>2]|0; + $238 = HEAP32[$7>>2]|0; + $239 = $238 | $237; + HEAP32[$7>>2] = $239; + $240 = HEAP32[$7>>2]|0; + $241 = HEAP32[$5>>2]|0; + $242 = HEAP32[$4>>2]|0; + $243 = $242; + $244 = $243; + HEAP32[$244>>2] = $241; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP32[$246>>2] = $240; + HEAP8[$2>>0] = 9; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); } else { - $28 = HEAP32[$nInt>>2]|0; - $29 = HEAP32[$2>>2]|0; - HEAP32[$29>>2] = $28; - $30 = HEAP32[$p>>2]|0; - $31 = HEAP32[$1>>2]|0; - HEAP32[$31>>2] = $30; - HEAP32[$0>>2] = 0; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); + $195 = HEAP32[$6>>2]|0; + $196 = $195 & -266354561; + HEAP32[$6>>2] = $196; + $197 = HEAP32[$5>>2]|0; + $198 = $197 << 7; + HEAP32[$5>>2] = $198; + $199 = HEAP32[$6>>2]|0; + $200 = HEAP32[$5>>2]|0; + $201 = $200 | $199; + HEAP32[$5>>2] = $201; + $202 = HEAP32[$7>>2]|0; + $203 = $202 >>> 4; + HEAP32[$7>>2] = $203; + $204 = HEAP32[$7>>2]|0; + $205 = HEAP32[$5>>2]|0; + $206 = HEAP32[$4>>2]|0; + $207 = $206; + $208 = $207; + HEAP32[$208>>2] = $205; + $209 = (($207) + 4)|0; + $210 = $209; + HEAP32[$210>>2] = $204; + HEAP8[$2>>0] = 8; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); } return (0)|0; } -function _fts3TokenizerFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $nName = 0, $or$cond = 0, $pHash = 0, $pOld = 0; - var $pPtr = 0, $vararg_buffer = 0, $zErr = 0, $zName = 0, label = 0, sp = 0; +function _sqlite3ErrorFinish($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $pHash = sp + 28|0; - $pPtr = sp + 24|0; - $zName = sp + 20|0; - $nName = sp + 16|0; - $pOld = sp + 12|0; - $n = sp + 8|0; - $zErr = sp + 4|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$pPtr>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_user_data($3)|0); - HEAP32[$pHash>>2] = $4; - $5 = HEAP32[$2>>2]|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 244|0); $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_text($6)|0); - HEAP32[$zName>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = (_sqlite3_value_bytes($9)|0); - $11 = (($10) + 1)|0; - HEAP32[$nName>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ($12|0)==(2); - do { - if ($13) { - $14 = HEAP32[$0>>2]|0; - $15 = (_fts3TokenizerEnabled($14)|0); - $16 = ($15|0)!=(0); - if (!($16)) { - $40 = HEAP32[$0>>2]|0; - _sqlite3_result_error($40,25030,-1); - STACKTOP = sp;return; - } - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_bytes($19)|0); - HEAP32[$n>>2] = $20; - $21 = HEAP32[$zName>>2]|0; - $22 = ($21|0)==(0|0); - $23 = HEAP32[$n>>2]|0; - $24 = ($23|0)!=(4); - $or$cond = $22 | $24; - if ($or$cond) { - $25 = HEAP32[$0>>2]|0; - _sqlite3_result_error($25,24993,-1); - STACKTOP = sp;return; - } else { - $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = (_sqlite3_value_blob($28)|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$pPtr>>2] = $30; - $31 = HEAP32[$pHash>>2]|0; - $32 = HEAP32[$zName>>2]|0; - $33 = HEAP32[$nName>>2]|0; - $34 = HEAP32[$pPtr>>2]|0; - $35 = (_sqlite3Fts3HashInsert($31,$32,$33,$34)|0); - HEAP32[$pOld>>2] = $35; - $36 = HEAP32[$pOld>>2]|0; - $37 = HEAP32[$pPtr>>2]|0; - $38 = ($36|0)==($37|0); - if (!($38)) { - break; - } - $39 = HEAP32[$0>>2]|0; - _sqlite3_result_error($39,25016,-1); - break; - } - } else { - $41 = HEAP32[$zName>>2]|0; - $42 = ($41|0)!=(0|0); - if ($42) { - $43 = HEAP32[$pHash>>2]|0; - $44 = HEAP32[$zName>>2]|0; - $45 = HEAP32[$nName>>2]|0; - $46 = (_sqlite3Fts3HashFind($43,$44,$45)|0); - HEAP32[$pPtr>>2] = $46; - } - $47 = HEAP32[$pPtr>>2]|0; - $48 = ($47|0)!=(0|0); - if (!($48)) { - $49 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer>>2] = $49; - $50 = (_sqlite3_mprintf(20595,$vararg_buffer)|0); - HEAP32[$zErr>>2] = $50; - $51 = HEAP32[$0>>2]|0; - $52 = HEAP32[$zErr>>2]|0; - _sqlite3_result_error($51,$52,-1); - $53 = HEAP32[$zErr>>2]|0; - _sqlite3_free($53); - STACKTOP = sp;return; - } - } - } while(0); - $54 = HEAP32[$0>>2]|0; - _sqlite3_result_blob($54,$pPtr,4,(-1)); + $7 = ($6|0)!=(0|0); + if ($7) { + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 244|0); + $10 = HEAP32[$9>>2]|0; + _sqlite3ValueSetNull($10); + } + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + _sqlite3SystemError($11,$12); STACKTOP = sp;return; } -function _fts3TokenizerEnabled($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $db = 0, $isEnabled = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; +function _sqlite3ValueSetNull($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 16|0; - $db = sp + 12|0; - $isEnabled = sp + 8|0; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_context_db_handle($1)|0); - HEAP32[$db>>2] = $2; - HEAP32[$isEnabled>>2] = 0; - $3 = HEAP32[$db>>2]|0; - HEAP32[$vararg_buffer>>2] = -1; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $isEnabled; - (_sqlite3_db_config($3,1004,$vararg_buffer)|0); - $4 = HEAP32[$isEnabled>>2]|0; - STACKTOP = sp;return ($4|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3VdbeMemSetNull($2); + STACKTOP = sp;return; } -function _fts3RemoveElementByHash($pH,$elem,$h) { - $pH = $pH|0; - $elem = $elem|0; - $h = $h|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $pEntry = 0, label = 0, sp = 0; +function _sqlite3SystemError($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; $2 = sp + 4|0; - $pEntry = sp; - HEAP32[$0>>2] = $pH; - HEAP32[$1>>2] = $elem; - HEAP32[$2>>2] = $h; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - if ($6) { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$11>>2] = $8; - } else { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 8|0); - HEAP32[$13>>2] = $8; - } - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = ((($21)) + 4|0); - HEAP32[$22>>2] = $19; - } - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 16|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + ($23<<3)|0); - HEAP32[$pEntry>>2] = $27; - $28 = HEAP32[$pEntry>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = ($30|0)==($31|0); - if ($32) { - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$pEntry>>2]|0; - $36 = ((($35)) + 4|0); - HEAP32[$36>>2] = $34; - } - $37 = HEAP32[$pEntry>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$37>>2] = $39; - $40 = HEAP32[$pEntry>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)<=(0); - if ($42) { - $43 = HEAP32[$pEntry>>2]|0; - $44 = ((($43)) + 4|0); - HEAP32[$44>>2] = 0; - } - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 1|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47 << 24 >> 24; - $49 = ($48|0)!=(0); - if ($49) { - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)!=(0|0); - if ($53) { - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 12|0); - $56 = HEAP32[$55>>2]|0; - _fts3HashFree($56); - } - } - $57 = HEAP32[$1>>2]|0; - _fts3HashFree($57); - $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = (($60) + -1)|0; - HEAP32[$59>>2] = $61; - $62 = HEAP32[$0>>2]|0; - $63 = ((($62)) + 4|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)<=(0); - if (!($65)) { + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(3082); + if ($5) { STACKTOP = sp;return; } - $66 = HEAP32[$0>>2]|0; - _sqlite3Fts3HashClear($66); - STACKTOP = sp;return; -} -function _fts3Rehash($pH,$new_size) { - $pH = $pH|0; - $new_size = $new_size|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $elem = 0, $h = 0, $new_ht = 0, $next_elem = 0, $xHash = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $new_ht = sp + 16|0; - $elem = sp + 12|0; - $next_elem = sp + 8|0; - $xHash = sp + 4|0; - $h = sp; - HEAP32[$1>>2] = $pH; - HEAP32[$2>>2] = $new_size; - $3 = HEAP32[$2>>2]|0; - $4 = $3<<3; - $5 = (_fts3HashMalloc($4)|0); - HEAP32[$new_ht>>2] = $5; - $6 = HEAP32[$new_ht>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - HEAP32[$0>>2] = 1; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); + $6 = HEAP32[$3>>2]|0; + $7 = $6 & 255; + HEAP32[$3>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = ($8|0)==(14); + $10 = HEAP32[$3>>2]|0; + $11 = ($10|0)==(10); + $or$cond = $9 | $11; + if (!($or$cond)) { + STACKTOP = sp;return; } - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 16|0); - $10 = HEAP32[$9>>2]|0; - _fts3HashFree($10); - $11 = HEAP32[$new_ht>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 16|0); - HEAP32[$13>>2] = $11; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 12|0); + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3OsGetLastError($13)|0); + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 60|0); HEAP32[$16>>2] = $14; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP8[$17>>0]|0; - $19 = $18 << 24 >> 24; - $20 = (_ftsHashFunction($19)|0); - HEAP32[$xHash>>2] = $20; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 8|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$elem>>2] = $23; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 8|0); - HEAP32[$25>>2] = 0; - while(1) { - $26 = HEAP32[$elem>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - break; - } - $28 = HEAP32[$xHash>>2]|0; - $29 = HEAP32[$elem>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$elem>>2]|0; - $33 = ((($32)) + 16|0); - $34 = HEAP32[$33>>2]|0; - $35 = (FUNCTION_TABLE_iii[$28 & 255]($31,$34)|0); - $36 = HEAP32[$2>>2]|0; - $37 = (($36) - 1)|0; - $38 = $35 & $37; - HEAP32[$h>>2] = $38; - $39 = HEAP32[$elem>>2]|0; - $40 = HEAP32[$39>>2]|0; - HEAP32[$next_elem>>2] = $40; - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$h>>2]|0; - $43 = HEAP32[$new_ht>>2]|0; - $44 = (($43) + ($42<<3)|0); - $45 = HEAP32[$elem>>2]|0; - _fts3HashInsertElement($41,$44,$45); - $46 = HEAP32[$next_elem>>2]|0; - HEAP32[$elem>>2] = $46; - } - HEAP32[$0>>2] = 0; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); + STACKTOP = sp;return; } -function _fts3HashMalloc($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3OsGetLastError($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $n; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_malloc($1)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $7 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($7|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 68|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $11 = 0; + STACKTOP = sp;return ($11|0); } - $5 = HEAP32[$p>>2]|0; - $6 = HEAP32[$0>>2]|0; - _memset(($5|0),0,($6|0))|0; - $7 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($7|0); + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 68|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = (FUNCTION_TABLE_iiii[$8 & 255]($9,0,0)|0); + $11 = $10; + STACKTOP = sp;return ($11|0); } -function _fts3HashInsertElement($pH,$pEntry,$pNew) { - $pH = $pH|0; - $pEntry = $pEntry|0; - $pNew = $pNew|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pHead = 0, label = 0, sp = 0; +function _sqlite3ValueNew($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pHead = sp; - HEAP32[$0>>2] = $pH; - HEAP32[$1>>2] = $pEntry; - HEAP32[$2>>2] = $pNew; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pHead>>2] = $5; - $6 = HEAP32[$pHead>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$2>>2]|0; - HEAP32[$31>>2] = $30; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 8|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)!=(0|0); - if ($35) { - $36 = HEAP32[$2>>2]|0; - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 8|0); - $39 = HEAP32[$38>>2]|0; - $40 = ((($39)) + 4|0); - HEAP32[$40>>2] = $36; - } - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 4|0); - HEAP32[$42>>2] = 0; - $43 = HEAP32[$2>>2]|0; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 8|0); - HEAP32[$45>>2] = $43; - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[$2>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 4|0); - HEAP32[$51>>2] = $49; - STACKTOP = sp;return; - } - $8 = HEAP32[$pHead>>2]|0; - $9 = HEAP32[$2>>2]|0; - HEAP32[$9>>2] = $8; - $10 = HEAP32[$pHead>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$pHead>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)!=(0|0); - $19 = HEAP32[$2>>2]|0; - if ($18) { - $20 = HEAP32[$pHead>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$22>>2] = $19; - } else { - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 8|0); - HEAP32[$24>>2] = $19; + $4 = (_sqlite3DbMallocZero($3,40,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $12 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($12|0); } - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$pHead>>2]|0; - $27 = ((($26)) + 4|0); - HEAP32[$27>>2] = $25; - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[$2>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 4|0); - HEAP32[$51>>2] = $49; - STACKTOP = sp;return; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 8|0); + HEAP16[$8>>1] = 1; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 32|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($12|0); } -function _porterCreate($argc,$argv,$ppTokenizer) { - $argc = $argc|0; - $argv = $argv|0; - $ppTokenizer = $ppTokenizer|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $t = 0, label = 0, sp = 0; +function _sqlite3ValueSetStr($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $t = sp; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$3>>2] = $ppTokenizer; - $4 = (_sqlite3_malloc(4)|0); - HEAP32[$t>>2] = $4; - $5 = HEAP32[$t>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - HEAP32[$0>>2] = 7; - $10 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($10|0); - } else { - $7 = HEAP32[$t>>2]|0; - ;HEAP32[$7>>2]=0|0; - $8 = HEAP32[$t>>2]|0; - $9 = HEAP32[$3>>2]|0; - HEAP32[$9>>2] = $8; - HEAP32[$0>>2] = 0; - $10 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($10|0); + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp + 16|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP8[$8>>0] = $3; + HEAP32[$9>>2] = $4; + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + STACKTOP = sp;return; } - return (0)|0; -} -function _porterDestroy($pTokenizer) { - $pTokenizer = $pTokenizer|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pTokenizer; - $1 = HEAP32[$0>>2]|0; - _sqlite3_free($1); - STACKTOP = sp;return 0; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP8[$8>>0]|0; + $16 = HEAP32[$9>>2]|0; + (_sqlite3VdbeMemSetStr($12,$13,$14,$15,$16)|0); + STACKTOP = sp;return; } -function _porterOpen($pTokenizer,$zInput,$nInput,$ppCursor) { - $pTokenizer = $pTokenizer|0; - $zInput = $zInput|0; - $nInput = $nInput|0; - $ppCursor = $ppCursor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; +function _sqlite3_backup_step($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $c = sp; - HEAP32[$1>>2] = $pTokenizer; - HEAP32[$2>>2] = $zInput; - HEAP32[$3>>2] = $nInput; - HEAP32[$4>>2] = $ppCursor; - $5 = (_sqlite3_malloc(28)|0); - HEAP32[$c>>2] = $5; - $6 = HEAP32[$c>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - HEAP32[$0>>2] = 7; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); + STACKTOP = STACKTOP + 112|0; + $2 = sp + 108|0; + $3 = sp + 104|0; + $4 = sp + 100|0; + $5 = sp + 96|0; + $6 = sp + 92|0; + $7 = sp + 88|0; + $8 = sp + 84|0; + $9 = sp + 80|0; + $10 = sp + 76|0; + $11 = sp + 72|0; + $12 = sp + 68|0; + $13 = sp + 64|0; + $14 = sp + 60|0; + $15 = sp + 56|0; + $16 = sp + 52|0; + $17 = sp + 16|0; + $18 = sp + 48|0; + $19 = sp + 44|0; + $20 = sp + 40|0; + $21 = sp + 8|0; + $22 = sp; + $23 = sp + 36|0; + $24 = sp + 32|0; + $25 = sp + 28|0; + $26 = sp + 24|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 20|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + _sqlite3_mutex_enter($31); + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 24|0); + $34 = HEAP32[$33>>2]|0; + _sqlite3BtreeEnter($34); + $35 = HEAP32[$2>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)!=(0|0); + if ($37) { + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = ((($39)) + 12|0); + $41 = HEAP32[$40>>2]|0; + _sqlite3_mutex_enter($41); } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$c>>2]|0; - $10 = ((($9)) + 4|0); - HEAP32[$10>>2] = $8; - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)==(0|0); - do { - if ($12) { - $13 = HEAP32[$c>>2]|0; - $14 = ((($13)) + 8|0); - HEAP32[$14>>2] = 0; - } else { - $15 = HEAP32[$3>>2]|0; - $16 = ($15|0)<(0); - if ($16) { - $17 = HEAP32[$2>>2]|0; - $18 = (_strlen($17)|0); - $19 = HEAP32[$c>>2]|0; - $20 = ((($19)) + 8|0); - HEAP32[$20>>2] = $18; - break; + $42 = HEAP32[$2>>2]|0; + $43 = ((($42)) + 28|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$4>>2] = $44; + $45 = HEAP32[$4>>2]|0; + $46 = (_isFatalError($45)|0); + $47 = ($46|0)!=(0); + if (!($47)) { + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 24|0); + $50 = HEAP32[$49>>2]|0; + $51 = (_sqlite3BtreePager($50)|0); + HEAP32[$8>>2] = $51; + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3BtreePager($54)|0); + HEAP32[$9>>2] = $55; + HEAP32[$11>>2] = -1; + HEAP32[$12>>2] = 0; + $56 = HEAP32[$2>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)!=(0|0); + if ($58) { + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 24|0); + $61 = HEAP32[$60>>2]|0; + $62 = ((($61)) + 4|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($63)) + 20|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = ($66|0)==(2); + if ($67) { + HEAP32[$4>>2] = 5; } else { - $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$c>>2]|0; - $23 = ((($22)) + 8|0); - HEAP32[$23>>2] = $21; - break; + label = 7; } + } else { + label = 7; } - } while(0); - $24 = HEAP32[$c>>2]|0; - $25 = ((($24)) + 12|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$c>>2]|0; - $27 = ((($26)) + 16|0); - HEAP32[$27>>2] = 0; - $28 = HEAP32[$c>>2]|0; - $29 = ((($28)) + 20|0); - HEAP32[$29>>2] = 0; - $30 = HEAP32[$c>>2]|0; - $31 = ((($30)) + 24|0); - HEAP32[$31>>2] = 0; - $32 = HEAP32[$c>>2]|0; - $33 = HEAP32[$4>>2]|0; - HEAP32[$33>>2] = $32; - HEAP32[$0>>2] = 0; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); -} -function _porterClose($pCursor) { - $pCursor = $pCursor|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $c = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $c = sp; - HEAP32[$0>>2] = $pCursor; - $1 = HEAP32[$0>>2]|0; - HEAP32[$c>>2] = $1; - $2 = HEAP32[$c>>2]|0; - $3 = ((($2)) + 20|0); - $4 = HEAP32[$3>>2]|0; - _sqlite3_free($4); - $5 = HEAP32[$c>>2]|0; - _sqlite3_free($5); - STACKTOP = sp;return 0; -} -function _porterNext($pCursor,$pzToken,$pnBytes,$piStartOffset,$piEndOffset,$piPosition) { - $pCursor = $pCursor|0; - $pzToken = $pzToken|0; - $pnBytes = $pnBytes|0; - $piStartOffset = $piStartOffset|0; - $piEndOffset = $piEndOffset|0; - $piPosition = $piPosition|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $14 = 0, $15 = 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, $c = 0, $ch = 0, $iStartOffset = 0, $n = 0, $pNew = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $5 = sp + 28|0; - $6 = sp + 24|0; - $c = sp + 20|0; - $z = sp + 16|0; - $iStartOffset = sp + 12|0; - $ch = sp + 8|0; - $n = sp + 4|0; - $pNew = sp; - HEAP32[$1>>2] = $pCursor; - HEAP32[$2>>2] = $pzToken; - HEAP32[$3>>2] = $pnBytes; - HEAP32[$4>>2] = $piStartOffset; - HEAP32[$5>>2] = $piEndOffset; - HEAP32[$6>>2] = $piPosition; - $7 = HEAP32[$1>>2]|0; - HEAP32[$c>>2] = $7; - $8 = HEAP32[$c>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$z>>2] = $10; - while(1) { - $11 = HEAP32[$c>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$c>>2]|0; - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($13|0)<($16|0); - if (!($17)) { - label = 23; - break; + if ((label|0) == 7) { + HEAP32[$4>>2] = 0; } - while(1) { - $18 = HEAP32[$c>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$c>>2]|0; - $22 = ((($21)) + 8|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($20|0)<($23|0); - if ($24) { - $25 = HEAP32[$c>>2]|0; - $26 = ((($25)) + 12|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$z>>2]|0; - $29 = (($28) + ($27)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30 << 24 >> 24; - HEAP32[$ch>>2] = $31; - $32 = $31 & 128; - $33 = ($32|0)==(0); - if ($33) { - $34 = HEAP32[$ch>>2]|0; - $35 = ($34|0)<(48); - if ($35) { - $128 = 1; - } else { - $36 = HEAP32[$ch>>2]|0; - $37 = (($36) - 48)|0; - $38 = (25052 + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = ($39<<24>>24)!=(0); - $41 = $40 ^ 1; - $128 = $41; - } - } else { - $128 = 0; - } - } else { - $128 = 0; + $68 = HEAP32[$4>>2]|0; + $69 = ($68|0)==(0); + if ($69) { + $70 = HEAP32[$2>>2]|0; + $71 = ((($70)) + 24|0); + $72 = HEAP32[$71>>2]|0; + $73 = (_sqlite3BtreeIsInReadTrans($72)|0); + $74 = (0)==($73|0); + if ($74) { + $75 = HEAP32[$2>>2]|0; + $76 = ((($75)) + 24|0); + $77 = HEAP32[$76>>2]|0; + $78 = (_sqlite3BtreeBeginTrans($77,0)|0); + HEAP32[$4>>2] = $78; + HEAP32[$12>>2] = 1; } - $42 = HEAP32[$c>>2]|0; - $43 = ((($42)) + 12|0); - $44 = HEAP32[$43>>2]|0; - if (!($128)) { - break; + } + $79 = HEAP32[$2>>2]|0; + $80 = ((($79)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==(0); + $83 = HEAP32[$4>>2]|0; + $84 = ($83|0)==(0); + $or$cond = $82 & $84; + if ($or$cond) { + $85 = HEAP32[$2>>2]|0; + $86 = (_setDestPgsz($85)|0); + $87 = ($86|0)==(7); + if ($87) { + HEAP32[$4>>2] = 7; } - $45 = (($44) + 1)|0; - HEAP32[$43>>2] = $45; } - HEAP32[$iStartOffset>>2] = $44; - while(1) { - $46 = HEAP32[$c>>2]|0; - $47 = ((($46)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$c>>2]|0; - $50 = ((($49)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($48|0)<($51|0); - if ($52) { - $53 = HEAP32[$c>>2]|0; - $54 = ((($53)) + 12|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$z>>2]|0; - $57 = (($56) + ($55)|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58 << 24 >> 24; - HEAP32[$ch>>2] = $59; - $60 = $59 & 128; - $61 = ($60|0)==(0); - if ($61) { - $62 = HEAP32[$ch>>2]|0; - $63 = ($62|0)<(48); - if ($63) { - $71 = 1; - } else { - $64 = HEAP32[$ch>>2]|0; - $65 = (($64) - 48)|0; - $66 = (25052 + ($65)|0); - $67 = HEAP8[$66>>0]|0; - $68 = ($67<<24>>24)!=(0); - $69 = $68 ^ 1; - $71 = $69; - } - } else { - $71 = 0; + $88 = HEAP32[$4>>2]|0; + $89 = (0)==($88|0); + if ($89) { + $90 = HEAP32[$2>>2]|0; + $91 = ((($90)) + 12|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0); + if ($93) { + $94 = HEAP32[$2>>2]|0; + $95 = ((($94)) + 4|0); + $96 = HEAP32[$95>>2]|0; + $97 = (_sqlite3BtreeBeginTrans($96,2)|0); + HEAP32[$4>>2] = $97; + $98 = (0)==($97|0); + if ($98) { + $99 = HEAP32[$2>>2]|0; + $100 = ((($99)) + 12|0); + HEAP32[$100>>2] = 1; + $101 = HEAP32[$2>>2]|0; + $102 = ((($101)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$2>>2]|0; + $105 = ((($104)) + 8|0); + _sqlite3BtreeGetMeta($103,1,$105); } - $70 = $71 ^ 1; - $129 = $70; - } else { - $129 = 0; - } - $72 = HEAP32[$c>>2]|0; - $73 = ((($72)) + 12|0); - $74 = HEAP32[$73>>2]|0; - if (!($129)) { - break; } - $75 = (($74) + 1)|0; - HEAP32[$73>>2] = $75; - } - $76 = HEAP32[$iStartOffset>>2]|0; - $77 = ($74|0)>($76|0); - if ($77) { - break; } - } - if ((label|0) == 23) { - HEAP32[$0>>2] = 101; - $127 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($127|0); - } - $78 = HEAP32[$c>>2]|0; - $79 = ((($78)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = HEAP32[$iStartOffset>>2]|0; - $82 = (($80) - ($81))|0; - HEAP32[$n>>2] = $82; - $83 = HEAP32[$n>>2]|0; - $84 = HEAP32[$c>>2]|0; - $85 = ((($84)) + 24|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($83|0)>($86|0); - do { - if ($87) { - $88 = HEAP32[$n>>2]|0; - $89 = (($88) + 20)|0; - $90 = HEAP32[$c>>2]|0; - $91 = ((($90)) + 24|0); - HEAP32[$91>>2] = $89; - $92 = HEAP32[$c>>2]|0; - $93 = ((($92)) + 20|0); - $94 = HEAP32[$93>>2]|0; - $95 = HEAP32[$c>>2]|0; - $96 = ((($95)) + 24|0); - $97 = HEAP32[$96>>2]|0; - $98 = (_sqlite3_realloc($94,$97)|0); - HEAP32[$pNew>>2] = $98; - $99 = HEAP32[$pNew>>2]|0; - $100 = ($99|0)!=(0|0); - if ($100) { - $101 = HEAP32[$pNew>>2]|0; - $102 = HEAP32[$c>>2]|0; - $103 = ((($102)) + 20|0); - HEAP32[$103>>2] = $101; - break; + $106 = HEAP32[$2>>2]|0; + $107 = ((($106)) + 24|0); + $108 = HEAP32[$107>>2]|0; + $109 = (_sqlite3BtreeGetPageSize($108)|0); + HEAP32[$6>>2] = $109; + $110 = HEAP32[$2>>2]|0; + $111 = ((($110)) + 4|0); + $112 = HEAP32[$111>>2]|0; + $113 = (_sqlite3BtreeGetPageSize($112)|0); + HEAP32[$7>>2] = $113; + $114 = HEAP32[$2>>2]|0; + $115 = ((($114)) + 4|0); + $116 = HEAP32[$115>>2]|0; + $117 = (_sqlite3BtreePager($116)|0); + $118 = (_sqlite3PagerGetJournalMode($117)|0); + HEAP32[$5>>2] = $118; + $119 = HEAP32[$4>>2]|0; + $120 = (0)==($119|0); + $121 = HEAP32[$5>>2]|0; + $122 = ($121|0)==(5); + $or$cond3 = $120 & $122; + if ($or$cond3) { + $123 = HEAP32[$6>>2]|0; + $124 = HEAP32[$7>>2]|0; + $125 = ($123|0)!=($124|0); + if ($125) { + HEAP32[$4>>2] = 8; } - HEAP32[$0>>2] = 7; - $127 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($127|0); - } - } while(0); - $104 = HEAP32[$iStartOffset>>2]|0; - $105 = HEAP32[$z>>2]|0; - $106 = (($105) + ($104)|0); - $107 = HEAP32[$n>>2]|0; - $108 = HEAP32[$c>>2]|0; - $109 = ((($108)) + 20|0); - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$3>>2]|0; - _porter_stemmer($106,$107,$110,$111); - $112 = HEAP32[$c>>2]|0; - $113 = ((($112)) + 20|0); - $114 = HEAP32[$113>>2]|0; - $115 = HEAP32[$2>>2]|0; - HEAP32[$115>>2] = $114; - $116 = HEAP32[$iStartOffset>>2]|0; - $117 = HEAP32[$4>>2]|0; - HEAP32[$117>>2] = $116; - $118 = HEAP32[$c>>2]|0; - $119 = ((($118)) + 12|0); - $120 = HEAP32[$119>>2]|0; - $121 = HEAP32[$5>>2]|0; - HEAP32[$121>>2] = $120; - $122 = HEAP32[$c>>2]|0; - $123 = ((($122)) + 16|0); - $124 = HEAP32[$123>>2]|0; - $125 = (($124) + 1)|0; - HEAP32[$123>>2] = $125; - $126 = HEAP32[$6>>2]|0; - HEAP32[$126>>2] = $124; - HEAP32[$0>>2] = 0; - $127 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($127|0); -} -function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { - $zIn = $zIn|0; - $nIn = $nIn|0; - $zOut = $zOut|0; - $pnOut = $pnOut|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $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, $c = 0, $i = 0, $j = 0, $or$cond = 0, $z = 0; - var $z2 = 0, $zReverse = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $i = sp + 12|0; - $j = sp + 8|0; - $zReverse = sp + 36|0; - $z = sp + 4|0; - $z2 = sp; - $c = sp + 32|0; - HEAP32[$0>>2] = $zIn; - HEAP32[$1>>2] = $nIn; - HEAP32[$2>>2] = $zOut; - HEAP32[$3>>2] = $pnOut; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)<(3); - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)>=(21); - $or$cond = $5 | $7; - if ($or$cond) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - _copy_stemmer($8,$9,$10,$11); - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - HEAP32[$j>>2] = 22; - while(1) { - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ($12|0)<($13|0); - if (!($14)) { - break; } - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) + ($15)|0); - $18 = HEAP8[$17>>0]|0; - HEAP8[$c>>0] = $18; - $19 = HEAP8[$c>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($20|0)>=(65); - if ($21) { - $22 = HEAP8[$c>>0]|0; - $23 = $22 << 24 >> 24; - $24 = ($23|0)<=(90); - if ($24) { - $25 = HEAP8[$c>>0]|0; - $26 = $25 << 24 >> 24; - $27 = (($26) + 97)|0; - $28 = (($27) - 65)|0; - $29 = $28&255; - $30 = HEAP32[$j>>2]|0; - $31 = (($zReverse) + ($30)|0); - HEAP8[$31>>0] = $29; - } else { - label = 8; + $126 = HEAP32[$2>>2]|0; + $127 = ((($126)) + 24|0); + $128 = HEAP32[$127>>2]|0; + $129 = (_sqlite3BtreeLastPage($128)|0); + HEAP32[$11>>2] = $129; + HEAP32[$10>>2] = 0; + while(1) { + $130 = HEAP32[$3>>2]|0; + $131 = ($130|0)<(0); + if (!($131)) { + $132 = HEAP32[$10>>2]|0; + $133 = HEAP32[$3>>2]|0; + $134 = ($132|0)<($133|0); + if (!($134)) { + break; + } } - } else { - label = 8; - } - if ((label|0) == 8) { - label = 0; - $32 = HEAP8[$c>>0]|0; - $33 = $32 << 24 >> 24; - $34 = ($33|0)>=(97); - if (!($34)) { - label = 11; + $135 = HEAP32[$2>>2]|0; + $136 = ((($135)) + 16|0); + $137 = HEAP32[$136>>2]|0; + $138 = HEAP32[$11>>2]|0; + $139 = ($137>>>0)<=($138>>>0); + if (!($139)) { break; } - $35 = HEAP8[$c>>0]|0; - $36 = $35 << 24 >> 24; - $37 = ($36|0)<=(122); - if (!($37)) { - label = 11; + $140 = HEAP32[$4>>2]|0; + $141 = ($140|0)!=(0); + $142 = $141 ^ 1; + if (!($142)) { break; } - $38 = HEAP8[$c>>0]|0; - $39 = HEAP32[$j>>2]|0; - $40 = (($zReverse) + ($39)|0); - HEAP8[$40>>0] = $38; - } - $45 = HEAP32[$i>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$i>>2] = $46; - $47 = HEAP32[$j>>2]|0; - $48 = (($47) + -1)|0; - HEAP32[$j>>2] = $48; - } - if ((label|0) == 11) { - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$1>>2]|0; - $43 = HEAP32[$2>>2]|0; - $44 = HEAP32[$3>>2]|0; - _copy_stemmer($41,$42,$43,$44); - STACKTOP = sp;return; - } - $49 = ((($zReverse)) + 23|0); - ;HEAP8[$49>>0]=0|0;HEAP8[$49+1>>0]=0|0;HEAP8[$49+2>>0]=0|0;HEAP8[$49+3>>0]=0|0;HEAP8[$49+4>>0]=0|0; - $50 = HEAP32[$j>>2]|0; - $51 = (($50) + 1)|0; - $52 = (($zReverse) + ($51)|0); - HEAP32[$z>>2] = $52; - $53 = HEAP32[$z>>2]|0; - $54 = HEAP8[$53>>0]|0; - $55 = $54 << 24 >> 24; - $56 = ($55|0)==(115); - if ($56) { - $57 = (_stem($z,25132,25137,0)|0); - $58 = ($57|0)!=(0); - if (!($58)) { - $59 = (_stem($z,25140,25144,0)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - $61 = (_stem($z,25137,25137,0)|0); - $62 = ($61|0)!=(0); - if (!($62)) { - $63 = HEAP32[$z>>2]|0; - $64 = ((($63)) + 1|0); - HEAP32[$z>>2] = $64; - } - } - } - } - $65 = HEAP32[$z>>2]|0; - HEAP32[$z2>>2] = $65; - $66 = (_stem($z,25146,25150,172)|0); - $67 = ($66|0)!=(0); - do { - if (!($67)) { - $68 = (_stem($z,25153,18402,173)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - $70 = (_stem($z,25157,18402,173)|0); - $71 = ($70|0)!=(0); - if (!($71)) { + $143 = HEAP32[$2>>2]|0; + $144 = ((($143)) + 16|0); + $145 = HEAP32[$144>>2]|0; + HEAP32[$13>>2] = $145; + $146 = HEAP32[$13>>2]|0; + $147 = HEAP32[482]|0; + $148 = HEAP32[$2>>2]|0; + $149 = ((($148)) + 24|0); + $150 = HEAP32[$149>>2]|0; + $151 = ((($150)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = ((($152)) + 32|0); + $154 = HEAP32[$153>>2]|0; + $155 = (($147>>>0) / ($154>>>0))&-1; + $156 = (($155) + 1)|0; + $157 = ($146|0)!=($156|0); + if ($157) { + $158 = HEAP32[$8>>2]|0; + $159 = HEAP32[$13>>2]|0; + $160 = (_sqlite3PagerGet($158,$159,$14,2)|0); + HEAP32[$4>>2] = $160; + $161 = HEAP32[$4>>2]|0; + $162 = ($161|0)==(0); + if ($162) { + $163 = HEAP32[$2>>2]|0; + $164 = HEAP32[$13>>2]|0; + $165 = HEAP32[$14>>2]|0; + $166 = (_sqlite3PagerGetData($165)|0); + $167 = (_backupOnePage($163,$164,$166,0)|0); + HEAP32[$4>>2] = $167; + $168 = HEAP32[$14>>2]|0; + _sqlite3PagerUnref($168); + } + } + $169 = HEAP32[$2>>2]|0; + $170 = ((($169)) + 16|0); + $171 = HEAP32[$170>>2]|0; + $172 = (($171) + 1)|0; + HEAP32[$170>>2] = $172; + $173 = HEAP32[$10>>2]|0; + $174 = (($173) + 1)|0; + HEAP32[$10>>2] = $174; + } + $175 = HEAP32[$4>>2]|0; + $176 = ($175|0)==(0); + do { + if ($176) { + $177 = HEAP32[$11>>2]|0; + $178 = HEAP32[$2>>2]|0; + $179 = ((($178)) + 36|0); + HEAP32[$179>>2] = $177; + $180 = HEAP32[$11>>2]|0; + $181 = (($180) + 1)|0; + $182 = HEAP32[$2>>2]|0; + $183 = ((($182)) + 16|0); + $184 = HEAP32[$183>>2]|0; + $185 = (($181) - ($184))|0; + $186 = HEAP32[$2>>2]|0; + $187 = ((($186)) + 32|0); + HEAP32[$187>>2] = $185; + $188 = HEAP32[$2>>2]|0; + $189 = ((($188)) + 16|0); + $190 = HEAP32[$189>>2]|0; + $191 = HEAP32[$11>>2]|0; + $192 = ($190>>>0)>($191>>>0); + if ($192) { + HEAP32[$4>>2] = 101; break; } - } - $72 = HEAP32[$z>>2]|0; - $73 = HEAP32[$z2>>2]|0; - $74 = ($72|0)!=($73|0); - if ($74) { - $75 = (_stem($z,25160,25163,0)|0); - $76 = ($75|0)!=(0); - if (!($76)) { - $77 = (_stem($z,25167,25170,0)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - $79 = (_stem($z,25174,25177,0)|0); - $80 = ($79|0)!=(0); - if (!($80)) { - $81 = HEAP32[$z>>2]|0; - $82 = (_doubleConsonant($81)|0); - $83 = ($82|0)!=(0); - if ($83) { - $84 = HEAP32[$z>>2]|0; - $85 = HEAP8[$84>>0]|0; - $86 = $85 << 24 >> 24; - $87 = ($86|0)!=(108); - if ($87) { - $88 = HEAP32[$z>>2]|0; - $89 = HEAP8[$88>>0]|0; - $90 = $89 << 24 >> 24; - $91 = ($90|0)!=(115); - if ($91) { - $92 = HEAP32[$z>>2]|0; - $93 = HEAP8[$92>>0]|0; - $94 = $93 << 24 >> 24; - $95 = ($94|0)!=(122); - if ($95) { - $96 = HEAP32[$z>>2]|0; - $97 = ((($96)) + 1|0); - HEAP32[$z>>2] = $97; - break; - } - } - } - } - $98 = HEAP32[$z>>2]|0; - $99 = (_m_eq_1($98)|0); - $100 = ($99|0)!=(0); - if ($100) { - $101 = HEAP32[$z>>2]|0; - $102 = (_star_oh($101)|0); - $103 = ($102|0)!=(0); - if ($103) { - $104 = HEAP32[$z>>2]|0; - $105 = ((($104)) + -1|0); - HEAP32[$z>>2] = $105; - HEAP8[$105>>0] = 101; - } - } - } - } + $193 = HEAP32[$2>>2]|0; + $194 = ((($193)) + 40|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($195|0)!=(0); + if (!($196)) { + $197 = HEAP32[$2>>2]|0; + _attachBackupObject($197); } } - } - } while(0); - $106 = HEAP32[$z>>2]|0; - $107 = HEAP8[$106>>0]|0; - $108 = $107 << 24 >> 24; - $109 = ($108|0)==(121); - if ($109) { - $110 = HEAP32[$z>>2]|0; - $111 = ((($110)) + 1|0); - $112 = (_hasVowel($111)|0); - $113 = ($112|0)!=(0); - if ($113) { - $114 = HEAP32[$z>>2]|0; - HEAP8[$114>>0] = 105; - } - } - $115 = HEAP32[$z>>2]|0; - $116 = ((($115)) + 1|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117 << 24 >> 24; - switch ($118|0) { - case 97: { - $119 = (_stem($z,25181,25163,172)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - (_stem($z,25189,25196,172)|0); - } - break; - } - case 99: { - $121 = (_stem($z,25201,25206,172)|0); - $122 = ($121|0)!=(0); - if (!($122)) { - (_stem($z,25211,25216,172)|0); - } - break; - } - case 101: { - (_stem($z,25221,25177,172)|0); - break; - } - case 103: { - (_stem($z,25226,25231,172)|0); - break; - } - case 108: { - $123 = (_stem($z,25235,25170,172)|0); - $124 = ($123|0)!=(0); - if (!($124)) { - $125 = (_stem($z,25239,25244,172)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - $127 = (_stem($z,25247,25253,172)|0); - $128 = ($127|0)!=(0); - if (!($128)) { - $129 = (_stem($z,25257,25261,172)|0); - $130 = ($129|0)!=(0); - if (!($130)) { - (_stem($z,25263,25269,172)|0); - } - } + } while(0); + $198 = HEAP32[$4>>2]|0; + $199 = ($198|0)==(101); + if ($199) { + $200 = HEAP32[$11>>2]|0; + $201 = ($200|0)==(0); + if ($201) { + $202 = HEAP32[$2>>2]|0; + $203 = ((($202)) + 4|0); + $204 = HEAP32[$203>>2]|0; + $205 = (_sqlite3BtreeNewDb($204)|0); + HEAP32[$4>>2] = $205; + HEAP32[$11>>2] = 1; } - } - break; - } - case 111: { - $131 = (_stem($z,25273,25177,172)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - $133 = (_stem($z,25281,25163,172)|0); - $134 = ($133|0)!=(0); - if (!($134)) { - (_stem($z,25287,25163,172)|0); + $206 = HEAP32[$4>>2]|0; + $207 = ($206|0)==(0); + $208 = HEAP32[$4>>2]|0; + $209 = ($208|0)==(101); + $or$cond6 = $207 | $209; + if ($or$cond6) { + $210 = HEAP32[$2>>2]|0; + $211 = ((($210)) + 4|0); + $212 = HEAP32[$211>>2]|0; + $213 = HEAP32[$2>>2]|0; + $214 = ((($213)) + 8|0); + $215 = HEAP32[$214>>2]|0; + $216 = (($215) + 1)|0; + $217 = (_sqlite3BtreeUpdateMeta($212,1,$216)|0); + HEAP32[$4>>2] = $217; } - } - break; - } - case 115: { - $135 = (_stem($z,25292,25244,172)|0); - $136 = ($135|0)!=(0); - if (!($136)) { - $137 = (_stem($z,25298,25306,172)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - $139 = (_stem($z,25310,25318,172)|0); - $140 = ($139|0)!=(0); - if (!($140)) { - (_stem($z,25322,25269,172)|0); + $218 = HEAP32[$4>>2]|0; + $219 = ($218|0)==(0); + if ($219) { + $220 = HEAP32[$2>>2]|0; + $221 = HEAP32[$220>>2]|0; + $222 = ($221|0)!=(0|0); + if ($222) { + $223 = HEAP32[$2>>2]|0; + $224 = HEAP32[$223>>2]|0; + _sqlite3ResetAllSchemasOfConnection($224); } - } - } - break; - } - case 116: { - $141 = (_stem($z,25330,25244,172)|0); - $142 = ($141|0)!=(0); - if (!($142)) { - $143 = (_stem($z,25336,25306,172)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - (_stem($z,25342,25170,172)|0); - } - } - break; - } - default: { - } - } - $145 = HEAP32[$z>>2]|0; - $146 = HEAP8[$145>>0]|0; - $147 = $146 << 24 >> 24; - switch ($147|0) { - case 101: { - $148 = (_stem($z,25349,25355,172)|0); - $149 = ($148|0)!=(0); - if (!($149)) { - $150 = (_stem($z,25358,18402,172)|0); - $151 = ($150|0)!=(0); - if (!($151)) { - (_stem($z,25364,25244,172)|0); - } - } - break; - } - case 105: { - (_stem($z,25370,25355,172)|0); - break; - } - case 108: { - $152 = (_stem($z,25376,25355,172)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - (_stem($z,25381,18402,172)|0); - } - break; - } - case 115: { - (_stem($z,25385,18402,172)|0); - break; - } - default: { - } - } - $154 = HEAP32[$z>>2]|0; - $155 = ((($154)) + 1|0); - $156 = HEAP8[$155>>0]|0; - $157 = $156 << 24 >> 24; - L80: do { - switch ($157|0) { - case 97: { - $158 = HEAP32[$z>>2]|0; - $159 = HEAP8[$158>>0]|0; - $160 = $159 << 24 >> 24; - $161 = ($160|0)==(108); - if ($161) { - $162 = HEAP32[$z>>2]|0; - $163 = ((($162)) + 2|0); - $164 = (_m_gt_1($163)|0); - $165 = ($164|0)!=(0); - if ($165) { - $166 = HEAP32[$z>>2]|0; - $167 = ((($166)) + 2|0); - HEAP32[$z>>2] = $167; + $225 = HEAP32[$5>>2]|0; + $226 = ($225|0)==(5); + if ($226) { + $227 = HEAP32[$2>>2]|0; + $228 = ((($227)) + 4|0); + $229 = HEAP32[$228>>2]|0; + $230 = (_sqlite3BtreeSetVersion($229,2)|0); + HEAP32[$4>>2] = $230; } } - break; - } - case 99: { - $168 = HEAP32[$z>>2]|0; - $169 = HEAP8[$168>>0]|0; - $170 = $169 << 24 >> 24; - $171 = ($170|0)==(101); - if ($171) { - $172 = HEAP32[$z>>2]|0; - $173 = ((($172)) + 2|0); - $174 = HEAP8[$173>>0]|0; - $175 = $174 << 24 >> 24; - $176 = ($175|0)==(110); - if ($176) { - $177 = HEAP32[$z>>2]|0; - $178 = ((($177)) + 3|0); - $179 = HEAP8[$178>>0]|0; - $180 = $179 << 24 >> 24; - $181 = ($180|0)==(97); - if (!($181)) { - $182 = HEAP32[$z>>2]|0; - $183 = ((($182)) + 3|0); - $184 = HEAP8[$183>>0]|0; - $185 = $184 << 24 >> 24; - $186 = ($185|0)==(101); - if (!($186)) { - break L80; - } - } - $187 = HEAP32[$z>>2]|0; - $188 = ((($187)) + 4|0); - $189 = (_m_gt_1($188)|0); - $190 = ($189|0)!=(0); - if ($190) { - $191 = HEAP32[$z>>2]|0; - $192 = ((($191)) + 4|0); - HEAP32[$z>>2] = $192; + $231 = HEAP32[$4>>2]|0; + $232 = ($231|0)==(0); + if ($232) { + $233 = HEAP32[$6>>2]|0; + $234 = HEAP32[$7>>2]|0; + $235 = ($233|0)<($234|0); + if ($235) { + $236 = HEAP32[$7>>2]|0; + $237 = HEAP32[$6>>2]|0; + $238 = (($236|0) / ($237|0))&-1; + HEAP32[$16>>2] = $238; + $239 = HEAP32[$11>>2]|0; + $240 = HEAP32[$16>>2]|0; + $241 = (($239) + ($240))|0; + $242 = (($241) - 1)|0; + $243 = HEAP32[$16>>2]|0; + $244 = (($242|0) / ($243|0))&-1; + HEAP32[$15>>2] = $244; + $245 = HEAP32[$15>>2]|0; + $246 = HEAP32[482]|0; + $247 = HEAP32[$2>>2]|0; + $248 = ((($247)) + 4|0); + $249 = HEAP32[$248>>2]|0; + $250 = ((($249)) + 4|0); + $251 = HEAP32[$250>>2]|0; + $252 = ((($251)) + 32|0); + $253 = HEAP32[$252>>2]|0; + $254 = (($246>>>0) / ($253>>>0))&-1; + $255 = (($254) + 1)|0; + $256 = ($245|0)==($255|0); + if ($256) { + $257 = HEAP32[$15>>2]|0; + $258 = (($257) + -1)|0; + HEAP32[$15>>2] = $258; } - } - } - break; - } - case 101: { - $193 = HEAP32[$z>>2]|0; - $194 = HEAP8[$193>>0]|0; - $195 = $194 << 24 >> 24; - $196 = ($195|0)==(114); - if ($196) { - $197 = HEAP32[$z>>2]|0; - $198 = ((($197)) + 2|0); - $199 = (_m_gt_1($198)|0); - $200 = ($199|0)!=(0); - if ($200) { - $201 = HEAP32[$z>>2]|0; - $202 = ((($201)) + 2|0); - HEAP32[$z>>2] = $202; - } - } - break; - } - case 105: { - $203 = HEAP32[$z>>2]|0; - $204 = HEAP8[$203>>0]|0; - $205 = $204 << 24 >> 24; - $206 = ($205|0)==(99); - if ($206) { - $207 = HEAP32[$z>>2]|0; - $208 = ((($207)) + 2|0); - $209 = (_m_gt_1($208)|0); - $210 = ($209|0)!=(0); - if ($210) { - $211 = HEAP32[$z>>2]|0; - $212 = ((($211)) + 2|0); - HEAP32[$z>>2] = $212; - } - } - break; - } - case 108: { - $213 = HEAP32[$z>>2]|0; - $214 = HEAP8[$213>>0]|0; - $215 = $214 << 24 >> 24; - $216 = ($215|0)==(101); - if ($216) { - $217 = HEAP32[$z>>2]|0; - $218 = ((($217)) + 2|0); - $219 = HEAP8[$218>>0]|0; - $220 = $219 << 24 >> 24; - $221 = ($220|0)==(98); - if ($221) { - $222 = HEAP32[$z>>2]|0; - $223 = ((($222)) + 3|0); - $224 = HEAP8[$223>>0]|0; - $225 = $224 << 24 >> 24; - $226 = ($225|0)==(97); - if (!($226)) { - $227 = HEAP32[$z>>2]|0; - $228 = ((($227)) + 3|0); - $229 = HEAP8[$228>>0]|0; - $230 = $229 << 24 >> 24; - $231 = ($230|0)==(105); - if (!($231)) { - break L80; + } else { + $259 = HEAP32[$11>>2]|0; + $260 = HEAP32[$6>>2]|0; + $261 = HEAP32[$7>>2]|0; + $262 = (($260|0) / ($261|0))&-1; + $263 = Math_imul($259, $262)|0; + HEAP32[$15>>2] = $263; + } + $264 = HEAP32[$6>>2]|0; + $265 = HEAP32[$7>>2]|0; + $266 = ($264|0)<($265|0); + do { + if ($266) { + $267 = HEAP32[$6>>2]|0; + $268 = ($267|0)<(0); + $269 = $268 << 31 >> 31; + $270 = HEAP32[$11>>2]|0; + $271 = ($270|0)<(0); + $272 = $271 << 31 >> 31; + $273 = (___muldi3(($267|0),($269|0),($270|0),($272|0))|0); + $274 = tempRet0; + $275 = $17; + $276 = $275; + HEAP32[$276>>2] = $273; + $277 = (($275) + 4)|0; + $278 = $277; + HEAP32[$278>>2] = $274; + $279 = HEAP32[$9>>2]|0; + $280 = (_sqlite3PagerFile($279)|0); + HEAP32[$18>>2] = $280; + $281 = HEAP32[$9>>2]|0; + _sqlite3PagerPagecount($281,$20); + $282 = HEAP32[$15>>2]|0; + HEAP32[$19>>2] = $282; + while(1) { + $283 = HEAP32[$4>>2]|0; + $284 = ($283|0)==(0); + if (!($284)) { + break; + } + $285 = HEAP32[$19>>2]|0; + $286 = HEAP32[$20>>2]|0; + $287 = ($285>>>0)<=($286>>>0); + if (!($287)) { + break; + } + $288 = HEAP32[$19>>2]|0; + $289 = HEAP32[482]|0; + $290 = HEAP32[$2>>2]|0; + $291 = ((($290)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = ((($292)) + 4|0); + $294 = HEAP32[$293>>2]|0; + $295 = ((($294)) + 32|0); + $296 = HEAP32[$295>>2]|0; + $297 = (($289>>>0) / ($296>>>0))&-1; + $298 = (($297) + 1)|0; + $299 = ($288|0)!=($298|0); + do { + if ($299) { + $300 = HEAP32[$9>>2]|0; + $301 = HEAP32[$19>>2]|0; + $302 = (_sqlite3PagerGet($300,$301,$23,0)|0); + HEAP32[$4>>2] = $302; + $303 = HEAP32[$4>>2]|0; + $304 = ($303|0)==(0); + if (!($304)) { + break; + } + $305 = HEAP32[$23>>2]|0; + $306 = (_sqlite3PagerWrite($305)|0); + HEAP32[$4>>2] = $306; + $307 = HEAP32[$23>>2]|0; + _sqlite3PagerUnref($307); + } + } while(0); + $308 = HEAP32[$19>>2]|0; + $309 = (($308) + 1)|0; + HEAP32[$19>>2] = $309; } + $310 = HEAP32[$4>>2]|0; + $311 = ($310|0)==(0); + if ($311) { + $312 = HEAP32[$9>>2]|0; + $313 = (_sqlite3PagerCommitPhaseOne($312,0,1)|0); + HEAP32[$4>>2] = $313; + } + $314 = HEAP32[482]|0; + $315 = HEAP32[$7>>2]|0; + $316 = (($314) + ($315))|0; + $317 = ($316|0)<(0); + $318 = $317 << 31 >> 31; + $319 = $17; + $320 = $319; + $321 = HEAP32[$320>>2]|0; + $322 = (($319) + 4)|0; + $323 = $322; + $324 = HEAP32[$323>>2]|0; + $325 = ($318|0)<($324|0); + $326 = ($316>>>0)<($321>>>0); + $327 = ($318|0)==($324|0); + $328 = $327 & $326; + $329 = $325 | $328; + if ($329) { + $330 = HEAP32[482]|0; + $331 = HEAP32[$7>>2]|0; + $332 = (($330) + ($331))|0; + $333 = ($332|0)<(0); + $334 = $333 << 31 >> 31; + $343 = $332;$346 = $334; + } else { + $335 = $17; + $336 = $335; + $337 = HEAP32[$336>>2]|0; + $338 = (($335) + 4)|0; + $339 = $338; + $340 = HEAP32[$339>>2]|0; + $343 = $337;$346 = $340; + } + $341 = $22; + $342 = $341; + HEAP32[$342>>2] = $343; + $344 = (($341) + 4)|0; + $345 = $344; + HEAP32[$345>>2] = $346; + $347 = HEAP32[482]|0; + $348 = HEAP32[$6>>2]|0; + $349 = (($347) + ($348))|0; + $350 = ($349|0)<(0); + $351 = $350 << 31 >> 31; + $352 = $21; + $353 = $352; + HEAP32[$353>>2] = $349; + $354 = (($352) + 4)|0; + $355 = $354; + HEAP32[$355>>2] = $351; + while(1) { + $356 = HEAP32[$4>>2]|0; + $357 = ($356|0)==(0); + if (!($357)) { + break; + } + $358 = $21; + $359 = $358; + $360 = HEAP32[$359>>2]|0; + $361 = (($358) + 4)|0; + $362 = $361; + $363 = HEAP32[$362>>2]|0; + $364 = $22; + $365 = $364; + $366 = HEAP32[$365>>2]|0; + $367 = (($364) + 4)|0; + $368 = $367; + $369 = HEAP32[$368>>2]|0; + $370 = ($363|0)<($369|0); + $371 = ($360>>>0)<($366>>>0); + $372 = ($363|0)==($369|0); + $373 = $372 & $371; + $374 = $370 | $373; + if (!($374)) { + break; + } + HEAP32[$24>>2] = 0; + $375 = $21; + $376 = $375; + $377 = HEAP32[$376>>2]|0; + $378 = (($375) + 4)|0; + $379 = $378; + $380 = HEAP32[$379>>2]|0; + $381 = HEAP32[$6>>2]|0; + $382 = ($381|0)<(0); + $383 = $382 << 31 >> 31; + $384 = (___divdi3(($377|0),($380|0),($381|0),($383|0))|0); + $385 = tempRet0; + $386 = (_i64Add(($384|0),($385|0),1,0)|0); + $387 = tempRet0; + HEAP32[$25>>2] = $386; + $388 = HEAP32[$8>>2]|0; + $389 = HEAP32[$25>>2]|0; + $390 = (_sqlite3PagerGet($388,$389,$24,0)|0); + HEAP32[$4>>2] = $390; + $391 = HEAP32[$4>>2]|0; + $392 = ($391|0)==(0); + if ($392) { + $393 = HEAP32[$24>>2]|0; + $394 = (_sqlite3PagerGetData($393)|0); + HEAP32[$26>>2] = $394; + $395 = HEAP32[$18>>2]|0; + $396 = HEAP32[$26>>2]|0; + $397 = HEAP32[$6>>2]|0; + $398 = $21; + $399 = $398; + $400 = HEAP32[$399>>2]|0; + $401 = (($398) + 4)|0; + $402 = $401; + $403 = HEAP32[$402>>2]|0; + $404 = (_sqlite3OsWrite($395,$396,$397,$400,$403)|0); + HEAP32[$4>>2] = $404; + } + $405 = HEAP32[$24>>2]|0; + _sqlite3PagerUnref($405); + $406 = HEAP32[$6>>2]|0; + $407 = ($406|0)<(0); + $408 = $407 << 31 >> 31; + $409 = $21; + $410 = $409; + $411 = HEAP32[$410>>2]|0; + $412 = (($409) + 4)|0; + $413 = $412; + $414 = HEAP32[$413>>2]|0; + $415 = (_i64Add(($411|0),($414|0),($406|0),($408|0))|0); + $416 = tempRet0; + $417 = $21; + $418 = $417; + HEAP32[$418>>2] = $415; + $419 = (($417) + 4)|0; + $420 = $419; + HEAP32[$420>>2] = $416; + } + $421 = HEAP32[$4>>2]|0; + $422 = ($421|0)==(0); + if ($422) { + $423 = HEAP32[$18>>2]|0; + $424 = $17; + $425 = $424; + $426 = HEAP32[$425>>2]|0; + $427 = (($424) + 4)|0; + $428 = $427; + $429 = HEAP32[$428>>2]|0; + $430 = (_backupTruncateFile($423,$426,$429)|0); + HEAP32[$4>>2] = $430; + } + $431 = HEAP32[$4>>2]|0; + $432 = ($431|0)==(0); + if (!($432)) { + break; + } + $433 = HEAP32[$9>>2]|0; + $434 = (_sqlite3PagerSync($433,0)|0); + HEAP32[$4>>2] = $434; + } else { + $435 = HEAP32[$9>>2]|0; + $436 = HEAP32[$15>>2]|0; + _sqlite3PagerTruncateImage($435,$436); + $437 = HEAP32[$9>>2]|0; + $438 = (_sqlite3PagerCommitPhaseOne($437,0,0)|0); + HEAP32[$4>>2] = $438; } - $232 = HEAP32[$z>>2]|0; - $233 = ((($232)) + 4|0); - $234 = (_m_gt_1($233)|0); - $235 = ($234|0)!=(0); - if ($235) { - $236 = HEAP32[$z>>2]|0; - $237 = ((($236)) + 4|0); - HEAP32[$z>>2] = $237; - } + } while(0); + $439 = HEAP32[$4>>2]|0; + $440 = (0)==($439|0); + if ($440) { + $441 = HEAP32[$2>>2]|0; + $442 = ((($441)) + 4|0); + $443 = HEAP32[$442>>2]|0; + $444 = (_sqlite3BtreeCommitPhaseTwo($443,0)|0); + HEAP32[$4>>2] = $444; + $445 = (0)==($444|0); + $$ = $445 ? 101 : $444; + HEAP32[$4>>2] = $$; } } - break; } - case 110: { - $238 = HEAP32[$z>>2]|0; - $239 = HEAP8[$238>>0]|0; - $240 = $239 << 24 >> 24; - $241 = ($240|0)==(116); - if ($241) { - $242 = HEAP32[$z>>2]|0; - $243 = ((($242)) + 2|0); - $244 = HEAP8[$243>>0]|0; - $245 = $244 << 24 >> 24; - $246 = ($245|0)==(97); - $247 = HEAP32[$z>>2]|0; - if ($246) { - $248 = ((($247)) + 3|0); - $249 = (_m_gt_1($248)|0); - $250 = ($249|0)!=(0); - if (!($250)) { - break L80; + $446 = HEAP32[$12>>2]|0; + $447 = ($446|0)!=(0); + if ($447) { + $448 = HEAP32[$2>>2]|0; + $449 = ((($448)) + 24|0); + $450 = HEAP32[$449>>2]|0; + (_sqlite3BtreeCommitPhaseOne($450,0)|0); + $451 = HEAP32[$2>>2]|0; + $452 = ((($451)) + 24|0); + $453 = HEAP32[$452>>2]|0; + (_sqlite3BtreeCommitPhaseTwo($453,0)|0); + } + $454 = HEAP32[$4>>2]|0; + $455 = ($454|0)==(3082); + if ($455) { + HEAP32[$4>>2] = 7; + } + $456 = HEAP32[$4>>2]|0; + $457 = HEAP32[$2>>2]|0; + $458 = ((($457)) + 28|0); + HEAP32[$458>>2] = $456; + } + $459 = HEAP32[$2>>2]|0; + $460 = HEAP32[$459>>2]|0; + $461 = ($460|0)!=(0|0); + if (!($461)) { + $466 = HEAP32[$2>>2]|0; + $467 = ((($466)) + 24|0); + $468 = HEAP32[$467>>2]|0; + _sqlite3BtreeLeave($468); + $469 = HEAP32[$2>>2]|0; + $470 = ((($469)) + 20|0); + $471 = HEAP32[$470>>2]|0; + $472 = ((($471)) + 12|0); + $473 = HEAP32[$472>>2]|0; + _sqlite3_mutex_leave($473); + $474 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($474|0); + } + $462 = HEAP32[$2>>2]|0; + $463 = HEAP32[$462>>2]|0; + $464 = ((($463)) + 12|0); + $465 = HEAP32[$464>>2]|0; + _sqlite3_mutex_leave($465); + $466 = HEAP32[$2>>2]|0; + $467 = ((($466)) + 24|0); + $468 = HEAP32[$467>>2]|0; + _sqlite3BtreeLeave($468); + $469 = HEAP32[$2>>2]|0; + $470 = ((($469)) + 20|0); + $471 = HEAP32[$470>>2]|0; + $472 = ((($471)) + 12|0); + $473 = HEAP32[$472>>2]|0; + _sqlite3_mutex_leave($473); + $474 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($474|0); +} +function _sqlite3BtreeBeginTrans($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 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 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $11; + HEAP32[$5>>2] = 0; + $12 = HEAP32[$2>>2]|0; + _sqlite3BtreeEnter($12); + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)==(2); + do { + if (!($17)) { + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($21|0)!=(1); + $23 = HEAP32[$3>>2]|0; + $24 = ($23|0)!=(0); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 22|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27&65535; + $29 = $28 & 1; + $30 = ($29|0)!=(0); + $31 = HEAP32[$3>>2]|0; + $32 = ($31|0)!=(0); + $or$cond3 = $30 & $32; + if ($or$cond3) { + HEAP32[$5>>2] = 8; + break; + } + HEAP32[$6>>2] = 0; + $33 = HEAP32[$3>>2]|0; + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 20|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = ($38|0)==(2); + if ($39) { + label = 8; + } else { + label = 7; } - $251 = HEAP32[$z>>2]|0; - $252 = ((($251)) + 3|0); - HEAP32[$z>>2] = $252; - break L80; + } else { + label = 7; } - $253 = ((($247)) + 2|0); - $254 = HEAP8[$253>>0]|0; - $255 = $254 << 24 >> 24; - $256 = ($255|0)==(101); - if ($256) { - $257 = (_stem($z,25390,18402,174)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - $259 = (_stem($z,25396,18402,174)|0); - $260 = ($259|0)!=(0); - if (!($260)) { - (_stem($z,25401,18402,174)|0); + L9: do { + if ((label|0) == 7) { + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 22|0); + $42 = HEAP16[$41>>1]|0; + $43 = $42&65535; + $44 = $43 & 64; + $45 = ($44|0)!=(0); + if ($45) { + label = 8; + } else { + $50 = HEAP32[$3>>2]|0; + $51 = ($50|0)>(1); + if ($51) { + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 72|0); + $54 = HEAP32[$53>>2]|0; + HEAP32[$7>>2] = $54; + while(1) { + $55 = HEAP32[$7>>2]|0; + $56 = ($55|0)!=(0|0); + if (!($56)) { + break L9; + } + $57 = HEAP32[$7>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$2>>2]|0; + $60 = ($58|0)!=($59|0); + $61 = HEAP32[$7>>2]|0; + if ($60) { + break; + } + $64 = ((($61)) + 12|0); + $65 = HEAP32[$64>>2]|0; + HEAP32[$7>>2] = $65; + } + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$62>>2]|0; + HEAP32[$6>>2] = $63; + } } } + } while(0); + if ((label|0) == 8) { + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 76|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$48>>2]|0; + HEAP32[$6>>2] = $49; } - } - break; - } - case 111: { - $261 = HEAP32[$z>>2]|0; - $262 = HEAP8[$261>>0]|0; - $263 = $262 << 24 >> 24; - $264 = ($263|0)==(117); - $265 = HEAP32[$z>>2]|0; - if ($264) { - $266 = ((($265)) + 2|0); - $267 = (_m_gt_1($266)|0); - $268 = ($267|0)!=(0); - if (!($268)) { - break L80; - } - $269 = HEAP32[$z>>2]|0; - $270 = ((($269)) + 2|0); - HEAP32[$z>>2] = $270; - break L80; - } - $271 = ((($265)) + 3|0); - $272 = HEAP8[$271>>0]|0; - $273 = $272 << 24 >> 24; - $274 = ($273|0)==(115); - if (!($274)) { - $275 = HEAP32[$z>>2]|0; - $276 = ((($275)) + 3|0); - $277 = HEAP8[$276>>0]|0; - $278 = $277 << 24 >> 24; - $279 = ($278|0)==(116); - if (!($279)) { - break L80; + $66 = HEAP32[$6>>2]|0; + $67 = ($66|0)!=(0|0); + if ($67) { + HEAP32[$5>>2] = 262; + break; } - } - (_stem($z,25405,18402,174)|0); - break; - } - case 115: { - $280 = HEAP32[$z>>2]|0; - $281 = HEAP8[$280>>0]|0; - $282 = $281 << 24 >> 24; - $283 = ($282|0)==(109); - if ($283) { - $284 = HEAP32[$z>>2]|0; - $285 = ((($284)) + 2|0); - $286 = HEAP8[$285>>0]|0; - $287 = $286 << 24 >> 24; - $288 = ($287|0)==(105); - if ($288) { - $289 = HEAP32[$z>>2]|0; - $290 = ((($289)) + 3|0); - $291 = (_m_gt_1($290)|0); - $292 = ($291|0)!=(0); - if ($292) { - $293 = HEAP32[$z>>2]|0; - $294 = ((($293)) + 3|0); - HEAP32[$z>>2] = $294; + $68 = HEAP32[$2>>2]|0; + $69 = (_querySharedCacheTableLock($68,1,1)|0); + HEAP32[$5>>2] = $69; + $70 = HEAP32[$5>>2]|0; + $71 = (0)!=($70|0); + if (!($71)) { + $72 = HEAP32[$4>>2]|0; + $73 = ((($72)) + 22|0); + $74 = HEAP16[$73>>1]|0; + $75 = $74&65535; + $76 = $75 & -9; + $77 = $76&65535; + HEAP16[$73>>1] = $77; + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 44|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($80|0)==(0); + if ($81) { + $82 = HEAP32[$4>>2]|0; + $83 = ((($82)) + 22|0); + $84 = HEAP16[$83>>1]|0; + $85 = $84&65535; + $86 = $85 | 8; + $87 = $86&65535; + HEAP16[$83>>1] = $87; } - } - } - break; - } - case 116: { - $295 = (_stem($z,25409,18402,174)|0); - $296 = ($295|0)!=(0); - if (!($296)) { - (_stem($z,25413,18402,174)|0); - } - break; - } - case 117: { - $297 = HEAP32[$z>>2]|0; - $298 = HEAP8[$297>>0]|0; - $299 = $298 << 24 >> 24; - $300 = ($299|0)==(115); - if ($300) { - $301 = HEAP32[$z>>2]|0; - $302 = ((($301)) + 2|0); - $303 = HEAP8[$302>>0]|0; - $304 = $303 << 24 >> 24; - $305 = ($304|0)==(111); - if ($305) { - $306 = HEAP32[$z>>2]|0; - $307 = ((($306)) + 3|0); - $308 = (_m_gt_1($307)|0); - $309 = ($308|0)!=(0); - if ($309) { - $310 = HEAP32[$z>>2]|0; - $311 = ((($310)) + 3|0); - HEAP32[$z>>2] = $311; + while(1) { + while(1) { + $88 = HEAP32[$4>>2]|0; + $89 = ((($88)) + 12|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($90|0)==(0|0); + if (!($91)) { + break; + } + $92 = HEAP32[$4>>2]|0; + $93 = (_lockBtree($92)|0); + HEAP32[$5>>2] = $93; + $94 = (0)==($93|0); + if (!($94)) { + break; + } + } + $95 = HEAP32[$5>>2]|0; + $96 = ($95|0)==(0); + $97 = HEAP32[$3>>2]|0; + $98 = ($97|0)!=(0); + $or$cond5 = $96 & $98; + do { + if ($or$cond5) { + $99 = HEAP32[$4>>2]|0; + $100 = ((($99)) + 22|0); + $101 = HEAP16[$100>>1]|0; + $102 = $101&65535; + $103 = $102 & 1; + $104 = ($103|0)!=(0); + if ($104) { + HEAP32[$5>>2] = 8; + break; + } + $105 = HEAP32[$4>>2]|0; + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$3>>2]|0; + $108 = ($107|0)>(1); + $109 = $108&1; + $110 = HEAP32[$2>>2]|0; + $111 = HEAP32[$110>>2]|0; + $112 = (_sqlite3TempInMemory($111)|0); + $113 = (_sqlite3PagerBegin($106,$109,$112)|0); + HEAP32[$5>>2] = $113; + $114 = HEAP32[$5>>2]|0; + $115 = ($114|0)==(0); + if ($115) { + $116 = HEAP32[$4>>2]|0; + $117 = (_newDatabase($116)|0); + HEAP32[$5>>2] = $117; + } + } + } while(0); + $118 = HEAP32[$5>>2]|0; + $119 = ($118|0)!=(0); + if ($119) { + $120 = HEAP32[$4>>2]|0; + _unlockBtreeIfUnused($120); + } + $121 = HEAP32[$5>>2]|0; + $122 = $121 & 255; + $123 = ($122|0)==(5); + if (!($123)) { + break; + } + $124 = HEAP32[$4>>2]|0; + $125 = ((($124)) + 20|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = ($127|0)==(0); + if (!($128)) { + break; + } + $129 = HEAP32[$4>>2]|0; + $130 = (_btreeInvokeBusyHandler($129)|0); + $131 = ($130|0)!=(0); + if (!($131)) { + break; + } } - } - } - break; - } - case 122: case 118: { - $312 = HEAP32[$z>>2]|0; - $313 = HEAP8[$312>>0]|0; - $314 = $313 << 24 >> 24; - $315 = ($314|0)==(101); - if ($315) { - $316 = HEAP32[$z>>2]|0; - $317 = ((($316)) + 2|0); - $318 = HEAP8[$317>>0]|0; - $319 = $318 << 24 >> 24; - $320 = ($319|0)==(105); - if ($320) { - $321 = HEAP32[$z>>2]|0; - $322 = ((($321)) + 3|0); - $323 = (_m_gt_1($322)|0); - $324 = ($323|0)!=(0); - if ($324) { - $325 = HEAP32[$z>>2]|0; - $326 = ((($325)) + 3|0); - HEAP32[$z>>2] = $326; + $132 = HEAP32[$5>>2]|0; + $133 = ($132|0)==(0); + if ($133) { + $134 = HEAP32[$2>>2]|0; + $135 = ((($134)) + 8|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ($137|0)==(0); + if ($138) { + $139 = HEAP32[$4>>2]|0; + $140 = ((($139)) + 40|0); + $141 = HEAP32[$140>>2]|0; + $142 = (($141) + 1)|0; + HEAP32[$140>>2] = $142; + $143 = HEAP32[$2>>2]|0; + $144 = ((($143)) + 9|0); + $145 = HEAP8[$144>>0]|0; + $146 = ($145<<24>>24)!=(0); + if ($146) { + $147 = HEAP32[$2>>2]|0; + $148 = ((($147)) + 32|0); + $149 = ((($148)) + 8|0); + HEAP8[$149>>0] = 1; + $150 = HEAP32[$4>>2]|0; + $151 = ((($150)) + 72|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$2>>2]|0; + $154 = ((($153)) + 32|0); + $155 = ((($154)) + 12|0); + HEAP32[$155>>2] = $152; + $156 = HEAP32[$2>>2]|0; + $157 = ((($156)) + 32|0); + $158 = HEAP32[$4>>2]|0; + $159 = ((($158)) + 72|0); + HEAP32[$159>>2] = $157; + } + } + $160 = HEAP32[$3>>2]|0; + $161 = ($160|0)!=(0); + $162 = $161 ? 2 : 1; + $163 = $162&255; + $164 = HEAP32[$2>>2]|0; + $165 = ((($164)) + 8|0); + HEAP8[$165>>0] = $163; + $166 = HEAP32[$2>>2]|0; + $167 = ((($166)) + 8|0); + $168 = HEAP8[$167>>0]|0; + $169 = $168&255; + $170 = HEAP32[$4>>2]|0; + $171 = ((($170)) + 20|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = ($169|0)>($173|0); + if ($174) { + $175 = HEAP32[$2>>2]|0; + $176 = ((($175)) + 8|0); + $177 = HEAP8[$176>>0]|0; + $178 = HEAP32[$4>>2]|0; + $179 = ((($178)) + 20|0); + HEAP8[$179>>0] = $177; + } + $180 = HEAP32[$3>>2]|0; + $181 = ($180|0)!=(0); + if ($181) { + $182 = HEAP32[$4>>2]|0; + $183 = ((($182)) + 12|0); + $184 = HEAP32[$183>>2]|0; + HEAP32[$8>>2] = $184; + $185 = HEAP32[$2>>2]|0; + $186 = HEAP32[$4>>2]|0; + $187 = ((($186)) + 76|0); + HEAP32[$187>>2] = $185; + $188 = HEAP32[$4>>2]|0; + $189 = ((($188)) + 22|0); + $190 = HEAP16[$189>>1]|0; + $191 = $190&65535; + $192 = $191 & -33; + $193 = $192&65535; + HEAP16[$189>>1] = $193; + $194 = HEAP32[$3>>2]|0; + $195 = ($194|0)>(1); + if ($195) { + $196 = HEAP32[$4>>2]|0; + $197 = ((($196)) + 22|0); + $198 = HEAP16[$197>>1]|0; + $199 = $198&65535; + $200 = $199 | 32; + $201 = $200&65535; + HEAP16[$197>>1] = $201; + } + $202 = HEAP32[$4>>2]|0; + $203 = ((($202)) + 44|0); + $204 = HEAP32[$203>>2]|0; + $205 = HEAP32[$8>>2]|0; + $206 = ((($205)) + 56|0); + $207 = HEAP32[$206>>2]|0; + $208 = ((($207)) + 28|0); + $209 = (_sqlite3Get4byte($208)|0); + $210 = ($204|0)!=($209|0); + if ($210) { + $211 = HEAP32[$8>>2]|0; + $212 = ((($211)) + 72|0); + $213 = HEAP32[$212>>2]|0; + $214 = (_sqlite3PagerWrite($213)|0); + HEAP32[$5>>2] = $214; + $215 = HEAP32[$5>>2]|0; + $216 = ($215|0)==(0); + if ($216) { + $217 = HEAP32[$8>>2]|0; + $218 = ((($217)) + 56|0); + $219 = HEAP32[$218>>2]|0; + $220 = ((($219)) + 28|0); + $221 = HEAP32[$4>>2]|0; + $222 = ((($221)) + 44|0); + $223 = HEAP32[$222>>2]|0; + _sqlite3Put4byte($220,$223); + } + } + } } } } - break; - } - default: { - } - } - } while(0); - $327 = HEAP32[$z>>2]|0; - $328 = HEAP8[$327>>0]|0; - $329 = $328 << 24 >> 24; - $330 = ($329|0)==(101); - do { - if ($330) { - $331 = HEAP32[$z>>2]|0; - $332 = ((($331)) + 1|0); - $333 = (_m_gt_1($332)|0); - $334 = ($333|0)!=(0); - $335 = HEAP32[$z>>2]|0; - $336 = ((($335)) + 1|0); - if ($334) { - HEAP32[$z>>2] = $336; - break; - } - $337 = (_m_eq_1($336)|0); - $338 = ($337|0)!=(0); - if ($338) { - $339 = HEAP32[$z>>2]|0; - $340 = ((($339)) + 1|0); - $341 = (_star_oh($340)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - $343 = HEAP32[$z>>2]|0; - $344 = ((($343)) + 1|0); - HEAP32[$z>>2] = $344; - } - } } } while(0); - $345 = HEAP32[$z>>2]|0; - $346 = (_m_gt_1($345)|0); - $347 = ($346|0)!=(0); - if ($347) { - $348 = HEAP32[$z>>2]|0; - $349 = HEAP8[$348>>0]|0; - $350 = $349 << 24 >> 24; - $351 = ($350|0)==(108); - if ($351) { - $352 = HEAP32[$z>>2]|0; - $353 = ((($352)) + 1|0); - $354 = HEAP8[$353>>0]|0; - $355 = $354 << 24 >> 24; - $356 = ($355|0)==(108); - if ($356) { - $357 = HEAP32[$z>>2]|0; - $358 = ((($357)) + 1|0); - HEAP32[$z>>2] = $358; - } - } - } - $359 = HEAP32[$z>>2]|0; - $360 = (_strlen($359)|0); - HEAP32[$i>>2] = $360; - $361 = HEAP32[$3>>2]|0; - HEAP32[$361>>2] = $360; - $362 = HEAP32[$i>>2]|0; - $363 = HEAP32[$2>>2]|0; - $364 = (($363) + ($362)|0); - HEAP8[$364>>0] = 0; - while(1) { - $365 = HEAP32[$z>>2]|0; - $366 = HEAP8[$365>>0]|0; - $367 = ($366<<24>>24)!=(0); - if (!($367)) { - break; - } - $368 = HEAP32[$z>>2]|0; - $369 = ((($368)) + 1|0); - HEAP32[$z>>2] = $369; - $370 = HEAP8[$368>>0]|0; - $371 = HEAP32[$i>>2]|0; - $372 = (($371) + -1)|0; - HEAP32[$i>>2] = $372; - $373 = HEAP32[$2>>2]|0; - $374 = (($373) + ($372)|0); - HEAP8[$374>>0] = $370; + $224 = HEAP32[$5>>2]|0; + $225 = ($224|0)==(0); + $226 = HEAP32[$3>>2]|0; + $227 = ($226|0)!=(0); + $or$cond9 = $225 & $227; + if (!($or$cond9)) { + $235 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($235); + $236 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($236|0); } - STACKTOP = sp;return; + $228 = HEAP32[$4>>2]|0; + $229 = HEAP32[$228>>2]|0; + $230 = HEAP32[$2>>2]|0; + $231 = HEAP32[$230>>2]|0; + $232 = ((($231)) + 432|0); + $233 = HEAP32[$232>>2]|0; + $234 = (_sqlite3PagerOpenSavepoint($229,$233)|0); + HEAP32[$5>>2] = $234; + $235 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($235); + $236 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($236|0); } -function _copy_stemmer($zIn,$nIn,$zOut,$pnOut) { - $zIn = $zIn|0; - $nIn = $nIn|0; - $zOut = $zOut|0; - $pnOut = $pnOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $c = 0, $hasDigit = 0, $i = 0, $j = 0, $mx = 0, label = 0, sp = 0; +function _setDestPgsz($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; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $i = sp + 12|0; - $mx = sp + 8|0; - $j = sp + 4|0; - $hasDigit = sp; - $c = sp + 32|0; - HEAP32[$0>>2] = $zIn; - HEAP32[$1>>2] = $nIn; - HEAP32[$2>>2] = $zOut; - HEAP32[$3>>2] = $pnOut; - HEAP32[$hasDigit>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ($4|0)<($5|0); - if (!($6)) { - break; - } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + ($7)|0); - $10 = HEAP8[$9>>0]|0; - HEAP8[$c>>0] = $10; - $11 = HEAP8[$c>>0]|0; - $12 = $11 << 24 >> 24; - $13 = ($12|0)>=(65); - if ($13) { - $14 = HEAP8[$c>>0]|0; - $15 = $14 << 24 >> 24; - $16 = ($15|0)<=(90); - if ($16) { - $17 = HEAP8[$c>>0]|0; - $18 = $17 << 24 >> 24; - $19 = (($18) - 65)|0; - $20 = (($19) + 97)|0; - $21 = $20&255; - $22 = HEAP32[$i>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (($23) + ($22)|0); - HEAP8[$24>>0] = $21; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - label = 0; - $25 = HEAP8[$c>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($26|0)>=(48); - if ($27) { - $28 = HEAP8[$c>>0]|0; - $29 = $28 << 24 >> 24; - $30 = ($29|0)<=(57); - if ($30) { - HEAP32[$hasDigit>>2] = 1; - } - } - $31 = HEAP8[$c>>0]|0; - $32 = HEAP32[$i>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = (($33) + ($32)|0); - HEAP8[$34>>0] = $31; - } - $35 = HEAP32[$i>>2]|0; - $36 = (($35) + 1)|0; - HEAP32[$i>>2] = $36; - } - $37 = HEAP32[$hasDigit>>2]|0; - $38 = ($37|0)!=(0); - $39 = $38 ? 3 : 10; - HEAP32[$mx>>2] = $39; - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$mx>>2]|0; - $42 = $41<<1; - $43 = ($40|0)>($42|0); - if (!($43)) { - $63 = HEAP32[$i>>2]|0; - $64 = HEAP32[$2>>2]|0; - $65 = (($64) + ($63)|0); - HEAP8[$65>>0] = 0; - $66 = HEAP32[$i>>2]|0; - $67 = HEAP32[$3>>2]|0; - HEAP32[$67>>2] = $66; - STACKTOP = sp;return; - } - $44 = HEAP32[$mx>>2]|0; - HEAP32[$j>>2] = $44; - $45 = HEAP32[$1>>2]|0; - $46 = HEAP32[$mx>>2]|0; - $47 = (($45) - ($46))|0; - HEAP32[$i>>2] = $47; - while(1) { - $48 = HEAP32[$i>>2]|0; - $49 = HEAP32[$1>>2]|0; - $50 = ($48|0)<($49|0); - if (!($50)) { - break; - } - $51 = HEAP32[$i>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = (($52) + ($51)|0); - $54 = HEAP8[$53>>0]|0; - $55 = HEAP32[$j>>2]|0; - $56 = HEAP32[$2>>2]|0; - $57 = (($56) + ($55)|0); - HEAP8[$57>>0] = $54; - $58 = HEAP32[$i>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[$i>>2] = $59; - $60 = HEAP32[$j>>2]|0; - $61 = (($60) + 1)|0; - HEAP32[$j>>2] = $61; - } - $62 = HEAP32[$j>>2]|0; - HEAP32[$i>>2] = $62; - $63 = HEAP32[$i>>2]|0; - $64 = HEAP32[$2>>2]|0; - $65 = (($64) + ($63)|0); - HEAP8[$65>>0] = 0; - $66 = HEAP32[$i>>2]|0; - $67 = HEAP32[$3>>2]|0; - HEAP32[$67>>2] = $66; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3BtreeGetPageSize($8)|0); + $10 = (_sqlite3BtreeSetPageSize($5,$9,-1,0)|0); + HEAP32[$2>>2] = $10; + $11 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($11|0); } -function _stem($pz,$zFrom,$zTo,$xCond) { - $pz = $pz|0; - $zFrom = $zFrom|0; - $zTo = $zTo|0; - $xCond = $xCond|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $z = 0, label = 0, sp = 0; +function _sqlite3BtreeGetMeta($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $z = sp; - HEAP32[$1>>2] = $pz; - HEAP32[$2>>2] = $zFrom; - HEAP32[$3>>2] = $zTo; - HEAP32[$4>>2] = $xCond; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$z>>2] = $6; - while(1) { - $7 = HEAP32[$2>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)!=(0); - if (!($10)) { - break; - } - $11 = HEAP32[$2>>2]|0; - $12 = HEAP8[$11>>0]|0; - $13 = $12 << 24 >> 24; - $14 = HEAP32[$z>>2]|0; - $15 = HEAP8[$14>>0]|0; - $16 = $15 << 24 >> 24; - $17 = ($13|0)==($16|0); - if (!($17)) { - break; - } - $18 = HEAP32[$z>>2]|0; - $19 = ((($18)) + 1|0); - HEAP32[$z>>2] = $19; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 1|0); - HEAP32[$2>>2] = $21; - } - $22 = HEAP32[$2>>2]|0; - $23 = HEAP8[$22>>0]|0; - $24 = $23 << 24 >> 24; - $25 = ($24|0)!=(0); - if ($25) { - HEAP32[$0>>2] = 0; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); - } - $26 = HEAP32[$4>>2]|0; - $27 = ($26|0)!=(0|0); - if ($27) { - $28 = HEAP32[$4>>2]|0; - $29 = HEAP32[$z>>2]|0; - $30 = (FUNCTION_TABLE_ii[$28 & 255]($29)|0); - $31 = ($30|0)!=(0); - if (!($31)) { - HEAP32[$0>>2] = 1; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); - } - } - while(1) { - $32 = HEAP32[$3>>2]|0; - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)!=(0); - if (!($34)) { - break; - } - $35 = HEAP32[$3>>2]|0; - $36 = ((($35)) + 1|0); - HEAP32[$3>>2] = $36; - $37 = HEAP8[$35>>0]|0; - $38 = HEAP32[$z>>2]|0; - $39 = ((($38)) + -1|0); - HEAP32[$z>>2] = $39; - HEAP8[$39>>0] = $37; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($10); + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)==(15); + $13 = HEAP32[$6>>2]|0; + if ($12) { + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3PagerDataVersion($14)|0); + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($15) + ($18))|0; + $20 = HEAP32[$5>>2]|0; + HEAP32[$20>>2] = $19; + $31 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($31); + STACKTOP = sp;return; + } else { + $21 = ((($13)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 56|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = $25<<2; + $27 = (36 + ($26))|0; + $28 = (($24) + ($27)|0); + $29 = (_sqlite3Get4byte($28)|0); + $30 = HEAP32[$5>>2]|0; + HEAP32[$30>>2] = $29; + $31 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($31); + STACKTOP = sp;return; } - $40 = HEAP32[$z>>2]|0; - $41 = HEAP32[$1>>2]|0; - HEAP32[$41>>2] = $40; - HEAP32[$0>>2] = 1; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); } -function _m_gt_0($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; +function _sqlite3PagerGetJournalMode($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$1>>2] = $z; - while(1) { - $2 = HEAP32[$1>>2]|0; - $3 = (_isVowel($2)|0); - $4 = ($3|0)!=(0); - $5 = HEAP32[$1>>2]|0; - if (!($4)) { - break; - } - $6 = ((($5)) + 1|0); - HEAP32[$1>>2] = $6; - } - $7 = HEAP8[$5>>0]|0; - $8 = $7 << 24 >> 24; - $9 = ($8|0)==(0); - if ($9) { - HEAP32[$0>>2] = 0; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); - } - while(1) { - $10 = HEAP32[$1>>2]|0; - $11 = (_isConsonant($10)|0); - $12 = ($11|0)!=(0); - $13 = HEAP32[$1>>2]|0; - if (!($12)) { - break; - } - $14 = ((($13)) + 1|0); - HEAP32[$1>>2] = $14; - } - $15 = HEAP8[$13>>0]|0; - $16 = $15 << 24 >> 24; - $17 = ($16|0)!=(0); - $18 = $17&1; - HEAP32[$0>>2] = $18; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 5|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + STACKTOP = sp;return ($5|0); } -function _hasVowel($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _attachBackupObject($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $z; - while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = (_isConsonant($1)|0); - $3 = ($2|0)!=(0); - $4 = HEAP32[$0>>2]|0; - if (!($3)) { - break; - } - $5 = ((($4)) + 1|0); - HEAP32[$0>>2] = $5; - } - $6 = HEAP8[$4>>0]|0; - $7 = $6 << 24 >> 24; - $8 = ($7|0)!=(0); - $9 = $8&1; - STACKTOP = sp;return ($9|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_sqlite3BtreePager($5)|0); + $7 = (_sqlite3PagerBackupPtr($6)|0); + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 44|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$2>>2]|0; + HEAP32[$13>>2] = $12; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 40|0); + HEAP32[$15>>2] = 1; + STACKTOP = sp;return; } -function _doubleConsonant($z) { - $z = $z|0; - var $0 = 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, label = 0, sp = 0; +function _sqlite3BtreeNewDb($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $z; - $1 = HEAP32[$0>>2]|0; - $2 = (_isConsonant($1)|0); - $3 = ($2|0)!=(0); - if (!($3)) { - $13 = 0; - $12 = $13&1; - STACKTOP = sp;return ($12|0); - } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5 << 24 >> 24; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = ($6|0)==($10|0); - $13 = $11; - $12 = $13&1; - STACKTOP = sp;return ($12|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnter($3); + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 44|0); + HEAP32[$7>>2] = 0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_newDatabase($10)|0); + HEAP32[$2>>2] = $11; + $12 = HEAP32[$1>>2]|0; + _sqlite3BtreeLeave($12); + $13 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($13|0); } -function _m_eq_1($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, label = 0, sp = 0; +function _sqlite3BtreeUpdateMeta($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $z; - while(1) { - $2 = HEAP32[$1>>2]|0; - $3 = (_isVowel($2)|0); - $4 = ($3|0)!=(0); - $5 = HEAP32[$1>>2]|0; - if (!($4)) { - break; - } - $6 = ((($5)) + 1|0); - HEAP32[$1>>2] = $6; - } - $7 = HEAP8[$5>>0]|0; - $8 = $7 << 24 >> 24; - $9 = ($8|0)==(0); - if ($9) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - while(1) { - $10 = HEAP32[$1>>2]|0; - $11 = (_isConsonant($10)|0); - $12 = ($11|0)!=(0); - $13 = HEAP32[$1>>2]|0; - if (!($12)) { - break; - } - $14 = ((($13)) + 1|0); - HEAP32[$1>>2] = $14; - } - $15 = HEAP8[$13>>0]|0; - $16 = $15 << 24 >> 24; - $17 = ($16|0)==(0); - if ($17) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - while(1) { - $18 = HEAP32[$1>>2]|0; - $19 = (_isVowel($18)|0); - $20 = ($19|0)!=(0); - $21 = HEAP32[$1>>2]|0; - if (!($20)) { - break; - } - $22 = ((($21)) + 1|0); - HEAP32[$1>>2] = $22; - } - $23 = HEAP8[$21>>0]|0; - $24 = $23 << 24 >> 24; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($12); + $13 = HEAP32[$6>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 56|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$7>>2] = $17; + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 72|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3PagerWrite($22)|0); + HEAP32[$8>>2] = $23; + $24 = HEAP32[$8>>2]|0; $25 = ($24|0)==(0); - if ($25) { - HEAP32[$0>>2] = 1; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - while(1) { - $26 = HEAP32[$1>>2]|0; - $27 = (_isConsonant($26)|0); - $28 = ($27|0)!=(0); - $29 = HEAP32[$1>>2]|0; - if (!($28)) { - break; - } - $30 = ((($29)) + 1|0); - HEAP32[$1>>2] = $30; + if (!($25)) { + $38 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($38); + $39 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($39|0); } - $31 = HEAP8[$29>>0]|0; - $32 = $31 << 24 >> 24; - $33 = ($32|0)==(0); - $34 = $33&1; - HEAP32[$0>>2] = $34; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); -} -function _star_oh($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $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; - $0 = sp; - HEAP32[$0>>2] = $z; - $1 = HEAP32[$0>>2]|0; - $2 = (_isConsonant($1)|0); - $3 = ($2|0)!=(0); - if ($3) { - $4 = HEAP32[$0>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5 << 24 >> 24; - $7 = ($6|0)!=(119); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = ($10|0)!=(120); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = HEAP8[$12>>0]|0; - $14 = $13 << 24 >> 24; - $15 = ($14|0)!=(121); - if ($15) { - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 1|0); - $18 = (_isVowel($17)|0); - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 2|0); - $22 = (_isConsonant($21)|0); - $23 = ($22|0)!=(0); - $25 = $23; - } else { - $25 = 0; - } - } else { - $25 = 0; - } - } else { - $25 = 0; - } - } else { - $25 = 0; - } - } else { - $25 = 0; + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$4>>2]|0; + $28 = $27<<2; + $29 = (36 + ($28))|0; + $30 = (($26) + ($29)|0); + $31 = HEAP32[$5>>2]|0; + _sqlite3Put4byte($30,$31); + $32 = HEAP32[$4>>2]|0; + $33 = ($32|0)==(7); + if (!($33)) { + $38 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($38); + $39 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($39|0); } - $24 = $25&1; - STACKTOP = sp;return ($24|0); + $34 = HEAP32[$5>>2]|0; + $35 = $34&255; + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 18|0); + HEAP8[$37>>0] = $35; + $38 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($38); + $39 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($39|0); } -function _m_gt_1($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, label = 0, sp = 0; +function _sqlite3ResetAllSchemasOfConnection($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $z; - while(1) { - $2 = HEAP32[$1>>2]|0; - $3 = (_isVowel($2)|0); - $4 = ($3|0)!=(0); - $5 = HEAP32[$1>>2]|0; - if (!($4)) { - break; - } - $6 = ((($5)) + 1|0); - HEAP32[$1>>2] = $6; - } - $7 = HEAP8[$5>>0]|0; - $8 = $7 << 24 >> 24; - $9 = ($8|0)==(0); - if ($9) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnterAll($4); + HEAP32[$2>>2] = 0; while(1) { + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($5|0)<($8|0); $10 = HEAP32[$1>>2]|0; - $11 = (_isConsonant($10)|0); - $12 = ($11|0)!=(0); - $13 = HEAP32[$1>>2]|0; - if (!($12)) { + if (!($9)) { break; } - $14 = ((($13)) + 1|0); - HEAP32[$1>>2] = $14; - } - $15 = HEAP8[$13>>0]|0; - $16 = $15 << 24 >> 24; - $17 = ($16|0)==(0); - if ($17) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - while(1) { - $18 = HEAP32[$1>>2]|0; - $19 = (_isVowel($18)|0); - $20 = ($19|0)!=(0); - $21 = HEAP32[$1>>2]|0; - if (!($20)) { - break; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = (($12) + ($13<<4)|0); + HEAP32[$3>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + _sqlite3SchemaClear($21); } - $22 = ((($21)) + 1|0); - HEAP32[$1>>2] = $22; + $22 = HEAP32[$2>>2]|0; + $23 = (($22) + 1)|0; + HEAP32[$2>>2] = $23; } - $23 = HEAP8[$21>>0]|0; - $24 = $23 << 24 >> 24; - $25 = ($24|0)==(0); - if ($25) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $24 = ((($10)) + 24|0); + $25 = HEAP32[$24>>2]|0; + $26 = $25 & -3; + HEAP32[$24>>2] = $26; + $27 = HEAP32[$1>>2]|0; + _sqlite3VtabUnlockList($27); + $28 = HEAP32[$1>>2]|0; + _sqlite3BtreeLeaveAll($28); + $29 = HEAP32[$1>>2]|0; + _sqlite3CollapseDatabaseArray($29); + STACKTOP = sp;return; +} +function _sqlite3BtreeSetVersion($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 22|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + $14 = $13 & -17; + $15 = $14&65535; + HEAP16[$11>>1] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = ($16|0)==(1); + if ($17) { + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 22|0); + $20 = HEAP16[$19>>1]|0; + $21 = $20&65535; + $22 = $21 | 16; + $23 = $22&65535; + HEAP16[$19>>1] = $23; } - while(1) { - $26 = HEAP32[$1>>2]|0; - $27 = (_isConsonant($26)|0); - $28 = ($27|0)!=(0); - $29 = HEAP32[$1>>2]|0; - if (!($28)) { - break; + $24 = HEAP32[$2>>2]|0; + $25 = (_sqlite3BtreeBeginTrans($24,0)|0); + HEAP32[$5>>2] = $25; + $26 = HEAP32[$5>>2]|0; + $27 = ($26|0)==(0); + do { + if ($27) { + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 56|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$6>>2] = $32; + $33 = HEAP32[$6>>2]|0; + $34 = ((($33)) + 18|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = HEAP32[$3>>2]|0; + $38 = $37&255; + $39 = $38&255; + $40 = ($36|0)!=($39|0); + if (!($40)) { + $41 = HEAP32[$6>>2]|0; + $42 = ((($41)) + 19|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + $45 = HEAP32[$3>>2]|0; + $46 = $45&255; + $47 = $46&255; + $48 = ($44|0)!=($47|0); + if (!($48)) { + break; + } + } + $49 = HEAP32[$2>>2]|0; + $50 = (_sqlite3BtreeBeginTrans($49,2)|0); + HEAP32[$5>>2] = $50; + $51 = HEAP32[$5>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$4>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($55)) + 72|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_sqlite3PagerWrite($57)|0); + HEAP32[$5>>2] = $58; + $59 = HEAP32[$5>>2]|0; + $60 = ($59|0)==(0); + if ($60) { + $61 = HEAP32[$3>>2]|0; + $62 = $61&255; + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 18|0); + HEAP8[$64>>0] = $62; + $65 = HEAP32[$3>>2]|0; + $66 = $65&255; + $67 = HEAP32[$6>>2]|0; + $68 = ((($67)) + 19|0); + HEAP8[$68>>0] = $66; + } + } } - $30 = ((($29)) + 1|0); - HEAP32[$1>>2] = $30; - } - $31 = HEAP8[$29>>0]|0; - $32 = $31 << 24 >> 24; - $33 = ($32|0)!=(0); - $34 = $33&1; - HEAP32[$0>>2] = $34; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + } while(0); + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 22|0); + $71 = HEAP16[$70>>1]|0; + $72 = $71&65535; + $73 = $72 & -17; + $74 = $73&65535; + HEAP16[$70>>1] = $74; + $75 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($75|0); } -function _isVowel($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $j = 0, $x = 0, label = 0, sp = 0; +function _sqlite3PagerFile($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $j = sp; - $x = sp + 12|0; - HEAP32[$1>>2] = $z; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - HEAP8[$x>>0] = $3; - $4 = HEAP8[$x>>0]|0; - $5 = $4 << 24 >> 24; - $6 = ($5|0)==(0); - if ($6) { - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } - $7 = HEAP8[$x>>0]|0; - $8 = $7 << 24 >> 24; - $9 = (($8) - 97)|0; - $10 = (25417 + ($9)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - HEAP32[$j>>2] = $12; - $13 = HEAP32[$j>>2]|0; - $14 = ($13|0)<(2); - if ($14) { - $15 = HEAP32[$j>>2]|0; - $16 = (1 - ($15))|0; - HEAP32[$0>>2] = $16; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } else { - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 1|0); - $19 = (_isConsonant($18)|0); - HEAP32[$0>>2] = $19; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } - return (0)|0; + $3 = ((($2)) + 64|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); } -function _isConsonant($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $j = 0, $x = 0, label = 0, sp = 0; +function _sqlite3PagerPagecount($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $j = sp; - $x = sp + 12|0; - HEAP32[$1>>2] = $z; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - HEAP8[$x>>0] = $3; - $4 = HEAP8[$x>>0]|0; - $5 = $4 << 24 >> 24; - $6 = ($5|0)==(0); - if ($6) { - HEAP32[$0>>2] = 0; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); - } - $7 = HEAP8[$x>>0]|0; - $8 = $7 << 24 >> 24; - $9 = (($8) - 97)|0; - $10 = (25417 + ($9)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - HEAP32[$j>>2] = $12; - $13 = HEAP32[$j>>2]|0; - $14 = ($13|0)<(2); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $6; + STACKTOP = sp;return; +} +function _sqlite3PagerCommitPhaseOne($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$old = 0, $$old1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 44|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0); if ($14) { - $15 = HEAP32[$j>>2]|0; - HEAP32[$0>>2] = $15; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 44|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$3>>2] = $17; + $121 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($121|0); } - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 1|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18 << 24 >> 24; - $20 = ($19|0)==(0); - if ($20) { - $26 = 1; - } else { - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 1|0); - $23 = (_isVowel($22)|0); - $24 = ($23|0)!=(0); - $26 = $24; + $18 = (_sqlite3FaultSim(400)|0); + $19 = ($18|0)!=(0); + if ($19) { + HEAP32[$3>>2] = 10; + $121 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($121|0); } - $25 = $26&1; - HEAP32[$0>>2] = $25; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); -} -function _simpleCreate($argc,$argv,$ppTokenizer) { - $argc = $argc|0; - $argv = $argv|0; - $ppTokenizer = $ppTokenizer|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ch = 0, $i = 0, $i1 = 0, $n = 0, $t = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $t = sp + 12|0; - $i = sp + 8|0; - $n = sp + 4|0; - $ch = sp + 32|0; - $i1 = sp; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$3>>2] = $ppTokenizer; - $4 = (_sqlite3_malloc(132)|0); - HEAP32[$t>>2] = $4; - $5 = HEAP32[$t>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - HEAP32[$0>>2] = 7; - $50 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($50|0); + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 17|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)<(3); + if ($24) { + HEAP32[$3>>2] = 0; + $121 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($121|0); } - $7 = HEAP32[$t>>2]|0; - _memset(($7|0),0,132)|0; - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)>(1); - L5: do { - if ($9) { - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_strlen($12)|0); - HEAP32[$n>>2] = $13; - HEAP32[$i>>2] = 0; - while(1) { - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$n>>2]|0; - $16 = ($14|0)<($15|0); - if (!($16)) { - break L5; + $25 = HEAP32[$4>>2]|0; + $26 = (_pagerFlushOnCommit($25,1)|0); + $27 = (0)==($26|0); + $28 = HEAP32[$4>>2]|0; + do { + if ($27) { + $29 = ((($28)) + 96|0); + $30 = HEAP32[$29>>2]|0; + _sqlite3BackupRestart($30); + } else { + $31 = (_sqlite3PagerUseWal($28)|0); + $32 = ($31|0)!=(0); + $33 = HEAP32[$4>>2]|0; + if ($32) { + $34 = ((($33)) + 212|0); + $35 = HEAP32[$34>>2]|0; + $36 = (_sqlite3PcacheDirtyList($35)|0); + HEAP32[$8>>2] = $36; + HEAP32[$9>>2] = 0; + $37 = HEAP32[$8>>2]|0; + $38 = ($37|0)==(0|0); + if ($38) { + $39 = HEAP32[$4>>2]|0; + $40 = (_sqlite3PagerGet($39,1,$9,0)|0); + HEAP32[$7>>2] = $40; + $41 = HEAP32[$9>>2]|0; + HEAP32[$8>>2] = $41; + $42 = HEAP32[$8>>2]|0; + $43 = ((($42)) + 12|0); + HEAP32[$43>>2] = 0; } - $17 = HEAP32[$i>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($17)|0); - $22 = HEAP8[$21>>0]|0; - HEAP8[$ch>>0] = $22; - $23 = HEAP8[$ch>>0]|0; - $24 = $23&255; - $25 = ($24|0)>=(128); - if ($25) { + $44 = HEAP32[$8>>2]|0; + $45 = ($44|0)!=(0|0); + if ($45) { + $46 = HEAP32[$4>>2]|0; + $47 = HEAP32[$8>>2]|0; + $48 = HEAP32[$4>>2]|0; + $49 = ((($48)) + 28|0); + $50 = HEAP32[$49>>2]|0; + $51 = (_pagerWalFrames($46,$47,$50,1)|0); + HEAP32[$7>>2] = $51; + } + $52 = HEAP32[$9>>2]|0; + _sqlite3PagerUnref($52); + $53 = HEAP32[$7>>2]|0; + $54 = ($53|0)==(0); + if (!($54)) { break; } - $27 = HEAP8[$ch>>0]|0; - $28 = $27&255; - $29 = HEAP32[$t>>2]|0; - $30 = ((($29)) + 4|0); - $31 = (($30) + ($28)|0); - HEAP8[$31>>0] = 1; - $32 = HEAP32[$i>>2]|0; - $33 = (($32) + 1)|0; - HEAP32[$i>>2] = $33; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 212|0); + $57 = HEAP32[$56>>2]|0; + _sqlite3PcacheCleanAll($57); + break; } - $26 = HEAP32[$t>>2]|0; - _sqlite3_free($26); - HEAP32[$0>>2] = 1; - $50 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($50|0); - } else { - HEAP32[$i1>>2] = 1; - while(1) { - $34 = HEAP32[$i1>>2]|0; - $35 = ($34|0)<(128); - if (!($35)) { - break L5; + $58 = (_pager_incr_changecounter($33,0)|0); + HEAP32[$7>>2] = $58; + $59 = HEAP32[$7>>2]|0; + $60 = ($59|0)!=(0); + if (!($60)) { + $61 = HEAP32[$4>>2]|0; + $62 = HEAP32[$5>>2]|0; + $63 = (_writeMasterJournal($61,$62)|0); + HEAP32[$7>>2] = $63; + $64 = HEAP32[$7>>2]|0; + $65 = ($64|0)!=(0); + if (!($65)) { + $66 = HEAP32[$4>>2]|0; + $67 = (_syncJournal($66,0)|0); + HEAP32[$7>>2] = $67; + $68 = HEAP32[$7>>2]|0; + $69 = ($68|0)!=(0); + if (!($69)) { + $70 = HEAP32[$4>>2]|0; + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 212|0); + $73 = HEAP32[$72>>2]|0; + $74 = (_sqlite3PcacheDirtyList($73)|0); + $75 = (_pager_write_pagelist($70,$74)|0); + HEAP32[$7>>2] = $75; + $76 = HEAP32[$7>>2]|0; + $77 = ($76|0)!=(0); + if (!($77)) { + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 212|0); + $80 = HEAP32[$79>>2]|0; + _sqlite3PcacheCleanAll($80); + $81 = HEAP32[$4>>2]|0; + $82 = ((($81)) + 28|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$4>>2]|0; + $85 = ((($84)) + 36|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($83>>>0)>($86>>>0); + if ($87) { + $88 = HEAP32[$4>>2]|0; + $89 = ((($88)) + 28|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$4>>2]|0; + $92 = ((($91)) + 28|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[482]|0; + $95 = HEAP32[$4>>2]|0; + $96 = ((($95)) + 160|0); + $97 = HEAP32[$96>>2]|0; + $98 = (($94|0) / ($97|0))&-1; + $99 = (($98) + 1)|0; + $100 = ($93|0)==($99|0); + $101 = $100&1; + $102 = (($90) - ($101))|0; + HEAP32[$10>>2] = $102; + $103 = HEAP32[$4>>2]|0; + $104 = HEAP32[$10>>2]|0; + $105 = (_pager_truncate($103,$104)|0); + HEAP32[$7>>2] = $105; + $106 = HEAP32[$7>>2]|0; + $107 = ($106|0)!=(0); + $108 = HEAP32[$6>>2]|0; + $109 = ($108|0)!=(0); + $or$cond = $107 | $109; + if ($or$cond) { + break; + } + } else { + $$old = HEAP32[$6>>2]|0; + $$old1 = ($$old|0)!=(0); + if ($$old1) { + break; + } + } + $110 = HEAP32[$4>>2]|0; + $111 = HEAP32[$5>>2]|0; + $112 = (_sqlite3PagerSync($110,$111)|0); + HEAP32[$7>>2] = $112; + } + } } - $36 = HEAP32[$i1>>2]|0; - $37 = (_fts3_isalnum($36)|0); - $38 = ($37|0)!=(0); - $39 = $38 ^ 1; - $40 = $39 ? -1 : 0; - $41 = $40&255; - $42 = HEAP32[$i1>>2]|0; - $43 = HEAP32[$t>>2]|0; - $44 = ((($43)) + 4|0); - $45 = (($44) + ($42)|0); - HEAP8[$45>>0] = $41; - $46 = HEAP32[$i1>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$i1>>2] = $47; } } } while(0); - $48 = HEAP32[$t>>2]|0; - $49 = HEAP32[$3>>2]|0; - HEAP32[$49>>2] = $48; - HEAP32[$0>>2] = 0; - $50 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($50|0); -} -function _simpleDestroy($pTokenizer) { - $pTokenizer = $pTokenizer|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pTokenizer; - $1 = HEAP32[$0>>2]|0; - _sqlite3_free($1); - STACKTOP = sp;return 0; + $113 = HEAP32[$7>>2]|0; + $114 = ($113|0)==(0); + if ($114) { + $115 = HEAP32[$4>>2]|0; + $116 = (_sqlite3PagerUseWal($115)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + $118 = HEAP32[$4>>2]|0; + $119 = ((($118)) + 17|0); + HEAP8[$119>>0] = 5; + } + } + $120 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $120; + $121 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($121|0); } -function _simpleOpen($pTokenizer,$pInput,$nBytes,$ppCursor) { - $pTokenizer = $pTokenizer|0; - $pInput = $pInput|0; - $nBytes = $nBytes|0; - $ppCursor = $ppCursor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; +function _backupTruncateFile($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $c = sp; - HEAP32[$1>>2] = $pTokenizer; - HEAP32[$2>>2] = $pInput; - HEAP32[$3>>2] = $nBytes; - HEAP32[$4>>2] = $ppCursor; - $5 = (_sqlite3_malloc(28)|0); - HEAP32[$c>>2] = $5; - $6 = HEAP32[$c>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - HEAP32[$0>>2] = 7; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); + $3 = sp + 20|0; + $4 = sp + 8|0; + $5 = sp; + $6 = sp + 16|0; + HEAP32[$3>>2] = $0; + $7 = $4; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = HEAP32[$3>>2]|0; + $12 = (_sqlite3OsFileSize($11,$5)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + $40 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($40|0); } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$c>>2]|0; - $10 = ((($9)) + 4|0); - HEAP32[$10>>2] = $8; - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)==(0|0); - do { - if ($12) { - $13 = HEAP32[$c>>2]|0; - $14 = ((($13)) + 8|0); - HEAP32[$14>>2] = 0; - } else { - $15 = HEAP32[$3>>2]|0; - $16 = ($15|0)<(0); - if ($16) { - $17 = HEAP32[$2>>2]|0; - $18 = (_strlen($17)|0); - $19 = HEAP32[$c>>2]|0; - $20 = ((($19)) + 8|0); - HEAP32[$20>>2] = $18; - break; - } else { - $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$c>>2]|0; - $23 = ((($22)) + 8|0); - HEAP32[$23>>2] = $21; - break; - } - } - } while(0); - $24 = HEAP32[$c>>2]|0; - $25 = ((($24)) + 12|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$c>>2]|0; - $27 = ((($26)) + 16|0); - HEAP32[$27>>2] = 0; - $28 = HEAP32[$c>>2]|0; - $29 = ((($28)) + 20|0); - HEAP32[$29>>2] = 0; - $30 = HEAP32[$c>>2]|0; - $31 = ((($30)) + 24|0); - HEAP32[$31>>2] = 0; - $32 = HEAP32[$c>>2]|0; - $33 = HEAP32[$4>>2]|0; - HEAP32[$33>>2] = $32; - HEAP32[$0>>2] = 0; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $4; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = ($20|0)>($26|0); + $28 = ($17>>>0)>($23>>>0); + $29 = ($20|0)==($26|0); + $30 = $29 & $28; + $31 = $27 | $30; + if (!($31)) { + $40 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($40|0); + } + $32 = HEAP32[$3>>2]|0; + $33 = $4; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3OsTruncate($32,$35,$38)|0); + HEAP32[$6>>2] = $39; + $40 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($40|0); } -function _simpleClose($pCursor) { - $pCursor = $pCursor|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $c = 0, label = 0, sp = 0; +function _sqlite3PagerTruncateImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $c = sp; - HEAP32[$0>>2] = $pCursor; - $1 = HEAP32[$0>>2]|0; - HEAP32[$c>>2] = $1; - $2 = HEAP32[$c>>2]|0; - $3 = ((($2)) + 20|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; $4 = HEAP32[$3>>2]|0; - _sqlite3_free($4); - $5 = HEAP32[$c>>2]|0; - _sqlite3_free($5); - STACKTOP = sp;return 0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 28|0); + HEAP32[$6>>2] = $4; + STACKTOP = sp;return; } -function _simpleNext($pCursor,$ppToken,$pnBytes,$piStartOffset,$piEndOffset,$piPosition) { - $pCursor = $pCursor|0; - $ppToken = $ppToken|0; - $pnBytes = $pnBytes|0; - $piStartOffset = $piStartOffset|0; - $piEndOffset = $piEndOffset|0; - $piPosition = $piPosition|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $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, $c = 0; - var $ch = 0, $i = 0, $iStartOffset = 0, $n = 0, $p = 0, $pNew = 0, $t = 0, label = 0, sp = 0; +function _sqlite3BtreeCommitPhaseTwo($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $5 = sp + 32|0; - $6 = sp + 28|0; - $c = sp + 24|0; - $t = sp + 20|0; - $p = sp + 16|0; - $iStartOffset = sp + 12|0; - $i = sp + 8|0; - $n = sp + 4|0; - $pNew = sp; - $ch = sp + 56|0; - HEAP32[$1>>2] = $pCursor; - HEAP32[$2>>2] = $ppToken; - HEAP32[$3>>2] = $pnBytes; - HEAP32[$4>>2] = $piStartOffset; - HEAP32[$5>>2] = $piEndOffset; - HEAP32[$6>>2] = $piPosition; - $7 = HEAP32[$1>>2]|0; - HEAP32[$c>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$t>>2] = $9; - $10 = HEAP32[$c>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$p>>2] = $12; - while(1) { - $13 = HEAP32[$c>>2]|0; - $14 = ((($13)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$c>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)<($18|0); - if (!($19)) { - label = 25; - break; - } - while(1) { - $20 = HEAP32[$c>>2]|0; - $21 = ((($20)) + 12|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)==(0); + if ($11) { + HEAP32[$2>>2] = 0; + $38 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($38|0); + } + $12 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($12); + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)==(2); + do { + if ($17) { + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$6>>2] = $20; + $21 = HEAP32[$6>>2]|0; $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$c>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($22|0)<($25|0); - if ($26) { - $27 = HEAP32[$t>>2]|0; - $28 = HEAP32[$c>>2]|0; - $29 = ((($28)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$p>>2]|0; - $32 = (($31) + ($30)|0); - $33 = HEAP8[$32>>0]|0; - $34 = (_simpleDelim($27,$33)|0); - $35 = ($34|0)!=(0); - $137 = $35; - } else { - $137 = 0; - } - $36 = HEAP32[$c>>2]|0; - $37 = ((($36)) + 12|0); - $38 = HEAP32[$37>>2]|0; - if (!($137)) { + $23 = (_sqlite3PagerCommitPhaseTwo($22)|0); + HEAP32[$5>>2] = $23; + $24 = HEAP32[$5>>2]|0; + $25 = ($24|0)!=(0); + $26 = HEAP32[$4>>2]|0; + $27 = ($26|0)==(0); + $or$cond = $25 & $27; + $28 = HEAP32[$3>>2]|0; + if (!($or$cond)) { + $30 = ((($28)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + -1)|0; + HEAP32[$30>>2] = $32; + $33 = HEAP32[$6>>2]|0; + $34 = ((($33)) + 20|0); + HEAP8[$34>>0] = 1; + $35 = HEAP32[$6>>2]|0; + _btreeClearHasContent($35); break; } - $39 = (($38) + 1)|0; - HEAP32[$37>>2] = $39; + _sqlite3BtreeLeave($28); + $29 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $29; + $38 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($38|0); } - HEAP32[$iStartOffset>>2] = $38; - while(1) { - $40 = HEAP32[$c>>2]|0; - $41 = ((($40)) + 12|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$c>>2]|0; - $44 = ((($43)) + 8|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($42|0)<($45|0); - if ($46) { - $47 = HEAP32[$t>>2]|0; - $48 = HEAP32[$c>>2]|0; - $49 = ((($48)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$p>>2]|0; - $52 = (($51) + ($50)|0); - $53 = HEAP8[$52>>0]|0; - $54 = (_simpleDelim($47,$53)|0); - $55 = ($54|0)!=(0); - $56 = $55 ^ 1; - $138 = $56; - } else { - $138 = 0; - } - $57 = HEAP32[$c>>2]|0; - $58 = ((($57)) + 12|0); - $59 = HEAP32[$58>>2]|0; - if (!($138)) { - break; + } while(0); + $36 = HEAP32[$3>>2]|0; + _btreeEndTransaction($36); + $37 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($37); + HEAP32[$2>>2] = 0; + $38 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($38|0); +} +function _sqlite3BtreeCommitPhaseOne($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)==(2); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $14; + $15 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($15); + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 17|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)!=(0); + if ($19) { + $20 = HEAP32[$6>>2]|0; + $21 = (_autoVacuumCommit($20)|0); + HEAP32[$5>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ($22|0)!=(0); + if ($23) { + $24 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($24); + $25 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $25; + $41 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($41|0); } - $60 = (($59) + 1)|0; - HEAP32[$58>>2] = $60; } - $61 = HEAP32[$iStartOffset>>2]|0; - $62 = ($59|0)>($61|0); - if ($62) { - break; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 19|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)!=(0); + if ($29) { + $30 = HEAP32[$6>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 44|0); + $34 = HEAP32[$33>>2]|0; + _sqlite3PagerTruncateImage($31,$34); } + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = (_sqlite3PagerCommitPhaseOne($36,$37,0)|0); + HEAP32[$5>>2] = $38; + $39 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($39); } - if ((label|0) == 25) { - HEAP32[$0>>2] = 101; - $136 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($136|0); - } - $63 = HEAP32[$c>>2]|0; - $64 = ((($63)) + 12|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$iStartOffset>>2]|0; - $67 = (($65) - ($66))|0; - HEAP32[$n>>2] = $67; - $68 = HEAP32[$n>>2]|0; - $69 = HEAP32[$c>>2]|0; - $70 = ((($69)) + 24|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($68|0)>($71|0); + $40 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $40; + $41 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($41|0); +} +function _autoVacuumCommit($0) { + $0 = $0|0; + var $1 = 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, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + $11 = HEAP32[$2>>2]|0; + _invalidateAllOverflowCache($11); + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 18|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)!=(0); do { - if ($72) { - $73 = HEAP32[$n>>2]|0; - $74 = (($73) + 20)|0; - $75 = HEAP32[$c>>2]|0; - $76 = ((($75)) + 24|0); - HEAP32[$76>>2] = $74; - $77 = HEAP32[$c>>2]|0; - $78 = ((($77)) + 20|0); - $79 = HEAP32[$78>>2]|0; - $80 = HEAP32[$c>>2]|0; - $81 = ((($80)) + 24|0); - $82 = HEAP32[$81>>2]|0; - $83 = (_sqlite3_realloc($79,$82)|0); - HEAP32[$pNew>>2] = $83; - $84 = HEAP32[$pNew>>2]|0; - $85 = ($84|0)!=(0|0); - if ($85) { - $86 = HEAP32[$pNew>>2]|0; - $87 = HEAP32[$c>>2]|0; - $88 = ((($87)) + 20|0); - HEAP32[$88>>2] = $86; - break; + if (!($15)) { + $16 = HEAP32[$2>>2]|0; + $17 = (_btreePagecount($16)|0); + HEAP32[$8>>2] = $17; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = (_ptrmapPageno($18,$19)|0); + $21 = HEAP32[$8>>2]|0; + $22 = ($20|0)==($21|0); + if (!($22)) { + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[482]|0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 32|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($24>>>0) / ($27>>>0))&-1; + $29 = (($28) + 1)|0; + $30 = ($23|0)==($29|0); + if (!($30)) { + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 56|0); + $36 = HEAP32[$35>>2]|0; + $37 = ((($36)) + 36|0); + $38 = (_sqlite3Get4byte($37)|0); + HEAP32[$6>>2] = $38; + $39 = HEAP32[$2>>2]|0; + $40 = HEAP32[$8>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = (_finalDbSize($39,$40,$41)|0); + HEAP32[$5>>2] = $42; + $43 = HEAP32[$5>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = ($43>>>0)>($44>>>0); + if ($45) { + $46 = (_sqlite3CorruptError(61919)|0); + HEAP32[$1>>2] = $46; + $105 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($105|0); + } + $47 = HEAP32[$5>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = ($47>>>0)<($48>>>0); + if ($49) { + $50 = HEAP32[$2>>2]|0; + $51 = (_saveAllCursors($50,0,0)|0); + HEAP32[$3>>2] = $51; + } + $52 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $52; + while(1) { + $53 = HEAP32[$7>>2]|0; + $54 = HEAP32[$5>>2]|0; + $55 = ($53>>>0)>($54>>>0); + $56 = HEAP32[$3>>2]|0; + $57 = ($56|0)==(0); + $58 = $55 ? $57 : 0; + if (!($58)) { + break; + } + $59 = HEAP32[$2>>2]|0; + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$7>>2]|0; + $62 = (_incrVacuumStep($59,$60,$61,1)|0); + HEAP32[$3>>2] = $62; + $63 = HEAP32[$7>>2]|0; + $64 = (($63) + -1)|0; + HEAP32[$7>>2] = $64; + } + $65 = HEAP32[$3>>2]|0; + $66 = ($65|0)==(101); + $67 = HEAP32[$3>>2]|0; + $68 = ($67|0)==(0); + $or$cond = $66 | $68; + $69 = HEAP32[$6>>2]|0; + $70 = ($69>>>0)>(0); + $or$cond3 = $or$cond & $70; + if ($or$cond3) { + $71 = HEAP32[$2>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($73)) + 72|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_sqlite3PagerWrite($75)|0); + HEAP32[$3>>2] = $76; + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 12|0); + $79 = HEAP32[$78>>2]|0; + $80 = ((($79)) + 56|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($81)) + 32|0); + _sqlite3Put4byte($82,0); + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 12|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($85)) + 56|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($87)) + 36|0); + _sqlite3Put4byte($88,0); + $89 = HEAP32[$2>>2]|0; + $90 = ((($89)) + 12|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($91)) + 56|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($93)) + 28|0); + $95 = HEAP32[$5>>2]|0; + _sqlite3Put4byte($94,$95); + $96 = HEAP32[$2>>2]|0; + $97 = ((($96)) + 19|0); + HEAP8[$97>>0] = 1; + $98 = HEAP32[$5>>2]|0; + $99 = HEAP32[$2>>2]|0; + $100 = ((($99)) + 44|0); + HEAP32[$100>>2] = $98; + } + $101 = HEAP32[$3>>2]|0; + $102 = ($101|0)!=(0); + if (!($102)) { + break; + } + $103 = HEAP32[$4>>2]|0; + (_sqlite3PagerRollback($103)|0); + break; + } } - HEAP32[$0>>2] = 7; - $136 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($136|0); + $31 = (_sqlite3CorruptError(61914)|0); + HEAP32[$1>>2] = $31; + $105 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($105|0); } } while(0); - HEAP32[$i>>2] = 0; + $104 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $104; + $105 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($105|0); +} +function _invalidateAllOverflowCache($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; while(1) { - $89 = HEAP32[$i>>2]|0; - $90 = HEAP32[$n>>2]|0; - $91 = ($89|0)<($90|0); - if (!($91)) { + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { break; } - $92 = HEAP32[$iStartOffset>>2]|0; - $93 = HEAP32[$i>>2]|0; - $94 = (($92) + ($93))|0; - $95 = HEAP32[$p>>2]|0; - $96 = (($95) + ($94)|0); - $97 = HEAP8[$96>>0]|0; - HEAP8[$ch>>0] = $97; - $98 = HEAP8[$ch>>0]|0; - $99 = $98&255; - $100 = ($99|0)>=(65); - if ($100) { - $101 = HEAP8[$ch>>0]|0; - $102 = $101&255; - $103 = ($102|0)<=(90); - if ($103) { - $104 = HEAP8[$ch>>0]|0; - $105 = $104&255; - $106 = (($105) - 65)|0; - $107 = (($106) + 97)|0; - $111 = $107; - } else { - label = 22; - } - } else { - label = 22; - } - if ((label|0) == 22) { - label = 0; - $108 = HEAP8[$ch>>0]|0; - $109 = $108&255; - $111 = $109; - } - $110 = $111&255; - $112 = HEAP32[$i>>2]|0; - $113 = HEAP32[$c>>2]|0; - $114 = ((($113)) + 20|0); - $115 = HEAP32[$114>>2]|0; - $116 = (($115) + ($112)|0); - HEAP8[$116>>0] = $110; - $117 = HEAP32[$i>>2]|0; - $118 = (($117) + 1)|0; - HEAP32[$i>>2] = $118; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 64|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11 & -5; + $13 = $12&255; + HEAP8[$9>>0] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$2>>2] = $16; } - $119 = HEAP32[$c>>2]|0; - $120 = ((($119)) + 20|0); - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$2>>2]|0; - HEAP32[$122>>2] = $121; - $123 = HEAP32[$n>>2]|0; - $124 = HEAP32[$3>>2]|0; - HEAP32[$124>>2] = $123; - $125 = HEAP32[$iStartOffset>>2]|0; - $126 = HEAP32[$4>>2]|0; - HEAP32[$126>>2] = $125; - $127 = HEAP32[$c>>2]|0; - $128 = ((($127)) + 12|0); - $129 = HEAP32[$128>>2]|0; - $130 = HEAP32[$5>>2]|0; - HEAP32[$130>>2] = $129; - $131 = HEAP32[$c>>2]|0; - $132 = ((($131)) + 16|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[$132>>2] = $134; - $135 = HEAP32[$6>>2]|0; - HEAP32[$135>>2] = $133; - HEAP32[$0>>2] = 0; - $136 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($136|0); + STACKTOP = sp;return; } -function _simpleDelim($t,$c) { - $t = $t|0; - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _ptrmapPageno($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $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 = sp + 4|0; - HEAP32[$0>>2] = $t; - HEAP8[$1>>0] = $c; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ($3|0)<(128); - if (!($4)) { - $14 = 0; - $13 = $14&1; - STACKTOP = sp;return ($13|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$4>>2]|0; + $9 = ($8>>>0)<(2); + if ($9) { + HEAP32[$2>>2] = 0; + $34 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($34|0); } - $5 = HEAP8[$1>>0]|0; - $6 = $5&255; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - $9 = (($8) + ($6)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10 << 24 >> 24; - $12 = ($11|0)!=(0); - $14 = $12; - $13 = $14&1; - STACKTOP = sp;return ($13|0); + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 36|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($12>>>0) / 5)&-1; + $14 = (($13) + 1)|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$4>>2]|0; + $16 = (($15) - 2)|0; + $17 = HEAP32[$5>>2]|0; + $18 = (($16>>>0) / ($17>>>0))&-1; + HEAP32[$6>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = Math_imul($19, $20)|0; + $22 = (($21) + 2)|0; + HEAP32[$7>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[482]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 32|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($24>>>0) / ($27>>>0))&-1; + $29 = (($28) + 1)|0; + $30 = ($23|0)==($29|0); + if ($30) { + $31 = HEAP32[$7>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$7>>2] = $32; + } + $33 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $33; + $34 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($34|0); } -function _fts3_isalnum($x) { - $x = $x|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; +function _finalDbSize($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $x; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>=(48); - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)<=(57); - $or$cond = $2 & $4; - if ($or$cond) { - $15 = 1; - } else { - $5 = HEAP32[$0>>2]|0; - $6 = ($5|0)>=(65); - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)<=(90); - $or$cond3 = $6 & $8; - if ($or$cond3) { - $15 = 1; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 36|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11>>>0) / 5)&-1; + HEAP32[$6>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = (($13) - ($14))|0; + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = (_ptrmapPageno($16,$17)|0); + $19 = (($15) + ($18))|0; + $20 = HEAP32[$6>>2]|0; + $21 = (($19) + ($20))|0; + $22 = HEAP32[$6>>2]|0; + $23 = (($21>>>0) / ($22>>>0))&-1; + HEAP32[$7>>2] = $23; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = (($24) - ($25))|0; + $27 = HEAP32[$7>>2]|0; + $28 = (($26) - ($27))|0; + HEAP32[$8>>2] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[482]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 32|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($30>>>0) / ($33>>>0))&-1; + $35 = (($34) + 1)|0; + $36 = ($29>>>0)>($35>>>0); + if ($36) { + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[482]|0; + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 32|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($38>>>0) / ($41>>>0))&-1; + $43 = (($42) + 1)|0; + $44 = ($37>>>0)<($43>>>0); + if ($44) { + $45 = HEAP32[$8>>2]|0; + $46 = (($45) + -1)|0; + HEAP32[$8>>2] = $46; + } + } + while(1) { + $47 = HEAP32[$3>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = (_ptrmapPageno($47,$48)|0); + $50 = HEAP32[$8>>2]|0; + $51 = ($49|0)==($50|0); + if ($51) { + $62 = 1; } else { - $9 = HEAP32[$0>>2]|0; - $10 = ($9|0)>=(97); - $11 = HEAP32[$0>>2]|0; - $12 = ($11|0)<=(122); - $13 = $10 ? $12 : 0; - $15 = $13; + $52 = HEAP32[$8>>2]|0; + $53 = HEAP32[482]|0; + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 32|0); + $56 = HEAP32[$55>>2]|0; + $57 = (($53>>>0) / ($56>>>0))&-1; + $58 = (($57) + 1)|0; + $59 = ($52|0)==($58|0); + $62 = $59; + } + $60 = HEAP32[$8>>2]|0; + if (!($62)) { + break; } + $61 = (($60) + -1)|0; + HEAP32[$8>>2] = $61; } - $14 = $15&1; - STACKTOP = sp;return ($14|0); + STACKTOP = sp;return ($60|0); } -function _fts3auxConnectMethod($db,$pUnused,$argc,$argv,$ppVtab,$pzErr) { - $db = $db|0; - $pUnused = $pUnused|0; - $argc = $argc|0; - $argv = $argv|0; - $ppVtab = $ppVtab|0; - $pzErr = $pzErr|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nByte = 0, $nDb = 0, $nFts3 = 0, $or$cond = 0, $p = 0, $rc = 0, $vararg_buffer = 0, $zDb = 0, $zFts3 = 0, label = 0, sp = 0; +function _saveAllCursors($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer = sp; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $5 = sp + 36|0; - $6 = sp + 32|0; - $zDb = sp + 28|0; - $zFts3 = sp + 24|0; - $nDb = sp + 20|0; - $nFts3 = sp + 16|0; - $nByte = sp + 12|0; - $rc = sp + 8|0; - $p = sp + 4|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pUnused; - HEAP32[$3>>2] = $argc; - HEAP32[$4>>2] = $argv; - HEAP32[$5>>2] = $ppVtab; - HEAP32[$6>>2] = $pzErr; - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)!=(4); - $9 = HEAP32[$3>>2]|0; - $10 = ($9|0)!=(5); - $or$cond = $8 & $10; - do { - if (!($or$cond)) { - $11 = HEAP32[$4>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$zDb>>2] = $13; - $14 = HEAP32[$zDb>>2]|0; - $15 = (_strlen($14)|0); - HEAP32[$nDb>>2] = $15; - $16 = HEAP32[$3>>2]|0; - $17 = ($16|0)==(5); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$7>>2] = $10; + while(1) { + $11 = HEAP32[$7>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + break; + } + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = ($13|0)!=($14|0); + if ($15) { + $16 = HEAP32[$5>>2]|0; + $17 = (0)==($16|0); if ($17) { - $18 = HEAP32[$nDb>>2]|0; - $19 = ($18|0)==(4); - if (!($19)) { - break; - } - $20 = HEAP32[$zDb>>2]|0; - $21 = (_sqlite3_strnicmp(18672,$20,4)|0); - $22 = (0)==($21|0); - if (!($22)) { - break; - } - $23 = HEAP32[$4>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$zDb>>2] = $25; - $26 = HEAP32[$zDb>>2]|0; - $27 = (_strlen($26)|0); - HEAP32[$nDb>>2] = $27; - $28 = HEAP32[$4>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$zFts3>>2] = $30; - } else { - $31 = HEAP32[$4>>2]|0; - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$zFts3>>2] = $33; + break; } - $34 = HEAP32[$zFts3>>2]|0; - $35 = (_strlen($34)|0); - HEAP32[$nFts3>>2] = $35; - $36 = HEAP32[$1>>2]|0; - $37 = (_sqlite3_declare_vtab($36,25453)|0); - HEAP32[$rc>>2] = $37; - $38 = HEAP32[$rc>>2]|0; - $39 = ($38|0)!=(0); - if ($39) { - $40 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $40; - $107 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($107|0); - } - $41 = HEAP32[$nDb>>2]|0; - $42 = (296 + ($41))|0; - $43 = HEAP32[$nFts3>>2]|0; - $44 = (($42) + ($43))|0; - $45 = (($44) + 2)|0; - HEAP32[$nByte>>2] = $45; - $46 = HEAP32[$nByte>>2]|0; - $47 = (_sqlite3_malloc($46)|0); - HEAP32[$p>>2] = $47; - $48 = HEAP32[$p>>2]|0; - $49 = ($48|0)!=(0|0); - if ($49) { - $50 = HEAP32[$p>>2]|0; - $51 = HEAP32[$nByte>>2]|0; - _memset(($50|0),0,($51|0))|0; - $52 = HEAP32[$p>>2]|0; - $53 = ((($52)) + 16|0); - $54 = HEAP32[$p>>2]|0; - $55 = ((($54)) + 12|0); - HEAP32[$55>>2] = $53; - $56 = HEAP32[$p>>2]|0; - $57 = ((($56)) + 12|0); - $58 = HEAP32[$57>>2]|0; - $59 = ((($58)) + 280|0); - $60 = HEAP32[$p>>2]|0; - $61 = ((($60)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = ((($62)) + 16|0); - HEAP32[$63>>2] = $59; - $64 = HEAP32[$nDb>>2]|0; - $65 = (($64) + 1)|0; - $66 = HEAP32[$p>>2]|0; - $67 = ((($66)) + 12|0); - $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = (($70) + ($65)|0); - $72 = HEAP32[$p>>2]|0; - $73 = ((($72)) + 12|0); - $74 = HEAP32[$73>>2]|0; - $75 = ((($74)) + 20|0); - HEAP32[$75>>2] = $71; - $76 = HEAP32[$1>>2]|0; - $77 = HEAP32[$p>>2]|0; - $78 = ((($77)) + 12|0); - $79 = HEAP32[$78>>2]|0; - $80 = ((($79)) + 12|0); - HEAP32[$80>>2] = $76; - $81 = HEAP32[$p>>2]|0; - $82 = ((($81)) + 12|0); - $83 = HEAP32[$82>>2]|0; - $84 = ((($83)) + 248|0); - HEAP32[$84>>2] = 1; - $85 = HEAP32[$p>>2]|0; - $86 = ((($85)) + 12|0); - $87 = HEAP32[$86>>2]|0; - $88 = ((($87)) + 16|0); - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$zDb>>2]|0; - $91 = HEAP32[$nDb>>2]|0; - _memcpy(($89|0),($90|0),($91|0))|0; - $92 = HEAP32[$p>>2]|0; - $93 = ((($92)) + 12|0); - $94 = HEAP32[$93>>2]|0; - $95 = ((($94)) + 20|0); - $96 = HEAP32[$95>>2]|0; - $97 = HEAP32[$zFts3>>2]|0; - $98 = HEAP32[$nFts3>>2]|0; - _memcpy(($96|0),($97|0),($98|0))|0; - $99 = HEAP32[$p>>2]|0; - $100 = ((($99)) + 12|0); - $101 = HEAP32[$100>>2]|0; - $102 = ((($101)) + 20|0); - $103 = HEAP32[$102>>2]|0; - _sqlite3Fts3Dequote($103); - $104 = HEAP32[$p>>2]|0; - $105 = HEAP32[$5>>2]|0; - HEAP32[$105>>2] = $104; - HEAP32[$0>>2] = 0; - $107 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($107|0); - } else { - HEAP32[$0>>2] = 7; - $107 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($107|0); + $18 = HEAP32[$7>>2]|0; + $19 = ((($18)) + 52|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = ($20|0)==($21|0); + if ($22) { + break; } } - } while(0); - $106 = HEAP32[$6>>2]|0; - _sqlite3Fts3ErrMsg($106,25522,$vararg_buffer); - HEAP32[$0>>2] = 1; - $107 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($107|0); + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$7>>2] = $25; + } + $26 = HEAP32[$7>>2]|0; + $27 = ($26|0)!=(0|0); + if ($27) { + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = (_saveCursorsOnList($28,$29,$30)|0); + HEAP32[$3>>2] = $31; + $40 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($40|0); + } + $32 = HEAP32[$6>>2]|0; + $33 = ($32|0)!=(0|0); + if ($33) { + $34 = HEAP32[$6>>2]|0; + $35 = ((($34)) + 64|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = $37 & -33; + $39 = $38&255; + HEAP8[$35>>0] = $39; + } + HEAP32[$3>>2] = 0; + $40 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($40|0); } -function _fts3auxBestIndexMethod($pVTab,$pInfo) { - $pVTab = $pVTab|0; - $pInfo = $pInfo|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0.0, $118 = 0.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.0, $131 = 0.0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iCol = 0, $iEq = 0, $iGe = 0, $iLangid = 0, $iLe = 0, $iNext = 0, $op = 0; - var $or$cond = 0, label = 0, sp = 0; +function _incrVacuumStep($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $i = sp + 28|0; - $iEq = sp + 24|0; - $iGe = sp + 20|0; - $iLe = sp + 16|0; - $iLangid = sp + 12|0; - $iNext = sp + 8|0; - $op = sp + 4|0; - $iCol = sp; - HEAP32[$0>>2] = $pVTab; - HEAP32[$1>>2] = $pInfo; - HEAP32[$iEq>>2] = -1; - HEAP32[$iGe>>2] = -1; - HEAP32[$iLe>>2] = -1; - HEAP32[$iLangid>>2] = -1; - HEAP32[$iNext>>2] = 1; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(1); - if ($5) { - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)==(0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 32|0); - HEAP32[$19>>2] = 1; - } - } - } - HEAP32[$i>>2] = 0; - while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = ($20|0)<($22|0); - if (!($23)) { - break; - } - $24 = HEAP32[$i>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + (($24*12)|0)|0); - $29 = ((($28)) + 5|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)!=(0); - if ($31) { - $32 = HEAP32[$i>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + (($32*12)|0)|0); - $37 = ((($36)) + 4|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - HEAP32[$op>>2] = $39; - $40 = HEAP32[$i>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 4|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + (($40*12)|0)|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$iCol>>2] = $45; - $46 = HEAP32[$iCol>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - $48 = HEAP32[$op>>2]|0; - $49 = ($48|0)==(2); - if ($49) { - $50 = HEAP32[$i>>2]|0; - HEAP32[$iEq>>2] = $50; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 57|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 56|0; + $18 = sp + 4|0; + $19 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$7>>2]|0; + $22 = (_ptrmapPageno($20,$21)|0); + $23 = HEAP32[$7>>2]|0; + $24 = ($22|0)==($23|0); + do { + if (!($24)) { + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[482]|0; + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($26>>>0) / ($29>>>0))&-1; + $31 = (($30) + 1)|0; + $32 = ($25|0)!=($31|0); + if ($32) { + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 56|0); + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 36|0); + $39 = (_sqlite3Get4byte($38)|0); + HEAP32[$9>>2] = $39; + $40 = HEAP32[$9>>2]|0; + $41 = ($40|0)==(0); + if ($41) { + HEAP32[$4>>2] = 101; + $120 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($120|0); } - $51 = HEAP32[$op>>2]|0; - $52 = ($51|0)==(16); - if ($52) { - $53 = HEAP32[$i>>2]|0; - HEAP32[$iLe>>2] = $53; + $42 = HEAP32[$5>>2]|0; + $43 = HEAP32[$7>>2]|0; + $44 = (_ptrmapGet($42,$43,$11,$12)|0); + HEAP32[$10>>2] = $44; + $45 = HEAP32[$10>>2]|0; + $46 = ($45|0)!=(0); + if ($46) { + $47 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $47; + $120 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($120|0); + } + $48 = HEAP8[$11>>0]|0; + $49 = $48&255; + $50 = ($49|0)==(1); + if ($50) { + $51 = (_sqlite3CorruptError(61751)|0); + HEAP32[$4>>2] = $51; + $120 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($120|0); } - $54 = HEAP32[$op>>2]|0; - $55 = ($54|0)==(8); - if ($55) { - $56 = HEAP32[$i>>2]|0; - HEAP32[$iLe>>2] = $56; + $52 = HEAP8[$11>>0]|0; + $53 = $52&255; + $54 = ($53|0)==(2); + if ($54) { + $55 = HEAP32[$8>>2]|0; + $56 = ($55|0)==(0); + if (!($56)) { + break; + } + $57 = HEAP32[$5>>2]|0; + $58 = HEAP32[$7>>2]|0; + $59 = (_allocateBtreePage($57,$14,$13,$58,1)|0); + HEAP32[$10>>2] = $59; + $60 = HEAP32[$10>>2]|0; + $61 = ($60|0)!=(0); + if (!($61)) { + $63 = HEAP32[$14>>2]|0; + _releasePage($63); + break; + } + $62 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $62; + $120 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($120|0); + } + HEAP8[$17>>0] = 0; + HEAP32[$18>>2] = 0; + $64 = HEAP32[$5>>2]|0; + $65 = HEAP32[$7>>2]|0; + $66 = (_btreeGetPage($64,$65,$16,0)|0); + HEAP32[$10>>2] = $66; + $67 = HEAP32[$10>>2]|0; + $68 = ($67|0)!=(0); + if ($68) { + $69 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $69; + $120 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($120|0); } - $57 = HEAP32[$op>>2]|0; - $58 = ($57|0)==(4); - if ($58) { - $59 = HEAP32[$i>>2]|0; - HEAP32[$iGe>>2] = $59; + $70 = HEAP32[$8>>2]|0; + $71 = ($70|0)==(0); + if ($71) { + HEAP8[$17>>0] = 2; + $72 = HEAP32[$6>>2]|0; + HEAP32[$18>>2] = $72; } - $60 = HEAP32[$op>>2]|0; - $61 = ($60|0)==(32); - if ($61) { - $62 = HEAP32[$i>>2]|0; - HEAP32[$iGe>>2] = $62; + while(1) { + $73 = HEAP32[$5>>2]|0; + $74 = HEAP32[$18>>2]|0; + $75 = HEAP8[$17>>0]|0; + $76 = (_allocateBtreePage($73,$19,$15,$74,$75)|0); + HEAP32[$10>>2] = $76; + $77 = HEAP32[$10>>2]|0; + $78 = ($77|0)!=(0); + if ($78) { + label = 19; + break; + } + $81 = HEAP32[$19>>2]|0; + _releasePage($81); + $82 = HEAP32[$8>>2]|0; + $83 = ($82|0)!=(0); + if (!($83)) { + break; + } + $84 = HEAP32[$15>>2]|0; + $85 = HEAP32[$6>>2]|0; + $86 = ($84>>>0)>($85>>>0); + if (!($86)) { + break; + } + } + if ((label|0) == 19) { + $79 = HEAP32[$16>>2]|0; + _releasePage($79); + $80 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $80; + $120 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($120|0); + } + $87 = HEAP32[$5>>2]|0; + $88 = HEAP32[$16>>2]|0; + $89 = HEAP8[$11>>0]|0; + $90 = HEAP32[$12>>2]|0; + $91 = HEAP32[$15>>2]|0; + $92 = HEAP32[$8>>2]|0; + $93 = (_relocatePage($87,$88,$89,$90,$91,$92)|0); + HEAP32[$10>>2] = $93; + $94 = HEAP32[$16>>2]|0; + _releasePage($94); + $95 = HEAP32[$10>>2]|0; + $96 = ($95|0)!=(0); + if ($96) { + $97 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $97; + $120 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($120|0); } - } - $63 = HEAP32[$iCol>>2]|0; - $64 = ($63|0)==(4); - $65 = HEAP32[$op>>2]|0; - $66 = ($65|0)==(2); - $or$cond = $64 & $66; - if ($or$cond) { - $67 = HEAP32[$i>>2]|0; - HEAP32[$iLangid>>2] = $67; } } - $68 = HEAP32[$i>>2]|0; - $69 = (($68) + 1)|0; - HEAP32[$i>>2] = $69; - } - $70 = HEAP32[$iEq>>2]|0; - $71 = ($70|0)>=(0); - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 20|0); - if ($71) { - HEAP32[$73>>2] = 1; - $74 = HEAP32[$iNext>>2]|0; - $75 = (($74) + 1)|0; - HEAP32[$iNext>>2] = $75; - $76 = HEAP32[$iEq>>2]|0; - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = (($79) + ($76<<3)|0); - HEAP32[$80>>2] = $74; - $81 = HEAP32[$1>>2]|0; - $82 = ((($81)) + 40|0); - HEAPF64[$82>>3] = 5.0; - } else { - HEAP32[$73>>2] = 0; - $83 = HEAP32[$1>>2]|0; - $84 = ((($83)) + 40|0); - HEAPF64[$84>>3] = 2.0E+4; - $85 = HEAP32[$iGe>>2]|0; - $86 = ($85|0)>=(0); - if ($86) { - $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 20|0); - $89 = HEAP32[$88>>2]|0; - $90 = (($89) + 2)|0; - HEAP32[$88>>2] = $90; - $91 = HEAP32[$iNext>>2]|0; - $92 = (($91) + 1)|0; - HEAP32[$iNext>>2] = $92; - $93 = HEAP32[$iGe>>2]|0; - $94 = HEAP32[$1>>2]|0; - $95 = ((($94)) + 16|0); - $96 = HEAP32[$95>>2]|0; - $97 = (($96) + ($93<<3)|0); - HEAP32[$97>>2] = $91; - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 40|0); - $100 = +HEAPF64[$99>>3]; - $101 = $100 / 2.0; - HEAPF64[$99>>3] = $101; - } - $102 = HEAP32[$iLe>>2]|0; - $103 = ($102|0)>=(0); - if ($103) { - $104 = HEAP32[$1>>2]|0; - $105 = ((($104)) + 20|0); + } while(0); + $98 = HEAP32[$8>>2]|0; + $99 = ($98|0)==(0); + if ($99) { + while(1) { + $100 = HEAP32[$7>>2]|0; + $101 = (($100) + -1)|0; + HEAP32[$7>>2] = $101; + $102 = HEAP32[$7>>2]|0; + $103 = HEAP32[482]|0; + $104 = HEAP32[$5>>2]|0; + $105 = ((($104)) + 32|0); $106 = HEAP32[$105>>2]|0; - $107 = (($106) + 4)|0; - HEAP32[$105>>2] = $107; - $108 = HEAP32[$iNext>>2]|0; - $109 = (($108) + 1)|0; - HEAP32[$iNext>>2] = $109; - $110 = HEAP32[$iLe>>2]|0; - $111 = HEAP32[$1>>2]|0; - $112 = ((($111)) + 16|0); - $113 = HEAP32[$112>>2]|0; - $114 = (($113) + ($110<<3)|0); - HEAP32[$114>>2] = $108; - $115 = HEAP32[$1>>2]|0; - $116 = ((($115)) + 40|0); - $117 = +HEAPF64[$116>>3]; - $118 = $117 / 2.0; - HEAPF64[$116>>3] = $118; - } - } - $119 = HEAP32[$iLangid>>2]|0; - $120 = ($119|0)>=(0); - if (!($120)) { - STACKTOP = sp;return 0; - } - $121 = HEAP32[$iNext>>2]|0; - $122 = (($121) + 1)|0; - HEAP32[$iNext>>2] = $122; - $123 = HEAP32[$iLangid>>2]|0; - $124 = HEAP32[$1>>2]|0; - $125 = ((($124)) + 16|0); - $126 = HEAP32[$125>>2]|0; - $127 = (($126) + ($123<<3)|0); - HEAP32[$127>>2] = $121; - $128 = HEAP32[$1>>2]|0; - $129 = ((($128)) + 40|0); - $130 = +HEAPF64[$129>>3]; - $131 = $130 + -1.0; - HEAPF64[$129>>3] = $131; - STACKTOP = sp;return 0; -} -function _fts3auxDisconnectMethod($pVtab) { - $pVtab = $pVtab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0; - var $pFts3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $p = sp + 8|0; - $pFts3 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pVtab; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ((($2)) + 12|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pFts3>>2] = $4; - HEAP32[$i>>2] = 0; - while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = ($5|0)<(40); - if (!($6)) { - break; + $107 = (($103>>>0) / ($106>>>0))&-1; + $108 = (($107) + 1)|0; + $109 = ($102|0)==($108|0); + if ($109) { + continue; + } + $110 = HEAP32[$5>>2]|0; + $111 = HEAP32[$7>>2]|0; + $112 = (_ptrmapPageno($110,$111)|0); + $113 = HEAP32[$7>>2]|0; + $114 = ($112|0)==($113|0); + if (!($114)) { + break; + } } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$pFts3>>2]|0; - $9 = ((($8)) + 56|0); - $10 = (($9) + ($7<<2)|0); - $11 = HEAP32[$10>>2]|0; - (_sqlite3_finalize($11)|0); - $12 = HEAP32[$i>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$i>>2] = $13; - } - $14 = HEAP32[$pFts3>>2]|0; - $15 = ((($14)) + 240|0); - $16 = HEAP32[$15>>2]|0; - _sqlite3_free($16); - $17 = HEAP32[$p>>2]|0; - _sqlite3_free($17); - STACKTOP = sp;return 0; -} -function _fts3auxOpenMethod($pVTab,$ppCsr) { - $pVTab = $pVTab|0; - $ppCsr = $ppCsr|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCsr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pCsr = sp; - HEAP32[$1>>2] = $pVTab; - HEAP32[$2>>2] = $ppCsr; - $3 = (_sqlite3_malloc(120)|0); - HEAP32[$pCsr>>2] = $3; - $4 = HEAP32[$pCsr>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$pCsr>>2]|0; - dest=$6; stop=dest+120|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $7 = HEAP32[$pCsr>>2]|0; - $8 = HEAP32[$2>>2]|0; - HEAP32[$8>>2] = $7; - HEAP32[$0>>2] = 0; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); - } else { - HEAP32[$0>>2] = 7; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); + $115 = HEAP32[$5>>2]|0; + $116 = ((($115)) + 19|0); + HEAP8[$116>>0] = 1; + $117 = HEAP32[$7>>2]|0; + $118 = HEAP32[$5>>2]|0; + $119 = ((($118)) + 44|0); + HEAP32[$119>>2] = $117; } - return (0)|0; -} -function _fts3auxCloseMethod($pCursor) { - $pCursor = $pCursor|0; - var $0 = 0, $1 = 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, $pCsr = 0; - var $pFts3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pFts3 = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pCursor; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 12|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pFts3>>2] = $4; - $5 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $5; - $6 = HEAP32[$pFts3>>2]|0; - _sqlite3Fts3SegmentsClose($6); - $7 = HEAP32[$pCsr>>2]|0; - $8 = ((($7)) + 4|0); - _sqlite3Fts3SegReaderFinish($8); - $9 = HEAP32[$pCsr>>2]|0; - $10 = ((($9)) + 60|0); - $11 = HEAP32[$10>>2]|0; - _sqlite3_free($11); - $12 = HEAP32[$pCsr>>2]|0; - $13 = ((($12)) + 76|0); - $14 = HEAP32[$13>>2]|0; - _sqlite3_free($14); - $15 = HEAP32[$pCsr>>2]|0; - $16 = ((($15)) + 112|0); - $17 = HEAP32[$16>>2]|0; - _sqlite3_free($17); - $18 = HEAP32[$pCsr>>2]|0; - _sqlite3_free($18); - STACKTOP = sp;return 0; + HEAP32[$4>>2] = 0; + $120 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($120|0); } -function _fts3auxFilterMethod($pCursor,$idxNum,$idxStr,$nVal,$apVal) { - $pCursor = $pCursor|0; - $idxNum = $idxNum|0; - $idxStr = $idxStr|0; - $nVal = $nVal|0; - $apVal = $apVal|0; - var $$ = 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, $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, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $iEq = 0, $iGe = 0, $iLangVal = 0, $iLangid = 0, $iLe = 0, $iNext = 0, $isScan = 0, $or$cond = 0, $pCsr = 0, $pFts3 = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $zStr = 0, label = 0, sp = 0; +function _ptrmapGet($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = sp + 60|0; - $5 = sp + 56|0; - $pCsr = sp + 52|0; - $pFts3 = sp + 48|0; - $rc = sp + 44|0; - $isScan = sp + 40|0; - $iLangVal = sp + 36|0; - $iEq = sp + 32|0; - $iGe = sp + 28|0; - $iLe = sp + 24|0; - $iLangid = sp + 20|0; - $iNext = sp + 16|0; - $zStr = sp + 12|0; - HEAP32[$1>>2] = $pCursor; - HEAP32[$2>>2] = $idxNum; - HEAP32[$3>>2] = $idxStr; - HEAP32[$4>>2] = $nVal; - HEAP32[$5>>2] = $apVal; - $6 = HEAP32[$1>>2]|0; - HEAP32[$pCsr>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pFts3>>2] = $10; - HEAP32[$isScan>>2] = 0; - HEAP32[$iLangVal>>2] = 0; - HEAP32[$iEq>>2] = -1; - HEAP32[$iGe>>2] = -1; - HEAP32[$iLe>>2] = -1; - HEAP32[$iLangid>>2] = -1; - HEAP32[$iNext>>2] = 0; - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)==(1); - if ($12) { - $13 = HEAP32[$iNext>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[$iNext>>2] = $14; - HEAP32[$iEq>>2] = $13; - } else { - HEAP32[$isScan>>2] = 1; - $15 = HEAP32[$2>>2]|0; - $16 = $15 & 2; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$iNext>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$iNext>>2] = $19; - HEAP32[$iGe>>2] = $18; - } - $20 = HEAP32[$2>>2]|0; - $21 = $20 & 4; - $22 = ($21|0)!=(0); - if ($22) { - $23 = HEAP32[$iNext>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$iNext>>2] = $24; - HEAP32[$iLe>>2] = $23; - } - } - $25 = HEAP32[$iNext>>2]|0; - $26 = HEAP32[$4>>2]|0; - $27 = ($25|0)<($26|0); - if ($27) { - $28 = HEAP32[$iNext>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$iNext>>2] = $29; - HEAP32[$iLangid>>2] = $28; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = (_ptrmapPageno($14,$15)|0); + HEAP32[$10>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$10>>2]|0; + $20 = (_sqlite3PagerGet($18,$19,$9,0)|0); + HEAP32[$13>>2] = $20; + $21 = HEAP32[$13>>2]|0; + $22 = ($21|0)!=(0); + if ($22) { + $23 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $23; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); } - $30 = HEAP32[$pCsr>>2]|0; - $31 = ((($30)) + 4|0); - _sqlite3Fts3SegReaderFinish($31); - $32 = HEAP32[$pCsr>>2]|0; - $33 = ((($32)) + 60|0); - $34 = HEAP32[$33>>2]|0; - _sqlite3_free($34); - $35 = HEAP32[$pCsr>>2]|0; - $36 = ((($35)) + 112|0); - $37 = HEAP32[$36>>2]|0; - _sqlite3_free($37); - $38 = HEAP32[$pCsr>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$pCsr>>2]|0; - $41 = ((($40)) + 120|0); - $42 = HEAP32[$pCsr>>2]|0; - $43 = ((($42)) + 4|0); - $44 = $41; - $45 = $43; - $46 = (($44) - ($45))|0; - _memset(($39|0),0,($46|0))|0; - $47 = HEAP32[$pCsr>>2]|0; - $48 = ((($47)) + 60|0); - $49 = ((($48)) + 12|0); - HEAP32[$49>>2] = 3; - $50 = HEAP32[$isScan>>2]|0; - $51 = ($50|0)!=(0); - if ($51) { - $52 = HEAP32[$pCsr>>2]|0; - $53 = ((($52)) + 60|0); - $54 = ((($53)) + 12|0); - $55 = HEAP32[$54>>2]|0; - $56 = $55 | 16; - HEAP32[$54>>2] = $56; + $24 = HEAP32[$9>>2]|0; + $25 = (_sqlite3PagerGetData($24)|0); + HEAP32[$11>>2] = $25; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$10>>2]|0; + $28 = (($26) - ($27))|0; + $29 = (($28) - 1)|0; + $30 = ($29*5)|0; + HEAP32[$12>>2] = $30; + $31 = HEAP32[$12>>2]|0; + $32 = ($31|0)<(0); + if ($32) { + $33 = HEAP32[$9>>2]|0; + _sqlite3PagerUnref($33); + $34 = (_sqlite3CorruptError(59240)|0); + HEAP32[$4>>2] = $34; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); } - $57 = HEAP32[$iEq>>2]|0; - $58 = ($57|0)>=(0); - $59 = HEAP32[$iGe>>2]|0; - $60 = ($59|0)>=(0); - $or$cond = $58 | $60; - if ($or$cond) { - $61 = HEAP32[$5>>2]|0; - $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3_value_text($62)|0); - HEAP32[$zStr>>2] = $63; - $64 = HEAP32[$zStr>>2]|0; - $65 = ($64|0)!=(0|0); - if ($65) { - $66 = HEAP32[$zStr>>2]|0; - HEAP32[$vararg_buffer>>2] = $66; - $67 = (_sqlite3_mprintf(18391,$vararg_buffer)|0); - $68 = HEAP32[$pCsr>>2]|0; - $69 = ((($68)) + 60|0); - HEAP32[$69>>2] = $67; - $70 = HEAP32[$5>>2]|0; - $71 = HEAP32[$70>>2]|0; - $72 = (_sqlite3_value_bytes($71)|0); - $73 = HEAP32[$pCsr>>2]|0; - $74 = ((($73)) + 60|0); - $75 = ((($74)) + 4|0); - HEAP32[$75>>2] = $72; - $76 = HEAP32[$pCsr>>2]|0; - $77 = ((($76)) + 60|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)==(0|0); - if ($79) { - HEAP32[$0>>2] = 7; - $139 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($139|0); - } - } + $35 = HEAP32[$11>>2]|0; + $36 = HEAP32[$12>>2]|0; + $37 = (($35) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = HEAP32[$7>>2]|0; + HEAP8[$39>>0] = $38; + $40 = HEAP32[$8>>2]|0; + $41 = ($40|0)!=(0|0); + if ($41) { + $42 = HEAP32[$11>>2]|0; + $43 = HEAP32[$12>>2]|0; + $44 = (($43) + 1)|0; + $45 = (($42) + ($44)|0); + $46 = (_sqlite3Get4byte($45)|0); + $47 = HEAP32[$8>>2]|0; + HEAP32[$47>>2] = $46; } - $80 = HEAP32[$iLe>>2]|0; - $81 = ($80|0)>=(0); - if ($81) { - $82 = HEAP32[$iLe>>2]|0; - $83 = HEAP32[$5>>2]|0; - $84 = (($83) + ($82<<2)|0); - $85 = HEAP32[$84>>2]|0; - $86 = (_sqlite3_value_text($85)|0); - HEAP32[$vararg_buffer2>>2] = $86; - $87 = (_sqlite3_mprintf(18391,$vararg_buffer2)|0); - $88 = HEAP32[$pCsr>>2]|0; - $89 = ((($88)) + 76|0); - HEAP32[$89>>2] = $87; - $90 = HEAP32[$iLe>>2]|0; - $91 = HEAP32[$5>>2]|0; - $92 = (($91) + ($90<<2)|0); - $93 = HEAP32[$92>>2]|0; - $94 = (_sqlite3_value_bytes($93)|0); - $95 = HEAP32[$pCsr>>2]|0; - $96 = ((($95)) + 80|0); - HEAP32[$96>>2] = $94; - $97 = HEAP32[$pCsr>>2]|0; - $98 = ((($97)) + 76|0); - $99 = HEAP32[$98>>2]|0; - $100 = ($99|0)==(0|0); - if ($100) { - HEAP32[$0>>2] = 7; - $139 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($139|0); + $48 = HEAP32[$9>>2]|0; + _sqlite3PagerUnref($48); + $49 = HEAP32[$7>>2]|0; + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = ($51|0)<(1); + if (!($52)) { + $53 = HEAP32[$7>>2]|0; + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = ($55|0)>(5); + if (!($56)) { + HEAP32[$4>>2] = 0; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); } } - $101 = HEAP32[$iLangid>>2]|0; - $102 = ($101|0)>=(0); - if ($102) { - $103 = HEAP32[$iLangid>>2]|0; - $104 = HEAP32[$5>>2]|0; - $105 = (($104) + ($103<<2)|0); - $106 = HEAP32[$105>>2]|0; - $107 = (_sqlite3_value_int($106)|0); - HEAP32[$iLangVal>>2] = $107; - $108 = HEAP32[$iLangVal>>2]|0; - $109 = ($108|0)<(0); - $$ = $109 ? 0 : $107; - HEAP32[$iLangVal>>2] = $$; - } - $110 = HEAP32[$iLangVal>>2]|0; - $111 = HEAP32[$pCsr>>2]|0; - $112 = ((($111)) + 84|0); - HEAP32[$112>>2] = $110; - $113 = HEAP32[$pFts3>>2]|0; - $114 = HEAP32[$iLangVal>>2]|0; - $115 = HEAP32[$pCsr>>2]|0; - $116 = ((($115)) + 60|0); - $117 = HEAP32[$116>>2]|0; - $118 = HEAP32[$pCsr>>2]|0; - $119 = ((($118)) + 60|0); - $120 = ((($119)) + 4|0); - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$isScan>>2]|0; - $123 = HEAP32[$pCsr>>2]|0; - $124 = ((($123)) + 4|0); - $125 = (_sqlite3Fts3SegReaderCursor($113,$114,0,-2,$117,$121,0,$122,$124)|0); - HEAP32[$rc>>2] = $125; - $126 = HEAP32[$rc>>2]|0; - $127 = ($126|0)==(0); - if ($127) { - $128 = HEAP32[$pFts3>>2]|0; - $129 = HEAP32[$pCsr>>2]|0; - $130 = ((($129)) + 4|0); - $131 = HEAP32[$pCsr>>2]|0; - $132 = ((($131)) + 60|0); - $133 = (_sqlite3Fts3SegReaderStart($128,$130,$132)|0); - HEAP32[$rc>>2] = $133; - } - $134 = HEAP32[$rc>>2]|0; - $135 = ($134|0)==(0); - if ($135) { - $136 = HEAP32[$1>>2]|0; - $137 = (_fts3auxNextMethod($136)|0); - HEAP32[$rc>>2] = $137; - } - $138 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $138; - $139 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($139|0); + $57 = (_sqlite3CorruptError(59248)|0); + HEAP32[$4>>2] = $57; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); } -function _fts3auxNextMethod($pCursor) { - $pCursor = $pCursor|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aDoclist = 0, $eState = 0, $i = 0, $iCol = 0, $mc = 0, $n = 0, $nDoclist = 0, $pCsr = 0, $pFts3 = 0, $rc = 0, $v = 0, label = 0, sp = 0; +function _allocateBtreePage($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; + var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; + var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; + var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; + var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $pCsr = sp + 44|0; - $pFts3 = sp + 40|0; - $rc = sp + 36|0; - $i = sp + 32|0; - $nDoclist = sp + 28|0; - $aDoclist = sp + 24|0; - $iCol = sp + 20|0; - $eState = sp + 16|0; - $n = sp + 12|0; - $mc = sp + 8|0; - $v = sp; - HEAP32[$1>>2] = $pCursor; - $2 = HEAP32[$1>>2]|0; - HEAP32[$pCsr>>2] = $2; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pFts3>>2] = $6; - $7 = HEAP32[$pCsr>>2]|0; - $8 = ((($7)) + 96|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[$pCsr>>2]|0; - $22 = ((($21)) + 104|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$22>>2] = $24; - while(1) { - $25 = HEAP32[$pCsr>>2]|0; - $26 = ((($25)) + 104|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$pCsr>>2]|0; - $29 = ((($28)) + 108|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($27|0)<($30|0); - if (!($31)) { - break; - } - $32 = HEAP32[$pCsr>>2]|0; - $33 = ((($32)) + 104|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$pCsr>>2]|0; - $36 = ((($35)) + 112|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + ($34<<4)|0); - $39 = $38; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (($39) + 4)|0; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)>(0); - $46 = ($41>>>0)>(0); - $47 = ($44|0)==(0); - $48 = $47 & $46; - $49 = $45 | $48; - if ($49) { - label = 4; - break; - } - $50 = HEAP32[$pCsr>>2]|0; - $51 = ((($50)) + 104|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + 1)|0; - HEAP32[$51>>2] = $53; - } - if ((label|0) == 4) { - HEAP32[$0>>2] = 0; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); + STACKTOP = STACKTOP + 112|0; + $5 = sp + 96|0; + $6 = sp + 92|0; + $7 = sp + 88|0; + $8 = sp + 84|0; + $9 = sp + 80|0; + $10 = sp + 102|0; + $11 = sp + 76|0; + $12 = sp + 72|0; + $13 = sp + 68|0; + $14 = sp + 64|0; + $15 = sp + 60|0; + $16 = sp + 56|0; + $17 = sp + 52|0; + $18 = sp + 48|0; + $19 = sp + 101|0; + $20 = sp + 44|0; + $21 = sp + 100|0; + $22 = sp + 40|0; + $23 = sp + 36|0; + $24 = sp + 32|0; + $25 = sp + 28|0; + $26 = sp + 24|0; + $27 = sp + 20|0; + $28 = sp + 16|0; + $29 = sp + 12|0; + $30 = sp + 8|0; + $31 = sp + 4|0; + $32 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP8[$10>>0] = $4; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + $33 = HEAP32[$6>>2]|0; + $34 = ((($33)) + 12|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$11>>2] = $35; + $36 = HEAP32[$6>>2]|0; + $37 = (_btreePagecount($36)|0); + HEAP32[$17>>2] = $37; + $38 = HEAP32[$11>>2]|0; + $39 = ((($38)) + 56|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($40)) + 36|0); + $42 = (_sqlite3Get4byte($41)|0); + HEAP32[$13>>2] = $42; + $43 = HEAP32[$13>>2]|0; + $44 = HEAP32[$17>>2]|0; + $45 = ($43>>>0)>=($44>>>0); + if ($45) { + $46 = (_sqlite3CorruptError(63793)|0); + HEAP32[$5>>2] = $46; + $485 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($485|0); } - $54 = HEAP32[$pFts3>>2]|0; - $55 = HEAP32[$pCsr>>2]|0; - $56 = ((($55)) + 4|0); - $57 = (_sqlite3Fts3SegReaderStep($54,$56)|0); - HEAP32[$rc>>2] = $57; - $58 = HEAP32[$rc>>2]|0; - $59 = ($58|0)==(100); - do { - if ($59) { - HEAP32[$i>>2] = 0; - $60 = HEAP32[$pCsr>>2]|0; - $61 = ((($60)) + 4|0); - $62 = ((($61)) + 52|0); - $63 = HEAP32[$62>>2]|0; - HEAP32[$nDoclist>>2] = $63; - $64 = HEAP32[$pCsr>>2]|0; - $65 = ((($64)) + 4|0); - $66 = ((($65)) + 48|0); - $67 = HEAP32[$66>>2]|0; - HEAP32[$aDoclist>>2] = $67; - HEAP32[$eState>>2] = 0; - $68 = HEAP32[$pCsr>>2]|0; - $69 = ((($68)) + 76|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)!=(0|0); + $47 = HEAP32[$13>>2]|0; + $48 = ($47>>>0)>(0); + L5: do { + if ($48) { + HEAP8[$19>>0] = 0; + HEAP32[$20>>2] = 0; + $49 = HEAP8[$10>>0]|0; + $50 = $49&255; + $51 = ($50|0)==(1); do { - if ($71) { - $72 = HEAP32[$pCsr>>2]|0; - $73 = ((($72)) + 80|0); - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$pCsr>>2]|0; - $76 = ((($75)) + 4|0); - $77 = ((($76)) + 44|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($74|0)<($78|0); - $80 = HEAP32[$pCsr>>2]|0; - if ($79) { - $81 = ((($80)) + 80|0); - $82 = HEAP32[$81>>2]|0; - $86 = $82; - } else { - $83 = ((($80)) + 4|0); - $84 = ((($83)) + 44|0); - $85 = HEAP32[$84>>2]|0; - $86 = $85; - } - HEAP32[$n>>2] = $86; - $87 = HEAP32[$pCsr>>2]|0; - $88 = ((($87)) + 76|0); - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$pCsr>>2]|0; - $91 = ((($90)) + 4|0); - $92 = ((($91)) + 40|0); - $93 = HEAP32[$92>>2]|0; - $94 = HEAP32[$n>>2]|0; - $95 = (_memcmp($89,$93,$94)|0); - HEAP32[$mc>>2] = $95; - $96 = HEAP32[$mc>>2]|0; - $97 = ($96|0)<(0); - if (!($97)) { - $98 = HEAP32[$mc>>2]|0; - $99 = ($98|0)==(0); - if (!($99)) { - break; - } - $100 = HEAP32[$pCsr>>2]|0; - $101 = ((($100)) + 4|0); - $102 = ((($101)) + 44|0); - $103 = HEAP32[$102>>2]|0; - $104 = HEAP32[$pCsr>>2]|0; - $105 = ((($104)) + 80|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($103|0)>($106|0); - if (!($107)) { + if ($51) { + $52 = HEAP32[$9>>2]|0; + $53 = HEAP32[$17>>2]|0; + $54 = ($52>>>0)<=($53>>>0); + if ($54) { + $55 = HEAP32[$6>>2]|0; + $56 = HEAP32[$9>>2]|0; + $57 = (_ptrmapGet($55,$56,$21,0)|0); + HEAP32[$12>>2] = $57; + $58 = HEAP32[$12>>2]|0; + $59 = ($58|0)!=(0); + if ($59) { + $60 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $60; + $485 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($485|0); + } else { + $61 = HEAP8[$21>>0]|0; + $62 = $61&255; + $63 = ($62|0)==(2); + if (!($63)) { + break; + } + HEAP8[$19>>0] = 1; break; } } - $108 = HEAP32[$pCsr>>2]|0; - $109 = ((($108)) + 88|0); - HEAP32[$109>>2] = 1; - HEAP32[$0>>2] = 0; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); + } else { + $64 = HEAP8[$10>>0]|0; + $65 = $64&255; + $66 = ($65|0)==(2); + if ($66) { + HEAP8[$19>>0] = 1; + } } } while(0); - $110 = HEAP32[$pCsr>>2]|0; - $111 = (_fts3auxGrowStatArray($110,2)|0); - $112 = ($111|0)!=(0); - if ($112) { - HEAP32[$0>>2] = 7; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); + $67 = HEAP32[$11>>2]|0; + $68 = ((($67)) + 72|0); + $69 = HEAP32[$68>>2]|0; + $70 = (_sqlite3PagerWrite($69)|0); + HEAP32[$12>>2] = $70; + $71 = HEAP32[$12>>2]|0; + $72 = ($71|0)!=(0); + if ($72) { + $73 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $73; + $485 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($485|0); } - $113 = HEAP32[$pCsr>>2]|0; - $114 = ((($113)) + 112|0); - $115 = HEAP32[$114>>2]|0; - $116 = HEAP32[$pCsr>>2]|0; - $117 = ((($116)) + 108|0); - $118 = HEAP32[$117>>2]|0; - $119 = $118<<4; - _memset(($115|0),0,($119|0))|0; - HEAP32[$iCol>>2] = 0; - L27: while(1) { - $120 = HEAP32[$i>>2]|0; - $121 = HEAP32[$nDoclist>>2]|0; - $122 = ($120|0)<($121|0); - if (!($122)) { - label = 32; - break; - } - $123 = $v; - $124 = $123; - HEAP32[$124>>2] = 0; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = 0; - $127 = HEAP32[$i>>2]|0; - $128 = HEAP32[$aDoclist>>2]|0; - $129 = (($128) + ($127)|0); - $130 = (_sqlite3Fts3GetVarint($129,$v)|0); - $131 = HEAP32[$i>>2]|0; - $132 = (($131) + ($130))|0; - HEAP32[$i>>2] = $132; - $133 = HEAP32[$eState>>2]|0; - switch ($133|0) { - case 0: { - $134 = HEAP32[$pCsr>>2]|0; - $135 = ((($134)) + 112|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136; - $138 = $137; - $139 = HEAP32[$138>>2]|0; - $140 = (($137) + 4)|0; - $141 = $140; - $142 = HEAP32[$141>>2]|0; - $143 = (_i64Add(($139|0),($142|0),1,0)|0); - $144 = tempRet0; - $145 = $136; - $146 = $145; - HEAP32[$146>>2] = $143; - $147 = (($145) + 4)|0; - $148 = $147; - HEAP32[$148>>2] = $144; - HEAP32[$eState>>2] = 1; - HEAP32[$iCol>>2] = 0; - continue L27; - break; + $74 = HEAP32[$11>>2]|0; + $75 = ((($74)) + 56|0); + $76 = HEAP32[$75>>2]|0; + $77 = ((($76)) + 36|0); + $78 = HEAP32[$13>>2]|0; + $79 = (($78) - 1)|0; + _sqlite3Put4byte($77,$79); + L22: while(1) { + $80 = HEAP32[$15>>2]|0; + HEAP32[$16>>2] = $80; + $81 = HEAP32[$16>>2]|0; + $82 = ($81|0)!=(0|0); + if ($82) { + $83 = HEAP32[$16>>2]|0; + $84 = ((($83)) + 56|0); + $85 = HEAP32[$84>>2]|0; + $86 = (_sqlite3Get4byte($85)|0); + HEAP32[$18>>2] = $86; + } else { + $87 = HEAP32[$11>>2]|0; + $88 = ((($87)) + 56|0); + $89 = HEAP32[$88>>2]|0; + $90 = ((($89)) + 32|0); + $91 = (_sqlite3Get4byte($90)|0); + HEAP32[$18>>2] = $91; } - case 1: { - $149 = $v; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = ($154|0)>(0); - $156 = ($151>>>0)>(1); - $157 = ($154|0)==(0); - $158 = $157 & $156; - $159 = $155 | $158; - if ($159) { - $160 = HEAP32[$pCsr>>2]|0; - $161 = ((($160)) + 112|0); - $162 = HEAP32[$161>>2]|0; - $163 = ((($162)) + 16|0); - $164 = $163; - $165 = $164; - $166 = HEAP32[$165>>2]|0; - $167 = (($164) + 4)|0; - $168 = $167; - $169 = HEAP32[$168>>2]|0; - $170 = (_i64Add(($166|0),($169|0),1,0)|0); - $171 = tempRet0; - $172 = $163; - $173 = $172; - HEAP32[$173>>2] = $170; - $174 = (($172) + 4)|0; - $175 = $174; - HEAP32[$175>>2] = $171; + $92 = HEAP32[$18>>2]|0; + $93 = HEAP32[$17>>2]|0; + $94 = ($92>>>0)>($93>>>0); + if ($94) { + label = 20; + } else { + $95 = HEAP32[$20>>2]|0; + $96 = (($95) + 1)|0; + HEAP32[$20>>2] = $96; + $97 = HEAP32[$13>>2]|0; + $98 = ($95>>>0)>($97>>>0); + if ($98) { + label = 20; + } else { + $100 = HEAP32[$6>>2]|0; + $101 = HEAP32[$18>>2]|0; + $102 = (_btreeGetUnusedPage($100,$101,$15,0)|0); + HEAP32[$12>>2] = $102; } - HEAP32[$eState>>2] = 2; - break; } - case 2: { + if ((label|0) == 20) { + label = 0; + $99 = (_sqlite3CorruptError(63849)|0); + HEAP32[$12>>2] = $99; + } + $103 = HEAP32[$12>>2]|0; + $104 = ($103|0)!=(0); + if ($104) { + label = 23; break; } - default: { - $229 = $v; - $230 = $229; - $231 = HEAP32[$230>>2]|0; - $232 = (($229) + 4)|0; - $233 = $232; - $234 = HEAP32[$233>>2]|0; - HEAP32[$iCol>>2] = $231; - $235 = HEAP32[$pCsr>>2]|0; - $236 = HEAP32[$iCol>>2]|0; - $237 = (($236) + 2)|0; - $238 = (_fts3auxGrowStatArray($235,$237)|0); - $239 = ($238|0)!=(0); - if ($239) { - break L27; + $105 = HEAP32[$15>>2]|0; + $106 = ((($105)) + 56|0); + $107 = HEAP32[$106>>2]|0; + $108 = ((($107)) + 4|0); + $109 = (_sqlite3Get4byte($108)|0); + HEAP32[$14>>2] = $109; + $110 = HEAP32[$14>>2]|0; + $111 = ($110|0)!=(0); + $112 = HEAP8[$19>>0]|0; + $113 = ($112<<24>>24)!=(0); + $or$cond = $111 | $113; + L35: do { + if ($or$cond) { + $131 = HEAP32[$14>>2]|0; + $132 = HEAP32[$6>>2]|0; + $133 = ((($132)) + 36|0); + $134 = HEAP32[$133>>2]|0; + $135 = (($134>>>0) / 4)&-1; + $136 = (($135) - 2)|0; + $137 = ($131>>>0)>($136>>>0); + if ($137) { + label = 28; + break L22; + } + $139 = HEAP8[$19>>0]|0; + $140 = $139&255; + $141 = ($140|0)!=(0); + do { + if ($141) { + $142 = HEAP32[$9>>2]|0; + $143 = HEAP32[$18>>2]|0; + $144 = ($142|0)==($143|0); + if (!($144)) { + $145 = HEAP32[$18>>2]|0; + $146 = HEAP32[$9>>2]|0; + $147 = ($145>>>0)<($146>>>0); + if (!($147)) { + break; + } + $148 = HEAP8[$10>>0]|0; + $149 = $148&255; + $150 = ($149|0)==(2); + if (!($150)) { + break; + } + } + $151 = HEAP32[$18>>2]|0; + $152 = HEAP32[$8>>2]|0; + HEAP32[$152>>2] = $151; + $153 = HEAP32[$15>>2]|0; + $154 = HEAP32[$7>>2]|0; + HEAP32[$154>>2] = $153; + HEAP8[$19>>0] = 0; + $155 = HEAP32[$15>>2]|0; + $156 = ((($155)) + 72|0); + $157 = HEAP32[$156>>2]|0; + $158 = (_sqlite3PagerWrite($157)|0); + HEAP32[$12>>2] = $158; + $159 = HEAP32[$12>>2]|0; + $160 = ($159|0)!=(0); + if ($160) { + break L5; + } + $161 = HEAP32[$14>>2]|0; + $162 = ($161|0)==(0); + do { + if ($162) { + $163 = HEAP32[$16>>2]|0; + $164 = ($163|0)!=(0|0); + if (!($164)) { + $165 = HEAP32[$11>>2]|0; + $166 = ((($165)) + 56|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($167)) + 32|0); + $169 = HEAP32[$15>>2]|0; + $170 = ((($169)) + 56|0); + $171 = HEAP32[$170>>2]|0; + ;HEAP8[$168>>0]=HEAP8[$171>>0]|0;HEAP8[$168+1>>0]=HEAP8[$171+1>>0]|0;HEAP8[$168+2>>0]=HEAP8[$171+2>>0]|0;HEAP8[$168+3>>0]=HEAP8[$171+3>>0]|0; + break; + } + $172 = HEAP32[$16>>2]|0; + $173 = ((($172)) + 72|0); + $174 = HEAP32[$173>>2]|0; + $175 = (_sqlite3PagerWrite($174)|0); + HEAP32[$12>>2] = $175; + $176 = HEAP32[$12>>2]|0; + $177 = ($176|0)!=(0); + if ($177) { + break L5; + } + $178 = HEAP32[$16>>2]|0; + $179 = ((($178)) + 56|0); + $180 = HEAP32[$179>>2]|0; + $181 = HEAP32[$15>>2]|0; + $182 = ((($181)) + 56|0); + $183 = HEAP32[$182>>2]|0; + ;HEAP8[$180>>0]=HEAP8[$183>>0]|0;HEAP8[$180+1>>0]=HEAP8[$183+1>>0]|0;HEAP8[$180+2>>0]=HEAP8[$183+2>>0]|0;HEAP8[$180+3>>0]=HEAP8[$183+3>>0]|0; + } else { + $184 = HEAP32[$15>>2]|0; + $185 = ((($184)) + 56|0); + $186 = HEAP32[$185>>2]|0; + $187 = ((($186)) + 8|0); + $188 = (_sqlite3Get4byte($187)|0); + HEAP32[$23>>2] = $188; + $189 = HEAP32[$23>>2]|0; + $190 = HEAP32[$17>>2]|0; + $191 = ($189>>>0)>($190>>>0); + if ($191) { + label = 40; + break L22; + } + $193 = HEAP32[$6>>2]|0; + $194 = HEAP32[$23>>2]|0; + $195 = (_btreeGetUnusedPage($193,$194,$22,0)|0); + HEAP32[$12>>2] = $195; + $196 = HEAP32[$12>>2]|0; + $197 = ($196|0)!=(0); + if ($197) { + break L5; + } + $198 = HEAP32[$22>>2]|0; + $199 = ((($198)) + 72|0); + $200 = HEAP32[$199>>2]|0; + $201 = (_sqlite3PagerWrite($200)|0); + HEAP32[$12>>2] = $201; + $202 = HEAP32[$12>>2]|0; + $203 = ($202|0)!=(0); + $204 = HEAP32[$22>>2]|0; + if ($203) { + label = 43; + break L22; + } + $205 = ((($204)) + 56|0); + $206 = HEAP32[$205>>2]|0; + $207 = HEAP32[$15>>2]|0; + $208 = ((($207)) + 56|0); + $209 = HEAP32[$208>>2]|0; + ;HEAP8[$206>>0]=HEAP8[$209>>0]|0;HEAP8[$206+1>>0]=HEAP8[$209+1>>0]|0;HEAP8[$206+2>>0]=HEAP8[$209+2>>0]|0;HEAP8[$206+3>>0]=HEAP8[$209+3>>0]|0; + $210 = HEAP32[$22>>2]|0; + $211 = ((($210)) + 56|0); + $212 = HEAP32[$211>>2]|0; + $213 = ((($212)) + 4|0); + $214 = HEAP32[$14>>2]|0; + $215 = (($214) - 1)|0; + _sqlite3Put4byte($213,$215); + $216 = HEAP32[$22>>2]|0; + $217 = ((($216)) + 56|0); + $218 = HEAP32[$217>>2]|0; + $219 = ((($218)) + 8|0); + $220 = HEAP32[$15>>2]|0; + $221 = ((($220)) + 56|0); + $222 = HEAP32[$221>>2]|0; + $223 = ((($222)) + 12|0); + $224 = HEAP32[$14>>2]|0; + $225 = (($224) - 1)|0; + $226 = $225<<2; + _memcpy(($219|0),($223|0),($226|0))|0; + $227 = HEAP32[$22>>2]|0; + _releasePage($227); + $228 = HEAP32[$16>>2]|0; + $229 = ($228|0)!=(0|0); + if (!($229)) { + $230 = HEAP32[$11>>2]|0; + $231 = ((($230)) + 56|0); + $232 = HEAP32[$231>>2]|0; + $233 = ((($232)) + 32|0); + $234 = HEAP32[$23>>2]|0; + _sqlite3Put4byte($233,$234); + break; + } + $235 = HEAP32[$16>>2]|0; + $236 = ((($235)) + 72|0); + $237 = HEAP32[$236>>2]|0; + $238 = (_sqlite3PagerWrite($237)|0); + HEAP32[$12>>2] = $238; + $239 = HEAP32[$12>>2]|0; + $240 = ($239|0)!=(0); + if ($240) { + break L5; + } + $241 = HEAP32[$16>>2]|0; + $242 = ((($241)) + 56|0); + $243 = HEAP32[$242>>2]|0; + $244 = HEAP32[$23>>2]|0; + _sqlite3Put4byte($243,$244); + } + } while(0); + HEAP32[$15>>2] = 0; + break L35; + } + } while(0); + $245 = HEAP32[$14>>2]|0; + $246 = ($245>>>0)>(0); + if ($246) { + $247 = HEAP32[$15>>2]|0; + $248 = ((($247)) + 56|0); + $249 = HEAP32[$248>>2]|0; + HEAP32[$26>>2] = $249; + $250 = HEAP32[$9>>2]|0; + $251 = ($250>>>0)>(0); + HEAP32[$24>>2] = 0; + L62: do { + if ($251) { + $252 = HEAP8[$10>>0]|0; + $253 = $252&255; + $254 = ($253|0)==(2); + if ($254) { + HEAP32[$27>>2] = 0; + while(1) { + $255 = HEAP32[$27>>2]|0; + $256 = HEAP32[$14>>2]|0; + $257 = ($255>>>0)<($256>>>0); + if (!($257)) { + break L62; + } + $258 = HEAP32[$26>>2]|0; + $259 = HEAP32[$27>>2]|0; + $260 = $259<<2; + $261 = (8 + ($260))|0; + $262 = (($258) + ($261)|0); + $263 = (_sqlite3Get4byte($262)|0); + HEAP32[$25>>2] = $263; + $264 = HEAP32[$25>>2]|0; + $265 = HEAP32[$9>>2]|0; + $266 = ($264>>>0)<=($265>>>0); + $267 = HEAP32[$27>>2]|0; + if ($266) { + break; + } + $268 = (($267) + 1)|0; + HEAP32[$27>>2] = $268; + } + HEAP32[$24>>2] = $267; + break; + } else { + $269 = HEAP32[$26>>2]|0; + $270 = ((($269)) + 8|0); + $271 = (_sqlite3Get4byte($270)|0); + $272 = HEAP32[$9>>2]|0; + $273 = (($271) - ($272))|0; + $274 = (_sqlite3AbsInt32($273)|0); + HEAP32[$28>>2] = $274; + HEAP32[$27>>2] = 1; + while(1) { + $275 = HEAP32[$27>>2]|0; + $276 = HEAP32[$14>>2]|0; + $277 = ($275>>>0)<($276>>>0); + if (!($277)) { + break L62; + } + $278 = HEAP32[$26>>2]|0; + $279 = HEAP32[$27>>2]|0; + $280 = $279<<2; + $281 = (8 + ($280))|0; + $282 = (($278) + ($281)|0); + $283 = (_sqlite3Get4byte($282)|0); + $284 = HEAP32[$9>>2]|0; + $285 = (($283) - ($284))|0; + $286 = (_sqlite3AbsInt32($285)|0); + HEAP32[$29>>2] = $286; + $287 = HEAP32[$29>>2]|0; + $288 = HEAP32[$28>>2]|0; + $289 = ($287|0)<($288|0); + if ($289) { + $290 = HEAP32[$27>>2]|0; + HEAP32[$24>>2] = $290; + $291 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $291; + } + $292 = HEAP32[$27>>2]|0; + $293 = (($292) + 1)|0; + HEAP32[$27>>2] = $293; + } + } + } + } while(0); + $294 = HEAP32[$26>>2]|0; + $295 = HEAP32[$24>>2]|0; + $296 = $295<<2; + $297 = (8 + ($296))|0; + $298 = (($294) + ($297)|0); + $299 = (_sqlite3Get4byte($298)|0); + HEAP32[$25>>2] = $299; + $300 = HEAP32[$25>>2]|0; + $301 = HEAP32[$17>>2]|0; + $302 = ($300>>>0)>($301>>>0); + if ($302) { + label = 63; + break L22; + } + $304 = HEAP8[$19>>0]|0; + $305 = ($304<<24>>24)!=(0); + if ($305) { + $306 = HEAP32[$25>>2]|0; + $307 = HEAP32[$9>>2]|0; + $308 = ($306|0)==($307|0); + if (!($308)) { + $309 = HEAP32[$25>>2]|0; + $310 = HEAP32[$9>>2]|0; + $311 = ($309>>>0)<($310>>>0); + if (!($311)) { + break; + } + $312 = HEAP8[$10>>0]|0; + $313 = $312&255; + $314 = ($313|0)==(2); + if (!($314)) { + break; + } + } + } + $315 = HEAP32[$25>>2]|0; + $316 = HEAP32[$8>>2]|0; + HEAP32[$316>>2] = $315; + $317 = HEAP32[$15>>2]|0; + $318 = ((($317)) + 72|0); + $319 = HEAP32[$318>>2]|0; + $320 = (_sqlite3PagerWrite($319)|0); + HEAP32[$12>>2] = $320; + $321 = HEAP32[$12>>2]|0; + $322 = ($321|0)!=(0); + if ($322) { + break L5; + } + $323 = HEAP32[$24>>2]|0; + $324 = HEAP32[$14>>2]|0; + $325 = (($324) - 1)|0; + $326 = ($323>>>0)<($325>>>0); + if ($326) { + $327 = HEAP32[$26>>2]|0; + $328 = HEAP32[$24>>2]|0; + $329 = $328<<2; + $330 = (8 + ($329))|0; + $331 = (($327) + ($330)|0); + $332 = HEAP32[$26>>2]|0; + $333 = HEAP32[$14>>2]|0; + $334 = $333<<2; + $335 = (4 + ($334))|0; + $336 = (($332) + ($335)|0); + ;HEAP8[$331>>0]=HEAP8[$336>>0]|0;HEAP8[$331+1>>0]=HEAP8[$336+1>>0]|0;HEAP8[$331+2>>0]=HEAP8[$336+2>>0]|0;HEAP8[$331+3>>0]=HEAP8[$336+3>>0]|0; + } + $337 = HEAP32[$26>>2]|0; + $338 = ((($337)) + 4|0); + $339 = HEAP32[$14>>2]|0; + $340 = (($339) - 1)|0; + _sqlite3Put4byte($338,$340); + $341 = HEAP32[$6>>2]|0; + $342 = HEAP32[$8>>2]|0; + $343 = HEAP32[$342>>2]|0; + $344 = (_btreeGetHasContent($341,$343)|0); + $345 = ($344|0)!=(0); + $346 = $345 ^ 1; + $347 = $346 ? 1 : 0; + HEAP32[$30>>2] = $347; + $348 = HEAP32[$6>>2]|0; + $349 = HEAP32[$8>>2]|0; + $350 = HEAP32[$349>>2]|0; + $351 = HEAP32[$7>>2]|0; + $352 = HEAP32[$30>>2]|0; + $353 = (_btreeGetUnusedPage($348,$350,$351,$352)|0); + HEAP32[$12>>2] = $353; + $354 = HEAP32[$12>>2]|0; + $355 = ($354|0)==(0); + do { + if ($355) { + $356 = HEAP32[$7>>2]|0; + $357 = HEAP32[$356>>2]|0; + $358 = ((($357)) + 72|0); + $359 = HEAP32[$358>>2]|0; + $360 = (_sqlite3PagerWrite($359)|0); + HEAP32[$12>>2] = $360; + $361 = HEAP32[$12>>2]|0; + $362 = ($361|0)!=(0); + if (!($362)) { + break; + } + $363 = HEAP32[$7>>2]|0; + $364 = HEAP32[$363>>2]|0; + _releasePage($364); + $365 = HEAP32[$7>>2]|0; + HEAP32[$365>>2] = 0; + } + } while(0); + HEAP8[$19>>0] = 0; + } + } else { + $114 = HEAP32[$15>>2]|0; + $115 = ((($114)) + 72|0); + $116 = HEAP32[$115>>2]|0; + $117 = (_sqlite3PagerWrite($116)|0); + HEAP32[$12>>2] = $117; + $118 = HEAP32[$12>>2]|0; + $119 = ($118|0)!=(0); + if ($119) { + break L5; + } + $120 = HEAP32[$18>>2]|0; + $121 = HEAP32[$8>>2]|0; + HEAP32[$121>>2] = $120; + $122 = HEAP32[$11>>2]|0; + $123 = ((($122)) + 56|0); + $124 = HEAP32[$123>>2]|0; + $125 = ((($124)) + 32|0); + $126 = HEAP32[$15>>2]|0; + $127 = ((($126)) + 56|0); + $128 = HEAP32[$127>>2]|0; + ;HEAP8[$125>>0]=HEAP8[$128>>0]|0;HEAP8[$125+1>>0]=HEAP8[$128+1>>0]|0;HEAP8[$125+2>>0]=HEAP8[$128+2>>0]|0;HEAP8[$125+3>>0]=HEAP8[$128+3>>0]|0; + $129 = HEAP32[$15>>2]|0; + $130 = HEAP32[$7>>2]|0; + HEAP32[$130>>2] = $129; + HEAP32[$15>>2] = 0; } - $240 = HEAP32[$iCol>>2]|0; - $241 = (($240) + 1)|0; - $242 = HEAP32[$pCsr>>2]|0; - $243 = ((($242)) + 112|0); - $244 = HEAP32[$243>>2]|0; - $245 = (($244) + ($241<<4)|0); - $246 = $245; - $247 = $246; - $248 = HEAP32[$247>>2]|0; - $249 = (($246) + 4)|0; - $250 = $249; - $251 = HEAP32[$250>>2]|0; - $252 = (_i64Add(($248|0),($251|0),1,0)|0); - $253 = tempRet0; - $254 = $245; - $255 = $254; - HEAP32[$255>>2] = $252; - $256 = (($254) + 4)|0; - $257 = $256; - HEAP32[$257>>2] = $253; - HEAP32[$eState>>2] = 2; - continue L27; - } - } - $176 = $v; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (($176) + 4)|0; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $182 = ($178|0)==(0); - $183 = ($181|0)==(0); - $184 = $182 & $183; - if ($184) { - HEAP32[$eState>>2] = 0; - continue; - } - $185 = $v; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = (($185) + 4)|0; - $189 = $188; - $190 = HEAP32[$189>>2]|0; - $191 = ($187|0)==(1); - $192 = ($190|0)==(0); - $193 = $191 & $192; - if ($193) { - HEAP32[$eState>>2] = 3; - continue; - } else { - $194 = HEAP32[$iCol>>2]|0; - $195 = (($194) + 1)|0; - $196 = HEAP32[$pCsr>>2]|0; - $197 = ((($196)) + 112|0); - $198 = HEAP32[$197>>2]|0; - $199 = (($198) + ($195<<4)|0); - $200 = ((($199)) + 8|0); - $201 = $200; - $202 = $201; - $203 = HEAP32[$202>>2]|0; - $204 = (($201) + 4)|0; - $205 = $204; - $206 = HEAP32[$205>>2]|0; - $207 = (_i64Add(($203|0),($206|0),1,0)|0); - $208 = tempRet0; - $209 = $200; - $210 = $209; - HEAP32[$210>>2] = $207; - $211 = (($209) + 4)|0; - $212 = $211; - HEAP32[$212>>2] = $208; - $213 = HEAP32[$pCsr>>2]|0; - $214 = ((($213)) + 112|0); - $215 = HEAP32[$214>>2]|0; - $216 = ((($215)) + 8|0); - $217 = $216; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = (($217) + 4)|0; - $221 = $220; - $222 = HEAP32[$221>>2]|0; - $223 = (_i64Add(($219|0),($222|0),1,0)|0); - $224 = tempRet0; - $225 = $216; - $226 = $225; - HEAP32[$226>>2] = $223; - $227 = (($225) + 4)|0; - $228 = $227; - HEAP32[$228>>2] = $224; - continue; + } while(0); + $366 = HEAP32[$16>>2]|0; + _releasePage($366); + HEAP32[$16>>2] = 0; + $367 = HEAP8[$19>>0]|0; + $368 = ($367<<24>>24)!=(0); + if (!($368)) { + break L5; } } - if ((label|0) == 32) { - $258 = HEAP32[$pCsr>>2]|0; - $259 = ((($258)) + 104|0); - HEAP32[$259>>2] = 0; - HEAP32[$rc>>2] = 0; + if ((label|0) == 23) { + HEAP32[$15>>2] = 0; + break; + } + else if ((label|0) == 28) { + $138 = (_sqlite3CorruptError(63878)|0); + HEAP32[$12>>2] = $138; + break; + } + else if ((label|0) == 40) { + $192 = (_sqlite3CorruptError(63912)|0); + HEAP32[$12>>2] = $192; + break; + } + else if ((label|0) == 43) { + _releasePage($204); + break; + } + else if ((label|0) == 63) { + $303 = (_sqlite3CorruptError(63977)|0); + HEAP32[$12>>2] = $303; break; } - HEAP32[$0>>2] = 7; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); } else { - $260 = HEAP32[$pCsr>>2]|0; - $261 = ((($260)) + 88|0); - HEAP32[$261>>2] = 1; + $369 = HEAP32[$6>>2]|0; + $370 = ((($369)) + 19|0); + $371 = HEAP8[$370>>0]|0; + $372 = $371&255; + $373 = (0)==($372|0); + $374 = $373 ? 1 : 0; + HEAP32[$31>>2] = $374; + $375 = HEAP32[$6>>2]|0; + $376 = ((($375)) + 12|0); + $377 = HEAP32[$376>>2]|0; + $378 = ((($377)) + 72|0); + $379 = HEAP32[$378>>2]|0; + $380 = (_sqlite3PagerWrite($379)|0); + HEAP32[$12>>2] = $380; + $381 = HEAP32[$12>>2]|0; + $382 = ($381|0)!=(0); + if ($382) { + $383 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $383; + $485 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($485|0); + } + $384 = HEAP32[$6>>2]|0; + $385 = ((($384)) + 44|0); + $386 = HEAP32[$385>>2]|0; + $387 = (($386) + 1)|0; + HEAP32[$385>>2] = $387; + $388 = HEAP32[$6>>2]|0; + $389 = ((($388)) + 44|0); + $390 = HEAP32[$389>>2]|0; + $391 = HEAP32[482]|0; + $392 = HEAP32[$6>>2]|0; + $393 = ((($392)) + 32|0); + $394 = HEAP32[$393>>2]|0; + $395 = (($391>>>0) / ($394>>>0))&-1; + $396 = (($395) + 1)|0; + $397 = ($390|0)==($396|0); + if ($397) { + $398 = HEAP32[$6>>2]|0; + $399 = ((($398)) + 44|0); + $400 = HEAP32[$399>>2]|0; + $401 = (($400) + 1)|0; + HEAP32[$399>>2] = $401; + } + $402 = HEAP32[$6>>2]|0; + $403 = ((($402)) + 17|0); + $404 = HEAP8[$403>>0]|0; + $405 = $404&255; + $406 = ($405|0)!=(0); + do { + if ($406) { + $407 = HEAP32[$6>>2]|0; + $408 = HEAP32[$6>>2]|0; + $409 = ((($408)) + 44|0); + $410 = HEAP32[$409>>2]|0; + $411 = (_ptrmapPageno($407,$410)|0); + $412 = HEAP32[$6>>2]|0; + $413 = ((($412)) + 44|0); + $414 = HEAP32[$413>>2]|0; + $415 = ($411|0)==($414|0); + if ($415) { + HEAP32[$32>>2] = 0; + $416 = HEAP32[$6>>2]|0; + $417 = HEAP32[$6>>2]|0; + $418 = ((($417)) + 44|0); + $419 = HEAP32[$418>>2]|0; + $420 = HEAP32[$31>>2]|0; + $421 = (_btreeGetUnusedPage($416,$419,$32,$420)|0); + HEAP32[$12>>2] = $421; + $422 = HEAP32[$12>>2]|0; + $423 = ($422|0)==(0); + if ($423) { + $424 = HEAP32[$32>>2]|0; + $425 = ((($424)) + 72|0); + $426 = HEAP32[$425>>2]|0; + $427 = (_sqlite3PagerWrite($426)|0); + HEAP32[$12>>2] = $427; + $428 = HEAP32[$32>>2]|0; + _releasePage($428); + } + $429 = HEAP32[$12>>2]|0; + $430 = ($429|0)!=(0); + if ($430) { + $431 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $431; + $485 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($485|0); + } else { + $432 = HEAP32[$6>>2]|0; + $433 = ((($432)) + 44|0); + $434 = HEAP32[$433>>2]|0; + $435 = (($434) + 1)|0; + HEAP32[$433>>2] = $435; + $436 = HEAP32[$6>>2]|0; + $437 = ((($436)) + 44|0); + $438 = HEAP32[$437>>2]|0; + $439 = HEAP32[482]|0; + $440 = HEAP32[$6>>2]|0; + $441 = ((($440)) + 32|0); + $442 = HEAP32[$441>>2]|0; + $443 = (($439>>>0) / ($442>>>0))&-1; + $444 = (($443) + 1)|0; + $445 = ($438|0)==($444|0); + if (!($445)) { + break; + } + $446 = HEAP32[$6>>2]|0; + $447 = ((($446)) + 44|0); + $448 = HEAP32[$447>>2]|0; + $449 = (($448) + 1)|0; + HEAP32[$447>>2] = $449; + break; + } + } + } + } while(0); + $450 = HEAP32[$6>>2]|0; + $451 = ((($450)) + 12|0); + $452 = HEAP32[$451>>2]|0; + $453 = ((($452)) + 56|0); + $454 = HEAP32[$453>>2]|0; + $455 = ((($454)) + 28|0); + $456 = HEAP32[$6>>2]|0; + $457 = ((($456)) + 44|0); + $458 = HEAP32[$457>>2]|0; + _sqlite3Put4byte($455,$458); + $459 = HEAP32[$6>>2]|0; + $460 = ((($459)) + 44|0); + $461 = HEAP32[$460>>2]|0; + $462 = HEAP32[$8>>2]|0; + HEAP32[$462>>2] = $461; + $463 = HEAP32[$6>>2]|0; + $464 = HEAP32[$8>>2]|0; + $465 = HEAP32[$464>>2]|0; + $466 = HEAP32[$7>>2]|0; + $467 = HEAP32[$31>>2]|0; + $468 = (_btreeGetUnusedPage($463,$465,$466,$467)|0); + HEAP32[$12>>2] = $468; + $469 = HEAP32[$12>>2]|0; + $470 = ($469|0)!=(0); + if ($470) { + $471 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $471; + $485 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($485|0); + } else { + $472 = HEAP32[$7>>2]|0; + $473 = HEAP32[$472>>2]|0; + $474 = ((($473)) + 72|0); + $475 = HEAP32[$474>>2]|0; + $476 = (_sqlite3PagerWrite($475)|0); + HEAP32[$12>>2] = $476; + $477 = HEAP32[$12>>2]|0; + $478 = ($477|0)!=(0); + if (!($478)) { + break; + } + $479 = HEAP32[$7>>2]|0; + $480 = HEAP32[$479>>2]|0; + _releasePage($480); + $481 = HEAP32[$7>>2]|0; + HEAP32[$481>>2] = 0; + break; + } } } while(0); - $262 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $262; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); -} -function _fts3auxEofMethod($pCursor) { - $pCursor = $pCursor|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $pCsr = 0, label = 0, sp = 0; + $482 = HEAP32[$15>>2]|0; + _releasePage($482); + $483 = HEAP32[$16>>2]|0; + _releasePage($483); + $484 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $484; + $485 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($485|0); +} +function _releasePage($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pCursor; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $1; - $2 = HEAP32[$pCsr>>2]|0; - $3 = ((($2)) + 88|0); - $4 = HEAP32[$3>>2]|0; - STACKTOP = sp;return ($4|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + STACKTOP = sp;return; + } + $4 = HEAP32[$1>>2]|0; + _releasePageNotNull($4); + STACKTOP = sp;return; } -function _fts3auxColumnMethod($pCursor,$pCtx,$iCol) { - $pCursor = $pCursor|0; - $pCtx = $pCtx|0; - $iCol = $iCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _btreeGetPage($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pCursor; - HEAP32[$1>>2] = $pCtx; - HEAP32[$2>>2] = $iCol; - $3 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$2>>2]|0; - switch ($4|0) { - case 0: { - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 4|0); - $8 = ((($7)) + 40|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 4|0); - $12 = ((($11)) + 44|0); - $13 = HEAP32[$12>>2]|0; - _sqlite3_result_text($5,$9,$13,(-1)); - STACKTOP = sp;return 0; - break; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = (_sqlite3PagerGet($12,$13,$10,$14)|0); + HEAP32[$9>>2] = $15; + $16 = HEAP32[$9>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + $18 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $18; + $24 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($24|0); + } else { + $19 = HEAP32[$10>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = (_btreePageFromDbPage($19,$20,$21)|0); + $23 = HEAP32[$7>>2]|0; + HEAP32[$23>>2] = $22; + HEAP32[$4>>2] = 0; + $24 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($24|0); } - case 1: { - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 104|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(0); - $18 = HEAP32[$1>>2]|0; - if ($17) { - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 104|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) - 1)|0; - _sqlite3_result_int($18,$22); - STACKTOP = sp;return 0; + return (0)|0; +} +function _relocatePage($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 44|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP8[$9>>0] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $18 = HEAP32[$8>>2]|0; + $19 = ((($18)) + 84|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$14>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$15>>2] = $22; + $23 = HEAP32[$15>>2]|0; + $24 = HEAP32[$8>>2]|0; + $25 = ((($24)) + 72|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$11>>2]|0; + $28 = HEAP32[$12>>2]|0; + $29 = (_sqlite3PagerMovepage($23,$26,$27,$28)|0); + HEAP32[$16>>2] = $29; + $30 = HEAP32[$16>>2]|0; + $31 = ($30|0)!=(0); + if ($31) { + $32 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $32; + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); + } + $33 = HEAP32[$11>>2]|0; + $34 = HEAP32[$8>>2]|0; + $35 = ((($34)) + 84|0); + HEAP32[$35>>2] = $33; + $36 = HEAP8[$9>>0]|0; + $37 = $36&255; + $38 = ($37|0)==(5); + if ($38) { + label = 5; + } else { + $39 = HEAP8[$9>>0]|0; + $40 = $39&255; + $41 = ($40|0)==(1); + if ($41) { + label = 5; } else { - _sqlite3_result_text($18,25451,-1,0); - STACKTOP = sp;return 0; + $47 = HEAP32[$8>>2]|0; + $48 = ((($47)) + 56|0); + $49 = HEAP32[$48>>2]|0; + $50 = (_sqlite3Get4byte($49)|0); + HEAP32[$17>>2] = $50; + $51 = HEAP32[$17>>2]|0; + $52 = ($51|0)!=(0); + if ($52) { + $53 = HEAP32[$7>>2]|0; + $54 = HEAP32[$17>>2]|0; + $55 = HEAP32[$11>>2]|0; + _ptrmapPut($53,$54,4,$55,$16); + $56 = HEAP32[$16>>2]|0; + $57 = ($56|0)!=(0); + if ($57) { + $58 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $58; + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); + } + } } - break; - } - case 2: { - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 104|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$p>>2]|0; - $28 = ((($27)) + 112|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + ($26<<4)|0); - $31 = $30; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - _sqlite3_result_int64($23,$33,$36); - STACKTOP = sp;return 0; - break; - } - case 3: { - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$p>>2]|0; - $39 = ((($38)) + 104|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$p>>2]|0; - $42 = ((($41)) + 112|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + ($40<<4)|0); - $45 = ((($44)) + 8|0); - $46 = $45; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (($46) + 4)|0; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - _sqlite3_result_int64($37,$48,$51); - STACKTOP = sp;return 0; - break; - } - default: { - $52 = HEAP32[$1>>2]|0; - $53 = HEAP32[$p>>2]|0; - $54 = ((($53)) + 84|0); - $55 = HEAP32[$54>>2]|0; - _sqlite3_result_int($52,$55); - STACKTOP = sp;return 0; } + if ((label|0) == 5) { + $42 = HEAP32[$8>>2]|0; + $43 = (_setChildPtrmaps($42)|0); + HEAP32[$16>>2] = $43; + $44 = HEAP32[$16>>2]|0; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $46; + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); + } } - return (0)|0; + $59 = HEAP8[$9>>0]|0; + $60 = $59&255; + $61 = ($60|0)!=(1); + do { + if ($61) { + $62 = HEAP32[$7>>2]|0; + $63 = HEAP32[$10>>2]|0; + $64 = (_btreeGetPage($62,$63,$13,0)|0); + HEAP32[$16>>2] = $64; + $65 = HEAP32[$16>>2]|0; + $66 = ($65|0)!=(0); + if ($66) { + $67 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $67; + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); + } + $68 = HEAP32[$13>>2]|0; + $69 = ((($68)) + 72|0); + $70 = HEAP32[$69>>2]|0; + $71 = (_sqlite3PagerWrite($70)|0); + HEAP32[$16>>2] = $71; + $72 = HEAP32[$16>>2]|0; + $73 = ($72|0)!=(0); + $74 = HEAP32[$13>>2]|0; + if ($73) { + _releasePage($74); + $75 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $75; + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); + } else { + $76 = HEAP32[$14>>2]|0; + $77 = HEAP32[$11>>2]|0; + $78 = HEAP8[$9>>0]|0; + $79 = (_modifyPagePointer($74,$76,$77,$78)|0); + HEAP32[$16>>2] = $79; + $80 = HEAP32[$13>>2]|0; + _releasePage($80); + $81 = HEAP32[$16>>2]|0; + $82 = ($81|0)==(0); + if (!($82)) { + break; + } + $83 = HEAP32[$7>>2]|0; + $84 = HEAP32[$11>>2]|0; + $85 = HEAP8[$9>>0]|0; + $86 = HEAP32[$10>>2]|0; + _ptrmapPut($83,$84,$85,$86,$16); + break; + } + } + } while(0); + $87 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $87; + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); } -function _fts3auxRowidMethod($pCursor,$pRowid) { - $pCursor = $pCursor|0; - $pRowid = $pRowid|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCsr = 0, label = 0, sp = 0; +function _sqlite3PagerMovepage($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pCursor; - HEAP32[$1>>2] = $pRowid; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $2; - $3 = HEAP32[$pCsr>>2]|0; - $4 = ((($3)) + 96|0); - $5 = $4; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = (($5) + 4)|0; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = $11; - $13 = $12; - HEAP32[$13>>2] = $7; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = $10; - STACKTOP = sp;return 0; -} -function _fts3auxGrowStatArray($pCsr,$nSize) { - $pCsr = $pCsr|0; - $nSize = $nSize|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aNew = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $aNew = sp; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $nSize; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 108|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)>($6|0); + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$10>>2] = 0; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 13|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if ($17) { + $18 = HEAP32[$6>>2]|0; + $19 = (_sqlite3PagerWrite($18)|0); + HEAP32[$11>>2] = $19; + $20 = HEAP32[$11>>2]|0; + $21 = ($20|0)!=(0); + if ($21) { + $22 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $22; + $119 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($119|0); + } + } + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 24|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = $26 & 2; + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$6>>2]|0; + $30 = (_subjournalPageIfRequired($29)|0); + HEAP32[$11>>2] = $30; + $31 = (0)!=($30|0); + if ($31) { + $32 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $32; + $119 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($119|0); + } + } + $33 = HEAP32[$6>>2]|0; + $34 = ((($33)) + 24|0); + $35 = HEAP16[$34>>1]|0; + $36 = $35&65535; + $37 = $36 & 8; + $38 = ($37|0)==(0); + $39 = HEAP32[$8>>2]|0; + $40 = ($39|0)!=(0); + $or$cond = $38 | $40; + if (!($or$cond)) { + $41 = HEAP32[$6>>2]|0; + $42 = ((($41)) + 20|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$10>>2] = $43; + } + $44 = HEAP32[$6>>2]|0; + $45 = ((($44)) + 24|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = $47 & -9; + $49 = $48&65535; + HEAP16[$45>>1] = $49; + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = (_sqlite3PagerLookup($50,$51)|0); + HEAP32[$9>>2] = $52; + $53 = HEAP32[$9>>2]|0; + $54 = ($53|0)!=(0|0); do { - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 112|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = $11<<4; - $13 = (_sqlite3_realloc($10,$12)|0); - HEAP32[$aNew>>2] = $13; - $14 = HEAP32[$aNew>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 108|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$aNew>>2]|0; - $20 = (($19) + ($18<<4)|0); - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 108|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($21) - ($24))|0; - $26 = $25<<4; - _memset(($20|0),0,($26|0))|0; - $27 = HEAP32[$aNew>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 112|0); - HEAP32[$29>>2] = $27; - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 108|0); - HEAP32[$32>>2] = $30; + if ($54) { + $55 = HEAP32[$9>>2]|0; + $56 = ((($55)) + 24|0); + $57 = HEAP16[$56>>1]|0; + $58 = $57&65535; + $59 = $58 & 8; + $60 = HEAP32[$6>>2]|0; + $61 = ((($60)) + 24|0); + $62 = HEAP16[$61>>1]|0; + $63 = $62&65535; + $64 = $63 | $59; + $65 = $64&65535; + HEAP16[$61>>1] = $65; + $66 = HEAP32[$5>>2]|0; + $67 = ((($66)) + 13|0); + $68 = HEAP8[$67>>0]|0; + $69 = ($68<<24>>24)!=(0); + $70 = HEAP32[$9>>2]|0; + if ($69) { + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73) + 1)|0; + _sqlite3PcacheMove($70,$74); + break; + } else { + _sqlite3PcacheDrop($70); break; } - HEAP32[$0>>2] = 7; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); } } while(0); - HEAP32[$0>>2] = 0; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); + $75 = HEAP32[$6>>2]|0; + $76 = ((($75)) + 20|0); + $77 = HEAP32[$76>>2]|0; + HEAP32[$12>>2] = $77; + $78 = HEAP32[$6>>2]|0; + $79 = HEAP32[$7>>2]|0; + _sqlite3PcacheMove($78,$79); + $80 = HEAP32[$6>>2]|0; + _sqlite3PcacheMakeDirty($80); + $81 = HEAP32[$5>>2]|0; + $82 = ((($81)) + 13|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = ($84|0)!=(0); + $86 = HEAP32[$9>>2]|0; + $87 = ($86|0)!=(0|0); + $or$cond3 = $85 & $87; + if ($or$cond3) { + $88 = HEAP32[$9>>2]|0; + $89 = HEAP32[$12>>2]|0; + _sqlite3PcacheMove($88,$89); + $90 = HEAP32[$9>>2]|0; + _sqlite3PagerUnrefNotNull($90); + } + $91 = HEAP32[$10>>2]|0; + $92 = ($91|0)!=(0); + do { + if ($92) { + $93 = HEAP32[$5>>2]|0; + $94 = HEAP32[$10>>2]|0; + $95 = (_sqlite3PagerGet($93,$94,$13,0)|0); + HEAP32[$11>>2] = $95; + $96 = HEAP32[$11>>2]|0; + $97 = ($96|0)!=(0); + if (!($97)) { + $111 = HEAP32[$13>>2]|0; + $112 = ((($111)) + 24|0); + $113 = HEAP16[$112>>1]|0; + $114 = $113&65535; + $115 = $114 | 8; + $116 = $115&65535; + HEAP16[$112>>1] = $116; + $117 = HEAP32[$13>>2]|0; + _sqlite3PcacheMakeDirty($117); + $118 = HEAP32[$13>>2]|0; + _sqlite3PagerUnrefNotNull($118); + break; + } + $98 = HEAP32[$10>>2]|0; + $99 = HEAP32[$5>>2]|0; + $100 = ((($99)) + 32|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($98>>>0)<=($101>>>0); + if ($102) { + $103 = HEAP32[$5>>2]|0; + $104 = ((($103)) + 60|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$10>>2]|0; + $107 = HEAP32[$5>>2]|0; + $108 = ((($107)) + 208|0); + $109 = HEAP32[$108>>2]|0; + _sqlite3BitvecClear($105,$106,$109); + } + $110 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $110; + $119 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($119|0); + } + } while(0); + HEAP32[$4>>2] = 0; + $119 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($119|0); } -function _unicodeCreate($nArg,$azArg,$pp) { - $nArg = $nArg|0; - $azArg = $azArg|0; - $pp = $pp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, $pNew = 0, $rc = 0, $z = 0, label = 0, sp = 0; +function _setChildPtrmaps($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $pNew = sp + 16|0; - $i = sp + 12|0; - $rc = sp + 8|0; - $z = sp + 4|0; - $n = sp; - HEAP32[$1>>2] = $nArg; - HEAP32[$2>>2] = $azArg; - HEAP32[$3>>2] = $pp; - HEAP32[$rc>>2] = 0; - $4 = (_sqlite3_malloc(16)|0); - HEAP32[$pNew>>2] = $4; - $5 = HEAP32[$pNew>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - HEAP32[$0>>2] = 7; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + $1 = sp + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 36|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$1>>2] = $0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 52|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$1>>2]|0; + $15 = HEAP8[$14>>0]|0; + HEAP8[$6>>0] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 84|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$7>>2] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = (_btreeInitPage($19)|0); + HEAP32[$4>>2] = $20; + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)!=(0); + if ($22) { + $87 = HEAP8[$6>>0]|0; + $88 = HEAP32[$1>>2]|0; + HEAP8[$88>>0] = $87; + $89 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($89|0); } - $7 = HEAP32[$pNew>>2]|0; - ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0; - $8 = HEAP32[$pNew>>2]|0; - $9 = ((($8)) + 4|0); - HEAP32[$9>>2] = 1; - HEAP32[$i>>2] = 0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 18|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + HEAP32[$3>>2] = $26; + HEAP32[$2>>2] = 0; while(1) { - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - if (!($11)) { - break; - } - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ($12|0)<($13|0); - if (!($14)) { + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = ($27|0)<($28|0); + $30 = HEAP32[$1>>2]|0; + if (!($29)) { break; } - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = (($16) + ($15<<2)|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$z>>2] = $18; - $19 = HEAP32[$z>>2]|0; - $20 = (_strlen($19)|0); - HEAP32[$n>>2] = $20; - $21 = HEAP32[$n>>2]|0; - $22 = ($21|0)==(19); - if ($22) { - $23 = HEAP32[$z>>2]|0; - $24 = (_memcmp(25728,$23,19)|0); - $25 = ($24|0)==(0); - if ($25) { - $26 = HEAP32[$pNew>>2]|0; - $27 = ((($26)) + 4|0); - HEAP32[$27>>2] = 1; - } else { - label = 9; - } - } else { - label = 9; + $31 = ((($30)) + 56|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 20|0); + $35 = HEAP16[$34>>1]|0; + $36 = $35&65535; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 64|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$2>>2]|0; + $41 = $40<<1; + $42 = (($39) + ($41)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + $45 = $44 << 8; + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 64|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$2>>2]|0; + $50 = $49<<1; + $51 = (($48) + ($50)|0); + $52 = ((($51)) + 1|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = $45 | $54; + $56 = $36 & $55; + $57 = (($32) + ($56)|0); + HEAP32[$8>>2] = $57; + $58 = HEAP32[$1>>2]|0; + $59 = HEAP32[$8>>2]|0; + _ptrmapPutOvflPtr($58,$59,$4); + $60 = HEAP32[$1>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP8[$61>>0]|0; + $63 = ($62<<24>>24)!=(0); + if (!($63)) { + $64 = HEAP32[$8>>2]|0; + $65 = (_sqlite3Get4byte($64)|0); + HEAP32[$9>>2] = $65; + $66 = HEAP32[$5>>2]|0; + $67 = HEAP32[$9>>2]|0; + $68 = HEAP32[$7>>2]|0; + _ptrmapPut($66,$67,5,$68,$4); } - do { - if ((label|0) == 9) { - label = 0; - $28 = HEAP32[$n>>2]|0; - $29 = ($28|0)==(19); - if ($29) { - $30 = HEAP32[$z>>2]|0; - $31 = (_memcmp(25748,$30,19)|0); - $32 = ($31|0)==(0); - if ($32) { - $33 = HEAP32[$pNew>>2]|0; - $34 = ((($33)) + 4|0); - HEAP32[$34>>2] = 0; - break; - } - } - $35 = HEAP32[$n>>2]|0; - $36 = ($35|0)>=(11); - if ($36) { - $37 = HEAP32[$z>>2]|0; - $38 = (_memcmp(25768,$37,11)|0); - $39 = ($38|0)==(0); - if ($39) { - $40 = HEAP32[$pNew>>2]|0; - $41 = HEAP32[$z>>2]|0; - $42 = ((($41)) + 11|0); - $43 = HEAP32[$n>>2]|0; - $44 = (($43) - 11)|0; - $45 = (_unicodeAddExceptions($40,1,$42,$44)|0); - HEAP32[$rc>>2] = $45; - break; - } - } - $46 = HEAP32[$n>>2]|0; - $47 = ($46|0)>=(11); - if ($47) { - $48 = HEAP32[$z>>2]|0; - $49 = (_memcmp(25780,$48,11)|0); - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP32[$pNew>>2]|0; - $52 = HEAP32[$z>>2]|0; - $53 = ((($52)) + 11|0); - $54 = HEAP32[$n>>2]|0; - $55 = (($54) - 11)|0; - $56 = (_unicodeAddExceptions($51,0,$53,$55)|0); - HEAP32[$rc>>2] = $56; - break; - } - } - HEAP32[$rc>>2] = 1; - } - } while(0); - $57 = HEAP32[$i>>2]|0; - $58 = (($57) + 1)|0; - HEAP32[$i>>2] = $58; + $69 = HEAP32[$2>>2]|0; + $70 = (($69) + 1)|0; + HEAP32[$2>>2] = $70; } - $59 = HEAP32[$rc>>2]|0; - $60 = ($59|0)!=(0); - if ($60) { - $61 = HEAP32[$pNew>>2]|0; - (_unicodeDestroy($61)|0); - HEAP32[$pNew>>2] = 0; + $71 = ((($30)) + 4|0); + $72 = HEAP8[$71>>0]|0; + $73 = ($72<<24>>24)!=(0); + if ($73) { + $87 = HEAP8[$6>>0]|0; + $88 = HEAP32[$1>>2]|0; + HEAP8[$88>>0] = $87; + $89 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($89|0); } - $62 = HEAP32[$pNew>>2]|0; - $63 = HEAP32[$3>>2]|0; - HEAP32[$63>>2] = $62; - $64 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $64; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + $74 = HEAP32[$1>>2]|0; + $75 = ((($74)) + 56|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$1>>2]|0; + $78 = ((($77)) + 5|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = (($80) + 8)|0; + $82 = (($76) + ($81)|0); + $83 = (_sqlite3Get4byte($82)|0); + HEAP32[$10>>2] = $83; + $84 = HEAP32[$5>>2]|0; + $85 = HEAP32[$10>>2]|0; + $86 = HEAP32[$7>>2]|0; + _ptrmapPut($84,$85,5,$86,$4); + $87 = HEAP8[$6>>0]|0; + $88 = HEAP32[$1>>2]|0; + HEAP8[$88>>0] = $87; + $89 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($89|0); } -function _unicodeDestroy($pTokenizer) { - $pTokenizer = $pTokenizer|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $p = 0, label = 0, sp = 0; +function _ptrmapPut($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pTokenizer; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return 0; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 36|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP8[$7>>0] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $15 = HEAP32[$9>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + STACKTOP = sp;return; } - $3 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - _sqlite3_free($6); - $7 = HEAP32[$p>>2]|0; - _sqlite3_free($7); - STACKTOP = sp;return 0; -} -function _unicodeOpen($p,$aInput,$nInput,$pp) { - $p = $p|0; - $aInput = $aInput|0; - $nInput = $nInput|0; - $pp = $pp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCsr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $pCsr = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $aInput; - HEAP32[$3>>2] = $nInput; - HEAP32[$4>>2] = $pp; - $5 = (_sqlite3_malloc(28)|0); - HEAP32[$pCsr>>2] = $5; - $6 = HEAP32[$pCsr>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - HEAP32[$0>>2] = 7; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); + $18 = HEAP32[$6>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $20 = (_sqlite3CorruptError(59184)|0); + $21 = HEAP32[$9>>2]|0; + HEAP32[$21>>2] = $20; + STACKTOP = sp;return; } - $8 = HEAP32[$pCsr>>2]|0; - ;HEAP32[$8>>2]=0|0;HEAP32[$8+4>>2]=0|0;HEAP32[$8+8>>2]=0|0;HEAP32[$8+12>>2]=0|0;HEAP32[$8+16>>2]=0|0;HEAP32[$8+20>>2]=0|0;HEAP32[$8+24>>2]=0|0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$pCsr>>2]|0; - $11 = ((($10)) + 4|0); - HEAP32[$11>>2] = $9; - $12 = HEAP32[$2>>2]|0; - $13 = ($12|0)==(0|0); + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = (_ptrmapPageno($22,$23)|0); + HEAP32[$12>>2] = $24; + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$12>>2]|0; + $28 = (_sqlite3PagerGet($26,$27,$10,0)|0); + HEAP32[$14>>2] = $28; + $29 = HEAP32[$14>>2]|0; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$14>>2]|0; + $32 = HEAP32[$9>>2]|0; + HEAP32[$32>>2] = $31; + STACKTOP = sp;return; + } + $33 = HEAP32[$6>>2]|0; + $34 = HEAP32[$12>>2]|0; + $35 = (($33) - ($34))|0; + $36 = (($35) - 1)|0; + $37 = ($36*5)|0; + HEAP32[$13>>2] = $37; + $38 = HEAP32[$13>>2]|0; + $39 = ($38|0)<(0); do { - if ($13) { - $14 = HEAP32[$pCsr>>2]|0; - $15 = ((($14)) + 8|0); - HEAP32[$15>>2] = 0; + if ($39) { + $40 = (_sqlite3CorruptError(59195)|0); + $41 = HEAP32[$9>>2]|0; + HEAP32[$41>>2] = $40; } else { - $16 = HEAP32[$3>>2]|0; - $17 = ($16|0)<(0); - if ($17) { - $18 = HEAP32[$2>>2]|0; - $19 = (_strlen($18)|0); - $20 = HEAP32[$pCsr>>2]|0; - $21 = ((($20)) + 8|0); - HEAP32[$21>>2] = $19; - break; - } else { - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$pCsr>>2]|0; - $24 = ((($23)) + 8|0); - HEAP32[$24>>2] = $22; - break; + $42 = HEAP32[$10>>2]|0; + $43 = (_sqlite3PagerGetData($42)|0); + HEAP32[$11>>2] = $43; + $44 = HEAP8[$7>>0]|0; + $45 = $44&255; + $46 = HEAP32[$11>>2]|0; + $47 = HEAP32[$13>>2]|0; + $48 = (($46) + ($47)|0); + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + $51 = ($45|0)!=($50|0); + if (!($51)) { + $52 = HEAP32[$11>>2]|0; + $53 = HEAP32[$13>>2]|0; + $54 = (($53) + 1)|0; + $55 = (($52) + ($54)|0); + $56 = (_sqlite3Get4byte($55)|0); + $57 = HEAP32[$8>>2]|0; + $58 = ($56|0)!=($57|0); + if (!($58)) { + break; + } + } + $59 = HEAP32[$10>>2]|0; + $60 = (_sqlite3PagerWrite($59)|0); + HEAP32[$14>>2] = $60; + $61 = HEAP32[$9>>2]|0; + HEAP32[$61>>2] = $60; + $62 = HEAP32[$14>>2]|0; + $63 = ($62|0)==(0); + if ($63) { + $64 = HEAP8[$7>>0]|0; + $65 = HEAP32[$11>>2]|0; + $66 = HEAP32[$13>>2]|0; + $67 = (($65) + ($66)|0); + HEAP8[$67>>0] = $64; + $68 = HEAP32[$11>>2]|0; + $69 = HEAP32[$13>>2]|0; + $70 = (($69) + 1)|0; + $71 = (($68) + ($70)|0); + $72 = HEAP32[$8>>2]|0; + _sqlite3Put4byte($71,$72); } } } while(0); - $25 = HEAP32[$pCsr>>2]|0; - $26 = HEAP32[$4>>2]|0; - HEAP32[$26>>2] = $25; - HEAP32[$0>>2] = 0; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); -} -function _unicodeClose($pCursor) { - $pCursor = $pCursor|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $pCsr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pCsr = sp; - HEAP32[$0>>2] = $pCursor; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCsr>>2] = $1; - $2 = HEAP32[$pCsr>>2]|0; - $3 = ((($2)) + 20|0); - $4 = HEAP32[$3>>2]|0; - _sqlite3_free($4); - $5 = HEAP32[$pCsr>>2]|0; - _sqlite3_free($5); - STACKTOP = sp;return 0; + $73 = HEAP32[$10>>2]|0; + _sqlite3PagerUnref($73); + STACKTOP = sp;return; } -function _unicodeNext($pC,$paToken,$pnToken,$piStart,$piEnd,$piPos) { - $pC = $pC|0; - $paToken = $paToken|0; - $pnToken = $pnToken|0; - $piStart = $piStart|0; - $piEnd = $piEnd|0; - $piPos = $piPos|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iCode = 0, $iOut = 0, $p = 0, $pCsr = 0, $z = 0, $zEnd = 0; - var $zNew = 0, $zOut = 0, $zStart = 0, $zTerm = 0, label = 0, sp = 0; +function _modifyPagePointer($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $4 = sp + 48|0; - $5 = sp + 44|0; - $6 = sp + 40|0; - $pCsr = sp + 36|0; - $p = sp + 32|0; - $iCode = sp + 28|0; - $zOut = sp + 24|0; - $z = sp + 20|0; - $zStart = sp + 16|0; - $zEnd = sp + 12|0; - $zTerm = sp + 8|0; - $iOut = sp + 4|0; - $zNew = sp; - HEAP32[$1>>2] = $pC; - HEAP32[$2>>2] = $paToken; - HEAP32[$3>>2] = $pnToken; - HEAP32[$4>>2] = $piStart; - HEAP32[$5>>2] = $piEnd; - HEAP32[$6>>2] = $piPos; - $7 = HEAP32[$1>>2]|0; - HEAP32[$pCsr>>2] = $7; - $8 = HEAP32[$pCsr>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$p>>2] = $9; - HEAP32[$iCode>>2] = 0; - $10 = HEAP32[$pCsr>>2]|0; - $11 = ((($10)) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$pCsr>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($12)|0); - HEAP32[$z>>2] = $16; - $17 = HEAP32[$z>>2]|0; - HEAP32[$zStart>>2] = $17; - $18 = HEAP32[$pCsr>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$pCsr>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($20)|0); - HEAP32[$zTerm>>2] = $24; - while(1) { - $25 = HEAP32[$z>>2]|0; - $26 = HEAP32[$zTerm>>2]|0; - $27 = ($25>>>0)<($26>>>0); - if (!($27)) { - break; - } - $28 = HEAP32[$z>>2]|0; - $29 = ((($28)) + 1|0); - HEAP32[$z>>2] = $29; - $30 = HEAP8[$28>>0]|0; - $31 = $30&255; - HEAP32[$iCode>>2] = $31; - $32 = HEAP32[$iCode>>2]|0; - $33 = ($32|0)>=(192); - do { + STACKTOP = STACKTOP + 64|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 57|0; + $9 = sp + 56|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP8[$8>>0] = $3; + $15 = HEAP8[$8>>0]|0; + $16 = $15&255; + $17 = ($16|0)==(4); + $18 = HEAP32[$5>>2]|0; + do { + if ($17) { + $19 = ((($18)) + 56|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3Get4byte($20)|0); + $22 = HEAP32[$6>>2]|0; + $23 = ($21|0)!=($22|0); + if (!($23)) { + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$7>>2]|0; + _sqlite3Put4byte($27,$28); + break; + } + $24 = (_sqlite3CorruptError(61581)|0); + HEAP32[$4>>2] = $24; + $154 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($154|0); + } else { + $29 = HEAP8[$18>>0]|0; + HEAP8[$9>>0] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = (_btreeInitPage($30)|0); + HEAP32[$12>>2] = $31; + $32 = HEAP32[$12>>2]|0; + $33 = ($32|0)!=(0); if ($33) { - $34 = HEAP32[$iCode>>2]|0; - $35 = (($34) - 192)|0; - $36 = (25563 + ($35)|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - HEAP32[$iCode>>2] = $38; - while(1) { - $39 = HEAP32[$z>>2]|0; - $40 = HEAP32[$zTerm>>2]|0; - $41 = ($39|0)!=($40|0); - if ($41) { - $42 = HEAP32[$z>>2]|0; - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = $44 & 192; - $46 = ($45|0)==(128); - $292 = $46; - } else { - $292 = 0; + $34 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $34; + $154 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($154|0); + } + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 18|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37&65535; + HEAP32[$11>>2] = $38; + HEAP32[$10>>2] = 0; + while(1) { + $39 = HEAP32[$10>>2]|0; + $40 = HEAP32[$11>>2]|0; + $41 = ($39|0)<($40|0); + if (!($41)) { + break; + } + $42 = HEAP32[$5>>2]|0; + $43 = ((($42)) + 56|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$5>>2]|0; + $46 = ((($45)) + 20|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47&65535; + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 64|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$10>>2]|0; + $53 = $52<<1; + $54 = (($51) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = $56 << 8; + $58 = HEAP32[$5>>2]|0; + $59 = ((($58)) + 64|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$10>>2]|0; + $62 = $61<<1; + $63 = (($60) + ($62)|0); + $64 = ((($63)) + 1|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = $57 | $66; + $68 = $48 & $67; + $69 = (($44) + ($68)|0); + HEAP32[$13>>2] = $69; + $70 = HEAP8[$8>>0]|0; + $71 = $70&255; + $72 = ($71|0)==(3); + if ($72) { + $73 = HEAP32[$5>>2]|0; + $74 = ((($73)) + 80|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$13>>2]|0; + FUNCTION_TABLE_viii[$75 & 255]($76,$77,$14); + $78 = ((($14)) + 16|0); + $79 = HEAP16[$78>>1]|0; + $80 = $79&65535; + $81 = ((($14)) + 12|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($80>>>0)<($82>>>0); + if ($83) { + $84 = HEAP32[$13>>2]|0; + $85 = ((($14)) + 18|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = (($84) + ($87)|0); + $89 = ((($88)) + -1|0); + $90 = HEAP32[$5>>2]|0; + $91 = ((($90)) + 56|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$5>>2]|0; + $94 = ((($93)) + 20|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95&65535; + $97 = (($92) + ($96)|0); + $98 = ($89>>>0)<=($97>>>0); + if ($98) { + $99 = HEAP32[$6>>2]|0; + $100 = HEAP32[$13>>2]|0; + $101 = ((($14)) + 18|0); + $102 = HEAP16[$101>>1]|0; + $103 = $102&65535; + $104 = (($100) + ($103)|0); + $105 = ((($104)) + -4|0); + $106 = (_sqlite3Get4byte($105)|0); + $107 = ($99|0)==($106|0); + if ($107) { + label = 13; + break; + } + } } - $47 = HEAP32[$iCode>>2]|0; - if (!($292)) { + } else { + $115 = HEAP32[$13>>2]|0; + $116 = (_sqlite3Get4byte($115)|0); + $117 = HEAP32[$6>>2]|0; + $118 = ($116|0)==($117|0); + if ($118) { + label = 15; break; } - $48 = $47 << 6; - $49 = HEAP32[$z>>2]|0; - $50 = ((($49)) + 1|0); - HEAP32[$z>>2] = $50; - $51 = HEAP8[$49>>0]|0; - $52 = $51&255; - $53 = 63 & $52; - $54 = (($48) + ($53))|0; - HEAP32[$iCode>>2] = $54; } - $55 = ($47|0)<(128); - if (!($55)) { - $56 = HEAP32[$iCode>>2]|0; - $57 = $56 & -2048; - $58 = ($57|0)==(55296); - if (!($58)) { - $59 = HEAP32[$iCode>>2]|0; - $60 = $59 & -2; - $61 = ($60|0)==(65534); - if (!($61)) { + $121 = HEAP32[$10>>2]|0; + $122 = (($121) + 1)|0; + HEAP32[$10>>2] = $122; + } + if ((label|0) == 13) { + $108 = HEAP32[$13>>2]|0; + $109 = ((($14)) + 18|0); + $110 = HEAP16[$109>>1]|0; + $111 = $110&65535; + $112 = (($108) + ($111)|0); + $113 = ((($112)) + -4|0); + $114 = HEAP32[$7>>2]|0; + _sqlite3Put4byte($113,$114); + } + else if ((label|0) == 15) { + $119 = HEAP32[$13>>2]|0; + $120 = HEAP32[$7>>2]|0; + _sqlite3Put4byte($119,$120); + } + $123 = HEAP32[$10>>2]|0; + $124 = HEAP32[$11>>2]|0; + $125 = ($123|0)==($124|0); + do { + if ($125) { + $126 = HEAP8[$8>>0]|0; + $127 = $126&255; + $128 = ($127|0)!=(5); + if (!($128)) { + $129 = HEAP32[$5>>2]|0; + $130 = ((($129)) + 56|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$5>>2]|0; + $133 = ((($132)) + 5|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134&255; + $136 = (($135) + 8)|0; + $137 = (($131) + ($136)|0); + $138 = (_sqlite3Get4byte($137)|0); + $139 = HEAP32[$6>>2]|0; + $140 = ($138|0)!=($139|0); + if (!($140)) { + $142 = HEAP32[$5>>2]|0; + $143 = ((($142)) + 56|0); + $144 = HEAP32[$143>>2]|0; + $145 = HEAP32[$5>>2]|0; + $146 = ((($145)) + 5|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; + $149 = (($148) + 8)|0; + $150 = (($144) + ($149)|0); + $151 = HEAP32[$7>>2]|0; + _sqlite3Put4byte($150,$151); break; } } + $141 = (_sqlite3CorruptError(61617)|0); + HEAP32[$4>>2] = $141; + $154 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($154|0); } - HEAP32[$iCode>>2] = 65533; - } - } while(0); - $62 = HEAP32[$p>>2]|0; - $63 = HEAP32[$iCode>>2]|0; - $64 = (_unicodeIsAlnum($62,$63)|0); - $65 = ($64|0)!=(0); - if ($65) { - break; + } while(0); + $152 = HEAP8[$9>>0]|0; + $153 = HEAP32[$5>>2]|0; + HEAP8[$153>>0] = $152; } - $66 = HEAP32[$z>>2]|0; - HEAP32[$zStart>>2] = $66; + } while(0); + HEAP32[$4>>2] = 0; + $154 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($154|0); +} +function _ptrmapPutOvflPtr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp; + $7 = sp + 24|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0); + if ($10) { + STACKTOP = sp;return; } - $67 = HEAP32[$zStart>>2]|0; - $68 = HEAP32[$zTerm>>2]|0; - $69 = ($67>>>0)>=($68>>>0); - if ($69) { - HEAP32[$0>>2] = 101; - $291 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($291|0); + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 80|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$4>>2]|0; + FUNCTION_TABLE_viii[$13 & 255]($14,$15,$6); + $16 = ((($6)) + 16|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = ((($6)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($18>>>0)<($20>>>0); + if (!($21)) { + STACKTOP = sp;return; } - $70 = HEAP32[$pCsr>>2]|0; - $71 = ((($70)) + 20|0); - $72 = HEAP32[$71>>2]|0; - HEAP32[$zOut>>2] = $72; + $22 = HEAP32[$4>>2]|0; + $23 = ((($6)) + 18|0); + $24 = HEAP16[$23>>1]|0; + $25 = $24&65535; + $26 = (($25) - 4)|0; + $27 = (($22) + ($26)|0); + $28 = (_sqlite3Get4byte($27)|0); + HEAP32[$7>>2] = $28; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 52|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 84|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$5>>2]|0; + _ptrmapPut($31,$32,3,$35,$36); + STACKTOP = sp;return; +} +function _sqlite3PcacheMove($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 28|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[(152)>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 44|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + FUNCTION_TABLE_viiii[$8 & 255]($11,$13,$16,$17); + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 20|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 24|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23&65535; + $25 = $24 & 2; + $26 = ($25|0)!=(0); + if (!($26)) { + STACKTOP = sp;return; + } + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 24|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29&65535; + $31 = $30 & 8; + $32 = ($31|0)!=(0); + if (!($32)) { + STACKTOP = sp;return; + } + $33 = HEAP32[$2>>2]|0; + _pcacheManageDirtyList($33,3); + STACKTOP = sp;return; +} +function _sqlite3BitvecClear($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $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; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + STACKTOP = sp;return; + } + $12 = HEAP32[$4>>2]|0; + $13 = (($12) + -1)|0; + HEAP32[$4>>2] = $13; while(1) { - $73 = HEAP32[$zOut>>2]|0; - $74 = HEAP32[$pCsr>>2]|0; - $75 = ((($74)) + 20|0); - $76 = HEAP32[$75>>2]|0; - $77 = $73; - $78 = $76; - $79 = (($77) - ($78))|0; - $80 = HEAP32[$pCsr>>2]|0; - $81 = ((($80)) + 24|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82) - 4)|0; - $84 = ($79|0)>=($83|0); - if ($84) { - $85 = HEAP32[$pCsr>>2]|0; - $86 = ((($85)) + 20|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$pCsr>>2]|0; - $89 = ((($88)) + 24|0); - $90 = HEAP32[$89>>2]|0; - $91 = (($90) + 64)|0; - $92 = (_sqlite3_realloc($87,$91)|0); - HEAP32[$zNew>>2] = $92; - $93 = HEAP32[$zNew>>2]|0; - $94 = ($93|0)!=(0|0); - if (!($94)) { - label = 20; - break; - } - $95 = HEAP32[$zOut>>2]|0; - $96 = HEAP32[$pCsr>>2]|0; - $97 = ((($96)) + 20|0); - $98 = HEAP32[$97>>2]|0; - $99 = $95; - $100 = $98; - $101 = (($99) - ($100))|0; - $102 = HEAP32[$zNew>>2]|0; - $103 = (($102) + ($101)|0); - HEAP32[$zOut>>2] = $103; - $104 = HEAP32[$zNew>>2]|0; - $105 = HEAP32[$pCsr>>2]|0; - $106 = ((($105)) + 20|0); - HEAP32[$106>>2] = $104; - $107 = HEAP32[$pCsr>>2]|0; - $108 = ((($107)) + 24|0); - $109 = HEAP32[$108>>2]|0; - $110 = (($109) + 64)|0; - HEAP32[$108>>2] = $110; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0); + if (!($17)) { + break; } - $111 = HEAP32[$z>>2]|0; - HEAP32[$zEnd>>2] = $111; - $112 = HEAP32[$iCode>>2]|0; - $113 = HEAP32[$p>>2]|0; - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = (_sqlite3FtsUnicodeFold($112,$115)|0); - HEAP32[$iOut>>2] = $116; - $117 = HEAP32[$iOut>>2]|0; - $118 = ($117|0)!=(0); - do { - if ($118) { - $119 = HEAP32[$iOut>>2]|0; - $120 = ($119|0)<(128); - $121 = HEAP32[$iOut>>2]|0; - if ($120) { - $122 = $121 & 255; - $123 = $122&255; - $124 = HEAP32[$zOut>>2]|0; - $125 = ((($124)) + 1|0); - HEAP32[$zOut>>2] = $125; - HEAP8[$124>>0] = $123; - break; - } - $126 = ($121|0)<(2048); - $127 = HEAP32[$iOut>>2]|0; - if ($126) { - $128 = $127 >> 6; - $129 = $128 & 31; - $130 = $129&255; - $131 = $130&255; - $132 = (192 + ($131))|0; - $133 = $132&255; - $134 = HEAP32[$zOut>>2]|0; - $135 = ((($134)) + 1|0); - HEAP32[$zOut>>2] = $135; - HEAP8[$134>>0] = $133; - $136 = HEAP32[$iOut>>2]|0; - $137 = $136 & 63; - $138 = $137&255; - $139 = $138&255; - $140 = (128 + ($139))|0; - $141 = $140&255; - $142 = HEAP32[$zOut>>2]|0; - $143 = ((($142)) + 1|0); - HEAP32[$zOut>>2] = $143; - HEAP8[$142>>0] = $141; - break; - } - $144 = ($127|0)<(65536); - $145 = HEAP32[$iOut>>2]|0; - if ($144) { - $146 = $145 >> 12; - $147 = $146 & 15; - $148 = $147&255; - $149 = $148&255; - $150 = (224 + ($149))|0; - $151 = $150&255; - $152 = HEAP32[$zOut>>2]|0; - $153 = ((($152)) + 1|0); - HEAP32[$zOut>>2] = $153; - HEAP8[$152>>0] = $151; - $154 = HEAP32[$iOut>>2]|0; - $155 = $154 >> 6; - $156 = $155 & 63; - $157 = $156&255; - $158 = $157&255; - $159 = (128 + ($158))|0; - $160 = $159&255; - $161 = HEAP32[$zOut>>2]|0; - $162 = ((($161)) + 1|0); - HEAP32[$zOut>>2] = $162; - HEAP8[$161>>0] = $160; - $163 = HEAP32[$iOut>>2]|0; - $164 = $163 & 63; - $165 = $164&255; - $166 = $165&255; - $167 = (128 + ($166))|0; - $168 = $167&255; - $169 = HEAP32[$zOut>>2]|0; - $170 = ((($169)) + 1|0); - HEAP32[$zOut>>2] = $170; - HEAP8[$169>>0] = $168; - break; - } else { - $171 = $145 >> 18; - $172 = $171 & 7; - $173 = $172&255; - $174 = $173&255; - $175 = (240 + ($174))|0; - $176 = $175&255; - $177 = HEAP32[$zOut>>2]|0; - $178 = ((($177)) + 1|0); - HEAP32[$zOut>>2] = $178; - HEAP8[$177>>0] = $176; - $179 = HEAP32[$iOut>>2]|0; - $180 = $179 >> 12; - $181 = $180 & 63; - $182 = $181&255; - $183 = $182&255; - $184 = (128 + ($183))|0; - $185 = $184&255; - $186 = HEAP32[$zOut>>2]|0; - $187 = ((($186)) + 1|0); - HEAP32[$zOut>>2] = $187; - HEAP8[$186>>0] = $185; - $188 = HEAP32[$iOut>>2]|0; - $189 = $188 >> 6; - $190 = $189 & 63; - $191 = $190&255; - $192 = $191&255; - $193 = (128 + ($192))|0; - $194 = $193&255; - $195 = HEAP32[$zOut>>2]|0; - $196 = ((($195)) + 1|0); - HEAP32[$zOut>>2] = $196; - HEAP8[$195>>0] = $194; - $197 = HEAP32[$iOut>>2]|0; - $198 = $197 & 63; - $199 = $198&255; - $200 = $199&255; - $201 = (128 + ($200))|0; - $202 = $201&255; - $203 = HEAP32[$zOut>>2]|0; - $204 = ((($203)) + 1|0); - HEAP32[$zOut>>2] = $204; - HEAP8[$203>>0] = $202; - break; - } - } - } while(0); - $205 = HEAP32[$z>>2]|0; - $206 = HEAP32[$zTerm>>2]|0; - $207 = ($205>>>0)>=($206>>>0); - if ($207) { - label = 43; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($18>>>0) / ($21>>>0))&-1; + HEAP32[$6>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($23>>>0) % ($26>>>0))&-1; + HEAP32[$4>>2] = $27; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$6>>2]|0; + $31 = (($29) + ($30<<2)|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$3>>2] = $32; + $33 = HEAP32[$3>>2]|0; + $34 = ($33|0)!=(0|0); + if (!($34)) { + label = 16; break; } - $208 = HEAP32[$z>>2]|0; - $209 = ((($208)) + 1|0); - HEAP32[$z>>2] = $209; - $210 = HEAP8[$208>>0]|0; - $211 = $210&255; - HEAP32[$iCode>>2] = $211; - $212 = HEAP32[$iCode>>2]|0; - $213 = ($212|0)>=(192); - do { - if ($213) { - $214 = HEAP32[$iCode>>2]|0; - $215 = (($214) - 192)|0; - $216 = (25563 + ($215)|0); - $217 = HEAP8[$216>>0]|0; - $218 = $217&255; - HEAP32[$iCode>>2] = $218; + } + if ((label|0) == 16) { + STACKTOP = sp;return; + } + $35 = HEAP32[$3>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = ($36>>>0)<=(4000); + if ($37) { + $38 = HEAP32[$4>>2]|0; + $39 = $38 & 7; + $40 = 1 << $39; + $41 = $40 ^ -1; + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 12|0); + $44 = HEAP32[$4>>2]|0; + $45 = (($44>>>0) / 8)&-1; + $46 = (($43) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = $48 & $41; + $50 = $49&255; + HEAP8[$46>>0] = $50; + STACKTOP = sp;return; + } + $51 = HEAP32[$5>>2]|0; + HEAP32[$8>>2] = $51; + $52 = HEAP32[$8>>2]|0; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 12|0); + _memcpy(($52|0),($54|0),500)|0; + $55 = HEAP32[$3>>2]|0; + $56 = ((($55)) + 12|0); + _memset(($56|0),0,500)|0; + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 4|0); + HEAP32[$58>>2] = 0; + HEAP32[$7>>2] = 0; + while(1) { + $59 = HEAP32[$7>>2]|0; + $60 = ($59>>>0)<(125); + if (!($60)) { + break; + } + $61 = HEAP32[$8>>2]|0; + $62 = HEAP32[$7>>2]|0; + $63 = (($61) + ($62<<2)|0); + $64 = HEAP32[$63>>2]|0; + $65 = ($64|0)!=(0); + if ($65) { + $66 = HEAP32[$8>>2]|0; + $67 = HEAP32[$7>>2]|0; + $68 = (($66) + ($67<<2)|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$4>>2]|0; + $71 = (($70) + 1)|0; + $72 = ($69|0)!=($71|0); + if ($72) { + $73 = HEAP32[$8>>2]|0; + $74 = HEAP32[$7>>2]|0; + $75 = (($73) + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = (($76) - 1)|0; + $78 = $77; + $79 = (($78>>>0) % 125)&-1; + HEAP32[$9>>2] = $79; + $80 = HEAP32[$3>>2]|0; + $81 = ((($80)) + 4|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82) + 1)|0; + HEAP32[$81>>2] = $83; while(1) { - $219 = HEAP32[$z>>2]|0; - $220 = HEAP32[$zTerm>>2]|0; - $221 = ($219|0)!=($220|0); - if ($221) { - $222 = HEAP32[$z>>2]|0; - $223 = HEAP8[$222>>0]|0; - $224 = $223&255; - $225 = $224 & 192; - $226 = ($225|0)==(128); - $293 = $226; - } else { - $293 = 0; - } - $227 = HEAP32[$iCode>>2]|0; - if (!($293)) { + $84 = HEAP32[$3>>2]|0; + $85 = ((($84)) + 12|0); + $86 = HEAP32[$9>>2]|0; + $87 = (($85) + ($86<<2)|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)!=(0); + if (!($89)) { break; } - $228 = $227 << 6; - $229 = HEAP32[$z>>2]|0; - $230 = ((($229)) + 1|0); - HEAP32[$z>>2] = $230; - $231 = HEAP8[$229>>0]|0; - $232 = $231&255; - $233 = 63 & $232; - $234 = (($228) + ($233))|0; - HEAP32[$iCode>>2] = $234; - } - $235 = ($227|0)<(128); - if (!($235)) { - $236 = HEAP32[$iCode>>2]|0; - $237 = $236 & -2048; - $238 = ($237|0)==(55296); - if (!($238)) { - $239 = HEAP32[$iCode>>2]|0; - $240 = $239 & -2; - $241 = ($240|0)==(65534); - if (!($241)) { - break; - } - } - } - HEAP32[$iCode>>2] = 65533; + $90 = HEAP32[$9>>2]|0; + $91 = (($90) + 1)|0; + HEAP32[$9>>2] = $91; + $92 = HEAP32[$9>>2]|0; + $93 = ($92>>>0)>=(125); + $$ = $93 ? 0 : $91; + HEAP32[$9>>2] = $$; + } + $94 = HEAP32[$8>>2]|0; + $95 = HEAP32[$7>>2]|0; + $96 = (($94) + ($95<<2)|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$3>>2]|0; + $99 = ((($98)) + 12|0); + $100 = HEAP32[$9>>2]|0; + $101 = (($99) + ($100<<2)|0); + HEAP32[$101>>2] = $97; } - } while(0); - $242 = HEAP32[$p>>2]|0; - $243 = HEAP32[$iCode>>2]|0; - $244 = (_unicodeIsAlnum($242,$243)|0); - $245 = ($244|0)!=(0); - if ($245) { - continue; - } - $246 = HEAP32[$iCode>>2]|0; - $247 = (_sqlite3FtsUnicodeIsdiacritic($246)|0); - $248 = ($247|0)!=(0); - if (!($248)) { - label = 43; - break; } + $102 = HEAP32[$7>>2]|0; + $103 = (($102) + 1)|0; + HEAP32[$7>>2] = $103; } - if ((label|0) == 20) { - HEAP32[$0>>2] = 7; - $291 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($291|0); - } - else if ((label|0) == 43) { - $249 = HEAP32[$z>>2]|0; - $250 = HEAP32[$pCsr>>2]|0; - $251 = ((($250)) + 4|0); - $252 = HEAP32[$251>>2]|0; - $253 = $249; - $254 = $252; - $255 = (($253) - ($254))|0; - $256 = HEAP32[$pCsr>>2]|0; - $257 = ((($256)) + 12|0); - HEAP32[$257>>2] = $255; - $258 = HEAP32[$pCsr>>2]|0; - $259 = ((($258)) + 20|0); - $260 = HEAP32[$259>>2]|0; - $261 = HEAP32[$2>>2]|0; - HEAP32[$261>>2] = $260; - $262 = HEAP32[$zOut>>2]|0; - $263 = HEAP32[$pCsr>>2]|0; - $264 = ((($263)) + 20|0); - $265 = HEAP32[$264>>2]|0; - $266 = $262; - $267 = $265; - $268 = (($266) - ($267))|0; - $269 = HEAP32[$3>>2]|0; - HEAP32[$269>>2] = $268; - $270 = HEAP32[$zStart>>2]|0; - $271 = HEAP32[$pCsr>>2]|0; - $272 = ((($271)) + 4|0); - $273 = HEAP32[$272>>2]|0; - $274 = $270; - $275 = $273; - $276 = (($274) - ($275))|0; - $277 = HEAP32[$4>>2]|0; - HEAP32[$277>>2] = $276; - $278 = HEAP32[$zEnd>>2]|0; - $279 = HEAP32[$pCsr>>2]|0; - $280 = ((($279)) + 4|0); - $281 = HEAP32[$280>>2]|0; - $282 = $278; - $283 = $281; - $284 = (($282) - ($283))|0; - $285 = HEAP32[$5>>2]|0; - HEAP32[$285>>2] = $284; - $286 = HEAP32[$pCsr>>2]|0; - $287 = ((($286)) + 16|0); - $288 = HEAP32[$287>>2]|0; - $289 = (($288) + 1)|0; - HEAP32[$287>>2] = $289; - $290 = HEAP32[$6>>2]|0; - HEAP32[$290>>2] = $288; - HEAP32[$0>>2] = 0; - $291 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($291|0); + STACKTOP = sp;return; +} +function _btreePageFromDbPage($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3PagerGetExtra($7)|0); + HEAP32[$6>>2] = $8; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = ((($10)) + 84|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)!=($12|0); + if (!($13)) { + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); } - return (0)|0; + $14 = HEAP32[$3>>2]|0; + $15 = (_sqlite3PagerGetData($14)|0); + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 56|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 72|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 52|0); + HEAP32[$23>>2] = $21; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 84|0); + HEAP32[$26>>2] = $24; + $27 = HEAP32[$4>>2]|0; + $28 = ($27|0)==(1); + $29 = $28 ? 100 : 0; + $30 = $29&255; + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 5|0); + HEAP8[$32>>0] = $30; + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); } -function _unicodeIsAlnum($p,$iCode) { - $p = $p|0; - $iCode = $iCode|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _releasePageNotNull($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iCode; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3FtsUnicodeIsalnum($2)|0); - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_unicodeIsException($4,$5)|0); - $7 = $3 ^ $6; - STACKTOP = sp;return ($7|0); + $3 = ((($2)) + 72|0); + $4 = HEAP32[$3>>2]|0; + _sqlite3PagerUnrefNotNull($4); + STACKTOP = sp;return; } -function _sqlite3FtsUnicodeFold($c,$bRemoveDiacritic) { - $c = $c|0; - $bRemoveDiacritic = $bRemoveDiacritic|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $cmp = 0; - var $iHi = 0, $iLo = 0, $iRes = 0, $iTest = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $ret = 0, label = 0, sp = 0; +function _btreeGetUnusedPage($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, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $ret = sp + 24|0; - $iHi = sp + 20|0; - $iLo = sp + 16|0; - $iRes = sp + 12|0; - $iTest = sp + 8|0; - $cmp = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $c; - HEAP32[$1>>2] = $bRemoveDiacritic; - $2 = HEAP32[$0>>2]|0; - HEAP32[$ret>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)<(128); - $5 = HEAP32[$0>>2]|0; - if ($4) { - $6 = ($5|0)>=(65); - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)<=(90); - $or$cond = $6 & $8; - if (!($or$cond)) { - $78 = HEAP32[$ret>>2]|0; - STACKTOP = sp;return ($78|0); - } - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 32)|0; - HEAP32[$ret>>2] = $10; - $78 = HEAP32[$ret>>2]|0; - STACKTOP = sp;return ($78|0); - } - $11 = ($5|0)<(65536); - if (!($11)) { - $72 = HEAP32[$0>>2]|0; - $73 = ($72|0)>=(66560); - $74 = HEAP32[$0>>2]|0; - $75 = ($74|0)<(66600); - $or$cond3 = $73 & $75; - if (!($or$cond3)) { - $78 = HEAP32[$ret>>2]|0; - STACKTOP = sp;return ($78|0); - } - $76 = HEAP32[$0>>2]|0; - $77 = (($76) + 40)|0; - HEAP32[$ret>>2] = $77; - $78 = HEAP32[$ret>>2]|0; - STACKTOP = sp;return ($78|0); - } - HEAP32[$iHi>>2] = 162; - HEAP32[$iLo>>2] = 0; - HEAP32[$iRes>>2] = -1; - while(1) { - $12 = HEAP32[$iHi>>2]|0; - $13 = HEAP32[$iLo>>2]|0; - $14 = ($12|0)>=($13|0); - if (!($14)) { - break; - } - $15 = HEAP32[$iHi>>2]|0; - $16 = HEAP32[$iLo>>2]|0; - $17 = (($15) + ($16))|0; - $18 = (($17|0) / 2)&-1; - HEAP32[$iTest>>2] = $18; - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$iTest>>2]|0; - $21 = (9798 + ($20<<2)|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = (($19) - ($23))|0; - HEAP32[$cmp>>2] = $24; - $25 = HEAP32[$cmp>>2]|0; - $26 = ($25|0)>=(0); - $27 = HEAP32[$iTest>>2]|0; - if ($26) { - HEAP32[$iRes>>2] = $27; - $28 = HEAP32[$iTest>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$iLo>>2] = $29; - continue; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$7>>2]|0; + $13 = HEAP32[$8>>2]|0; + $14 = (_btreeGetPage($10,$11,$12,$13)|0); + HEAP32[$9>>2] = $14; + $15 = HEAP32[$9>>2]|0; + $16 = ($15|0)==(0); + $17 = HEAP32[$7>>2]|0; + do { + if ($16) { + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 72|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3PagerPageRefcount($20)|0); + $22 = ($21|0)>(1); + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$23>>2]|0; + if (!($22)) { + HEAP8[$24>>0] = 0; + break; + } + _releasePage($24); + $25 = HEAP32[$7>>2]|0; + HEAP32[$25>>2] = 0; + $26 = (_sqlite3CorruptError(60316)|0); + HEAP32[$4>>2] = $26; + $28 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($28|0); } else { - $30 = (($27) - 1)|0; - HEAP32[$iHi>>2] = $30; - continue; + HEAP32[$17>>2] = 0; } - } - $31 = HEAP32[$iRes>>2]|0; - $32 = ($31|0)>=(0); - if ($32) { - $33 = HEAP32[$iRes>>2]|0; - $34 = (9798 + ($33<<2)|0); - HEAP32[$p>>2] = $34; - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$p>>2]|0; - $37 = HEAP16[$36>>1]|0; - $38 = $37&65535; - $39 = HEAP32[$p>>2]|0; - $40 = ((($39)) + 3|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = (($38) + ($42))|0; - $44 = ($35|0)<($43|0); - if ($44) { - $45 = HEAP32[$p>>2]|0; - $46 = ((($45)) + 2|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = 1 & $48; - $50 = HEAP32[$p>>2]|0; - $51 = HEAP16[$50>>1]|0; - $52 = $51&65535; - $53 = HEAP32[$0>>2]|0; - $54 = $52 ^ $53; - $55 = $49 & $54; - $56 = (0)==($55|0); - if ($56) { - $57 = HEAP32[$0>>2]|0; - $58 = HEAP32[$p>>2]|0; - $59 = ((($58)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = $61 >> 1; - $63 = (10450 + ($62<<1)|0); - $64 = HEAP16[$63>>1]|0; - $65 = $64&65535; - $66 = (($57) + ($65))|0; - $67 = $66 & 65535; - HEAP32[$ret>>2] = $67; + } while(0); + $27 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($28|0); +} +function _sqlite3AbsInt32($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>=(0); + $5 = HEAP32[$2>>2]|0; + do { + if ($4) { + HEAP32[$1>>2] = $5; + } else { + $6 = ($5|0)==(-2147483648); + if ($6) { + HEAP32[$1>>2] = 2147483647; + break; + } else { + $7 = HEAP32[$2>>2]|0; + $8 = (0 - ($7))|0; + HEAP32[$1>>2] = $8; + break; } } + } while(0); + $9 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _btreeGetHasContent($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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 60|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + $19 = 0; + $18 = $19&1; + STACKTOP = sp;return ($18|0); } - $68 = HEAP32[$1>>2]|0; - $69 = ($68|0)!=(0); - if (!($69)) { - $78 = HEAP32[$ret>>2]|0; - STACKTOP = sp;return ($78|0); + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = (_sqlite3BitvecSize($11)|0); + $13 = ($10>>>0)>($12>>>0); + if ($13) { + $19 = 1; + $18 = $19&1; + STACKTOP = sp;return ($18|0); } - $70 = HEAP32[$ret>>2]|0; - $71 = (_remove_diacritic($70)|0); - HEAP32[$ret>>2] = $71; - $78 = HEAP32[$ret>>2]|0; - STACKTOP = sp;return ($78|0); + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = (_sqlite3BitvecTest($14,$15)|0); + $17 = ($16|0)!=(0); + $19 = $17; + $18 = $19&1; + STACKTOP = sp;return ($18|0); } -function _sqlite3FtsUnicodeIsdiacritic($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $mask0 = 0, $mask1 = 0, $or$cond = 0, label = 0, sp = 0; +function _sqlite3BitvecSize($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $mask0 = sp + 4|0; - $mask1 = sp; - HEAP32[$1>>2] = $c; - HEAP32[$mask0>>2] = 134389727; - HEAP32[$mask1>>2] = 221688; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)<(768); - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)>(817); - $or$cond = $3 | $5; - if ($or$cond) { - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)<(800); - if ($7) { - $8 = HEAP32[$mask0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) - 768)|0; - $11 = 1 << $10; - $12 = $8 & $11; - $19 = $12; - } else { - $13 = HEAP32[$mask1>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = (($14) - 768)|0; - $16 = (($15) - 32)|0; - $17 = 1 << $16; - $18 = $13 & $17; - $19 = $18; - } - HEAP32[$0>>2] = $19; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); } -function _remove_diacritic($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $aChar = 0, $aDia = 0, $iHi = 0, $iLo = 0, $iRes = 0, $iTest = 0, $key = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _saveCursorsOnList($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; - $0 = sp + 20|0; - $aDia = sp + 24|0; - $aChar = sp + 226|0; - $key = sp + 16|0; - $iRes = sp + 12|0; - $iHi = sp + 8|0; - $iLo = sp + 4|0; - $iTest = sp; - HEAP32[$0>>2] = $c; - _memcpy(($aDia|0),(10604|0),202)|0; - dest=$aChar; src=25627; stop=dest+101|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $1 = HEAP32[$0>>2]|0; - $2 = $1 << 3; - $3 = $2 | 7; - HEAP32[$key>>2] = $3; - HEAP32[$iRes>>2] = 0; - HEAP32[$iHi>>2] = 100; - HEAP32[$iLo>>2] = 0; - while(1) { - $4 = HEAP32[$iHi>>2]|0; - $5 = HEAP32[$iLo>>2]|0; - $6 = ($4|0)>=($5|0); - if (!($6)) { + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + L1: while(1) { + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$6>>2]|0; + $10 = ($8|0)!=($9|0); + do { + if ($10) { + $11 = HEAP32[$5>>2]|0; + $12 = (0)==($11|0); + if (!($12)) { + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 52|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = ($15|0)==($16|0); + if (!($17)) { + break; + } + } + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 66|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($21|0)==(1); + if (!($22)) { + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 66|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($26|0)==(2); + if (!($27)) { + $33 = HEAP32[$4>>2]|0; + _btreeReleaseAllCursorPages($33); + break; + } + } + $28 = HEAP32[$4>>2]|0; + $29 = (_saveCursorPosition($28)|0); + HEAP32[$7>>2] = $29; + $30 = HEAP32[$7>>2]|0; + $31 = (0)!=($30|0); + if ($31) { + label = 8; + break L1; + } + } + } while(0); + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$4>>2] = $36; + $37 = HEAP32[$4>>2]|0; + $38 = ($37|0)!=(0|0); + if (!($38)) { + label = 11; break; } - $7 = HEAP32[$iHi>>2]|0; - $8 = HEAP32[$iLo>>2]|0; - $9 = (($7) + ($8))|0; - $10 = (($9|0) / 2)&-1; - HEAP32[$iTest>>2] = $10; - $11 = HEAP32[$key>>2]|0; - $12 = HEAP32[$iTest>>2]|0; - $13 = (($aDia) + ($12<<1)|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = ($11>>>0)>=($15>>>0); - $17 = HEAP32[$iTest>>2]|0; - if ($16) { - HEAP32[$iRes>>2] = $17; - $18 = HEAP32[$iTest>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$iLo>>2] = $19; - continue; - } else { - $20 = (($17) - 1)|0; - HEAP32[$iHi>>2] = $20; - continue; - } } - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$iRes>>2]|0; - $23 = (($aDia) + ($22<<1)|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24&65535; - $26 = $25 >> 3; - $27 = HEAP32[$iRes>>2]|0; - $28 = (($aDia) + ($27<<1)|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = $30 & 7; - $32 = (($26) + ($31))|0; - $33 = ($21|0)>($32|0); - if ($33) { - $34 = HEAP32[$0>>2]|0; - $39 = $34; + if ((label|0) == 8) { + $32 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $32; + $39 = HEAP32[$3>>2]|0; STACKTOP = sp;return ($39|0); - } else { - $35 = HEAP32[$iRes>>2]|0; - $36 = (($aChar) + ($35)|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37 << 24 >> 24; - $39 = $38; + } + else if ((label|0) == 11) { + HEAP32[$3>>2] = 0; + $39 = HEAP32[$3>>2]|0; STACKTOP = sp;return ($39|0); } return (0)|0; } -function _sqlite3FtsUnicodeIsalnum($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iHi = 0, $iLo = 0, $iRes = 0, $iTest = 0, $key = 0, label = 0, sp = 0; +function _saveCursorPosition($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $key = sp + 16|0; - $iRes = sp + 12|0; - $iHi = sp + 8|0; - $iLo = sp + 4|0; - $iTest = sp; - HEAP32[$1>>2] = $c; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)<(128); - $4 = HEAP32[$1>>2]|0; - if ($3) { - $5 = $4 >> 5; - $6 = (2384 + ($5<<2)|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = $8 & 31; - $10 = 1 << $9; - $11 = $7 & $10; - $12 = ($11|0)==(0); - $13 = $12&1; - HEAP32[$0>>2] = $13; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 66|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)==(2); + $8 = HEAP32[$1>>2]|0; + if ($7) { + $9 = ((($8)) + 66|0); + HEAP8[$9>>0] = 1; + } else { + $10 = ((($8)) + 60|0); + HEAP32[$10>>2] = 0; } - $14 = ($4|0)<(4194304); - if (!($14)) { - HEAP32[$0>>2] = 1; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); + $11 = HEAP32[$1>>2]|0; + $12 = (_saveCursorKey($11)|0); + HEAP32[$2>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$1>>2]|0; + _btreeReleaseAllCursorPages($15); + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 66|0); + HEAP8[$17>>0] = 3; } - $15 = HEAP32[$1>>2]|0; - $16 = $15 << 10; - $17 = $16 | 1023; - HEAP32[$key>>2] = $17; - HEAP32[$iRes>>2] = 0; - HEAP32[$iHi>>2] = 405; - HEAP32[$iLo>>2] = 0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 64|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21 & -15; + $23 = $22&255; + HEAP8[$19>>0] = $23; + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); +} +function _btreeReleaseAllCursorPages($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; while(1) { - $18 = HEAP32[$iHi>>2]|0; - $19 = HEAP32[$iLo>>2]|0; - $20 = ($18|0)>=($19|0); - if (!($20)) { + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 68|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6 << 24 >> 24; + $8 = ($3|0)<=($7|0); + $9 = HEAP32[$1>>2]|0; + if (!($8)) { break; } - $21 = HEAP32[$iHi>>2]|0; - $22 = HEAP32[$iLo>>2]|0; - $23 = (($21) + ($22))|0; - $24 = (($23|0) / 2)&-1; - HEAP32[$iTest>>2] = $24; - $25 = HEAP32[$key>>2]|0; - $26 = HEAP32[$iTest>>2]|0; - $27 = (2400 + ($26<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($25>>>0)>=($28>>>0); - $30 = HEAP32[$iTest>>2]|0; - if ($29) { - HEAP32[$iRes>>2] = $30; - $31 = HEAP32[$iTest>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$iLo>>2] = $32; - continue; - } else { - $33 = (($30) - 1)|0; - HEAP32[$iHi>>2] = $33; - continue; - } + $10 = ((($9)) + 120|0); + $11 = HEAP32[$2>>2]|0; + $12 = (($10) + ($11<<2)|0); + $13 = HEAP32[$12>>2]|0; + _releasePage($13); + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 120|0); + $16 = HEAP32[$2>>2]|0; + $17 = (($15) + ($16<<2)|0); + HEAP32[$17>>2] = 0; + $18 = HEAP32[$2>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$2>>2] = $19; } - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$iRes>>2]|0; - $36 = (2400 + ($35<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = $37 >>> 10; - $39 = HEAP32[$iRes>>2]|0; - $40 = (2400 + ($39<<2)|0); - $41 = HEAP32[$40>>2]|0; - $42 = $41 & 1023; - $43 = (($38) + ($42))|0; - $44 = ($34>>>0)>=($43>>>0); - $45 = $44&1; - HEAP32[$0>>2] = $45; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); + $20 = ((($9)) + 68|0); + HEAP8[$20>>0] = -1; + STACKTOP = sp;return; } -function _unicodeIsException($p,$iCode) { - $p = $p|0; - $iCode = $iCode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $a = 0, $iHi = 0, $iLo = 0; - var $iTest = 0, label = 0, sp = 0; +function _saveCursorKey($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $a = sp + 12|0; - $iLo = sp + 8|0; - $iHi = sp + 4|0; - $iTest = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iCode; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 69|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)!=(0); + $8 = HEAP32[$1>>2]|0; + if ($7) { + $9 = (_sqlite3BtreeIntegerKey($8)|0); + $10 = tempRet0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 40|0); + $13 = $12; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $10; + $51 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($51|0); + } + $17 = (_sqlite3BtreePayloadSize($8)|0); + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 40|0); + $20 = $19; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = 0; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 40|0); + $26 = $25; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3Malloc($28,$31)|0); + HEAP32[$3>>2] = $32; + $33 = HEAP32[$3>>2]|0; + $34 = ($33|0)!=(0|0); + if (!($34)) { + HEAP32[$2>>2] = 7; + $51 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($51|0); + } + $35 = HEAP32[$1>>2]|0; + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 40|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$3>>2]|0; + $45 = (_sqlite3BtreeKey($35,0,$40,$44)|0); + HEAP32[$2>>2] = $45; + $46 = HEAP32[$2>>2]|0; + $47 = ($46|0)==(0); + $48 = HEAP32[$3>>2]|0; + if ($47) { + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 48|0); + HEAP32[$50>>2] = $48; + $51 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($51|0); + } else { + _sqlite3_free($48); + $51 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($51|0); + } + return (0)|0; +} +function _sqlite3BtreeIntegerKey($0) { + $0 = $0|0; + var $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; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _getCellInfo($2); $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - L1: do { - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$a>>2] = $9; - HEAP32[$iLo>>2] = 0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) - 1)|0; - HEAP32[$iHi>>2] = $13; - while(1) { - $14 = HEAP32[$iHi>>2]|0; - $15 = HEAP32[$iLo>>2]|0; - $16 = ($14|0)>=($15|0); - if (!($16)) { - break L1; - } - $17 = HEAP32[$iHi>>2]|0; - $18 = HEAP32[$iLo>>2]|0; - $19 = (($17) + ($18))|0; - $20 = (($19|0) / 2)&-1; - HEAP32[$iTest>>2] = $20; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$iTest>>2]|0; - $23 = HEAP32[$a>>2]|0; - $24 = (($23) + ($22<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($21|0)==($25|0); - if ($26) { - break; - } - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$iTest>>2]|0; - $29 = HEAP32[$a>>2]|0; - $30 = (($29) + ($28<<2)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($27|0)>($31|0); - $33 = HEAP32[$iTest>>2]|0; - if ($32) { - $34 = (($33) + 1)|0; - HEAP32[$iLo>>2] = $34; - continue; - } else { - $35 = (($33) - 1)|0; - HEAP32[$iHi>>2] = $35; - continue; - } - } - HEAP32[$0>>2] = 1; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); - } - } while(0); - HEAP32[$0>>2] = 0; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); + $4 = ((($3)) + 16|0); + $5 = $4; + $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 _unicodeAddExceptions($p,$bAlnum,$zIn,$nIn) { - $p = $p|0; - $bAlnum = $bAlnum|0; - $zIn = $zIn|0; - $nIn = $nIn|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $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, $aNew = 0, $i = 0, $iCode = 0; - var $j = 0, $nEntry = 0, $nNew = 0, $z = 0, $zTerm = 0, label = 0, sp = 0; +function _sqlite3BtreePayloadSize($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $z = sp + 28|0; - $zTerm = sp + 24|0; - $iCode = sp + 20|0; - $nEntry = sp + 16|0; - $aNew = sp + 12|0; - $nNew = sp + 8|0; - $i = sp + 4|0; - $j = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $bAlnum; - HEAP32[$3>>2] = $zIn; - HEAP32[$4>>2] = $nIn; - $5 = HEAP32[$3>>2]|0; - HEAP32[$z>>2] = $5; - $6 = HEAP32[$4>>2]|0; - $7 = HEAP32[$z>>2]|0; - $8 = (($7) + ($6)|0); - HEAP32[$zTerm>>2] = $8; - HEAP32[$nEntry>>2] = 0; - while(1) { - $9 = HEAP32[$z>>2]|0; - $10 = HEAP32[$zTerm>>2]|0; - $11 = ($9>>>0)<($10>>>0); - if (!($11)) { - break; - } - $12 = HEAP32[$z>>2]|0; - $13 = ((($12)) + 1|0); - HEAP32[$z>>2] = $13; - $14 = HEAP8[$12>>0]|0; - $15 = $14&255; - HEAP32[$iCode>>2] = $15; - $16 = HEAP32[$iCode>>2]|0; - $17 = ($16|0)>=(192); - do { - if ($17) { - $18 = HEAP32[$iCode>>2]|0; - $19 = (($18) - 192)|0; - $20 = (25563 + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - HEAP32[$iCode>>2] = $22; - while(1) { - $23 = HEAP32[$z>>2]|0; - $24 = HEAP32[$zTerm>>2]|0; - $25 = ($23|0)!=($24|0); - if ($25) { - $26 = HEAP32[$z>>2]|0; - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 & 192; - $30 = ($29|0)==(128); - $155 = $30; - } else { - $155 = 0; - } - $31 = HEAP32[$iCode>>2]|0; - if (!($155)) { - break; - } - $32 = $31 << 6; - $33 = HEAP32[$z>>2]|0; - $34 = ((($33)) + 1|0); - HEAP32[$z>>2] = $34; - $35 = HEAP8[$33>>0]|0; - $36 = $35&255; - $37 = 63 & $36; - $38 = (($32) + ($37))|0; - HEAP32[$iCode>>2] = $38; - } - $39 = ($31|0)<(128); - if (!($39)) { - $40 = HEAP32[$iCode>>2]|0; - $41 = $40 & -2048; - $42 = ($41|0)==(55296); - if (!($42)) { - $43 = HEAP32[$iCode>>2]|0; - $44 = $43 & -2; - $45 = ($44|0)==(65534); - if (!($45)) { - break; - } - } - } - HEAP32[$iCode>>2] = 65533; - } - } while(0); - $46 = HEAP32[$iCode>>2]|0; - $47 = (_sqlite3FtsUnicodeIsalnum($46)|0); - $48 = HEAP32[$2>>2]|0; - $49 = ($47|0)!=($48|0); - if (!($49)) { - continue; - } - $50 = HEAP32[$iCode>>2]|0; - $51 = (_sqlite3FtsUnicodeIsdiacritic($50)|0); - $52 = ($51|0)==(0); - if (!($52)) { - continue; - } - $53 = HEAP32[$nEntry>>2]|0; - $54 = (($53) + 1)|0; - HEAP32[$nEntry>>2] = $54; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _getCellInfo($2); + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 16|0); + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($6|0); +} +function _sqlite3BtreeKey($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$7>>2]|0; + $12 = (_accessPayload($8,$9,$10,$11,0)|0); + STACKTOP = sp;return ($12|0); +} +function _accessPayload($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $5 = sp + 68|0; + $6 = sp + 64|0; + $7 = sp + 60|0; + $8 = sp + 56|0; + $9 = sp + 52|0; + $10 = sp + 48|0; + $11 = sp + 44|0; + $12 = sp + 40|0; + $13 = sp + 36|0; + $14 = sp + 32|0; + $15 = sp + 28|0; + $16 = sp + 24|0; + $17 = sp + 20|0; + $18 = sp + 16|0; + $19 = sp + 12|0; + $20 = sp + 8|0; + $21 = sp + 4|0; + $22 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 120|0); + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 68|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($24) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$14>>2] = $30; + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$15>>2] = $33; + $34 = HEAP32[$6>>2]|0; + _getCellInfo($34); + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 16|0); + $37 = ((($36)) + 8|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$11>>2] = $38; + $39 = HEAP32[$11>>2]|0; + $40 = HEAP32[$14>>2]|0; + $41 = ((($40)) + 56|0); + $42 = HEAP32[$41>>2]|0; + $43 = $39; + $44 = $42; + $45 = (($43) - ($44))|0; + $46 = HEAP32[$15>>2]|0; + $47 = ((($46)) + 36|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$6>>2]|0; + $50 = ((($49)) + 16|0); + $51 = ((($50)) + 16|0); + $52 = HEAP16[$51>>1]|0; + $53 = $52&65535; + $54 = (($48) - ($53))|0; + $55 = ($45>>>0)>($54>>>0); + if ($55) { + $56 = (_sqlite3CorruptError(62723)|0); + HEAP32[$5>>2] = $56; + $295 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($295|0); } - $55 = HEAP32[$nEntry>>2]|0; - $56 = ($55|0)!=(0); - if ($56) { - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 12|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 8|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$nEntry>>2]|0; - $64 = (($62) + ($63))|0; - $65 = $64<<2; - $66 = (_sqlite3_realloc($59,$65)|0); - HEAP32[$aNew>>2] = $66; - $67 = HEAP32[$aNew>>2]|0; - $68 = ($67|0)==(0|0); - if ($68) { - HEAP32[$0>>2] = 7; - $154 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($154|0); - } - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[$nNew>>2] = $71; - $72 = HEAP32[$3>>2]|0; - HEAP32[$z>>2] = $72; - while(1) { - $73 = HEAP32[$z>>2]|0; - $74 = HEAP32[$zTerm>>2]|0; - $75 = ($73>>>0)<($74>>>0); - if (!($75)) { - break; - } - $76 = HEAP32[$z>>2]|0; - $77 = ((($76)) + 1|0); - HEAP32[$z>>2] = $77; - $78 = HEAP8[$76>>0]|0; - $79 = $78&255; - HEAP32[$iCode>>2] = $79; - $80 = HEAP32[$iCode>>2]|0; - $81 = ($80|0)>=(192); - do { - if ($81) { - $82 = HEAP32[$iCode>>2]|0; - $83 = (($82) - 192)|0; - $84 = (25563 + ($83)|0); - $85 = HEAP8[$84>>0]|0; - $86 = $85&255; - HEAP32[$iCode>>2] = $86; - while(1) { - $87 = HEAP32[$z>>2]|0; - $88 = HEAP32[$zTerm>>2]|0; - $89 = ($87|0)!=($88|0); - if ($89) { - $90 = HEAP32[$z>>2]|0; - $91 = HEAP8[$90>>0]|0; - $92 = $91&255; - $93 = $92 & 192; - $94 = ($93|0)==(128); - $156 = $94; - } else { - $156 = 0; - } - $95 = HEAP32[$iCode>>2]|0; - if (!($156)) { - break; - } - $96 = $95 << 6; - $97 = HEAP32[$z>>2]|0; - $98 = ((($97)) + 1|0); - HEAP32[$z>>2] = $98; - $99 = HEAP8[$97>>0]|0; - $100 = $99&255; - $101 = 63 & $100; - $102 = (($96) + ($101))|0; - HEAP32[$iCode>>2] = $102; - } - $103 = ($95|0)<(128); - if (!($103)) { - $104 = HEAP32[$iCode>>2]|0; - $105 = $104 & -2048; - $106 = ($105|0)==(55296); - if (!($106)) { - $107 = HEAP32[$iCode>>2]|0; - $108 = $107 & -2; - $109 = ($108|0)==(65534); - if (!($109)) { + $57 = HEAP32[$7>>2]|0; + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + 16|0); + $60 = ((($59)) + 16|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = ($57>>>0)<($62>>>0); + if ($63) { + $64 = HEAP32[$8>>2]|0; + HEAP32[$16>>2] = $64; + $65 = HEAP32[$16>>2]|0; + $66 = HEAP32[$7>>2]|0; + $67 = (($65) + ($66))|0; + $68 = HEAP32[$6>>2]|0; + $69 = ((($68)) + 16|0); + $70 = ((($69)) + 16|0); + $71 = HEAP16[$70>>1]|0; + $72 = $71&65535; + $73 = ($67>>>0)>($72>>>0); + if ($73) { + $74 = HEAP32[$6>>2]|0; + $75 = ((($74)) + 16|0); + $76 = ((($75)) + 16|0); + $77 = HEAP16[$76>>1]|0; + $78 = $77&65535; + $79 = HEAP32[$7>>2]|0; + $80 = (($78) - ($79))|0; + HEAP32[$16>>2] = $80; + } + $81 = HEAP32[$11>>2]|0; + $82 = HEAP32[$7>>2]|0; + $83 = (($81) + ($82)|0); + $84 = HEAP32[$9>>2]|0; + $85 = HEAP32[$16>>2]|0; + $86 = HEAP32[$10>>2]|0; + $87 = $86 & 1; + $88 = HEAP32[$14>>2]|0; + $89 = ((($88)) + 72|0); + $90 = HEAP32[$89>>2]|0; + $91 = (_copyPayload($83,$84,$85,$87,$90)|0); + HEAP32[$12>>2] = $91; + HEAP32[$7>>2] = 0; + $92 = HEAP32[$16>>2]|0; + $93 = HEAP32[$9>>2]|0; + $94 = (($93) + ($92)|0); + HEAP32[$9>>2] = $94; + $95 = HEAP32[$16>>2]|0; + $96 = HEAP32[$8>>2]|0; + $97 = (($96) - ($95))|0; + HEAP32[$8>>2] = $97; + } else { + $98 = HEAP32[$6>>2]|0; + $99 = ((($98)) + 16|0); + $100 = ((($99)) + 16|0); + $101 = HEAP16[$100>>1]|0; + $102 = $101&65535; + $103 = HEAP32[$7>>2]|0; + $104 = (($103) - ($102))|0; + HEAP32[$7>>2] = $104; + } + $105 = HEAP32[$12>>2]|0; + $106 = ($105|0)==(0); + $107 = HEAP32[$8>>2]|0; + $108 = ($107>>>0)>(0); + $or$cond = $106 & $108; + L12: do { + if ($or$cond) { + $109 = HEAP32[$15>>2]|0; + $110 = ((($109)) + 36|0); + $111 = HEAP32[$110>>2]|0; + $112 = (($111) - 4)|0; + HEAP32[$17>>2] = $112; + $113 = HEAP32[$11>>2]|0; + $114 = HEAP32[$6>>2]|0; + $115 = ((($114)) + 16|0); + $116 = ((($115)) + 16|0); + $117 = HEAP16[$116>>1]|0; + $118 = $117&65535; + $119 = (($113) + ($118)|0); + $120 = (_sqlite3Get4byte($119)|0); + HEAP32[$18>>2] = $120; + $121 = HEAP32[$10>>2]|0; + $122 = ($121|0)!=(2); + if ($122) { + $123 = HEAP32[$6>>2]|0; + $124 = ((($123)) + 64|0); + $125 = HEAP8[$124>>0]|0; + $126 = $125&255; + $127 = $126 & 4; + $128 = ($127|0)==(0); + if ($128) { + $129 = HEAP32[$6>>2]|0; + $130 = ((($129)) + 16|0); + $131 = ((($130)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$6>>2]|0; + $134 = ((($133)) + 16|0); + $135 = ((($134)) + 16|0); + $136 = HEAP16[$135>>1]|0; + $137 = $136&65535; + $138 = (($132) - ($137))|0; + $139 = HEAP32[$17>>2]|0; + $140 = (($138) + ($139))|0; + $141 = (($140) - 1)|0; + $142 = HEAP32[$17>>2]|0; + $143 = (($141>>>0) / ($142>>>0))&-1; + HEAP32[$19>>2] = $143; + $144 = HEAP32[$19>>2]|0; + $145 = HEAP32[$6>>2]|0; + $146 = ((($145)) + 56|0); + $147 = HEAP32[$146>>2]|0; + $148 = ($144|0)>($147|0); + do { + if ($148) { + $149 = HEAP32[$6>>2]|0; + $150 = ((($149)) + 12|0); + $151 = HEAP32[$150>>2]|0; + $152 = HEAP32[$19>>2]|0; + $153 = $152<<1; + $154 = $153<<2; + $155 = (_sqlite3Realloc($151,$154,0)|0); + HEAP32[$20>>2] = $155; + $156 = HEAP32[$20>>2]|0; + $157 = ($156|0)==(0|0); + if ($157) { + HEAP32[$12>>2] = 7; + break; + } else { + $158 = HEAP32[$19>>2]|0; + $159 = $158<<1; + $160 = HEAP32[$6>>2]|0; + $161 = ((($160)) + 56|0); + HEAP32[$161>>2] = $159; + $162 = HEAP32[$20>>2]|0; + $163 = HEAP32[$6>>2]|0; + $164 = ((($163)) + 12|0); + HEAP32[$164>>2] = $162; break; } } + } while(0); + $165 = HEAP32[$12>>2]|0; + $166 = ($165|0)==(0); + if ($166) { + $167 = HEAP32[$6>>2]|0; + $168 = ((($167)) + 12|0); + $169 = HEAP32[$168>>2]|0; + $170 = HEAP32[$19>>2]|0; + $171 = $170<<2; + _memset(($169|0),0,($171|0))|0; + $172 = HEAP32[$6>>2]|0; + $173 = ((($172)) + 64|0); + $174 = HEAP8[$173>>0]|0; + $175 = $174&255; + $176 = $175 | 4; + $177 = $176&255; + HEAP8[$173>>0] = $177; } - HEAP32[$iCode>>2] = 65533; } - } while(0); - $110 = HEAP32[$iCode>>2]|0; - $111 = (_sqlite3FtsUnicodeIsalnum($110)|0); - $112 = HEAP32[$2>>2]|0; - $113 = ($111|0)!=($112|0); - if (!($113)) { - continue; } - $114 = HEAP32[$iCode>>2]|0; - $115 = (_sqlite3FtsUnicodeIsdiacritic($114)|0); - $116 = ($115|0)==(0); - if (!($116)) { - continue; + $178 = HEAP32[$6>>2]|0; + $179 = ((($178)) + 64|0); + $180 = HEAP8[$179>>0]|0; + $181 = $180&255; + $182 = $181 & 4; + $183 = ($182|0)!=(0); + if ($183) { + $184 = HEAP32[$6>>2]|0; + $185 = ((($184)) + 12|0); + $186 = HEAP32[$185>>2]|0; + $187 = HEAP32[$7>>2]|0; + $188 = HEAP32[$17>>2]|0; + $189 = (($187>>>0) / ($188>>>0))&-1; + $190 = (($186) + ($189<<2)|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)!=(0); + if ($192) { + $193 = HEAP32[$7>>2]|0; + $194 = HEAP32[$17>>2]|0; + $195 = (($193>>>0) / ($194>>>0))&-1; + HEAP32[$13>>2] = $195; + $196 = HEAP32[$6>>2]|0; + $197 = ((($196)) + 12|0); + $198 = HEAP32[$197>>2]|0; + $199 = HEAP32[$13>>2]|0; + $200 = (($198) + ($199<<2)|0); + $201 = HEAP32[$200>>2]|0; + HEAP32[$18>>2] = $201; + $202 = HEAP32[$7>>2]|0; + $203 = HEAP32[$17>>2]|0; + $204 = (($202>>>0) % ($203>>>0))&-1; + HEAP32[$7>>2] = $204; + } } - HEAP32[$i>>2] = 0; while(1) { - $117 = HEAP32[$i>>2]|0; - $118 = HEAP32[$nNew>>2]|0; - $119 = ($117|0)<($118|0); - if (!($119)) { - break; + $205 = HEAP32[$12>>2]|0; + $206 = ($205|0)==(0); + $207 = HEAP32[$8>>2]|0; + $208 = ($207>>>0)>(0); + $or$cond3 = $206 & $208; + $209 = HEAP32[$18>>2]|0; + $210 = ($209|0)!=(0); + $or$cond7 = $or$cond3 & $210; + if (!($or$cond7)) { + break L12; } - $120 = HEAP32[$i>>2]|0; - $121 = HEAP32[$aNew>>2]|0; - $122 = (($121) + ($120<<2)|0); - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$iCode>>2]|0; - $125 = ($123|0)<($124|0); - if (!($125)) { - break; + $211 = HEAP32[$6>>2]|0; + $212 = ((($211)) + 64|0); + $213 = HEAP8[$212>>0]|0; + $214 = $213&255; + $215 = $214 & 4; + $216 = ($215|0)!=(0); + if ($216) { + $217 = HEAP32[$18>>2]|0; + $218 = HEAP32[$6>>2]|0; + $219 = ((($218)) + 12|0); + $220 = HEAP32[$219>>2]|0; + $221 = HEAP32[$13>>2]|0; + $222 = (($220) + ($221<<2)|0); + HEAP32[$222>>2] = $217; } - $126 = HEAP32[$i>>2]|0; - $127 = (($126) + 1)|0; - HEAP32[$i>>2] = $127; + $223 = HEAP32[$7>>2]|0; + $224 = HEAP32[$17>>2]|0; + $225 = ($223>>>0)>=($224>>>0); + if ($225) { + $226 = HEAP32[$6>>2]|0; + $227 = ((($226)) + 12|0); + $228 = HEAP32[$227>>2]|0; + $229 = HEAP32[$13>>2]|0; + $230 = (($229) + 1)|0; + $231 = (($228) + ($230<<2)|0); + $232 = HEAP32[$231>>2]|0; + $233 = ($232|0)!=(0); + if ($233) { + $234 = HEAP32[$6>>2]|0; + $235 = ((($234)) + 12|0); + $236 = HEAP32[$235>>2]|0; + $237 = HEAP32[$13>>2]|0; + $238 = (($237) + 1)|0; + $239 = (($236) + ($238<<2)|0); + $240 = HEAP32[$239>>2]|0; + HEAP32[$18>>2] = $240; + } else { + $241 = HEAP32[$15>>2]|0; + $242 = HEAP32[$18>>2]|0; + $243 = (_getOverflowPage($241,$242,0,$18)|0); + HEAP32[$12>>2] = $243; + } + $244 = HEAP32[$17>>2]|0; + $245 = HEAP32[$7>>2]|0; + $246 = (($245) - ($244))|0; + HEAP32[$7>>2] = $246; + } else { + $247 = HEAP32[$8>>2]|0; + HEAP32[$21>>2] = $247; + $248 = HEAP32[$21>>2]|0; + $249 = HEAP32[$7>>2]|0; + $250 = (($248) + ($249))|0; + $251 = HEAP32[$17>>2]|0; + $252 = ($250>>>0)>($251>>>0); + if ($252) { + $253 = HEAP32[$17>>2]|0; + $254 = HEAP32[$7>>2]|0; + $255 = (($253) - ($254))|0; + HEAP32[$21>>2] = $255; + } + $256 = HEAP32[$15>>2]|0; + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[$18>>2]|0; + $259 = HEAP32[$10>>2]|0; + $260 = $259 & 1; + $261 = ($260|0)==(0); + $262 = $261 ? 2 : 0; + $263 = (_sqlite3PagerGet($257,$258,$22,$262)|0); + HEAP32[$12>>2] = $263; + $264 = HEAP32[$12>>2]|0; + $265 = ($264|0)==(0); + if ($265) { + $266 = HEAP32[$22>>2]|0; + $267 = (_sqlite3PagerGetData($266)|0); + HEAP32[$11>>2] = $267; + $268 = HEAP32[$11>>2]|0; + $269 = (_sqlite3Get4byte($268)|0); + HEAP32[$18>>2] = $269; + $270 = HEAP32[$11>>2]|0; + $271 = HEAP32[$7>>2]|0; + $272 = (($271) + 4)|0; + $273 = (($270) + ($272)|0); + $274 = HEAP32[$9>>2]|0; + $275 = HEAP32[$21>>2]|0; + $276 = HEAP32[$10>>2]|0; + $277 = $276 & 1; + $278 = HEAP32[$22>>2]|0; + $279 = (_copyPayload($273,$274,$275,$277,$278)|0); + HEAP32[$12>>2] = $279; + $280 = HEAP32[$22>>2]|0; + _sqlite3PagerUnref($280); + HEAP32[$7>>2] = 0; + } + $281 = HEAP32[$21>>2]|0; + $282 = HEAP32[$8>>2]|0; + $283 = (($282) - ($281))|0; + HEAP32[$8>>2] = $283; + $284 = HEAP32[$21>>2]|0; + $285 = HEAP32[$9>>2]|0; + $286 = (($285) + ($284)|0); + HEAP32[$9>>2] = $286; + } + $287 = HEAP32[$13>>2]|0; + $288 = (($287) + 1)|0; + HEAP32[$13>>2] = $288; } - $128 = HEAP32[$nNew>>2]|0; - HEAP32[$j>>2] = $128; - while(1) { - $129 = HEAP32[$j>>2]|0; - $130 = HEAP32[$i>>2]|0; - $131 = ($129|0)>($130|0); - if (!($131)) { - break; - } - $132 = HEAP32[$j>>2]|0; - $133 = (($132) - 1)|0; - $134 = HEAP32[$aNew>>2]|0; - $135 = (($134) + ($133<<2)|0); - $136 = HEAP32[$135>>2]|0; - $137 = HEAP32[$j>>2]|0; - $138 = HEAP32[$aNew>>2]|0; - $139 = (($138) + ($137<<2)|0); - HEAP32[$139>>2] = $136; - $140 = HEAP32[$j>>2]|0; - $141 = (($140) + -1)|0; - HEAP32[$j>>2] = $141; - } - $142 = HEAP32[$iCode>>2]|0; - $143 = HEAP32[$i>>2]|0; - $144 = HEAP32[$aNew>>2]|0; - $145 = (($144) + ($143<<2)|0); - HEAP32[$145>>2] = $142; - $146 = HEAP32[$nNew>>2]|0; - $147 = (($146) + 1)|0; - HEAP32[$nNew>>2] = $147; - } - $148 = HEAP32[$aNew>>2]|0; - $149 = HEAP32[$1>>2]|0; - $150 = ((($149)) + 12|0); - HEAP32[$150>>2] = $148; - $151 = HEAP32[$nNew>>2]|0; - $152 = HEAP32[$1>>2]|0; - $153 = ((($152)) + 8|0); - HEAP32[$153>>2] = $151; - } - HEAP32[$0>>2] = 0; - $154 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($154|0); -} -function _sqlite3BtreeSchema($p,$nBytes,$xFree) { - $p = $p|0; - $nBytes = $nBytes|0; - $xFree = $xFree|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pBt = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $nBytes; - HEAP32[$2>>2] = $xFree; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pBt>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($6); - $7 = HEAP32[$pBt>>2]|0; - $8 = ((($7)) + 48|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - $11 = HEAP32[$1>>2]|0; - $12 = ($11|0)!=(0); - $or$cond = $10 & $12; - if (!($or$cond)) { - $22 = HEAP32[$pBt>>2]|0; - $23 = ((($22)) + 48|0); - $24 = HEAP32[$23>>2]|0; - STACKTOP = sp;return ($24|0); + } + } while(0); + $289 = HEAP32[$12>>2]|0; + $290 = ($289|0)==(0); + $291 = HEAP32[$8>>2]|0; + $292 = ($291>>>0)>(0); + $or$cond5 = $290 & $292; + if ($or$cond5) { + $293 = (_sqlite3CorruptError(62880)|0); + HEAP32[$5>>2] = $293; + $295 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($295|0); + } else { + $294 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $294; + $295 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($295|0); } - $13 = HEAP32[$1>>2]|0; - $14 = ($13|0)<(0); - $15 = $14 << 31 >> 31; - $16 = (_sqlite3DbMallocZero(0,$13,$15)|0); - $17 = HEAP32[$pBt>>2]|0; - $18 = ((($17)) + 48|0); - HEAP32[$18>>2] = $16; - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$pBt>>2]|0; - $21 = ((($20)) + 52|0); - HEAP32[$21>>2] = $19; - $22 = HEAP32[$pBt>>2]|0; - $23 = ((($22)) + 48|0); - $24 = HEAP32[$23>>2]|0; - STACKTOP = sp;return ($24|0); -} -function _sqlite3TempInMemory($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 68|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(2); - $6 = $5&1; - STACKTOP = sp;return ($6|0); -} -function _sqlite3OsFullPathname($pVfs,$zPath,$nPathOut,$zPathOut) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $nPathOut = $nPathOut|0; - $zPathOut = $zPathOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $nPathOut; - HEAP32[$3>>2] = $zPathOut; - $4 = HEAP32[$3>>2]|0; - HEAP8[$4>>0] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = (FUNCTION_TABLE_iiiii[$7 & 255]($8,$9,$10,$11)|0); - STACKTOP = sp;return ($12|0); + return (0)|0; } -function _pageReinit($pData) { - $pData = $pData|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPage = 0, label = 0, sp = 0; +function _getCellInfo($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pPage = sp; - HEAP32[$0>>2] = $pData; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3PagerGetExtra($1)|0); - HEAP32[$pPage>>2] = $2; - $3 = HEAP32[$pPage>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = HEAP32[$pPage>>2]|0; - HEAP8[$6>>0] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3PagerPageRefcount($7)|0); - $9 = ($8|0)>(1); - if (!($9)) { + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 16|0); + $5 = ((($4)) + 18|0); + $6 = HEAP16[$5>>1]|0; + $7 = $6&65535; + $8 = ($7|0)==(0); + if (!($8)) { STACKTOP = sp;return; } - $10 = HEAP32[$pPage>>2]|0; - (_btreeInitPage($10)|0); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 68|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + HEAP32[$2>>2] = $12; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 64|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 | 2; + $18 = $17&255; + HEAP8[$14>>0] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 120|0); + $21 = HEAP32[$2>>2]|0; + $22 = (($20) + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 80|0); + $26 = HEAP32[$2>>2]|0; + $27 = (($25) + ($26<<1)|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28&65535; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 16|0); + _btreeParseCell($23,$29,$31); STACKTOP = sp;return; } -function _sqlite3PagerOpen($pVfs,$ppPager,$zFilename,$nExtra,$flags,$vfsFlags,$xReinit) { - $pVfs = $pVfs|0; - $ppPager = $ppPager|0; - $zFilename = $zFilename|0; - $nExtra = $nExtra|0; - $flags = $flags|0; - $vfsFlags = $vfsFlags|0; - $xReinit = $xReinit|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $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, $fout = 0; - var $iDc = 0, $journalFileSize = 0, $memDb = 0, $nPathname = 0, $nUri = 0, $pPager = 0, $pPtr = 0, $pcacheSize = 0, $rc = 0, $readOnly = 0, $szPageDflt = 0, $tempFile = 0, $useJournal = 0, $z = 0, $zPathname = 0, $zUri = 0, dest = 0, label = 0, sp = 0, src = 0; - var stop = 0; +function _copyPayload($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 96|0; - $1 = sp + 92|0; - $2 = sp + 88|0; - $3 = sp + 84|0; - $4 = sp + 80|0; - $5 = sp + 76|0; - $6 = sp + 72|0; - $7 = sp + 68|0; - $pPtr = sp + 64|0; - $pPager = sp + 60|0; - $rc = sp + 56|0; - $tempFile = sp + 52|0; - $memDb = sp + 48|0; - $readOnly = sp + 44|0; - $journalFileSize = sp + 40|0; - $zPathname = sp + 36|0; - $nPathname = sp + 32|0; - $useJournal = sp + 28|0; - $pcacheSize = sp + 24|0; - $szPageDflt = sp + 20|0; - $zUri = sp + 16|0; - $nUri = sp + 12|0; - $z = sp + 8|0; - $fout = sp + 4|0; - $iDc = sp; - HEAP32[$1>>2] = $pVfs; - HEAP32[$2>>2] = $ppPager; - HEAP32[$3>>2] = $zFilename; - HEAP32[$4>>2] = $nExtra; - HEAP32[$5>>2] = $flags; - HEAP32[$6>>2] = $vfsFlags; - HEAP32[$7>>2] = $xReinit; - HEAP32[$pPager>>2] = 0; - HEAP32[$rc>>2] = 0; - HEAP32[$tempFile>>2] = 0; - HEAP32[$memDb>>2] = 0; - HEAP32[$readOnly>>2] = 0; - HEAP32[$zPathname>>2] = 0; - HEAP32[$nPathname>>2] = 0; - $8 = HEAP32[$5>>2]|0; - $9 = $8 & 1; - $10 = ($9|0)==(0); - $11 = $10&1; - HEAP32[$useJournal>>2] = $11; - $12 = (_sqlite3PcacheSize()|0); - HEAP32[$pcacheSize>>2] = $12; - HEAP32[$szPageDflt>>2] = 4096; - HEAP32[$zUri>>2] = 0; - HEAP32[$nUri>>2] = 0; - $13 = HEAP32[$1>>2]|0; - $14 = (_sqlite3JournalSize($13)|0); - $15 = (($14) + 7)|0; - $16 = $15 & -8; - HEAP32[$journalFileSize>>2] = $16; - $17 = HEAP32[$2>>2]|0; - HEAP32[$17>>2] = 0; - $18 = HEAP32[$5>>2]|0; - $19 = $18 & 2; - $20 = ($19|0)!=(0); + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $12 = HEAP32[$9>>2]|0; + $13 = ($12|0)!=(0); do { - if ($20) { - HEAP32[$memDb>>2] = 1; - $21 = HEAP32[$3>>2]|0; - $22 = ($21|0)!=(0|0); - if ($22) { - $23 = HEAP32[$3>>2]|0; - $24 = HEAP8[$23>>0]|0; - $25 = $24 << 24 >> 24; - $26 = ($25|0)!=(0); - if ($26) { - $27 = HEAP32[$3>>2]|0; - $28 = (_sqlite3DbStrDup(0,$27)|0); - HEAP32[$zPathname>>2] = $28; - $29 = HEAP32[$zPathname>>2]|0; - $30 = ($29|0)==(0|0); - if (!($30)) { - $31 = HEAP32[$zPathname>>2]|0; - $32 = (_sqlite3Strlen30($31)|0); - HEAP32[$nPathname>>2] = $32; - HEAP32[$3>>2] = 0; - break; - } - HEAP32[$0>>2] = 7; - $378 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($378|0); - } + if ($13) { + $14 = HEAP32[$10>>2]|0; + $15 = (_sqlite3PagerWrite($14)|0); + HEAP32[$11>>2] = $15; + $16 = HEAP32[$11>>2]|0; + $17 = ($16|0)!=(0); + if (!($17)) { + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = HEAP32[$8>>2]|0; + _memcpy(($19|0),($20|0),($21|0))|0; + break; } + $18 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $18; + $25 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($25|0); + } else { + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$8>>2]|0; + _memcpy(($22|0),($23|0),($24|0))|0; } } while(0); - $33 = HEAP32[$3>>2]|0; - $34 = ($33|0)!=(0|0); - if ($34) { - $35 = HEAP32[$3>>2]|0; - $36 = HEAP8[$35>>0]|0; - $37 = $36 << 24 >> 24; - $38 = ($37|0)!=(0); - if ($38) { - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 8|0); - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$nPathname>>2] = $42; - $43 = HEAP32[$nPathname>>2]|0; - $44 = $43<<1; - $45 = ($44|0)<(0); - $46 = $45 << 31 >> 31; - $47 = (_sqlite3DbMallocRaw(0,$44,$46)|0); - HEAP32[$zPathname>>2] = $47; - $48 = HEAP32[$zPathname>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - HEAP32[$0>>2] = 7; - $378 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($378|0); - } - $50 = HEAP32[$zPathname>>2]|0; - HEAP8[$50>>0] = 0; - $51 = HEAP32[$1>>2]|0; - $52 = HEAP32[$3>>2]|0; - $53 = HEAP32[$nPathname>>2]|0; - $54 = HEAP32[$zPathname>>2]|0; - $55 = (_sqlite3OsFullPathname($51,$52,$53,$54)|0); - HEAP32[$rc>>2] = $55; - $56 = HEAP32[$zPathname>>2]|0; - $57 = (_sqlite3Strlen30($56)|0); - HEAP32[$nPathname>>2] = $57; - $58 = HEAP32[$3>>2]|0; - $59 = (_sqlite3Strlen30($58)|0); - $60 = (($59) + 1)|0; - $61 = HEAP32[$3>>2]|0; - $62 = (($61) + ($60)|0); - HEAP32[$zUri>>2] = $62; - HEAP32[$z>>2] = $62; - while(1) { - $63 = HEAP32[$z>>2]|0; - $64 = HEAP8[$63>>0]|0; - $65 = ($64<<24>>24)!=(0); - $66 = HEAP32[$z>>2]|0; - if (!($65)) { - break; - } - $67 = (_sqlite3Strlen30($66)|0); - $68 = (($67) + 1)|0; - $69 = HEAP32[$z>>2]|0; - $70 = (($69) + ($68)|0); - HEAP32[$z>>2] = $70; - $71 = HEAP32[$z>>2]|0; - $72 = (_sqlite3Strlen30($71)|0); - $73 = (($72) + 1)|0; - $74 = HEAP32[$z>>2]|0; - $75 = (($74) + ($73)|0); - HEAP32[$z>>2] = $75; - } - $76 = ((($66)) + 1|0); - $77 = HEAP32[$zUri>>2]|0; - $78 = $76; - $79 = $77; - $80 = (($78) - ($79))|0; - HEAP32[$nUri>>2] = $80; - $81 = HEAP32[$rc>>2]|0; - $82 = ($81|0)==(0); - if ($82) { - $83 = HEAP32[$nPathname>>2]|0; - $84 = (($83) + 8)|0; - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 8|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($84|0)>($87|0); - if ($88) { - $89 = (_sqlite3CantopenError(51006)|0); - HEAP32[$rc>>2] = $89; - } + HEAP32[$5>>2] = 0; + $25 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($25|0); +} +function _getOverflowPage($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, $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, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + $13 = sp + 36|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 17|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if ($17) { + $18 = HEAP32[$5>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$12>>2] = $19; + while(1) { + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$12>>2]|0; + $22 = (_ptrmapPageno($20,$21)|0); + $23 = HEAP32[$12>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $74 = 1; + } else { + $25 = HEAP32[$12>>2]|0; + $26 = HEAP32[482]|0; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($26>>>0) / ($29>>>0))&-1; + $31 = (($30) + 1)|0; + $32 = ($25|0)==($31|0); + $74 = $32; } - $90 = HEAP32[$rc>>2]|0; - $91 = ($90|0)!=(0); - if ($91) { - $92 = HEAP32[$zPathname>>2]|0; - _sqlite3DbFree(0,$92); - $93 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $93; - $378 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($378|0); + $33 = HEAP32[$12>>2]|0; + if (!($74)) { + break; } + $34 = (($33) + 1)|0; + HEAP32[$12>>2] = $34; } - } - $94 = HEAP32[$pcacheSize>>2]|0; - $95 = (($94) + 7)|0; - $96 = $95 & -8; - $97 = (224 + ($96))|0; - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 4|0); - $100 = HEAP32[$99>>2]|0; - $101 = (($100) + 7)|0; - $102 = $101 & -8; - $103 = (($97) + ($102))|0; - $104 = HEAP32[$journalFileSize>>2]|0; - $105 = $104<<1; - $106 = (($103) + ($105))|0; - $107 = HEAP32[$nPathname>>2]|0; - $108 = (($106) + ($107))|0; - $109 = (($108) + 1)|0; - $110 = HEAP32[$nUri>>2]|0; - $111 = (($109) + ($110))|0; - $112 = HEAP32[$nPathname>>2]|0; - $113 = (($111) + ($112))|0; - $114 = (($113) + 8)|0; - $115 = (($114) + 2)|0; - $116 = HEAP32[$nPathname>>2]|0; - $117 = (($115) + ($116))|0; - $118 = (($117) + 4)|0; - $119 = (($118) + 2)|0; - $120 = (_sqlite3MallocZero($119,0)|0); - HEAP32[$pPtr>>2] = $120; - $121 = HEAP32[$pPtr>>2]|0; - $122 = ($121|0)!=(0|0); - if (!($122)) { - $123 = HEAP32[$zPathname>>2]|0; - _sqlite3DbFree(0,$123); - HEAP32[$0>>2] = 7; - $378 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($378|0); - } - $124 = HEAP32[$pPtr>>2]|0; - HEAP32[$pPager>>2] = $124; - $125 = HEAP32[$pPtr>>2]|0; - $126 = ((($125)) + 224|0); - HEAP32[$pPtr>>2] = $126; - $127 = HEAP32[$pPager>>2]|0; - $128 = ((($127)) + 212|0); - HEAP32[$128>>2] = $126; - $129 = HEAP32[$pcacheSize>>2]|0; - $130 = (($129) + 7)|0; - $131 = $130 & -8; - $132 = HEAP32[$pPtr>>2]|0; - $133 = (($132) + ($131)|0); - HEAP32[$pPtr>>2] = $133; - $134 = HEAP32[$pPager>>2]|0; - $135 = ((($134)) + 64|0); - HEAP32[$135>>2] = $133; - $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 4|0); - $138 = HEAP32[$137>>2]|0; - $139 = (($138) + 7)|0; - $140 = $139 & -8; - $141 = HEAP32[$pPtr>>2]|0; - $142 = (($141) + ($140)|0); - HEAP32[$pPtr>>2] = $142; - $143 = HEAP32[$pPager>>2]|0; - $144 = ((($143)) + 72|0); - HEAP32[$144>>2] = $142; - $145 = HEAP32[$journalFileSize>>2]|0; - $146 = HEAP32[$pPtr>>2]|0; - $147 = (($146) + ($145)|0); - HEAP32[$pPtr>>2] = $147; - $148 = HEAP32[$pPager>>2]|0; - $149 = ((($148)) + 68|0); - HEAP32[$149>>2] = $147; - $150 = HEAP32[$journalFileSize>>2]|0; - $151 = HEAP32[$pPtr>>2]|0; - $152 = (($151) + ($150)|0); - HEAP32[$pPtr>>2] = $152; - $153 = HEAP32[$pPager>>2]|0; - $154 = ((($153)) + 176|0); - HEAP32[$154>>2] = $152; - $155 = HEAP32[$zPathname>>2]|0; - $156 = ($155|0)!=(0|0); - if ($156) { - $157 = HEAP32[$nPathname>>2]|0; - $158 = (($157) + 1)|0; - $159 = HEAP32[$nUri>>2]|0; - $160 = (($158) + ($159))|0; - $161 = HEAP32[$pPtr>>2]|0; - $162 = (($161) + ($160)|0); - HEAP32[$pPtr>>2] = $162; - $163 = HEAP32[$pPager>>2]|0; - $164 = ((($163)) + 180|0); - HEAP32[$164>>2] = $162; - $165 = HEAP32[$pPager>>2]|0; - $166 = ((($165)) + 176|0); - $167 = HEAP32[$166>>2]|0; - $168 = HEAP32[$zPathname>>2]|0; - $169 = HEAP32[$nPathname>>2]|0; - _memcpy(($167|0),($168|0),($169|0))|0; - $170 = HEAP32[$nUri>>2]|0; - $171 = ($170|0)!=(0); - if ($171) { - $172 = HEAP32[$nPathname>>2]|0; - $173 = (($172) + 1)|0; - $174 = HEAP32[$pPager>>2]|0; - $175 = ((($174)) + 176|0); - $176 = HEAP32[$175>>2]|0; - $177 = (($176) + ($173)|0); - $178 = HEAP32[$zUri>>2]|0; - $179 = HEAP32[$nUri>>2]|0; - _memcpy(($177|0),($178|0),($179|0))|0; - } - $180 = HEAP32[$pPager>>2]|0; - $181 = ((($180)) + 180|0); - $182 = HEAP32[$181>>2]|0; - $183 = HEAP32[$zPathname>>2]|0; - $184 = HEAP32[$nPathname>>2]|0; - _memcpy(($182|0),($183|0),($184|0))|0; - $185 = HEAP32[$nPathname>>2]|0; - $186 = HEAP32[$pPager>>2]|0; - $187 = ((($186)) + 180|0); - $188 = HEAP32[$187>>2]|0; - $189 = (($188) + ($185)|0); - dest=$189; src=25989; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $190 = HEAP32[$nPathname>>2]|0; - $191 = (($190) + 8)|0; - $192 = (($191) + 1)|0; - $193 = HEAP32[$pPager>>2]|0; - $194 = ((($193)) + 180|0); - $195 = HEAP32[$194>>2]|0; - $196 = (($195) + ($192)|0); - $197 = HEAP32[$pPager>>2]|0; - $198 = ((($197)) + 220|0); - HEAP32[$198>>2] = $196; - $199 = HEAP32[$pPager>>2]|0; - $200 = ((($199)) + 220|0); - $201 = HEAP32[$200>>2]|0; - $202 = HEAP32[$zPathname>>2]|0; - $203 = HEAP32[$nPathname>>2]|0; - _memcpy(($201|0),($202|0),($203|0))|0; - $204 = HEAP32[$nPathname>>2]|0; - $205 = HEAP32[$pPager>>2]|0; - $206 = ((($205)) + 220|0); - $207 = HEAP32[$206>>2]|0; - $208 = (($207) + ($204)|0); - ;HEAP8[$208>>0]=HEAP8[25999>>0]|0;HEAP8[$208+1>>0]=HEAP8[25999+1>>0]|0;HEAP8[$208+2>>0]=HEAP8[25999+2>>0]|0;HEAP8[$208+3>>0]=HEAP8[25999+3>>0]|0;HEAP8[$208+4>>0]=HEAP8[25999+4>>0]|0; - $209 = HEAP32[$zPathname>>2]|0; - _sqlite3DbFree(0,$209); - } - $210 = HEAP32[$1>>2]|0; - $211 = HEAP32[$pPager>>2]|0; - HEAP32[$211>>2] = $210; - $212 = HEAP32[$6>>2]|0; - $213 = HEAP32[$pPager>>2]|0; - $214 = ((($213)) + 152|0); - HEAP32[$214>>2] = $212; - $215 = HEAP32[$3>>2]|0; - $216 = ($215|0)!=(0|0); - do { - if ($216) { - $217 = HEAP32[$3>>2]|0; - $218 = HEAP8[$217>>0]|0; - $219 = $218 << 24 >> 24; - $220 = ($219|0)!=(0); - if ($220) { - HEAP32[$fout>>2] = 0; - $221 = HEAP32[$1>>2]|0; - $222 = HEAP32[$pPager>>2]|0; - $223 = ((($222)) + 176|0); - $224 = HEAP32[$223>>2]|0; - $225 = HEAP32[$pPager>>2]|0; - $226 = ((($225)) + 64|0); - $227 = HEAP32[$226>>2]|0; - $228 = HEAP32[$6>>2]|0; - $229 = (_sqlite3OsOpen($221,$224,$227,$228,$fout)|0); - HEAP32[$rc>>2] = $229; - $230 = HEAP32[$fout>>2]|0; - $231 = $230 & 1; - HEAP32[$readOnly>>2] = $231; - $232 = HEAP32[$rc>>2]|0; - $233 = ($232|0)==(0); - if ($233) { - $234 = HEAP32[$pPager>>2]|0; - $235 = ((($234)) + 64|0); - $236 = HEAP32[$235>>2]|0; - $237 = (_sqlite3OsDeviceCharacteristics($236)|0); - HEAP32[$iDc>>2] = $237; - $238 = HEAP32[$readOnly>>2]|0; - $239 = ($238|0)!=(0); - do { - if (!($239)) { - $240 = HEAP32[$pPager>>2]|0; - _setSectorSize($240); - $241 = HEAP32[$szPageDflt>>2]|0; - $242 = HEAP32[$pPager>>2]|0; - $243 = ((($242)) + 156|0); - $244 = HEAP32[$243>>2]|0; - $245 = ($241>>>0)<($244>>>0); - if ($245) { - $246 = HEAP32[$pPager>>2]|0; - $247 = ((($246)) + 156|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248>>>0)>(8192); - if ($249) { - HEAP32[$szPageDflt>>2] = 8192; - break; - } else { - $250 = HEAP32[$pPager>>2]|0; - $251 = ((($250)) + 156|0); - $252 = HEAP32[$251>>2]|0; - HEAP32[$szPageDflt>>2] = $252; - break; - } - } - } - } while(0); - $253 = HEAP32[$3>>2]|0; - $254 = (_sqlite3_uri_boolean($253,26005,0)|0); - $255 = $254&255; - $256 = HEAP32[$pPager>>2]|0; - $257 = ((($256)) + 14|0); - HEAP8[$257>>0] = $255; - $258 = HEAP32[$iDc>>2]|0; - $259 = $258 & 8192; - $260 = ($259|0)!=(0); - if (!($260)) { - $261 = HEAP32[$3>>2]|0; - $262 = (_sqlite3_uri_boolean($261,26012,0)|0); - $263 = ($262|0)!=(0); - if (!($263)) { - break; - } + $35 = HEAP32[$4>>2]|0; + $36 = (_btreePagecount($35)|0); + $37 = ($33>>>0)<=($36>>>0); + if ($37) { + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$12>>2]|0; + $40 = (_ptrmapGet($38,$39,$13,$11)|0); + HEAP32[$10>>2] = $40; + $41 = HEAP32[$10>>2]|0; + $42 = ($41|0)==(0); + if ($42) { + $43 = HEAP8[$13>>0]|0; + $44 = $43&255; + $45 = ($44|0)==(4); + if ($45) { + $46 = HEAP32[$11>>2]|0; + $47 = HEAP32[$5>>2]|0; + $48 = ($46|0)==($47|0); + if ($48) { + $49 = HEAP32[$12>>2]|0; + HEAP32[$8>>2] = $49; + HEAP32[$10>>2] = 101; } - $264 = HEAP32[$6>>2]|0; - $265 = $264 | 1; - HEAP32[$6>>2] = $265; - label = 36; } - } else { - label = 36; } - } else { - label = 36; } - } while(0); - if ((label|0) == 36) { - HEAP32[$tempFile>>2] = 1; - $266 = HEAP32[$pPager>>2]|0; - $267 = ((($266)) + 17|0); - HEAP8[$267>>0] = 1; - $268 = HEAP32[$pPager>>2]|0; - $269 = ((($268)) + 18|0); - HEAP8[$269>>0] = 4; - $270 = HEAP32[$pPager>>2]|0; - $271 = ((($270)) + 14|0); - HEAP8[$271>>0] = 1; - $272 = HEAP32[$6>>2]|0; - $273 = $272 & 1; - HEAP32[$readOnly>>2] = $273; - } - $274 = HEAP32[$rc>>2]|0; - $275 = ($274|0)==(0); - if ($275) { - $276 = HEAP32[$pPager>>2]|0; - $277 = (_sqlite3PagerSetPagesize($276,$szPageDflt,-1)|0); - HEAP32[$rc>>2] = $277; - } - $278 = HEAP32[$rc>>2]|0; - $279 = ($278|0)==(0); - if ($279) { - $280 = HEAP32[$4>>2]|0; - $281 = (($280) + 7)|0; - $282 = $281 & -8; - HEAP32[$4>>2] = $282; - $283 = HEAP32[$szPageDflt>>2]|0; - $284 = HEAP32[$4>>2]|0; - $285 = HEAP32[$memDb>>2]|0; - $286 = ($285|0)!=(0); - $287 = $286 ^ 1; - $288 = $287&1; - $289 = HEAP32[$memDb>>2]|0; - $290 = ($289|0)!=(0); - $291 = $290 ^ 1; - $292 = $291 ? 186 : 0; - $293 = HEAP32[$pPager>>2]|0; - $294 = HEAP32[$pPager>>2]|0; - $295 = ((($294)) + 212|0); - $296 = HEAP32[$295>>2]|0; - $297 = (_sqlite3PcacheOpen($283,$284,$288,$292,$293,$296)|0); - HEAP32[$rc>>2] = $297; - } - $298 = HEAP32[$rc>>2]|0; - $299 = ($298|0)!=(0); - if ($299) { - $300 = HEAP32[$pPager>>2]|0; - $301 = ((($300)) + 64|0); - $302 = HEAP32[$301>>2]|0; - _sqlite3OsClose($302); - $303 = HEAP32[$pPager>>2]|0; - $304 = ((($303)) + 208|0); - $305 = HEAP32[$304>>2]|0; - _sqlite3PageFree($305); - $306 = HEAP32[$pPager>>2]|0; - _sqlite3_free($306); - $307 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $307; - $378 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($378|0); - } - $308 = HEAP32[$useJournal>>2]|0; - $309 = $308&255; - $310 = HEAP32[$pPager>>2]|0; - $311 = ((($310)) + 6|0); - HEAP8[$311>>0] = $309; - $312 = HEAP32[$pPager>>2]|0; - $313 = ((($312)) + 164|0); - HEAP32[$313>>2] = 1073741823; - $314 = HEAP32[$tempFile>>2]|0; - $315 = $314&255; - $316 = HEAP32[$pPager>>2]|0; - $317 = ((($316)) + 13|0); - HEAP8[$317>>0] = $315; - $318 = HEAP32[$tempFile>>2]|0; - $319 = $318&255; - $320 = HEAP32[$pPager>>2]|0; - $321 = ((($320)) + 4|0); - HEAP8[$321>>0] = $319; - $322 = HEAP32[$pPager>>2]|0; - $323 = ((($322)) + 13|0); - $324 = HEAP8[$323>>0]|0; - $325 = HEAP32[$pPager>>2]|0; - $326 = ((($325)) + 19|0); - HEAP8[$326>>0] = $324; - $327 = HEAP32[$memDb>>2]|0; - $328 = $327&255; - $329 = HEAP32[$pPager>>2]|0; - $330 = ((($329)) + 16|0); - HEAP8[$330>>0] = $328; - $331 = HEAP32[$readOnly>>2]|0; - $332 = $331&255; - $333 = HEAP32[$pPager>>2]|0; - $334 = ((($333)) + 15|0); - HEAP8[$334>>0] = $332; - $335 = HEAP32[$pPager>>2]|0; - $336 = ((($335)) + 13|0); - $337 = HEAP8[$336>>0]|0; - $338 = HEAP32[$pPager>>2]|0; - $339 = ((($338)) + 7|0); - HEAP8[$339>>0] = $337; - $340 = HEAP32[$pPager>>2]|0; - $341 = ((($340)) + 7|0); - $342 = HEAP8[$341>>0]|0; - $343 = ($342<<24>>24)!=(0); - if (!($343)) { - $344 = HEAP32[$pPager>>2]|0; - $345 = ((($344)) + 8|0); - HEAP8[$345>>0] = 1; - $346 = HEAP32[$pPager>>2]|0; - $347 = ((($346)) + 9|0); - HEAP8[$347>>0] = 0; - $348 = HEAP32[$pPager>>2]|0; - $349 = ((($348)) + 12|0); - HEAP8[$349>>0] = 2; - $350 = HEAP32[$pPager>>2]|0; - $351 = ((($350)) + 11|0); - HEAP8[$351>>0] = 34; - $352 = HEAP32[$pPager>>2]|0; - $353 = ((($352)) + 10|0); - HEAP8[$353>>0] = 2; } - $354 = HEAP32[$4>>2]|0; - $355 = $354&65535; - $356 = HEAP32[$pPager>>2]|0; - $357 = ((($356)) + 148|0); - HEAP16[$357>>1] = $355; - $358 = HEAP32[$pPager>>2]|0; - $359 = ((($358)) + 168|0); - $360 = $359; - $361 = $360; - HEAP32[$361>>2] = -1; - $362 = (($360) + 4)|0; - $363 = $362; - HEAP32[$363>>2] = -1; - $364 = HEAP32[$pPager>>2]|0; - _setSectorSize($364); - $365 = HEAP32[$useJournal>>2]|0; - $366 = ($365|0)!=(0); - if ($366) { - $369 = HEAP32[$memDb>>2]|0; - $370 = ($369|0)!=(0); - if ($370) { - $371 = HEAP32[$pPager>>2]|0; - $372 = ((($371)) + 5|0); - HEAP8[$372>>0] = 4; + $50 = HEAP32[$10>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $52 = HEAP32[$4>>2]|0; + $53 = HEAP32[$5>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ($54|0)==(0|0); + $56 = $55 ? 2 : 0; + $57 = (_btreeGetPage($52,$53,$9,$56)|0); + HEAP32[$10>>2] = $57; + $58 = HEAP32[$10>>2]|0; + $59 = ($58|0)==(0); + if ($59) { + $60 = HEAP32[$9>>2]|0; + $61 = ((($60)) + 56|0); + $62 = HEAP32[$61>>2]|0; + $63 = (_sqlite3Get4byte($62)|0); + HEAP32[$8>>2] = $63; } + } + $64 = HEAP32[$8>>2]|0; + $65 = HEAP32[$7>>2]|0; + HEAP32[$65>>2] = $64; + $66 = HEAP32[$6>>2]|0; + $67 = ($66|0)!=(0|0); + $68 = HEAP32[$9>>2]|0; + if ($67) { + $69 = HEAP32[$6>>2]|0; + HEAP32[$69>>2] = $68; + $70 = HEAP32[$10>>2]|0; + $71 = ($70|0)==(101); + $72 = HEAP32[$10>>2]|0; + $73 = $71 ? 0 : $72; + STACKTOP = sp;return ($73|0); } else { - $367 = HEAP32[$pPager>>2]|0; - $368 = ((($367)) + 5|0); - HEAP8[$368>>0] = 2; - } - $373 = HEAP32[$7>>2]|0; - $374 = HEAP32[$pPager>>2]|0; - $375 = ((($374)) + 204|0); - HEAP32[$375>>2] = $373; - $376 = HEAP32[$pPager>>2]|0; - $377 = HEAP32[$2>>2]|0; - HEAP32[$377>>2] = $376; - HEAP32[$0>>2] = 0; - $378 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($378|0); + _releasePage($68); + $70 = HEAP32[$10>>2]|0; + $71 = ($70|0)==(101); + $72 = HEAP32[$10>>2]|0; + $73 = $71 ? 0 : $72; + STACKTOP = sp;return ($73|0); + } + return (0)|0; } -function _sqlite3PagerSetMmapLimit($pPager,$0,$1) { - $pPager = $pPager|0; +function _btreeParseCell($0,$1,$2) { $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; + $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp + 8|0; - $3 = sp; - HEAP32[$2>>2] = $pPager; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = $3; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 136|0); - $16 = $15; - $17 = $16; - HEAP32[$17>>2] = $10; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $13; - $20 = HEAP32[$2>>2]|0; - _pagerFixMaplimit($20); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 80|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 56|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 64|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = $20<<1; + $22 = (($19) + ($21)|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 8; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 64|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$4>>2]|0; + $30 = $29<<1; + $31 = (($28) + ($30)|0); + $32 = ((($31)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $25 | $34; + $36 = $16 & $35; + $37 = (($12) + ($36)|0); + $38 = HEAP32[$5>>2]|0; + FUNCTION_TABLE_viii[$8 & 255]($9,$37,$38); STACKTOP = sp;return; } -function _sqlite3PagerReadFileheader($pPager,$N,$pDest) { - $pPager = $pPager|0; - $N = $N|0; - $pDest = $pDest|0; - var $$ = 0, $0 = 0, $1 = 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; - var $rc = 0, label = 0, sp = 0; +function _sqlite3PagerCommitPhaseTwo($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $N; - HEAP32[$2>>2] = $pDest; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - _memset(($3|0),0,($4|0))|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 64|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 44|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = HEAP32[$2>>2]|0; + if ($7) { + $9 = ((($8)) + 44|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$1>>2] = $10; + $40 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($40|0); } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 64|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = (_sqlite3OsRead($12,$13,$14,0,0)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(522); - $$ = $17 ? 0 : $15; - HEAP32[$rc>>2] = $$; - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); + $11 = ((($8)) + 17|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)==(2); + if ($14) { + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 5|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)==(1); + if ($24) { + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 17|0); + HEAP8[$26>>0] = 1; + HEAP32[$1>>2] = 0; + $40 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($40|0); + } + } + } + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 108|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$28>>2] = $30; + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 20|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = (_pager_end_transaction($31,$35,1)|0); + HEAP32[$3>>2] = $36; + $37 = HEAP32[$2>>2]|0; + $38 = HEAP32[$3>>2]|0; + $39 = (_pager_error($37,$38)|0); + HEAP32[$1>>2] = $39; + $40 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($40|0); } -function _btreeInvokeBusyHandler($pArg) { - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $pBt = 0, label = 0, sp = 0; +function _btreeClearHasContent($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $pArg; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pBt>>2] = $1; - $2 = HEAP32[$pBt>>2]|0; - $3 = ((($2)) + 4|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 60|0); $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 380|0); - $6 = (_sqlite3InvokeBusyHandler($5)|0); - STACKTOP = sp;return ($6|0); + _sqlite3BitvecDestroy($4); + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 60|0); + HEAP32[$6>>2] = 0; + STACKTOP = sp;return; } -function _sqlite3PagerSetBusyhandler($pPager,$xBusyHandler,$pBusyHandlerArg) { - $pPager = $pPager|0; - $xBusyHandler = $xBusyHandler|0; - $pBusyHandlerArg = $pBusyHandlerArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $ap = 0, label = 0, sp = 0; +function _btreeEndTransaction($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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - $ap = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $xBusyHandler; - HEAP32[$2>>2] = $pBusyHandlerArg; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 184|0); - HEAP32[$5>>2] = $3; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 188|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 64|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 184|0); - HEAP32[$ap>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 64|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$ap>>2]|0; - _sqlite3OsFileControlHint($18,15,$19); - STACKTOP = sp;return; -} -function _sqlite3PagerIsreadonly($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 15|0); - $3 = HEAP8[$2>>0]|0; - STACKTOP = sp;return ($3|0); -} -function _sqlite3Get4byte($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = $8 << 16; - $10 = $4 | $9; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 2|0); + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 19|0); + HEAP8[$10>>0] = 0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 8|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; - $15 = $14 << 8; - $16 = $10 | $15; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 3|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $16 | $20; - STACKTOP = sp;return ($21|0); -} -function _sqlite3PagerClose($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pTmp = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 208|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pTmp>>2] = $3; - _sqlite3BeginBenignMalloc(); - $4 = HEAP32[$0>>2]|0; - _pagerFreeMapHdrs($4); - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - HEAP8[$6>>0] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 216|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 10|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 160|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$pTmp>>2]|0; - (_sqlite3WalClose($9,$13,$16,$17)|0); - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 216|0); - HEAP32[$19>>2] = 0; - $20 = HEAP32[$0>>2]|0; - _pager_reset($20); - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 16|0); - $23 = HEAP8[$22>>0]|0; - $24 = ($23<<24>>24)!=(0); - $25 = HEAP32[$0>>2]|0; - if ($24) { - _pager_unlock($25); - } else { - $26 = ((($25)) + 68|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$0>>2]|0; - $32 = (_pagerSyncHotJournal($31)|0); - (_pager_error($30,$32)|0); + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 160|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)>(1); + if ($19) { + $20 = HEAP32[$1>>2]|0; + _downgradeAllSharedCacheTableLocks($20); + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 8|0); + HEAP8[$22>>0] = 1; + STACKTOP = sp;return; } - $33 = HEAP32[$0>>2]|0; - _pagerUnlockAndRollback($33); } - _sqlite3EndBenignMalloc(); - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 68|0); - $36 = HEAP32[$35>>2]|0; - _sqlite3OsClose($36); - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 64|0); - $39 = HEAP32[$38>>2]|0; - _sqlite3OsClose($39); - $40 = HEAP32[$pTmp>>2]|0; - _sqlite3PageFree($40); - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 212|0); - $43 = HEAP32[$42>>2]|0; - _sqlite3PcacheClose($43); - $44 = HEAP32[$0>>2]|0; - _sqlite3_free($44); - STACKTOP = sp;return 0; -} -function _pagerFreeMapHdrs($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pNext = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $p = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 144|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; - while(1) { - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - break; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$1>>2]|0; + _clearAllSharedCacheTableLocks($28); + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 40|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + -1)|0; + HEAP32[$30>>2] = $32; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 40|0); + $35 = HEAP32[$34>>2]|0; + $36 = (0)==($35|0); + if ($36) { + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 20|0); + HEAP8[$38>>0] = 0; } - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pNext>>2] = $8; - $9 = HEAP32[$p>>2]|0; - _sqlite3_free($9); - $10 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $10; } + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 8|0); + HEAP8[$40>>0] = 0; + $41 = HEAP32[$2>>2]|0; + _unlockBtreeIfUnused($41); STACKTOP = sp;return; } -function _sqlite3WalClose($pWal,$sync_flags,$nBuf,$zBuf) { - $pWal = $pWal|0; - $sync_flags = $sync_flags|0; - $nBuf = $nBuf|0; - $zBuf = $zBuf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $bPersist = 0, $isDelete = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $rc = sp + 8|0; - $isDelete = sp + 4|0; - $bPersist = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $sync_flags; - HEAP32[$2>>2] = $nBuf; - HEAP32[$3>>2] = $zBuf; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - $61 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($61|0); - } - HEAP32[$isDelete>>2] = 0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3OsLock($8,4)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - do { - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 43|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==(0); - if ($16) { - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 43|0); - HEAP8[$18>>0] = 1; - } - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = (_sqlite3WalCheckpoint($19,0,0,0,$20,$21,$22,0,0)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - HEAP32[$bPersist>>2] = -1; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - _sqlite3OsFileControlHint($28,10,$bPersist); - $29 = HEAP32[$bPersist>>2]|0; - $30 = ($29|0)!=(1); - if ($30) { - HEAP32[$isDelete>>2] = 1; - break; - } - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 16|0); - $33 = $32; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (($33) + 4)|0; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)>(0); - $40 = ($35>>>0)>=(0); - $41 = ($38|0)==(0); - $42 = $41 & $40; - $43 = $39 | $42; - if ($43) { - $44 = HEAP32[$0>>2]|0; - _walLimitSize($44,0,0); - } - } - } - } while(0); - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$isDelete>>2]|0; - _walIndexClose($45,$46); - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 8|0); - $49 = HEAP32[$48>>2]|0; - _sqlite3OsClose($49); - $50 = HEAP32[$isDelete>>2]|0; - $51 = ($50|0)!=(0); - if ($51) { - _sqlite3BeginBenignMalloc(); - $52 = HEAP32[$0>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 108|0); - $56 = HEAP32[$55>>2]|0; - (_sqlite3OsDelete($53,$56,0)|0); - _sqlite3EndBenignMalloc(); - } - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 32|0); - $59 = HEAP32[$58>>2]|0; - _sqlite3_free($59); - $60 = HEAP32[$0>>2]|0; - _sqlite3_free($60); - $61 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($61|0); -} -function _pager_unlock($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $iDc = 0, $rc = 0, label = 0, sp = 0; +function _downgradeAllSharedCacheTableLocks($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $iDc = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 60|0); - $3 = HEAP32[$2>>2]|0; - _sqlite3BitvecDestroy($3); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 60|0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[$0>>2]|0; - _releaseAllSavepoints($6); - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3PagerUseWal($7)|0); - $9 = ($8|0)!=(0); - $10 = HEAP32[$0>>2]|0; - if ($9) { - $11 = ((($10)) + 216|0); - $12 = HEAP32[$11>>2]|0; - _sqlite3WalEndReadTransaction($12); - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 17|0); - HEAP8[$14>>0] = 0; - } else { - $15 = ((($10)) + 4|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 64|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0|0); - if ($22) { - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 64|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3OsDeviceCharacteristics($25)|0); - $27 = $26; - } else { - $27 = 0; - } - HEAP32[$iDc>>2] = $27; - $28 = HEAP32[$iDc>>2]|0; - $29 = $28 & 2048; - $30 = (0)==($29|0); - if ($30) { - label = 8; - } else { - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 5|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 & 5; - $36 = (1)!=($35|0); - if ($36) { - label = 8; - } - } - if ((label|0) == 8) { - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 68|0); - $39 = HEAP32[$38>>2]|0; - _sqlite3OsClose($39); - } - $40 = HEAP32[$0>>2]|0; - $41 = (_pagerUnlockDb($40,0)|0); - HEAP32[$rc>>2] = $41; - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)!=(0); - if ($43) { - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 17|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = ($47|0)==(6); - if ($48) { - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 18|0); - HEAP8[$50>>0] = 5; - } - } - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 19|0); - HEAP8[$52>>0] = 0; - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 17|0); - HEAP8[$54>>0] = 0; - } - } - $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 44|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)!=(0); - if (!($58)) { - $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 80|0); - $81 = $80; - $82 = $81; - HEAP32[$82>>2] = 0; - $83 = (($81) + 4)|0; - $84 = $83; - HEAP32[$84>>2] = 0; - $85 = HEAP32[$0>>2]|0; - $86 = ((($85)) + 88|0); - $87 = $86; - $88 = $87; - HEAP32[$88>>2] = 0; - $89 = (($87) + 4)|0; - $90 = $89; - HEAP32[$90>>2] = 0; - $91 = HEAP32[$0>>2]|0; - $92 = ((($91)) + 20|0); - HEAP8[$92>>0] = 0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 76|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ($9|0)==($10|0); + if (!($11)) { STACKTOP = sp;return; } - $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 13|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = ($62|0)==(0); - $64 = HEAP32[$0>>2]|0; - if ($63) { - _pager_reset($64); - $65 = HEAP32[$0>>2]|0; - $66 = ((($65)) + 19|0); - HEAP8[$66>>0] = 0; - $67 = HEAP32[$0>>2]|0; - $68 = ((($67)) + 17|0); - HEAP8[$68>>0] = 0; - } else { - $69 = ((($64)) + 68|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)!=(0|0); - $73 = $72 ? 0 : 1; - $74 = $73&255; - $75 = HEAP32[$0>>2]|0; - $76 = ((($75)) + 17|0); - HEAP8[$76>>0] = $74; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 76|0); + HEAP32[$13>>2] = 0; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 22|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = $17 & -97; + $19 = $18&65535; + HEAP16[$15>>1] = $19; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 72|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$3>>2] = $22; + while(1) { + $23 = HEAP32[$3>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { + break; + } + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 8|0); + HEAP8[$26>>0] = 1; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$3>>2] = $29; } - $77 = HEAP32[$0>>2]|0; - $78 = ((($77)) + 44|0); - HEAP32[$78>>2] = 0; - $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 80|0); - $81 = $80; - $82 = $81; - HEAP32[$82>>2] = 0; - $83 = (($81) + 4)|0; - $84 = $83; - HEAP32[$84>>2] = 0; - $85 = HEAP32[$0>>2]|0; - $86 = ((($85)) + 88|0); - $87 = $86; - $88 = $87; - HEAP32[$88>>2] = 0; - $89 = (($87) + 4)|0; - $90 = $89; - HEAP32[$90>>2] = 0; - $91 = HEAP32[$0>>2]|0; - $92 = ((($91)) + 20|0); - HEAP8[$92>>0] = 0; STACKTOP = sp;return; } -function _pagerSyncHotJournal($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 7|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if (!($4)) { - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 68|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3OsSync($7,2)|0); - HEAP32[$rc>>2] = $8; - } - $9 = HEAP32[$rc>>2]|0; - $10 = ($9|0)==(0); - if (!($10)) { - $17 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($17|0); - } - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 68|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 88|0); - $16 = (_sqlite3OsFileSize($13,$15)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($17|0); -} -function _pager_error($pPager,$rc) { - $pPager = $pPager|0; - $rc = $rc|0; - var $0 = 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, $or$cond = 0, $rc2 = 0, label = 0, sp = 0; +function _clearAllSharedCacheTableLocks($0) { + $0 = $0|0; + var $$sink3 = 0, $$sink5 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc2 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $rc; - $2 = HEAP32[$1>>2]|0; - $3 = $2 & 255; - HEAP32[$rc2>>2] = $3; - $4 = HEAP32[$rc2>>2]|0; - $5 = ($4|0)==(13); - $6 = HEAP32[$rc2>>2]|0; - $7 = ($6|0)==(10); - $or$cond = $5 | $7; - if (!($or$cond)) { - $13 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($13|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 72|0); + HEAP32[$3>>2] = $9; + while(1) { + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + break; + } + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $14; + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = ($16|0)==($17|0); + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 12|0); + if (!($18)) { + HEAP32[$3>>2] = $20; + continue; + } + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$3>>2]|0; + HEAP32[$22>>2] = $21; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(1); + if (!($26)) { + continue; + } + $27 = HEAP32[$4>>2]|0; + _sqlite3_free($27); } - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 44|0); - HEAP32[$10>>2] = $8; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 17|0); - HEAP8[$12>>0] = 6; - $13 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($13|0); -} -function _pagerUnlockAndRollback($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 17|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(6); + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 76|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$1>>2]|0; + $32 = ($30|0)==($31|0); + $33 = HEAP32[$2>>2]|0; do { - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 17|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 17|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)>=(2); - if ($15) { - _sqlite3BeginBenignMalloc(); - $16 = HEAP32[$0>>2]|0; - (_sqlite3PagerRollback($16)|0); - _sqlite3EndBenignMalloc(); - break; - } - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)!=(0); - if (!($20)) { - $21 = HEAP32[$0>>2]|0; - (_pager_end_transaction($21,0,0)|0); - } + if ($32) { + $34 = ((($33)) + 76|0); + HEAP32[$34>>2] = 0; + $35 = HEAP32[$2>>2]|0; + $$sink3 = -97;$$sink5 = $35; + } else { + $36 = ((($33)) + 40|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(2); + if ($38) { + $39 = HEAP32[$2>>2]|0; + $$sink3 = -65;$$sink5 = $39; + break; + } else { + STACKTOP = sp;return; } } } while(0); - $22 = HEAP32[$0>>2]|0; - _pager_unlock($22); + $40 = ((($$sink5)) + 22|0); + $41 = HEAP16[$40>>1]|0; + $42 = $41&65535; + $43 = $42 & $$sink3; + $44 = $43&65535; + HEAP16[$40>>1] = $44; STACKTOP = sp;return; } -function _sqlite3OsClose($pId) { - $pId = $pId|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _unlockBtreeIfUnused($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pId; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 20|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)==(0); + if (!($7)) { STACKTOP = sp;return; } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - (FUNCTION_TABLE_ii[$7 & 255]($8)|0); - $9 = HEAP32[$0>>2]|0; - HEAP32[$9>>2] = 0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + STACKTOP = sp;return; + } + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$2>>2] = $14; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 12|0); + HEAP32[$16>>2] = 0; + $17 = HEAP32[$2>>2]|0; + _releasePageNotNull($17); STACKTOP = sp;return; } -function _sqlite3PcacheClose($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3FaultSim($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[(160)>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 44|0); - $4 = HEAP32[$3>>2]|0; - FUNCTION_TABLE_vi[$1 & 255]($4); - STACKTOP = sp;return; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[(272)>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $9 = 0; + STACKTOP = sp;return ($9|0); + } + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = (FUNCTION_TABLE_ii[$6 & 255]($7)|0); + $9 = $8; + STACKTOP = sp;return ($9|0); } -function _sqlite3PagerRollback($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0; - var $eState = 0, $or$cond = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; +function _pager_incr_changecounter($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $rc = sp + 8|0; - $rc2 = sp + 4|0; - $eState = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 17|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(6); - $7 = HEAP32[$1>>2]|0; - if ($6) { - $8 = ((($7)) + 44|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$0>>2] = $9; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 19|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)!=(0); + if ($9) { + $26 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($26|0); } - $10 = ((($7)) + 17|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)<=(1); - if ($13) { - HEAP32[$0>>2] = 0; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(0); + if (!($13)) { + $26 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($26|0); } - $14 = HEAP32[$1>>2]|0; - $15 = (_sqlite3PagerUseWal($14)|0); - $16 = ($15|0)!=(0); - $17 = HEAP32[$1>>2]|0; - do { - if ($16) { - $18 = (_sqlite3PagerSavepoint($17,2,-1)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = (_pager_end_transaction($19,$23,0)|0); - HEAP32[$rc2>>2] = $24; - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)==(0); - if ($26) { - $27 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $27; - } - } else { - $28 = ((($17)) + 68|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 17|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = ($35|0)==(2); - if (!($36)) { - $54 = HEAP32[$1>>2]|0; - $55 = (_pager_playback($54,0)|0); - HEAP32[$rc>>2] = $55; - break; - } - } - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 17|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - HEAP32[$eState>>2] = $40; - $41 = HEAP32[$1>>2]|0; - $42 = (_pager_end_transaction($41,0,0)|0); - HEAP32[$rc>>2] = $42; - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 16|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45<<24>>24)==(0); - $47 = HEAP32[$eState>>2]|0; - $48 = ($47|0)>(2); - $or$cond = $46 & $48; - if ($or$cond) { - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 44|0); - HEAP32[$50>>2] = 4; - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 17|0); - HEAP8[$52>>0] = 6; - $53 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $53; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); - } - } - } while(0); - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$rc>>2]|0; - $58 = (_pager_error($56,$57)|0); - HEAP32[$0>>2] = $58; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + $14 = HEAP32[$2>>2]|0; + $15 = (_sqlite3PagerGet($14,1,$5,0)|0); + HEAP32[$4>>2] = $15; + $16 = HEAP32[$4>>2]|0; + $17 = ($16|0)==(0); + if ($17) { + $18 = HEAP32[$5>>2]|0; + $19 = (_sqlite3PagerWrite($18)|0); + HEAP32[$4>>2] = $19; + } + $20 = HEAP32[$4>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + $22 = HEAP32[$5>>2]|0; + _pager_write_changecounter($22); + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 19|0); + HEAP8[$24>>0] = 1; + } + $25 = HEAP32[$5>>2]|0; + _sqlite3PagerUnref($25); + $26 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($26|0); } -function _pager_end_transaction($pPager,$hasMaster,$bCommit) { - $pPager = $pPager|0; - $hasMaster = $hasMaster|0; - $bCommit = $bCommit|0; - var $$ = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $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, $bDelete = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; +function _writeMasterJournal($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $rc = sp + 8|0; - $rc2 = sp + 4|0; - $bDelete = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $hasMaster; - HEAP32[$3>>2] = $bCommit; - HEAP32[$rc>>2] = 0; - HEAP32[$rc2>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 17|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)<(2); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 18|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)<(2); - if ($13) { - HEAP32[$0>>2] = 0; - $205 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($205|0); - } - } - $14 = HEAP32[$1>>2]|0; - _releaseAllSavepoints($14); - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 68|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)!=(0|0); - L6: do { - if ($19) { - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 68|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3JournalIsInMemory($22)|0); - $24 = ($23|0)!=(0); - $25 = HEAP32[$1>>2]|0; - if ($24) { - $26 = ((($25)) + 68|0); - $27 = HEAP32[$26>>2]|0; - _sqlite3OsClose($27); - break; - } - $28 = ((($25)) + 5|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = ($30|0)==(3); - $32 = HEAP32[$1>>2]|0; - if ($31) { - $33 = ((($32)) + 80|0); - $34 = $33; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = ($36|0)==(0); - $41 = ($39|0)==(0); - $42 = $40 & $41; - if ($42) { - HEAP32[$rc>>2] = 0; - } else { - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 68|0); - $45 = HEAP32[$44>>2]|0; - $46 = (_sqlite3OsTruncate($45,0,0)|0); - HEAP32[$rc>>2] = $46; - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 8|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = ($52|0)!=(0); - if ($53) { - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 68|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 12|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = (_sqlite3OsSync($56,$60)|0); - HEAP32[$rc>>2] = $61; - } + STACKTOP = STACKTOP + 48|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$9>>2] = 0; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 5|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==(4); + if (!($16)) { + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 68|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 20|0); + HEAP8[$23>>0] = 1; + HEAP32[$6>>2] = 0; + while(1) { + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$6>>2]|0; + $26 = (($24) + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = ($27<<24>>24)!=(0); + if (!($28)) { + break; } + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = (($29) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32 << 24 >> 24; + $34 = HEAP32[$9>>2]|0; + $35 = (($34) + ($33))|0; + HEAP32[$9>>2] = $35; + $36 = HEAP32[$6>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$6>>2] = $37; } - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 80|0); - $64 = $63; - $65 = $64; - HEAP32[$65>>2] = 0; - $66 = (($64) + 4)|0; + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 8|0); + $40 = HEAP8[$39>>0]|0; + $41 = ($40<<24>>24)!=(0); + if ($41) { + $42 = HEAP32[$3>>2]|0; + $43 = (_journalHdrOffset($42)|0); + $44 = tempRet0; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 80|0); + $47 = $46; + $48 = $47; + HEAP32[$48>>2] = $43; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = $44; + } + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 80|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $7; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = HEAP32[$3>>2]|0; + $64 = ((($63)) + 68|0); + $65 = HEAP32[$64>>2]|0; + $66 = $7; $67 = $66; - HEAP32[$67>>2] = 0; - break; - } - $68 = ((($32)) + 5|0); - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - $71 = ($70|0)==(1); - do { - if (!($71)) { - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 4|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = ($75|0)!=(0); - if ($76) { - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 5|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = ($80|0)!=(5); - if ($81) { - break; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[482]|0; + $73 = HEAP32[$3>>2]|0; + $74 = ((($73)) + 160|0); + $75 = HEAP32[$74>>2]|0; + $76 = (($72|0) / ($75|0))&-1; + $77 = (($76) + 1)|0; + $78 = (_write32bits($65,$68,$71,$77)|0); + HEAP32[$5>>2] = $78; + $79 = (0)!=($78|0); + if (!($79)) { + $80 = HEAP32[$3>>2]|0; + $81 = ((($80)) + 68|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$4>>2]|0; + $84 = HEAP32[$6>>2]|0; + $85 = $7; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (_i64Add(($87|0),($90|0),4,0)|0); + $92 = tempRet0; + $93 = (_sqlite3OsWrite($82,$83,$84,$91,$92)|0); + HEAP32[$5>>2] = $93; + $94 = (0)!=($93|0); + if (!($94)) { + $95 = HEAP32[$3>>2]|0; + $96 = ((($95)) + 68|0); + $97 = HEAP32[$96>>2]|0; + $98 = $7; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (($98) + 4)|0; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = (_i64Add(($100|0),($103|0),4,0)|0); + $105 = tempRet0; + $106 = HEAP32[$6>>2]|0; + $107 = ($106|0)<(0); + $108 = $107 << 31 >> 31; + $109 = (_i64Add(($104|0),($105|0),($106|0),($108|0))|0); + $110 = tempRet0; + $111 = HEAP32[$6>>2]|0; + $112 = (_write32bits($97,$109,$110,$111)|0); + HEAP32[$5>>2] = $112; + $113 = (0)!=($112|0); + if (!($113)) { + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + 68|0); + $116 = HEAP32[$115>>2]|0; + $117 = $7; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (_i64Add(($119|0),($122|0),4,0)|0); + $124 = tempRet0; + $125 = HEAP32[$6>>2]|0; + $126 = ($125|0)<(0); + $127 = $126 << 31 >> 31; + $128 = (_i64Add(($123|0),($124|0),($125|0),($127|0))|0); + $129 = tempRet0; + $130 = (_i64Add(($128|0),($129|0),4,0)|0); + $131 = tempRet0; + $132 = HEAP32[$9>>2]|0; + $133 = (_write32bits($116,$130,$131,$132)|0); + HEAP32[$5>>2] = $133; + $134 = (0)!=($133|0); + if (!($134)) { + $135 = HEAP32[$3>>2]|0; + $136 = ((($135)) + 68|0); + $137 = HEAP32[$136>>2]|0; + $138 = $7; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = (_i64Add(($140|0),($143|0),4,0)|0); + $145 = tempRet0; + $146 = HEAP32[$6>>2]|0; + $147 = ($146|0)<(0); + $148 = $147 << 31 >> 31; + $149 = (_i64Add(($144|0),($145|0),($146|0),($148|0))|0); + $150 = tempRet0; + $151 = (_i64Add(($149|0),($150|0),8,0)|0); + $152 = tempRet0; + $153 = (_sqlite3OsWrite($137,24914,8,$151,$152)|0); + HEAP32[$5>>2] = $153; + $154 = (0)!=($153|0); + if (!($154)) { + $156 = HEAP32[$6>>2]|0; + $157 = (($156) + 20)|0; + $158 = ($157|0)<(0); + $159 = $158 << 31 >> 31; + $160 = HEAP32[$3>>2]|0; + $161 = ((($160)) + 80|0); + $162 = $161; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = (($162) + 4)|0; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (_i64Add(($164|0),($167|0),($157|0),($159|0))|0); + $169 = tempRet0; + $170 = $161; + $171 = $170; + HEAP32[$171>>2] = $168; + $172 = (($170) + 4)|0; + $173 = $172; + HEAP32[$173>>2] = $169; + $174 = HEAP32[$3>>2]|0; + $175 = ((($174)) + 68|0); + $176 = HEAP32[$175>>2]|0; + $177 = (_sqlite3OsFileSize($176,$8)|0); + HEAP32[$5>>2] = $177; + $178 = (0)==($177|0); + if ($178) { + $179 = $8; + $180 = $179; + $181 = HEAP32[$180>>2]|0; + $182 = (($179) + 4)|0; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = HEAP32[$3>>2]|0; + $186 = ((($185)) + 80|0); + $187 = $186; + $188 = $187; + $189 = HEAP32[$188>>2]|0; + $190 = (($187) + 4)|0; + $191 = $190; + $192 = HEAP32[$191>>2]|0; + $193 = ($184|0)>($192|0); + $194 = ($181>>>0)>($189>>>0); + $195 = ($184|0)==($192|0); + $196 = $195 & $194; + $197 = $193 | $196; + if ($197) { + $198 = HEAP32[$3>>2]|0; + $199 = ((($198)) + 68|0); + $200 = HEAP32[$199>>2]|0; + $201 = HEAP32[$3>>2]|0; + $202 = ((($201)) + 80|0); + $203 = $202; + $204 = $203; + $205 = HEAP32[$204>>2]|0; + $206 = (($203) + 4)|0; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = (_sqlite3OsTruncate($200,$205,$208)|0); + HEAP32[$5>>2] = $209; + } + } + $210 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $210; + $211 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($211|0); + } + } } } - $99 = HEAP32[$1>>2]|0; - $100 = ((($99)) + 13|0); - $101 = HEAP8[$100>>0]|0; - $102 = ($101<<24>>24)!=(0); - $103 = $102 ^ 1; - $104 = $103&1; - HEAP32[$bDelete>>2] = $104; - $105 = HEAP32[$1>>2]|0; - $106 = ((($105)) + 68|0); - $107 = HEAP32[$106>>2]|0; - _sqlite3OsClose($107); - $108 = HEAP32[$bDelete>>2]|0; - $109 = ($108|0)!=(0); - if (!($109)) { - break L6; - } - $110 = HEAP32[$1>>2]|0; - $111 = HEAP32[$110>>2]|0; - $112 = HEAP32[$1>>2]|0; - $113 = ((($112)) + 180|0); - $114 = HEAP32[$113>>2]|0; - $115 = HEAP32[$1>>2]|0; - $116 = ((($115)) + 9|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (_sqlite3OsDelete($111,$114,$118)|0); - HEAP32[$rc>>2] = $119; - break L6; } - } while(0); - $82 = HEAP32[$1>>2]|0; - $83 = HEAP32[$2>>2]|0; - $84 = ($83|0)!=(0); - if ($84) { - $91 = 1; - } else { - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 13|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87&255; - $89 = ($88|0)!=(0); - $91 = $89; - } - $90 = $91&1; - $92 = (_zeroJournalHdr($82,$90)|0); - HEAP32[$rc>>2] = $92; - $93 = HEAP32[$1>>2]|0; - $94 = ((($93)) + 80|0); - $95 = $94; - $96 = $95; - HEAP32[$96>>2] = 0; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = 0; - } - } while(0); - $120 = HEAP32[$1>>2]|0; - $121 = ((($120)) + 60|0); - $122 = HEAP32[$121>>2]|0; - _sqlite3BitvecDestroy($122); - $123 = HEAP32[$1>>2]|0; - $124 = ((($123)) + 60|0); - HEAP32[$124>>2] = 0; - $125 = HEAP32[$1>>2]|0; - $126 = ((($125)) + 48|0); - HEAP32[$126>>2] = 0; - $127 = HEAP32[$rc>>2]|0; - $128 = ($127|0)==(0); - if ($128) { - $129 = HEAP32[$1>>2]|0; - $130 = HEAP32[$3>>2]|0; - $131 = (_pagerFlushOnCommit($129,$130)|0); - $132 = ($131|0)!=(0); - $133 = HEAP32[$1>>2]|0; - $134 = ((($133)) + 212|0); - $135 = HEAP32[$134>>2]|0; - if ($132) { - _sqlite3PcacheCleanAll($135); - } else { - _sqlite3PcacheClearWritable($135); - } - $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 212|0); - $138 = HEAP32[$137>>2]|0; - $139 = HEAP32[$1>>2]|0; - $140 = ((($139)) + 28|0); - $141 = HEAP32[$140>>2]|0; - _sqlite3PcacheTruncate($138,$141); - } - $142 = HEAP32[$1>>2]|0; - $143 = (_sqlite3PagerUseWal($142)|0); - $144 = ($143|0)!=(0); - if ($144) { - $145 = HEAP32[$1>>2]|0; - $146 = ((($145)) + 216|0); - $147 = HEAP32[$146>>2]|0; - $148 = (_sqlite3WalEndWriteTransaction($147)|0); - HEAP32[$rc2>>2] = $148; - } else { - $149 = HEAP32[$rc>>2]|0; - $150 = ($149|0)==(0); - $151 = HEAP32[$3>>2]|0; - $152 = ($151|0)!=(0); - $or$cond = $150 & $152; - if ($or$cond) { - $153 = HEAP32[$1>>2]|0; - $154 = ((($153)) + 36|0); - $155 = HEAP32[$154>>2]|0; - $156 = HEAP32[$1>>2]|0; - $157 = ((($156)) + 28|0); - $158 = HEAP32[$157>>2]|0; - $159 = ($155>>>0)>($158>>>0); - if ($159) { - $160 = HEAP32[$1>>2]|0; - $161 = HEAP32[$1>>2]|0; - $162 = ((($161)) + 28|0); - $163 = HEAP32[$162>>2]|0; - $164 = (_pager_truncate($160,$163)|0); - HEAP32[$rc>>2] = $164; + $155 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $155; + $211 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($211|0); } } } - $165 = HEAP32[$rc>>2]|0; - $166 = ($165|0)==(0); - $167 = HEAP32[$3>>2]|0; - $168 = ($167|0)!=(0); - $or$cond3 = $166 & $168; - if ($or$cond3) { - $169 = HEAP32[$1>>2]|0; - $170 = ((($169)) + 64|0); - $171 = HEAP32[$170>>2]|0; - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)!=(0|0); - if ($173) { - $174 = HEAP32[$1>>2]|0; - $175 = ((($174)) + 64|0); - $176 = HEAP32[$175>>2]|0; - $177 = (_sqlite3OsFileControl($176,22,0)|0); - HEAP32[$rc>>2] = $177; - $178 = HEAP32[$rc>>2]|0; - $179 = ($178|0)==(12); - $$ = $179 ? 0 : $177; - HEAP32[$rc>>2] = $$; - } - } - $180 = HEAP32[$1>>2]|0; - $181 = ((($180)) + 4|0); - $182 = HEAP8[$181>>0]|0; - $183 = ($182<<24>>24)!=(0); - do { - if (!($183)) { - $184 = HEAP32[$1>>2]|0; - $185 = (_sqlite3PagerUseWal($184)|0); - $186 = ($185|0)!=(0); - if ($186) { - $187 = HEAP32[$1>>2]|0; - $188 = ((($187)) + 216|0); - $189 = HEAP32[$188>>2]|0; - $190 = (_sqlite3WalExclusiveMode($189,0)|0); - $191 = ($190|0)!=(0); - if (!($191)) { - break; - } - } - $192 = HEAP32[$1>>2]|0; - $193 = (_pagerUnlockDb($192,1)|0); - HEAP32[$rc2>>2] = $193; - $194 = HEAP32[$1>>2]|0; - $195 = ((($194)) + 19|0); - HEAP8[$195>>0] = 0; - } - } while(0); - $196 = HEAP32[$1>>2]|0; - $197 = ((($196)) + 17|0); - HEAP8[$197>>0] = 1; - $198 = HEAP32[$1>>2]|0; - $199 = ((($198)) + 20|0); - HEAP8[$199>>0] = 0; - $200 = HEAP32[$rc>>2]|0; - $201 = ($200|0)==(0); - $202 = HEAP32[$rc2>>2]|0; - $203 = HEAP32[$rc>>2]|0; - $204 = $201 ? $202 : $203; - HEAP32[$0>>2] = $204; - $205 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($205|0); + HEAP32[$2>>2] = 0; + $211 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($211|0); } -function _releaseAllSavepoints($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $ii = 0, label = 0, sp = 0; +function _sqlite3SchemaClear($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $ii = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$ii>>2] = 0; + STACKTOP = STACKTOP + 64|0; + $1 = sp + 48|0; + $2 = sp + 32|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$1>>2] = $0; + $7 = HEAP32[$1>>2]|0; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$5>>2]|0; + $9 = ((($8)) + 8|0); + ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 40|0); + ;HEAP32[$3>>2]=HEAP32[$11>>2]|0;HEAP32[$3+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[$11+12>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 40|0); + _sqlite3HashInit($13); + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 24|0); + _sqlite3HashClear($15); + $16 = ((($3)) + 8|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$4>>2] = $17; while(1) { - $1 = HEAP32[$ii>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 104|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1|0)<($4|0); - if (!($5)) { + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { break; } - $6 = HEAP32[$ii>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 100|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($6*48)|0)|0); - $11 = ((($10)) + 16|0); - $12 = HEAP32[$11>>2]|0; - _sqlite3BitvecDestroy($12); - $13 = HEAP32[$ii>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[$ii>>2] = $14; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3DeleteTrigger(0,$22); + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$23>>2]|0; + HEAP32[$4>>2] = $24; } - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP8[$16>>0]|0; - $18 = ($17<<24>>24)!=(0); - if ($18) { - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 72|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3JournalIsInMemory($21)|0); - $23 = ($22|0)!=(0); - if ($23) { - label = 6; + _sqlite3HashClear($3); + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 8|0); + _sqlite3HashInit($26); + $27 = ((($2)) + 8|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$4>>2] = $28; + while(1) { + $29 = HEAP32[$4>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { + break; } - } else { - label = 6; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$6>>2] = $33; + $34 = HEAP32[$6>>2]|0; + _sqlite3DeleteTable(0,$34); + $35 = HEAP32[$4>>2]|0; + $36 = HEAP32[$35>>2]|0; + HEAP32[$4>>2] = $36; } - if ((label|0) == 6) { - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 72|0); - $26 = HEAP32[$25>>2]|0; - _sqlite3OsClose($26); + _sqlite3HashClear($2); + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 56|0); + _sqlite3HashClear($38); + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 72|0); + HEAP32[$40>>2] = 0; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 78|0); + $43 = HEAP16[$42>>1]|0; + $44 = $43&65535; + $45 = $44 & 1; + $46 = ($45|0)!=(0); + if (!($46)) { + STACKTOP = sp;return; } - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 100|0); - $29 = HEAP32[$28>>2]|0; - _sqlite3_free($29); - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 100|0); - HEAP32[$31>>2] = 0; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 104|0); - HEAP32[$33>>2] = 0; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 56|0); - HEAP32[$35>>2] = 0; + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$48>>2] = $50; + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 78|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = $54 & -2; + $56 = $55&65535; + HEAP16[$52>>1] = $56; STACKTOP = sp;return; } -function _sqlite3JournalIsInMemory($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(4028|0); - $4 = $3&1; - STACKTOP = sp;return ($4|0); -} -function _sqlite3OsTruncate($id,$0,$1) { - $id = $id|0; +function _sqlite3VtabUnlockList($0) { $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; + var $1 = 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; STACKTOP = STACKTOP + 16|0; - $2 = sp + 8|0; + $1 = sp + 8|0; + $2 = sp + 4|0; $3 = sp; - HEAP32[$2>>2] = $id; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = $3; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (FUNCTION_TABLE_iiii[$11 & 255]($12,$15,$18)|0); - STACKTOP = sp;return ($19|0); -} -function _sqlite3OsSync($id,$flags) { - $id = $id|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $flags; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (FUNCTION_TABLE_iii[$5 & 255]($6,$7)|0); - STACKTOP = sp;return ($8|0); -} -function _zeroJournalHdr($pPager,$doTruncate) { - $pPager = $pPager|0; - $doTruncate = $doTruncate|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $iLimit = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $sz = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $rc = sp + 16|0; - $iLimit = sp + 8|0; - $sz = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $doTruncate; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 80|0); - $4 = $3; - $5 = $4; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 344|0); $6 = HEAP32[$5>>2]|0; - $7 = (($4) + 4)|0; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = ($6|0)!=(0); - $11 = ($9|0)!=(0); - $12 = $10 | $11; - if (!($12)) { - $102 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($102|0); - } - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 168|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $iLimit; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = HEAP32[$1>>2]|0; - $26 = ($25|0)!=(0); - $27 = $iLimit; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = ($29|0)==(0); - $34 = ($32|0)==(0); - $35 = $33 & $34; - $or$cond = $26 | $35; - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 68|0); - $38 = HEAP32[$37>>2]|0; - if ($or$cond) { - $39 = (_sqlite3OsTruncate($38,0,0)|0); - HEAP32[$rc>>2] = $39; - } else { - $40 = (_sqlite3OsWrite($38,25846,28,0,0)|0); - HEAP32[$rc>>2] = $40; + HEAP32[$2>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 344|0); + HEAP32[$8>>2] = 0; + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; } - $41 = HEAP32[$rc>>2]|0; - $42 = ($41|0)==(0); - if ($42) { - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 7|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45<<24>>24)!=(0); - if (!($46)) { - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 68|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 12|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = 16 | $53; - $55 = (_sqlite3OsSync($49,$54)|0); - HEAP32[$rc>>2] = $55; + $11 = HEAP32[$1>>2]|0; + _sqlite3ExpirePreparedStatements($11); + while(1) { + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$3>>2] = $14; + $15 = HEAP32[$2>>2]|0; + _sqlite3VtabUnlock($15); + $16 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $16; + $17 = HEAP32[$2>>2]|0; + $18 = ($17|0)!=(0|0); + if (!($18)) { + break; } } - $56 = HEAP32[$rc>>2]|0; - $57 = ($56|0)==(0); - $58 = $iLimit; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)>(0); - $65 = ($60>>>0)>(0); - $66 = ($63|0)==(0); - $67 = $66 & $65; - $68 = $64 | $67; - $or$cond3 = $57 & $68; - if (!($or$cond3)) { - $102 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($102|0); + STACKTOP = sp;return; +} +function _sqlite3CollapseDatabaseArray($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 2; + HEAP32[$2>>2] = 2; + while(1) { + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($5|0)<($8|0); + if (!($9)) { + break; + } + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = (($12) + ($13<<4)|0); + HEAP32[$4>>2] = $14; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + $19 = HEAP32[$1>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$20>>2]|0; + _sqlite3DbFree($19,$21); + $22 = HEAP32[$4>>2]|0; + HEAP32[$22>>2] = 0; + } else { + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = ($23|0)<($24|0); + if ($25) { + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = (($28) + ($29<<4)|0); + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$2>>2]|0; + $35 = (($33) + ($34<<4)|0); + ;HEAP32[$30>>2]=HEAP32[$35>>2]|0;HEAP32[$30+4>>2]=HEAP32[$35+4>>2]|0;HEAP32[$30+8>>2]=HEAP32[$35+8>>2]|0;HEAP32[$30+12>>2]=HEAP32[$35+12>>2]|0; + } + $36 = HEAP32[$3>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$3>>2] = $37; + } + $38 = HEAP32[$2>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$2>>2] = $39; } - $69 = HEAP32[$0>>2]|0; - $70 = ((($69)) + 68|0); - $71 = HEAP32[$70>>2]|0; - $72 = (_sqlite3OsFileSize($71,$sz)|0); - HEAP32[$rc>>2] = $72; - $73 = HEAP32[$rc>>2]|0; - $74 = ($73|0)==(0); - if (!($74)) { - $102 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($102|0); + $40 = HEAP32[$3>>2]|0; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 20|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 20|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)<=(2); + if (!($46)) { + STACKTOP = sp;return; } - $75 = $sz; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = $iLimit; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = (($81) + 4)|0; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = ($80|0)>($86|0); - $88 = ($77>>>0)>($83>>>0); - $89 = ($80|0)==($86|0); - $90 = $89 & $88; - $91 = $87 | $90; - if (!($91)) { - $102 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($102|0); + $47 = HEAP32[$1>>2]|0; + $48 = ((($47)) + 16|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 392|0); + $52 = ($49|0)!=($51|0); + if (!($52)) { + STACKTOP = sp;return; } - $92 = HEAP32[$0>>2]|0; - $93 = ((($92)) + 68|0); - $94 = HEAP32[$93>>2]|0; - $95 = $iLimit; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = (($95) + 4)|0; - $99 = $98; - $100 = HEAP32[$99>>2]|0; - $101 = (_sqlite3OsTruncate($94,$97,$100)|0); - HEAP32[$rc>>2] = $101; - $102 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($102|0); + $53 = HEAP32[$1>>2]|0; + $54 = ((($53)) + 392|0); + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 16|0); + $57 = HEAP32[$56>>2]|0; + ;HEAP32[$54>>2]=HEAP32[$57>>2]|0;HEAP32[$54+4>>2]=HEAP32[$57+4>>2]|0;HEAP32[$54+8>>2]=HEAP32[$57+8>>2]|0;HEAP32[$54+12>>2]=HEAP32[$57+12>>2]|0;HEAP32[$54+16>>2]=HEAP32[$57+16>>2]|0;HEAP32[$54+20>>2]=HEAP32[$57+20>>2]|0;HEAP32[$54+24>>2]=HEAP32[$57+24>>2]|0;HEAP32[$54+28>>2]=HEAP32[$57+28>>2]|0; + $58 = HEAP32[$1>>2]|0; + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 16|0); + $61 = HEAP32[$60>>2]|0; + _sqlite3DbFree($58,$61); + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 392|0); + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 16|0); + HEAP32[$65>>2] = $63; + STACKTOP = sp;return; } -function _sqlite3OsDelete($pVfs,$zPath,$dirSync) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $dirSync = $dirSync|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3ExpirePreparedStatements($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $dirSync; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 28|0); + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (FUNCTION_TABLE_iiii[$5 & 255]($6,$7,$8)|0); - STACKTOP = sp;return ($9|0); + HEAP32[$2>>2] = $5; + while(1) { + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + break; + } + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 144|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10 & -2; + $12 = $11 | 1; + HEAP16[$9>>1] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$2>>2] = $15; + } + STACKTOP = sp;return; } -function _pagerFlushOnCommit($pPager,$bCommit) { - $pPager = $pPager|0; - $bCommit = $bCommit|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3HashInit($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $bCommit; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 13|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(0); - do { - if ($7) { - HEAP32[$0>>2] = 1; - } else { - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)!=(0); - if (!($9)) { - HEAP32[$0>>2] = 0; - break; - } - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 64|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 212|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3PCachePercentDirty($17)|0); - $19 = ($18|0)>=(25); - $20 = $19&1; - HEAP32[$0>>2] = $20; - break; - } else { - HEAP32[$0>>2] = 0; - break; - } - } - } while(0); - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + HEAP32[$3>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 4|0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[$1>>2]|0; + HEAP32[$6>>2] = 0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 12|0); + HEAP32[$8>>2] = 0; + STACKTOP = sp;return; } -function _sqlite3PcacheCleanAll($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $p = 0, label = 0, sp = 0; +function _newDatabase($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $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, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pCache; - while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $2; - $3 = ($2|0)!=(0|0); - if (!($3)) { - break; - } - $4 = HEAP32[$p>>2]|0; - _sqlite3PcacheMakeClean($4); + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 44|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8>>>0)>(0); + if ($9) { + HEAP32[$1>>2] = 0; + $85 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($85|0); } - STACKTOP = sp;return; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$3>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 56|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$4>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 72|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3PagerWrite($18)|0); + HEAP32[$5>>2] = $19; + $20 = HEAP32[$5>>2]|0; + $21 = ($20|0)!=(0); + if ($21) { + $22 = HEAP32[$5>>2]|0; + HEAP32[$1>>2] = $22; + $85 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($85|0); + } else { + $23 = HEAP32[$4>>2]|0; + dest=$23; src=25018; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 32|0); + $26 = HEAP32[$25>>2]|0; + $27 = $26 >>> 8; + $28 = $27 & 255; + $29 = $28&255; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 16|0); + HEAP8[$31>>0] = $29; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 32|0); + $34 = HEAP32[$33>>2]|0; + $35 = $34 >>> 16; + $36 = $35 & 255; + $37 = $36&255; + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 17|0); + HEAP8[$39>>0] = $37; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 18|0); + HEAP8[$41>>0] = 1; + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 19|0); + HEAP8[$43>>0] = 1; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 32|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 36|0); + $49 = HEAP32[$48>>2]|0; + $50 = (($46) - ($49))|0; + $51 = $50&255; + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 20|0); + HEAP8[$53>>0] = $51; + $54 = HEAP32[$4>>2]|0; + $55 = ((($54)) + 21|0); + HEAP8[$55>>0] = 64; + $56 = HEAP32[$4>>2]|0; + $57 = ((($56)) + 22|0); + HEAP8[$57>>0] = 32; + $58 = HEAP32[$4>>2]|0; + $59 = ((($58)) + 23|0); + HEAP8[$59>>0] = 32; + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 24|0); + dest=$61; stop=dest+76|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $62 = HEAP32[$3>>2]|0; + _zeroPage($62,13); + $63 = HEAP32[$2>>2]|0; + $64 = ((($63)) + 22|0); + $65 = HEAP16[$64>>1]|0; + $66 = $65&65535; + $67 = $66 | 2; + $68 = $67&65535; + HEAP16[$64>>1] = $68; + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 52|0); + $71 = HEAP32[$2>>2]|0; + $72 = ((($71)) + 17|0); + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + _sqlite3Put4byte($70,$74); + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 64|0); + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 18|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + _sqlite3Put4byte($76,$80); + $81 = HEAP32[$2>>2]|0; + $82 = ((($81)) + 44|0); + HEAP32[$82>>2] = 1; + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 31|0); + HEAP8[$84>>0] = 1; + HEAP32[$1>>2] = 0; + $85 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($85|0); + } + return (0)|0; } -function _sqlite3PcacheClearWritable($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 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, $p = 0; - var label = 0, sp = 0; +function _zeroPage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $2; - while(1) { - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - break; - } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 24|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = $8 & -13; - $10 = $9&65535; - HEAP16[$6>>1] = $10; - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 32|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$p>>2] = $13; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + $6 = sp + 18|0; + $7 = sp + 16|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 56|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 52|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 5|0); + $16 = HEAP8[$15>>0]|0; + HEAP8[$6>>0] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 22|0); + $19 = HEAP16[$18>>1]|0; + $20 = $19&65535; + $21 = $20 & 4; + $22 = ($21|0)!=(0); + if ($22) { + $23 = HEAP32[$4>>2]|0; + $24 = HEAP8[$6>>0]|0; + $25 = $24&255; + $26 = (($23) + ($25)|0); + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 36|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP8[$6>>0]|0; + $31 = $30&255; + $32 = (($29) - ($31))|0; + _memset(($26|0),0,($32|0))|0; } - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 8|0); - HEAP32[$18>>2] = $16; + $33 = HEAP32[$3>>2]|0; + $34 = $33&255; + $35 = HEAP32[$4>>2]|0; + $36 = HEAP8[$6>>0]|0; + $37 = $36&255; + $38 = (($35) + ($37)|0); + HEAP8[$38>>0] = $34; + $39 = HEAP8[$6>>0]|0; + $40 = $39&255; + $41 = HEAP32[$3>>2]|0; + $42 = $41 & 8; + $43 = ($42|0)==(0); + $44 = $43 ? 12 : 8; + $45 = (($40) + ($44))|0; + $46 = $45&65535; + HEAP16[$7>>1] = $46; + $47 = HEAP32[$4>>2]|0; + $48 = HEAP8[$6>>0]|0; + $49 = $48&255; + $50 = (($49) + 1)|0; + $51 = (($47) + ($50)|0); + ;HEAP8[$51>>0]=0|0;HEAP8[$51+1>>0]=0|0;HEAP8[$51+2>>0]=0|0;HEAP8[$51+3>>0]=0|0; + $52 = HEAP32[$4>>2]|0; + $53 = HEAP8[$6>>0]|0; + $54 = $53&255; + $55 = (($54) + 7)|0; + $56 = (($52) + ($55)|0); + HEAP8[$56>>0] = 0; + $57 = HEAP32[$5>>2]|0; + $58 = ((($57)) + 36|0); + $59 = HEAP32[$58>>2]|0; + $60 = $59 >>> 8; + $61 = $60&255; + $62 = HEAP32[$4>>2]|0; + $63 = HEAP8[$6>>0]|0; + $64 = $63&255; + $65 = (($64) + 5)|0; + $66 = (($62) + ($65)|0); + HEAP8[$66>>0] = $61; + $67 = HEAP32[$5>>2]|0; + $68 = ((($67)) + 36|0); + $69 = HEAP32[$68>>2]|0; + $70 = $69&255; + $71 = HEAP32[$4>>2]|0; + $72 = HEAP8[$6>>0]|0; + $73 = $72&255; + $74 = (($73) + 5)|0; + $75 = (($71) + ($74)|0); + $76 = ((($75)) + 1|0); + HEAP8[$76>>0] = $70; + $77 = HEAP32[$5>>2]|0; + $78 = ((($77)) + 36|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP16[$7>>1]|0; + $81 = $80&65535; + $82 = (($79) - ($81))|0; + $83 = $82&65535; + $84 = HEAP32[$2>>2]|0; + $85 = ((($84)) + 16|0); + HEAP16[$85>>1] = $83; + $86 = HEAP32[$2>>2]|0; + $87 = HEAP32[$3>>2]|0; + (_decodeFlags($86,$87)|0); + $88 = HEAP16[$7>>1]|0; + $89 = HEAP32[$2>>2]|0; + $90 = ((($89)) + 14|0); + HEAP16[$90>>1] = $88; + $91 = HEAP32[$4>>2]|0; + $92 = HEAP32[$5>>2]|0; + $93 = ((($92)) + 36|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($91) + ($94)|0); + $96 = HEAP32[$2>>2]|0; + $97 = ((($96)) + 60|0); + HEAP32[$97>>2] = $95; + $98 = HEAP32[$4>>2]|0; + $99 = HEAP16[$7>>1]|0; + $100 = $99&65535; + $101 = (($98) + ($100)|0); + $102 = HEAP32[$2>>2]|0; + $103 = ((($102)) + 64|0); + HEAP32[$103>>2] = $101; + $104 = HEAP32[$4>>2]|0; + $105 = HEAP32[$2>>2]|0; + $106 = ((($105)) + 6|0); + $107 = HEAP8[$106>>0]|0; + $108 = $107&255; + $109 = (($104) + ($108)|0); + $110 = HEAP32[$2>>2]|0; + $111 = ((($110)) + 68|0); + HEAP32[$111>>2] = $109; + $112 = HEAP32[$2>>2]|0; + $113 = ((($112)) + 1|0); + HEAP8[$113>>0] = 0; + $114 = HEAP32[$5>>2]|0; + $115 = ((($114)) + 32|0); + $116 = HEAP32[$115>>2]|0; + $117 = (($116) - 1)|0; + $118 = $117&65535; + $119 = HEAP32[$2>>2]|0; + $120 = ((($119)) + 20|0); + HEAP16[$120>>1] = $118; + $121 = HEAP32[$2>>2]|0; + $122 = ((($121)) + 18|0); + HEAP16[$122>>1] = 0; + $123 = HEAP32[$2>>2]|0; + HEAP8[$123>>0] = 1; STACKTOP = sp;return; } -function _sqlite3PagerUseWal($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _sqlite3PagerBackupPtr($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 216|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - $5 = $4&1; - STACKTOP = sp;return ($5|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 96|0); + STACKTOP = sp;return ($3|0); } -function _sqlite3WalEndWriteTransaction($pWal) { - $pWal = $pWal|0; - var $0 = 0, $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; +function _sqlite3PagerDataVersion($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWal; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 44|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if (!($4)) { - STACKTOP = sp;return 0; - } - $5 = HEAP32[$0>>2]|0; - _walUnlockExclusive($5,0,1); - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 44|0); - HEAP8[$7>>0] = 0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 104|0); - HEAP32[$9>>2] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 47|0); - HEAP8[$11>>0] = 0; - STACKTOP = sp;return 0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 108|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); } -function _pager_truncate($pPager,$nPage) { - $pPager = $pPager|0; - $nPage = $nPage|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $currentSize = 0, $newSize = 0, $pTmp = 0, $rc = 0, $szPage = 0, label = 0, sp = 0; +function _querySharedCacheTableLock($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $rc = sp + 24|0; - $currentSize = sp + 8|0; - $newSize = sp; - $szPage = sp + 20|0; - $pTmp = sp + 16|0; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $nPage; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 64|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $127 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($127|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 20|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP8[$6>>0] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$7>>2] = $11; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 9|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)!=(0); + if (!($15)) { + HEAP32[$3>>2] = 0; + $60 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($60|0); } - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 17|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)>=(4); - if (!($11)) { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 17|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==(0); - if (!($16)) { - $127 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($127|0); + $16 = HEAP32[$7>>2]|0; + $17 = ((($16)) + 76|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = ($18|0)!=($19|0); + if ($20) { + $21 = HEAP32[$7>>2]|0; + $22 = ((($21)) + 22|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23&65535; + $25 = $24 & 32; + $26 = ($25|0)!=(0); + if ($26) { + HEAP32[$3>>2] = 262; + $60 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($60|0); } } - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 160|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$szPage>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 64|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3OsFileSize($22,$currentSize)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$szPage>>2]|0; - $25 = ($24|0)<(0); - $26 = $25 << 31 >> 31; - $27 = HEAP32[$1>>2]|0; - $28 = (___muldi3(($24|0),($26|0),($27|0),0)|0); - $29 = tempRet0; - $30 = $newSize; - $31 = $30; - HEAP32[$31>>2] = $28; - $32 = (($30) + 4)|0; - $33 = $32; - HEAP32[$33>>2] = $29; - $34 = HEAP32[$rc>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - $127 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($127|0); - } - $36 = $currentSize; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = $newSize; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = ($38|0)!=($44|0); - $49 = ($41|0)!=($47|0); - $50 = $48 | $49; - if (!($50)) { - $127 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($127|0); - } - $51 = $currentSize; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (($51) + 4)|0; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = $newSize; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = ($56|0)>($62|0); - $64 = ($53>>>0)>($59>>>0); - $65 = ($56|0)==($62|0); - $66 = $65 & $64; - $67 = $63 | $66; - if ($67) { - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 64|0); - $70 = HEAP32[$69>>2]|0; - $71 = $newSize; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = (($71) + 4)|0; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (_sqlite3OsTruncate($70,$73,$76)|0); - HEAP32[$rc>>2] = $77; - } else { - $78 = $currentSize; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$szPage>>2]|0; - $85 = ($84|0)<(0); - $86 = $85 << 31 >> 31; - $87 = (_i64Add(($80|0),($83|0),($84|0),($86|0))|0); - $88 = tempRet0; - $89 = $newSize; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = ($88|0)<($94|0); - $96 = ($87>>>0)<=($91>>>0); - $97 = ($88|0)==($94|0); - $98 = $97 & $96; - $99 = $95 | $98; - if ($99) { - $100 = HEAP32[$0>>2]|0; - $101 = ((($100)) + 208|0); - $102 = HEAP32[$101>>2]|0; - HEAP32[$pTmp>>2] = $102; - $103 = HEAP32[$pTmp>>2]|0; - $104 = HEAP32[$szPage>>2]|0; - _memset(($103|0),0,($104|0))|0; - $105 = HEAP32[$0>>2]|0; - $106 = ((($105)) + 64|0); - $107 = HEAP32[$106>>2]|0; - $108 = HEAP32[$pTmp>>2]|0; - $109 = HEAP32[$szPage>>2]|0; - $110 = $newSize; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = HEAP32[$szPage>>2]|0; - $117 = ($116|0)<(0); - $118 = $117 << 31 >> 31; - $119 = (_i64Subtract(($112|0),($115|0),($116|0),($118|0))|0); - $120 = tempRet0; - $121 = (_sqlite3OsWrite($107,$108,$109,$119,$120)|0); - HEAP32[$rc>>2] = $121; + $27 = HEAP32[$7>>2]|0; + $28 = ((($27)) + 72|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$8>>2] = $29; + while(1) { + $30 = HEAP32[$8>>2]|0; + $31 = ($30|0)!=(0|0); + if (!($31)) { + label = 15; + break; + } + $32 = HEAP32[$8>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = ($33|0)!=($34|0); + if ($35) { + $36 = HEAP32[$8>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = ($38|0)==($39|0); + if ($40) { + $41 = HEAP32[$8>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + $45 = HEAP8[$6>>0]|0; + $46 = $45&255; + $47 = ($44|0)!=($46|0); + if ($47) { + break; + } + } } + $57 = HEAP32[$8>>2]|0; + $58 = ((($57)) + 12|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$8>>2] = $59; } - $122 = HEAP32[$rc>>2]|0; - $123 = ($122|0)==(0); - if (!($123)) { - $127 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($127|0); + if ((label|0) == 15) { + HEAP32[$3>>2] = 0; + $60 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($60|0); } - $124 = HEAP32[$1>>2]|0; - $125 = HEAP32[$0>>2]|0; - $126 = ((($125)) + 36|0); - HEAP32[$126>>2] = $124; - $127 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($127|0); + $48 = HEAP8[$6>>0]|0; + $49 = $48&255; + $50 = ($49|0)==(2); + if ($50) { + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 22|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = $54 | 64; + $56 = $55&65535; + HEAP16[$52>>1] = $56; + } + HEAP32[$3>>2] = 262; + $60 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($60|0); } -function _sqlite3WalExclusiveMode($pWal,$op) { - $pWal = $pWal|0; - $op = $op|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _lockBtree($0) { + $0 = $0|0; + var $$sink = 0, $$sink5 = 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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $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 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $op; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $26 = HEAP32[$1>>2]|0; - $27 = ($26|0)>(0); - $28 = HEAP32[$0>>2]|0; - if ($27) { - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 40|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31 << 16 >> 16; - $33 = (3 + ($32))|0; - _walUnlockShared($28,$33); - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 43|0); - HEAP8[$35>>0] = 1; - HEAP32[$rc>>2] = 1; - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); - } else { - $36 = ((($28)) + 43|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = ($38|0)==(0); - $40 = $39&1; - HEAP32[$rc>>2] = $40; - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); - } + STACKTOP = STACKTOP + 48|0; + $1 = sp + 40|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$6>>2] = 0; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3PagerSharedLock($13)|0); + HEAP32[$3>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $17; + $231 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($231|0); } - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 43|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if (!($7)) { - HEAP32[$rc>>2] = 0; - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); + $18 = HEAP32[$2>>2]|0; + $19 = (_btreeGetPage($18,1,$4,0)|0); + HEAP32[$3>>2] = $19; + $20 = HEAP32[$3>>2]|0; + $21 = ($20|0)!=(0); + if ($21) { + $22 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $22; + $231 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($231|0); } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 43|0); - HEAP8[$9>>0] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 40|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13 << 16 >> 16; - $15 = (3 + ($14))|0; - $16 = (_walLockShared($10,$15)|0); - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 43|0); - HEAP8[$19>>0] = 1; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 56|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 28|0); + $27 = (_sqlite3Get4byte($26)|0); + HEAP32[$7>>2] = $27; + HEAP32[$5>>2] = $27; + $28 = HEAP32[$2>>2]|0; + $29 = HEAP32[$28>>2]|0; + _sqlite3PagerPagecount($29,$6); + $30 = HEAP32[$5>>2]|0; + $31 = ($30|0)==(0); + if ($31) { + label = 7; + } else { + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 56|0); + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 24|0); + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 56|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($38)) + 92|0); + $40 = (_memcmp($35,$39,4)|0); + $41 = ($40|0)!=(0); + if ($41) { + label = 7; + } } - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 43|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = ($23|0)==(0); - $25 = $24&1; - HEAP32[$rc>>2] = $25; - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); + if ((label|0) == 7) { + $42 = HEAP32[$6>>2]|0; + HEAP32[$5>>2] = $42; + } + $43 = HEAP32[$5>>2]|0; + $44 = ($43|0)>(0); + L14: do { + if ($44) { + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 56|0); + $47 = HEAP32[$46>>2]|0; + HEAP32[$10>>2] = $47; + HEAP32[$3>>2] = 26; + $48 = HEAP32[$10>>2]|0; + $49 = (_memcmp($48,25018,16)|0); + $50 = ($49|0)!=(0); + L16: do { + if (!($50)) { + $51 = HEAP32[$10>>2]|0; + $52 = ((($51)) + 18|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = ($54|0)>(2); + if ($55) { + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 22|0); + $58 = HEAP16[$57>>1]|0; + $59 = $58&65535; + $60 = $59 | 1; + $61 = $60&65535; + HEAP16[$57>>1] = $61; + } + $62 = HEAP32[$10>>2]|0; + $63 = ((($62)) + 19|0); + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + $66 = ($65|0)>(2); + if (!($66)) { + $67 = HEAP32[$10>>2]|0; + $68 = ((($67)) + 19|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ($70|0)==(2); + do { + if ($71) { + $72 = HEAP32[$2>>2]|0; + $73 = ((($72)) + 22|0); + $74 = HEAP16[$73>>1]|0; + $75 = $74&65535; + $76 = $75 & 16; + $77 = ($76|0)==(0); + if ($77) { + HEAP32[$11>>2] = 0; + $78 = HEAP32[$2>>2]|0; + $79 = HEAP32[$78>>2]|0; + $80 = (_sqlite3PagerOpenWal($79,$11)|0); + HEAP32[$3>>2] = $80; + $81 = HEAP32[$3>>2]|0; + $82 = ($81|0)!=(0); + if ($82) { + break L16; + } + $83 = HEAP32[$11>>2]|0; + $84 = ($83|0)==(0); + if (!($84)) { + HEAP32[$3>>2] = 26; + break; + } + $85 = HEAP32[$4>>2]|0; + _releasePage($85); + HEAP32[$1>>2] = 0; + $231 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($231|0); + } + } + } while(0); + $86 = HEAP32[$10>>2]|0; + $87 = ((($86)) + 21|0); + $88 = (_memcmp($87,25034,3)|0); + $89 = ($88|0)!=(0); + if (!($89)) { + $90 = HEAP32[$10>>2]|0; + $91 = ((($90)) + 16|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = $93 << 8; + $95 = HEAP32[$10>>2]|0; + $96 = ((($95)) + 17|0); + $97 = HEAP8[$96>>0]|0; + $98 = $97&255; + $99 = $98 << 16; + $100 = $94 | $99; + HEAP32[$8>>2] = $100; + $101 = HEAP32[$8>>2]|0; + $102 = (($101) - 1)|0; + $103 = HEAP32[$8>>2]|0; + $104 = $102 & $103; + $105 = ($104|0)!=(0); + $106 = HEAP32[$8>>2]|0; + $107 = ($106>>>0)>(65536); + $or$cond = $105 | $107; + $108 = HEAP32[$8>>2]|0; + $109 = ($108>>>0)<=(256); + $or$cond3 = $or$cond | $109; + if (!($or$cond3)) { + $110 = HEAP32[$8>>2]|0; + $111 = HEAP32[$10>>2]|0; + $112 = ((($111)) + 20|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $115 = (($110) - ($114))|0; + HEAP32[$9>>2] = $115; + $116 = HEAP32[$8>>2]|0; + $117 = HEAP32[$2>>2]|0; + $118 = ((($117)) + 32|0); + $119 = HEAP32[$118>>2]|0; + $120 = ($116|0)!=($119|0); + if ($120) { + $121 = HEAP32[$4>>2]|0; + _releasePage($121); + $122 = HEAP32[$9>>2]|0; + $123 = HEAP32[$2>>2]|0; + $124 = ((($123)) + 36|0); + HEAP32[$124>>2] = $122; + $125 = HEAP32[$8>>2]|0; + $126 = HEAP32[$2>>2]|0; + $127 = ((($126)) + 32|0); + HEAP32[$127>>2] = $125; + $128 = HEAP32[$2>>2]|0; + _freeTempSpace($128); + $129 = HEAP32[$2>>2]|0; + $130 = HEAP32[$129>>2]|0; + $131 = HEAP32[$2>>2]|0; + $132 = ((($131)) + 32|0); + $133 = HEAP32[$8>>2]|0; + $134 = HEAP32[$9>>2]|0; + $135 = (($133) - ($134))|0; + $136 = (_sqlite3PagerSetPagesize($130,$132,$135)|0); + HEAP32[$3>>2] = $136; + $137 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $137; + $231 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($231|0); + } + $138 = HEAP32[$2>>2]|0; + $139 = ((($138)) + 4|0); + $140 = HEAP32[$139>>2]|0; + $141 = ((($140)) + 24|0); + $142 = HEAP32[$141>>2]|0; + $143 = $142 & 65536; + $144 = ($143|0)==(0); + if ($144) { + $145 = HEAP32[$5>>2]|0; + $146 = HEAP32[$6>>2]|0; + $147 = ($145|0)>($146|0); + if ($147) { + $148 = (_sqlite3CorruptError(61191)|0); + HEAP32[$3>>2] = $148; + break; + } + } + $149 = HEAP32[$9>>2]|0; + $150 = ($149>>>0)<(480); + if (!($150)) { + $151 = HEAP32[$8>>2]|0; + $152 = HEAP32[$2>>2]|0; + $153 = ((($152)) + 32|0); + HEAP32[$153>>2] = $151; + $154 = HEAP32[$9>>2]|0; + $155 = HEAP32[$2>>2]|0; + $156 = ((($155)) + 36|0); + HEAP32[$156>>2] = $154; + $157 = HEAP32[$10>>2]|0; + $158 = ((($157)) + 52|0); + $159 = (_sqlite3Get4byte($158)|0); + $160 = ($159|0)!=(0); + $161 = $160 ? 1 : 0; + $162 = $161&255; + $163 = HEAP32[$2>>2]|0; + $164 = ((($163)) + 17|0); + HEAP8[$164>>0] = $162; + $165 = HEAP32[$10>>2]|0; + $166 = ((($165)) + 64|0); + $167 = (_sqlite3Get4byte($166)|0); + $168 = ($167|0)!=(0); + $169 = $168 ? 1 : 0; + $170 = $169&255; + $171 = HEAP32[$2>>2]|0; + $172 = ((($171)) + 18|0); + HEAP8[$172>>0] = $170; + break L14; + } + } + } + } + } + } while(0); + $227 = HEAP32[$4>>2]|0; + _releasePage($227); + $228 = HEAP32[$2>>2]|0; + $229 = ((($228)) + 12|0); + HEAP32[$229>>2] = 0; + $230 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $230; + $231 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($231|0); + } + } while(0); + $173 = HEAP32[$2>>2]|0; + $174 = ((($173)) + 36|0); + $175 = HEAP32[$174>>2]|0; + $176 = (($175) - 12)|0; + $177 = $176<<6; + $178 = (($177>>>0) / 255)&-1; + $179 = (($178) - 23)|0; + $180 = $179&65535; + $181 = HEAP32[$2>>2]|0; + $182 = ((($181)) + 24|0); + HEAP16[$182>>1] = $180; + $183 = HEAP32[$2>>2]|0; + $184 = ((($183)) + 36|0); + $185 = HEAP32[$184>>2]|0; + $186 = (($185) - 12)|0; + $187 = $186<<5; + $188 = (($187>>>0) / 255)&-1; + $189 = (($188) - 23)|0; + $190 = $189&65535; + $191 = HEAP32[$2>>2]|0; + $192 = ((($191)) + 26|0); + HEAP16[$192>>1] = $190; + $193 = HEAP32[$2>>2]|0; + $194 = ((($193)) + 36|0); + $195 = HEAP32[$194>>2]|0; + $196 = (($195) - 35)|0; + $197 = $196&65535; + $198 = HEAP32[$2>>2]|0; + $199 = ((($198)) + 28|0); + HEAP16[$199>>1] = $197; + $200 = HEAP32[$2>>2]|0; + $201 = ((($200)) + 36|0); + $202 = HEAP32[$201>>2]|0; + $203 = (($202) - 12)|0; + $204 = $203<<5; + $205 = (($204>>>0) / 255)&-1; + $206 = (($205) - 23)|0; + $207 = $206&65535; + $208 = HEAP32[$2>>2]|0; + $209 = ((($208)) + 30|0); + HEAP16[$209>>1] = $207; + $210 = HEAP32[$2>>2]|0; + $211 = ((($210)) + 24|0); + $212 = HEAP16[$211>>1]|0; + $213 = $212&65535; + $214 = ($213|0)>(127); + $215 = HEAP32[$2>>2]|0; + if ($214) { + $$sink = 127;$$sink5 = $215; + } else { + $216 = ((($215)) + 24|0); + $217 = HEAP16[$216>>1]|0; + $218 = $217&255; + $219 = HEAP32[$2>>2]|0; + $$sink = $218;$$sink5 = $219; + } + $220 = ((($$sink5)) + 21|0); + HEAP8[$220>>0] = $$sink; + $221 = HEAP32[$4>>2]|0; + $222 = HEAP32[$2>>2]|0; + $223 = ((($222)) + 12|0); + HEAP32[$223>>2] = $221; + $224 = HEAP32[$5>>2]|0; + $225 = HEAP32[$2>>2]|0; + $226 = ((($225)) + 44|0); + HEAP32[$226>>2] = $224; + HEAP32[$1>>2] = 0; + $231 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($231|0); } -function _pagerUnlockDb($pPager,$eLock) { - $pPager = $pPager|0; - $eLock = $eLock|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3PagerBegin($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0; + var $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $eLock; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 64|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); - } - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 14|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 44|0); + $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(0); if ($11) { - $17 = 0; - } else { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 64|0); + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 44|0); $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = (_sqlite3OsUnlock($14,$15)|0); - $17 = $16; + HEAP32[$3>>2] = $14; + $82 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($82|0); } - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 18|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = ($21|0)!=(5); - if (!($22)) { - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); + $15 = HEAP32[$6>>2]|0; + $16 = $15&255; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 22|0); + HEAP8[$18>>0] = $16; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 17|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)==(1); + if ($23) { + $24 = HEAP32[$4>>2]|0; + $25 = (_sqlite3PagerUseWal($24)|0); + $26 = ($25|0)!=(0); + $27 = HEAP32[$4>>2]|0; + if ($26) { + $28 = ((($27)) + 4|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29&255; + $31 = ($30|0)!=(0); + do { + if ($31) { + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 216|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_sqlite3WalExclusiveMode($34,-1)|0); + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$4>>2]|0; + $38 = (_pagerLockDb($37,4)|0); + HEAP32[$7>>2] = $38; + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)!=(0); + if (!($40)) { + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 216|0); + $44 = HEAP32[$43>>2]|0; + (_sqlite3WalExclusiveMode($44,1)|0); + break; + } + $41 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $41; + $82 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($82|0); + } + } + } while(0); + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 216|0); + $47 = HEAP32[$46>>2]|0; + $48 = (_sqlite3WalBeginWriteTransaction($47)|0); + HEAP32[$7>>2] = $48; + } else { + $49 = (_pagerLockDb($27,2)|0); + HEAP32[$7>>2] = $49; + $50 = HEAP32[$7>>2]|0; + $51 = ($50|0)==(0); + $52 = HEAP32[$5>>2]|0; + $53 = ($52|0)!=(0); + $or$cond = $51 & $53; + if ($or$cond) { + $54 = HEAP32[$4>>2]|0; + $55 = (_pager_wait_on_lock($54,4)|0); + HEAP32[$7>>2] = $55; + } + } + $56 = HEAP32[$7>>2]|0; + $57 = ($56|0)==(0); + if ($57) { + $58 = HEAP32[$4>>2]|0; + $59 = ((($58)) + 17|0); + HEAP8[$59>>0] = 2; + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 28|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 40|0); + HEAP32[$64>>2] = $62; + $65 = HEAP32[$4>>2]|0; + $66 = ((($65)) + 28|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$4>>2]|0; + $69 = ((($68)) + 36|0); + HEAP32[$69>>2] = $67; + $70 = HEAP32[$4>>2]|0; + $71 = ((($70)) + 28|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = ((($73)) + 32|0); + HEAP32[$74>>2] = $72; + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 80|0); + $77 = $76; + $78 = $77; + HEAP32[$78>>2] = 0; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = 0; + } } - $23 = HEAP32[$1>>2]|0; - $24 = $23&255; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 18|0); - HEAP8[$26>>0] = $24; - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); + $81 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $81; + $82 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($82|0); } -function _sqlite3OsUnlock($id,$lockType) { - $id = $id|0; - $lockType = $lockType|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3PagerOpenSavepoint($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, $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 + 4|0; - $1 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $lockType; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 32|0); + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (FUNCTION_TABLE_iii[$5 & 255]($6,$7)|0); - STACKTOP = sp;return ($8|0); -} -function _walLockShared($pWal,$lockIdx) { - $pWal = $pWal|0; - $lockIdx = $lockIdx|0; - var $0 = 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, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $lockIdx; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 43|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if ($6) { - HEAP32[$0>>2] = 0; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); - } else { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (_sqlite3OsShmLock($9,$10,1,6)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $12; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); - } - return (0)|0; -} -function _walUnlockShared($pWal,$lockIdx) { - $pWal = $pWal|0; - $lockIdx = $lockIdx|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $lockIdx; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 43|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if ($5) { - STACKTOP = sp;return; - } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 4|0); + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 104|0); $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - (_sqlite3OsShmLock($8,$9,1,5)|0); - STACKTOP = sp;return; -} -function _sqlite3OsShmLock($id,$offset,$n,$flags) { - $id = $id|0; - $offset = $offset|0; - $n = $n|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $offset; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $flags; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 56|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = (FUNCTION_TABLE_iiiii[$7 & 255]($8,$9,$10,$11)|0); - STACKTOP = sp;return ($12|0); -} -function _walUnlockExclusive($pWal,$lockIdx,$n) { - $pWal = $pWal|0; - $lockIdx = $lockIdx|0; - $n = $n|0; - var $0 = 0, $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; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $lockIdx; - HEAP32[$2>>2] = $n; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 43|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if ($6) { - STACKTOP = sp;return; - } - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - (_sqlite3OsShmLock($9,$10,$11,9)|0); - STACKTOP = sp;return; -} -function _sqlite3PCachePercentDirty($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nCache = 0, $nDirty = 0, $pDirty = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $pDirty = sp + 8|0; - $nDirty = sp + 4|0; - $nCache = sp; - HEAP32[$0>>2] = $pCache; - HEAP32[$nDirty>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = (_numberOfCachePages($1)|0); - HEAP32[$nCache>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pDirty>>2] = $4; - while(1) { - $5 = HEAP32[$pDirty>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - break; + $9 = ($5|0)>($8|0); + if ($9) { + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 6|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = (_pagerOpenSavepoint($15,$16)|0); + HEAP32[$2>>2] = $17; + $18 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($18|0); } - $7 = HEAP32[$nDirty>>2]|0; - $8 = (($7) + 1)|0; - HEAP32[$nDirty>>2] = $8; - $9 = HEAP32[$pDirty>>2]|0; - $10 = ((($9)) + 32|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pDirty>>2] = $11; - } - $12 = HEAP32[$nCache>>2]|0; - $13 = ($12|0)!=(0); - if (!($13)) { - $24 = 0; - STACKTOP = sp;return ($24|0); } - $14 = HEAP32[$nDirty>>2]|0; - $15 = ($14|0)<(0); - $16 = $15 << 31 >> 31; - $17 = (___muldi3(($14|0),($16|0),100,0)|0); - $18 = tempRet0; - $19 = HEAP32[$nCache>>2]|0; - $20 = ($19|0)<(0); - $21 = $20 << 31 >> 31; - $22 = (___divdi3(($17|0),($18|0),($19|0),($21|0))|0); - $23 = tempRet0; - $24 = $22; - STACKTOP = sp;return ($24|0); -} -function _memjrnlClose($pJfd) { - $pJfd = $pJfd|0; - var $0 = 0, $1 = 0, $2 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pJfd; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - _memjrnlFreeChunks($2); - STACKTOP = sp;return 0; + HEAP32[$2>>2] = 0; + $18 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($18|0); } -function _memjrnlRead($pJfd,$zBuf,$iAmt,$0,$1) { - $pJfd = $pJfd|0; - $zBuf = $zBuf|0; - $iAmt = $iAmt|0; +function _pagerOpenSavepoint($0,$1) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iChunkOffset = 0, $iOff = 0, $iSpace = 0, $nCopy = 0, $nRead = 0, $or$cond = 0, $or$cond5 = 0, $p = 0, $pChunk = 0, $zOut = 0, label = 0; - var sp = 0; + var $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $5 = sp + 8|0; - $p = sp + 40|0; - $zOut = sp + 36|0; - $nRead = sp + 32|0; - $iChunkOffset = sp + 28|0; - $pChunk = sp + 24|0; - $iOff = sp; - $iSpace = sp + 20|0; - $nCopy = sp + 16|0; - HEAP32[$2>>2] = $pJfd; - HEAP32[$3>>2] = $zBuf; - HEAP32[$4>>2] = $iAmt; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - $10 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $10; - $11 = HEAP32[$3>>2]|0; - HEAP32[$zOut>>2] = $11; - $12 = HEAP32[$4>>2]|0; - HEAP32[$nRead>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 40|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $5; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = ($17|0)!=($23|0); - $28 = ($20|0)!=($26|0); - $29 = $27 | $28; - $30 = $5; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = ($32|0)==(0); - $37 = ($35|0)==(0); - $38 = $36 & $37; - $or$cond = $29 | $38; - L1: do { - if ($or$cond) { - $39 = $iOff; - $40 = $39; - HEAP32[$40>>2] = 0; - $41 = (($39) + 4)|0; - $42 = $41; - HEAP32[$42>>2] = 0; - $43 = HEAP32[$p>>2]|0; - $44 = ((($43)) + 16|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$pChunk>>2] = $45; - while(1) { - $46 = HEAP32[$pChunk>>2]|0; - $47 = ($46|0)!=(0|0); - if (!($47)) { - break L1; - } - $48 = $iOff; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$p>>2]|0; - $55 = ((($54)) + 4|0); - $56 = HEAP32[$55>>2]|0; - $57 = ($56|0)<(0); - $58 = $57 << 31 >> 31; - $59 = (_i64Add(($50|0),($53|0),($56|0),($58|0))|0); - $60 = tempRet0; - $61 = $5; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 104|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 100|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ($15*48)|0; + $17 = (_sqlite3Realloc($14,$16,0)|0); + HEAP32[$8>>2] = $17; + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + HEAP32[$2>>2] = 7; + $120 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($120|0); + } + $20 = HEAP32[$8>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = (($20) + (($21*48)|0)|0); + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = (($23) - ($24))|0; + $26 = ($25*48)|0; + _memset(($22|0),0,($26|0))|0; + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 100|0); + HEAP32[$29>>2] = $27; + $30 = HEAP32[$6>>2]|0; + HEAP32[$7>>2] = $30; + while(1) { + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = ($31|0)<($32|0); + if (!($33)) { + label = 14; + break; + } + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 28|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[$7>>2]|0; + $39 = (($37) + (($38*48)|0)|0); + $40 = ((($39)) + 20|0); + HEAP32[$40>>2] = $36; + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 68|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)!=(0|0); + if ($45) { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 80|0); + $48 = $47; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)>(0); + $55 = ($50>>>0)>(0); + $56 = ($53|0)==(0); + $57 = $56 & $55; + $58 = $54 | $57; + if ($58) { + $59 = HEAP32[$3>>2]|0; + $60 = ((($59)) + 80|0); + $61 = $60; $62 = $61; $63 = HEAP32[$62>>2]|0; $64 = (($61) + 4)|0; $65 = $64; $66 = HEAP32[$65>>2]|0; - $67 = ($60|0)<($66|0); - $68 = ($59>>>0)<=($63>>>0); - $69 = ($60|0)==($66|0); - $70 = $69 & $68; - $71 = $67 | $70; - if (!($71)) { - break L1; - } - $72 = HEAP32[$p>>2]|0; - $73 = ((($72)) + 4|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($74|0)<(0); - $76 = $75 << 31 >> 31; - $77 = $iOff; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (($77) + 4)|0; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = (_i64Add(($79|0),($82|0),($74|0),($76|0))|0); - $84 = tempRet0; - $85 = $iOff; - $86 = $85; - HEAP32[$86>>2] = $83; - $87 = (($85) + 4)|0; - $88 = $87; - HEAP32[$88>>2] = $84; - $89 = HEAP32[$pChunk>>2]|0; - $90 = HEAP32[$89>>2]|0; - HEAP32[$pChunk>>2] = $90; + $67 = HEAP32[$8>>2]|0; + $68 = HEAP32[$7>>2]|0; + $69 = (($67) + (($68*48)|0)|0); + $$sink2 = $69;$78 = $63;$81 = $66; + } else { + label = 8; } } else { - $91 = HEAP32[$p>>2]|0; - $92 = ((($91)) + 40|0); - $93 = ((($92)) + 8|0); - $94 = HEAP32[$93>>2]|0; - HEAP32[$pChunk>>2] = $94; + label = 8; } - } while(0); - $95 = $5; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = (($95) + 4)|0; - $99 = $98; - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[$p>>2]|0; - $102 = ((($101)) + 4|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)<(0); - $105 = $104 << 31 >> 31; - $106 = (___remdi3(($97|0),($100|0),($103|0),($105|0))|0); - $107 = tempRet0; - HEAP32[$iChunkOffset>>2] = $106; - while(1) { - $108 = HEAP32[$p>>2]|0; - $109 = ((($108)) + 4|0); - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$iChunkOffset>>2]|0; - $112 = (($110) - ($111))|0; - HEAP32[$iSpace>>2] = $112; - $113 = HEAP32[$nRead>>2]|0; - $114 = HEAP32[$p>>2]|0; - $115 = ((($114)) + 4|0); - $116 = HEAP32[$115>>2]|0; - $117 = HEAP32[$iChunkOffset>>2]|0; - $118 = (($116) - ($117))|0; - $119 = ($113|0)<($118|0); - if ($119) { - $120 = HEAP32[$nRead>>2]|0; - $126 = $120; - } else { - $121 = HEAP32[$p>>2]|0; - $122 = ((($121)) + 4|0); - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$iChunkOffset>>2]|0; - $125 = (($123) - ($124))|0; - $126 = $125; + if ((label|0) == 8) { + label = 0; + $70 = HEAP32[$3>>2]|0; + $71 = ((($70)) + 156|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$8>>2]|0; + $74 = HEAP32[$7>>2]|0; + $75 = (($73) + (($74*48)|0)|0); + $$sink2 = $75;$78 = $72;$81 = 0; } - HEAP32[$nCopy>>2] = $126; - $127 = HEAP32[$zOut>>2]|0; - $128 = HEAP32[$pChunk>>2]|0; - $129 = ((($128)) + 4|0); - $130 = HEAP32[$iChunkOffset>>2]|0; - $131 = (($129) + ($130)|0); - $132 = HEAP32[$nCopy>>2]|0; - _memcpy(($127|0),($131|0),($132|0))|0; - $133 = HEAP32[$nCopy>>2]|0; - $134 = HEAP32[$zOut>>2]|0; - $135 = (($134) + ($133)|0); - HEAP32[$zOut>>2] = $135; - $136 = HEAP32[$iSpace>>2]|0; - $137 = HEAP32[$nRead>>2]|0; - $138 = (($137) - ($136))|0; - HEAP32[$nRead>>2] = $138; - HEAP32[$iChunkOffset>>2] = 0; - $139 = HEAP32[$nRead>>2]|0; - $140 = ($139|0)>=(0); - if (!($140)) { + $76 = $$sink2; + $77 = $76; + HEAP32[$77>>2] = $78; + $79 = (($76) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = $81; + $82 = HEAP32[$3>>2]|0; + $83 = ((($82)) + 56|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = HEAP32[$7>>2]|0; + $87 = (($85) + (($86*48)|0)|0); + $88 = ((($87)) + 24|0); + HEAP32[$88>>2] = $84; + $89 = HEAP32[$3>>2]|0; + $90 = ((($89)) + 28|0); + $91 = HEAP32[$90>>2]|0; + $92 = (_sqlite3BitvecCreate($91)|0); + $93 = HEAP32[$8>>2]|0; + $94 = HEAP32[$7>>2]|0; + $95 = (($93) + (($94*48)|0)|0); + $96 = ((($95)) + 16|0); + HEAP32[$96>>2] = $92; + $97 = HEAP32[$8>>2]|0; + $98 = HEAP32[$7>>2]|0; + $99 = (($97) + (($98*48)|0)|0); + $100 = ((($99)) + 16|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)!=(0|0); + if (!($102)) { + label = 10; break; } - $141 = HEAP32[$pChunk>>2]|0; - $142 = HEAP32[$141>>2]|0; - HEAP32[$pChunk>>2] = $142; - $143 = ($142|0)!=(0|0); - $144 = HEAP32[$nRead>>2]|0; - $145 = ($144|0)>(0); - $or$cond5 = $143 & $145; - if (!($or$cond5)) { - break; + $103 = HEAP32[$3>>2]|0; + $104 = (_sqlite3PagerUseWal($103)|0); + $105 = ($104|0)!=(0); + if ($105) { + $106 = HEAP32[$3>>2]|0; + $107 = ((($106)) + 216|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$8>>2]|0; + $110 = HEAP32[$7>>2]|0; + $111 = (($109) + (($110*48)|0)|0); + $112 = ((($111)) + 28|0); + _sqlite3WalSavepoint($108,$112); } + $113 = HEAP32[$7>>2]|0; + $114 = (($113) + 1)|0; + $115 = HEAP32[$3>>2]|0; + $116 = ((($115)) + 104|0); + HEAP32[$116>>2] = $114; + $117 = HEAP32[$7>>2]|0; + $118 = (($117) + 1)|0; + HEAP32[$7>>2] = $118; } - $146 = HEAP32[$pChunk>>2]|0; - $147 = ($146|0)!=(0|0); - if (!($147)) { - $163 = 0;$166 = 0; - $159 = HEAP32[$p>>2]|0; - $160 = ((($159)) + 40|0); - $161 = $160; - $162 = $161; - HEAP32[$162>>2] = $163; - $164 = (($161) + 4)|0; - $165 = $164; - HEAP32[$165>>2] = $166; - $167 = HEAP32[$pChunk>>2]|0; - $168 = HEAP32[$p>>2]|0; - $169 = ((($168)) + 40|0); - $170 = ((($169)) + 8|0); - HEAP32[$170>>2] = $167; - STACKTOP = sp;return 0; + if ((label|0) == 10) { + HEAP32[$2>>2] = 7; + $120 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($120|0); } - $148 = $5; - $149 = $148; - $150 = HEAP32[$149>>2]|0; - $151 = (($148) + 4)|0; - $152 = $151; - $153 = HEAP32[$152>>2]|0; - $154 = HEAP32[$4>>2]|0; - $155 = ($154|0)<(0); - $156 = $155 << 31 >> 31; - $157 = (_i64Add(($150|0),($153|0),($154|0),($156|0))|0); - $158 = tempRet0; - $163 = $157;$166 = $158; - $159 = HEAP32[$p>>2]|0; - $160 = ((($159)) + 40|0); - $161 = $160; - $162 = $161; - HEAP32[$162>>2] = $163; - $164 = (($161) + 4)|0; - $165 = $164; - HEAP32[$165>>2] = $166; - $167 = HEAP32[$pChunk>>2]|0; - $168 = HEAP32[$p>>2]|0; - $169 = ((($168)) + 40|0); - $170 = ((($169)) + 8|0); - HEAP32[$170>>2] = $167; - STACKTOP = sp;return 0; + else if ((label|0) == 14) { + $119 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $119; + $120 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($120|0); + } + return (0)|0; } -function _memjrnlWrite($pJfd,$zBuf,$iAmt,$0,$1) { - $pJfd = $pJfd|0; - $zBuf = $zBuf|0; - $iAmt = $iAmt|0; +function _sqlite3WalSavepoint($0,$1) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iChunkOffset = 0, $iSpace = 0, $nWrite = 0, $p = 0, $pChunk = 0, $pNew = 0; - var $rc = 0, $zWrite = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $5 = sp + 40|0; - $6 = sp; - $p = sp + 36|0; - $nWrite = sp + 32|0; - $zWrite = sp + 28|0; - $rc = sp + 24|0; - $pChunk = sp + 20|0; - $iChunkOffset = sp + 16|0; - $iSpace = sp + 12|0; - $pNew = sp + 8|0; - HEAP32[$3>>2] = $pJfd; - HEAP32[$4>>2] = $zBuf; - HEAP32[$5>>2] = $iAmt; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $11; - $12 = HEAP32[$5>>2]|0; - HEAP32[$nWrite>>2] = $12; - $13 = HEAP32[$4>>2]|0; - HEAP32[$zWrite>>2] = $13; - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)>(0); - if ($17) { - $18 = HEAP32[$5>>2]|0; - $19 = ($18|0)<(0); - $20 = $19 << 31 >> 31; - $21 = $6; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (_i64Add(($18|0),($20|0),($23|0),($26|0))|0); - $28 = tempRet0; - $29 = HEAP32[$p>>2]|0; - $30 = ((($29)) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<(0); - $33 = $32 << 31 >> 31; - $34 = ($28|0)>($33|0); - $35 = ($27>>>0)>($31>>>0); - $36 = ($28|0)==($33|0); - $37 = $36 & $35; - $38 = $34 | $37; - if ($38) { - $39 = HEAP32[$p>>2]|0; - $40 = (_memjrnlCreateFile($39)|0); - HEAP32[$rc>>2] = $40; - $41 = HEAP32[$rc>>2]|0; - $42 = ($41|0)==(0); - if ($42) { - $43 = HEAP32[$3>>2]|0; - $44 = HEAP32[$4>>2]|0; - $45 = HEAP32[$5>>2]|0; - $46 = $6; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (($46) + 4)|0; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (_sqlite3OsWrite($43,$44,$45,$48,$51)|0); - HEAP32[$rc>>2] = $52; - } - $53 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $53; - $155 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($155|0); - } + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 52|0); + $6 = ((($5)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$3>>2]|0; + HEAP32[$8>>2] = $7; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 52|0); + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 4|0); + HEAP32[$14>>2] = $12; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 52|0); + $17 = ((($16)) + 24|0); + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 8|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 112|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 12|0); + HEAP32[$26>>2] = $24; + STACKTOP = sp;return; +} +function _sqlite3WalBeginWriteTransaction($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, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 46|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)!=(0); + if ($7) { + HEAP32[$1>>2] = 8; + $25 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($25|0); } - while(1) { - $54 = HEAP32[$nWrite>>2]|0; - $55 = ($54|0)>(0); - if (!($55)) { - label = 18; - break; - } - $56 = HEAP32[$p>>2]|0; - $57 = ((($56)) + 24|0); - $58 = ((($57)) + 8|0); - $59 = HEAP32[$58>>2]|0; - HEAP32[$pChunk>>2] = $59; - $60 = HEAP32[$p>>2]|0; - $61 = ((($60)) + 24|0); - $62 = $61; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$p>>2]|0; - $69 = ((($68)) + 4|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)<(0); - $72 = $71 << 31 >> 31; - $73 = (___remdi3(($64|0),($67|0),($70|0),($72|0))|0); - $74 = tempRet0; - HEAP32[$iChunkOffset>>2] = $73; - $75 = HEAP32[$nWrite>>2]|0; - $76 = HEAP32[$p>>2]|0; - $77 = ((($76)) + 4|0); - $78 = HEAP32[$77>>2]|0; - $79 = HEAP32[$iChunkOffset>>2]|0; - $80 = (($78) - ($79))|0; - $81 = ($75|0)<($80|0); - if ($81) { - $82 = HEAP32[$nWrite>>2]|0; - $88 = $82; + $8 = HEAP32[$2>>2]|0; + $9 = (_walLockExclusive($8,0,1)|0); + HEAP32[$3>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $12; + $25 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($25|0); + } + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 44|0); + HEAP8[$14>>0] = 1; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 52|0); + $17 = HEAP32[$2>>2]|0; + $18 = (_walIndexHdr($17)|0); + $19 = (_memcmp($16,$18,48)|0); + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$2>>2]|0; + _walUnlockExclusive($21,0,1); + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 44|0); + HEAP8[$23>>0] = 0; + HEAP32[$3>>2] = 517; + } + $24 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $24; + $25 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($25|0); +} +function _sqlite3PagerSharedLock($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $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, $or$cond = 0; + var $or$cond3 = 0, $or$cond5 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + $9 = sp + 32|0; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $10 = HEAP32[$1>>2]|0; + $11 = (_sqlite3PagerUseWal($10)|0); + $12 = ($11|0)!=(0); + do { + if ($12) { + label = 32; } else { - $83 = HEAP32[$p>>2]|0; - $84 = ((($83)) + 4|0); - $85 = HEAP32[$84>>2]|0; - $86 = HEAP32[$iChunkOffset>>2]|0; - $87 = (($85) - ($86))|0; - $88 = $87; - } - HEAP32[$iSpace>>2] = $88; - $89 = HEAP32[$iChunkOffset>>2]|0; - $90 = ($89|0)==(0); - if ($90) { - $91 = HEAP32[$p>>2]|0; - $92 = ((($91)) + 4|0); - $93 = HEAP32[$92>>2]|0; - $94 = (($93) - 8)|0; - $95 = (12 + ($94))|0; - $96 = (_sqlite3_malloc($95)|0); - HEAP32[$pNew>>2] = $96; - $97 = HEAP32[$pNew>>2]|0; - $98 = ($97|0)!=(0|0); - if (!($98)) { - label = 12; - break; - } - $99 = HEAP32[$pNew>>2]|0; - HEAP32[$99>>2] = 0; - $100 = HEAP32[$pChunk>>2]|0; - $101 = ($100|0)!=(0|0); - $102 = HEAP32[$pNew>>2]|0; - if ($101) { - $103 = HEAP32[$pChunk>>2]|0; - HEAP32[$103>>2] = $102; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 17|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)==(0); + if ($17) { + HEAP32[$3>>2] = 1; + $18 = HEAP32[$1>>2]|0; + $19 = (_pager_wait_on_lock($18,1)|0); + HEAP32[$2>>2] = $19; + $20 = HEAP32[$2>>2]|0; + $21 = ($20|0)!=(0); + if (!($21)) { + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 18|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = ($25|0)<=(1); + if ($26) { + $27 = HEAP32[$1>>2]|0; + $28 = (_hasHotJournal($27,$3)|0); + HEAP32[$2>>2] = $28; + } + $29 = HEAP32[$2>>2]|0; + $30 = ($29|0)!=(0); + if (!($30)) { + $31 = HEAP32[$3>>2]|0; + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 15|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)!=(0); + if ($36) { + HEAP32[$2>>2] = 776; + break; + } + $37 = HEAP32[$1>>2]|0; + $38 = (_pagerLockDb($37,4)|0); + HEAP32[$2>>2] = $38; + $39 = HEAP32[$2>>2]|0; + $40 = ($39|0)!=(0); + if ($40) { + break; + } + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 68|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)!=(0|0); + if (!($45)) { + $46 = HEAP32[$1>>2]|0; + $47 = HEAP32[$46>>2]|0; + HEAP32[$4>>2] = $47; + $48 = HEAP32[$4>>2]|0; + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 180|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_sqlite3OsAccess($48,$51,0,$5)|0); + HEAP32[$2>>2] = $52; + $53 = HEAP32[$2>>2]|0; + $54 = ($53|0)==(0); + $55 = HEAP32[$5>>2]|0; + $56 = ($55|0)!=(0); + $or$cond = $54 & $56; + if ($or$cond) { + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 2050; + $57 = HEAP32[$4>>2]|0; + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 180|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 68|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$7>>2]|0; + $65 = (_sqlite3OsOpen($57,$60,$63,$64,$6)|0); + HEAP32[$2>>2] = $65; + $66 = HEAP32[$2>>2]|0; + $67 = ($66|0)==(0); + if ($67) { + $68 = HEAP32[$6>>2]|0; + $69 = $68 & 1; + $70 = ($69|0)!=(0); + if ($70) { + $71 = (_sqlite3CantopenError(51483)|0); + HEAP32[$2>>2] = $71; + $72 = HEAP32[$1>>2]|0; + $73 = ((($72)) + 68|0); + $74 = HEAP32[$73>>2]|0; + _sqlite3OsClose($74); + } + } + } + } + $75 = HEAP32[$1>>2]|0; + $76 = ((($75)) + 68|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = ($78|0)!=(0|0); + $80 = HEAP32[$1>>2]|0; + if ($79) { + $81 = (_pagerSyncHotJournal($80)|0); + HEAP32[$2>>2] = $81; + $82 = HEAP32[$2>>2]|0; + $83 = ($82|0)==(0); + if ($83) { + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 13|0); + $87 = HEAP8[$86>>0]|0; + $88 = ($87<<24>>24)!=(0); + $89 = $88 ^ 1; + $90 = $89&1; + $91 = (_pager_playback($84,$90)|0); + HEAP32[$2>>2] = $91; + $92 = HEAP32[$1>>2]|0; + $93 = ((($92)) + 17|0); + HEAP8[$93>>0] = 0; + } + } else { + $94 = ((($80)) + 4|0); + $95 = HEAP8[$94>>0]|0; + $96 = ($95<<24>>24)!=(0); + if (!($96)) { + $97 = HEAP32[$1>>2]|0; + (_pagerUnlockDb($97,1)|0); + } + } + $98 = HEAP32[$2>>2]|0; + $99 = ($98|0)!=(0); + if ($99) { + $100 = HEAP32[$1>>2]|0; + $101 = HEAP32[$2>>2]|0; + (_pager_error($100,$101)|0); + break; + } + } + $102 = HEAP32[$1>>2]|0; + $103 = ((($102)) + 13|0); + $104 = HEAP8[$103>>0]|0; + $105 = ($104<<24>>24)!=(0); + if (!($105)) { + $106 = HEAP32[$1>>2]|0; + $107 = ((($106)) + 24|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = ($109|0)!=(0); + if ($110) { + HEAP32[$8>>2] = 0; + $111 = HEAP32[$1>>2]|0; + $112 = (_pagerPagecount($111,$8)|0); + HEAP32[$2>>2] = $112; + $113 = HEAP32[$2>>2]|0; + $114 = ($113|0)!=(0); + if ($114) { + break; + } + $115 = HEAP32[$8>>2]|0; + $116 = ($115>>>0)>(0); + if ($116) { + $117 = HEAP32[$1>>2]|0; + $118 = ((($117)) + 64|0); + $119 = HEAP32[$118>>2]|0; + $120 = (_sqlite3OsRead($119,$9,16,24,0)|0); + HEAP32[$2>>2] = $120; + $121 = HEAP32[$2>>2]|0; + $122 = ($121|0)!=(0); + $123 = HEAP32[$2>>2]|0; + $124 = ($123|0)!=(522); + $or$cond3 = $122 & $124; + if ($or$cond3) { + break; + } + } else { + dest=$9; stop=dest+16|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + } + $125 = HEAP32[$1>>2]|0; + $126 = ((($125)) + 112|0); + $127 = (_memcmp($126,$9,16)|0); + $128 = ($127|0)!=(0); + if ($128) { + $129 = HEAP32[$1>>2]|0; + _pager_reset($129); + } + } + } + $130 = HEAP32[$1>>2]|0; + $131 = (_pagerOpenWalIfPresent($130)|0); + HEAP32[$2>>2] = $131; + label = 32; + } + } } else { - $104 = HEAP32[$p>>2]|0; - $105 = ((($104)) + 16|0); - HEAP32[$105>>2] = $102; + label = 32; + } + } + } while(0); + if ((label|0) == 32) { + $132 = HEAP32[$1>>2]|0; + $133 = (_sqlite3PagerUseWal($132)|0); + $134 = ($133|0)!=(0); + if ($134) { + $135 = HEAP32[$1>>2]|0; + $136 = (_pagerBeginReadTransaction($135)|0); + HEAP32[$2>>2] = $136; + } + $137 = HEAP32[$1>>2]|0; + $138 = ((($137)) + 13|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = ($140|0)==(0); + if ($141) { + $142 = HEAP32[$1>>2]|0; + $143 = ((($142)) + 17|0); + $144 = HEAP8[$143>>0]|0; + $145 = $144&255; + $146 = ($145|0)==(0); + $147 = HEAP32[$2>>2]|0; + $148 = ($147|0)==(0); + $or$cond5 = $146 & $148; + if ($or$cond5) { + $149 = HEAP32[$1>>2]|0; + $150 = HEAP32[$1>>2]|0; + $151 = ((($150)) + 28|0); + $152 = (_pagerPagecount($149,$151)|0); + HEAP32[$2>>2] = $152; } - $106 = HEAP32[$pNew>>2]|0; - $107 = HEAP32[$p>>2]|0; - $108 = ((($107)) + 24|0); - $109 = ((($108)) + 8|0); - HEAP32[$109>>2] = $106; } - $110 = HEAP32[$p>>2]|0; - $111 = ((($110)) + 24|0); - $112 = ((($111)) + 8|0); - $113 = HEAP32[$112>>2]|0; - $114 = ((($113)) + 4|0); - $115 = HEAP32[$iChunkOffset>>2]|0; - $116 = (($114) + ($115)|0); - $117 = HEAP32[$zWrite>>2]|0; - $118 = HEAP32[$iSpace>>2]|0; - _memcpy(($116|0),($117|0),($118|0))|0; - $119 = HEAP32[$iSpace>>2]|0; - $120 = HEAP32[$zWrite>>2]|0; - $121 = (($120) + ($119)|0); - HEAP32[$zWrite>>2] = $121; - $122 = HEAP32[$iSpace>>2]|0; - $123 = HEAP32[$nWrite>>2]|0; - $124 = (($123) - ($122))|0; - HEAP32[$nWrite>>2] = $124; - $125 = HEAP32[$iSpace>>2]|0; - $126 = ($125|0)<(0); - $127 = $126 << 31 >> 31; - $128 = HEAP32[$p>>2]|0; - $129 = ((($128)) + 24|0); - $130 = $129; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (($130) + 4)|0; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = (_i64Add(($132|0),($135|0),($125|0),($127|0))|0); - $137 = tempRet0; - $138 = $129; - $139 = $138; - HEAP32[$139>>2] = $136; - $140 = (($138) + 4)|0; - $141 = $140; - HEAP32[$141>>2] = $137; - } - if ((label|0) == 12) { - HEAP32[$2>>2] = 3082; - $155 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($155|0); } - else if ((label|0) == 18) { - $142 = HEAP32[$5>>2]|0; - $143 = ($142|0)<(0); - $144 = $143 << 31 >> 31; - $145 = $6; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + 4)|0; - $149 = $148; - $150 = HEAP32[$149>>2]|0; - $151 = (_i64Add(($142|0),($144|0),($147|0),($150|0))|0); - $152 = tempRet0; - $153 = HEAP32[$p>>2]|0; - $154 = ((($153)) + 12|0); - HEAP32[$154>>2] = $151; - HEAP32[$2>>2] = 0; - $155 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($155|0); + $153 = HEAP32[$2>>2]|0; + $154 = ($153|0)!=(0); + $155 = HEAP32[$1>>2]|0; + if ($154) { + _pager_unlock($155); + $159 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($159|0); + } else { + $156 = ((($155)) + 17|0); + HEAP8[$156>>0] = 1; + $157 = HEAP32[$1>>2]|0; + $158 = ((($157)) + 24|0); + HEAP8[$158>>0] = 1; + $159 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($159|0); } return (0)|0; } -function _memjrnlTruncate($pJfd,$0,$1) { - $pJfd = $pJfd|0; +function _sqlite3PagerOpenWal($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 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; STACKTOP = STACKTOP + 16|0; $2 = sp + 12|0; - $3 = sp; - $p = sp + 8|0; - HEAP32[$2>>2] = $pJfd; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $8; - $9 = $3; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = ($11|0)==(0); - $16 = ($14|0)==(0); - $17 = $15 & $16; - if (!($17)) { - STACKTOP = sp;return 0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 13|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)!=(0); + do { + if ($9) { + label = 7; + } else { + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 216|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + if ($13) { + label = 7; + } else { + $14 = HEAP32[$3>>2]|0; + $15 = (_sqlite3PagerWalSupported($14)|0); + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 68|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3OsClose($19); + $20 = HEAP32[$3>>2]|0; + $21 = (_pagerOpenWal($20)|0); + HEAP32[$5>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + break; + } + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 5|0); + HEAP8[$25>>0] = 5; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 17|0); + HEAP8[$27>>0] = 0; + break; + } else { + HEAP32[$2>>2] = 14; + $30 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($30|0); + } + } + } + } while(0); + if ((label|0) == 7) { + $28 = HEAP32[$4>>2]|0; + HEAP32[$28>>2] = 1; } - $18 = HEAP32[$p>>2]|0; - _memjrnlFreeChunks($18); - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 12|0); - HEAP32[$20>>2] = 0; - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 24|0); - $23 = ((($22)) + 8|0); - HEAP32[$23>>2] = 0; - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 24|0); - $26 = $25; - $27 = $26; - HEAP32[$27>>2] = 0; - $28 = (($26) + 4)|0; - $29 = $28; - HEAP32[$29>>2] = 0; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 40|0); - $32 = ((($31)) + 8|0); - HEAP32[$32>>2] = 0; - $33 = HEAP32[$p>>2]|0; - $34 = ((($33)) + 40|0); - $35 = $34; - $36 = $35; - HEAP32[$36>>2] = 0; - $37 = (($35) + 4)|0; - $38 = $37; - HEAP32[$38>>2] = 0; - STACKTOP = sp;return 0; + $29 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $29; + $30 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($30|0); } -function _memjrnlSync($pJfd,$flags) { - $pJfd = $pJfd|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; +function _sqlite3PagerWalSupported($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, $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; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pJfd; - HEAP32[$1>>2] = $flags; - STACKTOP = sp;return 0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 64|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 14|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)!=(0); + if ($11) { + HEAP32[$1>>2] = 0; + $26 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($26|0); + } + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)!=(0); + if ($16) { + $25 = 1; + } else { + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)>=(2); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0|0); + $25 = $23; + } else { + $25 = 0; + } + } + $24 = $25&1; + HEAP32[$1>>2] = $24; + $26 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($26|0); } -function _memjrnlFileSize($pJfd,$pSize) { - $pJfd = $pJfd|0; - $pSize = $pSize|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _pagerOpenWal($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pJfd; - HEAP32[$1>>2] = $pSize; - $2 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ((($3)) + 24|0); - $5 = $4; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = (($5) + 4)|0; - $9 = $8; - $10 = HEAP32[$9>>2]|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)!=(0); + if ($6) { + $7 = HEAP32[$1>>2]|0; + $8 = (_pagerExclusiveLock($7)|0); + HEAP32[$2>>2] = $8; + } + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $34 = HEAP32[$1>>2]|0; + _pagerFixMaplimit($34); + $35 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($35|0); + } $11 = HEAP32[$1>>2]|0; - $12 = $11; - $13 = $12; - HEAP32[$13>>2] = $7; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = $10; - STACKTOP = sp;return 0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 64|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 220|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 168|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 216|0); + $33 = (_sqlite3WalOpen($12,$15,$18,$22,$27,$30,$32)|0); + HEAP32[$2>>2] = $33; + $34 = HEAP32[$1>>2]|0; + _pagerFixMaplimit($34); + $35 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($35|0); } -function _memjrnlFreeChunks($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pIter = 0, $pNext = 0, label = 0, sp = 0; +function _pagerExclusiveLock($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pIter = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pIter>>2] = $3; - while(1) { - $4 = HEAP32[$pIter>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - break; - } - $6 = HEAP32[$pIter>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$pNext>>2] = $7; - $8 = HEAP32[$pIter>>2]|0; - _sqlite3_free($8); - $9 = HEAP32[$pNext>>2]|0; - HEAP32[$pIter>>2] = $9; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_pagerLockDb($3,4)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0); + if ($6) { + $7 = HEAP32[$1>>2]|0; + (_pagerUnlockDb($7,1)|0); } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 16|0); - HEAP32[$11>>2] = 0; - STACKTOP = sp;return; + $8 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($8|0); } -function _memjrnlCreateFile($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $copy = 0; - var $iOff = 0, $nChunk = 0, $pIter = 0, $pReal = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3WalOpen($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + 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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 96|0; - $rc = sp + 92|0; - $pReal = sp + 88|0; - $copy = sp + 8|0; - $nChunk = sp + 84|0; - $iOff = sp; - $pIter = sp + 80|0; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pReal>>2] = $1; - $2 = HEAP32[$0>>2]|0; - dest=$copy; src=$2; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[$0>>2]|0; - dest=$3; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = ((($copy)) + 60|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($copy)) + 64|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$pReal>>2]|0; - $9 = ((($copy)) + 56|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3OsOpen($5,$7,$8,$10,0)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $14 = ((($copy)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$nChunk>>2] = $15; - $16 = $iOff; - $17 = $16; - HEAP32[$17>>2] = 0; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = 0; - $20 = ((($copy)) + 16|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$pIter>>2] = $21; - while(1) { - $22 = HEAP32[$pIter>>2]|0; - $23 = ($22|0)!=(0|0); - if (!($23)) { - break; - } - $24 = $iOff; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$nChunk>>2]|0; - $31 = ($30|0)<(0); - $32 = $31 << 31 >> 31; - $33 = (_i64Add(($26|0),($29|0),($30|0),($32|0))|0); - $34 = tempRet0; - $35 = ((($copy)) + 24|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = ($34|0)>($41|0); - $43 = ($33>>>0)>($38>>>0); - $44 = ($34|0)==($41|0); - $45 = $44 & $43; - $46 = $42 | $45; - if ($46) { - $47 = ((($copy)) + 24|0); - $48 = $47; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = $iOff; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (_i64Subtract(($50|0),($53|0),($56|0),($59|0))|0); - $61 = tempRet0; - HEAP32[$nChunk>>2] = $60; - } - $62 = HEAP32[$pReal>>2]|0; - $63 = HEAP32[$pIter>>2]|0; - $64 = ((($63)) + 4|0); - $65 = HEAP32[$nChunk>>2]|0; - $66 = $iOff; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = (($66) + 4)|0; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (_sqlite3OsWrite($62,$64,$65,$68,$71)|0); - HEAP32[$rc>>2] = $72; - $73 = HEAP32[$rc>>2]|0; - $74 = ($73|0)!=(0); - if ($74) { - break; - } - $75 = HEAP32[$nChunk>>2]|0; - $76 = ($75|0)<(0); - $77 = $76 << 31 >> 31; - $78 = $iOff; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = (_i64Add(($80|0),($83|0),($75|0),($77|0))|0); - $85 = tempRet0; - $86 = $iOff; - $87 = $86; - HEAP32[$87>>2] = $84; - $88 = (($86) + 4)|0; - $89 = $88; - HEAP32[$89>>2] = $85; - $90 = HEAP32[$pIter>>2]|0; - $91 = HEAP32[$90>>2]|0; - HEAP32[$pIter>>2] = $91; - } - $92 = HEAP32[$rc>>2]|0; - $93 = ($92|0)==(0); - if ($93) { - _memjrnlFreeChunks($copy); + STACKTOP = STACKTOP + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + $18 = $12; + $19 = $18; + HEAP32[$19>>2] = $4; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $5; + HEAP32[$13>>2] = $6; + $22 = HEAP32[$13>>2]|0; + HEAP32[$22>>2] = 0; + $23 = HEAP32[$8>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = (120 + ($25))|0; + $27 = (_sqlite3MallocZero($26,0)|0); + HEAP32[$15>>2] = $27; + $28 = HEAP32[$15>>2]|0; + $29 = ($28|0)!=(0|0); + if (!($29)) { + HEAP32[$7>>2] = 7; + $102 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($102|0); + } + $30 = HEAP32[$8>>2]|0; + $31 = HEAP32[$15>>2]|0; + HEAP32[$31>>2] = $30; + $32 = HEAP32[$15>>2]|0; + $33 = ((($32)) + 120|0); + $34 = HEAP32[$15>>2]|0; + $35 = ((($34)) + 8|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$15>>2]|0; + $38 = ((($37)) + 4|0); + HEAP32[$38>>2] = $36; + $39 = HEAP32[$15>>2]|0; + $40 = ((($39)) + 40|0); + HEAP16[$40>>1] = -1; + $41 = $12; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$15>>2]|0; + $48 = ((($47)) + 16|0); + $49 = $48; + $50 = $49; + HEAP32[$50>>2] = $43; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = $46; + $53 = HEAP32[$10>>2]|0; + $54 = HEAP32[$15>>2]|0; + $55 = ((($54)) + 108|0); + HEAP32[$55>>2] = $53; + $56 = HEAP32[$15>>2]|0; + $57 = ((($56)) + 48|0); + HEAP8[$57>>0] = 1; + $58 = HEAP32[$15>>2]|0; + $59 = ((($58)) + 49|0); + HEAP8[$59>>0] = 1; + $60 = HEAP32[$11>>2]|0; + $61 = ($60|0)!=(0); + $62 = $61 ? 2 : 0; + $63 = $62&255; + $64 = HEAP32[$15>>2]|0; + $65 = ((($64)) + 43|0); + HEAP8[$65>>0] = $63; + HEAP32[$16>>2] = 524294; + $66 = HEAP32[$8>>2]|0; + $67 = HEAP32[$10>>2]|0; + $68 = HEAP32[$15>>2]|0; + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$16>>2]|0; + $72 = (_sqlite3OsOpen($66,$67,$70,$71,$16)|0); + HEAP32[$14>>2] = $72; + $73 = HEAP32[$14>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = HEAP32[$16>>2]|0; + $76 = $75 & 1; + $77 = ($76|0)!=(0); + if ($77) { + $78 = HEAP32[$15>>2]|0; + $79 = ((($78)) + 46|0); + HEAP8[$79>>0] = 1; } } - $94 = HEAP32[$rc>>2]|0; - $95 = ($94|0)!=(0); - if (!($95)) { - $98 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($98|0); + $80 = HEAP32[$14>>2]|0; + $81 = ($80|0)!=(0); + if ($81) { + $82 = HEAP32[$15>>2]|0; + _walIndexClose($82,0); + $83 = HEAP32[$15>>2]|0; + $84 = ((($83)) + 8|0); + $85 = HEAP32[$84>>2]|0; + _sqlite3OsClose($85); + $86 = HEAP32[$15>>2]|0; + _sqlite3_free($86); + } else { + $87 = HEAP32[$9>>2]|0; + $88 = (_sqlite3OsDeviceCharacteristics($87)|0); + HEAP32[$17>>2] = $88; + $89 = HEAP32[$17>>2]|0; + $90 = $89 & 1024; + $91 = ($90|0)!=(0); + if ($91) { + $92 = HEAP32[$15>>2]|0; + $93 = ((($92)) + 48|0); + HEAP8[$93>>0] = 0; + } + $94 = HEAP32[$17>>2]|0; + $95 = $94 & 4096; + $96 = ($95|0)!=(0); + if ($96) { + $97 = HEAP32[$15>>2]|0; + $98 = ((($97)) + 49|0); + HEAP8[$98>>0] = 0; + } + $99 = HEAP32[$15>>2]|0; + $100 = HEAP32[$13>>2]|0; + HEAP32[$100>>2] = $99; } - $96 = HEAP32[$pReal>>2]|0; - _sqlite3OsClose($96); - $97 = HEAP32[$0>>2]|0; - dest=$97; src=$copy; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $98 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($98|0); -} -function _sqlite3OsOpen($pVfs,$zPath,$pFile,$flags,$pFlagsOut) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $pFile = $pFile|0; - $flags = $flags|0; - $pFlagsOut = $pFlagsOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $pFile; - HEAP32[$3>>2] = $flags; - HEAP32[$4>>2] = $pFlagsOut; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 24|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = $11 & 556927; - $13 = HEAP32[$4>>2]|0; - $14 = (FUNCTION_TABLE_iiiiii[$7 & 255]($8,$9,$10,$12,$13)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($15|0); + $101 = HEAP32[$14>>2]|0; + HEAP32[$7>>2] = $101; + $102 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($102|0); } -function _sqlite3PagerSavepoint($pPager,$op,$iSavepoint) { - $pPager = $pPager|0; - $op = $op|0; - $iSavepoint = $iSavepoint|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $ii = 0, $nNew = 0, $pSavepoint = 0; - var $rc = 0, label = 0, sp = 0; +function _hasHotJournal($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; - $ii = sp + 8|0; - $nNew = sp + 4|0; - $pSavepoint = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $iSavepoint; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 44|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$rc>>2] = $5; - $6 = HEAP32[$rc>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + $11 = sp + 36|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $13; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 1; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 68|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + $19 = $18 ^ 1; + $20 = $19 ^ 1; + $21 = $20&1; + HEAP32[$7>>2] = $21; + $22 = HEAP32[$3>>2]|0; + HEAP32[$22>>2] = 0; + $23 = HEAP32[$7>>2]|0; + $24 = ($23|0)!=(0); + if (!($24)) { + $25 = HEAP32[$4>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 180|0); + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3OsAccess($25,$28,0,$6)|0); + HEAP32[$5>>2] = $29; } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 104|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)<($11|0); - if (!($12)) { - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); + $30 = HEAP32[$5>>2]|0; + $31 = ($30|0)==(0); + $32 = HEAP32[$6>>2]|0; + $33 = ($32|0)!=(0); + $or$cond = $31 & $33; + if (!($or$cond)) { + $94 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($94|0); } - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ($14|0)==(1); - $16 = $15 ? 0 : 1; - $17 = (($13) + ($16))|0; - HEAP32[$nNew>>2] = $17; - $18 = HEAP32[$nNew>>2]|0; - HEAP32[$ii>>2] = $18; - while(1) { - $19 = HEAP32[$ii>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 104|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($19|0)<($22|0); - if (!($23)) { - break; - } - $24 = HEAP32[$ii>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 100|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + (($24*48)|0)|0); - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - _sqlite3BitvecDestroy($30); - $31 = HEAP32[$ii>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$ii>>2] = $32; + HEAP32[$8>>2] = 0; + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 64|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_sqlite3OsCheckReservedLock($36,$8)|0); + HEAP32[$5>>2] = $37; + $38 = HEAP32[$5>>2]|0; + $39 = ($38|0)!=(0); + $40 = HEAP32[$8>>2]|0; + $41 = ($40|0)!=(0); + $or$cond3 = $39 | $41; + if ($or$cond3) { + $94 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($94|0); } - $33 = HEAP32[$nNew>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 104|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$1>>2]|0; - $37 = ($36|0)==(1); - if (!($37)) { - $56 = HEAP32[$0>>2]|0; - $57 = (_sqlite3PagerUseWal($56)|0); - $58 = ($57|0)!=(0); - if (!($58)) { - $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 68|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)!=(0|0); - if (!($63)) { - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); + $42 = HEAP32[$2>>2]|0; + $43 = (_pagerPagecount($42,$9)|0); + HEAP32[$5>>2] = $43; + $44 = HEAP32[$5>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + $94 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($94|0); + } + $46 = HEAP32[$9>>2]|0; + $47 = ($46|0)!=(0); + $48 = HEAP32[$7>>2]|0; + $49 = ($48|0)!=(0); + $or$cond5 = $47 | $49; + if (!($or$cond5)) { + _sqlite3BeginBenignMalloc(); + $50 = HEAP32[$2>>2]|0; + $51 = (_pagerLockDb($50,2)|0); + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$4>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 180|0); + $56 = HEAP32[$55>>2]|0; + (_sqlite3OsDelete($53,$56,0)|0); + $57 = HEAP32[$2>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP8[$58>>0]|0; + $60 = ($59<<24>>24)!=(0); + if (!($60)) { + $61 = HEAP32[$2>>2]|0; + (_pagerUnlockDb($61,1)|0); } } - $64 = HEAP32[$nNew>>2]|0; - $65 = ($64|0)==(0); - if ($65) { - $72 = 0; - } else { - $66 = HEAP32[$nNew>>2]|0; - $67 = (($66) - 1)|0; - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 100|0); - $70 = HEAP32[$69>>2]|0; - $71 = (($70) + (($67*48)|0)|0); - $72 = $71; - } - HEAP32[$pSavepoint>>2] = $72; - $73 = HEAP32[$0>>2]|0; - $74 = HEAP32[$pSavepoint>>2]|0; - $75 = (_pagerPlaybackSavepoint($73,$74)|0); - HEAP32[$rc>>2] = $75; - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); - } - $38 = HEAP32[$nNew>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); + _sqlite3EndBenignMalloc(); + $94 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($94|0); } - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 72|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)!=(0|0); - if (!($44)) { - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); + $62 = HEAP32[$7>>2]|0; + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$10>>2] = 2049; + $64 = HEAP32[$4>>2]|0; + $65 = HEAP32[$2>>2]|0; + $66 = ((($65)) + 180|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$2>>2]|0; + $69 = ((($68)) + 68|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$10>>2]|0; + $72 = (_sqlite3OsOpen($64,$67,$70,$71,$10)|0); + HEAP32[$5>>2] = $72; } - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 72|0); - $47 = HEAP32[$46>>2]|0; - $48 = (_sqlite3JournalIsInMemory($47)|0); - $49 = ($48|0)!=(0); - if ($49) { - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 72|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_sqlite3OsTruncate($52,0,0)|0); - HEAP32[$rc>>2] = $53; + $73 = HEAP32[$5>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + HEAP8[$11>>0] = 0; + $75 = HEAP32[$2>>2]|0; + $76 = ((($75)) + 68|0); + $77 = HEAP32[$76>>2]|0; + $78 = (_sqlite3OsRead($77,$11,1,0,0)|0); + HEAP32[$5>>2] = $78; + $79 = HEAP32[$5>>2]|0; + $80 = ($79|0)==(522); + $$ = $80 ? 0 : $78; + HEAP32[$5>>2] = $$; + $81 = HEAP32[$7>>2]|0; + $82 = ($81|0)!=(0); + if (!($82)) { + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 68|0); + $85 = HEAP32[$84>>2]|0; + _sqlite3OsClose($85); + } + $86 = HEAP8[$11>>0]|0; + $87 = $86&255; + $88 = ($87|0)!=(0); + $89 = $88&1; + $90 = HEAP32[$3>>2]|0; + HEAP32[$90>>2] = $89; + $94 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($94|0); + } else { + $91 = HEAP32[$5>>2]|0; + $92 = ($91|0)==(14); + if (!($92)) { + $94 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($94|0); + } + $93 = HEAP32[$3>>2]|0; + HEAP32[$93>>2] = 1; + HEAP32[$5>>2] = 0; + $94 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($94|0); } - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 56|0); - HEAP32[$55>>2] = 0; - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); + return (0)|0; } -function _pager_playback($pPager,$isHot) { - $pPager = $pPager|0; - $isHot = $isHot|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $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, $mxPg = 0, $nPlayback = 0, $nRec = 0, $needPagerReset = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pVfs = 0, $rc = 0, $res = 0, $szJ = 0, $u = 0; - var $vararg_buffer = 0, $vararg_ptr8 = 0, $zMaster = 0, label = 0, sp = 0; +function _pagerPagecount($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer = sp + 8|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $pVfs = sp + 48|0; - $szJ = sp; - $nRec = sp + 44|0; - $u = sp + 40|0; - $mxPg = sp + 36|0; - $rc = sp + 32|0; - $res = sp + 28|0; - $zMaster = sp + 24|0; - $needPagerReset = sp + 20|0; - $nPlayback = sp + 16|0; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $isHot; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pVfs>>2] = $3; - HEAP32[$mxPg>>2] = 0; - HEAP32[$res>>2] = 1; - HEAP32[$zMaster>>2] = 0; - HEAP32[$nPlayback>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 68|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3OsFileSize($6,$szJ)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)!=(0); - L1: do { - if (!($9)) { - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 208|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$zMaster>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 68|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$zMaster>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 1)|0; - $22 = (_readMasterJournal($15,$16,$21)|0); - HEAP32[$rc>>2] = $22; - $23 = HEAP32[$rc>>2]|0; - $24 = ($23|0)==(0); - if ($24) { - $25 = HEAP32[$zMaster>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 216|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3WalDbsize($10)|0); + HEAP32[$5>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)==(0); + do { + if ($13) { + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 64|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = $6; + $20 = $19; + HEAP32[$20>>2] = 0; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = 0; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 64|0); + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3OsFileSize($25,$6)|0); + HEAP32[$7>>2] = $26; + $27 = HEAP32[$7>>2]|0; $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$pVfs>>2]|0; - $30 = HEAP32[$zMaster>>2]|0; - $31 = (_sqlite3OsAccess($29,$30,0,$res)|0); - HEAP32[$rc>>2] = $31; - } - } - HEAP32[$zMaster>>2] = 0; - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)==(0); - $34 = HEAP32[$res>>2]|0; - $35 = ($34|0)!=(0); - $or$cond = $33 & $35; - if ($or$cond) { - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 80|0); - $38 = $37; - $39 = $38; - HEAP32[$39>>2] = 0; - $40 = (($38) + 4)|0; - $41 = $40; - HEAP32[$41>>2] = 0; - $42 = HEAP32[$1>>2]|0; - HEAP32[$needPagerReset>>2] = $42; - L8: while(1) { - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = $szJ; - $46 = $45; + if (!($28)) { + $30 = $6; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 160|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)<(0); + $40 = $39 << 31 >> 31; + $41 = (_i64Add(($32|0),($35|0),($38|0),($40|0))|0); + $42 = tempRet0; + $43 = (_i64Subtract(($41|0),($42|0),1,0)|0); + $44 = tempRet0; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 160|0); $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (_readJournalHdr($43,$44,$47,$50,$nRec,$mxPg)|0); - HEAP32[$rc>>2] = $51; - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)!=(0); - if ($53) { - label = 8; - break; - } - $56 = HEAP32[$nRec>>2]|0; - $57 = ($56|0)==(-1); - if ($57) { - $58 = $szJ; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 156|0); - $66 = HEAP32[$65>>2]|0; - $67 = (_i64Subtract(($60|0),($63|0),($66|0),0)|0); - $68 = tempRet0; - $69 = HEAP32[$0>>2]|0; - $70 = ((($69)) + 160|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + 8)|0; - $73 = ($72|0)<(0); - $74 = $73 << 31 >> 31; - $75 = (___divdi3(($67|0),($68|0),($72|0),($74|0))|0); - $76 = tempRet0; - HEAP32[$nRec>>2] = $75; - } - $77 = HEAP32[$nRec>>2]|0; - $78 = ($77|0)!=(0); - $79 = HEAP32[$1>>2]|0; - $80 = ($79|0)!=(0); - $or$cond3 = $78 | $80; - if (!($or$cond3)) { - $81 = HEAP32[$0>>2]|0; - $82 = ((($81)) + 88|0); - $83 = $82; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = (($83) + 4)|0; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$0>>2]|0; - $90 = ((($89)) + 156|0); - $91 = HEAP32[$90>>2]|0; - $92 = (_i64Add(($85|0),($88|0),($91|0),0)|0); - $93 = tempRet0; - $94 = HEAP32[$0>>2]|0; - $95 = ((($94)) + 80|0); - $96 = $95; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (($96) + 4)|0; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = ($92|0)==($98|0); - $103 = ($93|0)==($101|0); - $104 = $102 & $103; - if ($104) { - $105 = $szJ; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$0>>2]|0; - $112 = ((($111)) + 80|0); - $113 = $112; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = (($113) + 4)|0; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (_i64Subtract(($107|0),($110|0),($115|0),($118|0))|0); - $120 = tempRet0; - $121 = HEAP32[$0>>2]|0; - $122 = ((($121)) + 160|0); - $123 = HEAP32[$122>>2]|0; - $124 = (($123) + 8)|0; - $125 = ($124|0)<(0); - $126 = $125 << 31 >> 31; - $127 = (___divdi3(($119|0),($120|0),($124|0),($126|0))|0); - $128 = tempRet0; - HEAP32[$nRec>>2] = $127; - } - } - $129 = HEAP32[$0>>2]|0; - $130 = ((($129)) + 80|0); - $131 = $130; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = HEAP32[$0>>2]|0; - $138 = ((($137)) + 156|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($133|0)==($139|0); - $141 = ($136|0)==(0); - $142 = $140 & $141; - if ($142) { - $143 = HEAP32[$0>>2]|0; - $144 = HEAP32[$mxPg>>2]|0; - $145 = (_pager_truncate($143,$144)|0); - HEAP32[$rc>>2] = $145; - $146 = HEAP32[$rc>>2]|0; - $147 = ($146|0)!=(0); - if ($147) { - break L1; - } - $148 = HEAP32[$mxPg>>2]|0; - $149 = HEAP32[$0>>2]|0; - $150 = ((($149)) + 28|0); - HEAP32[$150>>2] = $148; - } - HEAP32[$u>>2] = 0; - while(1) { - $151 = HEAP32[$u>>2]|0; - $152 = HEAP32[$nRec>>2]|0; - $153 = ($151>>>0)<($152>>>0); - if (!($153)) { - continue L8; - } - $154 = HEAP32[$needPagerReset>>2]|0; - $155 = ($154|0)!=(0); - if ($155) { - $156 = HEAP32[$0>>2]|0; - _pager_reset($156); - HEAP32[$needPagerReset>>2] = 0; - } - $157 = HEAP32[$0>>2]|0; - $158 = HEAP32[$0>>2]|0; - $159 = ((($158)) + 80|0); - $160 = (_pager_playback_one_page($157,$159,0,1,0)|0); - HEAP32[$rc>>2] = $160; - $161 = HEAP32[$rc>>2]|0; - $162 = ($161|0)==(0); - if (!($162)) { - break; - } - $163 = HEAP32[$nPlayback>>2]|0; - $164 = (($163) + 1)|0; - HEAP32[$nPlayback>>2] = $164; - $165 = HEAP32[$u>>2]|0; - $166 = (($165) + 1)|0; - HEAP32[$u>>2] = $166; - } - $167 = HEAP32[$rc>>2]|0; - $168 = ($167|0)==(101); - if (!($168)) { - label = 26; - break; - } - $169 = $szJ; - $170 = $169; - $171 = HEAP32[$170>>2]|0; - $172 = (($169) + 4)|0; - $173 = $172; - $174 = HEAP32[$173>>2]|0; - $175 = HEAP32[$0>>2]|0; - $176 = ((($175)) + 80|0); - $177 = $176; - $178 = $177; - HEAP32[$178>>2] = $171; - $179 = (($177) + 4)|0; - $180 = $179; - HEAP32[$180>>2] = $174; - } - if ((label|0) == 8) { - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)==(101); - if (!($55)) { - break; - } - HEAP32[$rc>>2] = 0; - break; - } - else if ((label|0) == 26) { - $181 = HEAP32[$rc>>2]|0; - $182 = ($181|0)==(522); - if (!($182)) { - break; - } - HEAP32[$rc>>2] = 0; + $48 = ($47|0)<(0); + $49 = $48 << 31 >> 31; + $50 = (___divdi3(($43|0),($44|0),($47|0),($49|0))|0); + $51 = tempRet0; + HEAP32[$5>>2] = $50; break; } + $29 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $29; + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); } } } while(0); - $183 = HEAP32[$0>>2]|0; - $184 = ((($183)) + 13|0); - $185 = HEAP8[$184>>0]|0; - $186 = HEAP32[$0>>2]|0; - $187 = ((($186)) + 19|0); - HEAP8[$187>>0] = $185; - $188 = HEAP32[$rc>>2]|0; - $189 = ($188|0)==(0); - if ($189) { - $190 = HEAP32[$0>>2]|0; - $191 = ((($190)) + 208|0); - $192 = HEAP32[$191>>2]|0; - HEAP32[$zMaster>>2] = $192; - $193 = HEAP32[$0>>2]|0; - $194 = ((($193)) + 68|0); - $195 = HEAP32[$194>>2]|0; - $196 = HEAP32[$zMaster>>2]|0; - $197 = HEAP32[$0>>2]|0; - $198 = HEAP32[$197>>2]|0; - $199 = ((($198)) + 8|0); - $200 = HEAP32[$199>>2]|0; - $201 = (($200) + 1)|0; - $202 = (_readMasterJournal($195,$196,$201)|0); - HEAP32[$rc>>2] = $202; + $52 = HEAP32[$5>>2]|0; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 164|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($52>>>0)>($55>>>0); + if ($56) { + $57 = HEAP32[$5>>2]|0; + $58 = HEAP32[$3>>2]|0; + $59 = ((($58)) + 164|0); + HEAP32[$59>>2] = $57; } - $203 = HEAP32[$rc>>2]|0; - $204 = ($203|0)==(0); + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$4>>2]|0; + HEAP32[$61>>2] = $60; + HEAP32[$2>>2] = 0; + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); +} +function _pagerOpenWalIfPresent($0) { + $0 = $0|0; + var $$ = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 13|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)!=(0); do { - if ($204) { - $205 = HEAP32[$0>>2]|0; - $206 = ((($205)) + 17|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $209 = ($208|0)>=(4); - if (!($209)) { - $210 = HEAP32[$0>>2]|0; - $211 = ((($210)) + 17|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $214 = ($213|0)==(0); - if (!($214)) { - break; - } + if (!($9)) { + $10 = HEAP32[$2>>2]|0; + $11 = (_pagerPagecount($10,$5)|0); + HEAP32[$3>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $14; + $39 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($39|0); } - $215 = HEAP32[$0>>2]|0; - $216 = (_sqlite3PagerSync($215,0)|0); - HEAP32[$rc>>2] = $216; - } - } while(0); - $217 = HEAP32[$rc>>2]|0; - $218 = ($217|0)==(0); - if ($218) { - $219 = HEAP32[$0>>2]|0; - $220 = HEAP32[$zMaster>>2]|0; - $221 = HEAP8[$220>>0]|0; - $222 = $221 << 24 >> 24; - $223 = ($222|0)!=(0); - $224 = $223&1; - $225 = (_pager_end_transaction($219,$224,0)|0); - HEAP32[$rc>>2] = $225; - } - $226 = HEAP32[$rc>>2]|0; - $227 = ($226|0)==(0); - if ($227) { - $228 = HEAP32[$zMaster>>2]|0; - $229 = HEAP8[$228>>0]|0; - $230 = $229 << 24 >> 24; - $231 = ($230|0)!=(0); - $232 = HEAP32[$res>>2]|0; - $233 = ($232|0)!=(0); - $or$cond5 = $231 & $233; - if ($or$cond5) { - $234 = HEAP32[$0>>2]|0; - $235 = HEAP32[$zMaster>>2]|0; - $236 = (_pager_delmaster($234,$235)|0); - HEAP32[$rc>>2] = $236; - } - } - $237 = HEAP32[$1>>2]|0; - $238 = ($237|0)!=(0); - $239 = HEAP32[$nPlayback>>2]|0; - $240 = ($239|0)!=(0); - $or$cond7 = $238 & $240; - if (!($or$cond7)) { - $245 = HEAP32[$0>>2]|0; - _setSectorSize($245); - $246 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($246|0); - } - $241 = HEAP32[$nPlayback>>2]|0; - $242 = HEAP32[$0>>2]|0; - $243 = ((($242)) + 180|0); - $244 = HEAP32[$243>>2]|0; - HEAP32[$vararg_buffer>>2] = $241; - $vararg_ptr8 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $244; - _sqlite3_log(539,25874,$vararg_buffer); - $245 = HEAP32[$0>>2]|0; - _setSectorSize($245); - $246 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($246|0); -} -function _readMasterJournal($pJrnl,$zMaster,$nMaster) { - $pJrnl = $pJrnl|0; - $zMaster = $zMaster|0; - $nMaster = $nMaster|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $aMagic = 0, $cksum = 0, $len = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0; - var $szJ = 0, $u = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $rc = sp + 20|0; - $len = sp + 16|0; - $szJ = sp; - $cksum = sp + 12|0; - $u = sp + 8|0; - $aMagic = sp + 40|0; - HEAP32[$1>>2] = $pJrnl; - HEAP32[$2>>2] = $zMaster; - HEAP32[$3>>2] = $nMaster; - $4 = HEAP32[$2>>2]|0; - HEAP8[$4>>0] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3OsFileSize($5,$szJ)|0); - HEAP32[$rc>>2] = $6; - $7 = (0)!=($6|0); - $8 = $szJ; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)<(0); - $15 = ($10>>>0)<(16); - $16 = ($13|0)==(0); - $17 = $16 & $15; - $18 = $14 | $17; - $or$cond = $7 | $18; - if (!($or$cond)) { - $19 = HEAP32[$1>>2]|0; - $20 = $szJ; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (_i64Subtract(($22|0),($25|0),16,0)|0); - $27 = tempRet0; - $28 = (_read32bits($19,$26,$27,$len)|0); - HEAP32[$rc>>2] = $28; - $29 = (0)!=($28|0); - if (!($29)) { - $30 = HEAP32[$len>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = ($30>>>0)>=($31>>>0); - $33 = HEAP32[$len>>2]|0; - $34 = ($33|0)==(0); - $or$cond3 = $32 | $34; - if (!($or$cond3)) { - $35 = HEAP32[$1>>2]|0; - $36 = $szJ; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (_i64Subtract(($38|0),($41|0),12,0)|0); - $43 = tempRet0; - $44 = (_read32bits($35,$42,$43,$cksum)|0); - HEAP32[$rc>>2] = $44; - $45 = (0)!=($44|0); - if (!($45)) { - $46 = HEAP32[$1>>2]|0; - $47 = $szJ; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (_i64Subtract(($49|0),($52|0),8,0)|0); - $54 = tempRet0; - $55 = (_sqlite3OsRead($46,$aMagic,8,$53,$54)|0); - HEAP32[$rc>>2] = $55; - $56 = (0)!=($55|0); - if (!($56)) { - $57 = (_memcmp($aMagic,25901,8)|0); - $58 = ($57|0)!=(0); - if (!($58)) { - $59 = HEAP32[$1>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = HEAP32[$len>>2]|0; - $62 = $szJ; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (_i64Subtract(($64|0),($67|0),16,0)|0); - $69 = tempRet0; - $70 = HEAP32[$len>>2]|0; - $71 = (_i64Subtract(($68|0),($69|0),($70|0),0)|0); - $72 = tempRet0; - $73 = (_sqlite3OsRead($59,$60,$61,$71,$72)|0); - HEAP32[$rc>>2] = $73; - $74 = (0)!=($73|0); - if (!($74)) { - HEAP32[$u>>2] = 0; - while(1) { - $76 = HEAP32[$u>>2]|0; - $77 = HEAP32[$len>>2]|0; - $78 = ($76>>>0)<($77>>>0); - if (!($78)) { - break; - } - $79 = HEAP32[$u>>2]|0; - $80 = HEAP32[$2>>2]|0; - $81 = (($80) + ($79)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82 << 24 >> 24; - $84 = HEAP32[$cksum>>2]|0; - $85 = (($84) - ($83))|0; - HEAP32[$cksum>>2] = $85; - $86 = HEAP32[$u>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[$u>>2] = $87; - } - $88 = HEAP32[$cksum>>2]|0; - $89 = ($88|0)!=(0); - if ($89) { - HEAP32[$len>>2] = 0; - } - $90 = HEAP32[$len>>2]|0; - $91 = HEAP32[$2>>2]|0; - $92 = (($91) + ($90)|0); - HEAP8[$92>>0] = 0; - HEAP32[$0>>2] = 0; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); - } - } - } + $15 = HEAP32[$5>>2]|0; + $16 = ($15|0)==(0); + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 220|0); + $21 = HEAP32[$20>>2]|0; + if ($16) { + $22 = (_sqlite3OsDelete($18,$21,0)|0); + HEAP32[$3>>2] = $22; + $23 = HEAP32[$3>>2]|0; + $24 = ($23|0)==(5898); + $$ = $24 ? 0 : $22; + HEAP32[$3>>2] = $$; + HEAP32[$4>>2] = 0; + } else { + $25 = (_sqlite3OsAccess($18,$21,0,$4)|0); + HEAP32[$3>>2] = $25; + } + $26 = HEAP32[$3>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0); + $30 = HEAP32[$2>>2]|0; + if ($29) { + $31 = (_sqlite3PagerOpenWal($30,0)|0); + HEAP32[$3>>2] = $31; + break; + } + $32 = ((($30)) + 5|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = ($34|0)==(5); + if ($35) { + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 5|0); + HEAP8[$37>>0] = 0; } } } - } - $75 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $75; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); + } while(0); + $38 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $38; + $39 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($39|0); } -function _sqlite3OsAccess($pVfs,$zPath,$flags,$pResOut) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $flags = $flags|0; - $pResOut = $pResOut|0; - var $0 = 0, $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; +function _pagerBeginReadTransaction($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; $3 = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $flags; - HEAP32[$3>>2] = $pResOut; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 32|0); + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 216|0); $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = (FUNCTION_TABLE_iiiii[$6 & 255]($7,$8,$9,$10)|0); - STACKTOP = sp;return ($11|0); + _sqlite3WalEndReadTransaction($6); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 216|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3WalBeginReadTransaction($9,$3)|0); + HEAP32[$2>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = ($11|0)!=(0); + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)!=(0); + $or$cond = $12 | $14; + if (!($or$cond)) { + $16 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($16|0); + } + $15 = HEAP32[$1>>2]|0; + _pager_reset($15); + $16 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($16|0); } -function _readJournalHdr($pPager,$isHot,$0,$1,$pNRec,$pDbSize) { - $pPager = $pPager|0; - $isHot = $isHot|0; +function _sqlite3WalBeginReadTransaction($0,$1) { $0 = $0|0; $1 = $1|0; - $pNRec = $pNRec|0; - $pDbSize = $pDbSize|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; - var $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, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aMagic = 0, $iHdrOff = 0; - var $iPageSize = 0, $iSectorSize = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $rc = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $5 = sp + 8|0; - $6 = sp + 32|0; - $7 = sp + 28|0; - $rc = sp + 24|0; - $aMagic = sp + 48|0; - $iHdrOff = sp; - $iPageSize = sp + 20|0; - $iSectorSize = sp + 16|0; - HEAP32[$3>>2] = $pPager; - HEAP32[$4>>2] = $isHot; - $8 = $5; - $9 = $8; - HEAP32[$9>>2] = $0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $1; - HEAP32[$6>>2] = $pNRec; - HEAP32[$7>>2] = $pDbSize; - $12 = HEAP32[$3>>2]|0; - $13 = (_journalHdrOffset($12)|0); - $14 = tempRet0; - $15 = HEAP32[$3>>2]|0; - $16 = ((($15)) + 80|0); - $17 = $16; - $18 = $17; - HEAP32[$18>>2] = $13; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $14; - $21 = HEAP32[$3>>2]|0; - $22 = ((($21)) + 80|0); - $23 = $22; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$3>>2]|0; - $30 = ((($29)) + 156|0); - $31 = HEAP32[$30>>2]|0; - $32 = (_i64Add(($25|0),($28|0),($31|0),0)|0); - $33 = tempRet0; - $34 = $5; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = ($33|0)>($39|0); - $41 = ($32>>>0)>($36>>>0); - $42 = ($33|0)==($39|0); - $43 = $42 & $41; - $44 = $40 | $43; - if ($44) { - HEAP32[$2>>2] = 101; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); - } - $45 = HEAP32[$3>>2]|0; - $46 = ((($45)) + 80|0); - $47 = $46; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = $iHdrOff; - $54 = $53; - HEAP32[$54>>2] = $49; - $55 = (($53) + 4)|0; - $56 = $55; - HEAP32[$56>>2] = $52; - $57 = HEAP32[$4>>2]|0; - $58 = ($57|0)!=(0); - if ($58) { - label = 5; - } else { - $59 = $iHdrOff; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (($59) + 4)|0; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$3>>2]|0; - $66 = ((($65)) + 88|0); - $67 = $66; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = ($61|0)!=($69|0); - $74 = ($64|0)!=($72|0); - $75 = $73 | $74; - if ($75) { - label = 5; - } - } - if ((label|0) == 5) { - $76 = HEAP32[$3>>2]|0; - $77 = ((($76)) + 68|0); - $78 = HEAP32[$77>>2]|0; - $79 = $iHdrOff; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (($79) + 4)|0; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (_sqlite3OsRead($78,$aMagic,8,$81,$84)|0); - HEAP32[$rc>>2] = $85; - $86 = HEAP32[$rc>>2]|0; - $87 = ($86|0)!=(0); - if ($87) { - $88 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $88; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); - } - $89 = (_memcmp($aMagic,25901,8)|0); - $90 = ($89|0)!=(0); - if ($90) { - HEAP32[$2>>2] = 101; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 0; + while(1) { + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$5>>2]|0; + $9 = (($8) + 1)|0; + HEAP32[$5>>2] = $9; + $10 = (_walTryBeginRead($6,$7,0,$9)|0); + HEAP32[$4>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)==(-1); + if (!($12)) { + break; } } - $91 = HEAP32[$3>>2]|0; - $92 = ((($91)) + 68|0); - $93 = HEAP32[$92>>2]|0; - $94 = $iHdrOff; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (($94) + 4)|0; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = (_i64Add(($96|0),($99|0),8,0)|0); - $101 = tempRet0; - $102 = HEAP32[$6>>2]|0; - $103 = (_read32bits($93,$100,$101,$102)|0); - HEAP32[$rc>>2] = $103; - $104 = (0)!=($103|0); - if (!($104)) { - $105 = HEAP32[$3>>2]|0; - $106 = ((($105)) + 68|0); - $107 = HEAP32[$106>>2]|0; - $108 = $iHdrOff; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (($108) + 4)|0; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = (_i64Add(($110|0),($113|0),12,0)|0); - $115 = tempRet0; - $116 = HEAP32[$3>>2]|0; - $117 = ((($116)) + 52|0); - $118 = (_read32bits($107,$114,$115,$117)|0); - HEAP32[$rc>>2] = $118; - $119 = (0)!=($118|0); - if (!($119)) { - $120 = HEAP32[$3>>2]|0; - $121 = ((($120)) + 68|0); - $122 = HEAP32[$121>>2]|0; - $123 = $iHdrOff; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = (($123) + 4)|0; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = (_i64Add(($125|0),($128|0),16,0)|0); - $130 = tempRet0; - $131 = HEAP32[$7>>2]|0; - $132 = (_read32bits($122,$129,$130,$131)|0); - HEAP32[$rc>>2] = $132; - $133 = (0)!=($132|0); - if (!($133)) { - $135 = HEAP32[$3>>2]|0; - $136 = ((($135)) + 80|0); - $137 = $136; - $138 = $137; - $139 = HEAP32[$138>>2]|0; - $140 = (($137) + 4)|0; - $141 = $140; - $142 = HEAP32[$141>>2]|0; - $143 = ($139|0)==(0); - $144 = ($142|0)==(0); - $145 = $143 & $144; - do { - if ($145) { - $146 = HEAP32[$3>>2]|0; - $147 = ((($146)) + 68|0); - $148 = HEAP32[$147>>2]|0; - $149 = $iHdrOff; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = (_i64Add(($151|0),($154|0),20,0)|0); - $156 = tempRet0; - $157 = (_read32bits($148,$155,$156,$iSectorSize)|0); - HEAP32[$rc>>2] = $157; - $158 = (0)!=($157|0); - if (!($158)) { - $159 = HEAP32[$3>>2]|0; - $160 = ((($159)) + 68|0); - $161 = HEAP32[$160>>2]|0; - $162 = $iHdrOff; - $163 = $162; - $164 = HEAP32[$163>>2]|0; - $165 = (($162) + 4)|0; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (_i64Add(($164|0),($167|0),24,0)|0); - $169 = tempRet0; - $170 = (_read32bits($161,$168,$169,$iPageSize)|0); - HEAP32[$rc>>2] = $170; - $171 = (0)!=($170|0); - if (!($171)) { - $173 = HEAP32[$iPageSize>>2]|0; - $174 = ($173|0)==(0); - if ($174) { - $175 = HEAP32[$3>>2]|0; - $176 = ((($175)) + 160|0); - $177 = HEAP32[$176>>2]|0; - HEAP32[$iPageSize>>2] = $177; - } - $178 = HEAP32[$iPageSize>>2]|0; - $179 = ($178>>>0)<(512); - $180 = HEAP32[$iSectorSize>>2]|0; - $181 = ($180>>>0)<(32); - $or$cond = $179 | $181; - $182 = HEAP32[$iPageSize>>2]|0; - $183 = ($182>>>0)>(65536); - $or$cond3 = $or$cond | $183; - $184 = HEAP32[$iSectorSize>>2]|0; - $185 = ($184>>>0)>(65536); - $or$cond5 = $or$cond3 | $185; - if (!($or$cond5)) { - $186 = HEAP32[$iPageSize>>2]|0; - $187 = (($186) - 1)|0; - $188 = HEAP32[$iPageSize>>2]|0; - $189 = $187 & $188; - $190 = ($189|0)!=(0); - if (!($190)) { - $191 = HEAP32[$iSectorSize>>2]|0; - $192 = (($191) - 1)|0; - $193 = HEAP32[$iSectorSize>>2]|0; - $194 = $192 & $193; - $195 = ($194|0)!=(0); - if (!($195)) { - $196 = HEAP32[$3>>2]|0; - $197 = (_sqlite3PagerSetPagesize($196,$iPageSize,-1)|0); - HEAP32[$rc>>2] = $197; - $198 = HEAP32[$iSectorSize>>2]|0; - $199 = HEAP32[$3>>2]|0; - $200 = ((($199)) + 156|0); - HEAP32[$200>>2] = $198; - break; - } - } - } - HEAP32[$2>>2] = 101; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); - } - } - $172 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $172; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); - } - } while(0); - $201 = HEAP32[$3>>2]|0; - $202 = ((($201)) + 156|0); - $203 = HEAP32[$202>>2]|0; - $204 = HEAP32[$3>>2]|0; - $205 = ((($204)) + 80|0); - $206 = $205; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = (($206) + 4)|0; - $210 = $209; - $211 = HEAP32[$210>>2]|0; - $212 = (_i64Add(($208|0),($211|0),($203|0),0)|0); - $213 = tempRet0; - $214 = $205; - $215 = $214; - HEAP32[$215>>2] = $212; - $216 = (($214) + 4)|0; - $217 = $216; - HEAP32[$217>>2] = $213; - $218 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $218; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); - } + $13 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _sqlite3WalDbsize($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + if ($4) { + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 40|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7 << 16 >> 16; + $9 = ($8|0)>=(0); + if ($9) { + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 52|0); + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$1>>2] = $13; + $14 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($14|0); } } - $134 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $134; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); + HEAP32[$1>>2] = 0; + $14 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($14|0); } -function _pager_playback_one_page($pPager,$pOffset,$pDone,$isMainJrnl,$isSavepnt) { - $pPager = $pPager|0; - $pOffset = $pOffset|0; - $pDone = $pDone|0; - $isMainJrnl = $isMainJrnl|0; - $isSavepnt = $isSavepnt|0; - var $$old = 0, $$old1 = 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, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $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, $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, $aData = 0, $cksum = 0, $isSynced = 0, $jfd = 0, $ofst = 0, $or$cond = 0, $or$cond4 = 0, $pData = 0, $pPg = 0, $pgno = 0; - var $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3OsCheckReservedLock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 64|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $5 = sp + 40|0; - $rc = sp + 36|0; - $pPg = sp + 32|0; - $pgno = sp + 28|0; - $cksum = sp + 24|0; - $aData = sp + 20|0; - $jfd = sp + 16|0; - $isSynced = sp + 12|0; - $ofst = sp; - $pData = sp + 8|0; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $pOffset; - HEAP32[$3>>2] = $pDone; - HEAP32[$4>>2] = $isMainJrnl; - HEAP32[$5>>2] = $isSavepnt; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 208|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$aData>>2] = $8; - $9 = HEAP32[$4>>2]|0; - $10 = ($9|0)!=(0); - $11 = HEAP32[$1>>2]|0; - if ($10) { - $12 = ((($11)) + 68|0); - $13 = HEAP32[$12>>2]|0; - $16 = $13; - } else { - $14 = ((($11)) + 72|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 36|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (FUNCTION_TABLE_iii[$7 & 255]($8,$9)|0); + STACKTOP = sp;return ($10|0); +} +function _sqlite3_backup_finish($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + HEAP32[$1>>2] = 0; + $81 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($81|0); } - HEAP32[$jfd>>2] = $16; - $17 = HEAP32[$jfd>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = $18; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (_read32bits($17,$21,$24,$pgno)|0); - HEAP32[$rc>>2] = $25; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)!=(0); - if ($27) { - $28 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $28; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 20|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + _sqlite3_mutex_enter($13); + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + _sqlite3BtreeEnter($16); + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + _sqlite3_mutex_enter($23); } - $29 = HEAP32[$jfd>>2]|0; - $30 = HEAP32[$aData>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 160|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = $34; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (_i64Add(($37|0),($40|0),4,0)|0); - $42 = tempRet0; - $43 = (_sqlite3OsRead($29,$30,$33,$41,$42)|0); - HEAP32[$rc>>2] = $43; - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)!=(0); - if ($45) { - $46 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $46; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 24|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($29)) + 16|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + -1)|0; + HEAP32[$30>>2] = $32; } - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 160|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 4)|0; - $51 = HEAP32[$4>>2]|0; - $52 = $51<<2; - $53 = (($50) + ($52))|0; - $54 = ($53|0)<(0); - $55 = $54 << 31 >> 31; - $56 = HEAP32[$2>>2]|0; - $57 = $56; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (_i64Add(($59|0),($62|0),($53|0),($55|0))|0); - $64 = tempRet0; - $65 = $56; - $66 = $65; - HEAP32[$66>>2] = $63; - $67 = (($65) + 4)|0; - $68 = $67; - HEAP32[$68>>2] = $64; - $69 = HEAP32[$pgno>>2]|0; - $70 = ($69|0)==(0); - if (!($70)) { - $71 = HEAP32[$pgno>>2]|0; - $72 = HEAP32[1536>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 160|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($72|0) / ($75|0))&-1; - $77 = (($76) + 1)|0; - $78 = ($71|0)==($77|0); - if (!($78)) { - $79 = HEAP32[$pgno>>2]|0; - $80 = HEAP32[$1>>2]|0; - $81 = ((($80)) + 28|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($79>>>0)>($82>>>0); - if (!($83)) { - $84 = HEAP32[$3>>2]|0; - $85 = HEAP32[$pgno>>2]|0; - $86 = (_sqlite3BitvecTest($84,$85)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - $88 = HEAP32[$4>>2]|0; - $89 = ($88|0)!=(0); - if ($89) { - $90 = HEAP32[$jfd>>2]|0; - $91 = HEAP32[$2>>2]|0; - $92 = $91; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = (_i64Subtract(($94|0),($97|0),4,0)|0); - $99 = tempRet0; - $100 = (_read32bits($90,$98,$99,$cksum)|0); - HEAP32[$rc>>2] = $100; - $101 = HEAP32[$rc>>2]|0; - $102 = ($101|0)!=(0); - if ($102) { - $103 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $103; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); - } - $104 = HEAP32[$5>>2]|0; - $105 = ($104|0)!=(0); - if (!($105)) { - $106 = HEAP32[$1>>2]|0; - $107 = HEAP32[$aData>>2]|0; - $108 = (_pager_cksum($106,$107)|0); - $109 = HEAP32[$cksum>>2]|0; - $110 = ($108|0)!=($109|0); - if ($110) { - HEAP32[$0>>2] = 101; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); - } - } - } - $111 = HEAP32[$3>>2]|0; - $112 = ($111|0)!=(0|0); - if ($112) { - $113 = HEAP32[$3>>2]|0; - $114 = HEAP32[$pgno>>2]|0; - $115 = (_sqlite3BitvecSet($113,$114)|0); - HEAP32[$rc>>2] = $115; - $116 = ($115|0)!=(0); - if ($116) { - $117 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $117; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); - } - } - $118 = HEAP32[$pgno>>2]|0; - $119 = ($118|0)==(1); - if ($119) { - $120 = HEAP32[$1>>2]|0; - $121 = ((($120)) + 150|0); - $122 = HEAP16[$121>>1]|0; - $123 = $122 << 16 >> 16; - $124 = HEAP32[$aData>>2]|0; - $125 = ((($124)) + 20|0); - $126 = HEAP8[$125>>0]|0; - $127 = $126&255; - $128 = ($123|0)!=($127|0); - if ($128) { - $129 = HEAP32[$aData>>2]|0; - $130 = ((($129)) + 20|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = HEAP32[$1>>2]|0; - $134 = ((($133)) + 150|0); - HEAP16[$134>>1] = $132; - } - } - $135 = HEAP32[$1>>2]|0; - $136 = (_sqlite3PagerUseWal($135)|0); - $137 = ($136|0)!=(0); - if ($137) { - HEAP32[$pPg>>2] = 0; - } else { - $138 = HEAP32[$1>>2]|0; - $139 = HEAP32[$pgno>>2]|0; - $140 = (_sqlite3PagerLookup($138,$139)|0); - HEAP32[$pPg>>2] = $140; - } - $141 = HEAP32[$4>>2]|0; - $142 = ($141|0)!=(0); - if ($142) { - $143 = HEAP32[$1>>2]|0; - $144 = ((($143)) + 7|0); - $145 = HEAP8[$144>>0]|0; - $146 = $145&255; - $147 = ($146|0)!=(0); - if ($147) { - $169 = 1; - } else { - $148 = HEAP32[$2>>2]|0; - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = HEAP32[$1>>2]|0; - $156 = ((($155)) + 88|0); - $157 = $156; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = ($154|0)<($162|0); - $164 = ($151>>>0)<=($159>>>0); - $165 = ($154|0)==($162|0); - $166 = $165 & $164; - $167 = $163 | $166; - $169 = $167; - } - $168 = $169&1; - HEAP32[$isSynced>>2] = $168; - } else { - $170 = HEAP32[$pPg>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $179 = 1; - } else { - $172 = HEAP32[$pPg>>2]|0; - $173 = ((($172)) + 24|0); - $174 = HEAP16[$173>>1]|0; - $175 = $174&65535; - $176 = $175 & 8; - $177 = (0)==($176|0); - $179 = $177; - } - $178 = $179&1; - HEAP32[$isSynced>>2] = $178; - } - $180 = HEAP32[$1>>2]|0; - $181 = ((($180)) + 64|0); - $182 = HEAP32[$181>>2]|0; - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)!=(0|0); - do { - if ($184) { - $185 = HEAP32[$1>>2]|0; - $186 = ((($185)) + 17|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187&255; - $189 = ($188|0)>=(4); - if ($189) { - $$old = HEAP32[$isSynced>>2]|0; - $$old1 = ($$old|0)!=(0); - if (!($$old1)) { - label = 44; - break; - } - } else { - $190 = HEAP32[$1>>2]|0; - $191 = ((($190)) + 17|0); - $192 = HEAP8[$191>>0]|0; - $193 = $192&255; - $194 = ($193|0)==(0); - $195 = HEAP32[$isSynced>>2]|0; - $196 = ($195|0)!=(0); - $or$cond = $194 & $196; - if (!($or$cond)) { - label = 44; - break; - } - } - $197 = HEAP32[$pgno>>2]|0; - $198 = (($197) - 1)|0; - $199 = HEAP32[$1>>2]|0; - $200 = ((($199)) + 160|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)<(0); - $203 = $202 << 31 >> 31; - $204 = (___muldi3(($198|0),0,($201|0),($203|0))|0); - $205 = tempRet0; - $206 = $ofst; - $207 = $206; - HEAP32[$207>>2] = $204; - $208 = (($206) + 4)|0; - $209 = $208; - HEAP32[$209>>2] = $205; - $210 = HEAP32[$1>>2]|0; - $211 = ((($210)) + 64|0); - $212 = HEAP32[$211>>2]|0; - $213 = HEAP32[$aData>>2]|0; - $214 = HEAP32[$1>>2]|0; - $215 = ((($214)) + 160|0); - $216 = HEAP32[$215>>2]|0; - $217 = $ofst; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = (($217) + 4)|0; - $221 = $220; - $222 = HEAP32[$221>>2]|0; - $223 = (_sqlite3OsWrite($212,$213,$216,$219,$222)|0); - HEAP32[$rc>>2] = $223; - $224 = HEAP32[$pgno>>2]|0; - $225 = HEAP32[$1>>2]|0; - $226 = ((($225)) + 36|0); - $227 = HEAP32[$226>>2]|0; - $228 = ($224>>>0)>($227>>>0); - if ($228) { - $229 = HEAP32[$pgno>>2]|0; - $230 = HEAP32[$1>>2]|0; - $231 = ((($230)) + 36|0); - HEAP32[$231>>2] = $229; - } - $232 = HEAP32[$1>>2]|0; - $233 = ((($232)) + 96|0); - $234 = HEAP32[$233>>2]|0; - $235 = ($234|0)!=(0|0); - if ($235) { - $236 = HEAP32[$1>>2]|0; - $237 = ((($236)) + 96|0); - $238 = HEAP32[$237>>2]|0; - $239 = HEAP32[$pgno>>2]|0; - $240 = HEAP32[$aData>>2]|0; - _sqlite3BackupUpdate($238,$239,$240); - $241 = HEAP32[$aData>>2]|0; - HEAP32[$aData>>2] = $241; - } - } else { - label = 44; - } - } while(0); - do { - if ((label|0) == 44) { - $242 = HEAP32[$4>>2]|0; - $243 = ($242|0)==(0); - $244 = HEAP32[$pPg>>2]|0; - $245 = ($244|0)==(0|0); - $or$cond4 = $243 & $245; - if ($or$cond4) { - $246 = HEAP32[$1>>2]|0; - $247 = ((($246)) + 21|0); - $248 = HEAP8[$247>>0]|0; - $249 = $248&255; - $250 = $249 | 2; - $251 = $250&255; - HEAP8[$247>>0] = $251; - $252 = HEAP32[$1>>2]|0; - $253 = HEAP32[$pgno>>2]|0; - $254 = (_sqlite3PagerGet($252,$253,$pPg,1)|0); - HEAP32[$rc>>2] = $254; - $255 = HEAP32[$1>>2]|0; - $256 = ((($255)) + 21|0); - $257 = HEAP8[$256>>0]|0; - $258 = $257&255; - $259 = $258 & -3; - $260 = $259&255; - HEAP8[$256>>0] = $260; - $261 = HEAP32[$rc>>2]|0; - $262 = ($261|0)!=(0); - if (!($262)) { - $264 = HEAP32[$pPg>>2]|0; - _sqlite3PcacheMakeDirty($264); - break; - } - $263 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $263; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); - } - } - } while(0); - $265 = HEAP32[$pPg>>2]|0; - $266 = ($265|0)!=(0|0); - if ($266) { - $267 = HEAP32[$pPg>>2]|0; - $268 = ((($267)) + 4|0); - $269 = HEAP32[$268>>2]|0; - HEAP32[$pData>>2] = $269; - $270 = HEAP32[$pData>>2]|0; - $271 = HEAP32[$aData>>2]|0; - $272 = HEAP32[$1>>2]|0; - $273 = ((($272)) + 160|0); - $274 = HEAP32[$273>>2]|0; - _memcpy(($270|0),($271|0),($274|0))|0; - $275 = HEAP32[$1>>2]|0; - $276 = ((($275)) + 204|0); - $277 = HEAP32[$276>>2]|0; - $278 = HEAP32[$pPg>>2]|0; - FUNCTION_TABLE_vi[$277 & 255]($278); - $279 = HEAP32[$pgno>>2]|0; - $280 = ($279|0)==(1); - if ($280) { - $281 = HEAP32[$1>>2]|0; - $282 = ((($281)) + 112|0); - $283 = HEAP32[$pData>>2]|0; - $284 = ((($283)) + 24|0); - dest=$282; src=$284; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - } - $285 = HEAP32[$pPg>>2]|0; - _sqlite3PcacheRelease($285); - } - $286 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $286; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); - } + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 40|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 24|0); + $39 = HEAP32[$38>>2]|0; + $40 = (_sqlite3BtreePager($39)|0); + $41 = (_sqlite3PagerBackupPtr($40)|0); + HEAP32[$3>>2] = $41; + while(1) { + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = ($43|0)!=($44|0); + if (!($45)) { + break; } - HEAP32[$0>>2] = 0; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); + $46 = HEAP32[$3>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = ((($47)) + 44|0); + HEAP32[$3>>2] = $48; } + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 44|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$3>>2]|0; + HEAP32[$52>>2] = $51; + } + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + (_sqlite3BtreeRollback($55,0,0)|0); + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 28|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)==(101); + if ($59) { + $63 = 0; + } else { + $60 = HEAP32[$2>>2]|0; + $61 = ((($60)) + 28|0); + $62 = HEAP32[$61>>2]|0; + $63 = $62; + } + HEAP32[$5>>2] = $63; + $64 = HEAP32[$2>>2]|0; + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)!=(0|0); + if ($66) { + $67 = HEAP32[$2>>2]|0; + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$5>>2]|0; + _sqlite3Error($68,$69); + $70 = HEAP32[$2>>2]|0; + $71 = HEAP32[$70>>2]|0; + _sqlite3LeaveMutexAndCloseZombie($71); + } + $72 = HEAP32[$2>>2]|0; + $73 = ((($72)) + 24|0); + $74 = HEAP32[$73>>2]|0; + _sqlite3BtreeLeave($74); + $75 = HEAP32[$2>>2]|0; + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)!=(0|0); + if ($77) { + $78 = HEAP32[$2>>2]|0; + _sqlite3_free($78); } - HEAP32[$0>>2] = 101; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); + $79 = HEAP32[$4>>2]|0; + _sqlite3LeaveMutexAndCloseZombie($79); + $80 = HEAP32[$5>>2]|0; + HEAP32[$1>>2] = $80; + $81 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($81|0); } -function _pager_delmaster($pPager,$zMaster) { - $pPager = $pPager|0; - $zMaster = $zMaster|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $exists = 0, $flags = 0, $flags1 = 0, $nMasterJournal = 0, $nMasterPtr = 0, $pJournal = 0, $pMaster = 0, $pVfs = 0, $rc = 0, $zJournal = 0, $zMasterJournal = 0, $zMasterPtr = 0, label = 0, sp = 0; +function _sqlite3BtreeRollback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $pVfs = sp + 52|0; - $rc = sp + 48|0; - $pMaster = sp + 44|0; - $pJournal = sp + 40|0; - $zMasterJournal = sp + 36|0; - $nMasterJournal = sp; - $zJournal = sp + 32|0; - $zMasterPtr = sp + 28|0; - $nMasterPtr = sp + 24|0; - $flags = sp + 20|0; - $exists = sp + 16|0; - $c = sp + 12|0; - $flags1 = sp + 8|0; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $zMaster; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pVfs>>2] = $3; - HEAP32[$zMasterJournal>>2] = 0; - $4 = HEAP32[$pVfs>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6<<1; - $8 = ($7|0)<(0); - $9 = $8 << 31 >> 31; - $10 = (_sqlite3MallocZero($7,$9)|0); - HEAP32[$pMaster>>2] = $10; - $11 = HEAP32[$pMaster>>2]|0; - $12 = HEAP32[$pVfs>>2]|0; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $12 = HEAP32[$3>>2]|0; $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; - $15 = (($11) + ($14)|0); - HEAP32[$pJournal>>2] = $15; - $16 = HEAP32[$pMaster>>2]|0; - $17 = ($16|0)!=(0|0); + HEAP32[$7>>2] = $14; + $15 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($15); + $16 = HEAP32[$4>>2]|0; + $17 = ($16|0)==(0); if ($17) { - HEAP32[$flags>>2] = 16385; - $18 = HEAP32[$pVfs>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$pMaster>>2]|0; - $21 = (_sqlite3OsOpen($18,$19,$20,16385,0)|0); - HEAP32[$rc>>2] = $21; + $18 = HEAP32[$7>>2]|0; + $19 = (_saveAllCursors($18,0,0)|0); + HEAP32[$4>>2] = $19; + HEAP32[$6>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = ($20|0)!=(0); + if ($21) { + HEAP32[$5>>2] = 0; + } } else { - HEAP32[$rc>>2] = 7; + HEAP32[$6>>2] = 0; } - $22 = HEAP32[$rc>>2]|0; + $22 = HEAP32[$4>>2]|0; $23 = ($22|0)!=(0); - L5: do { - if (!($23)) { - $24 = HEAP32[$pMaster>>2]|0; - $25 = (_sqlite3OsFileSize($24,$nMasterJournal)|0); - HEAP32[$rc>>2] = $25; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)!=(0); - if (!($27)) { - $28 = HEAP32[$pVfs>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$nMasterPtr>>2] = $31; - $32 = $nMasterJournal; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$nMasterPtr>>2]|0; - $39 = ($38|0)<(0); - $40 = $39 << 31 >> 31; - $41 = (_i64Add(($34|0),($37|0),($38|0),($40|0))|0); - $42 = tempRet0; - $43 = (_i64Add(($41|0),($42|0),1,0)|0); - $44 = tempRet0; - $45 = (_sqlite3Malloc($43,$44)|0); - HEAP32[$zMasterJournal>>2] = $45; - $46 = HEAP32[$zMasterJournal>>2]|0; - $47 = ($46|0)!=(0|0); - if (!($47)) { - HEAP32[$rc>>2] = 7; + if ($23) { + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = (_sqlite3BtreeTripAllCursors($24,$25,$26)|0); + HEAP32[$9>>2] = $27; + $28 = HEAP32[$9>>2]|0; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$9>>2]|0; + HEAP32[$6>>2] = $30; + } + } + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = ($34|0)==(2); + if (!($35)) { + $61 = HEAP32[$3>>2]|0; + _btreeEndTransaction($61); + $62 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($62); + $63 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($63|0); + } + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = (_sqlite3PagerRollback($37)|0); + HEAP32[$10>>2] = $38; + $39 = HEAP32[$10>>2]|0; + $40 = ($39|0)!=(0); + if ($40) { + $41 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $41; + } + $42 = HEAP32[$7>>2]|0; + $43 = (_btreeGetPage($42,1,$8,0)|0); + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$8>>2]|0; + $46 = ((($45)) + 56|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($47)) + 28|0); + $49 = (_sqlite3Get4byte($48)|0); + HEAP32[$11>>2] = $49; + $50 = HEAP32[$11>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $52 = HEAP32[$7>>2]|0; + $53 = HEAP32[$52>>2]|0; + _sqlite3PagerPagecount($53,$11); + } + $54 = HEAP32[$11>>2]|0; + $55 = HEAP32[$7>>2]|0; + $56 = ((($55)) + 44|0); + HEAP32[$56>>2] = $54; + $57 = HEAP32[$8>>2]|0; + _releasePage($57); + } + $58 = HEAP32[$7>>2]|0; + $59 = ((($58)) + 20|0); + HEAP8[$59>>0] = 1; + $60 = HEAP32[$7>>2]|0; + _btreeClearHasContent($60); + $61 = HEAP32[$3>>2]|0; + _btreeEndTransaction($61); + $62 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($62); + $63 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($63|0); +} +function _sqlite3LeaveMutexAndCloseZombie($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 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; + 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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$1>>2] = $0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 84|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(1691352191); + if (!($12)) { + $13 = HEAP32[$1>>2]|0; + $14 = (_connectionIsBusy($13)|0); + $15 = ($14|0)!=(0); + if (!($15)) { + $19 = HEAP32[$1>>2]|0; + _sqlite3RollbackAll($19,0); + $20 = HEAP32[$1>>2]|0; + _sqlite3CloseSavepoints($20); + HEAP32[$3>>2] = 0; + while(1) { + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($21|0)<($24|0); + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + if (!($25)) { break; } - $48 = $nMasterJournal; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (_i64Add(($50|0),($53|0),1,0)|0); - $55 = tempRet0; - $56 = HEAP32[$zMasterJournal>>2]|0; - $57 = (($56) + ($54)|0); - HEAP32[$zMasterPtr>>2] = $57; - $58 = HEAP32[$pMaster>>2]|0; - $59 = HEAP32[$zMasterJournal>>2]|0; - $60 = $nMasterJournal; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (($60) + 4)|0; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (_sqlite3OsRead($58,$59,$62,0,0)|0); - HEAP32[$rc>>2] = $66; - $67 = HEAP32[$rc>>2]|0; - $68 = ($67|0)!=(0); - if (!($68)) { - $69 = $nMasterJournal; - $70 = $69; + $29 = HEAP32[$3>>2]|0; + $30 = (($28) + ($29<<4)|0); + HEAP32[$4>>2] = $30; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + (_sqlite3BtreeClose($37)|0); + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 4|0); + HEAP32[$39>>2] = 0; + $40 = HEAP32[$3>>2]|0; + $41 = ($40|0)!=(1); + if ($41) { + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 12|0); + HEAP32[$43>>2] = 0; + } + } + $44 = HEAP32[$3>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$3>>2] = $45; + } + $46 = ((($28)) + 16|0); + $47 = ((($46)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)!=(0|0); + if ($49) { + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 16|0); + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 16|0); + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + _sqlite3SchemaClear($55); + } + $56 = HEAP32[$1>>2]|0; + _sqlite3VtabUnlockList($56); + $57 = HEAP32[$1>>2]|0; + _sqlite3CollapseDatabaseArray($57); + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 348|0); + $60 = ((($59)) + 8|0); + $61 = HEAP32[$60>>2]|0; + HEAP32[$2>>2] = $61; + while(1) { + $62 = HEAP32[$2>>2]|0; + $63 = ($62|0)!=(0|0); + if (!($63)) { + break; + } + $64 = HEAP32[$2>>2]|0; + $65 = ((($64)) + 8|0); + $66 = HEAP32[$65>>2]|0; + HEAP32[$6>>2] = $66; + while(1) { + $67 = HEAP32[$1>>2]|0; + $68 = HEAP32[$6>>2]|0; + _functionDestroy($67,$68); + $69 = HEAP32[$6>>2]|0; + $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$zMasterJournal>>2]|0; - $76 = (($75) + ($71)|0); - HEAP8[$76>>0] = 0; - $77 = HEAP32[$zMasterJournal>>2]|0; - HEAP32[$zJournal>>2] = $77; - while(1) { - $78 = HEAP32[$zJournal>>2]|0; - $79 = HEAP32[$zMasterJournal>>2]|0; - $80 = $78; - $81 = $79; - $82 = (($80) - ($81))|0; - $83 = ($82|0)<(0); - $84 = $83 << 31 >> 31; - $85 = $nMasterJournal; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = ($84|0)<($90|0); - $92 = ($82>>>0)<($87>>>0); - $93 = ($84|0)==($90|0); - $94 = $93 & $92; - $95 = $91 | $94; - if (!($95)) { - break; - } - $96 = HEAP32[$pVfs>>2]|0; - $97 = HEAP32[$zJournal>>2]|0; - $98 = (_sqlite3OsAccess($96,$97,0,$exists)|0); - HEAP32[$rc>>2] = $98; - $99 = HEAP32[$rc>>2]|0; - $100 = ($99|0)!=(0); - if ($100) { - break L5; - } - $101 = HEAP32[$exists>>2]|0; - $102 = ($101|0)!=(0); - if ($102) { - HEAP32[$flags1>>2] = 2049; - $103 = HEAP32[$pVfs>>2]|0; - $104 = HEAP32[$zJournal>>2]|0; - $105 = HEAP32[$pJournal>>2]|0; - $106 = HEAP32[$flags1>>2]|0; - $107 = (_sqlite3OsOpen($103,$104,$105,$106,0)|0); - HEAP32[$rc>>2] = $107; - $108 = HEAP32[$rc>>2]|0; - $109 = ($108|0)!=(0); - if ($109) { - break L5; - } - $110 = HEAP32[$pJournal>>2]|0; - $111 = HEAP32[$zMasterPtr>>2]|0; - $112 = HEAP32[$nMasterPtr>>2]|0; - $113 = (_readMasterJournal($110,$111,$112)|0); - HEAP32[$rc>>2] = $113; - $114 = HEAP32[$pJournal>>2]|0; - _sqlite3OsClose($114); - $115 = HEAP32[$rc>>2]|0; - $116 = ($115|0)!=(0); - if ($116) { - break L5; - } - $117 = HEAP32[$zMasterPtr>>2]|0; - $118 = HEAP8[$117>>0]|0; - $119 = $118 << 24 >> 24; - $120 = ($119|0)!=(0); - if ($120) { - $121 = HEAP32[$zMasterPtr>>2]|0; - $122 = HEAP32[$1>>2]|0; - $123 = (_strcmp($121,$122)|0); - $124 = ($123|0)==(0); - $126 = $124; - } else { - $126 = 0; - } - $125 = $126&1; - HEAP32[$c>>2] = $125; - $127 = HEAP32[$c>>2]|0; - $128 = ($127|0)!=(0); - if ($128) { - break L5; - } - } - $129 = HEAP32[$zJournal>>2]|0; - $130 = (_sqlite3Strlen30($129)|0); - $131 = (($130) + 1)|0; - $132 = HEAP32[$zJournal>>2]|0; - $133 = (($132) + ($131)|0); - HEAP32[$zJournal>>2] = $133; + HEAP32[$5>>2] = $71; + $72 = HEAP32[$1>>2]|0; + $73 = HEAP32[$6>>2]|0; + _sqlite3DbFree($72,$73); + $74 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $74; + $75 = HEAP32[$6>>2]|0; + $76 = ($75|0)!=(0|0); + if (!($76)) { + break; } - $134 = HEAP32[$pMaster>>2]|0; - _sqlite3OsClose($134); - $135 = HEAP32[$pVfs>>2]|0; - $136 = HEAP32[$1>>2]|0; - $137 = (_sqlite3OsDelete($135,$136,0)|0); - HEAP32[$rc>>2] = $137; } + $77 = HEAP32[$2>>2]|0; + $78 = HEAP32[$77>>2]|0; + HEAP32[$2>>2] = $78; } - } - } while(0); - $138 = HEAP32[$zMasterJournal>>2]|0; - _sqlite3_free($138); - $139 = HEAP32[$pMaster>>2]|0; - $140 = ($139|0)!=(0|0); - if (!($140)) { - $143 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($143|0); - } - $141 = HEAP32[$pMaster>>2]|0; - _sqlite3OsClose($141); - $142 = HEAP32[$pMaster>>2]|0; - _sqlite3_free($142); - $143 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($143|0); -} -function _setSectorSize($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 13|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(0); - if (!($5)) { - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 64|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3OsDeviceCharacteristics($8)|0); - $10 = $9 & 4096; - $11 = ($10|0)!=(0); - if (!($11)) { - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 64|0); - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3SectorSize($16)|0); - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 156|0); - HEAP32[$19>>2] = $17; + $79 = HEAP32[$1>>2]|0; + $80 = ((($79)) + 348|0); + _sqlite3HashClear($80); + $81 = HEAP32[$1>>2]|0; + $82 = ((($81)) + 364|0); + $83 = ((($82)) + 8|0); + $84 = HEAP32[$83>>2]|0; + HEAP32[$2>>2] = $84; + while(1) { + $85 = HEAP32[$2>>2]|0; + $86 = ($85|0)!=(0|0); + if (!($86)) { + break; + } + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 8|0); + $89 = HEAP32[$88>>2]|0; + HEAP32[$7>>2] = $89; + HEAP32[$3>>2] = 0; + while(1) { + $90 = HEAP32[$3>>2]|0; + $91 = ($90|0)<(3); + if (!($91)) { + break; + } + $92 = HEAP32[$7>>2]|0; + $93 = HEAP32[$3>>2]|0; + $94 = (($92) + (($93*20)|0)|0); + $95 = ((($94)) + 16|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)!=(0|0); + if ($97) { + $98 = HEAP32[$7>>2]|0; + $99 = HEAP32[$3>>2]|0; + $100 = (($98) + (($99*20)|0)|0); + $101 = ((($100)) + 16|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$7>>2]|0; + $104 = HEAP32[$3>>2]|0; + $105 = (($103) + (($104*20)|0)|0); + $106 = ((($105)) + 8|0); + $107 = HEAP32[$106>>2]|0; + FUNCTION_TABLE_vi[$102 & 255]($107); + } + $108 = HEAP32[$3>>2]|0; + $109 = (($108) + 1)|0; + HEAP32[$3>>2] = $109; + } + $110 = HEAP32[$1>>2]|0; + $111 = HEAP32[$7>>2]|0; + _sqlite3DbFree($110,$111); + $112 = HEAP32[$2>>2]|0; + $113 = HEAP32[$112>>2]|0; + HEAP32[$2>>2] = $113; + } + $114 = HEAP32[$1>>2]|0; + $115 = ((($114)) + 364|0); + _sqlite3HashClear($115); + $116 = HEAP32[$1>>2]|0; + $117 = ((($116)) + 320|0); + $118 = ((($117)) + 8|0); + $119 = HEAP32[$118>>2]|0; + HEAP32[$2>>2] = $119; + while(1) { + $120 = HEAP32[$2>>2]|0; + $121 = ($120|0)!=(0|0); + if (!($121)) { + break; + } + $122 = HEAP32[$2>>2]|0; + $123 = ((($122)) + 8|0); + $124 = HEAP32[$123>>2]|0; + HEAP32[$8>>2] = $124; + $125 = HEAP32[$8>>2]|0; + $126 = ((($125)) + 12|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)!=(0|0); + if ($128) { + $129 = HEAP32[$8>>2]|0; + $130 = ((($129)) + 12|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$8>>2]|0; + $133 = ((($132)) + 8|0); + $134 = HEAP32[$133>>2]|0; + FUNCTION_TABLE_vi[$131 & 255]($134); + } + $135 = HEAP32[$1>>2]|0; + $136 = HEAP32[$8>>2]|0; + _sqlite3VtabEponymousTableClear($135,$136); + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$8>>2]|0; + _sqlite3DbFree($137,$138); + $139 = HEAP32[$2>>2]|0; + $140 = HEAP32[$139>>2]|0; + HEAP32[$2>>2] = $140; + } + $141 = HEAP32[$1>>2]|0; + $142 = ((($141)) + 320|0); + _sqlite3HashClear($142); + $143 = HEAP32[$1>>2]|0; + _sqlite3Error($143,0); + $144 = HEAP32[$1>>2]|0; + $145 = ((($144)) + 244|0); + $146 = HEAP32[$145>>2]|0; + _sqlite3ValueFree($146); + $147 = HEAP32[$1>>2]|0; + $148 = ((($147)) + 84|0); + HEAP32[$148>>2] = -1254786768; + $149 = HEAP32[$1>>2]|0; + $150 = HEAP32[$1>>2]|0; + $151 = ((($150)) + 16|0); + $152 = HEAP32[$151>>2]|0; + $153 = ((($152)) + 16|0); + $154 = ((($153)) + 12|0); + $155 = HEAP32[$154>>2]|0; + _sqlite3DbFree($149,$155); + $156 = HEAP32[$1>>2]|0; + $157 = ((($156)) + 12|0); + $158 = HEAP32[$157>>2]|0; + _sqlite3_mutex_leave($158); + $159 = HEAP32[$1>>2]|0; + $160 = ((($159)) + 84|0); + HEAP32[$160>>2] = -1623446221; + $161 = HEAP32[$1>>2]|0; + $162 = ((($161)) + 12|0); + $163 = HEAP32[$162>>2]|0; + _sqlite3_mutex_free($163); + $164 = HEAP32[$1>>2]|0; + $165 = ((($164)) + 256|0); + $166 = ((($165)) + 6|0); + $167 = HEAP8[$166>>0]|0; + $168 = ($167<<24>>24)!=(0); + if ($168) { + $169 = HEAP32[$1>>2]|0; + $170 = ((($169)) + 256|0); + $171 = ((($170)) + 32|0); + $172 = HEAP32[$171>>2]|0; + _sqlite3_free($172); + } + $173 = HEAP32[$1>>2]|0; + _sqlite3_free($173); STACKTOP = sp;return; } } - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 156|0); - HEAP32[$13>>2] = 512; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3_mutex_leave($18); STACKTOP = sp;return; } -function _sqlite3OsDeviceCharacteristics($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 48|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = (FUNCTION_TABLE_ii[$4 & 255]($5)|0); - STACKTOP = sp;return ($6|0); -} -function _sqlite3SectorSize($pFile) { - $pFile = $pFile|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $iRet = 0, label = 0, sp = 0; +function _connectionIsBusy($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, $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 + 4|0; - $iRet = sp; - HEAP32[$0>>2] = $pFile; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3OsSectorSize($1)|0); - HEAP32[$iRet>>2] = $2; - $3 = HEAP32[$iRet>>2]|0; - $4 = ($3|0)<(32); - if ($4) { - HEAP32[$iRet>>2] = 512; - } else { - $5 = HEAP32[$iRet>>2]|0; - $6 = ($5|0)>(65536); - if ($6) { - HEAP32[$iRet>>2] = 65536; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0|0); + if ($8) { + HEAP32[$1>>2] = 1; + $28 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($28|0); + } + HEAP32[$3>>2] = 0; + while(1) { + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)<($12|0); + if (!($13)) { + label = 9; + break; + } + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = (($16) + ($17<<4)|0); + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$4>>2] = $20; + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$4>>2]|0; + $24 = (_sqlite3BtreeIsInBackup($23)|0); + $25 = ($24|0)!=(0); + if ($25) { + label = 7; + break; + } } + $26 = HEAP32[$3>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$3>>2] = $27; } - $7 = HEAP32[$iRet>>2]|0; - STACKTOP = sp;return ($7|0); -} -function _sqlite3OsSectorSize($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $xSectorSize = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $xSectorSize = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 44|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$xSectorSize>>2] = $4; - $5 = HEAP32[$xSectorSize>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $10 = 4096; - STACKTOP = sp;return ($10|0); + if ((label|0) == 7) { + HEAP32[$1>>2] = 1; + $28 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($28|0); } - $7 = HEAP32[$xSectorSize>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (FUNCTION_TABLE_ii[$7 & 255]($8)|0); - $10 = $9; - STACKTOP = sp;return ($10|0); -} -function _sqlite3OsRead($id,$pBuf,$amt,$0,$1) { - $id = $id|0; - $pBuf = $pBuf|0; - $amt = $amt|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp; - HEAP32[$2>>2] = $id; - HEAP32[$3>>2] = $pBuf; - HEAP32[$4>>2] = $amt; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$3>>2]|0; - $16 = HEAP32[$4>>2]|0; - $17 = $5; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (FUNCTION_TABLE_iiiiii[$13 & 255]($14,$15,$16,$19,$22)|0); - STACKTOP = sp;return ($23|0); + else if ((label|0) == 9) { + HEAP32[$1>>2] = 0; + $28 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($28|0); + } + return (0)|0; } -function _read32bits($fd,$0,$1,$pRes) { - $fd = $fd|0; +function _sqlite3RollbackAll($0,$1) { $0 = $0|0; $1 = $1|0; - $pRes = $pRes|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $ac = 0, $rc = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp; + $2 = sp + 20|0; + $3 = sp + 16|0; $4 = sp + 12|0; - $ac = sp + 20|0; - $rc = sp + 8|0; - HEAP32[$2>>2] = $fd; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $pRes; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 0; + _sqlite3BeginBenignMalloc(); + $8 = HEAP32[$2>>2]|0; + _sqlite3BtreeEnterAll($8); $9 = HEAP32[$2>>2]|0; - $10 = $3; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3OsRead($9,$ac,4,$12,$15)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)==(0); - if (!($18)) { - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); + $10 = ((($9)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 2; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 148|0); + $16 = ((($15)) + 5|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)==(0); + $21 = $19; + } else { + $21 = 0; } - $19 = (_sqlite3Get4byte($ac)|0); - $20 = HEAP32[$4>>2]|0; - HEAP32[$20>>2] = $19; - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); -} -function _pager_cksum($pPager,$aData) { - $pPager = $pPager|0; - $aData = $aData|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $cksum = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $cksum = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $aData; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 52|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$cksum>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 160|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) - 200)|0; - HEAP32[$i>>2] = $8; + $20 = $21&1; + HEAP32[$6>>2] = $20; + HEAP32[$4>>2] = 0; while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = ($9|0)>(0); - if (!($10)) { + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($22|0)<($25|0); + $27 = HEAP32[$2>>2]|0; + if (!($26)) { break; } - $11 = HEAP32[$i>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + ($11)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = HEAP32[$cksum>>2]|0; - $17 = (($16) + ($15))|0; - HEAP32[$cksum>>2] = $17; - $18 = HEAP32[$i>>2]|0; - $19 = (($18) - 200)|0; - HEAP32[$i>>2] = $19; - } - $20 = HEAP32[$cksum>>2]|0; - STACKTOP = sp;return ($20|0); -} -function _sqlite3PagerLookup($pPager,$pgno) { - $pPager = $pPager|0; - $pgno = $pgno|0; - var $0 = 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, $pPage = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pPage = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $pgno; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 212|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = (_sqlite3PcacheFetch($5,$6,0)|0); - HEAP32[$pPage>>2] = $7; - $8 = HEAP32[$pPage>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - HEAP32[$0>>2] = 0; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); - } else { - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 212|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$pPage>>2]|0; - $15 = (_sqlite3PcacheFetchFinish($12,$13,$14)|0); - HEAP32[$0>>2] = $15; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = (($29) + ($30<<4)|0); + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$7>>2] = $33; + $34 = HEAP32[$7>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = HEAP32[$7>>2]|0; + $37 = (_sqlite3BtreeIsInTrans($36)|0); + $38 = ($37|0)!=(0); + if ($38) { + HEAP32[$5>>2] = 1; + } + $39 = HEAP32[$7>>2]|0; + $40 = HEAP32[$3>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = ($41|0)!=(0); + $43 = $42 ^ 1; + $44 = $43&1; + (_sqlite3BtreeRollback($39,$40,$44)|0); + } + $45 = HEAP32[$4>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$4>>2] = $46; } - return (0)|0; + (_sqlite3VtabRollback($27)|0); + _sqlite3EndBenignMalloc(); + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = $49 & 2; + $51 = ($50|0)!=(0); + if ($51) { + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 148|0); + $54 = ((($53)) + 5|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = ($56|0)==(0); + if ($57) { + $58 = HEAP32[$2>>2]|0; + _sqlite3ExpirePreparedStatements($58); + $59 = HEAP32[$2>>2]|0; + _sqlite3ResetAllSchemasOfConnection($59); + } + } + $60 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeaveAll($60); + $61 = HEAP32[$2>>2]|0; + $62 = ((($61)) + 440|0); + $63 = $62; + $64 = $63; + HEAP32[$64>>2] = 0; + $65 = (($63) + 4)|0; + $66 = $65; + HEAP32[$66>>2] = 0; + $67 = HEAP32[$2>>2]|0; + $68 = ((($67)) + 448|0); + $69 = $68; + $70 = $69; + HEAP32[$70>>2] = 0; + $71 = (($69) + 4)|0; + $72 = $71; + HEAP32[$72>>2] = 0; + $73 = HEAP32[$2>>2]|0; + $74 = ((($73)) + 24|0); + $75 = HEAP32[$74>>2]|0; + $76 = $75 & -33554433; + HEAP32[$74>>2] = $76; + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 212|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0|0); + if (!($80)) { + STACKTOP = sp;return; + } + $81 = HEAP32[$5>>2]|0; + $82 = ($81|0)!=(0); + if (!($82)) { + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 67|0); + $85 = HEAP8[$84>>0]|0; + $86 = ($85<<24>>24)!=(0); + if ($86) { + STACKTOP = sp;return; + } + } + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 212|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$2>>2]|0; + $91 = ((($90)) + 208|0); + $92 = HEAP32[$91>>2]|0; + FUNCTION_TABLE_vi[$89 & 255]($92); + STACKTOP = sp;return; } -function _sqlite3BackupUpdate($pBackup,$iPage,$aData) { - $pBackup = $pBackup|0; - $iPage = $iPage|0; - $aData = $aData|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _sqlite3CloseSavepoints($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $pBackup; - HEAP32[$1>>2] = $iPage; - HEAP32[$2>>2] = $aData; - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; + HEAP32[$1>>2] = $0; + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 424|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + $7 = HEAP32[$1>>2]|0; + if (!($6)) { + break; + } + $8 = ((($7)) + 424|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$2>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 424|0); + HEAP32[$14>>2] = $12; + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$2>>2]|0; + _sqlite3DbFree($15,$16); } - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - _backupUpdate($5,$6,$7); + $17 = ((($7)) + 432|0); + HEAP32[$17>>2] = 0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 436|0); + HEAP32[$19>>2] = 0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 75|0); + HEAP8[$21>>0] = 0; STACKTOP = sp;return; } -function _sqlite3PcacheMakeDirty($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3BtreeClose($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 17; - $6 = ($5|0)!=(0); - if (!($6)) { - STACKTOP = sp;return; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $7; + $8 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnter($8); + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $11; + while(1) { + $12 = HEAP32[$3>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + break; + } + $14 = HEAP32[$3>>2]|0; + HEAP32[$4>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$3>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ($19|0)==($20|0); + if (!($21)) { + continue; + } + $22 = HEAP32[$4>>2]|0; + (_sqlite3BtreeCloseCursor($22)|0); } - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 24|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = $10 & -17; - $12 = $11&65535; - HEAP16[$8>>1] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 24|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = $16 & 1; - $18 = ($17|0)!=(0); - if (!($18)) { - STACKTOP = sp;return; + $23 = HEAP32[$1>>2]|0; + (_sqlite3BtreeRollback($23,0,0)|0); + $24 = HEAP32[$1>>2]|0; + _sqlite3BtreeLeave($24); + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 9|0); + $27 = HEAP8[$26>>0]|0; + $28 = ($27<<24>>24)!=(0); + if ($28) { + $29 = HEAP32[$2>>2]|0; + $30 = (_removeFromSharingList($29)|0); + $31 = ($30|0)!=(0); + if ($31) { + label = 7; + } + } else { + label = 7; } - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 24|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21&65535; - $23 = $22 ^ 3; - $24 = $23&65535; - HEAP16[$20>>1] = $24; - $25 = HEAP32[$0>>2]|0; - _pcacheManageDirtyList($25,2); - STACKTOP = sp;return; + if ((label|0) == 7) { + $32 = HEAP32[$2>>2]|0; + $33 = HEAP32[$32>>2]|0; + (_sqlite3PagerClose($33)|0); + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 52|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)!=(0|0); + if ($37) { + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 48|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)!=(0|0); + if ($41) { + $42 = HEAP32[$2>>2]|0; + $43 = ((($42)) + 52|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 48|0); + $47 = HEAP32[$46>>2]|0; + FUNCTION_TABLE_vi[$44 & 255]($47); + } + } + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 48|0); + $50 = HEAP32[$49>>2]|0; + _sqlite3DbFree(0,$50); + $51 = HEAP32[$2>>2]|0; + _freeTempSpace($51); + $52 = HEAP32[$2>>2]|0; + _sqlite3_free($52); + } + $53 = HEAP32[$1>>2]|0; + $54 = ((($53)) + 28|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)!=(0|0); + if ($56) { + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 24|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$1>>2]|0; + $61 = ((($60)) + 28|0); + $62 = HEAP32[$61>>2]|0; + $63 = ((($62)) + 24|0); + HEAP32[$63>>2] = $59; + } + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 24|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)!=(0|0); + if (!($67)) { + $75 = HEAP32[$1>>2]|0; + _sqlite3_free($75); + STACKTOP = sp;return 0; + } + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 28|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$1>>2]|0; + $72 = ((($71)) + 24|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($73)) + 28|0); + HEAP32[$74>>2] = $70; + $75 = HEAP32[$1>>2]|0; + _sqlite3_free($75); + STACKTOP = sp;return 0; } -function _sqlite3PcacheRelease($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _functionDestroy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + -1)|0; - HEAP32[$4>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 26|0); - $9 = HEAP16[$8>>1]|0; - $10 = (($9) + -1)<<16>>16; - HEAP16[$8>>1] = $10; - $11 = $10 << 16 >> 16; - $12 = ($11|0)==(0); - if (!($12)) { + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 24|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { STACKTOP = sp;return; } - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 24|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = $16 & 1; - $18 = ($17|0)!=(0); - $19 = HEAP32[$0>>2]|0; - if ($18) { - _pcacheUnpin($19); + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + -1)|0; + HEAP32[$10>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { STACKTOP = sp;return; } - $20 = ((($19)) + 36|0); + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0|0); - if (!($22)) { + FUNCTION_TABLE_vi[$18 & 255]($21); + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$4>>2]|0; + _sqlite3DbFree($22,$23); + STACKTOP = sp;return; +} +function _sqlite3VtabEponymousTableClear($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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 16|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { STACKTOP = sp;return; } - $23 = HEAP32[$0>>2]|0; - _pcacheManageDirtyList($23,3); + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 42|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = $13 | 2; + $15 = $14&255; + HEAP8[$11>>0] = $15; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$4>>2]|0; + _sqlite3DeleteTable($16,$17); + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 16|0); + HEAP32[$19>>2] = 0; STACKTOP = sp;return; } -function _backupUpdate($p,$iPage,$aData) { - $p = $p|0; - $iPage = $iPage|0; - $aData = $aData|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3BtreeCloseCursor($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iPage; - HEAP32[$2>>2] = $aData; - while(1) { - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = (_isFatalError($5)|0); - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8>>>0)<($11>>>0); - if ($12) { - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = (_backupOnePage($13,$14,$15,1)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)!=(0); - if ($18) { - $19 = HEAP32[$rc>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 28|0); - HEAP32[$21>>2] = $19; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + STACKTOP = sp;return 0; + } + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$2>>2]|0; + _sqlite3BtreeEnter($13); + $14 = HEAP32[$1>>2]|0; + _sqlite3BtreeClearCursor($14); + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$1>>2]|0; + $19 = ($17|0)==($18|0); + L4: do { + if ($19) { + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 8|0); + HEAP32[$24>>2] = $22; + } else { + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$5>>2] = $27; + while(1) { + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$1>>2]|0; + $32 = ($30|0)==($31|0); + if ($32) { + break; + } + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 8|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$5>>2] = $40; + $41 = HEAP32[$5>>2]|0; + $42 = ($41|0)!=(0|0); + if (!($42)) { + break L4; } } + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 8|0); + HEAP32[$37>>2] = $35; } - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 44|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$0>>2] = $24; - $25 = ($24|0)!=(0|0); - if (!($25)) { + } while(0); + HEAP32[$3>>2] = 0; + while(1) { + $43 = HEAP32[$3>>2]|0; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 68|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46 << 24 >> 24; + $48 = ($43|0)<=($47|0); + if (!($48)) { break; } + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 120|0); + $51 = HEAP32[$3>>2]|0; + $52 = (($50) + ($51<<2)|0); + $53 = HEAP32[$52>>2]|0; + _releasePage($53); + $54 = HEAP32[$3>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$3>>2] = $55; } - STACKTOP = sp;return; -} -function _sqlite3PcacheFetch($pCache,$pgno,$createFlag) { - $pCache = $pCache|0; - $pgno = $pgno|0; - $createFlag = $createFlag|0; - var $0 = 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, $eCreate = 0, $pRes = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $eCreate = sp + 4|0; - $pRes = sp; - HEAP32[$0>>2] = $pCache; - HEAP32[$1>>2] = $pgno; - HEAP32[$2>>2] = $createFlag; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 33|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $3 & $7; - HEAP32[$eCreate>>2] = $8; - $9 = HEAP32[(144)>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 44|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$eCreate>>2]|0; - $15 = (FUNCTION_TABLE_iiii[$9 & 255]($12,$13,$14)|0); - HEAP32[$pRes>>2] = $15; - $16 = HEAP32[$pRes>>2]|0; - STACKTOP = sp;return ($16|0); + $56 = HEAP32[$4>>2]|0; + _unlockBtreeIfUnused($56); + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 12|0); + $59 = HEAP32[$58>>2]|0; + _sqlite3_free($59); + $60 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($60); + STACKTOP = sp;return 0; } -function _sqlite3PcacheFetchFinish($pCache,$pgno,$pPage) { - $pCache = $pCache|0; - $pgno = $pgno|0; - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $pPgHdr = 0, label = 0, sp = 0; +function _removeFromSharingList($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $1 = sp + 12|0; $2 = sp + 8|0; $3 = sp + 4|0; - $pPgHdr = sp; - HEAP32[$1>>2] = $pCache; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $pPage; - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pPgHdr>>2] = $6; - $7 = HEAP32[$pPgHdr>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - $10 = HEAP32[$1>>2]|0; - if ($9) { - $14 = ((($10)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 1)|0; - HEAP32[$14>>2] = $16; - $17 = HEAP32[$pPgHdr>>2]|0; - $18 = ((($17)) + 26|0); - $19 = HEAP16[$18>>1]|0; - $20 = (($19) + 1)<<16>>16; - HEAP16[$18>>1] = $20; - $21 = HEAP32[$pPgHdr>>2]|0; - HEAP32[$0>>2] = $21; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); - } else { - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$3>>2]|0; - $13 = (_pcacheFetchFinishWithInit($10,$11,$12)|0); - HEAP32[$0>>2] = $13; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); - } - return (0)|0; -} -function _pcacheFetchFinishWithInit($pCache,$pgno,$pPage) { - $pCache = $pCache|0; - $pgno = $pgno|0; - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $pPgHdr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pPgHdr = sp; - HEAP32[$0>>2] = $pCache; - HEAP32[$1>>2] = $pgno; - HEAP32[$2>>2] = $pPage; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pPgHdr>>2] = $5; - $6 = HEAP32[$pPgHdr>>2]|0; - $7 = ((($6)) + 12|0); - ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;HEAP32[$7+16>>2]=0|0;HEAP32[$7+20>>2]=0|0;HEAP32[$7+24>>2]=0|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$pPgHdr>>2]|0; - HEAP32[$9>>2] = $8; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$pPgHdr>>2]|0; - $13 = ((($12)) + 4|0); - HEAP32[$13>>2] = $11; - $14 = HEAP32[$pPgHdr>>2]|0; - $15 = ((($14)) + 40|0); - $16 = HEAP32[$pPgHdr>>2]|0; - $17 = ((($16)) + 8|0); - HEAP32[$17>>2] = $15; - $18 = HEAP32[$pPgHdr>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 28|0); - $23 = HEAP32[$22>>2]|0; - _memset(($20|0),0,($23|0))|0; - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$pPgHdr>>2]|0; - $26 = ((($25)) + 28|0); - HEAP32[$26>>2] = $24; - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$pPgHdr>>2]|0; - $29 = ((($28)) + 20|0); - HEAP32[$29>>2] = $27; - $30 = HEAP32[$pPgHdr>>2]|0; - $31 = ((($30)) + 24|0); - HEAP16[$31>>1] = 1; - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = (_sqlite3PcacheFetchFinish($32,$33,$34)|0); - STACKTOP = sp;return ($35|0); -} -function _journalHdrOffset($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $offset = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $offset = sp + 8|0; - $c = sp; - HEAP32[$0>>2] = $pPager; - $1 = $offset; - $2 = $1; - HEAP32[$2>>2] = 0; - $3 = (($1) + 4)|0; - $4 = $3; + $4 = sp; + HEAP32[$1>>2] = $0; HEAP32[$4>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 80|0); - $7 = $6; - $8 = $7; + $5 = (_sqlite3MutexAlloc(2)|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + _sqlite3_mutex_enter($6); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 64|0); $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = $c; - $14 = $13; - HEAP32[$14>>2] = $9; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = $12; - $17 = $c; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = ($19|0)!=(0); - $24 = ($22|0)!=(0); - $25 = $23 | $24; - if (!($25)) { - $50 = $offset; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - tempRet0 = ($55); - STACKTOP = sp;return ($52|0); - } - $26 = $c; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (_i64Subtract(($28|0),($31|0),1,0)|0); - $33 = tempRet0; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 156|0); - $36 = HEAP32[$35>>2]|0; - $37 = (___divdi3(($32|0),($33|0),($36|0),0)|0); - $38 = tempRet0; - $39 = (_i64Add(($37|0),($38|0),1,0)|0); - $40 = tempRet0; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 156|0); - $43 = HEAP32[$42>>2]|0; - $44 = (___muldi3(($39|0),($40|0),($43|0),0)|0); - $45 = tempRet0; - $46 = $offset; - $47 = $46; - HEAP32[$47>>2] = $44; - $48 = (($46) + 4)|0; - $49 = $48; - HEAP32[$49>>2] = $45; - $50 = $offset; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - tempRet0 = ($55); - STACKTOP = sp;return ($52|0); -} -function _pagerPlaybackSavepoint($pPager,$pSavepoint) { - $pPager = $pPager|0; - $pSavepoint = $pSavepoint|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $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, $dummy = 0, $iHdrOff = 0, $ii = 0, $ii1 = 0, $nJRec = 0; - var $offset = 0, $pDone = 0, $rc = 0, $szJ = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $szJ = sp + 16|0; - $iHdrOff = sp + 8|0; - $rc = sp + 44|0; - $pDone = sp + 40|0; - $ii = sp + 36|0; - $nJRec = sp + 32|0; - $dummy = sp + 28|0; - $ii1 = sp + 24|0; - $offset = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $pSavepoint; - HEAP32[$rc>>2] = 0; - HEAP32[$pDone>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$2>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3BitvecCreate($7)|0); - HEAP32[$pDone>>2] = $8; - $9 = HEAP32[$pDone>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - HEAP32[$0>>2] = 7; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); - } + $10 = (($9) + -1)|0; + HEAP32[$8>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 64|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)<=(0); + if (!($14)) { + $41 = HEAP32[$2>>2]|0; + _sqlite3_mutex_leave($41); + $42 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($42|0); } - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $21 = $15; + $15 = HEAP32[13786]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ($15|0)==($16|0); + if ($17) { + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 68|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[13786] = $20; } else { - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 32|0); - $18 = HEAP32[$17>>2]|0; - $21 = $18; - } - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 28|0); - HEAP32[$20>>2] = $21; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 13|0); - $24 = HEAP8[$23>>0]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 19|0); - HEAP8[$26>>0] = $24; - $27 = HEAP32[$2>>2]|0; - $28 = ($27|0)!=(0|0); - if (!($28)) { - $29 = HEAP32[$1>>2]|0; - $30 = (_sqlite3PagerUseWal($29)|0); - $31 = ($30|0)!=(0); - if ($31) { - $32 = HEAP32[$1>>2]|0; - $33 = (_pagerRollbackWal($32)|0); - HEAP32[$0>>2] = $33; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); - } - } - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 80|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = $szJ; - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = HEAP32[$2>>2]|0; - $47 = ($46|0)!=(0|0); - L15: do { - if ($47) { - $48 = HEAP32[$1>>2]|0; - $49 = (_sqlite3PagerUseWal($48)|0); - $50 = ($49|0)!=(0); - if ($50) { - label = 19; - } else { - $51 = HEAP32[$2>>2]|0; - $52 = ((($51)) + 8|0); - $53 = $52; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (($53) + 4)|0; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = ($55|0)!=(0); - $60 = ($58|0)!=(0); - $61 = $59 | $60; - if ($61) { - $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 8|0); - $64 = $63; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (($64) + 4)|0; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $78 = $66;$81 = $69; - } else { - $70 = $szJ; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $78 = $72;$81 = $75; - } - $76 = $iHdrOff; - $77 = $76; - HEAP32[$77>>2] = $78; - $79 = (($76) + 4)|0; - $80 = $79; - HEAP32[$80>>2] = $81; - $82 = HEAP32[$2>>2]|0; - $83 = $82; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = (($83) + 4)|0; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 80|0); - $91 = $90; - $92 = $91; - HEAP32[$92>>2] = $85; - $93 = (($91) + 4)|0; - $94 = $93; - HEAP32[$94>>2] = $88; - while(1) { - $95 = HEAP32[$rc>>2]|0; - $96 = ($95|0)==(0); - if (!($96)) { - break L15; - } - $97 = HEAP32[$1>>2]|0; - $98 = ((($97)) + 80|0); - $99 = $98; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = (($99) + 4)|0; - $103 = $102; - $104 = HEAP32[$103>>2]|0; - $105 = $iHdrOff; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = ($104|0)<($110|0); - $112 = ($101>>>0)<($107>>>0); - $113 = ($104|0)==($110|0); - $114 = $113 & $112; - $115 = $111 | $114; - if (!($115)) { - break L15; - } - $116 = HEAP32[$1>>2]|0; - $117 = HEAP32[$1>>2]|0; - $118 = ((($117)) + 80|0); - $119 = HEAP32[$pDone>>2]|0; - $120 = (_pager_playback_one_page($116,$118,$119,1,1)|0); - HEAP32[$rc>>2] = $120; - } - } - } else { - label = 19; - } - } while(0); - if ((label|0) == 19) { - $121 = HEAP32[$1>>2]|0; - $122 = ((($121)) + 80|0); - $123 = $122; - $124 = $123; - HEAP32[$124>>2] = 0; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = 0; - } - L28: while(1) { - $127 = HEAP32[$rc>>2]|0; - $128 = ($127|0)==(0); - if (!($128)) { - break; - } - $129 = HEAP32[$1>>2]|0; - $130 = ((($129)) + 80|0); - $131 = $130; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = $szJ; - $138 = $137; - $139 = HEAP32[$138>>2]|0; - $140 = (($137) + 4)|0; - $141 = $140; - $142 = HEAP32[$141>>2]|0; - $143 = ($136|0)<($142|0); - $144 = ($133>>>0)<($139>>>0); - $145 = ($136|0)==($142|0); - $146 = $145 & $144; - $147 = $143 | $146; - if (!($147)) { - break; - } - HEAP32[$nJRec>>2] = 0; - $148 = HEAP32[$1>>2]|0; - $149 = $szJ; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = (_readJournalHdr($148,0,$151,$154,$nJRec,$dummy)|0); - HEAP32[$rc>>2] = $155; - $156 = HEAP32[$nJRec>>2]|0; - $157 = ($156|0)==(0); - if ($157) { - $158 = HEAP32[$1>>2]|0; - $159 = ((($158)) + 88|0); - $160 = $159; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = (($160) + 4)|0; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - $166 = HEAP32[$1>>2]|0; - $167 = ((($166)) + 156|0); - $168 = HEAP32[$167>>2]|0; - $169 = (_i64Add(($162|0),($165|0),($168|0),0)|0); - $170 = tempRet0; - $171 = HEAP32[$1>>2]|0; - $172 = ((($171)) + 80|0); - $173 = $172; - $174 = $173; - $175 = HEAP32[$174>>2]|0; - $176 = (($173) + 4)|0; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = ($169|0)==($175|0); - $180 = ($170|0)==($178|0); - $181 = $179 & $180; - if ($181) { - $182 = $szJ; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = (($182) + 4)|0; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = HEAP32[$1>>2]|0; - $189 = ((($188)) + 80|0); - $190 = $189; - $191 = $190; - $192 = HEAP32[$191>>2]|0; - $193 = (($190) + 4)|0; - $194 = $193; - $195 = HEAP32[$194>>2]|0; - $196 = (_i64Subtract(($184|0),($187|0),($192|0),($195|0))|0); - $197 = tempRet0; - $198 = HEAP32[$1>>2]|0; - $199 = ((($198)) + 160|0); - $200 = HEAP32[$199>>2]|0; - $201 = (($200) + 8)|0; - $202 = ($201|0)<(0); - $203 = $202 << 31 >> 31; - $204 = (___divdi3(($196|0),($197|0),($201|0),($203|0))|0); - $205 = tempRet0; - HEAP32[$nJRec>>2] = $204; - } - } - HEAP32[$ii>>2] = 0; + $21 = HEAP32[13786]|0; + HEAP32[$3>>2] = $21; while(1) { - $206 = HEAP32[$rc>>2]|0; - $207 = ($206|0)==(0); - if (!($207)) { - continue L28; - } - $208 = HEAP32[$ii>>2]|0; - $209 = HEAP32[$nJRec>>2]|0; - $210 = ($208>>>0)<($209>>>0); - if (!($210)) { - continue L28; + $22 = HEAP32[$3>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 68|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$1>>2]|0; + $28 = ($26|0)!=($27|0); + $43 = $28; + } else { + $43 = 0; } - $211 = HEAP32[$1>>2]|0; - $212 = ((($211)) + 80|0); - $213 = $212; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (($213) + 4)|0; - $217 = $216; - $218 = HEAP32[$217>>2]|0; - $219 = $szJ; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = (($219) + 4)|0; - $223 = $222; - $224 = HEAP32[$223>>2]|0; - $225 = ($218|0)<($224|0); - $226 = ($215>>>0)<($221>>>0); - $227 = ($218|0)==($224|0); - $228 = $227 & $226; - $229 = $225 | $228; - if (!($229)) { - continue L28; + $29 = HEAP32[$3>>2]|0; + if (!($43)) { + break; } - $230 = HEAP32[$1>>2]|0; - $231 = HEAP32[$1>>2]|0; - $232 = ((($231)) + 80|0); - $233 = HEAP32[$pDone>>2]|0; - $234 = (_pager_playback_one_page($230,$232,$233,1,1)|0); - HEAP32[$rc>>2] = $234; - $235 = HEAP32[$ii>>2]|0; - $236 = (($235) + 1)|0; - HEAP32[$ii>>2] = $236; + $30 = ((($29)) + 68|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$3>>2] = $31; } - } - $237 = HEAP32[$2>>2]|0; - $238 = ($237|0)!=(0|0); - L42: do { - if ($238) { - $239 = HEAP32[$2>>2]|0; - $240 = ((($239)) + 24|0); - $241 = HEAP32[$240>>2]|0; - $242 = HEAP32[$1>>2]|0; - $243 = ((($242)) + 160|0); - $244 = HEAP32[$243>>2]|0; - $245 = (4 + ($244))|0; - $246 = ($245|0)<(0); - $247 = $246 << 31 >> 31; - $248 = (___muldi3(($241|0),0,($245|0),($247|0))|0); - $249 = tempRet0; - $250 = $offset; - $251 = $250; - HEAP32[$251>>2] = $248; - $252 = (($250) + 4)|0; - $253 = $252; - HEAP32[$253>>2] = $249; - $254 = HEAP32[$1>>2]|0; - $255 = (_sqlite3PagerUseWal($254)|0); - $256 = ($255|0)!=(0); - if ($256) { - $257 = HEAP32[$1>>2]|0; - $258 = ((($257)) + 216|0); - $259 = HEAP32[$258>>2]|0; - $260 = HEAP32[$2>>2]|0; - $261 = ((($260)) + 28|0); - $262 = (_sqlite3WalSavepointUndo($259,$261)|0); - HEAP32[$rc>>2] = $262; - } - $263 = HEAP32[$2>>2]|0; - $264 = ((($263)) + 24|0); - $265 = HEAP32[$264>>2]|0; - HEAP32[$ii1>>2] = $265; - while(1) { - $266 = HEAP32[$rc>>2]|0; - $267 = ($266|0)==(0); - if (!($267)) { - break L42; - } - $268 = HEAP32[$ii1>>2]|0; - $269 = HEAP32[$1>>2]|0; - $270 = ((($269)) + 56|0); - $271 = HEAP32[$270>>2]|0; - $272 = ($268>>>0)<($271>>>0); - if (!($272)) { - break L42; - } - $273 = HEAP32[$1>>2]|0; - $274 = HEAP32[$pDone>>2]|0; - $275 = (_pager_playback_one_page($273,$offset,$274,0,1)|0); - HEAP32[$rc>>2] = $275; - $276 = HEAP32[$ii1>>2]|0; - $277 = (($276) + 1)|0; - HEAP32[$ii1>>2] = $277; - } + $32 = ($29|0)!=(0|0); + if ($32) { + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 68|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 68|0); + HEAP32[$37>>2] = $35; } - } while(0); - $278 = HEAP32[$pDone>>2]|0; - _sqlite3BitvecDestroy($278); - $279 = HEAP32[$rc>>2]|0; - $280 = ($279|0)==(0); - if ($280) { - $281 = $szJ; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - $284 = (($281) + 4)|0; - $285 = $284; - $286 = HEAP32[$285>>2]|0; - $287 = HEAP32[$1>>2]|0; - $288 = ((($287)) + 80|0); - $289 = $288; - $290 = $289; - HEAP32[$290>>2] = $283; - $291 = (($289) + 4)|0; - $292 = $291; - HEAP32[$292>>2] = $286; } - $293 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $293; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 56|0); + $40 = HEAP32[$39>>2]|0; + _sqlite3_mutex_free($40); + HEAP32[$4>>2] = 1; + $41 = HEAP32[$2>>2]|0; + _sqlite3_mutex_leave($41); + $42 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($42|0); } -function _pagerRollbackWal($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pList = 0, $pNext = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3BtreeClearCursor($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $rc = sp + 8|0; - $pList = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 32|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 28|0); - HEAP32[$5>>2] = $3; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 216|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = (_sqlite3WalUndo($8,187,$9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 212|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3PcacheDirtyList($13)|0); - HEAP32[$pList>>2] = $14; - while(1) { - $15 = HEAP32[$pList>>2]|0; - $16 = ($15|0)!=(0|0); - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)==(0); - $19 = $16 ? $18 : 0; - if (!($19)) { - break; - } - $20 = HEAP32[$pList>>2]|0; - $21 = ((($20)) + 12|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$pNext>>2] = $22; - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$pList>>2]|0; - $25 = ((($24)) + 20|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_pagerUndoCallback($23,$26)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$pNext>>2]|0; - HEAP32[$pList>>2] = $28; - } - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 48|0); + $4 = HEAP32[$3>>2]|0; + _sqlite3_free($4); + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 48|0); + HEAP32[$6>>2] = 0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 66|0); + HEAP8[$8>>0] = 0; + STACKTOP = sp;return; } -function _sqlite3WalSavepointUndo($pWal,$aWalData) { - $pWal = $pWal|0; - $aWalData = $aWalData|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3BtreeIsInTrans($0) { + $0 = $0|0; + var $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 + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $aWalData; - HEAP32[$rc>>2] = 0; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 112|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($4|0)!=($7|0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - HEAP32[$9>>2] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 112|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 12|0); - HEAP32[$14>>2] = $12; - } - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 52|0); - $19 = ((($18)) + 16|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16>>>0)<($20>>>0); - if (!($21)) { - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); + $3 = ($2|0)!=(0|0); + if (!($3)) { + $10 = 0; + $9 = $10&1; + STACKTOP = sp;return ($9|0); } - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 52|0); - $26 = ((($25)) + 16|0); - HEAP32[$26>>2] = $23; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 52|0); - $32 = ((($31)) + 24|0); - HEAP32[$32>>2] = $29; - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 8|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 52|0); - $38 = ((($37)) + 24|0); - $39 = ((($38)) + 4|0); - HEAP32[$39>>2] = $35; - $40 = HEAP32[$0>>2]|0; - _walCleanupHash($40); - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($7|0)==(2); + $10 = $8; + $9 = $10&1; + STACKTOP = sp;return ($9|0); } -function _walCleanupHash($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aHash = 0, $aPgno = 0, $i = 0, $iLimit = 0, $iZero = 0, $nByte = 0, label = 0, sp = 0; +function _sqlite3VtabRollback($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _callFinaliser($2,68); + STACKTOP = sp;return 0; +} +function _callFinaliser($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $aHash = sp + 20|0; - $aPgno = sp + 16|0; - $iZero = sp + 12|0; - $iLimit = sp + 8|0; - $nByte = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$aHash>>2] = 0; - HEAP32[$aPgno>>2] = 0; - HEAP32[$iZero>>2] = 0; - HEAP32[$iLimit>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 52|0); - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 340|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { STACKTOP = sp;return; } - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 52|0); - $9 = ((($8)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_walFramePage($10)|0); - (_walHashGet($6,$11,$aHash,$aPgno,$iZero)|0); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 52|0); - $14 = ((($13)) + 16|0); + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 340|0); $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$iZero>>2]|0; - $17 = (($15) - ($16))|0; - HEAP32[$iLimit>>2] = $17; - HEAP32[$i>>2] = 0; + HEAP32[$5>>2] = $15; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 340|0); + HEAP32[$17>>2] = 0; + HEAP32[$4>>2] = 0; while(1) { - $18 = HEAP32[$i>>2]|0; - $19 = ($18|0)<(8192); - if (!($19)) { + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 316|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($18|0)<($21|0); + if (!($22)) { break; } - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$aHash>>2]|0; - $22 = (($21) + ($20<<1)|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23&65535; - $25 = HEAP32[$iLimit>>2]|0; - $26 = ($24|0)>($25|0); - if ($26) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$aHash>>2]|0; - $29 = (($28) + ($27<<1)|0); - HEAP16[$29>>1] = 0; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = (($23) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$6>>2] = $26; + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$7>>2] = $29; + $30 = HEAP32[$7>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = (($33) + ($34)|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$8>>2] = $36; + $37 = HEAP32[$8>>2]|0; + $38 = ($37|0)!=(0|0); + if ($38) { + $39 = HEAP32[$8>>2]|0; + $40 = HEAP32[$7>>2]|0; + (FUNCTION_TABLE_ii[$39 & 255]($40)|0); + } } - $30 = HEAP32[$i>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$i>>2] = $31; + $41 = HEAP32[$6>>2]|0; + $42 = ((($41)) + 20|0); + HEAP32[$42>>2] = 0; + $43 = HEAP32[$6>>2]|0; + _sqlite3VtabUnlock($43); + $44 = HEAP32[$4>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$4>>2] = $45; } - $32 = HEAP32[$aHash>>2]|0; - $33 = HEAP32[$iLimit>>2]|0; - $34 = (($33) + 1)|0; - $35 = HEAP32[$aPgno>>2]|0; - $36 = (($35) + ($34<<2)|0); - $37 = $32; - $38 = $36; - $39 = (($37) - ($38))|0; - HEAP32[$nByte>>2] = $39; - $40 = HEAP32[$iLimit>>2]|0; - $41 = (($40) + 1)|0; - $42 = HEAP32[$aPgno>>2]|0; - $43 = (($42) + ($41<<2)|0); - $44 = HEAP32[$nByte>>2]|0; - _memset(($43|0),0,($44|0))|0; + $46 = HEAP32[$2>>2]|0; + $47 = HEAP32[$5>>2]|0; + _sqlite3DbFree($46,$47); + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 316|0); + HEAP32[$49>>2] = 0; STACKTOP = sp;return; } -function _walFramePage($iFrame) { - $iFrame = $iFrame|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $iHash = 0, label = 0, sp = 0; +function _sqlite3BtreeIsInBackup($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $iHash = sp; - HEAP32[$0>>2] = $iFrame; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4096)|0; - $3 = (($2) - 4062)|0; - $4 = (($3) - 1)|0; - $5 = (($4>>>0) / 4096)&-1; - HEAP32[$iHash>>2] = $5; - $6 = HEAP32[$iHash>>2]|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0); + $6 = $5&1; STACKTOP = sp;return ($6|0); } -function _walHashGet($pWal,$iHash,$paHash,$paPgno,$piZero) { - $pWal = $pWal|0; - $iHash = $iHash|0; - $paHash = $paHash|0; - $paPgno = $paPgno|0; - $piZero = $piZero|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aHash = 0, $aPgno = 0, $iZero = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3BtreeTripAllCursors($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; + STACKTOP = STACKTOP + 32|0; $3 = sp + 20|0; $4 = sp + 16|0; - $rc = sp + 12|0; - $aPgno = sp + 8|0; - $iZero = sp + 4|0; - $aHash = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $iHash; - HEAP32[$2>>2] = $paHash; - HEAP32[$3>>2] = $paPgno; - HEAP32[$4>>2] = $piZero; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (_walIndexPage($5,$6,$aPgno)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)==(0); - if (!($9)) { - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); - } - $10 = HEAP32[$aPgno>>2]|0; - $11 = ((($10)) + 16384|0); - HEAP32[$aHash>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $14 = HEAP32[$aPgno>>2]|0; - $15 = ((($14)) + 136|0); - HEAP32[$aPgno>>2] = $15; - HEAP32[$iZero>>2] = 0; - } else { - $16 = HEAP32[$1>>2]|0; - $17 = (($16) - 1)|0; - $18 = $17<<12; - $19 = (4062 + ($18))|0; - HEAP32[$iZero>>2] = $19; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$7>>2] = 0; + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + $69 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($69|0); } - $20 = HEAP32[$aPgno>>2]|0; - $21 = ((($20)) + -4|0); - $22 = HEAP32[$3>>2]|0; - HEAP32[$22>>2] = $21; - $23 = HEAP32[$aHash>>2]|0; - $24 = HEAP32[$2>>2]|0; - HEAP32[$24>>2] = $23; - $25 = HEAP32[$iZero>>2]|0; - $26 = HEAP32[$4>>2]|0; - HEAP32[$26>>2] = $25; - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); -} -function _walIndexPage($pWal,$iPage,$ppPage) { - $pWal = $pWal|0; - $iPage = $iPage|0; - $ppPage = $ppPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $apNew = 0, $nByte = 0, $rc = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $rc = sp + 8|0; - $nByte = sp + 4|0; - $apNew = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $iPage; - HEAP32[$3>>2] = $ppPage; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 24|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = ($6|0)<=($7|0); - do { - if ($8) { - $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 1)|0; - $11 = $10<<2; - HEAP32[$nByte>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 32|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$nByte>>2]|0; - $16 = ($15|0)<(0); - $17 = $16 << 31 >> 31; - $18 = (_sqlite3_realloc64($14,$15,$17)|0); - HEAP32[$apNew>>2] = $18; - $19 = HEAP32[$apNew>>2]|0; - $20 = ($19|0)!=(0|0); - if ($20) { - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 24|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$apNew>>2]|0; - $26 = (($25) + ($24<<2)|0); - $27 = HEAP32[$2>>2]|0; - $28 = (($27) + 1)|0; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 24|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($28) - ($31))|0; - $33 = $32<<2; - _memset(($26|0),0,($33|0))|0; - $34 = HEAP32[$apNew>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 32|0); - HEAP32[$36>>2] = $34; - $37 = HEAP32[$2>>2]|0; - $38 = (($37) + 1)|0; - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 24|0); - HEAP32[$40>>2] = $38; - break; - } - $21 = HEAP32[$3>>2]|0; - HEAP32[$21>>2] = 0; - HEAP32[$0>>2] = 7; - $96 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($96|0); + $11 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($11); + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $16; + L4: while(1) { + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)!=(0|0); + if (!($18)) { + break; } - } while(0); - $41 = HEAP32[$2>>2]|0; - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 32|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + ($41<<2)|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==(0|0); - do { - if ($47) { - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 43|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = ($51|0)==(2); - if ($52) { - $53 = (_sqlite3MallocZero(32768,0)|0); - $54 = HEAP32[$2>>2]|0; - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 32|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + ($54<<2)|0); - HEAP32[$58>>2] = $53; - $59 = HEAP32[$2>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 32|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) + ($59<<2)|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)!=(0|0); - if ($65) { - break; + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)!=(0); + do { + if ($20) { + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 64|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 & 1; + $26 = ($25|0)==(0); + if ($26) { + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 66|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29&255; + $31 = ($30|0)==(1); + if (!($31)) { + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 66|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = ($35|0)==(2); + if (!($36)) { + break; + } + } + $37 = HEAP32[$6>>2]|0; + $38 = (_saveCursorPosition($37)|0); + HEAP32[$7>>2] = $38; + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)!=(0); + if ($40) { + label = 9; + break L4; + } + } else { + label = 10; } - HEAP32[$rc>>2] = 7; - break; } else { - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 4|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$2>>2]|0; - $70 = HEAP32[$1>>2]|0; - $71 = ((($70)) + 44|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = HEAP32[$2>>2]|0; - $75 = HEAP32[$1>>2]|0; - $76 = ((($75)) + 32|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77) + ($74<<2)|0); - $79 = (_sqlite3OsShmMap($68,$69,32768,$73,$78)|0); - HEAP32[$rc>>2] = $79; - $80 = HEAP32[$rc>>2]|0; - $81 = ($80|0)==(8); - if (!($81)) { - break; - } - $82 = HEAP32[$1>>2]|0; - $83 = ((($82)) + 46|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $85 | 2; - $87 = $86&255; - HEAP8[$83>>0] = $87; - HEAP32[$rc>>2] = 0; - break; + label = 10; } + } while(0); + if ((label|0) == 10) { + label = 0; + $43 = HEAP32[$6>>2]|0; + _sqlite3BtreeClearCursor($43); + $44 = HEAP32[$6>>2]|0; + $45 = ((($44)) + 66|0); + HEAP8[$45>>0] = 4; + $46 = HEAP32[$4>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + 60|0); + HEAP32[$48>>2] = $46; } - } while(0); - $88 = HEAP32[$2>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 32|0); - $91 = HEAP32[$90>>2]|0; - $92 = (($91) + ($88<<2)|0); - $93 = HEAP32[$92>>2]|0; - $94 = HEAP32[$3>>2]|0; - HEAP32[$94>>2] = $93; - $95 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $95; - $96 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($96|0); -} -function _sqlite3OsShmMap($id,$iPage,$pgsz,$bExtend,$pp) { - $id = $id|0; - $iPage = $iPage|0; - $pgsz = $pgsz|0; - $bExtend = $bExtend|0; - $pp = $pp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $iPage; - HEAP32[$2>>2] = $pgsz; - HEAP32[$3>>2] = $bExtend; - HEAP32[$4>>2] = $pp; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 52|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$4>>2]|0; - $14 = (FUNCTION_TABLE_iiiiii[$8 & 255]($9,$10,$11,$12,$13)|0); - STACKTOP = sp;return ($14|0); -} -function _pagerUndoCallback($pCtx,$iPg) { - $pCtx = $pCtx|0; - $iPg = $iPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iFrame = 0, $pPager = 0, $pPg = 0, $rc = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $rc = sp + 12|0; - $pPager = sp + 8|0; - $pPg = sp + 4|0; - $iFrame = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $iPg; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pPager>>2] = $2; - $3 = HEAP32[$pPager>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3PagerLookup($3,$4)|0); - HEAP32[$pPg>>2] = $5; - $6 = HEAP32[$pPg>>2]|0; - $7 = ($6|0)!=(0|0); - do { - if ($7) { - $8 = HEAP32[$pPg>>2]|0; - $9 = (_sqlite3PcachePageRefcount($8)|0); - $10 = ($9|0)==(1); - if ($10) { - $11 = HEAP32[$pPg>>2]|0; - _sqlite3PcacheDrop($11); + HEAP32[$8>>2] = 0; + while(1) { + $49 = HEAP32[$8>>2]|0; + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 68|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52 << 24 >> 24; + $54 = ($49|0)<=($53|0); + $55 = HEAP32[$6>>2]|0; + if (!($54)) { break; } - HEAP32[$iFrame>>2] = 0; - $12 = HEAP32[$pPager>>2]|0; - $13 = ((($12)) + 216|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$pPg>>2]|0; - $16 = ((($15)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3WalFindFrame($14,$17,$iFrame)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)==(0); - if ($20) { - $21 = HEAP32[$pPg>>2]|0; - $22 = HEAP32[$iFrame>>2]|0; - $23 = (_readDbPage($21,$22)|0); - HEAP32[$rc>>2] = $23; - } - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - $26 = HEAP32[$pPager>>2]|0; - $27 = ((($26)) + 204|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$pPg>>2]|0; - FUNCTION_TABLE_vi[$28 & 255]($29); - } - $30 = HEAP32[$pPg>>2]|0; - _sqlite3PagerUnrefNotNull($30); + $56 = ((($55)) + 120|0); + $57 = HEAP32[$8>>2]|0; + $58 = (($56) + ($57<<2)|0); + $59 = HEAP32[$58>>2]|0; + _releasePage($59); + $60 = HEAP32[$6>>2]|0; + $61 = ((($60)) + 120|0); + $62 = HEAP32[$8>>2]|0; + $63 = (($61) + ($62<<2)|0); + HEAP32[$63>>2] = 0; + $64 = HEAP32[$8>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$8>>2] = $65; } - } while(0); - $31 = HEAP32[$pPager>>2]|0; - $32 = ((($31)) + 96|0); - $33 = HEAP32[$32>>2]|0; - _sqlite3BackupRestart($33); - $34 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($34|0); + $66 = ((($55)) + 8|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$6>>2] = $67; + } + if ((label|0) == 9) { + $41 = HEAP32[$3>>2]|0; + $42 = HEAP32[$7>>2]|0; + (_sqlite3BtreeTripAllCursors($41,$42,0)|0); + } + $68 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($68); + $69 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($69|0); } -function _sqlite3WalUndo($pWal,$xUndo,$pUndoCtx) { - $pWal = $pWal|0; - $xUndo = $xUndo|0; - $pUndoCtx = $pUndoCtx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $iFrame = 0, $iMax = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3_finalize($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; $1 = sp + 16|0; $2 = sp + 12|0; - $rc = sp + 8|0; - $iMax = sp + 4|0; - $iFrame = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $xUndo; - HEAP32[$2>>2] = $pUndoCtx; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 44|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if (!($6)) { - $40 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($40|0); - } - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 52|0); - $9 = ((($8)) + 16|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$iMax>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 52|0); - $13 = HEAP32[$0>>2]|0; - $14 = (_walIndexHdr($13)|0); - dest=$12; src=$14; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 52|0); - $17 = ((($16)) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$iFrame>>2] = $19; - while(1) { - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)==(0); - if (!($21)) { - break; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + HEAP32[$3>>2] = 0; + } else { + $8 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = (_vdbeSafety($11)|0); + $13 = ($12|0)!=(0); + if ($13) { + $14 = (_sqlite3MisuseError(75223)|0); + HEAP32[$1>>2] = $14; + $40 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($40|0); } - $22 = HEAP32[$iFrame>>2]|0; - $23 = HEAP32[$iMax>>2]|0; - $24 = ($22>>>0)<=($23>>>0); - if (!($24)) { - break; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + _sqlite3_mutex_enter($17); + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 128|0); + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)>(0); + $27 = ($22>>>0)>(0); + $28 = ($25|0)==(0); + $29 = $28 & $27; + $30 = $26 | $29; + if ($30) { + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$4>>2]|0; + _invokeProfileCallback($31,$32); } - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$iFrame>>2]|0; - $29 = (_walFramePgno($27,$28)|0); - $30 = (FUNCTION_TABLE_iii[$25 & 255]($26,$29)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$iFrame>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$iFrame>>2] = $32; - } - $33 = HEAP32[$iMax>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 52|0); - $36 = ((($35)) + 16|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($33|0)!=($37|0); - if (!($38)) { - $40 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($40|0); + $33 = HEAP32[$4>>2]|0; + $34 = (_sqlite3VdbeFinalize($33)|0); + HEAP32[$3>>2] = $34; + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = (_sqlite3ApiExit($35,$36)|0); + HEAP32[$3>>2] = $37; + $38 = HEAP32[$5>>2]|0; + _sqlite3LeaveMutexAndCloseZombie($38); } - $39 = HEAP32[$0>>2]|0; - _walCleanupHash($39); - $40 = HEAP32[$rc>>2]|0; + $39 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $39; + $40 = HEAP32[$1>>2]|0; STACKTOP = sp;return ($40|0); } -function _sqlite3PcacheDirtyList($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $2; - while(1) { - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - break; - } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$p>>2]|0; - $9 = ((($8)) + 12|0); - HEAP32[$9>>2] = $7; - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 32|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$p>>2] = $12; - } - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = (_pcacheSortDirtyList($14)|0); - STACKTOP = sp;return ($15|0); -} -function _pcacheSortDirtyList($pIn) { - $pIn = $pIn|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $i = 0, $p = 0; - var dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $0 = sp + 136|0; - $a = sp + 8|0; - $p = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pIn; - dest=$a; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - break; - } - $3 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$0>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = ((($7)) + 12|0); - HEAP32[$8>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = ($9|0)<(31); - if (!($10)) { - break; - } - $11 = HEAP32[$i>>2]|0; - $12 = (($a) + ($11<<2)|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0|0); - if ($14) { - label = 6; - break; - } - $18 = HEAP32[$i>>2]|0; - $19 = (($a) + ($18<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$p>>2]|0; - $22 = (_pcacheMergeDirtyList($20,$21)|0); - HEAP32[$p>>2] = $22; - $23 = HEAP32[$i>>2]|0; - $24 = (($a) + ($23<<2)|0); - HEAP32[$24>>2] = 0; - $25 = HEAP32[$i>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$i>>2] = $26; - } - if ((label|0) == 6) { - label = 0; - $15 = HEAP32[$p>>2]|0; - $16 = HEAP32[$i>>2]|0; - $17 = (($a) + ($16<<2)|0); - HEAP32[$17>>2] = $15; - } - $27 = HEAP32[$i>>2]|0; - $28 = ($27|0)==(31); - if (!($28)) { - continue; - } - $29 = HEAP32[$i>>2]|0; - $30 = (($a) + ($29<<2)|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$p>>2]|0; - $33 = (_pcacheMergeDirtyList($31,$32)|0); - $34 = HEAP32[$i>>2]|0; - $35 = (($a) + ($34<<2)|0); - HEAP32[$35>>2] = $33; - } - $36 = HEAP32[$a>>2]|0; - HEAP32[$p>>2] = $36; - HEAP32[$i>>2] = 1; - while(1) { - $37 = HEAP32[$i>>2]|0; - $38 = ($37|0)<(32); - if (!($38)) { - break; - } - $39 = HEAP32[$i>>2]|0; - $40 = (($a) + ($39<<2)|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)==(0|0); - if (!($42)) { - $43 = HEAP32[$p>>2]|0; - $44 = ($43|0)!=(0|0); - if ($44) { - $45 = HEAP32[$p>>2]|0; - $46 = HEAP32[$i>>2]|0; - $47 = (($a) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_pcacheMergeDirtyList($45,$48)|0); - $53 = $49; - } else { - $50 = HEAP32[$i>>2]|0; - $51 = (($a) + ($50<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = $52; - } - HEAP32[$p>>2] = $53; - } - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; - } - $56 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($56|0); -} -function _pcacheMergeDirtyList($pA,$pB) { - $pA = $pA|0; - $pB = $pB|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTail = 0, $result = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $result = sp + 8|0; - $pTail = sp; - HEAP32[$0>>2] = $pA; - HEAP32[$1>>2] = $pB; - HEAP32[$pTail>>2] = $result; - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($4>>>0)<($7>>>0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$pTail>>2]|0; - $11 = ((($10)) + 12|0); - HEAP32[$11>>2] = $9; - $12 = HEAP32[$0>>2]|0; - HEAP32[$pTail>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 12|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$0>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - label = 4; - break; - } else { - continue; - } - } else { - $21 = HEAP32[$1>>2]|0; - $22 = HEAP32[$pTail>>2]|0; - $23 = ((($22)) + 12|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$1>>2]|0; - HEAP32[$pTail>>2] = $24; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 12|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$1>>2] = $27; - $28 = HEAP32[$1>>2]|0; - $29 = ($28|0)==(0|0); - if ($29) { - label = 6; - break; - } else { - continue; - } - } - } - if ((label|0) == 4) { - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$pTail>>2]|0; - $20 = ((($19)) + 12|0); - HEAP32[$20>>2] = $18; - $33 = ((($result)) + 12|0); - $34 = HEAP32[$33>>2]|0; - STACKTOP = sp;return ($34|0); - } - else if ((label|0) == 6) { - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$pTail>>2]|0; - $32 = ((($31)) + 12|0); - HEAP32[$32>>2] = $30; - $33 = ((($result)) + 12|0); - $34 = HEAP32[$33>>2]|0; - STACKTOP = sp;return ($34|0); - } - return (0)|0; -} -function _walIndexHdr($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWal; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 32|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - STACKTOP = sp;return ($4|0); -} -function _walFramePgno($pWal,$iFrame) { - $pWal = $pWal|0; - $iFrame = $iFrame|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iHash = 0, label = 0, sp = 0; +function _vdbeSafety($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; + $vararg_buffer = sp; $1 = sp + 8|0; $2 = sp + 4|0; - $iHash = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $iFrame; + HEAP32[$2>>2] = $0; $3 = HEAP32[$2>>2]|0; - $4 = (_walFramePage($3)|0); - HEAP32[$iHash>>2] = $4; - $5 = HEAP32[$iHash>>2]|0; - $6 = ($5|0)==(0); - $7 = HEAP32[$2>>2]|0; - if ($6) { - $8 = (34 + ($7))|0; - $9 = (($8) - 1)|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 32|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($9<<2)|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$0>>2] = $15; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _sqlite3_log(21,25132,$vararg_buffer); + HEAP32[$1>>2] = 1; + $6 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($6|0); } else { - $16 = (($7) - 1)|0; - $17 = (($16) - 4062)|0; - $18 = (($17>>>0) % 4096)&-1; - $19 = HEAP32[$iHash>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 32|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($19<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($18<<2)|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$0>>2] = $26; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); + HEAP32[$1>>2] = 0; + $6 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($6|0); } return (0)|0; } -function _sqlite3PcachePageRefcount($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 26|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3 << 16 >> 16; - STACKTOP = sp;return ($4|0); -} -function _sqlite3PcacheDrop($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 2; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$0>>2]|0; - _pcacheManageDirtyList($7,1); - } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + -1)|0; - HEAP32[$11>>2] = $13; - $14 = HEAP32[(148)>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 28|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($17)) + 44|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$20>>2]|0; - FUNCTION_TABLE_viii[$14 & 255]($19,$21,1); - STACKTOP = sp;return; -} -function _sqlite3WalFindFrame($pWal,$pgno,$piRead) { - $pWal = $pWal|0; - $pgno = $pgno|0; - $piRead = $piRead|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $aHash = 0, $aPgno = 0; - var $iFrame = 0, $iHash = 0, $iKey = 0, $iLast = 0, $iMinHash = 0, $iRead = 0, $iZero = 0, $nCollide = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $iRead = sp + 40|0; - $iLast = sp + 36|0; - $iHash = sp + 32|0; - $iMinHash = sp + 28|0; - $aHash = sp + 24|0; - $aPgno = sp + 20|0; - $iZero = sp + 16|0; - $iKey = sp + 12|0; - $nCollide = sp + 8|0; - $rc = sp + 4|0; - $iFrame = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $piRead; - HEAP32[$iRead>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 52|0); - $6 = ((($5)) + 16|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$iLast>>2] = $7; - $8 = HEAP32[$iLast>>2]|0; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 40|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12 << 16 >> 16; - $14 = ($13|0)==(0); - if (!($14)) { - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 100|0); - $18 = HEAP32[$17>>2]|0; - $19 = (_walFramePage($18)|0); - HEAP32[$iMinHash>>2] = $19; - $20 = HEAP32[$iLast>>2]|0; - $21 = (_walFramePage($20)|0); - HEAP32[$iHash>>2] = $21; - L4: while(1) { - $22 = HEAP32[$iHash>>2]|0; - $23 = HEAP32[$iMinHash>>2]|0; - $24 = ($22|0)>=($23|0); - $25 = HEAP32[$iRead>>2]|0; - $26 = ($25|0)==(0); - $27 = $24 ? $26 : 0; - if (!($27)) { - label = 18; - break; - } - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$iHash>>2]|0; - $30 = (_walHashGet($28,$29,$aHash,$aPgno,$iZero)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$rc>>2]|0; - $32 = ($31|0)!=(0); - if ($32) { - label = 7; - break; - } - HEAP32[$nCollide>>2] = 8192; - $34 = HEAP32[$2>>2]|0; - $35 = (_walHash($34)|0); - HEAP32[$iKey>>2] = $35; - while(1) { - $36 = HEAP32[$iKey>>2]|0; - $37 = HEAP32[$aHash>>2]|0; - $38 = (($37) + ($36<<1)|0); - $39 = HEAP16[$38>>1]|0; - $40 = ($39<<16>>16)!=(0); - if (!($40)) { - break; - } - $41 = HEAP32[$iKey>>2]|0; - $42 = HEAP32[$aHash>>2]|0; - $43 = (($42) + ($41<<1)|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = HEAP32[$iZero>>2]|0; - $47 = (($45) + ($46))|0; - HEAP32[$iFrame>>2] = $47; - $48 = HEAP32[$iFrame>>2]|0; - $49 = HEAP32[$iLast>>2]|0; - $50 = ($48>>>0)<=($49>>>0); - if ($50) { - $51 = HEAP32[$iFrame>>2]|0; - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 100|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($51>>>0)>=($54>>>0); - if ($55) { - $56 = HEAP32[$iKey>>2]|0; - $57 = HEAP32[$aHash>>2]|0; - $58 = (($57) + ($56<<1)|0); - $59 = HEAP16[$58>>1]|0; - $60 = $59&65535; - $61 = HEAP32[$aPgno>>2]|0; - $62 = (($61) + ($60<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$2>>2]|0; - $65 = ($63|0)==($64|0); - if ($65) { - $66 = HEAP32[$iFrame>>2]|0; - HEAP32[$iRead>>2] = $66; - } - } - } - $67 = HEAP32[$nCollide>>2]|0; - $68 = (($67) + -1)|0; - HEAP32[$nCollide>>2] = $68; - $69 = ($67|0)==(0); - if ($69) { - label = 15; - break L4; - } - $71 = HEAP32[$iKey>>2]|0; - $72 = (_walNextHash($71)|0); - HEAP32[$iKey>>2] = $72; - } - $73 = HEAP32[$iHash>>2]|0; - $74 = (($73) + -1)|0; - HEAP32[$iHash>>2] = $74; - } - if ((label|0) == 7) { - $33 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $33; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); - } - else if ((label|0) == 15) { - $70 = (_sqlite3CorruptError(56344)|0); - HEAP32[$0>>2] = $70; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); - } - else if ((label|0) == 18) { - $75 = HEAP32[$iRead>>2]|0; - $76 = HEAP32[$3>>2]|0; - HEAP32[$76>>2] = $75; - HEAP32[$0>>2] = 0; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); - } - } - } - $15 = HEAP32[$3>>2]|0; - HEAP32[$15>>2] = 0; - HEAP32[$0>>2] = 0; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); -} -function _readDbPage($pPg,$iFrame) { - $pPg = $pPg|0; - $iFrame = $iFrame|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $dbFileVers = 0, $iOffset = 0, $pPager = 0, $pgno = 0, $pgsz = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _invokeProfileCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $pPager = sp + 24|0; - $pgno = sp + 20|0; - $rc = sp + 16|0; - $pgsz = sp + 12|0; - $iOffset = sp; - $dbFileVers = sp + 8|0; - HEAP32[$0>>2] = $pPg; - HEAP32[$1>>2] = $iFrame; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pPager>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 20|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; $7 = HEAP32[$6>>2]|0; - HEAP32[$pgno>>2] = $7; - HEAP32[$rc>>2] = 0; - $8 = HEAP32[$pPager>>2]|0; - $9 = ((($8)) + 160|0); + (_sqlite3OsCurrentTimeInt64($7,$4)|0); + $8 = $4; + $9 = $8; $10 = HEAP32[$9>>2]|0; - HEAP32[$pgsz>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ($11|0)!=(0); - if ($12) { - $13 = HEAP32[$pPager>>2]|0; - $14 = ((($13)) + 216|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$pgsz>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3WalReadFrame($15,$16,$17,$20)|0); - HEAP32[$rc>>2] = $21; - } else { - $22 = HEAP32[$pgno>>2]|0; - $23 = (($22) - 1)|0; - $24 = HEAP32[$pPager>>2]|0; - $25 = ((($24)) + 160|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)<(0); - $28 = $27 << 31 >> 31; - $29 = (___muldi3(($23|0),0,($26|0),($28|0))|0); - $30 = tempRet0; - $31 = $iOffset; - $32 = $31; - HEAP32[$32>>2] = $29; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = HEAP32[$pPager>>2]|0; - $36 = ((($35)) + 64|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$pgsz>>2]|0; - $42 = $iOffset; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (_sqlite3OsRead($37,$40,$41,$44,$47)|0); - HEAP32[$rc>>2] = $48; - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(522); - $$ = $50 ? 0 : $48; - HEAP32[$rc>>2] = $$; - } - $51 = HEAP32[$pgno>>2]|0; - $52 = ($51|0)==(1); - if (!($52)) { - $64 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($64|0); + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 128|0); + $16 = $15; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (_i64Subtract(($10|0),($13|0),($18|0),($21|0))|0); + $23 = tempRet0; + $24 = (___muldi3(($22|0),($23|0),1000000,0)|0); + $25 = tempRet0; + $26 = $5; + $27 = $26; + HEAP32[$27>>2] = $24; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $25; + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 192|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0|0); + if ($33) { + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 192|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 196|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 176|0); + $42 = HEAP32[$41>>2]|0; + $43 = $5; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + FUNCTION_TABLE_viiii[$36 & 255]($39,$42,$45,$48); } - $53 = HEAP32[$rc>>2]|0; + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 76|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = $52 & 2; $54 = ($53|0)!=(0); - if ($54) { - $55 = HEAP32[$pPager>>2]|0; - $56 = ((($55)) + 112|0); - dest=$56; stop=dest+16|0; do { HEAP8[dest>>0]=255|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $64 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($64|0); - } else { - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = ((($59)) + 24|0); - HEAP32[$dbFileVers>>2] = $60; - $61 = HEAP32[$pPager>>2]|0; - $62 = ((($61)) + 112|0); - $63 = HEAP32[$dbFileVers>>2]|0; - dest=$62; src=$63; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $64 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($64|0); - } - return (0)|0; -} -function _sqlite3PagerUnrefNotNull($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPager = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pPager = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pPager>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 24|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = $7 & 32; - $9 = ($8|0)!=(0); - $10 = HEAP32[$0>>2]|0; - if ($9) { - _pagerReleaseMapPage($10); - $11 = HEAP32[$pPager>>2]|0; - _pagerUnlockIfUnused($11); - STACKTOP = sp;return; - } else { - _sqlite3PcacheRelease($10); - $11 = HEAP32[$pPager>>2]|0; - _pagerUnlockIfUnused($11); + if (!($54)) { + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 128|0); + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = 0; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = 0; STACKTOP = sp;return; } -} -function _pagerReleaseMapPage($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPager = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pPager = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pPager>>2] = $3; - $4 = HEAP32[$pPager>>2]|0; - $5 = ((($4)) + 128|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[$5>>2] = $7; - $8 = HEAP32[$pPager>>2]|0; - $9 = ((($8)) + 144|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 12|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$pPager>>2]|0; - $15 = ((($14)) + 144|0); - HEAP32[$15>>2] = $13; - $16 = HEAP32[$pPager>>2]|0; - $17 = ((($16)) + 64|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) - 1)|0; - $23 = HEAP32[$pPager>>2]|0; - $24 = ((($23)) + 160|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)<(0); - $27 = $26 << 31 >> 31; - $28 = (___muldi3(($22|0),0,($25|0),($27|0))|0); - $29 = tempRet0; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - (_sqlite3OsUnfetch($18,$28,$29,$32)|0); + $55 = HEAP32[$2>>2]|0; + $56 = ((($55)) + 184|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$2>>2]|0; + $59 = ((($58)) + 188|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$3>>2]|0; + (FUNCTION_TABLE_iiiii[$57 & 255](2,$60,$61,$5)|0); + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 128|0); + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = 0; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = 0; STACKTOP = sp;return; } -function _pagerUnlockIfUnused($pPager) { - $pPager = $pPager|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; +function _sqlite3VdbeFinalize($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 128|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - STACKTOP = sp;return; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 20|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(770837923); + if ($6) { + label = 3; + } else { + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(832317811); + if ($10) { + label = 3; + } } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 212|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3PcacheRefCount($7)|0); - $9 = ($8|0)==(0); - if (!($9)) { - STACKTOP = sp;return; + if ((label|0) == 3) { + $11 = HEAP32[$1>>2]|0; + $12 = (_sqlite3VdbeReset($11)|0); + HEAP32[$2>>2] = $12; } - $10 = HEAP32[$0>>2]|0; - _pagerUnlockAndRollback($10); - STACKTOP = sp;return; + $13 = HEAP32[$1>>2]|0; + _sqlite3VdbeDelete($13); + $14 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($14|0); } -function _sqlite3OsUnfetch($id,$0,$1,$p) { - $id = $id|0; +function _sqlite3ApiExit($0,$1) { $0 = $0|0; $1 = $1|0; - $p = $p|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp; - $4 = sp + 8|0; - HEAP32[$2>>2] = $id; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $p; - STACKTOP = sp;return 0; -} -function _sqlite3WalReadFrame($pWal,$iRead,$nOut,$pOut) { - $pWal = $pWal|0; - $iRead = $iRead|0; - $nOut = $nOut|0; - $pOut = $pOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iOffset = 0, $sz = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $sz = sp + 8|0; - $iOffset = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $iRead; - HEAP32[$2>>2] = $nOut; - HEAP32[$3>>2] = $pOut; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 52|0); - $6 = ((($5)) + 14|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - HEAP32[$sz>>2] = $8; - $9 = HEAP32[$sz>>2]|0; - $10 = $9 & 65024; - $11 = HEAP32[$sz>>2]|0; - $12 = $11 & 1; - $13 = $12 << 16; - $14 = (($10) + ($13))|0; - HEAP32[$sz>>2] = $14; - $15 = HEAP32[$1>>2]|0; - $16 = (($15) - 1)|0; - $17 = HEAP32[$sz>>2]|0; - $18 = (($17) + 24)|0; - $19 = ($18|0)<(0); - $20 = $19 << 31 >> 31; - $21 = (___muldi3(($16|0),0,($18|0),($20|0))|0); - $22 = tempRet0; - $23 = (_i64Add(32,0,($21|0),($22|0))|0); - $24 = tempRet0; - $25 = (_i64Add(($23|0),($24|0),24,0)|0); - $26 = tempRet0; - $27 = $iOffset; - $28 = $27; - HEAP32[$28>>2] = $25; - $29 = (($27) + 4)|0; - $30 = $29; - HEAP32[$30>>2] = $26; - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = HEAP32[$sz>>2]|0; - $37 = ($35|0)>($36|0); - $38 = HEAP32[$sz>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = $37 ? $38 : $39; - $41 = $iOffset; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (_sqlite3OsRead($33,$34,$40,$43,$46)|0); - STACKTOP = sp;return ($47|0); -} -function _walHash($iPage) { - $iPage = $iPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 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, $or$cond = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $iPage; - $1 = HEAP32[$0>>2]|0; - $2 = ($1*383)|0; - $3 = $2 & 8191; - STACKTOP = sp;return ($3|0); + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 69|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)!=(0); + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)==(3082); + $or$cond = $9 | $11; + if ($or$cond) { + $12 = HEAP32[$3>>2]|0; + $13 = (_apiOomError($12)|0); + HEAP32[$2>>2] = $13; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); + } else { + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 56|0); + $17 = HEAP32[$16>>2]|0; + $18 = $14 & $17; + HEAP32[$2>>2] = $18; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); + } + return (0)|0; } -function _walNextHash($iPriorHash) { - $iPriorHash = $iPriorHash|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _apiOomError($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $iPriorHash; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 1)|0; - $3 = $2 & 8191; - STACKTOP = sp;return ($3|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3OomClear($2); + $3 = HEAP32[$1>>2]|0; + _sqlite3Error($3,7); + STACKTOP = sp;return 7; } -function _sqlite3WalEndReadTransaction($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3OomClear($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, $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; - HEAP32[$0>>2] = $pWal; - $1 = HEAP32[$0>>2]|0; - (_sqlite3WalEndWriteTransaction($1)|0); - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 40|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - $6 = ($5|0)>=(0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 69|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)!=(0); if (!($6)) { STACKTOP = sp;return; } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 40|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10 << 16 >> 16; - $12 = (3 + ($11))|0; - _walUnlockShared($7,$12); - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 40|0); - HEAP16[$14>>1] = -1; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 168|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 69|0); + HEAP8[$12>>0] = 0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 248|0); + HEAP32[$14>>2] = 0; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 256|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + -1)|0; + HEAP32[$16>>2] = $18; STACKTOP = sp;return; } -function _sqlite3OsLock($id,$lockType) { - $id = $id|0; - $lockType = $lockType|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3VdbeReset($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $lockType; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (FUNCTION_TABLE_iii[$5 & 255]($6,$7)|0); - STACKTOP = sp;return ($8|0); -} -function _sqlite3WalCheckpoint($pWal,$eMode,$xBusy,$pBusyArg,$sync_flags,$nBuf,$zBuf,$pnLog,$pnCkpt) { - $pWal = $pWal|0; - $eMode = $eMode|0; - $xBusy = $xBusy|0; - $pBusyArg = $pBusyArg|0; - $sync_flags = $sync_flags|0; - $nBuf = $nBuf|0; - $zBuf = $zBuf|0; - $pnLog = $pnLog|0; - $pnCkpt = $pnCkpt|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $eMode2 = 0, $isChanged = 0, $or$cond = 0, $rc = 0, $xBusy2 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $5 = sp + 32|0; - $6 = sp + 28|0; - $7 = sp + 24|0; - $8 = sp + 20|0; - $9 = sp + 16|0; - $rc = sp + 12|0; - $isChanged = sp + 8|0; - $eMode2 = sp + 4|0; - $xBusy2 = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $eMode; - HEAP32[$3>>2] = $xBusy; - HEAP32[$4>>2] = $pBusyArg; - HEAP32[$5>>2] = $sync_flags; - HEAP32[$6>>2] = $nBuf; - HEAP32[$7>>2] = $zBuf; - HEAP32[$8>>2] = $pnLog; - HEAP32[$9>>2] = $pnCkpt; - HEAP32[$isChanged>>2] = 0; - $10 = HEAP32[$2>>2]|0; - HEAP32[$eMode2>>2] = $10; - $11 = HEAP32[$3>>2]|0; - HEAP32[$xBusy2>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 46|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)!=(0); - if ($15) { - HEAP32[$0>>2] = 8; - $101 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($101|0); - } - $16 = HEAP32[$1>>2]|0; - $17 = (_walLockExclusive($16,1,1)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $20; - $101 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($101|0); - } - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 45|0); - HEAP8[$22>>0] = 1; - $23 = HEAP32[$2>>2]|0; - $24 = ($23|0)!=(0); - do { - if ($24) { - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$3>>2]|0; - $27 = HEAP32[$4>>2]|0; - $28 = (_walBusyLock($25,$26,$27,0,1)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$rc>>2]|0; - $30 = ($29|0)==(0); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 44|0); - HEAP8[$32>>0] = 1; - break; - } - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)==(5); - if ($34) { - HEAP32[$eMode2>>2] = 0; - HEAP32[$xBusy2>>2] = 0; - HEAP32[$rc>>2] = 0; - } + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $4; + $5 = HEAP32[$1>>2]|0; + (_sqlite3VdbeHalt($5)|0); + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 36|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>=(0); + $10 = HEAP32[$1>>2]|0; + if ($9) { + (_sqlite3VdbeTransferError($10)|0); + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 108|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3DbFree($11,$14); + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 108|0); + HEAP32[$16>>2] = 0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 144|0); + $19 = HEAP16[$18>>1]|0; + $20 = ($19&65535) >>> 5; + $21 = $20 & 1; + $22 = $21&65535; + $23 = ($22|0)!=(0); + if ($23) { + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 144|0); + $26 = HEAP16[$25>>1]|0; + $27 = $26 & -2; + $28 = $27 | 1; + HEAP16[$25>>1] = $28; } - } while(0); - $35 = HEAP32[$rc>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[$1>>2]|0; - $38 = (_walIndexReadHdr($37,$isChanged)|0); - HEAP32[$rc>>2] = $38; - $39 = HEAP32[$isChanged>>2]|0; - $40 = ($39|0)!=(0); - if ($40) { - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 4|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)>=(3); - if ($46) { + } else { + $29 = ((($10)) + 40|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0); + if ($31) { + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 144|0); + $34 = HEAP16[$33>>1]|0; + $35 = $34 & 1; + $36 = $35&65535; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 40|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 108|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)!=(0|0); + $46 = $45 ? 21240 : 0; $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 4|0); + $48 = ((($47)) + 108|0); $49 = HEAP32[$48>>2]|0; - (_sqlite3OsUnfetch($49,0,0,0)|0); - } - } - } - $50 = HEAP32[$rc>>2]|0; - $51 = ($50|0)==(0); - if ($51) { - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 52|0); - $54 = ((($53)) + 16|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)!=(0); - if ($56) { - $57 = HEAP32[$1>>2]|0; - $58 = (_walPagesize($57)|0); - $59 = HEAP32[$6>>2]|0; - $60 = ($58|0)!=($59|0); - if ($60) { - $61 = (_sqlite3CorruptError(57049)|0); - HEAP32[$rc>>2] = $61; - } else { - label = 18; - } - } else { - label = 18; - } - if ((label|0) == 18) { - $62 = HEAP32[$1>>2]|0; - $63 = HEAP32[$eMode2>>2]|0; - $64 = HEAP32[$xBusy2>>2]|0; - $65 = HEAP32[$4>>2]|0; - $66 = HEAP32[$5>>2]|0; - $67 = HEAP32[$7>>2]|0; - $68 = (_walCheckpoint($62,$63,$64,$65,$66,$67)|0); - HEAP32[$rc>>2] = $68; - } - $69 = HEAP32[$rc>>2]|0; - $70 = ($69|0)==(0); - $71 = HEAP32[$rc>>2]|0; - $72 = ($71|0)==(5); - $or$cond = $70 | $72; - if ($or$cond) { - $73 = HEAP32[$8>>2]|0; - $74 = ($73|0)!=(0|0); - if ($74) { - $75 = HEAP32[$1>>2]|0; - $76 = ((($75)) + 52|0); - $77 = ((($76)) + 16|0); - $78 = HEAP32[$77>>2]|0; - $79 = HEAP32[$8>>2]|0; - HEAP32[$79>>2] = $78; - } - $80 = HEAP32[$9>>2]|0; - $81 = ($80|0)!=(0|0); - if ($81) { - $82 = HEAP32[$1>>2]|0; - $83 = (_walCkptInfo($82)|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$9>>2]|0; - HEAP32[$85>>2] = $84; + HEAP32[$vararg_buffer>>2] = $49; + _sqlite3ErrorWithMsg($38,$41,$46,$vararg_buffer); + $50 = HEAP32[$2>>2]|0; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 108|0); + $53 = HEAP32[$52>>2]|0; + _sqlite3DbFree($50,$53); + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 108|0); + HEAP32[$55>>2] = 0; } } } - $86 = HEAP32[$isChanged>>2]|0; - $87 = ($86|0)!=(0); - if ($87) { - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 52|0); - dest=$89; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - } - $90 = HEAP32[$1>>2]|0; - (_sqlite3WalEndWriteTransaction($90)|0); - $91 = HEAP32[$1>>2]|0; - _walUnlockExclusive($91,1,1); - $92 = HEAP32[$1>>2]|0; - $93 = ((($92)) + 45|0); - HEAP8[$93>>0] = 0; - $94 = HEAP32[$rc>>2]|0; - $95 = ($94|0)==(0); - if ($95) { - $96 = HEAP32[$2>>2]|0; - $97 = HEAP32[$eMode2>>2]|0; - $98 = ($96|0)!=($97|0); - if ($98) { - $100 = 5; - } else { - label = 28; - } - } else { - label = 28; - } - if ((label|0) == 28) { - $99 = HEAP32[$rc>>2]|0; - $100 = $99; - } - HEAP32[$0>>2] = $100; - $101 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($101|0); + $56 = HEAP32[$1>>2]|0; + _Cleanup($56); + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 56|0); + $59 = $58; + $60 = $59; + HEAP32[$60>>2] = 0; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = 0; + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 20|0); + HEAP32[$64>>2] = 1224384374; + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 40|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$2>>2]|0; + $69 = ((($68)) + 56|0); + $70 = HEAP32[$69>>2]|0; + $71 = $67 & $70; + STACKTOP = sp;return ($71|0); } -function _sqlite3OsFileControlHint($id,$op,$pArg) { - $id = $id|0; - $op = $op|0; - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3VdbeDelete($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $pArg; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 40|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - (FUNCTION_TABLE_iiii[$6 & 255]($7,$8,$9)|0); + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$1>>2]|0; + _sqlite3VdbeClearObject($7,$8); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + if ($12) { + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + HEAP32[$19>>2] = $15; + } else { + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 4|0); + HEAP32[$21>>2] = $15; + } + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)!=(0|0); + if ($25) { + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 4|0); + HEAP32[$32>>2] = $28; + } + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 20|0); + HEAP32[$34>>2] = 1443283912; + $35 = HEAP32[$1>>2]|0; + HEAP32[$35>>2] = 0; + $36 = HEAP32[$2>>2]|0; + $37 = HEAP32[$1>>2]|0; + _sqlite3DbFree($36,$37); STACKTOP = sp;return; } -function _walLimitSize($pWal,$0,$1) { - $pWal = $pWal|0; +function _sqlite3VdbeHalt($0) { $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rx = 0, $sz = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp + 16|0; - $2 = sp + 24|0; - $3 = sp + 8|0; - $sz = sp; - $rx = sp + 20|0; - HEAP32[$2>>2] = $pWal; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - _sqlite3BeginBenignMalloc(); + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3OsFileSize($10,$sz)|0); - HEAP32[$rx>>2] = $11; - $12 = HEAP32[$rx>>2]|0; - $13 = ($12|0)==(0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 69|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)!=(0); if ($13) { - $14 = $sz; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = $3; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = ($19|0)>($25|0); - $27 = ($16>>>0)>($22>>>0); - $28 = ($19|0)==($25|0); - $29 = $28 & $27; - $30 = $26 | $29; - if ($30) { - $31 = HEAP32[$2>>2]|0; - $32 = ((($31)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = $3; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (_sqlite3OsTruncate($33,$36,$39)|0); - HEAP32[$rx>>2] = $40; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 40|0); + HEAP32[$15>>2] = 7; + } + $16 = HEAP32[$2>>2]|0; + _closeAllCursors($16); + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(770837923); + if ($20) { + HEAP32[$1>>2] = 0; + $283 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($283|0); + } + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 36|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)>=(0); + if ($24) { + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 144|0); + $27 = HEAP16[$26>>1]|0; + $28 = ($27&65535) >>> 8; + $29 = $28 & 1; + $30 = $29&65535; + $31 = ($30|0)!=(0); + if ($31) { + HEAP32[$6>>2] = 0; + $32 = HEAP32[$2>>2]|0; + _sqlite3VdbeEnter($32); + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 40|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 & 255; + HEAP32[$5>>2] = $36; + $37 = HEAP32[$5>>2]|0; + $38 = ($37|0)==(7); + $39 = HEAP32[$5>>2]|0; + $40 = ($39|0)==(10); + $or$cond = $38 | $40; + $41 = HEAP32[$5>>2]|0; + $42 = ($41|0)==(9); + $or$cond3 = $or$cond | $42; + if ($or$cond3) { + $46 = 1; + } else { + $43 = HEAP32[$5>>2]|0; + $44 = ($43|0)==(13); + $46 = $44; + } + $45 = $46&1; + HEAP32[$7>>2] = $45; + $47 = HEAP32[$7>>2]|0; + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 144|0); + $51 = HEAP16[$50>>1]|0; + $52 = ($51&65535) >>> 7; + $53 = $52 & 1; + $54 = $53&65535; + $55 = ($54|0)==(0); + $56 = HEAP32[$5>>2]|0; + $57 = ($56|0)!=(9); + $or$cond5 = $55 | $57; + if ($or$cond5) { + $58 = HEAP32[$5>>2]|0; + $59 = ($58|0)==(7); + $60 = HEAP32[$5>>2]|0; + $61 = ($60|0)==(13); + $or$cond7 = $59 | $61; + if ($or$cond7) { + $62 = HEAP32[$2>>2]|0; + $63 = ((($62)) + 144|0); + $64 = HEAP16[$63>>1]|0; + $65 = ($64&65535) >>> 6; + $66 = $65 & 1; + $67 = $66&65535; + $68 = ($67|0)!=(0); + if ($68) { + HEAP32[$6>>2] = 2; + break; + } + } + $69 = HEAP32[$4>>2]|0; + _sqlite3RollbackAll($69,516); + $70 = HEAP32[$4>>2]|0; + _sqlite3CloseSavepoints($70); + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 67|0); + HEAP8[$72>>0] = 1; + $73 = HEAP32[$2>>2]|0; + $74 = ((($73)) + 44|0); + HEAP32[$74>>2] = 0; + } + } + } while(0); + $75 = HEAP32[$2>>2]|0; + $76 = ((($75)) + 40|0); + $77 = HEAP32[$76>>2]|0; + $78 = ($77|0)==(0); + if ($78) { + $79 = HEAP32[$2>>2]|0; + (_sqlite3VdbeCheckFk($79,0)|0); + } + $80 = HEAP32[$4>>2]|0; + $81 = ((($80)) + 316|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)>(0); + if ($83) { + $84 = HEAP32[$4>>2]|0; + $85 = ((($84)) + 340|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)==(0|0); + if ($87) { + label = 36; + } else { + label = 19; + } + } else { + label = 19; + } + if ((label|0) == 19) { + $88 = HEAP32[$4>>2]|0; + $89 = ((($88)) + 67|0); + $90 = HEAP8[$89>>0]|0; + $91 = $90&255; + $92 = ($91|0)!=(0); + if ($92) { + $93 = HEAP32[$4>>2]|0; + $94 = ((($93)) + 164|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$2>>2]|0; + $97 = ((($96)) + 144|0); + $98 = HEAP16[$97>>1]|0; + $99 = ($98&65535) >>> 7; + $100 = $99 & 1; + $101 = $100&65535; + $102 = ($101|0)==(0); + $103 = $102&1; + $104 = ($95|0)==($103|0); + if ($104) { + $105 = HEAP32[$2>>2]|0; + $106 = ((($105)) + 40|0); + $107 = HEAP32[$106>>2]|0; + $108 = ($107|0)==(0); + if ($108) { + label = 23; + } else { + $109 = HEAP32[$2>>2]|0; + $110 = ((($109)) + 142|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $113 = ($112|0)!=(3); + $114 = HEAP32[$7>>2]|0; + $115 = ($114|0)!=(0); + $or$cond9 = $113 | $115; + if ($or$cond9) { + $166 = HEAP32[$4>>2]|0; + _sqlite3RollbackAll($166,0); + $167 = HEAP32[$2>>2]|0; + $168 = ((($167)) + 44|0); + HEAP32[$168>>2] = 0; + } else { + label = 23; + } + } + do { + if ((label|0) == 23) { + $116 = HEAP32[$2>>2]|0; + $117 = (_sqlite3VdbeCheckFk($116,1)|0); + HEAP32[$3>>2] = $117; + $118 = HEAP32[$3>>2]|0; + $119 = ($118|0)!=(0); + do { + if ($119) { + $120 = HEAP32[$2>>2]|0; + $121 = ((($120)) + 144|0); + $122 = HEAP16[$121>>1]|0; + $123 = ($122&65535) >>> 7; + $124 = $123 & 1; + $125 = $124&65535; + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$3>>2] = 787; + break; + } + $127 = HEAP32[$2>>2]|0; + _sqlite3VdbeLeave($127); + HEAP32[$1>>2] = 1; + $283 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($283|0); + } else { + $128 = HEAP32[$4>>2]|0; + $129 = HEAP32[$2>>2]|0; + $130 = (_vdbeCommit($128,$129)|0); + HEAP32[$3>>2] = $130; + } + } while(0); + $131 = HEAP32[$3>>2]|0; + $132 = ($131|0)==(5); + if ($132) { + $133 = HEAP32[$2>>2]|0; + $134 = ((($133)) + 144|0); + $135 = HEAP16[$134>>1]|0; + $136 = ($135&65535) >>> 7; + $137 = $136 & 1; + $138 = $137&65535; + $139 = ($138|0)!=(0); + if ($139) { + $140 = HEAP32[$2>>2]|0; + _sqlite3VdbeLeave($140); + HEAP32[$1>>2] = 5; + $283 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($283|0); + } + } + $141 = HEAP32[$3>>2]|0; + $142 = ($141|0)!=(0); + if ($142) { + $143 = HEAP32[$3>>2]|0; + $144 = HEAP32[$2>>2]|0; + $145 = ((($144)) + 40|0); + HEAP32[$145>>2] = $143; + $146 = HEAP32[$4>>2]|0; + _sqlite3RollbackAll($146,0); + $147 = HEAP32[$2>>2]|0; + $148 = ((($147)) + 44|0); + HEAP32[$148>>2] = 0; + break; + } else { + $149 = HEAP32[$4>>2]|0; + $150 = ((($149)) + 440|0); + $151 = $150; + $152 = $151; + HEAP32[$152>>2] = 0; + $153 = (($151) + 4)|0; + $154 = $153; + HEAP32[$154>>2] = 0; + $155 = HEAP32[$4>>2]|0; + $156 = ((($155)) + 448|0); + $157 = $156; + $158 = $157; + HEAP32[$158>>2] = 0; + $159 = (($157) + 4)|0; + $160 = $159; + HEAP32[$160>>2] = 0; + $161 = HEAP32[$4>>2]|0; + $162 = ((($161)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = $163 & -33554433; + HEAP32[$162>>2] = $164; + $165 = HEAP32[$4>>2]|0; + _sqlite3CommitInternalChanges($165); + break; + } + } + } while(0); + $169 = HEAP32[$4>>2]|0; + $170 = ((($169)) + 436|0); + HEAP32[$170>>2] = 0; + } else { + label = 36; + } + } else { + label = 36; + } + } + do { + if ((label|0) == 36) { + $171 = HEAP32[$6>>2]|0; + $172 = ($171|0)==(0); + if ($172) { + $173 = HEAP32[$2>>2]|0; + $174 = ((($173)) + 40|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==(0); + if (!($176)) { + $177 = HEAP32[$2>>2]|0; + $178 = ((($177)) + 142|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = ($180|0)==(3); + if (!($181)) { + $182 = HEAP32[$2>>2]|0; + $183 = ((($182)) + 142|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184&255; + $186 = ($185|0)==(2); + if ($186) { + HEAP32[$6>>2] = 2; + break; + } else { + $187 = HEAP32[$4>>2]|0; + _sqlite3RollbackAll($187,516); + $188 = HEAP32[$4>>2]|0; + _sqlite3CloseSavepoints($188); + $189 = HEAP32[$4>>2]|0; + $190 = ((($189)) + 67|0); + HEAP8[$190>>0] = 1; + $191 = HEAP32[$2>>2]|0; + $192 = ((($191)) + 44|0); + HEAP32[$192>>2] = 0; + break; + } + } + } + HEAP32[$6>>2] = 1; + } + } + } while(0); + $193 = HEAP32[$6>>2]|0; + $194 = ($193|0)!=(0); + if ($194) { + $195 = HEAP32[$2>>2]|0; + $196 = HEAP32[$6>>2]|0; + $197 = (_sqlite3VdbeCloseStatement($195,$196)|0); + HEAP32[$3>>2] = $197; + $198 = HEAP32[$3>>2]|0; + $199 = ($198|0)!=(0); + if ($199) { + $200 = HEAP32[$2>>2]|0; + $201 = ((($200)) + 40|0); + $202 = HEAP32[$201>>2]|0; + $203 = ($202|0)==(0); + if ($203) { + label = 47; + } else { + $204 = HEAP32[$2>>2]|0; + $205 = ((($204)) + 40|0); + $206 = HEAP32[$205>>2]|0; + $207 = $206 & 255; + $208 = ($207|0)==(19); + if ($208) { + label = 47; + } + } + if ((label|0) == 47) { + $209 = HEAP32[$3>>2]|0; + $210 = HEAP32[$2>>2]|0; + $211 = ((($210)) + 40|0); + HEAP32[$211>>2] = $209; + $212 = HEAP32[$4>>2]|0; + $213 = HEAP32[$2>>2]|0; + $214 = ((($213)) + 108|0); + $215 = HEAP32[$214>>2]|0; + _sqlite3DbFree($212,$215); + $216 = HEAP32[$2>>2]|0; + $217 = ((($216)) + 108|0); + HEAP32[$217>>2] = 0; + } + $218 = HEAP32[$4>>2]|0; + _sqlite3RollbackAll($218,516); + $219 = HEAP32[$4>>2]|0; + _sqlite3CloseSavepoints($219); + $220 = HEAP32[$4>>2]|0; + $221 = ((($220)) + 67|0); + HEAP8[$221>>0] = 1; + $222 = HEAP32[$2>>2]|0; + $223 = ((($222)) + 44|0); + HEAP32[$223>>2] = 0; + } + } + $224 = HEAP32[$2>>2]|0; + $225 = ((($224)) + 144|0); + $226 = HEAP16[$225>>1]|0; + $227 = ($226&65535) >>> 4; + $228 = $227 & 1; + $229 = $228&65535; + $230 = ($229|0)!=(0); + if ($230) { + $231 = HEAP32[$6>>2]|0; + $232 = ($231|0)!=(2); + $233 = HEAP32[$4>>2]|0; + if ($232) { + $234 = HEAP32[$2>>2]|0; + $235 = ((($234)) + 44|0); + $236 = HEAP32[$235>>2]|0; + _sqlite3VdbeSetChanges($233,$236); + } else { + _sqlite3VdbeSetChanges($233,0); + } + $237 = HEAP32[$2>>2]|0; + $238 = ((($237)) + 44|0); + HEAP32[$238>>2] = 0; + } + $239 = HEAP32[$2>>2]|0; + _sqlite3VdbeLeave($239); } } - _sqlite3EndBenignMalloc(); - $41 = HEAP32[$rx>>2]|0; - $42 = ($41|0)!=(0); - if (!($42)) { - STACKTOP = sp;return; + $240 = HEAP32[$2>>2]|0; + $241 = ((($240)) + 36|0); + $242 = HEAP32[$241>>2]|0; + $243 = ($242|0)>=(0); + if ($243) { + $244 = HEAP32[$4>>2]|0; + $245 = ((($244)) + 156|0); + $246 = HEAP32[$245>>2]|0; + $247 = (($246) + -1)|0; + HEAP32[$245>>2] = $247; + $248 = HEAP32[$2>>2]|0; + $249 = ((($248)) + 144|0); + $250 = HEAP16[$249>>1]|0; + $251 = ($250&65535) >>> 7; + $252 = $251 & 1; + $253 = $252&65535; + $254 = ($253|0)!=(0); + if (!($254)) { + $255 = HEAP32[$4>>2]|0; + $256 = ((($255)) + 164|0); + $257 = HEAP32[$256>>2]|0; + $258 = (($257) + -1)|0; + HEAP32[$256>>2] = $258; + } + $259 = HEAP32[$2>>2]|0; + $260 = ((($259)) + 144|0); + $261 = HEAP16[$260>>1]|0; + $262 = ($261&65535) >>> 8; + $263 = $262 & 1; + $264 = $263&65535; + $265 = ($264|0)!=(0); + if ($265) { + $266 = HEAP32[$4>>2]|0; + $267 = ((($266)) + 160|0); + $268 = HEAP32[$267>>2]|0; + $269 = (($268) + -1)|0; + HEAP32[$267>>2] = $269; + } } - $43 = HEAP32[$rx>>2]|0; - $44 = HEAP32[$2>>2]|0; - $45 = ((($44)) + 108|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$vararg_buffer>>2] = $46; - _sqlite3_log($43,25909,$vararg_buffer); - STACKTOP = sp;return; -} -function _walIndexClose($pWal,$isDelete) { - $pWal = $pWal|0; - $isDelete = $isDelete|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; + $270 = HEAP32[$2>>2]|0; + $271 = ((($270)) + 20|0); + HEAP32[$271>>2] = 832317811; + $272 = HEAP32[$4>>2]|0; + $273 = ((($272)) + 69|0); + $274 = HEAP8[$273>>0]|0; + $275 = ($274<<24>>24)!=(0); + if ($275) { + $276 = HEAP32[$2>>2]|0; + $277 = ((($276)) + 40|0); + HEAP32[$277>>2] = 7; + } + $278 = HEAP32[$2>>2]|0; + $279 = ((($278)) + 40|0); + $280 = HEAP32[$279>>2]|0; + $281 = ($280|0)==(5); + $282 = $281 ? 5 : 0; + HEAP32[$1>>2] = $282; + $283 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($283|0); +} +function _sqlite3VdbeTransferError($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $isDelete; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 43|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(2); - if (!($6)) { - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$1>>2]|0; - (_sqlite3OsShmUnmap($27,$28)|0); - STACKTOP = sp;return; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 40|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 108|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + $13 = HEAP32[$2>>2]|0; + if (!($12)) { + $38 = HEAP32[$3>>2]|0; + _sqlite3Error($13,$38); + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); } - HEAP32[$i>>2] = 0; - while(1) { - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($7|0)<($10|0); - if (!($11)) { - break; - } - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 32|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($12<<2)|0); - $17 = HEAP32[$16>>2]|0; - _sqlite3_free($17); - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 32|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($18<<2)|0); - HEAP32[$22>>2] = 0; - $23 = HEAP32[$i>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$i>>2] = $24; + $14 = ((($13)) + 70|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($15) + 1)<<24>>24; + HEAP8[$14>>0] = $16; + _sqlite3BeginBenignMalloc(); + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 244|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0|0); + if ($20) { + $21 = HEAP32[$2>>2]|0; + $22 = (_sqlite3ValueNew($21)|0); + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 244|0); + HEAP32[$24>>2] = $22; } - STACKTOP = sp;return; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 244|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 108|0); + $30 = HEAP32[$29>>2]|0; + _sqlite3ValueSetStr($27,-1,$30,1,(-1)); + _sqlite3EndBenignMalloc(); + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 70|0); + $33 = HEAP8[$32>>0]|0; + $34 = (($33) + -1)<<24>>24; + HEAP8[$32>>0] = $34; + $35 = HEAP32[$3>>2]|0; + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 52|0); + HEAP32[$37>>2] = $35; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); } -function _sqlite3OsShmUnmap($id,$deleteFlag) { - $id = $id|0; - $deleteFlag = $deleteFlag|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _Cleanup($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $deleteFlag; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 64|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (FUNCTION_TABLE_iii[$5 & 255]($6,$7)|0); - STACKTOP = sp;return ($8|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 108|0); + $8 = HEAP32[$7>>2]|0; + _sqlite3DbFree($5,$8); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 108|0); + HEAP32[$10>>2] = 0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 104|0); + HEAP32[$12>>2] = 0; + STACKTOP = sp;return; } -function _walLockExclusive($pWal,$lockIdx,$n) { - $pWal = $pWal|0; - $lockIdx = $lockIdx|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _closeAllCursors($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $lockIdx; - HEAP32[$3>>2] = $n; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 43|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); + $5 = ((($4)) + 184|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0|0); if ($7) { - HEAP32[$0>>2] = 0; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); - } else { $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 4|0); + $9 = ((($8)) + 184|0); $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$3>>2]|0; - $13 = (_sqlite3OsShmLock($10,$11,$12,10)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $14; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); + HEAP32[$2>>2] = $10; + while(1) { + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0|0); + $15 = HEAP32[$2>>2]|0; + if (!($14)) { + break; + } + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$2>>2] = $17; + } + (_sqlite3VdbeFrameRestore($15)|0); + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 184|0); + HEAP32[$19>>2] = 0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 192|0); + HEAP32[$21>>2] = 0; + } + $22 = HEAP32[$1>>2]|0; + _closeCursorsInFrame($22); + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 92|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 92|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 24|0); + $32 = HEAP32[$31>>2]|0; + _releaseMemArray($29,$32); } - return (0)|0; -} -function _walBusyLock($pWal,$xBusy,$pBusyArg,$lockIdx,$n) { - $pWal = $pWal|0; - $xBusy = $xBusy|0; - $pBusyArg = $pBusyArg|0; - $lockIdx = $lockIdx|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rc = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $xBusy; - HEAP32[$2>>2] = $pBusyArg; - HEAP32[$3>>2] = $lockIdx; - HEAP32[$4>>2] = $n; while(1) { - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$3>>2]|0; - $7 = HEAP32[$4>>2]|0; - $8 = (_walLockExclusive($5,$6,$7)|0); - HEAP32[$rc>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ($9|0)!=(0|0); - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)==(5); - $or$cond = $10 & $12; - if (!($or$cond)) { - label = 4; - break; - } - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (FUNCTION_TABLE_ii[$13 & 255]($14)|0); - $16 = ($15|0)!=(0); - if (!($16)) { - label = 4; + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 188|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)!=(0|0); + $37 = HEAP32[$1>>2]|0; + if (!($36)) { break; } + $38 = ((($37)) + 188|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$3>>2] = $39; + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 188|0); + HEAP32[$44>>2] = $42; + $45 = HEAP32[$3>>2]|0; + _sqlite3VdbeFrameDelete($45); } - if ((label|0) == 4) { - $17 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($17|0); + $46 = ((($37)) + 204|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)!=(0|0); + if (!($48)) { + STACKTOP = sp;return; } - return (0)|0; + $49 = HEAP32[$1>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 204|0); + _sqlite3VdbeDeleteAuxData($50,$52,-1,0); + STACKTOP = sp;return; } -function _walIndexReadHdr($pWal,$pChanged) { - $pWal = $pWal|0; - $pChanged = $pChanged|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $badHdr = 0, $page0 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3VdbeEnter($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, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; $1 = sp + 16|0; $2 = sp + 12|0; - $rc = sp + 8|0; - $badHdr = sp + 4|0; - $page0 = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $pChanged; - $3 = HEAP32[$1>>2]|0; - $4 = (_walIndexPage($3,0,$page0)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $7; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); - } - $8 = HEAP32[$page0>>2]|0; - $9 = ($8|0)!=(0|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 152|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = (_walIndexTryHdr($10,$11)|0); - $13 = $12; - } else { - $13 = 1; + STACKTOP = sp;return; } - HEAP32[$badHdr>>2] = $13; - $14 = HEAP32[$badHdr>>2]|0; - $15 = ($14|0)!=(0); - do { - if ($15) { - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 46|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 & 2; - $21 = ($20|0)!=(0); - $22 = HEAP32[$1>>2]|0; - if ($21) { - $23 = (_walLockShared($22,0)|0); - HEAP32[$rc>>2] = $23; - $24 = (0)==($23|0); - if (!($24)) { - break; - } - $25 = HEAP32[$1>>2]|0; - _walUnlockShared($25,0); - HEAP32[$rc>>2] = 264; - break; - } - $26 = (_walLockExclusive($22,0,1)|0); - HEAP32[$rc>>2] = $26; - $27 = (0)==($26|0); - if ($27) { - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 44|0); - HEAP8[$29>>0] = 1; - $30 = HEAP32[$1>>2]|0; - $31 = (_walIndexPage($30,0,$page0)|0); - HEAP32[$rc>>2] = $31; - $32 = (0)==($31|0); - if ($32) { - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = (_walIndexTryHdr($33,$34)|0); - HEAP32[$badHdr>>2] = $35; - $36 = HEAP32[$badHdr>>2]|0; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$1>>2]|0; - $39 = (_walIndexRecover($38)|0); - HEAP32[$rc>>2] = $39; - $40 = HEAP32[$2>>2]|0; - HEAP32[$40>>2] = 1; - } + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 20|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$5>>2] = $17; + HEAP32[$2>>2] = 0; + while(1) { + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = ($18|0)<($19|0); + if (!($20)) { + break; + } + $21 = HEAP32[$2>>2]|0; + $22 = ($21|0)!=(1); + if ($22) { + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 152|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = 1 << $26; + $28 = $25 & $27; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$2>>2]|0; + $32 = (($30) + ($31<<4)|0); + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = HEAP32[$4>>2]|0; + $37 = HEAP32[$2>>2]|0; + $38 = (($36) + ($37<<4)|0); + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + _sqlite3BtreeEnter($40); } - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 44|0); - HEAP8[$42>>0] = 0; - $43 = HEAP32[$1>>2]|0; - _walUnlockExclusive($43,0,1); } } - } while(0); - $44 = HEAP32[$badHdr>>2]|0; - $45 = ($44|0)==(0); - if ($45) { - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 52|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)!=(3007000); - if ($49) { - $50 = (_sqlite3CantopenError(55897)|0); - HEAP32[$rc>>2] = $50; - } + $41 = HEAP32[$2>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$2>>2] = $42; } - $51 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $51; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); -} -function _walPagesize($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWal; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 52|0); - $3 = ((($2)) + 14|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 65024; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 52|0); - $9 = ((($8)) + 14|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11 & 1; - $13 = $12 << 16; - $14 = (($6) + ($13))|0; - STACKTOP = sp;return ($14|0); + STACKTOP = sp;return; } -function _walCheckpoint($pWal,$eMode,$xBusy,$pBusyArg,$sync_flags,$zBuf) { - $pWal = $pWal|0; - $eMode = $eMode|0; - $xBusy = $xBusy|0; - $pBusyArg = $pBusyArg|0; - $sync_flags = $sync_flags|0; - $zBuf = $zBuf|0; - var $$old = 0, $$old4 = 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, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $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, $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, $i = 0, $iDbpage = 0, $iFrame = 0, $iOffset = 0, $mxPage = 0, $mxSafeFrame = 0, $nBackfill = 0; - var $nReq = 0, $nSize = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $pInfo = 0, $pIter = 0, $rc = 0, $salt1 = 0, $szDb = 0, $szPage = 0, $y = 0, label = 0, sp = 0; +function _sqlite3VdbeCheckFk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 104|0; - $1 = sp + 100|0; - $2 = sp + 96|0; - $3 = sp + 92|0; - $4 = sp + 88|0; - $5 = sp + 84|0; - $6 = sp + 80|0; - $rc = sp + 76|0; - $szPage = sp + 72|0; - $pIter = sp + 68|0; - $iDbpage = sp + 64|0; - $iFrame = sp + 60|0; - $mxSafeFrame = sp + 56|0; - $mxPage = sp + 52|0; - $i = sp + 48|0; - $pInfo = sp + 44|0; - $y = sp + 40|0; - $nSize = sp + 24|0; - $nBackfill = sp + 36|0; - $nReq = sp + 16|0; - $iOffset = sp + 8|0; - $szDb = sp; - $salt1 = sp + 32|0; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $eMode; - HEAP32[$3>>2] = $xBusy; - HEAP32[$4>>2] = $pBusyArg; - HEAP32[$5>>2] = $sync_flags; - HEAP32[$6>>2] = $zBuf; - HEAP32[$rc>>2] = 0; - HEAP32[$pIter>>2] = 0; - HEAP32[$iDbpage>>2] = 0; - HEAP32[$iFrame>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = (_walPagesize($7)|0); - HEAP32[$szPage>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = (_walCkptInfo($9)|0); - HEAP32[$pInfo>>2] = $10; - $11 = HEAP32[$pInfo>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 52|0); - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($12>>>0)<($16>>>0); - L1: do { - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = (_walIteratorInit($18,$pIter)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $22; - $270 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($270|0); - } - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 52|0); - $25 = ((($24)) + 16|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$mxSafeFrame>>2] = $26; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 52|0); - $29 = ((($28)) + 20|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$mxPage>>2] = $30; - HEAP32[$i>>2] = 1; - while(1) { - $31 = HEAP32[$i>>2]|0; - $32 = ($31|0)<(5); - if (!($32)) { - break; - } - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$pInfo>>2]|0; - $35 = ((($34)) + 4|0); - $36 = (($35) + ($33<<2)|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$y>>2] = $37; - $38 = HEAP32[$mxSafeFrame>>2]|0; - $39 = HEAP32[$y>>2]|0; - $40 = ($38>>>0)>($39>>>0); - do { - if ($40) { - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$3>>2]|0; - $43 = HEAP32[$4>>2]|0; - $44 = HEAP32[$i>>2]|0; - $45 = (3 + ($44))|0; - $46 = (_walBusyLock($41,$42,$43,$45,1)|0); - HEAP32[$rc>>2] = $46; - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - $49 = HEAP32[$i>>2]|0; - $50 = ($49|0)==(1); - $51 = HEAP32[$mxSafeFrame>>2]|0; - $52 = $50 ? $51 : -1; - $53 = HEAP32[$i>>2]|0; - $54 = HEAP32[$pInfo>>2]|0; - $55 = ((($54)) + 4|0); - $56 = (($55) + ($53<<2)|0); - HEAP32[$56>>2] = $52; - $57 = HEAP32[$1>>2]|0; - $58 = HEAP32[$i>>2]|0; - $59 = (3 + ($58))|0; - _walUnlockExclusive($57,$59,1); - break; - } - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)==(5); - if (!($61)) { - break L1; - } - $62 = HEAP32[$y>>2]|0; - HEAP32[$mxSafeFrame>>2] = $62; - HEAP32[$3>>2] = 0; - } - } while(0); - $63 = HEAP32[$i>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$i>>2] = $64; - } - $65 = HEAP32[$pInfo>>2]|0; - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$mxSafeFrame>>2]|0; - $68 = ($66>>>0)<($67>>>0); - if ($68) { - $69 = HEAP32[$1>>2]|0; - $70 = HEAP32[$3>>2]|0; - $71 = HEAP32[$4>>2]|0; - $72 = (_walBusyLock($69,$70,$71,3,1)|0); - HEAP32[$rc>>2] = $72; - $73 = ($72|0)==(0); - if ($73) { - $74 = HEAP32[$pInfo>>2]|0; - $75 = HEAP32[$74>>2]|0; - HEAP32[$nBackfill>>2] = $75; - $76 = HEAP32[$mxSafeFrame>>2]|0; - $77 = HEAP32[$pInfo>>2]|0; - $78 = ((($77)) + 32|0); - HEAP32[$78>>2] = $76; - $79 = HEAP32[$5>>2]|0; - $80 = ($79|0)!=(0); - if ($80) { - $81 = HEAP32[$1>>2]|0; - $82 = ((($81)) + 8|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$5>>2]|0; - $85 = (_sqlite3OsSync($83,$84)|0); - HEAP32[$rc>>2] = $85; - } - $86 = HEAP32[$rc>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - $88 = HEAP32[$mxPage>>2]|0; - $89 = HEAP32[$szPage>>2]|0; - $90 = ($89|0)<(0); - $91 = $90 << 31 >> 31; - $92 = (___muldi3(($88|0),0,($89|0),($91|0))|0); - $93 = tempRet0; - $94 = $nReq; - $95 = $94; - HEAP32[$95>>2] = $92; - $96 = (($94) + 4)|0; - $97 = $96; - HEAP32[$97>>2] = $93; - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 4|0); - $100 = HEAP32[$99>>2]|0; - $101 = (_sqlite3OsFileSize($100,$nSize)|0); - HEAP32[$rc>>2] = $101; - $102 = HEAP32[$rc>>2]|0; - $103 = ($102|0)==(0); - if ($103) { - $104 = $nSize; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = $nReq; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ($109|0)<($115|0); - $117 = ($106>>>0)<($112>>>0); - $118 = ($109|0)==($115|0); - $119 = $118 & $117; - $120 = $116 | $119; - if ($120) { - $121 = HEAP32[$1>>2]|0; - $122 = ((($121)) + 4|0); - $123 = HEAP32[$122>>2]|0; - _sqlite3OsFileControlHint($123,5,$nReq); - } - } - } - L28: while(1) { - $$old = HEAP32[$rc>>2]|0; - $$old4 = ($$old|0)==(0); - if (!($$old4)) { - break; - } - while(1) { - $124 = HEAP32[$pIter>>2]|0; - $125 = (_walIteratorNext($124,$iDbpage,$iFrame)|0); - $126 = (0)==($125|0); - if (!($126)) { - break L28; - } - $127 = HEAP32[$iFrame>>2]|0; - $128 = HEAP32[$nBackfill>>2]|0; - $129 = ($127>>>0)<=($128>>>0); - if ($129) { - continue L28; - } - $130 = HEAP32[$iFrame>>2]|0; - $131 = HEAP32[$mxSafeFrame>>2]|0; - $132 = ($130>>>0)>($131>>>0); - if ($132) { - continue L28; - } - $133 = HEAP32[$iDbpage>>2]|0; - $134 = HEAP32[$mxPage>>2]|0; - $135 = ($133>>>0)>($134>>>0); - if ($135) { - continue L28; - } - $136 = HEAP32[$iFrame>>2]|0; - $137 = (($136) - 1)|0; - $138 = HEAP32[$szPage>>2]|0; - $139 = (($138) + 24)|0; - $140 = ($139|0)<(0); - $141 = $140 << 31 >> 31; - $142 = (___muldi3(($137|0),0,($139|0),($141|0))|0); - $143 = tempRet0; - $144 = (_i64Add(32,0,($142|0),($143|0))|0); - $145 = tempRet0; - $146 = (_i64Add(($144|0),($145|0),24,0)|0); - $147 = tempRet0; - $148 = $iOffset; - $149 = $148; - HEAP32[$149>>2] = $146; - $150 = (($148) + 4)|0; - $151 = $150; - HEAP32[$151>>2] = $147; - $152 = HEAP32[$1>>2]|0; - $153 = ((($152)) + 8|0); - $154 = HEAP32[$153>>2]|0; - $155 = HEAP32[$6>>2]|0; - $156 = HEAP32[$szPage>>2]|0; - $157 = $iOffset; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = (_sqlite3OsRead($154,$155,$156,$159,$162)|0); - HEAP32[$rc>>2] = $163; - $164 = HEAP32[$rc>>2]|0; - $165 = ($164|0)!=(0); - if ($165) { - break L28; - } - $166 = HEAP32[$iDbpage>>2]|0; - $167 = (($166) - 1)|0; - $168 = HEAP32[$szPage>>2]|0; - $169 = ($168|0)<(0); - $170 = $169 << 31 >> 31; - $171 = (___muldi3(($167|0),0,($168|0),($170|0))|0); - $172 = tempRet0; - $173 = $iOffset; - $174 = $173; - HEAP32[$174>>2] = $171; - $175 = (($173) + 4)|0; - $176 = $175; - HEAP32[$176>>2] = $172; - $177 = HEAP32[$1>>2]|0; - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = HEAP32[$6>>2]|0; - $181 = HEAP32[$szPage>>2]|0; - $182 = $iOffset; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = (($182) + 4)|0; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = (_sqlite3OsWrite($179,$180,$181,$184,$187)|0); - HEAP32[$rc>>2] = $188; - $189 = HEAP32[$rc>>2]|0; - $190 = ($189|0)==(0); - $191 = HEAP32[$rc>>2]|0; - $192 = ($191|0)==(0); - $or$cond5 = $190 & $192; - if (!($or$cond5)) { - break L28; - } - } - } - $193 = HEAP32[$rc>>2]|0; - $194 = ($193|0)==(0); - if ($194) { - $195 = HEAP32[$mxSafeFrame>>2]|0; - $196 = HEAP32[$1>>2]|0; - $197 = (_walIndexHdr($196)|0); - $198 = ((($197)) + 16|0); - $199 = HEAP32[$198>>2]|0; - $200 = ($195|0)==($199|0); - if ($200) { - $201 = HEAP32[$1>>2]|0; - $202 = ((($201)) + 52|0); - $203 = ((($202)) + 20|0); - $204 = HEAP32[$203>>2]|0; - $205 = HEAP32[$szPage>>2]|0; - $206 = ($205|0)<(0); - $207 = $206 << 31 >> 31; - $208 = (___muldi3(($204|0),0,($205|0),($207|0))|0); - $209 = tempRet0; - $210 = $szDb; - $211 = $210; - HEAP32[$211>>2] = $208; - $212 = (($210) + 4)|0; - $213 = $212; - HEAP32[$213>>2] = $209; - $214 = HEAP32[$1>>2]|0; - $215 = ((($214)) + 4|0); - $216 = HEAP32[$215>>2]|0; - $217 = $szDb; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = (($217) + 4)|0; - $221 = $220; - $222 = HEAP32[$221>>2]|0; - $223 = (_sqlite3OsTruncate($216,$219,$222)|0); - HEAP32[$rc>>2] = $223; - $224 = HEAP32[$rc>>2]|0; - $225 = ($224|0)==(0); - $226 = HEAP32[$5>>2]|0; - $227 = ($226|0)!=(0); - $or$cond = $225 & $227; - if ($or$cond) { - $228 = HEAP32[$1>>2]|0; - $229 = ((($228)) + 4|0); - $230 = HEAP32[$229>>2]|0; - $231 = HEAP32[$5>>2]|0; - $232 = (_sqlite3OsSync($230,$231)|0); - HEAP32[$rc>>2] = $232; - } - } - $233 = HEAP32[$rc>>2]|0; - $234 = ($233|0)==(0); - if ($234) { - $235 = HEAP32[$mxSafeFrame>>2]|0; - $236 = HEAP32[$pInfo>>2]|0; - HEAP32[$236>>2] = $235; - } - } - $237 = HEAP32[$1>>2]|0; - _walUnlockExclusive($237,3,1); - } - } - $238 = HEAP32[$rc>>2]|0; - $239 = ($238|0)==(5); - if ($239) { - HEAP32[$rc>>2] = 0; - label = 36; - } else { - label = 36; - } - } else { - label = 36; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)!=(0); + if ($9) { + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 440|0); + $12 = $11; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 448|0); + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (_i64Add(($14|0),($17|0),($22|0),($25|0))|0); + $27 = tempRet0; + $28 = ($27|0)>(0); + $29 = ($26>>>0)>(0); + $30 = ($27|0)==(0); + $31 = $30 & $29; + $32 = $28 | $31; + if (!($32)) { + label = 3; } - } while(0); + } else { + label = 3; + } do { - if ((label|0) == 36) { - $240 = HEAP32[$rc>>2]|0; - $241 = ($240|0)==(0); - $242 = HEAP32[$2>>2]|0; - $243 = ($242|0)!=(0); - $or$cond3 = $241 & $243; - if ($or$cond3) { - $244 = HEAP32[$pInfo>>2]|0; - $245 = HEAP32[$244>>2]|0; - $246 = HEAP32[$1>>2]|0; - $247 = ((($246)) + 52|0); - $248 = ((($247)) + 16|0); - $249 = HEAP32[$248>>2]|0; - $250 = ($245>>>0)<($249>>>0); - if ($250) { - HEAP32[$rc>>2] = 5; + if ((label|0) == 3) { + $33 = HEAP32[$4>>2]|0; + $34 = ($33|0)!=(0); + if (!($34)) { + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 64|0); + $37 = $36; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)>(0); + $44 = ($39>>>0)>(0); + $45 = ($42|0)==(0); + $46 = $45 & $44; + $47 = $43 | $46; + if ($47) { break; } - $251 = HEAP32[$2>>2]|0; - $252 = ($251|0)>=(2); - if ($252) { - _sqlite3_randomness(4,$salt1); - $253 = HEAP32[$1>>2]|0; - $254 = HEAP32[$3>>2]|0; - $255 = HEAP32[$4>>2]|0; - $256 = (_walBusyLock($253,$254,$255,4,4)|0); - HEAP32[$rc>>2] = $256; - $257 = HEAP32[$rc>>2]|0; - $258 = ($257|0)==(0); - if ($258) { - $259 = HEAP32[$2>>2]|0; - $260 = ($259|0)==(3); - if ($260) { - $261 = HEAP32[$1>>2]|0; - $262 = HEAP32[$salt1>>2]|0; - _walRestartHdr($261,$262); - $263 = HEAP32[$1>>2]|0; - $264 = ((($263)) + 8|0); - $265 = HEAP32[$264>>2]|0; - $266 = (_sqlite3OsTruncate($265,0,0)|0); - HEAP32[$rc>>2] = $266; - } - $267 = HEAP32[$1>>2]|0; - _walUnlockExclusive($267,4,4); - } - } } + HEAP32[$2>>2] = 0; + $53 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($53|0); } } while(0); - $268 = HEAP32[$pIter>>2]|0; - _walIteratorFree($268); - $269 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $269; - $270 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($270|0); + $48 = HEAP32[$3>>2]|0; + $49 = ((($48)) + 40|0); + HEAP32[$49>>2] = 787; + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 142|0); + HEAP8[$51>>0] = 2; + $52 = HEAP32[$3>>2]|0; + _sqlite3VdbeError($52,25102,$vararg_buffer); + HEAP32[$2>>2] = 1; + $53 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($53|0); } -function _walCkptInfo($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _sqlite3VdbeLeave($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWal; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 32|0); - $3 = HEAP32[$2>>2]|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 152|0); $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 96|0); - STACKTOP = sp;return ($5|0); + $5 = ($4|0)==(0); + if ($5) { + STACKTOP = sp;return; + } + $6 = HEAP32[$1>>2]|0; + _vdbeLeave($6); + STACKTOP = sp;return; } -function _walIteratorInit($pWal,$pp) { - $pWal = $pWal|0; - $pp = $pp|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aHash = 0, $aIndex = 0; - var $aPgno = 0, $aTmp = 0, $i = 0, $iLast = 0, $iZero = 0, $j = 0, $nByte = 0, $nEntry = 0, $nSegment = 0, $p = 0, $rc = 0, label = 0, sp = 0; +function _vdbeCommit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $p = sp + 48|0; - $nSegment = sp + 44|0; - $iLast = sp + 40|0; - $nByte = sp + 36|0; - $i = sp + 32|0; - $aTmp = sp + 28|0; - $rc = sp + 24|0; - $aHash = sp + 20|0; - $iZero = sp + 16|0; - $aPgno = sp + 12|0; - $j = sp + 8|0; - $nEntry = sp + 4|0; - $aIndex = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $pp; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 52|0); - $5 = ((($4)) + 16|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$iLast>>2] = $6; - $7 = HEAP32[$iLast>>2]|0; - $8 = (_walFramePage($7)|0); - $9 = (($8) + 1)|0; - HEAP32[$nSegment>>2] = $9; - $10 = HEAP32[$nSegment>>2]|0; - $11 = (($10) - 1)|0; - $12 = ($11*20)|0; - $13 = (28 + ($12))|0; - $14 = HEAP32[$iLast>>2]|0; - $15 = $14<<1; - $16 = (($13) + ($15))|0; - HEAP32[$nByte>>2] = $16; - $17 = HEAP32[$nByte>>2]|0; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = (_sqlite3_malloc64($17,$19)|0); - HEAP32[$p>>2] = $20; - $21 = HEAP32[$p>>2]|0; - $22 = ($21|0)!=(0|0); - if (!($22)) { - HEAP32[$0>>2] = 7; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - $23 = HEAP32[$p>>2]|0; - $24 = HEAP32[$nByte>>2]|0; - _memset(($23|0),0,($24|0))|0; - $25 = HEAP32[$nSegment>>2]|0; - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 4|0); - HEAP32[$27>>2] = $25; - $28 = HEAP32[$iLast>>2]|0; - $29 = ($28>>>0)>(4096); - $30 = HEAP32[$iLast>>2]|0; - $31 = $29 ? 4096 : $30; - $32 = $31<<1; - $33 = (_sqlite3_malloc64($32,0)|0); - HEAP32[$aTmp>>2] = $33; - $34 = HEAP32[$aTmp>>2]|0; - $35 = ($34|0)!=(0|0); - if (!($35)) { - HEAP32[$rc>>2] = 7; - } - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 144|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer8 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer = sp + 8|0; + $2 = sp + 128|0; + $3 = sp + 124|0; + $4 = sp + 120|0; + $5 = sp + 116|0; + $6 = sp + 112|0; + $7 = sp + 108|0; + $8 = sp + 104|0; + $9 = sp + 100|0; + $10 = sp + 96|0; + $11 = sp + 92|0; + $12 = sp + 88|0; + $13 = sp + 84|0; + $14 = sp + 80|0; + $15 = sp + 76|0; + $16 = sp + 72|0; + $17 = sp; + $18 = sp + 68|0; + $19 = sp + 64|0; + $20 = sp + 60|0; + $21 = sp + 56|0; + $22 = sp + 52|0; + $23 = sp + 48|0; + $24 = sp + 44|0; + $25 = sp + 40|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$4>>2]|0; + $28 = (_sqlite3VtabSync($26,$27)|0); + HEAP32[$7>>2] = $28; + HEAP32[$5>>2] = 0; while(1) { - $36 = HEAP32[$rc>>2]|0; - $37 = ($36|0)==(0); - if (!($37)) { + $29 = HEAP32[$7>>2]|0; + $30 = ($29|0)==(0); + if (!($30)) { break; } - $38 = HEAP32[$i>>2]|0; - $39 = HEAP32[$nSegment>>2]|0; - $40 = ($38|0)<($39|0); - if (!($40)) { + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($31|0)<($34|0); + if (!($35)) { break; } - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$i>>2]|0; - $43 = (_walHashGet($41,$42,$aHash,$aPgno,$iZero)|0); - HEAP32[$rc>>2] = $43; - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)==(0); + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = (($38) + ($39<<4)|0); + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$9>>2] = $42; + $43 = HEAP32[$9>>2]|0; + $44 = (_sqlite3BtreeIsInTrans($43)|0); + $45 = ($44|0)!=(0); if ($45) { - $46 = HEAP32[$aPgno>>2]|0; - $47 = ((($46)) + 4|0); - HEAP32[$aPgno>>2] = $47; - $48 = HEAP32[$i>>2]|0; - $49 = (($48) + 1)|0; - $50 = HEAP32[$nSegment>>2]|0; - $51 = ($49|0)==($50|0); - if ($51) { - $52 = HEAP32[$iLast>>2]|0; - $53 = HEAP32[$iZero>>2]|0; - $54 = (($52) - ($53))|0; - HEAP32[$nEntry>>2] = $54; - } else { - $55 = HEAP32[$aHash>>2]|0; - $56 = HEAP32[$aPgno>>2]|0; - $57 = $55; - $58 = $56; - $59 = (($57) - ($58))|0; - $60 = (($59|0) / 4)&-1; - HEAP32[$nEntry>>2] = $60; - } - $61 = HEAP32[$iZero>>2]|0; - $62 = HEAP32[$p>>2]|0; - $63 = ((($62)) + 4|0); - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$p>>2]|0; - $66 = ((($65)) + 8|0); - $67 = (($66) + (($64*20)|0)|0); - $68 = (($67) + ($61<<1)|0); - HEAP32[$aIndex>>2] = $68; - $69 = HEAP32[$iZero>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$iZero>>2] = $70; - HEAP32[$j>>2] = 0; - while(1) { - $71 = HEAP32[$j>>2]|0; - $72 = HEAP32[$nEntry>>2]|0; - $73 = ($71|0)<($72|0); - if (!($73)) { - break; + HEAP32[$8>>2] = 1; + $46 = HEAP32[$9>>2]|0; + _sqlite3BtreeEnter($46); + $47 = HEAP32[$9>>2]|0; + $48 = (_sqlite3BtreePager($47)|0); + HEAP32[$10>>2] = $48; + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$5>>2]|0; + $53 = (($51) + ($52<<4)|0); + $54 = ((($53)) + 8|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = ($56|0)!=(1); + if ($57) { + $58 = HEAP32[$10>>2]|0; + $59 = (_sqlite3PagerGetJournalMode($58)|0); + $60 = (25038 + ($59)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62|0)!=(0); + if ($63) { + $64 = HEAP32[$6>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$6>>2] = $65; } - $74 = HEAP32[$j>>2]|0; - $75 = $74&65535; - $76 = HEAP32[$j>>2]|0; - $77 = HEAP32[$aIndex>>2]|0; - $78 = (($77) + ($76<<1)|0); - HEAP16[$78>>1] = $75; - $79 = HEAP32[$j>>2]|0; - $80 = (($79) + 1)|0; - HEAP32[$j>>2] = $80; - } - $81 = HEAP32[$aPgno>>2]|0; - $82 = HEAP32[$aTmp>>2]|0; - $83 = HEAP32[$aIndex>>2]|0; - _walMergesort($81,$82,$83,$nEntry); - $84 = HEAP32[$iZero>>2]|0; - $85 = HEAP32[$i>>2]|0; - $86 = HEAP32[$p>>2]|0; - $87 = ((($86)) + 8|0); - $88 = (($87) + (($85*20)|0)|0); - $89 = ((($88)) + 16|0); - HEAP32[$89>>2] = $84; - $90 = HEAP32[$nEntry>>2]|0; - $91 = HEAP32[$i>>2]|0; - $92 = HEAP32[$p>>2]|0; - $93 = ((($92)) + 8|0); - $94 = (($93) + (($91*20)|0)|0); - $95 = ((($94)) + 12|0); - HEAP32[$95>>2] = $90; - $96 = HEAP32[$aIndex>>2]|0; - $97 = HEAP32[$i>>2]|0; - $98 = HEAP32[$p>>2]|0; - $99 = ((($98)) + 8|0); - $100 = (($99) + (($97*20)|0)|0); - $101 = ((($100)) + 4|0); - HEAP32[$101>>2] = $96; - $102 = HEAP32[$aPgno>>2]|0; - $103 = HEAP32[$i>>2]|0; - $104 = HEAP32[$p>>2]|0; - $105 = ((($104)) + 8|0); - $106 = (($105) + (($103*20)|0)|0); - $107 = ((($106)) + 8|0); - HEAP32[$107>>2] = $102; + } + $66 = HEAP32[$10>>2]|0; + $67 = (_sqlite3PagerExclusiveLock($66)|0); + HEAP32[$7>>2] = $67; + $68 = HEAP32[$9>>2]|0; + _sqlite3BtreeLeave($68); } - $108 = HEAP32[$i>>2]|0; - $109 = (($108) + 1)|0; - HEAP32[$i>>2] = $109; + $69 = HEAP32[$5>>2]|0; + $70 = (($69) + 1)|0; + HEAP32[$5>>2] = $70; } - $110 = HEAP32[$aTmp>>2]|0; - _sqlite3_free($110); - $111 = HEAP32[$rc>>2]|0; - $112 = ($111|0)!=(0); - if ($112) { - $113 = HEAP32[$p>>2]|0; - _walIteratorFree($113); + $71 = HEAP32[$7>>2]|0; + $72 = ($71|0)!=(0); + if ($72) { + $73 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $73; + $324 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($324|0); } - $114 = HEAP32[$p>>2]|0; - $115 = HEAP32[$2>>2]|0; - HEAP32[$115>>2] = $114; - $116 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $116; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); -} -function _walIteratorNext($p,$piPage,$piFrame) { - $p = $p|0; - $piPage = $piPage|0; - $piFrame = $piFrame|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iMin = 0, $iPg = 0, $iRet = 0, $pSegment = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $iMin = sp + 16|0; - $iRet = sp + 12|0; - $i = sp + 8|0; - $pSegment = sp + 4|0; - $iPg = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $piPage; - HEAP32[$2>>2] = $piFrame; - HEAP32[$iRet>>2] = -1; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$iMin>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) - 1)|0; - HEAP32[$i>>2] = $8; - while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = ($9|0)>=(0); - if (!($10)) { - break; + $74 = HEAP32[$8>>2]|0; + $75 = ($74|0)!=(0); + if ($75) { + $76 = HEAP32[$3>>2]|0; + $77 = ((($76)) + 204|0); + $78 = HEAP32[$77>>2]|0; + $79 = ($78|0)!=(0|0); + if ($79) { + $80 = HEAP32[$3>>2]|0; + $81 = ((($80)) + 204|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$3>>2]|0; + $84 = ((($83)) + 200|0); + $85 = HEAP32[$84>>2]|0; + $86 = (FUNCTION_TABLE_ii[$82 & 255]($85)|0); + HEAP32[$7>>2] = $86; + $87 = HEAP32[$7>>2]|0; + $88 = ($87|0)!=(0); + if ($88) { + HEAP32[$2>>2] = 531; + $324 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($324|0); + } } - $11 = HEAP32[$i>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 8|0); - $14 = (($13) + (($11*20)|0)|0); - HEAP32[$pSegment>>2] = $14; + } + $89 = HEAP32[$3>>2]|0; + $90 = ((($89)) + 16|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($91)) + 4|0); + $93 = HEAP32[$92>>2]|0; + $94 = (_sqlite3BtreeGetFilename($93)|0); + $95 = (_sqlite3Strlen30($94)|0); + $96 = (0)==($95|0); + $97 = HEAP32[$6>>2]|0; + $98 = ($97|0)<=(1); + $or$cond = $96 | $98; + if ($or$cond) { + HEAP32[$5>>2] = 0; while(1) { - $15 = HEAP32[$pSegment>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$pSegment>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($16|0)<($19|0); - if (!($20)) { + $99 = HEAP32[$7>>2]|0; + $100 = ($99|0)==(0); + if (!($100)) { break; } - $21 = HEAP32[$pSegment>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$pSegment>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($22<<1)|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27&65535; - $29 = HEAP32[$pSegment>>2]|0; - $30 = ((($29)) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + ($28<<2)|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$iPg>>2] = $33; - $34 = HEAP32[$iPg>>2]|0; - $35 = HEAP32[$iMin>>2]|0; - $36 = ($34>>>0)>($35>>>0); - if ($36) { - label = 6; + $101 = HEAP32[$5>>2]|0; + $102 = HEAP32[$3>>2]|0; + $103 = ((($102)) + 20|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($101|0)<($104|0); + if (!($105)) { break; } - $54 = HEAP32[$pSegment>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$54>>2] = $56; + $106 = HEAP32[$3>>2]|0; + $107 = ((($106)) + 16|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$5>>2]|0; + $110 = (($108) + ($109<<4)|0); + $111 = ((($110)) + 4|0); + $112 = HEAP32[$111>>2]|0; + HEAP32[$11>>2] = $112; + $113 = HEAP32[$11>>2]|0; + $114 = ($113|0)!=(0|0); + if ($114) { + $115 = HEAP32[$11>>2]|0; + $116 = (_sqlite3BtreeCommitPhaseOne($115,0)|0); + HEAP32[$7>>2] = $116; + } + $117 = HEAP32[$5>>2]|0; + $118 = (($117) + 1)|0; + HEAP32[$5>>2] = $118; } - if ((label|0) == 6) { - label = 0; - $37 = HEAP32[$iPg>>2]|0; - $38 = HEAP32[$iRet>>2]|0; - $39 = ($37>>>0)<($38>>>0); - if ($39) { - $40 = HEAP32[$iPg>>2]|0; - HEAP32[$iRet>>2] = $40; - $41 = HEAP32[$pSegment>>2]|0; - $42 = ((($41)) + 16|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$pSegment>>2]|0; - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$pSegment>>2]|0; - $47 = ((($46)) + 4|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + ($45<<1)|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = (($43) + ($51))|0; - $53 = HEAP32[$2>>2]|0; - HEAP32[$53>>2] = $52; + HEAP32[$5>>2] = 0; + while(1) { + $119 = HEAP32[$7>>2]|0; + $120 = ($119|0)==(0); + if (!($120)) { + break; + } + $121 = HEAP32[$5>>2]|0; + $122 = HEAP32[$3>>2]|0; + $123 = ((($122)) + 20|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($121|0)<($124|0); + if (!($125)) { + break; + } + $126 = HEAP32[$3>>2]|0; + $127 = ((($126)) + 16|0); + $128 = HEAP32[$127>>2]|0; + $129 = HEAP32[$5>>2]|0; + $130 = (($128) + ($129<<4)|0); + $131 = ((($130)) + 4|0); + $132 = HEAP32[$131>>2]|0; + HEAP32[$12>>2] = $132; + $133 = HEAP32[$12>>2]|0; + $134 = ($133|0)!=(0|0); + if ($134) { + $135 = HEAP32[$12>>2]|0; + $136 = (_sqlite3BtreeCommitPhaseTwo($135,0)|0); + HEAP32[$7>>2] = $136; } + $137 = HEAP32[$5>>2]|0; + $138 = (($137) + 1)|0; + HEAP32[$5>>2] = $138; } - $57 = HEAP32[$i>>2]|0; - $58 = (($57) + -1)|0; - HEAP32[$i>>2] = $58; - } - $59 = HEAP32[$iRet>>2]|0; - $60 = HEAP32[$0>>2]|0; - HEAP32[$60>>2] = $59; - $61 = HEAP32[$1>>2]|0; - HEAP32[$61>>2] = $59; - $62 = HEAP32[$iRet>>2]|0; - $63 = ($62|0)==(-1); - $64 = $63&1; - STACKTOP = sp;return ($64|0); -} -function _walRestartHdr($pWal,$salt1) { - $pWal = $pWal|0; - $salt1 = $salt1|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $aSalt = 0, $i = 0, $pInfo = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pInfo = sp + 8|0; - $i = sp + 4|0; - $aSalt = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $salt1; - $2 = HEAP32[$0>>2]|0; - $3 = (_walCkptInfo($2)|0); - HEAP32[$pInfo>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 52|0); - $6 = ((($5)) + 32|0); - HEAP32[$aSalt>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 112|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 1)|0; - HEAP32[$8>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 52|0); - $13 = ((($12)) + 16|0); - HEAP32[$13>>2] = 0; - $14 = HEAP32[$aSalt>>2]|0; - $15 = HEAP32[$aSalt>>2]|0; - $16 = (_sqlite3Get4byte($15)|0); - $17 = (1 + ($16))|0; - _sqlite3Put4byte($14,$17); - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 52|0); - $20 = ((($19)) + 32|0); - $21 = ((($20)) + 4|0); - ;HEAP32[$21>>2]=HEAP32[$1>>2]|0; - $22 = HEAP32[$0>>2]|0; - _walIndexWriteHdr($22); - $23 = HEAP32[$pInfo>>2]|0; - HEAP32[$23>>2] = 0; - $24 = HEAP32[$pInfo>>2]|0; - $25 = ((($24)) + 32|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$pInfo>>2]|0; - $27 = ((($26)) + 4|0); - $28 = ((($27)) + 4|0); - HEAP32[$28>>2] = 0; - HEAP32[$i>>2] = 2; - while(1) { - $29 = HEAP32[$i>>2]|0; - $30 = ($29|0)<(5); - if (!($30)) { - break; + $139 = HEAP32[$7>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $141 = HEAP32[$3>>2]|0; + (_sqlite3VtabCommit($141)|0); } - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$pInfo>>2]|0; - $33 = ((($32)) + 4|0); - $34 = (($33) + ($31<<2)|0); - HEAP32[$34>>2] = -1; - $35 = HEAP32[$i>>2]|0; - $36 = (($35) + 1)|0; - HEAP32[$i>>2] = $36; - } - STACKTOP = sp;return; -} -function _walIteratorFree($p) { - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _sqlite3_free($1); - STACKTOP = sp;return; -} -function _sqlite3Put4byte($p,$v) { - $p = $p|0; - $v = $v|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $v; - $2 = HEAP32[$1>>2]|0; - $3 = $2 >>> 24; - $4 = $3&255; - $5 = HEAP32[$0>>2]|0; - HEAP8[$5>>0] = $4; - $6 = HEAP32[$1>>2]|0; - $7 = $6 >>> 16; - $8 = $7&255; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 1|0); - HEAP8[$10>>0] = $8; - $11 = HEAP32[$1>>2]|0; - $12 = $11 >>> 8; - $13 = $12&255; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 2|0); - HEAP8[$15>>0] = $13; - $16 = HEAP32[$1>>2]|0; - $17 = $16&255; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 3|0); - HEAP8[$19>>0] = $17; - STACKTOP = sp;return; -} -function _walIndexWriteHdr($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $aHdr = 0, $nCksum = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $aHdr = sp + 4|0; - $nCksum = sp; - HEAP32[$0>>2] = $pWal; - $1 = HEAP32[$0>>2]|0; - $2 = (_walIndexHdr($1)|0); - HEAP32[$aHdr>>2] = $2; - HEAP32[$nCksum>>2] = 40; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 52|0); - $5 = ((($4)) + 12|0); - HEAP8[$5>>0] = 1; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 52|0); - HEAP32[$7>>2] = 3007000; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 52|0); - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 52|0); - $12 = ((($11)) + 40|0); - _walChecksumBytes(1,$9,40,0,$12); - $13 = HEAP32[$aHdr>>2]|0; - $14 = ((($13)) + 48|0); - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 52|0); - dest=$14; src=$16; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $17 = HEAP32[$0>>2]|0; - _walShmBarrier($17); - $18 = HEAP32[$aHdr>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 52|0); - dest=$18; src=$20; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _walChecksumBytes($nativeCksum,$a,$nByte,$aIn,$aOut) { - $nativeCksum = $nativeCksum|0; - $a = $a|0; - $nByte = $nByte|0; - $aIn = $aIn|0; - $aOut = $aOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $aData = 0, $aEnd = 0, $s1 = 0, $s2 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $s1 = sp + 12|0; - $s2 = sp + 8|0; - $aData = sp + 4|0; - $aEnd = sp; - HEAP32[$0>>2] = $nativeCksum; - HEAP32[$1>>2] = $a; - HEAP32[$2>>2] = $nByte; - HEAP32[$3>>2] = $aIn; - HEAP32[$4>>2] = $aOut; - $5 = HEAP32[$1>>2]|0; - HEAP32[$aData>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + ($6)|0); - HEAP32[$aEnd>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$11>>2]|0; - HEAP32[$s1>>2] = $12; - $13 = HEAP32[$3>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$s2>>2] = $15; } else { - HEAP32[$s2>>2] = 0; - HEAP32[$s1>>2] = 0; - } - $16 = HEAP32[$0>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { + $142 = HEAP32[$3>>2]|0; + $143 = HEAP32[$142>>2]|0; + HEAP32[$13>>2] = $143; + HEAP32[$14>>2] = 0; + $144 = HEAP32[$3>>2]|0; + $145 = ((($144)) + 16|0); + $146 = HEAP32[$145>>2]|0; + $147 = ((($146)) + 4|0); + $148 = HEAP32[$147>>2]|0; + $149 = (_sqlite3BtreeGetFilename($148)|0); + HEAP32[$15>>2] = $149; + HEAP32[$16>>2] = 0; + $150 = $17; + $151 = $150; + HEAP32[$151>>2] = 0; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = 0; + HEAP32[$19>>2] = 0; + $154 = HEAP32[$15>>2]|0; + $155 = (_sqlite3Strlen30($154)|0); + HEAP32[$20>>2] = $155; + $156 = HEAP32[$3>>2]|0; + $157 = HEAP32[$15>>2]|0; + HEAP32[$vararg_buffer>>2] = $157; + $158 = (_sqlite3MPrintf($156,25044,$vararg_buffer)|0); + HEAP32[$14>>2] = $158; + $159 = HEAP32[$14>>2]|0; + $160 = ($159|0)==(0|0); + if ($160) { + HEAP32[$2>>2] = 7; + $324 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($324|0); + } while(1) { - $18 = HEAP32[$aData>>2]|0; - $19 = ((($18)) + 4|0); - HEAP32[$aData>>2] = $19; - $20 = HEAP32[$18>>2]|0; - $21 = HEAP32[$s2>>2]|0; - $22 = (($20) + ($21))|0; - $23 = HEAP32[$s1>>2]|0; - $24 = (($23) + ($22))|0; - HEAP32[$s1>>2] = $24; - $25 = HEAP32[$aData>>2]|0; - $26 = ((($25)) + 4|0); - HEAP32[$aData>>2] = $26; - $27 = HEAP32[$25>>2]|0; - $28 = HEAP32[$s1>>2]|0; - $29 = (($27) + ($28))|0; - $30 = HEAP32[$s2>>2]|0; - $31 = (($30) + ($29))|0; - HEAP32[$s2>>2] = $31; - $32 = HEAP32[$aData>>2]|0; - $33 = HEAP32[$aEnd>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if (!($34)) { + $161 = HEAP32[$19>>2]|0; + $162 = ($161|0)!=(0); + if ($162) { + $163 = HEAP32[$19>>2]|0; + $164 = ($163|0)>(100); + if ($164) { + label = 35; + break; + } + $168 = HEAP32[$19>>2]|0; + $169 = ($168|0)==(1); + if ($169) { + $170 = HEAP32[$14>>2]|0; + HEAP32[$vararg_buffer8>>2] = $170; + _sqlite3_log(13,25074,$vararg_buffer8); + } + } + $171 = HEAP32[$19>>2]|0; + $172 = (($171) + 1)|0; + HEAP32[$19>>2] = $172; + _sqlite3_randomness(4,$21); + $173 = HEAP32[$14>>2]|0; + $174 = HEAP32[$20>>2]|0; + $175 = (($173) + ($174)|0); + $176 = HEAP32[$21>>2]|0; + $177 = $176 >>> 8; + $178 = $177 & 16777215; + $179 = HEAP32[$21>>2]|0; + $180 = $179 & 255; + HEAP32[$vararg_buffer11>>2] = $178; + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr14>>2] = $180; + (_sqlite3_snprintf(13,$175,25089,$vararg_buffer11)|0); + $181 = HEAP32[$13>>2]|0; + $182 = HEAP32[$14>>2]|0; + $183 = (_sqlite3OsAccess($181,$182,0,$18)|0); + HEAP32[$7>>2] = $183; + $184 = HEAP32[$7>>2]|0; + $185 = ($184|0)==(0); + $186 = HEAP32[$18>>2]|0; + $187 = ($186|0)!=(0); + $188 = $185 ? $187 : 0; + if (!($188)) { break; } } - $90 = HEAP32[$s1>>2]|0; - $91 = HEAP32[$4>>2]|0; - HEAP32[$91>>2] = $90; - $92 = HEAP32[$s2>>2]|0; - $93 = HEAP32[$4>>2]|0; - $94 = ((($93)) + 4|0); - HEAP32[$94>>2] = $92; - STACKTOP = sp;return; - } else { + if ((label|0) == 35) { + $165 = HEAP32[$14>>2]|0; + HEAP32[$vararg_buffer5>>2] = $165; + _sqlite3_log(13,25060,$vararg_buffer5); + $166 = HEAP32[$13>>2]|0; + $167 = HEAP32[$14>>2]|0; + (_sqlite3OsDelete($166,$167,0)|0); + } + $189 = HEAP32[$7>>2]|0; + $190 = ($189|0)==(0); + if ($190) { + $191 = HEAP32[$13>>2]|0; + $192 = HEAP32[$14>>2]|0; + $193 = (_sqlite3OsOpenMalloc($191,$192,$16,16406,0)|0); + HEAP32[$7>>2] = $193; + } + $194 = HEAP32[$7>>2]|0; + $195 = ($194|0)!=(0); + if ($195) { + $196 = HEAP32[$3>>2]|0; + $197 = HEAP32[$14>>2]|0; + _sqlite3DbFree($196,$197); + $198 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $198; + $324 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($324|0); + } + HEAP32[$5>>2] = 0; while(1) { - $35 = HEAP32[$aData>>2]|0; - $36 = HEAP32[$35>>2]|0; - $37 = $36 & 255; - $38 = $37 << 24; - $39 = HEAP32[$aData>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = $40 & 65280; - $42 = $41 << 8; - $43 = (($38) + ($42))|0; - $44 = HEAP32[$aData>>2]|0; - $45 = HEAP32[$44>>2]|0; - $46 = $45 & 16711680; - $47 = $46 >>> 8; - $48 = (($43) + ($47))|0; - $49 = HEAP32[$aData>>2]|0; - $50 = HEAP32[$49>>2]|0; - $51 = $50 & -16777216; - $52 = $51 >>> 24; - $53 = (($48) + ($52))|0; - $54 = HEAP32[$s2>>2]|0; - $55 = (($53) + ($54))|0; - $56 = HEAP32[$s1>>2]|0; - $57 = (($56) + ($55))|0; - HEAP32[$s1>>2] = $57; - $58 = HEAP32[$aData>>2]|0; - $59 = ((($58)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = $60 & 255; - $62 = $61 << 24; - $63 = HEAP32[$aData>>2]|0; - $64 = ((($63)) + 4|0); - $65 = HEAP32[$64>>2]|0; - $66 = $65 & 65280; - $67 = $66 << 8; - $68 = (($62) + ($67))|0; - $69 = HEAP32[$aData>>2]|0; - $70 = ((($69)) + 4|0); - $71 = HEAP32[$70>>2]|0; - $72 = $71 & 16711680; - $73 = $72 >>> 8; - $74 = (($68) + ($73))|0; - $75 = HEAP32[$aData>>2]|0; - $76 = ((($75)) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = $77 & -16777216; - $79 = $78 >>> 24; - $80 = (($74) + ($79))|0; - $81 = HEAP32[$s1>>2]|0; - $82 = (($80) + ($81))|0; - $83 = HEAP32[$s2>>2]|0; - $84 = (($83) + ($82))|0; - HEAP32[$s2>>2] = $84; - $85 = HEAP32[$aData>>2]|0; - $86 = ((($85)) + 8|0); - HEAP32[$aData>>2] = $86; - $87 = HEAP32[$aData>>2]|0; - $88 = HEAP32[$aEnd>>2]|0; - $89 = ($87>>>0)<($88>>>0); - if (!($89)) { + $199 = HEAP32[$5>>2]|0; + $200 = HEAP32[$3>>2]|0; + $201 = ((($200)) + 20|0); + $202 = HEAP32[$201>>2]|0; + $203 = ($199|0)<($202|0); + if (!($203)) { break; } + $204 = HEAP32[$3>>2]|0; + $205 = ((($204)) + 16|0); + $206 = HEAP32[$205>>2]|0; + $207 = HEAP32[$5>>2]|0; + $208 = (($206) + ($207<<4)|0); + $209 = ((($208)) + 4|0); + $210 = HEAP32[$209>>2]|0; + HEAP32[$22>>2] = $210; + $211 = HEAP32[$22>>2]|0; + $212 = (_sqlite3BtreeIsInTrans($211)|0); + $213 = ($212|0)!=(0); + if ($213) { + $214 = HEAP32[$22>>2]|0; + $215 = (_sqlite3BtreeGetJournalname($214)|0); + HEAP32[$23>>2] = $215; + $216 = HEAP32[$23>>2]|0; + $217 = ($216|0)==(0|0); + if (!($217)) { + $218 = HEAP32[$16>>2]|0; + $219 = HEAP32[$23>>2]|0; + $220 = HEAP32[$23>>2]|0; + $221 = (_sqlite3Strlen30($220)|0); + $222 = (($221) + 1)|0; + $223 = $17; + $224 = $223; + $225 = HEAP32[$224>>2]|0; + $226 = (($223) + 4)|0; + $227 = $226; + $228 = HEAP32[$227>>2]|0; + $229 = (_sqlite3OsWrite($218,$219,$222,$225,$228)|0); + HEAP32[$7>>2] = $229; + $230 = HEAP32[$23>>2]|0; + $231 = (_sqlite3Strlen30($230)|0); + $232 = (($231) + 1)|0; + $233 = ($232|0)<(0); + $234 = $233 << 31 >> 31; + $235 = $17; + $236 = $235; + $237 = HEAP32[$236>>2]|0; + $238 = (($235) + 4)|0; + $239 = $238; + $240 = HEAP32[$239>>2]|0; + $241 = (_i64Add(($237|0),($240|0),($232|0),($234|0))|0); + $242 = tempRet0; + $243 = $17; + $244 = $243; + HEAP32[$244>>2] = $241; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP32[$246>>2] = $242; + $247 = HEAP32[$7>>2]|0; + $248 = ($247|0)!=(0); + if ($248) { + label = 48; + break; + } + } + } + $255 = HEAP32[$5>>2]|0; + $256 = (($255) + 1)|0; + HEAP32[$5>>2] = $256; } - $90 = HEAP32[$s1>>2]|0; - $91 = HEAP32[$4>>2]|0; - HEAP32[$91>>2] = $90; - $92 = HEAP32[$s2>>2]|0; - $93 = HEAP32[$4>>2]|0; - $94 = ((($93)) + 4|0); - HEAP32[$94>>2] = $92; - STACKTOP = sp;return; - } -} -function _walShmBarrier($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWal; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 43|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(2); - if (!($5)) { - STACKTOP = sp;return; + if ((label|0) == 48) { + $249 = HEAP32[$16>>2]|0; + _sqlite3OsCloseFree($249); + $250 = HEAP32[$13>>2]|0; + $251 = HEAP32[$14>>2]|0; + (_sqlite3OsDelete($250,$251,0)|0); + $252 = HEAP32[$3>>2]|0; + $253 = HEAP32[$14>>2]|0; + _sqlite3DbFree($252,$253); + $254 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $254; + $324 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($324|0); + } + $257 = HEAP32[$16>>2]|0; + $258 = (_sqlite3OsDeviceCharacteristics($257)|0); + $259 = $258 & 1024; + $260 = (0)==($259|0); + if ($260) { + $261 = HEAP32[$16>>2]|0; + $262 = (_sqlite3OsSync($261,2)|0); + HEAP32[$7>>2] = $262; + $263 = (0)!=($262|0); + if ($263) { + $264 = HEAP32[$16>>2]|0; + _sqlite3OsCloseFree($264); + $265 = HEAP32[$13>>2]|0; + $266 = HEAP32[$14>>2]|0; + (_sqlite3OsDelete($265,$266,0)|0); + $267 = HEAP32[$3>>2]|0; + $268 = HEAP32[$14>>2]|0; + _sqlite3DbFree($267,$268); + $269 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $269; + $324 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($324|0); + } + } + HEAP32[$5>>2] = 0; + while(1) { + $270 = HEAP32[$7>>2]|0; + $271 = ($270|0)==(0); + if (!($271)) { + break; + } + $272 = HEAP32[$5>>2]|0; + $273 = HEAP32[$3>>2]|0; + $274 = ((($273)) + 20|0); + $275 = HEAP32[$274>>2]|0; + $276 = ($272|0)<($275|0); + if (!($276)) { + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = ((($277)) + 16|0); + $279 = HEAP32[$278>>2]|0; + $280 = HEAP32[$5>>2]|0; + $281 = (($279) + ($280<<4)|0); + $282 = ((($281)) + 4|0); + $283 = HEAP32[$282>>2]|0; + HEAP32[$24>>2] = $283; + $284 = HEAP32[$24>>2]|0; + $285 = ($284|0)!=(0|0); + if ($285) { + $286 = HEAP32[$24>>2]|0; + $287 = HEAP32[$14>>2]|0; + $288 = (_sqlite3BtreeCommitPhaseOne($286,$287)|0); + HEAP32[$7>>2] = $288; + } + $289 = HEAP32[$5>>2]|0; + $290 = (($289) + 1)|0; + HEAP32[$5>>2] = $290; + } + $291 = HEAP32[$16>>2]|0; + _sqlite3OsCloseFree($291); + $292 = HEAP32[$7>>2]|0; + $293 = ($292|0)!=(0); + if ($293) { + $294 = HEAP32[$3>>2]|0; + $295 = HEAP32[$14>>2]|0; + _sqlite3DbFree($294,$295); + $296 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $296; + $324 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($324|0); + } + $297 = HEAP32[$13>>2]|0; + $298 = HEAP32[$14>>2]|0; + $299 = (_sqlite3OsDelete($297,$298,1)|0); + HEAP32[$7>>2] = $299; + $300 = HEAP32[$3>>2]|0; + $301 = HEAP32[$14>>2]|0; + _sqlite3DbFree($300,$301); + HEAP32[$14>>2] = 0; + $302 = HEAP32[$7>>2]|0; + $303 = ($302|0)!=(0); + if ($303) { + $304 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $304; + $324 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($324|0); + } + _sqlite3BeginBenignMalloc(); + HEAP32[$5>>2] = 0; + while(1) { + $305 = HEAP32[$5>>2]|0; + $306 = HEAP32[$3>>2]|0; + $307 = ((($306)) + 20|0); + $308 = HEAP32[$307>>2]|0; + $309 = ($305|0)<($308|0); + if (!($309)) { + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = ((($310)) + 16|0); + $312 = HEAP32[$311>>2]|0; + $313 = HEAP32[$5>>2]|0; + $314 = (($312) + ($313<<4)|0); + $315 = ((($314)) + 4|0); + $316 = HEAP32[$315>>2]|0; + HEAP32[$25>>2] = $316; + $317 = HEAP32[$25>>2]|0; + $318 = ($317|0)!=(0|0); + if ($318) { + $319 = HEAP32[$25>>2]|0; + (_sqlite3BtreeCommitPhaseTwo($319,1)|0); + } + $320 = HEAP32[$5>>2]|0; + $321 = (($320) + 1)|0; + HEAP32[$5>>2] = $321; + } + _sqlite3EndBenignMalloc(); + $322 = HEAP32[$3>>2]|0; + (_sqlite3VtabCommit($322)|0); } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - _sqlite3OsShmBarrier($8); - STACKTOP = sp;return; + $323 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $323; + $324 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($324|0); } -function _sqlite3OsShmBarrier($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _sqlite3CommitInternalChanges($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 60|0); + $3 = ((($2)) + 24|0); $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_vi[$4 & 255]($5); + $5 = $4 & -3; + HEAP32[$3>>2] = $5; STACKTOP = sp;return; } -function _walMergesort($aContent,$aBuffer,$aList,$pnList) { - $aContent = $aContent|0; - $aBuffer = $aBuffer|0; - $aList = $aList|0; - $pnList = $pnList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; +function _sqlite3VdbeCloseStatement($0,$1) { + $0 = $0|0; + $1 = $1|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, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aMerge = 0; - var $aSub = 0, $iList = 0, $iSub = 0, $nList = 0, $nMerge = 0, $p = 0, $p1 = 0, dest = 0, label = 0, sp = 0, stop = 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 label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $0 = sp + 144|0; - $1 = sp + 140|0; - $2 = sp + 136|0; - $3 = sp + 132|0; - $nList = sp + 128|0; - $nMerge = sp + 124|0; - $aMerge = sp + 120|0; - $iList = sp + 116|0; - $iSub = sp + 112|0; - $aSub = sp + 8|0; - $p = sp + 4|0; - $p1 = sp; - HEAP32[$0>>2] = $aContent; - HEAP32[$1>>2] = $aBuffer; - HEAP32[$2>>2] = $aList; - HEAP32[$3>>2] = $pnList; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$nList>>2] = $5; - HEAP32[$nMerge>>2] = 0; - HEAP32[$aMerge>>2] = 0; - HEAP32[$iSub>>2] = 0; - dest=$aSub; stop=dest+104|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - HEAP32[$iList>>2] = 0; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $11; + HEAP32[$5>>2] = 0; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 436|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0); + if (!($15)) { + $101 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($101|0); + } + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(0); + if (!($19)) { + $101 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($101|0); + } + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) - 1)|0; + HEAP32[$7>>2] = $23; + HEAP32[$6>>2] = 0; while(1) { - $6 = HEAP32[$iList>>2]|0; - $7 = HEAP32[$nList>>2]|0; - $8 = ($6|0)<($7|0); - if (!($8)) { + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 20|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($24|0)<($27|0); + if (!($28)) { break; } - HEAP32[$nMerge>>2] = 1; - $9 = HEAP32[$iList>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (($10) + ($9<<1)|0); - HEAP32[$aMerge>>2] = $11; - HEAP32[$iSub>>2] = 0; - while(1) { - $12 = HEAP32[$iList>>2]|0; - $13 = HEAP32[$iSub>>2]|0; - $14 = 1 << $13; - $15 = $12 & $14; - $16 = ($15|0)!=(0); - if (!($16)) { - break; + HEAP32[$8>>2] = 0; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 16|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$6>>2]|0; + $33 = (($31) + ($32<<4)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$9>>2] = $35; + $36 = HEAP32[$9>>2]|0; + $37 = ($36|0)!=(0|0); + if ($37) { + $38 = HEAP32[$3>>2]|0; + $39 = ($38|0)==(2); + if ($39) { + $40 = HEAP32[$9>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = (_sqlite3BtreeSavepoint($40,2,$41)|0); + HEAP32[$8>>2] = $42; + } + $43 = HEAP32[$8>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$9>>2]|0; + $46 = HEAP32[$7>>2]|0; + $47 = (_sqlite3BtreeSavepoint($45,1,$46)|0); + HEAP32[$8>>2] = $47; + } + $48 = HEAP32[$5>>2]|0; + $49 = ($48|0)==(0); + if ($49) { + $50 = HEAP32[$8>>2]|0; + HEAP32[$5>>2] = $50; } - $17 = HEAP32[$iSub>>2]|0; - $18 = (($aSub) + ($17<<3)|0); - HEAP32[$p>>2] = $18; - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$p>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$1>>2]|0; - _walMerge($19,$22,$24,$aMerge,$nMerge,$25); - $26 = HEAP32[$iSub>>2]|0; - $27 = (($26) + 1)|0; - HEAP32[$iSub>>2] = $27; } - $28 = HEAP32[$aMerge>>2]|0; - $29 = HEAP32[$iSub>>2]|0; - $30 = (($aSub) + ($29<<3)|0); - $31 = ((($30)) + 4|0); - HEAP32[$31>>2] = $28; - $32 = HEAP32[$nMerge>>2]|0; - $33 = HEAP32[$iSub>>2]|0; - $34 = (($aSub) + ($33<<3)|0); - HEAP32[$34>>2] = $32; - $35 = HEAP32[$iList>>2]|0; - $36 = (($35) + 1)|0; - HEAP32[$iList>>2] = $36; + $51 = HEAP32[$6>>2]|0; + $52 = (($51) + 1)|0; + HEAP32[$6>>2] = $52; } - $37 = HEAP32[$iSub>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$iSub>>2] = $38; - while(1) { - $39 = HEAP32[$iSub>>2]|0; - $40 = ($39>>>0)<(13); - if (!($40)) { - break; + $53 = HEAP32[$4>>2]|0; + $54 = ((($53)) + 436|0); + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + -1)|0; + HEAP32[$54>>2] = $56; + $57 = HEAP32[$2>>2]|0; + $58 = ((($57)) + 48|0); + HEAP32[$58>>2] = 0; + $59 = HEAP32[$5>>2]|0; + $60 = ($59|0)==(0); + if ($60) { + $61 = HEAP32[$3>>2]|0; + $62 = ($61|0)==(2); + if ($62) { + $63 = HEAP32[$4>>2]|0; + $64 = HEAP32[$7>>2]|0; + $65 = (_sqlite3VtabSavepoint($63,2,$64)|0); + HEAP32[$5>>2] = $65; } - $41 = HEAP32[$nList>>2]|0; - $42 = HEAP32[$iSub>>2]|0; - $43 = 1 << $42; - $44 = $41 & $43; - $45 = ($44|0)!=(0); - if ($45) { - $46 = HEAP32[$iSub>>2]|0; - $47 = (($aSub) + ($46<<3)|0); - HEAP32[$p1>>2] = $47; - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$p1>>2]|0; - $50 = ((($49)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$p1>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$1>>2]|0; - _walMerge($48,$51,$53,$aMerge,$nMerge,$54); + $66 = HEAP32[$5>>2]|0; + $67 = ($66|0)==(0); + if ($67) { + $68 = HEAP32[$4>>2]|0; + $69 = HEAP32[$7>>2]|0; + $70 = (_sqlite3VtabSavepoint($68,1,$69)|0); + HEAP32[$5>>2] = $70; } - $55 = HEAP32[$iSub>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$iSub>>2] = $56; } - $57 = HEAP32[$nMerge>>2]|0; - $58 = HEAP32[$3>>2]|0; - HEAP32[$58>>2] = $57; - STACKTOP = sp;return; + $71 = HEAP32[$3>>2]|0; + $72 = ($71|0)==(2); + if (!($72)) { + $101 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($101|0); + } + $73 = HEAP32[$2>>2]|0; + $74 = ((($73)) + 72|0); + $75 = $74; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$4>>2]|0; + $82 = ((($81)) + 440|0); + $83 = $82; + $84 = $83; + HEAP32[$84>>2] = $77; + $85 = (($83) + 4)|0; + $86 = $85; + HEAP32[$86>>2] = $80; + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 80|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$4>>2]|0; + $96 = ((($95)) + 448|0); + $97 = $96; + $98 = $97; + HEAP32[$98>>2] = $91; + $99 = (($97) + 4)|0; + $100 = $99; + HEAP32[$100>>2] = $94; + $101 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($101|0); } -function _walMerge($aContent,$aLeft,$nLeft,$paRight,$pnRight,$aTmp) { - $aContent = $aContent|0; - $aLeft = $aLeft|0; - $nLeft = $nLeft|0; - $paRight = $paRight|0; - $pnRight = $pnRight|0; - $aTmp = $aTmp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $aRight = 0, $dbpage = 0, $iLeft = 0, $iOut = 0, $iRight = 0, $logpage = 0, $nRight = 0, label = 0, sp = 0; +function _sqlite3VdbeSetChanges($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $iLeft = sp + 20|0; - $iRight = sp + 16|0; - $iOut = sp + 12|0; - $nRight = sp + 8|0; - $aRight = sp + 4|0; - $logpage = sp + 48|0; - $dbpage = sp; - HEAP32[$0>>2] = $aContent; - HEAP32[$1>>2] = $aLeft; - HEAP32[$2>>2] = $nLeft; - HEAP32[$3>>2] = $paRight; - HEAP32[$4>>2] = $pnRight; - HEAP32[$5>>2] = $aTmp; - HEAP32[$iLeft>>2] = 0; - HEAP32[$iRight>>2] = 0; - HEAP32[$iOut>>2] = 0; - $6 = HEAP32[$4>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$nRight>>2] = $7; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$aRight>>2] = $9; - while(1) { - $10 = HEAP32[$iRight>>2]|0; - $11 = HEAP32[$nRight>>2]|0; - $12 = ($10|0)<($11|0); - if (!($12)) { - $13 = HEAP32[$iLeft>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = ($13|0)<($14|0); - if (!($15)) { - break; - } - } - $16 = HEAP32[$iLeft>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ($16|0)<($17|0); - do { - if ($18) { - $19 = HEAP32[$iRight>>2]|0; - $20 = HEAP32[$nRight>>2]|0; - $21 = ($19|0)>=($20|0); - if (!($21)) { - $22 = HEAP32[$iLeft>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + ($22<<1)|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = HEAP32[$0>>2]|0; - $28 = (($27) + ($26<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$iRight>>2]|0; - $31 = HEAP32[$aRight>>2]|0; - $32 = (($31) + ($30<<1)|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33&65535; - $35 = HEAP32[$0>>2]|0; - $36 = (($35) + ($34<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($29>>>0)<($37>>>0); - if (!($38)) { - label = 8; - break; - } - } - $39 = HEAP32[$iLeft>>2]|0; - $40 = (($39) + 1)|0; - HEAP32[$iLeft>>2] = $40; - $41 = HEAP32[$1>>2]|0; - $42 = (($41) + ($39<<1)|0); - $43 = HEAP16[$42>>1]|0; - HEAP16[$logpage>>1] = $43; - } else { - label = 8; - } - } while(0); - if ((label|0) == 8) { - label = 0; - $44 = HEAP32[$iRight>>2]|0; - $45 = (($44) + 1)|0; - HEAP32[$iRight>>2] = $45; - $46 = HEAP32[$aRight>>2]|0; - $47 = (($46) + ($44<<1)|0); - $48 = HEAP16[$47>>1]|0; - HEAP16[$logpage>>1] = $48; - } - $49 = HEAP16[$logpage>>1]|0; - $50 = $49&65535; - $51 = HEAP32[$0>>2]|0; - $52 = (($51) + ($50<<2)|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$dbpage>>2] = $53; - $54 = HEAP16[$logpage>>1]|0; - $55 = HEAP32[$iOut>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$iOut>>2] = $56; - $57 = HEAP32[$5>>2]|0; - $58 = (($57) + ($55<<1)|0); - HEAP16[$58>>1] = $54; - $59 = HEAP32[$iLeft>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = ($59|0)<($60|0); - if (!($61)) { - continue; - } - $62 = HEAP32[$iLeft>>2]|0; - $63 = HEAP32[$1>>2]|0; - $64 = (($63) + ($62<<1)|0); - $65 = HEAP16[$64>>1]|0; - $66 = $65&65535; - $67 = HEAP32[$0>>2]|0; - $68 = (($67) + ($66<<2)|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$dbpage>>2]|0; - $71 = ($69|0)==($70|0); - if (!($71)) { - continue; - } - $72 = HEAP32[$iLeft>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$iLeft>>2] = $73; - } - $74 = HEAP32[$1>>2]|0; - $75 = HEAP32[$3>>2]|0; - HEAP32[$75>>2] = $74; - $76 = HEAP32[$iOut>>2]|0; - $77 = HEAP32[$4>>2]|0; - HEAP32[$77>>2] = $76; - $78 = HEAP32[$1>>2]|0; - $79 = HEAP32[$5>>2]|0; - $80 = HEAP32[$iOut>>2]|0; - $81 = $80<<1; - _memcpy(($78|0),($79|0),($81|0))|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 88|0); + HEAP32[$6>>2] = $4; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 92|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($7))|0; + HEAP32[$9>>2] = $11; STACKTOP = sp;return; } -function _walIndexTryHdr($pWal,$pChanged) { - $pWal = $pWal|0; - $pChanged = $pChanged|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aCksum = 0, $aHdr = 0, $h1 = 0, $h2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3BtreeSavepoint($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 120|0; - $1 = sp + 116|0; - $2 = sp + 112|0; - $aCksum = sp + 104|0; - $h1 = sp + 56|0; - $h2 = sp + 8|0; - $aHdr = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $pChanged; - $3 = HEAP32[$1>>2]|0; - $4 = (_walIndexHdr($3)|0); - HEAP32[$aHdr>>2] = $4; - $5 = HEAP32[$aHdr>>2]|0; - dest=$h1; src=$5; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $6 = HEAP32[$1>>2]|0; - _walShmBarrier($6); - $7 = HEAP32[$aHdr>>2]|0; - $8 = ((($7)) + 48|0); - dest=$h2; src=$8; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $9 = (_memcmp($h1,$h2,48)|0); - $10 = ($9|0)!=(0); - if ($10) { - HEAP32[$0>>2] = 1; - $48 = HEAP32[$0>>2]|0; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $8 = HEAP32[$3>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + $48 = HEAP32[$6>>2]|0; STACKTOP = sp;return ($48|0); } - $11 = ((($h1)) + 12|0); + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 8|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; - $14 = ($13|0)==(0); - if ($14) { - HEAP32[$0>>2] = 1; - $48 = HEAP32[$0>>2]|0; + $14 = ($13|0)==(2); + if (!($14)) { + $48 = HEAP32[$6>>2]|0; STACKTOP = sp;return ($48|0); } - _walChecksumBytes(1,$h1,40,0,$aCksum); - $15 = HEAP32[$aCksum>>2]|0; - $16 = ((($h1)) + 40|0); + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; - $18 = ($15|0)!=($17|0); - if (!($18)) { - $19 = ((($aCksum)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($h1)) + 40|0); - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($20|0)!=($23|0); - if (!($24)) { - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 52|0); - $27 = (_memcmp($26,$h1,48)|0); - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$2>>2]|0; - HEAP32[$29>>2] = 1; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 52|0); - dest=$31; src=$h1; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 52|0); - $34 = ((($33)) + 14|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35&65535; - $37 = $36 & 65024; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 52|0); - $40 = ((($39)) + 14|0); - $41 = HEAP16[$40>>1]|0; - $42 = $41&65535; - $43 = $42 & 1; - $44 = $43 << 16; - $45 = (($37) + ($44))|0; - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 36|0); - HEAP32[$47>>2] = $45; + HEAP32[$7>>2] = $17; + $18 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($18); + $19 = HEAP32[$7>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = (_sqlite3PagerSavepoint($20,$21,$22)|0); + HEAP32[$6>>2] = $23; + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = HEAP32[$5>>2]|0; + $27 = ($26|0)<(0); + if ($27) { + $28 = HEAP32[$7>>2]|0; + $29 = ((($28)) + 22|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $32 = $31 & 8; + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 44|0); + HEAP32[$35>>2] = 0; } - HEAP32[$0>>2] = 0; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); } + $36 = HEAP32[$7>>2]|0; + $37 = (_newDatabase($36)|0); + HEAP32[$6>>2] = $37; + $38 = HEAP32[$7>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($40)) + 56|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 28|0); + $44 = (_sqlite3Get4byte($43)|0); + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 44|0); + HEAP32[$46>>2] = $44; } - HEAP32[$0>>2] = 1; - $48 = HEAP32[$0>>2]|0; + $47 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($47); + $48 = HEAP32[$6>>2]|0; STACKTOP = sp;return ($48|0); } -function _walIndexRecover($pWal) { - $pWal = $pWal|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $28 = 0, $29 = 0; +function _sqlite3VtabSavepoint($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $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, $aBuf = 0, $aData = 0, $aFrame = 0; - var $aFrameCksum = 0, $i = 0, $iFrame = 0, $iLock = 0, $iOffset = 0, $isValid = 0, $magic = 0, $nLock = 0, $nSize = 0, $nTruncate = 0, $or$cond = 0, $or$cond3 = 0, $pInfo = 0, $pgno = 0, $rc = 0, $szFrame = 0, $szPage = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, $version = 0; - var dest = 0, label = 0, sp = 0, stop = 0; + var $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer = sp + 16|0; - $0 = sp + 96|0; - $1 = sp + 92|0; - $rc = sp + 88|0; - $nSize = sp + 8|0; - $aFrameCksum = sp + 80|0; - $iLock = sp + 76|0; - $nLock = sp + 72|0; - $aBuf = sp + 104|0; - $aFrame = sp + 68|0; - $szFrame = sp + 64|0; - $aData = sp + 60|0; - $iFrame = sp + 56|0; - $iOffset = sp; - $szPage = sp + 52|0; - $magic = sp + 48|0; - $version = sp + 44|0; - $isValid = sp + 40|0; - $pgno = sp + 36|0; - $nTruncate = sp + 32|0; - $pInfo = sp + 28|0; - $i = sp + 24|0; - HEAP32[$1>>2] = $pWal; - ;HEAP32[$aFrameCksum>>2]=0|0;HEAP32[$aFrameCksum+4>>2]=0|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 45|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = (1 + ($5))|0; - HEAP32[$iLock>>2] = $6; - $7 = HEAP32[$iLock>>2]|0; - $8 = (8 - ($7))|0; - HEAP32[$nLock>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$iLock>>2]|0; - $11 = HEAP32[$nLock>>2]|0; - $12 = (_walLockExclusive($9,$10,$11)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $15; - $276 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($276|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 340|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + $68 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($68|0); } - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 52|0); - dest=$17; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3OsFileSize($20,$nSize)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)!=(0); - L5: do { - if (!($23)) { - $24 = $nSize; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)>(0); - $31 = ($26>>>0)>(32); - $32 = ($29|0)==(0); - $33 = $32 & $31; - $34 = $30 | $33; - do { - if ($34) { - HEAP32[$aFrame>>2] = 0; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 8|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_sqlite3OsRead($37,$aBuf,32,0,0)|0); - HEAP32[$rc>>2] = $38; - $39 = HEAP32[$rc>>2]|0; - $40 = ($39|0)!=(0); - if ($40) { - break L5; - } - $41 = (_sqlite3Get4byte($aBuf)|0); - HEAP32[$magic>>2] = $41; - $42 = ((($aBuf)) + 8|0); - $43 = (_sqlite3Get4byte($42)|0); - HEAP32[$szPage>>2] = $43; - $44 = HEAP32[$magic>>2]|0; - $45 = $44 & -2; - $46 = ($45|0)!=(931071618); - if (!($46)) { - $47 = HEAP32[$szPage>>2]|0; - $48 = HEAP32[$szPage>>2]|0; - $49 = (($48) - 1)|0; - $50 = $47 & $49; - $51 = ($50|0)!=(0); - $52 = HEAP32[$szPage>>2]|0; - $53 = ($52|0)>(65536); - $or$cond = $51 | $53; - $54 = HEAP32[$szPage>>2]|0; - $55 = ($54|0)<(512); - $or$cond3 = $or$cond | $55; - if (!($or$cond3)) { - $56 = HEAP32[$magic>>2]|0; - $57 = $56 & 1; - $58 = $57&255; - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 52|0); - $61 = ((($60)) + 13|0); - HEAP8[$61>>0] = $58; - $62 = HEAP32[$szPage>>2]|0; - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 36|0); - HEAP32[$64>>2] = $62; - $65 = ((($aBuf)) + 12|0); - $66 = (_sqlite3Get4byte($65)|0); - $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 112|0); - HEAP32[$68>>2] = $66; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 52|0); - $71 = ((($70)) + 32|0); - $72 = ((($aBuf)) + 16|0); - ;HEAP8[$71>>0]=HEAP8[$72>>0]|0;HEAP8[$71+1>>0]=HEAP8[$72+1>>0]|0;HEAP8[$71+2>>0]=HEAP8[$72+2>>0]|0;HEAP8[$71+3>>0]=HEAP8[$72+3>>0]|0;HEAP8[$71+4>>0]=HEAP8[$72+4>>0]|0;HEAP8[$71+5>>0]=HEAP8[$72+5>>0]|0;HEAP8[$71+6>>0]=HEAP8[$72+6>>0]|0;HEAP8[$71+7>>0]=HEAP8[$72+7>>0]|0; - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 52|0); - $75 = ((($74)) + 13|0); - $76 = HEAP8[$75>>0]|0; - $77 = $76&255; - $78 = HEAP8[968>>0]|0; - $79 = $78 << 24 >> 24; - $80 = ($79|0)==(0); - $81 = $80&1; - $82 = ($77|0)==($81|0); - $83 = $82&1; - $84 = HEAP32[$1>>2]|0; - $85 = ((($84)) + 52|0); - $86 = ((($85)) + 24|0); - _walChecksumBytes($83,$aBuf,24,0,$86); - $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 52|0); - $89 = ((($88)) + 24|0); - $90 = HEAP32[$89>>2]|0; - $91 = ((($aBuf)) + 24|0); - $92 = (_sqlite3Get4byte($91)|0); - $93 = ($90|0)!=($92|0); - if (!($93)) { - $94 = HEAP32[$1>>2]|0; - $95 = ((($94)) + 52|0); - $96 = ((($95)) + 24|0); - $97 = ((($96)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ((($aBuf)) + 28|0); - $100 = (_sqlite3Get4byte($99)|0); - $101 = ($98|0)!=($100|0); - if (!($101)) { - $102 = ((($aBuf)) + 4|0); - $103 = (_sqlite3Get4byte($102)|0); - HEAP32[$version>>2] = $103; - $104 = HEAP32[$version>>2]|0; - $105 = ($104|0)!=(3007000); - if ($105) { - $106 = (_sqlite3CantopenError(54951)|0); - HEAP32[$rc>>2] = $106; - break; - } - $107 = HEAP32[$szPage>>2]|0; - $108 = (($107) + 24)|0; - HEAP32[$szFrame>>2] = $108; - $109 = HEAP32[$szFrame>>2]|0; - $110 = ($109|0)<(0); - $111 = $110 << 31 >> 31; - $112 = (_sqlite3_malloc64($109,$111)|0); - HEAP32[$aFrame>>2] = $112; - $113 = HEAP32[$aFrame>>2]|0; - $114 = ($113|0)!=(0|0); - if (!($114)) { - HEAP32[$rc>>2] = 7; - break L5; - } - $115 = HEAP32[$aFrame>>2]|0; - $116 = ((($115)) + 24|0); - HEAP32[$aData>>2] = $116; - HEAP32[$iFrame>>2] = 0; - $117 = $iOffset; - $118 = $117; - HEAP32[$118>>2] = 32; - $119 = (($117) + 4)|0; - $120 = $119; - HEAP32[$120>>2] = 0; - while(1) { - $121 = $iOffset; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = (($121) + 4)|0; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = HEAP32[$szFrame>>2]|0; - $128 = ($127|0)<(0); - $129 = $128 << 31 >> 31; - $130 = (_i64Add(($123|0),($126|0),($127|0),($129|0))|0); - $131 = tempRet0; - $132 = $nSize; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (($132) + 4)|0; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = ($131|0)<($137|0); - $139 = ($130>>>0)<=($134>>>0); - $140 = ($131|0)==($137|0); - $141 = $140 & $139; - $142 = $138 | $141; - if (!($142)) { - break; - } - $143 = HEAP32[$iFrame>>2]|0; - $144 = (($143) + 1)|0; - HEAP32[$iFrame>>2] = $144; - $145 = HEAP32[$1>>2]|0; - $146 = ((($145)) + 8|0); - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$aFrame>>2]|0; - $149 = HEAP32[$szFrame>>2]|0; - $150 = $iOffset; - $151 = $150; - $152 = HEAP32[$151>>2]|0; - $153 = (($150) + 4)|0; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = (_sqlite3OsRead($147,$148,$149,$152,$155)|0); - HEAP32[$rc>>2] = $156; - $157 = HEAP32[$rc>>2]|0; - $158 = ($157|0)!=(0); - if ($158) { - break; - } - $159 = HEAP32[$1>>2]|0; - $160 = HEAP32[$aData>>2]|0; - $161 = HEAP32[$aFrame>>2]|0; - $162 = (_walDecodeFrame($159,$pgno,$nTruncate,$160,$161)|0); - HEAP32[$isValid>>2] = $162; - $163 = HEAP32[$isValid>>2]|0; - $164 = ($163|0)!=(0); - if (!($164)) { - break; - } - $165 = HEAP32[$1>>2]|0; - $166 = HEAP32[$iFrame>>2]|0; - $167 = HEAP32[$pgno>>2]|0; - $168 = (_walIndexAppend($165,$166,$167)|0); - HEAP32[$rc>>2] = $168; - $169 = HEAP32[$rc>>2]|0; - $170 = ($169|0)!=(0); - if ($170) { - break; - } - $171 = HEAP32[$nTruncate>>2]|0; - $172 = ($171|0)!=(0); - if ($172) { - $173 = HEAP32[$iFrame>>2]|0; - $174 = HEAP32[$1>>2]|0; - $175 = ((($174)) + 52|0); - $176 = ((($175)) + 16|0); - HEAP32[$176>>2] = $173; - $177 = HEAP32[$nTruncate>>2]|0; - $178 = HEAP32[$1>>2]|0; - $179 = ((($178)) + 52|0); - $180 = ((($179)) + 20|0); - HEAP32[$180>>2] = $177; - $181 = HEAP32[$szPage>>2]|0; - $182 = $181 & 65280; - $183 = HEAP32[$szPage>>2]|0; - $184 = $183 >> 16; - $185 = $182 | $184; - $186 = $185&65535; - $187 = HEAP32[$1>>2]|0; - $188 = ((($187)) + 52|0); - $189 = ((($188)) + 14|0); - HEAP16[$189>>1] = $186; - $190 = HEAP32[$1>>2]|0; - $191 = ((($190)) + 52|0); - $192 = ((($191)) + 24|0); - $193 = HEAP32[$192>>2]|0; - HEAP32[$aFrameCksum>>2] = $193; - $194 = HEAP32[$1>>2]|0; - $195 = ((($194)) + 52|0); - $196 = ((($195)) + 24|0); - $197 = ((($196)) + 4|0); - $198 = HEAP32[$197>>2]|0; - $199 = ((($aFrameCksum)) + 4|0); - HEAP32[$199>>2] = $198; - } - $200 = HEAP32[$szFrame>>2]|0; - $201 = ($200|0)<(0); - $202 = $201 << 31 >> 31; - $203 = $iOffset; - $204 = $203; - $205 = HEAP32[$204>>2]|0; - $206 = (($203) + 4)|0; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = (_i64Add(($205|0),($208|0),($200|0),($202|0))|0); - $210 = tempRet0; - $211 = $iOffset; - $212 = $211; - HEAP32[$212>>2] = $209; - $213 = (($211) + 4)|0; - $214 = $213; - HEAP32[$214>>2] = $210; - } - $215 = HEAP32[$aFrame>>2]|0; - _sqlite3_free($215); - } - } - } - } + HEAP32[$7>>2] = 0; + while(1) { + $15 = HEAP32[$6>>2]|0; + $16 = ($15|0)==(0); + if (!($16)) { + label = 15; + break; + } + $17 = HEAP32[$7>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 316|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($17|0)<($20|0); + if (!($21)) { + label = 15; + break; + } + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 340|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$7>>2]|0; + $26 = (($24) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$8>>2] = $27; + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$30>>2]|0; + HEAP32[$9>>2] = $31; + $32 = HEAP32[$8>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)>=(2); + if ($38) { + $39 = HEAP32[$4>>2]|0; + switch ($39|0) { + case 0: { + $40 = HEAP32[$9>>2]|0; + $41 = ((($40)) + 80|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$10>>2] = $42; + $43 = HEAP32[$5>>2]|0; + $44 = (($43) + 1)|0; + $45 = HEAP32[$8>>2]|0; + $46 = ((($45)) + 20|0); + HEAP32[$46>>2] = $44; + break; } - } while(0); - $216 = HEAP32[$rc>>2]|0; - $217 = ($216|0)==(0); - if ($217) { - $218 = HEAP32[$aFrameCksum>>2]|0; - $219 = HEAP32[$1>>2]|0; - $220 = ((($219)) + 52|0); - $221 = ((($220)) + 24|0); - HEAP32[$221>>2] = $218; - $222 = ((($aFrameCksum)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = HEAP32[$1>>2]|0; - $225 = ((($224)) + 52|0); - $226 = ((($225)) + 24|0); - $227 = ((($226)) + 4|0); - HEAP32[$227>>2] = $223; - $228 = HEAP32[$1>>2]|0; - _walIndexWriteHdr($228); - $229 = HEAP32[$1>>2]|0; - $230 = (_walCkptInfo($229)|0); - HEAP32[$pInfo>>2] = $230; - $231 = HEAP32[$pInfo>>2]|0; - HEAP32[$231>>2] = 0; - $232 = HEAP32[$1>>2]|0; - $233 = ((($232)) + 52|0); - $234 = ((($233)) + 16|0); - $235 = HEAP32[$234>>2]|0; - $236 = HEAP32[$pInfo>>2]|0; - $237 = ((($236)) + 32|0); - HEAP32[$237>>2] = $235; - $238 = HEAP32[$pInfo>>2]|0; - $239 = ((($238)) + 4|0); - HEAP32[$239>>2] = 0; - HEAP32[$i>>2] = 1; - while(1) { - $240 = HEAP32[$i>>2]|0; - $241 = ($240|0)<(5); - if (!($241)) { - break; + case 2: { + $47 = HEAP32[$9>>2]|0; + $48 = ((($47)) + 88|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$10>>2] = $49; + break; + } + default: { + $50 = HEAP32[$9>>2]|0; + $51 = ((($50)) + 84|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$10>>2] = $52; + } + } + $53 = HEAP32[$10>>2]|0; + $54 = ($53|0)!=(0|0); + if ($54) { + $55 = HEAP32[$8>>2]|0; + $56 = ((($55)) + 20|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$5>>2]|0; + $59 = ($57|0)>($58|0); + if ($59) { + $60 = HEAP32[$10>>2]|0; + $61 = HEAP32[$8>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$5>>2]|0; + $65 = (FUNCTION_TABLE_iii[$60 & 255]($63,$64)|0); + HEAP32[$6>>2] = $65; } - $242 = HEAP32[$i>>2]|0; - $243 = HEAP32[$pInfo>>2]|0; - $244 = ((($243)) + 4|0); - $245 = (($244) + ($242<<2)|0); - HEAP32[$245>>2] = -1; - $246 = HEAP32[$i>>2]|0; - $247 = (($246) + 1)|0; - HEAP32[$i>>2] = $247; - } - $248 = HEAP32[$1>>2]|0; - $249 = ((($248)) + 52|0); - $250 = ((($249)) + 16|0); - $251 = HEAP32[$250>>2]|0; - $252 = ($251|0)!=(0); - if ($252) { - $253 = HEAP32[$1>>2]|0; - $254 = ((($253)) + 52|0); - $255 = ((($254)) + 16|0); - $256 = HEAP32[$255>>2]|0; - $257 = HEAP32[$pInfo>>2]|0; - $258 = ((($257)) + 4|0); - $259 = ((($258)) + 4|0); - HEAP32[$259>>2] = $256; - } - $260 = HEAP32[$1>>2]|0; - $261 = ((($260)) + 52|0); - $262 = ((($261)) + 20|0); - $263 = HEAP32[$262>>2]|0; - $264 = ($263|0)!=(0); - if ($264) { - $265 = HEAP32[$1>>2]|0; - $266 = ((($265)) + 52|0); - $267 = ((($266)) + 16|0); - $268 = HEAP32[$267>>2]|0; - $269 = HEAP32[$1>>2]|0; - $270 = ((($269)) + 108|0); - $271 = HEAP32[$270>>2]|0; - HEAP32[$vararg_buffer>>2] = $268; - $vararg_ptr4 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $271; - _sqlite3_log(283,25952,$vararg_buffer); } } } - } while(0); - $272 = HEAP32[$1>>2]|0; - $273 = HEAP32[$iLock>>2]|0; - $274 = HEAP32[$nLock>>2]|0; - _walUnlockExclusive($272,$273,$274); - $275 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $275; - $276 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($276|0); -} -function _sqlite3CantopenError($lineno) { - $lineno = $lineno|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $lineno; - $1 = HEAP32[$0>>2]|0; - $2 = (_reportError(14,$1,25935)|0); - STACKTOP = sp;return ($2|0); + $66 = HEAP32[$7>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$7>>2] = $67; + } + if ((label|0) == 15) { + $68 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($68|0); + } + return (0)|0; } -function _walDecodeFrame($pWal,$piPage,$pnTruncate,$aData,$aFrame) { - $pWal = $pWal|0; - $piPage = $piPage|0; - $pnTruncate = $pnTruncate|0; - $aData = $aData|0; - $aFrame = $aFrame|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $aCksum = 0, $nativeCksum = 0, $pgno = 0, label = 0, sp = 0; +function _sqlite3VtabSync($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; + STACKTOP = STACKTOP + 32|0; $2 = sp + 24|0; $3 = sp + 20|0; $4 = sp + 16|0; $5 = sp + 12|0; - $nativeCksum = sp + 8|0; - $aCksum = sp + 4|0; - $pgno = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $piPage; - HEAP32[$3>>2] = $pnTruncate; - HEAP32[$4>>2] = $aData; - HEAP32[$5>>2] = $aFrame; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 52|0); - $8 = ((($7)) + 24|0); - HEAP32[$aCksum>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 52|0); - $11 = ((($10)) + 32|0); - $12 = HEAP32[$5>>2]|0; - $13 = ((($12)) + 8|0); - $14 = (_memcmp($11,$13,8)|0); - $15 = ($14|0)!=(0); - if ($15) { - HEAP32[$0>>2] = 0; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); - } - $16 = HEAP32[$5>>2]|0; - $17 = (_sqlite3Get4byte($16)|0); - HEAP32[$pgno>>2] = $17; - $18 = HEAP32[$pgno>>2]|0; - $19 = ($18|0)==(0); - if ($19) { - HEAP32[$0>>2] = 0; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); - } - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 52|0); - $22 = ((($21)) + 13|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = HEAP8[968>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($26|0)==(0); - $28 = $27&1; - $29 = ($24|0)==($28|0); - $30 = $29&1; - HEAP32[$nativeCksum>>2] = $30; - $31 = HEAP32[$nativeCksum>>2]|0; - $32 = HEAP32[$5>>2]|0; - $33 = HEAP32[$aCksum>>2]|0; - $34 = HEAP32[$aCksum>>2]|0; - _walChecksumBytes($31,$32,8,$33,$34); - $35 = HEAP32[$nativeCksum>>2]|0; - $36 = HEAP32[$4>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 36|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$aCksum>>2]|0; - $41 = HEAP32[$aCksum>>2]|0; - _walChecksumBytes($35,$36,$39,$40,$41); - $42 = HEAP32[$aCksum>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$5>>2]|0; - $45 = ((($44)) + 16|0); - $46 = (_sqlite3Get4byte($45)|0); - $47 = ($43|0)!=($46|0); - if (!($47)) { - $48 = HEAP32[$aCksum>>2]|0; - $49 = ((($48)) + 4|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$5>>2]|0; - $52 = ((($51)) + 20|0); - $53 = (_sqlite3Get4byte($52)|0); - $54 = ($50|0)!=($53|0); - if (!($54)) { - $55 = HEAP32[$pgno>>2]|0; - $56 = HEAP32[$2>>2]|0; - HEAP32[$56>>2] = $55; - $57 = HEAP32[$5>>2]|0; - $58 = ((($57)) + 4|0); - $59 = (_sqlite3Get4byte($58)|0); - $60 = HEAP32[$3>>2]|0; - HEAP32[$60>>2] = $59; - HEAP32[$0>>2] = 1; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 340|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 340|0); + HEAP32[$13>>2] = 0; + HEAP32[$4>>2] = 0; + while(1) { + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)==(0); + if ($15) { + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 316|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($16|0)<($19|0); + $44 = $20; + } else { + $44 = 0; + } + $21 = HEAP32[$6>>2]|0; + if (!($44)) { + break; + } + $22 = HEAP32[$4>>2]|0; + $23 = (($21) + ($22<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$8>>2] = $26; + $27 = HEAP32[$8>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 60|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$7>>2] = $32; + $33 = ($32|0)!=(0|0); + if ($33) { + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$8>>2]|0; + $36 = (FUNCTION_TABLE_ii[$34 & 255]($35)|0); + HEAP32[$5>>2] = $36; + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$8>>2]|0; + _sqlite3VtabImportErrmsg($37,$38); + } } + $39 = HEAP32[$4>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$4>>2] = $40; } - HEAP32[$0>>2] = 0; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + $41 = HEAP32[$2>>2]|0; + $42 = ((($41)) + 340|0); + HEAP32[$42>>2] = $21; + $43 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($43|0); } -function _walIndexAppend($pWal,$iFrame,$iPage) { - $pWal = $pWal|0; - $iFrame = $iFrame|0; - $iPage = $iPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aHash = 0, $aPgno = 0, $iKey = 0, $iZero = 0; - var $idx = 0, $nByte = 0, $nCollide = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3BtreeGetFilename($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $rc = sp + 28|0; - $iZero = sp + 24|0; - $aPgno = sp + 20|0; - $aHash = sp + 16|0; - $iKey = sp + 12|0; - $idx = sp + 8|0; - $nCollide = sp + 4|0; - $nByte = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $iFrame; - HEAP32[$3>>2] = $iPage; - HEAP32[$iZero>>2] = 0; - HEAP32[$aPgno>>2] = 0; - HEAP32[$aHash>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_walFramePage($5)|0); - $7 = (_walHashGet($4,$6,$aHash,$aPgno,$iZero)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)==(0); - do { - if ($9) { - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$iZero>>2]|0; - $12 = (($10) - ($11))|0; - HEAP32[$idx>>2] = $12; - $13 = HEAP32[$idx>>2]|0; - $14 = ($13|0)==(1); - if ($14) { - $15 = HEAP32[$aHash>>2]|0; - $16 = ((($15)) + 16384|0); - $17 = HEAP32[$aPgno>>2]|0; - $18 = ((($17)) + 4|0); - $19 = $16; - $20 = $18; - $21 = (($19) - ($20))|0; - HEAP32[$nByte>>2] = $21; - $22 = HEAP32[$aPgno>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$nByte>>2]|0; - _memset(($23|0),0,($24|0))|0; - } - $25 = HEAP32[$idx>>2]|0; - $26 = HEAP32[$aPgno>>2]|0; - $27 = (($26) + ($25<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$1>>2]|0; - _walCleanupHash($30); - } - $31 = HEAP32[$idx>>2]|0; - HEAP32[$nCollide>>2] = $31; - $32 = HEAP32[$3>>2]|0; - $33 = (_walHash($32)|0); - HEAP32[$iKey>>2] = $33; - while(1) { - $34 = HEAP32[$iKey>>2]|0; - $35 = HEAP32[$aHash>>2]|0; - $36 = (($35) + ($34<<1)|0); - $37 = HEAP16[$36>>1]|0; - $38 = ($37<<16>>16)!=(0); - if (!($38)) { - label = 11; - break; - } - $39 = HEAP32[$nCollide>>2]|0; - $40 = (($39) + -1)|0; - HEAP32[$nCollide>>2] = $40; - $41 = ($39|0)==(0); - if ($41) { - break; - } - $43 = HEAP32[$iKey>>2]|0; - $44 = (_walNextHash($43)|0); - HEAP32[$iKey>>2] = $44; - } - if ((label|0) == 11) { - $45 = HEAP32[$3>>2]|0; - $46 = HEAP32[$idx>>2]|0; - $47 = HEAP32[$aPgno>>2]|0; - $48 = (($47) + ($46<<2)|0); - HEAP32[$48>>2] = $45; - $49 = HEAP32[$idx>>2]|0; - $50 = $49&65535; - $51 = HEAP32[$iKey>>2]|0; - $52 = HEAP32[$aHash>>2]|0; - $53 = (($52) + ($51<<1)|0); - HEAP16[$53>>1] = $50; - break; - } - $42 = (_sqlite3CorruptError(54820)|0); - HEAP32[$0>>2] = $42; - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); - } - } while(0); - $54 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $54; - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = (_sqlite3PagerFilename($5,1)|0); + STACKTOP = sp;return ($6|0); } -function _sqlite3InvokeBusyHandler($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3VtabCommit($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if (!($10)) { - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = (FUNCTION_TABLE_iii[$12 & 255]($15,$18)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)==(0); - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 8|0); - if ($21) { - HEAP32[$23>>2] = -1; - } else { - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$23>>2] = $25; - } - $26 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $26; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); - } - } + _callFinaliser($2,64); + STACKTOP = sp;return 0; +} +function _sqlite3OsOpenMalloc($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + $16 = $15 << 31 >> 31; + $17 = (_sqlite3MallocZero($14,$16)|0); + HEAP32[$11>>2] = $17; + $18 = HEAP32[$11>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + HEAP32[$10>>2] = 7; + $30 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($30|0); } - HEAP32[$0>>2] = 0; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$11>>2]|0; + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[$9>>2]|0; + $25 = (_sqlite3OsOpen($20,$21,$22,$23,$24)|0); + HEAP32[$10>>2] = $25; + $26 = HEAP32[$10>>2]|0; + $27 = ($26|0)!=(0); + $28 = HEAP32[$11>>2]|0; + if ($27) { + _sqlite3_free($28); + $30 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($30|0); + } else { + $29 = HEAP32[$7>>2]|0; + HEAP32[$29>>2] = $28; + $30 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($30|0); + } + return (0)|0; } -function _sqlite3PcacheSize() { - var label = 0, sp = 0; +function _sqlite3BtreeGetJournalname($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - return 48; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = (_sqlite3PagerJournalname($5)|0); + STACKTOP = sp;return ($6|0); } -function _sqlite3JournalSize($pVfs) { - $pVfs = $pVfs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3OsCloseFree($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVfs; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(72); - if (!($4)) { - $8 = 72; - STACKTOP = sp;return ($8|0); - } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = $7; - STACKTOP = sp;return ($8|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3OsClose($2); + $3 = HEAP32[$1>>2]|0; + _sqlite3_free($3); + STACKTOP = sp;return; } -function _pagerStress($p,$pPg) { - $p = $p|0; - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0; - var $9 = 0, $pPager = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3PagerJournalname($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 180|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _sqlite3VtabImportErrmsg($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; $2 = sp + 8|0; - $pPager = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pPg; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pPager>>2] = $3; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$pPager>>2]|0; - $5 = ((($4)) + 44|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - if ($7) { - HEAP32[$0>>2] = 0; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + STACKTOP = sp;return; } - $8 = HEAP32[$pPager>>2]|0; - $9 = ((($8)) + 21|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)!=(0); - do { - if ($12) { - $13 = HEAP32[$pPager>>2]|0; - $14 = ((($13)) + 21|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 & 3; - $18 = ($17|0)!=(0); - if (!($18)) { - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 24|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21&65535; - $23 = $22 & 8; - $24 = ($23|0)!=(0); - if (!($24)) { - break; - } - } - HEAP32[$0>>2] = 0; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); - } - } while(0); - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 12|0); + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 108|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3DbFree($11,$14); + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3DbStrDup($15,$18)|0); + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 108|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + _sqlite3_free($24); + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 8|0); HEAP32[$26>>2] = 0; - $27 = HEAP32[$pPager>>2]|0; - $28 = (_sqlite3PagerUseWal($27)|0); - $29 = ($28|0)!=(0); - $30 = HEAP32[$2>>2]|0; - if ($29) { - $31 = (_subjournalPageIfRequired($30)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)==(0); - if ($33) { - $34 = HEAP32[$pPager>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = (_pagerWalFrames($34,$35,0,0)|0); - HEAP32[$rc>>2] = $36; - } - } else { - $37 = ((($30)) + 24|0); - $38 = HEAP16[$37>>1]|0; - $39 = $38&65535; - $40 = $39 & 8; - $41 = ($40|0)!=(0); - if ($41) { - label = 12; - } else { - $42 = HEAP32[$pPager>>2]|0; - $43 = ((($42)) + 17|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = ($45|0)==(3); - if ($46) { - label = 12; - } - } - if ((label|0) == 12) { - $47 = HEAP32[$pPager>>2]|0; - $48 = (_syncJournal($47,1)|0); - HEAP32[$rc>>2] = $48; - } - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP32[$pPager>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = (_pager_write_pagelist($51,$52)|0); - HEAP32[$rc>>2] = $53; - } - } - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)==(0); - if ($55) { - $56 = HEAP32[$2>>2]|0; - _sqlite3PcacheMakeClean($56); - } - $57 = HEAP32[$pPager>>2]|0; - $58 = HEAP32[$rc>>2]|0; - $59 = (_pager_error($57,$58)|0); - HEAP32[$0>>2] = $59; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); + STACKTOP = sp;return; } -function _sqlite3PcacheOpen($szPage,$szExtra,$bPurgeable,$xStress,$pStress,$p) { - $szPage = $szPage|0; - $szExtra = $szExtra|0; - $bPurgeable = $bPurgeable|0; - $xStress = $xStress|0; - $pStress = $pStress|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _vdbeLeave($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; $1 = sp + 16|0; $2 = sp + 12|0; $3 = sp + 8|0; $4 = sp + 4|0; $5 = sp; - HEAP32[$0>>2] = $szPage; - HEAP32[$1>>2] = $szExtra; - HEAP32[$2>>2] = $bPurgeable; - HEAP32[$3>>2] = $xStress; - HEAP32[$4>>2] = $pStress; - HEAP32[$5>>2] = $p; - $6 = HEAP32[$5>>2]|0; - dest=$6; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $7 = HEAP32[$5>>2]|0; - $8 = ((($7)) + 24|0); - HEAP32[$8>>2] = 1; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$5>>2]|0; - $11 = ((($10)) + 28|0); - HEAP32[$11>>2] = $9; - $12 = HEAP32[$2>>2]|0; - $13 = $12&255; - $14 = HEAP32[$5>>2]|0; - $15 = ((($14)) + 32|0); - HEAP8[$15>>0] = $13; - $16 = HEAP32[$5>>2]|0; - $17 = ((($16)) + 33|0); - HEAP8[$17>>0] = 2; - $18 = HEAP32[$3>>2]|0; - $19 = HEAP32[$5>>2]|0; - $20 = ((($19)) + 36|0); - HEAP32[$20>>2] = $18; - $21 = HEAP32[$4>>2]|0; - $22 = HEAP32[$5>>2]|0; - $23 = ((($22)) + 40|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$5>>2]|0; - $25 = ((($24)) + 16|0); - HEAP32[$25>>2] = 100; - $26 = HEAP32[$5>>2]|0; - $27 = ((($26)) + 20|0); - HEAP32[$27>>2] = 1; - $28 = HEAP32[$5>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = (_sqlite3PcacheSetPageSize($28,$29)|0); - STACKTOP = sp;return ($30|0); -} -function _subjournalPageIfRequired($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pPg; - $2 = HEAP32[$1>>2]|0; - $3 = (_subjRequiresPage($2)|0); - $4 = ($3|0)!=(0); - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = (_subjournalPage($5)|0); - HEAP32[$0>>2] = $6; - $7 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($7|0); - } else { - HEAP32[$0>>2] = 0; - $7 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($7|0); + HEAP32[$1>>2] = $0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $13; + HEAP32[$2>>2] = 0; + while(1) { + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = ($14|0)<($15|0); + if (!($16)) { + break; + } + $17 = HEAP32[$2>>2]|0; + $18 = ($17|0)!=(1); + if ($18) { + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 152|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = 1 << $22; + $24 = $21 & $23; + $25 = ($24|0)!=(0); + if ($25) { + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = (($26) + ($27<<4)|0); + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = (($32) + ($33<<4)|0); + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + _sqlite3BtreeLeave($36); + } + } + } + $37 = HEAP32[$2>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$2>>2] = $38; } - return (0)|0; + STACKTOP = sp;return; } -function _pagerWalFrames($pPager,$pList,$nTruncate,$isCommit) { - $pPager = $pPager|0; - $pList = $pList|0; - $nTruncate = $nTruncate|0; - $isCommit = $isCommit|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $nList = 0, $p = 0, $ppNext = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3VdbeError($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $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; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; $2 = sp + 20|0; $3 = sp + 16|0; - $rc = sp + 12|0; - $nList = sp + 8|0; - $p = sp + 4|0; - $ppNext = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pList; - HEAP32[$2>>2] = $nTruncate; - HEAP32[$3>>2] = $isCommit; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 108|0); + $9 = HEAP32[$8>>2]|0; + _sqlite3DbFree($6,$9); + HEAP32[$4>>2] = $varargs; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (_sqlite3VMPrintf($11,$12,$4)|0); + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 108|0); + HEAP32[$15>>2] = $13; + STACKTOP = sp;return; +} +function _sqlite3VdbeFrameRestore($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0); - L1: do { - if ($5) { - HEAP32[$ppNext>>2] = $1; - HEAP32[$nList>>2] = 0; - $6 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $6; - while(1) { - $7 = HEAP32[$p>>2]|0; - $8 = HEAP32[$ppNext>>2]|0; - HEAP32[$8>>2] = $7; - $9 = ($7|0)!=(0|0); - if (!($9)) { - break L1; - } - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ($12>>>0)<=($13>>>0); - if ($14) { - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 12|0); - HEAP32[$ppNext>>2] = $16; - $17 = HEAP32[$nList>>2]|0; - $18 = (($17) + 1)|0; - HEAP32[$nList>>2] = $18; - } - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 12|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$p>>2] = $21; - } - } else { - HEAP32[$nList>>2] = 1; - } - } while(0); - $22 = HEAP32[$nList>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 192|0); - $25 = ((($24)) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + ($22))|0; - HEAP32[$25>>2] = $27; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 20|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==(1); - if ($31) { - $32 = HEAP32[$1>>2]|0; - _pager_write_changecounter($32); - } - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 216|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 160|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = HEAP32[$3>>2]|0; - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 11|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = (_sqlite3WalFrames($35,$38,$39,$40,$41,$45)|0); - HEAP32[$rc>>2] = $46; - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)==(0); - if (!($48)) { - $68 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($68|0); - } - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 96|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)!=(0|0); - if (!($52)) { - $68 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($68|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + _closeCursorsInFrame($5); + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 88|0); + HEAP32[$10>>2] = $8; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 136|0); + HEAP32[$15>>2] = $13; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 92|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 56|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 24|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 112|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 44|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 28|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 32|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = ((($45)) + 32|0); + $47 = $46; + $48 = $47; + HEAP32[$48>>2] = $40; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = $43; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 68|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 44|0); + HEAP32[$55>>2] = $53; + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 72|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$2>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = ((($60)) + 88|0); + HEAP32[$61>>2] = $58; + $62 = HEAP32[$2>>2]|0; + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$2>>2]|0; + $65 = ((($64)) + 204|0); + _sqlite3VdbeDeleteAuxData($63,$65,-1,0); + $66 = HEAP32[$1>>2]|0; + $67 = ((($66)) + 40|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$2>>2]|0; + $70 = ((($69)) + 204|0); + HEAP32[$70>>2] = $68; + $71 = HEAP32[$1>>2]|0; + $72 = ((($71)) + 40|0); + HEAP32[$72>>2] = 0; + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 48|0); + $75 = HEAP32[$74>>2]|0; + STACKTOP = sp;return ($75|0); +} +function _closeCursorsInFrame($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 112|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + STACKTOP = sp;return; } - $53 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $53; + HEAP32[$2>>2] = 0; while(1) { - $54 = HEAP32[$p>>2]|0; - $55 = ($54|0)!=(0|0); - if (!($55)) { + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 28|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)<($11|0); + if (!($12)) { break; } - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 96|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$p>>2]|0; - $60 = ((($59)) + 20|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$p>>2]|0; - $63 = ((($62)) + 4|0); - $64 = HEAP32[$63>>2]|0; - _sqlite3BackupUpdate($58,$61,$64); - $65 = HEAP32[$p>>2]|0; - $66 = ((($65)) + 12|0); - $67 = HEAP32[$66>>2]|0; - HEAP32[$p>>2] = $67; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 112|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = (($15) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$3>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = ($19|0)!=(0|0); + if ($20) { + $21 = HEAP32[$1>>2]|0; + $22 = HEAP32[$3>>2]|0; + _sqlite3VdbeFreeCursor($21,$22); + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 112|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = (($25) + ($26<<2)|0); + HEAP32[$27>>2] = 0; + } + $28 = HEAP32[$2>>2]|0; + $29 = (($28) + 1)|0; + HEAP32[$2>>2] = $29; } - $68 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($68|0); + STACKTOP = sp;return; } -function _syncJournal($pPager,$newHdr) { - $pPager = $pPager|0; - $newHdr = $newHdr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $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, $aMagic = 0, $iDc = 0, $iNextHdrOffset = 0, $or$cond = 0, $rc = 0, $zHeader = 0, label = 0, sp = 0; +function _sqlite3VdbeFrameDelete($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; - $iDc = sp + 8|0; - $iNextHdrOffset = sp; - $aMagic = sp + 40|0; - $zHeader = sp + 28|0; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $newHdr; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3PagerExclusiveLock($3)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $7; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); - } + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 80|0); + HEAP32[$3>>2] = $6; + $7 = HEAP32[$3>>2]|0; $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 7|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)!=(0); - do { - if (!($11)) { - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 68|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 5|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)!=(4); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 64|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3OsDeviceCharacteristics($24)|0); - HEAP32[$iDc>>2] = $25; - $26 = HEAP32[$iDc>>2]|0; - $27 = $26 & 512; - $28 = (0)==($27|0); - if ($28) { - ;HEAP8[$zHeader>>0]=HEAP8[25901>>0]|0;HEAP8[$zHeader+1>>0]=HEAP8[25901+1>>0]|0;HEAP8[$zHeader+2>>0]=HEAP8[25901+2>>0]|0;HEAP8[$zHeader+3>>0]=HEAP8[25901+3>>0]|0;HEAP8[$zHeader+4>>0]=HEAP8[25901+4>>0]|0;HEAP8[$zHeader+5>>0]=HEAP8[25901+5>>0]|0;HEAP8[$zHeader+6>>0]=HEAP8[25901+6>>0]|0;HEAP8[$zHeader+7>>0]=HEAP8[25901+7>>0]|0; - $29 = ((($zHeader)) + 8|0); - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 48|0); - $32 = HEAP32[$31>>2]|0; - _sqlite3Put4byte($29,$32); - $33 = HEAP32[$1>>2]|0; - $34 = (_journalHdrOffset($33)|0); - $35 = tempRet0; - $36 = $iNextHdrOffset; - $37 = $36; - HEAP32[$37>>2] = $34; - $38 = (($36) + 4)|0; - $39 = $38; - HEAP32[$39>>2] = $35; - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 68|0); - $42 = HEAP32[$41>>2]|0; - $43 = $iNextHdrOffset; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = (($43) + 4)|0; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (_sqlite3OsRead($42,$aMagic,8,$45,$48)|0); - HEAP32[$rc>>2] = $49; - $50 = HEAP32[$rc>>2]|0; - $51 = ($50|0)==(0); - if ($51) { - $52 = (_memcmp($aMagic,25901,8)|0); - $53 = (0)==($52|0); - if ($53) { - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 68|0); - $56 = HEAP32[$55>>2]|0; - $57 = $iNextHdrOffset; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3OsWrite($56,26022,1,$59,$62)|0); - HEAP32[$rc>>2] = $63; - } - } - $64 = HEAP32[$rc>>2]|0; - $65 = ($64|0)!=(0); - $66 = HEAP32[$rc>>2]|0; - $67 = ($66|0)!=(522); - $or$cond = $65 & $67; - if ($or$cond) { - $68 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $68; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); - } - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 8|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = ($72|0)!=(0); - if ($73) { - $74 = HEAP32[$iDc>>2]|0; - $75 = $74 & 1024; - $76 = (0)==($75|0); - if ($76) { - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 68|0); - $79 = HEAP32[$78>>2]|0; - $80 = HEAP32[$1>>2]|0; - $81 = ((($80)) + 12|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = (_sqlite3OsSync($79,$83)|0); - HEAP32[$rc>>2] = $84; - $85 = HEAP32[$rc>>2]|0; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $87; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); - } - } - } - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 68|0); - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 88|0); - $93 = $92; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = (($93) + 4)|0; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (_sqlite3OsWrite($90,$zHeader,12,$95,$98)|0); - HEAP32[$rc>>2] = $99; - $100 = HEAP32[$rc>>2]|0; - $101 = ($100|0)!=(0); - if ($101) { - $102 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $102; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); - } - } - $103 = HEAP32[$iDc>>2]|0; - $104 = $103 & 1024; - $105 = (0)==($104|0); - if ($105) { - $106 = HEAP32[$1>>2]|0; - $107 = ((($106)) + 68|0); - $108 = HEAP32[$107>>2]|0; - $109 = HEAP32[$1>>2]|0; - $110 = ((($109)) + 12|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $113 = HEAP32[$1>>2]|0; - $114 = ((($113)) + 12|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = ($116|0)==(3); - $118 = $117 ? 16 : 0; - $119 = $112 | $118; - $120 = (_sqlite3OsSync($108,$119)|0); - HEAP32[$rc>>2] = $120; - $121 = HEAP32[$rc>>2]|0; - $122 = ($121|0)!=(0); - if ($122) { - $123 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $123; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); - } - } - $124 = HEAP32[$1>>2]|0; - $125 = ((($124)) + 80|0); - $126 = $125; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = (($126) + 4)|0; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = HEAP32[$1>>2]|0; - $133 = ((($132)) + 88|0); - $134 = $133; - $135 = $134; - HEAP32[$135>>2] = $128; - $136 = (($134) + 4)|0; - $137 = $136; - HEAP32[$137>>2] = $131; - $138 = HEAP32[$2>>2]|0; - $139 = ($138|0)!=(0); - if (!($139)) { - break; - } - $140 = HEAP32[$iDc>>2]|0; - $141 = $140 & 512; - $142 = (0)==($141|0); - if (!($142)) { - break; - } - $143 = HEAP32[$1>>2]|0; - $144 = ((($143)) + 48|0); - HEAP32[$144>>2] = 0; - $145 = HEAP32[$1>>2]|0; - $146 = (_writeJournalHdr($145)|0); - HEAP32[$rc>>2] = $146; - $147 = HEAP32[$rc>>2]|0; - $148 = ($147|0)!=(0); - if (!($148)) { - break; - } - $149 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $149; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); - } - } - $150 = HEAP32[$1>>2]|0; - $151 = ((($150)) + 80|0); - $152 = $151; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = (($152) + 4)|0; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = HEAP32[$1>>2]|0; - $159 = ((($158)) + 88|0); - $160 = $159; - $161 = $160; - HEAP32[$161>>2] = $154; - $162 = (($160) + 4)|0; - $163 = $162; - HEAP32[$163>>2] = $157; + $9 = ((($8)) + 60|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($7) + (($10*40)|0)|0); + HEAP32[$4>>2] = $11; + HEAP32[$2>>2] = 0; + while(1) { + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 64|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($12|0)<($15|0); + if (!($16)) { + break; } - } while(0); - $164 = HEAP32[$1>>2]|0; - $165 = ((($164)) + 212|0); - $166 = HEAP32[$165>>2]|0; - _sqlite3PcacheClearSyncFlags($166); - $167 = HEAP32[$1>>2]|0; - $168 = ((($167)) + 17|0); - HEAP8[$168>>0] = 4; - HEAP32[$0>>2] = 0; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = (($19) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3VdbeFreeCursor($18,$22); + $23 = HEAP32[$2>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$2>>2] = $24; + } + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 60|0); + $28 = HEAP32[$27>>2]|0; + _releaseMemArray($25,$28); + $29 = HEAP32[$1>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 40|0); + _sqlite3VdbeDeleteAuxData($31,$33,-1,0); + $34 = HEAP32[$1>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$1>>2]|0; + _sqlite3DbFree($36,$37); + STACKTOP = sp;return; } -function _pager_write_pagelist($pPager,$pList) { - $pPager = $pPager|0; - $pList = $pList|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $offset = 0, $pData = 0, $pgno = 0, $rc = 0, $szFile = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3VdbeDeleteAuxData($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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $rc = sp + 24|0; - $szFile = sp + 8|0; - $pgno = sp + 20|0; - $offset = sp; - $pData = sp + 16|0; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pList; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 64|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 64|0); + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + L1: while(1) { + $9 = HEAP32[$5>>2]|0; $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 152|0); + $11 = ($10|0)!=(0|0); + if (!($11)) { + break; + } + $12 = HEAP32[$5>>2]|0; $13 = HEAP32[$12>>2]|0; - $14 = (_pagerOpentemp($7,$10,$13)|0); - HEAP32[$rc>>2] = $14; - } - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - do { - if ($16) { - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 40|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 28|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($19>>>0)<($22>>>0); - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 20|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 40|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($30>>>0)>($33>>>0); - if (!($34)) { + HEAP32[$8>>2] = $13; + $14 = HEAP32[$6>>2]|0; + $15 = ($14|0)<(0); + do { + if (!($15)) { + $16 = HEAP32[$8>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = ($17|0)==($18|0); + if ($19) { + $20 = HEAP32[$8>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)>(31); + if ($23) { + break; + } + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = 1 << $27; + $29 = $24 & $28; + $30 = ($29|0)!=(0); + if (!($30)) { break; } } - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 160|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)<(0); - $39 = $38 << 31 >> 31; - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 28|0); - $42 = HEAP32[$41>>2]|0; - $43 = (___muldi3(($37|0),($39|0),($42|0),0)|0); - $44 = tempRet0; - $45 = $szFile; - $46 = $45; - HEAP32[$46>>2] = $43; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $44; - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 64|0); - $51 = HEAP32[$50>>2]|0; - _sqlite3OsFileControlHint($51,5,$szFile); - $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 28|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 40|0); - HEAP32[$56>>2] = $54; - } - } - } while(0); - while(1) { - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)==(0); - $59 = HEAP32[$1>>2]|0; - $60 = ($59|0)!=(0|0); - $61 = $58 ? $60 : 0; - if (!($61)) { - break; - } - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 20|0); - $64 = HEAP32[$63>>2]|0; - HEAP32[$pgno>>2] = $64; - $65 = HEAP32[$pgno>>2]|0; - $66 = HEAP32[$0>>2]|0; - $67 = ((($66)) + 28|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($65>>>0)<=($68>>>0); - if ($69) { - $70 = HEAP32[$1>>2]|0; - $71 = ((($70)) + 24|0); - $72 = HEAP16[$71>>1]|0; - $73 = $72&65535; - $74 = $73 & 16; - $75 = (0)==($74|0); - if ($75) { - $76 = HEAP32[$pgno>>2]|0; - $77 = (($76) - 1)|0; - $78 = HEAP32[$0>>2]|0; - $79 = ((($78)) + 160|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)<(0); - $82 = $81 << 31 >> 31; - $83 = (___muldi3(($77|0),0,($80|0),($82|0))|0); - $84 = tempRet0; - $85 = $offset; - $86 = $85; - HEAP32[$86>>2] = $83; - $87 = (($85) + 4)|0; - $88 = $87; - HEAP32[$88>>2] = $84; - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 20|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(1); - if ($92) { - $93 = HEAP32[$1>>2]|0; - _pager_write_changecounter($93); - } - $94 = HEAP32[$1>>2]|0; - $95 = ((($94)) + 4|0); - $96 = HEAP32[$95>>2]|0; - HEAP32[$pData>>2] = $96; - $97 = HEAP32[$0>>2]|0; - $98 = ((($97)) + 64|0); - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$pData>>2]|0; - $101 = HEAP32[$0>>2]|0; - $102 = ((($101)) + 160|0); - $103 = HEAP32[$102>>2]|0; - $104 = $offset; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (_sqlite3OsWrite($99,$100,$103,$106,$109)|0); - HEAP32[$rc>>2] = $110; - $111 = HEAP32[$pgno>>2]|0; - $112 = ($111|0)==(1); - if ($112) { - $113 = HEAP32[$0>>2]|0; - $114 = ((($113)) + 112|0); - $115 = HEAP32[$pData>>2]|0; - $116 = ((($115)) + 24|0); - dest=$114; src=$116; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - } - $117 = HEAP32[$pgno>>2]|0; - $118 = HEAP32[$0>>2]|0; - $119 = ((($118)) + 36|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($117>>>0)>($120>>>0); - if ($121) { - $122 = HEAP32[$pgno>>2]|0; - $123 = HEAP32[$0>>2]|0; - $124 = ((($123)) + 36|0); - HEAP32[$124>>2] = $122; - } - $125 = HEAP32[$0>>2]|0; - $126 = ((($125)) + 192|0); - $127 = ((($126)) + 8|0); - $128 = HEAP32[$127>>2]|0; - $129 = (($128) + 1)|0; - HEAP32[$127>>2] = $129; - $130 = HEAP32[$0>>2]|0; - $131 = ((($130)) + 96|0); - $132 = HEAP32[$131>>2]|0; - $133 = HEAP32[$pgno>>2]|0; - $134 = HEAP32[$1>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - _sqlite3BackupUpdate($132,$133,$136); + $47 = HEAP32[$8>>2]|0; + $48 = ((($47)) + 16|0); + HEAP32[$5>>2] = $48; + continue L1; } + } while(0); + $31 = HEAP32[$8>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$8>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$8>>2]|0; + $39 = ((($38)) + 8|0); + $40 = HEAP32[$39>>2]|0; + FUNCTION_TABLE_vi[$37 & 255]($40); } - $137 = HEAP32[$1>>2]|0; - $138 = ((($137)) + 12|0); - $139 = HEAP32[$138>>2]|0; - HEAP32[$1>>2] = $139; + $41 = HEAP32[$8>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$5>>2]|0; + HEAP32[$44>>2] = $43; + $45 = HEAP32[$4>>2]|0; + $46 = HEAP32[$8>>2]|0; + _sqlite3DbFree($45,$46); } - $140 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($140|0); + STACKTOP = sp;return; } -function _pagerOpentemp($pPager,$pFile,$vfsFlags) { - $pPager = $pPager|0; - $pFile = $pFile|0; - $vfsFlags = $vfsFlags|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3VdbeFreeCursor($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pFile; - HEAP32[$2>>2] = $vfsFlags; - $3 = HEAP32[$2>>2]|0; - $4 = $3 | 30; - HEAP32[$2>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (_sqlite3OsOpen($6,0,$7,$8,0)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + switch ($10|0) { + case 1: { + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$3>>2]|0; + _sqlite3VdbeSorterClose($12,$13); + STACKTOP = sp;return; + break; + } + case 0: { + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0|0); + $18 = HEAP32[$3>>2]|0; + if ($17) { + $19 = ((($18)) + 20|0); + $20 = HEAP32[$19>>2]|0; + (_sqlite3BtreeClose($20)|0); + STACKTOP = sp;return; + } else { + $21 = ((($18)) + 16|0); + $22 = HEAP32[$21>>2]|0; + (_sqlite3BtreeCloseCursor($22)|0); + STACKTOP = sp;return; + } + break; + } + case 2: { + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$4>>2] = $25; + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$27>>2]|0; + HEAP32[$5>>2] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -1)|0; + HEAP32[$31>>2] = $33; + $34 = HEAP32[$5>>2]|0; + $35 = ((($34)) + 28|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$4>>2]|0; + (FUNCTION_TABLE_ii[$36 & 255]($37)|0); + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } } -function _pager_write_changecounter($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $change_counter = 0, label = 0, sp = 0; +function _sqlite3VdbeSorterClose($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $change_counter = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 112|0); - $5 = (_sqlite3Get4byte($4)|0); - $6 = (($5) + 1)|0; - HEAP32[$change_counter>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 24|0); - $11 = HEAP32[$change_counter>>2]|0; - _sqlite3Put4byte($10,$11); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 92|0); - $16 = HEAP32[$change_counter>>2]|0; - _sqlite3Put4byte($15,$16); - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($19)) + 96|0); - _sqlite3Put4byte($20,3015001); + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 16|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + STACKTOP = sp;return; + } + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$4>>2]|0; + _sqlite3VdbeSorterReset($10,$11); + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 36|0); + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + _sqlite3_free($15); + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$4>>2]|0; + _sqlite3DbFree($16,$17); + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 16|0); + HEAP32[$19>>2] = 0; STACKTOP = sp;return; } -function _sqlite3PagerExclusiveLock($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3VdbeSorterReset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 44|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$rc>>2] = $3; - $4 = HEAP32[$rc>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = (_sqlite3PagerUseWal($6)|0); - $8 = (0)==($7|0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = (_pager_wait_on_lock($9,4)|0); - HEAP32[$rc>>2] = $10; - } - } - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); -} -function _writeJournalHdr($pPager) { - $pPager = $pPager|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $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; - 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, $ii = 0, $nHeader = 0, $nWrite = 0, $rc = 0; - var $zHeader = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $rc = sp + 16|0; - $zHeader = sp + 12|0; - $nHeader = sp + 8|0; - $nWrite = sp + 4|0; - $ii = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 208|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$zHeader>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 160|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$nHeader>>2] = $6; - $7 = HEAP32[$nHeader>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 156|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($7>>>0)>($10>>>0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 156|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$nHeader>>2] = $14; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + (_vdbeSorterJoinAll($6,0)|0); + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + _vdbePmaReaderClear($13); + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + _sqlite3DbFree($14,$17); + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 16|0); + HEAP32[$19>>2] = 0; } - HEAP32[$ii>>2] = 0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + _vdbeMergeEngineFree($22); + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 20|0); + HEAP32[$24>>2] = 0; + HEAP32[$4>>2] = 0; while(1) { - $15 = HEAP32[$ii>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 104|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)<($18|0); - if (!($19)) { + $25 = HEAP32[$4>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 59|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = ($25|0)<($29|0); + $31 = HEAP32[$3>>2]|0; + if (!($30)) { break; } - $20 = HEAP32[$ii>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 100|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + (($20*48)|0)|0); - $25 = ((($24)) + 8|0); - $26 = $25; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = ($28|0)==(0); - $33 = ($31|0)==(0); - $34 = $32 & $33; - if ($34) { - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 80|0); - $37 = $36; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$ii>>2]|0; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 100|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + (($43*48)|0)|0); - $48 = ((($47)) + 8|0); - $49 = $48; - $50 = $49; - HEAP32[$50>>2] = $39; - $51 = (($49) + 4)|0; - $52 = $51; - HEAP32[$52>>2] = $42; - } - $53 = HEAP32[$ii>>2]|0; - $54 = (($53) + 1)|0; - HEAP32[$ii>>2] = $54; + $32 = ((($31)) + 64|0); + $33 = HEAP32[$4>>2]|0; + $34 = (($32) + (($33*72)|0)|0); + HEAP32[$5>>2] = $34; + $35 = HEAP32[$2>>2]|0; + $36 = HEAP32[$5>>2]|0; + _vdbeSortSubtaskCleanup($35,$36); + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 8|0); + HEAP32[$39>>2] = $37; + $40 = HEAP32[$4>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$4>>2] = $41; } - $55 = HEAP32[$0>>2]|0; - $56 = (_journalHdrOffset($55)|0); - $57 = tempRet0; - $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 80|0); - $60 = $59; - $61 = $60; - HEAP32[$61>>2] = $56; - $62 = (($60) + 4)|0; - $63 = $62; - HEAP32[$63>>2] = $57; - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 88|0); - $66 = $65; - $67 = $66; - HEAP32[$67>>2] = $56; - $68 = (($66) + 4)|0; - $69 = $68; - HEAP32[$69>>2] = $57; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 7|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = ($73|0)!=(0); - if ($74) { - label = 11; - } else { - $75 = HEAP32[$0>>2]|0; - $76 = ((($75)) + 5|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = ($78|0)==(4); - if ($79) { - label = 11; - } else { - $80 = HEAP32[$0>>2]|0; - $81 = ((($80)) + 64|0); - $82 = HEAP32[$81>>2]|0; - $83 = (_sqlite3OsDeviceCharacteristics($82)|0); - $84 = $83 & 512; - $85 = ($84|0)!=(0); - if ($85) { - label = 11; - } else { - $89 = HEAP32[$zHeader>>2]|0; - dest=$89; stop=dest+12|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - } - } + $42 = ((($31)) + 36|0); + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0|0); + if ($45) { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 36|0); + $48 = HEAP32[$47>>2]|0; + _vdbeSorterRecordFree(0,$48); } - if ((label|0) == 11) { - $86 = HEAP32[$zHeader>>2]|0; - ;HEAP8[$86>>0]=HEAP8[25901>>0]|0;HEAP8[$86+1>>0]=HEAP8[25901+1>>0]|0;HEAP8[$86+2>>0]=HEAP8[25901+2>>0]|0;HEAP8[$86+3>>0]=HEAP8[25901+3>>0]|0;HEAP8[$86+4>>0]=HEAP8[25901+4>>0]|0;HEAP8[$86+5>>0]=HEAP8[25901+5>>0]|0;HEAP8[$86+6>>0]=HEAP8[25901+6>>0]|0;HEAP8[$86+7>>0]=HEAP8[25901+7>>0]|0; - $87 = HEAP32[$zHeader>>2]|0; - $88 = ((($87)) + 8|0); - _sqlite3Put4byte($88,-1); - } - $90 = HEAP32[$0>>2]|0; - $91 = ((($90)) + 52|0); - _sqlite3_randomness(4,$91); - $92 = HEAP32[$zHeader>>2]|0; - $93 = ((($92)) + 12|0); - $94 = HEAP32[$0>>2]|0; - $95 = ((($94)) + 52|0); - $96 = HEAP32[$95>>2]|0; - _sqlite3Put4byte($93,$96); - $97 = HEAP32[$zHeader>>2]|0; - $98 = ((($97)) + 16|0); - $99 = HEAP32[$0>>2]|0; - $100 = ((($99)) + 32|0); - $101 = HEAP32[$100>>2]|0; - _sqlite3Put4byte($98,$101); - $102 = HEAP32[$zHeader>>2]|0; - $103 = ((($102)) + 20|0); - $104 = HEAP32[$0>>2]|0; - $105 = ((($104)) + 156|0); - $106 = HEAP32[$105>>2]|0; - _sqlite3Put4byte($103,$106); - $107 = HEAP32[$zHeader>>2]|0; - $108 = ((($107)) + 24|0); - $109 = HEAP32[$0>>2]|0; - $110 = ((($109)) + 160|0); - $111 = HEAP32[$110>>2]|0; - _sqlite3Put4byte($108,$111); - $112 = HEAP32[$zHeader>>2]|0; - $113 = ((($112)) + 28|0); - $114 = HEAP32[$nHeader>>2]|0; - $115 = (($114) - 28)|0; - _memset(($113|0),0,($115|0))|0; - HEAP32[$nWrite>>2] = 0; + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 36|0); + HEAP32[$50>>2] = 0; + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 36|0); + $53 = ((($52)) + 8|0); + HEAP32[$53>>2] = 0; + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 56|0); + HEAP8[$55>>0] = 0; + $56 = HEAP32[$3>>2]|0; + $57 = ((($56)) + 48|0); + HEAP32[$57>>2] = 0; + $58 = HEAP32[$3>>2]|0; + $59 = ((($58)) + 8|0); + HEAP32[$59>>2] = 0; + $60 = HEAP32[$2>>2]|0; + $61 = HEAP32[$3>>2]|0; + $62 = ((($61)) + 32|0); + $63 = HEAP32[$62>>2]|0; + _sqlite3DbFree($60,$63); + $64 = HEAP32[$3>>2]|0; + $65 = ((($64)) + 32|0); + HEAP32[$65>>2] = 0; + STACKTOP = sp;return; +} +function _vdbeSorterJoinAll($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$3>>2]|0; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 59|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = (($12) - 1)|0; + HEAP32[$5>>2] = $13; while(1) { - $116 = HEAP32[$rc>>2]|0; - $117 = ($116|0)==(0); - if (!($117)) { - label = 17; + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)>=(0); + if (!($15)) { break; } - $118 = HEAP32[$nWrite>>2]|0; - $119 = HEAP32[$0>>2]|0; - $120 = ((($119)) + 156|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($118>>>0)<($121>>>0); - if (!($122)) { - label = 17; - break; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 64|0); + $18 = HEAP32[$5>>2]|0; + $19 = (($17) + (($18*72)|0)|0); + HEAP32[$6>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = (_vdbeSorterJoinThread($20)|0); + HEAP32[$7>>2] = $21; + $22 = HEAP32[$4>>2]|0; + $23 = ($22|0)==(0); + if ($23) { + $24 = HEAP32[$7>>2]|0; + HEAP32[$4>>2] = $24; } - $123 = HEAP32[$0>>2]|0; - $124 = ((($123)) + 68|0); - $125 = HEAP32[$124>>2]|0; - $126 = HEAP32[$zHeader>>2]|0; - $127 = HEAP32[$nHeader>>2]|0; - $128 = HEAP32[$0>>2]|0; - $129 = ((($128)) + 80|0); - $130 = $129; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (($130) + 4)|0; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = (_sqlite3OsWrite($125,$126,$127,$132,$135)|0); - HEAP32[$rc>>2] = $136; - $137 = HEAP32[$nHeader>>2]|0; - $138 = HEAP32[$0>>2]|0; - $139 = ((($138)) + 80|0); - $140 = $139; - $141 = $140; - $142 = HEAP32[$141>>2]|0; - $143 = (($140) + 4)|0; - $144 = $143; - $145 = HEAP32[$144>>2]|0; - $146 = (_i64Add(($142|0),($145|0),($137|0),0)|0); - $147 = tempRet0; - $148 = $139; - $149 = $148; - HEAP32[$149>>2] = $146; - $150 = (($148) + 4)|0; - $151 = $150; - HEAP32[$151>>2] = $147; - $152 = HEAP32[$nHeader>>2]|0; - $153 = HEAP32[$nWrite>>2]|0; - $154 = (($153) + ($152))|0; - HEAP32[$nWrite>>2] = $154; - } - if ((label|0) == 17) { - $155 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($155|0); + $25 = HEAP32[$5>>2]|0; + $26 = (($25) + -1)|0; + HEAP32[$5>>2] = $26; } - return (0)|0; + $27 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($27|0); } -function _sqlite3PcacheClearSyncFlags($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 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, $p = 0; - var label = 0, sp = 0; +function _vdbePmaReaderClear($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[$0>>2]|0; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $2; - while(1) { - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - break; - } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 24|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = $8 & -9; - $10 = $9&65535; - HEAP16[$6>>1] = $10; - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 32|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$p>>2] = $13; + $3 = ((($2)) + 28|0); + $4 = HEAP32[$3>>2]|0; + _sqlite3_free($4); + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 36|0); + $7 = HEAP32[$6>>2]|0; + _sqlite3_free($7); + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 44|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 44|0); + $17 = HEAP32[$16>>2]|0; + (_sqlite3OsUnfetch($14,0,0,$17)|0); } - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 8|0); - HEAP32[$18>>2] = $16; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 48|0); + $20 = HEAP32[$19>>2]|0; + _vdbeIncrFree($20); + $21 = HEAP32[$1>>2]|0; + dest=$21; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } -function _pager_wait_on_lock($pPager,$locktype) { - $pPager = $pPager|0; - $locktype = $locktype|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _vdbeMergeEngineFree($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $locktype; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + $16 = HEAP32[$1>>2]|0; + _sqlite3_free($16); + STACKTOP = sp;return; + } + HEAP32[$2>>2] = 0; while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_pagerLockDb($2,$3)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - $6 = ($5|0)==(5); - if (!($6)) { - label = 4; - break; - } - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 184|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 188|0); - $12 = HEAP32[$11>>2]|0; - $13 = (FUNCTION_TABLE_ii[$9 & 255]($12)|0); - $14 = ($13|0)!=(0); - if (!($14)) { - label = 4; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ($5|0)<($7|0); + if (!($8)) { break; } + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = (($11) + (($12*56)|0)|0); + _vdbePmaReaderClear($13); + $14 = HEAP32[$2>>2]|0; + $15 = (($14) + 1)|0; + HEAP32[$2>>2] = $15; } - if ((label|0) == 4) { - $15 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($15|0); - } - return (0)|0; + $16 = HEAP32[$1>>2]|0; + _sqlite3_free($16); + STACKTOP = sp;return; } -function _pagerLockDb($pPager,$eLock) { - $pPager = $pPager|0; - $eLock = $eLock|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rc = 0; - var label = 0, sp = 0; +function _vdbeSortSubtaskCleanup($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $eLock; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 18|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = HEAP32[$1>>2]|0; - $7 = ($5|0)<($6|0); - if (!($7)) { - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 18|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)==(5); - if (!($12)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); - } - } - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 14|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)!=(0); - if ($17) { - $23 = 0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + _sqlite3DbFree($4,$7); + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 16|0); + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 16|0); + if ($12) { + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + _sqlite3_free($16); } else { - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 64|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = (_sqlite3OsLock($20,$21)|0); - $23 = $22; - } - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(0); - if (!($25)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $17 = HEAP32[$14>>2]|0; + _vdbeSorterRecordFree(0,$17); } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 18|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)!=(5); - $31 = HEAP32[$1>>2]|0; - $32 = ($31|0)==(4); - $or$cond = $30 | $32; - if (!($or$cond)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 40|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 40|0); + $24 = HEAP32[$23>>2]|0; + _sqlite3OsCloseFree($24); } - $33 = HEAP32[$1>>2]|0; - $34 = $33&255; - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 18|0); - HEAP8[$36>>0] = $34; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)!=(0|0); + if (!($28)) { + $32 = HEAP32[$3>>2]|0; + dest=$32; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; + } + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 56|0); + $31 = HEAP32[$30>>2]|0; + _sqlite3OsCloseFree($31); + $32 = HEAP32[$3>>2]|0; + dest=$32; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; } -function _sqlite3WalFrames($pWal,$szPage,$pList,$nTruncate,$isCommit,$sync_flags) { - $pWal = $pWal|0; - $szPage = $szPage|0; - $pList = $pList|0; - $nTruncate = $nTruncate|0; - $isCommit = $isCommit|0; - $sync_flags = $sync_flags|0; - var $$ = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; - var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; - var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; - var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0; - var $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0; - var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; - var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0; - var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0; - var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0; - var $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $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, $aCksum = 0, $aWalHdr = 0, $bSync = 0, $iFirst = 0, $iFrame = 0; - var $iOff = 0, $iOffset = 0, $iWrite = 0, $nDbSize = 0, $nExtra = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pData = 0, $pLast = 0, $pLive = 0, $rc = 0, $sectorSize = 0, $sz = 0, $szFrame = 0, $w = 0, label = 0, sp = 0; +function _vdbeSorterRecordFree($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $0 = sp + 136|0; - $1 = sp + 132|0; - $2 = sp + 128|0; - $3 = sp + 124|0; - $4 = sp + 120|0; - $5 = sp + 116|0; - $6 = sp + 112|0; - $rc = sp + 108|0; - $iFrame = sp + 104|0; - $p = sp + 100|0; - $pLast = sp + 96|0; - $nExtra = sp + 92|0; - $szFrame = sp + 88|0; - $iOffset = sp + 40|0; - $w = sp + 16|0; - $iFirst = sp + 84|0; - $pLive = sp + 80|0; - $aWalHdr = sp + 144|0; - $aCksum = sp + 72|0; - $nDbSize = sp + 64|0; - $iWrite = sp + 60|0; - $iOff = sp + 8|0; - $pData = sp + 56|0; - $bSync = sp + 52|0; - $sectorSize = sp + 48|0; - $sz = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $szPage; - HEAP32[$3>>2] = $pList; - HEAP32[$4>>2] = $nTruncate; - HEAP32[$5>>2] = $isCommit; - HEAP32[$6>>2] = $sync_flags; - HEAP32[$pLast>>2] = 0; - HEAP32[$nExtra>>2] = 0; - HEAP32[$iFirst>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = (_walIndexHdr($7)|0); - HEAP32[$pLive>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 52|0); - $11 = HEAP32[$pLive>>2]|0; - $12 = (_memcmp($10,$11,48)|0); - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$pLive>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$iFirst>>2] = $17; - } - $18 = HEAP32[$1>>2]|0; - $19 = (_walRestartLog($18)|0); - HEAP32[$rc>>2] = $19; - $20 = (0)!=($19|0); - if ($20) { - $21 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $21; - $533 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($533|0); - } - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 52|0); - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$iFrame>>2] = $25; - $26 = HEAP32[$iFrame>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - $28 = HEAP8[968>>0]|0; - $29 = $28 << 24 >> 24; - $30 = ($29|0)==(0); - $31 = $30&1; - $32 = 931071618 | $31; - _sqlite3Put4byte($aWalHdr,$32); - $33 = ((($aWalHdr)) + 4|0); - _sqlite3Put4byte($33,3007000); - $34 = ((($aWalHdr)) + 8|0); - $35 = HEAP32[$2>>2]|0; - _sqlite3Put4byte($34,$35); - $36 = ((($aWalHdr)) + 12|0); - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 112|0); - $39 = HEAP32[$38>>2]|0; - _sqlite3Put4byte($36,$39); - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 112|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 52|0); - $46 = ((($45)) + 32|0); - _sqlite3_randomness(8,$46); - } - $47 = ((($aWalHdr)) + 16|0); - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 52|0); - $50 = ((($49)) + 32|0); - ;HEAP8[$47>>0]=HEAP8[$50>>0]|0;HEAP8[$47+1>>0]=HEAP8[$50+1>>0]|0;HEAP8[$47+2>>0]=HEAP8[$50+2>>0]|0;HEAP8[$47+3>>0]=HEAP8[$50+3>>0]|0;HEAP8[$47+4>>0]=HEAP8[$50+4>>0]|0;HEAP8[$47+5>>0]=HEAP8[$50+5>>0]|0;HEAP8[$47+6>>0]=HEAP8[$50+6>>0]|0;HEAP8[$47+7>>0]=HEAP8[$50+7>>0]|0; - _walChecksumBytes(1,$aWalHdr,24,0,$aCksum); - $51 = ((($aWalHdr)) + 24|0); - $52 = HEAP32[$aCksum>>2]|0; - _sqlite3Put4byte($51,$52); - $53 = ((($aWalHdr)) + 28|0); - $54 = ((($aCksum)) + 4|0); - $55 = HEAP32[$54>>2]|0; - _sqlite3Put4byte($53,$55); - $56 = HEAP32[$2>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 36|0); - HEAP32[$58>>2] = $56; - $59 = HEAP8[968>>0]|0; - $60 = $59 << 24 >> 24; - $61 = ($60|0)==(0); - $62 = $61&1; - $63 = $62&255; - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 52|0); - $66 = ((($65)) + 13|0); - HEAP8[$66>>0] = $63; - $67 = HEAP32[$aCksum>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 52|0); - $70 = ((($69)) + 24|0); - HEAP32[$70>>2] = $67; - $71 = ((($aCksum)) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 52|0); - $75 = ((($74)) + 24|0); - $76 = ((($75)) + 4|0); - HEAP32[$76>>2] = $72; - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 47|0); - HEAP8[$78>>0] = 1; - $79 = HEAP32[$1>>2]|0; - $80 = ((($79)) + 8|0); - $81 = HEAP32[$80>>2]|0; - $82 = (_sqlite3OsWrite($81,$aWalHdr,32,0,0)|0); - HEAP32[$rc>>2] = $82; - $83 = HEAP32[$rc>>2]|0; - $84 = ($83|0)!=(0); - if ($84) { - $85 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $85; - $533 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($533|0); - } - $86 = HEAP32[$1>>2]|0; - $87 = ((($86)) + 48|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88&255; - $90 = ($89|0)!=(0); - $91 = HEAP32[$6>>2]|0; - $92 = ($91|0)!=(0); - $or$cond = $90 & $92; - if ($or$cond) { - $93 = HEAP32[$1>>2]|0; - $94 = ((($93)) + 8|0); - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$6>>2]|0; - $97 = $96 & 19; - $98 = (_sqlite3OsSync($95,$97)|0); - HEAP32[$rc>>2] = $98; - $99 = HEAP32[$rc>>2]|0; - $100 = ($99|0)!=(0); - if ($100) { - $101 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $101; - $533 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($533|0); - } - } - } - $102 = HEAP32[$1>>2]|0; - HEAP32[$w>>2] = $102; - $103 = HEAP32[$1>>2]|0; - $104 = ((($103)) + 8|0); - $105 = HEAP32[$104>>2]|0; - $106 = ((($w)) + 4|0); - HEAP32[$106>>2] = $105; - $107 = ((($w)) + 8|0); - $108 = $107; - $109 = $108; - HEAP32[$109>>2] = 0; - $110 = (($108) + 4)|0; - $111 = $110; - HEAP32[$111>>2] = 0; - $112 = HEAP32[$6>>2]|0; - $113 = ((($w)) + 16|0); - HEAP32[$113>>2] = $112; - $114 = HEAP32[$2>>2]|0; - $115 = ((($w)) + 20|0); - HEAP32[$115>>2] = $114; - $116 = HEAP32[$iFrame>>2]|0; - $117 = (($116) + 1)|0; - $118 = (($117) - 1)|0; - $119 = HEAP32[$2>>2]|0; - $120 = (($119) + 24)|0; - $121 = ($120|0)<(0); - $122 = $121 << 31 >> 31; - $123 = (___muldi3(($118|0),0,($120|0),($122|0))|0); - $124 = tempRet0; - $125 = (_i64Add(32,0,($123|0),($124|0))|0); - $126 = tempRet0; - $127 = $iOffset; - $128 = $127; - HEAP32[$128>>2] = $125; - $129 = (($127) + 4)|0; - $130 = $129; - HEAP32[$130>>2] = $126; - $131 = HEAP32[$2>>2]|0; - $132 = (($131) + 24)|0; - HEAP32[$szFrame>>2] = $132; - $133 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $133; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + HEAP32[$4>>2] = $6; while(1) { - $134 = HEAP32[$p>>2]|0; - $135 = ($134|0)!=(0|0); - if (!($135)) { - label = 30; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { break; } - $136 = HEAP32[$iFirst>>2]|0; - $137 = ($136|0)!=(0); - if ($137) { - $138 = HEAP32[$p>>2]|0; - $139 = ((($138)) + 12|0); - $140 = HEAP32[$139>>2]|0; - $141 = ($140|0)!=(0|0); - $142 = HEAP32[$5>>2]|0; - $143 = ($142|0)==(0); - $or$cond3 = $141 | $143; - if ($or$cond3) { - HEAP32[$iWrite>>2] = 0; - $144 = HEAP32[$1>>2]|0; - $145 = HEAP32[$p>>2]|0; - $146 = ((($145)) + 20|0); - $147 = HEAP32[$146>>2]|0; - (_sqlite3WalFindFrame($144,$147,$iWrite)|0); - $148 = HEAP32[$iWrite>>2]|0; - $149 = HEAP32[$iFirst>>2]|0; - $150 = ($148>>>0)>=($149>>>0); - if ($150) { - $151 = HEAP32[$iWrite>>2]|0; - $152 = (($151) - 1)|0; - $153 = HEAP32[$2>>2]|0; - $154 = (($153) + 24)|0; - $155 = ($154|0)<(0); - $156 = $155 << 31 >> 31; - $157 = (___muldi3(($152|0),0,($154|0),($156|0))|0); - $158 = tempRet0; - $159 = (_i64Add(32,0,($157|0),($158|0))|0); - $160 = tempRet0; - $161 = (_i64Add(($159|0),($160|0),24,0)|0); - $162 = tempRet0; - $163 = $iOff; - $164 = $163; - HEAP32[$164>>2] = $161; - $165 = (($163) + 4)|0; - $166 = $165; - HEAP32[$166>>2] = $162; - $167 = HEAP32[$1>>2]|0; - $168 = ((($167)) + 104|0); - $169 = HEAP32[$168>>2]|0; - $170 = ($169|0)==(0); - if ($170) { - label = 20; - } else { - $171 = HEAP32[$iWrite>>2]|0; - $172 = HEAP32[$1>>2]|0; - $173 = ((($172)) + 104|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($171>>>0)<($174>>>0); - if ($175) { - label = 20; - } - } - if ((label|0) == 20) { - label = 0; - $176 = HEAP32[$iWrite>>2]|0; - $177 = HEAP32[$1>>2]|0; - $178 = ((($177)) + 104|0); - HEAP32[$178>>2] = $176; - } - $179 = HEAP32[$p>>2]|0; - $180 = ((($179)) + 4|0); - $181 = HEAP32[$180>>2]|0; - HEAP32[$pData>>2] = $181; - $182 = HEAP32[$1>>2]|0; - $183 = ((($182)) + 8|0); - $184 = HEAP32[$183>>2]|0; - $185 = HEAP32[$pData>>2]|0; - $186 = HEAP32[$2>>2]|0; - $187 = $iOff; - $188 = $187; - $189 = HEAP32[$188>>2]|0; - $190 = (($187) + 4)|0; - $191 = $190; - $192 = HEAP32[$191>>2]|0; - $193 = (_sqlite3OsWrite($184,$185,$186,$189,$192)|0); - HEAP32[$rc>>2] = $193; - $194 = HEAP32[$rc>>2]|0; - $195 = ($194|0)!=(0); - if ($195) { - label = 22; - break; - } - $197 = HEAP32[$p>>2]|0; - $198 = ((($197)) + 24|0); - $199 = HEAP16[$198>>1]|0; - $200 = $199&65535; - $201 = $200 & -65; - $202 = $201&65535; - HEAP16[$198>>1] = $202; - } else { - label = 24; - } - } else { - label = 24; - } - } else { - label = 24; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$4>>2]|0; + _sqlite3DbFree($12,$13); + $14 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $14; + } + STACKTOP = sp;return; +} +function _vdbeIncrFree($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + STACKTOP = sp;return; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 24|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$8>>2]|0; + (_vdbeSorterJoinThread($9)|0); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 32|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + if ($13) { + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 32|0); + $16 = HEAP32[$15>>2]|0; + _sqlite3OsCloseFree($16); } - if ((label|0) == 24) { - label = 0; - $203 = HEAP32[$iFrame>>2]|0; - $204 = (($203) + 1)|0; - HEAP32[$iFrame>>2] = $204; - $205 = HEAP32[$5>>2]|0; - $206 = ($205|0)!=(0); - if ($206) { - $207 = HEAP32[$p>>2]|0; - $208 = ((($207)) + 12|0); - $209 = HEAP32[$208>>2]|0; - $210 = ($209|0)==(0|0); - $211 = HEAP32[$4>>2]|0; - $$ = $210 ? $211 : 0; - $212 = $$; - } else { - $212 = 0; - } - HEAP32[$nDbSize>>2] = $212; - $213 = HEAP32[$p>>2]|0; - $214 = HEAP32[$nDbSize>>2]|0; - $215 = $iOffset; - $216 = $215; - $217 = HEAP32[$216>>2]|0; - $218 = (($215) + 4)|0; - $219 = $218; - $220 = HEAP32[$219>>2]|0; - $221 = (_walWriteOneFrame($w,$213,$214,$217,$220)|0); - HEAP32[$rc>>2] = $221; - $222 = HEAP32[$rc>>2]|0; - $223 = ($222|0)!=(0); - if ($223) { - label = 27; - break; - } - $225 = HEAP32[$p>>2]|0; - HEAP32[$pLast>>2] = $225; - $226 = HEAP32[$szFrame>>2]|0; - $227 = ($226|0)<(0); - $228 = $227 << 31 >> 31; - $229 = $iOffset; - $230 = $229; - $231 = HEAP32[$230>>2]|0; - $232 = (($229) + 4)|0; - $233 = $232; - $234 = HEAP32[$233>>2]|0; - $235 = (_i64Add(($231|0),($234|0),($226|0),($228|0))|0); - $236 = tempRet0; - $237 = $iOffset; - $238 = $237; - HEAP32[$238>>2] = $235; - $239 = (($237) + 4)|0; - $240 = $239; - HEAP32[$240>>2] = $236; - $241 = HEAP32[$p>>2]|0; - $242 = ((($241)) + 24|0); - $243 = HEAP16[$242>>1]|0; - $244 = $243&65535; - $245 = $244 | 64; - $246 = $245&65535; - HEAP16[$242>>1] = $246; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 32|0); + $19 = ((($18)) + 16|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 32|0); + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + _sqlite3OsCloseFree($25); } - $247 = HEAP32[$p>>2]|0; - $248 = ((($247)) + 12|0); - $249 = HEAP32[$248>>2]|0; - HEAP32[$p>>2] = $249; } - if ((label|0) == 22) { - $196 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $196; - $533 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($533|0); + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + _vdbeMergeEngineFree($28); + $29 = HEAP32[$1>>2]|0; + _sqlite3_free($29); + STACKTOP = sp;return; +} +function _vdbeSorterJoinThread($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $14 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($14|0); } - else if ((label|0) == 27) { - $224 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $224; - $533 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($533|0); + HEAP32[$3>>2] = (1); + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$7>>2]|0; + (_sqlite3ThreadJoin($8,$3)|0); + $9 = HEAP32[$3>>2]|0; + $10 = $9; + HEAP32[$2>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 4|0); + HEAP32[$12>>2] = 0; + $13 = HEAP32[$1>>2]|0; + HEAP32[$13>>2] = 0; + $14 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($14|0); +} +function _sqlite3ThreadJoin($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + HEAP32[$2>>2] = 7; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } - else if ((label|0) == 30) { - $250 = HEAP32[$5>>2]|0; - $251 = ($250|0)!=(0); - if ($251) { - $252 = HEAP32[$1>>2]|0; - $253 = ((($252)) + 104|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)!=(0); - if ($255) { - $256 = HEAP32[$1>>2]|0; - $257 = HEAP32[$iFrame>>2]|0; - $258 = (_walRewriteChecksums($256,$257)|0); - HEAP32[$rc>>2] = $258; - $259 = HEAP32[$rc>>2]|0; - $260 = ($259|0)!=(0); - if ($260) { - $261 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $261; - $533 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($533|0); - } - } - } - $262 = HEAP32[$5>>2]|0; - $263 = ($262|0)!=(0); - if ($263) { - $264 = HEAP32[$6>>2]|0; - $265 = $264 & 32; - $266 = ($265|0)!=(0); - if ($266) { - HEAP32[$bSync>>2] = 1; - $267 = HEAP32[$1>>2]|0; - $268 = ((($267)) + 49|0); - $269 = HEAP8[$268>>0]|0; - $270 = ($269<<24>>24)!=(0); - L52: do { - if ($270) { - $271 = HEAP32[$1>>2]|0; - $272 = ((($271)) + 8|0); - $273 = HEAP32[$272>>2]|0; - $274 = (_sqlite3SectorSize($273)|0); - HEAP32[$sectorSize>>2] = $274; - $275 = $iOffset; - $276 = $275; - $277 = HEAP32[$276>>2]|0; - $278 = (($275) + 4)|0; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = HEAP32[$sectorSize>>2]|0; - $282 = ($281|0)<(0); - $283 = $282 << 31 >> 31; - $284 = (_i64Add(($277|0),($280|0),($281|0),($283|0))|0); - $285 = tempRet0; - $286 = (_i64Subtract(($284|0),($285|0),1,0)|0); - $287 = tempRet0; - $288 = HEAP32[$sectorSize>>2]|0; - $289 = ($288|0)<(0); - $290 = $289 << 31 >> 31; - $291 = (___divdi3(($286|0),($287|0),($288|0),($290|0))|0); - $292 = tempRet0; - $293 = HEAP32[$sectorSize>>2]|0; - $294 = ($293|0)<(0); - $295 = $294 << 31 >> 31; - $296 = (___muldi3(($291|0),($292|0),($293|0),($295|0))|0); - $297 = tempRet0; - $298 = ((($w)) + 8|0); - $299 = $298; - $300 = $299; - HEAP32[$300>>2] = $296; - $301 = (($299) + 4)|0; - $302 = $301; - HEAP32[$302>>2] = $297; - $303 = ((($w)) + 8|0); - $304 = $303; - $305 = $304; - $306 = HEAP32[$305>>2]|0; - $307 = (($304) + 4)|0; - $308 = $307; - $309 = HEAP32[$308>>2]|0; - $310 = $iOffset; - $311 = $310; - $312 = HEAP32[$311>>2]|0; - $313 = (($310) + 4)|0; - $314 = $313; - $315 = HEAP32[$314>>2]|0; - $316 = ($306|0)==($312|0); - $317 = ($309|0)==($315|0); - $318 = $316 & $317; - $319 = $318&1; - HEAP32[$bSync>>2] = $319; - while(1) { - $320 = $iOffset; - $321 = $320; - $322 = HEAP32[$321>>2]|0; - $323 = (($320) + 4)|0; - $324 = $323; - $325 = HEAP32[$324>>2]|0; - $326 = ((($w)) + 8|0); - $327 = $326; - $328 = $327; - $329 = HEAP32[$328>>2]|0; - $330 = (($327) + 4)|0; - $331 = $330; - $332 = HEAP32[$331>>2]|0; - $333 = ($325|0)<($332|0); - $334 = ($322>>>0)<($329>>>0); - $335 = ($325|0)==($332|0); - $336 = $335 & $334; - $337 = $333 | $336; - if (!($337)) { - break L52; - } - $338 = HEAP32[$pLast>>2]|0; - $339 = HEAP32[$4>>2]|0; - $340 = $iOffset; - $341 = $340; - $342 = HEAP32[$341>>2]|0; - $343 = (($340) + 4)|0; - $344 = $343; - $345 = HEAP32[$344>>2]|0; - $346 = (_walWriteOneFrame($w,$338,$339,$342,$345)|0); - HEAP32[$rc>>2] = $346; - $347 = HEAP32[$rc>>2]|0; - $348 = ($347|0)!=(0); - if ($348) { - break; - } - $350 = HEAP32[$szFrame>>2]|0; - $351 = ($350|0)<(0); - $352 = $351 << 31 >> 31; - $353 = $iOffset; - $354 = $353; - $355 = HEAP32[$354>>2]|0; - $356 = (($353) + 4)|0; - $357 = $356; - $358 = HEAP32[$357>>2]|0; - $359 = (_i64Add(($355|0),($358|0),($350|0),($352|0))|0); - $360 = tempRet0; - $361 = $iOffset; - $362 = $361; - HEAP32[$362>>2] = $359; - $363 = (($361) + 4)|0; - $364 = $363; - HEAP32[$364>>2] = $360; - $365 = HEAP32[$nExtra>>2]|0; - $366 = (($365) + 1)|0; - HEAP32[$nExtra>>2] = $366; - } - $349 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $349; - $533 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($533|0); - } - } while(0); - $367 = HEAP32[$bSync>>2]|0; - $368 = ($367|0)!=(0); - if ($368) { - $369 = ((($w)) + 4|0); - $370 = HEAP32[$369>>2]|0; - $371 = HEAP32[$6>>2]|0; - $372 = $371 & 19; - $373 = (_sqlite3OsSync($370,$372)|0); - HEAP32[$rc>>2] = $373; - } - } - } - $374 = HEAP32[$5>>2]|0; - $375 = ($374|0)!=(0); - if ($375) { - $376 = HEAP32[$1>>2]|0; - $377 = ((($376)) + 47|0); - $378 = HEAP8[$377>>0]|0; - $379 = $378&255; - $380 = ($379|0)!=(0); - if ($380) { - $381 = HEAP32[$1>>2]|0; - $382 = ((($381)) + 16|0); - $383 = $382; - $384 = $383; - $385 = HEAP32[$384>>2]|0; - $386 = (($383) + 4)|0; - $387 = $386; - $388 = HEAP32[$387>>2]|0; - $389 = ($388|0)>(0); - $390 = ($385>>>0)>=(0); - $391 = ($388|0)==(0); - $392 = $391 & $390; - $393 = $389 | $392; - if ($393) { - $394 = HEAP32[$1>>2]|0; - $395 = ((($394)) + 16|0); - $396 = $395; - $397 = $396; - $398 = HEAP32[$397>>2]|0; - $399 = (($396) + 4)|0; - $400 = $399; - $401 = HEAP32[$400>>2]|0; - $402 = $sz; - $403 = $402; - HEAP32[$403>>2] = $398; - $404 = (($402) + 4)|0; - $405 = $404; - HEAP32[$405>>2] = $401; - $406 = HEAP32[$iFrame>>2]|0; - $407 = HEAP32[$nExtra>>2]|0; - $408 = (($406) + ($407))|0; - $409 = (($408) + 1)|0; - $410 = (($409) - 1)|0; - $411 = HEAP32[$2>>2]|0; - $412 = (($411) + 24)|0; - $413 = ($412|0)<(0); - $414 = $413 << 31 >> 31; - $415 = (___muldi3(($410|0),0,($412|0),($414|0))|0); - $416 = tempRet0; - $417 = (_i64Add(32,0,($415|0),($416|0))|0); - $418 = tempRet0; - $419 = HEAP32[$1>>2]|0; - $420 = ((($419)) + 16|0); - $421 = $420; - $422 = $421; - $423 = HEAP32[$422>>2]|0; - $424 = (($421) + 4)|0; - $425 = $424; - $426 = HEAP32[$425>>2]|0; - $427 = ($418|0)>($426|0); - $428 = ($417>>>0)>($423>>>0); - $429 = ($418|0)==($426|0); - $430 = $429 & $428; - $431 = $427 | $430; - if ($431) { - $432 = HEAP32[$iFrame>>2]|0; - $433 = HEAP32[$nExtra>>2]|0; - $434 = (($432) + ($433))|0; - $435 = (($434) + 1)|0; - $436 = (($435) - 1)|0; - $437 = HEAP32[$2>>2]|0; - $438 = (($437) + 24)|0; - $439 = ($438|0)<(0); - $440 = $439 << 31 >> 31; - $441 = (___muldi3(($436|0),0,($438|0),($440|0))|0); - $442 = tempRet0; - $443 = (_i64Add(32,0,($441|0),($442|0))|0); - $444 = tempRet0; - $445 = $sz; - $446 = $445; - HEAP32[$446>>2] = $443; - $447 = (($445) + 4)|0; - $448 = $447; - HEAP32[$448>>2] = $444; - } - $449 = HEAP32[$1>>2]|0; - $450 = $sz; - $451 = $450; - $452 = HEAP32[$451>>2]|0; - $453 = (($450) + 4)|0; - $454 = $453; - $455 = HEAP32[$454>>2]|0; - _walLimitSize($449,$452,$455); - $456 = HEAP32[$1>>2]|0; - $457 = ((($456)) + 47|0); - HEAP8[$457>>0] = 0; - } - } - } - $458 = HEAP32[$1>>2]|0; - $459 = ((($458)) + 52|0); - $460 = ((($459)) + 16|0); - $461 = HEAP32[$460>>2]|0; - HEAP32[$iFrame>>2] = $461; - $462 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $462; - while(1) { - $463 = HEAP32[$p>>2]|0; - $464 = ($463|0)!=(0|0); - $465 = HEAP32[$rc>>2]|0; - $466 = ($465|0)==(0); - $467 = $464 ? $466 : 0; - if (!($467)) { - break; - } - $468 = HEAP32[$p>>2]|0; - $469 = ((($468)) + 24|0); - $470 = HEAP16[$469>>1]|0; - $471 = $470&65535; - $472 = $471 & 64; - $473 = ($472|0)==(0); - if (!($473)) { - $474 = HEAP32[$iFrame>>2]|0; - $475 = (($474) + 1)|0; - HEAP32[$iFrame>>2] = $475; - $476 = HEAP32[$1>>2]|0; - $477 = HEAP32[$iFrame>>2]|0; - $478 = HEAP32[$p>>2]|0; - $479 = ((($478)) + 20|0); - $480 = HEAP32[$479>>2]|0; - $481 = (_walIndexAppend($476,$477,$480)|0); - HEAP32[$rc>>2] = $481; - } - $482 = HEAP32[$p>>2]|0; - $483 = ((($482)) + 12|0); - $484 = HEAP32[$483>>2]|0; - HEAP32[$p>>2] = $484; - } - while(1) { - $485 = HEAP32[$rc>>2]|0; - $486 = ($485|0)==(0); - $487 = HEAP32[$nExtra>>2]|0; - $488 = ($487|0)>(0); - $489 = $486 ? $488 : 0; - if (!($489)) { - break; - } - $490 = HEAP32[$iFrame>>2]|0; - $491 = (($490) + 1)|0; - HEAP32[$iFrame>>2] = $491; - $492 = HEAP32[$nExtra>>2]|0; - $493 = (($492) + -1)|0; - HEAP32[$nExtra>>2] = $493; - $494 = HEAP32[$1>>2]|0; - $495 = HEAP32[$iFrame>>2]|0; - $496 = HEAP32[$pLast>>2]|0; - $497 = ((($496)) + 20|0); - $498 = HEAP32[$497>>2]|0; - $499 = (_walIndexAppend($494,$495,$498)|0); - HEAP32[$rc>>2] = $499; - } - $500 = HEAP32[$rc>>2]|0; - $501 = ($500|0)==(0); - if ($501) { - $502 = HEAP32[$2>>2]|0; - $503 = $502 & 65280; - $504 = HEAP32[$2>>2]|0; - $505 = $504 >> 16; - $506 = $503 | $505; - $507 = $506&65535; - $508 = HEAP32[$1>>2]|0; - $509 = ((($508)) + 52|0); - $510 = ((($509)) + 14|0); - HEAP16[$510>>1] = $507; - $511 = HEAP32[$iFrame>>2]|0; - $512 = HEAP32[$1>>2]|0; - $513 = ((($512)) + 52|0); - $514 = ((($513)) + 16|0); - HEAP32[$514>>2] = $511; - $515 = HEAP32[$5>>2]|0; - $516 = ($515|0)!=(0); - if ($516) { - $517 = HEAP32[$1>>2]|0; - $518 = ((($517)) + 52|0); - $519 = ((($518)) + 8|0); - $520 = HEAP32[$519>>2]|0; - $521 = (($520) + 1)|0; - HEAP32[$519>>2] = $521; - $522 = HEAP32[$4>>2]|0; - $523 = HEAP32[$1>>2]|0; - $524 = ((($523)) + 52|0); - $525 = ((($524)) + 20|0); - HEAP32[$525>>2] = $522; - } - $526 = HEAP32[$5>>2]|0; - $527 = ($526|0)!=(0); - if ($527) { - $528 = HEAP32[$1>>2]|0; - _walIndexWriteHdr($528); - $529 = HEAP32[$iFrame>>2]|0; - $530 = HEAP32[$1>>2]|0; - $531 = ((($530)) + 12|0); - HEAP32[$531>>2] = $529; - } - } - $532 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $532; - $533 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($533|0); + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0); + $12 = HEAP32[$3>>2]|0; + if ($11) { + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + HEAP32[$15>>2] = $14; + HEAP32[$5>>2] = 0; + } else { + $16 = HEAP32[$12>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = (_pthread_join(($16|0),($17|0))|0); + $19 = ($18|0)!=(0); + $20 = $19 ? 1 : 0; + HEAP32[$5>>2] = $20; } - return (0)|0; + $21 = HEAP32[$3>>2]|0; + _sqlite3_free($21); + $22 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $22; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } -function _walRestartLog($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt = 0, $notUsed = 0, $pInfo = 0, $rc = 0, $salt1 = 0, label = 0, sp = 0; +function _sqlite3_reset($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $rc = sp + 16|0; - $cnt = sp + 12|0; - $pInfo = sp + 8|0; - $salt1 = sp + 4|0; - $notUsed = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 40|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - $6 = ($5|0)==(0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)==(0|0); if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = (_walCkptInfo($7)|0); - HEAP32[$pInfo>>2] = $8; - $9 = HEAP32[$pInfo>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ($10>>>0)>(0); - do { - if ($11) { - _sqlite3_randomness(4,$salt1); - $12 = HEAP32[$1>>2]|0; - $13 = (_walLockExclusive($12,4,4)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)==(0); - if ($15) { - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$salt1>>2]|0; - _walRestartHdr($16,$17); - $18 = HEAP32[$1>>2]|0; - _walUnlockExclusive($18,4,4); - break; - } - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)!=(5); - if ($20) { - $21 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $21; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); - } - } - } while(0); - $22 = HEAP32[$1>>2]|0; - _walUnlockShared($22,3); - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 40|0); - HEAP16[$24>>1] = -1; - HEAP32[$cnt>>2] = 0; - while(1) { - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$cnt>>2]|0; - $27 = (($26) + 1)|0; - HEAP32[$cnt>>2] = $27; - $28 = (_walTryBeginRead($25,$notUsed,1,$27)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$rc>>2]|0; - $30 = ($29|0)==(-1); - if (!($30)) { - break; - } + HEAP32[$2>>2] = 0; + $37 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($37|0); + } + $7 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + _sqlite3_mutex_enter($12); + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 128|0); + $15 = $14; + $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[$4>>2]|0; + $27 = HEAP32[$3>>2]|0; + _invokeProfileCallback($26,$27); + } + $28 = HEAP32[$3>>2]|0; + $29 = (_sqlite3VdbeReset($28)|0); + HEAP32[$2>>2] = $29; + $30 = HEAP32[$3>>2]|0; + _sqlite3VdbeRewind($30); + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = (_sqlite3ApiExit($31,$32)|0); + HEAP32[$2>>2] = $33; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + _sqlite3_mutex_leave($36); + $37 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($37|0); +} +function _sqlite3VdbeRewind($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 20|0); + HEAP32[$3>>2] = 770837923; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 36|0); + HEAP32[$5>>2] = -1; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 40|0); + HEAP32[$7>>2] = 0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 142|0); + HEAP8[$9>>0] = 2; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 44|0); + HEAP32[$11>>2] = 0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 32|0); + HEAP32[$13>>2] = 1; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 143|0); + HEAP8[$15>>0] = -1; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 48|0); + HEAP32[$17>>2] = 0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 64|0); + $20 = $19; + $21 = $20; + HEAP32[$21>>2] = 0; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3_clear_bindings($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 0; + $6 = HEAP32[$1>>2]|0; + HEAP32[$4>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$5>>2]|0; + _sqlite3_mutex_enter($11); + HEAP32[$2>>2] = 0; + while(1) { + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15 << 16 >> 16; + $17 = ($12|0)<($16|0); + $18 = HEAP32[$4>>2]|0; + if (!($17)) { + break; } + $19 = ((($18)) + 116|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = (($20) + (($21*40)|0)|0); + _sqlite3VdbeMemRelease($22); + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 116|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = (($25) + (($26*40)|0)|0); + $28 = ((($27)) + 8|0); + HEAP16[$28>>1] = 1; + $29 = HEAP32[$2>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$2>>2] = $30; } - $31 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $31; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); + $31 = ((($18)) + 144|0); + $32 = HEAP16[$31>>1]|0; + $33 = ($32&65535) >>> 9; + $34 = $33 & 1; + $35 = $34&65535; + $36 = ($35|0)!=(0); + if (!($36)) { + $46 = HEAP32[$5>>2]|0; + _sqlite3_mutex_leave($46); + $47 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($47|0); + } + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 196|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)!=(0); + if (!($40)) { + $46 = HEAP32[$5>>2]|0; + _sqlite3_mutex_leave($46); + $47 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($47|0); + } + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 144|0); + $43 = HEAP16[$42>>1]|0; + $44 = $43 & -2; + $45 = $44 | 1; + HEAP16[$42>>1] = $45; + $46 = HEAP32[$5>>2]|0; + _sqlite3_mutex_leave($46); + $47 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($47|0); } -function _walWriteOneFrame($p,$pPage,$nTruncate,$0,$1) { - $p = $p|0; - $pPage = $pPage|0; - $nTruncate = $nTruncate|0; +function _sqlite3_step($0) { $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aFrame = 0, $pData = 0, $rc = 0, label = 0, sp = 0; + var $$sink = 0, $$sink2 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; + STACKTOP = STACKTOP + 48|0; + $1 = sp + 32|0; $2 = sp + 28|0; $3 = sp + 24|0; $4 = sp + 20|0; $5 = sp + 16|0; - $6 = sp; - $rc = sp + 12|0; - $pData = sp + 8|0; - $aFrame = sp + 32|0; - HEAP32[$3>>2] = $p; - HEAP32[$4>>2] = $pPage; - HEAP32[$5>>2] = $nTruncate; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = HEAP32[$4>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pData>>2] = $13; - $14 = HEAP32[$3>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$4>>2]|0; - $17 = ((($16)) + 20|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$5>>2]|0; - $20 = HEAP32[$pData>>2]|0; - _walEncodeFrame($15,$18,$19,$20,$aFrame); - $21 = HEAP32[$3>>2]|0; - $22 = $6; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (_walWriteToLog($21,$aFrame,24,$24,$27)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$rc>>2]|0; - $30 = ($29|0)!=(0); - if ($30) { - $31 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $31; - $47 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($47|0); + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + $10 = HEAP32[$2>>2]|0; + HEAP32[$5>>2] = $10; + HEAP32[$6>>2] = 0; + $11 = HEAP32[$5>>2]|0; + $12 = (_vdbeSafetyNotNull($11)|0); + $13 = ($12|0)!=(0); + if ($13) { + $14 = (_sqlite3MisuseError(75775)|0); + HEAP32[$1>>2] = $14; + $77 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($77|0); + } + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$7>>2] = $16; + $17 = HEAP32[$7>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3_mutex_enter($19); + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 144|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22 & -3; + HEAP16[$21>>1] = $23; + while(1) { + $24 = HEAP32[$5>>2]|0; + $25 = (_sqlite3Step($24)|0); + HEAP32[$3>>2] = $25; + $26 = ($25|0)==(17); + if (!($26)) { + break; + } + $27 = HEAP32[$6>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$6>>2] = $28; + $29 = ($27|0)<(50); + if (!($29)) { + break; + } + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 36|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$8>>2] = $32; + $33 = HEAP32[$5>>2]|0; + $34 = (_sqlite3Reprepare($33)|0); + HEAP32[$3>>2] = $34; + HEAP32[$4>>2] = $34; + $35 = HEAP32[$3>>2]|0; + $36 = ($35|0)!=(0); + if ($36) { + break; + } + $37 = HEAP32[$2>>2]|0; + (_sqlite3_reset($37)|0); + $38 = HEAP32[$8>>2]|0; + $39 = ($38|0)>=(0); + if (!($39)) { + continue; + } + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 144|0); + $42 = HEAP16[$41>>1]|0; + $43 = $42 & -3; + $44 = $43 | 2; + HEAP16[$41>>1] = $44; + } + $45 = HEAP32[$4>>2]|0; + $46 = ($45|0)!=(0); + if ($46) { + $47 = HEAP32[$7>>2]|0; + $48 = ((($47)) + 244|0); + $49 = HEAP32[$48>>2]|0; + $50 = (_sqlite3_value_text($49)|0); + HEAP32[$9>>2] = $50; + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$5>>2]|0; + $53 = ((($52)) + 108|0); + $54 = HEAP32[$53>>2]|0; + _sqlite3DbFree($51,$54); + $55 = HEAP32[$7>>2]|0; + $56 = ((($55)) + 69|0); + $57 = HEAP8[$56>>0]|0; + $58 = ($57<<24>>24)!=(0); + if ($58) { + $66 = HEAP32[$5>>2]|0; + $67 = ((($66)) + 108|0); + HEAP32[$67>>2] = 0; + HEAP32[$3>>2] = 7; + $68 = HEAP32[$5>>2]|0; + $$sink = 7;$$sink2 = $68; + } else { + $59 = HEAP32[$7>>2]|0; + $60 = HEAP32[$9>>2]|0; + $61 = (_sqlite3DbStrDup($59,$60)|0); + $62 = HEAP32[$5>>2]|0; + $63 = ((($62)) + 108|0); + HEAP32[$63>>2] = $61; + $64 = HEAP32[$4>>2]|0; + $65 = HEAP32[$5>>2]|0; + $$sink = $64;$$sink2 = $65; + } + $69 = ((($$sink2)) + 40|0); + HEAP32[$69>>2] = $$sink; + } + $70 = HEAP32[$7>>2]|0; + $71 = HEAP32[$3>>2]|0; + $72 = (_sqlite3ApiExit($70,$71)|0); + HEAP32[$3>>2] = $72; + $73 = HEAP32[$7>>2]|0; + $74 = ((($73)) + 12|0); + $75 = HEAP32[$74>>2]|0; + _sqlite3_mutex_leave($75); + $76 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $76; + $77 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($77|0); +} +function _vdbeSafetyNotNull($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + _sqlite3_log(21,42105,$vararg_buffer); + HEAP32[$1>>2] = 1; + $7 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($7|0); } else { - $32 = HEAP32[$3>>2]|0; - $33 = HEAP32[$pData>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = ((($34)) + 20|0); - $36 = HEAP32[$35>>2]|0; - $37 = $6; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (_i64Add(($39|0),($42|0),24,0)|0); - $44 = tempRet0; - $45 = (_walWriteToLog($32,$33,$36,$43,$44)|0); - HEAP32[$rc>>2] = $45; - $46 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $46; - $47 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($47|0); + $5 = HEAP32[$2>>2]|0; + $6 = (_vdbeSafety($5)|0); + HEAP32[$1>>2] = $6; + $7 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($7|0); } return (0)|0; } -function _walRewriteChecksums($pWal,$iLast) { - $pWal = $pWal|0; - $iLast = $iLast|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $aBuf = 0, $aFrame = 0, $iCksumOff = 0, $iOff = 0, $iPgno = 0, $iRead = 0, $nDbSize = 0, $rc = 0, $szPage = 0, label = 0, sp = 0; +function _sqlite3Step($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 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, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $szPage = sp + 36|0; - $rc = sp + 32|0; - $aBuf = sp + 28|0; - $aFrame = sp + 56|0; - $iRead = sp + 24|0; - $iCksumOff = sp + 8|0; - $iOff = sp; - $iPgno = sp + 20|0; - $nDbSize = sp + 16|0; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $iLast; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 36|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$szPage>>2] = $5; - HEAP32[$rc>>2] = 0; - $6 = HEAP32[$szPage>>2]|0; - $7 = (($6) + 24)|0; - $8 = (_sqlite3_malloc($7)|0); - HEAP32[$aBuf>>2] = $8; - $9 = HEAP32[$aBuf>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - HEAP32[$0>>2] = 7; - $124 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($124|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(770837923); + if ($8) { + $9 = HEAP32[$2>>2]|0; + (_sqlite3_reset($9)|0); } - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 104|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(1); - if ($14) { - $15 = $iCksumOff; - $16 = $15; - HEAP32[$16>>2] = 24; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = 0; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 69|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)!=(0); + $16 = HEAP32[$2>>2]|0; + if ($15) { + $17 = ((($16)) + 40|0); + HEAP32[$17>>2] = 7; + HEAP32[$1>>2] = 7; + $166 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($166|0); + } + $18 = ((($16)) + 36|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)<=(0); + if ($20) { + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 144|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23 & 1; + $25 = $24&65535; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 40|0); + HEAP32[$28>>2] = 17; + HEAP32[$4>>2] = 1; + } else { + label = 8; + } } else { - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 104|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) - 1)|0; - $23 = (($22) - 1)|0; - $24 = HEAP32[$szPage>>2]|0; - $25 = (($24) + 24)|0; - $26 = ($25|0)<(0); - $27 = $26 << 31 >> 31; - $28 = (___muldi3(($23|0),0,($25|0),($27|0))|0); - $29 = tempRet0; - $30 = (_i64Add(32,0,($28|0),($29|0))|0); - $31 = tempRet0; - $32 = (_i64Add(($30|0),($31|0),16,0)|0); - $33 = tempRet0; - $34 = $iCksumOff; - $35 = $34; - HEAP32[$35>>2] = $32; - $36 = (($34) + 4)|0; - $37 = $36; - HEAP32[$37>>2] = $33; + label = 8; } - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$aBuf>>2]|0; - $42 = $iCksumOff; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (_sqlite3OsRead($40,$41,8,$44,$47)|0); - HEAP32[$rc>>2] = $48; - $49 = HEAP32[$aBuf>>2]|0; - $50 = (_sqlite3Get4byte($49)|0); - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 52|0); - $53 = ((($52)) + 24|0); - HEAP32[$53>>2] = $50; - $54 = HEAP32[$aBuf>>2]|0; - $55 = ((($54)) + 4|0); - $56 = (_sqlite3Get4byte($55)|0); - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 52|0); - $59 = ((($58)) + 24|0); - $60 = ((($59)) + 4|0); - HEAP32[$60>>2] = $56; - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 104|0); - $63 = HEAP32[$62>>2]|0; - HEAP32[$iRead>>2] = $63; - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 104|0); - HEAP32[$65>>2] = 0; - while(1) { - $66 = HEAP32[$rc>>2]|0; - $67 = ($66|0)==(0); - if (!($67)) { - break; + if ((label|0) == 8) { + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 36|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<(0); + if ($32) { + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 156|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 248|0); + HEAP32[$38>>2] = 0; + } + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 192|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)!=(0|0); + if ($42) { + label = 13; + } else { + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 76|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = $46 & 2; + $48 = ($47|0)!=(0); + if ($48) { + label = 13; + } + } + if ((label|0) == 13) { + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 148|0); + $51 = ((($50)) + 5|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52<<24>>24)!=(0); + if (!($53)) { + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 176|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56|0)!=(0|0); + if ($57) { + $58 = HEAP32[$3>>2]|0; + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$2>>2]|0; + $61 = ((($60)) + 128|0); + (_sqlite3OsCurrentTimeInt64($59,$61)|0); + } + } + } + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 156|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$63>>2] = $65; + $66 = HEAP32[$2>>2]|0; + $67 = ((($66)) + 144|0); + $68 = HEAP16[$67>>1]|0; + $69 = ($68&65535) >>> 7; + $70 = $69 & 1; + $71 = $70&65535; + $72 = ($71|0)==(0); + if ($72) { + $73 = HEAP32[$3>>2]|0; + $74 = ((($73)) + 164|0); + $75 = HEAP32[$74>>2]|0; + $76 = (($75) + 1)|0; + HEAP32[$74>>2] = $76; + } + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 144|0); + $79 = HEAP16[$78>>1]|0; + $80 = ($79&65535) >>> 8; + $81 = $80 & 1; + $82 = $81&65535; + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$3>>2]|0; + $85 = ((($84)) + 160|0); + $86 = HEAP32[$85>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$85>>2] = $87; + } + $88 = HEAP32[$2>>2]|0; + $89 = ((($88)) + 36|0); + HEAP32[$89>>2] = 0; } - $68 = HEAP32[$iRead>>2]|0; - $69 = HEAP32[$2>>2]|0; - $70 = ($68>>>0)<=($69>>>0); - if (!($70)) { - break; + $90 = HEAP32[$2>>2]|0; + $91 = ((($90)) + 144|0); + $92 = HEAP16[$91>>1]|0; + $93 = ($92&65535) >>> 2; + $94 = $93 & 3; + $95 = $94&65535; + $96 = ($95|0)!=(0); + if ($96) { + $97 = HEAP32[$2>>2]|0; + $98 = (_sqlite3VdbeList($97)|0); + HEAP32[$4>>2] = $98; + } else { + $99 = HEAP32[$3>>2]|0; + $100 = ((($99)) + 168|0); + $101 = HEAP32[$100>>2]|0; + $102 = (($101) + 1)|0; + HEAP32[$100>>2] = $102; + $103 = HEAP32[$2>>2]|0; + $104 = (_sqlite3VdbeExec($103)|0); + HEAP32[$4>>2] = $104; + $105 = HEAP32[$3>>2]|0; + $106 = ((($105)) + 168|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + -1)|0; + HEAP32[$106>>2] = $108; } - $71 = HEAP32[$iRead>>2]|0; - $72 = (($71) - 1)|0; - $73 = HEAP32[$szPage>>2]|0; - $74 = (($73) + 24)|0; - $75 = ($74|0)<(0); - $76 = $75 << 31 >> 31; - $77 = (___muldi3(($72|0),0,($74|0),($76|0))|0); - $78 = tempRet0; - $79 = (_i64Add(32,0,($77|0),($78|0))|0); - $80 = tempRet0; - $81 = $iOff; - $82 = $81; - HEAP32[$82>>2] = $79; - $83 = (($81) + 4)|0; - $84 = $83; - HEAP32[$84>>2] = $80; - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 8|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$aBuf>>2]|0; - $89 = HEAP32[$szPage>>2]|0; - $90 = (($89) + 24)|0; - $91 = $iOff; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (($91) + 4)|0; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (_sqlite3OsRead($87,$88,$90,$93,$96)|0); - HEAP32[$rc>>2] = $97; - $98 = HEAP32[$rc>>2]|0; - $99 = ($98|0)==(0); - if ($99) { - $100 = HEAP32[$aBuf>>2]|0; - $101 = (_sqlite3Get4byte($100)|0); - HEAP32[$iPgno>>2] = $101; - $102 = HEAP32[$aBuf>>2]|0; - $103 = ((($102)) + 4|0); - $104 = (_sqlite3Get4byte($103)|0); - HEAP32[$nDbSize>>2] = $104; - $105 = HEAP32[$1>>2]|0; - $106 = HEAP32[$iPgno>>2]|0; - $107 = HEAP32[$nDbSize>>2]|0; - $108 = HEAP32[$aBuf>>2]|0; - $109 = ((($108)) + 24|0); - _walEncodeFrame($105,$106,$107,$109,$aFrame); - $110 = HEAP32[$1>>2]|0; - $111 = ((($110)) + 8|0); - $112 = HEAP32[$111>>2]|0; - $113 = $iOff; + $109 = HEAP32[$4>>2]|0; + $110 = ($109|0)!=(100); + if ($110) { + $111 = HEAP32[$2>>2]|0; + $112 = ((($111)) + 128|0); + $113 = $112; $114 = $113; $115 = HEAP32[$114>>2]|0; $116 = (($113) + 4)|0; $117 = $116; $118 = HEAP32[$117>>2]|0; - $119 = (_sqlite3OsWrite($112,$aFrame,24,$115,$118)|0); - HEAP32[$rc>>2] = $119; + $119 = ($118|0)>(0); + $120 = ($115>>>0)>(0); + $121 = ($118|0)==(0); + $122 = $121 & $120; + $123 = $119 | $122; + if ($123) { + $124 = HEAP32[$3>>2]|0; + $125 = HEAP32[$2>>2]|0; + _invokeProfileCallback($124,$125); + } + } + $126 = HEAP32[$4>>2]|0; + $127 = ($126|0)==(101); + if ($127) { + $128 = HEAP32[$3>>2]|0; + $129 = (_doWalCallbacks($128)|0); + $130 = HEAP32[$2>>2]|0; + $131 = ((($130)) + 40|0); + HEAP32[$131>>2] = $129; + $132 = HEAP32[$2>>2]|0; + $133 = ((($132)) + 40|0); + $134 = HEAP32[$133>>2]|0; + $135 = ($134|0)!=(0); + if ($135) { + HEAP32[$4>>2] = 1; + } + } + $136 = HEAP32[$4>>2]|0; + $137 = HEAP32[$3>>2]|0; + $138 = ((($137)) + 52|0); + HEAP32[$138>>2] = $136; + $139 = HEAP32[$2>>2]|0; + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$2>>2]|0; + $142 = ((($141)) + 40|0); + $143 = HEAP32[$142>>2]|0; + $144 = (_sqlite3ApiExit($140,$143)|0); + $145 = (7)==($144|0); + if ($145) { + $146 = HEAP32[$2>>2]|0; + $147 = ((($146)) + 40|0); + HEAP32[$147>>2] = 7; } - $120 = HEAP32[$iRead>>2]|0; - $121 = (($120) + 1)|0; - HEAP32[$iRead>>2] = $121; } - $122 = HEAP32[$aBuf>>2]|0; - _sqlite3_free($122); - $123 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $123; - $124 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($124|0); + $148 = HEAP32[$2>>2]|0; + $149 = ((($148)) + 144|0); + $150 = HEAP16[$149>>1]|0; + $151 = ($150&65535) >>> 9; + $152 = $151 & 1; + $153 = $152&65535; + $154 = ($153|0)!=(0); + $155 = HEAP32[$4>>2]|0; + $156 = ($155|0)!=(100); + $or$cond = $154 & $156; + $157 = HEAP32[$4>>2]|0; + $158 = ($157|0)!=(101); + $or$cond3 = $or$cond & $158; + if ($or$cond3) { + $159 = HEAP32[$2>>2]|0; + $160 = (_sqlite3VdbeTransferError($159)|0); + HEAP32[$4>>2] = $160; + } + $161 = HEAP32[$4>>2]|0; + $162 = HEAP32[$3>>2]|0; + $163 = ((($162)) + 56|0); + $164 = HEAP32[$163>>2]|0; + $165 = $161 & $164; + HEAP32[$1>>2] = $165; + $166 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($166|0); } -function _walEncodeFrame($pWal,$iPage,$nTruncate,$aData,$aFrame) { - $pWal = $pWal|0; - $iPage = $iPage|0; - $nTruncate = $nTruncate|0; - $aData = $aData|0; - $aFrame = $aFrame|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aCksum = 0, $nativeCksum = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _sqlite3Reprepare($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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; $1 = sp + 20|0; $2 = sp + 16|0; $3 = sp + 12|0; $4 = sp + 8|0; - $nativeCksum = sp + 4|0; - $aCksum = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $iPage; - HEAP32[$2>>2] = $nTruncate; - HEAP32[$3>>2] = $aData; - HEAP32[$4>>2] = $aFrame; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 52|0); - $7 = ((($6)) + 24|0); - HEAP32[$aCksum>>2] = $7; - $8 = HEAP32[$4>>2]|0; - $9 = HEAP32[$1>>2]|0; - _sqlite3Put4byte($8,$9); - $10 = HEAP32[$4>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$2>>2]|0; - _sqlite3Put4byte($11,$12); - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 104|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)==(0); - $17 = HEAP32[$4>>2]|0; - $18 = ((($17)) + 8|0); - if ($16) { - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 52|0); - $21 = ((($20)) + 32|0); - ;HEAP8[$18>>0]=HEAP8[$21>>0]|0;HEAP8[$18+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$18+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$18+3>>0]=HEAP8[$21+3>>0]|0;HEAP8[$18+4>>0]=HEAP8[$21+4>>0]|0;HEAP8[$18+5>>0]=HEAP8[$21+5>>0]|0;HEAP8[$18+6>>0]=HEAP8[$21+6>>0]|0;HEAP8[$18+7>>0]=HEAP8[$21+7>>0]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 52|0); - $24 = ((($23)) + 13|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = HEAP8[968>>0]|0; - $28 = $27 << 24 >> 24; - $29 = ($28|0)==(0); - $30 = $29&1; - $31 = ($26|0)==($30|0); - $32 = $31&1; - HEAP32[$nativeCksum>>2] = $32; - $33 = HEAP32[$nativeCksum>>2]|0; - $34 = HEAP32[$4>>2]|0; - $35 = HEAP32[$aCksum>>2]|0; - $36 = HEAP32[$aCksum>>2]|0; - _walChecksumBytes($33,$34,8,$35,$36); - $37 = HEAP32[$nativeCksum>>2]|0; - $38 = HEAP32[$3>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 36|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$aCksum>>2]|0; - $43 = HEAP32[$aCksum>>2]|0; - _walChecksumBytes($37,$38,$41,$42,$43); - $44 = HEAP32[$4>>2]|0; - $45 = ((($44)) + 16|0); - $46 = HEAP32[$aCksum>>2]|0; - $47 = HEAP32[$46>>2]|0; - _sqlite3Put4byte($45,$47); - $48 = HEAP32[$4>>2]|0; - $49 = ((($48)) + 20|0); - $50 = HEAP32[$aCksum>>2]|0; - $51 = ((($50)) + 4|0); - $52 = HEAP32[$51>>2]|0; - _sqlite3Put4byte($49,$52); - STACKTOP = sp;return; - } else { - dest=$18; stop=dest+16|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + $7 = HEAP32[$2>>2]|0; + $8 = (_sqlite3_sql($7)|0); + HEAP32[$5>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = (_sqlite3VdbeDb($9)|0); + HEAP32[$6>>2] = $10; + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = (_sqlite3LockAndPrepare($11,$12,-1,0,$13,$4,0)|0); + HEAP32[$3>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)!=(0); + if (!($16)) { + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$2>>2]|0; + _sqlite3VdbeSwap($21,$22); + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$2>>2]|0; + (_sqlite3TransferBindings($23,$24)|0); + $25 = HEAP32[$4>>2]|0; + _sqlite3VdbeResetStepResult($25); + $26 = HEAP32[$4>>2]|0; + (_sqlite3VdbeFinalize($26)|0); + HEAP32[$1>>2] = 0; + $27 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($27|0); + } + $17 = HEAP32[$3>>2]|0; + $18 = ($17|0)==(7); + if ($18) { + $19 = HEAP32[$6>>2]|0; + _sqlite3OomFault($19); + } + $20 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $20; + $27 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($27|0); +} +function _sqlite3_sql($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $9 = 0; + STACKTOP = sp;return ($9|0); } + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 176|0); + $8 = HEAP32[$7>>2]|0; + $9 = $8; + STACKTOP = sp;return ($9|0); +} +function _sqlite3VdbeDb($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); } -function _walWriteToLog($p,$pContent,$iAmt,$0,$1) { - $p = $p|0; - $pContent = $pContent|0; - $iAmt = $iAmt|0; +function _sqlite3LockAndPrepare($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iFirstAmt = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; - $6 = sp; - $rc = sp + 12|0; - $iFirstAmt = sp + 8|0; - HEAP32[$3>>2] = $p; - HEAP32[$4>>2] = $pContent; - HEAP32[$5>>2] = $iAmt; - $7 = $6; - $8 = $7; + STACKTOP = STACKTOP + 48|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = $6; - $12 = $11; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + $16 = HEAP32[$13>>2]|0; + HEAP32[$16>>2] = 0; + $17 = HEAP32[$8>>2]|0; + $18 = (_sqlite3SafetyCheckOk($17)|0); + $19 = ($18|0)==(0); + $20 = HEAP32[$9>>2]|0; + $21 = ($20|0)==(0|0); + $or$cond = $19 | $21; + if ($or$cond) { + $22 = (_sqlite3MisuseError(114197)|0); + HEAP32[$7>>2] = $22; + $52 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($52|0); + } + $23 = HEAP32[$8>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + _sqlite3_mutex_enter($25); + $26 = HEAP32[$8>>2]|0; + _sqlite3BtreeEnterAll($26); + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = HEAP32[$10>>2]|0; + $30 = HEAP32[$11>>2]|0; + $31 = HEAP32[$12>>2]|0; + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$14>>2]|0; + $34 = (_sqlite3Prepare($27,$28,$29,$30,$31,$32,$33)|0); + HEAP32[$15>>2] = $34; + $35 = HEAP32[$15>>2]|0; + $36 = ($35|0)==(17); + if ($36) { + $37 = HEAP32[$13>>2]|0; + $38 = HEAP32[$37>>2]|0; + (_sqlite3_finalize($38)|0); + $39 = HEAP32[$8>>2]|0; + $40 = HEAP32[$9>>2]|0; + $41 = HEAP32[$10>>2]|0; + $42 = HEAP32[$11>>2]|0; + $43 = HEAP32[$12>>2]|0; + $44 = HEAP32[$13>>2]|0; + $45 = HEAP32[$14>>2]|0; + $46 = (_sqlite3Prepare($39,$40,$41,$42,$43,$44,$45)|0); + HEAP32[$15>>2] = $46; + } + $47 = HEAP32[$8>>2]|0; + _sqlite3BtreeLeaveAll($47); + $48 = HEAP32[$8>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + _sqlite3_mutex_leave($50); + $51 = HEAP32[$15>>2]|0; + HEAP32[$7>>2] = $51; + $52 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($52|0); +} +function _sqlite3VdbeSwap($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224|0; + $2 = sp + 220|0; + $3 = sp + 216|0; + $4 = sp; + $5 = sp + 212|0; + $6 = sp + 208|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + _memcpy(($4|0),($7|0),208)|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + _memcpy(($8|0),($9|0),208)|0; + $10 = HEAP32[$3>>2]|0; + _memcpy(($10|0),($4|0),208)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 8|0); $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$3>>2]|0; + $17 = HEAP32[$2>>2]|0; $18 = ((($17)) + 8|0); - $19 = $18; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; + HEAP32[$18>>2] = $16; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 8|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; - $25 = ($16|0)<($24|0); - $26 = ($13>>>0)<($21>>>0); - $27 = ($16|0)==($24|0); - $28 = $27 & $26; - $29 = $25 | $28; - if ($29) { - $30 = $6; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$5>>2]|0; - $37 = ($36|0)<(0); - $38 = $37 << 31 >> 31; - $39 = (_i64Add(($32|0),($35|0),($36|0),($38|0))|0); - $40 = tempRet0; - $41 = HEAP32[$3>>2]|0; - $42 = ((($41)) + 8|0); - $43 = $42; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = (($43) + 4)|0; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = ($40|0)>($48|0); - $50 = ($39>>>0)>=($45>>>0); - $51 = ($40|0)==($48|0); - $52 = $51 & $50; - $53 = $49 | $52; - if ($53) { - $54 = HEAP32[$3>>2]|0; - $55 = ((($54)) + 8|0); - $56 = $55; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = (($56) + 4)|0; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = $6; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (_i64Subtract(($58|0),($61|0),($64|0),($67|0))|0); - $69 = tempRet0; - HEAP32[$iFirstAmt>>2] = $68; - $70 = HEAP32[$3>>2]|0; - $71 = ((($70)) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$4>>2]|0; - $74 = HEAP32[$iFirstAmt>>2]|0; - $75 = $6; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (_sqlite3OsWrite($72,$73,$74,$77,$80)|0); - HEAP32[$rc>>2] = $81; - $82 = HEAP32[$rc>>2]|0; - $83 = ($82|0)!=(0); - if ($83) { - $84 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $84; - $132 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($132|0); - } - $85 = HEAP32[$iFirstAmt>>2]|0; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $6; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (_i64Add(($90|0),($93|0),($85|0),($87|0))|0); - $95 = tempRet0; - $96 = $6; - $97 = $96; - HEAP32[$97>>2] = $94; - $98 = (($96) + 4)|0; - $99 = $98; - HEAP32[$99>>2] = $95; - $100 = HEAP32[$iFirstAmt>>2]|0; - $101 = HEAP32[$5>>2]|0; - $102 = (($101) - ($100))|0; - HEAP32[$5>>2] = $102; - $103 = HEAP32[$iFirstAmt>>2]|0; - $104 = HEAP32[$4>>2]|0; - $105 = (($104) + ($103)|0); - HEAP32[$4>>2] = $105; - $106 = HEAP32[$3>>2]|0; - $107 = ((($106)) + 4|0); - $108 = HEAP32[$107>>2]|0; - $109 = HEAP32[$3>>2]|0; - $110 = ((($109)) + 16|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 & 19; - $113 = (_sqlite3OsSync($108,$112)|0); - HEAP32[$rc>>2] = $113; - $114 = HEAP32[$5>>2]|0; - $115 = ($114|0)==(0); - $116 = HEAP32[$rc>>2]|0; - $117 = ($116|0)!=(0); - $or$cond = $115 | $117; - if ($or$cond) { - $118 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $118; - $132 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($132|0); - } + HEAP32[$5>>2] = $24; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 4|0); + HEAP32[$29>>2] = $27; + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 4|0); + HEAP32[$32>>2] = $30; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 176|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$6>>2] = $35; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 176|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 176|0); + HEAP32[$40>>2] = $38; + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 176|0); + HEAP32[$43>>2] = $41; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 144|0); + $46 = HEAP16[$45>>1]|0; + $47 = ($46&65535) >>> 9; + $48 = $47 & 1; + $49 = $48&65535; + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 144|0); + $52 = $49&65535; + $53 = HEAP16[$51>>1]|0; + $54 = $52 & 1; + $55 = ($54 << 9)&65535; + $56 = $53 & -513; + $57 = $56 | $55; + HEAP16[$51>>1] = $57; + STACKTOP = sp;return; +} +function _sqlite3TransferBindings($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $8; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + _sqlite3_mutex_enter($12); + HEAP32[$6>>2] = 0; + while(1) { + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16 << 16 >> 16; + $18 = ($13|0)<($17|0); + $19 = HEAP32[$5>>2]|0; + if (!($18)) { + break; } + $20 = ((($19)) + 116|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = (($21) + (($22*40)|0)|0); + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 116|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = (($26) + (($27*40)|0)|0); + _sqlite3VdbeMemMove($23,$28); + $29 = HEAP32[$6>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$6>>2] = $30; } - $119 = HEAP32[$3>>2]|0; - $120 = ((($119)) + 4|0); - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$4>>2]|0; - $123 = HEAP32[$5>>2]|0; - $124 = $6; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = (($124) + 4)|0; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (_sqlite3OsWrite($121,$122,$123,$126,$129)|0); - HEAP32[$rc>>2] = $130; - $131 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $131; - $132 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($132|0); + $31 = HEAP32[$19>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + _sqlite3_mutex_leave($33); + STACKTOP = sp;return 0; } -function _walTryBeginRead($pWal,$pChanged,$useWal,$cnt) { - $pWal = $pWal|0; - $pChanged = $pChanged|0; - $useWal = $useWal|0; - $cnt = $cnt|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $i = 0, $mxFrame = 0, $mxI = 0, $mxReadMark = 0, $nDelay = 0, $or$cond = 0, $pInfo = 0, $rc = 0, $thisMark = 0, label = 0, sp = 0; +function _sqlite3VdbeResetStepResult($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $pInfo = sp + 28|0; - $mxReadMark = sp + 24|0; - $mxI = sp + 20|0; - $i = sp + 16|0; - $rc = sp + 12|0; - $mxFrame = sp + 8|0; - $nDelay = sp + 4|0; - $thisMark = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $pChanged; - HEAP32[$3>>2] = $useWal; - HEAP32[$4>>2] = $cnt; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(5); - if ($6) { - HEAP32[$nDelay>>2] = 1; - $7 = HEAP32[$4>>2]|0; - $8 = ($7|0)>(100); - if ($8) { - HEAP32[$0>>2] = 15; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 40|0); + HEAP32[$3>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3VdbeMemMove($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + _sqlite3VdbeMemRelease($4); + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + dest=$5; src=$6; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 8|0); + HEAP16[$8>>1] = 1; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 24|0); + HEAP32[$10>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3SafetyCheckOk($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)==(0|0); + do { + if ($5) { + _logBadConnection(20953); + HEAP32[$1>>2] = 0; + } else { + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 84|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)!=(-1607883113); + if (!($10)) { + HEAP32[$1>>2] = 1; + break; + } + $11 = HEAP32[$2>>2]|0; + $12 = (_sqlite3SafetyCheckSickOrOk($11)|0); + $13 = ($12|0)!=(0); + if ($13) { + _logBadConnection(38719); + } + HEAP32[$1>>2] = 0; } - $9 = HEAP32[$4>>2]|0; - $10 = ($9|0)>=(10); - if ($10) { - $11 = HEAP32[$4>>2]|0; - $12 = (($11) - 9)|0; - $13 = HEAP32[$4>>2]|0; - $14 = (($13) - 9)|0; - $15 = Math_imul($12, $14)|0; - $16 = ($15*39)|0; - HEAP32[$nDelay>>2] = $16; + } while(0); + $14 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($14|0); +} +function _sqlite3Prepare($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + 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_buffer3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 576|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $7 = sp + 572|0; + $8 = sp + 568|0; + $9 = sp + 564|0; + $10 = sp + 560|0; + $11 = sp + 556|0; + $12 = sp + 552|0; + $13 = sp + 548|0; + $14 = sp + 544|0; + $15 = sp + 540|0; + $16 = sp + 536|0; + $17 = sp + 56|0; + $18 = sp + 48|0; + $19 = sp + 44|0; + $20 = sp + 40|0; + $21 = sp + 36|0; + $22 = sp + 32|0; + $23 = sp + 28|0; + $24 = sp + 24|0; + $25 = sp + 20|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + _memset(($17|0),0,152)|0; + $26 = ((($17)) + 400|0); + dest=$26; stop=dest+80|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $27 = HEAP32[$11>>2]|0; + $28 = ((($17)) + 432|0); + HEAP32[$28>>2] = $27; + HEAP32[$16>>2] = 0; + while(1) { + $29 = HEAP32[$16>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = ((($30)) + 20|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($29|0)<($32|0); + $34 = HEAP32[$7>>2]|0; + if (!($33)) { + break; } - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$nDelay>>2]|0; - (_sqlite3OsSleep($18,$19)|0); - } - $20 = HEAP32[$3>>2]|0; - $21 = ($20|0)!=(0); - if (!($21)) { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (_walIndexReadHdr($22,$23)|0); - HEAP32[$rc>>2] = $24; - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)==(5); - do { - if ($26) { - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 32|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==(0|0); - if ($31) { - HEAP32[$rc>>2] = -1; - break; - } - $32 = HEAP32[$1>>2]|0; - $33 = (_walLockShared($32,2)|0); - HEAP32[$rc>>2] = $33; - $34 = (0)==($33|0); - if ($34) { - $35 = HEAP32[$1>>2]|0; - _walUnlockShared($35,2); - HEAP32[$rc>>2] = -1; - break; - } - $36 = HEAP32[$rc>>2]|0; - $37 = ($36|0)==(5); - if ($37) { - HEAP32[$rc>>2] = 261; - } + $35 = ((($34)) + 16|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$16>>2]|0; + $38 = (($36) + ($37<<4)|0); + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$18>>2] = $40; + $41 = HEAP32[$18>>2]|0; + $42 = ($41|0)!=(0|0); + if ($42) { + $43 = HEAP32[$18>>2]|0; + $44 = (_sqlite3BtreeSchemaLocked($43)|0); + HEAP32[$15>>2] = $44; + $45 = HEAP32[$15>>2]|0; + $46 = ($45|0)!=(0); + if ($46) { + label = 5; + break; } - } while(0); - $38 = HEAP32[$rc>>2]|0; - $39 = ($38|0)!=(0); - if ($39) { - $40 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $40; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); } + $56 = HEAP32[$16>>2]|0; + $57 = (($56) + 1)|0; + HEAP32[$16>>2] = $57; } - $41 = HEAP32[$1>>2]|0; - $42 = (_walCkptInfo($41)|0); - HEAP32[$pInfo>>2] = $42; - $43 = HEAP32[$3>>2]|0; - $44 = ($43|0)!=(0); + if ((label|0) == 5) { + $47 = HEAP32[$7>>2]|0; + $48 = ((($47)) + 16|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$16>>2]|0; + $51 = (($49) + ($50<<4)|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$19>>2] = $52; + $53 = HEAP32[$7>>2]|0; + $54 = HEAP32[$15>>2]|0; + $55 = HEAP32[$19>>2]|0; + HEAP32[$vararg_buffer>>2] = $55; + _sqlite3ErrorWithMsg($53,$54,25177,$vararg_buffer); + _sqlite3ParserReset($17); + $202 = HEAP32[$7>>2]|0; + $203 = HEAP32[$15>>2]|0; + $204 = (_sqlite3ApiExit($202,$203)|0); + HEAP32[$15>>2] = $204; + $205 = HEAP32[$15>>2]|0; + STACKTOP = sp;return ($205|0); + } + _sqlite3VtabUnlockList($34); + $58 = HEAP32[$7>>2]|0; + HEAP32[$17>>2] = $58; + $59 = HEAP32[$9>>2]|0; + $60 = ($59|0)>=(0); do { - if (!($44)) { - $45 = HEAP32[$pInfo>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 52|0); - $49 = ((($48)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($46|0)==($50|0); - if ($51) { - $52 = HEAP32[$1>>2]|0; - $53 = (_walLockShared($52,3)|0); - HEAP32[$rc>>2] = $53; - $54 = HEAP32[$1>>2]|0; - _walShmBarrier($54); - $55 = HEAP32[$rc>>2]|0; - $56 = ($55|0)==(0); - if (!($56)) { - $65 = HEAP32[$rc>>2]|0; - $66 = ($65|0)!=(5); - if (!($66)) { - break; - } - $67 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $67; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); - } - $57 = HEAP32[$1>>2]|0; - $58 = (_walIndexHdr($57)|0); - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 52|0); - $61 = (_memcmp($58,$60,48)|0); - $62 = ($61|0)!=(0); - $63 = HEAP32[$1>>2]|0; - if ($62) { - _walUnlockShared($63,3); - HEAP32[$0>>2] = -1; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); - } else { - $64 = ((($63)) + 40|0); - HEAP16[$64>>1] = 0; - HEAP32[$0>>2] = 0; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); + if ($60) { + $61 = HEAP32[$9>>2]|0; + $62 = ($61|0)==(0); + if (!($62)) { + $63 = HEAP32[$8>>2]|0; + $64 = HEAP32[$9>>2]|0; + $65 = (($64) - 1)|0; + $66 = (($63) + ($65)|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67 << 24 >> 24; + $69 = ($68|0)!=(0); + if (!($69)) { + label = 15; + break; } } - } - } while(0); - HEAP32[$mxReadMark>>2] = 0; - HEAP32[$mxI>>2] = 0; - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 52|0); - $70 = ((($69)) + 16|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[$mxFrame>>2] = $71; - HEAP32[$i>>2] = 1; - while(1) { - $72 = HEAP32[$i>>2]|0; - $73 = ($72|0)<(5); - if (!($73)) { - break; - } - $74 = HEAP32[$i>>2]|0; - $75 = HEAP32[$pInfo>>2]|0; - $76 = ((($75)) + 4|0); - $77 = (($76) + ($74<<2)|0); - $78 = HEAP32[$77>>2]|0; - HEAP32[$thisMark>>2] = $78; - $79 = HEAP32[$mxReadMark>>2]|0; - $80 = HEAP32[$thisMark>>2]|0; - $81 = ($79>>>0)<=($80>>>0); - if ($81) { - $82 = HEAP32[$thisMark>>2]|0; - $83 = HEAP32[$mxFrame>>2]|0; - $84 = ($82>>>0)<=($83>>>0); - if ($84) { - $85 = HEAP32[$thisMark>>2]|0; - HEAP32[$mxReadMark>>2] = $85; - $86 = HEAP32[$i>>2]|0; - HEAP32[$mxI>>2] = $86; + $70 = HEAP32[$7>>2]|0; + $71 = ((($70)) + 96|0); + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + HEAP32[$21>>2] = $73; + $74 = HEAP32[$9>>2]|0; + $75 = HEAP32[$21>>2]|0; + $76 = ($74|0)>($75|0); + $77 = HEAP32[$7>>2]|0; + if ($76) { + _sqlite3ErrorWithMsg($77,18,25207,$vararg_buffer1); + $78 = HEAP32[$7>>2]|0; + $79 = (_sqlite3ApiExit($78,18)|0); + HEAP32[$15>>2] = $79; + _sqlite3ParserReset($17); + $202 = HEAP32[$7>>2]|0; + $203 = HEAP32[$15>>2]|0; + $204 = (_sqlite3ApiExit($202,$203)|0); + HEAP32[$15>>2] = $204; + $205 = HEAP32[$15>>2]|0; + STACKTOP = sp;return ($205|0); + } + $80 = HEAP32[$8>>2]|0; + $81 = HEAP32[$9>>2]|0; + $82 = ($81|0)<(0); + $83 = $82 << 31 >> 31; + $84 = (_sqlite3DbStrNDup($77,$80,$81,$83)|0); + HEAP32[$20>>2] = $84; + $85 = HEAP32[$20>>2]|0; + $86 = ($85|0)!=(0|0); + if ($86) { + $87 = HEAP32[$20>>2]|0; + (_sqlite3RunParser($17,$87,$14)|0); + $88 = HEAP32[$8>>2]|0; + $89 = ((($17)) + 436|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$20>>2]|0; + $92 = $90; + $93 = $91; + $94 = (($92) - ($93))|0; + $95 = (($88) + ($94)|0); + $96 = ((($17)) + 436|0); + HEAP32[$96>>2] = $95; + $97 = HEAP32[$7>>2]|0; + $98 = HEAP32[$20>>2]|0; + _sqlite3DbFree($97,$98); + break; + } else { + $99 = HEAP32[$8>>2]|0; + $100 = HEAP32[$9>>2]|0; + $101 = (($99) + ($100)|0); + $102 = ((($17)) + 436|0); + HEAP32[$102>>2] = $101; + break; } + } else { + label = 15; } - $87 = HEAP32[$i>>2]|0; - $88 = (($87) + 1)|0; - HEAP32[$i>>2] = $88; + } while(0); + if ((label|0) == 15) { + $103 = HEAP32[$8>>2]|0; + (_sqlite3RunParser($17,$103,$14)|0); } - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 46|0); - $91 = HEAP8[$90>>0]|0; - $92 = $91&255; - $93 = $92 & 2; - $94 = ($93|0)==(0); - L48: do { - if ($94) { - $95 = HEAP32[$mxReadMark>>2]|0; - $96 = HEAP32[$mxFrame>>2]|0; - $97 = ($95>>>0)<($96>>>0); - $98 = HEAP32[$mxI>>2]|0; - $99 = ($98|0)==(0); - $or$cond = $97 | $99; - if ($or$cond) { - HEAP32[$i>>2] = 1; - while(1) { - $100 = HEAP32[$i>>2]|0; - $101 = ($100|0)<(5); - if (!($101)) { - break L48; - } - $102 = HEAP32[$1>>2]|0; - $103 = HEAP32[$i>>2]|0; - $104 = (3 + ($103))|0; - $105 = (_walLockExclusive($102,$104,1)|0); - HEAP32[$rc>>2] = $105; - $106 = HEAP32[$rc>>2]|0; - $107 = ($106|0)==(0); - if ($107) { - label = 36; - break; + $104 = ((($17)) + 12|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105|0)==(101); + if ($106) { + $107 = ((($17)) + 12|0); + HEAP32[$107>>2] = 0; + } + $108 = ((($17)) + 17|0); + $109 = HEAP8[$108>>0]|0; + $110 = ($109<<24>>24)!=(0); + if ($110) { + _schemaIsValid($17); + } + $111 = HEAP32[$7>>2]|0; + $112 = ((($111)) + 69|0); + $113 = HEAP8[$112>>0]|0; + $114 = ($113<<24>>24)!=(0); + if ($114) { + $115 = ((($17)) + 12|0); + HEAP32[$115>>2] = 7; + } + $116 = HEAP32[$13>>2]|0; + $117 = ($116|0)!=(0|0); + if ($117) { + $118 = ((($17)) + 436|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$13>>2]|0; + HEAP32[$120>>2] = $119; + } + $121 = ((($17)) + 12|0); + $122 = HEAP32[$121>>2]|0; + HEAP32[$15>>2] = $122; + $123 = HEAP32[$15>>2]|0; + $124 = ($123|0)==(0); + L38: do { + if ($124) { + $125 = ((($17)) + 8|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($126|0)!=(0|0); + if ($127) { + $128 = ((($17)) + 409|0); + $129 = HEAP8[$128>>0]|0; + $130 = $129&255; + $131 = ($130|0)!=(0); + if ($131) { + $132 = ((($17)) + 409|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = ($134|0)==(2); + $136 = ((($17)) + 8|0); + $137 = HEAP32[$136>>2]|0; + if ($135) { + _sqlite3VdbeSetNumCols($137,4); + HEAP32[$22>>2] = 8; + HEAP32[$23>>2] = 12; + } else { + _sqlite3VdbeSetNumCols($137,8); + HEAP32[$22>>2] = 0; + HEAP32[$23>>2] = 8; } - $117 = HEAP32[$rc>>2]|0; - $118 = ($117|0)!=(5); - if ($118) { - break; + $138 = HEAP32[$22>>2]|0; + HEAP32[$16>>2] = $138; + while(1) { + $139 = HEAP32[$16>>2]|0; + $140 = HEAP32[$23>>2]|0; + $141 = ($139|0)<($140|0); + if (!($141)) { + break L38; + } + $142 = ((($17)) + 8|0); + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$16>>2]|0; + $145 = HEAP32[$22>>2]|0; + $146 = (($144) - ($145))|0; + $147 = HEAP32[$16>>2]|0; + $148 = (4180 + ($147<<2)|0); + $149 = HEAP32[$148>>2]|0; + (_sqlite3VdbeSetColName($143,$146,0,$149,0)|0); + $150 = HEAP32[$16>>2]|0; + $151 = (($150) + 1)|0; + HEAP32[$16>>2] = $151; } - $120 = HEAP32[$i>>2]|0; - $121 = (($120) + 1)|0; - HEAP32[$i>>2] = $121; } - if ((label|0) == 36) { - $108 = HEAP32[$mxFrame>>2]|0; - $109 = HEAP32[$i>>2]|0; - $110 = HEAP32[$pInfo>>2]|0; - $111 = ((($110)) + 4|0); - $112 = (($111) + ($109<<2)|0); - HEAP32[$112>>2] = $108; - HEAP32[$mxReadMark>>2] = $108; - $113 = HEAP32[$i>>2]|0; - HEAP32[$mxI>>2] = $113; - $114 = HEAP32[$1>>2]|0; - $115 = HEAP32[$i>>2]|0; - $116 = (3 + ($115))|0; - _walUnlockExclusive($114,$116,1); + } + } + } while(0); + $152 = HEAP32[$7>>2]|0; + $153 = ((($152)) + 148|0); + $154 = ((($153)) + 5|0); + $155 = HEAP8[$154>>0]|0; + $156 = $155&255; + $157 = ($156|0)==(0); + if ($157) { + $158 = ((($17)) + 8|0); + $159 = HEAP32[$158>>2]|0; + HEAP32[$24>>2] = $159; + $160 = HEAP32[$24>>2]|0; + $161 = HEAP32[$8>>2]|0; + $162 = ((($17)) + 436|0); + $163 = HEAP32[$162>>2]|0; + $164 = HEAP32[$8>>2]|0; + $165 = $163; + $166 = $164; + $167 = (($165) - ($166))|0; + $168 = HEAP32[$10>>2]|0; + _sqlite3VdbeSetSql($160,$161,$167,$168); + } + $169 = ((($17)) + 8|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)!=(0|0); + do { + if ($171) { + $172 = HEAP32[$15>>2]|0; + $173 = ($172|0)!=(0); + if (!($173)) { + $174 = HEAP32[$7>>2]|0; + $175 = ((($174)) + 69|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = ($177|0)!=(0); + if (!($178)) { + label = 39; break; } - $119 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $119; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); } + $179 = ((($17)) + 8|0); + $180 = HEAP32[$179>>2]|0; + (_sqlite3VdbeFinalize($180)|0); + } else { + label = 39; } } while(0); - $122 = HEAP32[$mxI>>2]|0; - $123 = ($122|0)==(0); - if ($123) { - $124 = HEAP32[$rc>>2]|0; - $125 = ($124|0)==(5); - $126 = $125 ? -1 : 520; - HEAP32[$0>>2] = $126; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); + if ((label|0) == 39) { + $181 = ((($17)) + 8|0); + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$12>>2]|0; + HEAP32[$183>>2] = $182; + } + $184 = HEAP32[$14>>2]|0; + $185 = ($184|0)!=(0|0); + $186 = HEAP32[$7>>2]|0; + $187 = HEAP32[$15>>2]|0; + if ($185) { + $188 = HEAP32[$14>>2]|0; + HEAP32[$vararg_buffer3>>2] = $188; + _sqlite3ErrorWithMsg($186,$187,21240,$vararg_buffer3); + $189 = HEAP32[$7>>2]|0; + $190 = HEAP32[$14>>2]|0; + _sqlite3DbFree($189,$190); + } else { + _sqlite3Error($186,$187); } - $127 = HEAP32[$1>>2]|0; - $128 = HEAP32[$mxI>>2]|0; - $129 = (3 + ($128))|0; - $130 = (_walLockShared($127,$129)|0); - HEAP32[$rc>>2] = $130; - $131 = HEAP32[$rc>>2]|0; - $132 = ($131|0)!=(0); - if ($132) { - $133 = HEAP32[$rc>>2]|0; - $134 = ($133|0)==(5); - $135 = HEAP32[$rc>>2]|0; - $136 = $134 ? -1 : $135; - HEAP32[$0>>2] = $136; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); - } - $137 = HEAP32[$pInfo>>2]|0; - $138 = HEAP32[$137>>2]|0; - $139 = (($138) + 1)|0; - $140 = HEAP32[$1>>2]|0; - $141 = ((($140)) + 100|0); - HEAP32[$141>>2] = $139; - $142 = HEAP32[$1>>2]|0; - _walShmBarrier($142); - $143 = HEAP32[$mxI>>2]|0; - $144 = HEAP32[$pInfo>>2]|0; - $145 = ((($144)) + 4|0); - $146 = (($145) + ($143<<2)|0); - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$mxReadMark>>2]|0; - $149 = ($147|0)!=($148|0); - if (!($149)) { - $150 = HEAP32[$1>>2]|0; - $151 = (_walIndexHdr($150)|0); - $152 = HEAP32[$1>>2]|0; - $153 = ((($152)) + 52|0); - $154 = (_memcmp($151,$153,48)|0); - $155 = ($154|0)!=(0); - if (!($155)) { - $159 = HEAP32[$mxI>>2]|0; - $160 = $159&65535; - $161 = HEAP32[$1>>2]|0; - $162 = ((($161)) + 40|0); - HEAP16[$162>>1] = $160; - $163 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $163; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); - } - } - $156 = HEAP32[$1>>2]|0; - $157 = HEAP32[$mxI>>2]|0; - $158 = (3 + ($157))|0; - _walUnlockShared($156,$158); - HEAP32[$0>>2] = -1; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); -} -function _subjRequiresPage($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $pPager = 0, $pgno = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $pPager = sp + 12|0; - $p = sp + 8|0; - $pgno = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $pPg; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pPager>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pgno>>2] = $7; - HEAP32[$i>>2] = 0; while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$pPager>>2]|0; - $10 = ((($9)) + 104|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)<($11|0); - if (!($12)) { - label = 7; + $191 = ((($17)) + 468|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)!=(0|0); + if (!($193)) { break; } - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$pPager>>2]|0; - $15 = ((($14)) + 100|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + (($13*48)|0)|0); - HEAP32[$p>>2] = $17; - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$pgno>>2]|0; - $22 = ($20>>>0)>=($21>>>0); - if ($22) { - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$pgno>>2]|0; - $27 = (_sqlite3BitvecTestNotNull($25,$26)|0); - $28 = (0)==($27|0); - if ($28) { - label = 5; + $194 = ((($17)) + 468|0); + $195 = HEAP32[$194>>2]|0; + HEAP32[$25>>2] = $195; + $196 = HEAP32[$25>>2]|0; + $197 = ((($196)) + 4|0); + $198 = HEAP32[$197>>2]|0; + $199 = ((($17)) + 468|0); + HEAP32[$199>>2] = $198; + $200 = HEAP32[$7>>2]|0; + $201 = HEAP32[$25>>2]|0; + _sqlite3DbFree($200,$201); + } + _sqlite3ParserReset($17); + $202 = HEAP32[$7>>2]|0; + $203 = HEAP32[$15>>2]|0; + $204 = (_sqlite3ApiExit($202,$203)|0); + HEAP32[$15>>2] = $204; + $205 = HEAP32[$15>>2]|0; + STACKTOP = sp;return ($205|0); +} +function _sqlite3BtreeSchemaLocked($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnter($3); + $4 = HEAP32[$1>>2]|0; + $5 = (_querySharedCacheTableLock($4,1,1)|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$1>>2]|0; + _sqlite3BtreeLeave($6); + $7 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _sqlite3RunParser($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $$byval_copy = sp + 72|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + $14 = sp + 24|0; + $15 = sp + 20|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + HEAP32[$11>>2] = -1; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + HEAP32[$12>>2] = $17; + $18 = HEAP32[$12>>2]|0; + $19 = ((($18)) + 96|0); + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$13>>2] = $21; + $22 = HEAP32[$12>>2]|0; + $23 = ((($22)) + 156|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = HEAP32[$12>>2]|0; + $27 = ((($26)) + 248|0); + HEAP32[$27>>2] = 0; + } + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 12|0); + HEAP32[$29>>2] = 0; + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 436|0); + HEAP32[$32>>2] = $30; + HEAP32[$8>>2] = 0; + $33 = (_sqlite3ParserAlloc(196)|0); + HEAP32[$9>>2] = $33; + $34 = HEAP32[$9>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + $36 = HEAP32[$12>>2]|0; + _sqlite3OomFault($36); + HEAP32[$3>>2] = 7; + $244 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($244|0); + } + L7: while(1) { + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$8>>2]|0; + $39 = (($37) + ($38)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40 << 24 >> 24; + $42 = ($41|0)!=(0); + do { + if ($42) { + $43 = HEAP32[$5>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = (($43) + ($44)|0); + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 392|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$5>>2]|0; + $49 = HEAP32[$8>>2]|0; + $50 = (($48) + ($49)|0); + $51 = (_sqlite3GetToken($50,$10)|0); + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 392|0); + $54 = ((($53)) + 4|0); + HEAP32[$54>>2] = $51; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 392|0); + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$8>>2]|0; + $60 = (($59) + ($58))|0; + HEAP32[$8>>2] = $60; + $61 = HEAP32[$8>>2]|0; + $62 = HEAP32[$13>>2]|0; + $63 = ($61|0)>($62|0); + if ($63) { + label = 7; + break L7; + } + } else { + $66 = HEAP32[$11>>2]|0; + $67 = ($66|0)==(1); + if ($67) { + HEAP32[$10>>2] = 0; + break; + } + $68 = HEAP32[$11>>2]|0; + $69 = ($68|0)==(0); + if ($69) { + break L7; + } + HEAP32[$10>>2] = 1; + } + } while(0); + $70 = HEAP32[$10>>2]|0; + $71 = ($70|0)>=(162); + if ($71) { + $72 = HEAP32[$12>>2]|0; + $73 = ((($72)) + 248|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)!=(0); + if ($75) { + label = 14; + break; + } + $78 = HEAP32[$10>>2]|0; + $79 = ($78|0)==(163); + if ($79) { + label = 16; + break; + } else { + continue; + } + } else { + $83 = HEAP32[$9>>2]|0; + $84 = HEAP32[$10>>2]|0; + $85 = HEAP32[$4>>2]|0; + $86 = ((($85)) + 392|0); + $87 = HEAP32[$4>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$86>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$86+4>>2]|0; + _sqlite3Parser($83,$84,$$byval_copy,$87); + $88 = HEAP32[$10>>2]|0; + HEAP32[$11>>2] = $88; + $89 = HEAP32[$4>>2]|0; + $90 = ((($89)) + 12|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)!=(0); + if ($92) { break; } + $93 = HEAP32[$12>>2]|0; + $94 = ((($93)) + 69|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = ($96|0)!=(0); + if ($97) { + break; + } else { + continue; + } } - $29 = HEAP32[$i>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$i>>2] = $30; } - if ((label|0) == 5) { - HEAP32[$0>>2] = 1; - $31 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($31|0); + if ((label|0) == 7) { + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 12|0); + HEAP32[$65>>2] = 18; } - else if ((label|0) == 7) { - HEAP32[$0>>2] = 0; - $31 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($31|0); + else if ((label|0) == 14) { + $76 = HEAP32[$4>>2]|0; + $77 = ((($76)) + 12|0); + HEAP32[$77>>2] = 9; } - return (0)|0; -} -function _subjournalPage($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $offset = 0, $pData = 0, $pData2 = 0, $pPager = 0, $rc = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $rc = sp + 20|0; - $pPager = sp + 16|0; - $pData = sp + 12|0; - $offset = sp; - $pData2 = sp + 8|0; - HEAP32[$0>>2] = $pPg; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pPager>>2] = $3; - $4 = HEAP32[$pPager>>2]|0; - $5 = ((($4)) + 5|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)!=(2); - if ($8) { - $9 = HEAP32[$pPager>>2]|0; - $10 = (_openSubJournal($9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)==(0); - if ($12) { - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$pData>>2] = $15; - $16 = HEAP32[$pPager>>2]|0; - $17 = ((($16)) + 56|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$pPager>>2]|0; - $20 = ((($19)) + 160|0); - $21 = HEAP32[$20>>2]|0; - $22 = (4 + ($21))|0; - $23 = ($22|0)<(0); - $24 = $23 << 31 >> 31; - $25 = (___muldi3(($18|0),0,($22|0),($24|0))|0); - $26 = tempRet0; - $27 = $offset; - $28 = $27; - HEAP32[$28>>2] = $25; - $29 = (($27) + 4)|0; - $30 = $29; - HEAP32[$30>>2] = $26; - $31 = HEAP32[$pData>>2]|0; - HEAP32[$pData2>>2] = $31; - $32 = HEAP32[$pPager>>2]|0; - $33 = ((($32)) + 72|0); - $34 = HEAP32[$33>>2]|0; - $35 = $offset; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 20|0); - $43 = HEAP32[$42>>2]|0; - $44 = (_write32bits($34,$37,$40,$43)|0); - HEAP32[$rc>>2] = $44; - $45 = HEAP32[$rc>>2]|0; - $46 = ($45|0)==(0); - if ($46) { - $47 = HEAP32[$pPager>>2]|0; - $48 = ((($47)) + 72|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$pData2>>2]|0; - $51 = HEAP32[$pPager>>2]|0; - $52 = ((($51)) + 160|0); - $53 = HEAP32[$52>>2]|0; - $54 = $offset; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (_i64Add(($56|0),($59|0),4,0)|0); - $61 = tempRet0; - $62 = (_sqlite3OsWrite($49,$50,$53,$60,$61)|0); - HEAP32[$rc>>2] = $62; + else if ((label|0) == 16) { + $80 = HEAP32[$4>>2]|0; + $81 = HEAP32[$4>>2]|0; + $82 = ((($81)) + 392|0); + HEAP32[$vararg_buffer>>2] = $82; + _sqlite3ErrorMsg($80,25288,$vararg_buffer); + } + $98 = HEAP32[$5>>2]|0; + $99 = HEAP32[$8>>2]|0; + $100 = (($98) + ($99)|0); + $101 = HEAP32[$4>>2]|0; + $102 = ((($101)) + 436|0); + HEAP32[$102>>2] = $100; + $103 = HEAP32[$9>>2]|0; + _sqlite3ParserFree($103,157); + $104 = HEAP32[$12>>2]|0; + $105 = ((($104)) + 69|0); + $106 = HEAP8[$105>>0]|0; + $107 = ($106<<24>>24)!=(0); + if ($107) { + $108 = HEAP32[$4>>2]|0; + $109 = ((($108)) + 12|0); + HEAP32[$109>>2] = 7; + } + $110 = HEAP32[$4>>2]|0; + $111 = ((($110)) + 12|0); + $112 = HEAP32[$111>>2]|0; + $113 = ($112|0)!=(0); + if ($113) { + $114 = HEAP32[$4>>2]|0; + $115 = ((($114)) + 12|0); + $116 = HEAP32[$115>>2]|0; + $117 = ($116|0)!=(101); + if ($117) { + $118 = HEAP32[$4>>2]|0; + $119 = ((($118)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(0|0); + if ($121) { + $122 = HEAP32[$12>>2]|0; + $123 = HEAP32[$4>>2]|0; + $124 = ((($123)) + 12|0); + $125 = HEAP32[$124>>2]|0; + $126 = (_sqlite3ErrStr($125)|0); + HEAP32[$vararg_buffer1>>2] = $126; + $127 = (_sqlite3MPrintf($122,21240,$vararg_buffer1)|0); + $128 = HEAP32[$4>>2]|0; + $129 = ((($128)) + 4|0); + HEAP32[$129>>2] = $127; } } } - $63 = HEAP32[$rc>>2]|0; - $64 = ($63|0)==(0); - if (!($64)) { - $74 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($74|0); + $130 = HEAP32[$4>>2]|0; + $131 = ((($130)) + 4|0); + $132 = HEAP32[$131>>2]|0; + $133 = ($132|0)!=(0|0); + if ($133) { + $134 = HEAP32[$4>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = HEAP32[$6>>2]|0; + HEAP32[$137>>2] = $136; + $138 = HEAP32[$4>>2]|0; + $139 = ((($138)) + 12|0); + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$6>>2]|0; + $142 = HEAP32[$141>>2]|0; + HEAP32[$vararg_buffer4>>2] = $142; + _sqlite3_log($140,21240,$vararg_buffer4); + $143 = HEAP32[$4>>2]|0; + $144 = ((($143)) + 4|0); + HEAP32[$144>>2] = 0; + $145 = HEAP32[$7>>2]|0; + $146 = (($145) + 1)|0; + HEAP32[$7>>2] = $146; } - $65 = HEAP32[$pPager>>2]|0; - $66 = ((($65)) + 56|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$66>>2] = $68; - $69 = HEAP32[$pPager>>2]|0; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 20|0); - $72 = HEAP32[$71>>2]|0; - $73 = (_addToSavepointBitvecs($69,$72)|0); - HEAP32[$rc>>2] = $73; - $74 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($74|0); -} -function _openSubJournal($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $flags = 0, $nStmtSpill = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $rc = sp + 8|0; - $flags = sp + 4|0; - $nStmtSpill = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 72|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $24 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($24|0); + $147 = HEAP32[$4>>2]|0; + $148 = ((($147)) + 8|0); + $149 = HEAP32[$148>>2]|0; + $150 = ($149|0)!=(0|0); + if ($150) { + $151 = HEAP32[$4>>2]|0; + $152 = ((($151)) + 36|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)>(0); + if ($154) { + $155 = HEAP32[$4>>2]|0; + $156 = ((($155)) + 18|0); + $157 = HEAP8[$156>>0]|0; + $158 = $157&255; + $159 = ($158|0)==(0); + if ($159) { + $160 = HEAP32[$4>>2]|0; + $161 = ((($160)) + 8|0); + $162 = HEAP32[$161>>2]|0; + _sqlite3VdbeDelete($162); + $163 = HEAP32[$4>>2]|0; + $164 = ((($163)) + 8|0); + HEAP32[$164>>2] = 0; + } + } + } + $165 = HEAP32[$4>>2]|0; + $166 = ((($165)) + 18|0); + $167 = HEAP8[$166>>0]|0; + $168 = $167&255; + $169 = ($168|0)==(0); + if ($169) { + $170 = HEAP32[$12>>2]|0; + $171 = HEAP32[$4>>2]|0; + $172 = ((($171)) + 116|0); + $173 = HEAP32[$172>>2]|0; + _sqlite3DbFree($170,$173); + $174 = HEAP32[$4>>2]|0; + $175 = ((($174)) + 116|0); + HEAP32[$175>>2] = 0; + $176 = HEAP32[$4>>2]|0; + $177 = ((($176)) + 112|0); + HEAP32[$177>>2] = 0; } - HEAP32[$flags>>2] = 8222; - $6 = HEAP32[(44)>>2]|0; - HEAP32[$nStmtSpill>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 5|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)==(4); - if ($11) { - label = 4; - } else { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 22|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)!=(0); - if ($16) { - label = 4; + $178 = HEAP32[$4>>2]|0; + $179 = ((($178)) + 460|0); + $180 = HEAP32[$179>>2]|0; + _sqlite3_free($180); + $181 = HEAP32[$4>>2]|0; + $182 = ((($181)) + 410|0); + $183 = HEAP8[$182>>0]|0; + $184 = ($183<<24>>24)!=(0); + if (!($184)) { + $185 = HEAP32[$12>>2]|0; + $186 = HEAP32[$4>>2]|0; + $187 = ((($186)) + 440|0); + $188 = HEAP32[$187>>2]|0; + _sqlite3DeleteTable($185,$188); + } + $189 = HEAP32[$4>>2]|0; + $190 = ((($189)) + 476|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)!=(0|0); + if ($192) { + $193 = HEAP32[$12>>2]|0; + $194 = HEAP32[$4>>2]|0; + $195 = ((($194)) + 476|0); + $196 = HEAP32[$195>>2]|0; + _sqlite3WithDelete($193,$196); + } + $197 = HEAP32[$12>>2]|0; + $198 = HEAP32[$4>>2]|0; + $199 = ((($198)) + 444|0); + $200 = HEAP32[$199>>2]|0; + _sqlite3DeleteTrigger($197,$200); + $201 = HEAP32[$4>>2]|0; + $202 = ((($201)) + 404|0); + $203 = HEAP32[$202>>2]|0; + $204 = (($203) - 1)|0; + HEAP32[$8>>2] = $204; + while(1) { + $205 = HEAP32[$8>>2]|0; + $206 = ($205|0)>=(0); + $207 = HEAP32[$12>>2]|0; + $208 = HEAP32[$4>>2]|0; + $209 = ((($208)) + 428|0); + $210 = HEAP32[$209>>2]|0; + if (!($206)) { + break; } + $211 = HEAP32[$8>>2]|0; + $212 = (($210) + ($211<<2)|0); + $213 = HEAP32[$212>>2]|0; + _sqlite3DbFree($207,$213); + $214 = HEAP32[$8>>2]|0; + $215 = (($214) + -1)|0; + HEAP32[$8>>2] = $215; } - if ((label|0) == 4) { - HEAP32[$nStmtSpill>>2] = -1; + _sqlite3DbFree($207,$210); + while(1) { + $216 = HEAP32[$4>>2]|0; + $217 = ((($216)) + 120|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($218|0)!=(0|0); + if (!($219)) { + break; + } + $220 = HEAP32[$4>>2]|0; + $221 = ((($220)) + 120|0); + $222 = HEAP32[$221>>2]|0; + HEAP32[$14>>2] = $222; + $223 = HEAP32[$14>>2]|0; + $224 = HEAP32[$223>>2]|0; + $225 = HEAP32[$4>>2]|0; + $226 = ((($225)) + 120|0); + HEAP32[$226>>2] = $224; + $227 = HEAP32[$12>>2]|0; + $228 = HEAP32[$14>>2]|0; + _sqlite3DbFree($227,$228); } - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 72|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$nStmtSpill>>2]|0; - $23 = (_sqlite3JournalOpen($18,0,$21,8222,$22)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($24|0); -} -function _write32bits($fd,$0,$1,$val) { - $fd = $fd|0; + while(1) { + $229 = HEAP32[$4>>2]|0; + $230 = ((($229)) + 464|0); + $231 = HEAP32[$230>>2]|0; + $232 = ($231|0)!=(0|0); + if (!($232)) { + break; + } + $233 = HEAP32[$4>>2]|0; + $234 = ((($233)) + 464|0); + $235 = HEAP32[$234>>2]|0; + HEAP32[$15>>2] = $235; + $236 = HEAP32[$15>>2]|0; + $237 = ((($236)) + 68|0); + $238 = HEAP32[$237>>2]|0; + $239 = HEAP32[$4>>2]|0; + $240 = ((($239)) + 464|0); + HEAP32[$240>>2] = $238; + $241 = HEAP32[$12>>2]|0; + $242 = HEAP32[$15>>2]|0; + _sqlite3DeleteTable($241,$242); + } + $243 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $243; + $244 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($244|0); +} +function _schemaIsValid($0) { $0 = $0|0; - $1 = $1|0; - $val = $val|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ac = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 12|0; - $3 = sp; - $4 = sp + 8|0; - $ac = sp + 16|0; - HEAP32[$2>>2] = $fd; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $val; - $9 = HEAP32[$4>>2]|0; - _sqlite3Put4byte($ac,$9); - $10 = HEAP32[$2>>2]|0; - $11 = $3; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3OsWrite($10,$ac,4,$13,$16)|0); - STACKTOP = sp;return ($17|0); -} -function _addToSavepointBitvecs($pPager,$pgno) { - $pPager = $pPager|0; - $pgno = $pgno|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ii = 0, $p = 0, $rc = 0, label = 0, sp = 0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $ii = sp + 8|0; - $rc = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pgno; - HEAP32[$rc>>2] = 0; - HEAP32[$ii>>2] = 0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$1>>2] = $0; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$2>>2] = $9; + HEAP32[$3>>2] = 0; while(1) { - $2 = HEAP32[$ii>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 104|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($2|0)<($5|0); - if (!($6)) { + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($10|0)<($13|0); + if (!($14)) { + label = 14; break; } - $7 = HEAP32[$ii>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 100|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + (($7*48)|0)|0); - HEAP32[$p>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($12>>>0)<=($15>>>0); - if ($16) { - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = (_sqlite3BitvecSet($19,$20)|0); - $22 = HEAP32[$rc>>2]|0; - $23 = $22 | $21; - HEAP32[$rc>>2] = $23; + HEAP32[$6>>2] = 0; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = (($17) + ($18<<4)|0); + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$7>>2] = $21; + $22 = HEAP32[$7>>2]|0; + $23 = ($22|0)==(0|0); + if (!($23)) { + $24 = HEAP32[$7>>2]|0; + $25 = (_sqlite3BtreeIsInReadTrans($24)|0); + $26 = ($25|0)!=(0); + if (!($26)) { + $27 = HEAP32[$7>>2]|0; + $28 = (_sqlite3BtreeBeginTrans($27,0)|0); + HEAP32[$4>>2] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = ($29|0)==(7); + $31 = HEAP32[$4>>2]|0; + $32 = ($31|0)==(3082); + $or$cond = $30 | $32; + if ($or$cond) { + $33 = HEAP32[$2>>2]|0; + _sqlite3OomFault($33); + } + $34 = HEAP32[$4>>2]|0; + $35 = ($34|0)!=(0); + if ($35) { + label = 14; + break; + } + HEAP32[$6>>2] = 1; + } + $36 = HEAP32[$7>>2]|0; + _sqlite3BtreeGetMeta($36,1,$5); + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$3>>2]|0; + $42 = (($40) + ($41<<4)|0); + $43 = ((($42)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = ($37|0)!=($45|0); + if ($46) { + $47 = HEAP32[$2>>2]|0; + $48 = HEAP32[$3>>2]|0; + _sqlite3ResetOneSchema($47,$48); + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 12|0); + HEAP32[$50>>2] = 17; + } + $51 = HEAP32[$6>>2]|0; + $52 = ($51|0)!=(0); + if ($52) { + $53 = HEAP32[$7>>2]|0; + (_sqlite3BtreeCommit($53)|0); + } } - $24 = HEAP32[$ii>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$ii>>2] = $25; + $54 = HEAP32[$3>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$3>>2] = $55; + } + if ((label|0) == 14) { + STACKTOP = sp;return; } - $26 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($26|0); } -function _sqlite3JournalOpen($pVfs,$zName,$pJfd,$flags,$nSpill) { - $pVfs = $pVfs|0; - $zName = $zName|0; - $pJfd = $pJfd|0; - $flags = $flags|0; - $nSpill = $nSpill|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $p = 0, dest = 0, label = 0, sp = 0; - var stop = 0; +function _sqlite3VdbeSetNumCols($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; $2 = sp + 16|0; $3 = sp + 12|0; $4 = sp + 8|0; $5 = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pVfs; - HEAP32[$2>>2] = $zName; - HEAP32[$3>>2] = $pJfd; - HEAP32[$4>>2] = $flags; - HEAP32[$5>>2] = $nSpill; - $6 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - dest=$7; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$4>>2]|0; - $14 = (_sqlite3OsOpen($10,$11,$12,$13,0)|0); - HEAP32[$0>>2] = $14; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 100|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 140|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = $15<<1; + _releaseMemArray($11,$16); + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 100|0); + $20 = HEAP32[$19>>2]|0; + _sqlite3DbFree($17,$20); + $21 = HEAP32[$3>>2]|0; + $22 = $21<<1; + HEAP32[$5>>2] = $22; + $23 = HEAP32[$3>>2]|0; + $24 = $23&65535; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 140|0); + HEAP16[$26>>1] = $24; + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = ($28*40)|0; + $30 = (_sqlite3DbMallocRawNN($27,$29,0)|0); + HEAP32[$4>>2] = $30; + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 100|0); + HEAP32[$32>>2] = $30; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 100|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + if ($36) { + STACKTOP = sp;return; } - $15 = HEAP32[$5>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$5>>2]|0; - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 4|0); - HEAP32[$19>>2] = $17; + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 100|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$5>>2]|0; + $41 = HEAP32[$2>>2]|0; + $42 = HEAP32[$41>>2]|0; + _initMemArray($39,$40,$42,1); + STACKTOP = sp;return; +} +function _sqlite3VdbeSetColName($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 69|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if ($17) { + HEAP32[$5>>2] = 7; + $35 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($35|0); } else { - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 4|0); - HEAP32[$21>>2] = 1020; + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 100|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 140|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = Math_imul($22, $26)|0; + $28 = (($21) + ($27))|0; + $29 = (($20) + (($28*40)|0)|0); + HEAP32[$12>>2] = $29; + $30 = HEAP32[$12>>2]|0; + $31 = HEAP32[$9>>2]|0; + $32 = HEAP32[$10>>2]|0; + $33 = (_sqlite3VdbeMemSetStr($30,$31,-1,1,$32)|0); + HEAP32[$11>>2] = $33; + $34 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $34; + $35 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($35|0); } - $22 = HEAP32[$p>>2]|0; - HEAP32[$22>>2] = 4028; - $23 = HEAP32[$5>>2]|0; - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 8|0); - HEAP32[$25>>2] = $23; - $26 = HEAP32[$4>>2]|0; - $27 = HEAP32[$p>>2]|0; - $28 = ((($27)) + 56|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 64|0); - HEAP32[$31>>2] = $29; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$p>>2]|0; - $34 = ((($33)) + 60|0); - HEAP32[$34>>2] = $32; - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + return (0)|0; } -function _sqlite3PagerGetExtra($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3VdbeSetSql($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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + STACKTOP = sp;return; + } + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)<(0); + $15 = $14 << 31 >> 31; + $16 = (_sqlite3DbStrNDup($11,$12,$13,$15)|0); + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 176|0); + HEAP32[$18>>2] = $16; + $19 = HEAP32[$7>>2]|0; + $20 = $19&255; + $21 = $20&255; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 144|0); + $24 = $21&65535; + $25 = HEAP16[$23>>1]|0; + $26 = $24 & 1; + $27 = ($26 << 9)&65535; + $28 = $25 & -513; + $29 = $28 | $27; + HEAP16[$23>>1] = $29; + STACKTOP = sp;return; } -function _sqlite3PagerPageRefcount($pPage) { - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _initMemArray($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPage; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3PcachePageRefcount($1)|0); - STACKTOP = sp;return ($2|0); -} -function _btreeInitPage($pPage) { - $pPage = $pPage|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cellOffset = 0, $data = 0, $hdr = 0, $i = 0, $iCellFirst = 0, $iCellLast = 0, $nFree = 0, $next = 0; - var $pBt = 0, $pc = 0, $size = 0, $sz = 0, $top = 0, $usableSize = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $pc = sp + 50|0; - $hdr = sp + 52|0; - $data = sp + 32|0; - $pBt = sp + 28|0; - $usableSize = sp + 24|0; - $cellOffset = sp + 48|0; - $nFree = sp + 20|0; - $top = sp + 16|0; - $iCellFirst = sp + 12|0; - $iCellLast = sp + 8|0; - $i = sp + 4|0; - $sz = sp; - $next = sp + 46|0; - $size = sp + 44|0; - HEAP32[$1>>2] = $pPage; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - do { - if (!($4)) { - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 52|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pBt>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 5|0); - $10 = HEAP8[$9>>0]|0; - HEAP8[$hdr>>0] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 56|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$data>>2] = $13; - $14 = HEAP32[$1>>2]|0; - $15 = HEAP8[$hdr>>0]|0; - $16 = $15&255; - $17 = HEAP32[$data>>2]|0; - $18 = (($17) + ($16)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = (_decodeFlags($14,$20)|0); - $22 = ($21|0)!=(0); - if ($22) { - $23 = (_sqlite3CorruptError(60006)|0); - HEAP32[$0>>2] = $23; - $311 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($311|0); - } - $24 = HEAP32[$pBt>>2]|0; - $25 = ((($24)) + 32|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) - 1)|0; - $28 = $27&65535; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 20|0); - HEAP16[$30>>1] = $28; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 1|0); - HEAP8[$32>>0] = 0; - $33 = HEAP32[$pBt>>2]|0; - $34 = ((($33)) + 36|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$usableSize>>2] = $35; - $36 = HEAP8[$hdr>>0]|0; - $37 = $36&255; - $38 = (($37) + 8)|0; - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 6|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = (($38) + ($42))|0; - $44 = $43&65535; - HEAP16[$cellOffset>>1] = $44; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 14|0); - HEAP16[$46>>1] = $44; - $47 = HEAP32[$usableSize>>2]|0; - $48 = HEAP32[$data>>2]|0; - $49 = (($48) + ($47)|0); - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 60|0); - HEAP32[$51>>2] = $49; - $52 = HEAP16[$cellOffset>>1]|0; - $53 = $52&65535; - $54 = HEAP32[$data>>2]|0; - $55 = (($54) + ($53)|0); - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 64|0); - HEAP32[$57>>2] = $55; - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 6|0); - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = HEAP32[$data>>2]|0; - $63 = (($62) + ($61)|0); - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 68|0); - HEAP32[$65>>2] = $63; - $66 = HEAP8[$hdr>>0]|0; - $67 = $66&255; - $68 = (($67) + 5)|0; - $69 = HEAP32[$data>>2]|0; - $70 = (($69) + ($68)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = $72 << 8; - $74 = HEAP8[$hdr>>0]|0; - $75 = $74&255; - $76 = (($75) + 5)|0; - $77 = HEAP32[$data>>2]|0; - $78 = (($77) + ($76)|0); - $79 = ((($78)) + 1|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = $73 | $81; - $83 = (($82) - 1)|0; - $84 = $83 & 65535; - $85 = (($84) + 1)|0; - HEAP32[$top>>2] = $85; - $86 = HEAP8[$hdr>>0]|0; - $87 = $86&255; - $88 = (($87) + 3)|0; - $89 = HEAP32[$data>>2]|0; - $90 = (($89) + ($88)|0); - $91 = HEAP8[$90>>0]|0; - $92 = $91&255; - $93 = $92 << 8; - $94 = HEAP8[$hdr>>0]|0; - $95 = $94&255; - $96 = (($95) + 3)|0; - $97 = HEAP32[$data>>2]|0; - $98 = (($97) + ($96)|0); - $99 = ((($98)) + 1|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100&255; - $102 = $93 | $101; - $103 = $102&65535; - $104 = HEAP32[$1>>2]|0; - $105 = ((($104)) + 18|0); - HEAP16[$105>>1] = $103; - $106 = HEAP32[$1>>2]|0; - $107 = ((($106)) + 18|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108&65535; - $110 = HEAP32[$pBt>>2]|0; - $111 = ((($110)) + 32|0); - $112 = HEAP32[$111>>2]|0; - $113 = (($112) - 8)|0; - $114 = (($113>>>0) / 6)&-1; - $115 = ($109>>>0)>($114>>>0); - if ($115) { - $116 = (_sqlite3CorruptError(60024)|0); - HEAP32[$0>>2] = $116; - $311 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($311|0); - } - $117 = HEAP16[$cellOffset>>1]|0; - $118 = $117&65535; - $119 = HEAP32[$1>>2]|0; - $120 = ((($119)) + 18|0); - $121 = HEAP16[$120>>1]|0; - $122 = $121&65535; - $123 = $122<<1; - $124 = (($118) + ($123))|0; - HEAP32[$iCellFirst>>2] = $124; - $125 = HEAP32[$usableSize>>2]|0; - $126 = (($125) - 4)|0; - HEAP32[$iCellLast>>2] = $126; - $127 = HEAP32[$pBt>>2]|0; - $128 = ((($127)) + 4|0); - $129 = HEAP32[$128>>2]|0; - $130 = ((($129)) + 24|0); - $131 = HEAP32[$130>>2]|0; - $132 = $131 & 536870912; - $133 = ($132|0)!=(0); - do { - if ($133) { - $134 = HEAP32[$1>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP8[$135>>0]|0; - $137 = ($136<<24>>24)!=(0); - if (!($137)) { - $138 = HEAP32[$iCellLast>>2]|0; - $139 = (($138) + -1)|0; - HEAP32[$iCellLast>>2] = $139; - } - HEAP32[$i>>2] = 0; - while(1) { - $140 = HEAP32[$i>>2]|0; - $141 = HEAP32[$1>>2]|0; - $142 = ((($141)) + 18|0); - $143 = HEAP16[$142>>1]|0; - $144 = $143&65535; - $145 = ($140|0)<($144|0); - if (!($145)) { - label = 17; - break; - } - $146 = HEAP16[$cellOffset>>1]|0; - $147 = $146&65535; - $148 = HEAP32[$i>>2]|0; - $149 = $148<<1; - $150 = (($147) + ($149))|0; - $151 = HEAP32[$data>>2]|0; - $152 = (($151) + ($150)|0); - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = $154 << 8; - $156 = HEAP16[$cellOffset>>1]|0; - $157 = $156&65535; - $158 = HEAP32[$i>>2]|0; - $159 = $158<<1; - $160 = (($157) + ($159))|0; - $161 = HEAP32[$data>>2]|0; - $162 = (($161) + ($160)|0); - $163 = ((($162)) + 1|0); - $164 = HEAP8[$163>>0]|0; - $165 = $164&255; - $166 = $155 | $165; - $167 = $166&65535; - HEAP16[$pc>>1] = $167; - $168 = HEAP16[$pc>>1]|0; - $169 = $168&65535; - $170 = HEAP32[$iCellFirst>>2]|0; - $171 = ($169|0)<($170|0); - if ($171) { - label = 13; - break; - } - $172 = HEAP16[$pc>>1]|0; - $173 = $172&65535; - $174 = HEAP32[$iCellLast>>2]|0; - $175 = ($173|0)>($174|0); - if ($175) { - label = 13; - break; - } - $177 = HEAP32[$1>>2]|0; - $178 = ((($177)) + 76|0); - $179 = HEAP32[$178>>2]|0; - $180 = HEAP32[$1>>2]|0; - $181 = HEAP16[$pc>>1]|0; - $182 = $181&65535; - $183 = HEAP32[$data>>2]|0; - $184 = (($183) + ($182)|0); - $185 = (FUNCTION_TABLE_iii[$179 & 255]($180,$184)|0); - $186 = $185&65535; - HEAP32[$sz>>2] = $186; - $187 = HEAP16[$pc>>1]|0; - $188 = $187&65535; - $189 = HEAP32[$sz>>2]|0; - $190 = (($188) + ($189))|0; - $191 = HEAP32[$usableSize>>2]|0; - $192 = ($190|0)>($191|0); - if ($192) { - label = 15; - break; - } - $194 = HEAP32[$i>>2]|0; - $195 = (($194) + 1)|0; - HEAP32[$i>>2] = $195; - } - if ((label|0) == 13) { - $176 = (_sqlite3CorruptError(60052)|0); - HEAP32[$0>>2] = $176; - $311 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($311|0); - } - else if ((label|0) == 15) { - $193 = (_sqlite3CorruptError(60057)|0); - HEAP32[$0>>2] = $193; - $311 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($311|0); - } - else if ((label|0) == 17) { - $196 = HEAP32[$1>>2]|0; - $197 = ((($196)) + 4|0); - $198 = HEAP8[$197>>0]|0; - $199 = ($198<<24>>24)!=(0); - if ($199) { - break; - } - $200 = HEAP32[$iCellLast>>2]|0; - $201 = (($200) + 1)|0; - HEAP32[$iCellLast>>2] = $201; - break; - } - } - } while(0); - $202 = HEAP8[$hdr>>0]|0; - $203 = $202&255; - $204 = (($203) + 1)|0; - $205 = HEAP32[$data>>2]|0; - $206 = (($205) + ($204)|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $209 = $208 << 8; - $210 = HEAP8[$hdr>>0]|0; - $211 = $210&255; - $212 = (($211) + 1)|0; - $213 = HEAP32[$data>>2]|0; - $214 = (($213) + ($212)|0); - $215 = ((($214)) + 1|0); - $216 = HEAP8[$215>>0]|0; - $217 = $216&255; - $218 = $209 | $217; - $219 = $218&65535; - HEAP16[$pc>>1] = $219; - $220 = HEAP8[$hdr>>0]|0; - $221 = $220&255; - $222 = (($221) + 7)|0; - $223 = HEAP32[$data>>2]|0; - $224 = (($223) + ($222)|0); - $225 = HEAP8[$224>>0]|0; - $226 = $225&255; - $227 = HEAP32[$top>>2]|0; - $228 = (($226) + ($227))|0; - HEAP32[$nFree>>2] = $228; - while(1) { - $229 = HEAP16[$pc>>1]|0; - $230 = $229&65535; - $231 = ($230|0)>(0); - if (!($231)) { - label = 29; - break; - } - $232 = HEAP16[$pc>>1]|0; - $233 = $232&65535; - $234 = HEAP32[$iCellFirst>>2]|0; - $235 = ($233|0)<($234|0); - if ($235) { - label = 23; - break; - } - $236 = HEAP16[$pc>>1]|0; - $237 = $236&65535; - $238 = HEAP32[$iCellLast>>2]|0; - $239 = ($237|0)>($238|0); - if ($239) { - label = 23; - break; - } - $241 = HEAP16[$pc>>1]|0; - $242 = $241&65535; - $243 = HEAP32[$data>>2]|0; - $244 = (($243) + ($242)|0); - $245 = HEAP8[$244>>0]|0; - $246 = $245&255; - $247 = $246 << 8; - $248 = HEAP16[$pc>>1]|0; - $249 = $248&65535; - $250 = HEAP32[$data>>2]|0; - $251 = (($250) + ($249)|0); - $252 = ((($251)) + 1|0); - $253 = HEAP8[$252>>0]|0; - $254 = $253&255; - $255 = $247 | $254; - $256 = $255&65535; - HEAP16[$next>>1] = $256; - $257 = HEAP16[$pc>>1]|0; - $258 = $257&65535; - $259 = (($258) + 2)|0; - $260 = HEAP32[$data>>2]|0; - $261 = (($260) + ($259)|0); - $262 = HEAP8[$261>>0]|0; - $263 = $262&255; - $264 = $263 << 8; - $265 = HEAP16[$pc>>1]|0; - $266 = $265&65535; - $267 = (($266) + 2)|0; - $268 = HEAP32[$data>>2]|0; - $269 = (($268) + ($267)|0); - $270 = ((($269)) + 1|0); - $271 = HEAP8[$270>>0]|0; - $272 = $271&255; - $273 = $264 | $272; - $274 = $273&65535; - HEAP16[$size>>1] = $274; - $275 = HEAP16[$next>>1]|0; - $276 = $275&65535; - $277 = ($276|0)>(0); - if ($277) { - $278 = HEAP16[$next>>1]|0; - $279 = $278&65535; - $280 = HEAP16[$pc>>1]|0; - $281 = $280&65535; - $282 = HEAP16[$size>>1]|0; - $283 = $282&65535; - $284 = (($281) + ($283))|0; - $285 = (($284) + 3)|0; - $286 = ($279|0)<=($285|0); - if ($286) { - label = 27; - break; - } - } - $287 = HEAP16[$pc>>1]|0; - $288 = $287&65535; - $289 = HEAP16[$size>>1]|0; - $290 = $289&65535; - $291 = (($288) + ($290))|0; - $292 = HEAP32[$usableSize>>2]|0; - $293 = ($291|0)>($292|0); - if ($293) { - label = 27; - break; - } - $295 = HEAP32[$nFree>>2]|0; - $296 = HEAP16[$size>>1]|0; - $297 = $296&65535; - $298 = (($295) + ($297))|0; - HEAP32[$nFree>>2] = $298; - $299 = HEAP16[$next>>1]|0; - HEAP16[$pc>>1] = $299; - } - if ((label|0) == 23) { - $240 = (_sqlite3CorruptError(60077)|0); - HEAP32[$0>>2] = $240; - $311 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($311|0); - } - else if ((label|0) == 27) { - $294 = (_sqlite3CorruptError(60084)|0); - HEAP32[$0>>2] = $294; - $311 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($311|0); - } - else if ((label|0) == 29) { - $300 = HEAP32[$nFree>>2]|0; - $301 = HEAP32[$usableSize>>2]|0; - $302 = ($300|0)>($301|0); - if (!($302)) { - $304 = HEAP32[$nFree>>2]|0; - $305 = HEAP32[$iCellFirst>>2]|0; - $306 = (($304) - ($305))|0; - $307 = $306&65535; - $308 = HEAP32[$1>>2]|0; - $309 = ((($308)) + 16|0); - HEAP16[$309>>1] = $307; - $310 = HEAP32[$1>>2]|0; - HEAP8[$310>>0] = 1; - break; - } - $303 = (_sqlite3CorruptError(60098)|0); - HEAP32[$0>>2] = $303; - $311 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($311|0); - } + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + $7 = sp + 12|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP16[$7>>1] = $3; + while(1) { + $8 = HEAP32[$5>>2]|0; + $9 = (($8) + -1)|0; + HEAP32[$5>>2] = $9; + $10 = ($8|0)>(0); + if (!($10)) { + break; } - } while(0); - HEAP32[$0>>2] = 0; - $311 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($311|0); + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 32|0); + HEAP32[$13>>2] = $11; + $14 = HEAP16[$7>>1]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 8|0); + HEAP16[$16>>1] = $14; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 24|0); + HEAP32[$18>>2] = 0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 40|0); + HEAP32[$4>>2] = $20; + } + STACKTOP = sp;return; } -function _decodeFlags($pPage,$flagByte) { - $pPage = $pPage|0; - $flagByte = $flagByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $pBt = 0, label = 0, sp = 0; +function _sqlite3ResetOneSchema($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $pPage; - HEAP32[$2>>2] = $flagByte; - $3 = HEAP32[$2>>2]|0; - $4 = $3 >> 3; - $5 = $4&255; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 4|0); - HEAP8[$7>>0] = $5; - $8 = HEAP32[$2>>2]|0; - $9 = $8 & -9; - HEAP32[$2>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = $13<<2; - $15 = (4 - ($14))|0; - $16 = $15&255; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 6|0); - HEAP8[$18>>0] = $16; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 76|0); - HEAP32[$20>>2] = 188; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 52|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$pBt>>2] = $23; - $24 = HEAP32[$2>>2]|0; - $25 = ($24|0)==(5); - do { - if ($25) { - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 2|0); - HEAP8[$27>>0] = 1; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)!=(0); - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 3|0); - if ($31) { - HEAP8[$33>>0] = 1; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 80|0); - HEAP32[$35>>2] = 226; - } else { - HEAP8[$33>>0] = 0; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 76|0); - HEAP32[$37>>2] = 189; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 80|0); - HEAP32[$39>>2] = 227; - } - $40 = HEAP32[$pBt>>2]|0; - $41 = ((($40)) + 28|0); - $42 = HEAP16[$41>>1]|0; - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 10|0); - HEAP16[$44>>1] = $42; - $45 = HEAP32[$pBt>>2]|0; - $46 = ((($45)) + 30|0); - $47 = HEAP16[$46>>1]|0; - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 12|0); - HEAP16[$49>>1] = $47; - } else { - $50 = HEAP32[$2>>2]|0; - $51 = ($50|0)==(2); - if ($51) { - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 2|0); - HEAP8[$53>>0] = 0; - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 3|0); - HEAP8[$55>>0] = 0; - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 80|0); - HEAP32[$57>>2] = 228; - $58 = HEAP32[$pBt>>2]|0; - $59 = ((($58)) + 24|0); - $60 = HEAP16[$59>>1]|0; - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 10|0); - HEAP16[$62>>1] = $60; - $63 = HEAP32[$pBt>>2]|0; - $64 = ((($63)) + 26|0); - $65 = HEAP16[$64>>1]|0; - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 12|0); - HEAP16[$67>>1] = $65; - break; - } - $68 = (_sqlite3CorruptError(59964)|0); - HEAP32[$0>>2] = $68; - $74 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($74|0); - } - } while(0); - $69 = HEAP32[$pBt>>2]|0; - $70 = ((($69)) + 21|0); - $71 = HEAP8[$70>>0]|0; - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 7|0); - HEAP8[$73>>0] = $71; - HEAP32[$0>>2] = 0; - $74 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($74|0); + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = (($7) + ($8<<4)|0); + HEAP32[$4>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + _sqlite3SchemaClear($12); + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)!=(1); + if (!($14)) { + STACKTOP = sp;return; + } + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 16|0); + HEAP32[$4>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + _sqlite3SchemaClear($21); + STACKTOP = sp;return; } -function _cellSizePtr($pPage,$pCell) { - $pPage = $pPage|0; - $pCell = $pCell|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $minLocal = 0, $nSize = 0, $pEnd = 0, $pIter = 0, label = 0, sp = 0; +function _sqlite3BtreeCommit($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $pIter = sp + 12|0; - $pEnd = sp + 8|0; - $nSize = sp + 4|0; - $minLocal = sp; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $pCell; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 6|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = (($2) + ($6)|0); - HEAP32[$pIter>>2] = $7; - $8 = HEAP32[$pIter>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - HEAP32[$nSize>>2] = $10; - $11 = HEAP32[$nSize>>2]|0; - $12 = ($11>>>0)>=(128); - L1: do { - if ($12) { - $13 = HEAP32[$pIter>>2]|0; - $14 = ((($13)) + 8|0); - HEAP32[$pEnd>>2] = $14; - $15 = HEAP32[$nSize>>2]|0; - $16 = $15 & 127; - HEAP32[$nSize>>2] = $16; - while(1) { - $17 = HEAP32[$nSize>>2]|0; - $18 = $17 << 7; - $19 = HEAP32[$pIter>>2]|0; - $20 = ((($19)) + 1|0); - HEAP32[$pIter>>2] = $20; - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = $22 & 127; - $24 = $18 | $23; - HEAP32[$nSize>>2] = $24; - $25 = HEAP32[$pIter>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)>=(128); - if (!($28)) { - break L1; - } - $29 = HEAP32[$pIter>>2]|0; - $30 = HEAP32[$pEnd>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if (!($31)) { - break; - } - } - } - } while(0); - $32 = HEAP32[$pIter>>2]|0; - $33 = ((($32)) + 1|0); - HEAP32[$pIter>>2] = $33; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 2|0); - $36 = HEAP8[$35>>0]|0; - $37 = ($36<<24>>24)!=(0); - L7: do { - if ($37) { - $38 = HEAP32[$pIter>>2]|0; - $39 = ((($38)) + 9|0); - HEAP32[$pEnd>>2] = $39; - while(1) { - $40 = HEAP32[$pIter>>2]|0; - $41 = ((($40)) + 1|0); - HEAP32[$pIter>>2] = $41; - $42 = HEAP8[$40>>0]|0; - $43 = $42&255; - $44 = $43 & 128; - $45 = ($44|0)!=(0); - if (!($45)) { - break L7; - } - $46 = HEAP32[$pIter>>2]|0; - $47 = HEAP32[$pEnd>>2]|0; - $48 = ($46>>>0)<($47>>>0); - if (!($48)) { - break; - } - } - } - } while(0); - $49 = HEAP32[$nSize>>2]|0; - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 10|0); - $52 = HEAP16[$51>>1]|0; - $53 = $52&65535; - $54 = ($49>>>0)<=($53>>>0); - if ($54) { - $55 = HEAP32[$pIter>>2]|0; - $56 = HEAP32[$1>>2]|0; - $57 = $55; - $58 = $56; - $59 = (($57) - ($58))|0; - $60 = HEAP32[$nSize>>2]|0; - $61 = (($60) + ($59))|0; - HEAP32[$nSize>>2] = $61; - $62 = HEAP32[$nSize>>2]|0; - $63 = ($62>>>0)<(4); - $$ = $63 ? 4 : $61; - HEAP32[$nSize>>2] = $$; - $97 = HEAP32[$nSize>>2]|0; - $98 = $97&65535; - STACKTOP = sp;return ($98|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnter($3); + $4 = HEAP32[$1>>2]|0; + $5 = (_sqlite3BtreeCommitPhaseOne($4,0)|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = (_sqlite3BtreeCommitPhaseTwo($8,0)|0); + HEAP32[$2>>2] = $9; } - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 12|0); - $66 = HEAP16[$65>>1]|0; - $67 = $66&65535; - HEAP32[$minLocal>>2] = $67; - $68 = HEAP32[$minLocal>>2]|0; - $69 = HEAP32[$nSize>>2]|0; - $70 = HEAP32[$minLocal>>2]|0; - $71 = (($69) - ($70))|0; - $72 = HEAP32[$0>>2]|0; - $73 = ((($72)) + 52|0); - $74 = HEAP32[$73>>2]|0; - $75 = ((($74)) + 36|0); - $76 = HEAP32[$75>>2]|0; - $77 = (($76) - 4)|0; - $78 = (($71>>>0) % ($77>>>0))&-1; - $79 = (($68) + ($78))|0; - HEAP32[$nSize>>2] = $79; - $80 = HEAP32[$nSize>>2]|0; - $81 = HEAP32[$0>>2]|0; - $82 = ((($81)) + 10|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83&65535; - $85 = ($80>>>0)>($84>>>0); - if ($85) { - $86 = HEAP32[$minLocal>>2]|0; - HEAP32[$nSize>>2] = $86; + $10 = HEAP32[$1>>2]|0; + _sqlite3BtreeLeave($10); + $11 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _sqlite3ParserAlloc($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (FUNCTION_TABLE_iii[$3 & 255](1608,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $15 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($15|0); } - $87 = HEAP32[$pIter>>2]|0; - $88 = HEAP32[$1>>2]|0; - $89 = $87; - $90 = $88; - $91 = (($89) - ($90))|0; - $92 = $91&65535; - $93 = $92&65535; - $94 = (4 + ($93))|0; - $95 = HEAP32[$nSize>>2]|0; - $96 = (($95) + ($94))|0; - HEAP32[$nSize>>2] = $96; - $97 = HEAP32[$nSize>>2]|0; - $98 = $97&65535; - STACKTOP = sp;return ($98|0); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$2>>2]|0; + HEAP32[$9>>2] = $8; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 8|0); + HEAP16[$11>>1] = 0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 8|0); + $14 = ((($13)) + 2|0); + HEAP8[$14>>0] = 0; + $15 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($15|0); } -function _btreeParseCellPtr($pPage,$pCell,$pInfo) { - $pPage = $pPage|0; - $pCell = $pCell|0; - $pInfo = $pInfo|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $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, $iKey = 0, $nPayload = 0, $pEnd = 0; - var $pEnd1 = 0, $pIter = 0, label = 0, sp = 0; +function _sqlite3Parser($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $pIter = sp + 20|0; - $nPayload = sp + 16|0; - $iKey = sp; - $pEnd = sp + 12|0; - $pEnd1 = sp + 8|0; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $pCell; - HEAP32[$2>>2] = $pInfo; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pIter>>2] = $3; - $4 = HEAP32[$pIter>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - HEAP32[$nPayload>>2] = $6; - $7 = HEAP32[$nPayload>>2]|0; - $8 = ($7>>>0)>=(128); - L1: do { - if ($8) { - $9 = HEAP32[$pIter>>2]|0; - $10 = ((($9)) + 8|0); - HEAP32[$pEnd>>2] = $10; - $11 = HEAP32[$nPayload>>2]|0; - $12 = $11 & 127; - HEAP32[$nPayload>>2] = $12; - while(1) { - $13 = HEAP32[$nPayload>>2]|0; - $14 = $13 << 7; - $15 = HEAP32[$pIter>>2]|0; - $16 = ((($15)) + 1|0); - HEAP32[$pIter>>2] = $16; - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = $18 & 127; - $20 = $14 | $19; - HEAP32[$nPayload>>2] = $20; - $21 = HEAP32[$pIter>>2]|0; - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = ($23|0)>=(128); - if (!($24)) { - break L1; - } - $25 = HEAP32[$pIter>>2]|0; - $26 = HEAP32[$pEnd>>2]|0; - $27 = ($25>>>0)<($26>>>0); - if (!($27)) { + $$byval_copy1 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $3; + $10 = HEAP32[$4>>2]|0; + HEAP32[$9>>2] = $10; + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$9>>2]|0; + $13 = ((($12)) + 4|0); + HEAP32[$13>>2] = $11; + while(1) { + $14 = HEAP32[$9>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = $15&255; + $17 = (_yy_find_shift_action($14,$16)|0); + HEAP32[$8>>2] = $17; + $18 = HEAP32[$8>>2]|0; + $19 = ($18>>>0)<=(999); + do { + if ($19) { + $20 = HEAP32[$9>>2]|0; + $21 = HEAP32[$8>>2]|0; + $22 = HEAP32[$5>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0; + _yy_shift($20,$21,$22,$$byval_copy1); + HEAP32[$5>>2] = 252; + } else { + $23 = HEAP32[$8>>2]|0; + $24 = ($23>>>0)<=(1331); + if ($24) { + $25 = HEAP32[$9>>2]|0; + $26 = HEAP32[$8>>2]|0; + $27 = (($26) - 1000)|0; + _yy_reduce($25,$27); break; - } - } - } - } while(0); - $28 = HEAP32[$pIter>>2]|0; - $29 = ((($28)) + 1|0); - HEAP32[$pIter>>2] = $29; - $30 = HEAP32[$pIter>>2]|0; - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $iKey; - $34 = $33; - HEAP32[$34>>2] = $32; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = 0; - $37 = $iKey; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = ($42>>>0)>(0); - $44 = ($39>>>0)>=(128); - $45 = ($42|0)==(0); - $46 = $45 & $44; - $47 = $43 | $46; - L7: do { - if ($47) { - $48 = HEAP32[$pIter>>2]|0; - $49 = ((($48)) + 7|0); - HEAP32[$pEnd1>>2] = $49; - $50 = $iKey; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = $52 & 127; - $57 = $iKey; - $58 = $57; - HEAP32[$58>>2] = $56; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = 0; - while(1) { - $61 = $iKey; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (_bitshift64Shl(($63|0),($66|0),7)|0); - $68 = tempRet0; - $69 = HEAP32[$pIter>>2]|0; - $70 = ((($69)) + 1|0); - HEAP32[$pIter>>2] = $70; - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = $72 & 127; - $74 = ($73|0)<(0); - $75 = $74 << 31 >> 31; - $76 = $67 | $73; - $77 = $68 | $75; - $78 = $iKey; - $79 = $78; - HEAP32[$79>>2] = $76; - $80 = (($78) + 4)|0; - $81 = $80; - HEAP32[$81>>2] = $77; - $82 = HEAP32[$pIter>>2]|0; - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = ($84|0)<(128); - if ($85) { - break L7; - } - $86 = HEAP32[$pIter>>2]|0; - $87 = HEAP32[$pEnd1>>2]|0; - $88 = ($86>>>0)>=($87>>>0); - if ($88) { + } else { + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = HEAP32[$5>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0; + _yy_syntax_error($28,$29,$$byval_copy1); + $30 = HEAP32[$9>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = $31&255; + _yy_destructor($30,$32,$7); + HEAP32[$5>>2] = 252; break; } } - $89 = $iKey; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (_bitshift64Shl(($91|0),($94|0),8)|0); - $96 = tempRet0; - $97 = HEAP32[$pIter>>2]|0; - $98 = ((($97)) + 1|0); - HEAP32[$pIter>>2] = $98; - $99 = HEAP8[$98>>0]|0; - $100 = $99&255; - $101 = $95 | $100; - $102 = $iKey; - $103 = $102; - HEAP32[$103>>2] = $101; - $104 = (($102) + 4)|0; - $105 = $104; - HEAP32[$105>>2] = $96; + } while(0); + $33 = HEAP32[$5>>2]|0; + $34 = ($33|0)!=(252); + if (!($34)) { + label = 9; + break; + } + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$9>>2]|0; + $38 = ((($37)) + 8|0); + $39 = ($36>>>0)>($38>>>0); + if (!($39)) { + label = 9; + break; } - } while(0); - $106 = HEAP32[$pIter>>2]|0; - $107 = ((($106)) + 1|0); - HEAP32[$pIter>>2] = $107; - $108 = $iKey; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (($108) + 4)|0; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$2>>2]|0; - $115 = $114; - $116 = $115; - HEAP32[$116>>2] = $110; - $117 = (($115) + 4)|0; - $118 = $117; - HEAP32[$118>>2] = $113; - $119 = HEAP32[$nPayload>>2]|0; - $120 = HEAP32[$2>>2]|0; - $121 = ((($120)) + 12|0); - HEAP32[$121>>2] = $119; - $122 = HEAP32[$pIter>>2]|0; - $123 = HEAP32[$2>>2]|0; - $124 = ((($123)) + 8|0); - HEAP32[$124>>2] = $122; - $125 = HEAP32[$nPayload>>2]|0; - $126 = HEAP32[$0>>2]|0; - $127 = ((($126)) + 10|0); - $128 = HEAP16[$127>>1]|0; - $129 = $128&65535; - $130 = ($125>>>0)<=($129>>>0); - if (!($130)) { - $154 = HEAP32[$0>>2]|0; - $155 = HEAP32[$1>>2]|0; - $156 = HEAP32[$2>>2]|0; - _btreeParseCellAdjustSizeForOverflow($154,$155,$156); - STACKTOP = sp;return; } - $131 = HEAP32[$nPayload>>2]|0; - $132 = HEAP32[$pIter>>2]|0; - $133 = HEAP32[$1>>2]|0; - $134 = $132; - $135 = $133; - $136 = (($134) - ($135))|0; - $137 = $136&65535; - $138 = $137&65535; - $139 = (($131) + ($138))|0; - $140 = $139&65535; - $141 = HEAP32[$2>>2]|0; - $142 = ((($141)) + 18|0); - HEAP16[$142>>1] = $140; - $143 = HEAP32[$2>>2]|0; - $144 = ((($143)) + 18|0); - $145 = HEAP16[$144>>1]|0; - $146 = $145&65535; - $147 = ($146|0)<(4); - if ($147) { - $148 = HEAP32[$2>>2]|0; - $149 = ((($148)) + 18|0); - HEAP16[$149>>1] = 4; + if ((label|0) == 9) { + STACKTOP = sp;return; } - $150 = HEAP32[$nPayload>>2]|0; - $151 = $150&65535; - $152 = HEAP32[$2>>2]|0; - $153 = ((($152)) + 16|0); - HEAP16[$153>>1] = $151; - STACKTOP = sp;return; } -function _cellSizePtrNoPayload($pPage,$pCell) { - $pPage = $pPage|0; - $pCell = $pCell|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pEnd = 0, $pIter = 0, label = 0, sp = 0; +function _sqlite3ParserFree($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pIter = sp + 4|0; - $pEnd = sp; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $pCell; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 4|0); - HEAP32[$pIter>>2] = $3; - $4 = HEAP32[$pIter>>2]|0; - $5 = ((($4)) + 9|0); - HEAP32[$pEnd>>2] = $5; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; while(1) { - $6 = HEAP32[$pIter>>2]|0; - $7 = ((($6)) + 1|0); - HEAP32[$pIter>>2] = $7; - $8 = HEAP8[$6>>0]|0; - $9 = $8&255; - $10 = $9 & 128; - $11 = ($10|0)!=(0); - if (!($11)) { - break; - } - $12 = HEAP32[$pIter>>2]|0; - $13 = HEAP32[$pEnd>>2]|0; - $14 = ($12>>>0)<($13>>>0); - if (!($14)) { + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 8|0); + $10 = ($7>>>0)>($9>>>0); + if (!($10)) { break; } + $11 = HEAP32[$4>>2]|0; + _yy_pop_parser_stack($11); } - $15 = HEAP32[$pIter>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = $15; - $18 = $16; - $19 = (($17) - ($18))|0; - $20 = $19&65535; - STACKTOP = sp;return ($20|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$4>>2]|0; + FUNCTION_TABLE_vi[$12 & 255]($13); + STACKTOP = sp;return; } -function _btreeParseCellPtrNoPayload($pPage,$pCell,$pInfo) { - $pPage = $pPage|0; - $pCell = $pCell|0; - $pInfo = $pInfo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _yy_pop_parser_stack($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $pCell; - HEAP32[$2>>2] = $pInfo; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3GetVarint($4,$5)|0); - $7 = $6&255; - $8 = (4 + ($7))|0; - $9 = $8&65535; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + -16|0); + HEAP32[$3>>2] = $5; + HEAP32[$2>>2] = $4; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 2|0); + $9 = HEAP8[$8>>0]|0; $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 18|0); - HEAP16[$11>>1] = $9; - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 12|0); - HEAP32[$13>>2] = 0; - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 16|0); - HEAP16[$15>>1] = 0; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 8|0); - HEAP32[$17>>2] = 0; + $11 = ((($10)) + 4|0); + _yy_destructor($6,$9,$11); STACKTOP = sp;return; } -function _btreeParseCellPtrIndex($pPage,$pCell,$pInfo) { - $pPage = $pPage|0; - $pCell = $pCell|0; - $pInfo = $pInfo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $nPayload = 0; - var $pEnd = 0, $pIter = 0, label = 0, sp = 0; +function _yy_destructor($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pIter = sp + 8|0; - $nPayload = sp + 4|0; - $pEnd = sp; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $pCell; - HEAP32[$2>>2] = $pInfo; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 6|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = (($3) + ($7)|0); - HEAP32[$pIter>>2] = $8; - $9 = HEAP32[$pIter>>2]|0; - $10 = HEAP8[$9>>0]|0; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 12|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP8[$4>>0]|0; $11 = $10&255; - HEAP32[$nPayload>>2] = $11; - $12 = HEAP32[$nPayload>>2]|0; - $13 = ($12>>>0)>=(128); - L1: do { - if ($13) { - $14 = HEAP32[$pIter>>2]|0; - $15 = ((($14)) + 8|0); - HEAP32[$pEnd>>2] = $15; - $16 = HEAP32[$nPayload>>2]|0; - $17 = $16 & 127; - HEAP32[$nPayload>>2] = $17; - while(1) { - $18 = HEAP32[$nPayload>>2]|0; - $19 = $18 << 7; - $20 = HEAP32[$pIter>>2]|0; - $21 = ((($20)) + 1|0); - HEAP32[$pIter>>2] = $21; - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = $23 & 127; - $25 = $19 | $24; - HEAP32[$nPayload>>2] = $25; - $26 = HEAP32[$pIter>>2]|0; - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = ($28|0)>=(128); - if (!($29)) { - break L1; - } - $30 = HEAP32[$pIter>>2]|0; - $31 = HEAP32[$pEnd>>2]|0; - $32 = ($30>>>0)<($31>>>0); - if (!($32)) { - break; - } - } + do { + switch ($11|0) { + case 206: case 195: case 194: case 163: { + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + _sqlite3SelectDelete($13,$15); + STACKTOP = sp;return; + break; + } + case 173: case 172: { + $16 = HEAP32[$6>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + _sqlite3ExprDelete($17,$19); + STACKTOP = sp;return; + break; + } + case 226: case 224: case 218: case 209: case 208: case 207: case 204: case 202: case 199: case 187: case 186: case 177: { + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$22>>2]|0; + _sqlite3ExprListDelete($21,$23); + STACKTOP = sp;return; + break; + } + case 212: case 211: case 200: case 193: { + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$26>>2]|0; + _sqlite3SrcListDelete($25,$27); + STACKTOP = sp;return; + break; + } + case 250: case 196: { + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$30>>2]|0; + _sqlite3WithDelete($29,$31); + STACKTOP = sp;return; + break; + } + case 241: case 236: case 227: case 225: case 215: case 203: case 201: { + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$34>>2]|0; + _sqlite3ExprDelete($33,$35); + STACKTOP = sp;return; + break; + } + case 220: case 217: case 216: { + $36 = HEAP32[$6>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$38>>2]|0; + _sqlite3IdListDelete($37,$39); + STACKTOP = sp;return; + break; + } + case 237: case 232: { + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = HEAP32[$42>>2]|0; + _sqlite3DeleteTriggerStep($41,$43); + STACKTOP = sp;return; + break; + } + case 234: { + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + _sqlite3IdListDelete($45,$48); + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } } } while(0); - $33 = HEAP32[$pIter>>2]|0; - $34 = ((($33)) + 1|0); - HEAP32[$pIter>>2] = $34; - $35 = HEAP32[$nPayload>>2]|0; - $36 = HEAP32[$2>>2]|0; - $37 = $36; - $38 = $37; - HEAP32[$38>>2] = $35; - $39 = (($37) + 4)|0; - $40 = $39; - HEAP32[$40>>2] = 0; - $41 = HEAP32[$nPayload>>2]|0; - $42 = HEAP32[$2>>2]|0; - $43 = ((($42)) + 12|0); - HEAP32[$43>>2] = $41; - $44 = HEAP32[$pIter>>2]|0; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 8|0); - HEAP32[$46>>2] = $44; - $47 = HEAP32[$nPayload>>2]|0; - $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 10|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = ($47>>>0)<=($51>>>0); - if (!($52)) { - $76 = HEAP32[$0>>2]|0; - $77 = HEAP32[$1>>2]|0; - $78 = HEAP32[$2>>2]|0; - _btreeParseCellAdjustSizeForOverflow($76,$77,$78); - STACKTOP = sp;return; - } - $53 = HEAP32[$nPayload>>2]|0; - $54 = HEAP32[$pIter>>2]|0; - $55 = HEAP32[$1>>2]|0; - $56 = $54; - $57 = $55; - $58 = (($56) - ($57))|0; - $59 = $58&65535; - $60 = $59&65535; - $61 = (($53) + ($60))|0; - $62 = $61&65535; - $63 = HEAP32[$2>>2]|0; - $64 = ((($63)) + 18|0); - HEAP16[$64>>1] = $62; - $65 = HEAP32[$2>>2]|0; - $66 = ((($65)) + 18|0); - $67 = HEAP16[$66>>1]|0; - $68 = $67&65535; - $69 = ($68|0)<(4); - if ($69) { - $70 = HEAP32[$2>>2]|0; - $71 = ((($70)) + 18|0); - HEAP16[$71>>1] = 4; - } - $72 = HEAP32[$nPayload>>2]|0; - $73 = $72&65535; - $74 = HEAP32[$2>>2]|0; - $75 = ((($74)) + 16|0); - HEAP16[$75>>1] = $73; - STACKTOP = sp;return; -} -function _btreeParseCellAdjustSizeForOverflow($pPage,$pCell,$pInfo) { - $pPage = $pPage|0; - $pCell = $pCell|0; - $pInfo = $pInfo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $maxLocal = 0, $minLocal = 0, $surplus = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $minLocal = sp + 8|0; - $maxLocal = sp + 4|0; - $surplus = sp; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $pCell; - HEAP32[$2>>2] = $pInfo; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - HEAP32[$minLocal>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 10|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - HEAP32[$maxLocal>>2] = $10; - $11 = HEAP32[$minLocal>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$minLocal>>2]|0; - $16 = (($14) - ($15))|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 52|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($19)) + 36|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) - 4)|0; - $23 = (($16>>>0) % ($22>>>0))&-1; - $24 = (($11) + ($23))|0; - HEAP32[$surplus>>2] = $24; - $25 = HEAP32[$surplus>>2]|0; - $26 = HEAP32[$maxLocal>>2]|0; - $27 = ($25|0)<=($26|0); - if ($27) { - $28 = HEAP32[$surplus>>2]|0; - $29 = $28&65535; - $30 = HEAP32[$2>>2]|0; - $31 = ((($30)) + 16|0); - HEAP16[$31>>1] = $29; - } else { - $32 = HEAP32[$minLocal>>2]|0; - $33 = $32&65535; - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 16|0); - HEAP16[$35>>1] = $33; - } - $36 = HEAP32[$2>>2]|0; - $37 = ((($36)) + 16|0); - $38 = HEAP16[$37>>1]|0; - $39 = $38&65535; - $40 = HEAP32[$2>>2]|0; - $41 = ((($40)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = (($42) + ($39)|0); - $44 = HEAP32[$1>>2]|0; - $45 = $43; - $46 = $44; - $47 = (($45) - ($46))|0; - $48 = $47&65535; - $49 = $48&65535; - $50 = (($49) + 4)|0; - $51 = $50&65535; - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 18|0); - HEAP16[$53>>1] = $51; - STACKTOP = sp;return; } -function _sqlite3GetVarint($p,$v) { - $p = $p|0; - $v = $v|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $a = 0, $b = 0, $s = 0, label = 0, sp = 0; +function _yy_find_shift_action($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $a = sp + 8|0; - $b = sp + 4|0; - $s = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $v; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - HEAP32[$a>>2] = $5; - $6 = HEAP32[$a>>2]|0; - $7 = $6 & 128; - $8 = ($7|0)!=(0); - if (!($8)) { - $9 = HEAP32[$a>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = $10; - $12 = $11; - HEAP32[$12>>2] = $9; - $13 = (($11) + 4)|0; - $14 = $13; - HEAP32[$14>>2] = 0; - HEAP8[$0>>0] = 1; - $242 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($242|0); - } - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 1|0); - HEAP32[$1>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - HEAP32[$b>>2] = $19; - $20 = HEAP32[$b>>2]|0; - $21 = $20 & 128; - $22 = ($21|0)!=(0); - if (!($22)) { - $23 = HEAP32[$a>>2]|0; - $24 = $23 & 127; - HEAP32[$a>>2] = $24; - $25 = HEAP32[$a>>2]|0; - $26 = $25 << 7; - HEAP32[$a>>2] = $26; - $27 = HEAP32[$b>>2]|0; - $28 = HEAP32[$a>>2]|0; - $29 = $28 | $27; - HEAP32[$a>>2] = $29; - $30 = HEAP32[$a>>2]|0; - $31 = HEAP32[$2>>2]|0; - $32 = $31; - $33 = $32; - HEAP32[$33>>2] = $30; - $34 = (($32) + 4)|0; - $35 = $34; - HEAP32[$35>>2] = 0; - HEAP8[$0>>0] = 2; - $242 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($242|0); - } - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 1|0); - HEAP32[$1>>2] = $37; - $38 = HEAP32[$a>>2]|0; - $39 = $38 << 14; - HEAP32[$a>>2] = $39; - $40 = HEAP32[$1>>2]|0; - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = HEAP32[$a>>2]|0; - $44 = $43 | $42; - HEAP32[$a>>2] = $44; - $45 = HEAP32[$a>>2]|0; - $46 = $45 & 128; - $47 = ($46|0)!=(0); - $48 = HEAP32[$a>>2]|0; - $49 = $48 & 2080895; - HEAP32[$a>>2] = $49; - if (!($47)) { - $50 = HEAP32[$b>>2]|0; - $51 = $50 & 127; - HEAP32[$b>>2] = $51; - $52 = HEAP32[$b>>2]|0; - $53 = $52 << 7; - HEAP32[$b>>2] = $53; - $54 = HEAP32[$b>>2]|0; - $55 = HEAP32[$a>>2]|0; - $56 = $55 | $54; - HEAP32[$a>>2] = $56; - $57 = HEAP32[$a>>2]|0; - $58 = HEAP32[$2>>2]|0; - $59 = $58; - $60 = $59; - HEAP32[$60>>2] = $57; - $61 = (($59) + 4)|0; - $62 = $61; - HEAP32[$62>>2] = 0; - HEAP8[$0>>0] = 3; - $242 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($242|0); - } - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 1|0); - HEAP32[$1>>2] = $64; - $65 = HEAP32[$b>>2]|0; - $66 = $65 << 14; - HEAP32[$b>>2] = $66; - $67 = HEAP32[$1>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = HEAP32[$b>>2]|0; - $71 = $70 | $69; - HEAP32[$b>>2] = $71; - $72 = HEAP32[$b>>2]|0; - $73 = $72 & 128; - $74 = ($73|0)!=(0); - $75 = HEAP32[$b>>2]|0; - $76 = $75 & 2080895; - HEAP32[$b>>2] = $76; - $77 = HEAP32[$a>>2]|0; - if (!($74)) { - $78 = $77 << 7; - HEAP32[$a>>2] = $78; - $79 = HEAP32[$b>>2]|0; - $80 = HEAP32[$a>>2]|0; - $81 = $80 | $79; - HEAP32[$a>>2] = $81; - $82 = HEAP32[$a>>2]|0; - $83 = HEAP32[$2>>2]|0; - $84 = $83; - $85 = $84; - HEAP32[$85>>2] = $82; - $86 = (($84) + 4)|0; - $87 = $86; - HEAP32[$87>>2] = 0; - HEAP8[$0>>0] = 4; - $242 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($242|0); - } - HEAP32[$s>>2] = $77; - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 1|0); - HEAP32[$1>>2] = $89; - $90 = HEAP32[$a>>2]|0; - $91 = $90 << 14; - HEAP32[$a>>2] = $91; - $92 = HEAP32[$1>>2]|0; - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $95 = HEAP32[$a>>2]|0; - $96 = $95 | $94; - HEAP32[$a>>2] = $96; - $97 = HEAP32[$a>>2]|0; - $98 = $97 & 128; - $99 = ($98|0)!=(0); - if (!($99)) { - $100 = HEAP32[$b>>2]|0; - $101 = $100 << 7; - HEAP32[$b>>2] = $101; - $102 = HEAP32[$b>>2]|0; - $103 = HEAP32[$a>>2]|0; - $104 = $103 | $102; - HEAP32[$a>>2] = $104; - $105 = HEAP32[$s>>2]|0; - $106 = $105 >>> 18; - HEAP32[$s>>2] = $106; - $107 = HEAP32[$s>>2]|0; - $108 = HEAP32[$a>>2]|0; - $109 = HEAP32[$2>>2]|0; - $110 = $109; - $111 = $110; - HEAP32[$111>>2] = $108; - $112 = (($110) + 4)|0; - $113 = $112; - HEAP32[$113>>2] = $107; - HEAP8[$0>>0] = 5; - $242 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($242|0); - } - $114 = HEAP32[$s>>2]|0; - $115 = $114 << 7; - HEAP32[$s>>2] = $115; - $116 = HEAP32[$b>>2]|0; - $117 = HEAP32[$s>>2]|0; - $118 = $117 | $116; - HEAP32[$s>>2] = $118; - $119 = HEAP32[$1>>2]|0; - $120 = ((($119)) + 1|0); - HEAP32[$1>>2] = $120; - $121 = HEAP32[$b>>2]|0; - $122 = $121 << 14; - HEAP32[$b>>2] = $122; - $123 = HEAP32[$1>>2]|0; - $124 = HEAP8[$123>>0]|0; - $125 = $124&255; - $126 = HEAP32[$b>>2]|0; - $127 = $126 | $125; - HEAP32[$b>>2] = $127; - $128 = HEAP32[$b>>2]|0; - $129 = $128 & 128; - $130 = ($129|0)!=(0); - if (!($130)) { - $131 = HEAP32[$a>>2]|0; - $132 = $131 & 2080895; - HEAP32[$a>>2] = $132; - $133 = HEAP32[$a>>2]|0; - $134 = $133 << 7; - HEAP32[$a>>2] = $134; - $135 = HEAP32[$b>>2]|0; - $136 = HEAP32[$a>>2]|0; - $137 = $136 | $135; - HEAP32[$a>>2] = $137; - $138 = HEAP32[$s>>2]|0; - $139 = $138 >>> 18; - HEAP32[$s>>2] = $139; - $140 = HEAP32[$s>>2]|0; - $141 = HEAP32[$a>>2]|0; - $142 = HEAP32[$2>>2]|0; - $143 = $142; - $144 = $143; - HEAP32[$144>>2] = $141; - $145 = (($143) + 4)|0; - $146 = $145; - HEAP32[$146>>2] = $140; - HEAP8[$0>>0] = 6; - $242 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($242|0); - } - $147 = HEAP32[$1>>2]|0; - $148 = ((($147)) + 1|0); - HEAP32[$1>>2] = $148; - $149 = HEAP32[$a>>2]|0; - $150 = $149 << 14; - HEAP32[$a>>2] = $150; - $151 = HEAP32[$1>>2]|0; - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = HEAP32[$a>>2]|0; - $155 = $154 | $153; - HEAP32[$a>>2] = $155; - $156 = HEAP32[$a>>2]|0; - $157 = $156 & 128; - $158 = ($157|0)!=(0); - $159 = HEAP32[$a>>2]|0; - if (!($158)) { - $160 = $159 & -266354561; - HEAP32[$a>>2] = $160; - $161 = HEAP32[$b>>2]|0; - $162 = $161 & 2080895; - HEAP32[$b>>2] = $162; - $163 = HEAP32[$b>>2]|0; - $164 = $163 << 7; - HEAP32[$b>>2] = $164; - $165 = HEAP32[$b>>2]|0; - $166 = HEAP32[$a>>2]|0; - $167 = $166 | $165; - HEAP32[$a>>2] = $167; - $168 = HEAP32[$s>>2]|0; - $169 = $168 >>> 11; - HEAP32[$s>>2] = $169; - $170 = HEAP32[$s>>2]|0; - $171 = HEAP32[$a>>2]|0; - $172 = HEAP32[$2>>2]|0; - $173 = $172; - $174 = $173; - HEAP32[$174>>2] = $171; - $175 = (($173) + 4)|0; - $176 = $175; - HEAP32[$176>>2] = $170; - HEAP8[$0>>0] = 7; - $242 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($242|0); - } - $177 = $159 & 2080895; - HEAP32[$a>>2] = $177; - $178 = HEAP32[$1>>2]|0; - $179 = ((($178)) + 1|0); - HEAP32[$1>>2] = $179; - $180 = HEAP32[$b>>2]|0; - $181 = $180 << 14; - HEAP32[$b>>2] = $181; - $182 = HEAP32[$1>>2]|0; - $183 = HEAP8[$182>>0]|0; - $184 = $183&255; - $185 = HEAP32[$b>>2]|0; - $186 = $185 | $184; - HEAP32[$b>>2] = $186; - $187 = HEAP32[$b>>2]|0; - $188 = $187 & 128; - $189 = ($188|0)!=(0); - if ($189) { - $206 = HEAP32[$1>>2]|0; - $207 = ((($206)) + 1|0); - HEAP32[$1>>2] = $207; - $208 = HEAP32[$a>>2]|0; - $209 = $208 << 15; - HEAP32[$a>>2] = $209; - $210 = HEAP32[$1>>2]|0; - $211 = HEAP8[$210>>0]|0; - $212 = $211&255; - $213 = HEAP32[$a>>2]|0; - $214 = $213 | $212; - HEAP32[$a>>2] = $214; - $215 = HEAP32[$b>>2]|0; - $216 = $215 & 2080895; - HEAP32[$b>>2] = $216; - $217 = HEAP32[$b>>2]|0; - $218 = $217 << 8; - HEAP32[$b>>2] = $218; - $219 = HEAP32[$b>>2]|0; - $220 = HEAP32[$a>>2]|0; - $221 = $220 | $219; - HEAP32[$a>>2] = $221; - $222 = HEAP32[$s>>2]|0; - $223 = $222 << 4; - HEAP32[$s>>2] = $223; - $224 = HEAP32[$1>>2]|0; - $225 = ((($224)) + -4|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - HEAP32[$b>>2] = $227; - $228 = HEAP32[$b>>2]|0; - $229 = $228 & 127; - HEAP32[$b>>2] = $229; - $230 = HEAP32[$b>>2]|0; - $231 = $230 >>> 3; - HEAP32[$b>>2] = $231; - $232 = HEAP32[$b>>2]|0; - $233 = HEAP32[$s>>2]|0; - $234 = $233 | $232; - HEAP32[$s>>2] = $234; - $235 = HEAP32[$s>>2]|0; - $236 = HEAP32[$a>>2]|0; - $237 = HEAP32[$2>>2]|0; - $238 = $237; - $239 = $238; - HEAP32[$239>>2] = $236; - $240 = (($238) + 4)|0; - $241 = $240; - HEAP32[$241>>2] = $235; - HEAP8[$0>>0] = 9; - $242 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($242|0); - } else { - $190 = HEAP32[$b>>2]|0; - $191 = $190 & -266354561; - HEAP32[$b>>2] = $191; - $192 = HEAP32[$a>>2]|0; - $193 = $192 << 7; - HEAP32[$a>>2] = $193; - $194 = HEAP32[$b>>2]|0; - $195 = HEAP32[$a>>2]|0; - $196 = $195 | $194; - HEAP32[$a>>2] = $196; - $197 = HEAP32[$s>>2]|0; - $198 = $197 >>> 4; - HEAP32[$s>>2] = $198; - $199 = HEAP32[$s>>2]|0; - $200 = HEAP32[$a>>2]|0; - $201 = HEAP32[$2>>2]|0; - $202 = $201; - $203 = $202; - HEAP32[$203>>2] = $200; - $204 = (($202) + 4)|0; - $205 = $204; - HEAP32[$205>>2] = $199; - HEAP8[$0>>0] = 8; - $242 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($242|0); + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 21|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp + 20|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)>=(1000); + if ($14) { + $15 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $15; + $72 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($72|0); } - return (0)|0; -} -function _allSpaces($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $n; while(1) { - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = (($4) - 1)|0; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + ($5)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)==(32); - $15 = $10; - } else { - $15 = 0; + $16 = HEAP32[$6>>2]|0; + $17 = (15242 + ($16<<1)|0); + $18 = HEAP16[$17>>1]|0; + $19 = $18 << 16 >> 16; + HEAP32[$5>>2] = $19; + $20 = HEAP8[$4>>0]|0; + $21 = $20&255; + $22 = HEAP32[$5>>2]|0; + $23 = (($22) + ($21))|0; + HEAP32[$5>>2] = $23; + $24 = HEAP32[$5>>2]|0; + $25 = ($24|0)<(0); + $26 = HEAP32[$5>>2]|0; + $27 = ($26|0)>=(1567); + $or$cond = $25 | $27; + if (!($or$cond)) { + $28 = HEAP32[$5>>2]|0; + $29 = (37056 + ($28)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = HEAP8[$4>>0]|0; + $33 = $32&255; + $34 = ($31|0)!=($33|0); + if (!($34)) { + label = 13; + break; + } } - $11 = HEAP32[$1>>2]|0; - if (!($15)) { + $35 = HEAP8[$4>>0]|0; + $36 = $35&255; + $37 = ($36>>>0)<(96); + if (!($37)) { break; } - $12 = (($11) + -1)|0; - HEAP32[$1>>2] = $12; + $38 = HEAP8[$4>>0]|0; + $39 = $38&255; + $40 = (38623 + ($39)|0); + $41 = HEAP8[$40>>0]|0; + HEAP8[$7>>0] = $41; + $42 = $41&255; + $43 = ($42|0)!=(0); + if (!($43)) { + break; + } + $44 = HEAP8[$7>>0]|0; + HEAP8[$4>>0] = $44; } - $13 = ($11|0)==(0); - $14 = $13&1; - STACKTOP = sp;return ($14|0); -} -function _sqlite3BtreeCheckpoint($p,$eMode,$pnLog,$pnCkpt) { - $p = $p|0; - $eMode = $eMode|0; - $pnLog = $pnLog|0; - $pnCkpt = $pnCkpt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $rc = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $eMode; - HEAP32[$2>>2] = $pnLog; - HEAP32[$3>>2] = $pnCkpt; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); + if ((label|0) == 13) { + $68 = HEAP32[$5>>2]|0; + $69 = (12078 + ($68<<1)|0); + $70 = HEAP16[$69>>1]|0; + $71 = $70&65535; + HEAP32[$2>>2] = $71; + $72 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($72|0); } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pBt>>2] = $8; - $9 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($9); - $10 = HEAP32[$pBt>>2]|0; - $11 = ((($10)) + 20|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(0); - if ($14) { - HEAP32[$rc>>2] = 6; - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); - } else { - $15 = HEAP32[$pBt>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$3>>2]|0; - $20 = (_sqlite3PagerCheckpoint($16,$17,$18,$19)|0); - HEAP32[$rc>>2] = $20; - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); + $45 = HEAP32[$5>>2]|0; + $46 = HEAP8[$4>>0]|0; + $47 = $46&255; + $48 = (($45) - ($47))|0; + $49 = (($48) + 96)|0; + HEAP32[$8>>2] = $49; + $50 = HEAP32[$8>>2]|0; + $51 = ($50|0)<(1567); + if ($51) { + $52 = HEAP32[$8>>2]|0; + $53 = (37056 + ($52)|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = ($55|0)==(96); + if ($56) { + $57 = HEAP8[$4>>0]|0; + $58 = $57&255; + $59 = ($58|0)>(0); + if ($59) { + $60 = HEAP32[$8>>2]|0; + $61 = (12078 + ($60<<1)|0); + $62 = HEAP16[$61>>1]|0; + $63 = $62&65535; + HEAP32[$2>>2] = $63; + $72 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($72|0); + } + } } - return (0)|0; + $64 = HEAP32[$6>>2]|0; + $65 = (16154 + ($64<<1)|0); + $66 = HEAP16[$65>>1]|0; + $67 = $66&65535; + HEAP32[$2>>2] = $67; + $72 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($72|0); } -function _sqlite3PagerCheckpoint($pPager,$eMode,$pnLog,$pnCkpt) { - $pPager = $pPager|0; - $eMode = $eMode|0; - $pnLog = $pnLog|0; - $pnCkpt = $pnCkpt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _yy_shift($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $eMode; - HEAP32[$2>>2] = $pnLog; - HEAP32[$3>>2] = $pnCkpt; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 216|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $34 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($34|0); + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 16|0); + HEAP32[$8>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 8|0); + $15 = ((($14)) + 1600|0); + $16 = ($12>>>0)>=($15>>>0); + if ($16) { + $17 = HEAP32[$4>>2]|0; + _yyStackOverflow($17); + STACKTOP = sp;return; } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 216|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $32 = 0; - } else { - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 184|0); - $16 = HEAP32[$15>>2]|0; - $32 = $16; + $18 = HEAP32[$5>>2]|0; + $19 = ($18|0)>(455); + if ($19) { + $20 = HEAP32[$5>>2]|0; + $21 = (($20) + 332)|0; + HEAP32[$5>>2] = $21; } - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 188|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 10|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 160|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 208|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$3>>2]|0; - $33 = (_sqlite3WalCheckpoint($10,$11,$32,$19,$23,$26,$29,$30,$31)|0); - HEAP32[$rc>>2] = $33; - $34 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($34|0); + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$7>>2] = $23; + $24 = HEAP32[$5>>2]|0; + $25 = $24&65535; + $26 = HEAP32[$7>>2]|0; + HEAP16[$26>>1] = $25; + $27 = HEAP32[$6>>2]|0; + $28 = $27&255; + $29 = HEAP32[$7>>2]|0; + $30 = ((($29)) + 2|0); + HEAP8[$30>>0] = $28; + $31 = HEAP32[$7>>2]|0; + $32 = ((($31)) + 4|0); + ;HEAP32[$32>>2]=HEAP32[$3>>2]|0;HEAP32[$32+4>>2]=HEAP32[$3+4>>2]|0; + STACKTOP = sp;return; } -function _matchQuality($p,$nArg,$enc) { - $p = $p|0; - $nArg = $nArg|0; - $enc = $enc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $match = 0, label = 0, sp = 0; +function _yy_reduce($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy26 = 0, $$sink = 0, $$sink10 = 0, $$sink4 = 0, $$sink5 = 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, $1011 = 0; + var $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, $103 = 0; + var $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, $1048 = 0; + var $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, $1066 = 0; + var $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, $1084 = 0; + var $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0; + var $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0; + var $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0; + var $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0; + var $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0; + var $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0; + var $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0; + var $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0; + var $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0; + var $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0; + var $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0; + var $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0; + var $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0; + var $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0; + var $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0; + var $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0; + var $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0; + var $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0; + var $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0; + var $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0; + var $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0; + var $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0; + var $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0; + var $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0; + var $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0; + var $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0; + var $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0; + var $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0; + var $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0; + var $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0; + var $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0; + var $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0; + var $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0; + var $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0; + var $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0; + var $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0; + var $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0; + var $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0; + var $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0; + var $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0; + var $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0; + var $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0; + var $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0; + var $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0; + var $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0; + var $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0; + var $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0; + var $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0; + var $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0; + var $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0; + var $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0; + var $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0; + var $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0; + var $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0; + var $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0; + var $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0; + var $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0; + var $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0; + var $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0; + var $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0; + var $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0; + var $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0; + var $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0; + var $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0; + var $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0; + var $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0; + var $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0; + var $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0; + var $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0; + var $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0; + var $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0; + var $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0; + var $2381 = 0, $2382 = 0, $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0; + var $24 = 0, $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0; + var $2417 = 0, $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0; + var $2435 = 0, $2436 = 0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0; + var $2453 = 0, $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0; + var $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0; + var $249 = 0, $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0; + var $2507 = 0, $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0; + var $2525 = 0, $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0; + var $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0; + var $2561 = 0, $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0; + var $258 = 0, $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0; + var $2598 = 0, $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0; + var $2615 = 0, $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0; + var $2633 = 0, $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0; + var $2651 = 0, $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0; + var $267 = 0, $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0; + var $2688 = 0, $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0; + var $2705 = 0, $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0; + var $2723 = 0, $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0; + var $2741 = 0, $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0; + var $276 = 0, $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0; + var $2778 = 0, $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0; + var $2796 = 0, $2797 = 0, $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0; + var $2813 = 0, $2814 = 0, $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0; + var $2831 = 0, $2832 = 0, $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0; + var $285 = 0, $2850 = 0, $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0; + var $2868 = 0, $2869 = 0, $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0; + var $2886 = 0, $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0; + var $2903 = 0, $2904 = 0, $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0; + var $2921 = 0, $2922 = 0, $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0; + var $294 = 0, $2940 = 0, $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0; + var $2958 = 0, $2959 = 0, $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; + var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; + var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; + var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; + var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0; + var $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; + var $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, $428 = 0, $429 = 0; + var $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, $446 = 0, $447 = 0; + var $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, $464 = 0, $465 = 0; + var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; + var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0; + var $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0; + var $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0; + var $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, $554 = 0, $555 = 0; + var $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, $572 = 0, $573 = 0; + var $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, $590 = 0, $591 = 0; + var $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, $608 = 0, $609 = 0; + var $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0; + var $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, $644 = 0, $645 = 0; + var $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0; + var $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, $680 = 0, $681 = 0; + var $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, $699 = 0, $7 = 0; + var $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, $716 = 0, $717 = 0; + var $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, $734 = 0, $735 = 0; + var $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0; + var $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, $770 = 0, $771 = 0; + var $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, $789 = 0, $79 = 0; + var $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, $806 = 0, $807 = 0; + var $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, $824 = 0, $825 = 0; + var $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, $842 = 0, $843 = 0; + var $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, $860 = 0, $861 = 0; + var $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, $879 = 0, $88 = 0; + var $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, $897 = 0, $898 = 0; + var $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, $914 = 0, $915 = 0; + var $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, $932 = 0, $933 = 0; + var $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, $950 = 0, $951 = 0; + var $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, $969 = 0, $97 = 0; + var $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, $987 = 0, $988 = 0; + var $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer18 = 0, $vararg_buffer20 = 0, $vararg_buffer22 = 0, $vararg_ptr11 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp + 16|0; - $match = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $nArg; - HEAP8[$3>>0] = $enc; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)==(-2); - $6 = HEAP32[$1>>2]|0; - if ($5) { - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - $10 = $9 ? 0 : 6; - HEAP32[$0>>2] = $10; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); - } - $11 = HEAP8[$6>>0]|0; - $12 = $11 << 24 >> 24; - $13 = HEAP32[$2>>2]|0; - $14 = ($12|0)!=($13|0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16 << 24 >> 24; - $18 = ($17|0)>=(0); - if ($18) { - HEAP32[$0>>2] = 0; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); - } - } - $19 = HEAP32[$1>>2]|0; - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = HEAP32[$2>>2]|0; - $23 = ($21|0)==($22|0); - if ($23) { - HEAP32[$match>>2] = 4; - } else { - HEAP32[$match>>2] = 1; - } - $24 = HEAP8[$3>>0]|0; - $25 = $24&255; - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 2|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $30 = $29 & 3; - $31 = ($25|0)==($30|0); - if ($31) { - $32 = HEAP32[$match>>2]|0; - $33 = (($32) + 2)|0; - HEAP32[$match>>2] = $33; - } else { - $34 = HEAP8[$3>>0]|0; - $35 = $34&255; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 2|0); - $38 = HEAP16[$37>>1]|0; - $39 = $38&65535; - $40 = $35 & $39; - $41 = $40 & 2; - $42 = ($41|0)!=(0); - if ($42) { - $43 = HEAP32[$match>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$match>>2] = $44; + STACKTOP = STACKTOP + 288|0; + $$byval_copy26 = sp + 280|0; + $vararg_buffer22 = sp + 40|0; + $vararg_buffer20 = sp + 32|0; + $vararg_buffer18 = sp + 24|0; + $vararg_buffer15 = sp + 16|0; + $vararg_buffer12 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 276|0; + $3 = sp + 272|0; + $4 = sp + 268|0; + $5 = sp + 264|0; + $6 = sp + 260|0; + $7 = sp + 256|0; + $8 = sp + 252|0; + $9 = sp + 240|0; + $10 = sp + 228|0; + $11 = sp + 216|0; + $12 = sp + 192|0; + $13 = sp + 188|0; + $14 = sp + 184|0; + $15 = sp + 180|0; + $16 = sp + 176|0; + $17 = sp + 168|0; + $18 = sp + 164|0; + $19 = sp + 160|0; + $20 = sp + 156|0; + $21 = sp + 152|0; + $22 = sp + 148|0; + $23 = sp + 144|0; + $24 = sp + 140|0; + $25 = sp + 136|0; + $26 = sp + 132|0; + $27 = sp + 128|0; + $28 = sp + 124|0; + $29 = sp + 120|0; + $30 = sp + 116|0; + $31 = sp + 112|0; + $32 = sp + 108|0; + $33 = sp + 104|0; + $34 = sp + 96|0; + $35 = sp + 92|0; + $36 = sp + 88|0; + $37 = sp + 84|0; + $38 = sp + 80|0; + $39 = sp + 76|0; + $40 = sp + 72|0; + $41 = sp + 68|0; + $42 = sp + 64|0; + $43 = sp + 60|0; + $44 = sp + 56|0; + $45 = sp + 48|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$8>>2] = $48; + $49 = HEAP32[$2>>2]|0; + $50 = HEAP32[$49>>2]|0; + HEAP32[$6>>2] = $50; + $51 = HEAP32[$3>>2]|0; + $52 = (25337 + ($51<<1)|0); + $53 = ((($52)) + 1|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = ($55|0)==(0); + if ($56) { + $57 = HEAP32[$2>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 8|0); + $61 = ((($60)) + 1584|0); + $62 = ($58>>>0)>=($61>>>0); + if ($62) { + $63 = HEAP32[$2>>2]|0; + _yyStackOverflow($63); + STACKTOP = sp;return; } } - $45 = HEAP32[$match>>2]|0; - HEAP32[$0>>2] = $45; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); -} -function _functionSearch($h,$zFunc) { - $h = $h|0; - $zFunc = $zFunc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $h; - HEAP32[$2>>2] = $zFunc; - $3 = HEAP32[$1>>2]|0; - $4 = (1092 + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$p>>2] = $5; - while(1) { - $6 = HEAP32[$p>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - label = 6; + $64 = HEAP32[$3>>2]|0; + L6: do { + switch ($64|0) { + case 0: { + $65 = HEAP32[$8>>2]|0; + $66 = ((($65)) + 409|0); + HEAP8[$66>>0] = 1; break; } - $8 = HEAP32[$p>>2]|0; - $9 = ((($8)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = (_sqlite3StrICmp($10,$11)|0); - $13 = ($12|0)==(0); - $14 = HEAP32[$p>>2]|0; - if ($13) { - label = 4; + case 1: { + $67 = HEAP32[$8>>2]|0; + $68 = ((($67)) + 409|0); + HEAP8[$68>>0] = 2; break; } - $15 = ((($14)) + 24|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$p>>2] = $16; - } - if ((label|0) == 4) { - HEAP32[$0>>2] = $14; - $17 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($17|0); - } - else if ((label|0) == 6) { - HEAP32[$0>>2] = 0; - $17 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($17|0); - } - return (0)|0; -} -function _sqlite3VdbeChangeEncoding($pMem,$desiredEnc) { - $pMem = $pMem|0; - $desiredEnc = $desiredEnc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pMem; - HEAP32[$2>>2] = $desiredEnc; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 2; - $8 = ($7|0)!=(0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 10|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = HEAP32[$2>>2]|0; - $14 = ($12|0)==($13|0); - if (!($14)) { - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = $16&255; - $18 = (_sqlite3VdbeMemTranslate($15,$17)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $19; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + case 2: { + $69 = HEAP32[$8>>2]|0; + _sqlite3FinishCoding($69); + break; } - } - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); -} -function _sqlite3VdbeMemTranslate($pMem,$desiredEnc) { - $pMem = $pMem|0; - $desiredEnc = $desiredEnc|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $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, $c = 0, $c2 = 0, $c21 = 0, $len = 0, $or$cond = 0; - var $or$cond3 = 0, $rc = 0, $temp = 0, $z = 0, $zIn = 0, $zOut = 0, $zTerm = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 45|0; - $len = sp + 32|0; - $zOut = sp + 28|0; - $zIn = sp + 24|0; - $zTerm = sp + 20|0; - $z = sp + 16|0; - $c = sp + 12|0; - $temp = sp + 44|0; - $rc = sp + 8|0; - $c2 = sp + 4|0; - $c21 = sp; - HEAP32[$1>>2] = $pMem; - HEAP8[$2>>0] = $desiredEnc; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 10|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)!=(1); - if ($7) { - $8 = HEAP8[$2>>0]|0; - $9 = $8&255; - $10 = ($9|0)!=(1); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (_sqlite3VdbeMemMakeWriteable($11)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)!=(0); - if ($14) { - HEAP32[$0>>2] = 7; - $552 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($552|0); - } - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$zIn>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = $20 & -2; - $22 = HEAP32[$zIn>>2]|0; - $23 = (($22) + ($21)|0); - HEAP32[$zTerm>>2] = $23; - while(1) { - $24 = HEAP32[$zIn>>2]|0; - $25 = HEAP32[$zTerm>>2]|0; - $26 = ($24>>>0)<($25>>>0); - if (!($26)) { - break; - } - $27 = HEAP32[$zIn>>2]|0; - $28 = HEAP8[$27>>0]|0; - HEAP8[$temp>>0] = $28; - $29 = HEAP32[$zIn>>2]|0; - $30 = ((($29)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = HEAP32[$zIn>>2]|0; - HEAP8[$32>>0] = $31; - $33 = HEAP32[$zIn>>2]|0; - $34 = ((($33)) + 1|0); - HEAP32[$zIn>>2] = $34; - $35 = HEAP8[$temp>>0]|0; - $36 = HEAP32[$zIn>>2]|0; - $37 = ((($36)) + 1|0); - HEAP32[$zIn>>2] = $37; - HEAP8[$36>>0] = $35; - } - $38 = HEAP8[$2>>0]|0; - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 10|0); - HEAP8[$40>>0] = $38; - } else { - label = 9; + case 3: { + $70 = HEAP32[$8>>2]|0; + $71 = HEAP32[$6>>2]|0; + $72 = ((($71)) + -16|0); + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + _sqlite3BeginTransaction($70,$74); + break; } - } else { - label = 9; - } - if ((label|0) == 9) { - $41 = HEAP8[$2>>0]|0; - $42 = $41&255; - $43 = ($42|0)==(1); - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - if ($43) { - $47 = $46 & -2; - HEAP32[$45>>2] = $47; - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = $50<<1; - $52 = (($51) + 1)|0; - HEAP32[$len>>2] = $52; - } else { - $53 = $46<<1; - $54 = (($53) + 2)|0; - HEAP32[$len>>2] = $54; + case 4: { + $75 = HEAP32[$6>>2]|0; + $76 = ((($75)) + 16|0); + $77 = ((($76)) + 4|0); + HEAP32[$77>>2] = 7; + break; } - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 16|0); - $57 = HEAP32[$56>>2]|0; - HEAP32[$zIn>>2] = $57; - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 12|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$zIn>>2]|0; - $62 = (($61) + ($60)|0); - HEAP32[$zTerm>>2] = $62; - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 32|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$len>>2]|0; - $67 = ($66|0)<(0); - $68 = $67 << 31 >> 31; - $69 = (_sqlite3DbMallocRaw($65,$66,$68)|0); - HEAP32[$zOut>>2] = $69; - $70 = HEAP32[$zOut>>2]|0; - $71 = ($70|0)!=(0|0); - if (!($71)) { - HEAP32[$0>>2] = 7; - $552 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($552|0); + case 7: case 6: case 5: { + $78 = HEAP32[$6>>2]|0; + $79 = ((($78)) + 2|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = HEAP32[$6>>2]|0; + $83 = ((($82)) + 4|0); + HEAP32[$83>>2] = $81; + break; } - $72 = HEAP32[$zOut>>2]|0; - HEAP32[$z>>2] = $72; - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 10|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = ($76|0)==(1); - if ($77) { - $78 = HEAP8[$2>>0]|0; - $79 = $78&255; - $80 = ($79|0)==(2); - L24: do { - if ($80) { - while(1) { - $81 = HEAP32[$zIn>>2]|0; - $82 = HEAP32[$zTerm>>2]|0; - $83 = ($81>>>0)<($82>>>0); - if (!($83)) { - break L24; - } - $84 = HEAP32[$zIn>>2]|0; - $85 = ((($84)) + 1|0); - HEAP32[$zIn>>2] = $85; - $86 = HEAP8[$84>>0]|0; - $87 = $86&255; - HEAP32[$c>>2] = $87; - $88 = HEAP32[$c>>2]|0; - $89 = ($88>>>0)>=(192); - do { - if ($89) { - $90 = HEAP32[$c>>2]|0; - $91 = (($90) - 192)|0; - $92 = (25563 + ($91)|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - HEAP32[$c>>2] = $94; - while(1) { - $95 = HEAP32[$zIn>>2]|0; - $96 = HEAP32[$zTerm>>2]|0; - $97 = ($95|0)!=($96|0); - if ($97) { - $98 = HEAP32[$zIn>>2]|0; - $99 = HEAP8[$98>>0]|0; - $100 = $99&255; - $101 = $100 & 192; - $102 = ($101|0)==(128); - $553 = $102; - } else { - $553 = 0; - } - $103 = HEAP32[$c>>2]|0; - if (!($553)) { - break; - } - $104 = $103 << 6; - $105 = HEAP32[$zIn>>2]|0; - $106 = ((($105)) + 1|0); - HEAP32[$zIn>>2] = $106; - $107 = HEAP8[$105>>0]|0; - $108 = $107&255; - $109 = 63 & $108; - $110 = (($104) + ($109))|0; - HEAP32[$c>>2] = $110; - } - $111 = ($103>>>0)<(128); - if (!($111)) { - $112 = HEAP32[$c>>2]|0; - $113 = $112 & -2048; - $114 = ($113|0)==(55296); - if (!($114)) { - $115 = HEAP32[$c>>2]|0; - $116 = $115 & -2; - $117 = ($116|0)==(65534); - if (!($117)) { - break; - } - } - } - HEAP32[$c>>2] = 65533; - } - } while(0); - $118 = HEAP32[$c>>2]|0; - $119 = ($118>>>0)<=(65535); - $120 = HEAP32[$c>>2]|0; - if ($119) { - $121 = $120 & 255; - $122 = $121&255; - $123 = HEAP32[$z>>2]|0; - $124 = ((($123)) + 1|0); - HEAP32[$z>>2] = $124; - HEAP8[$123>>0] = $122; - $125 = HEAP32[$c>>2]|0; - $126 = $125 >>> 8; - $127 = $126 & 255; - $128 = $127&255; - $129 = HEAP32[$z>>2]|0; - $130 = ((($129)) + 1|0); - HEAP32[$z>>2] = $130; - HEAP8[$129>>0] = $128; - continue; - } else { - $131 = $120 >>> 10; - $132 = $131 & 63; - $133 = HEAP32[$c>>2]|0; - $134 = (($133) - 65536)|0; - $135 = $134 >>> 10; - $136 = $135 & 192; - $137 = (($132) + ($136))|0; - $138 = $137&255; - $139 = HEAP32[$z>>2]|0; - $140 = ((($139)) + 1|0); - HEAP32[$z>>2] = $140; - HEAP8[$139>>0] = $138; - $141 = HEAP32[$c>>2]|0; - $142 = (($141) - 65536)|0; - $143 = $142 >>> 18; - $144 = $143 & 3; - $145 = (216 + ($144))|0; - $146 = $145&255; - $147 = HEAP32[$z>>2]|0; - $148 = ((($147)) + 1|0); - HEAP32[$z>>2] = $148; - HEAP8[$147>>0] = $146; - $149 = HEAP32[$c>>2]|0; - $150 = $149 & 255; - $151 = $150&255; - $152 = HEAP32[$z>>2]|0; - $153 = ((($152)) + 1|0); - HEAP32[$z>>2] = $153; - HEAP8[$152>>0] = $151; - $154 = HEAP32[$c>>2]|0; - $155 = $154 >>> 8; - $156 = $155 & 3; - $157 = (220 + ($156))|0; - $158 = $157&255; - $159 = HEAP32[$z>>2]|0; - $160 = ((($159)) + 1|0); - HEAP32[$z>>2] = $160; - HEAP8[$159>>0] = $158; - continue; - } - } - } else { - while(1) { - $161 = HEAP32[$zIn>>2]|0; - $162 = HEAP32[$zTerm>>2]|0; - $163 = ($161>>>0)<($162>>>0); - if (!($163)) { - break L24; - } - $164 = HEAP32[$zIn>>2]|0; - $165 = ((($164)) + 1|0); - HEAP32[$zIn>>2] = $165; - $166 = HEAP8[$164>>0]|0; - $167 = $166&255; - HEAP32[$c>>2] = $167; - $168 = HEAP32[$c>>2]|0; - $169 = ($168>>>0)>=(192); - do { - if ($169) { - $170 = HEAP32[$c>>2]|0; - $171 = (($170) - 192)|0; - $172 = (25563 + ($171)|0); - $173 = HEAP8[$172>>0]|0; - $174 = $173&255; - HEAP32[$c>>2] = $174; - while(1) { - $175 = HEAP32[$zIn>>2]|0; - $176 = HEAP32[$zTerm>>2]|0; - $177 = ($175|0)!=($176|0); - if ($177) { - $178 = HEAP32[$zIn>>2]|0; - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = $180 & 192; - $182 = ($181|0)==(128); - $554 = $182; - } else { - $554 = 0; - } - $183 = HEAP32[$c>>2]|0; - if (!($554)) { - break; - } - $184 = $183 << 6; - $185 = HEAP32[$zIn>>2]|0; - $186 = ((($185)) + 1|0); - HEAP32[$zIn>>2] = $186; - $187 = HEAP8[$185>>0]|0; - $188 = $187&255; - $189 = 63 & $188; - $190 = (($184) + ($189))|0; - HEAP32[$c>>2] = $190; - } - $191 = ($183>>>0)<(128); - if (!($191)) { - $192 = HEAP32[$c>>2]|0; - $193 = $192 & -2048; - $194 = ($193|0)==(55296); - if (!($194)) { - $195 = HEAP32[$c>>2]|0; - $196 = $195 & -2; - $197 = ($196|0)==(65534); - if (!($197)) { - break; - } - } - } - HEAP32[$c>>2] = 65533; - } - } while(0); - $198 = HEAP32[$c>>2]|0; - $199 = ($198>>>0)<=(65535); - $200 = HEAP32[$c>>2]|0; - if ($199) { - $201 = $200 >>> 8; - $202 = $201 & 255; - $203 = $202&255; - $204 = HEAP32[$z>>2]|0; - $205 = ((($204)) + 1|0); - HEAP32[$z>>2] = $205; - HEAP8[$204>>0] = $203; - $206 = HEAP32[$c>>2]|0; - $207 = $206 & 255; - $208 = $207&255; - $209 = HEAP32[$z>>2]|0; - $210 = ((($209)) + 1|0); - HEAP32[$z>>2] = $210; - HEAP8[$209>>0] = $208; - continue; - } else { - $211 = (($200) - 65536)|0; - $212 = $211 >>> 18; - $213 = $212 & 3; - $214 = (216 + ($213))|0; - $215 = $214&255; - $216 = HEAP32[$z>>2]|0; - $217 = ((($216)) + 1|0); - HEAP32[$z>>2] = $217; - HEAP8[$216>>0] = $215; - $218 = HEAP32[$c>>2]|0; - $219 = $218 >>> 10; - $220 = $219 & 63; - $221 = HEAP32[$c>>2]|0; - $222 = (($221) - 65536)|0; - $223 = $222 >>> 10; - $224 = $223 & 192; - $225 = (($220) + ($224))|0; - $226 = $225&255; - $227 = HEAP32[$z>>2]|0; - $228 = ((($227)) + 1|0); - HEAP32[$z>>2] = $228; - HEAP8[$227>>0] = $226; - $229 = HEAP32[$c>>2]|0; - $230 = $229 >>> 8; - $231 = $230 & 3; - $232 = (220 + ($231))|0; - $233 = $232&255; - $234 = HEAP32[$z>>2]|0; - $235 = ((($234)) + 1|0); - HEAP32[$z>>2] = $235; - HEAP8[$234>>0] = $233; - $236 = HEAP32[$c>>2]|0; - $237 = $236 & 255; - $238 = $237&255; - $239 = HEAP32[$z>>2]|0; - $240 = ((($239)) + 1|0); - HEAP32[$z>>2] = $240; - HEAP8[$239>>0] = $238; - continue; - } - } - } - } while(0); - $241 = HEAP32[$z>>2]|0; - $242 = HEAP32[$zOut>>2]|0; - $243 = $241; - $244 = $242; - $245 = (($243) - ($244))|0; - $246 = HEAP32[$1>>2]|0; - $247 = ((($246)) + 12|0); - HEAP32[$247>>2] = $245; - $248 = HEAP32[$z>>2]|0; - $249 = ((($248)) + 1|0); - HEAP32[$z>>2] = $249; - HEAP8[$248>>0] = 0; - } else { - $250 = HEAP32[$1>>2]|0; - $251 = ((($250)) + 10|0); - $252 = HEAP8[$251>>0]|0; - $253 = $252&255; - $254 = ($253|0)==(2); - L67: do { - if ($254) { - while(1) { - $255 = HEAP32[$zIn>>2]|0; - $256 = HEAP32[$zTerm>>2]|0; - $257 = ($255>>>0)<($256>>>0); - if (!($257)) { - break L67; - } - $258 = HEAP32[$zIn>>2]|0; - $259 = ((($258)) + 1|0); - HEAP32[$zIn>>2] = $259; - $260 = HEAP8[$258>>0]|0; - $261 = $260&255; - HEAP32[$c>>2] = $261; - $262 = HEAP32[$zIn>>2]|0; - $263 = ((($262)) + 1|0); - HEAP32[$zIn>>2] = $263; - $264 = HEAP8[$262>>0]|0; - $265 = $264&255; - $266 = $265 << 8; - $267 = HEAP32[$c>>2]|0; - $268 = (($267) + ($266))|0; - HEAP32[$c>>2] = $268; - $269 = HEAP32[$c>>2]|0; - $270 = ($269>>>0)>=(55296); - $271 = HEAP32[$c>>2]|0; - $272 = ($271>>>0)<(57344); - $or$cond = $270 & $272; - if ($or$cond) { - $273 = HEAP32[$zIn>>2]|0; - $274 = HEAP32[$zTerm>>2]|0; - $275 = ($273>>>0)<($274>>>0); - if ($275) { - $276 = HEAP32[$zIn>>2]|0; - $277 = ((($276)) + 1|0); - HEAP32[$zIn>>2] = $277; - $278 = HEAP8[$276>>0]|0; - $279 = $278&255; - HEAP32[$c2>>2] = $279; - $280 = HEAP32[$zIn>>2]|0; - $281 = ((($280)) + 1|0); - HEAP32[$zIn>>2] = $281; - $282 = HEAP8[$280>>0]|0; - $283 = $282&255; - $284 = $283 << 8; - $285 = HEAP32[$c2>>2]|0; - $286 = (($285) + ($284))|0; - HEAP32[$c2>>2] = $286; - $287 = HEAP32[$c2>>2]|0; - $288 = $287 & 1023; - $289 = HEAP32[$c>>2]|0; - $290 = $289 & 63; - $291 = $290 << 10; - $292 = (($288) + ($291))|0; - $293 = HEAP32[$c>>2]|0; - $294 = $293 & 960; - $295 = (($294) + 64)|0; - $296 = $295 << 10; - $297 = (($292) + ($296))|0; - HEAP32[$c>>2] = $297; - } - } - $298 = HEAP32[$c>>2]|0; - $299 = ($298>>>0)<(128); - $300 = HEAP32[$c>>2]|0; - if ($299) { - $301 = $300 & 255; - $302 = $301&255; - $303 = HEAP32[$z>>2]|0; - $304 = ((($303)) + 1|0); - HEAP32[$z>>2] = $304; - HEAP8[$303>>0] = $302; - continue; - } - $305 = ($300>>>0)<(2048); - $306 = HEAP32[$c>>2]|0; - if ($305) { - $307 = $306 >>> 6; - $308 = $307 & 31; - $309 = $308&255; - $310 = $309&255; - $311 = (192 + ($310))|0; - $312 = $311&255; - $313 = HEAP32[$z>>2]|0; - $314 = ((($313)) + 1|0); - HEAP32[$z>>2] = $314; - HEAP8[$313>>0] = $312; - $315 = HEAP32[$c>>2]|0; - $316 = $315 & 63; - $317 = $316&255; - $318 = $317&255; - $319 = (128 + ($318))|0; - $320 = $319&255; - $321 = HEAP32[$z>>2]|0; - $322 = ((($321)) + 1|0); - HEAP32[$z>>2] = $322; - HEAP8[$321>>0] = $320; - continue; - } - $323 = ($306>>>0)<(65536); - $324 = HEAP32[$c>>2]|0; - if ($323) { - $325 = $324 >>> 12; - $326 = $325 & 15; - $327 = $326&255; - $328 = $327&255; - $329 = (224 + ($328))|0; - $330 = $329&255; - $331 = HEAP32[$z>>2]|0; - $332 = ((($331)) + 1|0); - HEAP32[$z>>2] = $332; - HEAP8[$331>>0] = $330; - $333 = HEAP32[$c>>2]|0; - $334 = $333 >>> 6; - $335 = $334 & 63; - $336 = $335&255; - $337 = $336&255; - $338 = (128 + ($337))|0; - $339 = $338&255; - $340 = HEAP32[$z>>2]|0; - $341 = ((($340)) + 1|0); - HEAP32[$z>>2] = $341; - HEAP8[$340>>0] = $339; - $342 = HEAP32[$c>>2]|0; - $343 = $342 & 63; - $344 = $343&255; - $345 = $344&255; - $346 = (128 + ($345))|0; - $347 = $346&255; - $348 = HEAP32[$z>>2]|0; - $349 = ((($348)) + 1|0); - HEAP32[$z>>2] = $349; - HEAP8[$348>>0] = $347; - continue; - } else { - $350 = $324 >>> 18; - $351 = $350 & 7; - $352 = $351&255; - $353 = $352&255; - $354 = (240 + ($353))|0; - $355 = $354&255; - $356 = HEAP32[$z>>2]|0; - $357 = ((($356)) + 1|0); - HEAP32[$z>>2] = $357; - HEAP8[$356>>0] = $355; - $358 = HEAP32[$c>>2]|0; - $359 = $358 >>> 12; - $360 = $359 & 63; - $361 = $360&255; - $362 = $361&255; - $363 = (128 + ($362))|0; - $364 = $363&255; - $365 = HEAP32[$z>>2]|0; - $366 = ((($365)) + 1|0); - HEAP32[$z>>2] = $366; - HEAP8[$365>>0] = $364; - $367 = HEAP32[$c>>2]|0; - $368 = $367 >>> 6; - $369 = $368 & 63; - $370 = $369&255; - $371 = $370&255; - $372 = (128 + ($371))|0; - $373 = $372&255; - $374 = HEAP32[$z>>2]|0; - $375 = ((($374)) + 1|0); - HEAP32[$z>>2] = $375; - HEAP8[$374>>0] = $373; - $376 = HEAP32[$c>>2]|0; - $377 = $376 & 63; - $378 = $377&255; - $379 = $378&255; - $380 = (128 + ($379))|0; - $381 = $380&255; - $382 = HEAP32[$z>>2]|0; - $383 = ((($382)) + 1|0); - HEAP32[$z>>2] = $383; - HEAP8[$382>>0] = $381; - continue; - } - } - } else { - while(1) { - $384 = HEAP32[$zIn>>2]|0; - $385 = HEAP32[$zTerm>>2]|0; - $386 = ($384>>>0)<($385>>>0); - if (!($386)) { - break L67; - } - $387 = HEAP32[$zIn>>2]|0; - $388 = ((($387)) + 1|0); - HEAP32[$zIn>>2] = $388; - $389 = HEAP8[$387>>0]|0; - $390 = $389&255; - $391 = $390 << 8; - HEAP32[$c>>2] = $391; - $392 = HEAP32[$zIn>>2]|0; - $393 = ((($392)) + 1|0); - HEAP32[$zIn>>2] = $393; - $394 = HEAP8[$392>>0]|0; - $395 = $394&255; - $396 = HEAP32[$c>>2]|0; - $397 = (($396) + ($395))|0; - HEAP32[$c>>2] = $397; - $398 = HEAP32[$c>>2]|0; - $399 = ($398>>>0)>=(55296); - $400 = HEAP32[$c>>2]|0; - $401 = ($400>>>0)<(57344); - $or$cond3 = $399 & $401; - if ($or$cond3) { - $402 = HEAP32[$zIn>>2]|0; - $403 = HEAP32[$zTerm>>2]|0; - $404 = ($402>>>0)<($403>>>0); - if ($404) { - $405 = HEAP32[$zIn>>2]|0; - $406 = ((($405)) + 1|0); - HEAP32[$zIn>>2] = $406; - $407 = HEAP8[$405>>0]|0; - $408 = $407&255; - $409 = $408 << 8; - HEAP32[$c21>>2] = $409; - $410 = HEAP32[$zIn>>2]|0; - $411 = ((($410)) + 1|0); - HEAP32[$zIn>>2] = $411; - $412 = HEAP8[$410>>0]|0; - $413 = $412&255; - $414 = HEAP32[$c21>>2]|0; - $415 = (($414) + ($413))|0; - HEAP32[$c21>>2] = $415; - $416 = HEAP32[$c21>>2]|0; - $417 = $416 & 1023; - $418 = HEAP32[$c>>2]|0; - $419 = $418 & 63; - $420 = $419 << 10; - $421 = (($417) + ($420))|0; - $422 = HEAP32[$c>>2]|0; - $423 = $422 & 960; - $424 = (($423) + 64)|0; - $425 = $424 << 10; - $426 = (($421) + ($425))|0; - HEAP32[$c>>2] = $426; - } - } - $427 = HEAP32[$c>>2]|0; - $428 = ($427>>>0)<(128); - $429 = HEAP32[$c>>2]|0; - if ($428) { - $430 = $429 & 255; - $431 = $430&255; - $432 = HEAP32[$z>>2]|0; - $433 = ((($432)) + 1|0); - HEAP32[$z>>2] = $433; - HEAP8[$432>>0] = $431; - continue; - } - $434 = ($429>>>0)<(2048); - $435 = HEAP32[$c>>2]|0; - if ($434) { - $436 = $435 >>> 6; - $437 = $436 & 31; - $438 = $437&255; - $439 = $438&255; - $440 = (192 + ($439))|0; - $441 = $440&255; - $442 = HEAP32[$z>>2]|0; - $443 = ((($442)) + 1|0); - HEAP32[$z>>2] = $443; - HEAP8[$442>>0] = $441; - $444 = HEAP32[$c>>2]|0; - $445 = $444 & 63; - $446 = $445&255; - $447 = $446&255; - $448 = (128 + ($447))|0; - $449 = $448&255; - $450 = HEAP32[$z>>2]|0; - $451 = ((($450)) + 1|0); - HEAP32[$z>>2] = $451; - HEAP8[$450>>0] = $449; - continue; - } - $452 = ($435>>>0)<(65536); - $453 = HEAP32[$c>>2]|0; - if ($452) { - $454 = $453 >>> 12; - $455 = $454 & 15; - $456 = $455&255; - $457 = $456&255; - $458 = (224 + ($457))|0; - $459 = $458&255; - $460 = HEAP32[$z>>2]|0; - $461 = ((($460)) + 1|0); - HEAP32[$z>>2] = $461; - HEAP8[$460>>0] = $459; - $462 = HEAP32[$c>>2]|0; - $463 = $462 >>> 6; - $464 = $463 & 63; - $465 = $464&255; - $466 = $465&255; - $467 = (128 + ($466))|0; - $468 = $467&255; - $469 = HEAP32[$z>>2]|0; - $470 = ((($469)) + 1|0); - HEAP32[$z>>2] = $470; - HEAP8[$469>>0] = $468; - $471 = HEAP32[$c>>2]|0; - $472 = $471 & 63; - $473 = $472&255; - $474 = $473&255; - $475 = (128 + ($474))|0; - $476 = $475&255; - $477 = HEAP32[$z>>2]|0; - $478 = ((($477)) + 1|0); - HEAP32[$z>>2] = $478; - HEAP8[$477>>0] = $476; - continue; - } else { - $479 = $453 >>> 18; - $480 = $479 & 7; - $481 = $480&255; - $482 = $481&255; - $483 = (240 + ($482))|0; - $484 = $483&255; - $485 = HEAP32[$z>>2]|0; - $486 = ((($485)) + 1|0); - HEAP32[$z>>2] = $486; - HEAP8[$485>>0] = $484; - $487 = HEAP32[$c>>2]|0; - $488 = $487 >>> 12; - $489 = $488 & 63; - $490 = $489&255; - $491 = $490&255; - $492 = (128 + ($491))|0; - $493 = $492&255; - $494 = HEAP32[$z>>2]|0; - $495 = ((($494)) + 1|0); - HEAP32[$z>>2] = $495; - HEAP8[$494>>0] = $493; - $496 = HEAP32[$c>>2]|0; - $497 = $496 >>> 6; - $498 = $497 & 63; - $499 = $498&255; - $500 = $499&255; - $501 = (128 + ($500))|0; - $502 = $501&255; - $503 = HEAP32[$z>>2]|0; - $504 = ((($503)) + 1|0); - HEAP32[$z>>2] = $504; - HEAP8[$503>>0] = $502; - $505 = HEAP32[$c>>2]|0; - $506 = $505 & 63; - $507 = $506&255; - $508 = $507&255; - $509 = (128 + ($508))|0; - $510 = $509&255; - $511 = HEAP32[$z>>2]|0; - $512 = ((($511)) + 1|0); - HEAP32[$z>>2] = $512; - HEAP8[$511>>0] = $510; - continue; - } - } - } - } while(0); - $513 = HEAP32[$z>>2]|0; - $514 = HEAP32[$zOut>>2]|0; - $515 = $513; - $516 = $514; - $517 = (($515) - ($516))|0; - $518 = HEAP32[$1>>2]|0; - $519 = ((($518)) + 12|0); - HEAP32[$519>>2] = $517; - } - $520 = HEAP32[$z>>2]|0; - HEAP8[$520>>0] = 0; - $521 = HEAP32[$1>>2]|0; - $522 = ((($521)) + 8|0); - $523 = HEAP16[$522>>1]|0; - $524 = $523&65535; - HEAP32[$c>>2] = $524; - $525 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemRelease($525); - $526 = HEAP32[$c>>2]|0; - $527 = $526 & 32799; - $528 = 514 | $527; - $529 = $528&65535; - $530 = HEAP32[$1>>2]|0; - $531 = ((($530)) + 8|0); - HEAP16[$531>>1] = $529; - $532 = HEAP8[$2>>0]|0; - $533 = HEAP32[$1>>2]|0; - $534 = ((($533)) + 10|0); - HEAP8[$534>>0] = $532; - $535 = HEAP32[$zOut>>2]|0; - $536 = HEAP32[$1>>2]|0; - $537 = ((($536)) + 16|0); - HEAP32[$537>>2] = $535; - $538 = HEAP32[$1>>2]|0; - $539 = ((($538)) + 16|0); - $540 = HEAP32[$539>>2]|0; - $541 = HEAP32[$1>>2]|0; - $542 = ((($541)) + 20|0); - HEAP32[$542>>2] = $540; - $543 = HEAP32[$1>>2]|0; - $544 = ((($543)) + 32|0); - $545 = HEAP32[$544>>2]|0; - $546 = HEAP32[$1>>2]|0; - $547 = ((($546)) + 16|0); - $548 = HEAP32[$547>>2]|0; - $549 = (_sqlite3DbMallocSize($545,$548)|0); - $550 = HEAP32[$1>>2]|0; - $551 = ((($550)) + 24|0); - HEAP32[$551>>2] = $549; - } - HEAP32[$0>>2] = 0; - $552 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($552|0); -} -function _sqlite3DbMallocSize($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - if (!($4)) { - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = (_isLookaside($5,$6)|0); - $8 = ($7|0)!=(0); - if ($8) { - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 256|0); - $14 = ((($13)) + 4|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - HEAP32[$0>>2] = $16; - $17 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($17|0); + case 9: case 8: { + $84 = HEAP32[$8>>2]|0; + _sqlite3CommitTransaction($84); + break; } - } - $9 = HEAP32[(60)>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (FUNCTION_TABLE_ii[$9 & 255]($10)|0); - HEAP32[$0>>2] = $11; - $17 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($17|0); -} -function _isLookaside($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = $2; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 256|0); - $6 = ((($5)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = $7; - $9 = ($3>>>0)>=($8>>>0); - if (!($9)) { - $19 = 0; - $18 = $19&1; - STACKTOP = sp;return ($18|0); - } - $10 = HEAP32[$1>>2]|0; - $11 = $10; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 256|0); - $14 = ((($13)) + 36|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15; - $17 = ($11>>>0)<($16>>>0); - $19 = $17; - $18 = $19&1; - STACKTOP = sp;return ($18|0); -} -function _functionDestroy($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pDestructor = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pDestructor = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 24|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pDestructor>>2] = $4; - $5 = HEAP32[$pDestructor>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = HEAP32[$pDestructor>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + -1)|0; - HEAP32[$7>>2] = $9; - $10 = HEAP32[$pDestructor>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0); - if (!($12)) { - STACKTOP = sp;return; - } - $13 = HEAP32[$pDestructor>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$pDestructor>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - FUNCTION_TABLE_vi[$15 & 255]($18); - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$pDestructor>>2]|0; - _sqlite3DbFree($19,$20); - STACKTOP = sp;return; -} -function _disconnectAllVtab($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $pMod = 0, $pSchema = 0, $pTab = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $i = sp + 16|0; - $p = sp + 12|0; - $pSchema = sp + 8|0; - $pTab = sp + 4|0; - $pMod = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnterAll($1); - HEAP32[$i>>2] = 0; - while(1) { - $2 = HEAP32[$i>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($2|0)<($5|0); - if (!($6)) { + case 10: { + $85 = HEAP32[$8>>2]|0; + _sqlite3RollbackTransaction($85); break; } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($7<<4)|0); - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pSchema>>2] = $13; - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($14<<4)|0); - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0|0); - L4: do { - if ($21) { - $22 = HEAP32[$pSchema>>2]|0; - $23 = ((($22)) + 8|0); - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$p>>2] = $25; - while(1) { - $26 = HEAP32[$p>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - break L4; - } - $28 = HEAP32[$p>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$pTab>>2] = $30; - $31 = HEAP32[$pTab>>2]|0; - $32 = ((($31)) + 42|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 & 16; - $36 = ($35|0)!=(0); - if ($36) { - $37 = HEAP32[$0>>2]|0; - $38 = HEAP32[$pTab>>2]|0; - _sqlite3VtabDisconnect($37,$38); - } - $39 = HEAP32[$p>>2]|0; - $40 = HEAP32[$39>>2]|0; - HEAP32[$p>>2] = $40; - } - } - } while(0); - $41 = HEAP32[$i>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$i>>2] = $42; - } - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 320|0); - $45 = ((($44)) + 8|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$p>>2] = $46; - while(1) { - $47 = HEAP32[$p>>2]|0; - $48 = ($47|0)!=(0|0); - if (!($48)) { + case 11: { + $86 = HEAP32[$8>>2]|0; + $87 = HEAP32[$6>>2]|0; + $88 = ((($87)) + 4|0); + _sqlite3Savepoint($86,0,$88); break; } - $49 = HEAP32[$p>>2]|0; - $50 = ((($49)) + 8|0); - $51 = HEAP32[$50>>2]|0; - HEAP32[$pMod>>2] = $51; - $52 = HEAP32[$pMod>>2]|0; - $53 = ((($52)) + 16|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)!=(0|0); - if ($55) { - $56 = HEAP32[$0>>2]|0; - $57 = HEAP32[$pMod>>2]|0; - $58 = ((($57)) + 16|0); - $59 = HEAP32[$58>>2]|0; - _sqlite3VtabDisconnect($56,$59); + case 12: { + $89 = HEAP32[$8>>2]|0; + $90 = HEAP32[$6>>2]|0; + $91 = ((($90)) + 4|0); + _sqlite3Savepoint($89,1,$91); + break; } - $60 = HEAP32[$p>>2]|0; - $61 = HEAP32[$60>>2]|0; - HEAP32[$p>>2] = $61; - } - $62 = HEAP32[$0>>2]|0; - _sqlite3VtabUnlockList($62); - STACKTOP = sp;return; -} -function _sqlite3VtabRollback($db) { - $db = $db|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - _callFinaliser($1,68); - STACKTOP = sp;return 0; -} -function _connectionIsBusy($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $j = 0, $pBt = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $j = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $db; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - HEAP32[$0>>2] = 1; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } - HEAP32[$j>>2] = 0; - while(1) { - $6 = HEAP32[$j>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($6|0)<($9|0); - if (!($10)) { - label = 9; + case 13: { + $92 = HEAP32[$8>>2]|0; + $93 = HEAP32[$6>>2]|0; + $94 = ((($93)) + 4|0); + _sqlite3Savepoint($92,2,$94); break; } - $11 = HEAP32[$j>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<4)|0); - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$pBt>>2] = $17; - $18 = HEAP32[$pBt>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$pBt>>2]|0; - $21 = (_sqlite3BtreeIsInBackup($20)|0); - $22 = ($21|0)!=(0); - if ($22) { - label = 7; - break; - } + case 14: { + $95 = HEAP32[$8>>2]|0; + $96 = HEAP32[$6>>2]|0; + $97 = ((($96)) + -16|0); + $98 = ((($97)) + 4|0); + $99 = HEAP32[$6>>2]|0; + $100 = ((($99)) + 4|0); + $101 = HEAP32[$6>>2]|0; + $102 = ((($101)) + -64|0); + $103 = ((($102)) + 4|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$6>>2]|0; + $106 = ((($105)) + -32|0); + $107 = ((($106)) + 4|0); + $108 = HEAP32[$107>>2]|0; + _sqlite3StartTable($95,$98,$100,$104,0,0,$108); + break; } - $23 = HEAP32[$j>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$j>>2] = $24; - } - if ((label|0) == 7) { - HEAP32[$0>>2] = 1; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } - else if ((label|0) == 9) { - HEAP32[$0>>2] = 0; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } - return (0)|0; -} -function _sqlite3BtreeIsInBackup($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0); - $5 = $4&1; - STACKTOP = sp;return ($5|0); -} -function _callFinaliser($db,$offset) { - $db = $db|0; - $offset = $offset|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $aVTrans = 0, $i = 0, $p = 0, $pVTab = 0, $x = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $i = sp + 16|0; - $aVTrans = sp + 12|0; - $pVTab = sp + 8|0; - $p = sp + 4|0; - $x = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $offset; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 340|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 340|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$aVTrans>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 340|0); - HEAP32[$10>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $11 = HEAP32[$i>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 316|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($11|0)<($14|0); - if (!($15)) { + case 15: { + $109 = HEAP32[$8>>2]|0; + _disableLookaside($109); break; } - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$aVTrans>>2]|0; - $18 = (($17) + ($16<<2)|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pVTab>>2] = $19; - $20 = HEAP32[$pVTab>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$p>>2] = $22; - $23 = HEAP32[$p>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$p>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = (($26) + ($27)|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$x>>2] = $29; - $30 = HEAP32[$x>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$x>>2]|0; - $33 = HEAP32[$p>>2]|0; - (FUNCTION_TABLE_ii[$32 & 255]($33)|0); - } + case 215: case 90: case 76: case 67: case 57: case 42: case 22: case 19: case 16: { + $110 = HEAP32[$6>>2]|0; + $111 = ((($110)) + 16|0); + $112 = ((($111)) + 4|0); + HEAP32[$112>>2] = 0; + break; } - $34 = HEAP32[$pVTab>>2]|0; - $35 = ((($34)) + 20|0); - HEAP32[$35>>2] = 0; - $36 = HEAP32[$pVTab>>2]|0; - _sqlite3VtabUnlock($36); - $37 = HEAP32[$i>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$i>>2] = $38; - } - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$aVTrans>>2]|0; - _sqlite3DbFree($39,$40); - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 316|0); - HEAP32[$42>>2] = 0; - STACKTOP = sp;return; -} -function _sqlite3VtabUnlock($pVTab) { - $pVTab = $pVTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $db = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pVTab; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$db>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + -1)|0; - HEAP32[$4>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$p>>2] = $13; - $14 = HEAP32[$p>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$p>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$p>>2]|0; - (FUNCTION_TABLE_ii[$19 & 255]($20)|0); - } - $21 = HEAP32[$db>>2]|0; - $22 = HEAP32[$0>>2]|0; - _sqlite3DbFree($21,$22); - STACKTOP = sp;return; -} -function _sqlite3VtabDisconnect($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $pVTab = 0, $ppVTab = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $ppVTab = sp + 4|0; - $pVTab = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 56|0); - HEAP32[$ppVTab>>2] = $3; - while(1) { - $4 = HEAP32[$ppVTab>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - label = 6; + case 17: { + $113 = HEAP32[$6>>2]|0; + $114 = ((($113)) + -32|0); + $115 = ((($114)) + 4|0); + HEAP32[$115>>2] = 1; break; } - $7 = HEAP32[$ppVTab>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ($9|0)==($10|0); - $12 = HEAP32[$ppVTab>>2]|0; - $13 = HEAP32[$12>>2]|0; - if ($11) { + case 43: case 18: { + $116 = HEAP32[$6>>2]|0; + $117 = ((($116)) + 4|0); + HEAP32[$117>>2] = 1; break; } - $19 = ((($13)) + 24|0); - HEAP32[$ppVTab>>2] = $19; - } - if ((label|0) == 6) { - STACKTOP = sp;return; - } - HEAP32[$pVTab>>2] = $13; - $14 = HEAP32[$pVTab>>2]|0; - $15 = ((($14)) + 24|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$ppVTab>>2]|0; - HEAP32[$17>>2] = $16; - $18 = HEAP32[$pVTab>>2]|0; - _sqlite3VtabUnlock($18); - STACKTOP = sp;return; -} -function _sqlite3VtabUnlockList($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pNext = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $p = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 344|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 344|0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[$p>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = HEAP32[$0>>2]|0; - _sqlite3ExpirePreparedStatements($8); - while(1) { - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 24|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pNext>>2] = $11; - $12 = HEAP32[$p>>2]|0; - _sqlite3VtabUnlock($12); - $13 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $13; - $14 = HEAP32[$p>>2]|0; - $15 = ($14|0)!=(0|0); - if (!($15)) { + case 20: { + $118 = HEAP32[$8>>2]|0; + $119 = HEAP32[$6>>2]|0; + $120 = ((($119)) + -32|0); + $121 = ((($120)) + 4|0); + $122 = HEAP32[$6>>2]|0; + $123 = ((($122)) + -16|0); + $124 = ((($123)) + 4|0); + $125 = HEAP32[$6>>2]|0; + $126 = ((($125)) + 4|0); + $127 = HEAP32[$126>>2]|0; + $128 = $127&255; + _sqlite3EndTable($118,$121,$124,$128,0); break; } - } - STACKTOP = sp;return; -} -function _sqlite3PcacheShrink($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[(164)>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 44|0); - $4 = HEAP32[$3>>2]|0; - FUNCTION_TABLE_vi[$1 & 255]($4); - STACKTOP = sp;return; -} -function _pcache1Init($NotUsed) { - $NotUsed = $NotUsed|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $NotUsed; - dest=1628; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $1 = HEAP32[(212)>>2]|0; - $2 = ($1|0)==(0|0); - $3 = $2&1; - HEAP32[(1684)>>2] = $3; - $4 = HEAP32[(1684)>>2]|0; - $5 = ($4|0)!=(0); - $6 = HEAP32[(220)>>2]|0; - $7 = ($6|0)!=(0); - $or$cond = $5 & $7; - $8 = HEAP32[(212)>>2]|0; - $9 = ($8|0)==(0|0); - $or$cond3 = $or$cond & $9; - if ($or$cond3) { - $10 = HEAP32[(220)>>2]|0; - HEAP32[(1688)>>2] = $10; - HEAP32[(1640)>>2] = 10; - HEAP32[(1680)>>2] = 1; - STACKTOP = sp;return 0; - } else { - HEAP32[(1688)>>2] = 0; - HEAP32[(1640)>>2] = 10; - HEAP32[(1680)>>2] = 1; - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _pcache1Shutdown($NotUsed) { - $NotUsed = $NotUsed|0; - var $0 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $NotUsed; - dest=1628; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _pcache1Create($szPage,$szExtra,$bPurgeable) { - $szPage = $szPage|0; - $szExtra = $szExtra|0; - $bPurgeable = $bPurgeable|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $pCache = 0, $pGroup = 0, $sz = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pCache = sp + 8|0; - $pGroup = sp + 4|0; - $sz = sp; - HEAP32[$0>>2] = $szPage; - HEAP32[$1>>2] = $szExtra; - HEAP32[$2>>2] = $bPurgeable; - $3 = HEAP32[(1684)>>2]|0; - $4 = ($3*52)|0; - $5 = (60 + ($4))|0; - HEAP32[$sz>>2] = $5; - $6 = HEAP32[$sz>>2]|0; - $7 = ($6|0)<(0); - $8 = $7 << 31 >> 31; - $9 = (_sqlite3MallocZero($6,$8)|0); - HEAP32[$pCache>>2] = $9; - $10 = HEAP32[$pCache>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - $81 = HEAP32[$pCache>>2]|0; - STACKTOP = sp;return ($81|0); - } - $12 = HEAP32[(1684)>>2]|0; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$pCache>>2]|0; - $15 = ((($14)) + 60|0); - HEAP32[$pGroup>>2] = $15; - $16 = HEAP32[$pGroup>>2]|0; - $17 = ((($16)) + 12|0); - HEAP32[$17>>2] = 10; - } else { - HEAP32[$pGroup>>2] = 1628; - } - $18 = HEAP32[$pGroup>>2]|0; - $19 = ((($18)) + 20|0); - $20 = ((($19)) + 14|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)==(0); - if ($23) { - $24 = HEAP32[$pGroup>>2]|0; - $25 = ((($24)) + 20|0); - $26 = ((($25)) + 14|0); - HEAP8[$26>>0] = 1; - $27 = HEAP32[$pGroup>>2]|0; - $28 = ((($27)) + 20|0); - $29 = HEAP32[$pGroup>>2]|0; - $30 = ((($29)) + 20|0); - $31 = ((($30)) + 24|0); - HEAP32[$31>>2] = $28; - $32 = HEAP32[$pGroup>>2]|0; - $33 = ((($32)) + 20|0); - $34 = ((($33)) + 28|0); - HEAP32[$34>>2] = $28; - } - $35 = HEAP32[$pGroup>>2]|0; - $36 = HEAP32[$pCache>>2]|0; - HEAP32[$36>>2] = $35; - $37 = HEAP32[$0>>2]|0; - $38 = HEAP32[$pCache>>2]|0; - $39 = ((($38)) + 4|0); - HEAP32[$39>>2] = $37; - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$pCache>>2]|0; - $42 = ((($41)) + 8|0); - HEAP32[$42>>2] = $40; - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = (($43) + ($44))|0; - $46 = (($45) + 32)|0; - $47 = HEAP32[$pCache>>2]|0; - $48 = ((($47)) + 12|0); - HEAP32[$48>>2] = $46; - $49 = HEAP32[$2>>2]|0; - $50 = ($49|0)!=(0); - $51 = $50 ? 1 : 0; - $52 = HEAP32[$pCache>>2]|0; - $53 = ((($52)) + 16|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$pCache>>2]|0; - _pcache1ResizeHash($54); - $55 = HEAP32[$2>>2]|0; - $56 = ($55|0)!=(0); - if ($56) { - $57 = HEAP32[$pCache>>2]|0; - $58 = ((($57)) + 20|0); - HEAP32[$58>>2] = 10; - $59 = HEAP32[$pCache>>2]|0; - $60 = ((($59)) + 20|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$pGroup>>2]|0; - $63 = ((($62)) + 8|0); - $64 = HEAP32[$63>>2]|0; - $65 = (($64) + ($61))|0; - HEAP32[$63>>2] = $65; - $66 = HEAP32[$pGroup>>2]|0; - $67 = ((($66)) + 4|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68) + 10)|0; - $70 = HEAP32[$pGroup>>2]|0; - $71 = ((($70)) + 8|0); - $72 = HEAP32[$71>>2]|0; - $73 = (($69) - ($72))|0; - $74 = HEAP32[$pGroup>>2]|0; - $75 = ((($74)) + 12|0); - HEAP32[$75>>2] = $73; - } - $76 = HEAP32[$pCache>>2]|0; - $77 = ((($76)) + 44|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)==(0); - if (!($79)) { - $81 = HEAP32[$pCache>>2]|0; - STACKTOP = sp;return ($81|0); - } - $80 = HEAP32[$pCache>>2]|0; - _pcache1Destroy($80); - HEAP32[$pCache>>2] = 0; - $81 = HEAP32[$pCache>>2]|0; - STACKTOP = sp;return ($81|0); -} -function _pcache1Cachesize($p,$nMax) { - $p = $p|0; - $nMax = $nMax|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0; - var $pGroup = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pCache = sp + 4|0; - $pGroup = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $nMax; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $2; - $3 = HEAP32[$pCache>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = HEAP32[$pCache>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$pGroup>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$pCache>>2]|0; - $11 = ((($10)) + 24|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($9) - ($12))|0; - $14 = HEAP32[$pGroup>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($13))|0; - HEAP32[$15>>2] = $17; - $18 = HEAP32[$pGroup>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 10)|0; - $22 = HEAP32[$pGroup>>2]|0; - $23 = ((($22)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($21) - ($24))|0; - $26 = HEAP32[$pGroup>>2]|0; - $27 = ((($26)) + 12|0); - HEAP32[$27>>2] = $25; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$pCache>>2]|0; - $30 = ((($29)) + 24|0); - HEAP32[$30>>2] = $28; - $31 = HEAP32[$pCache>>2]|0; - $32 = ((($31)) + 24|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33*9)|0; - $35 = (($34>>>0) / 10)&-1; - $36 = HEAP32[$pCache>>2]|0; - $37 = ((($36)) + 28|0); - HEAP32[$37>>2] = $35; - $38 = HEAP32[$pCache>>2]|0; - _pcache1EnforceMaxPage($38); - STACKTOP = sp;return; -} -function _pcache1Pagecount($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $n = 0, $pCache = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $n = sp + 4|0; - $pCache = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $1; - $2 = HEAP32[$pCache>>2]|0; - $3 = ((($2)) + 40|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$n>>2] = $4; - $5 = HEAP32[$n>>2]|0; - STACKTOP = sp;return ($5|0); -} -function _pcache1Fetch($p,$iKey,$createFlag) { - $p = $p|0; - $iKey = $iKey|0; - $createFlag = $createFlag|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iKey; - HEAP32[$2>>2] = $createFlag; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_pcache1FetchNoMutex($3,$4,$5)|0); - STACKTOP = sp;return ($6|0); -} -function _pcache1Unpin($p,$pPg,$reuseUnlikely) { - $p = $p|0; - $pPg = $pPg|0; - $reuseUnlikely = $reuseUnlikely|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, $pGroup = 0; - var $pPage = 0, $ppFirst = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pCache = sp + 12|0; - $pPage = sp + 8|0; - $pGroup = sp + 4|0; - $ppFirst = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pPg; - HEAP32[$2>>2] = $reuseUnlikely; - $3 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $3; - $4 = HEAP32[$1>>2]|0; - HEAP32[$pPage>>2] = $4; - $5 = HEAP32[$pCache>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$pGroup>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = ($7|0)!=(0); - if (!($8)) { - $9 = HEAP32[$pGroup>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$pGroup>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($11>>>0)>($14>>>0); - if (!($15)) { - $17 = HEAP32[$pGroup>>2]|0; - $18 = ((($17)) + 20|0); - $19 = ((($18)) + 24|0); - HEAP32[$ppFirst>>2] = $19; - $20 = HEAP32[$pGroup>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP32[$pPage>>2]|0; - $23 = ((($22)) + 28|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$pPage>>2]|0; - $25 = HEAP32[$ppFirst>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$pPage>>2]|0; - $28 = ((($27)) + 24|0); - HEAP32[$28>>2] = $26; - $29 = ((($26)) + 28|0); - HEAP32[$29>>2] = $24; - $30 = HEAP32[$pPage>>2]|0; - $31 = HEAP32[$ppFirst>>2]|0; - HEAP32[$31>>2] = $30; - $32 = HEAP32[$pCache>>2]|0; - $33 = ((($32)) + 36|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$33>>2] = $35; - $36 = HEAP32[$pPage>>2]|0; - $37 = ((($36)) + 12|0); - HEAP8[$37>>0] = 0; - STACKTOP = sp;return; + case 21: { + $129 = HEAP32[$8>>2]|0; + $130 = HEAP32[$6>>2]|0; + $131 = ((($130)) + 4|0); + $132 = HEAP32[$131>>2]|0; + _sqlite3EndTable($129,0,0,0,$132); + $133 = HEAP32[$8>>2]|0; + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$6>>2]|0; + $136 = ((($135)) + 4|0); + $137 = HEAP32[$136>>2]|0; + _sqlite3SelectDelete($134,$137); + break; } - } - $16 = HEAP32[$pPage>>2]|0; - _pcache1RemoveFromHash($16,1); - STACKTOP = sp;return; -} -function _pcache1Rekey($p,$pPg,$iOld,$iNew) { - $p = $p|0; - $pPg = $pPg|0; - $iOld = $iOld|0; - $iNew = $iNew|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $pCache = 0, $pPage = 0; - var $pp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $pCache = sp + 12|0; - $pPage = sp + 8|0; - $pp = sp + 4|0; - $h = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pPg; - HEAP32[$2>>2] = $iOld; - HEAP32[$3>>2] = $iNew; - $4 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $4; - $5 = HEAP32[$1>>2]|0; - HEAP32[$pPage>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$pCache>>2]|0; - $8 = ((($7)) + 44|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($6>>>0) % ($9>>>0))&-1; - HEAP32[$h>>2] = $10; - $11 = HEAP32[$h>>2]|0; - $12 = HEAP32[$pCache>>2]|0; - $13 = ((($12)) + 48|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<2)|0); - HEAP32[$pp>>2] = $15; - while(1) { - $16 = HEAP32[$pp>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$pPage>>2]|0; - $19 = ($17|0)!=($18|0); - if (!($19)) { + case 23: { + $138 = HEAP32[$6>>2]|0; + $139 = ((($138)) + 4|0); + $140 = ((($139)) + 4|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)==(5); + if ($142) { + $143 = HEAP32[$6>>2]|0; + $144 = ((($143)) + 4|0); + $145 = HEAP32[$144>>2]|0; + $146 = (_sqlite3_strnicmp($145,26001,5)|0); + $147 = ($146|0)==(0); + if ($147) { + $148 = HEAP32[$6>>2]|0; + $149 = ((($148)) + -16|0); + $150 = ((($149)) + 4|0); + HEAP32[$150>>2] = 96; + break L6; + } + } + $151 = HEAP32[$6>>2]|0; + $152 = ((($151)) + -16|0); + $153 = ((($152)) + 4|0); + HEAP32[$153>>2] = 0; + $154 = HEAP32[$8>>2]|0; + $155 = HEAP32[$6>>2]|0; + $156 = ((($155)) + 4|0); + $157 = ((($156)) + 4|0); + $158 = HEAP32[$157>>2]|0; + $159 = HEAP32[$6>>2]|0; + $160 = ((($159)) + 4|0); + $161 = HEAP32[$160>>2]|0; + HEAP32[$vararg_buffer>>2] = $158; + $vararg_ptr11 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $161; + _sqlite3ErrorMsg($154,26007,$vararg_buffer); break; } - $20 = HEAP32[$pp>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = ((($21)) + 16|0); - HEAP32[$pp>>2] = $22; - } - $23 = HEAP32[$pPage>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$pp>>2]|0; - HEAP32[$26>>2] = $25; - $27 = HEAP32[$3>>2]|0; - $28 = HEAP32[$pCache>>2]|0; - $29 = ((($28)) + 44|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($27>>>0) % ($30>>>0))&-1; - HEAP32[$h>>2] = $31; - $32 = HEAP32[$3>>2]|0; - $33 = HEAP32[$pPage>>2]|0; - $34 = ((($33)) + 8|0); - HEAP32[$34>>2] = $32; - $35 = HEAP32[$h>>2]|0; - $36 = HEAP32[$pCache>>2]|0; - $37 = ((($36)) + 48|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + ($35<<2)|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$pPage>>2]|0; - $42 = ((($41)) + 16|0); - HEAP32[$42>>2] = $40; - $43 = HEAP32[$pPage>>2]|0; - $44 = HEAP32[$h>>2]|0; - $45 = HEAP32[$pCache>>2]|0; - $46 = ((($45)) + 48|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + ($44<<2)|0); - HEAP32[$48>>2] = $43; - $49 = HEAP32[$3>>2]|0; - $50 = HEAP32[$pCache>>2]|0; - $51 = ((($50)) + 32|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($49>>>0)>($52>>>0); - if (!($53)) { - STACKTOP = sp;return; - } - $54 = HEAP32[$3>>2]|0; - $55 = HEAP32[$pCache>>2]|0; - $56 = ((($55)) + 32|0); - HEAP32[$56>>2] = $54; - STACKTOP = sp;return; -} -function _pcache1Truncate($p,$iLimit) { - $p = $p|0; - $iLimit = $iLimit|0; - var $0 = 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, $pCache = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pCache = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iLimit; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $2; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$pCache>>2]|0; - $5 = ((($4)) + 32|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3>>>0)<=($6>>>0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = HEAP32[$pCache>>2]|0; - $9 = HEAP32[$1>>2]|0; - _pcache1TruncateUnsafe($8,$9); - $10 = HEAP32[$1>>2]|0; - $11 = (($10) - 1)|0; - $12 = HEAP32[$pCache>>2]|0; - $13 = ((($12)) + 32|0); - HEAP32[$13>>2] = $11; - STACKTOP = sp;return; -} -function _pcache1Destroy($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pCache = 0, $pGroup = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pCache = sp + 4|0; - $pGroup = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $1; - $2 = HEAP32[$pCache>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pGroup>>2] = $3; - $4 = HEAP32[$pCache>>2]|0; - $5 = ((($4)) + 40|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$pCache>>2]|0; - _pcache1TruncateUnsafe($8,0); - } - $9 = HEAP32[$pCache>>2]|0; - $10 = ((($9)) + 24|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$pGroup>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) - ($11))|0; - HEAP32[$13>>2] = $15; - $16 = HEAP32[$pCache>>2]|0; - $17 = ((($16)) + 20|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$pGroup>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) - ($18))|0; - HEAP32[$20>>2] = $22; - $23 = HEAP32[$pGroup>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 10)|0; - $27 = HEAP32[$pGroup>>2]|0; - $28 = ((($27)) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($26) - ($29))|0; - $31 = HEAP32[$pGroup>>2]|0; - $32 = ((($31)) + 12|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$pCache>>2]|0; - _pcache1EnforceMaxPage($33); - $34 = HEAP32[$pCache>>2]|0; - $35 = ((($34)) + 56|0); - $36 = HEAP32[$35>>2]|0; - _sqlite3_free($36); - $37 = HEAP32[$pCache>>2]|0; - $38 = ((($37)) + 48|0); - $39 = HEAP32[$38>>2]|0; - _sqlite3_free($39); - $40 = HEAP32[$pCache>>2]|0; - _sqlite3_free($40); - STACKTOP = sp;return; -} -function _pcache1Shrink($p) { - $p = $p|0; - var $0 = 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, $pCache = 0, $pGroup = 0, $savedMaxPage = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $pCache = sp + 8|0; - $pGroup = sp + 4|0; - $savedMaxPage = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $1; - $2 = HEAP32[$pCache>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = HEAP32[$pCache>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$pGroup>>2] = $7; - $8 = HEAP32[$pGroup>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$savedMaxPage>>2] = $10; - $11 = HEAP32[$pGroup>>2]|0; - $12 = ((($11)) + 4|0); - HEAP32[$12>>2] = 0; - $13 = HEAP32[$pCache>>2]|0; - _pcache1EnforceMaxPage($13); - $14 = HEAP32[$savedMaxPage>>2]|0; - $15 = HEAP32[$pGroup>>2]|0; - $16 = ((($15)) + 4|0); - HEAP32[$16>>2] = $14; - STACKTOP = sp;return; -} -function _pcache1EnforceMaxPage($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pGroup = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pGroup = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$pGroup>>2] = $2; - while(1) { - $3 = HEAP32[$pGroup>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$pGroup>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($5>>>0)>($8>>>0); - if (!($9)) { + case 24: { + $162 = HEAP32[$8>>2]|0; + $163 = HEAP32[$6>>2]|0; + $164 = ((($163)) + -16|0); + $165 = ((($164)) + 4|0); + $166 = HEAP32[$6>>2]|0; + $167 = ((($166)) + 4|0); + _sqlite3AddColumn($162,$165,$167); break; } - $10 = HEAP32[$pGroup>>2]|0; - $11 = ((($10)) + 20|0); - $12 = ((($11)) + 28|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$p>>2] = $13; - $14 = ((($13)) + 14|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)==(0); - if (!($17)) { + case 96: case 60: case 25: { + $168 = HEAP32[$6>>2]|0; + $169 = ((($168)) + 16|0); + $170 = ((($169)) + 4|0); + $171 = ((($170)) + 4|0); + HEAP32[$171>>2] = 0; + $172 = HEAP32[$6>>2]|0; + $173 = ((($172)) + 16|0); + $174 = ((($173)) + 4|0); + HEAP32[$174>>2] = 0; break; } - $18 = HEAP32[$p>>2]|0; - (_pcache1PinPage($18)|0); - $19 = HEAP32[$p>>2]|0; - _pcache1RemoveFromHash($19,1); - } - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 40|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(0); - if (!($23)) { - STACKTOP = sp;return; - } - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 56|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - STACKTOP = sp;return; - } - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 56|0); - $30 = HEAP32[$29>>2]|0; - _sqlite3_free($30); - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 52|0); - HEAP32[$32>>2] = 0; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 56|0); - HEAP32[$34>>2] = 0; - STACKTOP = sp;return; -} -function _pcache1PinPage($pPage) { - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pCache = sp; - HEAP32[$0>>2] = $pPage; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 20|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pCache>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 24|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 24|0); - HEAP32[$10>>2] = $6; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 24|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 28|0); - HEAP32[$17>>2] = $13; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 24|0); - HEAP32[$19>>2] = 0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 28|0); - HEAP32[$21>>2] = 0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 12|0); - HEAP8[$23>>0] = 1; - $24 = HEAP32[$pCache>>2]|0; - $25 = ((($24)) + 36|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + -1)|0; - HEAP32[$25>>2] = $27; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); -} -function _pcache1RemoveFromHash($pPage,$freeFlag) { - $pPage = $pPage|0; - $freeFlag = $freeFlag|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $pCache = 0, $pp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $h = sp + 8|0; - $pCache = sp + 4|0; - $pp = sp; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $freeFlag; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 20|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pCache>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$pCache>>2]|0; - $9 = ((($8)) + 44|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($7>>>0) % ($10>>>0))&-1; - HEAP32[$h>>2] = $11; - $12 = HEAP32[$h>>2]|0; - $13 = HEAP32[$pCache>>2]|0; - $14 = ((($13)) + 48|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($12<<2)|0); - HEAP32[$pp>>2] = $16; - while(1) { - $17 = HEAP32[$pp>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ($18|0)!=($19|0); - $21 = HEAP32[$pp>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = ((($22)) + 16|0); - if (!($20)) { + case 26: { + $175 = HEAP32[$6>>2]|0; + $176 = ((($175)) + 4|0); + $177 = HEAP32[$176>>2]|0; + $178 = HEAP32[$6>>2]|0; + $179 = ((($178)) + 4|0); + $180 = ((($179)) + 4|0); + $181 = HEAP32[$180>>2]|0; + $182 = (($177) + ($181)|0); + $183 = HEAP32[$6>>2]|0; + $184 = ((($183)) + -48|0); + $185 = ((($184)) + 4|0); + $186 = HEAP32[$185>>2]|0; + $187 = $182; + $188 = $186; + $189 = (($187) - ($188))|0; + $190 = HEAP32[$6>>2]|0; + $191 = ((($190)) + -48|0); + $192 = ((($191)) + 4|0); + $193 = ((($192)) + 4|0); + HEAP32[$193>>2] = $189; break; } - HEAP32[$pp>>2] = $23; - } - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$pp>>2]|0; - HEAP32[$25>>2] = $24; - $26 = HEAP32[$pCache>>2]|0; - $27 = ((($26)) + 40|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + -1)|0; - HEAP32[$27>>2] = $29; - $30 = HEAP32[$1>>2]|0; - $31 = ($30|0)!=(0); - if (!($31)) { - STACKTOP = sp;return; - } - $32 = HEAP32[$0>>2]|0; - _pcache1FreePage($32); - STACKTOP = sp;return; -} -function _pcache1FreePage($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pCache = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 20|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pCache>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 13|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if ($7) { - $8 = HEAP32[$pCache>>2]|0; - $9 = ((($8)) + 52|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 16|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$pCache>>2]|0; - $15 = ((($14)) + 52|0); - HEAP32[$15>>2] = $13; - } else { - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$16>>2]|0; - _pcache1Free($17); - } - $18 = HEAP32[$pCache>>2]|0; - $19 = ((($18)) + 16|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0); - if (!($21)) { - STACKTOP = sp;return; - } - $22 = HEAP32[$pCache>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + -1)|0; - HEAP32[$24>>2] = $26; - STACKTOP = sp;return; -} -function _pcache1TruncateUnsafe($pCache,$iLimit) { - $pCache = $pCache|0; - $iLimit = $iLimit|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $h = 0, $iStop = 0, $pPage = 0, $pp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $h = sp + 12|0; - $iStop = sp + 8|0; - $pp = sp + 4|0; - $pPage = sp; - HEAP32[$0>>2] = $pCache; - HEAP32[$1>>2] = $iLimit; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 32|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (($4) - ($5))|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 44|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($6>>>0)<($9>>>0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($11>>>0) % ($14>>>0))&-1; - HEAP32[$h>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 32|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 44|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($18>>>0) % ($21>>>0))&-1; - HEAP32[$iStop>>2] = $22; - } else { - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 44|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25>>>0) / 2)&-1; - HEAP32[$h>>2] = $26; - $27 = HEAP32[$h>>2]|0; - $28 = (($27) - 1)|0; - HEAP32[$iStop>>2] = $28; - } - while(1) { - $29 = HEAP32[$h>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 48|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + ($29<<2)|0); - HEAP32[$pp>>2] = $33; - while(1) { - $34 = HEAP32[$pp>>2]|0; - $35 = HEAP32[$34>>2]|0; - HEAP32[$pPage>>2] = $35; - $36 = ($35|0)!=(0|0); - if (!($36)) { - break; - } - $37 = HEAP32[$pPage>>2]|0; - $38 = ((($37)) + 8|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$1>>2]|0; - $41 = ($39>>>0)>=($40>>>0); - if (!($41)) { - $56 = HEAP32[$pPage>>2]|0; - $57 = ((($56)) + 16|0); - HEAP32[$pp>>2] = $57; - continue; - } - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 40|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + -1)|0; - HEAP32[$43>>2] = $45; - $46 = HEAP32[$pPage>>2]|0; - $47 = ((($46)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$pp>>2]|0; - HEAP32[$49>>2] = $48; - $50 = HEAP32[$pPage>>2]|0; - $51 = ((($50)) + 12|0); - $52 = HEAP8[$51>>0]|0; - $53 = ($52<<24>>24)!=(0); - if (!($53)) { - $54 = HEAP32[$pPage>>2]|0; - (_pcache1PinPage($54)|0); - } - $55 = HEAP32[$pPage>>2]|0; - _pcache1FreePage($55); + case 27: { + $194 = HEAP32[$6>>2]|0; + $195 = ((($194)) + 4|0); + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$6>>2]|0; + $198 = ((($197)) + 4|0); + $199 = ((($198)) + 4|0); + $200 = HEAP32[$199>>2]|0; + $201 = (($196) + ($200)|0); + $202 = HEAP32[$6>>2]|0; + $203 = ((($202)) + -80|0); + $204 = ((($203)) + 4|0); + $205 = HEAP32[$204>>2]|0; + $206 = $201; + $207 = $205; + $208 = (($206) - ($207))|0; + $209 = HEAP32[$6>>2]|0; + $210 = ((($209)) + -80|0); + $211 = ((($210)) + 4|0); + $212 = ((($211)) + 4|0); + HEAP32[$212>>2] = $208; + break; } - $58 = HEAP32[$h>>2]|0; - $59 = HEAP32[$iStop>>2]|0; - $60 = ($58|0)==($59|0); - if ($60) { + case 28: { + $213 = HEAP32[$6>>2]|0; + $214 = ((($213)) + 4|0); + $215 = ((($214)) + 4|0); + $216 = HEAP32[$215>>2]|0; + $217 = HEAP32[$6>>2]|0; + $218 = ((($217)) + 4|0); + $219 = HEAP32[$218>>2]|0; + $220 = HEAP32[$6>>2]|0; + $221 = ((($220)) + -16|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $219; + $225 = $223; + $226 = (($224) - ($225))|0; + $227 = (($216) + ($226))|0; + $228 = HEAP32[$6>>2]|0; + $229 = ((($228)) + -16|0); + $230 = ((($229)) + 4|0); + $231 = ((($230)) + 4|0); + HEAP32[$231>>2] = $227; break; } - $61 = HEAP32[$h>>2]|0; - $62 = (($61) + 1)|0; - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 44|0); - $65 = HEAP32[$64>>2]|0; - $66 = (($62>>>0) % ($65>>>0))&-1; - HEAP32[$h>>2] = $66; - } - STACKTOP = sp;return; -} -function _pcache1FetchNoMutex($p,$iKey,$createFlag) { - $p = $p|0; - $iKey = $iKey|0; - $createFlag = $createFlag|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $pCache = 0, $pPage = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $pCache = sp + 4|0; - $pPage = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iKey; - HEAP32[$3>>2] = $createFlag; - $4 = HEAP32[$1>>2]|0; - HEAP32[$pCache>>2] = $4; - HEAP32[$pPage>>2] = 0; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$pCache>>2]|0; - $7 = ((($6)) + 44|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($5>>>0) % ($8>>>0))&-1; - $10 = HEAP32[$pCache>>2]|0; - $11 = ((($10)) + 48|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($9<<2)|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pPage>>2] = $14; - while(1) { - $15 = HEAP32[$pPage>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$pPage>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ($19|0)!=($20|0); - $39 = $21; - } else { - $39 = 0; + case 62: case 29: { + $232 = HEAP32[$8>>2]|0; + $233 = ((($232)) + 84|0); + $234 = HEAP32[$6>>2]|0; + $235 = ((($234)) + 4|0); + ;HEAP32[$233>>2]=HEAP32[$235>>2]|0;HEAP32[$233+4>>2]=HEAP32[$235+4>>2]|0; + break; } - $22 = HEAP32[$pPage>>2]|0; - if (!($39)) { + case 32: case 30: { + $236 = HEAP32[$8>>2]|0; + $237 = HEAP32[$6>>2]|0; + $238 = ((($237)) + 4|0); + _sqlite3AddDefaultValue($236,$238); break; } - $23 = ((($22)) + 16|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$pPage>>2] = $24; - } - $25 = ($22|0)!=(0|0); - if ($25) { - $26 = HEAP32[$pPage>>2]|0; - $27 = ((($26)) + 12|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)!=(0); - $30 = HEAP32[$pPage>>2]|0; - if ($29) { - HEAP32[$0>>2] = $30; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); - } else { - $31 = (_pcache1PinPage($30)|0); - HEAP32[$0>>2] = $31; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + case 31: { + $239 = HEAP32[$8>>2]|0; + $240 = HEAP32[$6>>2]|0; + $241 = ((($240)) + -16|0); + $242 = ((($241)) + 4|0); + _sqlite3AddDefaultValue($239,$242); + break; } - } else { - $32 = HEAP32[$3>>2]|0; - $33 = ($32|0)!=(0); - if ($33) { - $34 = HEAP32[$pCache>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = HEAP32[$3>>2]|0; - $37 = (_pcache1FetchStage2($34,$35,$36)|0); - HEAP32[$0>>2] = $37; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); - } else { - HEAP32[$0>>2] = 0; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + case 33: { + $243 = HEAP32[$8>>2]|0; + $244 = HEAP32[$6>>2]|0; + $245 = ((($244)) + 4|0); + $246 = HEAP32[$245>>2]|0; + $247 = (_sqlite3PExpr($243,155,$246,0,0)|0); + HEAP32[$10>>2] = $247; + $248 = HEAP32[$6>>2]|0; + $249 = ((($248)) + -16|0); + $250 = ((($249)) + 4|0); + $251 = HEAP32[$250>>2]|0; + $252 = ((($10)) + 4|0); + HEAP32[$252>>2] = $251; + $253 = HEAP32[$6>>2]|0; + $254 = ((($253)) + 4|0); + $255 = ((($254)) + 8|0); + $256 = HEAP32[$255>>2]|0; + $257 = ((($10)) + 8|0); + HEAP32[$257>>2] = $256; + $258 = HEAP32[$8>>2]|0; + _sqlite3AddDefaultValue($258,$10); + break; } - } - return (0)|0; -} -function _pcache1FetchStage2($pCache,$iKey,$createFlag) { - $pCache = $pCache|0; - $iKey = $iKey|0; - $createFlag = $createFlag|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $h = 0, $nPinned = 0, $pGroup = 0, $pOther = 0, $pPage = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $nPinned = sp + 16|0; - $pGroup = sp + 12|0; - $pPage = sp + 8|0; - $pOther = sp + 4|0; - $h = sp; - HEAP32[$1>>2] = $pCache; - HEAP32[$2>>2] = $iKey; - HEAP32[$3>>2] = $createFlag; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$pGroup>>2] = $5; - HEAP32[$pPage>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 40|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 36|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($8) - ($11))|0; - HEAP32[$nPinned>>2] = $12; - $13 = HEAP32[$3>>2]|0; - $14 = ($13|0)==(1); - do { - if ($14) { - $15 = HEAP32[$nPinned>>2]|0; - $16 = HEAP32[$pGroup>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15>>>0)>=($18>>>0); - if (!($19)) { - $20 = HEAP32[$nPinned>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 28|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($20>>>0)>=($23>>>0); - if (!($24)) { - $25 = HEAP32[$1>>2]|0; - $26 = (_pcache1UnderMemoryPressure($25)|0); - $27 = ($26|0)!=(0); - if (!($27)) { - break; - } - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 36|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$nPinned>>2]|0; - $32 = ($30>>>0)<($31>>>0); - if (!($32)) { - break; - } - } - } - HEAP32[$0>>2] = 0; - $147 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($147|0); + case 34: { + $259 = HEAP32[$8>>2]|0; + $260 = HEAP32[$6>>2]|0; + $261 = ((($260)) + 4|0); + ;HEAP32[$$byval_copy26>>2]=HEAP32[$261>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[$261+4>>2]|0; + _spanExpr($11,$259,97,$$byval_copy26); + $262 = HEAP32[$8>>2]|0; + _sqlite3AddDefaultValue($262,$11); + break; } - } while(0); - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 40|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 44|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($35>>>0)>=($38>>>0); - if ($39) { - $40 = HEAP32[$1>>2]|0; - _pcache1ResizeHash($40); - } - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 16|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)!=(0); - do { - if ($44) { - $45 = HEAP32[$pGroup>>2]|0; - $46 = ((($45)) + 20|0); - $47 = ((($46)) + 28|0); - $48 = HEAP32[$47>>2]|0; - $49 = ((($48)) + 14|0); - $50 = HEAP8[$49>>0]|0; - $51 = ($50<<24>>24)!=(0); - if (!($51)) { - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 40|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + 1)|0; - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 24|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($55>>>0)>=($58>>>0); - if (!($59)) { - $60 = HEAP32[$1>>2]|0; - $61 = (_pcache1UnderMemoryPressure($60)|0); - $62 = ($61|0)!=(0); - if (!($62)) { - break; - } - } - $63 = HEAP32[$pGroup>>2]|0; - $64 = ((($63)) + 20|0); - $65 = ((($64)) + 28|0); - $66 = HEAP32[$65>>2]|0; - HEAP32[$pPage>>2] = $66; - $67 = HEAP32[$pPage>>2]|0; - _pcache1RemoveFromHash($67,0); - $68 = HEAP32[$pPage>>2]|0; - (_pcache1PinPage($68)|0); - $69 = HEAP32[$pPage>>2]|0; - $70 = ((($69)) + 20|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[$pOther>>2] = $71; - $72 = HEAP32[$pOther>>2]|0; - $73 = ((($72)) + 12|0); - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$1>>2]|0; - $76 = ((($75)) + 12|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($74|0)!=($77|0); - if ($78) { - $79 = HEAP32[$pPage>>2]|0; - _pcache1FreePage($79); - HEAP32[$pPage>>2] = 0; - break; - } else { - $80 = HEAP32[$pOther>>2]|0; - $81 = ((($80)) + 16|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$1>>2]|0; - $84 = ((($83)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $86 = (($82) - ($85))|0; - $87 = HEAP32[$pGroup>>2]|0; - $88 = ((($87)) + 16|0); - $89 = HEAP32[$88>>2]|0; - $90 = (($89) - ($86))|0; - HEAP32[$88>>2] = $90; - break; - } - } + case 35: { + $263 = HEAP32[$8>>2]|0; + $264 = HEAP32[$6>>2]|0; + $265 = ((($264)) + 4|0); + $266 = HEAP32[$265>>2]|0; + _sqlite3AddNotNull($263,$266); + break; } - } while(0); - $91 = HEAP32[$pPage>>2]|0; - $92 = ($91|0)!=(0|0); - if (!($92)) { - $93 = HEAP32[$1>>2]|0; - $94 = HEAP32[$3>>2]|0; - $95 = ($94|0)==(1); - $96 = $95&1; - $97 = (_pcache1AllocPage($93,$96)|0); - HEAP32[$pPage>>2] = $97; - } - $98 = HEAP32[$pPage>>2]|0; - $99 = ($98|0)!=(0|0); - if ($99) { - $100 = HEAP32[$2>>2]|0; - $101 = HEAP32[$1>>2]|0; - $102 = ((($101)) + 44|0); - $103 = HEAP32[$102>>2]|0; - $104 = (($100>>>0) % ($103>>>0))&-1; - HEAP32[$h>>2] = $104; - $105 = HEAP32[$1>>2]|0; - $106 = ((($105)) + 40|0); - $107 = HEAP32[$106>>2]|0; - $108 = (($107) + 1)|0; - HEAP32[$106>>2] = $108; - $109 = HEAP32[$2>>2]|0; - $110 = HEAP32[$pPage>>2]|0; - $111 = ((($110)) + 8|0); - HEAP32[$111>>2] = $109; - $112 = HEAP32[$h>>2]|0; - $113 = HEAP32[$1>>2]|0; - $114 = ((($113)) + 48|0); - $115 = HEAP32[$114>>2]|0; - $116 = (($115) + ($112<<2)|0); - $117 = HEAP32[$116>>2]|0; - $118 = HEAP32[$pPage>>2]|0; - $119 = ((($118)) + 16|0); - HEAP32[$119>>2] = $117; - $120 = HEAP32[$1>>2]|0; - $121 = HEAP32[$pPage>>2]|0; - $122 = ((($121)) + 20|0); - HEAP32[$122>>2] = $120; - $123 = HEAP32[$pPage>>2]|0; - $124 = ((($123)) + 28|0); - HEAP32[$124>>2] = 0; - $125 = HEAP32[$pPage>>2]|0; - $126 = ((($125)) + 24|0); - HEAP32[$126>>2] = 0; - $127 = HEAP32[$pPage>>2]|0; - $128 = ((($127)) + 12|0); - HEAP8[$128>>0] = 1; - $129 = HEAP32[$pPage>>2]|0; - $130 = ((($129)) + 4|0); - $131 = HEAP32[$130>>2]|0; - HEAP32[$131>>2] = 0; - $132 = HEAP32[$pPage>>2]|0; - $133 = HEAP32[$h>>2]|0; - $134 = HEAP32[$1>>2]|0; - $135 = ((($134)) + 48|0); - $136 = HEAP32[$135>>2]|0; - $137 = (($136) + ($133<<2)|0); - HEAP32[$137>>2] = $132; - $138 = HEAP32[$2>>2]|0; - $139 = HEAP32[$1>>2]|0; - $140 = ((($139)) + 32|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($138>>>0)>($141>>>0); - if ($142) { - $143 = HEAP32[$2>>2]|0; - $144 = HEAP32[$1>>2]|0; - $145 = ((($144)) + 32|0); - HEAP32[$145>>2] = $143; + case 36: { + $267 = HEAP32[$8>>2]|0; + $268 = HEAP32[$6>>2]|0; + $269 = ((($268)) + -16|0); + $270 = ((($269)) + 4|0); + $271 = HEAP32[$270>>2]|0; + $272 = HEAP32[$6>>2]|0; + $273 = ((($272)) + 4|0); + $274 = HEAP32[$273>>2]|0; + $275 = HEAP32[$6>>2]|0; + $276 = ((($275)) + -32|0); + $277 = ((($276)) + 4|0); + $278 = HEAP32[$277>>2]|0; + _sqlite3AddPrimaryKey($267,0,$271,$274,$278); + break; } - } - $146 = HEAP32[$pPage>>2]|0; - HEAP32[$0>>2] = $146; - $147 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($147|0); -} -function _pcache1UnderMemoryPressure($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pCache; - $2 = HEAP32[(1696)>>2]|0; - $3 = ($2|0)!=(0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($6) + ($9))|0; - $11 = HEAP32[(1692)>>2]|0; - $12 = ($10|0)<=($11|0); - if ($12) { - $13 = HEAP32[(1724)>>2]|0; - HEAP32[$0>>2] = $13; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); + case 37: { + $279 = HEAP32[$8>>2]|0; + $280 = HEAP32[$6>>2]|0; + $281 = ((($280)) + 4|0); + $282 = HEAP32[$281>>2]|0; + _sqlite3CreateIndex($279,0,0,0,0,$282,0,0,0,0,1); + break; } - } - $14 = (_sqlite3HeapNearlyFull()|0); - HEAP32[$0>>2] = $14; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); -} -function _pcache1ResizeHash($p) { - $p = $p|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $apNew = 0, $h = 0, $i = 0, $nNew = 0, $pNext = 0, $pPage = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $apNew = sp + 20|0; - $nNew = sp + 16|0; - $i = sp + 12|0; - $pPage = sp + 8|0; - $pNext = sp + 4|0; - $h = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 44|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3<<1; - HEAP32[$nNew>>2] = $4; - $5 = HEAP32[$nNew>>2]|0; - $6 = ($5>>>0)<(256); - $$ = $6 ? 256 : $4; - HEAP32[$nNew>>2] = $$; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 44|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0); - if ($10) { - _sqlite3BeginBenignMalloc(); - } - $11 = HEAP32[$nNew>>2]|0; - $12 = $11<<2; - $13 = (_sqlite3MallocZero($12,0)|0); - HEAP32[$apNew>>2] = $13; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 44|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - _sqlite3EndBenignMalloc(); - } - $18 = HEAP32[$apNew>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 44|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($20>>>0)<($23>>>0); - if (!($24)) { + case 38: { + $283 = HEAP32[$8>>2]|0; + $284 = HEAP32[$6>>2]|0; + $285 = ((($284)) + -16|0); + $286 = ((($285)) + 4|0); + $287 = HEAP32[$286>>2]|0; + _sqlite3AddCheckConstraint($283,$287); break; } - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 48|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + ($25<<2)|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$pNext>>2] = $30; - while(1) { - $31 = HEAP32[$pNext>>2]|0; - HEAP32[$pPage>>2] = $31; - $32 = ($31|0)!=(0|0); - if (!($32)) { - break; - } - $33 = HEAP32[$pPage>>2]|0; - $34 = ((($33)) + 8|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$nNew>>2]|0; - $37 = (($35>>>0) % ($36>>>0))&-1; - HEAP32[$h>>2] = $37; - $38 = HEAP32[$pPage>>2]|0; - $39 = ((($38)) + 16|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$pNext>>2] = $40; - $41 = HEAP32[$h>>2]|0; - $42 = HEAP32[$apNew>>2]|0; - $43 = (($42) + ($41<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$pPage>>2]|0; - $46 = ((($45)) + 16|0); - HEAP32[$46>>2] = $44; - $47 = HEAP32[$pPage>>2]|0; - $48 = HEAP32[$h>>2]|0; - $49 = HEAP32[$apNew>>2]|0; - $50 = (($49) + ($48<<2)|0); - HEAP32[$50>>2] = $47; + case 39: { + $288 = HEAP32[$8>>2]|0; + $289 = HEAP32[$6>>2]|0; + $290 = ((($289)) + -32|0); + $291 = ((($290)) + 4|0); + $292 = HEAP32[$6>>2]|0; + $293 = ((($292)) + -16|0); + $294 = ((($293)) + 4|0); + $295 = HEAP32[$294>>2]|0; + $296 = HEAP32[$6>>2]|0; + $297 = ((($296)) + 4|0); + $298 = HEAP32[$297>>2]|0; + _sqlite3CreateForeignKey($288,0,$291,$295,$298); + break; } - $51 = HEAP32[$i>>2]|0; - $52 = (($51) + 1)|0; - HEAP32[$i>>2] = $52; - } - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 48|0); - $55 = HEAP32[$54>>2]|0; - _sqlite3_free($55); - $56 = HEAP32[$apNew>>2]|0; - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 48|0); - HEAP32[$58>>2] = $56; - $59 = HEAP32[$nNew>>2]|0; - $60 = HEAP32[$0>>2]|0; - $61 = ((($60)) + 44|0); - HEAP32[$61>>2] = $59; - STACKTOP = sp;return; -} -function _pcache1AllocPage($pCache,$benignMalloc) { - $pCache = $pCache|0; - $benignMalloc = $benignMalloc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0; - var $p = 0, $pPg = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $p = sp + 4|0; - $pPg = sp; - HEAP32[$1>>2] = $pCache; - HEAP32[$2>>2] = $benignMalloc; - HEAP32[$p>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 52|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - do { - if ($6) { - label = 4; - } else { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 40|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (_pcache1InitBulk($11)|0); - $13 = ($12|0)!=(0); - if ($13) { - label = 4; - break; - } - } - $24 = HEAP32[$2>>2]|0; - $25 = ($24|0)!=(0); - if ($25) { - _sqlite3BeginBenignMalloc(); - } - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = (_pcache1Alloc($28)|0); - HEAP32[$pPg>>2] = $29; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$pPg>>2]|0; - $34 = (($33) + ($32)|0); - HEAP32[$p>>2] = $34; - $35 = HEAP32[$2>>2]|0; - $36 = ($35|0)!=(0); - if ($36) { - _sqlite3EndBenignMalloc(); - } - $37 = HEAP32[$pPg>>2]|0; - $38 = ($37|0)==(0|0); - if (!($38)) { - $39 = HEAP32[$pPg>>2]|0; - $40 = HEAP32[$p>>2]|0; - HEAP32[$40>>2] = $39; - $41 = HEAP32[$p>>2]|0; - $42 = ((($41)) + 32|0); - $43 = HEAP32[$p>>2]|0; - $44 = ((($43)) + 4|0); - HEAP32[$44>>2] = $42; - $45 = HEAP32[$p>>2]|0; - $46 = ((($45)) + 13|0); - HEAP8[$46>>0] = 0; - $47 = HEAP32[$p>>2]|0; - $48 = ((($47)) + 14|0); - HEAP8[$48>>0] = 0; - break; - } - HEAP32[$0>>2] = 0; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + case 40: { + $299 = HEAP32[$8>>2]|0; + $300 = HEAP32[$6>>2]|0; + $301 = ((($300)) + 4|0); + $302 = HEAP32[$301>>2]|0; + _sqlite3DeferForeignKey($299,$302); + break; } - } while(0); - if ((label|0) == 4) { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 52|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$p>>2] = $16; - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 52|0); - HEAP32[$21>>2] = $19; - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 16|0); - HEAP32[$23>>2] = 0; - } - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 16|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)!=(0); - if ($52) { - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$53>>2]|0; - $55 = ((($54)) + 16|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($56) + 1)|0; - HEAP32[$55>>2] = $57; - } - $58 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $58; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); -} -function _pcache1InitBulk($pCache) { - $pCache = $pCache|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $nBulk = 0, $pX = 0, $szBulk = 0, $zBulk = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $szBulk = sp; - $zBulk = sp + 20|0; - $nBulk = sp + 16|0; - $i = sp + 12|0; - $pX = sp + 8|0; - HEAP32[$1>>2] = $pCache; - $2 = HEAP32[(1688)>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - HEAP32[$0>>2] = 0; - $123 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($123|0); - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 24|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6>>>0)<(3); - if ($7) { - HEAP32[$0>>2] = 0; - $123 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($123|0); - } - _sqlite3BeginBenignMalloc(); - $8 = HEAP32[(1688)>>2]|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)<(0); - $14 = $13 << 31 >> 31; - $15 = HEAP32[(1688)>>2]|0; - $16 = ($15|0)<(0); - $17 = $16 << 31 >> 31; - $18 = (___muldi3(($12|0),($14|0),($15|0),($17|0))|0); - $19 = tempRet0; - $20 = $szBulk; - $21 = $20; - HEAP32[$21>>2] = $18; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - } else { - $24 = HEAP32[(1688)>>2]|0; - $25 = ($24|0)<(0); - $26 = $25 << 31 >> 31; - $27 = (___muldi3(-1024,-1,($24|0),($26|0))|0); - $28 = tempRet0; - $29 = $szBulk; - $30 = $29; - HEAP32[$30>>2] = $27; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $28; - } - $33 = $szBulk; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (($33) + 4)|0; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 12|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)<(0); - $43 = $42 << 31 >> 31; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = (___muldi3(($41|0),($43|0),($46|0),0)|0); - $48 = tempRet0; - $49 = ($38|0)>($48|0); - $50 = ($35>>>0)>($47>>>0); - $51 = ($38|0)==($48|0); - $52 = $51 & $50; - $53 = $49 | $52; - if ($53) { - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 12|0); - $56 = HEAP32[$55>>2]|0; - $57 = ($56|0)<(0); - $58 = $57 << 31 >> 31; - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 24|0); - $61 = HEAP32[$60>>2]|0; - $62 = (___muldi3(($56|0),($58|0),($61|0),0)|0); - $63 = tempRet0; - $64 = $szBulk; - $65 = $64; - HEAP32[$65>>2] = $62; - $66 = (($64) + 4)|0; - $67 = $66; - HEAP32[$67>>2] = $63; - } - $68 = $szBulk; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = (_sqlite3Malloc($70,$73)|0); - $75 = HEAP32[$1>>2]|0; - $76 = ((($75)) + 56|0); - HEAP32[$76>>2] = $74; - HEAP32[$zBulk>>2] = $74; - _sqlite3EndBenignMalloc(); - $77 = HEAP32[$zBulk>>2]|0; - $78 = ($77|0)!=(0|0); - L16: do { - if ($78) { - $79 = HEAP32[$zBulk>>2]|0; - $80 = (_sqlite3MallocSize($79)|0); - $81 = HEAP32[$1>>2]|0; - $82 = ((($81)) + 12|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($80|0) / ($83|0))&-1; - HEAP32[$nBulk>>2] = $84; - HEAP32[$i>>2] = 0; - while(1) { - $85 = HEAP32[$i>>2]|0; - $86 = HEAP32[$nBulk>>2]|0; - $87 = ($85|0)<($86|0); - if (!($87)) { - break L16; - } - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 4|0); - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$zBulk>>2]|0; - $92 = (($91) + ($90)|0); - HEAP32[$pX>>2] = $92; - $93 = HEAP32[$zBulk>>2]|0; - $94 = HEAP32[$pX>>2]|0; - HEAP32[$94>>2] = $93; - $95 = HEAP32[$pX>>2]|0; - $96 = ((($95)) + 32|0); - $97 = HEAP32[$pX>>2]|0; - $98 = ((($97)) + 4|0); - HEAP32[$98>>2] = $96; - $99 = HEAP32[$pX>>2]|0; - $100 = ((($99)) + 13|0); - HEAP8[$100>>0] = 1; - $101 = HEAP32[$pX>>2]|0; - $102 = ((($101)) + 14|0); - HEAP8[$102>>0] = 0; - $103 = HEAP32[$1>>2]|0; - $104 = ((($103)) + 52|0); - $105 = HEAP32[$104>>2]|0; - $106 = HEAP32[$pX>>2]|0; - $107 = ((($106)) + 16|0); - HEAP32[$107>>2] = $105; - $108 = HEAP32[$pX>>2]|0; - $109 = HEAP32[$1>>2]|0; - $110 = ((($109)) + 52|0); - HEAP32[$110>>2] = $108; - $111 = HEAP32[$1>>2]|0; - $112 = ((($111)) + 12|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$zBulk>>2]|0; - $115 = (($114) + ($113)|0); - HEAP32[$zBulk>>2] = $115; - $116 = HEAP32[$i>>2]|0; - $117 = (($116) + 1)|0; - HEAP32[$i>>2] = $117; - } + case 41: { + $303 = HEAP32[$8>>2]|0; + $304 = HEAP32[$6>>2]|0; + $305 = ((($304)) + 4|0); + _sqlite3AddCollateType($303,$305); + break; } - } while(0); - $118 = HEAP32[$1>>2]|0; - $119 = ((($118)) + 52|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)!=(0|0); - $122 = $121&1; - HEAP32[$0>>2] = $122; - $123 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($123|0); -} -function _sqlite3HeapNearlyFull() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[(316)>>2]|0; - return ($0|0); -} -function _sqlite3MemMalloc($nByte) { - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $p = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 8|0; - $p = sp + 4|0; - HEAP32[$0>>2] = $nByte; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 7)|0; - $3 = $2 & -8; - HEAP32[$0>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8)|0; - $6 = (_malloc($5)|0); - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = HEAP32[$0>>2]|0; - if ($8) { - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = HEAP32[$p>>2]|0; - $13 = $12; - $14 = $13; - HEAP32[$14>>2] = $9; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 8|0); - HEAP32[$p>>2] = $18; - $19 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($19|0); - } else { - HEAP32[$vararg_buffer>>2] = $9; - _sqlite3_log(7,26399,$vararg_buffer); - $19 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($19|0); - } - return (0)|0; -} -function _sqlite3MemFree($pPrior) { - $pPrior = $pPrior|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pPrior; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ((($2)) + -8|0); - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - _free($4); - STACKTOP = sp;return; -} -function _sqlite3MemRealloc($pPrior,$nByte) { - $pPrior = $pPrior|0; - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 16|0; - $1 = sp + 12|0; - $p = sp + 8|0; - HEAP32[$0>>2] = $pPrior; - HEAP32[$1>>2] = $nByte; - $2 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ((($3)) + -8|0); - HEAP32[$p>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 8)|0; - $8 = (_realloc($5,$7)|0); - HEAP32[$p>>2] = $8; - $9 = HEAP32[$p>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = ($11|0)<(0); - $13 = $12 << 31 >> 31; - $14 = HEAP32[$p>>2]|0; - $15 = $14; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $13; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 8|0); - HEAP32[$p>>2] = $20; - $24 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($24|0); - } else { - $21 = HEAP32[$0>>2]|0; - $22 = (_sqlite3MemSize($21)|0); - $23 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $22; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $23; - _sqlite3_log(7,26363,$vararg_buffer); - $24 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($24|0); - } - return (0)|0; -} -function _sqlite3MemSize($pPrior) { - $pPrior = $pPrior|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pPrior; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ((($2)) + -8|0); - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - $5 = $4; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = (($5) + 4)|0; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - STACKTOP = sp;return ($7|0); -} -function _sqlite3MemRoundup($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $n; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 7)|0; - $3 = $2 & -8; - STACKTOP = sp;return ($3|0); -} -function _sqlite3MemInit($NotUsed) { - $NotUsed = $NotUsed|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $NotUsed; - STACKTOP = sp;return 0; -} -function _sqlite3MemShutdown($NotUsed) { - $NotUsed = $NotUsed|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $NotUsed; - STACKTOP = sp;return; -} -function _sqlite3ParserAlloc($mallocProc) { - $mallocProc = $mallocProc|0; - var $0 = 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, $pParser = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pParser = sp; - HEAP32[$0>>2] = $mallocProc; - $1 = HEAP32[$0>>2]|0; - $2 = (FUNCTION_TABLE_iii[$1 & 255](1608,0)|0); - HEAP32[$pParser>>2] = $2; - $3 = HEAP32[$pParser>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $13 = HEAP32[$pParser>>2]|0; - STACKTOP = sp;return ($13|0); - } - $5 = HEAP32[$pParser>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP32[$pParser>>2]|0; - HEAP32[$7>>2] = $6; - $8 = HEAP32[$pParser>>2]|0; - $9 = ((($8)) + 8|0); - HEAP16[$9>>1] = 0; - $10 = HEAP32[$pParser>>2]|0; - $11 = ((($10)) + 8|0); - $12 = ((($11)) + 2|0); - HEAP8[$12>>0] = 0; - $13 = HEAP32[$pParser>>2]|0; - STACKTOP = sp;return ($13|0); -} -function _sqlite3GetToken($z,$tokenType) { - $z = $z|0; - $tokenType = $tokenType|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $c = 0, $delim = 0, $i = 0, $n = 0, $or$cond = 0, $or$cond7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $i = sp + 12|0; - $c = sp + 8|0; - $delim = sp + 4|0; - $n = sp; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $tokenType; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = (39282 + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - L1: do { - switch ($8|0) { - case 7: { - HEAP32[$i>>2] = 1; - while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + ($9)|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = (18403 + ($13)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 & 1; - $18 = ($17|0)!=(0); - if (!($18)) { - break; - } - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; - } - $21 = HEAP32[$2>>2]|0; - HEAP32[$21>>2] = 162; - $22 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $22; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 44: { + $306 = HEAP32[$6>>2]|0; + $307 = ((($306)) + 16|0); + $308 = ((($307)) + 4|0); + HEAP32[$308>>2] = 0; break; } - case 11: { - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = ($26|0)==(45); - if (!($27)) { - $41 = HEAP32[$2>>2]|0; - HEAP32[$41>>2] = 48; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } - HEAP32[$i>>2] = 2; - while(1) { - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - HEAP32[$c>>2] = $32; - $33 = ($32|0)!=(0); - $34 = HEAP32[$c>>2]|0; - $35 = ($34|0)!=(10); - $36 = $33 ? $35 : 0; - if (!($36)) { - break; - } - $37 = HEAP32[$i>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$i>>2] = $38; - } - $39 = HEAP32[$2>>2]|0; - HEAP32[$39>>2] = 162; - $40 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $40; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 45: { + $309 = HEAP32[$6>>2]|0; + $310 = ((($309)) + -16|0); + $311 = ((($310)) + 4|0); + $312 = HEAP32[$311>>2]|0; + $313 = HEAP32[$6>>2]|0; + $314 = ((($313)) + 4|0); + $315 = ((($314)) + 4|0); + $316 = HEAP32[$315>>2]|0; + $317 = $316 ^ -1; + $318 = $312 & $317; + $319 = HEAP32[$6>>2]|0; + $320 = ((($319)) + 4|0); + $321 = HEAP32[$320>>2]|0; + $322 = $318 | $321; + $323 = HEAP32[$6>>2]|0; + $324 = ((($323)) + -16|0); + $325 = ((($324)) + 4|0); + HEAP32[$325>>2] = $322; break; } - case 17: { - $42 = HEAP32[$2>>2]|0; - HEAP32[$42>>2] = 22; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 46: { + $326 = HEAP32[$6>>2]|0; + $327 = ((($326)) + -16|0); + $328 = ((($327)) + 4|0); + HEAP32[$328>>2] = 0; + $329 = HEAP32[$6>>2]|0; + $330 = ((($329)) + -16|0); + $331 = ((($330)) + 4|0); + $332 = ((($331)) + 4|0); + HEAP32[$332>>2] = 0; break; } - case 18: { - $43 = HEAP32[$2>>2]|0; - HEAP32[$43>>2] = 23; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 47: { + $333 = HEAP32[$6>>2]|0; + $334 = ((($333)) + -32|0); + $335 = ((($334)) + 4|0); + HEAP32[$335>>2] = 0; + $336 = HEAP32[$6>>2]|0; + $337 = ((($336)) + -32|0); + $338 = ((($337)) + 4|0); + $339 = ((($338)) + 4|0); + HEAP32[$339>>2] = 0; break; } - case 19: { - $44 = HEAP32[$2>>2]|0; - HEAP32[$44>>2] = 1; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 48: { + $340 = HEAP32[$6>>2]|0; + $341 = ((($340)) + 4|0); + $342 = HEAP32[$341>>2]|0; + $343 = HEAP32[$6>>2]|0; + $344 = ((($343)) + -32|0); + $345 = ((($344)) + 4|0); + HEAP32[$345>>2] = $342; + $346 = HEAP32[$6>>2]|0; + $347 = ((($346)) + -32|0); + $348 = ((($347)) + 4|0); + $349 = ((($348)) + 4|0); + HEAP32[$349>>2] = 255; break; } - case 20: { - $45 = HEAP32[$2>>2]|0; - HEAP32[$45>>2] = 47; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 49: { + $350 = HEAP32[$6>>2]|0; + $351 = ((($350)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = $352 << 8; + $354 = HEAP32[$6>>2]|0; + $355 = ((($354)) + -32|0); + $356 = ((($355)) + 4|0); + HEAP32[$356>>2] = $353; + $357 = HEAP32[$6>>2]|0; + $358 = ((($357)) + -32|0); + $359 = ((($358)) + 4|0); + $360 = ((($359)) + 4|0); + HEAP32[$360>>2] = 65280; break; } - case 21: { - $46 = HEAP32[$2>>2]|0; - HEAP32[$46>>2] = 49; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 50: { + $361 = HEAP32[$6>>2]|0; + $362 = ((($361)) + -16|0); + $363 = ((($362)) + 4|0); + HEAP32[$363>>2] = 7; break; } - case 16: { - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 1|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = ($50|0)!=(42); - if (!($51)) { - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 2|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = ($55|0)==(0); - if (!($56)) { - HEAP32[$i>>2] = 3; - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - HEAP32[$c>>2] = $61; - while(1) { - $62 = HEAP32[$c>>2]|0; - $63 = ($62|0)!=(42); - if (!($63)) { - $64 = HEAP32[$i>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = (($65) + ($64)|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - $69 = ($68|0)!=(47); - if (!($69)) { - break; - } - } - $70 = HEAP32[$i>>2]|0; - $71 = HEAP32[$1>>2]|0; - $72 = (($71) + ($70)|0); - $73 = HEAP8[$72>>0]|0; - $74 = $73&255; - HEAP32[$c>>2] = $74; - $75 = ($74|0)!=(0); - if (!($75)) { - break; - } - $76 = HEAP32[$i>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[$i>>2] = $77; - } - $78 = HEAP32[$c>>2]|0; - $79 = ($78|0)!=(0); - if ($79) { - $80 = HEAP32[$i>>2]|0; - $81 = (($80) + 1)|0; - HEAP32[$i>>2] = $81; - } - $82 = HEAP32[$2>>2]|0; - HEAP32[$82>>2] = 162; - $83 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $83; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } - } - $57 = HEAP32[$2>>2]|0; - HEAP32[$57>>2] = 50; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 51: { + $364 = HEAP32[$6>>2]|0; + $365 = ((($364)) + -16|0); + $366 = ((($365)) + 4|0); + HEAP32[$366>>2] = 8; break; } - case 22: { - $84 = HEAP32[$2>>2]|0; - HEAP32[$84>>2] = 51; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 52: { + $367 = HEAP32[$6>>2]|0; + $368 = ((($367)) + 4|0); + HEAP32[$368>>2] = 9; break; } - case 14: { - $85 = HEAP32[$2>>2]|0; - HEAP32[$85>>2] = 37; - $86 = HEAP32[$1>>2]|0; - $87 = ((($86)) + 1|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88&255; - $90 = ($89|0)==(61); - $91 = $90&1; - $92 = (1 + ($91))|0; - HEAP32[$0>>2] = $92; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 53: { + $369 = HEAP32[$6>>2]|0; + $370 = ((($369)) + 4|0); + HEAP32[$370>>2] = 6; break; } - case 12: { - $93 = HEAP32[$1>>2]|0; - $94 = ((($93)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - HEAP32[$c>>2] = $96; - $97 = ($96|0)==(61); - if ($97) { - $98 = HEAP32[$2>>2]|0; - HEAP32[$98>>2] = 39; - HEAP32[$0>>2] = 2; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } - $99 = HEAP32[$c>>2]|0; - $100 = ($99|0)==(62); - if ($100) { - $101 = HEAP32[$2>>2]|0; - HEAP32[$101>>2] = 36; - HEAP32[$0>>2] = 2; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } - $102 = HEAP32[$c>>2]|0; - $103 = ($102|0)==(60); - $104 = HEAP32[$2>>2]|0; - if ($103) { - HEAP32[$104>>2] = 45; - HEAP32[$0>>2] = 2; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } else { - HEAP32[$104>>2] = 40; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } + case 54: { + $371 = HEAP32[$6>>2]|0; + $372 = ((($371)) + -16|0); + $373 = ((($372)) + 4|0); + HEAP32[$373>>2] = 0; break; } - case 13: { - $105 = HEAP32[$1>>2]|0; - $106 = ((($105)) + 1|0); - $107 = HEAP8[$106>>0]|0; - $108 = $107&255; - HEAP32[$c>>2] = $108; - $109 = ($108|0)==(61); - if ($109) { - $110 = HEAP32[$2>>2]|0; - HEAP32[$110>>2] = 41; - HEAP32[$0>>2] = 2; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } - $111 = HEAP32[$c>>2]|0; - $112 = ($111|0)==(62); - $113 = HEAP32[$2>>2]|0; - if ($112) { - HEAP32[$113>>2] = 46; - HEAP32[$0>>2] = 2; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } else { - HEAP32[$113>>2] = 38; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } + case 55: { + $374 = HEAP32[$6>>2]|0; + $375 = ((($374)) + -32|0); + $376 = ((($375)) + 4|0); + HEAP32[$376>>2] = 0; break; } - case 15: { - $114 = HEAP32[$1>>2]|0; - $115 = ((($114)) + 1|0); - $116 = HEAP8[$115>>0]|0; - $117 = $116&255; - $118 = ($117|0)!=(61); - $119 = HEAP32[$2>>2]|0; - if ($118) { - HEAP32[$119>>2] = 163; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } else { - HEAP32[$119>>2] = 36; - HEAP32[$0>>2] = 2; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } + case 144: case 71: case 56: { + $377 = HEAP32[$6>>2]|0; + $378 = ((($377)) + 4|0); + $379 = HEAP32[$378>>2]|0; + $380 = HEAP32[$6>>2]|0; + $381 = ((($380)) + -16|0); + $382 = ((($381)) + 4|0); + HEAP32[$382>>2] = $379; break; } - case 10: { - $120 = HEAP32[$1>>2]|0; - $121 = ((($120)) + 1|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = ($123|0)!=(124); - $125 = HEAP32[$2>>2]|0; - if ($124) { - HEAP32[$125>>2] = 44; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } else { - HEAP32[$125>>2] = 52; - HEAP32[$0>>2] = 2; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } + case 216: case 190: case 187: case 75: case 58: { + $383 = HEAP32[$6>>2]|0; + $384 = ((($383)) + -16|0); + $385 = ((($384)) + 4|0); + HEAP32[$385>>2] = 1; break; } - case 23: { - $126 = HEAP32[$2>>2]|0; - HEAP32[$126>>2] = 26; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 59: { + $386 = HEAP32[$6>>2]|0; + $387 = ((($386)) + -16|0); + $388 = ((($387)) + 4|0); + HEAP32[$388>>2] = 0; break; } - case 24: { - $127 = HEAP32[$2>>2]|0; - HEAP32[$127>>2] = 43; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 61: { + $389 = HEAP32[$8>>2]|0; + $390 = ((($389)) + 84|0); + $391 = ((($390)) + 4|0); + HEAP32[$391>>2] = 0; break; } - case 25: { - $128 = HEAP32[$2>>2]|0; - HEAP32[$128>>2] = 54; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 63: { + $392 = HEAP32[$8>>2]|0; + $393 = HEAP32[$6>>2]|0; + $394 = ((($393)) + -48|0); + $395 = ((($394)) + 4|0); + $396 = HEAP32[$395>>2]|0; + $397 = HEAP32[$6>>2]|0; + $398 = ((($397)) + 4|0); + $399 = HEAP32[$398>>2]|0; + $400 = HEAP32[$6>>2]|0; + $401 = ((($400)) + -32|0); + $402 = ((($401)) + 4|0); + $403 = HEAP32[$402>>2]|0; + _sqlite3AddPrimaryKey($392,$396,$399,$403,0); break; } - case 8: { - $129 = HEAP32[$1>>2]|0; - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - HEAP32[$delim>>2] = $131; - HEAP32[$i>>2] = 1; - while(1) { - $132 = HEAP32[$i>>2]|0; - $133 = HEAP32[$1>>2]|0; - $134 = (($133) + ($132)|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - HEAP32[$c>>2] = $136; - $137 = ($136|0)!=(0); - if (!($137)) { - break; - } - $138 = HEAP32[$c>>2]|0; - $139 = HEAP32[$delim>>2]|0; - $140 = ($138|0)==($139|0); - if ($140) { - $141 = HEAP32[$i>>2]|0; - $142 = (($141) + 1)|0; - $143 = HEAP32[$1>>2]|0; - $144 = (($143) + ($142)|0); - $145 = HEAP8[$144>>0]|0; - $146 = $145&255; - $147 = HEAP32[$delim>>2]|0; - $148 = ($146|0)==($147|0); - if (!($148)) { - break; - } - $149 = HEAP32[$i>>2]|0; - $150 = (($149) + 1)|0; - HEAP32[$i>>2] = $150; - } - $151 = HEAP32[$i>>2]|0; - $152 = (($151) + 1)|0; - HEAP32[$i>>2] = $152; - } - $153 = HEAP32[$c>>2]|0; - $154 = ($153|0)==(39); - if ($154) { - $155 = HEAP32[$2>>2]|0; - HEAP32[$155>>2] = 97; - $156 = HEAP32[$i>>2]|0; - $157 = (($156) + 1)|0; - HEAP32[$0>>2] = $157; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } - $158 = HEAP32[$c>>2]|0; - $159 = ($158|0)!=(0); - $160 = HEAP32[$2>>2]|0; - if ($159) { - HEAP32[$160>>2] = 55; - $161 = HEAP32[$i>>2]|0; - $162 = (($161) + 1)|0; - HEAP32[$0>>2] = $162; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } else { - HEAP32[$160>>2] = 163; - $163 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $163; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } + case 64: { + $404 = HEAP32[$8>>2]|0; + $405 = HEAP32[$6>>2]|0; + $406 = ((($405)) + -32|0); + $407 = ((($406)) + 4|0); + $408 = HEAP32[$407>>2]|0; + $409 = HEAP32[$6>>2]|0; + $410 = ((($409)) + 4|0); + $411 = HEAP32[$410>>2]|0; + _sqlite3CreateIndex($404,0,0,0,$408,$411,0,0,0,0,1); break; } - case 26: { - $164 = HEAP32[$1>>2]|0; - $165 = ((($164)) + 1|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $168 = (18403 + ($167)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $171 = $170 & 4; - $172 = ($171|0)!=(0); - if ($172) { - label = 64; - } else { - $173 = HEAP32[$2>>2]|0; - HEAP32[$173>>2] = 122; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } + case 65: { + $412 = HEAP32[$8>>2]|0; + $413 = HEAP32[$6>>2]|0; + $414 = ((($413)) + -32|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + _sqlite3AddCheckConstraint($412,$416); break; } - case 3: { - label = 64; + case 66: { + $417 = HEAP32[$8>>2]|0; + $418 = HEAP32[$6>>2]|0; + $419 = ((($418)) + -96|0); + $420 = ((($419)) + 4|0); + $421 = HEAP32[$420>>2]|0; + $422 = HEAP32[$6>>2]|0; + $423 = ((($422)) + -48|0); + $424 = ((($423)) + 4|0); + $425 = HEAP32[$6>>2]|0; + $426 = ((($425)) + -32|0); + $427 = ((($426)) + 4|0); + $428 = HEAP32[$427>>2]|0; + $429 = HEAP32[$6>>2]|0; + $430 = ((($429)) + -16|0); + $431 = ((($430)) + 4|0); + $432 = HEAP32[$431>>2]|0; + _sqlite3CreateForeignKey($417,$421,$424,$428,$432); + $433 = HEAP32[$8>>2]|0; + $434 = HEAP32[$6>>2]|0; + $435 = ((($434)) + 4|0); + $436 = HEAP32[$435>>2]|0; + _sqlite3DeferForeignKey($433,$436); break; } - case 9: { - HEAP32[$i>>2] = 1; - $319 = HEAP32[$1>>2]|0; - $320 = HEAP8[$319>>0]|0; - $321 = $320&255; - HEAP32[$c>>2] = $321; - while(1) { - $322 = HEAP32[$c>>2]|0; - $323 = ($322|0)!=(93); - if (!($323)) { - break; - } - $324 = HEAP32[$i>>2]|0; - $325 = HEAP32[$1>>2]|0; - $326 = (($325) + ($324)|0); - $327 = HEAP8[$326>>0]|0; - $328 = $327&255; - HEAP32[$c>>2] = $328; - $329 = ($328|0)!=(0); - if (!($329)) { - break; - } - $330 = HEAP32[$i>>2]|0; - $331 = (($330) + 1)|0; - HEAP32[$i>>2] = $331; - } - $332 = HEAP32[$c>>2]|0; - $333 = ($332|0)==(93); - $334 = $333 ? 55 : 163; - $335 = HEAP32[$2>>2]|0; - HEAP32[$335>>2] = $334; - $336 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $336; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 70: case 68: { + $437 = HEAP32[$6>>2]|0; + $438 = ((($437)) + 16|0); + $439 = ((($438)) + 4|0); + HEAP32[$439>>2] = 10; break; } - case 6: { - $337 = HEAP32[$2>>2]|0; - HEAP32[$337>>2] = 135; - HEAP32[$i>>2] = 1; - while(1) { - $338 = HEAP32[$i>>2]|0; - $339 = HEAP32[$1>>2]|0; - $340 = (($339) + ($338)|0); - $341 = HEAP8[$340>>0]|0; - $342 = $341&255; - $343 = (18403 + ($342)|0); - $344 = HEAP8[$343>>0]|0; - $345 = $344&255; - $346 = $345 & 4; - $347 = ($346|0)!=(0); - $348 = HEAP32[$i>>2]|0; - if (!($347)) { - break; - } - $349 = (($348) + 1)|0; - HEAP32[$i>>2] = $349; + case 69: { + $440 = HEAP32[$6>>2]|0; + $441 = ((($440)) + 4|0); + $442 = HEAP32[$441>>2]|0; + $443 = HEAP32[$6>>2]|0; + $444 = ((($443)) + -32|0); + $445 = ((($444)) + 4|0); + HEAP32[$445>>2] = $442; + break; + } + case 72: { + $446 = HEAP32[$6>>2]|0; + $447 = ((($446)) + 4|0); + HEAP32[$447>>2] = 4; + break; + } + case 145: case 73: { + $448 = HEAP32[$6>>2]|0; + $449 = ((($448)) + 4|0); + HEAP32[$449>>2] = 5; + break; + } + case 74: { + $450 = HEAP32[$8>>2]|0; + $451 = HEAP32[$6>>2]|0; + $452 = ((($451)) + 4|0); + $453 = HEAP32[$452>>2]|0; + $454 = HEAP32[$6>>2]|0; + $455 = ((($454)) + -16|0); + $456 = ((($455)) + 4|0); + $457 = HEAP32[$456>>2]|0; + _sqlite3DropTable($450,$453,0,$457); + break; + } + case 77: { + $458 = HEAP32[$8>>2]|0; + $459 = HEAP32[$6>>2]|0; + $460 = ((($459)) + -128|0); + $461 = ((($460)) + 4|0); + $462 = HEAP32[$6>>2]|0; + $463 = ((($462)) + -64|0); + $464 = ((($463)) + 4|0); + $465 = HEAP32[$6>>2]|0; + $466 = ((($465)) + -48|0); + $467 = ((($466)) + 4|0); + $468 = HEAP32[$6>>2]|0; + $469 = ((($468)) + -32|0); + $470 = ((($469)) + 4|0); + $471 = HEAP32[$470>>2]|0; + $472 = HEAP32[$6>>2]|0; + $473 = ((($472)) + 4|0); + $474 = HEAP32[$473>>2]|0; + $475 = HEAP32[$6>>2]|0; + $476 = ((($475)) + -112|0); + $477 = ((($476)) + 4|0); + $478 = HEAP32[$477>>2]|0; + $479 = HEAP32[$6>>2]|0; + $480 = ((($479)) + -80|0); + $481 = ((($480)) + 4|0); + $482 = HEAP32[$481>>2]|0; + _sqlite3CreateView($458,$461,$464,$467,$471,$474,$478,$482); + break; + } + case 78: { + $483 = HEAP32[$8>>2]|0; + $484 = HEAP32[$6>>2]|0; + $485 = ((($484)) + 4|0); + $486 = HEAP32[$485>>2]|0; + $487 = HEAP32[$6>>2]|0; + $488 = ((($487)) + -16|0); + $489 = ((($488)) + 4|0); + $490 = HEAP32[$489>>2]|0; + _sqlite3DropTable($483,$486,1,$490); + break; + } + case 79: { + ;HEAP32[$12>>2]=HEAP32[4228>>2]|0;HEAP32[$12+4>>2]=HEAP32[4228+4>>2]|0;HEAP32[$12+8>>2]=HEAP32[4228+8>>2]|0;HEAP32[$12+12>>2]=HEAP32[4228+12>>2]|0;HEAP32[$12+16>>2]=HEAP32[4228+16>>2]|0;HEAP32[$12+20>>2]=HEAP32[4228+20>>2]|0; + $491 = HEAP32[$8>>2]|0; + $492 = HEAP32[$6>>2]|0; + $493 = ((($492)) + 4|0); + $494 = HEAP32[$493>>2]|0; + (_sqlite3Select($491,$494,$12)|0); + $495 = HEAP32[$8>>2]|0; + $496 = HEAP32[$495>>2]|0; + $497 = HEAP32[$6>>2]|0; + $498 = ((($497)) + 4|0); + $499 = HEAP32[$498>>2]|0; + _sqlite3SelectDelete($496,$499); + break; + } + case 80: { + $500 = HEAP32[$6>>2]|0; + $501 = ((($500)) + 4|0); + $502 = HEAP32[$501>>2]|0; + HEAP32[$13>>2] = $502; + $503 = HEAP32[$13>>2]|0; + $504 = ($503|0)!=(0|0); + if ($504) { + $505 = HEAP32[$6>>2]|0; + $506 = ((($505)) + -16|0); + $507 = ((($506)) + 4|0); + $508 = HEAP32[$507>>2]|0; + $509 = HEAP32[$13>>2]|0; + $510 = ((($509)) + 64|0); + HEAP32[$510>>2] = $508; + $511 = HEAP32[$8>>2]|0; + $512 = HEAP32[$13>>2]|0; + _parserDoubleLinkSelect($511,$512); + } else { + $513 = HEAP32[$8>>2]|0; + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[$6>>2]|0; + $516 = ((($515)) + -16|0); + $517 = ((($516)) + 4|0); + $518 = HEAP32[$517>>2]|0; + _sqlite3WithDelete($514,$518); } - HEAP32[$0>>2] = $348; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + $519 = HEAP32[$13>>2]|0; + $520 = HEAP32[$6>>2]|0; + $521 = ((($520)) + -16|0); + $522 = ((($521)) + 4|0); + HEAP32[$522>>2] = $519; break; } - case 5: case 4: { - HEAP32[$n>>2] = 0; - $350 = HEAP32[$2>>2]|0; - HEAP32[$350>>2] = 135; - HEAP32[$i>>2] = 1; - while(1) { - $351 = HEAP32[$i>>2]|0; - $352 = HEAP32[$1>>2]|0; - $353 = (($352) + ($351)|0); - $354 = HEAP8[$353>>0]|0; - $355 = $354&255; - HEAP32[$c>>2] = $355; - $356 = ($355|0)!=(0); - if (!($356)) { - break; - } - $357 = HEAP32[$c>>2]|0; - $358 = $357&255; - $359 = $358&255; - $360 = (18403 + ($359)|0); - $361 = HEAP8[$360>>0]|0; - $362 = $361&255; - $363 = $362 & 70; - $364 = ($363|0)!=(0); - if ($364) { - $365 = HEAP32[$n>>2]|0; - $366 = (($365) + 1)|0; - HEAP32[$n>>2] = $366; - } else { - $367 = HEAP32[$c>>2]|0; - $368 = ($367|0)==(40); - $369 = HEAP32[$n>>2]|0; - $370 = ($369|0)>(0); - $or$cond = $368 & $370; - if ($or$cond) { - label = 107; - break; - } - $394 = HEAP32[$c>>2]|0; - $395 = ($394|0)==(58); - if (!($395)) { - break; - } - $396 = HEAP32[$i>>2]|0; - $397 = (($396) + 1)|0; - $398 = HEAP32[$1>>2]|0; - $399 = (($398) + ($397)|0); - $400 = HEAP8[$399>>0]|0; - $401 = $400&255; - $402 = ($401|0)==(58); - if (!($402)) { - break; - } - $403 = HEAP32[$i>>2]|0; - $404 = (($403) + 1)|0; - HEAP32[$i>>2] = $404; - } - $405 = HEAP32[$i>>2]|0; - $406 = (($405) + 1)|0; - HEAP32[$i>>2] = $406; - } - do { - if ((label|0) == 107) { - while(1) { - label = 0; - $371 = HEAP32[$i>>2]|0; - $372 = (($371) + 1)|0; - HEAP32[$i>>2] = $372; - $373 = HEAP32[$i>>2]|0; - $374 = HEAP32[$1>>2]|0; - $375 = (($374) + ($373)|0); - $376 = HEAP8[$375>>0]|0; - $377 = $376&255; - HEAP32[$c>>2] = $377; - $378 = ($377|0)!=(0); - if (!($378)) { - break; - } - $379 = HEAP32[$c>>2]|0; - $380 = $379&255; - $381 = $380&255; - $382 = (18403 + ($381)|0); - $383 = HEAP8[$382>>0]|0; - $384 = $383&255; - $385 = $384 & 1; - $386 = ($385|0)==(0); - $387 = HEAP32[$c>>2]|0; - $388 = ($387|0)!=(41); - $or$cond7 = $386 & $388; - if ($or$cond7) { - label = 107; - } else { - break; - } - } - $389 = HEAP32[$c>>2]|0; - $390 = ($389|0)==(41); - if ($390) { - $391 = HEAP32[$i>>2]|0; - $392 = (($391) + 1)|0; - HEAP32[$i>>2] = $392; - break; - } else { - $393 = HEAP32[$2>>2]|0; - HEAP32[$393>>2] = 163; - break; - } + case 81: { + $523 = HEAP32[$6>>2]|0; + $524 = ((($523)) + 4|0); + $525 = HEAP32[$524>>2]|0; + HEAP32[$14>>2] = $525; + $526 = HEAP32[$6>>2]|0; + $527 = ((($526)) + -32|0); + $528 = ((($527)) + 4|0); + $529 = HEAP32[$528>>2]|0; + HEAP32[$15>>2] = $529; + $530 = HEAP32[$14>>2]|0; + $531 = ($530|0)!=(0|0); + if ($531) { + $532 = HEAP32[$14>>2]|0; + $533 = ((($532)) + 48|0); + $534 = HEAP32[$533>>2]|0; + $535 = ($534|0)!=(0|0); + if ($535) { + $536 = ((($17)) + 4|0); + HEAP32[$536>>2] = 0; + $537 = HEAP32[$8>>2]|0; + $538 = HEAP32[$14>>2]|0; + _parserDoubleLinkSelect($537,$538); + $539 = HEAP32[$8>>2]|0; + $540 = HEAP32[$14>>2]|0; + $541 = (_sqlite3SrcListAppendFromTerm($539,0,0,0,$17,$540,0,0)|0); + HEAP32[$16>>2] = $541; + $542 = HEAP32[$8>>2]|0; + $543 = HEAP32[$16>>2]|0; + $544 = (_sqlite3SelectNew($542,0,$543,0,0,0,0,0,0,0)|0); + HEAP32[$14>>2] = $544; + } + } + $545 = HEAP32[$14>>2]|0; + $546 = ($545|0)!=(0|0); + if ($546) { + $547 = HEAP32[$6>>2]|0; + $548 = ((($547)) + -16|0); + $549 = ((($548)) + 4|0); + $550 = HEAP32[$549>>2]|0; + $551 = $550&255; + $552 = HEAP32[$14>>2]|0; + $553 = ((($552)) + 4|0); + HEAP8[$553>>0] = $551; + $554 = HEAP32[$15>>2]|0; + $555 = HEAP32[$14>>2]|0; + $556 = ((($555)) + 48|0); + HEAP32[$556>>2] = $554; + $557 = HEAP32[$15>>2]|0; + $558 = ($557|0)!=(0|0); + if ($558) { + $559 = HEAP32[$15>>2]|0; + $560 = ((($559)) + 8|0); + $561 = HEAP32[$560>>2]|0; + $562 = $561 & -1025; + HEAP32[$560>>2] = $562; + } + $563 = HEAP32[$14>>2]|0; + $564 = ((($563)) + 8|0); + $565 = HEAP32[$564>>2]|0; + $566 = $565 & -1025; + HEAP32[$564>>2] = $566; + $567 = HEAP32[$6>>2]|0; + $568 = ((($567)) + -16|0); + $569 = ((($568)) + 4|0); + $570 = HEAP32[$569>>2]|0; + $571 = ($570|0)!=(116); + if ($571) { + $572 = HEAP32[$8>>2]|0; + $573 = ((($572)) + 22|0); + HEAP8[$573>>0] = 1; } - } while(0); - $407 = HEAP32[$n>>2]|0; - $408 = ($407|0)==(0); - if ($408) { - $409 = HEAP32[$2>>2]|0; - HEAP32[$409>>2] = 163; - } - $410 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $410; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + } else { + $574 = HEAP32[$8>>2]|0; + $575 = HEAP32[$574>>2]|0; + $576 = HEAP32[$15>>2]|0; + _sqlite3SelectDelete($575,$576); + } + $577 = HEAP32[$14>>2]|0; + $578 = HEAP32[$6>>2]|0; + $579 = ((($578)) + -32|0); + $580 = ((($579)) + 4|0); + HEAP32[$580>>2] = $577; break; } - case 1: { - HEAP32[$i>>2] = 1; - while(1) { - $411 = HEAP32[$i>>2]|0; - $412 = HEAP32[$1>>2]|0; - $413 = (($412) + ($411)|0); - $414 = HEAP8[$413>>0]|0; - $415 = $414&255; - $416 = (39282 + ($415)|0); - $417 = HEAP8[$416>>0]|0; - $418 = $417&255; - $419 = ($418|0)<=(1); - $420 = HEAP32[$i>>2]|0; - if (!($419)) { - break; - } - $421 = (($420) + 1)|0; - HEAP32[$i>>2] = $421; - } - $422 = HEAP32[$1>>2]|0; - $423 = (($422) + ($420)|0); - $424 = HEAP8[$423>>0]|0; - $425 = $424&255; - $426 = (18403 + ($425)|0); - $427 = HEAP8[$426>>0]|0; - $428 = $427&255; - $429 = $428 & 70; - $430 = ($429|0)!=(0); - if ($430) { - $431 = HEAP32[$i>>2]|0; - $432 = (($431) + 1)|0; - HEAP32[$i>>2] = $432; - break L1; - } - $433 = HEAP32[$2>>2]|0; - HEAP32[$433>>2] = 55; - $434 = HEAP32[$1>>2]|0; - $435 = HEAP32[$i>>2]|0; - $436 = HEAP32[$2>>2]|0; - $437 = (_keywordCode($434,$435,$436)|0); - HEAP32[$0>>2] = $437; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); + case 84: case 82: { + $581 = HEAP32[$6>>2]|0; + $582 = ((($581)) + 2|0); + $583 = HEAP8[$582>>0]|0; + $584 = $583&255; + $585 = HEAP32[$6>>2]|0; + $586 = ((($585)) + 4|0); + HEAP32[$586>>2] = $584; break; } - case 0: { - $438 = HEAP32[$1>>2]|0; - $439 = ((($438)) + 1|0); - $440 = HEAP8[$439>>0]|0; - $441 = $440&255; - $442 = ($441|0)==(39); - if ($442) { - $443 = HEAP32[$2>>2]|0; - HEAP32[$443>>2] = 133; - HEAP32[$i>>2] = 2; - while(1) { - $444 = HEAP32[$i>>2]|0; - $445 = HEAP32[$1>>2]|0; - $446 = (($445) + ($444)|0); - $447 = HEAP8[$446>>0]|0; - $448 = $447&255; - $449 = (18403 + ($448)|0); - $450 = HEAP8[$449>>0]|0; - $451 = $450&255; - $452 = $451 & 8; - $453 = ($452|0)!=(0); - $454 = HEAP32[$i>>2]|0; - if (!($453)) { - break; - } - $455 = (($454) + 1)|0; - HEAP32[$i>>2] = $455; - } - $456 = HEAP32[$1>>2]|0; - $457 = (($456) + ($454)|0); - $458 = HEAP8[$457>>0]|0; - $459 = $458&255; - $460 = ($459|0)!=(39); - if ($460) { - label = 131; - } else { - $461 = HEAP32[$i>>2]|0; - $462 = (($461|0) % 2)&-1; - $463 = ($462|0)!=(0); - if ($463) { - label = 131; - } - } - L168: do { - if ((label|0) == 131) { - $464 = HEAP32[$2>>2]|0; - HEAP32[$464>>2] = 163; - while(1) { - $465 = HEAP32[$i>>2]|0; - $466 = HEAP32[$1>>2]|0; - $467 = (($466) + ($465)|0); - $468 = HEAP8[$467>>0]|0; - $469 = $468&255; - $470 = ($469|0)!=(0); - if (!($470)) { - break L168; - } - $471 = HEAP32[$i>>2]|0; - $472 = HEAP32[$1>>2]|0; - $473 = (($472) + ($471)|0); - $474 = HEAP8[$473>>0]|0; - $475 = $474&255; - $476 = ($475|0)!=(39); - if (!($476)) { - break L168; - } - $477 = HEAP32[$i>>2]|0; - $478 = (($477) + 1)|0; - HEAP32[$i>>2] = $478; - } - } - } while(0); - $479 = HEAP32[$i>>2]|0; - $480 = HEAP32[$1>>2]|0; - $481 = (($480) + ($479)|0); - $482 = HEAP8[$481>>0]|0; - $483 = ($482<<24>>24)!=(0); - if ($483) { - $484 = HEAP32[$i>>2]|0; - $485 = (($484) + 1)|0; - HEAP32[$i>>2] = $485; - } - $486 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $486; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } else { - label = 138; - } + case 83: { + $587 = HEAP32[$6>>2]|0; + $588 = ((($587)) + -16|0); + $589 = ((($588)) + 4|0); + HEAP32[$589>>2] = 116; break; } - case 2: { - label = 138; + case 85: { + $590 = HEAP32[$8>>2]|0; + $591 = HEAP32[$6>>2]|0; + $592 = ((($591)) + -96|0); + $593 = ((($592)) + 4|0); + $594 = HEAP32[$593>>2]|0; + $595 = HEAP32[$6>>2]|0; + $596 = ((($595)) + -80|0); + $597 = ((($596)) + 4|0); + $598 = HEAP32[$597>>2]|0; + $599 = HEAP32[$6>>2]|0; + $600 = ((($599)) + -64|0); + $601 = ((($600)) + 4|0); + $602 = HEAP32[$601>>2]|0; + $603 = HEAP32[$6>>2]|0; + $604 = ((($603)) + -48|0); + $605 = ((($604)) + 4|0); + $606 = HEAP32[$605>>2]|0; + $607 = HEAP32[$6>>2]|0; + $608 = ((($607)) + -32|0); + $609 = ((($608)) + 4|0); + $610 = HEAP32[$609>>2]|0; + $611 = HEAP32[$6>>2]|0; + $612 = ((($611)) + -16|0); + $613 = ((($612)) + 4|0); + $614 = HEAP32[$613>>2]|0; + $615 = HEAP32[$6>>2]|0; + $616 = ((($615)) + -112|0); + $617 = ((($616)) + 4|0); + $618 = HEAP32[$617>>2]|0; + $619 = HEAP32[$6>>2]|0; + $620 = ((($619)) + 4|0); + $621 = HEAP32[$620>>2]|0; + $622 = HEAP32[$6>>2]|0; + $623 = ((($622)) + 4|0); + $624 = ((($623)) + 4|0); + $625 = HEAP32[$624>>2]|0; + $626 = (_sqlite3SelectNew($590,$594,$598,$602,$606,$610,$614,$618,$621,$625)|0); + $627 = HEAP32[$6>>2]|0; + $628 = ((($627)) + -128|0); + $629 = ((($628)) + 4|0); + HEAP32[$629>>2] = $626; break; } - default: { - $487 = HEAP32[$2>>2]|0; - HEAP32[$487>>2] = 163; - HEAP32[$0>>2] = 1; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } + case 86: { + $630 = HEAP32[$8>>2]|0; + $631 = HEAP32[$6>>2]|0; + $632 = ((($631)) + -16|0); + $633 = ((($632)) + 4|0); + $634 = HEAP32[$633>>2]|0; + $635 = (_sqlite3SelectNew($630,$634,0,0,0,0,0,512,0,0)|0); + $636 = HEAP32[$6>>2]|0; + $637 = ((($636)) + -48|0); + $638 = ((($637)) + 4|0); + HEAP32[$638>>2] = $635; + break; } - } while(0); - if ((label|0) == 64) { - $174 = HEAP32[$2>>2]|0; - HEAP32[$174>>2] = 134; - $175 = HEAP32[$1>>2]|0; - $176 = HEAP8[$175>>0]|0; - $177 = $176&255; - $178 = ($177|0)==(48); - do { - if ($178) { - $179 = HEAP32[$1>>2]|0; - $180 = ((($179)) + 1|0); - $181 = HEAP8[$180>>0]|0; - $182 = $181&255; - $183 = ($182|0)==(120); - if (!($183)) { - $184 = HEAP32[$1>>2]|0; - $185 = ((($184)) + 1|0); - $186 = HEAP8[$185>>0]|0; - $187 = $186&255; - $188 = ($187|0)==(88); - if (!($188)) { - break; - } - } - $189 = HEAP32[$1>>2]|0; - $190 = ((($189)) + 2|0); - $191 = HEAP8[$190>>0]|0; - $192 = $191&255; - $193 = (18403 + ($192)|0); - $194 = HEAP8[$193>>0]|0; - $195 = $194&255; - $196 = $195 & 8; - $197 = ($196|0)!=(0); - if ($197) { - HEAP32[$i>>2] = 3; - while(1) { - $198 = HEAP32[$i>>2]|0; - $199 = HEAP32[$1>>2]|0; - $200 = (($199) + ($198)|0); - $201 = HEAP8[$200>>0]|0; - $202 = $201&255; - $203 = (18403 + ($202)|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204&255; - $206 = $205 & 8; - $207 = ($206|0)!=(0); - $208 = HEAP32[$i>>2]|0; - if (!($207)) { - break; - } - $209 = (($208) + 1)|0; - HEAP32[$i>>2] = $209; - } - HEAP32[$0>>2] = $208; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } - } - } while(0); - HEAP32[$i>>2] = 0; - while(1) { - $210 = HEAP32[$i>>2]|0; - $211 = HEAP32[$1>>2]|0; - $212 = (($211) + ($210)|0); - $213 = HEAP8[$212>>0]|0; - $214 = $213&255; - $215 = (18403 + ($214)|0); - $216 = HEAP8[$215>>0]|0; - $217 = $216&255; - $218 = $217 & 4; - $219 = ($218|0)!=(0); - $220 = HEAP32[$i>>2]|0; - if (!($219)) { - break; + case 87: { + $639 = HEAP32[$6>>2]|0; + $640 = ((($639)) + -64|0); + $641 = ((($640)) + 4|0); + $642 = HEAP32[$641>>2]|0; + HEAP32[$19>>2] = $642; + $643 = HEAP32[$8>>2]|0; + $644 = HEAP32[$6>>2]|0; + $645 = ((($644)) + -16|0); + $646 = ((($645)) + 4|0); + $647 = HEAP32[$646>>2]|0; + $648 = (_sqlite3SelectNew($643,$647,0,0,0,0,0,1536,0,0)|0); + HEAP32[$18>>2] = $648; + $649 = HEAP32[$19>>2]|0; + $650 = ($649|0)!=(0|0); + if ($650) { + $651 = HEAP32[$19>>2]|0; + $652 = ((($651)) + 8|0); + $653 = HEAP32[$652>>2]|0; + $654 = $653 & -1025; + HEAP32[$652>>2] = $654; + } + $655 = HEAP32[$18>>2]|0; + $656 = ($655|0)!=(0|0); + if ($656) { + $657 = HEAP32[$18>>2]|0; + $658 = ((($657)) + 4|0); + HEAP8[$658>>0] = 116; + $659 = HEAP32[$19>>2]|0; + $660 = HEAP32[$18>>2]|0; + $661 = ((($660)) + 48|0); + HEAP32[$661>>2] = $659; + $662 = HEAP32[$18>>2]|0; + $663 = HEAP32[$6>>2]|0; + $$sink = $662;$$sink4 = $663; + } else { + $664 = HEAP32[$19>>2]|0; + $665 = HEAP32[$6>>2]|0; + $$sink = $664;$$sink4 = $665; } - $221 = (($220) + 1)|0; - HEAP32[$i>>2] = $221; + $666 = ((($$sink4)) + -64|0); + $667 = ((($666)) + 4|0); + HEAP32[$667>>2] = $$sink; + break; } - $222 = HEAP32[$1>>2]|0; - $223 = (($222) + ($220)|0); - $224 = HEAP8[$223>>0]|0; - $225 = $224&255; - $226 = ($225|0)==(46); - if ($226) { - $227 = HEAP32[$i>>2]|0; - $228 = (($227) + 1)|0; - HEAP32[$i>>2] = $228; - while(1) { - $229 = HEAP32[$i>>2]|0; - $230 = HEAP32[$1>>2]|0; - $231 = (($230) + ($229)|0); - $232 = HEAP8[$231>>0]|0; - $233 = $232&255; - $234 = (18403 + ($233)|0); - $235 = HEAP8[$234>>0]|0; - $236 = $235&255; - $237 = $236 & 4; - $238 = ($237|0)!=(0); - if (!($238)) { - break; - } - $239 = HEAP32[$i>>2]|0; - $240 = (($239) + 1)|0; - HEAP32[$i>>2] = $240; - } - $241 = HEAP32[$2>>2]|0; - HEAP32[$241>>2] = 132; + case 88: { + $668 = HEAP32[$6>>2]|0; + $669 = ((($668)) + 4|0); + HEAP32[$669>>2] = 1; + break; } - $242 = HEAP32[$i>>2]|0; - $243 = HEAP32[$1>>2]|0; - $244 = (($243) + ($242)|0); - $245 = HEAP8[$244>>0]|0; - $246 = $245&255; - $247 = ($246|0)==(101); - if ($247) { - label = 82; - } else { - $248 = HEAP32[$i>>2]|0; - $249 = HEAP32[$1>>2]|0; - $250 = (($249) + ($248)|0); - $251 = HEAP8[$250>>0]|0; - $252 = $251&255; - $253 = ($252|0)==(69); - if ($253) { - label = 82; - } + case 89: { + $670 = HEAP32[$6>>2]|0; + $671 = ((($670)) + 4|0); + HEAP32[$671>>2] = 2; + break; } - do { - if ((label|0) == 82) { - $254 = HEAP32[$i>>2]|0; - $255 = (($254) + 1)|0; - $256 = HEAP32[$1>>2]|0; - $257 = (($256) + ($255)|0); - $258 = HEAP8[$257>>0]|0; - $259 = $258&255; - $260 = (18403 + ($259)|0); - $261 = HEAP8[$260>>0]|0; - $262 = $261&255; - $263 = $262 & 4; - $264 = ($263|0)!=(0); - if (!($264)) { - $265 = HEAP32[$i>>2]|0; - $266 = (($265) + 1)|0; - $267 = HEAP32[$1>>2]|0; - $268 = (($267) + ($266)|0); - $269 = HEAP8[$268>>0]|0; - $270 = $269&255; - $271 = ($270|0)==(43); - if (!($271)) { - $272 = HEAP32[$i>>2]|0; - $273 = (($272) + 1)|0; - $274 = HEAP32[$1>>2]|0; - $275 = (($274) + ($273)|0); - $276 = HEAP8[$275>>0]|0; - $277 = $276&255; - $278 = ($277|0)==(45); - if (!($278)) { - break; - } - } - $279 = HEAP32[$i>>2]|0; - $280 = (($279) + 2)|0; - $281 = HEAP32[$1>>2]|0; - $282 = (($281) + ($280)|0); - $283 = HEAP8[$282>>0]|0; - $284 = $283&255; - $285 = (18403 + ($284)|0); - $286 = HEAP8[$285>>0]|0; - $287 = $286&255; - $288 = $287 & 4; - $289 = ($288|0)!=(0); - if (!($289)) { - break; - } - } - $290 = HEAP32[$i>>2]|0; - $291 = (($290) + 2)|0; - HEAP32[$i>>2] = $291; - while(1) { - $292 = HEAP32[$i>>2]|0; - $293 = HEAP32[$1>>2]|0; - $294 = (($293) + ($292)|0); - $295 = HEAP8[$294>>0]|0; - $296 = $295&255; - $297 = (18403 + ($296)|0); - $298 = HEAP8[$297>>0]|0; - $299 = $298&255; - $300 = $299 & 4; - $301 = ($300|0)!=(0); - if (!($301)) { - break; - } - $302 = HEAP32[$i>>2]|0; - $303 = (($302) + 1)|0; - HEAP32[$i>>2] = $303; - } - $304 = HEAP32[$2>>2]|0; - HEAP32[$304>>2] = 132; - } - } while(0); - while(1) { - $305 = HEAP32[$i>>2]|0; - $306 = HEAP32[$1>>2]|0; - $307 = (($306) + ($305)|0); - $308 = HEAP8[$307>>0]|0; - $309 = $308&255; - $310 = (18403 + ($309)|0); - $311 = HEAP8[$310>>0]|0; - $312 = $311&255; - $313 = $312 & 70; - $314 = ($313|0)!=(0); - if (!($314)) { - break; - } - $315 = HEAP32[$2>>2]|0; - HEAP32[$315>>2] = 163; - $316 = HEAP32[$i>>2]|0; - $317 = (($316) + 1)|0; - HEAP32[$i>>2] = $317; + case 211: case 206: case 203: case 126: case 119: case 91: { + $672 = HEAP32[$6>>2]|0; + $673 = ((($672)) + 16|0); + $674 = ((($673)) + 4|0); + HEAP32[$674>>2] = 0; + break; } - $318 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $318; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); - } - else if ((label|0) == 138) { - HEAP32[$i>>2] = 1; - } - while(1) { - $488 = HEAP32[$i>>2]|0; - $489 = HEAP32[$1>>2]|0; - $490 = (($489) + ($488)|0); - $491 = HEAP8[$490>>0]|0; - $492 = $491&255; - $493 = (18403 + ($492)|0); - $494 = HEAP8[$493>>0]|0; - $495 = $494&255; - $496 = $495 & 70; - $497 = ($496|0)!=(0); - if (!($497)) { - break; - } - $498 = HEAP32[$i>>2]|0; - $499 = (($498) + 1)|0; - HEAP32[$i>>2] = $499; - } - $500 = HEAP32[$2>>2]|0; - HEAP32[$500>>2] = 55; - $501 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $501; - $502 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($502|0); -} -function _sqlite3Parser($yyp,$yymajor,$yyminor,$pParse) { - $yyp = $yyp|0; - $yymajor = $yymajor|0; - $yyminor = $yyminor|0; - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $yyact = 0, $yyminor$byval_copy1 = 0, $yyminorunion = 0, $yypParser = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $yyminor$byval_copy1 = sp + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $yyminorunion = sp + 8|0; - $yyact = sp + 4|0; - $yypParser = sp; - HEAP32[$0>>2] = $yyp; - HEAP32[$1>>2] = $yymajor; - HEAP32[$2>>2] = $pParse; - $3 = HEAP32[$0>>2]|0; - HEAP32[$yypParser>>2] = $3; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$yypParser>>2]|0; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $4; - while(1) { - $7 = HEAP32[$yypParser>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = $8&255; - $10 = (_yy_find_shift_action($7,$9)|0); - HEAP32[$yyact>>2] = $10; - $11 = HEAP32[$yyact>>2]|0; - $12 = ($11>>>0)<=(999); - do { - if ($12) { - $13 = HEAP32[$yypParser>>2]|0; - $14 = HEAP32[$yyact>>2]|0; - $15 = HEAP32[$1>>2]|0; - ;HEAP32[$yyminor$byval_copy1>>2]=HEAP32[$yyminor>>2]|0;HEAP32[$yyminor$byval_copy1+4>>2]=HEAP32[$yyminor+4>>2]|0; - _yy_shift($13,$14,$15,$yyminor$byval_copy1); - HEAP32[$1>>2] = 252; - } else { - $16 = HEAP32[$yyact>>2]|0; - $17 = ($16>>>0)<=(1331); - if ($17) { - $18 = HEAP32[$yypParser>>2]|0; - $19 = HEAP32[$yyact>>2]|0; - $20 = (($19) - 1000)|0; - _yy_reduce($18,$20); - break; - } else { - ;HEAP32[$yyminorunion>>2]=HEAP32[$yyminor>>2]|0;HEAP32[$yyminorunion+4>>2]=HEAP32[$yyminor+4>>2]|0; - $21 = HEAP32[$yypParser>>2]|0; - $22 = HEAP32[$1>>2]|0; - ;HEAP32[$yyminor$byval_copy1>>2]=HEAP32[$yyminor>>2]|0;HEAP32[$yyminor$byval_copy1+4>>2]=HEAP32[$yyminor+4>>2]|0; - _yy_syntax_error($21,$22,$yyminor$byval_copy1); - $23 = HEAP32[$yypParser>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = $24&255; - _yy_destructor($23,$25,$yyminorunion); - HEAP32[$1>>2] = 252; - break; - } - } - } while(0); - $26 = HEAP32[$1>>2]|0; - $27 = ($26|0)!=(252); - if (!($27)) { - label = 9; + case 92: { + $675 = HEAP32[$8>>2]|0; + $676 = HEAP32[$6>>2]|0; + $677 = ((($676)) + -32|0); + $678 = ((($677)) + 4|0); + $679 = HEAP32[$678>>2]|0; + $680 = HEAP32[$6>>2]|0; + $681 = ((($680)) + -16|0); + $682 = ((($681)) + 4|0); + $683 = HEAP32[$682>>2]|0; + $684 = (_sqlite3ExprListAppend($675,$679,$683)|0); + $685 = HEAP32[$6>>2]|0; + $686 = ((($685)) + -32|0); + $687 = ((($686)) + 4|0); + HEAP32[$687>>2] = $684; + $688 = HEAP32[$6>>2]|0; + $689 = ((($688)) + 4|0); + $690 = ((($689)) + 4|0); + $691 = HEAP32[$690>>2]|0; + $692 = ($691>>>0)>(0); + if ($692) { + $693 = HEAP32[$8>>2]|0; + $694 = HEAP32[$6>>2]|0; + $695 = ((($694)) + -32|0); + $696 = ((($695)) + 4|0); + $697 = HEAP32[$696>>2]|0; + $698 = HEAP32[$6>>2]|0; + $699 = ((($698)) + 4|0); + _sqlite3ExprListSetName($693,$697,$699,1); + } + $700 = HEAP32[$8>>2]|0; + $701 = HEAP32[$6>>2]|0; + $702 = ((($701)) + -32|0); + $703 = ((($702)) + 4|0); + $704 = HEAP32[$703>>2]|0; + $705 = HEAP32[$6>>2]|0; + $706 = ((($705)) + -16|0); + $707 = ((($706)) + 4|0); + _sqlite3ExprListSetSpan($700,$704,$707); break; } - $28 = HEAP32[$yypParser>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$yypParser>>2]|0; - $31 = ((($30)) + 8|0); - $32 = ($29>>>0)>($31>>>0); - if (!($32)) { - label = 9; + case 93: { + $708 = HEAP32[$8>>2]|0; + $709 = HEAP32[$708>>2]|0; + $710 = (_sqlite3Expr($709,160,0)|0); + HEAP32[$20>>2] = $710; + $711 = HEAP32[$8>>2]|0; + $712 = HEAP32[$6>>2]|0; + $713 = ((($712)) + -16|0); + $714 = ((($713)) + 4|0); + $715 = HEAP32[$714>>2]|0; + $716 = HEAP32[$20>>2]|0; + $717 = (_sqlite3ExprListAppend($711,$715,$716)|0); + $718 = HEAP32[$6>>2]|0; + $719 = ((($718)) + -16|0); + $720 = ((($719)) + 4|0); + HEAP32[$720>>2] = $717; break; } - } - if ((label|0) == 9) { - STACKTOP = sp;return; - } -} -function _sqlite3ParserFree($p,$freeProc) { - $p = $p|0; - $freeProc = $freeProc|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pParser = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pParser = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $freeProc; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pParser>>2] = $2; - while(1) { - $3 = HEAP32[$pParser>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$pParser>>2]|0; - $6 = ((($5)) + 8|0); - $7 = ($4>>>0)>($6>>>0); - if (!($7)) { + case 94: { + $721 = HEAP32[$8>>2]|0; + $722 = (_sqlite3PExpr($721,160,0,0,0)|0); + HEAP32[$21>>2] = $722; + $723 = HEAP32[$8>>2]|0; + $724 = HEAP32[$6>>2]|0; + $725 = ((($724)) + -32|0); + $726 = ((($725)) + 4|0); + $727 = (_sqlite3PExpr($723,55,0,0,$726)|0); + HEAP32[$22>>2] = $727; + $728 = HEAP32[$8>>2]|0; + $729 = HEAP32[$22>>2]|0; + $730 = HEAP32[$21>>2]|0; + $731 = (_sqlite3PExpr($728,122,$729,$730,0)|0); + HEAP32[$23>>2] = $731; + $732 = HEAP32[$8>>2]|0; + $733 = HEAP32[$6>>2]|0; + $734 = ((($733)) + -48|0); + $735 = ((($734)) + 4|0); + $736 = HEAP32[$735>>2]|0; + $737 = HEAP32[$23>>2]|0; + $738 = (_sqlite3ExprListAppend($732,$736,$737)|0); + $739 = HEAP32[$6>>2]|0; + $740 = ((($739)) + -48|0); + $741 = ((($740)) + 4|0); + HEAP32[$741>>2] = $738; break; } - $8 = HEAP32[$pParser>>2]|0; - _yy_pop_parser_stack($8); - } - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$pParser>>2]|0; - FUNCTION_TABLE_vi[$9 & 255]($10); - STACKTOP = sp;return; -} -function _sqlite3VdbeDelete($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - STACKTOP = sp;return; - } - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$db>>2]|0; - $6 = HEAP32[$0>>2]|0; - _sqlite3VdbeClearObject($5,$6); - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - if ($10) { - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 8|0); - HEAP32[$17>>2] = $13; - } else { - $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 4|0); - HEAP32[$19>>2] = $13; - } - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 4|0); - HEAP32[$30>>2] = $26; - } - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 20|0); - HEAP32[$32>>2] = 1443283912; - $33 = HEAP32[$0>>2]|0; - HEAP32[$33>>2] = 0; - $34 = HEAP32[$db>>2]|0; - $35 = HEAP32[$0>>2]|0; - _sqlite3DbFree($34,$35); - STACKTOP = sp;return; -} -function _sqlite3WithDelete($db,$pWith) { - $db = $db|0; - $pWith = $pWith|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pCte = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $i = sp + 4|0; - $pCte = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pWith; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ($4|0)<($6|0); - if (!($7)) { + case 226: case 225: case 106: case 95: { + $742 = HEAP32[$6>>2]|0; + $743 = ((($742)) + -16|0); + $744 = ((($743)) + 4|0); + $745 = HEAP32[$6>>2]|0; + $746 = ((($745)) + 4|0); + ;HEAP32[$744>>2]=HEAP32[$746>>2]|0;HEAP32[$744+4>>2]=HEAP32[$746+4>>2]|0; break; } - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 8|0); - $11 = (($10) + ($8<<4)|0); - HEAP32[$pCte>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$pCte>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - _sqlite3ExprListDelete($12,$15); - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$pCte>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - _sqlite3SelectDelete($16,$19); - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$pCte>>2]|0; - $22 = HEAP32[$21>>2]|0; - _sqlite3DbFree($20,$22); - $23 = HEAP32[$i>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$i>>2] = $24; - } - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$1>>2]|0; - _sqlite3DbFree($25,$26); - STACKTOP = sp;return; -} -function _sqlite3ExprListDelete($db,$pList) { - $db = $db|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pList; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; - } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - _exprListDeleteNN($4,$5); - STACKTOP = sp;return; -} -function _sqlite3SelectDelete($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; - } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - _clearSelect($4,$5,1); - STACKTOP = sp;return; -} -function _clearSelect($db,$p,$bFree) { - $db = $db|0; - $p = $p|0; - $bFree = $bFree|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPrior = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pPrior = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $bFree; - while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + case 97: { + $747 = HEAP32[$8>>2]|0; + $748 = HEAP32[$747>>2]|0; + $749 = (_sqlite3DbMallocZero($748,80,0)|0); + $750 = HEAP32[$6>>2]|0; + $751 = ((($750)) + 16|0); + $752 = ((($751)) + 4|0); + HEAP32[$752>>2] = $749; break; } - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 48|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pPrior>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$9>>2]|0; - _sqlite3ExprListDelete($8,$10); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 28|0); - $14 = HEAP32[$13>>2]|0; - _sqlite3SrcListDelete($11,$14); - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 32|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3ExprDelete($15,$18); - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 36|0); - $22 = HEAP32[$21>>2]|0; - _sqlite3ExprListDelete($19,$22); - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 40|0); - $26 = HEAP32[$25>>2]|0; - _sqlite3ExprDelete($23,$26); - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 44|0); - $30 = HEAP32[$29>>2]|0; - _sqlite3ExprListDelete($27,$30); - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 56|0); - $34 = HEAP32[$33>>2]|0; - _sqlite3ExprDelete($31,$34); - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 60|0); - $38 = HEAP32[$37>>2]|0; - _sqlite3ExprDelete($35,$38); - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 64|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)!=(0|0); - if ($42) { - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 64|0); - $46 = HEAP32[$45>>2]|0; - _sqlite3WithDelete($43,$46); + case 98: { + $753 = HEAP32[$6>>2]|0; + $754 = ((($753)) + 4|0); + $755 = HEAP32[$754>>2]|0; + $756 = HEAP32[$6>>2]|0; + $757 = ((($756)) + -16|0); + $758 = ((($757)) + 4|0); + HEAP32[$758>>2] = $755; + $759 = HEAP32[$6>>2]|0; + $760 = ((($759)) + -16|0); + $761 = ((($760)) + 4|0); + $762 = HEAP32[$761>>2]|0; + _sqlite3SrcListShiftJoinType($762); + break; } - $47 = HEAP32[$2>>2]|0; - $48 = ($47|0)!=(0); - if ($48) { - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$1>>2]|0; - _sqlite3DbFree($49,$50); + case 99: { + $763 = HEAP32[$6>>2]|0; + $764 = ((($763)) + -16|0); + $765 = ((($764)) + 4|0); + $766 = HEAP32[$765>>2]|0; + $767 = ($766|0)!=(0|0); + if ($767) { + $768 = HEAP32[$6>>2]|0; + $769 = ((($768)) + -16|0); + $770 = ((($769)) + 4|0); + $771 = HEAP32[$770>>2]|0; + $772 = HEAP32[$771>>2]|0; + $773 = ($772|0)>(0); + if ($773) { + $774 = HEAP32[$6>>2]|0; + $775 = ((($774)) + 4|0); + $776 = HEAP32[$775>>2]|0; + $777 = $776&255; + $778 = HEAP32[$6>>2]|0; + $779 = ((($778)) + -16|0); + $780 = ((($779)) + 4|0); + $781 = HEAP32[$780>>2]|0; + $782 = ((($781)) + 8|0); + $783 = HEAP32[$6>>2]|0; + $784 = ((($783)) + -16|0); + $785 = ((($784)) + 4|0); + $786 = HEAP32[$785>>2]|0; + $787 = HEAP32[$786>>2]|0; + $788 = (($787) - 1)|0; + $789 = (($782) + (($788*72)|0)|0); + $790 = ((($789)) + 36|0); + HEAP8[$790>>0] = $777; + } + } + break; } - $51 = HEAP32[$pPrior>>2]|0; - HEAP32[$1>>2] = $51; - HEAP32[$2>>2] = 1; - } - STACKTOP = sp;return; -} -function _sqlite3SrcListDelete($db,$pList) { - $db = $db|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pItem = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $i = sp + 4|0; - $pItem = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pList; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - STACKTOP = sp;return; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 8|0); - HEAP32[$pItem>>2] = $5; - HEAP32[$i>>2] = 0; - while(1) { - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ($6|0)<($8|0); - $10 = HEAP32[$0>>2]|0; - if (!($9)) { + case 100: { + $791 = HEAP32[$6>>2]|0; + $792 = ((($791)) + 16|0); + $793 = ((($792)) + 4|0); + HEAP32[$793>>2] = 0; break; } - $11 = HEAP32[$pItem>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - _sqlite3DbFree($10,$13); - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$pItem>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - _sqlite3DbFree($14,$17); - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$pItem>>2]|0; - $20 = ((($19)) + 12|0); - $21 = HEAP32[$20>>2]|0; - _sqlite3DbFree($18,$21); - $22 = HEAP32[$pItem>>2]|0; - $23 = ((($22)) + 36|0); - $24 = ((($23)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25&255) >>> 1; - $27 = $26 & 1; - $28 = $27&255; - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$pItem>>2]|0; - $32 = ((($31)) + 64|0); - $33 = HEAP32[$32>>2]|0; - _sqlite3DbFree($30,$33); + case 101: { + $794 = HEAP32[$8>>2]|0; + $795 = HEAP32[$6>>2]|0; + $796 = ((($795)) + -96|0); + $797 = ((($796)) + 4|0); + $798 = HEAP32[$797>>2]|0; + $799 = HEAP32[$6>>2]|0; + $800 = ((($799)) + -80|0); + $801 = ((($800)) + 4|0); + $802 = HEAP32[$6>>2]|0; + $803 = ((($802)) + -64|0); + $804 = ((($803)) + 4|0); + $805 = HEAP32[$6>>2]|0; + $806 = ((($805)) + -48|0); + $807 = ((($806)) + 4|0); + $808 = HEAP32[$6>>2]|0; + $809 = ((($808)) + -16|0); + $810 = ((($809)) + 4|0); + $811 = HEAP32[$810>>2]|0; + $812 = HEAP32[$6>>2]|0; + $813 = ((($812)) + 4|0); + $814 = HEAP32[$813>>2]|0; + $815 = (_sqlite3SrcListAppendFromTerm($794,$798,$801,$804,$807,0,$811,$814)|0); + $816 = HEAP32[$6>>2]|0; + $817 = ((($816)) + -96|0); + $818 = ((($817)) + 4|0); + HEAP32[$818>>2] = $815; + $819 = HEAP32[$8>>2]|0; + $820 = HEAP32[$6>>2]|0; + $821 = ((($820)) + -96|0); + $822 = ((($821)) + 4|0); + $823 = HEAP32[$822>>2]|0; + $824 = HEAP32[$6>>2]|0; + $825 = ((($824)) + -32|0); + $826 = ((($825)) + 4|0); + _sqlite3SrcListIndexedBy($819,$823,$826); + break; } - $34 = HEAP32[$pItem>>2]|0; - $35 = ((($34)) + 36|0); - $36 = ((($35)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37&255) >>> 2; - $39 = $38 & 1; - $40 = $39&255; - $41 = ($40|0)!=(0); - if ($41) { - $42 = HEAP32[$0>>2]|0; - $43 = HEAP32[$pItem>>2]|0; - $44 = ((($43)) + 64|0); - $45 = HEAP32[$44>>2]|0; - _sqlite3ExprListDelete($42,$45); + case 102: { + $827 = HEAP32[$8>>2]|0; + $828 = HEAP32[$6>>2]|0; + $829 = ((($828)) + -128|0); + $830 = ((($829)) + 4|0); + $831 = HEAP32[$830>>2]|0; + $832 = HEAP32[$6>>2]|0; + $833 = ((($832)) + -112|0); + $834 = ((($833)) + 4|0); + $835 = HEAP32[$6>>2]|0; + $836 = ((($835)) + -96|0); + $837 = ((($836)) + 4|0); + $838 = HEAP32[$6>>2]|0; + $839 = ((($838)) + -32|0); + $840 = ((($839)) + 4|0); + $841 = HEAP32[$6>>2]|0; + $842 = ((($841)) + -16|0); + $843 = ((($842)) + 4|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[$6>>2]|0; + $846 = ((($845)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = (_sqlite3SrcListAppendFromTerm($827,$831,$834,$837,$840,0,$844,$847)|0); + $849 = HEAP32[$6>>2]|0; + $850 = ((($849)) + -128|0); + $851 = ((($850)) + 4|0); + HEAP32[$851>>2] = $848; + $852 = HEAP32[$8>>2]|0; + $853 = HEAP32[$6>>2]|0; + $854 = ((($853)) + -128|0); + $855 = ((($854)) + 4|0); + $856 = HEAP32[$855>>2]|0; + $857 = HEAP32[$6>>2]|0; + $858 = ((($857)) + -64|0); + $859 = ((($858)) + 4|0); + $860 = HEAP32[$859>>2]|0; + _sqlite3SrcListFuncArgs($852,$856,$860); + break; } - $46 = HEAP32[$0>>2]|0; - $47 = HEAP32[$pItem>>2]|0; - $48 = ((($47)) + 16|0); - $49 = HEAP32[$48>>2]|0; - _sqlite3DeleteTable($46,$49); - $50 = HEAP32[$0>>2]|0; - $51 = HEAP32[$pItem>>2]|0; - $52 = ((($51)) + 20|0); - $53 = HEAP32[$52>>2]|0; - _sqlite3SelectDelete($50,$53); - $54 = HEAP32[$0>>2]|0; - $55 = HEAP32[$pItem>>2]|0; - $56 = ((($55)) + 48|0); - $57 = HEAP32[$56>>2]|0; - _sqlite3ExprDelete($54,$57); - $58 = HEAP32[$0>>2]|0; - $59 = HEAP32[$pItem>>2]|0; - $60 = ((($59)) + 52|0); - $61 = HEAP32[$60>>2]|0; - _sqlite3IdListDelete($58,$61); - $62 = HEAP32[$i>>2]|0; - $63 = (($62) + 1)|0; - HEAP32[$i>>2] = $63; - $64 = HEAP32[$pItem>>2]|0; - $65 = ((($64)) + 72|0); - HEAP32[$pItem>>2] = $65; - } - $66 = HEAP32[$1>>2]|0; - _sqlite3DbFree($10,$66); - STACKTOP = sp;return; -} -function _sqlite3ExprDelete($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; - } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - _sqlite3ExprDeleteNN($4,$5); - STACKTOP = sp;return; -} -function _sqlite3ExprDeleteNN($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 8404992; - $6 = ($5|0)!=(0); - do { - if (!($6)) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(159); - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3ExprDeleteNN($15,$18); + case 103: { + $861 = HEAP32[$8>>2]|0; + $862 = HEAP32[$6>>2]|0; + $863 = ((($862)) + -96|0); + $864 = ((($863)) + 4|0); + $865 = HEAP32[$864>>2]|0; + $866 = HEAP32[$6>>2]|0; + $867 = ((($866)) + -32|0); + $868 = ((($867)) + 4|0); + $869 = HEAP32[$6>>2]|0; + $870 = ((($869)) + -64|0); + $871 = ((($870)) + 4|0); + $872 = HEAP32[$871>>2]|0; + $873 = HEAP32[$6>>2]|0; + $874 = ((($873)) + -16|0); + $875 = ((($874)) + 4|0); + $876 = HEAP32[$875>>2]|0; + $877 = HEAP32[$6>>2]|0; + $878 = ((($877)) + 4|0); + $879 = HEAP32[$878>>2]|0; + $880 = (_sqlite3SrcListAppendFromTerm($861,$865,0,0,$868,$872,$876,$879)|0); + $881 = HEAP32[$6>>2]|0; + $882 = ((($881)) + -96|0); + $883 = ((($882)) + 4|0); + HEAP32[$883>>2] = $880; + break; + } + case 104: { + $884 = HEAP32[$6>>2]|0; + $885 = ((($884)) + -96|0); + $886 = ((($885)) + 4|0); + $887 = HEAP32[$886>>2]|0; + $888 = ($887|0)==(0|0); + if ($888) { + $889 = HEAP32[$6>>2]|0; + $890 = ((($889)) + -32|0); + $891 = ((($890)) + 4|0); + $892 = ((($891)) + 4|0); + $893 = HEAP32[$892>>2]|0; + $894 = ($893|0)==(0); + if ($894) { + $895 = HEAP32[$6>>2]|0; + $896 = ((($895)) + -16|0); + $897 = ((($896)) + 4|0); + $898 = HEAP32[$897>>2]|0; + $899 = ($898|0)==(0|0); + if ($899) { + $900 = HEAP32[$6>>2]|0; + $901 = ((($900)) + 4|0); + $902 = HEAP32[$901>>2]|0; + $903 = ($902|0)==(0|0); + if ($903) { + $904 = HEAP32[$6>>2]|0; + $905 = ((($904)) + -64|0); + $906 = ((($905)) + 4|0); + $907 = HEAP32[$906>>2]|0; + $908 = HEAP32[$6>>2]|0; + $909 = ((($908)) + -96|0); + $910 = ((($909)) + 4|0); + HEAP32[$910>>2] = $907; + break L6; + } + } } } - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$21>>2]|0; - _sqlite3ExprDelete($19,$22); - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = $25 & 2048; - $27 = ($26|0)!=(0); - $28 = HEAP32[$0>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 20|0); - if ($27) { - $31 = HEAP32[$30>>2]|0; - _sqlite3SelectDelete($28,$31); - break; - } else { - $32 = HEAP32[$30>>2]|0; - _sqlite3ExprListDelete($28,$32); - break; + $911 = HEAP32[$6>>2]|0; + $912 = ((($911)) + -64|0); + $913 = ((($912)) + 4|0); + $914 = HEAP32[$913>>2]|0; + $915 = HEAP32[$914>>2]|0; + $916 = ($915|0)==(1); + if (!($916)) { + $985 = HEAP32[$6>>2]|0; + $986 = ((($985)) + -64|0); + $987 = ((($986)) + 4|0); + $988 = HEAP32[$987>>2]|0; + _sqlite3SrcListShiftJoinType($988); + $989 = HEAP32[$8>>2]|0; + $990 = HEAP32[$6>>2]|0; + $991 = ((($990)) + -64|0); + $992 = ((($991)) + 4|0); + $993 = HEAP32[$992>>2]|0; + $994 = (_sqlite3SelectNew($989,0,$993,0,0,0,0,2048,0,0)|0); + HEAP32[$26>>2] = $994; + $995 = HEAP32[$8>>2]|0; + $996 = HEAP32[$6>>2]|0; + $997 = ((($996)) + -96|0); + $998 = ((($997)) + 4|0); + $999 = HEAP32[$998>>2]|0; + $1000 = HEAP32[$6>>2]|0; + $1001 = ((($1000)) + -32|0); + $1002 = ((($1001)) + 4|0); + $1003 = HEAP32[$26>>2]|0; + $1004 = HEAP32[$6>>2]|0; + $1005 = ((($1004)) + -16|0); + $1006 = ((($1005)) + 4|0); + $1007 = HEAP32[$1006>>2]|0; + $1008 = HEAP32[$6>>2]|0; + $1009 = ((($1008)) + 4|0); + $1010 = HEAP32[$1009>>2]|0; + $1011 = (_sqlite3SrcListAppendFromTerm($995,$999,0,0,$1002,$1003,$1007,$1010)|0); + $1012 = HEAP32[$6>>2]|0; + $1013 = ((($1012)) + -96|0); + $1014 = ((($1013)) + 4|0); + HEAP32[$1014>>2] = $1011; + break L6; } + $917 = HEAP32[$8>>2]|0; + $918 = HEAP32[$6>>2]|0; + $919 = ((($918)) + -96|0); + $920 = ((($919)) + 4|0); + $921 = HEAP32[$920>>2]|0; + $922 = HEAP32[$6>>2]|0; + $923 = ((($922)) + -32|0); + $924 = ((($923)) + 4|0); + $925 = HEAP32[$6>>2]|0; + $926 = ((($925)) + -16|0); + $927 = ((($926)) + 4|0); + $928 = HEAP32[$927>>2]|0; + $929 = HEAP32[$6>>2]|0; + $930 = ((($929)) + 4|0); + $931 = HEAP32[$930>>2]|0; + $932 = (_sqlite3SrcListAppendFromTerm($917,$921,0,0,$924,0,$928,$931)|0); + $933 = HEAP32[$6>>2]|0; + $934 = ((($933)) + -96|0); + $935 = ((($934)) + 4|0); + HEAP32[$935>>2] = $932; + $936 = HEAP32[$6>>2]|0; + $937 = ((($936)) + -96|0); + $938 = ((($937)) + 4|0); + $939 = HEAP32[$938>>2]|0; + $940 = ($939|0)!=(0|0); + if ($940) { + $941 = HEAP32[$6>>2]|0; + $942 = ((($941)) + -96|0); + $943 = ((($942)) + 4|0); + $944 = HEAP32[$943>>2]|0; + $945 = ((($944)) + 8|0); + $946 = HEAP32[$6>>2]|0; + $947 = ((($946)) + -96|0); + $948 = ((($947)) + 4|0); + $949 = HEAP32[$948>>2]|0; + $950 = HEAP32[$949>>2]|0; + $951 = (($950) - 1)|0; + $952 = (($945) + (($951*72)|0)|0); + HEAP32[$24>>2] = $952; + $953 = HEAP32[$6>>2]|0; + $954 = ((($953)) + -64|0); + $955 = ((($954)) + 4|0); + $956 = HEAP32[$955>>2]|0; + $957 = ((($956)) + 8|0); + HEAP32[$25>>2] = $957; + $958 = HEAP32[$25>>2]|0; + $959 = ((($958)) + 8|0); + $960 = HEAP32[$959>>2]|0; + $961 = HEAP32[$24>>2]|0; + $962 = ((($961)) + 8|0); + HEAP32[$962>>2] = $960; + $963 = HEAP32[$25>>2]|0; + $964 = ((($963)) + 4|0); + $965 = HEAP32[$964>>2]|0; + $966 = HEAP32[$24>>2]|0; + $967 = ((($966)) + 4|0); + HEAP32[$967>>2] = $965; + $968 = HEAP32[$25>>2]|0; + $969 = ((($968)) + 20|0); + $970 = HEAP32[$969>>2]|0; + $971 = HEAP32[$24>>2]|0; + $972 = ((($971)) + 20|0); + HEAP32[$972>>2] = $970; + $973 = HEAP32[$25>>2]|0; + $974 = ((($973)) + 4|0); + HEAP32[$974>>2] = 0; + $975 = HEAP32[$25>>2]|0; + $976 = ((($975)) + 8|0); + HEAP32[$976>>2] = 0; + $977 = HEAP32[$25>>2]|0; + $978 = ((($977)) + 20|0); + HEAP32[$978>>2] = 0; + } + $979 = HEAP32[$8>>2]|0; + $980 = HEAP32[$979>>2]|0; + $981 = HEAP32[$6>>2]|0; + $982 = ((($981)) + -64|0); + $983 = ((($982)) + 4|0); + $984 = HEAP32[$983>>2]|0; + _sqlite3SrcListDelete($980,$984); + break; } - } while(0); - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 & 65536; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 8|0); - $41 = HEAP32[$40>>2]|0; - _sqlite3DbFree($38,$41); - } - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = $44 & 32768; - $46 = ($45|0)!=(0); - if ($46) { - STACKTOP = sp;return; - } - $47 = HEAP32[$0>>2]|0; - $48 = HEAP32[$1>>2]|0; - _sqlite3DbFree($47,$48); - STACKTOP = sp;return; -} -function _sqlite3IdListDelete($db,$pList) { - $db = $db|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pList; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($4|0)<($7|0); - $9 = HEAP32[$0>>2]|0; - if (!($8)) { + case 114: case 105: { + $1015 = HEAP32[$6>>2]|0; + $1016 = ((($1015)) + 16|0); + $1017 = ((($1016)) + 4|0); + HEAP32[$1017>>2] = 0; + $1018 = HEAP32[$6>>2]|0; + $1019 = ((($1018)) + 16|0); + $1020 = ((($1019)) + 4|0); + $1021 = ((($1020)) + 4|0); + HEAP32[$1021>>2] = 0; break; } - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($10<<3)|0); - $14 = HEAP32[$13>>2]|0; - _sqlite3DbFree($9,$14); - $15 = HEAP32[$i>>2]|0; - $16 = (($15) + 1)|0; - HEAP32[$i>>2] = $16; - } - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$17>>2]|0; - _sqlite3DbFree($9,$18); - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$1>>2]|0; - _sqlite3DbFree($19,$20); - STACKTOP = sp;return; -} -function _exprListDeleteNN($db,$pList) { - $db = $db|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pItem = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $i = sp + 4|0; - $pItem = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pList; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pItem>>2] = $4; - HEAP32[$i>>2] = 0; - while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ($5|0)<($7|0); - $9 = HEAP32[$0>>2]|0; - if (!($8)) { + case 107: { + $1022 = HEAP32[$8>>2]|0; + $1023 = HEAP32[$1022>>2]|0; + $1024 = HEAP32[$6>>2]|0; + $1025 = ((($1024)) + -16|0); + $1026 = ((($1025)) + 4|0); + $1027 = HEAP32[$6>>2]|0; + $1028 = ((($1027)) + 4|0); + $1029 = (_sqlite3SrcListAppend($1023,0,$1026,$1028)|0); + $1030 = HEAP32[$6>>2]|0; + $1031 = ((($1030)) + -16|0); + $1032 = ((($1031)) + 4|0); + HEAP32[$1032>>2] = $1029; break; } - $10 = HEAP32[$pItem>>2]|0; - $11 = HEAP32[$10>>2]|0; - _sqlite3ExprDelete($9,$11); - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$pItem>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - _sqlite3DbFree($12,$15); - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$pItem>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - _sqlite3DbFree($16,$19); - $20 = HEAP32[$i>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[$i>>2] = $21; - $22 = HEAP32[$pItem>>2]|0; - $23 = ((($22)) + 20|0); - HEAP32[$pItem>>2] = $23; - } - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - _sqlite3DbFree($9,$26); - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$1>>2]|0; - _sqlite3DbFree($27,$28); - STACKTOP = sp;return; -} -function _yy_pop_parser_stack($pParser) { - $pParser = $pParser|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $yytos = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $yytos = sp; - HEAP32[$0>>2] = $pParser; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + -16|0); - HEAP32[$1>>2] = $3; - HEAP32[$yytos>>2] = $2; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$yytos>>2]|0; - $6 = ((($5)) + 2|0); - $7 = HEAP8[$6>>0]|0; - $8 = HEAP32[$yytos>>2]|0; - $9 = ((($8)) + 4|0); - _yy_destructor($4,$7,$9); - STACKTOP = sp;return; -} -function _yy_destructor($yypParser,$yymajor,$yypminor) { - $yypParser = $yypParser|0; - $yymajor = $yymajor|0; - $yypminor = $yypminor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pParse = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 12|0; - $2 = sp + 4|0; - $pParse = sp; - HEAP32[$0>>2] = $yypParser; - HEAP8[$1>>0] = $yymajor; - HEAP32[$2>>2] = $yypminor; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pParse>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $7 = $6&255; - do { - switch ($7|0) { - case 206: case 195: case 194: case 163: { - $8 = HEAP32[$pParse>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - _sqlite3SelectDelete($9,$11); - STACKTOP = sp;return; + case 108: { + $1033 = HEAP32[$6>>2]|0; + $1034 = ((($1033)) + 4|0); + HEAP32[$1034>>2] = 1; break; } - case 173: case 172: { - $12 = HEAP32[$pParse>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$14>>2]|0; - _sqlite3ExprDelete($13,$15); - STACKTOP = sp;return; + case 109: { + $1035 = HEAP32[$8>>2]|0; + $1036 = HEAP32[$6>>2]|0; + $1037 = ((($1036)) + -16|0); + $1038 = ((($1037)) + 4|0); + $1039 = (_sqlite3JoinType($1035,$1038,0,0)|0); + $1040 = HEAP32[$6>>2]|0; + $1041 = ((($1040)) + -16|0); + $1042 = ((($1041)) + 4|0); + HEAP32[$1042>>2] = $1039; break; } - case 226: case 224: case 218: case 209: case 208: case 207: case 204: case 202: case 199: case 187: case 186: case 177: { - $16 = HEAP32[$pParse>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$18>>2]|0; - _sqlite3ExprListDelete($17,$19); - STACKTOP = sp;return; + case 110: { + $1043 = HEAP32[$8>>2]|0; + $1044 = HEAP32[$6>>2]|0; + $1045 = ((($1044)) + -32|0); + $1046 = ((($1045)) + 4|0); + $1047 = HEAP32[$6>>2]|0; + $1048 = ((($1047)) + -16|0); + $1049 = ((($1048)) + 4|0); + $1050 = (_sqlite3JoinType($1043,$1046,$1049,0)|0); + $1051 = HEAP32[$6>>2]|0; + $1052 = ((($1051)) + -32|0); + $1053 = ((($1052)) + 4|0); + HEAP32[$1053>>2] = $1050; break; } - case 212: case 211: case 200: case 193: { - $20 = HEAP32[$pParse>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$22>>2]|0; - _sqlite3SrcListDelete($21,$23); - STACKTOP = sp;return; + case 111: { + $1054 = HEAP32[$8>>2]|0; + $1055 = HEAP32[$6>>2]|0; + $1056 = ((($1055)) + -48|0); + $1057 = ((($1056)) + 4|0); + $1058 = HEAP32[$6>>2]|0; + $1059 = ((($1058)) + -32|0); + $1060 = ((($1059)) + 4|0); + $1061 = HEAP32[$6>>2]|0; + $1062 = ((($1061)) + -16|0); + $1063 = ((($1062)) + 4|0); + $1064 = (_sqlite3JoinType($1054,$1057,$1060,$1063)|0); + $1065 = HEAP32[$6>>2]|0; + $1066 = ((($1065)) + -48|0); + $1067 = ((($1066)) + 4|0); + HEAP32[$1067>>2] = $1064; break; } - case 250: case 196: { - $24 = HEAP32[$pParse>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = HEAP32[$26>>2]|0; - _sqlite3WithDelete($25,$27); - STACKTOP = sp;return; + case 199: case 136: case 129: case 112: { + $1068 = HEAP32[$6>>2]|0; + $1069 = ((($1068)) + 4|0); + $1070 = HEAP32[$1069>>2]|0; + $1071 = HEAP32[$6>>2]|0; + $1072 = ((($1071)) + -16|0); + $1073 = ((($1072)) + 4|0); + HEAP32[$1073>>2] = $1070; break; } - case 241: case 236: case 227: case 225: case 215: case 203: case 201: { - $28 = HEAP32[$pParse>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$30>>2]|0; - _sqlite3ExprDelete($29,$31); - STACKTOP = sp;return; + case 202: case 200: case 135: case 128: case 113: { + $1074 = HEAP32[$6>>2]|0; + $1075 = ((($1074)) + 16|0); + $1076 = ((($1075)) + 4|0); + HEAP32[$1076>>2] = 0; break; } - case 220: case 217: case 216: { - $32 = HEAP32[$pParse>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = HEAP32[$34>>2]|0; - _sqlite3IdListDelete($33,$35); - STACKTOP = sp;return; + case 115: { + $1077 = HEAP32[$6>>2]|0; + $1078 = ((($1077)) + -32|0); + $1079 = ((($1078)) + 4|0); + $1080 = HEAP32[$6>>2]|0; + $1081 = ((($1080)) + 4|0); + ;HEAP32[$1079>>2]=HEAP32[$1081>>2]|0;HEAP32[$1079+4>>2]=HEAP32[$1081+4>>2]|0; break; } - case 237: case 232: { - $36 = HEAP32[$pParse>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$38>>2]|0; - _sqlite3DeleteTriggerStep($37,$39); - STACKTOP = sp;return; + case 116: { + $1082 = HEAP32[$6>>2]|0; + $1083 = ((($1082)) + -16|0); + $1084 = ((($1083)) + 4|0); + HEAP32[$1084>>2] = 0; + $1085 = HEAP32[$6>>2]|0; + $1086 = ((($1085)) + -16|0); + $1087 = ((($1086)) + 4|0); + $1088 = ((($1087)) + 4|0); + HEAP32[$1088>>2] = 1; break; } - case 234: { - $40 = HEAP32[$pParse>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$2>>2]|0; - $43 = ((($42)) + 4|0); - $44 = HEAP32[$43>>2]|0; - _sqlite3IdListDelete($41,$44); - STACKTOP = sp;return; + case 117: { + $1089 = HEAP32[$6>>2]|0; + $1090 = ((($1089)) + -16|0); + $1091 = ((($1090)) + 4|0); + $1092 = HEAP32[$1091>>2]|0; + $1093 = HEAP32[$6>>2]|0; + $1094 = ((($1093)) + -48|0); + $1095 = ((($1094)) + 4|0); + HEAP32[$1095>>2] = $1092; break; } - default: { - STACKTOP = sp;return; + case 146: case 118: { + $1096 = HEAP32[$6>>2]|0; + $1097 = ((($1096)) + 16|0); + $1098 = ((($1097)) + 4|0); + HEAP32[$1098>>2] = 0; + break; } + case 127: case 120: { + $1099 = HEAP32[$6>>2]|0; + $1100 = ((($1099)) + 4|0); + $1101 = HEAP32[$1100>>2]|0; + $1102 = HEAP32[$6>>2]|0; + $1103 = ((($1102)) + -32|0); + $1104 = ((($1103)) + 4|0); + HEAP32[$1104>>2] = $1101; + break; } - } while(0); -} -function _sqlite3DeleteTriggerStep($db,$pTriggerStep) { - $db = $db|0; - $pTriggerStep = $pTriggerStep|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pTmp = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTriggerStep; - while(1) { - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { + case 121: { + $1105 = HEAP32[$8>>2]|0; + $1106 = HEAP32[$6>>2]|0; + $1107 = ((($1106)) + -48|0); + $1108 = ((($1107)) + 4|0); + $1109 = HEAP32[$1108>>2]|0; + $1110 = HEAP32[$6>>2]|0; + $1111 = ((($1110)) + -16|0); + $1112 = ((($1111)) + 4|0); + $1113 = HEAP32[$1112>>2]|0; + $1114 = (_sqlite3ExprListAppend($1105,$1109,$1113)|0); + $1115 = HEAP32[$6>>2]|0; + $1116 = ((($1115)) + -48|0); + $1117 = ((($1116)) + 4|0); + HEAP32[$1117>>2] = $1114; + $1118 = HEAP32[$6>>2]|0; + $1119 = ((($1118)) + -48|0); + $1120 = ((($1119)) + 4|0); + $1121 = HEAP32[$1120>>2]|0; + $1122 = HEAP32[$6>>2]|0; + $1123 = ((($1122)) + 4|0); + $1124 = HEAP32[$1123>>2]|0; + _sqlite3ExprListSetSortOrder($1121,$1124); break; } - $4 = HEAP32[$1>>2]|0; - HEAP32[$pTmp>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 28|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$1>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$pTmp>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - _sqlite3ExprDelete($8,$11); - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$pTmp>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - _sqlite3ExprListDelete($12,$15); - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$pTmp>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - _sqlite3SelectDelete($16,$19); - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$pTmp>>2]|0; - $22 = ((($21)) + 24|0); - $23 = HEAP32[$22>>2]|0; - _sqlite3IdListDelete($20,$23); - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$pTmp>>2]|0; - _sqlite3DbFree($24,$25); - } - STACKTOP = sp;return; -} -function _yy_find_shift_action($pParser,$iLookAhead) { - $pParser = $pParser|0; - $iLookAhead = $iLookAhead|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iFallback = 0, $j = 0, $or$cond = 0, $stateno = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 21|0; - $i = sp + 8|0; - $stateno = sp + 4|0; - $iFallback = sp + 20|0; - $j = sp; - HEAP32[$1>>2] = $pParser; - HEAP8[$2>>0] = $iLookAhead; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - HEAP32[$stateno>>2] = $6; - $7 = HEAP32[$stateno>>2]|0; - $8 = ($7|0)>=(1000); - if ($8) { - $9 = HEAP32[$stateno>>2]|0; - HEAP32[$0>>2] = $9; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); - } - while(1) { - $10 = HEAP32[$stateno>>2]|0; - $11 = (14594 + ($10<<1)|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12 << 16 >> 16; - HEAP32[$i>>2] = $13; - $14 = HEAP8[$2>>0]|0; - $15 = $14&255; - $16 = HEAP32[$i>>2]|0; - $17 = (($16) + ($15))|0; - HEAP32[$i>>2] = $17; - $18 = HEAP32[$i>>2]|0; - $19 = ($18|0)<(0); - $20 = HEAP32[$i>>2]|0; - $21 = ($20|0)>=(1567); - $or$cond = $19 | $21; - if (!($or$cond)) { - $22 = HEAP32[$i>>2]|0; - $23 = (37619 + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = HEAP8[$2>>0]|0; - $27 = $26&255; - $28 = ($25|0)!=($27|0); - if (!($28)) { - label = 13; - break; - } + case 122: { + $1125 = HEAP32[$8>>2]|0; + $1126 = HEAP32[$6>>2]|0; + $1127 = ((($1126)) + -16|0); + $1128 = ((($1127)) + 4|0); + $1129 = HEAP32[$1128>>2]|0; + $1130 = (_sqlite3ExprListAppend($1125,0,$1129)|0); + $1131 = HEAP32[$6>>2]|0; + $1132 = ((($1131)) + -16|0); + $1133 = ((($1132)) + 4|0); + HEAP32[$1133>>2] = $1130; + $1134 = HEAP32[$6>>2]|0; + $1135 = ((($1134)) + -16|0); + $1136 = ((($1135)) + 4|0); + $1137 = HEAP32[$1136>>2]|0; + $1138 = HEAP32[$6>>2]|0; + $1139 = ((($1138)) + 4|0); + $1140 = HEAP32[$1139>>2]|0; + _sqlite3ExprListSetSortOrder($1137,$1140); + break; } - $29 = HEAP8[$2>>0]|0; - $30 = $29&255; - $31 = ($30>>>0)<(96); - if (!($31)) { + case 123: { + $1141 = HEAP32[$6>>2]|0; + $1142 = ((($1141)) + 4|0); + HEAP32[$1142>>2] = 0; break; } - $32 = HEAP8[$2>>0]|0; - $33 = $32&255; - $34 = (39186 + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$iFallback>>0] = $35; - $36 = $35&255; - $37 = ($36|0)!=(0); - if (!($37)) { + case 124: { + $1143 = HEAP32[$6>>2]|0; + $1144 = ((($1143)) + 4|0); + HEAP32[$1144>>2] = 1; break; } - $38 = HEAP8[$iFallback>>0]|0; - HEAP8[$2>>0] = $38; - } - if ((label|0) == 13) { - $62 = HEAP32[$i>>2]|0; - $63 = (11456 + ($62<<1)|0); - $64 = HEAP16[$63>>1]|0; - $65 = $64&65535; - HEAP32[$0>>2] = $65; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); - } - $39 = HEAP32[$i>>2]|0; - $40 = HEAP8[$2>>0]|0; - $41 = $40&255; - $42 = (($39) - ($41))|0; - $43 = (($42) + 96)|0; - HEAP32[$j>>2] = $43; - $44 = HEAP32[$j>>2]|0; - $45 = ($44|0)<(1567); - if ($45) { - $46 = HEAP32[$j>>2]|0; - $47 = (37619 + ($46)|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - $50 = ($49|0)==(96); - if ($50) { - $51 = HEAP8[$2>>0]|0; - $52 = $51&255; - $53 = ($52|0)>(0); - if ($53) { - $54 = HEAP32[$j>>2]|0; - $55 = (11456 + ($54<<1)|0); - $56 = HEAP16[$55>>1]|0; - $57 = $56&65535; - HEAP32[$0>>2] = $57; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); - } + case 125: { + $1145 = HEAP32[$6>>2]|0; + $1146 = ((($1145)) + 16|0); + $1147 = ((($1146)) + 4|0); + HEAP32[$1147>>2] = -1; + break; } - } - $58 = HEAP32[$stateno>>2]|0; - $59 = (15506 + ($58<<1)|0); - $60 = HEAP16[$59>>1]|0; - $61 = $60&65535; - HEAP32[$0>>2] = $61; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); -} -function _yy_shift($yypParser,$yyNewState,$yyMajor,$yyMinor) { - $yypParser = $yypParser|0; - $yyNewState = $yyNewState|0; - $yyMajor = $yyMajor|0; - $yyMinor = $yyMinor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $yytos = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $yytos = sp; - HEAP32[$0>>2] = $yypParser; - HEAP32[$1>>2] = $yyNewState; - HEAP32[$2>>2] = $yyMajor; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 16|0); - HEAP32[$3>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 8|0); - $10 = ((($9)) + 1600|0); - $11 = ($7>>>0)>=($10>>>0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - _yyStackOverflow($12); - STACKTOP = sp;return; - } - $13 = HEAP32[$1>>2]|0; - $14 = ($13|0)>(455); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 332)|0; - HEAP32[$1>>2] = $16; - } - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$yytos>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = $19&65535; - $21 = HEAP32[$yytos>>2]|0; - HEAP16[$21>>1] = $20; - $22 = HEAP32[$2>>2]|0; - $23 = $22&255; - $24 = HEAP32[$yytos>>2]|0; - $25 = ((($24)) + 2|0); - HEAP8[$25>>0] = $23; - $26 = HEAP32[$yytos>>2]|0; - $27 = ((($26)) + 4|0); - ;HEAP32[$27>>2]=HEAP32[$yyMinor>>2]|0;HEAP32[$27+4>>2]=HEAP32[$yyMinor+4>>2]|0; - STACKTOP = sp;return; -} -function _yy_reduce($yypParser,$yyruleno) { - $yypParser = $yypParser|0; - $yyruleno = $yyruleno|0; - var $$byval_copy16 = 0, $0 = 0, $1 = 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, $1011 = 0, $1012 = 0, $1013 = 0; - var $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, $103 = 0, $1030 = 0, $1031 = 0; - var $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, $1048 = 0, $1049 = 0, $105 = 0; - var $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, $1066 = 0, $1067 = 0, $1068 = 0; - var $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, $1084 = 0, $1085 = 0, $1086 = 0; - var $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0; - var $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0; - var $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0; - var $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0; - var $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0; - var $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0; - var $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0; - var $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0; - var $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0; - var $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0; - var $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0; - var $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0; - var $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0; - var $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0; - var $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0; - var $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0; - var $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0; - var $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0; - var $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0; - var $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0; - var $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0; - var $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0; - var $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0; - var $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0; - var $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0; - var $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0; - var $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0; - var $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0; - var $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0; - var $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0; - var $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0; - var $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0; - var $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0; - var $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0; - var $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0; - var $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0; - var $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0; - var $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0; - var $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0; - var $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0; - var $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0; - var $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0; - var $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0; - var $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0; - var $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0; - var $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0; - var $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0; - var $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0; - var $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0; - var $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0; - var $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0; - var $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0; - var $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0; - var $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0; - var $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0; - var $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0; - var $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0; - var $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0; - var $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0; - var $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0; - var $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0; - var $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0; - var $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0; - var $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0; - var $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0; - var $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0; - var $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0; - var $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0; - var $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0; - var $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0; - var $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0; - var $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0; - var $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0; - var $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0; - var $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0; - var $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0; - var $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0; - var $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0; - var $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0; - var $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0; - var $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0; - var $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0; - var $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0; - var $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0; - var $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0; - var $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0; - var $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0; - var $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0; - var $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0; - var $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0; - var $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0; - var $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0; - var $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0; - var $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0; - var $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0; - var $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0; - var $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0; - var $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0; - var $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0; - var $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0; - var $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0; - var $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0; - var $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0; - var $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, $32 = 0; - var $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, $338 = 0; - var $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, $356 = 0; - var $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, $374 = 0; - var $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, $392 = 0; - var $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, $41 = 0; - var $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, $428 = 0; - var $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, $446 = 0; - var $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, $464 = 0; - var $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0; - var $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0; - var $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0; - var $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0; - var $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, $554 = 0; - var $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, $572 = 0; - var $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, $590 = 0; - var $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, $608 = 0; - var $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0; - var $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, $644 = 0; - var $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0; - var $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, $680 = 0; - var $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, $699 = 0; - var $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, $716 = 0; - var $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, $734 = 0; - var $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0; - var $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, $770 = 0; - var $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, $789 = 0; - var $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, $806 = 0; - var $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, $824 = 0; - var $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, $842 = 0; - var $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, $860 = 0; - var $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, $879 = 0; - var $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, $897 = 0; - var $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, $914 = 0; - var $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, $932 = 0; - var $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, $950 = 0; - var $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, $969 = 0; - var $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, $987 = 0; - var $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, $all = 0, $bNot = 0, $bNot9 = 0, $dest = 0, $n = 0, $p = 0, $p11 = 0; - var $p2 = 0, $pDot = 0, $pFrom = 0, $pLeft = 0, $pLeft4 = 0, $pLhs = 0, $pList = 0, $pList10 = 0, $pList7 = 0, $pList8 = 0, $pNew = 0, $pOld = 0, $pParse = 0, $pRHS = 0, $pRhs = 0, $pRight = 0, $pRight3 = 0, $pSelect = 0, $pSrc = 0, $pSubquery = 0; - var $t = 0, $temp1 = 0, $temp15 = 0, $temp2 = 0, $temp26 = 0, $temp3 = 0, $temp4 = 0, $v = 0, $v1 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer12 = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $x = 0, $yyact = 0, $yygoto = 0, $yylhsminor = 0; - var $yymsp = 0, $yysize = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; - $$byval_copy16 = sp + 280|0; - $vararg_buffer12 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 276|0; - $1 = sp + 272|0; - $yygoto = sp + 268|0; - $yyact = sp + 264|0; - $yymsp = sp + 260|0; - $yysize = sp + 256|0; - $pParse = sp + 252|0; - $yylhsminor = sp + 240|0; - $v = sp + 228|0; - $v1 = sp + 216|0; - $dest = sp + 192|0; - $p = sp + 188|0; - $pRhs = sp + 184|0; - $pLhs = sp + 180|0; - $pFrom = sp + 176|0; - $x = sp + 168|0; - $pRight = sp + 164|0; - $pLeft = sp + 160|0; - $p2 = sp + 156|0; - $pRight3 = sp + 152|0; - $pLeft4 = sp + 148|0; - $pDot = sp + 144|0; - $pNew = sp + 140|0; - $pOld = sp + 136|0; - $pSubquery = sp + 132|0; - $temp1 = sp + 128|0; - $temp2 = sp + 124|0; - $temp15 = sp + 120|0; - $temp26 = sp + 116|0; - $temp3 = sp + 112|0; - $temp4 = sp + 108|0; - $n = sp + 104|0; - $t = sp + 96|0; - $pList = sp + 92|0; - $pList7 = sp + 88|0; - $bNot = sp + 84|0; - $pList8 = sp + 80|0; - $bNot9 = sp + 76|0; - $pList10 = sp + 72|0; - $pRHS = sp + 68|0; - $pSrc = sp + 64|0; - $pSelect = sp + 60|0; - $p11 = sp + 56|0; - $all = sp + 48|0; - HEAP32[$0>>2] = $yypParser; - HEAP32[$1>>2] = $yyruleno; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pParse>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$yymsp>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = (26486 + ($7<<1)|0); - $9 = ((($8)) + 1|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)==(0); - if ($12) { - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 8|0); - $17 = ((($16)) + 1584|0); - $18 = ($14>>>0)>=($17>>>0); - if ($18) { - $19 = HEAP32[$0>>2]|0; - _yyStackOverflow($19); - STACKTOP = sp;return; + case 130: { + $1148 = HEAP32[$6>>2]|0; + $1149 = ((($1148)) + 16|0); + $1150 = ((($1149)) + 4|0); + HEAP32[$1150>>2] = 0; + $1151 = HEAP32[$6>>2]|0; + $1152 = ((($1151)) + 16|0); + $1153 = ((($1152)) + 4|0); + $1154 = ((($1153)) + 4|0); + HEAP32[$1154>>2] = 0; + break; } - } - $20 = HEAP32[$1>>2]|0; - L6: do { - switch ($20|0) { - case 0: { - $21 = HEAP32[$pParse>>2]|0; - $22 = ((($21)) + 409|0); - HEAP8[$22>>0] = 1; + case 131: { + $1155 = HEAP32[$6>>2]|0; + $1156 = ((($1155)) + 4|0); + $1157 = HEAP32[$1156>>2]|0; + $1158 = HEAP32[$6>>2]|0; + $1159 = ((($1158)) + -16|0); + $1160 = ((($1159)) + 4|0); + HEAP32[$1160>>2] = $1157; + $1161 = HEAP32[$6>>2]|0; + $1162 = ((($1161)) + -16|0); + $1163 = ((($1162)) + 4|0); + $1164 = ((($1163)) + 4|0); + HEAP32[$1164>>2] = 0; break; } - case 1: { - $23 = HEAP32[$pParse>>2]|0; - $24 = ((($23)) + 409|0); - HEAP8[$24>>0] = 2; + case 132: { + $1165 = HEAP32[$6>>2]|0; + $1166 = ((($1165)) + -32|0); + $1167 = ((($1166)) + 4|0); + $1168 = HEAP32[$1167>>2]|0; + $1169 = HEAP32[$6>>2]|0; + $1170 = ((($1169)) + -48|0); + $1171 = ((($1170)) + 4|0); + HEAP32[$1171>>2] = $1168; + $1172 = HEAP32[$6>>2]|0; + $1173 = ((($1172)) + 4|0); + $1174 = HEAP32[$1173>>2]|0; + $1175 = HEAP32[$6>>2]|0; + $1176 = ((($1175)) + -48|0); + $1177 = ((($1176)) + 4|0); + $1178 = ((($1177)) + 4|0); + HEAP32[$1178>>2] = $1174; break; } - case 2: { - $25 = HEAP32[$pParse>>2]|0; - _sqlite3FinishCoding($25); + case 133: { + $1179 = HEAP32[$6>>2]|0; + $1180 = ((($1179)) + -32|0); + $1181 = ((($1180)) + 4|0); + $1182 = HEAP32[$1181>>2]|0; + $1183 = HEAP32[$6>>2]|0; + $1184 = ((($1183)) + -48|0); + $1185 = ((($1184)) + 4|0); + $1186 = ((($1185)) + 4|0); + HEAP32[$1186>>2] = $1182; + $1187 = HEAP32[$6>>2]|0; + $1188 = ((($1187)) + 4|0); + $1189 = HEAP32[$1188>>2]|0; + $1190 = HEAP32[$6>>2]|0; + $1191 = ((($1190)) + -48|0); + $1192 = ((($1191)) + 4|0); + HEAP32[$1192>>2] = $1189; break; } - case 3: { - $26 = HEAP32[$pParse>>2]|0; - $27 = HEAP32[$yymsp>>2]|0; - $28 = ((($27)) + -16|0); - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - _sqlite3BeginTransaction($26,$30); + case 134: { + $1193 = HEAP32[$8>>2]|0; + $1194 = HEAP32[$6>>2]|0; + $1195 = ((($1194)) + -80|0); + $1196 = ((($1195)) + 4|0); + $1197 = HEAP32[$1196>>2]|0; + _sqlite3WithPush($1193,$1197,1); + $1198 = HEAP32[$8>>2]|0; + $1199 = HEAP32[$6>>2]|0; + $1200 = ((($1199)) + -32|0); + $1201 = ((($1200)) + 4|0); + $1202 = HEAP32[$1201>>2]|0; + $1203 = HEAP32[$6>>2]|0; + $1204 = ((($1203)) + -16|0); + $1205 = ((($1204)) + 4|0); + _sqlite3SrcListIndexedBy($1198,$1202,$1205); + $1206 = HEAP32[$8>>2]|0; + $1207 = HEAP32[$6>>2]|0; + $1208 = ((($1207)) + -32|0); + $1209 = ((($1208)) + 4|0); + $1210 = HEAP32[$1209>>2]|0; + $1211 = HEAP32[$6>>2]|0; + $1212 = ((($1211)) + 4|0); + $1213 = HEAP32[$1212>>2]|0; + _sqlite3DeleteFrom($1206,$1210,$1213); break; } - case 4: { - $31 = HEAP32[$yymsp>>2]|0; - $32 = ((($31)) + 16|0); - $33 = ((($32)) + 4|0); - HEAP32[$33>>2] = 7; + case 137: { + $1214 = HEAP32[$8>>2]|0; + $1215 = HEAP32[$6>>2]|0; + $1216 = ((($1215)) + -112|0); + $1217 = ((($1216)) + 4|0); + $1218 = HEAP32[$1217>>2]|0; + _sqlite3WithPush($1214,$1218,1); + $1219 = HEAP32[$8>>2]|0; + $1220 = HEAP32[$6>>2]|0; + $1221 = ((($1220)) + -64|0); + $1222 = ((($1221)) + 4|0); + $1223 = HEAP32[$1222>>2]|0; + $1224 = HEAP32[$6>>2]|0; + $1225 = ((($1224)) + -48|0); + $1226 = ((($1225)) + 4|0); + _sqlite3SrcListIndexedBy($1219,$1223,$1226); + $1227 = HEAP32[$8>>2]|0; + $1228 = HEAP32[$6>>2]|0; + $1229 = ((($1228)) + -16|0); + $1230 = ((($1229)) + 4|0); + $1231 = HEAP32[$1230>>2]|0; + _sqlite3ExprListCheckLength($1227,$1231,26034); + $1232 = HEAP32[$8>>2]|0; + $1233 = HEAP32[$6>>2]|0; + $1234 = ((($1233)) + -64|0); + $1235 = ((($1234)) + 4|0); + $1236 = HEAP32[$1235>>2]|0; + $1237 = HEAP32[$6>>2]|0; + $1238 = ((($1237)) + -16|0); + $1239 = ((($1238)) + 4|0); + $1240 = HEAP32[$1239>>2]|0; + $1241 = HEAP32[$6>>2]|0; + $1242 = ((($1241)) + 4|0); + $1243 = HEAP32[$1242>>2]|0; + $1244 = HEAP32[$6>>2]|0; + $1245 = ((($1244)) + -80|0); + $1246 = ((($1245)) + 4|0); + $1247 = HEAP32[$1246>>2]|0; + _sqlite3Update($1232,$1236,$1240,$1243,$1247); break; } - case 7: case 6: case 5: { - $34 = HEAP32[$yymsp>>2]|0; - $35 = ((($34)) + 2|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = HEAP32[$yymsp>>2]|0; - $39 = ((($38)) + 4|0); - HEAP32[$39>>2] = $37; + case 138: { + $1248 = HEAP32[$8>>2]|0; + $1249 = HEAP32[$6>>2]|0; + $1250 = ((($1249)) + -64|0); + $1251 = ((($1250)) + 4|0); + $1252 = HEAP32[$1251>>2]|0; + $1253 = HEAP32[$6>>2]|0; + $1254 = ((($1253)) + 4|0); + $1255 = HEAP32[$1254>>2]|0; + $1256 = (_sqlite3ExprListAppend($1248,$1252,$1255)|0); + $1257 = HEAP32[$6>>2]|0; + $1258 = ((($1257)) + -64|0); + $1259 = ((($1258)) + 4|0); + HEAP32[$1259>>2] = $1256; + $1260 = HEAP32[$8>>2]|0; + $1261 = HEAP32[$6>>2]|0; + $1262 = ((($1261)) + -64|0); + $1263 = ((($1262)) + 4|0); + $1264 = HEAP32[$1263>>2]|0; + $1265 = HEAP32[$6>>2]|0; + $1266 = ((($1265)) + -32|0); + $1267 = ((($1266)) + 4|0); + _sqlite3ExprListSetName($1260,$1264,$1267,1); break; } - case 9: case 8: { - $40 = HEAP32[$pParse>>2]|0; - _sqlite3CommitTransaction($40); + case 139: { + $1268 = HEAP32[$8>>2]|0; + $1269 = HEAP32[$6>>2]|0; + $1270 = ((($1269)) + -96|0); + $1271 = ((($1270)) + 4|0); + $1272 = HEAP32[$1271>>2]|0; + $1273 = HEAP32[$6>>2]|0; + $1274 = ((($1273)) + -48|0); + $1275 = ((($1274)) + 4|0); + $1276 = HEAP32[$1275>>2]|0; + $1277 = HEAP32[$6>>2]|0; + $1278 = ((($1277)) + 4|0); + $1279 = HEAP32[$1278>>2]|0; + $1280 = (_sqlite3ExprListAppendVector($1268,$1272,$1276,$1279)|0); + $1281 = HEAP32[$6>>2]|0; + $1282 = ((($1281)) + -96|0); + $1283 = ((($1282)) + 4|0); + HEAP32[$1283>>2] = $1280; break; } - case 10: { - $41 = HEAP32[$pParse>>2]|0; - _sqlite3RollbackTransaction($41); + case 140: { + $1284 = HEAP32[$8>>2]|0; + $1285 = HEAP32[$6>>2]|0; + $1286 = ((($1285)) + 4|0); + $1287 = HEAP32[$1286>>2]|0; + $1288 = (_sqlite3ExprListAppend($1284,0,$1287)|0); + HEAP32[$9>>2] = $1288; + $1289 = HEAP32[$8>>2]|0; + $1290 = HEAP32[$9>>2]|0; + $1291 = HEAP32[$6>>2]|0; + $1292 = ((($1291)) + -32|0); + $1293 = ((($1292)) + 4|0); + _sqlite3ExprListSetName($1289,$1290,$1293,1); + $1294 = HEAP32[$9>>2]|0; + $1295 = HEAP32[$6>>2]|0; + $1296 = ((($1295)) + -32|0); + $1297 = ((($1296)) + 4|0); + HEAP32[$1297>>2] = $1294; break; } - case 11: { - $42 = HEAP32[$pParse>>2]|0; - $43 = HEAP32[$yymsp>>2]|0; - $44 = ((($43)) + 4|0); - _sqlite3Savepoint($42,0,$44); + case 141: { + $1298 = HEAP32[$8>>2]|0; + $1299 = HEAP32[$6>>2]|0; + $1300 = ((($1299)) + -48|0); + $1301 = ((($1300)) + 4|0); + $1302 = HEAP32[$1301>>2]|0; + $1303 = HEAP32[$6>>2]|0; + $1304 = ((($1303)) + 4|0); + $1305 = HEAP32[$1304>>2]|0; + $1306 = (_sqlite3ExprListAppendVector($1298,0,$1302,$1305)|0); + $1307 = HEAP32[$6>>2]|0; + $1308 = ((($1307)) + -64|0); + $1309 = ((($1308)) + 4|0); + HEAP32[$1309>>2] = $1306; break; } - case 12: { - $45 = HEAP32[$pParse>>2]|0; - $46 = HEAP32[$yymsp>>2]|0; - $47 = ((($46)) + 4|0); - _sqlite3Savepoint($45,1,$47); + case 142: { + $1310 = HEAP32[$8>>2]|0; + $1311 = HEAP32[$6>>2]|0; + $1312 = ((($1311)) + -80|0); + $1313 = ((($1312)) + 4|0); + $1314 = HEAP32[$1313>>2]|0; + _sqlite3WithPush($1310,$1314,1); + $1315 = HEAP32[$8>>2]|0; + $1316 = HEAP32[$6>>2]|0; + $1317 = ((($1316)) + -32|0); + $1318 = ((($1317)) + 4|0); + $1319 = HEAP32[$1318>>2]|0; + $1320 = HEAP32[$6>>2]|0; + $1321 = ((($1320)) + 4|0); + $1322 = HEAP32[$1321>>2]|0; + $1323 = HEAP32[$6>>2]|0; + $1324 = ((($1323)) + -16|0); + $1325 = ((($1324)) + 4|0); + $1326 = HEAP32[$1325>>2]|0; + $1327 = HEAP32[$6>>2]|0; + $1328 = ((($1327)) + -64|0); + $1329 = ((($1328)) + 4|0); + $1330 = HEAP32[$1329>>2]|0; + _sqlite3Insert($1315,$1319,$1322,$1326,$1330); break; } - case 13: { - $48 = HEAP32[$pParse>>2]|0; - $49 = HEAP32[$yymsp>>2]|0; - $50 = ((($49)) + 4|0); - _sqlite3Savepoint($48,2,$50); + case 143: { + $1331 = HEAP32[$8>>2]|0; + $1332 = HEAP32[$6>>2]|0; + $1333 = ((($1332)) + -96|0); + $1334 = ((($1333)) + 4|0); + $1335 = HEAP32[$1334>>2]|0; + _sqlite3WithPush($1331,$1335,1); + $1336 = HEAP32[$8>>2]|0; + $1337 = HEAP32[$6>>2]|0; + $1338 = ((($1337)) + -48|0); + $1339 = ((($1338)) + 4|0); + $1340 = HEAP32[$1339>>2]|0; + $1341 = HEAP32[$6>>2]|0; + $1342 = ((($1341)) + -32|0); + $1343 = ((($1342)) + 4|0); + $1344 = HEAP32[$1343>>2]|0; + $1345 = HEAP32[$6>>2]|0; + $1346 = ((($1345)) + -80|0); + $1347 = ((($1346)) + 4|0); + $1348 = HEAP32[$1347>>2]|0; + _sqlite3Insert($1336,$1340,0,$1344,$1348); break; } - case 14: { - $51 = HEAP32[$pParse>>2]|0; - $52 = HEAP32[$yymsp>>2]|0; - $53 = ((($52)) + -16|0); - $54 = ((($53)) + 4|0); - $55 = HEAP32[$yymsp>>2]|0; - $56 = ((($55)) + 4|0); - $57 = HEAP32[$yymsp>>2]|0; - $58 = ((($57)) + -64|0); - $59 = ((($58)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$yymsp>>2]|0; - $62 = ((($61)) + -32|0); - $63 = ((($62)) + 4|0); - $64 = HEAP32[$63>>2]|0; - _sqlite3StartTable($51,$54,$56,$60,0,0,$64); + case 147: { + $1349 = HEAP32[$6>>2]|0; + $1350 = ((($1349)) + -16|0); + $1351 = ((($1350)) + 4|0); + $1352 = HEAP32[$1351>>2]|0; + $1353 = HEAP32[$6>>2]|0; + $1354 = ((($1353)) + -32|0); + $1355 = ((($1354)) + 4|0); + HEAP32[$1355>>2] = $1352; break; } - case 15: { - $65 = HEAP32[$pParse>>2]|0; - _disableLookaside($65); + case 148: { + $1356 = HEAP32[$8>>2]|0; + $1357 = HEAP32[$1356>>2]|0; + $1358 = HEAP32[$6>>2]|0; + $1359 = ((($1358)) + -32|0); + $1360 = ((($1359)) + 4|0); + $1361 = HEAP32[$1360>>2]|0; + $1362 = HEAP32[$6>>2]|0; + $1363 = ((($1362)) + 4|0); + $1364 = (_sqlite3IdListAppend($1357,$1361,$1363)|0); + $1365 = HEAP32[$6>>2]|0; + $1366 = ((($1365)) + -32|0); + $1367 = ((($1366)) + 4|0); + HEAP32[$1367>>2] = $1364; break; } - case 215: case 90: case 76: case 67: case 57: case 42: case 22: case 19: case 16: { - $66 = HEAP32[$yymsp>>2]|0; - $67 = ((($66)) + 16|0); - $68 = ((($67)) + 4|0); - HEAP32[$68>>2] = 0; + case 149: { + $1368 = HEAP32[$8>>2]|0; + $1369 = HEAP32[$1368>>2]|0; + $1370 = HEAP32[$6>>2]|0; + $1371 = ((($1370)) + 4|0); + $1372 = (_sqlite3IdListAppend($1369,0,$1371)|0); + $1373 = HEAP32[$6>>2]|0; + $1374 = ((($1373)) + 4|0); + HEAP32[$1374>>2] = $1372; break; } - case 17: { - $69 = HEAP32[$yymsp>>2]|0; - $70 = ((($69)) + -32|0); - $71 = ((($70)) + 4|0); - HEAP32[$71>>2] = 1; + case 150: { + $1375 = HEAP32[$6>>2]|0; + $1376 = ((($1375)) + -32|0); + $1377 = ((($1376)) + 4|0); + $1378 = HEAP32[$6>>2]|0; + $1379 = ((($1378)) + -32|0); + $1380 = ((($1379)) + 4|0); + $1381 = HEAP32[$6>>2]|0; + $1382 = ((($1381)) + 4|0); + _spanSet($1377,$1380,$1382); + $1383 = HEAP32[$6>>2]|0; + $1384 = ((($1383)) + -16|0); + $1385 = ((($1384)) + 4|0); + $1386 = HEAP32[$1385>>2]|0; + $1387 = HEAP32[$6>>2]|0; + $1388 = ((($1387)) + -32|0); + $1389 = ((($1388)) + 4|0); + HEAP32[$1389>>2] = $1386; break; } - case 43: case 18: { - $72 = HEAP32[$yymsp>>2]|0; - $73 = ((($72)) + 4|0); - HEAP32[$73>>2] = 1; + case 157: case 156: case 151: { + $1390 = HEAP32[$6>>2]|0; + $1391 = ((($1390)) + 4|0); + $1392 = HEAP32[$8>>2]|0; + $1393 = HEAP32[$6>>2]|0; + $1394 = ((($1393)) + 2|0); + $1395 = HEAP8[$1394>>0]|0; + $1396 = $1395&255; + $1397 = HEAP32[$6>>2]|0; + $1398 = ((($1397)) + 4|0); + ;HEAP32[$$byval_copy26>>2]=HEAP32[$1398>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[$1398+4>>2]|0; + _spanExpr($1391,$1392,$1396,$$byval_copy26); break; } - case 20: { - $74 = HEAP32[$pParse>>2]|0; - $75 = HEAP32[$yymsp>>2]|0; - $76 = ((($75)) + -32|0); - $77 = ((($76)) + 4|0); - $78 = HEAP32[$yymsp>>2]|0; - $79 = ((($78)) + -16|0); - $80 = ((($79)) + 4|0); - $81 = HEAP32[$yymsp>>2]|0; - $82 = ((($81)) + 4|0); - $83 = HEAP32[$82>>2]|0; - $84 = $83&255; - _sqlite3EndTable($74,$77,$80,$84,0); + case 153: case 152: { + $1399 = HEAP32[$6>>2]|0; + $1400 = ((($1399)) + 4|0); + $1401 = HEAP32[$8>>2]|0; + $1402 = HEAP32[$6>>2]|0; + $1403 = ((($1402)) + 4|0); + ;HEAP32[$$byval_copy26>>2]=HEAP32[$1403>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[$1403+4>>2]|0; + _spanExpr($1400,$1401,55,$$byval_copy26); break; } - case 21: { - $85 = HEAP32[$pParse>>2]|0; - $86 = HEAP32[$yymsp>>2]|0; - $87 = ((($86)) + 4|0); - $88 = HEAP32[$87>>2]|0; - _sqlite3EndTable($85,0,0,0,$88); - $89 = HEAP32[$pParse>>2]|0; - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$yymsp>>2]|0; - $92 = ((($91)) + 4|0); - $93 = HEAP32[$92>>2]|0; - _sqlite3SelectDelete($90,$93); - break; - } - case 23: { - $94 = HEAP32[$yymsp>>2]|0; - $95 = ((($94)) + 4|0); - $96 = ((($95)) + 4|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)==(5); - if ($98) { - $99 = HEAP32[$yymsp>>2]|0; - $100 = ((($99)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = (_sqlite3_strnicmp($101,24745,5)|0); - $103 = ($102|0)==(0); - if ($103) { - $104 = HEAP32[$yymsp>>2]|0; - $105 = ((($104)) + -16|0); - $106 = ((($105)) + 4|0); - HEAP32[$106>>2] = 96; - break L6; - } - } - $107 = HEAP32[$yymsp>>2]|0; - $108 = ((($107)) + -16|0); - $109 = ((($108)) + 4|0); - HEAP32[$109>>2] = 0; - $110 = HEAP32[$pParse>>2]|0; - $111 = HEAP32[$yymsp>>2]|0; - $112 = ((($111)) + 4|0); - $113 = ((($112)) + 4|0); - $114 = HEAP32[$113>>2]|0; - $115 = HEAP32[$yymsp>>2]|0; - $116 = ((($115)) + 4|0); - $117 = HEAP32[$116>>2]|0; - HEAP32[$vararg_buffer>>2] = $114; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $117; - _sqlite3ErrorMsg($110,27150,$vararg_buffer); - break; - } - case 24: { - $118 = HEAP32[$pParse>>2]|0; - $119 = HEAP32[$yymsp>>2]|0; - $120 = ((($119)) + -16|0); - $121 = ((($120)) + 4|0); - $122 = HEAP32[$yymsp>>2]|0; - $123 = ((($122)) + 4|0); - _sqlite3AddColumn($118,$121,$123); - break; - } - case 96: case 60: case 25: { - $124 = HEAP32[$yymsp>>2]|0; - $125 = ((($124)) + 16|0); - $126 = ((($125)) + 4|0); - $127 = ((($126)) + 4|0); - HEAP32[$127>>2] = 0; - $128 = HEAP32[$yymsp>>2]|0; - $129 = ((($128)) + 16|0); - $130 = ((($129)) + 4|0); - HEAP32[$130>>2] = 0; - break; - } - case 26: { - $131 = HEAP32[$yymsp>>2]|0; - $132 = ((($131)) + 4|0); - $133 = ((($132)) + 4|0); - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$yymsp>>2]|0; - $136 = ((($135)) + 4|0); - $137 = HEAP32[$136>>2]|0; - $138 = (($137) + ($134)|0); - $139 = HEAP32[$yymsp>>2]|0; - $140 = ((($139)) + -48|0); - $141 = ((($140)) + 4|0); - $142 = HEAP32[$141>>2]|0; - $143 = $138; - $144 = $142; - $145 = (($143) - ($144))|0; - $146 = HEAP32[$yymsp>>2]|0; - $147 = ((($146)) + -48|0); - $148 = ((($147)) + 4|0); - $149 = ((($148)) + 4|0); - HEAP32[$149>>2] = $145; - break; - } - case 27: { - $150 = HEAP32[$yymsp>>2]|0; - $151 = ((($150)) + 4|0); - $152 = ((($151)) + 4|0); - $153 = HEAP32[$152>>2]|0; - $154 = HEAP32[$yymsp>>2]|0; - $155 = ((($154)) + 4|0); - $156 = HEAP32[$155>>2]|0; - $157 = (($156) + ($153)|0); - $158 = HEAP32[$yymsp>>2]|0; - $159 = ((($158)) + -80|0); - $160 = ((($159)) + 4|0); - $161 = HEAP32[$160>>2]|0; - $162 = $157; - $163 = $161; - $164 = (($162) - ($163))|0; - $165 = HEAP32[$yymsp>>2]|0; - $166 = ((($165)) + -80|0); - $167 = ((($166)) + 4|0); - $168 = ((($167)) + 4|0); - HEAP32[$168>>2] = $164; - break; - } - case 28: { - $169 = HEAP32[$yymsp>>2]|0; - $170 = ((($169)) + 4|0); - $171 = ((($170)) + 4|0); - $172 = HEAP32[$171>>2]|0; - $173 = HEAP32[$yymsp>>2]|0; - $174 = ((($173)) + 4|0); - $175 = HEAP32[$174>>2]|0; - $176 = HEAP32[$yymsp>>2]|0; - $177 = ((($176)) + -16|0); - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = $175; - $181 = $179; - $182 = (($180) - ($181))|0; - $183 = (($172) + ($182))|0; - $184 = HEAP32[$yymsp>>2]|0; - $185 = ((($184)) + -16|0); - $186 = ((($185)) + 4|0); - $187 = ((($186)) + 4|0); - HEAP32[$187>>2] = $183; - break; - } - case 62: case 29: { - $188 = HEAP32[$pParse>>2]|0; - $189 = ((($188)) + 84|0); - $190 = HEAP32[$yymsp>>2]|0; - $191 = ((($190)) + 4|0); - ;HEAP32[$189>>2]=HEAP32[$191>>2]|0;HEAP32[$189+4>>2]=HEAP32[$191+4>>2]|0; - break; - } - case 32: case 30: { - $192 = HEAP32[$pParse>>2]|0; - $193 = HEAP32[$yymsp>>2]|0; - $194 = ((($193)) + 4|0); - _sqlite3AddDefaultValue($192,$194); - break; - } - case 31: { - $195 = HEAP32[$pParse>>2]|0; - $196 = HEAP32[$yymsp>>2]|0; - $197 = ((($196)) + -16|0); - $198 = ((($197)) + 4|0); - _sqlite3AddDefaultValue($195,$198); - break; - } - case 33: { - $199 = HEAP32[$pParse>>2]|0; - $200 = HEAP32[$yymsp>>2]|0; - $201 = ((($200)) + 4|0); - $202 = HEAP32[$201>>2]|0; - $203 = (_sqlite3PExpr($199,155,$202,0,0)|0); - HEAP32[$v>>2] = $203; - $204 = HEAP32[$yymsp>>2]|0; - $205 = ((($204)) + -16|0); - $206 = ((($205)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ((($v)) + 4|0); - HEAP32[$208>>2] = $207; - $209 = HEAP32[$yymsp>>2]|0; - $210 = ((($209)) + 4|0); - $211 = ((($210)) + 8|0); - $212 = HEAP32[$211>>2]|0; - $213 = ((($v)) + 8|0); - HEAP32[$213>>2] = $212; - $214 = HEAP32[$pParse>>2]|0; - _sqlite3AddDefaultValue($214,$v); - break; - } - case 34: { - $215 = HEAP32[$pParse>>2]|0; - $216 = HEAP32[$yymsp>>2]|0; - $217 = ((($216)) + 4|0); - ;HEAP32[$$byval_copy16>>2]=HEAP32[$217>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$217+4>>2]|0; - _spanExpr($v1,$215,97,$$byval_copy16); - $218 = HEAP32[$pParse>>2]|0; - _sqlite3AddDefaultValue($218,$v1); - break; - } - case 35: { - $219 = HEAP32[$pParse>>2]|0; - $220 = HEAP32[$yymsp>>2]|0; - $221 = ((($220)) + 4|0); - $222 = HEAP32[$221>>2]|0; - _sqlite3AddNotNull($219,$222); - break; - } - case 36: { - $223 = HEAP32[$pParse>>2]|0; - $224 = HEAP32[$yymsp>>2]|0; - $225 = ((($224)) + -16|0); - $226 = ((($225)) + 4|0); - $227 = HEAP32[$226>>2]|0; - $228 = HEAP32[$yymsp>>2]|0; - $229 = ((($228)) + 4|0); - $230 = HEAP32[$229>>2]|0; - $231 = HEAP32[$yymsp>>2]|0; - $232 = ((($231)) + -32|0); - $233 = ((($232)) + 4|0); - $234 = HEAP32[$233>>2]|0; - _sqlite3AddPrimaryKey($223,0,$227,$230,$234); - break; - } - case 37: { - $235 = HEAP32[$pParse>>2]|0; - $236 = HEAP32[$yymsp>>2]|0; - $237 = ((($236)) + 4|0); - $238 = HEAP32[$237>>2]|0; - _sqlite3CreateIndex($235,0,0,0,0,$238,0,0,0,0,1); - break; - } - case 38: { - $239 = HEAP32[$pParse>>2]|0; - $240 = HEAP32[$yymsp>>2]|0; - $241 = ((($240)) + -16|0); - $242 = ((($241)) + 4|0); - $243 = HEAP32[$242>>2]|0; - _sqlite3AddCheckConstraint($239,$243); - break; - } - case 39: { - $244 = HEAP32[$pParse>>2]|0; - $245 = HEAP32[$yymsp>>2]|0; - $246 = ((($245)) + -32|0); - $247 = ((($246)) + 4|0); - $248 = HEAP32[$yymsp>>2]|0; - $249 = ((($248)) + -16|0); - $250 = ((($249)) + 4|0); - $251 = HEAP32[$250>>2]|0; - $252 = HEAP32[$yymsp>>2]|0; - $253 = ((($252)) + 4|0); - $254 = HEAP32[$253>>2]|0; - _sqlite3CreateForeignKey($244,0,$247,$251,$254); - break; - } - case 40: { - $255 = HEAP32[$pParse>>2]|0; - $256 = HEAP32[$yymsp>>2]|0; - $257 = ((($256)) + 4|0); - $258 = HEAP32[$257>>2]|0; - _sqlite3DeferForeignKey($255,$258); - break; - } - case 41: { - $259 = HEAP32[$pParse>>2]|0; - $260 = HEAP32[$yymsp>>2]|0; - $261 = ((($260)) + 4|0); - _sqlite3AddCollateType($259,$261); - break; - } - case 44: { - $262 = HEAP32[$yymsp>>2]|0; - $263 = ((($262)) + 16|0); - $264 = ((($263)) + 4|0); - HEAP32[$264>>2] = 0; - break; - } - case 45: { - $265 = HEAP32[$yymsp>>2]|0; - $266 = ((($265)) + -16|0); - $267 = ((($266)) + 4|0); - $268 = HEAP32[$267>>2]|0; - $269 = HEAP32[$yymsp>>2]|0; - $270 = ((($269)) + 4|0); - $271 = ((($270)) + 4|0); - $272 = HEAP32[$271>>2]|0; - $273 = $272 ^ -1; - $274 = $268 & $273; - $275 = HEAP32[$yymsp>>2]|0; - $276 = ((($275)) + 4|0); - $277 = HEAP32[$276>>2]|0; - $278 = $274 | $277; - $279 = HEAP32[$yymsp>>2]|0; - $280 = ((($279)) + -16|0); - $281 = ((($280)) + 4|0); - HEAP32[$281>>2] = $278; - break; - } - case 46: { - $282 = HEAP32[$yymsp>>2]|0; - $283 = ((($282)) + -16|0); - $284 = ((($283)) + 4|0); - HEAP32[$284>>2] = 0; - $285 = HEAP32[$yymsp>>2]|0; - $286 = ((($285)) + -16|0); - $287 = ((($286)) + 4|0); - $288 = ((($287)) + 4|0); - HEAP32[$288>>2] = 0; - break; - } - case 47: { - $289 = HEAP32[$yymsp>>2]|0; - $290 = ((($289)) + -32|0); - $291 = ((($290)) + 4|0); - HEAP32[$291>>2] = 0; - $292 = HEAP32[$yymsp>>2]|0; - $293 = ((($292)) + -32|0); - $294 = ((($293)) + 4|0); - $295 = ((($294)) + 4|0); - HEAP32[$295>>2] = 0; - break; - } - case 48: { - $296 = HEAP32[$yymsp>>2]|0; - $297 = ((($296)) + 4|0); - $298 = HEAP32[$297>>2]|0; - $299 = HEAP32[$yymsp>>2]|0; - $300 = ((($299)) + -32|0); - $301 = ((($300)) + 4|0); - HEAP32[$301>>2] = $298; - $302 = HEAP32[$yymsp>>2]|0; - $303 = ((($302)) + -32|0); - $304 = ((($303)) + 4|0); - $305 = ((($304)) + 4|0); - HEAP32[$305>>2] = 255; - break; - } - case 49: { - $306 = HEAP32[$yymsp>>2]|0; - $307 = ((($306)) + 4|0); - $308 = HEAP32[$307>>2]|0; - $309 = $308 << 8; - $310 = HEAP32[$yymsp>>2]|0; - $311 = ((($310)) + -32|0); - $312 = ((($311)) + 4|0); - HEAP32[$312>>2] = $309; - $313 = HEAP32[$yymsp>>2]|0; - $314 = ((($313)) + -32|0); - $315 = ((($314)) + 4|0); - $316 = ((($315)) + 4|0); - HEAP32[$316>>2] = 65280; - break; - } - case 50: { - $317 = HEAP32[$yymsp>>2]|0; - $318 = ((($317)) + -16|0); - $319 = ((($318)) + 4|0); - HEAP32[$319>>2] = 7; - break; - } - case 51: { - $320 = HEAP32[$yymsp>>2]|0; - $321 = ((($320)) + -16|0); - $322 = ((($321)) + 4|0); - HEAP32[$322>>2] = 8; - break; - } - case 52: { - $323 = HEAP32[$yymsp>>2]|0; - $324 = ((($323)) + 4|0); - HEAP32[$324>>2] = 9; - break; - } - case 53: { - $325 = HEAP32[$yymsp>>2]|0; - $326 = ((($325)) + 4|0); - HEAP32[$326>>2] = 6; - break; - } - case 54: { - $327 = HEAP32[$yymsp>>2]|0; - $328 = ((($327)) + -16|0); - $329 = ((($328)) + 4|0); - HEAP32[$329>>2] = 0; - break; - } - case 55: { - $330 = HEAP32[$yymsp>>2]|0; - $331 = ((($330)) + -32|0); - $332 = ((($331)) + 4|0); - HEAP32[$332>>2] = 0; - break; - } - case 144: case 71: case 56: { - $333 = HEAP32[$yymsp>>2]|0; - $334 = ((($333)) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = HEAP32[$yymsp>>2]|0; - $337 = ((($336)) + -16|0); - $338 = ((($337)) + 4|0); - HEAP32[$338>>2] = $335; - break; - } - case 216: case 190: case 187: case 75: case 58: { - $339 = HEAP32[$yymsp>>2]|0; - $340 = ((($339)) + -16|0); - $341 = ((($340)) + 4|0); - HEAP32[$341>>2] = 1; - break; - } - case 59: { - $342 = HEAP32[$yymsp>>2]|0; - $343 = ((($342)) + -16|0); - $344 = ((($343)) + 4|0); - HEAP32[$344>>2] = 0; - break; - } - case 61: { - $345 = HEAP32[$pParse>>2]|0; - $346 = ((($345)) + 84|0); - $347 = ((($346)) + 4|0); - HEAP32[$347>>2] = 0; - break; - } - case 63: { - $348 = HEAP32[$pParse>>2]|0; - $349 = HEAP32[$yymsp>>2]|0; - $350 = ((($349)) + -48|0); - $351 = ((($350)) + 4|0); - $352 = HEAP32[$351>>2]|0; - $353 = HEAP32[$yymsp>>2]|0; - $354 = ((($353)) + 4|0); - $355 = HEAP32[$354>>2]|0; - $356 = HEAP32[$yymsp>>2]|0; - $357 = ((($356)) + -32|0); - $358 = ((($357)) + 4|0); - $359 = HEAP32[$358>>2]|0; - _sqlite3AddPrimaryKey($348,$352,$355,$359,0); - break; - } - case 64: { - $360 = HEAP32[$pParse>>2]|0; - $361 = HEAP32[$yymsp>>2]|0; - $362 = ((($361)) + -32|0); - $363 = ((($362)) + 4|0); - $364 = HEAP32[$363>>2]|0; - $365 = HEAP32[$yymsp>>2]|0; - $366 = ((($365)) + 4|0); - $367 = HEAP32[$366>>2]|0; - _sqlite3CreateIndex($360,0,0,0,$364,$367,0,0,0,0,1); - break; - } - case 65: { - $368 = HEAP32[$pParse>>2]|0; - $369 = HEAP32[$yymsp>>2]|0; - $370 = ((($369)) + -32|0); - $371 = ((($370)) + 4|0); - $372 = HEAP32[$371>>2]|0; - _sqlite3AddCheckConstraint($368,$372); - break; - } - case 66: { - $373 = HEAP32[$pParse>>2]|0; - $374 = HEAP32[$yymsp>>2]|0; - $375 = ((($374)) + -96|0); - $376 = ((($375)) + 4|0); - $377 = HEAP32[$376>>2]|0; - $378 = HEAP32[$yymsp>>2]|0; - $379 = ((($378)) + -48|0); - $380 = ((($379)) + 4|0); - $381 = HEAP32[$yymsp>>2]|0; - $382 = ((($381)) + -32|0); - $383 = ((($382)) + 4|0); - $384 = HEAP32[$383>>2]|0; - $385 = HEAP32[$yymsp>>2]|0; - $386 = ((($385)) + -16|0); - $387 = ((($386)) + 4|0); - $388 = HEAP32[$387>>2]|0; - _sqlite3CreateForeignKey($373,$377,$380,$384,$388); - $389 = HEAP32[$pParse>>2]|0; - $390 = HEAP32[$yymsp>>2]|0; - $391 = ((($390)) + 4|0); - $392 = HEAP32[$391>>2]|0; - _sqlite3DeferForeignKey($389,$392); - break; - } - case 70: case 68: { - $393 = HEAP32[$yymsp>>2]|0; - $394 = ((($393)) + 16|0); - $395 = ((($394)) + 4|0); - HEAP32[$395>>2] = 10; - break; - } - case 69: { - $396 = HEAP32[$yymsp>>2]|0; - $397 = ((($396)) + 4|0); - $398 = HEAP32[$397>>2]|0; - $399 = HEAP32[$yymsp>>2]|0; - $400 = ((($399)) + -32|0); - $401 = ((($400)) + 4|0); - HEAP32[$401>>2] = $398; - break; - } - case 72: { - $402 = HEAP32[$yymsp>>2]|0; - $403 = ((($402)) + 4|0); - HEAP32[$403>>2] = 4; - break; - } - case 145: case 73: { - $404 = HEAP32[$yymsp>>2]|0; - $405 = ((($404)) + 4|0); - HEAP32[$405>>2] = 5; - break; - } - case 74: { - $406 = HEAP32[$pParse>>2]|0; - $407 = HEAP32[$yymsp>>2]|0; - $408 = ((($407)) + 4|0); - $409 = HEAP32[$408>>2]|0; - $410 = HEAP32[$yymsp>>2]|0; - $411 = ((($410)) + -16|0); - $412 = ((($411)) + 4|0); - $413 = HEAP32[$412>>2]|0; - _sqlite3DropTable($406,$409,0,$413); - break; - } - case 77: { - $414 = HEAP32[$pParse>>2]|0; - $415 = HEAP32[$yymsp>>2]|0; - $416 = ((($415)) + -128|0); - $417 = ((($416)) + 4|0); - $418 = HEAP32[$yymsp>>2]|0; - $419 = ((($418)) + -64|0); - $420 = ((($419)) + 4|0); - $421 = HEAP32[$yymsp>>2]|0; - $422 = ((($421)) + -48|0); - $423 = ((($422)) + 4|0); - $424 = HEAP32[$yymsp>>2]|0; - $425 = ((($424)) + -32|0); - $426 = ((($425)) + 4|0); - $427 = HEAP32[$426>>2]|0; - $428 = HEAP32[$yymsp>>2]|0; - $429 = ((($428)) + 4|0); - $430 = HEAP32[$429>>2]|0; - $431 = HEAP32[$yymsp>>2]|0; - $432 = ((($431)) + -112|0); - $433 = ((($432)) + 4|0); - $434 = HEAP32[$433>>2]|0; - $435 = HEAP32[$yymsp>>2]|0; - $436 = ((($435)) + -80|0); - $437 = ((($436)) + 4|0); - $438 = HEAP32[$437>>2]|0; - _sqlite3CreateView($414,$417,$420,$423,$427,$430,$434,$438); - break; - } - case 78: { - $439 = HEAP32[$pParse>>2]|0; - $440 = HEAP32[$yymsp>>2]|0; - $441 = ((($440)) + 4|0); - $442 = HEAP32[$441>>2]|0; - $443 = HEAP32[$yymsp>>2]|0; - $444 = ((($443)) + -16|0); - $445 = ((($444)) + 4|0); - $446 = HEAP32[$445>>2]|0; - _sqlite3DropTable($439,$442,1,$446); - break; - } - case 79: { - ;HEAP32[$dest>>2]=HEAP32[4252>>2]|0;HEAP32[$dest+4>>2]=HEAP32[4252+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[4252+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[4252+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[4252+16>>2]|0;HEAP32[$dest+20>>2]=HEAP32[4252+20>>2]|0; - $447 = HEAP32[$pParse>>2]|0; - $448 = HEAP32[$yymsp>>2]|0; - $449 = ((($448)) + 4|0); - $450 = HEAP32[$449>>2]|0; - (_sqlite3Select($447,$450,$dest)|0); - $451 = HEAP32[$pParse>>2]|0; - $452 = HEAP32[$451>>2]|0; - $453 = HEAP32[$yymsp>>2]|0; - $454 = ((($453)) + 4|0); - $455 = HEAP32[$454>>2]|0; - _sqlite3SelectDelete($452,$455); - break; - } - case 80: { - $456 = HEAP32[$yymsp>>2]|0; - $457 = ((($456)) + 4|0); - $458 = HEAP32[$457>>2]|0; - HEAP32[$p>>2] = $458; - $459 = HEAP32[$p>>2]|0; - $460 = ($459|0)!=(0|0); - if ($460) { - $461 = HEAP32[$yymsp>>2]|0; - $462 = ((($461)) + -16|0); - $463 = ((($462)) + 4|0); - $464 = HEAP32[$463>>2]|0; - $465 = HEAP32[$p>>2]|0; - $466 = ((($465)) + 64|0); - HEAP32[$466>>2] = $464; - $467 = HEAP32[$pParse>>2]|0; - $468 = HEAP32[$p>>2]|0; - _parserDoubleLinkSelect($467,$468); - } else { - $469 = HEAP32[$pParse>>2]|0; - $470 = HEAP32[$469>>2]|0; - $471 = HEAP32[$yymsp>>2]|0; - $472 = ((($471)) + -16|0); - $473 = ((($472)) + 4|0); - $474 = HEAP32[$473>>2]|0; - _sqlite3WithDelete($470,$474); - } - $475 = HEAP32[$p>>2]|0; - $476 = HEAP32[$yymsp>>2]|0; - $477 = ((($476)) + -16|0); - $478 = ((($477)) + 4|0); - HEAP32[$478>>2] = $475; - break; - } - case 81: { - $479 = HEAP32[$yymsp>>2]|0; - $480 = ((($479)) + 4|0); - $481 = HEAP32[$480>>2]|0; - HEAP32[$pRhs>>2] = $481; - $482 = HEAP32[$yymsp>>2]|0; - $483 = ((($482)) + -32|0); - $484 = ((($483)) + 4|0); - $485 = HEAP32[$484>>2]|0; - HEAP32[$pLhs>>2] = $485; - $486 = HEAP32[$pRhs>>2]|0; - $487 = ($486|0)!=(0|0); - if ($487) { - $488 = HEAP32[$pRhs>>2]|0; - $489 = ((($488)) + 48|0); - $490 = HEAP32[$489>>2]|0; - $491 = ($490|0)!=(0|0); - if ($491) { - $492 = ((($x)) + 4|0); - HEAP32[$492>>2] = 0; - $493 = HEAP32[$pParse>>2]|0; - $494 = HEAP32[$pRhs>>2]|0; - _parserDoubleLinkSelect($493,$494); - $495 = HEAP32[$pParse>>2]|0; - $496 = HEAP32[$pRhs>>2]|0; - $497 = (_sqlite3SrcListAppendFromTerm($495,0,0,0,$x,$496,0,0)|0); - HEAP32[$pFrom>>2] = $497; - $498 = HEAP32[$pParse>>2]|0; - $499 = HEAP32[$pFrom>>2]|0; - $500 = (_sqlite3SelectNew($498,0,$499,0,0,0,0,0,0,0)|0); - HEAP32[$pRhs>>2] = $500; - } - } - $501 = HEAP32[$pRhs>>2]|0; - $502 = ($501|0)!=(0|0); - if ($502) { - $503 = HEAP32[$yymsp>>2]|0; - $504 = ((($503)) + -16|0); - $505 = ((($504)) + 4|0); - $506 = HEAP32[$505>>2]|0; - $507 = $506&255; - $508 = HEAP32[$pRhs>>2]|0; - $509 = ((($508)) + 4|0); - HEAP8[$509>>0] = $507; - $510 = HEAP32[$pLhs>>2]|0; - $511 = HEAP32[$pRhs>>2]|0; - $512 = ((($511)) + 48|0); - HEAP32[$512>>2] = $510; - $513 = HEAP32[$pLhs>>2]|0; - $514 = ($513|0)!=(0|0); - if ($514) { - $515 = HEAP32[$pLhs>>2]|0; - $516 = ((($515)) + 8|0); - $517 = HEAP32[$516>>2]|0; - $518 = $517 & -1025; - HEAP32[$516>>2] = $518; - } - $519 = HEAP32[$pRhs>>2]|0; - $520 = ((($519)) + 8|0); - $521 = HEAP32[$520>>2]|0; - $522 = $521 & -1025; - HEAP32[$520>>2] = $522; - $523 = HEAP32[$yymsp>>2]|0; - $524 = ((($523)) + -16|0); - $525 = ((($524)) + 4|0); - $526 = HEAP32[$525>>2]|0; - $527 = ($526|0)!=(116); - if ($527) { - $528 = HEAP32[$pParse>>2]|0; - $529 = ((($528)) + 22|0); - HEAP8[$529>>0] = 1; - } - } else { - $530 = HEAP32[$pParse>>2]|0; - $531 = HEAP32[$530>>2]|0; - $532 = HEAP32[$pLhs>>2]|0; - _sqlite3SelectDelete($531,$532); - } - $533 = HEAP32[$pRhs>>2]|0; - $534 = HEAP32[$yymsp>>2]|0; - $535 = ((($534)) + -32|0); - $536 = ((($535)) + 4|0); - HEAP32[$536>>2] = $533; - break; - } - case 84: case 82: { - $537 = HEAP32[$yymsp>>2]|0; - $538 = ((($537)) + 2|0); - $539 = HEAP8[$538>>0]|0; - $540 = $539&255; - $541 = HEAP32[$yymsp>>2]|0; - $542 = ((($541)) + 4|0); - HEAP32[$542>>2] = $540; - break; - } - case 83: { - $543 = HEAP32[$yymsp>>2]|0; - $544 = ((($543)) + -16|0); - $545 = ((($544)) + 4|0); - HEAP32[$545>>2] = 116; - break; - } - case 85: { - $546 = HEAP32[$pParse>>2]|0; - $547 = HEAP32[$yymsp>>2]|0; - $548 = ((($547)) + -96|0); - $549 = ((($548)) + 4|0); - $550 = HEAP32[$549>>2]|0; - $551 = HEAP32[$yymsp>>2]|0; - $552 = ((($551)) + -80|0); - $553 = ((($552)) + 4|0); - $554 = HEAP32[$553>>2]|0; - $555 = HEAP32[$yymsp>>2]|0; - $556 = ((($555)) + -64|0); - $557 = ((($556)) + 4|0); - $558 = HEAP32[$557>>2]|0; - $559 = HEAP32[$yymsp>>2]|0; - $560 = ((($559)) + -48|0); - $561 = ((($560)) + 4|0); - $562 = HEAP32[$561>>2]|0; - $563 = HEAP32[$yymsp>>2]|0; - $564 = ((($563)) + -32|0); - $565 = ((($564)) + 4|0); - $566 = HEAP32[$565>>2]|0; - $567 = HEAP32[$yymsp>>2]|0; - $568 = ((($567)) + -16|0); - $569 = ((($568)) + 4|0); - $570 = HEAP32[$569>>2]|0; - $571 = HEAP32[$yymsp>>2]|0; - $572 = ((($571)) + -112|0); - $573 = ((($572)) + 4|0); - $574 = HEAP32[$573>>2]|0; - $575 = HEAP32[$yymsp>>2]|0; - $576 = ((($575)) + 4|0); - $577 = HEAP32[$576>>2]|0; - $578 = HEAP32[$yymsp>>2]|0; - $579 = ((($578)) + 4|0); - $580 = ((($579)) + 4|0); - $581 = HEAP32[$580>>2]|0; - $582 = (_sqlite3SelectNew($546,$550,$554,$558,$562,$566,$570,$574,$577,$581)|0); - $583 = HEAP32[$yymsp>>2]|0; - $584 = ((($583)) + -128|0); - $585 = ((($584)) + 4|0); - HEAP32[$585>>2] = $582; - break; - } - case 86: { - $586 = HEAP32[$pParse>>2]|0; - $587 = HEAP32[$yymsp>>2]|0; - $588 = ((($587)) + -16|0); - $589 = ((($588)) + 4|0); - $590 = HEAP32[$589>>2]|0; - $591 = (_sqlite3SelectNew($586,$590,0,0,0,0,0,512,0,0)|0); - $592 = HEAP32[$yymsp>>2]|0; - $593 = ((($592)) + -48|0); - $594 = ((($593)) + 4|0); - HEAP32[$594>>2] = $591; - break; - } - case 87: { - $595 = HEAP32[$yymsp>>2]|0; - $596 = ((($595)) + -64|0); - $597 = ((($596)) + 4|0); - $598 = HEAP32[$597>>2]|0; - HEAP32[$pLeft>>2] = $598; - $599 = HEAP32[$pParse>>2]|0; - $600 = HEAP32[$yymsp>>2]|0; - $601 = ((($600)) + -16|0); - $602 = ((($601)) + 4|0); - $603 = HEAP32[$602>>2]|0; - $604 = (_sqlite3SelectNew($599,$603,0,0,0,0,0,1536,0,0)|0); - HEAP32[$pRight>>2] = $604; - $605 = HEAP32[$pLeft>>2]|0; - $606 = ($605|0)!=(0|0); - if ($606) { - $607 = HEAP32[$pLeft>>2]|0; - $608 = ((($607)) + 8|0); - $609 = HEAP32[$608>>2]|0; - $610 = $609 & -1025; - HEAP32[$608>>2] = $610; - } - $611 = HEAP32[$pRight>>2]|0; - $612 = ($611|0)!=(0|0); - if ($612) { - $613 = HEAP32[$pRight>>2]|0; - $614 = ((($613)) + 4|0); - HEAP8[$614>>0] = 116; - $615 = HEAP32[$pLeft>>2]|0; - $616 = HEAP32[$pRight>>2]|0; - $617 = ((($616)) + 48|0); - HEAP32[$617>>2] = $615; - $618 = HEAP32[$pRight>>2]|0; - $619 = HEAP32[$yymsp>>2]|0; - $620 = ((($619)) + -64|0); - $621 = ((($620)) + 4|0); - HEAP32[$621>>2] = $618; - break L6; - } else { - $622 = HEAP32[$pLeft>>2]|0; - $623 = HEAP32[$yymsp>>2]|0; - $624 = ((($623)) + -64|0); - $625 = ((($624)) + 4|0); - HEAP32[$625>>2] = $622; - break L6; - } - break; - } - case 88: { - $626 = HEAP32[$yymsp>>2]|0; - $627 = ((($626)) + 4|0); - HEAP32[$627>>2] = 1; - break; - } - case 89: { - $628 = HEAP32[$yymsp>>2]|0; - $629 = ((($628)) + 4|0); - HEAP32[$629>>2] = 2; - break; - } - case 211: case 206: case 203: case 126: case 119: case 91: { - $630 = HEAP32[$yymsp>>2]|0; - $631 = ((($630)) + 16|0); - $632 = ((($631)) + 4|0); - HEAP32[$632>>2] = 0; - break; - } - case 92: { - $633 = HEAP32[$pParse>>2]|0; - $634 = HEAP32[$yymsp>>2]|0; - $635 = ((($634)) + -32|0); - $636 = ((($635)) + 4|0); - $637 = HEAP32[$636>>2]|0; - $638 = HEAP32[$yymsp>>2]|0; - $639 = ((($638)) + -16|0); - $640 = ((($639)) + 4|0); - $641 = HEAP32[$640>>2]|0; - $642 = (_sqlite3ExprListAppend($633,$637,$641)|0); - $643 = HEAP32[$yymsp>>2]|0; - $644 = ((($643)) + -32|0); - $645 = ((($644)) + 4|0); - HEAP32[$645>>2] = $642; - $646 = HEAP32[$yymsp>>2]|0; - $647 = ((($646)) + 4|0); - $648 = ((($647)) + 4|0); - $649 = HEAP32[$648>>2]|0; - $650 = ($649>>>0)>(0); - if ($650) { - $651 = HEAP32[$pParse>>2]|0; - $652 = HEAP32[$yymsp>>2]|0; - $653 = ((($652)) + -32|0); - $654 = ((($653)) + 4|0); - $655 = HEAP32[$654>>2]|0; - $656 = HEAP32[$yymsp>>2]|0; - $657 = ((($656)) + 4|0); - _sqlite3ExprListSetName($651,$655,$657,1); - } - $658 = HEAP32[$pParse>>2]|0; - $659 = HEAP32[$yymsp>>2]|0; - $660 = ((($659)) + -32|0); - $661 = ((($660)) + 4|0); - $662 = HEAP32[$661>>2]|0; - $663 = HEAP32[$yymsp>>2]|0; - $664 = ((($663)) + -16|0); - $665 = ((($664)) + 4|0); - _sqlite3ExprListSetSpan($658,$662,$665); - break; - } - case 93: { - $666 = HEAP32[$pParse>>2]|0; - $667 = HEAP32[$666>>2]|0; - $668 = (_sqlite3Expr($667,160,0)|0); - HEAP32[$p2>>2] = $668; - $669 = HEAP32[$pParse>>2]|0; - $670 = HEAP32[$yymsp>>2]|0; - $671 = ((($670)) + -16|0); - $672 = ((($671)) + 4|0); - $673 = HEAP32[$672>>2]|0; - $674 = HEAP32[$p2>>2]|0; - $675 = (_sqlite3ExprListAppend($669,$673,$674)|0); - $676 = HEAP32[$yymsp>>2]|0; - $677 = ((($676)) + -16|0); - $678 = ((($677)) + 4|0); - HEAP32[$678>>2] = $675; - break; - } - case 94: { - $679 = HEAP32[$pParse>>2]|0; - $680 = (_sqlite3PExpr($679,160,0,0,0)|0); - HEAP32[$pRight3>>2] = $680; - $681 = HEAP32[$pParse>>2]|0; - $682 = HEAP32[$yymsp>>2]|0; - $683 = ((($682)) + -32|0); - $684 = ((($683)) + 4|0); - $685 = (_sqlite3PExpr($681,55,0,0,$684)|0); - HEAP32[$pLeft4>>2] = $685; - $686 = HEAP32[$pParse>>2]|0; - $687 = HEAP32[$pLeft4>>2]|0; - $688 = HEAP32[$pRight3>>2]|0; - $689 = (_sqlite3PExpr($686,122,$687,$688,0)|0); - HEAP32[$pDot>>2] = $689; - $690 = HEAP32[$pParse>>2]|0; - $691 = HEAP32[$yymsp>>2]|0; - $692 = ((($691)) + -48|0); - $693 = ((($692)) + 4|0); - $694 = HEAP32[$693>>2]|0; - $695 = HEAP32[$pDot>>2]|0; - $696 = (_sqlite3ExprListAppend($690,$694,$695)|0); - $697 = HEAP32[$yymsp>>2]|0; - $698 = ((($697)) + -48|0); - $699 = ((($698)) + 4|0); - HEAP32[$699>>2] = $696; - break; - } - case 226: case 225: case 106: case 95: { - $700 = HEAP32[$yymsp>>2]|0; - $701 = ((($700)) + -16|0); - $702 = ((($701)) + 4|0); - $703 = HEAP32[$yymsp>>2]|0; - $704 = ((($703)) + 4|0); - ;HEAP32[$702>>2]=HEAP32[$704>>2]|0;HEAP32[$702+4>>2]=HEAP32[$704+4>>2]|0; - break; - } - case 97: { - $705 = HEAP32[$pParse>>2]|0; - $706 = HEAP32[$705>>2]|0; - $707 = (_sqlite3DbMallocZero($706,80,0)|0); - $708 = HEAP32[$yymsp>>2]|0; - $709 = ((($708)) + 16|0); - $710 = ((($709)) + 4|0); - HEAP32[$710>>2] = $707; - break; - } - case 98: { - $711 = HEAP32[$yymsp>>2]|0; - $712 = ((($711)) + 4|0); - $713 = HEAP32[$712>>2]|0; - $714 = HEAP32[$yymsp>>2]|0; - $715 = ((($714)) + -16|0); - $716 = ((($715)) + 4|0); - HEAP32[$716>>2] = $713; - $717 = HEAP32[$yymsp>>2]|0; - $718 = ((($717)) + -16|0); - $719 = ((($718)) + 4|0); - $720 = HEAP32[$719>>2]|0; - _sqlite3SrcListShiftJoinType($720); - break; - } - case 99: { - $721 = HEAP32[$yymsp>>2]|0; - $722 = ((($721)) + -16|0); - $723 = ((($722)) + 4|0); - $724 = HEAP32[$723>>2]|0; - $725 = ($724|0)!=(0|0); - if ($725) { - $726 = HEAP32[$yymsp>>2]|0; - $727 = ((($726)) + -16|0); - $728 = ((($727)) + 4|0); - $729 = HEAP32[$728>>2]|0; - $730 = HEAP32[$729>>2]|0; - $731 = ($730|0)>(0); - if ($731) { - $732 = HEAP32[$yymsp>>2]|0; - $733 = ((($732)) + 4|0); - $734 = HEAP32[$733>>2]|0; - $735 = $734&255; - $736 = HEAP32[$yymsp>>2]|0; - $737 = ((($736)) + -16|0); - $738 = ((($737)) + 4|0); - $739 = HEAP32[$738>>2]|0; - $740 = HEAP32[$739>>2]|0; - $741 = (($740) - 1)|0; - $742 = HEAP32[$yymsp>>2]|0; - $743 = ((($742)) + -16|0); - $744 = ((($743)) + 4|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($745)) + 8|0); - $747 = (($746) + (($741*72)|0)|0); - $748 = ((($747)) + 36|0); - HEAP8[$748>>0] = $735; - } - } - break; - } - case 100: { - $749 = HEAP32[$yymsp>>2]|0; - $750 = ((($749)) + 16|0); - $751 = ((($750)) + 4|0); - HEAP32[$751>>2] = 0; - break; - } - case 101: { - $752 = HEAP32[$pParse>>2]|0; - $753 = HEAP32[$yymsp>>2]|0; - $754 = ((($753)) + -96|0); - $755 = ((($754)) + 4|0); - $756 = HEAP32[$755>>2]|0; - $757 = HEAP32[$yymsp>>2]|0; - $758 = ((($757)) + -80|0); - $759 = ((($758)) + 4|0); - $760 = HEAP32[$yymsp>>2]|0; - $761 = ((($760)) + -64|0); - $762 = ((($761)) + 4|0); - $763 = HEAP32[$yymsp>>2]|0; - $764 = ((($763)) + -48|0); - $765 = ((($764)) + 4|0); - $766 = HEAP32[$yymsp>>2]|0; - $767 = ((($766)) + -16|0); - $768 = ((($767)) + 4|0); - $769 = HEAP32[$768>>2]|0; - $770 = HEAP32[$yymsp>>2]|0; - $771 = ((($770)) + 4|0); - $772 = HEAP32[$771>>2]|0; - $773 = (_sqlite3SrcListAppendFromTerm($752,$756,$759,$762,$765,0,$769,$772)|0); - $774 = HEAP32[$yymsp>>2]|0; - $775 = ((($774)) + -96|0); - $776 = ((($775)) + 4|0); - HEAP32[$776>>2] = $773; - $777 = HEAP32[$pParse>>2]|0; - $778 = HEAP32[$yymsp>>2]|0; - $779 = ((($778)) + -96|0); - $780 = ((($779)) + 4|0); - $781 = HEAP32[$780>>2]|0; - $782 = HEAP32[$yymsp>>2]|0; - $783 = ((($782)) + -32|0); - $784 = ((($783)) + 4|0); - _sqlite3SrcListIndexedBy($777,$781,$784); - break; - } - case 102: { - $785 = HEAP32[$pParse>>2]|0; - $786 = HEAP32[$yymsp>>2]|0; - $787 = ((($786)) + -128|0); - $788 = ((($787)) + 4|0); - $789 = HEAP32[$788>>2]|0; - $790 = HEAP32[$yymsp>>2]|0; - $791 = ((($790)) + -112|0); - $792 = ((($791)) + 4|0); - $793 = HEAP32[$yymsp>>2]|0; - $794 = ((($793)) + -96|0); - $795 = ((($794)) + 4|0); - $796 = HEAP32[$yymsp>>2]|0; - $797 = ((($796)) + -32|0); - $798 = ((($797)) + 4|0); - $799 = HEAP32[$yymsp>>2]|0; - $800 = ((($799)) + -16|0); - $801 = ((($800)) + 4|0); - $802 = HEAP32[$801>>2]|0; - $803 = HEAP32[$yymsp>>2]|0; - $804 = ((($803)) + 4|0); - $805 = HEAP32[$804>>2]|0; - $806 = (_sqlite3SrcListAppendFromTerm($785,$789,$792,$795,$798,0,$802,$805)|0); - $807 = HEAP32[$yymsp>>2]|0; - $808 = ((($807)) + -128|0); - $809 = ((($808)) + 4|0); - HEAP32[$809>>2] = $806; - $810 = HEAP32[$pParse>>2]|0; - $811 = HEAP32[$yymsp>>2]|0; - $812 = ((($811)) + -128|0); - $813 = ((($812)) + 4|0); - $814 = HEAP32[$813>>2]|0; - $815 = HEAP32[$yymsp>>2]|0; - $816 = ((($815)) + -64|0); - $817 = ((($816)) + 4|0); - $818 = HEAP32[$817>>2]|0; - _sqlite3SrcListFuncArgs($810,$814,$818); - break; - } - case 103: { - $819 = HEAP32[$pParse>>2]|0; - $820 = HEAP32[$yymsp>>2]|0; - $821 = ((($820)) + -96|0); - $822 = ((($821)) + 4|0); - $823 = HEAP32[$822>>2]|0; - $824 = HEAP32[$yymsp>>2]|0; - $825 = ((($824)) + -32|0); - $826 = ((($825)) + 4|0); - $827 = HEAP32[$yymsp>>2]|0; - $828 = ((($827)) + -64|0); - $829 = ((($828)) + 4|0); - $830 = HEAP32[$829>>2]|0; - $831 = HEAP32[$yymsp>>2]|0; - $832 = ((($831)) + -16|0); - $833 = ((($832)) + 4|0); - $834 = HEAP32[$833>>2]|0; - $835 = HEAP32[$yymsp>>2]|0; - $836 = ((($835)) + 4|0); - $837 = HEAP32[$836>>2]|0; - $838 = (_sqlite3SrcListAppendFromTerm($819,$823,0,0,$826,$830,$834,$837)|0); - $839 = HEAP32[$yymsp>>2]|0; - $840 = ((($839)) + -96|0); - $841 = ((($840)) + 4|0); - HEAP32[$841>>2] = $838; - break; - } - case 104: { - $842 = HEAP32[$yymsp>>2]|0; - $843 = ((($842)) + -96|0); - $844 = ((($843)) + 4|0); - $845 = HEAP32[$844>>2]|0; - $846 = ($845|0)==(0|0); - if ($846) { - $847 = HEAP32[$yymsp>>2]|0; - $848 = ((($847)) + -32|0); - $849 = ((($848)) + 4|0); - $850 = ((($849)) + 4|0); - $851 = HEAP32[$850>>2]|0; - $852 = ($851|0)==(0); - if ($852) { - $853 = HEAP32[$yymsp>>2]|0; - $854 = ((($853)) + -16|0); - $855 = ((($854)) + 4|0); - $856 = HEAP32[$855>>2]|0; - $857 = ($856|0)==(0|0); - if ($857) { - $858 = HEAP32[$yymsp>>2]|0; - $859 = ((($858)) + 4|0); - $860 = HEAP32[$859>>2]|0; - $861 = ($860|0)==(0|0); - if ($861) { - $862 = HEAP32[$yymsp>>2]|0; - $863 = ((($862)) + -64|0); - $864 = ((($863)) + 4|0); - $865 = HEAP32[$864>>2]|0; - $866 = HEAP32[$yymsp>>2]|0; - $867 = ((($866)) + -96|0); - $868 = ((($867)) + 4|0); - HEAP32[$868>>2] = $865; - break L6; - } - } - } - } - $869 = HEAP32[$yymsp>>2]|0; - $870 = ((($869)) + -64|0); - $871 = ((($870)) + 4|0); - $872 = HEAP32[$871>>2]|0; - $873 = HEAP32[$872>>2]|0; - $874 = ($873|0)==(1); - if (!($874)) { - $943 = HEAP32[$yymsp>>2]|0; - $944 = ((($943)) + -64|0); - $945 = ((($944)) + 4|0); - $946 = HEAP32[$945>>2]|0; - _sqlite3SrcListShiftJoinType($946); - $947 = HEAP32[$pParse>>2]|0; - $948 = HEAP32[$yymsp>>2]|0; - $949 = ((($948)) + -64|0); - $950 = ((($949)) + 4|0); - $951 = HEAP32[$950>>2]|0; - $952 = (_sqlite3SelectNew($947,0,$951,0,0,0,0,2048,0,0)|0); - HEAP32[$pSubquery>>2] = $952; - $953 = HEAP32[$pParse>>2]|0; - $954 = HEAP32[$yymsp>>2]|0; - $955 = ((($954)) + -96|0); - $956 = ((($955)) + 4|0); - $957 = HEAP32[$956>>2]|0; - $958 = HEAP32[$yymsp>>2]|0; - $959 = ((($958)) + -32|0); - $960 = ((($959)) + 4|0); - $961 = HEAP32[$pSubquery>>2]|0; - $962 = HEAP32[$yymsp>>2]|0; - $963 = ((($962)) + -16|0); - $964 = ((($963)) + 4|0); - $965 = HEAP32[$964>>2]|0; - $966 = HEAP32[$yymsp>>2]|0; - $967 = ((($966)) + 4|0); - $968 = HEAP32[$967>>2]|0; - $969 = (_sqlite3SrcListAppendFromTerm($953,$957,0,0,$960,$961,$965,$968)|0); - $970 = HEAP32[$yymsp>>2]|0; - $971 = ((($970)) + -96|0); - $972 = ((($971)) + 4|0); - HEAP32[$972>>2] = $969; - break L6; - } - $875 = HEAP32[$pParse>>2]|0; - $876 = HEAP32[$yymsp>>2]|0; - $877 = ((($876)) + -96|0); - $878 = ((($877)) + 4|0); - $879 = HEAP32[$878>>2]|0; - $880 = HEAP32[$yymsp>>2]|0; - $881 = ((($880)) + -32|0); - $882 = ((($881)) + 4|0); - $883 = HEAP32[$yymsp>>2]|0; - $884 = ((($883)) + -16|0); - $885 = ((($884)) + 4|0); - $886 = HEAP32[$885>>2]|0; - $887 = HEAP32[$yymsp>>2]|0; - $888 = ((($887)) + 4|0); - $889 = HEAP32[$888>>2]|0; - $890 = (_sqlite3SrcListAppendFromTerm($875,$879,0,0,$882,0,$886,$889)|0); - $891 = HEAP32[$yymsp>>2]|0; - $892 = ((($891)) + -96|0); - $893 = ((($892)) + 4|0); - HEAP32[$893>>2] = $890; - $894 = HEAP32[$yymsp>>2]|0; - $895 = ((($894)) + -96|0); - $896 = ((($895)) + 4|0); - $897 = HEAP32[$896>>2]|0; - $898 = ($897|0)!=(0|0); - if ($898) { - $899 = HEAP32[$yymsp>>2]|0; - $900 = ((($899)) + -96|0); - $901 = ((($900)) + 4|0); - $902 = HEAP32[$901>>2]|0; - $903 = HEAP32[$902>>2]|0; - $904 = (($903) - 1)|0; - $905 = HEAP32[$yymsp>>2]|0; - $906 = ((($905)) + -96|0); - $907 = ((($906)) + 4|0); - $908 = HEAP32[$907>>2]|0; - $909 = ((($908)) + 8|0); - $910 = (($909) + (($904*72)|0)|0); - HEAP32[$pNew>>2] = $910; - $911 = HEAP32[$yymsp>>2]|0; - $912 = ((($911)) + -64|0); - $913 = ((($912)) + 4|0); - $914 = HEAP32[$913>>2]|0; - $915 = ((($914)) + 8|0); - HEAP32[$pOld>>2] = $915; - $916 = HEAP32[$pOld>>2]|0; - $917 = ((($916)) + 8|0); - $918 = HEAP32[$917>>2]|0; - $919 = HEAP32[$pNew>>2]|0; - $920 = ((($919)) + 8|0); - HEAP32[$920>>2] = $918; - $921 = HEAP32[$pOld>>2]|0; - $922 = ((($921)) + 4|0); - $923 = HEAP32[$922>>2]|0; - $924 = HEAP32[$pNew>>2]|0; - $925 = ((($924)) + 4|0); - HEAP32[$925>>2] = $923; - $926 = HEAP32[$pOld>>2]|0; - $927 = ((($926)) + 20|0); - $928 = HEAP32[$927>>2]|0; - $929 = HEAP32[$pNew>>2]|0; - $930 = ((($929)) + 20|0); - HEAP32[$930>>2] = $928; - $931 = HEAP32[$pOld>>2]|0; - $932 = ((($931)) + 4|0); - HEAP32[$932>>2] = 0; - $933 = HEAP32[$pOld>>2]|0; - $934 = ((($933)) + 8|0); - HEAP32[$934>>2] = 0; - $935 = HEAP32[$pOld>>2]|0; - $936 = ((($935)) + 20|0); - HEAP32[$936>>2] = 0; - } - $937 = HEAP32[$pParse>>2]|0; - $938 = HEAP32[$937>>2]|0; - $939 = HEAP32[$yymsp>>2]|0; - $940 = ((($939)) + -64|0); - $941 = ((($940)) + 4|0); - $942 = HEAP32[$941>>2]|0; - _sqlite3SrcListDelete($938,$942); - break; - } - case 114: case 105: { - $973 = HEAP32[$yymsp>>2]|0; - $974 = ((($973)) + 16|0); - $975 = ((($974)) + 4|0); - HEAP32[$975>>2] = 0; - $976 = HEAP32[$yymsp>>2]|0; - $977 = ((($976)) + 16|0); - $978 = ((($977)) + 4|0); - $979 = ((($978)) + 4|0); - HEAP32[$979>>2] = 0; - break; - } - case 107: { - $980 = HEAP32[$pParse>>2]|0; - $981 = HEAP32[$980>>2]|0; - $982 = HEAP32[$yymsp>>2]|0; - $983 = ((($982)) + -16|0); - $984 = ((($983)) + 4|0); - $985 = HEAP32[$yymsp>>2]|0; - $986 = ((($985)) + 4|0); - $987 = (_sqlite3SrcListAppend($981,0,$984,$986)|0); - $988 = HEAP32[$yymsp>>2]|0; - $989 = ((($988)) + -16|0); - $990 = ((($989)) + 4|0); - HEAP32[$990>>2] = $987; - break; - } - case 108: { - $991 = HEAP32[$yymsp>>2]|0; - $992 = ((($991)) + 4|0); - HEAP32[$992>>2] = 1; - break; - } - case 109: { - $993 = HEAP32[$pParse>>2]|0; - $994 = HEAP32[$yymsp>>2]|0; - $995 = ((($994)) + -16|0); - $996 = ((($995)) + 4|0); - $997 = (_sqlite3JoinType($993,$996,0,0)|0); - $998 = HEAP32[$yymsp>>2]|0; - $999 = ((($998)) + -16|0); - $1000 = ((($999)) + 4|0); - HEAP32[$1000>>2] = $997; - break; - } - case 110: { - $1001 = HEAP32[$pParse>>2]|0; - $1002 = HEAP32[$yymsp>>2]|0; - $1003 = ((($1002)) + -32|0); - $1004 = ((($1003)) + 4|0); - $1005 = HEAP32[$yymsp>>2]|0; - $1006 = ((($1005)) + -16|0); - $1007 = ((($1006)) + 4|0); - $1008 = (_sqlite3JoinType($1001,$1004,$1007,0)|0); - $1009 = HEAP32[$yymsp>>2]|0; - $1010 = ((($1009)) + -32|0); - $1011 = ((($1010)) + 4|0); - HEAP32[$1011>>2] = $1008; - break; - } - case 111: { - $1012 = HEAP32[$pParse>>2]|0; - $1013 = HEAP32[$yymsp>>2]|0; - $1014 = ((($1013)) + -48|0); - $1015 = ((($1014)) + 4|0); - $1016 = HEAP32[$yymsp>>2]|0; - $1017 = ((($1016)) + -32|0); - $1018 = ((($1017)) + 4|0); - $1019 = HEAP32[$yymsp>>2]|0; - $1020 = ((($1019)) + -16|0); - $1021 = ((($1020)) + 4|0); - $1022 = (_sqlite3JoinType($1012,$1015,$1018,$1021)|0); - $1023 = HEAP32[$yymsp>>2]|0; - $1024 = ((($1023)) + -48|0); - $1025 = ((($1024)) + 4|0); - HEAP32[$1025>>2] = $1022; - break; - } - case 199: case 136: case 129: case 112: { - $1026 = HEAP32[$yymsp>>2]|0; - $1027 = ((($1026)) + 4|0); - $1028 = HEAP32[$1027>>2]|0; - $1029 = HEAP32[$yymsp>>2]|0; - $1030 = ((($1029)) + -16|0); - $1031 = ((($1030)) + 4|0); - HEAP32[$1031>>2] = $1028; - break; - } - case 202: case 200: case 135: case 128: case 113: { - $1032 = HEAP32[$yymsp>>2]|0; - $1033 = ((($1032)) + 16|0); - $1034 = ((($1033)) + 4|0); - HEAP32[$1034>>2] = 0; - break; - } - case 115: { - $1035 = HEAP32[$yymsp>>2]|0; - $1036 = ((($1035)) + -32|0); - $1037 = ((($1036)) + 4|0); - $1038 = HEAP32[$yymsp>>2]|0; - $1039 = ((($1038)) + 4|0); - ;HEAP32[$1037>>2]=HEAP32[$1039>>2]|0;HEAP32[$1037+4>>2]=HEAP32[$1039+4>>2]|0; - break; - } - case 116: { - $1040 = HEAP32[$yymsp>>2]|0; - $1041 = ((($1040)) + -16|0); - $1042 = ((($1041)) + 4|0); - HEAP32[$1042>>2] = 0; - $1043 = HEAP32[$yymsp>>2]|0; - $1044 = ((($1043)) + -16|0); - $1045 = ((($1044)) + 4|0); - $1046 = ((($1045)) + 4|0); - HEAP32[$1046>>2] = 1; - break; - } - case 117: { - $1047 = HEAP32[$yymsp>>2]|0; - $1048 = ((($1047)) + -16|0); - $1049 = ((($1048)) + 4|0); - $1050 = HEAP32[$1049>>2]|0; - $1051 = HEAP32[$yymsp>>2]|0; - $1052 = ((($1051)) + -48|0); - $1053 = ((($1052)) + 4|0); - HEAP32[$1053>>2] = $1050; - break; - } - case 146: case 118: { - $1054 = HEAP32[$yymsp>>2]|0; - $1055 = ((($1054)) + 16|0); - $1056 = ((($1055)) + 4|0); - HEAP32[$1056>>2] = 0; - break; - } - case 127: case 120: { - $1057 = HEAP32[$yymsp>>2]|0; - $1058 = ((($1057)) + 4|0); - $1059 = HEAP32[$1058>>2]|0; - $1060 = HEAP32[$yymsp>>2]|0; - $1061 = ((($1060)) + -32|0); - $1062 = ((($1061)) + 4|0); - HEAP32[$1062>>2] = $1059; - break; - } - case 121: { - $1063 = HEAP32[$pParse>>2]|0; - $1064 = HEAP32[$yymsp>>2]|0; - $1065 = ((($1064)) + -48|0); - $1066 = ((($1065)) + 4|0); - $1067 = HEAP32[$1066>>2]|0; - $1068 = HEAP32[$yymsp>>2]|0; - $1069 = ((($1068)) + -16|0); - $1070 = ((($1069)) + 4|0); - $1071 = HEAP32[$1070>>2]|0; - $1072 = (_sqlite3ExprListAppend($1063,$1067,$1071)|0); - $1073 = HEAP32[$yymsp>>2]|0; - $1074 = ((($1073)) + -48|0); - $1075 = ((($1074)) + 4|0); - HEAP32[$1075>>2] = $1072; - $1076 = HEAP32[$yymsp>>2]|0; - $1077 = ((($1076)) + -48|0); - $1078 = ((($1077)) + 4|0); - $1079 = HEAP32[$1078>>2]|0; - $1080 = HEAP32[$yymsp>>2]|0; - $1081 = ((($1080)) + 4|0); - $1082 = HEAP32[$1081>>2]|0; - _sqlite3ExprListSetSortOrder($1079,$1082); - break; - } - case 122: { - $1083 = HEAP32[$pParse>>2]|0; - $1084 = HEAP32[$yymsp>>2]|0; - $1085 = ((($1084)) + -16|0); - $1086 = ((($1085)) + 4|0); - $1087 = HEAP32[$1086>>2]|0; - $1088 = (_sqlite3ExprListAppend($1083,0,$1087)|0); - $1089 = HEAP32[$yymsp>>2]|0; - $1090 = ((($1089)) + -16|0); - $1091 = ((($1090)) + 4|0); - HEAP32[$1091>>2] = $1088; - $1092 = HEAP32[$yymsp>>2]|0; - $1093 = ((($1092)) + -16|0); - $1094 = ((($1093)) + 4|0); - $1095 = HEAP32[$1094>>2]|0; - $1096 = HEAP32[$yymsp>>2]|0; - $1097 = ((($1096)) + 4|0); - $1098 = HEAP32[$1097>>2]|0; - _sqlite3ExprListSetSortOrder($1095,$1098); - break; - } - case 123: { - $1099 = HEAP32[$yymsp>>2]|0; - $1100 = ((($1099)) + 4|0); - HEAP32[$1100>>2] = 0; - break; - } - case 124: { - $1101 = HEAP32[$yymsp>>2]|0; - $1102 = ((($1101)) + 4|0); - HEAP32[$1102>>2] = 1; - break; - } - case 125: { - $1103 = HEAP32[$yymsp>>2]|0; - $1104 = ((($1103)) + 16|0); - $1105 = ((($1104)) + 4|0); - HEAP32[$1105>>2] = -1; - break; - } - case 130: { - $1106 = HEAP32[$yymsp>>2]|0; - $1107 = ((($1106)) + 16|0); - $1108 = ((($1107)) + 4|0); - HEAP32[$1108>>2] = 0; - $1109 = HEAP32[$yymsp>>2]|0; - $1110 = ((($1109)) + 16|0); - $1111 = ((($1110)) + 4|0); - $1112 = ((($1111)) + 4|0); - HEAP32[$1112>>2] = 0; - break; - } - case 131: { - $1113 = HEAP32[$yymsp>>2]|0; - $1114 = ((($1113)) + 4|0); - $1115 = HEAP32[$1114>>2]|0; - $1116 = HEAP32[$yymsp>>2]|0; - $1117 = ((($1116)) + -16|0); - $1118 = ((($1117)) + 4|0); - HEAP32[$1118>>2] = $1115; - $1119 = HEAP32[$yymsp>>2]|0; - $1120 = ((($1119)) + -16|0); - $1121 = ((($1120)) + 4|0); - $1122 = ((($1121)) + 4|0); - HEAP32[$1122>>2] = 0; - break; - } - case 132: { - $1123 = HEAP32[$yymsp>>2]|0; - $1124 = ((($1123)) + -32|0); - $1125 = ((($1124)) + 4|0); - $1126 = HEAP32[$1125>>2]|0; - $1127 = HEAP32[$yymsp>>2]|0; - $1128 = ((($1127)) + -48|0); - $1129 = ((($1128)) + 4|0); - HEAP32[$1129>>2] = $1126; - $1130 = HEAP32[$yymsp>>2]|0; - $1131 = ((($1130)) + 4|0); - $1132 = HEAP32[$1131>>2]|0; - $1133 = HEAP32[$yymsp>>2]|0; - $1134 = ((($1133)) + -48|0); - $1135 = ((($1134)) + 4|0); - $1136 = ((($1135)) + 4|0); - HEAP32[$1136>>2] = $1132; - break; - } - case 133: { - $1137 = HEAP32[$yymsp>>2]|0; - $1138 = ((($1137)) + -32|0); - $1139 = ((($1138)) + 4|0); - $1140 = HEAP32[$1139>>2]|0; - $1141 = HEAP32[$yymsp>>2]|0; - $1142 = ((($1141)) + -48|0); - $1143 = ((($1142)) + 4|0); - $1144 = ((($1143)) + 4|0); - HEAP32[$1144>>2] = $1140; - $1145 = HEAP32[$yymsp>>2]|0; - $1146 = ((($1145)) + 4|0); - $1147 = HEAP32[$1146>>2]|0; - $1148 = HEAP32[$yymsp>>2]|0; - $1149 = ((($1148)) + -48|0); - $1150 = ((($1149)) + 4|0); - HEAP32[$1150>>2] = $1147; - break; - } - case 134: { - $1151 = HEAP32[$pParse>>2]|0; - $1152 = HEAP32[$yymsp>>2]|0; - $1153 = ((($1152)) + -80|0); - $1154 = ((($1153)) + 4|0); - $1155 = HEAP32[$1154>>2]|0; - _sqlite3WithPush($1151,$1155,1); - $1156 = HEAP32[$pParse>>2]|0; - $1157 = HEAP32[$yymsp>>2]|0; - $1158 = ((($1157)) + -32|0); - $1159 = ((($1158)) + 4|0); - $1160 = HEAP32[$1159>>2]|0; - $1161 = HEAP32[$yymsp>>2]|0; - $1162 = ((($1161)) + -16|0); - $1163 = ((($1162)) + 4|0); - _sqlite3SrcListIndexedBy($1156,$1160,$1163); - $1164 = HEAP32[$pParse>>2]|0; - $1165 = HEAP32[$yymsp>>2]|0; - $1166 = ((($1165)) + -32|0); - $1167 = ((($1166)) + 4|0); - $1168 = HEAP32[$1167>>2]|0; - $1169 = HEAP32[$yymsp>>2]|0; - $1170 = ((($1169)) + 4|0); - $1171 = HEAP32[$1170>>2]|0; - _sqlite3DeleteFrom($1164,$1168,$1171); - break; - } - case 137: { - $1172 = HEAP32[$pParse>>2]|0; - $1173 = HEAP32[$yymsp>>2]|0; - $1174 = ((($1173)) + -112|0); - $1175 = ((($1174)) + 4|0); - $1176 = HEAP32[$1175>>2]|0; - _sqlite3WithPush($1172,$1176,1); - $1177 = HEAP32[$pParse>>2]|0; - $1178 = HEAP32[$yymsp>>2]|0; - $1179 = ((($1178)) + -64|0); - $1180 = ((($1179)) + 4|0); - $1181 = HEAP32[$1180>>2]|0; - $1182 = HEAP32[$yymsp>>2]|0; - $1183 = ((($1182)) + -48|0); - $1184 = ((($1183)) + 4|0); - _sqlite3SrcListIndexedBy($1177,$1181,$1184); - $1185 = HEAP32[$pParse>>2]|0; - $1186 = HEAP32[$yymsp>>2]|0; - $1187 = ((($1186)) + -16|0); - $1188 = ((($1187)) + 4|0); - $1189 = HEAP32[$1188>>2]|0; - _sqlite3ExprListCheckLength($1185,$1189,27177); - $1190 = HEAP32[$pParse>>2]|0; - $1191 = HEAP32[$yymsp>>2]|0; - $1192 = ((($1191)) + -64|0); - $1193 = ((($1192)) + 4|0); - $1194 = HEAP32[$1193>>2]|0; - $1195 = HEAP32[$yymsp>>2]|0; - $1196 = ((($1195)) + -16|0); - $1197 = ((($1196)) + 4|0); - $1198 = HEAP32[$1197>>2]|0; - $1199 = HEAP32[$yymsp>>2]|0; - $1200 = ((($1199)) + 4|0); - $1201 = HEAP32[$1200>>2]|0; - $1202 = HEAP32[$yymsp>>2]|0; - $1203 = ((($1202)) + -80|0); - $1204 = ((($1203)) + 4|0); - $1205 = HEAP32[$1204>>2]|0; - _sqlite3Update($1190,$1194,$1198,$1201,$1205); - break; - } - case 138: { - $1206 = HEAP32[$pParse>>2]|0; - $1207 = HEAP32[$yymsp>>2]|0; - $1208 = ((($1207)) + -64|0); - $1209 = ((($1208)) + 4|0); - $1210 = HEAP32[$1209>>2]|0; - $1211 = HEAP32[$yymsp>>2]|0; - $1212 = ((($1211)) + 4|0); - $1213 = HEAP32[$1212>>2]|0; - $1214 = (_sqlite3ExprListAppend($1206,$1210,$1213)|0); - $1215 = HEAP32[$yymsp>>2]|0; - $1216 = ((($1215)) + -64|0); - $1217 = ((($1216)) + 4|0); - HEAP32[$1217>>2] = $1214; - $1218 = HEAP32[$pParse>>2]|0; - $1219 = HEAP32[$yymsp>>2]|0; - $1220 = ((($1219)) + -64|0); - $1221 = ((($1220)) + 4|0); - $1222 = HEAP32[$1221>>2]|0; - $1223 = HEAP32[$yymsp>>2]|0; - $1224 = ((($1223)) + -32|0); - $1225 = ((($1224)) + 4|0); - _sqlite3ExprListSetName($1218,$1222,$1225,1); - break; - } - case 139: { - $1226 = HEAP32[$pParse>>2]|0; - $1227 = HEAP32[$yymsp>>2]|0; - $1228 = ((($1227)) + -96|0); - $1229 = ((($1228)) + 4|0); - $1230 = HEAP32[$1229>>2]|0; - $1231 = HEAP32[$yymsp>>2]|0; - $1232 = ((($1231)) + -48|0); - $1233 = ((($1232)) + 4|0); - $1234 = HEAP32[$1233>>2]|0; - $1235 = HEAP32[$yymsp>>2]|0; - $1236 = ((($1235)) + 4|0); - $1237 = HEAP32[$1236>>2]|0; - $1238 = (_sqlite3ExprListAppendVector($1226,$1230,$1234,$1237)|0); - $1239 = HEAP32[$yymsp>>2]|0; - $1240 = ((($1239)) + -96|0); - $1241 = ((($1240)) + 4|0); - HEAP32[$1241>>2] = $1238; - break; - } - case 140: { - $1242 = HEAP32[$pParse>>2]|0; - $1243 = HEAP32[$yymsp>>2]|0; - $1244 = ((($1243)) + 4|0); - $1245 = HEAP32[$1244>>2]|0; - $1246 = (_sqlite3ExprListAppend($1242,0,$1245)|0); - HEAP32[$yylhsminor>>2] = $1246; - $1247 = HEAP32[$pParse>>2]|0; - $1248 = HEAP32[$yylhsminor>>2]|0; - $1249 = HEAP32[$yymsp>>2]|0; - $1250 = ((($1249)) + -32|0); - $1251 = ((($1250)) + 4|0); - _sqlite3ExprListSetName($1247,$1248,$1251,1); - $1252 = HEAP32[$yylhsminor>>2]|0; - $1253 = HEAP32[$yymsp>>2]|0; - $1254 = ((($1253)) + -32|0); - $1255 = ((($1254)) + 4|0); - HEAP32[$1255>>2] = $1252; - break; - } - case 141: { - $1256 = HEAP32[$pParse>>2]|0; - $1257 = HEAP32[$yymsp>>2]|0; - $1258 = ((($1257)) + -48|0); - $1259 = ((($1258)) + 4|0); - $1260 = HEAP32[$1259>>2]|0; - $1261 = HEAP32[$yymsp>>2]|0; - $1262 = ((($1261)) + 4|0); - $1263 = HEAP32[$1262>>2]|0; - $1264 = (_sqlite3ExprListAppendVector($1256,0,$1260,$1263)|0); - $1265 = HEAP32[$yymsp>>2]|0; - $1266 = ((($1265)) + -64|0); - $1267 = ((($1266)) + 4|0); - HEAP32[$1267>>2] = $1264; - break; - } - case 142: { - $1268 = HEAP32[$pParse>>2]|0; - $1269 = HEAP32[$yymsp>>2]|0; - $1270 = ((($1269)) + -80|0); - $1271 = ((($1270)) + 4|0); - $1272 = HEAP32[$1271>>2]|0; - _sqlite3WithPush($1268,$1272,1); - $1273 = HEAP32[$pParse>>2]|0; - $1274 = HEAP32[$yymsp>>2]|0; - $1275 = ((($1274)) + -32|0); - $1276 = ((($1275)) + 4|0); - $1277 = HEAP32[$1276>>2]|0; - $1278 = HEAP32[$yymsp>>2]|0; - $1279 = ((($1278)) + 4|0); - $1280 = HEAP32[$1279>>2]|0; - $1281 = HEAP32[$yymsp>>2]|0; - $1282 = ((($1281)) + -16|0); - $1283 = ((($1282)) + 4|0); - $1284 = HEAP32[$1283>>2]|0; - $1285 = HEAP32[$yymsp>>2]|0; - $1286 = ((($1285)) + -64|0); - $1287 = ((($1286)) + 4|0); - $1288 = HEAP32[$1287>>2]|0; - _sqlite3Insert($1273,$1277,$1280,$1284,$1288); - break; - } - case 143: { - $1289 = HEAP32[$pParse>>2]|0; - $1290 = HEAP32[$yymsp>>2]|0; - $1291 = ((($1290)) + -96|0); - $1292 = ((($1291)) + 4|0); - $1293 = HEAP32[$1292>>2]|0; - _sqlite3WithPush($1289,$1293,1); - $1294 = HEAP32[$pParse>>2]|0; - $1295 = HEAP32[$yymsp>>2]|0; - $1296 = ((($1295)) + -48|0); - $1297 = ((($1296)) + 4|0); - $1298 = HEAP32[$1297>>2]|0; - $1299 = HEAP32[$yymsp>>2]|0; - $1300 = ((($1299)) + -32|0); - $1301 = ((($1300)) + 4|0); - $1302 = HEAP32[$1301>>2]|0; - $1303 = HEAP32[$yymsp>>2]|0; - $1304 = ((($1303)) + -80|0); - $1305 = ((($1304)) + 4|0); - $1306 = HEAP32[$1305>>2]|0; - _sqlite3Insert($1294,$1298,0,$1302,$1306); - break; - } - case 147: { - $1307 = HEAP32[$yymsp>>2]|0; - $1308 = ((($1307)) + -16|0); - $1309 = ((($1308)) + 4|0); - $1310 = HEAP32[$1309>>2]|0; - $1311 = HEAP32[$yymsp>>2]|0; - $1312 = ((($1311)) + -32|0); - $1313 = ((($1312)) + 4|0); - HEAP32[$1313>>2] = $1310; - break; - } - case 148: { - $1314 = HEAP32[$pParse>>2]|0; - $1315 = HEAP32[$1314>>2]|0; - $1316 = HEAP32[$yymsp>>2]|0; - $1317 = ((($1316)) + -32|0); - $1318 = ((($1317)) + 4|0); - $1319 = HEAP32[$1318>>2]|0; - $1320 = HEAP32[$yymsp>>2]|0; - $1321 = ((($1320)) + 4|0); - $1322 = (_sqlite3IdListAppend($1315,$1319,$1321)|0); - $1323 = HEAP32[$yymsp>>2]|0; - $1324 = ((($1323)) + -32|0); - $1325 = ((($1324)) + 4|0); - HEAP32[$1325>>2] = $1322; - break; - } - case 149: { - $1326 = HEAP32[$pParse>>2]|0; - $1327 = HEAP32[$1326>>2]|0; - $1328 = HEAP32[$yymsp>>2]|0; - $1329 = ((($1328)) + 4|0); - $1330 = (_sqlite3IdListAppend($1327,0,$1329)|0); - $1331 = HEAP32[$yymsp>>2]|0; - $1332 = ((($1331)) + 4|0); - HEAP32[$1332>>2] = $1330; - break; - } - case 150: { - $1333 = HEAP32[$yymsp>>2]|0; - $1334 = ((($1333)) + -32|0); - $1335 = ((($1334)) + 4|0); - $1336 = HEAP32[$yymsp>>2]|0; - $1337 = ((($1336)) + -32|0); - $1338 = ((($1337)) + 4|0); - $1339 = HEAP32[$yymsp>>2]|0; - $1340 = ((($1339)) + 4|0); - _spanSet($1335,$1338,$1340); - $1341 = HEAP32[$yymsp>>2]|0; - $1342 = ((($1341)) + -16|0); - $1343 = ((($1342)) + 4|0); - $1344 = HEAP32[$1343>>2]|0; - $1345 = HEAP32[$yymsp>>2]|0; - $1346 = ((($1345)) + -32|0); - $1347 = ((($1346)) + 4|0); - HEAP32[$1347>>2] = $1344; - break; - } - case 157: case 156: case 151: { - $1348 = HEAP32[$yymsp>>2]|0; - $1349 = ((($1348)) + 4|0); - $1350 = HEAP32[$pParse>>2]|0; - $1351 = HEAP32[$yymsp>>2]|0; - $1352 = ((($1351)) + 2|0); - $1353 = HEAP8[$1352>>0]|0; - $1354 = $1353&255; - $1355 = HEAP32[$yymsp>>2]|0; - $1356 = ((($1355)) + 4|0); - ;HEAP32[$$byval_copy16>>2]=HEAP32[$1356>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$1356+4>>2]|0; - _spanExpr($1349,$1350,$1354,$$byval_copy16); - break; - } - case 153: case 152: { - $1357 = HEAP32[$yymsp>>2]|0; - $1358 = ((($1357)) + 4|0); - $1359 = HEAP32[$pParse>>2]|0; - $1360 = HEAP32[$yymsp>>2]|0; - $1361 = ((($1360)) + 4|0); - ;HEAP32[$$byval_copy16>>2]=HEAP32[$1361>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$1361+4>>2]|0; - _spanExpr($1358,$1359,55,$$byval_copy16); - break; - } - case 154: { - $1362 = HEAP32[$pParse>>2]|0; - $1363 = HEAP32[$1362>>2]|0; - $1364 = HEAP32[$yymsp>>2]|0; - $1365 = ((($1364)) + -32|0); - $1366 = ((($1365)) + 4|0); - $1367 = (_sqlite3ExprAlloc($1363,55,$1366,1)|0); - HEAP32[$temp1>>2] = $1367; - $1368 = HEAP32[$pParse>>2]|0; - $1369 = HEAP32[$1368>>2]|0; - $1370 = HEAP32[$yymsp>>2]|0; - $1371 = ((($1370)) + 4|0); - $1372 = (_sqlite3ExprAlloc($1369,55,$1371,1)|0); - HEAP32[$temp2>>2] = $1372; - $1373 = HEAP32[$yymsp>>2]|0; - $1374 = ((($1373)) + -32|0); - $1375 = ((($1374)) + 4|0); - $1376 = HEAP32[$yymsp>>2]|0; - $1377 = ((($1376)) + -32|0); - $1378 = ((($1377)) + 4|0); - $1379 = HEAP32[$yymsp>>2]|0; - $1380 = ((($1379)) + 4|0); - _spanSet($1375,$1378,$1380); - $1381 = HEAP32[$pParse>>2]|0; - $1382 = HEAP32[$temp1>>2]|0; - $1383 = HEAP32[$temp2>>2]|0; - $1384 = (_sqlite3PExpr($1381,122,$1382,$1383,0)|0); - $1385 = HEAP32[$yymsp>>2]|0; - $1386 = ((($1385)) + -32|0); - $1387 = ((($1386)) + 4|0); - HEAP32[$1387>>2] = $1384; + case 154: { + $1404 = HEAP32[$8>>2]|0; + $1405 = HEAP32[$1404>>2]|0; + $1406 = HEAP32[$6>>2]|0; + $1407 = ((($1406)) + -32|0); + $1408 = ((($1407)) + 4|0); + $1409 = (_sqlite3ExprAlloc($1405,55,$1408,1)|0); + HEAP32[$27>>2] = $1409; + $1410 = HEAP32[$8>>2]|0; + $1411 = HEAP32[$1410>>2]|0; + $1412 = HEAP32[$6>>2]|0; + $1413 = ((($1412)) + 4|0); + $1414 = (_sqlite3ExprAlloc($1411,55,$1413,1)|0); + HEAP32[$28>>2] = $1414; + $1415 = HEAP32[$6>>2]|0; + $1416 = ((($1415)) + -32|0); + $1417 = ((($1416)) + 4|0); + $1418 = HEAP32[$6>>2]|0; + $1419 = ((($1418)) + -32|0); + $1420 = ((($1419)) + 4|0); + $1421 = HEAP32[$6>>2]|0; + $1422 = ((($1421)) + 4|0); + _spanSet($1417,$1420,$1422); + $1423 = HEAP32[$8>>2]|0; + $1424 = HEAP32[$27>>2]|0; + $1425 = HEAP32[$28>>2]|0; + $1426 = (_sqlite3PExpr($1423,122,$1424,$1425,0)|0); + $1427 = HEAP32[$6>>2]|0; + $1428 = ((($1427)) + -32|0); + $1429 = ((($1428)) + 4|0); + HEAP32[$1429>>2] = $1426; break; } case 155: { - $1388 = HEAP32[$pParse>>2]|0; - $1389 = HEAP32[$1388>>2]|0; - $1390 = HEAP32[$yymsp>>2]|0; - $1391 = ((($1390)) + -64|0); - $1392 = ((($1391)) + 4|0); - $1393 = (_sqlite3ExprAlloc($1389,55,$1392,1)|0); - HEAP32[$temp15>>2] = $1393; - $1394 = HEAP32[$pParse>>2]|0; - $1395 = HEAP32[$1394>>2]|0; - $1396 = HEAP32[$yymsp>>2]|0; - $1397 = ((($1396)) + -32|0); - $1398 = ((($1397)) + 4|0); - $1399 = (_sqlite3ExprAlloc($1395,55,$1398,1)|0); - HEAP32[$temp26>>2] = $1399; - $1400 = HEAP32[$pParse>>2]|0; - $1401 = HEAP32[$1400>>2]|0; - $1402 = HEAP32[$yymsp>>2]|0; - $1403 = ((($1402)) + 4|0); - $1404 = (_sqlite3ExprAlloc($1401,55,$1403,1)|0); - HEAP32[$temp3>>2] = $1404; - $1405 = HEAP32[$pParse>>2]|0; - $1406 = HEAP32[$temp26>>2]|0; - $1407 = HEAP32[$temp3>>2]|0; - $1408 = (_sqlite3PExpr($1405,122,$1406,$1407,0)|0); - HEAP32[$temp4>>2] = $1408; - $1409 = HEAP32[$yymsp>>2]|0; - $1410 = ((($1409)) + -64|0); - $1411 = ((($1410)) + 4|0); - $1412 = HEAP32[$yymsp>>2]|0; - $1413 = ((($1412)) + -64|0); - $1414 = ((($1413)) + 4|0); - $1415 = HEAP32[$yymsp>>2]|0; - $1416 = ((($1415)) + 4|0); - _spanSet($1411,$1414,$1416); - $1417 = HEAP32[$pParse>>2]|0; - $1418 = HEAP32[$temp15>>2]|0; - $1419 = HEAP32[$temp4>>2]|0; - $1420 = (_sqlite3PExpr($1417,122,$1418,$1419,0)|0); - $1421 = HEAP32[$yymsp>>2]|0; - $1422 = ((($1421)) + -64|0); - $1423 = ((($1422)) + 4|0); - HEAP32[$1423>>2] = $1420; + $1430 = HEAP32[$8>>2]|0; + $1431 = HEAP32[$1430>>2]|0; + $1432 = HEAP32[$6>>2]|0; + $1433 = ((($1432)) + -64|0); + $1434 = ((($1433)) + 4|0); + $1435 = (_sqlite3ExprAlloc($1431,55,$1434,1)|0); + HEAP32[$29>>2] = $1435; + $1436 = HEAP32[$8>>2]|0; + $1437 = HEAP32[$1436>>2]|0; + $1438 = HEAP32[$6>>2]|0; + $1439 = ((($1438)) + -32|0); + $1440 = ((($1439)) + 4|0); + $1441 = (_sqlite3ExprAlloc($1437,55,$1440,1)|0); + HEAP32[$30>>2] = $1441; + $1442 = HEAP32[$8>>2]|0; + $1443 = HEAP32[$1442>>2]|0; + $1444 = HEAP32[$6>>2]|0; + $1445 = ((($1444)) + 4|0); + $1446 = (_sqlite3ExprAlloc($1443,55,$1445,1)|0); + HEAP32[$31>>2] = $1446; + $1447 = HEAP32[$8>>2]|0; + $1448 = HEAP32[$30>>2]|0; + $1449 = HEAP32[$31>>2]|0; + $1450 = (_sqlite3PExpr($1447,122,$1448,$1449,0)|0); + HEAP32[$32>>2] = $1450; + $1451 = HEAP32[$6>>2]|0; + $1452 = ((($1451)) + -64|0); + $1453 = ((($1452)) + 4|0); + $1454 = HEAP32[$6>>2]|0; + $1455 = ((($1454)) + -64|0); + $1456 = ((($1455)) + 4|0); + $1457 = HEAP32[$6>>2]|0; + $1458 = ((($1457)) + 4|0); + _spanSet($1453,$1456,$1458); + $1459 = HEAP32[$8>>2]|0; + $1460 = HEAP32[$29>>2]|0; + $1461 = HEAP32[$32>>2]|0; + $1462 = (_sqlite3PExpr($1459,122,$1460,$1461,0)|0); + $1463 = HEAP32[$6>>2]|0; + $1464 = ((($1463)) + -64|0); + $1465 = ((($1464)) + 4|0); + HEAP32[$1465>>2] = $1462; break; } case 158: { - $1424 = HEAP32[$pParse>>2]|0; - $1425 = HEAP32[$1424>>2]|0; - $1426 = HEAP32[$yymsp>>2]|0; - $1427 = ((($1426)) + 4|0); - $1428 = (_sqlite3ExprAlloc($1425,134,$1427,1)|0); - HEAP32[$yylhsminor>>2] = $1428; - $1429 = HEAP32[$yymsp>>2]|0; - $1430 = ((($1429)) + 4|0); - $1431 = HEAP32[$1430>>2]|0; - $1432 = ((($yylhsminor)) + 4|0); - HEAP32[$1432>>2] = $1431; - $1433 = HEAP32[$yymsp>>2]|0; - $1434 = ((($1433)) + 4|0); - $1435 = HEAP32[$1434>>2]|0; - $1436 = HEAP32[$yymsp>>2]|0; - $1437 = ((($1436)) + 4|0); - $1438 = ((($1437)) + 4|0); - $1439 = HEAP32[$1438>>2]|0; - $1440 = (($1435) + ($1439)|0); - $1441 = ((($yylhsminor)) + 8|0); - HEAP32[$1441>>2] = $1440; - $1442 = HEAP32[$yylhsminor>>2]|0; - $1443 = ($1442|0)!=(0|0); - if ($1443) { - $1444 = HEAP32[$yylhsminor>>2]|0; - $1445 = ((($1444)) + 4|0); - $1446 = HEAP32[$1445>>2]|0; - $1447 = $1446 | 8388608; - HEAP32[$1445>>2] = $1447; - } - $1448 = HEAP32[$yymsp>>2]|0; - $1449 = ((($1448)) + 4|0); - ;HEAP32[$1449>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1449+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1449+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + $1466 = HEAP32[$8>>2]|0; + $1467 = HEAP32[$1466>>2]|0; + $1468 = HEAP32[$6>>2]|0; + $1469 = ((($1468)) + 4|0); + $1470 = (_sqlite3ExprAlloc($1467,134,$1469,1)|0); + HEAP32[$9>>2] = $1470; + $1471 = HEAP32[$6>>2]|0; + $1472 = ((($1471)) + 4|0); + $1473 = HEAP32[$1472>>2]|0; + $1474 = ((($9)) + 4|0); + HEAP32[$1474>>2] = $1473; + $1475 = HEAP32[$6>>2]|0; + $1476 = ((($1475)) + 4|0); + $1477 = HEAP32[$1476>>2]|0; + $1478 = HEAP32[$6>>2]|0; + $1479 = ((($1478)) + 4|0); + $1480 = ((($1479)) + 4|0); + $1481 = HEAP32[$1480>>2]|0; + $1482 = (($1477) + ($1481)|0); + $1483 = ((($9)) + 8|0); + HEAP32[$1483>>2] = $1482; + $1484 = HEAP32[$9>>2]|0; + $1485 = ($1484|0)!=(0|0); + if ($1485) { + $1486 = HEAP32[$9>>2]|0; + $1487 = ((($1486)) + 4|0); + $1488 = HEAP32[$1487>>2]|0; + $1489 = $1488 | 8388608; + HEAP32[$1487>>2] = $1489; + } + $1490 = HEAP32[$6>>2]|0; + $1491 = ((($1490)) + 4|0); + ;HEAP32[$1491>>2]=HEAP32[$9>>2]|0;HEAP32[$1491+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$1491+8>>2]=HEAP32[$9+8>>2]|0; break; } case 159: { - $1450 = HEAP32[$yymsp>>2]|0; - $1451 = ((($1450)) + 4|0); - $1452 = HEAP32[$1451>>2]|0; - $1453 = HEAP8[$1452>>0]|0; - $1454 = $1453 << 24 >> 24; - $1455 = ($1454|0)==(35); - if ($1455) { - $1456 = HEAP32[$yymsp>>2]|0; - $1457 = ((($1456)) + 4|0); - $1458 = HEAP32[$1457>>2]|0; - $1459 = ((($1458)) + 1|0); - $1460 = HEAP8[$1459>>0]|0; - $1461 = $1460&255; - $1462 = (18403 + ($1461)|0); - $1463 = HEAP8[$1462>>0]|0; - $1464 = $1463&255; - $1465 = $1464 & 4; - $1466 = ($1465|0)!=(0); - if ($1466) { - $1481 = HEAP32[$yymsp>>2]|0; - $1482 = ((($1481)) + 4|0); - ;HEAP32[$t>>2]=HEAP32[$1482>>2]|0;HEAP32[$t+4>>2]=HEAP32[$1482+4>>2]|0; - $1483 = HEAP32[$yymsp>>2]|0; - $1484 = ((($1483)) + 4|0); - _spanSet($1484,$t,$t); - $1485 = HEAP32[$pParse>>2]|0; - $1486 = ((($1485)) + 18|0); - $1487 = HEAP8[$1486>>0]|0; - $1488 = $1487&255; - $1489 = ($1488|0)==(0); - $1490 = HEAP32[$pParse>>2]|0; - if ($1489) { - HEAP32[$vararg_buffer2>>2] = $t; - _sqlite3ErrorMsg($1490,26462,$vararg_buffer2); - $1491 = HEAP32[$yymsp>>2]|0; - $1492 = ((($1491)) + 4|0); - HEAP32[$1492>>2] = 0; + $1492 = HEAP32[$6>>2]|0; + $1493 = ((($1492)) + 4|0); + $1494 = HEAP32[$1493>>2]|0; + $1495 = HEAP8[$1494>>0]|0; + $1496 = $1495 << 24 >> 24; + $1497 = ($1496|0)==(35); + if ($1497) { + $1498 = HEAP32[$6>>2]|0; + $1499 = ((($1498)) + 4|0); + $1500 = HEAP32[$1499>>2]|0; + $1501 = ((($1500)) + 1|0); + $1502 = HEAP8[$1501>>0]|0; + $1503 = $1502&255; + $1504 = (20063 + ($1503)|0); + $1505 = HEAP8[$1504>>0]|0; + $1506 = $1505&255; + $1507 = $1506 & 4; + $1508 = ($1507|0)!=(0); + if ($1508) { + $1523 = HEAP32[$6>>2]|0; + $1524 = ((($1523)) + 4|0); + ;HEAP32[$34>>2]=HEAP32[$1524>>2]|0;HEAP32[$34+4>>2]=HEAP32[$1524+4>>2]|0; + $1525 = HEAP32[$6>>2]|0; + $1526 = ((($1525)) + 4|0); + _spanSet($1526,$34,$34); + $1527 = HEAP32[$8>>2]|0; + $1528 = ((($1527)) + 18|0); + $1529 = HEAP8[$1528>>0]|0; + $1530 = $1529&255; + $1531 = ($1530|0)==(0); + $1532 = HEAP32[$8>>2]|0; + if ($1531) { + HEAP32[$vararg_buffer12>>2] = $34; + _sqlite3ErrorMsg($1532,25313,$vararg_buffer12); + $1533 = HEAP32[$6>>2]|0; + $1534 = ((($1533)) + 4|0); + HEAP32[$1534>>2] = 0; break L6; } - $1493 = (_sqlite3PExpr($1490,157,0,0,0)|0); - $1494 = HEAP32[$yymsp>>2]|0; - $1495 = ((($1494)) + 4|0); - HEAP32[$1495>>2] = $1493; - $1496 = HEAP32[$yymsp>>2]|0; - $1497 = ((($1496)) + 4|0); - $1498 = HEAP32[$1497>>2]|0; - $1499 = ($1498|0)!=(0|0); - if (!($1499)) { + $1535 = (_sqlite3PExpr($1532,157,0,0,0)|0); + $1536 = HEAP32[$6>>2]|0; + $1537 = ((($1536)) + 4|0); + HEAP32[$1537>>2] = $1535; + $1538 = HEAP32[$6>>2]|0; + $1539 = ((($1538)) + 4|0); + $1540 = HEAP32[$1539>>2]|0; + $1541 = ($1540|0)!=(0|0); + if (!($1541)) { break L6; } - $1500 = HEAP32[$t>>2]|0; - $1501 = ((($1500)) + 1|0); - $1502 = HEAP32[$yymsp>>2]|0; - $1503 = ((($1502)) + 4|0); - $1504 = HEAP32[$1503>>2]|0; - $1505 = ((($1504)) + 28|0); - (_sqlite3GetInt32($1501,$1505)|0); + $1542 = HEAP32[$34>>2]|0; + $1543 = ((($1542)) + 1|0); + $1544 = HEAP32[$6>>2]|0; + $1545 = ((($1544)) + 4|0); + $1546 = HEAP32[$1545>>2]|0; + $1547 = ((($1546)) + 28|0); + (_sqlite3GetInt32($1543,$1547)|0); break L6; } } - $1467 = HEAP32[$yymsp>>2]|0; - $1468 = ((($1467)) + 4|0); - $1469 = ((($1468)) + 4|0); - $1470 = HEAP32[$1469>>2]|0; - HEAP32[$n>>2] = $1470; - $1471 = HEAP32[$yymsp>>2]|0; - $1472 = ((($1471)) + 4|0); - $1473 = HEAP32[$pParse>>2]|0; - $1474 = HEAP32[$yymsp>>2]|0; - $1475 = ((($1474)) + 4|0); - ;HEAP32[$$byval_copy16>>2]=HEAP32[$1475>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$1475+4>>2]|0; - _spanExpr($1472,$1473,135,$$byval_copy16); - $1476 = HEAP32[$pParse>>2]|0; - $1477 = HEAP32[$yymsp>>2]|0; - $1478 = ((($1477)) + 4|0); - $1479 = HEAP32[$1478>>2]|0; - $1480 = HEAP32[$n>>2]|0; - _sqlite3ExprAssignVarNumber($1476,$1479,$1480); + $1509 = HEAP32[$6>>2]|0; + $1510 = ((($1509)) + 4|0); + $1511 = ((($1510)) + 4|0); + $1512 = HEAP32[$1511>>2]|0; + HEAP32[$33>>2] = $1512; + $1513 = HEAP32[$6>>2]|0; + $1514 = ((($1513)) + 4|0); + $1515 = HEAP32[$8>>2]|0; + $1516 = HEAP32[$6>>2]|0; + $1517 = ((($1516)) + 4|0); + ;HEAP32[$$byval_copy26>>2]=HEAP32[$1517>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[$1517+4>>2]|0; + _spanExpr($1514,$1515,135,$$byval_copy26); + $1518 = HEAP32[$8>>2]|0; + $1519 = HEAP32[$6>>2]|0; + $1520 = ((($1519)) + 4|0); + $1521 = HEAP32[$1520>>2]|0; + $1522 = HEAP32[$33>>2]|0; + _sqlite3ExprAssignVarNumber($1518,$1521,$1522); break; } case 160: { - $1506 = HEAP32[$pParse>>2]|0; - $1507 = HEAP32[$yymsp>>2]|0; - $1508 = ((($1507)) + -32|0); - $1509 = ((($1508)) + 4|0); - $1510 = HEAP32[$1509>>2]|0; - $1511 = HEAP32[$yymsp>>2]|0; - $1512 = ((($1511)) + 4|0); - $1513 = (_sqlite3ExprAddCollateToken($1506,$1510,$1512,1)|0); - $1514 = HEAP32[$yymsp>>2]|0; - $1515 = ((($1514)) + -32|0); - $1516 = ((($1515)) + 4|0); - HEAP32[$1516>>2] = $1513; - $1517 = HEAP32[$yymsp>>2]|0; - $1518 = ((($1517)) + 4|0); - $1519 = ((($1518)) + 4|0); - $1520 = HEAP32[$1519>>2]|0; - $1521 = HEAP32[$yymsp>>2]|0; - $1522 = ((($1521)) + 4|0); - $1523 = HEAP32[$1522>>2]|0; - $1524 = (($1523) + ($1520)|0); - $1525 = HEAP32[$yymsp>>2]|0; - $1526 = ((($1525)) + -32|0); - $1527 = ((($1526)) + 4|0); - $1528 = ((($1527)) + 8|0); - HEAP32[$1528>>2] = $1524; + $1548 = HEAP32[$8>>2]|0; + $1549 = HEAP32[$6>>2]|0; + $1550 = ((($1549)) + -32|0); + $1551 = ((($1550)) + 4|0); + $1552 = HEAP32[$1551>>2]|0; + $1553 = HEAP32[$6>>2]|0; + $1554 = ((($1553)) + 4|0); + $1555 = (_sqlite3ExprAddCollateToken($1548,$1552,$1554,1)|0); + $1556 = HEAP32[$6>>2]|0; + $1557 = ((($1556)) + -32|0); + $1558 = ((($1557)) + 4|0); + HEAP32[$1558>>2] = $1555; + $1559 = HEAP32[$6>>2]|0; + $1560 = ((($1559)) + 4|0); + $1561 = HEAP32[$1560>>2]|0; + $1562 = HEAP32[$6>>2]|0; + $1563 = ((($1562)) + 4|0); + $1564 = ((($1563)) + 4|0); + $1565 = HEAP32[$1564>>2]|0; + $1566 = (($1561) + ($1565)|0); + $1567 = HEAP32[$6>>2]|0; + $1568 = ((($1567)) + -32|0); + $1569 = ((($1568)) + 4|0); + $1570 = ((($1569)) + 8|0); + HEAP32[$1570>>2] = $1566; break; } case 161: { - $1529 = HEAP32[$yymsp>>2]|0; - $1530 = ((($1529)) + -80|0); - $1531 = ((($1530)) + 4|0); - $1532 = HEAP32[$yymsp>>2]|0; - $1533 = ((($1532)) + -80|0); - $1534 = ((($1533)) + 4|0); - $1535 = HEAP32[$yymsp>>2]|0; - $1536 = ((($1535)) + 4|0); - _spanSet($1531,$1534,$1536); - $1537 = HEAP32[$pParse>>2]|0; - $1538 = HEAP32[$yymsp>>2]|0; - $1539 = ((($1538)) + -48|0); - $1540 = ((($1539)) + 4|0); - $1541 = HEAP32[$1540>>2]|0; - $1542 = HEAP32[$yymsp>>2]|0; - $1543 = ((($1542)) + -16|0); - $1544 = ((($1543)) + 4|0); - $1545 = (_sqlite3PExpr($1537,66,$1541,0,$1544)|0); - $1546 = HEAP32[$yymsp>>2]|0; - $1547 = ((($1546)) + -80|0); - $1548 = ((($1547)) + 4|0); - HEAP32[$1548>>2] = $1545; + $1571 = HEAP32[$6>>2]|0; + $1572 = ((($1571)) + -80|0); + $1573 = ((($1572)) + 4|0); + $1574 = HEAP32[$6>>2]|0; + $1575 = ((($1574)) + -80|0); + $1576 = ((($1575)) + 4|0); + $1577 = HEAP32[$6>>2]|0; + $1578 = ((($1577)) + 4|0); + _spanSet($1573,$1576,$1578); + $1579 = HEAP32[$8>>2]|0; + $1580 = HEAP32[$6>>2]|0; + $1581 = ((($1580)) + -48|0); + $1582 = ((($1581)) + 4|0); + $1583 = HEAP32[$1582>>2]|0; + $1584 = HEAP32[$6>>2]|0; + $1585 = ((($1584)) + -16|0); + $1586 = ((($1585)) + 4|0); + $1587 = (_sqlite3PExpr($1579,66,$1583,0,$1586)|0); + $1588 = HEAP32[$6>>2]|0; + $1589 = ((($1588)) + -80|0); + $1590 = ((($1589)) + 4|0); + HEAP32[$1590>>2] = $1587; break; } case 162: { - $1549 = HEAP32[$yymsp>>2]|0; - $1550 = ((($1549)) + -16|0); - $1551 = ((($1550)) + 4|0); - $1552 = HEAP32[$1551>>2]|0; - $1553 = ($1552|0)!=(0|0); - if ($1553) { - $1554 = HEAP32[$yymsp>>2]|0; - $1555 = ((($1554)) + -16|0); - $1556 = ((($1555)) + 4|0); - $1557 = HEAP32[$1556>>2]|0; - $1558 = HEAP32[$1557>>2]|0; - $1559 = HEAP32[$pParse>>2]|0; - $1560 = HEAP32[$1559>>2]|0; - $1561 = ((($1560)) + 96|0); - $1562 = ((($1561)) + 24|0); - $1563 = HEAP32[$1562>>2]|0; - $1564 = ($1558|0)>($1563|0); - if ($1564) { - $1565 = HEAP32[$pParse>>2]|0; - $1566 = HEAP32[$yymsp>>2]|0; - $1567 = ((($1566)) + -64|0); - $1568 = ((($1567)) + 4|0); - HEAP32[$vararg_buffer5>>2] = $1568; - _sqlite3ErrorMsg($1565,27186,$vararg_buffer5); - } - } - $1569 = HEAP32[$pParse>>2]|0; - $1570 = HEAP32[$yymsp>>2]|0; - $1571 = ((($1570)) + -16|0); - $1572 = ((($1571)) + 4|0); - $1573 = HEAP32[$1572>>2]|0; - $1574 = HEAP32[$yymsp>>2]|0; - $1575 = ((($1574)) + -64|0); - $1576 = ((($1575)) + 4|0); - $1577 = (_sqlite3ExprFunction($1569,$1573,$1576)|0); - HEAP32[$yylhsminor>>2] = $1577; - $1578 = HEAP32[$yymsp>>2]|0; - $1579 = ((($1578)) + -64|0); - $1580 = ((($1579)) + 4|0); - $1581 = HEAP32[$yymsp>>2]|0; - $1582 = ((($1581)) + 4|0); - _spanSet($yylhsminor,$1580,$1582); - $1583 = HEAP32[$yymsp>>2]|0; - $1584 = ((($1583)) + -32|0); - $1585 = ((($1584)) + 4|0); - $1586 = HEAP32[$1585>>2]|0; - $1587 = ($1586|0)==(1); - if ($1587) { - $1588 = HEAP32[$yylhsminor>>2]|0; - $1589 = ($1588|0)!=(0|0); - if ($1589) { - $1590 = HEAP32[$yylhsminor>>2]|0; - $1591 = ((($1590)) + 4|0); - $1592 = HEAP32[$1591>>2]|0; - $1593 = $1592 | 16; - HEAP32[$1591>>2] = $1593; - } - } - $1594 = HEAP32[$yymsp>>2]|0; - $1595 = ((($1594)) + -64|0); - $1596 = ((($1595)) + 4|0); - ;HEAP32[$1596>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1596+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1596+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + $1591 = HEAP32[$6>>2]|0; + $1592 = ((($1591)) + -16|0); + $1593 = ((($1592)) + 4|0); + $1594 = HEAP32[$1593>>2]|0; + $1595 = ($1594|0)!=(0|0); + if ($1595) { + $1596 = HEAP32[$6>>2]|0; + $1597 = ((($1596)) + -16|0); + $1598 = ((($1597)) + 4|0); + $1599 = HEAP32[$1598>>2]|0; + $1600 = HEAP32[$1599>>2]|0; + $1601 = HEAP32[$8>>2]|0; + $1602 = HEAP32[$1601>>2]|0; + $1603 = ((($1602)) + 96|0); + $1604 = ((($1603)) + 24|0); + $1605 = HEAP32[$1604>>2]|0; + $1606 = ($1600|0)>($1605|0); + if ($1606) { + $1607 = HEAP32[$8>>2]|0; + $1608 = HEAP32[$6>>2]|0; + $1609 = ((($1608)) + -64|0); + $1610 = ((($1609)) + 4|0); + HEAP32[$vararg_buffer15>>2] = $1610; + _sqlite3ErrorMsg($1607,26043,$vararg_buffer15); + } + } + $1611 = HEAP32[$8>>2]|0; + $1612 = HEAP32[$6>>2]|0; + $1613 = ((($1612)) + -16|0); + $1614 = ((($1613)) + 4|0); + $1615 = HEAP32[$1614>>2]|0; + $1616 = HEAP32[$6>>2]|0; + $1617 = ((($1616)) + -64|0); + $1618 = ((($1617)) + 4|0); + $1619 = (_sqlite3ExprFunction($1611,$1615,$1618)|0); + HEAP32[$9>>2] = $1619; + $1620 = HEAP32[$6>>2]|0; + $1621 = ((($1620)) + -64|0); + $1622 = ((($1621)) + 4|0); + $1623 = HEAP32[$6>>2]|0; + $1624 = ((($1623)) + 4|0); + _spanSet($9,$1622,$1624); + $1625 = HEAP32[$6>>2]|0; + $1626 = ((($1625)) + -32|0); + $1627 = ((($1626)) + 4|0); + $1628 = HEAP32[$1627>>2]|0; + $1629 = ($1628|0)==(1); + if ($1629) { + $1630 = HEAP32[$9>>2]|0; + $1631 = ($1630|0)!=(0|0); + if ($1631) { + $1632 = HEAP32[$9>>2]|0; + $1633 = ((($1632)) + 4|0); + $1634 = HEAP32[$1633>>2]|0; + $1635 = $1634 | 16; + HEAP32[$1633>>2] = $1635; + } + } + $1636 = HEAP32[$6>>2]|0; + $1637 = ((($1636)) + -64|0); + $1638 = ((($1637)) + 4|0); + ;HEAP32[$1638>>2]=HEAP32[$9>>2]|0;HEAP32[$1638+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$1638+8>>2]=HEAP32[$9+8>>2]|0; break; } case 163: { - $1597 = HEAP32[$pParse>>2]|0; - $1598 = HEAP32[$yymsp>>2]|0; - $1599 = ((($1598)) + -48|0); - $1600 = ((($1599)) + 4|0); - $1601 = (_sqlite3ExprFunction($1597,0,$1600)|0); - HEAP32[$yylhsminor>>2] = $1601; - $1602 = HEAP32[$yymsp>>2]|0; - $1603 = ((($1602)) + -48|0); - $1604 = ((($1603)) + 4|0); - $1605 = HEAP32[$yymsp>>2]|0; - $1606 = ((($1605)) + 4|0); - _spanSet($yylhsminor,$1604,$1606); - $1607 = HEAP32[$yymsp>>2]|0; - $1608 = ((($1607)) + -48|0); - $1609 = ((($1608)) + 4|0); - ;HEAP32[$1609>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1609+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1609+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + $1639 = HEAP32[$8>>2]|0; + $1640 = HEAP32[$6>>2]|0; + $1641 = ((($1640)) + -48|0); + $1642 = ((($1641)) + 4|0); + $1643 = (_sqlite3ExprFunction($1639,0,$1642)|0); + HEAP32[$9>>2] = $1643; + $1644 = HEAP32[$6>>2]|0; + $1645 = ((($1644)) + -48|0); + $1646 = ((($1645)) + 4|0); + $1647 = HEAP32[$6>>2]|0; + $1648 = ((($1647)) + 4|0); + _spanSet($9,$1646,$1648); + $1649 = HEAP32[$6>>2]|0; + $1650 = ((($1649)) + -48|0); + $1651 = ((($1650)) + 4|0); + ;HEAP32[$1651>>2]=HEAP32[$9>>2]|0;HEAP32[$1651+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$1651+8>>2]=HEAP32[$9+8>>2]|0; break; } case 164: { - $1610 = HEAP32[$pParse>>2]|0; - $1611 = HEAP32[$yymsp>>2]|0; - $1612 = ((($1611)) + 4|0); - $1613 = (_sqlite3ExprFunction($1610,0,$1612)|0); - HEAP32[$yylhsminor>>2] = $1613; - $1614 = HEAP32[$yymsp>>2]|0; - $1615 = ((($1614)) + 4|0); - $1616 = HEAP32[$yymsp>>2]|0; - $1617 = ((($1616)) + 4|0); - _spanSet($yylhsminor,$1615,$1617); - $1618 = HEAP32[$yymsp>>2]|0; - $1619 = ((($1618)) + 4|0); - ;HEAP32[$1619>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1619+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1619+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + $1652 = HEAP32[$8>>2]|0; + $1653 = HEAP32[$6>>2]|0; + $1654 = ((($1653)) + 4|0); + $1655 = (_sqlite3ExprFunction($1652,0,$1654)|0); + HEAP32[$9>>2] = $1655; + $1656 = HEAP32[$6>>2]|0; + $1657 = ((($1656)) + 4|0); + $1658 = HEAP32[$6>>2]|0; + $1659 = ((($1658)) + 4|0); + _spanSet($9,$1657,$1659); + $1660 = HEAP32[$6>>2]|0; + $1661 = ((($1660)) + 4|0); + ;HEAP32[$1661>>2]=HEAP32[$9>>2]|0;HEAP32[$1661+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$1661+8>>2]=HEAP32[$9+8>>2]|0; break; } case 165: { - $1620 = HEAP32[$pParse>>2]|0; - $1621 = HEAP32[$yymsp>>2]|0; - $1622 = ((($1621)) + -48|0); - $1623 = ((($1622)) + 4|0); - $1624 = HEAP32[$1623>>2]|0; - $1625 = HEAP32[$yymsp>>2]|0; - $1626 = ((($1625)) + -16|0); - $1627 = ((($1626)) + 4|0); - $1628 = HEAP32[$1627>>2]|0; - $1629 = (_sqlite3ExprListAppend($1620,$1624,$1628)|0); - HEAP32[$pList>>2] = $1629; - $1630 = HEAP32[$pParse>>2]|0; - $1631 = (_sqlite3PExpr($1630,158,0,0,0)|0); - HEAP32[$yylhsminor>>2] = $1631; - $1632 = HEAP32[$yylhsminor>>2]|0; - $1633 = ($1632|0)!=(0|0); - if ($1633) { - $1634 = HEAP32[$pList>>2]|0; - $1635 = HEAP32[$yylhsminor>>2]|0; - $1636 = ((($1635)) + 20|0); - HEAP32[$1636>>2] = $1634; - $1637 = HEAP32[$yymsp>>2]|0; - $1638 = ((($1637)) + -64|0); - $1639 = ((($1638)) + 4|0); - $1640 = HEAP32[$yymsp>>2]|0; - $1641 = ((($1640)) + 4|0); - _spanSet($yylhsminor,$1639,$1641); + $1662 = HEAP32[$8>>2]|0; + $1663 = HEAP32[$6>>2]|0; + $1664 = ((($1663)) + -48|0); + $1665 = ((($1664)) + 4|0); + $1666 = HEAP32[$1665>>2]|0; + $1667 = HEAP32[$6>>2]|0; + $1668 = ((($1667)) + -16|0); + $1669 = ((($1668)) + 4|0); + $1670 = HEAP32[$1669>>2]|0; + $1671 = (_sqlite3ExprListAppend($1662,$1666,$1670)|0); + HEAP32[$35>>2] = $1671; + $1672 = HEAP32[$8>>2]|0; + $1673 = (_sqlite3PExpr($1672,158,0,0,0)|0); + HEAP32[$9>>2] = $1673; + $1674 = HEAP32[$9>>2]|0; + $1675 = ($1674|0)!=(0|0); + if ($1675) { + $1676 = HEAP32[$35>>2]|0; + $1677 = HEAP32[$9>>2]|0; + $1678 = ((($1677)) + 20|0); + HEAP32[$1678>>2] = $1676; + $1679 = HEAP32[$6>>2]|0; + $1680 = ((($1679)) + -64|0); + $1681 = ((($1680)) + 4|0); + $1682 = HEAP32[$6>>2]|0; + $1683 = ((($1682)) + 4|0); + _spanSet($9,$1681,$1683); } else { - $1642 = HEAP32[$pParse>>2]|0; - $1643 = HEAP32[$1642>>2]|0; - $1644 = HEAP32[$pList>>2]|0; - _sqlite3ExprListDelete($1643,$1644); + $1684 = HEAP32[$8>>2]|0; + $1685 = HEAP32[$1684>>2]|0; + $1686 = HEAP32[$35>>2]|0; + _sqlite3ExprListDelete($1685,$1686); } - $1645 = HEAP32[$yymsp>>2]|0; - $1646 = ((($1645)) + -64|0); - $1647 = ((($1646)) + 4|0); - ;HEAP32[$1647>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1647+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1647+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + $1687 = HEAP32[$6>>2]|0; + $1688 = ((($1687)) + -64|0); + $1689 = ((($1688)) + 4|0); + ;HEAP32[$1689>>2]=HEAP32[$9>>2]|0;HEAP32[$1689+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$1689+8>>2]=HEAP32[$9+8>>2]|0; break; } case 173: case 172: case 171: case 170: case 169: case 168: case 167: case 166: { - $1648 = HEAP32[$pParse>>2]|0; - $1649 = HEAP32[$yymsp>>2]|0; - $1650 = ((($1649)) + -16|0); - $1651 = ((($1650)) + 2|0); - $1652 = HEAP8[$1651>>0]|0; - $1653 = $1652&255; - $1654 = HEAP32[$yymsp>>2]|0; - $1655 = ((($1654)) + -32|0); - $1656 = ((($1655)) + 4|0); - $1657 = HEAP32[$yymsp>>2]|0; - $1658 = ((($1657)) + 4|0); - _spanBinaryExpr($1648,$1653,$1656,$1658); + $1690 = HEAP32[$8>>2]|0; + $1691 = HEAP32[$6>>2]|0; + $1692 = ((($1691)) + -16|0); + $1693 = ((($1692)) + 2|0); + $1694 = HEAP8[$1693>>0]|0; + $1695 = $1694&255; + $1696 = HEAP32[$6>>2]|0; + $1697 = ((($1696)) + -32|0); + $1698 = ((($1697)) + 4|0); + $1699 = HEAP32[$6>>2]|0; + $1700 = ((($1699)) + 4|0); + _spanBinaryExpr($1690,$1695,$1698,$1700); break; } case 174: { - $1659 = HEAP32[$yymsp>>2]|0; - $1660 = ((($1659)) + 4|0); - $1661 = HEAP32[$yymsp>>2]|0; - $1662 = ((($1661)) + 4|0); - ;HEAP32[$1660>>2]=HEAP32[$1662>>2]|0;HEAP32[$1660+4>>2]=HEAP32[$1662+4>>2]|0; + $1701 = HEAP32[$6>>2]|0; + $1702 = ((($1701)) + 4|0); + $1703 = HEAP32[$6>>2]|0; + $1704 = ((($1703)) + 4|0); + ;HEAP32[$1702>>2]=HEAP32[$1704>>2]|0;HEAP32[$1702+4>>2]=HEAP32[$1704+4>>2]|0; break; } case 175: { - $1663 = HEAP32[$yymsp>>2]|0; - $1664 = ((($1663)) + -16|0); - $1665 = ((($1664)) + 4|0); - $1666 = HEAP32[$yymsp>>2]|0; - $1667 = ((($1666)) + 4|0); - ;HEAP32[$1665>>2]=HEAP32[$1667>>2]|0;HEAP32[$1665+4>>2]=HEAP32[$1667+4>>2]|0; - $1668 = HEAP32[$yymsp>>2]|0; - $1669 = ((($1668)) + -16|0); - $1670 = ((($1669)) + 4|0); - $1671 = ((($1670)) + 4|0); - $1672 = HEAP32[$1671>>2]|0; - $1673 = $1672 | -2147483648; - HEAP32[$1671>>2] = $1673; + $1705 = HEAP32[$6>>2]|0; + $1706 = ((($1705)) + -16|0); + $1707 = ((($1706)) + 4|0); + $1708 = HEAP32[$6>>2]|0; + $1709 = ((($1708)) + 4|0); + ;HEAP32[$1707>>2]=HEAP32[$1709>>2]|0;HEAP32[$1707+4>>2]=HEAP32[$1709+4>>2]|0; + $1710 = HEAP32[$6>>2]|0; + $1711 = ((($1710)) + -16|0); + $1712 = ((($1711)) + 4|0); + $1713 = ((($1712)) + 4|0); + $1714 = HEAP32[$1713>>2]|0; + $1715 = $1714 | -2147483648; + HEAP32[$1713>>2] = $1715; break; } case 176: { - $1674 = HEAP32[$yymsp>>2]|0; - $1675 = ((($1674)) + -16|0); - $1676 = ((($1675)) + 4|0); - $1677 = ((($1676)) + 4|0); - $1678 = HEAP32[$1677>>2]|0; - $1679 = $1678 & -2147483648; - HEAP32[$bNot>>2] = $1679; - $1680 = HEAP32[$yymsp>>2]|0; - $1681 = ((($1680)) + -16|0); - $1682 = ((($1681)) + 4|0); - $1683 = ((($1682)) + 4|0); - $1684 = HEAP32[$1683>>2]|0; - $1685 = $1684 & 2147483647; - HEAP32[$1683>>2] = $1685; - $1686 = HEAP32[$pParse>>2]|0; - $1687 = HEAP32[$yymsp>>2]|0; - $1688 = ((($1687)) + 4|0); - $1689 = HEAP32[$1688>>2]|0; - $1690 = (_sqlite3ExprListAppend($1686,0,$1689)|0); - HEAP32[$pList7>>2] = $1690; - $1691 = HEAP32[$pParse>>2]|0; - $1692 = HEAP32[$pList7>>2]|0; - $1693 = HEAP32[$yymsp>>2]|0; - $1694 = ((($1693)) + -32|0); - $1695 = ((($1694)) + 4|0); - $1696 = HEAP32[$1695>>2]|0; - $1697 = (_sqlite3ExprListAppend($1691,$1692,$1696)|0); - HEAP32[$pList7>>2] = $1697; - $1698 = HEAP32[$pParse>>2]|0; - $1699 = HEAP32[$pList7>>2]|0; - $1700 = HEAP32[$yymsp>>2]|0; - $1701 = ((($1700)) + -16|0); - $1702 = ((($1701)) + 4|0); - $1703 = (_sqlite3ExprFunction($1698,$1699,$1702)|0); - $1704 = HEAP32[$yymsp>>2]|0; - $1705 = ((($1704)) + -32|0); - $1706 = ((($1705)) + 4|0); - HEAP32[$1706>>2] = $1703; - $1707 = HEAP32[$pParse>>2]|0; - $1708 = HEAP32[$bNot>>2]|0; - $1709 = HEAP32[$yymsp>>2]|0; - $1710 = ((($1709)) + -32|0); - $1711 = ((($1710)) + 4|0); - _exprNot($1707,$1708,$1711); - $1712 = HEAP32[$yymsp>>2]|0; - $1713 = ((($1712)) + 4|0); - $1714 = ((($1713)) + 8|0); - $1715 = HEAP32[$1714>>2]|0; - $1716 = HEAP32[$yymsp>>2]|0; - $1717 = ((($1716)) + -32|0); + $1716 = HEAP32[$6>>2]|0; + $1717 = ((($1716)) + -16|0); $1718 = ((($1717)) + 4|0); - $1719 = ((($1718)) + 8|0); - HEAP32[$1719>>2] = $1715; - $1720 = HEAP32[$yymsp>>2]|0; - $1721 = ((($1720)) + -32|0); - $1722 = ((($1721)) + 4|0); - $1723 = HEAP32[$1722>>2]|0; - $1724 = ($1723|0)!=(0|0); - if ($1724) { - $1725 = HEAP32[$yymsp>>2]|0; - $1726 = ((($1725)) + -32|0); - $1727 = ((($1726)) + 4|0); - $1728 = HEAP32[$1727>>2]|0; - $1729 = ((($1728)) + 4|0); - $1730 = HEAP32[$1729>>2]|0; - $1731 = $1730 | 128; - HEAP32[$1729>>2] = $1731; + $1719 = ((($1718)) + 4|0); + $1720 = HEAP32[$1719>>2]|0; + $1721 = $1720 & -2147483648; + HEAP32[$37>>2] = $1721; + $1722 = HEAP32[$6>>2]|0; + $1723 = ((($1722)) + -16|0); + $1724 = ((($1723)) + 4|0); + $1725 = ((($1724)) + 4|0); + $1726 = HEAP32[$1725>>2]|0; + $1727 = $1726 & 2147483647; + HEAP32[$1725>>2] = $1727; + $1728 = HEAP32[$8>>2]|0; + $1729 = HEAP32[$6>>2]|0; + $1730 = ((($1729)) + 4|0); + $1731 = HEAP32[$1730>>2]|0; + $1732 = (_sqlite3ExprListAppend($1728,0,$1731)|0); + HEAP32[$36>>2] = $1732; + $1733 = HEAP32[$8>>2]|0; + $1734 = HEAP32[$36>>2]|0; + $1735 = HEAP32[$6>>2]|0; + $1736 = ((($1735)) + -32|0); + $1737 = ((($1736)) + 4|0); + $1738 = HEAP32[$1737>>2]|0; + $1739 = (_sqlite3ExprListAppend($1733,$1734,$1738)|0); + HEAP32[$36>>2] = $1739; + $1740 = HEAP32[$8>>2]|0; + $1741 = HEAP32[$36>>2]|0; + $1742 = HEAP32[$6>>2]|0; + $1743 = ((($1742)) + -16|0); + $1744 = ((($1743)) + 4|0); + $1745 = (_sqlite3ExprFunction($1740,$1741,$1744)|0); + $1746 = HEAP32[$6>>2]|0; + $1747 = ((($1746)) + -32|0); + $1748 = ((($1747)) + 4|0); + HEAP32[$1748>>2] = $1745; + $1749 = HEAP32[$8>>2]|0; + $1750 = HEAP32[$37>>2]|0; + $1751 = HEAP32[$6>>2]|0; + $1752 = ((($1751)) + -32|0); + $1753 = ((($1752)) + 4|0); + _exprNot($1749,$1750,$1753); + $1754 = HEAP32[$6>>2]|0; + $1755 = ((($1754)) + 4|0); + $1756 = ((($1755)) + 8|0); + $1757 = HEAP32[$1756>>2]|0; + $1758 = HEAP32[$6>>2]|0; + $1759 = ((($1758)) + -32|0); + $1760 = ((($1759)) + 4|0); + $1761 = ((($1760)) + 8|0); + HEAP32[$1761>>2] = $1757; + $1762 = HEAP32[$6>>2]|0; + $1763 = ((($1762)) + -32|0); + $1764 = ((($1763)) + 4|0); + $1765 = HEAP32[$1764>>2]|0; + $1766 = ($1765|0)!=(0|0); + if ($1766) { + $1767 = HEAP32[$6>>2]|0; + $1768 = ((($1767)) + -32|0); + $1769 = ((($1768)) + 4|0); + $1770 = HEAP32[$1769>>2]|0; + $1771 = ((($1770)) + 4|0); + $1772 = HEAP32[$1771>>2]|0; + $1773 = $1772 | 128; + HEAP32[$1771>>2] = $1773; } break; } case 177: { - $1732 = HEAP32[$yymsp>>2]|0; - $1733 = ((($1732)) + -48|0); - $1734 = ((($1733)) + 4|0); - $1735 = ((($1734)) + 4|0); - $1736 = HEAP32[$1735>>2]|0; - $1737 = $1736 & -2147483648; - HEAP32[$bNot9>>2] = $1737; - $1738 = HEAP32[$yymsp>>2]|0; - $1739 = ((($1738)) + -48|0); - $1740 = ((($1739)) + 4|0); - $1741 = ((($1740)) + 4|0); - $1742 = HEAP32[$1741>>2]|0; - $1743 = $1742 & 2147483647; - HEAP32[$1741>>2] = $1743; - $1744 = HEAP32[$pParse>>2]|0; - $1745 = HEAP32[$yymsp>>2]|0; - $1746 = ((($1745)) + -32|0); - $1747 = ((($1746)) + 4|0); - $1748 = HEAP32[$1747>>2]|0; - $1749 = (_sqlite3ExprListAppend($1744,0,$1748)|0); - HEAP32[$pList8>>2] = $1749; - $1750 = HEAP32[$pParse>>2]|0; - $1751 = HEAP32[$pList8>>2]|0; - $1752 = HEAP32[$yymsp>>2]|0; - $1753 = ((($1752)) + -64|0); - $1754 = ((($1753)) + 4|0); - $1755 = HEAP32[$1754>>2]|0; - $1756 = (_sqlite3ExprListAppend($1750,$1751,$1755)|0); - HEAP32[$pList8>>2] = $1756; - $1757 = HEAP32[$pParse>>2]|0; - $1758 = HEAP32[$pList8>>2]|0; - $1759 = HEAP32[$yymsp>>2]|0; - $1760 = ((($1759)) + 4|0); - $1761 = HEAP32[$1760>>2]|0; - $1762 = (_sqlite3ExprListAppend($1757,$1758,$1761)|0); - HEAP32[$pList8>>2] = $1762; - $1763 = HEAP32[$pParse>>2]|0; - $1764 = HEAP32[$pList8>>2]|0; - $1765 = HEAP32[$yymsp>>2]|0; - $1766 = ((($1765)) + -48|0); - $1767 = ((($1766)) + 4|0); - $1768 = (_sqlite3ExprFunction($1763,$1764,$1767)|0); - $1769 = HEAP32[$yymsp>>2]|0; - $1770 = ((($1769)) + -64|0); - $1771 = ((($1770)) + 4|0); - HEAP32[$1771>>2] = $1768; - $1772 = HEAP32[$pParse>>2]|0; - $1773 = HEAP32[$bNot9>>2]|0; - $1774 = HEAP32[$yymsp>>2]|0; - $1775 = ((($1774)) + -64|0); + $1774 = HEAP32[$6>>2]|0; + $1775 = ((($1774)) + -48|0); $1776 = ((($1775)) + 4|0); - _exprNot($1772,$1773,$1776); - $1777 = HEAP32[$yymsp>>2]|0; - $1778 = ((($1777)) + 4|0); - $1779 = ((($1778)) + 8|0); - $1780 = HEAP32[$1779>>2]|0; - $1781 = HEAP32[$yymsp>>2]|0; - $1782 = ((($1781)) + -64|0); + $1777 = ((($1776)) + 4|0); + $1778 = HEAP32[$1777>>2]|0; + $1779 = $1778 & -2147483648; + HEAP32[$39>>2] = $1779; + $1780 = HEAP32[$6>>2]|0; + $1781 = ((($1780)) + -48|0); + $1782 = ((($1781)) + 4|0); $1783 = ((($1782)) + 4|0); - $1784 = ((($1783)) + 8|0); - HEAP32[$1784>>2] = $1780; - $1785 = HEAP32[$yymsp>>2]|0; - $1786 = ((($1785)) + -64|0); - $1787 = ((($1786)) + 4|0); - $1788 = HEAP32[$1787>>2]|0; - $1789 = ($1788|0)!=(0|0); - if ($1789) { - $1790 = HEAP32[$yymsp>>2]|0; - $1791 = ((($1790)) + -64|0); - $1792 = ((($1791)) + 4|0); - $1793 = HEAP32[$1792>>2]|0; - $1794 = ((($1793)) + 4|0); - $1795 = HEAP32[$1794>>2]|0; - $1796 = $1795 | 128; - HEAP32[$1794>>2] = $1796; + $1784 = HEAP32[$1783>>2]|0; + $1785 = $1784 & 2147483647; + HEAP32[$1783>>2] = $1785; + $1786 = HEAP32[$8>>2]|0; + $1787 = HEAP32[$6>>2]|0; + $1788 = ((($1787)) + -32|0); + $1789 = ((($1788)) + 4|0); + $1790 = HEAP32[$1789>>2]|0; + $1791 = (_sqlite3ExprListAppend($1786,0,$1790)|0); + HEAP32[$38>>2] = $1791; + $1792 = HEAP32[$8>>2]|0; + $1793 = HEAP32[$38>>2]|0; + $1794 = HEAP32[$6>>2]|0; + $1795 = ((($1794)) + -64|0); + $1796 = ((($1795)) + 4|0); + $1797 = HEAP32[$1796>>2]|0; + $1798 = (_sqlite3ExprListAppend($1792,$1793,$1797)|0); + HEAP32[$38>>2] = $1798; + $1799 = HEAP32[$8>>2]|0; + $1800 = HEAP32[$38>>2]|0; + $1801 = HEAP32[$6>>2]|0; + $1802 = ((($1801)) + 4|0); + $1803 = HEAP32[$1802>>2]|0; + $1804 = (_sqlite3ExprListAppend($1799,$1800,$1803)|0); + HEAP32[$38>>2] = $1804; + $1805 = HEAP32[$8>>2]|0; + $1806 = HEAP32[$38>>2]|0; + $1807 = HEAP32[$6>>2]|0; + $1808 = ((($1807)) + -48|0); + $1809 = ((($1808)) + 4|0); + $1810 = (_sqlite3ExprFunction($1805,$1806,$1809)|0); + $1811 = HEAP32[$6>>2]|0; + $1812 = ((($1811)) + -64|0); + $1813 = ((($1812)) + 4|0); + HEAP32[$1813>>2] = $1810; + $1814 = HEAP32[$8>>2]|0; + $1815 = HEAP32[$39>>2]|0; + $1816 = HEAP32[$6>>2]|0; + $1817 = ((($1816)) + -64|0); + $1818 = ((($1817)) + 4|0); + _exprNot($1814,$1815,$1818); + $1819 = HEAP32[$6>>2]|0; + $1820 = ((($1819)) + 4|0); + $1821 = ((($1820)) + 8|0); + $1822 = HEAP32[$1821>>2]|0; + $1823 = HEAP32[$6>>2]|0; + $1824 = ((($1823)) + -64|0); + $1825 = ((($1824)) + 4|0); + $1826 = ((($1825)) + 8|0); + HEAP32[$1826>>2] = $1822; + $1827 = HEAP32[$6>>2]|0; + $1828 = ((($1827)) + -64|0); + $1829 = ((($1828)) + 4|0); + $1830 = HEAP32[$1829>>2]|0; + $1831 = ($1830|0)!=(0|0); + if ($1831) { + $1832 = HEAP32[$6>>2]|0; + $1833 = ((($1832)) + -64|0); + $1834 = ((($1833)) + 4|0); + $1835 = HEAP32[$1834>>2]|0; + $1836 = ((($1835)) + 4|0); + $1837 = HEAP32[$1836>>2]|0; + $1838 = $1837 | 128; + HEAP32[$1836>>2] = $1838; } break; } case 178: { - $1797 = HEAP32[$pParse>>2]|0; - $1798 = HEAP32[$yymsp>>2]|0; - $1799 = ((($1798)) + 2|0); - $1800 = HEAP8[$1799>>0]|0; - $1801 = $1800&255; - $1802 = HEAP32[$yymsp>>2]|0; - $1803 = ((($1802)) + -16|0); - $1804 = ((($1803)) + 4|0); - $1805 = HEAP32[$yymsp>>2]|0; - $1806 = ((($1805)) + 4|0); - _spanUnaryPostfix($1797,$1801,$1804,$1806); + $1839 = HEAP32[$8>>2]|0; + $1840 = HEAP32[$6>>2]|0; + $1841 = ((($1840)) + 2|0); + $1842 = HEAP8[$1841>>0]|0; + $1843 = $1842&255; + $1844 = HEAP32[$6>>2]|0; + $1845 = ((($1844)) + -16|0); + $1846 = ((($1845)) + 4|0); + $1847 = HEAP32[$6>>2]|0; + $1848 = ((($1847)) + 4|0); + _spanUnaryPostfix($1839,$1843,$1846,$1848); break; } case 179: { - $1807 = HEAP32[$pParse>>2]|0; - $1808 = HEAP32[$yymsp>>2]|0; - $1809 = ((($1808)) + -32|0); - $1810 = ((($1809)) + 4|0); - $1811 = HEAP32[$yymsp>>2]|0; - $1812 = ((($1811)) + 4|0); - _spanUnaryPostfix($1807,35,$1810,$1812); + $1849 = HEAP32[$8>>2]|0; + $1850 = HEAP32[$6>>2]|0; + $1851 = ((($1850)) + -32|0); + $1852 = ((($1851)) + 4|0); + $1853 = HEAP32[$6>>2]|0; + $1854 = ((($1853)) + 4|0); + _spanUnaryPostfix($1849,35,$1852,$1854); break; } case 180: { - $1813 = HEAP32[$pParse>>2]|0; - $1814 = HEAP32[$yymsp>>2]|0; - $1815 = ((($1814)) + -32|0); - $1816 = ((($1815)) + 4|0); - $1817 = HEAP32[$yymsp>>2]|0; - $1818 = ((($1817)) + 4|0); - _spanBinaryExpr($1813,29,$1816,$1818); - $1819 = HEAP32[$pParse>>2]|0; - $1820 = HEAP32[$yymsp>>2]|0; - $1821 = ((($1820)) + 4|0); - $1822 = HEAP32[$1821>>2]|0; - $1823 = HEAP32[$yymsp>>2]|0; - $1824 = ((($1823)) + -32|0); - $1825 = ((($1824)) + 4|0); - $1826 = HEAP32[$1825>>2]|0; - _binaryToUnaryIfNull($1819,$1822,$1826,34); + $1855 = HEAP32[$8>>2]|0; + $1856 = HEAP32[$6>>2]|0; + $1857 = ((($1856)) + -32|0); + $1858 = ((($1857)) + 4|0); + $1859 = HEAP32[$6>>2]|0; + $1860 = ((($1859)) + 4|0); + _spanBinaryExpr($1855,29,$1858,$1860); + $1861 = HEAP32[$8>>2]|0; + $1862 = HEAP32[$6>>2]|0; + $1863 = ((($1862)) + 4|0); + $1864 = HEAP32[$1863>>2]|0; + $1865 = HEAP32[$6>>2]|0; + $1866 = ((($1865)) + -32|0); + $1867 = ((($1866)) + 4|0); + $1868 = HEAP32[$1867>>2]|0; + _binaryToUnaryIfNull($1861,$1864,$1868,34); break; } case 181: { - $1827 = HEAP32[$pParse>>2]|0; - $1828 = HEAP32[$yymsp>>2]|0; - $1829 = ((($1828)) + -48|0); - $1830 = ((($1829)) + 4|0); - $1831 = HEAP32[$yymsp>>2]|0; - $1832 = ((($1831)) + 4|0); - _spanBinaryExpr($1827,148,$1830,$1832); - $1833 = HEAP32[$pParse>>2]|0; - $1834 = HEAP32[$yymsp>>2]|0; - $1835 = ((($1834)) + 4|0); - $1836 = HEAP32[$1835>>2]|0; - $1837 = HEAP32[$yymsp>>2]|0; - $1838 = ((($1837)) + -48|0); - $1839 = ((($1838)) + 4|0); - $1840 = HEAP32[$1839>>2]|0; - _binaryToUnaryIfNull($1833,$1836,$1840,35); + $1869 = HEAP32[$8>>2]|0; + $1870 = HEAP32[$6>>2]|0; + $1871 = ((($1870)) + -48|0); + $1872 = ((($1871)) + 4|0); + $1873 = HEAP32[$6>>2]|0; + $1874 = ((($1873)) + 4|0); + _spanBinaryExpr($1869,148,$1872,$1874); + $1875 = HEAP32[$8>>2]|0; + $1876 = HEAP32[$6>>2]|0; + $1877 = ((($1876)) + 4|0); + $1878 = HEAP32[$1877>>2]|0; + $1879 = HEAP32[$6>>2]|0; + $1880 = ((($1879)) + -48|0); + $1881 = ((($1880)) + 4|0); + $1882 = HEAP32[$1881>>2]|0; + _binaryToUnaryIfNull($1875,$1878,$1882,35); break; } case 183: case 182: { - $1841 = HEAP32[$yymsp>>2]|0; - $1842 = ((($1841)) + -16|0); - $1843 = ((($1842)) + 4|0); - $1844 = HEAP32[$pParse>>2]|0; - $1845 = HEAP32[$yymsp>>2]|0; - $1846 = ((($1845)) + -16|0); - $1847 = ((($1846)) + 2|0); - $1848 = HEAP8[$1847>>0]|0; - $1849 = $1848&255; - $1850 = HEAP32[$yymsp>>2]|0; - $1851 = ((($1850)) + 4|0); - $1852 = HEAP32[$yymsp>>2]|0; - $1853 = ((($1852)) + -16|0); - $1854 = ((($1853)) + 4|0); - _spanUnaryPrefix($1843,$1844,$1849,$1851,$1854); + $1883 = HEAP32[$6>>2]|0; + $1884 = ((($1883)) + -16|0); + $1885 = ((($1884)) + 4|0); + $1886 = HEAP32[$8>>2]|0; + $1887 = HEAP32[$6>>2]|0; + $1888 = ((($1887)) + -16|0); + $1889 = ((($1888)) + 2|0); + $1890 = HEAP8[$1889>>0]|0; + $1891 = $1890&255; + $1892 = HEAP32[$6>>2]|0; + $1893 = ((($1892)) + 4|0); + $1894 = HEAP32[$6>>2]|0; + $1895 = ((($1894)) + -16|0); + $1896 = ((($1895)) + 4|0); + _spanUnaryPrefix($1885,$1886,$1891,$1893,$1896); break; } case 184: { - $1855 = HEAP32[$yymsp>>2]|0; - $1856 = ((($1855)) + -16|0); - $1857 = ((($1856)) + 4|0); - $1858 = HEAP32[$pParse>>2]|0; - $1859 = HEAP32[$yymsp>>2]|0; - $1860 = ((($1859)) + 4|0); - $1861 = HEAP32[$yymsp>>2]|0; - $1862 = ((($1861)) + -16|0); - $1863 = ((($1862)) + 4|0); - _spanUnaryPrefix($1857,$1858,155,$1860,$1863); + $1897 = HEAP32[$6>>2]|0; + $1898 = ((($1897)) + -16|0); + $1899 = ((($1898)) + 4|0); + $1900 = HEAP32[$8>>2]|0; + $1901 = HEAP32[$6>>2]|0; + $1902 = ((($1901)) + 4|0); + $1903 = HEAP32[$6>>2]|0; + $1904 = ((($1903)) + -16|0); + $1905 = ((($1904)) + 4|0); + _spanUnaryPrefix($1899,$1900,155,$1902,$1905); break; } case 185: { - $1864 = HEAP32[$yymsp>>2]|0; - $1865 = ((($1864)) + -16|0); - $1866 = ((($1865)) + 4|0); - $1867 = HEAP32[$pParse>>2]|0; - $1868 = HEAP32[$yymsp>>2]|0; - $1869 = ((($1868)) + 4|0); - $1870 = HEAP32[$yymsp>>2]|0; - $1871 = ((($1870)) + -16|0); - $1872 = ((($1871)) + 4|0); - _spanUnaryPrefix($1866,$1867,156,$1869,$1872); + $1906 = HEAP32[$6>>2]|0; + $1907 = ((($1906)) + -16|0); + $1908 = ((($1907)) + 4|0); + $1909 = HEAP32[$8>>2]|0; + $1910 = HEAP32[$6>>2]|0; + $1911 = ((($1910)) + 4|0); + $1912 = HEAP32[$6>>2]|0; + $1913 = ((($1912)) + -16|0); + $1914 = ((($1913)) + 4|0); + _spanUnaryPrefix($1908,$1909,156,$1911,$1914); break; } case 189: case 186: { - $1873 = HEAP32[$yymsp>>2]|0; - $1874 = ((($1873)) + 4|0); - HEAP32[$1874>>2] = 0; + $1915 = HEAP32[$6>>2]|0; + $1916 = ((($1915)) + 4|0); + HEAP32[$1916>>2] = 0; break; } case 188: { - $1875 = HEAP32[$pParse>>2]|0; - $1876 = HEAP32[$yymsp>>2]|0; - $1877 = ((($1876)) + -32|0); - $1878 = ((($1877)) + 4|0); - $1879 = HEAP32[$1878>>2]|0; - $1880 = (_sqlite3ExprListAppend($1875,0,$1879)|0); - HEAP32[$pList10>>2] = $1880; - $1881 = HEAP32[$pParse>>2]|0; - $1882 = HEAP32[$pList10>>2]|0; - $1883 = HEAP32[$yymsp>>2]|0; - $1884 = ((($1883)) + 4|0); - $1885 = HEAP32[$1884>>2]|0; - $1886 = (_sqlite3ExprListAppend($1881,$1882,$1885)|0); - HEAP32[$pList10>>2] = $1886; - $1887 = HEAP32[$pParse>>2]|0; - $1888 = HEAP32[$yymsp>>2]|0; - $1889 = ((($1888)) + -64|0); - $1890 = ((($1889)) + 4|0); - $1891 = HEAP32[$1890>>2]|0; - $1892 = (_sqlite3PExpr($1887,32,$1891,0,0)|0); - $1893 = HEAP32[$yymsp>>2]|0; - $1894 = ((($1893)) + -64|0); - $1895 = ((($1894)) + 4|0); - HEAP32[$1895>>2] = $1892; - $1896 = HEAP32[$yymsp>>2]|0; - $1897 = ((($1896)) + -64|0); - $1898 = ((($1897)) + 4|0); - $1899 = HEAP32[$1898>>2]|0; - $1900 = ($1899|0)!=(0|0); - if ($1900) { - $1901 = HEAP32[$pList10>>2]|0; - $1902 = HEAP32[$yymsp>>2]|0; - $1903 = ((($1902)) + -64|0); - $1904 = ((($1903)) + 4|0); - $1905 = HEAP32[$1904>>2]|0; - $1906 = ((($1905)) + 20|0); - HEAP32[$1906>>2] = $1901; - } else { - $1907 = HEAP32[$pParse>>2]|0; - $1908 = HEAP32[$1907>>2]|0; - $1909 = HEAP32[$pList10>>2]|0; - _sqlite3ExprListDelete($1908,$1909); - } - $1910 = HEAP32[$pParse>>2]|0; - $1911 = HEAP32[$yymsp>>2]|0; - $1912 = ((($1911)) + -48|0); - $1913 = ((($1912)) + 4|0); - $1914 = HEAP32[$1913>>2]|0; - $1915 = HEAP32[$yymsp>>2]|0; - $1916 = ((($1915)) + -64|0); - $1917 = ((($1916)) + 4|0); - _exprNot($1910,$1914,$1917); - $1918 = HEAP32[$yymsp>>2]|0; - $1919 = ((($1918)) + 4|0); - $1920 = ((($1919)) + 8|0); + $1917 = HEAP32[$8>>2]|0; + $1918 = HEAP32[$6>>2]|0; + $1919 = ((($1918)) + -32|0); + $1920 = ((($1919)) + 4|0); $1921 = HEAP32[$1920>>2]|0; - $1922 = HEAP32[$yymsp>>2]|0; - $1923 = ((($1922)) + -64|0); - $1924 = ((($1923)) + 4|0); - $1925 = ((($1924)) + 8|0); - HEAP32[$1925>>2] = $1921; + $1922 = (_sqlite3ExprListAppend($1917,0,$1921)|0); + HEAP32[$40>>2] = $1922; + $1923 = HEAP32[$8>>2]|0; + $1924 = HEAP32[$40>>2]|0; + $1925 = HEAP32[$6>>2]|0; + $1926 = ((($1925)) + 4|0); + $1927 = HEAP32[$1926>>2]|0; + $1928 = (_sqlite3ExprListAppend($1923,$1924,$1927)|0); + HEAP32[$40>>2] = $1928; + $1929 = HEAP32[$8>>2]|0; + $1930 = HEAP32[$6>>2]|0; + $1931 = ((($1930)) + -64|0); + $1932 = ((($1931)) + 4|0); + $1933 = HEAP32[$1932>>2]|0; + $1934 = (_sqlite3PExpr($1929,32,$1933,0,0)|0); + $1935 = HEAP32[$6>>2]|0; + $1936 = ((($1935)) + -64|0); + $1937 = ((($1936)) + 4|0); + HEAP32[$1937>>2] = $1934; + $1938 = HEAP32[$6>>2]|0; + $1939 = ((($1938)) + -64|0); + $1940 = ((($1939)) + 4|0); + $1941 = HEAP32[$1940>>2]|0; + $1942 = ($1941|0)!=(0|0); + if ($1942) { + $1943 = HEAP32[$40>>2]|0; + $1944 = HEAP32[$6>>2]|0; + $1945 = ((($1944)) + -64|0); + $1946 = ((($1945)) + 4|0); + $1947 = HEAP32[$1946>>2]|0; + $1948 = ((($1947)) + 20|0); + HEAP32[$1948>>2] = $1943; + } else { + $1949 = HEAP32[$8>>2]|0; + $1950 = HEAP32[$1949>>2]|0; + $1951 = HEAP32[$40>>2]|0; + _sqlite3ExprListDelete($1950,$1951); + } + $1952 = HEAP32[$8>>2]|0; + $1953 = HEAP32[$6>>2]|0; + $1954 = ((($1953)) + -48|0); + $1955 = ((($1954)) + 4|0); + $1956 = HEAP32[$1955>>2]|0; + $1957 = HEAP32[$6>>2]|0; + $1958 = ((($1957)) + -64|0); + $1959 = ((($1958)) + 4|0); + _exprNot($1952,$1956,$1959); + $1960 = HEAP32[$6>>2]|0; + $1961 = ((($1960)) + 4|0); + $1962 = ((($1961)) + 8|0); + $1963 = HEAP32[$1962>>2]|0; + $1964 = HEAP32[$6>>2]|0; + $1965 = ((($1964)) + -64|0); + $1966 = ((($1965)) + 4|0); + $1967 = ((($1966)) + 8|0); + HEAP32[$1967>>2] = $1963; break; } case 191: { - $1926 = HEAP32[$yymsp>>2]|0; - $1927 = ((($1926)) + -16|0); - $1928 = ((($1927)) + 4|0); - $1929 = HEAP32[$1928>>2]|0; - $1930 = ($1929|0)==(0|0); + $1968 = HEAP32[$6>>2]|0; + $1969 = ((($1968)) + -16|0); + $1970 = ((($1969)) + 4|0); + $1971 = HEAP32[$1970>>2]|0; + $1972 = ($1971|0)==(0|0); do { - if ($1930) { - $1931 = HEAP32[$pParse>>2]|0; - $1932 = HEAP32[$1931>>2]|0; - $1933 = HEAP32[$yymsp>>2]|0; - $1934 = ((($1933)) + -64|0); - $1935 = ((($1934)) + 4|0); - $1936 = HEAP32[$1935>>2]|0; - _sqlite3ExprDelete($1932,$1936); - $1937 = HEAP32[$pParse>>2]|0; - $1938 = HEAP32[$yymsp>>2]|0; - $1939 = ((($1938)) + -48|0); - $1940 = ((($1939)) + 4|0); - $1941 = HEAP32[$1940>>2]|0; - $1942 = (4276 + ($1941<<3)|0); - $1943 = (_sqlite3PExpr($1937,134,0,0,$1942)|0); - $1944 = HEAP32[$yymsp>>2]|0; - $1945 = ((($1944)) + -64|0); - $1946 = ((($1945)) + 4|0); - HEAP32[$1946>>2] = $1943; + if ($1972) { + $1973 = HEAP32[$8>>2]|0; + $1974 = HEAP32[$1973>>2]|0; + $1975 = HEAP32[$6>>2]|0; + $1976 = ((($1975)) + -64|0); + $1977 = ((($1976)) + 4|0); + $1978 = HEAP32[$1977>>2]|0; + _sqlite3ExprDelete($1974,$1978); + $1979 = HEAP32[$8>>2]|0; + $1980 = HEAP32[$6>>2]|0; + $1981 = ((($1980)) + -48|0); + $1982 = ((($1981)) + 4|0); + $1983 = HEAP32[$1982>>2]|0; + $1984 = (4252 + ($1983<<3)|0); + $1985 = (_sqlite3PExpr($1979,134,0,0,$1984)|0); + $1986 = HEAP32[$6>>2]|0; + $1987 = ((($1986)) + -64|0); + $1988 = ((($1987)) + 4|0); + HEAP32[$1988>>2] = $1985; } else { - $1947 = HEAP32[$yymsp>>2]|0; - $1948 = ((($1947)) + -16|0); - $1949 = ((($1948)) + 4|0); - $1950 = HEAP32[$1949>>2]|0; - $1951 = HEAP32[$1950>>2]|0; - $1952 = ($1951|0)==(1); - if ($1952) { - $1953 = HEAP32[$yymsp>>2]|0; - $1954 = ((($1953)) + -16|0); - $1955 = ((($1954)) + 4|0); - $1956 = HEAP32[$1955>>2]|0; - $1957 = ((($1956)) + 4|0); - $1958 = HEAP32[$1957>>2]|0; - $1959 = HEAP32[$1958>>2]|0; - HEAP32[$pRHS>>2] = $1959; - $1960 = HEAP32[$yymsp>>2]|0; - $1961 = ((($1960)) + -16|0); - $1962 = ((($1961)) + 4|0); - $1963 = HEAP32[$1962>>2]|0; - $1964 = ((($1963)) + 4|0); - $1965 = HEAP32[$1964>>2]|0; - HEAP32[$1965>>2] = 0; - $1966 = HEAP32[$pParse>>2]|0; - $1967 = HEAP32[$1966>>2]|0; - $1968 = HEAP32[$yymsp>>2]|0; - $1969 = ((($1968)) + -16|0); - $1970 = ((($1969)) + 4|0); - $1971 = HEAP32[$1970>>2]|0; - _sqlite3ExprListDelete($1967,$1971); - $1972 = HEAP32[$pRHS>>2]|0; - $1973 = ($1972|0)!=(0|0); - if ($1973) { - $1974 = HEAP32[$pRHS>>2]|0; - $1975 = ((($1974)) + 4|0); - $1976 = HEAP32[$1975>>2]|0; - $1977 = $1976 & -257; - HEAP32[$1975>>2] = $1977; - $1978 = HEAP32[$pRHS>>2]|0; - $1979 = ((($1978)) + 4|0); - $1980 = HEAP32[$1979>>2]|0; - $1981 = $1980 | 512; - HEAP32[$1979>>2] = $1981; - } - $1982 = HEAP32[$pParse>>2]|0; - $1983 = HEAP32[$yymsp>>2]|0; - $1984 = ((($1983)) + -48|0); - $1985 = ((($1984)) + 4|0); - $1986 = HEAP32[$1985>>2]|0; - $1987 = ($1986|0)!=(0); - $1988 = $1987 ? 36 : 37; - $1989 = HEAP32[$yymsp>>2]|0; - $1990 = ((($1989)) + -64|0); - $1991 = ((($1990)) + 4|0); - $1992 = HEAP32[$1991>>2]|0; - $1993 = HEAP32[$pRHS>>2]|0; - $1994 = (_sqlite3PExpr($1982,$1988,$1992,$1993,0)|0); - $1995 = HEAP32[$yymsp>>2]|0; - $1996 = ((($1995)) + -64|0); + $1989 = HEAP32[$6>>2]|0; + $1990 = ((($1989)) + -16|0); + $1991 = ((($1990)) + 4|0); + $1992 = HEAP32[$1991>>2]|0; + $1993 = HEAP32[$1992>>2]|0; + $1994 = ($1993|0)==(1); + if ($1994) { + $1995 = HEAP32[$6>>2]|0; + $1996 = ((($1995)) + -16|0); $1997 = ((($1996)) + 4|0); - HEAP32[$1997>>2] = $1994; + $1998 = HEAP32[$1997>>2]|0; + $1999 = ((($1998)) + 4|0); + $2000 = HEAP32[$1999>>2]|0; + $2001 = HEAP32[$2000>>2]|0; + HEAP32[$41>>2] = $2001; + $2002 = HEAP32[$6>>2]|0; + $2003 = ((($2002)) + -16|0); + $2004 = ((($2003)) + 4|0); + $2005 = HEAP32[$2004>>2]|0; + $2006 = ((($2005)) + 4|0); + $2007 = HEAP32[$2006>>2]|0; + HEAP32[$2007>>2] = 0; + $2008 = HEAP32[$8>>2]|0; + $2009 = HEAP32[$2008>>2]|0; + $2010 = HEAP32[$6>>2]|0; + $2011 = ((($2010)) + -16|0); + $2012 = ((($2011)) + 4|0); + $2013 = HEAP32[$2012>>2]|0; + _sqlite3ExprListDelete($2009,$2013); + $2014 = HEAP32[$41>>2]|0; + $2015 = ($2014|0)!=(0|0); + if ($2015) { + $2016 = HEAP32[$41>>2]|0; + $2017 = ((($2016)) + 4|0); + $2018 = HEAP32[$2017>>2]|0; + $2019 = $2018 & -257; + HEAP32[$2017>>2] = $2019; + $2020 = HEAP32[$41>>2]|0; + $2021 = ((($2020)) + 4|0); + $2022 = HEAP32[$2021>>2]|0; + $2023 = $2022 | 512; + HEAP32[$2021>>2] = $2023; + } + $2024 = HEAP32[$8>>2]|0; + $2025 = HEAP32[$6>>2]|0; + $2026 = ((($2025)) + -48|0); + $2027 = ((($2026)) + 4|0); + $2028 = HEAP32[$2027>>2]|0; + $2029 = ($2028|0)!=(0); + $2030 = $2029 ? 36 : 37; + $2031 = HEAP32[$6>>2]|0; + $2032 = ((($2031)) + -64|0); + $2033 = ((($2032)) + 4|0); + $2034 = HEAP32[$2033>>2]|0; + $2035 = HEAP32[$41>>2]|0; + $2036 = (_sqlite3PExpr($2024,$2030,$2034,$2035,0)|0); + $2037 = HEAP32[$6>>2]|0; + $2038 = ((($2037)) + -64|0); + $2039 = ((($2038)) + 4|0); + HEAP32[$2039>>2] = $2036; break; } - $1998 = HEAP32[$pParse>>2]|0; - $1999 = HEAP32[$yymsp>>2]|0; - $2000 = ((($1999)) + -64|0); - $2001 = ((($2000)) + 4|0); - $2002 = HEAP32[$2001>>2]|0; - $2003 = (_sqlite3PExpr($1998,33,$2002,0,0)|0); - $2004 = HEAP32[$yymsp>>2]|0; - $2005 = ((($2004)) + -64|0); - $2006 = ((($2005)) + 4|0); - HEAP32[$2006>>2] = $2003; - $2007 = HEAP32[$yymsp>>2]|0; - $2008 = ((($2007)) + -64|0); - $2009 = ((($2008)) + 4|0); - $2010 = HEAP32[$2009>>2]|0; - $2011 = ($2010|0)!=(0|0); - if ($2011) { - $2012 = HEAP32[$yymsp>>2]|0; - $2013 = ((($2012)) + -16|0); - $2014 = ((($2013)) + 4|0); - $2015 = HEAP32[$2014>>2]|0; - $2016 = HEAP32[$yymsp>>2]|0; - $2017 = ((($2016)) + -64|0); - $2018 = ((($2017)) + 4|0); - $2019 = HEAP32[$2018>>2]|0; - $2020 = ((($2019)) + 20|0); - HEAP32[$2020>>2] = $2015; - $2021 = HEAP32[$pParse>>2]|0; - $2022 = HEAP32[$yymsp>>2]|0; - $2023 = ((($2022)) + -64|0); - $2024 = ((($2023)) + 4|0); - $2025 = HEAP32[$2024>>2]|0; - _sqlite3ExprSetHeightAndFlags($2021,$2025); + $2040 = HEAP32[$8>>2]|0; + $2041 = HEAP32[$6>>2]|0; + $2042 = ((($2041)) + -64|0); + $2043 = ((($2042)) + 4|0); + $2044 = HEAP32[$2043>>2]|0; + $2045 = (_sqlite3PExpr($2040,33,$2044,0,0)|0); + $2046 = HEAP32[$6>>2]|0; + $2047 = ((($2046)) + -64|0); + $2048 = ((($2047)) + 4|0); + HEAP32[$2048>>2] = $2045; + $2049 = HEAP32[$6>>2]|0; + $2050 = ((($2049)) + -64|0); + $2051 = ((($2050)) + 4|0); + $2052 = HEAP32[$2051>>2]|0; + $2053 = ($2052|0)!=(0|0); + if ($2053) { + $2054 = HEAP32[$6>>2]|0; + $2055 = ((($2054)) + -16|0); + $2056 = ((($2055)) + 4|0); + $2057 = HEAP32[$2056>>2]|0; + $2058 = HEAP32[$6>>2]|0; + $2059 = ((($2058)) + -64|0); + $2060 = ((($2059)) + 4|0); + $2061 = HEAP32[$2060>>2]|0; + $2062 = ((($2061)) + 20|0); + HEAP32[$2062>>2] = $2057; + $2063 = HEAP32[$8>>2]|0; + $2064 = HEAP32[$6>>2]|0; + $2065 = ((($2064)) + -64|0); + $2066 = ((($2065)) + 4|0); + $2067 = HEAP32[$2066>>2]|0; + _sqlite3ExprSetHeightAndFlags($2063,$2067); } else { - $2026 = HEAP32[$pParse>>2]|0; - $2027 = HEAP32[$2026>>2]|0; - $2028 = HEAP32[$yymsp>>2]|0; - $2029 = ((($2028)) + -16|0); - $2030 = ((($2029)) + 4|0); - $2031 = HEAP32[$2030>>2]|0; - _sqlite3ExprListDelete($2027,$2031); - } - $2032 = HEAP32[$pParse>>2]|0; - $2033 = HEAP32[$yymsp>>2]|0; - $2034 = ((($2033)) + -48|0); - $2035 = ((($2034)) + 4|0); - $2036 = HEAP32[$2035>>2]|0; - $2037 = HEAP32[$yymsp>>2]|0; - $2038 = ((($2037)) + -64|0); - $2039 = ((($2038)) + 4|0); - _exprNot($2032,$2036,$2039); + $2068 = HEAP32[$8>>2]|0; + $2069 = HEAP32[$2068>>2]|0; + $2070 = HEAP32[$6>>2]|0; + $2071 = ((($2070)) + -16|0); + $2072 = ((($2071)) + 4|0); + $2073 = HEAP32[$2072>>2]|0; + _sqlite3ExprListDelete($2069,$2073); + } + $2074 = HEAP32[$8>>2]|0; + $2075 = HEAP32[$6>>2]|0; + $2076 = ((($2075)) + -48|0); + $2077 = ((($2076)) + 4|0); + $2078 = HEAP32[$2077>>2]|0; + $2079 = HEAP32[$6>>2]|0; + $2080 = ((($2079)) + -64|0); + $2081 = ((($2080)) + 4|0); + _exprNot($2074,$2078,$2081); } } while(0); - $2040 = HEAP32[$yymsp>>2]|0; - $2041 = ((($2040)) + 4|0); - $2042 = ((($2041)) + 4|0); - $2043 = HEAP32[$2042>>2]|0; - $2044 = HEAP32[$yymsp>>2]|0; - $2045 = ((($2044)) + 4|0); - $2046 = HEAP32[$2045>>2]|0; - $2047 = (($2046) + ($2043)|0); - $2048 = HEAP32[$yymsp>>2]|0; - $2049 = ((($2048)) + -64|0); - $2050 = ((($2049)) + 4|0); - $2051 = ((($2050)) + 8|0); - HEAP32[$2051>>2] = $2047; + $2082 = HEAP32[$6>>2]|0; + $2083 = ((($2082)) + 4|0); + $2084 = HEAP32[$2083>>2]|0; + $2085 = HEAP32[$6>>2]|0; + $2086 = ((($2085)) + 4|0); + $2087 = ((($2086)) + 4|0); + $2088 = HEAP32[$2087>>2]|0; + $2089 = (($2084) + ($2088)|0); + $2090 = HEAP32[$6>>2]|0; + $2091 = ((($2090)) + -64|0); + $2092 = ((($2091)) + 4|0); + $2093 = ((($2092)) + 8|0); + HEAP32[$2093>>2] = $2089; break; } case 192: { - $2052 = HEAP32[$yymsp>>2]|0; - $2053 = ((($2052)) + -32|0); - $2054 = ((($2053)) + 4|0); - $2055 = HEAP32[$yymsp>>2]|0; - $2056 = ((($2055)) + -32|0); - $2057 = ((($2056)) + 4|0); - $2058 = HEAP32[$yymsp>>2]|0; - $2059 = ((($2058)) + 4|0); - _spanSet($2054,$2057,$2059); - $2060 = HEAP32[$pParse>>2]|0; - $2061 = (_sqlite3PExpr($2060,119,0,0,0)|0); - $2062 = HEAP32[$yymsp>>2]|0; - $2063 = ((($2062)) + -32|0); - $2064 = ((($2063)) + 4|0); - HEAP32[$2064>>2] = $2061; - $2065 = HEAP32[$pParse>>2]|0; - $2066 = HEAP32[$yymsp>>2]|0; - $2067 = ((($2066)) + -32|0); - $2068 = ((($2067)) + 4|0); - $2069 = HEAP32[$2068>>2]|0; - $2070 = HEAP32[$yymsp>>2]|0; - $2071 = ((($2070)) + -16|0); - $2072 = ((($2071)) + 4|0); - $2073 = HEAP32[$2072>>2]|0; - _sqlite3PExprAddSelect($2065,$2069,$2073); - break; - } - case 193: { - $2074 = HEAP32[$pParse>>2]|0; - $2075 = HEAP32[$yymsp>>2]|0; - $2076 = ((($2075)) + -64|0); - $2077 = ((($2076)) + 4|0); - $2078 = HEAP32[$2077>>2]|0; - $2079 = (_sqlite3PExpr($2074,33,$2078,0,0)|0); - $2080 = HEAP32[$yymsp>>2]|0; - $2081 = ((($2080)) + -64|0); - $2082 = ((($2081)) + 4|0); - HEAP32[$2082>>2] = $2079; - $2083 = HEAP32[$pParse>>2]|0; - $2084 = HEAP32[$yymsp>>2]|0; - $2085 = ((($2084)) + -64|0); - $2086 = ((($2085)) + 4|0); - $2087 = HEAP32[$2086>>2]|0; - $2088 = HEAP32[$yymsp>>2]|0; - $2089 = ((($2088)) + -16|0); - $2090 = ((($2089)) + 4|0); - $2091 = HEAP32[$2090>>2]|0; - _sqlite3PExprAddSelect($2083,$2087,$2091); - $2092 = HEAP32[$pParse>>2]|0; - $2093 = HEAP32[$yymsp>>2]|0; - $2094 = ((($2093)) + -48|0); - $2095 = ((($2094)) + 4|0); - $2096 = HEAP32[$2095>>2]|0; - $2097 = HEAP32[$yymsp>>2]|0; - $2098 = ((($2097)) + -64|0); + $2094 = HEAP32[$6>>2]|0; + $2095 = ((($2094)) + -32|0); + $2096 = ((($2095)) + 4|0); + $2097 = HEAP32[$6>>2]|0; + $2098 = ((($2097)) + -32|0); $2099 = ((($2098)) + 4|0); - _exprNot($2092,$2096,$2099); - $2100 = HEAP32[$yymsp>>2]|0; + $2100 = HEAP32[$6>>2]|0; $2101 = ((($2100)) + 4|0); - $2102 = ((($2101)) + 4|0); - $2103 = HEAP32[$2102>>2]|0; - $2104 = HEAP32[$yymsp>>2]|0; - $2105 = ((($2104)) + 4|0); - $2106 = HEAP32[$2105>>2]|0; - $2107 = (($2106) + ($2103)|0); - $2108 = HEAP32[$yymsp>>2]|0; - $2109 = ((($2108)) + -64|0); + _spanSet($2096,$2099,$2101); + $2102 = HEAP32[$8>>2]|0; + $2103 = (_sqlite3PExpr($2102,119,0,0,0)|0); + $2104 = HEAP32[$6>>2]|0; + $2105 = ((($2104)) + -32|0); + $2106 = ((($2105)) + 4|0); + HEAP32[$2106>>2] = $2103; + $2107 = HEAP32[$8>>2]|0; + $2108 = HEAP32[$6>>2]|0; + $2109 = ((($2108)) + -32|0); $2110 = ((($2109)) + 4|0); - $2111 = ((($2110)) + 8|0); - HEAP32[$2111>>2] = $2107; + $2111 = HEAP32[$2110>>2]|0; + $2112 = HEAP32[$6>>2]|0; + $2113 = ((($2112)) + -16|0); + $2114 = ((($2113)) + 4|0); + $2115 = HEAP32[$2114>>2]|0; + _sqlite3PExprAddSelect($2107,$2111,$2115); break; } - case 194: { - $2112 = HEAP32[$pParse>>2]|0; - $2113 = HEAP32[$2112>>2]|0; - $2114 = HEAP32[$yymsp>>2]|0; - $2115 = ((($2114)) + -32|0); - $2116 = ((($2115)) + 4|0); - $2117 = HEAP32[$yymsp>>2]|0; - $2118 = ((($2117)) + -16|0); + case 193: { + $2116 = HEAP32[$8>>2]|0; + $2117 = HEAP32[$6>>2]|0; + $2118 = ((($2117)) + -64|0); $2119 = ((($2118)) + 4|0); - $2120 = (_sqlite3SrcListAppend($2113,0,$2116,$2119)|0); - HEAP32[$pSrc>>2] = $2120; - $2121 = HEAP32[$pParse>>2]|0; - $2122 = HEAP32[$pSrc>>2]|0; - $2123 = (_sqlite3SelectNew($2121,0,$2122,0,0,0,0,0,0,0)|0); - HEAP32[$pSelect>>2] = $2123; - $2124 = HEAP32[$yymsp>>2]|0; - $2125 = ((($2124)) + 4|0); - $2126 = HEAP32[$2125>>2]|0; - $2127 = ($2126|0)!=(0|0); - if ($2127) { - $2128 = HEAP32[$pParse>>2]|0; - $2129 = HEAP32[$pSelect>>2]|0; - $2130 = ($2129|0)!=(0|0); - $2131 = HEAP32[$pSrc>>2]|0; - $2132 = $2130 ? $2131 : 0; - $2133 = HEAP32[$yymsp>>2]|0; - $2134 = ((($2133)) + 4|0); - $2135 = HEAP32[$2134>>2]|0; - _sqlite3SrcListFuncArgs($2128,$2132,$2135); - } - $2136 = HEAP32[$pParse>>2]|0; - $2137 = HEAP32[$yymsp>>2]|0; - $2138 = ((($2137)) + -64|0); - $2139 = ((($2138)) + 4|0); - $2140 = HEAP32[$2139>>2]|0; - $2141 = (_sqlite3PExpr($2136,33,$2140,0,0)|0); - $2142 = HEAP32[$yymsp>>2]|0; - $2143 = ((($2142)) + -64|0); - $2144 = ((($2143)) + 4|0); - HEAP32[$2144>>2] = $2141; - $2145 = HEAP32[$pParse>>2]|0; - $2146 = HEAP32[$yymsp>>2]|0; - $2147 = ((($2146)) + -64|0); - $2148 = ((($2147)) + 4|0); - $2149 = HEAP32[$2148>>2]|0; - $2150 = HEAP32[$pSelect>>2]|0; - _sqlite3PExprAddSelect($2145,$2149,$2150); - $2151 = HEAP32[$pParse>>2]|0; - $2152 = HEAP32[$yymsp>>2]|0; - $2153 = ((($2152)) + -48|0); - $2154 = ((($2153)) + 4|0); + $2120 = HEAP32[$2119>>2]|0; + $2121 = (_sqlite3PExpr($2116,33,$2120,0,0)|0); + $2122 = HEAP32[$6>>2]|0; + $2123 = ((($2122)) + -64|0); + $2124 = ((($2123)) + 4|0); + HEAP32[$2124>>2] = $2121; + $2125 = HEAP32[$8>>2]|0; + $2126 = HEAP32[$6>>2]|0; + $2127 = ((($2126)) + -64|0); + $2128 = ((($2127)) + 4|0); + $2129 = HEAP32[$2128>>2]|0; + $2130 = HEAP32[$6>>2]|0; + $2131 = ((($2130)) + -16|0); + $2132 = ((($2131)) + 4|0); + $2133 = HEAP32[$2132>>2]|0; + _sqlite3PExprAddSelect($2125,$2129,$2133); + $2134 = HEAP32[$8>>2]|0; + $2135 = HEAP32[$6>>2]|0; + $2136 = ((($2135)) + -48|0); + $2137 = ((($2136)) + 4|0); + $2138 = HEAP32[$2137>>2]|0; + $2139 = HEAP32[$6>>2]|0; + $2140 = ((($2139)) + -64|0); + $2141 = ((($2140)) + 4|0); + _exprNot($2134,$2138,$2141); + $2142 = HEAP32[$6>>2]|0; + $2143 = ((($2142)) + 4|0); + $2144 = HEAP32[$2143>>2]|0; + $2145 = HEAP32[$6>>2]|0; + $2146 = ((($2145)) + 4|0); + $2147 = ((($2146)) + 4|0); + $2148 = HEAP32[$2147>>2]|0; + $2149 = (($2144) + ($2148)|0); + $2150 = HEAP32[$6>>2]|0; + $2151 = ((($2150)) + -64|0); + $2152 = ((($2151)) + 4|0); + $2153 = ((($2152)) + 8|0); + HEAP32[$2153>>2] = $2149; + break; + } + case 194: { + $2154 = HEAP32[$8>>2]|0; $2155 = HEAP32[$2154>>2]|0; - $2156 = HEAP32[$yymsp>>2]|0; - $2157 = ((($2156)) + -64|0); + $2156 = HEAP32[$6>>2]|0; + $2157 = ((($2156)) + -32|0); $2158 = ((($2157)) + 4|0); - _exprNot($2151,$2155,$2158); - $2159 = HEAP32[$yymsp>>2]|0; + $2159 = HEAP32[$6>>2]|0; $2160 = ((($2159)) + -16|0); $2161 = ((($2160)) + 4|0); - $2162 = HEAP32[$2161>>2]|0; - $2163 = ($2162|0)!=(0|0); - $2164 = HEAP32[$yymsp>>2]|0; - if ($2163) { - $2165 = ((($2164)) + -16|0); - $2166 = ((($2165)) + 4|0); - $2167 = ((($2166)) + 4|0); - $2168 = HEAP32[$2167>>2]|0; - $2169 = HEAP32[$yymsp>>2]|0; - $2170 = ((($2169)) + -16|0); - $2171 = ((($2170)) + 4|0); - $2172 = HEAP32[$2171>>2]|0; - $2173 = (($2172) + ($2168)|0); - $2187 = $2173; - } else { - $2174 = ((($2164)) + -32|0); - $2175 = ((($2174)) + 4|0); + $2162 = (_sqlite3SrcListAppend($2155,0,$2158,$2161)|0); + HEAP32[$42>>2] = $2162; + $2163 = HEAP32[$8>>2]|0; + $2164 = HEAP32[$42>>2]|0; + $2165 = (_sqlite3SelectNew($2163,0,$2164,0,0,0,0,0,0,0)|0); + HEAP32[$43>>2] = $2165; + $2166 = HEAP32[$6>>2]|0; + $2167 = ((($2166)) + 4|0); + $2168 = HEAP32[$2167>>2]|0; + $2169 = ($2168|0)!=(0|0); + if ($2169) { + $2170 = HEAP32[$8>>2]|0; + $2171 = HEAP32[$43>>2]|0; + $2172 = ($2171|0)!=(0|0); + $2173 = HEAP32[$42>>2]|0; + $2174 = $2172 ? $2173 : 0; + $2175 = HEAP32[$6>>2]|0; $2176 = ((($2175)) + 4|0); $2177 = HEAP32[$2176>>2]|0; - $2178 = HEAP32[$yymsp>>2]|0; - $2179 = ((($2178)) + -32|0); - $2180 = ((($2179)) + 4|0); - $2181 = HEAP32[$2180>>2]|0; - $2182 = (($2181) + ($2177)|0); - $2187 = $2182; - } - $2183 = HEAP32[$yymsp>>2]|0; - $2184 = ((($2183)) + -64|0); - $2185 = ((($2184)) + 4|0); - $2186 = ((($2185)) + 8|0); - HEAP32[$2186>>2] = $2187; - break; - } - case 195: { - $2188 = HEAP32[$yymsp>>2]|0; - $2189 = ((($2188)) + -48|0); + _sqlite3SrcListFuncArgs($2170,$2174,$2177); + } + $2178 = HEAP32[$8>>2]|0; + $2179 = HEAP32[$6>>2]|0; + $2180 = ((($2179)) + -64|0); + $2181 = ((($2180)) + 4|0); + $2182 = HEAP32[$2181>>2]|0; + $2183 = (_sqlite3PExpr($2178,33,$2182,0,0)|0); + $2184 = HEAP32[$6>>2]|0; + $2185 = ((($2184)) + -64|0); + $2186 = ((($2185)) + 4|0); + HEAP32[$2186>>2] = $2183; + $2187 = HEAP32[$8>>2]|0; + $2188 = HEAP32[$6>>2]|0; + $2189 = ((($2188)) + -64|0); $2190 = ((($2189)) + 4|0); - $2191 = HEAP32[$yymsp>>2]|0; - $2192 = ((($2191)) + -48|0); - $2193 = ((($2192)) + 4|0); - $2194 = HEAP32[$yymsp>>2]|0; - $2195 = ((($2194)) + 4|0); - _spanSet($2190,$2193,$2195); - $2196 = HEAP32[$pParse>>2]|0; - $2197 = (_sqlite3PExpr($2196,20,0,0,0)|0); - $2198 = HEAP32[$yymsp>>2]|0; - $2199 = ((($2198)) + -48|0); + $2191 = HEAP32[$2190>>2]|0; + $2192 = HEAP32[$43>>2]|0; + _sqlite3PExprAddSelect($2187,$2191,$2192); + $2193 = HEAP32[$8>>2]|0; + $2194 = HEAP32[$6>>2]|0; + $2195 = ((($2194)) + -48|0); + $2196 = ((($2195)) + 4|0); + $2197 = HEAP32[$2196>>2]|0; + $2198 = HEAP32[$6>>2]|0; + $2199 = ((($2198)) + -64|0); $2200 = ((($2199)) + 4|0); - HEAP32[$2200>>2] = $2197; - HEAP32[$p11>>2] = $2197; - $2201 = HEAP32[$pParse>>2]|0; - $2202 = HEAP32[$p11>>2]|0; - $2203 = HEAP32[$yymsp>>2]|0; - $2204 = ((($2203)) + -16|0); - $2205 = ((($2204)) + 4|0); - $2206 = HEAP32[$2205>>2]|0; - _sqlite3PExprAddSelect($2201,$2202,$2206); - break; - } - case 196: { - $2207 = HEAP32[$yymsp>>2]|0; - $2208 = ((($2207)) + -64|0); - $2209 = ((($2208)) + 4|0); - $2210 = HEAP32[$yymsp>>2]|0; - $2211 = ((($2210)) + -64|0); - $2212 = ((($2211)) + 4|0); - $2213 = HEAP32[$yymsp>>2]|0; - $2214 = ((($2213)) + 4|0); - _spanSet($2209,$2212,$2214); - $2215 = HEAP32[$pParse>>2]|0; - $2216 = HEAP32[$yymsp>>2]|0; - $2217 = ((($2216)) + -48|0); + _exprNot($2193,$2197,$2200); + $2201 = HEAP32[$6>>2]|0; + $2202 = ((($2201)) + -16|0); + $2203 = ((($2202)) + 4|0); + $2204 = HEAP32[$2203>>2]|0; + $2205 = ($2204|0)!=(0|0); + $2206 = HEAP32[$6>>2]|0; + if ($2205) { + $2207 = ((($2206)) + -16|0); + $2208 = ((($2207)) + 4|0); + $2209 = HEAP32[$2208>>2]|0; + $2210 = HEAP32[$6>>2]|0; + $2211 = ((($2210)) + -16|0); + $$sink10 = $2211;$$sink5 = $2209; + } else { + $2212 = ((($2206)) + -32|0); + $2213 = ((($2212)) + 4|0); + $2214 = HEAP32[$2213>>2]|0; + $2215 = HEAP32[$6>>2]|0; + $2216 = ((($2215)) + -32|0); + $$sink10 = $2216;$$sink5 = $2214; + } + $2217 = ((($$sink10)) + 4|0); $2218 = ((($2217)) + 4|0); $2219 = HEAP32[$2218>>2]|0; - $2220 = (_sqlite3PExpr($2215,136,$2219,0,0)|0); - $2221 = HEAP32[$yymsp>>2]|0; + $2220 = (($$sink5) + ($2219)|0); + $2221 = HEAP32[$6>>2]|0; $2222 = ((($2221)) + -64|0); $2223 = ((($2222)) + 4|0); - HEAP32[$2223>>2] = $2220; - $2224 = HEAP32[$yymsp>>2]|0; - $2225 = ((($2224)) + -64|0); - $2226 = ((($2225)) + 4|0); - $2227 = HEAP32[$2226>>2]|0; - $2228 = ($2227|0)!=(0|0); - if (!($2228)) { - $2259 = HEAP32[$pParse>>2]|0; - $2260 = HEAP32[$2259>>2]|0; - $2261 = HEAP32[$yymsp>>2]|0; - $2262 = ((($2261)) + -32|0); - $2263 = ((($2262)) + 4|0); - $2264 = HEAP32[$2263>>2]|0; - _sqlite3ExprListDelete($2260,$2264); - $2265 = HEAP32[$pParse>>2]|0; - $2266 = HEAP32[$2265>>2]|0; - $2267 = HEAP32[$yymsp>>2]|0; - $2268 = ((($2267)) + -16|0); - $2269 = ((($2268)) + 4|0); - $2270 = HEAP32[$2269>>2]|0; - _sqlite3ExprDelete($2266,$2270); + $2224 = ((($2223)) + 8|0); + HEAP32[$2224>>2] = $2220; + break; + } + case 195: { + $2225 = HEAP32[$6>>2]|0; + $2226 = ((($2225)) + -48|0); + $2227 = ((($2226)) + 4|0); + $2228 = HEAP32[$6>>2]|0; + $2229 = ((($2228)) + -48|0); + $2230 = ((($2229)) + 4|0); + $2231 = HEAP32[$6>>2]|0; + $2232 = ((($2231)) + 4|0); + _spanSet($2227,$2230,$2232); + $2233 = HEAP32[$8>>2]|0; + $2234 = (_sqlite3PExpr($2233,20,0,0,0)|0); + $2235 = HEAP32[$6>>2]|0; + $2236 = ((($2235)) + -48|0); + $2237 = ((($2236)) + 4|0); + HEAP32[$2237>>2] = $2234; + HEAP32[$44>>2] = $2234; + $2238 = HEAP32[$8>>2]|0; + $2239 = HEAP32[$44>>2]|0; + $2240 = HEAP32[$6>>2]|0; + $2241 = ((($2240)) + -16|0); + $2242 = ((($2241)) + 4|0); + $2243 = HEAP32[$2242>>2]|0; + _sqlite3PExprAddSelect($2238,$2239,$2243); + break; + } + case 196: { + $2244 = HEAP32[$6>>2]|0; + $2245 = ((($2244)) + -64|0); + $2246 = ((($2245)) + 4|0); + $2247 = HEAP32[$6>>2]|0; + $2248 = ((($2247)) + -64|0); + $2249 = ((($2248)) + 4|0); + $2250 = HEAP32[$6>>2]|0; + $2251 = ((($2250)) + 4|0); + _spanSet($2246,$2249,$2251); + $2252 = HEAP32[$8>>2]|0; + $2253 = HEAP32[$6>>2]|0; + $2254 = ((($2253)) + -48|0); + $2255 = ((($2254)) + 4|0); + $2256 = HEAP32[$2255>>2]|0; + $2257 = (_sqlite3PExpr($2252,136,$2256,0,0)|0); + $2258 = HEAP32[$6>>2]|0; + $2259 = ((($2258)) + -64|0); + $2260 = ((($2259)) + 4|0); + HEAP32[$2260>>2] = $2257; + $2261 = HEAP32[$6>>2]|0; + $2262 = ((($2261)) + -64|0); + $2263 = ((($2262)) + 4|0); + $2264 = HEAP32[$2263>>2]|0; + $2265 = ($2264|0)!=(0|0); + if (!($2265)) { + $2296 = HEAP32[$8>>2]|0; + $2297 = HEAP32[$2296>>2]|0; + $2298 = HEAP32[$6>>2]|0; + $2299 = ((($2298)) + -32|0); + $2300 = ((($2299)) + 4|0); + $2301 = HEAP32[$2300>>2]|0; + _sqlite3ExprListDelete($2297,$2301); + $2302 = HEAP32[$8>>2]|0; + $2303 = HEAP32[$2302>>2]|0; + $2304 = HEAP32[$6>>2]|0; + $2305 = ((($2304)) + -16|0); + $2306 = ((($2305)) + 4|0); + $2307 = HEAP32[$2306>>2]|0; + _sqlite3ExprDelete($2303,$2307); break L6; } - $2229 = HEAP32[$yymsp>>2]|0; - $2230 = ((($2229)) + -16|0); - $2231 = ((($2230)) + 4|0); - $2232 = HEAP32[$2231>>2]|0; - $2233 = ($2232|0)!=(0|0); - if ($2233) { - $2234 = HEAP32[$pParse>>2]|0; - $2235 = HEAP32[$yymsp>>2]|0; - $2236 = ((($2235)) + -32|0); - $2237 = ((($2236)) + 4|0); - $2238 = HEAP32[$2237>>2]|0; - $2239 = HEAP32[$yymsp>>2]|0; - $2240 = ((($2239)) + -16|0); - $2241 = ((($2240)) + 4|0); - $2242 = HEAP32[$2241>>2]|0; - $2243 = (_sqlite3ExprListAppend($2234,$2238,$2242)|0); - $2253 = $2243; + $2266 = HEAP32[$6>>2]|0; + $2267 = ((($2266)) + -16|0); + $2268 = ((($2267)) + 4|0); + $2269 = HEAP32[$2268>>2]|0; + $2270 = ($2269|0)!=(0|0); + if ($2270) { + $2271 = HEAP32[$8>>2]|0; + $2272 = HEAP32[$6>>2]|0; + $2273 = ((($2272)) + -32|0); + $2274 = ((($2273)) + 4|0); + $2275 = HEAP32[$2274>>2]|0; + $2276 = HEAP32[$6>>2]|0; + $2277 = ((($2276)) + -16|0); + $2278 = ((($2277)) + 4|0); + $2279 = HEAP32[$2278>>2]|0; + $2280 = (_sqlite3ExprListAppend($2271,$2275,$2279)|0); + $2290 = $2280; } else { - $2244 = HEAP32[$yymsp>>2]|0; - $2245 = ((($2244)) + -32|0); - $2246 = ((($2245)) + 4|0); - $2247 = HEAP32[$2246>>2]|0; - $2253 = $2247; - } - $2248 = HEAP32[$yymsp>>2]|0; - $2249 = ((($2248)) + -64|0); - $2250 = ((($2249)) + 4|0); - $2251 = HEAP32[$2250>>2]|0; - $2252 = ((($2251)) + 20|0); - HEAP32[$2252>>2] = $2253; - $2254 = HEAP32[$pParse>>2]|0; - $2255 = HEAP32[$yymsp>>2]|0; - $2256 = ((($2255)) + -64|0); - $2257 = ((($2256)) + 4|0); - $2258 = HEAP32[$2257>>2]|0; - _sqlite3ExprSetHeightAndFlags($2254,$2258); - break; - } - case 197: { - $2271 = HEAP32[$pParse>>2]|0; - $2272 = HEAP32[$yymsp>>2]|0; - $2273 = ((($2272)) + -64|0); - $2274 = ((($2273)) + 4|0); - $2275 = HEAP32[$2274>>2]|0; - $2276 = HEAP32[$yymsp>>2]|0; - $2277 = ((($2276)) + -32|0); - $2278 = ((($2277)) + 4|0); - $2279 = HEAP32[$2278>>2]|0; - $2280 = (_sqlite3ExprListAppend($2271,$2275,$2279)|0); - $2281 = HEAP32[$yymsp>>2]|0; - $2282 = ((($2281)) + -64|0); - $2283 = ((($2282)) + 4|0); - HEAP32[$2283>>2] = $2280; - $2284 = HEAP32[$pParse>>2]|0; - $2285 = HEAP32[$yymsp>>2]|0; + $2281 = HEAP32[$6>>2]|0; + $2282 = ((($2281)) + -32|0); + $2283 = ((($2282)) + 4|0); + $2284 = HEAP32[$2283>>2]|0; + $2290 = $2284; + } + $2285 = HEAP32[$6>>2]|0; $2286 = ((($2285)) + -64|0); $2287 = ((($2286)) + 4|0); $2288 = HEAP32[$2287>>2]|0; - $2289 = HEAP32[$yymsp>>2]|0; - $2290 = ((($2289)) + 4|0); - $2291 = HEAP32[$2290>>2]|0; - $2292 = (_sqlite3ExprListAppend($2284,$2288,$2291)|0); - $2293 = HEAP32[$yymsp>>2]|0; - $2294 = ((($2293)) + -64|0); - $2295 = ((($2294)) + 4|0); - HEAP32[$2295>>2] = $2292; + $2289 = ((($2288)) + 20|0); + HEAP32[$2289>>2] = $2290; + $2291 = HEAP32[$8>>2]|0; + $2292 = HEAP32[$6>>2]|0; + $2293 = ((($2292)) + -64|0); + $2294 = ((($2293)) + 4|0); + $2295 = HEAP32[$2294>>2]|0; + _sqlite3ExprSetHeightAndFlags($2291,$2295); break; } - case 198: { - $2296 = HEAP32[$pParse>>2]|0; - $2297 = HEAP32[$yymsp>>2]|0; - $2298 = ((($2297)) + -32|0); - $2299 = ((($2298)) + 4|0); - $2300 = HEAP32[$2299>>2]|0; - $2301 = (_sqlite3ExprListAppend($2296,0,$2300)|0); - $2302 = HEAP32[$yymsp>>2]|0; - $2303 = ((($2302)) + -48|0); - $2304 = ((($2303)) + 4|0); - HEAP32[$2304>>2] = $2301; - $2305 = HEAP32[$pParse>>2]|0; - $2306 = HEAP32[$yymsp>>2]|0; - $2307 = ((($2306)) + -48|0); - $2308 = ((($2307)) + 4|0); - $2309 = HEAP32[$2308>>2]|0; - $2310 = HEAP32[$yymsp>>2]|0; + case 197: { + $2308 = HEAP32[$8>>2]|0; + $2309 = HEAP32[$6>>2]|0; + $2310 = ((($2309)) + -64|0); $2311 = ((($2310)) + 4|0); $2312 = HEAP32[$2311>>2]|0; - $2313 = (_sqlite3ExprListAppend($2305,$2309,$2312)|0); - $2314 = HEAP32[$yymsp>>2]|0; - $2315 = ((($2314)) + -48|0); - $2316 = ((($2315)) + 4|0); - HEAP32[$2316>>2] = $2313; + $2313 = HEAP32[$6>>2]|0; + $2314 = ((($2313)) + -32|0); + $2315 = ((($2314)) + 4|0); + $2316 = HEAP32[$2315>>2]|0; + $2317 = (_sqlite3ExprListAppend($2308,$2312,$2316)|0); + $2318 = HEAP32[$6>>2]|0; + $2319 = ((($2318)) + -64|0); + $2320 = ((($2319)) + 4|0); + HEAP32[$2320>>2] = $2317; + $2321 = HEAP32[$8>>2]|0; + $2322 = HEAP32[$6>>2]|0; + $2323 = ((($2322)) + -64|0); + $2324 = ((($2323)) + 4|0); + $2325 = HEAP32[$2324>>2]|0; + $2326 = HEAP32[$6>>2]|0; + $2327 = ((($2326)) + 4|0); + $2328 = HEAP32[$2327>>2]|0; + $2329 = (_sqlite3ExprListAppend($2321,$2325,$2328)|0); + $2330 = HEAP32[$6>>2]|0; + $2331 = ((($2330)) + -64|0); + $2332 = ((($2331)) + 4|0); + HEAP32[$2332>>2] = $2329; + break; + } + case 198: { + $2333 = HEAP32[$8>>2]|0; + $2334 = HEAP32[$6>>2]|0; + $2335 = ((($2334)) + -32|0); + $2336 = ((($2335)) + 4|0); + $2337 = HEAP32[$2336>>2]|0; + $2338 = (_sqlite3ExprListAppend($2333,0,$2337)|0); + $2339 = HEAP32[$6>>2]|0; + $2340 = ((($2339)) + -48|0); + $2341 = ((($2340)) + 4|0); + HEAP32[$2341>>2] = $2338; + $2342 = HEAP32[$8>>2]|0; + $2343 = HEAP32[$6>>2]|0; + $2344 = ((($2343)) + -48|0); + $2345 = ((($2344)) + 4|0); + $2346 = HEAP32[$2345>>2]|0; + $2347 = HEAP32[$6>>2]|0; + $2348 = ((($2347)) + 4|0); + $2349 = HEAP32[$2348>>2]|0; + $2350 = (_sqlite3ExprListAppend($2342,$2346,$2349)|0); + $2351 = HEAP32[$6>>2]|0; + $2352 = ((($2351)) + -48|0); + $2353 = ((($2352)) + 4|0); + HEAP32[$2353>>2] = $2350; break; } case 201: { - $2317 = HEAP32[$yymsp>>2]|0; - $2318 = ((($2317)) + 4|0); - $2319 = HEAP32[$2318>>2]|0; - $2320 = HEAP32[$yymsp>>2]|0; - $2321 = ((($2320)) + 4|0); - HEAP32[$2321>>2] = $2319; + $2354 = HEAP32[$6>>2]|0; + $2355 = ((($2354)) + 4|0); + $2356 = HEAP32[$2355>>2]|0; + $2357 = HEAP32[$6>>2]|0; + $2358 = ((($2357)) + 4|0); + HEAP32[$2358>>2] = $2356; break; } case 204: { - $2322 = HEAP32[$pParse>>2]|0; - $2323 = HEAP32[$yymsp>>2]|0; - $2324 = ((($2323)) + -32|0); - $2325 = ((($2324)) + 4|0); - $2326 = HEAP32[$2325>>2]|0; - $2327 = HEAP32[$yymsp>>2]|0; - $2328 = ((($2327)) + 4|0); - $2329 = HEAP32[$2328>>2]|0; - $2330 = (_sqlite3ExprListAppend($2322,$2326,$2329)|0); - $2331 = HEAP32[$yymsp>>2]|0; - $2332 = ((($2331)) + -32|0); - $2333 = ((($2332)) + 4|0); - HEAP32[$2333>>2] = $2330; + $2359 = HEAP32[$8>>2]|0; + $2360 = HEAP32[$6>>2]|0; + $2361 = ((($2360)) + -32|0); + $2362 = ((($2361)) + 4|0); + $2363 = HEAP32[$2362>>2]|0; + $2364 = HEAP32[$6>>2]|0; + $2365 = ((($2364)) + 4|0); + $2366 = HEAP32[$2365>>2]|0; + $2367 = (_sqlite3ExprListAppend($2359,$2363,$2366)|0); + $2368 = HEAP32[$6>>2]|0; + $2369 = ((($2368)) + -32|0); + $2370 = ((($2369)) + 4|0); + HEAP32[$2370>>2] = $2367; break; } case 205: { - $2334 = HEAP32[$pParse>>2]|0; - $2335 = HEAP32[$yymsp>>2]|0; - $2336 = ((($2335)) + 4|0); - $2337 = HEAP32[$2336>>2]|0; - $2338 = (_sqlite3ExprListAppend($2334,0,$2337)|0); - $2339 = HEAP32[$yymsp>>2]|0; - $2340 = ((($2339)) + 4|0); - HEAP32[$2340>>2] = $2338; + $2371 = HEAP32[$8>>2]|0; + $2372 = HEAP32[$6>>2]|0; + $2373 = ((($2372)) + 4|0); + $2374 = HEAP32[$2373>>2]|0; + $2375 = (_sqlite3ExprListAppend($2371,0,$2374)|0); + $2376 = HEAP32[$6>>2]|0; + $2377 = ((($2376)) + 4|0); + HEAP32[$2377>>2] = $2375; break; } case 212: case 207: { - $2341 = HEAP32[$yymsp>>2]|0; - $2342 = ((($2341)) + -16|0); - $2343 = ((($2342)) + 4|0); - $2344 = HEAP32[$2343>>2]|0; - $2345 = HEAP32[$yymsp>>2]|0; - $2346 = ((($2345)) + -32|0); - $2347 = ((($2346)) + 4|0); - HEAP32[$2347>>2] = $2344; + $2378 = HEAP32[$6>>2]|0; + $2379 = ((($2378)) + -16|0); + $2380 = ((($2379)) + 4|0); + $2381 = HEAP32[$2380>>2]|0; + $2382 = HEAP32[$6>>2]|0; + $2383 = ((($2382)) + -32|0); + $2384 = ((($2383)) + 4|0); + HEAP32[$2384>>2] = $2381; break; } case 208: { - $2348 = HEAP32[$pParse>>2]|0; - $2349 = HEAP32[$yymsp>>2]|0; - $2350 = ((($2349)) + -112|0); - $2351 = ((($2350)) + 4|0); - $2352 = HEAP32[$yymsp>>2]|0; - $2353 = ((($2352)) + -96|0); - $2354 = ((($2353)) + 4|0); - $2355 = HEAP32[$pParse>>2]|0; - $2356 = HEAP32[$2355>>2]|0; - $2357 = HEAP32[$yymsp>>2]|0; - $2358 = ((($2357)) + -64|0); - $2359 = ((($2358)) + 4|0); - $2360 = (_sqlite3SrcListAppend($2356,0,$2359,0)|0); - $2361 = HEAP32[$yymsp>>2]|0; - $2362 = ((($2361)) + -32|0); - $2363 = ((($2362)) + 4|0); - $2364 = HEAP32[$2363>>2]|0; - $2365 = HEAP32[$yymsp>>2]|0; - $2366 = ((($2365)) + -160|0); - $2367 = ((($2366)) + 4|0); - $2368 = HEAP32[$2367>>2]|0; - $2369 = HEAP32[$yymsp>>2]|0; - $2370 = ((($2369)) + -176|0); - $2371 = ((($2370)) + 4|0); - $2372 = HEAP32[$yymsp>>2]|0; - $2373 = ((($2372)) + 4|0); - $2374 = HEAP32[$2373>>2]|0; - $2375 = HEAP32[$yymsp>>2]|0; - $2376 = ((($2375)) + -128|0); - $2377 = ((($2376)) + 4|0); - $2378 = HEAP32[$2377>>2]|0; - _sqlite3CreateIndex($2348,$2351,$2354,$2360,$2364,$2368,$2371,$2374,0,$2378,0); + $2385 = HEAP32[$8>>2]|0; + $2386 = HEAP32[$6>>2]|0; + $2387 = ((($2386)) + -112|0); + $2388 = ((($2387)) + 4|0); + $2389 = HEAP32[$6>>2]|0; + $2390 = ((($2389)) + -96|0); + $2391 = ((($2390)) + 4|0); + $2392 = HEAP32[$8>>2]|0; + $2393 = HEAP32[$2392>>2]|0; + $2394 = HEAP32[$6>>2]|0; + $2395 = ((($2394)) + -64|0); + $2396 = ((($2395)) + 4|0); + $2397 = (_sqlite3SrcListAppend($2393,0,$2396,0)|0); + $2398 = HEAP32[$6>>2]|0; + $2399 = ((($2398)) + -32|0); + $2400 = ((($2399)) + 4|0); + $2401 = HEAP32[$2400>>2]|0; + $2402 = HEAP32[$6>>2]|0; + $2403 = ((($2402)) + -160|0); + $2404 = ((($2403)) + 4|0); + $2405 = HEAP32[$2404>>2]|0; + $2406 = HEAP32[$6>>2]|0; + $2407 = ((($2406)) + -176|0); + $2408 = ((($2407)) + 4|0); + $2409 = HEAP32[$6>>2]|0; + $2410 = ((($2409)) + 4|0); + $2411 = HEAP32[$2410>>2]|0; + $2412 = HEAP32[$6>>2]|0; + $2413 = ((($2412)) + -128|0); + $2414 = ((($2413)) + 4|0); + $2415 = HEAP32[$2414>>2]|0; + _sqlite3CreateIndex($2385,$2388,$2391,$2397,$2401,$2405,$2408,$2411,0,$2415,0); break; } case 250: case 209: { - $2379 = HEAP32[$yymsp>>2]|0; - $2380 = ((($2379)) + 4|0); - HEAP32[$2380>>2] = 2; + $2416 = HEAP32[$6>>2]|0; + $2417 = ((($2416)) + 4|0); + HEAP32[$2417>>2] = 2; break; } case 210: { - $2381 = HEAP32[$yymsp>>2]|0; - $2382 = ((($2381)) + 16|0); - $2383 = ((($2382)) + 4|0); - HEAP32[$2383>>2] = 0; + $2418 = HEAP32[$6>>2]|0; + $2419 = ((($2418)) + 16|0); + $2420 = ((($2419)) + 4|0); + HEAP32[$2420>>2] = 0; break; } case 213: { - $2384 = HEAP32[$pParse>>2]|0; - $2385 = HEAP32[$yymsp>>2]|0; - $2386 = ((($2385)) + -64|0); - $2387 = ((($2386)) + 4|0); - $2388 = HEAP32[$2387>>2]|0; - $2389 = HEAP32[$yymsp>>2]|0; - $2390 = ((($2389)) + -32|0); - $2391 = ((($2390)) + 4|0); - $2392 = HEAP32[$yymsp>>2]|0; - $2393 = ((($2392)) + -16|0); - $2394 = ((($2393)) + 4|0); - $2395 = HEAP32[$2394>>2]|0; - $2396 = HEAP32[$yymsp>>2]|0; - $2397 = ((($2396)) + 4|0); - $2398 = HEAP32[$2397>>2]|0; - $2399 = (_parserAddExprIdListTerm($2384,$2388,$2391,$2395,$2398)|0); - $2400 = HEAP32[$yymsp>>2]|0; - $2401 = ((($2400)) + -64|0); - $2402 = ((($2401)) + 4|0); - HEAP32[$2402>>2] = $2399; + $2421 = HEAP32[$8>>2]|0; + $2422 = HEAP32[$6>>2]|0; + $2423 = ((($2422)) + -64|0); + $2424 = ((($2423)) + 4|0); + $2425 = HEAP32[$2424>>2]|0; + $2426 = HEAP32[$6>>2]|0; + $2427 = ((($2426)) + -32|0); + $2428 = ((($2427)) + 4|0); + $2429 = HEAP32[$6>>2]|0; + $2430 = ((($2429)) + -16|0); + $2431 = ((($2430)) + 4|0); + $2432 = HEAP32[$2431>>2]|0; + $2433 = HEAP32[$6>>2]|0; + $2434 = ((($2433)) + 4|0); + $2435 = HEAP32[$2434>>2]|0; + $2436 = (_parserAddExprIdListTerm($2421,$2425,$2428,$2432,$2435)|0); + $2437 = HEAP32[$6>>2]|0; + $2438 = ((($2437)) + -64|0); + $2439 = ((($2438)) + 4|0); + HEAP32[$2439>>2] = $2436; break; } case 214: { - $2403 = HEAP32[$pParse>>2]|0; - $2404 = HEAP32[$yymsp>>2]|0; - $2405 = ((($2404)) + -32|0); - $2406 = ((($2405)) + 4|0); - $2407 = HEAP32[$yymsp>>2]|0; - $2408 = ((($2407)) + -16|0); - $2409 = ((($2408)) + 4|0); - $2410 = HEAP32[$2409>>2]|0; - $2411 = HEAP32[$yymsp>>2]|0; - $2412 = ((($2411)) + 4|0); - $2413 = HEAP32[$2412>>2]|0; - $2414 = (_parserAddExprIdListTerm($2403,0,$2406,$2410,$2413)|0); - $2415 = HEAP32[$yymsp>>2]|0; - $2416 = ((($2415)) + -32|0); - $2417 = ((($2416)) + 4|0); - HEAP32[$2417>>2] = $2414; + $2440 = HEAP32[$8>>2]|0; + $2441 = HEAP32[$6>>2]|0; + $2442 = ((($2441)) + -32|0); + $2443 = ((($2442)) + 4|0); + $2444 = HEAP32[$6>>2]|0; + $2445 = ((($2444)) + -16|0); + $2446 = ((($2445)) + 4|0); + $2447 = HEAP32[$2446>>2]|0; + $2448 = HEAP32[$6>>2]|0; + $2449 = ((($2448)) + 4|0); + $2450 = HEAP32[$2449>>2]|0; + $2451 = (_parserAddExprIdListTerm($2440,0,$2443,$2447,$2450)|0); + $2452 = HEAP32[$6>>2]|0; + $2453 = ((($2452)) + -32|0); + $2454 = ((($2453)) + 4|0); + HEAP32[$2454>>2] = $2451; break; } case 217: { - $2418 = HEAP32[$pParse>>2]|0; - $2419 = HEAP32[$yymsp>>2]|0; - $2420 = ((($2419)) + 4|0); - $2421 = HEAP32[$2420>>2]|0; - $2422 = HEAP32[$yymsp>>2]|0; - $2423 = ((($2422)) + -16|0); - $2424 = ((($2423)) + 4|0); - $2425 = HEAP32[$2424>>2]|0; - _sqlite3DropIndex($2418,$2421,$2425); + $2455 = HEAP32[$8>>2]|0; + $2456 = HEAP32[$6>>2]|0; + $2457 = ((($2456)) + 4|0); + $2458 = HEAP32[$2457>>2]|0; + $2459 = HEAP32[$6>>2]|0; + $2460 = ((($2459)) + -16|0); + $2461 = ((($2460)) + 4|0); + $2462 = HEAP32[$2461>>2]|0; + _sqlite3DropIndex($2455,$2458,$2462); break; } case 218: { - $2426 = HEAP32[$pParse>>2]|0; - _sqlite3Vacuum($2426,0); + $2463 = HEAP32[$8>>2]|0; + _sqlite3Vacuum($2463,0); break; } case 219: { - $2427 = HEAP32[$pParse>>2]|0; - $2428 = HEAP32[$yymsp>>2]|0; - $2429 = ((($2428)) + 4|0); - _sqlite3Vacuum($2427,$2429); + $2464 = HEAP32[$8>>2]|0; + $2465 = HEAP32[$6>>2]|0; + $2466 = ((($2465)) + 4|0); + _sqlite3Vacuum($2464,$2466); break; } case 220: { - $2430 = HEAP32[$pParse>>2]|0; - $2431 = HEAP32[$yymsp>>2]|0; - $2432 = ((($2431)) + -16|0); - $2433 = ((($2432)) + 4|0); - $2434 = HEAP32[$yymsp>>2]|0; - $2435 = ((($2434)) + 4|0); - _sqlite3Pragma($2430,$2433,$2435,0,0); + $2467 = HEAP32[$8>>2]|0; + $2468 = HEAP32[$6>>2]|0; + $2469 = ((($2468)) + -16|0); + $2470 = ((($2469)) + 4|0); + $2471 = HEAP32[$6>>2]|0; + $2472 = ((($2471)) + 4|0); + _sqlite3Pragma($2467,$2470,$2472,0,0); break; } case 221: { - $2436 = HEAP32[$pParse>>2]|0; - $2437 = HEAP32[$yymsp>>2]|0; - $2438 = ((($2437)) + -48|0); - $2439 = ((($2438)) + 4|0); - $2440 = HEAP32[$yymsp>>2]|0; - $2441 = ((($2440)) + -32|0); - $2442 = ((($2441)) + 4|0); - $2443 = HEAP32[$yymsp>>2]|0; - $2444 = ((($2443)) + 4|0); - _sqlite3Pragma($2436,$2439,$2442,$2444,0); + $2473 = HEAP32[$8>>2]|0; + $2474 = HEAP32[$6>>2]|0; + $2475 = ((($2474)) + -48|0); + $2476 = ((($2475)) + 4|0); + $2477 = HEAP32[$6>>2]|0; + $2478 = ((($2477)) + -32|0); + $2479 = ((($2478)) + 4|0); + $2480 = HEAP32[$6>>2]|0; + $2481 = ((($2480)) + 4|0); + _sqlite3Pragma($2473,$2476,$2479,$2481,0); break; } case 222: { - $2445 = HEAP32[$pParse>>2]|0; - $2446 = HEAP32[$yymsp>>2]|0; - $2447 = ((($2446)) + -64|0); - $2448 = ((($2447)) + 4|0); - $2449 = HEAP32[$yymsp>>2]|0; - $2450 = ((($2449)) + -48|0); - $2451 = ((($2450)) + 4|0); - $2452 = HEAP32[$yymsp>>2]|0; - $2453 = ((($2452)) + -16|0); - $2454 = ((($2453)) + 4|0); - _sqlite3Pragma($2445,$2448,$2451,$2454,0); + $2482 = HEAP32[$8>>2]|0; + $2483 = HEAP32[$6>>2]|0; + $2484 = ((($2483)) + -64|0); + $2485 = ((($2484)) + 4|0); + $2486 = HEAP32[$6>>2]|0; + $2487 = ((($2486)) + -48|0); + $2488 = ((($2487)) + 4|0); + $2489 = HEAP32[$6>>2]|0; + $2490 = ((($2489)) + -16|0); + $2491 = ((($2490)) + 4|0); + _sqlite3Pragma($2482,$2485,$2488,$2491,0); break; } case 223: { - $2455 = HEAP32[$pParse>>2]|0; - $2456 = HEAP32[$yymsp>>2]|0; - $2457 = ((($2456)) + -48|0); - $2458 = ((($2457)) + 4|0); - $2459 = HEAP32[$yymsp>>2]|0; - $2460 = ((($2459)) + -32|0); - $2461 = ((($2460)) + 4|0); - $2462 = HEAP32[$yymsp>>2]|0; - $2463 = ((($2462)) + 4|0); - _sqlite3Pragma($2455,$2458,$2461,$2463,1); + $2492 = HEAP32[$8>>2]|0; + $2493 = HEAP32[$6>>2]|0; + $2494 = ((($2493)) + -48|0); + $2495 = ((($2494)) + 4|0); + $2496 = HEAP32[$6>>2]|0; + $2497 = ((($2496)) + -32|0); + $2498 = ((($2497)) + 4|0); + $2499 = HEAP32[$6>>2]|0; + $2500 = ((($2499)) + 4|0); + _sqlite3Pragma($2492,$2495,$2498,$2500,1); break; } case 224: { - $2464 = HEAP32[$pParse>>2]|0; - $2465 = HEAP32[$yymsp>>2]|0; - $2466 = ((($2465)) + -64|0); - $2467 = ((($2466)) + 4|0); - $2468 = HEAP32[$yymsp>>2]|0; - $2469 = ((($2468)) + -48|0); - $2470 = ((($2469)) + 4|0); - $2471 = HEAP32[$yymsp>>2]|0; - $2472 = ((($2471)) + -16|0); - $2473 = ((($2472)) + 4|0); - _sqlite3Pragma($2464,$2467,$2470,$2473,1); + $2501 = HEAP32[$8>>2]|0; + $2502 = HEAP32[$6>>2]|0; + $2503 = ((($2502)) + -64|0); + $2504 = ((($2503)) + 4|0); + $2505 = HEAP32[$6>>2]|0; + $2506 = ((($2505)) + -48|0); + $2507 = ((($2506)) + 4|0); + $2508 = HEAP32[$6>>2]|0; + $2509 = ((($2508)) + -16|0); + $2510 = ((($2509)) + 4|0); + _sqlite3Pragma($2501,$2504,$2507,$2510,1); break; } case 227: { - $2474 = HEAP32[$yymsp>>2]|0; - $2475 = ((($2474)) + -48|0); - $2476 = ((($2475)) + 4|0); - $2477 = HEAP32[$2476>>2]|0; - HEAP32[$all>>2] = $2477; - $2478 = HEAP32[$yymsp>>2]|0; - $2479 = ((($2478)) + 4|0); - $2480 = HEAP32[$2479>>2]|0; - $2481 = HEAP32[$yymsp>>2]|0; - $2482 = ((($2481)) + -48|0); - $2483 = ((($2482)) + 4|0); - $2484 = HEAP32[$2483>>2]|0; - $2485 = $2480; - $2486 = $2484; - $2487 = (($2485) - ($2486))|0; - $2488 = HEAP32[$yymsp>>2]|0; - $2489 = ((($2488)) + 4|0); - $2490 = ((($2489)) + 4|0); - $2491 = HEAP32[$2490>>2]|0; - $2492 = (($2487) + ($2491))|0; - $2493 = ((($all)) + 4|0); - HEAP32[$2493>>2] = $2492; - $2494 = HEAP32[$pParse>>2]|0; - $2495 = HEAP32[$yymsp>>2]|0; - $2496 = ((($2495)) + -16|0); - $2497 = ((($2496)) + 4|0); - $2498 = HEAP32[$2497>>2]|0; - _sqlite3FinishTrigger($2494,$2498,$all); + $2511 = HEAP32[$6>>2]|0; + $2512 = ((($2511)) + -48|0); + $2513 = ((($2512)) + 4|0); + $2514 = HEAP32[$2513>>2]|0; + HEAP32[$45>>2] = $2514; + $2515 = HEAP32[$6>>2]|0; + $2516 = ((($2515)) + 4|0); + $2517 = HEAP32[$2516>>2]|0; + $2518 = HEAP32[$6>>2]|0; + $2519 = ((($2518)) + -48|0); + $2520 = ((($2519)) + 4|0); + $2521 = HEAP32[$2520>>2]|0; + $2522 = $2517; + $2523 = $2521; + $2524 = (($2522) - ($2523))|0; + $2525 = HEAP32[$6>>2]|0; + $2526 = ((($2525)) + 4|0); + $2527 = ((($2526)) + 4|0); + $2528 = HEAP32[$2527>>2]|0; + $2529 = (($2524) + ($2528))|0; + $2530 = ((($45)) + 4|0); + HEAP32[$2530>>2] = $2529; + $2531 = HEAP32[$8>>2]|0; + $2532 = HEAP32[$6>>2]|0; + $2533 = ((($2532)) + -16|0); + $2534 = ((($2533)) + 4|0); + $2535 = HEAP32[$2534>>2]|0; + _sqlite3FinishTrigger($2531,$2535,$45); break; } case 228: { - $2499 = HEAP32[$pParse>>2]|0; - $2500 = HEAP32[$yymsp>>2]|0; - $2501 = ((($2500)) + -112|0); - $2502 = ((($2501)) + 4|0); - $2503 = HEAP32[$yymsp>>2]|0; - $2504 = ((($2503)) + -96|0); - $2505 = ((($2504)) + 4|0); - $2506 = HEAP32[$yymsp>>2]|0; - $2507 = ((($2506)) + -80|0); - $2508 = ((($2507)) + 4|0); - $2509 = HEAP32[$2508>>2]|0; - $2510 = HEAP32[$yymsp>>2]|0; - $2511 = ((($2510)) + -64|0); - $2512 = ((($2511)) + 4|0); - $2513 = HEAP32[$2512>>2]|0; - $2514 = HEAP32[$yymsp>>2]|0; - $2515 = ((($2514)) + -64|0); - $2516 = ((($2515)) + 4|0); - $2517 = ((($2516)) + 4|0); - $2518 = HEAP32[$2517>>2]|0; - $2519 = HEAP32[$yymsp>>2]|0; - $2520 = ((($2519)) + -32|0); - $2521 = ((($2520)) + 4|0); - $2522 = HEAP32[$2521>>2]|0; - $2523 = HEAP32[$yymsp>>2]|0; - $2524 = ((($2523)) + 4|0); - $2525 = HEAP32[$2524>>2]|0; - $2526 = HEAP32[$yymsp>>2]|0; - $2527 = ((($2526)) + -160|0); - $2528 = ((($2527)) + 4|0); - $2529 = HEAP32[$2528>>2]|0; - $2530 = HEAP32[$yymsp>>2]|0; - $2531 = ((($2530)) + -128|0); - $2532 = ((($2531)) + 4|0); - $2533 = HEAP32[$2532>>2]|0; - _sqlite3BeginTrigger($2499,$2502,$2505,$2509,$2513,$2518,$2522,$2525,$2529,$2533); - $2534 = HEAP32[$yymsp>>2]|0; - $2535 = ((($2534)) + -160|0); - $2536 = ((($2535)) + 4|0); - $2537 = HEAP32[$yymsp>>2]|0; - $2538 = ((($2537)) + -96|0); + $2536 = HEAP32[$8>>2]|0; + $2537 = HEAP32[$6>>2]|0; + $2538 = ((($2537)) + -112|0); $2539 = ((($2538)) + 4|0); - $2540 = ((($2539)) + 4|0); - $2541 = HEAP32[$2540>>2]|0; - $2542 = ($2541|0)==(0); - $2543 = HEAP32[$yymsp>>2]|0; - if ($2542) { - $2544 = ((($2543)) + -112|0); - $2545 = ((($2544)) + 4|0); - ;HEAP32[$2536>>2]=HEAP32[$2545>>2]|0;HEAP32[$2536+4>>2]=HEAP32[$2545+4>>2]|0; + $2540 = HEAP32[$6>>2]|0; + $2541 = ((($2540)) + -96|0); + $2542 = ((($2541)) + 4|0); + $2543 = HEAP32[$6>>2]|0; + $2544 = ((($2543)) + -80|0); + $2545 = ((($2544)) + 4|0); + $2546 = HEAP32[$2545>>2]|0; + $2547 = HEAP32[$6>>2]|0; + $2548 = ((($2547)) + -64|0); + $2549 = ((($2548)) + 4|0); + $2550 = HEAP32[$2549>>2]|0; + $2551 = HEAP32[$6>>2]|0; + $2552 = ((($2551)) + -64|0); + $2553 = ((($2552)) + 4|0); + $2554 = ((($2553)) + 4|0); + $2555 = HEAP32[$2554>>2]|0; + $2556 = HEAP32[$6>>2]|0; + $2557 = ((($2556)) + -32|0); + $2558 = ((($2557)) + 4|0); + $2559 = HEAP32[$2558>>2]|0; + $2560 = HEAP32[$6>>2]|0; + $2561 = ((($2560)) + 4|0); + $2562 = HEAP32[$2561>>2]|0; + $2563 = HEAP32[$6>>2]|0; + $2564 = ((($2563)) + -160|0); + $2565 = ((($2564)) + 4|0); + $2566 = HEAP32[$2565>>2]|0; + $2567 = HEAP32[$6>>2]|0; + $2568 = ((($2567)) + -128|0); + $2569 = ((($2568)) + 4|0); + $2570 = HEAP32[$2569>>2]|0; + _sqlite3BeginTrigger($2536,$2539,$2542,$2546,$2550,$2555,$2559,$2562,$2566,$2570); + $2571 = HEAP32[$6>>2]|0; + $2572 = ((($2571)) + -160|0); + $2573 = ((($2572)) + 4|0); + $2574 = HEAP32[$6>>2]|0; + $2575 = ((($2574)) + -96|0); + $2576 = ((($2575)) + 4|0); + $2577 = ((($2576)) + 4|0); + $2578 = HEAP32[$2577>>2]|0; + $2579 = ($2578|0)==(0); + $2580 = HEAP32[$6>>2]|0; + if ($2579) { + $2581 = ((($2580)) + -112|0); + $2582 = ((($2581)) + 4|0); + ;HEAP32[$2573>>2]=HEAP32[$2582>>2]|0;HEAP32[$2573+4>>2]=HEAP32[$2582+4>>2]|0; break L6; } else { - $2546 = ((($2543)) + -96|0); - $2547 = ((($2546)) + 4|0); - ;HEAP32[$2536>>2]=HEAP32[$2547>>2]|0;HEAP32[$2536+4>>2]=HEAP32[$2547+4>>2]|0; + $2583 = ((($2580)) + -96|0); + $2584 = ((($2583)) + 4|0); + ;HEAP32[$2573>>2]=HEAP32[$2584>>2]|0;HEAP32[$2573+4>>2]=HEAP32[$2584+4>>2]|0; break L6; } break; } case 229: { - $2548 = HEAP32[$yymsp>>2]|0; - $2549 = ((($2548)) + 4|0); - HEAP32[$2549>>2] = 63; + $2585 = HEAP32[$6>>2]|0; + $2586 = ((($2585)) + 4|0); + HEAP32[$2586>>2] = 63; break; } case 230: { - $2550 = HEAP32[$yymsp>>2]|0; - $2551 = ((($2550)) + 4|0); - HEAP32[$2551>>2] = 59; + $2587 = HEAP32[$6>>2]|0; + $2588 = ((($2587)) + 4|0); + HEAP32[$2588>>2] = 59; break; } case 231: { - $2552 = HEAP32[$yymsp>>2]|0; - $2553 = ((($2552)) + -16|0); - $2554 = ((($2553)) + 4|0); - HEAP32[$2554>>2] = 77; + $2589 = HEAP32[$6>>2]|0; + $2590 = ((($2589)) + -16|0); + $2591 = ((($2590)) + 4|0); + HEAP32[$2591>>2] = 77; break; } case 232: { - $2555 = HEAP32[$yymsp>>2]|0; - $2556 = ((($2555)) + 16|0); - $2557 = ((($2556)) + 4|0); - HEAP32[$2557>>2] = 63; + $2592 = HEAP32[$6>>2]|0; + $2593 = ((($2592)) + 16|0); + $2594 = ((($2593)) + 4|0); + HEAP32[$2594>>2] = 63; break; } case 234: case 233: { - $2558 = HEAP32[$yymsp>>2]|0; - $2559 = ((($2558)) + 2|0); - $2560 = HEAP8[$2559>>0]|0; - $2561 = $2560&255; - $2562 = HEAP32[$yymsp>>2]|0; - $2563 = ((($2562)) + 4|0); - HEAP32[$2563>>2] = $2561; - $2564 = HEAP32[$yymsp>>2]|0; - $2565 = ((($2564)) + 4|0); - $2566 = ((($2565)) + 4|0); - HEAP32[$2566>>2] = 0; + $2595 = HEAP32[$6>>2]|0; + $2596 = ((($2595)) + 2|0); + $2597 = HEAP8[$2596>>0]|0; + $2598 = $2597&255; + $2599 = HEAP32[$6>>2]|0; + $2600 = ((($2599)) + 4|0); + HEAP32[$2600>>2] = $2598; + $2601 = HEAP32[$6>>2]|0; + $2602 = ((($2601)) + 4|0); + $2603 = ((($2602)) + 4|0); + HEAP32[$2603>>2] = 0; break; } case 235: { - $2567 = HEAP32[$yymsp>>2]|0; - $2568 = ((($2567)) + -32|0); - $2569 = ((($2568)) + 4|0); - HEAP32[$2569>>2] = 110; - $2570 = HEAP32[$yymsp>>2]|0; - $2571 = ((($2570)) + 4|0); - $2572 = HEAP32[$2571>>2]|0; - $2573 = HEAP32[$yymsp>>2]|0; - $2574 = ((($2573)) + -32|0); - $2575 = ((($2574)) + 4|0); - $2576 = ((($2575)) + 4|0); - HEAP32[$2576>>2] = $2572; + $2604 = HEAP32[$6>>2]|0; + $2605 = ((($2604)) + -32|0); + $2606 = ((($2605)) + 4|0); + HEAP32[$2606>>2] = 110; + $2607 = HEAP32[$6>>2]|0; + $2608 = ((($2607)) + 4|0); + $2609 = HEAP32[$2608>>2]|0; + $2610 = HEAP32[$6>>2]|0; + $2611 = ((($2610)) + -32|0); + $2612 = ((($2611)) + 4|0); + $2613 = ((($2612)) + 4|0); + HEAP32[$2613>>2] = $2609; break; } case 255: case 236: { - $2577 = HEAP32[$yymsp>>2]|0; - $2578 = ((($2577)) + 16|0); - $2579 = ((($2578)) + 4|0); - HEAP32[$2579>>2] = 0; + $2614 = HEAP32[$6>>2]|0; + $2615 = ((($2614)) + 16|0); + $2616 = ((($2615)) + 4|0); + HEAP32[$2616>>2] = 0; break; } case 256: case 237: { - $2580 = HEAP32[$yymsp>>2]|0; - $2581 = ((($2580)) + 4|0); - $2582 = HEAP32[$2581>>2]|0; - $2583 = HEAP32[$yymsp>>2]|0; - $2584 = ((($2583)) + -16|0); - $2585 = ((($2584)) + 4|0); - HEAP32[$2585>>2] = $2582; + $2617 = HEAP32[$6>>2]|0; + $2618 = ((($2617)) + 4|0); + $2619 = HEAP32[$2618>>2]|0; + $2620 = HEAP32[$6>>2]|0; + $2621 = ((($2620)) + -16|0); + $2622 = ((($2621)) + 4|0); + HEAP32[$2622>>2] = $2619; break; } case 238: { - $2586 = HEAP32[$yymsp>>2]|0; - $2587 = ((($2586)) + -16|0); - $2588 = ((($2587)) + 4|0); - $2589 = HEAP32[$2588>>2]|0; - $2590 = HEAP32[$yymsp>>2]|0; - $2591 = ((($2590)) + -32|0); - $2592 = ((($2591)) + 4|0); - $2593 = HEAP32[$2592>>2]|0; - $2594 = ((($2593)) + 32|0); - $2595 = HEAP32[$2594>>2]|0; - $2596 = ((($2595)) + 28|0); - HEAP32[$2596>>2] = $2589; - $2597 = HEAP32[$yymsp>>2]|0; - $2598 = ((($2597)) + -16|0); - $2599 = ((($2598)) + 4|0); - $2600 = HEAP32[$2599>>2]|0; - $2601 = HEAP32[$yymsp>>2]|0; - $2602 = ((($2601)) + -32|0); - $2603 = ((($2602)) + 4|0); - $2604 = HEAP32[$2603>>2]|0; - $2605 = ((($2604)) + 32|0); - HEAP32[$2605>>2] = $2600; + $2623 = HEAP32[$6>>2]|0; + $2624 = ((($2623)) + -16|0); + $2625 = ((($2624)) + 4|0); + $2626 = HEAP32[$2625>>2]|0; + $2627 = HEAP32[$6>>2]|0; + $2628 = ((($2627)) + -32|0); + $2629 = ((($2628)) + 4|0); + $2630 = HEAP32[$2629>>2]|0; + $2631 = ((($2630)) + 32|0); + $2632 = HEAP32[$2631>>2]|0; + $2633 = ((($2632)) + 28|0); + HEAP32[$2633>>2] = $2626; + $2634 = HEAP32[$6>>2]|0; + $2635 = ((($2634)) + -16|0); + $2636 = ((($2635)) + 4|0); + $2637 = HEAP32[$2636>>2]|0; + $2638 = HEAP32[$6>>2]|0; + $2639 = ((($2638)) + -32|0); + $2640 = ((($2639)) + 4|0); + $2641 = HEAP32[$2640>>2]|0; + $2642 = ((($2641)) + 32|0); + HEAP32[$2642>>2] = $2637; break; } case 239: { - $2606 = HEAP32[$yymsp>>2]|0; - $2607 = ((($2606)) + -16|0); - $2608 = ((($2607)) + 4|0); - $2609 = HEAP32[$2608>>2]|0; - $2610 = HEAP32[$yymsp>>2]|0; - $2611 = ((($2610)) + -16|0); - $2612 = ((($2611)) + 4|0); - $2613 = HEAP32[$2612>>2]|0; - $2614 = ((($2613)) + 32|0); - HEAP32[$2614>>2] = $2609; + $2643 = HEAP32[$6>>2]|0; + $2644 = ((($2643)) + -16|0); + $2645 = ((($2644)) + 4|0); + $2646 = HEAP32[$2645>>2]|0; + $2647 = HEAP32[$6>>2]|0; + $2648 = ((($2647)) + -16|0); + $2649 = ((($2648)) + 4|0); + $2650 = HEAP32[$2649>>2]|0; + $2651 = ((($2650)) + 32|0); + HEAP32[$2651>>2] = $2646; break; } case 240: { - $2615 = HEAP32[$yymsp>>2]|0; - $2616 = ((($2615)) + -32|0); - $2617 = ((($2616)) + 4|0); - $2618 = HEAP32[$yymsp>>2]|0; - $2619 = ((($2618)) + 4|0); - ;HEAP32[$2617>>2]=HEAP32[$2619>>2]|0;HEAP32[$2617+4>>2]=HEAP32[$2619+4>>2]|0; - $2620 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($2620,27220,$vararg_buffer8); + $2652 = HEAP32[$6>>2]|0; + $2653 = ((($2652)) + -32|0); + $2654 = ((($2653)) + 4|0); + $2655 = HEAP32[$6>>2]|0; + $2656 = ((($2655)) + 4|0); + ;HEAP32[$2654>>2]=HEAP32[$2656>>2]|0;HEAP32[$2654+4>>2]=HEAP32[$2656+4>>2]|0; + $2657 = HEAP32[$8>>2]|0; + _sqlite3ErrorMsg($2657,26077,$vararg_buffer18); break; } case 241: { - $2621 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($2621,27315,$vararg_buffer10); + $2658 = HEAP32[$8>>2]|0; + _sqlite3ErrorMsg($2658,26172,$vararg_buffer20); break; } case 242: { - $2622 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($2622,27399,$vararg_buffer12); + $2659 = HEAP32[$8>>2]|0; + _sqlite3ErrorMsg($2659,26256,$vararg_buffer22); break; } case 243: { - $2623 = HEAP32[$pParse>>2]|0; - $2624 = HEAP32[$2623>>2]|0; - $2625 = HEAP32[$yymsp>>2]|0; - $2626 = ((($2625)) + -64|0); - $2627 = ((($2626)) + 4|0); - $2628 = HEAP32[$yymsp>>2]|0; - $2629 = ((($2628)) + -16|0); - $2630 = ((($2629)) + 4|0); - $2631 = HEAP32[$2630>>2]|0; - $2632 = HEAP32[$yymsp>>2]|0; - $2633 = ((($2632)) + 4|0); - $2634 = HEAP32[$2633>>2]|0; - $2635 = HEAP32[$yymsp>>2]|0; - $2636 = ((($2635)) + -80|0); - $2637 = ((($2636)) + 4|0); - $2638 = HEAP32[$2637>>2]|0; - $2639 = $2638&255; - $2640 = (_sqlite3TriggerUpdateStep($2624,$2627,$2631,$2634,$2639)|0); - $2641 = HEAP32[$yymsp>>2]|0; - $2642 = ((($2641)) + -96|0); - $2643 = ((($2642)) + 4|0); - HEAP32[$2643>>2] = $2640; + $2660 = HEAP32[$8>>2]|0; + $2661 = HEAP32[$2660>>2]|0; + $2662 = HEAP32[$6>>2]|0; + $2663 = ((($2662)) + -64|0); + $2664 = ((($2663)) + 4|0); + $2665 = HEAP32[$6>>2]|0; + $2666 = ((($2665)) + -16|0); + $2667 = ((($2666)) + 4|0); + $2668 = HEAP32[$2667>>2]|0; + $2669 = HEAP32[$6>>2]|0; + $2670 = ((($2669)) + 4|0); + $2671 = HEAP32[$2670>>2]|0; + $2672 = HEAP32[$6>>2]|0; + $2673 = ((($2672)) + -80|0); + $2674 = ((($2673)) + 4|0); + $2675 = HEAP32[$2674>>2]|0; + $2676 = $2675&255; + $2677 = (_sqlite3TriggerUpdateStep($2661,$2664,$2668,$2671,$2676)|0); + $2678 = HEAP32[$6>>2]|0; + $2679 = ((($2678)) + -96|0); + $2680 = ((($2679)) + 4|0); + HEAP32[$2680>>2] = $2677; break; } case 244: { - $2644 = HEAP32[$pParse>>2]|0; - $2645 = HEAP32[$2644>>2]|0; - $2646 = HEAP32[$yymsp>>2]|0; - $2647 = ((($2646)) + -32|0); - $2648 = ((($2647)) + 4|0); - $2649 = HEAP32[$yymsp>>2]|0; - $2650 = ((($2649)) + -16|0); - $2651 = ((($2650)) + 4|0); - $2652 = HEAP32[$2651>>2]|0; - $2653 = HEAP32[$yymsp>>2]|0; - $2654 = ((($2653)) + 4|0); - $2655 = HEAP32[$2654>>2]|0; - $2656 = HEAP32[$yymsp>>2]|0; - $2657 = ((($2656)) + -64|0); - $2658 = ((($2657)) + 4|0); - $2659 = HEAP32[$2658>>2]|0; - $2660 = $2659&255; - $2661 = (_sqlite3TriggerInsertStep($2645,$2648,$2652,$2655,$2660)|0); - $2662 = HEAP32[$yymsp>>2]|0; - $2663 = ((($2662)) + -64|0); - $2664 = ((($2663)) + 4|0); - HEAP32[$2664>>2] = $2661; + $2681 = HEAP32[$8>>2]|0; + $2682 = HEAP32[$2681>>2]|0; + $2683 = HEAP32[$6>>2]|0; + $2684 = ((($2683)) + -32|0); + $2685 = ((($2684)) + 4|0); + $2686 = HEAP32[$6>>2]|0; + $2687 = ((($2686)) + -16|0); + $2688 = ((($2687)) + 4|0); + $2689 = HEAP32[$2688>>2]|0; + $2690 = HEAP32[$6>>2]|0; + $2691 = ((($2690)) + 4|0); + $2692 = HEAP32[$2691>>2]|0; + $2693 = HEAP32[$6>>2]|0; + $2694 = ((($2693)) + -64|0); + $2695 = ((($2694)) + 4|0); + $2696 = HEAP32[$2695>>2]|0; + $2697 = $2696&255; + $2698 = (_sqlite3TriggerInsertStep($2682,$2685,$2689,$2692,$2697)|0); + $2699 = HEAP32[$6>>2]|0; + $2700 = ((($2699)) + -64|0); + $2701 = ((($2700)) + 4|0); + HEAP32[$2701>>2] = $2698; break; } case 245: { - $2665 = HEAP32[$pParse>>2]|0; - $2666 = HEAP32[$2665>>2]|0; - $2667 = HEAP32[$yymsp>>2]|0; - $2668 = ((($2667)) + -32|0); - $2669 = ((($2668)) + 4|0); - $2670 = HEAP32[$yymsp>>2]|0; - $2671 = ((($2670)) + 4|0); - $2672 = HEAP32[$2671>>2]|0; - $2673 = (_sqlite3TriggerDeleteStep($2666,$2669,$2672)|0); - $2674 = HEAP32[$yymsp>>2]|0; - $2675 = ((($2674)) + -64|0); - $2676 = ((($2675)) + 4|0); - HEAP32[$2676>>2] = $2673; + $2702 = HEAP32[$8>>2]|0; + $2703 = HEAP32[$2702>>2]|0; + $2704 = HEAP32[$6>>2]|0; + $2705 = ((($2704)) + -32|0); + $2706 = ((($2705)) + 4|0); + $2707 = HEAP32[$6>>2]|0; + $2708 = ((($2707)) + 4|0); + $2709 = HEAP32[$2708>>2]|0; + $2710 = (_sqlite3TriggerDeleteStep($2703,$2706,$2709)|0); + $2711 = HEAP32[$6>>2]|0; + $2712 = ((($2711)) + -64|0); + $2713 = ((($2712)) + 4|0); + HEAP32[$2713>>2] = $2710; break; } case 246: { - $2677 = HEAP32[$pParse>>2]|0; - $2678 = HEAP32[$2677>>2]|0; - $2679 = HEAP32[$yymsp>>2]|0; - $2680 = ((($2679)) + 4|0); - $2681 = HEAP32[$2680>>2]|0; - $2682 = (_sqlite3TriggerSelectStep($2678,$2681)|0); - $2683 = HEAP32[$yymsp>>2]|0; - $2684 = ((($2683)) + 4|0); - HEAP32[$2684>>2] = $2682; + $2714 = HEAP32[$8>>2]|0; + $2715 = HEAP32[$2714>>2]|0; + $2716 = HEAP32[$6>>2]|0; + $2717 = ((($2716)) + 4|0); + $2718 = HEAP32[$2717>>2]|0; + $2719 = (_sqlite3TriggerSelectStep($2715,$2718)|0); + $2720 = HEAP32[$6>>2]|0; + $2721 = ((($2720)) + 4|0); + HEAP32[$2721>>2] = $2719; break; } case 247: { - $2685 = HEAP32[$yymsp>>2]|0; - $2686 = ((($2685)) + -48|0); - $2687 = ((($2686)) + 4|0); - $2688 = HEAP32[$yymsp>>2]|0; - $2689 = ((($2688)) + -48|0); - $2690 = ((($2689)) + 4|0); - $2691 = HEAP32[$yymsp>>2]|0; - $2692 = ((($2691)) + 4|0); - _spanSet($2687,$2690,$2692); - $2693 = HEAP32[$pParse>>2]|0; - $2694 = (_sqlite3PExpr($2693,83,0,0,0)|0); - $2695 = HEAP32[$yymsp>>2]|0; - $2696 = ((($2695)) + -48|0); - $2697 = ((($2696)) + 4|0); - HEAP32[$2697>>2] = $2694; - $2698 = HEAP32[$yymsp>>2]|0; - $2699 = ((($2698)) + -48|0); - $2700 = ((($2699)) + 4|0); - $2701 = HEAP32[$2700>>2]|0; - $2702 = ($2701|0)!=(0|0); - if ($2702) { - $2703 = HEAP32[$yymsp>>2]|0; - $2704 = ((($2703)) + -48|0); - $2705 = ((($2704)) + 4|0); - $2706 = HEAP32[$2705>>2]|0; - $2707 = ((($2706)) + 1|0); - HEAP8[$2707>>0] = 4; + $2722 = HEAP32[$6>>2]|0; + $2723 = ((($2722)) + -48|0); + $2724 = ((($2723)) + 4|0); + $2725 = HEAP32[$6>>2]|0; + $2726 = ((($2725)) + -48|0); + $2727 = ((($2726)) + 4|0); + $2728 = HEAP32[$6>>2]|0; + $2729 = ((($2728)) + 4|0); + _spanSet($2724,$2727,$2729); + $2730 = HEAP32[$8>>2]|0; + $2731 = (_sqlite3PExpr($2730,83,0,0,0)|0); + $2732 = HEAP32[$6>>2]|0; + $2733 = ((($2732)) + -48|0); + $2734 = ((($2733)) + 4|0); + HEAP32[$2734>>2] = $2731; + $2735 = HEAP32[$6>>2]|0; + $2736 = ((($2735)) + -48|0); + $2737 = ((($2736)) + 4|0); + $2738 = HEAP32[$2737>>2]|0; + $2739 = ($2738|0)!=(0|0); + if ($2739) { + $2740 = HEAP32[$6>>2]|0; + $2741 = ((($2740)) + -48|0); + $2742 = ((($2741)) + 4|0); + $2743 = HEAP32[$2742>>2]|0; + $2744 = ((($2743)) + 1|0); + HEAP8[$2744>>0] = 4; } break; } case 248: { - $2708 = HEAP32[$yymsp>>2]|0; - $2709 = ((($2708)) + -80|0); - $2710 = ((($2709)) + 4|0); - $2711 = HEAP32[$yymsp>>2]|0; - $2712 = ((($2711)) + -80|0); - $2713 = ((($2712)) + 4|0); - $2714 = HEAP32[$yymsp>>2]|0; - $2715 = ((($2714)) + 4|0); - _spanSet($2710,$2713,$2715); - $2716 = HEAP32[$pParse>>2]|0; - $2717 = HEAP32[$yymsp>>2]|0; - $2718 = ((($2717)) + -16|0); - $2719 = ((($2718)) + 4|0); - $2720 = (_sqlite3PExpr($2716,83,0,0,$2719)|0); - $2721 = HEAP32[$yymsp>>2]|0; - $2722 = ((($2721)) + -80|0); - $2723 = ((($2722)) + 4|0); - HEAP32[$2723>>2] = $2720; - $2724 = HEAP32[$yymsp>>2]|0; - $2725 = ((($2724)) + -80|0); - $2726 = ((($2725)) + 4|0); - $2727 = HEAP32[$2726>>2]|0; - $2728 = ($2727|0)!=(0|0); - if ($2728) { - $2729 = HEAP32[$yymsp>>2]|0; - $2730 = ((($2729)) + -48|0); - $2731 = ((($2730)) + 4|0); - $2732 = HEAP32[$2731>>2]|0; - $2733 = $2732&255; - $2734 = HEAP32[$yymsp>>2]|0; - $2735 = ((($2734)) + -80|0); - $2736 = ((($2735)) + 4|0); - $2737 = HEAP32[$2736>>2]|0; - $2738 = ((($2737)) + 1|0); - HEAP8[$2738>>0] = $2733; + $2745 = HEAP32[$6>>2]|0; + $2746 = ((($2745)) + -80|0); + $2747 = ((($2746)) + 4|0); + $2748 = HEAP32[$6>>2]|0; + $2749 = ((($2748)) + -80|0); + $2750 = ((($2749)) + 4|0); + $2751 = HEAP32[$6>>2]|0; + $2752 = ((($2751)) + 4|0); + _spanSet($2747,$2750,$2752); + $2753 = HEAP32[$8>>2]|0; + $2754 = HEAP32[$6>>2]|0; + $2755 = ((($2754)) + -16|0); + $2756 = ((($2755)) + 4|0); + $2757 = (_sqlite3PExpr($2753,83,0,0,$2756)|0); + $2758 = HEAP32[$6>>2]|0; + $2759 = ((($2758)) + -80|0); + $2760 = ((($2759)) + 4|0); + HEAP32[$2760>>2] = $2757; + $2761 = HEAP32[$6>>2]|0; + $2762 = ((($2761)) + -80|0); + $2763 = ((($2762)) + 4|0); + $2764 = HEAP32[$2763>>2]|0; + $2765 = ($2764|0)!=(0|0); + if ($2765) { + $2766 = HEAP32[$6>>2]|0; + $2767 = ((($2766)) + -48|0); + $2768 = ((($2767)) + 4|0); + $2769 = HEAP32[$2768>>2]|0; + $2770 = $2769&255; + $2771 = HEAP32[$6>>2]|0; + $2772 = ((($2771)) + -80|0); + $2773 = ((($2772)) + 4|0); + $2774 = HEAP32[$2773>>2]|0; + $2775 = ((($2774)) + 1|0); + HEAP8[$2775>>0] = $2770; } break; } case 249: { - $2739 = HEAP32[$yymsp>>2]|0; - $2740 = ((($2739)) + 4|0); - HEAP32[$2740>>2] = 1; + $2776 = HEAP32[$6>>2]|0; + $2777 = ((($2776)) + 4|0); + HEAP32[$2777>>2] = 1; break; } case 251: { - $2741 = HEAP32[$yymsp>>2]|0; - $2742 = ((($2741)) + 4|0); - HEAP32[$2742>>2] = 3; + $2778 = HEAP32[$6>>2]|0; + $2779 = ((($2778)) + 4|0); + HEAP32[$2779>>2] = 3; break; } case 252: { - $2743 = HEAP32[$pParse>>2]|0; - $2744 = HEAP32[$yymsp>>2]|0; - $2745 = ((($2744)) + 4|0); - $2746 = HEAP32[$2745>>2]|0; - $2747 = HEAP32[$yymsp>>2]|0; - $2748 = ((($2747)) + -16|0); - $2749 = ((($2748)) + 4|0); - $2750 = HEAP32[$2749>>2]|0; - _sqlite3DropTrigger($2743,$2746,$2750); + $2780 = HEAP32[$8>>2]|0; + $2781 = HEAP32[$6>>2]|0; + $2782 = ((($2781)) + 4|0); + $2783 = HEAP32[$2782>>2]|0; + $2784 = HEAP32[$6>>2]|0; + $2785 = ((($2784)) + -16|0); + $2786 = ((($2785)) + 4|0); + $2787 = HEAP32[$2786>>2]|0; + _sqlite3DropTrigger($2780,$2783,$2787); break; } case 253: { - $2751 = HEAP32[$pParse>>2]|0; - $2752 = HEAP32[$yymsp>>2]|0; - $2753 = ((($2752)) + -48|0); - $2754 = ((($2753)) + 4|0); - $2755 = HEAP32[$2754>>2]|0; - $2756 = HEAP32[$yymsp>>2]|0; - $2757 = ((($2756)) + -16|0); - $2758 = ((($2757)) + 4|0); - $2759 = HEAP32[$2758>>2]|0; - $2760 = HEAP32[$yymsp>>2]|0; - $2761 = ((($2760)) + 4|0); - $2762 = HEAP32[$2761>>2]|0; - _sqlite3Attach($2751,$2755,$2759,$2762); + $2788 = HEAP32[$8>>2]|0; + $2789 = HEAP32[$6>>2]|0; + $2790 = ((($2789)) + -48|0); + $2791 = ((($2790)) + 4|0); + $2792 = HEAP32[$2791>>2]|0; + $2793 = HEAP32[$6>>2]|0; + $2794 = ((($2793)) + -16|0); + $2795 = ((($2794)) + 4|0); + $2796 = HEAP32[$2795>>2]|0; + $2797 = HEAP32[$6>>2]|0; + $2798 = ((($2797)) + 4|0); + $2799 = HEAP32[$2798>>2]|0; + _sqlite3Attach($2788,$2792,$2796,$2799); break; } case 254: { - $2763 = HEAP32[$pParse>>2]|0; - $2764 = HEAP32[$yymsp>>2]|0; - $2765 = ((($2764)) + 4|0); - $2766 = HEAP32[$2765>>2]|0; - _sqlite3Detach($2763,$2766); + $2800 = HEAP32[$8>>2]|0; + $2801 = HEAP32[$6>>2]|0; + $2802 = ((($2801)) + 4|0); + $2803 = HEAP32[$2802>>2]|0; + _sqlite3Detach($2800,$2803); break; } case 257: { - $2767 = HEAP32[$pParse>>2]|0; - _sqlite3Reindex($2767,0,0); + $2804 = HEAP32[$8>>2]|0; + _sqlite3Reindex($2804,0,0); break; } case 258: { - $2768 = HEAP32[$pParse>>2]|0; - $2769 = HEAP32[$yymsp>>2]|0; - $2770 = ((($2769)) + -16|0); - $2771 = ((($2770)) + 4|0); - $2772 = HEAP32[$yymsp>>2]|0; - $2773 = ((($2772)) + 4|0); - _sqlite3Reindex($2768,$2771,$2773); + $2805 = HEAP32[$8>>2]|0; + $2806 = HEAP32[$6>>2]|0; + $2807 = ((($2806)) + -16|0); + $2808 = ((($2807)) + 4|0); + $2809 = HEAP32[$6>>2]|0; + $2810 = ((($2809)) + 4|0); + _sqlite3Reindex($2805,$2808,$2810); break; } case 259: { - $2774 = HEAP32[$pParse>>2]|0; - _sqlite3Analyze($2774,0,0); + $2811 = HEAP32[$8>>2]|0; + _sqlite3Analyze($2811,0,0); break; } case 260: { - $2775 = HEAP32[$pParse>>2]|0; - $2776 = HEAP32[$yymsp>>2]|0; - $2777 = ((($2776)) + -16|0); - $2778 = ((($2777)) + 4|0); - $2779 = HEAP32[$yymsp>>2]|0; - $2780 = ((($2779)) + 4|0); - _sqlite3Analyze($2775,$2778,$2780); + $2812 = HEAP32[$8>>2]|0; + $2813 = HEAP32[$6>>2]|0; + $2814 = ((($2813)) + -16|0); + $2815 = ((($2814)) + 4|0); + $2816 = HEAP32[$6>>2]|0; + $2817 = ((($2816)) + 4|0); + _sqlite3Analyze($2812,$2815,$2817); break; } case 261: { - $2781 = HEAP32[$pParse>>2]|0; - $2782 = HEAP32[$yymsp>>2]|0; - $2783 = ((($2782)) + -48|0); - $2784 = ((($2783)) + 4|0); - $2785 = HEAP32[$2784>>2]|0; - $2786 = HEAP32[$yymsp>>2]|0; - $2787 = ((($2786)) + 4|0); - _sqlite3AlterRenameTable($2781,$2785,$2787); + $2818 = HEAP32[$8>>2]|0; + $2819 = HEAP32[$6>>2]|0; + $2820 = ((($2819)) + -48|0); + $2821 = ((($2820)) + 4|0); + $2822 = HEAP32[$2821>>2]|0; + $2823 = HEAP32[$6>>2]|0; + $2824 = ((($2823)) + 4|0); + _sqlite3AlterRenameTable($2818,$2822,$2824); break; } case 262: { - $2788 = HEAP32[$pParse>>2]|0; - $2789 = ((($2788)) + 392|0); - $2790 = HEAP32[$2789>>2]|0; - $2791 = HEAP32[$yymsp>>2]|0; - $2792 = ((($2791)) + -16|0); - $2793 = ((($2792)) + 4|0); - $2794 = HEAP32[$2793>>2]|0; - $2795 = $2790; - $2796 = $2794; - $2797 = (($2795) - ($2796))|0; - $2798 = HEAP32[$pParse>>2]|0; - $2799 = ((($2798)) + 392|0); - $2800 = ((($2799)) + 4|0); - $2801 = HEAP32[$2800>>2]|0; - $2802 = (($2797) + ($2801))|0; - $2803 = HEAP32[$yymsp>>2]|0; - $2804 = ((($2803)) + -16|0); - $2805 = ((($2804)) + 4|0); - $2806 = ((($2805)) + 4|0); - HEAP32[$2806>>2] = $2802; - $2807 = HEAP32[$pParse>>2]|0; - $2808 = HEAP32[$yymsp>>2]|0; - $2809 = ((($2808)) + -16|0); - $2810 = ((($2809)) + 4|0); - _sqlite3AlterFinishAddColumn($2807,$2810); + $2825 = HEAP32[$8>>2]|0; + $2826 = ((($2825)) + 392|0); + $2827 = HEAP32[$2826>>2]|0; + $2828 = HEAP32[$6>>2]|0; + $2829 = ((($2828)) + -16|0); + $2830 = ((($2829)) + 4|0); + $2831 = HEAP32[$2830>>2]|0; + $2832 = $2827; + $2833 = $2831; + $2834 = (($2832) - ($2833))|0; + $2835 = HEAP32[$8>>2]|0; + $2836 = ((($2835)) + 392|0); + $2837 = ((($2836)) + 4|0); + $2838 = HEAP32[$2837>>2]|0; + $2839 = (($2834) + ($2838))|0; + $2840 = HEAP32[$6>>2]|0; + $2841 = ((($2840)) + -16|0); + $2842 = ((($2841)) + 4|0); + $2843 = ((($2842)) + 4|0); + HEAP32[$2843>>2] = $2839; + $2844 = HEAP32[$8>>2]|0; + $2845 = HEAP32[$6>>2]|0; + $2846 = ((($2845)) + -16|0); + $2847 = ((($2846)) + 4|0); + _sqlite3AlterFinishAddColumn($2844,$2847); break; } case 263: { - $2811 = HEAP32[$pParse>>2]|0; - _disableLookaside($2811); - $2812 = HEAP32[$pParse>>2]|0; - $2813 = HEAP32[$yymsp>>2]|0; - $2814 = ((($2813)) + 4|0); - $2815 = HEAP32[$2814>>2]|0; - _sqlite3AlterBeginAddColumn($2812,$2815); + $2848 = HEAP32[$8>>2]|0; + _disableLookaside($2848); + $2849 = HEAP32[$8>>2]|0; + $2850 = HEAP32[$6>>2]|0; + $2851 = ((($2850)) + 4|0); + $2852 = HEAP32[$2851>>2]|0; + _sqlite3AlterBeginAddColumn($2849,$2852); break; } case 264: { - $2816 = HEAP32[$pParse>>2]|0; - _sqlite3VtabFinishParse($2816,0); + $2853 = HEAP32[$8>>2]|0; + _sqlite3VtabFinishParse($2853,0); break; } case 265: { - $2817 = HEAP32[$pParse>>2]|0; - $2818 = HEAP32[$yymsp>>2]|0; - $2819 = ((($2818)) + 4|0); - _sqlite3VtabFinishParse($2817,$2819); + $2854 = HEAP32[$8>>2]|0; + $2855 = HEAP32[$6>>2]|0; + $2856 = ((($2855)) + 4|0); + _sqlite3VtabFinishParse($2854,$2856); break; } case 266: { - $2820 = HEAP32[$pParse>>2]|0; - $2821 = HEAP32[$yymsp>>2]|0; - $2822 = ((($2821)) + -48|0); - $2823 = ((($2822)) + 4|0); - $2824 = HEAP32[$yymsp>>2]|0; - $2825 = ((($2824)) + -32|0); - $2826 = ((($2825)) + 4|0); - $2827 = HEAP32[$yymsp>>2]|0; - $2828 = ((($2827)) + 4|0); - $2829 = HEAP32[$yymsp>>2]|0; - $2830 = ((($2829)) + -64|0); - $2831 = ((($2830)) + 4|0); - $2832 = HEAP32[$2831>>2]|0; - _sqlite3VtabBeginParse($2820,$2823,$2826,$2828,$2832); + $2857 = HEAP32[$8>>2]|0; + $2858 = HEAP32[$6>>2]|0; + $2859 = ((($2858)) + -48|0); + $2860 = ((($2859)) + 4|0); + $2861 = HEAP32[$6>>2]|0; + $2862 = ((($2861)) + -32|0); + $2863 = ((($2862)) + 4|0); + $2864 = HEAP32[$6>>2]|0; + $2865 = ((($2864)) + 4|0); + $2866 = HEAP32[$6>>2]|0; + $2867 = ((($2866)) + -64|0); + $2868 = ((($2867)) + 4|0); + $2869 = HEAP32[$2868>>2]|0; + _sqlite3VtabBeginParse($2857,$2860,$2863,$2865,$2869); break; } case 267: { - $2833 = HEAP32[$pParse>>2]|0; - _sqlite3VtabArgInit($2833); + $2870 = HEAP32[$8>>2]|0; + _sqlite3VtabArgInit($2870); break; } case 270: case 269: case 268: { - $2834 = HEAP32[$pParse>>2]|0; - $2835 = HEAP32[$yymsp>>2]|0; - $2836 = ((($2835)) + 4|0); - _sqlite3VtabArgExtend($2834,$2836); + $2871 = HEAP32[$8>>2]|0; + $2872 = HEAP32[$6>>2]|0; + $2873 = ((($2872)) + 4|0); + _sqlite3VtabArgExtend($2871,$2873); break; } case 271: { - $2837 = HEAP32[$yymsp>>2]|0; - $2838 = ((($2837)) + 16|0); - $2839 = ((($2838)) + 4|0); - HEAP32[$2839>>2] = 0; + $2874 = HEAP32[$6>>2]|0; + $2875 = ((($2874)) + 16|0); + $2876 = ((($2875)) + 4|0); + HEAP32[$2876>>2] = 0; break; } case 272: { - $2840 = HEAP32[$yymsp>>2]|0; - $2841 = ((($2840)) + 4|0); - $2842 = HEAP32[$2841>>2]|0; - $2843 = HEAP32[$yymsp>>2]|0; - $2844 = ((($2843)) + -16|0); - $2845 = ((($2844)) + 4|0); - HEAP32[$2845>>2] = $2842; + $2877 = HEAP32[$6>>2]|0; + $2878 = ((($2877)) + 4|0); + $2879 = HEAP32[$2878>>2]|0; + $2880 = HEAP32[$6>>2]|0; + $2881 = ((($2880)) + -16|0); + $2882 = ((($2881)) + 4|0); + HEAP32[$2882>>2] = $2879; break; } case 273: { - $2846 = HEAP32[$yymsp>>2]|0; - $2847 = ((($2846)) + 4|0); - $2848 = HEAP32[$2847>>2]|0; - $2849 = HEAP32[$yymsp>>2]|0; - $2850 = ((($2849)) + -32|0); - $2851 = ((($2850)) + 4|0); - HEAP32[$2851>>2] = $2848; + $2883 = HEAP32[$6>>2]|0; + $2884 = ((($2883)) + 4|0); + $2885 = HEAP32[$2884>>2]|0; + $2886 = HEAP32[$6>>2]|0; + $2887 = ((($2886)) + -32|0); + $2888 = ((($2887)) + 4|0); + HEAP32[$2888>>2] = $2885; break; } case 274: { - $2852 = HEAP32[$pParse>>2]|0; - $2853 = HEAP32[$yymsp>>2]|0; - $2854 = ((($2853)) + -80|0); - $2855 = ((($2854)) + 4|0); - $2856 = HEAP32[$yymsp>>2]|0; - $2857 = ((($2856)) + -64|0); - $2858 = ((($2857)) + 4|0); - $2859 = HEAP32[$2858>>2]|0; - $2860 = HEAP32[$yymsp>>2]|0; - $2861 = ((($2860)) + -16|0); - $2862 = ((($2861)) + 4|0); - $2863 = HEAP32[$2862>>2]|0; - $2864 = (_sqlite3WithAdd($2852,0,$2855,$2859,$2863)|0); - $2865 = HEAP32[$yymsp>>2]|0; - $2866 = ((($2865)) + -80|0); - $2867 = ((($2866)) + 4|0); - HEAP32[$2867>>2] = $2864; + $2889 = HEAP32[$8>>2]|0; + $2890 = HEAP32[$6>>2]|0; + $2891 = ((($2890)) + -80|0); + $2892 = ((($2891)) + 4|0); + $2893 = HEAP32[$6>>2]|0; + $2894 = ((($2893)) + -64|0); + $2895 = ((($2894)) + 4|0); + $2896 = HEAP32[$2895>>2]|0; + $2897 = HEAP32[$6>>2]|0; + $2898 = ((($2897)) + -16|0); + $2899 = ((($2898)) + 4|0); + $2900 = HEAP32[$2899>>2]|0; + $2901 = (_sqlite3WithAdd($2889,0,$2892,$2896,$2900)|0); + $2902 = HEAP32[$6>>2]|0; + $2903 = ((($2902)) + -80|0); + $2904 = ((($2903)) + 4|0); + HEAP32[$2904>>2] = $2901; break; } case 275: { - $2868 = HEAP32[$pParse>>2]|0; - $2869 = HEAP32[$yymsp>>2]|0; - $2870 = ((($2869)) + -112|0); - $2871 = ((($2870)) + 4|0); - $2872 = HEAP32[$2871>>2]|0; - $2873 = HEAP32[$yymsp>>2]|0; - $2874 = ((($2873)) + -80|0); - $2875 = ((($2874)) + 4|0); - $2876 = HEAP32[$yymsp>>2]|0; - $2877 = ((($2876)) + -64|0); - $2878 = ((($2877)) + 4|0); - $2879 = HEAP32[$2878>>2]|0; - $2880 = HEAP32[$yymsp>>2]|0; - $2881 = ((($2880)) + -16|0); - $2882 = ((($2881)) + 4|0); - $2883 = HEAP32[$2882>>2]|0; - $2884 = (_sqlite3WithAdd($2868,$2872,$2875,$2879,$2883)|0); - $2885 = HEAP32[$yymsp>>2]|0; - $2886 = ((($2885)) + -112|0); - $2887 = ((($2886)) + 4|0); - HEAP32[$2887>>2] = $2884; + $2905 = HEAP32[$8>>2]|0; + $2906 = HEAP32[$6>>2]|0; + $2907 = ((($2906)) + -112|0); + $2908 = ((($2907)) + 4|0); + $2909 = HEAP32[$2908>>2]|0; + $2910 = HEAP32[$6>>2]|0; + $2911 = ((($2910)) + -80|0); + $2912 = ((($2911)) + 4|0); + $2913 = HEAP32[$6>>2]|0; + $2914 = ((($2913)) + -64|0); + $2915 = ((($2914)) + 4|0); + $2916 = HEAP32[$2915>>2]|0; + $2917 = HEAP32[$6>>2]|0; + $2918 = ((($2917)) + -16|0); + $2919 = ((($2918)) + 4|0); + $2920 = HEAP32[$2919>>2]|0; + $2921 = (_sqlite3WithAdd($2905,$2909,$2912,$2916,$2920)|0); + $2922 = HEAP32[$6>>2]|0; + $2923 = ((($2922)) + -112|0); + $2924 = ((($2923)) + 4|0); + HEAP32[$2924>>2] = $2921; break; } default: { } } } while(0); - $2888 = HEAP32[$1>>2]|0; - $2889 = (26486 + ($2888<<1)|0); - $2890 = HEAP8[$2889>>0]|0; - $2891 = $2890&255; - HEAP32[$yygoto>>2] = $2891; - $2892 = HEAP32[$1>>2]|0; - $2893 = (26486 + ($2892<<1)|0); - $2894 = ((($2893)) + 1|0); - $2895 = HEAP8[$2894>>0]|0; - $2896 = $2895&255; - HEAP32[$yysize>>2] = $2896; - $2897 = HEAP32[$yysize>>2]|0; - $2898 = (0 - ($2897))|0; - $2899 = HEAP32[$yymsp>>2]|0; - $2900 = (($2899) + ($2898<<4)|0); - $2901 = HEAP16[$2900>>1]|0; - $2902 = $2901&65535; - $2903 = HEAP32[$yygoto>>2]|0; - $2904 = $2903&255; - $2905 = (_yy_find_reduce_action($2902,$2904)|0); - HEAP32[$yyact>>2] = $2905; - $2906 = HEAP32[$yyact>>2]|0; - $2907 = ($2906|0)<=(999); - if (!($2907)) { - $2926 = HEAP32[$yysize>>2]|0; - $2927 = HEAP32[$0>>2]|0; - $2928 = HEAP32[$2927>>2]|0; - $2929 = (0 - ($2926))|0; - $2930 = (($2928) + ($2929<<4)|0); - HEAP32[$2927>>2] = $2930; - $2931 = HEAP32[$0>>2]|0; - _yy_accept($2931); + $2925 = HEAP32[$3>>2]|0; + $2926 = (25337 + ($2925<<1)|0); + $2927 = HEAP8[$2926>>0]|0; + $2928 = $2927&255; + HEAP32[$4>>2] = $2928; + $2929 = HEAP32[$3>>2]|0; + $2930 = (25337 + ($2929<<1)|0); + $2931 = ((($2930)) + 1|0); + $2932 = HEAP8[$2931>>0]|0; + $2933 = $2932&255; + HEAP32[$7>>2] = $2933; + $2934 = HEAP32[$6>>2]|0; + $2935 = HEAP32[$7>>2]|0; + $2936 = (0 - ($2935))|0; + $2937 = (($2934) + ($2936<<4)|0); + $2938 = HEAP16[$2937>>1]|0; + $2939 = $2938&65535; + $2940 = HEAP32[$4>>2]|0; + $2941 = $2940&255; + $2942 = (_yy_find_reduce_action($2939,$2941)|0); + HEAP32[$5>>2] = $2942; + $2943 = HEAP32[$5>>2]|0; + $2944 = ($2943|0)<=(999); + if (!($2944)) { + $2963 = HEAP32[$7>>2]|0; + $2964 = HEAP32[$2>>2]|0; + $2965 = HEAP32[$2964>>2]|0; + $2966 = (0 - ($2963))|0; + $2967 = (($2965) + ($2966<<4)|0); + HEAP32[$2964>>2] = $2967; + $2968 = HEAP32[$2>>2]|0; + _yy_accept($2968); STACKTOP = sp;return; } - $2908 = HEAP32[$yyact>>2]|0; - $2909 = ($2908|0)>(455); - if ($2909) { - $2910 = HEAP32[$yyact>>2]|0; - $2911 = (($2910) + 332)|0; - HEAP32[$yyact>>2] = $2911; - } - $2912 = HEAP32[$yysize>>2]|0; - $2913 = (($2912) - 1)|0; - $2914 = HEAP32[$yymsp>>2]|0; - $2915 = (0 - ($2913))|0; - $2916 = (($2914) + ($2915<<4)|0); - HEAP32[$yymsp>>2] = $2916; - $2917 = HEAP32[$yymsp>>2]|0; - $2918 = HEAP32[$0>>2]|0; - HEAP32[$2918>>2] = $2917; - $2919 = HEAP32[$yyact>>2]|0; - $2920 = $2919&65535; - $2921 = HEAP32[$yymsp>>2]|0; - HEAP16[$2921>>1] = $2920; - $2922 = HEAP32[$yygoto>>2]|0; - $2923 = $2922&255; - $2924 = HEAP32[$yymsp>>2]|0; - $2925 = ((($2924)) + 2|0); - HEAP8[$2925>>0] = $2923; + $2945 = HEAP32[$5>>2]|0; + $2946 = ($2945|0)>(455); + if ($2946) { + $2947 = HEAP32[$5>>2]|0; + $2948 = (($2947) + 332)|0; + HEAP32[$5>>2] = $2948; + } + $2949 = HEAP32[$7>>2]|0; + $2950 = (($2949) - 1)|0; + $2951 = HEAP32[$6>>2]|0; + $2952 = (0 - ($2950))|0; + $2953 = (($2951) + ($2952<<4)|0); + HEAP32[$6>>2] = $2953; + $2954 = HEAP32[$6>>2]|0; + $2955 = HEAP32[$2>>2]|0; + HEAP32[$2955>>2] = $2954; + $2956 = HEAP32[$5>>2]|0; + $2957 = $2956&65535; + $2958 = HEAP32[$6>>2]|0; + HEAP16[$2958>>1] = $2957; + $2959 = HEAP32[$4>>2]|0; + $2960 = $2959&255; + $2961 = HEAP32[$6>>2]|0; + $2962 = ((($2961)) + 2|0); + HEAP8[$2962>>0] = $2960; STACKTOP = sp;return; } -function _yy_syntax_error($yypParser,$yymajor,$yyminor) { - $yypParser = $yypParser|0; - $yymajor = $yymajor|0; - $yyminor = $yyminor|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $pParse = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _yy_syntax_error($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pParse = sp + 4|0; - HEAP32[$0>>2] = $yypParser; - HEAP32[$1>>2] = $yymajor; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pParse>>2] = $4; - $5 = HEAP32[$pParse>>2]|0; - HEAP32[$vararg_buffer>>2] = $yyminor; - _sqlite3ErrorMsg($5,26462,$vararg_buffer); - $6 = HEAP32[$pParse>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - HEAP32[$8>>2] = $6; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $8; + $9 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $2; + _sqlite3ErrorMsg($9,25313,$vararg_buffer); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 4|0); + HEAP32[$12>>2] = $10; STACKTOP = sp;return; } -function _yyStackOverflow($yypParser) { - $yypParser = $yypParser|0; - var $0 = 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, $pParse = 0, $vararg_buffer = 0, label = 0; +function _yyStackOverflow($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - $0 = sp + 8|0; - $pParse = sp + 4|0; - HEAP32[$0>>2] = $yypParser; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pParse>>2] = $3; - $4 = HEAP32[$0>>2]|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + -16|0); - HEAP32[$4>>2] = $6; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + -16|0); + HEAP32[$6>>2] = $8; while(1) { - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 8|0); - $11 = ($8>>>0)>($10>>>0); - if (!($11)) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 8|0); + $13 = ($10>>>0)>($12>>>0); + if (!($13)) { break; } - $12 = HEAP32[$0>>2]|0; - _yy_pop_parser_stack($12); + $14 = HEAP32[$1>>2]|0; + _yy_pop_parser_stack($14); } - $13 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($13,37597,$vararg_buffer); - $14 = HEAP32[$pParse>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 4|0); - HEAP32[$16>>2] = $14; + $15 = HEAP32[$2>>2]|0; + _sqlite3ErrorMsg($15,37034,$vararg_buffer); + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 4|0); + HEAP32[$18>>2] = $16; STACKTOP = sp;return; } -function _sqlite3FinishCoding($pParse) { - $pParse = $pParse|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $db = 0, $i = 0, $iDb = 0, $pEL = 0, $pSchema = 0, $v = 0, $vtab = 0, label = 0, sp = 0; +function _sqlite3FinishCoding($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $db = sp + 24|0; - $v = sp + 20|0; - $iDb = sp + 16|0; - $i = sp + 12|0; - $pSchema = sp + 8|0; - $vtab = sp + 4|0; - $pEL = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$db>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 18|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if ($6) { + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$1>>2] = $0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$2>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 18|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($13<<24>>24)!=(0); + if ($14) { STACKTOP = sp;return; } - $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 69|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)!=(0); - if (!($11)) { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 36|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)!=(0); - if (!($15)) { - $22 = HEAP32[$0>>2]|0; - $23 = (_sqlite3GetVdbe($22)|0); - HEAP32[$v>>2] = $23; - $24 = HEAP32[$v>>2]|0; - $25 = ($24|0)!=(0|0); + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 69|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)!=(0); + if (!($19)) { + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 36|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0); + if (!($23)) { + $30 = HEAP32[$1>>2]|0; + $31 = (_sqlite3GetVdbe($30)|0); + HEAP32[$3>>2] = $31; + $32 = HEAP32[$3>>2]|0; + $33 = ($32|0)!=(0|0); do { - if ($25) { - $26 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($26,75)|0); - $27 = HEAP32[$db>>2]|0; - $28 = ((($27)) + 69|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = ($30|0)==(0); - if ($31) { - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 96|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)!=(0); - if (!($35)) { - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 80|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)!=(0|0); - if (!($39)) { + if ($33) { + $34 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp0($34,75)|0); + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 69|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = ($38|0)==(0); + if ($39) { + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 96|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)!=(0); + if (!($43)) { + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 80|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)!=(0|0); + if (!($47)) { break; } } - $40 = HEAP32[$v>>2]|0; - _sqlite3VdbeJumpHere($40,0); - HEAP32[$iDb>>2] = 0; + $48 = HEAP32[$3>>2]|0; + _sqlite3VdbeJumpHere($48,0); + HEAP32[$4>>2] = 0; while(1) { - $41 = HEAP32[$iDb>>2]|0; - $42 = HEAP32[$db>>2]|0; - $43 = ((($42)) + 20|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($41|0)<($44|0); - if (!($45)) { + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$2>>2]|0; + $51 = ((($50)) + 20|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($49|0)<($52|0); + if (!($53)) { break; } - $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 96|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$iDb>>2]|0; - $50 = 1 << $49; - $51 = $48 & $50; - $52 = ($51|0)!=(0); - $53 = $52&1; - $54 = ($53|0)==(0); - if (!($54)) { - $55 = HEAP32[$v>>2]|0; - $56 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($55,$56); - $57 = HEAP32[$iDb>>2]|0; - $58 = HEAP32[$db>>2]|0; - $59 = ((($58)) + 16|0); - $60 = HEAP32[$59>>2]|0; - $61 = (($60) + ($57<<4)|0); - $62 = ((($61)) + 12|0); - $63 = HEAP32[$62>>2]|0; - HEAP32[$pSchema>>2] = $63; - $64 = HEAP32[$v>>2]|0; - $65 = HEAP32[$iDb>>2]|0; - $66 = HEAP32[$0>>2]|0; - $67 = ((($66)) + 92|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$iDb>>2]|0; - $70 = 1 << $69; - $71 = $68 & $70; - $72 = ($71|0)!=(0); - $73 = $72&1; - $74 = HEAP32[$pSchema>>2]|0; - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$pSchema>>2]|0; - $77 = ((($76)) + 4|0); - $78 = HEAP32[$77>>2]|0; - (_sqlite3VdbeAddOp4Int($64,2,$65,$73,$75,$78)|0); - $79 = HEAP32[$db>>2]|0; - $80 = ((($79)) + 148|0); - $81 = ((($80)) + 5|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = ($83|0)==(0); - if ($84) { - $85 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($85,1); + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 96|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$4>>2]|0; + $58 = 1 << $57; + $59 = $56 & $58; + $60 = ($59|0)!=(0); + $61 = $60&1; + $62 = ($61|0)==(0); + if (!($62)) { + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$4>>2]|0; + _sqlite3VdbeUsesBtree($63,$64); + $65 = HEAP32[$2>>2]|0; + $66 = ((($65)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$4>>2]|0; + $69 = (($67) + ($68<<4)|0); + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$6>>2] = $71; + $72 = HEAP32[$3>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = HEAP32[$1>>2]|0; + $75 = ((($74)) + 92|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$4>>2]|0; + $78 = 1 << $77; + $79 = $76 & $78; + $80 = ($79|0)!=(0); + $81 = $80&1; + $82 = HEAP32[$6>>2]|0; + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$6>>2]|0; + $85 = ((($84)) + 4|0); + $86 = HEAP32[$85>>2]|0; + (_sqlite3VdbeAddOp4Int($72,2,$73,$81,$83,$86)|0); + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 148|0); + $89 = ((($88)) + 5|0); + $90 = HEAP8[$89>>0]|0; + $91 = $90&255; + $92 = ($91|0)==(0); + if ($92) { + $93 = HEAP32[$3>>2]|0; + _sqlite3VdbeChangeP5($93,1); } } - $86 = HEAP32[$iDb>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[$iDb>>2] = $87; + $94 = HEAP32[$4>>2]|0; + $95 = (($94) + 1)|0; + HEAP32[$4>>2] = $95; } - HEAP32[$i>>2] = 0; + HEAP32[$5>>2] = 0; while(1) { - $88 = HEAP32[$i>>2]|0; - $89 = HEAP32[$0>>2]|0; - $90 = ((($89)) + 412|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($88|0)<($91|0); - if (!($92)) { + $96 = HEAP32[$5>>2]|0; + $97 = HEAP32[$1>>2]|0; + $98 = ((($97)) + 412|0); + $99 = HEAP32[$98>>2]|0; + $100 = ($96|0)<($99|0); + if (!($100)) { break; } - $93 = HEAP32[$db>>2]|0; - $94 = HEAP32[$i>>2]|0; - $95 = HEAP32[$0>>2]|0; - $96 = ((($95)) + 460|0); - $97 = HEAP32[$96>>2]|0; - $98 = (($97) + ($94<<2)|0); - $99 = HEAP32[$98>>2]|0; - $100 = (_sqlite3GetVTable($93,$99)|0); - HEAP32[$vtab>>2] = $100; - $101 = HEAP32[$v>>2]|0; - $102 = HEAP32[$vtab>>2]|0; - (_sqlite3VdbeAddOp4($101,152,0,0,0,$102,-10)|0); - $103 = HEAP32[$i>>2]|0; - $104 = (($103) + 1)|0; - HEAP32[$i>>2] = $104; + $101 = HEAP32[$2>>2]|0; + $102 = HEAP32[$1>>2]|0; + $103 = ((($102)) + 460|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$5>>2]|0; + $106 = (($104) + ($105<<2)|0); + $107 = HEAP32[$106>>2]|0; + $108 = (_sqlite3GetVTable($101,$107)|0); + HEAP32[$7>>2] = $108; + $109 = HEAP32[$3>>2]|0; + $110 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp4($109,152,0,0,0,$110,-10)|0); + $111 = HEAP32[$5>>2]|0; + $112 = (($111) + 1)|0; + HEAP32[$5>>2] = $112; } - $105 = HEAP32[$0>>2]|0; - $106 = ((($105)) + 412|0); - HEAP32[$106>>2] = 0; - $107 = HEAP32[$0>>2]|0; - _codeTableLocks($107); - $108 = HEAP32[$0>>2]|0; - _sqlite3AutoincrementBegin($108); - $109 = HEAP32[$0>>2]|0; - $110 = ((($109)) + 80|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)!=(0|0); + $113 = HEAP32[$1>>2]|0; + $114 = ((($113)) + 412|0); + HEAP32[$114>>2] = 0; + $115 = HEAP32[$1>>2]|0; + _codeTableLocks($115); + $116 = HEAP32[$1>>2]|0; + _sqlite3AutoincrementBegin($116); + $117 = HEAP32[$1>>2]|0; + $118 = ((($117)) + 80|0); + $119 = HEAP32[$118>>2]|0; + $120 = ($119|0)!=(0|0); L25: do { - if ($112) { - $113 = HEAP32[$0>>2]|0; - $114 = ((($113)) + 80|0); - $115 = HEAP32[$114>>2]|0; - HEAP32[$pEL>>2] = $115; - $116 = HEAP32[$0>>2]|0; - $117 = ((($116)) + 23|0); - HEAP8[$117>>0] = 0; - HEAP32[$i>>2] = 0; + if ($120) { + $121 = HEAP32[$1>>2]|0; + $122 = ((($121)) + 80|0); + $123 = HEAP32[$122>>2]|0; + HEAP32[$8>>2] = $123; + $124 = HEAP32[$1>>2]|0; + $125 = ((($124)) + 23|0); + HEAP8[$125>>0] = 0; + HEAP32[$5>>2] = 0; while(1) { - $118 = HEAP32[$i>>2]|0; - $119 = HEAP32[$pEL>>2]|0; - $120 = HEAP32[$119>>2]|0; - $121 = ($118|0)<($120|0); - if (!($121)) { + $126 = HEAP32[$5>>2]|0; + $127 = HEAP32[$8>>2]|0; + $128 = HEAP32[$127>>2]|0; + $129 = ($126|0)<($128|0); + if (!($129)) { break L25; } - $122 = HEAP32[$0>>2]|0; - $123 = HEAP32[$i>>2]|0; - $124 = HEAP32[$pEL>>2]|0; - $125 = ((($124)) + 4|0); - $126 = HEAP32[$125>>2]|0; - $127 = (($126) + (($123*20)|0)|0); - $128 = HEAP32[$127>>2]|0; - $129 = HEAP32[$i>>2]|0; - $130 = HEAP32[$pEL>>2]|0; - $131 = ((($130)) + 4|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + (($129*20)|0)|0); - $134 = ((($133)) + 16|0); - $135 = HEAP32[$134>>2]|0; - _sqlite3ExprCode($122,$128,$135); - $136 = HEAP32[$i>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[$i>>2] = $137; + $130 = HEAP32[$1>>2]|0; + $131 = HEAP32[$8>>2]|0; + $132 = ((($131)) + 4|0); + $133 = HEAP32[$132>>2]|0; + $134 = HEAP32[$5>>2]|0; + $135 = (($133) + (($134*20)|0)|0); + $136 = HEAP32[$135>>2]|0; + $137 = HEAP32[$8>>2]|0; + $138 = ((($137)) + 4|0); + $139 = HEAP32[$138>>2]|0; + $140 = HEAP32[$5>>2]|0; + $141 = (($139) + (($140*20)|0)|0); + $142 = ((($141)) + 16|0); + $143 = HEAP32[$142>>2]|0; + _sqlite3ExprCode($130,$136,$143); + $144 = HEAP32[$5>>2]|0; + $145 = (($144) + 1)|0; + HEAP32[$5>>2] = $145; } } } while(0); - $138 = HEAP32[$v>>2]|0; - (_sqlite3VdbeGoto($138,1)|0); + $146 = HEAP32[$3>>2]|0; + (_sqlite3VdbeGoto($146,1)|0); } } } while(0); - $139 = HEAP32[$v>>2]|0; - $140 = ($139|0)!=(0|0); - if ($140) { - $141 = HEAP32[$0>>2]|0; - $142 = ((($141)) + 36|0); - $143 = HEAP32[$142>>2]|0; - $144 = ($143|0)==(0); - if ($144) { - $145 = HEAP32[$db>>2]|0; - $146 = ((($145)) + 69|0); - $147 = HEAP8[$146>>0]|0; - $148 = ($147<<24>>24)!=(0); - if (!($148)) { - $149 = HEAP32[$0>>2]|0; - $150 = ((($149)) + 120|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)!=(0|0); - if ($152) { - $153 = HEAP32[$0>>2]|0; - $154 = ((($153)) + 40|0); - $155 = HEAP32[$154>>2]|0; - $156 = ($155|0)==(0); - if ($156) { - $157 = HEAP32[$0>>2]|0; - $158 = ((($157)) + 40|0); - HEAP32[$158>>2] = 1; + $147 = HEAP32[$3>>2]|0; + $148 = ($147|0)!=(0|0); + if ($148) { + $149 = HEAP32[$1>>2]|0; + $150 = ((($149)) + 36|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==(0); + if ($152) { + $153 = HEAP32[$2>>2]|0; + $154 = ((($153)) + 69|0); + $155 = HEAP8[$154>>0]|0; + $156 = ($155<<24>>24)!=(0); + if (!($156)) { + $157 = HEAP32[$1>>2]|0; + $158 = ((($157)) + 120|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)!=(0|0); + if ($160) { + $161 = HEAP32[$1>>2]|0; + $162 = ((($161)) + 40|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)==(0); + if ($164) { + $165 = HEAP32[$1>>2]|0; + $166 = ((($165)) + 40|0); + HEAP32[$166>>2] = 1; } } - $159 = HEAP32[$v>>2]|0; - $160 = HEAP32[$0>>2]|0; - _sqlite3VdbeMakeReady($159,$160); - $161 = HEAP32[$0>>2]|0; - $162 = ((($161)) + 12|0); - HEAP32[$162>>2] = 101; + $167 = HEAP32[$3>>2]|0; + $168 = HEAP32[$1>>2]|0; + _sqlite3VdbeMakeReady($167,$168); + $169 = HEAP32[$1>>2]|0; + $170 = ((($169)) + 12|0); + HEAP32[$170>>2] = 101; STACKTOP = sp;return; } } } - $163 = HEAP32[$0>>2]|0; - $164 = ((($163)) + 12|0); - HEAP32[$164>>2] = 1; + $171 = HEAP32[$1>>2]|0; + $172 = ((($171)) + 12|0); + HEAP32[$172>>2] = 1; STACKTOP = sp;return; } } - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if (!($27)) { STACKTOP = sp;return; } - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 12|0); - HEAP32[$21>>2] = 1; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 12|0); + HEAP32[$29>>2] = 1; STACKTOP = sp;return; } -function _sqlite3BeginTransaction($pParse,$type) { - $pParse = $pParse|0; - $type = $type|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $v = 0, label = 0, sp = 0; +function _sqlite3BeginTransaction($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $db = sp + 8|0; - $v = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $type; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = (_sqlite3AuthCheck($4,22,37527,0,0)|0); - $6 = ($5|0)!=(0); - if ($6) { + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = (_sqlite3AuthCheck($9,22,36964,0,0)|0); + $11 = ($10|0)!=(0); + if ($11) { STACKTOP = sp;return; } - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3GetVdbe($7)|0); - HEAP32[$v>>2] = $8; - $9 = HEAP32[$v>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { + $12 = HEAP32[$2>>2]|0; + $13 = (_sqlite3GetVdbe($12)|0); + HEAP32[$5>>2] = $13; + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)!=(0|0); + if (!($15)) { STACKTOP = sp;return; } - $11 = HEAP32[$1>>2]|0; - $12 = ($11|0)!=(7); + $16 = HEAP32[$3>>2]|0; + $17 = ($16|0)!=(7); L7: do { - if ($12) { - HEAP32[$i>>2] = 0; + if ($17) { + HEAP32[$6>>2] = 0; while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$db>>2]|0; - $15 = ((($14)) + 20|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($13|0)<($16|0); - if (!($17)) { + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 20|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($18|0)<($21|0); + if (!($22)) { break L7; } - $18 = HEAP32[$v>>2]|0; - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ($20|0)==(9); - $22 = $21&1; - $23 = (($22) + 1)|0; - (_sqlite3VdbeAddOp2($18,2,$19,$23)|0); - $24 = HEAP32[$v>>2]|0; - $25 = HEAP32[$i>>2]|0; - _sqlite3VdbeUsesBtree($24,$25); - $26 = HEAP32[$i>>2]|0; - $27 = (($26) + 1)|0; - HEAP32[$i>>2] = $27; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ($25|0)==(9); + $27 = $26&1; + $28 = (($27) + 1)|0; + (_sqlite3VdbeAddOp2($23,2,$24,$28)|0); + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$6>>2]|0; + _sqlite3VdbeUsesBtree($29,$30); + $31 = HEAP32[$6>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$6>>2] = $32; } } } while(0); - $28 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($28,1)|0); + $33 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp0($33,1)|0); STACKTOP = sp;return; } -function _sqlite3CommitTransaction($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $v = 0, label = 0, sp = 0; +function _sqlite3CommitTransaction($0) { + $0 = $0|0; + var $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 + 4|0; - $v = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3AuthCheck($1,22,37550,0,0)|0); - $3 = ($2|0)!=(0); - if ($3) { + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3AuthCheck($3,22,36987,0,0)|0); + $5 = ($4|0)!=(0); + if ($5) { STACKTOP = sp;return; } - $4 = HEAP32[$0>>2]|0; - $5 = (_sqlite3GetVdbe($4)|0); - HEAP32[$v>>2] = $5; - $6 = HEAP32[$v>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { + $6 = HEAP32[$1>>2]|0; + $7 = (_sqlite3GetVdbe($6)|0); + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { STACKTOP = sp;return; } - $8 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp1($8,1,1)|0); + $10 = HEAP32[$2>>2]|0; + (_sqlite3VdbeAddOp1($10,1,1)|0); STACKTOP = sp;return; } -function _sqlite3RollbackTransaction($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $v = 0, label = 0, sp = 0; +function _sqlite3RollbackTransaction($0) { + $0 = $0|0; + var $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 + 4|0; - $v = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3AuthCheck($1,22,37541,0,0)|0); - $3 = ($2|0)!=(0); - if ($3) { + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3AuthCheck($3,22,36978,0,0)|0); + $5 = ($4|0)!=(0); + if ($5) { STACKTOP = sp;return; } - $4 = HEAP32[$0>>2]|0; - $5 = (_sqlite3GetVdbe($4)|0); - HEAP32[$v>>2] = $5; - $6 = HEAP32[$v>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { + $6 = HEAP32[$1>>2]|0; + $7 = (_sqlite3GetVdbe($6)|0); + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { STACKTOP = sp;return; } - $8 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($8,1,1,1)|0); + $10 = HEAP32[$2>>2]|0; + (_sqlite3VdbeAddOp2($10,1,1,1)|0); STACKTOP = sp;return; } -function _sqlite3Savepoint($pParse,$op,$pName) { - $pParse = $pParse|0; - $op = $op|0; - $pName = $pName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $v = 0, $zName = 0, label = 0, sp = 0; +function _sqlite3Savepoint($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $zName = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $pName; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3NameFromToken($4,$5)|0); - HEAP32[$zName>>2] = $6; - $7 = HEAP32[$zName>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = HEAP32[$0>>2]|0; - $10 = (_sqlite3GetVdbe($9)|0); - HEAP32[$v>>2] = $10; - $11 = HEAP32[$v>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = (5512 + ($14<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$zName>>2]|0; - $18 = (_sqlite3AuthCheck($13,32,$16,$17,0)|0); - $19 = ($18|0)!=(0); - if (!($19)) { - $23 = HEAP32[$v>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$zName>>2]|0; - (_sqlite3VdbeAddOp4($23,0,$24,0,0,$25,-1)|0); - STACKTOP = sp;return; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (_sqlite3NameFromToken($9,$10)|0); + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = HEAP32[$3>>2]|0; + $15 = (_sqlite3GetVdbe($14)|0); + HEAP32[$7>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = (5580 + ($19<<2)|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = (_sqlite3AuthCheck($18,32,$21,$22,0)|0); + $24 = ($23|0)!=(0); + if (!($24)) { + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp4($28,0,$29,0,0,$30,-1)|0); + STACKTOP = sp;return; } } - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$zName>>2]|0; - _sqlite3DbFree($21,$22); + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$6>>2]|0; + _sqlite3DbFree($26,$27); STACKTOP = sp;return; } -function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$noErr) { - $pParse = $pParse|0; - $pName1 = $pName1|0; - $pName2 = $pName2|0; - $isTemp = $isTemp|0; - $isView = $isView|0; - $isVirtual = $isVirtual|0; - $noErr = $noErr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $addr1 = 0, $db = 0, $fileFormat = 0, $iDb = 0, $or$cond = 0, $or$cond3 = 0, $pName = 0, $pTable = 0, $reg1 = 0, $reg2 = 0, $reg3 = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $zDb = 0, $zDb1 = 0; - var $zName = 0, label = 0, sp = 0; +function _sqlite3StartTable($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0; + var $vararg_buffer6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; $vararg_buffer6 = sp + 16|0; $vararg_buffer4 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 96|0; - $1 = sp + 92|0; - $2 = sp + 88|0; - $3 = sp + 84|0; - $4 = sp + 80|0; - $5 = sp + 76|0; - $6 = sp + 72|0; - $pTable = sp + 68|0; - $zName = sp + 64|0; - $db = sp + 60|0; - $v = sp + 56|0; - $iDb = sp + 52|0; - $pName = sp + 48|0; - $zDb = sp + 44|0; - $zDb1 = sp + 40|0; - $addr1 = sp + 36|0; - $fileFormat = sp + 32|0; - $reg1 = sp + 28|0; - $reg2 = sp + 24|0; - $reg3 = sp + 20|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pName1; - HEAP32[$2>>2] = $pName2; - HEAP32[$3>>2] = $isTemp; - HEAP32[$4>>2] = $isView; - HEAP32[$5>>2] = $isVirtual; - HEAP32[$6>>2] = $noErr; - HEAP32[$zName>>2] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$db>>2] = $8; - $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 148|0); - $11 = ((($10)) + 5|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$db>>2]|0; - $16 = ((($15)) + 148|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(1); - if ($18) { - $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 148|0); - $21 = ((($20)) + 4|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - HEAP32[$iDb>>2] = $23; - $24 = HEAP32[$db>>2]|0; - $25 = HEAP32[$iDb>>2]|0; - $26 = ($25|0)==(1); - $27 = $26 ? 19905 : 19924; - $28 = (_sqlite3DbStrDup($24,$27)|0); - HEAP32[$zName>>2] = $28; - $29 = HEAP32[$1>>2]|0; - HEAP32[$pName>>2] = $29; + $7 = sp + 96|0; + $8 = sp + 92|0; + $9 = sp + 88|0; + $10 = sp + 84|0; + $11 = sp + 80|0; + $12 = sp + 76|0; + $13 = sp + 72|0; + $14 = sp + 68|0; + $15 = sp + 64|0; + $16 = sp + 60|0; + $17 = sp + 56|0; + $18 = sp + 52|0; + $19 = sp + 48|0; + $20 = sp + 44|0; + $21 = sp + 40|0; + $22 = sp + 36|0; + $23 = sp + 32|0; + $24 = sp + 28|0; + $25 = sp + 24|0; + $26 = sp + 20|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + HEAP32[$15>>2] = 0; + $27 = HEAP32[$7>>2]|0; + $28 = HEAP32[$27>>2]|0; + HEAP32[$16>>2] = $28; + $29 = HEAP32[$16>>2]|0; + $30 = ((($29)) + 148|0); + $31 = ((($30)) + 5|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$16>>2]|0; + $36 = ((($35)) + 148|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(1); + if ($38) { + $39 = HEAP32[$16>>2]|0; + $40 = ((($39)) + 148|0); + $41 = ((($40)) + 4|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + HEAP32[$18>>2] = $43; + $44 = HEAP32[$16>>2]|0; + $45 = HEAP32[$18>>2]|0; + $46 = ($45|0)==(1); + $47 = $46 ? 26433 : 26452; + $48 = (_sqlite3DbStrDup($44,$47)|0); + HEAP32[$15>>2] = $48; + $49 = HEAP32[$8>>2]|0; + HEAP32[$19>>2] = $49; } else { label = 4; } @@ -112689,382 +88304,382 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ label = 4; } if ((label|0) == 4) { - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = (_sqlite3TwoPartName($30,$31,$32,$pName)|0); - HEAP32[$iDb>>2] = $33; - $34 = HEAP32[$iDb>>2]|0; - $35 = ($34|0)<(0); - if ($35) { + $50 = HEAP32[$7>>2]|0; + $51 = HEAP32[$8>>2]|0; + $52 = HEAP32[$9>>2]|0; + $53 = (_sqlite3TwoPartName($50,$51,$52,$19)|0); + HEAP32[$18>>2] = $53; + $54 = HEAP32[$18>>2]|0; + $55 = ($54|0)<(0); + if ($55) { STACKTOP = sp;return; } - $36 = HEAP32[$3>>2]|0; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$2>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40>>>0)>(0); - $42 = HEAP32[$iDb>>2]|0; - $43 = ($42|0)!=(1); - $or$cond = $41 & $43; + $56 = HEAP32[$10>>2]|0; + $57 = ($56|0)!=(0); + if ($57) { + $58 = HEAP32[$9>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP32[$59>>2]|0; + $61 = ($60>>>0)>(0); + $62 = HEAP32[$18>>2]|0; + $63 = ($62|0)!=(1); + $or$cond = $61 & $63; if ($or$cond) { - $44 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($44,37417,$vararg_buffer); + $64 = HEAP32[$7>>2]|0; + _sqlite3ErrorMsg($64,36854,$vararg_buffer); STACKTOP = sp;return; } } - $45 = HEAP32[$3>>2]|0; - $46 = ($45|0)!=(0); - if ($46) { - HEAP32[$iDb>>2] = 1; - } - $47 = HEAP32[$db>>2]|0; - $48 = HEAP32[$pName>>2]|0; - $49 = (_sqlite3NameFromToken($47,$48)|0); - HEAP32[$zName>>2] = $49; - } - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 384|0); - $52 = HEAP32[$pName>>2]|0; - ;HEAP32[$51>>2]=HEAP32[$52>>2]|0;HEAP32[$51+4>>2]=HEAP32[$52+4>>2]|0; - $53 = HEAP32[$zName>>2]|0; - $54 = ($53|0)==(0|0); - if ($54) { + $65 = HEAP32[$10>>2]|0; + $66 = ($65|0)!=(0); + if ($66) { + HEAP32[$18>>2] = 1; + } + $67 = HEAP32[$16>>2]|0; + $68 = HEAP32[$19>>2]|0; + $69 = (_sqlite3NameFromToken($67,$68)|0); + HEAP32[$15>>2] = $69; + } + $70 = HEAP32[$7>>2]|0; + $71 = ((($70)) + 384|0); + $72 = HEAP32[$19>>2]|0; + ;HEAP32[$71>>2]=HEAP32[$72>>2]|0;HEAP32[$71+4>>2]=HEAP32[$72+4>>2]|0; + $73 = HEAP32[$15>>2]|0; + $74 = ($73|0)==(0|0); + if ($74) { STACKTOP = sp;return; } - $55 = HEAP32[$0>>2]|0; - $56 = HEAP32[$zName>>2]|0; - $57 = (_sqlite3CheckObjectName($55,$56)|0); - $58 = (0)!=($57|0); + $75 = HEAP32[$7>>2]|0; + $76 = HEAP32[$15>>2]|0; + $77 = (_sqlite3CheckObjectName($75,$76)|0); + $78 = (0)!=($77|0); L21: do { - if (!($58)) { - $59 = HEAP32[$db>>2]|0; - $60 = ((($59)) + 148|0); - $61 = ((($60)) + 4|0); - $62 = HEAP8[$61>>0]|0; - $63 = $62&255; - $64 = ($63|0)==(1); - if ($64) { - HEAP32[$3>>2] = 1; + if (!($78)) { + $79 = HEAP32[$16>>2]|0; + $80 = ((($79)) + 148|0); + $81 = ((($80)) + 4|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = ($83|0)==(1); + if ($84) { + HEAP32[$10>>2] = 1; } - $65 = HEAP32[$iDb>>2]|0; - $66 = HEAP32[$db>>2]|0; - $67 = ((($66)) + 16|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68) + ($65<<4)|0); - $70 = HEAP32[$69>>2]|0; - HEAP32[$zDb>>2] = $70; - $71 = HEAP32[$0>>2]|0; - $72 = HEAP32[$3>>2]|0; - $73 = ($72|0)==(1); - $74 = $73 ? 19905 : 19924; - $75 = HEAP32[$zDb>>2]|0; - $76 = (_sqlite3AuthCheck($71,18,$74,0,$75)|0); - $77 = ($76|0)!=(0); - if (!($77)) { - $78 = HEAP32[$5>>2]|0; - $79 = ($78|0)!=(0); - if (!($79)) { - $80 = HEAP32[$0>>2]|0; - $81 = HEAP32[$3>>2]|0; - $82 = HEAP32[$4>>2]|0; - $83 = $82<<1; - $84 = (($81) + ($83))|0; - $85 = (37458 + ($84)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $86&255; - $88 = HEAP32[$zName>>2]|0; - $89 = HEAP32[$zDb>>2]|0; - $90 = (_sqlite3AuthCheck($80,$87,$88,0,$89)|0); - $91 = ($90|0)!=(0); - if ($91) { + $85 = HEAP32[$16>>2]|0; + $86 = ((($85)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$18>>2]|0; + $89 = (($87) + ($88<<4)|0); + $90 = HEAP32[$89>>2]|0; + HEAP32[$20>>2] = $90; + $91 = HEAP32[$7>>2]|0; + $92 = HEAP32[$10>>2]|0; + $93 = ($92|0)==(1); + $94 = $93 ? 26433 : 26452; + $95 = HEAP32[$20>>2]|0; + $96 = (_sqlite3AuthCheck($91,18,$94,0,$95)|0); + $97 = ($96|0)!=(0); + if (!($97)) { + $98 = HEAP32[$12>>2]|0; + $99 = ($98|0)!=(0); + if (!($99)) { + $100 = HEAP32[$7>>2]|0; + $101 = HEAP32[$10>>2]|0; + $102 = HEAP32[$11>>2]|0; + $103 = $102<<1; + $104 = (($101) + ($103))|0; + $105 = (36895 + ($104)|0); + $106 = HEAP8[$105>>0]|0; + $107 = $106&255; + $108 = HEAP32[$15>>2]|0; + $109 = HEAP32[$20>>2]|0; + $110 = (_sqlite3AuthCheck($100,$107,$108,0,$109)|0); + $111 = ($110|0)!=(0); + if ($111) { break; } } - $92 = HEAP32[$0>>2]|0; - $93 = ((($92)) + 410|0); - $94 = HEAP8[$93>>0]|0; - $95 = ($94<<24>>24)!=(0); + $112 = HEAP32[$7>>2]|0; + $113 = ((($112)) + 410|0); + $114 = HEAP8[$113>>0]|0; + $115 = ($114<<24>>24)!=(0); do { - if (!($95)) { - $96 = HEAP32[$iDb>>2]|0; - $97 = HEAP32[$db>>2]|0; - $98 = ((($97)) + 16|0); - $99 = HEAP32[$98>>2]|0; - $100 = (($99) + ($96<<4)|0); - $101 = HEAP32[$100>>2]|0; - HEAP32[$zDb1>>2] = $101; - $102 = HEAP32[$0>>2]|0; - $103 = (_sqlite3ReadSchema($102)|0); - $104 = (0)!=($103|0); - if ($104) { + if (!($115)) { + $116 = HEAP32[$16>>2]|0; + $117 = ((($116)) + 16|0); + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$18>>2]|0; + $120 = (($118) + ($119<<4)|0); + $121 = HEAP32[$120>>2]|0; + HEAP32[$21>>2] = $121; + $122 = HEAP32[$7>>2]|0; + $123 = (_sqlite3ReadSchema($122)|0); + $124 = (0)!=($123|0); + if ($124) { break L21; } - $105 = HEAP32[$db>>2]|0; - $106 = HEAP32[$zName>>2]|0; - $107 = HEAP32[$zDb1>>2]|0; - $108 = (_sqlite3FindTable($105,$106,$107)|0); - HEAP32[$pTable>>2] = $108; - $109 = HEAP32[$pTable>>2]|0; - $110 = ($109|0)!=(0|0); - if (!($110)) { - $116 = HEAP32[$db>>2]|0; - $117 = HEAP32[$zName>>2]|0; - $118 = HEAP32[$zDb1>>2]|0; - $119 = (_sqlite3FindIndex($116,$117,$118)|0); - $120 = ($119|0)!=(0|0); - if (!($120)) { + $125 = HEAP32[$16>>2]|0; + $126 = HEAP32[$15>>2]|0; + $127 = HEAP32[$21>>2]|0; + $128 = (_sqlite3FindTable($125,$126,$127)|0); + HEAP32[$14>>2] = $128; + $129 = HEAP32[$14>>2]|0; + $130 = ($129|0)!=(0|0); + if (!($130)) { + $136 = HEAP32[$16>>2]|0; + $137 = HEAP32[$15>>2]|0; + $138 = HEAP32[$21>>2]|0; + $139 = (_sqlite3FindIndex($136,$137,$138)|0); + $140 = ($139|0)!=(0|0); + if (!($140)) { break; } - $121 = HEAP32[$0>>2]|0; - $122 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer6>>2] = $122; - _sqlite3ErrorMsg($121,37486,$vararg_buffer6); + $141 = HEAP32[$7>>2]|0; + $142 = HEAP32[$15>>2]|0; + HEAP32[$vararg_buffer6>>2] = $142; + _sqlite3ErrorMsg($141,36923,$vararg_buffer6); break L21; } - $111 = HEAP32[$6>>2]|0; - $112 = ($111|0)!=(0); - $113 = HEAP32[$0>>2]|0; - if ($112) { - $115 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($113,$115); + $131 = HEAP32[$13>>2]|0; + $132 = ($131|0)!=(0); + $133 = HEAP32[$7>>2]|0; + if ($132) { + $135 = HEAP32[$18>>2]|0; + _sqlite3CodeVerifySchema($133,$135); break L21; } else { - $114 = HEAP32[$pName>>2]|0; - HEAP32[$vararg_buffer4>>2] = $114; - _sqlite3ErrorMsg($113,37462,$vararg_buffer4); + $134 = HEAP32[$19>>2]|0; + HEAP32[$vararg_buffer4>>2] = $134; + _sqlite3ErrorMsg($133,36899,$vararg_buffer4); break L21; } } } while(0); - $123 = HEAP32[$db>>2]|0; - $124 = (_sqlite3DbMallocZero($123,72,0)|0); - HEAP32[$pTable>>2] = $124; - $125 = HEAP32[$pTable>>2]|0; - $126 = ($125|0)==(0|0); - if ($126) { - $127 = HEAP32[$0>>2]|0; - $128 = ((($127)) + 12|0); - HEAP32[$128>>2] = 7; - $129 = HEAP32[$0>>2]|0; - $130 = ((($129)) + 36|0); - $131 = HEAP32[$130>>2]|0; - $132 = (($131) + 1)|0; - HEAP32[$130>>2] = $132; + $143 = HEAP32[$16>>2]|0; + $144 = (_sqlite3DbMallocZero($143,72,0)|0); + HEAP32[$14>>2] = $144; + $145 = HEAP32[$14>>2]|0; + $146 = ($145|0)==(0|0); + if ($146) { + $147 = HEAP32[$7>>2]|0; + $148 = ((($147)) + 12|0); + HEAP32[$148>>2] = 7; + $149 = HEAP32[$7>>2]|0; + $150 = ((($149)) + 36|0); + $151 = HEAP32[$150>>2]|0; + $152 = (($151) + 1)|0; + HEAP32[$150>>2] = $152; break; } - $133 = HEAP32[$zName>>2]|0; - $134 = HEAP32[$pTable>>2]|0; - HEAP32[$134>>2] = $133; - $135 = HEAP32[$pTable>>2]|0; - $136 = ((($135)) + 32|0); - HEAP16[$136>>1] = -1; - $137 = HEAP32[$iDb>>2]|0; - $138 = HEAP32[$db>>2]|0; - $139 = ((($138)) + 16|0); - $140 = HEAP32[$139>>2]|0; - $141 = (($140) + ($137<<4)|0); - $142 = ((($141)) + 12|0); - $143 = HEAP32[$142>>2]|0; - $144 = HEAP32[$pTable>>2]|0; - $145 = ((($144)) + 64|0); - HEAP32[$145>>2] = $143; - $146 = HEAP32[$pTable>>2]|0; - $147 = ((($146)) + 36|0); - HEAP16[$147>>1] = 1; - $148 = HEAP32[$pTable>>2]|0; - $149 = ((($148)) + 38|0); - HEAP16[$149>>1] = 200; - $150 = HEAP32[$pTable>>2]|0; - $151 = HEAP32[$0>>2]|0; - $152 = ((($151)) + 440|0); - HEAP32[$152>>2] = $150; - $153 = HEAP32[$0>>2]|0; - $154 = ((($153)) + 18|0); - $155 = HEAP8[$154>>0]|0; - $156 = ($155<<24>>24)!=(0); - if (!($156)) { - $157 = HEAP32[$zName>>2]|0; - $158 = (_strcmp($157,28817)|0); - $159 = ($158|0)==(0); - if ($159) { - $160 = HEAP32[$pTable>>2]|0; - $161 = HEAP32[$pTable>>2]|0; - $162 = ((($161)) + 64|0); - $163 = HEAP32[$162>>2]|0; - $164 = ((($163)) + 72|0); - HEAP32[$164>>2] = $160; - } - } - $165 = HEAP32[$db>>2]|0; - $166 = ((($165)) + 148|0); - $167 = ((($166)) + 5|0); - $168 = HEAP8[$167>>0]|0; - $169 = ($168<<24>>24)!=(0); - if ($169) { + $153 = HEAP32[$15>>2]|0; + $154 = HEAP32[$14>>2]|0; + HEAP32[$154>>2] = $153; + $155 = HEAP32[$14>>2]|0; + $156 = ((($155)) + 32|0); + HEAP16[$156>>1] = -1; + $157 = HEAP32[$16>>2]|0; + $158 = ((($157)) + 16|0); + $159 = HEAP32[$158>>2]|0; + $160 = HEAP32[$18>>2]|0; + $161 = (($159) + ($160<<4)|0); + $162 = ((($161)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = HEAP32[$14>>2]|0; + $165 = ((($164)) + 64|0); + HEAP32[$165>>2] = $163; + $166 = HEAP32[$14>>2]|0; + $167 = ((($166)) + 36|0); + HEAP16[$167>>1] = 1; + $168 = HEAP32[$14>>2]|0; + $169 = ((($168)) + 38|0); + HEAP16[$169>>1] = 200; + $170 = HEAP32[$14>>2]|0; + $171 = HEAP32[$7>>2]|0; + $172 = ((($171)) + 440|0); + HEAP32[$172>>2] = $170; + $173 = HEAP32[$7>>2]|0; + $174 = ((($173)) + 18|0); + $175 = HEAP8[$174>>0]|0; + $176 = ($175<<24>>24)!=(0); + if (!($176)) { + $177 = HEAP32[$15>>2]|0; + $178 = (_strcmp($177,28225)|0); + $179 = ($178|0)==(0); + if ($179) { + $180 = HEAP32[$14>>2]|0; + $181 = HEAP32[$14>>2]|0; + $182 = ((($181)) + 64|0); + $183 = HEAP32[$182>>2]|0; + $184 = ((($183)) + 72|0); + HEAP32[$184>>2] = $180; + } + } + $185 = HEAP32[$16>>2]|0; + $186 = ((($185)) + 148|0); + $187 = ((($186)) + 5|0); + $188 = HEAP8[$187>>0]|0; + $189 = ($188<<24>>24)!=(0); + if ($189) { STACKTOP = sp;return; } - $170 = HEAP32[$0>>2]|0; - $171 = (_sqlite3GetVdbe($170)|0); - HEAP32[$v>>2] = $171; - $172 = ($171|0)!=(0|0); - if (!($172)) { + $190 = HEAP32[$7>>2]|0; + $191 = (_sqlite3GetVdbe($190)|0); + HEAP32[$17>>2] = $191; + $192 = ($191|0)!=(0|0); + if (!($192)) { STACKTOP = sp;return; } - $173 = HEAP32[$0>>2]|0; - $174 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($173,1,$174); - $175 = HEAP32[$5>>2]|0; - $176 = ($175|0)!=(0); - if ($176) { - $177 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($177,152)|0); + $193 = HEAP32[$7>>2]|0; + $194 = HEAP32[$18>>2]|0; + _sqlite3BeginWriteOperation($193,1,$194); + $195 = HEAP32[$12>>2]|0; + $196 = ($195|0)!=(0); + if ($196) { + $197 = HEAP32[$17>>2]|0; + (_sqlite3VdbeAddOp0($197,152)|0); } - $178 = HEAP32[$0>>2]|0; - $179 = ((($178)) + 44|0); - $180 = HEAP32[$179>>2]|0; - $181 = (($180) + 1)|0; - HEAP32[$179>>2] = $181; - $182 = HEAP32[$0>>2]|0; - $183 = ((($182)) + 100|0); - HEAP32[$183>>2] = $181; - HEAP32[$reg1>>2] = $181; - $184 = HEAP32[$0>>2]|0; - $185 = ((($184)) + 44|0); - $186 = HEAP32[$185>>2]|0; - $187 = (($186) + 1)|0; - HEAP32[$185>>2] = $187; - $188 = HEAP32[$0>>2]|0; - $189 = ((($188)) + 104|0); - HEAP32[$189>>2] = $187; - HEAP32[$reg2>>2] = $187; - $190 = HEAP32[$0>>2]|0; - $191 = ((($190)) + 44|0); - $192 = HEAP32[$191>>2]|0; - $193 = (($192) + 1)|0; - HEAP32[$191>>2] = $193; - HEAP32[$reg3>>2] = $193; - $194 = HEAP32[$v>>2]|0; - $195 = HEAP32[$iDb>>2]|0; - $196 = HEAP32[$reg3>>2]|0; - (_sqlite3VdbeAddOp3($194,101,$195,$196,2)|0); - $197 = HEAP32[$v>>2]|0; - $198 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($197,$198); - $199 = HEAP32[$v>>2]|0; - $200 = HEAP32[$reg3>>2]|0; - $201 = (_sqlite3VdbeAddOp1($199,21,$200)|0); - HEAP32[$addr1>>2] = $201; - $202 = HEAP32[$db>>2]|0; - $203 = ((($202)) + 24|0); - $204 = HEAP32[$203>>2]|0; - $205 = $204 & 32768; - $206 = ($205|0)!=(0); - $207 = $206 ? 1 : 4; - HEAP32[$fileFormat>>2] = $207; - $208 = HEAP32[$v>>2]|0; - $209 = HEAP32[$iDb>>2]|0; - $210 = HEAP32[$fileFormat>>2]|0; - (_sqlite3VdbeAddOp3($208,102,$209,2,$210)|0); - $211 = HEAP32[$v>>2]|0; - $212 = HEAP32[$iDb>>2]|0; - $213 = HEAP32[$db>>2]|0; - $214 = ((($213)) + 66|0); - $215 = HEAP8[$214>>0]|0; - $216 = $215&255; - (_sqlite3VdbeAddOp3($211,102,$212,5,$216)|0); - $217 = HEAP32[$v>>2]|0; - $218 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($217,$218); - $219 = HEAP32[$4>>2]|0; - $220 = ($219|0)!=(0); - $221 = HEAP32[$5>>2]|0; - $222 = ($221|0)!=(0); - $or$cond3 = $220 | $222; - $223 = HEAP32[$v>>2]|0; + $198 = HEAP32[$7>>2]|0; + $199 = ((($198)) + 44|0); + $200 = HEAP32[$199>>2]|0; + $201 = (($200) + 1)|0; + HEAP32[$199>>2] = $201; + $202 = HEAP32[$7>>2]|0; + $203 = ((($202)) + 100|0); + HEAP32[$203>>2] = $201; + HEAP32[$24>>2] = $201; + $204 = HEAP32[$7>>2]|0; + $205 = ((($204)) + 44|0); + $206 = HEAP32[$205>>2]|0; + $207 = (($206) + 1)|0; + HEAP32[$205>>2] = $207; + $208 = HEAP32[$7>>2]|0; + $209 = ((($208)) + 104|0); + HEAP32[$209>>2] = $207; + HEAP32[$25>>2] = $207; + $210 = HEAP32[$7>>2]|0; + $211 = ((($210)) + 44|0); + $212 = HEAP32[$211>>2]|0; + $213 = (($212) + 1)|0; + HEAP32[$211>>2] = $213; + HEAP32[$26>>2] = $213; + $214 = HEAP32[$17>>2]|0; + $215 = HEAP32[$18>>2]|0; + $216 = HEAP32[$26>>2]|0; + (_sqlite3VdbeAddOp3($214,101,$215,$216,2)|0); + $217 = HEAP32[$17>>2]|0; + $218 = HEAP32[$18>>2]|0; + _sqlite3VdbeUsesBtree($217,$218); + $219 = HEAP32[$17>>2]|0; + $220 = HEAP32[$26>>2]|0; + $221 = (_sqlite3VdbeAddOp1($219,21,$220)|0); + HEAP32[$22>>2] = $221; + $222 = HEAP32[$16>>2]|0; + $223 = ((($222)) + 24|0); + $224 = HEAP32[$223>>2]|0; + $225 = $224 & 32768; + $226 = ($225|0)!=(0); + $227 = $226 ? 1 : 4; + HEAP32[$23>>2] = $227; + $228 = HEAP32[$17>>2]|0; + $229 = HEAP32[$18>>2]|0; + $230 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp3($228,102,$229,2,$230)|0); + $231 = HEAP32[$17>>2]|0; + $232 = HEAP32[$18>>2]|0; + $233 = HEAP32[$16>>2]|0; + $234 = ((($233)) + 66|0); + $235 = HEAP8[$234>>0]|0; + $236 = $235&255; + (_sqlite3VdbeAddOp3($231,102,$232,5,$236)|0); + $237 = HEAP32[$17>>2]|0; + $238 = HEAP32[$22>>2]|0; + _sqlite3VdbeJumpHere($237,$238); + $239 = HEAP32[$11>>2]|0; + $240 = ($239|0)!=(0); + $241 = HEAP32[$12>>2]|0; + $242 = ($241|0)!=(0); + $or$cond3 = $240 | $242; + $243 = HEAP32[$17>>2]|0; if ($or$cond3) { - $224 = HEAP32[$reg2>>2]|0; - (_sqlite3VdbeAddOp2($223,76,0,$224)|0); + $244 = HEAP32[$25>>2]|0; + (_sqlite3VdbeAddOp2($243,76,0,$244)|0); } else { - $225 = HEAP32[$iDb>>2]|0; - $226 = HEAP32[$reg2>>2]|0; - $227 = (_sqlite3VdbeAddOp2($223,135,$225,$226)|0); - $228 = HEAP32[$0>>2]|0; - $229 = ((($228)) + 132|0); - HEAP32[$229>>2] = $227; - } - $230 = HEAP32[$0>>2]|0; - $231 = HEAP32[$iDb>>2]|0; - _sqlite3OpenMasterTable($230,$231); - $232 = HEAP32[$v>>2]|0; - $233 = HEAP32[$reg1>>2]|0; - (_sqlite3VdbeAddOp2($232,114,0,$233)|0); - $234 = HEAP32[$v>>2]|0; - $235 = HEAP32[$reg3>>2]|0; - (_sqlite3VdbeAddOp4($234,81,6,$235,0,37521,-2)|0); - $236 = HEAP32[$v>>2]|0; - $237 = HEAP32[$reg3>>2]|0; - $238 = HEAP32[$reg1>>2]|0; - (_sqlite3VdbeAddOp3($236,115,0,$237,$238)|0); - $239 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($239,8); - $240 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($240,111)|0); + $245 = HEAP32[$18>>2]|0; + $246 = HEAP32[$25>>2]|0; + $247 = (_sqlite3VdbeAddOp2($243,135,$245,$246)|0); + $248 = HEAP32[$7>>2]|0; + $249 = ((($248)) + 132|0); + HEAP32[$249>>2] = $247; + } + $250 = HEAP32[$7>>2]|0; + $251 = HEAP32[$18>>2]|0; + _sqlite3OpenMasterTable($250,$251); + $252 = HEAP32[$17>>2]|0; + $253 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp2($252,114,0,$253)|0); + $254 = HEAP32[$17>>2]|0; + $255 = HEAP32[$26>>2]|0; + (_sqlite3VdbeAddOp4($254,81,6,$255,0,36958,-2)|0); + $256 = HEAP32[$17>>2]|0; + $257 = HEAP32[$26>>2]|0; + $258 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp3($256,115,0,$257,$258)|0); + $259 = HEAP32[$17>>2]|0; + _sqlite3VdbeChangeP5($259,8); + $260 = HEAP32[$17>>2]|0; + (_sqlite3VdbeAddOp0($260,111)|0); STACKTOP = sp;return; } } } while(0); - $241 = HEAP32[$db>>2]|0; - $242 = HEAP32[$zName>>2]|0; - _sqlite3DbFree($241,$242); + $261 = HEAP32[$16>>2]|0; + $262 = HEAP32[$15>>2]|0; + _sqlite3DbFree($261,$262); STACKTOP = sp;return; } -function _disableLookaside($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _disableLookaside($0) { + $0 = $0|0; + var $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; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = HEAP8[$2>>0]|0; - $4 = (($3) + 1)<<24>>24; - HEAP8[$2>>0] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 256|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 1)|0; - HEAP32[$7>>2] = $9; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP8[$3>>0]|0; + $5 = (($4) + 1)<<24>>24; + HEAP8[$3>>0] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 256|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + 1)|0; + HEAP32[$8>>2] = $10; STACKTOP = sp;return; } -function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { - $pParse = $pParse|0; - $pCons = $pCons|0; - $pEnd = $pEnd|0; - $tabOpts = $tabOpts|0; - $pSelect = $pSelect|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $addrInsLoop = 0, $addrTop = 0, $db = 0, $dest = 0, $iDb = 0, $n = 0, $nName = 0, $or$cond = 0, $p = 0, $pDb = 0, $pEnd2 = 0, $pIdx = 0, $pOld = 0, $pSchema = 0, $pSelTab = 0, $regRec = 0, $regRowid = 0, $regYield = 0, $v = 0; - var $vararg_buffer = 0, $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $zName = 0, $zStmt = 0, $zType = 0, $zType2 = 0, label = 0; +function _sqlite3EndTable($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $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, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 208|0; @@ -113074,900 +88689,900 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $vararg_buffer4 = sp + 16|0; $vararg_buffer2 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 200|0; - $1 = sp + 196|0; - $2 = sp + 192|0; - $3 = sp + 204|0; - $4 = sp + 188|0; - $p = sp + 184|0; - $db = sp + 180|0; - $iDb = sp + 176|0; - $pIdx = sp + 172|0; - $n = sp + 168|0; - $v = sp + 164|0; - $zType = sp + 160|0; - $zType2 = sp + 156|0; - $zStmt = sp + 152|0; - $dest = sp + 128|0; - $regYield = sp + 120|0; - $addrTop = sp + 116|0; - $regRec = sp + 112|0; - $regRowid = sp + 108|0; - $addrInsLoop = sp + 104|0; - $pSelTab = sp + 100|0; - $pEnd2 = sp + 96|0; - $pDb = sp + 92|0; - $pOld = sp + 88|0; - $pSchema = sp + 84|0; - $zName = sp + 80|0; - $nName = sp + 76|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pCons; - HEAP32[$2>>2] = $pEnd; - HEAP8[$3>>0] = $tabOpts; - HEAP32[$4>>2] = $pSelect; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = ($7|0)==(0|0); - $9 = HEAP32[$4>>2]|0; - $10 = ($9|0)==(0|0); - $or$cond = $8 & $10; + $5 = sp + 200|0; + $6 = sp + 196|0; + $7 = sp + 192|0; + $8 = sp + 204|0; + $9 = sp + 188|0; + $10 = sp + 184|0; + $11 = sp + 180|0; + $12 = sp + 176|0; + $13 = sp + 172|0; + $14 = sp + 168|0; + $15 = sp + 164|0; + $16 = sp + 160|0; + $17 = sp + 156|0; + $18 = sp + 152|0; + $19 = sp + 128|0; + $20 = sp + 120|0; + $21 = sp + 116|0; + $22 = sp + 112|0; + $23 = sp + 108|0; + $24 = sp + 104|0; + $25 = sp + 100|0; + $26 = sp + 96|0; + $27 = sp + 92|0; + $28 = sp + 88|0; + $29 = sp + 84|0; + $30 = sp + 80|0; + $31 = sp + 76|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP8[$8>>0] = $3; + HEAP32[$9>>2] = $4; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$32>>2]|0; + HEAP32[$11>>2] = $33; + $34 = HEAP32[$7>>2]|0; + $35 = ($34|0)==(0|0); + $36 = HEAP32[$9>>2]|0; + $37 = ($36|0)==(0|0); + $or$cond = $35 & $37; if ($or$cond) { STACKTOP = sp;return; } - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 440|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$p>>2] = $13; - $14 = HEAP32[$p>>2]|0; - $15 = ($14|0)==(0|0); - if ($15) { + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 440|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$10>>2] = $40; + $41 = HEAP32[$10>>2]|0; + $42 = ($41|0)==(0|0); + if ($42) { STACKTOP = sp;return; } - $16 = HEAP32[$db>>2]|0; - $17 = ((($16)) + 148|0); - $18 = ((($17)) + 5|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)!=(0); - if ($20) { - $21 = HEAP32[$db>>2]|0; - $22 = ((($21)) + 148|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 28|0); - HEAP32[$25>>2] = $23; - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 28|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==(1); - if ($29) { - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 42|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $33 | 1; - $35 = $34&255; - HEAP8[$31>>0] = $35; + $43 = HEAP32[$11>>2]|0; + $44 = ((($43)) + 148|0); + $45 = ((($44)) + 5|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46<<24>>24)!=(0); + if ($47) { + $48 = HEAP32[$11>>2]|0; + $49 = ((($48)) + 148|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$10>>2]|0; + $52 = ((($51)) + 28|0); + HEAP32[$52>>2] = $50; + $53 = HEAP32[$10>>2]|0; + $54 = ((($53)) + 28|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)==(1); + if ($56) { + $57 = HEAP32[$10>>2]|0; + $58 = ((($57)) + 42|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = $60 | 1; + $62 = $61&255; + HEAP8[$58>>0] = $62; } } - $36 = HEAP8[$3>>0]|0; - $37 = $36&255; - $38 = $37 & 32; - $39 = ($38|0)!=(0); + $63 = HEAP8[$8>>0]|0; + $64 = $63&255; + $65 = $64 & 32; + $66 = ($65|0)!=(0); do { - if ($39) { - $40 = HEAP32[$p>>2]|0; - $41 = ((($40)) + 42|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = $43 & 8; - $45 = ($44|0)!=(0); - if ($45) { - $46 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($46,37098,$vararg_buffer); + if ($66) { + $67 = HEAP32[$10>>2]|0; + $68 = ((($67)) + 42|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = $70 & 8; + $72 = ($71|0)!=(0); + if ($72) { + $73 = HEAP32[$5>>2]|0; + _sqlite3ErrorMsg($73,36535,$vararg_buffer); STACKTOP = sp;return; } - $47 = HEAP32[$p>>2]|0; - $48 = ((($47)) + 42|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = $50 & 4; - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$0>>2]|0; - $54 = HEAP32[$p>>2]|0; - $55 = HEAP32[$54>>2]|0; - HEAP32[$vararg_buffer2>>2] = $55; - _sqlite3ErrorMsg($53,37148,$vararg_buffer2); + $74 = HEAP32[$10>>2]|0; + $75 = ((($74)) + 42|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = $77 & 4; + $79 = ($78|0)==(0); + if ($79) { + $80 = HEAP32[$5>>2]|0; + $81 = HEAP32[$10>>2]|0; + $82 = HEAP32[$81>>2]|0; + HEAP32[$vararg_buffer2>>2] = $82; + _sqlite3ErrorMsg($80,36585,$vararg_buffer2); break; } else { - $56 = HEAP32[$p>>2]|0; - $57 = ((($56)) + 42|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = $59 | 96; - $61 = $60&255; - HEAP8[$57>>0] = $61; - $62 = HEAP32[$0>>2]|0; - $63 = HEAP32[$p>>2]|0; - _convertToWithoutRowidTable($62,$63); + $83 = HEAP32[$10>>2]|0; + $84 = ((($83)) + 42|0); + $85 = HEAP8[$84>>0]|0; + $86 = $85&255; + $87 = $86 | 96; + $88 = $87&255; + HEAP8[$84>>0] = $88; + $89 = HEAP32[$5>>2]|0; + $90 = HEAP32[$10>>2]|0; + _convertToWithoutRowidTable($89,$90); break; } } } while(0); - $64 = HEAP32[$db>>2]|0; - $65 = HEAP32[$p>>2]|0; - $66 = ((($65)) + 64|0); - $67 = HEAP32[$66>>2]|0; - $68 = (_sqlite3SchemaToIndex($64,$67)|0); - HEAP32[$iDb>>2] = $68; - $69 = HEAP32[$p>>2]|0; - $70 = ((($69)) + 24|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)!=(0|0); - if ($72) { - $73 = HEAP32[$0>>2]|0; - $74 = HEAP32[$p>>2]|0; - $75 = HEAP32[$p>>2]|0; - $76 = ((($75)) + 24|0); - $77 = HEAP32[$76>>2]|0; - _sqlite3ResolveSelfReference($73,$74,4,0,$77); + $91 = HEAP32[$11>>2]|0; + $92 = HEAP32[$10>>2]|0; + $93 = ((($92)) + 64|0); + $94 = HEAP32[$93>>2]|0; + $95 = (_sqlite3SchemaToIndex($91,$94)|0); + HEAP32[$12>>2] = $95; + $96 = HEAP32[$10>>2]|0; + $97 = ((($96)) + 24|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)!=(0|0); + if ($99) { + $100 = HEAP32[$5>>2]|0; + $101 = HEAP32[$10>>2]|0; + $102 = HEAP32[$10>>2]|0; + $103 = ((($102)) + 24|0); + $104 = HEAP32[$103>>2]|0; + _sqlite3ResolveSelfReference($100,$101,4,0,$104); } - $78 = HEAP32[$p>>2]|0; - _estimateTableWidth($78); - $79 = HEAP32[$p>>2]|0; - $80 = ((($79)) + 8|0); - $81 = HEAP32[$80>>2]|0; - HEAP32[$pIdx>>2] = $81; + $105 = HEAP32[$10>>2]|0; + _estimateTableWidth($105); + $106 = HEAP32[$10>>2]|0; + $107 = ((($106)) + 8|0); + $108 = HEAP32[$107>>2]|0; + HEAP32[$13>>2] = $108; while(1) { - $82 = HEAP32[$pIdx>>2]|0; - $83 = ($82|0)!=(0|0); - if (!($83)) { + $109 = HEAP32[$13>>2]|0; + $110 = ($109|0)!=(0|0); + if (!($110)) { break; } - $84 = HEAP32[$pIdx>>2]|0; - _estimateIndexWidth($84); - $85 = HEAP32[$pIdx>>2]|0; - $86 = ((($85)) + 20|0); - $87 = HEAP32[$86>>2]|0; - HEAP32[$pIdx>>2] = $87; - } - $88 = HEAP32[$db>>2]|0; - $89 = ((($88)) + 148|0); - $90 = ((($89)) + 5|0); - $91 = HEAP8[$90>>0]|0; - $92 = ($91<<24>>24)!=(0); - if (!($92)) { - $93 = HEAP32[$0>>2]|0; - $94 = (_sqlite3GetVdbe($93)|0); - HEAP32[$v>>2] = $94; - $95 = HEAP32[$v>>2]|0; - $96 = ($95|0)==(0|0); - if ($96) { + $111 = HEAP32[$13>>2]|0; + _estimateIndexWidth($111); + $112 = HEAP32[$13>>2]|0; + $113 = ((($112)) + 20|0); + $114 = HEAP32[$113>>2]|0; + HEAP32[$13>>2] = $114; + } + $115 = HEAP32[$11>>2]|0; + $116 = ((($115)) + 148|0); + $117 = ((($116)) + 5|0); + $118 = HEAP8[$117>>0]|0; + $119 = ($118<<24>>24)!=(0); + if (!($119)) { + $120 = HEAP32[$5>>2]|0; + $121 = (_sqlite3GetVdbe($120)|0); + HEAP32[$15>>2] = $121; + $122 = HEAP32[$15>>2]|0; + $123 = ($122|0)==(0|0); + if ($123) { STACKTOP = sp;return; } - $97 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp1($97,111,0)|0); - $98 = HEAP32[$p>>2]|0; - $99 = ((($98)) + 12|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)==(0|0); - if ($101) { - HEAP32[$zType>>2] = 32993; - HEAP32[$zType2>>2] = 37180; + $124 = HEAP32[$15>>2]|0; + (_sqlite3VdbeAddOp1($124,111,0)|0); + $125 = HEAP32[$10>>2]|0; + $126 = ((($125)) + 12|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(0|0); + if ($128) { + HEAP32[$16>>2] = 32446; + HEAP32[$17>>2] = 36617; } else { - HEAP32[$zType>>2] = 36058; - HEAP32[$zType2>>2] = 37186; + HEAP32[$16>>2] = 35495; + HEAP32[$17>>2] = 36623; } - $102 = HEAP32[$4>>2]|0; - $103 = ($102|0)!=(0|0); + $129 = HEAP32[$9>>2]|0; + $130 = ($129|0)!=(0|0); do { - if ($103) { - $104 = HEAP32[$0>>2]|0; - $105 = ((($104)) + 44|0); - $106 = HEAP32[$105>>2]|0; - $107 = (($106) + 1)|0; - HEAP32[$105>>2] = $107; - HEAP32[$regYield>>2] = $107; - $108 = HEAP32[$0>>2]|0; - $109 = ((($108)) + 44|0); - $110 = HEAP32[$109>>2]|0; - $111 = (($110) + 1)|0; - HEAP32[$109>>2] = $111; - HEAP32[$regRec>>2] = $111; - $112 = HEAP32[$0>>2]|0; - $113 = ((($112)) + 44|0); - $114 = HEAP32[$113>>2]|0; - $115 = (($114) + 1)|0; - HEAP32[$113>>2] = $115; - HEAP32[$regRowid>>2] = $115; - $116 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($116); - $117 = HEAP32[$v>>2]|0; - $118 = HEAP32[$0>>2]|0; - $119 = ((($118)) + 104|0); - $120 = HEAP32[$119>>2]|0; - $121 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($117,105,1,$120,$121)|0); - $122 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($122,16); - $123 = HEAP32[$0>>2]|0; - $124 = ((($123)) + 40|0); - HEAP32[$124>>2] = 2; - $125 = HEAP32[$v>>2]|0; - $126 = (_sqlite3VdbeCurrentAddr($125)|0); - $127 = (($126) + 1)|0; - HEAP32[$addrTop>>2] = $127; - $128 = HEAP32[$v>>2]|0; - $129 = HEAP32[$regYield>>2]|0; - $130 = HEAP32[$addrTop>>2]|0; - (_sqlite3VdbeAddOp3($128,15,$129,0,$130)|0); - $131 = HEAP32[$regYield>>2]|0; - _sqlite3SelectDestInit($dest,13,$131); - $132 = HEAP32[$0>>2]|0; - $133 = HEAP32[$4>>2]|0; - (_sqlite3Select($132,$133,$dest)|0); - $134 = HEAP32[$v>>2]|0; - $135 = HEAP32[$regYield>>2]|0; - _sqlite3VdbeEndCoroutine($134,$135); - $136 = HEAP32[$v>>2]|0; - $137 = HEAP32[$addrTop>>2]|0; - $138 = (($137) - 1)|0; - _sqlite3VdbeJumpHere($136,$138); - $139 = HEAP32[$0>>2]|0; - $140 = ((($139)) + 36|0); + if ($130) { + $131 = HEAP32[$5>>2]|0; + $132 = ((($131)) + 44|0); + $133 = HEAP32[$132>>2]|0; + $134 = (($133) + 1)|0; + HEAP32[$132>>2] = $134; + HEAP32[$20>>2] = $134; + $135 = HEAP32[$5>>2]|0; + $136 = ((($135)) + 44|0); + $137 = HEAP32[$136>>2]|0; + $138 = (($137) + 1)|0; + HEAP32[$136>>2] = $138; + HEAP32[$22>>2] = $138; + $139 = HEAP32[$5>>2]|0; + $140 = ((($139)) + 44|0); $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)!=(0); - if ($142) { + $142 = (($141) + 1)|0; + HEAP32[$140>>2] = $142; + HEAP32[$23>>2] = $142; + $143 = HEAP32[$5>>2]|0; + _sqlite3MayAbort($143); + $144 = HEAP32[$15>>2]|0; + $145 = HEAP32[$5>>2]|0; + $146 = ((($145)) + 104|0); + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$12>>2]|0; + (_sqlite3VdbeAddOp3($144,105,1,$147,$148)|0); + $149 = HEAP32[$15>>2]|0; + _sqlite3VdbeChangeP5($149,16); + $150 = HEAP32[$5>>2]|0; + $151 = ((($150)) + 40|0); + HEAP32[$151>>2] = 2; + $152 = HEAP32[$15>>2]|0; + $153 = (_sqlite3VdbeCurrentAddr($152)|0); + $154 = (($153) + 1)|0; + HEAP32[$21>>2] = $154; + $155 = HEAP32[$15>>2]|0; + $156 = HEAP32[$20>>2]|0; + $157 = HEAP32[$21>>2]|0; + (_sqlite3VdbeAddOp3($155,15,$156,0,$157)|0); + $158 = HEAP32[$20>>2]|0; + _sqlite3SelectDestInit($19,13,$158); + $159 = HEAP32[$5>>2]|0; + $160 = HEAP32[$9>>2]|0; + (_sqlite3Select($159,$160,$19)|0); + $161 = HEAP32[$15>>2]|0; + $162 = HEAP32[$20>>2]|0; + _sqlite3VdbeEndCoroutine($161,$162); + $163 = HEAP32[$15>>2]|0; + $164 = HEAP32[$21>>2]|0; + $165 = (($164) - 1)|0; + _sqlite3VdbeJumpHere($163,$165); + $166 = HEAP32[$5>>2]|0; + $167 = ((($166)) + 36|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)!=(0); + if ($169) { STACKTOP = sp;return; } - $143 = HEAP32[$0>>2]|0; - $144 = HEAP32[$4>>2]|0; - $145 = (_sqlite3ResultSetOfSelect($143,$144)|0); - HEAP32[$pSelTab>>2] = $145; - $146 = HEAP32[$pSelTab>>2]|0; - $147 = ($146|0)==(0|0); - if ($147) { + $170 = HEAP32[$5>>2]|0; + $171 = HEAP32[$9>>2]|0; + $172 = (_sqlite3ResultSetOfSelect($170,$171)|0); + HEAP32[$25>>2] = $172; + $173 = HEAP32[$25>>2]|0; + $174 = ($173|0)==(0|0); + if ($174) { STACKTOP = sp;return; } else { - $148 = HEAP32[$pSelTab>>2]|0; - $149 = ((($148)) + 34|0); - $150 = HEAP16[$149>>1]|0; - $151 = HEAP32[$p>>2]|0; - $152 = ((($151)) + 34|0); - HEAP16[$152>>1] = $150; - $153 = HEAP32[$pSelTab>>2]|0; - $154 = ((($153)) + 4|0); - $155 = HEAP32[$154>>2]|0; - $156 = HEAP32[$p>>2]|0; - $157 = ((($156)) + 4|0); - HEAP32[$157>>2] = $155; - $158 = HEAP32[$pSelTab>>2]|0; - $159 = ((($158)) + 34|0); - HEAP16[$159>>1] = 0; - $160 = HEAP32[$pSelTab>>2]|0; - $161 = ((($160)) + 4|0); - HEAP32[$161>>2] = 0; - $162 = HEAP32[$db>>2]|0; - $163 = HEAP32[$pSelTab>>2]|0; - _sqlite3DeleteTable($162,$163); - $164 = HEAP32[$v>>2]|0; - $165 = ((($dest)) + 8|0); - $166 = HEAP32[$165>>2]|0; - $167 = (_sqlite3VdbeAddOp1($164,16,$166)|0); - HEAP32[$addrInsLoop>>2] = $167; - $168 = HEAP32[$v>>2]|0; - $169 = ((($dest)) + 12|0); - $170 = HEAP32[$169>>2]|0; - $171 = ((($dest)) + 16|0); - $172 = HEAP32[$171>>2]|0; - $173 = HEAP32[$regRec>>2]|0; - (_sqlite3VdbeAddOp3($168,99,$170,$172,$173)|0); - $174 = HEAP32[$v>>2]|0; - $175 = HEAP32[$p>>2]|0; - _sqlite3TableAffinity($174,$175,0); - $176 = HEAP32[$v>>2]|0; - $177 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($176,114,1,$177)|0); - $178 = HEAP32[$v>>2]|0; - $179 = HEAP32[$regRec>>2]|0; - $180 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($178,115,1,$179,$180)|0); - $181 = HEAP32[$v>>2]|0; - $182 = HEAP32[$addrInsLoop>>2]|0; - (_sqlite3VdbeGoto($181,$182)|0); - $183 = HEAP32[$v>>2]|0; - $184 = HEAP32[$addrInsLoop>>2]|0; - _sqlite3VdbeJumpHere($183,$184); - $185 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp1($185,111,1)|0); + $175 = HEAP32[$25>>2]|0; + $176 = ((($175)) + 34|0); + $177 = HEAP16[$176>>1]|0; + $178 = HEAP32[$10>>2]|0; + $179 = ((($178)) + 34|0); + HEAP16[$179>>1] = $177; + $180 = HEAP32[$25>>2]|0; + $181 = ((($180)) + 4|0); + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$10>>2]|0; + $184 = ((($183)) + 4|0); + HEAP32[$184>>2] = $182; + $185 = HEAP32[$25>>2]|0; + $186 = ((($185)) + 34|0); + HEAP16[$186>>1] = 0; + $187 = HEAP32[$25>>2]|0; + $188 = ((($187)) + 4|0); + HEAP32[$188>>2] = 0; + $189 = HEAP32[$11>>2]|0; + $190 = HEAP32[$25>>2]|0; + _sqlite3DeleteTable($189,$190); + $191 = HEAP32[$15>>2]|0; + $192 = ((($19)) + 8|0); + $193 = HEAP32[$192>>2]|0; + $194 = (_sqlite3VdbeAddOp1($191,16,$193)|0); + HEAP32[$24>>2] = $194; + $195 = HEAP32[$15>>2]|0; + $196 = ((($19)) + 12|0); + $197 = HEAP32[$196>>2]|0; + $198 = ((($19)) + 16|0); + $199 = HEAP32[$198>>2]|0; + $200 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp3($195,99,$197,$199,$200)|0); + $201 = HEAP32[$15>>2]|0; + $202 = HEAP32[$10>>2]|0; + _sqlite3TableAffinity($201,$202,0); + $203 = HEAP32[$15>>2]|0; + $204 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp2($203,114,1,$204)|0); + $205 = HEAP32[$15>>2]|0; + $206 = HEAP32[$22>>2]|0; + $207 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp3($205,115,1,$206,$207)|0); + $208 = HEAP32[$15>>2]|0; + $209 = HEAP32[$24>>2]|0; + (_sqlite3VdbeGoto($208,$209)|0); + $210 = HEAP32[$15>>2]|0; + $211 = HEAP32[$24>>2]|0; + _sqlite3VdbeJumpHere($210,$211); + $212 = HEAP32[$15>>2]|0; + (_sqlite3VdbeAddOp1($212,111,1)|0); break; } } } while(0); - $186 = HEAP32[$4>>2]|0; - $187 = ($186|0)!=(0|0); - if ($187) { - $188 = HEAP32[$db>>2]|0; - $189 = HEAP32[$p>>2]|0; - $190 = (_createTableStmt($188,$189)|0); - HEAP32[$zStmt>>2] = $190; + $213 = HEAP32[$9>>2]|0; + $214 = ($213|0)!=(0|0); + if ($214) { + $215 = HEAP32[$11>>2]|0; + $216 = HEAP32[$10>>2]|0; + $217 = (_createTableStmt($215,$216)|0); + HEAP32[$18>>2] = $217; } else { - $191 = HEAP8[$3>>0]|0; - $192 = $191&255; - $193 = ($192|0)!=(0); - $194 = HEAP32[$0>>2]|0; - $195 = ((($194)) + 392|0); - $196 = HEAP32[$2>>2]|0; - $197 = $193 ? $195 : $196; - HEAP32[$pEnd2>>2] = $197; - $198 = HEAP32[$pEnd2>>2]|0; - $199 = HEAP32[$198>>2]|0; - $200 = HEAP32[$0>>2]|0; - $201 = ((($200)) + 384|0); - $202 = HEAP32[$201>>2]|0; - $203 = $199; - $204 = $202; - $205 = (($203) - ($204))|0; - HEAP32[$n>>2] = $205; - $206 = HEAP32[$pEnd2>>2]|0; - $207 = HEAP32[$206>>2]|0; - $208 = HEAP8[$207>>0]|0; - $209 = $208 << 24 >> 24; - $210 = ($209|0)!=(59); - if ($210) { - $211 = HEAP32[$pEnd2>>2]|0; - $212 = ((($211)) + 4|0); - $213 = HEAP32[$212>>2]|0; - $214 = HEAP32[$n>>2]|0; - $215 = (($214) + ($213))|0; - HEAP32[$n>>2] = $215; - } - $216 = HEAP32[$db>>2]|0; - $217 = HEAP32[$zType2>>2]|0; - $218 = HEAP32[$n>>2]|0; - $219 = HEAP32[$0>>2]|0; - $220 = ((($219)) + 384|0); - $221 = HEAP32[$220>>2]|0; - HEAP32[$vararg_buffer4>>2] = $217; + $218 = HEAP8[$8>>0]|0; + $219 = $218&255; + $220 = ($219|0)!=(0); + $221 = HEAP32[$5>>2]|0; + $222 = ((($221)) + 392|0); + $223 = HEAP32[$7>>2]|0; + $224 = $220 ? $222 : $223; + HEAP32[$26>>2] = $224; + $225 = HEAP32[$26>>2]|0; + $226 = HEAP32[$225>>2]|0; + $227 = HEAP32[$5>>2]|0; + $228 = ((($227)) + 384|0); + $229 = HEAP32[$228>>2]|0; + $230 = $226; + $231 = $229; + $232 = (($230) - ($231))|0; + HEAP32[$14>>2] = $232; + $233 = HEAP32[$26>>2]|0; + $234 = HEAP32[$233>>2]|0; + $235 = HEAP8[$234>>0]|0; + $236 = $235 << 24 >> 24; + $237 = ($236|0)!=(59); + if ($237) { + $238 = HEAP32[$26>>2]|0; + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[$14>>2]|0; + $242 = (($241) + ($240))|0; + HEAP32[$14>>2] = $242; + } + $243 = HEAP32[$11>>2]|0; + $244 = HEAP32[$17>>2]|0; + $245 = HEAP32[$14>>2]|0; + $246 = HEAP32[$5>>2]|0; + $247 = ((($246)) + 384|0); + $248 = HEAP32[$247>>2]|0; + HEAP32[$vararg_buffer4>>2] = $244; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $218; + HEAP32[$vararg_ptr7>>2] = $245; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $221; - $222 = (_sqlite3MPrintf($216,37191,$vararg_buffer4)|0); - HEAP32[$zStmt>>2] = $222; - } - $223 = HEAP32[$0>>2]|0; - $224 = HEAP32[$iDb>>2]|0; - $225 = HEAP32[$db>>2]|0; - $226 = ((($225)) + 16|0); - $227 = HEAP32[$226>>2]|0; - $228 = (($227) + ($224<<4)|0); - $229 = HEAP32[$228>>2]|0; - $230 = HEAP32[$iDb>>2]|0; - $231 = ($230|0)==(1); - $232 = $231 ? 19905 : 19924; - $233 = HEAP32[$zType>>2]|0; - $234 = HEAP32[$p>>2]|0; - $235 = HEAP32[$234>>2]|0; - $236 = HEAP32[$p>>2]|0; - $237 = HEAP32[$236>>2]|0; - $238 = HEAP32[$0>>2]|0; - $239 = ((($238)) + 104|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[$zStmt>>2]|0; - $242 = HEAP32[$0>>2]|0; - $243 = ((($242)) + 100|0); - $244 = HEAP32[$243>>2]|0; - HEAP32[$vararg_buffer9>>2] = $229; + HEAP32[$vararg_ptr8>>2] = $248; + $249 = (_sqlite3MPrintf($243,36628,$vararg_buffer4)|0); + HEAP32[$18>>2] = $249; + } + $250 = HEAP32[$5>>2]|0; + $251 = HEAP32[$11>>2]|0; + $252 = ((($251)) + 16|0); + $253 = HEAP32[$252>>2]|0; + $254 = HEAP32[$12>>2]|0; + $255 = (($253) + ($254<<4)|0); + $256 = HEAP32[$255>>2]|0; + $257 = HEAP32[$12>>2]|0; + $258 = ($257|0)==(1); + $259 = $258 ? 26433 : 26452; + $260 = HEAP32[$16>>2]|0; + $261 = HEAP32[$10>>2]|0; + $262 = HEAP32[$261>>2]|0; + $263 = HEAP32[$10>>2]|0; + $264 = HEAP32[$263>>2]|0; + $265 = HEAP32[$5>>2]|0; + $266 = ((($265)) + 104|0); + $267 = HEAP32[$266>>2]|0; + $268 = HEAP32[$18>>2]|0; + $269 = HEAP32[$5>>2]|0; + $270 = ((($269)) + 100|0); + $271 = HEAP32[$270>>2]|0; + HEAP32[$vararg_buffer9>>2] = $256; $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $232; + HEAP32[$vararg_ptr12>>2] = $259; $vararg_ptr13 = ((($vararg_buffer9)) + 8|0); - HEAP32[$vararg_ptr13>>2] = $233; + HEAP32[$vararg_ptr13>>2] = $260; $vararg_ptr14 = ((($vararg_buffer9)) + 12|0); - HEAP32[$vararg_ptr14>>2] = $235; + HEAP32[$vararg_ptr14>>2] = $262; $vararg_ptr15 = ((($vararg_buffer9)) + 16|0); - HEAP32[$vararg_ptr15>>2] = $237; + HEAP32[$vararg_ptr15>>2] = $264; $vararg_ptr16 = ((($vararg_buffer9)) + 20|0); - HEAP32[$vararg_ptr16>>2] = $240; + HEAP32[$vararg_ptr16>>2] = $267; $vararg_ptr17 = ((($vararg_buffer9)) + 24|0); - HEAP32[$vararg_ptr17>>2] = $241; + HEAP32[$vararg_ptr17>>2] = $268; $vararg_ptr18 = ((($vararg_buffer9)) + 28|0); - HEAP32[$vararg_ptr18>>2] = $244; - _sqlite3NestedParse($223,37206,$vararg_buffer9); - $245 = HEAP32[$db>>2]|0; - $246 = HEAP32[$zStmt>>2]|0; - _sqlite3DbFree($245,$246); - $247 = HEAP32[$0>>2]|0; - $248 = HEAP32[$iDb>>2]|0; - _sqlite3ChangeCookie($247,$248); - $249 = HEAP32[$p>>2]|0; - $250 = ((($249)) + 42|0); - $251 = HEAP8[$250>>0]|0; - $252 = $251&255; - $253 = $252 & 8; - $254 = ($253|0)!=(0); - if ($254) { - $255 = HEAP32[$iDb>>2]|0; - $256 = HEAP32[$db>>2]|0; - $257 = ((($256)) + 16|0); - $258 = HEAP32[$257>>2]|0; - $259 = (($258) + ($255<<4)|0); - HEAP32[$pDb>>2] = $259; - $260 = HEAP32[$pDb>>2]|0; - $261 = ((($260)) + 12|0); - $262 = HEAP32[$261>>2]|0; - $263 = ((($262)) + 72|0); - $264 = HEAP32[$263>>2]|0; - $265 = ($264|0)==(0|0); - if ($265) { - $266 = HEAP32[$0>>2]|0; - $267 = HEAP32[$pDb>>2]|0; - $268 = HEAP32[$267>>2]|0; - HEAP32[$vararg_buffer19>>2] = $268; - _sqlite3NestedParse($266,37293,$vararg_buffer19); - } - } - $269 = HEAP32[$v>>2]|0; - $270 = HEAP32[$iDb>>2]|0; - $271 = HEAP32[$db>>2]|0; - $272 = HEAP32[$p>>2]|0; - $273 = HEAP32[$272>>2]|0; - HEAP32[$vararg_buffer22>>2] = $273; - $274 = (_sqlite3MPrintf($271,37335,$vararg_buffer22)|0); - _sqlite3VdbeAddParseSchemaOp($269,$270,$274); - } - $275 = HEAP32[$db>>2]|0; - $276 = ((($275)) + 148|0); - $277 = ((($276)) + 5|0); - $278 = HEAP8[$277>>0]|0; - $279 = ($278<<24>>24)!=(0); - if (!($279)) { + HEAP32[$vararg_ptr18>>2] = $271; + _sqlite3NestedParse($250,36643,$vararg_buffer9); + $272 = HEAP32[$11>>2]|0; + $273 = HEAP32[$18>>2]|0; + _sqlite3DbFree($272,$273); + $274 = HEAP32[$5>>2]|0; + $275 = HEAP32[$12>>2]|0; + _sqlite3ChangeCookie($274,$275); + $276 = HEAP32[$10>>2]|0; + $277 = ((($276)) + 42|0); + $278 = HEAP8[$277>>0]|0; + $279 = $278&255; + $280 = $279 & 8; + $281 = ($280|0)!=(0); + if ($281) { + $282 = HEAP32[$11>>2]|0; + $283 = ((($282)) + 16|0); + $284 = HEAP32[$283>>2]|0; + $285 = HEAP32[$12>>2]|0; + $286 = (($284) + ($285<<4)|0); + HEAP32[$27>>2] = $286; + $287 = HEAP32[$27>>2]|0; + $288 = ((($287)) + 12|0); + $289 = HEAP32[$288>>2]|0; + $290 = ((($289)) + 72|0); + $291 = HEAP32[$290>>2]|0; + $292 = ($291|0)==(0|0); + if ($292) { + $293 = HEAP32[$5>>2]|0; + $294 = HEAP32[$27>>2]|0; + $295 = HEAP32[$294>>2]|0; + HEAP32[$vararg_buffer19>>2] = $295; + _sqlite3NestedParse($293,36730,$vararg_buffer19); + } + } + $296 = HEAP32[$15>>2]|0; + $297 = HEAP32[$12>>2]|0; + $298 = HEAP32[$11>>2]|0; + $299 = HEAP32[$10>>2]|0; + $300 = HEAP32[$299>>2]|0; + HEAP32[$vararg_buffer22>>2] = $300; + $301 = (_sqlite3MPrintf($298,36772,$vararg_buffer22)|0); + _sqlite3VdbeAddParseSchemaOp($296,$297,$301); + } + $302 = HEAP32[$11>>2]|0; + $303 = ((($302)) + 148|0); + $304 = ((($303)) + 5|0); + $305 = HEAP8[$304>>0]|0; + $306 = ($305<<24>>24)!=(0); + if (!($306)) { STACKTOP = sp;return; } - $280 = HEAP32[$p>>2]|0; - $281 = ((($280)) + 64|0); - $282 = HEAP32[$281>>2]|0; - HEAP32[$pSchema>>2] = $282; - $283 = HEAP32[$pSchema>>2]|0; - $284 = ((($283)) + 8|0); - $285 = HEAP32[$p>>2]|0; - $286 = HEAP32[$285>>2]|0; - $287 = HEAP32[$p>>2]|0; - $288 = (_sqlite3HashInsert($284,$286,$287)|0); - HEAP32[$pOld>>2] = $288; - $289 = HEAP32[$pOld>>2]|0; - $290 = ($289|0)!=(0|0); - if ($290) { - $291 = HEAP32[$db>>2]|0; - _sqlite3OomFault($291); + $307 = HEAP32[$10>>2]|0; + $308 = ((($307)) + 64|0); + $309 = HEAP32[$308>>2]|0; + HEAP32[$29>>2] = $309; + $310 = HEAP32[$29>>2]|0; + $311 = ((($310)) + 8|0); + $312 = HEAP32[$10>>2]|0; + $313 = HEAP32[$312>>2]|0; + $314 = HEAP32[$10>>2]|0; + $315 = (_sqlite3HashInsert($311,$313,$314)|0); + HEAP32[$28>>2] = $315; + $316 = HEAP32[$28>>2]|0; + $317 = ($316|0)!=(0|0); + if ($317) { + $318 = HEAP32[$11>>2]|0; + _sqlite3OomFault($318); STACKTOP = sp;return; } - $292 = HEAP32[$0>>2]|0; - $293 = ((($292)) + 440|0); - HEAP32[$293>>2] = 0; - $294 = HEAP32[$db>>2]|0; - $295 = ((($294)) + 24|0); - $296 = HEAP32[$295>>2]|0; - $297 = $296 | 2; - HEAP32[$295>>2] = $297; - $298 = HEAP32[$p>>2]|0; - $299 = ((($298)) + 12|0); - $300 = HEAP32[$299>>2]|0; - $301 = ($300|0)!=(0|0); - if ($301) { + $319 = HEAP32[$5>>2]|0; + $320 = ((($319)) + 440|0); + HEAP32[$320>>2] = 0; + $321 = HEAP32[$11>>2]|0; + $322 = ((($321)) + 24|0); + $323 = HEAP32[$322>>2]|0; + $324 = $323 | 2; + HEAP32[$322>>2] = $324; + $325 = HEAP32[$10>>2]|0; + $326 = ((($325)) + 12|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)!=(0|0); + if ($328) { STACKTOP = sp;return; } - $302 = HEAP32[$0>>2]|0; - $303 = ((($302)) + 384|0); - $304 = HEAP32[$303>>2]|0; - HEAP32[$zName>>2] = $304; - $305 = HEAP32[$1>>2]|0; - $306 = HEAP32[$305>>2]|0; - $307 = ($306|0)==(0|0); - if ($307) { - $308 = HEAP32[$2>>2]|0; - HEAP32[$1>>2] = $308; - } - $309 = HEAP32[$1>>2]|0; - $310 = HEAP32[$309>>2]|0; - $311 = HEAP32[$zName>>2]|0; - $312 = $310; - $313 = $311; - $314 = (($312) - ($313))|0; - HEAP32[$nName>>2] = $314; - $315 = HEAP32[$zName>>2]|0; - $316 = HEAP32[$nName>>2]|0; - $317 = (_sqlite3Utf8CharLen81($315,$316)|0); - $318 = (13 + ($317))|0; - $319 = HEAP32[$p>>2]|0; - $320 = ((($319)) + 44|0); - HEAP32[$320>>2] = $318; + $329 = HEAP32[$5>>2]|0; + $330 = ((($329)) + 384|0); + $331 = HEAP32[$330>>2]|0; + HEAP32[$30>>2] = $331; + $332 = HEAP32[$6>>2]|0; + $333 = HEAP32[$332>>2]|0; + $334 = ($333|0)==(0|0); + if ($334) { + $335 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $335; + } + $336 = HEAP32[$6>>2]|0; + $337 = HEAP32[$336>>2]|0; + $338 = HEAP32[$30>>2]|0; + $339 = $337; + $340 = $338; + $341 = (($339) - ($340))|0; + HEAP32[$31>>2] = $341; + $342 = HEAP32[$30>>2]|0; + $343 = HEAP32[$31>>2]|0; + $344 = (_sqlite3Utf8CharLen_101($342,$343)|0); + $345 = (13 + ($344))|0; + $346 = HEAP32[$10>>2]|0; + $347 = ((($346)) + 44|0); + HEAP32[$347>>2] = $345; STACKTOP = sp;return; } -function _sqlite3AddColumn($pParse,$pName,$pType) { - $pParse = $pParse|0; - $pName = $pName|0; - $pType = $pType|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $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, $97 = 0, $98 = 0, $99 = 0, $aNew = 0, $db = 0, $i = 0, $p = 0, $pCol = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $z = 0, $zType = 0, label = 0, sp = 0; +function _sqlite3AddColumn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $p = sp + 36|0; - $i = sp + 32|0; - $z = sp + 28|0; - $zType = sp + 24|0; - $pCol = sp + 20|0; - $db = sp + 16|0; - $aNew = sp + 12|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pName; - HEAP32[$2>>2] = $pType; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 440|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$p>>2] = $7; - $8 = ($7|0)==(0|0); - if ($8) { - STACKTOP = sp;return; - } - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 34|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11 << 16 >> 16; - $13 = (($12) + 1)|0; - $14 = HEAP32[$db>>2]|0; - $15 = ((($14)) + 96|0); - $16 = ((($15)) + 8|0); + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$11>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 440|0); $17 = HEAP32[$16>>2]|0; - $18 = ($13|0)>($17|0); + HEAP32[$6>>2] = $17; + $18 = ($17|0)==(0|0); if ($18) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$p>>2]|0; - $21 = HEAP32[$20>>2]|0; - HEAP32[$vararg_buffer>>2] = $21; - _sqlite3ErrorMsg($19,37049,$vararg_buffer); STACKTOP = sp;return; } - $22 = HEAP32[$db>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($25) + ($28))|0; - $30 = (($29) + 2)|0; - $31 = (_sqlite3DbMallocRaw($22,$30,0)|0); - HEAP32[$z>>2] = $31; - $32 = HEAP32[$z>>2]|0; - $33 = ($32|0)==(0|0); - if ($33) { + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 34|0); + $21 = HEAP16[$20>>1]|0; + $22 = $21 << 16 >> 16; + $23 = (($22) + 1)|0; + $24 = HEAP32[$11>>2]|0; + $25 = ((($24)) + 96|0); + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($23|0)>($27|0); + if ($28) { + $29 = HEAP32[$3>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = HEAP32[$30>>2]|0; + HEAP32[$vararg_buffer>>2] = $31; + _sqlite3ErrorMsg($29,36486,$vararg_buffer); STACKTOP = sp;return; } - $34 = HEAP32[$z>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - _memcpy(($34|0),($36|0),($39|0))|0; - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 4|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$z>>2]|0; - $44 = (($43) + ($42)|0); - HEAP8[$44>>0] = 0; - $45 = HEAP32[$z>>2]|0; - _sqlite3Dequote($45); - HEAP32[$i>>2] = 0; + $32 = HEAP32[$11>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = (($35) + ($38))|0; + $40 = (($39) + 2)|0; + $41 = (_sqlite3DbMallocRaw($32,$40,0)|0); + HEAP32[$8>>2] = $41; + $42 = HEAP32[$8>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + STACKTOP = sp;return; + } + $44 = HEAP32[$8>>2]|0; + $45 = HEAP32[$4>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + _memcpy(($44|0),($46|0),($49|0))|0; + $50 = HEAP32[$8>>2]|0; + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 4|0); + $53 = HEAP32[$52>>2]|0; + $54 = (($50) + ($53)|0); + HEAP8[$54>>0] = 0; + $55 = HEAP32[$8>>2]|0; + _sqlite3Dequote($55); + HEAP32[$7>>2] = 0; while(1) { - $46 = HEAP32[$i>>2]|0; - $47 = HEAP32[$p>>2]|0; - $48 = ((($47)) + 34|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49 << 16 >> 16; - $51 = ($46|0)<($50|0); - if (!($51)) { + $56 = HEAP32[$7>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = ((($57)) + 34|0); + $59 = HEAP16[$58>>1]|0; + $60 = $59 << 16 >> 16; + $61 = ($56|0)<($60|0); + if (!($61)) { break; } - $52 = HEAP32[$z>>2]|0; - $53 = HEAP32[$i>>2]|0; - $54 = HEAP32[$p>>2]|0; - $55 = ((($54)) + 4|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($56) + ($53<<4)|0); - $58 = HEAP32[$57>>2]|0; - $59 = (_sqlite3_stricmp($52,$58)|0); - $60 = ($59|0)==(0); - if ($60) { + $62 = HEAP32[$8>>2]|0; + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$7>>2]|0; + $67 = (($65) + ($66<<4)|0); + $68 = HEAP32[$67>>2]|0; + $69 = (_sqlite3_stricmp($62,$68)|0); + $70 = ($69|0)==(0); + if ($70) { label = 8; break; } - $65 = HEAP32[$i>>2]|0; - $66 = (($65) + 1)|0; - HEAP32[$i>>2] = $66; + $75 = HEAP32[$7>>2]|0; + $76 = (($75) + 1)|0; + HEAP32[$7>>2] = $76; } if ((label|0) == 8) { - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$z>>2]|0; - HEAP32[$vararg_buffer1>>2] = $62; - _sqlite3ErrorMsg($61,37072,$vararg_buffer1); - $63 = HEAP32[$db>>2]|0; - $64 = HEAP32[$z>>2]|0; - _sqlite3DbFree($63,$64); + $71 = HEAP32[$3>>2]|0; + $72 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer1>>2] = $72; + _sqlite3ErrorMsg($71,36509,$vararg_buffer1); + $73 = HEAP32[$11>>2]|0; + $74 = HEAP32[$8>>2]|0; + _sqlite3DbFree($73,$74); STACKTOP = sp;return; } - $67 = HEAP32[$p>>2]|0; - $68 = ((($67)) + 34|0); - $69 = HEAP16[$68>>1]|0; - $70 = $69 << 16 >> 16; - $71 = $70 & 7; - $72 = ($71|0)==(0); + $77 = HEAP32[$6>>2]|0; + $78 = ((($77)) + 34|0); + $79 = HEAP16[$78>>1]|0; + $80 = $79 << 16 >> 16; + $81 = $80 & 7; + $82 = ($81|0)==(0); do { - if ($72) { - $73 = HEAP32[$db>>2]|0; - $74 = HEAP32[$p>>2]|0; - $75 = ((($74)) + 4|0); - $76 = HEAP32[$75>>2]|0; - $77 = HEAP32[$p>>2]|0; - $78 = ((($77)) + 34|0); - $79 = HEAP16[$78>>1]|0; - $80 = $79 << 16 >> 16; - $81 = (($80) + 8)|0; - $82 = $81<<4; - $83 = (_sqlite3DbRealloc($73,$76,$82,0)|0); - HEAP32[$aNew>>2] = $83; - $84 = HEAP32[$aNew>>2]|0; - $85 = ($84|0)==(0|0); - if (!($85)) { - $88 = HEAP32[$aNew>>2]|0; - $89 = HEAP32[$p>>2]|0; - $90 = ((($89)) + 4|0); - HEAP32[$90>>2] = $88; + if ($82) { + $83 = HEAP32[$11>>2]|0; + $84 = HEAP32[$6>>2]|0; + $85 = ((($84)) + 4|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$6>>2]|0; + $88 = ((($87)) + 34|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89 << 16 >> 16; + $91 = (($90) + 8)|0; + $92 = $91<<4; + $93 = (_sqlite3DbRealloc($83,$86,$92,0)|0); + HEAP32[$12>>2] = $93; + $94 = HEAP32[$12>>2]|0; + $95 = ($94|0)==(0|0); + if (!($95)) { + $98 = HEAP32[$12>>2]|0; + $99 = HEAP32[$6>>2]|0; + $100 = ((($99)) + 4|0); + HEAP32[$100>>2] = $98; break; } - $86 = HEAP32[$db>>2]|0; - $87 = HEAP32[$z>>2]|0; - _sqlite3DbFree($86,$87); + $96 = HEAP32[$11>>2]|0; + $97 = HEAP32[$8>>2]|0; + _sqlite3DbFree($96,$97); STACKTOP = sp;return; } } while(0); - $91 = HEAP32[$p>>2]|0; - $92 = ((($91)) + 34|0); - $93 = HEAP16[$92>>1]|0; - $94 = $93 << 16 >> 16; - $95 = HEAP32[$p>>2]|0; - $96 = ((($95)) + 4|0); - $97 = HEAP32[$96>>2]|0; - $98 = (($97) + ($94<<4)|0); - HEAP32[$pCol>>2] = $98; - $99 = HEAP32[$pCol>>2]|0; - ;HEAP32[$99>>2]=0|0;HEAP32[$99+4>>2]=0|0;HEAP32[$99+8>>2]=0|0;HEAP32[$99+12>>2]=0|0; - $100 = HEAP32[$z>>2]|0; - $101 = HEAP32[$pCol>>2]|0; - HEAP32[$101>>2] = $100; - $102 = HEAP32[$2>>2]|0; - $103 = ((($102)) + 4|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==(0); - if ($105) { - $106 = HEAP32[$pCol>>2]|0; - $107 = ((($106)) + 13|0); - HEAP8[$107>>0] = 65; - $108 = HEAP32[$pCol>>2]|0; - $109 = ((($108)) + 14|0); - HEAP8[$109>>0] = 1; + $101 = HEAP32[$6>>2]|0; + $102 = ((($101)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$6>>2]|0; + $105 = ((($104)) + 34|0); + $106 = HEAP16[$105>>1]|0; + $107 = $106 << 16 >> 16; + $108 = (($103) + ($107<<4)|0); + HEAP32[$10>>2] = $108; + $109 = HEAP32[$10>>2]|0; + ;HEAP32[$109>>2]=0|0;HEAP32[$109+4>>2]=0|0;HEAP32[$109+8>>2]=0|0;HEAP32[$109+12>>2]=0|0; + $110 = HEAP32[$8>>2]|0; + $111 = HEAP32[$10>>2]|0; + HEAP32[$111>>2] = $110; + $112 = HEAP32[$5>>2]|0; + $113 = ((($112)) + 4|0); + $114 = HEAP32[$113>>2]|0; + $115 = ($114|0)==(0); + if ($115) { + $116 = HEAP32[$10>>2]|0; + $117 = ((($116)) + 13|0); + HEAP8[$117>>0] = 65; + $118 = HEAP32[$10>>2]|0; + $119 = ((($118)) + 14|0); + HEAP8[$119>>0] = 1; } else { - $110 = HEAP32[$z>>2]|0; - $111 = HEAP32[$z>>2]|0; - $112 = (_sqlite3Strlen30($111)|0); - $113 = (($110) + ($112)|0); - $114 = ((($113)) + 1|0); - HEAP32[$zType>>2] = $114; - $115 = HEAP32[$zType>>2]|0; - $116 = HEAP32[$2>>2]|0; - $117 = HEAP32[$116>>2]|0; - $118 = HEAP32[$2>>2]|0; - $119 = ((($118)) + 4|0); - $120 = HEAP32[$119>>2]|0; - _memcpy(($115|0),($117|0),($120|0))|0; - $121 = HEAP32[$2>>2]|0; - $122 = ((($121)) + 4|0); - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$zType>>2]|0; - $125 = (($124) + ($123)|0); - HEAP8[$125>>0] = 0; - $126 = HEAP32[$zType>>2]|0; - _sqlite3Dequote($126); - $127 = HEAP32[$zType>>2]|0; - $128 = HEAP32[$pCol>>2]|0; - $129 = ((($128)) + 14|0); - $130 = (_sqlite3AffinityType($127,$129)|0); - $131 = HEAP32[$pCol>>2]|0; - $132 = ((($131)) + 13|0); - HEAP8[$132>>0] = $130; - $133 = HEAP32[$pCol>>2]|0; - $134 = ((($133)) + 15|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $137 = $136 | 4; - $138 = $137&255; - HEAP8[$134>>0] = $138; - } - $139 = HEAP32[$p>>2]|0; - $140 = ((($139)) + 34|0); - $141 = HEAP16[$140>>1]|0; - $142 = (($141) + 1)<<16>>16; - HEAP16[$140>>1] = $142; - $143 = HEAP32[$0>>2]|0; - $144 = ((($143)) + 84|0); - $145 = ((($144)) + 4|0); - HEAP32[$145>>2] = 0; + $120 = HEAP32[$8>>2]|0; + $121 = HEAP32[$8>>2]|0; + $122 = (_sqlite3Strlen30($121)|0); + $123 = (($120) + ($122)|0); + $124 = ((($123)) + 1|0); + HEAP32[$9>>2] = $124; + $125 = HEAP32[$9>>2]|0; + $126 = HEAP32[$5>>2]|0; + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$5>>2]|0; + $129 = ((($128)) + 4|0); + $130 = HEAP32[$129>>2]|0; + _memcpy(($125|0),($127|0),($130|0))|0; + $131 = HEAP32[$9>>2]|0; + $132 = HEAP32[$5>>2]|0; + $133 = ((($132)) + 4|0); + $134 = HEAP32[$133>>2]|0; + $135 = (($131) + ($134)|0); + HEAP8[$135>>0] = 0; + $136 = HEAP32[$9>>2]|0; + _sqlite3Dequote($136); + $137 = HEAP32[$9>>2]|0; + $138 = HEAP32[$10>>2]|0; + $139 = ((($138)) + 14|0); + $140 = (_sqlite3AffinityType($137,$139)|0); + $141 = HEAP32[$10>>2]|0; + $142 = ((($141)) + 13|0); + HEAP8[$142>>0] = $140; + $143 = HEAP32[$10>>2]|0; + $144 = ((($143)) + 15|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = $146 | 4; + $148 = $147&255; + HEAP8[$144>>0] = $148; + } + $149 = HEAP32[$6>>2]|0; + $150 = ((($149)) + 34|0); + $151 = HEAP16[$150>>1]|0; + $152 = (($151) + 1)<<16>>16; + HEAP16[$150>>1] = $152; + $153 = HEAP32[$3>>2]|0; + $154 = ((($153)) + 84|0); + $155 = ((($154)) + 4|0); + HEAP32[$155>>2] = 0; STACKTOP = sp;return; } -function _sqlite3AddDefaultValue($pParse,$pSpan) { - $pParse = $pParse|0; - $pSpan = $pSpan|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0, $pCol = 0, $vararg_buffer = 0, $x = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _sqlite3AddDefaultValue($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $vararg_buffer = sp; - $0 = sp + 72|0; - $1 = sp + 68|0; - $p = sp + 64|0; - $pCol = sp + 60|0; - $db = sp + 56|0; - $x = sp + 8|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pSpan; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 440|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - $61 = HEAP32[$db>>2]|0; - $62 = HEAP32[$1>>2]|0; - $63 = HEAP32[$62>>2]|0; - _sqlite3ExprDelete($61,$63); + $2 = sp + 72|0; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 440|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + $67 = HEAP32[$6>>2]|0; + $68 = HEAP32[$3>>2]|0; + $69 = HEAP32[$68>>2]|0; + _sqlite3ExprDelete($67,$69); STACKTOP = sp;return; } - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 34|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11 << 16 >> 16; - $13 = (($12) - 1)|0; - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($13<<4)|0); - HEAP32[$pCol>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$db>>2]|0; - $21 = ((($20)) + 148|0); - $22 = ((($21)) + 5|0); - $23 = HEAP8[$22>>0]|0; - $24 = (_sqlite3ExprIsConstantOrFunction($19,$23)|0); - $25 = ($24|0)!=(0); - if ($25) { - $29 = HEAP32[$db>>2]|0; - $30 = HEAP32[$pCol>>2]|0; - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - _sqlite3ExprDelete($29,$32); - dest=$x; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - HEAP8[$x>>0] = -95; - $33 = HEAP32[$db>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 8|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$1>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 34|0); + $20 = HEAP16[$19>>1]|0; + $21 = $20 << 16 >> 16; + $22 = (($21) - 1)|0; + $23 = (($17) + ($22<<4)|0); + HEAP32[$5>>2] = $23; + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 148|0); + $28 = ((($27)) + 5|0); + $29 = HEAP8[$28>>0]|0; + $30 = (_sqlite3ExprIsConstantOrFunction($25,$29)|0); + $31 = ($30|0)!=(0); + if ($31) { + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + _sqlite3ExprDelete($35,$38); + dest=$7; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP8[$7>>0] = -95; + $39 = HEAP32[$6>>2]|0; + $40 = HEAP32[$3>>2]|0; $41 = ((($40)) + 4|0); $42 = HEAP32[$41>>2]|0; - $43 = $39; - $44 = $42; - $45 = (($43) - ($44))|0; - $46 = ($45|0)<(0); - $47 = $46 << 31 >> 31; - $48 = (_sqlite3DbStrNDup($33,$36,$45,$47)|0); - $49 = ((($x)) + 8|0); - HEAP32[$49>>2] = $48; - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$50>>2]|0; - $52 = ((($x)) + 12|0); - HEAP32[$52>>2] = $51; - $53 = ((($x)) + 4|0); - HEAP32[$53>>2] = 4096; - $54 = HEAP32[$db>>2]|0; - $55 = (_sqlite3ExprDup($54,$x,1)|0); - $56 = HEAP32[$pCol>>2]|0; - $57 = ((($56)) + 4|0); - HEAP32[$57>>2] = $55; - $58 = HEAP32[$db>>2]|0; - $59 = ((($x)) + 8|0); - $60 = HEAP32[$59>>2]|0; - _sqlite3DbFree($58,$60); - $61 = HEAP32[$db>>2]|0; - $62 = HEAP32[$1>>2]|0; - $63 = HEAP32[$62>>2]|0; - _sqlite3ExprDelete($61,$63); + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 8|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = $45; + $50 = $48; + $51 = (($49) - ($50))|0; + $52 = ($51|0)<(0); + $53 = $52 << 31 >> 31; + $54 = (_sqlite3DbStrNDup($39,$42,$51,$53)|0); + $55 = ((($7)) + 8|0); + HEAP32[$55>>2] = $54; + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = ((($7)) + 12|0); + HEAP32[$58>>2] = $57; + $59 = ((($7)) + 4|0); + HEAP32[$59>>2] = 4096; + $60 = HEAP32[$6>>2]|0; + $61 = (_sqlite3ExprDup($60,$7,1)|0); + $62 = HEAP32[$5>>2]|0; + $63 = ((($62)) + 4|0); + HEAP32[$63>>2] = $61; + $64 = HEAP32[$6>>2]|0; + $65 = ((($7)) + 8|0); + $66 = HEAP32[$65>>2]|0; + _sqlite3DbFree($64,$66); + $67 = HEAP32[$6>>2]|0; + $68 = HEAP32[$3>>2]|0; + $69 = HEAP32[$68>>2]|0; + _sqlite3ExprDelete($67,$69); STACKTOP = sp;return; } else { - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$pCol>>2]|0; - $28 = HEAP32[$27>>2]|0; - HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorMsg($26,37004,$vararg_buffer); - $61 = HEAP32[$db>>2]|0; - $62 = HEAP32[$1>>2]|0; - $63 = HEAP32[$62>>2]|0; - _sqlite3ExprDelete($61,$63); + $32 = HEAP32[$2>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$33>>2]|0; + HEAP32[$vararg_buffer>>2] = $34; + _sqlite3ErrorMsg($32,36441,$vararg_buffer); + $67 = HEAP32[$6>>2]|0; + $68 = HEAP32[$3>>2]|0; + $69 = HEAP32[$68>>2]|0; + _sqlite3ExprDelete($67,$69); STACKTOP = sp;return; } } -function _sqlite3PExpr($pParse,$op,$pLeft,$pRight,$pToken) { - $pParse = $pParse|0; - $op = $op|0; - $pLeft = $pLeft|0; - $pRight = $pRight|0; - $pToken = $pToken|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3PExpr($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $pLeft; - HEAP32[$3>>2] = $pRight; - HEAP32[$4>>2] = $pToken; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)==(28); - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 36|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$3>>2]|0; - $15 = (_sqlite3ExprAnd($12,$13,$14)|0); - HEAP32[$p>>2] = $15; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $11 = HEAP32[$6>>2]|0; + $12 = ($11|0)==(28); + if ($12) { + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 36|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = HEAP32[$8>>2]|0; + $21 = (_sqlite3ExprAnd($18,$19,$20)|0); + HEAP32[$10>>2] = $21; } else { label = 4; } @@ -113975,522 +89590,523 @@ function _sqlite3PExpr($pParse,$op,$pLeft,$pRight,$pToken) { label = 4; } if ((label|0) == 4) { - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = $18 & 255; - $20 = HEAP32[$4>>2]|0; - $21 = (_sqlite3ExprAlloc($17,$19,$20,1)|0); - HEAP32[$p>>2] = $21; - $22 = HEAP32[$0>>2]|0; + $22 = HEAP32[$5>>2]|0; $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$p>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$3>>2]|0; - _sqlite3ExprAttachSubtrees($23,$24,$25,$26); + $24 = HEAP32[$6>>2]|0; + $25 = $24 & 255; + $26 = HEAP32[$9>>2]|0; + $27 = (_sqlite3ExprAlloc($23,$25,$26,1)|0); + HEAP32[$10>>2] = $27; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$10>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$8>>2]|0; + _sqlite3ExprAttachSubtrees($29,$30,$31,$32); } - $27 = HEAP32[$p>>2]|0; - $28 = ($27|0)!=(0|0); - if (!($28)) { - $33 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($33|0); + $33 = HEAP32[$10>>2]|0; + $34 = ($33|0)!=(0|0); + if (!($34)) { + $39 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($39|0); } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 24|0); - $32 = HEAP32[$31>>2]|0; - (_sqlite3ExprCheckHeight($29,$32)|0); - $33 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($33|0); + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$10>>2]|0; + $37 = ((($36)) + 24|0); + $38 = HEAP32[$37>>2]|0; + (_sqlite3ExprCheckHeight($35,$38)|0); + $39 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($39|0); } -function _spanExpr($pOut,$pParse,$op,$t) { - $pOut = $pOut|0; - $pParse = $pParse|0; - $op = $op|0; - $t = $t|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $p = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _spanExpr($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, $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, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pOut; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $op; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($t)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = (48 + ($6))|0; - $8 = (($7) + 1)|0; - $9 = (_sqlite3DbMallocRawNN($4,$8,0)|0); - HEAP32[$p>>2] = $9; - $10 = HEAP32[$p>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - $61 = HEAP32[$p>>2]|0; - $62 = HEAP32[$0>>2]|0; - HEAP32[$62>>2] = $61; - $63 = HEAP32[$t>>2]|0; - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 4|0); - HEAP32[$65>>2] = $63; - $66 = ((($t)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$t>>2]|0; - $69 = (($68) + ($67)|0); - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 8|0); - HEAP32[$71>>2] = $69; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ((($3)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = (48 + ($11))|0; + $13 = (($12) + 1)|0; + $14 = (_sqlite3DbMallocRawNN($9,$13,0)|0); + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { + $66 = HEAP32[$7>>2]|0; + $67 = HEAP32[$4>>2]|0; + HEAP32[$67>>2] = $66; + $68 = HEAP32[$3>>2]|0; + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 4|0); + HEAP32[$70>>2] = $68; + $71 = HEAP32[$3>>2]|0; + $72 = ((($3)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + ($73)|0); + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 8|0); + HEAP32[$76>>2] = $74; STACKTOP = sp;return; } - $12 = HEAP32[$p>>2]|0; - dest=$12; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $13 = HEAP32[$2>>2]|0; - $14 = $13&255; - $15 = HEAP32[$p>>2]|0; - HEAP8[$15>>0] = $14; - $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 4|0); - HEAP32[$17>>2] = 8388608; - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 34|0); - HEAP16[$19>>1] = -1; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 48|0); - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 8|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$t>>2]|0; - $28 = ((($t)) + 4|0); - $29 = HEAP32[$28>>2]|0; - _memcpy(($26|0),($27|0),($29|0))|0; - $30 = ((($t)) + 4|0); + $17 = HEAP32[$7>>2]|0; + dest=$17; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $18 = HEAP32[$6>>2]|0; + $19 = $18&255; + $20 = HEAP32[$7>>2]|0; + HEAP8[$20>>0] = $19; + $21 = HEAP32[$7>>2]|0; + $22 = ((($21)) + 4|0); + HEAP32[$22>>2] = 8388608; + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 34|0); + HEAP16[$24>>1] = -1; + $25 = HEAP32[$7>>2]|0; + $26 = ((($25)) + 48|0); + $27 = HEAP32[$7>>2]|0; + $28 = ((($27)) + 8|0); + HEAP32[$28>>2] = $26; + $29 = HEAP32[$7>>2]|0; + $30 = ((($29)) + 8|0); $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 8|0); + $32 = HEAP32[$3>>2]|0; + $33 = ((($3)) + 4|0); $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($31)|0); - HEAP8[$35>>0] = 0; - $36 = HEAP32[$p>>2]|0; - $37 = ((($36)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = (18403 + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = $43 & 128; - $45 = ($44|0)!=(0); - if ($45) { - $46 = HEAP32[$p>>2]|0; - $47 = ((($46)) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP8[$48>>0]|0; - $50 = $49 << 24 >> 24; - $51 = ($50|0)==(34); - if ($51) { - $52 = HEAP32[$p>>2]|0; - $53 = ((($52)) + 4|0); - $54 = HEAP32[$53>>2]|0; - $55 = $54 | 64; - HEAP32[$53>>2] = $55; + _memcpy(($31|0),($32|0),($34|0))|0; + $35 = HEAP32[$7>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ((($3)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + ($39)|0); + HEAP8[$40>>0] = 0; + $41 = HEAP32[$7>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = (20063 + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = $48 & 128; + $50 = ($49|0)!=(0); + if ($50) { + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP8[$53>>0]|0; + $55 = $54 << 24 >> 24; + $56 = ($55|0)==(34); + if ($56) { + $57 = HEAP32[$7>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = $59 | 64; + HEAP32[$58>>2] = $60; } - $56 = HEAP32[$p>>2]|0; - $57 = ((($56)) + 8|0); - $58 = HEAP32[$57>>2]|0; - _sqlite3Dequote($58); + $61 = HEAP32[$7>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP32[$62>>2]|0; + _sqlite3Dequote($63); } - $59 = HEAP32[$p>>2]|0; - $60 = ((($59)) + 24|0); - HEAP32[$60>>2] = 1; - $61 = HEAP32[$p>>2]|0; - $62 = HEAP32[$0>>2]|0; - HEAP32[$62>>2] = $61; - $63 = HEAP32[$t>>2]|0; - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 4|0); - HEAP32[$65>>2] = $63; - $66 = ((($t)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$t>>2]|0; - $69 = (($68) + ($67)|0); - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 8|0); - HEAP32[$71>>2] = $69; + $64 = HEAP32[$7>>2]|0; + $65 = ((($64)) + 24|0); + HEAP32[$65>>2] = 1; + $66 = HEAP32[$7>>2]|0; + $67 = HEAP32[$4>>2]|0; + HEAP32[$67>>2] = $66; + $68 = HEAP32[$3>>2]|0; + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 4|0); + HEAP32[$70>>2] = $68; + $71 = HEAP32[$3>>2]|0; + $72 = ((($3)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + ($73)|0); + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 8|0); + HEAP32[$76>>2] = $74; STACKTOP = sp;return; } -function _sqlite3AddNotNull($pParse,$onError) { - $pParse = $pParse|0; - $onError = $onError|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3AddNotNull($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $onError; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 440|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 440|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { STACKTOP = sp;return; } - $7 = HEAP32[$p>>2]|0; - $8 = ((($7)) + 34|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9 << 16 >> 16; - $11 = ($10|0)<(1); - if ($11) { + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 34|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12 << 16 >> 16; + $14 = ($13|0)<(1); + if ($14) { STACKTOP = sp;return; } - $12 = HEAP32[$1>>2]|0; - $13 = $12&255; - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 34|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16 << 16 >> 16; - $18 = (($17) - 1)|0; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($18<<4)|0); - $23 = ((($22)) + 12|0); - HEAP8[$23>>0] = $13; + $15 = HEAP32[$3>>2]|0; + $16 = $15&255; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 34|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22 << 16 >> 16; + $24 = (($23) - 1)|0; + $25 = (($19) + ($24<<4)|0); + $26 = ((($25)) + 12|0); + HEAP8[$26>>0] = $16; STACKTOP = sp;return; } -function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { - $pParse = $pParse|0; - $pList = $pList|0; - $onError = $onError|0; - $autoInc = $autoInc|0; - $sortOrder = $sortOrder|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $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; - 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, $i = 0, $iCol = 0, $nTerm = 0, $or$cond = 0; - var $or$cond3 = 0, $pCExpr = 0, $pCol = 0, $pTab = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $zCName = 0, label = 0, sp = 0; +function _sqlite3AddPrimaryKey($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer4 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $pTab = sp + 36|0; - $pCol = sp + 32|0; - $iCol = sp + 28|0; - $i = sp + 24|0; - $nTerm = sp + 20|0; - $pCExpr = sp + 16|0; - $zCName = sp + 12|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pList; - HEAP32[$2>>2] = $onError; - HEAP32[$3>>2] = $autoInc; - HEAP32[$4>>2] = $sortOrder; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 440|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pTab>>2] = $7; - HEAP32[$pCol>>2] = 0; - HEAP32[$iCol>>2] = -1; - $8 = HEAP32[$pTab>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $133 = HEAP32[$0>>2]|0; - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($134,$135); + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 440|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$10>>2] = $19; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = -1; + $20 = HEAP32[$10>>2]|0; + $21 = ($20|0)==(0|0); + if ($21) { + $146 = HEAP32[$5>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$6>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } - $10 = HEAP32[$pTab>>2]|0; - $11 = ((($10)) + 42|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = $13 & 4; - $15 = ($14|0)!=(0); - if ($15) { - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$pTab>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$vararg_buffer>>2] = $18; - _sqlite3ErrorMsg($16,36907,$vararg_buffer); - $133 = HEAP32[$0>>2]|0; - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($134,$135); + $22 = HEAP32[$10>>2]|0; + $23 = ((($22)) + 42|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 & 4; + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$10>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$vararg_buffer>>2] = $30; + _sqlite3ErrorMsg($28,36344,$vararg_buffer); + $146 = HEAP32[$5>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$6>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } - $19 = HEAP32[$pTab>>2]|0; - $20 = ((($19)) + 42|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = $22 | 4; - $24 = $23&255; - HEAP8[$20>>0] = $24; - $25 = HEAP32[$1>>2]|0; - $26 = ($25|0)==(0|0); + $31 = HEAP32[$10>>2]|0; + $32 = ((($31)) + 42|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | 4; + $36 = $35&255; + HEAP8[$32>>0] = $36; + $37 = HEAP32[$6>>2]|0; + $38 = ($37|0)==(0|0); L8: do { - if ($26) { - $27 = HEAP32[$pTab>>2]|0; - $28 = ((($27)) + 34|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29 << 16 >> 16; - $31 = (($30) - 1)|0; - HEAP32[$iCol>>2] = $31; - $32 = HEAP32[$iCol>>2]|0; - $33 = HEAP32[$pTab>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + ($32<<4)|0); - HEAP32[$pCol>>2] = $36; - $37 = HEAP32[$pCol>>2]|0; - $38 = ((($37)) + 15|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $40 | 1; - $42 = $41&255; - HEAP8[$38>>0] = $42; - HEAP32[$nTerm>>2] = 1; + if ($38) { + $39 = HEAP32[$10>>2]|0; + $40 = ((($39)) + 34|0); + $41 = HEAP16[$40>>1]|0; + $42 = $41 << 16 >> 16; + $43 = (($42) - 1)|0; + HEAP32[$12>>2] = $43; + $44 = HEAP32[$10>>2]|0; + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$12>>2]|0; + $48 = (($46) + ($47<<4)|0); + HEAP32[$11>>2] = $48; + $49 = HEAP32[$11>>2]|0; + $50 = ((($49)) + 15|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = $52 | 1; + $54 = $53&255; + HEAP8[$50>>0] = $54; + HEAP32[$14>>2] = 1; } else { - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$43>>2]|0; - HEAP32[$nTerm>>2] = $44; - HEAP32[$i>>2] = 0; + $55 = HEAP32[$6>>2]|0; + $56 = HEAP32[$55>>2]|0; + HEAP32[$14>>2] = $56; + HEAP32[$13>>2] = 0; while(1) { - $45 = HEAP32[$i>>2]|0; - $46 = HEAP32[$nTerm>>2]|0; - $47 = ($45|0)<($46|0); - if (!($47)) { + $57 = HEAP32[$13>>2]|0; + $58 = HEAP32[$14>>2]|0; + $59 = ($57|0)<($58|0); + if (!($59)) { break L8; } - $48 = HEAP32[$i>>2]|0; - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + (($48*20)|0)|0); - $53 = HEAP32[$52>>2]|0; - $54 = (_sqlite3ExprSkipCollate($53)|0); - HEAP32[$pCExpr>>2] = $54; - $55 = HEAP32[$pCExpr>>2]|0; - _sqlite3StringToId($55); - $56 = HEAP32[$pCExpr>>2]|0; - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = ($58|0)==(55); + $60 = HEAP32[$6>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$13>>2]|0; + $64 = (($62) + (($63*20)|0)|0); + $65 = HEAP32[$64>>2]|0; + $66 = (_sqlite3ExprSkipCollate($65)|0); + HEAP32[$15>>2] = $66; + $67 = HEAP32[$15>>2]|0; + _sqlite3StringToId($67); + $68 = HEAP32[$15>>2]|0; + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ($70|0)==(55); L14: do { - if ($59) { - $60 = HEAP32[$pCExpr>>2]|0; - $61 = ((($60)) + 8|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$zCName>>2] = $62; - HEAP32[$iCol>>2] = 0; + if ($71) { + $72 = HEAP32[$15>>2]|0; + $73 = ((($72)) + 8|0); + $74 = HEAP32[$73>>2]|0; + HEAP32[$16>>2] = $74; + HEAP32[$12>>2] = 0; while(1) { - $63 = HEAP32[$iCol>>2]|0; - $64 = HEAP32[$pTab>>2]|0; - $65 = ((($64)) + 34|0); - $66 = HEAP16[$65>>1]|0; - $67 = $66 << 16 >> 16; - $68 = ($63|0)<($67|0); - if (!($68)) { + $75 = HEAP32[$12>>2]|0; + $76 = HEAP32[$10>>2]|0; + $77 = ((($76)) + 34|0); + $78 = HEAP16[$77>>1]|0; + $79 = $78 << 16 >> 16; + $80 = ($75|0)<($79|0); + if (!($80)) { break L14; } - $69 = HEAP32[$zCName>>2]|0; - $70 = HEAP32[$iCol>>2]|0; - $71 = HEAP32[$pTab>>2]|0; - $72 = ((($71)) + 4|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73) + ($70<<4)|0); - $75 = HEAP32[$74>>2]|0; - $76 = (_sqlite3StrICmp($69,$75)|0); - $77 = ($76|0)==(0); - $78 = HEAP32[$iCol>>2]|0; - if ($77) { + $81 = HEAP32[$16>>2]|0; + $82 = HEAP32[$10>>2]|0; + $83 = ((($82)) + 4|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$12>>2]|0; + $86 = (($84) + ($85<<4)|0); + $87 = HEAP32[$86>>2]|0; + $88 = (_sqlite3StrICmp($81,$87)|0); + $89 = ($88|0)==(0); + if ($89) { break; } - $89 = (($78) + 1)|0; - HEAP32[$iCol>>2] = $89; + $101 = HEAP32[$12>>2]|0; + $102 = (($101) + 1)|0; + HEAP32[$12>>2] = $102; } - $79 = HEAP32[$pTab>>2]|0; - $80 = ((($79)) + 4|0); - $81 = HEAP32[$80>>2]|0; - $82 = (($81) + ($78<<4)|0); - HEAP32[$pCol>>2] = $82; - $83 = HEAP32[$pCol>>2]|0; - $84 = ((($83)) + 15|0); - $85 = HEAP8[$84>>0]|0; - $86 = $85&255; - $87 = $86 | 1; - $88 = $87&255; - HEAP8[$84>>0] = $88; + $90 = HEAP32[$10>>2]|0; + $91 = ((($90)) + 4|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$12>>2]|0; + $94 = (($92) + ($93<<4)|0); + HEAP32[$11>>2] = $94; + $95 = HEAP32[$11>>2]|0; + $96 = ((($95)) + 15|0); + $97 = HEAP8[$96>>0]|0; + $98 = $97&255; + $99 = $98 | 1; + $100 = $99&255; + HEAP8[$96>>0] = $100; } } while(0); - $90 = HEAP32[$i>>2]|0; - $91 = (($90) + 1)|0; - HEAP32[$i>>2] = $91; + $103 = HEAP32[$13>>2]|0; + $104 = (($103) + 1)|0; + HEAP32[$13>>2] = $104; } } } while(0); - $92 = HEAP32[$nTerm>>2]|0; - $93 = ($92|0)==(1); - $94 = HEAP32[$pCol>>2]|0; - $95 = ($94|0)!=(0|0); - $or$cond = $93 & $95; + $105 = HEAP32[$14>>2]|0; + $106 = ($105|0)==(1); + $107 = HEAP32[$11>>2]|0; + $108 = ($107|0)!=(0|0); + $or$cond = $106 & $108; if ($or$cond) { - $96 = HEAP32[$pCol>>2]|0; - $97 = (_sqlite3ColumnType($96,18402)|0); - $98 = (_sqlite3StrICmp($97,18759)|0); - $99 = ($98|0)==(0); - $100 = HEAP32[$4>>2]|0; - $101 = ($100|0)!=(1); - $or$cond3 = $99 & $101; + $109 = HEAP32[$11>>2]|0; + $110 = (_sqlite3ColumnType($109,55752)|0); + $111 = (_sqlite3StrICmp($110,28455)|0); + $112 = ($111|0)==(0); + $113 = HEAP32[$9>>2]|0; + $114 = ($113|0)!=(1); + $or$cond3 = $112 & $114; if ($or$cond3) { - $102 = HEAP32[$iCol>>2]|0; - $103 = $102&65535; - $104 = HEAP32[$pTab>>2]|0; - $105 = ((($104)) + 32|0); - HEAP16[$105>>1] = $103; - $106 = HEAP32[$2>>2]|0; - $107 = $106&255; - $108 = HEAP32[$pTab>>2]|0; - $109 = ((($108)) + 43|0); - HEAP8[$109>>0] = $107; - $110 = HEAP32[$3>>2]|0; - $111 = $110<<3; - $112 = HEAP32[$pTab>>2]|0; - $113 = ((($112)) + 42|0); - $114 = HEAP8[$113>>0]|0; - $115 = $114&255; - $116 = $115 | $111; - $117 = $116&255; - HEAP8[$113>>0] = $117; - $118 = HEAP32[$1>>2]|0; - $119 = ($118|0)!=(0|0); - if (!($119)) { - $133 = HEAP32[$0>>2]|0; - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($134,$135); + $115 = HEAP32[$12>>2]|0; + $116 = $115&65535; + $117 = HEAP32[$10>>2]|0; + $118 = ((($117)) + 32|0); + HEAP16[$118>>1] = $116; + $119 = HEAP32[$7>>2]|0; + $120 = $119&255; + $121 = HEAP32[$10>>2]|0; + $122 = ((($121)) + 43|0); + HEAP8[$122>>0] = $120; + $123 = HEAP32[$8>>2]|0; + $124 = $123<<3; + $125 = HEAP32[$10>>2]|0; + $126 = ((($125)) + 42|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $129 = $128 | $124; + $130 = $129&255; + HEAP8[$126>>0] = $130; + $131 = HEAP32[$6>>2]|0; + $132 = ($131|0)!=(0|0); + if (!($132)) { + $146 = HEAP32[$5>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$6>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } - $120 = HEAP32[$1>>2]|0; - $121 = ((($120)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($122)) + 12|0); - $124 = HEAP8[$123>>0]|0; - $125 = HEAP32[$0>>2]|0; - $126 = ((($125)) + 408|0); - HEAP8[$126>>0] = $124; - $133 = HEAP32[$0>>2]|0; - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($134,$135); + $133 = HEAP32[$6>>2]|0; + $134 = ((($133)) + 4|0); + $135 = HEAP32[$134>>2]|0; + $136 = ((($135)) + 12|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$5>>2]|0; + $139 = ((($138)) + 408|0); + HEAP8[$139>>0] = $137; + $146 = HEAP32[$5>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$6>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } } - $127 = HEAP32[$3>>2]|0; - $128 = ($127|0)!=(0); - $129 = HEAP32[$0>>2]|0; - if ($128) { - _sqlite3ErrorMsg($129,36948,$vararg_buffer4); - $133 = HEAP32[$0>>2]|0; - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($134,$135); + $140 = HEAP32[$8>>2]|0; + $141 = ($140|0)!=(0); + $142 = HEAP32[$5>>2]|0; + if ($141) { + _sqlite3ErrorMsg($142,36385,$vararg_buffer4); + $146 = HEAP32[$5>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$6>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } else { - $130 = HEAP32[$1>>2]|0; - $131 = HEAP32[$2>>2]|0; - $132 = HEAP32[$4>>2]|0; - _sqlite3CreateIndex($129,0,0,0,$130,$131,0,0,$132,0,2); - HEAP32[$1>>2] = 0; - $133 = HEAP32[$0>>2]|0; - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($134,$135); + $143 = HEAP32[$6>>2]|0; + $144 = HEAP32[$7>>2]|0; + $145 = HEAP32[$9>>2]|0; + _sqlite3CreateIndex($142,0,0,0,$143,$144,0,0,$145,0,2); + HEAP32[$6>>2] = 0; + $146 = HEAP32[$5>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$6>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } } -function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$pStart,$pPIWhere,$sortOrder,$ifNotExist,$idxType) { - $pParse = $pParse|0; - $pName1 = $pName1|0; - $pName2 = $pName2|0; - $pTblName = $pTblName|0; - $pList = $pList|0; - $onError = $onError|0; - $pStart = $pStart|0; - $pPIWhere = $pPIWhere|0; - $sortOrder = $sortOrder|0; - $ifNotExist = $ifNotExist|0; - $idxType = $idxType|0; - var $$ = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; - var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; - var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; - var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0; - var $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0; - var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; - var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0; - var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0; - var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0; - var $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0; - var $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0; - var $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0; - var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0; - var $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0; - var $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0; - var $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0; - var $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0; - var $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0; - var $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0; - var $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0; - var $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0; - var $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0; - var $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0; - var $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0; - var $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0; - var $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0; - var $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0; - var $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0; - var $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0; - var $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0; - var $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $db = 0, $i = 0, $iDb = 0, $iMem = 0, $j = 0, $k = 0, $n = 0, $n1 = 0, $nColl = 0, $nExtra = 0, $nExtraCol = 0, $nName = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $p = 0, $pCExpr = 0, $pCopy = 0, $pDb = 0; - var $pExpr = 0, $pIdx = 0, $pIndex = 0, $pListItem = 0, $pLoop = 0, $pName = 0, $pOther = 0, $pPk = 0, $pTab = 0, $prevCol = 0, $requestedSortOrder = 0, $sFix = 0, $sortOrderMask = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0; - var $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer33 = 0, $vararg_buffer41 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, $vararg_ptr22 = 0, $vararg_ptr31 = 0, $vararg_ptr32 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $x = 0, $z1 = 0, $z2 = 0, $zColl = 0, $zDb = 0, $zExtra = 0; - var $zName = 0, $zStmt = 0, label = 0, sp = 0; +function _sqlite3CreateIndex($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + $10 = $10|0; + var $$ = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; + var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; + var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; + var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; + var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0; + var $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0; + var $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0; + var $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0; + var $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0; + var $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0; + var $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0; + var $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0; + var $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, $644 = 0; + var $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0; + var $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, $680 = 0; + var $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, $699 = 0; + var $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, $716 = 0, $717 = 0; + var $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, $734 = 0, $735 = 0; + var $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0; + var $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, $770 = 0, $771 = 0; + var $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, $789 = 0, $79 = 0; + var $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0; + var $809 = 0, $81 = 0, $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, $824 = 0, $825 = 0, $826 = 0; + var $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, $842 = 0, $843 = 0, $844 = 0; + var $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, $860 = 0, $861 = 0, $862 = 0; + var $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, $879 = 0, $88 = 0, $880 = 0; + var $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, $897 = 0, $898 = 0, $899 = 0; + var $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, $914 = 0, $915 = 0, $916 = 0, $917 = 0; + var $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, $932 = 0, $933 = 0, $934 = 0, $935 = 0; + var $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, $950 = 0, $951 = 0, $952 = 0, $953 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0; + var $or$cond5 = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer33 = 0, $vararg_buffer41 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, $vararg_ptr22 = 0, $vararg_ptr31 = 0, $vararg_ptr32 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0; + var $vararg_ptr40 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 352|0; $vararg_buffer41 = sp + 112|0; @@ -114505,1413 +90121,1412 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $vararg_buffer9 = sp + 16|0; $vararg_buffer6 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 332|0; - $1 = sp + 328|0; - $2 = sp + 324|0; - $3 = sp + 320|0; - $4 = sp + 316|0; - $5 = sp + 312|0; - $6 = sp + 308|0; - $7 = sp + 304|0; - $8 = sp + 300|0; - $9 = sp + 296|0; - $10 = sp + 336|0; - $pTab = sp + 292|0; - $pIndex = sp + 288|0; - $zName = sp + 284|0; - $nName = sp + 280|0; - $i = sp + 276|0; - $j = sp + 272|0; - $sFix = sp + 248|0; - $sortOrderMask = sp + 240|0; - $db = sp + 236|0; - $pDb = sp + 232|0; - $iDb = sp + 228|0; - $pName = sp + 224|0; - $pListItem = sp + 220|0; - $nExtra = sp + 216|0; - $nExtraCol = sp + 212|0; - $zExtra = sp + 208|0; - $pPk = sp + 204|0; - $n = sp + 200|0; - $pLoop = sp + 196|0; - $zDb = sp + 192|0; - $prevCol = sp + 184|0; - $pExpr = sp + 180|0; - $pCExpr = sp + 176|0; - $requestedSortOrder = sp + 172|0; - $zColl = sp + 168|0; - $pCopy = sp + 164|0; - $nColl = sp + 160|0; - $x = sp + 156|0; - $pIdx = sp + 152|0; - $k = sp + 148|0; - $z1 = sp + 144|0; - $z2 = sp + 140|0; - $p = sp + 136|0; - $v = sp + 132|0; - $zStmt = sp + 128|0; - $iMem = sp + 124|0; - $n1 = sp + 120|0; - $pOther = sp + 116|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pName1; - HEAP32[$2>>2] = $pName2; - HEAP32[$3>>2] = $pTblName; - HEAP32[$4>>2] = $pList; - HEAP32[$5>>2] = $onError; - HEAP32[$6>>2] = $pStart; - HEAP32[$7>>2] = $pPIWhere; - HEAP32[$8>>2] = $sortOrder; - HEAP32[$9>>2] = $ifNotExist; - HEAP8[$10>>0] = $idxType; - HEAP32[$pTab>>2] = 0; - HEAP32[$pIndex>>2] = 0; - HEAP32[$zName>>2] = 0; - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - HEAP32[$db>>2] = $12; - HEAP32[$pName>>2] = 0; - HEAP32[$nExtra>>2] = 0; - HEAP32[$zExtra>>2] = 0; - HEAP32[$pPk>>2] = 0; - $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 69|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)!=(0); + $11 = sp + 332|0; + $12 = sp + 328|0; + $13 = sp + 324|0; + $14 = sp + 320|0; + $15 = sp + 316|0; + $16 = sp + 312|0; + $17 = sp + 308|0; + $18 = sp + 304|0; + $19 = sp + 300|0; + $20 = sp + 296|0; + $21 = sp + 336|0; + $22 = sp + 292|0; + $23 = sp + 288|0; + $24 = sp + 284|0; + $25 = sp + 280|0; + $26 = sp + 276|0; + $27 = sp + 272|0; + $28 = sp + 248|0; + $29 = sp + 240|0; + $30 = sp + 236|0; + $31 = sp + 232|0; + $32 = sp + 228|0; + $33 = sp + 224|0; + $34 = sp + 220|0; + $35 = sp + 216|0; + $36 = sp + 212|0; + $37 = sp + 208|0; + $38 = sp + 204|0; + $39 = sp + 200|0; + $40 = sp + 196|0; + $41 = sp + 192|0; + $42 = sp + 184|0; + $43 = sp + 180|0; + $44 = sp + 176|0; + $45 = sp + 172|0; + $46 = sp + 168|0; + $47 = sp + 164|0; + $48 = sp + 160|0; + $49 = sp + 156|0; + $50 = sp + 152|0; + $51 = sp + 148|0; + $52 = sp + 144|0; + $53 = sp + 140|0; + $54 = sp + 136|0; + $55 = sp + 132|0; + $56 = sp + 128|0; + $57 = sp + 124|0; + $58 = sp + 120|0; + $59 = sp + 116|0; + HEAP32[$11>>2] = $0; + HEAP32[$12>>2] = $1; + HEAP32[$13>>2] = $2; + HEAP32[$14>>2] = $3; + HEAP32[$15>>2] = $4; + HEAP32[$16>>2] = $5; + HEAP32[$17>>2] = $6; + HEAP32[$18>>2] = $7; + HEAP32[$19>>2] = $8; + HEAP32[$20>>2] = $9; + HEAP8[$21>>0] = $10; + HEAP32[$22>>2] = 0; + HEAP32[$23>>2] = 0; + HEAP32[$24>>2] = 0; + $60 = HEAP32[$11>>2]|0; + $61 = HEAP32[$60>>2]|0; + HEAP32[$30>>2] = $61; + HEAP32[$33>>2] = 0; + HEAP32[$35>>2] = 0; + HEAP32[$37>>2] = 0; + HEAP32[$38>>2] = 0; + $62 = HEAP32[$30>>2]|0; + $63 = ((($62)) + 69|0); + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + $66 = ($65|0)!=(0); L1: do { - if (!($17)) { - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 36|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)>(0); - if (!($21)) { - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 410|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = ($25|0)!=(0); - if ($26) { - $27 = HEAP8[$10>>0]|0; - $28 = $27&255; - $29 = ($28|0)!=(2); - if ($29) { + if (!($66)) { + $67 = HEAP32[$11>>2]|0; + $68 = ((($67)) + 36|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)>(0); + if (!($70)) { + $71 = HEAP32[$11>>2]|0; + $72 = ((($71)) + 410|0); + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = ($74|0)!=(0); + if ($75) { + $76 = HEAP8[$21>>0]|0; + $77 = $76&255; + $78 = ($77|0)!=(2); + if ($78) { break; } } - $30 = HEAP32[$0>>2]|0; - $31 = (_sqlite3ReadSchema($30)|0); - $32 = (0)!=($31|0); - if (!($32)) { - $33 = HEAP32[$3>>2]|0; - $34 = ($33|0)!=(0|0); - $35 = HEAP32[$0>>2]|0; - if ($34) { - $36 = HEAP32[$1>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = (_sqlite3TwoPartName($35,$36,$37,$pName)|0); - HEAP32[$iDb>>2] = $38; - $39 = HEAP32[$iDb>>2]|0; - $40 = ($39|0)<(0); - if ($40) { + $79 = HEAP32[$11>>2]|0; + $80 = (_sqlite3ReadSchema($79)|0); + $81 = (0)!=($80|0); + if (!($81)) { + $82 = HEAP32[$14>>2]|0; + $83 = ($82|0)!=(0|0); + $84 = HEAP32[$11>>2]|0; + if ($83) { + $85 = HEAP32[$12>>2]|0; + $86 = HEAP32[$13>>2]|0; + $87 = (_sqlite3TwoPartName($84,$85,$86,$33)|0); + HEAP32[$32>>2] = $87; + $88 = HEAP32[$32>>2]|0; + $89 = ($88|0)<(0); + if ($89) { break; } - $41 = HEAP32[$db>>2]|0; - $42 = ((($41)) + 148|0); - $43 = ((($42)) + 5|0); - $44 = HEAP8[$43>>0]|0; - $45 = ($44<<24>>24)!=(0); - if (!($45)) { - $46 = HEAP32[$0>>2]|0; - $47 = HEAP32[$3>>2]|0; - $48 = (_sqlite3SrcListLookup($46,$47)|0); - HEAP32[$pTab>>2] = $48; - $49 = HEAP32[$2>>2]|0; - $50 = ((($49)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)==(0); - $53 = HEAP32[$pTab>>2]|0; - $54 = ($53|0)!=(0|0); - $or$cond = $52 & $54; + $90 = HEAP32[$30>>2]|0; + $91 = ((($90)) + 148|0); + $92 = ((($91)) + 5|0); + $93 = HEAP8[$92>>0]|0; + $94 = ($93<<24>>24)!=(0); + if (!($94)) { + $95 = HEAP32[$11>>2]|0; + $96 = HEAP32[$14>>2]|0; + $97 = (_sqlite3SrcListLookup($95,$96)|0); + HEAP32[$22>>2] = $97; + $98 = HEAP32[$13>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)==(0); + $102 = HEAP32[$22>>2]|0; + $103 = ($102|0)!=(0|0); + $or$cond = $101 & $103; if ($or$cond) { - $55 = HEAP32[$pTab>>2]|0; - $56 = ((($55)) + 64|0); - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$db>>2]|0; - $59 = ((($58)) + 16|0); - $60 = HEAP32[$59>>2]|0; - $61 = ((($60)) + 16|0); - $62 = ((($61)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($57|0)==($63|0); - if ($64) { - HEAP32[$iDb>>2] = 1; + $104 = HEAP32[$22>>2]|0; + $105 = ((($104)) + 64|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$30>>2]|0; + $108 = ((($107)) + 16|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($109)) + 16|0); + $111 = ((($110)) + 12|0); + $112 = HEAP32[$111>>2]|0; + $113 = ($106|0)==($112|0); + if ($113) { + HEAP32[$32>>2] = 1; } } } - $65 = HEAP32[$0>>2]|0; - $66 = HEAP32[$iDb>>2]|0; - $67 = HEAP32[$pName>>2]|0; - _sqlite3FixInit($sFix,$65,$66,33158,$67); - $68 = HEAP32[$3>>2]|0; - (_sqlite3FixSrcList($sFix,$68)|0); - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$3>>2]|0; - $71 = ((($70)) + 8|0); - $72 = (_sqlite3LocateTableItem($69,0,$71)|0); - HEAP32[$pTab>>2] = $72; - $73 = HEAP32[$pTab>>2]|0; - $74 = ($73|0)==(0|0); - if ($74) { + $114 = HEAP32[$11>>2]|0; + $115 = HEAP32[$32>>2]|0; + $116 = HEAP32[$33>>2]|0; + _sqlite3FixInit($28,$114,$115,32611,$116); + $117 = HEAP32[$14>>2]|0; + (_sqlite3FixSrcList($28,$117)|0); + $118 = HEAP32[$11>>2]|0; + $119 = HEAP32[$14>>2]|0; + $120 = ((($119)) + 8|0); + $121 = (_sqlite3LocateTableItem($118,0,$120)|0); + HEAP32[$22>>2] = $121; + $122 = HEAP32[$22>>2]|0; + $123 = ($122|0)==(0|0); + if ($123) { break; } - $75 = HEAP32[$iDb>>2]|0; - $76 = ($75|0)==(1); - if ($76) { - $77 = HEAP32[$iDb>>2]|0; - $78 = HEAP32[$db>>2]|0; - $79 = ((($78)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = (($80) + ($77<<4)|0); - $82 = ((($81)) + 12|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$pTab>>2]|0; - $85 = ((($84)) + 64|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($83|0)!=($86|0); - if ($87) { - $88 = HEAP32[$0>>2]|0; - $89 = HEAP32[$pTab>>2]|0; - $90 = HEAP32[$89>>2]|0; - HEAP32[$vararg_buffer>>2] = $90; - _sqlite3ErrorMsg($88,36473,$vararg_buffer); + $124 = HEAP32[$32>>2]|0; + $125 = ($124|0)==(1); + if ($125) { + $126 = HEAP32[$30>>2]|0; + $127 = ((($126)) + 16|0); + $128 = HEAP32[$127>>2]|0; + $129 = HEAP32[$32>>2]|0; + $130 = (($128) + ($129<<4)|0); + $131 = ((($130)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$22>>2]|0; + $134 = ((($133)) + 64|0); + $135 = HEAP32[$134>>2]|0; + $136 = ($132|0)!=($135|0); + if ($136) { + $137 = HEAP32[$11>>2]|0; + $138 = HEAP32[$22>>2]|0; + $139 = HEAP32[$138>>2]|0; + HEAP32[$vararg_buffer>>2] = $139; + _sqlite3ErrorMsg($137,35910,$vararg_buffer); break; } } - $91 = HEAP32[$pTab>>2]|0; - $92 = ((($91)) + 42|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $95 = $94 & 32; - $96 = ($95|0)==(0); - if (!($96)) { - $97 = HEAP32[$pTab>>2]|0; - $98 = (_sqlite3PrimaryKeyIndex($97)|0); - HEAP32[$pPk>>2] = $98; + $140 = HEAP32[$22>>2]|0; + $141 = ((($140)) + 42|0); + $142 = HEAP8[$141>>0]|0; + $143 = $142&255; + $144 = $143 & 32; + $145 = ($144|0)==(0); + if (!($145)) { + $146 = HEAP32[$22>>2]|0; + $147 = (_sqlite3PrimaryKeyIndex($146)|0); + HEAP32[$38>>2] = $147; } } else { - $99 = ((($35)) + 440|0); - $100 = HEAP32[$99>>2]|0; - HEAP32[$pTab>>2] = $100; - $101 = HEAP32[$pTab>>2]|0; - $102 = ($101|0)!=(0|0); - if (!($102)) { + $148 = ((($84)) + 440|0); + $149 = HEAP32[$148>>2]|0; + HEAP32[$22>>2] = $149; + $150 = HEAP32[$22>>2]|0; + $151 = ($150|0)!=(0|0); + if (!($151)) { break; } - $103 = HEAP32[$db>>2]|0; - $104 = HEAP32[$pTab>>2]|0; - $105 = ((($104)) + 64|0); - $106 = HEAP32[$105>>2]|0; - $107 = (_sqlite3SchemaToIndex($103,$106)|0); - HEAP32[$iDb>>2] = $107; + $152 = HEAP32[$30>>2]|0; + $153 = HEAP32[$22>>2]|0; + $154 = ((($153)) + 64|0); + $155 = HEAP32[$154>>2]|0; + $156 = (_sqlite3SchemaToIndex($152,$155)|0); + HEAP32[$32>>2] = $156; } - $108 = HEAP32[$iDb>>2]|0; - $109 = HEAP32[$db>>2]|0; - $110 = ((($109)) + 16|0); - $111 = HEAP32[$110>>2]|0; - $112 = (($111) + ($108<<4)|0); - HEAP32[$pDb>>2] = $112; - $113 = HEAP32[$pTab>>2]|0; - $114 = HEAP32[$113>>2]|0; - $115 = (_sqlite3_strnicmp($114,27844,7)|0); - $116 = ($115|0)==(0); - if ($116) { - $117 = HEAP32[$db>>2]|0; - $118 = ((($117)) + 148|0); - $119 = ((($118)) + 5|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = ($121|0)==(0); - if ($122) { - $123 = HEAP32[$pTab>>2]|0; - $124 = HEAP32[$123>>2]|0; - $125 = ((($124)) + 7|0); - $126 = (_sqlite3_strnicmp($125,36523,9)|0); - $127 = ($126|0)!=(0); - if ($127) { - $128 = HEAP32[$0>>2]|0; - $129 = HEAP32[$pTab>>2]|0; - $130 = HEAP32[$129>>2]|0; - HEAP32[$vararg_buffer6>>2] = $130; - _sqlite3ErrorMsg($128,36533,$vararg_buffer6); + $157 = HEAP32[$30>>2]|0; + $158 = ((($157)) + 16|0); + $159 = HEAP32[$158>>2]|0; + $160 = HEAP32[$32>>2]|0; + $161 = (($159) + ($160<<4)|0); + HEAP32[$31>>2] = $161; + $162 = HEAP32[$22>>2]|0; + $163 = HEAP32[$162>>2]|0; + $164 = (_sqlite3_strnicmp($163,26664,7)|0); + $165 = ($164|0)==(0); + if ($165) { + $166 = HEAP32[$30>>2]|0; + $167 = ((($166)) + 148|0); + $168 = ((($167)) + 5|0); + $169 = HEAP8[$168>>0]|0; + $170 = $169&255; + $171 = ($170|0)==(0); + if ($171) { + $172 = HEAP32[$22>>2]|0; + $173 = HEAP32[$172>>2]|0; + $174 = ((($173)) + 7|0); + $175 = (_sqlite3_strnicmp($174,35960,9)|0); + $176 = ($175|0)!=(0); + if ($176) { + $177 = HEAP32[$11>>2]|0; + $178 = HEAP32[$22>>2]|0; + $179 = HEAP32[$178>>2]|0; + HEAP32[$vararg_buffer6>>2] = $179; + _sqlite3ErrorMsg($177,35970,$vararg_buffer6); break; } } } - $131 = HEAP32[$pTab>>2]|0; - $132 = ((($131)) + 12|0); - $133 = HEAP32[$132>>2]|0; - $134 = ($133|0)!=(0|0); - if ($134) { - $135 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($135,36561,$vararg_buffer9); + $180 = HEAP32[$22>>2]|0; + $181 = ((($180)) + 12|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182|0)!=(0|0); + if ($183) { + $184 = HEAP32[$11>>2]|0; + _sqlite3ErrorMsg($184,35998,$vararg_buffer9); break; } - $136 = HEAP32[$pTab>>2]|0; - $137 = ((($136)) + 42|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $140 = $139 & 16; - $141 = ($140|0)!=(0); - if ($141) { - $142 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($142,36586,$vararg_buffer11); + $185 = HEAP32[$22>>2]|0; + $186 = ((($185)) + 42|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187&255; + $189 = $188 & 16; + $190 = ($189|0)!=(0); + if ($190) { + $191 = HEAP32[$11>>2]|0; + _sqlite3ErrorMsg($191,36023,$vararg_buffer11); break; } - $143 = HEAP32[$pName>>2]|0; - $144 = ($143|0)!=(0|0); - if ($144) { - $145 = HEAP32[$db>>2]|0; - $146 = HEAP32[$pName>>2]|0; - $147 = (_sqlite3NameFromToken($145,$146)|0); - HEAP32[$zName>>2] = $147; - $148 = HEAP32[$zName>>2]|0; - $149 = ($148|0)==(0|0); - if ($149) { + $192 = HEAP32[$33>>2]|0; + $193 = ($192|0)!=(0|0); + if ($193) { + $194 = HEAP32[$30>>2]|0; + $195 = HEAP32[$33>>2]|0; + $196 = (_sqlite3NameFromToken($194,$195)|0); + HEAP32[$24>>2] = $196; + $197 = HEAP32[$24>>2]|0; + $198 = ($197|0)==(0|0); + if ($198) { break; } - $150 = HEAP32[$0>>2]|0; - $151 = HEAP32[$zName>>2]|0; - $152 = (_sqlite3CheckObjectName($150,$151)|0); - $153 = (0)!=($152|0); - if ($153) { + $199 = HEAP32[$11>>2]|0; + $200 = HEAP32[$24>>2]|0; + $201 = (_sqlite3CheckObjectName($199,$200)|0); + $202 = (0)!=($201|0); + if ($202) { break; } - $154 = HEAP32[$db>>2]|0; - $155 = ((($154)) + 148|0); - $156 = ((($155)) + 5|0); - $157 = HEAP8[$156>>0]|0; - $158 = ($157<<24>>24)!=(0); - if (!($158)) { - $159 = HEAP32[$db>>2]|0; - $160 = HEAP32[$zName>>2]|0; - $161 = (_sqlite3FindTable($159,$160,0)|0); - $162 = ($161|0)!=(0|0); - if ($162) { - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer13>>2] = $164; - _sqlite3ErrorMsg($163,36620,$vararg_buffer13); + $203 = HEAP32[$30>>2]|0; + $204 = ((($203)) + 148|0); + $205 = ((($204)) + 5|0); + $206 = HEAP8[$205>>0]|0; + $207 = ($206<<24>>24)!=(0); + if (!($207)) { + $208 = HEAP32[$30>>2]|0; + $209 = HEAP32[$24>>2]|0; + $210 = (_sqlite3FindTable($208,$209,0)|0); + $211 = ($210|0)!=(0|0); + if ($211) { + $212 = HEAP32[$11>>2]|0; + $213 = HEAP32[$24>>2]|0; + HEAP32[$vararg_buffer13>>2] = $213; + _sqlite3ErrorMsg($212,36057,$vararg_buffer13); break; } } - $165 = HEAP32[$db>>2]|0; - $166 = HEAP32[$zName>>2]|0; - $167 = HEAP32[$pDb>>2]|0; - $168 = HEAP32[$167>>2]|0; - $169 = (_sqlite3FindIndex($165,$166,$168)|0); - $170 = ($169|0)!=(0|0); - if ($170) { - $171 = HEAP32[$9>>2]|0; - $172 = ($171|0)!=(0); - $173 = HEAP32[$0>>2]|0; - if ($172) { - $175 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($173,$175); + $214 = HEAP32[$30>>2]|0; + $215 = HEAP32[$24>>2]|0; + $216 = HEAP32[$31>>2]|0; + $217 = HEAP32[$216>>2]|0; + $218 = (_sqlite3FindIndex($214,$215,$217)|0); + $219 = ($218|0)!=(0|0); + if ($219) { + $220 = HEAP32[$20>>2]|0; + $221 = ($220|0)!=(0); + $222 = HEAP32[$11>>2]|0; + if ($221) { + $224 = HEAP32[$32>>2]|0; + _sqlite3CodeVerifySchema($222,$224); break; } else { - $174 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer16>>2] = $174; - _sqlite3ErrorMsg($173,36654,$vararg_buffer16); + $223 = HEAP32[$24>>2]|0; + HEAP32[$vararg_buffer16>>2] = $223; + _sqlite3ErrorMsg($222,36091,$vararg_buffer16); break; } } } else { - $176 = HEAP32[$pTab>>2]|0; - $177 = ((($176)) + 8|0); - $178 = HEAP32[$177>>2]|0; - HEAP32[$pLoop>>2] = $178; - HEAP32[$n>>2] = 1; + $225 = HEAP32[$22>>2]|0; + $226 = ((($225)) + 8|0); + $227 = HEAP32[$226>>2]|0; + HEAP32[$40>>2] = $227; + HEAP32[$39>>2] = 1; while(1) { - $179 = HEAP32[$pLoop>>2]|0; - $180 = ($179|0)!=(0|0); - if (!($180)) { + $228 = HEAP32[$40>>2]|0; + $229 = ($228|0)!=(0|0); + if (!($229)) { break; } - $181 = HEAP32[$pLoop>>2]|0; - $182 = ((($181)) + 20|0); - $183 = HEAP32[$182>>2]|0; - HEAP32[$pLoop>>2] = $183; - $184 = HEAP32[$n>>2]|0; - $185 = (($184) + 1)|0; - HEAP32[$n>>2] = $185; + $230 = HEAP32[$40>>2]|0; + $231 = ((($230)) + 20|0); + $232 = HEAP32[$231>>2]|0; + HEAP32[$40>>2] = $232; + $233 = HEAP32[$39>>2]|0; + $234 = (($233) + 1)|0; + HEAP32[$39>>2] = $234; } - $186 = HEAP32[$db>>2]|0; - $187 = HEAP32[$pTab>>2]|0; - $188 = HEAP32[$187>>2]|0; - $189 = HEAP32[$n>>2]|0; - HEAP32[$vararg_buffer19>>2] = $188; + $235 = HEAP32[$30>>2]|0; + $236 = HEAP32[$22>>2]|0; + $237 = HEAP32[$236>>2]|0; + $238 = HEAP32[$39>>2]|0; + HEAP32[$vararg_buffer19>>2] = $237; $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); - HEAP32[$vararg_ptr22>>2] = $189; - $190 = (_sqlite3MPrintf($186,36678,$vararg_buffer19)|0); - HEAP32[$zName>>2] = $190; - $191 = HEAP32[$zName>>2]|0; - $192 = ($191|0)==(0|0); - if ($192) { + HEAP32[$vararg_ptr22>>2] = $238; + $239 = (_sqlite3MPrintf($235,36115,$vararg_buffer19)|0); + HEAP32[$24>>2] = $239; + $240 = HEAP32[$24>>2]|0; + $241 = ($240|0)==(0|0); + if ($241) { break; } - $193 = HEAP32[$0>>2]|0; - $194 = ((($193)) + 410|0); - $195 = HEAP8[$194>>0]|0; - $196 = ($195<<24>>24)!=(0); - if ($196) { - $197 = HEAP32[$zName>>2]|0; - $198 = ((($197)) + 7|0); - $199 = HEAP8[$198>>0]|0; - $200 = (($199) + 1)<<24>>24; - HEAP8[$198>>0] = $200; + $242 = HEAP32[$11>>2]|0; + $243 = ((($242)) + 410|0); + $244 = HEAP8[$243>>0]|0; + $245 = ($244<<24>>24)!=(0); + if ($245) { + $246 = HEAP32[$24>>2]|0; + $247 = ((($246)) + 7|0); + $248 = HEAP8[$247>>0]|0; + $249 = (($248) + 1)<<24>>24; + HEAP8[$247>>0] = $249; } } - $201 = HEAP32[$pDb>>2]|0; - $202 = HEAP32[$201>>2]|0; - HEAP32[$zDb>>2] = $202; - $203 = HEAP32[$0>>2]|0; - $204 = HEAP32[$iDb>>2]|0; - $205 = ($204|0)==(1); - $206 = $205 ? 19905 : 19924; - $207 = HEAP32[$zDb>>2]|0; - $208 = (_sqlite3AuthCheck($203,18,$206,0,$207)|0); - $209 = ($208|0)!=(0); - if (!($209)) { - HEAP32[$i>>2] = 1; - $210 = HEAP32[$iDb>>2]|0; - $211 = ($210|0)==(1); - $$ = $211 ? 3 : 1; - HEAP32[$i>>2] = $$; - $212 = HEAP32[$0>>2]|0; - $213 = HEAP32[$i>>2]|0; - $214 = HEAP32[$zName>>2]|0; - $215 = HEAP32[$pTab>>2]|0; - $216 = HEAP32[$215>>2]|0; - $217 = HEAP32[$zDb>>2]|0; - $218 = (_sqlite3AuthCheck($212,$213,$214,$216,$217)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - $220 = HEAP32[$4>>2]|0; - $221 = ($220|0)==(0|0); - if ($221) { - $222 = HEAP32[$pTab>>2]|0; - $223 = ((($222)) + 34|0); - $224 = HEAP16[$223>>1]|0; - $225 = $224 << 16 >> 16; - $226 = (($225) - 1)|0; - $227 = HEAP32[$pTab>>2]|0; - $228 = ((($227)) + 4|0); - $229 = HEAP32[$228>>2]|0; - $230 = (($229) + ($226<<4)|0); - $231 = HEAP32[$230>>2]|0; - _sqlite3TokenInit($prevCol,$231); - $232 = HEAP32[$0>>2]|0; - $233 = HEAP32[$db>>2]|0; - $234 = (_sqlite3ExprAlloc($233,55,$prevCol,0)|0); - $235 = (_sqlite3ExprListAppend($232,0,$234)|0); - HEAP32[$4>>2] = $235; - $236 = HEAP32[$4>>2]|0; - $237 = ($236|0)==(0|0); - if ($237) { + $250 = HEAP32[$31>>2]|0; + $251 = HEAP32[$250>>2]|0; + HEAP32[$41>>2] = $251; + $252 = HEAP32[$11>>2]|0; + $253 = HEAP32[$32>>2]|0; + $254 = ($253|0)==(1); + $255 = $254 ? 26433 : 26452; + $256 = HEAP32[$41>>2]|0; + $257 = (_sqlite3AuthCheck($252,18,$255,0,$256)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$26>>2] = 1; + $259 = HEAP32[$32>>2]|0; + $260 = ($259|0)==(1); + $$ = $260 ? 3 : 1; + HEAP32[$26>>2] = $$; + $261 = HEAP32[$11>>2]|0; + $262 = HEAP32[$26>>2]|0; + $263 = HEAP32[$24>>2]|0; + $264 = HEAP32[$22>>2]|0; + $265 = HEAP32[$264>>2]|0; + $266 = HEAP32[$41>>2]|0; + $267 = (_sqlite3AuthCheck($261,$262,$263,$265,$266)|0); + $268 = ($267|0)!=(0); + if (!($268)) { + $269 = HEAP32[$15>>2]|0; + $270 = ($269|0)==(0|0); + if ($270) { + $271 = HEAP32[$22>>2]|0; + $272 = ((($271)) + 4|0); + $273 = HEAP32[$272>>2]|0; + $274 = HEAP32[$22>>2]|0; + $275 = ((($274)) + 34|0); + $276 = HEAP16[$275>>1]|0; + $277 = $276 << 16 >> 16; + $278 = (($277) - 1)|0; + $279 = (($273) + ($278<<4)|0); + $280 = HEAP32[$279>>2]|0; + _sqlite3TokenInit($42,$280); + $281 = HEAP32[$11>>2]|0; + $282 = HEAP32[$30>>2]|0; + $283 = (_sqlite3ExprAlloc($282,55,$42,0)|0); + $284 = (_sqlite3ExprListAppend($281,0,$283)|0); + HEAP32[$15>>2] = $284; + $285 = HEAP32[$15>>2]|0; + $286 = ($285|0)==(0|0); + if ($286) { break; } - $238 = HEAP32[$4>>2]|0; - $239 = HEAP32[$8>>2]|0; - _sqlite3ExprListSetSortOrder($238,$239); + $287 = HEAP32[$15>>2]|0; + $288 = HEAP32[$19>>2]|0; + _sqlite3ExprListSetSortOrder($287,$288); } else { - $240 = HEAP32[$0>>2]|0; - $241 = HEAP32[$4>>2]|0; - _sqlite3ExprListCheckLength($240,$241,33158); + $289 = HEAP32[$11>>2]|0; + $290 = HEAP32[$15>>2]|0; + _sqlite3ExprListCheckLength($289,$290,32611); } - HEAP32[$i>>2] = 0; + HEAP32[$26>>2] = 0; while(1) { - $242 = HEAP32[$i>>2]|0; - $243 = HEAP32[$4>>2]|0; - $244 = HEAP32[$243>>2]|0; - $245 = ($242|0)<($244|0); - if (!($245)) { + $291 = HEAP32[$26>>2]|0; + $292 = HEAP32[$15>>2]|0; + $293 = HEAP32[$292>>2]|0; + $294 = ($291|0)<($293|0); + if (!($294)) { break; } - $246 = HEAP32[$i>>2]|0; - $247 = HEAP32[$4>>2]|0; - $248 = ((($247)) + 4|0); - $249 = HEAP32[$248>>2]|0; - $250 = (($249) + (($246*20)|0)|0); - $251 = HEAP32[$250>>2]|0; - HEAP32[$pExpr>>2] = $251; - $252 = HEAP32[$pExpr>>2]|0; - $253 = HEAP8[$252>>0]|0; - $254 = $253&255; - $255 = ($254|0)==(53); - if ($255) { - $256 = HEAP32[$pExpr>>2]|0; - $257 = ((($256)) + 8|0); - $258 = HEAP32[$257>>2]|0; - $259 = (_sqlite3Strlen30($258)|0); - $260 = (1 + ($259))|0; - $261 = HEAP32[$nExtra>>2]|0; - $262 = (($261) + ($260))|0; - HEAP32[$nExtra>>2] = $262; + $295 = HEAP32[$15>>2]|0; + $296 = ((($295)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = HEAP32[$26>>2]|0; + $299 = (($297) + (($298*20)|0)|0); + $300 = HEAP32[$299>>2]|0; + HEAP32[$43>>2] = $300; + $301 = HEAP32[$43>>2]|0; + $302 = HEAP8[$301>>0]|0; + $303 = $302&255; + $304 = ($303|0)==(53); + if ($304) { + $305 = HEAP32[$43>>2]|0; + $306 = ((($305)) + 8|0); + $307 = HEAP32[$306>>2]|0; + $308 = (_sqlite3Strlen30($307)|0); + $309 = (1 + ($308))|0; + $310 = HEAP32[$35>>2]|0; + $311 = (($310) + ($309))|0; + HEAP32[$35>>2] = $311; } - $263 = HEAP32[$i>>2]|0; - $264 = (($263) + 1)|0; - HEAP32[$i>>2] = $264; + $312 = HEAP32[$26>>2]|0; + $313 = (($312) + 1)|0; + HEAP32[$26>>2] = $313; } - $265 = HEAP32[$zName>>2]|0; - $266 = (_sqlite3Strlen30($265)|0); - HEAP32[$nName>>2] = $266; - $267 = HEAP32[$pPk>>2]|0; - $268 = ($267|0)!=(0|0); - if ($268) { - $269 = HEAP32[$pPk>>2]|0; - $270 = ((($269)) + 50|0); - $271 = HEAP16[$270>>1]|0; - $272 = $271&65535; - $273 = $272; + $314 = HEAP32[$24>>2]|0; + $315 = (_sqlite3Strlen30($314)|0); + HEAP32[$25>>2] = $315; + $316 = HEAP32[$38>>2]|0; + $317 = ($316|0)!=(0|0); + if ($317) { + $318 = HEAP32[$38>>2]|0; + $319 = ((($318)) + 50|0); + $320 = HEAP16[$319>>1]|0; + $321 = $320&65535; + $322 = $321; } else { - $273 = 1; + $322 = 1; } - HEAP32[$nExtraCol>>2] = $273; - $274 = HEAP32[$db>>2]|0; - $275 = HEAP32[$4>>2]|0; - $276 = HEAP32[$275>>2]|0; - $277 = HEAP32[$nExtraCol>>2]|0; - $278 = (($276) + ($277))|0; - $279 = $278&65535; - $280 = HEAP32[$nName>>2]|0; - $281 = HEAP32[$nExtra>>2]|0; - $282 = (($280) + ($281))|0; - $283 = (($282) + 1)|0; - $284 = (_sqlite3AllocateIndexObject($274,$279,$283,$zExtra)|0); - HEAP32[$pIndex>>2] = $284; - $285 = HEAP32[$db>>2]|0; - $286 = ((($285)) + 69|0); - $287 = HEAP8[$286>>0]|0; - $288 = ($287<<24>>24)!=(0); - if (!($288)) { - $289 = HEAP32[$zExtra>>2]|0; - $290 = HEAP32[$pIndex>>2]|0; - HEAP32[$290>>2] = $289; - $291 = HEAP32[$nName>>2]|0; - $292 = (($291) + 1)|0; - $293 = HEAP32[$zExtra>>2]|0; - $294 = (($293) + ($292)|0); - HEAP32[$zExtra>>2] = $294; - $295 = HEAP32[$pIndex>>2]|0; - $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[$zName>>2]|0; - $298 = HEAP32[$nName>>2]|0; - $299 = (($298) + 1)|0; - _memcpy(($296|0),($297|0),($299|0))|0; - $300 = HEAP32[$pTab>>2]|0; - $301 = HEAP32[$pIndex>>2]|0; - $302 = ((($301)) + 12|0); - HEAP32[$302>>2] = $300; - $303 = HEAP32[$5>>2]|0; - $304 = $303&255; - $305 = HEAP32[$pIndex>>2]|0; - $306 = ((($305)) + 54|0); - HEAP8[$306>>0] = $304; - $307 = HEAP32[$5>>2]|0; - $308 = ($307|0)!=(0); - $309 = $308&1; - $310 = HEAP32[$pIndex>>2]|0; - $311 = ((($310)) + 55|0); - $312 = $309&255; - $313 = HEAP8[$311>>0]|0; - $314 = $312 & 1; - $315 = ($314 << 3)&255; - $316 = $313 & -9; - $317 = $316 | $315; - HEAP8[$311>>0] = $317; - $318 = HEAP8[$10>>0]|0; - $319 = $318&255; - $320 = HEAP32[$pIndex>>2]|0; - $321 = ((($320)) + 55|0); - $322 = $319&255; - $323 = HEAP8[$321>>0]|0; - $324 = $322 & 3; - $325 = $323 & -4; - $326 = $325 | $324; - HEAP8[$321>>0] = $326; - $327 = HEAP32[$iDb>>2]|0; - $328 = HEAP32[$db>>2]|0; - $329 = ((($328)) + 16|0); - $330 = HEAP32[$329>>2]|0; - $331 = (($330) + ($327<<4)|0); - $332 = ((($331)) + 12|0); - $333 = HEAP32[$332>>2]|0; - $334 = HEAP32[$pIndex>>2]|0; - $335 = ((($334)) + 24|0); - HEAP32[$335>>2] = $333; - $336 = HEAP32[$4>>2]|0; - $337 = HEAP32[$336>>2]|0; - $338 = $337&65535; - $339 = HEAP32[$pIndex>>2]|0; - $340 = ((($339)) + 50|0); - HEAP16[$340>>1] = $338; - $341 = HEAP32[$7>>2]|0; - $342 = ($341|0)!=(0|0); - if ($342) { - $343 = HEAP32[$0>>2]|0; - $344 = HEAP32[$pTab>>2]|0; - $345 = HEAP32[$7>>2]|0; - _sqlite3ResolveSelfReference($343,$344,2,$345,0); - $346 = HEAP32[$7>>2]|0; - $347 = HEAP32[$pIndex>>2]|0; - $348 = ((($347)) + 36|0); - HEAP32[$348>>2] = $346; - HEAP32[$7>>2] = 0; + HEAP32[$36>>2] = $322; + $323 = HEAP32[$30>>2]|0; + $324 = HEAP32[$15>>2]|0; + $325 = HEAP32[$324>>2]|0; + $326 = HEAP32[$36>>2]|0; + $327 = (($325) + ($326))|0; + $328 = $327&65535; + $329 = HEAP32[$25>>2]|0; + $330 = HEAP32[$35>>2]|0; + $331 = (($329) + ($330))|0; + $332 = (($331) + 1)|0; + $333 = (_sqlite3AllocateIndexObject($323,$328,$332,$37)|0); + HEAP32[$23>>2] = $333; + $334 = HEAP32[$30>>2]|0; + $335 = ((($334)) + 69|0); + $336 = HEAP8[$335>>0]|0; + $337 = ($336<<24>>24)!=(0); + if (!($337)) { + $338 = HEAP32[$37>>2]|0; + $339 = HEAP32[$23>>2]|0; + HEAP32[$339>>2] = $338; + $340 = HEAP32[$25>>2]|0; + $341 = (($340) + 1)|0; + $342 = HEAP32[$37>>2]|0; + $343 = (($342) + ($341)|0); + HEAP32[$37>>2] = $343; + $344 = HEAP32[$23>>2]|0; + $345 = HEAP32[$344>>2]|0; + $346 = HEAP32[$24>>2]|0; + $347 = HEAP32[$25>>2]|0; + $348 = (($347) + 1)|0; + _memcpy(($345|0),($346|0),($348|0))|0; + $349 = HEAP32[$22>>2]|0; + $350 = HEAP32[$23>>2]|0; + $351 = ((($350)) + 12|0); + HEAP32[$351>>2] = $349; + $352 = HEAP32[$16>>2]|0; + $353 = $352&255; + $354 = HEAP32[$23>>2]|0; + $355 = ((($354)) + 54|0); + HEAP8[$355>>0] = $353; + $356 = HEAP32[$16>>2]|0; + $357 = ($356|0)!=(0); + $358 = $357&1; + $359 = HEAP32[$23>>2]|0; + $360 = ((($359)) + 55|0); + $361 = $358&255; + $362 = HEAP8[$360>>0]|0; + $363 = $361 & 1; + $364 = ($363 << 3)&255; + $365 = $362 & -9; + $366 = $365 | $364; + HEAP8[$360>>0] = $366; + $367 = HEAP8[$21>>0]|0; + $368 = $367&255; + $369 = HEAP32[$23>>2]|0; + $370 = ((($369)) + 55|0); + $371 = $368&255; + $372 = HEAP8[$370>>0]|0; + $373 = $371 & 3; + $374 = $372 & -4; + $375 = $374 | $373; + HEAP8[$370>>0] = $375; + $376 = HEAP32[$30>>2]|0; + $377 = ((($376)) + 16|0); + $378 = HEAP32[$377>>2]|0; + $379 = HEAP32[$32>>2]|0; + $380 = (($378) + ($379<<4)|0); + $381 = ((($380)) + 12|0); + $382 = HEAP32[$381>>2]|0; + $383 = HEAP32[$23>>2]|0; + $384 = ((($383)) + 24|0); + HEAP32[$384>>2] = $382; + $385 = HEAP32[$15>>2]|0; + $386 = HEAP32[$385>>2]|0; + $387 = $386&65535; + $388 = HEAP32[$23>>2]|0; + $389 = ((($388)) + 50|0); + HEAP16[$389>>1] = $387; + $390 = HEAP32[$18>>2]|0; + $391 = ($390|0)!=(0|0); + if ($391) { + $392 = HEAP32[$11>>2]|0; + $393 = HEAP32[$22>>2]|0; + $394 = HEAP32[$18>>2]|0; + _sqlite3ResolveSelfReference($392,$393,2,$394,0); + $395 = HEAP32[$18>>2]|0; + $396 = HEAP32[$23>>2]|0; + $397 = ((($396)) + 36|0); + HEAP32[$397>>2] = $395; + HEAP32[$18>>2] = 0; } - $349 = HEAP32[$pDb>>2]|0; - $350 = ((($349)) + 12|0); - $351 = HEAP32[$350>>2]|0; - $352 = ((($351)) + 76|0); - $353 = HEAP8[$352>>0]|0; - $354 = $353&255; - $355 = ($354|0)>=(4); - if ($355) { - HEAP32[$sortOrderMask>>2] = -1; + $398 = HEAP32[$31>>2]|0; + $399 = ((($398)) + 12|0); + $400 = HEAP32[$399>>2]|0; + $401 = ((($400)) + 76|0); + $402 = HEAP8[$401>>0]|0; + $403 = $402&255; + $404 = ($403|0)>=(4); + if ($404) { + HEAP32[$29>>2] = -1; } else { - HEAP32[$sortOrderMask>>2] = 0; + HEAP32[$29>>2] = 0; } - HEAP32[$i>>2] = 0; - $356 = HEAP32[$4>>2]|0; - $357 = ((($356)) + 4|0); - $358 = HEAP32[$357>>2]|0; - HEAP32[$pListItem>>2] = $358; + HEAP32[$26>>2] = 0; + $405 = HEAP32[$15>>2]|0; + $406 = ((($405)) + 4|0); + $407 = HEAP32[$406>>2]|0; + HEAP32[$34>>2] = $407; while(1) { - $359 = HEAP32[$i>>2]|0; - $360 = HEAP32[$4>>2]|0; - $361 = HEAP32[$360>>2]|0; - $362 = ($359|0)<($361|0); - if (!($362)) { + $408 = HEAP32[$26>>2]|0; + $409 = HEAP32[$15>>2]|0; + $410 = HEAP32[$409>>2]|0; + $411 = ($408|0)<($410|0); + if (!($411)) { break; } - $363 = HEAP32[$pListItem>>2]|0; - $364 = HEAP32[$363>>2]|0; - _sqlite3StringToId($364); - $365 = HEAP32[$0>>2]|0; - $366 = HEAP32[$pTab>>2]|0; - $367 = HEAP32[$pListItem>>2]|0; - $368 = HEAP32[$367>>2]|0; - _sqlite3ResolveSelfReference($365,$366,32,$368,0); - $369 = HEAP32[$0>>2]|0; - $370 = ((($369)) + 36|0); - $371 = HEAP32[$370>>2]|0; - $372 = ($371|0)!=(0); - if ($372) { + $412 = HEAP32[$34>>2]|0; + $413 = HEAP32[$412>>2]|0; + _sqlite3StringToId($413); + $414 = HEAP32[$11>>2]|0; + $415 = HEAP32[$22>>2]|0; + $416 = HEAP32[$34>>2]|0; + $417 = HEAP32[$416>>2]|0; + _sqlite3ResolveSelfReference($414,$415,32,$417,0); + $418 = HEAP32[$11>>2]|0; + $419 = ((($418)) + 36|0); + $420 = HEAP32[$419>>2]|0; + $421 = ($420|0)!=(0); + if ($421) { break L1; } - $373 = HEAP32[$pListItem>>2]|0; - $374 = HEAP32[$373>>2]|0; - $375 = (_sqlite3ExprSkipCollate($374)|0); - HEAP32[$pCExpr>>2] = $375; - $376 = HEAP32[$pCExpr>>2]|0; - $377 = HEAP8[$376>>0]|0; - $378 = $377&255; - $379 = ($378|0)!=(152); - if ($379) { - $380 = HEAP32[$pTab>>2]|0; - $381 = HEAP32[$0>>2]|0; - $382 = ((($381)) + 440|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($380|0)==($383|0); - if ($384) { + $422 = HEAP32[$34>>2]|0; + $423 = HEAP32[$422>>2]|0; + $424 = (_sqlite3ExprSkipCollate($423)|0); + HEAP32[$44>>2] = $424; + $425 = HEAP32[$44>>2]|0; + $426 = HEAP8[$425>>0]|0; + $427 = $426&255; + $428 = ($427|0)!=(152); + if ($428) { + $429 = HEAP32[$22>>2]|0; + $430 = HEAP32[$11>>2]|0; + $431 = ((($430)) + 440|0); + $432 = HEAP32[$431>>2]|0; + $433 = ($429|0)==($432|0); + if ($433) { label = 68; break; } - $386 = HEAP32[$pIndex>>2]|0; - $387 = ((($386)) + 40|0); - $388 = HEAP32[$387>>2]|0; - $389 = ($388|0)==(0|0); + $435 = HEAP32[$23>>2]|0; + $436 = ((($435)) + 40|0); + $437 = HEAP32[$436>>2]|0; + $438 = ($437|0)==(0|0); do { - if ($389) { - $390 = HEAP32[$db>>2]|0; - $391 = HEAP32[$4>>2]|0; - $392 = (_sqlite3ExprListDup($390,$391,0)|0); - HEAP32[$pCopy>>2] = $392; - $393 = HEAP32[$pCopy>>2]|0; - $394 = HEAP32[$pIndex>>2]|0; - $395 = ((($394)) + 40|0); - HEAP32[$395>>2] = $393; - $396 = HEAP32[$db>>2]|0; - $397 = ((($396)) + 69|0); - $398 = HEAP8[$397>>0]|0; - $399 = ($398<<24>>24)!=(0); - if ($399) { + if ($438) { + $439 = HEAP32[$30>>2]|0; + $440 = HEAP32[$15>>2]|0; + $441 = (_sqlite3ExprListDup($439,$440,0)|0); + HEAP32[$47>>2] = $441; + $442 = HEAP32[$47>>2]|0; + $443 = HEAP32[$23>>2]|0; + $444 = ((($443)) + 40|0); + HEAP32[$444>>2] = $442; + $445 = HEAP32[$30>>2]|0; + $446 = ((($445)) + 69|0); + $447 = HEAP8[$446>>0]|0; + $448 = ($447<<24>>24)!=(0); + if ($448) { break; } - $400 = HEAP32[$i>>2]|0; - $401 = HEAP32[$pCopy>>2]|0; - $402 = ((($401)) + 4|0); - $403 = HEAP32[$402>>2]|0; - $404 = (($403) + (($400*20)|0)|0); - HEAP32[$pListItem>>2] = $404; + $449 = HEAP32[$47>>2]|0; + $450 = ((($449)) + 4|0); + $451 = HEAP32[$450>>2]|0; + $452 = HEAP32[$26>>2]|0; + $453 = (($451) + (($452*20)|0)|0); + HEAP32[$34>>2] = $453; } } while(0); - HEAP32[$j>>2] = -2; - $405 = HEAP32[$i>>2]|0; - $406 = HEAP32[$pIndex>>2]|0; - $407 = ((($406)) + 4|0); - $408 = HEAP32[$407>>2]|0; - $409 = (($408) + ($405<<1)|0); - HEAP16[$409>>1] = -2; - $410 = HEAP32[$pIndex>>2]|0; - $411 = ((($410)) + 55|0); - $412 = HEAP8[$411>>0]|0; - $413 = $412 & -9; - HEAP8[$411>>0] = $413; + HEAP32[$27>>2] = -2; + $454 = HEAP32[$23>>2]|0; + $455 = ((($454)) + 4|0); + $456 = HEAP32[$455>>2]|0; + $457 = HEAP32[$26>>2]|0; + $458 = (($456) + ($457<<1)|0); + HEAP16[$458>>1] = -2; + $459 = HEAP32[$23>>2]|0; + $460 = ((($459)) + 55|0); + $461 = HEAP8[$460>>0]|0; + $462 = $461 & -9; + HEAP8[$460>>0] = $462; } else { - $414 = HEAP32[$pCExpr>>2]|0; - $415 = ((($414)) + 32|0); - $416 = HEAP16[$415>>1]|0; - $417 = $416 << 16 >> 16; - HEAP32[$j>>2] = $417; - $418 = HEAP32[$j>>2]|0; - $419 = ($418|0)<(0); + $463 = HEAP32[$44>>2]|0; + $464 = ((($463)) + 32|0); + $465 = HEAP16[$464>>1]|0; + $466 = $465 << 16 >> 16; + HEAP32[$27>>2] = $466; + $467 = HEAP32[$27>>2]|0; + $468 = ($467|0)<(0); + $469 = HEAP32[$22>>2]|0; do { - if ($419) { - $420 = HEAP32[$pTab>>2]|0; - $421 = ((($420)) + 32|0); - $422 = HEAP16[$421>>1]|0; - $423 = $422 << 16 >> 16; - HEAP32[$j>>2] = $423; + if ($468) { + $470 = ((($469)) + 32|0); + $471 = HEAP16[$470>>1]|0; + $472 = $471 << 16 >> 16; + HEAP32[$27>>2] = $472; } else { - $424 = HEAP32[$j>>2]|0; - $425 = HEAP32[$pTab>>2]|0; - $426 = ((($425)) + 4|0); - $427 = HEAP32[$426>>2]|0; - $428 = (($427) + ($424<<4)|0); - $429 = ((($428)) + 12|0); - $430 = HEAP8[$429>>0]|0; - $431 = $430&255; - $432 = ($431|0)==(0); - if (!($432)) { + $473 = ((($469)) + 4|0); + $474 = HEAP32[$473>>2]|0; + $475 = HEAP32[$27>>2]|0; + $476 = (($474) + ($475<<4)|0); + $477 = ((($476)) + 12|0); + $478 = HEAP8[$477>>0]|0; + $479 = $478&255; + $480 = ($479|0)==(0); + if (!($480)) { break; } - $433 = HEAP32[$pIndex>>2]|0; - $434 = ((($433)) + 55|0); - $435 = HEAP8[$434>>0]|0; - $436 = $435 & -9; - HEAP8[$434>>0] = $436; + $481 = HEAP32[$23>>2]|0; + $482 = ((($481)) + 55|0); + $483 = HEAP8[$482>>0]|0; + $484 = $483 & -9; + HEAP8[$482>>0] = $484; } } while(0); - $437 = HEAP32[$j>>2]|0; - $438 = $437&65535; - $439 = HEAP32[$i>>2]|0; - $440 = HEAP32[$pIndex>>2]|0; - $441 = ((($440)) + 4|0); - $442 = HEAP32[$441>>2]|0; - $443 = (($442) + ($439<<1)|0); - HEAP16[$443>>1] = $438; + $485 = HEAP32[$27>>2]|0; + $486 = $485&65535; + $487 = HEAP32[$23>>2]|0; + $488 = ((($487)) + 4|0); + $489 = HEAP32[$488>>2]|0; + $490 = HEAP32[$26>>2]|0; + $491 = (($489) + ($490<<1)|0); + HEAP16[$491>>1] = $486; } - HEAP32[$zColl>>2] = 0; - $444 = HEAP32[$pListItem>>2]|0; - $445 = HEAP32[$444>>2]|0; - $446 = HEAP8[$445>>0]|0; - $447 = $446&255; - $448 = ($447|0)==(53); + HEAP32[$46>>2] = 0; + $492 = HEAP32[$34>>2]|0; + $493 = HEAP32[$492>>2]|0; + $494 = HEAP8[$493>>0]|0; + $495 = $494&255; + $496 = ($495|0)==(53); do { - if ($448) { - $449 = HEAP32[$pListItem>>2]|0; - $450 = HEAP32[$449>>2]|0; - $451 = ((($450)) + 8|0); - $452 = HEAP32[$451>>2]|0; - HEAP32[$zColl>>2] = $452; - $453 = HEAP32[$zColl>>2]|0; - $454 = (_sqlite3Strlen30($453)|0); - $455 = (($454) + 1)|0; - HEAP32[$nColl>>2] = $455; - $456 = HEAP32[$zExtra>>2]|0; - $457 = HEAP32[$zColl>>2]|0; - $458 = HEAP32[$nColl>>2]|0; - _memcpy(($456|0),($457|0),($458|0))|0; - $459 = HEAP32[$zExtra>>2]|0; - HEAP32[$zColl>>2] = $459; - $460 = HEAP32[$nColl>>2]|0; - $461 = HEAP32[$zExtra>>2]|0; - $462 = (($461) + ($460)|0); - HEAP32[$zExtra>>2] = $462; - $463 = HEAP32[$nColl>>2]|0; - $464 = HEAP32[$nExtra>>2]|0; - $465 = (($464) - ($463))|0; - HEAP32[$nExtra>>2] = $465; + if ($496) { + $497 = HEAP32[$34>>2]|0; + $498 = HEAP32[$497>>2]|0; + $499 = ((($498)) + 8|0); + $500 = HEAP32[$499>>2]|0; + HEAP32[$46>>2] = $500; + $501 = HEAP32[$46>>2]|0; + $502 = (_sqlite3Strlen30($501)|0); + $503 = (($502) + 1)|0; + HEAP32[$48>>2] = $503; + $504 = HEAP32[$37>>2]|0; + $505 = HEAP32[$46>>2]|0; + $506 = HEAP32[$48>>2]|0; + _memcpy(($504|0),($505|0),($506|0))|0; + $507 = HEAP32[$37>>2]|0; + HEAP32[$46>>2] = $507; + $508 = HEAP32[$48>>2]|0; + $509 = HEAP32[$37>>2]|0; + $510 = (($509) + ($508)|0); + HEAP32[$37>>2] = $510; + $511 = HEAP32[$48>>2]|0; + $512 = HEAP32[$35>>2]|0; + $513 = (($512) - ($511))|0; + HEAP32[$35>>2] = $513; } else { - $466 = HEAP32[$j>>2]|0; - $467 = ($466|0)>=(0); - if (!($467)) { + $514 = HEAP32[$27>>2]|0; + $515 = ($514|0)>=(0); + if (!($515)) { break; } - $468 = HEAP32[$j>>2]|0; - $469 = HEAP32[$pTab>>2]|0; - $470 = ((($469)) + 4|0); - $471 = HEAP32[$470>>2]|0; - $472 = (($471) + ($468<<4)|0); - $473 = ((($472)) + 8|0); - $474 = HEAP32[$473>>2]|0; - HEAP32[$zColl>>2] = $474; + $516 = HEAP32[$22>>2]|0; + $517 = ((($516)) + 4|0); + $518 = HEAP32[$517>>2]|0; + $519 = HEAP32[$27>>2]|0; + $520 = (($518) + ($519<<4)|0); + $521 = ((($520)) + 8|0); + $522 = HEAP32[$521>>2]|0; + HEAP32[$46>>2] = $522; } } while(0); - $475 = HEAP32[$zColl>>2]|0; - $476 = ($475|0)!=(0|0); - if (!($476)) { - HEAP32[$zColl>>2] = 34834; + $523 = HEAP32[$46>>2]|0; + $524 = ($523|0)!=(0|0); + if (!($524)) { + HEAP32[$46>>2] = 34455; } - $477 = HEAP32[$db>>2]|0; - $478 = ((($477)) + 148|0); - $479 = ((($478)) + 5|0); - $480 = HEAP8[$479>>0]|0; - $481 = ($480<<24>>24)!=(0); - if (!($481)) { - $482 = HEAP32[$0>>2]|0; - $483 = HEAP32[$zColl>>2]|0; - $484 = (_sqlite3LocateCollSeq($482,$483)|0); - $485 = ($484|0)!=(0|0); - if (!($485)) { + $525 = HEAP32[$30>>2]|0; + $526 = ((($525)) + 148|0); + $527 = ((($526)) + 5|0); + $528 = HEAP8[$527>>0]|0; + $529 = ($528<<24>>24)!=(0); + if (!($529)) { + $530 = HEAP32[$11>>2]|0; + $531 = HEAP32[$46>>2]|0; + $532 = (_sqlite3LocateCollSeq($530,$531)|0); + $533 = ($532|0)!=(0|0); + if (!($533)) { break L1; } } - $486 = HEAP32[$zColl>>2]|0; - $487 = HEAP32[$i>>2]|0; - $488 = HEAP32[$pIndex>>2]|0; - $489 = ((($488)) + 32|0); - $490 = HEAP32[$489>>2]|0; - $491 = (($490) + ($487<<2)|0); - HEAP32[$491>>2] = $486; - $492 = HEAP32[$pListItem>>2]|0; - $493 = ((($492)) + 12|0); - $494 = HEAP8[$493>>0]|0; - $495 = $494&255; - $496 = HEAP32[$sortOrderMask>>2]|0; - $497 = $495 & $496; - HEAP32[$requestedSortOrder>>2] = $497; - $498 = HEAP32[$requestedSortOrder>>2]|0; - $499 = $498&255; - $500 = HEAP32[$i>>2]|0; - $501 = HEAP32[$pIndex>>2]|0; - $502 = ((($501)) + 28|0); - $503 = HEAP32[$502>>2]|0; - $504 = (($503) + ($500)|0); - HEAP8[$504>>0] = $499; - $505 = HEAP32[$i>>2]|0; - $506 = (($505) + 1)|0; - HEAP32[$i>>2] = $506; - $507 = HEAP32[$pListItem>>2]|0; - $508 = ((($507)) + 20|0); - HEAP32[$pListItem>>2] = $508; + $534 = HEAP32[$46>>2]|0; + $535 = HEAP32[$23>>2]|0; + $536 = ((($535)) + 32|0); + $537 = HEAP32[$536>>2]|0; + $538 = HEAP32[$26>>2]|0; + $539 = (($537) + ($538<<2)|0); + HEAP32[$539>>2] = $534; + $540 = HEAP32[$34>>2]|0; + $541 = ((($540)) + 12|0); + $542 = HEAP8[$541>>0]|0; + $543 = $542&255; + $544 = HEAP32[$29>>2]|0; + $545 = $543 & $544; + HEAP32[$45>>2] = $545; + $546 = HEAP32[$45>>2]|0; + $547 = $546&255; + $548 = HEAP32[$23>>2]|0; + $549 = ((($548)) + 28|0); + $550 = HEAP32[$549>>2]|0; + $551 = HEAP32[$26>>2]|0; + $552 = (($550) + ($551)|0); + HEAP8[$552>>0] = $547; + $553 = HEAP32[$26>>2]|0; + $554 = (($553) + 1)|0; + HEAP32[$26>>2] = $554; + $555 = HEAP32[$34>>2]|0; + $556 = ((($555)) + 20|0); + HEAP32[$34>>2] = $556; } if ((label|0) == 68) { - $385 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($385,36701,$vararg_buffer23); + $434 = HEAP32[$11>>2]|0; + _sqlite3ErrorMsg($434,36138,$vararg_buffer23); break; } - $509 = HEAP32[$pPk>>2]|0; - $510 = ($509|0)!=(0|0); + $557 = HEAP32[$38>>2]|0; + $558 = ($557|0)!=(0|0); L113: do { - if ($510) { - HEAP32[$j>>2] = 0; + if ($558) { + HEAP32[$27>>2] = 0; while(1) { - $511 = HEAP32[$j>>2]|0; - $512 = HEAP32[$pPk>>2]|0; - $513 = ((($512)) + 50|0); - $514 = HEAP16[$513>>1]|0; - $515 = $514&65535; - $516 = ($511|0)<($515|0); - if (!($516)) { + $559 = HEAP32[$27>>2]|0; + $560 = HEAP32[$38>>2]|0; + $561 = ((($560)) + 50|0); + $562 = HEAP16[$561>>1]|0; + $563 = $562&65535; + $564 = ($559|0)<($563|0); + if (!($564)) { break L113; } - $517 = HEAP32[$j>>2]|0; - $518 = HEAP32[$pPk>>2]|0; - $519 = ((($518)) + 4|0); - $520 = HEAP32[$519>>2]|0; - $521 = (($520) + ($517<<1)|0); - $522 = HEAP16[$521>>1]|0; - $523 = $522 << 16 >> 16; - HEAP32[$x>>2] = $523; - $524 = HEAP32[$pIndex>>2]|0; - $525 = ((($524)) + 4|0); - $526 = HEAP32[$525>>2]|0; - $527 = HEAP32[$pIndex>>2]|0; - $528 = ((($527)) + 50|0); - $529 = HEAP16[$528>>1]|0; - $530 = $529&65535; - $531 = HEAP32[$x>>2]|0; - $532 = (_hasColumn($526,$530,$531)|0); - $533 = ($532|0)!=(0); - if ($533) { - $534 = HEAP32[$pIndex>>2]|0; - $535 = ((($534)) + 52|0); - $536 = HEAP16[$535>>1]|0; - $537 = (($536) + -1)<<16>>16; - HEAP16[$535>>1] = $537; + $565 = HEAP32[$38>>2]|0; + $566 = ((($565)) + 4|0); + $567 = HEAP32[$566>>2]|0; + $568 = HEAP32[$27>>2]|0; + $569 = (($567) + ($568<<1)|0); + $570 = HEAP16[$569>>1]|0; + $571 = $570 << 16 >> 16; + HEAP32[$49>>2] = $571; + $572 = HEAP32[$23>>2]|0; + $573 = ((($572)) + 4|0); + $574 = HEAP32[$573>>2]|0; + $575 = HEAP32[$23>>2]|0; + $576 = ((($575)) + 50|0); + $577 = HEAP16[$576>>1]|0; + $578 = $577&65535; + $579 = HEAP32[$49>>2]|0; + $580 = (_hasColumn($574,$578,$579)|0); + $581 = ($580|0)!=(0); + if ($581) { + $582 = HEAP32[$23>>2]|0; + $583 = ((($582)) + 52|0); + $584 = HEAP16[$583>>1]|0; + $585 = (($584) + -1)<<16>>16; + HEAP16[$583>>1] = $585; } else { - $538 = HEAP32[$x>>2]|0; - $539 = $538&65535; - $540 = HEAP32[$i>>2]|0; - $541 = HEAP32[$pIndex>>2]|0; - $542 = ((($541)) + 4|0); - $543 = HEAP32[$542>>2]|0; - $544 = (($543) + ($540<<1)|0); - HEAP16[$544>>1] = $539; - $545 = HEAP32[$j>>2]|0; - $546 = HEAP32[$pPk>>2]|0; - $547 = ((($546)) + 32|0); - $548 = HEAP32[$547>>2]|0; - $549 = (($548) + ($545<<2)|0); - $550 = HEAP32[$549>>2]|0; - $551 = HEAP32[$i>>2]|0; - $552 = HEAP32[$pIndex>>2]|0; - $553 = ((($552)) + 32|0); - $554 = HEAP32[$553>>2]|0; - $555 = (($554) + ($551<<2)|0); - HEAP32[$555>>2] = $550; - $556 = HEAP32[$j>>2]|0; - $557 = HEAP32[$pPk>>2]|0; - $558 = ((($557)) + 28|0); - $559 = HEAP32[$558>>2]|0; - $560 = (($559) + ($556)|0); - $561 = HEAP8[$560>>0]|0; - $562 = HEAP32[$i>>2]|0; - $563 = HEAP32[$pIndex>>2]|0; - $564 = ((($563)) + 28|0); - $565 = HEAP32[$564>>2]|0; - $566 = (($565) + ($562)|0); - HEAP8[$566>>0] = $561; - $567 = HEAP32[$i>>2]|0; - $568 = (($567) + 1)|0; - HEAP32[$i>>2] = $568; + $586 = HEAP32[$49>>2]|0; + $587 = $586&65535; + $588 = HEAP32[$23>>2]|0; + $589 = ((($588)) + 4|0); + $590 = HEAP32[$589>>2]|0; + $591 = HEAP32[$26>>2]|0; + $592 = (($590) + ($591<<1)|0); + HEAP16[$592>>1] = $587; + $593 = HEAP32[$38>>2]|0; + $594 = ((($593)) + 32|0); + $595 = HEAP32[$594>>2]|0; + $596 = HEAP32[$27>>2]|0; + $597 = (($595) + ($596<<2)|0); + $598 = HEAP32[$597>>2]|0; + $599 = HEAP32[$23>>2]|0; + $600 = ((($599)) + 32|0); + $601 = HEAP32[$600>>2]|0; + $602 = HEAP32[$26>>2]|0; + $603 = (($601) + ($602<<2)|0); + HEAP32[$603>>2] = $598; + $604 = HEAP32[$38>>2]|0; + $605 = ((($604)) + 28|0); + $606 = HEAP32[$605>>2]|0; + $607 = HEAP32[$27>>2]|0; + $608 = (($606) + ($607)|0); + $609 = HEAP8[$608>>0]|0; + $610 = HEAP32[$23>>2]|0; + $611 = ((($610)) + 28|0); + $612 = HEAP32[$611>>2]|0; + $613 = HEAP32[$26>>2]|0; + $614 = (($612) + ($613)|0); + HEAP8[$614>>0] = $609; + $615 = HEAP32[$26>>2]|0; + $616 = (($615) + 1)|0; + HEAP32[$26>>2] = $616; } - $569 = HEAP32[$j>>2]|0; - $570 = (($569) + 1)|0; - HEAP32[$j>>2] = $570; + $617 = HEAP32[$27>>2]|0; + $618 = (($617) + 1)|0; + HEAP32[$27>>2] = $618; } } else { - $571 = HEAP32[$i>>2]|0; - $572 = HEAP32[$pIndex>>2]|0; - $573 = ((($572)) + 4|0); - $574 = HEAP32[$573>>2]|0; - $575 = (($574) + ($571<<1)|0); - HEAP16[$575>>1] = -1; - $576 = HEAP32[$i>>2]|0; - $577 = HEAP32[$pIndex>>2]|0; - $578 = ((($577)) + 32|0); - $579 = HEAP32[$578>>2]|0; - $580 = (($579) + ($576<<2)|0); - HEAP32[$580>>2] = 34834; + $619 = HEAP32[$23>>2]|0; + $620 = ((($619)) + 4|0); + $621 = HEAP32[$620>>2]|0; + $622 = HEAP32[$26>>2]|0; + $623 = (($621) + ($622<<1)|0); + HEAP16[$623>>1] = -1; + $624 = HEAP32[$23>>2]|0; + $625 = ((($624)) + 32|0); + $626 = HEAP32[$625>>2]|0; + $627 = HEAP32[$26>>2]|0; + $628 = (($626) + ($627<<2)|0); + HEAP32[$628>>2] = 34455; } } while(0); - $581 = HEAP32[$pIndex>>2]|0; - _sqlite3DefaultRowEst($581); - $582 = HEAP32[$0>>2]|0; - $583 = ((($582)) + 440|0); - $584 = HEAP32[$583>>2]|0; - $585 = ($584|0)==(0|0); - if ($585) { - $586 = HEAP32[$pIndex>>2]|0; - _estimateIndexWidth($586); + $629 = HEAP32[$23>>2]|0; + _sqlite3DefaultRowEst($629); + $630 = HEAP32[$11>>2]|0; + $631 = ((($630)) + 440|0); + $632 = HEAP32[$631>>2]|0; + $633 = ($632|0)==(0|0); + if ($633) { + $634 = HEAP32[$23>>2]|0; + _estimateIndexWidth($634); } - $587 = HEAP32[$3>>2]|0; - $588 = ($587|0)!=(0|0); + $635 = HEAP32[$14>>2]|0; + $636 = ($635|0)!=(0|0); L127: do { - if ($588) { - $589 = HEAP32[$pIndex>>2]|0; - $590 = ((($589)) + 52|0); - $591 = HEAP16[$590>>1]|0; - $592 = $591&65535; - $593 = HEAP32[$pTab>>2]|0; - $594 = ((($593)) + 34|0); - $595 = HEAP16[$594>>1]|0; - $596 = $595 << 16 >> 16; - $597 = ($592|0)>=($596|0); - if (!($597)) { + if ($636) { + $637 = HEAP32[$23>>2]|0; + $638 = ((($637)) + 52|0); + $639 = HEAP16[$638>>1]|0; + $640 = $639&65535; + $641 = HEAP32[$22>>2]|0; + $642 = ((($641)) + 34|0); + $643 = HEAP16[$642>>1]|0; + $644 = $643 << 16 >> 16; + $645 = ($640|0)>=($644|0); + if (!($645)) { break; } - $598 = HEAP32[$pIndex>>2]|0; - $599 = ((($598)) + 55|0); - $600 = HEAP8[$599>>0]|0; - $601 = $600 & -33; - $602 = $601 | 32; - HEAP8[$599>>0] = $602; - HEAP32[$j>>2] = 0; + $646 = HEAP32[$23>>2]|0; + $647 = ((($646)) + 55|0); + $648 = HEAP8[$647>>0]|0; + $649 = $648 & -33; + $650 = $649 | 32; + HEAP8[$647>>0] = $650; + HEAP32[$27>>2] = 0; while(1) { - $603 = HEAP32[$j>>2]|0; - $604 = HEAP32[$pTab>>2]|0; - $605 = ((($604)) + 34|0); - $606 = HEAP16[$605>>1]|0; - $607 = $606 << 16 >> 16; - $608 = ($603|0)<($607|0); - if (!($608)) { + $651 = HEAP32[$27>>2]|0; + $652 = HEAP32[$22>>2]|0; + $653 = ((($652)) + 34|0); + $654 = HEAP16[$653>>1]|0; + $655 = $654 << 16 >> 16; + $656 = ($651|0)<($655|0); + if (!($656)) { break L127; } - $609 = HEAP32[$j>>2]|0; - $610 = HEAP32[$pTab>>2]|0; - $611 = ((($610)) + 32|0); - $612 = HEAP16[$611>>1]|0; - $613 = $612 << 16 >> 16; - $614 = ($609|0)==($613|0); - if (!($614)) { - $615 = HEAP32[$pIndex>>2]|0; - $616 = HEAP32[$j>>2]|0; - $617 = $616&65535; - $618 = (_sqlite3ColumnOfIndex($615,$617)|0); - $619 = $618 << 16 >> 16; - $620 = ($619|0)>=(0); - if (!($620)) { + $657 = HEAP32[$27>>2]|0; + $658 = HEAP32[$22>>2]|0; + $659 = ((($658)) + 32|0); + $660 = HEAP16[$659>>1]|0; + $661 = $660 << 16 >> 16; + $662 = ($657|0)==($661|0); + if (!($662)) { + $663 = HEAP32[$23>>2]|0; + $664 = HEAP32[$27>>2]|0; + $665 = $664&65535; + $666 = (_sqlite3ColumnOfIndex($663,$665)|0); + $667 = $666 << 16 >> 16; + $668 = ($667|0)>=(0); + if (!($668)) { break; } } - $625 = HEAP32[$j>>2]|0; - $626 = (($625) + 1)|0; - HEAP32[$j>>2] = $626; + $673 = HEAP32[$27>>2]|0; + $674 = (($673) + 1)|0; + HEAP32[$27>>2] = $674; } - $621 = HEAP32[$pIndex>>2]|0; - $622 = ((($621)) + 55|0); - $623 = HEAP8[$622>>0]|0; - $624 = $623 & -33; - HEAP8[$622>>0] = $624; + $669 = HEAP32[$23>>2]|0; + $670 = ((($669)) + 55|0); + $671 = HEAP8[$670>>0]|0; + $672 = $671 & -33; + HEAP8[$670>>0] = $672; } } while(0); - $627 = HEAP32[$pTab>>2]|0; - $628 = HEAP32[$0>>2]|0; - $629 = ((($628)) + 440|0); - $630 = HEAP32[$629>>2]|0; - $631 = ($627|0)==($630|0); + $675 = HEAP32[$22>>2]|0; + $676 = HEAP32[$11>>2]|0; + $677 = ((($676)) + 440|0); + $678 = HEAP32[$677>>2]|0; + $679 = ($675|0)==($678|0); L138: do { - if ($631) { - $632 = HEAP32[$pTab>>2]|0; - $633 = ((($632)) + 8|0); - $634 = HEAP32[$633>>2]|0; - HEAP32[$pIdx>>2] = $634; + if ($679) { + $680 = HEAP32[$22>>2]|0; + $681 = ((($680)) + 8|0); + $682 = HEAP32[$681>>2]|0; + HEAP32[$50>>2] = $682; while(1) { - $635 = HEAP32[$pIdx>>2]|0; - $636 = ($635|0)!=(0|0); - if (!($636)) { + $683 = HEAP32[$50>>2]|0; + $684 = ($683|0)!=(0|0); + if (!($684)) { break L138; } - $637 = HEAP32[$pIdx>>2]|0; - $638 = ((($637)) + 50|0); - $639 = HEAP16[$638>>1]|0; - $640 = $639&65535; - $641 = HEAP32[$pIndex>>2]|0; - $642 = ((($641)) + 50|0); - $643 = HEAP16[$642>>1]|0; - $644 = $643&65535; - $645 = ($640|0)!=($644|0); - if (!($645)) { - HEAP32[$k>>2] = 0; + $685 = HEAP32[$50>>2]|0; + $686 = ((($685)) + 50|0); + $687 = HEAP16[$686>>1]|0; + $688 = $687&65535; + $689 = HEAP32[$23>>2]|0; + $690 = ((($689)) + 50|0); + $691 = HEAP16[$690>>1]|0; + $692 = $691&65535; + $693 = ($688|0)!=($692|0); + if (!($693)) { + HEAP32[$51>>2] = 0; while(1) { - $646 = HEAP32[$k>>2]|0; - $647 = HEAP32[$pIdx>>2]|0; - $648 = ((($647)) + 50|0); - $649 = HEAP16[$648>>1]|0; - $650 = $649&65535; - $651 = ($646|0)<($650|0); - if (!($651)) { + $694 = HEAP32[$51>>2]|0; + $695 = HEAP32[$50>>2]|0; + $696 = ((($695)) + 50|0); + $697 = HEAP16[$696>>1]|0; + $698 = $697&65535; + $699 = ($694|0)<($698|0); + if (!($699)) { break; } - $652 = HEAP32[$k>>2]|0; - $653 = HEAP32[$pIdx>>2]|0; - $654 = ((($653)) + 4|0); - $655 = HEAP32[$654>>2]|0; - $656 = (($655) + ($652<<1)|0); - $657 = HEAP16[$656>>1]|0; - $658 = $657 << 16 >> 16; - $659 = HEAP32[$k>>2]|0; - $660 = HEAP32[$pIndex>>2]|0; - $661 = ((($660)) + 4|0); - $662 = HEAP32[$661>>2]|0; - $663 = (($662) + ($659<<1)|0); - $664 = HEAP16[$663>>1]|0; - $665 = $664 << 16 >> 16; - $666 = ($658|0)!=($665|0); - if ($666) { + $700 = HEAP32[$50>>2]|0; + $701 = ((($700)) + 4|0); + $702 = HEAP32[$701>>2]|0; + $703 = HEAP32[$51>>2]|0; + $704 = (($702) + ($703<<1)|0); + $705 = HEAP16[$704>>1]|0; + $706 = $705 << 16 >> 16; + $707 = HEAP32[$23>>2]|0; + $708 = ((($707)) + 4|0); + $709 = HEAP32[$708>>2]|0; + $710 = HEAP32[$51>>2]|0; + $711 = (($709) + ($710<<1)|0); + $712 = HEAP16[$711>>1]|0; + $713 = $712 << 16 >> 16; + $714 = ($706|0)!=($713|0); + if ($714) { break; } - $667 = HEAP32[$k>>2]|0; - $668 = HEAP32[$pIdx>>2]|0; - $669 = ((($668)) + 32|0); - $670 = HEAP32[$669>>2]|0; - $671 = (($670) + ($667<<2)|0); - $672 = HEAP32[$671>>2]|0; - HEAP32[$z1>>2] = $672; - $673 = HEAP32[$k>>2]|0; - $674 = HEAP32[$pIndex>>2]|0; - $675 = ((($674)) + 32|0); - $676 = HEAP32[$675>>2]|0; - $677 = (($676) + ($673<<2)|0); - $678 = HEAP32[$677>>2]|0; - HEAP32[$z2>>2] = $678; - $679 = HEAP32[$z1>>2]|0; - $680 = HEAP32[$z2>>2]|0; - $681 = (_sqlite3StrICmp($679,$680)|0); - $682 = ($681|0)!=(0); - if ($682) { + $715 = HEAP32[$50>>2]|0; + $716 = ((($715)) + 32|0); + $717 = HEAP32[$716>>2]|0; + $718 = HEAP32[$51>>2]|0; + $719 = (($717) + ($718<<2)|0); + $720 = HEAP32[$719>>2]|0; + HEAP32[$52>>2] = $720; + $721 = HEAP32[$23>>2]|0; + $722 = ((($721)) + 32|0); + $723 = HEAP32[$722>>2]|0; + $724 = HEAP32[$51>>2]|0; + $725 = (($723) + ($724<<2)|0); + $726 = HEAP32[$725>>2]|0; + HEAP32[$53>>2] = $726; + $727 = HEAP32[$52>>2]|0; + $728 = HEAP32[$53>>2]|0; + $729 = (_sqlite3StrICmp($727,$728)|0); + $730 = ($729|0)!=(0); + if ($730) { break; } - $683 = HEAP32[$k>>2]|0; - $684 = (($683) + 1)|0; - HEAP32[$k>>2] = $684; + $731 = HEAP32[$51>>2]|0; + $732 = (($731) + 1)|0; + HEAP32[$51>>2] = $732; } - $685 = HEAP32[$k>>2]|0; - $686 = HEAP32[$pIdx>>2]|0; - $687 = ((($686)) + 50|0); - $688 = HEAP16[$687>>1]|0; - $689 = $688&65535; - $690 = ($685|0)==($689|0); - if ($690) { + $733 = HEAP32[$51>>2]|0; + $734 = HEAP32[$50>>2]|0; + $735 = ((($734)) + 50|0); + $736 = HEAP16[$735>>1]|0; + $737 = $736&65535; + $738 = ($733|0)==($737|0); + if ($738) { break; } } - $733 = HEAP32[$pIdx>>2]|0; - $734 = ((($733)) + 20|0); - $735 = HEAP32[$734>>2]|0; - HEAP32[$pIdx>>2] = $735; + $781 = HEAP32[$50>>2]|0; + $782 = ((($781)) + 20|0); + $783 = HEAP32[$782>>2]|0; + HEAP32[$50>>2] = $783; } - $691 = HEAP32[$pIdx>>2]|0; - $692 = ((($691)) + 54|0); - $693 = HEAP8[$692>>0]|0; - $694 = $693&255; - $695 = HEAP32[$pIndex>>2]|0; - $696 = ((($695)) + 54|0); - $697 = HEAP8[$696>>0]|0; - $698 = $697&255; - $699 = ($694|0)!=($698|0); + $739 = HEAP32[$50>>2]|0; + $740 = ((($739)) + 54|0); + $741 = HEAP8[$740>>0]|0; + $742 = $741&255; + $743 = HEAP32[$23>>2]|0; + $744 = ((($743)) + 54|0); + $745 = HEAP8[$744>>0]|0; + $746 = $745&255; + $747 = ($742|0)!=($746|0); do { - if ($699) { - $700 = HEAP32[$pIdx>>2]|0; - $701 = ((($700)) + 54|0); - $702 = HEAP8[$701>>0]|0; - $703 = $702&255; - $704 = ($703|0)==(10); + if ($747) { + $748 = HEAP32[$50>>2]|0; + $749 = ((($748)) + 54|0); + $750 = HEAP8[$749>>0]|0; + $751 = $750&255; + $752 = ($751|0)==(10); do { - if (!($704)) { - $705 = HEAP32[$pIndex>>2]|0; - $706 = ((($705)) + 54|0); - $707 = HEAP8[$706>>0]|0; - $708 = $707&255; - $709 = ($708|0)==(10); - if ($709) { + if (!($752)) { + $753 = HEAP32[$23>>2]|0; + $754 = ((($753)) + 54|0); + $755 = HEAP8[$754>>0]|0; + $756 = $755&255; + $757 = ($756|0)==(10); + if ($757) { break; } - $710 = HEAP32[$0>>2]|0; + $758 = HEAP32[$11>>2]|0; HEAP32[$vararg_buffer25>>2] = 0; - _sqlite3ErrorMsg($710,36762,$vararg_buffer25); + _sqlite3ErrorMsg($758,36199,$vararg_buffer25); } } while(0); - $711 = HEAP32[$pIdx>>2]|0; - $712 = ((($711)) + 54|0); - $713 = HEAP8[$712>>0]|0; - $714 = $713&255; - $715 = ($714|0)==(10); - if (!($715)) { + $759 = HEAP32[$50>>2]|0; + $760 = ((($759)) + 54|0); + $761 = HEAP8[$760>>0]|0; + $762 = $761&255; + $763 = ($762|0)==(10); + if (!($763)) { break; } - $716 = HEAP32[$pIndex>>2]|0; - $717 = ((($716)) + 54|0); - $718 = HEAP8[$717>>0]|0; - $719 = HEAP32[$pIdx>>2]|0; - $720 = ((($719)) + 54|0); - HEAP8[$720>>0] = $718; + $764 = HEAP32[$23>>2]|0; + $765 = ((($764)) + 54|0); + $766 = HEAP8[$765>>0]|0; + $767 = HEAP32[$50>>2]|0; + $768 = ((($767)) + 54|0); + HEAP8[$768>>0] = $766; } } while(0); - $721 = HEAP8[$10>>0]|0; - $722 = $721&255; - $723 = ($722|0)==(2); - if (!($723)) { + $769 = HEAP8[$21>>0]|0; + $770 = $769&255; + $771 = ($770|0)==(2); + if (!($771)) { break L1; } - $724 = HEAP8[$10>>0]|0; - $725 = $724&255; - $726 = HEAP32[$pIdx>>2]|0; - $727 = ((($726)) + 55|0); - $728 = $725&255; - $729 = HEAP8[$727>>0]|0; - $730 = $728 & 3; - $731 = $729 & -4; - $732 = $731 | $730; - HEAP8[$727>>0] = $732; + $772 = HEAP8[$21>>0]|0; + $773 = $772&255; + $774 = HEAP32[$50>>2]|0; + $775 = ((($774)) + 55|0); + $776 = $773&255; + $777 = HEAP8[$775>>0]|0; + $778 = $776 & 3; + $779 = $777 & -4; + $780 = $779 | $778; + HEAP8[$775>>0] = $780; break L1; } } while(0); - $736 = HEAP32[$db>>2]|0; - $737 = ((($736)) + 148|0); - $738 = ((($737)) + 5|0); - $739 = HEAP8[$738>>0]|0; - $740 = ($739<<24>>24)!=(0); + $784 = HEAP32[$30>>2]|0; + $785 = ((($784)) + 148|0); + $786 = ((($785)) + 5|0); + $787 = HEAP8[$786>>0]|0; + $788 = ($787<<24>>24)!=(0); do { - if ($740) { - $741 = HEAP32[$pIndex>>2]|0; - $742 = ((($741)) + 24|0); - $743 = HEAP32[$742>>2]|0; - $744 = ((($743)) + 24|0); - $745 = HEAP32[$pIndex>>2]|0; - $746 = HEAP32[$745>>2]|0; - $747 = HEAP32[$pIndex>>2]|0; - $748 = (_sqlite3HashInsert($744,$746,$747)|0); - HEAP32[$p>>2] = $748; - $749 = HEAP32[$p>>2]|0; - $750 = ($749|0)!=(0|0); - $751 = HEAP32[$db>>2]|0; - if ($750) { - _sqlite3OomFault($751); + if ($788) { + $789 = HEAP32[$23>>2]|0; + $790 = ((($789)) + 24|0); + $791 = HEAP32[$790>>2]|0; + $792 = ((($791)) + 24|0); + $793 = HEAP32[$23>>2]|0; + $794 = HEAP32[$793>>2]|0; + $795 = HEAP32[$23>>2]|0; + $796 = (_sqlite3HashInsert($792,$794,$795)|0); + HEAP32[$54>>2] = $796; + $797 = HEAP32[$54>>2]|0; + $798 = ($797|0)!=(0|0); + $799 = HEAP32[$30>>2]|0; + if ($798) { + _sqlite3OomFault($799); break L1; } - $752 = ((($751)) + 24|0); - $753 = HEAP32[$752>>2]|0; - $754 = $753 | 2; - HEAP32[$752>>2] = $754; - $755 = HEAP32[$3>>2]|0; - $756 = ($755|0)!=(0|0); - if (!($756)) { + $800 = ((($799)) + 24|0); + $801 = HEAP32[$800>>2]|0; + $802 = $801 | 2; + HEAP32[$800>>2] = $802; + $803 = HEAP32[$14>>2]|0; + $804 = ($803|0)!=(0|0); + if (!($804)) { break; } - $757 = HEAP32[$db>>2]|0; - $758 = ((($757)) + 148|0); - $759 = HEAP32[$758>>2]|0; - $760 = HEAP32[$pIndex>>2]|0; - $761 = ((($760)) + 44|0); - HEAP32[$761>>2] = $759; + $805 = HEAP32[$30>>2]|0; + $806 = ((($805)) + 148|0); + $807 = HEAP32[$806>>2]|0; + $808 = HEAP32[$23>>2]|0; + $809 = ((($808)) + 44|0); + HEAP32[$809>>2] = $807; } else { - $762 = HEAP32[$pTab>>2]|0; - $763 = ((($762)) + 42|0); - $764 = HEAP8[$763>>0]|0; - $765 = $764&255; - $766 = $765 & 32; - $767 = ($766|0)==(0); - $768 = HEAP32[$3>>2]|0; - $769 = ($768|0)!=(0|0); - $or$cond3 = $767 | $769; + $810 = HEAP32[$22>>2]|0; + $811 = ((($810)) + 42|0); + $812 = HEAP8[$811>>0]|0; + $813 = $812&255; + $814 = $813 & 32; + $815 = ($814|0)==(0); + $816 = HEAP32[$14>>2]|0; + $817 = ($816|0)!=(0|0); + $or$cond3 = $815 | $817; if (!($or$cond3)) { break; } - $770 = HEAP32[$0>>2]|0; - $771 = ((($770)) + 44|0); - $772 = HEAP32[$771>>2]|0; - $773 = (($772) + 1)|0; - HEAP32[$771>>2] = $773; - HEAP32[$iMem>>2] = $773; - $774 = HEAP32[$0>>2]|0; - $775 = (_sqlite3GetVdbe($774)|0); - HEAP32[$v>>2] = $775; - $776 = HEAP32[$v>>2]|0; - $777 = ($776|0)==(0|0); - if ($777) { + $818 = HEAP32[$11>>2]|0; + $819 = ((($818)) + 44|0); + $820 = HEAP32[$819>>2]|0; + $821 = (($820) + 1)|0; + HEAP32[$819>>2] = $821; + HEAP32[$57>>2] = $821; + $822 = HEAP32[$11>>2]|0; + $823 = (_sqlite3GetVdbe($822)|0); + HEAP32[$55>>2] = $823; + $824 = HEAP32[$55>>2]|0; + $825 = ($824|0)==(0|0); + if ($825) { break L1; } - $778 = HEAP32[$0>>2]|0; - $779 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($778,1,$779); - $780 = HEAP32[$v>>2]|0; - $781 = (_sqlite3VdbeAddOp0($780,161)|0); - $782 = HEAP32[$pIndex>>2]|0; - $783 = ((($782)) + 44|0); - HEAP32[$783>>2] = $781; - $784 = HEAP32[$v>>2]|0; - $785 = HEAP32[$iDb>>2]|0; - $786 = HEAP32[$iMem>>2]|0; - (_sqlite3VdbeAddOp2($784,134,$785,$786)|0); - $787 = HEAP32[$6>>2]|0; - $788 = ($787|0)!=(0|0); - if ($788) { - $789 = HEAP32[$0>>2]|0; - $790 = ((($789)) + 392|0); - $791 = HEAP32[$790>>2]|0; - $792 = HEAP32[$pName>>2]|0; - $793 = HEAP32[$792>>2]|0; - $794 = $791; - $795 = $793; - $796 = (($794) - ($795))|0; - $797 = HEAP32[$0>>2]|0; - $798 = ((($797)) + 392|0); - $799 = ((($798)) + 4|0); - $800 = HEAP32[$799>>2]|0; - $801 = (($796) + ($800))|0; - HEAP32[$n1>>2] = $801; - $802 = HEAP32[$n1>>2]|0; - $803 = (($802) - 1)|0; - $804 = HEAP32[$pName>>2]|0; - $805 = HEAP32[$804>>2]|0; - $806 = (($805) + ($803)|0); - $807 = HEAP8[$806>>0]|0; - $808 = $807 << 24 >> 24; - $809 = ($808|0)==(59); - if ($809) { - $810 = HEAP32[$n1>>2]|0; - $811 = (($810) + -1)|0; - HEAP32[$n1>>2] = $811; + $826 = HEAP32[$11>>2]|0; + $827 = HEAP32[$32>>2]|0; + _sqlite3BeginWriteOperation($826,1,$827); + $828 = HEAP32[$55>>2]|0; + $829 = (_sqlite3VdbeAddOp0($828,161)|0); + $830 = HEAP32[$23>>2]|0; + $831 = ((($830)) + 44|0); + HEAP32[$831>>2] = $829; + $832 = HEAP32[$55>>2]|0; + $833 = HEAP32[$32>>2]|0; + $834 = HEAP32[$57>>2]|0; + (_sqlite3VdbeAddOp2($832,134,$833,$834)|0); + $835 = HEAP32[$17>>2]|0; + $836 = ($835|0)!=(0|0); + if ($836) { + $837 = HEAP32[$11>>2]|0; + $838 = ((($837)) + 392|0); + $839 = HEAP32[$838>>2]|0; + $840 = HEAP32[$33>>2]|0; + $841 = HEAP32[$840>>2]|0; + $842 = $839; + $843 = $841; + $844 = (($842) - ($843))|0; + $845 = HEAP32[$11>>2]|0; + $846 = ((($845)) + 392|0); + $847 = ((($846)) + 4|0); + $848 = HEAP32[$847>>2]|0; + $849 = (($844) + ($848))|0; + HEAP32[$58>>2] = $849; + $850 = HEAP32[$33>>2]|0; + $851 = HEAP32[$850>>2]|0; + $852 = HEAP32[$58>>2]|0; + $853 = (($852) - 1)|0; + $854 = (($851) + ($853)|0); + $855 = HEAP8[$854>>0]|0; + $856 = $855 << 24 >> 24; + $857 = ($856|0)==(59); + if ($857) { + $858 = HEAP32[$58>>2]|0; + $859 = (($858) + -1)|0; + HEAP32[$58>>2] = $859; } - $812 = HEAP32[$db>>2]|0; - $813 = HEAP32[$5>>2]|0; - $814 = ($813|0)==(0); - $815 = $814 ? 18402 : 36804; - $816 = HEAP32[$n1>>2]|0; - $817 = HEAP32[$pName>>2]|0; - $818 = HEAP32[$817>>2]|0; - HEAP32[$vararg_buffer28>>2] = $815; + $860 = HEAP32[$30>>2]|0; + $861 = HEAP32[$16>>2]|0; + $862 = ($861|0)==(0); + $863 = $862 ? 55752 : 36241; + $864 = HEAP32[$58>>2]|0; + $865 = HEAP32[$33>>2]|0; + $866 = HEAP32[$865>>2]|0; + HEAP32[$vararg_buffer28>>2] = $863; $vararg_ptr31 = ((($vararg_buffer28)) + 4|0); - HEAP32[$vararg_ptr31>>2] = $816; + HEAP32[$vararg_ptr31>>2] = $864; $vararg_ptr32 = ((($vararg_buffer28)) + 8|0); - HEAP32[$vararg_ptr32>>2] = $818; - $819 = (_sqlite3MPrintf($812,36812,$vararg_buffer28)|0); - HEAP32[$zStmt>>2] = $819; + HEAP32[$vararg_ptr32>>2] = $866; + $867 = (_sqlite3MPrintf($860,36249,$vararg_buffer28)|0); + HEAP32[$56>>2] = $867; } else { - HEAP32[$zStmt>>2] = 0; + HEAP32[$56>>2] = 0; } - $820 = HEAP32[$0>>2]|0; - $821 = HEAP32[$iDb>>2]|0; - $822 = HEAP32[$db>>2]|0; - $823 = ((($822)) + 16|0); - $824 = HEAP32[$823>>2]|0; - $825 = (($824) + ($821<<4)|0); - $826 = HEAP32[$825>>2]|0; - $827 = HEAP32[$iDb>>2]|0; - $828 = ($827|0)==(1); - $829 = $828 ? 19905 : 19924; - $830 = HEAP32[$pIndex>>2]|0; - $831 = HEAP32[$830>>2]|0; - $832 = HEAP32[$pTab>>2]|0; - $833 = HEAP32[$832>>2]|0; - $834 = HEAP32[$iMem>>2]|0; - $835 = HEAP32[$zStmt>>2]|0; - HEAP32[$vararg_buffer33>>2] = $826; + $868 = HEAP32[$11>>2]|0; + $869 = HEAP32[$30>>2]|0; + $870 = ((($869)) + 16|0); + $871 = HEAP32[$870>>2]|0; + $872 = HEAP32[$32>>2]|0; + $873 = (($871) + ($872<<4)|0); + $874 = HEAP32[$873>>2]|0; + $875 = HEAP32[$32>>2]|0; + $876 = ($875|0)==(1); + $877 = $876 ? 26433 : 26452; + $878 = HEAP32[$23>>2]|0; + $879 = HEAP32[$878>>2]|0; + $880 = HEAP32[$22>>2]|0; + $881 = HEAP32[$880>>2]|0; + $882 = HEAP32[$57>>2]|0; + $883 = HEAP32[$56>>2]|0; + HEAP32[$vararg_buffer33>>2] = $874; $vararg_ptr36 = ((($vararg_buffer33)) + 4|0); - HEAP32[$vararg_ptr36>>2] = $829; + HEAP32[$vararg_ptr36>>2] = $877; $vararg_ptr37 = ((($vararg_buffer33)) + 8|0); - HEAP32[$vararg_ptr37>>2] = $831; + HEAP32[$vararg_ptr37>>2] = $879; $vararg_ptr38 = ((($vararg_buffer33)) + 12|0); - HEAP32[$vararg_ptr38>>2] = $833; + HEAP32[$vararg_ptr38>>2] = $881; $vararg_ptr39 = ((($vararg_buffer33)) + 16|0); - HEAP32[$vararg_ptr39>>2] = $834; + HEAP32[$vararg_ptr39>>2] = $882; $vararg_ptr40 = ((($vararg_buffer33)) + 20|0); - HEAP32[$vararg_ptr40>>2] = $835; - _sqlite3NestedParse($820,36832,$vararg_buffer33); - $836 = HEAP32[$db>>2]|0; - $837 = HEAP32[$zStmt>>2]|0; - _sqlite3DbFree($836,$837); - $838 = HEAP32[$3>>2]|0; - $839 = ($838|0)!=(0|0); - if ($839) { - $840 = HEAP32[$0>>2]|0; - $841 = HEAP32[$pIndex>>2]|0; - $842 = HEAP32[$iMem>>2]|0; - _sqlite3RefillIndex($840,$841,$842); - $843 = HEAP32[$0>>2]|0; - $844 = HEAP32[$iDb>>2]|0; - _sqlite3ChangeCookie($843,$844); - $845 = HEAP32[$v>>2]|0; - $846 = HEAP32[$iDb>>2]|0; - $847 = HEAP32[$db>>2]|0; - $848 = HEAP32[$pIndex>>2]|0; - $849 = HEAP32[$848>>2]|0; - HEAP32[$vararg_buffer41>>2] = $849; - $850 = (_sqlite3MPrintf($847,36880,$vararg_buffer41)|0); - _sqlite3VdbeAddParseSchemaOp($845,$846,$850); - $851 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($851,150)|0); + HEAP32[$vararg_ptr40>>2] = $883; + _sqlite3NestedParse($868,36269,$vararg_buffer33); + $884 = HEAP32[$30>>2]|0; + $885 = HEAP32[$56>>2]|0; + _sqlite3DbFree($884,$885); + $886 = HEAP32[$14>>2]|0; + $887 = ($886|0)!=(0|0); + if ($887) { + $888 = HEAP32[$11>>2]|0; + $889 = HEAP32[$23>>2]|0; + $890 = HEAP32[$57>>2]|0; + _sqlite3RefillIndex($888,$889,$890); + $891 = HEAP32[$11>>2]|0; + $892 = HEAP32[$32>>2]|0; + _sqlite3ChangeCookie($891,$892); + $893 = HEAP32[$55>>2]|0; + $894 = HEAP32[$32>>2]|0; + $895 = HEAP32[$30>>2]|0; + $896 = HEAP32[$23>>2]|0; + $897 = HEAP32[$896>>2]|0; + HEAP32[$vararg_buffer41>>2] = $897; + $898 = (_sqlite3MPrintf($895,36317,$vararg_buffer41)|0); + _sqlite3VdbeAddParseSchemaOp($893,$894,$898); + $899 = HEAP32[$55>>2]|0; + (_sqlite3VdbeAddOp0($899,150)|0); } - $852 = HEAP32[$v>>2]|0; - $853 = HEAP32[$pIndex>>2]|0; - $854 = ((($853)) + 44|0); - $855 = HEAP32[$854>>2]|0; - _sqlite3VdbeJumpHere($852,$855); + $900 = HEAP32[$55>>2]|0; + $901 = HEAP32[$23>>2]|0; + $902 = ((($901)) + 44|0); + $903 = HEAP32[$902>>2]|0; + _sqlite3VdbeJumpHere($900,$903); } } while(0); - $856 = HEAP32[$db>>2]|0; - $857 = ((($856)) + 148|0); - $858 = ((($857)) + 5|0); - $859 = HEAP8[$858>>0]|0; - $860 = $859&255; - $861 = ($860|0)!=(0); - $862 = HEAP32[$3>>2]|0; - $863 = ($862|0)==(0|0); - $or$cond5 = $861 | $863; + $904 = HEAP32[$30>>2]|0; + $905 = ((($904)) + 148|0); + $906 = ((($905)) + 5|0); + $907 = HEAP8[$906>>0]|0; + $908 = $907&255; + $909 = ($908|0)!=(0); + $910 = HEAP32[$14>>2]|0; + $911 = ($910|0)==(0|0); + $or$cond5 = $909 | $911; if (!($or$cond5)) { break; } - $864 = HEAP32[$5>>2]|0; - $865 = ($864|0)!=(5); + $912 = HEAP32[$16>>2]|0; + $913 = ($912|0)!=(5); do { - if ($865) { + if ($913) { label = 143; } else { - $866 = HEAP32[$pTab>>2]|0; - $867 = ((($866)) + 8|0); - $868 = HEAP32[$867>>2]|0; - $869 = ($868|0)==(0|0); - if ($869) { + $914 = HEAP32[$22>>2]|0; + $915 = ((($914)) + 8|0); + $916 = HEAP32[$915>>2]|0; + $917 = ($916|0)==(0|0); + if ($917) { label = 143; break; } - $870 = HEAP32[$pTab>>2]|0; - $871 = ((($870)) + 8|0); - $872 = HEAP32[$871>>2]|0; - $873 = ((($872)) + 54|0); - $874 = HEAP8[$873>>0]|0; - $875 = $874&255; - $876 = ($875|0)==(5); - if ($876) { + $918 = HEAP32[$22>>2]|0; + $919 = ((($918)) + 8|0); + $920 = HEAP32[$919>>2]|0; + $921 = ((($920)) + 54|0); + $922 = HEAP8[$921>>0]|0; + $923 = $922&255; + $924 = ($923|0)==(5); + if ($924) { label = 143; break; } - $885 = HEAP32[$pTab>>2]|0; - $886 = ((($885)) + 8|0); - $887 = HEAP32[$886>>2]|0; - HEAP32[$pOther>>2] = $887; + $933 = HEAP32[$22>>2]|0; + $934 = ((($933)) + 8|0); + $935 = HEAP32[$934>>2]|0; + HEAP32[$59>>2] = $935; while(1) { - $888 = HEAP32[$pOther>>2]|0; - $889 = ((($888)) + 20|0); - $890 = HEAP32[$889>>2]|0; - $891 = ($890|0)!=(0|0); - if ($891) { - $892 = HEAP32[$pOther>>2]|0; - $893 = ((($892)) + 20|0); - $894 = HEAP32[$893>>2]|0; - $895 = ((($894)) + 54|0); - $896 = HEAP8[$895>>0]|0; - $897 = $896&255; - $898 = ($897|0)!=(5); - $919 = $898; + $936 = HEAP32[$59>>2]|0; + $937 = ((($936)) + 20|0); + $938 = HEAP32[$937>>2]|0; + $939 = ($938|0)!=(0|0); + if ($939) { + $940 = HEAP32[$59>>2]|0; + $941 = ((($940)) + 20|0); + $942 = HEAP32[$941>>2]|0; + $943 = ((($942)) + 54|0); + $944 = HEAP8[$943>>0]|0; + $945 = $944&255; + $946 = ($945|0)!=(5); + $967 = $946; } else { - $919 = 0; + $967 = 0; } - $899 = HEAP32[$pOther>>2]|0; - $900 = ((($899)) + 20|0); - $901 = HEAP32[$900>>2]|0; - if (!($919)) { + $947 = HEAP32[$59>>2]|0; + $948 = ((($947)) + 20|0); + $949 = HEAP32[$948>>2]|0; + if (!($967)) { break; } - HEAP32[$pOther>>2] = $901; + HEAP32[$59>>2] = $949; } - $902 = HEAP32[$pIndex>>2]|0; - $903 = ((($902)) + 20|0); - HEAP32[$903>>2] = $901; - $904 = HEAP32[$pIndex>>2]|0; - $905 = HEAP32[$pOther>>2]|0; - $906 = ((($905)) + 20|0); - HEAP32[$906>>2] = $904; + $950 = HEAP32[$23>>2]|0; + $951 = ((($950)) + 20|0); + HEAP32[$951>>2] = $949; + $952 = HEAP32[$23>>2]|0; + $953 = HEAP32[$59>>2]|0; + $954 = ((($953)) + 20|0); + HEAP32[$954>>2] = $952; } } while(0); if ((label|0) == 143) { - $877 = HEAP32[$pTab>>2]|0; - $878 = ((($877)) + 8|0); - $879 = HEAP32[$878>>2]|0; - $880 = HEAP32[$pIndex>>2]|0; - $881 = ((($880)) + 20|0); - HEAP32[$881>>2] = $879; - $882 = HEAP32[$pIndex>>2]|0; - $883 = HEAP32[$pTab>>2]|0; - $884 = ((($883)) + 8|0); - HEAP32[$884>>2] = $882; + $925 = HEAP32[$22>>2]|0; + $926 = ((($925)) + 8|0); + $927 = HEAP32[$926>>2]|0; + $928 = HEAP32[$23>>2]|0; + $929 = ((($928)) + 20|0); + HEAP32[$929>>2] = $927; + $930 = HEAP32[$23>>2]|0; + $931 = HEAP32[$22>>2]|0; + $932 = ((($931)) + 8|0); + HEAP32[$932>>2] = $930; } - HEAP32[$pIndex>>2] = 0; + HEAP32[$23>>2] = 0; } } } @@ -115919,941 +91534,941 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } } } while(0); - $907 = HEAP32[$pIndex>>2]|0; - $908 = ($907|0)!=(0|0); - if (!($908)) { - $911 = HEAP32[$db>>2]|0; - $912 = HEAP32[$7>>2]|0; - _sqlite3ExprDelete($911,$912); - $913 = HEAP32[$db>>2]|0; - $914 = HEAP32[$4>>2]|0; - _sqlite3ExprListDelete($913,$914); - $915 = HEAP32[$db>>2]|0; - $916 = HEAP32[$3>>2]|0; - _sqlite3SrcListDelete($915,$916); - $917 = HEAP32[$db>>2]|0; - $918 = HEAP32[$zName>>2]|0; - _sqlite3DbFree($917,$918); + $955 = HEAP32[$23>>2]|0; + $956 = ($955|0)!=(0|0); + if (!($956)) { + $959 = HEAP32[$30>>2]|0; + $960 = HEAP32[$18>>2]|0; + _sqlite3ExprDelete($959,$960); + $961 = HEAP32[$30>>2]|0; + $962 = HEAP32[$15>>2]|0; + _sqlite3ExprListDelete($961,$962); + $963 = HEAP32[$30>>2]|0; + $964 = HEAP32[$14>>2]|0; + _sqlite3SrcListDelete($963,$964); + $965 = HEAP32[$30>>2]|0; + $966 = HEAP32[$24>>2]|0; + _sqlite3DbFree($965,$966); STACKTOP = sp;return; } - $909 = HEAP32[$db>>2]|0; - $910 = HEAP32[$pIndex>>2]|0; - _freeIndex($909,$910); - $911 = HEAP32[$db>>2]|0; - $912 = HEAP32[$7>>2]|0; - _sqlite3ExprDelete($911,$912); - $913 = HEAP32[$db>>2]|0; - $914 = HEAP32[$4>>2]|0; - _sqlite3ExprListDelete($913,$914); - $915 = HEAP32[$db>>2]|0; - $916 = HEAP32[$3>>2]|0; - _sqlite3SrcListDelete($915,$916); - $917 = HEAP32[$db>>2]|0; - $918 = HEAP32[$zName>>2]|0; - _sqlite3DbFree($917,$918); + $957 = HEAP32[$30>>2]|0; + $958 = HEAP32[$23>>2]|0; + _freeIndex($957,$958); + $959 = HEAP32[$30>>2]|0; + $960 = HEAP32[$18>>2]|0; + _sqlite3ExprDelete($959,$960); + $961 = HEAP32[$30>>2]|0; + $962 = HEAP32[$15>>2]|0; + _sqlite3ExprListDelete($961,$962); + $963 = HEAP32[$30>>2]|0; + $964 = HEAP32[$14>>2]|0; + _sqlite3SrcListDelete($963,$964); + $965 = HEAP32[$30>>2]|0; + $966 = HEAP32[$24>>2]|0; + _sqlite3DbFree($965,$966); STACKTOP = sp;return; } -function _sqlite3AddCheckConstraint($pParse,$pCheckExpr) { - $pParse = $pParse|0; - $pCheckExpr = $pCheckExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $pTab = 0, label = 0, sp = 0; +function _sqlite3AddCheckConstraint($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pTab = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pCheckExpr; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 440|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pTab>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$pTab>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 410|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)!=(0); - if (!($12)) { - $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 148|0); - $15 = ((($14)) + 4|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 16|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($17<<4)|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 440|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)!=(0|0); + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 410|0); + $15 = HEAP8[$14>>0]|0; + $16 = ($15<<24>>24)!=(0); + if (!($16)) { + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 148|0); $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (_sqlite3BtreeIsReadonly($23)|0); - $25 = ($24|0)!=(0); - if (!($25)) { - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$pTab>>2]|0; - $28 = ((($27)) + 24|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = (_sqlite3ExprListAppend($26,$29,$30)|0); - $32 = HEAP32[$pTab>>2]|0; - $33 = ((($32)) + 24|0); - HEAP32[$33>>2] = $31; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 84|0); - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)!=(0); - if (!($38)) { + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (($19) + ($24<<4)|0); + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3BtreeIsReadonly($27)|0); + $29 = ($28|0)!=(0); + if (!($29)) { + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 24|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = (_sqlite3ExprListAppend($30,$33,$34)|0); + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 24|0); + HEAP32[$37>>2] = $35; + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 84|0); + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)!=(0); + if (!($42)) { STACKTOP = sp;return; } - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$pTab>>2]|0; - $41 = ((($40)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 84|0); - _sqlite3ExprListSetName($39,$42,$44,1); + $43 = HEAP32[$2>>2]|0; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 84|0); + _sqlite3ExprListSetName($43,$46,$48,1); STACKTOP = sp;return; } } } - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$1>>2]|0; - _sqlite3ExprDelete($46,$47); + $49 = HEAP32[$2>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$3>>2]|0; + _sqlite3ExprDelete($50,$51); STACKTOP = sp;return; } -function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { - $pParse = $pParse|0; - $pFromCol = $pFromCol|0; - $pTo = $pTo|0; - $pToCol = $pToCol|0; - $flags = $flags|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $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, $db = 0, $i = 0, $iCol = 0, $j = 0, $n = 0; - var $nByte = 0, $nCol = 0, $p = 0, $pFKey = 0, $pNextTo = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $z = 0, label = 0, sp = 0; +function _sqlite3CreateForeignKey($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $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, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $vararg_buffer4 = sp + 16|0; $vararg_buffer2 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $db = sp + 60|0; - $pFKey = sp + 56|0; - $pNextTo = sp + 52|0; - $p = sp + 48|0; - $nByte = sp + 44|0; - $i = sp + 40|0; - $nCol = sp + 36|0; - $z = sp + 32|0; - $iCol = sp + 28|0; - $j = sp + 24|0; - $n = sp + 20|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pFromCol; - HEAP32[$2>>2] = $pTo; - HEAP32[$3>>2] = $pToCol; - HEAP32[$4>>2] = $flags; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - HEAP32[$pFKey>>2] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 440|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$p>>2] = $9; - $10 = HEAP32[$p>>2]|0; - $11 = ($10|0)==(0|0); + $5 = sp + 80|0; + $6 = sp + 76|0; + $7 = sp + 72|0; + $8 = sp + 68|0; + $9 = sp + 64|0; + $10 = sp + 60|0; + $11 = sp + 56|0; + $12 = sp + 52|0; + $13 = sp + 48|0; + $14 = sp + 44|0; + $15 = sp + 40|0; + $16 = sp + 36|0; + $17 = sp + 32|0; + $18 = sp + 28|0; + $19 = sp + 24|0; + $20 = sp + 20|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$10>>2] = $22; + HEAP32[$11>>2] = 0; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 440|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$13>>2] = $25; + $26 = HEAP32[$13>>2]|0; + $27 = ($26|0)==(0|0); L1: do { - if (!($11)) { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 410|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)!=(0); - if (!($16)) { - $17 = HEAP32[$1>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 34|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = (($22) - 1)|0; - HEAP32[$iCol>>2] = $23; - $24 = HEAP32[$iCol>>2]|0; - $25 = ($24|0)<(0); - if ($25) { + if (!($27)) { + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 410|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = ($31|0)!=(0); + if (!($32)) { + $33 = HEAP32[$6>>2]|0; + $34 = ($33|0)==(0|0); + if ($34) { + $35 = HEAP32[$13>>2]|0; + $36 = ((($35)) + 34|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37 << 16 >> 16; + $39 = (($38) - 1)|0; + HEAP32[$18>>2] = $39; + $40 = HEAP32[$18>>2]|0; + $41 = ($40|0)<(0); + if ($41) { break; } - $26 = HEAP32[$3>>2]|0; - $27 = ($26|0)!=(0|0); - if ($27) { - $28 = HEAP32[$3>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)!=(1); - if ($30) { - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$iCol>>2]|0; - $33 = HEAP32[$p>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + ($32<<4)|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $37; + $42 = HEAP32[$8>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + $44 = HEAP32[$8>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)!=(1); + if ($46) { + $47 = HEAP32[$5>>2]|0; + $48 = HEAP32[$13>>2]|0; + $49 = ((($48)) + 4|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$18>>2]|0; + $52 = (($50) + ($51<<4)|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $53; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $38; - _sqlite3ErrorMsg($31,36270,$vararg_buffer); + HEAP32[$vararg_ptr1>>2] = $54; + _sqlite3ErrorMsg($47,35707,$vararg_buffer); break; } } - HEAP32[$nCol>>2] = 1; + HEAP32[$16>>2] = 1; } else { - $39 = HEAP32[$3>>2]|0; - $40 = ($39|0)!=(0|0); - if ($40) { - $41 = HEAP32[$3>>2]|0; - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$43>>2]|0; - $45 = ($42|0)!=($44|0); - if ($45) { - $46 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($46,36333,$vararg_buffer2); + $55 = HEAP32[$8>>2]|0; + $56 = ($55|0)!=(0|0); + if ($56) { + $57 = HEAP32[$8>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = ($58|0)!=($60|0); + if ($61) { + $62 = HEAP32[$5>>2]|0; + _sqlite3ErrorMsg($62,35770,$vararg_buffer2); break; } } - $47 = HEAP32[$1>>2]|0; - $48 = HEAP32[$47>>2]|0; - HEAP32[$nCol>>2] = $48; - } - $49 = HEAP32[$nCol>>2]|0; - $50 = (($49) - 1)|0; - $51 = $50<<3; - $52 = (44 + ($51))|0; - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($52) + ($55))|0; - $57 = (($56) + 1)|0; - HEAP32[$nByte>>2] = $57; - $58 = HEAP32[$3>>2]|0; - $59 = ($58|0)!=(0|0); + $63 = HEAP32[$6>>2]|0; + $64 = HEAP32[$63>>2]|0; + HEAP32[$16>>2] = $64; + } + $65 = HEAP32[$16>>2]|0; + $66 = (($65) - 1)|0; + $67 = $66<<3; + $68 = (44 + ($67))|0; + $69 = HEAP32[$7>>2]|0; + $70 = ((($69)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = (($68) + ($71))|0; + $73 = (($72) + 1)|0; + HEAP32[$14>>2] = $73; + $74 = HEAP32[$8>>2]|0; + $75 = ($74|0)!=(0|0); L17: do { - if ($59) { - HEAP32[$i>>2] = 0; + if ($75) { + HEAP32[$15>>2] = 0; while(1) { - $60 = HEAP32[$i>>2]|0; - $61 = HEAP32[$3>>2]|0; - $62 = HEAP32[$61>>2]|0; - $63 = ($60|0)<($62|0); - if (!($63)) { + $76 = HEAP32[$15>>2]|0; + $77 = HEAP32[$8>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = ($76|0)<($78|0); + if (!($79)) { break L17; } - $64 = HEAP32[$i>>2]|0; - $65 = HEAP32[$3>>2]|0; - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + (($64*20)|0)|0); - $69 = ((($68)) + 4|0); - $70 = HEAP32[$69>>2]|0; - $71 = (_sqlite3Strlen30($70)|0); - $72 = (($71) + 1)|0; - $73 = HEAP32[$nByte>>2]|0; - $74 = (($73) + ($72))|0; - HEAP32[$nByte>>2] = $74; - $75 = HEAP32[$i>>2]|0; - $76 = (($75) + 1)|0; - HEAP32[$i>>2] = $76; + $80 = HEAP32[$8>>2]|0; + $81 = ((($80)) + 4|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$15>>2]|0; + $84 = (($82) + (($83*20)|0)|0); + $85 = ((($84)) + 4|0); + $86 = HEAP32[$85>>2]|0; + $87 = (_sqlite3Strlen30($86)|0); + $88 = (($87) + 1)|0; + $89 = HEAP32[$14>>2]|0; + $90 = (($89) + ($88))|0; + HEAP32[$14>>2] = $90; + $91 = HEAP32[$15>>2]|0; + $92 = (($91) + 1)|0; + HEAP32[$15>>2] = $92; } } } while(0); - $77 = HEAP32[$db>>2]|0; - $78 = HEAP32[$nByte>>2]|0; - $79 = ($78|0)<(0); - $80 = $79 << 31 >> 31; - $81 = (_sqlite3DbMallocZero($77,$78,$80)|0); - HEAP32[$pFKey>>2] = $81; - $82 = HEAP32[$pFKey>>2]|0; - $83 = ($82|0)==(0|0); - if (!($83)) { - $84 = HEAP32[$p>>2]|0; - $85 = HEAP32[$pFKey>>2]|0; - HEAP32[$85>>2] = $84; - $86 = HEAP32[$p>>2]|0; - $87 = ((($86)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$pFKey>>2]|0; - $90 = ((($89)) + 4|0); - HEAP32[$90>>2] = $88; - $91 = HEAP32[$nCol>>2]|0; - $92 = HEAP32[$pFKey>>2]|0; - $93 = ((($92)) + 36|0); - $94 = (($93) + ($91<<3)|0); - HEAP32[$z>>2] = $94; - $95 = HEAP32[$z>>2]|0; - $96 = HEAP32[$pFKey>>2]|0; - $97 = ((($96)) + 8|0); - HEAP32[$97>>2] = $95; - $98 = HEAP32[$z>>2]|0; - $99 = HEAP32[$2>>2]|0; - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[$2>>2]|0; - $102 = ((($101)) + 4|0); - $103 = HEAP32[$102>>2]|0; - _memcpy(($98|0),($100|0),($103|0))|0; - $104 = HEAP32[$2>>2]|0; - $105 = ((($104)) + 4|0); - $106 = HEAP32[$105>>2]|0; - $107 = HEAP32[$z>>2]|0; - $108 = (($107) + ($106)|0); - HEAP8[$108>>0] = 0; - $109 = HEAP32[$z>>2]|0; - _sqlite3Dequote($109); - $110 = HEAP32[$2>>2]|0; - $111 = ((($110)) + 4|0); - $112 = HEAP32[$111>>2]|0; - $113 = (($112) + 1)|0; - $114 = HEAP32[$z>>2]|0; - $115 = (($114) + ($113)|0); - HEAP32[$z>>2] = $115; - $116 = HEAP32[$nCol>>2]|0; - $117 = HEAP32[$pFKey>>2]|0; - $118 = ((($117)) + 20|0); - HEAP32[$118>>2] = $116; - $119 = HEAP32[$1>>2]|0; - $120 = ($119|0)==(0|0); + $93 = HEAP32[$10>>2]|0; + $94 = HEAP32[$14>>2]|0; + $95 = ($94|0)<(0); + $96 = $95 << 31 >> 31; + $97 = (_sqlite3DbMallocZero($93,$94,$96)|0); + HEAP32[$11>>2] = $97; + $98 = HEAP32[$11>>2]|0; + $99 = ($98|0)==(0|0); + if (!($99)) { + $100 = HEAP32[$13>>2]|0; + $101 = HEAP32[$11>>2]|0; + HEAP32[$101>>2] = $100; + $102 = HEAP32[$13>>2]|0; + $103 = ((($102)) + 16|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$11>>2]|0; + $106 = ((($105)) + 4|0); + HEAP32[$106>>2] = $104; + $107 = HEAP32[$11>>2]|0; + $108 = ((($107)) + 36|0); + $109 = HEAP32[$16>>2]|0; + $110 = (($108) + ($109<<3)|0); + HEAP32[$17>>2] = $110; + $111 = HEAP32[$17>>2]|0; + $112 = HEAP32[$11>>2]|0; + $113 = ((($112)) + 8|0); + HEAP32[$113>>2] = $111; + $114 = HEAP32[$17>>2]|0; + $115 = HEAP32[$7>>2]|0; + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$7>>2]|0; + $118 = ((($117)) + 4|0); + $119 = HEAP32[$118>>2]|0; + _memcpy(($114|0),($116|0),($119|0))|0; + $120 = HEAP32[$17>>2]|0; + $121 = HEAP32[$7>>2]|0; + $122 = ((($121)) + 4|0); + $123 = HEAP32[$122>>2]|0; + $124 = (($120) + ($123)|0); + HEAP8[$124>>0] = 0; + $125 = HEAP32[$17>>2]|0; + _sqlite3Dequote($125); + $126 = HEAP32[$7>>2]|0; + $127 = ((($126)) + 4|0); + $128 = HEAP32[$127>>2]|0; + $129 = (($128) + 1)|0; + $130 = HEAP32[$17>>2]|0; + $131 = (($130) + ($129)|0); + HEAP32[$17>>2] = $131; + $132 = HEAP32[$16>>2]|0; + $133 = HEAP32[$11>>2]|0; + $134 = ((($133)) + 20|0); + HEAP32[$134>>2] = $132; + $135 = HEAP32[$6>>2]|0; + $136 = ($135|0)==(0|0); L24: do { - if ($120) { - $121 = HEAP32[$p>>2]|0; - $122 = ((($121)) + 34|0); - $123 = HEAP16[$122>>1]|0; - $124 = $123 << 16 >> 16; - $125 = (($124) - 1)|0; - $126 = HEAP32[$pFKey>>2]|0; - $127 = ((($126)) + 36|0); - HEAP32[$127>>2] = $125; + if ($136) { + $137 = HEAP32[$13>>2]|0; + $138 = ((($137)) + 34|0); + $139 = HEAP16[$138>>1]|0; + $140 = $139 << 16 >> 16; + $141 = (($140) - 1)|0; + $142 = HEAP32[$11>>2]|0; + $143 = ((($142)) + 36|0); + HEAP32[$143>>2] = $141; } else { - HEAP32[$i>>2] = 0; + HEAP32[$15>>2] = 0; while(1) { - $128 = HEAP32[$i>>2]|0; - $129 = HEAP32[$nCol>>2]|0; - $130 = ($128|0)<($129|0); - if (!($130)) { + $144 = HEAP32[$15>>2]|0; + $145 = HEAP32[$16>>2]|0; + $146 = ($144|0)<($145|0); + if (!($146)) { break L24; } - HEAP32[$j>>2] = 0; + HEAP32[$19>>2] = 0; while(1) { - $131 = HEAP32[$j>>2]|0; - $132 = HEAP32[$p>>2]|0; - $133 = ((($132)) + 34|0); - $134 = HEAP16[$133>>1]|0; - $135 = $134 << 16 >> 16; - $136 = ($131|0)<($135|0); - if (!($136)) { + $147 = HEAP32[$19>>2]|0; + $148 = HEAP32[$13>>2]|0; + $149 = ((($148)) + 34|0); + $150 = HEAP16[$149>>1]|0; + $151 = $150 << 16 >> 16; + $152 = ($147|0)<($151|0); + if (!($152)) { break; } - $137 = HEAP32[$j>>2]|0; - $138 = HEAP32[$p>>2]|0; - $139 = ((($138)) + 4|0); - $140 = HEAP32[$139>>2]|0; - $141 = (($140) + ($137<<4)|0); - $142 = HEAP32[$141>>2]|0; - $143 = HEAP32[$i>>2]|0; - $144 = HEAP32[$1>>2]|0; - $145 = ((($144)) + 4|0); - $146 = HEAP32[$145>>2]|0; - $147 = (($146) + (($143*20)|0)|0); - $148 = ((($147)) + 4|0); - $149 = HEAP32[$148>>2]|0; - $150 = (_sqlite3StrICmp($142,$149)|0); - $151 = ($150|0)==(0); - $152 = HEAP32[$j>>2]|0; - if ($151) { + $153 = HEAP32[$13>>2]|0; + $154 = ((($153)) + 4|0); + $155 = HEAP32[$154>>2]|0; + $156 = HEAP32[$19>>2]|0; + $157 = (($155) + ($156<<4)|0); + $158 = HEAP32[$157>>2]|0; + $159 = HEAP32[$6>>2]|0; + $160 = ((($159)) + 4|0); + $161 = HEAP32[$160>>2]|0; + $162 = HEAP32[$15>>2]|0; + $163 = (($161) + (($162*20)|0)|0); + $164 = ((($163)) + 4|0); + $165 = HEAP32[$164>>2]|0; + $166 = (_sqlite3StrICmp($158,$165)|0); + $167 = ($166|0)==(0); + $168 = HEAP32[$19>>2]|0; + if ($167) { label = 25; break; } - $157 = (($152) + 1)|0; - HEAP32[$j>>2] = $157; + $173 = (($168) + 1)|0; + HEAP32[$19>>2] = $173; } if ((label|0) == 25) { label = 0; - $153 = HEAP32[$i>>2]|0; - $154 = HEAP32[$pFKey>>2]|0; - $155 = ((($154)) + 36|0); - $156 = (($155) + ($153<<3)|0); - HEAP32[$156>>2] = $152; + $169 = HEAP32[$11>>2]|0; + $170 = ((($169)) + 36|0); + $171 = HEAP32[$15>>2]|0; + $172 = (($170) + ($171<<3)|0); + HEAP32[$172>>2] = $168; } - $158 = HEAP32[$j>>2]|0; - $159 = HEAP32[$p>>2]|0; - $160 = ((($159)) + 34|0); - $161 = HEAP16[$160>>1]|0; - $162 = $161 << 16 >> 16; - $163 = ($158|0)>=($162|0); - if ($163) { + $174 = HEAP32[$19>>2]|0; + $175 = HEAP32[$13>>2]|0; + $176 = ((($175)) + 34|0); + $177 = HEAP16[$176>>1]|0; + $178 = $177 << 16 >> 16; + $179 = ($174|0)>=($178|0); + if ($179) { break; } - $172 = HEAP32[$i>>2]|0; - $173 = (($172) + 1)|0; - HEAP32[$i>>2] = $173; + $188 = HEAP32[$15>>2]|0; + $189 = (($188) + 1)|0; + HEAP32[$15>>2] = $189; } - $164 = HEAP32[$0>>2]|0; - $165 = HEAP32[$i>>2]|0; - $166 = HEAP32[$1>>2]|0; - $167 = ((($166)) + 4|0); - $168 = HEAP32[$167>>2]|0; - $169 = (($168) + (($165*20)|0)|0); - $170 = ((($169)) + 4|0); - $171 = HEAP32[$170>>2]|0; - HEAP32[$vararg_buffer4>>2] = $171; - _sqlite3ErrorMsg($164,36427,$vararg_buffer4); + $180 = HEAP32[$5>>2]|0; + $181 = HEAP32[$6>>2]|0; + $182 = ((($181)) + 4|0); + $183 = HEAP32[$182>>2]|0; + $184 = HEAP32[$15>>2]|0; + $185 = (($183) + (($184*20)|0)|0); + $186 = ((($185)) + 4|0); + $187 = HEAP32[$186>>2]|0; + HEAP32[$vararg_buffer4>>2] = $187; + _sqlite3ErrorMsg($180,35864,$vararg_buffer4); break L1; } } while(0); - $174 = HEAP32[$3>>2]|0; - $175 = ($174|0)!=(0|0); + $190 = HEAP32[$8>>2]|0; + $191 = ($190|0)!=(0|0); L40: do { - if ($175) { - HEAP32[$i>>2] = 0; + if ($191) { + HEAP32[$15>>2] = 0; while(1) { - $176 = HEAP32[$i>>2]|0; - $177 = HEAP32[$nCol>>2]|0; - $178 = ($176|0)<($177|0); - if (!($178)) { + $192 = HEAP32[$15>>2]|0; + $193 = HEAP32[$16>>2]|0; + $194 = ($192|0)<($193|0); + if (!($194)) { break L40; } - $179 = HEAP32[$i>>2]|0; - $180 = HEAP32[$3>>2]|0; - $181 = ((($180)) + 4|0); - $182 = HEAP32[$181>>2]|0; - $183 = (($182) + (($179*20)|0)|0); - $184 = ((($183)) + 4|0); - $185 = HEAP32[$184>>2]|0; - $186 = (_sqlite3Strlen30($185)|0); - HEAP32[$n>>2] = $186; - $187 = HEAP32[$z>>2]|0; - $188 = HEAP32[$i>>2]|0; - $189 = HEAP32[$pFKey>>2]|0; - $190 = ((($189)) + 36|0); - $191 = (($190) + ($188<<3)|0); - $192 = ((($191)) + 4|0); - HEAP32[$192>>2] = $187; - $193 = HEAP32[$z>>2]|0; - $194 = HEAP32[$i>>2]|0; - $195 = HEAP32[$3>>2]|0; + $195 = HEAP32[$8>>2]|0; $196 = ((($195)) + 4|0); $197 = HEAP32[$196>>2]|0; - $198 = (($197) + (($194*20)|0)|0); - $199 = ((($198)) + 4|0); - $200 = HEAP32[$199>>2]|0; - $201 = HEAP32[$n>>2]|0; - _memcpy(($193|0),($200|0),($201|0))|0; - $202 = HEAP32[$n>>2]|0; - $203 = HEAP32[$z>>2]|0; - $204 = (($203) + ($202)|0); - HEAP8[$204>>0] = 0; - $205 = HEAP32[$n>>2]|0; - $206 = (($205) + 1)|0; - $207 = HEAP32[$z>>2]|0; - $208 = (($207) + ($206)|0); - HEAP32[$z>>2] = $208; - $209 = HEAP32[$i>>2]|0; - $210 = (($209) + 1)|0; - HEAP32[$i>>2] = $210; + $198 = HEAP32[$15>>2]|0; + $199 = (($197) + (($198*20)|0)|0); + $200 = ((($199)) + 4|0); + $201 = HEAP32[$200>>2]|0; + $202 = (_sqlite3Strlen30($201)|0); + HEAP32[$20>>2] = $202; + $203 = HEAP32[$17>>2]|0; + $204 = HEAP32[$11>>2]|0; + $205 = ((($204)) + 36|0); + $206 = HEAP32[$15>>2]|0; + $207 = (($205) + ($206<<3)|0); + $208 = ((($207)) + 4|0); + HEAP32[$208>>2] = $203; + $209 = HEAP32[$17>>2]|0; + $210 = HEAP32[$8>>2]|0; + $211 = ((($210)) + 4|0); + $212 = HEAP32[$211>>2]|0; + $213 = HEAP32[$15>>2]|0; + $214 = (($212) + (($213*20)|0)|0); + $215 = ((($214)) + 4|0); + $216 = HEAP32[$215>>2]|0; + $217 = HEAP32[$20>>2]|0; + _memcpy(($209|0),($216|0),($217|0))|0; + $218 = HEAP32[$17>>2]|0; + $219 = HEAP32[$20>>2]|0; + $220 = (($218) + ($219)|0); + HEAP8[$220>>0] = 0; + $221 = HEAP32[$20>>2]|0; + $222 = (($221) + 1)|0; + $223 = HEAP32[$17>>2]|0; + $224 = (($223) + ($222)|0); + HEAP32[$17>>2] = $224; + $225 = HEAP32[$15>>2]|0; + $226 = (($225) + 1)|0; + HEAP32[$15>>2] = $226; } } } while(0); - $211 = HEAP32[$pFKey>>2]|0; - $212 = ((($211)) + 24|0); - HEAP8[$212>>0] = 0; - $213 = HEAP32[$4>>2]|0; - $214 = $213 & 255; - $215 = $214&255; - $216 = HEAP32[$pFKey>>2]|0; - $217 = ((($216)) + 25|0); - HEAP8[$217>>0] = $215; - $218 = HEAP32[$4>>2]|0; - $219 = $218 >> 8; - $220 = $219 & 255; - $221 = $220&255; - $222 = HEAP32[$pFKey>>2]|0; - $223 = ((($222)) + 25|0); - $224 = ((($223)) + 1|0); - HEAP8[$224>>0] = $221; - $225 = HEAP32[$p>>2]|0; - $226 = ((($225)) + 64|0); - $227 = HEAP32[$226>>2]|0; - $228 = ((($227)) + 56|0); - $229 = HEAP32[$pFKey>>2]|0; - $230 = ((($229)) + 8|0); - $231 = HEAP32[$230>>2]|0; - $232 = HEAP32[$pFKey>>2]|0; - $233 = (_sqlite3HashInsert($228,$231,$232)|0); - HEAP32[$pNextTo>>2] = $233; - $234 = HEAP32[$pNextTo>>2]|0; - $235 = HEAP32[$pFKey>>2]|0; - $236 = ($234|0)==($235|0); - if ($236) { - $237 = HEAP32[$db>>2]|0; - _sqlite3OomFault($237); + $227 = HEAP32[$11>>2]|0; + $228 = ((($227)) + 24|0); + HEAP8[$228>>0] = 0; + $229 = HEAP32[$9>>2]|0; + $230 = $229 & 255; + $231 = $230&255; + $232 = HEAP32[$11>>2]|0; + $233 = ((($232)) + 25|0); + HEAP8[$233>>0] = $231; + $234 = HEAP32[$9>>2]|0; + $235 = $234 >> 8; + $236 = $235 & 255; + $237 = $236&255; + $238 = HEAP32[$11>>2]|0; + $239 = ((($238)) + 25|0); + $240 = ((($239)) + 1|0); + HEAP8[$240>>0] = $237; + $241 = HEAP32[$13>>2]|0; + $242 = ((($241)) + 64|0); + $243 = HEAP32[$242>>2]|0; + $244 = ((($243)) + 56|0); + $245 = HEAP32[$11>>2]|0; + $246 = ((($245)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[$11>>2]|0; + $249 = (_sqlite3HashInsert($244,$247,$248)|0); + HEAP32[$12>>2] = $249; + $250 = HEAP32[$12>>2]|0; + $251 = HEAP32[$11>>2]|0; + $252 = ($250|0)==($251|0); + if ($252) { + $253 = HEAP32[$10>>2]|0; + _sqlite3OomFault($253); break; } - $238 = HEAP32[$pNextTo>>2]|0; - $239 = ($238|0)!=(0|0); - if ($239) { - $240 = HEAP32[$pNextTo>>2]|0; - $241 = HEAP32[$pFKey>>2]|0; - $242 = ((($241)) + 12|0); - HEAP32[$242>>2] = $240; - $243 = HEAP32[$pFKey>>2]|0; - $244 = HEAP32[$pNextTo>>2]|0; - $245 = ((($244)) + 16|0); - HEAP32[$245>>2] = $243; - } - $246 = HEAP32[$pFKey>>2]|0; - $247 = HEAP32[$p>>2]|0; - $248 = ((($247)) + 16|0); - HEAP32[$248>>2] = $246; - HEAP32[$pFKey>>2] = 0; + $254 = HEAP32[$12>>2]|0; + $255 = ($254|0)!=(0|0); + if ($255) { + $256 = HEAP32[$12>>2]|0; + $257 = HEAP32[$11>>2]|0; + $258 = ((($257)) + 12|0); + HEAP32[$258>>2] = $256; + $259 = HEAP32[$11>>2]|0; + $260 = HEAP32[$12>>2]|0; + $261 = ((($260)) + 16|0); + HEAP32[$261>>2] = $259; + } + $262 = HEAP32[$11>>2]|0; + $263 = HEAP32[$13>>2]|0; + $264 = ((($263)) + 16|0); + HEAP32[$264>>2] = $262; + HEAP32[$11>>2] = 0; } } } } while(0); - $249 = HEAP32[$db>>2]|0; - $250 = HEAP32[$pFKey>>2]|0; - _sqlite3DbFree($249,$250); - $251 = HEAP32[$db>>2]|0; - $252 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($251,$252); - $253 = HEAP32[$db>>2]|0; - $254 = HEAP32[$3>>2]|0; - _sqlite3ExprListDelete($253,$254); + $265 = HEAP32[$10>>2]|0; + $266 = HEAP32[$11>>2]|0; + _sqlite3DbFree($265,$266); + $267 = HEAP32[$10>>2]|0; + $268 = HEAP32[$6>>2]|0; + _sqlite3ExprListDelete($267,$268); + $269 = HEAP32[$10>>2]|0; + $270 = HEAP32[$8>>2]|0; + _sqlite3ExprListDelete($269,$270); STACKTOP = sp;return; } -function _sqlite3DeferForeignKey($pParse,$isDeferred) { - $pParse = $pParse|0; - $isDeferred = $isDeferred|0; - var $0 = 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, $pFKey = 0, $pTab = 0, label = 0, sp = 0; +function _sqlite3DeferForeignKey($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, $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 + 12|0; - $1 = sp + 8|0; - $pTab = sp + 4|0; - $pFKey = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $isDeferred; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 440|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pTab>>2] = $4; - $5 = ($4|0)==(0|0); - if ($5) { - STACKTOP = sp;return; - } - $6 = HEAP32[$pTab>>2]|0; - $7 = ((($6)) + 16|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 440|0); $8 = HEAP32[$7>>2]|0; - HEAP32[$pFKey>>2] = $8; + HEAP32[$4>>2] = $8; $9 = ($8|0)==(0|0); if ($9) { STACKTOP = sp;return; } - $10 = HEAP32[$1>>2]|0; - $11 = $10&255; - $12 = HEAP32[$pFKey>>2]|0; - $13 = ((($12)) + 24|0); - HEAP8[$13>>0] = $11; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $12; + $13 = ($12|0)==(0|0); + if ($13) { + STACKTOP = sp;return; + } + $14 = HEAP32[$3>>2]|0; + $15 = $14&255; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 24|0); + HEAP8[$17>>0] = $15; STACKTOP = sp;return; } -function _sqlite3AddCollateType($pParse,$pToken) { - $pParse = $pParse|0; - $pToken = $pToken|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $p = 0, $pIdx = 0, $zColl = 0, label = 0, sp = 0; +function _sqlite3AddCollateType($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $p = sp + 16|0; - $i = sp + 12|0; - $zColl = sp + 8|0; - $db = sp + 4|0; - $pIdx = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pToken; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 440|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - $5 = ($4|0)==(0|0); - if ($5) { + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 440|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $11; + $12 = ($11|0)==(0|0); + if ($12) { STACKTOP = sp;return; } - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 34|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8 << 16 >> 16; - $10 = (($9) - 1)|0; - HEAP32[$i>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - HEAP32[$db>>2] = $12; - $13 = HEAP32[$db>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = (_sqlite3NameFromToken($13,$14)|0); - HEAP32[$zColl>>2] = $15; - $16 = HEAP32[$zColl>>2]|0; - $17 = ($16|0)!=(0|0); - if (!($17)) { + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 34|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15 << 16 >> 16; + $17 = (($16) - 1)|0; + HEAP32[$5>>2] = $17; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$7>>2] = $19; + $20 = HEAP32[$7>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = (_sqlite3NameFromToken($20,$21)|0); + HEAP32[$6>>2] = $22; + $23 = HEAP32[$6>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { STACKTOP = sp;return; } - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$zColl>>2]|0; - $20 = (_sqlite3LocateCollSeq($18,$19)|0); - $21 = ($20|0)!=(0|0); - $22 = HEAP32[$db>>2]|0; - if (!($21)) { - $62 = HEAP32[$zColl>>2]|0; - _sqlite3DbFree($22,$62); + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = (_sqlite3LocateCollSeq($25,$26)|0); + $28 = ($27|0)!=(0|0); + $29 = HEAP32[$7>>2]|0; + if (!($28)) { + $69 = HEAP32[$6>>2]|0; + _sqlite3DbFree($29,$69); STACKTOP = sp;return; } - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + ($23<<4)|0); - $28 = ((($27)) + 8|0); - $29 = HEAP32[$28>>2]|0; - _sqlite3DbFree($22,$29); - $30 = HEAP32[$zColl>>2]|0; - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($31<<4)|0); - $36 = ((($35)) + 8|0); - HEAP32[$36>>2] = $30; - $37 = HEAP32[$p>>2]|0; - $38 = ((($37)) + 8|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$pIdx>>2] = $39; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = (($32) + ($33<<4)|0); + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + _sqlite3DbFree($29,$36); + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$5>>2]|0; + $42 = (($40) + ($41<<4)|0); + $43 = ((($42)) + 8|0); + HEAP32[$43>>2] = $37; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 8|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$8>>2] = $46; while(1) { - $40 = HEAP32[$pIdx>>2]|0; - $41 = ($40|0)!=(0|0); - if (!($41)) { + $47 = HEAP32[$8>>2]|0; + $48 = ($47|0)!=(0|0); + if (!($48)) { break; } - $42 = HEAP32[$pIdx>>2]|0; - $43 = ((($42)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP16[$44>>1]|0; - $46 = $45 << 16 >> 16; - $47 = HEAP32[$i>>2]|0; - $48 = ($46|0)==($47|0); - if ($48) { - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$p>>2]|0; - $51 = ((($50)) + 4|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + ($49<<4)|0); - $54 = ((($53)) + 8|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$pIdx>>2]|0; - $57 = ((($56)) + 32|0); + $49 = HEAP32[$8>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP16[$51>>1]|0; + $53 = $52 << 16 >> 16; + $54 = HEAP32[$5>>2]|0; + $55 = ($53|0)==($54|0); + if ($55) { + $56 = HEAP32[$4>>2]|0; + $57 = ((($56)) + 4|0); $58 = HEAP32[$57>>2]|0; - HEAP32[$58>>2] = $55; + $59 = HEAP32[$5>>2]|0; + $60 = (($58) + ($59<<4)|0); + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$8>>2]|0; + $64 = ((($63)) + 32|0); + $65 = HEAP32[$64>>2]|0; + HEAP32[$65>>2] = $62; } - $59 = HEAP32[$pIdx>>2]|0; - $60 = ((($59)) + 20|0); - $61 = HEAP32[$60>>2]|0; - HEAP32[$pIdx>>2] = $61; + $66 = HEAP32[$8>>2]|0; + $67 = ((($66)) + 20|0); + $68 = HEAP32[$67>>2]|0; + HEAP32[$8>>2] = $68; } STACKTOP = sp;return; } -function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { - $pParse = $pParse|0; - $pName = $pName|0; - $isView = $isView|0; - $noErr = $noErr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $code = 0, $db = 0, $iDb = 0, $pTab = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $zArg2 = 0, $zDb = 0, $zTab = 0; +function _sqlite3DropTable($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $vararg_buffer4 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $pTab = sp + 48|0; - $v = sp + 44|0; - $db = sp + 40|0; - $iDb = sp + 36|0; - $code = sp + 32|0; - $zTab = sp + 28|0; - $zDb = sp + 24|0; - $zArg2 = sp + 20|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pName; - HEAP32[$2>>2] = $isView; - HEAP32[$3>>2] = $noErr; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$db>>2]|0; - $7 = ((($6)) + 69|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)!=(0); + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + $14 = sp + 24|0; + $15 = sp + 20|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + HEAP32[$10>>2] = $17; + $18 = HEAP32[$10>>2]|0; + $19 = ((($18)) + 69|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)!=(0); do { - if (!($9)) { - $10 = HEAP32[$0>>2]|0; - $11 = (_sqlite3ReadSchema($10)|0); - $12 = ($11|0)!=(0); - if (!($12)) { - $13 = HEAP32[$3>>2]|0; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$db>>2]|0; - $16 = ((($15)) + 73|0); - $17 = HEAP8[$16>>0]|0; - $18 = (($17) + 1)<<24>>24; - HEAP8[$16>>0] = $18; - } - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 8|0); - $23 = (_sqlite3LocateTableItem($19,$20,$22)|0); - HEAP32[$pTab>>2] = $23; - $24 = HEAP32[$3>>2]|0; - $25 = ($24|0)!=(0); - if ($25) { - $26 = HEAP32[$db>>2]|0; - $27 = ((($26)) + 73|0); - $28 = HEAP8[$27>>0]|0; - $29 = (($28) + -1)<<24>>24; - HEAP8[$27>>0] = $29; - } - $30 = HEAP32[$pTab>>2]|0; - $31 = ($30|0)==(0|0); - if ($31) { - $32 = HEAP32[$3>>2]|0; - $33 = ($32|0)!=(0); - if (!($33)) { + if (!($21)) { + $22 = HEAP32[$4>>2]|0; + $23 = (_sqlite3ReadSchema($22)|0); + $24 = ($23|0)!=(0); + if (!($24)) { + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$10>>2]|0; + $28 = ((($27)) + 73|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($29) + 1)<<24>>24; + HEAP8[$28>>0] = $30; + } + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 8|0); + $35 = (_sqlite3LocateTableItem($31,$32,$34)|0); + HEAP32[$8>>2] = $35; + $36 = HEAP32[$7>>2]|0; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$10>>2]|0; + $39 = ((($38)) + 73|0); + $40 = HEAP8[$39>>0]|0; + $41 = (($40) + -1)<<24>>24; + HEAP8[$39>>0] = $41; + } + $42 = HEAP32[$8>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + $44 = HEAP32[$7>>2]|0; + $45 = ($44|0)!=(0); + if (!($45)) { break; } - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 8|0); - $37 = ((($36)) + 4|0); - $38 = HEAP32[$37>>2]|0; - _sqlite3CodeVerifyNamedSchema($34,$38); + $46 = HEAP32[$4>>2]|0; + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 8|0); + $49 = ((($48)) + 4|0); + $50 = HEAP32[$49>>2]|0; + _sqlite3CodeVerifyNamedSchema($46,$50); break; } - $39 = HEAP32[$db>>2]|0; - $40 = HEAP32[$pTab>>2]|0; - $41 = ((($40)) + 64|0); - $42 = HEAP32[$41>>2]|0; - $43 = (_sqlite3SchemaToIndex($39,$42)|0); - HEAP32[$iDb>>2] = $43; - $44 = HEAP32[$pTab>>2]|0; - $45 = ((($44)) + 42|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = $47 & 16; - $49 = ($48|0)!=(0); - if ($49) { - $50 = HEAP32[$0>>2]|0; - $51 = HEAP32[$pTab>>2]|0; - $52 = (_sqlite3ViewGetColumnNames($50,$51)|0); - $53 = ($52|0)!=(0); - if ($53) { + $51 = HEAP32[$10>>2]|0; + $52 = HEAP32[$8>>2]|0; + $53 = ((($52)) + 64|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3SchemaToIndex($51,$54)|0); + HEAP32[$11>>2] = $55; + $56 = HEAP32[$8>>2]|0; + $57 = ((($56)) + 42|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = $59 & 16; + $61 = ($60|0)!=(0); + if ($61) { + $62 = HEAP32[$4>>2]|0; + $63 = HEAP32[$8>>2]|0; + $64 = (_sqlite3ViewGetColumnNames($62,$63)|0); + $65 = ($64|0)!=(0); + if ($65) { break; } } - $54 = HEAP32[$iDb>>2]|0; - $55 = ($54|0)==(1); - $56 = $55 ? 19905 : 19924; - HEAP32[$zTab>>2] = $56; - $57 = HEAP32[$iDb>>2]|0; - $58 = HEAP32[$db>>2]|0; - $59 = ((($58)) + 16|0); - $60 = HEAP32[$59>>2]|0; - $61 = (($60) + ($57<<4)|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$zDb>>2] = $62; - HEAP32[$zArg2>>2] = 0; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$zTab>>2]|0; - $65 = HEAP32[$zDb>>2]|0; - $66 = (_sqlite3AuthCheck($63,9,$64,0,$65)|0); - $67 = ($66|0)!=(0); - if (!($67)) { - $68 = HEAP32[$2>>2]|0; - $69 = ($68|0)!=(0); + $66 = HEAP32[$11>>2]|0; + $67 = ($66|0)==(1); + $68 = $67 ? 26433 : 26452; + HEAP32[$13>>2] = $68; + $69 = HEAP32[$10>>2]|0; + $70 = ((($69)) + 16|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$11>>2]|0; + $73 = (($71) + ($72<<4)|0); + $74 = HEAP32[$73>>2]|0; + HEAP32[$14>>2] = $74; + HEAP32[$15>>2] = 0; + $75 = HEAP32[$4>>2]|0; + $76 = HEAP32[$13>>2]|0; + $77 = HEAP32[$14>>2]|0; + $78 = (_sqlite3AuthCheck($75,9,$76,0,$77)|0); + $79 = ($78|0)!=(0); + if (!($79)) { + $80 = HEAP32[$6>>2]|0; + $81 = ($80|0)!=(0); do { - if ($69) { - $70 = HEAP32[$iDb>>2]|0; - $71 = ($70|0)==(1); - if ($71) { - HEAP32[$code>>2] = 15; + if ($81) { + $82 = HEAP32[$11>>2]|0; + $83 = ($82|0)==(1); + if ($83) { + HEAP32[$12>>2] = 15; break; } else { - HEAP32[$code>>2] = 17; + HEAP32[$12>>2] = 17; break; } } else { - $72 = HEAP32[$pTab>>2]|0; - $73 = ((($72)) + 42|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 & 16; - $77 = ($76|0)!=(0); - if ($77) { - HEAP32[$code>>2] = 30; - $78 = HEAP32[$db>>2]|0; - $79 = HEAP32[$pTab>>2]|0; - $80 = (_sqlite3GetVTable($78,$79)|0); - $81 = ((($80)) + 4|0); - $82 = HEAP32[$81>>2]|0; - $83 = ((($82)) + 4|0); - $84 = HEAP32[$83>>2]|0; - HEAP32[$zArg2>>2] = $84; + $84 = HEAP32[$8>>2]|0; + $85 = ((($84)) + 42|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = $87 & 16; + $89 = ($88|0)!=(0); + if ($89) { + HEAP32[$12>>2] = 30; + $90 = HEAP32[$10>>2]|0; + $91 = HEAP32[$8>>2]|0; + $92 = (_sqlite3GetVTable($90,$91)|0); + $93 = ((($92)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = ((($94)) + 4|0); + $96 = HEAP32[$95>>2]|0; + HEAP32[$15>>2] = $96; break; } - $85 = HEAP32[$iDb>>2]|0; - $86 = ($85|0)==(1); - if ($86) { - HEAP32[$code>>2] = 13; + $97 = HEAP32[$11>>2]|0; + $98 = ($97|0)==(1); + if ($98) { + HEAP32[$12>>2] = 13; break; } else { - HEAP32[$code>>2] = 11; + HEAP32[$12>>2] = 11; break; } } } while(0); - $87 = HEAP32[$0>>2]|0; - $88 = HEAP32[$code>>2]|0; - $89 = HEAP32[$pTab>>2]|0; - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$zArg2>>2]|0; - $92 = HEAP32[$zDb>>2]|0; - $93 = (_sqlite3AuthCheck($87,$88,$90,$91,$92)|0); - $94 = ($93|0)!=(0); - if (!($94)) { - $95 = HEAP32[$0>>2]|0; - $96 = HEAP32[$pTab>>2]|0; - $97 = HEAP32[$96>>2]|0; - $98 = HEAP32[$zDb>>2]|0; - $99 = (_sqlite3AuthCheck($95,9,$97,0,$98)|0); - $100 = ($99|0)!=(0); - if (!($100)) { - $101 = HEAP32[$pTab>>2]|0; - $102 = HEAP32[$101>>2]|0; - $103 = (_sqlite3_strnicmp($102,27844,7)|0); - $104 = ($103|0)==(0); - if ($104) { - $105 = HEAP32[$pTab>>2]|0; - $106 = HEAP32[$105>>2]|0; - $107 = (_sqlite3_strnicmp($106,36063,11)|0); - $108 = ($107|0)!=(0); - if ($108) { - $109 = HEAP32[$0>>2]|0; - $110 = HEAP32[$pTab>>2]|0; - $111 = HEAP32[$110>>2]|0; - HEAP32[$vararg_buffer>>2] = $111; - _sqlite3ErrorMsg($109,36075,$vararg_buffer); + $99 = HEAP32[$4>>2]|0; + $100 = HEAP32[$12>>2]|0; + $101 = HEAP32[$8>>2]|0; + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$15>>2]|0; + $104 = HEAP32[$14>>2]|0; + $105 = (_sqlite3AuthCheck($99,$100,$102,$103,$104)|0); + $106 = ($105|0)!=(0); + if (!($106)) { + $107 = HEAP32[$4>>2]|0; + $108 = HEAP32[$8>>2]|0; + $109 = HEAP32[$108>>2]|0; + $110 = HEAP32[$14>>2]|0; + $111 = (_sqlite3AuthCheck($107,9,$109,0,$110)|0); + $112 = ($111|0)!=(0); + if (!($112)) { + $113 = HEAP32[$8>>2]|0; + $114 = HEAP32[$113>>2]|0; + $115 = (_sqlite3_strnicmp($114,26664,7)|0); + $116 = ($115|0)==(0); + if ($116) { + $117 = HEAP32[$8>>2]|0; + $118 = HEAP32[$117>>2]|0; + $119 = (_sqlite3_strnicmp($118,35500,11)|0); + $120 = ($119|0)!=(0); + if ($120) { + $121 = HEAP32[$4>>2]|0; + $122 = HEAP32[$8>>2]|0; + $123 = HEAP32[$122>>2]|0; + HEAP32[$vararg_buffer>>2] = $123; + _sqlite3ErrorMsg($121,35512,$vararg_buffer); break; } } - $112 = HEAP32[$2>>2]|0; - $113 = ($112|0)!=(0); - if ($113) { - $114 = HEAP32[$pTab>>2]|0; - $115 = ((($114)) + 12|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($116|0)==(0|0); - if ($117) { - $118 = HEAP32[$0>>2]|0; - $119 = HEAP32[$pTab>>2]|0; - $120 = HEAP32[$119>>2]|0; - HEAP32[$vararg_buffer1>>2] = $120; - _sqlite3ErrorMsg($118,36103,$vararg_buffer1); + $124 = HEAP32[$6>>2]|0; + $125 = ($124|0)!=(0); + if ($125) { + $126 = HEAP32[$8>>2]|0; + $127 = ((($126)) + 12|0); + $128 = HEAP32[$127>>2]|0; + $129 = ($128|0)==(0|0); + if ($129) { + $130 = HEAP32[$4>>2]|0; + $131 = HEAP32[$8>>2]|0; + $132 = HEAP32[$131>>2]|0; + HEAP32[$vararg_buffer1>>2] = $132; + _sqlite3ErrorMsg($130,35540,$vararg_buffer1); break; } } - $121 = HEAP32[$2>>2]|0; - $122 = ($121|0)!=(0); - if (!($122)) { - $123 = HEAP32[$pTab>>2]|0; - $124 = ((($123)) + 12|0); - $125 = HEAP32[$124>>2]|0; - $126 = ($125|0)!=(0|0); - if ($126) { - $127 = HEAP32[$0>>2]|0; - $128 = HEAP32[$pTab>>2]|0; - $129 = HEAP32[$128>>2]|0; - HEAP32[$vararg_buffer4>>2] = $129; - _sqlite3ErrorMsg($127,36137,$vararg_buffer4); + $133 = HEAP32[$6>>2]|0; + $134 = ($133|0)!=(0); + if (!($134)) { + $135 = HEAP32[$8>>2]|0; + $136 = ((($135)) + 12|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)!=(0|0); + if ($138) { + $139 = HEAP32[$4>>2]|0; + $140 = HEAP32[$8>>2]|0; + $141 = HEAP32[$140>>2]|0; + HEAP32[$vararg_buffer4>>2] = $141; + _sqlite3ErrorMsg($139,35574,$vararg_buffer4); break; } } - $130 = HEAP32[$0>>2]|0; - $131 = (_sqlite3GetVdbe($130)|0); - HEAP32[$v>>2] = $131; - $132 = HEAP32[$v>>2]|0; - $133 = ($132|0)!=(0|0); - if ($133) { - $134 = HEAP32[$0>>2]|0; - $135 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($134,1,$135); - $136 = HEAP32[$0>>2]|0; - $137 = HEAP32[$iDb>>2]|0; - $138 = HEAP32[$pTab>>2]|0; - $139 = HEAP32[$138>>2]|0; - _sqlite3ClearStatTables($136,$137,30858,$139); - $140 = HEAP32[$0>>2]|0; - $141 = HEAP32[$1>>2]|0; - $142 = HEAP32[$pTab>>2]|0; - _sqlite3FkDropTable($140,$141,$142); - $143 = HEAP32[$0>>2]|0; - $144 = HEAP32[$pTab>>2]|0; - $145 = HEAP32[$iDb>>2]|0; - $146 = HEAP32[$2>>2]|0; - _sqlite3CodeDropTable($143,$144,$145,$146); + $142 = HEAP32[$4>>2]|0; + $143 = (_sqlite3GetVdbe($142)|0); + HEAP32[$9>>2] = $143; + $144 = HEAP32[$9>>2]|0; + $145 = ($144|0)!=(0|0); + if ($145) { + $146 = HEAP32[$4>>2]|0; + $147 = HEAP32[$11>>2]|0; + _sqlite3BeginWriteOperation($146,1,$147); + $148 = HEAP32[$4>>2]|0; + $149 = HEAP32[$11>>2]|0; + $150 = HEAP32[$8>>2]|0; + $151 = HEAP32[$150>>2]|0; + _sqlite3ClearStatTables($148,$149,30152,$151); + $152 = HEAP32[$4>>2]|0; + $153 = HEAP32[$5>>2]|0; + $154 = HEAP32[$8>>2]|0; + _sqlite3FkDropTable($152,$153,$154); + $155 = HEAP32[$4>>2]|0; + $156 = HEAP32[$8>>2]|0; + $157 = HEAP32[$11>>2]|0; + $158 = HEAP32[$6>>2]|0; + _sqlite3CodeDropTable($155,$156,$157,$158); } } } @@ -116861,2518 +92476,2523 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { } } } while(0); - $147 = HEAP32[$db>>2]|0; - $148 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($147,$148); + $159 = HEAP32[$10>>2]|0; + $160 = HEAP32[$5>>2]|0; + _sqlite3SrcListDelete($159,$160); STACKTOP = sp;return; } -function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pCNames,$pSelect,$isTemp,$noErr) { - $pParse = $pParse|0; - $pBegin = $pBegin|0; - $pName1 = $pName1|0; - $pName2 = $pName2|0; - $pCNames = $pCNames|0; - $pSelect = $pSelect|0; - $isTemp = $isTemp|0; - $noErr = $noErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, $iDb = 0; - var $n = 0, $p = 0, $pName = 0, $sEnd = 0, $sFix = 0, $vararg_buffer = 0, $z = 0, label = 0, sp = 0; +function _sqlite3CreateView($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $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, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $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, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $vararg_buffer = sp; - $0 = sp + 88|0; - $1 = sp + 84|0; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = sp + 64|0; - $7 = sp + 60|0; - $p = sp + 56|0; - $n = sp + 52|0; - $z = sp + 48|0; - $sEnd = sp + 40|0; - $sFix = sp + 16|0; - $pName = sp + 12|0; - $iDb = sp + 8|0; - $db = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pBegin; - HEAP32[$2>>2] = $pName1; - HEAP32[$3>>2] = $pName2; - HEAP32[$4>>2] = $pCNames; - HEAP32[$5>>2] = $pSelect; - HEAP32[$6>>2] = $isTemp; - HEAP32[$7>>2] = $noErr; - HEAP32[$pName>>2] = 0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$db>>2] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 400|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12 << 16 >> 16; - $14 = ($13|0)>(0); - $15 = HEAP32[$0>>2]|0; - if ($14) { - _sqlite3ErrorMsg($15,36022,$vararg_buffer); + $8 = sp + 88|0; + $9 = sp + 84|0; + $10 = sp + 80|0; + $11 = sp + 76|0; + $12 = sp + 72|0; + $13 = sp + 68|0; + $14 = sp + 64|0; + $15 = sp + 60|0; + $16 = sp + 56|0; + $17 = sp + 52|0; + $18 = sp + 48|0; + $19 = sp + 40|0; + $20 = sp + 16|0; + $21 = sp + 12|0; + $22 = sp + 8|0; + $23 = sp + 4|0; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + HEAP32[$15>>2] = $7; + HEAP32[$21>>2] = 0; + $24 = HEAP32[$8>>2]|0; + $25 = HEAP32[$24>>2]|0; + HEAP32[$23>>2] = $25; + $26 = HEAP32[$8>>2]|0; + $27 = ((($26)) + 400|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28 << 16 >> 16; + $30 = ($29|0)>(0); + $31 = HEAP32[$8>>2]|0; + if ($30) { + _sqlite3ErrorMsg($31,35459,$vararg_buffer); } else { - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = HEAP32[$6>>2]|0; - $19 = HEAP32[$7>>2]|0; - _sqlite3StartTable($15,$16,$17,$18,1,0,$19); - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 440|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$p>>2] = $22; - $23 = HEAP32[$p>>2]|0; - $24 = ($23|0)==(0|0); - if (!($24)) { - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)!=(0); - if (!($28)) { - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$3>>2]|0; - (_sqlite3TwoPartName($29,$30,$31,$pName)|0); - $32 = HEAP32[$db>>2]|0; - $33 = HEAP32[$p>>2]|0; - $34 = ((($33)) + 64|0); - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3SchemaToIndex($32,$35)|0); - HEAP32[$iDb>>2] = $36; - $37 = HEAP32[$0>>2]|0; - $38 = HEAP32[$iDb>>2]|0; - $39 = HEAP32[$pName>>2]|0; - _sqlite3FixInit($sFix,$37,$38,36058,$39); - $40 = HEAP32[$5>>2]|0; - $41 = (_sqlite3FixSelect($sFix,$40)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - $43 = HEAP32[$db>>2]|0; - $44 = HEAP32[$5>>2]|0; - $45 = (_sqlite3SelectDup($43,$44,1)|0); - $46 = HEAP32[$p>>2]|0; - $47 = ((($46)) + 12|0); - HEAP32[$47>>2] = $45; - $48 = HEAP32[$db>>2]|0; - $49 = HEAP32[$4>>2]|0; - $50 = (_sqlite3ExprListDup($48,$49,1)|0); - $51 = HEAP32[$p>>2]|0; - $52 = ((($51)) + 24|0); - HEAP32[$52>>2] = $50; - $53 = HEAP32[$db>>2]|0; - $54 = ((($53)) + 69|0); - $55 = HEAP8[$54>>0]|0; - $56 = ($55<<24>>24)!=(0); - if (!($56)) { - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 392|0); - ;HEAP32[$sEnd>>2]=HEAP32[$58>>2]|0;HEAP32[$sEnd+4>>2]=HEAP32[$58+4>>2]|0; - $59 = HEAP32[$sEnd>>2]|0; - $60 = HEAP8[$59>>0]|0; - $61 = $60 << 24 >> 24; - $62 = ($61|0)!=(59); - if ($62) { - $63 = ((($sEnd)) + 4|0); - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$sEnd>>2]|0; - $66 = (($65) + ($64)|0); - HEAP32[$sEnd>>2] = $66; + $32 = HEAP32[$10>>2]|0; + $33 = HEAP32[$11>>2]|0; + $34 = HEAP32[$14>>2]|0; + $35 = HEAP32[$15>>2]|0; + _sqlite3StartTable($31,$32,$33,$34,1,0,$35); + $36 = HEAP32[$8>>2]|0; + $37 = ((($36)) + 440|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$16>>2] = $38; + $39 = HEAP32[$16>>2]|0; + $40 = ($39|0)==(0|0); + if (!($40)) { + $41 = HEAP32[$8>>2]|0; + $42 = ((($41)) + 36|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)!=(0); + if (!($44)) { + $45 = HEAP32[$8>>2]|0; + $46 = HEAP32[$10>>2]|0; + $47 = HEAP32[$11>>2]|0; + (_sqlite3TwoPartName($45,$46,$47,$21)|0); + $48 = HEAP32[$23>>2]|0; + $49 = HEAP32[$16>>2]|0; + $50 = ((($49)) + 64|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_sqlite3SchemaToIndex($48,$51)|0); + HEAP32[$22>>2] = $52; + $53 = HEAP32[$8>>2]|0; + $54 = HEAP32[$22>>2]|0; + $55 = HEAP32[$21>>2]|0; + _sqlite3FixInit($20,$53,$54,35495,$55); + $56 = HEAP32[$13>>2]|0; + $57 = (_sqlite3FixSelect($20,$56)|0); + $58 = ($57|0)!=(0); + if (!($58)) { + $59 = HEAP32[$23>>2]|0; + $60 = HEAP32[$13>>2]|0; + $61 = (_sqlite3SelectDup($59,$60,1)|0); + $62 = HEAP32[$16>>2]|0; + $63 = ((($62)) + 12|0); + HEAP32[$63>>2] = $61; + $64 = HEAP32[$23>>2]|0; + $65 = HEAP32[$12>>2]|0; + $66 = (_sqlite3ExprListDup($64,$65,1)|0); + $67 = HEAP32[$16>>2]|0; + $68 = ((($67)) + 24|0); + HEAP32[$68>>2] = $66; + $69 = HEAP32[$23>>2]|0; + $70 = ((($69)) + 69|0); + $71 = HEAP8[$70>>0]|0; + $72 = ($71<<24>>24)!=(0); + if (!($72)) { + $73 = HEAP32[$8>>2]|0; + $74 = ((($73)) + 392|0); + ;HEAP32[$19>>2]=HEAP32[$74>>2]|0;HEAP32[$19+4>>2]=HEAP32[$74+4>>2]|0; + $75 = HEAP32[$19>>2]|0; + $76 = HEAP8[$75>>0]|0; + $77 = $76 << 24 >> 24; + $78 = ($77|0)!=(59); + if ($78) { + $79 = ((($19)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$19>>2]|0; + $82 = (($81) + ($80)|0); + HEAP32[$19>>2] = $82; } - $67 = ((($sEnd)) + 4|0); - HEAP32[$67>>2] = 0; - $68 = HEAP32[$sEnd>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = HEAP32[$69>>2]|0; - $71 = $68; - $72 = $70; - $73 = (($71) - ($72))|0; - HEAP32[$n>>2] = $73; - $74 = HEAP32[$1>>2]|0; - $75 = HEAP32[$74>>2]|0; - HEAP32[$z>>2] = $75; + $83 = ((($19)) + 4|0); + HEAP32[$83>>2] = 0; + $84 = HEAP32[$19>>2]|0; + $85 = HEAP32[$9>>2]|0; + $86 = HEAP32[$85>>2]|0; + $87 = $84; + $88 = $86; + $89 = (($87) - ($88))|0; + HEAP32[$17>>2] = $89; + $90 = HEAP32[$9>>2]|0; + $91 = HEAP32[$90>>2]|0; + HEAP32[$18>>2] = $91; while(1) { - $76 = HEAP32[$n>>2]|0; - $77 = (($76) - 1)|0; - $78 = HEAP32[$z>>2]|0; - $79 = (($78) + ($77)|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = (18403 + ($81)|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = $84 & 1; - $86 = ($85|0)!=(0); - $87 = HEAP32[$n>>2]|0; - if (!($86)) { + $92 = HEAP32[$18>>2]|0; + $93 = HEAP32[$17>>2]|0; + $94 = (($93) - 1)|0; + $95 = (($92) + ($94)|0); + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = (20063 + ($97)|0); + $99 = HEAP8[$98>>0]|0; + $100 = $99&255; + $101 = $100 & 1; + $102 = ($101|0)!=(0); + if (!($102)) { break; } - $88 = (($87) + -1)|0; - HEAP32[$n>>2] = $88; + $103 = HEAP32[$17>>2]|0; + $104 = (($103) + -1)|0; + HEAP32[$17>>2] = $104; } - $89 = (($87) - 1)|0; - $90 = HEAP32[$z>>2]|0; - $91 = (($90) + ($89)|0); - HEAP32[$sEnd>>2] = $91; - $92 = ((($sEnd)) + 4|0); - HEAP32[$92>>2] = 1; - $93 = HEAP32[$0>>2]|0; - _sqlite3EndTable($93,0,$sEnd,0,0); + $105 = HEAP32[$18>>2]|0; + $106 = HEAP32[$17>>2]|0; + $107 = (($106) - 1)|0; + $108 = (($105) + ($107)|0); + HEAP32[$19>>2] = $108; + $109 = ((($19)) + 4|0); + HEAP32[$109>>2] = 1; + $110 = HEAP32[$8>>2]|0; + _sqlite3EndTable($110,0,$19,0,0); } } } } } - $94 = HEAP32[$db>>2]|0; - $95 = HEAP32[$5>>2]|0; - _sqlite3SelectDelete($94,$95); - $96 = HEAP32[$db>>2]|0; - $97 = HEAP32[$4>>2]|0; - _sqlite3ExprListDelete($96,$97); + $111 = HEAP32[$23>>2]|0; + $112 = HEAP32[$13>>2]|0; + _sqlite3SelectDelete($111,$112); + $113 = HEAP32[$23>>2]|0; + $114 = HEAP32[$12>>2]|0; + _sqlite3ExprListDelete($113,$114); STACKTOP = sp;return; } -function _sqlite3Select($pParse,$p,$pDest) { - $pParse = $pParse|0; - $p = $p|0; - $pDest = $pDest|0; - var $0 = 0, $1 = 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, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0; - var $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, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0; - var $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, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0; - var $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, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0; - var $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, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0; - var $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0; - var $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0; - var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0; - var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0; - var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0; - var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0; - var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0; - var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0; - var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; - var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; - var $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, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; - var $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, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; - var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0; - var $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, $322 = 0, $323 = 0, $324 = 0, $325 = 0; - var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0; - var $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, $359 = 0, $36 = 0, $360 = 0, $361 = 0; - var $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, $377 = 0, $378 = 0, $379 = 0, $38 = 0; - var $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, $395 = 0, $396 = 0, $397 = 0, $398 = 0; - var $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, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0; - var $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, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0; - var $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0; - var $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, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0; - var $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0; - var $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0; - var $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0; - var $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0; - var $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0; - var $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0; - var $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0; - var $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, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0; - var $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0; - var $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0; - var $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0; - var $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0; - var $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0; - var $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0; - var $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0; - var $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0; - var $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0; - var $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0; - var $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0; - var $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, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0; - var $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, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0; - var $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, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0; - var $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, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0; - var $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, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0; - var $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, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0; - var $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, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0; - var $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, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0; - var $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, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0; - var $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, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0; - var $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $addr1 = 0, $addrEnd = 0, $addrOutputRow = 0, $addrReset = 0, $addrSetAbort = 0, $addrSortingIdx = 0, $addrTop = 0, $addrTopOfLoop = 0, $db = 0, $dest = 0, $flag = 0, $groupBySort = 0, $i = 0; - var $iAMem = 0, $iAbortFlag = 0, $iBMem = 0, $iCsr = 0, $iDb = 0, $iEnd = 0, $iRestoreSelectId = 0, $iRoot = 0, $iUseFlag = 0, $isAgg = 0, $isAggSub = 0, $j = 0, $k = 0, $nCol = 0, $nGroupBy = 0, $onceAddr = 0, $or$cond = 0, $orderByGrp = 0, $pBest = 0, $pCol = 0; - var $pDel = 0, $pEList = 0, $pGroupBy = 0, $pHaving = 0, $pIdx = 0, $pItem = 0, $pItem1 = 0, $pItem3 = 0, $pKeyInfo = 0, $pKeyInfo4 = 0, $pKeyInfo6 = 0, $pMinMax = 0, $pSub = 0, $pSub2 = 0, $pTab = 0, $pTab5 = 0, $pTabList = 0, $pWInfo = 0, $pWhere = 0, $r1 = 0; - var $rc = 0, $regBase = 0, $regOutputRow = 0, $regRecord = 0, $regReset = 0, $retAddr = 0, $sAggInfo = 0, $sDistinct = 0, $sNC = 0, $sSort = 0, $sortOut = 0, $sortPTab = 0, $topAddr = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $wctrlFlags = 0, dest = 0, label = 0; - var sp = 0, stop = 0; +function _sqlite3Select($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $$sink2 = 0, $$sink5 = 0, $$sink7 = 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, $1011 = 0, $1012 = 0; + var $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, $103 = 0, $1030 = 0; + var $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, $1048 = 0, $1049 = 0; + var $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, $1066 = 0, $1067 = 0; + var $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, $1084 = 0, $1085 = 0; + var $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0; + var $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0; + var $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0; + var $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0; + var $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0; + var $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0; + var $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0; + var $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0; + var $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0; + var $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0; + var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0; + var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0; + var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; + var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; + var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0; + var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0; + var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0; + var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0; + var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0; + var $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0; + var $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0; + var $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0; + var $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0; + var $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; + var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; + var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; + var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; + var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0; + var $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0; + var $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0; + var $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0; + var $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0; + var $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0; + var $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0; + var $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0; + var $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0; + var $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0; + var $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0; + var $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0; + var $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0; + var $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0; + var $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0; + var $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0; + var $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0; + var $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0; + var $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0; + var $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0; + var $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0; + var $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0; + var $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0; + var $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0; + var $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0; + var $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0; + var $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0; + var $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0; + var $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, dest = 0; + var label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 432|0; $vararg_buffer = sp; - $0 = sp + 412|0; - $1 = sp + 408|0; - $2 = sp + 404|0; - $3 = sp + 400|0; - $i = sp + 396|0; - $j = sp + 392|0; - $pWInfo = sp + 388|0; - $v = sp + 384|0; - $isAgg = sp + 380|0; - $pEList = sp + 376|0; - $pTabList = sp + 372|0; - $pWhere = sp + 368|0; - $pGroupBy = sp + 364|0; - $pHaving = sp + 360|0; - $rc = sp + 356|0; - $sDistinct = sp + 344|0; - $sSort = sp + 312|0; - $sAggInfo = sp + 264|0; - $iEnd = sp + 260|0; - $db = sp + 256|0; - $iRestoreSelectId = sp + 252|0; - $pItem = sp + 248|0; - $pSub = sp + 244|0; - $isAggSub = sp + 240|0; - $pTab = sp + 236|0; - $pItem1 = sp + 232|0; - $dest = sp + 208|0; - $pSub2 = sp + 204|0; - $addrTop = sp + 200|0; - $topAddr = sp + 196|0; - $onceAddr = sp + 192|0; - $retAddr = sp + 188|0; - $pKeyInfo = sp + 184|0; - $wctrlFlags = sp + 416|0; - $sNC = sp + 152|0; - $iAMem = sp + 148|0; - $iBMem = sp + 144|0; - $iUseFlag = sp + 140|0; - $iAbortFlag = sp + 136|0; - $groupBySort = sp + 132|0; - $addrEnd = sp + 128|0; - $sortPTab = sp + 124|0; - $sortOut = sp + 120|0; - $orderByGrp = sp + 116|0; - $k = sp + 112|0; - $pItem3 = sp + 108|0; - $pKeyInfo4 = sp + 104|0; - $addr1 = sp + 100|0; - $addrOutputRow = sp + 96|0; - $regOutputRow = sp + 92|0; - $addrSetAbort = sp + 88|0; - $addrTopOfLoop = sp + 84|0; - $addrSortingIdx = sp + 80|0; - $addrReset = sp + 76|0; - $regReset = sp + 72|0; - $regBase = sp + 68|0; - $regRecord = sp + 64|0; - $nCol = sp + 60|0; - $nGroupBy = sp + 56|0; - $pCol = sp + 52|0; - $r1 = sp + 48|0; - $pDel = sp + 44|0; - $pTab5 = sp + 40|0; - $iDb = sp + 36|0; - $iCsr = sp + 32|0; - $pIdx = sp + 28|0; - $pKeyInfo6 = sp + 24|0; - $pBest = sp + 20|0; - $iRoot = sp + 16|0; - $pMinMax = sp + 12|0; - $flag = sp + 418|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $pDest; - HEAP32[$pEList>>2] = 0; - HEAP32[$rc>>2] = 1; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 420|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$iRestoreSelectId>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 424|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 1)|0; - HEAP32[$8>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 420|0); - HEAP32[$12>>2] = $9; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$13>>2]|0; - HEAP32[$db>>2] = $14; - $15 = HEAP32[$2>>2]|0; - $16 = ($15|0)==(0|0); - if (!($16)) { - $17 = HEAP32[$db>>2]|0; - $18 = ((($17)) + 69|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)!=(0); - if (!($21)) { - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 36|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)!=(0); - if (!($25)) { - $26 = HEAP32[$1>>2]|0; - $27 = (_sqlite3AuthCheck($26,21,0,0,0)|0); - $28 = ($27|0)!=(0); - if ($28) { - HEAP32[$0>>2] = 1; - $1186 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1186|0); - } - dest=$sAggInfo; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $29 = HEAP32[$3>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = ($31|0)<=(8); - if ($32) { - $33 = HEAP32[$db>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 44|0); - $36 = HEAP32[$35>>2]|0; - _sqlite3ExprListDelete($33,$36); - $37 = HEAP32[$2>>2]|0; - $38 = ((($37)) + 44|0); - HEAP32[$38>>2] = 0; - $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 8|0); - $41 = HEAP32[$40>>2]|0; - $42 = $41 & -2; - HEAP32[$40>>2] = $42; + $3 = sp + 412|0; + $4 = sp + 408|0; + $5 = sp + 404|0; + $6 = sp + 400|0; + $7 = sp + 396|0; + $8 = sp + 392|0; + $9 = sp + 388|0; + $10 = sp + 384|0; + $11 = sp + 380|0; + $12 = sp + 376|0; + $13 = sp + 372|0; + $14 = sp + 368|0; + $15 = sp + 364|0; + $16 = sp + 360|0; + $17 = sp + 356|0; + $18 = sp + 344|0; + $19 = sp + 312|0; + $20 = sp + 264|0; + $21 = sp + 260|0; + $22 = sp + 256|0; + $23 = sp + 252|0; + $24 = sp + 248|0; + $25 = sp + 244|0; + $26 = sp + 240|0; + $27 = sp + 236|0; + $28 = sp + 232|0; + $29 = sp + 208|0; + $30 = sp + 204|0; + $31 = sp + 200|0; + $32 = sp + 196|0; + $33 = sp + 192|0; + $34 = sp + 188|0; + $35 = sp + 184|0; + $36 = sp + 416|0; + $37 = sp + 152|0; + $38 = sp + 148|0; + $39 = sp + 144|0; + $40 = sp + 140|0; + $41 = sp + 136|0; + $42 = sp + 132|0; + $43 = sp + 128|0; + $44 = sp + 124|0; + $45 = sp + 120|0; + $46 = sp + 116|0; + $47 = sp + 112|0; + $48 = sp + 108|0; + $49 = sp + 104|0; + $50 = sp + 100|0; + $51 = sp + 96|0; + $52 = sp + 92|0; + $53 = sp + 88|0; + $54 = sp + 84|0; + $55 = sp + 80|0; + $56 = sp + 76|0; + $57 = sp + 72|0; + $58 = sp + 68|0; + $59 = sp + 64|0; + $60 = sp + 60|0; + $61 = sp + 56|0; + $62 = sp + 52|0; + $63 = sp + 48|0; + $64 = sp + 44|0; + $65 = sp + 40|0; + $66 = sp + 36|0; + $67 = sp + 32|0; + $68 = sp + 28|0; + $69 = sp + 24|0; + $70 = sp + 20|0; + $71 = sp + 16|0; + $72 = sp + 12|0; + $73 = sp + 418|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$12>>2] = 0; + HEAP32[$17>>2] = 1; + $74 = HEAP32[$4>>2]|0; + $75 = ((($74)) + 420|0); + $76 = HEAP32[$75>>2]|0; + HEAP32[$23>>2] = $76; + $77 = HEAP32[$4>>2]|0; + $78 = ((($77)) + 424|0); + $79 = HEAP32[$78>>2]|0; + $80 = (($79) + 1)|0; + HEAP32[$78>>2] = $80; + $81 = HEAP32[$4>>2]|0; + $82 = ((($81)) + 420|0); + HEAP32[$82>>2] = $79; + $83 = HEAP32[$4>>2]|0; + $84 = HEAP32[$83>>2]|0; + HEAP32[$22>>2] = $84; + $85 = HEAP32[$5>>2]|0; + $86 = ($85|0)==(0|0); + if (!($86)) { + $87 = HEAP32[$22>>2]|0; + $88 = ((($87)) + 69|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = ($90|0)!=(0); + if (!($91)) { + $92 = HEAP32[$4>>2]|0; + $93 = ((($92)) + 36|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)!=(0); + if (!($95)) { + $96 = HEAP32[$4>>2]|0; + $97 = (_sqlite3AuthCheck($96,21,0,0,0)|0); + $98 = ($97|0)!=(0); + if ($98) { + HEAP32[$3>>2] = 1; + $1253 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($1253|0); + } + dest=$20; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $99 = HEAP32[$6>>2]|0; + $100 = HEAP8[$99>>0]|0; + $101 = $100&255; + $102 = ($101|0)<=(8); + if ($102) { + $103 = HEAP32[$22>>2]|0; + $104 = HEAP32[$5>>2]|0; + $105 = ((($104)) + 44|0); + $106 = HEAP32[$105>>2]|0; + _sqlite3ExprListDelete($103,$106); + $107 = HEAP32[$5>>2]|0; + $108 = ((($107)) + 44|0); + HEAP32[$108>>2] = 0; + $109 = HEAP32[$5>>2]|0; + $110 = ((($109)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 & -2; + HEAP32[$110>>2] = $112; } - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$2>>2]|0; - _sqlite3SelectPrep($43,$44,0); - ;HEAP32[$sSort>>2]=0|0;HEAP32[$sSort+4>>2]=0|0;HEAP32[$sSort+8>>2]=0|0;HEAP32[$sSort+12>>2]=0|0;HEAP32[$sSort+16>>2]=0|0;HEAP32[$sSort+20>>2]=0|0;HEAP32[$sSort+24>>2]=0|0;HEAP32[$sSort+28>>2]=0|0; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 44|0); - $47 = HEAP32[$46>>2]|0; - HEAP32[$sSort>>2] = $47; - $48 = HEAP32[$2>>2]|0; - $49 = ((($48)) + 28|0); - $50 = HEAP32[$49>>2]|0; - HEAP32[$pTabList>>2] = $50; - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 36|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)!=(0); + $113 = HEAP32[$4>>2]|0; + $114 = HEAP32[$5>>2]|0; + _sqlite3SelectPrep($113,$114,0); + ;HEAP32[$19>>2]=0|0;HEAP32[$19+4>>2]=0|0;HEAP32[$19+8>>2]=0|0;HEAP32[$19+12>>2]=0|0;HEAP32[$19+16>>2]=0|0;HEAP32[$19+20>>2]=0|0;HEAP32[$19+24>>2]=0|0;HEAP32[$19+28>>2]=0|0; + $115 = HEAP32[$5>>2]|0; + $116 = ((($115)) + 44|0); + $117 = HEAP32[$116>>2]|0; + HEAP32[$19>>2] = $117; + $118 = HEAP32[$5>>2]|0; + $119 = ((($118)) + 28|0); + $120 = HEAP32[$119>>2]|0; + HEAP32[$13>>2] = $120; + $121 = HEAP32[$4>>2]|0; + $122 = ((($121)) + 36|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)!=(0); L12: do { - if (!($54)) { - $55 = HEAP32[$db>>2]|0; - $56 = ((($55)) + 69|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = ($58|0)!=(0); - if (!($59)) { - $60 = HEAP32[$2>>2]|0; - $61 = ((($60)) + 8|0); - $62 = HEAP32[$61>>2]|0; - $63 = $62 & 8; - $64 = ($63|0)!=(0); - $65 = $64&1; - HEAP32[$isAgg>>2] = $65; - HEAP32[$i>>2] = 0; + if (!($124)) { + $125 = HEAP32[$22>>2]|0; + $126 = ((($125)) + 69|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $129 = ($128|0)!=(0); + if (!($129)) { + $130 = HEAP32[$5>>2]|0; + $131 = ((($130)) + 8|0); + $132 = HEAP32[$131>>2]|0; + $133 = $132 & 8; + $134 = ($133|0)!=(0); + $135 = $134&1; + HEAP32[$11>>2] = $135; + HEAP32[$7>>2] = 0; while(1) { - $66 = HEAP32[$2>>2]|0; - $67 = ((($66)) + 48|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($68|0)!=(0|0); - if ($69) { + $136 = HEAP32[$5>>2]|0; + $137 = ((($136)) + 48|0); + $138 = HEAP32[$137>>2]|0; + $139 = ($138|0)!=(0|0); + if ($139) { break; } - $70 = HEAP32[$i>>2]|0; - $71 = HEAP32[$pTabList>>2]|0; - $72 = HEAP32[$71>>2]|0; - $73 = ($70|0)<($72|0); - if (!($73)) { + $140 = HEAP32[$7>>2]|0; + $141 = HEAP32[$13>>2]|0; + $142 = HEAP32[$141>>2]|0; + $143 = ($140|0)<($142|0); + if (!($143)) { break; } - $74 = HEAP32[$i>>2]|0; - $75 = HEAP32[$pTabList>>2]|0; - $76 = ((($75)) + 8|0); - $77 = (($76) + (($74*72)|0)|0); - HEAP32[$pItem>>2] = $77; - $78 = HEAP32[$pItem>>2]|0; - $79 = ((($78)) + 20|0); - $80 = HEAP32[$79>>2]|0; - HEAP32[$pSub>>2] = $80; - $81 = HEAP32[$pItem>>2]|0; - $82 = ((($81)) + 16|0); - $83 = HEAP32[$82>>2]|0; - HEAP32[$pTab>>2] = $83; - $84 = HEAP32[$pSub>>2]|0; - $85 = ($84|0)==(0|0); - if (!($85)) { - $86 = HEAP32[$pTab>>2]|0; - $87 = ((($86)) + 34|0); - $88 = HEAP16[$87>>1]|0; - $89 = $88 << 16 >> 16; - $90 = HEAP32[$pSub>>2]|0; - $91 = HEAP32[$90>>2]|0; - $92 = HEAP32[$91>>2]|0; - $93 = ($89|0)!=($92|0); - if ($93) { + $144 = HEAP32[$13>>2]|0; + $145 = ((($144)) + 8|0); + $146 = HEAP32[$7>>2]|0; + $147 = (($145) + (($146*72)|0)|0); + HEAP32[$24>>2] = $147; + $148 = HEAP32[$24>>2]|0; + $149 = ((($148)) + 20|0); + $150 = HEAP32[$149>>2]|0; + HEAP32[$25>>2] = $150; + $151 = HEAP32[$24>>2]|0; + $152 = ((($151)) + 16|0); + $153 = HEAP32[$152>>2]|0; + HEAP32[$27>>2] = $153; + $154 = HEAP32[$25>>2]|0; + $155 = ($154|0)==(0|0); + if (!($155)) { + $156 = HEAP32[$27>>2]|0; + $157 = ((($156)) + 34|0); + $158 = HEAP16[$157>>1]|0; + $159 = $158 << 16 >> 16; + $160 = HEAP32[$25>>2]|0; + $161 = HEAP32[$160>>2]|0; + $162 = HEAP32[$161>>2]|0; + $163 = ($159|0)!=($162|0); + if ($163) { label = 16; break; } - $104 = HEAP32[$pSub>>2]|0; - $105 = ((($104)) + 8|0); - $106 = HEAP32[$105>>2]|0; - $107 = $106 & 8; - $108 = ($107|0)!=(0); - $109 = $108&1; - HEAP32[$isAggSub>>2] = $109; - $110 = HEAP32[$1>>2]|0; - $111 = HEAP32[$2>>2]|0; - $112 = HEAP32[$i>>2]|0; - $113 = HEAP32[$isAgg>>2]|0; - $114 = HEAP32[$isAggSub>>2]|0; - $115 = (_flattenSubquery($110,$111,$112,$113,$114)|0); - $116 = ($115|0)!=(0); - if ($116) { - $117 = HEAP32[$isAggSub>>2]|0; - $118 = ($117|0)!=(0); - if ($118) { - HEAP32[$isAgg>>2] = 1; - $119 = HEAP32[$2>>2]|0; - $120 = ((($119)) + 8|0); - $121 = HEAP32[$120>>2]|0; - $122 = $121 | 8; - HEAP32[$120>>2] = $122; + $174 = HEAP32[$25>>2]|0; + $175 = ((($174)) + 8|0); + $176 = HEAP32[$175>>2]|0; + $177 = $176 & 8; + $178 = ($177|0)!=(0); + $179 = $178&1; + HEAP32[$26>>2] = $179; + $180 = HEAP32[$4>>2]|0; + $181 = HEAP32[$5>>2]|0; + $182 = HEAP32[$7>>2]|0; + $183 = HEAP32[$11>>2]|0; + $184 = HEAP32[$26>>2]|0; + $185 = (_flattenSubquery($180,$181,$182,$183,$184)|0); + $186 = ($185|0)!=(0); + if ($186) { + $187 = HEAP32[$26>>2]|0; + $188 = ($187|0)!=(0); + if ($188) { + HEAP32[$11>>2] = 1; + $189 = HEAP32[$5>>2]|0; + $190 = ((($189)) + 8|0); + $191 = HEAP32[$190>>2]|0; + $192 = $191 | 8; + HEAP32[$190>>2] = $192; } - HEAP32[$i>>2] = -1; + HEAP32[$7>>2] = -1; } - $123 = HEAP32[$2>>2]|0; - $124 = ((($123)) + 28|0); - $125 = HEAP32[$124>>2]|0; - HEAP32[$pTabList>>2] = $125; - $126 = HEAP32[$db>>2]|0; - $127 = ((($126)) + 69|0); - $128 = HEAP8[$127>>0]|0; - $129 = ($128<<24>>24)!=(0); - if ($129) { + $193 = HEAP32[$5>>2]|0; + $194 = ((($193)) + 28|0); + $195 = HEAP32[$194>>2]|0; + HEAP32[$13>>2] = $195; + $196 = HEAP32[$22>>2]|0; + $197 = ((($196)) + 69|0); + $198 = HEAP8[$197>>0]|0; + $199 = ($198<<24>>24)!=(0); + if ($199) { break L12; } - $130 = HEAP32[$3>>2]|0; - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = ($132|0)<=(8); - if (!($133)) { - $134 = HEAP32[$2>>2]|0; - $135 = ((($134)) + 44|0); - $136 = HEAP32[$135>>2]|0; - HEAP32[$sSort>>2] = $136; + $200 = HEAP32[$6>>2]|0; + $201 = HEAP8[$200>>0]|0; + $202 = $201&255; + $203 = ($202|0)<=(8); + if (!($203)) { + $204 = HEAP32[$5>>2]|0; + $205 = ((($204)) + 44|0); + $206 = HEAP32[$205>>2]|0; + HEAP32[$19>>2] = $206; } } - $137 = HEAP32[$i>>2]|0; - $138 = (($137) + 1)|0; - HEAP32[$i>>2] = $138; + $207 = HEAP32[$7>>2]|0; + $208 = (($207) + 1)|0; + HEAP32[$7>>2] = $208; } if ((label|0) == 16) { - $94 = HEAP32[$1>>2]|0; - $95 = HEAP32[$pTab>>2]|0; - $96 = ((($95)) + 34|0); - $97 = HEAP16[$96>>1]|0; - $98 = $97 << 16 >> 16; - $99 = HEAP32[$pTab>>2]|0; - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[$pSub>>2]|0; - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$102>>2]|0; - HEAP32[$vararg_buffer>>2] = $98; - $vararg_ptr2 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr2>>2] = $100; - $vararg_ptr3 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr3>>2] = $103; - _sqlite3ErrorMsg($94,35609,$vararg_buffer); + $164 = HEAP32[$4>>2]|0; + $165 = HEAP32[$27>>2]|0; + $166 = ((($165)) + 34|0); + $167 = HEAP16[$166>>1]|0; + $168 = $167 << 16 >> 16; + $169 = HEAP32[$27>>2]|0; + $170 = HEAP32[$169>>2]|0; + $171 = HEAP32[$25>>2]|0; + $172 = HEAP32[$171>>2]|0; + $173 = HEAP32[$172>>2]|0; + HEAP32[$vararg_buffer>>2] = $168; + $vararg_ptr8 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $170; + $vararg_ptr9 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr9>>2] = $173; + _sqlite3ErrorMsg($164,35054,$vararg_buffer); break; } - $139 = HEAP32[$1>>2]|0; - $140 = (_sqlite3GetVdbe($139)|0); - HEAP32[$v>>2] = $140; - $141 = HEAP32[$v>>2]|0; - $142 = ($141|0)==(0|0); - if (!($142)) { - $143 = HEAP32[$2>>2]|0; - $144 = ((($143)) + 48|0); - $145 = HEAP32[$144>>2]|0; - $146 = ($145|0)!=(0|0); - if ($146) { - $147 = HEAP32[$1>>2]|0; - $148 = HEAP32[$2>>2]|0; - $149 = HEAP32[$3>>2]|0; - $150 = (_multiSelect($147,$148,$149)|0); - HEAP32[$rc>>2] = $150; - $151 = HEAP32[$iRestoreSelectId>>2]|0; - $152 = HEAP32[$1>>2]|0; - $153 = ((($152)) + 420|0); - HEAP32[$153>>2] = $151; - $154 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $154; - $1186 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1186|0); + $209 = HEAP32[$4>>2]|0; + $210 = (_sqlite3GetVdbe($209)|0); + HEAP32[$10>>2] = $210; + $211 = HEAP32[$10>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[$5>>2]|0; + $214 = ((($213)) + 48|0); + $215 = HEAP32[$214>>2]|0; + $216 = ($215|0)!=(0|0); + if ($216) { + $217 = HEAP32[$4>>2]|0; + $218 = HEAP32[$5>>2]|0; + $219 = HEAP32[$6>>2]|0; + $220 = (_multiSelect($217,$218,$219)|0); + HEAP32[$17>>2] = $220; + $221 = HEAP32[$23>>2]|0; + $222 = HEAP32[$4>>2]|0; + $223 = ((($222)) + 420|0); + HEAP32[$223>>2] = $221; + $224 = HEAP32[$17>>2]|0; + HEAP32[$3>>2] = $224; + $1253 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($1253|0); } - HEAP32[$i>>2] = 0; + HEAP32[$7>>2] = 0; while(1) { - $155 = HEAP32[$i>>2]|0; - $156 = HEAP32[$pTabList>>2]|0; - $157 = HEAP32[$156>>2]|0; - $158 = ($155|0)<($157|0); - if (!($158)) { + $225 = HEAP32[$7>>2]|0; + $226 = HEAP32[$13>>2]|0; + $227 = HEAP32[$226>>2]|0; + $228 = ($225|0)<($227|0); + if (!($228)) { break; } - $159 = HEAP32[$i>>2]|0; - $160 = HEAP32[$pTabList>>2]|0; - $161 = ((($160)) + 8|0); - $162 = (($161) + (($159*72)|0)|0); - HEAP32[$pItem1>>2] = $162; - $163 = HEAP32[$pItem1>>2]|0; - $164 = ((($163)) + 20|0); - $165 = HEAP32[$164>>2]|0; - HEAP32[$pSub2>>2] = $165; - $166 = HEAP32[$pSub2>>2]|0; - $167 = ($166|0)==(0|0); + $229 = HEAP32[$13>>2]|0; + $230 = ((($229)) + 8|0); + $231 = HEAP32[$7>>2]|0; + $232 = (($230) + (($231*72)|0)|0); + HEAP32[$28>>2] = $232; + $233 = HEAP32[$28>>2]|0; + $234 = ((($233)) + 20|0); + $235 = HEAP32[$234>>2]|0; + HEAP32[$30>>2] = $235; + $236 = HEAP32[$30>>2]|0; + $237 = ($236|0)==(0|0); do { - if (!($167)) { - $168 = HEAP32[$pItem1>>2]|0; - $169 = ((($168)) + 24|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)!=(0); - if ($171) { - $172 = HEAP32[$pItem1>>2]|0; - $173 = ((($172)) + 36|0); - $174 = ((($173)) + 1|0); - $175 = HEAP8[$174>>0]|0; - $176 = ($175&255) >>> 4; - $177 = $176 & 1; - $178 = $177&255; - $179 = ($178|0)==(0); - if (!($179)) { + if (!($237)) { + $238 = HEAP32[$28>>2]|0; + $239 = ((($238)) + 24|0); + $240 = HEAP32[$239>>2]|0; + $241 = ($240|0)!=(0); + if ($241) { + $242 = HEAP32[$28>>2]|0; + $243 = ((($242)) + 36|0); + $244 = ((($243)) + 1|0); + $245 = HEAP8[$244>>0]|0; + $246 = ($245&255) >>> 4; + $247 = $246 & 1; + $248 = $247&255; + $249 = ($248|0)==(0); + if (!($249)) { break; } - $180 = HEAP32[$v>>2]|0; - $181 = HEAP32[$pItem1>>2]|0; - $182 = ((($181)) + 28|0); - $183 = HEAP32[$182>>2]|0; - $184 = HEAP32[$pItem1>>2]|0; - $185 = ((($184)) + 24|0); - $186 = HEAP32[$185>>2]|0; - (_sqlite3VdbeAddOp2($180,14,$183,$186)|0); + $250 = HEAP32[$10>>2]|0; + $251 = HEAP32[$28>>2]|0; + $252 = ((($251)) + 28|0); + $253 = HEAP32[$252>>2]|0; + $254 = HEAP32[$28>>2]|0; + $255 = ((($254)) + 24|0); + $256 = HEAP32[$255>>2]|0; + (_sqlite3VdbeAddOp2($250,14,$253,$256)|0); break; } - $187 = HEAP32[$2>>2]|0; - $188 = (_sqlite3SelectExprHeight($187)|0); - $189 = HEAP32[$1>>2]|0; - $190 = ((($189)) + 416|0); - $191 = HEAP32[$190>>2]|0; - $192 = (($191) + ($188))|0; - HEAP32[$190>>2] = $192; - $193 = HEAP32[$pItem1>>2]|0; - $194 = ((($193)) + 36|0); - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - $197 = $196 & 32; - $198 = ($197|0)==(0); - if ($198) { - $199 = HEAP32[$db>>2]|0; - $200 = HEAP32[$pSub2>>2]|0; - $201 = HEAP32[$2>>2]|0; - $202 = ((($201)) + 32|0); - $203 = HEAP32[$202>>2]|0; - $204 = HEAP32[$pItem1>>2]|0; - $205 = ((($204)) + 44|0); - $206 = HEAP32[$205>>2]|0; - (_pushDownWhereTerms($199,$200,$203,$206)|0); + $257 = HEAP32[$5>>2]|0; + $258 = (_sqlite3SelectExprHeight($257)|0); + $259 = HEAP32[$4>>2]|0; + $260 = ((($259)) + 416|0); + $261 = HEAP32[$260>>2]|0; + $262 = (($261) + ($258))|0; + HEAP32[$260>>2] = $262; + $263 = HEAP32[$28>>2]|0; + $264 = ((($263)) + 36|0); + $265 = HEAP8[$264>>0]|0; + $266 = $265&255; + $267 = $266 & 32; + $268 = ($267|0)==(0); + if ($268) { + $269 = HEAP32[$22>>2]|0; + $270 = HEAP32[$30>>2]|0; + $271 = HEAP32[$5>>2]|0; + $272 = ((($271)) + 32|0); + $273 = HEAP32[$272>>2]|0; + $274 = HEAP32[$28>>2]|0; + $275 = ((($274)) + 44|0); + $276 = HEAP32[$275>>2]|0; + (_pushDownWhereTerms($269,$270,$273,$276)|0); } - $207 = HEAP32[$i>>2]|0; - $208 = ($207|0)==(0); + $277 = HEAP32[$7>>2]|0; + $278 = ($277|0)==(0); do { - if ($208) { - $209 = HEAP32[$pTabList>>2]|0; - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(1); - if (!($211)) { - $212 = HEAP32[$pTabList>>2]|0; - $213 = ((($212)) + 8|0); - $214 = ((($213)) + 72|0); - $215 = ((($214)) + 36|0); - $216 = HEAP8[$215>>0]|0; - $217 = $216&255; - $218 = $217 & 10; - $219 = ($218|0)!=(0); - if (!($219)) { + if ($278) { + $279 = HEAP32[$13>>2]|0; + $280 = HEAP32[$279>>2]|0; + $281 = ($280|0)==(1); + if (!($281)) { + $282 = HEAP32[$13>>2]|0; + $283 = ((($282)) + 8|0); + $284 = ((($283)) + 72|0); + $285 = ((($284)) + 36|0); + $286 = HEAP8[$285>>0]|0; + $287 = $286&255; + $288 = $287 & 10; + $289 = ($288|0)!=(0); + if (!($289)) { label = 42; break; } } - $220 = HEAP32[$2>>2]|0; - $221 = ((($220)) + 8|0); - $222 = HEAP32[$221>>2]|0; - $223 = $222 & 2; - $224 = ($223|0)==(0); - if (!($224)) { + $290 = HEAP32[$5>>2]|0; + $291 = ((($290)) + 8|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & 2; + $294 = ($293|0)==(0); + if (!($294)) { label = 42; break; } - $225 = HEAP32[$db>>2]|0; - $226 = ((($225)) + 64|0); - $227 = HEAP16[$226>>1]|0; - $228 = $227&65535; - $229 = $228 & 256; - $230 = ($229|0)==(0); - if (!($230)) { + $295 = HEAP32[$22>>2]|0; + $296 = ((($295)) + 64|0); + $297 = HEAP16[$296>>1]|0; + $298 = $297&65535; + $299 = $298 & 256; + $300 = ($299|0)==(0); + if (!($300)) { label = 42; break; } - $231 = HEAP32[$v>>2]|0; - $232 = (_sqlite3VdbeCurrentAddr($231)|0); - $233 = (($232) + 1)|0; - HEAP32[$addrTop>>2] = $233; - $234 = HEAP32[$1>>2]|0; - $235 = ((($234)) + 44|0); - $236 = HEAP32[$235>>2]|0; - $237 = (($236) + 1)|0; - HEAP32[$235>>2] = $237; - $238 = HEAP32[$pItem1>>2]|0; - $239 = ((($238)) + 28|0); - HEAP32[$239>>2] = $237; - $240 = HEAP32[$v>>2]|0; - $241 = HEAP32[$pItem1>>2]|0; - $242 = ((($241)) + 28|0); - $243 = HEAP32[$242>>2]|0; - $244 = HEAP32[$addrTop>>2]|0; - (_sqlite3VdbeAddOp3($240,15,$243,0,$244)|0); - $245 = HEAP32[$addrTop>>2]|0; - $246 = HEAP32[$pItem1>>2]|0; - $247 = ((($246)) + 24|0); - HEAP32[$247>>2] = $245; - $248 = HEAP32[$pItem1>>2]|0; - $249 = ((($248)) + 28|0); - $250 = HEAP32[$249>>2]|0; - _sqlite3SelectDestInit($dest,13,$250); - $251 = HEAP32[$1>>2]|0; - $252 = ((($251)) + 424|0); - $253 = HEAP32[$252>>2]|0; - $254 = $253&255; - $255 = HEAP32[$pItem1>>2]|0; - $256 = ((($255)) + 40|0); - HEAP8[$256>>0] = $254; - $257 = HEAP32[$1>>2]|0; - $258 = HEAP32[$pSub2>>2]|0; - (_sqlite3Select($257,$258,$dest)|0); - $259 = HEAP32[$pSub2>>2]|0; - $260 = ((($259)) + 6|0); - $261 = HEAP16[$260>>1]|0; - $262 = HEAP32[$pItem1>>2]|0; - $263 = ((($262)) + 16|0); - $264 = HEAP32[$263>>2]|0; - $265 = ((($264)) + 38|0); - HEAP16[$265>>1] = $261; - $266 = HEAP32[$pItem1>>2]|0; - $267 = ((($266)) + 36|0); - $268 = ((($267)) + 1|0); - $269 = HEAP8[$268>>0]|0; - $270 = $269 & -17; - $271 = $270 | 16; - HEAP8[$268>>0] = $271; - $272 = ((($dest)) + 12|0); - $273 = HEAP32[$272>>2]|0; - $274 = HEAP32[$pItem1>>2]|0; - $275 = ((($274)) + 32|0); - HEAP32[$275>>2] = $273; - $276 = HEAP32[$v>>2]|0; - $277 = HEAP32[$pItem1>>2]|0; - $278 = ((($277)) + 28|0); - $279 = HEAP32[$278>>2]|0; - _sqlite3VdbeEndCoroutine($276,$279); - $280 = HEAP32[$v>>2]|0; - $281 = HEAP32[$addrTop>>2]|0; - $282 = (($281) - 1)|0; - _sqlite3VdbeJumpHere($280,$282); - $283 = HEAP32[$1>>2]|0; - _sqlite3ClearTempRegCache($283); + $301 = HEAP32[$10>>2]|0; + $302 = (_sqlite3VdbeCurrentAddr($301)|0); + $303 = (($302) + 1)|0; + HEAP32[$31>>2] = $303; + $304 = HEAP32[$4>>2]|0; + $305 = ((($304)) + 44|0); + $306 = HEAP32[$305>>2]|0; + $307 = (($306) + 1)|0; + HEAP32[$305>>2] = $307; + $308 = HEAP32[$28>>2]|0; + $309 = ((($308)) + 28|0); + HEAP32[$309>>2] = $307; + $310 = HEAP32[$10>>2]|0; + $311 = HEAP32[$28>>2]|0; + $312 = ((($311)) + 28|0); + $313 = HEAP32[$312>>2]|0; + $314 = HEAP32[$31>>2]|0; + (_sqlite3VdbeAddOp3($310,15,$313,0,$314)|0); + $315 = HEAP32[$31>>2]|0; + $316 = HEAP32[$28>>2]|0; + $317 = ((($316)) + 24|0); + HEAP32[$317>>2] = $315; + $318 = HEAP32[$28>>2]|0; + $319 = ((($318)) + 28|0); + $320 = HEAP32[$319>>2]|0; + _sqlite3SelectDestInit($29,13,$320); + $321 = HEAP32[$4>>2]|0; + $322 = ((($321)) + 424|0); + $323 = HEAP32[$322>>2]|0; + $324 = $323&255; + $325 = HEAP32[$28>>2]|0; + $326 = ((($325)) + 40|0); + HEAP8[$326>>0] = $324; + $327 = HEAP32[$4>>2]|0; + $328 = HEAP32[$30>>2]|0; + (_sqlite3Select($327,$328,$29)|0); + $329 = HEAP32[$30>>2]|0; + $330 = ((($329)) + 6|0); + $331 = HEAP16[$330>>1]|0; + $332 = HEAP32[$28>>2]|0; + $333 = ((($332)) + 16|0); + $334 = HEAP32[$333>>2]|0; + $335 = ((($334)) + 38|0); + HEAP16[$335>>1] = $331; + $336 = HEAP32[$28>>2]|0; + $337 = ((($336)) + 36|0); + $338 = ((($337)) + 1|0); + $339 = HEAP8[$338>>0]|0; + $340 = $339 & -17; + $341 = $340 | 16; + HEAP8[$338>>0] = $341; + $342 = ((($29)) + 12|0); + $343 = HEAP32[$342>>2]|0; + $344 = HEAP32[$28>>2]|0; + $345 = ((($344)) + 32|0); + HEAP32[$345>>2] = $343; + $346 = HEAP32[$10>>2]|0; + $347 = HEAP32[$28>>2]|0; + $348 = ((($347)) + 28|0); + $349 = HEAP32[$348>>2]|0; + _sqlite3VdbeEndCoroutine($346,$349); + $350 = HEAP32[$10>>2]|0; + $351 = HEAP32[$31>>2]|0; + $352 = (($351) - 1)|0; + _sqlite3VdbeJumpHere($350,$352); + $353 = HEAP32[$4>>2]|0; + _sqlite3ClearTempRegCache($353); } else { label = 42; } } while(0); if ((label|0) == 42) { label = 0; - HEAP32[$onceAddr>>2] = 0; - $284 = HEAP32[$1>>2]|0; - $285 = ((($284)) + 44|0); - $286 = HEAP32[$285>>2]|0; - $287 = (($286) + 1)|0; - HEAP32[$285>>2] = $287; - $288 = HEAP32[$pItem1>>2]|0; - $289 = ((($288)) + 28|0); - HEAP32[$289>>2] = $287; - $290 = HEAP32[$v>>2]|0; - $291 = HEAP32[$pItem1>>2]|0; - $292 = ((($291)) + 28|0); - $293 = HEAP32[$292>>2]|0; - $294 = (_sqlite3VdbeAddOp2($290,76,0,$293)|0); - HEAP32[$topAddr>>2] = $294; - $295 = HEAP32[$topAddr>>2]|0; - $296 = (($295) + 1)|0; - $297 = HEAP32[$pItem1>>2]|0; - $298 = ((($297)) + 24|0); - HEAP32[$298>>2] = $296; - $299 = HEAP32[$pItem1>>2]|0; - $300 = ((($299)) + 36|0); - $301 = ((($300)) + 1|0); - $302 = HEAP8[$301>>0]|0; - $303 = ($302&255) >>> 3; - $304 = $303 & 1; - $305 = $304&255; - $306 = ($305|0)==(0); - if ($306) { - $307 = HEAP32[$v>>2]|0; - $308 = (_sqlite3VdbeAddOp0($307,20)|0); - HEAP32[$onceAddr>>2] = $308; + HEAP32[$33>>2] = 0; + $354 = HEAP32[$4>>2]|0; + $355 = ((($354)) + 44|0); + $356 = HEAP32[$355>>2]|0; + $357 = (($356) + 1)|0; + HEAP32[$355>>2] = $357; + $358 = HEAP32[$28>>2]|0; + $359 = ((($358)) + 28|0); + HEAP32[$359>>2] = $357; + $360 = HEAP32[$10>>2]|0; + $361 = HEAP32[$28>>2]|0; + $362 = ((($361)) + 28|0); + $363 = HEAP32[$362>>2]|0; + $364 = (_sqlite3VdbeAddOp2($360,76,0,$363)|0); + HEAP32[$32>>2] = $364; + $365 = HEAP32[$32>>2]|0; + $366 = (($365) + 1)|0; + $367 = HEAP32[$28>>2]|0; + $368 = ((($367)) + 24|0); + HEAP32[$368>>2] = $366; + $369 = HEAP32[$28>>2]|0; + $370 = ((($369)) + 36|0); + $371 = ((($370)) + 1|0); + $372 = HEAP8[$371>>0]|0; + $373 = ($372&255) >>> 3; + $374 = $373 & 1; + $375 = $374&255; + $376 = ($375|0)==(0); + if ($376) { + $377 = HEAP32[$10>>2]|0; + $378 = (_sqlite3VdbeAddOp0($377,20)|0); + HEAP32[$33>>2] = $378; } - $309 = HEAP32[$pItem1>>2]|0; - $310 = ((($309)) + 44|0); - $311 = HEAP32[$310>>2]|0; - _sqlite3SelectDestInit($dest,12,$311); - $312 = HEAP32[$1>>2]|0; - $313 = ((($312)) + 424|0); - $314 = HEAP32[$313>>2]|0; - $315 = $314&255; - $316 = HEAP32[$pItem1>>2]|0; - $317 = ((($316)) + 40|0); - HEAP8[$317>>0] = $315; - $318 = HEAP32[$1>>2]|0; - $319 = HEAP32[$pSub2>>2]|0; - (_sqlite3Select($318,$319,$dest)|0); - $320 = HEAP32[$pSub2>>2]|0; - $321 = ((($320)) + 6|0); - $322 = HEAP16[$321>>1]|0; - $323 = HEAP32[$pItem1>>2]|0; - $324 = ((($323)) + 16|0); - $325 = HEAP32[$324>>2]|0; - $326 = ((($325)) + 38|0); - HEAP16[$326>>1] = $322; - $327 = HEAP32[$onceAddr>>2]|0; - $328 = ($327|0)!=(0); - if ($328) { - $329 = HEAP32[$v>>2]|0; - $330 = HEAP32[$onceAddr>>2]|0; - _sqlite3VdbeJumpHere($329,$330); + $379 = HEAP32[$28>>2]|0; + $380 = ((($379)) + 44|0); + $381 = HEAP32[$380>>2]|0; + _sqlite3SelectDestInit($29,12,$381); + $382 = HEAP32[$4>>2]|0; + $383 = ((($382)) + 424|0); + $384 = HEAP32[$383>>2]|0; + $385 = $384&255; + $386 = HEAP32[$28>>2]|0; + $387 = ((($386)) + 40|0); + HEAP8[$387>>0] = $385; + $388 = HEAP32[$4>>2]|0; + $389 = HEAP32[$30>>2]|0; + (_sqlite3Select($388,$389,$29)|0); + $390 = HEAP32[$30>>2]|0; + $391 = ((($390)) + 6|0); + $392 = HEAP16[$391>>1]|0; + $393 = HEAP32[$28>>2]|0; + $394 = ((($393)) + 16|0); + $395 = HEAP32[$394>>2]|0; + $396 = ((($395)) + 38|0); + HEAP16[$396>>1] = $392; + $397 = HEAP32[$33>>2]|0; + $398 = ($397|0)!=(0); + if ($398) { + $399 = HEAP32[$10>>2]|0; + $400 = HEAP32[$33>>2]|0; + _sqlite3VdbeJumpHere($399,$400); } - $331 = HEAP32[$v>>2]|0; - $332 = HEAP32[$pItem1>>2]|0; - $333 = ((($332)) + 28|0); - $334 = HEAP32[$333>>2]|0; - $335 = (_sqlite3VdbeAddOp1($331,72,$334)|0); - HEAP32[$retAddr>>2] = $335; - $336 = HEAP32[$v>>2]|0; - $337 = HEAP32[$topAddr>>2]|0; - $338 = HEAP32[$retAddr>>2]|0; - _sqlite3VdbeChangeP1($336,$337,$338); - $339 = HEAP32[$1>>2]|0; - _sqlite3ClearTempRegCache($339); + $401 = HEAP32[$10>>2]|0; + $402 = HEAP32[$28>>2]|0; + $403 = ((($402)) + 28|0); + $404 = HEAP32[$403>>2]|0; + $405 = (_sqlite3VdbeAddOp1($401,72,$404)|0); + HEAP32[$34>>2] = $405; + $406 = HEAP32[$10>>2]|0; + $407 = HEAP32[$32>>2]|0; + $408 = HEAP32[$34>>2]|0; + _sqlite3VdbeChangeP1($406,$407,$408); + $409 = HEAP32[$4>>2]|0; + _sqlite3ClearTempRegCache($409); } - $340 = HEAP32[$db>>2]|0; - $341 = ((($340)) + 69|0); - $342 = HEAP8[$341>>0]|0; - $343 = ($342<<24>>24)!=(0); - if ($343) { + $410 = HEAP32[$22>>2]|0; + $411 = ((($410)) + 69|0); + $412 = HEAP8[$411>>0]|0; + $413 = ($412<<24>>24)!=(0); + if ($413) { break L12; } - $344 = HEAP32[$2>>2]|0; - $345 = (_sqlite3SelectExprHeight($344)|0); - $346 = HEAP32[$1>>2]|0; - $347 = ((($346)) + 416|0); - $348 = HEAP32[$347>>2]|0; - $349 = (($348) - ($345))|0; - HEAP32[$347>>2] = $349; + $414 = HEAP32[$5>>2]|0; + $415 = (_sqlite3SelectExprHeight($414)|0); + $416 = HEAP32[$4>>2]|0; + $417 = ((($416)) + 416|0); + $418 = HEAP32[$417>>2]|0; + $419 = (($418) - ($415))|0; + HEAP32[$417>>2] = $419; } } while(0); - $350 = HEAP32[$i>>2]|0; - $351 = (($350) + 1)|0; - HEAP32[$i>>2] = $351; + $420 = HEAP32[$7>>2]|0; + $421 = (($420) + 1)|0; + HEAP32[$7>>2] = $421; } - $352 = HEAP32[$2>>2]|0; - $353 = HEAP32[$352>>2]|0; - HEAP32[$pEList>>2] = $353; - $354 = HEAP32[$2>>2]|0; - $355 = ((($354)) + 32|0); - $356 = HEAP32[$355>>2]|0; - HEAP32[$pWhere>>2] = $356; - $357 = HEAP32[$2>>2]|0; - $358 = ((($357)) + 36|0); - $359 = HEAP32[$358>>2]|0; - HEAP32[$pGroupBy>>2] = $359; - $360 = HEAP32[$2>>2]|0; - $361 = ((($360)) + 40|0); - $362 = HEAP32[$361>>2]|0; - HEAP32[$pHaving>>2] = $362; - $363 = HEAP32[$2>>2]|0; - $364 = ((($363)) + 8|0); - $365 = HEAP32[$364>>2]|0; - $366 = $365 & 1; - $367 = ($366|0)!=(0); - $368 = $367&1; - $369 = $368&255; - HEAP8[$sDistinct>>0] = $369; - $370 = HEAP32[$2>>2]|0; - $371 = ((($370)) + 8|0); - $372 = HEAP32[$371>>2]|0; - $373 = $372 & 9; - $374 = ($373|0)==(1); - if ($374) { - $375 = HEAP32[$sSort>>2]|0; - $376 = HEAP32[$pEList>>2]|0; - $377 = (_sqlite3ExprListCompare($375,$376,-1)|0); - $378 = ($377|0)==(0); - if ($378) { - $379 = HEAP32[$2>>2]|0; - $380 = ((($379)) + 8|0); - $381 = HEAP32[$380>>2]|0; - $382 = $381 & -2; - HEAP32[$380>>2] = $382; - $383 = HEAP32[$db>>2]|0; - $384 = HEAP32[$pEList>>2]|0; - $385 = (_sqlite3ExprListDup($383,$384,0)|0); - $386 = HEAP32[$2>>2]|0; - $387 = ((($386)) + 36|0); - HEAP32[$387>>2] = $385; - HEAP32[$pGroupBy>>2] = $385; - } - } - $388 = HEAP32[$sSort>>2]|0; - $389 = ($388|0)!=(0|0); - if ($389) { - $390 = HEAP32[$1>>2]|0; - $391 = HEAP32[$sSort>>2]|0; - $392 = HEAP32[$pEList>>2]|0; - $393 = HEAP32[$392>>2]|0; - $394 = (_keyInfoFromExprList($390,$391,0,$393)|0); - HEAP32[$pKeyInfo>>2] = $394; - $395 = HEAP32[$1>>2]|0; - $396 = ((($395)) + 40|0); - $397 = HEAP32[$396>>2]|0; - $398 = (($397) + 1)|0; - HEAP32[$396>>2] = $398; - $399 = ((($sSort)) + 8|0); - HEAP32[$399>>2] = $397; - $400 = HEAP32[$v>>2]|0; - $401 = ((($sSort)) + 8|0); - $402 = HEAP32[$401>>2]|0; - $403 = HEAP32[$sSort>>2]|0; - $404 = HEAP32[$403>>2]|0; - $405 = (($404) + 1)|0; - $406 = HEAP32[$pEList>>2]|0; - $407 = HEAP32[$406>>2]|0; - $408 = (($405) + ($407))|0; - $409 = HEAP32[$pKeyInfo>>2]|0; - $410 = (_sqlite3VdbeAddOp4($400,107,$402,$408,0,$409,-6)|0); - $411 = ((($sSort)) + 20|0); - HEAP32[$411>>2] = $410; + $422 = HEAP32[$5>>2]|0; + $423 = HEAP32[$422>>2]|0; + HEAP32[$12>>2] = $423; + $424 = HEAP32[$5>>2]|0; + $425 = ((($424)) + 32|0); + $426 = HEAP32[$425>>2]|0; + HEAP32[$14>>2] = $426; + $427 = HEAP32[$5>>2]|0; + $428 = ((($427)) + 36|0); + $429 = HEAP32[$428>>2]|0; + HEAP32[$15>>2] = $429; + $430 = HEAP32[$5>>2]|0; + $431 = ((($430)) + 40|0); + $432 = HEAP32[$431>>2]|0; + HEAP32[$16>>2] = $432; + $433 = HEAP32[$5>>2]|0; + $434 = ((($433)) + 8|0); + $435 = HEAP32[$434>>2]|0; + $436 = $435 & 1; + $437 = ($436|0)!=(0); + $438 = $437&1; + $439 = $438&255; + HEAP8[$18>>0] = $439; + $440 = HEAP32[$5>>2]|0; + $441 = ((($440)) + 8|0); + $442 = HEAP32[$441>>2]|0; + $443 = $442 & 9; + $444 = ($443|0)==(1); + if ($444) { + $445 = HEAP32[$19>>2]|0; + $446 = HEAP32[$12>>2]|0; + $447 = (_sqlite3ExprListCompare($445,$446,-1)|0); + $448 = ($447|0)==(0); + if ($448) { + $449 = HEAP32[$5>>2]|0; + $450 = ((($449)) + 8|0); + $451 = HEAP32[$450>>2]|0; + $452 = $451 & -2; + HEAP32[$450>>2] = $452; + $453 = HEAP32[$22>>2]|0; + $454 = HEAP32[$12>>2]|0; + $455 = (_sqlite3ExprListDup($453,$454,0)|0); + $456 = HEAP32[$5>>2]|0; + $457 = ((($456)) + 36|0); + HEAP32[$457>>2] = $455; + HEAP32[$15>>2] = $455; + } + } + $458 = HEAP32[$19>>2]|0; + $459 = ($458|0)!=(0|0); + if ($459) { + $460 = HEAP32[$4>>2]|0; + $461 = HEAP32[$19>>2]|0; + $462 = HEAP32[$12>>2]|0; + $463 = HEAP32[$462>>2]|0; + $464 = (_keyInfoFromExprList($460,$461,0,$463)|0); + HEAP32[$35>>2] = $464; + $465 = HEAP32[$4>>2]|0; + $466 = ((($465)) + 40|0); + $467 = HEAP32[$466>>2]|0; + $468 = (($467) + 1)|0; + HEAP32[$466>>2] = $468; + $469 = ((($19)) + 8|0); + HEAP32[$469>>2] = $467; + $470 = HEAP32[$10>>2]|0; + $471 = ((($19)) + 8|0); + $472 = HEAP32[$471>>2]|0; + $473 = HEAP32[$19>>2]|0; + $474 = HEAP32[$473>>2]|0; + $475 = (($474) + 1)|0; + $476 = HEAP32[$12>>2]|0; + $477 = HEAP32[$476>>2]|0; + $478 = (($475) + ($477))|0; + $479 = HEAP32[$35>>2]|0; + $480 = (_sqlite3VdbeAddOp4($470,107,$472,$478,0,$479,-6)|0); + $$sink = $480; } else { - $412 = ((($sSort)) + 20|0); - HEAP32[$412>>2] = -1; + $$sink = -1; } - $413 = HEAP32[$3>>2]|0; - $414 = HEAP8[$413>>0]|0; - $415 = $414&255; - $416 = ($415|0)==(12); - if ($416) { - $417 = HEAP32[$v>>2]|0; - $418 = HEAP32[$3>>2]|0; - $419 = ((($418)) + 8|0); - $420 = HEAP32[$419>>2]|0; - $421 = HEAP32[$pEList>>2]|0; - $422 = HEAP32[$421>>2]|0; - (_sqlite3VdbeAddOp2($417,107,$420,$422)|0); + $481 = ((($19)) + 20|0); + HEAP32[$481>>2] = $$sink; + $482 = HEAP32[$6>>2]|0; + $483 = HEAP8[$482>>0]|0; + $484 = $483&255; + $485 = ($484|0)==(12); + if ($485) { + $486 = HEAP32[$10>>2]|0; + $487 = HEAP32[$6>>2]|0; + $488 = ((($487)) + 8|0); + $489 = HEAP32[$488>>2]|0; + $490 = HEAP32[$12>>2]|0; + $491 = HEAP32[$490>>2]|0; + (_sqlite3VdbeAddOp2($486,107,$489,$491)|0); } - $423 = HEAP32[$v>>2]|0; - $424 = (_sqlite3VdbeMakeLabel($423)|0); - HEAP32[$iEnd>>2] = $424; - $425 = HEAP32[$2>>2]|0; - $426 = ((($425)) + 6|0); - HEAP16[$426>>1] = 320; - $427 = HEAP32[$1>>2]|0; - $428 = HEAP32[$2>>2]|0; - $429 = HEAP32[$iEnd>>2]|0; - _computeLimitRegisters($427,$428,$429); - $430 = HEAP32[$2>>2]|0; - $431 = ((($430)) + 12|0); - $432 = HEAP32[$431>>2]|0; - $433 = ($432|0)==(0); - if ($433) { - $434 = ((($sSort)) + 20|0); - $435 = HEAP32[$434>>2]|0; - $436 = ($435|0)>=(0); - if ($436) { - $437 = HEAP32[$v>>2]|0; - $438 = ((($sSort)) + 20|0); - $439 = HEAP32[$438>>2]|0; - _sqlite3VdbeChangeOpcode($437,$439,108); - $440 = ((($sSort)) + 28|0); - $441 = HEAP8[$440>>0]|0; - $442 = $441&255; - $443 = $442 | 1; - $444 = $443&255; - HEAP8[$440>>0] = $444; + $492 = HEAP32[$10>>2]|0; + $493 = (_sqlite3VdbeMakeLabel($492)|0); + HEAP32[$21>>2] = $493; + $494 = HEAP32[$5>>2]|0; + $495 = ((($494)) + 6|0); + HEAP16[$495>>1] = 320; + $496 = HEAP32[$4>>2]|0; + $497 = HEAP32[$5>>2]|0; + $498 = HEAP32[$21>>2]|0; + _computeLimitRegisters($496,$497,$498); + $499 = HEAP32[$5>>2]|0; + $500 = ((($499)) + 12|0); + $501 = HEAP32[$500>>2]|0; + $502 = ($501|0)==(0); + if ($502) { + $503 = ((($19)) + 20|0); + $504 = HEAP32[$503>>2]|0; + $505 = ($504|0)>=(0); + if ($505) { + $506 = HEAP32[$10>>2]|0; + $507 = ((($19)) + 20|0); + $508 = HEAP32[$507>>2]|0; + _sqlite3VdbeChangeOpcode($506,$508,108); + $509 = ((($19)) + 28|0); + $510 = HEAP8[$509>>0]|0; + $511 = $510&255; + $512 = $511 | 1; + $513 = $512&255; + HEAP8[$509>>0] = $513; } } - $445 = HEAP32[$2>>2]|0; - $446 = ((($445)) + 8|0); - $447 = HEAP32[$446>>2]|0; - $448 = $447 & 1; - $449 = ($448|0)!=(0); - if ($449) { - $450 = HEAP32[$1>>2]|0; - $451 = ((($450)) + 40|0); - $452 = HEAP32[$451>>2]|0; - $453 = (($452) + 1)|0; - HEAP32[$451>>2] = $453; - $454 = ((($sDistinct)) + 4|0); - HEAP32[$454>>2] = $452; - $455 = HEAP32[$v>>2]|0; - $456 = ((($sDistinct)) + 4|0); - $457 = HEAP32[$456>>2]|0; - $458 = HEAP32[$1>>2]|0; - $459 = HEAP32[$2>>2]|0; - $460 = HEAP32[$459>>2]|0; - $461 = (_keyInfoFromExprList($458,$460,0,0)|0); - $462 = (_sqlite3VdbeAddOp4($455,107,$457,0,0,$461,-6)|0); - $463 = ((($sDistinct)) + 8|0); - HEAP32[$463>>2] = $462; - $464 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($464,8); - $465 = ((($sDistinct)) + 1|0); - HEAP8[$465>>0] = 3; + $514 = HEAP32[$5>>2]|0; + $515 = ((($514)) + 8|0); + $516 = HEAP32[$515>>2]|0; + $517 = $516 & 1; + $518 = ($517|0)!=(0); + if ($518) { + $519 = HEAP32[$4>>2]|0; + $520 = ((($519)) + 40|0); + $521 = HEAP32[$520>>2]|0; + $522 = (($521) + 1)|0; + HEAP32[$520>>2] = $522; + $523 = ((($18)) + 4|0); + HEAP32[$523>>2] = $521; + $524 = HEAP32[$10>>2]|0; + $525 = ((($18)) + 4|0); + $526 = HEAP32[$525>>2]|0; + $527 = HEAP32[$4>>2]|0; + $528 = HEAP32[$5>>2]|0; + $529 = HEAP32[$528>>2]|0; + $530 = (_keyInfoFromExprList($527,$529,0,0)|0); + $531 = (_sqlite3VdbeAddOp4($524,107,$526,0,0,$530,-6)|0); + $532 = ((($18)) + 8|0); + HEAP32[$532>>2] = $531; + $533 = HEAP32[$10>>2]|0; + _sqlite3VdbeChangeP5($533,8); + $$sink2 = 3; } else { - $466 = ((($sDistinct)) + 1|0); - HEAP8[$466>>0] = 0; + $$sink2 = 0; } - $467 = HEAP32[$isAgg>>2]|0; - $468 = ($467|0)==(0); - $469 = HEAP32[$pGroupBy>>2]|0; - $470 = ($469|0)==(0|0); - $or$cond = $468 & $470; + $534 = ((($18)) + 1|0); + HEAP8[$534>>0] = $$sink2; + $535 = HEAP32[$11>>2]|0; + $536 = ($535|0)==(0); + $537 = HEAP32[$15>>2]|0; + $538 = ($537|0)==(0|0); + $or$cond = $536 & $538; if ($or$cond) { - $471 = HEAP8[$sDistinct>>0]|0; - $472 = $471&255; - $473 = ($472|0)!=(0); - $474 = $473 ? 256 : 0; - $475 = $474&65535; - HEAP16[$wctrlFlags>>1] = $475; - $476 = HEAP32[$2>>2]|0; - $477 = ((($476)) + 8|0); - $478 = HEAP32[$477>>2]|0; - $479 = $478 & 16384; - $480 = HEAP16[$wctrlFlags>>1]|0; - $481 = $480&65535; - $482 = $481 | $479; - $483 = $482&65535; - HEAP16[$wctrlFlags>>1] = $483; - $484 = HEAP32[$1>>2]|0; - $485 = HEAP32[$pTabList>>2]|0; - $486 = HEAP32[$pWhere>>2]|0; - $487 = HEAP32[$sSort>>2]|0; - $488 = HEAP32[$2>>2]|0; - $489 = HEAP32[$488>>2]|0; - $490 = HEAP16[$wctrlFlags>>1]|0; - $491 = HEAP32[$2>>2]|0; - $492 = ((($491)) + 6|0); - $493 = HEAP16[$492>>1]|0; - $494 = $493 << 16 >> 16; - $495 = (_sqlite3WhereBegin($484,$485,$486,$487,$489,$490,$494)|0); - HEAP32[$pWInfo>>2] = $495; - $496 = HEAP32[$pWInfo>>2]|0; - $497 = ($496|0)==(0|0); - if ($497) { + $539 = HEAP8[$18>>0]|0; + $540 = $539&255; + $541 = ($540|0)!=(0); + $542 = $541 ? 256 : 0; + $543 = $542&65535; + HEAP16[$36>>1] = $543; + $544 = HEAP32[$5>>2]|0; + $545 = ((($544)) + 8|0); + $546 = HEAP32[$545>>2]|0; + $547 = $546 & 16384; + $548 = HEAP16[$36>>1]|0; + $549 = $548&65535; + $550 = $549 | $547; + $551 = $550&65535; + HEAP16[$36>>1] = $551; + $552 = HEAP32[$4>>2]|0; + $553 = HEAP32[$13>>2]|0; + $554 = HEAP32[$14>>2]|0; + $555 = HEAP32[$19>>2]|0; + $556 = HEAP32[$5>>2]|0; + $557 = HEAP32[$556>>2]|0; + $558 = HEAP16[$36>>1]|0; + $559 = HEAP32[$5>>2]|0; + $560 = ((($559)) + 6|0); + $561 = HEAP16[$560>>1]|0; + $562 = $561 << 16 >> 16; + $563 = (_sqlite3WhereBegin($552,$553,$554,$555,$557,$558,$562)|0); + HEAP32[$9>>2] = $563; + $564 = HEAP32[$9>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { break; } - $498 = HEAP32[$pWInfo>>2]|0; - $499 = (_sqlite3WhereOutputRowCount($498)|0); - $500 = $499 << 16 >> 16; - $501 = HEAP32[$2>>2]|0; - $502 = ((($501)) + 6|0); - $503 = HEAP16[$502>>1]|0; - $504 = $503 << 16 >> 16; - $505 = ($500|0)<($504|0); - if ($505) { - $506 = HEAP32[$pWInfo>>2]|0; - $507 = (_sqlite3WhereOutputRowCount($506)|0); - $508 = HEAP32[$2>>2]|0; - $509 = ((($508)) + 6|0); - HEAP16[$509>>1] = $507; + $566 = HEAP32[$9>>2]|0; + $567 = (_sqlite3WhereOutputRowCount($566)|0); + $568 = $567 << 16 >> 16; + $569 = HEAP32[$5>>2]|0; + $570 = ((($569)) + 6|0); + $571 = HEAP16[$570>>1]|0; + $572 = $571 << 16 >> 16; + $573 = ($568|0)<($572|0); + if ($573) { + $574 = HEAP32[$9>>2]|0; + $575 = (_sqlite3WhereOutputRowCount($574)|0); + $576 = HEAP32[$5>>2]|0; + $577 = ((($576)) + 6|0); + HEAP16[$577>>1] = $575; } - $510 = HEAP8[$sDistinct>>0]|0; - $511 = $510&255; - $512 = ($511|0)!=(0); + $578 = HEAP8[$18>>0]|0; + $579 = $578&255; + $580 = ($579|0)!=(0); do { - if ($512) { - $513 = HEAP32[$pWInfo>>2]|0; - $514 = (_sqlite3WhereIsDistinct($513)|0); - $515 = ($514|0)!=(0); - if (!($515)) { + if ($580) { + $581 = HEAP32[$9>>2]|0; + $582 = (_sqlite3WhereIsDistinct($581)|0); + $583 = ($582|0)!=(0); + if (!($583)) { break; } - $516 = HEAP32[$pWInfo>>2]|0; - $517 = (_sqlite3WhereIsDistinct($516)|0); - $518 = $517&255; - $519 = ((($sDistinct)) + 1|0); - HEAP8[$519>>0] = $518; + $584 = HEAP32[$9>>2]|0; + $585 = (_sqlite3WhereIsDistinct($584)|0); + $586 = $585&255; + $587 = ((($18)) + 1|0); + HEAP8[$587>>0] = $586; } } while(0); - $520 = HEAP32[$sSort>>2]|0; - $521 = ($520|0)!=(0|0); + $588 = HEAP32[$19>>2]|0; + $589 = ($588|0)!=(0|0); do { - if ($521) { - $522 = HEAP32[$pWInfo>>2]|0; - $523 = (_sqlite3WhereIsOrdered($522)|0); - $524 = ((($sSort)) + 4|0); - HEAP32[$524>>2] = $523; - $525 = HEAP32[$pWInfo>>2]|0; - $526 = (_sqlite3WhereOrderedInnerLoop($525)|0); - $527 = $526&255; - $528 = ((($sSort)) + 29|0); - HEAP8[$528>>0] = $527; - $529 = ((($sSort)) + 4|0); - $530 = HEAP32[$529>>2]|0; - $531 = HEAP32[$sSort>>2]|0; - $532 = HEAP32[$531>>2]|0; - $533 = ($530|0)==($532|0); - if (!($533)) { + if ($589) { + $590 = HEAP32[$9>>2]|0; + $591 = (_sqlite3WhereIsOrdered($590)|0); + $592 = ((($19)) + 4|0); + HEAP32[$592>>2] = $591; + $593 = HEAP32[$9>>2]|0; + $594 = (_sqlite3WhereOrderedInnerLoop($593)|0); + $595 = $594&255; + $596 = ((($19)) + 29|0); + HEAP8[$596>>0] = $595; + $597 = ((($19)) + 4|0); + $598 = HEAP32[$597>>2]|0; + $599 = HEAP32[$19>>2]|0; + $600 = HEAP32[$599>>2]|0; + $601 = ($598|0)==($600|0); + if (!($601)) { break; } - HEAP32[$sSort>>2] = 0; + HEAP32[$19>>2] = 0; } } while(0); - $534 = ((($sSort)) + 20|0); - $535 = HEAP32[$534>>2]|0; - $536 = ($535|0)>=(0); + $602 = ((($19)) + 20|0); + $603 = HEAP32[$602>>2]|0; + $604 = ($603|0)>=(0); do { - if ($536) { - $537 = HEAP32[$sSort>>2]|0; - $538 = ($537|0)==(0|0); - if (!($538)) { + if ($604) { + $605 = HEAP32[$19>>2]|0; + $606 = ($605|0)==(0|0); + if (!($606)) { break; } - $539 = HEAP32[$v>>2]|0; - $540 = ((($sSort)) + 20|0); - $541 = HEAP32[$540>>2]|0; - (_sqlite3VdbeChangeToNoop($539,$541)|0); + $607 = HEAP32[$10>>2]|0; + $608 = ((($19)) + 20|0); + $609 = HEAP32[$608>>2]|0; + (_sqlite3VdbeChangeToNoop($607,$609)|0); } } while(0); - $542 = HEAP32[$1>>2]|0; - $543 = HEAP32[$2>>2]|0; - $544 = HEAP32[$pEList>>2]|0; - $545 = HEAP32[$3>>2]|0; - $546 = HEAP32[$pWInfo>>2]|0; - $547 = (_sqlite3WhereContinueLabel($546)|0); - $548 = HEAP32[$pWInfo>>2]|0; - $549 = (_sqlite3WhereBreakLabel($548)|0); - _selectInnerLoop($542,$543,$544,-1,$sSort,$sDistinct,$545,$547,$549); - $550 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($550); + $610 = HEAP32[$4>>2]|0; + $611 = HEAP32[$5>>2]|0; + $612 = HEAP32[$12>>2]|0; + $613 = HEAP32[$6>>2]|0; + $614 = HEAP32[$9>>2]|0; + $615 = (_sqlite3WhereContinueLabel($614)|0); + $616 = HEAP32[$9>>2]|0; + $617 = (_sqlite3WhereBreakLabel($616)|0); + _selectInnerLoop($610,$611,$612,-1,$19,$18,$613,$615,$617); + $618 = HEAP32[$9>>2]|0; + _sqlite3WhereEnd($618); } else { - HEAP32[$sortPTab>>2] = 0; - HEAP32[$sortOut>>2] = 0; - HEAP32[$orderByGrp>>2] = 0; - $551 = HEAP32[$pGroupBy>>2]|0; - $552 = ($551|0)!=(0|0); - $553 = HEAP32[$2>>2]|0; + HEAP32[$44>>2] = 0; + HEAP32[$45>>2] = 0; + HEAP32[$46>>2] = 0; + $619 = HEAP32[$15>>2]|0; + $620 = ($619|0)!=(0|0); + $621 = HEAP32[$5>>2]|0; do { - if ($552) { - $554 = HEAP32[$553>>2]|0; - $555 = HEAP32[$554>>2]|0; - HEAP32[$k>>2] = $555; - $556 = HEAP32[$2>>2]|0; - $557 = HEAP32[$556>>2]|0; - $558 = ((($557)) + 4|0); - $559 = HEAP32[$558>>2]|0; - HEAP32[$pItem3>>2] = $559; + if ($620) { + $622 = HEAP32[$621>>2]|0; + $623 = HEAP32[$622>>2]|0; + HEAP32[$47>>2] = $623; + $624 = HEAP32[$5>>2]|0; + $625 = HEAP32[$624>>2]|0; + $626 = ((($625)) + 4|0); + $627 = HEAP32[$626>>2]|0; + HEAP32[$48>>2] = $627; while(1) { - $560 = HEAP32[$k>>2]|0; - $561 = ($560|0)>(0); - if (!($561)) { + $628 = HEAP32[$47>>2]|0; + $629 = ($628|0)>(0); + if (!($629)) { break; } - $562 = HEAP32[$pItem3>>2]|0; - $563 = ((($562)) + 16|0); - $564 = ((($563)) + 2|0); - HEAP16[$564>>1] = 0; - $565 = HEAP32[$k>>2]|0; - $566 = (($565) + -1)|0; - HEAP32[$k>>2] = $566; - $567 = HEAP32[$pItem3>>2]|0; - $568 = ((($567)) + 20|0); - HEAP32[$pItem3>>2] = $568; + $630 = HEAP32[$48>>2]|0; + $631 = ((($630)) + 16|0); + $632 = ((($631)) + 2|0); + HEAP16[$632>>1] = 0; + $633 = HEAP32[$47>>2]|0; + $634 = (($633) + -1)|0; + HEAP32[$47>>2] = $634; + $635 = HEAP32[$48>>2]|0; + $636 = ((($635)) + 20|0); + HEAP32[$48>>2] = $636; } - $569 = HEAP32[$pGroupBy>>2]|0; - $570 = HEAP32[$569>>2]|0; - HEAP32[$k>>2] = $570; - $571 = HEAP32[$pGroupBy>>2]|0; - $572 = ((($571)) + 4|0); - $573 = HEAP32[$572>>2]|0; - HEAP32[$pItem3>>2] = $573; + $637 = HEAP32[$15>>2]|0; + $638 = HEAP32[$637>>2]|0; + HEAP32[$47>>2] = $638; + $639 = HEAP32[$15>>2]|0; + $640 = ((($639)) + 4|0); + $641 = HEAP32[$640>>2]|0; + HEAP32[$48>>2] = $641; while(1) { - $574 = HEAP32[$k>>2]|0; - $575 = ($574|0)>(0); - if (!($575)) { + $642 = HEAP32[$47>>2]|0; + $643 = ($642|0)>(0); + if (!($643)) { break; } - $576 = HEAP32[$pItem3>>2]|0; - $577 = ((($576)) + 16|0); - $578 = ((($577)) + 2|0); - HEAP16[$578>>1] = 0; - $579 = HEAP32[$k>>2]|0; - $580 = (($579) + -1)|0; - HEAP32[$k>>2] = $580; - $581 = HEAP32[$pItem3>>2]|0; - $582 = ((($581)) + 20|0); - HEAP32[$pItem3>>2] = $582; + $644 = HEAP32[$48>>2]|0; + $645 = ((($644)) + 16|0); + $646 = ((($645)) + 2|0); + HEAP16[$646>>1] = 0; + $647 = HEAP32[$47>>2]|0; + $648 = (($647) + -1)|0; + HEAP32[$47>>2] = $648; + $649 = HEAP32[$48>>2]|0; + $650 = ((($649)) + 20|0); + HEAP32[$48>>2] = $650; } - $583 = HEAP32[$2>>2]|0; - $584 = ((($583)) + 6|0); - $585 = HEAP16[$584>>1]|0; - $586 = $585 << 16 >> 16; - $587 = ($586|0)>(66); - if (!($587)) { + $651 = HEAP32[$5>>2]|0; + $652 = ((($651)) + 6|0); + $653 = HEAP16[$652>>1]|0; + $654 = $653 << 16 >> 16; + $655 = ($654|0)>(66); + if (!($655)) { break; } - $588 = HEAP32[$2>>2]|0; - $589 = ((($588)) + 6|0); - HEAP16[$589>>1] = 66; + $656 = HEAP32[$5>>2]|0; + $$sink5 = 66;$$sink7 = $656; + label = 85; } else { - $590 = ((($553)) + 6|0); - HEAP16[$590>>1] = 0; + $$sink5 = 0;$$sink7 = $621; + label = 85; } } while(0); - $591 = HEAP32[$pGroupBy>>2]|0; - $592 = HEAP32[$sSort>>2]|0; - $593 = (_sqlite3ExprListCompare($591,$592,-1)|0); - $594 = ($593|0)==(0); - if ($594) { - HEAP32[$orderByGrp>>2] = 1; + if ((label|0) == 85) { + $657 = ((($$sink7)) + 6|0); + HEAP16[$657>>1] = $$sink5; } - $595 = HEAP32[$v>>2]|0; - $596 = (_sqlite3VdbeMakeLabel($595)|0); - HEAP32[$addrEnd>>2] = $596; - ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $597 = HEAP32[$1>>2]|0; - HEAP32[$sNC>>2] = $597; - $598 = HEAP32[$pTabList>>2]|0; - $599 = ((($sNC)) + 4|0); - HEAP32[$599>>2] = $598; - $600 = ((($sNC)) + 12|0); - HEAP32[$600>>2] = $sAggInfo; - $601 = HEAP32[$1>>2]|0; - $602 = ((($601)) + 44|0); - $603 = HEAP32[$602>>2]|0; - $604 = (($603) + 1)|0; - $605 = ((($sAggInfo)) + 16|0); - HEAP32[$605>>2] = $604; - $606 = HEAP32[$pGroupBy>>2]|0; - $607 = ($606|0)!=(0|0); - if ($607) { - $608 = HEAP32[$pGroupBy>>2]|0; - $609 = HEAP32[$608>>2]|0; - $611 = $609; + $658 = HEAP32[$15>>2]|0; + $659 = HEAP32[$19>>2]|0; + $660 = (_sqlite3ExprListCompare($658,$659,-1)|0); + $661 = ($660|0)==(0); + if ($661) { + HEAP32[$46>>2] = 1; + } + $662 = HEAP32[$10>>2]|0; + $663 = (_sqlite3VdbeMakeLabel($662)|0); + HEAP32[$43>>2] = $663; + ;HEAP32[$37>>2]=0|0;HEAP32[$37+4>>2]=0|0;HEAP32[$37+8>>2]=0|0;HEAP32[$37+12>>2]=0|0;HEAP32[$37+16>>2]=0|0;HEAP32[$37+20>>2]=0|0;HEAP32[$37+24>>2]=0|0;HEAP32[$37+28>>2]=0|0; + $664 = HEAP32[$4>>2]|0; + HEAP32[$37>>2] = $664; + $665 = HEAP32[$13>>2]|0; + $666 = ((($37)) + 4|0); + HEAP32[$666>>2] = $665; + $667 = ((($37)) + 12|0); + HEAP32[$667>>2] = $20; + $668 = HEAP32[$4>>2]|0; + $669 = ((($668)) + 44|0); + $670 = HEAP32[$669>>2]|0; + $671 = (($670) + 1)|0; + $672 = ((($20)) + 16|0); + HEAP32[$672>>2] = $671; + $673 = HEAP32[$15>>2]|0; + $674 = ($673|0)!=(0|0); + if ($674) { + $675 = HEAP32[$15>>2]|0; + $676 = HEAP32[$675>>2]|0; + $678 = $676; } else { - $611 = 0; + $678 = 0; } - $610 = ((($sAggInfo)) + 12|0); - HEAP32[$610>>2] = $611; - $612 = HEAP32[$pGroupBy>>2]|0; - $613 = ((($sAggInfo)) + 24|0); - HEAP32[$613>>2] = $612; - $614 = HEAP32[$pEList>>2]|0; - _sqlite3ExprAnalyzeAggList($sNC,$614); - $615 = HEAP32[$sSort>>2]|0; - _sqlite3ExprAnalyzeAggList($sNC,$615); - $616 = HEAP32[$pHaving>>2]|0; - $617 = ($616|0)!=(0|0); - if ($617) { - $618 = HEAP32[$pHaving>>2]|0; - _sqlite3ExprAnalyzeAggregates($sNC,$618); + $677 = ((($20)) + 12|0); + HEAP32[$677>>2] = $678; + $679 = HEAP32[$15>>2]|0; + $680 = ((($20)) + 24|0); + HEAP32[$680>>2] = $679; + $681 = HEAP32[$12>>2]|0; + _sqlite3ExprAnalyzeAggList($37,$681); + $682 = HEAP32[$19>>2]|0; + _sqlite3ExprAnalyzeAggList($37,$682); + $683 = HEAP32[$16>>2]|0; + $684 = ($683|0)!=(0|0); + if ($684) { + $685 = HEAP32[$16>>2]|0; + _sqlite3ExprAnalyzeAggregates($37,$685); } - $619 = ((($sAggInfo)) + 32|0); - $620 = HEAP32[$619>>2]|0; - $621 = ((($sAggInfo)) + 36|0); - HEAP32[$621>>2] = $620; - HEAP32[$i>>2] = 0; + $686 = ((($20)) + 32|0); + $687 = HEAP32[$686>>2]|0; + $688 = ((($20)) + 36|0); + HEAP32[$688>>2] = $687; + HEAP32[$7>>2] = 0; while(1) { - $622 = HEAP32[$i>>2]|0; - $623 = ((($sAggInfo)) + 44|0); - $624 = HEAP32[$623>>2]|0; - $625 = ($622|0)<($624|0); - if (!($625)) { + $689 = HEAP32[$7>>2]|0; + $690 = ((($20)) + 44|0); + $691 = HEAP32[$690>>2]|0; + $692 = ($689|0)<($691|0); + if (!($692)) { break; } - $626 = ((($sNC)) + 28|0); - $627 = HEAP16[$626>>1]|0; - $628 = $627&65535; - $629 = $628 | 8; - $630 = $629&65535; - HEAP16[$626>>1] = $630; - $631 = HEAP32[$i>>2]|0; - $632 = ((($sAggInfo)) + 40|0); - $633 = HEAP32[$632>>2]|0; - $634 = (($633) + ($631<<4)|0); - $635 = HEAP32[$634>>2]|0; - $636 = ((($635)) + 20|0); - $637 = HEAP32[$636>>2]|0; - _sqlite3ExprAnalyzeAggList($sNC,$637); - $638 = ((($sNC)) + 28|0); - $639 = HEAP16[$638>>1]|0; - $640 = $639&65535; - $641 = $640 & -9; - $642 = $641&65535; - HEAP16[$638>>1] = $642; - $643 = HEAP32[$i>>2]|0; - $644 = (($643) + 1)|0; - HEAP32[$i>>2] = $644; + $693 = ((($37)) + 28|0); + $694 = HEAP16[$693>>1]|0; + $695 = $694&65535; + $696 = $695 | 8; + $697 = $696&65535; + HEAP16[$693>>1] = $697; + $698 = ((($20)) + 40|0); + $699 = HEAP32[$698>>2]|0; + $700 = HEAP32[$7>>2]|0; + $701 = (($699) + ($700<<4)|0); + $702 = HEAP32[$701>>2]|0; + $703 = ((($702)) + 20|0); + $704 = HEAP32[$703>>2]|0; + _sqlite3ExprAnalyzeAggList($37,$704); + $705 = ((($37)) + 28|0); + $706 = HEAP16[$705>>1]|0; + $707 = $706&65535; + $708 = $707 & -9; + $709 = $708&65535; + HEAP16[$705>>1] = $709; + $710 = HEAP32[$7>>2]|0; + $711 = (($710) + 1)|0; + HEAP32[$7>>2] = $711; } - $645 = HEAP32[$1>>2]|0; - $646 = ((($645)) + 44|0); - $647 = HEAP32[$646>>2]|0; - $648 = ((($sAggInfo)) + 20|0); - HEAP32[$648>>2] = $647; - $649 = HEAP32[$db>>2]|0; - $650 = ((($649)) + 69|0); - $651 = HEAP8[$650>>0]|0; - $652 = ($651<<24>>24)!=(0); - if ($652) { + $712 = HEAP32[$4>>2]|0; + $713 = ((($712)) + 44|0); + $714 = HEAP32[$713>>2]|0; + $715 = ((($20)) + 20|0); + HEAP32[$715>>2] = $714; + $716 = HEAP32[$22>>2]|0; + $717 = ((($716)) + 69|0); + $718 = HEAP8[$717>>0]|0; + $719 = ($718<<24>>24)!=(0); + if ($719) { break; } - $653 = HEAP32[$pGroupBy>>2]|0; - $654 = ($653|0)!=(0|0); - if ($654) { - $655 = HEAP32[$1>>2]|0; - $656 = ((($655)) + 40|0); - $657 = HEAP32[$656>>2]|0; - $658 = (($657) + 1)|0; - HEAP32[$656>>2] = $658; - $659 = ((($sAggInfo)) + 4|0); - HEAP32[$659>>2] = $657; - $660 = HEAP32[$1>>2]|0; - $661 = HEAP32[$pGroupBy>>2]|0; - $662 = ((($sAggInfo)) + 32|0); - $663 = HEAP32[$662>>2]|0; - $664 = (_keyInfoFromExprList($660,$661,0,$663)|0); - HEAP32[$pKeyInfo4>>2] = $664; - $665 = HEAP32[$v>>2]|0; - $666 = ((($sAggInfo)) + 4|0); - $667 = HEAP32[$666>>2]|0; - $668 = ((($sAggInfo)) + 12|0); - $669 = HEAP32[$668>>2]|0; - $670 = HEAP32[$pKeyInfo4>>2]|0; - $671 = (_sqlite3VdbeAddOp4($665,108,$667,$669,0,$670,-6)|0); - HEAP32[$addrSortingIdx>>2] = $671; - $672 = HEAP32[$1>>2]|0; - $673 = ((($672)) + 44|0); - $674 = HEAP32[$673>>2]|0; - $675 = (($674) + 1)|0; - HEAP32[$673>>2] = $675; - HEAP32[$iUseFlag>>2] = $675; - $676 = HEAP32[$1>>2]|0; - $677 = ((($676)) + 44|0); - $678 = HEAP32[$677>>2]|0; - $679 = (($678) + 1)|0; - HEAP32[$677>>2] = $679; - HEAP32[$iAbortFlag>>2] = $679; - $680 = HEAP32[$1>>2]|0; - $681 = ((($680)) + 44|0); - $682 = HEAP32[$681>>2]|0; - $683 = (($682) + 1)|0; - HEAP32[$681>>2] = $683; - HEAP32[$regOutputRow>>2] = $683; - $684 = HEAP32[$v>>2]|0; - $685 = (_sqlite3VdbeMakeLabel($684)|0); - HEAP32[$addrOutputRow>>2] = $685; - $686 = HEAP32[$1>>2]|0; - $687 = ((($686)) + 44|0); - $688 = HEAP32[$687>>2]|0; - $689 = (($688) + 1)|0; - HEAP32[$687>>2] = $689; - HEAP32[$regReset>>2] = $689; - $690 = HEAP32[$v>>2]|0; - $691 = (_sqlite3VdbeMakeLabel($690)|0); - HEAP32[$addrReset>>2] = $691; - $692 = HEAP32[$1>>2]|0; - $693 = ((($692)) + 44|0); - $694 = HEAP32[$693>>2]|0; - $695 = (($694) + 1)|0; - HEAP32[$iAMem>>2] = $695; - $696 = HEAP32[$pGroupBy>>2]|0; - $697 = HEAP32[$696>>2]|0; - $698 = HEAP32[$1>>2]|0; - $699 = ((($698)) + 44|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($697))|0; - HEAP32[$699>>2] = $701; - $702 = HEAP32[$1>>2]|0; - $703 = ((($702)) + 44|0); - $704 = HEAP32[$703>>2]|0; - $705 = (($704) + 1)|0; - HEAP32[$iBMem>>2] = $705; - $706 = HEAP32[$pGroupBy>>2]|0; - $707 = HEAP32[$706>>2]|0; - $708 = HEAP32[$1>>2]|0; - $709 = ((($708)) + 44|0); - $710 = HEAP32[$709>>2]|0; - $711 = (($710) + ($707))|0; - HEAP32[$709>>2] = $711; - $712 = HEAP32[$v>>2]|0; - $713 = HEAP32[$iAbortFlag>>2]|0; - (_sqlite3VdbeAddOp2($712,76,0,$713)|0); - $714 = HEAP32[$v>>2]|0; - $715 = HEAP32[$iUseFlag>>2]|0; - (_sqlite3VdbeAddOp2($714,76,0,$715)|0); - $716 = HEAP32[$v>>2]|0; - $717 = HEAP32[$iAMem>>2]|0; - $718 = HEAP32[$iAMem>>2]|0; - $719 = HEAP32[$pGroupBy>>2]|0; - $720 = HEAP32[$719>>2]|0; - $721 = (($718) + ($720))|0; - $722 = (($721) - 1)|0; - (_sqlite3VdbeAddOp3($716,79,0,$717,$722)|0); - $723 = HEAP32[$v>>2]|0; - $724 = HEAP32[$regReset>>2]|0; - $725 = HEAP32[$addrReset>>2]|0; - (_sqlite3VdbeAddOp2($723,14,$724,$725)|0); - $726 = HEAP32[$1>>2]|0; - $727 = HEAP32[$pTabList>>2]|0; - $728 = HEAP32[$pWhere>>2]|0; - $729 = HEAP32[$pGroupBy>>2]|0; - $730 = HEAP32[$orderByGrp>>2]|0; - $731 = ($730|0)!=(0); - $732 = $731 ? 512 : 0; - $733 = 64 | $732; - $734 = $733&65535; - $735 = (_sqlite3WhereBegin($726,$727,$728,$729,0,$734,0)|0); - HEAP32[$pWInfo>>2] = $735; - $736 = HEAP32[$pWInfo>>2]|0; - $737 = ($736|0)==(0|0); - if ($737) { + $720 = HEAP32[$15>>2]|0; + $721 = ($720|0)!=(0|0); + if ($721) { + $722 = HEAP32[$4>>2]|0; + $723 = ((($722)) + 40|0); + $724 = HEAP32[$723>>2]|0; + $725 = (($724) + 1)|0; + HEAP32[$723>>2] = $725; + $726 = ((($20)) + 4|0); + HEAP32[$726>>2] = $724; + $727 = HEAP32[$4>>2]|0; + $728 = HEAP32[$15>>2]|0; + $729 = ((($20)) + 32|0); + $730 = HEAP32[$729>>2]|0; + $731 = (_keyInfoFromExprList($727,$728,0,$730)|0); + HEAP32[$49>>2] = $731; + $732 = HEAP32[$10>>2]|0; + $733 = ((($20)) + 4|0); + $734 = HEAP32[$733>>2]|0; + $735 = ((($20)) + 12|0); + $736 = HEAP32[$735>>2]|0; + $737 = HEAP32[$49>>2]|0; + $738 = (_sqlite3VdbeAddOp4($732,108,$734,$736,0,$737,-6)|0); + HEAP32[$55>>2] = $738; + $739 = HEAP32[$4>>2]|0; + $740 = ((($739)) + 44|0); + $741 = HEAP32[$740>>2]|0; + $742 = (($741) + 1)|0; + HEAP32[$740>>2] = $742; + HEAP32[$40>>2] = $742; + $743 = HEAP32[$4>>2]|0; + $744 = ((($743)) + 44|0); + $745 = HEAP32[$744>>2]|0; + $746 = (($745) + 1)|0; + HEAP32[$744>>2] = $746; + HEAP32[$41>>2] = $746; + $747 = HEAP32[$4>>2]|0; + $748 = ((($747)) + 44|0); + $749 = HEAP32[$748>>2]|0; + $750 = (($749) + 1)|0; + HEAP32[$748>>2] = $750; + HEAP32[$52>>2] = $750; + $751 = HEAP32[$10>>2]|0; + $752 = (_sqlite3VdbeMakeLabel($751)|0); + HEAP32[$51>>2] = $752; + $753 = HEAP32[$4>>2]|0; + $754 = ((($753)) + 44|0); + $755 = HEAP32[$754>>2]|0; + $756 = (($755) + 1)|0; + HEAP32[$754>>2] = $756; + HEAP32[$57>>2] = $756; + $757 = HEAP32[$10>>2]|0; + $758 = (_sqlite3VdbeMakeLabel($757)|0); + HEAP32[$56>>2] = $758; + $759 = HEAP32[$4>>2]|0; + $760 = ((($759)) + 44|0); + $761 = HEAP32[$760>>2]|0; + $762 = (($761) + 1)|0; + HEAP32[$38>>2] = $762; + $763 = HEAP32[$15>>2]|0; + $764 = HEAP32[$763>>2]|0; + $765 = HEAP32[$4>>2]|0; + $766 = ((($765)) + 44|0); + $767 = HEAP32[$766>>2]|0; + $768 = (($767) + ($764))|0; + HEAP32[$766>>2] = $768; + $769 = HEAP32[$4>>2]|0; + $770 = ((($769)) + 44|0); + $771 = HEAP32[$770>>2]|0; + $772 = (($771) + 1)|0; + HEAP32[$39>>2] = $772; + $773 = HEAP32[$15>>2]|0; + $774 = HEAP32[$773>>2]|0; + $775 = HEAP32[$4>>2]|0; + $776 = ((($775)) + 44|0); + $777 = HEAP32[$776>>2]|0; + $778 = (($777) + ($774))|0; + HEAP32[$776>>2] = $778; + $779 = HEAP32[$10>>2]|0; + $780 = HEAP32[$41>>2]|0; + (_sqlite3VdbeAddOp2($779,76,0,$780)|0); + $781 = HEAP32[$10>>2]|0; + $782 = HEAP32[$40>>2]|0; + (_sqlite3VdbeAddOp2($781,76,0,$782)|0); + $783 = HEAP32[$10>>2]|0; + $784 = HEAP32[$38>>2]|0; + $785 = HEAP32[$38>>2]|0; + $786 = HEAP32[$15>>2]|0; + $787 = HEAP32[$786>>2]|0; + $788 = (($785) + ($787))|0; + $789 = (($788) - 1)|0; + (_sqlite3VdbeAddOp3($783,79,0,$784,$789)|0); + $790 = HEAP32[$10>>2]|0; + $791 = HEAP32[$57>>2]|0; + $792 = HEAP32[$56>>2]|0; + (_sqlite3VdbeAddOp2($790,14,$791,$792)|0); + $793 = HEAP32[$4>>2]|0; + $794 = HEAP32[$13>>2]|0; + $795 = HEAP32[$14>>2]|0; + $796 = HEAP32[$15>>2]|0; + $797 = HEAP32[$46>>2]|0; + $798 = ($797|0)!=(0); + $799 = $798 ? 512 : 0; + $800 = 64 | $799; + $801 = $800&65535; + $802 = (_sqlite3WhereBegin($793,$794,$795,$796,0,$801,0)|0); + HEAP32[$9>>2] = $802; + $803 = HEAP32[$9>>2]|0; + $804 = ($803|0)==(0|0); + if ($804) { break; } - $738 = HEAP32[$pWInfo>>2]|0; - $739 = (_sqlite3WhereIsOrdered($738)|0); - $740 = HEAP32[$pGroupBy>>2]|0; - $741 = HEAP32[$740>>2]|0; - $742 = ($739|0)==($741|0); - if ($742) { - HEAP32[$groupBySort>>2] = 0; + $805 = HEAP32[$9>>2]|0; + $806 = (_sqlite3WhereIsOrdered($805)|0); + $807 = HEAP32[$15>>2]|0; + $808 = HEAP32[$807>>2]|0; + $809 = ($806|0)==($808|0); + if ($809) { + HEAP32[$42>>2] = 0; } else { - $743 = HEAP32[$1>>2]|0; - $744 = HEAP8[$sDistinct>>0]|0; - $745 = $744&255; - $746 = ($745|0)!=(0); - if ($746) { - $747 = HEAP32[$2>>2]|0; - $748 = ((($747)) + 8|0); - $749 = HEAP32[$748>>2]|0; - $750 = $749 & 1; - $751 = ($750|0)==(0); - $753 = $751; + $810 = HEAP32[$4>>2]|0; + $811 = HEAP8[$18>>0]|0; + $812 = $811&255; + $813 = ($812|0)!=(0); + if ($813) { + $814 = HEAP32[$5>>2]|0; + $815 = ((($814)) + 8|0); + $816 = HEAP32[$815>>2]|0; + $817 = $816 & 1; + $818 = ($817|0)==(0); + $820 = $818; } else { - $753 = 0; + $820 = 0; } - $752 = $753 ? 35649 : 35658; - _explainTempTable($743,$752); - HEAP32[$groupBySort>>2] = 1; - $754 = HEAP32[$pGroupBy>>2]|0; - $755 = HEAP32[$754>>2]|0; - HEAP32[$nGroupBy>>2] = $755; - $756 = HEAP32[$nGroupBy>>2]|0; - HEAP32[$nCol>>2] = $756; - $757 = HEAP32[$nGroupBy>>2]|0; - HEAP32[$j>>2] = $757; - HEAP32[$i>>2] = 0; + $819 = $820 ? 35094 : 35103; + _explainTempTable($810,$819); + HEAP32[$42>>2] = 1; + $821 = HEAP32[$15>>2]|0; + $822 = HEAP32[$821>>2]|0; + HEAP32[$61>>2] = $822; + $823 = HEAP32[$61>>2]|0; + HEAP32[$60>>2] = $823; + $824 = HEAP32[$61>>2]|0; + HEAP32[$8>>2] = $824; + HEAP32[$7>>2] = 0; while(1) { - $758 = HEAP32[$i>>2]|0; - $759 = ((($sAggInfo)) + 32|0); - $760 = HEAP32[$759>>2]|0; - $761 = ($758|0)<($760|0); - if (!($761)) { + $825 = HEAP32[$7>>2]|0; + $826 = ((($20)) + 32|0); + $827 = HEAP32[$826>>2]|0; + $828 = ($825|0)<($827|0); + if (!($828)) { break; } - $762 = HEAP32[$i>>2]|0; - $763 = ((($sAggInfo)) + 28|0); - $764 = HEAP32[$763>>2]|0; - $765 = (($764) + (($762*24)|0)|0); - $766 = ((($765)) + 12|0); - $767 = HEAP32[$766>>2]|0; - $768 = HEAP32[$j>>2]|0; - $769 = ($767|0)>=($768|0); - if ($769) { - $770 = HEAP32[$nCol>>2]|0; - $771 = (($770) + 1)|0; - HEAP32[$nCol>>2] = $771; - $772 = HEAP32[$j>>2]|0; - $773 = (($772) + 1)|0; - HEAP32[$j>>2] = $773; + $829 = ((($20)) + 28|0); + $830 = HEAP32[$829>>2]|0; + $831 = HEAP32[$7>>2]|0; + $832 = (($830) + (($831*24)|0)|0); + $833 = ((($832)) + 12|0); + $834 = HEAP32[$833>>2]|0; + $835 = HEAP32[$8>>2]|0; + $836 = ($834|0)>=($835|0); + if ($836) { + $837 = HEAP32[$60>>2]|0; + $838 = (($837) + 1)|0; + HEAP32[$60>>2] = $838; + $839 = HEAP32[$8>>2]|0; + $840 = (($839) + 1)|0; + HEAP32[$8>>2] = $840; } - $774 = HEAP32[$i>>2]|0; - $775 = (($774) + 1)|0; - HEAP32[$i>>2] = $775; + $841 = HEAP32[$7>>2]|0; + $842 = (($841) + 1)|0; + HEAP32[$7>>2] = $842; } - $776 = HEAP32[$1>>2]|0; - $777 = HEAP32[$nCol>>2]|0; - $778 = (_sqlite3GetTempRange($776,$777)|0); - HEAP32[$regBase>>2] = $778; - $779 = HEAP32[$1>>2]|0; - _sqlite3ExprCacheClear($779); - $780 = HEAP32[$1>>2]|0; - $781 = HEAP32[$pGroupBy>>2]|0; - $782 = HEAP32[$regBase>>2]|0; - (_sqlite3ExprCodeExprList($780,$781,$782,0,0)|0); - $783 = HEAP32[$nGroupBy>>2]|0; - HEAP32[$j>>2] = $783; - HEAP32[$i>>2] = 0; + $843 = HEAP32[$4>>2]|0; + $844 = HEAP32[$60>>2]|0; + $845 = (_sqlite3GetTempRange($843,$844)|0); + HEAP32[$58>>2] = $845; + $846 = HEAP32[$4>>2]|0; + _sqlite3ExprCacheClear($846); + $847 = HEAP32[$4>>2]|0; + $848 = HEAP32[$15>>2]|0; + $849 = HEAP32[$58>>2]|0; + (_sqlite3ExprCodeExprList($847,$848,$849,0,0)|0); + $850 = HEAP32[$61>>2]|0; + HEAP32[$8>>2] = $850; + HEAP32[$7>>2] = 0; while(1) { - $784 = HEAP32[$i>>2]|0; - $785 = ((($sAggInfo)) + 32|0); - $786 = HEAP32[$785>>2]|0; - $787 = ($784|0)<($786|0); - if (!($787)) { + $851 = HEAP32[$7>>2]|0; + $852 = ((($20)) + 32|0); + $853 = HEAP32[$852>>2]|0; + $854 = ($851|0)<($853|0); + if (!($854)) { break; } - $788 = HEAP32[$i>>2]|0; - $789 = ((($sAggInfo)) + 28|0); - $790 = HEAP32[$789>>2]|0; - $791 = (($790) + (($788*24)|0)|0); - HEAP32[$pCol>>2] = $791; - $792 = HEAP32[$pCol>>2]|0; - $793 = ((($792)) + 12|0); - $794 = HEAP32[$793>>2]|0; - $795 = HEAP32[$j>>2]|0; - $796 = ($794|0)>=($795|0); - if ($796) { - $797 = HEAP32[$j>>2]|0; - $798 = HEAP32[$regBase>>2]|0; - $799 = (($797) + ($798))|0; - HEAP32[$r1>>2] = $799; - $800 = HEAP32[$1>>2]|0; - $801 = HEAP32[$pCol>>2]|0; - $802 = HEAP32[$801>>2]|0; - $803 = HEAP32[$pCol>>2]|0; - $804 = ((($803)) + 8|0); - $805 = HEAP32[$804>>2]|0; - $806 = HEAP32[$pCol>>2]|0; - $807 = ((($806)) + 4|0); - $808 = HEAP32[$807>>2]|0; - $809 = HEAP32[$r1>>2]|0; - _sqlite3ExprCodeGetColumnToReg($800,$802,$805,$808,$809); - $810 = HEAP32[$j>>2]|0; - $811 = (($810) + 1)|0; - HEAP32[$j>>2] = $811; + $855 = ((($20)) + 28|0); + $856 = HEAP32[$855>>2]|0; + $857 = HEAP32[$7>>2]|0; + $858 = (($856) + (($857*24)|0)|0); + HEAP32[$62>>2] = $858; + $859 = HEAP32[$62>>2]|0; + $860 = ((($859)) + 12|0); + $861 = HEAP32[$860>>2]|0; + $862 = HEAP32[$8>>2]|0; + $863 = ($861|0)>=($862|0); + if ($863) { + $864 = HEAP32[$8>>2]|0; + $865 = HEAP32[$58>>2]|0; + $866 = (($864) + ($865))|0; + HEAP32[$63>>2] = $866; + $867 = HEAP32[$4>>2]|0; + $868 = HEAP32[$62>>2]|0; + $869 = HEAP32[$868>>2]|0; + $870 = HEAP32[$62>>2]|0; + $871 = ((($870)) + 8|0); + $872 = HEAP32[$871>>2]|0; + $873 = HEAP32[$62>>2]|0; + $874 = ((($873)) + 4|0); + $875 = HEAP32[$874>>2]|0; + $876 = HEAP32[$63>>2]|0; + _sqlite3ExprCodeGetColumnToReg($867,$869,$872,$875,$876); + $877 = HEAP32[$8>>2]|0; + $878 = (($877) + 1)|0; + HEAP32[$8>>2] = $878; } - $812 = HEAP32[$i>>2]|0; - $813 = (($812) + 1)|0; - HEAP32[$i>>2] = $813; + $879 = HEAP32[$7>>2]|0; + $880 = (($879) + 1)|0; + HEAP32[$7>>2] = $880; } - $814 = HEAP32[$1>>2]|0; - $815 = (_sqlite3GetTempReg($814)|0); - HEAP32[$regRecord>>2] = $815; - $816 = HEAP32[$v>>2]|0; - $817 = HEAP32[$regBase>>2]|0; - $818 = HEAP32[$nCol>>2]|0; - $819 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp3($816,99,$817,$818,$819)|0); - $820 = HEAP32[$v>>2]|0; - $821 = ((($sAggInfo)) + 4|0); - $822 = HEAP32[$821>>2]|0; - $823 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp2($820,125,$822,$823)|0); - $824 = HEAP32[$1>>2]|0; - $825 = HEAP32[$regRecord>>2]|0; - _sqlite3ReleaseTempReg($824,$825); - $826 = HEAP32[$1>>2]|0; - $827 = HEAP32[$regBase>>2]|0; - $828 = HEAP32[$nCol>>2]|0; - _sqlite3ReleaseTempRange($826,$827,$828); - $829 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($829); - $830 = HEAP32[$1>>2]|0; - $831 = ((($830)) + 40|0); - $832 = HEAP32[$831>>2]|0; - $833 = (($832) + 1)|0; - HEAP32[$831>>2] = $833; - HEAP32[$sortPTab>>2] = $832; - $834 = ((($sAggInfo)) + 8|0); - HEAP32[$834>>2] = $832; - $835 = HEAP32[$1>>2]|0; - $836 = (_sqlite3GetTempReg($835)|0); - HEAP32[$sortOut>>2] = $836; - $837 = HEAP32[$v>>2]|0; - $838 = HEAP32[$sortPTab>>2]|0; - $839 = HEAP32[$sortOut>>2]|0; - $840 = HEAP32[$nCol>>2]|0; - (_sqlite3VdbeAddOp3($837,110,$838,$839,$840)|0); - $841 = HEAP32[$v>>2]|0; - $842 = ((($sAggInfo)) + 4|0); - $843 = HEAP32[$842>>2]|0; - $844 = HEAP32[$addrEnd>>2]|0; - (_sqlite3VdbeAddOp2($841,55,$843,$844)|0); - $845 = ((($sAggInfo)) + 1|0); - HEAP8[$845>>0] = 1; - $846 = HEAP32[$1>>2]|0; - _sqlite3ExprCacheClear($846); + $881 = HEAP32[$4>>2]|0; + $882 = (_sqlite3GetTempReg($881)|0); + HEAP32[$59>>2] = $882; + $883 = HEAP32[$10>>2]|0; + $884 = HEAP32[$58>>2]|0; + $885 = HEAP32[$60>>2]|0; + $886 = HEAP32[$59>>2]|0; + (_sqlite3VdbeAddOp3($883,99,$884,$885,$886)|0); + $887 = HEAP32[$10>>2]|0; + $888 = ((($20)) + 4|0); + $889 = HEAP32[$888>>2]|0; + $890 = HEAP32[$59>>2]|0; + (_sqlite3VdbeAddOp2($887,125,$889,$890)|0); + $891 = HEAP32[$4>>2]|0; + $892 = HEAP32[$59>>2]|0; + _sqlite3ReleaseTempReg($891,$892); + $893 = HEAP32[$4>>2]|0; + $894 = HEAP32[$58>>2]|0; + $895 = HEAP32[$60>>2]|0; + _sqlite3ReleaseTempRange($893,$894,$895); + $896 = HEAP32[$9>>2]|0; + _sqlite3WhereEnd($896); + $897 = HEAP32[$4>>2]|0; + $898 = ((($897)) + 40|0); + $899 = HEAP32[$898>>2]|0; + $900 = (($899) + 1)|0; + HEAP32[$898>>2] = $900; + HEAP32[$44>>2] = $899; + $901 = ((($20)) + 8|0); + HEAP32[$901>>2] = $899; + $902 = HEAP32[$4>>2]|0; + $903 = (_sqlite3GetTempReg($902)|0); + HEAP32[$45>>2] = $903; + $904 = HEAP32[$10>>2]|0; + $905 = HEAP32[$44>>2]|0; + $906 = HEAP32[$45>>2]|0; + $907 = HEAP32[$60>>2]|0; + (_sqlite3VdbeAddOp3($904,110,$905,$906,$907)|0); + $908 = HEAP32[$10>>2]|0; + $909 = ((($20)) + 4|0); + $910 = HEAP32[$909>>2]|0; + $911 = HEAP32[$43>>2]|0; + (_sqlite3VdbeAddOp2($908,55,$910,$911)|0); + $912 = ((($20)) + 1|0); + HEAP8[$912>>0] = 1; + $913 = HEAP32[$4>>2]|0; + _sqlite3ExprCacheClear($913); } - $847 = HEAP32[$orderByGrp>>2]|0; - $848 = ($847|0)!=(0); + $914 = HEAP32[$46>>2]|0; + $915 = ($914|0)!=(0); do { - if ($848) { - $849 = HEAP32[$db>>2]|0; - $850 = ((($849)) + 64|0); - $851 = HEAP16[$850>>1]|0; - $852 = $851&65535; - $853 = $852 & 4; - $854 = ($853|0)==(0); - if (!($854)) { + if ($915) { + $916 = HEAP32[$22>>2]|0; + $917 = ((($916)) + 64|0); + $918 = HEAP16[$917>>1]|0; + $919 = $918&65535; + $920 = $919 & 4; + $921 = ($920|0)==(0); + if (!($921)) { break; } - $855 = HEAP32[$groupBySort>>2]|0; - $856 = ($855|0)!=(0); - if (!($856)) { - $857 = HEAP32[$pWInfo>>2]|0; - $858 = (_sqlite3WhereIsSorted($857)|0); - $859 = ($858|0)!=(0); - if (!($859)) { + $922 = HEAP32[$42>>2]|0; + $923 = ($922|0)!=(0); + if (!($923)) { + $924 = HEAP32[$9>>2]|0; + $925 = (_sqlite3WhereIsSorted($924)|0); + $926 = ($925|0)!=(0); + if (!($926)) { break; } } - HEAP32[$sSort>>2] = 0; - $860 = HEAP32[$v>>2]|0; - $861 = ((($sSort)) + 20|0); - $862 = HEAP32[$861>>2]|0; - (_sqlite3VdbeChangeToNoop($860,$862)|0); + HEAP32[$19>>2] = 0; + $927 = HEAP32[$10>>2]|0; + $928 = ((($19)) + 20|0); + $929 = HEAP32[$928>>2]|0; + (_sqlite3VdbeChangeToNoop($927,$929)|0); } } while(0); - $863 = HEAP32[$v>>2]|0; - $864 = (_sqlite3VdbeCurrentAddr($863)|0); - HEAP32[$addrTopOfLoop>>2] = $864; - $865 = HEAP32[$1>>2]|0; - _sqlite3ExprCacheClear($865); - $866 = HEAP32[$groupBySort>>2]|0; - $867 = ($866|0)!=(0); - if ($867) { - $868 = HEAP32[$v>>2]|0; - $869 = ((($sAggInfo)) + 4|0); - $870 = HEAP32[$869>>2]|0; - $871 = HEAP32[$sortOut>>2]|0; - $872 = HEAP32[$sortPTab>>2]|0; - (_sqlite3VdbeAddOp3($868,120,$870,$871,$872)|0); + $930 = HEAP32[$10>>2]|0; + $931 = (_sqlite3VdbeCurrentAddr($930)|0); + HEAP32[$54>>2] = $931; + $932 = HEAP32[$4>>2]|0; + _sqlite3ExprCacheClear($932); + $933 = HEAP32[$42>>2]|0; + $934 = ($933|0)!=(0); + if ($934) { + $935 = HEAP32[$10>>2]|0; + $936 = ((($20)) + 4|0); + $937 = HEAP32[$936>>2]|0; + $938 = HEAP32[$45>>2]|0; + $939 = HEAP32[$44>>2]|0; + (_sqlite3VdbeAddOp3($935,120,$937,$938,$939)|0); } - HEAP32[$j>>2] = 0; + HEAP32[$8>>2] = 0; while(1) { - $873 = HEAP32[$j>>2]|0; - $874 = HEAP32[$pGroupBy>>2]|0; - $875 = HEAP32[$874>>2]|0; - $876 = ($873|0)<($875|0); - if (!($876)) { + $940 = HEAP32[$8>>2]|0; + $941 = HEAP32[$15>>2]|0; + $942 = HEAP32[$941>>2]|0; + $943 = ($940|0)<($942|0); + if (!($943)) { break; } - $877 = HEAP32[$groupBySort>>2]|0; - $878 = ($877|0)!=(0); - if ($878) { - $879 = HEAP32[$v>>2]|0; - $880 = HEAP32[$sortPTab>>2]|0; - $881 = HEAP32[$j>>2]|0; - $882 = HEAP32[$iBMem>>2]|0; - $883 = HEAP32[$j>>2]|0; - $884 = (($882) + ($883))|0; - (_sqlite3VdbeAddOp3($879,96,$880,$881,$884)|0); + $944 = HEAP32[$42>>2]|0; + $945 = ($944|0)!=(0); + if ($945) { + $946 = HEAP32[$10>>2]|0; + $947 = HEAP32[$44>>2]|0; + $948 = HEAP32[$8>>2]|0; + $949 = HEAP32[$39>>2]|0; + $950 = HEAP32[$8>>2]|0; + $951 = (($949) + ($950))|0; + (_sqlite3VdbeAddOp3($946,96,$947,$948,$951)|0); } else { - HEAP8[$sAggInfo>>0] = 1; - $885 = HEAP32[$1>>2]|0; - $886 = HEAP32[$j>>2]|0; - $887 = HEAP32[$pGroupBy>>2]|0; - $888 = ((($887)) + 4|0); - $889 = HEAP32[$888>>2]|0; - $890 = (($889) + (($886*20)|0)|0); - $891 = HEAP32[$890>>2]|0; - $892 = HEAP32[$iBMem>>2]|0; - $893 = HEAP32[$j>>2]|0; - $894 = (($892) + ($893))|0; - _sqlite3ExprCode($885,$891,$894); + HEAP8[$20>>0] = 1; + $952 = HEAP32[$4>>2]|0; + $953 = HEAP32[$15>>2]|0; + $954 = ((($953)) + 4|0); + $955 = HEAP32[$954>>2]|0; + $956 = HEAP32[$8>>2]|0; + $957 = (($955) + (($956*20)|0)|0); + $958 = HEAP32[$957>>2]|0; + $959 = HEAP32[$39>>2]|0; + $960 = HEAP32[$8>>2]|0; + $961 = (($959) + ($960))|0; + _sqlite3ExprCode($952,$958,$961); } - $895 = HEAP32[$j>>2]|0; - $896 = (($895) + 1)|0; - HEAP32[$j>>2] = $896; + $962 = HEAP32[$8>>2]|0; + $963 = (($962) + 1)|0; + HEAP32[$8>>2] = $963; } - $897 = HEAP32[$v>>2]|0; - $898 = HEAP32[$iAMem>>2]|0; - $899 = HEAP32[$iBMem>>2]|0; - $900 = HEAP32[$pGroupBy>>2]|0; - $901 = HEAP32[$900>>2]|0; - $902 = HEAP32[$pKeyInfo4>>2]|0; - $903 = (_sqlite3KeyInfoRef($902)|0); - (_sqlite3VdbeAddOp4($897,95,$898,$899,$901,$903,-6)|0); - $904 = HEAP32[$v>>2]|0; - $905 = (_sqlite3VdbeCurrentAddr($904)|0); - HEAP32[$addr1>>2] = $905; - $906 = HEAP32[$v>>2]|0; - $907 = HEAP32[$addr1>>2]|0; - $908 = (($907) + 1)|0; - $909 = HEAP32[$addr1>>2]|0; - $910 = (($909) + 1)|0; - (_sqlite3VdbeAddOp3($906,18,$908,0,$910)|0); - $911 = HEAP32[$1>>2]|0; - $912 = HEAP32[$iBMem>>2]|0; - $913 = HEAP32[$iAMem>>2]|0; - $914 = HEAP32[$pGroupBy>>2]|0; - $915 = HEAP32[$914>>2]|0; - _sqlite3ExprCodeMove($911,$912,$913,$915); - $916 = HEAP32[$v>>2]|0; - $917 = HEAP32[$regOutputRow>>2]|0; - $918 = HEAP32[$addrOutputRow>>2]|0; - (_sqlite3VdbeAddOp2($916,14,$917,$918)|0); - $919 = HEAP32[$v>>2]|0; - $920 = HEAP32[$iAbortFlag>>2]|0; - $921 = HEAP32[$addrEnd>>2]|0; - (_sqlite3VdbeAddOp2($919,66,$920,$921)|0); - $922 = HEAP32[$v>>2]|0; - $923 = HEAP32[$regReset>>2]|0; - $924 = HEAP32[$addrReset>>2]|0; - (_sqlite3VdbeAddOp2($922,14,$923,$924)|0); - $925 = HEAP32[$v>>2]|0; - $926 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($925,$926); - $927 = HEAP32[$1>>2]|0; - _updateAccumulator($927,$sAggInfo); - $928 = HEAP32[$v>>2]|0; - $929 = HEAP32[$iUseFlag>>2]|0; - (_sqlite3VdbeAddOp2($928,76,1,$929)|0); - $930 = HEAP32[$groupBySort>>2]|0; - $931 = ($930|0)!=(0); - if ($931) { - $932 = HEAP32[$v>>2]|0; - $933 = ((($sAggInfo)) + 4|0); - $934 = HEAP32[$933>>2]|0; - $935 = HEAP32[$addrTopOfLoop>>2]|0; - (_sqlite3VdbeAddOp2($932,3,$934,$935)|0); + $964 = HEAP32[$10>>2]|0; + $965 = HEAP32[$38>>2]|0; + $966 = HEAP32[$39>>2]|0; + $967 = HEAP32[$15>>2]|0; + $968 = HEAP32[$967>>2]|0; + $969 = HEAP32[$49>>2]|0; + $970 = (_sqlite3KeyInfoRef($969)|0); + (_sqlite3VdbeAddOp4($964,95,$965,$966,$968,$970,-6)|0); + $971 = HEAP32[$10>>2]|0; + $972 = (_sqlite3VdbeCurrentAddr($971)|0); + HEAP32[$50>>2] = $972; + $973 = HEAP32[$10>>2]|0; + $974 = HEAP32[$50>>2]|0; + $975 = (($974) + 1)|0; + $976 = HEAP32[$50>>2]|0; + $977 = (($976) + 1)|0; + (_sqlite3VdbeAddOp3($973,18,$975,0,$977)|0); + $978 = HEAP32[$4>>2]|0; + $979 = HEAP32[$39>>2]|0; + $980 = HEAP32[$38>>2]|0; + $981 = HEAP32[$15>>2]|0; + $982 = HEAP32[$981>>2]|0; + _sqlite3ExprCodeMove($978,$979,$980,$982); + $983 = HEAP32[$10>>2]|0; + $984 = HEAP32[$52>>2]|0; + $985 = HEAP32[$51>>2]|0; + (_sqlite3VdbeAddOp2($983,14,$984,$985)|0); + $986 = HEAP32[$10>>2]|0; + $987 = HEAP32[$41>>2]|0; + $988 = HEAP32[$43>>2]|0; + (_sqlite3VdbeAddOp2($986,66,$987,$988)|0); + $989 = HEAP32[$10>>2]|0; + $990 = HEAP32[$57>>2]|0; + $991 = HEAP32[$56>>2]|0; + (_sqlite3VdbeAddOp2($989,14,$990,$991)|0); + $992 = HEAP32[$10>>2]|0; + $993 = HEAP32[$50>>2]|0; + _sqlite3VdbeJumpHere($992,$993); + $994 = HEAP32[$4>>2]|0; + _updateAccumulator($994,$20); + $995 = HEAP32[$10>>2]|0; + $996 = HEAP32[$40>>2]|0; + (_sqlite3VdbeAddOp2($995,76,1,$996)|0); + $997 = HEAP32[$42>>2]|0; + $998 = ($997|0)!=(0); + if ($998) { + $999 = HEAP32[$10>>2]|0; + $1000 = ((($20)) + 4|0); + $1001 = HEAP32[$1000>>2]|0; + $1002 = HEAP32[$54>>2]|0; + (_sqlite3VdbeAddOp2($999,3,$1001,$1002)|0); } else { - $936 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($936); - $937 = HEAP32[$v>>2]|0; - $938 = HEAP32[$addrSortingIdx>>2]|0; - (_sqlite3VdbeChangeToNoop($937,$938)|0); + $1003 = HEAP32[$9>>2]|0; + _sqlite3WhereEnd($1003); + $1004 = HEAP32[$10>>2]|0; + $1005 = HEAP32[$55>>2]|0; + (_sqlite3VdbeChangeToNoop($1004,$1005)|0); } - $939 = HEAP32[$v>>2]|0; - $940 = HEAP32[$regOutputRow>>2]|0; - $941 = HEAP32[$addrOutputRow>>2]|0; - (_sqlite3VdbeAddOp2($939,14,$940,$941)|0); - $942 = HEAP32[$v>>2]|0; - $943 = HEAP32[$addrEnd>>2]|0; - (_sqlite3VdbeGoto($942,$943)|0); - $944 = HEAP32[$v>>2]|0; - $945 = (_sqlite3VdbeCurrentAddr($944)|0); - HEAP32[$addrSetAbort>>2] = $945; - $946 = HEAP32[$v>>2]|0; - $947 = HEAP32[$iAbortFlag>>2]|0; - (_sqlite3VdbeAddOp2($946,76,1,$947)|0); - $948 = HEAP32[$v>>2]|0; - $949 = HEAP32[$regOutputRow>>2]|0; - (_sqlite3VdbeAddOp1($948,72,$949)|0); - $950 = HEAP32[$v>>2]|0; - $951 = HEAP32[$addrOutputRow>>2]|0; - _sqlite3VdbeResolveLabel($950,$951); - $952 = HEAP32[$v>>2]|0; - $953 = (_sqlite3VdbeCurrentAddr($952)|0); - HEAP32[$addrOutputRow>>2] = $953; - $954 = HEAP32[$v>>2]|0; - $955 = HEAP32[$iUseFlag>>2]|0; - $956 = HEAP32[$addrOutputRow>>2]|0; - $957 = (($956) + 2)|0; - (_sqlite3VdbeAddOp2($954,66,$955,$957)|0); - $958 = HEAP32[$v>>2]|0; - $959 = HEAP32[$regOutputRow>>2]|0; - (_sqlite3VdbeAddOp1($958,72,$959)|0); - $960 = HEAP32[$1>>2]|0; - _finalizeAggFunctions($960,$sAggInfo); - $961 = HEAP32[$1>>2]|0; - $962 = HEAP32[$pHaving>>2]|0; - $963 = HEAP32[$addrOutputRow>>2]|0; - $964 = (($963) + 1)|0; - _sqlite3ExprIfFalse($961,$962,$964,16); - $965 = HEAP32[$1>>2]|0; - $966 = HEAP32[$2>>2]|0; - $967 = HEAP32[$2>>2]|0; - $968 = HEAP32[$967>>2]|0; - $969 = HEAP32[$3>>2]|0; - $970 = HEAP32[$addrOutputRow>>2]|0; - $971 = (($970) + 1)|0; - $972 = HEAP32[$addrSetAbort>>2]|0; - _selectInnerLoop($965,$966,$968,-1,$sSort,$sDistinct,$969,$971,$972); - $973 = HEAP32[$v>>2]|0; - $974 = HEAP32[$regOutputRow>>2]|0; - (_sqlite3VdbeAddOp1($973,72,$974)|0); - $975 = HEAP32[$v>>2]|0; - $976 = HEAP32[$addrReset>>2]|0; - _sqlite3VdbeResolveLabel($975,$976); - $977 = HEAP32[$1>>2]|0; - _resetAccumulator($977,$sAggInfo); - $978 = HEAP32[$v>>2]|0; - $979 = HEAP32[$regReset>>2]|0; - (_sqlite3VdbeAddOp1($978,72,$979)|0); + $1006 = HEAP32[$10>>2]|0; + $1007 = HEAP32[$52>>2]|0; + $1008 = HEAP32[$51>>2]|0; + (_sqlite3VdbeAddOp2($1006,14,$1007,$1008)|0); + $1009 = HEAP32[$10>>2]|0; + $1010 = HEAP32[$43>>2]|0; + (_sqlite3VdbeGoto($1009,$1010)|0); + $1011 = HEAP32[$10>>2]|0; + $1012 = (_sqlite3VdbeCurrentAddr($1011)|0); + HEAP32[$53>>2] = $1012; + $1013 = HEAP32[$10>>2]|0; + $1014 = HEAP32[$41>>2]|0; + (_sqlite3VdbeAddOp2($1013,76,1,$1014)|0); + $1015 = HEAP32[$10>>2]|0; + $1016 = HEAP32[$52>>2]|0; + (_sqlite3VdbeAddOp1($1015,72,$1016)|0); + $1017 = HEAP32[$10>>2]|0; + $1018 = HEAP32[$51>>2]|0; + _sqlite3VdbeResolveLabel($1017,$1018); + $1019 = HEAP32[$10>>2]|0; + $1020 = (_sqlite3VdbeCurrentAddr($1019)|0); + HEAP32[$51>>2] = $1020; + $1021 = HEAP32[$10>>2]|0; + $1022 = HEAP32[$40>>2]|0; + $1023 = HEAP32[$51>>2]|0; + $1024 = (($1023) + 2)|0; + (_sqlite3VdbeAddOp2($1021,66,$1022,$1024)|0); + $1025 = HEAP32[$10>>2]|0; + $1026 = HEAP32[$52>>2]|0; + (_sqlite3VdbeAddOp1($1025,72,$1026)|0); + $1027 = HEAP32[$4>>2]|0; + _finalizeAggFunctions($1027,$20); + $1028 = HEAP32[$4>>2]|0; + $1029 = HEAP32[$16>>2]|0; + $1030 = HEAP32[$51>>2]|0; + $1031 = (($1030) + 1)|0; + _sqlite3ExprIfFalse($1028,$1029,$1031,16); + $1032 = HEAP32[$4>>2]|0; + $1033 = HEAP32[$5>>2]|0; + $1034 = HEAP32[$5>>2]|0; + $1035 = HEAP32[$1034>>2]|0; + $1036 = HEAP32[$6>>2]|0; + $1037 = HEAP32[$51>>2]|0; + $1038 = (($1037) + 1)|0; + $1039 = HEAP32[$53>>2]|0; + _selectInnerLoop($1032,$1033,$1035,-1,$19,$18,$1036,$1038,$1039); + $1040 = HEAP32[$10>>2]|0; + $1041 = HEAP32[$52>>2]|0; + (_sqlite3VdbeAddOp1($1040,72,$1041)|0); + $1042 = HEAP32[$10>>2]|0; + $1043 = HEAP32[$56>>2]|0; + _sqlite3VdbeResolveLabel($1042,$1043); + $1044 = HEAP32[$4>>2]|0; + _resetAccumulator($1044,$20); + $1045 = HEAP32[$10>>2]|0; + $1046 = HEAP32[$57>>2]|0; + (_sqlite3VdbeAddOp1($1045,72,$1046)|0); } else { - HEAP32[$pDel>>2] = 0; - $980 = HEAP32[$2>>2]|0; - $981 = (_isSimpleCount($980,$sAggInfo)|0); - HEAP32[$pTab5>>2] = $981; - $982 = ($981|0)!=(0|0); - if ($982) { - $983 = HEAP32[$1>>2]|0; - $984 = HEAP32[$983>>2]|0; - $985 = HEAP32[$pTab5>>2]|0; - $986 = ((($985)) + 64|0); - $987 = HEAP32[$986>>2]|0; - $988 = (_sqlite3SchemaToIndex($984,$987)|0); - HEAP32[$iDb>>2] = $988; - $989 = HEAP32[$1>>2]|0; - $990 = ((($989)) + 40|0); - $991 = HEAP32[$990>>2]|0; - $992 = (($991) + 1)|0; - HEAP32[$990>>2] = $992; - HEAP32[$iCsr>>2] = $991; - HEAP32[$pKeyInfo6>>2] = 0; - HEAP32[$pBest>>2] = 0; - $993 = HEAP32[$pTab5>>2]|0; - $994 = ((($993)) + 28|0); - $995 = HEAP32[$994>>2]|0; - HEAP32[$iRoot>>2] = $995; - $996 = HEAP32[$1>>2]|0; - $997 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($996,$997); - $998 = HEAP32[$1>>2]|0; - $999 = HEAP32[$iDb>>2]|0; - $1000 = HEAP32[$pTab5>>2]|0; - $1001 = ((($1000)) + 28|0); - $1002 = HEAP32[$1001>>2]|0; - $1003 = HEAP32[$pTab5>>2]|0; - $1004 = HEAP32[$1003>>2]|0; - _sqlite3TableLock($998,$999,$1002,0,$1004); - $1005 = HEAP32[$pTab5>>2]|0; - $1006 = ((($1005)) + 42|0); - $1007 = HEAP8[$1006>>0]|0; - $1008 = $1007&255; - $1009 = $1008 & 32; - $1010 = ($1009|0)==(0); - if (!($1010)) { - $1011 = HEAP32[$pTab5>>2]|0; - $1012 = (_sqlite3PrimaryKeyIndex($1011)|0); - HEAP32[$pBest>>2] = $1012; + HEAP32[$64>>2] = 0; + $1047 = HEAP32[$5>>2]|0; + $1048 = (_isSimpleCount($1047,$20)|0); + HEAP32[$65>>2] = $1048; + $1049 = ($1048|0)!=(0|0); + if ($1049) { + $1050 = HEAP32[$4>>2]|0; + $1051 = HEAP32[$1050>>2]|0; + $1052 = HEAP32[$65>>2]|0; + $1053 = ((($1052)) + 64|0); + $1054 = HEAP32[$1053>>2]|0; + $1055 = (_sqlite3SchemaToIndex($1051,$1054)|0); + HEAP32[$66>>2] = $1055; + $1056 = HEAP32[$4>>2]|0; + $1057 = ((($1056)) + 40|0); + $1058 = HEAP32[$1057>>2]|0; + $1059 = (($1058) + 1)|0; + HEAP32[$1057>>2] = $1059; + HEAP32[$67>>2] = $1058; + HEAP32[$69>>2] = 0; + HEAP32[$70>>2] = 0; + $1060 = HEAP32[$65>>2]|0; + $1061 = ((($1060)) + 28|0); + $1062 = HEAP32[$1061>>2]|0; + HEAP32[$71>>2] = $1062; + $1063 = HEAP32[$4>>2]|0; + $1064 = HEAP32[$66>>2]|0; + _sqlite3CodeVerifySchema($1063,$1064); + $1065 = HEAP32[$4>>2]|0; + $1066 = HEAP32[$66>>2]|0; + $1067 = HEAP32[$65>>2]|0; + $1068 = ((($1067)) + 28|0); + $1069 = HEAP32[$1068>>2]|0; + $1070 = HEAP32[$65>>2]|0; + $1071 = HEAP32[$1070>>2]|0; + _sqlite3TableLock($1065,$1066,$1069,0,$1071); + $1072 = HEAP32[$65>>2]|0; + $1073 = ((($1072)) + 42|0); + $1074 = HEAP8[$1073>>0]|0; + $1075 = $1074&255; + $1076 = $1075 & 32; + $1077 = ($1076|0)==(0); + if (!($1077)) { + $1078 = HEAP32[$65>>2]|0; + $1079 = (_sqlite3PrimaryKeyIndex($1078)|0); + HEAP32[$70>>2] = $1079; } - $1013 = HEAP32[$pTab5>>2]|0; - $1014 = ((($1013)) + 8|0); - $1015 = HEAP32[$1014>>2]|0; - HEAP32[$pIdx>>2] = $1015; + $1080 = HEAP32[$65>>2]|0; + $1081 = ((($1080)) + 8|0); + $1082 = HEAP32[$1081>>2]|0; + HEAP32[$68>>2] = $1082; while(1) { - $1016 = HEAP32[$pIdx>>2]|0; - $1017 = ($1016|0)!=(0|0); - if (!($1017)) { + $1083 = HEAP32[$68>>2]|0; + $1084 = ($1083|0)!=(0|0); + if (!($1084)) { break; } - $1018 = HEAP32[$pIdx>>2]|0; - $1019 = ((($1018)) + 55|0); - $1020 = HEAP8[$1019>>0]|0; - $1021 = ($1020&255) >>> 2; - $1022 = $1021 & 1; - $1023 = $1022&255; - $1024 = ($1023|0)==(0); + $1085 = HEAP32[$68>>2]|0; + $1086 = ((($1085)) + 55|0); + $1087 = HEAP8[$1086>>0]|0; + $1088 = ($1087&255) >>> 2; + $1089 = $1088 & 1; + $1090 = $1089&255; + $1091 = ($1090|0)==(0); do { - if ($1024) { - $1025 = HEAP32[$pIdx>>2]|0; - $1026 = ((($1025)) + 48|0); - $1027 = HEAP16[$1026>>1]|0; - $1028 = $1027 << 16 >> 16; - $1029 = HEAP32[$pTab5>>2]|0; - $1030 = ((($1029)) + 40|0); - $1031 = HEAP16[$1030>>1]|0; - $1032 = $1031 << 16 >> 16; - $1033 = ($1028|0)<($1032|0); - if (!($1033)) { + if ($1091) { + $1092 = HEAP32[$68>>2]|0; + $1093 = ((($1092)) + 48|0); + $1094 = HEAP16[$1093>>1]|0; + $1095 = $1094 << 16 >> 16; + $1096 = HEAP32[$65>>2]|0; + $1097 = ((($1096)) + 40|0); + $1098 = HEAP16[$1097>>1]|0; + $1099 = $1098 << 16 >> 16; + $1100 = ($1095|0)<($1099|0); + if (!($1100)) { break; } - $1034 = HEAP32[$pIdx>>2]|0; - $1035 = ((($1034)) + 36|0); - $1036 = HEAP32[$1035>>2]|0; - $1037 = ($1036|0)==(0|0); - if (!($1037)) { + $1101 = HEAP32[$68>>2]|0; + $1102 = ((($1101)) + 36|0); + $1103 = HEAP32[$1102>>2]|0; + $1104 = ($1103|0)==(0|0); + if (!($1104)) { break; } - $1038 = HEAP32[$pBest>>2]|0; - $1039 = ($1038|0)!=(0|0); - if ($1039) { - $1040 = HEAP32[$pIdx>>2]|0; - $1041 = ((($1040)) + 48|0); - $1042 = HEAP16[$1041>>1]|0; - $1043 = $1042 << 16 >> 16; - $1044 = HEAP32[$pBest>>2]|0; - $1045 = ((($1044)) + 48|0); - $1046 = HEAP16[$1045>>1]|0; - $1047 = $1046 << 16 >> 16; - $1048 = ($1043|0)<($1047|0); - if (!($1048)) { + $1105 = HEAP32[$70>>2]|0; + $1106 = ($1105|0)!=(0|0); + if ($1106) { + $1107 = HEAP32[$68>>2]|0; + $1108 = ((($1107)) + 48|0); + $1109 = HEAP16[$1108>>1]|0; + $1110 = $1109 << 16 >> 16; + $1111 = HEAP32[$70>>2]|0; + $1112 = ((($1111)) + 48|0); + $1113 = HEAP16[$1112>>1]|0; + $1114 = $1113 << 16 >> 16; + $1115 = ($1110|0)<($1114|0); + if (!($1115)) { break; } } - $1049 = HEAP32[$pIdx>>2]|0; - HEAP32[$pBest>>2] = $1049; + $1116 = HEAP32[$68>>2]|0; + HEAP32[$70>>2] = $1116; } } while(0); - $1050 = HEAP32[$pIdx>>2]|0; - $1051 = ((($1050)) + 20|0); - $1052 = HEAP32[$1051>>2]|0; - HEAP32[$pIdx>>2] = $1052; + $1117 = HEAP32[$68>>2]|0; + $1118 = ((($1117)) + 20|0); + $1119 = HEAP32[$1118>>2]|0; + HEAP32[$68>>2] = $1119; } - $1053 = HEAP32[$pBest>>2]|0; - $1054 = ($1053|0)!=(0|0); - if ($1054) { - $1055 = HEAP32[$pBest>>2]|0; - $1056 = ((($1055)) + 44|0); - $1057 = HEAP32[$1056>>2]|0; - HEAP32[$iRoot>>2] = $1057; - $1058 = HEAP32[$1>>2]|0; - $1059 = HEAP32[$pBest>>2]|0; - $1060 = (_sqlite3KeyInfoOfIndex($1058,$1059)|0); - HEAP32[$pKeyInfo6>>2] = $1060; + $1120 = HEAP32[$70>>2]|0; + $1121 = ($1120|0)!=(0|0); + if ($1121) { + $1122 = HEAP32[$70>>2]|0; + $1123 = ((($1122)) + 44|0); + $1124 = HEAP32[$1123>>2]|0; + HEAP32[$71>>2] = $1124; + $1125 = HEAP32[$4>>2]|0; + $1126 = HEAP32[$70>>2]|0; + $1127 = (_sqlite3KeyInfoOfIndex($1125,$1126)|0); + HEAP32[$69>>2] = $1127; } - $1061 = HEAP32[$v>>2]|0; - $1062 = HEAP32[$iCsr>>2]|0; - $1063 = HEAP32[$iRoot>>2]|0; - $1064 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp4Int($1061,104,$1062,$1063,$1064,1)|0); - $1065 = HEAP32[$pKeyInfo6>>2]|0; - $1066 = ($1065|0)!=(0|0); - if ($1066) { - $1067 = HEAP32[$v>>2]|0; - $1068 = HEAP32[$pKeyInfo6>>2]|0; - _sqlite3VdbeChangeP4($1067,-1,$1068,-6); + $1128 = HEAP32[$10>>2]|0; + $1129 = HEAP32[$67>>2]|0; + $1130 = HEAP32[$71>>2]|0; + $1131 = HEAP32[$66>>2]|0; + (_sqlite3VdbeAddOp4Int($1128,104,$1129,$1130,$1131,1)|0); + $1132 = HEAP32[$69>>2]|0; + $1133 = ($1132|0)!=(0|0); + if ($1133) { + $1134 = HEAP32[$10>>2]|0; + $1135 = HEAP32[$69>>2]|0; + _sqlite3VdbeChangeP4($1134,-1,$1135,-6); } - $1069 = HEAP32[$v>>2]|0; - $1070 = HEAP32[$iCsr>>2]|0; - $1071 = ((($sAggInfo)) + 40|0); - $1072 = HEAP32[$1071>>2]|0; - $1073 = ((($1072)) + 8|0); - $1074 = HEAP32[$1073>>2]|0; - (_sqlite3VdbeAddOp2($1069,100,$1070,$1074)|0); - $1075 = HEAP32[$v>>2]|0; - $1076 = HEAP32[$iCsr>>2]|0; - (_sqlite3VdbeAddOp1($1075,111,$1076)|0); - $1077 = HEAP32[$1>>2]|0; - $1078 = HEAP32[$pTab5>>2]|0; - $1079 = HEAP32[$pBest>>2]|0; - _explainSimpleCount($1077,$1078,$1079); + $1136 = HEAP32[$10>>2]|0; + $1137 = HEAP32[$67>>2]|0; + $1138 = ((($20)) + 40|0); + $1139 = HEAP32[$1138>>2]|0; + $1140 = ((($1139)) + 8|0); + $1141 = HEAP32[$1140>>2]|0; + (_sqlite3VdbeAddOp2($1136,100,$1137,$1141)|0); + $1142 = HEAP32[$10>>2]|0; + $1143 = HEAP32[$67>>2]|0; + (_sqlite3VdbeAddOp1($1142,111,$1143)|0); + $1144 = HEAP32[$4>>2]|0; + $1145 = HEAP32[$65>>2]|0; + $1146 = HEAP32[$70>>2]|0; + _explainSimpleCount($1144,$1145,$1146); } else { - HEAP32[$pMinMax>>2] = 0; - HEAP8[$flag>>0] = 0; - $1080 = HEAP32[$2>>2]|0; - $1081 = ((($1080)) + 40|0); - $1082 = HEAP32[$1081>>2]|0; - $1083 = ($1082|0)==(0|0); - if ($1083) { - $1084 = (_minMaxQuery($sAggInfo,$pMinMax)|0); - HEAP8[$flag>>0] = $1084; + HEAP32[$72>>2] = 0; + HEAP8[$73>>0] = 0; + $1147 = HEAP32[$5>>2]|0; + $1148 = ((($1147)) + 40|0); + $1149 = HEAP32[$1148>>2]|0; + $1150 = ($1149|0)==(0|0); + if ($1150) { + $1151 = (_minMaxQuery($20,$72)|0); + HEAP8[$73>>0] = $1151; } - $1085 = HEAP8[$flag>>0]|0; - $1086 = ($1085<<24>>24)!=(0); + $1152 = HEAP8[$73>>0]|0; + $1153 = ($1152<<24>>24)!=(0); do { - if ($1086) { - $1087 = HEAP32[$db>>2]|0; - $1088 = HEAP32[$pMinMax>>2]|0; - $1089 = (_sqlite3ExprListDup($1087,$1088,0)|0); - HEAP32[$pMinMax>>2] = $1089; - $1090 = HEAP32[$pMinMax>>2]|0; - HEAP32[$pDel>>2] = $1090; - $1091 = HEAP32[$db>>2]|0; - $1092 = ((($1091)) + 69|0); - $1093 = HEAP8[$1092>>0]|0; - $1094 = ($1093<<24>>24)!=(0); - if ($1094) { + if ($1153) { + $1154 = HEAP32[$22>>2]|0; + $1155 = HEAP32[$72>>2]|0; + $1156 = (_sqlite3ExprListDup($1154,$1155,0)|0); + HEAP32[$72>>2] = $1156; + $1157 = HEAP32[$72>>2]|0; + HEAP32[$64>>2] = $1157; + $1158 = HEAP32[$22>>2]|0; + $1159 = ((($1158)) + 69|0); + $1160 = HEAP8[$1159>>0]|0; + $1161 = ($1160<<24>>24)!=(0); + if ($1161) { break; } - $1095 = HEAP8[$flag>>0]|0; - $1096 = $1095&255; - $1097 = ($1096|0)!=(1); - $1098 = $1097 ? 1 : 0; - $1099 = $1098&255; - $1100 = HEAP32[$pMinMax>>2]|0; - $1101 = ((($1100)) + 4|0); - $1102 = HEAP32[$1101>>2]|0; - $1103 = ((($1102)) + 12|0); - HEAP8[$1103>>0] = $1099; - $1104 = HEAP32[$pMinMax>>2]|0; - $1105 = ((($1104)) + 4|0); - $1106 = HEAP32[$1105>>2]|0; - $1107 = HEAP32[$1106>>2]|0; - HEAP8[$1107>>0] = -104; + $1162 = HEAP8[$73>>0]|0; + $1163 = $1162&255; + $1164 = ($1163|0)!=(1); + $1165 = $1164 ? 1 : 0; + $1166 = $1165&255; + $1167 = HEAP32[$72>>2]|0; + $1168 = ((($1167)) + 4|0); + $1169 = HEAP32[$1168>>2]|0; + $1170 = ((($1169)) + 12|0); + HEAP8[$1170>>0] = $1166; + $1171 = HEAP32[$72>>2]|0; + $1172 = ((($1171)) + 4|0); + $1173 = HEAP32[$1172>>2]|0; + $1174 = HEAP32[$1173>>2]|0; + HEAP8[$1174>>0] = -104; } } while(0); - $1108 = HEAP32[$1>>2]|0; - _resetAccumulator($1108,$sAggInfo); - $1109 = HEAP32[$1>>2]|0; - $1110 = HEAP32[$pTabList>>2]|0; - $1111 = HEAP32[$pWhere>>2]|0; - $1112 = HEAP32[$pMinMax>>2]|0; - $1113 = HEAP8[$flag>>0]|0; - $1114 = $1113&255; - $1115 = (_sqlite3WhereBegin($1109,$1110,$1111,$1112,0,$1114,0)|0); - HEAP32[$pWInfo>>2] = $1115; - $1116 = HEAP32[$pWInfo>>2]|0; - $1117 = ($1116|0)==(0|0); - if ($1117) { - $1118 = HEAP32[$db>>2]|0; - $1119 = HEAP32[$pDel>>2]|0; - _sqlite3ExprListDelete($1118,$1119); + $1175 = HEAP32[$4>>2]|0; + _resetAccumulator($1175,$20); + $1176 = HEAP32[$4>>2]|0; + $1177 = HEAP32[$13>>2]|0; + $1178 = HEAP32[$14>>2]|0; + $1179 = HEAP32[$72>>2]|0; + $1180 = HEAP8[$73>>0]|0; + $1181 = $1180&255; + $1182 = (_sqlite3WhereBegin($1176,$1177,$1178,$1179,0,$1181,0)|0); + HEAP32[$9>>2] = $1182; + $1183 = HEAP32[$9>>2]|0; + $1184 = ($1183|0)==(0|0); + if ($1184) { + $1185 = HEAP32[$22>>2]|0; + $1186 = HEAP32[$64>>2]|0; + _sqlite3ExprListDelete($1185,$1186); break; } - $1120 = HEAP32[$1>>2]|0; - _updateAccumulator($1120,$sAggInfo); - $1121 = HEAP32[$pWInfo>>2]|0; - $1122 = (_sqlite3WhereIsOrdered($1121)|0); - $1123 = ($1122|0)>(0); - if ($1123) { - $1124 = HEAP32[$v>>2]|0; - $1125 = HEAP32[$pWInfo>>2]|0; - $1126 = (_sqlite3WhereBreakLabel($1125)|0); - (_sqlite3VdbeGoto($1124,$1126)|0); + $1187 = HEAP32[$4>>2]|0; + _updateAccumulator($1187,$20); + $1188 = HEAP32[$9>>2]|0; + $1189 = (_sqlite3WhereIsOrdered($1188)|0); + $1190 = ($1189|0)>(0); + if ($1190) { + $1191 = HEAP32[$10>>2]|0; + $1192 = HEAP32[$9>>2]|0; + $1193 = (_sqlite3WhereBreakLabel($1192)|0); + (_sqlite3VdbeGoto($1191,$1193)|0); } - $1127 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($1127); - $1128 = HEAP32[$1>>2]|0; - _finalizeAggFunctions($1128,$sAggInfo); + $1194 = HEAP32[$9>>2]|0; + _sqlite3WhereEnd($1194); + $1195 = HEAP32[$4>>2]|0; + _finalizeAggFunctions($1195,$20); } - HEAP32[$sSort>>2] = 0; - $1129 = HEAP32[$1>>2]|0; - $1130 = HEAP32[$pHaving>>2]|0; - $1131 = HEAP32[$addrEnd>>2]|0; - _sqlite3ExprIfFalse($1129,$1130,$1131,16); - $1132 = HEAP32[$1>>2]|0; - $1133 = HEAP32[$2>>2]|0; - $1134 = HEAP32[$2>>2]|0; - $1135 = HEAP32[$1134>>2]|0; - $1136 = HEAP32[$3>>2]|0; - $1137 = HEAP32[$addrEnd>>2]|0; - $1138 = HEAP32[$addrEnd>>2]|0; - _selectInnerLoop($1132,$1133,$1135,-1,0,0,$1136,$1137,$1138); - $1139 = HEAP32[$db>>2]|0; - $1140 = HEAP32[$pDel>>2]|0; - _sqlite3ExprListDelete($1139,$1140); + HEAP32[$19>>2] = 0; + $1196 = HEAP32[$4>>2]|0; + $1197 = HEAP32[$16>>2]|0; + $1198 = HEAP32[$43>>2]|0; + _sqlite3ExprIfFalse($1196,$1197,$1198,16); + $1199 = HEAP32[$4>>2]|0; + $1200 = HEAP32[$5>>2]|0; + $1201 = HEAP32[$5>>2]|0; + $1202 = HEAP32[$1201>>2]|0; + $1203 = HEAP32[$6>>2]|0; + $1204 = HEAP32[$43>>2]|0; + $1205 = HEAP32[$43>>2]|0; + _selectInnerLoop($1199,$1200,$1202,-1,0,0,$1203,$1204,$1205); + $1206 = HEAP32[$22>>2]|0; + $1207 = HEAP32[$64>>2]|0; + _sqlite3ExprListDelete($1206,$1207); } - $1141 = HEAP32[$v>>2]|0; - $1142 = HEAP32[$addrEnd>>2]|0; - _sqlite3VdbeResolveLabel($1141,$1142); + $1208 = HEAP32[$10>>2]|0; + $1209 = HEAP32[$43>>2]|0; + _sqlite3VdbeResolveLabel($1208,$1209); } - $1143 = ((($sDistinct)) + 1|0); - $1144 = HEAP8[$1143>>0]|0; - $1145 = $1144&255; - $1146 = ($1145|0)==(3); - if ($1146) { - $1147 = HEAP32[$1>>2]|0; - _explainTempTable($1147,35649); + $1210 = ((($18)) + 1|0); + $1211 = HEAP8[$1210>>0]|0; + $1212 = $1211&255; + $1213 = ($1212|0)==(3); + if ($1213) { + $1214 = HEAP32[$4>>2]|0; + _explainTempTable($1214,35094); } - $1148 = HEAP32[$sSort>>2]|0; - $1149 = ($1148|0)!=(0|0); - if ($1149) { - $1150 = HEAP32[$1>>2]|0; - $1151 = ((($sSort)) + 4|0); - $1152 = HEAP32[$1151>>2]|0; - $1153 = ($1152|0)>(0); - $1154 = $1153 ? 35667 : 35690; - _explainTempTable($1150,$1154); - $1155 = HEAP32[$1>>2]|0; - $1156 = HEAP32[$2>>2]|0; - $1157 = HEAP32[$pEList>>2]|0; - $1158 = HEAP32[$1157>>2]|0; - $1159 = HEAP32[$3>>2]|0; - _generateSortTail($1155,$1156,$sSort,$1158,$1159); + $1215 = HEAP32[$19>>2]|0; + $1216 = ($1215|0)!=(0|0); + if ($1216) { + $1217 = HEAP32[$4>>2]|0; + $1218 = ((($19)) + 4|0); + $1219 = HEAP32[$1218>>2]|0; + $1220 = ($1219|0)>(0); + $1221 = $1220 ? 35112 : 35135; + _explainTempTable($1217,$1221); + $1222 = HEAP32[$4>>2]|0; + $1223 = HEAP32[$5>>2]|0; + $1224 = HEAP32[$12>>2]|0; + $1225 = HEAP32[$1224>>2]|0; + $1226 = HEAP32[$6>>2]|0; + _generateSortTail($1222,$1223,$19,$1225,$1226); } - $1160 = HEAP32[$v>>2]|0; - $1161 = HEAP32[$iEnd>>2]|0; - _sqlite3VdbeResolveLabel($1160,$1161); - $1162 = HEAP32[$1>>2]|0; - $1163 = ((($1162)) + 36|0); - $1164 = HEAP32[$1163>>2]|0; - $1165 = ($1164|0)>(0); - $1166 = $1165&1; - HEAP32[$rc>>2] = $1166; + $1227 = HEAP32[$10>>2]|0; + $1228 = HEAP32[$21>>2]|0; + _sqlite3VdbeResolveLabel($1227,$1228); + $1229 = HEAP32[$4>>2]|0; + $1230 = ((($1229)) + 36|0); + $1231 = HEAP32[$1230>>2]|0; + $1232 = ($1231|0)>(0); + $1233 = $1232&1; + HEAP32[$17>>2] = $1233; } } } } while(0); - $1167 = HEAP32[$iRestoreSelectId>>2]|0; - $1168 = HEAP32[$1>>2]|0; - $1169 = ((($1168)) + 420|0); - HEAP32[$1169>>2] = $1167; - $1170 = HEAP32[$rc>>2]|0; - $1171 = ($1170|0)==(0); - if ($1171) { - $1172 = HEAP32[$3>>2]|0; - $1173 = HEAP8[$1172>>0]|0; - $1174 = $1173&255; - $1175 = ($1174|0)==(9); - if ($1175) { - $1176 = HEAP32[$1>>2]|0; - $1177 = HEAP32[$pTabList>>2]|0; - $1178 = HEAP32[$pEList>>2]|0; - _generateColumnNames($1176,$1177,$1178); - } - } - $1179 = HEAP32[$db>>2]|0; - $1180 = ((($sAggInfo)) + 28|0); - $1181 = HEAP32[$1180>>2]|0; - _sqlite3DbFree($1179,$1181); - $1182 = HEAP32[$db>>2]|0; - $1183 = ((($sAggInfo)) + 40|0); - $1184 = HEAP32[$1183>>2]|0; - _sqlite3DbFree($1182,$1184); - $1185 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $1185; - $1186 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1186|0); - } - } - } - HEAP32[$0>>2] = 1; - $1186 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1186|0); -} -function _parserDoubleLinkSelect($pParse,$p) { - $pParse = $pParse|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $cnt = 0, $mxSelect = 0, $pLoop = 0; - var $pNext = 0, $vararg_buffer = 0, label = 0, sp = 0; + $1234 = HEAP32[$23>>2]|0; + $1235 = HEAP32[$4>>2]|0; + $1236 = ((($1235)) + 420|0); + HEAP32[$1236>>2] = $1234; + $1237 = HEAP32[$17>>2]|0; + $1238 = ($1237|0)==(0); + if ($1238) { + $1239 = HEAP32[$6>>2]|0; + $1240 = HEAP8[$1239>>0]|0; + $1241 = $1240&255; + $1242 = ($1241|0)==(9); + if ($1242) { + $1243 = HEAP32[$4>>2]|0; + $1244 = HEAP32[$13>>2]|0; + $1245 = HEAP32[$12>>2]|0; + _generateColumnNames($1243,$1244,$1245); + } + } + $1246 = HEAP32[$22>>2]|0; + $1247 = ((($20)) + 28|0); + $1248 = HEAP32[$1247>>2]|0; + _sqlite3DbFree($1246,$1248); + $1249 = HEAP32[$22>>2]|0; + $1250 = ((($20)) + 40|0); + $1251 = HEAP32[$1250>>2]|0; + _sqlite3DbFree($1249,$1251); + $1252 = HEAP32[$17>>2]|0; + HEAP32[$3>>2] = $1252; + $1253 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($1253|0); + } + } + } + HEAP32[$3>>2] = 1; + $1253 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($1253|0); +} +function _parserDoubleLinkSelect($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; - $0 = sp + 24|0; - $1 = sp + 20|0; - $pNext = sp + 16|0; - $pLoop = sp + 12|0; - $mxSelect = sp + 8|0; - $cnt = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 48|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 48|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { STACKTOP = sp;return; } - HEAP32[$pNext>>2] = 0; - HEAP32[$cnt>>2] = 0; - $6 = HEAP32[$1>>2]|0; - HEAP32[$pLoop>>2] = $6; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $12 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $12; while(1) { - $7 = HEAP32[$pLoop>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { break; } - $9 = HEAP32[$pNext>>2]|0; - $10 = HEAP32[$pLoop>>2]|0; - $11 = ((($10)) + 52|0); - HEAP32[$11>>2] = $9; - $12 = HEAP32[$pLoop>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = $14 | 256; - HEAP32[$13>>2] = $15; - $16 = HEAP32[$pLoop>>2]|0; - HEAP32[$pNext>>2] = $16; - $17 = HEAP32[$pLoop>>2]|0; - $18 = ((($17)) + 48|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pLoop>>2] = $19; - $20 = HEAP32[$cnt>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[$cnt>>2] = $21; + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 52|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = $20 | 256; + HEAP32[$19>>2] = $21; + $22 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $22; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$5>>2] = $25; + $26 = HEAP32[$7>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$7>>2] = $27; } - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = $24 & 1024; - $26 = ($25|0)==(0); - if (!($26)) { + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = $30 & 1024; + $32 = ($31|0)==(0); + if (!($32)) { STACKTOP = sp;return; } - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 96|0); - $30 = ((($29)) + 16|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$mxSelect>>2] = $31; - $32 = ($31|0)>(0); - if (!($32)) { + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 96|0); + $36 = ((($35)) + 16|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$6>>2] = $37; + $38 = ($37|0)>(0); + if (!($38)) { STACKTOP = sp;return; } - $33 = HEAP32[$cnt>>2]|0; - $34 = HEAP32[$mxSelect>>2]|0; - $35 = ($33|0)>($34|0); - if (!($35)) { + $39 = HEAP32[$7>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = ($39|0)>($40|0); + if (!($41)) { STACKTOP = sp;return; } - $36 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($36,35575,$vararg_buffer); + $42 = HEAP32[$2>>2]|0; + _sqlite3ErrorMsg($42,35020,$vararg_buffer); STACKTOP = sp;return; } -function _sqlite3SrcListAppendFromTerm($pParse,$p,$pTable,$pDatabase,$pAlias,$pSubquery,$pOn,$pUsing) { - $pParse = $pParse|0; - $p = $p|0; - $pTable = $pTable|0; - $pDatabase = $pDatabase|0; - $pAlias = $pAlias|0; - $pSubquery = $pSubquery|0; - $pOn = $pOn|0; - $pUsing = $pUsing|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $7 = 0, $8 = 0, $9 = 0, $db = 0, $or$cond = 0, $pItem = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3SrcListAppendFromTerm($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $6 = sp + 20|0; - $7 = sp + 16|0; - $8 = sp + 12|0; - $pItem = sp + 8|0; - $db = sp + 4|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $pTable; - HEAP32[$4>>2] = $pDatabase; - HEAP32[$5>>2] = $pAlias; - HEAP32[$6>>2] = $pSubquery; - HEAP32[$7>>2] = $pOn; - HEAP32[$8>>2] = $pUsing; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$db>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + HEAP32[$12>>2] = $3; + HEAP32[$13>>2] = $4; + HEAP32[$14>>2] = $5; + HEAP32[$15>>2] = $6; + HEAP32[$16>>2] = $7; + $19 = HEAP32[$9>>2]|0; + $20 = HEAP32[$19>>2]|0; + HEAP32[$18>>2] = $20; + $21 = HEAP32[$10>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { label = 4; } else { - $13 = HEAP32[$7>>2]|0; - $14 = ($13|0)!=(0|0); - $15 = HEAP32[$8>>2]|0; - $16 = ($15|0)!=(0|0); - $or$cond = $14 | $16; + $23 = HEAP32[$15>>2]|0; + $24 = ($23|0)!=(0|0); + $25 = HEAP32[$16>>2]|0; + $26 = ($25|0)!=(0|0); + $or$cond = $24 | $26; if ($or$cond) { - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$7>>2]|0; - $19 = ($18|0)!=(0|0); - $20 = $19 ? 35530 : 35533; - HEAP32[$vararg_buffer>>2] = $20; - _sqlite3ErrorMsg($17,35539,$vararg_buffer); + $27 = HEAP32[$9>>2]|0; + $28 = HEAP32[$15>>2]|0; + $29 = ($28|0)!=(0|0); + $30 = $29 ? 34975 : 34978; + HEAP32[$vararg_buffer>>2] = $30; + _sqlite3ErrorMsg($27,34984,$vararg_buffer); } else { label = 4; } } if ((label|0) == 4) { - $21 = HEAP32[$db>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$3>>2]|0; - $24 = HEAP32[$4>>2]|0; - $25 = (_sqlite3SrcListAppend($21,$22,$23,$24)|0); - HEAP32[$2>>2] = $25; - $26 = HEAP32[$2>>2]|0; - $27 = ($26|0)==(0|0); - if (!($27)) { - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0); - if (!($30)) { - $31 = HEAP32[$2>>2]|0; - $32 = HEAP32[$31>>2]|0; - $33 = (($32) - 1)|0; - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 8|0); - $36 = (($35) + (($33*72)|0)|0); - HEAP32[$pItem>>2] = $36; - $37 = HEAP32[$5>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)!=(0); - if ($40) { - $41 = HEAP32[$db>>2]|0; - $42 = HEAP32[$5>>2]|0; - $43 = (_sqlite3NameFromToken($41,$42)|0); - $44 = HEAP32[$pItem>>2]|0; - $45 = ((($44)) + 12|0); - HEAP32[$45>>2] = $43; - } - $46 = HEAP32[$6>>2]|0; - $47 = HEAP32[$pItem>>2]|0; - $48 = ((($47)) + 20|0); - HEAP32[$48>>2] = $46; - $49 = HEAP32[$7>>2]|0; - $50 = HEAP32[$pItem>>2]|0; - $51 = ((($50)) + 48|0); - HEAP32[$51>>2] = $49; - $52 = HEAP32[$8>>2]|0; - $53 = HEAP32[$pItem>>2]|0; - $54 = ((($53)) + 52|0); - HEAP32[$54>>2] = $52; - $55 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $55; - $62 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($62|0); - } - } - } - $56 = HEAP32[$db>>2]|0; - $57 = HEAP32[$7>>2]|0; - _sqlite3ExprDelete($56,$57); - $58 = HEAP32[$db>>2]|0; - $59 = HEAP32[$8>>2]|0; - _sqlite3IdListDelete($58,$59); - $60 = HEAP32[$db>>2]|0; - $61 = HEAP32[$6>>2]|0; - _sqlite3SelectDelete($60,$61); - HEAP32[$0>>2] = 0; - $62 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($62|0); + $31 = HEAP32[$18>>2]|0; + $32 = HEAP32[$10>>2]|0; + $33 = HEAP32[$11>>2]|0; + $34 = HEAP32[$12>>2]|0; + $35 = (_sqlite3SrcListAppend($31,$32,$33,$34)|0); + HEAP32[$10>>2] = $35; + $36 = HEAP32[$10>>2]|0; + $37 = ($36|0)==(0|0); + if (!($37)) { + $38 = HEAP32[$10>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + if (!($40)) { + $41 = HEAP32[$10>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP32[$10>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - 1)|0; + $46 = (($42) + (($45*72)|0)|0); + HEAP32[$17>>2] = $46; + $47 = HEAP32[$13>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)!=(0); + if ($50) { + $51 = HEAP32[$18>>2]|0; + $52 = HEAP32[$13>>2]|0; + $53 = (_sqlite3NameFromToken($51,$52)|0); + $54 = HEAP32[$17>>2]|0; + $55 = ((($54)) + 12|0); + HEAP32[$55>>2] = $53; + } + $56 = HEAP32[$14>>2]|0; + $57 = HEAP32[$17>>2]|0; + $58 = ((($57)) + 20|0); + HEAP32[$58>>2] = $56; + $59 = HEAP32[$15>>2]|0; + $60 = HEAP32[$17>>2]|0; + $61 = ((($60)) + 48|0); + HEAP32[$61>>2] = $59; + $62 = HEAP32[$16>>2]|0; + $63 = HEAP32[$17>>2]|0; + $64 = ((($63)) + 52|0); + HEAP32[$64>>2] = $62; + $65 = HEAP32[$10>>2]|0; + HEAP32[$8>>2] = $65; + $72 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($72|0); + } + } + } + $66 = HEAP32[$18>>2]|0; + $67 = HEAP32[$15>>2]|0; + _sqlite3ExprDelete($66,$67); + $68 = HEAP32[$18>>2]|0; + $69 = HEAP32[$16>>2]|0; + _sqlite3IdListDelete($68,$69); + $70 = HEAP32[$18>>2]|0; + $71 = HEAP32[$14>>2]|0; + _sqlite3SelectDelete($70,$71); + HEAP32[$8>>2] = 0; + $72 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($72|0); } -function _sqlite3SelectNew($pParse,$pEList,$pSrc,$pWhere,$pGroupBy,$pHaving,$pOrderBy,$selFlags,$pLimit,$pOffset) { - $pParse = $pParse|0; - $pEList = $pEList|0; - $pSrc = $pSrc|0; - $pWhere = $pWhere|0; - $pGroupBy = $pGroupBy|0; - $pHaving = $pHaving|0; - $pOrderBy = $pOrderBy|0; - $selFlags = $selFlags|0; - $pLimit = $pLimit|0; - $pOffset = $pOffset|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $9 = 0, $db = 0, $pNew = 0, $standin = 0, $standin$ = 0, label = 0, sp = 0; +function _sqlite3SelectNew($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; - $0 = sp + 112|0; - $1 = sp + 108|0; - $2 = sp + 104|0; - $3 = sp + 100|0; - $4 = sp + 96|0; - $5 = sp + 92|0; - $6 = sp + 88|0; - $7 = sp + 84|0; - $8 = sp + 80|0; - $9 = sp + 76|0; - $pNew = sp + 72|0; - $standin = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pEList; - HEAP32[$2>>2] = $pSrc; - HEAP32[$3>>2] = $pWhere; - HEAP32[$4>>2] = $pGroupBy; - HEAP32[$5>>2] = $pHaving; - HEAP32[$6>>2] = $pOrderBy; - HEAP32[$7>>2] = $selFlags; - HEAP32[$8>>2] = $pLimit; - HEAP32[$9>>2] = $pOffset; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$10>>2]|0; - HEAP32[$db>>2] = $11; - $12 = HEAP32[$db>>2]|0; - $13 = (_sqlite3DbMallocRawNN($12,68,0)|0); - HEAP32[$pNew>>2] = $13; - $14 = HEAP32[$pNew>>2]|0; - $15 = ($14|0)==(0|0); - $standin$ = $15 ? $standin : $13; - HEAP32[$pNew>>2] = $standin$; - $16 = HEAP32[$1>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$db>>2]|0; - $20 = (_sqlite3Expr($19,160,0)|0); - $21 = (_sqlite3ExprListAppend($18,0,$20)|0); - HEAP32[$1>>2] = $21; - } - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$pNew>>2]|0; - HEAP32[$23>>2] = $22; - $24 = HEAP32[$pNew>>2]|0; - $25 = ((($24)) + 4|0); - HEAP8[$25>>0] = 119; - $26 = HEAP32[$7>>2]|0; - $27 = HEAP32[$pNew>>2]|0; - $28 = ((($27)) + 8|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$pNew>>2]|0; - $30 = ((($29)) + 12|0); - HEAP32[$30>>2] = 0; - $31 = HEAP32[$pNew>>2]|0; - $32 = ((($31)) + 16|0); - HEAP32[$32>>2] = 0; - $33 = HEAP32[$pNew>>2]|0; - $34 = ((($33)) + 20|0); - HEAP32[$34>>2] = -1; - $35 = HEAP32[$pNew>>2]|0; - $36 = ((($35)) + 20|0); - $37 = ((($36)) + 4|0); - HEAP32[$37>>2] = -1; - $38 = HEAP32[$pNew>>2]|0; - $39 = ((($38)) + 6|0); - HEAP16[$39>>1] = 0; - $40 = HEAP32[$2>>2]|0; - $41 = ($40|0)==(0|0); - if ($41) { - $42 = HEAP32[$db>>2]|0; - $43 = (_sqlite3DbMallocZero($42,80,0)|0); - HEAP32[$2>>2] = $43; + $10 = sp + 112|0; + $11 = sp + 108|0; + $12 = sp + 104|0; + $13 = sp + 100|0; + $14 = sp + 96|0; + $15 = sp + 92|0; + $16 = sp + 88|0; + $17 = sp + 84|0; + $18 = sp + 80|0; + $19 = sp + 76|0; + $20 = sp + 72|0; + $21 = sp + 4|0; + $22 = sp; + HEAP32[$10>>2] = $0; + HEAP32[$11>>2] = $1; + HEAP32[$12>>2] = $2; + HEAP32[$13>>2] = $3; + HEAP32[$14>>2] = $4; + HEAP32[$15>>2] = $5; + HEAP32[$16>>2] = $6; + HEAP32[$17>>2] = $7; + HEAP32[$18>>2] = $8; + HEAP32[$19>>2] = $9; + $23 = HEAP32[$10>>2]|0; + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (_sqlite3DbMallocRawNN($25,68,0)|0); + HEAP32[$20>>2] = $26; + $27 = HEAP32[$20>>2]|0; + $28 = ($27|0)==(0|0); + $$ = $28 ? $21 : $26; + HEAP32[$20>>2] = $$; + $29 = HEAP32[$11>>2]|0; + $30 = ($29|0)==(0|0); + if ($30) { + $31 = HEAP32[$10>>2]|0; + $32 = HEAP32[$22>>2]|0; + $33 = (_sqlite3Expr($32,160,0)|0); + $34 = (_sqlite3ExprListAppend($31,0,$33)|0); + HEAP32[$11>>2] = $34; + } + $35 = HEAP32[$11>>2]|0; + $36 = HEAP32[$20>>2]|0; + HEAP32[$36>>2] = $35; + $37 = HEAP32[$20>>2]|0; + $38 = ((($37)) + 4|0); + HEAP8[$38>>0] = 119; + $39 = HEAP32[$17>>2]|0; + $40 = HEAP32[$20>>2]|0; + $41 = ((($40)) + 8|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$20>>2]|0; + $43 = ((($42)) + 12|0); + HEAP32[$43>>2] = 0; + $44 = HEAP32[$20>>2]|0; + $45 = ((($44)) + 16|0); + HEAP32[$45>>2] = 0; + $46 = HEAP32[$20>>2]|0; + $47 = ((($46)) + 20|0); + HEAP32[$47>>2] = -1; + $48 = HEAP32[$20>>2]|0; + $49 = ((($48)) + 20|0); + $50 = ((($49)) + 4|0); + HEAP32[$50>>2] = -1; + $51 = HEAP32[$20>>2]|0; + $52 = ((($51)) + 6|0); + HEAP16[$52>>1] = 0; + $53 = HEAP32[$12>>2]|0; + $54 = ($53|0)==(0|0); + if ($54) { + $55 = HEAP32[$22>>2]|0; + $56 = (_sqlite3DbMallocZero($55,80,0)|0); + HEAP32[$12>>2] = $56; } - $44 = HEAP32[$2>>2]|0; - $45 = HEAP32[$pNew>>2]|0; - $46 = ((($45)) + 28|0); - HEAP32[$46>>2] = $44; - $47 = HEAP32[$3>>2]|0; - $48 = HEAP32[$pNew>>2]|0; - $49 = ((($48)) + 32|0); - HEAP32[$49>>2] = $47; - $50 = HEAP32[$4>>2]|0; - $51 = HEAP32[$pNew>>2]|0; - $52 = ((($51)) + 36|0); - HEAP32[$52>>2] = $50; - $53 = HEAP32[$5>>2]|0; - $54 = HEAP32[$pNew>>2]|0; - $55 = ((($54)) + 40|0); - HEAP32[$55>>2] = $53; - $56 = HEAP32[$6>>2]|0; - $57 = HEAP32[$pNew>>2]|0; - $58 = ((($57)) + 44|0); - HEAP32[$58>>2] = $56; - $59 = HEAP32[$pNew>>2]|0; - $60 = ((($59)) + 48|0); - HEAP32[$60>>2] = 0; - $61 = HEAP32[$pNew>>2]|0; - $62 = ((($61)) + 52|0); - HEAP32[$62>>2] = 0; - $63 = HEAP32[$8>>2]|0; - $64 = HEAP32[$pNew>>2]|0; - $65 = ((($64)) + 56|0); + $57 = HEAP32[$12>>2]|0; + $58 = HEAP32[$20>>2]|0; + $59 = ((($58)) + 28|0); + HEAP32[$59>>2] = $57; + $60 = HEAP32[$13>>2]|0; + $61 = HEAP32[$20>>2]|0; + $62 = ((($61)) + 32|0); + HEAP32[$62>>2] = $60; + $63 = HEAP32[$14>>2]|0; + $64 = HEAP32[$20>>2]|0; + $65 = ((($64)) + 36|0); HEAP32[$65>>2] = $63; - $66 = HEAP32[$9>>2]|0; - $67 = HEAP32[$pNew>>2]|0; - $68 = ((($67)) + 60|0); + $66 = HEAP32[$15>>2]|0; + $67 = HEAP32[$20>>2]|0; + $68 = ((($67)) + 40|0); HEAP32[$68>>2] = $66; - $69 = HEAP32[$pNew>>2]|0; - $70 = ((($69)) + 64|0); - HEAP32[$70>>2] = 0; - $71 = HEAP32[$db>>2]|0; - $72 = ((($71)) + 69|0); - $73 = HEAP8[$72>>0]|0; - $74 = ($73<<24>>24)!=(0); - if (!($74)) { - $80 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($80|0); + $69 = HEAP32[$16>>2]|0; + $70 = HEAP32[$20>>2]|0; + $71 = ((($70)) + 44|0); + HEAP32[$71>>2] = $69; + $72 = HEAP32[$20>>2]|0; + $73 = ((($72)) + 48|0); + HEAP32[$73>>2] = 0; + $74 = HEAP32[$20>>2]|0; + $75 = ((($74)) + 52|0); + HEAP32[$75>>2] = 0; + $76 = HEAP32[$18>>2]|0; + $77 = HEAP32[$20>>2]|0; + $78 = ((($77)) + 56|0); + HEAP32[$78>>2] = $76; + $79 = HEAP32[$19>>2]|0; + $80 = HEAP32[$20>>2]|0; + $81 = ((($80)) + 60|0); + HEAP32[$81>>2] = $79; + $82 = HEAP32[$20>>2]|0; + $83 = ((($82)) + 64|0); + HEAP32[$83>>2] = 0; + $84 = HEAP32[$22>>2]|0; + $85 = ((($84)) + 69|0); + $86 = HEAP8[$85>>0]|0; + $87 = ($86<<24>>24)!=(0); + if (!($87)) { + $93 = HEAP32[$20>>2]|0; + STACKTOP = sp;return ($93|0); } - $75 = HEAP32[$db>>2]|0; - $76 = HEAP32[$pNew>>2]|0; - $77 = HEAP32[$pNew>>2]|0; - $78 = ($77|0)!=($standin|0); - $79 = $78&1; - _clearSelect($75,$76,$79); - HEAP32[$pNew>>2] = 0; - $80 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($80|0); + $88 = HEAP32[$22>>2]|0; + $89 = HEAP32[$20>>2]|0; + $90 = HEAP32[$20>>2]|0; + $91 = ($90|0)!=($21|0); + $92 = $91&1; + _clearSelect($88,$89,$92); + HEAP32[$20>>2] = 0; + $93 = HEAP32[$20>>2]|0; + STACKTOP = sp;return ($93|0); } -function _sqlite3ExprListAppend($pParse,$pList,$pExpr) { - $pParse = $pParse|0; - $pList = $pList|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $db = 0; - var $pItem = 0, label = 0, sp = 0; +function _sqlite3ExprListAppend($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $db = sp + 8|0; - $a = sp + 4|0; - $pItem = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pList; - HEAP32[$3>>2] = $pExpr; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - $8 = HEAP32[$db>>2]|0; - $9 = (_sqlite3DbMallocRawNN($8,8,0)|0); - HEAP32[$2>>2] = $9; - $10 = HEAP32[$2>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$7>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)==(0|0); + if ($13) { + $14 = HEAP32[$7>>2]|0; + $15 = (_sqlite3DbMallocRawNN($14,8,0)|0); + HEAP32[$5>>2] = $15; + $16 = HEAP32[$5>>2]|0; + $17 = ($16|0)==(0|0); + if ($17) { label = 8; } else { - $12 = HEAP32[$2>>2]|0; - HEAP32[$12>>2] = 0; - $13 = HEAP32[$db>>2]|0; - $14 = (_sqlite3DbMallocRawNN($13,20,0)|0); - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 4|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)==(0|0); - if ($20) { + $18 = HEAP32[$5>>2]|0; + HEAP32[$18>>2] = 0; + $19 = HEAP32[$7>>2]|0; + $20 = (_sqlite3DbMallocRawNN($19,20,0)|0); + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 4|0); + HEAP32[$22>>2] = $20; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { label = 8; } else { label = 7; } } } else { - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = (($24) - 1)|0; - $26 = $22 & $25; - $27 = ($26|0)==(0); - if ($27) { - $28 = HEAP32[$db>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 4|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = $33<<1; - $35 = ($34*20)|0; - $36 = (_sqlite3DbRealloc($28,$31,$35,0)|0); - HEAP32[$a>>2] = $36; - $37 = HEAP32[$a>>2]|0; - $38 = ($37|0)==(0|0); - if ($38) { + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = (($30) - 1)|0; + $32 = $28 & $31; + $33 = ($32|0)==(0); + if ($33) { + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = $39<<1; + $41 = ($40*20)|0; + $42 = (_sqlite3DbRealloc($34,$37,$41,0)|0); + HEAP32[$8>>2] = $42; + $43 = HEAP32[$8>>2]|0; + $44 = ($43|0)==(0|0); + if ($44) { label = 8; } else { - $39 = HEAP32[$a>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = ((($40)) + 4|0); - HEAP32[$41>>2] = $39; + $45 = HEAP32[$8>>2]|0; + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 4|0); + HEAP32[$47>>2] = $45; label = 7; } } else { @@ -119380,1573 +95000,1571 @@ function _sqlite3ExprListAppend($pParse,$pList,$pExpr) { } } if ((label|0) == 7) { - $42 = HEAP32[$2>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$42>>2] = $44; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + (($43*20)|0)|0); - HEAP32[$pItem>>2] = $48; - $49 = HEAP32[$pItem>>2]|0; - ;HEAP32[$49>>2]=0|0;HEAP32[$49+4>>2]=0|0;HEAP32[$49+8>>2]=0|0;HEAP32[$49+12>>2]=0|0;HEAP32[$49+16>>2]=0|0; - $50 = HEAP32[$3>>2]|0; - $51 = HEAP32[$pItem>>2]|0; - HEAP32[$51>>2] = $50; - $52 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $52; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + $48 = HEAP32[$5>>2]|0; + $49 = ((($48)) + 4|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$5>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$51>>2] = $53; + $54 = (($50) + (($52*20)|0)|0); + HEAP32[$9>>2] = $54; + $55 = HEAP32[$9>>2]|0; + ;HEAP32[$55>>2]=0|0;HEAP32[$55+4>>2]=0|0;HEAP32[$55+8>>2]=0|0;HEAP32[$55+12>>2]=0|0;HEAP32[$55+16>>2]=0|0; + $56 = HEAP32[$6>>2]|0; + $57 = HEAP32[$9>>2]|0; + HEAP32[$57>>2] = $56; + $58 = HEAP32[$5>>2]|0; + HEAP32[$3>>2] = $58; + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); } else if ((label|0) == 8) { - $53 = HEAP32[$db>>2]|0; - $54 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($53,$54); - $55 = HEAP32[$db>>2]|0; - $56 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($55,$56); - HEAP32[$0>>2] = 0; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + $59 = HEAP32[$7>>2]|0; + $60 = HEAP32[$6>>2]|0; + _sqlite3ExprDelete($59,$60); + $61 = HEAP32[$7>>2]|0; + $62 = HEAP32[$5>>2]|0; + _sqlite3ExprListDelete($61,$62); + HEAP32[$3>>2] = 0; + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); } return (0)|0; } -function _sqlite3ExprListSetName($pParse,$pList,$pName,$dequote) { - $pParse = $pParse|0; - $pList = $pList|0; - $pName = $pName|0; - $dequote = $dequote|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pItem = 0, label = 0, sp = 0; +function _sqlite3ExprListSetName($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $pItem = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pList; - HEAP32[$2>>2] = $pName; - HEAP32[$3>>2] = $dequote; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { STACKTOP = sp;return; } - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (($7) - 1)|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + (($8*20)|0)|0); - HEAP32[$pItem>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 4|0); + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (($15) - 1)|0; + $17 = (($13) + (($16*20)|0)|0); + HEAP32[$8>>2] = $17; + $18 = HEAP32[$4>>2]|0; $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3DbStrNDup($14,$16,$19,0)|0); - $21 = HEAP32[$pItem>>2]|0; - $22 = ((($21)) + 4|0); - HEAP32[$22>>2] = $20; - $23 = HEAP32[$3>>2]|0; - $24 = ($23|0)!=(0); - if (!($24)) { + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_sqlite3DbStrNDup($19,$21,$24,0)|0); + $26 = HEAP32[$8>>2]|0; + $27 = ((($26)) + 4|0); + HEAP32[$27>>2] = $25; + $28 = HEAP32[$7>>2]|0; + $29 = ($28|0)!=(0); + if (!($29)) { STACKTOP = sp;return; } - $25 = HEAP32[$pItem>>2]|0; - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - _sqlite3Dequote($27); + $30 = HEAP32[$8>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + _sqlite3Dequote($32); STACKTOP = sp;return; } -function _sqlite3ExprListSetSpan($pParse,$pList,$pSpan) { - $pParse = $pParse|0; - $pList = $pList|0; - $pSpan = $pSpan|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, $pItem = 0, label = 0, sp = 0; +function _sqlite3ExprListSetSpan($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $db = sp + 4|0; - $pItem = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pList; - HEAP32[$2>>2] = $pSpan; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { STACKTOP = sp;return; } - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (($8) - 1)|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + (($9*20)|0)|0); - HEAP32[$pItem>>2] = $13; - $14 = HEAP32[$db>>2]|0; - $15 = HEAP32[$pItem>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - _sqlite3DbFree($14,$17); - $18 = HEAP32[$db>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = $24; - $29 = $27; - $30 = (($28) - ($29))|0; - $31 = ($30|0)<(0); - $32 = $31 << 31 >> 31; - $33 = (_sqlite3DbStrNDup($18,$21,$30,$32)|0); - $34 = HEAP32[$pItem>>2]|0; - $35 = ((($34)) + 8|0); - HEAP32[$35>>2] = $33; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (($16) - 1)|0; + $18 = (($14) + (($17*20)|0)|0); + HEAP32[$7>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3DbFree($19,$22); + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $29; + $34 = $32; + $35 = (($33) - ($34))|0; + $36 = ($35|0)<(0); + $37 = $36 << 31 >> 31; + $38 = (_sqlite3DbStrNDup($23,$26,$35,$37)|0); + $39 = HEAP32[$7>>2]|0; + $40 = ((($39)) + 8|0); + HEAP32[$40>>2] = $38; STACKTOP = sp;return; } -function _sqlite3Expr($db,$op,$zToken) { - $db = $db|0; - $op = $op|0; - $zToken = $zToken|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $x = 0, label = 0, sp = 0; +function _sqlite3Expr($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $x = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $zToken; - $3 = HEAP32[$2>>2]|0; - HEAP32[$x>>2] = $3; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$2>>2]|0; - $7 = (_sqlite3Strlen30($6)|0); - $9 = $7; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $7; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)!=(0|0); + if ($9) { + $10 = HEAP32[$5>>2]|0; + $11 = (_sqlite3Strlen30($10)|0); + $13 = $11; } else { - $9 = 0; + $13 = 0; } - $8 = ((($x)) + 4|0); - HEAP32[$8>>2] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = (_sqlite3ExprAlloc($10,$11,$x,0)|0); - STACKTOP = sp;return ($12|0); + $12 = ((($6)) + 4|0); + HEAP32[$12>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (_sqlite3ExprAlloc($14,$15,$6,0)|0); + STACKTOP = sp;return ($16|0); } -function _sqlite3SrcListShiftJoinType($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; +function _sqlite3SrcListShiftJoinType($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { STACKTOP = sp;return; } - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (($4) - 1)|0; - HEAP32[$i>>2] = $5; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = (($6) - 1)|0; + HEAP32[$2>>2] = $7; while(1) { - $6 = HEAP32[$i>>2]|0; - $7 = ($6|0)>(0); - if (!($7)) { + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 8|0); + if (!($9)) { break; } - $8 = HEAP32[$i>>2]|0; - $9 = (($8) - 1)|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 8|0); - $12 = (($11) + (($9*72)|0)|0); - $13 = ((($12)) + 36|0); - $14 = HEAP8[$13>>0]|0; - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 8|0); - $18 = (($17) + (($15*72)|0)|0); - $19 = ((($18)) + 36|0); - HEAP8[$19>>0] = $14; - $20 = HEAP32[$i>>2]|0; - $21 = (($20) + -1)|0; - HEAP32[$i>>2] = $21; + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - 1)|0; + $14 = (($11) + (($13*72)|0)|0); + $15 = ((($14)) + 36|0); + $16 = HEAP8[$15>>0]|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$2>>2]|0; + $20 = (($18) + (($19*72)|0)|0); + $21 = ((($20)) + 36|0); + HEAP8[$21>>0] = $16; + $22 = HEAP32[$2>>2]|0; + $23 = (($22) + -1)|0; + HEAP32[$2>>2] = $23; } - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 8|0); - $24 = ((($23)) + 36|0); + $24 = ((($11)) + 36|0); HEAP8[$24>>0] = 0; STACKTOP = sp;return; } -function _sqlite3SrcListIndexedBy($pParse,$p,$pIndexedBy) { - $pParse = $pParse|0; - $p = $p|0; - $pIndexedBy = $pIndexedBy|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pItem = 0, label = 0, sp = 0; +function _sqlite3SrcListIndexedBy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pItem = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pIndexedBy; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { STACKTOP = sp;return; } - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)>(0); - if (!($7)) { + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(0); + if (!($11)) { STACKTOP = sp;return; } - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = (($9) - 1)|0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 8|0); - $13 = (($12) + (($10*72)|0)|0); - HEAP32[$pItem>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(1); - if ($17) { - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)!=(0|0); - if (!($20)) { - $21 = HEAP32[$pItem>>2]|0; - $22 = ((($21)) + 36|0); - $23 = ((($22)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24 & -2; - $26 = $25 | 1; - HEAP8[$23>>0] = $26; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (($15) - 1)|0; + $17 = (($13) + (($16*72)|0)|0); + HEAP32[$6>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(1); + if ($21) { + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 36|0); + $27 = ((($26)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28 & -2; + $30 = $29 | 1; + HEAP8[$27>>0] = $30; STACKTOP = sp;return; } } - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = (_sqlite3NameFromToken($28,$29)|0); - $31 = HEAP32[$pItem>>2]|0; - $32 = ((($31)) + 64|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$pItem>>2]|0; - $34 = ((($33)) + 64|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)!=(0|0); - $37 = $36&1; - $38 = HEAP32[$pItem>>2]|0; - $39 = ((($38)) + 36|0); - $40 = ((($39)) + 1|0); - $41 = $37&255; - $42 = HEAP8[$40>>0]|0; - $43 = $41 & 1; - $44 = ($43 << 1)&255; - $45 = $42 & -3; - $46 = $45 | $44; - HEAP8[$40>>0] = $46; + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = (_sqlite3NameFromToken($32,$33)|0); + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 64|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$6>>2]|0; + $38 = ((($37)) + 64|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)!=(0|0); + $41 = $40&1; + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 36|0); + $44 = ((($43)) + 1|0); + $45 = $41&255; + $46 = HEAP8[$44>>0]|0; + $47 = $45 & 1; + $48 = ($47 << 1)&255; + $49 = $46 & -3; + $50 = $49 | $48; + HEAP8[$44>>0] = $50; STACKTOP = sp;return; } -function _sqlite3SrcListFuncArgs($pParse,$p,$pList) { - $pParse = $pParse|0; - $p = $p|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $pItem = 0, label = 0, sp = 0; +function _sqlite3SrcListFuncArgs($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, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pItem = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pList; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (($6) - 1)|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 8|0); - $10 = (($9) + (($7*72)|0)|0); - HEAP32[$pItem>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$pItem>>2]|0; - $13 = ((($12)) + 64|0); - HEAP32[$13>>2] = $11; - $14 = HEAP32[$pItem>>2]|0; - $15 = ((($14)) + 36|0); - $16 = ((($15)) + 1|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 & -5; - $19 = $18 | 4; - HEAP8[$16>>0] = $19; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)!=(0|0); + if ($8) { + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = (($12) - 1)|0; + $14 = (($10) + (($13*72)|0)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 64|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 36|0); + $20 = ((($19)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21 & -5; + $23 = $22 | 4; + HEAP8[$20>>0] = $23; STACKTOP = sp;return; } else { - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($21,$22); + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$5>>2]|0; + _sqlite3ExprListDelete($25,$26); STACKTOP = sp;return; } } -function _sqlite3SrcListAppend($db,$pList,$pTable,$pDatabase) { - $db = $db|0; - $pList = $pList|0; - $pTable = $pTable|0; - $pDatabase = $pDatabase|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pItem = 0, $pTemp = 0, label = 0, sp = 0; +function _sqlite3SrcListAppend($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $pItem = sp + 4|0; - $pTemp = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pList; - HEAP32[$3>>2] = $pTable; - HEAP32[$4>>2] = $pDatabase; - $5 = HEAP32[$2>>2]|0; - $6 = ($5|0)==(0|0); + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $11 = HEAP32[$6>>2]|0; + $12 = ($11|0)==(0|0); do { - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3DbMallocRawNN($7,80,0)|0); - HEAP32[$2>>2] = $8; - $9 = HEAP32[$2>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 4|0); - HEAP32[$12>>2] = 1; - $13 = HEAP32[$2>>2]|0; - HEAP32[$13>>2] = 0; + if ($12) { + $13 = HEAP32[$5>>2]|0; + $14 = (_sqlite3DbMallocRawNN($13,80,0)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = ($15|0)==(0|0); + if (!($16)) { + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 4|0); + HEAP32[$18>>2] = 1; + $19 = HEAP32[$6>>2]|0; + HEAP32[$19>>2] = 0; break; } - HEAP32[$0>>2] = 0; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + HEAP32[$4>>2] = 0; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); } } while(0); - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3SrcListEnlarge($14,$15,1,$17)|0); - HEAP32[$2>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 69|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)!=(0); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$2>>2]|0; - _sqlite3SrcListDelete($23,$24); - HEAP32[$0>>2] = 0; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3SrcListEnlarge($20,$21,1,$23)|0); + HEAP32[$6>>2] = $24; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 69|0); + $27 = HEAP8[$26>>0]|0; + $28 = ($27<<24>>24)!=(0); + if ($28) { + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$6>>2]|0; + _sqlite3SrcListDelete($29,$30); + HEAP32[$4>>2] = 0; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); } - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = (($26) - 1)|0; - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 8|0); - $30 = (($29) + (($27*72)|0)|0); - HEAP32[$pItem>>2] = $30; - $31 = HEAP32[$4>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { - $33 = HEAP32[$4>>2]|0; - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - HEAP32[$4>>2] = 0; + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$6>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = (($34) - 1)|0; + $36 = (($32) + (($35*72)|0)|0); + HEAP32[$9>>2] = $36; + $37 = HEAP32[$8>>2]|0; + $38 = ($37|0)!=(0|0); + if ($38) { + $39 = HEAP32[$8>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)==(0|0); + if ($41) { + HEAP32[$8>>2] = 0; } } - $36 = HEAP32[$4>>2]|0; - $37 = ($36|0)!=(0|0); - if ($37) { - $38 = HEAP32[$4>>2]|0; - HEAP32[$pTemp>>2] = $38; - $39 = HEAP32[$3>>2]|0; - HEAP32[$4>>2] = $39; - $40 = HEAP32[$pTemp>>2]|0; - HEAP32[$3>>2] = $40; - } - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$3>>2]|0; - $43 = (_sqlite3NameFromToken($41,$42)|0); - $44 = HEAP32[$pItem>>2]|0; - $45 = ((($44)) + 8|0); - HEAP32[$45>>2] = $43; - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$4>>2]|0; - $48 = (_sqlite3NameFromToken($46,$47)|0); - $49 = HEAP32[$pItem>>2]|0; - $50 = ((($49)) + 4|0); - HEAP32[$50>>2] = $48; - $51 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $51; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + $42 = HEAP32[$8>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + $44 = HEAP32[$8>>2]|0; + HEAP32[$10>>2] = $44; + $45 = HEAP32[$7>>2]|0; + HEAP32[$8>>2] = $45; + $46 = HEAP32[$10>>2]|0; + HEAP32[$7>>2] = $46; + } + $47 = HEAP32[$5>>2]|0; + $48 = HEAP32[$7>>2]|0; + $49 = (_sqlite3NameFromToken($47,$48)|0); + $50 = HEAP32[$9>>2]|0; + $51 = ((($50)) + 8|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$5>>2]|0; + $53 = HEAP32[$8>>2]|0; + $54 = (_sqlite3NameFromToken($52,$53)|0); + $55 = HEAP32[$9>>2]|0; + $56 = ((($55)) + 4|0); + HEAP32[$56>>2] = $54; + $57 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $57; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); } -function _sqlite3JoinType($pParse,$pA,$pB,$pC) { - $pParse = $pParse|0; - $pA = $pA|0; - $pB = $pB|0; - $pC = $pC|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $apAll = 0; - var $i = 0, $j = 0, $jointype = 0, $p = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $zSp = 0, label = 0, sp = 0; +function _sqlite3JoinType($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, $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, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $jointype = sp + 48|0; - $apAll = sp + 36|0; - $p = sp + 32|0; - $i = sp + 28|0; - $j = sp + 24|0; - $zSp = sp + 20|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pA; - HEAP32[$2>>2] = $pB; - HEAP32[$3>>2] = $pC; - HEAP32[$jointype>>2] = 0; - $4 = HEAP32[$1>>2]|0; - HEAP32[$apAll>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = ((($apAll)) + 4|0); - HEAP32[$6>>2] = $5; - $7 = HEAP32[$3>>2]|0; - $8 = ((($apAll)) + 8|0); - HEAP32[$8>>2] = $7; - HEAP32[$i>>2] = 0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $14 = HEAP32[$5>>2]|0; + HEAP32[$9>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = ((($9)) + 4|0); + HEAP32[$16>>2] = $15; + $17 = HEAP32[$7>>2]|0; + $18 = ((($9)) + 8|0); + HEAP32[$18>>2] = $17; + HEAP32[$11>>2] = 0; while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = ($9|0)<(3); - if (!($10)) { + $19 = HEAP32[$11>>2]|0; + $20 = ($19|0)<(3); + if (!($20)) { break; } - $11 = HEAP32[$i>>2]|0; - $12 = (($apAll) + ($11<<2)|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { + $21 = HEAP32[$11>>2]|0; + $22 = (($9) + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { break; } - $15 = HEAP32[$i>>2]|0; - $16 = (($apAll) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$p>>2] = $17; - HEAP32[$j>>2] = 0; + $25 = HEAP32[$11>>2]|0; + $26 = (($9) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$10>>2] = $27; + HEAP32[$12>>2] = 0; while(1) { - $18 = HEAP32[$j>>2]|0; - $19 = ($18|0)<(7); - if (!($19)) { + $28 = HEAP32[$12>>2]|0; + $29 = ($28|0)<(7); + if (!($29)) { break; } - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$j>>2]|0; - $24 = (35374 + (($23*3)|0)|0); - $25 = ((($24)) + 1|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($22|0)==($27|0); - if ($28) { - $29 = HEAP32[$p>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$j>>2]|0; - $32 = (35374 + (($31*3)|0)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = (35395 + ($34)|0); - $36 = HEAP32[$p>>2]|0; - $37 = ((($36)) + 4|0); - $38 = HEAP32[$37>>2]|0; - $39 = (_sqlite3_strnicmp($30,$35,$38)|0); - $40 = ($39|0)==(0); - if ($40) { + $30 = HEAP32[$10>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$12>>2]|0; + $34 = (34821 + (($33*3)|0)|0); + $35 = ((($34)) + 1|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = ($32|0)==($37|0); + if ($38) { + $39 = HEAP32[$10>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$12>>2]|0; + $42 = (34821 + (($41*3)|0)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + $45 = (34842 + ($44)|0); + $46 = HEAP32[$10>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = (_sqlite3_strnicmp($40,$45,$48)|0); + $50 = ($49|0)==(0); + if ($50) { label = 8; break; } } - $48 = HEAP32[$j>>2]|0; - $49 = (($48) + 1)|0; - HEAP32[$j>>2] = $49; + $58 = HEAP32[$12>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$12>>2] = $59; } if ((label|0) == 8) { label = 0; - $41 = HEAP32[$j>>2]|0; - $42 = (35374 + (($41*3)|0)|0); - $43 = ((($42)) + 2|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = HEAP32[$jointype>>2]|0; - $47 = $46 | $45; - HEAP32[$jointype>>2] = $47; + $51 = HEAP32[$12>>2]|0; + $52 = (34821 + (($51*3)|0)|0); + $53 = ((($52)) + 2|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = HEAP32[$8>>2]|0; + $57 = $56 | $55; + HEAP32[$8>>2] = $57; } - $50 = HEAP32[$j>>2]|0; - $51 = ($50|0)>=(7); - if ($51) { + $60 = HEAP32[$12>>2]|0; + $61 = ($60|0)>=(7); + if ($61) { label = 11; break; } - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; + $64 = HEAP32[$11>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$11>>2] = $65; } if ((label|0) == 11) { - $52 = HEAP32[$jointype>>2]|0; - $53 = $52 | 64; - HEAP32[$jointype>>2] = $53; + $62 = HEAP32[$8>>2]|0; + $63 = $62 | 64; + HEAP32[$8>>2] = $63; } - $56 = HEAP32[$jointype>>2]|0; - $57 = $56 & 33; - $58 = ($57|0)==(33); - if (!($58)) { - $59 = HEAP32[$jointype>>2]|0; - $60 = $59 & 64; - $61 = ($60|0)!=(0); - if (!($61)) { - $71 = HEAP32[$jointype>>2]|0; - $72 = $71 & 32; - $73 = ($72|0)!=(0); - if (!($73)) { - $78 = HEAP32[$jointype>>2]|0; - STACKTOP = sp;return ($78|0); + $66 = HEAP32[$8>>2]|0; + $67 = $66 & 33; + $68 = ($67|0)==(33); + if (!($68)) { + $69 = HEAP32[$8>>2]|0; + $70 = $69 & 64; + $71 = ($70|0)!=(0); + if (!($71)) { + $81 = HEAP32[$8>>2]|0; + $82 = $81 & 32; + $83 = ($82|0)!=(0); + if (!($83)) { + $88 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($88|0); } - $74 = HEAP32[$jointype>>2]|0; - $75 = $74 & 24; - $76 = ($75|0)!=(8); - if (!($76)) { - $78 = HEAP32[$jointype>>2]|0; - STACKTOP = sp;return ($78|0); + $84 = HEAP32[$8>>2]|0; + $85 = $84 & 24; + $86 = ($85|0)!=(8); + if (!($86)) { + $88 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($88|0); } - $77 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($77,35475,$vararg_buffer4); - HEAP32[$jointype>>2] = 1; - $78 = HEAP32[$jointype>>2]|0; - STACKTOP = sp;return ($78|0); + $87 = HEAP32[$4>>2]|0; + _sqlite3ErrorMsg($87,34920,$vararg_buffer4); + HEAP32[$8>>2] = 1; + $88 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($88|0); } } - HEAP32[$zSp>>2] = 35429; - $62 = HEAP32[$3>>2]|0; - $63 = ($62|0)==(0|0); - if ($63) { - $64 = HEAP32[$zSp>>2]|0; - $65 = ((($64)) + 1|0); - HEAP32[$zSp>>2] = $65; + HEAP32[$13>>2] = 23021; + $72 = HEAP32[$7>>2]|0; + $73 = ($72|0)==(0|0); + if ($73) { + $74 = HEAP32[$13>>2]|0; + $75 = ((($74)) + 1|0); + HEAP32[$13>>2] = $75; } - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$1>>2]|0; - $68 = HEAP32[$2>>2]|0; - $69 = HEAP32[$zSp>>2]|0; - $70 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer>>2] = $67; + $76 = HEAP32[$4>>2]|0; + $77 = HEAP32[$5>>2]|0; + $78 = HEAP32[$6>>2]|0; + $79 = HEAP32[$13>>2]|0; + $80 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $77; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $68; + HEAP32[$vararg_ptr1>>2] = $78; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $69; + HEAP32[$vararg_ptr2>>2] = $79; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $70; - _sqlite3ErrorMsg($66,35431,$vararg_buffer); - HEAP32[$jointype>>2] = 1; - $78 = HEAP32[$jointype>>2]|0; - STACKTOP = sp;return ($78|0); + HEAP32[$vararg_ptr3>>2] = $80; + _sqlite3ErrorMsg($76,34876,$vararg_buffer); + HEAP32[$8>>2] = 1; + $88 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($88|0); } -function _sqlite3ExprListSetSortOrder($p,$iSortOrder) { - $p = $p|0; - $iSortOrder = $iSortOrder|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; +function _sqlite3ExprListSetSortOrder($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iSortOrder; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)==(0|0); - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)<(0); - $or$cond = $3 | $5; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)==(0|0); + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)<(0); + $or$cond = $5 | $7; if ($or$cond) { STACKTOP = sp;return; } - $6 = HEAP32[$1>>2]|0; - $7 = $6&255; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = (($9) - 1)|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + (($10*20)|0)|0); - $15 = ((($14)) + 12|0); - HEAP8[$15>>0] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = $8&255; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (($14) - 1)|0; + $16 = (($12) + (($15*20)|0)|0); + $17 = ((($16)) + 12|0); + HEAP8[$17>>0] = $9; STACKTOP = sp;return; } -function _sqlite3WithPush($pParse,$pWith,$bFree) { - $pParse = $pParse|0; - $pWith = $pWith|0; - $bFree = $bFree|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3WithPush($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - $2 = sp + 8|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pWith; - HEAP8[$2>>0] = $bFree; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 472|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 4|0); - HEAP32[$9>>2] = $7; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 472|0); + $3 = sp + 4|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP8[$5>>0] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 472|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 4|0); HEAP32[$12>>2] = $10; - $13 = HEAP8[$2>>0]|0; - $14 = ($13<<24>>24)!=(0); - if (!($14)) { + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 472|0); + HEAP32[$15>>2] = $13; + $16 = HEAP8[$5>>0]|0; + $17 = ($16<<24>>24)!=(0); + if (!($17)) { STACKTOP = sp;return; } - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 476|0); - HEAP32[$17>>2] = $15; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 476|0); + HEAP32[$20>>2] = $18; STACKTOP = sp;return; } -function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { - $pParse = $pParse|0; - $pTabList = $pTabList|0; - $pWhere = $pWhere|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $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, $aToOpen = 0, $addrBypass = 0, $addrEphOpen = 0; - var $addrLoop = 0, $aiCurOnePass = 0, $bComplex = 0, $count = 0, $db = 0, $eOnePass = 0, $i = 0, $iAddrOnce = 0, $iDataCur = 0, $iDb = 0, $iEphCur = 0, $iIdxCur = 0, $iIdxNoSeek = 0, $iKey = 0, $iPk = 0, $iRowSet = 0, $iTabCur = 0, $isView = 0, $memCnt = 0, $nIdx = 0; - var $nKey = 0, $nPk = 0, $or$cond = 0, $or$cond$not = 0, $or$cond3 = 0, $pIdx = 0, $pPk = 0, $pTab = 0, $pTrigger = 0, $pVTab = 0, $pWInfo = 0, $rcauth = 0, $sContext = 0, $sNC = 0, $v = 0, $wcf = 0, label = 0, sp = 0; +function _sqlite3DeleteFrom($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; + var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; + var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; + var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0; + var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0; + var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0; + var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0; + var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; + var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0; + var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0; + var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond$not = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 192|0; - $0 = sp + 176|0; - $1 = sp + 172|0; - $2 = sp + 168|0; - $v = sp + 164|0; - $pTab = sp + 160|0; - $i = sp + 156|0; - $pWInfo = sp + 152|0; - $pIdx = sp + 148|0; - $iTabCur = sp + 144|0; - $iDataCur = sp + 140|0; - $iIdxCur = sp + 136|0; - $nIdx = sp + 132|0; - $db = sp + 128|0; - $sContext = sp + 120|0; - $sNC = sp + 88|0; - $iDb = sp + 84|0; - $memCnt = sp + 80|0; - $rcauth = sp + 76|0; - $eOnePass = sp + 72|0; - $aiCurOnePass = sp + 64|0; - $aToOpen = sp + 60|0; - $pPk = sp + 56|0; - $iPk = sp + 52|0; - $nPk = sp + 184|0; - $iKey = sp + 48|0; - $nKey = sp + 182|0; - $iEphCur = sp + 44|0; - $iRowSet = sp + 40|0; - $addrBypass = sp + 36|0; - $addrLoop = sp + 32|0; - $addrEphOpen = sp + 28|0; - $bComplex = sp + 24|0; - $isView = sp + 20|0; - $pTrigger = sp + 16|0; - $wcf = sp + 180|0; - $iAddrOnce = sp + 12|0; - $pVTab = sp + 8|0; - $count = sp + 4|0; - $iIdxNoSeek = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTabList; - HEAP32[$2>>2] = $pWhere; - HEAP32[$iDataCur>>2] = 0; - HEAP32[$iIdxCur>>2] = 0; - HEAP32[$memCnt>>2] = -1; - HEAP32[$aToOpen>>2] = 0; - HEAP32[$iPk>>2] = 0; - HEAP16[$nPk>>1] = 1; - HEAP32[$iEphCur>>2] = 0; - HEAP32[$iRowSet>>2] = 0; - HEAP32[$addrBypass>>2] = 0; - HEAP32[$addrLoop>>2] = 0; - HEAP32[$addrEphOpen>>2] = 0; - ;HEAP32[$sContext>>2]=0|0;HEAP32[$sContext+4>>2]=0|0; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0); + $3 = sp + 176|0; + $4 = sp + 172|0; + $5 = sp + 168|0; + $6 = sp + 164|0; + $7 = sp + 160|0; + $8 = sp + 156|0; + $9 = sp + 152|0; + $10 = sp + 148|0; + $11 = sp + 144|0; + $12 = sp + 140|0; + $13 = sp + 136|0; + $14 = sp + 132|0; + $15 = sp + 128|0; + $16 = sp + 120|0; + $17 = sp + 88|0; + $18 = sp + 84|0; + $19 = sp + 80|0; + $20 = sp + 76|0; + $21 = sp + 72|0; + $22 = sp + 64|0; + $23 = sp + 60|0; + $24 = sp + 56|0; + $25 = sp + 52|0; + $26 = sp + 184|0; + $27 = sp + 48|0; + $28 = sp + 182|0; + $29 = sp + 44|0; + $30 = sp + 40|0; + $31 = sp + 36|0; + $32 = sp + 32|0; + $33 = sp + 28|0; + $34 = sp + 24|0; + $35 = sp + 20|0; + $36 = sp + 16|0; + $37 = sp + 180|0; + $38 = sp + 12|0; + $39 = sp + 8|0; + $40 = sp + 4|0; + $41 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$19>>2] = -1; + HEAP32[$23>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP16[$26>>1] = 1; + HEAP32[$29>>2] = 0; + HEAP32[$30>>2] = 0; + HEAP32[$31>>2] = 0; + HEAP32[$32>>2] = 0; + HEAP32[$33>>2] = 0; + ;HEAP32[$16>>2]=0|0;HEAP32[$16+4>>2]=0|0; + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$42>>2]|0; + HEAP32[$15>>2] = $43; + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 36|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)!=(0); L1: do { - if (!($8)) { - $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 69|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)!=(0); - if (!($13)) { - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = (_sqlite3SrcListLookup($14,$15)|0); - HEAP32[$pTab>>2] = $16; - $17 = HEAP32[$pTab>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$pTab>>2]|0; - $21 = (_sqlite3TriggersExist($19,$20,109,0,0)|0); - HEAP32[$pTrigger>>2] = $21; - $22 = HEAP32[$pTab>>2]|0; - $23 = ((($22)) + 12|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)!=(0|0); - $26 = $25&1; - HEAP32[$isView>>2] = $26; - $27 = HEAP32[$pTrigger>>2]|0; - $28 = ($27|0)!=(0|0); - if ($28) { - $34 = 1; + if (!($47)) { + $48 = HEAP32[$15>>2]|0; + $49 = ((($48)) + 69|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = ($51|0)!=(0); + if (!($52)) { + $53 = HEAP32[$3>>2]|0; + $54 = HEAP32[$4>>2]|0; + $55 = (_sqlite3SrcListLookup($53,$54)|0); + HEAP32[$7>>2] = $55; + $56 = HEAP32[$7>>2]|0; + $57 = ($56|0)==(0|0); + if (!($57)) { + $58 = HEAP32[$3>>2]|0; + $59 = HEAP32[$7>>2]|0; + $60 = (_sqlite3TriggersExist($58,$59,109,0,0)|0); + HEAP32[$36>>2] = $60; + $61 = HEAP32[$7>>2]|0; + $62 = ((($61)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($63|0)!=(0|0); + $65 = $64&1; + HEAP32[$35>>2] = $65; + $66 = HEAP32[$36>>2]|0; + $67 = ($66|0)!=(0|0); + if ($67) { + $73 = 1; } else { - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$pTab>>2]|0; - $31 = (_sqlite3FkRequired($29,$30,0,0)|0); - $32 = ($31|0)!=(0); - $34 = $32; - } - $33 = $34&1; - HEAP32[$bComplex>>2] = $33; - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$pTab>>2]|0; - $37 = (_sqlite3ViewGetColumnNames($35,$36)|0); - $38 = ($37|0)!=(0); - if (!($38)) { - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$pTab>>2]|0; - $41 = HEAP32[$pTrigger>>2]|0; - $42 = ($41|0)!=(0|0); - $43 = $42 ? 1 : 0; - $44 = (_sqlite3IsReadOnly($39,$40,$43)|0); - $45 = ($44|0)!=(0); - if (!($45)) { - $46 = HEAP32[$db>>2]|0; - $47 = HEAP32[$pTab>>2]|0; - $48 = ((($47)) + 64|0); - $49 = HEAP32[$48>>2]|0; - $50 = (_sqlite3SchemaToIndex($46,$49)|0); - HEAP32[$iDb>>2] = $50; - $51 = HEAP32[$0>>2]|0; - $52 = HEAP32[$pTab>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$iDb>>2]|0; - $55 = HEAP32[$db>>2]|0; - $56 = ((($55)) + 16|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + ($54<<4)|0); - $59 = HEAP32[$58>>2]|0; - $60 = (_sqlite3AuthCheck($51,9,$53,0,$59)|0); - HEAP32[$rcauth>>2] = $60; - $61 = HEAP32[$rcauth>>2]|0; - $62 = ($61|0)==(1); - if (!($62)) { - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 40|0); - $65 = HEAP32[$64>>2]|0; - $66 = (($65) + 1)|0; - HEAP32[$64>>2] = $66; - $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 8|0); - $69 = ((($68)) + 44|0); - HEAP32[$69>>2] = $65; - HEAP32[$iTabCur>>2] = $65; - HEAP32[$nIdx>>2] = 0; - $70 = HEAP32[$pTab>>2]|0; - $71 = ((($70)) + 8|0); - $72 = HEAP32[$71>>2]|0; - HEAP32[$pIdx>>2] = $72; + $68 = HEAP32[$3>>2]|0; + $69 = HEAP32[$7>>2]|0; + $70 = (_sqlite3FkRequired($68,$69,0,0)|0); + $71 = ($70|0)!=(0); + $73 = $71; + } + $72 = $73&1; + HEAP32[$34>>2] = $72; + $74 = HEAP32[$3>>2]|0; + $75 = HEAP32[$7>>2]|0; + $76 = (_sqlite3ViewGetColumnNames($74,$75)|0); + $77 = ($76|0)!=(0); + if (!($77)) { + $78 = HEAP32[$3>>2]|0; + $79 = HEAP32[$7>>2]|0; + $80 = HEAP32[$36>>2]|0; + $81 = ($80|0)!=(0|0); + $82 = $81 ? 1 : 0; + $83 = (_sqlite3IsReadOnly($78,$79,$82)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + $85 = HEAP32[$15>>2]|0; + $86 = HEAP32[$7>>2]|0; + $87 = ((($86)) + 64|0); + $88 = HEAP32[$87>>2]|0; + $89 = (_sqlite3SchemaToIndex($85,$88)|0); + HEAP32[$18>>2] = $89; + $90 = HEAP32[$3>>2]|0; + $91 = HEAP32[$7>>2]|0; + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$15>>2]|0; + $94 = ((($93)) + 16|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$18>>2]|0; + $97 = (($95) + ($96<<4)|0); + $98 = HEAP32[$97>>2]|0; + $99 = (_sqlite3AuthCheck($90,9,$92,0,$98)|0); + HEAP32[$20>>2] = $99; + $100 = HEAP32[$20>>2]|0; + $101 = ($100|0)==(1); + if (!($101)) { + $102 = HEAP32[$3>>2]|0; + $103 = ((($102)) + 40|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($104) + 1)|0; + HEAP32[$103>>2] = $105; + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 8|0); + $108 = ((($107)) + 44|0); + HEAP32[$108>>2] = $104; + HEAP32[$11>>2] = $104; + HEAP32[$14>>2] = 0; + $109 = HEAP32[$7>>2]|0; + $110 = ((($109)) + 8|0); + $111 = HEAP32[$110>>2]|0; + HEAP32[$10>>2] = $111; while(1) { - $73 = HEAP32[$pIdx>>2]|0; - $74 = ($73|0)!=(0|0); - if (!($74)) { + $112 = HEAP32[$10>>2]|0; + $113 = ($112|0)!=(0|0); + if (!($113)) { break; } - $75 = HEAP32[$0>>2]|0; - $76 = ((($75)) + 40|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77) + 1)|0; - HEAP32[$76>>2] = $78; - $79 = HEAP32[$pIdx>>2]|0; - $80 = ((($79)) + 20|0); - $81 = HEAP32[$80>>2]|0; - HEAP32[$pIdx>>2] = $81; - $82 = HEAP32[$nIdx>>2]|0; - $83 = (($82) + 1)|0; - HEAP32[$nIdx>>2] = $83; + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + 40|0); + $116 = HEAP32[$115>>2]|0; + $117 = (($116) + 1)|0; + HEAP32[$115>>2] = $117; + $118 = HEAP32[$10>>2]|0; + $119 = ((($118)) + 20|0); + $120 = HEAP32[$119>>2]|0; + HEAP32[$10>>2] = $120; + $121 = HEAP32[$14>>2]|0; + $122 = (($121) + 1)|0; + HEAP32[$14>>2] = $122; } - $84 = HEAP32[$isView>>2]|0; - $85 = ($84|0)!=(0); - if ($85) { - $86 = HEAP32[$0>>2]|0; - $87 = HEAP32[$pTab>>2]|0; - $88 = HEAP32[$87>>2]|0; - _sqlite3AuthContextPush($86,$sContext,$88); + $123 = HEAP32[$35>>2]|0; + $124 = ($123|0)!=(0); + if ($124) { + $125 = HEAP32[$3>>2]|0; + $126 = HEAP32[$7>>2]|0; + $127 = HEAP32[$126>>2]|0; + _sqlite3AuthContextPush($125,$16,$127); } - $89 = HEAP32[$0>>2]|0; - $90 = (_sqlite3GetVdbe($89)|0); - HEAP32[$v>>2] = $90; - $91 = HEAP32[$v>>2]|0; - $92 = ($91|0)==(0|0); - if (!($92)) { - $93 = HEAP32[$0>>2]|0; - $94 = ((($93)) + 18|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = ($96|0)==(0); - if ($97) { - $98 = HEAP32[$v>>2]|0; - _sqlite3VdbeCountChanges($98); + $128 = HEAP32[$3>>2]|0; + $129 = (_sqlite3GetVdbe($128)|0); + HEAP32[$6>>2] = $129; + $130 = HEAP32[$6>>2]|0; + $131 = ($130|0)==(0|0); + if (!($131)) { + $132 = HEAP32[$3>>2]|0; + $133 = ((($132)) + 18|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134&255; + $136 = ($135|0)==(0); + if ($136) { + $137 = HEAP32[$6>>2]|0; + _sqlite3VdbeCountChanges($137); } - $99 = HEAP32[$0>>2]|0; - $100 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($99,1,$100); - $101 = HEAP32[$isView>>2]|0; - $102 = ($101|0)!=(0); - if ($102) { - $103 = HEAP32[$0>>2]|0; - $104 = HEAP32[$pTab>>2]|0; - $105 = HEAP32[$2>>2]|0; - $106 = HEAP32[$iTabCur>>2]|0; - _sqlite3MaterializeView($103,$104,$105,$106); - $107 = HEAP32[$iTabCur>>2]|0; - HEAP32[$iIdxCur>>2] = $107; - HEAP32[$iDataCur>>2] = $107; + $138 = HEAP32[$3>>2]|0; + $139 = HEAP32[$18>>2]|0; + _sqlite3BeginWriteOperation($138,1,$139); + $140 = HEAP32[$35>>2]|0; + $141 = ($140|0)!=(0); + if ($141) { + $142 = HEAP32[$3>>2]|0; + $143 = HEAP32[$7>>2]|0; + $144 = HEAP32[$5>>2]|0; + $145 = HEAP32[$11>>2]|0; + _sqlite3MaterializeView($142,$143,$144,$145); + $146 = HEAP32[$11>>2]|0; + HEAP32[$13>>2] = $146; + HEAP32[$12>>2] = $146; } - ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $108 = HEAP32[$0>>2]|0; - HEAP32[$sNC>>2] = $108; - $109 = HEAP32[$1>>2]|0; - $110 = ((($sNC)) + 4|0); - HEAP32[$110>>2] = $109; - $111 = HEAP32[$2>>2]|0; - $112 = (_sqlite3ResolveExprNames($sNC,$111)|0); - $113 = ($112|0)!=(0); - if (!($113)) { - $114 = HEAP32[$db>>2]|0; - $115 = ((($114)) + 24|0); - $116 = HEAP32[$115>>2]|0; - $117 = $116 & 128; - $118 = ($117|0)!=(0); - if ($118) { - $119 = HEAP32[$0>>2]|0; - $120 = ((($119)) + 44|0); - $121 = HEAP32[$120>>2]|0; - $122 = (($121) + 1)|0; - HEAP32[$120>>2] = $122; - HEAP32[$memCnt>>2] = $122; - $123 = HEAP32[$v>>2]|0; - $124 = HEAP32[$memCnt>>2]|0; - (_sqlite3VdbeAddOp2($123,76,0,$124)|0); + ;HEAP32[$17>>2]=0|0;HEAP32[$17+4>>2]=0|0;HEAP32[$17+8>>2]=0|0;HEAP32[$17+12>>2]=0|0;HEAP32[$17+16>>2]=0|0;HEAP32[$17+20>>2]=0|0;HEAP32[$17+24>>2]=0|0;HEAP32[$17+28>>2]=0|0; + $147 = HEAP32[$3>>2]|0; + HEAP32[$17>>2] = $147; + $148 = HEAP32[$4>>2]|0; + $149 = ((($17)) + 4|0); + HEAP32[$149>>2] = $148; + $150 = HEAP32[$5>>2]|0; + $151 = (_sqlite3ResolveExprNames($17,$150)|0); + $152 = ($151|0)!=(0); + if (!($152)) { + $153 = HEAP32[$15>>2]|0; + $154 = ((($153)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = $155 & 128; + $157 = ($156|0)!=(0); + if ($157) { + $158 = HEAP32[$3>>2]|0; + $159 = ((($158)) + 44|0); + $160 = HEAP32[$159>>2]|0; + $161 = (($160) + 1)|0; + HEAP32[$159>>2] = $161; + HEAP32[$19>>2] = $161; + $162 = HEAP32[$6>>2]|0; + $163 = HEAP32[$19>>2]|0; + (_sqlite3VdbeAddOp2($162,76,0,$163)|0); } - $125 = HEAP32[$rcauth>>2]|0; - $126 = ($125|0)==(0); - $127 = HEAP32[$2>>2]|0; - $128 = ($127|0)==(0|0); - $or$cond = $126 & $128; + $164 = HEAP32[$20>>2]|0; + $165 = ($164|0)==(0); + $166 = HEAP32[$5>>2]|0; + $167 = ($166|0)==(0|0); + $or$cond = $165 & $167; $or$cond$not = $or$cond ^ 1; - $129 = HEAP32[$bComplex>>2]|0; - $130 = ($129|0)!=(0); - $or$cond3 = $or$cond$not | $130; + $168 = HEAP32[$34>>2]|0; + $169 = ($168|0)!=(0); + $or$cond3 = $or$cond$not | $169; L29: do { if ($or$cond3) { label = 29; } else { - $131 = HEAP32[$pTab>>2]|0; - $132 = ((($131)) + 42|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = $134 & 16; - $136 = ($135|0)!=(0); - if ($136) { + $170 = HEAP32[$7>>2]|0; + $171 = ((($170)) + 42|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = $173 & 16; + $175 = ($174|0)!=(0); + if ($175) { label = 29; } else { - $137 = HEAP32[$0>>2]|0; - $138 = HEAP32[$iDb>>2]|0; - $139 = HEAP32[$pTab>>2]|0; - $140 = ((($139)) + 28|0); - $141 = HEAP32[$140>>2]|0; - $142 = HEAP32[$pTab>>2]|0; - $143 = HEAP32[$142>>2]|0; - _sqlite3TableLock($137,$138,$141,1,$143); - $144 = HEAP32[$pTab>>2]|0; - $145 = ((($144)) + 42|0); - $146 = HEAP8[$145>>0]|0; - $147 = $146&255; - $148 = $147 & 32; - $149 = ($148|0)==(0); - if ($149) { - $150 = HEAP32[$v>>2]|0; - $151 = HEAP32[$pTab>>2]|0; - $152 = ((($151)) + 28|0); - $153 = HEAP32[$152>>2]|0; - $154 = HEAP32[$iDb>>2]|0; - $155 = HEAP32[$memCnt>>2]|0; - $156 = HEAP32[$pTab>>2]|0; - $157 = HEAP32[$156>>2]|0; - (_sqlite3VdbeAddOp4($150,131,$153,$154,$155,$157,-2)|0); + $176 = HEAP32[$3>>2]|0; + $177 = HEAP32[$18>>2]|0; + $178 = HEAP32[$7>>2]|0; + $179 = ((($178)) + 28|0); + $180 = HEAP32[$179>>2]|0; + $181 = HEAP32[$7>>2]|0; + $182 = HEAP32[$181>>2]|0; + _sqlite3TableLock($176,$177,$180,1,$182); + $183 = HEAP32[$7>>2]|0; + $184 = ((($183)) + 42|0); + $185 = HEAP8[$184>>0]|0; + $186 = $185&255; + $187 = $186 & 32; + $188 = ($187|0)==(0); + if ($188) { + $189 = HEAP32[$6>>2]|0; + $190 = HEAP32[$7>>2]|0; + $191 = ((($190)) + 28|0); + $192 = HEAP32[$191>>2]|0; + $193 = HEAP32[$18>>2]|0; + $194 = HEAP32[$19>>2]|0; + $195 = HEAP32[$7>>2]|0; + $196 = HEAP32[$195>>2]|0; + (_sqlite3VdbeAddOp4($189,131,$192,$193,$194,$196,-2)|0); } - $158 = HEAP32[$pTab>>2]|0; - $159 = ((($158)) + 8|0); - $160 = HEAP32[$159>>2]|0; - HEAP32[$pIdx>>2] = $160; + $197 = HEAP32[$7>>2]|0; + $198 = ((($197)) + 8|0); + $199 = HEAP32[$198>>2]|0; + HEAP32[$10>>2] = $199; while(1) { - $161 = HEAP32[$pIdx>>2]|0; - $162 = ($161|0)!=(0|0); - if (!($162)) { + $200 = HEAP32[$10>>2]|0; + $201 = ($200|0)!=(0|0); + if (!($201)) { break L29; } - $163 = HEAP32[$v>>2]|0; - $164 = HEAP32[$pIdx>>2]|0; - $165 = ((($164)) + 44|0); - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp2($163,131,$166,$167)|0); - $168 = HEAP32[$pIdx>>2]|0; - $169 = ((($168)) + 20|0); - $170 = HEAP32[$169>>2]|0; - HEAP32[$pIdx>>2] = $170; + $202 = HEAP32[$6>>2]|0; + $203 = HEAP32[$10>>2]|0; + $204 = ((($203)) + 44|0); + $205 = HEAP32[$204>>2]|0; + $206 = HEAP32[$18>>2]|0; + (_sqlite3VdbeAddOp2($202,131,$205,$206)|0); + $207 = HEAP32[$10>>2]|0; + $208 = ((($207)) + 20|0); + $209 = HEAP32[$208>>2]|0; + HEAP32[$10>>2] = $209; } } } } while(0); L38: do { if ((label|0) == 29) { - HEAP16[$wcf>>1] = 1044; - $171 = ((($sNC)) + 28|0); - $172 = HEAP16[$171>>1]|0; - $173 = $172&65535; - $174 = $173 & 64; - $175 = ($174|0)!=(0); - if ($175) { - HEAP32[$bComplex>>2] = 1; + HEAP16[$37>>1] = 1044; + $210 = ((($17)) + 28|0); + $211 = HEAP16[$210>>1]|0; + $212 = $211&65535; + $213 = $212 & 64; + $214 = ($213|0)!=(0); + if ($214) { + HEAP32[$34>>2] = 1; } - $176 = HEAP32[$bComplex>>2]|0; - $177 = ($176|0)!=(0); - $178 = $177 ? 0 : 8; - $179 = HEAP16[$wcf>>1]|0; - $180 = $179&65535; - $181 = $180 | $178; - $182 = $181&65535; - HEAP16[$wcf>>1] = $182; - $183 = HEAP32[$pTab>>2]|0; - $184 = ((($183)) + 42|0); - $185 = HEAP8[$184>>0]|0; - $186 = $185&255; - $187 = $186 & 32; - $188 = ($187|0)==(0); - if ($188) { - HEAP32[$pPk>>2] = 0; - HEAP16[$nPk>>1] = 1; - $189 = HEAP32[$0>>2]|0; - $190 = ((($189)) + 44|0); - $191 = HEAP32[$190>>2]|0; - $192 = (($191) + 1)|0; - HEAP32[$190>>2] = $192; - HEAP32[$iRowSet>>2] = $192; - $193 = HEAP32[$v>>2]|0; - $194 = HEAP32[$iRowSet>>2]|0; - (_sqlite3VdbeAddOp2($193,79,0,$194)|0); + $215 = HEAP32[$34>>2]|0; + $216 = ($215|0)!=(0); + $217 = $216 ? 0 : 8; + $218 = HEAP16[$37>>1]|0; + $219 = $218&65535; + $220 = $219 | $217; + $221 = $220&65535; + HEAP16[$37>>1] = $221; + $222 = HEAP32[$7>>2]|0; + $223 = ((($222)) + 42|0); + $224 = HEAP8[$223>>0]|0; + $225 = $224&255; + $226 = $225 & 32; + $227 = ($226|0)==(0); + if ($227) { + HEAP32[$24>>2] = 0; + HEAP16[$26>>1] = 1; + $228 = HEAP32[$3>>2]|0; + $229 = ((($228)) + 44|0); + $230 = HEAP32[$229>>2]|0; + $231 = (($230) + 1)|0; + HEAP32[$229>>2] = $231; + HEAP32[$30>>2] = $231; + $232 = HEAP32[$6>>2]|0; + $233 = HEAP32[$30>>2]|0; + (_sqlite3VdbeAddOp2($232,79,0,$233)|0); } else { - $195 = HEAP32[$pTab>>2]|0; - $196 = (_sqlite3PrimaryKeyIndex($195)|0); - HEAP32[$pPk>>2] = $196; - $197 = HEAP32[$pPk>>2]|0; - $198 = ((($197)) + 50|0); - $199 = HEAP16[$198>>1]|0; - HEAP16[$nPk>>1] = $199; - $200 = HEAP32[$0>>2]|0; - $201 = ((($200)) + 44|0); - $202 = HEAP32[$201>>2]|0; - $203 = (($202) + 1)|0; - HEAP32[$iPk>>2] = $203; - $204 = HEAP16[$nPk>>1]|0; - $205 = $204 << 16 >> 16; - $206 = HEAP32[$0>>2]|0; - $207 = ((($206)) + 44|0); - $208 = HEAP32[$207>>2]|0; - $209 = (($208) + ($205))|0; - HEAP32[$207>>2] = $209; - $210 = HEAP32[$0>>2]|0; - $211 = ((($210)) + 40|0); - $212 = HEAP32[$211>>2]|0; - $213 = (($212) + 1)|0; - HEAP32[$211>>2] = $213; - HEAP32[$iEphCur>>2] = $212; - $214 = HEAP32[$v>>2]|0; - $215 = HEAP32[$iEphCur>>2]|0; - $216 = HEAP16[$nPk>>1]|0; - $217 = $216 << 16 >> 16; - $218 = (_sqlite3VdbeAddOp2($214,107,$215,$217)|0); - HEAP32[$addrEphOpen>>2] = $218; - $219 = HEAP32[$0>>2]|0; - $220 = HEAP32[$pPk>>2]|0; - _sqlite3VdbeSetP4KeyInfo($219,$220); + $234 = HEAP32[$7>>2]|0; + $235 = (_sqlite3PrimaryKeyIndex($234)|0); + HEAP32[$24>>2] = $235; + $236 = HEAP32[$24>>2]|0; + $237 = ((($236)) + 50|0); + $238 = HEAP16[$237>>1]|0; + HEAP16[$26>>1] = $238; + $239 = HEAP32[$3>>2]|0; + $240 = ((($239)) + 44|0); + $241 = HEAP32[$240>>2]|0; + $242 = (($241) + 1)|0; + HEAP32[$25>>2] = $242; + $243 = HEAP16[$26>>1]|0; + $244 = $243 << 16 >> 16; + $245 = HEAP32[$3>>2]|0; + $246 = ((($245)) + 44|0); + $247 = HEAP32[$246>>2]|0; + $248 = (($247) + ($244))|0; + HEAP32[$246>>2] = $248; + $249 = HEAP32[$3>>2]|0; + $250 = ((($249)) + 40|0); + $251 = HEAP32[$250>>2]|0; + $252 = (($251) + 1)|0; + HEAP32[$250>>2] = $252; + HEAP32[$29>>2] = $251; + $253 = HEAP32[$6>>2]|0; + $254 = HEAP32[$29>>2]|0; + $255 = HEAP16[$26>>1]|0; + $256 = $255 << 16 >> 16; + $257 = (_sqlite3VdbeAddOp2($253,107,$254,$256)|0); + HEAP32[$33>>2] = $257; + $258 = HEAP32[$3>>2]|0; + $259 = HEAP32[$24>>2]|0; + _sqlite3VdbeSetP4KeyInfo($258,$259); } - $221 = HEAP32[$0>>2]|0; - $222 = HEAP32[$1>>2]|0; - $223 = HEAP32[$2>>2]|0; - $224 = HEAP16[$wcf>>1]|0; - $225 = HEAP32[$iTabCur>>2]|0; - $226 = (($225) + 1)|0; - $227 = (_sqlite3WhereBegin($221,$222,$223,0,0,$224,$226)|0); - HEAP32[$pWInfo>>2] = $227; - $228 = HEAP32[$pWInfo>>2]|0; - $229 = ($228|0)==(0|0); - if ($229) { + $260 = HEAP32[$3>>2]|0; + $261 = HEAP32[$4>>2]|0; + $262 = HEAP32[$5>>2]|0; + $263 = HEAP16[$37>>1]|0; + $264 = HEAP32[$11>>2]|0; + $265 = (($264) + 1)|0; + $266 = (_sqlite3WhereBegin($260,$261,$262,0,0,$263,$265)|0); + HEAP32[$9>>2] = $266; + $267 = HEAP32[$9>>2]|0; + $268 = ($267|0)==(0|0); + if ($268) { break L1; } - $230 = HEAP32[$pWInfo>>2]|0; - $231 = (_sqlite3WhereOkOnePass($230,$aiCurOnePass)|0); - HEAP32[$eOnePass>>2] = $231; - $232 = HEAP32[$db>>2]|0; - $233 = ((($232)) + 24|0); - $234 = HEAP32[$233>>2]|0; - $235 = $234 & 128; - $236 = ($235|0)!=(0); - if ($236) { - $237 = HEAP32[$v>>2]|0; - $238 = HEAP32[$memCnt>>2]|0; - (_sqlite3VdbeAddOp2($237,91,$238,1)|0); + $269 = HEAP32[$9>>2]|0; + $270 = (_sqlite3WhereOkOnePass($269,$22)|0); + HEAP32[$21>>2] = $270; + $271 = HEAP32[$15>>2]|0; + $272 = ((($271)) + 24|0); + $273 = HEAP32[$272>>2]|0; + $274 = $273 & 128; + $275 = ($274|0)!=(0); + if ($275) { + $276 = HEAP32[$6>>2]|0; + $277 = HEAP32[$19>>2]|0; + (_sqlite3VdbeAddOp2($276,91,$277,1)|0); } - $239 = HEAP32[$pPk>>2]|0; - $240 = ($239|0)!=(0|0); + $278 = HEAP32[$24>>2]|0; + $279 = ($278|0)!=(0|0); do { - if ($240) { - HEAP32[$i>>2] = 0; + if ($279) { + HEAP32[$8>>2] = 0; while(1) { - $241 = HEAP32[$i>>2]|0; - $242 = HEAP16[$nPk>>1]|0; - $243 = $242 << 16 >> 16; - $244 = ($241|0)<($243|0); - if (!($244)) { + $280 = HEAP32[$8>>2]|0; + $281 = HEAP16[$26>>1]|0; + $282 = $281 << 16 >> 16; + $283 = ($280|0)<($282|0); + if (!($283)) { break; } - $245 = HEAP32[$v>>2]|0; - $246 = HEAP32[$pTab>>2]|0; - $247 = HEAP32[$iTabCur>>2]|0; - $248 = HEAP32[$i>>2]|0; - $249 = HEAP32[$pPk>>2]|0; - $250 = ((($249)) + 4|0); - $251 = HEAP32[$250>>2]|0; - $252 = (($251) + ($248<<1)|0); - $253 = HEAP16[$252>>1]|0; - $254 = $253 << 16 >> 16; - $255 = HEAP32[$iPk>>2]|0; - $256 = HEAP32[$i>>2]|0; - $257 = (($255) + ($256))|0; - _sqlite3ExprCodeGetColumnOfTable($245,$246,$247,$254,$257); - $258 = HEAP32[$i>>2]|0; - $259 = (($258) + 1)|0; - HEAP32[$i>>2] = $259; + $284 = HEAP32[$6>>2]|0; + $285 = HEAP32[$7>>2]|0; + $286 = HEAP32[$11>>2]|0; + $287 = HEAP32[$24>>2]|0; + $288 = ((($287)) + 4|0); + $289 = HEAP32[$288>>2]|0; + $290 = HEAP32[$8>>2]|0; + $291 = (($289) + ($290<<1)|0); + $292 = HEAP16[$291>>1]|0; + $293 = $292 << 16 >> 16; + $294 = HEAP32[$25>>2]|0; + $295 = HEAP32[$8>>2]|0; + $296 = (($294) + ($295))|0; + _sqlite3ExprCodeGetColumnOfTable($284,$285,$286,$293,$296); + $297 = HEAP32[$8>>2]|0; + $298 = (($297) + 1)|0; + HEAP32[$8>>2] = $298; } - $260 = HEAP32[$iPk>>2]|0; - HEAP32[$iKey>>2] = $260; + $299 = HEAP32[$25>>2]|0; + HEAP32[$27>>2] = $299; } else { - $261 = HEAP32[$0>>2]|0; - $262 = ((($261)) + 44|0); - $263 = HEAP32[$262>>2]|0; - $264 = (($263) + 1)|0; - HEAP32[$iKey>>2] = $264; - $265 = HEAP32[$0>>2]|0; - $266 = HEAP32[$pTab>>2]|0; - $267 = HEAP32[$iTabCur>>2]|0; - $268 = HEAP32[$iKey>>2]|0; - $269 = (_sqlite3ExprCodeGetColumn($265,$266,-1,$267,$268,0)|0); - HEAP32[$iKey>>2] = $269; - $270 = HEAP32[$iKey>>2]|0; - $271 = HEAP32[$0>>2]|0; - $272 = ((($271)) + 44|0); - $273 = HEAP32[$272>>2]|0; - $274 = ($270|0)>($273|0); - if (!($274)) { + $300 = HEAP32[$3>>2]|0; + $301 = ((($300)) + 44|0); + $302 = HEAP32[$301>>2]|0; + $303 = (($302) + 1)|0; + HEAP32[$27>>2] = $303; + $304 = HEAP32[$3>>2]|0; + $305 = HEAP32[$7>>2]|0; + $306 = HEAP32[$11>>2]|0; + $307 = HEAP32[$27>>2]|0; + $308 = (_sqlite3ExprCodeGetColumn($304,$305,-1,$306,$307,0)|0); + HEAP32[$27>>2] = $308; + $309 = HEAP32[$27>>2]|0; + $310 = HEAP32[$3>>2]|0; + $311 = ((($310)) + 44|0); + $312 = HEAP32[$311>>2]|0; + $313 = ($309|0)>($312|0); + if (!($313)) { break; } - $275 = HEAP32[$iKey>>2]|0; - $276 = HEAP32[$0>>2]|0; - $277 = ((($276)) + 44|0); - HEAP32[$277>>2] = $275; + $314 = HEAP32[$27>>2]|0; + $315 = HEAP32[$3>>2]|0; + $316 = ((($315)) + 44|0); + HEAP32[$316>>2] = $314; } } while(0); - $278 = HEAP32[$eOnePass>>2]|0; - $279 = ($278|0)!=(0); + $317 = HEAP32[$21>>2]|0; + $318 = ($317|0)!=(0); do { - if ($279) { - $280 = HEAP16[$nPk>>1]|0; - HEAP16[$nKey>>1] = $280; - $281 = HEAP32[$db>>2]|0; - $282 = HEAP32[$nIdx>>2]|0; - $283 = (($282) + 2)|0; - $284 = ($283|0)<(0); - $285 = $284 << 31 >> 31; - $286 = (_sqlite3DbMallocRawNN($281,$283,$285)|0); - HEAP32[$aToOpen>>2] = $286; - $287 = HEAP32[$aToOpen>>2]|0; - $288 = ($287|0)==(0|0); - if ($288) { - $289 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($289); + if ($318) { + $319 = HEAP16[$26>>1]|0; + HEAP16[$28>>1] = $319; + $320 = HEAP32[$15>>2]|0; + $321 = HEAP32[$14>>2]|0; + $322 = (($321) + 2)|0; + $323 = ($322|0)<(0); + $324 = $323 << 31 >> 31; + $325 = (_sqlite3DbMallocRawNN($320,$322,$324)|0); + HEAP32[$23>>2] = $325; + $326 = HEAP32[$23>>2]|0; + $327 = ($326|0)==(0|0); + if ($327) { + $328 = HEAP32[$9>>2]|0; + _sqlite3WhereEnd($328); break L1; } - $290 = HEAP32[$aToOpen>>2]|0; - $291 = HEAP32[$nIdx>>2]|0; - $292 = (($291) + 1)|0; - _memset(($290|0),1,($292|0))|0; - $293 = HEAP32[$nIdx>>2]|0; - $294 = (($293) + 1)|0; - $295 = HEAP32[$aToOpen>>2]|0; - $296 = (($295) + ($294)|0); - HEAP8[$296>>0] = 0; - $297 = HEAP32[$aiCurOnePass>>2]|0; - $298 = ($297|0)>=(0); - if ($298) { - $299 = HEAP32[$aiCurOnePass>>2]|0; - $300 = HEAP32[$iTabCur>>2]|0; - $301 = (($299) - ($300))|0; - $302 = HEAP32[$aToOpen>>2]|0; - $303 = (($302) + ($301)|0); - HEAP8[$303>>0] = 0; + $329 = HEAP32[$23>>2]|0; + $330 = HEAP32[$14>>2]|0; + $331 = (($330) + 1)|0; + _memset(($329|0),1,($331|0))|0; + $332 = HEAP32[$23>>2]|0; + $333 = HEAP32[$14>>2]|0; + $334 = (($333) + 1)|0; + $335 = (($332) + ($334)|0); + HEAP8[$335>>0] = 0; + $336 = HEAP32[$22>>2]|0; + $337 = ($336|0)>=(0); + if ($337) { + $338 = HEAP32[$23>>2]|0; + $339 = HEAP32[$22>>2]|0; + $340 = HEAP32[$11>>2]|0; + $341 = (($339) - ($340))|0; + $342 = (($338) + ($341)|0); + HEAP8[$342>>0] = 0; } - $304 = ((($aiCurOnePass)) + 4|0); - $305 = HEAP32[$304>>2]|0; - $306 = ($305|0)>=(0); - if ($306) { - $307 = ((($aiCurOnePass)) + 4|0); - $308 = HEAP32[$307>>2]|0; - $309 = HEAP32[$iTabCur>>2]|0; - $310 = (($308) - ($309))|0; - $311 = HEAP32[$aToOpen>>2]|0; - $312 = (($311) + ($310)|0); - HEAP8[$312>>0] = 0; + $343 = ((($22)) + 4|0); + $344 = HEAP32[$343>>2]|0; + $345 = ($344|0)>=(0); + if ($345) { + $346 = HEAP32[$23>>2]|0; + $347 = ((($22)) + 4|0); + $348 = HEAP32[$347>>2]|0; + $349 = HEAP32[$11>>2]|0; + $350 = (($348) - ($349))|0; + $351 = (($346) + ($350)|0); + HEAP8[$351>>0] = 0; } - $313 = HEAP32[$addrEphOpen>>2]|0; - $314 = ($313|0)!=(0); - if (!($314)) { + $352 = HEAP32[$33>>2]|0; + $353 = ($352|0)!=(0); + if (!($353)) { break; } - $315 = HEAP32[$v>>2]|0; - $316 = HEAP32[$addrEphOpen>>2]|0; - (_sqlite3VdbeChangeToNoop($315,$316)|0); + $354 = HEAP32[$6>>2]|0; + $355 = HEAP32[$33>>2]|0; + (_sqlite3VdbeChangeToNoop($354,$355)|0); } else { - $317 = HEAP32[$pPk>>2]|0; - $318 = ($317|0)!=(0|0); - if ($318) { - $319 = HEAP32[$0>>2]|0; - $320 = ((($319)) + 44|0); - $321 = HEAP32[$320>>2]|0; - $322 = (($321) + 1)|0; - HEAP32[$320>>2] = $322; - HEAP32[$iKey>>2] = $322; - HEAP16[$nKey>>1] = 0; - $323 = HEAP32[$v>>2]|0; - $324 = HEAP32[$iPk>>2]|0; - $325 = HEAP16[$nPk>>1]|0; - $326 = $325 << 16 >> 16; - $327 = HEAP32[$iKey>>2]|0; - $328 = HEAP32[$0>>2]|0; - $329 = HEAP32[$328>>2]|0; - $330 = HEAP32[$pPk>>2]|0; - $331 = (_sqlite3IndexAffinityStr($329,$330)|0); - $332 = HEAP16[$nPk>>1]|0; - $333 = $332 << 16 >> 16; - (_sqlite3VdbeAddOp4($323,99,$324,$326,$327,$331,$333)|0); - $334 = HEAP32[$v>>2]|0; - $335 = HEAP32[$iEphCur>>2]|0; - $336 = HEAP32[$iKey>>2]|0; - (_sqlite3VdbeAddOp2($334,126,$335,$336)|0); + $356 = HEAP32[$24>>2]|0; + $357 = ($356|0)!=(0|0); + if ($357) { + $358 = HEAP32[$3>>2]|0; + $359 = ((($358)) + 44|0); + $360 = HEAP32[$359>>2]|0; + $361 = (($360) + 1)|0; + HEAP32[$359>>2] = $361; + HEAP32[$27>>2] = $361; + HEAP16[$28>>1] = 0; + $362 = HEAP32[$6>>2]|0; + $363 = HEAP32[$25>>2]|0; + $364 = HEAP16[$26>>1]|0; + $365 = $364 << 16 >> 16; + $366 = HEAP32[$27>>2]|0; + $367 = HEAP32[$3>>2]|0; + $368 = HEAP32[$367>>2]|0; + $369 = HEAP32[$24>>2]|0; + $370 = (_sqlite3IndexAffinityStr($368,$369)|0); + $371 = HEAP16[$26>>1]|0; + $372 = $371 << 16 >> 16; + (_sqlite3VdbeAddOp4($362,99,$363,$365,$366,$370,$372)|0); + $373 = HEAP32[$6>>2]|0; + $374 = HEAP32[$29>>2]|0; + $375 = HEAP32[$27>>2]|0; + (_sqlite3VdbeAddOp2($373,126,$374,$375)|0); break; } else { - HEAP16[$nKey>>1] = 1; - $337 = HEAP32[$v>>2]|0; - $338 = HEAP32[$iRowSet>>2]|0; - $339 = HEAP32[$iKey>>2]|0; - (_sqlite3VdbeAddOp2($337,142,$338,$339)|0); + HEAP16[$28>>1] = 1; + $376 = HEAP32[$6>>2]|0; + $377 = HEAP32[$30>>2]|0; + $378 = HEAP32[$27>>2]|0; + (_sqlite3VdbeAddOp2($376,142,$377,$378)|0); break; } } } while(0); - $340 = HEAP32[$eOnePass>>2]|0; - $341 = ($340|0)!=(0); - if ($341) { - $342 = HEAP32[$v>>2]|0; - $343 = (_sqlite3VdbeMakeLabel($342)|0); - HEAP32[$addrBypass>>2] = $343; + $379 = HEAP32[$21>>2]|0; + $380 = ($379|0)!=(0); + if ($380) { + $381 = HEAP32[$6>>2]|0; + $382 = (_sqlite3VdbeMakeLabel($381)|0); + HEAP32[$31>>2] = $382; } else { - $344 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($344); + $383 = HEAP32[$9>>2]|0; + _sqlite3WhereEnd($383); } - $345 = HEAP32[$isView>>2]|0; - $346 = ($345|0)!=(0); + $384 = HEAP32[$35>>2]|0; + $385 = ($384|0)!=(0); do { - if (!($346)) { - HEAP32[$iAddrOnce>>2] = 0; - $347 = HEAP32[$eOnePass>>2]|0; - $348 = ($347|0)==(2); - if ($348) { - $349 = HEAP32[$v>>2]|0; - $350 = (_sqlite3VdbeAddOp0($349,20)|0); - HEAP32[$iAddrOnce>>2] = $350; + if (!($385)) { + HEAP32[$38>>2] = 0; + $386 = HEAP32[$21>>2]|0; + $387 = ($386|0)==(2); + if ($387) { + $388 = HEAP32[$6>>2]|0; + $389 = (_sqlite3VdbeAddOp0($388,20)|0); + HEAP32[$38>>2] = $389; } - $351 = HEAP32[$0>>2]|0; - $352 = HEAP32[$pTab>>2]|0; - $353 = HEAP32[$iTabCur>>2]|0; - $354 = HEAP32[$aToOpen>>2]|0; - (_sqlite3OpenTableAndIndices($351,$352,105,8,$353,$354,$iDataCur,$iIdxCur)|0); - $355 = HEAP32[$eOnePass>>2]|0; - $356 = ($355|0)==(2); - if (!($356)) { + $390 = HEAP32[$3>>2]|0; + $391 = HEAP32[$7>>2]|0; + $392 = HEAP32[$11>>2]|0; + $393 = HEAP32[$23>>2]|0; + (_sqlite3OpenTableAndIndices($390,$391,105,8,$392,$393,$12,$13)|0); + $394 = HEAP32[$21>>2]|0; + $395 = ($394|0)==(2); + if (!($395)) { break; } - $357 = HEAP32[$v>>2]|0; - $358 = HEAP32[$iAddrOnce>>2]|0; - _sqlite3VdbeJumpHere($357,$358); + $396 = HEAP32[$6>>2]|0; + $397 = HEAP32[$38>>2]|0; + _sqlite3VdbeJumpHere($396,$397); } } while(0); - $359 = HEAP32[$eOnePass>>2]|0; - $360 = ($359|0)!=(0); + $398 = HEAP32[$21>>2]|0; + $399 = ($398|0)!=(0); do { - if ($360) { - $361 = HEAP32[$pTab>>2]|0; - $362 = ((($361)) + 42|0); - $363 = HEAP8[$362>>0]|0; - $364 = $363&255; - $365 = $364 & 16; - $366 = ($365|0)!=(0); - if ($366) { + if ($399) { + $400 = HEAP32[$7>>2]|0; + $401 = ((($400)) + 42|0); + $402 = HEAP8[$401>>0]|0; + $403 = $402&255; + $404 = $403 & 16; + $405 = ($404|0)!=(0); + if ($405) { break; } - $367 = HEAP32[$iDataCur>>2]|0; - $368 = HEAP32[$iTabCur>>2]|0; - $369 = (($367) - ($368))|0; - $370 = HEAP32[$aToOpen>>2]|0; - $371 = (($370) + ($369)|0); - $372 = HEAP8[$371>>0]|0; - $373 = $372&255; - $374 = ($373|0)!=(0); - if (!($374)) { + $406 = HEAP32[$23>>2]|0; + $407 = HEAP32[$12>>2]|0; + $408 = HEAP32[$11>>2]|0; + $409 = (($407) - ($408))|0; + $410 = (($406) + ($409)|0); + $411 = HEAP8[$410>>0]|0; + $412 = $411&255; + $413 = ($412|0)!=(0); + if (!($413)) { break; } - $375 = HEAP32[$v>>2]|0; - $376 = HEAP32[$iDataCur>>2]|0; - $377 = HEAP32[$addrBypass>>2]|0; - $378 = HEAP32[$iKey>>2]|0; - $379 = HEAP16[$nKey>>1]|0; - $380 = $379 << 16 >> 16; - (_sqlite3VdbeAddOp4Int($375,30,$376,$377,$378,$380)|0); + $414 = HEAP32[$6>>2]|0; + $415 = HEAP32[$12>>2]|0; + $416 = HEAP32[$31>>2]|0; + $417 = HEAP32[$27>>2]|0; + $418 = HEAP16[$28>>1]|0; + $419 = $418 << 16 >> 16; + (_sqlite3VdbeAddOp4Int($414,30,$415,$416,$417,$419)|0); } else { - $381 = HEAP32[$pPk>>2]|0; - $382 = ($381|0)!=(0|0); - $383 = HEAP32[$v>>2]|0; - if ($382) { - $384 = HEAP32[$iEphCur>>2]|0; - $385 = (_sqlite3VdbeAddOp1($383,57,$384)|0); - HEAP32[$addrLoop>>2] = $385; - $386 = HEAP32[$v>>2]|0; - $387 = HEAP32[$iEphCur>>2]|0; - $388 = HEAP32[$iKey>>2]|0; - (_sqlite3VdbeAddOp2($386,121,$387,$388)|0); + $420 = HEAP32[$24>>2]|0; + $421 = ($420|0)!=(0|0); + $422 = HEAP32[$6>>2]|0; + if ($421) { + $423 = HEAP32[$29>>2]|0; + $424 = (_sqlite3VdbeAddOp1($422,57,$423)|0); + HEAP32[$32>>2] = $424; + $425 = HEAP32[$6>>2]|0; + $426 = HEAP32[$29>>2]|0; + $427 = HEAP32[$27>>2]|0; + (_sqlite3VdbeAddOp2($425,121,$426,$427)|0); break; } else { - $389 = HEAP32[$iRowSet>>2]|0; - $390 = HEAP32[$iKey>>2]|0; - $391 = (_sqlite3VdbeAddOp3($383,62,$389,0,$390)|0); - HEAP32[$addrLoop>>2] = $391; + $428 = HEAP32[$30>>2]|0; + $429 = HEAP32[$27>>2]|0; + $430 = (_sqlite3VdbeAddOp3($422,62,$428,0,$429)|0); + HEAP32[$32>>2] = $430; break; } } } while(0); - $392 = HEAP32[$pTab>>2]|0; - $393 = ((($392)) + 42|0); - $394 = HEAP8[$393>>0]|0; - $395 = $394&255; - $396 = $395 & 16; - $397 = ($396|0)!=(0); + $431 = HEAP32[$7>>2]|0; + $432 = ((($431)) + 42|0); + $433 = HEAP8[$432>>0]|0; + $434 = $433&255; + $435 = $434 & 16; + $436 = ($435|0)!=(0); do { - if ($397) { - $398 = HEAP32[$db>>2]|0; - $399 = HEAP32[$pTab>>2]|0; - $400 = (_sqlite3GetVTable($398,$399)|0); - HEAP32[$pVTab>>2] = $400; - $401 = HEAP32[$0>>2]|0; - $402 = HEAP32[$pTab>>2]|0; - _sqlite3VtabMakeWritable($401,$402); - $403 = HEAP32[$v>>2]|0; - $404 = HEAP32[$iKey>>2]|0; - $405 = HEAP32[$pVTab>>2]|0; - (_sqlite3VdbeAddOp4($403,12,0,1,$404,$405,-10)|0); - $406 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($406,2); - $407 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($407); - $408 = HEAP32[$eOnePass>>2]|0; - $409 = ($408|0)==(1); - if (!($409)) { + if ($436) { + $437 = HEAP32[$15>>2]|0; + $438 = HEAP32[$7>>2]|0; + $439 = (_sqlite3GetVTable($437,$438)|0); + HEAP32[$39>>2] = $439; + $440 = HEAP32[$3>>2]|0; + $441 = HEAP32[$7>>2]|0; + _sqlite3VtabMakeWritable($440,$441); + $442 = HEAP32[$6>>2]|0; + $443 = HEAP32[$27>>2]|0; + $444 = HEAP32[$39>>2]|0; + (_sqlite3VdbeAddOp4($442,12,0,1,$443,$444,-10)|0); + $445 = HEAP32[$6>>2]|0; + _sqlite3VdbeChangeP5($445,2); + $446 = HEAP32[$3>>2]|0; + _sqlite3MayAbort($446); + $447 = HEAP32[$21>>2]|0; + $448 = ($447|0)==(1); + if (!($448)) { break; } - $410 = HEAP32[$0>>2]|0; - $411 = ((($410)) + 124|0); - $412 = HEAP32[$411>>2]|0; - $413 = ($412|0)==(0|0); - if (!($413)) { + $449 = HEAP32[$3>>2]|0; + $450 = ((($449)) + 124|0); + $451 = HEAP32[$450>>2]|0; + $452 = ($451|0)==(0|0); + if (!($452)) { break; } - $414 = HEAP32[$0>>2]|0; - $415 = ((($414)) + 20|0); - HEAP8[$415>>0] = 0; + $453 = HEAP32[$3>>2]|0; + $454 = ((($453)) + 20|0); + HEAP8[$454>>0] = 0; } else { - $416 = HEAP32[$0>>2]|0; - $417 = ((($416)) + 18|0); - $418 = HEAP8[$417>>0]|0; - $419 = $418&255; - $420 = ($419|0)==(0); - $421 = $420&1; - HEAP32[$count>>2] = $421; - HEAP32[$iIdxNoSeek>>2] = -1; - $422 = HEAP32[$bComplex>>2]|0; - $423 = ($422|0)==(0); + $455 = HEAP32[$3>>2]|0; + $456 = ((($455)) + 18|0); + $457 = HEAP8[$456>>0]|0; + $458 = $457&255; + $459 = ($458|0)==(0); + $460 = $459&1; + HEAP32[$40>>2] = $460; + HEAP32[$41>>2] = -1; + $461 = HEAP32[$34>>2]|0; + $462 = ($461|0)==(0); do { - if ($423) { - $424 = ((($aiCurOnePass)) + 4|0); - $425 = HEAP32[$424>>2]|0; - $426 = HEAP32[$iDataCur>>2]|0; - $427 = ($425|0)!=($426|0); - if (!($427)) { + if ($462) { + $463 = ((($22)) + 4|0); + $464 = HEAP32[$463>>2]|0; + $465 = HEAP32[$12>>2]|0; + $466 = ($464|0)!=($465|0); + if (!($466)) { break; } - $428 = ((($aiCurOnePass)) + 4|0); - $429 = HEAP32[$428>>2]|0; - HEAP32[$iIdxNoSeek>>2] = $429; + $467 = ((($22)) + 4|0); + $468 = HEAP32[$467>>2]|0; + HEAP32[$41>>2] = $468; } } while(0); - $430 = HEAP32[$0>>2]|0; - $431 = HEAP32[$pTab>>2]|0; - $432 = HEAP32[$pTrigger>>2]|0; - $433 = HEAP32[$iDataCur>>2]|0; - $434 = HEAP32[$iIdxCur>>2]|0; - $435 = HEAP32[$iKey>>2]|0; - $436 = HEAP16[$nKey>>1]|0; - $437 = HEAP32[$count>>2]|0; - $438 = $437&255; - $439 = HEAP32[$eOnePass>>2]|0; - $440 = $439&255; - $441 = HEAP32[$iIdxNoSeek>>2]|0; - _sqlite3GenerateRowDelete($430,$431,$432,$433,$434,$435,$436,$438,10,$440,$441); + $469 = HEAP32[$3>>2]|0; + $470 = HEAP32[$7>>2]|0; + $471 = HEAP32[$36>>2]|0; + $472 = HEAP32[$12>>2]|0; + $473 = HEAP32[$13>>2]|0; + $474 = HEAP32[$27>>2]|0; + $475 = HEAP16[$28>>1]|0; + $476 = HEAP32[$40>>2]|0; + $477 = $476&255; + $478 = HEAP32[$21>>2]|0; + $479 = $478&255; + $480 = HEAP32[$41>>2]|0; + _sqlite3GenerateRowDelete($469,$470,$471,$472,$473,$474,$475,$477,10,$479,$480); } } while(0); - $442 = HEAP32[$eOnePass>>2]|0; - $443 = ($442|0)!=(0); + $481 = HEAP32[$21>>2]|0; + $482 = ($481|0)!=(0); do { - if ($443) { - $444 = HEAP32[$v>>2]|0; - $445 = HEAP32[$addrBypass>>2]|0; - _sqlite3VdbeResolveLabel($444,$445); - $446 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($446); + if ($482) { + $483 = HEAP32[$6>>2]|0; + $484 = HEAP32[$31>>2]|0; + _sqlite3VdbeResolveLabel($483,$484); + $485 = HEAP32[$9>>2]|0; + _sqlite3WhereEnd($485); } else { - $447 = HEAP32[$pPk>>2]|0; - $448 = ($447|0)!=(0|0); - $449 = HEAP32[$v>>2]|0; - if ($448) { - $450 = HEAP32[$iEphCur>>2]|0; - $451 = HEAP32[$addrLoop>>2]|0; - $452 = (($451) + 1)|0; - (_sqlite3VdbeAddOp2($449,7,$450,$452)|0); - $453 = HEAP32[$v>>2]|0; - $454 = HEAP32[$addrLoop>>2]|0; - _sqlite3VdbeJumpHere($453,$454); + $486 = HEAP32[$24>>2]|0; + $487 = ($486|0)!=(0|0); + $488 = HEAP32[$6>>2]|0; + if ($487) { + $489 = HEAP32[$29>>2]|0; + $490 = HEAP32[$32>>2]|0; + $491 = (($490) + 1)|0; + (_sqlite3VdbeAddOp2($488,7,$489,$491)|0); + $492 = HEAP32[$6>>2]|0; + $493 = HEAP32[$32>>2]|0; + _sqlite3VdbeJumpHere($492,$493); break; } else { - $455 = HEAP32[$addrLoop>>2]|0; - (_sqlite3VdbeGoto($449,$455)|0); - $456 = HEAP32[$v>>2]|0; - $457 = HEAP32[$addrLoop>>2]|0; - _sqlite3VdbeJumpHere($456,$457); + $494 = HEAP32[$32>>2]|0; + (_sqlite3VdbeGoto($488,$494)|0); + $495 = HEAP32[$6>>2]|0; + $496 = HEAP32[$32>>2]|0; + _sqlite3VdbeJumpHere($495,$496); break; } } } while(0); - $458 = HEAP32[$isView>>2]|0; - $459 = ($458|0)!=(0); - if ($459) { + $497 = HEAP32[$35>>2]|0; + $498 = ($497|0)!=(0); + if ($498) { break; } - $460 = HEAP32[$pTab>>2]|0; - $461 = ((($460)) + 42|0); - $462 = HEAP8[$461>>0]|0; - $463 = $462&255; - $464 = $463 & 16; - $465 = ($464|0)!=(0); - if ($465) { + $499 = HEAP32[$7>>2]|0; + $500 = ((($499)) + 42|0); + $501 = HEAP8[$500>>0]|0; + $502 = $501&255; + $503 = $502 & 16; + $504 = ($503|0)!=(0); + if ($504) { break; } - $466 = HEAP32[$pPk>>2]|0; - $467 = ($466|0)!=(0|0); - if (!($467)) { - $468 = HEAP32[$v>>2]|0; - $469 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp1($468,111,$469)|0); + $505 = HEAP32[$24>>2]|0; + $506 = ($505|0)!=(0|0); + if (!($506)) { + $507 = HEAP32[$6>>2]|0; + $508 = HEAP32[$12>>2]|0; + (_sqlite3VdbeAddOp1($507,111,$508)|0); } - HEAP32[$i>>2] = 0; - $470 = HEAP32[$pTab>>2]|0; - $471 = ((($470)) + 8|0); - $472 = HEAP32[$471>>2]|0; - HEAP32[$pIdx>>2] = $472; + HEAP32[$8>>2] = 0; + $509 = HEAP32[$7>>2]|0; + $510 = ((($509)) + 8|0); + $511 = HEAP32[$510>>2]|0; + HEAP32[$10>>2] = $511; while(1) { - $473 = HEAP32[$pIdx>>2]|0; - $474 = ($473|0)!=(0|0); - if (!($474)) { + $512 = HEAP32[$10>>2]|0; + $513 = ($512|0)!=(0|0); + if (!($513)) { break L38; } - $475 = HEAP32[$v>>2]|0; - $476 = HEAP32[$iIdxCur>>2]|0; - $477 = HEAP32[$i>>2]|0; - $478 = (($476) + ($477))|0; - (_sqlite3VdbeAddOp1($475,111,$478)|0); - $479 = HEAP32[$i>>2]|0; - $480 = (($479) + 1)|0; - HEAP32[$i>>2] = $480; - $481 = HEAP32[$pIdx>>2]|0; - $482 = ((($481)) + 20|0); - $483 = HEAP32[$482>>2]|0; - HEAP32[$pIdx>>2] = $483; + $514 = HEAP32[$6>>2]|0; + $515 = HEAP32[$13>>2]|0; + $516 = HEAP32[$8>>2]|0; + $517 = (($515) + ($516))|0; + (_sqlite3VdbeAddOp1($514,111,$517)|0); + $518 = HEAP32[$8>>2]|0; + $519 = (($518) + 1)|0; + HEAP32[$8>>2] = $519; + $520 = HEAP32[$10>>2]|0; + $521 = ((($520)) + 20|0); + $522 = HEAP32[$521>>2]|0; + HEAP32[$10>>2] = $522; } } } while(0); - $484 = HEAP32[$0>>2]|0; - $485 = ((($484)) + 18|0); - $486 = HEAP8[$485>>0]|0; - $487 = $486&255; - $488 = ($487|0)==(0); - if ($488) { - $489 = HEAP32[$0>>2]|0; - $490 = ((($489)) + 128|0); - $491 = HEAP32[$490>>2]|0; - $492 = ($491|0)==(0|0); - if ($492) { - $493 = HEAP32[$0>>2]|0; - _sqlite3AutoincrementEnd($493); + $523 = HEAP32[$3>>2]|0; + $524 = ((($523)) + 18|0); + $525 = HEAP8[$524>>0]|0; + $526 = $525&255; + $527 = ($526|0)==(0); + if ($527) { + $528 = HEAP32[$3>>2]|0; + $529 = ((($528)) + 128|0); + $530 = HEAP32[$529>>2]|0; + $531 = ($530|0)==(0|0); + if ($531) { + $532 = HEAP32[$3>>2]|0; + _sqlite3AutoincrementEnd($532); } } - $494 = HEAP32[$db>>2]|0; - $495 = ((($494)) + 24|0); - $496 = HEAP32[$495>>2]|0; - $497 = $496 & 128; - $498 = ($497|0)!=(0); - if ($498) { - $499 = HEAP32[$0>>2]|0; - $500 = ((($499)) + 18|0); - $501 = HEAP8[$500>>0]|0; - $502 = ($501<<24>>24)!=(0); - if (!($502)) { - $503 = HEAP32[$0>>2]|0; - $504 = ((($503)) + 128|0); - $505 = HEAP32[$504>>2]|0; - $506 = ($505|0)!=(0|0); - if (!($506)) { - $507 = HEAP32[$v>>2]|0; - $508 = HEAP32[$memCnt>>2]|0; - (_sqlite3VdbeAddOp2($507,87,$508,1)|0); - $509 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($509,1); - $510 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($510,0,0,35361,0)|0); + $533 = HEAP32[$15>>2]|0; + $534 = ((($533)) + 24|0); + $535 = HEAP32[$534>>2]|0; + $536 = $535 & 128; + $537 = ($536|0)!=(0); + if ($537) { + $538 = HEAP32[$3>>2]|0; + $539 = ((($538)) + 18|0); + $540 = HEAP8[$539>>0]|0; + $541 = ($540<<24>>24)!=(0); + if (!($541)) { + $542 = HEAP32[$3>>2]|0; + $543 = ((($542)) + 128|0); + $544 = HEAP32[$543>>2]|0; + $545 = ($544|0)!=(0|0); + if (!($545)) { + $546 = HEAP32[$6>>2]|0; + $547 = HEAP32[$19>>2]|0; + (_sqlite3VdbeAddOp2($546,87,$547,1)|0); + $548 = HEAP32[$6>>2]|0; + _sqlite3VdbeSetNumCols($548,1); + $549 = HEAP32[$6>>2]|0; + (_sqlite3VdbeSetColName($549,0,0,34808,0)|0); } } } @@ -120959,2402 +96577,2180 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { } } } while(0); - _sqlite3AuthContextPop($sContext); - $511 = HEAP32[$db>>2]|0; - $512 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($511,$512); - $513 = HEAP32[$db>>2]|0; - $514 = HEAP32[$2>>2]|0; - _sqlite3ExprDelete($513,$514); - $515 = HEAP32[$db>>2]|0; - $516 = HEAP32[$aToOpen>>2]|0; - _sqlite3DbFree($515,$516); + _sqlite3AuthContextPop($16); + $550 = HEAP32[$15>>2]|0; + $551 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($550,$551); + $552 = HEAP32[$15>>2]|0; + $553 = HEAP32[$5>>2]|0; + _sqlite3ExprDelete($552,$553); + $554 = HEAP32[$15>>2]|0; + $555 = HEAP32[$23>>2]|0; + _sqlite3DbFree($554,$555); STACKTOP = sp;return; } -function _sqlite3ExprListCheckLength($pParse,$pEList,$zObject) { - $pParse = $pParse|0; - $pEList = $pEList|0; - $zObject = $zObject|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mx = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3ExprListCheckLength($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, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $mx = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pEList; - HEAP32[$2>>2] = $zObject; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 96|0); - $6 = ((($5)) + 8|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$mx>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - STACKTOP = sp;return; - } - $10 = HEAP32[$1>>2]|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + 96|0); + $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$mx>>2]|0; - $13 = ($11|0)>($12|0); + HEAP32[$6>>2] = $11; + $12 = HEAP32[$4>>2]|0; + $13 = ($12|0)!=(0|0); if (!($13)) { STACKTOP = sp;return; } - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $15; - _sqlite3ErrorMsg($14,35338,$vararg_buffer); + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = ($15|0)>($16|0); + if (!($17)) { + STACKTOP = sp;return; + } + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $19; + _sqlite3ErrorMsg($18,34785,$vararg_buffer); STACKTOP = sp;return; } -function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { - $pParse = $pParse|0; - $pTabList = $pTabList|0; - $pChanges = $pChanges|0; - $pWhere = $pWhere|0; - $onError = $onError|0; - var $0 = 0, $1 = 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, $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, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; - var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; - var $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, $25 = 0; - var $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, $268 = 0; - var $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, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $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, $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, $41 = 0, $410 = 0, $411 = 0; - var $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, $428 = 0, $429 = 0, $43 = 0; - var $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0; - var $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0; - var $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0; - var $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0; - var $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0; - var $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0; - var $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0; - var $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0; - var $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0; - var $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0; - var $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0; - var $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0; - var $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0; - var $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0; - var $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0; - var $809 = 0, $81 = 0, $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, $824 = 0, $825 = 0, $826 = 0; - var $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, $842 = 0, $843 = 0, $844 = 0; - var $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, $860 = 0, $861 = 0, $862 = 0; - var $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, $879 = 0, $88 = 0, $880 = 0; - var $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, $897 = 0, $898 = 0, $899 = 0; - var $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, $914 = 0, $915 = 0, $916 = 0; - var $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, $932 = 0, $933 = 0, $934 = 0; - var $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, $950 = 0, $951 = 0, $952 = 0; - var $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, $969 = 0, $97 = 0, $970 = 0; - var $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, $987 = 0, $988 = 0, $989 = 0; - var $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $aRegIdx = 0, $aToOpen = 0, $aXRef = 0, $addr1 = 0, $addrOpen = 0, $addrTop = 0, $aiCurOnePass = 0, $bReplace = 0, $chngKey = 0; - var $chngPk = 0, $chngRowid = 0, $db = 0, $hasFK = 0, $i = 0, $iBaseCur = 0, $iDataCur = 0, $iDb = 0, $iEph = 0, $iIdxCol = 0, $iIdxCur = 0, $iPk = 0, $isView = 0, $j = 0, $labelBreak = 0, $labelContinue = 0, $nIdx = 0, $nKey = 0, $nPk = 0, $newmask = 0; - var $okOnePass = 0, $oldmask = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond19 = 0, $or$cond21 = 0, $or$cond23 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pIdx = 0, $pPk = 0, $pRowidExpr = 0, $pTab = 0, $pTrigger = 0, $pWInfo = 0; - var $rc = 0, $reg = 0, $regKey = 0, $regNew = 0, $regNewRowid = 0, $regOld = 0, $regOldRowid = 0, $regRowCount = 0, $regRowSet = 0, $sContext = 0, $sNC = 0, $tmask = 0, $v = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3Update($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0; + var $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0; + var $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0; + var $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 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, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $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; + var $294 = 0, $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; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; + var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0; + var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0; + var $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0; + var $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; + var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; + var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0; + var $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0; + var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; + var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0; + var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0; + var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0; + var $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0; + var $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0; + var $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0; + var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0; + var $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0; + var $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0; + var $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0; + var $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0; + var $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0; + var $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0; + var $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0; + var $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0; + var $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0; + var $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0; + var $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0; + var $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0; + var $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0; + var $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0; + var $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0; + var $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0; + var $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0; + var $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0; + var $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0; + var $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0; + var $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0; + var $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0; + var $999 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond19 = 0, $or$cond21 = 0, $or$cond23 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 256|0; $vararg_buffer = sp; - $0 = sp + 244|0; - $1 = sp + 240|0; - $2 = sp + 236|0; - $3 = sp + 232|0; - $4 = sp + 228|0; - $i = sp + 224|0; - $j = sp + 220|0; - $pTab = sp + 216|0; - $addrTop = sp + 212|0; - $pWInfo = sp + 208|0; - $v = sp + 204|0; - $pIdx = sp + 200|0; - $pPk = sp + 196|0; - $nIdx = sp + 192|0; - $iBaseCur = sp + 188|0; - $iDataCur = sp + 184|0; - $iIdxCur = sp + 180|0; - $db = sp + 176|0; - $aRegIdx = sp + 172|0; - $aXRef = sp + 168|0; - $aToOpen = sp + 164|0; - $chngPk = sp + 254|0; - $chngRowid = sp + 253|0; - $chngKey = sp + 252|0; - $pRowidExpr = sp + 160|0; - $sContext = sp + 152|0; - $sNC = sp + 120|0; - $iDb = sp + 112|0; - $okOnePass = sp + 108|0; - $hasFK = sp + 104|0; - $labelBreak = sp + 100|0; - $labelContinue = sp + 96|0; - $isView = sp + 92|0; - $pTrigger = sp + 88|0; - $tmask = sp + 84|0; - $newmask = sp + 80|0; - $iEph = sp + 76|0; - $nKey = sp + 72|0; - $aiCurOnePass = sp + 64|0; - $regRowCount = sp + 56|0; - $regOldRowid = sp + 52|0; - $regNewRowid = sp + 48|0; - $regNew = sp + 44|0; - $regOld = sp + 40|0; - $regRowSet = sp + 36|0; - $regKey = sp + 32|0; - $rc = sp + 28|0; - $reg = sp + 24|0; - $iIdxCol = sp + 250|0; - $iPk = sp + 20|0; - $nPk = sp + 248|0; - $addrOpen = sp + 16|0; - $oldmask = sp + 12|0; - $addr1 = sp + 8|0; - $bReplace = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTabList; - HEAP32[$2>>2] = $pChanges; - HEAP32[$3>>2] = $pWhere; - HEAP32[$4>>2] = $onError; - HEAP32[$addrTop>>2] = 0; - HEAP32[$aRegIdx>>2] = 0; - HEAP32[$aXRef>>2] = 0; - HEAP32[$pRowidExpr>>2] = 0; - HEAP32[$iEph>>2] = 0; - HEAP32[$nKey>>2] = 0; - HEAP32[$regRowCount>>2] = 0; - HEAP32[$regOldRowid>>2] = 0; - HEAP32[$regNewRowid>>2] = 0; - HEAP32[$regNew>>2] = 0; - HEAP32[$regOld>>2] = 0; - HEAP32[$regRowSet>>2] = 0; - HEAP32[$regKey>>2] = 0; - ;HEAP32[$sContext>>2]=0|0;HEAP32[$sContext+4>>2]=0|0; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 36|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0); - if ($10) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 69|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)!=(0); - if ($15) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = (_sqlite3SrcListLookup($16,$17)|0); - HEAP32[$pTab>>2] = $18; - $19 = HEAP32[$pTab>>2]|0; - $20 = ($19|0)==(0|0); - if ($20) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$pTab>>2]|0; - $24 = ((($23)) + 64|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3SchemaToIndex($22,$25)|0); - HEAP32[$iDb>>2] = $26; - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$pTab>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = (_sqlite3TriggersExist($27,$28,110,$29,$tmask)|0); - HEAP32[$pTrigger>>2] = $30; - $31 = HEAP32[$pTab>>2]|0; - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)!=(0|0); - $35 = $34&1; - HEAP32[$isView>>2] = $35; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$pTab>>2]|0; - $38 = (_sqlite3ViewGetColumnNames($36,$37)|0); - $39 = ($38|0)!=(0); - if ($39) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$pTab>>2]|0; - $42 = HEAP32[$tmask>>2]|0; - $43 = (_sqlite3IsReadOnly($40,$41,$42)|0); - $44 = ($43|0)!=(0); - if ($44) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 40|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[$46>>2] = $48; - HEAP32[$iDataCur>>2] = $47; - HEAP32[$iBaseCur>>2] = $47; - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 8|0); - $51 = ((($50)) + 44|0); - HEAP32[$51>>2] = $47; - $52 = HEAP32[$iDataCur>>2]|0; - $53 = (($52) + 1)|0; - HEAP32[$iIdxCur>>2] = $53; - $54 = HEAP32[$pTab>>2]|0; - $55 = ((($54)) + 42|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = $57 & 32; - $59 = ($58|0)==(0); - if ($59) { - $62 = 0; - } else { - $60 = HEAP32[$pTab>>2]|0; - $61 = (_sqlite3PrimaryKeyIndex($60)|0); - $62 = $61; - } - HEAP32[$pPk>>2] = $62; - HEAP32[$nIdx>>2] = 0; - $63 = HEAP32[$pTab>>2]|0; - $64 = ((($63)) + 8|0); - $65 = HEAP32[$64>>2]|0; - HEAP32[$pIdx>>2] = $65; - while(1) { - $66 = HEAP32[$pIdx>>2]|0; - $67 = ($66|0)!=(0|0); - if (!($67)) { - break; - } - $68 = HEAP32[$pIdx>>2]|0; - $69 = ((($68)) + 55|0); - $70 = HEAP8[$69>>0]|0; - $71 = $70 & 3; - $72 = $71&255; - $73 = ($72|0)==(2); - $74 = HEAP32[$pPk>>2]|0; - $75 = ($74|0)!=(0|0); - $or$cond = $73 & $75; - if ($or$cond) { - $76 = HEAP32[$0>>2]|0; - $77 = ((($76)) + 40|0); - $78 = HEAP32[$77>>2]|0; - HEAP32[$iDataCur>>2] = $78; - $79 = HEAP32[$iDataCur>>2]|0; - $80 = HEAP32[$1>>2]|0; - $81 = ((($80)) + 8|0); - $82 = ((($81)) + 44|0); - HEAP32[$82>>2] = $79; - } - $83 = HEAP32[$0>>2]|0; - $84 = ((($83)) + 40|0); - $85 = HEAP32[$84>>2]|0; - $86 = (($85) + 1)|0; - HEAP32[$84>>2] = $86; - $87 = HEAP32[$pIdx>>2]|0; - $88 = ((($87)) + 20|0); - $89 = HEAP32[$88>>2]|0; - HEAP32[$pIdx>>2] = $89; - $90 = HEAP32[$nIdx>>2]|0; - $91 = (($90) + 1)|0; - HEAP32[$nIdx>>2] = $91; - } - $92 = HEAP32[$db>>2]|0; - $93 = HEAP32[$pTab>>2]|0; - $94 = ((($93)) + 34|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95 << 16 >> 16; - $97 = HEAP32[$nIdx>>2]|0; - $98 = (($96) + ($97))|0; - $99 = $98<<2; - $100 = HEAP32[$nIdx>>2]|0; - $101 = (($99) + ($100))|0; - $102 = (($101) + 2)|0; - $103 = (_sqlite3DbMallocRawNN($92,$102,0)|0); - HEAP32[$aXRef>>2] = $103; - $104 = HEAP32[$aXRef>>2]|0; - $105 = ($104|0)==(0|0); - if ($105) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $106 = HEAP32[$aXRef>>2]|0; - $107 = HEAP32[$pTab>>2]|0; - $108 = ((($107)) + 34|0); - $109 = HEAP16[$108>>1]|0; - $110 = $109 << 16 >> 16; - $111 = (($106) + ($110<<2)|0); - HEAP32[$aRegIdx>>2] = $111; - $112 = HEAP32[$aRegIdx>>2]|0; - $113 = HEAP32[$nIdx>>2]|0; - $114 = (($112) + ($113<<2)|0); - HEAP32[$aToOpen>>2] = $114; - $115 = HEAP32[$aToOpen>>2]|0; - $116 = HEAP32[$nIdx>>2]|0; - $117 = (($116) + 1)|0; - _memset(($115|0),1,($117|0))|0; - $118 = HEAP32[$nIdx>>2]|0; - $119 = (($118) + 1)|0; - $120 = HEAP32[$aToOpen>>2]|0; - $121 = (($120) + ($119)|0); - HEAP8[$121>>0] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $122 = HEAP32[$i>>2]|0; - $123 = HEAP32[$pTab>>2]|0; - $124 = ((($123)) + 34|0); - $125 = HEAP16[$124>>1]|0; - $126 = $125 << 16 >> 16; - $127 = ($122|0)<($126|0); - if (!($127)) { - break; - } - $128 = HEAP32[$i>>2]|0; - $129 = HEAP32[$aXRef>>2]|0; - $130 = (($129) + ($128<<2)|0); - HEAP32[$130>>2] = -1; - $131 = HEAP32[$i>>2]|0; - $132 = (($131) + 1)|0; - HEAP32[$i>>2] = $132; - } - ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $133 = HEAP32[$0>>2]|0; - HEAP32[$sNC>>2] = $133; - $134 = HEAP32[$1>>2]|0; - $135 = ((($sNC)) + 4|0); - HEAP32[$135>>2] = $134; - HEAP8[$chngPk>>0] = 0; - HEAP8[$chngRowid>>0] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $136 = HEAP32[$i>>2]|0; - $137 = HEAP32[$2>>2]|0; - $138 = HEAP32[$137>>2]|0; - $139 = ($136|0)<($138|0); - if (!($139)) { - label = 41; - break; - } - $140 = HEAP32[$i>>2]|0; - $141 = HEAP32[$2>>2]|0; - $142 = ((($141)) + 4|0); - $143 = HEAP32[$142>>2]|0; - $144 = (($143) + (($140*20)|0)|0); - $145 = HEAP32[$144>>2]|0; - $146 = (_sqlite3ResolveExprNames($sNC,$145)|0); - $147 = ($146|0)!=(0); - if ($147) { - label = 185; - break; - } - HEAP32[$j>>2] = 0; - while(1) { - $148 = HEAP32[$j>>2]|0; - $149 = HEAP32[$pTab>>2]|0; - $150 = ((($149)) + 34|0); - $151 = HEAP16[$150>>1]|0; - $152 = $151 << 16 >> 16; - $153 = ($148|0)<($152|0); - if (!($153)) { - break; - } - $154 = HEAP32[$j>>2]|0; - $155 = HEAP32[$pTab>>2]|0; - $156 = ((($155)) + 4|0); - $157 = HEAP32[$156>>2]|0; - $158 = (($157) + ($154<<4)|0); - $159 = HEAP32[$158>>2]|0; - $160 = HEAP32[$i>>2]|0; - $161 = HEAP32[$2>>2]|0; - $162 = ((($161)) + 4|0); - $163 = HEAP32[$162>>2]|0; - $164 = (($163) + (($160*20)|0)|0); - $165 = ((($164)) + 4|0); - $166 = HEAP32[$165>>2]|0; - $167 = (_sqlite3StrICmp($159,$166)|0); - $168 = ($167|0)==(0); - $169 = HEAP32[$j>>2]|0; - if ($168) { - label = 23; - break; - } - $197 = (($169) + 1)|0; - HEAP32[$j>>2] = $197; - } - if ((label|0) == 23) { - label = 0; - $170 = HEAP32[$pTab>>2]|0; - $171 = ((($170)) + 32|0); - $172 = HEAP16[$171>>1]|0; - $173 = $172 << 16 >> 16; - $174 = ($169|0)==($173|0); - if ($174) { - HEAP8[$chngRowid>>0] = 1; - $175 = HEAP32[$i>>2]|0; - $176 = HEAP32[$2>>2]|0; - $177 = ((($176)) + 4|0); - $178 = HEAP32[$177>>2]|0; - $179 = (($178) + (($175*20)|0)|0); - $180 = HEAP32[$179>>2]|0; - HEAP32[$pRowidExpr>>2] = $180; - } else { - $181 = HEAP32[$pPk>>2]|0; - $182 = ($181|0)!=(0|0); - if ($182) { - $183 = HEAP32[$j>>2]|0; - $184 = HEAP32[$pTab>>2]|0; - $185 = ((($184)) + 4|0); - $186 = HEAP32[$185>>2]|0; - $187 = (($186) + ($183<<4)|0); - $188 = ((($187)) + 15|0); - $189 = HEAP8[$188>>0]|0; - $190 = $189&255; - $191 = $190 & 1; - $192 = ($191|0)!=(0); - if ($192) { - HEAP8[$chngPk>>0] = 1; - } - } - } - $193 = HEAP32[$i>>2]|0; - $194 = HEAP32[$j>>2]|0; - $195 = HEAP32[$aXRef>>2]|0; - $196 = (($195) + ($194<<2)|0); - HEAP32[$196>>2] = $193; - } - $198 = HEAP32[$j>>2]|0; - $199 = HEAP32[$pTab>>2]|0; - $200 = ((($199)) + 34|0); - $201 = HEAP16[$200>>1]|0; - $202 = $201 << 16 >> 16; - $203 = ($198|0)>=($202|0); - if ($203) { - $204 = HEAP32[$pPk>>2]|0; - $205 = ($204|0)==(0|0); - if (!($205)) { - label = 34; - break; - } - $206 = HEAP32[$i>>2]|0; - $207 = HEAP32[$2>>2]|0; - $208 = ((($207)) + 4|0); - $209 = HEAP32[$208>>2]|0; - $210 = (($209) + (($206*20)|0)|0); - $211 = ((($210)) + 4|0); - $212 = HEAP32[$211>>2]|0; - $213 = (_sqlite3IsRowid($212)|0); - $214 = ($213|0)!=(0); - if (!($214)) { - label = 34; - break; - } - HEAP32[$j>>2] = -1; - HEAP8[$chngRowid>>0] = 1; - $215 = HEAP32[$i>>2]|0; - $216 = HEAP32[$2>>2]|0; - $217 = ((($216)) + 4|0); - $218 = HEAP32[$217>>2]|0; - $219 = (($218) + (($215*20)|0)|0); - $220 = HEAP32[$219>>2]|0; - HEAP32[$pRowidExpr>>2] = $220; - } - $231 = HEAP32[$0>>2]|0; - $232 = HEAP32[$pTab>>2]|0; - $233 = HEAP32[$232>>2]|0; - $234 = HEAP32[$j>>2]|0; - $235 = ($234|0)<(0); - if ($235) { - $248 = 19895; - } else { - $236 = HEAP32[$j>>2]|0; - $237 = HEAP32[$pTab>>2]|0; - $238 = ((($237)) + 4|0); - $239 = HEAP32[$238>>2]|0; - $240 = (($239) + ($236<<4)|0); - $241 = HEAP32[$240>>2]|0; - $248 = $241; - } - $242 = HEAP32[$iDb>>2]|0; - $243 = HEAP32[$db>>2]|0; - $244 = ((($243)) + 16|0); - $245 = HEAP32[$244>>2]|0; - $246 = (($245) + ($242<<4)|0); - $247 = HEAP32[$246>>2]|0; - $249 = (_sqlite3AuthCheck($231,23,$233,$248,$247)|0); - HEAP32[$rc>>2] = $249; - $250 = HEAP32[$rc>>2]|0; - $251 = ($250|0)==(1); - if ($251) { - label = 185; - break; - } - $252 = HEAP32[$rc>>2]|0; - $253 = ($252|0)==(2); - if ($253) { - $254 = HEAP32[$j>>2]|0; - $255 = HEAP32[$aXRef>>2]|0; - $256 = (($255) + ($254<<2)|0); - HEAP32[$256>>2] = -1; - } - $257 = HEAP32[$i>>2]|0; - $258 = (($257) + 1)|0; - HEAP32[$i>>2] = $258; - } - if ((label|0) == 34) { - $221 = HEAP32[$0>>2]|0; - $222 = HEAP32[$i>>2]|0; - $223 = HEAP32[$2>>2]|0; - $224 = ((($223)) + 4|0); - $225 = HEAP32[$224>>2]|0; - $226 = (($225) + (($222*20)|0)|0); - $227 = ((($226)) + 4|0); - $228 = HEAP32[$227>>2]|0; - HEAP32[$vararg_buffer>>2] = $228; - _sqlite3ErrorMsg($221,24144,$vararg_buffer); - $229 = HEAP32[$0>>2]|0; - $230 = ((($229)) + 17|0); - HEAP8[$230>>0] = 1; - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - else if ((label|0) == 41) { - $259 = HEAP8[$chngRowid>>0]|0; - $260 = $259&255; - $261 = HEAP8[$chngPk>>0]|0; - $262 = $261&255; - $263 = (($260) + ($262))|0; - $264 = $263&255; - HEAP8[$chngKey>>0] = $264; - $265 = HEAP32[$pTab>>2]|0; - $266 = ((($265)) + 42|0); - $267 = HEAP8[$266>>0]|0; - $268 = $267&255; - $269 = $268 & 16; - $270 = ($269|0)!=(0); - $271 = $270 ? -1 : 0; - $272 = $270 ? -1 : 0; - $273 = HEAP32[$1>>2]|0; - $274 = ((($273)) + 8|0); - $275 = ((($274)) + 56|0); - $276 = $275; - $277 = $276; - HEAP32[$277>>2] = $271; - $278 = (($276) + 4)|0; - $279 = $278; - HEAP32[$279>>2] = $272; - $280 = HEAP32[$0>>2]|0; - $281 = HEAP32[$pTab>>2]|0; - $282 = HEAP32[$aXRef>>2]|0; - $283 = HEAP8[$chngKey>>0]|0; - $284 = $283&255; - $285 = (_sqlite3FkRequired($280,$281,$282,$284)|0); - HEAP32[$hasFK>>2] = $285; - HEAP32[$j>>2] = 0; - $286 = HEAP32[$pTab>>2]|0; - $287 = ((($286)) + 8|0); - $288 = HEAP32[$287>>2]|0; - HEAP32[$pIdx>>2] = $288; - while(1) { - $289 = HEAP32[$pIdx>>2]|0; - $290 = ($289|0)!=(0|0); - if (!($290)) { - break; - } - $291 = HEAP8[$chngKey>>0]|0; - $292 = $291&255; - $293 = ($292|0)!=(0); - $294 = HEAP32[$hasFK>>2]|0; - $295 = ($294|0)!=(0); - $or$cond3 = $293 | $295; - L67: do { - if ($or$cond3) { - label = 46; - } else { - $296 = HEAP32[$pIdx>>2]|0; - $297 = ((($296)) + 36|0); - $298 = HEAP32[$297>>2]|0; - $299 = ($298|0)!=(0|0); - if ($299) { - label = 46; - } else { - $300 = HEAP32[$pIdx>>2]|0; - $301 = HEAP32[$pPk>>2]|0; - $302 = ($300|0)==($301|0); - if ($302) { - label = 46; - } else { - HEAP32[$reg>>2] = 0; - HEAP32[$i>>2] = 0; + $5 = sp + 244|0; + $6 = sp + 240|0; + $7 = sp + 236|0; + $8 = sp + 232|0; + $9 = sp + 228|0; + $10 = sp + 224|0; + $11 = sp + 220|0; + $12 = sp + 216|0; + $13 = sp + 212|0; + $14 = sp + 208|0; + $15 = sp + 204|0; + $16 = sp + 200|0; + $17 = sp + 196|0; + $18 = sp + 192|0; + $19 = sp + 188|0; + $20 = sp + 184|0; + $21 = sp + 180|0; + $22 = sp + 176|0; + $23 = sp + 172|0; + $24 = sp + 168|0; + $25 = sp + 164|0; + $26 = sp + 254|0; + $27 = sp + 253|0; + $28 = sp + 252|0; + $29 = sp + 160|0; + $30 = sp + 152|0; + $31 = sp + 120|0; + $32 = sp + 112|0; + $33 = sp + 108|0; + $34 = sp + 104|0; + $35 = sp + 100|0; + $36 = sp + 96|0; + $37 = sp + 92|0; + $38 = sp + 88|0; + $39 = sp + 84|0; + $40 = sp + 80|0; + $41 = sp + 76|0; + $42 = sp + 72|0; + $43 = sp + 64|0; + $44 = sp + 56|0; + $45 = sp + 52|0; + $46 = sp + 48|0; + $47 = sp + 44|0; + $48 = sp + 40|0; + $49 = sp + 36|0; + $50 = sp + 32|0; + $51 = sp + 28|0; + $52 = sp + 24|0; + $53 = sp + 250|0; + $54 = sp + 20|0; + $55 = sp + 248|0; + $56 = sp + 16|0; + $57 = sp + 12|0; + $58 = sp + 8|0; + $59 = sp + 4|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$13>>2] = 0; + HEAP32[$23>>2] = 0; + HEAP32[$24>>2] = 0; + HEAP32[$29>>2] = 0; + HEAP32[$41>>2] = 0; + HEAP32[$42>>2] = 0; + HEAP32[$44>>2] = 0; + HEAP32[$45>>2] = 0; + HEAP32[$46>>2] = 0; + HEAP32[$47>>2] = 0; + HEAP32[$48>>2] = 0; + HEAP32[$49>>2] = 0; + HEAP32[$50>>2] = 0; + ;HEAP32[$30>>2]=0|0;HEAP32[$30+4>>2]=0|0; + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$60>>2]|0; + HEAP32[$22>>2] = $61; + $62 = HEAP32[$5>>2]|0; + $63 = ((($62)) + 36|0); + $64 = HEAP32[$63>>2]|0; + $65 = ($64|0)!=(0); + L1: do { + if (!($65)) { + $66 = HEAP32[$22>>2]|0; + $67 = ((($66)) + 69|0); + $68 = HEAP8[$67>>0]|0; + $69 = $68&255; + $70 = ($69|0)!=(0); + if (!($70)) { + $71 = HEAP32[$5>>2]|0; + $72 = HEAP32[$6>>2]|0; + $73 = (_sqlite3SrcListLookup($71,$72)|0); + HEAP32[$12>>2] = $73; + $74 = HEAP32[$12>>2]|0; + $75 = ($74|0)==(0|0); + if (!($75)) { + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$12>>2]|0; + $79 = ((($78)) + 64|0); + $80 = HEAP32[$79>>2]|0; + $81 = (_sqlite3SchemaToIndex($77,$80)|0); + HEAP32[$32>>2] = $81; + $82 = HEAP32[$5>>2]|0; + $83 = HEAP32[$12>>2]|0; + $84 = HEAP32[$7>>2]|0; + $85 = (_sqlite3TriggersExist($82,$83,110,$84,$39)|0); + HEAP32[$38>>2] = $85; + $86 = HEAP32[$12>>2]|0; + $87 = ((($86)) + 12|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)!=(0|0); + $90 = $89&1; + HEAP32[$37>>2] = $90; + $91 = HEAP32[$5>>2]|0; + $92 = HEAP32[$12>>2]|0; + $93 = (_sqlite3ViewGetColumnNames($91,$92)|0); + $94 = ($93|0)!=(0); + if (!($94)) { + $95 = HEAP32[$5>>2]|0; + $96 = HEAP32[$12>>2]|0; + $97 = HEAP32[$39>>2]|0; + $98 = (_sqlite3IsReadOnly($95,$96,$97)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + $100 = HEAP32[$5>>2]|0; + $101 = ((($100)) + 40|0); + $102 = HEAP32[$101>>2]|0; + $103 = (($102) + 1)|0; + HEAP32[$101>>2] = $103; + HEAP32[$20>>2] = $102; + HEAP32[$19>>2] = $102; + $104 = HEAP32[$6>>2]|0; + $105 = ((($104)) + 8|0); + $106 = ((($105)) + 44|0); + HEAP32[$106>>2] = $102; + $107 = HEAP32[$20>>2]|0; + $108 = (($107) + 1)|0; + HEAP32[$21>>2] = $108; + $109 = HEAP32[$12>>2]|0; + $110 = ((($109)) + 42|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $113 = $112 & 32; + $114 = ($113|0)==(0); + if ($114) { + $117 = 0; + } else { + $115 = HEAP32[$12>>2]|0; + $116 = (_sqlite3PrimaryKeyIndex($115)|0); + $117 = $116; + } + HEAP32[$17>>2] = $117; + HEAP32[$18>>2] = 0; + $118 = HEAP32[$12>>2]|0; + $119 = ((($118)) + 8|0); + $120 = HEAP32[$119>>2]|0; + HEAP32[$16>>2] = $120; while(1) { - $307 = HEAP32[$i>>2]|0; - $308 = HEAP32[$pIdx>>2]|0; - $309 = ((($308)) + 50|0); - $310 = HEAP16[$309>>1]|0; - $311 = $310&65535; - $312 = ($307|0)<($311|0); - if (!($312)) { - break L67; - } - $313 = HEAP32[$i>>2]|0; - $314 = HEAP32[$pIdx>>2]|0; - $315 = ((($314)) + 4|0); - $316 = HEAP32[$315>>2]|0; - $317 = (($316) + ($313<<1)|0); - $318 = HEAP16[$317>>1]|0; - HEAP16[$iIdxCol>>1] = $318; - $319 = HEAP16[$iIdxCol>>1]|0; - $320 = $319 << 16 >> 16; - $321 = ($320|0)<(0); - if ($321) { + $121 = HEAP32[$16>>2]|0; + $122 = ($121|0)!=(0|0); + if (!($122)) { break; } - $322 = HEAP16[$iIdxCol>>1]|0; - $323 = $322 << 16 >> 16; - $324 = HEAP32[$aXRef>>2]|0; - $325 = (($324) + ($323<<2)|0); - $326 = HEAP32[$325>>2]|0; - $327 = ($326|0)>=(0); - if ($327) { - break; + $123 = HEAP32[$16>>2]|0; + $124 = ((($123)) + 55|0); + $125 = HEAP8[$124>>0]|0; + $126 = $125 & 3; + $127 = $126&255; + $128 = ($127|0)==(2); + $129 = HEAP32[$17>>2]|0; + $130 = ($129|0)!=(0|0); + $or$cond = $128 & $130; + if ($or$cond) { + $131 = HEAP32[$5>>2]|0; + $132 = ((($131)) + 40|0); + $133 = HEAP32[$132>>2]|0; + HEAP32[$20>>2] = $133; + $134 = HEAP32[$20>>2]|0; + $135 = HEAP32[$6>>2]|0; + $136 = ((($135)) + 8|0); + $137 = ((($136)) + 44|0); + HEAP32[$137>>2] = $134; } - $332 = HEAP32[$i>>2]|0; - $333 = (($332) + 1)|0; - HEAP32[$i>>2] = $333; + $138 = HEAP32[$5>>2]|0; + $139 = ((($138)) + 40|0); + $140 = HEAP32[$139>>2]|0; + $141 = (($140) + 1)|0; + HEAP32[$139>>2] = $141; + $142 = HEAP32[$16>>2]|0; + $143 = ((($142)) + 20|0); + $144 = HEAP32[$143>>2]|0; + HEAP32[$16>>2] = $144; + $145 = HEAP32[$18>>2]|0; + $146 = (($145) + 1)|0; + HEAP32[$18>>2] = $146; } - $328 = HEAP32[$0>>2]|0; - $329 = ((($328)) + 44|0); - $330 = HEAP32[$329>>2]|0; - $331 = (($330) + 1)|0; - HEAP32[$329>>2] = $331; - HEAP32[$reg>>2] = $331; - } - } - } - } while(0); - if ((label|0) == 46) { - label = 0; - $303 = HEAP32[$0>>2]|0; - $304 = ((($303)) + 44|0); - $305 = HEAP32[$304>>2]|0; - $306 = (($305) + 1)|0; - HEAP32[$304>>2] = $306; - HEAP32[$reg>>2] = $306; - } - $334 = HEAP32[$reg>>2]|0; - $335 = ($334|0)==(0); - if ($335) { - $336 = HEAP32[$j>>2]|0; - $337 = (($336) + 1)|0; - $338 = HEAP32[$aToOpen>>2]|0; - $339 = (($338) + ($337)|0); - HEAP8[$339>>0] = 0; - } - $340 = HEAP32[$reg>>2]|0; - $341 = HEAP32[$j>>2]|0; - $342 = HEAP32[$aRegIdx>>2]|0; - $343 = (($342) + ($341<<2)|0); - HEAP32[$343>>2] = $340; - $344 = HEAP32[$pIdx>>2]|0; - $345 = ((($344)) + 20|0); - $346 = HEAP32[$345>>2]|0; - HEAP32[$pIdx>>2] = $346; - $347 = HEAP32[$j>>2]|0; - $348 = (($347) + 1)|0; - HEAP32[$j>>2] = $348; - } - $349 = HEAP32[$0>>2]|0; - $350 = (_sqlite3GetVdbe($349)|0); - HEAP32[$v>>2] = $350; - $351 = HEAP32[$v>>2]|0; - $352 = ($351|0)==(0|0); - if ($352) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $353 = HEAP32[$0>>2]|0; - $354 = ((($353)) + 18|0); - $355 = HEAP8[$354>>0]|0; - $356 = $355&255; - $357 = ($356|0)==(0); - if ($357) { - $358 = HEAP32[$v>>2]|0; - _sqlite3VdbeCountChanges($358); - } - $359 = HEAP32[$0>>2]|0; - $360 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($359,1,$360); - $361 = HEAP32[$pTab>>2]|0; - $362 = ((($361)) + 42|0); - $363 = HEAP8[$362>>0]|0; - $364 = $363&255; - $365 = $364 & 16; - $366 = ($365|0)!=(0); - if (!($366)) { - $367 = HEAP32[$0>>2]|0; - $368 = ((($367)) + 44|0); - $369 = HEAP32[$368>>2]|0; - $370 = (($369) + 1)|0; - HEAP32[$368>>2] = $370; - HEAP32[$regRowSet>>2] = $370; - $371 = HEAP32[$0>>2]|0; - $372 = ((($371)) + 44|0); - $373 = HEAP32[$372>>2]|0; - $374 = (($373) + 1)|0; - HEAP32[$372>>2] = $374; - HEAP32[$regNewRowid>>2] = $374; - HEAP32[$regOldRowid>>2] = $374; - $375 = HEAP8[$chngPk>>0]|0; - $376 = $375&255; - $377 = ($376|0)!=(0); - $378 = HEAP32[$pTrigger>>2]|0; - $379 = ($378|0)!=(0|0); - $or$cond5 = $377 | $379; - $380 = HEAP32[$hasFK>>2]|0; - $381 = ($380|0)!=(0); - $or$cond7 = $or$cond5 | $381; - if ($or$cond7) { - $382 = HEAP32[$0>>2]|0; - $383 = ((($382)) + 44|0); - $384 = HEAP32[$383>>2]|0; - $385 = (($384) + 1)|0; - HEAP32[$regOld>>2] = $385; - $386 = HEAP32[$pTab>>2]|0; - $387 = ((($386)) + 34|0); - $388 = HEAP16[$387>>1]|0; - $389 = $388 << 16 >> 16; - $390 = HEAP32[$0>>2]|0; - $391 = ((($390)) + 44|0); - $392 = HEAP32[$391>>2]|0; - $393 = (($392) + ($389))|0; - HEAP32[$391>>2] = $393; - } - $394 = HEAP8[$chngKey>>0]|0; - $395 = $394&255; - $396 = ($395|0)!=(0); - $397 = HEAP32[$pTrigger>>2]|0; - $398 = ($397|0)!=(0|0); - $or$cond9 = $396 | $398; - $399 = HEAP32[$hasFK>>2]|0; - $400 = ($399|0)!=(0); - $or$cond11 = $or$cond9 | $400; - if ($or$cond11) { - $401 = HEAP32[$0>>2]|0; - $402 = ((($401)) + 44|0); - $403 = HEAP32[$402>>2]|0; - $404 = (($403) + 1)|0; - HEAP32[$402>>2] = $404; - HEAP32[$regNewRowid>>2] = $404; - } - $405 = HEAP32[$0>>2]|0; - $406 = ((($405)) + 44|0); - $407 = HEAP32[$406>>2]|0; - $408 = (($407) + 1)|0; - HEAP32[$regNew>>2] = $408; - $409 = HEAP32[$pTab>>2]|0; - $410 = ((($409)) + 34|0); - $411 = HEAP16[$410>>1]|0; - $412 = $411 << 16 >> 16; - $413 = HEAP32[$0>>2]|0; - $414 = ((($413)) + 44|0); - $415 = HEAP32[$414>>2]|0; - $416 = (($415) + ($412))|0; - HEAP32[$414>>2] = $416; - } - $417 = HEAP32[$isView>>2]|0; - $418 = ($417|0)!=(0); - if ($418) { - $419 = HEAP32[$0>>2]|0; - $420 = HEAP32[$pTab>>2]|0; - $421 = HEAP32[$420>>2]|0; - _sqlite3AuthContextPush($419,$sContext,$421); - } - $422 = HEAP32[$isView>>2]|0; - $423 = ($422|0)!=(0); - if ($423) { - $424 = HEAP32[$0>>2]|0; - $425 = HEAP32[$pTab>>2]|0; - $426 = HEAP32[$3>>2]|0; - $427 = HEAP32[$iDataCur>>2]|0; - _sqlite3MaterializeView($424,$425,$426,$427); - } - $428 = HEAP32[$3>>2]|0; - $429 = (_sqlite3ResolveExprNames($sNC,$428)|0); - $430 = ($429|0)!=(0); - if ($430) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $431 = HEAP32[$pTab>>2]|0; - $432 = ((($431)) + 42|0); - $433 = HEAP8[$432>>0]|0; - $434 = $433&255; - $435 = $434 & 16; - $436 = ($435|0)!=(0); - if ($436) { - $437 = HEAP32[$0>>2]|0; - $438 = HEAP32[$1>>2]|0; - $439 = HEAP32[$pTab>>2]|0; - $440 = HEAP32[$2>>2]|0; - $441 = HEAP32[$pRowidExpr>>2]|0; - $442 = HEAP32[$aXRef>>2]|0; - $443 = HEAP32[$3>>2]|0; - $444 = HEAP32[$4>>2]|0; - _updateVirtualTable($437,$438,$439,$440,$441,$442,$443,$444); - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $445 = HEAP32[$pTab>>2]|0; - $446 = ((($445)) + 42|0); - $447 = HEAP8[$446>>0]|0; - $448 = $447&255; - $449 = $448 & 32; - $450 = ($449|0)==(0); - if ($450) { - $451 = HEAP32[$v>>2]|0; - $452 = HEAP32[$regRowSet>>2]|0; - $453 = HEAP32[$regOldRowid>>2]|0; - (_sqlite3VdbeAddOp3($451,79,0,$452,$453)|0); - $454 = HEAP32[$0>>2]|0; - $455 = HEAP32[$1>>2]|0; - $456 = HEAP32[$3>>2]|0; - $457 = HEAP32[$iIdxCur>>2]|0; - $458 = (_sqlite3WhereBegin($454,$455,$456,0,0,1028,$457)|0); - HEAP32[$pWInfo>>2] = $458; - $459 = HEAP32[$pWInfo>>2]|0; - $460 = ($459|0)==(0|0); - if ($460) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $461 = HEAP32[$pWInfo>>2]|0; - $462 = (_sqlite3WhereOkOnePass($461,$aiCurOnePass)|0); - HEAP32[$okOnePass>>2] = $462; - $463 = HEAP32[$v>>2]|0; - $464 = HEAP32[$iDataCur>>2]|0; - $465 = HEAP32[$regOldRowid>>2]|0; - (_sqlite3VdbeAddOp2($463,123,$464,$465)|0); - $466 = HEAP32[$okOnePass>>2]|0; - $467 = ($466|0)!=(0); - if (!($467)) { - $468 = HEAP32[$v>>2]|0; - $469 = HEAP32[$regRowSet>>2]|0; - $470 = HEAP32[$regOldRowid>>2]|0; - (_sqlite3VdbeAddOp2($468,142,$469,$470)|0); - } - $471 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($471); - } else { - $472 = HEAP32[$pPk>>2]|0; - $473 = ((($472)) + 50|0); - $474 = HEAP16[$473>>1]|0; - HEAP16[$nPk>>1] = $474; - $475 = HEAP32[$0>>2]|0; - $476 = ((($475)) + 44|0); - $477 = HEAP32[$476>>2]|0; - $478 = (($477) + 1)|0; - HEAP32[$iPk>>2] = $478; - $479 = HEAP16[$nPk>>1]|0; - $480 = $479 << 16 >> 16; - $481 = HEAP32[$0>>2]|0; - $482 = ((($481)) + 44|0); - $483 = HEAP32[$482>>2]|0; - $484 = (($483) + ($480))|0; - HEAP32[$482>>2] = $484; - $485 = HEAP32[$0>>2]|0; - $486 = ((($485)) + 44|0); - $487 = HEAP32[$486>>2]|0; - $488 = (($487) + 1)|0; - HEAP32[$486>>2] = $488; - HEAP32[$regKey>>2] = $488; - $489 = HEAP32[$0>>2]|0; - $490 = ((($489)) + 40|0); - $491 = HEAP32[$490>>2]|0; - $492 = (($491) + 1)|0; - HEAP32[$490>>2] = $492; - HEAP32[$iEph>>2] = $491; - $493 = HEAP32[$v>>2]|0; - $494 = HEAP32[$iPk>>2]|0; - (_sqlite3VdbeAddOp2($493,79,0,$494)|0); - $495 = HEAP32[$v>>2]|0; - $496 = HEAP32[$iEph>>2]|0; - $497 = HEAP16[$nPk>>1]|0; - $498 = $497 << 16 >> 16; - $499 = (_sqlite3VdbeAddOp2($495,107,$496,$498)|0); - HEAP32[$addrOpen>>2] = $499; - $500 = HEAP32[$0>>2]|0; - $501 = HEAP32[$pPk>>2]|0; - _sqlite3VdbeSetP4KeyInfo($500,$501); - $502 = HEAP32[$0>>2]|0; - $503 = HEAP32[$1>>2]|0; - $504 = HEAP32[$3>>2]|0; - $505 = HEAP32[$iIdxCur>>2]|0; - $506 = (_sqlite3WhereBegin($502,$503,$504,0,0,4,$505)|0); - HEAP32[$pWInfo>>2] = $506; - $507 = HEAP32[$pWInfo>>2]|0; - $508 = ($507|0)==(0|0); - if ($508) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $509 = HEAP32[$pWInfo>>2]|0; - $510 = (_sqlite3WhereOkOnePass($509,$aiCurOnePass)|0); - HEAP32[$okOnePass>>2] = $510; - HEAP32[$i>>2] = 0; - while(1) { - $511 = HEAP32[$i>>2]|0; - $512 = HEAP16[$nPk>>1]|0; - $513 = $512 << 16 >> 16; - $514 = ($511|0)<($513|0); - if (!($514)) { - break; - } - $515 = HEAP32[$v>>2]|0; - $516 = HEAP32[$pTab>>2]|0; - $517 = HEAP32[$iDataCur>>2]|0; - $518 = HEAP32[$i>>2]|0; - $519 = HEAP32[$pPk>>2]|0; - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = (($521) + ($518<<1)|0); - $523 = HEAP16[$522>>1]|0; - $524 = $523 << 16 >> 16; - $525 = HEAP32[$iPk>>2]|0; - $526 = HEAP32[$i>>2]|0; - $527 = (($525) + ($526))|0; - _sqlite3ExprCodeGetColumnOfTable($515,$516,$517,$524,$527); - $528 = HEAP32[$i>>2]|0; - $529 = (($528) + 1)|0; - HEAP32[$i>>2] = $529; - } - $530 = HEAP32[$okOnePass>>2]|0; - $531 = ($530|0)!=(0); - $532 = HEAP32[$v>>2]|0; - if ($531) { - $533 = HEAP32[$addrOpen>>2]|0; - (_sqlite3VdbeChangeToNoop($532,$533)|0); - $534 = HEAP16[$nPk>>1]|0; - $535 = $534 << 16 >> 16; - HEAP32[$nKey>>2] = $535; - $536 = HEAP32[$iPk>>2]|0; - HEAP32[$regKey>>2] = $536; - } else { - $537 = HEAP32[$iPk>>2]|0; - $538 = HEAP16[$nPk>>1]|0; - $539 = $538 << 16 >> 16; - $540 = HEAP32[$regKey>>2]|0; - $541 = HEAP32[$db>>2]|0; - $542 = HEAP32[$pPk>>2]|0; - $543 = (_sqlite3IndexAffinityStr($541,$542)|0); - $544 = HEAP16[$nPk>>1]|0; - $545 = $544 << 16 >> 16; - (_sqlite3VdbeAddOp4($532,99,$537,$539,$540,$543,$545)|0); - $546 = HEAP32[$v>>2]|0; - $547 = HEAP32[$iEph>>2]|0; - $548 = HEAP32[$regKey>>2]|0; - (_sqlite3VdbeAddOp2($546,126,$547,$548)|0); - } - $549 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($549); - } - $550 = HEAP32[$db>>2]|0; - $551 = ((($550)) + 24|0); - $552 = HEAP32[$551>>2]|0; - $553 = $552 & 128; - $554 = ($553|0)!=(0); - if ($554) { - $555 = HEAP32[$0>>2]|0; - $556 = ((($555)) + 128|0); - $557 = HEAP32[$556>>2]|0; - $558 = ($557|0)!=(0|0); - if (!($558)) { - $559 = HEAP32[$0>>2]|0; - $560 = ((($559)) + 44|0); - $561 = HEAP32[$560>>2]|0; - $562 = (($561) + 1)|0; - HEAP32[$560>>2] = $562; - HEAP32[$regRowCount>>2] = $562; - $563 = HEAP32[$v>>2]|0; - $564 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($563,76,0,$564)|0); - } - } - $565 = HEAP32[$v>>2]|0; - $566 = (_sqlite3VdbeMakeLabel($565)|0); - HEAP32[$labelBreak>>2] = $566; - $567 = HEAP32[$isView>>2]|0; - $568 = ($567|0)!=(0); - if (!($568)) { - $569 = HEAP32[$4>>2]|0; - $570 = ($569|0)==(5); - L139: do { - if ($570) { - $571 = HEAP32[$aToOpen>>2]|0; - $572 = HEAP32[$nIdx>>2]|0; - $573 = (($572) + 1)|0; - _memset(($571|0),1,($573|0))|0; - } else { - $574 = HEAP32[$pTab>>2]|0; - $575 = ((($574)) + 8|0); - $576 = HEAP32[$575>>2]|0; - HEAP32[$pIdx>>2] = $576; - while(1) { - $577 = HEAP32[$pIdx>>2]|0; - $578 = ($577|0)!=(0|0); - if (!($578)) { - break L139; - } - $579 = HEAP32[$pIdx>>2]|0; - $580 = ((($579)) + 54|0); - $581 = HEAP8[$580>>0]|0; - $582 = $581&255; - $583 = ($582|0)==(5); - if ($583) { - break; - } - $587 = HEAP32[$pIdx>>2]|0; - $588 = ((($587)) + 20|0); - $589 = HEAP32[$588>>2]|0; - HEAP32[$pIdx>>2] = $589; - } - $584 = HEAP32[$aToOpen>>2]|0; - $585 = HEAP32[$nIdx>>2]|0; - $586 = (($585) + 1)|0; - _memset(($584|0),1,($586|0))|0; - } - } while(0); - $590 = HEAP32[$okOnePass>>2]|0; - $591 = ($590|0)!=(0); - do { - if ($591) { - $592 = HEAP32[$aiCurOnePass>>2]|0; - $593 = ($592|0)>=(0); - if ($593) { - $594 = HEAP32[$aiCurOnePass>>2]|0; - $595 = HEAP32[$iBaseCur>>2]|0; - $596 = (($594) - ($595))|0; - $597 = HEAP32[$aToOpen>>2]|0; - $598 = (($597) + ($596)|0); - HEAP8[$598>>0] = 0; - } - $599 = ((($aiCurOnePass)) + 4|0); - $600 = HEAP32[$599>>2]|0; - $601 = ($600|0)>=(0); - if (!($601)) { - break; - } - $602 = ((($aiCurOnePass)) + 4|0); - $603 = HEAP32[$602>>2]|0; - $604 = HEAP32[$iBaseCur>>2]|0; - $605 = (($603) - ($604))|0; - $606 = HEAP32[$aToOpen>>2]|0; - $607 = (($606) + ($605)|0); - HEAP8[$607>>0] = 0; - } - } while(0); - $608 = HEAP32[$0>>2]|0; - $609 = HEAP32[$pTab>>2]|0; - $610 = HEAP32[$iBaseCur>>2]|0; - $611 = HEAP32[$aToOpen>>2]|0; - (_sqlite3OpenTableAndIndices($608,$609,105,0,$610,$611,0,0)|0); - } - $612 = HEAP32[$okOnePass>>2]|0; - $613 = ($612|0)!=(0); - do { - if ($613) { - $614 = HEAP32[$iDataCur>>2]|0; - $615 = HEAP32[$iBaseCur>>2]|0; - $616 = (($614) - ($615))|0; - $617 = HEAP32[$aToOpen>>2]|0; - $618 = (($617) + ($616)|0); - $619 = HEAP8[$618>>0]|0; - $620 = $619&255; - $621 = ($620|0)==(0); - $622 = HEAP32[$isView>>2]|0; - $623 = ($622|0)!=(0); - $or$cond13 = $621 | $623; - if (!($or$cond13)) { - $624 = HEAP32[$v>>2]|0; - $625 = HEAP32[$iDataCur>>2]|0; - $626 = HEAP32[$labelBreak>>2]|0; - $627 = HEAP32[$regKey>>2]|0; - $628 = HEAP32[$nKey>>2]|0; - (_sqlite3VdbeAddOp4Int($624,30,$625,$626,$627,$628)|0); - } - $629 = HEAP32[$labelBreak>>2]|0; - HEAP32[$labelContinue>>2] = $629; - $630 = HEAP32[$v>>2]|0; - $631 = HEAP32[$pPk>>2]|0; - $632 = ($631|0)!=(0|0); - $633 = HEAP32[$regKey>>2]|0; - $634 = HEAP32[$regOldRowid>>2]|0; - $635 = $632 ? $633 : $634; - $636 = HEAP32[$labelBreak>>2]|0; - (_sqlite3VdbeAddOp2($630,34,$635,$636)|0); - } else { - $637 = HEAP32[$pPk>>2]|0; - $638 = ($637|0)!=(0|0); - $639 = HEAP32[$v>>2]|0; - if ($638) { - $640 = (_sqlite3VdbeMakeLabel($639)|0); - HEAP32[$labelContinue>>2] = $640; - $641 = HEAP32[$v>>2]|0; - $642 = HEAP32[$iEph>>2]|0; - $643 = HEAP32[$labelBreak>>2]|0; - (_sqlite3VdbeAddOp2($641,57,$642,$643)|0); - $644 = HEAP32[$v>>2]|0; - $645 = HEAP32[$iEph>>2]|0; - $646 = HEAP32[$regKey>>2]|0; - $647 = (_sqlite3VdbeAddOp2($644,121,$645,$646)|0); - HEAP32[$addrTop>>2] = $647; - $648 = HEAP32[$v>>2]|0; - $649 = HEAP32[$iDataCur>>2]|0; - $650 = HEAP32[$labelContinue>>2]|0; - $651 = HEAP32[$regKey>>2]|0; - (_sqlite3VdbeAddOp4Int($648,30,$649,$650,$651,0)|0); - break; - } else { - $652 = HEAP32[$regRowSet>>2]|0; - $653 = HEAP32[$labelBreak>>2]|0; - $654 = HEAP32[$regOldRowid>>2]|0; - $655 = (_sqlite3VdbeAddOp3($639,62,$652,$653,$654)|0); - HEAP32[$labelContinue>>2] = $655; - $656 = HEAP32[$v>>2]|0; - $657 = HEAP32[$iDataCur>>2]|0; - $658 = HEAP32[$labelContinue>>2]|0; - $659 = HEAP32[$regOldRowid>>2]|0; - (_sqlite3VdbeAddOp3($656,33,$657,$658,$659)|0); - break; - } - } - } while(0); - $660 = HEAP8[$chngRowid>>0]|0; - $661 = ($660<<24>>24)!=(0); - if ($661) { - $662 = HEAP32[$0>>2]|0; - $663 = HEAP32[$pRowidExpr>>2]|0; - $664 = HEAP32[$regNewRowid>>2]|0; - _sqlite3ExprCode($662,$663,$664); - $665 = HEAP32[$v>>2]|0; - $666 = HEAP32[$regNewRowid>>2]|0; - (_sqlite3VdbeAddOp1($665,17,$666)|0); - } - $667 = HEAP8[$chngPk>>0]|0; - $668 = $667&255; - $669 = ($668|0)!=(0); - $670 = HEAP32[$hasFK>>2]|0; - $671 = ($670|0)!=(0); - $or$cond15 = $669 | $671; - $672 = HEAP32[$pTrigger>>2]|0; - $673 = ($672|0)!=(0|0); - $or$cond17 = $or$cond15 | $673; - do { - if ($or$cond17) { - $674 = HEAP32[$hasFK>>2]|0; - $675 = ($674|0)!=(0); - if ($675) { - $676 = HEAP32[$0>>2]|0; - $677 = HEAP32[$pTab>>2]|0; - $678 = (_sqlite3FkOldmask($676,$677)|0); - $679 = $678; - } else { - $679 = 0; - } - HEAP32[$oldmask>>2] = $679; - $680 = HEAP32[$0>>2]|0; - $681 = HEAP32[$pTrigger>>2]|0; - $682 = HEAP32[$2>>2]|0; - $683 = HEAP32[$pTab>>2]|0; - $684 = HEAP32[$4>>2]|0; - $685 = (_sqlite3TriggerColmask($680,$681,$682,0,3,$683,$684)|0); - $686 = HEAP32[$oldmask>>2]|0; - $687 = $686 | $685; - HEAP32[$oldmask>>2] = $687; - HEAP32[$i>>2] = 0; - while(1) { - $688 = HEAP32[$i>>2]|0; - $689 = HEAP32[$pTab>>2]|0; - $690 = ((($689)) + 34|0); - $691 = HEAP16[$690>>1]|0; - $692 = $691 << 16 >> 16; - $693 = ($688|0)<($692|0); - if (!($693)) { - break; - } - $694 = HEAP32[$oldmask>>2]|0; - $695 = ($694|0)==(-1); - do { - if ($695) { - label = 120; - } else { - $696 = HEAP32[$i>>2]|0; - $697 = ($696|0)<(32); - if ($697) { - $698 = HEAP32[$oldmask>>2]|0; - $699 = HEAP32[$i>>2]|0; - $700 = 1 << $699; - $701 = $698 & $700; - $702 = ($701|0)!=(0); - if ($702) { - label = 120; + $147 = HEAP32[$22>>2]|0; + $148 = HEAP32[$12>>2]|0; + $149 = ((($148)) + 34|0); + $150 = HEAP16[$149>>1]|0; + $151 = $150 << 16 >> 16; + $152 = HEAP32[$18>>2]|0; + $153 = (($151) + ($152))|0; + $154 = $153<<2; + $155 = HEAP32[$18>>2]|0; + $156 = (($154) + ($155))|0; + $157 = (($156) + 2)|0; + $158 = (_sqlite3DbMallocRawNN($147,$157,0)|0); + HEAP32[$24>>2] = $158; + $159 = HEAP32[$24>>2]|0; + $160 = ($159|0)==(0|0); + if (!($160)) { + $161 = HEAP32[$24>>2]|0; + $162 = HEAP32[$12>>2]|0; + $163 = ((($162)) + 34|0); + $164 = HEAP16[$163>>1]|0; + $165 = $164 << 16 >> 16; + $166 = (($161) + ($165<<2)|0); + HEAP32[$23>>2] = $166; + $167 = HEAP32[$23>>2]|0; + $168 = HEAP32[$18>>2]|0; + $169 = (($167) + ($168<<2)|0); + HEAP32[$25>>2] = $169; + $170 = HEAP32[$25>>2]|0; + $171 = HEAP32[$18>>2]|0; + $172 = (($171) + 1)|0; + _memset(($170|0),1,($172|0))|0; + $173 = HEAP32[$25>>2]|0; + $174 = HEAP32[$18>>2]|0; + $175 = (($174) + 1)|0; + $176 = (($173) + ($175)|0); + HEAP8[$176>>0] = 0; + HEAP32[$10>>2] = 0; + while(1) { + $177 = HEAP32[$10>>2]|0; + $178 = HEAP32[$12>>2]|0; + $179 = ((($178)) + 34|0); + $180 = HEAP16[$179>>1]|0; + $181 = $180 << 16 >> 16; + $182 = ($177|0)<($181|0); + if (!($182)) { + break; + } + $183 = HEAP32[$24>>2]|0; + $184 = HEAP32[$10>>2]|0; + $185 = (($183) + ($184<<2)|0); + HEAP32[$185>>2] = -1; + $186 = HEAP32[$10>>2]|0; + $187 = (($186) + 1)|0; + HEAP32[$10>>2] = $187; + } + ;HEAP32[$31>>2]=0|0;HEAP32[$31+4>>2]=0|0;HEAP32[$31+8>>2]=0|0;HEAP32[$31+12>>2]=0|0;HEAP32[$31+16>>2]=0|0;HEAP32[$31+20>>2]=0|0;HEAP32[$31+24>>2]=0|0;HEAP32[$31+28>>2]=0|0; + $188 = HEAP32[$5>>2]|0; + HEAP32[$31>>2] = $188; + $189 = HEAP32[$6>>2]|0; + $190 = ((($31)) + 4|0); + HEAP32[$190>>2] = $189; + HEAP8[$26>>0] = 0; + HEAP8[$27>>0] = 0; + HEAP32[$10>>2] = 0; + while(1) { + $191 = HEAP32[$10>>2]|0; + $192 = HEAP32[$7>>2]|0; + $193 = HEAP32[$192>>2]|0; + $194 = ($191|0)<($193|0); + if (!($194)) { + break; + } + $195 = HEAP32[$7>>2]|0; + $196 = ((($195)) + 4|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$10>>2]|0; + $199 = (($197) + (($198*20)|0)|0); + $200 = HEAP32[$199>>2]|0; + $201 = (_sqlite3ResolveExprNames($31,$200)|0); + $202 = ($201|0)!=(0); + if ($202) { + break L1; + } + HEAP32[$11>>2] = 0; + while(1) { + $203 = HEAP32[$11>>2]|0; + $204 = HEAP32[$12>>2]|0; + $205 = ((($204)) + 34|0); + $206 = HEAP16[$205>>1]|0; + $207 = $206 << 16 >> 16; + $208 = ($203|0)<($207|0); + if (!($208)) { + break; + } + $209 = HEAP32[$12>>2]|0; + $210 = ((($209)) + 4|0); + $211 = HEAP32[$210>>2]|0; + $212 = HEAP32[$11>>2]|0; + $213 = (($211) + ($212<<4)|0); + $214 = HEAP32[$213>>2]|0; + $215 = HEAP32[$7>>2]|0; + $216 = ((($215)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = HEAP32[$10>>2]|0; + $219 = (($217) + (($218*20)|0)|0); + $220 = ((($219)) + 4|0); + $221 = HEAP32[$220>>2]|0; + $222 = (_sqlite3StrICmp($214,$221)|0); + $223 = ($222|0)==(0); + $224 = HEAP32[$11>>2]|0; + if ($223) { + label = 23; + break; + } + $252 = (($224) + 1)|0; + HEAP32[$11>>2] = $252; + } + if ((label|0) == 23) { + label = 0; + $225 = HEAP32[$12>>2]|0; + $226 = ((($225)) + 32|0); + $227 = HEAP16[$226>>1]|0; + $228 = $227 << 16 >> 16; + $229 = ($224|0)==($228|0); + if ($229) { + HEAP8[$27>>0] = 1; + $230 = HEAP32[$7>>2]|0; + $231 = ((($230)) + 4|0); + $232 = HEAP32[$231>>2]|0; + $233 = HEAP32[$10>>2]|0; + $234 = (($232) + (($233*20)|0)|0); + $235 = HEAP32[$234>>2]|0; + HEAP32[$29>>2] = $235; + } else { + $236 = HEAP32[$17>>2]|0; + $237 = ($236|0)!=(0|0); + if ($237) { + $238 = HEAP32[$12>>2]|0; + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[$11>>2]|0; + $242 = (($240) + ($241<<4)|0); + $243 = ((($242)) + 15|0); + $244 = HEAP8[$243>>0]|0; + $245 = $244&255; + $246 = $245 & 1; + $247 = ($246|0)!=(0); + if ($247) { + HEAP8[$26>>0] = 1; + } + } + } + $248 = HEAP32[$10>>2]|0; + $249 = HEAP32[$24>>2]|0; + $250 = HEAP32[$11>>2]|0; + $251 = (($249) + ($250<<2)|0); + HEAP32[$251>>2] = $248; + } + $253 = HEAP32[$11>>2]|0; + $254 = HEAP32[$12>>2]|0; + $255 = ((($254)) + 34|0); + $256 = HEAP16[$255>>1]|0; + $257 = $256 << 16 >> 16; + $258 = ($253|0)>=($257|0); + if ($258) { + $259 = HEAP32[$17>>2]|0; + $260 = ($259|0)==(0|0); + if (!($260)) { + label = 34; + break; + } + $261 = HEAP32[$7>>2]|0; + $262 = ((($261)) + 4|0); + $263 = HEAP32[$262>>2]|0; + $264 = HEAP32[$10>>2]|0; + $265 = (($263) + (($264*20)|0)|0); + $266 = ((($265)) + 4|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_sqlite3IsRowid($267)|0); + $269 = ($268|0)!=(0); + if (!($269)) { + label = 34; + break; + } + HEAP32[$11>>2] = -1; + HEAP8[$27>>0] = 1; + $270 = HEAP32[$7>>2]|0; + $271 = ((($270)) + 4|0); + $272 = HEAP32[$271>>2]|0; + $273 = HEAP32[$10>>2]|0; + $274 = (($272) + (($273*20)|0)|0); + $275 = HEAP32[$274>>2]|0; + HEAP32[$29>>2] = $275; + } + $286 = HEAP32[$5>>2]|0; + $287 = HEAP32[$12>>2]|0; + $288 = HEAP32[$287>>2]|0; + $289 = HEAP32[$11>>2]|0; + $290 = ($289|0)<(0); + if ($290) { + $303 = 29445; + } else { + $291 = HEAP32[$12>>2]|0; + $292 = ((($291)) + 4|0); + $293 = HEAP32[$292>>2]|0; + $294 = HEAP32[$11>>2]|0; + $295 = (($293) + ($294<<4)|0); + $296 = HEAP32[$295>>2]|0; + $303 = $296; + } + $297 = HEAP32[$22>>2]|0; + $298 = ((($297)) + 16|0); + $299 = HEAP32[$298>>2]|0; + $300 = HEAP32[$32>>2]|0; + $301 = (($299) + ($300<<4)|0); + $302 = HEAP32[$301>>2]|0; + $304 = (_sqlite3AuthCheck($286,23,$288,$303,$302)|0); + HEAP32[$51>>2] = $304; + $305 = HEAP32[$51>>2]|0; + $306 = ($305|0)==(1); + if ($306) { + break L1; + } + $307 = HEAP32[$51>>2]|0; + $308 = ($307|0)==(2); + if ($308) { + $309 = HEAP32[$24>>2]|0; + $310 = HEAP32[$11>>2]|0; + $311 = (($309) + ($310<<2)|0); + HEAP32[$311>>2] = -1; + } + $312 = HEAP32[$10>>2]|0; + $313 = (($312) + 1)|0; + HEAP32[$10>>2] = $313; + } + if ((label|0) == 34) { + $276 = HEAP32[$5>>2]|0; + $277 = HEAP32[$7>>2]|0; + $278 = ((($277)) + 4|0); + $279 = HEAP32[$278>>2]|0; + $280 = HEAP32[$10>>2]|0; + $281 = (($279) + (($280*20)|0)|0); + $282 = ((($281)) + 4|0); + $283 = HEAP32[$282>>2]|0; + HEAP32[$vararg_buffer>>2] = $283; + _sqlite3ErrorMsg($276,34753,$vararg_buffer); + $284 = HEAP32[$5>>2]|0; + $285 = ((($284)) + 17|0); + HEAP8[$285>>0] = 1; break; } + $314 = HEAP8[$27>>0]|0; + $315 = $314&255; + $316 = HEAP8[$26>>0]|0; + $317 = $316&255; + $318 = (($315) + ($317))|0; + $319 = $318&255; + HEAP8[$28>>0] = $319; + $320 = HEAP32[$12>>2]|0; + $321 = ((($320)) + 42|0); + $322 = HEAP8[$321>>0]|0; + $323 = $322&255; + $324 = $323 & 16; + $325 = ($324|0)!=(0); + $326 = $325 ? -1 : 0; + $327 = $325 ? -1 : 0; + $328 = HEAP32[$6>>2]|0; + $329 = ((($328)) + 8|0); + $330 = ((($329)) + 56|0); + $331 = $330; + $332 = $331; + HEAP32[$332>>2] = $326; + $333 = (($331) + 4)|0; + $334 = $333; + HEAP32[$334>>2] = $327; + $335 = HEAP32[$5>>2]|0; + $336 = HEAP32[$12>>2]|0; + $337 = HEAP32[$24>>2]|0; + $338 = HEAP8[$28>>0]|0; + $339 = $338&255; + $340 = (_sqlite3FkRequired($335,$336,$337,$339)|0); + HEAP32[$34>>2] = $340; + HEAP32[$11>>2] = 0; + $341 = HEAP32[$12>>2]|0; + $342 = ((($341)) + 8|0); + $343 = HEAP32[$342>>2]|0; + HEAP32[$16>>2] = $343; + while(1) { + $344 = HEAP32[$16>>2]|0; + $345 = ($344|0)!=(0|0); + if (!($345)) { + break; + } + $346 = HEAP8[$28>>0]|0; + $347 = $346&255; + $348 = ($347|0)!=(0); + $349 = HEAP32[$34>>2]|0; + $350 = ($349|0)!=(0); + $or$cond3 = $348 | $350; + L57: do { + if ($or$cond3) { + label = 46; + } else { + $351 = HEAP32[$16>>2]|0; + $352 = ((($351)) + 36|0); + $353 = HEAP32[$352>>2]|0; + $354 = ($353|0)!=(0|0); + if ($354) { + label = 46; + } else { + $355 = HEAP32[$16>>2]|0; + $356 = HEAP32[$17>>2]|0; + $357 = ($355|0)==($356|0); + if ($357) { + label = 46; + } else { + HEAP32[$52>>2] = 0; + HEAP32[$10>>2] = 0; + while(1) { + $362 = HEAP32[$10>>2]|0; + $363 = HEAP32[$16>>2]|0; + $364 = ((($363)) + 50|0); + $365 = HEAP16[$364>>1]|0; + $366 = $365&65535; + $367 = ($362|0)<($366|0); + if (!($367)) { + break L57; + } + $368 = HEAP32[$16>>2]|0; + $369 = ((($368)) + 4|0); + $370 = HEAP32[$369>>2]|0; + $371 = HEAP32[$10>>2]|0; + $372 = (($370) + ($371<<1)|0); + $373 = HEAP16[$372>>1]|0; + HEAP16[$53>>1] = $373; + $374 = HEAP16[$53>>1]|0; + $375 = $374 << 16 >> 16; + $376 = ($375|0)<(0); + if ($376) { + break; + } + $377 = HEAP32[$24>>2]|0; + $378 = HEAP16[$53>>1]|0; + $379 = $378 << 16 >> 16; + $380 = (($377) + ($379<<2)|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)>=(0); + if ($382) { + break; + } + $387 = HEAP32[$10>>2]|0; + $388 = (($387) + 1)|0; + HEAP32[$10>>2] = $388; + } + $383 = HEAP32[$5>>2]|0; + $384 = ((($383)) + 44|0); + $385 = HEAP32[$384>>2]|0; + $386 = (($385) + 1)|0; + HEAP32[$384>>2] = $386; + HEAP32[$52>>2] = $386; + } + } + } + } while(0); + if ((label|0) == 46) { + label = 0; + $358 = HEAP32[$5>>2]|0; + $359 = ((($358)) + 44|0); + $360 = HEAP32[$359>>2]|0; + $361 = (($360) + 1)|0; + HEAP32[$359>>2] = $361; + HEAP32[$52>>2] = $361; + } + $389 = HEAP32[$52>>2]|0; + $390 = ($389|0)==(0); + if ($390) { + $391 = HEAP32[$25>>2]|0; + $392 = HEAP32[$11>>2]|0; + $393 = (($392) + 1)|0; + $394 = (($391) + ($393)|0); + HEAP8[$394>>0] = 0; + } + $395 = HEAP32[$52>>2]|0; + $396 = HEAP32[$23>>2]|0; + $397 = HEAP32[$11>>2]|0; + $398 = (($396) + ($397<<2)|0); + HEAP32[$398>>2] = $395; + $399 = HEAP32[$16>>2]|0; + $400 = ((($399)) + 20|0); + $401 = HEAP32[$400>>2]|0; + HEAP32[$16>>2] = $401; + $402 = HEAP32[$11>>2]|0; + $403 = (($402) + 1)|0; + HEAP32[$11>>2] = $403; + } + $404 = HEAP32[$5>>2]|0; + $405 = (_sqlite3GetVdbe($404)|0); + HEAP32[$15>>2] = $405; + $406 = HEAP32[$15>>2]|0; + $407 = ($406|0)==(0|0); + if (!($407)) { + $408 = HEAP32[$5>>2]|0; + $409 = ((($408)) + 18|0); + $410 = HEAP8[$409>>0]|0; + $411 = $410&255; + $412 = ($411|0)==(0); + if ($412) { + $413 = HEAP32[$15>>2]|0; + _sqlite3VdbeCountChanges($413); + } + $414 = HEAP32[$5>>2]|0; + $415 = HEAP32[$32>>2]|0; + _sqlite3BeginWriteOperation($414,1,$415); + $416 = HEAP32[$12>>2]|0; + $417 = ((($416)) + 42|0); + $418 = HEAP8[$417>>0]|0; + $419 = $418&255; + $420 = $419 & 16; + $421 = ($420|0)!=(0); + if (!($421)) { + $422 = HEAP32[$5>>2]|0; + $423 = ((($422)) + 44|0); + $424 = HEAP32[$423>>2]|0; + $425 = (($424) + 1)|0; + HEAP32[$423>>2] = $425; + HEAP32[$49>>2] = $425; + $426 = HEAP32[$5>>2]|0; + $427 = ((($426)) + 44|0); + $428 = HEAP32[$427>>2]|0; + $429 = (($428) + 1)|0; + HEAP32[$427>>2] = $429; + HEAP32[$46>>2] = $429; + HEAP32[$45>>2] = $429; + $430 = HEAP8[$26>>0]|0; + $431 = $430&255; + $432 = ($431|0)!=(0); + $433 = HEAP32[$38>>2]|0; + $434 = ($433|0)!=(0|0); + $or$cond5 = $432 | $434; + $435 = HEAP32[$34>>2]|0; + $436 = ($435|0)!=(0); + $or$cond7 = $or$cond5 | $436; + if ($or$cond7) { + $437 = HEAP32[$5>>2]|0; + $438 = ((($437)) + 44|0); + $439 = HEAP32[$438>>2]|0; + $440 = (($439) + 1)|0; + HEAP32[$48>>2] = $440; + $441 = HEAP32[$12>>2]|0; + $442 = ((($441)) + 34|0); + $443 = HEAP16[$442>>1]|0; + $444 = $443 << 16 >> 16; + $445 = HEAP32[$5>>2]|0; + $446 = ((($445)) + 44|0); + $447 = HEAP32[$446>>2]|0; + $448 = (($447) + ($444))|0; + HEAP32[$446>>2] = $448; + } + $449 = HEAP8[$28>>0]|0; + $450 = $449&255; + $451 = ($450|0)!=(0); + $452 = HEAP32[$38>>2]|0; + $453 = ($452|0)!=(0|0); + $or$cond9 = $451 | $453; + $454 = HEAP32[$34>>2]|0; + $455 = ($454|0)!=(0); + $or$cond11 = $or$cond9 | $455; + if ($or$cond11) { + $456 = HEAP32[$5>>2]|0; + $457 = ((($456)) + 44|0); + $458 = HEAP32[$457>>2]|0; + $459 = (($458) + 1)|0; + HEAP32[$457>>2] = $459; + HEAP32[$46>>2] = $459; + } + $460 = HEAP32[$5>>2]|0; + $461 = ((($460)) + 44|0); + $462 = HEAP32[$461>>2]|0; + $463 = (($462) + 1)|0; + HEAP32[$47>>2] = $463; + $464 = HEAP32[$12>>2]|0; + $465 = ((($464)) + 34|0); + $466 = HEAP16[$465>>1]|0; + $467 = $466 << 16 >> 16; + $468 = HEAP32[$5>>2]|0; + $469 = ((($468)) + 44|0); + $470 = HEAP32[$469>>2]|0; + $471 = (($470) + ($467))|0; + HEAP32[$469>>2] = $471; + } + $472 = HEAP32[$37>>2]|0; + $473 = ($472|0)!=(0); + if ($473) { + $474 = HEAP32[$5>>2]|0; + $475 = HEAP32[$12>>2]|0; + $476 = HEAP32[$475>>2]|0; + _sqlite3AuthContextPush($474,$30,$476); + } + $477 = HEAP32[$37>>2]|0; + $478 = ($477|0)!=(0); + if ($478) { + $479 = HEAP32[$5>>2]|0; + $480 = HEAP32[$12>>2]|0; + $481 = HEAP32[$8>>2]|0; + $482 = HEAP32[$20>>2]|0; + _sqlite3MaterializeView($479,$480,$481,$482); + } + $483 = HEAP32[$8>>2]|0; + $484 = (_sqlite3ResolveExprNames($31,$483)|0); + $485 = ($484|0)!=(0); + if (!($485)) { + $486 = HEAP32[$12>>2]|0; + $487 = ((($486)) + 42|0); + $488 = HEAP8[$487>>0]|0; + $489 = $488&255; + $490 = $489 & 16; + $491 = ($490|0)!=(0); + if ($491) { + $492 = HEAP32[$5>>2]|0; + $493 = HEAP32[$6>>2]|0; + $494 = HEAP32[$12>>2]|0; + $495 = HEAP32[$7>>2]|0; + $496 = HEAP32[$29>>2]|0; + $497 = HEAP32[$24>>2]|0; + $498 = HEAP32[$8>>2]|0; + $499 = HEAP32[$9>>2]|0; + _updateVirtualTable($492,$493,$494,$495,$496,$497,$498,$499); + break; + } + $500 = HEAP32[$12>>2]|0; + $501 = ((($500)) + 42|0); + $502 = HEAP8[$501>>0]|0; + $503 = $502&255; + $504 = $503 & 32; + $505 = ($504|0)==(0); + if ($505) { + $506 = HEAP32[$15>>2]|0; + $507 = HEAP32[$49>>2]|0; + $508 = HEAP32[$45>>2]|0; + (_sqlite3VdbeAddOp3($506,79,0,$507,$508)|0); + $509 = HEAP32[$5>>2]|0; + $510 = HEAP32[$6>>2]|0; + $511 = HEAP32[$8>>2]|0; + $512 = HEAP32[$21>>2]|0; + $513 = (_sqlite3WhereBegin($509,$510,$511,0,0,1028,$512)|0); + HEAP32[$14>>2] = $513; + $514 = HEAP32[$14>>2]|0; + $515 = ($514|0)==(0|0); + if ($515) { + break; + } + $516 = HEAP32[$14>>2]|0; + $517 = (_sqlite3WhereOkOnePass($516,$43)|0); + HEAP32[$33>>2] = $517; + $518 = HEAP32[$15>>2]|0; + $519 = HEAP32[$20>>2]|0; + $520 = HEAP32[$45>>2]|0; + (_sqlite3VdbeAddOp2($518,123,$519,$520)|0); + $521 = HEAP32[$33>>2]|0; + $522 = ($521|0)!=(0); + if (!($522)) { + $523 = HEAP32[$15>>2]|0; + $524 = HEAP32[$49>>2]|0; + $525 = HEAP32[$45>>2]|0; + (_sqlite3VdbeAddOp2($523,142,$524,$525)|0); + } + $526 = HEAP32[$14>>2]|0; + _sqlite3WhereEnd($526); + } else { + $527 = HEAP32[$17>>2]|0; + $528 = ((($527)) + 50|0); + $529 = HEAP16[$528>>1]|0; + HEAP16[$55>>1] = $529; + $530 = HEAP32[$5>>2]|0; + $531 = ((($530)) + 44|0); + $532 = HEAP32[$531>>2]|0; + $533 = (($532) + 1)|0; + HEAP32[$54>>2] = $533; + $534 = HEAP16[$55>>1]|0; + $535 = $534 << 16 >> 16; + $536 = HEAP32[$5>>2]|0; + $537 = ((($536)) + 44|0); + $538 = HEAP32[$537>>2]|0; + $539 = (($538) + ($535))|0; + HEAP32[$537>>2] = $539; + $540 = HEAP32[$5>>2]|0; + $541 = ((($540)) + 44|0); + $542 = HEAP32[$541>>2]|0; + $543 = (($542) + 1)|0; + HEAP32[$541>>2] = $543; + HEAP32[$50>>2] = $543; + $544 = HEAP32[$5>>2]|0; + $545 = ((($544)) + 40|0); + $546 = HEAP32[$545>>2]|0; + $547 = (($546) + 1)|0; + HEAP32[$545>>2] = $547; + HEAP32[$41>>2] = $546; + $548 = HEAP32[$15>>2]|0; + $549 = HEAP32[$54>>2]|0; + (_sqlite3VdbeAddOp2($548,79,0,$549)|0); + $550 = HEAP32[$15>>2]|0; + $551 = HEAP32[$41>>2]|0; + $552 = HEAP16[$55>>1]|0; + $553 = $552 << 16 >> 16; + $554 = (_sqlite3VdbeAddOp2($550,107,$551,$553)|0); + HEAP32[$56>>2] = $554; + $555 = HEAP32[$5>>2]|0; + $556 = HEAP32[$17>>2]|0; + _sqlite3VdbeSetP4KeyInfo($555,$556); + $557 = HEAP32[$5>>2]|0; + $558 = HEAP32[$6>>2]|0; + $559 = HEAP32[$8>>2]|0; + $560 = HEAP32[$21>>2]|0; + $561 = (_sqlite3WhereBegin($557,$558,$559,0,0,4,$560)|0); + HEAP32[$14>>2] = $561; + $562 = HEAP32[$14>>2]|0; + $563 = ($562|0)==(0|0); + if ($563) { + break; + } + $564 = HEAP32[$14>>2]|0; + $565 = (_sqlite3WhereOkOnePass($564,$43)|0); + HEAP32[$33>>2] = $565; + HEAP32[$10>>2] = 0; + while(1) { + $566 = HEAP32[$10>>2]|0; + $567 = HEAP16[$55>>1]|0; + $568 = $567 << 16 >> 16; + $569 = ($566|0)<($568|0); + if (!($569)) { + break; + } + $570 = HEAP32[$15>>2]|0; + $571 = HEAP32[$12>>2]|0; + $572 = HEAP32[$20>>2]|0; + $573 = HEAP32[$17>>2]|0; + $574 = ((($573)) + 4|0); + $575 = HEAP32[$574>>2]|0; + $576 = HEAP32[$10>>2]|0; + $577 = (($575) + ($576<<1)|0); + $578 = HEAP16[$577>>1]|0; + $579 = $578 << 16 >> 16; + $580 = HEAP32[$54>>2]|0; + $581 = HEAP32[$10>>2]|0; + $582 = (($580) + ($581))|0; + _sqlite3ExprCodeGetColumnOfTable($570,$571,$572,$579,$582); + $583 = HEAP32[$10>>2]|0; + $584 = (($583) + 1)|0; + HEAP32[$10>>2] = $584; + } + $585 = HEAP32[$33>>2]|0; + $586 = ($585|0)!=(0); + $587 = HEAP32[$15>>2]|0; + if ($586) { + $588 = HEAP32[$56>>2]|0; + (_sqlite3VdbeChangeToNoop($587,$588)|0); + $589 = HEAP16[$55>>1]|0; + $590 = $589 << 16 >> 16; + HEAP32[$42>>2] = $590; + $591 = HEAP32[$54>>2]|0; + HEAP32[$50>>2] = $591; + } else { + $592 = HEAP32[$54>>2]|0; + $593 = HEAP16[$55>>1]|0; + $594 = $593 << 16 >> 16; + $595 = HEAP32[$50>>2]|0; + $596 = HEAP32[$22>>2]|0; + $597 = HEAP32[$17>>2]|0; + $598 = (_sqlite3IndexAffinityStr($596,$597)|0); + $599 = HEAP16[$55>>1]|0; + $600 = $599 << 16 >> 16; + (_sqlite3VdbeAddOp4($587,99,$592,$594,$595,$598,$600)|0); + $601 = HEAP32[$15>>2]|0; + $602 = HEAP32[$41>>2]|0; + $603 = HEAP32[$50>>2]|0; + (_sqlite3VdbeAddOp2($601,126,$602,$603)|0); + } + $604 = HEAP32[$14>>2]|0; + _sqlite3WhereEnd($604); + } + $605 = HEAP32[$22>>2]|0; + $606 = ((($605)) + 24|0); + $607 = HEAP32[$606>>2]|0; + $608 = $607 & 128; + $609 = ($608|0)!=(0); + if ($609) { + $610 = HEAP32[$5>>2]|0; + $611 = ((($610)) + 128|0); + $612 = HEAP32[$611>>2]|0; + $613 = ($612|0)!=(0|0); + if (!($613)) { + $614 = HEAP32[$5>>2]|0; + $615 = ((($614)) + 44|0); + $616 = HEAP32[$615>>2]|0; + $617 = (($616) + 1)|0; + HEAP32[$615>>2] = $617; + HEAP32[$44>>2] = $617; + $618 = HEAP32[$15>>2]|0; + $619 = HEAP32[$44>>2]|0; + (_sqlite3VdbeAddOp2($618,76,0,$619)|0); + } + } + $620 = HEAP32[$15>>2]|0; + $621 = (_sqlite3VdbeMakeLabel($620)|0); + HEAP32[$35>>2] = $621; + $622 = HEAP32[$37>>2]|0; + $623 = ($622|0)!=(0); + if (!($623)) { + $624 = HEAP32[$9>>2]|0; + $625 = ($624|0)==(5); + L120: do { + if ($625) { + $626 = HEAP32[$25>>2]|0; + $627 = HEAP32[$18>>2]|0; + $628 = (($627) + 1)|0; + _memset(($626|0),1,($628|0))|0; + } else { + $629 = HEAP32[$12>>2]|0; + $630 = ((($629)) + 8|0); + $631 = HEAP32[$630>>2]|0; + HEAP32[$16>>2] = $631; + while(1) { + $632 = HEAP32[$16>>2]|0; + $633 = ($632|0)!=(0|0); + if (!($633)) { + break L120; + } + $634 = HEAP32[$16>>2]|0; + $635 = ((($634)) + 54|0); + $636 = HEAP8[$635>>0]|0; + $637 = $636&255; + $638 = ($637|0)==(5); + if ($638) { + break; + } + $642 = HEAP32[$16>>2]|0; + $643 = ((($642)) + 20|0); + $644 = HEAP32[$643>>2]|0; + HEAP32[$16>>2] = $644; + } + $639 = HEAP32[$25>>2]|0; + $640 = HEAP32[$18>>2]|0; + $641 = (($640) + 1)|0; + _memset(($639|0),1,($641|0))|0; + } + } while(0); + $645 = HEAP32[$33>>2]|0; + $646 = ($645|0)!=(0); + do { + if ($646) { + $647 = HEAP32[$43>>2]|0; + $648 = ($647|0)>=(0); + if ($648) { + $649 = HEAP32[$25>>2]|0; + $650 = HEAP32[$43>>2]|0; + $651 = HEAP32[$19>>2]|0; + $652 = (($650) - ($651))|0; + $653 = (($649) + ($652)|0); + HEAP8[$653>>0] = 0; + } + $654 = ((($43)) + 4|0); + $655 = HEAP32[$654>>2]|0; + $656 = ($655|0)>=(0); + if (!($656)) { + break; + } + $657 = HEAP32[$25>>2]|0; + $658 = ((($43)) + 4|0); + $659 = HEAP32[$658>>2]|0; + $660 = HEAP32[$19>>2]|0; + $661 = (($659) - ($660))|0; + $662 = (($657) + ($661)|0); + HEAP8[$662>>0] = 0; + } + } while(0); + $663 = HEAP32[$5>>2]|0; + $664 = HEAP32[$12>>2]|0; + $665 = HEAP32[$19>>2]|0; + $666 = HEAP32[$25>>2]|0; + (_sqlite3OpenTableAndIndices($663,$664,105,0,$665,$666,0,0)|0); + } + $667 = HEAP32[$33>>2]|0; + $668 = ($667|0)!=(0); + do { + if ($668) { + $669 = HEAP32[$25>>2]|0; + $670 = HEAP32[$20>>2]|0; + $671 = HEAP32[$19>>2]|0; + $672 = (($670) - ($671))|0; + $673 = (($669) + ($672)|0); + $674 = HEAP8[$673>>0]|0; + $675 = $674&255; + $676 = ($675|0)==(0); + $677 = HEAP32[$37>>2]|0; + $678 = ($677|0)!=(0); + $or$cond13 = $676 | $678; + if (!($or$cond13)) { + $679 = HEAP32[$15>>2]|0; + $680 = HEAP32[$20>>2]|0; + $681 = HEAP32[$35>>2]|0; + $682 = HEAP32[$50>>2]|0; + $683 = HEAP32[$42>>2]|0; + (_sqlite3VdbeAddOp4Int($679,30,$680,$681,$682,$683)|0); + } + $684 = HEAP32[$35>>2]|0; + HEAP32[$36>>2] = $684; + $685 = HEAP32[$15>>2]|0; + $686 = HEAP32[$17>>2]|0; + $687 = ($686|0)!=(0|0); + $688 = HEAP32[$50>>2]|0; + $689 = HEAP32[$45>>2]|0; + $690 = $687 ? $688 : $689; + $691 = HEAP32[$35>>2]|0; + (_sqlite3VdbeAddOp2($685,34,$690,$691)|0); + } else { + $692 = HEAP32[$17>>2]|0; + $693 = ($692|0)!=(0|0); + $694 = HEAP32[$15>>2]|0; + if ($693) { + $695 = (_sqlite3VdbeMakeLabel($694)|0); + HEAP32[$36>>2] = $695; + $696 = HEAP32[$15>>2]|0; + $697 = HEAP32[$41>>2]|0; + $698 = HEAP32[$35>>2]|0; + (_sqlite3VdbeAddOp2($696,57,$697,$698)|0); + $699 = HEAP32[$15>>2]|0; + $700 = HEAP32[$41>>2]|0; + $701 = HEAP32[$50>>2]|0; + $702 = (_sqlite3VdbeAddOp2($699,121,$700,$701)|0); + HEAP32[$13>>2] = $702; + $703 = HEAP32[$15>>2]|0; + $704 = HEAP32[$20>>2]|0; + $705 = HEAP32[$36>>2]|0; + $706 = HEAP32[$50>>2]|0; + (_sqlite3VdbeAddOp4Int($703,30,$704,$705,$706,0)|0); + break; + } else { + $707 = HEAP32[$49>>2]|0; + $708 = HEAP32[$35>>2]|0; + $709 = HEAP32[$45>>2]|0; + $710 = (_sqlite3VdbeAddOp3($694,62,$707,$708,$709)|0); + HEAP32[$36>>2] = $710; + $711 = HEAP32[$15>>2]|0; + $712 = HEAP32[$20>>2]|0; + $713 = HEAP32[$36>>2]|0; + $714 = HEAP32[$45>>2]|0; + (_sqlite3VdbeAddOp3($711,33,$712,$713,$714)|0); + break; + } + } + } while(0); + $715 = HEAP8[$27>>0]|0; + $716 = ($715<<24>>24)!=(0); + if ($716) { + $717 = HEAP32[$5>>2]|0; + $718 = HEAP32[$29>>2]|0; + $719 = HEAP32[$46>>2]|0; + _sqlite3ExprCode($717,$718,$719); + $720 = HEAP32[$15>>2]|0; + $721 = HEAP32[$46>>2]|0; + (_sqlite3VdbeAddOp1($720,17,$721)|0); + } + $722 = HEAP8[$26>>0]|0; + $723 = $722&255; + $724 = ($723|0)!=(0); + $725 = HEAP32[$34>>2]|0; + $726 = ($725|0)!=(0); + $or$cond15 = $724 | $726; + $727 = HEAP32[$38>>2]|0; + $728 = ($727|0)!=(0|0); + $or$cond17 = $or$cond15 | $728; + do { + if ($or$cond17) { + $729 = HEAP32[$34>>2]|0; + $730 = ($729|0)!=(0); + if ($730) { + $731 = HEAP32[$5>>2]|0; + $732 = HEAP32[$12>>2]|0; + $733 = (_sqlite3FkOldmask($731,$732)|0); + $734 = $733; + } else { + $734 = 0; + } + HEAP32[$57>>2] = $734; + $735 = HEAP32[$5>>2]|0; + $736 = HEAP32[$38>>2]|0; + $737 = HEAP32[$7>>2]|0; + $738 = HEAP32[$12>>2]|0; + $739 = HEAP32[$9>>2]|0; + $740 = (_sqlite3TriggerColmask($735,$736,$737,0,3,$738,$739)|0); + $741 = HEAP32[$57>>2]|0; + $742 = $741 | $740; + HEAP32[$57>>2] = $742; + HEAP32[$10>>2] = 0; + while(1) { + $743 = HEAP32[$10>>2]|0; + $744 = HEAP32[$12>>2]|0; + $745 = ((($744)) + 34|0); + $746 = HEAP16[$745>>1]|0; + $747 = $746 << 16 >> 16; + $748 = ($743|0)<($747|0); + if (!($748)) { + break; + } + $749 = HEAP32[$57>>2]|0; + $750 = ($749|0)==(-1); + do { + if ($750) { + label = 120; + } else { + $751 = HEAP32[$10>>2]|0; + $752 = ($751|0)<(32); + if ($752) { + $753 = HEAP32[$57>>2]|0; + $754 = HEAP32[$10>>2]|0; + $755 = 1 << $754; + $756 = $753 & $755; + $757 = ($756|0)!=(0); + if ($757) { + label = 120; + break; + } + } + $758 = HEAP32[$12>>2]|0; + $759 = ((($758)) + 4|0); + $760 = HEAP32[$759>>2]|0; + $761 = HEAP32[$10>>2]|0; + $762 = (($760) + ($761<<4)|0); + $763 = ((($762)) + 15|0); + $764 = HEAP8[$763>>0]|0; + $765 = $764&255; + $766 = $765 & 1; + $767 = ($766|0)!=(0); + if ($767) { + label = 120; + break; + } + $775 = HEAP32[$15>>2]|0; + $776 = HEAP32[$48>>2]|0; + $777 = HEAP32[$10>>2]|0; + $778 = (($776) + ($777))|0; + (_sqlite3VdbeAddOp2($775,79,0,$778)|0); + } + } while(0); + if ((label|0) == 120) { + label = 0; + $768 = HEAP32[$15>>2]|0; + $769 = HEAP32[$12>>2]|0; + $770 = HEAP32[$20>>2]|0; + $771 = HEAP32[$10>>2]|0; + $772 = HEAP32[$48>>2]|0; + $773 = HEAP32[$10>>2]|0; + $774 = (($772) + ($773))|0; + _sqlite3ExprCodeGetColumnOfTable($768,$769,$770,$771,$774); + } + $779 = HEAP32[$10>>2]|0; + $780 = (($779) + 1)|0; + HEAP32[$10>>2] = $780; + } + $781 = HEAP8[$27>>0]|0; + $782 = $781&255; + $783 = ($782|0)==(0); + $784 = HEAP32[$17>>2]|0; + $785 = ($784|0)==(0|0); + $or$cond19 = $783 & $785; + if (!($or$cond19)) { + break; + } + $786 = HEAP32[$15>>2]|0; + $787 = HEAP32[$45>>2]|0; + $788 = HEAP32[$46>>2]|0; + (_sqlite3VdbeAddOp2($786,84,$787,$788)|0); + } + } while(0); + $789 = HEAP32[$5>>2]|0; + $790 = HEAP32[$38>>2]|0; + $791 = HEAP32[$7>>2]|0; + $792 = HEAP32[$12>>2]|0; + $793 = HEAP32[$9>>2]|0; + $794 = (_sqlite3TriggerColmask($789,$790,$791,1,1,$792,$793)|0); + HEAP32[$40>>2] = $794; + HEAP32[$10>>2] = 0; + while(1) { + $795 = HEAP32[$10>>2]|0; + $796 = HEAP32[$12>>2]|0; + $797 = ((($796)) + 34|0); + $798 = HEAP16[$797>>1]|0; + $799 = $798 << 16 >> 16; + $800 = ($795|0)<($799|0); + if (!($800)) { + break; + } + $801 = HEAP32[$10>>2]|0; + $802 = HEAP32[$12>>2]|0; + $803 = ((($802)) + 32|0); + $804 = HEAP16[$803>>1]|0; + $805 = $804 << 16 >> 16; + $806 = ($801|0)==($805|0); + L173: do { + if ($806) { + $807 = HEAP32[$15>>2]|0; + $808 = HEAP32[$47>>2]|0; + $809 = HEAP32[$10>>2]|0; + $810 = (($808) + ($809))|0; + (_sqlite3VdbeAddOp2($807,79,0,$810)|0); + } else { + $811 = HEAP32[$24>>2]|0; + $812 = HEAP32[$10>>2]|0; + $813 = (($811) + ($812<<2)|0); + $814 = HEAP32[$813>>2]|0; + HEAP32[$11>>2] = $814; + $815 = HEAP32[$11>>2]|0; + $816 = ($815|0)>=(0); + if ($816) { + $817 = HEAP32[$5>>2]|0; + $818 = HEAP32[$7>>2]|0; + $819 = ((($818)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = HEAP32[$11>>2]|0; + $822 = (($820) + (($821*20)|0)|0); + $823 = HEAP32[$822>>2]|0; + $824 = HEAP32[$47>>2]|0; + $825 = HEAP32[$10>>2]|0; + $826 = (($824) + ($825))|0; + _sqlite3ExprCode($817,$823,$826); + break; + } + $827 = HEAP32[$39>>2]|0; + $828 = $827 & 1; + $829 = (0)==($828|0); + $830 = HEAP32[$10>>2]|0; + $831 = ($830|0)>(31); + $or$cond21 = $829 | $831; + do { + if (!($or$cond21)) { + $832 = HEAP32[$40>>2]|0; + $833 = HEAP32[$10>>2]|0; + $834 = 1 << $833; + $835 = $832 & $834; + $836 = ($835|0)!=(0); + if ($836) { + break; + } + $844 = HEAP32[$15>>2]|0; + $845 = HEAP32[$47>>2]|0; + $846 = HEAP32[$10>>2]|0; + $847 = (($845) + ($846))|0; + (_sqlite3VdbeAddOp2($844,79,0,$847)|0); + break L173; + } + } while(0); + $837 = HEAP32[$5>>2]|0; + $838 = HEAP32[$12>>2]|0; + $839 = HEAP32[$10>>2]|0; + $840 = HEAP32[$20>>2]|0; + $841 = HEAP32[$47>>2]|0; + $842 = HEAP32[$10>>2]|0; + $843 = (($841) + ($842))|0; + _sqlite3ExprCodeGetColumnToReg($837,$838,$839,$840,$843); + } + } while(0); + $848 = HEAP32[$10>>2]|0; + $849 = (($848) + 1)|0; + HEAP32[$10>>2] = $849; + } + $850 = HEAP32[$39>>2]|0; + $851 = $850 & 1; + $852 = ($851|0)!=(0); + L185: do { + if ($852) { + $853 = HEAP32[$15>>2]|0; + $854 = HEAP32[$12>>2]|0; + $855 = HEAP32[$47>>2]|0; + _sqlite3TableAffinity($853,$854,$855); + $856 = HEAP32[$5>>2]|0; + $857 = HEAP32[$38>>2]|0; + $858 = HEAP32[$7>>2]|0; + $859 = HEAP32[$12>>2]|0; + $860 = HEAP32[$45>>2]|0; + $861 = HEAP32[$9>>2]|0; + $862 = HEAP32[$36>>2]|0; + _sqlite3CodeRowTrigger($856,$857,110,$858,1,$859,$860,$861,$862); + $863 = HEAP32[$17>>2]|0; + $864 = ($863|0)!=(0|0); + $865 = HEAP32[$15>>2]|0; + $866 = HEAP32[$20>>2]|0; + $867 = HEAP32[$36>>2]|0; + if ($864) { + $868 = HEAP32[$50>>2]|0; + $869 = HEAP32[$42>>2]|0; + (_sqlite3VdbeAddOp4Int($865,30,$866,$867,$868,$869)|0); + } else { + $870 = HEAP32[$45>>2]|0; + (_sqlite3VdbeAddOp3($865,33,$866,$867,$870)|0); + } + HEAP32[$10>>2] = 0; + while(1) { + $871 = HEAP32[$10>>2]|0; + $872 = HEAP32[$12>>2]|0; + $873 = ((($872)) + 34|0); + $874 = HEAP16[$873>>1]|0; + $875 = $874 << 16 >> 16; + $876 = ($871|0)<($875|0); + if (!($876)) { + break L185; + } + $877 = HEAP32[$24>>2]|0; + $878 = HEAP32[$10>>2]|0; + $879 = (($877) + ($878<<2)|0); + $880 = HEAP32[$879>>2]|0; + $881 = ($880|0)<(0); + do { + if ($881) { + $882 = HEAP32[$10>>2]|0; + $883 = HEAP32[$12>>2]|0; + $884 = ((($883)) + 32|0); + $885 = HEAP16[$884>>1]|0; + $886 = $885 << 16 >> 16; + $887 = ($882|0)!=($886|0); + if (!($887)) { + break; + } + $888 = HEAP32[$15>>2]|0; + $889 = HEAP32[$12>>2]|0; + $890 = HEAP32[$20>>2]|0; + $891 = HEAP32[$10>>2]|0; + $892 = HEAP32[$47>>2]|0; + $893 = HEAP32[$10>>2]|0; + $894 = (($892) + ($893))|0; + _sqlite3ExprCodeGetColumnOfTable($888,$889,$890,$891,$894); + } + } while(0); + $895 = HEAP32[$10>>2]|0; + $896 = (($895) + 1)|0; + HEAP32[$10>>2] = $896; + } + } + } while(0); + $897 = HEAP32[$37>>2]|0; + $898 = ($897|0)!=(0); + do { + if (!($898)) { + HEAP32[$58>>2] = 0; + HEAP32[$59>>2] = 0; + $899 = HEAP32[$5>>2]|0; + $900 = HEAP32[$12>>2]|0; + $901 = HEAP32[$23>>2]|0; + $902 = HEAP32[$20>>2]|0; + $903 = HEAP32[$21>>2]|0; + $904 = HEAP32[$46>>2]|0; + $905 = HEAP32[$45>>2]|0; + $906 = HEAP8[$28>>0]|0; + $907 = HEAP32[$9>>2]|0; + $908 = $907&255; + $909 = HEAP32[$36>>2]|0; + $910 = HEAP32[$24>>2]|0; + _sqlite3GenerateConstraintChecks($899,$900,$901,$902,$903,$904,$905,$906,$908,$909,$59,$910); + $911 = HEAP32[$34>>2]|0; + $912 = ($911|0)!=(0); + if ($912) { + $913 = HEAP32[$5>>2]|0; + $914 = HEAP32[$12>>2]|0; + $915 = HEAP32[$45>>2]|0; + $916 = HEAP32[$24>>2]|0; + $917 = HEAP8[$28>>0]|0; + $918 = $917&255; + _sqlite3FkCheck($913,$914,$915,0,$916,$918); + } + $919 = HEAP32[$59>>2]|0; + $920 = ($919|0)!=(0); + if ($920) { + label = 151; + } else { + $921 = HEAP8[$28>>0]|0; + $922 = $921&255; + $923 = ($922|0)!=(0); + if ($923) { + label = 151; + } + } + do { + if ((label|0) == 151) { + $924 = HEAP32[$17>>2]|0; + $925 = ($924|0)!=(0|0); + $926 = HEAP32[$15>>2]|0; + $927 = HEAP32[$20>>2]|0; + if ($925) { + $928 = HEAP32[$50>>2]|0; + $929 = HEAP32[$42>>2]|0; + $930 = (_sqlite3VdbeAddOp4Int($926,30,$927,0,$928,$929)|0); + HEAP32[$58>>2] = $930; + break; + } else { + $931 = HEAP32[$45>>2]|0; + $932 = (_sqlite3VdbeAddOp3($926,33,$927,0,$931)|0); + HEAP32[$58>>2] = $932; + break; + } + } + } while(0); + $933 = HEAP32[$5>>2]|0; + $934 = HEAP32[$12>>2]|0; + $935 = HEAP32[$20>>2]|0; + $936 = HEAP32[$21>>2]|0; + $937 = HEAP32[$23>>2]|0; + _sqlite3GenerateRowIndexDelete($933,$934,$935,$936,$937,-1); + $938 = HEAP32[$34>>2]|0; + $939 = ($938|0)!=(0); + if ($939) { + label = 156; + } else { + $940 = HEAP8[$28>>0]|0; + $941 = $940&255; + $942 = ($941|0)!=(0); + $943 = HEAP32[$17>>2]|0; + $944 = ($943|0)!=(0|0); + $or$cond23 = $942 | $944; + if ($or$cond23) { + label = 156; + } + } + if ((label|0) == 156) { + $945 = HEAP32[$15>>2]|0; + $946 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp2($945,117,$946,0)|0); + } + $947 = HEAP32[$59>>2]|0; + $948 = ($947|0)!=(0); + if ($948) { + label = 159; + } else { + $949 = HEAP8[$28>>0]|0; + $950 = $949&255; + $951 = ($950|0)!=(0); + if ($951) { + label = 159; + } + } + if ((label|0) == 159) { + $952 = HEAP32[$15>>2]|0; + $953 = HEAP32[$58>>2]|0; + _sqlite3VdbeJumpHere($952,$953); + } + $954 = HEAP32[$34>>2]|0; + $955 = ($954|0)!=(0); + if ($955) { + $956 = HEAP32[$5>>2]|0; + $957 = HEAP32[$12>>2]|0; + $958 = HEAP32[$46>>2]|0; + $959 = HEAP32[$24>>2]|0; + $960 = HEAP8[$28>>0]|0; + $961 = $960&255; + _sqlite3FkCheck($956,$957,0,$958,$959,$961); + } + $962 = HEAP32[$5>>2]|0; + $963 = HEAP32[$12>>2]|0; + $964 = HEAP32[$20>>2]|0; + $965 = HEAP32[$21>>2]|0; + $966 = HEAP32[$46>>2]|0; + $967 = HEAP32[$23>>2]|0; + _sqlite3CompleteInsertion($962,$963,$964,$965,$966,$967,1,0,0); + $968 = HEAP32[$34>>2]|0; + $969 = ($968|0)!=(0); + if (!($969)) { + break; + } + $970 = HEAP32[$5>>2]|0; + $971 = HEAP32[$12>>2]|0; + $972 = HEAP32[$7>>2]|0; + $973 = HEAP32[$45>>2]|0; + $974 = HEAP32[$24>>2]|0; + $975 = HEAP8[$28>>0]|0; + $976 = $975&255; + _sqlite3FkActions($970,$971,$972,$973,$974,$976); + } + } while(0); + $977 = HEAP32[$22>>2]|0; + $978 = ((($977)) + 24|0); + $979 = HEAP32[$978>>2]|0; + $980 = $979 & 128; + $981 = ($980|0)!=(0); + do { + if ($981) { + $982 = HEAP32[$5>>2]|0; + $983 = ((($982)) + 128|0); + $984 = HEAP32[$983>>2]|0; + $985 = ($984|0)!=(0|0); + if ($985) { + break; + } + $986 = HEAP32[$15>>2]|0; + $987 = HEAP32[$44>>2]|0; + (_sqlite3VdbeAddOp2($986,91,$987,1)|0); + } + } while(0); + $988 = HEAP32[$5>>2]|0; + $989 = HEAP32[$38>>2]|0; + $990 = HEAP32[$7>>2]|0; + $991 = HEAP32[$12>>2]|0; + $992 = HEAP32[$45>>2]|0; + $993 = HEAP32[$9>>2]|0; + $994 = HEAP32[$36>>2]|0; + _sqlite3CodeRowTrigger($988,$989,110,$990,2,$991,$992,$993,$994); + $995 = HEAP32[$33>>2]|0; + $996 = ($995|0)!=(0); + do { + if (!($996)) { + $997 = HEAP32[$17>>2]|0; + $998 = ($997|0)!=(0|0); + $999 = HEAP32[$15>>2]|0; + $1000 = HEAP32[$36>>2]|0; + if ($998) { + _sqlite3VdbeResolveLabel($999,$1000); + $1001 = HEAP32[$15>>2]|0; + $1002 = HEAP32[$41>>2]|0; + $1003 = HEAP32[$13>>2]|0; + (_sqlite3VdbeAddOp2($1001,7,$1002,$1003)|0); + break; + } else { + (_sqlite3VdbeGoto($999,$1000)|0); + break; + } + } + } while(0); + $1004 = HEAP32[$15>>2]|0; + $1005 = HEAP32[$35>>2]|0; + _sqlite3VdbeResolveLabel($1004,$1005); + HEAP32[$10>>2] = 0; + $1006 = HEAP32[$12>>2]|0; + $1007 = ((($1006)) + 8|0); + $1008 = HEAP32[$1007>>2]|0; + HEAP32[$16>>2] = $1008; + while(1) { + $1009 = HEAP32[$16>>2]|0; + $1010 = ($1009|0)!=(0|0); + if (!($1010)) { + break; + } + $1011 = HEAP32[$25>>2]|0; + $1012 = HEAP32[$10>>2]|0; + $1013 = (($1012) + 1)|0; + $1014 = (($1011) + ($1013)|0); + $1015 = HEAP8[$1014>>0]|0; + $1016 = ($1015<<24>>24)!=(0); + if ($1016) { + $1017 = HEAP32[$15>>2]|0; + $1018 = HEAP32[$21>>2]|0; + $1019 = HEAP32[$10>>2]|0; + $1020 = (($1018) + ($1019))|0; + (_sqlite3VdbeAddOp2($1017,111,$1020,0)|0); + } + $1021 = HEAP32[$16>>2]|0; + $1022 = ((($1021)) + 20|0); + $1023 = HEAP32[$1022>>2]|0; + HEAP32[$16>>2] = $1023; + $1024 = HEAP32[$10>>2]|0; + $1025 = (($1024) + 1)|0; + HEAP32[$10>>2] = $1025; + } + $1026 = HEAP32[$20>>2]|0; + $1027 = HEAP32[$21>>2]|0; + $1028 = ($1026|0)<($1027|0); + if ($1028) { + $1029 = HEAP32[$15>>2]|0; + $1030 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp2($1029,111,$1030,0)|0); + } + $1031 = HEAP32[$5>>2]|0; + $1032 = ((($1031)) + 18|0); + $1033 = HEAP8[$1032>>0]|0; + $1034 = $1033&255; + $1035 = ($1034|0)==(0); + do { + if ($1035) { + $1036 = HEAP32[$5>>2]|0; + $1037 = ((($1036)) + 128|0); + $1038 = HEAP32[$1037>>2]|0; + $1039 = ($1038|0)==(0|0); + if (!($1039)) { + break; + } + $1040 = HEAP32[$5>>2]|0; + _sqlite3AutoincrementEnd($1040); + } + } while(0); + $1041 = HEAP32[$22>>2]|0; + $1042 = ((($1041)) + 24|0); + $1043 = HEAP32[$1042>>2]|0; + $1044 = $1043 & 128; + $1045 = ($1044|0)!=(0); + if (!($1045)) { + break; + } + $1046 = HEAP32[$5>>2]|0; + $1047 = ((($1046)) + 128|0); + $1048 = HEAP32[$1047>>2]|0; + $1049 = ($1048|0)!=(0|0); + if ($1049) { + break; + } + $1050 = HEAP32[$5>>2]|0; + $1051 = ((($1050)) + 18|0); + $1052 = HEAP8[$1051>>0]|0; + $1053 = ($1052<<24>>24)!=(0); + if ($1053) { + break; + } + $1054 = HEAP32[$15>>2]|0; + $1055 = HEAP32[$44>>2]|0; + (_sqlite3VdbeAddOp2($1054,87,$1055,1)|0); + $1056 = HEAP32[$15>>2]|0; + _sqlite3VdbeSetNumCols($1056,1); + $1057 = HEAP32[$15>>2]|0; + (_sqlite3VdbeSetColName($1057,0,0,34772,0)|0); + } + } } - $703 = HEAP32[$i>>2]|0; - $704 = HEAP32[$pTab>>2]|0; - $705 = ((($704)) + 4|0); - $706 = HEAP32[$705>>2]|0; - $707 = (($706) + ($703<<4)|0); - $708 = ((($707)) + 15|0); - $709 = HEAP8[$708>>0]|0; - $710 = $709&255; - $711 = $710 & 1; - $712 = ($711|0)!=(0); - if ($712) { - label = 120; - break; - } - $720 = HEAP32[$v>>2]|0; - $721 = HEAP32[$regOld>>2]|0; - $722 = HEAP32[$i>>2]|0; - $723 = (($721) + ($722))|0; - (_sqlite3VdbeAddOp2($720,79,0,$723)|0); - } - } while(0); - if ((label|0) == 120) { - label = 0; - $713 = HEAP32[$v>>2]|0; - $714 = HEAP32[$pTab>>2]|0; - $715 = HEAP32[$iDataCur>>2]|0; - $716 = HEAP32[$i>>2]|0; - $717 = HEAP32[$regOld>>2]|0; - $718 = HEAP32[$i>>2]|0; - $719 = (($717) + ($718))|0; - _sqlite3ExprCodeGetColumnOfTable($713,$714,$715,$716,$719); - } - $724 = HEAP32[$i>>2]|0; - $725 = (($724) + 1)|0; - HEAP32[$i>>2] = $725; - } - $726 = HEAP8[$chngRowid>>0]|0; - $727 = $726&255; - $728 = ($727|0)==(0); - $729 = HEAP32[$pPk>>2]|0; - $730 = ($729|0)==(0|0); - $or$cond19 = $728 & $730; - if (!($or$cond19)) { - break; - } - $731 = HEAP32[$v>>2]|0; - $732 = HEAP32[$regOldRowid>>2]|0; - $733 = HEAP32[$regNewRowid>>2]|0; - (_sqlite3VdbeAddOp2($731,84,$732,$733)|0); - } - } while(0); - $734 = HEAP32[$0>>2]|0; - $735 = HEAP32[$pTrigger>>2]|0; - $736 = HEAP32[$2>>2]|0; - $737 = HEAP32[$pTab>>2]|0; - $738 = HEAP32[$4>>2]|0; - $739 = (_sqlite3TriggerColmask($734,$735,$736,1,1,$737,$738)|0); - HEAP32[$newmask>>2] = $739; - HEAP32[$i>>2] = 0; - while(1) { - $740 = HEAP32[$i>>2]|0; - $741 = HEAP32[$pTab>>2]|0; - $742 = ((($741)) + 34|0); - $743 = HEAP16[$742>>1]|0; - $744 = $743 << 16 >> 16; - $745 = ($740|0)<($744|0); - if (!($745)) { - break; - } - $746 = HEAP32[$i>>2]|0; - $747 = HEAP32[$pTab>>2]|0; - $748 = ((($747)) + 32|0); - $749 = HEAP16[$748>>1]|0; - $750 = $749 << 16 >> 16; - $751 = ($746|0)==($750|0); - L192: do { - if ($751) { - $752 = HEAP32[$v>>2]|0; - $753 = HEAP32[$regNew>>2]|0; - $754 = HEAP32[$i>>2]|0; - $755 = (($753) + ($754))|0; - (_sqlite3VdbeAddOp2($752,79,0,$755)|0); - } else { - $756 = HEAP32[$i>>2]|0; - $757 = HEAP32[$aXRef>>2]|0; - $758 = (($757) + ($756<<2)|0); - $759 = HEAP32[$758>>2]|0; - HEAP32[$j>>2] = $759; - $760 = HEAP32[$j>>2]|0; - $761 = ($760|0)>=(0); - if ($761) { - $762 = HEAP32[$0>>2]|0; - $763 = HEAP32[$j>>2]|0; - $764 = HEAP32[$2>>2]|0; - $765 = ((($764)) + 4|0); - $766 = HEAP32[$765>>2]|0; - $767 = (($766) + (($763*20)|0)|0); - $768 = HEAP32[$767>>2]|0; - $769 = HEAP32[$regNew>>2]|0; - $770 = HEAP32[$i>>2]|0; - $771 = (($769) + ($770))|0; - _sqlite3ExprCode($762,$768,$771); - break; - } - $772 = HEAP32[$tmask>>2]|0; - $773 = $772 & 1; - $774 = (0)==($773|0); - $775 = HEAP32[$i>>2]|0; - $776 = ($775|0)>(31); - $or$cond21 = $774 | $776; - do { - if (!($or$cond21)) { - $777 = HEAP32[$newmask>>2]|0; - $778 = HEAP32[$i>>2]|0; - $779 = 1 << $778; - $780 = $777 & $779; - $781 = ($780|0)!=(0); - if ($781) { - break; - } - $789 = HEAP32[$v>>2]|0; - $790 = HEAP32[$regNew>>2]|0; - $791 = HEAP32[$i>>2]|0; - $792 = (($790) + ($791))|0; - (_sqlite3VdbeAddOp2($789,79,0,$792)|0); - break L192; - } - } while(0); - $782 = HEAP32[$0>>2]|0; - $783 = HEAP32[$pTab>>2]|0; - $784 = HEAP32[$i>>2]|0; - $785 = HEAP32[$iDataCur>>2]|0; - $786 = HEAP32[$regNew>>2]|0; - $787 = HEAP32[$i>>2]|0; - $788 = (($786) + ($787))|0; - _sqlite3ExprCodeGetColumnToReg($782,$783,$784,$785,$788); - } - } while(0); - $793 = HEAP32[$i>>2]|0; - $794 = (($793) + 1)|0; - HEAP32[$i>>2] = $794; - } - $795 = HEAP32[$tmask>>2]|0; - $796 = $795 & 1; - $797 = ($796|0)!=(0); - L204: do { - if ($797) { - $798 = HEAP32[$v>>2]|0; - $799 = HEAP32[$pTab>>2]|0; - $800 = HEAP32[$regNew>>2]|0; - _sqlite3TableAffinity($798,$799,$800); - $801 = HEAP32[$0>>2]|0; - $802 = HEAP32[$pTrigger>>2]|0; - $803 = HEAP32[$2>>2]|0; - $804 = HEAP32[$pTab>>2]|0; - $805 = HEAP32[$regOldRowid>>2]|0; - $806 = HEAP32[$4>>2]|0; - $807 = HEAP32[$labelContinue>>2]|0; - _sqlite3CodeRowTrigger($801,$802,110,$803,1,$804,$805,$806,$807); - $808 = HEAP32[$pPk>>2]|0; - $809 = ($808|0)!=(0|0); - $810 = HEAP32[$v>>2]|0; - $811 = HEAP32[$iDataCur>>2]|0; - $812 = HEAP32[$labelContinue>>2]|0; - if ($809) { - $813 = HEAP32[$regKey>>2]|0; - $814 = HEAP32[$nKey>>2]|0; - (_sqlite3VdbeAddOp4Int($810,30,$811,$812,$813,$814)|0); - } else { - $815 = HEAP32[$regOldRowid>>2]|0; - (_sqlite3VdbeAddOp3($810,33,$811,$812,$815)|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $816 = HEAP32[$i>>2]|0; - $817 = HEAP32[$pTab>>2]|0; - $818 = ((($817)) + 34|0); - $819 = HEAP16[$818>>1]|0; - $820 = $819 << 16 >> 16; - $821 = ($816|0)<($820|0); - if (!($821)) { - break L204; - } - $822 = HEAP32[$i>>2]|0; - $823 = HEAP32[$aXRef>>2]|0; - $824 = (($823) + ($822<<2)|0); - $825 = HEAP32[$824>>2]|0; - $826 = ($825|0)<(0); - do { - if ($826) { - $827 = HEAP32[$i>>2]|0; - $828 = HEAP32[$pTab>>2]|0; - $829 = ((($828)) + 32|0); - $830 = HEAP16[$829>>1]|0; - $831 = $830 << 16 >> 16; - $832 = ($827|0)!=($831|0); - if (!($832)) { - break; - } - $833 = HEAP32[$v>>2]|0; - $834 = HEAP32[$pTab>>2]|0; - $835 = HEAP32[$iDataCur>>2]|0; - $836 = HEAP32[$i>>2]|0; - $837 = HEAP32[$regNew>>2]|0; - $838 = HEAP32[$i>>2]|0; - $839 = (($837) + ($838))|0; - _sqlite3ExprCodeGetColumnOfTable($833,$834,$835,$836,$839); - } - } while(0); - $840 = HEAP32[$i>>2]|0; - $841 = (($840) + 1)|0; - HEAP32[$i>>2] = $841; - } - } - } while(0); - $842 = HEAP32[$isView>>2]|0; - $843 = ($842|0)!=(0); - do { - if (!($843)) { - HEAP32[$addr1>>2] = 0; - HEAP32[$bReplace>>2] = 0; - $844 = HEAP32[$0>>2]|0; - $845 = HEAP32[$pTab>>2]|0; - $846 = HEAP32[$aRegIdx>>2]|0; - $847 = HEAP32[$iDataCur>>2]|0; - $848 = HEAP32[$iIdxCur>>2]|0; - $849 = HEAP32[$regNewRowid>>2]|0; - $850 = HEAP32[$regOldRowid>>2]|0; - $851 = HEAP8[$chngKey>>0]|0; - $852 = HEAP32[$4>>2]|0; - $853 = $852&255; - $854 = HEAP32[$labelContinue>>2]|0; - $855 = HEAP32[$aXRef>>2]|0; - _sqlite3GenerateConstraintChecks($844,$845,$846,$847,$848,$849,$850,$851,$853,$854,$bReplace,$855); - $856 = HEAP32[$hasFK>>2]|0; - $857 = ($856|0)!=(0); - if ($857) { - $858 = HEAP32[$0>>2]|0; - $859 = HEAP32[$pTab>>2]|0; - $860 = HEAP32[$regOldRowid>>2]|0; - $861 = HEAP32[$aXRef>>2]|0; - $862 = HEAP8[$chngKey>>0]|0; - $863 = $862&255; - _sqlite3FkCheck($858,$859,$860,0,$861,$863); - } - $864 = HEAP32[$bReplace>>2]|0; - $865 = ($864|0)!=(0); - if ($865) { - label = 151; - } else { - $866 = HEAP8[$chngKey>>0]|0; - $867 = $866&255; - $868 = ($867|0)!=(0); - if ($868) { - label = 151; - } - } - do { - if ((label|0) == 151) { - $869 = HEAP32[$pPk>>2]|0; - $870 = ($869|0)!=(0|0); - $871 = HEAP32[$v>>2]|0; - $872 = HEAP32[$iDataCur>>2]|0; - if ($870) { - $873 = HEAP32[$regKey>>2]|0; - $874 = HEAP32[$nKey>>2]|0; - $875 = (_sqlite3VdbeAddOp4Int($871,30,$872,0,$873,$874)|0); - HEAP32[$addr1>>2] = $875; - break; - } else { - $876 = HEAP32[$regOldRowid>>2]|0; - $877 = (_sqlite3VdbeAddOp3($871,33,$872,0,$876)|0); - HEAP32[$addr1>>2] = $877; - break; } } - } while(0); - $878 = HEAP32[$0>>2]|0; - $879 = HEAP32[$pTab>>2]|0; - $880 = HEAP32[$iDataCur>>2]|0; - $881 = HEAP32[$iIdxCur>>2]|0; - $882 = HEAP32[$aRegIdx>>2]|0; - _sqlite3GenerateRowIndexDelete($878,$879,$880,$881,$882,-1); - $883 = HEAP32[$hasFK>>2]|0; - $884 = ($883|0)!=(0); - if ($884) { - label = 156; - } else { - $885 = HEAP8[$chngKey>>0]|0; - $886 = $885&255; - $887 = ($886|0)!=(0); - $888 = HEAP32[$pPk>>2]|0; - $889 = ($888|0)!=(0|0); - $or$cond23 = $887 | $889; - if ($or$cond23) { - label = 156; - } - } - if ((label|0) == 156) { - $890 = HEAP32[$v>>2]|0; - $891 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp2($890,117,$891,0)|0); - } - $892 = HEAP32[$bReplace>>2]|0; - $893 = ($892|0)!=(0); - if ($893) { - label = 159; - } else { - $894 = HEAP8[$chngKey>>0]|0; - $895 = $894&255; - $896 = ($895|0)!=(0); - if ($896) { - label = 159; - } - } - if ((label|0) == 159) { - $897 = HEAP32[$v>>2]|0; - $898 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($897,$898); - } - $899 = HEAP32[$hasFK>>2]|0; - $900 = ($899|0)!=(0); - if ($900) { - $901 = HEAP32[$0>>2]|0; - $902 = HEAP32[$pTab>>2]|0; - $903 = HEAP32[$regNewRowid>>2]|0; - $904 = HEAP32[$aXRef>>2]|0; - $905 = HEAP8[$chngKey>>0]|0; - $906 = $905&255; - _sqlite3FkCheck($901,$902,0,$903,$904,$906); - } - $907 = HEAP32[$0>>2]|0; - $908 = HEAP32[$pTab>>2]|0; - $909 = HEAP32[$iDataCur>>2]|0; - $910 = HEAP32[$iIdxCur>>2]|0; - $911 = HEAP32[$regNewRowid>>2]|0; - $912 = HEAP32[$aRegIdx>>2]|0; - _sqlite3CompleteInsertion($907,$908,$909,$910,$911,$912,1,0,0); - $913 = HEAP32[$hasFK>>2]|0; - $914 = ($913|0)!=(0); - if (!($914)) { - break; - } - $915 = HEAP32[$0>>2]|0; - $916 = HEAP32[$pTab>>2]|0; - $917 = HEAP32[$2>>2]|0; - $918 = HEAP32[$regOldRowid>>2]|0; - $919 = HEAP32[$aXRef>>2]|0; - $920 = HEAP8[$chngKey>>0]|0; - $921 = $920&255; - _sqlite3FkActions($915,$916,$917,$918,$919,$921); - } - } while(0); - $922 = HEAP32[$db>>2]|0; - $923 = ((($922)) + 24|0); - $924 = HEAP32[$923>>2]|0; - $925 = $924 & 128; - $926 = ($925|0)!=(0); - do { - if ($926) { - $927 = HEAP32[$0>>2]|0; - $928 = ((($927)) + 128|0); - $929 = HEAP32[$928>>2]|0; - $930 = ($929|0)!=(0|0); - if ($930) { - break; - } - $931 = HEAP32[$v>>2]|0; - $932 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($931,91,$932,1)|0); - } - } while(0); - $933 = HEAP32[$0>>2]|0; - $934 = HEAP32[$pTrigger>>2]|0; - $935 = HEAP32[$2>>2]|0; - $936 = HEAP32[$pTab>>2]|0; - $937 = HEAP32[$regOldRowid>>2]|0; - $938 = HEAP32[$4>>2]|0; - $939 = HEAP32[$labelContinue>>2]|0; - _sqlite3CodeRowTrigger($933,$934,110,$935,2,$936,$937,$938,$939); - $940 = HEAP32[$okOnePass>>2]|0; - $941 = ($940|0)!=(0); - do { - if (!($941)) { - $942 = HEAP32[$pPk>>2]|0; - $943 = ($942|0)!=(0|0); - $944 = HEAP32[$v>>2]|0; - $945 = HEAP32[$labelContinue>>2]|0; - if ($943) { - _sqlite3VdbeResolveLabel($944,$945); - $946 = HEAP32[$v>>2]|0; - $947 = HEAP32[$iEph>>2]|0; - $948 = HEAP32[$addrTop>>2]|0; - (_sqlite3VdbeAddOp2($946,7,$947,$948)|0); - break; - } else { - (_sqlite3VdbeGoto($944,$945)|0); - break; - } - } - } while(0); - $949 = HEAP32[$v>>2]|0; - $950 = HEAP32[$labelBreak>>2]|0; - _sqlite3VdbeResolveLabel($949,$950); - HEAP32[$i>>2] = 0; - $951 = HEAP32[$pTab>>2]|0; - $952 = ((($951)) + 8|0); - $953 = HEAP32[$952>>2]|0; - HEAP32[$pIdx>>2] = $953; - while(1) { - $954 = HEAP32[$pIdx>>2]|0; - $955 = ($954|0)!=(0|0); - if (!($955)) { - break; - } - $956 = HEAP32[$i>>2]|0; - $957 = (($956) + 1)|0; - $958 = HEAP32[$aToOpen>>2]|0; - $959 = (($958) + ($957)|0); - $960 = HEAP8[$959>>0]|0; - $961 = ($960<<24>>24)!=(0); - if ($961) { - $962 = HEAP32[$v>>2]|0; - $963 = HEAP32[$iIdxCur>>2]|0; - $964 = HEAP32[$i>>2]|0; - $965 = (($963) + ($964))|0; - (_sqlite3VdbeAddOp2($962,111,$965,0)|0); - } - $966 = HEAP32[$pIdx>>2]|0; - $967 = ((($966)) + 20|0); - $968 = HEAP32[$967>>2]|0; - HEAP32[$pIdx>>2] = $968; - $969 = HEAP32[$i>>2]|0; - $970 = (($969) + 1)|0; - HEAP32[$i>>2] = $970; - } - $971 = HEAP32[$iDataCur>>2]|0; - $972 = HEAP32[$iIdxCur>>2]|0; - $973 = ($971|0)<($972|0); - if ($973) { - $974 = HEAP32[$v>>2]|0; - $975 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp2($974,111,$975,0)|0); - } - $976 = HEAP32[$0>>2]|0; - $977 = ((($976)) + 18|0); - $978 = HEAP8[$977>>0]|0; - $979 = $978&255; - $980 = ($979|0)==(0); - do { - if ($980) { - $981 = HEAP32[$0>>2]|0; - $982 = ((($981)) + 128|0); - $983 = HEAP32[$982>>2]|0; - $984 = ($983|0)==(0|0); - if (!($984)) { - break; } - $985 = HEAP32[$0>>2]|0; - _sqlite3AutoincrementEnd($985); } - } while(0); - $986 = HEAP32[$db>>2]|0; - $987 = ((($986)) + 24|0); - $988 = HEAP32[$987>>2]|0; - $989 = $988 & 128; - $990 = ($989|0)!=(0); - if (!($990)) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; } - $991 = HEAP32[$0>>2]|0; - $992 = ((($991)) + 128|0); - $993 = HEAP32[$992>>2]|0; - $994 = ($993|0)!=(0|0); - if ($994) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $995 = HEAP32[$0>>2]|0; - $996 = ((($995)) + 18|0); - $997 = HEAP8[$996>>0]|0; - $998 = ($997<<24>>24)!=(0); - if ($998) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - $999 = HEAP32[$v>>2]|0; - $1000 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($999,87,$1000,1)|0); - $1001 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($1001,1); - $1002 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1002,0,0,35325,0)|0); - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } - else if ((label|0) == 185) { - _sqlite3AuthContextPop($sContext); - $1003 = HEAP32[$db>>2]|0; - $1004 = HEAP32[$aXRef>>2]|0; - _sqlite3DbFree($1003,$1004); - $1005 = HEAP32[$db>>2]|0; - $1006 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($1005,$1006); - $1007 = HEAP32[$db>>2]|0; - $1008 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($1007,$1008); - $1009 = HEAP32[$db>>2]|0; - $1010 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($1009,$1010); - STACKTOP = sp;return; - } + } while(0); + _sqlite3AuthContextPop($30); + $1058 = HEAP32[$22>>2]|0; + $1059 = HEAP32[$24>>2]|0; + _sqlite3DbFree($1058,$1059); + $1060 = HEAP32[$22>>2]|0; + $1061 = HEAP32[$6>>2]|0; + _sqlite3SrcListDelete($1060,$1061); + $1062 = HEAP32[$22>>2]|0; + $1063 = HEAP32[$7>>2]|0; + _sqlite3ExprListDelete($1062,$1063); + $1064 = HEAP32[$22>>2]|0; + $1065 = HEAP32[$8>>2]|0; + _sqlite3ExprDelete($1064,$1065); + STACKTOP = sp;return; } -function _sqlite3ExprListAppendVector($pParse,$pList,$pColumns,$pExpr) { - $pParse = $pParse|0; - $pList = $pList|0; - $pColumns = $pColumns|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $db = 0, $i = 0, $iFirst = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $pSubExpr = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, label = 0, sp = 0; +function _sqlite3ExprListAppendVector($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, $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, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $db = sp + 24|0; - $n = sp + 20|0; - $i = sp + 16|0; - $iFirst = sp + 12|0; - $pSubExpr = sp + 8|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pList; - HEAP32[$2>>2] = $pColumns; - HEAP32[$3>>2] = $pExpr; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = $9; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$8>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = ($15|0)!=(0|0); + if ($16) { + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = $18; } else { - $10 = 0; + $19 = 0; } - HEAP32[$iFirst>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)==(0|0); - $13 = HEAP32[$3>>2]|0; - $14 = ($13|0)==(0|0); - $or$cond = $12 | $14; + HEAP32[$11>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = ($20|0)==(0|0); + $22 = HEAP32[$7>>2]|0; + $23 = ($22|0)==(0|0); + $or$cond = $21 | $23; do { if (!($or$cond)) { - $15 = HEAP32[$3>>2]|0; - $16 = (_sqlite3ExprVectorSize($15)|0); - HEAP32[$n>>2] = $16; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$n>>2]|0; - $21 = ($19|0)!=($20|0); - if ($21) { - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$n>>2]|0; - HEAP32[$vararg_buffer>>2] = $25; + $24 = HEAP32[$7>>2]|0; + $25 = (_sqlite3ExprVectorSize($24)|0); + HEAP32[$9>>2] = $25; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$9>>2]|0; + $30 = ($28|0)!=($29|0); + if ($30) { + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$9>>2]|0; + HEAP32[$vararg_buffer>>2] = $34; $vararg_ptr4 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $26; - _sqlite3ErrorMsg($22,35295,$vararg_buffer); + HEAP32[$vararg_ptr4>>2] = $35; + _sqlite3ErrorMsg($31,34723,$vararg_buffer); break; } - HEAP32[$i>>2] = 0; + HEAP32[$10>>2] = 0; while(1) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$n>>2]|0; - $29 = ($27|0)<($28|0); - if (!($29)) { + $36 = HEAP32[$10>>2]|0; + $37 = HEAP32[$9>>2]|0; + $38 = ($36|0)<($37|0); + if (!($38)) { break; } - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = HEAP32[$i>>2]|0; - $33 = (_sqlite3ExprForVectorField($30,$31,$32)|0); - HEAP32[$pSubExpr>>2] = $33; - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = HEAP32[$pSubExpr>>2]|0; - $37 = (_sqlite3ExprListAppend($34,$35,$36)|0); - HEAP32[$1>>2] = $37; - $38 = HEAP32[$1>>2]|0; - $39 = ($38|0)!=(0|0); - if ($39) { - $40 = HEAP32[$i>>2]|0; - $41 = HEAP32[$2>>2]|0; - $42 = HEAP32[$41>>2]|0; - $43 = (($42) + ($40<<3)|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = (($46) - 1)|0; - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 4|0); + $39 = HEAP32[$4>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$10>>2]|0; + $42 = (_sqlite3ExprForVectorField($39,$40,$41)|0); + HEAP32[$12>>2] = $42; + $43 = HEAP32[$4>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = HEAP32[$12>>2]|0; + $46 = (_sqlite3ExprListAppend($43,$44,$45)|0); + HEAP32[$5>>2] = $46; + $47 = HEAP32[$5>>2]|0; + $48 = ($47|0)!=(0|0); + if ($48) { + $49 = HEAP32[$6>>2]|0; $50 = HEAP32[$49>>2]|0; - $51 = (($50) + (($47*20)|0)|0); - $52 = ((($51)) + 4|0); - HEAP32[$52>>2] = $44; - $53 = HEAP32[$i>>2]|0; - $54 = HEAP32[$2>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + ($53<<3)|0); - HEAP32[$56>>2] = 0; + $51 = HEAP32[$10>>2]|0; + $52 = (($50) + ($51<<3)|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$5>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$5>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = (($58) - 1)|0; + $60 = (($56) + (($59*20)|0)|0); + $61 = ((($60)) + 4|0); + HEAP32[$61>>2] = $53; + $62 = HEAP32[$6>>2]|0; + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$10>>2]|0; + $65 = (($63) + ($64<<3)|0); + HEAP32[$65>>2] = 0; } - $57 = HEAP32[$i>>2]|0; - $58 = (($57) + 1)|0; - HEAP32[$i>>2] = $58; + $66 = HEAP32[$10>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$10>>2] = $67; } - $59 = HEAP32[$3>>2]|0; - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = ($61|0)==(119); - $63 = HEAP32[$1>>2]|0; - $64 = ($63|0)!=(0|0); - $or$cond3 = $62 & $64; + $68 = HEAP32[$7>>2]|0; + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ($70|0)==(119); + $72 = HEAP32[$5>>2]|0; + $73 = ($72|0)!=(0|0); + $or$cond3 = $71 & $73; if ($or$cond3) { - $65 = HEAP32[$iFirst>>2]|0; - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 4|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68) + (($65*20)|0)|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)!=(0|0); - if ($71) { - $72 = HEAP32[$3>>2]|0; - $73 = HEAP32[$iFirst>>2]|0; - $74 = HEAP32[$1>>2]|0; - $75 = ((($74)) + 4|0); - $76 = HEAP32[$75>>2]|0; - $77 = (($76) + (($73*20)|0)|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($78)) + 16|0); - HEAP32[$79>>2] = $72; - HEAP32[$3>>2] = 0; + $74 = HEAP32[$5>>2]|0; + $75 = ((($74)) + 4|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$11>>2]|0; + $78 = (($76) + (($77*20)|0)|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0|0); + if ($80) { + $81 = HEAP32[$7>>2]|0; + $82 = HEAP32[$5>>2]|0; + $83 = ((($82)) + 4|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$11>>2]|0; + $86 = (($84) + (($85*20)|0)|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($87)) + 16|0); + HEAP32[$88>>2] = $81; + HEAP32[$7>>2] = 0; } } } } while(0); - $80 = HEAP32[$db>>2]|0; - $81 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($80,$81); - $82 = HEAP32[$db>>2]|0; - $83 = HEAP32[$2>>2]|0; - _sqlite3IdListDelete($82,$83); - $84 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($84|0); + $89 = HEAP32[$8>>2]|0; + $90 = HEAP32[$7>>2]|0; + _sqlite3ExprDelete($89,$90); + $91 = HEAP32[$8>>2]|0; + $92 = HEAP32[$6>>2]|0; + _sqlite3IdListDelete($91,$92); + $93 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($93|0); } -function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { - $pParse = $pParse|0; - $pTabList = $pTabList|0; - $pSelect = $pSelect|0; - $pColumn = $pColumn|0; - $onError = $onError|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; - var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0; - var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0; - var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0; - var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; - var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; - var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; - var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; - var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; - var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; - var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0; - var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0; - var $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0; - var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0; - var $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0; - var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0; - var $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0; - var $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0; - var $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0; - var $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0; - var $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0; - var $927 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aRegIdx = 0, $addr1 = 0, $addr11 = 0, $addrCont = 0, $addrInsTop = 0, $addrL = 0, $addrTop = 0, $appendFlag = 0, $bIdListInOrder = 0, $db = 0, $dest = 0, $endOfLoop = 0; - var $i = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $iRegStore = 0, $idx = 0, $ipkColumn = 0, $isReplace = 0, $isView = 0, $j = 0, $nColumn = 0, $nHidden = 0, $nIdx = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pIdx = 0; - var $pList = 0, $pOp = 0, $pTab = 0, $pTrigger = 0, $pVTab = 0, $rc = 0, $regAutoinc = 0, $regCols = 0, $regData = 0, $regFromSelect = 0, $regIns = 0, $regRec = 0, $regRowCount = 0, $regRowid = 0, $regTempRowid = 0, $regYield = 0, $sNC = 0, $srcTab = 0, $tmask = 0, $useTempTable = 0; - var $v = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer20 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $withoutRowid = 0, $zTab = 0, label = 0, sp = 0; +function _sqlite3Insert($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; + var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; + var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; + var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; + var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0; + var $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0; + var $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0; + var $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0; + var $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0; + var $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0; + var $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0; + var $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0; + var $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0; + var $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0; + var $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0; + var $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0; + var $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0; + var $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0; + var $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0; + var $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0; + var $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0; + var $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0; + var $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0; + var $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0; + var $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0; + var $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0; + var $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0; + var $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0; + var $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0; + var $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0; + var $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0; + var $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $99 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0; + var $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer20 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 304|0; $vararg_buffer20 = sp + 32|0; $vararg_buffer14 = sp + 16|0; $vararg_buffer = sp; - $0 = sp + 284|0; - $1 = sp + 280|0; - $2 = sp + 276|0; - $3 = sp + 272|0; - $4 = sp + 268|0; - $db = sp + 264|0; - $pTab = sp + 260|0; - $zTab = sp + 256|0; - $i = sp + 252|0; - $j = sp + 248|0; - $idx = sp + 244|0; - $v = sp + 240|0; - $pIdx = sp + 236|0; - $nColumn = sp + 232|0; - $nHidden = sp + 228|0; - $iDataCur = sp + 224|0; - $iIdxCur = sp + 220|0; - $ipkColumn = sp + 216|0; - $endOfLoop = sp + 212|0; - $srcTab = sp + 208|0; - $addrInsTop = sp + 204|0; - $addrCont = sp + 200|0; - $dest = sp + 176|0; - $iDb = sp + 172|0; - $useTempTable = sp + 291|0; - $appendFlag = sp + 290|0; - $withoutRowid = sp + 289|0; - $bIdListInOrder = sp + 288|0; - $pList = sp + 168|0; - $regFromSelect = sp + 164|0; - $regAutoinc = sp + 160|0; - $regRowCount = sp + 156|0; - $regIns = sp + 152|0; - $regRowid = sp + 148|0; - $regData = sp + 144|0; - $aRegIdx = sp + 140|0; - $isView = sp + 136|0; - $pTrigger = sp + 132|0; - $tmask = sp + 128|0; - $regYield = sp + 124|0; - $addrTop = sp + 120|0; - $rc = sp + 116|0; - $regRec = sp + 112|0; - $regTempRowid = sp + 108|0; - $addrL = sp + 104|0; - $sNC = sp + 72|0; - $nIdx = sp + 68|0; - $regCols = sp + 64|0; - $addr1 = sp + 60|0; - $pOp = sp + 56|0; - $addr11 = sp + 52|0; - $iRegStore = sp + 48|0; - $pVTab = sp + 44|0; - $isReplace = sp + 40|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTabList; - HEAP32[$2>>2] = $pSelect; - HEAP32[$3>>2] = $pColumn; - HEAP32[$4>>2] = $onError; - HEAP32[$nHidden>>2] = 0; - HEAP32[$iDataCur>>2] = 0; - HEAP32[$iIdxCur>>2] = 0; - HEAP32[$ipkColumn>>2] = -1; - HEAP32[$srcTab>>2] = 0; - HEAP32[$addrInsTop>>2] = 0; - HEAP32[$addrCont>>2] = 0; - HEAP8[$useTempTable>>0] = 0; - HEAP8[$appendFlag>>0] = 0; - HEAP32[$pList>>2] = 0; - HEAP32[$regFromSelect>>2] = 0; - HEAP32[$regAutoinc>>2] = 0; - HEAP32[$regRowCount>>2] = 0; - HEAP32[$aRegIdx>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - ;HEAP32[$dest>>2]=0|0;HEAP32[$dest+4>>2]=0|0;HEAP32[$dest+8>>2]=0|0;HEAP32[$dest+12>>2]=0|0;HEAP32[$dest+16>>2]=0|0;HEAP32[$dest+20>>2]=0|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 36|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0); + $5 = sp + 284|0; + $6 = sp + 280|0; + $7 = sp + 276|0; + $8 = sp + 272|0; + $9 = sp + 268|0; + $10 = sp + 264|0; + $11 = sp + 260|0; + $12 = sp + 256|0; + $13 = sp + 252|0; + $14 = sp + 248|0; + $15 = sp + 244|0; + $16 = sp + 240|0; + $17 = sp + 236|0; + $18 = sp + 232|0; + $19 = sp + 228|0; + $20 = sp + 224|0; + $21 = sp + 220|0; + $22 = sp + 216|0; + $23 = sp + 212|0; + $24 = sp + 208|0; + $25 = sp + 204|0; + $26 = sp + 200|0; + $27 = sp + 176|0; + $28 = sp + 172|0; + $29 = sp + 291|0; + $30 = sp + 290|0; + $31 = sp + 289|0; + $32 = sp + 288|0; + $33 = sp + 168|0; + $34 = sp + 164|0; + $35 = sp + 160|0; + $36 = sp + 156|0; + $37 = sp + 152|0; + $38 = sp + 148|0; + $39 = sp + 144|0; + $40 = sp + 140|0; + $41 = sp + 136|0; + $42 = sp + 132|0; + $43 = sp + 128|0; + $44 = sp + 124|0; + $45 = sp + 120|0; + $46 = sp + 116|0; + $47 = sp + 112|0; + $48 = sp + 108|0; + $49 = sp + 104|0; + $50 = sp + 72|0; + $51 = sp + 68|0; + $52 = sp + 64|0; + $53 = sp + 60|0; + $54 = sp + 56|0; + $55 = sp + 52|0; + $56 = sp + 48|0; + $57 = sp + 44|0; + $58 = sp + 40|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$19>>2] = 0; + HEAP32[$20>>2] = 0; + HEAP32[$21>>2] = 0; + HEAP32[$22>>2] = -1; + HEAP32[$24>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + HEAP8[$29>>0] = 0; + HEAP8[$30>>0] = 0; + HEAP32[$33>>2] = 0; + HEAP32[$34>>2] = 0; + HEAP32[$35>>2] = 0; + HEAP32[$36>>2] = 0; + HEAP32[$40>>2] = 0; + $59 = HEAP32[$5>>2]|0; + $60 = HEAP32[$59>>2]|0; + HEAP32[$10>>2] = $60; + ;HEAP32[$27>>2]=0|0;HEAP32[$27+4>>2]=0|0;HEAP32[$27+8>>2]=0|0;HEAP32[$27+12>>2]=0|0;HEAP32[$27+16>>2]=0|0;HEAP32[$27+20>>2]=0|0; + $61 = HEAP32[$5>>2]|0; + $62 = ((($61)) + 36|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($63|0)!=(0); L1: do { - if (!($10)) { - $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 69|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)!=(0); - if (!($15)) { - $16 = HEAP32[$2>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = $20 & 512; - $22 = ($21|0)!=(0); - if ($22) { - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 48|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)==(0|0); - if ($26) { - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$27>>2]|0; - HEAP32[$pList>>2] = $28; - $29 = HEAP32[$2>>2]|0; - HEAP32[$29>>2] = 0; - $30 = HEAP32[$db>>2]|0; - $31 = HEAP32[$2>>2]|0; - _sqlite3SelectDelete($30,$31); - HEAP32[$2>>2] = 0; + if (!($64)) { + $65 = HEAP32[$10>>2]|0; + $66 = ((($65)) + 69|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = ($68|0)!=(0); + if (!($69)) { + $70 = HEAP32[$7>>2]|0; + $71 = ($70|0)!=(0|0); + if ($71) { + $72 = HEAP32[$7>>2]|0; + $73 = ((($72)) + 8|0); + $74 = HEAP32[$73>>2]|0; + $75 = $74 & 512; + $76 = ($75|0)!=(0); + if ($76) { + $77 = HEAP32[$7>>2]|0; + $78 = ((($77)) + 48|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)==(0|0); + if ($80) { + $81 = HEAP32[$7>>2]|0; + $82 = HEAP32[$81>>2]|0; + HEAP32[$33>>2] = $82; + $83 = HEAP32[$7>>2]|0; + HEAP32[$83>>2] = 0; + $84 = HEAP32[$10>>2]|0; + $85 = HEAP32[$7>>2]|0; + _sqlite3SelectDelete($84,$85); + HEAP32[$7>>2] = 0; } } } - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 8|0); - $34 = ((($33)) + 8|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$zTab>>2] = $35; - $36 = HEAP32[$zTab>>2]|0; - $37 = ($36|0)==(0|0); - if (!($37)) { - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = (_sqlite3SrcListLookup($38,$39)|0); - HEAP32[$pTab>>2] = $40; - $41 = HEAP32[$pTab>>2]|0; - $42 = ($41|0)==(0|0); - if (!($42)) { - $43 = HEAP32[$db>>2]|0; - $44 = HEAP32[$pTab>>2]|0; - $45 = ((($44)) + 64|0); - $46 = HEAP32[$45>>2]|0; - $47 = (_sqlite3SchemaToIndex($43,$46)|0); - HEAP32[$iDb>>2] = $47; - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$pTab>>2]|0; - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$iDb>>2]|0; - $52 = HEAP32[$db>>2]|0; - $53 = ((($52)) + 16|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($51<<4)|0); - $56 = HEAP32[$55>>2]|0; - $57 = (_sqlite3AuthCheck($48,18,$50,0,$56)|0); - $58 = ($57|0)!=(0); - if (!($58)) { - $59 = HEAP32[$pTab>>2]|0; - $60 = ((($59)) + 42|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = $62 & 32; - $64 = ($63|0)==(0); - $65 = $64 ^ 1; - $66 = $65&1; - $67 = $66&255; - HEAP8[$withoutRowid>>0] = $67; - $68 = HEAP32[$0>>2]|0; - $69 = HEAP32[$pTab>>2]|0; - $70 = (_sqlite3TriggersExist($68,$69,108,0,$tmask)|0); - HEAP32[$pTrigger>>2] = $70; - $71 = HEAP32[$pTab>>2]|0; - $72 = ((($71)) + 12|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)!=(0|0); - $75 = $74&1; - HEAP32[$isView>>2] = $75; - $76 = HEAP32[$0>>2]|0; - $77 = HEAP32[$pTab>>2]|0; - $78 = (_sqlite3ViewGetColumnNames($76,$77)|0); - $79 = ($78|0)!=(0); - if (!($79)) { - $80 = HEAP32[$0>>2]|0; - $81 = HEAP32[$pTab>>2]|0; - $82 = HEAP32[$tmask>>2]|0; - $83 = (_sqlite3IsReadOnly($80,$81,$82)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - $85 = HEAP32[$0>>2]|0; - $86 = (_sqlite3GetVdbe($85)|0); - HEAP32[$v>>2] = $86; - $87 = HEAP32[$v>>2]|0; - $88 = ($87|0)==(0|0); - if (!($88)) { - $89 = HEAP32[$0>>2]|0; - $90 = ((($89)) + 18|0); - $91 = HEAP8[$90>>0]|0; - $92 = $91&255; - $93 = ($92|0)==(0); - if ($93) { - $94 = HEAP32[$v>>2]|0; - _sqlite3VdbeCountChanges($94); + $86 = HEAP32[$6>>2]|0; + $87 = ((($86)) + 8|0); + $88 = ((($87)) + 8|0); + $89 = HEAP32[$88>>2]|0; + HEAP32[$12>>2] = $89; + $90 = HEAP32[$12>>2]|0; + $91 = ($90|0)==(0|0); + if (!($91)) { + $92 = HEAP32[$5>>2]|0; + $93 = HEAP32[$6>>2]|0; + $94 = (_sqlite3SrcListLookup($92,$93)|0); + HEAP32[$11>>2] = $94; + $95 = HEAP32[$11>>2]|0; + $96 = ($95|0)==(0|0); + if (!($96)) { + $97 = HEAP32[$10>>2]|0; + $98 = HEAP32[$11>>2]|0; + $99 = ((($98)) + 64|0); + $100 = HEAP32[$99>>2]|0; + $101 = (_sqlite3SchemaToIndex($97,$100)|0); + HEAP32[$28>>2] = $101; + $102 = HEAP32[$5>>2]|0; + $103 = HEAP32[$11>>2]|0; + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$10>>2]|0; + $106 = ((($105)) + 16|0); + $107 = HEAP32[$106>>2]|0; + $108 = HEAP32[$28>>2]|0; + $109 = (($107) + ($108<<4)|0); + $110 = HEAP32[$109>>2]|0; + $111 = (_sqlite3AuthCheck($102,18,$104,0,$110)|0); + $112 = ($111|0)!=(0); + if (!($112)) { + $113 = HEAP32[$11>>2]|0; + $114 = ((($113)) + 42|0); + $115 = HEAP8[$114>>0]|0; + $116 = $115&255; + $117 = $116 & 32; + $118 = ($117|0)==(0); + $119 = $118 ^ 1; + $120 = $119&1; + $121 = $120&255; + HEAP8[$31>>0] = $121; + $122 = HEAP32[$5>>2]|0; + $123 = HEAP32[$11>>2]|0; + $124 = (_sqlite3TriggersExist($122,$123,108,0,$43)|0); + HEAP32[$42>>2] = $124; + $125 = HEAP32[$11>>2]|0; + $126 = ((($125)) + 12|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)!=(0|0); + $129 = $128&1; + HEAP32[$41>>2] = $129; + $130 = HEAP32[$5>>2]|0; + $131 = HEAP32[$11>>2]|0; + $132 = (_sqlite3ViewGetColumnNames($130,$131)|0); + $133 = ($132|0)!=(0); + if (!($133)) { + $134 = HEAP32[$5>>2]|0; + $135 = HEAP32[$11>>2]|0; + $136 = HEAP32[$43>>2]|0; + $137 = (_sqlite3IsReadOnly($134,$135,$136)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + $139 = HEAP32[$5>>2]|0; + $140 = (_sqlite3GetVdbe($139)|0); + HEAP32[$16>>2] = $140; + $141 = HEAP32[$16>>2]|0; + $142 = ($141|0)==(0|0); + if (!($142)) { + $143 = HEAP32[$5>>2]|0; + $144 = ((($143)) + 18|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = ($146|0)==(0); + if ($147) { + $148 = HEAP32[$16>>2]|0; + _sqlite3VdbeCountChanges($148); } - $95 = HEAP32[$0>>2]|0; - $96 = HEAP32[$2>>2]|0; - $97 = ($96|0)!=(0|0); - $98 = HEAP32[$pTrigger>>2]|0; - $99 = ($98|0)!=(0|0); - $100 = $97 ? 1 : $99; - $101 = $100&1; - $102 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($95,$101,$102); - $103 = HEAP32[$3>>2]|0; - $104 = ($103|0)==(0|0); - if ($104) { - $105 = HEAP32[$0>>2]|0; - $106 = HEAP32[$pTab>>2]|0; - $107 = HEAP32[$2>>2]|0; - $108 = HEAP32[$4>>2]|0; - $109 = HEAP32[$iDb>>2]|0; - $110 = (_xferOptimization($105,$106,$107,$108,$109)|0); - $111 = ($110|0)!=(0); - if (!($111)) { + $149 = HEAP32[$5>>2]|0; + $150 = HEAP32[$7>>2]|0; + $151 = ($150|0)!=(0|0); + $152 = HEAP32[$42>>2]|0; + $153 = ($152|0)!=(0|0); + $154 = $151 ? 1 : $153; + $155 = $154&1; + $156 = HEAP32[$28>>2]|0; + _sqlite3BeginWriteOperation($149,$155,$156); + $157 = HEAP32[$8>>2]|0; + $158 = ($157|0)==(0|0); + if ($158) { + $159 = HEAP32[$5>>2]|0; + $160 = HEAP32[$11>>2]|0; + $161 = HEAP32[$7>>2]|0; + $162 = HEAP32[$9>>2]|0; + $163 = HEAP32[$28>>2]|0; + $164 = (_xferOptimization($159,$160,$161,$162,$163)|0); + $165 = ($164|0)!=(0); + if (!($165)) { label = 17; } } else { @@ -123362,687 +98758,687 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } L20: do { if ((label|0) == 17) { - $112 = HEAP32[$0>>2]|0; - $113 = HEAP32[$iDb>>2]|0; - $114 = HEAP32[$pTab>>2]|0; - $115 = (_autoIncBegin($112,$113,$114)|0); - HEAP32[$regAutoinc>>2] = $115; - $116 = HEAP32[$0>>2]|0; - $117 = ((($116)) + 44|0); - $118 = HEAP32[$117>>2]|0; - $119 = (($118) + 1)|0; - HEAP32[$regIns>>2] = $119; - HEAP32[$regRowid>>2] = $119; - $120 = HEAP32[$pTab>>2]|0; - $121 = ((($120)) + 34|0); - $122 = HEAP16[$121>>1]|0; - $123 = $122 << 16 >> 16; - $124 = (($123) + 1)|0; - $125 = HEAP32[$0>>2]|0; - $126 = ((($125)) + 44|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($127) + ($124))|0; - HEAP32[$126>>2] = $128; - $129 = HEAP32[$pTab>>2]|0; - $130 = ((($129)) + 42|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = $132 & 16; - $134 = ($133|0)!=(0); - if ($134) { - $135 = HEAP32[$regRowid>>2]|0; - $136 = (($135) + 1)|0; - HEAP32[$regRowid>>2] = $136; - $137 = HEAP32[$0>>2]|0; - $138 = ((($137)) + 44|0); - $139 = HEAP32[$138>>2]|0; - $140 = (($139) + 1)|0; - HEAP32[$138>>2] = $140; + $166 = HEAP32[$5>>2]|0; + $167 = HEAP32[$28>>2]|0; + $168 = HEAP32[$11>>2]|0; + $169 = (_autoIncBegin($166,$167,$168)|0); + HEAP32[$35>>2] = $169; + $170 = HEAP32[$5>>2]|0; + $171 = ((($170)) + 44|0); + $172 = HEAP32[$171>>2]|0; + $173 = (($172) + 1)|0; + HEAP32[$37>>2] = $173; + HEAP32[$38>>2] = $173; + $174 = HEAP32[$11>>2]|0; + $175 = ((($174)) + 34|0); + $176 = HEAP16[$175>>1]|0; + $177 = $176 << 16 >> 16; + $178 = (($177) + 1)|0; + $179 = HEAP32[$5>>2]|0; + $180 = ((($179)) + 44|0); + $181 = HEAP32[$180>>2]|0; + $182 = (($181) + ($178))|0; + HEAP32[$180>>2] = $182; + $183 = HEAP32[$11>>2]|0; + $184 = ((($183)) + 42|0); + $185 = HEAP8[$184>>0]|0; + $186 = $185&255; + $187 = $186 & 16; + $188 = ($187|0)!=(0); + if ($188) { + $189 = HEAP32[$38>>2]|0; + $190 = (($189) + 1)|0; + HEAP32[$38>>2] = $190; + $191 = HEAP32[$5>>2]|0; + $192 = ((($191)) + 44|0); + $193 = HEAP32[$192>>2]|0; + $194 = (($193) + 1)|0; + HEAP32[$192>>2] = $194; } - $141 = HEAP32[$regRowid>>2]|0; - $142 = (($141) + 1)|0; - HEAP32[$regData>>2] = $142; - $143 = HEAP32[$pTab>>2]|0; - $144 = ((($143)) + 42|0); - $145 = HEAP8[$144>>0]|0; - $146 = $145&255; - $147 = $146 & 128; - $148 = ($147|0)==(0); - $149 = $148&1; - $150 = $149&255; - HEAP8[$bIdListInOrder>>0] = $150; - $151 = HEAP32[$3>>2]|0; - $152 = ($151|0)!=(0|0); + $195 = HEAP32[$38>>2]|0; + $196 = (($195) + 1)|0; + HEAP32[$39>>2] = $196; + $197 = HEAP32[$11>>2]|0; + $198 = ((($197)) + 42|0); + $199 = HEAP8[$198>>0]|0; + $200 = $199&255; + $201 = $200 & 128; + $202 = ($201|0)==(0); + $203 = $202&1; + $204 = $203&255; + HEAP8[$32>>0] = $204; + $205 = HEAP32[$8>>2]|0; + $206 = ($205|0)!=(0|0); L25: do { - if ($152) { - HEAP32[$i>>2] = 0; + if ($206) { + HEAP32[$13>>2] = 0; while(1) { - $153 = HEAP32[$i>>2]|0; - $154 = HEAP32[$3>>2]|0; - $155 = ((($154)) + 4|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($153|0)<($156|0); - if (!($157)) { + $207 = HEAP32[$13>>2]|0; + $208 = HEAP32[$8>>2]|0; + $209 = ((($208)) + 4|0); + $210 = HEAP32[$209>>2]|0; + $211 = ($207|0)<($210|0); + if (!($211)) { break; } - $158 = HEAP32[$i>>2]|0; - $159 = HEAP32[$3>>2]|0; - $160 = HEAP32[$159>>2]|0; - $161 = (($160) + ($158<<3)|0); - $162 = ((($161)) + 4|0); - HEAP32[$162>>2] = -1; - $163 = HEAP32[$i>>2]|0; - $164 = (($163) + 1)|0; - HEAP32[$i>>2] = $164; + $212 = HEAP32[$8>>2]|0; + $213 = HEAP32[$212>>2]|0; + $214 = HEAP32[$13>>2]|0; + $215 = (($213) + ($214<<3)|0); + $216 = ((($215)) + 4|0); + HEAP32[$216>>2] = -1; + $217 = HEAP32[$13>>2]|0; + $218 = (($217) + 1)|0; + HEAP32[$13>>2] = $218; } - HEAP32[$i>>2] = 0; + HEAP32[$13>>2] = 0; while(1) { - $165 = HEAP32[$i>>2]|0; - $166 = HEAP32[$3>>2]|0; - $167 = ((($166)) + 4|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($165|0)<($168|0); - if (!($169)) { + $219 = HEAP32[$13>>2]|0; + $220 = HEAP32[$8>>2]|0; + $221 = ((($220)) + 4|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($219|0)<($222|0); + if (!($223)) { break L25; } - HEAP32[$j>>2] = 0; + HEAP32[$14>>2] = 0; while(1) { - $170 = HEAP32[$j>>2]|0; - $171 = HEAP32[$pTab>>2]|0; - $172 = ((($171)) + 34|0); - $173 = HEAP16[$172>>1]|0; - $174 = $173 << 16 >> 16; - $175 = ($170|0)<($174|0); - if (!($175)) { + $224 = HEAP32[$14>>2]|0; + $225 = HEAP32[$11>>2]|0; + $226 = ((($225)) + 34|0); + $227 = HEAP16[$226>>1]|0; + $228 = $227 << 16 >> 16; + $229 = ($224|0)<($228|0); + if (!($229)) { break; } - $176 = HEAP32[$i>>2]|0; - $177 = HEAP32[$3>>2]|0; - $178 = HEAP32[$177>>2]|0; - $179 = (($178) + ($176<<3)|0); - $180 = HEAP32[$179>>2]|0; - $181 = HEAP32[$j>>2]|0; - $182 = HEAP32[$pTab>>2]|0; - $183 = ((($182)) + 4|0); - $184 = HEAP32[$183>>2]|0; - $185 = (($184) + ($181<<4)|0); - $186 = HEAP32[$185>>2]|0; - $187 = (_sqlite3StrICmp($180,$186)|0); - $188 = ($187|0)==(0); - $189 = HEAP32[$j>>2]|0; - if ($188) { + $230 = HEAP32[$8>>2]|0; + $231 = HEAP32[$230>>2]|0; + $232 = HEAP32[$13>>2]|0; + $233 = (($231) + ($232<<3)|0); + $234 = HEAP32[$233>>2]|0; + $235 = HEAP32[$11>>2]|0; + $236 = ((($235)) + 4|0); + $237 = HEAP32[$236>>2]|0; + $238 = HEAP32[$14>>2]|0; + $239 = (($237) + ($238<<4)|0); + $240 = HEAP32[$239>>2]|0; + $241 = (_sqlite3StrICmp($234,$240)|0); + $242 = ($241|0)==(0); + $243 = HEAP32[$14>>2]|0; + if ($242) { label = 28; break; } - $205 = (($189) + 1)|0; - HEAP32[$j>>2] = $205; + $259 = (($243) + 1)|0; + HEAP32[$14>>2] = $259; } do { if ((label|0) == 28) { label = 0; - $190 = HEAP32[$i>>2]|0; - $191 = HEAP32[$3>>2]|0; - $192 = HEAP32[$191>>2]|0; - $193 = (($192) + ($190<<3)|0); - $194 = ((($193)) + 4|0); - HEAP32[$194>>2] = $189; - $195 = HEAP32[$i>>2]|0; - $196 = HEAP32[$j>>2]|0; - $197 = ($195|0)!=($196|0); - if ($197) { - HEAP8[$bIdListInOrder>>0] = 0; + $244 = HEAP32[$8>>2]|0; + $245 = HEAP32[$244>>2]|0; + $246 = HEAP32[$13>>2]|0; + $247 = (($245) + ($246<<3)|0); + $248 = ((($247)) + 4|0); + HEAP32[$248>>2] = $243; + $249 = HEAP32[$13>>2]|0; + $250 = HEAP32[$14>>2]|0; + $251 = ($249|0)!=($250|0); + if ($251) { + HEAP8[$32>>0] = 0; } - $198 = HEAP32[$j>>2]|0; - $199 = HEAP32[$pTab>>2]|0; - $200 = ((($199)) + 32|0); - $201 = HEAP16[$200>>1]|0; - $202 = $201 << 16 >> 16; - $203 = ($198|0)==($202|0); - if (!($203)) { + $252 = HEAP32[$14>>2]|0; + $253 = HEAP32[$11>>2]|0; + $254 = ((($253)) + 32|0); + $255 = HEAP16[$254>>1]|0; + $256 = $255 << 16 >> 16; + $257 = ($252|0)==($256|0); + if (!($257)) { break; } - $204 = HEAP32[$i>>2]|0; - HEAP32[$ipkColumn>>2] = $204; + $258 = HEAP32[$13>>2]|0; + HEAP32[$22>>2] = $258; } } while(0); - $206 = HEAP32[$j>>2]|0; - $207 = HEAP32[$pTab>>2]|0; - $208 = ((($207)) + 34|0); - $209 = HEAP16[$208>>1]|0; - $210 = $209 << 16 >> 16; - $211 = ($206|0)>=($210|0); - if ($211) { - $212 = HEAP32[$i>>2]|0; - $213 = HEAP32[$3>>2]|0; - $214 = HEAP32[$213>>2]|0; - $215 = (($214) + ($212<<3)|0); - $216 = HEAP32[$215>>2]|0; - $217 = (_sqlite3IsRowid($216)|0); - $218 = ($217|0)==(0); - $219 = HEAP8[$withoutRowid>>0]|0; - $220 = ($219<<24>>24)!=(0); - $or$cond = $218 | $220; + $260 = HEAP32[$14>>2]|0; + $261 = HEAP32[$11>>2]|0; + $262 = ((($261)) + 34|0); + $263 = HEAP16[$262>>1]|0; + $264 = $263 << 16 >> 16; + $265 = ($260|0)>=($264|0); + if ($265) { + $266 = HEAP32[$8>>2]|0; + $267 = HEAP32[$266>>2]|0; + $268 = HEAP32[$13>>2]|0; + $269 = (($267) + ($268<<3)|0); + $270 = HEAP32[$269>>2]|0; + $271 = (_sqlite3IsRowid($270)|0); + $272 = ($271|0)==(0); + $273 = HEAP8[$31>>0]|0; + $274 = ($273<<24>>24)!=(0); + $or$cond = $272 | $274; if ($or$cond) { break; } - $221 = HEAP32[$i>>2]|0; - HEAP32[$ipkColumn>>2] = $221; - HEAP8[$bIdListInOrder>>0] = 0; + $275 = HEAP32[$13>>2]|0; + HEAP32[$22>>2] = $275; + HEAP8[$32>>0] = 0; } - $231 = HEAP32[$i>>2]|0; - $232 = (($231) + 1)|0; - HEAP32[$i>>2] = $232; + $285 = HEAP32[$13>>2]|0; + $286 = (($285) + 1)|0; + HEAP32[$13>>2] = $286; } - $222 = HEAP32[$0>>2]|0; - $223 = HEAP32[$1>>2]|0; - $224 = HEAP32[$i>>2]|0; - $225 = HEAP32[$3>>2]|0; - $226 = HEAP32[$225>>2]|0; - $227 = (($226) + ($224<<3)|0); - $228 = HEAP32[$227>>2]|0; - HEAP32[$vararg_buffer>>2] = $223; + $276 = HEAP32[$5>>2]|0; + $277 = HEAP32[$6>>2]|0; + $278 = HEAP32[$8>>2]|0; + $279 = HEAP32[$278>>2]|0; + $280 = HEAP32[$13>>2]|0; + $281 = (($279) + ($280<<3)|0); + $282 = HEAP32[$281>>2]|0; + HEAP32[$vararg_buffer>>2] = $277; $vararg_ptr12 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr12>>2] = 0; $vararg_ptr13 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr13>>2] = $228; - _sqlite3ErrorMsg($222,34261,$vararg_buffer); - $229 = HEAP32[$0>>2]|0; - $230 = ((($229)) + 17|0); - HEAP8[$230>>0] = 1; + HEAP32[$vararg_ptr13>>2] = $282; + _sqlite3ErrorMsg($276,33877,$vararg_buffer); + $283 = HEAP32[$5>>2]|0; + $284 = ((($283)) + 17|0); + HEAP8[$284>>0] = 1; break L1; } } while(0); - $233 = HEAP32[$2>>2]|0; - $234 = ($233|0)!=(0|0); + $287 = HEAP32[$7>>2]|0; + $288 = ($287|0)!=(0|0); do { - if ($234) { - $235 = HEAP32[$0>>2]|0; - $236 = ((($235)) + 44|0); - $237 = HEAP32[$236>>2]|0; - $238 = (($237) + 1)|0; - HEAP32[$236>>2] = $238; - HEAP32[$regYield>>2] = $238; - $239 = HEAP32[$v>>2]|0; - $240 = (_sqlite3VdbeCurrentAddr($239)|0); - $241 = (($240) + 1)|0; - HEAP32[$addrTop>>2] = $241; - $242 = HEAP32[$v>>2]|0; - $243 = HEAP32[$regYield>>2]|0; - $244 = HEAP32[$addrTop>>2]|0; - (_sqlite3VdbeAddOp3($242,15,$243,0,$244)|0); - $245 = HEAP32[$regYield>>2]|0; - _sqlite3SelectDestInit($dest,13,$245); - $246 = HEAP8[$bIdListInOrder>>0]|0; - $247 = $246&255; - $248 = ($247|0)!=(0); - $249 = HEAP32[$regData>>2]|0; - $250 = $248 ? $249 : 0; - $251 = ((($dest)) + 12|0); - HEAP32[$251>>2] = $250; - $252 = HEAP32[$pTab>>2]|0; - $253 = ((($252)) + 34|0); - $254 = HEAP16[$253>>1]|0; - $255 = $254 << 16 >> 16; - $256 = ((($dest)) + 16|0); - HEAP32[$256>>2] = $255; - $257 = HEAP32[$0>>2]|0; - $258 = HEAP32[$2>>2]|0; - $259 = (_sqlite3Select($257,$258,$dest)|0); - HEAP32[$rc>>2] = $259; - $260 = ((($dest)) + 12|0); - $261 = HEAP32[$260>>2]|0; - HEAP32[$regFromSelect>>2] = $261; - $262 = HEAP32[$rc>>2]|0; - $263 = ($262|0)!=(0); - if ($263) { + if ($288) { + $289 = HEAP32[$5>>2]|0; + $290 = ((($289)) + 44|0); + $291 = HEAP32[$290>>2]|0; + $292 = (($291) + 1)|0; + HEAP32[$290>>2] = $292; + HEAP32[$44>>2] = $292; + $293 = HEAP32[$16>>2]|0; + $294 = (_sqlite3VdbeCurrentAddr($293)|0); + $295 = (($294) + 1)|0; + HEAP32[$45>>2] = $295; + $296 = HEAP32[$16>>2]|0; + $297 = HEAP32[$44>>2]|0; + $298 = HEAP32[$45>>2]|0; + (_sqlite3VdbeAddOp3($296,15,$297,0,$298)|0); + $299 = HEAP32[$44>>2]|0; + _sqlite3SelectDestInit($27,13,$299); + $300 = HEAP8[$32>>0]|0; + $301 = $300&255; + $302 = ($301|0)!=(0); + $303 = HEAP32[$39>>2]|0; + $304 = $302 ? $303 : 0; + $305 = ((($27)) + 12|0); + HEAP32[$305>>2] = $304; + $306 = HEAP32[$11>>2]|0; + $307 = ((($306)) + 34|0); + $308 = HEAP16[$307>>1]|0; + $309 = $308 << 16 >> 16; + $310 = ((($27)) + 16|0); + HEAP32[$310>>2] = $309; + $311 = HEAP32[$5>>2]|0; + $312 = HEAP32[$7>>2]|0; + $313 = (_sqlite3Select($311,$312,$27)|0); + HEAP32[$46>>2] = $313; + $314 = ((($27)) + 12|0); + $315 = HEAP32[$314>>2]|0; + HEAP32[$34>>2] = $315; + $316 = HEAP32[$46>>2]|0; + $317 = ($316|0)!=(0); + if ($317) { break L1; } - $264 = HEAP32[$db>>2]|0; - $265 = ((($264)) + 69|0); - $266 = HEAP8[$265>>0]|0; - $267 = $266&255; - $268 = ($267|0)!=(0); - if ($268) { + $318 = HEAP32[$10>>2]|0; + $319 = ((($318)) + 69|0); + $320 = HEAP8[$319>>0]|0; + $321 = $320&255; + $322 = ($321|0)!=(0); + if ($322) { break L1; } - $269 = HEAP32[$0>>2]|0; - $270 = ((($269)) + 36|0); - $271 = HEAP32[$270>>2]|0; - $272 = ($271|0)!=(0); - if ($272) { + $323 = HEAP32[$5>>2]|0; + $324 = ((($323)) + 36|0); + $325 = HEAP32[$324>>2]|0; + $326 = ($325|0)!=(0); + if ($326) { break L1; } - $273 = HEAP32[$v>>2]|0; - $274 = HEAP32[$regYield>>2]|0; - _sqlite3VdbeEndCoroutine($273,$274); - $275 = HEAP32[$v>>2]|0; - $276 = HEAP32[$addrTop>>2]|0; - $277 = (($276) - 1)|0; - _sqlite3VdbeJumpHere($275,$277); - $278 = HEAP32[$2>>2]|0; - $279 = HEAP32[$278>>2]|0; - $280 = HEAP32[$279>>2]|0; - HEAP32[$nColumn>>2] = $280; - $281 = HEAP32[$pTrigger>>2]|0; - $282 = ($281|0)!=(0|0); - if ($282) { + $327 = HEAP32[$16>>2]|0; + $328 = HEAP32[$44>>2]|0; + _sqlite3VdbeEndCoroutine($327,$328); + $329 = HEAP32[$16>>2]|0; + $330 = HEAP32[$45>>2]|0; + $331 = (($330) - 1)|0; + _sqlite3VdbeJumpHere($329,$331); + $332 = HEAP32[$7>>2]|0; + $333 = HEAP32[$332>>2]|0; + $334 = HEAP32[$333>>2]|0; + HEAP32[$18>>2] = $334; + $335 = HEAP32[$42>>2]|0; + $336 = ($335|0)!=(0|0); + if ($336) { label = 44; } else { - $283 = HEAP32[$0>>2]|0; - $284 = HEAP32[$iDb>>2]|0; - $285 = HEAP32[$pTab>>2]|0; - $286 = (_readsTable($283,$284,$285)|0); - $287 = ($286|0)!=(0); - if ($287) { + $337 = HEAP32[$5>>2]|0; + $338 = HEAP32[$28>>2]|0; + $339 = HEAP32[$11>>2]|0; + $340 = (_readsTable($337,$338,$339)|0); + $341 = ($340|0)!=(0); + if ($341) { label = 44; } } if ((label|0) == 44) { - HEAP8[$useTempTable>>0] = 1; + HEAP8[$29>>0] = 1; } - $288 = HEAP8[$useTempTable>>0]|0; - $289 = ($288<<24>>24)!=(0); - if (!($289)) { + $342 = HEAP8[$29>>0]|0; + $343 = ($342<<24>>24)!=(0); + if (!($343)) { break; } - $290 = HEAP32[$0>>2]|0; - $291 = ((($290)) + 40|0); - $292 = HEAP32[$291>>2]|0; - $293 = (($292) + 1)|0; - HEAP32[$291>>2] = $293; - HEAP32[$srcTab>>2] = $292; - $294 = HEAP32[$0>>2]|0; - $295 = (_sqlite3GetTempReg($294)|0); - HEAP32[$regRec>>2] = $295; - $296 = HEAP32[$0>>2]|0; - $297 = (_sqlite3GetTempReg($296)|0); - HEAP32[$regTempRowid>>2] = $297; - $298 = HEAP32[$v>>2]|0; - $299 = HEAP32[$srcTab>>2]|0; - $300 = HEAP32[$nColumn>>2]|0; - (_sqlite3VdbeAddOp2($298,107,$299,$300)|0); - $301 = HEAP32[$v>>2]|0; - $302 = ((($dest)) + 8|0); - $303 = HEAP32[$302>>2]|0; - $304 = (_sqlite3VdbeAddOp1($301,16,$303)|0); - HEAP32[$addrL>>2] = $304; - $305 = HEAP32[$v>>2]|0; - $306 = HEAP32[$regFromSelect>>2]|0; - $307 = HEAP32[$nColumn>>2]|0; - $308 = HEAP32[$regRec>>2]|0; - (_sqlite3VdbeAddOp3($305,99,$306,$307,$308)|0); - $309 = HEAP32[$v>>2]|0; - $310 = HEAP32[$srcTab>>2]|0; - $311 = HEAP32[$regTempRowid>>2]|0; - (_sqlite3VdbeAddOp2($309,114,$310,$311)|0); - $312 = HEAP32[$v>>2]|0; - $313 = HEAP32[$srcTab>>2]|0; - $314 = HEAP32[$regRec>>2]|0; - $315 = HEAP32[$regTempRowid>>2]|0; - (_sqlite3VdbeAddOp3($312,115,$313,$314,$315)|0); - $316 = HEAP32[$v>>2]|0; - $317 = HEAP32[$addrL>>2]|0; - (_sqlite3VdbeGoto($316,$317)|0); - $318 = HEAP32[$v>>2]|0; - $319 = HEAP32[$addrL>>2]|0; - _sqlite3VdbeJumpHere($318,$319); - $320 = HEAP32[$0>>2]|0; - $321 = HEAP32[$regRec>>2]|0; - _sqlite3ReleaseTempReg($320,$321); - $322 = HEAP32[$0>>2]|0; - $323 = HEAP32[$regTempRowid>>2]|0; - _sqlite3ReleaseTempReg($322,$323); + $344 = HEAP32[$5>>2]|0; + $345 = ((($344)) + 40|0); + $346 = HEAP32[$345>>2]|0; + $347 = (($346) + 1)|0; + HEAP32[$345>>2] = $347; + HEAP32[$24>>2] = $346; + $348 = HEAP32[$5>>2]|0; + $349 = (_sqlite3GetTempReg($348)|0); + HEAP32[$47>>2] = $349; + $350 = HEAP32[$5>>2]|0; + $351 = (_sqlite3GetTempReg($350)|0); + HEAP32[$48>>2] = $351; + $352 = HEAP32[$16>>2]|0; + $353 = HEAP32[$24>>2]|0; + $354 = HEAP32[$18>>2]|0; + (_sqlite3VdbeAddOp2($352,107,$353,$354)|0); + $355 = HEAP32[$16>>2]|0; + $356 = ((($27)) + 8|0); + $357 = HEAP32[$356>>2]|0; + $358 = (_sqlite3VdbeAddOp1($355,16,$357)|0); + HEAP32[$49>>2] = $358; + $359 = HEAP32[$16>>2]|0; + $360 = HEAP32[$34>>2]|0; + $361 = HEAP32[$18>>2]|0; + $362 = HEAP32[$47>>2]|0; + (_sqlite3VdbeAddOp3($359,99,$360,$361,$362)|0); + $363 = HEAP32[$16>>2]|0; + $364 = HEAP32[$24>>2]|0; + $365 = HEAP32[$48>>2]|0; + (_sqlite3VdbeAddOp2($363,114,$364,$365)|0); + $366 = HEAP32[$16>>2]|0; + $367 = HEAP32[$24>>2]|0; + $368 = HEAP32[$47>>2]|0; + $369 = HEAP32[$48>>2]|0; + (_sqlite3VdbeAddOp3($366,115,$367,$368,$369)|0); + $370 = HEAP32[$16>>2]|0; + $371 = HEAP32[$49>>2]|0; + (_sqlite3VdbeGoto($370,$371)|0); + $372 = HEAP32[$16>>2]|0; + $373 = HEAP32[$49>>2]|0; + _sqlite3VdbeJumpHere($372,$373); + $374 = HEAP32[$5>>2]|0; + $375 = HEAP32[$47>>2]|0; + _sqlite3ReleaseTempReg($374,$375); + $376 = HEAP32[$5>>2]|0; + $377 = HEAP32[$48>>2]|0; + _sqlite3ReleaseTempReg($376,$377); } else { - ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $324 = HEAP32[$0>>2]|0; - HEAP32[$sNC>>2] = $324; - HEAP32[$srcTab>>2] = -1; - $325 = HEAP32[$pList>>2]|0; - $326 = ($325|0)!=(0|0); - if ($326) { - $327 = HEAP32[$pList>>2]|0; - $328 = HEAP32[$327>>2]|0; - HEAP32[$nColumn>>2] = $328; - $329 = HEAP32[$pList>>2]|0; - $330 = (_sqlite3ResolveExprListNames($sNC,$329)|0); - $331 = ($330|0)!=(0); - if ($331) { + ;HEAP32[$50>>2]=0|0;HEAP32[$50+4>>2]=0|0;HEAP32[$50+8>>2]=0|0;HEAP32[$50+12>>2]=0|0;HEAP32[$50+16>>2]=0|0;HEAP32[$50+20>>2]=0|0;HEAP32[$50+24>>2]=0|0;HEAP32[$50+28>>2]=0|0; + $378 = HEAP32[$5>>2]|0; + HEAP32[$50>>2] = $378; + HEAP32[$24>>2] = -1; + $379 = HEAP32[$33>>2]|0; + $380 = ($379|0)!=(0|0); + if ($380) { + $381 = HEAP32[$33>>2]|0; + $382 = HEAP32[$381>>2]|0; + HEAP32[$18>>2] = $382; + $383 = HEAP32[$33>>2]|0; + $384 = (_sqlite3ResolveExprListNames($50,$383)|0); + $385 = ($384|0)!=(0); + if ($385) { break L1; } else { break; } } else { - HEAP32[$nColumn>>2] = 0; + HEAP32[$18>>2] = 0; break; } } } while(0); - $332 = HEAP32[$3>>2]|0; - $333 = ($332|0)==(0|0); - $334 = HEAP32[$nColumn>>2]|0; - $335 = ($334|0)>(0); - $or$cond3 = $333 & $335; + $386 = HEAP32[$8>>2]|0; + $387 = ($386|0)==(0|0); + $388 = HEAP32[$18>>2]|0; + $389 = ($388|0)>(0); + $or$cond3 = $387 & $389; if ($or$cond3) { - $336 = HEAP32[$pTab>>2]|0; - $337 = ((($336)) + 32|0); - $338 = HEAP16[$337>>1]|0; - $339 = $338 << 16 >> 16; - HEAP32[$ipkColumn>>2] = $339; + $390 = HEAP32[$11>>2]|0; + $391 = ((($390)) + 32|0); + $392 = HEAP16[$391>>1]|0; + $393 = $392 << 16 >> 16; + HEAP32[$22>>2] = $393; } - HEAP32[$i>>2] = 0; + HEAP32[$13>>2] = 0; while(1) { - $340 = HEAP32[$i>>2]|0; - $341 = HEAP32[$pTab>>2]|0; - $342 = ((($341)) + 34|0); - $343 = HEAP16[$342>>1]|0; - $344 = $343 << 16 >> 16; - $345 = ($340|0)<($344|0); - if (!($345)) { + $394 = HEAP32[$13>>2]|0; + $395 = HEAP32[$11>>2]|0; + $396 = ((($395)) + 34|0); + $397 = HEAP16[$396>>1]|0; + $398 = $397 << 16 >> 16; + $399 = ($394|0)<($398|0); + if (!($399)) { break; } - $346 = HEAP32[$i>>2]|0; - $347 = HEAP32[$pTab>>2]|0; - $348 = ((($347)) + 4|0); - $349 = HEAP32[$348>>2]|0; - $350 = (($349) + ($346<<4)|0); - $351 = ((($350)) + 15|0); - $352 = HEAP8[$351>>0]|0; - $353 = $352&255; - $354 = $353 & 2; - $355 = ($354|0)!=(0); - $356 = $355 ? 1 : 0; - $357 = HEAP32[$nHidden>>2]|0; - $358 = (($357) + ($356))|0; - HEAP32[$nHidden>>2] = $358; - $359 = HEAP32[$i>>2]|0; - $360 = (($359) + 1)|0; - HEAP32[$i>>2] = $360; + $400 = HEAP32[$11>>2]|0; + $401 = ((($400)) + 4|0); + $402 = HEAP32[$401>>2]|0; + $403 = HEAP32[$13>>2]|0; + $404 = (($402) + ($403<<4)|0); + $405 = ((($404)) + 15|0); + $406 = HEAP8[$405>>0]|0; + $407 = $406&255; + $408 = $407 & 2; + $409 = ($408|0)!=(0); + $410 = $409 ? 1 : 0; + $411 = HEAP32[$19>>2]|0; + $412 = (($411) + ($410))|0; + HEAP32[$19>>2] = $412; + $413 = HEAP32[$13>>2]|0; + $414 = (($413) + 1)|0; + HEAP32[$13>>2] = $414; } - $361 = HEAP32[$3>>2]|0; - $362 = ($361|0)==(0|0); - $363 = HEAP32[$nColumn>>2]|0; - $364 = ($363|0)!=(0); - $or$cond5 = $362 & $364; + $415 = HEAP32[$8>>2]|0; + $416 = ($415|0)==(0|0); + $417 = HEAP32[$18>>2]|0; + $418 = ($417|0)!=(0); + $or$cond5 = $416 & $418; if ($or$cond5) { - $365 = HEAP32[$nColumn>>2]|0; - $366 = HEAP32[$pTab>>2]|0; - $367 = ((($366)) + 34|0); - $368 = HEAP16[$367>>1]|0; - $369 = $368 << 16 >> 16; - $370 = HEAP32[$nHidden>>2]|0; - $371 = (($369) - ($370))|0; - $372 = ($365|0)!=($371|0); - if ($372) { - $373 = HEAP32[$0>>2]|0; - $374 = HEAP32[$1>>2]|0; - $375 = HEAP32[$pTab>>2]|0; - $376 = ((($375)) + 34|0); - $377 = HEAP16[$376>>1]|0; - $378 = $377 << 16 >> 16; - $379 = HEAP32[$nHidden>>2]|0; - $380 = (($378) - ($379))|0; - $381 = HEAP32[$nColumn>>2]|0; - HEAP32[$vararg_buffer14>>2] = $374; + $419 = HEAP32[$18>>2]|0; + $420 = HEAP32[$11>>2]|0; + $421 = ((($420)) + 34|0); + $422 = HEAP16[$421>>1]|0; + $423 = $422 << 16 >> 16; + $424 = HEAP32[$19>>2]|0; + $425 = (($423) - ($424))|0; + $426 = ($419|0)!=($425|0); + if ($426) { + $427 = HEAP32[$5>>2]|0; + $428 = HEAP32[$6>>2]|0; + $429 = HEAP32[$11>>2]|0; + $430 = ((($429)) + 34|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431 << 16 >> 16; + $433 = HEAP32[$19>>2]|0; + $434 = (($432) - ($433))|0; + $435 = HEAP32[$18>>2]|0; + HEAP32[$vararg_buffer14>>2] = $428; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = 0; $vararg_ptr18 = ((($vararg_buffer14)) + 8|0); - HEAP32[$vararg_ptr18>>2] = $380; + HEAP32[$vararg_ptr18>>2] = $434; $vararg_ptr19 = ((($vararg_buffer14)) + 12|0); - HEAP32[$vararg_ptr19>>2] = $381; - _sqlite3ErrorMsg($373,34293,$vararg_buffer14); + HEAP32[$vararg_ptr19>>2] = $435; + _sqlite3ErrorMsg($427,33909,$vararg_buffer14); break L1; } } - $382 = HEAP32[$3>>2]|0; - $383 = ($382|0)!=(0|0); + $436 = HEAP32[$8>>2]|0; + $437 = ($436|0)!=(0|0); do { - if ($383) { - $384 = HEAP32[$nColumn>>2]|0; - $385 = HEAP32[$3>>2]|0; - $386 = ((($385)) + 4|0); - $387 = HEAP32[$386>>2]|0; - $388 = ($384|0)!=($387|0); - if (!($388)) { + if ($437) { + $438 = HEAP32[$18>>2]|0; + $439 = HEAP32[$8>>2]|0; + $440 = ((($439)) + 4|0); + $441 = HEAP32[$440>>2]|0; + $442 = ($438|0)!=($441|0); + if (!($442)) { break; } - $389 = HEAP32[$0>>2]|0; - $390 = HEAP32[$nColumn>>2]|0; - $391 = HEAP32[$3>>2]|0; - $392 = ((($391)) + 4|0); - $393 = HEAP32[$392>>2]|0; - HEAP32[$vararg_buffer20>>2] = $390; + $443 = HEAP32[$5>>2]|0; + $444 = HEAP32[$18>>2]|0; + $445 = HEAP32[$8>>2]|0; + $446 = ((($445)) + 4|0); + $447 = HEAP32[$446>>2]|0; + HEAP32[$vararg_buffer20>>2] = $444; $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $393; - _sqlite3ErrorMsg($389,34345,$vararg_buffer20); + HEAP32[$vararg_ptr23>>2] = $447; + _sqlite3ErrorMsg($443,33961,$vararg_buffer20); break L1; } } while(0); - $394 = HEAP32[$db>>2]|0; - $395 = ((($394)) + 24|0); - $396 = HEAP32[$395>>2]|0; - $397 = $396 & 128; - $398 = ($397|0)!=(0); - if ($398) { - $399 = HEAP32[$0>>2]|0; - $400 = ((($399)) + 44|0); - $401 = HEAP32[$400>>2]|0; - $402 = (($401) + 1)|0; - HEAP32[$400>>2] = $402; - HEAP32[$regRowCount>>2] = $402; - $403 = HEAP32[$v>>2]|0; - $404 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($403,76,0,$404)|0); + $448 = HEAP32[$10>>2]|0; + $449 = ((($448)) + 24|0); + $450 = HEAP32[$449>>2]|0; + $451 = $450 & 128; + $452 = ($451|0)!=(0); + if ($452) { + $453 = HEAP32[$5>>2]|0; + $454 = ((($453)) + 44|0); + $455 = HEAP32[$454>>2]|0; + $456 = (($455) + 1)|0; + HEAP32[$454>>2] = $456; + HEAP32[$36>>2] = $456; + $457 = HEAP32[$16>>2]|0; + $458 = HEAP32[$36>>2]|0; + (_sqlite3VdbeAddOp2($457,76,0,$458)|0); } - $405 = HEAP32[$isView>>2]|0; - $406 = ($405|0)!=(0); + $459 = HEAP32[$41>>2]|0; + $460 = ($459|0)!=(0); L85: do { - if (!($406)) { - $407 = HEAP32[$0>>2]|0; - $408 = HEAP32[$pTab>>2]|0; - $409 = (_sqlite3OpenTableAndIndices($407,$408,105,0,-1,0,$iDataCur,$iIdxCur)|0); - HEAP32[$nIdx>>2] = $409; - $410 = HEAP32[$db>>2]|0; - $411 = HEAP32[$nIdx>>2]|0; - $412 = (($411) + 1)|0; - $413 = $412<<2; - $414 = (_sqlite3DbMallocRawNN($410,$413,0)|0); - HEAP32[$aRegIdx>>2] = $414; - $415 = HEAP32[$aRegIdx>>2]|0; - $416 = ($415|0)==(0|0); - if ($416) { + if (!($460)) { + $461 = HEAP32[$5>>2]|0; + $462 = HEAP32[$11>>2]|0; + $463 = (_sqlite3OpenTableAndIndices($461,$462,105,0,-1,0,$20,$21)|0); + HEAP32[$51>>2] = $463; + $464 = HEAP32[$10>>2]|0; + $465 = HEAP32[$51>>2]|0; + $466 = (($465) + 1)|0; + $467 = $466<<2; + $468 = (_sqlite3DbMallocRawNN($464,$467,0)|0); + HEAP32[$40>>2] = $468; + $469 = HEAP32[$40>>2]|0; + $470 = ($469|0)==(0|0); + if ($470) { break L1; } - HEAP32[$i>>2] = 0; + HEAP32[$13>>2] = 0; while(1) { - $417 = HEAP32[$i>>2]|0; - $418 = HEAP32[$nIdx>>2]|0; - $419 = ($417|0)<($418|0); - if (!($419)) { + $471 = HEAP32[$13>>2]|0; + $472 = HEAP32[$51>>2]|0; + $473 = ($471|0)<($472|0); + if (!($473)) { break L85; } - $420 = HEAP32[$0>>2]|0; - $421 = ((($420)) + 44|0); - $422 = HEAP32[$421>>2]|0; - $423 = (($422) + 1)|0; - HEAP32[$421>>2] = $423; - $424 = HEAP32[$i>>2]|0; - $425 = HEAP32[$aRegIdx>>2]|0; - $426 = (($425) + ($424<<2)|0); - HEAP32[$426>>2] = $423; - $427 = HEAP32[$i>>2]|0; - $428 = (($427) + 1)|0; - HEAP32[$i>>2] = $428; + $474 = HEAP32[$5>>2]|0; + $475 = ((($474)) + 44|0); + $476 = HEAP32[$475>>2]|0; + $477 = (($476) + 1)|0; + HEAP32[$475>>2] = $477; + $478 = HEAP32[$40>>2]|0; + $479 = HEAP32[$13>>2]|0; + $480 = (($478) + ($479<<2)|0); + HEAP32[$480>>2] = $477; + $481 = HEAP32[$13>>2]|0; + $482 = (($481) + 1)|0; + HEAP32[$13>>2] = $482; } } } while(0); - $429 = HEAP8[$useTempTable>>0]|0; - $430 = ($429<<24>>24)!=(0); + $483 = HEAP8[$29>>0]|0; + $484 = ($483<<24>>24)!=(0); do { - if ($430) { - $431 = HEAP32[$v>>2]|0; - $432 = HEAP32[$srcTab>>2]|0; - $433 = (_sqlite3VdbeAddOp1($431,57,$432)|0); - HEAP32[$addrInsTop>>2] = $433; - $434 = HEAP32[$v>>2]|0; - $435 = (_sqlite3VdbeCurrentAddr($434)|0); - HEAP32[$addrCont>>2] = $435; + if ($484) { + $485 = HEAP32[$16>>2]|0; + $486 = HEAP32[$24>>2]|0; + $487 = (_sqlite3VdbeAddOp1($485,57,$486)|0); + HEAP32[$25>>2] = $487; + $488 = HEAP32[$16>>2]|0; + $489 = (_sqlite3VdbeCurrentAddr($488)|0); + HEAP32[$26>>2] = $489; } else { - $436 = HEAP32[$2>>2]|0; - $437 = ($436|0)!=(0|0); - if (!($437)) { + $490 = HEAP32[$7>>2]|0; + $491 = ($490|0)!=(0|0); + if (!($491)) { break; } - $438 = HEAP32[$v>>2]|0; - $439 = ((($dest)) + 8|0); - $440 = HEAP32[$439>>2]|0; - $441 = (_sqlite3VdbeAddOp1($438,16,$440)|0); - HEAP32[$addrCont>>2] = $441; - HEAP32[$addrInsTop>>2] = $441; + $492 = HEAP32[$16>>2]|0; + $493 = ((($27)) + 8|0); + $494 = HEAP32[$493>>2]|0; + $495 = (_sqlite3VdbeAddOp1($492,16,$494)|0); + HEAP32[$26>>2] = $495; + HEAP32[$25>>2] = $495; } } while(0); - $442 = HEAP32[$v>>2]|0; - $443 = (_sqlite3VdbeMakeLabel($442)|0); - HEAP32[$endOfLoop>>2] = $443; - $444 = HEAP32[$tmask>>2]|0; - $445 = $444 & 1; - $446 = ($445|0)!=(0); - if ($446) { - $447 = HEAP32[$0>>2]|0; - $448 = HEAP32[$pTab>>2]|0; - $449 = ((($448)) + 34|0); - $450 = HEAP16[$449>>1]|0; - $451 = $450 << 16 >> 16; - $452 = (($451) + 1)|0; - $453 = (_sqlite3GetTempRange($447,$452)|0); - HEAP32[$regCols>>2] = $453; - $454 = HEAP32[$ipkColumn>>2]|0; - $455 = ($454|0)<(0); - if ($455) { - $456 = HEAP32[$v>>2]|0; - $457 = HEAP32[$regCols>>2]|0; - (_sqlite3VdbeAddOp2($456,76,-1,$457)|0); + $496 = HEAP32[$16>>2]|0; + $497 = (_sqlite3VdbeMakeLabel($496)|0); + HEAP32[$23>>2] = $497; + $498 = HEAP32[$43>>2]|0; + $499 = $498 & 1; + $500 = ($499|0)!=(0); + if ($500) { + $501 = HEAP32[$5>>2]|0; + $502 = HEAP32[$11>>2]|0; + $503 = ((($502)) + 34|0); + $504 = HEAP16[$503>>1]|0; + $505 = $504 << 16 >> 16; + $506 = (($505) + 1)|0; + $507 = (_sqlite3GetTempRange($501,$506)|0); + HEAP32[$52>>2] = $507; + $508 = HEAP32[$22>>2]|0; + $509 = ($508|0)<(0); + if ($509) { + $510 = HEAP32[$16>>2]|0; + $511 = HEAP32[$52>>2]|0; + (_sqlite3VdbeAddOp2($510,76,-1,$511)|0); } else { - $458 = HEAP8[$useTempTable>>0]|0; - $459 = ($458<<24>>24)!=(0); - if ($459) { - $460 = HEAP32[$v>>2]|0; - $461 = HEAP32[$srcTab>>2]|0; - $462 = HEAP32[$ipkColumn>>2]|0; - $463 = HEAP32[$regCols>>2]|0; - (_sqlite3VdbeAddOp3($460,96,$461,$462,$463)|0); + $512 = HEAP8[$29>>0]|0; + $513 = ($512<<24>>24)!=(0); + if ($513) { + $514 = HEAP32[$16>>2]|0; + $515 = HEAP32[$24>>2]|0; + $516 = HEAP32[$22>>2]|0; + $517 = HEAP32[$52>>2]|0; + (_sqlite3VdbeAddOp3($514,96,$515,$516,$517)|0); } else { - $464 = HEAP32[$0>>2]|0; - $465 = HEAP32[$ipkColumn>>2]|0; - $466 = HEAP32[$pList>>2]|0; - $467 = ((($466)) + 4|0); - $468 = HEAP32[$467>>2]|0; - $469 = (($468) + (($465*20)|0)|0); - $470 = HEAP32[$469>>2]|0; - $471 = HEAP32[$regCols>>2]|0; - _sqlite3ExprCode($464,$470,$471); + $518 = HEAP32[$5>>2]|0; + $519 = HEAP32[$33>>2]|0; + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = HEAP32[$22>>2]|0; + $523 = (($521) + (($522*20)|0)|0); + $524 = HEAP32[$523>>2]|0; + $525 = HEAP32[$52>>2]|0; + _sqlite3ExprCode($518,$524,$525); } - $472 = HEAP32[$v>>2]|0; - $473 = HEAP32[$regCols>>2]|0; - $474 = (_sqlite3VdbeAddOp1($472,35,$473)|0); - HEAP32[$addr1>>2] = $474; - $475 = HEAP32[$v>>2]|0; - $476 = HEAP32[$regCols>>2]|0; - (_sqlite3VdbeAddOp2($475,76,-1,$476)|0); - $477 = HEAP32[$v>>2]|0; - $478 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($477,$478); - $479 = HEAP32[$v>>2]|0; - $480 = HEAP32[$regCols>>2]|0; - (_sqlite3VdbeAddOp1($479,17,$480)|0); + $526 = HEAP32[$16>>2]|0; + $527 = HEAP32[$52>>2]|0; + $528 = (_sqlite3VdbeAddOp1($526,35,$527)|0); + HEAP32[$53>>2] = $528; + $529 = HEAP32[$16>>2]|0; + $530 = HEAP32[$52>>2]|0; + (_sqlite3VdbeAddOp2($529,76,-1,$530)|0); + $531 = HEAP32[$16>>2]|0; + $532 = HEAP32[$53>>2]|0; + _sqlite3VdbeJumpHere($531,$532); + $533 = HEAP32[$16>>2]|0; + $534 = HEAP32[$52>>2]|0; + (_sqlite3VdbeAddOp1($533,17,$534)|0); } - HEAP32[$j>>2] = 0; - HEAP32[$i>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$13>>2] = 0; while(1) { - $481 = HEAP32[$i>>2]|0; - $482 = HEAP32[$pTab>>2]|0; - $483 = ((($482)) + 34|0); - $484 = HEAP16[$483>>1]|0; - $485 = $484 << 16 >> 16; - $486 = ($481|0)<($485|0); - if (!($486)) { + $535 = HEAP32[$13>>2]|0; + $536 = HEAP32[$11>>2]|0; + $537 = ((($536)) + 34|0); + $538 = HEAP16[$537>>1]|0; + $539 = $538 << 16 >> 16; + $540 = ($535|0)<($539|0); + if (!($540)) { break; } - $487 = HEAP32[$3>>2]|0; - $488 = ($487|0)!=(0|0); + $541 = HEAP32[$8>>2]|0; + $542 = ($541|0)!=(0|0); L110: do { - if ($488) { - HEAP32[$j>>2] = 0; + if ($542) { + HEAP32[$14>>2] = 0; while(1) { - $489 = HEAP32[$j>>2]|0; - $490 = HEAP32[$3>>2]|0; - $491 = ((($490)) + 4|0); - $492 = HEAP32[$491>>2]|0; - $493 = ($489|0)<($492|0); - if (!($493)) { + $543 = HEAP32[$14>>2]|0; + $544 = HEAP32[$8>>2]|0; + $545 = ((($544)) + 4|0); + $546 = HEAP32[$545>>2]|0; + $547 = ($543|0)<($546|0); + if (!($547)) { break L110; } - $494 = HEAP32[$j>>2]|0; - $495 = HEAP32[$3>>2]|0; - $496 = HEAP32[$495>>2]|0; - $497 = (($496) + ($494<<3)|0); - $498 = ((($497)) + 4|0); - $499 = HEAP32[$498>>2]|0; - $500 = HEAP32[$i>>2]|0; - $501 = ($499|0)==($500|0); - if ($501) { + $548 = HEAP32[$8>>2]|0; + $549 = HEAP32[$548>>2]|0; + $550 = HEAP32[$14>>2]|0; + $551 = (($549) + ($550<<3)|0); + $552 = ((($551)) + 4|0); + $553 = HEAP32[$552>>2]|0; + $554 = HEAP32[$13>>2]|0; + $555 = ($553|0)==($554|0); + if ($555) { break L110; } - $502 = HEAP32[$j>>2]|0; - $503 = (($502) + 1)|0; - HEAP32[$j>>2] = $503; + $556 = HEAP32[$14>>2]|0; + $557 = (($556) + 1)|0; + HEAP32[$14>>2] = $557; } } } while(0); - $504 = HEAP8[$useTempTable>>0]|0; - $505 = ($504<<24>>24)!=(0); - $506 = HEAP32[$pList>>2]|0; - $507 = ($506|0)!=(0|0); - $or$cond7 = $505 | $507; + $558 = HEAP8[$29>>0]|0; + $559 = ($558<<24>>24)!=(0); + $560 = HEAP32[$33>>2]|0; + $561 = ($560|0)!=(0|0); + $or$cond7 = $559 | $561; do { if ($or$cond7) { - $508 = HEAP32[$3>>2]|0; - $509 = ($508|0)!=(0|0); - if ($509) { - $510 = HEAP32[$j>>2]|0; - $511 = HEAP32[$3>>2]|0; - $512 = ((($511)) + 4|0); - $513 = HEAP32[$512>>2]|0; - $514 = ($510|0)>=($513|0); - if ($514) { + $562 = HEAP32[$8>>2]|0; + $563 = ($562|0)!=(0|0); + if ($563) { + $564 = HEAP32[$14>>2]|0; + $565 = HEAP32[$8>>2]|0; + $566 = ((($565)) + 4|0); + $567 = HEAP32[$566>>2]|0; + $568 = ($564|0)>=($567|0); + if ($568) { label = 90; break; } } - $515 = HEAP8[$useTempTable>>0]|0; - $516 = ($515<<24>>24)!=(0); - if ($516) { - $529 = HEAP32[$v>>2]|0; - $530 = HEAP32[$srcTab>>2]|0; - $531 = HEAP32[$j>>2]|0; - $532 = HEAP32[$regCols>>2]|0; - $533 = HEAP32[$i>>2]|0; - $534 = (($532) + ($533))|0; - $535 = (($534) + 1)|0; - (_sqlite3VdbeAddOp3($529,96,$530,$531,$535)|0); + $569 = HEAP8[$29>>0]|0; + $570 = ($569<<24>>24)!=(0); + if ($570) { + $583 = HEAP32[$16>>2]|0; + $584 = HEAP32[$24>>2]|0; + $585 = HEAP32[$14>>2]|0; + $586 = HEAP32[$52>>2]|0; + $587 = HEAP32[$13>>2]|0; + $588 = (($586) + ($587))|0; + $589 = (($588) + 1)|0; + (_sqlite3VdbeAddOp3($583,96,$584,$585,$589)|0); break; } else { - $536 = HEAP32[$0>>2]|0; - $537 = HEAP32[$j>>2]|0; - $538 = HEAP32[$pList>>2]|0; - $539 = ((($538)) + 4|0); - $540 = HEAP32[$539>>2]|0; - $541 = (($540) + (($537*20)|0)|0); - $542 = HEAP32[$541>>2]|0; - $543 = HEAP32[$regCols>>2]|0; - $544 = HEAP32[$i>>2]|0; - $545 = (($543) + ($544))|0; - $546 = (($545) + 1)|0; - _sqlite3ExprCodeAndCache($536,$542,$546); + $590 = HEAP32[$5>>2]|0; + $591 = HEAP32[$33>>2]|0; + $592 = ((($591)) + 4|0); + $593 = HEAP32[$592>>2]|0; + $594 = HEAP32[$14>>2]|0; + $595 = (($593) + (($594*20)|0)|0); + $596 = HEAP32[$595>>2]|0; + $597 = HEAP32[$52>>2]|0; + $598 = HEAP32[$13>>2]|0; + $599 = (($597) + ($598))|0; + $600 = (($599) + 1)|0; + _sqlite3ExprCodeAndCache($590,$596,$600); break; } } else { @@ -124051,589 +99447,589 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } while(0); if ((label|0) == 90) { label = 0; - $517 = HEAP32[$0>>2]|0; - $518 = HEAP32[$i>>2]|0; - $519 = HEAP32[$pTab>>2]|0; - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = (($521) + ($518<<4)|0); - $523 = ((($522)) + 4|0); - $524 = HEAP32[$523>>2]|0; - $525 = HEAP32[$regCols>>2]|0; - $526 = HEAP32[$i>>2]|0; - $527 = (($525) + ($526))|0; - $528 = (($527) + 1)|0; - _sqlite3ExprCode($517,$524,$528); + $571 = HEAP32[$5>>2]|0; + $572 = HEAP32[$11>>2]|0; + $573 = ((($572)) + 4|0); + $574 = HEAP32[$573>>2]|0; + $575 = HEAP32[$13>>2]|0; + $576 = (($574) + ($575<<4)|0); + $577 = ((($576)) + 4|0); + $578 = HEAP32[$577>>2]|0; + $579 = HEAP32[$52>>2]|0; + $580 = HEAP32[$13>>2]|0; + $581 = (($579) + ($580))|0; + $582 = (($581) + 1)|0; + _sqlite3ExprCode($571,$578,$582); } - $547 = HEAP32[$3>>2]|0; - $548 = ($547|0)==(0|0); - if ($548) { - $549 = HEAP32[$j>>2]|0; - $550 = (($549) + 1)|0; - HEAP32[$j>>2] = $550; + $601 = HEAP32[$8>>2]|0; + $602 = ($601|0)==(0|0); + if ($602) { + $603 = HEAP32[$14>>2]|0; + $604 = (($603) + 1)|0; + HEAP32[$14>>2] = $604; } - $551 = HEAP32[$i>>2]|0; - $552 = (($551) + 1)|0; - HEAP32[$i>>2] = $552; + $605 = HEAP32[$13>>2]|0; + $606 = (($605) + 1)|0; + HEAP32[$13>>2] = $606; } - $553 = HEAP32[$isView>>2]|0; - $554 = ($553|0)!=(0); - if (!($554)) { - $555 = HEAP32[$v>>2]|0; - $556 = HEAP32[$pTab>>2]|0; - $557 = HEAP32[$regCols>>2]|0; - $558 = (($557) + 1)|0; - _sqlite3TableAffinity($555,$556,$558); + $607 = HEAP32[$41>>2]|0; + $608 = ($607|0)!=(0); + if (!($608)) { + $609 = HEAP32[$16>>2]|0; + $610 = HEAP32[$11>>2]|0; + $611 = HEAP32[$52>>2]|0; + $612 = (($611) + 1)|0; + _sqlite3TableAffinity($609,$610,$612); } - $559 = HEAP32[$0>>2]|0; - $560 = HEAP32[$pTrigger>>2]|0; - $561 = HEAP32[$pTab>>2]|0; - $562 = HEAP32[$regCols>>2]|0; - $563 = HEAP32[$pTab>>2]|0; - $564 = ((($563)) + 34|0); - $565 = HEAP16[$564>>1]|0; - $566 = $565 << 16 >> 16; - $567 = (($562) - ($566))|0; - $568 = (($567) - 1)|0; - $569 = HEAP32[$4>>2]|0; - $570 = HEAP32[$endOfLoop>>2]|0; - _sqlite3CodeRowTrigger($559,$560,108,0,1,$561,$568,$569,$570); - $571 = HEAP32[$0>>2]|0; - $572 = HEAP32[$regCols>>2]|0; - $573 = HEAP32[$pTab>>2]|0; - $574 = ((($573)) + 34|0); - $575 = HEAP16[$574>>1]|0; - $576 = $575 << 16 >> 16; - $577 = (($576) + 1)|0; - _sqlite3ReleaseTempRange($571,$572,$577); + $613 = HEAP32[$5>>2]|0; + $614 = HEAP32[$42>>2]|0; + $615 = HEAP32[$11>>2]|0; + $616 = HEAP32[$52>>2]|0; + $617 = HEAP32[$11>>2]|0; + $618 = ((($617)) + 34|0); + $619 = HEAP16[$618>>1]|0; + $620 = $619 << 16 >> 16; + $621 = (($616) - ($620))|0; + $622 = (($621) - 1)|0; + $623 = HEAP32[$9>>2]|0; + $624 = HEAP32[$23>>2]|0; + _sqlite3CodeRowTrigger($613,$614,108,0,1,$615,$622,$623,$624); + $625 = HEAP32[$5>>2]|0; + $626 = HEAP32[$52>>2]|0; + $627 = HEAP32[$11>>2]|0; + $628 = ((($627)) + 34|0); + $629 = HEAP16[$628>>1]|0; + $630 = $629 << 16 >> 16; + $631 = (($630) + 1)|0; + _sqlite3ReleaseTempRange($625,$626,$631); } - $578 = HEAP32[$isView>>2]|0; - $579 = ($578|0)!=(0); + $632 = HEAP32[$41>>2]|0; + $633 = ($632|0)!=(0); do { - if (!($579)) { - $580 = HEAP32[$pTab>>2]|0; - $581 = ((($580)) + 42|0); - $582 = HEAP8[$581>>0]|0; - $583 = $582&255; - $584 = $583 & 16; - $585 = ($584|0)!=(0); - if ($585) { - $586 = HEAP32[$v>>2]|0; - $587 = HEAP32[$regIns>>2]|0; - (_sqlite3VdbeAddOp2($586,79,0,$587)|0); + if (!($633)) { + $634 = HEAP32[$11>>2]|0; + $635 = ((($634)) + 42|0); + $636 = HEAP8[$635>>0]|0; + $637 = $636&255; + $638 = $637 & 16; + $639 = ($638|0)!=(0); + if ($639) { + $640 = HEAP32[$16>>2]|0; + $641 = HEAP32[$37>>2]|0; + (_sqlite3VdbeAddOp2($640,79,0,$641)|0); } - $588 = HEAP32[$ipkColumn>>2]|0; - $589 = ($588|0)>=(0); + $642 = HEAP32[$22>>2]|0; + $643 = ($642|0)>=(0); L141: do { - if ($589) { - $590 = HEAP8[$useTempTable>>0]|0; - $591 = ($590<<24>>24)!=(0); + if ($643) { + $644 = HEAP8[$29>>0]|0; + $645 = ($644<<24>>24)!=(0); do { - if ($591) { - $592 = HEAP32[$v>>2]|0; - $593 = HEAP32[$srcTab>>2]|0; - $594 = HEAP32[$ipkColumn>>2]|0; - $595 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($592,96,$593,$594,$595)|0); + if ($645) { + $646 = HEAP32[$16>>2]|0; + $647 = HEAP32[$24>>2]|0; + $648 = HEAP32[$22>>2]|0; + $649 = HEAP32[$38>>2]|0; + (_sqlite3VdbeAddOp3($646,96,$647,$648,$649)|0); } else { - $596 = HEAP32[$2>>2]|0; - $597 = ($596|0)!=(0|0); - if ($597) { - $598 = HEAP32[$v>>2]|0; - $599 = HEAP32[$regFromSelect>>2]|0; - $600 = HEAP32[$ipkColumn>>2]|0; - $601 = (($599) + ($600))|0; - $602 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($598,84,$601,$602)|0); + $650 = HEAP32[$7>>2]|0; + $651 = ($650|0)!=(0|0); + if ($651) { + $652 = HEAP32[$16>>2]|0; + $653 = HEAP32[$34>>2]|0; + $654 = HEAP32[$22>>2]|0; + $655 = (($653) + ($654))|0; + $656 = HEAP32[$38>>2]|0; + (_sqlite3VdbeAddOp2($652,84,$655,$656)|0); break; } - $603 = HEAP32[$0>>2]|0; - $604 = HEAP32[$ipkColumn>>2]|0; - $605 = HEAP32[$pList>>2]|0; - $606 = ((($605)) + 4|0); - $607 = HEAP32[$606>>2]|0; - $608 = (($607) + (($604*20)|0)|0); - $609 = HEAP32[$608>>2]|0; - $610 = HEAP32[$regRowid>>2]|0; - _sqlite3ExprCode($603,$609,$610); - $611 = HEAP32[$v>>2]|0; - $612 = (_sqlite3VdbeGetOp($611,-1)|0); - HEAP32[$pOp>>2] = $612; - $613 = HEAP32[$pOp>>2]|0; - $614 = ($613|0)!=(0|0); - if (!($614)) { + $657 = HEAP32[$5>>2]|0; + $658 = HEAP32[$33>>2]|0; + $659 = ((($658)) + 4|0); + $660 = HEAP32[$659>>2]|0; + $661 = HEAP32[$22>>2]|0; + $662 = (($660) + (($661*20)|0)|0); + $663 = HEAP32[$662>>2]|0; + $664 = HEAP32[$38>>2]|0; + _sqlite3ExprCode($657,$663,$664); + $665 = HEAP32[$16>>2]|0; + $666 = (_sqlite3VdbeGetOp($665,-1)|0); + HEAP32[$54>>2] = $666; + $667 = HEAP32[$54>>2]|0; + $668 = ($667|0)!=(0|0); + if (!($668)) { break; } - $615 = HEAP32[$pOp>>2]|0; - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $618 = ($617|0)==(79); - if (!($618)) { + $669 = HEAP32[$54>>2]|0; + $670 = HEAP8[$669>>0]|0; + $671 = $670&255; + $672 = ($671|0)==(79); + if (!($672)) { break; } - $619 = HEAP32[$pTab>>2]|0; - $620 = ((($619)) + 42|0); - $621 = HEAP8[$620>>0]|0; - $622 = $621&255; - $623 = $622 & 16; - $624 = ($623|0)!=(0); - if ($624) { + $673 = HEAP32[$11>>2]|0; + $674 = ((($673)) + 42|0); + $675 = HEAP8[$674>>0]|0; + $676 = $675&255; + $677 = $676 & 16; + $678 = ($677|0)!=(0); + if ($678) { break; } - HEAP8[$appendFlag>>0] = 1; - $625 = HEAP32[$pOp>>2]|0; - HEAP8[$625>>0] = 114; - $626 = HEAP32[$iDataCur>>2]|0; - $627 = HEAP32[$pOp>>2]|0; - $628 = ((($627)) + 4|0); - HEAP32[$628>>2] = $626; - $629 = HEAP32[$regRowid>>2]|0; - $630 = HEAP32[$pOp>>2]|0; - $631 = ((($630)) + 8|0); - HEAP32[$631>>2] = $629; - $632 = HEAP32[$regAutoinc>>2]|0; - $633 = HEAP32[$pOp>>2]|0; - $634 = ((($633)) + 12|0); - HEAP32[$634>>2] = $632; + HEAP8[$30>>0] = 1; + $679 = HEAP32[$54>>2]|0; + HEAP8[$679>>0] = 114; + $680 = HEAP32[$20>>2]|0; + $681 = HEAP32[$54>>2]|0; + $682 = ((($681)) + 4|0); + HEAP32[$682>>2] = $680; + $683 = HEAP32[$38>>2]|0; + $684 = HEAP32[$54>>2]|0; + $685 = ((($684)) + 8|0); + HEAP32[$685>>2] = $683; + $686 = HEAP32[$35>>2]|0; + $687 = HEAP32[$54>>2]|0; + $688 = ((($687)) + 12|0); + HEAP32[$688>>2] = $686; } } while(0); - $635 = HEAP8[$appendFlag>>0]|0; - $636 = ($635<<24>>24)!=(0); - if ($636) { + $689 = HEAP8[$30>>0]|0; + $690 = ($689<<24>>24)!=(0); + if ($690) { break; } - $637 = HEAP32[$pTab>>2]|0; - $638 = ((($637)) + 42|0); - $639 = HEAP8[$638>>0]|0; - $640 = $639&255; - $641 = $640 & 16; - $642 = ($641|0)!=(0); - $643 = HEAP32[$v>>2]|0; - if ($642) { - $652 = (_sqlite3VdbeCurrentAddr($643)|0); - HEAP32[$addr11>>2] = $652; - $653 = HEAP32[$v>>2]|0; - $654 = HEAP32[$regRowid>>2]|0; - $655 = HEAP32[$addr11>>2]|0; - $656 = (($655) + 2)|0; - (_sqlite3VdbeAddOp2($653,34,$654,$656)|0); + $691 = HEAP32[$11>>2]|0; + $692 = ((($691)) + 42|0); + $693 = HEAP8[$692>>0]|0; + $694 = $693&255; + $695 = $694 & 16; + $696 = ($695|0)!=(0); + $697 = HEAP32[$16>>2]|0; + if ($696) { + $706 = (_sqlite3VdbeCurrentAddr($697)|0); + HEAP32[$55>>2] = $706; + $707 = HEAP32[$16>>2]|0; + $708 = HEAP32[$38>>2]|0; + $709 = HEAP32[$55>>2]|0; + $710 = (($709) + 2)|0; + (_sqlite3VdbeAddOp2($707,34,$708,$710)|0); } else { - $644 = HEAP32[$regRowid>>2]|0; - $645 = (_sqlite3VdbeAddOp1($643,35,$644)|0); - HEAP32[$addr11>>2] = $645; - $646 = HEAP32[$v>>2]|0; - $647 = HEAP32[$iDataCur>>2]|0; - $648 = HEAP32[$regRowid>>2]|0; - $649 = HEAP32[$regAutoinc>>2]|0; - (_sqlite3VdbeAddOp3($646,114,$647,$648,$649)|0); - $650 = HEAP32[$v>>2]|0; - $651 = HEAP32[$addr11>>2]|0; - _sqlite3VdbeJumpHere($650,$651); + $698 = HEAP32[$38>>2]|0; + $699 = (_sqlite3VdbeAddOp1($697,35,$698)|0); + HEAP32[$55>>2] = $699; + $700 = HEAP32[$16>>2]|0; + $701 = HEAP32[$20>>2]|0; + $702 = HEAP32[$38>>2]|0; + $703 = HEAP32[$35>>2]|0; + (_sqlite3VdbeAddOp3($700,114,$701,$702,$703)|0); + $704 = HEAP32[$16>>2]|0; + $705 = HEAP32[$55>>2]|0; + _sqlite3VdbeJumpHere($704,$705); } - $657 = HEAP32[$v>>2]|0; - $658 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp1($657,17,$658)|0); + $711 = HEAP32[$16>>2]|0; + $712 = HEAP32[$38>>2]|0; + (_sqlite3VdbeAddOp1($711,17,$712)|0); } else { - $659 = HEAP32[$pTab>>2]|0; - $660 = ((($659)) + 42|0); - $661 = HEAP8[$660>>0]|0; - $662 = $661&255; - $663 = $662 & 16; - $664 = ($663|0)!=(0); + $713 = HEAP32[$11>>2]|0; + $714 = ((($713)) + 42|0); + $715 = HEAP8[$714>>0]|0; + $716 = $715&255; + $717 = $716 & 16; + $718 = ($717|0)!=(0); do { - if (!($664)) { - $665 = HEAP8[$withoutRowid>>0]|0; - $666 = $665&255; - $667 = ($666|0)!=(0); - if ($667) { + if (!($718)) { + $719 = HEAP8[$31>>0]|0; + $720 = $719&255; + $721 = ($720|0)!=(0); + if ($721) { break; } - $670 = HEAP32[$v>>2]|0; - $671 = HEAP32[$iDataCur>>2]|0; - $672 = HEAP32[$regRowid>>2]|0; - $673 = HEAP32[$regAutoinc>>2]|0; - (_sqlite3VdbeAddOp3($670,114,$671,$672,$673)|0); - HEAP8[$appendFlag>>0] = 1; + $724 = HEAP32[$16>>2]|0; + $725 = HEAP32[$20>>2]|0; + $726 = HEAP32[$38>>2]|0; + $727 = HEAP32[$35>>2]|0; + (_sqlite3VdbeAddOp3($724,114,$725,$726,$727)|0); + HEAP8[$30>>0] = 1; break L141; } } while(0); - $668 = HEAP32[$v>>2]|0; - $669 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($668,79,0,$669)|0); + $722 = HEAP32[$16>>2]|0; + $723 = HEAP32[$38>>2]|0; + (_sqlite3VdbeAddOp2($722,79,0,$723)|0); } } while(0); - $674 = HEAP32[$0>>2]|0; - $675 = HEAP32[$regAutoinc>>2]|0; - $676 = HEAP32[$regRowid>>2]|0; - _autoIncStep($674,$675,$676); - HEAP32[$nHidden>>2] = 0; - HEAP32[$i>>2] = 0; + $728 = HEAP32[$5>>2]|0; + $729 = HEAP32[$35>>2]|0; + $730 = HEAP32[$38>>2]|0; + _autoIncStep($728,$729,$730); + HEAP32[$19>>2] = 0; + HEAP32[$13>>2] = 0; while(1) { - $677 = HEAP32[$i>>2]|0; - $678 = HEAP32[$pTab>>2]|0; - $679 = ((($678)) + 34|0); - $680 = HEAP16[$679>>1]|0; - $681 = $680 << 16 >> 16; - $682 = ($677|0)<($681|0); - if (!($682)) { + $731 = HEAP32[$13>>2]|0; + $732 = HEAP32[$11>>2]|0; + $733 = ((($732)) + 34|0); + $734 = HEAP16[$733>>1]|0; + $735 = $734 << 16 >> 16; + $736 = ($731|0)<($735|0); + if (!($736)) { break; } - $683 = HEAP32[$regRowid>>2]|0; - $684 = (($683) + 1)|0; - $685 = HEAP32[$i>>2]|0; - $686 = (($684) + ($685))|0; - HEAP32[$iRegStore>>2] = $686; - $687 = HEAP32[$i>>2]|0; - $688 = HEAP32[$pTab>>2]|0; - $689 = ((($688)) + 32|0); - $690 = HEAP16[$689>>1]|0; - $691 = $690 << 16 >> 16; - $692 = ($687|0)==($691|0); + $737 = HEAP32[$38>>2]|0; + $738 = (($737) + 1)|0; + $739 = HEAP32[$13>>2]|0; + $740 = (($738) + ($739))|0; + HEAP32[$56>>2] = $740; + $741 = HEAP32[$13>>2]|0; + $742 = HEAP32[$11>>2]|0; + $743 = ((($742)) + 32|0); + $744 = HEAP16[$743>>1]|0; + $745 = $744 << 16 >> 16; + $746 = ($741|0)==($745|0); L167: do { - if ($692) { - $693 = HEAP32[$v>>2]|0; - $694 = HEAP32[$iRegStore>>2]|0; - (_sqlite3VdbeAddOp1($693,80,$694)|0); + if ($746) { + $747 = HEAP32[$16>>2]|0; + $748 = HEAP32[$56>>2]|0; + (_sqlite3VdbeAddOp1($747,80,$748)|0); } else { - $695 = HEAP32[$3>>2]|0; - $696 = ($695|0)==(0|0); + $749 = HEAP32[$8>>2]|0; + $750 = ($749|0)==(0|0); L170: do { - if ($696) { - $697 = HEAP32[$i>>2]|0; - $698 = HEAP32[$pTab>>2]|0; - $699 = ((($698)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($697<<4)|0); - $702 = ((($701)) + 15|0); - $703 = HEAP8[$702>>0]|0; - $704 = $703&255; - $705 = $704 & 2; - $706 = ($705|0)!=(0); - if ($706) { - HEAP32[$j>>2] = -1; - $707 = HEAP32[$nHidden>>2]|0; - $708 = (($707) + 1)|0; - HEAP32[$nHidden>>2] = $708; + if ($750) { + $751 = HEAP32[$11>>2]|0; + $752 = ((($751)) + 4|0); + $753 = HEAP32[$752>>2]|0; + $754 = HEAP32[$13>>2]|0; + $755 = (($753) + ($754<<4)|0); + $756 = ((($755)) + 15|0); + $757 = HEAP8[$756>>0]|0; + $758 = $757&255; + $759 = $758 & 2; + $760 = ($759|0)!=(0); + if ($760) { + HEAP32[$14>>2] = -1; + $761 = HEAP32[$19>>2]|0; + $762 = (($761) + 1)|0; + HEAP32[$19>>2] = $762; break; } else { - $709 = HEAP32[$i>>2]|0; - $710 = HEAP32[$nHidden>>2]|0; - $711 = (($709) - ($710))|0; - HEAP32[$j>>2] = $711; + $763 = HEAP32[$13>>2]|0; + $764 = HEAP32[$19>>2]|0; + $765 = (($763) - ($764))|0; + HEAP32[$14>>2] = $765; break; } } else { - HEAP32[$j>>2] = 0; + HEAP32[$14>>2] = 0; while(1) { - $712 = HEAP32[$j>>2]|0; - $713 = HEAP32[$3>>2]|0; - $714 = ((($713)) + 4|0); - $715 = HEAP32[$714>>2]|0; - $716 = ($712|0)<($715|0); - if (!($716)) { + $766 = HEAP32[$14>>2]|0; + $767 = HEAP32[$8>>2]|0; + $768 = ((($767)) + 4|0); + $769 = HEAP32[$768>>2]|0; + $770 = ($766|0)<($769|0); + if (!($770)) { break L170; } - $717 = HEAP32[$j>>2]|0; - $718 = HEAP32[$3>>2]|0; - $719 = HEAP32[$718>>2]|0; - $720 = (($719) + ($717<<3)|0); - $721 = ((($720)) + 4|0); - $722 = HEAP32[$721>>2]|0; - $723 = HEAP32[$i>>2]|0; - $724 = ($722|0)==($723|0); - if ($724) { + $771 = HEAP32[$8>>2]|0; + $772 = HEAP32[$771>>2]|0; + $773 = HEAP32[$14>>2]|0; + $774 = (($772) + ($773<<3)|0); + $775 = ((($774)) + 4|0); + $776 = HEAP32[$775>>2]|0; + $777 = HEAP32[$13>>2]|0; + $778 = ($776|0)==($777|0); + if ($778) { break L170; } - $725 = HEAP32[$j>>2]|0; - $726 = (($725) + 1)|0; - HEAP32[$j>>2] = $726; + $779 = HEAP32[$14>>2]|0; + $780 = (($779) + 1)|0; + HEAP32[$14>>2] = $780; } } } while(0); - $727 = HEAP32[$j>>2]|0; - $728 = ($727|0)<(0); - $729 = HEAP32[$nColumn>>2]|0; - $730 = ($729|0)==(0); - $or$cond9 = $728 | $730; + $781 = HEAP32[$14>>2]|0; + $782 = ($781|0)<(0); + $783 = HEAP32[$18>>2]|0; + $784 = ($783|0)==(0); + $or$cond9 = $782 | $784; do { if (!($or$cond9)) { - $731 = HEAP32[$3>>2]|0; - $732 = ($731|0)!=(0|0); - if ($732) { - $733 = HEAP32[$j>>2]|0; - $734 = HEAP32[$3>>2]|0; - $735 = ((($734)) + 4|0); - $736 = HEAP32[$735>>2]|0; - $737 = ($733|0)>=($736|0); - if ($737) { + $785 = HEAP32[$8>>2]|0; + $786 = ($785|0)!=(0|0); + if ($786) { + $787 = HEAP32[$14>>2]|0; + $788 = HEAP32[$8>>2]|0; + $789 = ((($788)) + 4|0); + $790 = HEAP32[$789>>2]|0; + $791 = ($787|0)>=($790|0); + if ($791) { break; } } - $747 = HEAP8[$useTempTable>>0]|0; - $748 = ($747<<24>>24)!=(0); - if ($748) { - $749 = HEAP32[$v>>2]|0; - $750 = HEAP32[$srcTab>>2]|0; - $751 = HEAP32[$j>>2]|0; - $752 = HEAP32[$iRegStore>>2]|0; - (_sqlite3VdbeAddOp3($749,96,$750,$751,$752)|0); + $801 = HEAP8[$29>>0]|0; + $802 = ($801<<24>>24)!=(0); + if ($802) { + $803 = HEAP32[$16>>2]|0; + $804 = HEAP32[$24>>2]|0; + $805 = HEAP32[$14>>2]|0; + $806 = HEAP32[$56>>2]|0; + (_sqlite3VdbeAddOp3($803,96,$804,$805,$806)|0); break L167; } - $753 = HEAP32[$2>>2]|0; - $754 = ($753|0)!=(0|0); - if (!($754)) { - $763 = HEAP32[$0>>2]|0; - $764 = HEAP32[$j>>2]|0; - $765 = HEAP32[$pList>>2]|0; - $766 = ((($765)) + 4|0); - $767 = HEAP32[$766>>2]|0; - $768 = (($767) + (($764*20)|0)|0); - $769 = HEAP32[$768>>2]|0; - $770 = HEAP32[$iRegStore>>2]|0; - _sqlite3ExprCode($763,$769,$770); + $807 = HEAP32[$7>>2]|0; + $808 = ($807|0)!=(0|0); + if (!($808)) { + $817 = HEAP32[$5>>2]|0; + $818 = HEAP32[$33>>2]|0; + $819 = ((($818)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = HEAP32[$14>>2]|0; + $822 = (($820) + (($821*20)|0)|0); + $823 = HEAP32[$822>>2]|0; + $824 = HEAP32[$56>>2]|0; + _sqlite3ExprCode($817,$823,$824); break L167; } - $755 = HEAP32[$regFromSelect>>2]|0; - $756 = HEAP32[$regData>>2]|0; - $757 = ($755|0)!=($756|0); - if (!($757)) { + $809 = HEAP32[$34>>2]|0; + $810 = HEAP32[$39>>2]|0; + $811 = ($809|0)!=($810|0); + if (!($811)) { break L167; } - $758 = HEAP32[$v>>2]|0; - $759 = HEAP32[$regFromSelect>>2]|0; - $760 = HEAP32[$j>>2]|0; - $761 = (($759) + ($760))|0; - $762 = HEAP32[$iRegStore>>2]|0; - (_sqlite3VdbeAddOp2($758,85,$761,$762)|0); + $812 = HEAP32[$16>>2]|0; + $813 = HEAP32[$34>>2]|0; + $814 = HEAP32[$14>>2]|0; + $815 = (($813) + ($814))|0; + $816 = HEAP32[$56>>2]|0; + (_sqlite3VdbeAddOp2($812,85,$815,$816)|0); break L167; } } while(0); - $738 = HEAP32[$0>>2]|0; - $739 = HEAP32[$i>>2]|0; - $740 = HEAP32[$pTab>>2]|0; - $741 = ((($740)) + 4|0); - $742 = HEAP32[$741>>2]|0; - $743 = (($742) + ($739<<4)|0); - $744 = ((($743)) + 4|0); - $745 = HEAP32[$744>>2]|0; - $746 = HEAP32[$iRegStore>>2]|0; - _sqlite3ExprCodeFactorable($738,$745,$746); + $792 = HEAP32[$5>>2]|0; + $793 = HEAP32[$11>>2]|0; + $794 = ((($793)) + 4|0); + $795 = HEAP32[$794>>2]|0; + $796 = HEAP32[$13>>2]|0; + $797 = (($795) + ($796<<4)|0); + $798 = ((($797)) + 4|0); + $799 = HEAP32[$798>>2]|0; + $800 = HEAP32[$56>>2]|0; + _sqlite3ExprCodeFactorable($792,$799,$800); } } while(0); - $771 = HEAP32[$i>>2]|0; - $772 = (($771) + 1)|0; - HEAP32[$i>>2] = $772; + $825 = HEAP32[$13>>2]|0; + $826 = (($825) + 1)|0; + HEAP32[$13>>2] = $826; } - $773 = HEAP32[$pTab>>2]|0; - $774 = ((($773)) + 42|0); - $775 = HEAP8[$774>>0]|0; - $776 = $775&255; - $777 = $776 & 16; - $778 = ($777|0)!=(0); - if ($778) { - $779 = HEAP32[$db>>2]|0; - $780 = HEAP32[$pTab>>2]|0; - $781 = (_sqlite3GetVTable($779,$780)|0); - HEAP32[$pVTab>>2] = $781; - $782 = HEAP32[$0>>2]|0; - $783 = HEAP32[$pTab>>2]|0; - _sqlite3VtabMakeWritable($782,$783); - $784 = HEAP32[$v>>2]|0; - $785 = HEAP32[$pTab>>2]|0; - $786 = ((($785)) + 34|0); - $787 = HEAP16[$786>>1]|0; - $788 = $787 << 16 >> 16; - $789 = (($788) + 2)|0; - $790 = HEAP32[$regIns>>2]|0; - $791 = HEAP32[$pVTab>>2]|0; - (_sqlite3VdbeAddOp4($784,12,1,$789,$790,$791,-10)|0); - $792 = HEAP32[$v>>2]|0; - $793 = HEAP32[$4>>2]|0; - $794 = ($793|0)==(10); - $795 = HEAP32[$4>>2]|0; - $796 = $794 ? 2 : $795; - $797 = $796&255; - _sqlite3VdbeChangeP5($792,$797); - $798 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($798); + $827 = HEAP32[$11>>2]|0; + $828 = ((($827)) + 42|0); + $829 = HEAP8[$828>>0]|0; + $830 = $829&255; + $831 = $830 & 16; + $832 = ($831|0)!=(0); + if ($832) { + $833 = HEAP32[$10>>2]|0; + $834 = HEAP32[$11>>2]|0; + $835 = (_sqlite3GetVTable($833,$834)|0); + HEAP32[$57>>2] = $835; + $836 = HEAP32[$5>>2]|0; + $837 = HEAP32[$11>>2]|0; + _sqlite3VtabMakeWritable($836,$837); + $838 = HEAP32[$16>>2]|0; + $839 = HEAP32[$11>>2]|0; + $840 = ((($839)) + 34|0); + $841 = HEAP16[$840>>1]|0; + $842 = $841 << 16 >> 16; + $843 = (($842) + 2)|0; + $844 = HEAP32[$37>>2]|0; + $845 = HEAP32[$57>>2]|0; + (_sqlite3VdbeAddOp4($838,12,1,$843,$844,$845,-10)|0); + $846 = HEAP32[$16>>2]|0; + $847 = HEAP32[$9>>2]|0; + $848 = ($847|0)==(10); + $849 = HEAP32[$9>>2]|0; + $850 = $848 ? 2 : $849; + $851 = $850&255; + _sqlite3VdbeChangeP5($846,$851); + $852 = HEAP32[$5>>2]|0; + _sqlite3MayAbort($852); break; } else { - $799 = HEAP32[$0>>2]|0; - $800 = HEAP32[$pTab>>2]|0; - $801 = HEAP32[$aRegIdx>>2]|0; - $802 = HEAP32[$iDataCur>>2]|0; - $803 = HEAP32[$iIdxCur>>2]|0; - $804 = HEAP32[$regIns>>2]|0; - $805 = HEAP32[$ipkColumn>>2]|0; - $806 = ($805|0)>=(0); - $807 = $806&1; - $808 = $807&255; - $809 = HEAP32[$4>>2]|0; - $810 = $809&255; - $811 = HEAP32[$endOfLoop>>2]|0; - _sqlite3GenerateConstraintChecks($799,$800,$801,$802,$803,$804,0,$808,$810,$811,$isReplace,0); - $812 = HEAP32[$0>>2]|0; - $813 = HEAP32[$pTab>>2]|0; - $814 = HEAP32[$regIns>>2]|0; - _sqlite3FkCheck($812,$813,0,$814,0,0); - $815 = HEAP32[$0>>2]|0; - $816 = HEAP32[$pTab>>2]|0; - $817 = HEAP32[$iDataCur>>2]|0; - $818 = HEAP32[$iIdxCur>>2]|0; - $819 = HEAP32[$regIns>>2]|0; - $820 = HEAP32[$aRegIdx>>2]|0; - $821 = HEAP8[$appendFlag>>0]|0; - $822 = $821&255; - $823 = HEAP32[$isReplace>>2]|0; - $824 = ($823|0)==(0); - $825 = $824&1; - _sqlite3CompleteInsertion($815,$816,$817,$818,$819,$820,0,$822,$825); + $853 = HEAP32[$5>>2]|0; + $854 = HEAP32[$11>>2]|0; + $855 = HEAP32[$40>>2]|0; + $856 = HEAP32[$20>>2]|0; + $857 = HEAP32[$21>>2]|0; + $858 = HEAP32[$37>>2]|0; + $859 = HEAP32[$22>>2]|0; + $860 = ($859|0)>=(0); + $861 = $860&1; + $862 = $861&255; + $863 = HEAP32[$9>>2]|0; + $864 = $863&255; + $865 = HEAP32[$23>>2]|0; + _sqlite3GenerateConstraintChecks($853,$854,$855,$856,$857,$858,0,$862,$864,$865,$58,0); + $866 = HEAP32[$5>>2]|0; + $867 = HEAP32[$11>>2]|0; + $868 = HEAP32[$37>>2]|0; + _sqlite3FkCheck($866,$867,0,$868,0,0); + $869 = HEAP32[$5>>2]|0; + $870 = HEAP32[$11>>2]|0; + $871 = HEAP32[$20>>2]|0; + $872 = HEAP32[$21>>2]|0; + $873 = HEAP32[$37>>2]|0; + $874 = HEAP32[$40>>2]|0; + $875 = HEAP8[$30>>0]|0; + $876 = $875&255; + $877 = HEAP32[$58>>2]|0; + $878 = ($877|0)==(0); + $879 = $878&1; + _sqlite3CompleteInsertion($869,$870,$871,$872,$873,$874,0,$876,$879); break; } } } while(0); - $826 = HEAP32[$db>>2]|0; - $827 = ((($826)) + 24|0); - $828 = HEAP32[$827>>2]|0; - $829 = $828 & 128; - $830 = ($829|0)!=(0); - if ($830) { - $831 = HEAP32[$v>>2]|0; - $832 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($831,91,$832,1)|0); + $880 = HEAP32[$10>>2]|0; + $881 = ((($880)) + 24|0); + $882 = HEAP32[$881>>2]|0; + $883 = $882 & 128; + $884 = ($883|0)!=(0); + if ($884) { + $885 = HEAP32[$16>>2]|0; + $886 = HEAP32[$36>>2]|0; + (_sqlite3VdbeAddOp2($885,91,$886,1)|0); } - $833 = HEAP32[$pTrigger>>2]|0; - $834 = ($833|0)!=(0|0); - if ($834) { - $835 = HEAP32[$0>>2]|0; - $836 = HEAP32[$pTrigger>>2]|0; - $837 = HEAP32[$pTab>>2]|0; - $838 = HEAP32[$regData>>2]|0; - $839 = (($838) - 2)|0; - $840 = HEAP32[$pTab>>2]|0; - $841 = ((($840)) + 34|0); - $842 = HEAP16[$841>>1]|0; - $843 = $842 << 16 >> 16; - $844 = (($839) - ($843))|0; - $845 = HEAP32[$4>>2]|0; - $846 = HEAP32[$endOfLoop>>2]|0; - _sqlite3CodeRowTrigger($835,$836,108,0,2,$837,$844,$845,$846); + $887 = HEAP32[$42>>2]|0; + $888 = ($887|0)!=(0|0); + if ($888) { + $889 = HEAP32[$5>>2]|0; + $890 = HEAP32[$42>>2]|0; + $891 = HEAP32[$11>>2]|0; + $892 = HEAP32[$39>>2]|0; + $893 = (($892) - 2)|0; + $894 = HEAP32[$11>>2]|0; + $895 = ((($894)) + 34|0); + $896 = HEAP16[$895>>1]|0; + $897 = $896 << 16 >> 16; + $898 = (($893) - ($897))|0; + $899 = HEAP32[$9>>2]|0; + $900 = HEAP32[$23>>2]|0; + _sqlite3CodeRowTrigger($889,$890,108,0,2,$891,$898,$899,$900); } - $847 = HEAP32[$v>>2]|0; - $848 = HEAP32[$endOfLoop>>2]|0; - _sqlite3VdbeResolveLabel($847,$848); - $849 = HEAP8[$useTempTable>>0]|0; - $850 = ($849<<24>>24)!=(0); + $901 = HEAP32[$16>>2]|0; + $902 = HEAP32[$23>>2]|0; + _sqlite3VdbeResolveLabel($901,$902); + $903 = HEAP8[$29>>0]|0; + $904 = ($903<<24>>24)!=(0); do { - if ($850) { - $851 = HEAP32[$v>>2]|0; - $852 = HEAP32[$srcTab>>2]|0; - $853 = HEAP32[$addrCont>>2]|0; - (_sqlite3VdbeAddOp2($851,7,$852,$853)|0); - $854 = HEAP32[$v>>2]|0; - $855 = HEAP32[$addrInsTop>>2]|0; - _sqlite3VdbeJumpHere($854,$855); - $856 = HEAP32[$v>>2]|0; - $857 = HEAP32[$srcTab>>2]|0; - (_sqlite3VdbeAddOp1($856,111,$857)|0); + if ($904) { + $905 = HEAP32[$16>>2]|0; + $906 = HEAP32[$24>>2]|0; + $907 = HEAP32[$26>>2]|0; + (_sqlite3VdbeAddOp2($905,7,$906,$907)|0); + $908 = HEAP32[$16>>2]|0; + $909 = HEAP32[$25>>2]|0; + _sqlite3VdbeJumpHere($908,$909); + $910 = HEAP32[$16>>2]|0; + $911 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp1($910,111,$911)|0); } else { - $858 = HEAP32[$2>>2]|0; - $859 = ($858|0)!=(0|0); - if (!($859)) { + $912 = HEAP32[$7>>2]|0; + $913 = ($912|0)!=(0|0); + if (!($913)) { break; } - $860 = HEAP32[$v>>2]|0; - $861 = HEAP32[$addrCont>>2]|0; - (_sqlite3VdbeGoto($860,$861)|0); - $862 = HEAP32[$v>>2]|0; - $863 = HEAP32[$addrInsTop>>2]|0; - _sqlite3VdbeJumpHere($862,$863); + $914 = HEAP32[$16>>2]|0; + $915 = HEAP32[$26>>2]|0; + (_sqlite3VdbeGoto($914,$915)|0); + $916 = HEAP32[$16>>2]|0; + $917 = HEAP32[$25>>2]|0; + _sqlite3VdbeJumpHere($916,$917); } } while(0); - $864 = HEAP32[$pTab>>2]|0; - $865 = ((($864)) + 42|0); - $866 = HEAP8[$865>>0]|0; - $867 = $866&255; - $868 = $867 & 16; - $869 = ($868|0)!=(0); - $870 = HEAP32[$isView>>2]|0; - $871 = ($870|0)!=(0); - $or$cond11 = $869 | $871; + $918 = HEAP32[$11>>2]|0; + $919 = ((($918)) + 42|0); + $920 = HEAP8[$919>>0]|0; + $921 = $920&255; + $922 = $921 & 16; + $923 = ($922|0)!=(0); + $924 = HEAP32[$41>>2]|0; + $925 = ($924|0)!=(0); + $or$cond11 = $923 | $925; if ($or$cond11) { break; } - $872 = HEAP32[$iDataCur>>2]|0; - $873 = HEAP32[$iIdxCur>>2]|0; - $874 = ($872|0)<($873|0); - if ($874) { - $875 = HEAP32[$v>>2]|0; - $876 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp1($875,111,$876)|0); + $926 = HEAP32[$20>>2]|0; + $927 = HEAP32[$21>>2]|0; + $928 = ($926|0)<($927|0); + if ($928) { + $929 = HEAP32[$16>>2]|0; + $930 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp1($929,111,$930)|0); } - HEAP32[$idx>>2] = 0; - $877 = HEAP32[$pTab>>2]|0; - $878 = ((($877)) + 8|0); - $879 = HEAP32[$878>>2]|0; - HEAP32[$pIdx>>2] = $879; + HEAP32[$15>>2] = 0; + $931 = HEAP32[$11>>2]|0; + $932 = ((($931)) + 8|0); + $933 = HEAP32[$932>>2]|0; + HEAP32[$17>>2] = $933; while(1) { - $880 = HEAP32[$pIdx>>2]|0; - $881 = ($880|0)!=(0|0); - if (!($881)) { + $934 = HEAP32[$17>>2]|0; + $935 = ($934|0)!=(0|0); + if (!($935)) { break L20; } - $882 = HEAP32[$v>>2]|0; - $883 = HEAP32[$idx>>2]|0; - $884 = HEAP32[$iIdxCur>>2]|0; - $885 = (($883) + ($884))|0; - (_sqlite3VdbeAddOp1($882,111,$885)|0); - $886 = HEAP32[$pIdx>>2]|0; - $887 = ((($886)) + 20|0); - $888 = HEAP32[$887>>2]|0; - HEAP32[$pIdx>>2] = $888; - $889 = HEAP32[$idx>>2]|0; - $890 = (($889) + 1)|0; - HEAP32[$idx>>2] = $890; + $936 = HEAP32[$16>>2]|0; + $937 = HEAP32[$15>>2]|0; + $938 = HEAP32[$21>>2]|0; + $939 = (($937) + ($938))|0; + (_sqlite3VdbeAddOp1($936,111,$939)|0); + $940 = HEAP32[$17>>2]|0; + $941 = ((($940)) + 20|0); + $942 = HEAP32[$941>>2]|0; + HEAP32[$17>>2] = $942; + $943 = HEAP32[$15>>2]|0; + $944 = (($943) + 1)|0; + HEAP32[$15>>2] = $944; } } } while(0); - $891 = HEAP32[$0>>2]|0; - $892 = ((($891)) + 18|0); - $893 = HEAP8[$892>>0]|0; - $894 = $893&255; - $895 = ($894|0)==(0); - if ($895) { - $896 = HEAP32[$0>>2]|0; - $897 = ((($896)) + 128|0); - $898 = HEAP32[$897>>2]|0; - $899 = ($898|0)==(0|0); - if ($899) { - $900 = HEAP32[$0>>2]|0; - _sqlite3AutoincrementEnd($900); + $945 = HEAP32[$5>>2]|0; + $946 = ((($945)) + 18|0); + $947 = HEAP8[$946>>0]|0; + $948 = $947&255; + $949 = ($948|0)==(0); + if ($949) { + $950 = HEAP32[$5>>2]|0; + $951 = ((($950)) + 128|0); + $952 = HEAP32[$951>>2]|0; + $953 = ($952|0)==(0|0); + if ($953) { + $954 = HEAP32[$5>>2]|0; + _sqlite3AutoincrementEnd($954); } } - $901 = HEAP32[$db>>2]|0; - $902 = ((($901)) + 24|0); - $903 = HEAP32[$902>>2]|0; - $904 = $903 & 128; - $905 = ($904|0)!=(0); - if ($905) { - $906 = HEAP32[$0>>2]|0; - $907 = ((($906)) + 18|0); - $908 = HEAP8[$907>>0]|0; - $909 = ($908<<24>>24)!=(0); - if (!($909)) { - $910 = HEAP32[$0>>2]|0; - $911 = ((($910)) + 128|0); - $912 = HEAP32[$911>>2]|0; - $913 = ($912|0)!=(0|0); - if (!($913)) { - $914 = HEAP32[$v>>2]|0; - $915 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($914,87,$915,1)|0); - $916 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($916,1); - $917 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($917,0,0,34370,0)|0); + $955 = HEAP32[$10>>2]|0; + $956 = ((($955)) + 24|0); + $957 = HEAP32[$956>>2]|0; + $958 = $957 & 128; + $959 = ($958|0)!=(0); + if ($959) { + $960 = HEAP32[$5>>2]|0; + $961 = ((($960)) + 18|0); + $962 = HEAP8[$961>>0]|0; + $963 = ($962<<24>>24)!=(0); + if (!($963)) { + $964 = HEAP32[$5>>2]|0; + $965 = ((($964)) + 128|0); + $966 = HEAP32[$965>>2]|0; + $967 = ($966|0)!=(0|0); + if (!($967)) { + $968 = HEAP32[$16>>2]|0; + $969 = HEAP32[$36>>2]|0; + (_sqlite3VdbeAddOp2($968,87,$969,1)|0); + $970 = HEAP32[$16>>2]|0; + _sqlite3VdbeSetNumCols($970,1); + $971 = HEAP32[$16>>2]|0; + (_sqlite3VdbeSetColName($971,0,0,33986,0)|0); } } } @@ -124646,4795 +100042,4793 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } } } while(0); - $918 = HEAP32[$db>>2]|0; - $919 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($918,$919); - $920 = HEAP32[$db>>2]|0; - $921 = HEAP32[$pList>>2]|0; - _sqlite3ExprListDelete($920,$921); - $922 = HEAP32[$db>>2]|0; - $923 = HEAP32[$2>>2]|0; - _sqlite3SelectDelete($922,$923); - $924 = HEAP32[$db>>2]|0; - $925 = HEAP32[$3>>2]|0; - _sqlite3IdListDelete($924,$925); - $926 = HEAP32[$db>>2]|0; - $927 = HEAP32[$aRegIdx>>2]|0; - _sqlite3DbFree($926,$927); + $972 = HEAP32[$10>>2]|0; + $973 = HEAP32[$6>>2]|0; + _sqlite3SrcListDelete($972,$973); + $974 = HEAP32[$10>>2]|0; + $975 = HEAP32[$33>>2]|0; + _sqlite3ExprListDelete($974,$975); + $976 = HEAP32[$10>>2]|0; + $977 = HEAP32[$7>>2]|0; + _sqlite3SelectDelete($976,$977); + $978 = HEAP32[$10>>2]|0; + $979 = HEAP32[$8>>2]|0; + _sqlite3IdListDelete($978,$979); + $980 = HEAP32[$10>>2]|0; + $981 = HEAP32[$40>>2]|0; + _sqlite3DbFree($980,$981); STACKTOP = sp;return; } -function _sqlite3IdListAppend($db,$pList,$pToken) { - $db = $db|0; - $pList = $pList|0; - $pToken = $pToken|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; +function _sqlite3IdListAppend($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pList; - HEAP32[$3>>2] = $pToken; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $6 = HEAP32[$1>>2]|0; - $7 = (_sqlite3DbMallocZero($6,8,0)|0); - HEAP32[$2>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $10 = HEAP32[$4>>2]|0; + $11 = (_sqlite3DbMallocZero($10,8,0)|0); + HEAP32[$5>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)==(0|0); + if ($13) { + HEAP32[$3>>2] = 0; + $32 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($32|0); } } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = (_sqlite3ArrayAllocate($10,$12,8,$14,$i)|0); - $16 = HEAP32[$2>>2]|0; - HEAP32[$16>>2] = $15; - $17 = HEAP32[$i>>2]|0; - $18 = ($17|0)<(0); - $19 = HEAP32[$1>>2]|0; - if ($18) { - $20 = HEAP32[$2>>2]|0; - _sqlite3IdListDelete($19,$20); - HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 4|0); + $19 = (_sqlite3ArrayAllocate($14,$16,8,$18,$7)|0); + $20 = HEAP32[$5>>2]|0; + HEAP32[$20>>2] = $19; + $21 = HEAP32[$7>>2]|0; + $22 = ($21|0)<(0); + $23 = HEAP32[$4>>2]|0; + if ($22) { + $24 = HEAP32[$5>>2]|0; + _sqlite3IdListDelete($23,$24); + HEAP32[$3>>2] = 0; + $32 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($32|0); } else { - $21 = HEAP32[$3>>2]|0; - $22 = (_sqlite3NameFromToken($19,$21)|0); - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($23<<3)|0); - HEAP32[$26>>2] = $22; - $27 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $27; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $25 = HEAP32[$6>>2]|0; + $26 = (_sqlite3NameFromToken($23,$25)|0); + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = (($28) + ($29<<3)|0); + HEAP32[$30>>2] = $26; + $31 = HEAP32[$5>>2]|0; + HEAP32[$3>>2] = $31; + $32 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($32|0); } return (0)|0; } -function _spanSet($pOut,$pStart,$pEnd) { - $pOut = $pOut|0; - $pStart = $pStart|0; - $pEnd = $pEnd|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _spanSet($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pOut; - HEAP32[$1>>2] = $pStart; - HEAP32[$2>>2] = $pEnd; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $4; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$2>>2]|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 4|0); + HEAP32[$9>>2] = $7; + $10 = HEAP32[$5>>2]|0; $11 = HEAP32[$10>>2]|0; - $12 = (($11) + ($9)|0); - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 8|0); - HEAP32[$14>>2] = $12; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($11) + ($14)|0); + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 8|0); + HEAP32[$17>>2] = $15; STACKTOP = sp;return; } -function _sqlite3ExprAlloc($db,$op,$pToken,$dequote) { - $db = $db|0; - $op = $op|0; - $pToken = $pToken|0; - $dequote = $dequote|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $iValue = 0, $nExtra = 0, $pNew = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _sqlite3ExprAlloc($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, $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, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $pNew = sp + 8|0; - $nExtra = sp + 4|0; - $iValue = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $pToken; - HEAP32[$3>>2] = $dequote; - HEAP32[$nExtra>>2] = 0; - HEAP32[$iValue>>2] = 0; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)!=(0|0); + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + $11 = HEAP32[$6>>2]|0; + $12 = ($11|0)!=(0|0); do { - if ($5) { - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)!=(134); - if (!($7)) { - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3GetInt32($12,$iValue)|0); - $14 = ($13|0)==(0); - if (!($14)) { + if ($12) { + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)!=(134); + if (!($14)) { + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0|0); + if (!($17)) { + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3GetInt32($19,$10)|0); + $21 = ($20|0)==(0); + if (!($21)) { break; } } } - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + 1)|0; - HEAP32[$nExtra>>2] = $18; + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$9>>2] = $25; } } while(0); - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$nExtra>>2]|0; - $21 = (48 + ($20))|0; - $22 = (_sqlite3DbMallocRawNN($19,$21,0)|0); - HEAP32[$pNew>>2] = $22; - $23 = HEAP32[$pNew>>2]|0; - $24 = ($23|0)!=(0|0); - if (!($24)) { - $91 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($91|0); + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$9>>2]|0; + $28 = (48 + ($27))|0; + $29 = (_sqlite3DbMallocRawNN($26,$28,0)|0); + HEAP32[$8>>2] = $29; + $30 = HEAP32[$8>>2]|0; + $31 = ($30|0)!=(0|0); + if (!($31)) { + $98 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($98|0); } - $25 = HEAP32[$pNew>>2]|0; - dest=$25; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $26 = HEAP32[$1>>2]|0; - $27 = $26&255; - $28 = HEAP32[$pNew>>2]|0; - HEAP8[$28>>0] = $27; - $29 = HEAP32[$pNew>>2]|0; - $30 = ((($29)) + 34|0); - HEAP16[$30>>1] = -1; - $31 = HEAP32[$2>>2]|0; - $32 = ($31|0)!=(0|0); + $32 = HEAP32[$8>>2]|0; + dest=$32; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $33 = HEAP32[$5>>2]|0; + $34 = $33&255; + $35 = HEAP32[$8>>2]|0; + HEAP8[$35>>0] = $34; + $36 = HEAP32[$8>>2]|0; + $37 = ((($36)) + 34|0); + HEAP16[$37>>1] = -1; + $38 = HEAP32[$6>>2]|0; + $39 = ($38|0)!=(0|0); do { - if ($32) { - $33 = HEAP32[$nExtra>>2]|0; - $34 = ($33|0)==(0); - $35 = HEAP32[$pNew>>2]|0; - if ($34) { - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = $37 | 1024; - HEAP32[$36>>2] = $38; - $39 = HEAP32[$iValue>>2]|0; - $40 = HEAP32[$pNew>>2]|0; - $41 = ((($40)) + 8|0); - HEAP32[$41>>2] = $39; + if ($39) { + $40 = HEAP32[$9>>2]|0; + $41 = ($40|0)==(0); + $42 = HEAP32[$8>>2]|0; + if ($41) { + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = $44 | 1024; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$10>>2]|0; + $47 = HEAP32[$8>>2]|0; + $48 = ((($47)) + 8|0); + HEAP32[$48>>2] = $46; break; } - $42 = ((($35)) + 48|0); - $43 = HEAP32[$pNew>>2]|0; - $44 = ((($43)) + 8|0); - HEAP32[$44>>2] = $42; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)!=(0); - if ($48) { - $49 = HEAP32[$pNew>>2]|0; - $50 = ((($49)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$2>>2]|0; - $55 = ((($54)) + 4|0); - $56 = HEAP32[$55>>2]|0; - _memcpy(($51|0),($53|0),($56|0))|0; + $49 = ((($42)) + 48|0); + $50 = HEAP32[$8>>2]|0; + $51 = ((($50)) + 8|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)!=(0); + if ($55) { + $56 = HEAP32[$8>>2]|0; + $57 = ((($56)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$6>>2]|0; + $62 = ((($61)) + 4|0); + $63 = HEAP32[$62>>2]|0; + _memcpy(($58|0),($60|0),($63|0))|0; } - $57 = HEAP32[$2>>2]|0; - $58 = ((($57)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$pNew>>2]|0; - $61 = ((($60)) + 8|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) + ($59)|0); - HEAP8[$63>>0] = 0; - $64 = HEAP32[$3>>2]|0; - $65 = ($64|0)!=(0); - if ($65) { - $66 = HEAP32[$pNew>>2]|0; - $67 = ((($66)) + 8|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - $71 = (18403 + ($70)|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = $73 & 128; - $75 = ($74|0)!=(0); - if ($75) { - $76 = HEAP32[$pNew>>2]|0; - $77 = ((($76)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = HEAP8[$78>>0]|0; - $80 = $79 << 24 >> 24; - $81 = ($80|0)==(34); - if ($81) { - $82 = HEAP32[$pNew>>2]|0; - $83 = ((($82)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = $84 | 64; - HEAP32[$83>>2] = $85; + $64 = HEAP32[$8>>2]|0; + $65 = ((($64)) + 8|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$6>>2]|0; + $68 = ((($67)) + 4|0); + $69 = HEAP32[$68>>2]|0; + $70 = (($66) + ($69)|0); + HEAP8[$70>>0] = 0; + $71 = HEAP32[$7>>2]|0; + $72 = ($71|0)!=(0); + if ($72) { + $73 = HEAP32[$8>>2]|0; + $74 = ((($73)) + 8|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = (20063 + ($77)|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = $80 & 128; + $82 = ($81|0)!=(0); + if ($82) { + $83 = HEAP32[$8>>2]|0; + $84 = ((($83)) + 8|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP8[$85>>0]|0; + $87 = $86 << 24 >> 24; + $88 = ($87|0)==(34); + if ($88) { + $89 = HEAP32[$8>>2]|0; + $90 = ((($89)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = $91 | 64; + HEAP32[$90>>2] = $92; } - $86 = HEAP32[$pNew>>2]|0; - $87 = ((($86)) + 8|0); - $88 = HEAP32[$87>>2]|0; - _sqlite3Dequote($88); + $93 = HEAP32[$8>>2]|0; + $94 = ((($93)) + 8|0); + $95 = HEAP32[$94>>2]|0; + _sqlite3Dequote($95); } } } } while(0); - $89 = HEAP32[$pNew>>2]|0; - $90 = ((($89)) + 24|0); - HEAP32[$90>>2] = 1; - $91 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($91|0); + $96 = HEAP32[$8>>2]|0; + $97 = ((($96)) + 24|0); + HEAP32[$97>>2] = 1; + $98 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($98|0); } -function _sqlite3ExprAssignVarNumber($pParse,$pExpr,$n) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $n = $n|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $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, $a = 0, $bOk = 0, $db = 0, $i = 0, $i1 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $x = 0, $z = 0, label = 0, sp = 0; +function _sqlite3ExprAssignVarNumber($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer2 = sp + 16|0; $vararg_buffer = sp + 8|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $db = sp + 32|0; - $z = sp + 28|0; - $x = sp + 50|0; - $i = sp; - $bOk = sp + 24|0; - $i1 = sp + 48|0; - $a = sp + 20|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $n; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 50|0; + $9 = sp; + $10 = sp + 24|0; + $11 = sp + 48|0; + $12 = sp + 20|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $14; + $15 = HEAP32[$4>>2]|0; + $16 = ($15|0)==(0|0); + if ($16) { STACKTOP = sp;return; } - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$z>>2] = $9; - $10 = HEAP32[$z>>2]|0; - $11 = ((($10)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12 << 24 >> 24; - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 400|0); - $17 = HEAP16[$16>>1]|0; - $18 = (($17) + 1)<<16>>16; - HEAP16[$16>>1] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 32|0); - HEAP16[$20>>1] = $18; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$7>>2] = $19; + $20 = HEAP32[$7>>2]|0; + $21 = ((($20)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = ($23|0)==(0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 400|0); + $27 = HEAP16[$26>>1]|0; + $28 = (($27) + 1)<<16>>16; + HEAP16[$26>>1] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 32|0); + HEAP16[$30>>1] = $28; } else { - $21 = HEAP32[$z>>2]|0; - $22 = HEAP8[$21>>0]|0; - $23 = $22 << 24 >> 24; - $24 = ($23|0)==(63); + $31 = HEAP32[$7>>2]|0; + $32 = HEAP8[$31>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($33|0)==(63); do { - if ($24) { - $25 = HEAP32[$z>>2]|0; - $26 = ((($25)) + 1|0); - $27 = HEAP32[$2>>2]|0; - $28 = (($27) - 1)|0; - $29 = (_sqlite3Atoi64($26,$i,$28,1)|0); - $30 = (0)==($29|0); - $31 = $30&1; - HEAP32[$bOk>>2] = $31; - $32 = $i; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = $34&65535; - HEAP16[$x>>1] = $38; - $39 = HEAP32[$bOk>>2]|0; - $40 = ($39|0)==(0); - $41 = $i; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)<(0); - $48 = ($43>>>0)<(1); - $49 = ($46|0)==(0); - $50 = $49 & $48; - $51 = $47 | $50; - $or$cond = $40 | $51; + if ($34) { + $35 = HEAP32[$7>>2]|0; + $36 = ((($35)) + 1|0); + $37 = HEAP32[$5>>2]|0; + $38 = (($37) - 1)|0; + $39 = (_sqlite3Atoi64($36,$9,$38,1)|0); + $40 = (0)==($39|0); + $41 = $40&1; + HEAP32[$10>>2] = $41; + $42 = $9; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $44&65535; + HEAP16[$8>>1] = $48; + $49 = HEAP32[$10>>2]|0; + $50 = ($49|0)==(0); + $51 = $9; + $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)<(1); + $59 = ($56|0)==(0); + $60 = $59 & $58; + $61 = $57 | $60; + $or$cond = $50 | $61; if (!($or$cond)) { - $52 = $i; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$db>>2]|0; - $59 = ((($58)) + 96|0); - $60 = ((($59)) + 36|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)<(0); - $63 = $62 << 31 >> 31; - $64 = ($57|0)>($63|0); - $65 = ($54>>>0)>($61>>>0); - $66 = ($57|0)==($63|0); - $67 = $66 & $65; - $68 = $64 | $67; - if (!($68)) { - $74 = $i; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (($74) + 4)|0; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = HEAP32[$0>>2]|0; - $81 = ((($80)) + 400|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82 << 16 >> 16; - $84 = ($83|0)<(0); - $85 = $84 << 31 >> 31; - $86 = ($79|0)>($85|0); - $87 = ($76>>>0)>($83>>>0); - $88 = ($79|0)==($85|0); - $89 = $88 & $87; - $90 = $86 | $89; - if (!($90)) { + $62 = $9; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$6>>2]|0; + $69 = ((($68)) + 96|0); + $70 = ((($69)) + 36|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)<(0); + $73 = $72 << 31 >> 31; + $74 = ($67|0)>($73|0); + $75 = ($64>>>0)>($71>>>0); + $76 = ($67|0)==($73|0); + $77 = $76 & $75; + $78 = $74 | $77; + if (!($78)) { + $84 = $9; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (($84) + 4)|0; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$3>>2]|0; + $91 = ((($90)) + 400|0); + $92 = HEAP16[$91>>1]|0; + $93 = $92 << 16 >> 16; + $94 = ($93|0)<(0); + $95 = $94 << 31 >> 31; + $96 = ($89|0)>($95|0); + $97 = ($86>>>0)>($93>>>0); + $98 = ($89|0)==($95|0); + $99 = $98 & $97; + $100 = $96 | $99; + if (!($100)) { break; } - $91 = $i; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (($91) + 4)|0; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = $93&65535; - $98 = HEAP32[$0>>2]|0; - $99 = ((($98)) + 400|0); - HEAP16[$99>>1] = $97; + $101 = $9; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = (($101) + 4)|0; + $105 = $104; + $106 = HEAP32[$105>>2]|0; + $107 = $103&65535; + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + 400|0); + HEAP16[$109>>1] = $107; break; } } - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$db>>2]|0; - $71 = ((($70)) + 96|0); - $72 = ((($71)) + 36|0); - $73 = HEAP32[$72>>2]|0; - HEAP32[$vararg_buffer>>2] = $73; - _sqlite3ErrorMsg($69,34195,$vararg_buffer); + $79 = HEAP32[$3>>2]|0; + $80 = HEAP32[$6>>2]|0; + $81 = ((($80)) + 96|0); + $82 = ((($81)) + 36|0); + $83 = HEAP32[$82>>2]|0; + HEAP32[$vararg_buffer>>2] = $83; + _sqlite3ErrorMsg($79,33811,$vararg_buffer); STACKTOP = sp;return; } else { - HEAP16[$x>>1] = 0; - HEAP16[$i1>>1] = 0; + HEAP16[$8>>1] = 0; + HEAP16[$11>>1] = 0; while(1) { - $100 = HEAP16[$i1>>1]|0; - $101 = $100 << 16 >> 16; - $102 = HEAP32[$0>>2]|0; - $103 = ((($102)) + 404|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($101|0)<($104|0); - if (!($105)) { + $110 = HEAP16[$11>>1]|0; + $111 = $110 << 16 >> 16; + $112 = HEAP32[$3>>2]|0; + $113 = ((($112)) + 404|0); + $114 = HEAP32[$113>>2]|0; + $115 = ($111|0)<($114|0); + if (!($115)) { break; } - $106 = HEAP16[$i1>>1]|0; - $107 = $106 << 16 >> 16; - $108 = HEAP32[$0>>2]|0; - $109 = ((($108)) + 428|0); - $110 = HEAP32[$109>>2]|0; - $111 = (($110) + ($107<<2)|0); - $112 = HEAP32[$111>>2]|0; - $113 = ($112|0)!=(0|0); - if ($113) { - $114 = HEAP16[$i1>>1]|0; - $115 = $114 << 16 >> 16; - $116 = HEAP32[$0>>2]|0; - $117 = ((($116)) + 428|0); - $118 = HEAP32[$117>>2]|0; - $119 = (($118) + ($115<<2)|0); - $120 = HEAP32[$119>>2]|0; - $121 = HEAP32[$z>>2]|0; - $122 = (_strcmp($120,$121)|0); - $123 = ($122|0)==(0); - if ($123) { + $116 = HEAP32[$3>>2]|0; + $117 = ((($116)) + 428|0); + $118 = HEAP32[$117>>2]|0; + $119 = HEAP16[$11>>1]|0; + $120 = $119 << 16 >> 16; + $121 = (($118) + ($120<<2)|0); + $122 = HEAP32[$121>>2]|0; + $123 = ($122|0)!=(0|0); + if ($123) { + $124 = HEAP32[$3>>2]|0; + $125 = ((($124)) + 428|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP16[$11>>1]|0; + $128 = $127 << 16 >> 16; + $129 = (($126) + ($128<<2)|0); + $130 = HEAP32[$129>>2]|0; + $131 = HEAP32[$7>>2]|0; + $132 = (_strcmp($130,$131)|0); + $133 = ($132|0)==(0); + if ($133) { label = 14; break; } } - $128 = HEAP16[$i1>>1]|0; - $129 = (($128) + 1)<<16>>16; - HEAP16[$i1>>1] = $129; + $138 = HEAP16[$11>>1]|0; + $139 = (($138) + 1)<<16>>16; + HEAP16[$11>>1] = $139; } if ((label|0) == 14) { - $124 = HEAP16[$i1>>1]|0; - $125 = $124 << 16 >> 16; - $126 = (($125) + 1)|0; - $127 = $126&65535; - HEAP16[$x>>1] = $127; - } - $130 = HEAP16[$x>>1]|0; - $131 = $130 << 16 >> 16; - $132 = ($131|0)==(0); - if ($132) { - $133 = HEAP32[$0>>2]|0; - $134 = ((($133)) + 400|0); - $135 = HEAP16[$134>>1]|0; - $136 = (($135) + 1)<<16>>16; - HEAP16[$134>>1] = $136; - HEAP16[$x>>1] = $136; + $134 = HEAP16[$11>>1]|0; + $135 = $134 << 16 >> 16; + $136 = (($135) + 1)|0; + $137 = $136&65535; + HEAP16[$8>>1] = $137; + } + $140 = HEAP16[$8>>1]|0; + $141 = $140 << 16 >> 16; + $142 = ($141|0)==(0); + if ($142) { + $143 = HEAP32[$3>>2]|0; + $144 = ((($143)) + 400|0); + $145 = HEAP16[$144>>1]|0; + $146 = (($145) + 1)<<16>>16; + HEAP16[$144>>1] = $146; + HEAP16[$8>>1] = $146; } } } while(0); - $137 = HEAP16[$x>>1]|0; - $138 = HEAP32[$1>>2]|0; - $139 = ((($138)) + 32|0); - HEAP16[$139>>1] = $137; - $140 = HEAP16[$x>>1]|0; - $141 = $140 << 16 >> 16; - $142 = HEAP32[$0>>2]|0; - $143 = ((($142)) + 404|0); - $144 = HEAP32[$143>>2]|0; - $145 = ($141|0)>($144|0); + $147 = HEAP16[$8>>1]|0; + $148 = HEAP32[$4>>2]|0; + $149 = ((($148)) + 32|0); + HEAP16[$149>>1] = $147; + $150 = HEAP16[$8>>1]|0; + $151 = $150 << 16 >> 16; + $152 = HEAP32[$3>>2]|0; + $153 = ((($152)) + 404|0); + $154 = HEAP32[$153>>2]|0; + $155 = ($151|0)>($154|0); do { - if ($145) { - $146 = HEAP32[$db>>2]|0; - $147 = HEAP32[$0>>2]|0; - $148 = ((($147)) + 428|0); - $149 = HEAP32[$148>>2]|0; - $150 = HEAP16[$x>>1]|0; - $151 = $150 << 16 >> 16; - $152 = $151<<2; - $153 = (_sqlite3DbRealloc($146,$149,$152,0)|0); - HEAP32[$a>>2] = $153; - $154 = HEAP32[$a>>2]|0; - $155 = ($154|0)==(0|0); - if ($155) { + if ($155) { + $156 = HEAP32[$6>>2]|0; + $157 = HEAP32[$3>>2]|0; + $158 = ((($157)) + 428|0); + $159 = HEAP32[$158>>2]|0; + $160 = HEAP16[$8>>1]|0; + $161 = $160 << 16 >> 16; + $162 = $161<<2; + $163 = (_sqlite3DbRealloc($156,$159,$162,0)|0); + HEAP32[$12>>2] = $163; + $164 = HEAP32[$12>>2]|0; + $165 = ($164|0)==(0|0); + if ($165) { STACKTOP = sp;return; } else { - $156 = HEAP32[$a>>2]|0; - $157 = HEAP32[$0>>2]|0; - $158 = ((($157)) + 428|0); - HEAP32[$158>>2] = $156; - $159 = HEAP32[$0>>2]|0; - $160 = ((($159)) + 404|0); - $161 = HEAP32[$160>>2]|0; - $162 = HEAP32[$a>>2]|0; - $163 = (($162) + ($161<<2)|0); - $164 = HEAP16[$x>>1]|0; - $165 = $164 << 16 >> 16; - $166 = HEAP32[$0>>2]|0; - $167 = ((($166)) + 404|0); - $168 = HEAP32[$167>>2]|0; - $169 = (($165) - ($168))|0; - $170 = $169<<2; - _memset(($163|0),0,($170|0))|0; - $171 = HEAP16[$x>>1]|0; - $172 = $171 << 16 >> 16; - $173 = HEAP32[$0>>2]|0; - $174 = ((($173)) + 404|0); - HEAP32[$174>>2] = $172; + $166 = HEAP32[$12>>2]|0; + $167 = HEAP32[$3>>2]|0; + $168 = ((($167)) + 428|0); + HEAP32[$168>>2] = $166; + $169 = HEAP32[$12>>2]|0; + $170 = HEAP32[$3>>2]|0; + $171 = ((($170)) + 404|0); + $172 = HEAP32[$171>>2]|0; + $173 = (($169) + ($172<<2)|0); + $174 = HEAP16[$8>>1]|0; + $175 = $174 << 16 >> 16; + $176 = HEAP32[$3>>2]|0; + $177 = ((($176)) + 404|0); + $178 = HEAP32[$177>>2]|0; + $179 = (($175) - ($178))|0; + $180 = $179<<2; + _memset(($173|0),0,($180|0))|0; + $181 = HEAP16[$8>>1]|0; + $182 = $181 << 16 >> 16; + $183 = HEAP32[$3>>2]|0; + $184 = ((($183)) + 404|0); + HEAP32[$184>>2] = $182; break; } } } while(0); - $175 = HEAP16[$x>>1]|0; - $176 = $175 << 16 >> 16; - $177 = (($176) - 1)|0; - $178 = HEAP32[$0>>2]|0; - $179 = ((($178)) + 428|0); - $180 = HEAP32[$179>>2]|0; - $181 = (($180) + ($177<<2)|0); - $182 = HEAP32[$181>>2]|0; - $183 = ($182|0)==(0|0); - if ($183) { - $184 = HEAP32[$db>>2]|0; - $185 = HEAP32[$z>>2]|0; - $186 = HEAP32[$2>>2]|0; - $187 = (_sqlite3DbStrNDup($184,$185,$186,0)|0); - $188 = HEAP16[$x>>1]|0; - $189 = $188 << 16 >> 16; - $190 = (($189) - 1)|0; - $191 = HEAP32[$0>>2]|0; - $192 = ((($191)) + 428|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193) + ($190<<2)|0); - HEAP32[$194>>2] = $187; - } - } - $195 = HEAP32[$0>>2]|0; - $196 = ((($195)) + 400|0); - $197 = HEAP16[$196>>1]|0; - $198 = $197 << 16 >> 16; - $199 = HEAP32[$db>>2]|0; - $200 = ((($199)) + 96|0); - $201 = ((($200)) + 36|0); - $202 = HEAP32[$201>>2]|0; - $203 = ($198|0)>($202|0); - if (!($203)) { + $185 = HEAP32[$3>>2]|0; + $186 = ((($185)) + 428|0); + $187 = HEAP32[$186>>2]|0; + $188 = HEAP16[$8>>1]|0; + $189 = $188 << 16 >> 16; + $190 = (($189) - 1)|0; + $191 = (($187) + ($190<<2)|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0|0); + if ($193) { + $194 = HEAP32[$6>>2]|0; + $195 = HEAP32[$7>>2]|0; + $196 = HEAP32[$5>>2]|0; + $197 = (_sqlite3DbStrNDup($194,$195,$196,0)|0); + $198 = HEAP32[$3>>2]|0; + $199 = ((($198)) + 428|0); + $200 = HEAP32[$199>>2]|0; + $201 = HEAP16[$8>>1]|0; + $202 = $201 << 16 >> 16; + $203 = (($202) - 1)|0; + $204 = (($200) + ($203<<2)|0); + HEAP32[$204>>2] = $197; + } + } + $205 = HEAP32[$3>>2]|0; + $206 = ((($205)) + 400|0); + $207 = HEAP16[$206>>1]|0; + $208 = $207 << 16 >> 16; + $209 = HEAP32[$6>>2]|0; + $210 = ((($209)) + 96|0); + $211 = ((($210)) + 36|0); + $212 = HEAP32[$211>>2]|0; + $213 = ($208|0)>($212|0); + if (!($213)) { STACKTOP = sp;return; } - $204 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($204,34238,$vararg_buffer2); + $214 = HEAP32[$3>>2]|0; + _sqlite3ErrorMsg($214,33854,$vararg_buffer2); STACKTOP = sp;return; } -function _sqlite3ExprAddCollateToken($pParse,$pExpr,$pCollName,$dequote) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $pCollName = $pCollName|0; - $dequote = $dequote|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pNew = 0, label = 0, sp = 0; +function _sqlite3ExprAddCollateToken($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, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $pNew = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $pCollName; - HEAP32[$3>>2] = $dequote; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6>>>0)>(0); - if (!($7)) { - $23 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($23|0); + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$6>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11>>>0)>(0); + if (!($12)) { + $28 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($28|0); } - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = (_sqlite3ExprAlloc($9,53,$10,$11)|0); - HEAP32[$pNew>>2] = $12; - $13 = HEAP32[$pNew>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - $23 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($23|0); + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = (_sqlite3ExprAlloc($14,53,$15,$16)|0); + HEAP32[$8>>2] = $17; + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + $28 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($28|0); } - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$pNew>>2]|0; - $17 = ((($16)) + 12|0); - HEAP32[$17>>2] = $15; - $18 = HEAP32[$pNew>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = $20 | 4352; - HEAP32[$19>>2] = $21; - $22 = HEAP32[$pNew>>2]|0; - HEAP32[$1>>2] = $22; - $23 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($23|0); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$8>>2]|0; + $22 = ((($21)) + 12|0); + HEAP32[$22>>2] = $20; + $23 = HEAP32[$8>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = $25 | 4352; + HEAP32[$24>>2] = $26; + $27 = HEAP32[$8>>2]|0; + HEAP32[$5>>2] = $27; + $28 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($28|0); } -function _sqlite3ExprFunction($pParse,$pList,$pToken) { - $pParse = $pParse|0; - $pList = $pList|0; - $pToken = $pToken|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $db = 0, $pNew = 0, label = 0, sp = 0; +function _sqlite3ExprFunction($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $pNew = sp + 4|0; - $db = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pList; - HEAP32[$3>>2] = $pToken; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$db>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (_sqlite3ExprAlloc($6,151,$7,1)|0); - HEAP32[$pNew>>2] = $8; - $9 = HEAP32[$pNew>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - $11 = HEAP32[$db>>2]|0; - $12 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($11,$12); - HEAP32[$0>>2] = 0; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$8>>2] = $10; + $11 = HEAP32[$8>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = (_sqlite3ExprAlloc($11,151,$12,1)|0); + HEAP32[$7>>2] = $13; + $14 = HEAP32[$7>>2]|0; + $15 = ($14|0)==(0|0); + if ($15) { + $16 = HEAP32[$8>>2]|0; + $17 = HEAP32[$5>>2]|0; + _sqlite3ExprListDelete($16,$17); + HEAP32[$3>>2] = 0; + $24 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($24|0); } else { - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$pNew>>2]|0; - $15 = ((($14)) + 20|0); - HEAP32[$15>>2] = $13; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$pNew>>2]|0; - _sqlite3ExprSetHeightAndFlags($16,$17); - $18 = HEAP32[$pNew>>2]|0; - HEAP32[$0>>2] = $18; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 20|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$7>>2]|0; + _sqlite3ExprSetHeightAndFlags($21,$22); + $23 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $23; + $24 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($24|0); } return (0)|0; } -function _spanBinaryExpr($pParse,$op,$pLeft,$pRight) { - $pParse = $pParse|0; - $op = $op|0; - $pLeft = $pLeft|0; - $pRight = $pRight|0; - var $0 = 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, label = 0, sp = 0; +function _spanBinaryExpr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $pLeft; - HEAP32[$3>>2] = $pRight; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = (_sqlite3PExpr($4,$5,$7,$9,0)|0); - $11 = HEAP32[$2>>2]|0; - HEAP32[$11>>2] = $10; - $12 = HEAP32[$3>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 8|0); - HEAP32[$16>>2] = $14; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$7>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3PExpr($8,$9,$11,$13,0)|0); + $15 = HEAP32[$6>>2]|0; + HEAP32[$15>>2] = $14; + $16 = HEAP32[$7>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$20>>2] = $18; STACKTOP = sp;return; } -function _exprNot($pParse,$doNot,$pSpan) { - $pParse = $pParse|0; - $doNot = $doNot|0; - $pSpan = $pSpan|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _exprNot($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $doNot; - HEAP32[$2>>2] = $pSpan; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0); - if (!($4)) { + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)!=(0); + if (!($7)) { STACKTOP = sp;return; } - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3PExpr($5,19,$7,0,0)|0); - $9 = HEAP32[$2>>2]|0; - HEAP32[$9>>2] = $8; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3PExpr($8,19,$10,0,0)|0); + $12 = HEAP32[$5>>2]|0; + HEAP32[$12>>2] = $11; STACKTOP = sp;return; } -function _spanUnaryPostfix($pParse,$op,$pOperand,$pPostOp) { - $pParse = $pParse|0; - $op = $op|0; - $pOperand = $pOperand|0; - $pPostOp = $pPostOp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _spanUnaryPostfix($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $pOperand; - HEAP32[$3>>2] = $pPostOp; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3PExpr($4,$5,$7,0,0)|0); - $9 = HEAP32[$2>>2]|0; - HEAP32[$9>>2] = $8; - $10 = HEAP32[$3>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$3>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($12)|0); - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 8|0); - HEAP32[$17>>2] = $15; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3PExpr($8,$9,$11,0,0)|0); + $13 = HEAP32[$6>>2]|0; + HEAP32[$13>>2] = $12; + $14 = HEAP32[$7>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($15) + ($18)|0); + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 8|0); + HEAP32[$21>>2] = $19; STACKTOP = sp;return; } -function _binaryToUnaryIfNull($pParse,$pY,$pA,$op) { - $pParse = $pParse|0; - $pY = $pY|0; - $pA = $pA|0; - $op = $op|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $db = 0, $or$cond = 0, label = 0, sp = 0; +function _binaryToUnaryIfNull($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, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pY; - HEAP32[$2>>2] = $pA; - HEAP32[$3>>2] = $op; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)!=(0|0); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)!=(0|0); - $or$cond = $7 & $9; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$8>>2] = $10; + $11 = HEAP32[$6>>2]|0; + $12 = ($11|0)!=(0|0); + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)!=(0|0); + $or$cond = $12 & $14; if (!($or$cond)) { STACKTOP = sp;return; } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(101); - if (!($13)) { + $15 = HEAP32[$5>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = ($17|0)==(101); + if (!($18)) { STACKTOP = sp;return; } - $14 = HEAP32[$3>>2]|0; - $15 = $14&255; - $16 = HEAP32[$2>>2]|0; - HEAP8[$16>>0] = $15; - $17 = HEAP32[$db>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 16|0); - $20 = HEAP32[$19>>2]|0; - _sqlite3ExprDelete($17,$20); - $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 16|0); - HEAP32[$22>>2] = 0; + $19 = HEAP32[$7>>2]|0; + $20 = $19&255; + $21 = HEAP32[$6>>2]|0; + HEAP8[$21>>0] = $20; + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + _sqlite3ExprDelete($22,$25); + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 16|0); + HEAP32[$27>>2] = 0; STACKTOP = sp;return; } -function _spanUnaryPrefix($pOut,$pParse,$op,$pOperand,$pPreOp) { - $pOut = $pOut|0; - $pParse = $pParse|0; - $op = $op|0; - $pOperand = $pOperand|0; - $pPreOp = $pPreOp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; +function _spanUnaryPrefix($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$0>>2] = $pOut; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $op; - HEAP32[$3>>2] = $pOperand; - HEAP32[$4>>2] = $pPreOp; - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3PExpr($9,$10,$12,0,0)|0); - $14 = HEAP32[$0>>2]|0; - HEAP32[$14>>2] = $13; - $15 = HEAP32[$3>>2]|0; - $16 = ((($15)) + 8|0); + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 4|0); + HEAP32[$13>>2] = $11; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$8>>2]|0; $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 8|0); - HEAP32[$19>>2] = $17; + $18 = (_sqlite3PExpr($14,$15,$17,0,0)|0); + $19 = HEAP32[$5>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$8>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 8|0); + HEAP32[$24>>2] = $22; STACKTOP = sp;return; } -function _sqlite3ExprSetHeightAndFlags($pParse,$p) { - $pParse = $pParse|0; - $p = $p|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; +function _sqlite3ExprSetHeightAndFlags($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 36|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0); - if ($5) { + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 36|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + if ($7) { STACKTOP = sp;return; } - $6 = HEAP32[$1>>2]|0; - _exprSetHeight($6); - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 24|0); - $10 = HEAP32[$9>>2]|0; - (_sqlite3ExprCheckHeight($7,$10)|0); + $8 = HEAP32[$3>>2]|0; + _exprSetHeight($8); + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + (_sqlite3ExprCheckHeight($9,$12)|0); STACKTOP = sp;return; } -function _sqlite3PExprAddSelect($pParse,$pExpr,$pSelect) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $pSelect = $pSelect|0; - var $0 = 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, label = 0, sp = 0; +function _sqlite3PExprAddSelect($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $pSelect; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 20|0); - HEAP32[$7>>2] = $5; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 | 2099200; - HEAP32[$9>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - _sqlite3ExprSetHeightAndFlags($12,$13); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)!=(0|0); + if ($7) { + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 20|0); + HEAP32[$10>>2] = $8; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13 | 2099200; + HEAP32[$12>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$4>>2]|0; + _sqlite3ExprSetHeightAndFlags($15,$16); STACKTOP = sp;return; } else { - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$2>>2]|0; - _sqlite3SelectDelete($15,$16); + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$5>>2]|0; + _sqlite3SelectDelete($18,$19); STACKTOP = sp;return; } } -function _parserAddExprIdListTerm($pParse,$pPrior,$pIdToken,$hasCollate,$sortOrder) { - $pParse = $pParse|0; - $pPrior = $pPrior|0; - $pIdToken = $pIdToken|0; - $hasCollate = $hasCollate|0; - $sortOrder = $sortOrder|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0; +function _parserAddExprIdListTerm($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $p = sp + 8|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pPrior; - HEAP32[$2>>2] = $pIdToken; - HEAP32[$3>>2] = $hasCollate; - HEAP32[$4>>2] = $sortOrder; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (_sqlite3ExprListAppend($5,$6,0)|0); - HEAP32[$p>>2] = $7; - $8 = HEAP32[$3>>2]|0; - $9 = ($8|0)!=(0); - $10 = HEAP32[$4>>2]|0; - $11 = ($10|0)!=(-1); - $or$cond = $9 | $11; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = (_sqlite3ExprListAppend($11,$12,0)|0); + HEAP32[$10>>2] = $13; + $14 = HEAP32[$8>>2]|0; + $15 = ($14|0)!=(0); + $16 = HEAP32[$9>>2]|0; + $17 = ($16|0)!=(-1); + $or$cond = $15 | $17; if ($or$cond) { - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 148|0); - $15 = ((($14)) + 5|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = ($17|0)==(0); - if ($18) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$23>>2]|0; - HEAP32[$vararg_buffer>>2] = $22; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 148|0); + $21 = ((($20)) + 5|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)==(0); + if ($24) { + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$7>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$vararg_buffer>>2] = $28; $vararg_ptr2 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr2>>2] = $24; - _sqlite3ErrorMsg($19,34155,$vararg_buffer); + HEAP32[$vararg_ptr2>>2] = $30; + _sqlite3ErrorMsg($25,33771,$vararg_buffer); } } - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$p>>2]|0; - $27 = HEAP32[$2>>2]|0; - _sqlite3ExprListSetName($25,$26,$27,1); - $28 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($28|0); + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$10>>2]|0; + $33 = HEAP32[$7>>2]|0; + _sqlite3ExprListSetName($31,$32,$33,1); + $34 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($34|0); } -function _sqlite3DropIndex($pParse,$pName,$ifExists) { - $pParse = $pParse|0; - $pName = $pName|0; - $ifExists = $ifExists|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $code = 0, $db = 0, $iDb = 0, $pIndex = 0, $pTab = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0; - var $zDb = 0, $zTab = 0, label = 0, sp = 0; +function _sqlite3DropIndex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0; + var $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $vararg_buffer5 = sp + 16|0; $vararg_buffer2 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $pIndex = sp + 56|0; - $v = sp + 52|0; - $db = sp + 48|0; - $iDb = sp + 44|0; - $code = sp + 40|0; - $pTab = sp + 36|0; - $zDb = sp + 32|0; - $zTab = sp + 28|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pName; - HEAP32[$2>>2] = $ifExists; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 69|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - if ($8) { - $106 = HEAP32[$db>>2]|0; - $107 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($106,$107); + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$14>>2]|0; + HEAP32[$8>>2] = $15; + $16 = HEAP32[$8>>2]|0; + $17 = ((($16)) + 69|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)!=(0); + if ($19) { + $117 = HEAP32[$8>>2]|0; + $118 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($117,$118); STACKTOP = sp;return; } - $9 = HEAP32[$0>>2]|0; - $10 = (_sqlite3ReadSchema($9)|0); - $11 = (0)!=($10|0); - if ($11) { - $106 = HEAP32[$db>>2]|0; - $107 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($106,$107); + $20 = HEAP32[$3>>2]|0; + $21 = (_sqlite3ReadSchema($20)|0); + $22 = (0)!=($21|0); + if ($22) { + $117 = HEAP32[$8>>2]|0; + $118 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($117,$118); STACKTOP = sp;return; } - $12 = HEAP32[$db>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 8|0); - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 8|0); - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3FindIndex($12,$16,$20)|0); - HEAP32[$pIndex>>2] = $21; - $22 = HEAP32[$pIndex>>2]|0; - $23 = ($22|0)==(0|0); - if ($23) { - $24 = HEAP32[$2>>2]|0; - $25 = ($24|0)!=(0); - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$1>>2]|0; - if ($25) { - $28 = ((($27)) + 8|0); - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - _sqlite3CodeVerifyNamedSchema($26,$30); + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 8|0); + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 8|0); + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3FindIndex($23,$27,$31)|0); + HEAP32[$6>>2] = $32; + $33 = HEAP32[$6>>2]|0; + $34 = ($33|0)==(0|0); + if ($34) { + $35 = HEAP32[$5>>2]|0; + $36 = ($35|0)!=(0); + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$4>>2]|0; + if ($36) { + $39 = ((($38)) + 8|0); + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + _sqlite3CodeVerifyNamedSchema($37,$41); } else { - HEAP32[$vararg_buffer>>2] = $27; + HEAP32[$vararg_buffer>>2] = $38; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; - _sqlite3ErrorMsg($26,33945,$vararg_buffer); + _sqlite3ErrorMsg($37,33561,$vararg_buffer); } - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 17|0); - HEAP8[$32>>0] = 1; - $106 = HEAP32[$db>>2]|0; - $107 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($106,$107); + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 17|0); + HEAP8[$43>>0] = 1; + $117 = HEAP32[$8>>2]|0; + $118 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($117,$118); STACKTOP = sp;return; } - $33 = HEAP32[$pIndex>>2]|0; - $34 = ((($33)) + 55|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35 & 3; - $37 = $36&255; - $38 = ($37|0)!=(0); - if ($38) { - $39 = HEAP32[$0>>2]|0; + $44 = HEAP32[$6>>2]|0; + $45 = ((($44)) + 55|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46 & 3; + $48 = $47&255; + $49 = ($48|0)!=(0); + if ($49) { + $50 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer2>>2] = 0; - _sqlite3ErrorMsg($39,33963,$vararg_buffer2); - $106 = HEAP32[$db>>2]|0; - $107 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($106,$107); + _sqlite3ErrorMsg($50,33579,$vararg_buffer2); + $117 = HEAP32[$8>>2]|0; + $118 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($117,$118); STACKTOP = sp;return; } - $40 = HEAP32[$db>>2]|0; - $41 = HEAP32[$pIndex>>2]|0; - $42 = ((($41)) + 24|0); - $43 = HEAP32[$42>>2]|0; - $44 = (_sqlite3SchemaToIndex($40,$43)|0); - HEAP32[$iDb>>2] = $44; - HEAP32[$code>>2] = 10; - $45 = HEAP32[$pIndex>>2]|0; - $46 = ((($45)) + 12|0); - $47 = HEAP32[$46>>2]|0; - HEAP32[$pTab>>2] = $47; - $48 = HEAP32[$iDb>>2]|0; - $49 = HEAP32[$db>>2]|0; - $50 = ((($49)) + 16|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + ($48<<4)|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$zDb>>2] = $53; - $54 = HEAP32[$iDb>>2]|0; - $55 = ($54|0)==(1); - $56 = $55 ? 19905 : 19924; - HEAP32[$zTab>>2] = $56; - $57 = HEAP32[$0>>2]|0; - $58 = HEAP32[$zTab>>2]|0; - $59 = HEAP32[$zDb>>2]|0; - $60 = (_sqlite3AuthCheck($57,9,$58,0,$59)|0); - $61 = ($60|0)!=(0); - if ($61) { - $106 = HEAP32[$db>>2]|0; - $107 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($106,$107); + $51 = HEAP32[$8>>2]|0; + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 24|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3SchemaToIndex($51,$54)|0); + HEAP32[$9>>2] = $55; + HEAP32[$10>>2] = 10; + $56 = HEAP32[$6>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$11>>2] = $58; + $59 = HEAP32[$8>>2]|0; + $60 = ((($59)) + 16|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$9>>2]|0; + $63 = (($61) + ($62<<4)|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$12>>2] = $64; + $65 = HEAP32[$9>>2]|0; + $66 = ($65|0)==(1); + $67 = $66 ? 26433 : 26452; + HEAP32[$13>>2] = $67; + $68 = HEAP32[$3>>2]|0; + $69 = HEAP32[$13>>2]|0; + $70 = HEAP32[$12>>2]|0; + $71 = (_sqlite3AuthCheck($68,9,$69,0,$70)|0); + $72 = ($71|0)!=(0); + if ($72) { + $117 = HEAP32[$8>>2]|0; + $118 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($117,$118); STACKTOP = sp;return; } - $62 = HEAP32[$iDb>>2]|0; - $63 = ($62|0)!=(0); - if ($63) { - HEAP32[$code>>2] = 12; + $73 = HEAP32[$9>>2]|0; + $74 = ($73|0)!=(0); + if ($74) { + HEAP32[$10>>2] = 12; } - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$code>>2]|0; - $66 = HEAP32[$pIndex>>2]|0; - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$pTab>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$zDb>>2]|0; - $71 = (_sqlite3AuthCheck($64,$65,$67,$69,$70)|0); - $72 = ($71|0)!=(0); - if ($72) { - $106 = HEAP32[$db>>2]|0; - $107 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($106,$107); + $75 = HEAP32[$3>>2]|0; + $76 = HEAP32[$10>>2]|0; + $77 = HEAP32[$6>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$11>>2]|0; + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$12>>2]|0; + $82 = (_sqlite3AuthCheck($75,$76,$78,$80,$81)|0); + $83 = ($82|0)!=(0); + if ($83) { + $117 = HEAP32[$8>>2]|0; + $118 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($117,$118); STACKTOP = sp;return; } - $73 = HEAP32[$0>>2]|0; - $74 = (_sqlite3GetVdbe($73)|0); - HEAP32[$v>>2] = $74; - $75 = HEAP32[$v>>2]|0; - $76 = ($75|0)!=(0|0); - if (!($76)) { - $106 = HEAP32[$db>>2]|0; - $107 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($106,$107); + $84 = HEAP32[$3>>2]|0; + $85 = (_sqlite3GetVdbe($84)|0); + HEAP32[$7>>2] = $85; + $86 = HEAP32[$7>>2]|0; + $87 = ($86|0)!=(0|0); + if (!($87)) { + $117 = HEAP32[$8>>2]|0; + $118 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($117,$118); STACKTOP = sp;return; } - $77 = HEAP32[$0>>2]|0; - $78 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($77,1,$78); - $79 = HEAP32[$0>>2]|0; - $80 = HEAP32[$iDb>>2]|0; - $81 = HEAP32[$db>>2]|0; - $82 = ((($81)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83) + ($80<<4)|0); - $85 = HEAP32[$84>>2]|0; - $86 = HEAP32[$iDb>>2]|0; - $87 = ($86|0)==(1); - $88 = $87 ? 19905 : 19924; - $89 = HEAP32[$pIndex>>2]|0; - $90 = HEAP32[$89>>2]|0; - HEAP32[$vararg_buffer5>>2] = $85; + $88 = HEAP32[$3>>2]|0; + $89 = HEAP32[$9>>2]|0; + _sqlite3BeginWriteOperation($88,1,$89); + $90 = HEAP32[$3>>2]|0; + $91 = HEAP32[$8>>2]|0; + $92 = ((($91)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$9>>2]|0; + $95 = (($93) + ($94<<4)|0); + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$9>>2]|0; + $98 = ($97|0)==(1); + $99 = $98 ? 26433 : 26452; + $100 = HEAP32[$6>>2]|0; + $101 = HEAP32[$100>>2]|0; + HEAP32[$vararg_buffer5>>2] = $96; $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $88; + HEAP32[$vararg_ptr8>>2] = $99; $vararg_ptr9 = ((($vararg_buffer5)) + 8|0); - HEAP32[$vararg_ptr9>>2] = $90; - _sqlite3NestedParse($79,34036,$vararg_buffer5); - $91 = HEAP32[$0>>2]|0; - $92 = HEAP32[$iDb>>2]|0; - $93 = HEAP32[$pIndex>>2]|0; - $94 = HEAP32[$93>>2]|0; - _sqlite3ClearStatTables($91,$92,30854,$94); - $95 = HEAP32[$0>>2]|0; - $96 = HEAP32[$iDb>>2]|0; - _sqlite3ChangeCookie($95,$96); - $97 = HEAP32[$0>>2]|0; - $98 = HEAP32[$pIndex>>2]|0; - $99 = ((($98)) + 44|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[$iDb>>2]|0; - _destroyRootPage($97,$100,$101); - $102 = HEAP32[$v>>2]|0; - $103 = HEAP32[$iDb>>2]|0; - $104 = HEAP32[$pIndex>>2]|0; + HEAP32[$vararg_ptr9>>2] = $101; + _sqlite3NestedParse($90,33652,$vararg_buffer5); + $102 = HEAP32[$3>>2]|0; + $103 = HEAP32[$9>>2]|0; + $104 = HEAP32[$6>>2]|0; $105 = HEAP32[$104>>2]|0; - (_sqlite3VdbeAddOp4($102,139,$103,0,0,$105,0)|0); - $106 = HEAP32[$db>>2]|0; - $107 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($106,$107); + _sqlite3ClearStatTables($102,$103,30148,$105); + $106 = HEAP32[$3>>2]|0; + $107 = HEAP32[$9>>2]|0; + _sqlite3ChangeCookie($106,$107); + $108 = HEAP32[$3>>2]|0; + $109 = HEAP32[$6>>2]|0; + $110 = ((($109)) + 44|0); + $111 = HEAP32[$110>>2]|0; + $112 = HEAP32[$9>>2]|0; + _destroyRootPage($108,$111,$112); + $113 = HEAP32[$7>>2]|0; + $114 = HEAP32[$9>>2]|0; + $115 = HEAP32[$6>>2]|0; + $116 = HEAP32[$115>>2]|0; + (_sqlite3VdbeAddOp4($113,139,$114,0,0,$116,0)|0); + $117 = HEAP32[$8>>2]|0; + $118 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($117,$118); STACKTOP = sp;return; } -function _sqlite3Vacuum($pParse,$pNm) { - $pParse = $pParse|0; - $pNm = $pNm|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $iDb = 0, $or$cond = 0, $v = 0, label = 0, sp = 0; +function _sqlite3Vacuum($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $v = sp + 4|0; - $iDb = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pNm; - $2 = HEAP32[$0>>2]|0; - $3 = (_sqlite3GetVdbe($2)|0); - HEAP32[$v>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3TwoPartName($6,$7,$8,$1)|0); - $10 = $9; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = (_sqlite3GetVdbe($6)|0); + HEAP32[$4>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = ($8|0)!=(0|0); + if ($9) { + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (_sqlite3TwoPartName($10,$11,$12,$3)|0); + $14 = $13; } else { - $10 = 0; + $14 = 0; } - HEAP32[$iDb>>2] = $10; - $11 = HEAP32[$v>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { + HEAP32[$5>>2] = $14; + $15 = HEAP32[$4>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { STACKTOP = sp;return; } - $13 = HEAP32[$iDb>>2]|0; - $14 = ($13|0)>=(2); - $15 = HEAP32[$iDb>>2]|0; - $16 = ($15|0)==(0); - $or$cond = $14 | $16; + $17 = HEAP32[$5>>2]|0; + $18 = ($17|0)>=(2); + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(0); + $or$cond = $18 | $20; if (!($or$cond)) { STACKTOP = sp;return; } - $17 = HEAP32[$v>>2]|0; - $18 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp1($17,10,$18)|0); - $19 = HEAP32[$v>>2]|0; - $20 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($19,$20); + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp1($21,10,$22)|0); + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$5>>2]|0; + _sqlite3VdbeUsesBtree($23,$24); STACKTOP = sp;return; } -function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { - $pParse = $pParse|0; - $pId1 = $pId1|0; - $pId2 = $pId2|0; - $pValue = $pValue|0; - $minusFlag = $minusFlag|0; - var $$ = 0, $0 = 0, $1 = 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, $1011 = 0, $1012 = 0, $1013 = 0; - var $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, $103 = 0, $1030 = 0, $1031 = 0; - var $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, $1048 = 0, $1049 = 0, $105 = 0; - var $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, $1066 = 0, $1067 = 0, $1068 = 0; - var $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, $1084 = 0, $1085 = 0, $1086 = 0; - var $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0; - var $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0; - var $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0; - var $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0; - var $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0; - var $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0; - var $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0; - var $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0; - var $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0; - var $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0; - var $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0; - var $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0; - var $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0; - var $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0; - var $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0; - var $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0; - var $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0; - var $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0; - var $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0; - var $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0; - var $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0; - var $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0; - var $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0; - var $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0; - var $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0; - var $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0; - var $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0; - var $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0; - var $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0; - var $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0; - var $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0; - var $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0; - var $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0; - var $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0; - var $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0; - var $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0; - var $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0; - var $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0; - var $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0; - var $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0; - var $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0; - var $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0; - var $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0; - var $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0; - var $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0; - var $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0; - var $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0; - var $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0; - var $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0; - var $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0; - var $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; - var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; - var $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, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $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, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; - var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; - var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; - var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; - var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; - var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; - var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; - var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; - var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; - var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; - var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; - var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; - var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; - var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; - var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; - var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; - var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; - var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; - var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; - var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; - var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; - var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $N = 0, $N48 = 0, $aFcntl = 0, $aOp = 0, $aOp43 = 0, $aOp44 = 0, $aOp45 = 0, $aOp8 = 0, $aRoot = 0, $addr = 0, $addr32 = 0, $addrOk = 0, $addrTop = 0, $aiCols = 0, $azOrigin = 0; - var $b = 0, $ckUniq = 0, $cnt = 0, $cnum = 0, $db = 0, $eAuto = 0, $eMode = 0, $eMode4 = 0, $eMode47 = 0, $i = 0, $i12 = 0, $i16 = 0, $i19 = 0, $i20 = 0, $i21 = 0, $i23 = 0, $i27 = 0, $i30 = 0, $i46 = 0, $iAddr = 0; - var $iBt = 0, $iCol = 0, $iCookie = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $iKey = 0, $iLevel = 0, $iLimit = 0, $iLimit9 = 0, $iReg = 0, $ii = 0, $ii3 = 0, $ii5 = 0, $isQuick = 0, $j = 0, $j28 = 0, $j31 = 0, $jmp2 = 0, $jmp241 = 0; - var $jmp3 = 0, $jmp342 = 0, $jmp4 = 0, $jmp5 = 0, $jmp6 = 0, $k = 0, $k29 = 0, $kk = 0, $loopTop = 0, $lwr = 0, $mask = 0, $mid = 0, $mx = 0, $mxErr = 0, $mxIdx = 0, $n = 0, $nHidden = 0, $nIdx = 0, $or$cond = 0, $or$cond11 = 0; - var $or$cond14 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $p = 0, $pBt = 0, $pBt2 = 0, $pBt7 = 0, $pCol = 0, $pColl = 0, $pDb = 0, $pEnc = 0, $pFK = 0, $pFK24 = 0, $pId = 0, $pIdx = 0, $pIdx14 = 0, $pIdx17 = 0, $pIdx26 = 0; - var $pIdx35 = 0, $pIdx37 = 0, $pIdx39 = 0, $pPager = 0, $pPager6 = 0, $pParent = 0, $pPk = 0, $pPk40 = 0, $pPragma = 0, $pPrior = 0, $pTab = 0, $pTab13 = 0, $pTab15 = 0, $pTab18 = 0, $pTab22 = 0, $pTab25 = 0, $pTab34 = 0, $pTab36 = 0, $pTab38 = 0, $pTbls = 0; - var $r1 = 0, $rc = 0, $regKey = 0, $regResult = 0, $regRow = 0, $res = 0, $size = 0, $size1 = 0, $size10 = 0, $size11 = 0, $sz = 0, $uniqOk = 0, $upr = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer15 = 0, $vararg_buffer18 = 0, $vararg_buffer20 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0; - var $vararg_buffer33 = 0, $vararg_buffer39 = 0, $vararg_buffer44 = 0, $vararg_buffer49 = 0, $vararg_buffer54 = 0, $vararg_buffer61 = 0, $vararg_buffer66 = 0, $vararg_buffer70 = 0, $vararg_buffer80 = 0, $vararg_buffer84 = 0, $vararg_buffer87 = 0, $vararg_buffer91 = 0, $vararg_ptr28 = 0, $vararg_ptr29 = 0, $vararg_ptr30 = 0, $vararg_ptr31 = 0, $vararg_ptr32 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0; - var $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr47 = 0, $vararg_ptr48 = 0, $vararg_ptr52 = 0, $vararg_ptr53 = 0, $vararg_ptr57 = 0, $vararg_ptr58 = 0, $vararg_ptr59 = 0, $vararg_ptr60 = 0, $vararg_ptr64 = 0, $vararg_ptr65 = 0, $vararg_ptr69 = 0, $vararg_ptr73 = 0, $vararg_ptr74 = 0, $vararg_ptr75 = 0, $vararg_ptr76 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vararg_ptr79 = 0; - var $vararg_ptr83 = 0, $vararg_ptr90 = 0, $x = 0, $x33 = 0, $zDb = 0, $zErr = 0, $zLeft = 0, $zMode = 0, $zOpt = 0, $zRet = 0, $zRight = 0, label = 0, sp = 0; +function _sqlite3Pragma($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink13 = 0, $$sink16 = 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, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0; + var $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0; + var $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0; + var $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0; + var $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0; + var $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0; + var $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0; + var $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0; + var $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0; + var $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0; + var $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0; + var $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0; + var $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0; + var $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0; + var $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0; + var $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0; + var $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0; + var $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0; + var $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0; + var $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0; + var $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0; + var $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0; + var $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0; + var $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0; + var $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0; + var $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0; + var $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0; + var $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0; + var $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0; + var $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0; + var $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0; + var $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0; + var $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0; + var $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0; + var $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0; + var $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0; + var $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0; + var $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0; + var $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0; + var $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0; + var $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0; + var $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0; + var $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0; + var $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0; + var $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0; + var $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0; + var $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0; + var $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0; + var $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0; + var $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0; + var $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0; + var $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0; + var $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0; + var $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0; + var $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0; + var $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0; + var $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0; + var $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0; + var $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0; + var $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0; + var $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0; + var $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0; + var $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0; + var $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0; + var $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0; + var $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0; + var $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0; + var $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0; + var $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0; + var $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0; + var $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0; + var $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0; + var $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0; + var $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0; + var $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0; + var $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0; + var $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0; + var $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0; + var $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0; + var $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0; + var $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0; + var $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0; + var $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $or$cond = 0; + var $or$cond15 = 0, $or$cond19 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $vararg_buffer = 0, $vararg_buffer20 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer30 = 0, $vararg_buffer38 = 0, $vararg_buffer44 = 0, $vararg_buffer49 = 0, $vararg_buffer54 = 0, $vararg_buffer59 = 0, $vararg_buffer66 = 0, $vararg_buffer71 = 0, $vararg_buffer75 = 0; + var $vararg_buffer85 = 0, $vararg_buffer89 = 0, $vararg_buffer92 = 0, $vararg_buffer96 = 0, $vararg_ptr33 = 0, $vararg_ptr34 = 0, $vararg_ptr35 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr47 = 0, $vararg_ptr48 = 0, $vararg_ptr52 = 0, $vararg_ptr53 = 0, $vararg_ptr57 = 0, $vararg_ptr58 = 0, $vararg_ptr62 = 0, $vararg_ptr63 = 0; + var $vararg_ptr64 = 0, $vararg_ptr65 = 0, $vararg_ptr69 = 0, $vararg_ptr70 = 0, $vararg_ptr74 = 0, $vararg_ptr78 = 0, $vararg_ptr79 = 0, $vararg_ptr80 = 0, $vararg_ptr81 = 0, $vararg_ptr82 = 0, $vararg_ptr83 = 0, $vararg_ptr84 = 0, $vararg_ptr88 = 0, $vararg_ptr95 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 816|0; - $vararg_buffer91 = sp + 264|0; - $vararg_buffer87 = sp + 256|0; - $vararg_buffer84 = sp + 248|0; - $vararg_buffer80 = sp + 240|0; - $vararg_buffer70 = sp + 208|0; - $vararg_buffer66 = sp + 200|0; - $vararg_buffer61 = sp + 184|0; - $vararg_buffer54 = sp + 160|0; - $vararg_buffer49 = sp + 144|0; - $vararg_buffer44 = sp + 128|0; - $vararg_buffer39 = sp + 112|0; - $vararg_buffer33 = sp + 96|0; - $vararg_buffer25 = sp + 72|0; - $vararg_buffer23 = sp + 64|0; - $vararg_buffer20 = sp + 56|0; - $vararg_buffer18 = sp + 48|0; - $vararg_buffer15 = sp + 40|0; + $vararg_buffer96 = sp + 264|0; + $vararg_buffer92 = sp + 256|0; + $vararg_buffer89 = sp + 248|0; + $vararg_buffer85 = sp + 240|0; + $vararg_buffer75 = sp + 208|0; + $vararg_buffer71 = sp + 200|0; + $vararg_buffer66 = sp + 184|0; + $vararg_buffer59 = sp + 160|0; + $vararg_buffer54 = sp + 144|0; + $vararg_buffer49 = sp + 128|0; + $vararg_buffer44 = sp + 112|0; + $vararg_buffer38 = sp + 96|0; + $vararg_buffer30 = sp + 72|0; + $vararg_buffer28 = sp + 64|0; + $vararg_buffer25 = sp + 56|0; + $vararg_buffer23 = sp + 48|0; + $vararg_buffer20 = sp + 40|0; $vararg_buffer = sp + 32|0; - $0 = sp + 808|0; - $1 = sp + 804|0; - $2 = sp + 800|0; - $3 = sp + 796|0; - $4 = sp + 792|0; - $zLeft = sp + 788|0; - $zRight = sp + 784|0; - $zDb = sp + 780|0; - $pId = sp + 776|0; - $aFcntl = sp + 760|0; - $iDb = sp + 756|0; - $lwr = sp + 752|0; - $upr = sp + 748|0; - $mid = sp + 744|0; - $rc = sp + 740|0; - $db = sp + 736|0; - $pDb = sp + 732|0; - $v = sp + 728|0; - $pPragma = sp + 724|0; - $aOp = sp + 720|0; - $size = sp + 716|0; - $pBt = sp + 712|0; - $size1 = sp + 708|0; - $pBt2 = sp + 704|0; - $b = sp + 700|0; - $ii = sp + 696|0; - $iReg = sp + 692|0; - $zRet = sp + 688|0; - $eMode = sp + 684|0; - $pPager = sp + 680|0; - $ii3 = sp + 676|0; - $eMode4 = sp + 672|0; - $ii5 = sp + 668|0; - $zMode = sp + 664|0; - $n = sp + 660|0; - $pPager6 = sp + 656|0; - $iLimit = sp + 24|0; - $pBt7 = sp + 652|0; - $eAuto = sp + 648|0; - $aOp8 = sp + 644|0; - $iAddr = sp + 640|0; - $iLimit9 = sp + 636|0; - $addr = sp + 632|0; - $size10 = sp + 628|0; - $size11 = sp + 624|0; - $sz = sp + 16|0; - $res = sp + 620|0; - $iLevel = sp + 616|0; - $mask = sp + 612|0; - $pTab = sp + 608|0; - $i = sp + 604|0; - $k = sp + 600|0; - $nHidden = sp + 596|0; - $pCol = sp + 592|0; - $pPk = sp + 588|0; - $pIdx = sp + 584|0; - $i12 = sp + 580|0; - $pTab13 = sp + 576|0; - $pIdx14 = sp + 572|0; - $pTab15 = sp + 568|0; - $i16 = sp + 564|0; - $mx = sp + 560|0; - $cnum = sp + 812|0; - $pIdx17 = sp + 556|0; - $pTab18 = sp + 552|0; - $i19 = sp + 548|0; - $azOrigin = sp + 536|0; - $i20 = sp + 532|0; - $i21 = sp + 528|0; - $p = sp + 524|0; - $pColl = sp + 520|0; - $pFK = sp + 516|0; - $pTab22 = sp + 512|0; - $i23 = sp + 508|0; - $j = sp + 504|0; - $pFK24 = sp + 500|0; - $pTab25 = sp + 496|0; - $pParent = sp + 492|0; - $pIdx26 = sp + 488|0; - $i27 = sp + 484|0; - $j28 = sp + 480|0; - $k29 = sp + 476|0; - $x = sp + 472|0; - $regResult = sp + 468|0; - $regKey = sp + 464|0; - $regRow = sp + 460|0; - $addrTop = sp + 456|0; - $addrOk = sp + 452|0; - $aiCols = sp + 448|0; - $iKey = sp + 444|0; - $i30 = sp + 440|0; - $j31 = sp + 436|0; - $addr32 = sp + 432|0; - $mxErr = sp + 428|0; - $isQuick = sp + 424|0; - $x33 = sp + 420|0; - $pTbls = sp + 416|0; - $aRoot = sp + 412|0; - $cnt = sp + 408|0; - $mxIdx = sp + 404|0; - $nIdx = sp + 400|0; - $pTab34 = sp + 396|0; - $pIdx35 = sp + 392|0; - $pTab36 = sp + 388|0; - $pIdx37 = sp + 384|0; - $pTab38 = sp + 380|0; - $pIdx39 = sp + 376|0; - $pPk40 = sp + 372|0; - $pPrior = sp + 368|0; - $loopTop = sp + 364|0; - $iDataCur = sp + 360|0; - $iIdxCur = sp + 356|0; - $r1 = sp + 352|0; - $zErr = sp + 348|0; - $jmp2 = sp + 344|0; - $jmp3 = sp + 340|0; - $jmp241 = sp + 336|0; - $jmp342 = sp + 332|0; - $jmp4 = sp + 328|0; - $jmp5 = sp + 324|0; - $ckUniq = sp + 320|0; - $uniqOk = sp + 316|0; - $jmp6 = sp + 312|0; - $kk = sp + 308|0; - $iCol = sp + 304|0; - $aOp43 = sp + 300|0; - $pEnc = sp + 296|0; - $iCookie = sp + 292|0; - $aOp44 = sp + 288|0; - $aOp45 = sp + 284|0; - $i46 = sp + 280|0; - $zOpt = sp + 276|0; - $iBt = sp + 272|0; - $eMode47 = sp + 268|0; - $N = sp + 8|0; - $N48 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pId1; - HEAP32[$2>>2] = $pId2; - HEAP32[$3>>2] = $pValue; - HEAP32[$4>>2] = $minusFlag; - HEAP32[$zLeft>>2] = 0; - HEAP32[$zRight>>2] = 0; - HEAP32[$zDb>>2] = 0; - HEAP32[$mid>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3GetVdbe($7)|0); - HEAP32[$v>>2] = $8; - $9 = HEAP32[$v>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { + $5 = sp + 808|0; + $6 = sp + 804|0; + $7 = sp + 800|0; + $8 = sp + 796|0; + $9 = sp + 792|0; + $10 = sp + 788|0; + $11 = sp + 784|0; + $12 = sp + 780|0; + $13 = sp + 776|0; + $14 = sp + 760|0; + $15 = sp + 756|0; + $16 = sp + 752|0; + $17 = sp + 748|0; + $18 = sp + 744|0; + $19 = sp + 740|0; + $20 = sp + 736|0; + $21 = sp + 732|0; + $22 = sp + 728|0; + $23 = sp + 724|0; + $24 = sp + 720|0; + $25 = sp + 716|0; + $26 = sp + 712|0; + $27 = sp + 708|0; + $28 = sp + 704|0; + $29 = sp + 700|0; + $30 = sp + 696|0; + $31 = sp + 692|0; + $32 = sp + 688|0; + $33 = sp + 684|0; + $34 = sp + 680|0; + $35 = sp + 676|0; + $36 = sp + 672|0; + $37 = sp + 668|0; + $38 = sp + 664|0; + $39 = sp + 660|0; + $40 = sp + 656|0; + $41 = sp + 24|0; + $42 = sp + 652|0; + $43 = sp + 648|0; + $44 = sp + 644|0; + $45 = sp + 640|0; + $46 = sp + 636|0; + $47 = sp + 632|0; + $48 = sp + 628|0; + $49 = sp + 624|0; + $50 = sp + 16|0; + $51 = sp + 620|0; + $52 = sp + 616|0; + $53 = sp + 612|0; + $54 = sp + 608|0; + $55 = sp + 604|0; + $56 = sp + 600|0; + $57 = sp + 596|0; + $58 = sp + 592|0; + $59 = sp + 588|0; + $60 = sp + 584|0; + $61 = sp + 580|0; + $62 = sp + 576|0; + $63 = sp + 572|0; + $64 = sp + 568|0; + $65 = sp + 564|0; + $66 = sp + 560|0; + $67 = sp + 812|0; + $68 = sp + 556|0; + $69 = sp + 552|0; + $70 = sp + 548|0; + $71 = sp + 536|0; + $72 = sp + 532|0; + $73 = sp + 528|0; + $74 = sp + 524|0; + $75 = sp + 520|0; + $76 = sp + 516|0; + $77 = sp + 512|0; + $78 = sp + 508|0; + $79 = sp + 504|0; + $80 = sp + 500|0; + $81 = sp + 496|0; + $82 = sp + 492|0; + $83 = sp + 488|0; + $84 = sp + 484|0; + $85 = sp + 480|0; + $86 = sp + 476|0; + $87 = sp + 472|0; + $88 = sp + 468|0; + $89 = sp + 464|0; + $90 = sp + 460|0; + $91 = sp + 456|0; + $92 = sp + 452|0; + $93 = sp + 448|0; + $94 = sp + 444|0; + $95 = sp + 440|0; + $96 = sp + 436|0; + $97 = sp + 432|0; + $98 = sp + 428|0; + $99 = sp + 424|0; + $100 = sp + 420|0; + $101 = sp + 416|0; + $102 = sp + 412|0; + $103 = sp + 408|0; + $104 = sp + 404|0; + $105 = sp + 400|0; + $106 = sp + 396|0; + $107 = sp + 392|0; + $108 = sp + 388|0; + $109 = sp + 384|0; + $110 = sp + 380|0; + $111 = sp + 376|0; + $112 = sp + 372|0; + $113 = sp + 368|0; + $114 = sp + 364|0; + $115 = sp + 360|0; + $116 = sp + 356|0; + $117 = sp + 352|0; + $118 = sp + 348|0; + $119 = sp + 344|0; + $120 = sp + 340|0; + $121 = sp + 336|0; + $122 = sp + 332|0; + $123 = sp + 328|0; + $124 = sp + 324|0; + $125 = sp + 320|0; + $126 = sp + 316|0; + $127 = sp + 312|0; + $128 = sp + 308|0; + $129 = sp + 304|0; + $130 = sp + 300|0; + $131 = sp + 296|0; + $132 = sp + 292|0; + $133 = sp + 288|0; + $134 = sp + 284|0; + $135 = sp + 280|0; + $136 = sp + 276|0; + $137 = sp + 272|0; + $138 = sp + 268|0; + $139 = sp + 8|0; + $140 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$18>>2] = 0; + $141 = HEAP32[$5>>2]|0; + $142 = HEAP32[$141>>2]|0; + HEAP32[$20>>2] = $142; + $143 = HEAP32[$5>>2]|0; + $144 = (_sqlite3GetVdbe($143)|0); + HEAP32[$22>>2] = $144; + $145 = HEAP32[$22>>2]|0; + $146 = ($145|0)==(0|0); + if ($146) { STACKTOP = sp;return; } - $11 = HEAP32[$v>>2]|0; - _sqlite3VdbeRunOnlyOnce($11); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 44|0); - HEAP32[$13>>2] = 2; - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = (_sqlite3TwoPartName($14,$15,$16,$pId)|0); - HEAP32[$iDb>>2] = $17; - $18 = HEAP32[$iDb>>2]|0; - $19 = ($18|0)<(0); - if ($19) { + $147 = HEAP32[$22>>2]|0; + _sqlite3VdbeRunOnlyOnce($147); + $148 = HEAP32[$5>>2]|0; + $149 = ((($148)) + 44|0); + HEAP32[$149>>2] = 2; + $150 = HEAP32[$5>>2]|0; + $151 = HEAP32[$6>>2]|0; + $152 = HEAP32[$7>>2]|0; + $153 = (_sqlite3TwoPartName($150,$151,$152,$13)|0); + HEAP32[$15>>2] = $153; + $154 = HEAP32[$15>>2]|0; + $155 = ($154|0)<(0); + if ($155) { STACKTOP = sp;return; } - $20 = HEAP32[$iDb>>2]|0; - $21 = HEAP32[$db>>2]|0; - $22 = ((($21)) + 16|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($20<<4)|0); - HEAP32[$pDb>>2] = $24; - $25 = HEAP32[$iDb>>2]|0; - $26 = ($25|0)==(1); - if ($26) { - $27 = HEAP32[$0>>2]|0; - $28 = (_sqlite3OpenTempDatabase($27)|0); - $29 = ($28|0)!=(0); - if ($29) { + $156 = HEAP32[$20>>2]|0; + $157 = ((($156)) + 16|0); + $158 = HEAP32[$157>>2]|0; + $159 = HEAP32[$15>>2]|0; + $160 = (($158) + ($159<<4)|0); + HEAP32[$21>>2] = $160; + $161 = HEAP32[$15>>2]|0; + $162 = ($161|0)==(1); + if ($162) { + $163 = HEAP32[$5>>2]|0; + $164 = (_sqlite3OpenTempDatabase($163)|0); + $165 = ($164|0)!=(0); + if ($165) { STACKTOP = sp;return; } } - $30 = HEAP32[$db>>2]|0; - $31 = HEAP32[$pId>>2]|0; - $32 = (_sqlite3NameFromToken($30,$31)|0); - HEAP32[$zLeft>>2] = $32; - $33 = HEAP32[$zLeft>>2]|0; - $34 = ($33|0)!=(0|0); - if (!($34)) { + $166 = HEAP32[$20>>2]|0; + $167 = HEAP32[$13>>2]|0; + $168 = (_sqlite3NameFromToken($166,$167)|0); + HEAP32[$10>>2] = $168; + $169 = HEAP32[$10>>2]|0; + $170 = ($169|0)!=(0|0); + if (!($170)) { STACKTOP = sp;return; } - $35 = HEAP32[$4>>2]|0; - $36 = ($35|0)!=(0); - $37 = HEAP32[$db>>2]|0; - $38 = HEAP32[$3>>2]|0; - if ($36) { - HEAP32[$vararg_buffer>>2] = $38; - $39 = (_sqlite3MPrintf($37,32103,$vararg_buffer)|0); - HEAP32[$zRight>>2] = $39; + $171 = HEAP32[$9>>2]|0; + $172 = ($171|0)!=(0); + $173 = HEAP32[$20>>2]|0; + $174 = HEAP32[$8>>2]|0; + if ($172) { + HEAP32[$vararg_buffer>>2] = $174; + $175 = (_sqlite3MPrintf($173,31556,$vararg_buffer)|0); + HEAP32[$11>>2] = $175; } else { - $40 = (_sqlite3NameFromToken($37,$38)|0); - HEAP32[$zRight>>2] = $40; + $176 = (_sqlite3NameFromToken($173,$174)|0); + HEAP32[$11>>2] = $176; } - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 4|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43>>>0)>(0); - if ($44) { - $45 = HEAP32[$pDb>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = $46; + $177 = HEAP32[$7>>2]|0; + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179>>>0)>(0); + if ($180) { + $181 = HEAP32[$21>>2]|0; + $182 = HEAP32[$181>>2]|0; + $183 = $182; } else { - $47 = 0; - } - HEAP32[$zDb>>2] = $47; - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$zLeft>>2]|0; - $50 = HEAP32[$zRight>>2]|0; - $51 = HEAP32[$zDb>>2]|0; - $52 = (_sqlite3AuthCheck($48,19,$49,$50,$51)|0); - $53 = ($52|0)!=(0); + $183 = 0; + } + HEAP32[$12>>2] = $183; + $184 = HEAP32[$5>>2]|0; + $185 = HEAP32[$10>>2]|0; + $186 = HEAP32[$11>>2]|0; + $187 = HEAP32[$12>>2]|0; + $188 = (_sqlite3AuthCheck($184,19,$185,$186,$187)|0); + $189 = ($188|0)!=(0); L21: do { - if (!($53)) { - HEAP32[$aFcntl>>2] = 0; - $54 = HEAP32[$zLeft>>2]|0; - $55 = ((($aFcntl)) + 4|0); - HEAP32[$55>>2] = $54; - $56 = HEAP32[$zRight>>2]|0; - $57 = ((($aFcntl)) + 8|0); - HEAP32[$57>>2] = $56; - $58 = ((($aFcntl)) + 12|0); - HEAP32[$58>>2] = 0; - $59 = HEAP32[$db>>2]|0; - $60 = ((($59)) + 380|0); - $61 = ((($60)) + 8|0); - HEAP32[$61>>2] = 0; - $62 = HEAP32[$db>>2]|0; - $63 = HEAP32[$zDb>>2]|0; - $64 = (_sqlite3_file_control($62,$63,14,$aFcntl)|0); - HEAP32[$rc>>2] = $64; - $65 = HEAP32[$rc>>2]|0; - $66 = ($65|0)==(0); - if ($66) { - $67 = HEAP32[$v>>2]|0; - $68 = HEAP32[$aFcntl>>2]|0; - _returnSingleText($67,32107,$68); - $69 = HEAP32[$aFcntl>>2]|0; - _sqlite3_free($69); + if (!($189)) { + HEAP32[$14>>2] = 0; + $190 = HEAP32[$10>>2]|0; + $191 = ((($14)) + 4|0); + HEAP32[$191>>2] = $190; + $192 = HEAP32[$11>>2]|0; + $193 = ((($14)) + 8|0); + HEAP32[$193>>2] = $192; + $194 = ((($14)) + 12|0); + HEAP32[$194>>2] = 0; + $195 = HEAP32[$20>>2]|0; + $196 = ((($195)) + 380|0); + $197 = ((($196)) + 8|0); + HEAP32[$197>>2] = 0; + $198 = HEAP32[$20>>2]|0; + $199 = HEAP32[$12>>2]|0; + $200 = (_sqlite3_file_control($198,$199,14,$14)|0); + HEAP32[$19>>2] = $200; + $201 = HEAP32[$19>>2]|0; + $202 = ($201|0)==(0); + if ($202) { + $203 = HEAP32[$22>>2]|0; + $204 = HEAP32[$14>>2]|0; + _returnSingleText($203,31560,$204); + $205 = HEAP32[$14>>2]|0; + _sqlite3_free($205); break; } - $70 = HEAP32[$rc>>2]|0; - $71 = ($70|0)!=(12); - if ($71) { - $72 = HEAP32[$aFcntl>>2]|0; - $73 = ($72|0)!=(0|0); - if ($73) { - $74 = HEAP32[$0>>2]|0; - $75 = HEAP32[$aFcntl>>2]|0; - HEAP32[$vararg_buffer15>>2] = $75; - _sqlite3ErrorMsg($74,18391,$vararg_buffer15); - $76 = HEAP32[$aFcntl>>2]|0; - _sqlite3_free($76); - } - $77 = HEAP32[$0>>2]|0; - $78 = ((($77)) + 36|0); - $79 = HEAP32[$78>>2]|0; - $80 = (($79) + 1)|0; - HEAP32[$78>>2] = $80; - $81 = HEAP32[$rc>>2]|0; - $82 = HEAP32[$0>>2]|0; - $83 = ((($82)) + 12|0); - HEAP32[$83>>2] = $81; + $206 = HEAP32[$19>>2]|0; + $207 = ($206|0)!=(12); + if ($207) { + $208 = HEAP32[$14>>2]|0; + $209 = ($208|0)!=(0|0); + if ($209) { + $210 = HEAP32[$5>>2]|0; + $211 = HEAP32[$14>>2]|0; + HEAP32[$vararg_buffer20>>2] = $211; + _sqlite3ErrorMsg($210,21240,$vararg_buffer20); + $212 = HEAP32[$14>>2]|0; + _sqlite3_free($212); + } + $213 = HEAP32[$5>>2]|0; + $214 = ((($213)) + 36|0); + $215 = HEAP32[$214>>2]|0; + $216 = (($215) + 1)|0; + HEAP32[$214>>2] = $216; + $217 = HEAP32[$19>>2]|0; + $218 = HEAP32[$5>>2]|0; + $219 = ((($218)) + 12|0); + HEAP32[$219>>2] = $217; break; } - HEAP32[$lwr>>2] = 0; - HEAP32[$upr>>2] = 57; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 57; while(1) { - $84 = HEAP32[$lwr>>2]|0; - $85 = HEAP32[$upr>>2]|0; - $86 = ($84|0)<=($85|0); - if (!($86)) { + $220 = HEAP32[$16>>2]|0; + $221 = HEAP32[$17>>2]|0; + $222 = ($220|0)<=($221|0); + if (!($222)) { break; } - $87 = HEAP32[$lwr>>2]|0; - $88 = HEAP32[$upr>>2]|0; - $89 = (($87) + ($88))|0; - $90 = (($89|0) / 2)&-1; - HEAP32[$mid>>2] = $90; - $91 = HEAP32[$zLeft>>2]|0; - $92 = HEAP32[$mid>>2]|0; - $93 = (4476 + (($92*12)|0)|0); - $94 = HEAP32[$93>>2]|0; - $95 = (_sqlite3_stricmp($91,$94)|0); - HEAP32[$rc>>2] = $95; - $96 = HEAP32[$rc>>2]|0; - $97 = ($96|0)==(0); - if ($97) { + $223 = HEAP32[$16>>2]|0; + $224 = HEAP32[$17>>2]|0; + $225 = (($223) + ($224))|0; + $226 = (($225|0) / 2)&-1; + HEAP32[$18>>2] = $226; + $227 = HEAP32[$10>>2]|0; + $228 = HEAP32[$18>>2]|0; + $229 = (4496 + (($228*12)|0)|0); + $230 = HEAP32[$229>>2]|0; + $231 = (_sqlite3_stricmp($227,$230)|0); + HEAP32[$19>>2] = $231; + $232 = HEAP32[$19>>2]|0; + $233 = ($232|0)==(0); + if ($233) { break; } - $98 = HEAP32[$rc>>2]|0; - $99 = ($98|0)<(0); - $100 = HEAP32[$mid>>2]|0; - if ($99) { - $101 = (($100) - 1)|0; - HEAP32[$upr>>2] = $101; + $234 = HEAP32[$19>>2]|0; + $235 = ($234|0)<(0); + $236 = HEAP32[$18>>2]|0; + if ($235) { + $237 = (($236) - 1)|0; + HEAP32[$17>>2] = $237; continue; } else { - $102 = (($100) + 1)|0; - HEAP32[$lwr>>2] = $102; + $238 = (($236) + 1)|0; + HEAP32[$16>>2] = $238; continue; } } - $103 = HEAP32[$lwr>>2]|0; - $104 = HEAP32[$upr>>2]|0; - $105 = ($103|0)>($104|0); - if (!($105)) { - $106 = HEAP32[$mid>>2]|0; - $107 = (4476 + (($106*12)|0)|0); - HEAP32[$pPragma>>2] = $107; - $108 = HEAP32[$pPragma>>2]|0; - $109 = ((($108)) + 5|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110&255; - $112 = $111 & 1; - $113 = ($112|0)!=(0); - if ($113) { - $114 = HEAP32[$0>>2]|0; - $115 = (_sqlite3ReadSchema($114)|0); - $116 = ($115|0)!=(0); - if ($116) { + $239 = HEAP32[$16>>2]|0; + $240 = HEAP32[$17>>2]|0; + $241 = ($239|0)>($240|0); + if (!($241)) { + $242 = HEAP32[$18>>2]|0; + $243 = (4496 + (($242*12)|0)|0); + HEAP32[$23>>2] = $243; + $244 = HEAP32[$23>>2]|0; + $245 = ((($244)) + 5|0); + $246 = HEAP8[$245>>0]|0; + $247 = $246&255; + $248 = $247 & 1; + $249 = ($248|0)!=(0); + if ($249) { + $250 = HEAP32[$5>>2]|0; + $251 = (_sqlite3ReadSchema($250)|0); + $252 = ($251|0)!=(0); + if ($252) { break; } } - $117 = HEAP32[$pPragma>>2]|0; - $118 = ((($117)) + 4|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119&255; + $253 = HEAP32[$23>>2]|0; + $254 = ((($253)) + 4|0); + $255 = HEAP8[$254>>0]|0; + $256 = $255&255; do { - switch ($120|0) { + switch ($256|0) { case 11: { - $121 = HEAP32[$v>>2]|0; - $122 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($121,$122); - $123 = HEAP32[$zRight>>2]|0; - $124 = ($123|0)!=(0|0); - if ($124) { - $142 = HEAP32[$zRight>>2]|0; - $143 = (_sqlite3Atoi($142)|0); - $144 = (_sqlite3AbsInt32($143)|0); - HEAP32[$size>>2] = $144; - $145 = HEAP32[$0>>2]|0; - $146 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($145,0,$146); - $147 = HEAP32[$v>>2]|0; - $148 = HEAP32[$iDb>>2]|0; - $149 = HEAP32[$size>>2]|0; - (_sqlite3VdbeAddOp3($147,102,$148,3,$149)|0); - $150 = HEAP32[$size>>2]|0; - $151 = HEAP32[$pDb>>2]|0; - $152 = ((($151)) + 12|0); - $153 = HEAP32[$152>>2]|0; - $154 = ((($153)) + 80|0); - HEAP32[$154>>2] = $150; - $155 = HEAP32[$pDb>>2]|0; - $156 = ((($155)) + 4|0); - $157 = HEAP32[$156>>2]|0; - $158 = HEAP32[$pDb>>2]|0; - $159 = ((($158)) + 12|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($160)) + 80|0); - $162 = HEAP32[$161>>2]|0; - (_sqlite3BtreeSetCacheSize($157,$162)|0); + $257 = HEAP32[$22>>2]|0; + $258 = HEAP32[$15>>2]|0; + _sqlite3VdbeUsesBtree($257,$258); + $259 = HEAP32[$11>>2]|0; + $260 = ($259|0)!=(0|0); + if ($260) { + $278 = HEAP32[$11>>2]|0; + $279 = (_sqlite3Atoi($278)|0); + $280 = (_sqlite3AbsInt32($279)|0); + HEAP32[$25>>2] = $280; + $281 = HEAP32[$5>>2]|0; + $282 = HEAP32[$15>>2]|0; + _sqlite3BeginWriteOperation($281,0,$282); + $283 = HEAP32[$22>>2]|0; + $284 = HEAP32[$15>>2]|0; + $285 = HEAP32[$25>>2]|0; + (_sqlite3VdbeAddOp3($283,102,$284,3,$285)|0); + $286 = HEAP32[$25>>2]|0; + $287 = HEAP32[$21>>2]|0; + $288 = ((($287)) + 12|0); + $289 = HEAP32[$288>>2]|0; + $290 = ((($289)) + 80|0); + HEAP32[$290>>2] = $286; + $291 = HEAP32[$21>>2]|0; + $292 = ((($291)) + 4|0); + $293 = HEAP32[$292>>2]|0; + $294 = HEAP32[$21>>2]|0; + $295 = ((($294)) + 12|0); + $296 = HEAP32[$295>>2]|0; + $297 = ((($296)) + 80|0); + $298 = HEAP32[$297>>2]|0; + (_sqlite3BtreeSetCacheSize($293,$298)|0); break L21; } else { - $125 = HEAP32[$v>>2]|0; - _setOneColumnName($125,32114); - $126 = HEAP32[$0>>2]|0; - $127 = ((($126)) + 44|0); - $128 = HEAP32[$127>>2]|0; - $129 = (($128) + 2)|0; - HEAP32[$127>>2] = $129; - $130 = HEAP32[$v>>2]|0; - $131 = (_sqlite3VdbeAddOpList($130,9,32125,0)|0); - HEAP32[$aOp>>2] = $131; - $132 = HEAP32[$iDb>>2]|0; - $133 = HEAP32[$aOp>>2]|0; - $134 = ((($133)) + 4|0); - HEAP32[$134>>2] = $132; - $135 = HEAP32[$iDb>>2]|0; - $136 = HEAP32[$aOp>>2]|0; - $137 = ((($136)) + 20|0); - $138 = ((($137)) + 4|0); - HEAP32[$138>>2] = $135; - $139 = HEAP32[$aOp>>2]|0; - $140 = ((($139)) + 120|0); - $141 = ((($140)) + 4|0); - HEAP32[$141>>2] = -2000; + $261 = HEAP32[$22>>2]|0; + _setOneColumnName($261,31567); + $262 = HEAP32[$5>>2]|0; + $263 = ((($262)) + 44|0); + $264 = HEAP32[$263>>2]|0; + $265 = (($264) + 2)|0; + HEAP32[$263>>2] = $265; + $266 = HEAP32[$22>>2]|0; + $267 = (_sqlite3VdbeAddOpList($266,9,31578,0)|0); + HEAP32[$24>>2] = $267; + $268 = HEAP32[$15>>2]|0; + $269 = HEAP32[$24>>2]|0; + $270 = ((($269)) + 4|0); + HEAP32[$270>>2] = $268; + $271 = HEAP32[$15>>2]|0; + $272 = HEAP32[$24>>2]|0; + $273 = ((($272)) + 20|0); + $274 = ((($273)) + 4|0); + HEAP32[$274>>2] = $271; + $275 = HEAP32[$24>>2]|0; + $276 = ((($275)) + 120|0); + $277 = ((($276)) + 4|0); + HEAP32[$277>>2] = -2000; break L21; } break; } case 25: { - $163 = HEAP32[$pDb>>2]|0; - $164 = ((($163)) + 4|0); - $165 = HEAP32[$164>>2]|0; - HEAP32[$pBt>>2] = $165; - $166 = HEAP32[$zRight>>2]|0; - $167 = ($166|0)!=(0|0); - if ($167) { - $177 = HEAP32[$zRight>>2]|0; - $178 = (_sqlite3Atoi($177)|0); - $179 = HEAP32[$db>>2]|0; - $180 = ((($179)) + 80|0); - HEAP32[$180>>2] = $178; - $181 = HEAP32[$pBt>>2]|0; - $182 = HEAP32[$db>>2]|0; - $183 = ((($182)) + 80|0); - $184 = HEAP32[$183>>2]|0; - $185 = (_sqlite3BtreeSetPageSize($181,$184,-1,0)|0); - $186 = (7)==($185|0); - if (!($186)) { + $299 = HEAP32[$21>>2]|0; + $300 = ((($299)) + 4|0); + $301 = HEAP32[$300>>2]|0; + HEAP32[$26>>2] = $301; + $302 = HEAP32[$11>>2]|0; + $303 = ($302|0)!=(0|0); + if ($303) { + $313 = HEAP32[$11>>2]|0; + $314 = (_sqlite3Atoi($313)|0); + $315 = HEAP32[$20>>2]|0; + $316 = ((($315)) + 80|0); + HEAP32[$316>>2] = $314; + $317 = HEAP32[$26>>2]|0; + $318 = HEAP32[$20>>2]|0; + $319 = ((($318)) + 80|0); + $320 = HEAP32[$319>>2]|0; + $321 = (_sqlite3BtreeSetPageSize($317,$320,-1,0)|0); + $322 = (7)==($321|0); + if (!($322)) { break L21; } - $187 = HEAP32[$db>>2]|0; - _sqlite3OomFault($187); + $323 = HEAP32[$20>>2]|0; + _sqlite3OomFault($323); break L21; } - $168 = HEAP32[$pBt>>2]|0; - $169 = ($168|0)!=(0|0); - if ($169) { - $170 = HEAP32[$pBt>>2]|0; - $171 = (_sqlite3BtreeGetPageSize($170)|0); - $172 = $171; + $304 = HEAP32[$26>>2]|0; + $305 = ($304|0)!=(0|0); + if ($305) { + $306 = HEAP32[$26>>2]|0; + $307 = (_sqlite3BtreeGetPageSize($306)|0); + $308 = $307; } else { - $172 = 0; + $308 = 0; } - HEAP32[$size1>>2] = $172; - $173 = HEAP32[$v>>2]|0; - $174 = HEAP32[$size1>>2]|0; - $175 = ($174|0)<(0); - $176 = $175 << 31 >> 31; - _returnSingleInt($173,32161,$174,$176); + HEAP32[$27>>2] = $308; + $309 = HEAP32[$22>>2]|0; + $310 = HEAP32[$27>>2]|0; + $311 = ($310|0)<(0); + $312 = $311 << 31 >> 31; + _returnSingleInt($309,31614,$310,$312); break L21; break; } case 26: { - $188 = HEAP32[$pDb>>2]|0; - $189 = ((($188)) + 4|0); - $190 = HEAP32[$189>>2]|0; - HEAP32[$pBt2>>2] = $190; - HEAP32[$b>>2] = -1; - $191 = HEAP32[$zRight>>2]|0; - $192 = ($191|0)!=(0|0); - if ($192) { - $193 = HEAP32[$zRight>>2]|0; - $194 = (_sqlite3GetBoolean($193,0)|0); - $195 = $194&255; - HEAP32[$b>>2] = $195; + $324 = HEAP32[$21>>2]|0; + $325 = ((($324)) + 4|0); + $326 = HEAP32[$325>>2]|0; + HEAP32[$28>>2] = $326; + HEAP32[$29>>2] = -1; + $327 = HEAP32[$11>>2]|0; + $328 = ($327|0)!=(0|0); + if ($328) { + $329 = HEAP32[$11>>2]|0; + $330 = (_sqlite3GetBoolean($329,0)|0); + $331 = $330&255; + HEAP32[$29>>2] = $331; } - $196 = HEAP32[$2>>2]|0; - $197 = ((($196)) + 4|0); - $198 = HEAP32[$197>>2]|0; - $199 = ($198|0)==(0); - $200 = HEAP32[$b>>2]|0; - $201 = ($200|0)>=(0); - $or$cond = $199 & $201; + $332 = HEAP32[$7>>2]|0; + $333 = ((($332)) + 4|0); + $334 = HEAP32[$333>>2]|0; + $335 = ($334|0)==(0); + $336 = HEAP32[$29>>2]|0; + $337 = ($336|0)>=(0); + $or$cond = $335 & $337; L65: do { if ($or$cond) { - HEAP32[$ii>>2] = 0; + HEAP32[$30>>2] = 0; while(1) { - $202 = HEAP32[$ii>>2]|0; - $203 = HEAP32[$db>>2]|0; - $204 = ((($203)) + 20|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($202|0)<($205|0); - if (!($206)) { + $338 = HEAP32[$30>>2]|0; + $339 = HEAP32[$20>>2]|0; + $340 = ((($339)) + 20|0); + $341 = HEAP32[$340>>2]|0; + $342 = ($338|0)<($341|0); + if (!($342)) { break L65; } - $207 = HEAP32[$ii>>2]|0; - $208 = HEAP32[$db>>2]|0; - $209 = ((($208)) + 16|0); - $210 = HEAP32[$209>>2]|0; - $211 = (($210) + ($207<<4)|0); - $212 = ((($211)) + 4|0); - $213 = HEAP32[$212>>2]|0; - $214 = HEAP32[$b>>2]|0; - (_sqlite3BtreeSecureDelete($213,$214)|0); - $215 = HEAP32[$ii>>2]|0; - $216 = (($215) + 1)|0; - HEAP32[$ii>>2] = $216; + $343 = HEAP32[$20>>2]|0; + $344 = ((($343)) + 16|0); + $345 = HEAP32[$344>>2]|0; + $346 = HEAP32[$30>>2]|0; + $347 = (($345) + ($346<<4)|0); + $348 = ((($347)) + 4|0); + $349 = HEAP32[$348>>2]|0; + $350 = HEAP32[$29>>2]|0; + (_sqlite3BtreeSecureDelete($349,$350)|0); + $351 = HEAP32[$30>>2]|0; + $352 = (($351) + 1)|0; + HEAP32[$30>>2] = $352; } } } while(0); - $217 = HEAP32[$pBt2>>2]|0; - $218 = HEAP32[$b>>2]|0; - $219 = (_sqlite3BtreeSecureDelete($217,$218)|0); - HEAP32[$b>>2] = $219; - $220 = HEAP32[$v>>2]|0; - $221 = HEAP32[$b>>2]|0; - $222 = ($221|0)<(0); - $223 = $222 << 31 >> 31; - _returnSingleInt($220,32171,$221,$223); + $353 = HEAP32[$28>>2]|0; + $354 = HEAP32[$29>>2]|0; + $355 = (_sqlite3BtreeSecureDelete($353,$354)|0); + HEAP32[$29>>2] = $355; + $356 = HEAP32[$22>>2]|0; + $357 = HEAP32[$29>>2]|0; + $358 = ($357|0)<(0); + $359 = $358 << 31 >> 31; + _returnSingleInt($356,31624,$357,$359); break L21; break; } case 23: { - $224 = HEAP32[$0>>2]|0; - $225 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($224,$225); - $226 = HEAP32[$0>>2]|0; - $227 = ((($226)) + 44|0); - $228 = HEAP32[$227>>2]|0; - $229 = (($228) + 1)|0; - HEAP32[$227>>2] = $229; - HEAP32[$iReg>>2] = $229; - $230 = HEAP32[$zLeft>>2]|0; - $231 = HEAP8[$230>>0]|0; - $232 = $231&255; - $233 = (17613 + ($232)|0); - $234 = HEAP8[$233>>0]|0; - $235 = $234&255; - $236 = ($235|0)==(112); - $237 = HEAP32[$v>>2]|0; - $238 = HEAP32[$iDb>>2]|0; - $239 = HEAP32[$iReg>>2]|0; - if ($236) { - (_sqlite3VdbeAddOp2($237,158,$238,$239)|0); + $360 = HEAP32[$5>>2]|0; + $361 = HEAP32[$15>>2]|0; + _sqlite3CodeVerifySchema($360,$361); + $362 = HEAP32[$5>>2]|0; + $363 = ((($362)) + 44|0); + $364 = HEAP32[$363>>2]|0; + $365 = (($364) + 1)|0; + HEAP32[$363>>2] = $365; + HEAP32[$31>>2] = $365; + $366 = HEAP32[$10>>2]|0; + $367 = HEAP8[$366>>0]|0; + $368 = $367&255; + $369 = (20458 + ($368)|0); + $370 = HEAP8[$369>>0]|0; + $371 = $370&255; + $372 = ($371|0)==(112); + $373 = HEAP32[$22>>2]|0; + $374 = HEAP32[$15>>2]|0; + $375 = HEAP32[$31>>2]|0; + if ($372) { + (_sqlite3VdbeAddOp2($373,158,$374,$375)|0); } else { - $240 = HEAP32[$zRight>>2]|0; - $241 = (_sqlite3Atoi($240)|0); - $242 = (_sqlite3AbsInt32($241)|0); - (_sqlite3VdbeAddOp3($237,159,$238,$239,$242)|0); + $376 = HEAP32[$11>>2]|0; + $377 = (_sqlite3Atoi($376)|0); + $378 = (_sqlite3AbsInt32($377)|0); + (_sqlite3VdbeAddOp3($373,159,$374,$375,$378)|0); } - $243 = HEAP32[$v>>2]|0; - $244 = HEAP32[$iReg>>2]|0; - (_sqlite3VdbeAddOp2($243,87,$244,1)|0); - $245 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($245,1); - $246 = HEAP32[$v>>2]|0; - $247 = HEAP32[$zLeft>>2]|0; - (_sqlite3VdbeSetColName($246,0,0,$247,(-1))|0); + $379 = HEAP32[$22>>2]|0; + $380 = HEAP32[$31>>2]|0; + (_sqlite3VdbeAddOp2($379,87,$380,1)|0); + $381 = HEAP32[$22>>2]|0; + _sqlite3VdbeSetNumCols($381,1); + $382 = HEAP32[$22>>2]|0; + $383 = HEAP32[$10>>2]|0; + (_sqlite3VdbeSetColName($382,0,0,$383,(-1))|0); break L21; break; } case 22: { - HEAP32[$zRet>>2] = 32185; - $248 = HEAP32[$zRight>>2]|0; - $249 = (_getLockingMode($248)|0); - HEAP32[$eMode>>2] = $249; - $250 = HEAP32[$2>>2]|0; - $251 = ((($250)) + 4|0); - $252 = HEAP32[$251>>2]|0; - $253 = ($252|0)==(0); - $254 = HEAP32[$eMode>>2]|0; - $255 = ($254|0)==(-1); - $or$cond3 = $253 & $255; + HEAP32[$32>>2] = 31638; + $384 = HEAP32[$11>>2]|0; + $385 = (_getLockingMode($384)|0); + HEAP32[$33>>2] = $385; + $386 = HEAP32[$7>>2]|0; + $387 = ((($386)) + 4|0); + $388 = HEAP32[$387>>2]|0; + $389 = ($388|0)==(0); + $390 = HEAP32[$33>>2]|0; + $391 = ($390|0)==(-1); + $or$cond3 = $389 & $391; if ($or$cond3) { - $256 = HEAP32[$db>>2]|0; - $257 = ((($256)) + 71|0); - $258 = HEAP8[$257>>0]|0; - $259 = $258&255; - HEAP32[$eMode>>2] = $259; + $392 = HEAP32[$20>>2]|0; + $393 = ((($392)) + 71|0); + $394 = HEAP8[$393>>0]|0; + $395 = $394&255; + HEAP32[$33>>2] = $395; } else { - $260 = HEAP32[$2>>2]|0; - $261 = ((($260)) + 4|0); - $262 = HEAP32[$261>>2]|0; - $263 = ($262|0)==(0); - if ($263) { - HEAP32[$ii3>>2] = 2; + $396 = HEAP32[$7>>2]|0; + $397 = ((($396)) + 4|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0); + if ($399) { + HEAP32[$35>>2] = 2; while(1) { - $264 = HEAP32[$ii3>>2]|0; - $265 = HEAP32[$db>>2]|0; - $266 = ((($265)) + 20|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($264|0)<($267|0); - if (!($268)) { + $400 = HEAP32[$35>>2]|0; + $401 = HEAP32[$20>>2]|0; + $402 = ((($401)) + 20|0); + $403 = HEAP32[$402>>2]|0; + $404 = ($400|0)<($403|0); + if (!($404)) { break; } - $269 = HEAP32[$ii3>>2]|0; - $270 = HEAP32[$db>>2]|0; - $271 = ((($270)) + 16|0); - $272 = HEAP32[$271>>2]|0; - $273 = (($272) + ($269<<4)|0); - $274 = ((($273)) + 4|0); - $275 = HEAP32[$274>>2]|0; - $276 = (_sqlite3BtreePager($275)|0); - HEAP32[$pPager>>2] = $276; - $277 = HEAP32[$pPager>>2]|0; - $278 = HEAP32[$eMode>>2]|0; - (_sqlite3PagerLockingMode($277,$278)|0); - $279 = HEAP32[$ii3>>2]|0; - $280 = (($279) + 1)|0; - HEAP32[$ii3>>2] = $280; + $405 = HEAP32[$20>>2]|0; + $406 = ((($405)) + 16|0); + $407 = HEAP32[$406>>2]|0; + $408 = HEAP32[$35>>2]|0; + $409 = (($407) + ($408<<4)|0); + $410 = ((($409)) + 4|0); + $411 = HEAP32[$410>>2]|0; + $412 = (_sqlite3BtreePager($411)|0); + HEAP32[$34>>2] = $412; + $413 = HEAP32[$34>>2]|0; + $414 = HEAP32[$33>>2]|0; + (_sqlite3PagerLockingMode($413,$414)|0); + $415 = HEAP32[$35>>2]|0; + $416 = (($415) + 1)|0; + HEAP32[$35>>2] = $416; } - $281 = HEAP32[$eMode>>2]|0; - $282 = $281&255; - $283 = HEAP32[$db>>2]|0; - $284 = ((($283)) + 71|0); - HEAP8[$284>>0] = $282; + $417 = HEAP32[$33>>2]|0; + $418 = $417&255; + $419 = HEAP32[$20>>2]|0; + $420 = ((($419)) + 71|0); + HEAP8[$420>>0] = $418; } - $285 = HEAP32[$pDb>>2]|0; - $286 = ((($285)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = (_sqlite3BtreePager($287)|0); - HEAP32[$pPager>>2] = $288; - $289 = HEAP32[$pPager>>2]|0; - $290 = HEAP32[$eMode>>2]|0; - $291 = (_sqlite3PagerLockingMode($289,$290)|0); - HEAP32[$eMode>>2] = $291; + $421 = HEAP32[$21>>2]|0; + $422 = ((($421)) + 4|0); + $423 = HEAP32[$422>>2]|0; + $424 = (_sqlite3BtreePager($423)|0); + HEAP32[$34>>2] = $424; + $425 = HEAP32[$34>>2]|0; + $426 = HEAP32[$33>>2]|0; + $427 = (_sqlite3PagerLockingMode($425,$426)|0); + HEAP32[$33>>2] = $427; } - $292 = HEAP32[$eMode>>2]|0; - $293 = ($292|0)==(1); - if ($293) { - HEAP32[$zRet>>2] = 32192; + $428 = HEAP32[$33>>2]|0; + $429 = ($428|0)==(1); + if ($429) { + HEAP32[$32>>2] = 31645; } - $294 = HEAP32[$v>>2]|0; - $295 = HEAP32[$zRet>>2]|0; - _returnSingleText($294,32202,$295); + $430 = HEAP32[$22>>2]|0; + $431 = HEAP32[$32>>2]|0; + _returnSingleText($430,31655,$431); break L21; break; } case 19: { - $296 = HEAP32[$v>>2]|0; - _setOneColumnName($296,32215); - $297 = HEAP32[$zRight>>2]|0; - $298 = ($297|0)==(0|0); - if ($298) { - HEAP32[$eMode4>>2] = -1; + $432 = HEAP32[$22>>2]|0; + _setOneColumnName($432,31668); + $433 = HEAP32[$11>>2]|0; + $434 = ($433|0)==(0|0); + if ($434) { + HEAP32[$36>>2] = -1; } else { - $299 = HEAP32[$zRight>>2]|0; - $300 = (_sqlite3Strlen30($299)|0); - HEAP32[$n>>2] = $300; - HEAP32[$eMode4>>2] = 0; + $435 = HEAP32[$11>>2]|0; + $436 = (_sqlite3Strlen30($435)|0); + HEAP32[$39>>2] = $436; + HEAP32[$36>>2] = 0; while(1) { - $301 = HEAP32[$eMode4>>2]|0; - $302 = (_sqlite3JournalModename($301)|0); - HEAP32[$zMode>>2] = $302; - $303 = ($302|0)!=(0|0); - if (!($303)) { + $437 = HEAP32[$36>>2]|0; + $438 = (_sqlite3JournalModename($437)|0); + HEAP32[$38>>2] = $438; + $439 = ($438|0)!=(0|0); + if (!($439)) { break; } - $304 = HEAP32[$zRight>>2]|0; - $305 = HEAP32[$zMode>>2]|0; - $306 = HEAP32[$n>>2]|0; - $307 = (_sqlite3_strnicmp($304,$305,$306)|0); - $308 = ($307|0)==(0); - if ($308) { + $440 = HEAP32[$11>>2]|0; + $441 = HEAP32[$38>>2]|0; + $442 = HEAP32[$39>>2]|0; + $443 = (_sqlite3_strnicmp($440,$441,$442)|0); + $444 = ($443|0)==(0); + if ($444) { break; } - $309 = HEAP32[$eMode4>>2]|0; - $310 = (($309) + 1)|0; - HEAP32[$eMode4>>2] = $310; + $445 = HEAP32[$36>>2]|0; + $446 = (($445) + 1)|0; + HEAP32[$36>>2] = $446; } - $311 = HEAP32[$zMode>>2]|0; - $312 = ($311|0)!=(0|0); - if (!($312)) { - HEAP32[$eMode4>>2] = -1; + $447 = HEAP32[$38>>2]|0; + $448 = ($447|0)!=(0|0); + if (!($448)) { + HEAP32[$36>>2] = -1; } } - $313 = HEAP32[$eMode4>>2]|0; - $314 = ($313|0)==(-1); - if ($314) { - $315 = HEAP32[$2>>2]|0; - $316 = ((($315)) + 4|0); - $317 = HEAP32[$316>>2]|0; - $318 = ($317|0)==(0); - if ($318) { - HEAP32[$iDb>>2] = 0; - $319 = HEAP32[$2>>2]|0; - $320 = ((($319)) + 4|0); - HEAP32[$320>>2] = 1; + $449 = HEAP32[$36>>2]|0; + $450 = ($449|0)==(-1); + if ($450) { + $451 = HEAP32[$7>>2]|0; + $452 = ((($451)) + 4|0); + $453 = HEAP32[$452>>2]|0; + $454 = ($453|0)==(0); + if ($454) { + HEAP32[$15>>2] = 0; + $455 = HEAP32[$7>>2]|0; + $456 = ((($455)) + 4|0); + HEAP32[$456>>2] = 1; } } - $321 = HEAP32[$db>>2]|0; - $322 = ((($321)) + 20|0); - $323 = HEAP32[$322>>2]|0; - $324 = (($323) - 1)|0; - HEAP32[$ii5>>2] = $324; + $457 = HEAP32[$20>>2]|0; + $458 = ((($457)) + 20|0); + $459 = HEAP32[$458>>2]|0; + $460 = (($459) - 1)|0; + HEAP32[$37>>2] = $460; while(1) { - $325 = HEAP32[$ii5>>2]|0; - $326 = ($325|0)>=(0); - if (!($326)) { + $461 = HEAP32[$37>>2]|0; + $462 = ($461|0)>=(0); + if (!($462)) { break; } - $327 = HEAP32[$ii5>>2]|0; - $328 = HEAP32[$db>>2]|0; - $329 = ((($328)) + 16|0); - $330 = HEAP32[$329>>2]|0; - $331 = (($330) + ($327<<4)|0); - $332 = ((($331)) + 4|0); - $333 = HEAP32[$332>>2]|0; - $334 = ($333|0)!=(0|0); + $463 = HEAP32[$20>>2]|0; + $464 = ((($463)) + 16|0); + $465 = HEAP32[$464>>2]|0; + $466 = HEAP32[$37>>2]|0; + $467 = (($465) + ($466<<4)|0); + $468 = ((($467)) + 4|0); + $469 = HEAP32[$468>>2]|0; + $470 = ($469|0)!=(0|0); do { - if ($334) { - $335 = HEAP32[$ii5>>2]|0; - $336 = HEAP32[$iDb>>2]|0; - $337 = ($335|0)==($336|0); - if (!($337)) { - $338 = HEAP32[$2>>2]|0; - $339 = ((($338)) + 4|0); - $340 = HEAP32[$339>>2]|0; - $341 = ($340|0)==(0); - if (!($341)) { + if ($470) { + $471 = HEAP32[$37>>2]|0; + $472 = HEAP32[$15>>2]|0; + $473 = ($471|0)==($472|0); + if (!($473)) { + $474 = HEAP32[$7>>2]|0; + $475 = ((($474)) + 4|0); + $476 = HEAP32[$475>>2]|0; + $477 = ($476|0)==(0); + if (!($477)) { break; } } - $342 = HEAP32[$v>>2]|0; - $343 = HEAP32[$ii5>>2]|0; - _sqlite3VdbeUsesBtree($342,$343); - $344 = HEAP32[$v>>2]|0; - $345 = HEAP32[$ii5>>2]|0; - $346 = HEAP32[$eMode4>>2]|0; - (_sqlite3VdbeAddOp3($344,9,$345,1,$346)|0); + $478 = HEAP32[$22>>2]|0; + $479 = HEAP32[$37>>2]|0; + _sqlite3VdbeUsesBtree($478,$479); + $480 = HEAP32[$22>>2]|0; + $481 = HEAP32[$37>>2]|0; + $482 = HEAP32[$36>>2]|0; + (_sqlite3VdbeAddOp3($480,9,$481,1,$482)|0); } } while(0); - $347 = HEAP32[$ii5>>2]|0; - $348 = (($347) + -1)|0; - HEAP32[$ii5>>2] = $348; + $483 = HEAP32[$37>>2]|0; + $484 = (($483) + -1)|0; + HEAP32[$37>>2] = $484; } - $349 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($349,87,1,1)|0); + $485 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($485,87,1,1)|0); break L21; break; } case 20: { - $350 = HEAP32[$pDb>>2]|0; - $351 = ((($350)) + 4|0); - $352 = HEAP32[$351>>2]|0; - $353 = (_sqlite3BtreePager($352)|0); - HEAP32[$pPager6>>2] = $353; - $354 = $iLimit; - $355 = $354; - HEAP32[$355>>2] = -2; - $356 = (($354) + 4)|0; - $357 = $356; - HEAP32[$357>>2] = -1; - $358 = HEAP32[$zRight>>2]|0; - $359 = ($358|0)!=(0|0); - if ($359) { - $360 = HEAP32[$zRight>>2]|0; - (_sqlite3DecOrHexToI64($360,$iLimit)|0); - $361 = $iLimit; - $362 = $361; - $363 = HEAP32[$362>>2]|0; - $364 = (($361) + 4)|0; - $365 = $364; - $366 = HEAP32[$365>>2]|0; - $367 = ($366|0)<(-1); - $368 = ($363>>>0)<(4294967295); - $369 = ($366|0)==(-1); - $370 = $369 & $368; - $371 = $367 | $370; - if ($371) { - $372 = $iLimit; - $373 = $372; - HEAP32[$373>>2] = -1; - $374 = (($372) + 4)|0; - $375 = $374; - HEAP32[$375>>2] = -1; + $486 = HEAP32[$21>>2]|0; + $487 = ((($486)) + 4|0); + $488 = HEAP32[$487>>2]|0; + $489 = (_sqlite3BtreePager($488)|0); + HEAP32[$40>>2] = $489; + $490 = $41; + $491 = $490; + HEAP32[$491>>2] = -2; + $492 = (($490) + 4)|0; + $493 = $492; + HEAP32[$493>>2] = -1; + $494 = HEAP32[$11>>2]|0; + $495 = ($494|0)!=(0|0); + if ($495) { + $496 = HEAP32[$11>>2]|0; + (_sqlite3DecOrHexToI64($496,$41)|0); + $497 = $41; + $498 = $497; + $499 = HEAP32[$498>>2]|0; + $500 = (($497) + 4)|0; + $501 = $500; + $502 = HEAP32[$501>>2]|0; + $503 = ($502|0)<(-1); + $504 = ($499>>>0)<(4294967295); + $505 = ($502|0)==(-1); + $506 = $505 & $504; + $507 = $503 | $506; + if ($507) { + $508 = $41; + $509 = $508; + HEAP32[$509>>2] = -1; + $510 = (($508) + 4)|0; + $511 = $510; + HEAP32[$511>>2] = -1; } } - $376 = HEAP32[$pPager6>>2]|0; - $377 = $iLimit; - $378 = $377; - $379 = HEAP32[$378>>2]|0; - $380 = (($377) + 4)|0; - $381 = $380; - $382 = HEAP32[$381>>2]|0; - $383 = (_sqlite3PagerJournalSizeLimit($376,$379,$382)|0); - $384 = tempRet0; - $385 = $iLimit; - $386 = $385; - HEAP32[$386>>2] = $383; - $387 = (($385) + 4)|0; - $388 = $387; - HEAP32[$388>>2] = $384; - $389 = HEAP32[$v>>2]|0; - $390 = $iLimit; - $391 = $390; - $392 = HEAP32[$391>>2]|0; - $393 = (($390) + 4)|0; - $394 = $393; - $395 = HEAP32[$394>>2]|0; - _returnSingleInt($389,32228,$392,$395); + $512 = HEAP32[$40>>2]|0; + $513 = $41; + $514 = $513; + $515 = HEAP32[$514>>2]|0; + $516 = (($513) + 4)|0; + $517 = $516; + $518 = HEAP32[$517>>2]|0; + $519 = (_sqlite3PagerJournalSizeLimit($512,$515,$518)|0); + $520 = tempRet0; + $521 = $41; + $522 = $521; + HEAP32[$522>>2] = $519; + $523 = (($521) + 4)|0; + $524 = $523; + HEAP32[$524>>2] = $520; + $525 = HEAP32[$22>>2]|0; + $526 = $41; + $527 = $526; + $528 = HEAP32[$527>>2]|0; + $529 = (($526) + 4)|0; + $530 = $529; + $531 = HEAP32[$530>>2]|0; + _returnSingleInt($525,31681,$528,$531); break L21; break; } case 1: { - $396 = HEAP32[$pDb>>2]|0; - $397 = ((($396)) + 4|0); - $398 = HEAP32[$397>>2]|0; - HEAP32[$pBt7>>2] = $398; - $399 = HEAP32[$zRight>>2]|0; - $400 = ($399|0)!=(0|0); - if (!($400)) { - $401 = HEAP32[$v>>2]|0; - $402 = HEAP32[$pBt7>>2]|0; - $403 = (_sqlite3BtreeGetAutoVacuum($402)|0); - $404 = ($403|0)<(0); - $405 = $404 << 31 >> 31; - _returnSingleInt($401,32247,$403,$405); + $532 = HEAP32[$21>>2]|0; + $533 = ((($532)) + 4|0); + $534 = HEAP32[$533>>2]|0; + HEAP32[$42>>2] = $534; + $535 = HEAP32[$11>>2]|0; + $536 = ($535|0)!=(0|0); + if (!($536)) { + $537 = HEAP32[$22>>2]|0; + $538 = HEAP32[$42>>2]|0; + $539 = (_sqlite3BtreeGetAutoVacuum($538)|0); + $540 = ($539|0)<(0); + $541 = $540 << 31 >> 31; + _returnSingleInt($537,31700,$539,$541); break L21; } - $406 = HEAP32[$zRight>>2]|0; - $407 = (_getAutoVacuum($406)|0); - HEAP32[$eAuto>>2] = $407; - $408 = HEAP32[$eAuto>>2]|0; - $409 = $408&255; - $410 = HEAP32[$db>>2]|0; - $411 = ((($410)) + 72|0); - HEAP8[$411>>0] = $409; - $412 = HEAP32[$pBt7>>2]|0; - $413 = HEAP32[$eAuto>>2]|0; - $414 = (_sqlite3BtreeSetAutoVacuum($412,$413)|0); - HEAP32[$rc>>2] = $414; - $415 = HEAP32[$rc>>2]|0; - $416 = ($415|0)==(0); - if (!($416)) { + $542 = HEAP32[$11>>2]|0; + $543 = (_getAutoVacuum($542)|0); + HEAP32[$43>>2] = $543; + $544 = HEAP32[$43>>2]|0; + $545 = $544&255; + $546 = HEAP32[$20>>2]|0; + $547 = ((($546)) + 72|0); + HEAP8[$547>>0] = $545; + $548 = HEAP32[$42>>2]|0; + $549 = HEAP32[$43>>2]|0; + $550 = (_sqlite3BtreeSetAutoVacuum($548,$549)|0); + HEAP32[$19>>2] = $550; + $551 = HEAP32[$19>>2]|0; + $552 = ($551|0)==(0); + if (!($552)) { break L21; } - $417 = HEAP32[$eAuto>>2]|0; - $418 = ($417|0)==(1); - $419 = HEAP32[$eAuto>>2]|0; - $420 = ($419|0)==(2); - $or$cond5 = $418 | $420; + $553 = HEAP32[$43>>2]|0; + $554 = ($553|0)==(1); + $555 = HEAP32[$43>>2]|0; + $556 = ($555|0)==(2); + $or$cond5 = $554 | $556; if (!($or$cond5)) { break L21; } - $421 = HEAP32[$v>>2]|0; - $422 = (_sqlite3VdbeCurrentAddr($421)|0); - HEAP32[$iAddr>>2] = $422; - $423 = HEAP32[$v>>2]|0; - $424 = (_sqlite3VdbeAddOpList($423,5,32259,0)|0); - HEAP32[$aOp8>>2] = $424; - $425 = HEAP32[$iDb>>2]|0; - $426 = HEAP32[$aOp8>>2]|0; - $427 = ((($426)) + 4|0); - HEAP32[$427>>2] = $425; - $428 = HEAP32[$iDb>>2]|0; - $429 = HEAP32[$aOp8>>2]|0; - $430 = ((($429)) + 20|0); - $431 = ((($430)) + 4|0); - HEAP32[$431>>2] = $428; - $432 = HEAP32[$iAddr>>2]|0; - $433 = (($432) + 4)|0; - $434 = HEAP32[$aOp8>>2]|0; - $435 = ((($434)) + 40|0); - $436 = ((($435)) + 8|0); - HEAP32[$436>>2] = $433; - $437 = HEAP32[$iDb>>2]|0; - $438 = HEAP32[$aOp8>>2]|0; - $439 = ((($438)) + 80|0); - $440 = ((($439)) + 4|0); - HEAP32[$440>>2] = $437; - $441 = HEAP32[$eAuto>>2]|0; - $442 = (($441) - 1)|0; - $443 = HEAP32[$aOp8>>2]|0; - $444 = ((($443)) + 80|0); - $445 = ((($444)) + 12|0); - HEAP32[$445>>2] = $442; - $446 = HEAP32[$v>>2]|0; - $447 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($446,$447); + $557 = HEAP32[$22>>2]|0; + $558 = (_sqlite3VdbeCurrentAddr($557)|0); + HEAP32[$45>>2] = $558; + $559 = HEAP32[$22>>2]|0; + $560 = (_sqlite3VdbeAddOpList($559,5,31712,0)|0); + HEAP32[$44>>2] = $560; + $561 = HEAP32[$15>>2]|0; + $562 = HEAP32[$44>>2]|0; + $563 = ((($562)) + 4|0); + HEAP32[$563>>2] = $561; + $564 = HEAP32[$15>>2]|0; + $565 = HEAP32[$44>>2]|0; + $566 = ((($565)) + 20|0); + $567 = ((($566)) + 4|0); + HEAP32[$567>>2] = $564; + $568 = HEAP32[$45>>2]|0; + $569 = (($568) + 4)|0; + $570 = HEAP32[$44>>2]|0; + $571 = ((($570)) + 40|0); + $572 = ((($571)) + 8|0); + HEAP32[$572>>2] = $569; + $573 = HEAP32[$15>>2]|0; + $574 = HEAP32[$44>>2]|0; + $575 = ((($574)) + 80|0); + $576 = ((($575)) + 4|0); + HEAP32[$576>>2] = $573; + $577 = HEAP32[$43>>2]|0; + $578 = (($577) - 1)|0; + $579 = HEAP32[$44>>2]|0; + $580 = ((($579)) + 80|0); + $581 = ((($580)) + 12|0); + HEAP32[$581>>2] = $578; + $582 = HEAP32[$22>>2]|0; + $583 = HEAP32[$15>>2]|0; + _sqlite3VdbeUsesBtree($582,$583); break L21; break; } case 15: { - $448 = HEAP32[$zRight>>2]|0; - $449 = ($448|0)==(0|0); - if ($449) { + $584 = HEAP32[$11>>2]|0; + $585 = ($584|0)==(0|0); + if ($585) { label = 89; } else { - $450 = HEAP32[$zRight>>2]|0; - $451 = (_sqlite3GetInt32($450,$iLimit9)|0); - $452 = ($451|0)==(0); - $453 = HEAP32[$iLimit9>>2]|0; - $454 = ($453|0)<=(0); - $or$cond7 = $452 | $454; + $586 = HEAP32[$11>>2]|0; + $587 = (_sqlite3GetInt32($586,$46)|0); + $588 = ($587|0)==(0); + $589 = HEAP32[$46>>2]|0; + $590 = ($589|0)<=(0); + $or$cond7 = $588 | $590; if ($or$cond7) { label = 89; } } if ((label|0) == 89) { - HEAP32[$iLimit9>>2] = 2147483647; + HEAP32[$46>>2] = 2147483647; } - $455 = HEAP32[$0>>2]|0; - $456 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($455,0,$456); - $457 = HEAP32[$v>>2]|0; - $458 = HEAP32[$iLimit9>>2]|0; - (_sqlite3VdbeAddOp2($457,76,$458,1)|0); - $459 = HEAP32[$v>>2]|0; - $460 = HEAP32[$iDb>>2]|0; - $461 = (_sqlite3VdbeAddOp1($459,69,$460)|0); - HEAP32[$addr>>2] = $461; - $462 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp1($462,87,1)|0); - $463 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($463,91,1,-1)|0); - $464 = HEAP32[$v>>2]|0; - $465 = HEAP32[$addr>>2]|0; - (_sqlite3VdbeAddOp2($464,66,1,$465)|0); - $466 = HEAP32[$v>>2]|0; - $467 = HEAP32[$addr>>2]|0; - _sqlite3VdbeJumpHere($466,$467); + $591 = HEAP32[$5>>2]|0; + $592 = HEAP32[$15>>2]|0; + _sqlite3BeginWriteOperation($591,0,$592); + $593 = HEAP32[$22>>2]|0; + $594 = HEAP32[$46>>2]|0; + (_sqlite3VdbeAddOp2($593,76,$594,1)|0); + $595 = HEAP32[$22>>2]|0; + $596 = HEAP32[$15>>2]|0; + $597 = (_sqlite3VdbeAddOp1($595,69,$596)|0); + HEAP32[$47>>2] = $597; + $598 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp1($598,87,1)|0); + $599 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($599,91,1,-1)|0); + $600 = HEAP32[$22>>2]|0; + $601 = HEAP32[$47>>2]|0; + (_sqlite3VdbeAddOp2($600,66,1,$601)|0); + $602 = HEAP32[$22>>2]|0; + $603 = HEAP32[$47>>2]|0; + _sqlite3VdbeJumpHere($602,$603); break L21; break; } case 4: { - $468 = HEAP32[$zRight>>2]|0; - $469 = ($468|0)!=(0|0); - if ($469) { - $478 = HEAP32[$zRight>>2]|0; - $479 = (_sqlite3Atoi($478)|0); - HEAP32[$size10>>2] = $479; - $480 = HEAP32[$size10>>2]|0; - $481 = HEAP32[$pDb>>2]|0; - $482 = ((($481)) + 12|0); - $483 = HEAP32[$482>>2]|0; - $484 = ((($483)) + 80|0); - HEAP32[$484>>2] = $480; - $485 = HEAP32[$pDb>>2]|0; - $486 = ((($485)) + 4|0); - $487 = HEAP32[$486>>2]|0; - $488 = HEAP32[$pDb>>2]|0; - $489 = ((($488)) + 12|0); - $490 = HEAP32[$489>>2]|0; - $491 = ((($490)) + 80|0); - $492 = HEAP32[$491>>2]|0; - (_sqlite3BtreeSetCacheSize($487,$492)|0); + $604 = HEAP32[$11>>2]|0; + $605 = ($604|0)!=(0|0); + if ($605) { + $614 = HEAP32[$11>>2]|0; + $615 = (_sqlite3Atoi($614)|0); + HEAP32[$48>>2] = $615; + $616 = HEAP32[$48>>2]|0; + $617 = HEAP32[$21>>2]|0; + $618 = ((($617)) + 12|0); + $619 = HEAP32[$618>>2]|0; + $620 = ((($619)) + 80|0); + HEAP32[$620>>2] = $616; + $621 = HEAP32[$21>>2]|0; + $622 = ((($621)) + 4|0); + $623 = HEAP32[$622>>2]|0; + $624 = HEAP32[$21>>2]|0; + $625 = ((($624)) + 12|0); + $626 = HEAP32[$625>>2]|0; + $627 = ((($626)) + 80|0); + $628 = HEAP32[$627>>2]|0; + (_sqlite3BtreeSetCacheSize($623,$628)|0); break L21; } else { - $470 = HEAP32[$v>>2]|0; - $471 = HEAP32[$pDb>>2]|0; - $472 = ((($471)) + 12|0); - $473 = HEAP32[$472>>2]|0; - $474 = ((($473)) + 80|0); - $475 = HEAP32[$474>>2]|0; - $476 = ($475|0)<(0); - $477 = $476 << 31 >> 31; - _returnSingleInt($470,32114,$475,$477); + $606 = HEAP32[$22>>2]|0; + $607 = HEAP32[$21>>2]|0; + $608 = ((($607)) + 12|0); + $609 = HEAP32[$608>>2]|0; + $610 = ((($609)) + 80|0); + $611 = HEAP32[$610>>2]|0; + $612 = ($611|0)<(0); + $613 = $612 << 31 >> 31; + _returnSingleInt($606,31567,$611,$613); break L21; } break; } case 5: { - $493 = HEAP32[$zRight>>2]|0; - $494 = ($493|0)!=(0|0); - if (!($494)) { - $495 = HEAP32[$v>>2]|0; - $496 = HEAP32[$db>>2]|0; - $497 = ((($496)) + 24|0); - $498 = HEAP32[$497>>2]|0; - $499 = $498 & 32; - $500 = ($499|0)==(0); - if ($500) { - $506 = 0; - } else { - $501 = HEAP32[$pDb>>2]|0; - $502 = ((($501)) + 4|0); - $503 = HEAP32[$502>>2]|0; - $504 = (_sqlite3BtreeSetSpillSize($503,0)|0); - $506 = $504; + $629 = HEAP32[$11>>2]|0; + $630 = ($629|0)!=(0|0); + if ($630) { + HEAP32[$49>>2] = 1; + $644 = HEAP32[$11>>2]|0; + $645 = (_sqlite3GetInt32($644,$49)|0); + $646 = ($645|0)!=(0); + if ($646) { + $647 = HEAP32[$21>>2]|0; + $648 = ((($647)) + 4|0); + $649 = HEAP32[$648>>2]|0; + $650 = HEAP32[$49>>2]|0; + (_sqlite3BtreeSetSpillSize($649,$650)|0); } - $505 = ($506|0)<(0); - $507 = $505 << 31 >> 31; - _returnSingleInt($495,32279,$506,$507); + $651 = HEAP32[$11>>2]|0; + $652 = HEAP32[$49>>2]|0; + $653 = ($652|0)!=(0); + $654 = $653&1; + $655 = $654&255; + $656 = (_sqlite3GetBoolean($651,$655)|0); + $657 = ($656<<24>>24)!=(0); + $658 = HEAP32[$20>>2]|0; + $659 = ((($658)) + 24|0); + $660 = HEAP32[$659>>2]|0; + $661 = $660 & -33; + $662 = $660 | 32; + $$sink = $657 ? $662 : $661; + HEAP32[$659>>2] = $$sink; + $663 = HEAP32[$20>>2]|0; + _setAllPagerFlags($663); break L21; - } - HEAP32[$size11>>2] = 1; - $508 = HEAP32[$zRight>>2]|0; - $509 = (_sqlite3GetInt32($508,$size11)|0); - $510 = ($509|0)!=(0); - if ($510) { - $511 = HEAP32[$pDb>>2]|0; - $512 = ((($511)) + 4|0); - $513 = HEAP32[$512>>2]|0; - $514 = HEAP32[$size11>>2]|0; - (_sqlite3BtreeSetSpillSize($513,$514)|0); - } - $515 = HEAP32[$zRight>>2]|0; - $516 = HEAP32[$size11>>2]|0; - $517 = ($516|0)!=(0); - $518 = $517&1; - $519 = $518&255; - $520 = (_sqlite3GetBoolean($515,$519)|0); - $521 = ($520<<24>>24)!=(0); - $522 = HEAP32[$db>>2]|0; - $523 = ((($522)) + 24|0); - $524 = HEAP32[$523>>2]|0; - if ($521) { - $525 = $524 | 32; - HEAP32[$523>>2] = $525; } else { - $526 = $524 & -33; - HEAP32[$523>>2] = $526; + $631 = HEAP32[$22>>2]|0; + $632 = HEAP32[$20>>2]|0; + $633 = ((($632)) + 24|0); + $634 = HEAP32[$633>>2]|0; + $635 = $634 & 32; + $636 = ($635|0)==(0); + if ($636) { + $642 = 0; + } else { + $637 = HEAP32[$21>>2]|0; + $638 = ((($637)) + 4|0); + $639 = HEAP32[$638>>2]|0; + $640 = (_sqlite3BtreeSetSpillSize($639,0)|0); + $642 = $640; + } + $641 = ($642|0)<(0); + $643 = $641 << 31 >> 31; + _returnSingleInt($631,31732,$642,$643); + break L21; } - $527 = HEAP32[$db>>2]|0; - _setAllPagerFlags($527); - break L21; break; } case 24: { - $528 = $sz; - $529 = $528; - HEAP32[$529>>2] = 0; - $530 = (($528) + 4)|0; - $531 = $530; - HEAP32[$531>>2] = 0; - HEAP32[$rc>>2] = 0; - $532 = HEAP32[$rc>>2]|0; - $533 = ($532|0)==(0); - if ($533) { - $534 = HEAP32[$v>>2]|0; - $535 = $sz; - $536 = $535; - $537 = HEAP32[$536>>2]|0; - $538 = (($535) + 4)|0; - $539 = $538; - $540 = HEAP32[$539>>2]|0; - _returnSingleInt($534,32291,$537,$540); + $664 = $50; + $665 = $664; + HEAP32[$665>>2] = 0; + $666 = (($664) + 4)|0; + $667 = $666; + HEAP32[$667>>2] = 0; + HEAP32[$19>>2] = 0; + $668 = HEAP32[$19>>2]|0; + $669 = ($668|0)==(0); + if ($669) { + $670 = HEAP32[$22>>2]|0; + $671 = $50; + $672 = $671; + $673 = HEAP32[$672>>2]|0; + $674 = (($671) + 4)|0; + $675 = $674; + $676 = HEAP32[$675>>2]|0; + _returnSingleInt($670,31744,$673,$676); break L21; } - $541 = HEAP32[$rc>>2]|0; - $542 = ($541|0)!=(12); - if (!($542)) { + $677 = HEAP32[$19>>2]|0; + $678 = ($677|0)!=(12); + if (!($678)) { break L21; } - $543 = HEAP32[$0>>2]|0; - $544 = ((($543)) + 36|0); - $545 = HEAP32[$544>>2]|0; - $546 = (($545) + 1)|0; - HEAP32[$544>>2] = $546; - $547 = HEAP32[$rc>>2]|0; - $548 = HEAP32[$0>>2]|0; - $549 = ((($548)) + 12|0); - HEAP32[$549>>2] = $547; + $679 = HEAP32[$5>>2]|0; + $680 = ((($679)) + 36|0); + $681 = HEAP32[$680>>2]|0; + $682 = (($681) + 1)|0; + HEAP32[$680>>2] = $682; + $683 = HEAP32[$19>>2]|0; + $684 = HEAP32[$5>>2]|0; + $685 = ((($684)) + 12|0); + HEAP32[$685>>2] = $683; break L21; break; } case 32: { - $550 = HEAP32[$zRight>>2]|0; - $551 = ($550|0)!=(0|0); - if ($551) { - $557 = HEAP32[$0>>2]|0; - $558 = HEAP32[$zRight>>2]|0; - (_changeTempStorage($557,$558)|0); + $686 = HEAP32[$11>>2]|0; + $687 = ($686|0)!=(0|0); + if ($687) { + $693 = HEAP32[$5>>2]|0; + $694 = HEAP32[$11>>2]|0; + (_changeTempStorage($693,$694)|0); break L21; } else { - $552 = HEAP32[$v>>2]|0; - $553 = HEAP32[$db>>2]|0; - $554 = ((($553)) + 68|0); - $555 = HEAP8[$554>>0]|0; - $556 = $555&255; - _returnSingleInt($552,32301,$556,0); + $688 = HEAP32[$22>>2]|0; + $689 = HEAP32[$20>>2]|0; + $690 = ((($689)) + 68|0); + $691 = HEAP8[$690>>0]|0; + $692 = $691&255; + _returnSingleInt($688,31754,$692,0); break L21; } break; } case 33: { - $559 = HEAP32[$zRight>>2]|0; - $560 = ($559|0)!=(0|0); - if (!($560)) { - $561 = HEAP32[$v>>2]|0; - $562 = HEAP32[972>>2]|0; - _returnSingleText($561,32312,$562); + $695 = HEAP32[$11>>2]|0; + $696 = ($695|0)!=(0|0); + if (!($696)) { + $697 = HEAP32[$22>>2]|0; + $698 = HEAP32[13628]|0; + _returnSingleText($697,31765,$698); break L21; } - $563 = HEAP32[$zRight>>2]|0; - $564 = HEAP8[$563>>0]|0; - $565 = ($564<<24>>24)!=(0); - if ($565) { - $566 = HEAP32[$db>>2]|0; - $567 = HEAP32[$566>>2]|0; - $568 = HEAP32[$zRight>>2]|0; - $569 = (_sqlite3OsAccess($567,$568,1,$res)|0); - HEAP32[$rc>>2] = $569; - $570 = HEAP32[$rc>>2]|0; - $571 = ($570|0)!=(0); - $572 = HEAP32[$res>>2]|0; - $573 = ($572|0)==(0); - $or$cond9 = $571 | $573; + $699 = HEAP32[$11>>2]|0; + $700 = HEAP8[$699>>0]|0; + $701 = ($700<<24>>24)!=(0); + if ($701) { + $702 = HEAP32[$20>>2]|0; + $703 = HEAP32[$702>>2]|0; + $704 = HEAP32[$11>>2]|0; + $705 = (_sqlite3OsAccess($703,$704,1,$51)|0); + HEAP32[$19>>2] = $705; + $706 = HEAP32[$19>>2]|0; + $707 = ($706|0)!=(0); + $708 = HEAP32[$51>>2]|0; + $709 = ($708|0)==(0); + $or$cond9 = $707 | $709; if ($or$cond9) { - $574 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($574,32333,$vararg_buffer18); + $710 = HEAP32[$5>>2]|0; + _sqlite3ErrorMsg($710,31786,$vararg_buffer23); break L21; } } - $575 = HEAP32[$db>>2]|0; - $576 = ((($575)) + 68|0); - $577 = HEAP8[$576>>0]|0; - $578 = $577&255; - $579 = ($578|0)<=(1); - if ($579) { - $580 = HEAP32[$0>>2]|0; - (_invalidateTempStorage($580)|0); + $711 = HEAP32[$20>>2]|0; + $712 = ((($711)) + 68|0); + $713 = HEAP8[$712>>0]|0; + $714 = $713&255; + $715 = ($714|0)<=(1); + if ($715) { + $716 = HEAP32[$5>>2]|0; + (_invalidateTempStorage($716)|0); } - $581 = HEAP32[972>>2]|0; - _sqlite3_free($581); - $582 = HEAP32[$zRight>>2]|0; - $583 = HEAP8[$582>>0]|0; - $584 = ($583<<24>>24)!=(0); - if ($584) { - $585 = HEAP32[$zRight>>2]|0; - HEAP32[$vararg_buffer20>>2] = $585; - $586 = (_sqlite3_mprintf(18391,$vararg_buffer20)|0); - HEAP32[972>>2] = $586; - break L21; + $717 = HEAP32[13628]|0; + _sqlite3_free($717); + $718 = HEAP32[$11>>2]|0; + $719 = HEAP8[$718>>0]|0; + $720 = ($719<<24>>24)!=(0); + if ($720) { + $721 = HEAP32[$11>>2]|0; + HEAP32[$vararg_buffer25>>2] = $721; + $722 = (_sqlite3_mprintf(21240,$vararg_buffer25)|0); + $$sink10 = $722; } else { - HEAP32[972>>2] = 0; - break L21; + $$sink10 = 0; } + HEAP32[13628] = $$sink10; + break L21; break; } case 30: { - $587 = HEAP32[$zRight>>2]|0; - $588 = ($587|0)!=(0|0); - if (!($588)) { - $589 = HEAP32[$v>>2]|0; - $590 = HEAP32[$pDb>>2]|0; - $591 = ((($590)) + 8|0); - $592 = HEAP8[$591>>0]|0; - $593 = $592&255; - $594 = (($593) - 1)|0; - $595 = ($594|0)<(0); - $596 = $595 << 31 >> 31; - _returnSingleInt($589,32358,$594,$596); + $723 = HEAP32[$11>>2]|0; + $724 = ($723|0)!=(0|0); + if (!($724)) { + $725 = HEAP32[$22>>2]|0; + $726 = HEAP32[$21>>2]|0; + $727 = ((($726)) + 8|0); + $728 = HEAP8[$727>>0]|0; + $729 = $728&255; + $730 = (($729) - 1)|0; + $731 = ($730|0)<(0); + $732 = $731 << 31 >> 31; + _returnSingleInt($725,31811,$730,$732); break L21; } - $597 = HEAP32[$db>>2]|0; - $598 = ((($597)) + 67|0); - $599 = HEAP8[$598>>0]|0; - $600 = ($599<<24>>24)!=(0); - if ($600) { - $602 = HEAP32[$zRight>>2]|0; - $603 = (_getSafetyLevel($602,0,1)|0); - $604 = $603&255; - $605 = (($604) + 1)|0; - $606 = $605 & 7; - HEAP32[$iLevel>>2] = $606; - $607 = HEAP32[$iLevel>>2]|0; - $608 = ($607|0)==(0); - $$ = $608 ? 1 : $606; - HEAP32[$iLevel>>2] = $$; - $609 = HEAP32[$iLevel>>2]|0; - $610 = $609&255; - $611 = HEAP32[$pDb>>2]|0; - $612 = ((($611)) + 8|0); - HEAP8[$612>>0] = $610; - $613 = HEAP32[$pDb>>2]|0; - $614 = ((($613)) + 9|0); - HEAP8[$614>>0] = 1; - $615 = HEAP32[$db>>2]|0; - _setAllPagerFlags($615); + $733 = HEAP32[$20>>2]|0; + $734 = ((($733)) + 67|0); + $735 = HEAP8[$734>>0]|0; + $736 = ($735<<24>>24)!=(0); + if ($736) { + $738 = HEAP32[$11>>2]|0; + $739 = (_getSafetyLevel($738,0,1)|0); + $740 = $739&255; + $741 = (($740) + 1)|0; + $742 = $741 & 7; + HEAP32[$52>>2] = $742; + $743 = HEAP32[$52>>2]|0; + $744 = ($743|0)==(0); + $$ = $744 ? 1 : $742; + HEAP32[$52>>2] = $$; + $745 = HEAP32[$52>>2]|0; + $746 = $745&255; + $747 = HEAP32[$21>>2]|0; + $748 = ((($747)) + 8|0); + HEAP8[$748>>0] = $746; + $749 = HEAP32[$21>>2]|0; + $750 = ((($749)) + 9|0); + HEAP8[$750>>0] = 1; + $751 = HEAP32[$20>>2]|0; + _setAllPagerFlags($751); break L21; } else { - $601 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($601,32370,$vararg_buffer23); + $737 = HEAP32[$5>>2]|0; + _sqlite3ErrorMsg($737,31823,$vararg_buffer28); break L21; } break; } case 2: { - $616 = HEAP32[$zRight>>2]|0; - $617 = ($616|0)==(0|0); - if ($617) { - $618 = HEAP32[$v>>2]|0; - $619 = HEAP32[$pPragma>>2]|0; - $620 = HEAP32[$619>>2]|0; - $621 = HEAP32[$db>>2]|0; - $622 = ((($621)) + 24|0); - $623 = HEAP32[$622>>2]|0; - $624 = HEAP32[$pPragma>>2]|0; - $625 = ((($624)) + 8|0); - $626 = HEAP32[$625>>2]|0; - $627 = $623 & $626; - $628 = ($627|0)!=(0); - $629 = $628&1; - $630 = ($629|0)<(0); - $631 = $630 << 31 >> 31; - _returnSingleInt($618,$620,$629,$631); + $752 = HEAP32[$11>>2]|0; + $753 = ($752|0)==(0|0); + if ($753) { + $754 = HEAP32[$22>>2]|0; + $755 = HEAP32[$23>>2]|0; + $756 = HEAP32[$755>>2]|0; + $757 = HEAP32[$20>>2]|0; + $758 = ((($757)) + 24|0); + $759 = HEAP32[$758>>2]|0; + $760 = HEAP32[$23>>2]|0; + $761 = ((($760)) + 8|0); + $762 = HEAP32[$761>>2]|0; + $763 = $759 & $762; + $764 = ($763|0)!=(0); + $765 = $764&1; + $766 = ($765|0)<(0); + $767 = $766 << 31 >> 31; + _returnSingleInt($754,$756,$765,$767); break L21; } - $632 = HEAP32[$pPragma>>2]|0; - $633 = ((($632)) + 8|0); - $634 = HEAP32[$633>>2]|0; - HEAP32[$mask>>2] = $634; - $635 = HEAP32[$db>>2]|0; - $636 = ((($635)) + 67|0); - $637 = HEAP8[$636>>0]|0; - $638 = $637&255; - $639 = ($638|0)==(0); - if ($639) { - $640 = HEAP32[$mask>>2]|0; - $641 = $640 & -524289; - HEAP32[$mask>>2] = $641; + $768 = HEAP32[$23>>2]|0; + $769 = ((($768)) + 8|0); + $770 = HEAP32[$769>>2]|0; + HEAP32[$53>>2] = $770; + $771 = HEAP32[$20>>2]|0; + $772 = ((($771)) + 67|0); + $773 = HEAP8[$772>>0]|0; + $774 = $773&255; + $775 = ($774|0)==(0); + if ($775) { + $776 = HEAP32[$53>>2]|0; + $777 = $776 & -524289; + HEAP32[$53>>2] = $777; } - $642 = HEAP32[$zRight>>2]|0; - $643 = (_sqlite3GetBoolean($642,0)|0); - $644 = ($643<<24>>24)!=(0); - $645 = HEAP32[$mask>>2]|0; - if ($644) { - $646 = HEAP32[$db>>2]|0; - $647 = ((($646)) + 24|0); - $648 = HEAP32[$647>>2]|0; - $649 = $648 | $645; - HEAP32[$647>>2] = $649; + $778 = HEAP32[$11>>2]|0; + $779 = (_sqlite3GetBoolean($778,0)|0); + $780 = ($779<<24>>24)!=(0); + $781 = HEAP32[$53>>2]|0; + if ($780) { + $782 = HEAP32[$20>>2]|0; + $783 = ((($782)) + 24|0); + $784 = HEAP32[$783>>2]|0; + $785 = $784 | $781; + HEAP32[$783>>2] = $785; } else { - $650 = $645 ^ -1; - $651 = HEAP32[$db>>2]|0; - $652 = ((($651)) + 24|0); - $653 = HEAP32[$652>>2]|0; - $654 = $653 & $650; - HEAP32[$652>>2] = $654; - $655 = HEAP32[$mask>>2]|0; - $656 = ($655|0)==(33554432); - if ($656) { - $657 = HEAP32[$db>>2]|0; - $658 = ((($657)) + 448|0); - $659 = $658; - $660 = $659; - HEAP32[$660>>2] = 0; - $661 = (($659) + 4)|0; - $662 = $661; - HEAP32[$662>>2] = 0; + $786 = $781 ^ -1; + $787 = HEAP32[$20>>2]|0; + $788 = ((($787)) + 24|0); + $789 = HEAP32[$788>>2]|0; + $790 = $789 & $786; + HEAP32[$788>>2] = $790; + $791 = HEAP32[$53>>2]|0; + $792 = ($791|0)==(33554432); + if ($792) { + $793 = HEAP32[$20>>2]|0; + $794 = ((($793)) + 448|0); + $795 = $794; + $796 = $795; + HEAP32[$796>>2] = 0; + $797 = (($795) + 4)|0; + $798 = $797; + HEAP32[$798>>2] = 0; } } - $663 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($663,150)|0); - $664 = HEAP32[$db>>2]|0; - _setAllPagerFlags($664); + $799 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp0($799,150)|0); + $800 = HEAP32[$20>>2]|0; + _setAllPagerFlags($800); break L21; break; } case 31: { - $665 = HEAP32[$zRight>>2]|0; - $666 = ($665|0)!=(0|0); - if (!($666)) { + $801 = HEAP32[$11>>2]|0; + $802 = ($801|0)!=(0|0); + if (!($802)) { break L21; } - $667 = HEAP32[$0>>2]|0; - $668 = HEAP32[$zRight>>2]|0; - $669 = HEAP32[$zDb>>2]|0; - $670 = (_sqlite3LocateTable($667,2,$668,$669)|0); - HEAP32[$pTab>>2] = $670; - $671 = HEAP32[$pTab>>2]|0; - $672 = ($671|0)!=(0|0); - if (!($672)) { + $803 = HEAP32[$5>>2]|0; + $804 = HEAP32[$11>>2]|0; + $805 = HEAP32[$12>>2]|0; + $806 = (_sqlite3LocateTable($803,2,$804,$805)|0); + HEAP32[$54>>2] = $806; + $807 = HEAP32[$54>>2]|0; + $808 = ($807|0)!=(0|0); + if (!($808)) { break L21; } - HEAP32[$nHidden>>2] = 0; - $673 = HEAP32[$pTab>>2]|0; - $674 = (_sqlite3PrimaryKeyIndex($673)|0); - HEAP32[$pPk>>2] = $674; - $675 = HEAP32[$0>>2]|0; - $676 = ((($675)) + 44|0); - HEAP32[$676>>2] = 6; - $677 = HEAP32[$0>>2]|0; - $678 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($677,$678); - $679 = HEAP32[$v>>2]|0; - _setAllColumnNames($679,6,5172); - $680 = HEAP32[$0>>2]|0; - $681 = HEAP32[$pTab>>2]|0; - (_sqlite3ViewGetColumnNames($680,$681)|0); - HEAP32[$i>>2] = 0; - $682 = HEAP32[$pTab>>2]|0; - $683 = ((($682)) + 4|0); - $684 = HEAP32[$683>>2]|0; - HEAP32[$pCol>>2] = $684; + HEAP32[$57>>2] = 0; + $809 = HEAP32[$54>>2]|0; + $810 = (_sqlite3PrimaryKeyIndex($809)|0); + HEAP32[$59>>2] = $810; + $811 = HEAP32[$5>>2]|0; + $812 = ((($811)) + 44|0); + HEAP32[$812>>2] = 6; + $813 = HEAP32[$5>>2]|0; + $814 = HEAP32[$15>>2]|0; + _sqlite3CodeVerifySchema($813,$814); + $815 = HEAP32[$22>>2]|0; + _setAllColumnNames($815,6,5192); + $816 = HEAP32[$5>>2]|0; + $817 = HEAP32[$54>>2]|0; + (_sqlite3ViewGetColumnNames($816,$817)|0); + HEAP32[$55>>2] = 0; + $818 = HEAP32[$54>>2]|0; + $819 = ((($818)) + 4|0); + $820 = HEAP32[$819>>2]|0; + HEAP32[$58>>2] = $820; while(1) { - $685 = HEAP32[$i>>2]|0; - $686 = HEAP32[$pTab>>2]|0; - $687 = ((($686)) + 34|0); - $688 = HEAP16[$687>>1]|0; - $689 = $688 << 16 >> 16; - $690 = ($685|0)<($689|0); - if (!($690)) { + $821 = HEAP32[$55>>2]|0; + $822 = HEAP32[$54>>2]|0; + $823 = ((($822)) + 34|0); + $824 = HEAP16[$823>>1]|0; + $825 = $824 << 16 >> 16; + $826 = ($821|0)<($825|0); + if (!($826)) { break L21; } - $691 = HEAP32[$pCol>>2]|0; - $692 = ((($691)) + 15|0); - $693 = HEAP8[$692>>0]|0; - $694 = $693&255; - $695 = $694 & 2; - $696 = ($695|0)!=(0); - if ($696) { - $697 = HEAP32[$nHidden>>2]|0; - $698 = (($697) + 1)|0; - HEAP32[$nHidden>>2] = $698; + $827 = HEAP32[$58>>2]|0; + $828 = ((($827)) + 15|0); + $829 = HEAP8[$828>>0]|0; + $830 = $829&255; + $831 = $830 & 2; + $832 = ($831|0)!=(0); + if ($832) { + $833 = HEAP32[$57>>2]|0; + $834 = (($833) + 1)|0; + HEAP32[$57>>2] = $834; } else { - $699 = HEAP32[$pCol>>2]|0; - $700 = ((($699)) + 15|0); - $701 = HEAP8[$700>>0]|0; - $702 = $701&255; - $703 = $702 & 1; - $704 = ($703|0)==(0); - L202: do { - if ($704) { - HEAP32[$k>>2] = 0; + $835 = HEAP32[$58>>2]|0; + $836 = ((($835)) + 15|0); + $837 = HEAP8[$836>>0]|0; + $838 = $837&255; + $839 = $838 & 1; + $840 = ($839|0)==(0); + L198: do { + if ($840) { + HEAP32[$56>>2] = 0; } else { - $705 = HEAP32[$pPk>>2]|0; - $706 = ($705|0)==(0|0); - HEAP32[$k>>2] = 1; - if ($706) { + $841 = HEAP32[$59>>2]|0; + $842 = ($841|0)==(0|0); + HEAP32[$56>>2] = 1; + if ($842) { break; } while(1) { - $707 = HEAP32[$k>>2]|0; - $708 = HEAP32[$pTab>>2]|0; - $709 = ((($708)) + 34|0); - $710 = HEAP16[$709>>1]|0; - $711 = $710 << 16 >> 16; - $712 = ($707|0)<=($711|0); - if (!($712)) { - break L202; + $843 = HEAP32[$56>>2]|0; + $844 = HEAP32[$54>>2]|0; + $845 = ((($844)) + 34|0); + $846 = HEAP16[$845>>1]|0; + $847 = $846 << 16 >> 16; + $848 = ($843|0)<=($847|0); + if (!($848)) { + break L198; } - $713 = HEAP32[$k>>2]|0; - $714 = (($713) - 1)|0; - $715 = HEAP32[$pPk>>2]|0; - $716 = ((($715)) + 4|0); - $717 = HEAP32[$716>>2]|0; - $718 = (($717) + ($714<<1)|0); - $719 = HEAP16[$718>>1]|0; - $720 = $719 << 16 >> 16; - $721 = HEAP32[$i>>2]|0; - $722 = ($720|0)!=($721|0); - if (!($722)) { - break L202; + $849 = HEAP32[$59>>2]|0; + $850 = ((($849)) + 4|0); + $851 = HEAP32[$850>>2]|0; + $852 = HEAP32[$56>>2]|0; + $853 = (($852) - 1)|0; + $854 = (($851) + ($853<<1)|0); + $855 = HEAP16[$854>>1]|0; + $856 = $855 << 16 >> 16; + $857 = HEAP32[$55>>2]|0; + $858 = ($856|0)!=($857|0); + if (!($858)) { + break L198; } - $723 = HEAP32[$k>>2]|0; - $724 = (($723) + 1)|0; - HEAP32[$k>>2] = $724; + $859 = HEAP32[$56>>2]|0; + $860 = (($859) + 1)|0; + HEAP32[$56>>2] = $860; } } } while(0); - $725 = HEAP32[$v>>2]|0; - $726 = HEAP32[$i>>2]|0; - $727 = HEAP32[$nHidden>>2]|0; - $728 = (($726) - ($727))|0; - $729 = HEAP32[$pCol>>2]|0; - $730 = HEAP32[$729>>2]|0; - $731 = HEAP32[$pCol>>2]|0; - $732 = (_sqlite3ColumnType($731,18402)|0); - $733 = HEAP32[$pCol>>2]|0; - $734 = ((($733)) + 12|0); - $735 = HEAP8[$734>>0]|0; - $736 = $735&255; - $737 = ($736|0)!=(0); - $738 = $737 ? 1 : 0; - $739 = HEAP32[$pCol>>2]|0; - $740 = ((($739)) + 4|0); - $741 = HEAP32[$740>>2]|0; - $742 = ($741|0)!=(0|0); - if ($742) { - $743 = HEAP32[$pCol>>2]|0; - $744 = ((($743)) + 4|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($745)) + 8|0); - $747 = HEAP32[$746>>2]|0; - $749 = $747; + $861 = HEAP32[$22>>2]|0; + $862 = HEAP32[$55>>2]|0; + $863 = HEAP32[$57>>2]|0; + $864 = (($862) - ($863))|0; + $865 = HEAP32[$58>>2]|0; + $866 = HEAP32[$865>>2]|0; + $867 = HEAP32[$58>>2]|0; + $868 = (_sqlite3ColumnType($867,55752)|0); + $869 = HEAP32[$58>>2]|0; + $870 = ((($869)) + 12|0); + $871 = HEAP8[$870>>0]|0; + $872 = $871&255; + $873 = ($872|0)!=(0); + $874 = $873 ? 1 : 0; + $875 = HEAP32[$58>>2]|0; + $876 = ((($875)) + 4|0); + $877 = HEAP32[$876>>2]|0; + $878 = ($877|0)!=(0|0); + if ($878) { + $879 = HEAP32[$58>>2]|0; + $880 = ((($879)) + 4|0); + $881 = HEAP32[$880>>2]|0; + $882 = ((($881)) + 8|0); + $883 = HEAP32[$882>>2]|0; + $885 = $883; } else { - $749 = 0; + $885 = 0; } - $748 = HEAP32[$k>>2]|0; - HEAP32[$vararg_buffer25>>2] = $728; - $vararg_ptr28 = ((($vararg_buffer25)) + 4|0); - HEAP32[$vararg_ptr28>>2] = $730; - $vararg_ptr29 = ((($vararg_buffer25)) + 8|0); - HEAP32[$vararg_ptr29>>2] = $732; - $vararg_ptr30 = ((($vararg_buffer25)) + 12|0); - HEAP32[$vararg_ptr30>>2] = $738; - $vararg_ptr31 = ((($vararg_buffer25)) + 16|0); - HEAP32[$vararg_ptr31>>2] = $749; - $vararg_ptr32 = ((($vararg_buffer25)) + 20|0); - HEAP32[$vararg_ptr32>>2] = $748; - _sqlite3VdbeMultiLoad($725,1,32423,$vararg_buffer25); - $750 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($750,87,1,6)|0); + $884 = HEAP32[$56>>2]|0; + HEAP32[$vararg_buffer30>>2] = $864; + $vararg_ptr33 = ((($vararg_buffer30)) + 4|0); + HEAP32[$vararg_ptr33>>2] = $866; + $vararg_ptr34 = ((($vararg_buffer30)) + 8|0); + HEAP32[$vararg_ptr34>>2] = $868; + $vararg_ptr35 = ((($vararg_buffer30)) + 12|0); + HEAP32[$vararg_ptr35>>2] = $874; + $vararg_ptr36 = ((($vararg_buffer30)) + 16|0); + HEAP32[$vararg_ptr36>>2] = $885; + $vararg_ptr37 = ((($vararg_buffer30)) + 20|0); + HEAP32[$vararg_ptr37>>2] = $884; + _sqlite3VdbeMultiLoad($861,1,31876,$vararg_buffer30); + $886 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($886,87,1,6)|0); } - $751 = HEAP32[$i>>2]|0; - $752 = (($751) + 1)|0; - HEAP32[$i>>2] = $752; - $753 = HEAP32[$pCol>>2]|0; - $754 = ((($753)) + 16|0); - HEAP32[$pCol>>2] = $754; + $887 = HEAP32[$55>>2]|0; + $888 = (($887) + 1)|0; + HEAP32[$55>>2] = $888; + $889 = HEAP32[$58>>2]|0; + $890 = ((($889)) + 16|0); + HEAP32[$58>>2] = $890; } break; } case 29: { - $755 = HEAP32[$0>>2]|0; - $756 = (_sqlite3GetVdbe($755)|0); - HEAP32[$v>>2] = $756; - $757 = HEAP32[$0>>2]|0; - $758 = ((($757)) + 44|0); - HEAP32[$758>>2] = 4; - $759 = HEAP32[$0>>2]|0; - $760 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($759,$760); - $761 = HEAP32[$v>>2]|0; - _setAllColumnNames($761,4,5196); - $762 = HEAP32[$pDb>>2]|0; - $763 = ((($762)) + 12|0); - $764 = HEAP32[$763>>2]|0; - $765 = ((($764)) + 8|0); - $766 = ((($765)) + 8|0); - $767 = HEAP32[$766>>2]|0; - HEAP32[$i12>>2] = $767; + $891 = HEAP32[$5>>2]|0; + $892 = (_sqlite3GetVdbe($891)|0); + HEAP32[$22>>2] = $892; + $893 = HEAP32[$5>>2]|0; + $894 = ((($893)) + 44|0); + HEAP32[$894>>2] = 4; + $895 = HEAP32[$5>>2]|0; + $896 = HEAP32[$15>>2]|0; + _sqlite3CodeVerifySchema($895,$896); + $897 = HEAP32[$22>>2]|0; + _setAllColumnNames($897,4,5216); + $898 = HEAP32[$21>>2]|0; + $899 = ((($898)) + 12|0); + $900 = HEAP32[$899>>2]|0; + $901 = ((($900)) + 8|0); + $902 = ((($901)) + 8|0); + $903 = HEAP32[$902>>2]|0; + HEAP32[$61>>2] = $903; while(1) { - $768 = HEAP32[$i12>>2]|0; - $769 = ($768|0)!=(0|0); - if (!($769)) { + $904 = HEAP32[$61>>2]|0; + $905 = ($904|0)!=(0|0); + if (!($905)) { break L21; } - $770 = HEAP32[$i12>>2]|0; - $771 = ((($770)) + 8|0); - $772 = HEAP32[$771>>2]|0; - HEAP32[$pTab13>>2] = $772; - $773 = HEAP32[$v>>2]|0; - $774 = HEAP32[$pTab13>>2]|0; - $775 = HEAP32[$774>>2]|0; - $776 = HEAP32[$pTab13>>2]|0; - $777 = ((($776)) + 40|0); - $778 = HEAP16[$777>>1]|0; - $779 = $778 << 16 >> 16; - $780 = HEAP32[$pTab13>>2]|0; - $781 = ((($780)) + 38|0); - $782 = HEAP16[$781>>1]|0; - $783 = $782 << 16 >> 16; - HEAP32[$vararg_buffer33>>2] = $775; - $vararg_ptr36 = ((($vararg_buffer33)) + 4|0); - HEAP32[$vararg_ptr36>>2] = 0; - $vararg_ptr37 = ((($vararg_buffer33)) + 8|0); - HEAP32[$vararg_ptr37>>2] = $779; - $vararg_ptr38 = ((($vararg_buffer33)) + 12|0); - HEAP32[$vararg_ptr38>>2] = $783; - _sqlite3VdbeMultiLoad($773,1,32430,$vararg_buffer33); - $784 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($784,87,1,4)|0); - $785 = HEAP32[$pTab13>>2]|0; - $786 = ((($785)) + 8|0); - $787 = HEAP32[$786>>2]|0; - HEAP32[$pIdx>>2] = $787; + $906 = HEAP32[$61>>2]|0; + $907 = ((($906)) + 8|0); + $908 = HEAP32[$907>>2]|0; + HEAP32[$62>>2] = $908; + $909 = HEAP32[$22>>2]|0; + $910 = HEAP32[$62>>2]|0; + $911 = HEAP32[$910>>2]|0; + $912 = HEAP32[$62>>2]|0; + $913 = ((($912)) + 40|0); + $914 = HEAP16[$913>>1]|0; + $915 = $914 << 16 >> 16; + $916 = HEAP32[$62>>2]|0; + $917 = ((($916)) + 38|0); + $918 = HEAP16[$917>>1]|0; + $919 = $918 << 16 >> 16; + HEAP32[$vararg_buffer38>>2] = $911; + $vararg_ptr41 = ((($vararg_buffer38)) + 4|0); + HEAP32[$vararg_ptr41>>2] = 0; + $vararg_ptr42 = ((($vararg_buffer38)) + 8|0); + HEAP32[$vararg_ptr42>>2] = $915; + $vararg_ptr43 = ((($vararg_buffer38)) + 12|0); + HEAP32[$vararg_ptr43>>2] = $919; + _sqlite3VdbeMultiLoad($909,1,31883,$vararg_buffer38); + $920 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($920,87,1,4)|0); + $921 = HEAP32[$62>>2]|0; + $922 = ((($921)) + 8|0); + $923 = HEAP32[$922>>2]|0; + HEAP32[$60>>2] = $923; while(1) { - $788 = HEAP32[$pIdx>>2]|0; - $789 = ($788|0)!=(0|0); - if (!($789)) { + $924 = HEAP32[$60>>2]|0; + $925 = ($924|0)!=(0|0); + if (!($925)) { break; } - $790 = HEAP32[$v>>2]|0; - $791 = HEAP32[$pIdx>>2]|0; - $792 = HEAP32[$791>>2]|0; - $793 = HEAP32[$pIdx>>2]|0; - $794 = ((($793)) + 48|0); - $795 = HEAP16[$794>>1]|0; - $796 = $795 << 16 >> 16; - $797 = HEAP32[$pIdx>>2]|0; - $798 = ((($797)) + 8|0); - $799 = HEAP32[$798>>2]|0; - $800 = HEAP16[$799>>1]|0; - $801 = $800 << 16 >> 16; - HEAP32[$vararg_buffer39>>2] = $792; - $vararg_ptr42 = ((($vararg_buffer39)) + 4|0); - HEAP32[$vararg_ptr42>>2] = $796; - $vararg_ptr43 = ((($vararg_buffer39)) + 8|0); - HEAP32[$vararg_ptr43>>2] = $801; - _sqlite3VdbeMultiLoad($790,2,32435,$vararg_buffer39); - $802 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($802,87,1,4)|0); - $803 = HEAP32[$pIdx>>2]|0; - $804 = ((($803)) + 20|0); - $805 = HEAP32[$804>>2]|0; - HEAP32[$pIdx>>2] = $805; + $926 = HEAP32[$22>>2]|0; + $927 = HEAP32[$60>>2]|0; + $928 = HEAP32[$927>>2]|0; + $929 = HEAP32[$60>>2]|0; + $930 = ((($929)) + 48|0); + $931 = HEAP16[$930>>1]|0; + $932 = $931 << 16 >> 16; + $933 = HEAP32[$60>>2]|0; + $934 = ((($933)) + 8|0); + $935 = HEAP32[$934>>2]|0; + $936 = HEAP16[$935>>1]|0; + $937 = $936 << 16 >> 16; + HEAP32[$vararg_buffer44>>2] = $928; + $vararg_ptr47 = ((($vararg_buffer44)) + 4|0); + HEAP32[$vararg_ptr47>>2] = $932; + $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); + HEAP32[$vararg_ptr48>>2] = $937; + _sqlite3VdbeMultiLoad($926,2,31888,$vararg_buffer44); + $938 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($938,87,1,4)|0); + $939 = HEAP32[$60>>2]|0; + $940 = ((($939)) + 20|0); + $941 = HEAP32[$940>>2]|0; + HEAP32[$60>>2] = $941; } - $806 = HEAP32[$i12>>2]|0; - $807 = HEAP32[$806>>2]|0; - HEAP32[$i12>>2] = $807; + $942 = HEAP32[$61>>2]|0; + $943 = HEAP32[$942>>2]|0; + HEAP32[$61>>2] = $943; } break; } case 16: { - $808 = HEAP32[$zRight>>2]|0; - $809 = ($808|0)!=(0|0); - if (!($809)) { + $944 = HEAP32[$11>>2]|0; + $945 = ($944|0)!=(0|0); + if (!($945)) { break L21; } - $810 = HEAP32[$db>>2]|0; - $811 = HEAP32[$zRight>>2]|0; - $812 = HEAP32[$zDb>>2]|0; - $813 = (_sqlite3FindIndex($810,$811,$812)|0); - HEAP32[$pIdx14>>2] = $813; - $814 = HEAP32[$pIdx14>>2]|0; - $815 = ($814|0)!=(0|0); - if (!($815)) { + $946 = HEAP32[$20>>2]|0; + $947 = HEAP32[$11>>2]|0; + $948 = HEAP32[$12>>2]|0; + $949 = (_sqlite3FindIndex($946,$947,$948)|0); + HEAP32[$63>>2] = $949; + $950 = HEAP32[$63>>2]|0; + $951 = ($950|0)!=(0|0); + if (!($951)) { break L21; } - $816 = HEAP32[$pPragma>>2]|0; - $817 = ((($816)) + 8|0); - $818 = HEAP32[$817>>2]|0; - $819 = ($818|0)!=(0); - $820 = HEAP32[$pIdx14>>2]|0; - if ($819) { - $821 = ((($820)) + 52|0); - $822 = HEAP16[$821>>1]|0; - $823 = $822&65535; - HEAP32[$mx>>2] = $823; - $824 = HEAP32[$0>>2]|0; - $825 = ((($824)) + 44|0); - HEAP32[$825>>2] = 6; + $952 = HEAP32[$23>>2]|0; + $953 = ((($952)) + 8|0); + $954 = HEAP32[$953>>2]|0; + $955 = ($954|0)!=(0); + $956 = HEAP32[$63>>2]|0; + if ($955) { + $957 = ((($956)) + 52|0); + $958 = HEAP16[$957>>1]|0; + $959 = $958&65535; + HEAP32[$66>>2] = $959; + $960 = HEAP32[$5>>2]|0; + $$sink11 = 6;$$sink13 = $960; } else { - $826 = ((($820)) + 50|0); - $827 = HEAP16[$826>>1]|0; - $828 = $827&65535; - HEAP32[$mx>>2] = $828; - $829 = HEAP32[$0>>2]|0; - $830 = ((($829)) + 44|0); - HEAP32[$830>>2] = 3; + $961 = ((($956)) + 50|0); + $962 = HEAP16[$961>>1]|0; + $963 = $962&65535; + HEAP32[$66>>2] = $963; + $964 = HEAP32[$5>>2]|0; + $$sink11 = 3;$$sink13 = $964; } - $831 = HEAP32[$pIdx14>>2]|0; - $832 = ((($831)) + 12|0); - $833 = HEAP32[$832>>2]|0; - HEAP32[$pTab15>>2] = $833; - $834 = HEAP32[$0>>2]|0; - $835 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($834,$835); - $836 = HEAP32[$v>>2]|0; - $837 = HEAP32[$0>>2]|0; - $838 = ((($837)) + 44|0); - $839 = HEAP32[$838>>2]|0; - _setAllColumnNames($836,$839,5212); - HEAP32[$i16>>2] = 0; + $965 = ((($$sink13)) + 44|0); + HEAP32[$965>>2] = $$sink11; + $966 = HEAP32[$63>>2]|0; + $967 = ((($966)) + 12|0); + $968 = HEAP32[$967>>2]|0; + HEAP32[$64>>2] = $968; + $969 = HEAP32[$5>>2]|0; + $970 = HEAP32[$15>>2]|0; + _sqlite3CodeVerifySchema($969,$970); + $971 = HEAP32[$22>>2]|0; + $972 = HEAP32[$5>>2]|0; + $973 = ((($972)) + 44|0); + $974 = HEAP32[$973>>2]|0; + _setAllColumnNames($971,$974,5232); + HEAP32[$65>>2] = 0; while(1) { - $840 = HEAP32[$i16>>2]|0; - $841 = HEAP32[$mx>>2]|0; - $842 = ($840|0)<($841|0); - if (!($842)) { + $975 = HEAP32[$65>>2]|0; + $976 = HEAP32[$66>>2]|0; + $977 = ($975|0)<($976|0); + if (!($977)) { break L21; } - $843 = HEAP32[$i16>>2]|0; - $844 = HEAP32[$pIdx14>>2]|0; - $845 = ((($844)) + 4|0); - $846 = HEAP32[$845>>2]|0; - $847 = (($846) + ($843<<1)|0); - $848 = HEAP16[$847>>1]|0; - HEAP16[$cnum>>1] = $848; - $849 = HEAP32[$v>>2]|0; - $850 = HEAP32[$i16>>2]|0; - $851 = HEAP16[$cnum>>1]|0; - $852 = $851 << 16 >> 16; - $853 = HEAP16[$cnum>>1]|0; - $854 = $853 << 16 >> 16; - $855 = ($854|0)<(0); - if ($855) { - $863 = 0; + $978 = HEAP32[$63>>2]|0; + $979 = ((($978)) + 4|0); + $980 = HEAP32[$979>>2]|0; + $981 = HEAP32[$65>>2]|0; + $982 = (($980) + ($981<<1)|0); + $983 = HEAP16[$982>>1]|0; + HEAP16[$67>>1] = $983; + $984 = HEAP32[$22>>2]|0; + $985 = HEAP32[$65>>2]|0; + $986 = HEAP16[$67>>1]|0; + $987 = $986 << 16 >> 16; + $988 = HEAP16[$67>>1]|0; + $989 = $988 << 16 >> 16; + $990 = ($989|0)<(0); + if ($990) { + $998 = 0; } else { - $856 = HEAP16[$cnum>>1]|0; - $857 = $856 << 16 >> 16; - $858 = HEAP32[$pTab15>>2]|0; - $859 = ((($858)) + 4|0); - $860 = HEAP32[$859>>2]|0; - $861 = (($860) + ($857<<4)|0); - $862 = HEAP32[$861>>2]|0; - $863 = $862; + $991 = HEAP32[$64>>2]|0; + $992 = ((($991)) + 4|0); + $993 = HEAP32[$992>>2]|0; + $994 = HEAP16[$67>>1]|0; + $995 = $994 << 16 >> 16; + $996 = (($993) + ($995<<4)|0); + $997 = HEAP32[$996>>2]|0; + $998 = $997; } - HEAP32[$vararg_buffer44>>2] = $850; - $vararg_ptr47 = ((($vararg_buffer44)) + 4|0); - HEAP32[$vararg_ptr47>>2] = $852; - $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); - HEAP32[$vararg_ptr48>>2] = $863; - _sqlite3VdbeMultiLoad($849,1,32439,$vararg_buffer44); - $864 = HEAP32[$pPragma>>2]|0; - $865 = ((($864)) + 8|0); - $866 = HEAP32[$865>>2]|0; - $867 = ($866|0)!=(0); - if ($867) { - $868 = HEAP32[$v>>2]|0; - $869 = HEAP32[$i16>>2]|0; - $870 = HEAP32[$pIdx14>>2]|0; - $871 = ((($870)) + 28|0); - $872 = HEAP32[$871>>2]|0; - $873 = (($872) + ($869)|0); - $874 = HEAP8[$873>>0]|0; - $875 = $874&255; - $876 = HEAP32[$i16>>2]|0; - $877 = HEAP32[$pIdx14>>2]|0; - $878 = ((($877)) + 32|0); - $879 = HEAP32[$878>>2]|0; - $880 = (($879) + ($876<<2)|0); - $881 = HEAP32[$880>>2]|0; - $882 = HEAP32[$i16>>2]|0; - $883 = HEAP32[$pIdx14>>2]|0; - $884 = ((($883)) + 50|0); - $885 = HEAP16[$884>>1]|0; - $886 = $885&65535; - $887 = ($882|0)<($886|0); - $888 = $887&1; - HEAP32[$vararg_buffer49>>2] = $875; - $vararg_ptr52 = ((($vararg_buffer49)) + 4|0); - HEAP32[$vararg_ptr52>>2] = $881; - $vararg_ptr53 = ((($vararg_buffer49)) + 8|0); - HEAP32[$vararg_ptr53>>2] = $888; - _sqlite3VdbeMultiLoad($868,4,32443,$vararg_buffer49); + HEAP32[$vararg_buffer49>>2] = $985; + $vararg_ptr52 = ((($vararg_buffer49)) + 4|0); + HEAP32[$vararg_ptr52>>2] = $987; + $vararg_ptr53 = ((($vararg_buffer49)) + 8|0); + HEAP32[$vararg_ptr53>>2] = $998; + _sqlite3VdbeMultiLoad($984,1,31892,$vararg_buffer49); + $999 = HEAP32[$23>>2]|0; + $1000 = ((($999)) + 8|0); + $1001 = HEAP32[$1000>>2]|0; + $1002 = ($1001|0)!=(0); + if ($1002) { + $1003 = HEAP32[$22>>2]|0; + $1004 = HEAP32[$63>>2]|0; + $1005 = ((($1004)) + 28|0); + $1006 = HEAP32[$1005>>2]|0; + $1007 = HEAP32[$65>>2]|0; + $1008 = (($1006) + ($1007)|0); + $1009 = HEAP8[$1008>>0]|0; + $1010 = $1009&255; + $1011 = HEAP32[$63>>2]|0; + $1012 = ((($1011)) + 32|0); + $1013 = HEAP32[$1012>>2]|0; + $1014 = HEAP32[$65>>2]|0; + $1015 = (($1013) + ($1014<<2)|0); + $1016 = HEAP32[$1015>>2]|0; + $1017 = HEAP32[$65>>2]|0; + $1018 = HEAP32[$63>>2]|0; + $1019 = ((($1018)) + 50|0); + $1020 = HEAP16[$1019>>1]|0; + $1021 = $1020&65535; + $1022 = ($1017|0)<($1021|0); + $1023 = $1022&1; + HEAP32[$vararg_buffer54>>2] = $1010; + $vararg_ptr57 = ((($vararg_buffer54)) + 4|0); + HEAP32[$vararg_ptr57>>2] = $1016; + $vararg_ptr58 = ((($vararg_buffer54)) + 8|0); + HEAP32[$vararg_ptr58>>2] = $1023; + _sqlite3VdbeMultiLoad($1003,4,31896,$vararg_buffer54); } - $889 = HEAP32[$v>>2]|0; - $890 = HEAP32[$0>>2]|0; - $891 = ((($890)) + 44|0); - $892 = HEAP32[$891>>2]|0; - (_sqlite3VdbeAddOp2($889,87,1,$892)|0); - $893 = HEAP32[$i16>>2]|0; - $894 = (($893) + 1)|0; - HEAP32[$i16>>2] = $894; + $1024 = HEAP32[$22>>2]|0; + $1025 = HEAP32[$5>>2]|0; + $1026 = ((($1025)) + 44|0); + $1027 = HEAP32[$1026>>2]|0; + (_sqlite3VdbeAddOp2($1024,87,1,$1027)|0); + $1028 = HEAP32[$65>>2]|0; + $1029 = (($1028) + 1)|0; + HEAP32[$65>>2] = $1029; } break; } case 17: { - $895 = HEAP32[$zRight>>2]|0; - $896 = ($895|0)!=(0|0); - if (!($896)) { + $1030 = HEAP32[$11>>2]|0; + $1031 = ($1030|0)!=(0|0); + if (!($1031)) { break L21; } - $897 = HEAP32[$db>>2]|0; - $898 = HEAP32[$zRight>>2]|0; - $899 = HEAP32[$zDb>>2]|0; - $900 = (_sqlite3FindTable($897,$898,$899)|0); - HEAP32[$pTab18>>2] = $900; - $901 = HEAP32[$pTab18>>2]|0; - $902 = ($901|0)!=(0|0); - if (!($902)) { + $1032 = HEAP32[$20>>2]|0; + $1033 = HEAP32[$11>>2]|0; + $1034 = HEAP32[$12>>2]|0; + $1035 = (_sqlite3FindTable($1032,$1033,$1034)|0); + HEAP32[$69>>2] = $1035; + $1036 = HEAP32[$69>>2]|0; + $1037 = ($1036|0)!=(0|0); + if (!($1037)) { break L21; } - $903 = HEAP32[$0>>2]|0; - $904 = (_sqlite3GetVdbe($903)|0); - HEAP32[$v>>2] = $904; - $905 = HEAP32[$0>>2]|0; - $906 = ((($905)) + 44|0); - HEAP32[$906>>2] = 5; - $907 = HEAP32[$0>>2]|0; - $908 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($907,$908); - $909 = HEAP32[$v>>2]|0; - _setAllColumnNames($909,5,5236); - $910 = HEAP32[$pTab18>>2]|0; - $911 = ((($910)) + 8|0); - $912 = HEAP32[$911>>2]|0; - HEAP32[$pIdx17>>2] = $912; - HEAP32[$i19>>2] = 0; + $1038 = HEAP32[$5>>2]|0; + $1039 = (_sqlite3GetVdbe($1038)|0); + HEAP32[$22>>2] = $1039; + $1040 = HEAP32[$5>>2]|0; + $1041 = ((($1040)) + 44|0); + HEAP32[$1041>>2] = 5; + $1042 = HEAP32[$5>>2]|0; + $1043 = HEAP32[$15>>2]|0; + _sqlite3CodeVerifySchema($1042,$1043); + $1044 = HEAP32[$22>>2]|0; + _setAllColumnNames($1044,5,5256); + $1045 = HEAP32[$69>>2]|0; + $1046 = ((($1045)) + 8|0); + $1047 = HEAP32[$1046>>2]|0; + HEAP32[$68>>2] = $1047; + HEAP32[$70>>2] = 0; while(1) { - $913 = HEAP32[$pIdx17>>2]|0; - $914 = ($913|0)!=(0|0); - if (!($914)) { + $1048 = HEAP32[$68>>2]|0; + $1049 = ($1048|0)!=(0|0); + if (!($1049)) { break L21; } - ;HEAP32[$azOrigin>>2]=HEAP32[5256>>2]|0;HEAP32[$azOrigin+4>>2]=HEAP32[5256+4>>2]|0;HEAP32[$azOrigin+8>>2]=HEAP32[5256+8>>2]|0; - $915 = HEAP32[$v>>2]|0; - $916 = HEAP32[$i19>>2]|0; - $917 = HEAP32[$pIdx17>>2]|0; - $918 = HEAP32[$917>>2]|0; - $919 = HEAP32[$pIdx17>>2]|0; - $920 = ((($919)) + 54|0); - $921 = HEAP8[$920>>0]|0; - $922 = $921&255; - $923 = ($922|0)!=(0); - $924 = $923&1; - $925 = HEAP32[$pIdx17>>2]|0; - $926 = ((($925)) + 55|0); - $927 = HEAP8[$926>>0]|0; - $928 = $927 & 3; - $929 = $928&255; - $930 = (($azOrigin) + ($929<<2)|0); - $931 = HEAP32[$930>>2]|0; - $932 = HEAP32[$pIdx17>>2]|0; - $933 = ((($932)) + 36|0); - $934 = HEAP32[$933>>2]|0; - $935 = ($934|0)!=(0|0); - $936 = $935&1; - HEAP32[$vararg_buffer54>>2] = $916; - $vararg_ptr57 = ((($vararg_buffer54)) + 4|0); - HEAP32[$vararg_ptr57>>2] = $918; - $vararg_ptr58 = ((($vararg_buffer54)) + 8|0); - HEAP32[$vararg_ptr58>>2] = $924; - $vararg_ptr59 = ((($vararg_buffer54)) + 12|0); - HEAP32[$vararg_ptr59>>2] = $931; - $vararg_ptr60 = ((($vararg_buffer54)) + 16|0); - HEAP32[$vararg_ptr60>>2] = $936; - _sqlite3VdbeMultiLoad($915,1,32447,$vararg_buffer54); - $937 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($937,87,1,5)|0); - $938 = HEAP32[$pIdx17>>2]|0; - $939 = ((($938)) + 20|0); - $940 = HEAP32[$939>>2]|0; - HEAP32[$pIdx17>>2] = $940; - $941 = HEAP32[$i19>>2]|0; - $942 = (($941) + 1)|0; - HEAP32[$i19>>2] = $942; + ;HEAP32[$71>>2]=HEAP32[5276>>2]|0;HEAP32[$71+4>>2]=HEAP32[5276+4>>2]|0;HEAP32[$71+8>>2]=HEAP32[5276+8>>2]|0; + $1050 = HEAP32[$22>>2]|0; + $1051 = HEAP32[$70>>2]|0; + $1052 = HEAP32[$68>>2]|0; + $1053 = HEAP32[$1052>>2]|0; + $1054 = HEAP32[$68>>2]|0; + $1055 = ((($1054)) + 54|0); + $1056 = HEAP8[$1055>>0]|0; + $1057 = $1056&255; + $1058 = ($1057|0)!=(0); + $1059 = $1058&1; + $1060 = HEAP32[$68>>2]|0; + $1061 = ((($1060)) + 55|0); + $1062 = HEAP8[$1061>>0]|0; + $1063 = $1062 & 3; + $1064 = $1063&255; + $1065 = (($71) + ($1064<<2)|0); + $1066 = HEAP32[$1065>>2]|0; + $1067 = HEAP32[$68>>2]|0; + $1068 = ((($1067)) + 36|0); + $1069 = HEAP32[$1068>>2]|0; + $1070 = ($1069|0)!=(0|0); + $1071 = $1070&1; + HEAP32[$vararg_buffer59>>2] = $1051; + $vararg_ptr62 = ((($vararg_buffer59)) + 4|0); + HEAP32[$vararg_ptr62>>2] = $1053; + $vararg_ptr63 = ((($vararg_buffer59)) + 8|0); + HEAP32[$vararg_ptr63>>2] = $1059; + $vararg_ptr64 = ((($vararg_buffer59)) + 12|0); + HEAP32[$vararg_ptr64>>2] = $1066; + $vararg_ptr65 = ((($vararg_buffer59)) + 16|0); + HEAP32[$vararg_ptr65>>2] = $1071; + _sqlite3VdbeMultiLoad($1050,1,31900,$vararg_buffer59); + $1072 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1072,87,1,5)|0); + $1073 = HEAP32[$68>>2]|0; + $1074 = ((($1073)) + 20|0); + $1075 = HEAP32[$1074>>2]|0; + HEAP32[$68>>2] = $1075; + $1076 = HEAP32[$70>>2]|0; + $1077 = (($1076) + 1)|0; + HEAP32[$70>>2] = $1077; } break; } case 10: { - $943 = HEAP32[$0>>2]|0; - $944 = ((($943)) + 44|0); - HEAP32[$944>>2] = 3; - $945 = HEAP32[$v>>2]|0; - _setAllColumnNames($945,3,5268); - HEAP32[$i20>>2] = 0; + $1078 = HEAP32[$5>>2]|0; + $1079 = ((($1078)) + 44|0); + HEAP32[$1079>>2] = 3; + $1080 = HEAP32[$22>>2]|0; + _setAllColumnNames($1080,3,5288); + HEAP32[$72>>2] = 0; while(1) { - $946 = HEAP32[$i20>>2]|0; - $947 = HEAP32[$db>>2]|0; - $948 = ((($947)) + 20|0); - $949 = HEAP32[$948>>2]|0; - $950 = ($946|0)<($949|0); - if (!($950)) { + $1081 = HEAP32[$72>>2]|0; + $1082 = HEAP32[$20>>2]|0; + $1083 = ((($1082)) + 20|0); + $1084 = HEAP32[$1083>>2]|0; + $1085 = ($1081|0)<($1084|0); + if (!($1085)) { break L21; } - $951 = HEAP32[$i20>>2]|0; - $952 = HEAP32[$db>>2]|0; - $953 = ((($952)) + 16|0); - $954 = HEAP32[$953>>2]|0; - $955 = (($954) + ($951<<4)|0); - $956 = ((($955)) + 4|0); - $957 = HEAP32[$956>>2]|0; - $958 = ($957|0)==(0|0); - if (!($958)) { - $959 = HEAP32[$v>>2]|0; - $960 = HEAP32[$i20>>2]|0; - $961 = HEAP32[$i20>>2]|0; - $962 = HEAP32[$db>>2]|0; - $963 = ((($962)) + 16|0); - $964 = HEAP32[$963>>2]|0; - $965 = (($964) + ($961<<4)|0); - $966 = HEAP32[$965>>2]|0; - $967 = HEAP32[$i20>>2]|0; - $968 = HEAP32[$db>>2]|0; - $969 = ((($968)) + 16|0); - $970 = HEAP32[$969>>2]|0; - $971 = (($970) + ($967<<4)|0); - $972 = ((($971)) + 4|0); - $973 = HEAP32[$972>>2]|0; - $974 = (_sqlite3BtreeGetFilename($973)|0); - HEAP32[$vararg_buffer61>>2] = $960; - $vararg_ptr64 = ((($vararg_buffer61)) + 4|0); - HEAP32[$vararg_ptr64>>2] = $966; - $vararg_ptr65 = ((($vararg_buffer61)) + 8|0); - HEAP32[$vararg_ptr65>>2] = $974; - _sqlite3VdbeMultiLoad($959,1,32453,$vararg_buffer61); - $975 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($975,87,1,3)|0); + $1086 = HEAP32[$20>>2]|0; + $1087 = ((($1086)) + 16|0); + $1088 = HEAP32[$1087>>2]|0; + $1089 = HEAP32[$72>>2]|0; + $1090 = (($1088) + ($1089<<4)|0); + $1091 = ((($1090)) + 4|0); + $1092 = HEAP32[$1091>>2]|0; + $1093 = ($1092|0)==(0|0); + if (!($1093)) { + $1094 = HEAP32[$22>>2]|0; + $1095 = HEAP32[$72>>2]|0; + $1096 = HEAP32[$20>>2]|0; + $1097 = ((($1096)) + 16|0); + $1098 = HEAP32[$1097>>2]|0; + $1099 = HEAP32[$72>>2]|0; + $1100 = (($1098) + ($1099<<4)|0); + $1101 = HEAP32[$1100>>2]|0; + $1102 = HEAP32[$20>>2]|0; + $1103 = ((($1102)) + 16|0); + $1104 = HEAP32[$1103>>2]|0; + $1105 = HEAP32[$72>>2]|0; + $1106 = (($1104) + ($1105<<4)|0); + $1107 = ((($1106)) + 4|0); + $1108 = HEAP32[$1107>>2]|0; + $1109 = (_sqlite3BtreeGetFilename($1108)|0); + HEAP32[$vararg_buffer66>>2] = $1095; + $vararg_ptr69 = ((($vararg_buffer66)) + 4|0); + HEAP32[$vararg_ptr69>>2] = $1101; + $vararg_ptr70 = ((($vararg_buffer66)) + 8|0); + HEAP32[$vararg_ptr70>>2] = $1109; + _sqlite3VdbeMultiLoad($1094,1,31906,$vararg_buffer66); + $1110 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1110,87,1,3)|0); } - $976 = HEAP32[$i20>>2]|0; - $977 = (($976) + 1)|0; - HEAP32[$i20>>2] = $977; + $1111 = HEAP32[$72>>2]|0; + $1112 = (($1111) + 1)|0; + HEAP32[$72>>2] = $1112; } break; } case 7: { - HEAP32[$i21>>2] = 0; - $978 = HEAP32[$0>>2]|0; - $979 = ((($978)) + 44|0); - HEAP32[$979>>2] = 2; - $980 = HEAP32[$v>>2]|0; - _setAllColumnNames($980,2,5280); - $981 = HEAP32[$db>>2]|0; - $982 = ((($981)) + 364|0); - $983 = ((($982)) + 8|0); - $984 = HEAP32[$983>>2]|0; - HEAP32[$p>>2] = $984; + HEAP32[$73>>2] = 0; + $1113 = HEAP32[$5>>2]|0; + $1114 = ((($1113)) + 44|0); + HEAP32[$1114>>2] = 2; + $1115 = HEAP32[$22>>2]|0; + _setAllColumnNames($1115,2,5300); + $1116 = HEAP32[$20>>2]|0; + $1117 = ((($1116)) + 364|0); + $1118 = ((($1117)) + 8|0); + $1119 = HEAP32[$1118>>2]|0; + HEAP32[$74>>2] = $1119; while(1) { - $985 = HEAP32[$p>>2]|0; - $986 = ($985|0)!=(0|0); - if (!($986)) { + $1120 = HEAP32[$74>>2]|0; + $1121 = ($1120|0)!=(0|0); + if (!($1121)) { break L21; } - $987 = HEAP32[$p>>2]|0; - $988 = ((($987)) + 8|0); - $989 = HEAP32[$988>>2]|0; - HEAP32[$pColl>>2] = $989; - $990 = HEAP32[$v>>2]|0; - $991 = HEAP32[$i21>>2]|0; - $992 = (($991) + 1)|0; - HEAP32[$i21>>2] = $992; - $993 = HEAP32[$pColl>>2]|0; - $994 = HEAP32[$993>>2]|0; - HEAP32[$vararg_buffer66>>2] = $991; - $vararg_ptr69 = ((($vararg_buffer66)) + 4|0); - HEAP32[$vararg_ptr69>>2] = $994; - _sqlite3VdbeMultiLoad($990,1,32457,$vararg_buffer66); - $995 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($995,87,1,2)|0); - $996 = HEAP32[$p>>2]|0; - $997 = HEAP32[$996>>2]|0; - HEAP32[$p>>2] = $997; + $1122 = HEAP32[$74>>2]|0; + $1123 = ((($1122)) + 8|0); + $1124 = HEAP32[$1123>>2]|0; + HEAP32[$75>>2] = $1124; + $1125 = HEAP32[$22>>2]|0; + $1126 = HEAP32[$73>>2]|0; + $1127 = (($1126) + 1)|0; + HEAP32[$73>>2] = $1127; + $1128 = HEAP32[$75>>2]|0; + $1129 = HEAP32[$1128>>2]|0; + HEAP32[$vararg_buffer71>>2] = $1126; + $vararg_ptr74 = ((($vararg_buffer71)) + 4|0); + HEAP32[$vararg_ptr74>>2] = $1129; + _sqlite3VdbeMultiLoad($1125,1,31910,$vararg_buffer71); + $1130 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1130,87,1,2)|0); + $1131 = HEAP32[$74>>2]|0; + $1132 = HEAP32[$1131>>2]|0; + HEAP32[$74>>2] = $1132; } break; } case 14: { - $998 = HEAP32[$zRight>>2]|0; - $999 = ($998|0)!=(0|0); - if (!($999)) { + $1133 = HEAP32[$11>>2]|0; + $1134 = ($1133|0)!=(0|0); + if (!($1134)) { break L21; } - $1000 = HEAP32[$db>>2]|0; - $1001 = HEAP32[$zRight>>2]|0; - $1002 = HEAP32[$zDb>>2]|0; - $1003 = (_sqlite3FindTable($1000,$1001,$1002)|0); - HEAP32[$pTab22>>2] = $1003; - $1004 = HEAP32[$pTab22>>2]|0; - $1005 = ($1004|0)!=(0|0); - if (!($1005)) { + $1135 = HEAP32[$20>>2]|0; + $1136 = HEAP32[$11>>2]|0; + $1137 = HEAP32[$12>>2]|0; + $1138 = (_sqlite3FindTable($1135,$1136,$1137)|0); + HEAP32[$77>>2] = $1138; + $1139 = HEAP32[$77>>2]|0; + $1140 = ($1139|0)!=(0|0); + if (!($1140)) { break L21; } - $1006 = HEAP32[$0>>2]|0; - $1007 = (_sqlite3GetVdbe($1006)|0); - HEAP32[$v>>2] = $1007; - $1008 = HEAP32[$pTab22>>2]|0; - $1009 = ((($1008)) + 16|0); - $1010 = HEAP32[$1009>>2]|0; - HEAP32[$pFK>>2] = $1010; - $1011 = HEAP32[$pFK>>2]|0; - $1012 = ($1011|0)!=(0|0); - if (!($1012)) { + $1141 = HEAP32[$5>>2]|0; + $1142 = (_sqlite3GetVdbe($1141)|0); + HEAP32[$22>>2] = $1142; + $1143 = HEAP32[$77>>2]|0; + $1144 = ((($1143)) + 16|0); + $1145 = HEAP32[$1144>>2]|0; + HEAP32[$76>>2] = $1145; + $1146 = HEAP32[$76>>2]|0; + $1147 = ($1146|0)!=(0|0); + if (!($1147)) { break L21; } - HEAP32[$i23>>2] = 0; - $1013 = HEAP32[$0>>2]|0; - $1014 = ((($1013)) + 44|0); - HEAP32[$1014>>2] = 8; - $1015 = HEAP32[$0>>2]|0; - $1016 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($1015,$1016); - $1017 = HEAP32[$v>>2]|0; - _setAllColumnNames($1017,8,5288); + HEAP32[$78>>2] = 0; + $1148 = HEAP32[$5>>2]|0; + $1149 = ((($1148)) + 44|0); + HEAP32[$1149>>2] = 8; + $1150 = HEAP32[$5>>2]|0; + $1151 = HEAP32[$15>>2]|0; + _sqlite3CodeVerifySchema($1150,$1151); + $1152 = HEAP32[$22>>2]|0; + _setAllColumnNames($1152,8,5308); while(1) { - $1018 = HEAP32[$pFK>>2]|0; - $1019 = ($1018|0)!=(0|0); - if (!($1019)) { + $1153 = HEAP32[$76>>2]|0; + $1154 = ($1153|0)!=(0|0); + if (!($1154)) { break L21; } - HEAP32[$j>>2] = 0; + HEAP32[$79>>2] = 0; while(1) { - $1020 = HEAP32[$j>>2]|0; - $1021 = HEAP32[$pFK>>2]|0; - $1022 = ((($1021)) + 20|0); - $1023 = HEAP32[$1022>>2]|0; - $1024 = ($1020|0)<($1023|0); - if (!($1024)) { + $1155 = HEAP32[$79>>2]|0; + $1156 = HEAP32[$76>>2]|0; + $1157 = ((($1156)) + 20|0); + $1158 = HEAP32[$1157>>2]|0; + $1159 = ($1155|0)<($1158|0); + if (!($1159)) { break; } - $1025 = HEAP32[$v>>2]|0; - $1026 = HEAP32[$i23>>2]|0; - $1027 = HEAP32[$j>>2]|0; - $1028 = HEAP32[$pFK>>2]|0; - $1029 = ((($1028)) + 8|0); - $1030 = HEAP32[$1029>>2]|0; - $1031 = HEAP32[$j>>2]|0; - $1032 = HEAP32[$pFK>>2]|0; - $1033 = ((($1032)) + 36|0); - $1034 = (($1033) + ($1031<<3)|0); - $1035 = HEAP32[$1034>>2]|0; - $1036 = HEAP32[$pTab22>>2]|0; - $1037 = ((($1036)) + 4|0); - $1038 = HEAP32[$1037>>2]|0; - $1039 = (($1038) + ($1035<<4)|0); - $1040 = HEAP32[$1039>>2]|0; - $1041 = HEAP32[$j>>2]|0; - $1042 = HEAP32[$pFK>>2]|0; - $1043 = ((($1042)) + 36|0); - $1044 = (($1043) + ($1041<<3)|0); - $1045 = ((($1044)) + 4|0); - $1046 = HEAP32[$1045>>2]|0; - $1047 = HEAP32[$pFK>>2]|0; - $1048 = ((($1047)) + 25|0); - $1049 = ((($1048)) + 1|0); - $1050 = HEAP8[$1049>>0]|0; - $1051 = (_actionName($1050)|0); - $1052 = HEAP32[$pFK>>2]|0; - $1053 = ((($1052)) + 25|0); - $1054 = HEAP8[$1053>>0]|0; - $1055 = (_actionName($1054)|0); - HEAP32[$vararg_buffer70>>2] = $1026; - $vararg_ptr73 = ((($vararg_buffer70)) + 4|0); - HEAP32[$vararg_ptr73>>2] = $1027; - $vararg_ptr74 = ((($vararg_buffer70)) + 8|0); - HEAP32[$vararg_ptr74>>2] = $1030; - $vararg_ptr75 = ((($vararg_buffer70)) + 12|0); - HEAP32[$vararg_ptr75>>2] = $1040; - $vararg_ptr76 = ((($vararg_buffer70)) + 16|0); - HEAP32[$vararg_ptr76>>2] = $1046; - $vararg_ptr77 = ((($vararg_buffer70)) + 20|0); - HEAP32[$vararg_ptr77>>2] = $1051; - $vararg_ptr78 = ((($vararg_buffer70)) + 24|0); - HEAP32[$vararg_ptr78>>2] = $1055; - $vararg_ptr79 = ((($vararg_buffer70)) + 28|0); - HEAP32[$vararg_ptr79>>2] = 32469; - _sqlite3VdbeMultiLoad($1025,1,32460,$vararg_buffer70); - $1056 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1056,87,1,8)|0); - $1057 = HEAP32[$j>>2]|0; - $1058 = (($1057) + 1)|0; - HEAP32[$j>>2] = $1058; + $1160 = HEAP32[$22>>2]|0; + $1161 = HEAP32[$78>>2]|0; + $1162 = HEAP32[$79>>2]|0; + $1163 = HEAP32[$76>>2]|0; + $1164 = ((($1163)) + 8|0); + $1165 = HEAP32[$1164>>2]|0; + $1166 = HEAP32[$77>>2]|0; + $1167 = ((($1166)) + 4|0); + $1168 = HEAP32[$1167>>2]|0; + $1169 = HEAP32[$76>>2]|0; + $1170 = ((($1169)) + 36|0); + $1171 = HEAP32[$79>>2]|0; + $1172 = (($1170) + ($1171<<3)|0); + $1173 = HEAP32[$1172>>2]|0; + $1174 = (($1168) + ($1173<<4)|0); + $1175 = HEAP32[$1174>>2]|0; + $1176 = HEAP32[$76>>2]|0; + $1177 = ((($1176)) + 36|0); + $1178 = HEAP32[$79>>2]|0; + $1179 = (($1177) + ($1178<<3)|0); + $1180 = ((($1179)) + 4|0); + $1181 = HEAP32[$1180>>2]|0; + $1182 = HEAP32[$76>>2]|0; + $1183 = ((($1182)) + 25|0); + $1184 = ((($1183)) + 1|0); + $1185 = HEAP8[$1184>>0]|0; + $1186 = (_actionName($1185)|0); + $1187 = HEAP32[$76>>2]|0; + $1188 = ((($1187)) + 25|0); + $1189 = HEAP8[$1188>>0]|0; + $1190 = (_actionName($1189)|0); + HEAP32[$vararg_buffer75>>2] = $1161; + $vararg_ptr78 = ((($vararg_buffer75)) + 4|0); + HEAP32[$vararg_ptr78>>2] = $1162; + $vararg_ptr79 = ((($vararg_buffer75)) + 8|0); + HEAP32[$vararg_ptr79>>2] = $1165; + $vararg_ptr80 = ((($vararg_buffer75)) + 12|0); + HEAP32[$vararg_ptr80>>2] = $1175; + $vararg_ptr81 = ((($vararg_buffer75)) + 16|0); + HEAP32[$vararg_ptr81>>2] = $1181; + $vararg_ptr82 = ((($vararg_buffer75)) + 20|0); + HEAP32[$vararg_ptr82>>2] = $1186; + $vararg_ptr83 = ((($vararg_buffer75)) + 24|0); + HEAP32[$vararg_ptr83>>2] = $1190; + $vararg_ptr84 = ((($vararg_buffer75)) + 28|0); + HEAP32[$vararg_ptr84>>2] = 31922; + _sqlite3VdbeMultiLoad($1160,1,31913,$vararg_buffer75); + $1191 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1191,87,1,8)|0); + $1192 = HEAP32[$79>>2]|0; + $1193 = (($1192) + 1)|0; + HEAP32[$79>>2] = $1193; } - $1059 = HEAP32[$i23>>2]|0; - $1060 = (($1059) + 1)|0; - HEAP32[$i23>>2] = $1060; - $1061 = HEAP32[$pFK>>2]|0; - $1062 = ((($1061)) + 4|0); - $1063 = HEAP32[$1062>>2]|0; - HEAP32[$pFK>>2] = $1063; + $1194 = HEAP32[$78>>2]|0; + $1195 = (($1194) + 1)|0; + HEAP32[$78>>2] = $1195; + $1196 = HEAP32[$76>>2]|0; + $1197 = ((($1196)) + 4|0); + $1198 = HEAP32[$1197>>2]|0; + HEAP32[$76>>2] = $1198; } break; } case 13: { - $1064 = HEAP32[$0>>2]|0; - $1065 = ((($1064)) + 44|0); - $1066 = HEAP32[$1065>>2]|0; - $1067 = (($1066) + 1)|0; - HEAP32[$regResult>>2] = $1067; - $1068 = HEAP32[$0>>2]|0; - $1069 = ((($1068)) + 44|0); - $1070 = HEAP32[$1069>>2]|0; - $1071 = (($1070) + 4)|0; - HEAP32[$1069>>2] = $1071; - $1072 = HEAP32[$0>>2]|0; - $1073 = ((($1072)) + 44|0); - $1074 = HEAP32[$1073>>2]|0; - $1075 = (($1074) + 1)|0; - HEAP32[$1073>>2] = $1075; - HEAP32[$regKey>>2] = $1075; - $1076 = HEAP32[$0>>2]|0; - $1077 = ((($1076)) + 44|0); - $1078 = HEAP32[$1077>>2]|0; - $1079 = (($1078) + 1)|0; - HEAP32[$1077>>2] = $1079; - HEAP32[$regRow>>2] = $1079; - $1080 = HEAP32[$0>>2]|0; - $1081 = (_sqlite3GetVdbe($1080)|0); - HEAP32[$v>>2] = $1081; - $1082 = HEAP32[$v>>2]|0; - _setAllColumnNames($1082,4,5320); - $1083 = HEAP32[$0>>2]|0; - $1084 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($1083,$1084); - $1085 = HEAP32[$iDb>>2]|0; - $1086 = HEAP32[$db>>2]|0; - $1087 = ((($1086)) + 16|0); - $1088 = HEAP32[$1087>>2]|0; - $1089 = (($1088) + ($1085<<4)|0); - $1090 = ((($1089)) + 12|0); - $1091 = HEAP32[$1090>>2]|0; - $1092 = ((($1091)) + 8|0); - $1093 = ((($1092)) + 8|0); - $1094 = HEAP32[$1093>>2]|0; - HEAP32[$k29>>2] = $1094; + $1199 = HEAP32[$5>>2]|0; + $1200 = ((($1199)) + 44|0); + $1201 = HEAP32[$1200>>2]|0; + $1202 = (($1201) + 1)|0; + HEAP32[$88>>2] = $1202; + $1203 = HEAP32[$5>>2]|0; + $1204 = ((($1203)) + 44|0); + $1205 = HEAP32[$1204>>2]|0; + $1206 = (($1205) + 4)|0; + HEAP32[$1204>>2] = $1206; + $1207 = HEAP32[$5>>2]|0; + $1208 = ((($1207)) + 44|0); + $1209 = HEAP32[$1208>>2]|0; + $1210 = (($1209) + 1)|0; + HEAP32[$1208>>2] = $1210; + HEAP32[$89>>2] = $1210; + $1211 = HEAP32[$5>>2]|0; + $1212 = ((($1211)) + 44|0); + $1213 = HEAP32[$1212>>2]|0; + $1214 = (($1213) + 1)|0; + HEAP32[$1212>>2] = $1214; + HEAP32[$90>>2] = $1214; + $1215 = HEAP32[$5>>2]|0; + $1216 = (_sqlite3GetVdbe($1215)|0); + HEAP32[$22>>2] = $1216; + $1217 = HEAP32[$22>>2]|0; + _setAllColumnNames($1217,4,5340); + $1218 = HEAP32[$5>>2]|0; + $1219 = HEAP32[$15>>2]|0; + _sqlite3CodeVerifySchema($1218,$1219); + $1220 = HEAP32[$20>>2]|0; + $1221 = ((($1220)) + 16|0); + $1222 = HEAP32[$1221>>2]|0; + $1223 = HEAP32[$15>>2]|0; + $1224 = (($1222) + ($1223<<4)|0); + $1225 = ((($1224)) + 12|0); + $1226 = HEAP32[$1225>>2]|0; + $1227 = ((($1226)) + 8|0); + $1228 = ((($1227)) + 8|0); + $1229 = HEAP32[$1228>>2]|0; + HEAP32[$86>>2] = $1229; while(1) { - $1095 = HEAP32[$k29>>2]|0; - $1096 = ($1095|0)!=(0|0); - if (!($1096)) { + $1230 = HEAP32[$86>>2]|0; + $1231 = ($1230|0)!=(0|0); + if (!($1231)) { break L21; } - $1097 = HEAP32[$zRight>>2]|0; - $1098 = ($1097|0)!=(0|0); - if ($1098) { - $1099 = HEAP32[$0>>2]|0; - $1100 = HEAP32[$zRight>>2]|0; - $1101 = HEAP32[$zDb>>2]|0; - $1102 = (_sqlite3LocateTable($1099,0,$1100,$1101)|0); - HEAP32[$pTab25>>2] = $1102; - HEAP32[$k29>>2] = 0; + $1232 = HEAP32[$11>>2]|0; + $1233 = ($1232|0)!=(0|0); + if ($1233) { + $1234 = HEAP32[$5>>2]|0; + $1235 = HEAP32[$11>>2]|0; + $1236 = HEAP32[$12>>2]|0; + $1237 = (_sqlite3LocateTable($1234,0,$1235,$1236)|0); + HEAP32[$81>>2] = $1237; + HEAP32[$86>>2] = 0; } else { - $1103 = HEAP32[$k29>>2]|0; - $1104 = ((($1103)) + 8|0); - $1105 = HEAP32[$1104>>2]|0; - HEAP32[$pTab25>>2] = $1105; - $1106 = HEAP32[$k29>>2]|0; - $1107 = HEAP32[$1106>>2]|0; - HEAP32[$k29>>2] = $1107; + $1238 = HEAP32[$86>>2]|0; + $1239 = ((($1238)) + 8|0); + $1240 = HEAP32[$1239>>2]|0; + HEAP32[$81>>2] = $1240; + $1241 = HEAP32[$86>>2]|0; + $1242 = HEAP32[$1241>>2]|0; + HEAP32[$86>>2] = $1242; } - $1108 = HEAP32[$pTab25>>2]|0; - $1109 = ($1108|0)==(0|0); - if ($1109) { + $1243 = HEAP32[$81>>2]|0; + $1244 = ($1243|0)==(0|0); + if ($1244) { continue; } - $1110 = HEAP32[$pTab25>>2]|0; - $1111 = ((($1110)) + 16|0); - $1112 = HEAP32[$1111>>2]|0; - $1113 = ($1112|0)==(0|0); - if ($1113) { + $1245 = HEAP32[$81>>2]|0; + $1246 = ((($1245)) + 16|0); + $1247 = HEAP32[$1246>>2]|0; + $1248 = ($1247|0)==(0|0); + if ($1248) { continue; } - $1114 = HEAP32[$0>>2]|0; - $1115 = HEAP32[$iDb>>2]|0; - $1116 = HEAP32[$pTab25>>2]|0; - $1117 = ((($1116)) + 28|0); - $1118 = HEAP32[$1117>>2]|0; - $1119 = HEAP32[$pTab25>>2]|0; - $1120 = HEAP32[$1119>>2]|0; - _sqlite3TableLock($1114,$1115,$1118,0,$1120); - $1121 = HEAP32[$pTab25>>2]|0; - $1122 = ((($1121)) + 34|0); - $1123 = HEAP16[$1122>>1]|0; - $1124 = $1123 << 16 >> 16; - $1125 = HEAP32[$regRow>>2]|0; - $1126 = (($1124) + ($1125))|0; - $1127 = HEAP32[$0>>2]|0; - $1128 = ((($1127)) + 44|0); - $1129 = HEAP32[$1128>>2]|0; - $1130 = ($1126|0)>($1129|0); - if ($1130) { - $1131 = HEAP32[$pTab25>>2]|0; - $1132 = ((($1131)) + 34|0); - $1133 = HEAP16[$1132>>1]|0; - $1134 = $1133 << 16 >> 16; - $1135 = HEAP32[$regRow>>2]|0; - $1136 = (($1134) + ($1135))|0; - $1137 = HEAP32[$0>>2]|0; - $1138 = ((($1137)) + 44|0); - HEAP32[$1138>>2] = $1136; + $1249 = HEAP32[$5>>2]|0; + $1250 = HEAP32[$15>>2]|0; + $1251 = HEAP32[$81>>2]|0; + $1252 = ((($1251)) + 28|0); + $1253 = HEAP32[$1252>>2]|0; + $1254 = HEAP32[$81>>2]|0; + $1255 = HEAP32[$1254>>2]|0; + _sqlite3TableLock($1249,$1250,$1253,0,$1255); + $1256 = HEAP32[$81>>2]|0; + $1257 = ((($1256)) + 34|0); + $1258 = HEAP16[$1257>>1]|0; + $1259 = $1258 << 16 >> 16; + $1260 = HEAP32[$90>>2]|0; + $1261 = (($1259) + ($1260))|0; + $1262 = HEAP32[$5>>2]|0; + $1263 = ((($1262)) + 44|0); + $1264 = HEAP32[$1263>>2]|0; + $1265 = ($1261|0)>($1264|0); + if ($1265) { + $1266 = HEAP32[$81>>2]|0; + $1267 = ((($1266)) + 34|0); + $1268 = HEAP16[$1267>>1]|0; + $1269 = $1268 << 16 >> 16; + $1270 = HEAP32[$90>>2]|0; + $1271 = (($1269) + ($1270))|0; + $1272 = HEAP32[$5>>2]|0; + $1273 = ((($1272)) + 44|0); + HEAP32[$1273>>2] = $1271; } - $1139 = HEAP32[$0>>2]|0; - $1140 = HEAP32[$iDb>>2]|0; - $1141 = HEAP32[$pTab25>>2]|0; - _sqlite3OpenTable($1139,0,$1140,$1141,104); - $1142 = HEAP32[$v>>2]|0; - $1143 = HEAP32[$regResult>>2]|0; - $1144 = HEAP32[$pTab25>>2]|0; - $1145 = HEAP32[$1144>>2]|0; - (_sqlite3VdbeLoadString($1142,$1143,$1145)|0); - HEAP32[$i27>>2] = 1; - $1146 = HEAP32[$pTab25>>2]|0; - $1147 = ((($1146)) + 16|0); - $1148 = HEAP32[$1147>>2]|0; - HEAP32[$pFK24>>2] = $1148; - L279: while(1) { - $1149 = HEAP32[$pFK24>>2]|0; - $1150 = ($1149|0)!=(0|0); - if (!($1150)) { + $1274 = HEAP32[$5>>2]|0; + $1275 = HEAP32[$15>>2]|0; + $1276 = HEAP32[$81>>2]|0; + _sqlite3OpenTable($1274,0,$1275,$1276,104); + $1277 = HEAP32[$22>>2]|0; + $1278 = HEAP32[$88>>2]|0; + $1279 = HEAP32[$81>>2]|0; + $1280 = HEAP32[$1279>>2]|0; + (_sqlite3VdbeLoadString($1277,$1278,$1280)|0); + HEAP32[$84>>2] = 1; + $1281 = HEAP32[$81>>2]|0; + $1282 = ((($1281)) + 16|0); + $1283 = HEAP32[$1282>>2]|0; + HEAP32[$80>>2] = $1283; + L275: while(1) { + $1284 = HEAP32[$80>>2]|0; + $1285 = ($1284|0)!=(0|0); + if (!($1285)) { break; } - $1151 = HEAP32[$db>>2]|0; - $1152 = HEAP32[$pFK24>>2]|0; - $1153 = ((($1152)) + 8|0); - $1154 = HEAP32[$1153>>2]|0; - $1155 = HEAP32[$zDb>>2]|0; - $1156 = (_sqlite3FindTable($1151,$1154,$1155)|0); - HEAP32[$pParent>>2] = $1156; - $1157 = HEAP32[$pParent>>2]|0; - $1158 = ($1157|0)==(0|0); + $1286 = HEAP32[$20>>2]|0; + $1287 = HEAP32[$80>>2]|0; + $1288 = ((($1287)) + 8|0); + $1289 = HEAP32[$1288>>2]|0; + $1290 = HEAP32[$12>>2]|0; + $1291 = (_sqlite3FindTable($1286,$1289,$1290)|0); + HEAP32[$82>>2] = $1291; + $1292 = HEAP32[$82>>2]|0; + $1293 = ($1292|0)==(0|0); do { - if (!($1158)) { - HEAP32[$pIdx26>>2] = 0; - $1159 = HEAP32[$0>>2]|0; - $1160 = HEAP32[$iDb>>2]|0; - $1161 = HEAP32[$pParent>>2]|0; - $1162 = ((($1161)) + 28|0); - $1163 = HEAP32[$1162>>2]|0; - $1164 = HEAP32[$pParent>>2]|0; - $1165 = HEAP32[$1164>>2]|0; - _sqlite3TableLock($1159,$1160,$1163,0,$1165); - $1166 = HEAP32[$0>>2]|0; - $1167 = HEAP32[$pParent>>2]|0; - $1168 = HEAP32[$pFK24>>2]|0; - $1169 = (_sqlite3FkLocateIndex($1166,$1167,$1168,$pIdx26,0)|0); - HEAP32[$x>>2] = $1169; - $1170 = HEAP32[$x>>2]|0; - $1171 = ($1170|0)==(0); - if (!($1171)) { - label = 207; - break L279; + if (!($1293)) { + HEAP32[$83>>2] = 0; + $1294 = HEAP32[$5>>2]|0; + $1295 = HEAP32[$15>>2]|0; + $1296 = HEAP32[$82>>2]|0; + $1297 = ((($1296)) + 28|0); + $1298 = HEAP32[$1297>>2]|0; + $1299 = HEAP32[$82>>2]|0; + $1300 = HEAP32[$1299>>2]|0; + _sqlite3TableLock($1294,$1295,$1298,0,$1300); + $1301 = HEAP32[$5>>2]|0; + $1302 = HEAP32[$82>>2]|0; + $1303 = HEAP32[$80>>2]|0; + $1304 = (_sqlite3FkLocateIndex($1301,$1302,$1303,$83,0)|0); + HEAP32[$87>>2] = $1304; + $1305 = HEAP32[$87>>2]|0; + $1306 = ($1305|0)==(0); + if (!($1306)) { + label = 204; + break L275; } - $1172 = HEAP32[$pIdx26>>2]|0; - $1173 = ($1172|0)==(0|0); - if ($1173) { - $1174 = HEAP32[$0>>2]|0; - $1175 = HEAP32[$i27>>2]|0; - $1176 = HEAP32[$iDb>>2]|0; - $1177 = HEAP32[$pParent>>2]|0; - _sqlite3OpenTable($1174,$1175,$1176,$1177,104); + $1307 = HEAP32[$83>>2]|0; + $1308 = ($1307|0)==(0|0); + if ($1308) { + $1309 = HEAP32[$5>>2]|0; + $1310 = HEAP32[$84>>2]|0; + $1311 = HEAP32[$15>>2]|0; + $1312 = HEAP32[$82>>2]|0; + _sqlite3OpenTable($1309,$1310,$1311,$1312,104); break; } else { - $1178 = HEAP32[$v>>2]|0; - $1179 = HEAP32[$i27>>2]|0; - $1180 = HEAP32[$pIdx26>>2]|0; - $1181 = ((($1180)) + 44|0); - $1182 = HEAP32[$1181>>2]|0; - $1183 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($1178,104,$1179,$1182,$1183)|0); - $1184 = HEAP32[$0>>2]|0; - $1185 = HEAP32[$pIdx26>>2]|0; - _sqlite3VdbeSetP4KeyInfo($1184,$1185); + $1313 = HEAP32[$22>>2]|0; + $1314 = HEAP32[$84>>2]|0; + $1315 = HEAP32[$83>>2]|0; + $1316 = ((($1315)) + 44|0); + $1317 = HEAP32[$1316>>2]|0; + $1318 = HEAP32[$15>>2]|0; + (_sqlite3VdbeAddOp3($1313,104,$1314,$1317,$1318)|0); + $1319 = HEAP32[$5>>2]|0; + $1320 = HEAP32[$83>>2]|0; + _sqlite3VdbeSetP4KeyInfo($1319,$1320); break; } } } while(0); - $1186 = HEAP32[$i27>>2]|0; - $1187 = (($1186) + 1)|0; - HEAP32[$i27>>2] = $1187; - $1188 = HEAP32[$pFK24>>2]|0; - $1189 = ((($1188)) + 4|0); - $1190 = HEAP32[$1189>>2]|0; - HEAP32[$pFK24>>2] = $1190; + $1321 = HEAP32[$84>>2]|0; + $1322 = (($1321) + 1)|0; + HEAP32[$84>>2] = $1322; + $1323 = HEAP32[$80>>2]|0; + $1324 = ((($1323)) + 4|0); + $1325 = HEAP32[$1324>>2]|0; + HEAP32[$80>>2] = $1325; } - if ((label|0) == 207) { + if ((label|0) == 204) { label = 0; - HEAP32[$k29>>2] = 0; + HEAP32[$86>>2] = 0; } - $1191 = HEAP32[$pFK24>>2]|0; - $1192 = ($1191|0)!=(0|0); - if ($1192) { + $1326 = HEAP32[$80>>2]|0; + $1327 = ($1326|0)!=(0|0); + if ($1327) { break L21; } - $1193 = HEAP32[$0>>2]|0; - $1194 = ((($1193)) + 40|0); - $1195 = HEAP32[$1194>>2]|0; - $1196 = HEAP32[$i27>>2]|0; - $1197 = ($1195|0)<($1196|0); - if ($1197) { - $1198 = HEAP32[$i27>>2]|0; - $1199 = HEAP32[$0>>2]|0; - $1200 = ((($1199)) + 40|0); - HEAP32[$1200>>2] = $1198; + $1328 = HEAP32[$5>>2]|0; + $1329 = ((($1328)) + 40|0); + $1330 = HEAP32[$1329>>2]|0; + $1331 = HEAP32[$84>>2]|0; + $1332 = ($1330|0)<($1331|0); + if ($1332) { + $1333 = HEAP32[$84>>2]|0; + $1334 = HEAP32[$5>>2]|0; + $1335 = ((($1334)) + 40|0); + HEAP32[$1335>>2] = $1333; } - $1201 = HEAP32[$v>>2]|0; - $1202 = (_sqlite3VdbeAddOp1($1201,57,0)|0); - HEAP32[$addrTop>>2] = $1202; - HEAP32[$i27>>2] = 1; - $1203 = HEAP32[$pTab25>>2]|0; - $1204 = ((($1203)) + 16|0); - $1205 = HEAP32[$1204>>2]|0; - HEAP32[$pFK24>>2] = $1205; + $1336 = HEAP32[$22>>2]|0; + $1337 = (_sqlite3VdbeAddOp1($1336,57,0)|0); + HEAP32[$91>>2] = $1337; + HEAP32[$84>>2] = 1; + $1338 = HEAP32[$81>>2]|0; + $1339 = ((($1338)) + 16|0); + $1340 = HEAP32[$1339>>2]|0; + HEAP32[$80>>2] = $1340; while(1) { - $1206 = HEAP32[$pFK24>>2]|0; - $1207 = ($1206|0)!=(0|0); - if (!($1207)) { + $1341 = HEAP32[$80>>2]|0; + $1342 = ($1341|0)!=(0|0); + if (!($1342)) { break; } - $1208 = HEAP32[$db>>2]|0; - $1209 = HEAP32[$pFK24>>2]|0; - $1210 = ((($1209)) + 8|0); - $1211 = HEAP32[$1210>>2]|0; - $1212 = HEAP32[$zDb>>2]|0; - $1213 = (_sqlite3FindTable($1208,$1211,$1212)|0); - HEAP32[$pParent>>2] = $1213; - HEAP32[$pIdx26>>2] = 0; - HEAP32[$aiCols>>2] = 0; - $1214 = HEAP32[$pParent>>2]|0; - $1215 = ($1214|0)!=(0|0); - if ($1215) { - $1216 = HEAP32[$0>>2]|0; - $1217 = HEAP32[$pParent>>2]|0; - $1218 = HEAP32[$pFK24>>2]|0; - $1219 = (_sqlite3FkLocateIndex($1216,$1217,$1218,$pIdx26,$aiCols)|0); - HEAP32[$x>>2] = $1219; + $1343 = HEAP32[$20>>2]|0; + $1344 = HEAP32[$80>>2]|0; + $1345 = ((($1344)) + 8|0); + $1346 = HEAP32[$1345>>2]|0; + $1347 = HEAP32[$12>>2]|0; + $1348 = (_sqlite3FindTable($1343,$1346,$1347)|0); + HEAP32[$82>>2] = $1348; + HEAP32[$83>>2] = 0; + HEAP32[$93>>2] = 0; + $1349 = HEAP32[$82>>2]|0; + $1350 = ($1349|0)!=(0|0); + if ($1350) { + $1351 = HEAP32[$5>>2]|0; + $1352 = HEAP32[$82>>2]|0; + $1353 = HEAP32[$80>>2]|0; + $1354 = (_sqlite3FkLocateIndex($1351,$1352,$1353,$83,$93)|0); + HEAP32[$87>>2] = $1354; } - $1220 = HEAP32[$v>>2]|0; - $1221 = (_sqlite3VdbeMakeLabel($1220)|0); - HEAP32[$addrOk>>2] = $1221; - $1222 = HEAP32[$pParent>>2]|0; - $1223 = ($1222|0)!=(0|0); - $1224 = HEAP32[$pIdx26>>2]|0; - $1225 = ($1224|0)==(0|0); - $or$cond11 = $1223 & $1225; + $1355 = HEAP32[$22>>2]|0; + $1356 = (_sqlite3VdbeMakeLabel($1355)|0); + HEAP32[$92>>2] = $1356; + $1357 = HEAP32[$82>>2]|0; + $1358 = ($1357|0)!=(0|0); + $1359 = HEAP32[$83>>2]|0; + $1360 = ($1359|0)==(0|0); + $or$cond15 = $1358 & $1360; do { - if ($or$cond11) { - $1226 = HEAP32[$pFK24>>2]|0; - $1227 = ((($1226)) + 36|0); - $1228 = HEAP32[$1227>>2]|0; - HEAP32[$iKey>>2] = $1228; - $1229 = HEAP32[$iKey>>2]|0; - $1230 = HEAP32[$pTab25>>2]|0; - $1231 = ((($1230)) + 32|0); - $1232 = HEAP16[$1231>>1]|0; - $1233 = $1232 << 16 >> 16; - $1234 = ($1229|0)!=($1233|0); - $1235 = HEAP32[$v>>2]|0; - if ($1234) { - $1236 = HEAP32[$iKey>>2]|0; - $1237 = HEAP32[$regRow>>2]|0; - (_sqlite3VdbeAddOp3($1235,96,0,$1236,$1237)|0); - $1238 = HEAP32[$v>>2]|0; - $1239 = HEAP32[$pTab25>>2]|0; - $1240 = HEAP32[$iKey>>2]|0; - $1241 = HEAP32[$regRow>>2]|0; - _sqlite3ColumnDefault($1238,$1239,$1240,$1241); - $1242 = HEAP32[$v>>2]|0; - $1243 = HEAP32[$regRow>>2]|0; - $1244 = HEAP32[$addrOk>>2]|0; - (_sqlite3VdbeAddOp2($1242,34,$1243,$1244)|0); + if ($or$cond15) { + $1361 = HEAP32[$80>>2]|0; + $1362 = ((($1361)) + 36|0); + $1363 = HEAP32[$1362>>2]|0; + HEAP32[$94>>2] = $1363; + $1364 = HEAP32[$94>>2]|0; + $1365 = HEAP32[$81>>2]|0; + $1366 = ((($1365)) + 32|0); + $1367 = HEAP16[$1366>>1]|0; + $1368 = $1367 << 16 >> 16; + $1369 = ($1364|0)!=($1368|0); + $1370 = HEAP32[$22>>2]|0; + if ($1369) { + $1371 = HEAP32[$94>>2]|0; + $1372 = HEAP32[$90>>2]|0; + (_sqlite3VdbeAddOp3($1370,96,0,$1371,$1372)|0); + $1373 = HEAP32[$22>>2]|0; + $1374 = HEAP32[$81>>2]|0; + $1375 = HEAP32[$94>>2]|0; + $1376 = HEAP32[$90>>2]|0; + _sqlite3ColumnDefault($1373,$1374,$1375,$1376); + $1377 = HEAP32[$22>>2]|0; + $1378 = HEAP32[$90>>2]|0; + $1379 = HEAP32[$92>>2]|0; + (_sqlite3VdbeAddOp2($1377,34,$1378,$1379)|0); } else { - $1245 = HEAP32[$regRow>>2]|0; - (_sqlite3VdbeAddOp2($1235,123,0,$1245)|0); + $1380 = HEAP32[$90>>2]|0; + (_sqlite3VdbeAddOp2($1370,123,0,$1380)|0); } - $1246 = HEAP32[$v>>2]|0; - $1247 = HEAP32[$i27>>2]|0; - $1248 = HEAP32[$regRow>>2]|0; - (_sqlite3VdbeAddOp3($1246,32,$1247,0,$1248)|0); - $1249 = HEAP32[$v>>2]|0; - $1250 = HEAP32[$addrOk>>2]|0; - (_sqlite3VdbeGoto($1249,$1250)|0); - $1251 = HEAP32[$v>>2]|0; - $1252 = HEAP32[$v>>2]|0; - $1253 = (_sqlite3VdbeCurrentAddr($1252)|0); - $1254 = (($1253) - 2)|0; - _sqlite3VdbeJumpHere($1251,$1254); + $1381 = HEAP32[$22>>2]|0; + $1382 = HEAP32[$84>>2]|0; + $1383 = HEAP32[$90>>2]|0; + (_sqlite3VdbeAddOp3($1381,32,$1382,0,$1383)|0); + $1384 = HEAP32[$22>>2]|0; + $1385 = HEAP32[$92>>2]|0; + (_sqlite3VdbeGoto($1384,$1385)|0); + $1386 = HEAP32[$22>>2]|0; + $1387 = HEAP32[$22>>2]|0; + $1388 = (_sqlite3VdbeCurrentAddr($1387)|0); + $1389 = (($1388) - 2)|0; + _sqlite3VdbeJumpHere($1386,$1389); } else { - HEAP32[$j28>>2] = 0; + HEAP32[$85>>2] = 0; while(1) { - $1255 = HEAP32[$j28>>2]|0; - $1256 = HEAP32[$pFK24>>2]|0; - $1257 = ((($1256)) + 20|0); - $1258 = HEAP32[$1257>>2]|0; - $1259 = ($1255|0)<($1258|0); - if (!($1259)) { + $1390 = HEAP32[$85>>2]|0; + $1391 = HEAP32[$80>>2]|0; + $1392 = ((($1391)) + 20|0); + $1393 = HEAP32[$1392>>2]|0; + $1394 = ($1390|0)<($1393|0); + if (!($1394)) { break; } - $1260 = HEAP32[$v>>2]|0; - $1261 = HEAP32[$pTab25>>2]|0; - $1262 = HEAP32[$aiCols>>2]|0; - $1263 = ($1262|0)!=(0|0); - $1264 = HEAP32[$j28>>2]|0; - if ($1263) { - $1265 = HEAP32[$aiCols>>2]|0; - $1266 = (($1265) + ($1264<<2)|0); - $1267 = HEAP32[$1266>>2]|0; - $1275 = $1267; + $1395 = HEAP32[$22>>2]|0; + $1396 = HEAP32[$81>>2]|0; + $1397 = HEAP32[$93>>2]|0; + $1398 = ($1397|0)!=(0|0); + if ($1398) { + $1399 = HEAP32[$93>>2]|0; + $1400 = HEAP32[$85>>2]|0; + $1401 = (($1399) + ($1400<<2)|0); + $$sink16 = $1401; } else { - $1268 = HEAP32[$pFK24>>2]|0; - $1269 = ((($1268)) + 36|0); - $1270 = (($1269) + ($1264<<3)|0); - $1271 = HEAP32[$1270>>2]|0; - $1275 = $1271; + $1402 = HEAP32[$80>>2]|0; + $1403 = ((($1402)) + 36|0); + $1404 = HEAP32[$85>>2]|0; + $1405 = (($1403) + ($1404<<3)|0); + $$sink16 = $1405; } - $1272 = HEAP32[$regRow>>2]|0; - $1273 = HEAP32[$j28>>2]|0; - $1274 = (($1272) + ($1273))|0; - _sqlite3ExprCodeGetColumnOfTable($1260,$1261,0,$1275,$1274); - $1276 = HEAP32[$v>>2]|0; - $1277 = HEAP32[$regRow>>2]|0; - $1278 = HEAP32[$j28>>2]|0; - $1279 = (($1277) + ($1278))|0; - $1280 = HEAP32[$addrOk>>2]|0; - (_sqlite3VdbeAddOp2($1276,34,$1279,$1280)|0); - $1281 = HEAP32[$j28>>2]|0; - $1282 = (($1281) + 1)|0; - HEAP32[$j28>>2] = $1282; + $1406 = HEAP32[$$sink16>>2]|0; + $1407 = HEAP32[$90>>2]|0; + $1408 = HEAP32[$85>>2]|0; + $1409 = (($1407) + ($1408))|0; + _sqlite3ExprCodeGetColumnOfTable($1395,$1396,0,$1406,$1409); + $1410 = HEAP32[$22>>2]|0; + $1411 = HEAP32[$90>>2]|0; + $1412 = HEAP32[$85>>2]|0; + $1413 = (($1411) + ($1412))|0; + $1414 = HEAP32[$92>>2]|0; + (_sqlite3VdbeAddOp2($1410,34,$1413,$1414)|0); + $1415 = HEAP32[$85>>2]|0; + $1416 = (($1415) + 1)|0; + HEAP32[$85>>2] = $1416; } - $1283 = HEAP32[$pParent>>2]|0; - $1284 = ($1283|0)!=(0|0); - if (!($1284)) { + $1417 = HEAP32[$82>>2]|0; + $1418 = ($1417|0)!=(0|0); + if (!($1418)) { break; } - $1285 = HEAP32[$v>>2]|0; - $1286 = HEAP32[$regRow>>2]|0; - $1287 = HEAP32[$pFK24>>2]|0; - $1288 = ((($1287)) + 20|0); - $1289 = HEAP32[$1288>>2]|0; - $1290 = HEAP32[$regKey>>2]|0; - $1291 = HEAP32[$db>>2]|0; - $1292 = HEAP32[$pIdx26>>2]|0; - $1293 = (_sqlite3IndexAffinityStr($1291,$1292)|0); - $1294 = HEAP32[$pFK24>>2]|0; - $1295 = ((($1294)) + 20|0); - $1296 = HEAP32[$1295>>2]|0; - (_sqlite3VdbeAddOp4($1285,99,$1286,$1289,$1290,$1293,$1296)|0); - $1297 = HEAP32[$v>>2]|0; - $1298 = HEAP32[$i27>>2]|0; - $1299 = HEAP32[$addrOk>>2]|0; - $1300 = HEAP32[$regKey>>2]|0; - (_sqlite3VdbeAddOp4Int($1297,31,$1298,$1299,$1300,0)|0); + $1419 = HEAP32[$22>>2]|0; + $1420 = HEAP32[$90>>2]|0; + $1421 = HEAP32[$80>>2]|0; + $1422 = ((($1421)) + 20|0); + $1423 = HEAP32[$1422>>2]|0; + $1424 = HEAP32[$89>>2]|0; + $1425 = HEAP32[$20>>2]|0; + $1426 = HEAP32[$83>>2]|0; + $1427 = (_sqlite3IndexAffinityStr($1425,$1426)|0); + $1428 = HEAP32[$80>>2]|0; + $1429 = ((($1428)) + 20|0); + $1430 = HEAP32[$1429>>2]|0; + (_sqlite3VdbeAddOp4($1419,99,$1420,$1423,$1424,$1427,$1430)|0); + $1431 = HEAP32[$22>>2]|0; + $1432 = HEAP32[$84>>2]|0; + $1433 = HEAP32[$92>>2]|0; + $1434 = HEAP32[$89>>2]|0; + (_sqlite3VdbeAddOp4Int($1431,31,$1432,$1433,$1434,0)|0); } } while(0); - $1301 = HEAP32[$v>>2]|0; - $1302 = HEAP32[$regResult>>2]|0; - $1303 = (($1302) + 1)|0; - (_sqlite3VdbeAddOp2($1301,123,0,$1303)|0); - $1304 = HEAP32[$v>>2]|0; - $1305 = HEAP32[$regResult>>2]|0; - $1306 = (($1305) + 2)|0; - $1307 = HEAP32[$pFK24>>2]|0; - $1308 = ((($1307)) + 8|0); - $1309 = HEAP32[$1308>>2]|0; - $1310 = HEAP32[$i27>>2]|0; - $1311 = (($1310) - 1)|0; - HEAP32[$vararg_buffer80>>2] = $1309; - $vararg_ptr83 = ((($vararg_buffer80)) + 4|0); - HEAP32[$vararg_ptr83>>2] = $1311; - _sqlite3VdbeMultiLoad($1304,$1306,32474,$vararg_buffer80); - $1312 = HEAP32[$v>>2]|0; - $1313 = HEAP32[$regResult>>2]|0; - (_sqlite3VdbeAddOp2($1312,87,$1313,4)|0); - $1314 = HEAP32[$v>>2]|0; - $1315 = HEAP32[$addrOk>>2]|0; - _sqlite3VdbeResolveLabel($1314,$1315); - $1316 = HEAP32[$db>>2]|0; - $1317 = HEAP32[$aiCols>>2]|0; - _sqlite3DbFree($1316,$1317); - $1318 = HEAP32[$i27>>2]|0; - $1319 = (($1318) + 1)|0; - HEAP32[$i27>>2] = $1319; - $1320 = HEAP32[$pFK24>>2]|0; - $1321 = ((($1320)) + 4|0); - $1322 = HEAP32[$1321>>2]|0; - HEAP32[$pFK24>>2] = $1322; + $1435 = HEAP32[$22>>2]|0; + $1436 = HEAP32[$88>>2]|0; + $1437 = (($1436) + 1)|0; + (_sqlite3VdbeAddOp2($1435,123,0,$1437)|0); + $1438 = HEAP32[$22>>2]|0; + $1439 = HEAP32[$88>>2]|0; + $1440 = (($1439) + 2)|0; + $1441 = HEAP32[$80>>2]|0; + $1442 = ((($1441)) + 8|0); + $1443 = HEAP32[$1442>>2]|0; + $1444 = HEAP32[$84>>2]|0; + $1445 = (($1444) - 1)|0; + HEAP32[$vararg_buffer85>>2] = $1443; + $vararg_ptr88 = ((($vararg_buffer85)) + 4|0); + HEAP32[$vararg_ptr88>>2] = $1445; + _sqlite3VdbeMultiLoad($1438,$1440,31927,$vararg_buffer85); + $1446 = HEAP32[$22>>2]|0; + $1447 = HEAP32[$88>>2]|0; + (_sqlite3VdbeAddOp2($1446,87,$1447,4)|0); + $1448 = HEAP32[$22>>2]|0; + $1449 = HEAP32[$92>>2]|0; + _sqlite3VdbeResolveLabel($1448,$1449); + $1450 = HEAP32[$20>>2]|0; + $1451 = HEAP32[$93>>2]|0; + _sqlite3DbFree($1450,$1451); + $1452 = HEAP32[$84>>2]|0; + $1453 = (($1452) + 1)|0; + HEAP32[$84>>2] = $1453; + $1454 = HEAP32[$80>>2]|0; + $1455 = ((($1454)) + 4|0); + $1456 = HEAP32[$1455>>2]|0; + HEAP32[$80>>2] = $1456; } - $1323 = HEAP32[$v>>2]|0; - $1324 = HEAP32[$addrTop>>2]|0; - $1325 = (($1324) + 1)|0; - (_sqlite3VdbeAddOp2($1323,7,0,$1325)|0); - $1326 = HEAP32[$v>>2]|0; - $1327 = HEAP32[$addrTop>>2]|0; - _sqlite3VdbeJumpHere($1326,$1327); + $1457 = HEAP32[$22>>2]|0; + $1458 = HEAP32[$91>>2]|0; + $1459 = (($1458) + 1)|0; + (_sqlite3VdbeAddOp2($1457,7,0,$1459)|0); + $1460 = HEAP32[$22>>2]|0; + $1461 = HEAP32[$91>>2]|0; + _sqlite3VdbeJumpHere($1460,$1461); } break; } case 6: { - $1328 = HEAP32[$zRight>>2]|0; - $1329 = ($1328|0)!=(0|0); - if (!($1329)) { + $1462 = HEAP32[$11>>2]|0; + $1463 = ($1462|0)!=(0|0); + if (!($1463)) { break L21; } - $1330 = HEAP32[$db>>2]|0; - $1331 = HEAP32[$zRight>>2]|0; - $1332 = (_sqlite3GetBoolean($1331,0)|0); - $1333 = $1332&255; - _sqlite3RegisterLikeFunctions($1330,$1333); + $1464 = HEAP32[$20>>2]|0; + $1465 = HEAP32[$11>>2]|0; + $1466 = (_sqlite3GetBoolean($1465,0)|0); + $1467 = $1466&255; + _sqlite3RegisterLikeFunctions($1464,$1467); break L21; break; } case 18: { - $1334 = HEAP32[$zLeft>>2]|0; - $1335 = HEAP8[$1334>>0]|0; - $1336 = $1335&255; - $1337 = (17613 + ($1336)|0); - $1338 = HEAP8[$1337>>0]|0; - $1339 = $1338&255; - $1340 = ($1339|0)==(113); - $1341 = $1340&1; - HEAP32[$isQuick>>2] = $1341; - $1342 = HEAP32[$2>>2]|0; - $1343 = HEAP32[$1342>>2]|0; - $1344 = ($1343|0)==(0|0); - if ($1344) { - HEAP32[$iDb>>2] = -1; + $1468 = HEAP32[$10>>2]|0; + $1469 = HEAP8[$1468>>0]|0; + $1470 = $1469&255; + $1471 = (20458 + ($1470)|0); + $1472 = HEAP8[$1471>>0]|0; + $1473 = $1472&255; + $1474 = ($1473|0)==(113); + $1475 = $1474&1; + HEAP32[$99>>2] = $1475; + $1476 = HEAP32[$7>>2]|0; + $1477 = HEAP32[$1476>>2]|0; + $1478 = ($1477|0)==(0|0); + if ($1478) { + HEAP32[$15>>2] = -1; } - $1345 = HEAP32[$0>>2]|0; - $1346 = ((($1345)) + 44|0); - HEAP32[$1346>>2] = 6; - $1347 = HEAP32[$v>>2]|0; - _setOneColumnName($1347,32477); - HEAP32[$mxErr>>2] = 100; - $1348 = HEAP32[$zRight>>2]|0; - $1349 = ($1348|0)!=(0|0); - if ($1349) { - $1350 = HEAP32[$zRight>>2]|0; - (_sqlite3GetInt32($1350,$mxErr)|0); - $1351 = HEAP32[$mxErr>>2]|0; - $1352 = ($1351|0)<=(0); - if ($1352) { - HEAP32[$mxErr>>2] = 100; + $1479 = HEAP32[$5>>2]|0; + $1480 = ((($1479)) + 44|0); + HEAP32[$1480>>2] = 6; + $1481 = HEAP32[$22>>2]|0; + _setOneColumnName($1481,31930); + HEAP32[$98>>2] = 100; + $1482 = HEAP32[$11>>2]|0; + $1483 = ($1482|0)!=(0|0); + if ($1483) { + $1484 = HEAP32[$11>>2]|0; + (_sqlite3GetInt32($1484,$98)|0); + $1485 = HEAP32[$98>>2]|0; + $1486 = ($1485|0)<=(0); + if ($1486) { + HEAP32[$98>>2] = 100; } } - $1353 = HEAP32[$v>>2]|0; - $1354 = HEAP32[$mxErr>>2]|0; - (_sqlite3VdbeAddOp2($1353,76,$1354,1)|0); - HEAP32[$i30>>2] = 0; - L330: while(1) { - $1355 = HEAP32[$i30>>2]|0; - $1356 = HEAP32[$db>>2]|0; - $1357 = ((($1356)) + 20|0); - $1358 = HEAP32[$1357>>2]|0; - $1359 = ($1355|0)<($1358|0); - if (!($1359)) { + $1487 = HEAP32[$22>>2]|0; + $1488 = HEAP32[$98>>2]|0; + (_sqlite3VdbeAddOp2($1487,76,$1488,1)|0); + HEAP32[$95>>2] = 0; + L326: while(1) { + $1489 = HEAP32[$95>>2]|0; + $1490 = HEAP32[$20>>2]|0; + $1491 = ((($1490)) + 20|0); + $1492 = HEAP32[$1491>>2]|0; + $1493 = ($1489|0)<($1492|0); + if (!($1493)) { break; } - HEAP32[$cnt>>2] = 0; - HEAP32[$mxIdx>>2] = 0; - $1360 = HEAP32[$iDb>>2]|0; - $1361 = ($1360|0)>=(0); - if ($1361) { - $1362 = HEAP32[$i30>>2]|0; - $1363 = HEAP32[$iDb>>2]|0; - $1364 = ($1362|0)!=($1363|0); - if (!($1364)) { - label = 242; + HEAP32[$103>>2] = 0; + HEAP32[$104>>2] = 0; + $1494 = HEAP32[$15>>2]|0; + $1495 = ($1494|0)>=(0); + if ($1495) { + $1496 = HEAP32[$95>>2]|0; + $1497 = HEAP32[$15>>2]|0; + $1498 = ($1496|0)!=($1497|0); + if (!($1498)) { + label = 239; } } else { - label = 242; + label = 239; } - L335: do { - if ((label|0) == 242) { + L331: do { + if ((label|0) == 239) { label = 0; - $1365 = HEAP32[$0>>2]|0; - $1366 = HEAP32[$i30>>2]|0; - _sqlite3CodeVerifySchema($1365,$1366); - $1367 = HEAP32[$v>>2]|0; - $1368 = (_sqlite3VdbeAddOp1($1367,66,1)|0); - HEAP32[$addr32>>2] = $1368; - $1369 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1369,75,0,0)|0); - $1370 = HEAP32[$v>>2]|0; - $1371 = HEAP32[$addr32>>2]|0; - _sqlite3VdbeJumpHere($1370,$1371); - $1372 = HEAP32[$i30>>2]|0; - $1373 = HEAP32[$db>>2]|0; - $1374 = ((($1373)) + 16|0); - $1375 = HEAP32[$1374>>2]|0; - $1376 = (($1375) + ($1372<<4)|0); - $1377 = ((($1376)) + 12|0); - $1378 = HEAP32[$1377>>2]|0; - $1379 = ((($1378)) + 8|0); - HEAP32[$pTbls>>2] = $1379; - HEAP32[$cnt>>2] = 0; - $1380 = HEAP32[$pTbls>>2]|0; - $1381 = ((($1380)) + 8|0); - $1382 = HEAP32[$1381>>2]|0; - HEAP32[$x33>>2] = $1382; + $1499 = HEAP32[$5>>2]|0; + $1500 = HEAP32[$95>>2]|0; + _sqlite3CodeVerifySchema($1499,$1500); + $1501 = HEAP32[$22>>2]|0; + $1502 = (_sqlite3VdbeAddOp1($1501,66,1)|0); + HEAP32[$97>>2] = $1502; + $1503 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1503,75,0,0)|0); + $1504 = HEAP32[$22>>2]|0; + $1505 = HEAP32[$97>>2]|0; + _sqlite3VdbeJumpHere($1504,$1505); + $1506 = HEAP32[$20>>2]|0; + $1507 = ((($1506)) + 16|0); + $1508 = HEAP32[$1507>>2]|0; + $1509 = HEAP32[$95>>2]|0; + $1510 = (($1508) + ($1509<<4)|0); + $1511 = ((($1510)) + 12|0); + $1512 = HEAP32[$1511>>2]|0; + $1513 = ((($1512)) + 8|0); + HEAP32[$101>>2] = $1513; + HEAP32[$103>>2] = 0; + $1514 = HEAP32[$101>>2]|0; + $1515 = ((($1514)) + 8|0); + $1516 = HEAP32[$1515>>2]|0; + HEAP32[$100>>2] = $1516; while(1) { - $1383 = HEAP32[$x33>>2]|0; - $1384 = ($1383|0)!=(0|0); - if (!($1384)) { + $1517 = HEAP32[$100>>2]|0; + $1518 = ($1517|0)!=(0|0); + if (!($1518)) { break; } - $1385 = HEAP32[$x33>>2]|0; - $1386 = ((($1385)) + 8|0); - $1387 = HEAP32[$1386>>2]|0; - HEAP32[$pTab34>>2] = $1387; - $1388 = HEAP32[$pTab34>>2]|0; - $1389 = ((($1388)) + 42|0); - $1390 = HEAP8[$1389>>0]|0; - $1391 = $1390&255; - $1392 = $1391 & 32; - $1393 = ($1392|0)==(0); - if ($1393) { - $1394 = HEAP32[$cnt>>2]|0; - $1395 = (($1394) + 1)|0; - HEAP32[$cnt>>2] = $1395; + $1519 = HEAP32[$100>>2]|0; + $1520 = ((($1519)) + 8|0); + $1521 = HEAP32[$1520>>2]|0; + HEAP32[$106>>2] = $1521; + $1522 = HEAP32[$106>>2]|0; + $1523 = ((($1522)) + 42|0); + $1524 = HEAP8[$1523>>0]|0; + $1525 = $1524&255; + $1526 = $1525 & 32; + $1527 = ($1526|0)==(0); + if ($1527) { + $1528 = HEAP32[$103>>2]|0; + $1529 = (($1528) + 1)|0; + HEAP32[$103>>2] = $1529; } - HEAP32[$nIdx>>2] = 0; - $1396 = HEAP32[$pTab34>>2]|0; - $1397 = ((($1396)) + 8|0); - $1398 = HEAP32[$1397>>2]|0; - HEAP32[$pIdx35>>2] = $1398; + HEAP32[$105>>2] = 0; + $1530 = HEAP32[$106>>2]|0; + $1531 = ((($1530)) + 8|0); + $1532 = HEAP32[$1531>>2]|0; + HEAP32[$107>>2] = $1532; while(1) { - $1399 = HEAP32[$pIdx35>>2]|0; - $1400 = ($1399|0)!=(0|0); - if (!($1400)) { + $1533 = HEAP32[$107>>2]|0; + $1534 = ($1533|0)!=(0|0); + if (!($1534)) { break; } - $1401 = HEAP32[$cnt>>2]|0; - $1402 = (($1401) + 1)|0; - HEAP32[$cnt>>2] = $1402; - $1403 = HEAP32[$pIdx35>>2]|0; - $1404 = ((($1403)) + 20|0); - $1405 = HEAP32[$1404>>2]|0; - HEAP32[$pIdx35>>2] = $1405; - $1406 = HEAP32[$nIdx>>2]|0; - $1407 = (($1406) + 1)|0; - HEAP32[$nIdx>>2] = $1407; + $1535 = HEAP32[$103>>2]|0; + $1536 = (($1535) + 1)|0; + HEAP32[$103>>2] = $1536; + $1537 = HEAP32[$107>>2]|0; + $1538 = ((($1537)) + 20|0); + $1539 = HEAP32[$1538>>2]|0; + HEAP32[$107>>2] = $1539; + $1540 = HEAP32[$105>>2]|0; + $1541 = (($1540) + 1)|0; + HEAP32[$105>>2] = $1541; } - $1408 = HEAP32[$nIdx>>2]|0; - $1409 = HEAP32[$mxIdx>>2]|0; - $1410 = ($1408|0)>($1409|0); - if ($1410) { - $1411 = HEAP32[$nIdx>>2]|0; - HEAP32[$mxIdx>>2] = $1411; + $1542 = HEAP32[$105>>2]|0; + $1543 = HEAP32[$104>>2]|0; + $1544 = ($1542|0)>($1543|0); + if ($1544) { + $1545 = HEAP32[$105>>2]|0; + HEAP32[$104>>2] = $1545; } - $1412 = HEAP32[$x33>>2]|0; - $1413 = HEAP32[$1412>>2]|0; - HEAP32[$x33>>2] = $1413; + $1546 = HEAP32[$100>>2]|0; + $1547 = HEAP32[$1546>>2]|0; + HEAP32[$100>>2] = $1547; } - $1414 = HEAP32[$db>>2]|0; - $1415 = HEAP32[$cnt>>2]|0; - $1416 = (($1415) + 1)|0; - $1417 = $1416<<2; - $1418 = (_sqlite3DbMallocRawNN($1414,$1417,0)|0); - HEAP32[$aRoot>>2] = $1418; - $1419 = HEAP32[$aRoot>>2]|0; - $1420 = ($1419|0)==(0|0); - if ($1420) { - break L330; + $1548 = HEAP32[$20>>2]|0; + $1549 = HEAP32[$103>>2]|0; + $1550 = (($1549) + 1)|0; + $1551 = $1550<<2; + $1552 = (_sqlite3DbMallocRawNN($1548,$1551,0)|0); + HEAP32[$102>>2] = $1552; + $1553 = HEAP32[$102>>2]|0; + $1554 = ($1553|0)==(0|0); + if ($1554) { + break L326; } - HEAP32[$cnt>>2] = 0; - $1421 = HEAP32[$pTbls>>2]|0; - $1422 = ((($1421)) + 8|0); - $1423 = HEAP32[$1422>>2]|0; - HEAP32[$x33>>2] = $1423; + HEAP32[$103>>2] = 0; + $1555 = HEAP32[$101>>2]|0; + $1556 = ((($1555)) + 8|0); + $1557 = HEAP32[$1556>>2]|0; + HEAP32[$100>>2] = $1557; while(1) { - $1424 = HEAP32[$x33>>2]|0; - $1425 = ($1424|0)!=(0|0); - if (!($1425)) { + $1558 = HEAP32[$100>>2]|0; + $1559 = ($1558|0)!=(0|0); + if (!($1559)) { break; } - $1426 = HEAP32[$x33>>2]|0; - $1427 = ((($1426)) + 8|0); - $1428 = HEAP32[$1427>>2]|0; - HEAP32[$pTab36>>2] = $1428; - $1429 = HEAP32[$pTab36>>2]|0; - $1430 = ((($1429)) + 42|0); - $1431 = HEAP8[$1430>>0]|0; - $1432 = $1431&255; - $1433 = $1432 & 32; - $1434 = ($1433|0)==(0); - if ($1434) { - $1435 = HEAP32[$pTab36>>2]|0; - $1436 = ((($1435)) + 28|0); - $1437 = HEAP32[$1436>>2]|0; - $1438 = HEAP32[$cnt>>2]|0; - $1439 = (($1438) + 1)|0; - HEAP32[$cnt>>2] = $1439; - $1440 = HEAP32[$aRoot>>2]|0; - $1441 = (($1440) + ($1438<<2)|0); - HEAP32[$1441>>2] = $1437; + $1560 = HEAP32[$100>>2]|0; + $1561 = ((($1560)) + 8|0); + $1562 = HEAP32[$1561>>2]|0; + HEAP32[$108>>2] = $1562; + $1563 = HEAP32[$108>>2]|0; + $1564 = ((($1563)) + 42|0); + $1565 = HEAP8[$1564>>0]|0; + $1566 = $1565&255; + $1567 = $1566 & 32; + $1568 = ($1567|0)==(0); + if ($1568) { + $1569 = HEAP32[$108>>2]|0; + $1570 = ((($1569)) + 28|0); + $1571 = HEAP32[$1570>>2]|0; + $1572 = HEAP32[$102>>2]|0; + $1573 = HEAP32[$103>>2]|0; + $1574 = (($1573) + 1)|0; + HEAP32[$103>>2] = $1574; + $1575 = (($1572) + ($1573<<2)|0); + HEAP32[$1575>>2] = $1571; } - $1442 = HEAP32[$pTab36>>2]|0; - $1443 = ((($1442)) + 8|0); - $1444 = HEAP32[$1443>>2]|0; - HEAP32[$pIdx37>>2] = $1444; + $1576 = HEAP32[$108>>2]|0; + $1577 = ((($1576)) + 8|0); + $1578 = HEAP32[$1577>>2]|0; + HEAP32[$109>>2] = $1578; while(1) { - $1445 = HEAP32[$pIdx37>>2]|0; - $1446 = ($1445|0)!=(0|0); - if (!($1446)) { + $1579 = HEAP32[$109>>2]|0; + $1580 = ($1579|0)!=(0|0); + if (!($1580)) { break; } - $1447 = HEAP32[$pIdx37>>2]|0; - $1448 = ((($1447)) + 44|0); - $1449 = HEAP32[$1448>>2]|0; - $1450 = HEAP32[$cnt>>2]|0; - $1451 = (($1450) + 1)|0; - HEAP32[$cnt>>2] = $1451; - $1452 = HEAP32[$aRoot>>2]|0; - $1453 = (($1452) + ($1450<<2)|0); - HEAP32[$1453>>2] = $1449; - $1454 = HEAP32[$pIdx37>>2]|0; - $1455 = ((($1454)) + 20|0); - $1456 = HEAP32[$1455>>2]|0; - HEAP32[$pIdx37>>2] = $1456; + $1581 = HEAP32[$109>>2]|0; + $1582 = ((($1581)) + 44|0); + $1583 = HEAP32[$1582>>2]|0; + $1584 = HEAP32[$102>>2]|0; + $1585 = HEAP32[$103>>2]|0; + $1586 = (($1585) + 1)|0; + HEAP32[$103>>2] = $1586; + $1587 = (($1584) + ($1585<<2)|0); + HEAP32[$1587>>2] = $1583; + $1588 = HEAP32[$109>>2]|0; + $1589 = ((($1588)) + 20|0); + $1590 = HEAP32[$1589>>2]|0; + HEAP32[$109>>2] = $1590; } - $1457 = HEAP32[$x33>>2]|0; - $1458 = HEAP32[$1457>>2]|0; - HEAP32[$x33>>2] = $1458; + $1591 = HEAP32[$100>>2]|0; + $1592 = HEAP32[$1591>>2]|0; + HEAP32[$100>>2] = $1592; } - $1459 = HEAP32[$cnt>>2]|0; - $1460 = HEAP32[$aRoot>>2]|0; - $1461 = (($1460) + ($1459<<2)|0); - HEAP32[$1461>>2] = 0; - $1462 = HEAP32[$0>>2]|0; - $1463 = ((($1462)) + 44|0); - $1464 = HEAP32[$1463>>2]|0; - $1465 = HEAP32[$mxIdx>>2]|0; - $1466 = (8 + ($1465))|0; - $1467 = ($1464|0)>($1466|0); - if ($1467) { - $1468 = HEAP32[$0>>2]|0; - $1469 = ((($1468)) + 44|0); - $1470 = HEAP32[$1469>>2]|0; - $1475 = $1470; + $1593 = HEAP32[$102>>2]|0; + $1594 = HEAP32[$103>>2]|0; + $1595 = (($1593) + ($1594<<2)|0); + HEAP32[$1595>>2] = 0; + $1596 = HEAP32[$5>>2]|0; + $1597 = ((($1596)) + 44|0); + $1598 = HEAP32[$1597>>2]|0; + $1599 = HEAP32[$104>>2]|0; + $1600 = (8 + ($1599))|0; + $1601 = ($1598|0)>($1600|0); + if ($1601) { + $1602 = HEAP32[$5>>2]|0; + $1603 = ((($1602)) + 44|0); + $1604 = HEAP32[$1603>>2]|0; + $1609 = $1604; } else { - $1471 = HEAP32[$mxIdx>>2]|0; - $1472 = (8 + ($1471))|0; - $1475 = $1472; + $1605 = HEAP32[$104>>2]|0; + $1606 = (8 + ($1605))|0; + $1609 = $1606; } - $1473 = HEAP32[$0>>2]|0; - $1474 = ((($1473)) + 44|0); - HEAP32[$1474>>2] = $1475; - $1476 = HEAP32[$v>>2]|0; - $1477 = HEAP32[$cnt>>2]|0; - $1478 = HEAP32[$aRoot>>2]|0; - (_sqlite3VdbeAddOp4($1476,141,2,$1477,1,$1478,-15)|0); - $1479 = HEAP32[$v>>2]|0; - $1480 = HEAP32[$i30>>2]|0; - $1481 = $1480&255; - _sqlite3VdbeChangeP5($1479,$1481); - $1482 = HEAP32[$v>>2]|0; - $1483 = (_sqlite3VdbeAddOp1($1482,34,2)|0); - HEAP32[$addr32>>2] = $1483; - $1484 = HEAP32[$v>>2]|0; - $1485 = HEAP32[$db>>2]|0; - $1486 = HEAP32[$i30>>2]|0; - $1487 = HEAP32[$db>>2]|0; - $1488 = ((($1487)) + 16|0); - $1489 = HEAP32[$1488>>2]|0; - $1490 = (($1489) + ($1486<<4)|0); - $1491 = HEAP32[$1490>>2]|0; - HEAP32[$vararg_buffer84>>2] = $1491; - $1492 = (_sqlite3MPrintf($1485,32493,$vararg_buffer84)|0); - (_sqlite3VdbeAddOp4($1484,97,0,3,0,$1492,-1)|0); - $1493 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1493,83,2,4,1)|0); - $1494 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1494,52,4,3,2)|0); - $1495 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1495,87,2,1)|0); - $1496 = HEAP32[$v>>2]|0; - $1497 = HEAP32[$addr32>>2]|0; - _sqlite3VdbeJumpHere($1496,$1497); - $1498 = HEAP32[$pTbls>>2]|0; - $1499 = ((($1498)) + 8|0); - $1500 = HEAP32[$1499>>2]|0; - HEAP32[$x33>>2] = $1500; + $1607 = HEAP32[$5>>2]|0; + $1608 = ((($1607)) + 44|0); + HEAP32[$1608>>2] = $1609; + $1610 = HEAP32[$22>>2]|0; + $1611 = HEAP32[$103>>2]|0; + $1612 = HEAP32[$102>>2]|0; + (_sqlite3VdbeAddOp4($1610,141,2,$1611,1,$1612,-15)|0); + $1613 = HEAP32[$22>>2]|0; + $1614 = HEAP32[$95>>2]|0; + $1615 = $1614&255; + _sqlite3VdbeChangeP5($1613,$1615); + $1616 = HEAP32[$22>>2]|0; + $1617 = (_sqlite3VdbeAddOp1($1616,34,2)|0); + HEAP32[$97>>2] = $1617; + $1618 = HEAP32[$22>>2]|0; + $1619 = HEAP32[$20>>2]|0; + $1620 = HEAP32[$20>>2]|0; + $1621 = ((($1620)) + 16|0); + $1622 = HEAP32[$1621>>2]|0; + $1623 = HEAP32[$95>>2]|0; + $1624 = (($1622) + ($1623<<4)|0); + $1625 = HEAP32[$1624>>2]|0; + HEAP32[$vararg_buffer89>>2] = $1625; + $1626 = (_sqlite3MPrintf($1619,31946,$vararg_buffer89)|0); + (_sqlite3VdbeAddOp4($1618,97,0,3,0,$1626,-1)|0); + $1627 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp3($1627,83,2,4,1)|0); + $1628 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp3($1628,52,4,3,2)|0); + $1629 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1629,87,2,1)|0); + $1630 = HEAP32[$22>>2]|0; + $1631 = HEAP32[$97>>2]|0; + _sqlite3VdbeJumpHere($1630,$1631); + $1632 = HEAP32[$101>>2]|0; + $1633 = ((($1632)) + 8|0); + $1634 = HEAP32[$1633>>2]|0; + HEAP32[$100>>2] = $1634; while(1) { - $1501 = HEAP32[$x33>>2]|0; - $1502 = ($1501|0)!=(0|0); - if (!($1502)) { - break L335; + $1635 = HEAP32[$100>>2]|0; + $1636 = ($1635|0)!=(0|0); + if (!($1636)) { + break L331; } - $1503 = HEAP32[$isQuick>>2]|0; - $1504 = ($1503|0)!=(0); - $1505 = $1504 ^ 1; - if (!($1505)) { - break L335; + $1637 = HEAP32[$99>>2]|0; + $1638 = ($1637|0)!=(0); + $1639 = $1638 ^ 1; + if (!($1639)) { + break L331; } - $1506 = HEAP32[$x33>>2]|0; - $1507 = ((($1506)) + 8|0); - $1508 = HEAP32[$1507>>2]|0; - HEAP32[$pTab38>>2] = $1508; - HEAP32[$pPrior>>2] = 0; - HEAP32[$r1>>2] = -1; - $1509 = HEAP32[$pTab38>>2]|0; - $1510 = ((($1509)) + 8|0); - $1511 = HEAP32[$1510>>2]|0; - $1512 = ($1511|0)==(0|0); - L371: do { - if (!($1512)) { - $1513 = HEAP32[$pTab38>>2]|0; - $1514 = ((($1513)) + 42|0); - $1515 = HEAP8[$1514>>0]|0; - $1516 = $1515&255; - $1517 = $1516 & 32; - $1518 = ($1517|0)==(0); - if ($1518) { - $1521 = 0; + $1640 = HEAP32[$100>>2]|0; + $1641 = ((($1640)) + 8|0); + $1642 = HEAP32[$1641>>2]|0; + HEAP32[$110>>2] = $1642; + HEAP32[$113>>2] = 0; + HEAP32[$117>>2] = -1; + $1643 = HEAP32[$110>>2]|0; + $1644 = ((($1643)) + 8|0); + $1645 = HEAP32[$1644>>2]|0; + $1646 = ($1645|0)==(0|0); + L367: do { + if (!($1646)) { + $1647 = HEAP32[$110>>2]|0; + $1648 = ((($1647)) + 42|0); + $1649 = HEAP8[$1648>>0]|0; + $1650 = $1649&255; + $1651 = $1650 & 32; + $1652 = ($1651|0)==(0); + if ($1652) { + $1655 = 0; } else { - $1519 = HEAP32[$pTab38>>2]|0; - $1520 = (_sqlite3PrimaryKeyIndex($1519)|0); - $1521 = $1520; + $1653 = HEAP32[$110>>2]|0; + $1654 = (_sqlite3PrimaryKeyIndex($1653)|0); + $1655 = $1654; } - HEAP32[$pPk40>>2] = $1521; - $1522 = HEAP32[$v>>2]|0; - $1523 = (_sqlite3VdbeAddOp1($1522,66,1)|0); - HEAP32[$addr32>>2] = $1523; - $1524 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1524,75,0,0)|0); - $1525 = HEAP32[$v>>2]|0; - $1526 = HEAP32[$addr32>>2]|0; - _sqlite3VdbeJumpHere($1525,$1526); - $1527 = HEAP32[$0>>2]|0; - _sqlite3ExprCacheClear($1527); - $1528 = HEAP32[$0>>2]|0; - $1529 = HEAP32[$pTab38>>2]|0; - (_sqlite3OpenTableAndIndices($1528,$1529,104,0,1,0,$iDataCur,$iIdxCur)|0); - $1530 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1530,76,0,7)|0); - HEAP32[$j31>>2] = 0; - $1531 = HEAP32[$pTab38>>2]|0; - $1532 = ((($1531)) + 8|0); - $1533 = HEAP32[$1532>>2]|0; - HEAP32[$pIdx39>>2] = $1533; + HEAP32[$112>>2] = $1655; + $1656 = HEAP32[$22>>2]|0; + $1657 = (_sqlite3VdbeAddOp1($1656,66,1)|0); + HEAP32[$97>>2] = $1657; + $1658 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1658,75,0,0)|0); + $1659 = HEAP32[$22>>2]|0; + $1660 = HEAP32[$97>>2]|0; + _sqlite3VdbeJumpHere($1659,$1660); + $1661 = HEAP32[$5>>2]|0; + _sqlite3ExprCacheClear($1661); + $1662 = HEAP32[$5>>2]|0; + $1663 = HEAP32[$110>>2]|0; + (_sqlite3OpenTableAndIndices($1662,$1663,104,0,1,0,$115,$116)|0); + $1664 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1664,76,0,7)|0); + HEAP32[$96>>2] = 0; + $1665 = HEAP32[$110>>2]|0; + $1666 = ((($1665)) + 8|0); + $1667 = HEAP32[$1666>>2]|0; + HEAP32[$111>>2] = $1667; while(1) { - $1534 = HEAP32[$pIdx39>>2]|0; - $1535 = ($1534|0)!=(0|0); - $1536 = HEAP32[$v>>2]|0; - if (!($1535)) { + $1668 = HEAP32[$111>>2]|0; + $1669 = ($1668|0)!=(0|0); + $1670 = HEAP32[$22>>2]|0; + if (!($1669)) { break; } - $1537 = HEAP32[$j31>>2]|0; - $1538 = (8 + ($1537))|0; - (_sqlite3VdbeAddOp2($1536,76,0,$1538)|0); - $1539 = HEAP32[$pIdx39>>2]|0; - $1540 = ((($1539)) + 20|0); - $1541 = HEAP32[$1540>>2]|0; - HEAP32[$pIdx39>>2] = $1541; - $1542 = HEAP32[$j31>>2]|0; - $1543 = (($1542) + 1)|0; - HEAP32[$j31>>2] = $1543; + $1671 = HEAP32[$96>>2]|0; + $1672 = (8 + ($1671))|0; + (_sqlite3VdbeAddOp2($1670,76,0,$1672)|0); + $1673 = HEAP32[$111>>2]|0; + $1674 = ((($1673)) + 20|0); + $1675 = HEAP32[$1674>>2]|0; + HEAP32[$111>>2] = $1675; + $1676 = HEAP32[$96>>2]|0; + $1677 = (($1676) + 1)|0; + HEAP32[$96>>2] = $1677; } - $1544 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp2($1536,57,$1544,0)|0); - $1545 = HEAP32[$v>>2]|0; - $1546 = (_sqlite3VdbeAddOp2($1545,91,7,1)|0); - HEAP32[$loopTop>>2] = $1546; - HEAP32[$j31>>2] = 0; + $1678 = HEAP32[$115>>2]|0; + (_sqlite3VdbeAddOp2($1670,57,$1678,0)|0); + $1679 = HEAP32[$22>>2]|0; + $1680 = (_sqlite3VdbeAddOp2($1679,91,7,1)|0); + HEAP32[$114>>2] = $1680; + HEAP32[$96>>2] = 0; while(1) { - $1547 = HEAP32[$j31>>2]|0; - $1548 = HEAP32[$pTab38>>2]|0; - $1549 = ((($1548)) + 34|0); - $1550 = HEAP16[$1549>>1]|0; - $1551 = $1550 << 16 >> 16; - $1552 = ($1547|0)<($1551|0); - if (!($1552)) { + $1681 = HEAP32[$96>>2]|0; + $1682 = HEAP32[$110>>2]|0; + $1683 = ((($1682)) + 34|0); + $1684 = HEAP16[$1683>>1]|0; + $1685 = $1684 << 16 >> 16; + $1686 = ($1681|0)<($1685|0); + if (!($1686)) { break; } - $1553 = HEAP32[$j31>>2]|0; - $1554 = HEAP32[$pTab38>>2]|0; - $1555 = ((($1554)) + 32|0); - $1556 = HEAP16[$1555>>1]|0; - $1557 = $1556 << 16 >> 16; - $1558 = ($1553|0)==($1557|0); + $1687 = HEAP32[$96>>2]|0; + $1688 = HEAP32[$110>>2]|0; + $1689 = ((($1688)) + 32|0); + $1690 = HEAP16[$1689>>1]|0; + $1691 = $1690 << 16 >> 16; + $1692 = ($1687|0)==($1691|0); do { - if (!($1558)) { - $1559 = HEAP32[$j31>>2]|0; - $1560 = HEAP32[$pTab38>>2]|0; - $1561 = ((($1560)) + 4|0); - $1562 = HEAP32[$1561>>2]|0; - $1563 = (($1562) + ($1559<<4)|0); - $1564 = ((($1563)) + 12|0); - $1565 = HEAP8[$1564>>0]|0; - $1566 = $1565&255; - $1567 = ($1566|0)==(0); - if ($1567) { + if (!($1692)) { + $1693 = HEAP32[$110>>2]|0; + $1694 = ((($1693)) + 4|0); + $1695 = HEAP32[$1694>>2]|0; + $1696 = HEAP32[$96>>2]|0; + $1697 = (($1695) + ($1696<<4)|0); + $1698 = ((($1697)) + 12|0); + $1699 = HEAP8[$1698>>0]|0; + $1700 = $1699&255; + $1701 = ($1700|0)==(0); + if ($1701) { break; } - $1568 = HEAP32[$v>>2]|0; - $1569 = HEAP32[$pTab38>>2]|0; - $1570 = HEAP32[$iDataCur>>2]|0; - $1571 = HEAP32[$j31>>2]|0; - _sqlite3ExprCodeGetColumnOfTable($1568,$1569,$1570,$1571,3); - $1572 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($1572,-128); - $1573 = HEAP32[$v>>2]|0; - $1574 = (_sqlite3VdbeAddOp1($1573,35,3)|0); - HEAP32[$jmp2>>2] = $1574; - $1575 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1575,91,1,-1)|0); - $1576 = HEAP32[$db>>2]|0; - $1577 = HEAP32[$pTab38>>2]|0; - $1578 = HEAP32[$1577>>2]|0; - $1579 = HEAP32[$j31>>2]|0; - $1580 = HEAP32[$pTab38>>2]|0; - $1581 = ((($1580)) + 4|0); - $1582 = HEAP32[$1581>>2]|0; - $1583 = (($1582) + ($1579<<4)|0); - $1584 = HEAP32[$1583>>2]|0; - HEAP32[$vararg_buffer87>>2] = $1578; - $vararg_ptr90 = ((($vararg_buffer87)) + 4|0); - HEAP32[$vararg_ptr90>>2] = $1584; - $1585 = (_sqlite3MPrintf($1576,32517,$vararg_buffer87)|0); - HEAP32[$zErr>>2] = $1585; - $1586 = HEAP32[$v>>2]|0; - $1587 = HEAP32[$zErr>>2]|0; - (_sqlite3VdbeAddOp4($1586,97,0,3,0,$1587,-1)|0); - $1588 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1588,87,3,1)|0); - $1589 = HEAP32[$v>>2]|0; - $1590 = (_sqlite3VdbeAddOp1($1589,66,1)|0); - HEAP32[$jmp3>>2] = $1590; - $1591 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($1591,75)|0); - $1592 = HEAP32[$v>>2]|0; - $1593 = HEAP32[$jmp2>>2]|0; - _sqlite3VdbeJumpHere($1592,$1593); - $1594 = HEAP32[$v>>2]|0; - $1595 = HEAP32[$jmp3>>2]|0; - _sqlite3VdbeJumpHere($1594,$1595); + $1702 = HEAP32[$22>>2]|0; + $1703 = HEAP32[$110>>2]|0; + $1704 = HEAP32[$115>>2]|0; + $1705 = HEAP32[$96>>2]|0; + _sqlite3ExprCodeGetColumnOfTable($1702,$1703,$1704,$1705,3); + $1706 = HEAP32[$22>>2]|0; + _sqlite3VdbeChangeP5($1706,-128); + $1707 = HEAP32[$22>>2]|0; + $1708 = (_sqlite3VdbeAddOp1($1707,35,3)|0); + HEAP32[$119>>2] = $1708; + $1709 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1709,91,1,-1)|0); + $1710 = HEAP32[$20>>2]|0; + $1711 = HEAP32[$110>>2]|0; + $1712 = HEAP32[$1711>>2]|0; + $1713 = HEAP32[$110>>2]|0; + $1714 = ((($1713)) + 4|0); + $1715 = HEAP32[$1714>>2]|0; + $1716 = HEAP32[$96>>2]|0; + $1717 = (($1715) + ($1716<<4)|0); + $1718 = HEAP32[$1717>>2]|0; + HEAP32[$vararg_buffer92>>2] = $1712; + $vararg_ptr95 = ((($vararg_buffer92)) + 4|0); + HEAP32[$vararg_ptr95>>2] = $1718; + $1719 = (_sqlite3MPrintf($1710,31970,$vararg_buffer92)|0); + HEAP32[$118>>2] = $1719; + $1720 = HEAP32[$22>>2]|0; + $1721 = HEAP32[$118>>2]|0; + (_sqlite3VdbeAddOp4($1720,97,0,3,0,$1721,-1)|0); + $1722 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1722,87,3,1)|0); + $1723 = HEAP32[$22>>2]|0; + $1724 = (_sqlite3VdbeAddOp1($1723,66,1)|0); + HEAP32[$120>>2] = $1724; + $1725 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp0($1725,75)|0); + $1726 = HEAP32[$22>>2]|0; + $1727 = HEAP32[$119>>2]|0; + _sqlite3VdbeJumpHere($1726,$1727); + $1728 = HEAP32[$22>>2]|0; + $1729 = HEAP32[$120>>2]|0; + _sqlite3VdbeJumpHere($1728,$1729); } } while(0); - $1596 = HEAP32[$j31>>2]|0; - $1597 = (($1596) + 1)|0; - HEAP32[$j31>>2] = $1597; + $1730 = HEAP32[$96>>2]|0; + $1731 = (($1730) + 1)|0; + HEAP32[$96>>2] = $1731; } - HEAP32[$j31>>2] = 0; - $1598 = HEAP32[$pTab38>>2]|0; - $1599 = ((($1598)) + 8|0); - $1600 = HEAP32[$1599>>2]|0; - HEAP32[$pIdx39>>2] = $1600; + HEAP32[$96>>2] = 0; + $1732 = HEAP32[$110>>2]|0; + $1733 = ((($1732)) + 8|0); + $1734 = HEAP32[$1733>>2]|0; + HEAP32[$111>>2] = $1734; while(1) { - $1601 = HEAP32[$pIdx39>>2]|0; - $1602 = ($1601|0)!=(0|0); - $1603 = HEAP32[$v>>2]|0; - if (!($1602)) { + $1735 = HEAP32[$111>>2]|0; + $1736 = ($1735|0)!=(0|0); + $1737 = HEAP32[$22>>2]|0; + if (!($1736)) { break; } - $1604 = (_sqlite3VdbeMakeLabel($1603)|0); - HEAP32[$ckUniq>>2] = $1604; - $1605 = HEAP32[$pPk40>>2]|0; - $1606 = HEAP32[$pIdx39>>2]|0; - $1607 = ($1605|0)==($1606|0); - if (!($1607)) { - $1608 = HEAP32[$0>>2]|0; - $1609 = HEAP32[$pIdx39>>2]|0; - $1610 = HEAP32[$iDataCur>>2]|0; - $1611 = HEAP32[$pPrior>>2]|0; - $1612 = HEAP32[$r1>>2]|0; - $1613 = (_sqlite3GenerateIndexKey($1608,$1609,$1610,0,0,$jmp342,$1611,$1612)|0); - HEAP32[$r1>>2] = $1613; - $1614 = HEAP32[$pIdx39>>2]|0; - HEAP32[$pPrior>>2] = $1614; - $1615 = HEAP32[$v>>2]|0; - $1616 = HEAP32[$j31>>2]|0; - $1617 = (8 + ($1616))|0; - (_sqlite3VdbeAddOp2($1615,91,$1617,1)|0); - $1618 = HEAP32[$v>>2]|0; - $1619 = HEAP32[$iIdxCur>>2]|0; - $1620 = HEAP32[$j31>>2]|0; - $1621 = (($1619) + ($1620))|0; - $1622 = HEAP32[$ckUniq>>2]|0; - $1623 = HEAP32[$r1>>2]|0; - $1624 = HEAP32[$pIdx39>>2]|0; - $1625 = ((($1624)) + 52|0); - $1626 = HEAP16[$1625>>1]|0; - $1627 = $1626&65535; - $1628 = (_sqlite3VdbeAddOp4Int($1618,31,$1621,$1622,$1623,$1627)|0); - HEAP32[$jmp241>>2] = $1628; - $1629 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1629,91,1,-1)|0); - $1630 = HEAP32[$v>>2]|0; - (_sqlite3VdbeLoadString($1630,3,32537)|0); - $1631 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1631,52,7,3,3)|0); - $1632 = HEAP32[$v>>2]|0; - (_sqlite3VdbeLoadString($1632,4,32542)|0); - $1633 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1633,52,4,3,3)|0); - $1634 = HEAP32[$v>>2]|0; - $1635 = HEAP32[$pIdx39>>2]|0; - $1636 = HEAP32[$1635>>2]|0; - $1637 = (_sqlite3VdbeLoadString($1634,4,$1636)|0); - HEAP32[$jmp5>>2] = $1637; - $1638 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1638,52,4,3,3)|0); - $1639 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1639,87,3,1)|0); - $1640 = HEAP32[$v>>2]|0; - $1641 = (_sqlite3VdbeAddOp1($1640,66,1)|0); - HEAP32[$jmp4>>2] = $1641; - $1642 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($1642,75)|0); - $1643 = HEAP32[$v>>2]|0; - $1644 = HEAP32[$jmp241>>2]|0; - _sqlite3VdbeJumpHere($1643,$1644); - $1645 = HEAP32[$pIdx39>>2]|0; - $1646 = ((($1645)) + 54|0); - $1647 = HEAP8[$1646>>0]|0; - $1648 = $1647&255; - $1649 = ($1648|0)!=(0); - if ($1649) { - $1650 = HEAP32[$v>>2]|0; - $1651 = (_sqlite3VdbeMakeLabel($1650)|0); - HEAP32[$uniqOk>>2] = $1651; - HEAP32[$kk>>2] = 0; + $1738 = (_sqlite3VdbeMakeLabel($1737)|0); + HEAP32[$125>>2] = $1738; + $1739 = HEAP32[$112>>2]|0; + $1740 = HEAP32[$111>>2]|0; + $1741 = ($1739|0)==($1740|0); + if (!($1741)) { + $1742 = HEAP32[$5>>2]|0; + $1743 = HEAP32[$111>>2]|0; + $1744 = HEAP32[$115>>2]|0; + $1745 = HEAP32[$113>>2]|0; + $1746 = HEAP32[$117>>2]|0; + $1747 = (_sqlite3GenerateIndexKey($1742,$1743,$1744,0,0,$122,$1745,$1746)|0); + HEAP32[$117>>2] = $1747; + $1748 = HEAP32[$111>>2]|0; + HEAP32[$113>>2] = $1748; + $1749 = HEAP32[$22>>2]|0; + $1750 = HEAP32[$96>>2]|0; + $1751 = (8 + ($1750))|0; + (_sqlite3VdbeAddOp2($1749,91,$1751,1)|0); + $1752 = HEAP32[$22>>2]|0; + $1753 = HEAP32[$116>>2]|0; + $1754 = HEAP32[$96>>2]|0; + $1755 = (($1753) + ($1754))|0; + $1756 = HEAP32[$125>>2]|0; + $1757 = HEAP32[$117>>2]|0; + $1758 = HEAP32[$111>>2]|0; + $1759 = ((($1758)) + 52|0); + $1760 = HEAP16[$1759>>1]|0; + $1761 = $1760&65535; + $1762 = (_sqlite3VdbeAddOp4Int($1752,31,$1755,$1756,$1757,$1761)|0); + HEAP32[$121>>2] = $1762; + $1763 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1763,91,1,-1)|0); + $1764 = HEAP32[$22>>2]|0; + (_sqlite3VdbeLoadString($1764,3,31990)|0); + $1765 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp3($1765,52,7,3,3)|0); + $1766 = HEAP32[$22>>2]|0; + (_sqlite3VdbeLoadString($1766,4,31995)|0); + $1767 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp3($1767,52,4,3,3)|0); + $1768 = HEAP32[$22>>2]|0; + $1769 = HEAP32[$111>>2]|0; + $1770 = HEAP32[$1769>>2]|0; + $1771 = (_sqlite3VdbeLoadString($1768,4,$1770)|0); + HEAP32[$124>>2] = $1771; + $1772 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp3($1772,52,4,3,3)|0); + $1773 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1773,87,3,1)|0); + $1774 = HEAP32[$22>>2]|0; + $1775 = (_sqlite3VdbeAddOp1($1774,66,1)|0); + HEAP32[$123>>2] = $1775; + $1776 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp0($1776,75)|0); + $1777 = HEAP32[$22>>2]|0; + $1778 = HEAP32[$121>>2]|0; + _sqlite3VdbeJumpHere($1777,$1778); + $1779 = HEAP32[$111>>2]|0; + $1780 = ((($1779)) + 54|0); + $1781 = HEAP8[$1780>>0]|0; + $1782 = $1781&255; + $1783 = ($1782|0)!=(0); + if ($1783) { + $1784 = HEAP32[$22>>2]|0; + $1785 = (_sqlite3VdbeMakeLabel($1784)|0); + HEAP32[$126>>2] = $1785; + HEAP32[$128>>2] = 0; while(1) { - $1652 = HEAP32[$kk>>2]|0; - $1653 = HEAP32[$pIdx39>>2]|0; - $1654 = ((($1653)) + 50|0); - $1655 = HEAP16[$1654>>1]|0; - $1656 = $1655&65535; - $1657 = ($1652|0)<($1656|0); - if (!($1657)) { + $1786 = HEAP32[$128>>2]|0; + $1787 = HEAP32[$111>>2]|0; + $1788 = ((($1787)) + 50|0); + $1789 = HEAP16[$1788>>1]|0; + $1790 = $1789&65535; + $1791 = ($1786|0)<($1790|0); + if (!($1791)) { break; } - $1658 = HEAP32[$kk>>2]|0; - $1659 = HEAP32[$pIdx39>>2]|0; - $1660 = ((($1659)) + 4|0); - $1661 = HEAP32[$1660>>2]|0; - $1662 = (($1661) + ($1658<<1)|0); - $1663 = HEAP16[$1662>>1]|0; - $1664 = $1663 << 16 >> 16; - HEAP32[$iCol>>2] = $1664; - $1665 = HEAP32[$iCol>>2]|0; - $1666 = ($1665|0)>=(0); - if ($1666) { - $1667 = HEAP32[$iCol>>2]|0; - $1668 = HEAP32[$pTab38>>2]|0; - $1669 = ((($1668)) + 4|0); - $1670 = HEAP32[$1669>>2]|0; - $1671 = (($1670) + ($1667<<4)|0); - $1672 = ((($1671)) + 12|0); - $1673 = HEAP8[$1672>>0]|0; - $1674 = $1673&255; - $1675 = ($1674|0)!=(0); - if (!($1675)) { - label = 287; + $1792 = HEAP32[$111>>2]|0; + $1793 = ((($1792)) + 4|0); + $1794 = HEAP32[$1793>>2]|0; + $1795 = HEAP32[$128>>2]|0; + $1796 = (($1794) + ($1795<<1)|0); + $1797 = HEAP16[$1796>>1]|0; + $1798 = $1797 << 16 >> 16; + HEAP32[$129>>2] = $1798; + $1799 = HEAP32[$129>>2]|0; + $1800 = ($1799|0)>=(0); + if ($1800) { + $1801 = HEAP32[$110>>2]|0; + $1802 = ((($1801)) + 4|0); + $1803 = HEAP32[$1802>>2]|0; + $1804 = HEAP32[$129>>2]|0; + $1805 = (($1803) + ($1804<<4)|0); + $1806 = ((($1805)) + 12|0); + $1807 = HEAP8[$1806>>0]|0; + $1808 = $1807&255; + $1809 = ($1808|0)!=(0); + if (!($1809)) { + label = 284; } } else { - label = 287; + label = 284; } - if ((label|0) == 287) { + if ((label|0) == 284) { label = 0; - $1676 = HEAP32[$v>>2]|0; - $1677 = HEAP32[$r1>>2]|0; - $1678 = HEAP32[$kk>>2]|0; - $1679 = (($1677) + ($1678))|0; - $1680 = HEAP32[$uniqOk>>2]|0; - (_sqlite3VdbeAddOp2($1676,34,$1679,$1680)|0); + $1810 = HEAP32[$22>>2]|0; + $1811 = HEAP32[$117>>2]|0; + $1812 = HEAP32[$128>>2]|0; + $1813 = (($1811) + ($1812))|0; + $1814 = HEAP32[$126>>2]|0; + (_sqlite3VdbeAddOp2($1810,34,$1813,$1814)|0); } - $1681 = HEAP32[$kk>>2]|0; - $1682 = (($1681) + 1)|0; - HEAP32[$kk>>2] = $1682; + $1815 = HEAP32[$128>>2]|0; + $1816 = (($1815) + 1)|0; + HEAP32[$128>>2] = $1816; } - $1683 = HEAP32[$v>>2]|0; - $1684 = HEAP32[$iIdxCur>>2]|0; - $1685 = HEAP32[$j31>>2]|0; - $1686 = (($1684) + ($1685))|0; - $1687 = (_sqlite3VdbeAddOp1($1683,7,$1686)|0); - HEAP32[$jmp6>>2] = $1687; - $1688 = HEAP32[$v>>2]|0; - $1689 = HEAP32[$uniqOk>>2]|0; - (_sqlite3VdbeGoto($1688,$1689)|0); - $1690 = HEAP32[$v>>2]|0; - $1691 = HEAP32[$jmp6>>2]|0; - _sqlite3VdbeJumpHere($1690,$1691); - $1692 = HEAP32[$v>>2]|0; - $1693 = HEAP32[$iIdxCur>>2]|0; - $1694 = HEAP32[$j31>>2]|0; - $1695 = (($1693) + ($1694))|0; - $1696 = HEAP32[$uniqOk>>2]|0; - $1697 = HEAP32[$r1>>2]|0; - $1698 = HEAP32[$pIdx39>>2]|0; - $1699 = ((($1698)) + 50|0); - $1700 = HEAP16[$1699>>1]|0; - $1701 = $1700&65535; - (_sqlite3VdbeAddOp4Int($1692,59,$1695,$1696,$1697,$1701)|0); - $1702 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1702,91,1,-1)|0); - $1703 = HEAP32[$v>>2]|0; - (_sqlite3VdbeLoadString($1703,3,32563)|0); - $1704 = HEAP32[$v>>2]|0; - $1705 = HEAP32[$jmp5>>2]|0; - (_sqlite3VdbeGoto($1704,$1705)|0); - $1706 = HEAP32[$v>>2]|0; - $1707 = HEAP32[$uniqOk>>2]|0; - _sqlite3VdbeResolveLabel($1706,$1707); + $1817 = HEAP32[$22>>2]|0; + $1818 = HEAP32[$116>>2]|0; + $1819 = HEAP32[$96>>2]|0; + $1820 = (($1818) + ($1819))|0; + $1821 = (_sqlite3VdbeAddOp1($1817,7,$1820)|0); + HEAP32[$127>>2] = $1821; + $1822 = HEAP32[$22>>2]|0; + $1823 = HEAP32[$126>>2]|0; + (_sqlite3VdbeGoto($1822,$1823)|0); + $1824 = HEAP32[$22>>2]|0; + $1825 = HEAP32[$127>>2]|0; + _sqlite3VdbeJumpHere($1824,$1825); + $1826 = HEAP32[$22>>2]|0; + $1827 = HEAP32[$116>>2]|0; + $1828 = HEAP32[$96>>2]|0; + $1829 = (($1827) + ($1828))|0; + $1830 = HEAP32[$126>>2]|0; + $1831 = HEAP32[$117>>2]|0; + $1832 = HEAP32[$111>>2]|0; + $1833 = ((($1832)) + 50|0); + $1834 = HEAP16[$1833>>1]|0; + $1835 = $1834&65535; + (_sqlite3VdbeAddOp4Int($1826,59,$1829,$1830,$1831,$1835)|0); + $1836 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1836,91,1,-1)|0); + $1837 = HEAP32[$22>>2]|0; + (_sqlite3VdbeLoadString($1837,3,32016)|0); + $1838 = HEAP32[$22>>2]|0; + $1839 = HEAP32[$124>>2]|0; + (_sqlite3VdbeGoto($1838,$1839)|0); + $1840 = HEAP32[$22>>2]|0; + $1841 = HEAP32[$126>>2]|0; + _sqlite3VdbeResolveLabel($1840,$1841); } - $1708 = HEAP32[$v>>2]|0; - $1709 = HEAP32[$jmp4>>2]|0; - _sqlite3VdbeJumpHere($1708,$1709); - $1710 = HEAP32[$0>>2]|0; - $1711 = HEAP32[$jmp342>>2]|0; - _sqlite3ResolvePartIdxLabel($1710,$1711); + $1842 = HEAP32[$22>>2]|0; + $1843 = HEAP32[$123>>2]|0; + _sqlite3VdbeJumpHere($1842,$1843); + $1844 = HEAP32[$5>>2]|0; + $1845 = HEAP32[$122>>2]|0; + _sqlite3ResolvePartIdxLabel($1844,$1845); } - $1712 = HEAP32[$pIdx39>>2]|0; - $1713 = ((($1712)) + 20|0); - $1714 = HEAP32[$1713>>2]|0; - HEAP32[$pIdx39>>2] = $1714; - $1715 = HEAP32[$j31>>2]|0; - $1716 = (($1715) + 1)|0; - HEAP32[$j31>>2] = $1716; + $1846 = HEAP32[$111>>2]|0; + $1847 = ((($1846)) + 20|0); + $1848 = HEAP32[$1847>>2]|0; + HEAP32[$111>>2] = $1848; + $1849 = HEAP32[$96>>2]|0; + $1850 = (($1849) + 1)|0; + HEAP32[$96>>2] = $1850; } - $1717 = HEAP32[$iDataCur>>2]|0; - $1718 = HEAP32[$loopTop>>2]|0; - (_sqlite3VdbeAddOp2($1603,7,$1717,$1718)|0); - $1719 = HEAP32[$v>>2]|0; - $1720 = HEAP32[$loopTop>>2]|0; - $1721 = (($1720) - 1)|0; - _sqlite3VdbeJumpHere($1719,$1721); - $1722 = HEAP32[$v>>2]|0; - (_sqlite3VdbeLoadString($1722,2,32590)|0); - HEAP32[$j31>>2] = 0; - $1723 = HEAP32[$pTab38>>2]|0; - $1724 = ((($1723)) + 8|0); - $1725 = HEAP32[$1724>>2]|0; - HEAP32[$pIdx39>>2] = $1725; + $1851 = HEAP32[$115>>2]|0; + $1852 = HEAP32[$114>>2]|0; + (_sqlite3VdbeAddOp2($1737,7,$1851,$1852)|0); + $1853 = HEAP32[$22>>2]|0; + $1854 = HEAP32[$114>>2]|0; + $1855 = (($1854) - 1)|0; + _sqlite3VdbeJumpHere($1853,$1855); + $1856 = HEAP32[$22>>2]|0; + (_sqlite3VdbeLoadString($1856,2,32043)|0); + HEAP32[$96>>2] = 0; + $1857 = HEAP32[$110>>2]|0; + $1858 = ((($1857)) + 8|0); + $1859 = HEAP32[$1858>>2]|0; + HEAP32[$111>>2] = $1859; while(1) { - $1726 = HEAP32[$pIdx39>>2]|0; - $1727 = ($1726|0)!=(0|0); - if (!($1727)) { - break L371; + $1860 = HEAP32[$111>>2]|0; + $1861 = ($1860|0)!=(0|0); + if (!($1861)) { + break L367; } - $1728 = HEAP32[$pPk40>>2]|0; - $1729 = HEAP32[$pIdx39>>2]|0; - $1730 = ($1728|0)==($1729|0); - if (!($1730)) { - $1731 = HEAP32[$v>>2]|0; - $1732 = (_sqlite3VdbeCurrentAddr($1731)|0); - HEAP32[$addr32>>2] = $1732; - $1733 = HEAP32[$v>>2]|0; - $1734 = HEAP32[$addr32>>2]|0; - $1735 = (($1734) + 2)|0; - (_sqlite3VdbeAddOp2($1733,66,1,$1735)|0); - $1736 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1736,75,0,0)|0); - $1737 = HEAP32[$v>>2]|0; - $1738 = HEAP32[$iIdxCur>>2]|0; - $1739 = HEAP32[$j31>>2]|0; - $1740 = (($1738) + ($1739))|0; - (_sqlite3VdbeAddOp2($1737,100,$1740,3)|0); - $1741 = HEAP32[$v>>2]|0; - $1742 = HEAP32[$j31>>2]|0; - $1743 = (8 + ($1742))|0; - $1744 = HEAP32[$addr32>>2]|0; - $1745 = (($1744) + 8)|0; - (_sqlite3VdbeAddOp3($1741,37,$1743,$1745,3)|0); - $1746 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($1746,-112); - $1747 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1747,91,1,-1)|0); - $1748 = HEAP32[$v>>2]|0; - $1749 = HEAP32[$pIdx39>>2]|0; - $1750 = HEAP32[$1749>>2]|0; - (_sqlite3VdbeLoadString($1748,3,$1750)|0); - $1751 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1751,52,3,2,7)|0); - $1752 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1752,87,7,1)|0); + $1862 = HEAP32[$112>>2]|0; + $1863 = HEAP32[$111>>2]|0; + $1864 = ($1862|0)==($1863|0); + if (!($1864)) { + $1865 = HEAP32[$22>>2]|0; + $1866 = (_sqlite3VdbeCurrentAddr($1865)|0); + HEAP32[$97>>2] = $1866; + $1867 = HEAP32[$22>>2]|0; + $1868 = HEAP32[$97>>2]|0; + $1869 = (($1868) + 2)|0; + (_sqlite3VdbeAddOp2($1867,66,1,$1869)|0); + $1870 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1870,75,0,0)|0); + $1871 = HEAP32[$22>>2]|0; + $1872 = HEAP32[$116>>2]|0; + $1873 = HEAP32[$96>>2]|0; + $1874 = (($1872) + ($1873))|0; + (_sqlite3VdbeAddOp2($1871,100,$1874,3)|0); + $1875 = HEAP32[$22>>2]|0; + $1876 = HEAP32[$96>>2]|0; + $1877 = (8 + ($1876))|0; + $1878 = HEAP32[$97>>2]|0; + $1879 = (($1878) + 8)|0; + (_sqlite3VdbeAddOp3($1875,37,$1877,$1879,3)|0); + $1880 = HEAP32[$22>>2]|0; + _sqlite3VdbeChangeP5($1880,-112); + $1881 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1881,91,1,-1)|0); + $1882 = HEAP32[$22>>2]|0; + $1883 = HEAP32[$111>>2]|0; + $1884 = HEAP32[$1883>>2]|0; + (_sqlite3VdbeLoadString($1882,3,$1884)|0); + $1885 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp3($1885,52,3,2,7)|0); + $1886 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($1886,87,7,1)|0); } - $1753 = HEAP32[$pIdx39>>2]|0; - $1754 = ((($1753)) + 20|0); - $1755 = HEAP32[$1754>>2]|0; - HEAP32[$pIdx39>>2] = $1755; - $1756 = HEAP32[$j31>>2]|0; - $1757 = (($1756) + 1)|0; - HEAP32[$j31>>2] = $1757; + $1887 = HEAP32[$111>>2]|0; + $1888 = ((($1887)) + 20|0); + $1889 = HEAP32[$1888>>2]|0; + HEAP32[$111>>2] = $1889; + $1890 = HEAP32[$96>>2]|0; + $1891 = (($1890) + 1)|0; + HEAP32[$96>>2] = $1891; } } } while(0); - $1758 = HEAP32[$x33>>2]|0; - $1759 = HEAP32[$1758>>2]|0; - HEAP32[$x33>>2] = $1759; + $1892 = HEAP32[$100>>2]|0; + $1893 = HEAP32[$1892>>2]|0; + HEAP32[$100>>2] = $1893; } } } while(0); - $1760 = HEAP32[$i30>>2]|0; - $1761 = (($1760) + 1)|0; - HEAP32[$i30>>2] = $1761; + $1894 = HEAP32[$95>>2]|0; + $1895 = (($1894) + 1)|0; + HEAP32[$95>>2] = $1895; } - $1762 = HEAP32[$v>>2]|0; - $1763 = (_sqlite3VdbeAddOpList($1762,4,32619,0)|0); - HEAP32[$aOp43>>2] = $1763; - $1764 = HEAP32[$aOp43>>2]|0; - $1765 = ($1764|0)!=(0|0); - if (!($1765)) { + $1896 = HEAP32[$22>>2]|0; + $1897 = (_sqlite3VdbeAddOpList($1896,4,32072,0)|0); + HEAP32[$130>>2] = $1897; + $1898 = HEAP32[$130>>2]|0; + $1899 = ($1898|0)!=(0|0); + if (!($1899)) { break L21; } - $1766 = HEAP32[$mxErr>>2]|0; - $1767 = (0 - ($1766))|0; - $1768 = HEAP32[$aOp43>>2]|0; - $1769 = ((($1768)) + 8|0); - HEAP32[$1769>>2] = $1767; - $1770 = HEAP32[$aOp43>>2]|0; - $1771 = ((($1770)) + 40|0); - $1772 = ((($1771)) + 1|0); - HEAP8[$1772>>0] = -2; - $1773 = HEAP32[$aOp43>>2]|0; - $1774 = ((($1773)) + 40|0); - $1775 = ((($1774)) + 16|0); - HEAP32[$1775>>2] = 32635; + $1900 = HEAP32[$98>>2]|0; + $1901 = (0 - ($1900))|0; + $1902 = HEAP32[$130>>2]|0; + $1903 = ((($1902)) + 8|0); + HEAP32[$1903>>2] = $1901; + $1904 = HEAP32[$130>>2]|0; + $1905 = ((($1904)) + 40|0); + $1906 = ((($1905)) + 1|0); + HEAP8[$1906>>0] = -2; + $1907 = HEAP32[$130>>2]|0; + $1908 = ((($1907)) + 40|0); + $1909 = ((($1908)) + 16|0); + HEAP32[$1909>>2] = 32088; break L21; break; } case 12: { - $1776 = HEAP32[$zRight>>2]|0; - $1777 = ($1776|0)!=(0|0); - if (!($1777)) { - $1778 = HEAP32[$0>>2]|0; - $1779 = (_sqlite3ReadSchema($1778)|0); - $1780 = ($1779|0)!=(0); - if ($1780) { + $1910 = HEAP32[$11>>2]|0; + $1911 = ($1910|0)!=(0|0); + if (!($1911)) { + $1912 = HEAP32[$5>>2]|0; + $1913 = (_sqlite3ReadSchema($1912)|0); + $1914 = ($1913|0)!=(0); + if ($1914) { break L21; } - $1781 = HEAP32[$v>>2]|0; - $1782 = HEAP32[$0>>2]|0; - $1783 = HEAP32[$1782>>2]|0; - $1784 = ((($1783)) + 66|0); - $1785 = HEAP8[$1784>>0]|0; - $1786 = $1785&255; - $1787 = (5336 + ($1786<<3)|0); - $1788 = HEAP32[$1787>>2]|0; - _returnSingleText($1781,32638,$1788); + $1915 = HEAP32[$22>>2]|0; + $1916 = HEAP32[$5>>2]|0; + $1917 = HEAP32[$1916>>2]|0; + $1918 = ((($1917)) + 66|0); + $1919 = HEAP8[$1918>>0]|0; + $1920 = $1919&255; + $1921 = (5356 + ($1920<<3)|0); + $1922 = HEAP32[$1921>>2]|0; + _returnSingleText($1915,32091,$1922); break L21; } - $1789 = HEAP32[$db>>2]|0; - $1790 = ((($1789)) + 16|0); - $1791 = HEAP32[$1790>>2]|0; - $1792 = ((($1791)) + 12|0); - $1793 = HEAP32[$1792>>2]|0; - $1794 = ((($1793)) + 78|0); - $1795 = HEAP16[$1794>>1]|0; - $1796 = $1795&65535; - $1797 = $1796 & 1; - $1798 = ($1797|0)==(1); - if ($1798) { - $1799 = HEAP32[$db>>2]|0; - $1800 = ((($1799)) + 16|0); - $1801 = HEAP32[$1800>>2]|0; - $1802 = ((($1801)) + 12|0); - $1803 = HEAP32[$1802>>2]|0; - $1804 = ((($1803)) + 78|0); - $1805 = HEAP16[$1804>>1]|0; - $1806 = $1805&65535; - $1807 = $1806 & 4; - $1808 = ($1807|0)==(4); - if (!($1808)) { + $1923 = HEAP32[$20>>2]|0; + $1924 = ((($1923)) + 16|0); + $1925 = HEAP32[$1924>>2]|0; + $1926 = ((($1925)) + 12|0); + $1927 = HEAP32[$1926>>2]|0; + $1928 = ((($1927)) + 78|0); + $1929 = HEAP16[$1928>>1]|0; + $1930 = $1929&65535; + $1931 = $1930 & 1; + $1932 = ($1931|0)==(1); + if ($1932) { + $1933 = HEAP32[$20>>2]|0; + $1934 = ((($1933)) + 16|0); + $1935 = HEAP32[$1934>>2]|0; + $1936 = ((($1935)) + 12|0); + $1937 = HEAP32[$1936>>2]|0; + $1938 = ((($1937)) + 78|0); + $1939 = HEAP16[$1938>>1]|0; + $1940 = $1939&65535; + $1941 = $1940 & 4; + $1942 = ($1941|0)==(4); + if (!($1942)) { break L21; } } - HEAP32[$pEnc>>2] = 5336; + HEAP32[$131>>2] = 5356; while(1) { - $1809 = HEAP32[$pEnc>>2]|0; - $1810 = HEAP32[$1809>>2]|0; - $1811 = ($1810|0)!=(0|0); - if (!($1811)) { + $1943 = HEAP32[$131>>2]|0; + $1944 = HEAP32[$1943>>2]|0; + $1945 = ($1944|0)!=(0|0); + if (!($1945)) { break; } - $1812 = HEAP32[$zRight>>2]|0; - $1813 = HEAP32[$pEnc>>2]|0; - $1814 = HEAP32[$1813>>2]|0; - $1815 = (_sqlite3StrICmp($1812,$1814)|0); - $1816 = (0)==($1815|0); - $1817 = HEAP32[$pEnc>>2]|0; - if ($1816) { - label = 309; + $1946 = HEAP32[$11>>2]|0; + $1947 = HEAP32[$131>>2]|0; + $1948 = HEAP32[$1947>>2]|0; + $1949 = (_sqlite3StrICmp($1946,$1948)|0); + $1950 = (0)==($1949|0); + $1951 = HEAP32[$131>>2]|0; + if ($1950) { + label = 306; break; } - $1840 = ((($1817)) + 8|0); - HEAP32[$pEnc>>2] = $1840; + $1974 = ((($1951)) + 8|0); + HEAP32[$131>>2] = $1974; } - if ((label|0) == 309) { - $1818 = ((($1817)) + 4|0); - $1819 = HEAP8[$1818>>0]|0; - $1820 = $1819&255; - $1821 = ($1820|0)!=(0); - if ($1821) { - $1822 = HEAP32[$pEnc>>2]|0; - $1823 = ((($1822)) + 4|0); - $1824 = HEAP8[$1823>>0]|0; - $1825 = $1824&255; - $1831 = $1825; + if ((label|0) == 306) { + $1952 = ((($1951)) + 4|0); + $1953 = HEAP8[$1952>>0]|0; + $1954 = $1953&255; + $1955 = ($1954|0)!=(0); + if ($1955) { + $1956 = HEAP32[$131>>2]|0; + $1957 = ((($1956)) + 4|0); + $1958 = HEAP8[$1957>>0]|0; + $1959 = $1958&255; + $1965 = $1959; } else { - $1826 = HEAP8[968>>0]|0; - $1827 = $1826 << 24 >> 24; - $1828 = ($1827|0)==(0); - $1829 = $1828 ? 3 : 2; - $1831 = $1829; + $1960 = HEAP8[936]|0; + $1961 = $1960 << 24 >> 24; + $1962 = ($1961|0)==(0); + $1963 = $1962 ? 3 : 2; + $1965 = $1963; } - $1830 = $1831&255; - $1832 = HEAP32[$db>>2]|0; - $1833 = ((($1832)) + 66|0); - HEAP8[$1833>>0] = $1830; - $1834 = HEAP32[$db>>2]|0; - $1835 = ((($1834)) + 16|0); - $1836 = HEAP32[$1835>>2]|0; - $1837 = ((($1836)) + 12|0); - $1838 = HEAP32[$1837>>2]|0; - $1839 = ((($1838)) + 77|0); - HEAP8[$1839>>0] = $1830; + $1964 = $1965&255; + $1966 = HEAP32[$20>>2]|0; + $1967 = ((($1966)) + 66|0); + HEAP8[$1967>>0] = $1964; + $1968 = HEAP32[$20>>2]|0; + $1969 = ((($1968)) + 16|0); + $1970 = HEAP32[$1969>>2]|0; + $1971 = ((($1970)) + 12|0); + $1972 = HEAP32[$1971>>2]|0; + $1973 = ((($1972)) + 77|0); + HEAP8[$1973>>0] = $1964; } - $1841 = HEAP32[$pEnc>>2]|0; - $1842 = HEAP32[$1841>>2]|0; - $1843 = ($1842|0)!=(0|0); - if ($1843) { + $1975 = HEAP32[$131>>2]|0; + $1976 = HEAP32[$1975>>2]|0; + $1977 = ($1976|0)!=(0|0); + if ($1977) { break L21; } - $1844 = HEAP32[$0>>2]|0; - $1845 = HEAP32[$zRight>>2]|0; - HEAP32[$vararg_buffer91>>2] = $1845; - _sqlite3ErrorMsg($1844,32647,$vararg_buffer91); + $1978 = HEAP32[$5>>2]|0; + $1979 = HEAP32[$11>>2]|0; + HEAP32[$vararg_buffer96>>2] = $1979; + _sqlite3ErrorMsg($1978,32100,$vararg_buffer96); break L21; break; } case 0: { - $1846 = HEAP32[$pPragma>>2]|0; - $1847 = ((($1846)) + 8|0); - $1848 = HEAP32[$1847>>2]|0; - HEAP32[$iCookie>>2] = $1848; - $1849 = HEAP32[$v>>2]|0; - $1850 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($1849,$1850); - $1851 = HEAP32[$zRight>>2]|0; - $1852 = ($1851|0)!=(0|0); - if ($1852) { - $1853 = HEAP32[$pPragma>>2]|0; - $1854 = ((($1853)) + 5|0); - $1855 = HEAP8[$1854>>0]|0; - $1856 = $1855&255; - $1857 = $1856 & 2; - $1858 = ($1857|0)==(0); - if ($1858) { - $1859 = HEAP32[$v>>2]|0; - $1860 = (_sqlite3VdbeAddOpList($1859,2,32672,0)|0); - HEAP32[$aOp44>>2] = $1860; - $1861 = HEAP32[$iDb>>2]|0; - $1862 = HEAP32[$aOp44>>2]|0; - $1863 = ((($1862)) + 4|0); - HEAP32[$1863>>2] = $1861; - $1864 = HEAP32[$iDb>>2]|0; - $1865 = HEAP32[$aOp44>>2]|0; - $1866 = ((($1865)) + 20|0); - $1867 = ((($1866)) + 4|0); - HEAP32[$1867>>2] = $1864; - $1868 = HEAP32[$iCookie>>2]|0; - $1869 = HEAP32[$aOp44>>2]|0; - $1870 = ((($1869)) + 20|0); - $1871 = ((($1870)) + 8|0); - HEAP32[$1871>>2] = $1868; - $1872 = HEAP32[$zRight>>2]|0; - $1873 = (_sqlite3Atoi($1872)|0); - $1874 = HEAP32[$aOp44>>2]|0; - $1875 = ((($1874)) + 20|0); - $1876 = ((($1875)) + 12|0); - HEAP32[$1876>>2] = $1873; + $1980 = HEAP32[$23>>2]|0; + $1981 = ((($1980)) + 8|0); + $1982 = HEAP32[$1981>>2]|0; + HEAP32[$132>>2] = $1982; + $1983 = HEAP32[$22>>2]|0; + $1984 = HEAP32[$15>>2]|0; + _sqlite3VdbeUsesBtree($1983,$1984); + $1985 = HEAP32[$11>>2]|0; + $1986 = ($1985|0)!=(0|0); + if ($1986) { + $1987 = HEAP32[$23>>2]|0; + $1988 = ((($1987)) + 5|0); + $1989 = HEAP8[$1988>>0]|0; + $1990 = $1989&255; + $1991 = $1990 & 2; + $1992 = ($1991|0)==(0); + if ($1992) { + $1993 = HEAP32[$22>>2]|0; + $1994 = (_sqlite3VdbeAddOpList($1993,2,32125,0)|0); + HEAP32[$133>>2] = $1994; + $1995 = HEAP32[$15>>2]|0; + $1996 = HEAP32[$133>>2]|0; + $1997 = ((($1996)) + 4|0); + HEAP32[$1997>>2] = $1995; + $1998 = HEAP32[$15>>2]|0; + $1999 = HEAP32[$133>>2]|0; + $2000 = ((($1999)) + 20|0); + $2001 = ((($2000)) + 4|0); + HEAP32[$2001>>2] = $1998; + $2002 = HEAP32[$132>>2]|0; + $2003 = HEAP32[$133>>2]|0; + $2004 = ((($2003)) + 20|0); + $2005 = ((($2004)) + 8|0); + HEAP32[$2005>>2] = $2002; + $2006 = HEAP32[$11>>2]|0; + $2007 = (_sqlite3Atoi($2006)|0); + $2008 = HEAP32[$133>>2]|0; + $2009 = ((($2008)) + 20|0); + $2010 = ((($2009)) + 12|0); + HEAP32[$2010>>2] = $2007; break L21; } } - $1877 = HEAP32[$v>>2]|0; - $1878 = (_sqlite3VdbeAddOpList($1877,3,32680,0)|0); - HEAP32[$aOp45>>2] = $1878; - $1879 = HEAP32[$iDb>>2]|0; - $1880 = HEAP32[$aOp45>>2]|0; - $1881 = ((($1880)) + 4|0); - HEAP32[$1881>>2] = $1879; - $1882 = HEAP32[$iDb>>2]|0; - $1883 = HEAP32[$aOp45>>2]|0; - $1884 = ((($1883)) + 20|0); - $1885 = ((($1884)) + 4|0); - HEAP32[$1885>>2] = $1882; - $1886 = HEAP32[$iCookie>>2]|0; - $1887 = HEAP32[$aOp45>>2]|0; - $1888 = ((($1887)) + 20|0); - $1889 = ((($1888)) + 12|0); - HEAP32[$1889>>2] = $1886; - $1890 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($1890,1); - $1891 = HEAP32[$v>>2]|0; - $1892 = HEAP32[$zLeft>>2]|0; - (_sqlite3VdbeSetColName($1891,0,0,$1892,(-1))|0); - $1893 = HEAP32[$v>>2]|0; - _sqlite3VdbeReusable($1893); + $2011 = HEAP32[$22>>2]|0; + $2012 = (_sqlite3VdbeAddOpList($2011,3,32133,0)|0); + HEAP32[$134>>2] = $2012; + $2013 = HEAP32[$15>>2]|0; + $2014 = HEAP32[$134>>2]|0; + $2015 = ((($2014)) + 4|0); + HEAP32[$2015>>2] = $2013; + $2016 = HEAP32[$15>>2]|0; + $2017 = HEAP32[$134>>2]|0; + $2018 = ((($2017)) + 20|0); + $2019 = ((($2018)) + 4|0); + HEAP32[$2019>>2] = $2016; + $2020 = HEAP32[$132>>2]|0; + $2021 = HEAP32[$134>>2]|0; + $2022 = ((($2021)) + 20|0); + $2023 = ((($2022)) + 12|0); + HEAP32[$2023>>2] = $2020; + $2024 = HEAP32[$22>>2]|0; + _sqlite3VdbeSetNumCols($2024,1); + $2025 = HEAP32[$22>>2]|0; + $2026 = HEAP32[$10>>2]|0; + (_sqlite3VdbeSetColName($2025,0,0,$2026,(-1))|0); + $2027 = HEAP32[$22>>2]|0; + _sqlite3VdbeReusable($2027); break L21; break; } case 8: { - HEAP32[$i46>>2] = 0; - $1894 = HEAP32[$0>>2]|0; - $1895 = ((($1894)) + 44|0); - HEAP32[$1895>>2] = 1; - $1896 = HEAP32[$v>>2]|0; - _setOneColumnName($1896,32692); + HEAP32[$135>>2] = 0; + $2028 = HEAP32[$5>>2]|0; + $2029 = ((($2028)) + 44|0); + HEAP32[$2029>>2] = 1; + $2030 = HEAP32[$22>>2]|0; + _setOneColumnName($2030,32145); while(1) { - $1897 = HEAP32[$i46>>2]|0; - $1898 = (($1897) + 1)|0; - HEAP32[$i46>>2] = $1898; - $1899 = (_sqlite3_compileoption_get($1897)|0); - HEAP32[$zOpt>>2] = $1899; - $1900 = ($1899|0)!=(0|0); - $1901 = HEAP32[$v>>2]|0; - if (!($1900)) { + $2031 = HEAP32[$135>>2]|0; + $2032 = (($2031) + 1)|0; + HEAP32[$135>>2] = $2032; + $2033 = (_sqlite3_compileoption_get($2031)|0); + HEAP32[$136>>2] = $2033; + $2034 = ($2033|0)!=(0|0); + $2035 = HEAP32[$22>>2]|0; + if (!($2034)) { break; } - $1902 = HEAP32[$zOpt>>2]|0; - (_sqlite3VdbeLoadString($1901,1,$1902)|0); - $1903 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1903,87,1,1)|0); + $2036 = HEAP32[$136>>2]|0; + (_sqlite3VdbeLoadString($2035,1,$2036)|0); + $2037 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($2037,87,1,1)|0); } - _sqlite3VdbeReusable($1901); + _sqlite3VdbeReusable($2035); break L21; break; } case 36: { - $1904 = HEAP32[$2>>2]|0; - $1905 = HEAP32[$1904>>2]|0; - $1906 = ($1905|0)!=(0|0); - $1907 = HEAP32[$iDb>>2]|0; - $1908 = $1906 ? $1907 : 10; - HEAP32[$iBt>>2] = $1908; - HEAP32[$eMode47>>2] = 0; - $1909 = HEAP32[$zRight>>2]|0; - $1910 = ($1909|0)!=(0|0); + $2038 = HEAP32[$7>>2]|0; + $2039 = HEAP32[$2038>>2]|0; + $2040 = ($2039|0)!=(0|0); + $2041 = HEAP32[$15>>2]|0; + $2042 = $2040 ? $2041 : 10; + HEAP32[$137>>2] = $2042; + HEAP32[$138>>2] = 0; + $2043 = HEAP32[$11>>2]|0; + $2044 = ($2043|0)!=(0|0); do { - if ($1910) { - $1911 = HEAP32[$zRight>>2]|0; - $1912 = (_sqlite3StrICmp($1911,32707)|0); - $1913 = ($1912|0)==(0); - if ($1913) { - HEAP32[$eMode47>>2] = 1; + if ($2044) { + $2045 = HEAP32[$11>>2]|0; + $2046 = (_sqlite3StrICmp($2045,32160)|0); + $2047 = ($2046|0)==(0); + if ($2047) { + HEAP32[$138>>2] = 1; break; } - $1914 = HEAP32[$zRight>>2]|0; - $1915 = (_sqlite3StrICmp($1914,32712)|0); - $1916 = ($1915|0)==(0); - if ($1916) { - HEAP32[$eMode47>>2] = 2; + $2048 = HEAP32[$11>>2]|0; + $2049 = (_sqlite3StrICmp($2048,32165)|0); + $2050 = ($2049|0)==(0); + if ($2050) { + HEAP32[$138>>2] = 2; break; } - $1917 = HEAP32[$zRight>>2]|0; - $1918 = (_sqlite3StrICmp($1917,32720)|0); - $1919 = ($1918|0)==(0); - if ($1919) { - HEAP32[$eMode47>>2] = 3; + $2051 = HEAP32[$11>>2]|0; + $2052 = (_sqlite3StrICmp($2051,32173)|0); + $2053 = ($2052|0)==(0); + if ($2053) { + HEAP32[$138>>2] = 3; } } } while(0); - $1920 = HEAP32[$v>>2]|0; - _setAllColumnNames($1920,3,5408); - $1921 = HEAP32[$0>>2]|0; - $1922 = ((($1921)) + 44|0); - HEAP32[$1922>>2] = 3; - $1923 = HEAP32[$v>>2]|0; - $1924 = HEAP32[$iBt>>2]|0; - $1925 = HEAP32[$eMode47>>2]|0; - (_sqlite3VdbeAddOp3($1923,8,$1924,$1925,1)|0); - $1926 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1926,87,1,3)|0); + $2054 = HEAP32[$22>>2]|0; + _setAllColumnNames($2054,3,5428); + $2055 = HEAP32[$5>>2]|0; + $2056 = ((($2055)) + 44|0); + HEAP32[$2056>>2] = 3; + $2057 = HEAP32[$22>>2]|0; + $2058 = HEAP32[$137>>2]|0; + $2059 = HEAP32[$138>>2]|0; + (_sqlite3VdbeAddOp3($2057,8,$2058,$2059,1)|0); + $2060 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($2060,87,1,3)|0); break L21; break; } case 35: { - $1927 = HEAP32[$zRight>>2]|0; - $1928 = ($1927|0)!=(0|0); - if ($1928) { - $1929 = HEAP32[$db>>2]|0; - $1930 = HEAP32[$zRight>>2]|0; - $1931 = (_sqlite3Atoi($1930)|0); - (_sqlite3_wal_autocheckpoint($1929,$1931)|0); + $2061 = HEAP32[$11>>2]|0; + $2062 = ($2061|0)!=(0|0); + if ($2062) { + $2063 = HEAP32[$20>>2]|0; + $2064 = HEAP32[$11>>2]|0; + $2065 = (_sqlite3Atoi($2064)|0); + (_sqlite3_wal_autocheckpoint($2063,$2065)|0); } - $1932 = HEAP32[$v>>2]|0; - $1933 = HEAP32[$db>>2]|0; - $1934 = ((($1933)) + 224|0); - $1935 = HEAP32[$1934>>2]|0; - $1936 = ($1935|0)==(139|0); - if ($1936) { - $1937 = HEAP32[$db>>2]|0; - $1938 = ((($1937)) + 228|0); - $1939 = HEAP32[$1938>>2]|0; - $1940 = $1939; - $1942 = $1940; + $2066 = HEAP32[$22>>2]|0; + $2067 = HEAP32[$20>>2]|0; + $2068 = ((($2067)) + 224|0); + $2069 = HEAP32[$2068>>2]|0; + $2070 = ($2069|0)==(145|0); + if ($2070) { + $2071 = HEAP32[$20>>2]|0; + $2072 = ((($2071)) + 228|0); + $2073 = HEAP32[$2072>>2]|0; + $2074 = $2073; + $2076 = $2074; } else { - $1942 = 0; + $2076 = 0; } - $1941 = ($1942|0)<(0); - $1943 = $1941 << 31 >> 31; - _returnSingleInt($1932,32729,$1942,$1943); + $2075 = ($2076|0)<(0); + $2077 = $2075 << 31 >> 31; + _returnSingleInt($2066,32182,$2076,$2077); break L21; break; } case 27: { - $1944 = HEAP32[$db>>2]|0; - (_sqlite3_db_release_memory($1944)|0); + $2078 = HEAP32[$20>>2]|0; + (_sqlite3_db_release_memory($2078)|0); break L21; break; } case 28: { - $1956 = HEAP32[$zRight>>2]|0; - $1957 = ($1956|0)!=(0|0); - if ($1957) { - $1958 = HEAP32[$zRight>>2]|0; - $1959 = (_sqlite3DecOrHexToI64($1958,$N)|0); - $1960 = ($1959|0)==(0); - if ($1960) { - $1961 = $N; - $1962 = $1961; - $1963 = HEAP32[$1962>>2]|0; - $1964 = (($1961) + 4)|0; - $1965 = $1964; - $1966 = HEAP32[$1965>>2]|0; - (_sqlite3_soft_heap_limit64($1963,$1966)|0); - $1967 = tempRet0; + $2090 = HEAP32[$11>>2]|0; + $2091 = ($2090|0)!=(0|0); + if ($2091) { + $2092 = HEAP32[$11>>2]|0; + $2093 = (_sqlite3DecOrHexToI64($2092,$139)|0); + $2094 = ($2093|0)==(0); + if ($2094) { + $2095 = $139; + $2096 = $2095; + $2097 = HEAP32[$2096>>2]|0; + $2098 = (($2095) + 4)|0; + $2099 = $2098; + $2100 = HEAP32[$2099>>2]|0; + (_sqlite3_soft_heap_limit64($2097,$2100)|0); + $2101 = tempRet0; } } - $1968 = HEAP32[$v>>2]|0; - $1969 = (_sqlite3_soft_heap_limit64(-1,-1)|0); - $1970 = tempRet0; - _returnSingleInt($1968,32756,$1969,$1970); + $2102 = HEAP32[$22>>2]|0; + $2103 = (_sqlite3_soft_heap_limit64(-1,-1)|0); + $2104 = tempRet0; + _returnSingleInt($2102,32209,$2103,$2104); break L21; break; } case 34: { - $1971 = HEAP32[$zRight>>2]|0; - $1972 = ($1971|0)!=(0|0); - if ($1972) { - $1973 = HEAP32[$zRight>>2]|0; - $1974 = (_sqlite3DecOrHexToI64($1973,$N48)|0); - $1975 = ($1974|0)==(0); - $1976 = $N48; - $1977 = $1976; - $1978 = HEAP32[$1977>>2]|0; - $1979 = (($1976) + 4)|0; - $1980 = $1979; - $1981 = HEAP32[$1980>>2]|0; - $1982 = ($1981|0)>(0); - $1983 = ($1978>>>0)>=(0); - $1984 = ($1981|0)==(0); - $1985 = $1984 & $1983; - $1986 = $1982 | $1985; - $or$cond14 = $1975 & $1986; - if ($or$cond14) { - $1987 = HEAP32[$db>>2]|0; - $1988 = $N48; - $1989 = $1988; - $1990 = HEAP32[$1989>>2]|0; - $1991 = (($1988) + 4)|0; - $1992 = $1991; - $1993 = HEAP32[$1992>>2]|0; - $1994 = $1990 & 2147483647; - (_sqlite3_limit($1987,11,$1994)|0); + $2105 = HEAP32[$11>>2]|0; + $2106 = ($2105|0)!=(0|0); + if ($2106) { + $2107 = HEAP32[$11>>2]|0; + $2108 = (_sqlite3DecOrHexToI64($2107,$140)|0); + $2109 = ($2108|0)==(0); + $2110 = $140; + $2111 = $2110; + $2112 = HEAP32[$2111>>2]|0; + $2113 = (($2110) + 4)|0; + $2114 = $2113; + $2115 = HEAP32[$2114>>2]|0; + $2116 = ($2115|0)>(0); + $2117 = ($2112>>>0)>=(0); + $2118 = ($2115|0)==(0); + $2119 = $2118 & $2117; + $2120 = $2116 | $2119; + $or$cond19 = $2109 & $2120; + if ($or$cond19) { + $2121 = HEAP32[$20>>2]|0; + $2122 = $140; + $2123 = $2122; + $2124 = HEAP32[$2123>>2]|0; + $2125 = (($2122) + 4)|0; + $2126 = $2125; + $2127 = HEAP32[$2126>>2]|0; + $2128 = $2124 & 2147483647; + (_sqlite3_limit($2121,11,$2128)|0); } } - $1995 = HEAP32[$v>>2]|0; - $1996 = HEAP32[$db>>2]|0; - $1997 = (_sqlite3_limit($1996,11,-1)|0); - $1998 = ($1997|0)<(0); - $1999 = $1998 << 31 >> 31; - _returnSingleInt($1995,32772,$1997,$1999); + $2129 = HEAP32[$22>>2]|0; + $2130 = HEAP32[$20>>2]|0; + $2131 = (_sqlite3_limit($2130,11,-1)|0); + $2132 = ($2131|0)<(0); + $2133 = $2132 << 31 >> 31; + _returnSingleInt($2129,32225,$2131,$2133); break L21; break; } default: { - $1945 = HEAP32[$zRight>>2]|0; - $1946 = ($1945|0)!=(0|0); - if ($1946) { - $1947 = HEAP32[$db>>2]|0; - $1948 = HEAP32[$zRight>>2]|0; - $1949 = (_sqlite3Atoi($1948)|0); - (_sqlite3_busy_timeout($1947,$1949)|0); + $2079 = HEAP32[$11>>2]|0; + $2080 = ($2079|0)!=(0|0); + if ($2080) { + $2081 = HEAP32[$20>>2]|0; + $2082 = HEAP32[$11>>2]|0; + $2083 = (_sqlite3Atoi($2082)|0); + (_sqlite3_busy_timeout($2081,$2083)|0); } - $1950 = HEAP32[$v>>2]|0; - $1951 = HEAP32[$db>>2]|0; - $1952 = ((($1951)) + 428|0); - $1953 = HEAP32[$1952>>2]|0; - $1954 = ($1953|0)<(0); - $1955 = $1954 << 31 >> 31; - _returnSingleInt($1950,32748,$1953,$1955); + $2084 = HEAP32[$22>>2]|0; + $2085 = HEAP32[$20>>2]|0; + $2086 = ((($2085)) + 428|0); + $2087 = HEAP32[$2086>>2]|0; + $2088 = ($2087|0)<(0); + $2089 = $2088 << 31 >> 31; + _returnSingleInt($2084,32201,$2087,$2089); break L21; } } @@ -129442,272 +104836,272 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } } } while(0); - $2000 = HEAP32[$db>>2]|0; - $2001 = HEAP32[$zLeft>>2]|0; - _sqlite3DbFree($2000,$2001); - $2002 = HEAP32[$db>>2]|0; - $2003 = HEAP32[$zRight>>2]|0; - _sqlite3DbFree($2002,$2003); + $2134 = HEAP32[$20>>2]|0; + $2135 = HEAP32[$10>>2]|0; + _sqlite3DbFree($2134,$2135); + $2136 = HEAP32[$20>>2]|0; + $2137 = HEAP32[$11>>2]|0; + _sqlite3DbFree($2136,$2137); STACKTOP = sp;return; } -function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { - $pParse = $pParse|0; - $pStepList = $pStepList|0; - $pAll = $pAll|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0; - var $nameToken = 0, $or$cond = 0, $pHash = 0, $pLink = 0, $pTab = 0, $pTrig = 0, $sFix = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer6 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $z = 0, $zName = 0, label = 0, sp = 0; +function _sqlite3FinishTrigger($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer6 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; $vararg_buffer6 = sp + 24|0; $vararg_buffer = sp; - $0 = sp + 108|0; - $1 = sp + 104|0; - $2 = sp + 100|0; - $pTrig = sp + 96|0; - $zName = sp + 92|0; - $db = sp + 88|0; - $sFix = sp + 64|0; - $iDb = sp + 56|0; - $nameToken = sp + 48|0; - $v = sp + 44|0; - $z = sp + 40|0; - $pLink = sp + 36|0; - $pHash = sp + 32|0; - $pTab = sp + 28|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pStepList; - HEAP32[$2>>2] = $pAll; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 444|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pTrig>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$db>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 444|0); - HEAP32[$9>>2] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 36|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0); - $14 = HEAP32[$pTrig>>2]|0; - $15 = ($14|0)!=(0|0); - $or$cond = $13 & $15; + $3 = sp + 108|0; + $4 = sp + 104|0; + $5 = sp + 100|0; + $6 = sp + 96|0; + $7 = sp + 92|0; + $8 = sp + 88|0; + $9 = sp + 64|0; + $10 = sp + 56|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 444|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$6>>2] = $19; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$8>>2] = $21; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 444|0); + HEAP32[$23>>2] = 0; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + $28 = HEAP32[$6>>2]|0; + $29 = ($28|0)!=(0|0); + $or$cond = $27 & $29; do { if ($or$cond) { - $16 = HEAP32[$pTrig>>2]|0; - $17 = HEAP32[$16>>2]|0; - HEAP32[$zName>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$pTrig>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3SchemaToIndex($19,$22)|0); - HEAP32[$iDb>>2] = $23; - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$pTrig>>2]|0; - $26 = ((($25)) + 28|0); - HEAP32[$26>>2] = $24; + $30 = HEAP32[$6>>2]|0; + $31 = HEAP32[$30>>2]|0; + HEAP32[$7>>2] = $31; + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = ((($34)) + 20|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_sqlite3SchemaToIndex($33,$36)|0); + HEAP32[$10>>2] = $37; + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 28|0); + HEAP32[$40>>2] = $38; while(1) { - $27 = HEAP32[$1>>2]|0; - $28 = ($27|0)!=(0|0); - $29 = HEAP32[$pTrig>>2]|0; - if (!($28)) { + $41 = HEAP32[$4>>2]|0; + $42 = ($41|0)!=(0|0); + $43 = HEAP32[$6>>2]|0; + if (!($42)) { break; } - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 4|0); - HEAP32[$31>>2] = $29; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 28|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$1>>2] = $34; - } - $35 = HEAP32[$29>>2]|0; - _sqlite3TokenInit($nameToken,$35); - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$iDb>>2]|0; - _sqlite3FixInit($sFix,$36,$37,18664,$nameToken); - $38 = HEAP32[$pTrig>>2]|0; - $39 = ((($38)) + 28|0); - $40 = HEAP32[$39>>2]|0; - $41 = (_sqlite3FixTriggerStep($sFix,$40)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - $43 = HEAP32[$pTrig>>2]|0; - $44 = ((($43)) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = (_sqlite3FixExpr($sFix,$45)|0); - $47 = ($46|0)!=(0); - if (!($47)) { - $48 = HEAP32[$db>>2]|0; - $49 = ((($48)) + 148|0); - $50 = ((($49)) + 5|0); - $51 = HEAP8[$50>>0]|0; - $52 = ($51<<24>>24)!=(0); - if (!($52)) { - $53 = HEAP32[$0>>2]|0; - $54 = (_sqlite3GetVdbe($53)|0); - HEAP32[$v>>2] = $54; - $55 = HEAP32[$v>>2]|0; - $56 = ($55|0)==(0|0); - if ($56) { + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 4|0); + HEAP32[$45>>2] = $43; + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 28|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$4>>2] = $48; + } + $49 = HEAP32[$43>>2]|0; + _sqlite3TokenInit($11,$49); + $50 = HEAP32[$3>>2]|0; + $51 = HEAP32[$10>>2]|0; + _sqlite3FixInit($9,$50,$51,31184,$11); + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 28|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3FixTriggerStep($9,$54)|0); + $56 = ($55|0)!=(0); + if (!($56)) { + $57 = HEAP32[$6>>2]|0; + $58 = ((($57)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3FixExpr($9,$59)|0); + $61 = ($60|0)!=(0); + if (!($61)) { + $62 = HEAP32[$8>>2]|0; + $63 = ((($62)) + 148|0); + $64 = ((($63)) + 5|0); + $65 = HEAP8[$64>>0]|0; + $66 = ($65<<24>>24)!=(0); + if (!($66)) { + $67 = HEAP32[$3>>2]|0; + $68 = (_sqlite3GetVdbe($67)|0); + HEAP32[$12>>2] = $68; + $69 = HEAP32[$12>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { break; } - $57 = HEAP32[$0>>2]|0; - $58 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($57,0,$58); - $59 = HEAP32[$db>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 4|0); - $64 = HEAP32[$63>>2]|0; - $65 = (_sqlite3DbStrNDup($59,$61,$64,0)|0); - HEAP32[$z>>2] = $65; - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$iDb>>2]|0; - $68 = HEAP32[$db>>2]|0; - $69 = ((($68)) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = (($70) + ($67<<4)|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$iDb>>2]|0; - $74 = ($73|0)==(1); - $75 = $74 ? 19905 : 19924; - $76 = HEAP32[$zName>>2]|0; - $77 = HEAP32[$pTrig>>2]|0; - $78 = ((($77)) + 4|0); - $79 = HEAP32[$78>>2]|0; - $80 = HEAP32[$z>>2]|0; - HEAP32[$vararg_buffer>>2] = $72; + $71 = HEAP32[$3>>2]|0; + $72 = HEAP32[$10>>2]|0; + _sqlite3BeginWriteOperation($71,0,$72); + $73 = HEAP32[$8>>2]|0; + $74 = HEAP32[$5>>2]|0; + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$5>>2]|0; + $77 = ((($76)) + 4|0); + $78 = HEAP32[$77>>2]|0; + $79 = (_sqlite3DbStrNDup($73,$75,$78,0)|0); + HEAP32[$13>>2] = $79; + $80 = HEAP32[$3>>2]|0; + $81 = HEAP32[$8>>2]|0; + $82 = ((($81)) + 16|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$10>>2]|0; + $85 = (($83) + ($84<<4)|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$10>>2]|0; + $88 = ($87|0)==(1); + $89 = $88 ? 26433 : 26452; + $90 = HEAP32[$7>>2]|0; + $91 = HEAP32[$6>>2]|0; + $92 = ((($91)) + 4|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$13>>2]|0; + HEAP32[$vararg_buffer>>2] = $86; $vararg_ptr2 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr2>>2] = $75; + HEAP32[$vararg_ptr2>>2] = $89; $vararg_ptr3 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr3>>2] = $76; + HEAP32[$vararg_ptr3>>2] = $90; $vararg_ptr4 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr4>>2] = $79; + HEAP32[$vararg_ptr4>>2] = $93; $vararg_ptr5 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr5>>2] = $80; - _sqlite3NestedParse($66,32010,$vararg_buffer); - $81 = HEAP32[$db>>2]|0; - $82 = HEAP32[$z>>2]|0; - _sqlite3DbFree($81,$82); - $83 = HEAP32[$0>>2]|0; - $84 = HEAP32[$iDb>>2]|0; - _sqlite3ChangeCookie($83,$84); - $85 = HEAP32[$v>>2]|0; - $86 = HEAP32[$iDb>>2]|0; - $87 = HEAP32[$db>>2]|0; - $88 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer6>>2] = $88; - $89 = (_sqlite3MPrintf($87,32074,$vararg_buffer6)|0); - _sqlite3VdbeAddParseSchemaOp($85,$86,$89); - } - $90 = HEAP32[$db>>2]|0; - $91 = ((($90)) + 148|0); - $92 = ((($91)) + 5|0); - $93 = HEAP8[$92>>0]|0; - $94 = ($93<<24>>24)!=(0); - if ($94) { - $95 = HEAP32[$pTrig>>2]|0; - HEAP32[$pLink>>2] = $95; - $96 = HEAP32[$iDb>>2]|0; - $97 = HEAP32[$db>>2]|0; - $98 = ((($97)) + 16|0); - $99 = HEAP32[$98>>2]|0; - $100 = (($99) + ($96<<4)|0); - $101 = ((($100)) + 12|0); - $102 = HEAP32[$101>>2]|0; - $103 = ((($102)) + 40|0); - HEAP32[$pHash>>2] = $103; - $104 = HEAP32[$pHash>>2]|0; - $105 = HEAP32[$zName>>2]|0; - $106 = HEAP32[$pTrig>>2]|0; - $107 = (_sqlite3HashInsert($104,$105,$106)|0); - HEAP32[$pTrig>>2] = $107; - $108 = HEAP32[$pTrig>>2]|0; - $109 = ($108|0)!=(0|0); - if ($109) { - $110 = HEAP32[$db>>2]|0; - _sqlite3OomFault($110); + HEAP32[$vararg_ptr5>>2] = $94; + _sqlite3NestedParse($80,31463,$vararg_buffer); + $95 = HEAP32[$8>>2]|0; + $96 = HEAP32[$13>>2]|0; + _sqlite3DbFree($95,$96); + $97 = HEAP32[$3>>2]|0; + $98 = HEAP32[$10>>2]|0; + _sqlite3ChangeCookie($97,$98); + $99 = HEAP32[$12>>2]|0; + $100 = HEAP32[$10>>2]|0; + $101 = HEAP32[$8>>2]|0; + $102 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer6>>2] = $102; + $103 = (_sqlite3MPrintf($101,31527,$vararg_buffer6)|0); + _sqlite3VdbeAddParseSchemaOp($99,$100,$103); + } + $104 = HEAP32[$8>>2]|0; + $105 = ((($104)) + 148|0); + $106 = ((($105)) + 5|0); + $107 = HEAP8[$106>>0]|0; + $108 = ($107<<24>>24)!=(0); + if ($108) { + $109 = HEAP32[$6>>2]|0; + HEAP32[$14>>2] = $109; + $110 = HEAP32[$8>>2]|0; + $111 = ((($110)) + 16|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$10>>2]|0; + $114 = (($112) + ($113<<4)|0); + $115 = ((($114)) + 12|0); + $116 = HEAP32[$115>>2]|0; + $117 = ((($116)) + 40|0); + HEAP32[$15>>2] = $117; + $118 = HEAP32[$15>>2]|0; + $119 = HEAP32[$7>>2]|0; + $120 = HEAP32[$6>>2]|0; + $121 = (_sqlite3HashInsert($118,$119,$120)|0); + HEAP32[$6>>2] = $121; + $122 = HEAP32[$6>>2]|0; + $123 = ($122|0)!=(0|0); + if ($123) { + $124 = HEAP32[$8>>2]|0; + _sqlite3OomFault($124); break; } - $111 = HEAP32[$pLink>>2]|0; - $112 = ((($111)) + 20|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$pLink>>2]|0; - $115 = ((($114)) + 24|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($113|0)==($116|0); - if ($117) { - $118 = HEAP32[$pLink>>2]|0; - $119 = ((($118)) + 24|0); - $120 = HEAP32[$119>>2]|0; - $121 = ((($120)) + 8|0); - $122 = HEAP32[$pLink>>2]|0; - $123 = ((($122)) + 4|0); - $124 = HEAP32[$123>>2]|0; - $125 = (_sqlite3HashFind($121,$124)|0); - HEAP32[$pTab>>2] = $125; - $126 = HEAP32[$pTab>>2]|0; - $127 = ((($126)) + 60|0); - $128 = HEAP32[$127>>2]|0; - $129 = HEAP32[$pLink>>2]|0; - $130 = ((($129)) + 32|0); - HEAP32[$130>>2] = $128; - $131 = HEAP32[$pLink>>2]|0; - $132 = HEAP32[$pTab>>2]|0; - $133 = ((($132)) + 60|0); - HEAP32[$133>>2] = $131; + $125 = HEAP32[$14>>2]|0; + $126 = ((($125)) + 20|0); + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$14>>2]|0; + $129 = ((($128)) + 24|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($127|0)==($130|0); + if ($131) { + $132 = HEAP32[$14>>2]|0; + $133 = ((($132)) + 24|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 8|0); + $136 = HEAP32[$14>>2]|0; + $137 = ((($136)) + 4|0); + $138 = HEAP32[$137>>2]|0; + $139 = (_sqlite3HashFind($135,$138)|0); + HEAP32[$16>>2] = $139; + $140 = HEAP32[$16>>2]|0; + $141 = ((($140)) + 60|0); + $142 = HEAP32[$141>>2]|0; + $143 = HEAP32[$14>>2]|0; + $144 = ((($143)) + 32|0); + HEAP32[$144>>2] = $142; + $145 = HEAP32[$14>>2]|0; + $146 = HEAP32[$16>>2]|0; + $147 = ((($146)) + 60|0); + HEAP32[$147>>2] = $145; } } } } } } while(0); - $134 = HEAP32[$db>>2]|0; - $135 = HEAP32[$pTrig>>2]|0; - _sqlite3DeleteTrigger($134,$135); - $136 = HEAP32[$db>>2]|0; - $137 = HEAP32[$1>>2]|0; - _sqlite3DeleteTriggerStep($136,$137); + $148 = HEAP32[$8>>2]|0; + $149 = HEAP32[$6>>2]|0; + _sqlite3DeleteTrigger($148,$149); + $150 = HEAP32[$8>>2]|0; + $151 = HEAP32[$4>>2]|0; + _sqlite3DeleteTriggerStep($150,$151); STACKTOP = sp;return; } -function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTableName,$pWhen,$isTemp,$noErr) { - $pParse = $pParse|0; - $pName1 = $pName1|0; - $pName2 = $pName2|0; - $tr_tm = $tr_tm|0; - $op = $op|0; - $pColumns = $pColumns|0; - $pTableName = $pTableName|0; - $pWhen = $pWhen|0; - $isTemp = $isTemp|0; - $noErr = $noErr|0; - var $$old = 0, $$old10 = 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, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $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, $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, $code = 0, $db = 0, $iDb = 0, $iTabDb = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pName = 0, $pTab = 0, $pTrigger = 0, $sFix = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer14 = 0, $vararg_buffer16 = 0; - var $vararg_buffer18 = 0, $vararg_buffer23 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr26 = 0, $zDb = 0, $zDbTrig = 0, $zName = 0, label = 0, sp = 0; +function _sqlite3BeginTrigger($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + var $$old = 0, $$old10 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 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$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $vararg_buffer = 0; + var $vararg_buffer12 = 0, $vararg_buffer14 = 0, $vararg_buffer16 = 0, $vararg_buffer18 = 0, $vararg_buffer23 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr26 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; $vararg_buffer23 = sp + 48|0; @@ -129716,59 +105110,59 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $vararg_buffer14 = sp + 16|0; $vararg_buffer12 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 156|0; - $1 = sp + 152|0; - $2 = sp + 148|0; - $3 = sp + 144|0; - $4 = sp + 140|0; - $5 = sp + 136|0; - $6 = sp + 132|0; - $7 = sp + 128|0; - $8 = sp + 124|0; - $9 = sp + 120|0; - $pTrigger = sp + 116|0; - $pTab = sp + 112|0; - $zName = sp + 108|0; - $db = sp + 104|0; - $iDb = sp + 100|0; - $pName = sp + 96|0; - $sFix = sp + 72|0; - $iTabDb = sp + 68|0; - $code = sp + 64|0; - $zDb = sp + 60|0; - $zDbTrig = sp + 56|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pName1; - HEAP32[$2>>2] = $pName2; - HEAP32[$3>>2] = $tr_tm; - HEAP32[$4>>2] = $op; - HEAP32[$5>>2] = $pColumns; - HEAP32[$6>>2] = $pTableName; - HEAP32[$7>>2] = $pWhen; - HEAP32[$8>>2] = $isTemp; - HEAP32[$9>>2] = $noErr; - HEAP32[$pTrigger>>2] = 0; - HEAP32[$zName>>2] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$10>>2]|0; - HEAP32[$db>>2] = $11; - $12 = HEAP32[$8>>2]|0; - $13 = ($12|0)!=(0); + $10 = sp + 156|0; + $11 = sp + 152|0; + $12 = sp + 148|0; + $13 = sp + 144|0; + $14 = sp + 140|0; + $15 = sp + 136|0; + $16 = sp + 132|0; + $17 = sp + 128|0; + $18 = sp + 124|0; + $19 = sp + 120|0; + $20 = sp + 116|0; + $21 = sp + 112|0; + $22 = sp + 108|0; + $23 = sp + 104|0; + $24 = sp + 100|0; + $25 = sp + 96|0; + $26 = sp + 72|0; + $27 = sp + 68|0; + $28 = sp + 64|0; + $29 = sp + 60|0; + $30 = sp + 56|0; + HEAP32[$10>>2] = $0; + HEAP32[$11>>2] = $1; + HEAP32[$12>>2] = $2; + HEAP32[$13>>2] = $3; + HEAP32[$14>>2] = $4; + HEAP32[$15>>2] = $5; + HEAP32[$16>>2] = $6; + HEAP32[$17>>2] = $7; + HEAP32[$18>>2] = $8; + HEAP32[$19>>2] = $9; + HEAP32[$20>>2] = 0; + HEAP32[$22>>2] = 0; + $31 = HEAP32[$10>>2]|0; + $32 = HEAP32[$31>>2]|0; + HEAP32[$23>>2] = $32; + $33 = HEAP32[$18>>2]|0; + $34 = ($33|0)!=(0); do { - if ($13) { - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16>>>0)>(0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($18,31693,$vararg_buffer); + if ($34) { + $35 = HEAP32[$12>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37>>>0)>(0); + if ($38) { + $39 = HEAP32[$10>>2]|0; + _sqlite3ErrorMsg($39,31138,$vararg_buffer); break; } else { - HEAP32[$iDb>>2] = 1; - $19 = HEAP32[$1>>2]|0; - HEAP32[$pName>>2] = $19; - $$old = HEAP32[$6>>2]|0; + HEAP32[$24>>2] = 1; + $40 = HEAP32[$11>>2]|0; + HEAP32[$25>>2] = $40; + $$old = HEAP32[$16>>2]|0; $$old10 = ($$old|0)!=(0|0); if ($$old10) { label = 6; @@ -129778,16 +105172,16 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab } } } else { - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = (_sqlite3TwoPartName($20,$21,$22,$pName)|0); - HEAP32[$iDb>>2] = $23; - $24 = HEAP32[$iDb>>2]|0; - $25 = ($24|0)>=(0); - $26 = HEAP32[$6>>2]|0; - $27 = ($26|0)!=(0|0); - $or$cond11 = $25 & $27; + $41 = HEAP32[$10>>2]|0; + $42 = HEAP32[$11>>2]|0; + $43 = HEAP32[$12>>2]|0; + $44 = (_sqlite3TwoPartName($41,$42,$43,$25)|0); + HEAP32[$24>>2] = $44; + $45 = HEAP32[$24>>2]|0; + $46 = ($45|0)>=(0); + $47 = HEAP32[$16>>2]|0; + $48 = ($47|0)!=(0|0); + $or$cond11 = $46 & $48; if ($or$cond11) { label = 6; } @@ -129795,320 +105189,320 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab } while(0); do { if ((label|0) == 6) { - $28 = HEAP32[$db>>2]|0; - $29 = ((($28)) + 69|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = ($31|0)!=(0); - if (!($32)) { - $33 = HEAP32[$db>>2]|0; - $34 = ((($33)) + 148|0); - $35 = ((($34)) + 5|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = ($37|0)!=(0); - $39 = HEAP32[$iDb>>2]|0; - $40 = ($39|0)!=(1); - $or$cond = $38 & $40; + $49 = HEAP32[$23>>2]|0; + $50 = ((($49)) + 69|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = ($52|0)!=(0); + if (!($53)) { + $54 = HEAP32[$23>>2]|0; + $55 = ((($54)) + 148|0); + $56 = ((($55)) + 5|0); + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = ($58|0)!=(0); + $60 = HEAP32[$24>>2]|0; + $61 = ($60|0)!=(1); + $or$cond = $59 & $61; if ($or$cond) { - $41 = HEAP32[$db>>2]|0; - $42 = HEAP32[$6>>2]|0; - $43 = ((($42)) + 8|0); - $44 = ((($43)) + 4|0); - $45 = HEAP32[$44>>2]|0; - _sqlite3DbFree($41,$45); - $46 = HEAP32[$6>>2]|0; - $47 = ((($46)) + 8|0); - $48 = ((($47)) + 4|0); - HEAP32[$48>>2] = 0; + $62 = HEAP32[$23>>2]|0; + $63 = HEAP32[$16>>2]|0; + $64 = ((($63)) + 8|0); + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + _sqlite3DbFree($62,$66); + $67 = HEAP32[$16>>2]|0; + $68 = ((($67)) + 8|0); + $69 = ((($68)) + 4|0); + HEAP32[$69>>2] = 0; } - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$6>>2]|0; - $51 = (_sqlite3SrcListLookup($49,$50)|0); - HEAP32[$pTab>>2] = $51; - $52 = HEAP32[$db>>2]|0; - $53 = ((($52)) + 148|0); - $54 = ((($53)) + 5|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = ($56|0)==(0); - if ($57) { - $58 = HEAP32[$2>>2]|0; - $59 = ((($58)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)==(0); - $62 = HEAP32[$pTab>>2]|0; - $63 = ($62|0)!=(0|0); - $or$cond3 = $61 & $63; + $70 = HEAP32[$10>>2]|0; + $71 = HEAP32[$16>>2]|0; + $72 = (_sqlite3SrcListLookup($70,$71)|0); + HEAP32[$21>>2] = $72; + $73 = HEAP32[$23>>2]|0; + $74 = ((($73)) + 148|0); + $75 = ((($74)) + 5|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = ($77|0)==(0); + if ($78) { + $79 = HEAP32[$12>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==(0); + $83 = HEAP32[$21>>2]|0; + $84 = ($83|0)!=(0|0); + $or$cond3 = $82 & $84; if ($or$cond3) { - $64 = HEAP32[$pTab>>2]|0; - $65 = ((($64)) + 64|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$db>>2]|0; - $68 = ((($67)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ((($69)) + 16|0); - $71 = ((($70)) + 12|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($66|0)==($72|0); - if ($73) { - HEAP32[$iDb>>2] = 1; + $85 = HEAP32[$21>>2]|0; + $86 = ((($85)) + 64|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$23>>2]|0; + $89 = ((($88)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $91 = ((($90)) + 16|0); + $92 = ((($91)) + 12|0); + $93 = HEAP32[$92>>2]|0; + $94 = ($87|0)==($93|0); + if ($94) { + HEAP32[$24>>2] = 1; } } } - $74 = HEAP32[$db>>2]|0; - $75 = ((($74)) + 69|0); - $76 = HEAP8[$75>>0]|0; - $77 = ($76<<24>>24)!=(0); - if (!($77)) { - $78 = HEAP32[$0>>2]|0; - $79 = HEAP32[$iDb>>2]|0; - $80 = HEAP32[$pName>>2]|0; - _sqlite3FixInit($sFix,$78,$79,18664,$80); - $81 = HEAP32[$6>>2]|0; - $82 = (_sqlite3FixSrcList($sFix,$81)|0); - $83 = ($82|0)!=(0); - if (!($83)) { - $84 = HEAP32[$0>>2]|0; - $85 = HEAP32[$6>>2]|0; - $86 = (_sqlite3SrcListLookup($84,$85)|0); - HEAP32[$pTab>>2] = $86; - $87 = HEAP32[$pTab>>2]|0; - $88 = ($87|0)!=(0|0); - if (!($88)) { - $89 = HEAP32[$db>>2]|0; - $90 = ((($89)) + 148|0); - $91 = ((($90)) + 4|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = ($93|0)==(1); - if (!($94)) { + $95 = HEAP32[$23>>2]|0; + $96 = ((($95)) + 69|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)!=(0); + if (!($98)) { + $99 = HEAP32[$10>>2]|0; + $100 = HEAP32[$24>>2]|0; + $101 = HEAP32[$25>>2]|0; + _sqlite3FixInit($26,$99,$100,31184,$101); + $102 = HEAP32[$16>>2]|0; + $103 = (_sqlite3FixSrcList($26,$102)|0); + $104 = ($103|0)!=(0); + if (!($104)) { + $105 = HEAP32[$10>>2]|0; + $106 = HEAP32[$16>>2]|0; + $107 = (_sqlite3SrcListLookup($105,$106)|0); + HEAP32[$21>>2] = $107; + $108 = HEAP32[$21>>2]|0; + $109 = ($108|0)!=(0|0); + if (!($109)) { + $110 = HEAP32[$23>>2]|0; + $111 = ((($110)) + 148|0); + $112 = ((($111)) + 4|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $115 = ($114|0)==(1); + if (!($115)) { break; } - $95 = HEAP32[$db>>2]|0; - $96 = ((($95)) + 148|0); - $97 = ((($96)) + 6|0); - HEAP8[$97>>0] = 1; + $116 = HEAP32[$23>>2]|0; + $117 = ((($116)) + 148|0); + $118 = ((($117)) + 6|0); + HEAP8[$118>>0] = 1; break; } - $98 = HEAP32[$pTab>>2]|0; - $99 = ((($98)) + 42|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100&255; - $102 = $101 & 16; - $103 = ($102|0)!=(0); - if ($103) { - $104 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($104,31739,$vararg_buffer12); + $119 = HEAP32[$21>>2]|0; + $120 = ((($119)) + 42|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = $122 & 16; + $124 = ($123|0)!=(0); + if ($124) { + $125 = HEAP32[$10>>2]|0; + _sqlite3ErrorMsg($125,31192,$vararg_buffer12); break; } - $105 = HEAP32[$db>>2]|0; - $106 = HEAP32[$pName>>2]|0; - $107 = (_sqlite3NameFromToken($105,$106)|0); - HEAP32[$zName>>2] = $107; - $108 = HEAP32[$zName>>2]|0; - $109 = ($108|0)!=(0|0); - if ($109) { - $110 = HEAP32[$0>>2]|0; - $111 = HEAP32[$zName>>2]|0; - $112 = (_sqlite3CheckObjectName($110,$111)|0); - $113 = (0)!=($112|0); - if (!($113)) { - $114 = HEAP32[$iDb>>2]|0; - $115 = HEAP32[$db>>2]|0; - $116 = ((($115)) + 16|0); - $117 = HEAP32[$116>>2]|0; - $118 = (($117) + ($114<<4)|0); - $119 = ((($118)) + 12|0); - $120 = HEAP32[$119>>2]|0; - $121 = ((($120)) + 40|0); - $122 = HEAP32[$zName>>2]|0; - $123 = (_sqlite3HashFind($121,$122)|0); - $124 = ($123|0)!=(0|0); - if ($124) { - $125 = HEAP32[$9>>2]|0; - $126 = ($125|0)!=(0); - $127 = HEAP32[$0>>2]|0; - if ($126) { - $129 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($127,$129); + $126 = HEAP32[$23>>2]|0; + $127 = HEAP32[$25>>2]|0; + $128 = (_sqlite3NameFromToken($126,$127)|0); + HEAP32[$22>>2] = $128; + $129 = HEAP32[$22>>2]|0; + $130 = ($129|0)!=(0|0); + if ($130) { + $131 = HEAP32[$10>>2]|0; + $132 = HEAP32[$22>>2]|0; + $133 = (_sqlite3CheckObjectName($131,$132)|0); + $134 = (0)!=($133|0); + if (!($134)) { + $135 = HEAP32[$23>>2]|0; + $136 = ((($135)) + 16|0); + $137 = HEAP32[$136>>2]|0; + $138 = HEAP32[$24>>2]|0; + $139 = (($137) + ($138<<4)|0); + $140 = ((($139)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = ((($141)) + 40|0); + $143 = HEAP32[$22>>2]|0; + $144 = (_sqlite3HashFind($142,$143)|0); + $145 = ($144|0)!=(0|0); + if ($145) { + $146 = HEAP32[$19>>2]|0; + $147 = ($146|0)!=(0); + $148 = HEAP32[$10>>2]|0; + if ($147) { + $150 = HEAP32[$24>>2]|0; + _sqlite3CodeVerifySchema($148,$150); break; } else { - $128 = HEAP32[$pName>>2]|0; - HEAP32[$vararg_buffer14>>2] = $128; - _sqlite3ErrorMsg($127,31780,$vararg_buffer14); + $149 = HEAP32[$25>>2]|0; + HEAP32[$vararg_buffer14>>2] = $149; + _sqlite3ErrorMsg($148,31233,$vararg_buffer14); break; } } - $130 = HEAP32[$pTab>>2]|0; - $131 = HEAP32[$130>>2]|0; - $132 = (_sqlite3_strnicmp($131,27844,7)|0); - $133 = ($132|0)==(0); - if ($133) { - $134 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($134,31806,$vararg_buffer16); + $151 = HEAP32[$21>>2]|0; + $152 = HEAP32[$151>>2]|0; + $153 = (_sqlite3_strnicmp($152,26664,7)|0); + $154 = ($153|0)==(0); + if ($154) { + $155 = HEAP32[$10>>2]|0; + _sqlite3ErrorMsg($155,31259,$vararg_buffer16); break; } - $135 = HEAP32[$pTab>>2]|0; - $136 = ((($135)) + 12|0); - $137 = HEAP32[$136>>2]|0; - $138 = ($137|0)!=(0|0); - $139 = HEAP32[$3>>2]|0; - $140 = ($139|0)!=(77); - $or$cond5 = $138 & $140; + $156 = HEAP32[$21>>2]|0; + $157 = ((($156)) + 12|0); + $158 = HEAP32[$157>>2]|0; + $159 = ($158|0)!=(0|0); + $160 = HEAP32[$13>>2]|0; + $161 = ($160|0)!=(77); + $or$cond5 = $159 & $161; if ($or$cond5) { - $141 = HEAP32[$0>>2]|0; - $142 = HEAP32[$3>>2]|0; - $143 = ($142|0)==(63); - $144 = $143 ? 31844 : 31851; - $145 = HEAP32[$6>>2]|0; - HEAP32[$vararg_buffer18>>2] = $144; + $162 = HEAP32[$10>>2]|0; + $163 = HEAP32[$13>>2]|0; + $164 = ($163|0)==(63); + $165 = $164 ? 31297 : 31304; + $166 = HEAP32[$16>>2]|0; + HEAP32[$vararg_buffer18>>2] = $165; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $145; + HEAP32[$vararg_ptr21>>2] = $166; $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); HEAP32[$vararg_ptr22>>2] = 0; - _sqlite3ErrorMsg($141,31857,$vararg_buffer18); + _sqlite3ErrorMsg($162,31310,$vararg_buffer18); break; } - $146 = HEAP32[$pTab>>2]|0; - $147 = ((($146)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==(0|0); - $150 = HEAP32[$3>>2]|0; - $151 = ($150|0)==(77); - $or$cond7 = $149 & $151; + $167 = HEAP32[$21>>2]|0; + $168 = ((($167)) + 12|0); + $169 = HEAP32[$168>>2]|0; + $170 = ($169|0)==(0|0); + $171 = HEAP32[$13>>2]|0; + $172 = ($171|0)==(77); + $or$cond7 = $170 & $172; if ($or$cond7) { - $152 = HEAP32[$0>>2]|0; - $153 = HEAP32[$6>>2]|0; - HEAP32[$vararg_buffer23>>2] = $153; + $173 = HEAP32[$10>>2]|0; + $174 = HEAP32[$16>>2]|0; + HEAP32[$vararg_buffer23>>2] = $174; $vararg_ptr26 = ((($vararg_buffer23)) + 4|0); HEAP32[$vararg_ptr26>>2] = 0; - _sqlite3ErrorMsg($152,31894,$vararg_buffer23); + _sqlite3ErrorMsg($173,31347,$vararg_buffer23); break; } - $154 = HEAP32[$db>>2]|0; - $155 = HEAP32[$pTab>>2]|0; - $156 = ((($155)) + 64|0); - $157 = HEAP32[$156>>2]|0; - $158 = (_sqlite3SchemaToIndex($154,$157)|0); - HEAP32[$iTabDb>>2] = $158; - HEAP32[$code>>2] = 7; - $159 = HEAP32[$iTabDb>>2]|0; - $160 = HEAP32[$db>>2]|0; - $161 = ((($160)) + 16|0); - $162 = HEAP32[$161>>2]|0; - $163 = (($162) + ($159<<4)|0); - $164 = HEAP32[$163>>2]|0; - HEAP32[$zDb>>2] = $164; - $165 = HEAP32[$8>>2]|0; - $166 = ($165|0)!=(0); - if ($166) { - $167 = HEAP32[$db>>2]|0; - $168 = ((($167)) + 16|0); - $169 = HEAP32[$168>>2]|0; - $170 = ((($169)) + 16|0); - $171 = HEAP32[$170>>2]|0; - $173 = $171; + $175 = HEAP32[$23>>2]|0; + $176 = HEAP32[$21>>2]|0; + $177 = ((($176)) + 64|0); + $178 = HEAP32[$177>>2]|0; + $179 = (_sqlite3SchemaToIndex($175,$178)|0); + HEAP32[$27>>2] = $179; + HEAP32[$28>>2] = 7; + $180 = HEAP32[$23>>2]|0; + $181 = ((($180)) + 16|0); + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$27>>2]|0; + $184 = (($182) + ($183<<4)|0); + $185 = HEAP32[$184>>2]|0; + HEAP32[$29>>2] = $185; + $186 = HEAP32[$18>>2]|0; + $187 = ($186|0)!=(0); + if ($187) { + $188 = HEAP32[$23>>2]|0; + $189 = ((($188)) + 16|0); + $190 = HEAP32[$189>>2]|0; + $191 = ((($190)) + 16|0); + $192 = HEAP32[$191>>2]|0; + $194 = $192; } else { - $172 = HEAP32[$zDb>>2]|0; - $173 = $172; + $193 = HEAP32[$29>>2]|0; + $194 = $193; } - HEAP32[$zDbTrig>>2] = $173; - $174 = HEAP32[$iTabDb>>2]|0; - $175 = ($174|0)==(1); - $176 = HEAP32[$8>>2]|0; - $177 = ($176|0)!=(0); - $or$cond9 = $175 | $177; + HEAP32[$30>>2] = $194; + $195 = HEAP32[$27>>2]|0; + $196 = ($195|0)==(1); + $197 = HEAP32[$18>>2]|0; + $198 = ($197|0)!=(0); + $or$cond9 = $196 | $198; if ($or$cond9) { - HEAP32[$code>>2] = 5; + HEAP32[$28>>2] = 5; } - $178 = HEAP32[$0>>2]|0; - $179 = HEAP32[$code>>2]|0; - $180 = HEAP32[$zName>>2]|0; - $181 = HEAP32[$pTab>>2]|0; - $182 = HEAP32[$181>>2]|0; - $183 = HEAP32[$zDbTrig>>2]|0; - $184 = (_sqlite3AuthCheck($178,$179,$180,$182,$183)|0); - $185 = ($184|0)!=(0); - if (!($185)) { - $186 = HEAP32[$0>>2]|0; - $187 = HEAP32[$iTabDb>>2]|0; - $188 = ($187|0)==(1); - $189 = $188 ? 19905 : 19924; - $190 = HEAP32[$zDb>>2]|0; - $191 = (_sqlite3AuthCheck($186,18,$189,0,$190)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - $193 = HEAP32[$3>>2]|0; - $194 = ($193|0)==(77); - if ($194) { - HEAP32[$3>>2] = 63; + $199 = HEAP32[$10>>2]|0; + $200 = HEAP32[$28>>2]|0; + $201 = HEAP32[$22>>2]|0; + $202 = HEAP32[$21>>2]|0; + $203 = HEAP32[$202>>2]|0; + $204 = HEAP32[$30>>2]|0; + $205 = (_sqlite3AuthCheck($199,$200,$201,$203,$204)|0); + $206 = ($205|0)!=(0); + if (!($206)) { + $207 = HEAP32[$10>>2]|0; + $208 = HEAP32[$27>>2]|0; + $209 = ($208|0)==(1); + $210 = $209 ? 26433 : 26452; + $211 = HEAP32[$29>>2]|0; + $212 = (_sqlite3AuthCheck($207,18,$210,0,$211)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + $214 = HEAP32[$13>>2]|0; + $215 = ($214|0)==(77); + if ($215) { + HEAP32[$13>>2] = 63; } - $195 = HEAP32[$db>>2]|0; - $196 = (_sqlite3DbMallocZero($195,36,0)|0); - HEAP32[$pTrigger>>2] = $196; - $197 = HEAP32[$pTrigger>>2]|0; - $198 = ($197|0)==(0|0); - if ($198) { + $216 = HEAP32[$23>>2]|0; + $217 = (_sqlite3DbMallocZero($216,36,0)|0); + HEAP32[$20>>2] = $217; + $218 = HEAP32[$20>>2]|0; + $219 = ($218|0)==(0|0); + if ($219) { break; } - $199 = HEAP32[$zName>>2]|0; - $200 = HEAP32[$pTrigger>>2]|0; - HEAP32[$200>>2] = $199; - HEAP32[$zName>>2] = 0; - $201 = HEAP32[$db>>2]|0; - $202 = HEAP32[$6>>2]|0; - $203 = ((($202)) + 8|0); - $204 = ((($203)) + 8|0); - $205 = HEAP32[$204>>2]|0; - $206 = (_sqlite3DbStrDup($201,$205)|0); - $207 = HEAP32[$pTrigger>>2]|0; - $208 = ((($207)) + 4|0); - HEAP32[$208>>2] = $206; - $209 = HEAP32[$iDb>>2]|0; - $210 = HEAP32[$db>>2]|0; - $211 = ((($210)) + 16|0); - $212 = HEAP32[$211>>2]|0; - $213 = (($212) + ($209<<4)|0); - $214 = ((($213)) + 12|0); - $215 = HEAP32[$214>>2]|0; - $216 = HEAP32[$pTrigger>>2]|0; - $217 = ((($216)) + 20|0); - HEAP32[$217>>2] = $215; - $218 = HEAP32[$pTab>>2]|0; - $219 = ((($218)) + 64|0); - $220 = HEAP32[$219>>2]|0; - $221 = HEAP32[$pTrigger>>2]|0; - $222 = ((($221)) + 24|0); - HEAP32[$222>>2] = $220; - $223 = HEAP32[$4>>2]|0; - $224 = $223&255; - $225 = HEAP32[$pTrigger>>2]|0; - $226 = ((($225)) + 8|0); - HEAP8[$226>>0] = $224; - $227 = HEAP32[$3>>2]|0; - $228 = ($227|0)==(63); - $229 = $228 ? 1 : 2; - $230 = $229&255; - $231 = HEAP32[$pTrigger>>2]|0; - $232 = ((($231)) + 9|0); - HEAP8[$232>>0] = $230; - $233 = HEAP32[$db>>2]|0; - $234 = HEAP32[$7>>2]|0; - $235 = (_sqlite3ExprDup($233,$234,1)|0); - $236 = HEAP32[$pTrigger>>2]|0; - $237 = ((($236)) + 12|0); - HEAP32[$237>>2] = $235; - $238 = HEAP32[$db>>2]|0; - $239 = HEAP32[$5>>2]|0; - $240 = (_sqlite3IdListDup($238,$239)|0); - $241 = HEAP32[$pTrigger>>2]|0; - $242 = ((($241)) + 16|0); - HEAP32[$242>>2] = $240; - $243 = HEAP32[$pTrigger>>2]|0; - $244 = HEAP32[$0>>2]|0; - $245 = ((($244)) + 444|0); - HEAP32[$245>>2] = $243; + $220 = HEAP32[$22>>2]|0; + $221 = HEAP32[$20>>2]|0; + HEAP32[$221>>2] = $220; + HEAP32[$22>>2] = 0; + $222 = HEAP32[$23>>2]|0; + $223 = HEAP32[$16>>2]|0; + $224 = ((($223)) + 8|0); + $225 = ((($224)) + 8|0); + $226 = HEAP32[$225>>2]|0; + $227 = (_sqlite3DbStrDup($222,$226)|0); + $228 = HEAP32[$20>>2]|0; + $229 = ((($228)) + 4|0); + HEAP32[$229>>2] = $227; + $230 = HEAP32[$23>>2]|0; + $231 = ((($230)) + 16|0); + $232 = HEAP32[$231>>2]|0; + $233 = HEAP32[$24>>2]|0; + $234 = (($232) + ($233<<4)|0); + $235 = ((($234)) + 12|0); + $236 = HEAP32[$235>>2]|0; + $237 = HEAP32[$20>>2]|0; + $238 = ((($237)) + 20|0); + HEAP32[$238>>2] = $236; + $239 = HEAP32[$21>>2]|0; + $240 = ((($239)) + 64|0); + $241 = HEAP32[$240>>2]|0; + $242 = HEAP32[$20>>2]|0; + $243 = ((($242)) + 24|0); + HEAP32[$243>>2] = $241; + $244 = HEAP32[$14>>2]|0; + $245 = $244&255; + $246 = HEAP32[$20>>2]|0; + $247 = ((($246)) + 8|0); + HEAP8[$247>>0] = $245; + $248 = HEAP32[$13>>2]|0; + $249 = ($248|0)==(63); + $250 = $249 ? 1 : 2; + $251 = $250&255; + $252 = HEAP32[$20>>2]|0; + $253 = ((($252)) + 9|0); + HEAP8[$253>>0] = $251; + $254 = HEAP32[$23>>2]|0; + $255 = HEAP32[$17>>2]|0; + $256 = (_sqlite3ExprDup($254,$255,1)|0); + $257 = HEAP32[$20>>2]|0; + $258 = ((($257)) + 12|0); + HEAP32[$258>>2] = $256; + $259 = HEAP32[$23>>2]|0; + $260 = HEAP32[$15>>2]|0; + $261 = (_sqlite3IdListDup($259,$260)|0); + $262 = HEAP32[$20>>2]|0; + $263 = ((($262)) + 16|0); + HEAP32[$263>>2] = $261; + $264 = HEAP32[$20>>2]|0; + $265 = HEAP32[$10>>2]|0; + $266 = ((($265)) + 444|0); + HEAP32[$266>>2] = $264; } } } @@ -130118,306 +105512,306 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab } } } while(0); - $246 = HEAP32[$db>>2]|0; - $247 = HEAP32[$zName>>2]|0; - _sqlite3DbFree($246,$247); - $248 = HEAP32[$db>>2]|0; - $249 = HEAP32[$6>>2]|0; - _sqlite3SrcListDelete($248,$249); - $250 = HEAP32[$db>>2]|0; - $251 = HEAP32[$5>>2]|0; - _sqlite3IdListDelete($250,$251); - $252 = HEAP32[$db>>2]|0; - $253 = HEAP32[$7>>2]|0; - _sqlite3ExprDelete($252,$253); - $254 = HEAP32[$0>>2]|0; - $255 = ((($254)) + 444|0); - $256 = HEAP32[$255>>2]|0; - $257 = ($256|0)!=(0|0); - if ($257) { + $267 = HEAP32[$23>>2]|0; + $268 = HEAP32[$22>>2]|0; + _sqlite3DbFree($267,$268); + $269 = HEAP32[$23>>2]|0; + $270 = HEAP32[$16>>2]|0; + _sqlite3SrcListDelete($269,$270); + $271 = HEAP32[$23>>2]|0; + $272 = HEAP32[$15>>2]|0; + _sqlite3IdListDelete($271,$272); + $273 = HEAP32[$23>>2]|0; + $274 = HEAP32[$17>>2]|0; + _sqlite3ExprDelete($273,$274); + $275 = HEAP32[$10>>2]|0; + $276 = ((($275)) + 444|0); + $277 = HEAP32[$276>>2]|0; + $278 = ($277|0)!=(0|0); + if ($278) { STACKTOP = sp;return; } - $258 = HEAP32[$db>>2]|0; - $259 = HEAP32[$pTrigger>>2]|0; - _sqlite3DeleteTrigger($258,$259); + $279 = HEAP32[$23>>2]|0; + $280 = HEAP32[$20>>2]|0; + _sqlite3DeleteTrigger($279,$280); STACKTOP = sp;return; } -function _sqlite3TriggerUpdateStep($db,$pTableName,$pEList,$pWhere,$orconf) { - $db = $db|0; - $pTableName = $pTableName|0; - $pEList = $pEList|0; - $pWhere = $pWhere|0; - $orconf = $orconf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTriggerStep = 0, label = 0, sp = 0; +function _sqlite3TriggerUpdateStep($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp + 20|0; - $pTriggerStep = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTableName; - HEAP32[$2>>2] = $pEList; - HEAP32[$3>>2] = $pWhere; - HEAP8[$4>>0] = $orconf; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (_triggerStepAllocate($5,110,$6)|0); - HEAP32[$pTriggerStep>>2] = $7; - $8 = HEAP32[$pTriggerStep>>2]|0; - $9 = ($8|0)!=(0|0); - if ($9) { - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = (_sqlite3ExprListDup($10,$11,1)|0); - $13 = HEAP32[$pTriggerStep>>2]|0; - $14 = ((($13)) + 20|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = (_sqlite3ExprDup($15,$16,1)|0); - $18 = HEAP32[$pTriggerStep>>2]|0; - $19 = ((($18)) + 16|0); - HEAP32[$19>>2] = $17; - $20 = HEAP8[$4>>0]|0; - $21 = HEAP32[$pTriggerStep>>2]|0; - $22 = ((($21)) + 1|0); - HEAP8[$22>>0] = $20; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp + 20|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP8[$9>>0] = $4; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = (_triggerStepAllocate($11,110,$12)|0); + HEAP32[$10>>2] = $13; + $14 = HEAP32[$10>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$7>>2]|0; + $18 = (_sqlite3ExprListDup($16,$17,1)|0); + $19 = HEAP32[$10>>2]|0; + $20 = ((($19)) + 20|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$8>>2]|0; + $23 = (_sqlite3ExprDup($21,$22,1)|0); + $24 = HEAP32[$10>>2]|0; + $25 = ((($24)) + 16|0); + HEAP32[$25>>2] = $23; + $26 = HEAP8[$9>>0]|0; + $27 = HEAP32[$10>>2]|0; + $28 = ((($27)) + 1|0); + HEAP8[$28>>0] = $26; } - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$2>>2]|0; - _sqlite3ExprListDelete($23,$24); - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($25,$26); - $27 = HEAP32[$pTriggerStep>>2]|0; - STACKTOP = sp;return ($27|0); + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$7>>2]|0; + _sqlite3ExprListDelete($29,$30); + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$8>>2]|0; + _sqlite3ExprDelete($31,$32); + $33 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($33|0); } -function _sqlite3TriggerInsertStep($db,$pTableName,$pColumn,$pSelect,$orconf) { - $db = $db|0; - $pTableName = $pTableName|0; - $pColumn = $pColumn|0; - $pSelect = $pSelect|0; - $orconf = $orconf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTriggerStep = 0, label = 0, sp = 0; +function _sqlite3TriggerInsertStep($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp + 20|0; - $pTriggerStep = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTableName; - HEAP32[$2>>2] = $pColumn; - HEAP32[$3>>2] = $pSelect; - HEAP8[$4>>0] = $orconf; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (_triggerStepAllocate($5,108,$6)|0); - HEAP32[$pTriggerStep>>2] = $7; - $8 = HEAP32[$pTriggerStep>>2]|0; - $9 = ($8|0)!=(0|0); - $10 = HEAP32[$0>>2]|0; - if ($9) { - $11 = HEAP32[$3>>2]|0; - $12 = (_sqlite3SelectDup($10,$11,1)|0); - $13 = HEAP32[$pTriggerStep>>2]|0; - $14 = ((($13)) + 8|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$pTriggerStep>>2]|0; - $17 = ((($16)) + 24|0); - HEAP32[$17>>2] = $15; - $18 = HEAP8[$4>>0]|0; - $19 = HEAP32[$pTriggerStep>>2]|0; - $20 = ((($19)) + 1|0); - HEAP8[$20>>0] = $18; - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$3>>2]|0; - _sqlite3SelectDelete($22,$23); - $24 = HEAP32[$pTriggerStep>>2]|0; - STACKTOP = sp;return ($24|0); + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp + 20|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP8[$9>>0] = $4; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = (_triggerStepAllocate($11,108,$12)|0); + HEAP32[$10>>2] = $13; + $14 = HEAP32[$10>>2]|0; + $15 = ($14|0)!=(0|0); + $16 = HEAP32[$5>>2]|0; + if ($15) { + $17 = HEAP32[$8>>2]|0; + $18 = (_sqlite3SelectDup($16,$17,1)|0); + $19 = HEAP32[$10>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$10>>2]|0; + $23 = ((($22)) + 24|0); + HEAP32[$23>>2] = $21; + $24 = HEAP8[$9>>0]|0; + $25 = HEAP32[$10>>2]|0; + $26 = ((($25)) + 1|0); + HEAP8[$26>>0] = $24; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$8>>2]|0; + _sqlite3SelectDelete($28,$29); + $30 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($30|0); } else { - $21 = HEAP32[$2>>2]|0; - _sqlite3IdListDelete($10,$21); - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$3>>2]|0; - _sqlite3SelectDelete($22,$23); - $24 = HEAP32[$pTriggerStep>>2]|0; - STACKTOP = sp;return ($24|0); + $27 = HEAP32[$7>>2]|0; + _sqlite3IdListDelete($16,$27); + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$8>>2]|0; + _sqlite3SelectDelete($28,$29); + $30 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($30|0); } return (0)|0; } -function _sqlite3TriggerDeleteStep($db,$pTableName,$pWhere) { - $db = $db|0; - $pTableName = $pTableName|0; - $pWhere = $pWhere|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTriggerStep = 0, label = 0; +function _sqlite3TriggerDeleteStep($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, $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; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pTriggerStep = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTableName; - HEAP32[$2>>2] = $pWhere; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (_triggerStepAllocate($3,109,$4)|0); - HEAP32[$pTriggerStep>>2] = $5; - $6 = HEAP32[$pTriggerStep>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = (_sqlite3ExprDup($8,$9,1)|0); - $11 = HEAP32[$pTriggerStep>>2]|0; - $12 = ((($11)) + 16|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$pTriggerStep>>2]|0; - $14 = ((($13)) + 1|0); - HEAP8[$14>>0] = 10; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (_triggerStepAllocate($7,109,$8)|0); + HEAP32[$6>>2] = $9; + $10 = HEAP32[$6>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (_sqlite3ExprDup($12,$13,1)|0); + $15 = HEAP32[$6>>2]|0; + $16 = ((($15)) + 16|0); + HEAP32[$16>>2] = $14; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 1|0); + HEAP8[$18>>0] = 10; } - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$2>>2]|0; - _sqlite3ExprDelete($15,$16); - $17 = HEAP32[$pTriggerStep>>2]|0; - STACKTOP = sp;return ($17|0); + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$5>>2]|0; + _sqlite3ExprDelete($19,$20); + $21 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($21|0); } -function _sqlite3TriggerSelectStep($db,$pSelect) { - $db = $db|0; - $pSelect = $pSelect|0; - var $0 = 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, $pTriggerStep = 0, label = 0, sp = 0; +function _sqlite3TriggerSelectStep($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pTriggerStep = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pSelect; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3DbMallocZero($3,36,0)|0); - HEAP32[$pTriggerStep>>2] = $4; - $5 = HEAP32[$pTriggerStep>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - _sqlite3SelectDelete($7,$8); - HEAP32[$0>>2] = 0; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = (_sqlite3DbMallocZero($6,36,0)|0); + HEAP32[$5>>2] = $7; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$4>>2]|0; + _sqlite3SelectDelete($10,$11); + HEAP32[$2>>2] = 0; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); } else { - $9 = HEAP32[$pTriggerStep>>2]|0; - HEAP8[$9>>0] = 119; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$pTriggerStep>>2]|0; - $12 = ((($11)) + 8|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$pTriggerStep>>2]|0; - $14 = ((($13)) + 1|0); - HEAP8[$14>>0] = 10; - $15 = HEAP32[$pTriggerStep>>2]|0; - HEAP32[$0>>2] = $15; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); + $12 = HEAP32[$5>>2]|0; + HEAP8[$12>>0] = 119; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 8|0); + HEAP32[$15>>2] = $13; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 1|0); + HEAP8[$17>>0] = 10; + $18 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $18; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); } return (0)|0; } -function _sqlite3DropTrigger($pParse,$pName,$noErr) { - $pParse = $pParse|0; - $pName = $pName|0; - $noErr = $noErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $j = 0, $pTrigger = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $zDb = 0, $zName = 0, label = 0, sp = 0; +function _sqlite3DropTrigger($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $pTrigger = sp + 28|0; - $i = sp + 24|0; - $zDb = sp + 20|0; - $zName = sp + 16|0; - $db = sp + 12|0; - $j = sp + 8|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pName; - HEAP32[$2>>2] = $noErr; - HEAP32[$pTrigger>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 69|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - if ($8) { - $66 = HEAP32[$db>>2]|0; - $67 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($66,$67); + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$10>>2] = $13; + $14 = HEAP32[$10>>2]|0; + $15 = ((($14)) + 69|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if ($17) { + $75 = HEAP32[$10>>2]|0; + $76 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($75,$76); STACKTOP = sp;return; } - $9 = HEAP32[$0>>2]|0; - $10 = (_sqlite3ReadSchema($9)|0); - $11 = (0)!=($10|0); - if ($11) { - $66 = HEAP32[$db>>2]|0; - $67 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($66,$67); + $18 = HEAP32[$3>>2]|0; + $19 = (_sqlite3ReadSchema($18)|0); + $20 = (0)!=($19|0); + if ($20) { + $75 = HEAP32[$10>>2]|0; + $76 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($75,$76); STACKTOP = sp;return; } - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 8|0); - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$zDb>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 8|0); - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$zName>>2] = $19; - HEAP32[$i>>2] = 0; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 8|0); + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$8>>2] = $24; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 8|0); + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$9>>2] = $28; + HEAP32[$7>>2] = 0; while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$db>>2]|0; - $22 = ((($21)) + 20|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($20|0)<($23|0); - if (!($24)) { + $29 = HEAP32[$7>>2]|0; + $30 = HEAP32[$10>>2]|0; + $31 = ((($30)) + 20|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($29|0)<($32|0); + if (!($33)) { break; } - $25 = HEAP32[$i>>2]|0; - $26 = ($25|0)<(2); - $27 = HEAP32[$i>>2]|0; - $28 = $27 ^ 1; - $29 = $26 ? $28 : $27; - HEAP32[$j>>2] = $29; - $30 = HEAP32[$zDb>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$j>>2]|0; - $33 = HEAP32[$db>>2]|0; - $34 = ((($33)) + 16|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + ($32<<4)|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$zDb>>2]|0; - $39 = (_sqlite3StrICmp($37,$38)|0); - $40 = ($39|0)!=(0); - if (!($40)) { + $34 = HEAP32[$7>>2]|0; + $35 = ($34|0)<(2); + $36 = HEAP32[$7>>2]|0; + $37 = $36 ^ 1; + $38 = $35 ? $37 : $36; + HEAP32[$11>>2] = $38; + $39 = HEAP32[$8>>2]|0; + $40 = ($39|0)!=(0|0); + if ($40) { + $41 = HEAP32[$10>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$11>>2]|0; + $45 = (($43) + ($44<<4)|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$8>>2]|0; + $48 = (_sqlite3StrICmp($46,$47)|0); + $49 = ($48|0)!=(0); + if (!($49)) { label = 7; } } else { @@ -130425,454 +105819,454 @@ function _sqlite3DropTrigger($pParse,$pName,$noErr) { } if ((label|0) == 7) { label = 0; - $41 = HEAP32[$j>>2]|0; - $42 = HEAP32[$db>>2]|0; - $43 = ((($42)) + 16|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + ($41<<4)|0); - $46 = ((($45)) + 12|0); - $47 = HEAP32[$46>>2]|0; - $48 = ((($47)) + 40|0); - $49 = HEAP32[$zName>>2]|0; - $50 = (_sqlite3HashFind($48,$49)|0); - HEAP32[$pTrigger>>2] = $50; - $51 = HEAP32[$pTrigger>>2]|0; - $52 = ($51|0)!=(0|0); - if ($52) { + $50 = HEAP32[$10>>2]|0; + $51 = ((($50)) + 16|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$11>>2]|0; + $54 = (($52) + ($53<<4)|0); + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + $57 = ((($56)) + 40|0); + $58 = HEAP32[$9>>2]|0; + $59 = (_sqlite3HashFind($57,$58)|0); + HEAP32[$6>>2] = $59; + $60 = HEAP32[$6>>2]|0; + $61 = ($60|0)!=(0|0); + if ($61) { break; } } - $53 = HEAP32[$i>>2]|0; - $54 = (($53) + 1)|0; - HEAP32[$i>>2] = $54; + $62 = HEAP32[$7>>2]|0; + $63 = (($62) + 1)|0; + HEAP32[$7>>2] = $63; } - $55 = HEAP32[$pTrigger>>2]|0; - $56 = ($55|0)!=(0|0); - if ($56) { - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$pTrigger>>2]|0; - _sqlite3DropTriggerPtr($64,$65); - $66 = HEAP32[$db>>2]|0; - $67 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($66,$67); + $64 = HEAP32[$6>>2]|0; + $65 = ($64|0)!=(0|0); + if ($65) { + $73 = HEAP32[$3>>2]|0; + $74 = HEAP32[$6>>2]|0; + _sqlite3DropTriggerPtr($73,$74); + $75 = HEAP32[$10>>2]|0; + $76 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($75,$76); STACKTOP = sp;return; } - $57 = HEAP32[$2>>2]|0; - $58 = ($57|0)!=(0); - $59 = HEAP32[$0>>2]|0; - if ($58) { - $61 = HEAP32[$zDb>>2]|0; - _sqlite3CodeVerifyNamedSchema($59,$61); - } else { - $60 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $60; + $66 = HEAP32[$5>>2]|0; + $67 = ($66|0)!=(0); + $68 = HEAP32[$3>>2]|0; + if ($67) { + $70 = HEAP32[$8>>2]|0; + _sqlite3CodeVerifyNamedSchema($68,$70); + } else { + $69 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer>>2] = $69; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; - _sqlite3ErrorMsg($59,31622,$vararg_buffer); + _sqlite3ErrorMsg($68,31067,$vararg_buffer); } - $62 = HEAP32[$0>>2]|0; - $63 = ((($62)) + 17|0); - HEAP8[$63>>0] = 1; - $66 = HEAP32[$db>>2]|0; - $67 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($66,$67); + $71 = HEAP32[$3>>2]|0; + $72 = ((($71)) + 17|0); + HEAP8[$72>>0] = 1; + $75 = HEAP32[$10>>2]|0; + $76 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($75,$76); STACKTOP = sp;return; } -function _sqlite3Attach($pParse,$p,$pDbname,$pKey) { - $pParse = $pParse|0; - $p = $p|0; - $pDbname = $pDbname|0; - $pKey = $pKey|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3Attach($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pDbname; - HEAP32[$3>>2] = $pKey; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - _codeAttach($4,24,4448,$5,$6,$7,$8); + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$7>>2]|0; + _codeAttach($8,24,4404,$9,$10,$11,$12); STACKTOP = sp;return; } -function _sqlite3Detach($pParse,$pDbname) { - $pParse = $pParse|0; - $pDbname = $pDbname|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3Detach($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pDbname; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$1>>2]|0; - _codeAttach($2,25,4420,$3,0,0,$4); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$3>>2]|0; + _codeAttach($4,25,4376,$5,0,0,$6); STACKTOP = sp;return; } -function _sqlite3Reindex($pParse,$pName1,$pName2) { - $pParse = $pParse|0; - $pName1 = $pName1|0; - $pName2 = $pName2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $db = 0, $iDb = 0, $pColl = 0, $pIndex = 0, $pObjName = 0; - var $pTab = 0, $vararg_buffer = 0, $z = 0, $zColl = 0, $zDb = 0, label = 0, sp = 0; +function _sqlite3Reindex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer = sp; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $pColl = sp + 36|0; - $z = sp + 32|0; - $zDb = sp + 28|0; - $pTab = sp + 24|0; - $pIndex = sp + 20|0; - $iDb = sp + 16|0; - $db = sp + 12|0; - $pObjName = sp + 8|0; - $zColl = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pName1; - HEAP32[$2>>2] = $pName2; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (_sqlite3ReadSchema($5)|0); - $7 = (0)!=($6|0); - if ($7) { + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$12>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = (_sqlite3ReadSchema($17)|0); + $19 = (0)!=($18|0); + if ($19) { STACKTOP = sp;return; } - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $10 = HEAP32[$0>>2]|0; - _reindexDatabases($10,0); + $20 = HEAP32[$4>>2]|0; + $21 = ($20|0)==(0|0); + if ($21) { + $22 = HEAP32[$3>>2]|0; + _reindexDatabases($22,0); STACKTOP = sp;return; } - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)==(0|0); - if ($12) { + $23 = HEAP32[$5>>2]|0; + $24 = ($23|0)==(0|0); + if ($24) { label = 6; } else { - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if ($15) { + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if ($27) { label = 6; } } do { if ((label|0) == 6) { - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = (_sqlite3NameFromToken($17,$18)|0); - HEAP32[$zColl>>2] = $19; - $20 = HEAP32[$zColl>>2]|0; - $21 = ($20|0)!=(0|0); - if (!($21)) { + $28 = HEAP32[$3>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = (_sqlite3NameFromToken($29,$30)|0); + HEAP32[$14>>2] = $31; + $32 = HEAP32[$14>>2]|0; + $33 = ($32|0)!=(0|0); + if (!($33)) { STACKTOP = sp;return; } - $22 = HEAP32[$db>>2]|0; - $23 = HEAP32[$db>>2]|0; - $24 = ((($23)) + 66|0); - $25 = HEAP8[$24>>0]|0; - $26 = HEAP32[$zColl>>2]|0; - $27 = (_sqlite3FindCollSeq($22,$25,$26,0)|0); - HEAP32[$pColl>>2] = $27; - $28 = HEAP32[$pColl>>2]|0; - $29 = ($28|0)!=(0|0); - if (!($29)) { - $34 = HEAP32[$db>>2]|0; - $35 = HEAP32[$zColl>>2]|0; - _sqlite3DbFree($34,$35); + $34 = HEAP32[$12>>2]|0; + $35 = HEAP32[$12>>2]|0; + $36 = ((($35)) + 66|0); + $37 = HEAP8[$36>>0]|0; + $38 = HEAP32[$14>>2]|0; + $39 = (_sqlite3FindCollSeq($34,$37,$38,0)|0); + HEAP32[$6>>2] = $39; + $40 = HEAP32[$6>>2]|0; + $41 = ($40|0)!=(0|0); + if (!($41)) { + $46 = HEAP32[$12>>2]|0; + $47 = HEAP32[$14>>2]|0; + _sqlite3DbFree($46,$47); break; } - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$zColl>>2]|0; - _reindexDatabases($30,$31); - $32 = HEAP32[$db>>2]|0; - $33 = HEAP32[$zColl>>2]|0; - _sqlite3DbFree($32,$33); + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$14>>2]|0; + _reindexDatabases($42,$43); + $44 = HEAP32[$12>>2]|0; + $45 = HEAP32[$14>>2]|0; + _sqlite3DbFree($44,$45); STACKTOP = sp;return; } } while(0); - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = (_sqlite3TwoPartName($36,$37,$38,$pObjName)|0); - HEAP32[$iDb>>2] = $39; - $40 = HEAP32[$iDb>>2]|0; - $41 = ($40|0)<(0); - if ($41) { - STACKTOP = sp;return; - } - $42 = HEAP32[$db>>2]|0; - $43 = HEAP32[$pObjName>>2]|0; - $44 = (_sqlite3NameFromToken($42,$43)|0); - HEAP32[$z>>2] = $44; - $45 = HEAP32[$z>>2]|0; - $46 = ($45|0)==(0|0); - if ($46) { + $48 = HEAP32[$3>>2]|0; + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$5>>2]|0; + $51 = (_sqlite3TwoPartName($48,$49,$50,$13)|0); + HEAP32[$11>>2] = $51; + $52 = HEAP32[$11>>2]|0; + $53 = ($52|0)<(0); + if ($53) { STACKTOP = sp;return; } - $47 = HEAP32[$iDb>>2]|0; - $48 = HEAP32[$db>>2]|0; - $49 = ((($48)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($47<<4)|0); - $52 = HEAP32[$51>>2]|0; - HEAP32[$zDb>>2] = $52; - $53 = HEAP32[$db>>2]|0; - $54 = HEAP32[$z>>2]|0; - $55 = HEAP32[$zDb>>2]|0; - $56 = (_sqlite3FindTable($53,$54,$55)|0); - HEAP32[$pTab>>2] = $56; - $57 = HEAP32[$pTab>>2]|0; - $58 = ($57|0)!=(0|0); + $54 = HEAP32[$12>>2]|0; + $55 = HEAP32[$13>>2]|0; + $56 = (_sqlite3NameFromToken($54,$55)|0); + HEAP32[$7>>2] = $56; + $57 = HEAP32[$7>>2]|0; + $58 = ($57|0)==(0|0); if ($58) { - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$pTab>>2]|0; - _reindexTable($59,$60,0); - $61 = HEAP32[$db>>2]|0; - $62 = HEAP32[$z>>2]|0; - _sqlite3DbFree($61,$62); STACKTOP = sp;return; } - $63 = HEAP32[$db>>2]|0; - $64 = HEAP32[$z>>2]|0; - $65 = HEAP32[$zDb>>2]|0; - $66 = (_sqlite3FindIndex($63,$64,$65)|0); - HEAP32[$pIndex>>2] = $66; - $67 = HEAP32[$db>>2]|0; - $68 = HEAP32[$z>>2]|0; - _sqlite3DbFree($67,$68); - $69 = HEAP32[$pIndex>>2]|0; + $59 = HEAP32[$12>>2]|0; + $60 = ((($59)) + 16|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$11>>2]|0; + $63 = (($61) + ($62<<4)|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$8>>2] = $64; + $65 = HEAP32[$12>>2]|0; + $66 = HEAP32[$7>>2]|0; + $67 = HEAP32[$8>>2]|0; + $68 = (_sqlite3FindTable($65,$66,$67)|0); + HEAP32[$9>>2] = $68; + $69 = HEAP32[$9>>2]|0; $70 = ($69|0)!=(0|0); - $71 = HEAP32[$0>>2]|0; if ($70) { - $72 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($71,0,$72); - $73 = HEAP32[$0>>2]|0; - $74 = HEAP32[$pIndex>>2]|0; - _sqlite3RefillIndex($73,$74,-1); + $71 = HEAP32[$3>>2]|0; + $72 = HEAP32[$9>>2]|0; + _reindexTable($71,$72,0); + $73 = HEAP32[$12>>2]|0; + $74 = HEAP32[$7>>2]|0; + _sqlite3DbFree($73,$74); + STACKTOP = sp;return; + } + $75 = HEAP32[$12>>2]|0; + $76 = HEAP32[$7>>2]|0; + $77 = HEAP32[$8>>2]|0; + $78 = (_sqlite3FindIndex($75,$76,$77)|0); + HEAP32[$10>>2] = $78; + $79 = HEAP32[$12>>2]|0; + $80 = HEAP32[$7>>2]|0; + _sqlite3DbFree($79,$80); + $81 = HEAP32[$10>>2]|0; + $82 = ($81|0)!=(0|0); + $83 = HEAP32[$3>>2]|0; + if ($82) { + $84 = HEAP32[$11>>2]|0; + _sqlite3BeginWriteOperation($83,0,$84); + $85 = HEAP32[$3>>2]|0; + $86 = HEAP32[$10>>2]|0; + _sqlite3RefillIndex($85,$86,-1); STACKTOP = sp;return; } else { - _sqlite3ErrorMsg($71,31007,$vararg_buffer); + _sqlite3ErrorMsg($83,30301,$vararg_buffer); STACKTOP = sp;return; } } -function _sqlite3Analyze($pParse,$pName1,$pName2) { - $pParse = $pParse|0; - $pName1 = $pName1|0; - $pName2 = $pName2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, $i = 0, $iDb = 0, $pIdx = 0, $pTab = 0, $pTableName = 0, $v = 0; - var $z = 0, $zDb = 0, label = 0, sp = 0; +function _sqlite3Analyze($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $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; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $db = sp + 32|0; - $iDb = sp + 28|0; - $i = sp + 24|0; - $z = sp + 20|0; - $zDb = sp + 16|0; - $pTab = sp + 12|0; - $pIdx = sp + 8|0; - $pTableName = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pName1; - HEAP32[$2>>2] = $pName2; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (_sqlite3ReadSchema($5)|0); - $7 = (0)!=($6|0); - if ($7) { + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = (_sqlite3ReadSchema($17)|0); + $19 = (0)!=($18|0); + if ($19) { STACKTOP = sp;return; } - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); + $20 = HEAP32[$4>>2]|0; + $21 = ($20|0)==(0|0); L4: do { - if ($9) { - HEAP32[$i>>2] = 0; + if ($21) { + HEAP32[$8>>2] = 0; while(1) { - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)<($13|0); - if (!($14)) { + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($22|0)<($25|0); + if (!($26)) { break L4; } - $15 = HEAP32[$i>>2]|0; - $16 = ($15|0)==(1); - if (!($16)) { - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$i>>2]|0; - _analyzeDatabase($17,$18); + $27 = HEAP32[$8>>2]|0; + $28 = ($27|0)==(1); + if (!($28)) { + $29 = HEAP32[$3>>2]|0; + $30 = HEAP32[$8>>2]|0; + _analyzeDatabase($29,$30); } - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; + $31 = HEAP32[$8>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$8>>2] = $32; } } else { - $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)==(0); - if (!($24)) { - $53 = HEAP32[$0>>2]|0; - $54 = HEAP32[$1>>2]|0; - $55 = HEAP32[$2>>2]|0; - $56 = (_sqlite3TwoPartName($53,$54,$55,$pTableName)|0); - HEAP32[$iDb>>2] = $56; - $57 = HEAP32[$iDb>>2]|0; - $58 = ($57|0)>=(0); - if (!($58)) { + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0); + if (!($36)) { + $65 = HEAP32[$3>>2]|0; + $66 = HEAP32[$4>>2]|0; + $67 = HEAP32[$5>>2]|0; + $68 = (_sqlite3TwoPartName($65,$66,$67,$13)|0); + HEAP32[$7>>2] = $68; + $69 = HEAP32[$7>>2]|0; + $70 = ($69|0)>=(0); + if (!($70)) { break; } - $59 = HEAP32[$iDb>>2]|0; - $60 = HEAP32[$db>>2]|0; - $61 = ((($60)) + 16|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) + ($59<<4)|0); - $64 = HEAP32[$63>>2]|0; - HEAP32[$zDb>>2] = $64; - $65 = HEAP32[$db>>2]|0; - $66 = HEAP32[$pTableName>>2]|0; - $67 = (_sqlite3NameFromToken($65,$66)|0); - HEAP32[$z>>2] = $67; - $68 = HEAP32[$z>>2]|0; - $69 = ($68|0)!=(0|0); - if (!($69)) { + $71 = HEAP32[$6>>2]|0; + $72 = ((($71)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$7>>2]|0; + $75 = (($73) + ($74<<4)|0); + $76 = HEAP32[$75>>2]|0; + HEAP32[$10>>2] = $76; + $77 = HEAP32[$6>>2]|0; + $78 = HEAP32[$13>>2]|0; + $79 = (_sqlite3NameFromToken($77,$78)|0); + HEAP32[$9>>2] = $79; + $80 = HEAP32[$9>>2]|0; + $81 = ($80|0)!=(0|0); + if (!($81)) { break; } - $70 = HEAP32[$db>>2]|0; - $71 = HEAP32[$z>>2]|0; - $72 = HEAP32[$zDb>>2]|0; - $73 = (_sqlite3FindIndex($70,$71,$72)|0); - HEAP32[$pIdx>>2] = $73; - $74 = ($73|0)!=(0|0); - $75 = HEAP32[$0>>2]|0; - if ($74) { - $76 = HEAP32[$pIdx>>2]|0; - $77 = ((($76)) + 12|0); - $78 = HEAP32[$77>>2]|0; - $79 = HEAP32[$pIdx>>2]|0; - _analyzeTable($75,$78,$79); + $82 = HEAP32[$6>>2]|0; + $83 = HEAP32[$9>>2]|0; + $84 = HEAP32[$10>>2]|0; + $85 = (_sqlite3FindIndex($82,$83,$84)|0); + HEAP32[$12>>2] = $85; + $86 = ($85|0)!=(0|0); + $87 = HEAP32[$3>>2]|0; + if ($86) { + $88 = HEAP32[$12>>2]|0; + $89 = ((($88)) + 12|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$12>>2]|0; + _analyzeTable($87,$90,$91); } else { - $80 = HEAP32[$z>>2]|0; - $81 = HEAP32[$zDb>>2]|0; - $82 = (_sqlite3LocateTable($75,0,$80,$81)|0); - HEAP32[$pTab>>2] = $82; - $83 = ($82|0)!=(0|0); - if ($83) { - $84 = HEAP32[$0>>2]|0; - $85 = HEAP32[$pTab>>2]|0; - _analyzeTable($84,$85,0); + $92 = HEAP32[$9>>2]|0; + $93 = HEAP32[$10>>2]|0; + $94 = (_sqlite3LocateTable($87,0,$92,$93)|0); + HEAP32[$11>>2] = $94; + $95 = ($94|0)!=(0|0); + if ($95) { + $96 = HEAP32[$3>>2]|0; + $97 = HEAP32[$11>>2]|0; + _analyzeTable($96,$97,0); } } - $86 = HEAP32[$db>>2]|0; - $87 = HEAP32[$z>>2]|0; - _sqlite3DbFree($86,$87); + $98 = HEAP32[$6>>2]|0; + $99 = HEAP32[$9>>2]|0; + _sqlite3DbFree($98,$99); break; } - $25 = HEAP32[$db>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = (_sqlite3FindDb($25,$26)|0); - HEAP32[$iDb>>2] = $27; - $28 = HEAP32[$iDb>>2]|0; - $29 = ($28|0)>=(0); - if ($29) { - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$iDb>>2]|0; - _analyzeDatabase($30,$31); + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = (_sqlite3FindDb($37,$38)|0); + HEAP32[$7>>2] = $39; + $40 = HEAP32[$7>>2]|0; + $41 = ($40|0)>=(0); + if ($41) { + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$7>>2]|0; + _analyzeDatabase($42,$43); break; } - $32 = HEAP32[$db>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = (_sqlite3NameFromToken($32,$33)|0); - HEAP32[$z>>2] = $34; - $35 = HEAP32[$z>>2]|0; - $36 = ($35|0)!=(0|0); - if ($36) { - $37 = HEAP32[$db>>2]|0; - $38 = HEAP32[$z>>2]|0; - $39 = (_sqlite3FindIndex($37,$38,0)|0); - HEAP32[$pIdx>>2] = $39; - $40 = ($39|0)!=(0|0); - $41 = HEAP32[$0>>2]|0; - if ($40) { - $42 = HEAP32[$pIdx>>2]|0; - $43 = ((($42)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$pIdx>>2]|0; - _analyzeTable($41,$44,$45); + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$4>>2]|0; + $46 = (_sqlite3NameFromToken($44,$45)|0); + HEAP32[$9>>2] = $46; + $47 = HEAP32[$9>>2]|0; + $48 = ($47|0)!=(0|0); + if ($48) { + $49 = HEAP32[$6>>2]|0; + $50 = HEAP32[$9>>2]|0; + $51 = (_sqlite3FindIndex($49,$50,0)|0); + HEAP32[$12>>2] = $51; + $52 = ($51|0)!=(0|0); + $53 = HEAP32[$3>>2]|0; + if ($52) { + $54 = HEAP32[$12>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$12>>2]|0; + _analyzeTable($53,$56,$57); } else { - $46 = HEAP32[$z>>2]|0; - $47 = (_sqlite3LocateTable($41,0,$46,0)|0); - HEAP32[$pTab>>2] = $47; - $48 = ($47|0)!=(0|0); - if ($48) { - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$pTab>>2]|0; - _analyzeTable($49,$50,0); + $58 = HEAP32[$9>>2]|0; + $59 = (_sqlite3LocateTable($53,0,$58,0)|0); + HEAP32[$11>>2] = $59; + $60 = ($59|0)!=(0|0); + if ($60) { + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$11>>2]|0; + _analyzeTable($61,$62,0); } } - $51 = HEAP32[$db>>2]|0; - $52 = HEAP32[$z>>2]|0; - _sqlite3DbFree($51,$52); + $63 = HEAP32[$6>>2]|0; + $64 = HEAP32[$9>>2]|0; + _sqlite3DbFree($63,$64); } } } while(0); - $88 = HEAP32[$0>>2]|0; - $89 = (_sqlite3GetVdbe($88)|0); - HEAP32[$v>>2] = $89; - $90 = HEAP32[$v>>2]|0; - $91 = ($90|0)!=(0|0); - if (!($91)) { + $100 = HEAP32[$3>>2]|0; + $101 = (_sqlite3GetVdbe($100)|0); + HEAP32[$14>>2] = $101; + $102 = HEAP32[$14>>2]|0; + $103 = ($102|0)!=(0|0); + if (!($103)) { STACKTOP = sp;return; } - $92 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($92,150)|0); + $104 = HEAP32[$14>>2]|0; + (_sqlite3VdbeAddOp0($104,150)|0); STACKTOP = sp;return; } -function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { - $pParse = $pParse|0; - $pSrc = $pSrc|0; - $pName = $pName|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $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, $db = 0, $i = 0, $iDb = 0, $nTabName = 0, $p = 0, $pFrom = 0, $pTab = 0, $pVTab = 0, $savedDbFlags = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer22 = 0, $vararg_buffer27 = 0, $vararg_buffer4 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0; - var $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr25 = 0, $vararg_ptr26 = 0, $vararg_ptr30 = 0, $vararg_ptr31 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, $zDb = 0, $zName = 0, $zTabName = 0, $zWhere = 0, label = 0, sp = 0; +function _sqlite3AlterRenameTable($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer22 = 0; + var $vararg_buffer27 = 0, $vararg_buffer4 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr25 = 0, $vararg_ptr26 = 0, $vararg_ptr30 = 0, $vararg_ptr31 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 176|0; $vararg_buffer27 = sp + 96|0; @@ -130881,375 +106275,375 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $vararg_buffer4 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 172|0; - $1 = sp + 168|0; - $2 = sp + 164|0; - $iDb = sp + 160|0; - $zDb = sp + 156|0; - $pTab = sp + 152|0; - $zName = sp + 148|0; - $db = sp + 144|0; - $nTabName = sp + 140|0; - $zTabName = sp + 136|0; - $v = sp + 132|0; - $zWhere = sp + 128|0; - $pVTab = sp + 124|0; - $savedDbFlags = sp + 120|0; - $i = sp + 116|0; - $p = sp + 112|0; - $pFrom = sp + 108|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pSrc; - HEAP32[$2>>2] = $pName; - HEAP32[$zName>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - HEAP32[$zWhere>>2] = 0; - HEAP32[$pVTab>>2] = 0; - $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 24|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$savedDbFlags>>2] = $7; - $8 = HEAP32[$db>>2]|0; - $9 = ((($8)) + 69|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)!=(0); + $3 = sp + 172|0; + $4 = sp + 168|0; + $5 = sp + 164|0; + $6 = sp + 160|0; + $7 = sp + 156|0; + $8 = sp + 152|0; + $9 = sp + 148|0; + $10 = sp + 144|0; + $11 = sp + 140|0; + $12 = sp + 136|0; + $13 = sp + 132|0; + $14 = sp + 128|0; + $15 = sp + 124|0; + $16 = sp + 120|0; + $17 = sp + 116|0; + $18 = sp + 112|0; + $19 = sp + 108|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$9>>2] = 0; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$10>>2] = $21; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + $22 = HEAP32[$10>>2]|0; + $23 = ((($22)) + 24|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$16>>2] = $24; + $25 = HEAP32[$10>>2]|0; + $26 = ((($25)) + 69|0); + $27 = HEAP8[$26>>0]|0; + $28 = ($27<<24>>24)!=(0); do { - if (!($11)) { - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 8|0); - $15 = (_sqlite3LocateTableItem($12,0,$14)|0); - HEAP32[$pTab>>2] = $15; - $16 = HEAP32[$pTab>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$pTab>>2]|0; - $21 = ((($20)) + 64|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3SchemaToIndex($19,$22)|0); - HEAP32[$iDb>>2] = $23; - $24 = HEAP32[$iDb>>2]|0; - $25 = HEAP32[$db>>2]|0; - $26 = ((($25)) + 16|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + ($24<<4)|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$zDb>>2] = $29; - $30 = HEAP32[$db>>2]|0; - $31 = ((($30)) + 24|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 2097152; - HEAP32[$31>>2] = $33; - $34 = HEAP32[$db>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = (_sqlite3NameFromToken($34,$35)|0); - HEAP32[$zName>>2] = $36; - $37 = HEAP32[$zName>>2]|0; - $38 = ($37|0)!=(0|0); - if ($38) { - $39 = HEAP32[$db>>2]|0; - $40 = HEAP32[$zName>>2]|0; - $41 = HEAP32[$zDb>>2]|0; - $42 = (_sqlite3FindTable($39,$40,$41)|0); - $43 = ($42|0)!=(0|0); - if (!($43)) { - $44 = HEAP32[$db>>2]|0; - $45 = HEAP32[$zName>>2]|0; - $46 = HEAP32[$zDb>>2]|0; - $47 = (_sqlite3FindIndex($44,$45,$46)|0); - $48 = ($47|0)!=(0|0); - if (!($48)) { - $51 = HEAP32[$0>>2]|0; - $52 = HEAP32[$pTab>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = (_isSystemTable($51,$53)|0); - $55 = (0)!=($54|0); - if ($55) { + if (!($28)) { + $29 = HEAP32[$3>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 8|0); + $32 = (_sqlite3LocateTableItem($29,0,$31)|0); + HEAP32[$8>>2] = $32; + $33 = HEAP32[$8>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$3>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$8>>2]|0; + $38 = ((($37)) + 64|0); + $39 = HEAP32[$38>>2]|0; + $40 = (_sqlite3SchemaToIndex($36,$39)|0); + HEAP32[$6>>2] = $40; + $41 = HEAP32[$10>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$6>>2]|0; + $45 = (($43) + ($44<<4)|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$7>>2] = $46; + $47 = HEAP32[$10>>2]|0; + $48 = ((($47)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = $49 | 2097152; + HEAP32[$48>>2] = $50; + $51 = HEAP32[$10>>2]|0; + $52 = HEAP32[$5>>2]|0; + $53 = (_sqlite3NameFromToken($51,$52)|0); + HEAP32[$9>>2] = $53; + $54 = HEAP32[$9>>2]|0; + $55 = ($54|0)!=(0|0); + if ($55) { + $56 = HEAP32[$10>>2]|0; + $57 = HEAP32[$9>>2]|0; + $58 = HEAP32[$7>>2]|0; + $59 = (_sqlite3FindTable($56,$57,$58)|0); + $60 = ($59|0)!=(0|0); + if (!($60)) { + $61 = HEAP32[$10>>2]|0; + $62 = HEAP32[$9>>2]|0; + $63 = HEAP32[$7>>2]|0; + $64 = (_sqlite3FindIndex($61,$62,$63)|0); + $65 = ($64|0)!=(0|0); + if (!($65)) { + $68 = HEAP32[$3>>2]|0; + $69 = HEAP32[$8>>2]|0; + $70 = HEAP32[$69>>2]|0; + $71 = (_isSystemTable($68,$70)|0); + $72 = (0)!=($71|0); + if ($72) { break; } - $56 = HEAP32[$0>>2]|0; - $57 = HEAP32[$zName>>2]|0; - $58 = (_sqlite3CheckObjectName($56,$57)|0); - $59 = (0)!=($58|0); - if ($59) { + $73 = HEAP32[$3>>2]|0; + $74 = HEAP32[$9>>2]|0; + $75 = (_sqlite3CheckObjectName($73,$74)|0); + $76 = (0)!=($75|0); + if ($76) { break; } - $60 = HEAP32[$pTab>>2]|0; - $61 = ((($60)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)!=(0|0); - $64 = HEAP32[$0>>2]|0; - if ($63) { - $65 = HEAP32[$pTab>>2]|0; - $66 = HEAP32[$65>>2]|0; - HEAP32[$vararg_buffer1>>2] = $66; - _sqlite3ErrorMsg($64,28337,$vararg_buffer1); + $77 = HEAP32[$8>>2]|0; + $78 = ((($77)) + 12|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0|0); + $81 = HEAP32[$3>>2]|0; + if ($80) { + $82 = HEAP32[$8>>2]|0; + $83 = HEAP32[$82>>2]|0; + HEAP32[$vararg_buffer1>>2] = $83; + _sqlite3ErrorMsg($81,27745,$vararg_buffer1); break; } - $67 = HEAP32[$zDb>>2]|0; - $68 = HEAP32[$pTab>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = (_sqlite3AuthCheck($64,26,$67,$69,0)|0); - $71 = ($70|0)!=(0); - if ($71) { + $84 = HEAP32[$7>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = HEAP32[$85>>2]|0; + $87 = (_sqlite3AuthCheck($81,26,$84,$86,0)|0); + $88 = ($87|0)!=(0); + if ($88) { break; } - $72 = HEAP32[$0>>2]|0; - $73 = HEAP32[$pTab>>2]|0; - $74 = (_sqlite3ViewGetColumnNames($72,$73)|0); - $75 = ($74|0)!=(0); - if ($75) { + $89 = HEAP32[$3>>2]|0; + $90 = HEAP32[$8>>2]|0; + $91 = (_sqlite3ViewGetColumnNames($89,$90)|0); + $92 = ($91|0)!=(0); + if ($92) { break; } - $76 = HEAP32[$pTab>>2]|0; - $77 = ((($76)) + 42|0); - $78 = HEAP8[$77>>0]|0; - $79 = $78&255; - $80 = $79 & 16; - $81 = ($80|0)!=(0); - if ($81) { - $82 = HEAP32[$db>>2]|0; - $83 = HEAP32[$pTab>>2]|0; - $84 = (_sqlite3GetVTable($82,$83)|0); - HEAP32[$pVTab>>2] = $84; - $85 = HEAP32[$pVTab>>2]|0; - $86 = ((($85)) + 8|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$87>>2]|0; - $89 = ((($88)) + 76|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)==(0|0); - if ($91) { - HEAP32[$pVTab>>2] = 0; + $93 = HEAP32[$8>>2]|0; + $94 = ((($93)) + 42|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = $96 & 16; + $98 = ($97|0)!=(0); + if ($98) { + $99 = HEAP32[$10>>2]|0; + $100 = HEAP32[$8>>2]|0; + $101 = (_sqlite3GetVTable($99,$100)|0); + HEAP32[$15>>2] = $101; + $102 = HEAP32[$15>>2]|0; + $103 = ((($102)) + 8|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$104>>2]|0; + $106 = ((($105)) + 76|0); + $107 = HEAP32[$106>>2]|0; + $108 = ($107|0)==(0|0); + if ($108) { + HEAP32[$15>>2] = 0; } } - $92 = HEAP32[$0>>2]|0; - $93 = (_sqlite3GetVdbe($92)|0); - HEAP32[$v>>2] = $93; - $94 = HEAP32[$v>>2]|0; - $95 = ($94|0)==(0|0); - if ($95) { + $109 = HEAP32[$3>>2]|0; + $110 = (_sqlite3GetVdbe($109)|0); + HEAP32[$13>>2] = $110; + $111 = HEAP32[$13>>2]|0; + $112 = ($111|0)==(0|0); + if ($112) { break; } - $96 = HEAP32[$0>>2]|0; - $97 = HEAP32[$pVTab>>2]|0; - $98 = ($97|0)!=(0|0); - $99 = $98&1; - $100 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($96,$99,$100); - $101 = HEAP32[$0>>2]|0; - $102 = HEAP32[$iDb>>2]|0; - _sqlite3ChangeCookie($101,$102); - $103 = HEAP32[$pVTab>>2]|0; - $104 = ($103|0)!=(0|0); - if ($104) { - $105 = HEAP32[$0>>2]|0; - $106 = ((($105)) + 44|0); - $107 = HEAP32[$106>>2]|0; - $108 = (($107) + 1)|0; - HEAP32[$106>>2] = $108; - HEAP32[$i>>2] = $108; - $109 = HEAP32[$v>>2]|0; - $110 = HEAP32[$i>>2]|0; - $111 = HEAP32[$zName>>2]|0; - (_sqlite3VdbeLoadString($109,$110,$111)|0); - $112 = HEAP32[$v>>2]|0; - $113 = HEAP32[$i>>2]|0; - $114 = HEAP32[$pVTab>>2]|0; - (_sqlite3VdbeAddOp4($112,157,$113,0,0,$114,-10)|0); - $115 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($115); + $113 = HEAP32[$3>>2]|0; + $114 = HEAP32[$15>>2]|0; + $115 = ($114|0)!=(0|0); + $116 = $115&1; + $117 = HEAP32[$6>>2]|0; + _sqlite3BeginWriteOperation($113,$116,$117); + $118 = HEAP32[$3>>2]|0; + $119 = HEAP32[$6>>2]|0; + _sqlite3ChangeCookie($118,$119); + $120 = HEAP32[$15>>2]|0; + $121 = ($120|0)!=(0|0); + if ($121) { + $122 = HEAP32[$3>>2]|0; + $123 = ((($122)) + 44|0); + $124 = HEAP32[$123>>2]|0; + $125 = (($124) + 1)|0; + HEAP32[$123>>2] = $125; + HEAP32[$17>>2] = $125; + $126 = HEAP32[$13>>2]|0; + $127 = HEAP32[$17>>2]|0; + $128 = HEAP32[$9>>2]|0; + (_sqlite3VdbeLoadString($126,$127,$128)|0); + $129 = HEAP32[$13>>2]|0; + $130 = HEAP32[$17>>2]|0; + $131 = HEAP32[$15>>2]|0; + (_sqlite3VdbeAddOp4($129,157,$130,0,0,$131,-10)|0); + $132 = HEAP32[$3>>2]|0; + _sqlite3MayAbort($132); } - $116 = HEAP32[$pTab>>2]|0; - $117 = HEAP32[$116>>2]|0; - HEAP32[$zTabName>>2] = $117; - $118 = HEAP32[$zTabName>>2]|0; - $119 = (_sqlite3Utf8CharLen81($118,-1)|0); - HEAP32[$nTabName>>2] = $119; - $120 = HEAP32[$db>>2]|0; - $121 = ((($120)) + 24|0); - $122 = HEAP32[$121>>2]|0; - $123 = $122 & 524288; - $124 = ($123|0)!=(0); - if ($124) { - $125 = HEAP32[$0>>2]|0; - $126 = HEAP32[$pTab>>2]|0; - $127 = (_whereForeignKeys($125,$126)|0); - HEAP32[$zWhere>>2] = $127; - $128 = ($127|0)!=(0|0); - if ($128) { - $129 = HEAP32[$0>>2]|0; - $130 = HEAP32[$zDb>>2]|0; - $131 = HEAP32[$iDb>>2]|0; - $132 = ($131|0)==(1); - $133 = $132 ? 19905 : 19924; - $134 = HEAP32[$zTabName>>2]|0; - $135 = HEAP32[$zName>>2]|0; - $136 = HEAP32[$zWhere>>2]|0; - HEAP32[$vararg_buffer4>>2] = $130; + $133 = HEAP32[$8>>2]|0; + $134 = HEAP32[$133>>2]|0; + HEAP32[$12>>2] = $134; + $135 = HEAP32[$12>>2]|0; + $136 = (_sqlite3Utf8CharLen_101($135,-1)|0); + HEAP32[$11>>2] = $136; + $137 = HEAP32[$10>>2]|0; + $138 = ((($137)) + 24|0); + $139 = HEAP32[$138>>2]|0; + $140 = $139 & 524288; + $141 = ($140|0)!=(0); + if ($141) { + $142 = HEAP32[$3>>2]|0; + $143 = HEAP32[$8>>2]|0; + $144 = (_whereForeignKeys($142,$143)|0); + HEAP32[$14>>2] = $144; + $145 = ($144|0)!=(0|0); + if ($145) { + $146 = HEAP32[$3>>2]|0; + $147 = HEAP32[$7>>2]|0; + $148 = HEAP32[$6>>2]|0; + $149 = ($148|0)==(1); + $150 = $149 ? 26433 : 26452; + $151 = HEAP32[$12>>2]|0; + $152 = HEAP32[$9>>2]|0; + $153 = HEAP32[$14>>2]|0; + HEAP32[$vararg_buffer4>>2] = $147; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $133; + HEAP32[$vararg_ptr7>>2] = $150; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $134; + HEAP32[$vararg_ptr8>>2] = $151; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $135; + HEAP32[$vararg_ptr9>>2] = $152; $vararg_ptr10 = ((($vararg_buffer4)) + 16|0); - HEAP32[$vararg_ptr10>>2] = $136; - _sqlite3NestedParse($129,28364,$vararg_buffer4); - $137 = HEAP32[$db>>2]|0; - $138 = HEAP32[$zWhere>>2]|0; - _sqlite3DbFree($137,$138); + HEAP32[$vararg_ptr10>>2] = $153; + _sqlite3NestedParse($146,27772,$vararg_buffer4); + $154 = HEAP32[$10>>2]|0; + $155 = HEAP32[$14>>2]|0; + _sqlite3DbFree($154,$155); } } - $139 = HEAP32[$0>>2]|0; - $140 = HEAP32[$zDb>>2]|0; - $141 = HEAP32[$iDb>>2]|0; - $142 = ($141|0)==(1); - $143 = $142 ? 19905 : 19924; - $144 = HEAP32[$zName>>2]|0; - $145 = HEAP32[$zName>>2]|0; - $146 = HEAP32[$zName>>2]|0; - $147 = HEAP32[$zName>>2]|0; - $148 = HEAP32[$zName>>2]|0; - $149 = HEAP32[$nTabName>>2]|0; - $150 = HEAP32[$zTabName>>2]|0; - HEAP32[$vararg_buffer11>>2] = $140; + $156 = HEAP32[$3>>2]|0; + $157 = HEAP32[$7>>2]|0; + $158 = HEAP32[$6>>2]|0; + $159 = ($158|0)==(1); + $160 = $159 ? 26433 : 26452; + $161 = HEAP32[$9>>2]|0; + $162 = HEAP32[$9>>2]|0; + $163 = HEAP32[$9>>2]|0; + $164 = HEAP32[$9>>2]|0; + $165 = HEAP32[$9>>2]|0; + $166 = HEAP32[$11>>2]|0; + $167 = HEAP32[$12>>2]|0; + HEAP32[$vararg_buffer11>>2] = $157; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $143; + HEAP32[$vararg_ptr14>>2] = $160; $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr15>>2] = $144; + HEAP32[$vararg_ptr15>>2] = $161; $vararg_ptr16 = ((($vararg_buffer11)) + 12|0); - HEAP32[$vararg_ptr16>>2] = $145; + HEAP32[$vararg_ptr16>>2] = $162; $vararg_ptr17 = ((($vararg_buffer11)) + 16|0); - HEAP32[$vararg_ptr17>>2] = $146; + HEAP32[$vararg_ptr17>>2] = $163; $vararg_ptr18 = ((($vararg_buffer11)) + 20|0); - HEAP32[$vararg_ptr18>>2] = $147; + HEAP32[$vararg_ptr18>>2] = $164; $vararg_ptr19 = ((($vararg_buffer11)) + 24|0); - HEAP32[$vararg_ptr19>>2] = $148; + HEAP32[$vararg_ptr19>>2] = $165; $vararg_ptr20 = ((($vararg_buffer11)) + 28|0); - HEAP32[$vararg_ptr20>>2] = $149; + HEAP32[$vararg_ptr20>>2] = $166; $vararg_ptr21 = ((($vararg_buffer11)) + 32|0); - HEAP32[$vararg_ptr21>>2] = $150; - _sqlite3NestedParse($139,28433,$vararg_buffer11); - $151 = HEAP32[$db>>2]|0; - $152 = HEAP32[$zDb>>2]|0; - $153 = (_sqlite3FindTable($151,28817,$152)|0); - $154 = ($153|0)!=(0|0); - if ($154) { - $155 = HEAP32[$0>>2]|0; - $156 = HEAP32[$zDb>>2]|0; - $157 = HEAP32[$zName>>2]|0; - $158 = HEAP32[$pTab>>2]|0; - $159 = HEAP32[$158>>2]|0; - HEAP32[$vararg_buffer22>>2] = $156; + HEAP32[$vararg_ptr21>>2] = $167; + _sqlite3NestedParse($156,27841,$vararg_buffer11); + $168 = HEAP32[$10>>2]|0; + $169 = HEAP32[$7>>2]|0; + $170 = (_sqlite3FindTable($168,28225,$169)|0); + $171 = ($170|0)!=(0|0); + if ($171) { + $172 = HEAP32[$3>>2]|0; + $173 = HEAP32[$7>>2]|0; + $174 = HEAP32[$9>>2]|0; + $175 = HEAP32[$8>>2]|0; + $176 = HEAP32[$175>>2]|0; + HEAP32[$vararg_buffer22>>2] = $173; $vararg_ptr25 = ((($vararg_buffer22)) + 4|0); - HEAP32[$vararg_ptr25>>2] = $157; + HEAP32[$vararg_ptr25>>2] = $174; $vararg_ptr26 = ((($vararg_buffer22)) + 8|0); - HEAP32[$vararg_ptr26>>2] = $159; - _sqlite3NestedParse($155,28833,$vararg_buffer22); + HEAP32[$vararg_ptr26>>2] = $176; + _sqlite3NestedParse($172,28241,$vararg_buffer22); } - $160 = HEAP32[$0>>2]|0; - $161 = HEAP32[$pTab>>2]|0; - $162 = (_whereTempTriggers($160,$161)|0); - HEAP32[$zWhere>>2] = $162; - $163 = ($162|0)!=(0|0); - if ($163) { - $164 = HEAP32[$0>>2]|0; - $165 = HEAP32[$zName>>2]|0; - $166 = HEAP32[$zName>>2]|0; - $167 = HEAP32[$zWhere>>2]|0; - HEAP32[$vararg_buffer27>>2] = $165; + $177 = HEAP32[$3>>2]|0; + $178 = HEAP32[$8>>2]|0; + $179 = (_whereTempTriggers($177,$178)|0); + HEAP32[$14>>2] = $179; + $180 = ($179|0)!=(0|0); + if ($180) { + $181 = HEAP32[$3>>2]|0; + $182 = HEAP32[$9>>2]|0; + $183 = HEAP32[$9>>2]|0; + $184 = HEAP32[$14>>2]|0; + HEAP32[$vararg_buffer27>>2] = $182; $vararg_ptr30 = ((($vararg_buffer27)) + 4|0); - HEAP32[$vararg_ptr30>>2] = $166; + HEAP32[$vararg_ptr30>>2] = $183; $vararg_ptr31 = ((($vararg_buffer27)) + 8|0); - HEAP32[$vararg_ptr31>>2] = $167; - _sqlite3NestedParse($164,28891,$vararg_buffer27); - $168 = HEAP32[$db>>2]|0; - $169 = HEAP32[$zWhere>>2]|0; - _sqlite3DbFree($168,$169); + HEAP32[$vararg_ptr31>>2] = $184; + _sqlite3NestedParse($181,28299,$vararg_buffer27); + $185 = HEAP32[$10>>2]|0; + $186 = HEAP32[$14>>2]|0; + _sqlite3DbFree($185,$186); } - $170 = HEAP32[$db>>2]|0; - $171 = ((($170)) + 24|0); - $172 = HEAP32[$171>>2]|0; - $173 = $172 & 524288; - $174 = ($173|0)!=(0); + $187 = HEAP32[$10>>2]|0; + $188 = ((($187)) + 24|0); + $189 = HEAP32[$188>>2]|0; + $190 = $189 & 524288; + $191 = ($190|0)!=(0); L33: do { - if ($174) { - $175 = HEAP32[$pTab>>2]|0; - $176 = (_sqlite3FkReferences($175)|0); - HEAP32[$p>>2] = $176; + if ($191) { + $192 = HEAP32[$8>>2]|0; + $193 = (_sqlite3FkReferences($192)|0); + HEAP32[$18>>2] = $193; while(1) { - $177 = HEAP32[$p>>2]|0; - $178 = ($177|0)!=(0|0); - if (!($178)) { + $194 = HEAP32[$18>>2]|0; + $195 = ($194|0)!=(0|0); + if (!($195)) { break L33; } - $179 = HEAP32[$p>>2]|0; - $180 = HEAP32[$179>>2]|0; - HEAP32[$pFrom>>2] = $180; - $181 = HEAP32[$pFrom>>2]|0; - $182 = HEAP32[$pTab>>2]|0; - $183 = ($181|0)!=($182|0); - if ($183) { - $184 = HEAP32[$0>>2]|0; - $185 = HEAP32[$p>>2]|0; - $186 = HEAP32[$185>>2]|0; - $187 = HEAP32[$pFrom>>2]|0; - $188 = HEAP32[$187>>2]|0; - _reloadTableSchema($184,$186,$188); + $196 = HEAP32[$18>>2]|0; + $197 = HEAP32[$196>>2]|0; + HEAP32[$19>>2] = $197; + $198 = HEAP32[$19>>2]|0; + $199 = HEAP32[$8>>2]|0; + $200 = ($198|0)!=($199|0); + if ($200) { + $201 = HEAP32[$3>>2]|0; + $202 = HEAP32[$18>>2]|0; + $203 = HEAP32[$202>>2]|0; + $204 = HEAP32[$19>>2]|0; + $205 = HEAP32[$204>>2]|0; + _reloadTableSchema($201,$203,$205); } - $189 = HEAP32[$p>>2]|0; - $190 = ((($189)) + 12|0); - $191 = HEAP32[$190>>2]|0; - HEAP32[$p>>2] = $191; + $206 = HEAP32[$18>>2]|0; + $207 = ((($206)) + 12|0); + $208 = HEAP32[$207>>2]|0; + HEAP32[$18>>2] = $208; } } } while(0); - $192 = HEAP32[$0>>2]|0; - $193 = HEAP32[$pTab>>2]|0; - $194 = HEAP32[$zName>>2]|0; - _reloadTableSchema($192,$193,$194); + $209 = HEAP32[$3>>2]|0; + $210 = HEAP32[$8>>2]|0; + $211 = HEAP32[$9>>2]|0; + _reloadTableSchema($209,$210,$211); break; } } - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer>>2] = $50; - _sqlite3ErrorMsg($49,28278,$vararg_buffer); + $66 = HEAP32[$3>>2]|0; + $67 = HEAP32[$9>>2]|0; + HEAP32[$vararg_buffer>>2] = $67; + _sqlite3ErrorMsg($66,27686,$vararg_buffer); } } } } while(0); - $195 = HEAP32[$db>>2]|0; - $196 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($195,$196); - $197 = HEAP32[$db>>2]|0; - $198 = HEAP32[$zName>>2]|0; - _sqlite3DbFree($197,$198); - $199 = HEAP32[$savedDbFlags>>2]|0; - $200 = HEAP32[$db>>2]|0; - $201 = ((($200)) + 24|0); - HEAP32[$201>>2] = $199; + $212 = HEAP32[$10>>2]|0; + $213 = HEAP32[$4>>2]|0; + _sqlite3SrcListDelete($212,$213); + $214 = HEAP32[$10>>2]|0; + $215 = HEAP32[$9>>2]|0; + _sqlite3DbFree($214,$215); + $216 = HEAP32[$16>>2]|0; + $217 = HEAP32[$10>>2]|0; + $218 = ((($217)) + 24|0); + HEAP32[$218>>2] = $216; STACKTOP = sp;return; } -function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { - $pParse = $pParse|0; - $pColDef = $pColDef|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $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, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0, $or$cond = 0, $or$cond3 = 0, $pCol = 0, $pDflt = 0, $pNew = 0, $pTab = 0, $pVal = 0, $r1 = 0, $rc = 0, $savedDbFlags = 0, $v = 0, $vararg_buffer = 0; - var $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $zCol = 0, $zDb = 0, $zEnd = 0, $zTab = 0, label = 0, sp = 0; +function _sqlite3AlterFinishAddColumn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $vararg_buffer13 = sp + 40|0; @@ -131258,512 +106652,512 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $vararg_buffer7 = sp + 16|0; $vararg_buffer5 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 128|0; - $1 = sp + 124|0; - $pNew = sp + 120|0; - $pTab = sp + 116|0; - $iDb = sp + 112|0; - $zDb = sp + 108|0; - $zTab = sp + 104|0; - $zCol = sp + 100|0; - $pCol = sp + 96|0; - $pDflt = sp + 92|0; - $db = sp + 88|0; - $v = sp + 84|0; - $r1 = sp + 80|0; - $pVal = sp + 76|0; - $rc = sp + 72|0; - $zEnd = sp + 68|0; - $savedDbFlags = sp + 64|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pColDef; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$v>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 36|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0); - if ($10) { + $2 = sp + 128|0; + $3 = sp + 124|0; + $4 = sp + 120|0; + $5 = sp + 116|0; + $6 = sp + 112|0; + $7 = sp + 108|0; + $8 = sp + 104|0; + $9 = sp + 100|0; + $10 = sp + 96|0; + $11 = sp + 92|0; + $12 = sp + 88|0; + $13 = sp + 84|0; + $14 = sp + 80|0; + $15 = sp + 76|0; + $16 = sp + 72|0; + $17 = sp + 68|0; + $18 = sp + 64|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$13>>2] = $21; + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$12>>2] = $23; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0); + if ($27) { STACKTOP = sp;return; } - $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 69|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)!=(0); - if ($15) { + $28 = HEAP32[$12>>2]|0; + $29 = ((($28)) + 69|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = ($31|0)!=(0); + if ($32) { STACKTOP = sp;return; } - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 440|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$pNew>>2] = $18; - $19 = HEAP32[$db>>2]|0; - $20 = HEAP32[$pNew>>2]|0; - $21 = ((($20)) + 64|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3SchemaToIndex($19,$22)|0); - HEAP32[$iDb>>2] = $23; - $24 = HEAP32[$iDb>>2]|0; - $25 = HEAP32[$db>>2]|0; - $26 = ((($25)) + 16|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + ($24<<4)|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$zDb>>2] = $29; - $30 = HEAP32[$pNew>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = ((($31)) + 16|0); - HEAP32[$zTab>>2] = $32; - $33 = HEAP32[$pNew>>2]|0; - $34 = ((($33)) + 34|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35 << 16 >> 16; - $37 = (($36) - 1)|0; - $38 = HEAP32[$pNew>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (($40) + ($37<<4)|0); - HEAP32[$pCol>>2] = $41; - $42 = HEAP32[$pCol>>2]|0; - $43 = ((($42)) + 4|0); - $44 = HEAP32[$43>>2]|0; - HEAP32[$pDflt>>2] = $44; - $45 = HEAP32[$db>>2]|0; - $46 = HEAP32[$zTab>>2]|0; - $47 = HEAP32[$zDb>>2]|0; - $48 = (_sqlite3FindTable($45,$46,$47)|0); - HEAP32[$pTab>>2] = $48; - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$zDb>>2]|0; - $51 = HEAP32[$pTab>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 440|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$4>>2] = $35; + $36 = HEAP32[$12>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 64|0); + $39 = HEAP32[$38>>2]|0; + $40 = (_sqlite3SchemaToIndex($36,$39)|0); + HEAP32[$6>>2] = $40; + $41 = HEAP32[$12>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$6>>2]|0; + $45 = (($43) + ($44<<4)|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$7>>2] = $46; + $47 = HEAP32[$4>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = ((($48)) + 16|0); + HEAP32[$8>>2] = $49; + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 4|0); $52 = HEAP32[$51>>2]|0; - $53 = (_sqlite3AuthCheck($49,26,$50,$52,0)|0); - $54 = ($53|0)!=(0); - if ($54) { + $53 = HEAP32[$4>>2]|0; + $54 = ((($53)) + 34|0); + $55 = HEAP16[$54>>1]|0; + $56 = $55 << 16 >> 16; + $57 = (($56) - 1)|0; + $58 = (($52) + ($57<<4)|0); + HEAP32[$10>>2] = $58; + $59 = HEAP32[$10>>2]|0; + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + HEAP32[$11>>2] = $61; + $62 = HEAP32[$12>>2]|0; + $63 = HEAP32[$8>>2]|0; + $64 = HEAP32[$7>>2]|0; + $65 = (_sqlite3FindTable($62,$63,$64)|0); + HEAP32[$5>>2] = $65; + $66 = HEAP32[$2>>2]|0; + $67 = HEAP32[$7>>2]|0; + $68 = HEAP32[$5>>2]|0; + $69 = HEAP32[$68>>2]|0; + $70 = (_sqlite3AuthCheck($66,26,$67,$69,0)|0); + $71 = ($70|0)!=(0); + if ($71) { STACKTOP = sp;return; } - $55 = HEAP32[$pDflt>>2]|0; - $56 = ($55|0)!=(0|0); - if ($56) { - $57 = HEAP32[$pDflt>>2]|0; - $58 = ((($57)) + 12|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = ($61|0)==(101); - if ($62) { - HEAP32[$pDflt>>2] = 0; + $72 = HEAP32[$11>>2]|0; + $73 = ($72|0)!=(0|0); + if ($73) { + $74 = HEAP32[$11>>2]|0; + $75 = ((($74)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = ($78|0)==(101); + if ($79) { + HEAP32[$11>>2] = 0; } } - $63 = HEAP32[$pCol>>2]|0; - $64 = ((($63)) + 15|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = $66 & 1; - $68 = ($67|0)!=(0); - if ($68) { - $69 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($69,27880,$vararg_buffer); + $80 = HEAP32[$10>>2]|0; + $81 = ((($80)) + 15|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 & 1; + $85 = ($84|0)!=(0); + if ($85) { + $86 = HEAP32[$2>>2]|0; + _sqlite3ErrorMsg($86,27300,$vararg_buffer); STACKTOP = sp;return; } - $70 = HEAP32[$pNew>>2]|0; - $71 = ((($70)) + 8|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($72|0)!=(0|0); - if ($73) { - $74 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($74,27912,$vararg_buffer5); + $87 = HEAP32[$4>>2]|0; + $88 = ((($87)) + 8|0); + $89 = HEAP32[$88>>2]|0; + $90 = ($89|0)!=(0|0); + if ($90) { + $91 = HEAP32[$2>>2]|0; + _sqlite3ErrorMsg($91,27332,$vararg_buffer5); STACKTOP = sp;return; } - $75 = HEAP32[$db>>2]|0; - $76 = ((($75)) + 24|0); - $77 = HEAP32[$76>>2]|0; - $78 = $77 & 524288; - $79 = ($78|0)!=(0); - if ($79) { - $80 = HEAP32[$pNew>>2]|0; - $81 = ((($80)) + 16|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)!=(0|0); - $84 = HEAP32[$pDflt>>2]|0; - $85 = ($84|0)!=(0|0); - $or$cond = $83 & $85; + $92 = HEAP32[$12>>2]|0; + $93 = ((($92)) + 24|0); + $94 = HEAP32[$93>>2]|0; + $95 = $94 & 524288; + $96 = ($95|0)!=(0); + if ($96) { + $97 = HEAP32[$4>>2]|0; + $98 = ((($97)) + 16|0); + $99 = HEAP32[$98>>2]|0; + $100 = ($99|0)!=(0|0); + $101 = HEAP32[$11>>2]|0; + $102 = ($101|0)!=(0|0); + $or$cond = $100 & $102; if ($or$cond) { - $86 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($86,27939,$vararg_buffer7); + $103 = HEAP32[$2>>2]|0; + _sqlite3ErrorMsg($103,27359,$vararg_buffer7); STACKTOP = sp;return; } } - $87 = HEAP32[$pCol>>2]|0; - $88 = ((($87)) + 12|0); - $89 = HEAP8[$88>>0]|0; - $90 = $89&255; - $91 = ($90|0)==(0); - $92 = HEAP32[$pDflt>>2]|0; - $93 = ($92|0)!=(0|0); - $or$cond3 = $91 | $93; + $104 = HEAP32[$10>>2]|0; + $105 = ((($104)) + 12|0); + $106 = HEAP8[$105>>0]|0; + $107 = $106&255; + $108 = ($107|0)==(0); + $109 = HEAP32[$11>>2]|0; + $110 = ($109|0)!=(0|0); + $or$cond3 = $108 | $110; if (!($or$cond3)) { - $94 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($94,27998,$vararg_buffer9); + $111 = HEAP32[$2>>2]|0; + _sqlite3ErrorMsg($111,27418,$vararg_buffer9); STACKTOP = sp;return; } - $95 = HEAP32[$pDflt>>2]|0; - $96 = ($95|0)!=(0|0); + $112 = HEAP32[$11>>2]|0; + $113 = ($112|0)!=(0|0); do { - if ($96) { - HEAP32[$pVal>>2] = 0; - $97 = HEAP32[$db>>2]|0; - $98 = HEAP32[$pDflt>>2]|0; - $99 = (_sqlite3ValueFromExpr($97,$98,1,65,$pVal)|0); - HEAP32[$rc>>2] = $99; - $100 = HEAP32[$rc>>2]|0; - $101 = ($100|0)!=(0); - if ($101) { + if ($113) { + HEAP32[$15>>2] = 0; + $114 = HEAP32[$12>>2]|0; + $115 = HEAP32[$11>>2]|0; + $116 = (_sqlite3ValueFromExpr($114,$115,1,65,$15)|0); + HEAP32[$16>>2] = $116; + $117 = HEAP32[$16>>2]|0; + $118 = ($117|0)!=(0); + if ($118) { STACKTOP = sp;return; } - $102 = HEAP32[$pVal>>2]|0; - $103 = ($102|0)!=(0|0); - if ($103) { - $105 = HEAP32[$pVal>>2]|0; - _sqlite3ValueFree($105); + $119 = HEAP32[$15>>2]|0; + $120 = ($119|0)!=(0|0); + if ($120) { + $122 = HEAP32[$15>>2]|0; + _sqlite3ValueFree($122); break; } - $104 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($104,28051,$vararg_buffer11); + $121 = HEAP32[$2>>2]|0; + _sqlite3ErrorMsg($121,27471,$vararg_buffer11); STACKTOP = sp;return; } } while(0); - $106 = HEAP32[$db>>2]|0; - $107 = HEAP32[$1>>2]|0; - $108 = HEAP32[$107>>2]|0; - $109 = HEAP32[$1>>2]|0; - $110 = ((($109)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = (_sqlite3DbStrNDup($106,$108,$111,0)|0); - HEAP32[$zCol>>2] = $112; - $113 = HEAP32[$zCol>>2]|0; - $114 = ($113|0)!=(0|0); - if ($114) { - $115 = HEAP32[$1>>2]|0; - $116 = ((($115)) + 4|0); - $117 = HEAP32[$116>>2]|0; - $118 = (($117) - 1)|0; - $119 = HEAP32[$zCol>>2]|0; - $120 = (($119) + ($118)|0); - HEAP32[$zEnd>>2] = $120; - $121 = HEAP32[$db>>2]|0; - $122 = ((($121)) + 24|0); - $123 = HEAP32[$122>>2]|0; - HEAP32[$savedDbFlags>>2] = $123; + $123 = HEAP32[$12>>2]|0; + $124 = HEAP32[$3>>2]|0; + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$3>>2]|0; + $127 = ((($126)) + 4|0); + $128 = HEAP32[$127>>2]|0; + $129 = (_sqlite3DbStrNDup($123,$125,$128,0)|0); + HEAP32[$9>>2] = $129; + $130 = HEAP32[$9>>2]|0; + $131 = ($130|0)!=(0|0); + if ($131) { + $132 = HEAP32[$9>>2]|0; + $133 = HEAP32[$3>>2]|0; + $134 = ((($133)) + 4|0); + $135 = HEAP32[$134>>2]|0; + $136 = (($135) - 1)|0; + $137 = (($132) + ($136)|0); + HEAP32[$17>>2] = $137; + $138 = HEAP32[$12>>2]|0; + $139 = ((($138)) + 24|0); + $140 = HEAP32[$139>>2]|0; + HEAP32[$18>>2] = $140; while(1) { - $124 = HEAP32[$zEnd>>2]|0; - $125 = HEAP32[$zCol>>2]|0; - $126 = ($124>>>0)>($125>>>0); - if (!($126)) { + $141 = HEAP32[$17>>2]|0; + $142 = HEAP32[$9>>2]|0; + $143 = ($141>>>0)>($142>>>0); + if (!($143)) { break; } - $127 = HEAP32[$zEnd>>2]|0; - $128 = HEAP8[$127>>0]|0; - $129 = $128 << 24 >> 24; - $130 = ($129|0)==(59); - if (!($130)) { - $131 = HEAP32[$zEnd>>2]|0; - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - $134 = (18403 + ($133)|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $137 = $136 & 1; - $138 = ($137|0)!=(0); - if (!($138)) { + $144 = HEAP32[$17>>2]|0; + $145 = HEAP8[$144>>0]|0; + $146 = $145 << 24 >> 24; + $147 = ($146|0)==(59); + if (!($147)) { + $148 = HEAP32[$17>>2]|0; + $149 = HEAP8[$148>>0]|0; + $150 = $149&255; + $151 = (20063 + ($150)|0); + $152 = HEAP8[$151>>0]|0; + $153 = $152&255; + $154 = $153 & 1; + $155 = ($154|0)!=(0); + if (!($155)) { break; } } - $139 = HEAP32[$zEnd>>2]|0; - $140 = ((($139)) + -1|0); - HEAP32[$zEnd>>2] = $140; - HEAP8[$139>>0] = 0; + $156 = HEAP32[$17>>2]|0; + $157 = ((($156)) + -1|0); + HEAP32[$17>>2] = $157; + HEAP8[$156>>0] = 0; } - $141 = HEAP32[$db>>2]|0; - $142 = ((($141)) + 24|0); - $143 = HEAP32[$142>>2]|0; - $144 = $143 | 2097152; - HEAP32[$142>>2] = $144; - $145 = HEAP32[$0>>2]|0; - $146 = HEAP32[$zDb>>2]|0; - $147 = HEAP32[$iDb>>2]|0; - $148 = ($147|0)==(1); - $149 = $148 ? 19905 : 19924; - $150 = HEAP32[$pNew>>2]|0; - $151 = ((($150)) + 44|0); - $152 = HEAP32[$151>>2]|0; - $153 = HEAP32[$zCol>>2]|0; - $154 = HEAP32[$pNew>>2]|0; - $155 = ((($154)) + 44|0); - $156 = HEAP32[$155>>2]|0; - $157 = (($156) + 1)|0; - $158 = HEAP32[$zTab>>2]|0; - HEAP32[$vararg_buffer13>>2] = $146; + $158 = HEAP32[$12>>2]|0; + $159 = ((($158)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = $160 | 2097152; + HEAP32[$159>>2] = $161; + $162 = HEAP32[$2>>2]|0; + $163 = HEAP32[$7>>2]|0; + $164 = HEAP32[$6>>2]|0; + $165 = ($164|0)==(1); + $166 = $165 ? 26433 : 26452; + $167 = HEAP32[$4>>2]|0; + $168 = ((($167)) + 44|0); + $169 = HEAP32[$168>>2]|0; + $170 = HEAP32[$9>>2]|0; + $171 = HEAP32[$4>>2]|0; + $172 = ((($171)) + 44|0); + $173 = HEAP32[$172>>2]|0; + $174 = (($173) + 1)|0; + $175 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer13>>2] = $163; $vararg_ptr15 = ((($vararg_buffer13)) + 4|0); - HEAP32[$vararg_ptr15>>2] = $149; + HEAP32[$vararg_ptr15>>2] = $166; $vararg_ptr16 = ((($vararg_buffer13)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $152; + HEAP32[$vararg_ptr16>>2] = $169; $vararg_ptr17 = ((($vararg_buffer13)) + 12|0); - HEAP32[$vararg_ptr17>>2] = $153; + HEAP32[$vararg_ptr17>>2] = $170; $vararg_ptr18 = ((($vararg_buffer13)) + 16|0); - HEAP32[$vararg_ptr18>>2] = $157; + HEAP32[$vararg_ptr18>>2] = $174; $vararg_ptr19 = ((($vararg_buffer13)) + 20|0); - HEAP32[$vararg_ptr19>>2] = $158; - _sqlite3NestedParse($145,28097,$vararg_buffer13); - $159 = HEAP32[$db>>2]|0; - $160 = HEAP32[$zCol>>2]|0; - _sqlite3DbFree($159,$160); - $161 = HEAP32[$savedDbFlags>>2]|0; - $162 = HEAP32[$db>>2]|0; - $163 = ((($162)) + 24|0); - HEAP32[$163>>2] = $161; - } - $164 = HEAP32[$0>>2]|0; - $165 = (_sqlite3GetTempReg($164)|0); - HEAP32[$r1>>2] = $165; - $166 = HEAP32[$v>>2]|0; - $167 = HEAP32[$iDb>>2]|0; - $168 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($166,101,$167,$168,2)|0); - $169 = HEAP32[$v>>2]|0; - $170 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($169,$170); - $171 = HEAP32[$v>>2]|0; - $172 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp2($171,91,$172,-2)|0); - $173 = HEAP32[$v>>2]|0; - $174 = HEAP32[$r1>>2]|0; - $175 = HEAP32[$v>>2]|0; - $176 = (_sqlite3VdbeCurrentAddr($175)|0); - $177 = (($176) + 2)|0; - (_sqlite3VdbeAddOp2($173,66,$174,$177)|0); - $178 = HEAP32[$v>>2]|0; - $179 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($178,102,$179,2,3)|0); - $180 = HEAP32[$0>>2]|0; - $181 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($180,$181); - $182 = HEAP32[$0>>2]|0; - $183 = HEAP32[$pTab>>2]|0; - $184 = HEAP32[$pTab>>2]|0; - $185 = HEAP32[$184>>2]|0; - _reloadTableSchema($182,$183,$185); + HEAP32[$vararg_ptr19>>2] = $175; + _sqlite3NestedParse($162,27517,$vararg_buffer13); + $176 = HEAP32[$12>>2]|0; + $177 = HEAP32[$9>>2]|0; + _sqlite3DbFree($176,$177); + $178 = HEAP32[$18>>2]|0; + $179 = HEAP32[$12>>2]|0; + $180 = ((($179)) + 24|0); + HEAP32[$180>>2] = $178; + } + $181 = HEAP32[$2>>2]|0; + $182 = (_sqlite3GetTempReg($181)|0); + HEAP32[$14>>2] = $182; + $183 = HEAP32[$13>>2]|0; + $184 = HEAP32[$6>>2]|0; + $185 = HEAP32[$14>>2]|0; + (_sqlite3VdbeAddOp3($183,101,$184,$185,2)|0); + $186 = HEAP32[$13>>2]|0; + $187 = HEAP32[$6>>2]|0; + _sqlite3VdbeUsesBtree($186,$187); + $188 = HEAP32[$13>>2]|0; + $189 = HEAP32[$14>>2]|0; + (_sqlite3VdbeAddOp2($188,91,$189,-2)|0); + $190 = HEAP32[$13>>2]|0; + $191 = HEAP32[$14>>2]|0; + $192 = HEAP32[$13>>2]|0; + $193 = (_sqlite3VdbeCurrentAddr($192)|0); + $194 = (($193) + 2)|0; + (_sqlite3VdbeAddOp2($190,66,$191,$194)|0); + $195 = HEAP32[$13>>2]|0; + $196 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp3($195,102,$196,2,3)|0); + $197 = HEAP32[$2>>2]|0; + $198 = HEAP32[$14>>2]|0; + _sqlite3ReleaseTempReg($197,$198); + $199 = HEAP32[$2>>2]|0; + $200 = HEAP32[$5>>2]|0; + $201 = HEAP32[$5>>2]|0; + $202 = HEAP32[$201>>2]|0; + _reloadTableSchema($199,$200,$202); STACKTOP = sp;return; } -function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { - $pParse = $pParse|0; - $pSrc = $pSrc|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $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, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $iDb = 0, $nAlloc = 0, $pCol = 0, $pNew = 0; - var $pTab = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; +function _sqlite3AlterBeginAddColumn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 56|0; - $1 = sp + 52|0; - $pNew = sp + 48|0; - $pTab = sp + 44|0; - $v = sp + 40|0; - $iDb = sp + 36|0; - $i = sp + 32|0; - $nAlloc = sp + 28|0; - $db = sp + 24|0; - $pCol = sp + 20|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pSrc; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 69|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); + $2 = sp + 56|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$10>>2] = $13; + $14 = HEAP32[$10>>2]|0; + $15 = ((($14)) + 69|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); do { - if (!($7)) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 8|0); - $11 = (_sqlite3LocateTableItem($8,0,$10)|0); - HEAP32[$pTab>>2] = $11; - $12 = HEAP32[$pTab>>2]|0; - $13 = ($12|0)!=(0|0); - if ($13) { - $14 = HEAP32[$pTab>>2]|0; - $15 = ((($14)) + 42|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $17 & 16; - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($20,27691,$vararg_buffer); + if (!($17)) { + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 8|0); + $21 = (_sqlite3LocateTableItem($18,0,$20)|0); + HEAP32[$5>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 42|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = $27 & 16; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$2>>2]|0; + _sqlite3ErrorMsg($30,26581,$vararg_buffer); break; } - $21 = HEAP32[$pTab>>2]|0; - $22 = ((($21)) + 12|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)!=(0|0); - $25 = HEAP32[$0>>2]|0; - if ($24) { - _sqlite3ErrorMsg($25,27725,$vararg_buffer1); + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0|0); + $35 = HEAP32[$2>>2]|0; + if ($34) { + _sqlite3ErrorMsg($35,26615,$vararg_buffer1); break; } - $26 = HEAP32[$pTab>>2]|0; - $27 = HEAP32[$26>>2]|0; - $28 = (_isSystemTable($25,$27)|0); - $29 = (0)!=($28|0); - if (!($29)) { - $30 = HEAP32[$db>>2]|0; - $31 = HEAP32[$pTab>>2]|0; - $32 = ((($31)) + 64|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_sqlite3SchemaToIndex($30,$33)|0); - HEAP32[$iDb>>2] = $34; - $35 = HEAP32[$db>>2]|0; - $36 = (_sqlite3DbMallocZero($35,72,0)|0); - HEAP32[$pNew>>2] = $36; - $37 = HEAP32[$pNew>>2]|0; - $38 = ($37|0)!=(0|0); - if ($38) { - $39 = HEAP32[$pNew>>2]|0; - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 440|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$pNew>>2]|0; - $43 = ((($42)) + 36|0); - HEAP16[$43>>1] = 1; - $44 = HEAP32[$pTab>>2]|0; - $45 = ((($44)) + 34|0); - $46 = HEAP16[$45>>1]|0; - $47 = HEAP32[$pNew>>2]|0; - $48 = ((($47)) + 34|0); - HEAP16[$48>>1] = $46; - $49 = HEAP32[$pNew>>2]|0; - $50 = ((($49)) + 34|0); - $51 = HEAP16[$50>>1]|0; - $52 = $51 << 16 >> 16; - $53 = (($52) - 1)|0; - $54 = (($53|0) / 8)&-1; - $55 = $54<<3; - $56 = (($55) + 8)|0; - HEAP32[$nAlloc>>2] = $56; - $57 = HEAP32[$db>>2]|0; - $58 = HEAP32[$nAlloc>>2]|0; - $59 = $58<<4; - $60 = (_sqlite3DbMallocZero($57,$59,0)|0); - $61 = HEAP32[$pNew>>2]|0; - $62 = ((($61)) + 4|0); - HEAP32[$62>>2] = $60; - $63 = HEAP32[$db>>2]|0; - $64 = HEAP32[$pTab>>2]|0; - $65 = HEAP32[$64>>2]|0; - HEAP32[$vararg_buffer3>>2] = $65; - $66 = (_sqlite3MPrintf($63,27755,$vararg_buffer3)|0); - $67 = HEAP32[$pNew>>2]|0; - HEAP32[$67>>2] = $66; - $68 = HEAP32[$pNew>>2]|0; - $69 = ((($68)) + 4|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)!=(0|0); - if ($71) { - $72 = HEAP32[$pNew>>2]|0; - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)!=(0|0); - if ($74) { - $75 = HEAP32[$pNew>>2]|0; - $76 = ((($75)) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$pTab>>2]|0; - $79 = ((($78)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = HEAP32[$pNew>>2]|0; - $82 = ((($81)) + 34|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83 << 16 >> 16; - $85 = $84<<4; - _memcpy(($77|0),($80|0),($85|0))|0; - HEAP32[$i>>2] = 0; + $36 = HEAP32[$5>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = (_isSystemTable($35,$37)|0); + $39 = (0)!=($38|0); + if (!($39)) { + $40 = HEAP32[$10>>2]|0; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 64|0); + $43 = HEAP32[$42>>2]|0; + $44 = (_sqlite3SchemaToIndex($40,$43)|0); + HEAP32[$7>>2] = $44; + $45 = HEAP32[$10>>2]|0; + $46 = (_sqlite3DbMallocZero($45,72,0)|0); + HEAP32[$4>>2] = $46; + $47 = HEAP32[$4>>2]|0; + $48 = ($47|0)!=(0|0); + if ($48) { + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$2>>2]|0; + $51 = ((($50)) + 440|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 36|0); + HEAP16[$53>>1] = 1; + $54 = HEAP32[$5>>2]|0; + $55 = ((($54)) + 34|0); + $56 = HEAP16[$55>>1]|0; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 34|0); + HEAP16[$58>>1] = $56; + $59 = HEAP32[$4>>2]|0; + $60 = ((($59)) + 34|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61 << 16 >> 16; + $63 = (($62) - 1)|0; + $64 = (($63|0) / 8)&-1; + $65 = $64<<3; + $66 = (($65) + 8)|0; + HEAP32[$9>>2] = $66; + $67 = HEAP32[$10>>2]|0; + $68 = HEAP32[$9>>2]|0; + $69 = $68<<4; + $70 = (_sqlite3DbMallocZero($67,$69,0)|0); + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 4|0); + HEAP32[$72>>2] = $70; + $73 = HEAP32[$10>>2]|0; + $74 = HEAP32[$5>>2]|0; + $75 = HEAP32[$74>>2]|0; + HEAP32[$vararg_buffer3>>2] = $75; + $76 = (_sqlite3MPrintf($73,26645,$vararg_buffer3)|0); + $77 = HEAP32[$4>>2]|0; + HEAP32[$77>>2] = $76; + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($80|0)!=(0|0); + if ($81) { + $82 = HEAP32[$4>>2]|0; + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)!=(0|0); + if ($84) { + $85 = HEAP32[$4>>2]|0; + $86 = ((($85)) + 4|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$5>>2]|0; + $89 = ((($88)) + 4|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$4>>2]|0; + $92 = ((($91)) + 34|0); + $93 = HEAP16[$92>>1]|0; + $94 = $93 << 16 >> 16; + $95 = $94<<4; + _memcpy(($87|0),($90|0),($95|0))|0; + HEAP32[$8>>2] = 0; while(1) { - $86 = HEAP32[$i>>2]|0; - $87 = HEAP32[$pNew>>2]|0; - $88 = ((($87)) + 34|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89 << 16 >> 16; - $91 = ($86|0)<($90|0); - if (!($91)) { + $96 = HEAP32[$8>>2]|0; + $97 = HEAP32[$4>>2]|0; + $98 = ((($97)) + 34|0); + $99 = HEAP16[$98>>1]|0; + $100 = $99 << 16 >> 16; + $101 = ($96|0)<($100|0); + if (!($101)) { break; } - $92 = HEAP32[$i>>2]|0; - $93 = HEAP32[$pNew>>2]|0; - $94 = ((($93)) + 4|0); - $95 = HEAP32[$94>>2]|0; - $96 = (($95) + ($92<<4)|0); - HEAP32[$pCol>>2] = $96; - $97 = HEAP32[$db>>2]|0; - $98 = HEAP32[$pCol>>2]|0; - $99 = HEAP32[$98>>2]|0; - $100 = (_sqlite3DbStrDup($97,$99)|0); - $101 = HEAP32[$pCol>>2]|0; - HEAP32[$101>>2] = $100; - $102 = HEAP32[$pCol>>2]|0; - $103 = ((($102)) + 8|0); - HEAP32[$103>>2] = 0; - $104 = HEAP32[$pCol>>2]|0; - $105 = ((($104)) + 4|0); - HEAP32[$105>>2] = 0; - $106 = HEAP32[$i>>2]|0; - $107 = (($106) + 1)|0; - HEAP32[$i>>2] = $107; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 4|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$8>>2]|0; + $106 = (($104) + ($105<<4)|0); + HEAP32[$11>>2] = $106; + $107 = HEAP32[$10>>2]|0; + $108 = HEAP32[$11>>2]|0; + $109 = HEAP32[$108>>2]|0; + $110 = (_sqlite3DbStrDup($107,$109)|0); + $111 = HEAP32[$11>>2]|0; + HEAP32[$111>>2] = $110; + $112 = HEAP32[$11>>2]|0; + $113 = ((($112)) + 8|0); + HEAP32[$113>>2] = 0; + $114 = HEAP32[$11>>2]|0; + $115 = ((($114)) + 4|0); + HEAP32[$115>>2] = 0; + $116 = HEAP32[$8>>2]|0; + $117 = (($116) + 1)|0; + HEAP32[$8>>2] = $117; } - $108 = HEAP32[$iDb>>2]|0; - $109 = HEAP32[$db>>2]|0; - $110 = ((($109)) + 16|0); - $111 = HEAP32[$110>>2]|0; - $112 = (($111) + ($108<<4)|0); - $113 = ((($112)) + 12|0); - $114 = HEAP32[$113>>2]|0; - $115 = HEAP32[$pNew>>2]|0; - $116 = ((($115)) + 64|0); - HEAP32[$116>>2] = $114; - $117 = HEAP32[$pTab>>2]|0; - $118 = ((($117)) + 44|0); - $119 = HEAP32[$118>>2]|0; - $120 = HEAP32[$pNew>>2]|0; - $121 = ((($120)) + 44|0); - HEAP32[$121>>2] = $119; - $122 = HEAP32[$pNew>>2]|0; - $123 = ((($122)) + 36|0); - HEAP16[$123>>1] = 1; - $124 = HEAP32[$0>>2]|0; - $125 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($124,0,$125); - $126 = HEAP32[$0>>2]|0; - $127 = (_sqlite3GetVdbe($126)|0); - HEAP32[$v>>2] = $127; - $128 = HEAP32[$v>>2]|0; - $129 = ($128|0)!=(0|0); - if ($129) { - $130 = HEAP32[$0>>2]|0; - $131 = HEAP32[$iDb>>2]|0; - _sqlite3ChangeCookie($130,$131); + $118 = HEAP32[$10>>2]|0; + $119 = ((($118)) + 16|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$7>>2]|0; + $122 = (($120) + ($121<<4)|0); + $123 = ((($122)) + 12|0); + $124 = HEAP32[$123>>2]|0; + $125 = HEAP32[$4>>2]|0; + $126 = ((($125)) + 64|0); + HEAP32[$126>>2] = $124; + $127 = HEAP32[$5>>2]|0; + $128 = ((($127)) + 44|0); + $129 = HEAP32[$128>>2]|0; + $130 = HEAP32[$4>>2]|0; + $131 = ((($130)) + 44|0); + HEAP32[$131>>2] = $129; + $132 = HEAP32[$4>>2]|0; + $133 = ((($132)) + 36|0); + HEAP16[$133>>1] = 1; + $134 = HEAP32[$2>>2]|0; + $135 = HEAP32[$7>>2]|0; + _sqlite3BeginWriteOperation($134,0,$135); + $136 = HEAP32[$2>>2]|0; + $137 = (_sqlite3GetVdbe($136)|0); + HEAP32[$6>>2] = $137; + $138 = HEAP32[$6>>2]|0; + $139 = ($138|0)!=(0|0); + if ($139) { + $140 = HEAP32[$2>>2]|0; + $141 = HEAP32[$7>>2]|0; + _sqlite3ChangeCookie($140,$141); } } } @@ -131772,52036 +107166,44159 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { } } } while(0); - $132 = HEAP32[$db>>2]|0; - $133 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($132,$133); + $142 = HEAP32[$10>>2]|0; + $143 = HEAP32[$3>>2]|0; + _sqlite3SrcListDelete($142,$143); STACKTOP = sp;return; } -function _sqlite3VtabFinishParse($pParse,$pEnd) { - $pParse = $pParse|0; - $pEnd = $pEnd|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $db = 0, $iDb = 0, $iReg = 0, $pOld = 0, $pSchema = 0, $pTab = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer9 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0; - var $zName = 0, $zStmt = 0, $zWhere = 0, label = 0, sp = 0; +function _sqlite3VtabFinishParse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0; + var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer9 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0; + var $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $vararg_buffer9 = sp + 32|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 80|0; - $1 = sp + 76|0; - $pTab = sp + 72|0; - $db = sp + 68|0; - $zStmt = sp + 64|0; - $zWhere = sp + 60|0; - $iDb = sp + 56|0; - $iReg = sp + 52|0; - $v = sp + 48|0; - $pOld = sp + 44|0; - $pSchema = sp + 40|0; - $zName = sp + 36|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pEnd; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 440|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pTab>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$pTab>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = sp + 64|0; + $7 = sp + 60|0; + $8 = sp + 56|0; + $9 = sp + 52|0; + $10 = sp + 48|0; + $11 = sp + 44|0; + $12 = sp + 40|0; + $13 = sp + 36|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 440|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$4>>2] = $16; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$5>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)==(0|0); + if ($20) { STACKTOP = sp;return; } - $9 = HEAP32[$0>>2]|0; - _addArgumentToVtab($9); - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 452|0); - HEAP32[$11>>2] = 0; - $12 = HEAP32[$pTab>>2]|0; - $13 = ((($12)) + 48|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(1); - if ($15) { + $21 = HEAP32[$2>>2]|0; + _addArgumentToVtab($21); + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 452|0); + HEAP32[$23>>2] = 0; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 48|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)<(1); + if ($27) { STACKTOP = sp;return; } - $16 = HEAP32[$db>>2]|0; - $17 = ((($16)) + 148|0); - $18 = ((($17)) + 5|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)!=(0); - if (!($20)) { - $21 = HEAP32[$1>>2]|0; - $22 = ($21|0)!=(0|0); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 384|0); - $27 = HEAP32[$26>>2]|0; - $28 = $24; - $29 = $27; - $30 = (($28) - ($29))|0; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($30) + ($33))|0; - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 384|0); - $37 = ((($36)) + 4|0); - HEAP32[$37>>2] = $34; - } - $38 = HEAP32[$db>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 384|0); - HEAP32[$vararg_buffer>>2] = $40; - $41 = (_sqlite3MPrintf($38,27552,$vararg_buffer)|0); - HEAP32[$zStmt>>2] = $41; - $42 = HEAP32[$db>>2]|0; - $43 = HEAP32[$pTab>>2]|0; - $44 = ((($43)) + 64|0); - $45 = HEAP32[$44>>2]|0; - $46 = (_sqlite3SchemaToIndex($42,$45)|0); - HEAP32[$iDb>>2] = $46; - $47 = HEAP32[$0>>2]|0; - $48 = HEAP32[$iDb>>2]|0; - $49 = HEAP32[$db>>2]|0; - $50 = ((($49)) + 16|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + ($48<<4)|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$iDb>>2]|0; - $55 = ($54|0)==(1); - $56 = $55 ? 19905 : 19924; - $57 = HEAP32[$pTab>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$pTab>>2]|0; - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$zStmt>>2]|0; - $62 = HEAP32[$0>>2]|0; - $63 = ((($62)) + 100|0); - $64 = HEAP32[$63>>2]|0; - HEAP32[$vararg_buffer1>>2] = $53; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 148|0); + $30 = ((($29)) + 5|0); + $31 = HEAP8[$30>>0]|0; + $32 = ($31<<24>>24)!=(0); + if (!($32)) { + $33 = HEAP32[$3>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$3>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 384|0); + $39 = HEAP32[$38>>2]|0; + $40 = $36; + $41 = $39; + $42 = (($40) - ($41))|0; + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($42) + ($45))|0; + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 384|0); + $49 = ((($48)) + 4|0); + HEAP32[$49>>2] = $46; + } + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$2>>2]|0; + $52 = ((($51)) + 384|0); + HEAP32[$vararg_buffer>>2] = $52; + $53 = (_sqlite3MPrintf($50,26409,$vararg_buffer)|0); + HEAP32[$6>>2] = $53; + $54 = HEAP32[$5>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 64|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_sqlite3SchemaToIndex($54,$57)|0); + HEAP32[$8>>2] = $58; + $59 = HEAP32[$2>>2]|0; + $60 = HEAP32[$5>>2]|0; + $61 = ((($60)) + 16|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$8>>2]|0; + $64 = (($62) + ($63<<4)|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = ($66|0)==(1); + $68 = $67 ? 26433 : 26452; + $69 = HEAP32[$4>>2]|0; + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$4>>2]|0; + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$6>>2]|0; + $74 = HEAP32[$2>>2]|0; + $75 = ((($74)) + 100|0); + $76 = HEAP32[$75>>2]|0; + HEAP32[$vararg_buffer1>>2] = $65; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $56; + HEAP32[$vararg_ptr4>>2] = $68; $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $58; + HEAP32[$vararg_ptr5>>2] = $70; $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $60; + HEAP32[$vararg_ptr6>>2] = $72; $vararg_ptr7 = ((($vararg_buffer1)) + 16|0); - HEAP32[$vararg_ptr7>>2] = $61; + HEAP32[$vararg_ptr7>>2] = $73; $vararg_ptr8 = ((($vararg_buffer1)) + 20|0); - HEAP32[$vararg_ptr8>>2] = $64; - _sqlite3NestedParse($47,27576,$vararg_buffer1); - $65 = HEAP32[$db>>2]|0; - $66 = HEAP32[$zStmt>>2]|0; - _sqlite3DbFree($65,$66); - $67 = HEAP32[$0>>2]|0; - $68 = (_sqlite3GetVdbe($67)|0); - HEAP32[$v>>2] = $68; - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$iDb>>2]|0; - _sqlite3ChangeCookie($69,$70); - $71 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($71,150)|0); - $72 = HEAP32[$db>>2]|0; - $73 = HEAP32[$pTab>>2]|0; - $74 = HEAP32[$73>>2]|0; - HEAP32[$vararg_buffer9>>2] = $74; - $75 = (_sqlite3MPrintf($72,27664,$vararg_buffer9)|0); - HEAP32[$zWhere>>2] = $75; - $76 = HEAP32[$v>>2]|0; - $77 = HEAP32[$iDb>>2]|0; - $78 = HEAP32[$zWhere>>2]|0; - _sqlite3VdbeAddParseSchemaOp($76,$77,$78); - $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 44|0); - $81 = HEAP32[$80>>2]|0; - $82 = (($81) + 1)|0; - HEAP32[$80>>2] = $82; - HEAP32[$iReg>>2] = $82; - $83 = HEAP32[$v>>2]|0; - $84 = HEAP32[$iReg>>2]|0; - $85 = HEAP32[$pTab>>2]|0; + HEAP32[$vararg_ptr8>>2] = $76; + _sqlite3NestedParse($59,26466,$vararg_buffer1); + $77 = HEAP32[$5>>2]|0; + $78 = HEAP32[$6>>2]|0; + _sqlite3DbFree($77,$78); + $79 = HEAP32[$2>>2]|0; + $80 = (_sqlite3GetVdbe($79)|0); + HEAP32[$10>>2] = $80; + $81 = HEAP32[$2>>2]|0; + $82 = HEAP32[$8>>2]|0; + _sqlite3ChangeCookie($81,$82); + $83 = HEAP32[$10>>2]|0; + (_sqlite3VdbeAddOp0($83,150)|0); + $84 = HEAP32[$5>>2]|0; + $85 = HEAP32[$4>>2]|0; $86 = HEAP32[$85>>2]|0; - (_sqlite3VdbeLoadString($83,$84,$86)|0); - $87 = HEAP32[$v>>2]|0; - $88 = HEAP32[$iDb>>2]|0; - $89 = HEAP32[$iReg>>2]|0; - (_sqlite3VdbeAddOp2($87,153,$88,$89)|0); + HEAP32[$vararg_buffer9>>2] = $86; + $87 = (_sqlite3MPrintf($84,26554,$vararg_buffer9)|0); + HEAP32[$7>>2] = $87; + $88 = HEAP32[$10>>2]|0; + $89 = HEAP32[$8>>2]|0; + $90 = HEAP32[$7>>2]|0; + _sqlite3VdbeAddParseSchemaOp($88,$89,$90); + $91 = HEAP32[$2>>2]|0; + $92 = ((($91)) + 44|0); + $93 = HEAP32[$92>>2]|0; + $94 = (($93) + 1)|0; + HEAP32[$92>>2] = $94; + HEAP32[$9>>2] = $94; + $95 = HEAP32[$10>>2]|0; + $96 = HEAP32[$9>>2]|0; + $97 = HEAP32[$4>>2]|0; + $98 = HEAP32[$97>>2]|0; + (_sqlite3VdbeLoadString($95,$96,$98)|0); + $99 = HEAP32[$10>>2]|0; + $100 = HEAP32[$8>>2]|0; + $101 = HEAP32[$9>>2]|0; + (_sqlite3VdbeAddOp2($99,153,$100,$101)|0); STACKTOP = sp;return; } - $90 = HEAP32[$pTab>>2]|0; - $91 = ((($90)) + 64|0); - $92 = HEAP32[$91>>2]|0; - HEAP32[$pSchema>>2] = $92; - $93 = HEAP32[$pTab>>2]|0; - $94 = HEAP32[$93>>2]|0; - HEAP32[$zName>>2] = $94; - $95 = HEAP32[$pSchema>>2]|0; - $96 = ((($95)) + 8|0); - $97 = HEAP32[$zName>>2]|0; - $98 = HEAP32[$pTab>>2]|0; - $99 = (_sqlite3HashInsert($96,$97,$98)|0); - HEAP32[$pOld>>2] = $99; - $100 = HEAP32[$pOld>>2]|0; - $101 = ($100|0)!=(0|0); - if ($101) { - $102 = HEAP32[$db>>2]|0; - _sqlite3OomFault($102); + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 64|0); + $104 = HEAP32[$103>>2]|0; + HEAP32[$12>>2] = $104; + $105 = HEAP32[$4>>2]|0; + $106 = HEAP32[$105>>2]|0; + HEAP32[$13>>2] = $106; + $107 = HEAP32[$12>>2]|0; + $108 = ((($107)) + 8|0); + $109 = HEAP32[$13>>2]|0; + $110 = HEAP32[$4>>2]|0; + $111 = (_sqlite3HashInsert($108,$109,$110)|0); + HEAP32[$11>>2] = $111; + $112 = HEAP32[$11>>2]|0; + $113 = ($112|0)!=(0|0); + if ($113) { + $114 = HEAP32[$5>>2]|0; + _sqlite3OomFault($114); STACKTOP = sp;return; } else { - $103 = HEAP32[$0>>2]|0; - $104 = ((($103)) + 440|0); - HEAP32[$104>>2] = 0; + $115 = HEAP32[$2>>2]|0; + $116 = ((($115)) + 440|0); + HEAP32[$116>>2] = 0; STACKTOP = sp;return; } } -function _sqlite3VtabBeginParse($pParse,$pName1,$pName2,$pModuleName,$ifNotExists) { - $pParse = $pParse|0; - $pName1 = $pName1|0; - $pName2 = $pName2|0; - $pModuleName = $pModuleName|0; - $ifNotExists = $ifNotExists|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $db = 0, $iDb = 0, $pTable = 0, label = 0, sp = 0; +function _sqlite3VtabBeginParse($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $iDb = sp + 8|0; - $pTable = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pName1; - HEAP32[$2>>2] = $pName2; - HEAP32[$3>>2] = $pModuleName; - HEAP32[$4>>2] = $ifNotExists; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$4>>2]|0; - _sqlite3StartTable($5,$6,$7,0,0,1,$8); - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 440|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pTable>>2] = $11; - $12 = HEAP32[$pTable>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - STACKTOP = sp;return; - } - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$14>>2]|0; - HEAP32[$db>>2] = $15; - $16 = HEAP32[$db>>2]|0; - $17 = HEAP32[$pTable>>2]|0; - $18 = ((($17)) + 64|0); + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$9>>2]|0; + _sqlite3StartTable($13,$14,$15,0,0,1,$16); + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 440|0); $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3SchemaToIndex($16,$19)|0); - HEAP32[$iDb>>2] = $20; - $21 = HEAP32[$pTable>>2]|0; - $22 = ((($21)) + 42|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 | 16; - $26 = $25&255; - HEAP8[$22>>0] = $26; - $27 = HEAP32[$pTable>>2]|0; - $28 = ((($27)) + 48|0); - HEAP32[$28>>2] = 0; - $29 = HEAP32[$db>>2]|0; - $30 = HEAP32[$pTable>>2]|0; - $31 = HEAP32[$db>>2]|0; - $32 = HEAP32[$3>>2]|0; - $33 = (_sqlite3NameFromToken($31,$32)|0); - _addModuleArgument($29,$30,$33); - $34 = HEAP32[$db>>2]|0; - $35 = HEAP32[$pTable>>2]|0; - _addModuleArgument($34,$35,0); - $36 = HEAP32[$db>>2]|0; - $37 = HEAP32[$pTable>>2]|0; - $38 = HEAP32[$db>>2]|0; - $39 = HEAP32[$pTable>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = (_sqlite3DbStrDup($38,$40)|0); - _addModuleArgument($36,$37,$41); - $42 = HEAP32[$3>>2]|0; - $43 = ((($42)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$3>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + ($44)|0); - $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 384|0); - $50 = HEAP32[$49>>2]|0; - $51 = $47; - $52 = $50; - $53 = (($51) - ($52))|0; - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 384|0); - $56 = ((($55)) + 4|0); - HEAP32[$56>>2] = $53; - $57 = HEAP32[$pTable>>2]|0; - $58 = ((($57)) + 52|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59|0)!=(0|0); - if (!($60)) { + HEAP32[$11>>2] = $19; + $20 = HEAP32[$11>>2]|0; + $21 = ($20|0)==(0|0); + if ($21) { STACKTOP = sp;return; } - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$pTable>>2]|0; - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$pTable>>2]|0; - $65 = ((($64)) + 52|0); - $66 = HEAP32[$65>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$12>>2] = $23; + $24 = HEAP32[$12>>2]|0; + $25 = HEAP32[$11>>2]|0; + $26 = ((($25)) + 64|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3SchemaToIndex($24,$27)|0); + HEAP32[$10>>2] = $28; + $29 = HEAP32[$11>>2]|0; + $30 = ((($29)) + 42|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | 16; + $34 = $33&255; + HEAP8[$30>>0] = $34; + $35 = HEAP32[$11>>2]|0; + $36 = ((($35)) + 48|0); + HEAP32[$36>>2] = 0; + $37 = HEAP32[$12>>2]|0; + $38 = HEAP32[$11>>2]|0; + $39 = HEAP32[$12>>2]|0; + $40 = HEAP32[$8>>2]|0; + $41 = (_sqlite3NameFromToken($39,$40)|0); + _addModuleArgument($37,$38,$41); + $42 = HEAP32[$12>>2]|0; + $43 = HEAP32[$11>>2]|0; + _addModuleArgument($42,$43,0); + $44 = HEAP32[$12>>2]|0; + $45 = HEAP32[$11>>2]|0; + $46 = HEAP32[$12>>2]|0; + $47 = HEAP32[$11>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = (_sqlite3DbStrDup($46,$48)|0); + _addModuleArgument($44,$45,$49); + $50 = HEAP32[$8>>2]|0; + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$8>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = (($51) + ($54)|0); + $56 = HEAP32[$5>>2]|0; + $57 = ((($56)) + 384|0); + $58 = HEAP32[$57>>2]|0; + $59 = $55; + $60 = $58; + $61 = (($59) - ($60))|0; + $62 = HEAP32[$5>>2]|0; + $63 = ((($62)) + 384|0); + $64 = ((($63)) + 4|0); + HEAP32[$64>>2] = $61; + $65 = HEAP32[$11>>2]|0; + $66 = ((($65)) + 52|0); $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$iDb>>2]|0; - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$69>>2]|0; - $71 = ((($70)) + 16|0); - $72 = HEAP32[$71>>2]|0; - $73 = (($72) + ($68<<4)|0); + $68 = ($67|0)!=(0|0); + if (!($68)) { + STACKTOP = sp;return; + } + $69 = HEAP32[$5>>2]|0; + $70 = HEAP32[$11>>2]|0; + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$11>>2]|0; + $73 = ((($72)) + 52|0); $74 = HEAP32[$73>>2]|0; - (_sqlite3AuthCheck($61,29,$63,$67,$74)|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$76>>2]|0; + $78 = ((($77)) + 16|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$10>>2]|0; + $81 = (($79) + ($80<<4)|0); + $82 = HEAP32[$81>>2]|0; + (_sqlite3AuthCheck($69,29,$71,$75,$82)|0); STACKTOP = sp;return; } -function _sqlite3VtabArgInit($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _sqlite3VtabArgInit($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - _addArgumentToVtab($1); - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 452|0); - HEAP32[$3>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 452|0); - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = 0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _addArgumentToVtab($2); + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 452|0); + HEAP32[$4>>2] = 0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 452|0); + $7 = ((($6)) + 4|0); + HEAP32[$7>>2] = 0; STACKTOP = sp;return; } -function _sqlite3VtabArgExtend($pParse,$p) { - $pParse = $pParse|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pArg = 0, label = 0, sp = 0; +function _sqlite3VtabArgExtend($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink2 = 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, $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 + 8|0; - $1 = sp + 4|0; - $pArg = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 452|0); - HEAP32[$pArg>>2] = $3; - $4 = HEAP32[$pArg>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - $7 = HEAP32[$1>>2]|0; - if ($6) { - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$pArg>>2]|0; - HEAP32[$9>>2] = $8; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$pArg>>2]|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 452|0); + HEAP32[$4>>2] = $6; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + if ($9) { + $12 = HEAP32[$4>>2]|0; + HEAP32[$12>>2] = $11; + $13 = HEAP32[$3>>2]|0; $14 = ((($13)) + 4|0); - HEAP32[$14>>2] = $12; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$4>>2]|0; + $$sink = $15;$$sink2 = $16; + $27 = ((($$sink2)) + 4|0); + HEAP32[$27>>2] = $$sink; STACKTOP = sp;return; } else { - $15 = ((($7)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($16)|0); - $20 = HEAP32[$pArg>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = $19; - $23 = $21; - $24 = (($22) - ($23))|0; - $25 = HEAP32[$pArg>>2]|0; - $26 = ((($25)) + 4|0); - HEAP32[$26>>2] = $24; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($11) + ($19)|0); + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = $20; + $24 = $22; + $25 = (($23) - ($24))|0; + $26 = HEAP32[$4>>2]|0; + $$sink = $25;$$sink2 = $26; + $27 = ((($$sink2)) + 4|0); + HEAP32[$27>>2] = $$sink; STACKTOP = sp;return; } } -function _sqlite3WithAdd($pParse,$pWith,$pName,$pArglist,$pQuery) { - $pParse = $pParse|0; - $pWith = $pWith|0; - $pName = $pName|0; - $pArglist = $pArglist|0; - $pQuery = $pQuery|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $db = 0, $i = 0, $nByte = 0, $or$cond = 0, $pNew = 0, $vararg_buffer = 0, $zName = 0, label = 0, sp = 0; +function _sqlite3WithAdd($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $db = sp + 20|0; - $pNew = sp + 16|0; - $zName = sp + 12|0; - $i = sp + 8|0; - $nByte = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pWith; - HEAP32[$2>>2] = $pName; - HEAP32[$3>>2] = $pArglist; - HEAP32[$4>>2] = $pQuery; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = (_sqlite3NameFromToken($8,$9)|0); - HEAP32[$zName>>2] = $10; - $11 = HEAP32[$zName>>2]|0; - $12 = ($11|0)!=(0|0); - $13 = HEAP32[$1>>2]|0; - $14 = ($13|0)!=(0|0); - $or$cond = $12 & $14; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$10>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = (_sqlite3NameFromToken($18,$19)|0); + HEAP32[$12>>2] = $20; + $21 = HEAP32[$12>>2]|0; + $22 = ($21|0)!=(0|0); + $23 = HEAP32[$6>>2]|0; + $24 = ($23|0)!=(0|0); + $or$cond = $22 & $24; L1: do { if ($or$cond) { - HEAP32[$i>>2] = 0; + HEAP32[$13>>2] = 0; while(1) { - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ($15|0)<($17|0); - if (!($18)) { + $25 = HEAP32[$13>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = ($25|0)<($27|0); + if (!($28)) { break L1; } - $19 = HEAP32[$zName>>2]|0; - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 8|0); - $23 = (($22) + ($20<<4)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3StrICmp($19,$24)|0); - $26 = ($25|0)==(0); - if ($26) { - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorMsg($27,27484,$vararg_buffer); + $29 = HEAP32[$12>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$13>>2]|0; + $33 = (($31) + ($32<<4)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_sqlite3StrICmp($29,$34)|0); + $36 = ($35|0)==(0); + if ($36) { + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$12>>2]|0; + HEAP32[$vararg_buffer>>2] = $38; + _sqlite3ErrorMsg($37,26341,$vararg_buffer); } - $29 = HEAP32[$i>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$i>>2] = $30; + $39 = HEAP32[$13>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$13>>2] = $40; } } } while(0); - $31 = HEAP32[$1>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$33>>2]|0; - $35 = $34<<4; - $36 = (24 + ($35))|0; - HEAP32[$nByte>>2] = $36; - $37 = HEAP32[$db>>2]|0; - $38 = HEAP32[$1>>2]|0; - $39 = HEAP32[$nByte>>2]|0; - $40 = ($39|0)<(0); - $41 = $40 << 31 >> 31; - $42 = (_sqlite3DbRealloc($37,$38,$39,$41)|0); - HEAP32[$pNew>>2] = $42; + $41 = HEAP32[$6>>2]|0; + $42 = ($41|0)!=(0|0); + if ($42) { + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = $44<<4; + $46 = (24 + ($45))|0; + HEAP32[$14>>2] = $46; + $47 = HEAP32[$10>>2]|0; + $48 = HEAP32[$6>>2]|0; + $49 = HEAP32[$14>>2]|0; + $50 = ($49|0)<(0); + $51 = $50 << 31 >> 31; + $52 = (_sqlite3DbRealloc($47,$48,$49,$51)|0); + HEAP32[$11>>2] = $52; } else { - $43 = HEAP32[$db>>2]|0; - $44 = (_sqlite3DbMallocZero($43,24,0)|0); - HEAP32[$pNew>>2] = $44; + $53 = HEAP32[$10>>2]|0; + $54 = (_sqlite3DbMallocZero($53,24,0)|0); + HEAP32[$11>>2] = $54; } - $45 = HEAP32[$db>>2]|0; - $46 = ((($45)) + 69|0); - $47 = HEAP8[$46>>0]|0; - $48 = ($47<<24>>24)!=(0); - if ($48) { - $49 = HEAP32[$db>>2]|0; - $50 = HEAP32[$3>>2]|0; - _sqlite3ExprListDelete($49,$50); - $51 = HEAP32[$db>>2]|0; - $52 = HEAP32[$4>>2]|0; - _sqlite3SelectDelete($51,$52); - $53 = HEAP32[$db>>2]|0; - $54 = HEAP32[$zName>>2]|0; - _sqlite3DbFree($53,$54); - $55 = HEAP32[$1>>2]|0; - HEAP32[$pNew>>2] = $55; - $85 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($85|0); + $55 = HEAP32[$10>>2]|0; + $56 = ((($55)) + 69|0); + $57 = HEAP8[$56>>0]|0; + $58 = ($57<<24>>24)!=(0); + if ($58) { + $59 = HEAP32[$10>>2]|0; + $60 = HEAP32[$8>>2]|0; + _sqlite3ExprListDelete($59,$60); + $61 = HEAP32[$10>>2]|0; + $62 = HEAP32[$9>>2]|0; + _sqlite3SelectDelete($61,$62); + $63 = HEAP32[$10>>2]|0; + $64 = HEAP32[$12>>2]|0; + _sqlite3DbFree($63,$64); + $65 = HEAP32[$6>>2]|0; + HEAP32[$11>>2] = $65; + $95 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($95|0); } else { - $56 = HEAP32[$4>>2]|0; - $57 = HEAP32[$pNew>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$pNew>>2]|0; - $60 = ((($59)) + 8|0); - $61 = (($60) + ($58<<4)|0); - $62 = ((($61)) + 8|0); - HEAP32[$62>>2] = $56; - $63 = HEAP32[$3>>2]|0; - $64 = HEAP32[$pNew>>2]|0; - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$pNew>>2]|0; - $67 = ((($66)) + 8|0); - $68 = (($67) + ($65<<4)|0); - $69 = ((($68)) + 4|0); - HEAP32[$69>>2] = $63; - $70 = HEAP32[$zName>>2]|0; - $71 = HEAP32[$pNew>>2]|0; - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$pNew>>2]|0; - $74 = ((($73)) + 8|0); - $75 = (($74) + ($72<<4)|0); - HEAP32[$75>>2] = $70; - $76 = HEAP32[$pNew>>2]|0; + $66 = HEAP32[$9>>2]|0; + $67 = HEAP32[$11>>2]|0; + $68 = ((($67)) + 8|0); + $69 = HEAP32[$11>>2]|0; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + ($70<<4)|0); + $72 = ((($71)) + 8|0); + HEAP32[$72>>2] = $66; + $73 = HEAP32[$8>>2]|0; + $74 = HEAP32[$11>>2]|0; + $75 = ((($74)) + 8|0); + $76 = HEAP32[$11>>2]|0; $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$pNew>>2]|0; - $79 = ((($78)) + 8|0); - $80 = (($79) + ($77<<4)|0); - $81 = ((($80)) + 12|0); - HEAP32[$81>>2] = 0; - $82 = HEAP32[$pNew>>2]|0; - $83 = HEAP32[$82>>2]|0; - $84 = (($83) + 1)|0; - HEAP32[$82>>2] = $84; - $85 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($85|0); - } - return (0)|0; -} -function _yy_find_reduce_action($stateno,$iLookAhead) { - $stateno = $stateno|0; - $iLookAhead = $iLookAhead|0; - var $0 = 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, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp + 8|0; - $i = sp; - HEAP32[$0>>2] = $stateno; - HEAP8[$1>>0] = $iLookAhead; - $2 = HEAP32[$0>>2]|0; - $3 = (10806 + ($2<<1)|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - HEAP32[$i>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $7 = $6&255; - $8 = HEAP32[$i>>2]|0; - $9 = (($8) + ($7))|0; - HEAP32[$i>>2] = $9; - $10 = HEAP32[$i>>2]|0; - $11 = (11456 + ($10<<1)|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - STACKTOP = sp;return ($13|0); -} -function _yy_accept($yypParser) { - $yypParser = $yypParser|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $pParse = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pParse = sp; - HEAP32[$0>>2] = $yypParser; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pParse>>2] = $3; - $4 = HEAP32[$pParse>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $4; - STACKTOP = sp;return; -} -function _sqlite3NameFromToken($db,$pName) { - $db = $db|0; - $pName = $pName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $zName = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $zName = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pName; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if ($3) { - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_sqlite3DbStrNDup($4,$6,$9,0)|0); - HEAP32[$zName>>2] = $10; - $11 = HEAP32[$zName>>2]|0; - _sqlite3Dequote($11); - $12 = HEAP32[$zName>>2]|0; - STACKTOP = sp;return ($12|0); - } else { - HEAP32[$zName>>2] = 0; - $12 = HEAP32[$zName>>2]|0; - STACKTOP = sp;return ($12|0); + $78 = (($75) + ($77<<4)|0); + $79 = ((($78)) + 4|0); + HEAP32[$79>>2] = $73; + $80 = HEAP32[$12>>2]|0; + $81 = HEAP32[$11>>2]|0; + $82 = ((($81)) + 8|0); + $83 = HEAP32[$11>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + ($84<<4)|0); + HEAP32[$85>>2] = $80; + $86 = HEAP32[$11>>2]|0; + $87 = ((($86)) + 8|0); + $88 = HEAP32[$11>>2]|0; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + ($89<<4)|0); + $91 = ((($90)) + 12|0); + HEAP32[$91>>2] = 0; + $92 = HEAP32[$11>>2]|0; + $93 = HEAP32[$92>>2]|0; + $94 = (($93) + 1)|0; + HEAP32[$92>>2] = $94; + $95 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($95|0); } return (0)|0; } -function _sqlite3DbRealloc($db,$p,$0,$1) { - $db = $db|0; - $p = $p|0; +function _yy_find_reduce_action($0,$1) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp; - HEAP32[$3>>2] = $db; - HEAP32[$4>>2] = $p; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - $10 = HEAP32[$4>>2]|0; - $11 = ($10|0)==(0|0); - $12 = HEAP32[$3>>2]|0; - if ($11) { - $13 = $5; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (_sqlite3DbMallocRawNN($12,$15,$18)|0); - HEAP32[$2>>2] = $19; - $49 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($49|0); - } - $20 = HEAP32[$4>>2]|0; - $21 = (_isLookaside($12,$20)|0); - $22 = ($21|0)!=(0); - if ($22) { - $23 = $5; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$3>>2]|0; - $30 = ((($29)) + 256|0); - $31 = ((($30)) + 4|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32&65535; - $34 = ($28>>>0)<(0); - $35 = ($25>>>0)<=($33>>>0); - $36 = ($28|0)==(0); - $37 = $36 & $35; - $38 = $34 | $37; - if ($38) { - $39 = HEAP32[$4>>2]|0; - HEAP32[$2>>2] = $39; - $49 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($49|0); - } - } - $40 = HEAP32[$3>>2]|0; - $41 = HEAP32[$4>>2]|0; - $42 = $5; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (_dbReallocFinish($40,$41,$44,$47)|0); - HEAP32[$2>>2] = $48; - $49 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($49|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP8[$3>>0] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = (11428 + ($5<<1)|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7 << 16 >> 16; + HEAP32[$4>>2] = $8; + $9 = HEAP8[$3>>0]|0; + $10 = $9&255; + $11 = HEAP32[$4>>2]|0; + $12 = (($11) + ($10))|0; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = (12078 + ($13<<1)|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + STACKTOP = sp;return ($16|0); } -function _sqlite3DbMallocRawNN($db,$0,$1) { - $db = $db|0; +function _yy_accept($0) { $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $pBuf = 0, label = 0, sp = 0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp; - $pBuf = sp + 8|0; - HEAP32[$3>>2] = $db; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = ((($9)) + 256|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0); - do { - if ($12) { - $13 = $4; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$3>>2]|0; - $20 = ((($19)) + 256|0); - $21 = ((($20)) + 4|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = ($18>>>0)>(0); - $25 = ($15>>>0)>($23>>>0); - $26 = ($18|0)==(0); - $27 = $26 & $25; - $28 = $24 | $27; - $29 = HEAP32[$3>>2]|0; - $30 = ((($29)) + 256|0); - if ($28) { - $31 = ((($30)) + 16|0); - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$32>>2] = $34; - break; - } - $35 = ((($30)) + 28|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$pBuf>>2] = $36; - $37 = ($36|0)==(0|0); - if ($37) { - $38 = HEAP32[$3>>2]|0; - $39 = ((($38)) + 256|0); - $40 = ((($39)) + 16|0); - $41 = ((($40)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = (($42) + 1)|0; - HEAP32[$41>>2] = $43; - break; - } - $44 = HEAP32[$pBuf>>2]|0; - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$3>>2]|0; - $47 = ((($46)) + 256|0); - $48 = ((($47)) + 28|0); - HEAP32[$48>>2] = $45; - $49 = HEAP32[$3>>2]|0; - $50 = ((($49)) + 256|0); - $51 = ((($50)) + 8|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + 1)|0; - HEAP32[$51>>2] = $53; - $54 = HEAP32[$3>>2]|0; - $55 = ((($54)) + 256|0); - $56 = ((($55)) + 16|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + 1)|0; - HEAP32[$56>>2] = $58; - $59 = HEAP32[$3>>2]|0; - $60 = ((($59)) + 256|0); - $61 = ((($60)) + 8|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$3>>2]|0; - $64 = ((($63)) + 256|0); - $65 = ((($64)) + 12|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($62|0)>($66|0); - if ($67) { - $68 = HEAP32[$3>>2]|0; - $69 = ((($68)) + 256|0); - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = HEAP32[$3>>2]|0; - $73 = ((($72)) + 256|0); - $74 = ((($73)) + 12|0); - HEAP32[$74>>2] = $71; - } - $75 = HEAP32[$pBuf>>2]|0; - HEAP32[$2>>2] = $75; - $88 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($88|0); - } else { - $76 = HEAP32[$3>>2]|0; - $77 = ((($76)) + 69|0); - $78 = HEAP8[$77>>0]|0; - $79 = ($78<<24>>24)!=(0); - if ($79) { - HEAP32[$2>>2] = 0; - $88 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($88|0); - } - } - } while(0); - $80 = HEAP32[$3>>2]|0; - $81 = $4; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = (($81) + 4)|0; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = (_dbMallocRawFinish($80,$83,$86)|0); - HEAP32[$2>>2] = $87; - $88 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($88|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 4|0); + HEAP32[$8>>2] = $6; + STACKTOP = sp;return; } -function _dbReallocFinish($db,$p,$0,$1) { - $db = $db|0; - $p = $p|0; +function _sqlite3NameFromToken($0,$1) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pNew = 0, label = 0, sp = 0; + var $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; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; $4 = sp; - $pNew = sp + 8|0; - HEAP32[$2>>2] = $db; - HEAP32[$3>>2] = $p; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$pNew>>2] = 0; - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 69|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(0); - if (!($13)) { - $48 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($48|0); - } - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$3>>2]|0; - $16 = (_isLookaside($14,$15)|0); - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$2>>2]|0; - $19 = $4; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3DbMallocRawNN($18,$21,$24)|0); - HEAP32[$pNew>>2] = $25; - $26 = HEAP32[$pNew>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - $48 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($48|0); - } - $28 = HEAP32[$pNew>>2]|0; - $29 = HEAP32[$3>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = ((($30)) + 256|0); - $32 = ((($31)) + 4|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33&65535; - _memcpy(($28|0),($29|0),($34|0))|0; - $35 = HEAP32[$2>>2]|0; - $36 = HEAP32[$3>>2]|0; - _sqlite3DbFree($35,$36); - $48 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($48|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)!=(0|0); + if ($6) { + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3DbStrNDup($7,$9,$12,0)|0); + HEAP32[$4>>2] = $13; + $14 = HEAP32[$4>>2]|0; + _sqlite3Dequote($14); + $15 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($15|0); } else { - $37 = HEAP32[$3>>2]|0; - $38 = $4; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (_sqlite3_realloc64($37,$40,$43)|0); - HEAP32[$pNew>>2] = $44; - $45 = HEAP32[$pNew>>2]|0; - $46 = ($45|0)!=(0|0); - if ($46) { - $48 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($48|0); - } - $47 = HEAP32[$2>>2]|0; - _sqlite3OomFault($47); - $48 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($48|0); + HEAP32[$4>>2] = 0; + $15 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($15|0); } return (0)|0; } -function _dbMallocRawFinish($db,$0,$1) { - $db = $db|0; +function _addArgumentToVtab($0) { $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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp; - $p = sp + 8|0; - HEAP32[$2>>2] = $db; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = $3; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3Malloc($10,$13)|0); - HEAP32[$p>>2] = $14; - $15 = HEAP32[$p>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $18 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($18|0); - } - $17 = HEAP32[$2>>2]|0; - _sqlite3OomFault($17); - $18 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($18|0); -} -function _sqlite3DbStrNDup($db,$z,$0,$1) { - $db = $db|0; - $z = $z|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $zNew = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp; - $zNew = sp + 8|0; - HEAP32[$3>>2] = $db; - HEAP32[$4>>2] = $z; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - $10 = HEAP32[$4>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - HEAP32[$2>>2] = 0; - $41 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($41|0); - } - $12 = HEAP32[$3>>2]|0; - $13 = $5; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (_i64Add(($15|0),($18|0),1,0)|0); - $20 = tempRet0; - $21 = (_sqlite3DbMallocRawNN($12,$19,$20)|0); - HEAP32[$zNew>>2] = $21; - $22 = HEAP32[$zNew>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { - $24 = HEAP32[$zNew>>2]|0; - $25 = HEAP32[$4>>2]|0; - $26 = $5; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - _memcpy(($24|0),($25|0),($28|0))|0; - $32 = $5; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$zNew>>2]|0; - $39 = (($38) + ($34)|0); - HEAP8[$39>>0] = 0; - } - $40 = HEAP32[$zNew>>2]|0; - HEAP32[$2>>2] = $40; - $41 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($41|0); -} -function _sqlite3Dequote($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $quote = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $quote = sp + 12|0; - $i = sp + 4|0; - $j = sp; - HEAP32[$0>>2] = $z; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - STACKTOP = sp;return; - } - $3 = HEAP32[$0>>2]|0; - $4 = HEAP8[$3>>0]|0; - HEAP8[$quote>>0] = $4; - $5 = HEAP8[$quote>>0]|0; - $6 = $5&255; - $7 = (18403 + ($6)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = $9 & 128; - $11 = ($10|0)!=(0); - if (!($11)) { - STACKTOP = sp;return; - } - $12 = HEAP8[$quote>>0]|0; - $13 = $12 << 24 >> 24; - $14 = ($13|0)==(91); - if ($14) { - HEAP8[$quote>>0] = 93; - } - HEAP32[$i>>2] = 1; - HEAP32[$j>>2] = 0; - while(1) { - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) + ($15)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18 << 24 >> 24; - $20 = HEAP8[$quote>>0]|0; - $21 = $20 << 24 >> 24; - $22 = ($19|0)==($21|0); - $23 = HEAP32[$i>>2]|0; - if ($22) { - $24 = (($23) + 1)|0; - $25 = HEAP32[$0>>2]|0; - $26 = (($25) + ($24)|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27 << 24 >> 24; - $29 = HEAP8[$quote>>0]|0; - $30 = $29 << 24 >> 24; - $31 = ($28|0)==($30|0); - if (!($31)) { - break; - } - $32 = HEAP8[$quote>>0]|0; - $33 = HEAP32[$j>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$j>>2] = $34; - $35 = HEAP32[$0>>2]|0; - $36 = (($35) + ($33)|0); - HEAP8[$36>>0] = $32; - $37 = HEAP32[$i>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$i>>2] = $38; - } else { - $39 = HEAP32[$0>>2]|0; - $40 = (($39) + ($23)|0); - $41 = HEAP8[$40>>0]|0; - $42 = HEAP32[$j>>2]|0; - $43 = (($42) + 1)|0; - HEAP32[$j>>2] = $43; - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($42)|0); - HEAP8[$45>>0] = $41; - } - $46 = HEAP32[$i>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$i>>2] = $47; - } - $48 = HEAP32[$j>>2]|0; - $49 = HEAP32[$0>>2]|0; - $50 = (($49) + ($48)|0); - HEAP8[$50>>0] = 0; - STACKTOP = sp;return; -} -function _addArgumentToVtab($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0, $z = 0, label = 0, sp = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $z = sp + 8|0; - $n = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 452|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 440|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 452|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0|0); if (!($8)) { STACKTOP = sp;return; } - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 452|0); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 440|0); $11 = HEAP32[$10>>2]|0; - HEAP32[$z>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 452|0); - $14 = ((($13)) + 4|0); + $12 = ($11|0)!=(0|0); + if (!($12)) { + STACKTOP = sp;return; + } + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 452|0); $15 = HEAP32[$14>>2]|0; - HEAP32[$n>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$16>>2]|0; - HEAP32[$db>>2] = $17; - $18 = HEAP32[$db>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 440|0); + HEAP32[$2>>2] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 452|0); + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$3>>2] = $19; + $20 = HEAP32[$1>>2]|0; $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$db>>2]|0; - $23 = HEAP32[$z>>2]|0; - $24 = HEAP32[$n>>2]|0; - $25 = ($24|0)<(0); - $26 = $25 << 31 >> 31; - $27 = (_sqlite3DbStrNDup($22,$23,$24,$26)|0); - _addModuleArgument($18,$21,$27); + HEAP32[$4>>2] = $21; + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 440|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = ($28|0)<(0); + $30 = $29 << 31 >> 31; + $31 = (_sqlite3DbStrNDup($26,$27,$28,$30)|0); + _addModuleArgument($22,$25,$31); STACKTOP = sp;return; } -function _addModuleArgument($db,$pTable,$zArg) { - $db = $db|0; - $pTable = $pTable|0; - $zArg = $zArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $azModuleArg = 0, $i = 0, $nBytes = 0, label = 0, sp = 0; +function _addModuleArgument($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $nBytes = sp + 8|0; - $azModuleArg = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTable; - HEAP32[$2>>2] = $zArg; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 48|0); - $5 = HEAP32[$4>>2]|0; - $6 = (2 + ($5))|0; - $7 = $6<<2; - HEAP32[$nBytes>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 52|0); + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 48|0); $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$nBytes>>2]|0; - $13 = ($12|0)<(0); - $14 = $13 << 31 >> 31; - $15 = (_sqlite3DbRealloc($8,$11,$12,$14)|0); - HEAP32[$azModuleArg>>2] = $15; - $16 = HEAP32[$azModuleArg>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$2>>2]|0; - _sqlite3DbFree($18,$19); + $12 = (2 + ($11))|0; + $13 = $12<<2; + HEAP32[$6>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 52|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = ($18|0)<(0); + $20 = $19 << 31 >> 31; + $21 = (_sqlite3DbRealloc($14,$17,$18,$20)|0); + HEAP32[$7>>2] = $21; + $22 = HEAP32[$7>>2]|0; + $23 = ($22|0)==(0|0); + if ($23) { + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$5>>2]|0; + _sqlite3DbFree($24,$25); STACKTOP = sp;return; } else { - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + 1)|0; - HEAP32[$21>>2] = $23; - HEAP32[$i>>2] = $22; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$azModuleArg>>2]|0; - $27 = (($26) + ($25<<2)|0); - HEAP32[$27>>2] = $24; - $28 = HEAP32[$i>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 48|0); + $28 = HEAP32[$27>>2]|0; $29 = (($28) + 1)|0; - $30 = HEAP32[$azModuleArg>>2]|0; - $31 = (($30) + ($29<<2)|0); - HEAP32[$31>>2] = 0; - $32 = HEAP32[$azModuleArg>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 52|0); - HEAP32[$34>>2] = $32; + HEAP32[$27>>2] = $29; + HEAP32[$8>>2] = $28; + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$8>>2]|0; + $33 = (($31) + ($32<<2)|0); + HEAP32[$33>>2] = $30; + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$8>>2]|0; + $36 = (($35) + 1)|0; + $37 = (($34) + ($36<<2)|0); + HEAP32[$37>>2] = 0; + $38 = HEAP32[$7>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 52|0); + HEAP32[$40>>2] = $38; STACKTOP = sp;return; } } -function _sqlite3AuthCheck($pParse,$code,$zArg1,$zArg2,$zArg3) { - $pParse = $pParse|0; - $code = $code|0; - $zArg1 = $zArg1|0; - $zArg2 = $zArg2|0; - $zArg3 = $zArg3|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $or$cond = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3SchemaToIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = -1000000; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $23 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($23|0); + } + HEAP32[$4>>2] = 0; + while(1) { + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($7|0)<($10|0); + if (!($11)) { + label = 6; + break; + } + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (($14) + ($15<<4)|0); + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ($18|0)==($19|0); + if ($20) { + label = 6; + break; + } + $21 = HEAP32[$4>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$4>>2] = $22; + } + if ((label|0) == 6) { + $23 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($23|0); + } + return (0)|0; +} +function _sqlite3AuthCheck($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $db = sp + 8|0; - $rc = sp + 4|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $code; - HEAP32[$3>>2] = $zArg1; - HEAP32[$4>>2] = $zArg2; - HEAP32[$5>>2] = $zArg3; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$db>>2] = $7; - $8 = HEAP32[$db>>2]|0; - $9 = ((($8)) + 148|0); - $10 = ((($9)) + 5|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)!=(0); - if (!($13)) { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 410|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = ($17|0)!=(0); - if (!($18)) { - $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 296|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0|0); - if ($22) { - HEAP32[$0>>2] = 0; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - } - $23 = HEAP32[$db>>2]|0; - $24 = ((($23)) + 296|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$db>>2]|0; - $27 = ((($26)) + 300|0); + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$11>>2] = $14; + $15 = HEAP32[$11>>2]|0; + $16 = ((($15)) + 148|0); + $17 = ((($16)) + 5|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)!=(0); + if (!($20)) { + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 410|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = ($24|0)!=(0); + if (!($25)) { + $26 = HEAP32[$11>>2]|0; + $27 = ((($26)) + 296|0); $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$3>>2]|0; - $31 = HEAP32[$4>>2]|0; - $32 = HEAP32[$5>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 448|0); + $29 = ($28|0)==(0|0); + if ($29) { + HEAP32[$5>>2] = 0; + $55 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($55|0); + } + $30 = HEAP32[$11>>2]|0; + $31 = ((($30)) + 296|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$11>>2]|0; + $34 = ((($33)) + 300|0); $35 = HEAP32[$34>>2]|0; - $36 = (FUNCTION_TABLE_iiiiiii[$25 & 255]($28,$29,$30,$31,$32,$35)|0); - HEAP32[$rc>>2] = $36; - $37 = HEAP32[$rc>>2]|0; - $38 = ($37|0)==(1); - if ($38) { - $39 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($39,27514,$vararg_buffer); - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 12|0); - HEAP32[$41>>2] = 23; + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[$9>>2]|0; + $39 = HEAP32[$10>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = ((($40)) + 448|0); + $42 = HEAP32[$41>>2]|0; + $43 = (FUNCTION_TABLE_iiiiiii[$32 & 255]($35,$36,$37,$38,$39,$42)|0); + HEAP32[$12>>2] = $43; + $44 = HEAP32[$12>>2]|0; + $45 = ($44|0)==(1); + if ($45) { + $46 = HEAP32[$6>>2]|0; + _sqlite3ErrorMsg($46,26371,$vararg_buffer); + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + 12|0); + HEAP32[$48>>2] = 23; } else { - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)!=(0); - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)!=(2); - $or$cond = $43 & $45; + $49 = HEAP32[$12>>2]|0; + $50 = ($49|0)!=(0); + $51 = HEAP32[$12>>2]|0; + $52 = ($51|0)!=(2); + $or$cond = $50 & $52; if ($or$cond) { - HEAP32[$rc>>2] = 1; - $46 = HEAP32[$1>>2]|0; - _sqliteAuthBadReturnCode($46); + HEAP32[$12>>2] = 1; + $53 = HEAP32[$6>>2]|0; + _sqliteAuthBadReturnCode($53); } } - $47 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $47; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); + $54 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $54; + $55 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($55|0); } } - HEAP32[$0>>2] = 0; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); + HEAP32[$5>>2] = 0; + $55 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($55|0); } -function _sqliteAuthBadReturnCode($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqliteAuthBadReturnCode($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - $0 = sp + 4|0; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($1,27529,$vararg_buffer); - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 12|0); - HEAP32[$3>>2] = 1; + $1 = sp + 4|0; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3ErrorMsg($2,26386,$vararg_buffer); + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 12|0); + HEAP32[$4>>2] = 1; STACKTOP = sp;return; } -function _sqlite3NestedParse($pParse,$zFormat,$varargs) { - $pParse = $pParse|0; - $zFormat = $zFormat|0; +function _sqlite3NestedParse($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $db = 0, $saveBuf = 0, $zErrMsg = 0, $zSql = 0, dest = 0, label = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0; var sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $ap = sp + 16|0; - $zSql = sp + 8|0; - $zErrMsg = sp + 4|0; - $db = sp; - $saveBuf = sp + 40|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $zFormat; - HEAP32[$zErrMsg>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 36|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - if ($7) { + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + $8 = sp + 40|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$6>>2] = 0; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$7>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 36|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0); + if ($14) { STACKTOP = sp;return; } - HEAP32[$ap>>2] = $varargs; - $8 = HEAP32[$db>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (_sqlite3VMPrintf($8,$9,$ap)|0); - HEAP32[$zSql>>2] = $10; - $11 = HEAP32[$zSql>>2]|0; - $12 = ($11|0)==(0|0); - if ($12) { + HEAP32[$4>>2] = $varargs; + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = (_sqlite3VMPrintf($15,$16,$4)|0); + HEAP32[$5>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ($18|0)==(0|0); + if ($19) { STACKTOP = sp;return; } - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 18|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($15) + 1)<<24>>24; - HEAP8[$14>>0] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 400|0); - dest=$saveBuf; src=$18; stop=dest+80|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 400|0); - dest=$20; stop=dest+80|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$zSql>>2]|0; - (_sqlite3RunParser($21,$22,$zErrMsg)|0); - $23 = HEAP32[$db>>2]|0; - $24 = HEAP32[$zErrMsg>>2]|0; - _sqlite3DbFree($23,$24); - $25 = HEAP32[$db>>2]|0; - $26 = HEAP32[$zSql>>2]|0; - _sqlite3DbFree($25,$26); - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 400|0); - dest=$28; src=$saveBuf; stop=dest+80|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 18|0); - $31 = HEAP8[$30>>0]|0; - $32 = (($31) + -1)<<24>>24; - HEAP8[$30>>0] = $32; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 18|0); + $22 = HEAP8[$21>>0]|0; + $23 = (($22) + 1)<<24>>24; + HEAP8[$21>>0] = $23; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 400|0); + dest=$8; src=$25; stop=dest+80|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 400|0); + dest=$27; stop=dest+80|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $28 = HEAP32[$2>>2]|0; + $29 = HEAP32[$5>>2]|0; + (_sqlite3RunParser($28,$29,$6)|0); + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$6>>2]|0; + _sqlite3DbFree($30,$31); + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$5>>2]|0; + _sqlite3DbFree($32,$33); + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 400|0); + dest=$35; src=$8; stop=dest+80|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 18|0); + $38 = HEAP8[$37>>0]|0; + $39 = (($38) + -1)<<24>>24; + HEAP8[$37>>0] = $39; STACKTOP = sp;return; } -function _sqlite3GetVdbe($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $v = 0, label = 0, sp = 0; +function _sqlite3GetVdbe($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$v>>2] = $3; - $4 = HEAP32[$v>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$v>>2]|0; - $9 = $6; - STACKTOP = sp;return ($9|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + if ($7) { + $8 = HEAP32[$2>>2]|0; + $11 = $8; + STACKTOP = sp;return ($11|0); } else { - $7 = HEAP32[$0>>2]|0; - $8 = (_allocVdbe($7)|0); - $9 = $8; - STACKTOP = sp;return ($9|0); + $9 = HEAP32[$1>>2]|0; + $10 = (_allocVdbe($9)|0); + $11 = $10; + STACKTOP = sp;return ($11|0); } return (0)|0; } -function _sqlite3ChangeCookie($pParse,$iDb) { - $pParse = $pParse|0; - $iDb = $iDb|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $v = 0; +function _sqlite3ChangeCookie($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $db = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iDb; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$v>>2] = $6; - $7 = HEAP32[$v>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$db>>2]|0; - $11 = ((($10)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($9<<4)|0); - $14 = ((($13)) + 12|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 16|0); $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + 1)|0; - (_sqlite3VdbeAddOp3($7,102,$8,1,$17)|0); + $16 = HEAP32[$3>>2]|0; + $17 = (($15) + ($16<<4)|0); + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + 1)|0; + (_sqlite3VdbeAddOp3($11,102,$12,1,$21)|0); STACKTOP = sp;return; } -function _sqlite3VdbeAddOp0($p,$op) { - $p = $p|0; - $op = $op|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3VdbeAddOp0($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $op; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3VdbeAddOp3($2,$3,0,0,0)|0); - STACKTOP = sp;return ($4|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_sqlite3VdbeAddOp3($4,$5,0,0,0)|0); + STACKTOP = sp;return ($6|0); } -function _sqlite3VdbeAddParseSchemaOp($p,$iDb,$zWhere) { - $p = $p|0; - $iDb = $iDb|0; - $zWhere = $zWhere|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $j = 0, label = 0, sp = 0; +function _sqlite3VdbeAddParseSchemaOp($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $j = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iDb; - HEAP32[$2>>2] = $zWhere; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp4($3,136,$4,0,0,$5,-1)|0); - HEAP32[$j>>2] = 0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp4($7,136,$8,0,0,$9,-1)|0); + HEAP32[$6>>2] = 0; while(1) { - $6 = HEAP32[$j>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($6|0)<($10|0); - if (!($11)) { + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($10|0)<($14|0); + if (!($15)) { break; } - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$j>>2]|0; - _sqlite3VdbeUsesBtree($12,$13); - $14 = HEAP32[$j>>2]|0; - $15 = (($14) + 1)|0; - HEAP32[$j>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$6>>2]|0; + _sqlite3VdbeUsesBtree($16,$17); + $18 = HEAP32[$6>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$6>>2] = $19; } STACKTOP = sp;return; } -function _sqlite3VdbeLoadString($p,$iDest,$zStr) { - $p = $p|0; - $iDest = $iDest|0; - $zStr = $zStr|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _sqlite3VdbeLoadString($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iDest; - HEAP32[$2>>2] = $zStr; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3VdbeAddOp4($3,97,0,$4,0,$5,0)|0); - STACKTOP = sp;return ($6|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + $9 = (_sqlite3VdbeAddOp4($6,97,0,$7,0,$8,0)|0); + STACKTOP = sp;return ($9|0); } -function _sqlite3VdbeAddOp2($p,$op,$p1,$p2) { - $p = $p|0; - $op = $op|0; - $p1 = $p1|0; - $p2 = $p2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3VdbeAddOp2($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $p1; - HEAP32[$3>>2] = $p2; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (_sqlite3VdbeAddOp3($4,$5,$6,$7,0)|0); - STACKTOP = sp;return ($8|0); + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$7>>2]|0; + $12 = (_sqlite3VdbeAddOp3($8,$9,$10,$11,0)|0); + STACKTOP = sp;return ($12|0); } -function _sqlite3VdbeAddOp3($p,$op,$p1,$p2,$p3) { - $p = $p|0; - $op = $op|0; - $p1 = $p1|0; - $p2 = $p2|0; - $p3 = $p3|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $pOp = 0, label = 0, sp = 0; +function _sqlite3VdbeAddOp3($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $i = sp + 4|0; - $pOp = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $op; - HEAP32[$3>>2] = $p1; - HEAP32[$4>>2] = $p2; - HEAP32[$5>>2] = $p3; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 136|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$i>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 48|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$i>>2]|0; - $15 = ($13|0)<=($14|0); - $16 = HEAP32[$1>>2]|0; - if ($15) { - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$3>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = HEAP32[$5>>2]|0; - $21 = (_growOp3($16,$17,$18,$19,$20)|0); - HEAP32[$0>>2] = $21; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $13 = HEAP32[$6>>2]|0; + $14 = ((($13)) + 136|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$11>>2] = $15; + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$11>>2]|0; + $22 = ($20|0)<=($21|0); + $23 = HEAP32[$6>>2]|0; + if ($22) { + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = HEAP32[$9>>2]|0; + $27 = HEAP32[$10>>2]|0; + $28 = (_growOp3($23,$24,$25,$26,$27)|0); + HEAP32[$5>>2] = $28; + $56 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($56|0); } else { - $22 = ((($16)) + 136|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$22>>2] = $24; - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 88|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + (($25*20)|0)|0); - HEAP32[$pOp>>2] = $29; - $30 = HEAP32[$2>>2]|0; - $31 = $30&255; - $32 = HEAP32[$pOp>>2]|0; - HEAP8[$32>>0] = $31; - $33 = HEAP32[$pOp>>2]|0; - $34 = ((($33)) + 3|0); - HEAP8[$34>>0] = 0; - $35 = HEAP32[$3>>2]|0; - $36 = HEAP32[$pOp>>2]|0; - $37 = ((($36)) + 4|0); - HEAP32[$37>>2] = $35; - $38 = HEAP32[$4>>2]|0; - $39 = HEAP32[$pOp>>2]|0; - $40 = ((($39)) + 8|0); - HEAP32[$40>>2] = $38; - $41 = HEAP32[$5>>2]|0; - $42 = HEAP32[$pOp>>2]|0; - $43 = ((($42)) + 12|0); - HEAP32[$43>>2] = $41; - $44 = HEAP32[$pOp>>2]|0; - $45 = ((($44)) + 16|0); - HEAP32[$45>>2] = 0; - $46 = HEAP32[$pOp>>2]|0; - $47 = ((($46)) + 1|0); - HEAP8[$47>>0] = 0; - $48 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $48; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); + $29 = ((($23)) + 136|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$29>>2] = $31; + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 88|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$11>>2]|0; + $36 = (($34) + (($35*20)|0)|0); + HEAP32[$12>>2] = $36; + $37 = HEAP32[$7>>2]|0; + $38 = $37&255; + $39 = HEAP32[$12>>2]|0; + HEAP8[$39>>0] = $38; + $40 = HEAP32[$12>>2]|0; + $41 = ((($40)) + 3|0); + HEAP8[$41>>0] = 0; + $42 = HEAP32[$8>>2]|0; + $43 = HEAP32[$12>>2]|0; + $44 = ((($43)) + 4|0); + HEAP32[$44>>2] = $42; + $45 = HEAP32[$9>>2]|0; + $46 = HEAP32[$12>>2]|0; + $47 = ((($46)) + 8|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$10>>2]|0; + $49 = HEAP32[$12>>2]|0; + $50 = ((($49)) + 12|0); + HEAP32[$50>>2] = $48; + $51 = HEAP32[$12>>2]|0; + $52 = ((($51)) + 16|0); + HEAP32[$52>>2] = 0; + $53 = HEAP32[$12>>2]|0; + $54 = ((($53)) + 1|0); + HEAP8[$54>>0] = 0; + $55 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $55; + $56 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($56|0); } return (0)|0; } -function _growOp3($p,$op,$p1,$p2,$p3) { - $p = $p|0; - $op = $op|0; - $p1 = $p1|0; - $p2 = $p2|0; - $p3 = $p3|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _growOp3($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $5 = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $op; - HEAP32[$3>>2] = $p1; - HEAP32[$4>>2] = $p2; - HEAP32[$5>>2] = $p3; - $6 = HEAP32[$1>>2]|0; - $7 = (_growOpArray($6,1)|0); - $8 = ($7|0)!=(0); - if ($8) { - HEAP32[$0>>2] = 1; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $11 = HEAP32[$6>>2]|0; + $12 = (_growOpArray($11,1)|0); + $13 = ($12|0)!=(0); + if ($13) { + HEAP32[$5>>2] = 1; + $20 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($20|0); } else { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$4>>2]|0; - $13 = HEAP32[$5>>2]|0; - $14 = (_sqlite3VdbeAddOp3($9,$10,$11,$12,$13)|0); - HEAP32[$0>>2] = $14; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$8>>2]|0; + $17 = HEAP32[$9>>2]|0; + $18 = HEAP32[$10>>2]|0; + $19 = (_sqlite3VdbeAddOp3($14,$15,$16,$17,$18)|0); + HEAP32[$5>>2] = $19; + $20 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($20|0); } return (0)|0; } -function _growOpArray($v,$nOp) { - $v = $v|0; - $nOp = $nOp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $nNew = 0, $p = 0, $pNew = 0, label = 0, sp = 0; +function _growOpArray($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pNew = sp + 8|0; - $p = sp + 4|0; - $nNew = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $nOp; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 12|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 48|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0); - if ($8) { - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 48|0); - $11 = HEAP32[$10>>2]|0; - $12 = $11<<1; - $13 = $12; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$5>>2] = $9; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 48|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 48|0); + $16 = HEAP32[$15>>2]|0; + $17 = $16<<1; + $18 = $17; } else { - $13 = 51; + $18 = 51; } - HEAP32[$nNew>>2] = $13; - $14 = HEAP32[$p>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 88|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$nNew>>2]|0; - $20 = ($19*20)|0; - $21 = (_sqlite3DbRealloc($15,$18,$20,0)|0); - HEAP32[$pNew>>2] = $21; - $22 = HEAP32[$pNew>>2]|0; - $23 = ($22|0)!=(0|0); - if (!($23)) { - $39 = HEAP32[$pNew>>2]|0; - $40 = ($39|0)!=(0|0); - $41 = $40 ? 0 : 7; - STACKTOP = sp;return ($41|0); + HEAP32[$6>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 88|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = ($24*20)|0; + $26 = (_sqlite3DbRealloc($20,$23,$25,0)|0); + HEAP32[$4>>2] = $26; + $27 = HEAP32[$4>>2]|0; + $28 = ($27|0)!=(0|0); + if (!($28)) { + $44 = HEAP32[$4>>2]|0; + $45 = ($44|0)!=(0|0); + $46 = $45 ? 0 : 7; + STACKTOP = sp;return ($46|0); } - $24 = HEAP32[$p>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$pNew>>2]|0; - $27 = (_sqlite3DbMallocSize($25,$26)|0); - $28 = HEAP32[$p>>2]|0; - $29 = ((($28)) + 52|0); - HEAP32[$29>>2] = $27; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 52|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32>>>0) / 20)&-1; - $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 48|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$pNew>>2]|0; - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 88|0); - HEAP32[$38>>2] = $36; - $39 = HEAP32[$pNew>>2]|0; - $40 = ($39|0)!=(0|0); - $41 = $40 ? 0 : 7; - STACKTOP = sp;return ($41|0); -} -function _sqlite3VdbeAddOp4($p,$op,$p1,$p2,$p3,$zP4,$p4type) { - $p = $p|0; - $op = $op|0; - $p1 = $p1|0; - $p2 = $p2|0; - $p3 = $p3|0; - $zP4 = $zP4|0; - $p4type = $p4type|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $6 = sp + 4|0; - $addr = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $p1; - HEAP32[$3>>2] = $p2; - HEAP32[$4>>2] = $p3; - HEAP32[$5>>2] = $zP4; - HEAP32[$6>>2] = $p4type; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = HEAP32[$4>>2]|0; - $12 = (_sqlite3VdbeAddOp3($7,$8,$9,$10,$11)|0); - HEAP32[$addr>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$addr>>2]|0; - $15 = HEAP32[$5>>2]|0; - $16 = HEAP32[$6>>2]|0; - _sqlite3VdbeChangeP4($13,$14,$15,$16); - $17 = HEAP32[$addr>>2]|0; - STACKTOP = sp;return ($17|0); + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = (_sqlite3DbMallocSize($30,$31)|0); + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 52|0); + HEAP32[$34>>2] = $32; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($37>>>0) / 20)&-1; + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 48|0); + HEAP32[$40>>2] = $38; + $41 = HEAP32[$4>>2]|0; + $42 = HEAP32[$2>>2]|0; + $43 = ((($42)) + 88|0); + HEAP32[$43>>2] = $41; + $44 = HEAP32[$4>>2]|0; + $45 = ($44|0)!=(0|0); + $46 = $45 ? 0 : 7; + STACKTOP = sp;return ($46|0); } -function _allocVdbe($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $v = 0, label = 0, sp = 0; +function _sqlite3VdbeAddOp4($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $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, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3VdbeCreate($1)|0); - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - HEAP32[$4>>2] = $2; - HEAP32[$v>>2] = $2; - $5 = HEAP32[$v>>2]|0; - $6 = ($5|0)!=(0|0); - if ($6) { - $7 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($7,71,0,1)|0); - } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 124|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - $21 = HEAP32[$v>>2]|0; - STACKTOP = sp;return ($21|0); - } - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 64|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = $16 & 8; - $18 = ($17|0)==(0); - if (!($18)) { - $21 = HEAP32[$v>>2]|0; - STACKTOP = sp;return ($21|0); - } - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 23|0); - HEAP8[$20>>0] = 1; - $21 = HEAP32[$v>>2]|0; - STACKTOP = sp;return ($21|0); + STACKTOP = STACKTOP + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$8>>2]|0; + $17 = HEAP32[$9>>2]|0; + $18 = HEAP32[$10>>2]|0; + $19 = HEAP32[$11>>2]|0; + $20 = (_sqlite3VdbeAddOp3($15,$16,$17,$18,$19)|0); + HEAP32[$14>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$14>>2]|0; + $23 = HEAP32[$12>>2]|0; + $24 = HEAP32[$13>>2]|0; + _sqlite3VdbeChangeP4($21,$22,$23,$24); + $25 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($25|0); } -function _sqlite3VMPrintf($db,$zFormat,$ap) { - $db = $db|0; - $zFormat = $zFormat|0; - $ap = $ap|0; - var $0 = 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, $acc = 0, $z = 0, $zBase = 0; - var label = 0, sp = 0; +function _sqlite3VdbeChangeP4($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $z = sp + 28|0; - $zBase = sp + 44|0; - $acc = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zFormat; - HEAP32[$2>>2] = $ap; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 96|0); - $6 = HEAP32[$5>>2]|0; - _sqlite3StrAccumInit($acc,$3,$zBase,70,$6); - $7 = ((($acc)) + 25|0); - HEAP8[$7>>0] = 1; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - _sqlite3VXPrintf($acc,$8,$9); - $10 = (_sqlite3StrAccumFinish($acc)|0); - HEAP32[$z>>2] = $10; - $11 = ((($acc)) + 24|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)==(1); - if (!($14)) { - $16 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($16|0); + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + $12 = HEAP32[$9>>2]|0; + $13 = ((($12)) + 69|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)!=(0); + if ($15) { + $16 = HEAP32[$7>>2]|0; + $17 = ($16|0)!=(-10); + if (!($17)) { + STACKTOP = sp;return; + } + $18 = HEAP32[$9>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = HEAP32[$6>>2]|0; + _freeP4($18,$19,$20); + STACKTOP = sp;return; } - $15 = HEAP32[$0>>2]|0; - _sqlite3OomFault($15); - $16 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($16|0); + $21 = HEAP32[$5>>2]|0; + $22 = ($21|0)<(0); + if ($22) { + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 136|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) - 1)|0; + HEAP32[$5>>2] = $26; + } + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 88|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = (($29) + (($30*20)|0)|0); + HEAP32[$8>>2] = $31; + $32 = HEAP32[$7>>2]|0; + $33 = ($32|0)>=(0); + if (!($33)) { + $34 = HEAP32[$8>>2]|0; + $35 = ((($34)) + 1|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36 << 24 >> 24; + $38 = ($37|0)!=(0); + if (!($38)) { + $43 = HEAP32[$7>>2]|0; + $44 = ($43|0)==(-14); + $45 = HEAP32[$6>>2]|0; + if ($44) { + $46 = $45; + $47 = HEAP32[$8>>2]|0; + $48 = ((($47)) + 16|0); + HEAP32[$48>>2] = $46; + $49 = HEAP32[$8>>2]|0; + $50 = ((($49)) + 1|0); + HEAP8[$50>>0] = -14; + STACKTOP = sp;return; + } + $51 = ($45|0)!=(0|0); + if (!($51)) { + STACKTOP = sp;return; + } + $52 = HEAP32[$6>>2]|0; + $53 = HEAP32[$8>>2]|0; + $54 = ((($53)) + 16|0); + HEAP32[$54>>2] = $52; + $55 = HEAP32[$7>>2]|0; + $56 = $55&255; + $57 = HEAP32[$8>>2]|0; + $58 = ((($57)) + 1|0); + HEAP8[$58>>0] = $56; + $59 = HEAP32[$7>>2]|0; + $60 = ($59|0)==(-10); + if (!($60)) { + STACKTOP = sp;return; + } + $61 = HEAP32[$6>>2]|0; + _sqlite3VtabLock($61); + STACKTOP = sp;return; + } + } + $39 = HEAP32[$4>>2]|0; + $40 = HEAP32[$8>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$7>>2]|0; + _vdbeChangeP4Full($39,$40,$41,$42); + STACKTOP = sp;return; } -function _sqlite3LocateTableItem($pParse,$flags,$p) { - $pParse = $pParse|0; - $flags = $flags|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iDb = 0, $zDb = 0, label = 0, sp = 0; +function _vdbeChangeP4Full($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $zDb = sp + 4|0; - $iDb = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $flags; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = (_sqlite3SchemaToIndex($7,$9)|0); - HEAP32[$iDb>>2] = $10; - $11 = HEAP32[$iDb>>2]|0; - $12 = HEAP32[$0>>2]|0; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$5>>2]|0; + $9 = ((($8)) + 1|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)!=(0); + if ($11) { + $12 = HEAP32[$4>>2]|0; $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 16|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($11<<4)|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$zDb>>2] = $17; - } else { - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 4|0); + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 1|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 16|0); $20 = HEAP32[$19>>2]|0; - HEAP32[$zDb>>2] = $20; + _freeP4($13,$17,$20); + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 1|0); + HEAP8[$22>>0] = 0; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 16|0); + HEAP32[$24>>2] = 0; } - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$zDb>>2]|0; - $27 = (_sqlite3LocateTable($21,$22,$25,$26)|0); - STACKTOP = sp;return ($27|0); + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)<(0); + if ($26) { + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 88|0); + $31 = HEAP32[$30>>2]|0; + $32 = $28; + $33 = $31; + $34 = (($32) - ($33))|0; + $35 = (($34|0) / 20)&-1; + $36 = HEAP32[$6>>2]|0; + $37 = HEAP32[$7>>2]|0; + _sqlite3VdbeChangeP4($27,$35,$36,$37); + STACKTOP = sp;return; + } + $38 = HEAP32[$7>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = HEAP32[$6>>2]|0; + $41 = (_sqlite3Strlen30($40)|0); + HEAP32[$7>>2] = $41; + } + $42 = HEAP32[$4>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = ($45|0)<(0); + $47 = $46 << 31 >> 31; + $48 = (_sqlite3DbStrNDup($43,$44,$45,$47)|0); + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 16|0); + HEAP32[$50>>2] = $48; + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 1|0); + HEAP8[$52>>0] = -1; + STACKTOP = sp;return; } -function _isSystemTable($pParse,$zName) { - $pParse = $pParse|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3VtabLock($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $zName; - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3Strlen30($3)|0); - $5 = ($4|0)>(6); - if ($5) { - $6 = HEAP32[$2>>2]|0; - $7 = (_sqlite3_strnicmp($6,27844,7)|0); - $8 = (0)==($7|0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $10; - _sqlite3ErrorMsg($9,27852,$vararg_buffer); - HEAP32[$0>>2] = 1; - $11 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($11|0); - } - } - HEAP32[$0>>2] = 0; - $11 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($11|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 12|0); + $4 = HEAP32[$3>>2]|0; + $5 = (($4) + 1)|0; + HEAP32[$3>>2] = $5; + STACKTOP = sp;return; } -function _sqlite3BeginWriteOperation($pParse,$setStatement,$iDb) { - $pParse = $pParse|0; - $setStatement = $setStatement|0; - $iDb = $iDb|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pToplevel = 0, label = 0, sp = 0; +function _sqlite3VdbeUsesBtree($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $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; - $0 = sp + 12|0; - $1 = sp + 8|0; $2 = sp + 4|0; - $pToplevel = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $setStatement; - HEAP32[$2>>2] = $iDb; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 124|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - $7 = HEAP32[$0>>2]|0; - if ($6) { - $8 = ((($7)) + 124|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9; - } else { - $10 = $7; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = 1 << $4; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 148|0); + $8 = HEAP32[$7>>2]|0; + $9 = $8 | $5; + HEAP32[$7>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = ($10|0)!=(1); + if (!($11)) { + STACKTOP = sp;return; } - HEAP32[$pToplevel>>2] = $10; - $11 = HEAP32[$0>>2]|0; $12 = HEAP32[$2>>2]|0; - _sqlite3CodeVerifySchema($11,$12); - $13 = HEAP32[$2>>2]|0; - $14 = 1 << $13; - $15 = HEAP32[$pToplevel>>2]|0; - $16 = ((($15)) + 92|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 | $14; - HEAP32[$16>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$pToplevel>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = $23 | $19; - $25 = $24&255; - HEAP8[$21>>0] = $25; + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = (($15) + ($16<<4)|0); + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3BtreeSharable($19)|0); + $21 = ($20|0)!=(0); + if (!($21)) { + STACKTOP = sp;return; + } + $22 = HEAP32[$3>>2]|0; + $23 = 1 << $22; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 152|0); + $26 = HEAP32[$25>>2]|0; + $27 = $26 | $23; + HEAP32[$25>>2] = $27; STACKTOP = sp;return; } -function _sqlite3CodeVerifySchema($pParse,$iDb) { - $pParse = $pParse|0; - $iDb = $iDb|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pToplevel = 0, label = 0, sp = 0; +function _sqlite3BtreeSharable($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 9|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + STACKTOP = sp;return ($5|0); +} +function _allocVdbe($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; - $pToplevel = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iDb; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 124|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - $6 = HEAP32[$0>>2]|0; - if ($5) { - $7 = ((($6)) + 124|0); - $8 = HEAP32[$7>>2]|0; - $9 = $8; - } else { - $9 = $6; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3VdbeCreate($3)|0); + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 8|0); + HEAP32[$6>>2] = $4; + HEAP32[$2>>2] = $4; + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)!=(0|0); + if ($8) { + $9 = HEAP32[$2>>2]|0; + (_sqlite3VdbeAddOp2($9,71,0,1)|0); } - HEAP32[$pToplevel>>2] = $9; - $10 = HEAP32[$pToplevel>>2]|0; - $11 = ((($10)) + 96|0); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 124|0); $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = 1 << $13; - $15 = $12 & $14; - $16 = ($15|0)!=(0); - $17 = $16&1; - $18 = ($17|0)==(0); - if (!($18)) { - STACKTOP = sp;return; + $13 = ($12|0)==(0|0); + if (!($13)) { + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } - $19 = HEAP32[$1>>2]|0; - $20 = 1 << $19; - $21 = HEAP32[$pToplevel>>2]|0; - $22 = ((($21)) + 96|0); - $23 = HEAP32[$22>>2]|0; - $24 = $23 | $20; - HEAP32[$22>>2] = $24; - $25 = HEAP32[$1>>2]|0; - $26 = ($25|0)==(1); - if (!($26)) { - STACKTOP = sp;return; + $14 = HEAP32[$1>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 64|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = $18 & 8; + $20 = ($19|0)==(0); + if (!($20)) { + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } - $27 = HEAP32[$pToplevel>>2]|0; - (_sqlite3OpenTempDatabase($27)|0); - STACKTOP = sp;return; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 23|0); + HEAP8[$22>>0] = 1; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } -function _sqlite3OpenTempDatabase($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0; - var $pBt = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3VdbeCreate($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 20|0; - $1 = sp + 16|0; - $db = sp + 12|0; - $rc = sp + 8|0; - $pBt = sp + 4|0; - HEAP32[$1>>2] = $pParse; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 16|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 16|0); - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $6; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3DbMallocRawNN($7,208,0)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$4>>2]|0; $10 = ($9|0)==(0|0); if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 409|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)!=(0); - if (!($14)) { - $15 = HEAP32[$db>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$db>>2]|0; - $18 = (_sqlite3BtreeOpen($16,0,$17,$pBt,0,542)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($21,27774,$vararg_buffer); - $22 = HEAP32[$rc>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 12|0); - HEAP32[$24>>2] = $22; - HEAP32[$0>>2] = 1; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); - } - $25 = HEAP32[$pBt>>2]|0; - $26 = HEAP32[$db>>2]|0; - $27 = ((($26)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 16|0); - $30 = ((($29)) + 4|0); - HEAP32[$30>>2] = $25; - $31 = HEAP32[$pBt>>2]|0; - $32 = HEAP32[$db>>2]|0; - $33 = ((($32)) + 80|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_sqlite3BtreeSetPageSize($31,$34,-1,0)|0); - $36 = (7)==($35|0); - if ($36) { - $37 = HEAP32[$db>>2]|0; - _sqlite3OomFault($37); - HEAP32[$0>>2] = 1; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); - } - } + HEAP32[$1>>2] = 0; + $40 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($40|0); } - HEAP32[$0>>2] = 0; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 88|0); + dest=$12; stop=dest+120|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$4>>2]|0; + HEAP32[$14>>2] = $13; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 4|0); + HEAP32[$23>>2] = $19; + } + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 8|0); + HEAP32[$28>>2] = $26; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 4|0); + HEAP32[$30>>2] = 0; + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 4|0); + HEAP32[$33>>2] = $31; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 20|0); + HEAP32[$35>>2] = 381479589; + $36 = HEAP32[$2>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 12|0); + HEAP32[$38>>2] = $36; + $39 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $39; + $40 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($40|0); } -function _sqlite3ValueFromExpr($db,$pExpr,$enc,$affinity,$ppVal) { - $db = $db|0; - $pExpr = $pExpr|0; - $enc = $enc|0; - $affinity = $affinity|0; - $ppVal = $ppVal|0; - var $0 = 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, label = 0, sp = 0; +function _sqlite3LocateTableItem($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp + 13|0; - $3 = sp + 12|0; - $4 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pExpr; - HEAP8[$2>>0] = $enc; - HEAP8[$3>>0] = $affinity; - HEAP32[$4>>2] = $ppVal; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $13 = 0; - STACKTOP = sp;return ($13|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3SchemaToIndex($12,$14)|0); + HEAP32[$7>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = (($19) + ($20<<4)|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$6>>2] = $22; + } else { + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$6>>2] = $25; } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP8[$2>>0]|0; - $10 = HEAP8[$3>>0]|0; - $11 = HEAP32[$4>>2]|0; - $12 = (_valueFromExpr($7,$8,$9,$10,$11,0)|0); - $13 = $12; - STACKTOP = sp;return ($13|0); + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = (_sqlite3LocateTable($26,$27,$30,$31)|0); + STACKTOP = sp;return ($32|0); } -function _sqlite3GetTempReg($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; +function _isSystemTable($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pParse; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 19|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(0); - $7 = HEAP32[$1>>2]|0; - if ($6) { - $8 = ((($7)) + 44|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 1)|0; - HEAP32[$8>>2] = $10; - HEAP32[$0>>2] = $10; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); - } else { - $11 = ((($7)) + 19|0); - $12 = HEAP8[$11>>0]|0; - $13 = (($12) + -1)<<24>>24; - HEAP8[$11>>0] = $13; - $14 = $13&255; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 352|0); - $17 = (($16) + ($14<<2)|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$0>>2] = $18; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$4>>2]|0; + $6 = (_sqlite3Strlen30($5)|0); + $7 = ($6|0)>(6); + if ($7) { + $8 = HEAP32[$4>>2]|0; + $9 = (_sqlite3_strnicmp($8,26664,7)|0); + $10 = (0)==($9|0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer>>2] = $12; + _sqlite3ErrorMsg($11,26672,$vararg_buffer); + HEAP32[$2>>2] = 1; + $13 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($13|0); + } } - return (0)|0; + HEAP32[$2>>2] = 0; + $13 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($13|0); } -function _sqlite3VdbeCurrentAddr($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3BeginWriteOperation($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 136|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 124|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + $11 = HEAP32[$3>>2]|0; + if ($10) { + $12 = ((($11)) + 124|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13; + } else { + $14 = $11; + } + HEAP32[$6>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$5>>2]|0; + _sqlite3CodeVerifySchema($15,$16); + $17 = HEAP32[$5>>2]|0; + $18 = 1 << $17; + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 92|0); + $21 = HEAP32[$20>>2]|0; + $22 = $21 | $18; + HEAP32[$20>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 20|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = $27 | $23; + $29 = $28&255; + HEAP8[$25>>0] = $29; + STACKTOP = sp;return; } -function _sqlite3ReleaseTempReg($pParse,$iReg) { - $pParse = $pParse|0; - $iReg = $iReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $p = 0, label = 0; - var sp = 0; +function _sqlite3CodeVerifySchema($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $i = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iReg; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0); - if (!($3)) { - STACKTOP = sp;return; - } - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 19|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)<(8); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 152|0); - HEAP32[$p>>2] = $10; - while(1) { - $11 = HEAP32[$i>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 25|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($11|0)<($15|0); - if (!($16)) { - label = 8; - break; - } - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ($19|0)==($20|0); - if ($21) { - label = 6; - break; - } - $24 = HEAP32[$i>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$i>>2] = $25; - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 20|0); - HEAP32[$p>>2] = $27; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 124|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0|0); + $9 = HEAP32[$2>>2]|0; + if ($8) { + $10 = ((($9)) + 124|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11; + } else { + $12 = $9; } - if ((label|0) == 6) { - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 6|0); - HEAP8[$23>>0] = 1; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 96|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = 1 << $16; + $18 = $15 & $17; + $19 = ($18|0)!=(0); + $20 = $19&1; + $21 = ($20|0)==(0); + if (!($21)) { STACKTOP = sp;return; } - else if ((label|0) == 8) { - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 19|0); - $31 = HEAP8[$30>>0]|0; - $32 = (($31) + 1)<<24>>24; - HEAP8[$30>>0] = $32; - $33 = $31&255; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 352|0); - $36 = (($35) + ($33<<2)|0); - HEAP32[$36>>2] = $28; + $22 = HEAP32[$3>>2]|0; + $23 = 1 << $22; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 96|0); + $26 = HEAP32[$25>>2]|0; + $27 = $26 | $23; + HEAP32[$25>>2] = $27; + $28 = HEAP32[$3>>2]|0; + $29 = ($28|0)==(1); + if (!($29)) { STACKTOP = sp;return; } + $30 = HEAP32[$4>>2]|0; + (_sqlite3OpenTempDatabase($30)|0); + STACKTOP = sp;return; } -function _reloadTableSchema($pParse,$pTab,$zName) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $iDb = 0, $iTrigDb = 0, $pTrig = 0, $v = 0, $vararg_buffer = 0, $zWhere = 0, label = 0, sp = 0; +function _sqlite3LocateTable($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer3 = sp + 16|0; $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $v = sp + 20|0; - $zWhere = sp + 16|0; - $iDb = sp + 12|0; - $pTrig = sp + 8|0; - $iTrigDb = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $zName; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3GetVdbe($3)|0); - HEAP32[$v>>2] = $4; - $5 = HEAP32[$v>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - STACKTOP = sp;return; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $12 = HEAP32[$5>>2]|0; + $13 = (_sqlite3ReadSchema($12)|0); + $14 = (0)!=($13|0); + if ($14) { + HEAP32[$4>>2] = 0; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 64|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3SchemaToIndex($8,$11)|0); - HEAP32[$iDb>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = (_sqlite3TriggerList($13,$14)|0); - HEAP32[$pTrig>>2] = $15; - while(1) { - $16 = HEAP32[$pTrig>>2]|0; - $17 = ($16|0)!=(0|0); - if (!($17)) { - break; - } - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$pTrig>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3SchemaToIndex($19,$22)|0); - HEAP32[$iTrigDb>>2] = $23; - $24 = HEAP32[$v>>2]|0; - $25 = HEAP32[$iTrigDb>>2]|0; - $26 = HEAP32[$pTrig>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$7>>2]|0; + $18 = HEAP32[$8>>2]|0; + $19 = (_sqlite3FindTable($16,$17,$18)|0); + HEAP32[$9>>2] = $19; + $20 = HEAP32[$9>>2]|0; + $21 = ($20|0)==(0|0); + if ($21) { + $22 = HEAP32[$6>>2]|0; + $23 = $22 & 1; + $24 = ($23|0)!=(0); + $25 = $24 ? 26700 : 26713; + HEAP32[$10>>2] = $25; + $26 = HEAP32[$5>>2]|0; $27 = HEAP32[$26>>2]|0; - (_sqlite3VdbeAddOp4($24,140,$25,0,0,$27,0)|0); - $28 = HEAP32[$pTrig>>2]|0; - $29 = ((($28)) + 32|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$pTrig>>2] = $30; - } - $31 = HEAP32[$v>>2]|0; - $32 = HEAP32[$iDb>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$33>>2]|0; - (_sqlite3VdbeAddOp4($31,138,$32,0,0,$34,0)|0); - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $37; - $38 = (_sqlite3MPrintf($36,28206,$vararg_buffer)|0); - HEAP32[$zWhere>>2] = $38; - $39 = HEAP32[$zWhere>>2]|0; - $40 = ($39|0)!=(0|0); - if (!($40)) { - STACKTOP = sp;return; - } - $41 = HEAP32[$v>>2]|0; - $42 = HEAP32[$iDb>>2]|0; - $43 = HEAP32[$zWhere>>2]|0; - _sqlite3VdbeAddParseSchemaOp($41,$42,$43); - $44 = HEAP32[$0>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = (_whereTempTriggers($44,$45)|0); - HEAP32[$zWhere>>2] = $46; - $47 = ($46|0)!=(0|0); - if (!($47)) { - STACKTOP = sp;return; + $28 = HEAP32[$8>>2]|0; + $29 = (_sqlite3FindDbName($27,$28)|0); + $30 = ($29|0)<(1); + if ($30) { + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = ((($32)) + 320|0); + $34 = HEAP32[$7>>2]|0; + $35 = (_sqlite3HashFind($33,$34)|0); + HEAP32[$11>>2] = $35; + $36 = HEAP32[$11>>2]|0; + $37 = ($36|0)!=(0|0); + if ($37) { + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$11>>2]|0; + $40 = (_sqlite3VtabEponymousTableInit($38,$39)|0); + $41 = ($40|0)!=(0); + if ($41) { + $42 = HEAP32[$11>>2]|0; + $43 = ((($42)) + 16|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$4>>2] = $44; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); + } + } + } + $45 = HEAP32[$6>>2]|0; + $46 = $45 & 2; + $47 = ($46|0)==(0); + if ($47) { + $48 = HEAP32[$8>>2]|0; + $49 = ($48|0)!=(0|0); + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$10>>2]|0; + if ($49) { + $52 = HEAP32[$8>>2]|0; + $53 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $51; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $52; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $53; + _sqlite3ErrorMsg($50,26727,$vararg_buffer); + } else { + $54 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer3>>2] = $51; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $54; + _sqlite3ErrorMsg($50,26737,$vararg_buffer3); + } + $55 = HEAP32[$5>>2]|0; + $56 = ((($55)) + 17|0); + HEAP8[$56>>0] = 1; + } } - $48 = HEAP32[$v>>2]|0; - $49 = HEAP32[$zWhere>>2]|0; - _sqlite3VdbeAddParseSchemaOp($48,1,$49); - STACKTOP = sp;return; + $57 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $57; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); } -function _sqlite3TriggerList($pParse,$pTab) { - $pParse = $pParse|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $p = 0, $pList = 0, $pTmpSchema = 0, $pTrig = 0, label = 0, sp = 0; +function _sqlite3ReadSchema($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pTmpSchema = sp + 12|0; - $pList = sp + 8|0; - $p = sp + 4|0; - $pTrig = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTab; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 16|0); - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$pTmpSchema>>2] = $9; - HEAP32[$pList>>2] = 0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 150|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)!=(0); - if ($13) { - HEAP32[$0>>2] = 0; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 148|0); + $8 = ((($7)) + 5|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + if (!($10)) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 4|0); + $14 = (_sqlite3Init($11,$13)|0); + HEAP32[$2>>2] = $14; } - $14 = HEAP32[$pTmpSchema>>2]|0; $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 64|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($14|0)!=($17|0); - L5: do { - if ($18) { - $19 = HEAP32[$pTmpSchema>>2]|0; - $20 = ((($19)) + 40|0); - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$p>>2] = $22; - while(1) { - $23 = HEAP32[$p>>2]|0; - $24 = ($23|0)!=(0|0); - if (!($24)) { - break L5; - } - $25 = HEAP32[$p>>2]|0; - $26 = ((($25)) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pTrig>>2] = $27; - $28 = HEAP32[$pTrig>>2]|0; - $29 = ((($28)) + 24|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$2>>2]|0; - $32 = ((($31)) + 64|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($30|0)==($33|0); - if ($34) { - $35 = HEAP32[$pTrig>>2]|0; - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = (_sqlite3StrICmp($37,$39)|0); - $41 = (0)==($40|0); - if ($41) { - $42 = HEAP32[$pList>>2]|0; - $43 = ($42|0)!=(0|0); - if ($43) { - $44 = HEAP32[$pList>>2]|0; - $50 = $44; - } else { - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 60|0); - $47 = HEAP32[$46>>2]|0; - $50 = $47; - } - $48 = HEAP32[$pTrig>>2]|0; - $49 = ((($48)) + 32|0); - HEAP32[$49>>2] = $50; - $51 = HEAP32[$pTrig>>2]|0; - HEAP32[$pList>>2] = $51; - } - } - $52 = HEAP32[$p>>2]|0; - $53 = HEAP32[$52>>2]|0; - HEAP32[$p>>2] = $53; - } - } - } while(0); - $54 = HEAP32[$pList>>2]|0; - $55 = ($54|0)!=(0|0); - if ($55) { - $56 = HEAP32[$pList>>2]|0; - $60 = $56; - } else { - $57 = HEAP32[$2>>2]|0; - $58 = ((($57)) + 60|0); - $59 = HEAP32[$58>>2]|0; - $60 = $59; + $16 = ($15|0)!=(0); + if (!($16)) { + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); } - HEAP32[$0>>2] = $60; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 12|0); + HEAP32[$19>>2] = $17; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 36|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + 1)|0; + HEAP32[$21>>2] = $23; + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); } -function _whereTempTriggers($pParse,$pTab) { - $pParse = $pParse|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $pTempSchema = 0, $pTrig = 0, $vararg_buffer = 0, $zNew = 0, $zWhere = 0, label = 0, sp = 0; +function _sqlite3FindTable($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $pTrig = sp + 20|0; - $zWhere = sp + 16|0; - $pTempSchema = sp + 12|0; - $db = sp + 8|0; - $zNew = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$zWhere>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 16|0); - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pTempSchema>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 64|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$pTempSchema>>2]|0; - $13 = ($11|0)!=($12|0); - L1: do { - if ($13) { - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$14>>2]|0; - HEAP32[$db>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = (_sqlite3TriggerList($16,$17)|0); - HEAP32[$pTrig>>2] = $18; - while(1) { - $19 = HEAP32[$pTrig>>2]|0; - $20 = ($19|0)!=(0|0); - if (!($20)) { - break L1; - } - $21 = HEAP32[$pTrig>>2]|0; - $22 = ((($21)) + 20|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$pTempSchema>>2]|0; - $25 = ($23|0)==($24|0); - if ($25) { - $26 = HEAP32[$db>>2]|0; - $27 = HEAP32[$zWhere>>2]|0; - $28 = HEAP32[$pTrig>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = (_whereOrName($26,$27,$29)|0); - HEAP32[$zWhere>>2] = $30; - } - $31 = HEAP32[$pTrig>>2]|0; - $32 = ((($31)) + 32|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$pTrig>>2] = $33; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + while(1) { + $9 = HEAP32[$7>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)<($12|0); + if (!($13)) { + label = 7; + break; + } + $14 = HEAP32[$7>>2]|0; + $15 = ($14|0)<(2); + $16 = HEAP32[$7>>2]|0; + $17 = $16 ^ 1; + $18 = $15 ? $17 : $16; + HEAP32[$8>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(0|0); + if ($20) { + label = 5; + } else { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = (($24) + ($25<<4)|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3StrICmp($21,$27)|0); + $29 = ($28|0)==(0); + if ($29) { + label = 5; } } - } while(0); - $34 = HEAP32[$zWhere>>2]|0; - $35 = ($34|0)!=(0|0); - if (!($35)) { - $44 = HEAP32[$zWhere>>2]|0; + if ((label|0) == 5) { + label = 0; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = (($32) + ($33<<4)|0); + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + $37 = ((($36)) + 8|0); + $38 = HEAP32[$4>>2]|0; + $39 = (_sqlite3HashFind($37,$38)|0); + HEAP32[$6>>2] = $39; + $40 = HEAP32[$6>>2]|0; + $41 = ($40|0)!=(0|0); + if ($41) { + label = 7; + break; + } + } + $42 = HEAP32[$7>>2]|0; + $43 = (($42) + 1)|0; + HEAP32[$7>>2] = $43; + } + if ((label|0) == 7) { + $44 = HEAP32[$6>>2]|0; STACKTOP = sp;return ($44|0); } - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$zWhere>>2]|0; - HEAP32[$vararg_buffer>>2] = $38; - $39 = (_sqlite3MPrintf($37,28218,$vararg_buffer)|0); - HEAP32[$zNew>>2] = $39; - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$zWhere>>2]|0; - _sqlite3DbFree($41,$42); - $43 = HEAP32[$zNew>>2]|0; - HEAP32[$zWhere>>2] = $43; - $44 = HEAP32[$zWhere>>2]|0; - STACKTOP = sp;return ($44|0); + return (0)|0; } -function _whereOrName($db,$zWhere,$zConstant) { - $db = $db|0; - $zWhere = $zWhere|0; - $zConstant = $zConstant|0; - var $0 = 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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $zNew = 0, label = 0, sp = 0; +function _sqlite3HashFind($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $zNew = sp + 16|0; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zWhere; - HEAP32[$2>>2] = $zConstant; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - $5 = HEAP32[$0>>2]|0; - if ($4) { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer1>>2] = $8; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $9; - $10 = (_sqlite3MPrintf($5,28250,$vararg_buffer1)|0); - HEAP32[$zNew>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - _sqlite3DbFree($11,$12); - $13 = HEAP32[$zNew>>2]|0; - STACKTOP = sp;return ($13|0); - } else { - $6 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $6; - $7 = (_sqlite3MPrintf($5,28242,$vararg_buffer)|0); - HEAP32[$zNew>>2] = $7; - $13 = HEAP32[$zNew>>2]|0; - STACKTOP = sp;return ($13|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = (_findElementWithHash($6,$7,$5)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + $14 = 0; + STACKTOP = sp;return ($14|0); } - return (0)|0; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13; + STACKTOP = sp;return ($14|0); } -function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { - $db = $db|0; - $pExpr = $pExpr|0; - $enc = $enc|0; - $affinity = $affinity|0; - $ppVal = $ppVal|0; - $pCtx = $pCtx|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aff = 0, $nVal = 0, $negInt = 0, $op = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pVal = 0, $rc = 0, $vararg_buffer = 0, $vararg_ptr8 = 0; - var $zNeg = 0, $zVal = 0, label = 0, sp = 0; +function _sqlite3VtabEponymousTableInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; + STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 58|0; - $4 = sp + 57|0; - $5 = sp + 40|0; - $6 = sp + 36|0; - $op = sp + 32|0; - $zVal = sp + 28|0; - $pVal = sp + 24|0; - $negInt = sp + 20|0; - $zNeg = sp + 16|0; - $rc = sp + 12|0; - $aff = sp + 56|0; - $nVal = sp + 8|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pExpr; - HEAP8[$3>>0] = $enc; - HEAP8[$4>>0] = $affinity; - HEAP32[$5>>2] = $ppVal; - HEAP32[$6>>2] = $pCtx; - HEAP32[$zVal>>2] = 0; - HEAP32[$pVal>>2] = 0; - HEAP32[$negInt>>2] = 1; - HEAP32[$zNeg>>2] = 18402; - HEAP32[$rc>>2] = 0; - while(1) { - $7 = HEAP32[$2>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - HEAP32[$op>>2] = $9; - $10 = ($9|0)==(156); - $11 = HEAP32[$op>>2]|0; - $12 = ($11|0)==(161); - $13 = $10 ? 1 : $12; - if (!($13)) { - break; - } - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$2>>2] = $16; - } - $17 = HEAP32[$op>>2]|0; - $18 = ($17|0)==(157); - if ($18) { - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 38|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - HEAP32[$op>>2] = $22; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $11; + HEAP32[$7>>2] = 0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$9>>2] = $13; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + HEAP32[$2>>2] = 1; + $95 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($95|0); } - $23 = HEAP32[$op>>2]|0; - $24 = ($23|0)==(66); - if ($24) { - $25 = HEAP32[$2>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$5>>2]|0; $26 = ((($25)) + 8|0); $27 = HEAP32[$26>>2]|0; - $28 = (_sqlite3AffinityType($27,0)|0); - HEAP8[$aff>>0] = $28; - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = ((($30)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP8[$3>>0]|0; - $34 = HEAP8[$aff>>0]|0; - $35 = HEAP32[$5>>2]|0; - $36 = HEAP32[$6>>2]|0; - $37 = (_valueFromExpr($29,$32,$33,$34,$35,$36)|0); - HEAP32[$rc>>2] = $37; - $38 = HEAP32[$5>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)!=(0|0); - if ($40) { - $41 = HEAP32[$5>>2]|0; - $42 = HEAP32[$41>>2]|0; - $43 = HEAP8[$aff>>0]|0; - _sqlite3VdbeMemCast($42,$43,1); - $44 = HEAP32[$5>>2]|0; - $45 = HEAP32[$44>>2]|0; - $46 = HEAP8[$4>>0]|0; - _sqlite3ValueApplyAffinity($45,$46,1); + $28 = ($24|0)!=($27|0); + if ($28) { + HEAP32[$2>>2] = 0; + $95 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($95|0); } - $47 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $47; - $227 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($227|0); } - $48 = HEAP32[$op>>2]|0; - $49 = ($48|0)==(155); - do { - if ($49) { - $50 = HEAP32[$2>>2]|0; - $51 = ((($50)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP8[$52>>0]|0; - $54 = $53&255; - $55 = ($54|0)==(134); - if (!($55)) { - $56 = HEAP32[$2>>2]|0; - $57 = ((($56)) + 12|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = ($60|0)==(132); - if (!($61)) { - break; - } - } - $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 12|0); - $64 = HEAP32[$63>>2]|0; - HEAP32[$2>>2] = $64; - $65 = HEAP32[$2>>2]|0; - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - HEAP32[$op>>2] = $67; - HEAP32[$negInt>>2] = -1; - HEAP32[$zNeg>>2] = 28264; + $29 = HEAP32[$9>>2]|0; + $30 = (_sqlite3DbMallocZero($29,72,0)|0); + HEAP32[$6>>2] = $30; + $31 = HEAP32[$6>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + HEAP32[$2>>2] = 0; + $95 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($95|0); + } + $33 = HEAP32[$9>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_sqlite3DbStrDup($33,$36)|0); + $38 = HEAP32[$6>>2]|0; + HEAP32[$38>>2] = $37; + $39 = HEAP32[$6>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)==(0|0); + if ($41) { + $42 = HEAP32[$9>>2]|0; + $43 = HEAP32[$6>>2]|0; + _sqlite3DbFree($42,$43); + HEAP32[$2>>2] = 0; + $95 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($95|0); + } + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 16|0); + HEAP32[$46>>2] = $44; + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + 36|0); + HEAP16[$48>>1] = 1; + $49 = HEAP32[$9>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($51)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ((($54)) + 64|0); + HEAP32[$55>>2] = $53; + $56 = HEAP32[$6>>2]|0; + $57 = ((($56)) + 42|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = $59 | 16; + $61 = $60&255; + HEAP8[$57>>0] = $61; + $62 = HEAP32[$6>>2]|0; + $63 = ((($62)) + 48|0); + HEAP32[$63>>2] = 0; + $64 = HEAP32[$6>>2]|0; + $65 = ((($64)) + 32|0); + HEAP16[$65>>1] = -1; + $66 = HEAP32[$9>>2]|0; + $67 = HEAP32[$6>>2]|0; + $68 = HEAP32[$9>>2]|0; + $69 = HEAP32[$6>>2]|0; + $70 = HEAP32[$69>>2]|0; + $71 = (_sqlite3DbStrDup($68,$70)|0); + _addModuleArgument($66,$67,$71); + $72 = HEAP32[$9>>2]|0; + $73 = HEAP32[$6>>2]|0; + _addModuleArgument($72,$73,0); + $74 = HEAP32[$9>>2]|0; + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$9>>2]|0; + $77 = HEAP32[$6>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = (_sqlite3DbStrDup($76,$78)|0); + _addModuleArgument($74,$75,$79); + $80 = HEAP32[$9>>2]|0; + $81 = HEAP32[$6>>2]|0; + $82 = HEAP32[$4>>2]|0; + $83 = HEAP32[$5>>2]|0; + $84 = ((($83)) + 8|0); + $85 = HEAP32[$84>>2]|0; + $86 = (_vtabCallConstructor($80,$81,$82,$85,$7)|0); + HEAP32[$8>>2] = $86; + $87 = HEAP32[$8>>2]|0; + $88 = ($87|0)!=(0); + if ($88) { + $89 = HEAP32[$3>>2]|0; + $90 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $90; + _sqlite3ErrorMsg($89,21240,$vararg_buffer); + $91 = HEAP32[$9>>2]|0; + $92 = HEAP32[$7>>2]|0; + _sqlite3DbFree($91,$92); + $93 = HEAP32[$9>>2]|0; + $94 = HEAP32[$4>>2]|0; + _sqlite3VtabEponymousTableClear($93,$94); + HEAP32[$2>>2] = 0; + $95 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($95|0); + } else { + HEAP32[$2>>2] = 1; + $95 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($95|0); + } + return (0)|0; +} +function _vtabCallConstructor($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer8 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 132|0; + $6 = sp + 128|0; + $7 = sp + 124|0; + $8 = sp + 120|0; + $9 = sp + 116|0; + $10 = sp + 112|0; + $11 = sp + 96|0; + $12 = sp + 92|0; + $13 = sp + 88|0; + $14 = sp + 84|0; + $15 = sp + 80|0; + $16 = sp + 76|0; + $17 = sp + 72|0; + $18 = sp + 68|0; + $19 = sp + 64|0; + $20 = sp + 60|0; + $21 = sp + 56|0; + $22 = sp + 136|0; + $23 = sp + 52|0; + $24 = sp + 48|0; + $25 = sp + 44|0; + $26 = sp + 40|0; + $27 = sp + 36|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $28 = HEAP32[$7>>2]|0; + $29 = ((($28)) + 52|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$14>>2] = $30; + $31 = HEAP32[$7>>2]|0; + $32 = ((($31)) + 48|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$15>>2] = $33; + HEAP32[$16>>2] = 0; + $34 = HEAP32[$6>>2]|0; + $35 = ((($34)) + 336|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$19>>2] = $36; + while(1) { + $37 = HEAP32[$19>>2]|0; + $38 = ($37|0)!=(0|0); + if (!($38)) { + break; } - } while(0); - $68 = HEAP32[$op>>2]|0; - $69 = ($68|0)==(97); - $70 = HEAP32[$op>>2]|0; - $71 = ($70|0)==(132); - $or$cond = $69 | $71; - $72 = HEAP32[$op>>2]|0; - $73 = ($72|0)==(134); - $or$cond3 = $or$cond | $73; - do { - if ($or$cond3) { - $74 = HEAP32[$1>>2]|0; - $75 = HEAP32[$6>>2]|0; - $76 = (_valueNew($74,$75)|0); - HEAP32[$pVal>>2] = $76; - $77 = HEAP32[$pVal>>2]|0; - $78 = ($77|0)==(0|0); - if ($78) { - label = 42; + $39 = HEAP32[$19>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = ($41|0)==($42|0); + if ($43) { + label = 4; + break; + } + $49 = HEAP32[$19>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$19>>2] = $51; + } + if ((label|0) == 4) { + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = HEAP32[$45>>2]|0; + HEAP32[$vararg_buffer>>2] = $46; + $47 = (_sqlite3MPrintf($44,26744,$vararg_buffer)|0); + $48 = HEAP32[$10>>2]|0; + HEAP32[$48>>2] = $47; + HEAP32[$5>>2] = 6; + $266 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($266|0); + } + $52 = HEAP32[$6>>2]|0; + $53 = HEAP32[$7>>2]|0; + $54 = HEAP32[$53>>2]|0; + HEAP32[$vararg_buffer2>>2] = $54; + $55 = (_sqlite3MPrintf($52,21240,$vararg_buffer2)|0); + HEAP32[$17>>2] = $55; + $56 = HEAP32[$17>>2]|0; + $57 = ($56|0)!=(0|0); + if (!($57)) { + HEAP32[$5>>2] = 7; + $266 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($266|0); + } + $58 = HEAP32[$6>>2]|0; + $59 = (_sqlite3DbMallocZero($58,28,0)|0); + HEAP32[$12>>2] = $59; + $60 = HEAP32[$12>>2]|0; + $61 = ($60|0)!=(0|0); + $62 = HEAP32[$6>>2]|0; + if (!($61)) { + $63 = HEAP32[$17>>2]|0; + _sqlite3DbFree($62,$63); + HEAP32[$5>>2] = 7; + $266 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($266|0); + } + $64 = HEAP32[$12>>2]|0; + HEAP32[$64>>2] = $62; + $65 = HEAP32[$8>>2]|0; + $66 = HEAP32[$12>>2]|0; + $67 = ((($66)) + 4|0); + HEAP32[$67>>2] = $65; + $68 = HEAP32[$6>>2]|0; + $69 = HEAP32[$7>>2]|0; + $70 = ((($69)) + 64|0); + $71 = HEAP32[$70>>2]|0; + $72 = (_sqlite3SchemaToIndex($68,$71)|0); + HEAP32[$18>>2] = $72; + $73 = HEAP32[$6>>2]|0; + $74 = ((($73)) + 16|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$18>>2]|0; + $77 = (($75) + ($76<<4)|0); + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$7>>2]|0; + $80 = ((($79)) + 52|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($81)) + 4|0); + HEAP32[$82>>2] = $78; + $83 = HEAP32[$7>>2]|0; + $84 = ((($11)) + 4|0); + HEAP32[$84>>2] = $83; + $85 = HEAP32[$12>>2]|0; + HEAP32[$11>>2] = $85; + $86 = HEAP32[$6>>2]|0; + $87 = ((($86)) + 336|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($11)) + 8|0); + HEAP32[$89>>2] = $88; + $90 = ((($11)) + 12|0); + HEAP32[$90>>2] = 0; + $91 = HEAP32[$6>>2]|0; + $92 = ((($91)) + 336|0); + HEAP32[$92>>2] = $11; + $93 = HEAP32[$9>>2]|0; + $94 = HEAP32[$6>>2]|0; + $95 = HEAP32[$8>>2]|0; + $96 = ((($95)) + 8|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$15>>2]|0; + $99 = HEAP32[$14>>2]|0; + $100 = HEAP32[$12>>2]|0; + $101 = ((($100)) + 8|0); + $102 = (FUNCTION_TABLE_iiiiiii[$93 & 255]($94,$97,$98,$99,$101,$16)|0); + HEAP32[$13>>2] = $102; + $103 = ((($11)) + 8|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$6>>2]|0; + $106 = ((($105)) + 336|0); + HEAP32[$106>>2] = $104; + $107 = HEAP32[$13>>2]|0; + $108 = ($107|0)==(7); + if ($108) { + $109 = HEAP32[$6>>2]|0; + _sqlite3OomFault($109); + } + $110 = HEAP32[$13>>2]|0; + $111 = (0)!=($110|0); + L20: do { + if ($111) { + $112 = HEAP32[$16>>2]|0; + $113 = ($112|0)==(0|0); + $114 = HEAP32[$6>>2]|0; + if ($113) { + $115 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer5>>2] = $115; + $116 = (_sqlite3MPrintf($114,26786,$vararg_buffer5)|0); + $117 = HEAP32[$10>>2]|0; + HEAP32[$117>>2] = $116; } else { - $79 = HEAP32[$2>>2]|0; - $80 = ((($79)) + 4|0); - $81 = HEAP32[$80>>2]|0; - $82 = $81 & 1024; - $83 = ($82|0)!=(0); - if ($83) { - $84 = HEAP32[$pVal>>2]|0; - $85 = HEAP32[$2>>2]|0; - $86 = ((($85)) + 8|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)<(0); - $89 = $88 << 31 >> 31; - $90 = HEAP32[$negInt>>2]|0; - $91 = ($90|0)<(0); - $92 = $91 << 31 >> 31; - $93 = (___muldi3(($87|0),($89|0),($90|0),($92|0))|0); - $94 = tempRet0; - _sqlite3VdbeMemSetInt64($84,$93,$94); - } else { - $95 = HEAP32[$1>>2]|0; - $96 = HEAP32[$zNeg>>2]|0; - $97 = HEAP32[$2>>2]|0; - $98 = ((($97)) + 8|0); - $99 = HEAP32[$98>>2]|0; - HEAP32[$vararg_buffer>>2] = $96; - $vararg_ptr8 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $99; - $100 = (_sqlite3MPrintf($95,24705,$vararg_buffer)|0); - HEAP32[$zVal>>2] = $100; - $101 = HEAP32[$zVal>>2]|0; - $102 = ($101|0)==(0|0); - if ($102) { - label = 42; - break; - } - $103 = HEAP32[$pVal>>2]|0; - $104 = HEAP32[$zVal>>2]|0; - _sqlite3ValueSetStr($103,-1,$104,1,170); - } - $105 = HEAP32[$op>>2]|0; - $106 = ($105|0)==(134); - $107 = HEAP32[$op>>2]|0; - $108 = ($107|0)==(132); - $or$cond5 = $106 | $108; - if ($or$cond5) { - $109 = HEAP8[$4>>0]|0; - $110 = $109&255; - $111 = ($110|0)==(65); - if ($111) { - $112 = HEAP32[$pVal>>2]|0; - _sqlite3ValueApplyAffinity($112,67,1); - } else { - label = 23; - } - } else { - label = 23; - } - if ((label|0) == 23) { - $113 = HEAP32[$pVal>>2]|0; - $114 = HEAP8[$4>>0]|0; - _sqlite3ValueApplyAffinity($113,$114,1); - } - $115 = HEAP32[$pVal>>2]|0; - $116 = ((($115)) + 8|0); - $117 = HEAP16[$116>>1]|0; - $118 = $117&65535; - $119 = $118 & 12; - $120 = ($119|0)!=(0); - if ($120) { - $121 = HEAP32[$pVal>>2]|0; - $122 = ((($121)) + 8|0); - $123 = HEAP16[$122>>1]|0; - $124 = $123&65535; - $125 = $124 & -3; - $126 = $125&65535; - HEAP16[$122>>1] = $126; - } - $127 = HEAP8[$3>>0]|0; - $128 = $127&255; - $129 = ($128|0)!=(1); - if ($129) { - $130 = HEAP32[$pVal>>2]|0; - $131 = HEAP8[$3>>0]|0; - $132 = $131&255; - $133 = (_sqlite3VdbeChangeEncoding($130,$132)|0); - HEAP32[$rc>>2] = $133; - label = 41; - } else { - label = 41; - } - } + $118 = HEAP32[$16>>2]|0; + HEAP32[$vararg_buffer8>>2] = $118; + $119 = (_sqlite3MPrintf($114,21240,$vararg_buffer8)|0); + $120 = HEAP32[$10>>2]|0; + HEAP32[$120>>2] = $119; + $121 = HEAP32[$16>>2]|0; + _sqlite3_free($121); + } + $122 = HEAP32[$6>>2]|0; + $123 = HEAP32[$12>>2]|0; + _sqlite3DbFree($122,$123); } else { - $134 = HEAP32[$op>>2]|0; - $135 = ($134|0)==(155); - if (!($135)) { - $192 = HEAP32[$op>>2]|0; - $193 = ($192|0)==(101); - if ($193) { - $194 = HEAP32[$1>>2]|0; - $195 = HEAP32[$6>>2]|0; - $196 = (_valueNew($194,$195)|0); - HEAP32[$pVal>>2] = $196; - $197 = HEAP32[$pVal>>2]|0; - $198 = ($197|0)==(0|0); - if ($198) { - label = 42; - break; - } else { - label = 41; - break; - } - } - $199 = HEAP32[$op>>2]|0; - $200 = ($199|0)==(133); - if (!($200)) { - label = 41; - break; - } - $201 = HEAP32[$1>>2]|0; - $202 = HEAP32[$6>>2]|0; - $203 = (_valueNew($201,$202)|0); - HEAP32[$pVal>>2] = $203; - $204 = HEAP32[$pVal>>2]|0; - $205 = ($204|0)!=(0|0); - if (!($205)) { - label = 42; + $124 = HEAP32[$12>>2]|0; + $125 = ((($124)) + 8|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($126|0)!=(0|0); + if ($127) { + $128 = HEAP32[$12>>2]|0; + $129 = ((($128)) + 8|0); + $130 = HEAP32[$129>>2]|0; + ;HEAP32[$130>>2]=0|0;HEAP32[$130+4>>2]=0|0;HEAP32[$130+8>>2]=0|0; + $131 = HEAP32[$8>>2]|0; + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$12>>2]|0; + $134 = ((($133)) + 8|0); + $135 = HEAP32[$134>>2]|0; + HEAP32[$135>>2] = $132; + $136 = HEAP32[$12>>2]|0; + $137 = ((($136)) + 12|0); + HEAP32[$137>>2] = 1; + $138 = ((($11)) + 12|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + HEAP32[$20>>2] = 26816; + $141 = HEAP32[$6>>2]|0; + $142 = HEAP32[$20>>2]|0; + $143 = HEAP32[$7>>2]|0; + $144 = HEAP32[$143>>2]|0; + HEAP32[$vararg_buffer11>>2] = $144; + $145 = (_sqlite3MPrintf($141,$142,$vararg_buffer11)|0); + $146 = HEAP32[$10>>2]|0; + HEAP32[$146>>2] = $145; + $147 = HEAP32[$12>>2]|0; + _sqlite3VtabUnlock($147); + HEAP32[$13>>2] = 1; break; } - $206 = HEAP32[$2>>2]|0; - $207 = ((($206)) + 8|0); - $208 = HEAP32[$207>>2]|0; - $209 = ((($208)) + 2|0); - HEAP32[$zVal>>2] = $209; - $210 = HEAP32[$zVal>>2]|0; - $211 = (_sqlite3Strlen30($210)|0); - $212 = (($211) - 1)|0; - HEAP32[$nVal>>2] = $212; - $213 = HEAP32[$pVal>>2]|0; - $214 = HEAP32[$1>>2]|0; - $215 = HEAP32[$zVal>>2]|0; - $216 = HEAP32[$nVal>>2]|0; - $217 = (_sqlite3HexToBlob($214,$215,$216)|0); - $218 = HEAP32[$nVal>>2]|0; - $219 = (($218|0) / 2)&-1; - (_sqlite3VdbeMemSetStr($213,$217,$219,0,170)|0); - label = 41; - break; - } - $136 = HEAP32[$1>>2]|0; - $137 = HEAP32[$2>>2]|0; - $138 = ((($137)) + 12|0); - $139 = HEAP32[$138>>2]|0; - $140 = HEAP8[$3>>0]|0; - $141 = HEAP8[$4>>0]|0; - $142 = (_sqlite3ValueFromExpr($136,$139,$140,$141,$pVal)|0); - $143 = (0)==($142|0); - $144 = HEAP32[$pVal>>2]|0; - $145 = ($144|0)!=(0|0); - $or$cond7 = $143 & $145; - if ($or$cond7) { - $146 = HEAP32[$pVal>>2]|0; - (_sqlite3VdbeMemNumerify($146)|0); - $147 = HEAP32[$pVal>>2]|0; - $148 = ((($147)) + 8|0); - $149 = HEAP16[$148>>1]|0; - $150 = $149&65535; - $151 = $150 & 8; - $152 = ($151|0)!=(0); - $153 = HEAP32[$pVal>>2]|0; - do { - if ($152) { - $154 = +HEAPF64[$153>>3]; - $155 = -$154; - $156 = HEAP32[$pVal>>2]|0; - HEAPF64[$156>>3] = $155; - } else { - $157 = $153; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = ($159|0)==(0); - $164 = ($162|0)==(-2147483648); - $165 = $163 & $164; - $166 = HEAP32[$pVal>>2]|0; - if ($165) { - HEAPF64[$166>>3] = 9.2233720368547758E+18; - $167 = HEAP32[$pVal>>2]|0; - $168 = ((($167)) + 8|0); - $169 = HEAP16[$168>>1]|0; - $170 = $169&65535; - $171 = $170 & -49664; - $172 = $171 | 8; - $173 = $172&65535; - $174 = HEAP32[$pVal>>2]|0; - $175 = ((($174)) + 8|0); - HEAP16[$175>>1] = $173; - break; - } else { - $176 = $166; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (($176) + 4)|0; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $182 = (_i64Subtract(0,0,($178|0),($181|0))|0); - $183 = tempRet0; - $184 = HEAP32[$pVal>>2]|0; - $185 = $184; - $186 = $185; - HEAP32[$186>>2] = $182; - $187 = (($185) + 4)|0; - $188 = $187; - HEAP32[$188>>2] = $183; + HEAP8[$22>>0] = 0; + $148 = HEAP32[$7>>2]|0; + $149 = ((($148)) + 56|0); + $150 = HEAP32[$149>>2]|0; + $151 = HEAP32[$12>>2]|0; + $152 = ((($151)) + 24|0); + HEAP32[$152>>2] = $150; + $153 = HEAP32[$12>>2]|0; + $154 = HEAP32[$7>>2]|0; + $155 = ((($154)) + 56|0); + HEAP32[$155>>2] = $153; + HEAP32[$21>>2] = 0; + while(1) { + $156 = HEAP32[$21>>2]|0; + $157 = HEAP32[$7>>2]|0; + $158 = ((($157)) + 34|0); + $159 = HEAP16[$158>>1]|0; + $160 = $159 << 16 >> 16; + $161 = ($156|0)<($160|0); + if (!($161)) { + break L20; + } + $162 = HEAP32[$7>>2]|0; + $163 = ((($162)) + 4|0); + $164 = HEAP32[$163>>2]|0; + $165 = HEAP32[$21>>2]|0; + $166 = (($164) + ($165<<4)|0); + $167 = (_sqlite3ColumnType($166,55752)|0); + HEAP32[$23>>2] = $167; + HEAP32[$25>>2] = 0; + $168 = HEAP32[$23>>2]|0; + $169 = (_sqlite3Strlen30($168)|0); + HEAP32[$24>>2] = $169; + HEAP32[$25>>2] = 0; + L34: while(1) { + $170 = HEAP32[$25>>2]|0; + $171 = HEAP32[$24>>2]|0; + $172 = ($170|0)<($171|0); + if (!($172)) { break; } + $173 = HEAP32[$23>>2]|0; + $174 = HEAP32[$25>>2]|0; + $175 = (($173) + ($174)|0); + $176 = (_sqlite3_strnicmp(26862,$175,6)|0); + $177 = (0)==($176|0); + do { + if ($177) { + $178 = HEAP32[$25>>2]|0; + $179 = ($178|0)==(0); + if (!($179)) { + $180 = HEAP32[$23>>2]|0; + $181 = HEAP32[$25>>2]|0; + $182 = (($181) - 1)|0; + $183 = (($180) + ($182)|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184 << 24 >> 24; + $186 = ($185|0)==(32); + if (!($186)) { + break; + } + } + $187 = HEAP32[$23>>2]|0; + $188 = HEAP32[$25>>2]|0; + $189 = (($188) + 6)|0; + $190 = (($187) + ($189)|0); + $191 = HEAP8[$190>>0]|0; + $192 = $191 << 24 >> 24; + $193 = ($192|0)==(0); + if ($193) { + break L34; + } + $194 = HEAP32[$23>>2]|0; + $195 = HEAP32[$25>>2]|0; + $196 = (($195) + 6)|0; + $197 = (($194) + ($196)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198 << 24 >> 24; + $200 = ($199|0)==(32); + if ($200) { + break L34; + } + } + } while(0); + $201 = HEAP32[$25>>2]|0; + $202 = (($201) + 1)|0; + HEAP32[$25>>2] = $202; } - } while(0); - $189 = HEAP32[$pVal>>2]|0; - $190 = HEAP8[$4>>0]|0; - $191 = HEAP8[$3>>0]|0; - _sqlite3ValueApplyAffinity($189,$190,$191); - label = 41; - } else { - label = 41; + $203 = HEAP32[$25>>2]|0; + $204 = HEAP32[$24>>2]|0; + $205 = ($203|0)<($204|0); + if ($205) { + $206 = HEAP32[$23>>2]|0; + $207 = HEAP32[$25>>2]|0; + $208 = (($207) + 6)|0; + $209 = (($206) + ($208)|0); + $210 = HEAP8[$209>>0]|0; + $211 = $210 << 24 >> 24; + $212 = ($211|0)!=(0); + $213 = $212 ? 1 : 0; + $214 = (6 + ($213))|0; + HEAP32[$27>>2] = $214; + $215 = HEAP32[$25>>2]|0; + HEAP32[$26>>2] = $215; + while(1) { + $216 = HEAP32[$26>>2]|0; + $217 = HEAP32[$27>>2]|0; + $218 = (($216) + ($217))|0; + $219 = HEAP32[$24>>2]|0; + $220 = ($218|0)<=($219|0); + $221 = HEAP32[$23>>2]|0; + if (!($220)) { + break; + } + $222 = HEAP32[$26>>2]|0; + $223 = HEAP32[$27>>2]|0; + $224 = (($222) + ($223))|0; + $225 = (($221) + ($224)|0); + $226 = HEAP8[$225>>0]|0; + $227 = HEAP32[$23>>2]|0; + $228 = HEAP32[$26>>2]|0; + $229 = (($227) + ($228)|0); + HEAP8[$229>>0] = $226; + $230 = HEAP32[$26>>2]|0; + $231 = (($230) + 1)|0; + HEAP32[$26>>2] = $231; + } + $232 = HEAP32[$25>>2]|0; + $233 = (($221) + ($232)|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234 << 24 >> 24; + $236 = ($235|0)==(0); + $237 = HEAP32[$25>>2]|0; + $238 = ($237|0)>(0); + $or$cond = $236 & $238; + if ($or$cond) { + $239 = HEAP32[$23>>2]|0; + $240 = HEAP32[$25>>2]|0; + $241 = (($240) - 1)|0; + $242 = (($239) + ($241)|0); + HEAP8[$242>>0] = 0; + } + $243 = HEAP32[$7>>2]|0; + $244 = ((($243)) + 4|0); + $245 = HEAP32[$244>>2]|0; + $246 = HEAP32[$21>>2]|0; + $247 = (($245) + ($246<<4)|0); + $248 = ((($247)) + 15|0); + $249 = HEAP8[$248>>0]|0; + $250 = $249&255; + $251 = $250 | 2; + $252 = $251&255; + HEAP8[$248>>0] = $252; + HEAP8[$22>>0] = -128; + } else { + $253 = HEAP8[$22>>0]|0; + $254 = $253&255; + $255 = HEAP32[$7>>2]|0; + $256 = ((($255)) + 42|0); + $257 = HEAP8[$256>>0]|0; + $258 = $257&255; + $259 = $258 | $254; + $260 = $259&255; + HEAP8[$256>>0] = $260; + } + $261 = HEAP32[$21>>2]|0; + $262 = (($261) + 1)|0; + HEAP32[$21>>2] = $262; + } } } } while(0); - if ((label|0) == 41) { - $220 = HEAP32[$pVal>>2]|0; - $221 = HEAP32[$5>>2]|0; - HEAP32[$221>>2] = $220; - $222 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $222; - $227 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($227|0); - } - else if ((label|0) == 42) { - $223 = HEAP32[$1>>2]|0; - _sqlite3OomFault($223); - $224 = HEAP32[$1>>2]|0; - $225 = HEAP32[$zVal>>2]|0; - _sqlite3DbFree($224,$225); - $226 = HEAP32[$pVal>>2]|0; - _sqlite3ValueFree($226); - HEAP32[$0>>2] = 7; - $227 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($227|0); + $263 = HEAP32[$6>>2]|0; + $264 = HEAP32[$17>>2]|0; + _sqlite3DbFree($263,$264); + $265 = HEAP32[$13>>2]|0; + HEAP32[$5>>2] = $265; + $266 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($266|0); +} +function _sqlite3ColumnType($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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 15|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = $8 & 4; + $10 = ($9|0)==(0); + if ($10) { + $11 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $11; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); + } else { + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (_strlen($15)|0); + $17 = (($13) + ($16)|0); + $18 = ((($17)) + 1|0); + HEAP32[$2>>2] = $18; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); } return (0)|0; } -function _sqlite3AffinityType($zIn,$pszEst) { - $zIn = $zIn|0; - $pszEst = $pszEst|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $aff = 0, $h = 0, $v = 0, $zChar = 0, label = 0, sp = 0; +function _sqlite3Init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $h = sp + 8|0; - $aff = sp + 20|0; - $zChar = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $zIn; - HEAP32[$1>>2] = $pszEst; - HEAP32[$h>>2] = 0; - HEAP8[$aff>>0] = 67; - HEAP32[$zChar>>2] = 0; - L1: while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if (!($4)) { + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 24|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 2; + $11 = ($10|0)!=(0); + $12 = $11 ^ 1; + $13 = $12&1; + HEAP32[$6>>2] = $13; + HEAP32[$5>>2] = 0; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 148|0); + $16 = ((($15)) + 5|0); + HEAP8[$16>>0] = 1; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 77|0); + $23 = HEAP8[$22>>0]|0; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 66|0); + HEAP8[$25>>0] = $23; + HEAP32[$4>>2] = 0; + while(1) { + $26 = HEAP32[$5>>2]|0; + $27 = ($26|0)==(0); + if (!($27)) { break; } - $5 = HEAP32[$h>>2]|0; - $6 = $5 << 8; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = $9 & 255; - $11 = (17613 + ($10)|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = (($6) + ($13))|0; - HEAP32[$h>>2] = $14; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 1|0); - HEAP32[$0>>2] = $16; - $17 = HEAP32[$h>>2]|0; - $18 = ($17|0)==(1667785074); - if ($18) { - HEAP8[$aff>>0] = 66; - $19 = HEAP32[$0>>2]|0; - HEAP32[$zChar>>2] = $19; - continue; + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($28|0)<($31|0); + if (!($32)) { + break; } - $20 = HEAP32[$h>>2]|0; - $21 = ($20|0)==(1668050786); - if ($21) { - HEAP8[$aff>>0] = 66; - continue; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 16|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = (($35) + ($36<<4)|0); + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = ((($39)) + 78|0); + $41 = HEAP16[$40>>1]|0; + $42 = $41&65535; + $43 = $42 & 1; + $44 = ($43|0)==(1); + $45 = HEAP32[$4>>2]|0; + $46 = ($45|0)==(1); + $or$cond = $44 | $46; + if (!($or$cond)) { + $47 = HEAP32[$2>>2]|0; + $48 = HEAP32[$4>>2]|0; + $49 = HEAP32[$3>>2]|0; + $50 = (_sqlite3InitOne($47,$48,$49)|0); + HEAP32[$5>>2] = $50; + $51 = HEAP32[$5>>2]|0; + $52 = ($51|0)!=(0); + if ($52) { + $53 = HEAP32[$2>>2]|0; + $54 = HEAP32[$4>>2]|0; + _sqlite3ResetOneSchema($53,$54); + } } - $22 = HEAP32[$h>>2]|0; - $23 = ($22|0)==(1952807028); - if ($23) { - HEAP8[$aff>>0] = 66; - continue; + $55 = HEAP32[$4>>2]|0; + $56 = (($55) + 1)|0; + HEAP32[$4>>2] = $56; + } + $57 = HEAP32[$5>>2]|0; + $58 = ($57|0)==(0); + if ($58) { + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 16|0); + $61 = HEAP32[$60>>2]|0; + $62 = ((($61)) + 16|0); + $63 = ((($62)) + 12|0); + $64 = HEAP32[$63>>2]|0; + $65 = ((($64)) + 78|0); + $66 = HEAP16[$65>>1]|0; + $67 = $66&65535; + $68 = $67 & 1; + $69 = ($68|0)==(1); + if (!($69)) { + $70 = HEAP32[$2>>2]|0; + $71 = HEAP32[$3>>2]|0; + $72 = (_sqlite3InitOne($70,1,$71)|0); + HEAP32[$5>>2] = $72; + $73 = HEAP32[$5>>2]|0; + $74 = ($73|0)!=(0); + if ($74) { + $75 = HEAP32[$2>>2]|0; + _sqlite3ResetOneSchema($75,1); + } + } + } + $76 = HEAP32[$2>>2]|0; + $77 = ((($76)) + 148|0); + $78 = ((($77)) + 5|0); + HEAP8[$78>>0] = 0; + $79 = HEAP32[$5>>2]|0; + $80 = ($79|0)==(0); + $81 = HEAP32[$6>>2]|0; + $82 = ($81|0)!=(0); + $or$cond3 = $80 & $82; + if (!($or$cond3)) { + $84 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($84|0); + } + $83 = HEAP32[$2>>2]|0; + _sqlite3CommitInternalChanges($83); + $84 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($84|0); +} +function _sqlite3InitOne($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $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$cond = 0, $vararg_buffer = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $vararg_buffer = sp; + $3 = sp + 108|0; + $4 = sp + 104|0; + $5 = sp + 100|0; + $6 = sp + 96|0; + $7 = sp + 92|0; + $8 = sp + 88|0; + $9 = sp + 84|0; + $10 = sp + 80|0; + $11 = sp + 64|0; + $12 = sp + 40|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 112|0; + $17 = sp + 12|0; + $18 = sp + 8|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$15>>2] = 0; + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(1); + $21 = $20 ? 26433 : 26452; + HEAP32[$14>>2] = $21; + HEAP32[$11>>2] = $21; + $22 = ((($11)) + 4|0); + HEAP32[$22>>2] = 26869; + $23 = ((($11)) + 8|0); + HEAP32[$23>>2] = 26871; + $24 = ((($11)) + 12|0); + HEAP32[$24>>2] = 0; + $25 = HEAP32[$4>>2]|0; + HEAP32[$13>>2] = $25; + $26 = HEAP32[$5>>2]|0; + $27 = ((($13)) + 8|0); + HEAP32[$27>>2] = $26; + $28 = ((($13)) + 12|0); + HEAP32[$28>>2] = 0; + $29 = HEAP32[$6>>2]|0; + $30 = ((($13)) + 4|0); + HEAP32[$30>>2] = $29; + (_sqlite3InitCallback($13,3,$11,0)|0); + $31 = ((($13)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + $34 = ((($13)) + 12|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$7>>2] = $35; + } else { + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = (($38) + ($39<<4)|0); + HEAP32[$10>>2] = $40; + $41 = HEAP32[$10>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)==(0|0); + if ($44) { + $45 = HEAP32[$5>>2]|0; + $46 = ($45|0)==(1); + if ($46) { + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 16|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($49)) + 16|0); + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 78|0); + $54 = HEAP16[$53>>1]|0; + $55 = $54&65535; + $56 = $55 | 1; + $57 = $56&65535; + HEAP16[$53>>1] = $57; + } + HEAP32[$3>>2] = 0; + $262 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($262|0); } - $24 = HEAP32[$h>>2]|0; - $25 = ($24|0)==(1651273570); + $58 = HEAP32[$10>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP32[$59>>2]|0; + _sqlite3BtreeEnter($60); + $61 = HEAP32[$10>>2]|0; + $62 = ((($61)) + 4|0); + $63 = HEAP32[$62>>2]|0; + $64 = (_sqlite3BtreeIsInReadTrans($63)|0); + $65 = ($64|0)!=(0); do { - if ($25) { - $26 = HEAP8[$aff>>0]|0; - $27 = $26 << 24 >> 24; - $28 = ($27|0)==(67); - if (!($28)) { - $29 = HEAP8[$aff>>0]|0; - $30 = $29 << 24 >> 24; - $31 = ($30|0)==(69); - if (!($31)) { + if ($65) { + label = 11; + } else { + $66 = HEAP32[$10>>2]|0; + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + $69 = (_sqlite3BtreeBeginTrans($68,0)|0); + HEAP32[$7>>2] = $69; + $70 = HEAP32[$7>>2]|0; + $71 = ($70|0)!=(0); + if ($71) { + $72 = HEAP32[$6>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = HEAP32[$7>>2]|0; + $75 = (_sqlite3ErrStr($74)|0); + _sqlite3SetString($72,$73,$75); + break; + } else { + HEAP32[$15>>2] = 1; + label = 11; + break; + } + } + } while(0); + L16: do { + if ((label|0) == 11) { + HEAP32[$8>>2] = 0; + while(1) { + $76 = HEAP32[$8>>2]|0; + $77 = ($76|0)<(5); + if (!($77)) { break; } + $78 = HEAP32[$10>>2]|0; + $79 = ((($78)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$8>>2]|0; + $82 = (($81) + 1)|0; + $83 = HEAP32[$8>>2]|0; + $84 = (($12) + ($83<<2)|0); + _sqlite3BtreeGetMeta($80,$82,$84); + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + 1)|0; + HEAP32[$8>>2] = $86; + } + $87 = HEAP32[$12>>2]|0; + $88 = HEAP32[$10>>2]|0; + $89 = ((($88)) + 12|0); + $90 = HEAP32[$89>>2]|0; + HEAP32[$90>>2] = $87; + $91 = ((($12)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)!=(0); + do { + if ($93) { + $94 = HEAP32[$5>>2]|0; + $95 = ($94|0)==(0); + $96 = ((($12)) + 16|0); + $97 = HEAP32[$96>>2]|0; + if ($95) { + $98 = $97&255; + $99 = $98&255; + $100 = $99 & 3; + $101 = $100&255; + HEAP8[$16>>0] = $101; + $102 = HEAP8[$16>>0]|0; + $103 = $102&255; + $104 = ($103|0)==(0); + $$ = $104 ? 1 : $101; + HEAP8[$16>>0] = $$; + $105 = HEAP8[$16>>0]|0; + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 66|0); + HEAP8[$107>>0] = $105; + break; + } + $108 = HEAP32[$4>>2]|0; + $109 = ((($108)) + 66|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110&255; + $112 = ($97|0)!=($111|0); + if ($112) { + $113 = HEAP32[$6>>2]|0; + $114 = HEAP32[$4>>2]|0; + _sqlite3SetString($113,$114,26947); + HEAP32[$7>>2] = 1; + break L16; + } + } else { + $115 = HEAP32[$4>>2]|0; + $116 = ((($115)) + 16|0); + $117 = HEAP32[$116>>2]|0; + $118 = HEAP32[$5>>2]|0; + $119 = (($117) + ($118<<4)|0); + $120 = ((($119)) + 12|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($121)) + 78|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123&65535; + $125 = $124 | 4; + $126 = $125&65535; + HEAP16[$122>>1] = $126; + } + } while(0); + $127 = HEAP32[$4>>2]|0; + $128 = ((($127)) + 66|0); + $129 = HEAP8[$128>>0]|0; + $130 = HEAP32[$10>>2]|0; + $131 = ((($130)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($132)) + 77|0); + HEAP8[$133>>0] = $129; + $134 = HEAP32[$10>>2]|0; + $135 = ((($134)) + 12|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($136)) + 80|0); + $138 = HEAP32[$137>>2]|0; + $139 = ($138|0)==(0); + if ($139) { + $140 = ((($12)) + 8|0); + $141 = HEAP32[$140>>2]|0; + $142 = (_sqlite3AbsInt32($141)|0); + HEAP32[$9>>2] = $142; + $143 = HEAP32[$9>>2]|0; + $144 = ($143|0)==(0); + $$1 = $144 ? -2000 : $142; + HEAP32[$9>>2] = $$1; + $145 = HEAP32[$9>>2]|0; + $146 = HEAP32[$10>>2]|0; + $147 = ((($146)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ((($148)) + 80|0); + HEAP32[$149>>2] = $145; + $150 = HEAP32[$10>>2]|0; + $151 = ((($150)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$10>>2]|0; + $154 = ((($153)) + 12|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($155)) + 80|0); + $157 = HEAP32[$156>>2]|0; + (_sqlite3BtreeSetCacheSize($152,$157)|0); + } + $158 = ((($12)) + 4|0); + $159 = HEAP32[$158>>2]|0; + $160 = $159&255; + $161 = HEAP32[$10>>2]|0; + $162 = ((($161)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($163)) + 76|0); + HEAP8[$164>>0] = $160; + $165 = HEAP32[$10>>2]|0; + $166 = ((($165)) + 12|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($167)) + 76|0); + $169 = HEAP8[$168>>0]|0; + $170 = $169&255; + $171 = ($170|0)==(0); + if ($171) { + $172 = HEAP32[$10>>2]|0; + $173 = ((($172)) + 12|0); + $174 = HEAP32[$173>>2]|0; + $175 = ((($174)) + 76|0); + HEAP8[$175>>0] = 1; + } + $176 = HEAP32[$10>>2]|0; + $177 = ((($176)) + 12|0); + $178 = HEAP32[$177>>2]|0; + $179 = ((($178)) + 76|0); + $180 = HEAP8[$179>>0]|0; + $181 = $180&255; + $182 = ($181|0)>(4); + if ($182) { + $183 = HEAP32[$6>>2]|0; + $184 = HEAP32[$4>>2]|0; + _sqlite3SetString($183,$184,27015); + HEAP32[$7>>2] = 1; + break; + } + $185 = HEAP32[$5>>2]|0; + $186 = ($185|0)==(0); + if ($186) { + $187 = ((($12)) + 4|0); + $188 = HEAP32[$187>>2]|0; + $189 = ($188|0)>=(4); + if ($189) { + $190 = HEAP32[$4>>2]|0; + $191 = ((($190)) + 24|0); + $192 = HEAP32[$191>>2]|0; + $193 = $192 & -32769; + HEAP32[$191>>2] = $193; + } } - HEAP8[$aff>>0] = 65; - $32 = HEAP32[$0>>2]|0; - $33 = HEAP8[$32>>0]|0; - $34 = $33 << 24 >> 24; - $35 = ($34|0)==(40); - if (!($35)) { - continue L1; + $194 = HEAP32[$4>>2]|0; + $195 = HEAP32[$4>>2]|0; + $196 = ((($195)) + 16|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$5>>2]|0; + $199 = (($197) + ($198<<4)|0); + $200 = HEAP32[$199>>2]|0; + $201 = HEAP32[$14>>2]|0; + HEAP32[$vararg_buffer>>2] = $200; + $vararg_ptr3 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr3>>2] = $201; + $202 = (_sqlite3MPrintf($194,27039,$vararg_buffer)|0); + HEAP32[$17>>2] = $202; + $203 = HEAP32[$4>>2]|0; + $204 = ((($203)) + 296|0); + $205 = HEAP32[$204>>2]|0; + HEAP32[$18>>2] = $205; + $206 = HEAP32[$4>>2]|0; + $207 = ((($206)) + 296|0); + HEAP32[$207>>2] = 0; + $208 = HEAP32[$4>>2]|0; + $209 = HEAP32[$17>>2]|0; + $210 = (_sqlite3_exec($208,$209,146,$13,0)|0); + HEAP32[$7>>2] = $210; + $211 = HEAP32[$18>>2]|0; + $212 = HEAP32[$4>>2]|0; + $213 = ((($212)) + 296|0); + HEAP32[$213>>2] = $211; + $214 = HEAP32[$7>>2]|0; + $215 = ($214|0)==(0); + if ($215) { + $216 = ((($13)) + 12|0); + $217 = HEAP32[$216>>2]|0; + HEAP32[$7>>2] = $217; } - $36 = HEAP32[$0>>2]|0; - HEAP32[$zChar>>2] = $36; - continue L1; + $218 = HEAP32[$4>>2]|0; + $219 = HEAP32[$17>>2]|0; + _sqlite3DbFree($218,$219); + $220 = HEAP32[$7>>2]|0; + $221 = ($220|0)==(0); + if ($221) { + $222 = HEAP32[$4>>2]|0; + $223 = HEAP32[$5>>2]|0; + (_sqlite3AnalysisLoad($222,$223)|0); + } + $224 = HEAP32[$4>>2]|0; + $225 = ((($224)) + 69|0); + $226 = HEAP8[$225>>0]|0; + $227 = ($226<<24>>24)!=(0); + if ($227) { + HEAP32[$7>>2] = 7; + $228 = HEAP32[$4>>2]|0; + _sqlite3ResetAllSchemasOfConnection($228); + } + $229 = HEAP32[$7>>2]|0; + $230 = ($229|0)==(0); + if (!($230)) { + $231 = HEAP32[$4>>2]|0; + $232 = ((($231)) + 24|0); + $233 = HEAP32[$232>>2]|0; + $234 = $233 & 65536; + $235 = ($234|0)!=(0); + if (!($235)) { + break; + } + } + $236 = HEAP32[$4>>2]|0; + $237 = ((($236)) + 16|0); + $238 = HEAP32[$237>>2]|0; + $239 = HEAP32[$5>>2]|0; + $240 = (($238) + ($239<<4)|0); + $241 = ((($240)) + 12|0); + $242 = HEAP32[$241>>2]|0; + $243 = ((($242)) + 78|0); + $244 = HEAP16[$243>>1]|0; + $245 = $244&65535; + $246 = $245 | 1; + $247 = $246&65535; + HEAP16[$243>>1] = $247; + HEAP32[$7>>2] = 0; } } while(0); - $37 = HEAP32[$h>>2]|0; - $38 = ($37|0)==(1919246700); - if ($38) { - $39 = HEAP8[$aff>>0]|0; - $40 = $39 << 24 >> 24; - $41 = ($40|0)==(67); - if ($41) { - HEAP8[$aff>>0] = 69; - continue; - } - } - $42 = HEAP32[$h>>2]|0; - $43 = ($42|0)==(1718382433); - if ($43) { - $44 = HEAP8[$aff>>0]|0; - $45 = $44 << 24 >> 24; - $46 = ($45|0)==(67); - if ($46) { - HEAP8[$aff>>0] = 69; - continue; - } - } - $47 = HEAP32[$h>>2]|0; - $48 = ($47|0)==(1685026146); - if ($48) { - $49 = HEAP8[$aff>>0]|0; - $50 = $49 << 24 >> 24; - $51 = ($50|0)==(67); - if ($51) { - HEAP8[$aff>>0] = 69; - continue; - } - } - $52 = HEAP32[$h>>2]|0; - $53 = $52 & 16777215; - $54 = ($53|0)==(6909556); - if ($54) { - label = 24; - break; - } - } - if ((label|0) == 24) { - HEAP8[$aff>>0] = 68; - } - $55 = HEAP32[$1>>2]|0; - $56 = ($55|0)!=(0|0); - if (!($56)) { - $86 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($86|0); - } - $57 = HEAP32[$1>>2]|0; - HEAP8[$57>>0] = 1; - $58 = HEAP8[$aff>>0]|0; - $59 = $58 << 24 >> 24; - $60 = ($59|0)<(67); - if (!($60)) { - $86 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($86|0); - } - $61 = HEAP32[$zChar>>2]|0; - $62 = ($61|0)!=(0|0); - if (!($62)) { - $85 = HEAP32[$1>>2]|0; - HEAP8[$85>>0] = 5; - $86 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($86|0); - } - while(1) { - $63 = HEAP32[$zChar>>2]|0; - $64 = HEAP8[$63>>0]|0; - $65 = ($64<<24>>24)!=(0); - if (!($65)) { - label = 33; - break; - } - $66 = HEAP32[$zChar>>2]|0; - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - $69 = (18403 + ($68)|0); - $70 = HEAP8[$69>>0]|0; - $71 = $70&255; - $72 = $71 & 4; - $73 = ($72|0)!=(0); - if ($73) { - break; + $248 = HEAP32[$15>>2]|0; + $249 = ($248|0)!=(0); + if ($249) { + $250 = HEAP32[$10>>2]|0; + $251 = ((($250)) + 4|0); + $252 = HEAP32[$251>>2]|0; + (_sqlite3BtreeCommit($252)|0); } - $83 = HEAP32[$zChar>>2]|0; - $84 = ((($83)) + 1|0); - HEAP32[$zChar>>2] = $84; + $253 = HEAP32[$10>>2]|0; + $254 = ((($253)) + 4|0); + $255 = HEAP32[$254>>2]|0; + _sqlite3BtreeLeave($255); } - if ((label|0) == 33) { - $86 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($86|0); + $256 = HEAP32[$7>>2]|0; + $257 = ($256|0)==(7); + $258 = HEAP32[$7>>2]|0; + $259 = ($258|0)==(3082); + $or$cond = $257 | $259; + if ($or$cond) { + $260 = HEAP32[$4>>2]|0; + _sqlite3OomFault($260); } - HEAP32[$v>>2] = 0; - $74 = HEAP32[$zChar>>2]|0; - (_sqlite3GetInt32($74,$v)|0); - $75 = HEAP32[$v>>2]|0; - $76 = (($75|0) / 4)&-1; - $77 = (($76) + 1)|0; - HEAP32[$v>>2] = $77; - $78 = HEAP32[$v>>2]|0; - $79 = ($78|0)>(255); - $$ = $79 ? 255 : $77; - HEAP32[$v>>2] = $$; - $80 = HEAP32[$v>>2]|0; - $81 = $80&255; - $82 = HEAP32[$1>>2]|0; - HEAP8[$82>>0] = $81; - $86 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($86|0); + $261 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $261; + $262 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($262|0); } -function _sqlite3VdbeMemCast($pMem,$aff,$encoding) { - $pMem = $pMem|0; - $aff = $aff|0; - $encoding = $encoding|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3InitCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 5|0; - $2 = sp + 4|0; - HEAP32[$0>>2] = $pMem; - HEAP8[$1>>0] = $aff; - HEAP8[$2>>0] = $encoding; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 1; - $8 = ($7|0)!=(0); - if ($8) { - STACKTOP = sp;return; - } - $9 = HEAP8[$1>>0]|0; - $10 = $9&255; - switch ($10|0) { - case 65: { - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & 16; - $16 = ($15|0)==(0); - $17 = HEAP32[$0>>2]|0; - if (!($16)) { - $34 = ((($17)) + 8|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35&65535; - $37 = $36 & -33264; - $38 = $37&65535; - HEAP16[$34>>1] = $38; - STACKTOP = sp;return; - } - $18 = HEAP8[$2>>0]|0; - _sqlite3ValueApplyAffinity($17,66,$18); - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21&65535; - $23 = $22 & 2; - $24 = ($23|0)!=(0); - if (!($24)) { - STACKTOP = sp;return; - } - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 8|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27&65535; - $29 = $28 & -49664; - $30 = $29 | 16; - $31 = $30&65535; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 8|0); - HEAP16[$33>>1] = $31; - STACKTOP = sp;return; - break; - } - case 67: { - $39 = HEAP32[$0>>2]|0; - (_sqlite3VdbeMemNumerify($39)|0); - STACKTOP = sp;return; - break; - } - case 68: { - $40 = HEAP32[$0>>2]|0; - (_sqlite3VdbeMemIntegerify($40)|0); - STACKTOP = sp;return; - break; - } - case 69: { - $41 = HEAP32[$0>>2]|0; - (_sqlite3VdbeMemRealify($41)|0); - STACKTOP = sp;return; - break; - } - default: { - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 8|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = $45 & 16; - $47 = $46 >> 3; - $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 8|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = $51 | $47; - $53 = $52&65535; - HEAP16[$49>>1] = $53; - $54 = HEAP32[$0>>2]|0; - $55 = HEAP8[$2>>0]|0; - _sqlite3ValueApplyAffinity($54,66,$55); - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 8|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58&65535; - $60 = $59 & -16413; - $61 = $60&65535; - HEAP16[$57>>1] = $61; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 44|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $16 = HEAP32[$5>>2]|0; + HEAP32[$9>>2] = $16; + $17 = HEAP32[$9>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$10>>2] = $18; + $19 = HEAP32[$9>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$11>>2] = $21; + $22 = HEAP32[$10>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$11>>2]|0; + $26 = (($24) + ($25<<4)|0); + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 78|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $32 = $31 & -5; + $33 = $32&65535; + HEAP16[$29>>1] = $33; + $34 = HEAP32[$10>>2]|0; + $35 = ((($34)) + 69|0); + $36 = HEAP8[$35>>0]|0; + $37 = ($36<<24>>24)!=(0); + if ($37) { + $38 = HEAP32[$9>>2]|0; + $39 = HEAP32[$7>>2]|0; + $40 = HEAP32[$39>>2]|0; + _corruptSchema($38,$40,0); + HEAP32[$4>>2] = 1; + $146 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($146|0); } + $41 = HEAP32[$7>>2]|0; + $42 = ($41|0)==(0|0); + if ($42) { + HEAP32[$4>>2] = 0; + $146 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($146|0); } + $43 = HEAP32[$7>>2]|0; + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(0|0); + L9: do { + if ($46) { + $47 = HEAP32[$9>>2]|0; + $48 = HEAP32[$7>>2]|0; + $49 = HEAP32[$48>>2]|0; + _corruptSchema($47,$49,0); + } else { + $50 = HEAP32[$7>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = (_sqlite3_strnicmp($52,27234,7)|0); + $54 = ($53|0)==(0); + if (!($54)) { + $108 = HEAP32[$7>>2]|0; + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)==(0|0); + do { + if (!($110)) { + $111 = HEAP32[$7>>2]|0; + $112 = ((($111)) + 8|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)!=(0|0); + if ($114) { + $115 = HEAP32[$7>>2]|0; + $116 = ((($115)) + 8|0); + $117 = HEAP32[$116>>2]|0; + $118 = HEAP8[$117>>0]|0; + $119 = $118 << 24 >> 24; + $120 = ($119|0)!=(0); + if ($120) { + break; + } + } + $124 = HEAP32[$10>>2]|0; + $125 = HEAP32[$7>>2]|0; + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$10>>2]|0; + $128 = ((($127)) + 16|0); + $129 = HEAP32[$128>>2]|0; + $130 = HEAP32[$11>>2]|0; + $131 = (($129) + ($130<<4)|0); + $132 = HEAP32[$131>>2]|0; + $133 = (_sqlite3FindIndex($124,$126,$132)|0); + HEAP32[$15>>2] = $133; + $134 = HEAP32[$15>>2]|0; + $135 = ($134|0)==(0|0); + if ($135) { + break L9; + } + $136 = HEAP32[$7>>2]|0; + $137 = ((($136)) + 4|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$15>>2]|0; + $140 = ((($139)) + 44|0); + $141 = (_sqlite3GetInt32($138,$140)|0); + $142 = ($141|0)==(0); + if (!($142)) { + break L9; + } + $143 = HEAP32[$9>>2]|0; + $144 = HEAP32[$7>>2]|0; + $145 = HEAP32[$144>>2]|0; + _corruptSchema($143,$145,27242); + break L9; + } + } while(0); + $121 = HEAP32[$9>>2]|0; + $122 = HEAP32[$7>>2]|0; + $123 = HEAP32[$122>>2]|0; + _corruptSchema($121,$123,0); + break; + } + $55 = HEAP32[$10>>2]|0; + $56 = ((($55)) + 148|0); + $57 = ((($56)) + 4|0); + $58 = HEAP8[$57>>0]|0; + HEAP8[$13>>0] = $58; + $59 = HEAP32[$11>>2]|0; + $60 = $59&255; + $61 = HEAP32[$10>>2]|0; + $62 = ((($61)) + 148|0); + $63 = ((($62)) + 4|0); + HEAP8[$63>>0] = $60; + $64 = HEAP32[$7>>2]|0; + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = (_sqlite3Atoi($66)|0); + $68 = HEAP32[$10>>2]|0; + $69 = ((($68)) + 148|0); + HEAP32[$69>>2] = $67; + $70 = HEAP32[$10>>2]|0; + $71 = ((($70)) + 148|0); + $72 = ((($71)) + 6|0); + HEAP8[$72>>0] = 0; + $73 = HEAP32[$10>>2]|0; + $74 = HEAP32[$7>>2]|0; + $75 = ((($74)) + 8|0); + $76 = HEAP32[$75>>2]|0; + (_sqlite3_prepare($73,$76,-1,$14,0)|0); + $77 = HEAP32[$10>>2]|0; + $78 = ((($77)) + 52|0); + $79 = HEAP32[$78>>2]|0; + HEAP32[$12>>2] = $79; + $80 = HEAP8[$13>>0]|0; + $81 = HEAP32[$10>>2]|0; + $82 = ((($81)) + 148|0); + $83 = ((($82)) + 4|0); + HEAP8[$83>>0] = $80; + $84 = HEAP32[$12>>2]|0; + $85 = (0)!=($84|0); + do { + if ($85) { + $86 = HEAP32[$10>>2]|0; + $87 = ((($86)) + 148|0); + $88 = ((($87)) + 6|0); + $89 = HEAP8[$88>>0]|0; + $90 = ($89<<24>>24)!=(0); + if (!($90)) { + $91 = HEAP32[$12>>2]|0; + $92 = HEAP32[$9>>2]|0; + $93 = ((($92)) + 12|0); + HEAP32[$93>>2] = $91; + $94 = HEAP32[$12>>2]|0; + $95 = ($94|0)==(7); + if ($95) { + $96 = HEAP32[$10>>2]|0; + _sqlite3OomFault($96); + break; + } + $97 = HEAP32[$12>>2]|0; + $98 = ($97|0)!=(9); + if ($98) { + $99 = HEAP32[$12>>2]|0; + $100 = $99 & 255; + $101 = ($100|0)!=(6); + if ($101) { + $102 = HEAP32[$9>>2]|0; + $103 = HEAP32[$7>>2]|0; + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$10>>2]|0; + $106 = (_sqlite3_errmsg($105)|0); + _corruptSchema($102,$104,$106); + } + } + } + } + } while(0); + $107 = HEAP32[$14>>2]|0; + (_sqlite3_finalize($107)|0); + } + } while(0); + HEAP32[$4>>2] = 0; + $146 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($146|0); } -function _sqlite3ValueApplyAffinity($pVal,$affinity,$enc) { - $pVal = $pVal|0; - $affinity = $affinity|0; - $enc = $enc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _sqlite3SetString($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 5|0; - $2 = sp + 4|0; - HEAP32[$0>>2] = $pVal; - HEAP8[$1>>0] = $affinity; - HEAP8[$2>>0] = $enc; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP8[$1>>0]|0; - $5 = HEAP8[$2>>0]|0; - _applyAffinity($3,$4,$5); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$7>>2]|0; + _sqlite3DbFree($6,$8); + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (_sqlite3DbStrDup($9,$10)|0); + $12 = HEAP32[$3>>2]|0; + HEAP32[$12>>2] = $11; STACKTOP = sp;return; } -function _valueNew($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3BtreeSetCacheSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = (_sqlite3ValueNew($2)|0); - STACKTOP = sp;return ($3|0); + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$2>>2]|0; + _sqlite3BtreeEnter($8); + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$3>>2]|0; + _sqlite3PagerSetCachesize($10,$11); + $12 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($12); + STACKTOP = sp;return 0; } -function _sqlite3VdbeMemNumerify($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0.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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3_exec($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pMem; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 13; - $6 = ($5|0)==(0); + STACKTOP = STACKTOP + 64|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + $19 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + $20 = HEAP32[$6>>2]|0; + $21 = (_sqlite3SafetyCheckOk($20)|0); + $22 = ($21|0)!=(0); + if (!($22)) { + $23 = (_sqlite3MisuseError(109597)|0); + HEAP32[$5>>2] = $23; + $171 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($171|0); + } + $24 = HEAP32[$7>>2]|0; + $25 = ($24|0)==(0|0); + if ($25) { + HEAP32[$7>>2] = 55752; + } + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + _sqlite3_mutex_enter($28); + $29 = HEAP32[$6>>2]|0; + _sqlite3Error($29,0); + L8: while(1) { + $30 = HEAP32[$11>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + break; + } + $32 = HEAP32[$7>>2]|0; + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($34|0)!=(0); + if (!($35)) { + break; + } + HEAP32[$17>>2] = 0; + HEAP32[$13>>2] = 0; + $36 = HEAP32[$6>>2]|0; + $37 = HEAP32[$7>>2]|0; + $38 = (_sqlite3_prepare_v2($36,$37,-1,$13,$12)|0); + HEAP32[$11>>2] = $38; + $39 = HEAP32[$11>>2]|0; + $40 = ($39|0)!=(0); + if ($40) { + continue; + } + $41 = HEAP32[$13>>2]|0; + $42 = ($41|0)!=(0|0); + if (!($42)) { + $43 = HEAP32[$12>>2]|0; + HEAP32[$7>>2] = $43; + continue; + } + HEAP32[$15>>2] = 0; + $44 = HEAP32[$13>>2]|0; + $45 = (_sqlite3_column_count($44)|0); + HEAP32[$16>>2] = $45; + while(1) { + $46 = HEAP32[$13>>2]|0; + $47 = (_sqlite3_step($46)|0); + HEAP32[$11>>2] = $47; + $48 = HEAP32[$8>>2]|0; + $49 = ($48|0)!=(0|0); + do { + if ($49) { + $50 = HEAP32[$11>>2]|0; + $51 = (100)==($50|0); + if (!($51)) { + $52 = HEAP32[$11>>2]|0; + $53 = (101)!=($52|0); + $54 = HEAP32[$15>>2]|0; + $55 = ($54|0)!=(0); + $or$cond = $53 | $55; + if ($or$cond) { + break; + } + $56 = HEAP32[$6>>2]|0; + $57 = ((($56)) + 24|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 & 256; + $60 = ($59|0)!=(0); + if (!($60)) { + break; + } + } + $61 = HEAP32[$15>>2]|0; + $62 = ($61|0)!=(0); + if (!($62)) { + $63 = HEAP32[$6>>2]|0; + $64 = HEAP32[$16>>2]|0; + $65 = $64<<1; + $66 = $65<<2; + $67 = (($66) + 1)|0; + $68 = (_sqlite3DbMallocZero($63,$67,0)|0); + HEAP32[$14>>2] = $68; + $69 = HEAP32[$14>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break L8; + } + HEAP32[$18>>2] = 0; + while(1) { + $71 = HEAP32[$18>>2]|0; + $72 = HEAP32[$16>>2]|0; + $73 = ($71|0)<($72|0); + if (!($73)) { + break; + } + $74 = HEAP32[$13>>2]|0; + $75 = HEAP32[$18>>2]|0; + $76 = (_sqlite3_column_name($74,$75)|0); + $77 = HEAP32[$14>>2]|0; + $78 = HEAP32[$18>>2]|0; + $79 = (($77) + ($78<<2)|0); + HEAP32[$79>>2] = $76; + $80 = HEAP32[$18>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$18>>2] = $81; + } + HEAP32[$15>>2] = 1; + } + $82 = HEAP32[$11>>2]|0; + $83 = ($82|0)==(100); + L32: do { + if ($83) { + $84 = HEAP32[$14>>2]|0; + $85 = HEAP32[$16>>2]|0; + $86 = (($84) + ($85<<2)|0); + HEAP32[$17>>2] = $86; + HEAP32[$18>>2] = 0; + while(1) { + $87 = HEAP32[$18>>2]|0; + $88 = HEAP32[$16>>2]|0; + $89 = ($87|0)<($88|0); + if (!($89)) { + break L32; + } + $90 = HEAP32[$13>>2]|0; + $91 = HEAP32[$18>>2]|0; + $92 = (_sqlite3_column_text($90,$91)|0); + $93 = HEAP32[$17>>2]|0; + $94 = HEAP32[$18>>2]|0; + $95 = (($93) + ($94<<2)|0); + HEAP32[$95>>2] = $92; + $96 = HEAP32[$17>>2]|0; + $97 = HEAP32[$18>>2]|0; + $98 = (($96) + ($97<<2)|0); + $99 = HEAP32[$98>>2]|0; + $100 = ($99|0)!=(0|0); + if (!($100)) { + $101 = HEAP32[$13>>2]|0; + $102 = HEAP32[$18>>2]|0; + $103 = (_sqlite3_column_type($101,$102)|0); + $104 = ($103|0)!=(5); + if ($104) { + label = 27; + break L8; + } + } + $106 = HEAP32[$18>>2]|0; + $107 = (($106) + 1)|0; + HEAP32[$18>>2] = $107; + } + } + } while(0); + $108 = HEAP32[$8>>2]|0; + $109 = HEAP32[$9>>2]|0; + $110 = HEAP32[$16>>2]|0; + $111 = HEAP32[$17>>2]|0; + $112 = HEAP32[$14>>2]|0; + $113 = (FUNCTION_TABLE_iiiii[$108 & 255]($109,$110,$111,$112)|0); + $114 = ($113|0)!=(0); + if ($114) { + label = 30; + break L8; + } + } + } while(0); + $117 = HEAP32[$11>>2]|0; + $118 = ($117|0)!=(100); + if ($118) { + break; + } + } + $119 = HEAP32[$13>>2]|0; + $120 = (_sqlite3VdbeFinalize($119)|0); + HEAP32[$11>>2] = $120; + HEAP32[$13>>2] = 0; + $121 = HEAP32[$12>>2]|0; + HEAP32[$7>>2] = $121; + while(1) { + $122 = HEAP32[$7>>2]|0; + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = (20063 + ($124)|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = $127 & 1; + $129 = ($128|0)!=(0); + if (!($129)) { + break; + } + $130 = HEAP32[$7>>2]|0; + $131 = ((($130)) + 1|0); + HEAP32[$7>>2] = $131; + } + $132 = HEAP32[$6>>2]|0; + $133 = HEAP32[$14>>2]|0; + _sqlite3DbFree($132,$133); + HEAP32[$14>>2] = 0; + } + if ((label|0) == 27) { + $105 = HEAP32[$6>>2]|0; + _sqlite3OomFault($105); + } + else if ((label|0) == 30) { + HEAP32[$11>>2] = 4; + $115 = HEAP32[$13>>2]|0; + (_sqlite3VdbeFinalize($115)|0); + HEAP32[$13>>2] = 0; + $116 = HEAP32[$6>>2]|0; + _sqlite3Error($116,4); + } + $134 = HEAP32[$13>>2]|0; + $135 = ($134|0)!=(0|0); + if ($135) { + $136 = HEAP32[$13>>2]|0; + (_sqlite3VdbeFinalize($136)|0); + } + $137 = HEAP32[$6>>2]|0; + $138 = HEAP32[$14>>2]|0; + _sqlite3DbFree($137,$138); + $139 = HEAP32[$6>>2]|0; + $140 = HEAP32[$11>>2]|0; + $141 = (_sqlite3ApiExit($139,$140)|0); + HEAP32[$11>>2] = $141; + $142 = HEAP32[$11>>2]|0; + $143 = ($142|0)!=(0); + $144 = HEAP32[$10>>2]|0; + $145 = ($144|0)!=(0|0); + $or$cond3 = $143 & $145; do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 10|0); - $16 = HEAP8[$15>>0]|0; - $17 = (_sqlite3Atoi64($9,$10,$13,$16)|0); - $18 = (0)==($17|0); - $19 = HEAP32[$0>>2]|0; - if ($18) { - $20 = ((($19)) + 8|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21&65535; - $23 = $22 & -49664; - $24 = $23 | 4; - $25 = $24&65535; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 8|0); - HEAP16[$27>>1] = $25; + if ($or$cond3) { + $146 = HEAP32[$6>>2]|0; + $147 = (_sqlite3_errmsg($146)|0); + $148 = (_sqlite3Strlen30($147)|0); + $149 = (1 + ($148))|0; + HEAP32[$19>>2] = $149; + $150 = HEAP32[$19>>2]|0; + $151 = ($150|0)<(0); + $152 = $151 << 31 >> 31; + $153 = (_sqlite3Malloc($150,$152)|0); + $154 = HEAP32[$10>>2]|0; + HEAP32[$154>>2] = $153; + $155 = HEAP32[$10>>2]|0; + $156 = HEAP32[$155>>2]|0; + $157 = ($156|0)!=(0|0); + if ($157) { + $158 = HEAP32[$10>>2]|0; + $159 = HEAP32[$158>>2]|0; + $160 = HEAP32[$6>>2]|0; + $161 = (_sqlite3_errmsg($160)|0); + $162 = HEAP32[$19>>2]|0; + _memcpy(($159|0),($161|0),($162|0))|0; break; } else { - $28 = (+_sqlite3VdbeRealValue($19)); - $29 = HEAP32[$0>>2]|0; - HEAPF64[$29>>3] = $28; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 8|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32&65535; - $34 = $33 & -49664; - $35 = $34 | 8; - $36 = $35&65535; - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 8|0); - HEAP16[$38>>1] = $36; - $39 = HEAP32[$0>>2]|0; - _sqlite3VdbeIntegerAffinity($39); + HEAP32[$11>>2] = 7; + $163 = HEAP32[$6>>2]|0; + _sqlite3Error($163,7); break; } + } else { + $164 = HEAP32[$10>>2]|0; + $165 = ($164|0)!=(0|0); + if ($165) { + $166 = HEAP32[$10>>2]|0; + HEAP32[$166>>2] = 0; + } } } while(0); - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 8|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42&65535; - $44 = $43 & -16403; - $45 = $44&65535; - HEAP16[$41>>1] = $45; - STACKTOP = sp;return 0; + $167 = HEAP32[$6>>2]|0; + $168 = ((($167)) + 12|0); + $169 = HEAP32[$168>>2]|0; + _sqlite3_mutex_leave($169); + $170 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $170; + $171 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($171|0); } -function _sqlite3HexToBlob($db,$z,$n) { - $db = $db|0; - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $zBlob = 0, label = 0, sp = 0; +function _sqlite3AnalysisLoad($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $zBlob = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $n; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = (($4|0) / 2)&-1; - $6 = (($5) + 1)|0; - $7 = ($6|0)<(0); - $8 = $7 << 31 >> 31; - $9 = (_sqlite3DbMallocRawNN($3,$6,$8)|0); - HEAP32[$zBlob>>2] = $9; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$7>>2] = 0; $10 = HEAP32[$2>>2]|0; - $11 = (($10) + -1)|0; - HEAP32[$2>>2] = $11; - $12 = HEAP32[$zBlob>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - $44 = HEAP32[$zBlob>>2]|0; - STACKTOP = sp;return ($44|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ($14|0)<($15|0); - $17 = HEAP32[$i>>2]|0; - if (!($16)) { - break; - } - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + ($17)|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = (_sqlite3HexToInt($21)|0); - $23 = $22&255; - $24 = $23 << 4; - $25 = HEAP32[$i>>2]|0; - $26 = (($25) + 1)|0; - $27 = HEAP32[$1>>2]|0; - $28 = (($27) + ($26)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29 << 24 >> 24; - $31 = (_sqlite3HexToInt($30)|0); - $32 = $31&255; - $33 = $24 | $32; - $34 = $33&255; - $35 = HEAP32[$i>>2]|0; - $36 = (($35|0) / 2)&-1; - $37 = HEAP32[$zBlob>>2]|0; - $38 = (($37) + ($36)|0); - HEAP8[$38>>0] = $34; - $39 = HEAP32[$i>>2]|0; - $40 = (($39) + 2)|0; - HEAP32[$i>>2] = $40; - } - $41 = (($17|0) / 2)&-1; - $42 = HEAP32[$zBlob>>2]|0; - $43 = (($42) + ($41)|0); - HEAP8[$43>>0] = 0; - $44 = HEAP32[$zBlob>>2]|0; - STACKTOP = sp;return ($44|0); -} -function _sqlite3VdbeIntegerAffinity($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0.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, $7 = 0, $8 = 0; - var $9 = 0, $ix = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $ix = sp; - HEAP32[$0>>2] = $pMem; - $1 = HEAP32[$0>>2]|0; - $2 = +HEAPF64[$1>>3]; - $3 = (_doubleToInt64($2)|0); - $4 = tempRet0; - $5 = $ix; - $6 = $5; - HEAP32[$6>>2] = $3; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $4; - $9 = HEAP32[$0>>2]|0; - $10 = +HEAPF64[$9>>3]; - $11 = $ix; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = (($12) + ($13<<4)|0); + $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; - $17 = (+($13>>>0)) + (4294967296.0*(+($16|0))); - $18 = $10 == $17; - $19 = $ix; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)>(-2147483648); - $26 = ($21>>>0)>(0); - $27 = ($24|0)==(-2147483648); - $28 = $27 & $26; - $29 = $25 | $28; - $or$cond = $18 & $29; - $30 = $ix; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)<(2147483647); - $37 = ($32>>>0)<(4294967295); - $38 = ($35|0)==(2147483647); - $39 = $38 & $37; - $40 = $36 | $39; - $or$cond3 = $or$cond & $40; - if (!($or$cond3)) { - STACKTOP = sp;return; + $17 = ((($16)) + 24|0); + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$5>>2] = $19; + while(1) { + $20 = HEAP32[$5>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { + break; + } + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$8>>2] = $24; + $25 = HEAP32[$8>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + HEAP16[$27>>1] = 0; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$28>>2]|0; + HEAP32[$5>>2] = $29; } - $41 = $ix; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$0>>2]|0; - $48 = $47; - $49 = $48; - HEAP32[$49>>2] = $43; - $50 = (($48) + 4)|0; - $51 = $50; - HEAP32[$51>>2] = $46; - $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 8|0); - $54 = HEAP16[$53>>1]|0; - $55 = $54&65535; - $56 = $55 & -49664; - $57 = $56 | 4; - $58 = $57&65535; - $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 8|0); - HEAP16[$60>>1] = $58; - STACKTOP = sp;return; -} -function _doubleToInt64($r) { - $r = +$r; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp; - HEAPF64[$1>>3] = $r; - $2 = +HEAPF64[$1>>3]; - $3 = $2 <= -9.2233720368547758E+18; + $30 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $30; + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = (($33) + ($34<<4)|0); + $36 = HEAP32[$35>>2]|0; + $37 = ((($4)) + 4|0); + HEAP32[$37>>2] = $36; + $38 = HEAP32[$2>>2]|0; + $39 = ((($4)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3FindTable($38,27094,$40)|0); + $42 = ($41|0)!=(0|0); do { - if ($3) { - $4 = $0; - $5 = $4; - HEAP32[$5>>2] = 0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = -2147483648; - } else { - $8 = +HEAPF64[$1>>3]; - $9 = $8 >= 9.2233720368547758E+18; - if ($9) { - $10 = $0; - $11 = $10; - HEAP32[$11>>2] = -1; - $12 = (($10) + 4)|0; - $13 = $12; - HEAP32[$13>>2] = 2147483647; + if ($42) { + $43 = HEAP32[$2>>2]|0; + $44 = ((($4)) + 4|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$vararg_buffer>>2] = $45; + $46 = (_sqlite3MPrintf($43,27107,$vararg_buffer)|0); + HEAP32[$6>>2] = $46; + $47 = HEAP32[$6>>2]|0; + $48 = ($47|0)==(0|0); + if ($48) { + HEAP32[$7>>2] = 7; break; } else { - $14 = +HEAPF64[$1>>3]; - $15 = (~~$14)>>>0; - $16 = +Math_abs($14) >= 1.0 ? $14 > 0.0 ? (~~+Math_min(+Math_floor($14 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($14 - +(~~$14 >>> 0)) / 4294967296.0) >>> 0 : 0; - $17 = $0; - $18 = $17; - HEAP32[$18>>2] = $15; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $16; + $49 = HEAP32[$2>>2]|0; + $50 = HEAP32[$6>>2]|0; + $51 = (_sqlite3_exec($49,$50,147,$4,0)|0); + HEAP32[$7>>2] = $51; + $52 = HEAP32[$2>>2]|0; + $53 = HEAP32[$6>>2]|0; + _sqlite3DbFree($52,$53); break; } } } while(0); - $21 = $0; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - tempRet0 = ($26); - STACKTOP = sp;return ($23|0); -} -function _applyAffinity($pRec,$affinity,$enc) { - $pRec = $pRec|0; - $affinity = $affinity|0; - $enc = $enc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 5|0; - $2 = sp + 4|0; - HEAP32[$0>>2] = $pRec; - HEAP8[$1>>0] = $affinity; - HEAP8[$2>>0] = $enc; - $3 = HEAP8[$1>>0]|0; - $4 = $3 << 24 >> 24; - $5 = ($4|0)>=(67); - if (!($5)) { - $25 = HEAP8[$1>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($26|0)==(66); - if (!($27)) { - STACKTOP = sp;return; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 16|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$3>>2]|0; + $58 = (($56) + ($57<<4)|0); + $59 = ((($58)) + 12|0); + $60 = HEAP32[$59>>2]|0; + $61 = ((($60)) + 24|0); + $62 = ((($61)) + 8|0); + $63 = HEAP32[$62>>2]|0; + HEAP32[$5>>2] = $63; + while(1) { + $64 = HEAP32[$5>>2]|0; + $65 = ($64|0)!=(0|0); + if (!($65)) { + break; } - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $32 = $31 & 2; - $33 = (0)==($32|0); - if ($33) { - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 8|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 & 12; - $39 = ($38|0)!=(0); - if ($39) { - $40 = HEAP32[$0>>2]|0; - $41 = HEAP8[$2>>0]|0; - (_sqlite3VdbeMemStringify($40,$41,1)|0); - } + $66 = HEAP32[$5>>2]|0; + $67 = ((($66)) + 8|0); + $68 = HEAP32[$67>>2]|0; + HEAP32[$9>>2] = $68; + $69 = HEAP32[$9>>2]|0; + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP16[$71>>1]|0; + $73 = $72 << 16 >> 16; + $74 = ($73|0)==(0); + if ($74) { + $75 = HEAP32[$9>>2]|0; + _sqlite3DefaultRowEst($75); } - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 8|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = $45 & -13; - $47 = $46&65535; - HEAP16[$43>>1] = $47; - STACKTOP = sp;return; - } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8&65535; - $10 = $9 & 4; - $11 = ($10|0)==(0); - if (!($11)) { - STACKTOP = sp;return; - } - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = $15 & 8; - $17 = ($16|0)==(0); - $18 = HEAP32[$0>>2]|0; - if (!($17)) { - _sqlite3VdbeIntegerAffinity($18); - STACKTOP = sp;return; - } - $19 = ((($18)) + 8|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - $22 = $21 & 2; - $23 = ($22|0)!=(0); - if (!($23)) { - STACKTOP = sp;return; - } - $24 = HEAP32[$0>>2]|0; - _applyNumericAffinity($24,1); - STACKTOP = sp;return; -} -function _sqlite3VdbeMemStringify($pMem,$enc,$bForce) { - $pMem = $pMem|0; - $enc = $enc|0; - $bForce = $bForce|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fg = 0, $nByte = 0, $vararg_buffer = 0; - var $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 33|0; - $3 = sp + 32|0; - $fg = sp + 20|0; - $nByte = sp + 16|0; - HEAP32[$1>>2] = $pMem; - HEAP8[$2>>0] = $enc; - HEAP8[$3>>0] = $bForce; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - HEAP32[$fg>>2] = $7; - HEAP32[$nByte>>2] = 32; - $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3VdbeMemClearAndResize($8,32)|0); - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 10|0); - HEAP8[$12>>0] = 0; - HEAP32[$0>>2] = 7; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); - } - $13 = HEAP32[$fg>>2]|0; - $14 = $13 & 4; - $15 = ($14|0)!=(0); - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$1>>2]|0; - if ($15) { - $20 = $19; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = $vararg_buffer; - $27 = $26; - HEAP32[$27>>2] = $22; - $28 = (($26) + 4)|0; - $29 = $28; - HEAP32[$29>>2] = $25; - (_sqlite3_snprintf(32,$18,28266,$vararg_buffer)|0); - } else { - $30 = +HEAPF64[$19>>3]; - HEAPF64[$vararg_buffer1>>3] = $30; - (_sqlite3_snprintf(32,$18,28271,$vararg_buffer1)|0); - } - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 16|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_sqlite3Strlen30($33)|0); - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 12|0); - HEAP32[$36>>2] = $34; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 10|0); - HEAP8[$38>>0] = 1; - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 8|0); - $41 = HEAP16[$40>>1]|0; - $42 = $41&65535; - $43 = $42 | 514; - $44 = $43&65535; - HEAP16[$40>>1] = $44; - $45 = HEAP8[$3>>0]|0; - $46 = ($45<<24>>24)!=(0); - if ($46) { - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 8|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49&65535; - $51 = $50 & -13; - $52 = $51&65535; - HEAP16[$48>>1] = $52; + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$76>>2]|0; + HEAP32[$5>>2] = $77; } - $53 = HEAP32[$1>>2]|0; - $54 = HEAP8[$2>>0]|0; - $55 = $54&255; - (_sqlite3VdbeChangeEncoding($53,$55)|0); - HEAP32[$0>>2] = 0; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); -} -function _sqlite3VdbeMemClearAndResize($pMem,$szNew) { - $pMem = $pMem|0; - $szNew = $szNew|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pMem; - HEAP32[$2>>2] = $szNew; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = ($5|0)<($6|0); - $8 = HEAP32[$1>>2]|0; - if ($7) { - $9 = HEAP32[$2>>2]|0; - $10 = (_sqlite3VdbeMemGrow($8,$9,0)|0); - HEAP32[$0>>2] = $10; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); - } else { - $11 = ((($8)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 16|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = $18 & 13; - $20 = $19&65535; - HEAP16[$16>>1] = $20; - HEAP32[$0>>2] = 0; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + $78 = HEAP32[$7>>2]|0; + $79 = ($78|0)==(7); + if (!($79)) { + $81 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($81|0); } - return (0)|0; + $80 = HEAP32[$2>>2]|0; + _sqlite3OomFault($80); + $81 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($81|0); } -function _sqlite3VdbeMemGrow($pMem,$n,$bPreserve) { - $pMem = $pMem|0; - $n = $n|0; - $bPreserve = $bPreserve|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 label = 0, sp = 0; +function _analysisLoader($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$1>>2] = $pMem; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $bPreserve; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 24|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = ($6|0)<($7|0); - do { - if ($8) { - $9 = HEAP32[$2>>2]|0; - $10 = ($9|0)<(32); - if ($10) { - HEAP32[$2>>2] = 32; - } - $11 = HEAP32[$3>>2]|0; - $12 = ($11|0)!=(0); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($19|0)==($22|0); - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 32|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 16|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = ($30|0)<(0); - $32 = $31 << 31 >> 31; - $33 = (_sqlite3DbReallocOrFree($26,$29,$30,$32)|0); - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 20|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 16|0); - HEAP32[$37>>2] = $33; - HEAP32[$3>>2] = 0; + STACKTOP = STACKTOP + 112|0; + $4 = sp + 96|0; + $5 = sp + 92|0; + $6 = sp + 88|0; + $7 = sp + 84|0; + $8 = sp + 80|0; + $9 = sp + 76|0; + $10 = sp + 72|0; + $11 = sp + 68|0; + $12 = sp + 64|0; + $13 = sp + 60|0; + $14 = sp + 56|0; + $15 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $16 = HEAP32[$5>>2]|0; + HEAP32[$9>>2] = $16; + $17 = HEAP32[$7>>2]|0; + $18 = ($17|0)==(0|0); + if (!($18)) { + $19 = HEAP32[$7>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + $22 = HEAP32[$7>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0|0); + if (!($25)) { + $26 = HEAP32[$9>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (_sqlite3FindTable($27,$29,$32)|0); + HEAP32[$11>>2] = $33; + $34 = HEAP32[$11>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$4>>2] = 0; + $100 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($100|0); + } + $36 = HEAP32[$7>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(0|0); + do { + if ($39) { + HEAP32[$10>>2] = 0; } else { - label = 8; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (_sqlite3_stricmp($41,$44)|0); + $46 = ($45|0)==(0); + if ($46) { + $47 = HEAP32[$11>>2]|0; + $48 = (_sqlite3PrimaryKeyIndex($47)|0); + HEAP32[$10>>2] = $48; + break; + } else { + $49 = HEAP32[$9>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 4|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$9>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = (_sqlite3FindIndex($50,$53,$56)|0); + HEAP32[$10>>2] = $57; + break; + } + } + } while(0); + $58 = HEAP32[$7>>2]|0; + $59 = ((($58)) + 8|0); + $60 = HEAP32[$59>>2]|0; + HEAP32[$12>>2] = $60; + $61 = HEAP32[$10>>2]|0; + $62 = ($61|0)!=(0|0); + if ($62) { + HEAP32[$13>>2] = 0; + $63 = HEAP32[$10>>2]|0; + $64 = ((($63)) + 50|0); + $65 = HEAP16[$64>>1]|0; + $66 = $65&65535; + $67 = (($66) + 1)|0; + HEAP32[$14>>2] = $67; + $68 = HEAP32[$10>>2]|0; + $69 = ((($68)) + 55|0); + $70 = HEAP8[$69>>0]|0; + $71 = $70 & -5; + HEAP8[$69>>0] = $71; + $72 = HEAP32[$12>>2]|0; + $73 = HEAP32[$14>>2]|0; + $74 = HEAP32[$13>>2]|0; + $75 = HEAP32[$10>>2]|0; + $76 = ((($75)) + 8|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$10>>2]|0; + _decodeIntArray($72,$73,$74,$77,$78); + $79 = HEAP32[$10>>2]|0; + $80 = ((($79)) + 36|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==(0|0); + if ($82) { + $83 = HEAP32[$10>>2]|0; + $84 = ((($83)) + 8|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP16[$85>>1]|0; + $87 = HEAP32[$11>>2]|0; + $88 = ((($87)) + 38|0); + HEAP16[$88>>1] = $86; } } else { - label = 8; - } - } else { - label = 8; - } - if ((label|0) == 8) { - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 24|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)>(0); - if ($41) { - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 32|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 20|0); - $47 = HEAP32[$46>>2]|0; - _sqlite3DbFree($44,$47); + $89 = HEAP32[$11>>2]|0; + $90 = ((($89)) + 40|0); + $91 = HEAP16[$90>>1]|0; + $92 = ((($15)) + 48|0); + HEAP16[$92>>1] = $91; + $93 = HEAP32[$12>>2]|0; + $94 = HEAP32[$11>>2]|0; + $95 = ((($94)) + 38|0); + _decodeIntArray($93,1,0,$95,$15); + $96 = ((($15)) + 48|0); + $97 = HEAP16[$96>>1]|0; + $98 = HEAP32[$11>>2]|0; + $99 = ((($98)) + 40|0); + HEAP16[$99>>1] = $97; } - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 32|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$2>>2]|0; - $52 = ($51|0)<(0); - $53 = $52 << 31 >> 31; - $54 = (_sqlite3DbMallocRaw($50,$51,$53)|0); - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 20|0); - HEAP32[$56>>2] = $54; - } - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 20|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59|0)==(0|0); - $61 = HEAP32[$1>>2]|0; - if (!($60)) { - $66 = ((($61)) + 32|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 20|0); - $70 = HEAP32[$69>>2]|0; - $71 = (_sqlite3DbMallocSize($67,$70)|0); - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 24|0); - HEAP32[$73>>2] = $71; - break; - } - _sqlite3VdbeMemSetNull($61); - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 16|0); - HEAP32[$63>>2] = 0; - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 24|0); - HEAP32[$65>>2] = 0; - HEAP32[$0>>2] = 7; - $119 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($119|0); - } - } while(0); - $74 = HEAP32[$3>>2]|0; - $75 = ($74|0)!=(0); - if ($75) { - $76 = HEAP32[$1>>2]|0; - $77 = ((($76)) + 16|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)!=(0|0); - if ($79) { - $80 = HEAP32[$1>>2]|0; - $81 = ((($80)) + 16|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$1>>2]|0; - $84 = ((($83)) + 20|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($82|0)!=($85|0); - if ($86) { - $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 20|0); - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$1>>2]|0; - $91 = ((($90)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = HEAP32[$1>>2]|0; - $94 = ((($93)) + 12|0); - $95 = HEAP32[$94>>2]|0; - _memcpy(($89|0),($92|0),($95|0))|0; + HEAP32[$4>>2] = 0; + $100 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($100|0); } } } - $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 8|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = $99 & 1024; - $101 = ($100|0)!=(0); - if ($101) { - $102 = HEAP32[$1>>2]|0; - $103 = ((($102)) + 36|0); - $104 = HEAP32[$103>>2]|0; - $105 = HEAP32[$1>>2]|0; - $106 = ((($105)) + 16|0); - $107 = HEAP32[$106>>2]|0; - FUNCTION_TABLE_vi[$104 & 255]($107); - } - $108 = HEAP32[$1>>2]|0; - $109 = ((($108)) + 20|0); - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$1>>2]|0; - $112 = ((($111)) + 16|0); - HEAP32[$112>>2] = $110; - $113 = HEAP32[$1>>2]|0; - $114 = ((($113)) + 8|0); - $115 = HEAP16[$114>>1]|0; - $116 = $115&65535; - $117 = $116 & -7169; - $118 = $117&65535; - HEAP16[$114>>1] = $118; - HEAP32[$0>>2] = 0; - $119 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($119|0); + HEAP32[$4>>2] = 0; + $100 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($100|0); } -function _sqlite3DbReallocOrFree($db,$p,$0,$1) { - $db = $db|0; - $p = $p|0; +function _sqlite3DefaultRowEst($0) { $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pNew = 0, label = 0, sp = 0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; + $1 = sp + 12|0; $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp; - $pNew = sp + 8|0; - HEAP32[$2>>2] = $db; - HEAP32[$3>>2] = $p; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = $4; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3DbRealloc($9,$10,$13,$16)|0); - HEAP32[$pNew>>2] = $17; - $18 = HEAP32[$pNew>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $22 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($22|0); - } - $20 = HEAP32[$2>>2]|0; - $21 = HEAP32[$3>>2]|0; - _sqlite3DbFree($20,$21); - $22 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($22|0); -} -function _sqlite3VdbeMemIntegerify($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pMem; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3VdbeIntValue($1)|0); - $3 = tempRet0; - $4 = HEAP32[$0>>2]|0; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $2; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 8|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + ;HEAP16[$2>>1]=HEAP16[15212>>1]|0;HEAP16[$2+2>>1]=HEAP16[15212+2>>1]|0;HEAP16[$2+4>>1]=HEAP16[15212+4>>1]|0;HEAP16[$2+6>>1]=HEAP16[15212+6>>1]|0;HEAP16[$2+8>>1]=HEAP16[15212+8>>1]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 50|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; - $13 = $12 & -49664; - $14 = $13 | 4; - $15 = $14&65535; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 8|0); - HEAP16[$17>>1] = $15; - STACKTOP = sp;return 0; -} -function _sqlite3VdbeMemRealify($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0.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; - HEAP32[$0>>2] = $pMem; - $1 = HEAP32[$0>>2]|0; - $2 = (+_sqlite3VdbeRealValue($1)); - $3 = HEAP32[$0>>2]|0; - HEAPF64[$3>>3] = $2; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = $7 & -49664; - $9 = $8 | 8; - $10 = $9&65535; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - HEAP16[$12>>1] = $10; - STACKTOP = sp;return 0; -} -function _sqlite3CheckObjectName($pParse,$zName) { - $pParse = $pParse|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $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; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $zName; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 148|0); - $6 = ((($5)) + 5|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - if (!($8)) { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 18|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(0); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 24|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & 2048; - $19 = ($18|0)==(0); - if ($19) { - $20 = HEAP32[$2>>2]|0; - $21 = (_sqlite3_strnicmp($20,27844,7)|0); - $22 = (0)==($21|0); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $24; - _sqlite3ErrorMsg($23,30775,$vararg_buffer); - HEAP32[$0>>2] = 1; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } - } - } - } - HEAP32[$0>>2] = 0; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); -} -function _sqlite3ViewGetColumnNames($pParse,$pTable) { - $pParse = $pParse|0; - $pTable = $pTable|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $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, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $n = 0, $nErr = 0, $pSel = 0, $pSelTab = 0, $vararg_buffer = 0; - var $xAuth = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $pSelTab = sp + 24|0; - $pSel = sp + 20|0; - $nErr = sp + 16|0; - $n = sp + 12|0; - $db = sp + 8|0; - $xAuth = sp + 4|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTable; - HEAP32[$nErr>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = (_sqlite3VtabCallConnect($5,$6)|0); - $8 = ($7|0)!=(0); - if ($8) { - HEAP32[$0>>2] = 1; - $133 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($133|0); + $13 = (5)<($12|0); + if ($13) { + $18 = 5; + } else { + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 50|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = $17; } - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 42|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 & 16; - $14 = ($13|0)!=(0); - if ($14) { - HEAP32[$0>>2] = 0; - $133 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($133|0); + HEAP32[$4>>2] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 38|0); + $23 = HEAP16[$22>>1]|0; + $24 = HEAP32[$3>>2]|0; + HEAP16[$24>>1] = $23; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$3>>2]|0; + $30 = HEAP16[$29>>1]|0; + $31 = $30 << 16 >> 16; + $32 = (($31) - 10)|0; + $33 = $32&65535; + HEAP16[$29>>1] = $33; } - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 34|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17 << 16 >> 16; - $19 = ($18|0)>(0); - if ($19) { - HEAP32[$0>>2] = 0; - $133 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($133|0); + $34 = HEAP32[$3>>2]|0; + $35 = HEAP16[$34>>1]|0; + $36 = $35 << 16 >> 16; + $37 = ($36|0)<(33); + if ($37) { + $38 = HEAP32[$3>>2]|0; + HEAP16[$38>>1] = 33; } - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 34|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22 << 16 >> 16; - $24 = ($23|0)<(0); - if ($24) { - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = HEAP32[$26>>2]|0; - HEAP32[$vararg_buffer>>2] = $27; - _sqlite3ErrorMsg($25,28983,$vararg_buffer); - HEAP32[$0>>2] = 1; - $133 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($133|0); + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 2|0); + $41 = HEAP32[$4>>2]|0; + $42 = $41<<1; + _memcpy(($40|0),($2|0),($42|0))|0; + $43 = HEAP32[$4>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$5>>2] = $44; + while(1) { + $45 = HEAP32[$5>>2]|0; + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 50|0); + $48 = HEAP16[$47>>1]|0; + $49 = $48&65535; + $50 = ($45|0)<=($49|0); + if (!($50)) { + break; + } + $51 = HEAP32[$3>>2]|0; + $52 = HEAP32[$5>>2]|0; + $53 = (($51) + ($52<<1)|0); + HEAP16[$53>>1] = 23; + $54 = HEAP32[$5>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$5>>2] = $55; } - $28 = HEAP32[$db>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = (_sqlite3SelectDup($28,$31,0)|0); - HEAP32[$pSel>>2] = $32; - $33 = HEAP32[$pSel>>2]|0; - $34 = ($33|0)!=(0|0); - if ($34) { - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 40|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$n>>2] = $37; - $38 = HEAP32[$1>>2]|0; - $39 = HEAP32[$pSel>>2]|0; - $40 = ((($39)) + 28|0); - $41 = HEAP32[$40>>2]|0; - _sqlite3SrcListAssignCursors($38,$41); - $42 = HEAP32[$2>>2]|0; - $43 = ((($42)) + 34|0); - HEAP16[$43>>1] = -1; - $44 = HEAP32[$db>>2]|0; - $45 = ((($44)) + 256|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$45>>2] = $47; - $48 = HEAP32[$db>>2]|0; - $49 = ((($48)) + 296|0); - $50 = HEAP32[$49>>2]|0; - HEAP32[$xAuth>>2] = $50; - $51 = HEAP32[$db>>2]|0; - $52 = ((($51)) + 296|0); - HEAP32[$52>>2] = 0; - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$pSel>>2]|0; - $55 = (_sqlite3ResultSetOfSelect($53,$54)|0); - HEAP32[$pSelTab>>2] = $55; - $56 = HEAP32[$xAuth>>2]|0; - $57 = HEAP32[$db>>2]|0; - $58 = ((($57)) + 296|0); - HEAP32[$58>>2] = $56; - $59 = HEAP32[$n>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 40|0); - HEAP32[$61>>2] = $59; - $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 24|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)!=(0|0); - do { - if ($65) { - $66 = HEAP32[$1>>2]|0; - $67 = HEAP32[$2>>2]|0; - $68 = ((($67)) + 24|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = ((($70)) + 34|0); - $72 = HEAP32[$2>>2]|0; - $73 = ((($72)) + 4|0); - (_sqlite3ColumnsFromExprList($66,$69,$71,$73)|0); - $74 = HEAP32[$db>>2]|0; - $75 = ((($74)) + 69|0); - $76 = HEAP8[$75>>0]|0; - $77 = $76&255; - $78 = ($77|0)==(0); - if ($78) { - $79 = HEAP32[$1>>2]|0; - $80 = ((($79)) + 36|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==(0); - if ($82) { - $83 = HEAP32[$2>>2]|0; - $84 = ((($83)) + 34|0); - $85 = HEAP16[$84>>1]|0; - $86 = $85 << 16 >> 16; - $87 = HEAP32[$pSel>>2]|0; - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$88>>2]|0; - $90 = ($86|0)==($89|0); - if ($90) { - $91 = HEAP32[$1>>2]|0; - $92 = HEAP32[$2>>2]|0; - $93 = HEAP32[$pSel>>2]|0; - _sqlite3SelectAddColumnTypeAndCollation($91,$92,$93); - } - } - } - } else { - $94 = HEAP32[$pSelTab>>2]|0; - $95 = ($94|0)!=(0|0); - if ($95) { - $96 = HEAP32[$pSelTab>>2]|0; - $97 = ((($96)) + 34|0); - $98 = HEAP16[$97>>1]|0; - $99 = HEAP32[$2>>2]|0; - $100 = ((($99)) + 34|0); - HEAP16[$100>>1] = $98; - $101 = HEAP32[$pSelTab>>2]|0; - $102 = ((($101)) + 4|0); - $103 = HEAP32[$102>>2]|0; - $104 = HEAP32[$2>>2]|0; - $105 = ((($104)) + 4|0); - HEAP32[$105>>2] = $103; - $106 = HEAP32[$pSelTab>>2]|0; - $107 = ((($106)) + 34|0); - HEAP16[$107>>1] = 0; - $108 = HEAP32[$pSelTab>>2]|0; - $109 = ((($108)) + 4|0); - HEAP32[$109>>2] = 0; - break; - } else { - $110 = HEAP32[$2>>2]|0; - $111 = ((($110)) + 34|0); - HEAP16[$111>>1] = 0; - $112 = HEAP32[$nErr>>2]|0; - $113 = (($112) + 1)|0; - HEAP32[$nErr>>2] = $113; - break; - } - } - } while(0); - $114 = HEAP32[$db>>2]|0; - $115 = HEAP32[$pSelTab>>2]|0; - _sqlite3DeleteTable($114,$115); - $116 = HEAP32[$db>>2]|0; - $117 = HEAP32[$pSel>>2]|0; - _sqlite3SelectDelete($116,$117); - $118 = HEAP32[$db>>2]|0; - $119 = ((($118)) + 256|0); - $120 = HEAP32[$119>>2]|0; - $121 = (($120) + -1)|0; - HEAP32[$119>>2] = $121; - } else { - $122 = HEAP32[$nErr>>2]|0; - $123 = (($122) + 1)|0; - HEAP32[$nErr>>2] = $123; + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 54|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = ($59|0)!=(0); + if (!($60)) { + STACKTOP = sp;return; } - $124 = HEAP32[$2>>2]|0; - $125 = ((($124)) + 64|0); - $126 = HEAP32[$125>>2]|0; - $127 = ((($126)) + 78|0); - $128 = HEAP16[$127>>1]|0; - $129 = $128&65535; - $130 = $129 | 2; - $131 = $130&65535; - HEAP16[$127>>1] = $131; - $132 = HEAP32[$nErr>>2]|0; - HEAP32[$0>>2] = $132; - $133 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($133|0); + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 50|0); + $64 = HEAP16[$63>>1]|0; + $65 = $64&65535; + $66 = (($61) + ($65<<1)|0); + HEAP16[$66>>1] = 0; + STACKTOP = sp;return; } -function _sqlite3GetVTable($db,$pTab) { - $db = $db|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pVtab = 0, label = 0, sp = 0; +function _sqlite3PrimaryKeyIndex($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, $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 + 8|0; $1 = sp + 4|0; - $pVtab = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTab; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 56|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pVtab>>2] = $4; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; while(1) { - $5 = HEAP32[$pVtab>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { label = 5; break; } - $7 = HEAP32[$pVtab>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ($8|0)!=($9|0); - if (!($10)) { + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 55|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 & 3; + $12 = $11&255; + $13 = ($12|0)==(2); + $14 = $13 ^ 1; + if (!($14)) { label = 5; break; } - $11 = HEAP32[$pVtab>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pVtab>>2] = $13; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 20|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$2>>2] = $17; } if ((label|0) == 5) { - $14 = HEAP32[$pVtab>>2]|0; - STACKTOP = sp;return ($14|0); + $18 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($18|0); } return (0)|0; } -function _sqlite3MayAbort($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pToplevel = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pToplevel = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 124|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - $5 = HEAP32[$0>>2]|0; - if ($4) { - $6 = ((($5)) + 124|0); - $7 = HEAP32[$6>>2]|0; - $8 = $7; - } else { - $8 = $5; - } - HEAP32[$pToplevel>>2] = $8; - $9 = HEAP32[$pToplevel>>2]|0; - $10 = ((($9)) + 21|0); - HEAP8[$10>>0] = 1; - STACKTOP = sp;return; -} -function _sqlite3Utf8CharLen81($zIn,$nByte) { - $zIn = $zIn|0; - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, $z = 0, $zTerm = 0, label = 0, sp = 0; +function _sqlite3FindIndex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $r = sp + 8|0; - $z = sp + 4|0; - $zTerm = sp; - HEAP32[$0>>2] = $zIn; - HEAP32[$1>>2] = $nByte; - HEAP32[$r>>2] = 0; - $2 = HEAP32[$0>>2]|0; - HEAP32[$z>>2] = $2; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)>=(0); - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$z>>2]|0; - $7 = (($6) + ($5)|0); - HEAP32[$zTerm>>2] = $7; - } else { - HEAP32[$zTerm>>2] = (-1); - } + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; while(1) { - $8 = HEAP32[$z>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)!=(0); - if (!($11)) { - label = 10; - break; - } - $12 = HEAP32[$z>>2]|0; - $13 = HEAP32[$zTerm>>2]|0; - $14 = ($12>>>0)<($13>>>0); + $10 = HEAP32[$7>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($10|0)<($13|0); if (!($14)) { - label = 10; + label = 7; break; } - $15 = HEAP32[$z>>2]|0; - $16 = ((($15)) + 1|0); - HEAP32[$z>>2] = $16; - $17 = HEAP8[$15>>0]|0; - $18 = $17&255; - $19 = ($18|0)>=(192); - L8: do { - if ($19) { - while(1) { - $20 = HEAP32[$z>>2]|0; - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = $22 & 192; - $24 = ($23|0)==(128); - if (!($24)) { - break L8; - } - $25 = HEAP32[$z>>2]|0; - $26 = ((($25)) + 1|0); - HEAP32[$z>>2] = $26; - } + $15 = HEAP32[$7>>2]|0; + $16 = ($15|0)<(2); + $17 = HEAP32[$7>>2]|0; + $18 = $17 ^ 1; + $19 = $16 ? $18 : $17; + HEAP32[$8>>2] = $19; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$8>>2]|0; + $24 = (($22) + ($23<<4)|0); + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$9>>2] = $26; + $27 = HEAP32[$5>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = (($32) + ($33<<4)|0); + $35 = HEAP32[$34>>2]|0; + $36 = (_sqlite3StrICmp($29,$35)|0); + $37 = ($36|0)!=(0); + if (!($37)) { + label = 5; } - } while(0); - $27 = HEAP32[$r>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$r>>2] = $28; + } else { + label = 5; + } + if ((label|0) == 5) { + label = 0; + $38 = HEAP32[$9>>2]|0; + $39 = ((($38)) + 24|0); + $40 = HEAP32[$4>>2]|0; + $41 = (_sqlite3HashFind($39,$40)|0); + HEAP32[$6>>2] = $41; + $42 = HEAP32[$6>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + label = 7; + break; + } + } + $44 = HEAP32[$7>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$7>>2] = $45; } - if ((label|0) == 10) { - $29 = HEAP32[$r>>2]|0; - STACKTOP = sp;return ($29|0); + if ((label|0) == 7) { + $46 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($46|0); } return (0)|0; } -function _whereForeignKeys($pParse,$pTab) { - $pParse = $pParse|0; - $pTab = $pTab|0; - var $0 = 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, $p = 0, $zWhere = 0, label = 0; - var sp = 0; +function _decodeIntArray($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $p = sp + 4|0; - $zWhere = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$zWhere>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3FkReferences($2)|0); - HEAP32[$p>>2] = $3; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $14 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = $14; + HEAP32[$12>>2] = 0; while(1) { - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { + $15 = HEAP32[$10>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; + $18 = ($17|0)!=(0); + if (!($18)) { break; } - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$zWhere>>2]|0; - $9 = HEAP32[$p>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (_whereOrName($7,$8,$11)|0); - HEAP32[$zWhere>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 12|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$p>>2] = $15; + $19 = HEAP32[$12>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = ($19|0)<($20|0); + if (!($21)) { + break; + } + HEAP32[$13>>2] = 0; + while(1) { + $22 = HEAP32[$10>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = $23 << 24 >> 24; + HEAP32[$11>>2] = $24; + $25 = ($24|0)>=(48); + $26 = HEAP32[$11>>2]|0; + $27 = ($26|0)<=(57); + $28 = $25 ? $27 : 0; + if (!($28)) { + break; + } + $29 = HEAP32[$13>>2]|0; + $30 = ($29*10)|0; + $31 = HEAP32[$11>>2]|0; + $32 = (($30) + ($31))|0; + $33 = (($32) - 48)|0; + HEAP32[$13>>2] = $33; + $34 = HEAP32[$10>>2]|0; + $35 = ((($34)) + 1|0); + HEAP32[$10>>2] = $35; + } + $36 = HEAP32[$13>>2]|0; + $37 = (_sqlite3LogEst($36,0)|0); + $38 = HEAP32[$8>>2]|0; + $39 = HEAP32[$12>>2]|0; + $40 = (($38) + ($39<<1)|0); + HEAP16[$40>>1] = $37; + $41 = HEAP32[$10>>2]|0; + $42 = HEAP8[$41>>0]|0; + $43 = $42 << 24 >> 24; + $44 = ($43|0)==(32); + if ($44) { + $45 = HEAP32[$10>>2]|0; + $46 = ((($45)) + 1|0); + HEAP32[$10>>2] = $46; + } + $47 = HEAP32[$12>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$12>>2] = $48; } - $16 = HEAP32[$zWhere>>2]|0; - STACKTOP = sp;return ($16|0); -} -function _sqlite3FkReferences($pTab) { - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pTab; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 64|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 56|0); - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3HashFind($4,$6)|0); - STACKTOP = sp;return ($7|0); -} -function _sqlite3VtabCallConnect($pParse,$pTab) { - $pParse = $pParse|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $pMod = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $zErr = 0, $zMod = 0, $zModule = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $db = sp + 32|0; - $zMod = sp + 28|0; - $pMod = sp + 24|0; - $rc = sp + 20|0; - $zModule = sp + 16|0; - $zErr = sp + 12|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTab; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = ((($5)) + 42|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = $8 & 16; - $10 = ($9|0)==(0); - if (!($10)) { - $11 = HEAP32[$db>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = (_sqlite3GetVTable($11,$12)|0); - $14 = ($13|0)!=(0|0); - if (!($14)) { - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 52|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$zMod>>2] = $18; - $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 320|0); - $21 = HEAP32[$zMod>>2]|0; - $22 = (_sqlite3HashFind($20,$21)|0); - HEAP32[$pMod>>2] = $22; - $23 = HEAP32[$pMod>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - HEAP32[$zErr>>2] = 0; - $31 = HEAP32[$db>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = HEAP32[$pMod>>2]|0; - $34 = HEAP32[$pMod>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = ((($35)) + 8|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_vtabCallConstructor($31,$32,$33,$37,$zErr)|0); - HEAP32[$rc>>2] = $38; - $39 = HEAP32[$rc>>2]|0; - $40 = ($39|0)!=(0); - if ($40) { - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$zErr>>2]|0; - HEAP32[$vararg_buffer1>>2] = $42; - _sqlite3ErrorMsg($41,18391,$vararg_buffer1); - } - $43 = HEAP32[$db>>2]|0; - $44 = HEAP32[$zErr>>2]|0; - _sqlite3DbFree($43,$44); + $49 = HEAP32[$9>>2]|0; + $50 = ((($49)) + 55|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51 & -5; + HEAP8[$50>>0] = $52; + $53 = HEAP32[$9>>2]|0; + $54 = ((($53)) + 55|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55 & -65; + HEAP8[$54>>0] = $56; + L13: while(1) { + $57 = HEAP32[$10>>2]|0; + $58 = HEAP8[$57>>0]|0; + $59 = ($58<<24>>24)!=(0); + if (!($59)) { + break; + } + $60 = HEAP32[$10>>2]|0; + $61 = (_sqlite3_strglob(27148,$60)|0); + $62 = ($61|0)==(0); + do { + if ($62) { + $63 = HEAP32[$9>>2]|0; + $64 = ((($63)) + 55|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65 & -5; + $67 = $66 | 4; + HEAP8[$64>>0] = $67; } else { - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 52|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$27>>2]|0; - HEAP32[$zModule>>2] = $28; - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$zModule>>2]|0; - HEAP32[$vararg_buffer>>2] = $30; - _sqlite3ErrorMsg($29,30631,$vararg_buffer); - HEAP32[$rc>>2] = 1; - } - $45 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $45; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); + $68 = HEAP32[$10>>2]|0; + $69 = (_sqlite3_strglob(27159,$68)|0); + $70 = ($69|0)==(0); + $71 = HEAP32[$10>>2]|0; + if ($70) { + $72 = ((($71)) + 3|0); + $73 = (_sqlite3Atoi($72)|0); + $74 = ($73|0)<(0); + $75 = $74 << 31 >> 31; + $76 = (_sqlite3LogEst($73,$75)|0); + $77 = HEAP32[$9>>2]|0; + $78 = ((($77)) + 48|0); + HEAP16[$78>>1] = $76; + break; + } + $79 = (_sqlite3_strglob(27169,$71)|0); + $80 = ($79|0)==(0); + if ($80) { + $81 = HEAP32[$9>>2]|0; + $82 = ((($81)) + 55|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83 & -65; + $85 = $84 | 64; + HEAP8[$82>>0] = $85; + } + } + } while(0); + while(1) { + $86 = HEAP32[$10>>2]|0; + $87 = HEAP8[$86>>0]|0; + $88 = $87 << 24 >> 24; + $89 = ($88|0)!=(0); + if (!($89)) { + break; + } + $90 = HEAP32[$10>>2]|0; + $91 = HEAP8[$90>>0]|0; + $92 = $91 << 24 >> 24; + $93 = ($92|0)!=(32); + if (!($93)) { + break; + } + $94 = HEAP32[$10>>2]|0; + $95 = ((($94)) + 1|0); + HEAP32[$10>>2] = $95; + } + while(1) { + $96 = HEAP32[$10>>2]|0; + $97 = HEAP8[$96>>0]|0; + $98 = $97 << 24 >> 24; + $99 = ($98|0)==(32); + if (!($99)) { + continue L13; + } + $100 = HEAP32[$10>>2]|0; + $101 = ((($100)) + 1|0); + HEAP32[$10>>2] = $101; } } - HEAP32[$0>>2] = 0; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); + STACKTOP = sp;return; } -function _sqlite3SelectDup($db,$p,$flags) { - $db = $db|0; - $p = $p|0; - $flags = $flags|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $pNew = 0, $pPrior = 0, label = 0, sp = 0; +function _sqlite3LogEst($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $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, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $pNew = sp + 4|0; - $pPrior = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $flags; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$0>>2] = 0; - $120 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($120|0); - } - $6 = HEAP32[$1>>2]|0; - $7 = (_sqlite3DbMallocRawNN($6,68,0)|0); - HEAP32[$pNew>>2] = $7; - $8 = HEAP32[$pNew>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - HEAP32[$0>>2] = 0; - $120 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($120|0); - } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$3>>2]|0; - $14 = (_sqlite3ExprListDup($10,$12,$13)|0); - $15 = HEAP32[$pNew>>2]|0; - HEAP32[$15>>2] = $14; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$3>>2]|0; - $21 = (_sqlite3SrcListDup($16,$19,$20)|0); - $22 = HEAP32[$pNew>>2]|0; - $23 = ((($22)) + 28|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 32|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$3>>2]|0; - $29 = (_sqlite3ExprDup($24,$27,$28)|0); - $30 = HEAP32[$pNew>>2]|0; - $31 = ((($30)) + 32|0); - HEAP32[$31>>2] = $29; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 36|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$3>>2]|0; - $37 = (_sqlite3ExprListDup($32,$35,$36)|0); - $38 = HEAP32[$pNew>>2]|0; - $39 = ((($38)) + 36|0); - HEAP32[$39>>2] = $37; - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 40|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$3>>2]|0; - $45 = (_sqlite3ExprDup($40,$43,$44)|0); - $46 = HEAP32[$pNew>>2]|0; - $47 = ((($46)) + 40|0); - HEAP32[$47>>2] = $45; - $48 = HEAP32[$1>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = ((($49)) + 44|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$3>>2]|0; - $53 = (_sqlite3ExprListDup($48,$51,$52)|0); - $54 = HEAP32[$pNew>>2]|0; - $55 = ((($54)) + 44|0); - HEAP32[$55>>2] = $53; - $56 = HEAP32[$2>>2]|0; - $57 = ((($56)) + 4|0); - $58 = HEAP8[$57>>0]|0; - $59 = HEAP32[$pNew>>2]|0; - $60 = ((($59)) + 4|0); - HEAP8[$60>>0] = $58; - $61 = HEAP32[$1>>2]|0; - $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 48|0); - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$3>>2]|0; - $66 = (_sqlite3SelectDup($61,$64,$65)|0); - HEAP32[$pPrior>>2] = $66; - $67 = HEAP32[$pNew>>2]|0; - $68 = ((($67)) + 48|0); - HEAP32[$68>>2] = $66; - $69 = HEAP32[$pPrior>>2]|0; - $70 = ($69|0)!=(0|0); - if ($70) { - $71 = HEAP32[$pNew>>2]|0; - $72 = HEAP32[$pPrior>>2]|0; - $73 = ((($72)) + 52|0); - HEAP32[$73>>2] = $71; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 10|0; + $3 = sp; + $4 = sp + 8|0; + $5 = $3; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + HEAP16[$4>>1] = 40; + $9 = $3; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = ($14>>>0)<(0); + $16 = ($11>>>0)<(8); + $17 = ($14|0)==(0); + $18 = $17 & $16; + $19 = $15 | $18; + L1: do { + if ($19) { + $20 = $3; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = ($25>>>0)<(0); + $27 = ($22>>>0)<(2); + $28 = ($25|0)==(0); + $29 = $28 & $27; + $30 = $26 | $29; + if ($30) { + HEAP16[$2>>1] = 0; + $127 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($127|0); + } else { + while(1) { + $31 = $3; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = ($36>>>0)<(0); + $38 = ($33>>>0)<(8); + $39 = ($36|0)==(0); + $40 = $39 & $38; + $41 = $37 | $40; + if (!($41)) { + break L1; + } + $42 = HEAP16[$4>>1]|0; + $43 = $42 << 16 >> 16; + $44 = (($43) - 10)|0; + $45 = $44&65535; + HEAP16[$4>>1] = $45; + $46 = $3; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (_bitshift64Shl(($48|0),($51|0),1)|0); + $53 = tempRet0; + $54 = $3; + $55 = $54; + HEAP32[$55>>2] = $52; + $56 = (($54) + 4)|0; + $57 = $56; + HEAP32[$57>>2] = $53; + } + } + } else { + while(1) { + $58 = $3; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = ($63>>>0)>(0); + $65 = ($60>>>0)>(255); + $66 = ($63|0)==(0); + $67 = $66 & $65; + $68 = $64 | $67; + if (!($68)) { + break; + } + $69 = HEAP16[$4>>1]|0; + $70 = $69 << 16 >> 16; + $71 = (($70) + 40)|0; + $72 = $71&65535; + HEAP16[$4>>1] = $72; + $73 = $3; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (_bitshift64Lshr(($75|0),($78|0),4)|0); + $80 = tempRet0; + $81 = $3; + $82 = $81; + HEAP32[$82>>2] = $79; + $83 = (($81) + 4)|0; + $84 = $83; + HEAP32[$84>>2] = $80; + } + while(1) { + $85 = $3; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = ($90>>>0)>(0); + $92 = ($87>>>0)>(15); + $93 = ($90|0)==(0); + $94 = $93 & $92; + $95 = $91 | $94; + if (!($95)) { + break L1; + } + $96 = HEAP16[$4>>1]|0; + $97 = $96 << 16 >> 16; + $98 = (($97) + 10)|0; + $99 = $98&65535; + HEAP16[$4>>1] = $99; + $100 = $3; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (_bitshift64Lshr(($102|0),($105|0),1)|0); + $107 = tempRet0; + $108 = $3; + $109 = $108; + HEAP32[$109>>2] = $106; + $110 = (($108) + 4)|0; + $111 = $110; + HEAP32[$111>>2] = $107; + } + } + } while(0); + $112 = $3; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = (($112) + 4)|0; + $116 = $115; + $117 = HEAP32[$116>>2]|0; + $118 = $114 & 7; + $119 = (15222 + ($118<<1)|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120 << 16 >> 16; + $122 = HEAP16[$4>>1]|0; + $123 = $122 << 16 >> 16; + $124 = (($121) + ($123))|0; + $125 = (($124) - 10)|0; + $126 = $125&65535; + HEAP16[$2>>1] = $126; + $127 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($127|0); +} +function _sqlite3_strglob($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_patternCompare($4,$5,22022,91)|0); + $7 = ($6|0)==(0); + $8 = $7&1; + STACKTOP = sp;return ($8|0); +} +function _sqlite3_prepare_v2($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$9>>2]|0; + $16 = (_sqlite3LockAndPrepare($11,$12,$13,1,0,$14,$15)|0); + HEAP32[$10>>2] = $16; + $17 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _sqlite3_column_count($0) { + $0 = $0|0; + var $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; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $10 = 0; + STACKTOP = sp;return ($10|0); } - $74 = HEAP32[$pNew>>2]|0; - $75 = ((($74)) + 52|0); - HEAP32[$75>>2] = 0; - $76 = HEAP32[$1>>2]|0; - $77 = HEAP32[$2>>2]|0; - $78 = ((($77)) + 56|0); - $79 = HEAP32[$78>>2]|0; - $80 = HEAP32[$3>>2]|0; - $81 = (_sqlite3ExprDup($76,$79,$80)|0); - $82 = HEAP32[$pNew>>2]|0; - $83 = ((($82)) + 56|0); - HEAP32[$83>>2] = $81; - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$2>>2]|0; - $86 = ((($85)) + 60|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$3>>2]|0; - $89 = (_sqlite3ExprDup($84,$87,$88)|0); - $90 = HEAP32[$pNew>>2]|0; - $91 = ((($90)) + 60|0); - HEAP32[$91>>2] = $89; - $92 = HEAP32[$pNew>>2]|0; - $93 = ((($92)) + 12|0); - HEAP32[$93>>2] = 0; - $94 = HEAP32[$pNew>>2]|0; - $95 = ((($94)) + 16|0); - HEAP32[$95>>2] = 0; - $96 = HEAP32[$2>>2]|0; - $97 = ((($96)) + 8|0); - $98 = HEAP32[$97>>2]|0; - $99 = $98 & -33; - $100 = HEAP32[$pNew>>2]|0; - $101 = ((($100)) + 8|0); - HEAP32[$101>>2] = $99; - $102 = HEAP32[$pNew>>2]|0; - $103 = ((($102)) + 20|0); - HEAP32[$103>>2] = -1; - $104 = HEAP32[$pNew>>2]|0; - $105 = ((($104)) + 20|0); - $106 = ((($105)) + 4|0); - HEAP32[$106>>2] = -1; - $107 = HEAP32[$2>>2]|0; - $108 = ((($107)) + 6|0); - $109 = HEAP16[$108>>1]|0; - $110 = HEAP32[$pNew>>2]|0; - $111 = ((($110)) + 6|0); - HEAP16[$111>>1] = $109; - $112 = HEAP32[$1>>2]|0; - $113 = HEAP32[$2>>2]|0; - $114 = ((($113)) + 64|0); - $115 = HEAP32[$114>>2]|0; - $116 = (_withDup($112,$115)|0); - $117 = HEAP32[$pNew>>2]|0; - $118 = ((($117)) + 64|0); - HEAP32[$118>>2] = $116; - $119 = HEAP32[$pNew>>2]|0; - HEAP32[$0>>2] = $119; - $120 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($120|0); + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 140|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = $9; + STACKTOP = sp;return ($10|0); } -function _sqlite3SrcListAssignCursors($pParse,$pList) { - $pParse = $pParse|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pItem = 0, label = 0, sp = 0; +function _sqlite3_column_name($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_columnName($4,$5,193,0)|0); + STACKTOP = sp;return ($6|0); +} +function _sqlite3_column_text($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_columnMem($5,$6)|0); + $8 = (_sqlite3_value_text($7)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + _columnMallocFailure($9); + $10 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($10|0); +} +function _sqlite3_column_type($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_columnMem($5,$6)|0); + $8 = (_sqlite3_value_type($7)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + _columnMallocFailure($9); + $10 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($10|0); +} +function _sqlite3_errmsg($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; $1 = sp + 8|0; - $i = sp + 4|0; - $pItem = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pList; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $6 = (_sqlite3ErrStr(7)|0); + HEAP32[$1>>2] = $6; + $34 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($34|0); } - HEAP32[$i>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 8|0); - HEAP32[$pItem>>2] = $5; - while(1) { - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ($6|0)<($8|0); - if (!($9)) { - label = 8; - break; - } - $10 = HEAP32[$pItem>>2]|0; - $11 = ((($10)) + 44|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>=(0); - if ($13) { - label = 8; - break; - } - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 40|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$15>>2] = $17; - $18 = HEAP32[$pItem>>2]|0; - $19 = ((($18)) + 44|0); - HEAP32[$19>>2] = $16; - $20 = HEAP32[$pItem>>2]|0; - $21 = ((($20)) + 20|0); + $7 = HEAP32[$2>>2]|0; + $8 = (_sqlite3SafetyCheckSickOrOk($7)|0); + $9 = ($8|0)!=(0); + if (!($9)) { + $10 = (_sqlite3MisuseError(140046)|0); + $11 = (_sqlite3ErrStr($10)|0); + HEAP32[$1>>2] = $11; + $34 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($34|0); + } + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3_mutex_enter($14); + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 69|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17<<24>>24)!=(0); + if ($18) { + $19 = (_sqlite3ErrStr(7)|0); + HEAP32[$3>>2] = $19; + } else { + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 244|0); $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$pItem>>2]|0; - $26 = ((($25)) + 20|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($27)) + 28|0); - $29 = HEAP32[$28>>2]|0; - _sqlite3SrcListAssignCursors($24,$29); + $23 = (_sqlite3_value_text($22)|0); + HEAP32[$3>>2] = $23; + $24 = HEAP32[$3>>2]|0; + $25 = ($24|0)==(0|0); + if ($25) { + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 52|0); + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3ErrStr($28)|0); + HEAP32[$3>>2] = $29; } - $30 = HEAP32[$i>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$i>>2] = $31; - $32 = HEAP32[$pItem>>2]|0; - $33 = ((($32)) + 72|0); - HEAP32[$pItem>>2] = $33; } - if ((label|0) == 8) { - STACKTOP = sp;return; + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + _sqlite3_mutex_leave($32); + $33 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $33; + $34 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($34|0); +} +function _sqlite3SafetyCheckSickOrOk($0) { + $0 = $0|0; + var $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, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 84|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$3>>2] = $6; + $7 = HEAP32[$3>>2]|0; + $8 = ($7|0)!=(1266094736); + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)!=(-1607883113); + $or$cond = $8 & $10; + $11 = HEAP32[$3>>2]|0; + $12 = ($11|0)!=(-264537850); + $or$cond3 = $or$cond & $12; + if ($or$cond3) { + _logBadConnection(27181); + HEAP32[$1>>2] = 0; + $13 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($13|0); + } else { + HEAP32[$1>>2] = 1; + $13 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($13|0); } + return (0)|0; } -function _sqlite3ResultSetOfSelect($pParse,$pSelect) { - $pParse = $pParse|0; - $pSelect = $pSelect|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0; - var $9 = 0, $db = 0, $pTab = 0, $savedFlags = 0, label = 0, sp = 0; +function _logBadConnection($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $1 = sp + 4|0; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer>>2] = $2; + _sqlite3_log(21,27189,$vararg_buffer); + STACKTOP = sp;return; +} +function _columnMem($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pTab = sp + 8|0; - $db = sp + 4|0; - $savedFlags = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pSelect; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $10 = (_columnNullValue()|0); + HEAP32[$2>>2] = $10; + $36 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($36|0); + } + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3_mutex_enter($14); + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 104|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 140|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = ($19|0)<($23|0); + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)>=(0); + $or$cond = $24 & $26; + if ($or$cond) { + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 104|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = (($29) + (($30*40)|0)|0); + HEAP32[$6>>2] = $31; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$32>>2]|0; + _sqlite3Error($33,25); + $34 = (_columnNullValue()|0); + HEAP32[$6>>2] = $34; + } + $35 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $35; + $36 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($36|0); +} +function _columnMallocFailure($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 24|0); + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$2>>2]|0; $7 = HEAP32[$6>>2]|0; - HEAP32[$savedFlags>>2] = $7; - $8 = HEAP32[$db>>2]|0; - $9 = ((($8)) + 24|0); + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 40|0); $10 = HEAP32[$9>>2]|0; - $11 = $10 & -5; - HEAP32[$9>>2] = $11; - $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 24|0); + $11 = (_sqlite3ApiExit($7,$10)|0); + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 40|0); + HEAP32[$13>>2] = $11; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + _sqlite3_mutex_leave($17); + STACKTOP = sp;return; +} +function _columnNullValue() { + var label = 0, sp = 0; + sp = STACKTOP; + return (288|0); +} +function _columnName($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, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $12 = HEAP32[$4>>2]|0; + HEAP32[$9>>2] = $12; + $13 = HEAP32[$9>>2]|0; $14 = HEAP32[$13>>2]|0; - $15 = $14 | 64; - HEAP32[$13>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$2>>2]|0; - _sqlite3SelectPrep($16,$17,0); - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 36|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0); - if ($21) { - HEAP32[$0>>2] = 0; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); + HEAP32[$11>>2] = $14; + $15 = HEAP32[$4>>2]|0; + $16 = (_sqlite3_column_count($15)|0); + HEAP32[$10>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$10>>2]|0; + $19 = ($17|0)<($18|0); + $20 = HEAP32[$5>>2]|0; + $21 = ($20|0)>=(0); + $or$cond = $19 & $21; + if (!($or$cond)) { + $45 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($45|0); } - while(1) { - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 48|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)!=(0|0); - if (!($25)) { - break; + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$10>>2]|0; + $24 = Math_imul($22, $23)|0; + $25 = HEAP32[$5>>2]|0; + $26 = (($25) + ($24))|0; + HEAP32[$5>>2] = $26; + $27 = HEAP32[$11>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_mutex_enter($29); + $30 = HEAP32[$6>>2]|0; + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 100|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = (($33) + (($34*40)|0)|0); + $36 = (FUNCTION_TABLE_ii[$30 & 255]($35)|0); + HEAP32[$8>>2] = $36; + $37 = HEAP32[$11>>2]|0; + $38 = ((($37)) + 69|0); + $39 = HEAP8[$38>>0]|0; + $40 = ($39<<24>>24)!=(0); + if ($40) { + $41 = HEAP32[$11>>2]|0; + _sqlite3OomClear($41); + HEAP32[$8>>2] = 0; + } + $42 = HEAP32[$11>>2]|0; + $43 = ((($42)) + 12|0); + $44 = HEAP32[$43>>2]|0; + _sqlite3_mutex_leave($44); + $45 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($45|0); +} +function _corruptSchema($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP32[$6>>2]|0; + $11 = ((($10)) + 69|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)!=(0); + if (!($13)) { + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = $16 & 65536; + $18 = ($17|0)==(0); + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)==(0|0); + if ($20) { + HEAP32[$4>>2] = 27259; + } + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer>>2] = $22; + $23 = (_sqlite3MPrintf($21,27261,$vararg_buffer)|0); + HEAP32[$7>>2] = $23; + $24 = HEAP32[$5>>2]|0; + $25 = ($24|0)!=(0|0); + if ($25) { + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$7>>2]|0; + $28 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer1>>2] = $27; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $28; + $29 = (_sqlite3MPrintf($26,27292,$vararg_buffer1)|0); + HEAP32[$7>>2] = $29; + } + $30 = HEAP32[$6>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$33>>2]|0; + _sqlite3DbFree($30,$34); + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$38>>2] = $35; } - $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 48|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$2>>2] = $28; } - $29 = HEAP32[$savedFlags>>2]|0; - $30 = HEAP32[$db>>2]|0; - $31 = ((($30)) + 24|0); - HEAP32[$31>>2] = $29; - $32 = HEAP32[$db>>2]|0; - $33 = (_sqlite3DbMallocZero($32,72,0)|0); - HEAP32[$pTab>>2] = $33; - $34 = HEAP32[$pTab>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - HEAP32[$0>>2] = 0; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 69|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ($42|0)!=(0); + if ($43) { + $47 = 7; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 12|0); + HEAP32[$46>>2] = $47; + STACKTOP = sp;return; } - $36 = HEAP32[$pTab>>2]|0; - $37 = ((($36)) + 36|0); - HEAP16[$37>>1] = 1; - $38 = HEAP32[$pTab>>2]|0; - HEAP32[$38>>2] = 0; - $39 = HEAP32[$pTab>>2]|0; - $40 = ((($39)) + 38|0); - HEAP16[$40>>1] = 200; - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$2>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$pTab>>2]|0; - $45 = ((($44)) + 34|0); - $46 = HEAP32[$pTab>>2]|0; - $47 = ((($46)) + 4|0); - (_sqlite3ColumnsFromExprList($41,$43,$45,$47)|0); - $48 = HEAP32[$1>>2]|0; - $49 = HEAP32[$pTab>>2]|0; - $50 = HEAP32[$2>>2]|0; - _sqlite3SelectAddColumnTypeAndCollation($48,$49,$50); - $51 = HEAP32[$pTab>>2]|0; - $52 = ((($51)) + 32|0); - HEAP16[$52>>1] = -1; - $53 = HEAP32[$db>>2]|0; - $54 = ((($53)) + 69|0); - $55 = HEAP8[$54>>0]|0; - $56 = ($55<<24>>24)!=(0); - if ($56) { - $57 = HEAP32[$db>>2]|0; - $58 = HEAP32[$pTab>>2]|0; - _sqlite3DeleteTable($57,$58); - HEAP32[$0>>2] = 0; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); - } else { - $59 = HEAP32[$pTab>>2]|0; - HEAP32[$0>>2] = $59; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); + $44 = (_sqlite3CorruptError(113554)|0); + $47 = $44; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 12|0); + HEAP32[$46>>2] = $47; + STACKTOP = sp;return; +} +function _sqlite3_prepare($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$9>>2]|0; + $16 = (_sqlite3LockAndPrepare($11,$12,$13,0,0,$14,$15)|0); + HEAP32[$10>>2] = $16; + $17 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _sqlite3ValueFromExpr($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp + 13|0; + $8 = sp + 12|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP8[$7>>0] = $2; + HEAP8[$8>>0] = $3; + HEAP32[$9>>2] = $4; + $10 = HEAP32[$6>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + $18 = 0; + STACKTOP = sp;return ($18|0); } - return (0)|0; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP8[$7>>0]|0; + $15 = HEAP8[$8>>0]|0; + $16 = HEAP32[$9>>2]|0; + $17 = (_valueFromExpr($12,$13,$14,$15,$16,0)|0); + $18 = $17; + STACKTOP = sp;return ($18|0); } -function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { - $pParse = $pParse|0; - $pEList = $pEList|0; - $pnCol = $pnCol|0; - $paCol = $paCol|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $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, $aCol = 0, $cnt = 0, $db = 0, $ht = 0, $i = 0, $iCol = 0, $j = 0, $nCol = 0, $nName = 0, $p = 0; - var $pCol = 0, $pColExpr = 0, $pTab = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $zName = 0, label = 0, sp = 0; +function _sqlite3GetTempReg($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 104|0; - $1 = sp + 100|0; - $2 = sp + 96|0; - $3 = sp + 92|0; - $4 = sp + 88|0; - $db = sp + 84|0; - $i = sp + 80|0; - $j = sp + 76|0; - $cnt = sp + 72|0; - $aCol = sp + 68|0; - $pCol = sp + 64|0; - $nCol = sp + 60|0; - $p = sp + 56|0; - $zName = sp + 52|0; - $nName = sp + 48|0; - $ht = sp + 32|0; - $pColExpr = sp + 28|0; - $pTab = sp + 24|0; - $iCol = sp + 20|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pEList; - HEAP32[$3>>2] = $pnCol; - HEAP32[$4>>2] = $paCol; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - _sqlite3HashInit($ht); - $7 = HEAP32[$2>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$2>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 19|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)==(0); + $8 = HEAP32[$2>>2]|0; + if ($7) { + $9 = ((($8)) + 44|0); $10 = HEAP32[$9>>2]|0; - HEAP32[$nCol>>2] = $10; - $11 = HEAP32[$db>>2]|0; - $12 = HEAP32[$nCol>>2]|0; - $13 = $12<<4; - $14 = (_sqlite3DbMallocZero($11,$13,0)|0); - HEAP32[$aCol>>2] = $14; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + HEAP32[$1>>2] = $11; + $20 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($20|0); } else { - HEAP32[$nCol>>2] = 0; - HEAP32[$aCol>>2] = 0; + $12 = ((($8)) + 352|0); + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 19|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($15) + -1)<<24>>24; + HEAP8[$14>>0] = $16; + $17 = $16&255; + $18 = (($12) + ($17<<2)|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$1>>2] = $19; + $20 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($20|0); } - $15 = HEAP32[$nCol>>2]|0; - $16 = $15&65535; - $17 = HEAP32[$3>>2]|0; - HEAP16[$17>>1] = $16; - $18 = HEAP32[$aCol>>2]|0; - $19 = HEAP32[$4>>2]|0; - HEAP32[$19>>2] = $18; - HEAP32[$i>>2] = 0; - $20 = HEAP32[$aCol>>2]|0; - HEAP32[$pCol>>2] = $20; + return (0)|0; +} +function _sqlite3VdbeCurrentAddr($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 136|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _sqlite3ReleaseTempReg($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)!=(0); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 19|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)<(8); + if (!($12)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 152|0); + HEAP32[$5>>2] = $14; while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$nCol>>2]|0; - $23 = ($21|0)<($22|0); - if (!($23)) { + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 25|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($15|0)<($19|0); + if (!($20)) { + label = 8; break; } - $24 = HEAP32[$db>>2]|0; - $25 = ((($24)) + 69|0); - $26 = HEAP8[$25>>0]|0; - $27 = ($26<<24>>24)!=(0); - $28 = $27 ^ 1; - if (!($28)) { + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = ($23|0)==($24|0); + if ($25) { + label = 6; break; } - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + (($29*20)|0)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_sqlite3ExprSkipCollate($34)|0); - HEAP32[$p>>2] = $35; - $36 = HEAP32[$i>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + (($36*20)|0)|0); - $41 = ((($40)) + 4|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$zName>>2] = $42; - $43 = ($42|0)!=(0|0); - do { - if (!($43)) { - $44 = HEAP32[$p>>2]|0; - HEAP32[$pColExpr>>2] = $44; - while(1) { - $45 = HEAP32[$pColExpr>>2]|0; - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = ($47|0)==(122); - $49 = HEAP32[$pColExpr>>2]|0; - if (!($48)) { - break; - } - $50 = ((($49)) + 16|0); - $51 = HEAP32[$50>>2]|0; - HEAP32[$pColExpr>>2] = $51; - } - $52 = HEAP8[$49>>0]|0; - $53 = $52&255; - $54 = ($53|0)==(152); - if ($54) { - $55 = HEAP32[$pColExpr>>2]|0; - $56 = ((($55)) + 44|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)!=(0|0); - if ($58) { - $59 = HEAP32[$pColExpr>>2]|0; - $60 = ((($59)) + 32|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61 << 16 >> 16; - HEAP32[$iCol>>2] = $62; - $63 = HEAP32[$pColExpr>>2]|0; - $64 = ((($63)) + 44|0); - $65 = HEAP32[$64>>2]|0; - HEAP32[$pTab>>2] = $65; - $66 = HEAP32[$iCol>>2]|0; - $67 = ($66|0)<(0); - if ($67) { - $68 = HEAP32[$pTab>>2]|0; - $69 = ((($68)) + 32|0); - $70 = HEAP16[$69>>1]|0; - $71 = $70 << 16 >> 16; - HEAP32[$iCol>>2] = $71; - } - $72 = HEAP32[$iCol>>2]|0; - $73 = ($72|0)>=(0); - if ($73) { - $74 = HEAP32[$iCol>>2]|0; - $75 = HEAP32[$pTab>>2]|0; - $76 = ((($75)) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77) + ($74<<4)|0); - $79 = HEAP32[$78>>2]|0; - $80 = $79; - } else { - $80 = 24745; - } - HEAP32[$zName>>2] = $80; - break; - } - } - $81 = HEAP32[$pColExpr>>2]|0; - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = ($83|0)==(55); - if ($84) { - $85 = HEAP32[$pColExpr>>2]|0; - $86 = ((($85)) + 8|0); - $87 = HEAP32[$86>>2]|0; - HEAP32[$zName>>2] = $87; - break; - } else { - $88 = HEAP32[$i>>2]|0; - $89 = HEAP32[$2>>2]|0; - $90 = ((($89)) + 4|0); - $91 = HEAP32[$90>>2]|0; - $92 = (($91) + (($88*20)|0)|0); - $93 = ((($92)) + 8|0); - $94 = HEAP32[$93>>2]|0; - HEAP32[$zName>>2] = $94; - break; - } - } - } while(0); - $95 = HEAP32[$db>>2]|0; - $96 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer>>2] = $96; - $97 = (_sqlite3MPrintf($95,18391,$vararg_buffer)|0); - HEAP32[$zName>>2] = $97; - HEAP32[$cnt>>2] = 0; - while(1) { - $98 = HEAP32[$zName>>2]|0; - $99 = ($98|0)!=(0|0); - if ($99) { - $100 = HEAP32[$zName>>2]|0; - $101 = (_sqlite3HashFind($ht,$100)|0); - $102 = ($101|0)!=(0|0); - $169 = $102; - } else { - $169 = 0; - } - $103 = HEAP32[$zName>>2]|0; - if (!($169)) { - break; - } - $104 = (_sqlite3Strlen30($103)|0); - HEAP32[$nName>>2] = $104; - $105 = HEAP32[$nName>>2]|0; - $106 = ($105|0)>(0); - if ($106) { - $107 = HEAP32[$nName>>2]|0; - $108 = (($107) - 1)|0; - HEAP32[$j>>2] = $108; - while(1) { - $109 = HEAP32[$j>>2]|0; - $110 = ($109|0)>(0); - if (!($110)) { - break; - } - $111 = HEAP32[$j>>2]|0; - $112 = HEAP32[$zName>>2]|0; - $113 = (($112) + ($111)|0); - $114 = HEAP8[$113>>0]|0; - $115 = $114&255; - $116 = (18403 + ($115)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = $118 & 4; - $120 = ($119|0)!=(0); - if (!($120)) { - break; - } - $121 = HEAP32[$j>>2]|0; - $122 = (($121) + -1)|0; - HEAP32[$j>>2] = $122; - } - $123 = HEAP32[$j>>2]|0; - $124 = HEAP32[$zName>>2]|0; - $125 = (($124) + ($123)|0); - $126 = HEAP8[$125>>0]|0; - $127 = $126 << 24 >> 24; - $128 = ($127|0)==(58); - if ($128) { - $129 = HEAP32[$j>>2]|0; - HEAP32[$nName>>2] = $129; - } - } - $130 = HEAP32[$db>>2]|0; - $131 = HEAP32[$nName>>2]|0; - $132 = HEAP32[$zName>>2]|0; - $133 = HEAP32[$cnt>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[$cnt>>2] = $134; - HEAP32[$vararg_buffer2>>2] = $131; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $132; - $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); - HEAP32[$vararg_ptr6>>2] = $134; - $135 = (_sqlite3MPrintf($130,29047,$vararg_buffer2)|0); - HEAP32[$zName>>2] = $135; - $136 = HEAP32[$cnt>>2]|0; - $137 = ($136>>>0)>(3); - if (!($137)) { - continue; - } - _sqlite3_randomness(4,$cnt); - } - $138 = HEAP32[$pCol>>2]|0; - HEAP32[$138>>2] = $103; - $139 = HEAP32[$zName>>2]|0; - $140 = ($139|0)!=(0|0); - if ($140) { - $141 = HEAP32[$zName>>2]|0; - $142 = HEAP32[$pCol>>2]|0; - $143 = (_sqlite3HashInsert($ht,$141,$142)|0); - $144 = HEAP32[$pCol>>2]|0; - $145 = ($143|0)==($144|0); - if ($145) { - $146 = HEAP32[$db>>2]|0; - _sqlite3OomFault($146); - } - } - $147 = HEAP32[$i>>2]|0; - $148 = (($147) + 1)|0; - HEAP32[$i>>2] = $148; - $149 = HEAP32[$pCol>>2]|0; - $150 = ((($149)) + 16|0); - HEAP32[$pCol>>2] = $150; - } - _sqlite3HashClear($ht); - $151 = HEAP32[$db>>2]|0; - $152 = ((($151)) + 69|0); - $153 = HEAP8[$152>>0]|0; - $154 = ($153<<24>>24)!=(0); - if (!($154)) { - HEAP32[$0>>2] = 0; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); + $28 = HEAP32[$4>>2]|0; + $29 = (($28) + 1)|0; + HEAP32[$4>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 20|0); + HEAP32[$5>>2] = $31; } - HEAP32[$j>>2] = 0; - while(1) { - $155 = HEAP32[$j>>2]|0; - $156 = HEAP32[$i>>2]|0; - $157 = ($155|0)<($156|0); - $158 = HEAP32[$db>>2]|0; - if (!($157)) { - break; - } - $159 = HEAP32[$j>>2]|0; - $160 = HEAP32[$aCol>>2]|0; - $161 = (($160) + ($159<<4)|0); - $162 = HEAP32[$161>>2]|0; - _sqlite3DbFree($158,$162); - $163 = HEAP32[$j>>2]|0; - $164 = (($163) + 1)|0; - HEAP32[$j>>2] = $164; + if ((label|0) == 6) { + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 6|0); + HEAP8[$27>>0] = 1; + STACKTOP = sp;return; + } + else if ((label|0) == 8) { + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 352|0); + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 19|0); + $37 = HEAP8[$36>>0]|0; + $38 = (($37) + 1)<<24>>24; + HEAP8[$36>>0] = $38; + $39 = $37&255; + $40 = (($34) + ($39<<2)|0); + HEAP32[$40>>2] = $32; + STACKTOP = sp;return; } - $165 = HEAP32[$aCol>>2]|0; - _sqlite3DbFree($158,$165); - $166 = HEAP32[$4>>2]|0; - HEAP32[$166>>2] = 0; - $167 = HEAP32[$3>>2]|0; - HEAP16[$167>>1] = 0; - HEAP32[$0>>2] = 7; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); } -function _sqlite3SelectAddColumnTypeAndCollation($pParse,$pTab,$pSelect) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $pSelect = $pSelect|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $db = 0, $i = 0, $m = 0, $n = 0, $p = 0, $pCol = 0, $pColl = 0, $sNC = 0; - var $szAll = 0, $zType = 0, label = 0, sp = 0; +function _reloadTableSchema($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; - $db = sp + 72|0; - $sNC = sp + 40|0; - $pCol = sp + 36|0; - $pColl = sp + 32|0; - $i = sp + 28|0; - $p = sp + 24|0; - $a = sp + 20|0; - $szAll = sp; - $zType = sp + 16|0; - $n = sp + 12|0; - $m = sp + 8|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $pSelect; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = $szAll; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = 0; - $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 69|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)!=(0); - if ($12) { + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $11 = HEAP32[$3>>2]|0; + $12 = (_sqlite3GetVdbe($11)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { STACKTOP = sp;return; } - ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($sNC)) + 4|0); - HEAP32[$16>>2] = $15; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$a>>2] = $20; - HEAP32[$i>>2] = 0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$pCol>>2] = $23; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 64|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3SchemaToIndex($16,$19)|0); + HEAP32[$8>>2] = $20; + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = (_sqlite3TriggerList($21,$22)|0); + HEAP32[$9>>2] = $23; while(1) { - $24 = HEAP32[$i>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 34|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27 << 16 >> 16; - $29 = ($24|0)<($28|0); - if (!($29)) { + $24 = HEAP32[$9>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { break; } - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$a>>2]|0; - $32 = (($31) + (($30*20)|0)|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$p>>2] = $33; - $34 = HEAP32[$p>>2]|0; - $35 = HEAP32[$pCol>>2]|0; - $36 = ((($35)) + 14|0); - $37 = (_columnTypeImpl($sNC,$34,$36)|0); - HEAP32[$zType>>2] = $37; - $38 = HEAP32[$pCol>>2]|0; - $39 = ((($38)) + 14|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = $szAll; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (_i64Add(($44|0),($47|0),($41|0),0)|0); - $49 = tempRet0; - $50 = $szAll; - $51 = $50; - HEAP32[$51>>2] = $48; - $52 = (($50) + 4)|0; - $53 = $52; - HEAP32[$53>>2] = $49; - $54 = HEAP32[$p>>2]|0; - $55 = (_sqlite3ExprAffinity($54)|0); - $56 = HEAP32[$pCol>>2]|0; - $57 = ((($56)) + 13|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[$zType>>2]|0; - $59 = ($58|0)!=(0|0); - if ($59) { - $60 = HEAP32[$zType>>2]|0; - $61 = (_sqlite3Strlen30($60)|0); - HEAP32[$m>>2] = $61; - $62 = ($61|0)>(0); - if ($62) { - $63 = HEAP32[$pCol>>2]|0; - $64 = HEAP32[$63>>2]|0; - $65 = (_sqlite3Strlen30($64)|0); - HEAP32[$n>>2] = $65; - $66 = HEAP32[$db>>2]|0; - $67 = HEAP32[$pCol>>2]|0; - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$n>>2]|0; - $70 = HEAP32[$m>>2]|0; - $71 = (($69) + ($70))|0; - $72 = (($71) + 2)|0; - $73 = ($72|0)<(0); - $74 = $73 << 31 >> 31; - $75 = (_sqlite3DbReallocOrFree($66,$68,$72,$74)|0); - $76 = HEAP32[$pCol>>2]|0; - HEAP32[$76>>2] = $75; - $77 = HEAP32[$pCol>>2]|0; - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)!=(0|0); - if ($79) { - $80 = HEAP32[$n>>2]|0; - $81 = (($80) + 1)|0; - $82 = HEAP32[$pCol>>2]|0; - $83 = HEAP32[$82>>2]|0; - $84 = (($83) + ($81)|0); - $85 = HEAP32[$zType>>2]|0; - $86 = HEAP32[$m>>2]|0; - $87 = (($86) + 1)|0; - _memcpy(($84|0),($85|0),($87|0))|0; - $88 = HEAP32[$pCol>>2]|0; - $89 = ((($88)) + 15|0); - $90 = HEAP8[$89>>0]|0; - $91 = $90&255; - $92 = $91 | 4; - $93 = $92&255; - HEAP8[$89>>0] = $93; - } - } - } - $94 = HEAP32[$pCol>>2]|0; - $95 = ((($94)) + 13|0); - $96 = HEAP8[$95>>0]|0; - $97 = $96 << 24 >> 24; - $98 = ($97|0)==(0); - if ($98) { - $99 = HEAP32[$pCol>>2]|0; - $100 = ((($99)) + 13|0); - HEAP8[$100>>0] = 65; - } - $101 = HEAP32[$0>>2]|0; - $102 = HEAP32[$p>>2]|0; - $103 = (_sqlite3ExprCollSeq($101,$102)|0); - HEAP32[$pColl>>2] = $103; - $104 = HEAP32[$pColl>>2]|0; - $105 = ($104|0)!=(0|0); - if ($105) { - $106 = HEAP32[$pCol>>2]|0; - $107 = ((($106)) + 8|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==(0|0); - if ($109) { - $110 = HEAP32[$db>>2]|0; - $111 = HEAP32[$pColl>>2]|0; - $112 = HEAP32[$111>>2]|0; - $113 = (_sqlite3DbStrDup($110,$112)|0); - $114 = HEAP32[$pCol>>2]|0; - $115 = ((($114)) + 8|0); - HEAP32[$115>>2] = $113; - } - } - $116 = HEAP32[$i>>2]|0; - $117 = (($116) + 1)|0; - HEAP32[$i>>2] = $117; - $118 = HEAP32[$pCol>>2]|0; - $119 = ((($118)) + 16|0); - HEAP32[$pCol>>2] = $119; + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 20|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3SchemaToIndex($27,$30)|0); + HEAP32[$10>>2] = $31; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$10>>2]|0; + $34 = HEAP32[$9>>2]|0; + $35 = HEAP32[$34>>2]|0; + (_sqlite3VdbeAddOp4($32,140,$33,0,0,$35,0)|0); + $36 = HEAP32[$9>>2]|0; + $37 = ((($36)) + 32|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$9>>2] = $38; } - $120 = $szAll; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = (($120) + 4)|0; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = (___muldi3(($122|0),($125|0),4,0)|0); - $127 = tempRet0; - $128 = (_sqlite3LogEst($126,$127)|0); - $129 = HEAP32[$1>>2]|0; - $130 = ((($129)) + 40|0); - HEAP16[$130>>1] = $128; + $39 = HEAP32[$6>>2]|0; + $40 = HEAP32[$8>>2]|0; + $41 = HEAP32[$4>>2]|0; + $42 = HEAP32[$41>>2]|0; + (_sqlite3VdbeAddOp4($39,138,$40,0,0,$42,0)|0); + $43 = HEAP32[$3>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $45; + $46 = (_sqlite3MPrintf($44,27626,$vararg_buffer)|0); + HEAP32[$7>>2] = $46; + $47 = HEAP32[$7>>2]|0; + $48 = ($47|0)!=(0|0); + if (!($48)) { + STACKTOP = sp;return; + } + $49 = HEAP32[$6>>2]|0; + $50 = HEAP32[$8>>2]|0; + $51 = HEAP32[$7>>2]|0; + _sqlite3VdbeAddParseSchemaOp($49,$50,$51); + $52 = HEAP32[$3>>2]|0; + $53 = HEAP32[$4>>2]|0; + $54 = (_whereTempTriggers($52,$53)|0); + HEAP32[$7>>2] = $54; + $55 = ($54|0)!=(0|0); + if (!($55)) { + STACKTOP = sp;return; + } + $56 = HEAP32[$6>>2]|0; + $57 = HEAP32[$7>>2]|0; + _sqlite3VdbeAddParseSchemaOp($56,1,$57); STACKTOP = sp;return; } -function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { - $pNC = $pNC|0; - $pExpr = $pExpr|0; - $pEstWidth = $pEstWidth|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $estWidth = 0, $iCol = 0, $j = 0, $p = 0, $p3 = 0, $pS = 0, $pS2 = 0, $pTab = 0, $pTabList = 0, $sNC = 0, $sNC1 = 0; - var $zType = 0, label = 0, sp = 0; +function _sqlite3TriggerList($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 112|0; - $1 = sp + 108|0; - $2 = sp + 104|0; - $zType = sp + 100|0; - $j = sp + 96|0; - $estWidth = sp + 116|0; - $pTab = sp + 92|0; - $pS = sp + 88|0; - $iCol = sp + 84|0; - $pTabList = sp + 80|0; - $sNC = sp + 48|0; - $p = sp + 40|0; - $sNC1 = sp + 8|0; - $pS2 = sp + 4|0; - $p3 = sp; - HEAP32[$0>>2] = $pNC; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $pEstWidth; - HEAP32[$zType>>2] = 0; - HEAP8[$estWidth>>0] = 1; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - L1: do { - switch ($5|0) { - case 152: case 154: { - HEAP32[$pTab>>2] = 0; - HEAP32[$pS>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 32|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8 << 16 >> 16; - HEAP32[$iCol>>2] = $9; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 16|0); + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$5>>2] = $15; + HEAP32[$6>>2] = 0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 150|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)!=(0); + if ($19) { + HEAP32[$2>>2] = 0; + $67 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($67|0); + } + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 64|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($20|0)!=($23|0); + L5: do { + if ($24) { + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 40|0); + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$7>>2] = $28; while(1) { - $10 = HEAP32[$0>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - break; - } - $12 = HEAP32[$pTab>>2]|0; - $13 = ($12|0)!=(0|0); - $14 = $13 ^ 1; - if (!($14)) { - break; + $29 = HEAP32[$7>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { + break L5; } - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$pTabList>>2] = $17; - HEAP32[$j>>2] = 0; - while(1) { - $18 = HEAP32[$j>>2]|0; - $19 = HEAP32[$pTabList>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = ($18|0)<($20|0); - if (!($21)) { - break; - } - $22 = HEAP32[$j>>2]|0; - $23 = HEAP32[$pTabList>>2]|0; - $24 = ((($23)) + 8|0); - $25 = (($24) + (($22*72)|0)|0); - $26 = ((($25)) + 44|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 28|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($27|0)!=($30|0); - if (!($31)) { - break; - } - $32 = HEAP32[$j>>2]|0; - $33 = (($32) + 1)|0; - HEAP32[$j>>2] = $33; - } - $34 = HEAP32[$j>>2]|0; - $35 = HEAP32[$pTabList>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$8>>2] = $33; + $34 = HEAP32[$8>>2]|0; + $35 = ((($34)) + 24|0); $36 = HEAP32[$35>>2]|0; - $37 = ($34|0)<($36|0); - if ($37) { - $38 = HEAP32[$j>>2]|0; - $39 = HEAP32[$pTabList>>2]|0; - $40 = ((($39)) + 8|0); - $41 = (($40) + (($38*72)|0)|0); - $42 = ((($41)) + 16|0); + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 64|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($36|0)==($39|0); + if ($40) { + $41 = HEAP32[$8>>2]|0; + $42 = ((($41)) + 4|0); $43 = HEAP32[$42>>2]|0; - HEAP32[$pTab>>2] = $43; - $44 = HEAP32[$j>>2]|0; - $45 = HEAP32[$pTabList>>2]|0; - $46 = ((($45)) + 8|0); - $47 = (($46) + (($44*72)|0)|0); - $48 = ((($47)) + 20|0); - $49 = HEAP32[$48>>2]|0; - HEAP32[$pS>>2] = $49; - continue; - } else { - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 16|0); - $52 = HEAP32[$51>>2]|0; - HEAP32[$0>>2] = $52; - continue; + $44 = HEAP32[$4>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = (_sqlite3StrICmp($43,$45)|0); + $47 = (0)==($46|0); + if ($47) { + $48 = HEAP32[$6>>2]|0; + $49 = ($48|0)!=(0|0); + if ($49) { + $50 = HEAP32[$6>>2]|0; + $56 = $50; + } else { + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 60|0); + $53 = HEAP32[$52>>2]|0; + $56 = $53; + } + $54 = HEAP32[$8>>2]|0; + $55 = ((($54)) + 32|0); + HEAP32[$55>>2] = $56; + $57 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $57; + } } + $58 = HEAP32[$7>>2]|0; + $59 = HEAP32[$58>>2]|0; + HEAP32[$7>>2] = $59; } - $53 = HEAP32[$pTab>>2]|0; - $54 = ($53|0)==(0|0); - if (!($54)) { - $55 = HEAP32[$pS>>2]|0; - $56 = ($55|0)!=(0|0); - if ($56) { - $57 = HEAP32[$iCol>>2]|0; - $58 = ($57|0)>=(0); - if (!($58)) { - break L1; - } - $59 = HEAP32[$iCol>>2]|0; - $60 = HEAP32[$pS>>2]|0; - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$61>>2]|0; - $63 = ($59|0)<($62|0); - if (!($63)) { - break L1; - } - $64 = HEAP32[$iCol>>2]|0; - $65 = HEAP32[$pS>>2]|0; - $66 = HEAP32[$65>>2]|0; - $67 = ((($66)) + 4|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68) + (($64*20)|0)|0); - $70 = HEAP32[$69>>2]|0; - HEAP32[$p>>2] = $70; - $71 = HEAP32[$pS>>2]|0; - $72 = ((($71)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ((($sNC)) + 4|0); - HEAP32[$74>>2] = $73; - $75 = HEAP32[$0>>2]|0; - $76 = ((($sNC)) + 16|0); - HEAP32[$76>>2] = $75; - $77 = HEAP32[$0>>2]|0; - $78 = HEAP32[$77>>2]|0; - HEAP32[$sNC>>2] = $78; - $79 = HEAP32[$p>>2]|0; - $80 = (_columnTypeImpl($sNC,$79,$estWidth)|0); - HEAP32[$zType>>2] = $80; + } + } while(0); + $60 = HEAP32[$6>>2]|0; + $61 = ($60|0)!=(0|0); + if ($61) { + $62 = HEAP32[$6>>2]|0; + $66 = $62; + } else { + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 60|0); + $65 = HEAP32[$64>>2]|0; + $66 = $65; + } + HEAP32[$2>>2] = $66; + $67 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($67|0); +} +function _whereTempTriggers($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 0; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 16|0); + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$6>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 64|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = ($18|0)!=($19|0); + L1: do { + if ($20) { + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$7>>2] = $22; + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = (_sqlite3TriggerList($23,$24)|0); + HEAP32[$4>>2] = $25; + while(1) { + $26 = HEAP32[$4>>2]|0; + $27 = ($26|0)!=(0|0); + if (!($27)) { break L1; } - $81 = HEAP32[$pTab>>2]|0; - $82 = ((($81)) + 64|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)!=(0|0); - if ($84) { - $85 = HEAP32[$iCol>>2]|0; - $86 = ($85|0)<(0); - if ($86) { - $87 = HEAP32[$pTab>>2]|0; - $88 = ((($87)) + 32|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89 << 16 >> 16; - HEAP32[$iCol>>2] = $90; - } - $91 = HEAP32[$iCol>>2]|0; - $92 = ($91|0)<(0); - if ($92) { - HEAP32[$zType>>2] = 18759; - break L1; - } else { - $93 = HEAP32[$iCol>>2]|0; - $94 = HEAP32[$pTab>>2]|0; - $95 = ((($94)) + 4|0); - $96 = HEAP32[$95>>2]|0; - $97 = (($96) + ($93<<4)|0); - $98 = (_sqlite3ColumnType($97,0)|0); - HEAP32[$zType>>2] = $98; - $99 = HEAP32[$iCol>>2]|0; - $100 = HEAP32[$pTab>>2]|0; - $101 = ((($100)) + 4|0); - $102 = HEAP32[$101>>2]|0; - $103 = (($102) + ($99<<4)|0); - $104 = ((($103)) + 14|0); - $105 = HEAP8[$104>>0]|0; - HEAP8[$estWidth>>0] = $105; - break L1; - } + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 20|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = ($30|0)==($31|0); + if ($32) { + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = (_whereOrName($33,$34,$36)|0); + HEAP32[$5>>2] = $37; } + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 32|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$4>>2] = $40; } - break; - } - case 119: { - $106 = HEAP32[$1>>2]|0; - $107 = ((($106)) + 20|0); - $108 = HEAP32[$107>>2]|0; - HEAP32[$pS2>>2] = $108; - $109 = HEAP32[$pS2>>2]|0; - $110 = HEAP32[$109>>2]|0; - $111 = ((($110)) + 4|0); - $112 = HEAP32[$111>>2]|0; - $113 = HEAP32[$112>>2]|0; - HEAP32[$p3>>2] = $113; - $114 = HEAP32[$pS2>>2]|0; - $115 = ((($114)) + 28|0); - $116 = HEAP32[$115>>2]|0; - $117 = ((($sNC1)) + 4|0); - HEAP32[$117>>2] = $116; - $118 = HEAP32[$0>>2]|0; - $119 = ((($sNC1)) + 16|0); - HEAP32[$119>>2] = $118; - $120 = HEAP32[$0>>2]|0; - $121 = HEAP32[$120>>2]|0; - HEAP32[$sNC1>>2] = $121; - $122 = HEAP32[$p3>>2]|0; - $123 = (_columnTypeImpl($sNC1,$122,$estWidth)|0); - HEAP32[$zType>>2] = $123; - break; - } - default: { - } } } while(0); - $124 = HEAP32[$2>>2]|0; - $125 = ($124|0)!=(0|0); - if (!($125)) { - $128 = HEAP32[$zType>>2]|0; - STACKTOP = sp;return ($128|0); + $41 = HEAP32[$5>>2]|0; + $42 = ($41|0)!=(0|0); + if (!($42)) { + $51 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($51|0); } - $126 = HEAP8[$estWidth>>0]|0; - $127 = HEAP32[$2>>2]|0; - HEAP8[$127>>0] = $126; - $128 = HEAP32[$zType>>2]|0; - STACKTOP = sp;return ($128|0); + $43 = HEAP32[$2>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $45; + $46 = (_sqlite3MPrintf($44,27638,$vararg_buffer)|0); + HEAP32[$8>>2] = $46; + $47 = HEAP32[$2>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$5>>2]|0; + _sqlite3DbFree($48,$49); + $50 = HEAP32[$8>>2]|0; + HEAP32[$5>>2] = $50; + $51 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($51|0); } -function _sqlite3ExprAffinity($pExpr) { - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $op = 0, $or$cond = 0, label = 0, sp = 0; +function _whereOrName($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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $op = sp; - HEAP32[$1>>2] = $pExpr; - $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3ExprSkipCollate($2)|0); - HEAP32[$1>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 512; - $8 = ($7|0)!=(0); + STACKTOP = STACKTOP + 32|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)!=(0|0); + $9 = HEAP32[$3>>2]|0; if ($8) { - HEAP8[$0>>0] = 0; - $65 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($65|0); - } - $9 = HEAP32[$1>>2]|0; - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - HEAP32[$op>>2] = $11; - $12 = HEAP32[$op>>2]|0; - $13 = ($12|0)==(119); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 20|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3ExprAffinity($20)|0); - HEAP8[$0>>0] = $21; - $65 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($65|0); - } - $22 = HEAP32[$op>>2]|0; - $23 = ($22|0)==(157); - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 38|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - HEAP32[$op>>2] = $27; - } - $28 = HEAP32[$op>>2]|0; - $29 = ($28|0)==(66); - if ($29) { - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 8|0); - $32 = HEAP32[$31>>2]|0; - $33 = (_sqlite3AffinityType($32,0)|0); - HEAP8[$0>>0] = $33; - $65 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($65|0); - } - $34 = HEAP32[$op>>2]|0; - $35 = ($34|0)==(154); - $36 = HEAP32[$op>>2]|0; - $37 = ($36|0)==(152); - $or$cond = $35 | $37; - if ($or$cond) { - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 44|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 32|0); - $43 = HEAP16[$42>>1]|0; - $44 = $43 << 16 >> 16; - $45 = (_sqlite3TableColumnAffinity($40,$44)|0); - HEAP8[$0>>0] = $45; - $65 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($65|0); - } - $46 = HEAP32[$op>>2]|0; - $47 = ($46|0)==(159); - $48 = HEAP32[$1>>2]|0; - if ($47) { - $49 = ((($48)) + 32|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50 << 16 >> 16; - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ((($54)) + 20|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$56>>2]|0; - $58 = ((($57)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = (($59) + (($51*20)|0)|0); - $61 = HEAP32[$60>>2]|0; - $62 = (_sqlite3ExprAffinity($61)|0); - HEAP8[$0>>0] = $62; - $65 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($65|0); + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer1>>2] = $12; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $13; + $14 = (_sqlite3MPrintf($9,27670,$vararg_buffer1)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$4>>2]|0; + _sqlite3DbFree($15,$16); + $17 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($17|0); } else { - $63 = ((($48)) + 1|0); - $64 = HEAP8[$63>>0]|0; - HEAP8[$0>>0] = $64; - $65 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($65|0); + $10 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $10; + $11 = (_sqlite3MPrintf($9,27662,$vararg_buffer)|0); + HEAP32[$6>>2] = $11; + $17 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($17|0); } return (0)|0; } -function _sqlite3ExprCollSeq($pParse,$pExpr) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $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; - 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; +function _valueFromExpr($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $j = 0, $op = 0; - var $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $p = 0, $pColl = 0, $pNext = 0, $zColl = 0, label = 0, sp = 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$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0; + var $vararg_buffer = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $db = sp + 28|0; - $pColl = sp + 24|0; - $p = sp + 20|0; - $op = sp + 16|0; - $j = sp + 12|0; - $zColl = sp + 8|0; - $pNext = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - HEAP32[$pColl>>2] = 0; - $4 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $4; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 58|0; + $10 = sp + 57|0; + $11 = sp + 40|0; + $12 = sp + 36|0; + $13 = sp + 32|0; + $14 = sp + 28|0; + $15 = sp + 24|0; + $16 = sp + 20|0; + $17 = sp + 16|0; + $18 = sp + 12|0; + $19 = sp + 56|0; + $20 = sp + 8|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP8[$9>>0] = $2; + HEAP8[$10>>0] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 1; + HEAP32[$17>>2] = 55752; + HEAP32[$18>>2] = 0; while(1) { - $5 = HEAP32[$p>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - break; - } - $7 = HEAP32[$p>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - HEAP32[$op>>2] = $9; - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = $12 & 512; - $14 = ($13|0)!=(0); - if ($14) { + $21 = HEAP32[$8>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + HEAP32[$13>>2] = $23; + $24 = ($23|0)==(156); + $25 = HEAP32[$13>>2]|0; + $26 = ($25|0)==(161); + $27 = $24 ? 1 : $26; + if (!($27)) { break; } - $15 = HEAP32[$op>>2]|0; - $16 = ($15|0)==(66); - $17 = HEAP32[$op>>2]|0; - $18 = ($17|0)==(156); - $or$cond = $16 | $18; - if ($or$cond) { - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 12|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$p>>2] = $21; - continue; - } - $22 = HEAP32[$op>>2]|0; - $23 = ($22|0)==(53); - if ($23) { - label = 9; - break; + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$8>>2] = $30; + } + $31 = HEAP32[$13>>2]|0; + $32 = ($31|0)==(157); + if ($32) { + $33 = HEAP32[$8>>2]|0; + $34 = ((($33)) + 38|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + HEAP32[$13>>2] = $36; + } + $37 = HEAP32[$13>>2]|0; + $38 = ($37|0)==(66); + if ($38) { + $39 = HEAP32[$8>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_sqlite3AffinityType($41,0)|0); + HEAP8[$19>>0] = $42; + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP8[$9>>0]|0; + $48 = HEAP8[$19>>0]|0; + $49 = HEAP32[$11>>2]|0; + $50 = HEAP32[$12>>2]|0; + $51 = (_valueFromExpr($43,$46,$47,$48,$49,$50)|0); + HEAP32[$18>>2] = $51; + $52 = HEAP32[$11>>2]|0; + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)!=(0|0); + if ($54) { + $55 = HEAP32[$11>>2]|0; + $56 = HEAP32[$55>>2]|0; + $57 = HEAP8[$19>>0]|0; + _sqlite3VdbeMemCast($56,$57,1); + $58 = HEAP32[$11>>2]|0; + $59 = HEAP32[$58>>2]|0; + $60 = HEAP8[$10>>0]|0; + _sqlite3ValueApplyAffinity($59,$60,1); } - $24 = HEAP32[$op>>2]|0; - $25 = ($24|0)==(157); - if ($25) { - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 38|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)==(53); - if ($30) { - label = 9; - break; + $61 = HEAP32[$18>>2]|0; + HEAP32[$6>>2] = $61; + $241 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($241|0); + } + $62 = HEAP32[$13>>2]|0; + $63 = ($62|0)==(155); + do { + if ($63) { + $64 = HEAP32[$8>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = ($68|0)==(134); + if (!($69)) { + $70 = HEAP32[$8>>2]|0; + $71 = ((($70)) + 12|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = ($74|0)==(132); + if (!($75)) { + break; + } } + $76 = HEAP32[$8>>2]|0; + $77 = ((($76)) + 12|0); + $78 = HEAP32[$77>>2]|0; + HEAP32[$8>>2] = $78; + $79 = HEAP32[$8>>2]|0; + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + HEAP32[$13>>2] = $81; + HEAP32[$16>>2] = -1; + HEAP32[$17>>2] = 27684; } - $39 = HEAP32[$op>>2]|0; - $40 = ($39|0)==(154); - $41 = HEAP32[$op>>2]|0; - $42 = ($41|0)==(152); - $or$cond3 = $40 | $42; - $43 = HEAP32[$op>>2]|0; - $44 = ($43|0)==(157); - $or$cond5 = $or$cond3 | $44; - $45 = HEAP32[$op>>2]|0; - $46 = ($45|0)==(88); - $or$cond7 = $or$cond5 | $46; - if ($or$cond7) { - $47 = HEAP32[$p>>2]|0; - $48 = ((($47)) + 44|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)!=(0|0); - if ($50) { - label = 12; - break; + } while(0); + $82 = HEAP32[$13>>2]|0; + $83 = ($82|0)==(97); + $84 = HEAP32[$13>>2]|0; + $85 = ($84|0)==(132); + $or$cond = $83 | $85; + $86 = HEAP32[$13>>2]|0; + $87 = ($86|0)==(134); + $or$cond3 = $or$cond | $87; + do { + if ($or$cond3) { + $88 = HEAP32[$7>>2]|0; + $89 = HEAP32[$12>>2]|0; + $90 = (_valueNew($88,$89)|0); + HEAP32[$15>>2] = $90; + $91 = HEAP32[$15>>2]|0; + $92 = ($91|0)==(0|0); + if ($92) { + label = 42; + } else { + $93 = HEAP32[$8>>2]|0; + $94 = ((($93)) + 4|0); + $95 = HEAP32[$94>>2]|0; + $96 = $95 & 1024; + $97 = ($96|0)!=(0); + if ($97) { + $98 = HEAP32[$15>>2]|0; + $99 = HEAP32[$8>>2]|0; + $100 = ((($99)) + 8|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)<(0); + $103 = $102 << 31 >> 31; + $104 = HEAP32[$16>>2]|0; + $105 = ($104|0)<(0); + $106 = $105 << 31 >> 31; + $107 = (___muldi3(($101|0),($103|0),($104|0),($106|0))|0); + $108 = tempRet0; + _sqlite3VdbeMemSetInt64($98,$107,$108); + } else { + $109 = HEAP32[$7>>2]|0; + $110 = HEAP32[$17>>2]|0; + $111 = HEAP32[$8>>2]|0; + $112 = ((($111)) + 8|0); + $113 = HEAP32[$112>>2]|0; + HEAP32[$vararg_buffer>>2] = $110; + $vararg_ptr8 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $113; + $114 = (_sqlite3MPrintf($109,23403,$vararg_buffer)|0); + HEAP32[$14>>2] = $114; + $115 = HEAP32[$14>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + label = 42; + break; + } + $117 = HEAP32[$15>>2]|0; + $118 = HEAP32[$14>>2]|0; + _sqlite3ValueSetStr($117,-1,$118,1,191); + } + $119 = HEAP32[$13>>2]|0; + $120 = ($119|0)==(134); + $121 = HEAP32[$13>>2]|0; + $122 = ($121|0)==(132); + $or$cond5 = $120 | $122; + if ($or$cond5) { + $123 = HEAP8[$10>>0]|0; + $124 = $123&255; + $125 = ($124|0)==(65); + if ($125) { + $126 = HEAP32[$15>>2]|0; + _sqlite3ValueApplyAffinity($126,67,1); + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + $127 = HEAP32[$15>>2]|0; + $128 = HEAP8[$10>>0]|0; + _sqlite3ValueApplyAffinity($127,$128,1); + } + $129 = HEAP32[$15>>2]|0; + $130 = ((($129)) + 8|0); + $131 = HEAP16[$130>>1]|0; + $132 = $131&65535; + $133 = $132 & 12; + $134 = ($133|0)!=(0); + if ($134) { + $135 = HEAP32[$15>>2]|0; + $136 = ((($135)) + 8|0); + $137 = HEAP16[$136>>1]|0; + $138 = $137&65535; + $139 = $138 & -3; + $140 = $139&65535; + HEAP16[$136>>1] = $140; + } + $141 = HEAP8[$9>>0]|0; + $142 = $141&255; + $143 = ($142|0)!=(1); + if ($143) { + $144 = HEAP32[$15>>2]|0; + $145 = HEAP8[$9>>0]|0; + $146 = $145&255; + $147 = (_sqlite3VdbeChangeEncoding($144,$146)|0); + HEAP32[$18>>2] = $147; + label = 41; + } else { + label = 41; + } } - } - $72 = HEAP32[$p>>2]|0; - $73 = ((($72)) + 4|0); - $74 = HEAP32[$73>>2]|0; - $75 = $74 & 256; - $76 = ($75|0)!=(0); - if (!($76)) { - break; - } - $77 = HEAP32[$p>>2]|0; - $78 = ((($77)) + 12|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)!=(0|0); - if ($80) { - $81 = HEAP32[$p>>2]|0; - $82 = ((($81)) + 12|0); - $83 = HEAP32[$82>>2]|0; - $84 = ((($83)) + 4|0); - $85 = HEAP32[$84>>2]|0; - $86 = $85 & 256; - $87 = ($86|0)!=(0); - if ($87) { - $88 = HEAP32[$p>>2]|0; - $89 = ((($88)) + 12|0); - $90 = HEAP32[$89>>2]|0; - HEAP32[$p>>2] = $90; - continue; + } else { + $148 = HEAP32[$13>>2]|0; + $149 = ($148|0)==(155); + if (!($149)) { + $206 = HEAP32[$13>>2]|0; + $207 = ($206|0)==(101); + if ($207) { + $208 = HEAP32[$7>>2]|0; + $209 = HEAP32[$12>>2]|0; + $210 = (_valueNew($208,$209)|0); + HEAP32[$15>>2] = $210; + $211 = HEAP32[$15>>2]|0; + $212 = ($211|0)==(0|0); + if ($212) { + label = 42; + break; + } else { + label = 41; + break; + } + } + $213 = HEAP32[$13>>2]|0; + $214 = ($213|0)==(133); + if (!($214)) { + label = 41; + break; + } + $215 = HEAP32[$7>>2]|0; + $216 = HEAP32[$12>>2]|0; + $217 = (_valueNew($215,$216)|0); + HEAP32[$15>>2] = $217; + $218 = HEAP32[$15>>2]|0; + $219 = ($218|0)!=(0|0); + if (!($219)) { + label = 42; + break; + } + $220 = HEAP32[$8>>2]|0; + $221 = ((($220)) + 8|0); + $222 = HEAP32[$221>>2]|0; + $223 = ((($222)) + 2|0); + HEAP32[$14>>2] = $223; + $224 = HEAP32[$14>>2]|0; + $225 = (_sqlite3Strlen30($224)|0); + $226 = (($225) - 1)|0; + HEAP32[$20>>2] = $226; + $227 = HEAP32[$15>>2]|0; + $228 = HEAP32[$7>>2]|0; + $229 = HEAP32[$14>>2]|0; + $230 = HEAP32[$20>>2]|0; + $231 = (_sqlite3HexToBlob($228,$229,$230)|0); + $232 = HEAP32[$20>>2]|0; + $233 = (($232|0) / 2)&-1; + (_sqlite3VdbeMemSetStr($227,$231,$233,0,191)|0); + label = 41; + break; } - } - $91 = HEAP32[$p>>2]|0; - $92 = ((($91)) + 16|0); - $93 = HEAP32[$92>>2]|0; - HEAP32[$pNext>>2] = $93; - $94 = HEAP32[$p>>2]|0; - $95 = ((($94)) + 20|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)!=(0|0); - L20: do { - if ($97) { - $98 = HEAP32[$p>>2]|0; - $99 = ((($98)) + 4|0); - $100 = HEAP32[$99>>2]|0; - $101 = $100 & 2048; - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$i>>2] = 0; - while(1) { - $103 = HEAP32[$i>>2]|0; - $104 = HEAP32[$p>>2]|0; - $105 = ((($104)) + 20|0); - $106 = HEAP32[$105>>2]|0; - $107 = HEAP32[$106>>2]|0; - $108 = ($103|0)<($107|0); - if (!($108)) { - break L20; - } - $109 = HEAP32[$i>>2]|0; - $110 = HEAP32[$p>>2]|0; - $111 = ((($110)) + 20|0); - $112 = HEAP32[$111>>2]|0; - $113 = ((($112)) + 4|0); - $114 = HEAP32[$113>>2]|0; - $115 = (($114) + (($109*20)|0)|0); - $116 = HEAP32[$115>>2]|0; - $117 = ((($116)) + 4|0); - $118 = HEAP32[$117>>2]|0; - $119 = $118 & 256; - $120 = ($119|0)!=(0); - $121 = HEAP32[$i>>2]|0; - if ($120) { + $150 = HEAP32[$7>>2]|0; + $151 = HEAP32[$8>>2]|0; + $152 = ((($151)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = HEAP8[$9>>0]|0; + $155 = HEAP8[$10>>0]|0; + $156 = (_sqlite3ValueFromExpr($150,$153,$154,$155,$15)|0); + $157 = (0)==($156|0); + $158 = HEAP32[$15>>2]|0; + $159 = ($158|0)!=(0|0); + $or$cond7 = $157 & $159; + if ($or$cond7) { + $160 = HEAP32[$15>>2]|0; + (_sqlite3VdbeMemNumerify($160)|0); + $161 = HEAP32[$15>>2]|0; + $162 = ((($161)) + 8|0); + $163 = HEAP16[$162>>1]|0; + $164 = $163&65535; + $165 = $164 & 8; + $166 = ($165|0)!=(0); + $167 = HEAP32[$15>>2]|0; + do { + if ($166) { + $168 = +HEAPF64[$167>>3]; + $169 = -$168; + $170 = HEAP32[$15>>2]|0; + HEAPF64[$170>>3] = $169; + } else { + $171 = $167; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = ($173|0)==(0); + $178 = ($176|0)==(-2147483648); + $179 = $177 & $178; + $180 = HEAP32[$15>>2]|0; + if ($179) { + HEAPF64[$180>>3] = 9.2233720368547758E+18; + $181 = HEAP32[$15>>2]|0; + $182 = ((($181)) + 8|0); + $183 = HEAP16[$182>>1]|0; + $184 = $183&65535; + $185 = $184 & -49664; + $186 = $185 | 8; + $187 = $186&65535; + $188 = HEAP32[$15>>2]|0; + $189 = ((($188)) + 8|0); + HEAP16[$189>>1] = $187; + break; + } else { + $190 = $180; + $191 = $190; + $192 = HEAP32[$191>>2]|0; + $193 = (($190) + 4)|0; + $194 = $193; + $195 = HEAP32[$194>>2]|0; + $196 = (_i64Subtract(0,0,($192|0),($195|0))|0); + $197 = tempRet0; + $198 = HEAP32[$15>>2]|0; + $199 = $198; + $200 = $199; + HEAP32[$200>>2] = $196; + $201 = (($199) + 4)|0; + $202 = $201; + HEAP32[$202>>2] = $197; break; } - $129 = (($121) + 1)|0; - HEAP32[$i>>2] = $129; } - $122 = HEAP32[$p>>2]|0; - $123 = ((($122)) + 20|0); - $124 = HEAP32[$123>>2]|0; - $125 = ((($124)) + 4|0); - $126 = HEAP32[$125>>2]|0; - $127 = (($126) + (($121*20)|0)|0); - $128 = HEAP32[$127>>2]|0; - HEAP32[$pNext>>2] = $128; - } + } while(0); + $203 = HEAP32[$15>>2]|0; + $204 = HEAP8[$10>>0]|0; + $205 = HEAP8[$9>>0]|0; + _sqlite3ValueApplyAffinity($203,$204,$205); + label = 41; + } else { + label = 41; } - } while(0); - $130 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $130; - } - if ((label|0) == 9) { - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$db>>2]|0; - $33 = ((($32)) + 66|0); - $34 = HEAP8[$33>>0]|0; - $35 = HEAP32[$p>>2]|0; - $36 = ((($35)) + 8|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_sqlite3GetCollSeq($31,$34,0,$37)|0); - HEAP32[$pColl>>2] = $38; - } - else if ((label|0) == 12) { - $51 = HEAP32[$p>>2]|0; - $52 = ((($51)) + 32|0); - $53 = HEAP16[$52>>1]|0; - $54 = $53 << 16 >> 16; - HEAP32[$j>>2] = $54; - $55 = HEAP32[$j>>2]|0; - $56 = ($55|0)>=(0); - if ($56) { - $57 = HEAP32[$j>>2]|0; - $58 = HEAP32[$p>>2]|0; - $59 = ((($58)) + 44|0); - $60 = HEAP32[$59>>2]|0; - $61 = ((($60)) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) + ($57<<4)|0); - $64 = ((($63)) + 8|0); - $65 = HEAP32[$64>>2]|0; - HEAP32[$zColl>>2] = $65; - $66 = HEAP32[$db>>2]|0; - $67 = HEAP32[$db>>2]|0; - $68 = ((($67)) + 66|0); - $69 = HEAP8[$68>>0]|0; - $70 = HEAP32[$zColl>>2]|0; - $71 = (_sqlite3FindCollSeq($66,$69,$70,0)|0); - HEAP32[$pColl>>2] = $71; } + } while(0); + if ((label|0) == 41) { + $234 = HEAP32[$15>>2]|0; + $235 = HEAP32[$11>>2]|0; + HEAP32[$235>>2] = $234; + $236 = HEAP32[$18>>2]|0; + HEAP32[$6>>2] = $236; + $241 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($241|0); } - $131 = HEAP32[$0>>2]|0; - $132 = HEAP32[$pColl>>2]|0; - $133 = (_sqlite3CheckCollSeq($131,$132)|0); - $134 = ($133|0)!=(0); - if (!($134)) { - $135 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($135|0); + else if ((label|0) == 42) { + $237 = HEAP32[$7>>2]|0; + _sqlite3OomFault($237); + $238 = HEAP32[$7>>2]|0; + $239 = HEAP32[$14>>2]|0; + _sqlite3DbFree($238,$239); + $240 = HEAP32[$15>>2]|0; + _sqlite3ValueFree($240); + HEAP32[$6>>2] = 7; + $241 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($241|0); } - HEAP32[$pColl>>2] = 0; - $135 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($135|0); + return (0)|0; } -function _sqlite3GetCollSeq($pParse,$enc,$pColl,$zName) { - $pParse = $pParse|0; - $enc = $enc|0; - $pColl = $pColl|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $db = 0, $p = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3AffinityType($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 20|0; - $1 = sp + 24|0; $2 = sp + 16|0; $3 = sp + 12|0; - $p = sp + 8|0; - $db = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP8[$1>>0] = $enc; - HEAP32[$2>>2] = $pColl; - HEAP32[$3>>2] = $zName; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - $9 = HEAP32[$db>>2]|0; - $10 = HEAP8[$1>>0]|0; - $11 = HEAP32[$3>>2]|0; - $12 = (_sqlite3FindCollSeq($9,$10,$11,0)|0); - HEAP32[$p>>2] = $12; - } - $13 = HEAP32[$p>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)!=(0|0); - if (!($18)) { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $19 = HEAP32[$db>>2]|0; - $20 = HEAP8[$1>>0]|0; - $21 = $20&255; - $22 = HEAP32[$3>>2]|0; - _callCollNeeded($19,$21,$22); - $23 = HEAP32[$db>>2]|0; - $24 = HEAP8[$1>>0]|0; - $25 = HEAP32[$3>>2]|0; - $26 = (_sqlite3FindCollSeq($23,$24,$25,0)|0); - HEAP32[$p>>2] = $26; - } - $27 = HEAP32[$p>>2]|0; - $28 = ($27|0)!=(0|0); - if ($28) { - $29 = HEAP32[$p>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)!=(0|0); - if (!($32)) { - $33 = HEAP32[$db>>2]|0; - $34 = HEAP32[$p>>2]|0; - $35 = (_synthCollSeq($33,$34)|0); - $36 = ($35|0)!=(0); - if ($36) { - HEAP32[$p>>2] = 0; - } + $4 = sp + 8|0; + $5 = sp + 20|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + HEAP8[$5>>0] = 67; + HEAP32[$6>>2] = 0; + L1: while(1) { + $8 = HEAP32[$2>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + if (!($10)) { + break; } - } - $37 = HEAP32[$p>>2]|0; - $38 = ($37|0)==(0|0); - if (!($38)) { - $41 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($41|0); - } - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer>>2] = $40; - _sqlite3ErrorMsg($39,29013,$vararg_buffer); - $41 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($41|0); -} -function _sqlite3CheckCollSeq($pParse,$pColl) { - $pParse = $pParse|0; - $pColl = $pColl|0; - var $0 = 0, $1 = 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, $db = 0; - var $p = 0, $zName = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $zName = sp + 8|0; - $db = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pColl; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$zName>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$db>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$db>>2]|0; - $11 = ((($10)) + 66|0); - $12 = HEAP8[$11>>0]|0; + $11 = HEAP32[$4>>2]|0; + $12 = $11 << 8; $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$zName>>2]|0; - $15 = (_sqlite3GetCollSeq($9,$12,$13,$14)|0); - HEAP32[$p>>2] = $15; - $16 = HEAP32[$p>>2]|0; - $17 = ($16|0)!=(0|0); - if (!($17)) { - HEAP32[$0>>2] = 1; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 << 24 >> 24; + $16 = $15 & 255; + $17 = (20458 + ($16)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = (($12) + ($19))|0; + HEAP32[$4>>2] = $20; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 1|0); + HEAP32[$2>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)==(1667785074); + if ($24) { + HEAP8[$5>>0] = 66; + $25 = HEAP32[$2>>2]|0; + HEAP32[$6>>2] = $25; + continue; } - } - HEAP32[$0>>2] = 0; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); -} -function _callCollNeeded($db,$enc,$zName) { - $db = $db|0; - $enc = $enc|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTmp = 0, $zExternal = 0, $zExternal1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $zExternal = sp + 8|0; - $zExternal1 = sp + 4|0; - $pTmp = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $enc; - HEAP32[$2>>2] = $zName; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 232|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (_sqlite3DbStrDup($7,$8)|0); - HEAP32[$zExternal>>2] = $9; - $10 = HEAP32[$zExternal>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 232|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 240|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$zExternal>>2]|0; - FUNCTION_TABLE_viiii[$14 & 255]($17,$18,$19,$20); - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$zExternal>>2]|0; - _sqlite3DbFree($21,$22); - break; - } else { - STACKTOP = sp;return; + $26 = HEAP32[$4>>2]|0; + $27 = ($26|0)==(1668050786); + if ($27) { + HEAP8[$5>>0] = 66; + continue; + } + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)==(1952807028); + if ($29) { + HEAP8[$5>>0] = 66; + continue; + } + $30 = HEAP32[$4>>2]|0; + $31 = ($30|0)==(1651273570); + do { + if ($31) { + $32 = HEAP8[$5>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($33|0)==(67); + if (!($34)) { + $35 = HEAP8[$5>>0]|0; + $36 = $35 << 24 >> 24; + $37 = ($36|0)==(69); + if (!($37)) { + break; + } + } + HEAP8[$5>>0] = 65; + $38 = HEAP32[$2>>2]|0; + $39 = HEAP8[$38>>0]|0; + $40 = $39 << 24 >> 24; + $41 = ($40|0)==(40); + if (!($41)) { + continue L1; + } + $42 = HEAP32[$2>>2]|0; + HEAP32[$6>>2] = $42; + continue L1; + } + } while(0); + $43 = HEAP32[$4>>2]|0; + $44 = ($43|0)==(1919246700); + if ($44) { + $45 = HEAP8[$5>>0]|0; + $46 = $45 << 24 >> 24; + $47 = ($46|0)==(67); + if ($47) { + HEAP8[$5>>0] = 69; + continue; } } - } while(0); - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 236|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)!=(0|0); - if (!($26)) { - STACKTOP = sp;return; - } - $27 = HEAP32[$0>>2]|0; - $28 = (_sqlite3ValueNew($27)|0); - HEAP32[$pTmp>>2] = $28; - $29 = HEAP32[$pTmp>>2]|0; - $30 = HEAP32[$2>>2]|0; - _sqlite3ValueSetStr($29,-1,$30,1,0); - $31 = HEAP32[$pTmp>>2]|0; - $32 = HEAP8[968>>0]|0; - $33 = $32 << 24 >> 24; - $34 = ($33|0)==(0); - $35 = $34 ? 3 : 2; - $36 = $35&255; - $37 = (_sqlite3ValueText($31,$36)|0); - HEAP32[$zExternal1>>2] = $37; - $38 = HEAP32[$zExternal1>>2]|0; - $39 = ($38|0)!=(0|0); - if ($39) { - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 236|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 240|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$0>>2]|0; - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 66|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = HEAP32[$zExternal1>>2]|0; - FUNCTION_TABLE_viiii[$42 & 255]($45,$46,$50,$51); - } - $52 = HEAP32[$pTmp>>2]|0; - _sqlite3ValueFree($52); - STACKTOP = sp;return; -} -function _synthCollSeq($db,$pColl) { - $db = $db|0; - $pColl = $pColl|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pColl2 = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pColl2 = sp + 8|0; - $z = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pColl; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$z>>2] = $4; - HEAP32[$i>>2] = 0; - while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = ($5|0)<(3); - if (!($6)) { - label = 6; - break; + $48 = HEAP32[$4>>2]|0; + $49 = ($48|0)==(1718382433); + if ($49) { + $50 = HEAP8[$5>>0]|0; + $51 = $50 << 24 >> 24; + $52 = ($51|0)==(67); + if ($52) { + HEAP8[$5>>0] = 69; + continue; + } } - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$i>>2]|0; - $9 = (29044 + ($8)|0); - $10 = HEAP8[$9>>0]|0; - $11 = HEAP32[$z>>2]|0; - $12 = (_sqlite3FindCollSeq($7,$10,$11,0)|0); - HEAP32[$pColl2>>2] = $12; - $13 = HEAP32[$pColl2>>2]|0; - $14 = ((($13)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - label = 4; + $53 = HEAP32[$4>>2]|0; + $54 = ($53|0)==(1685026146); + if ($54) { + $55 = HEAP8[$5>>0]|0; + $56 = $55 << 24 >> 24; + $57 = ($56|0)==(67); + if ($57) { + HEAP8[$5>>0] = 69; + continue; + } + } + $58 = HEAP32[$4>>2]|0; + $59 = $58 & 16777215; + $60 = ($59|0)==(6909556); + if ($60) { + label = 24; break; } - $21 = HEAP32[$i>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$i>>2] = $22; } - if ((label|0) == 4) { - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$pColl2>>2]|0; - ;HEAP32[$17>>2]=HEAP32[$18>>2]|0;HEAP32[$17+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$17+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$17+12>>2]=HEAP32[$18+12>>2]|0;HEAP32[$17+16>>2]=HEAP32[$18+16>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 16|0); - HEAP32[$20>>2] = 0; - HEAP32[$0>>2] = 0; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); + if ((label|0) == 24) { + HEAP8[$5>>0] = 68; } - else if ((label|0) == 6) { - HEAP32[$0>>2] = 1; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); + $61 = HEAP32[$3>>2]|0; + $62 = ($61|0)!=(0|0); + if (!($62)) { + $92 = HEAP8[$5>>0]|0; + STACKTOP = sp;return ($92|0); + } + $63 = HEAP32[$3>>2]|0; + HEAP8[$63>>0] = 1; + $64 = HEAP8[$5>>0]|0; + $65 = $64 << 24 >> 24; + $66 = ($65|0)<(67); + if (!($66)) { + $92 = HEAP8[$5>>0]|0; + STACKTOP = sp;return ($92|0); + } + $67 = HEAP32[$6>>2]|0; + $68 = ($67|0)!=(0|0); + if (!($68)) { + $91 = HEAP32[$3>>2]|0; + HEAP8[$91>>0] = 5; + $92 = HEAP8[$5>>0]|0; + STACKTOP = sp;return ($92|0); } - return (0)|0; -} -function _sqlite3ExprSkipCollate($pExpr) { - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pExpr; while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if ($2) { - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 4096; - $7 = ($6|0)!=(0); - $21 = $7; - } else { - $21 = 0; - } - $8 = HEAP32[$0>>2]|0; - if (!($21)) { + $69 = HEAP32[$6>>2]|0; + $70 = HEAP8[$69>>0]|0; + $71 = ($70<<24>>24)!=(0); + if (!($71)) { + label = 33; break; } - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 262144; - $12 = ($11|0)!=(0); - $13 = HEAP32[$0>>2]|0; - if ($12) { - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$0>>2] = $18; - continue; - } else { - $19 = ((($13)) + 12|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$0>>2] = $20; - continue; + $72 = HEAP32[$6>>2]|0; + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = (20063 + ($74)|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = $77 & 4; + $79 = ($78|0)!=(0); + if ($79) { + break; } + $89 = HEAP32[$6>>2]|0; + $90 = ((($89)) + 1|0); + HEAP32[$6>>2] = $90; } - STACKTOP = sp;return ($8|0); -} -function _sqlite3TableColumnAffinity($pTab,$iCol) { - $pTab = $pTab|0; - $iCol = $iCol|0; - var $0 = 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, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pTab; - HEAP32[$1>>2] = $iCol; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>=(0); - if (!($3)) { - $13 = 68; - $12 = $13&255; - STACKTOP = sp;return ($12|0); + if ((label|0) == 33) { + $92 = HEAP8[$5>>0]|0; + STACKTOP = sp;return ($92|0); } - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + ($4<<4)|0); - $9 = ((($8)) + 13|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10 << 24 >> 24; - $13 = $11; - $12 = $13&255; - STACKTOP = sp;return ($12|0); + HEAP32[$7>>2] = 0; + $80 = HEAP32[$6>>2]|0; + (_sqlite3GetInt32($80,$7)|0); + $81 = HEAP32[$7>>2]|0; + $82 = (($81|0) / 4)&-1; + $83 = (($82) + 1)|0; + HEAP32[$7>>2] = $83; + $84 = HEAP32[$7>>2]|0; + $85 = ($84|0)>(255); + $$ = $85 ? 255 : $83; + HEAP32[$7>>2] = $$; + $86 = HEAP32[$7>>2]|0; + $87 = $86&255; + $88 = HEAP32[$3>>2]|0; + HEAP8[$88>>0] = $87; + $92 = HEAP8[$5>>0]|0; + STACKTOP = sp;return ($92|0); } -function _sqlite3SelectPrep($pParse,$p,$pOuterNC) { - $pParse = $pParse|0; - $p = $p|0; - $pOuterNC = $pOuterNC|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $db = 0, label = 0, sp = 0; +function _sqlite3VdbeMemCast($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pOuterNC; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 69|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)!=(0); - if ($10) { + $3 = sp; + $4 = sp + 5|0; + $5 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + HEAP8[$5>>0] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = $9 & 1; + $11 = ($10|0)!=(0); + if ($11) { STACKTOP = sp;return; } - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 & 128; - $15 = ($14|0)!=(0); - if ($15) { + $12 = HEAP8[$4>>0]|0; + $13 = $12&255; + switch ($13|0) { + case 65: { + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = $17 & 16; + $19 = ($18|0)==(0); + $20 = HEAP32[$3>>2]|0; + if (!($19)) { + $37 = ((($20)) + 8|0); + $38 = HEAP16[$37>>1]|0; + $39 = $38&65535; + $40 = $39 & -33264; + $41 = $40&65535; + HEAP16[$37>>1] = $41; + STACKTOP = sp;return; + } + $21 = HEAP8[$5>>0]|0; + _sqlite3ValueApplyAffinity($20,66,$21); + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP16[$23>>1]|0; + $25 = $24&65535; + $26 = $25 & 2; + $27 = ($26|0)!=(0); + if (!($27)) { + STACKTOP = sp;return; + } + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $32 = $31 & -49664; + $33 = $32 | 16; + $34 = $33&65535; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 8|0); + HEAP16[$36>>1] = $34; STACKTOP = sp;return; + break; } - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$1>>2]|0; - _sqlite3SelectExpand($16,$17); - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 36|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0); - if ($21) { + case 67: { + $42 = HEAP32[$3>>2]|0; + (_sqlite3VdbeMemNumerify($42)|0); STACKTOP = sp;return; + break; } - $22 = HEAP32[$db>>2]|0; - $23 = ((($22)) + 69|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = ($25|0)!=(0); - if ($26) { + case 68: { + $43 = HEAP32[$3>>2]|0; + (_sqlite3VdbeMemIntegerify($43)|0); STACKTOP = sp;return; + break; } - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$2>>2]|0; - _sqlite3ResolveSelectNames($27,$28,$29); - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 36|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)!=(0); - if ($33) { + case 69: { + $44 = HEAP32[$3>>2]|0; + (_sqlite3VdbeMemRealify($44)|0); STACKTOP = sp;return; + break; } - $34 = HEAP32[$db>>2]|0; - $35 = ((($34)) + 69|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = ($37|0)!=(0); - if ($38) { + default: { + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 8|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47&65535; + $49 = $48 & 16; + $50 = $49 >> 3; + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 8|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = $54 | $50; + $56 = $55&65535; + HEAP16[$52>>1] = $56; + $57 = HEAP32[$3>>2]|0; + $58 = HEAP8[$5>>0]|0; + _sqlite3ValueApplyAffinity($57,66,$58); + $59 = HEAP32[$3>>2]|0; + $60 = ((($59)) + 8|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 & -16413; + $64 = $63&65535; + HEAP16[$60>>1] = $64; STACKTOP = sp;return; } - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$1>>2]|0; - _sqlite3SelectAddTypeInfo($39,$40); - STACKTOP = sp;return; -} -function _sqlite3SelectExpand($pParse,$pSelect) { - $pParse = $pParse|0; - $pSelect = $pSelect|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $w = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pSelect; - ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0;HEAP32[$w+24>>2]=0|0; - $2 = ((($w)) + 4|0); - HEAP32[$2>>2] = 190; - $3 = HEAP32[$0>>2]|0; - HEAP32[$w>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 22|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if ($7) { - $8 = ((($w)) + 8|0); - HEAP32[$8>>2] = 191; - $9 = HEAP32[$1>>2]|0; - (_sqlite3WalkSelect($w,$9)|0); - } - $10 = ((($w)) + 8|0); - HEAP32[$10>>2] = 192; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 & 1024; - $15 = ($14|0)==(0); - if (!($15)) { - $17 = HEAP32[$1>>2]|0; - (_sqlite3WalkSelect($w,$17)|0); - STACKTOP = sp;return; } - $16 = ((($w)) + 12|0); - HEAP32[$16>>2] = 132; - $17 = HEAP32[$1>>2]|0; - (_sqlite3WalkSelect($w,$17)|0); - STACKTOP = sp;return; } -function _sqlite3ResolveSelectNames($pParse,$p,$pOuterNC) { - $pParse = $pParse|0; - $p = $p|0; - $pOuterNC = $pOuterNC|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $w = 0, label = 0, sp = 0; +function _sqlite3ValueApplyAffinity($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; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $w = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pOuterNC; - ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0;HEAP32[$w+24>>2]=0|0; - $3 = ((($w)) + 4|0); - HEAP32[$3>>2] = 193; - $4 = ((($w)) + 8|0); - HEAP32[$4>>2] = 194; - $5 = HEAP32[$0>>2]|0; - HEAP32[$w>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ((($w)) + 24|0); - HEAP32[$7>>2] = $6; - $8 = HEAP32[$1>>2]|0; - (_sqlite3WalkSelect($w,$8)|0); + STACKTOP = STACKTOP + 16|0; + $3 = sp; + $4 = sp + 5|0; + $5 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + HEAP8[$5>>0] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP8[$4>>0]|0; + $8 = HEAP8[$5>>0]|0; + _applyAffinity($6,$7,$8); STACKTOP = sp;return; } -function _sqlite3SelectAddTypeInfo($pParse,$pSelect) { - $pParse = $pParse|0; - $pSelect = $pSelect|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $w = 0, label = 0, sp = 0; +function _valueNew($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $w = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pSelect; - ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0;HEAP32[$w+24>>2]=0|0; - $2 = ((($w)) + 12|0); - HEAP32[$2>>2] = 133; - $3 = ((($w)) + 4|0); - HEAP32[$3>>2] = 190; - $4 = HEAP32[$0>>2]|0; - HEAP32[$w>>2] = $4; - $5 = HEAP32[$1>>2]|0; - (_sqlite3WalkSelect($w,$5)|0); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = (_sqlite3ValueNew($4)|0); + STACKTOP = sp;return ($5|0); } -function _selectAddSubqueryTypeInfo($pWalker,$p) { - $pWalker = $pWalker|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pFrom = 0, $pParse = 0, $pSel = 0, $pTab = 0, $pTabList = 0, label = 0, sp = 0; +function _sqlite3VdbeMemNumerify($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.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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $pParse = sp + 20|0; - $i = sp + 16|0; - $pTabList = sp + 12|0; - $pFrom = sp + 8|0; - $pTab = sp + 4|0; - $pSel = sp; - HEAP32[$0>>2] = $pWalker; - HEAP32[$1>>2] = $p; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 | 128; - HEAP32[$3>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$pParse>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 28|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pTabList>>2] = $10; - HEAP32[$i>>2] = 0; - $11 = HEAP32[$pTabList>>2]|0; - $12 = ((($11)) + 8|0); - HEAP32[$pFrom>>2] = $12; - while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$pTabList>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = ($13|0)<($15|0); - if (!($16)) { - break; - } - $17 = HEAP32[$pFrom>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pTab>>2] = $19; - $20 = HEAP32[$pTab>>2]|0; - $21 = ((($20)) + 42|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = $23 & 2; - $25 = ($24|0)!=(0); - if ($25) { - $26 = HEAP32[$pFrom>>2]|0; - $27 = ((($26)) + 20|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$pSel>>2] = $28; - $29 = HEAP32[$pSel>>2]|0; - $30 = ($29|0)!=(0|0); - if ($30) { - while(1) { - $31 = HEAP32[$pSel>>2]|0; - $32 = ((($31)) + 48|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)!=(0|0); - if (!($34)) { - break; - } - $35 = HEAP32[$pSel>>2]|0; - $36 = ((($35)) + 48|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$pSel>>2] = $37; - } - $38 = HEAP32[$pParse>>2]|0; - $39 = HEAP32[$pTab>>2]|0; - $40 = HEAP32[$pSel>>2]|0; - _sqlite3SelectAddColumnTypeAndCollation($38,$39,$40); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 13; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$1>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 10|0); + $17 = HEAP8[$16>>0]|0; + $18 = (_sqlite3Atoi64($10,$11,$14,$17)|0); + $19 = (0)==($18|0); + $20 = HEAP32[$1>>2]|0; + if ($19) { + $21 = ((($20)) + 8|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = $23 & -49664; + $25 = $24 | 4; + $26 = $25&65535; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 8|0); + HEAP16[$28>>1] = $26; + break; + } else { + $29 = (+_sqlite3VdbeRealValue($20)); + $30 = HEAP32[$1>>2]|0; + HEAPF64[$30>>3] = $29; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP16[$32>>1]|0; + $34 = $33&65535; + $35 = $34 & -49664; + $36 = $35 | 8; + $37 = $36&65535; + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 8|0); + HEAP16[$39>>1] = $37; + $40 = HEAP32[$1>>2]|0; + _sqlite3VdbeIntegerAffinity($40); + break; } } - $41 = HEAP32[$i>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$i>>2] = $42; - $43 = HEAP32[$pFrom>>2]|0; - $44 = ((($43)) + 72|0); - HEAP32[$pFrom>>2] = $44; - } - STACKTOP = sp;return; -} -function _sqlite3ExprWalkNoop($NotUsed,$NotUsed2) { - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $NotUsed2; + } while(0); + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP16[$42>>1]|0; + $44 = $43&65535; + $45 = $44 & -16403; + $46 = $45&65535; + HEAP16[$42>>1] = $46; STACKTOP = sp;return 0; } -function _sqlite3WalkSelect($pWalker,$p) { - $pWalker = $pWalker|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3HexToBlob($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - do { - if (!($4)) { - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0|0); - if ($12) { - break; - } - } - HEAP32[$rc>>2] = 0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 16|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 1)|0; - HEAP32[$14>>2] = $16; - while(1) { - $17 = HEAP32[$2>>2]|0; - $18 = ($17|0)!=(0|0); - if (!($18)) { - label = 15; - break; - } - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0|0); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = (FUNCTION_TABLE_iii[$25 & 255]($26,$27)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$rc>>2]|0; - $30 = ($29|0)!=(0); - if ($30) { - label = 15; - break; - } - } - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = (_sqlite3WalkSelectExpr($31,$32)|0); - $34 = ($33|0)!=(0); - if ($34) { - label = 11; - break; - } - $35 = HEAP32[$1>>2]|0; - $36 = HEAP32[$2>>2]|0; - $37 = (_sqlite3WalkSelectFrom($35,$36)|0); - $38 = ($37|0)!=(0); - if ($38) { - label = 11; - break; - } - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)!=(0|0); - if ($46) { - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_vii[$49 & 255]($50,$51); - } - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 48|0); - $54 = HEAP32[$53>>2]|0; - HEAP32[$2>>2] = $54; - } - if ((label|0) == 11) { - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 16|0); - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + -1)|0; - HEAP32[$40>>2] = $42; - HEAP32[$0>>2] = 2; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); - } - else if ((label|0) == 15) { - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 16|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + -1)|0; - HEAP32[$56>>2] = $58; - $59 = HEAP32[$rc>>2]|0; - $60 = $59 & 2; - HEAP32[$0>>2] = $60; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); - } + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = (($9|0) / 2)&-1; + $11 = (($10) + 1)|0; + $12 = ($11|0)<(0); + $13 = $12 << 31 >> 31; + $14 = (_sqlite3DbMallocRawNN($8,$11,$13)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = (($15) + -1)|0; + HEAP32[$5>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)!=(0|0); + if (!($18)) { + $50 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($50|0); + } + HEAP32[$7>>2] = 0; + while(1) { + $19 = HEAP32[$7>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = ($19|0)<($20|0); + if (!($21)) { + break; } - } while(0); - HEAP32[$0>>2] = 0; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = (($22) + ($23)|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25 << 24 >> 24; + $27 = (_sqlite3HexToInt($26)|0); + $28 = $27&255; + $29 = $28 << 4; + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = (($31) + 1)|0; + $33 = (($30) + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34 << 24 >> 24; + $36 = (_sqlite3HexToInt($35)|0); + $37 = $36&255; + $38 = $29 | $37; + $39 = $38&255; + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = (($41|0) / 2)&-1; + $43 = (($40) + ($42)|0); + HEAP8[$43>>0] = $39; + $44 = HEAP32[$7>>2]|0; + $45 = (($44) + 2)|0; + HEAP32[$7>>2] = $45; + } + $46 = HEAP32[$6>>2]|0; + $47 = HEAP32[$7>>2]|0; + $48 = (($47|0) / 2)&-1; + $49 = (($46) + ($48)|0); + HEAP8[$49>>0] = 0; + $50 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($50|0); } -function _sqlite3WalkSelectExpr($pWalker,$p) { - $pWalker = $pWalker|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _applyAffinity($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = (_sqlite3WalkExprList($3,$5)|0); - $7 = ($6|0)!=(0); - do { - if ($7) { - HEAP32[$0>>2] = 2; - } else { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3WalkExpr($8,$11)|0); - $13 = ($12|0)!=(0); - if ($13) { - HEAP32[$0>>2] = 2; - break; - } - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 36|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3WalkExprList($14,$17)|0); - $19 = ($18|0)!=(0); - if ($19) { - HEAP32[$0>>2] = 2; - break; - } - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = (_sqlite3WalkExpr($20,$23)|0); - $25 = ($24|0)!=(0); - if ($25) { - HEAP32[$0>>2] = 2; - break; - } - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 44|0); - $29 = HEAP32[$28>>2]|0; - $30 = (_sqlite3WalkExprList($26,$29)|0); - $31 = ($30|0)!=(0); - if ($31) { - HEAP32[$0>>2] = 2; - break; - } - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 56|0); - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3WalkExpr($32,$35)|0); - $37 = ($36|0)!=(0); - if ($37) { - HEAP32[$0>>2] = 2; - break; - } - $38 = HEAP32[$1>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 60|0); - $41 = HEAP32[$40>>2]|0; - $42 = (_sqlite3WalkExpr($38,$41)|0); - $43 = ($42|0)!=(0); - if ($43) { - HEAP32[$0>>2] = 2; - break; - } else { - HEAP32[$0>>2] = 0; - break; - } + $3 = sp; + $4 = sp + 5|0; + $5 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + HEAP8[$5>>0] = $2; + $6 = HEAP8[$4>>0]|0; + $7 = $6 << 24 >> 24; + $8 = ($7|0)>=(67); + if (!($8)) { + $28 = HEAP8[$4>>0]|0; + $29 = $28 << 24 >> 24; + $30 = ($29|0)==(66); + if (!($30)) { + STACKTOP = sp;return; } - } while(0); - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); -} -function _sqlite3WalkSelectFrom($pWalker,$p) { - $pWalker = $pWalker|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0; - var $pItem = 0, $pSrc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pSrc = sp + 8|0; - $i = sp + 4|0; - $pItem = sp; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 28|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pSrc>>2] = $5; - $6 = HEAP32[$pSrc>>2]|0; - $7 = ($6|0)!=(0|0); - L1: do { - if ($7) { - $8 = HEAP32[$pSrc>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$i>>2] = $9; - $10 = HEAP32[$pSrc>>2]|0; - $11 = ((($10)) + 8|0); - HEAP32[$pItem>>2] = $11; - while(1) { - $12 = HEAP32[$i>>2]|0; - $13 = ($12|0)>(0); - if (!($13)) { - break L1; - } - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$pItem>>2]|0; - $16 = ((($15)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3WalkSelect($14,$17)|0); - $19 = ($18|0)!=(0); - if ($19) { - label = 5; - break; - } - $20 = HEAP32[$pItem>>2]|0; - $21 = ((($20)) + 36|0); - $22 = ((($21)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = ($23&255) >>> 2; - $25 = $24 & 1; - $26 = $25&255; - $27 = ($26|0)!=(0); - if ($27) { - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$pItem>>2]|0; - $30 = ((($29)) + 64|0); - $31 = HEAP32[$30>>2]|0; - $32 = (_sqlite3WalkExprList($28,$31)|0); - $33 = ($32|0)!=(0); - if ($33) { - label = 8; - break; - } - } - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + -1)|0; - HEAP32[$i>>2] = $35; - $36 = HEAP32[$pItem>>2]|0; - $37 = ((($36)) + 72|0); - HEAP32[$pItem>>2] = $37; - } - if ((label|0) == 5) { - HEAP32[$0>>2] = 2; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); - } - else if ((label|0) == 8) { - HEAP32[$0>>2] = 2; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP16[$32>>1]|0; + $34 = $33&65535; + $35 = $34 & 2; + $36 = (0)==($35|0); + if ($36) { + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP16[$38>>1]|0; + $40 = $39&65535; + $41 = $40 & 12; + $42 = ($41|0)!=(0); + if ($42) { + $43 = HEAP32[$3>>2]|0; + $44 = HEAP8[$5>>0]|0; + (_sqlite3VdbeMemStringify($43,$44,1)|0); } } - } while(0); - HEAP32[$0>>2] = 0; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 8|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47&65535; + $49 = $48 & -13; + $50 = $49&65535; + HEAP16[$46>>1] = $50; + STACKTOP = sp;return; + } + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = $12 & 4; + $14 = ($13|0)==(0); + if (!($14)) { + STACKTOP = sp;return; + } + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = $18 & 8; + $20 = ($19|0)==(0); + $21 = HEAP32[$3>>2]|0; + if (!($20)) { + _sqlite3VdbeIntegerAffinity($21); + STACKTOP = sp;return; + } + $22 = ((($21)) + 8|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23&65535; + $25 = $24 & 2; + $26 = ($25|0)!=(0); + if (!($26)) { + STACKTOP = sp;return; + } + $27 = HEAP32[$3>>2]|0; + _applyNumericAffinity($27,1); + STACKTOP = sp;return; } -function _sqlite3WalkExprList($pWalker,$p) { - $pWalker = $pWalker|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $i = 0, $pItem = 0, label = 0, sp = 0; +function _sqlite3VdbeMemIntegerify($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $i = sp + 4|0; - $pItem = sp; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - L1: do { - if ($4) { - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$i>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$pItem>>2] = $9; - while(1) { - $10 = HEAP32[$i>>2]|0; - $11 = ($10|0)>(0); - if (!($11)) { - break L1; - } - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$pItem>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3WalkExpr($12,$14)|0); - $16 = ($15|0)!=(0); - if ($16) { - break; - } - $17 = HEAP32[$i>>2]|0; - $18 = (($17) + -1)|0; - HEAP32[$i>>2] = $18; - $19 = HEAP32[$pItem>>2]|0; - $20 = ((($19)) + 20|0); - HEAP32[$pItem>>2] = $20; - } - HEAP32[$0>>2] = 2; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); - } - } while(0); - HEAP32[$0>>2] = 0; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_sqlite3VdbeIntValue($2)|0); + $4 = tempRet0; + $5 = HEAP32[$1>>2]|0; + $6 = $5; + $7 = $6; + HEAP32[$7>>2] = $3; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $4; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + $14 = $13 & -49664; + $15 = $14 | 4; + $16 = $15&65535; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 8|0); + HEAP16[$18>>1] = $16; + STACKTOP = sp;return 0; } -function _sqlite3WalkExpr($pWalker,$pExpr) { - $pWalker = $pWalker|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _sqlite3VdbeMemRealify($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0.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 + 4|0; $1 = sp; - HEAP32[$0>>2] = $pWalker; - HEAP32[$1>>2] = $pExpr; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $7 = 0; - STACKTOP = sp;return ($7|0); - } - $4 = HEAP32[$0>>2]|0; + $3 = (+_sqlite3VdbeRealValue($2)); + $4 = HEAP32[$1>>2]|0; + HEAPF64[$4>>3] = $3; $5 = HEAP32[$1>>2]|0; - $6 = (_walkExpr($4,$5)|0); - $7 = $6; - STACKTOP = sp;return ($7|0); + $6 = ((($5)) + 8|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + $9 = $8 & -49664; + $10 = $9 | 8; + $11 = $10&65535; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 8|0); + HEAP16[$13>>1] = $11; + STACKTOP = sp;return 0; } -function _walkExpr($pWalker,$pExpr) { - $pWalker = $pWalker|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0; - var $rc = 0, label = 0, sp = 0; +function _sqlite3CheckObjectName($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $pExpr; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = (FUNCTION_TABLE_iii[$5 & 255]($6,$7)|0); - HEAP32[$rc>>2] = $8; - $9 = HEAP32[$rc>>2]|0; - $10 = ($9|0)!=(0); + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 148|0); + $8 = ((($7)) + 5|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); if (!($10)) { - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 & 8404992; - $15 = ($14|0)!=(0); - if (!($15)) { - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0|0); + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 18|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(0); + if ($15) { + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 24|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19 & 2048; + $21 = ($20|0)==(0); if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_walkExpr($22,$25)|0); - $27 = ($26|0)!=(0); - if ($27) { - HEAP32[$0>>2] = 2; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); - } - } - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 16|0); - $35 = HEAP32[$34>>2]|0; - $36 = (_walkExpr($32,$35)|0); - $37 = ($36|0)!=(0); - if ($37) { - HEAP32[$0>>2] = 2; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); - } - } - $38 = HEAP32[$2>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = $40 & 2048; - $42 = ($41|0)!=(0); - if ($42) { - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$2>>2]|0; - $45 = ((($44)) + 20|0); - $46 = HEAP32[$45>>2]|0; - $47 = (_sqlite3WalkSelect($43,$46)|0); - $48 = ($47|0)!=(0); - if ($48) { - HEAP32[$0>>2] = 2; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); - } - } else { - $49 = HEAP32[$2>>2]|0; - $50 = ((($49)) + 20|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)!=(0|0); - if ($52) { - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$2>>2]|0; - $55 = ((($54)) + 20|0); - $56 = HEAP32[$55>>2]|0; - $57 = (_sqlite3WalkExprList($53,$56)|0); - $58 = ($57|0)!=(0); - if ($58) { - HEAP32[$0>>2] = 2; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); - } + $22 = HEAP32[$4>>2]|0; + $23 = (_sqlite3_strnicmp($22,26664,7)|0); + $24 = (0)==($23|0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer>>2] = $26; + _sqlite3ErrorMsg($25,30069,$vararg_buffer); + HEAP32[$2>>2] = 1; + $27 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($27|0); } } - HEAP32[$0>>2] = 0; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); } } - $16 = HEAP32[$rc>>2]|0; - $17 = $16 & 2; - HEAP32[$0>>2] = $17; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + HEAP32[$2>>2] = 0; + $27 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($27|0); } -function _resolveExprStep($pWalker,$pExpr) { - $pWalker = $pWalker|0; - $pExpr = $pExpr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $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, $auth = 0, $enc = 0, $is_agg = 0, $n = 0, $nId = 0, $nLeft = 0, $nRef = 0, $nRight = 0, $no_such_func = 0, $pDef = 0; - var $pList = 0, $pNC = 0, $pNC2 = 0, $pParse = 0, $pRight = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr6 = 0, $wrong_num_args = 0, $zColumn = 0, $zDb = 0, $zId = 0, $zTable = 0, label = 0; - var sp = 0; +function _sqlite3ViewGetColumnNames($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer15 = sp + 40|0; - $vararg_buffer11 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; + STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 128|0; - $1 = sp + 124|0; - $2 = sp + 120|0; - $pNC = sp + 116|0; - $pParse = sp + 112|0; - $zColumn = sp + 108|0; - $zTable = sp + 104|0; - $zDb = sp + 100|0; - $pRight = sp + 96|0; - $pList = sp + 92|0; - $n = sp + 88|0; - $no_such_func = sp + 84|0; - $wrong_num_args = sp + 80|0; - $is_agg = sp + 76|0; - $nId = sp + 72|0; - $zId = sp + 68|0; - $pDef = sp + 64|0; - $enc = sp + 132|0; - $auth = sp + 60|0; - $pNC2 = sp + 56|0; - $nRef = sp + 52|0; - $nLeft = sp + 48|0; - $nRight = sp + 44|0; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $pExpr; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 24|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pNC>>2] = $5; - $6 = HEAP32[$pNC>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$pParse>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 4; - $12 = ($11|0)!=(0); - if ($12) { - HEAP32[$0>>2] = 1; - $329 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($329|0); + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$7>>2] = 0; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$9>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = (_sqlite3VtabCallConnect($13,$14)|0); + $16 = ($15|0)!=(0); + if ($16) { + HEAP32[$2>>2] = 1; + $141 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($141|0); } - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15 | 4; - HEAP32[$14>>2] = $16; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - switch ($19|0) { - case 55: { - $20 = HEAP32[$pParse>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 8|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$pNC>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = (_lookupName($20,0,0,$23,$24,$25)|0); - HEAP32[$0>>2] = $26; - $329 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($329|0); - break; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 42|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 & 16; + $22 = ($21|0)!=(0); + if ($22) { + HEAP32[$2>>2] = 0; + $141 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($141|0); } - case 122: { - $27 = HEAP32[$pParse>>2]|0; - $28 = HEAP32[$pNC>>2]|0; - _notValid($27,$28,29561,32); - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 16|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$pRight>>2] = $31; - $32 = HEAP32[$pRight>>2]|0; - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34|0)==(55); - if ($35) { - HEAP32[$zDb>>2] = 0; - $36 = HEAP32[$2>>2]|0; - $37 = ((($36)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($38)) + 8|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$zTable>>2] = $40; - $41 = HEAP32[$pRight>>2]|0; - $42 = ((($41)) + 8|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$zColumn>>2] = $43; - } else { - $44 = HEAP32[$2>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($46)) + 8|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$zDb>>2] = $48; - $49 = HEAP32[$pRight>>2]|0; - $50 = ((($49)) + 12|0); - $51 = HEAP32[$50>>2]|0; - $52 = ((($51)) + 8|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$zTable>>2] = $53; - $54 = HEAP32[$pRight>>2]|0; - $55 = ((($54)) + 16|0); - $56 = HEAP32[$55>>2]|0; - $57 = ((($56)) + 8|0); - $58 = HEAP32[$57>>2]|0; - HEAP32[$zColumn>>2] = $58; - } - $59 = HEAP32[$pParse>>2]|0; - $60 = HEAP32[$zDb>>2]|0; - $61 = HEAP32[$zTable>>2]|0; - $62 = HEAP32[$zColumn>>2]|0; - $63 = HEAP32[$pNC>>2]|0; - $64 = HEAP32[$2>>2]|0; - $65 = (_lookupName($59,$60,$61,$62,$63,$64)|0); - HEAP32[$0>>2] = $65; - $329 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($329|0); - break; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 34|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25 << 16 >> 16; + $27 = ($26|0)>(0); + if ($27) { + HEAP32[$2>>2] = 0; + $141 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($141|0); } - case 151: { - $66 = HEAP32[$2>>2]|0; - $67 = ((($66)) + 20|0); - $68 = HEAP32[$67>>2]|0; - HEAP32[$pList>>2] = $68; - $69 = HEAP32[$pList>>2]|0; - $70 = ($69|0)!=(0|0); - if ($70) { - $71 = HEAP32[$pList>>2]|0; - $72 = HEAP32[$71>>2]|0; - $73 = $72; - } else { - $73 = 0; - } - HEAP32[$n>>2] = $73; - HEAP32[$no_such_func>>2] = 0; - HEAP32[$wrong_num_args>>2] = 0; - HEAP32[$is_agg>>2] = 0; - $74 = HEAP32[$pParse>>2]|0; - $75 = HEAP32[$74>>2]|0; - $76 = ((($75)) + 66|0); - $77 = HEAP8[$76>>0]|0; - HEAP8[$enc>>0] = $77; - $78 = HEAP32[$2>>2]|0; - $79 = ((($78)) + 8|0); - $80 = HEAP32[$79>>2]|0; - HEAP32[$zId>>2] = $80; - $81 = HEAP32[$zId>>2]|0; - $82 = (_sqlite3Strlen30($81)|0); - HEAP32[$nId>>2] = $82; - $83 = HEAP32[$pParse>>2]|0; - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$zId>>2]|0; - $86 = HEAP32[$n>>2]|0; - $87 = HEAP8[$enc>>0]|0; - $88 = (_sqlite3FindFunction($84,$85,$86,$87,0)|0); - HEAP32[$pDef>>2] = $88; - $89 = HEAP32[$pDef>>2]|0; - $90 = ($89|0)==(0|0); + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 34|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30 << 16 >> 16; + $32 = ($31|0)<(0); + if ($32) { + $33 = HEAP32[$3>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$34>>2]|0; + HEAP32[$vararg_buffer>>2] = $35; + _sqlite3ErrorMsg($33,28391,$vararg_buffer); + HEAP32[$2>>2] = 1; + $141 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($141|0); + } + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = (_sqlite3SelectDup($36,$39,0)|0); + HEAP32[$6>>2] = $40; + $41 = HEAP32[$6>>2]|0; + $42 = ($41|0)!=(0|0); + if ($42) { + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 40|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$8>>2] = $45; + $46 = HEAP32[$3>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + 28|0); + $49 = HEAP32[$48>>2]|0; + _sqlite3SrcListAssignCursors($46,$49); + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 34|0); + HEAP16[$51>>1] = -1; + $52 = HEAP32[$9>>2]|0; + $53 = ((($52)) + 256|0); + $54 = HEAP32[$53>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$53>>2] = $55; + $56 = HEAP32[$9>>2]|0; + $57 = ((($56)) + 296|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$10>>2] = $58; + $59 = HEAP32[$9>>2]|0; + $60 = ((($59)) + 296|0); + HEAP32[$60>>2] = 0; + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$6>>2]|0; + $63 = (_sqlite3ResultSetOfSelect($61,$62)|0); + HEAP32[$5>>2] = $63; + $64 = HEAP32[$10>>2]|0; + $65 = HEAP32[$9>>2]|0; + $66 = ((($65)) + 296|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$8>>2]|0; + $68 = HEAP32[$3>>2]|0; + $69 = ((($68)) + 40|0); + HEAP32[$69>>2] = $67; + $70 = HEAP32[$4>>2]|0; + $71 = ((($70)) + 24|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($72|0)!=(0|0); do { - if ($90) { - $91 = HEAP32[$pParse>>2]|0; - $92 = HEAP32[$91>>2]|0; - $93 = HEAP32[$zId>>2]|0; - $94 = HEAP8[$enc>>0]|0; - $95 = (_sqlite3FindFunction($92,$93,-2,$94,0)|0); - HEAP32[$pDef>>2] = $95; - $96 = HEAP32[$pDef>>2]|0; - $97 = ($96|0)==(0|0); - if ($97) { - HEAP32[$no_such_func>>2] = 1; - break; - } else { - HEAP32[$wrong_num_args>>2] = 1; - break; - } - } else { - $98 = HEAP32[$pDef>>2]|0; - $99 = ((($98)) + 16|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)!=(0|0); - $102 = $101&1; - HEAP32[$is_agg>>2] = $102; - $103 = HEAP32[$pDef>>2]|0; - $104 = ((($103)) + 2|0); - $105 = HEAP16[$104>>1]|0; - $106 = $105&65535; - $107 = $106 & 1024; - $108 = ($107|0)!=(0); - do { - if ($108) { - $109 = HEAP32[$2>>2]|0; - $110 = ((($109)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 | 266240; - HEAP32[$110>>2] = $112; - $113 = HEAP32[$n>>2]|0; - $114 = ($113|0)==(2); - if (!($114)) { - $132 = HEAP32[$pDef>>2]|0; - $133 = ((($132)) + 20|0); - $134 = HEAP32[$133>>2]|0; - $135 = HEAP8[$134>>0]|0; - $136 = $135 << 24 >> 24; - $137 = ($136|0)==(117); - $138 = $137 ? 8388608 : 125829120; - $139 = HEAP32[$2>>2]|0; - $140 = ((($139)) + 28|0); - HEAP32[$140>>2] = $138; - break; - } - $115 = HEAP32[$pList>>2]|0; - $116 = ((($115)) + 4|0); - $117 = HEAP32[$116>>2]|0; - $118 = ((($117)) + 20|0); - $119 = HEAP32[$118>>2]|0; - $120 = (_exprProbability($119)|0); - $121 = HEAP32[$2>>2]|0; - $122 = ((($121)) + 28|0); - HEAP32[$122>>2] = $120; - $123 = HEAP32[$2>>2]|0; - $124 = ((($123)) + 28|0); - $125 = HEAP32[$124>>2]|0; - $126 = ($125|0)<(0); - if ($126) { - $127 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($127,29578,$vararg_buffer); - $128 = HEAP32[$pNC>>2]|0; - $129 = ((($128)) + 24|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + 1)|0; - HEAP32[$129>>2] = $131; + if ($73) { + $74 = HEAP32[$3>>2]|0; + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 24|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 34|0); + $80 = HEAP32[$4>>2]|0; + $81 = ((($80)) + 4|0); + (_sqlite3ColumnsFromExprList($74,$77,$79,$81)|0); + $82 = HEAP32[$9>>2]|0; + $83 = ((($82)) + 69|0); + $84 = HEAP8[$83>>0]|0; + $85 = $84&255; + $86 = ($85|0)==(0); + if ($86) { + $87 = HEAP32[$3>>2]|0; + $88 = ((($87)) + 36|0); + $89 = HEAP32[$88>>2]|0; + $90 = ($89|0)==(0); + if ($90) { + $91 = HEAP32[$4>>2]|0; + $92 = ((($91)) + 34|0); + $93 = HEAP16[$92>>1]|0; + $94 = $93 << 16 >> 16; + $95 = HEAP32[$6>>2]|0; + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$96>>2]|0; + $98 = ($94|0)==($97|0); + if ($98) { + $99 = HEAP32[$3>>2]|0; + $100 = HEAP32[$4>>2]|0; + $101 = HEAP32[$6>>2]|0; + _sqlite3SelectAddColumnTypeAndCollation($99,$100,$101); } } - } while(0); - $141 = HEAP32[$pParse>>2]|0; - $142 = HEAP32[$pDef>>2]|0; - $143 = ((($142)) + 20|0); - $144 = HEAP32[$143>>2]|0; - $145 = (_sqlite3AuthCheck($141,31,0,$144,0)|0); - HEAP32[$auth>>2] = $145; - $146 = HEAP32[$auth>>2]|0; - $147 = ($146|0)!=(0); - if ($147) { - $148 = HEAP32[$auth>>2]|0; - $149 = ($148|0)==(1); - if ($149) { - $150 = HEAP32[$pParse>>2]|0; - $151 = HEAP32[$pDef>>2]|0; - $152 = ((($151)) + 20|0); - $153 = HEAP32[$152>>2]|0; - HEAP32[$vararg_buffer1>>2] = $153; - _sqlite3ErrorMsg($150,29649,$vararg_buffer1); - $154 = HEAP32[$pNC>>2]|0; - $155 = ((($154)) + 24|0); - $156 = HEAP32[$155>>2]|0; - $157 = (($156) + 1)|0; - HEAP32[$155>>2] = $157; - } - $158 = HEAP32[$2>>2]|0; - HEAP8[$158>>0] = 101; - HEAP32[$0>>2] = 1; - $329 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($329|0); - } else { - $159 = HEAP32[$pDef>>2]|0; - $160 = ((($159)) + 2|0); - $161 = HEAP16[$160>>1]|0; - $162 = $161&65535; - $163 = $162 & 10240; - $164 = ($163|0)!=(0); - if ($164) { - $165 = HEAP32[$2>>2]|0; - $166 = ((($165)) + 4|0); - $167 = HEAP32[$166>>2]|0; - $168 = $167 | 524288; - HEAP32[$166>>2] = $168; - } - $169 = HEAP32[$pDef>>2]|0; - $170 = ((($169)) + 2|0); - $171 = HEAP16[$170>>1]|0; - $172 = $171&65535; - $173 = $172 & 2048; - $174 = ($173|0)==(0); - if (!($174)) { - break; - } - $175 = HEAP32[$pParse>>2]|0; - $176 = HEAP32[$pNC>>2]|0; - _notValid($175,$176,29684,34); - break; } - } - } while(0); - $177 = HEAP32[$is_agg>>2]|0; - $178 = ($177|0)!=(0); - if ($178) { - $179 = HEAP32[$pNC>>2]|0; - $180 = ((($179)) + 28|0); - $181 = HEAP16[$180>>1]|0; - $182 = $181&65535; - $183 = $182 & 1; - $184 = ($183|0)==(0); - if ($184) { - $185 = HEAP32[$pParse>>2]|0; - $186 = HEAP32[$nId>>2]|0; - $187 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer3>>2] = $186; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $187; - _sqlite3ErrorMsg($185,29712,$vararg_buffer3); - $188 = HEAP32[$pNC>>2]|0; - $189 = ((($188)) + 24|0); - $190 = HEAP32[$189>>2]|0; - $191 = (($190) + 1)|0; - HEAP32[$189>>2] = $191; - HEAP32[$is_agg>>2] = 0; } else { - label = 31; - } - } else { - label = 31; - } - do { - if ((label|0) == 31) { - $192 = HEAP32[$no_such_func>>2]|0; - $193 = ($192|0)!=(0); - if ($193) { - $194 = HEAP32[$pParse>>2]|0; - $195 = HEAP32[$194>>2]|0; - $196 = ((($195)) + 148|0); - $197 = ((($196)) + 5|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = ($199|0)==(0); - if ($200) { - $201 = HEAP32[$pParse>>2]|0; - $202 = HEAP32[$nId>>2]|0; - $203 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer7>>2] = $202; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $203; - _sqlite3ErrorMsg($201,29748,$vararg_buffer7); - $204 = HEAP32[$pNC>>2]|0; - $205 = ((($204)) + 24|0); - $206 = HEAP32[$205>>2]|0; - $207 = (($206) + 1)|0; - HEAP32[$205>>2] = $207; - break; - } - } - $208 = HEAP32[$wrong_num_args>>2]|0; - $209 = ($208|0)!=(0); - if ($209) { - $210 = HEAP32[$pParse>>2]|0; - $211 = HEAP32[$nId>>2]|0; - $212 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer11>>2] = $211; - $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $212; - _sqlite3ErrorMsg($210,29771,$vararg_buffer11); - $213 = HEAP32[$pNC>>2]|0; - $214 = ((($213)) + 24|0); - $215 = HEAP32[$214>>2]|0; - $216 = (($215) + 1)|0; - HEAP32[$214>>2] = $216; - } - } - } while(0); - $217 = HEAP32[$is_agg>>2]|0; - $218 = ($217|0)!=(0); - if ($218) { - $219 = HEAP32[$pNC>>2]|0; - $220 = ((($219)) + 28|0); - $221 = HEAP16[$220>>1]|0; - $222 = $221&65535; - $223 = $222 & -2; - $224 = $223&65535; - HEAP16[$220>>1] = $224; - } - $225 = HEAP32[$1>>2]|0; - $226 = HEAP32[$pList>>2]|0; - (_sqlite3WalkExprList($225,$226)|0); - $227 = HEAP32[$is_agg>>2]|0; - $228 = ($227|0)!=(0); - if ($228) { - $229 = HEAP32[$pNC>>2]|0; - HEAP32[$pNC2>>2] = $229; - $230 = HEAP32[$2>>2]|0; - HEAP8[$230>>0] = -103; - $231 = HEAP32[$2>>2]|0; - $232 = ((($231)) + 38|0); - HEAP8[$232>>0] = 0; - while(1) { - $233 = HEAP32[$pNC2>>2]|0; - $234 = ($233|0)!=(0|0); - if (!($234)) { + $102 = HEAP32[$5>>2]|0; + $103 = ($102|0)!=(0|0); + if ($103) { + $104 = HEAP32[$5>>2]|0; + $105 = ((($104)) + 34|0); + $106 = HEAP16[$105>>1]|0; + $107 = HEAP32[$4>>2]|0; + $108 = ((($107)) + 34|0); + HEAP16[$108>>1] = $106; + $109 = HEAP32[$5>>2]|0; + $110 = ((($109)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = HEAP32[$4>>2]|0; + $113 = ((($112)) + 4|0); + HEAP32[$113>>2] = $111; + $114 = HEAP32[$5>>2]|0; + $115 = ((($114)) + 34|0); + HEAP16[$115>>1] = 0; + $116 = HEAP32[$5>>2]|0; + $117 = ((($116)) + 4|0); + HEAP32[$117>>2] = 0; break; - } - $235 = HEAP32[$2>>2]|0; - $236 = HEAP32[$pNC2>>2]|0; - $237 = ((($236)) + 4|0); - $238 = HEAP32[$237>>2]|0; - $239 = (_sqlite3FunctionUsesThisSrc($235,$238)|0); - $240 = ($239|0)!=(0); - $241 = $240 ^ 1; - if (!($241)) { + } else { + $118 = HEAP32[$4>>2]|0; + $119 = ((($118)) + 34|0); + HEAP16[$119>>1] = 0; + $120 = HEAP32[$7>>2]|0; + $121 = (($120) + 1)|0; + HEAP32[$7>>2] = $121; break; } - $242 = HEAP32[$2>>2]|0; - $243 = ((($242)) + 38|0); - $244 = HEAP8[$243>>0]|0; - $245 = (($244) + 1)<<24>>24; - HEAP8[$243>>0] = $245; - $246 = HEAP32[$pNC2>>2]|0; - $247 = ((($246)) + 16|0); - $248 = HEAP32[$247>>2]|0; - HEAP32[$pNC2>>2] = $248; } - $249 = HEAP32[$pNC2>>2]|0; - $250 = ($249|0)!=(0|0); - if ($250) { - $251 = HEAP32[$pDef>>2]|0; - $252 = ((($251)) + 2|0); - $253 = HEAP16[$252>>1]|0; - $254 = $253&65535; - $255 = $254 & 4096; - $256 = 16 | $255; - $257 = HEAP32[$pNC2>>2]|0; - $258 = ((($257)) + 28|0); - $259 = HEAP16[$258>>1]|0; - $260 = $259&65535; - $261 = $260 | $256; - $262 = $261&65535; - HEAP16[$258>>1] = $262; - } - $263 = HEAP32[$pNC>>2]|0; - $264 = ((($263)) + 28|0); - $265 = HEAP16[$264>>1]|0; - $266 = $265&65535; - $267 = $266 | 1; - $268 = $267&65535; - HEAP16[$264>>1] = $268; - } - HEAP32[$0>>2] = 1; - $329 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($329|0); - break; + } while(0); + $122 = HEAP32[$9>>2]|0; + $123 = HEAP32[$5>>2]|0; + _sqlite3DeleteTable($122,$123); + $124 = HEAP32[$9>>2]|0; + $125 = HEAP32[$6>>2]|0; + _sqlite3SelectDelete($124,$125); + $126 = HEAP32[$9>>2]|0; + $127 = ((($126)) + 256|0); + $128 = HEAP32[$127>>2]|0; + $129 = (($128) + -1)|0; + HEAP32[$127>>2] = $129; + } else { + $130 = HEAP32[$7>>2]|0; + $131 = (($130) + 1)|0; + HEAP32[$7>>2] = $131; } - case 33: case 20: case 119: { - $269 = HEAP32[$2>>2]|0; - $270 = ((($269)) + 4|0); - $271 = HEAP32[$270>>2]|0; - $272 = $271 & 2048; - $273 = ($272|0)!=(0); - if ($273) { - $274 = HEAP32[$pNC>>2]|0; - $275 = ((($274)) + 20|0); - $276 = HEAP32[$275>>2]|0; - HEAP32[$nRef>>2] = $276; - $277 = HEAP32[$pParse>>2]|0; - $278 = HEAP32[$pNC>>2]|0; - _notValid($277,$278,29816,38); - $279 = HEAP32[$1>>2]|0; - $280 = HEAP32[$2>>2]|0; - $281 = ((($280)) + 20|0); - $282 = HEAP32[$281>>2]|0; - (_sqlite3WalkSelect($279,$282)|0); - $283 = HEAP32[$nRef>>2]|0; - $284 = HEAP32[$pNC>>2]|0; - $285 = ((($284)) + 20|0); - $286 = HEAP32[$285>>2]|0; - $287 = ($283|0)!=($286|0); - if ($287) { - $288 = HEAP32[$2>>2]|0; - $289 = ((($288)) + 4|0); - $290 = HEAP32[$289>>2]|0; - $291 = $290 | 32; - HEAP32[$289>>2] = $291; - $292 = HEAP32[$pNC>>2]|0; - $293 = ((($292)) + 28|0); - $294 = HEAP16[$293>>1]|0; - $295 = $294&65535; - $296 = $295 | 64; - $297 = $296&65535; - HEAP16[$293>>1] = $297; - } + $132 = HEAP32[$4>>2]|0; + $133 = ((($132)) + 64|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 78|0); + $136 = HEAP16[$135>>1]|0; + $137 = $136&65535; + $138 = $137 | 2; + $139 = $138&65535; + HEAP16[$135>>1] = $139; + $140 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $140; + $141 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($141|0); +} +function _sqlite3GetVTable($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, $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 + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 56|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + while(1) { + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + label = 5; + break; } - break; - } - case 135: { - $298 = HEAP32[$pParse>>2]|0; - $299 = HEAP32[$pNC>>2]|0; - _notValid($298,$299,29827,38); - break; - } - case 148: case 29: case 41: case 38: case 39: case 40: case 36: case 37: { - $300 = HEAP32[$pParse>>2]|0; - $301 = HEAP32[$300>>2]|0; - $302 = ((($301)) + 69|0); - $303 = HEAP8[$302>>0]|0; - $304 = ($303<<24>>24)!=(0); - if (!($304)) { - $305 = HEAP32[$2>>2]|0; - $306 = ((($305)) + 12|0); - $307 = HEAP32[$306>>2]|0; - $308 = (_sqlite3ExprVectorSize($307)|0); - HEAP32[$nLeft>>2] = $308; - $309 = HEAP32[$2>>2]|0; - $310 = ((($309)) + 16|0); - $311 = HEAP32[$310>>2]|0; - $312 = (_sqlite3ExprVectorSize($311)|0); - HEAP32[$nRight>>2] = $312; - $313 = HEAP32[$nLeft>>2]|0; - $314 = HEAP32[$nRight>>2]|0; - $315 = ($313|0)!=($314|0); - if ($315) { - $316 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($316,29838,$vararg_buffer15); - } + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ($11|0)!=($12|0); + if (!($13)) { + label = 5; + break; } - break; - } - default: { + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$4>>2] = $16; } + if ((label|0) == 5) { + $17 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($17|0); } - $317 = HEAP32[$pParse>>2]|0; - $318 = ((($317)) + 36|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)!=(0); - if ($320) { - $328 = 1; - } else { - $321 = HEAP32[$pParse>>2]|0; - $322 = HEAP32[$321>>2]|0; - $323 = ((($322)) + 69|0); - $324 = HEAP8[$323>>0]|0; - $325 = $324&255; - $326 = ($325|0)!=(0); - $328 = $326; - } - $327 = $328 ? 2 : 0; - HEAP32[$0>>2] = $327; - $329 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($329|0); -} -function _resolveSelectStep($pWalker,$p) { - $pWalker = $pWalker|0; - $p = $p|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $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, $db = 0, $i = 0, $isCompound = 0, $nCompound = 0, $nRef = 0, $or$cond = 0, $pGroupBy = 0; - var $pItem = 0, $pItem1 = 0, $pItem3 = 0, $pLeftmost = 0, $pNC = 0, $pOuterNC = 0, $pParse = 0, $pSub = 0, $pSub2 = 0, $sNC = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $zSavedContext = 0, label = 0, sp = 0; + return (0)|0; +} +function _sqlite3MayAbort($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; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $pOuterNC = sp + 104|0; - $sNC = sp + 72|0; - $isCompound = sp + 68|0; - $nCompound = sp + 64|0; - $pParse = sp + 60|0; - $i = sp + 56|0; - $pGroupBy = sp + 52|0; - $pLeftmost = sp + 48|0; - $db = sp + 44|0; - $pSub = sp + 40|0; - $pItem = sp + 36|0; - $pNC = sp + 32|0; - $nRef = sp + 28|0; - $zSavedContext = sp + 24|0; - $pItem1 = sp + 20|0; - $pSub2 = sp + 16|0; - $pItem3 = sp + 12|0; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 8|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 124|0); $5 = HEAP32[$4>>2]|0; - $6 = $5 & 4; - $7 = ($6|0)!=(0); - if ($7) { - HEAP32[$0>>2] = 1; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - } - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 24|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pOuterNC>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$11>>2]|0; - HEAP32[$pParse>>2] = $12; - $13 = HEAP32[$pParse>>2]|0; - $14 = HEAP32[$13>>2]|0; - HEAP32[$db>>2] = $14; - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & 64; - $19 = ($18|0)==(0); - if ($19) { - $20 = HEAP32[$pParse>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$pOuterNC>>2]|0; - _sqlite3SelectPrep($20,$21,$22); - $23 = HEAP32[$pParse>>2]|0; - $24 = ((($23)) + 36|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)!=(0); - if ($26) { - $33 = 1; - } else { - $27 = HEAP32[$db>>2]|0; - $28 = ((($27)) + 69|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = ($30|0)!=(0); - $33 = $31; - } - $32 = $33 ? 2 : 1; - HEAP32[$0>>2] = $32; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); + $6 = ($5|0)!=(0|0); + $7 = HEAP32[$1>>2]|0; + if ($6) { + $8 = ((($7)) + 124|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9; + } else { + $10 = $7; } - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 48|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)!=(0|0); - $38 = $37&1; - HEAP32[$isCompound>>2] = $38; - HEAP32[$nCompound>>2] = 0; - $39 = HEAP32[$2>>2]|0; - HEAP32[$pLeftmost>>2] = $39; - L12: while(1) { - $40 = HEAP32[$2>>2]|0; - $41 = ($40|0)!=(0|0); - if (!($41)) { - label = 68; - break; - } - $42 = HEAP32[$2>>2]|0; - $43 = ((($42)) + 8|0); - $44 = HEAP32[$43>>2]|0; - $45 = $44 | 4; - HEAP32[$43>>2] = $45; - ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $46 = HEAP32[$pParse>>2]|0; - HEAP32[$sNC>>2] = $46; - $47 = HEAP32[$2>>2]|0; - $48 = ((($47)) + 56|0); - $49 = HEAP32[$48>>2]|0; - $50 = (_sqlite3ResolveExprNames($sNC,$49)|0); - $51 = ($50|0)!=(0); - if ($51) { - label = 11; - break; - } - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 60|0); - $54 = HEAP32[$53>>2]|0; - $55 = (_sqlite3ResolveExprNames($sNC,$54)|0); - $56 = ($55|0)!=(0); - if ($56) { - label = 11; + HEAP32[$2>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 21|0); + HEAP8[$12>>0] = 1; + STACKTOP = sp;return; +} +function _whereForeignKeys($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 + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 0; + $6 = HEAP32[$3>>2]|0; + $7 = (_sqlite3FkReferences($6)|0); + HEAP32[$4>>2] = $7; + while(1) { + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { break; } - $57 = HEAP32[$2>>2]|0; - $58 = ((($57)) + 8|0); - $59 = HEAP32[$58>>2]|0; - $60 = $59 & 65536; - $61 = ($60|0)!=(0); - if ($61) { - $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 28|0); - $64 = HEAP32[$63>>2]|0; - $65 = ((($64)) + 8|0); - $66 = ((($65)) + 20|0); - $67 = HEAP32[$66>>2]|0; - HEAP32[$pSub>>2] = $67; - $68 = HEAP32[$2>>2]|0; - $69 = ((($68)) + 44|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$pSub>>2]|0; - $72 = ((($71)) + 44|0); - HEAP32[$72>>2] = $70; - $73 = HEAP32[$2>>2]|0; - $74 = ((($73)) + 44|0); - HEAP32[$74>>2] = 0; - } - HEAP32[$i>>2] = 0; - while(1) { - $75 = HEAP32[$i>>2]|0; - $76 = HEAP32[$2>>2]|0; - $77 = ((($76)) + 28|0); - $78 = HEAP32[$77>>2]|0; - $79 = HEAP32[$78>>2]|0; - $80 = ($75|0)<($79|0); - if (!($80)) { - break; - } - $81 = HEAP32[$i>>2]|0; - $82 = HEAP32[$2>>2]|0; - $83 = ((($82)) + 28|0); - $84 = HEAP32[$83>>2]|0; - $85 = ((($84)) + 8|0); - $86 = (($85) + (($81*72)|0)|0); - HEAP32[$pItem>>2] = $86; - $87 = HEAP32[$pItem>>2]|0; - $88 = ((($87)) + 20|0); - $89 = HEAP32[$88>>2]|0; - $90 = ($89|0)!=(0|0); - if ($90) { - HEAP32[$nRef>>2] = 0; - $91 = HEAP32[$pParse>>2]|0; - $92 = ((($91)) + 448|0); - $93 = HEAP32[$92>>2]|0; - HEAP32[$zSavedContext>>2] = $93; - $94 = HEAP32[$pOuterNC>>2]|0; - HEAP32[$pNC>>2] = $94; - while(1) { - $95 = HEAP32[$pNC>>2]|0; - $96 = ($95|0)!=(0|0); - if (!($96)) { - break; - } - $97 = HEAP32[$pNC>>2]|0; - $98 = ((($97)) + 20|0); - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$nRef>>2]|0; - $101 = (($100) + ($99))|0; - HEAP32[$nRef>>2] = $101; - $102 = HEAP32[$pNC>>2]|0; - $103 = ((($102)) + 16|0); - $104 = HEAP32[$103>>2]|0; - HEAP32[$pNC>>2] = $104; - } - $105 = HEAP32[$pItem>>2]|0; - $106 = ((($105)) + 8|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)!=(0|0); - if ($108) { - $109 = HEAP32[$pItem>>2]|0; - $110 = ((($109)) + 8|0); - $111 = HEAP32[$110>>2]|0; - $112 = HEAP32[$pParse>>2]|0; - $113 = ((($112)) + 448|0); - HEAP32[$113>>2] = $111; - } - $114 = HEAP32[$pParse>>2]|0; - $115 = HEAP32[$pItem>>2]|0; - $116 = ((($115)) + 20|0); - $117 = HEAP32[$116>>2]|0; - $118 = HEAP32[$pOuterNC>>2]|0; - _sqlite3ResolveSelectNames($114,$117,$118); - $119 = HEAP32[$zSavedContext>>2]|0; - $120 = HEAP32[$pParse>>2]|0; - $121 = ((($120)) + 448|0); - HEAP32[$121>>2] = $119; - $122 = HEAP32[$pParse>>2]|0; - $123 = ((($122)) + 36|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($124|0)!=(0); - if ($125) { - label = 24; - break L12; - } - $126 = HEAP32[$db>>2]|0; - $127 = ((($126)) + 69|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = ($129|0)!=(0); - if ($130) { - label = 24; - break L12; - } - $131 = HEAP32[$pOuterNC>>2]|0; - HEAP32[$pNC>>2] = $131; - while(1) { - $132 = HEAP32[$pNC>>2]|0; - $133 = ($132|0)!=(0|0); - if (!($133)) { - break; - } - $134 = HEAP32[$pNC>>2]|0; - $135 = ((($134)) + 20|0); - $136 = HEAP32[$135>>2]|0; - $137 = HEAP32[$nRef>>2]|0; - $138 = (($137) - ($136))|0; - HEAP32[$nRef>>2] = $138; - $139 = HEAP32[$pNC>>2]|0; - $140 = ((($139)) + 16|0); - $141 = HEAP32[$140>>2]|0; - HEAP32[$pNC>>2] = $141; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (_whereOrName($11,$12,$15)|0); + HEAP32[$5>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$4>>2] = $19; + } + $20 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($20|0); +} +function _sqlite3FkReferences($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 64|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 56|0); + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3HashFind($5,$7)|0); + STACKTOP = sp;return ($8|0); +} +function _sqlite3VtabCallConnect($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 44|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 42|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 & 16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = (_sqlite3GetVTable($19,$20)|0); + $22 = ($21|0)!=(0|0); + if (!($22)) { + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 52|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$6>>2] = $26; + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 320|0); + $29 = HEAP32[$6>>2]|0; + $30 = (_sqlite3HashFind($28,$29)|0); + HEAP32[$7>>2] = $30; + $31 = HEAP32[$7>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + HEAP32[$10>>2] = 0; + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$4>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = ((($43)) + 8|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_vtabCallConstructor($39,$40,$41,$45,$10)|0); + HEAP32[$8>>2] = $46; + $47 = HEAP32[$8>>2]|0; + $48 = ($47|0)!=(0); + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer1>>2] = $50; + _sqlite3ErrorMsg($49,21240,$vararg_buffer1); } - $142 = HEAP32[$nRef>>2]|0; - $143 = ($142|0)!=(0); - $144 = $143&1; - $145 = HEAP32[$pItem>>2]|0; - $146 = ((($145)) + 36|0); - $147 = ((($146)) + 1|0); - $148 = $144&255; - $149 = HEAP8[$147>>0]|0; - $150 = $148 & 1; - $151 = ($150 << 3)&255; - $152 = $149 & -9; - $153 = $152 | $151; - HEAP8[$147>>0] = $153; - } - $154 = HEAP32[$i>>2]|0; - $155 = (($154) + 1)|0; - HEAP32[$i>>2] = $155; - } - $156 = ((($sNC)) + 28|0); - HEAP16[$156>>1] = 1; - $157 = HEAP32[$2>>2]|0; - $158 = ((($157)) + 28|0); - $159 = HEAP32[$158>>2]|0; - $160 = ((($sNC)) + 4|0); - HEAP32[$160>>2] = $159; - $161 = HEAP32[$pOuterNC>>2]|0; - $162 = ((($sNC)) + 16|0); - HEAP32[$162>>2] = $161; - $163 = HEAP32[$2>>2]|0; - $164 = HEAP32[$163>>2]|0; - $165 = (_sqlite3ResolveExprListNames($sNC,$164)|0); - $166 = ($165|0)!=(0); - if ($166) { - label = 31; - break; - } - $167 = HEAP32[$2>>2]|0; - $168 = ((($167)) + 36|0); - $169 = HEAP32[$168>>2]|0; - HEAP32[$pGroupBy>>2] = $169; - $170 = HEAP32[$pGroupBy>>2]|0; - $171 = ($170|0)!=(0|0); - if ($171) { - label = 34; - } else { - $172 = ((($sNC)) + 28|0); - $173 = HEAP16[$172>>1]|0; - $174 = $173&65535; - $175 = $174 & 16; - $176 = ($175|0)!=(0); - if ($176) { - label = 34; + $51 = HEAP32[$5>>2]|0; + $52 = HEAP32[$10>>2]|0; + _sqlite3DbFree($51,$52); } else { - $186 = ((($sNC)) + 28|0); - $187 = HEAP16[$186>>1]|0; - $188 = $187&65535; - $189 = $188 & -2; - $190 = $189&65535; - HEAP16[$186>>1] = $190; + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 52|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$35>>2]|0; + HEAP32[$9>>2] = $36; + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$9>>2]|0; + HEAP32[$vararg_buffer>>2] = $38; + _sqlite3ErrorMsg($37,30050,$vararg_buffer); + HEAP32[$8>>2] = 1; } - } - if ((label|0) == 34) { - label = 0; - $177 = ((($sNC)) + 28|0); - $178 = HEAP16[$177>>1]|0; - $179 = $178&65535; - $180 = $179 & 4096; - $181 = 8 | $180; - $182 = HEAP32[$2>>2]|0; - $183 = ((($182)) + 8|0); - $184 = HEAP32[$183>>2]|0; - $185 = $184 | $181; - HEAP32[$183>>2] = $185; - } - $191 = HEAP32[$2>>2]|0; - $192 = ((($191)) + 40|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==(0|0); - $195 = HEAP32[$pGroupBy>>2]|0; - $196 = ($195|0)!=(0|0); - $or$cond = $194 | $196; - if (!($or$cond)) { - label = 37; - break; - } - $198 = HEAP32[$2>>2]|0; - $199 = HEAP32[$198>>2]|0; - $200 = ((($sNC)) + 8|0); - HEAP32[$200>>2] = $199; - $201 = HEAP32[$2>>2]|0; - $202 = ((($201)) + 40|0); - $203 = HEAP32[$202>>2]|0; - $204 = (_sqlite3ResolveExprNames($sNC,$203)|0); - $205 = ($204|0)!=(0); - if ($205) { - label = 39; - break; - } - $206 = HEAP32[$2>>2]|0; - $207 = ((($206)) + 32|0); - $208 = HEAP32[$207>>2]|0; - $209 = (_sqlite3ResolveExprNames($sNC,$208)|0); - $210 = ($209|0)!=(0); - if ($210) { - label = 41; - break; - } - HEAP32[$i>>2] = 0; - while(1) { - $211 = HEAP32[$i>>2]|0; - $212 = HEAP32[$2>>2]|0; - $213 = ((($212)) + 28|0); - $214 = HEAP32[$213>>2]|0; - $215 = HEAP32[$214>>2]|0; - $216 = ($211|0)<($215|0); - if (!($216)) { - break; - } - $217 = HEAP32[$i>>2]|0; - $218 = HEAP32[$2>>2]|0; - $219 = ((($218)) + 28|0); - $220 = HEAP32[$219>>2]|0; - $221 = ((($220)) + 8|0); - $222 = (($221) + (($217*72)|0)|0); - HEAP32[$pItem1>>2] = $222; - $223 = HEAP32[$pItem1>>2]|0; - $224 = ((($223)) + 36|0); - $225 = ((($224)) + 1|0); - $226 = HEAP8[$225>>0]|0; - $227 = ($226&255) >>> 2; - $228 = $227 & 1; - $229 = $228&255; - $230 = ($229|0)!=(0); - if ($230) { - $231 = HEAP32[$pItem1>>2]|0; - $232 = ((($231)) + 64|0); - $233 = HEAP32[$232>>2]|0; - $234 = (_sqlite3ResolveExprListNames($sNC,$233)|0); - $235 = ($234|0)!=(0); - if ($235) { - label = 46; - break L12; - } - } - $236 = HEAP32[$i>>2]|0; - $237 = (($236) + 1)|0; - HEAP32[$i>>2] = $237; - } - $238 = ((($sNC)) + 16|0); - HEAP32[$238>>2] = 0; - $239 = ((($sNC)) + 28|0); - $240 = HEAP16[$239>>1]|0; - $241 = $240&65535; - $242 = $241 | 1; - $243 = $242&65535; - HEAP16[$239>>1] = $243; - $244 = HEAP32[$2>>2]|0; - $245 = ((($244)) + 8|0); - $246 = HEAP32[$245>>2]|0; - $247 = $246 & 65536; - $248 = ($247|0)!=(0); - if ($248) { - $249 = HEAP32[$2>>2]|0; - $250 = ((($249)) + 28|0); - $251 = HEAP32[$250>>2]|0; - $252 = ((($251)) + 8|0); - $253 = ((($252)) + 20|0); - $254 = HEAP32[$253>>2]|0; - HEAP32[$pSub2>>2] = $254; - $255 = HEAP32[$pSub2>>2]|0; - $256 = ((($255)) + 44|0); - $257 = HEAP32[$256>>2]|0; - $258 = HEAP32[$2>>2]|0; - $259 = ((($258)) + 44|0); - HEAP32[$259>>2] = $257; - $260 = HEAP32[$pSub2>>2]|0; - $261 = ((($260)) + 44|0); - HEAP32[$261>>2] = 0; - } - $262 = HEAP32[$isCompound>>2]|0; - $263 = HEAP32[$nCompound>>2]|0; - $264 = ($262|0)<=($263|0); - if ($264) { - $265 = HEAP32[$2>>2]|0; - $266 = HEAP32[$2>>2]|0; - $267 = ((($266)) + 44|0); - $268 = HEAP32[$267>>2]|0; - $269 = (_resolveOrderGroupBy($sNC,$265,$268,29099)|0); - $270 = ($269|0)!=(0); - if ($270) { - label = 52; - break; - } - } - $271 = HEAP32[$db>>2]|0; - $272 = ((($271)) + 69|0); - $273 = HEAP8[$272>>0]|0; - $274 = ($273<<24>>24)!=(0); - if ($274) { - label = 54; - break; - } - $275 = HEAP32[$pGroupBy>>2]|0; - $276 = ($275|0)!=(0|0); - L64: do { - if ($276) { - $277 = HEAP32[$2>>2]|0; - $278 = HEAP32[$pGroupBy>>2]|0; - $279 = (_resolveOrderGroupBy($sNC,$277,$278,29105)|0); - $280 = ($279|0)!=(0); - if ($280) { - label = 58; - break L12; - } - $281 = HEAP32[$db>>2]|0; - $282 = ((($281)) + 69|0); - $283 = HEAP8[$282>>0]|0; - $284 = $283&255; - $285 = ($284|0)!=(0); - if ($285) { - label = 58; - break L12; - } - HEAP32[$i>>2] = 0; - $286 = HEAP32[$pGroupBy>>2]|0; - $287 = ((($286)) + 4|0); - $288 = HEAP32[$287>>2]|0; - HEAP32[$pItem3>>2] = $288; - while(1) { - $289 = HEAP32[$i>>2]|0; - $290 = HEAP32[$pGroupBy>>2]|0; - $291 = HEAP32[$290>>2]|0; - $292 = ($289|0)<($291|0); - if (!($292)) { - break L64; - } - $293 = HEAP32[$pItem3>>2]|0; - $294 = HEAP32[$293>>2]|0; - $295 = ((($294)) + 4|0); - $296 = HEAP32[$295>>2]|0; - $297 = $296 & 2; - $298 = ($297|0)!=(0); - if ($298) { - label = 62; - break L12; - } - $300 = HEAP32[$i>>2]|0; - $301 = (($300) + 1)|0; - HEAP32[$i>>2] = $301; - $302 = HEAP32[$pItem3>>2]|0; - $303 = ((($302)) + 20|0); - HEAP32[$pItem3>>2] = $303; - } - } - } while(0); - $304 = HEAP32[$2>>2]|0; - $305 = ((($304)) + 52|0); - $306 = HEAP32[$305>>2]|0; - $307 = ($306|0)!=(0|0); - if ($307) { - $308 = HEAP32[$2>>2]|0; - $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[$309>>2]|0; - $311 = HEAP32[$2>>2]|0; - $312 = ((($311)) + 52|0); - $313 = HEAP32[$312>>2]|0; - $314 = HEAP32[$313>>2]|0; - $315 = HEAP32[$314>>2]|0; - $316 = ($310|0)!=($315|0); - if ($316) { - label = 66; - break; - } - } - $321 = HEAP32[$2>>2]|0; - $322 = ((($321)) + 48|0); - $323 = HEAP32[$322>>2]|0; - HEAP32[$2>>2] = $323; - $324 = HEAP32[$nCompound>>2]|0; - $325 = (($324) + 1)|0; - HEAP32[$nCompound>>2] = $325; - } - switch (label|0) { - case 11: { - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; - } - case 24: { - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; - } - case 31: { - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; - } - case 37: { - $197 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($197,29055,$vararg_buffer); - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; - } - case 39: { - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; - } - case 41: { - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; - } - case 46: { - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; - } - case 52: { - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; - } - case 54: { - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; - } - case 58: { - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; - } - case 62: { - $299 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($299,29111,$vararg_buffer2); - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; - } - case 66: { - $317 = HEAP32[$pParse>>2]|0; - $318 = HEAP32[$2>>2]|0; - $319 = ((($318)) + 52|0); - $320 = HEAP32[$319>>2]|0; - _sqlite3SelectWrongNumTermsError($317,$320); - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; - } - case 68: { - $326 = HEAP32[$isCompound>>2]|0; - $327 = ($326|0)!=(0); - if ($327) { - $328 = HEAP32[$pParse>>2]|0; - $329 = HEAP32[$pLeftmost>>2]|0; - $330 = (_resolveCompoundOrderBy($328,$329)|0); - $331 = ($330|0)!=(0); - if ($331) { - HEAP32[$0>>2] = 2; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - } - } - HEAP32[$0>>2] = 1; - $332 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($332|0); - break; + $53 = HEAP32[$8>>2]|0; + HEAP32[$2>>2] = $53; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); } } - return (0)|0; + HEAP32[$2>>2] = 0; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); } -function _sqlite3ResolveExprNames($pNC,$pExpr) { - $pNC = $pNC|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $pParse = 0, $savedHasAgg = 0, $w = 0, label = 0, sp = 0; +function _sqlite3SelectDup($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $savedHasAgg = sp + 44|0; - $w = sp + 4|0; - $pParse = sp; - HEAP32[$1>>2] = $pNC; - HEAP32[$2>>2] = $pExpr; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = 0; - $91 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($91|0); - } - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$pParse>>2] = $6; - $7 = HEAP32[$pParse>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ((($12)) + 416|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($10) + ($14))|0; - $16 = (_sqlite3ExprCheckHeight($7,$15)|0); - $17 = ($16|0)!=(0); - if ($17) { - HEAP32[$0>>2] = 1; - $91 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($91|0); - } - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 24|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$pParse>>2]|0; - $22 = ((($21)) + 416|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($20))|0; - HEAP32[$22>>2] = $24; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 28|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27&65535; - $29 = $28 & 4112; - $30 = $29&65535; - HEAP16[$savedHasAgg>>1] = $30; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 28|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33&65535; - $35 = $34 & -4113; - $36 = $35&65535; - HEAP16[$32>>1] = $36; - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$37>>2]|0; - HEAP32[$w>>2] = $38; - $39 = ((($w)) + 4|0); - HEAP32[$39>>2] = 193; - $40 = ((($w)) + 8|0); - HEAP32[$40>>2] = 194; - $41 = ((($w)) + 12|0); - HEAP32[$41>>2] = 0; - $42 = ((($w)) + 16|0); - HEAP32[$42>>2] = 0; - $43 = ((($w)) + 20|0); - HEAP8[$43>>0] = 0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($w)) + 24|0); - HEAP32[$45>>2] = $44; - $46 = HEAP32[$2>>2]|0; - (_sqlite3WalkExpr($w,$46)|0); - $47 = HEAP32[$2>>2]|0; - $48 = ((($47)) + 24|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$50>>2]|0; - $52 = ((($51)) + 416|0); - $53 = HEAP32[$52>>2]|0; - $54 = (($53) - ($49))|0; - HEAP32[$52>>2] = $54; - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 24|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)>(0); - if ($58) { - label = 7; - } else { - $59 = HEAP32[$w>>2]|0; - $60 = ((($59)) + 36|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)>(0); - if ($62) { - label = 7; - } + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + HEAP32[$3>>2] = 0; + $125 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($125|0); } - if ((label|0) == 7) { - $63 = HEAP32[$2>>2]|0; - $64 = ((($63)) + 4|0); - $65 = HEAP32[$64>>2]|0; - $66 = $65 | 8; - HEAP32[$64>>2] = $66; + $11 = HEAP32[$4>>2]|0; + $12 = (_sqlite3DbMallocRawNN($11,68,0)|0); + HEAP32[$7>>2] = $12; + $13 = HEAP32[$7>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + HEAP32[$3>>2] = 0; + $125 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($125|0); } - $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 28|0); - $69 = HEAP16[$68>>1]|0; - $70 = $69&65535; - $71 = $70 & 16; - $72 = ($71|0)!=(0); - if ($72) { - $73 = HEAP32[$2>>2]|0; - $74 = ((($73)) + 4|0); - $75 = HEAP32[$74>>2]|0; - $76 = $75 | 2; - HEAP32[$74>>2] = $76; + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = (_sqlite3ExprListDup($15,$17,$18)|0); + $20 = HEAP32[$7>>2]|0; + HEAP32[$20>>2] = $19; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 28|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$6>>2]|0; + $26 = (_sqlite3SrcListDup($21,$24,$25)|0); + $27 = HEAP32[$7>>2]|0; + $28 = ((($27)) + 28|0); + HEAP32[$28>>2] = $26; + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 32|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = (_sqlite3ExprDup($29,$32,$33)|0); + $35 = HEAP32[$7>>2]|0; + $36 = ((($35)) + 32|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$4>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 36|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = (_sqlite3ExprListDup($37,$40,$41)|0); + $43 = HEAP32[$7>>2]|0; + $44 = ((($43)) + 36|0); + HEAP32[$44>>2] = $42; + $45 = HEAP32[$4>>2]|0; + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 40|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$6>>2]|0; + $50 = (_sqlite3ExprDup($45,$48,$49)|0); + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 40|0); + HEAP32[$52>>2] = $50; + $53 = HEAP32[$4>>2]|0; + $54 = HEAP32[$5>>2]|0; + $55 = ((($54)) + 44|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = (_sqlite3ExprListDup($53,$56,$57)|0); + $59 = HEAP32[$7>>2]|0; + $60 = ((($59)) + 44|0); + HEAP32[$60>>2] = $58; + $61 = HEAP32[$5>>2]|0; + $62 = ((($61)) + 4|0); + $63 = HEAP8[$62>>0]|0; + $64 = HEAP32[$7>>2]|0; + $65 = ((($64)) + 4|0); + HEAP8[$65>>0] = $63; + $66 = HEAP32[$4>>2]|0; + $67 = HEAP32[$5>>2]|0; + $68 = ((($67)) + 48|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$6>>2]|0; + $71 = (_sqlite3SelectDup($66,$69,$70)|0); + HEAP32[$8>>2] = $71; + $72 = HEAP32[$7>>2]|0; + $73 = ((($72)) + 48|0); + HEAP32[$73>>2] = $71; + $74 = HEAP32[$8>>2]|0; + $75 = ($74|0)!=(0|0); + if ($75) { + $76 = HEAP32[$7>>2]|0; + $77 = HEAP32[$8>>2]|0; + $78 = ((($77)) + 52|0); + HEAP32[$78>>2] = $76; } - $77 = HEAP16[$savedHasAgg>>1]|0; - $78 = $77&65535; - $79 = HEAP32[$1>>2]|0; - $80 = ((($79)) + 28|0); - $81 = HEAP16[$80>>1]|0; - $82 = $81&65535; - $83 = $82 | $78; - $84 = $83&65535; - HEAP16[$80>>1] = $84; - $85 = HEAP32[$2>>2]|0; - $86 = ((($85)) + 4|0); - $87 = HEAP32[$86>>2]|0; - $88 = $87 & 8; - $89 = ($88|0)!=(0); - $90 = $89&1; - HEAP32[$0>>2] = $90; - $91 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($91|0); + $79 = HEAP32[$7>>2]|0; + $80 = ((($79)) + 52|0); + HEAP32[$80>>2] = 0; + $81 = HEAP32[$4>>2]|0; + $82 = HEAP32[$5>>2]|0; + $83 = ((($82)) + 56|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$6>>2]|0; + $86 = (_sqlite3ExprDup($81,$84,$85)|0); + $87 = HEAP32[$7>>2]|0; + $88 = ((($87)) + 56|0); + HEAP32[$88>>2] = $86; + $89 = HEAP32[$4>>2]|0; + $90 = HEAP32[$5>>2]|0; + $91 = ((($90)) + 60|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$6>>2]|0; + $94 = (_sqlite3ExprDup($89,$92,$93)|0); + $95 = HEAP32[$7>>2]|0; + $96 = ((($95)) + 60|0); + HEAP32[$96>>2] = $94; + $97 = HEAP32[$7>>2]|0; + $98 = ((($97)) + 12|0); + HEAP32[$98>>2] = 0; + $99 = HEAP32[$7>>2]|0; + $100 = ((($99)) + 16|0); + HEAP32[$100>>2] = 0; + $101 = HEAP32[$5>>2]|0; + $102 = ((($101)) + 8|0); + $103 = HEAP32[$102>>2]|0; + $104 = $103 & -33; + $105 = HEAP32[$7>>2]|0; + $106 = ((($105)) + 8|0); + HEAP32[$106>>2] = $104; + $107 = HEAP32[$7>>2]|0; + $108 = ((($107)) + 20|0); + HEAP32[$108>>2] = -1; + $109 = HEAP32[$7>>2]|0; + $110 = ((($109)) + 20|0); + $111 = ((($110)) + 4|0); + HEAP32[$111>>2] = -1; + $112 = HEAP32[$5>>2]|0; + $113 = ((($112)) + 6|0); + $114 = HEAP16[$113>>1]|0; + $115 = HEAP32[$7>>2]|0; + $116 = ((($115)) + 6|0); + HEAP16[$116>>1] = $114; + $117 = HEAP32[$4>>2]|0; + $118 = HEAP32[$5>>2]|0; + $119 = ((($118)) + 64|0); + $120 = HEAP32[$119>>2]|0; + $121 = (_withDup($117,$120)|0); + $122 = HEAP32[$7>>2]|0; + $123 = ((($122)) + 64|0); + HEAP32[$123>>2] = $121; + $124 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $124; + $125 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($125|0); } -function _sqlite3ResolveExprListNames($pNC,$pList) { - $pNC = $pNC|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, label = 0, sp = 0; +function _sqlite3SrcListAssignCursors($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $pNC; - HEAP32[$2>>2] = $pList; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - L1: do { - if ($4) { - HEAP32[$i>>2] = 0; - while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ($5|0)<($7|0); - if (!($8)) { - break L1; - } - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + (($10*20)|0)|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3ResolveExprNames($9,$15)|0); - $17 = ($16|0)!=(0); - if ($17) { - break; - } - $18 = HEAP32[$i>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$i>>2] = $19; - } - HEAP32[$0>>2] = 2; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } - } while(0); - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); -} -function _resolveOrderGroupBy($pNC,$pSelect,$pOrderBy,$zType) { - $pNC = $pNC|0; - $pSelect = $pSelect|0; - $pOrderBy = $pOrderBy|0; - $zType = $zType|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $iCol = 0, $j = 0, $nResult = 0, $or$cond = 0, $pE = 0, $pE2 = 0, $pItem = 0; - var $pParse = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $i = sp + 28|0; - $j = sp + 24|0; - $iCol = sp + 20|0; - $pItem = sp + 16|0; - $pParse = sp + 12|0; - $nResult = sp + 8|0; - $pE = sp + 4|0; - $pE2 = sp; - HEAP32[$1>>2] = $pNC; - HEAP32[$2>>2] = $pSelect; - HEAP32[$3>>2] = $pOrderBy; - HEAP32[$4>>2] = $zType; - $5 = HEAP32[$3>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - HEAP32[$0>>2] = 0; - $91 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($91|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + STACKTOP = sp;return; } - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$nResult>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$10>>2]|0; - HEAP32[$pParse>>2] = $11; - HEAP32[$i>>2] = 0; - $12 = HEAP32[$3>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pItem>>2] = $14; - L5: while(1) { - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ($15|0)<($17|0); - if (!($18)) { - label = 20; + HEAP32[$4>>2] = 0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 8|0); + HEAP32[$5>>2] = $9; + while(1) { + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ($10|0)<($12|0); + if (!($13)) { + label = 8; + break; + } + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 44|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>=(0); + if ($17) { + label = 8; break; } - $19 = HEAP32[$pItem>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 40|0); $20 = HEAP32[$19>>2]|0; - HEAP32[$pE>>2] = $20; - $21 = HEAP32[$pE>>2]|0; - $22 = (_sqlite3ExprSkipCollate($21)|0); - HEAP32[$pE2>>2] = $22; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP8[$23>>0]|0; - $25 = $24 << 24 >> 24; - $26 = ($25|0)!=(71); - if ($26) { - $27 = HEAP32[$pParse>>2]|0; + $21 = (($20) + 1)|0; + HEAP32[$19>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 44|0); + HEAP32[$23>>2] = $20; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 20|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0|0); + if ($27) { $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$pE2>>2]|0; - $31 = (_resolveAsName($27,$29,$30)|0); - HEAP32[$iCol>>2] = $31; - $32 = HEAP32[$iCol>>2]|0; - $33 = ($32|0)>(0); - if ($33) { - $34 = HEAP32[$iCol>>2]|0; - $35 = $34&65535; - $36 = HEAP32[$pItem>>2]|0; - $37 = ((($36)) + 16|0); - HEAP16[$37>>1] = $35; - } else { - label = 8; - } - } else { - label = 8; + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 28|0); + $33 = HEAP32[$32>>2]|0; + _sqlite3SrcListAssignCursors($28,$33); } - L11: do { - if ((label|0) == 8) { - label = 0; - $38 = HEAP32[$pE2>>2]|0; - $39 = (_sqlite3ExprIsInteger($38,$iCol)|0); - $40 = ($39|0)!=(0); - if ($40) { - $41 = HEAP32[$iCol>>2]|0; - $42 = ($41|0)<(1); - $43 = HEAP32[$iCol>>2]|0; - $44 = ($43|0)>(65535); - $or$cond = $42 | $44; - if ($or$cond) { - label = 10; - break L5; - } - $50 = HEAP32[$iCol>>2]|0; - $51 = $50&65535; - $52 = HEAP32[$pItem>>2]|0; - $53 = ((($52)) + 16|0); - HEAP16[$53>>1] = $51; - break; - } - $54 = HEAP32[$pItem>>2]|0; - $55 = ((($54)) + 16|0); - HEAP16[$55>>1] = 0; - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$pE>>2]|0; - $58 = (_sqlite3ResolveExprNames($56,$57)|0); - $59 = ($58|0)!=(0); - if ($59) { - label = 13; - break L5; - } - HEAP32[$j>>2] = 0; - while(1) { - $60 = HEAP32[$j>>2]|0; - $61 = HEAP32[$2>>2]|0; - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$62>>2]|0; - $64 = ($60|0)<($63|0); - if (!($64)) { - break L11; - } - $65 = HEAP32[$pE>>2]|0; - $66 = HEAP32[$j>>2]|0; - $67 = HEAP32[$2>>2]|0; - $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 4|0); - $70 = HEAP32[$69>>2]|0; - $71 = (($70) + (($66*20)|0)|0); - $72 = HEAP32[$71>>2]|0; - $73 = (_sqlite3ExprCompare($65,$72,-1)|0); - $74 = ($73|0)==(0); - if ($74) { - $75 = HEAP32[$j>>2]|0; - $76 = (($75) + 1)|0; - $77 = $76&65535; - $78 = HEAP32[$pItem>>2]|0; - $79 = ((($78)) + 16|0); - HEAP16[$79>>1] = $77; - } - $80 = HEAP32[$j>>2]|0; - $81 = (($80) + 1)|0; - HEAP32[$j>>2] = $81; - } - } - } while(0); - $82 = HEAP32[$i>>2]|0; - $83 = (($82) + 1)|0; - HEAP32[$i>>2] = $83; - $84 = HEAP32[$pItem>>2]|0; - $85 = ((($84)) + 20|0); - HEAP32[$pItem>>2] = $85; - } - if ((label|0) == 10) { - $45 = HEAP32[$pParse>>2]|0; - $46 = HEAP32[$4>>2]|0; - $47 = HEAP32[$i>>2]|0; - $48 = (($47) + 1)|0; - $49 = HEAP32[$nResult>>2]|0; - _resolveOutOfRangeError($45,$46,$48,$49); - HEAP32[$0>>2] = 1; - $91 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($91|0); - } - else if ((label|0) == 13) { - HEAP32[$0>>2] = 1; - $91 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($91|0); - } - else if ((label|0) == 20) { - $86 = HEAP32[$pParse>>2]|0; - $87 = HEAP32[$2>>2]|0; - $88 = HEAP32[$3>>2]|0; - $89 = HEAP32[$4>>2]|0; - $90 = (_sqlite3ResolveOrderGroupBy($86,$87,$88,$89)|0); - HEAP32[$0>>2] = $90; - $91 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($91|0); + $34 = HEAP32[$4>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$4>>2] = $35; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 72|0); + HEAP32[$5>>2] = $37; } - return (0)|0; -} -function _sqlite3SelectWrongNumTermsError($pParse,$p) { - $pParse = $pParse|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 16|0; - $1 = sp + 12|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 512; - $6 = ($5|0)!=(0); - $7 = HEAP32[$0>>2]|0; - if ($6) { - _sqlite3ErrorMsg($7,29321,$vararg_buffer); - STACKTOP = sp;return; - } else { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = (_selectOpName($11)|0); - HEAP32[$vararg_buffer1>>2] = $12; - _sqlite3ErrorMsg($7,29367,$vararg_buffer1); + if ((label|0) == 8) { STACKTOP = sp;return; } } -function _resolveCompoundOrderBy($pParse,$pSelect) { - $pParse = $pParse|0; - $pSelect = $pSelect|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $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; - 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, $db = 0, $i = 0, $iCol = 0, $moreToDo = 0, $pDup = 0, $pE = 0, $pEList = 0; - var $pItem = 0, $pNew = 0, $pOrderBy = 0, $pParent = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; +function _sqlite3ResultSetOfSelect($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $i = sp + 52|0; - $pOrderBy = sp + 48|0; - $pEList = sp + 44|0; - $db = sp + 40|0; - $moreToDo = sp + 36|0; - $pItem = sp + 32|0; - $iCol = sp + 28|0; - $pE = sp + 24|0; - $pDup = sp + 20|0; - $pNew = sp + 16|0; - $pParent = sp + 12|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pSelect; - HEAP32[$moreToDo>>2] = 1; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 44|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pOrderBy>>2] = $5; - $6 = HEAP32[$pOrderBy>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - HEAP32[$0>>2] = 0; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); - } - $8 = HEAP32[$1>>2]|0; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; $9 = HEAP32[$8>>2]|0; - HEAP32[$db>>2] = $9; - $10 = HEAP32[$pOrderBy>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 96|0); - $14 = ((($13)) + 8|0); + HEAP32[$6>>2] = $9; + $10 = HEAP32[$6>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$7>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = ((($13)) + 24|0); $15 = HEAP32[$14>>2]|0; - $16 = ($11|0)>($15|0); - if ($16) { - $17 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($17,29170,$vararg_buffer); - HEAP32[$0>>2] = 1; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); + $16 = $15 & -5; + HEAP32[$14>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 24|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19 | 64; + HEAP32[$18>>2] = $20; + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$4>>2]|0; + _sqlite3SelectPrep($21,$22,0); + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 36|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + HEAP32[$2>>2] = 0; + $65 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($65|0); } - HEAP32[$i>>2] = 0; while(1) { - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$pOrderBy>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = ($18|0)<($20|0); - if (!($21)) { + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 48|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { break; } - $22 = HEAP32[$i>>2]|0; - $23 = HEAP32[$pOrderBy>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + (($22*20)|0)|0); - $27 = ((($26)) + 13|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28 & -2; - HEAP8[$27>>0] = $29; - $30 = HEAP32[$i>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$i>>2] = $31; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 48|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$4>>2] = $33; } - $32 = HEAP32[$2>>2]|0; - $33 = ((($32)) + 52|0); - HEAP32[$33>>2] = 0; + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 24|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$6>>2]|0; + $38 = (_sqlite3DbMallocZero($37,72,0)|0); + HEAP32[$5>>2] = $38; + $39 = HEAP32[$5>>2]|0; + $40 = ($39|0)==(0|0); + if ($40) { + HEAP32[$2>>2] = 0; + $65 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($65|0); + } + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 36|0); + HEAP16[$42>>1] = 1; + $43 = HEAP32[$5>>2]|0; + HEAP32[$43>>2] = 0; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 38|0); + HEAP16[$45>>1] = 200; + $46 = HEAP32[$3>>2]|0; + $47 = HEAP32[$4>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 34|0); + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 4|0); + (_sqlite3ColumnsFromExprList($46,$48,$50,$52)|0); + $53 = HEAP32[$3>>2]|0; + $54 = HEAP32[$5>>2]|0; + $55 = HEAP32[$4>>2]|0; + _sqlite3SelectAddColumnTypeAndCollation($53,$54,$55); + $56 = HEAP32[$5>>2]|0; + $57 = ((($56)) + 32|0); + HEAP16[$57>>1] = -1; + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + 69|0); + $60 = HEAP8[$59>>0]|0; + $61 = ($60<<24>>24)!=(0); + if ($61) { + $62 = HEAP32[$6>>2]|0; + $63 = HEAP32[$5>>2]|0; + _sqlite3DeleteTable($62,$63); + HEAP32[$2>>2] = 0; + $65 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($65|0); + } else { + $64 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $64; + $65 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($65|0); + } + return (0)|0; +} +function _sqlite3ColumnsFromExprList($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 104|0; + $5 = sp + 100|0; + $6 = sp + 96|0; + $7 = sp + 92|0; + $8 = sp + 88|0; + $9 = sp + 84|0; + $10 = sp + 80|0; + $11 = sp + 76|0; + $12 = sp + 72|0; + $13 = sp + 68|0; + $14 = sp + 64|0; + $15 = sp + 60|0; + $16 = sp + 56|0; + $17 = sp + 52|0; + $18 = sp + 48|0; + $19 = sp + 32|0; + $20 = sp + 28|0; + $21 = sp + 24|0; + $22 = sp + 20|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$23>>2]|0; + HEAP32[$9>>2] = $24; + _sqlite3HashInit($19); + $25 = HEAP32[$6>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$27>>2]|0; + HEAP32[$15>>2] = $28; + $29 = HEAP32[$9>>2]|0; + $30 = HEAP32[$15>>2]|0; + $31 = $30<<4; + $32 = (_sqlite3DbMallocZero($29,$31,0)|0); + HEAP32[$13>>2] = $32; + } else { + HEAP32[$15>>2] = 0; + HEAP32[$13>>2] = 0; + } + $33 = HEAP32[$15>>2]|0; + $34 = $33&65535; + $35 = HEAP32[$7>>2]|0; + HEAP16[$35>>1] = $34; + $36 = HEAP32[$13>>2]|0; + $37 = HEAP32[$8>>2]|0; + HEAP32[$37>>2] = $36; + HEAP32[$10>>2] = 0; + $38 = HEAP32[$13>>2]|0; + HEAP32[$14>>2] = $38; while(1) { - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 48|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)!=(0|0); - if (!($37)) { + $39 = HEAP32[$10>>2]|0; + $40 = HEAP32[$15>>2]|0; + $41 = ($39|0)<($40|0); + if (!($41)) { break; } - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 48|0); - $41 = HEAP32[$40>>2]|0; - $42 = ((($41)) + 52|0); - HEAP32[$42>>2] = $38; - $43 = HEAP32[$2>>2]|0; - $44 = ((($43)) + 48|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$2>>2] = $45; - } - L16: while(1) { - $46 = HEAP32[$2>>2]|0; - $47 = ($46|0)!=(0|0); - $48 = HEAP32[$moreToDo>>2]|0; - $49 = ($48|0)!=(0); - $50 = $47 ? $49 : 0; - if (!($50)) { - label = 36; + $42 = HEAP32[$9>>2]|0; + $43 = ((($42)) + 69|0); + $44 = HEAP8[$43>>0]|0; + $45 = ($44<<24>>24)!=(0); + $46 = $45 ^ 1; + if (!($46)) { break; } - HEAP32[$moreToDo>>2] = 0; - $51 = HEAP32[$2>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$10>>2]|0; + $51 = (($49) + (($50*20)|0)|0); $52 = HEAP32[$51>>2]|0; - HEAP32[$pEList>>2] = $52; - HEAP32[$i>>2] = 0; - $53 = HEAP32[$pOrderBy>>2]|0; - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - HEAP32[$pItem>>2] = $55; - while(1) { - $56 = HEAP32[$i>>2]|0; - $57 = HEAP32[$pOrderBy>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = ($56|0)<($58|0); - if (!($59)) { - break; - } - HEAP32[$iCol>>2] = -1; - $60 = HEAP32[$pItem>>2]|0; - $61 = ((($60)) + 13|0); - $62 = HEAP8[$61>>0]|0; - $63 = $62 & 1; - $64 = $63&255; - $65 = ($64|0)!=(0); - do { - if (!($65)) { - $66 = HEAP32[$pItem>>2]|0; - $67 = HEAP32[$66>>2]|0; - $68 = (_sqlite3ExprSkipCollate($67)|0); - HEAP32[$pE>>2] = $68; - $69 = HEAP32[$pE>>2]|0; - $70 = (_sqlite3ExprIsInteger($69,$iCol)|0); - $71 = ($70|0)!=(0); - if ($71) { - $72 = HEAP32[$iCol>>2]|0; - $73 = ($72|0)<=(0); - if ($73) { - label = 18; - break L16; - } - $74 = HEAP32[$iCol>>2]|0; - $75 = HEAP32[$pEList>>2]|0; - $76 = HEAP32[$75>>2]|0; - $77 = ($74|0)>($76|0); - if ($77) { - label = 18; - break L16; + $53 = (_sqlite3ExprSkipCollate($52)|0); + HEAP32[$16>>2] = $53; + $54 = HEAP32[$6>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$10>>2]|0; + $58 = (($56) + (($57*20)|0)|0); + $59 = ((($58)) + 4|0); + $60 = HEAP32[$59>>2]|0; + HEAP32[$17>>2] = $60; + $61 = ($60|0)!=(0|0); + do { + if (!($61)) { + $62 = HEAP32[$16>>2]|0; + HEAP32[$20>>2] = $62; + while(1) { + $63 = HEAP32[$20>>2]|0; + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + $66 = ($65|0)==(122); + $67 = HEAP32[$20>>2]|0; + if (!($66)) { + break; + } + $68 = ((($67)) + 16|0); + $69 = HEAP32[$68>>2]|0; + HEAP32[$20>>2] = $69; + } + $70 = HEAP8[$67>>0]|0; + $71 = $70&255; + $72 = ($71|0)==(152); + if ($72) { + $73 = HEAP32[$20>>2]|0; + $74 = ((($73)) + 44|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($75|0)!=(0|0); + if ($76) { + $77 = HEAP32[$20>>2]|0; + $78 = ((($77)) + 32|0); + $79 = HEAP16[$78>>1]|0; + $80 = $79 << 16 >> 16; + HEAP32[$22>>2] = $80; + $81 = HEAP32[$20>>2]|0; + $82 = ((($81)) + 44|0); + $83 = HEAP32[$82>>2]|0; + HEAP32[$21>>2] = $83; + $84 = HEAP32[$22>>2]|0; + $85 = ($84|0)<(0); + if ($85) { + $86 = HEAP32[$21>>2]|0; + $87 = ((($86)) + 32|0); + $88 = HEAP16[$87>>1]|0; + $89 = $88 << 16 >> 16; + HEAP32[$22>>2] = $89; } - } else { - $83 = HEAP32[$1>>2]|0; - $84 = HEAP32[$pEList>>2]|0; - $85 = HEAP32[$pE>>2]|0; - $86 = (_resolveAsName($83,$84,$85)|0); - HEAP32[$iCol>>2] = $86; - $87 = HEAP32[$iCol>>2]|0; - $88 = ($87|0)==(0); - if ($88) { - $89 = HEAP32[$db>>2]|0; - $90 = HEAP32[$pE>>2]|0; - $91 = (_sqlite3ExprDup($89,$90,0)|0); - HEAP32[$pDup>>2] = $91; - $92 = HEAP32[$db>>2]|0; - $93 = ((($92)) + 69|0); - $94 = HEAP8[$93>>0]|0; - $95 = ($94<<24>>24)!=(0); - if (!($95)) { - $96 = HEAP32[$1>>2]|0; - $97 = HEAP32[$2>>2]|0; - $98 = HEAP32[$pDup>>2]|0; - $99 = (_resolveOrderByTermToExprList($96,$97,$98)|0); - HEAP32[$iCol>>2] = $99; - } - $100 = HEAP32[$db>>2]|0; - $101 = HEAP32[$pDup>>2]|0; - _sqlite3ExprDelete($100,$101); + $90 = HEAP32[$22>>2]|0; + $91 = ($90|0)>=(0); + if ($91) { + $92 = HEAP32[$21>>2]|0; + $93 = ((($92)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$22>>2]|0; + $96 = (($94) + ($95<<4)|0); + $97 = HEAP32[$96>>2]|0; + $98 = $97; + } else { + $98 = 26001; } - } - $102 = HEAP32[$iCol>>2]|0; - $103 = ($102|0)>(0); - if (!($103)) { - HEAP32[$moreToDo>>2] = 1; + HEAP32[$17>>2] = $98; break; } - $104 = HEAP32[$db>>2]|0; - $105 = (_sqlite3Expr($104,134,0)|0); - HEAP32[$pNew>>2] = $105; - $106 = HEAP32[$pNew>>2]|0; - $107 = ($106|0)==(0|0); - if ($107) { - label = 25; - break L16; - } - $108 = HEAP32[$pNew>>2]|0; - $109 = ((($108)) + 4|0); - $110 = HEAP32[$109>>2]|0; - $111 = $110 | 1024; - HEAP32[$109>>2] = $111; - $112 = HEAP32[$iCol>>2]|0; - $113 = HEAP32[$pNew>>2]|0; - $114 = ((($113)) + 8|0); - HEAP32[$114>>2] = $112; - $115 = HEAP32[$pItem>>2]|0; - $116 = HEAP32[$115>>2]|0; - $117 = HEAP32[$pE>>2]|0; - $118 = ($116|0)==($117|0); - if ($118) { - $119 = HEAP32[$pNew>>2]|0; - $120 = HEAP32[$pItem>>2]|0; - HEAP32[$120>>2] = $119; - } else { - $121 = HEAP32[$pItem>>2]|0; - $122 = HEAP32[$121>>2]|0; - HEAP32[$pParent>>2] = $122; - while(1) { - $123 = HEAP32[$pParent>>2]|0; - $124 = ((($123)) + 12|0); - $125 = HEAP32[$124>>2]|0; - $126 = HEAP8[$125>>0]|0; - $127 = $126&255; - $128 = ($127|0)==(53); - if (!($128)) { - break; - } - $129 = HEAP32[$pParent>>2]|0; - $130 = ((($129)) + 12|0); - $131 = HEAP32[$130>>2]|0; - HEAP32[$pParent>>2] = $131; - } - $132 = HEAP32[$pNew>>2]|0; - $133 = HEAP32[$pParent>>2]|0; - $134 = ((($133)) + 12|0); - HEAP32[$134>>2] = $132; - } - $135 = HEAP32[$db>>2]|0; - $136 = HEAP32[$pE>>2]|0; - _sqlite3ExprDelete($135,$136); - $137 = HEAP32[$iCol>>2]|0; - $138 = $137&65535; - $139 = HEAP32[$pItem>>2]|0; - $140 = ((($139)) + 16|0); - HEAP16[$140>>1] = $138; - $141 = HEAP32[$pItem>>2]|0; - $142 = ((($141)) + 13|0); - $143 = HEAP8[$142>>0]|0; - $144 = $143 & -2; - $145 = $144 | 1; - HEAP8[$142>>0] = $145; } - } while(0); - $146 = HEAP32[$i>>2]|0; - $147 = (($146) + 1)|0; - HEAP32[$i>>2] = $147; - $148 = HEAP32[$pItem>>2]|0; - $149 = ((($148)) + 20|0); - HEAP32[$pItem>>2] = $149; - } - $150 = HEAP32[$2>>2]|0; - $151 = ((($150)) + 52|0); - $152 = HEAP32[$151>>2]|0; - HEAP32[$2>>2] = $152; - } - if ((label|0) == 18) { - $78 = HEAP32[$1>>2]|0; - $79 = HEAP32[$i>>2]|0; - $80 = (($79) + 1)|0; - $81 = HEAP32[$pEList>>2]|0; - $82 = HEAP32[$81>>2]|0; - _resolveOutOfRangeError($78,29099,$80,$82); - HEAP32[$0>>2] = 1; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); - } - else if ((label|0) == 25) { - HEAP32[$0>>2] = 1; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); - } - else if ((label|0) == 36) { - HEAP32[$i>>2] = 0; + $99 = HEAP32[$20>>2]|0; + $100 = HEAP8[$99>>0]|0; + $101 = $100&255; + $102 = ($101|0)==(55); + if ($102) { + $103 = HEAP32[$20>>2]|0; + $104 = ((($103)) + 8|0); + $105 = HEAP32[$104>>2]|0; + HEAP32[$17>>2] = $105; + break; + } else { + $106 = HEAP32[$6>>2]|0; + $107 = ((($106)) + 4|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$10>>2]|0; + $110 = (($108) + (($109*20)|0)|0); + $111 = ((($110)) + 8|0); + $112 = HEAP32[$111>>2]|0; + HEAP32[$17>>2] = $112; + break; + } + } + } while(0); + $113 = HEAP32[$9>>2]|0; + $114 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer>>2] = $114; + $115 = (_sqlite3MPrintf($113,21240,$vararg_buffer)|0); + HEAP32[$17>>2] = $115; + HEAP32[$12>>2] = 0; while(1) { - $153 = HEAP32[$i>>2]|0; - $154 = HEAP32[$pOrderBy>>2]|0; - $155 = HEAP32[$154>>2]|0; - $156 = ($153|0)<($155|0); - if (!($156)) { - label = 41; - break; + $116 = HEAP32[$17>>2]|0; + $117 = ($116|0)!=(0|0); + if ($117) { + $118 = HEAP32[$17>>2]|0; + $119 = (_sqlite3HashFind($19,$118)|0); + $120 = ($119|0)!=(0|0); + $186 = $120; + } else { + $186 = 0; } - $157 = HEAP32[$i>>2]|0; - $158 = HEAP32[$pOrderBy>>2]|0; - $159 = ((($158)) + 4|0); - $160 = HEAP32[$159>>2]|0; - $161 = (($160) + (($157*20)|0)|0); - $162 = ((($161)) + 13|0); - $163 = HEAP8[$162>>0]|0; - $164 = $163 & 1; - $165 = $164&255; - $166 = ($165|0)==(0); - if ($166) { - label = 39; + $121 = HEAP32[$17>>2]|0; + if (!($186)) { break; } - $170 = HEAP32[$i>>2]|0; - $171 = (($170) + 1)|0; - HEAP32[$i>>2] = $171; + $122 = (_sqlite3Strlen30($121)|0); + HEAP32[$18>>2] = $122; + $123 = HEAP32[$18>>2]|0; + $124 = ($123|0)>(0); + if ($124) { + $125 = HEAP32[$18>>2]|0; + $126 = (($125) - 1)|0; + HEAP32[$11>>2] = $126; + while(1) { + $127 = HEAP32[$11>>2]|0; + $128 = ($127|0)>(0); + if (!($128)) { + break; + } + $129 = HEAP32[$17>>2]|0; + $130 = HEAP32[$11>>2]|0; + $131 = (($129) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = $132&255; + $134 = (20063 + ($133)|0); + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = $136 & 4; + $138 = ($137|0)!=(0); + if (!($138)) { + break; + } + $139 = HEAP32[$11>>2]|0; + $140 = (($139) + -1)|0; + HEAP32[$11>>2] = $140; + } + $141 = HEAP32[$17>>2]|0; + $142 = HEAP32[$11>>2]|0; + $143 = (($141) + ($142)|0); + $144 = HEAP8[$143>>0]|0; + $145 = $144 << 24 >> 24; + $146 = ($145|0)==(58); + if ($146) { + $147 = HEAP32[$11>>2]|0; + HEAP32[$18>>2] = $147; + } + } + $148 = HEAP32[$9>>2]|0; + $149 = HEAP32[$18>>2]|0; + $150 = HEAP32[$17>>2]|0; + $151 = HEAP32[$12>>2]|0; + $152 = (($151) + 1)|0; + HEAP32[$12>>2] = $152; + HEAP32[$vararg_buffer2>>2] = $149; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $150; + $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); + HEAP32[$vararg_ptr6>>2] = $152; + $153 = (_sqlite3MPrintf($148,28463,$vararg_buffer2)|0); + HEAP32[$17>>2] = $153; + $154 = HEAP32[$12>>2]|0; + $155 = ($154>>>0)>(3); + if (!($155)) { + continue; + } + _sqlite3_randomness(4,$12); } - if ((label|0) == 39) { - $167 = HEAP32[$1>>2]|0; - $168 = HEAP32[$i>>2]|0; - $169 = (($168) + 1)|0; - HEAP32[$vararg_buffer1>>2] = $169; - _sqlite3ErrorMsg($167,29204,$vararg_buffer1); - HEAP32[$0>>2] = 1; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); + $156 = HEAP32[$14>>2]|0; + HEAP32[$156>>2] = $121; + $157 = HEAP32[$17>>2]|0; + $158 = ($157|0)!=(0|0); + if ($158) { + $159 = HEAP32[$17>>2]|0; + $160 = HEAP32[$14>>2]|0; + $161 = (_sqlite3HashInsert($19,$159,$160)|0); + $162 = HEAP32[$14>>2]|0; + $163 = ($161|0)==($162|0); + if ($163) { + $164 = HEAP32[$9>>2]|0; + _sqlite3OomFault($164); + } } - else if ((label|0) == 41) { - HEAP32[$0>>2] = 0; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); + $165 = HEAP32[$10>>2]|0; + $166 = (($165) + 1)|0; + HEAP32[$10>>2] = $166; + $167 = HEAP32[$14>>2]|0; + $168 = ((($167)) + 16|0); + HEAP32[$14>>2] = $168; + } + _sqlite3HashClear($19); + $169 = HEAP32[$9>>2]|0; + $170 = ((($169)) + 69|0); + $171 = HEAP8[$170>>0]|0; + $172 = ($171<<24>>24)!=(0); + if (!($172)) { + HEAP32[$4>>2] = 0; + $185 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($185|0); + } + HEAP32[$11>>2] = 0; + while(1) { + $173 = HEAP32[$11>>2]|0; + $174 = HEAP32[$10>>2]|0; + $175 = ($173|0)<($174|0); + $176 = HEAP32[$9>>2]|0; + $177 = HEAP32[$13>>2]|0; + if (!($175)) { + break; } + $178 = HEAP32[$11>>2]|0; + $179 = (($177) + ($178<<4)|0); + $180 = HEAP32[$179>>2]|0; + _sqlite3DbFree($176,$180); + $181 = HEAP32[$11>>2]|0; + $182 = (($181) + 1)|0; + HEAP32[$11>>2] = $182; } - return (0)|0; + _sqlite3DbFree($176,$177); + $183 = HEAP32[$8>>2]|0; + HEAP32[$183>>2] = 0; + $184 = HEAP32[$7>>2]|0; + HEAP16[$184>>1] = 0; + HEAP32[$4>>2] = 7; + $185 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($185|0); } -function _sqlite3ExprIsInteger($p,$pValue) { - $p = $p|0; - $pValue = $pValue|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $v = 0, label = 0, sp = 0; +function _sqlite3SelectAddColumnTypeAndCollation($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $rc = sp + 4|0; - $v = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pValue; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 1024; - $7 = ($6|0)!=(0); - $8 = HEAP32[$1>>2]|0; - if ($7) { - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$2>>2]|0; - HEAP32[$11>>2] = $10; - HEAP32[$0>>2] = 1; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); - } - $12 = HEAP8[$8>>0]|0; - $13 = $12&255; - switch ($13|0) { - case 156: { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = (_sqlite3ExprIsInteger($16,$17)|0); - HEAP32[$rc>>2] = $18; - break; + STACKTOP = STACKTOP + 96|0; + $3 = sp + 84|0; + $4 = sp + 80|0; + $5 = sp + 76|0; + $6 = sp + 72|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$6>>2] = $18; + $19 = $13; + $20 = $19; + HEAP32[$20>>2] = 0; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = 0; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 69|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)!=(0); + if ($26) { + STACKTOP = sp;return; } - case 155: { - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3ExprIsInteger($21,$v)|0); - $23 = ($22|0)!=(0); - if ($23) { - $24 = HEAP32[$v>>2]|0; - $25 = (0 - ($24))|0; - $26 = HEAP32[$2>>2]|0; - HEAP32[$26>>2] = $25; - HEAP32[$rc>>2] = 1; + ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;HEAP32[$7+16>>2]=0|0;HEAP32[$7+20>>2]=0|0;HEAP32[$7+24>>2]=0|0;HEAP32[$7+28>>2]=0|0; + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 28|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($7)) + 4|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$12>>2] = $34; + HEAP32[$10>>2] = 0; + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$8>>2] = $37; + while(1) { + $38 = HEAP32[$10>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 34|0); + $41 = HEAP16[$40>>1]|0; + $42 = $41 << 16 >> 16; + $43 = ($38|0)<($42|0); + if (!($43)) { + break; } - break; - } - default: { - } + $44 = HEAP32[$12>>2]|0; + $45 = HEAP32[$10>>2]|0; + $46 = (($44) + (($45*20)|0)|0); + $47 = HEAP32[$46>>2]|0; + HEAP32[$11>>2] = $47; + $48 = HEAP32[$11>>2]|0; + $49 = HEAP32[$8>>2]|0; + $50 = ((($49)) + 14|0); + $51 = (_columnTypeImpl($7,$48,$50)|0); + HEAP32[$14>>2] = $51; + $52 = HEAP32[$8>>2]|0; + $53 = ((($52)) + 14|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $13; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (_i64Add(($58|0),($61|0),($55|0),0)|0); + $63 = tempRet0; + $64 = $13; + $65 = $64; + HEAP32[$65>>2] = $62; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = $63; + $68 = HEAP32[$11>>2]|0; + $69 = (_sqlite3ExprAffinity($68)|0); + $70 = HEAP32[$8>>2]|0; + $71 = ((($70)) + 13|0); + HEAP8[$71>>0] = $69; + $72 = HEAP32[$14>>2]|0; + $73 = ($72|0)!=(0|0); + if ($73) { + $74 = HEAP32[$14>>2]|0; + $75 = (_sqlite3Strlen30($74)|0); + HEAP32[$16>>2] = $75; + $76 = ($75|0)>(0); + if ($76) { + $77 = HEAP32[$8>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = (_sqlite3Strlen30($78)|0); + HEAP32[$15>>2] = $79; + $80 = HEAP32[$6>>2]|0; + $81 = HEAP32[$8>>2]|0; + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$15>>2]|0; + $84 = HEAP32[$16>>2]|0; + $85 = (($83) + ($84))|0; + $86 = (($85) + 2)|0; + $87 = ($86|0)<(0); + $88 = $87 << 31 >> 31; + $89 = (_sqlite3DbReallocOrFree($80,$82,$86,$88)|0); + $90 = HEAP32[$8>>2]|0; + HEAP32[$90>>2] = $89; + $91 = HEAP32[$8>>2]|0; + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)!=(0|0); + if ($93) { + $94 = HEAP32[$8>>2]|0; + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$15>>2]|0; + $97 = (($96) + 1)|0; + $98 = (($95) + ($97)|0); + $99 = HEAP32[$14>>2]|0; + $100 = HEAP32[$16>>2]|0; + $101 = (($100) + 1)|0; + _memcpy(($98|0),($99|0),($101|0))|0; + $102 = HEAP32[$8>>2]|0; + $103 = ((($102)) + 15|0); + $104 = HEAP8[$103>>0]|0; + $105 = $104&255; + $106 = $105 | 4; + $107 = $106&255; + HEAP8[$103>>0] = $107; + } + } + } + $108 = HEAP32[$8>>2]|0; + $109 = ((($108)) + 13|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110 << 24 >> 24; + $112 = ($111|0)==(0); + if ($112) { + $113 = HEAP32[$8>>2]|0; + $114 = ((($113)) + 13|0); + HEAP8[$114>>0] = 65; + } + $115 = HEAP32[$3>>2]|0; + $116 = HEAP32[$11>>2]|0; + $117 = (_sqlite3ExprCollSeq($115,$116)|0); + HEAP32[$9>>2] = $117; + $118 = HEAP32[$9>>2]|0; + $119 = ($118|0)!=(0|0); + if ($119) { + $120 = HEAP32[$8>>2]|0; + $121 = ((($120)) + 8|0); + $122 = HEAP32[$121>>2]|0; + $123 = ($122|0)==(0|0); + if ($123) { + $124 = HEAP32[$6>>2]|0; + $125 = HEAP32[$9>>2]|0; + $126 = HEAP32[$125>>2]|0; + $127 = (_sqlite3DbStrDup($124,$126)|0); + $128 = HEAP32[$8>>2]|0; + $129 = ((($128)) + 8|0); + HEAP32[$129>>2] = $127; + } + } + $130 = HEAP32[$10>>2]|0; + $131 = (($130) + 1)|0; + HEAP32[$10>>2] = $131; + $132 = HEAP32[$8>>2]|0; + $133 = ((($132)) + 16|0); + HEAP32[$8>>2] = $133; } - $27 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $27; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); -} -function _resolveOutOfRangeError($pParse,$zType,$i,$mx) { - $pParse = $pParse|0; - $zType = $zType|0; - $i = $i|0; - $mx = $mx|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $zType; - HEAP32[$2>>2] = $i; - HEAP32[$3>>2] = $mx; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $6; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $7; - _sqlite3ErrorMsg($4,29265,$vararg_buffer); + $134 = $13; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = (($134) + 4)|0; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (___muldi3(($136|0),($139|0),4,0)|0); + $141 = tempRet0; + $142 = (_sqlite3LogEst($140,$141)|0); + $143 = HEAP32[$4>>2]|0; + $144 = ((($143)) + 40|0); + HEAP16[$144>>1] = $142; STACKTOP = sp;return; } -function _resolveAsName($pParse,$pEList,$pE) { - $pParse = $pParse|0; - $pEList = $pEList|0; - $pE = $pE|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $zAs = 0, $zCol = 0, label = 0, sp = 0; +function _columnTypeImpl($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $i = sp + 8|0; - $zCol = sp + 4|0; - $zAs = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pEList; - HEAP32[$3>>2] = $pE; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(55); + STACKTOP = STACKTOP + 128|0; + $3 = sp + 112|0; + $4 = sp + 108|0; + $5 = sp + 104|0; + $6 = sp + 100|0; + $7 = sp + 96|0; + $8 = sp + 116|0; + $9 = sp + 92|0; + $10 = sp + 88|0; + $11 = sp + 84|0; + $12 = sp + 80|0; + $13 = sp + 48|0; + $14 = sp + 40|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP8[$8>>0] = 1; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; L1: do { - if ($7) { - $8 = HEAP32[$3>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$zCol>>2] = $10; - HEAP32[$i>>2] = 0; + switch ($20|0) { + case 152: case 154: { + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 32|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23 << 16 >> 16; + HEAP32[$11>>2] = $24; while(1) { - $11 = HEAP32[$i>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = ($11|0)<($13|0); - if (!($14)) { - break L1; + $25 = HEAP32[$3>>2]|0; + $26 = ($25|0)!=(0|0); + if (!($26)) { + break; } - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 4|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + (($15*20)|0)|0); - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$zAs>>2] = $21; - $22 = HEAP32[$zAs>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { - $24 = HEAP32[$zAs>>2]|0; - $25 = HEAP32[$zCol>>2]|0; - $26 = (_sqlite3StrICmp($24,$25)|0); - $27 = ($26|0)==(0); - if ($27) { + $27 = HEAP32[$9>>2]|0; + $28 = ($27|0)!=(0|0); + $29 = $28 ^ 1; + if (!($29)) { + break; + } + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$12>>2] = $32; + HEAP32[$7>>2] = 0; + while(1) { + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$12>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = ($33|0)<($35|0); + if (!($36)) { break; } + $37 = HEAP32[$12>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$7>>2]|0; + $40 = (($38) + (($39*72)|0)|0); + $41 = ((($40)) + 44|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 28|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($42|0)!=($45|0); + if (!($46)) { + break; + } + $47 = HEAP32[$7>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$7>>2] = $48; + } + $49 = HEAP32[$7>>2]|0; + $50 = HEAP32[$12>>2]|0; + $51 = HEAP32[$50>>2]|0; + $52 = ($49|0)<($51|0); + if ($52) { + $53 = HEAP32[$12>>2]|0; + $54 = ((($53)) + 8|0); + $55 = HEAP32[$7>>2]|0; + $56 = (($54) + (($55*72)|0)|0); + $57 = ((($56)) + 16|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$9>>2] = $58; + $59 = HEAP32[$12>>2]|0; + $60 = ((($59)) + 8|0); + $61 = HEAP32[$7>>2]|0; + $62 = (($60) + (($61*72)|0)|0); + $63 = ((($62)) + 20|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$10>>2] = $64; + continue; + } else { + $65 = HEAP32[$3>>2]|0; + $66 = ((($65)) + 16|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$3>>2] = $67; + continue; } - $30 = HEAP32[$i>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$i>>2] = $31; } - $28 = HEAP32[$i>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$0>>2] = $29; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); + $68 = HEAP32[$9>>2]|0; + $69 = ($68|0)==(0|0); + if (!($69)) { + $70 = HEAP32[$10>>2]|0; + $71 = ($70|0)!=(0|0); + if ($71) { + $72 = HEAP32[$11>>2]|0; + $73 = ($72|0)>=(0); + if (!($73)) { + break L1; + } + $74 = HEAP32[$11>>2]|0; + $75 = HEAP32[$10>>2]|0; + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$76>>2]|0; + $78 = ($74|0)<($77|0); + if (!($78)) { + break L1; + } + $79 = HEAP32[$10>>2]|0; + $80 = HEAP32[$79>>2]|0; + $81 = ((($80)) + 4|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$11>>2]|0; + $84 = (($82) + (($83*20)|0)|0); + $85 = HEAP32[$84>>2]|0; + HEAP32[$14>>2] = $85; + $86 = HEAP32[$10>>2]|0; + $87 = ((($86)) + 28|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($13)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = HEAP32[$3>>2]|0; + $91 = ((($13)) + 16|0); + HEAP32[$91>>2] = $90; + $92 = HEAP32[$3>>2]|0; + $93 = HEAP32[$92>>2]|0; + HEAP32[$13>>2] = $93; + $94 = HEAP32[$14>>2]|0; + $95 = (_columnTypeImpl($13,$94,$8)|0); + HEAP32[$6>>2] = $95; + break L1; + } + $96 = HEAP32[$9>>2]|0; + $97 = ((($96)) + 64|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)!=(0|0); + if ($99) { + $100 = HEAP32[$11>>2]|0; + $101 = ($100|0)<(0); + if ($101) { + $102 = HEAP32[$9>>2]|0; + $103 = ((($102)) + 32|0); + $104 = HEAP16[$103>>1]|0; + $105 = $104 << 16 >> 16; + HEAP32[$11>>2] = $105; + } + $106 = HEAP32[$11>>2]|0; + $107 = ($106|0)<(0); + if ($107) { + HEAP32[$6>>2] = 28455; + break L1; + } else { + $108 = HEAP32[$9>>2]|0; + $109 = ((($108)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$11>>2]|0; + $112 = (($110) + ($111<<4)|0); + $113 = (_sqlite3ColumnType($112,0)|0); + HEAP32[$6>>2] = $113; + $114 = HEAP32[$9>>2]|0; + $115 = ((($114)) + 4|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$11>>2]|0; + $118 = (($116) + ($117<<4)|0); + $119 = ((($118)) + 14|0); + $120 = HEAP8[$119>>0]|0; + HEAP8[$8>>0] = $120; + break L1; + } + } + } + break; + } + case 119: { + $121 = HEAP32[$4>>2]|0; + $122 = ((($121)) + 20|0); + $123 = HEAP32[$122>>2]|0; + HEAP32[$16>>2] = $123; + $124 = HEAP32[$16>>2]|0; + $125 = HEAP32[$124>>2]|0; + $126 = ((($125)) + 4|0); + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$127>>2]|0; + HEAP32[$17>>2] = $128; + $129 = HEAP32[$16>>2]|0; + $130 = ((($129)) + 28|0); + $131 = HEAP32[$130>>2]|0; + $132 = ((($15)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = HEAP32[$3>>2]|0; + $134 = ((($15)) + 16|0); + HEAP32[$134>>2] = $133; + $135 = HEAP32[$3>>2]|0; + $136 = HEAP32[$135>>2]|0; + HEAP32[$15>>2] = $136; + $137 = HEAP32[$17>>2]|0; + $138 = (_columnTypeImpl($15,$137,$8)|0); + HEAP32[$6>>2] = $138; + break; + } + default: { + } } } while(0); - HEAP32[$0>>2] = 0; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); -} -function _sqlite3ExprDup($db,$p,$flags) { - $db = $db|0; - $p = $p|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $flags; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $9 = 0; - STACKTOP = sp;return ($9|0); + $139 = HEAP32[$5>>2]|0; + $140 = ($139|0)!=(0|0); + if (!($140)) { + $143 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($143|0); } - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = (_exprDup($5,$6,$7,0)|0); - $9 = $8; - STACKTOP = sp;return ($9|0); + $141 = HEAP8[$8>>0]|0; + $142 = HEAP32[$5>>2]|0; + HEAP8[$142>>0] = $141; + $143 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($143|0); } -function _resolveOrderByTermToExprList($pParse,$pSelect,$pE) { - $pParse = $pParse|0; - $pSelect = $pSelect|0; - $pE = $pE|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $nc = 0, $pEList = 0, $rc = 0, $savedSuppErr = 0, label = 0, sp = 0; +function _sqlite3ExprAffinity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $i = sp + 44|0; - $pEList = sp + 40|0; - $nc = sp + 8|0; - $db = sp + 4|0; - $rc = sp; - $savedSuppErr = sp + 64|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pSelect; - HEAP32[$3>>2] = $pE; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$pEList>>2] = $5; - ;HEAP32[$nc>>2]=0|0;HEAP32[$nc+4>>2]=0|0;HEAP32[$nc+8>>2]=0|0;HEAP32[$nc+12>>2]=0|0;HEAP32[$nc+16>>2]=0|0;HEAP32[$nc+20>>2]=0|0;HEAP32[$nc+24>>2]=0|0;HEAP32[$nc+28>>2]=0|0; - $6 = HEAP32[$1>>2]|0; - HEAP32[$nc>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($nc)) + 4|0); - HEAP32[$10>>2] = $9; - $11 = HEAP32[$pEList>>2]|0; - $12 = ((($nc)) + 8|0); - HEAP32[$12>>2] = $11; - $13 = ((($nc)) + 28|0); - HEAP16[$13>>1] = 1; - $14 = ((($nc)) + 24|0); - HEAP32[$14>>2] = 0; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$15>>2]|0; - HEAP32[$db>>2] = $16; - $17 = HEAP32[$db>>2]|0; - $18 = ((($17)) + 73|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$savedSuppErr>>0] = $19; - $20 = HEAP32[$db>>2]|0; - $21 = ((($20)) + 73|0); - HEAP8[$21>>0] = 1; - $22 = HEAP32[$3>>2]|0; - $23 = (_sqlite3ResolveExprNames($nc,$22)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP8[$savedSuppErr>>0]|0; - $25 = HEAP32[$db>>2]|0; - $26 = ((($25)) + 73|0); - HEAP8[$26>>0] = $24; - $27 = HEAP32[$rc>>2]|0; - $28 = ($27|0)!=(0); - if ($28) { - HEAP32[$0>>2] = 0; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); + $5 = (_sqlite3ExprSkipCollate($4)|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = $8 & 512; + $10 = ($9|0)!=(0); + if ($10) { + HEAP8[$1>>0] = 0; + $67 = HEAP8[$1>>0]|0; + STACKTOP = sp;return ($67|0); } - HEAP32[$i>>2] = 0; - while(1) { - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$pEList>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = ($29|0)<($31|0); - if (!($32)) { - label = 8; - break; - } - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$pEList>>2]|0; - $35 = ((($34)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + (($33*20)|0)|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$3>>2]|0; - $40 = (_sqlite3ExprCompare($38,$39,-1)|0); - $41 = ($40|0)<(2); - $42 = HEAP32[$i>>2]|0; - $43 = (($42) + 1)|0; - if ($41) { - label = 6; - break; - } - HEAP32[$i>>2] = $43; + $11 = HEAP32[$2>>2]|0; + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + HEAP32[$3>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = ($14|0)==(119); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3ExprAffinity($22)|0); + HEAP8[$1>>0] = $23; + $67 = HEAP8[$1>>0]|0; + STACKTOP = sp;return ($67|0); } - if ((label|0) == 6) { - HEAP32[$0>>2] = $43; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); + $24 = HEAP32[$3>>2]|0; + $25 = ($24|0)==(157); + if ($25) { + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 38|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + HEAP32[$3>>2] = $29; } - else if ((label|0) == 8) { - HEAP32[$0>>2] = 0; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); + $30 = HEAP32[$3>>2]|0; + $31 = ($30|0)==(66); + if ($31) { + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_sqlite3AffinityType($34,0)|0); + HEAP8[$1>>0] = $35; + $67 = HEAP8[$1>>0]|0; + STACKTOP = sp;return ($67|0); + } + $36 = HEAP32[$3>>2]|0; + $37 = ($36|0)==(154); + $38 = HEAP32[$3>>2]|0; + $39 = ($38|0)==(152); + $or$cond = $37 | $39; + if ($or$cond) { + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 44|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$2>>2]|0; + $44 = ((($43)) + 32|0); + $45 = HEAP16[$44>>1]|0; + $46 = $45 << 16 >> 16; + $47 = (_sqlite3TableColumnAffinity($42,$46)|0); + HEAP8[$1>>0] = $47; + $67 = HEAP8[$1>>0]|0; + STACKTOP = sp;return ($67|0); + } + $48 = HEAP32[$3>>2]|0; + $49 = ($48|0)==(159); + $50 = HEAP32[$2>>2]|0; + if ($49) { + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 20|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$2>>2]|0; + $59 = ((($58)) + 32|0); + $60 = HEAP16[$59>>1]|0; + $61 = $60 << 16 >> 16; + $62 = (($57) + (($61*20)|0)|0); + $63 = HEAP32[$62>>2]|0; + $64 = (_sqlite3ExprAffinity($63)|0); + HEAP8[$1>>0] = $64; + $67 = HEAP8[$1>>0]|0; + STACKTOP = sp;return ($67|0); + } else { + $65 = ((($50)) + 1|0); + $66 = HEAP8[$65>>0]|0; + HEAP8[$1>>0] = $66; + $67 = HEAP8[$1>>0]|0; + STACKTOP = sp;return ($67|0); } return (0)|0; } -function _sqlite3ExprCompare($pA,$pB,$iTab) { - $pA = $pA|0; - $pB = $pB|0; - $iTab = $iTab|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $combinedFlags = 0, $or$cond = 0, label = 0, sp = 0; +function _sqlite3ExprCollSeq($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $combinedFlags = sp; - HEAP32[$1>>2] = $pA; - HEAP32[$2>>2] = $pB; - HEAP32[$3>>2] = $iTab; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0|0); - $or$cond = $5 | $7; - if ($or$cond) { - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ($8|0)==($9|0); - $11 = $10 ? 0 : 2; - HEAP32[$0>>2] = $11; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - } - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = $14 | $17; - HEAP32[$combinedFlags>>2] = $18; - $19 = HEAP32[$combinedFlags>>2]|0; - $20 = $19 & 1024; - $21 = ($20|0)!=(0); - $22 = HEAP32[$1>>2]|0; - if ($21) { - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = $24 & $27; - $29 = $28 & 1024; - $30 = ($29|0)!=(0); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($33|0)==($36|0); - if ($37) { - HEAP32[$0>>2] = 0; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); + STACKTOP = STACKTOP + 48|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $13; + HEAP32[$5>>2] = 0; + $14 = HEAP32[$3>>2]|0; + HEAP32[$6>>2] = $14; + while(1) { + $15 = HEAP32[$6>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { + break; + } + $17 = HEAP32[$6>>2]|0; + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + HEAP32[$7>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 & 512; + $24 = ($23|0)!=(0); + if ($24) { + break; + } + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)==(66); + $27 = HEAP32[$7>>2]|0; + $28 = ($27|0)==(156); + $or$cond = $26 | $28; + if ($or$cond) { + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$6>>2] = $31; + continue; + } + $32 = HEAP32[$7>>2]|0; + $33 = ($32|0)==(53); + if ($33) { + label = 9; + break; + } + $34 = HEAP32[$7>>2]|0; + $35 = ($34|0)==(157); + if ($35) { + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 38|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = ($39|0)==(53); + if ($40) { + label = 9; + break; } } - HEAP32[$0>>2] = 2; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - } - $38 = HEAP8[$22>>0]|0; - $39 = $38&255; - $40 = HEAP32[$2>>2]|0; - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = ($39|0)!=($42|0); - $44 = HEAP32[$1>>2]|0; - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - if ($43) { - $47 = ($46|0)==(53); - if ($47) { - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$2>>2]|0; - $52 = HEAP32[$3>>2]|0; - $53 = (_sqlite3ExprCompare($50,$51,$52)|0); - $54 = ($53|0)<(2); - if ($54) { - HEAP32[$0>>2] = 1; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); + $49 = HEAP32[$7>>2]|0; + $50 = ($49|0)==(154); + $51 = HEAP32[$7>>2]|0; + $52 = ($51|0)==(152); + $or$cond3 = $50 | $52; + $53 = HEAP32[$7>>2]|0; + $54 = ($53|0)==(157); + $or$cond5 = $or$cond3 | $54; + $55 = HEAP32[$7>>2]|0; + $56 = ($55|0)==(88); + $or$cond7 = $or$cond5 | $56; + if ($or$cond7) { + $57 = HEAP32[$6>>2]|0; + $58 = ((($57)) + 44|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)!=(0|0); + if ($60) { + label = 12; + break; } } - $55 = HEAP32[$2>>2]|0; - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = ($57|0)==(53); - if ($58) { - $59 = HEAP32[$1>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = ((($60)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$3>>2]|0; - $64 = (_sqlite3ExprCompare($59,$62,$63)|0); - $65 = ($64|0)<(2); - if ($65) { - HEAP32[$0>>2] = 1; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); + $82 = HEAP32[$6>>2]|0; + $83 = ((($82)) + 4|0); + $84 = HEAP32[$83>>2]|0; + $85 = $84 & 256; + $86 = ($85|0)!=(0); + if (!($86)) { + break; + } + $87 = HEAP32[$6>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$88>>2]|0; + $90 = ($89|0)!=(0|0); + if ($90) { + $91 = HEAP32[$6>>2]|0; + $92 = ((($91)) + 12|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($93)) + 4|0); + $95 = HEAP32[$94>>2]|0; + $96 = $95 & 256; + $97 = ($96|0)!=(0); + if ($97) { + $98 = HEAP32[$6>>2]|0; + $99 = ((($98)) + 12|0); + $100 = HEAP32[$99>>2]|0; + HEAP32[$6>>2] = $100; + continue; } } - HEAP32[$0>>2] = 2; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - } - $66 = ($46|0)!=(152); - do { - if ($66) { - $67 = HEAP32[$1>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = ($69|0)!=(154); - if ($70) { - $71 = HEAP32[$1>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)!=(0|0); - if ($74) { - $75 = HEAP32[$1>>2]|0; - $76 = HEAP8[$75>>0]|0; - $77 = $76&255; - $78 = ($77|0)==(151); - $79 = HEAP32[$1>>2]|0; - $80 = ((($79)) + 8|0); - $81 = HEAP32[$80>>2]|0; - $82 = HEAP32[$2>>2]|0; - $83 = ((($82)) + 8|0); - $84 = HEAP32[$83>>2]|0; - if ($78) { - $85 = (_sqlite3StrICmp($81,$84)|0); - $86 = ($85|0)!=(0); - if (!($86)) { - break; + $101 = HEAP32[$6>>2]|0; + $102 = ((($101)) + 16|0); + $103 = HEAP32[$102>>2]|0; + HEAP32[$10>>2] = $103; + $104 = HEAP32[$6>>2]|0; + $105 = ((($104)) + 20|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)!=(0|0); + L20: do { + if ($107) { + $108 = HEAP32[$6>>2]|0; + $109 = ((($108)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = $110 & 2048; + $112 = ($111|0)!=(0); + if (!($112)) { + HEAP32[$11>>2] = 0; + while(1) { + $113 = HEAP32[$11>>2]|0; + $114 = HEAP32[$6>>2]|0; + $115 = ((($114)) + 20|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$116>>2]|0; + $118 = ($113|0)<($117|0); + if (!($118)) { + break L20; } - HEAP32[$0>>2] = 2; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - } else { - $87 = (_strcmp($81,$84)|0); - $88 = ($87|0)!=(0); - if (!($88)) { + $119 = HEAP32[$6>>2]|0; + $120 = ((($119)) + 20|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($121)) + 4|0); + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$11>>2]|0; + $125 = (($123) + (($124*20)|0)|0); + $126 = HEAP32[$125>>2]|0; + $127 = ((($126)) + 4|0); + $128 = HEAP32[$127>>2]|0; + $129 = $128 & 256; + $130 = ($129|0)!=(0); + if ($130) { break; } - $89 = HEAP32[$1>>2]|0; - $90 = HEAP8[$89>>0]|0; - $91 = $90&255; - $92 = ($91|0)==(53); - $93 = $92 ? 1 : 2; - HEAP32[$0>>2] = $93; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); + $139 = HEAP32[$11>>2]|0; + $140 = (($139) + 1)|0; + HEAP32[$11>>2] = $140; } + $131 = HEAP32[$6>>2]|0; + $132 = ((($131)) + 20|0); + $133 = HEAP32[$132>>2]|0; + $134 = ((($133)) + 4|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$11>>2]|0; + $137 = (($135) + (($136*20)|0)|0); + $138 = HEAP32[$137>>2]|0; + HEAP32[$10>>2] = $138; } } - } - } while(0); - $94 = HEAP32[$1>>2]|0; - $95 = ((($94)) + 4|0); - $96 = HEAP32[$95>>2]|0; - $97 = $96 & 16; - $98 = HEAP32[$2>>2]|0; - $99 = ((($98)) + 4|0); - $100 = HEAP32[$99>>2]|0; - $101 = $100 & 16; - $102 = ($97|0)!=($101|0); - if ($102) { - HEAP32[$0>>2] = 2; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); + } while(0); + $141 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $141; } - $103 = HEAP32[$combinedFlags>>2]|0; - $104 = $103 & 16384; - $105 = ($104|0)==(0); - do { - if ($105) { - $106 = HEAP32[$combinedFlags>>2]|0; - $107 = $106 & 2048; - $108 = ($107|0)!=(0); - if ($108) { - HEAP32[$0>>2] = 2; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - } - $109 = HEAP32[$1>>2]|0; - $110 = ((($109)) + 12|0); - $111 = HEAP32[$110>>2]|0; - $112 = HEAP32[$2>>2]|0; - $113 = ((($112)) + 12|0); - $114 = HEAP32[$113>>2]|0; - $115 = HEAP32[$3>>2]|0; - $116 = (_sqlite3ExprCompare($111,$114,$115)|0); - $117 = ($116|0)!=(0); - if ($117) { - HEAP32[$0>>2] = 2; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - } - $118 = HEAP32[$1>>2]|0; - $119 = ((($118)) + 16|0); - $120 = HEAP32[$119>>2]|0; - $121 = HEAP32[$2>>2]|0; - $122 = ((($121)) + 16|0); - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$3>>2]|0; - $125 = (_sqlite3ExprCompare($120,$123,$124)|0); - $126 = ($125|0)!=(0); - if ($126) { - HEAP32[$0>>2] = 2; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - } - $127 = HEAP32[$1>>2]|0; - $128 = ((($127)) + 20|0); - $129 = HEAP32[$128>>2]|0; - $130 = HEAP32[$2>>2]|0; - $131 = ((($130)) + 20|0); - $132 = HEAP32[$131>>2]|0; - $133 = HEAP32[$3>>2]|0; - $134 = (_sqlite3ExprListCompare($129,$132,$133)|0); - $135 = ($134|0)!=(0); - if ($135) { - HEAP32[$0>>2] = 2; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - } - $136 = HEAP32[$combinedFlags>>2]|0; - $137 = $136 & 8192; - $138 = ($137|0)==(0); - if ($138) { - $139 = HEAP32[$1>>2]|0; - $140 = HEAP8[$139>>0]|0; - $141 = $140&255; - $142 = ($141|0)!=(97); - if ($142) { - $143 = HEAP32[$1>>2]|0; - $144 = ((($143)) + 32|0); - $145 = HEAP16[$144>>1]|0; - $146 = $145 << 16 >> 16; - $147 = HEAP32[$2>>2]|0; - $148 = ((($147)) + 32|0); - $149 = HEAP16[$148>>1]|0; - $150 = $149 << 16 >> 16; - $151 = ($146|0)!=($150|0); - if ($151) { - HEAP32[$0>>2] = 2; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - } - $152 = HEAP32[$1>>2]|0; - $153 = ((($152)) + 28|0); - $154 = HEAP32[$153>>2]|0; - $155 = HEAP32[$2>>2]|0; - $156 = ((($155)) + 28|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($154|0)!=($157|0); - if ($158) { - $159 = HEAP32[$1>>2]|0; - $160 = ((($159)) + 28|0); - $161 = HEAP32[$160>>2]|0; - $162 = HEAP32[$3>>2]|0; - $163 = ($161|0)!=($162|0); - if (!($163)) { - $164 = HEAP32[$2>>2]|0; - $165 = ((($164)) + 28|0); - $166 = HEAP32[$165>>2]|0; - $167 = ($166|0)>=(0); - if (!($167)) { - break; - } - } - HEAP32[$0>>2] = 2; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - } - } - } + if ((label|0) == 9) { + $41 = HEAP32[$2>>2]|0; + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 66|0); + $44 = HEAP8[$43>>0]|0; + $45 = HEAP32[$6>>2]|0; + $46 = ((($45)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (_sqlite3GetCollSeq($41,$44,0,$47)|0); + HEAP32[$5>>2] = $48; + } + else if ((label|0) == 12) { + $61 = HEAP32[$6>>2]|0; + $62 = ((($61)) + 32|0); + $63 = HEAP16[$62>>1]|0; + $64 = $63 << 16 >> 16; + HEAP32[$8>>2] = $64; + $65 = HEAP32[$8>>2]|0; + $66 = ($65|0)>=(0); + if ($66) { + $67 = HEAP32[$6>>2]|0; + $68 = ((($67)) + 44|0); + $69 = HEAP32[$68>>2]|0; + $70 = ((($69)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$8>>2]|0; + $73 = (($71) + ($72<<4)|0); + $74 = ((($73)) + 8|0); + $75 = HEAP32[$74>>2]|0; + HEAP32[$9>>2] = $75; + $76 = HEAP32[$4>>2]|0; + $77 = HEAP32[$4>>2]|0; + $78 = ((($77)) + 66|0); + $79 = HEAP8[$78>>0]|0; + $80 = HEAP32[$9>>2]|0; + $81 = (_sqlite3FindCollSeq($76,$79,$80,0)|0); + HEAP32[$5>>2] = $81; } - } while(0); - HEAP32[$0>>2] = 0; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); + } + $142 = HEAP32[$2>>2]|0; + $143 = HEAP32[$5>>2]|0; + $144 = (_sqlite3CheckCollSeq($142,$143)|0); + $145 = ($144|0)!=(0); + if (!($145)) { + $146 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($146|0); + } + HEAP32[$5>>2] = 0; + $146 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($146|0); } -function _sqlite3ExprListCompare($pA,$pB,$iTab) { - $pA = $pA|0; - $pB = $pB|0; - $iTab = $iTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $or$cond = 0; - var $or$cond3 = 0, $pExprA = 0, $pExprB = 0, label = 0, sp = 0; +function _sqlite3GetCollSeq($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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $i = sp + 8|0; - $pExprA = sp + 4|0; - $pExprB = sp; - HEAP32[$1>>2] = $pA; - HEAP32[$2>>2] = $pB; - HEAP32[$3>>2] = $iTab; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0|0); - $or$cond = $5 & $7; - if ($or$cond) { - HEAP32[$0>>2] = 0; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); - } - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); - $10 = HEAP32[$2>>2]|0; - $11 = ($10|0)==(0|0); - $or$cond3 = $9 | $11; - if ($or$cond3) { - HEAP32[$0>>2] = 1; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); - } - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = ($13|0)!=($15|0); - if ($16) { - HEAP32[$0>>2] = 1; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + $vararg_buffer = sp; + $4 = sp + 20|0; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + HEAP32[$4>>2] = $0; + HEAP8[$5>>0] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + $12 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $12; + $13 = HEAP32[$8>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + $15 = HEAP32[$9>>2]|0; + $16 = HEAP8[$5>>0]|0; + $17 = HEAP32[$7>>2]|0; + $18 = (_sqlite3FindCollSeq($15,$16,$17,0)|0); + HEAP32[$8>>2] = $18; } - HEAP32[$i>>2] = 0; - while(1) { - $17 = HEAP32[$i>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = ($17|0)<($19|0); - if (!($20)) { - label = 14; - break; - } - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + (($21*20)|0)|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$pExprA>>2] = $26; - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + (($27*20)|0)|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$pExprB>>2] = $32; - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + (($33*20)|0)|0); - $38 = ((($37)) + 12|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = HEAP32[$i>>2]|0; - $42 = HEAP32[$2>>2]|0; - $43 = ((($42)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + (($41*20)|0)|0); - $46 = ((($45)) + 12|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = ($40|0)!=($48|0); - if ($49) { - label = 10; - break; - } - $50 = HEAP32[$pExprA>>2]|0; - $51 = HEAP32[$pExprB>>2]|0; - $52 = HEAP32[$3>>2]|0; - $53 = (_sqlite3ExprCompare($50,$51,$52)|0); - $54 = ($53|0)!=(0); - if ($54) { - label = 12; - break; + $19 = HEAP32[$8>>2]|0; + $20 = ($19|0)!=(0|0); + if ($20) { + $21 = HEAP32[$8>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { + label = 5; } - $55 = HEAP32[$i>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$i>>2] = $56; - } - if ((label|0) == 10) { - HEAP32[$0>>2] = 1; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + } else { + label = 5; } - else if ((label|0) == 12) { - HEAP32[$0>>2] = 1; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + if ((label|0) == 5) { + $25 = HEAP32[$9>>2]|0; + $26 = HEAP8[$5>>0]|0; + $27 = $26&255; + $28 = HEAP32[$7>>2]|0; + _callCollNeeded($25,$27,$28); + $29 = HEAP32[$9>>2]|0; + $30 = HEAP8[$5>>0]|0; + $31 = HEAP32[$7>>2]|0; + $32 = (_sqlite3FindCollSeq($29,$30,$31,0)|0); + HEAP32[$8>>2] = $32; + } + $33 = HEAP32[$8>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$8>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)!=(0|0); + if (!($38)) { + $39 = HEAP32[$9>>2]|0; + $40 = HEAP32[$8>>2]|0; + $41 = (_synthCollSeq($39,$40)|0); + $42 = ($41|0)!=(0); + if ($42) { + HEAP32[$8>>2] = 0; + } + } } - else if ((label|0) == 14) { - HEAP32[$0>>2] = 0; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + $43 = HEAP32[$8>>2]|0; + $44 = ($43|0)==(0|0); + if (!($44)) { + $47 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($47|0); } - return (0)|0; + $45 = HEAP32[$4>>2]|0; + $46 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $46; + _sqlite3ErrorMsg($45,28421,$vararg_buffer); + $47 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($47|0); } -function _exprDup($db,$p,$dupFlags,$pzBuffer) { - $db = $db|0; - $p = $p|0; - $dupFlags = $dupFlags|0; - $pzBuffer = $pzBuffer|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $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, $nNewSize = 0; - var $nSize = 0, $nStructSize = 0, $nToken = 0, $pNew = 0, $staticFlag = 0, $zAlloc = 0, $zToken = 0, label = 0, sp = 0; +function _sqlite3FindCollSeq($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $pNew = sp + 28|0; - $zAlloc = sp + 24|0; - $staticFlag = sp + 20|0; - $nStructSize = sp + 16|0; - $nNewSize = sp + 12|0; - $nToken = sp + 8|0; - $nSize = sp + 4|0; - $zToken = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $dupFlags; - HEAP32[$3>>2] = $pzBuffer; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$3>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$zAlloc>>2] = $7; - HEAP32[$staticFlag>>2] = 32768; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 12|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP8[$5>>0] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$6>>2]|0; + $10 = ($9|0)!=(0|0); + $11 = HEAP32[$4>>2]|0; + if ($10) { + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = (_findCollSeqEntry($11,$12,$13)|0); + HEAP32[$8>>2] = $14; } else { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (_dupedExprSize($9,$10)|0); - $12 = ($11|0)<(0); - $13 = $12 << 31 >> 31; - $14 = (_sqlite3DbMallocRawNN($8,$11,$13)|0); - HEAP32[$zAlloc>>2] = $14; - HEAP32[$staticFlag>>2] = 0; + $15 = ((($11)) + 8|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$8>>2] = $16; } - $15 = HEAP32[$zAlloc>>2]|0; - HEAP32[$pNew>>2] = $15; - $16 = HEAP32[$pNew>>2]|0; - $17 = ($16|0)!=(0|0); - if (!($17)) { - $178 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($178|0); + $17 = HEAP32[$8>>2]|0; + $18 = ($17|0)!=(0|0); + if (!($18)) { + $24 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($24|0); } - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (_dupedExprStructSize($18,$19)|0); - HEAP32[$nStructSize>>2] = $20; - $21 = HEAP32[$nStructSize>>2]|0; - $22 = $21 & 4095; - HEAP32[$nNewSize>>2] = $22; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = $25 & 1024; - $27 = ($26|0)!=(0); - if ($27) { - label = 8; - } else { - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 8|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_sqlite3Strlen30($34)|0); - $36 = (($35) + 1)|0; - HEAP32[$nToken>>2] = $36; - } else { - label = 8; + $19 = HEAP8[$5>>0]|0; + $20 = $19&255; + $21 = (($20) - 1)|0; + $22 = HEAP32[$8>>2]|0; + $23 = (($22) + (($21*20)|0)|0); + HEAP32[$8>>2] = $23; + $24 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($24|0); +} +function _sqlite3CheckCollSeq($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)!=(0|0); + if ($9) { + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = ((($15)) + 66|0); + $17 = HEAP8[$16>>0]|0; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = (_sqlite3GetCollSeq($14,$17,$18,$19)|0); + HEAP32[$7>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = ($21|0)!=(0|0); + if (!($22)) { + HEAP32[$2>>2] = 1; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } } - if ((label|0) == 8) { - HEAP32[$nToken>>2] = 0; + HEAP32[$2>>2] = 0; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); +} +function _findCollSeqEntry($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 364|0); + $11 = HEAP32[$4>>2]|0; + $12 = (_sqlite3HashFind($10,$11)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = (0|0)==($13|0); + $15 = HEAP32[$5>>2]|0; + $16 = ($15|0)!=(0); + $or$cond = $14 & $16; + if (!($or$cond)) { + $64 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($64|0); } - $37 = HEAP32[$2>>2]|0; - $38 = ($37|0)!=(0); - if ($38) { - $39 = HEAP32[$zAlloc>>2]|0; - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$nNewSize>>2]|0; - _memcpy(($39|0),($40|0),($41|0))|0; - } else { - $42 = HEAP32[$1>>2]|0; - $43 = (_exprStructSize($42)|0); - HEAP32[$nSize>>2] = $43; - $44 = HEAP32[$zAlloc>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = HEAP32[$nSize>>2]|0; - _memcpy(($44|0),($45|0),($46|0))|0; - $47 = HEAP32[$nSize>>2]|0; - $48 = ($47>>>0)<(48); - if ($48) { - $49 = HEAP32[$nSize>>2]|0; - $50 = HEAP32[$zAlloc>>2]|0; - $51 = (($50) + ($49)|0); - $52 = HEAP32[$nSize>>2]|0; - $53 = (48 - ($52))|0; - _memset(($51|0),0,($53|0))|0; - } + $17 = HEAP32[$4>>2]|0; + $18 = (_sqlite3Strlen30($17)|0); + HEAP32[$7>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = (60 + ($20))|0; + $22 = (($21) + 1)|0; + $23 = (_sqlite3DbMallocZero($19,$22,0)|0); + HEAP32[$6>>2] = $23; + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { + $64 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($64|0); } - $54 = HEAP32[$pNew>>2]|0; - $55 = ((($54)) + 4|0); + HEAP32[$8>>2] = 0; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 60|0); + $28 = HEAP32[$6>>2]|0; + HEAP32[$28>>2] = $27; + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 4|0); + HEAP8[$30>>0] = 1; + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 60|0); + $33 = HEAP32[$6>>2]|0; + $34 = ((($33)) + 20|0); + HEAP32[$34>>2] = $32; + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 20|0); + $37 = ((($36)) + 4|0); + HEAP8[$37>>0] = 2; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 60|0); + $40 = HEAP32[$6>>2]|0; + $41 = ((($40)) + 40|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 40|0); + $44 = ((($43)) + 4|0); + HEAP8[$44>>0] = 3; + $45 = HEAP32[$6>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$4>>2]|0; + $48 = HEAP32[$7>>2]|0; + _memcpy(($46|0),($47|0),($48|0))|0; + $49 = HEAP32[$6>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = (($50) + ($51)|0); + HEAP8[$52>>0] = 0; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 364|0); + $55 = HEAP32[$6>>2]|0; $56 = HEAP32[$55>>2]|0; - $57 = $56 & -122881; - HEAP32[$55>>2] = $57; - $58 = HEAP32[$nStructSize>>2]|0; - $59 = $58 & 24576; - $60 = HEAP32[$pNew>>2]|0; - $61 = ((($60)) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = $62 | $59; - HEAP32[$61>>2] = $63; - $64 = HEAP32[$staticFlag>>2]|0; - $65 = HEAP32[$pNew>>2]|0; - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = $67 | $64; - HEAP32[$66>>2] = $68; - $69 = HEAP32[$nToken>>2]|0; - $70 = ($69|0)!=(0); - if ($70) { - $71 = HEAP32[$nNewSize>>2]|0; - $72 = HEAP32[$zAlloc>>2]|0; - $73 = (($72) + ($71)|0); - $74 = HEAP32[$pNew>>2]|0; - $75 = ((($74)) + 8|0); - HEAP32[$75>>2] = $73; - HEAP32[$zToken>>2] = $73; - $76 = HEAP32[$zToken>>2]|0; - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 8|0); - $79 = HEAP32[$78>>2]|0; - $80 = HEAP32[$nToken>>2]|0; - _memcpy(($76|0),($79|0),($80|0))|0; + $57 = HEAP32[$6>>2]|0; + $58 = (_sqlite3HashInsert($54,$56,$57)|0); + HEAP32[$8>>2] = $58; + $59 = HEAP32[$8>>2]|0; + $60 = ($59|0)!=(0|0); + if (!($60)) { + $64 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($64|0); } - $81 = HEAP32[$1>>2]|0; - $82 = ((($81)) + 4|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$pNew>>2]|0; - $85 = ((($84)) + 4|0); - $86 = HEAP32[$85>>2]|0; - $87 = $83 | $86; - $88 = $87 & 8404992; - $89 = (0)==($88|0); + $61 = HEAP32[$3>>2]|0; + _sqlite3OomFault($61); + $62 = HEAP32[$3>>2]|0; + $63 = HEAP32[$8>>2]|0; + _sqlite3DbFree($62,$63); + HEAP32[$6>>2] = 0; + $64 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($64|0); +} +function _callCollNeeded($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 232|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); do { - if ($89) { - $90 = HEAP32[$1>>2]|0; - $91 = ((($90)) + 4|0); - $92 = HEAP32[$91>>2]|0; - $93 = $92 & 2048; - $94 = ($93|0)!=(0); - $95 = HEAP32[$0>>2]|0; - $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 20|0); - if ($94) { - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$2>>2]|0; - $100 = (_sqlite3SelectDup($95,$98,$99)|0); - $101 = HEAP32[$pNew>>2]|0; - $102 = ((($101)) + 20|0); - HEAP32[$102>>2] = $100; + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = (_sqlite3DbStrDup($13,$14)|0); + HEAP32[$6>>2] = $15; + $16 = HEAP32[$6>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 232|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 240|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = HEAP32[$6>>2]|0; + FUNCTION_TABLE_viiii[$20 & 255]($23,$24,$25,$26); + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$6>>2]|0; + _sqlite3DbFree($27,$28); break; } else { - $103 = HEAP32[$97>>2]|0; - $104 = HEAP32[$2>>2]|0; - $105 = (_sqlite3ExprListDup($95,$103,$104)|0); - $106 = HEAP32[$pNew>>2]|0; - $107 = ((($106)) + 20|0); - HEAP32[$107>>2] = $105; - break; + STACKTOP = sp;return; } } } while(0); - $108 = HEAP32[$pNew>>2]|0; - $109 = ((($108)) + 4|0); - $110 = HEAP32[$109>>2]|0; - $111 = $110 & 24576; - $112 = ($111|0)!=(0); - $113 = HEAP32[$1>>2]|0; - if (!($112)) { - $151 = ((($113)) + 4|0); - $152 = HEAP32[$151>>2]|0; - $153 = $152 & 8404992; - $154 = ($153|0)!=(0); - if ($154) { - $178 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($178|0); - } - $155 = HEAP32[$pNew>>2]|0; - $156 = HEAP8[$155>>0]|0; - $157 = $156&255; - $158 = ($157|0)==(159); - if ($158) { - $159 = HEAP32[$1>>2]|0; - $160 = ((($159)) + 12|0); - $161 = HEAP32[$160>>2]|0; - $162 = HEAP32[$pNew>>2]|0; - $163 = ((($162)) + 12|0); - HEAP32[$163>>2] = $161; - } else { - $164 = HEAP32[$0>>2]|0; - $165 = HEAP32[$1>>2]|0; - $166 = ((($165)) + 12|0); - $167 = HEAP32[$166>>2]|0; - $168 = (_sqlite3ExprDup($164,$167,0)|0); - $169 = HEAP32[$pNew>>2]|0; - $170 = ((($169)) + 12|0); - HEAP32[$170>>2] = $168; - } - $171 = HEAP32[$0>>2]|0; - $172 = HEAP32[$1>>2]|0; - $173 = ((($172)) + 16|0); - $174 = HEAP32[$173>>2]|0; - $175 = (_sqlite3ExprDup($171,$174,0)|0); - $176 = HEAP32[$pNew>>2]|0; - $177 = ((($176)) + 16|0); - HEAP32[$177>>2] = $175; - $178 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($178|0); - } - $114 = HEAP32[$2>>2]|0; - $115 = (_dupedExprNodeSize($113,$114)|0); - $116 = HEAP32[$zAlloc>>2]|0; - $117 = (($116) + ($115)|0); - HEAP32[$zAlloc>>2] = $117; - $118 = HEAP32[$pNew>>2]|0; - $119 = ((($118)) + 4|0); - $120 = HEAP32[$119>>2]|0; - $121 = $120 & 8404992; - $122 = ($121|0)!=(0); - if (!($122)) { - $123 = HEAP32[$1>>2]|0; - $124 = ((($123)) + 12|0); - $125 = HEAP32[$124>>2]|0; - $126 = ($125|0)!=(0|0); - if ($126) { - $127 = HEAP32[$0>>2]|0; - $128 = HEAP32[$1>>2]|0; - $129 = ((($128)) + 12|0); - $130 = HEAP32[$129>>2]|0; - $131 = (_exprDup($127,$130,1,$zAlloc)|0); - $134 = $131; - } else { - $134 = 0; - } - $132 = HEAP32[$pNew>>2]|0; - $133 = ((($132)) + 12|0); - HEAP32[$133>>2] = $134; - $135 = HEAP32[$1>>2]|0; - $136 = ((($135)) + 16|0); - $137 = HEAP32[$136>>2]|0; - $138 = ($137|0)!=(0|0); - if ($138) { - $139 = HEAP32[$0>>2]|0; - $140 = HEAP32[$1>>2]|0; - $141 = ((($140)) + 16|0); - $142 = HEAP32[$141>>2]|0; - $143 = (_exprDup($139,$142,1,$zAlloc)|0); - $146 = $143; - } else { - $146 = 0; - } - $144 = HEAP32[$pNew>>2]|0; - $145 = ((($144)) + 16|0); - HEAP32[$145>>2] = $146; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 236|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)!=(0|0); + if (!($32)) { + STACKTOP = sp;return; } - $147 = HEAP32[$3>>2]|0; - $148 = ($147|0)!=(0|0); - if (!($148)) { - $178 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($178|0); + $33 = HEAP32[$3>>2]|0; + $34 = (_sqlite3ValueNew($33)|0); + HEAP32[$8>>2] = $34; + $35 = HEAP32[$8>>2]|0; + $36 = HEAP32[$5>>2]|0; + _sqlite3ValueSetStr($35,-1,$36,1,0); + $37 = HEAP32[$8>>2]|0; + $38 = HEAP8[936]|0; + $39 = $38 << 24 >> 24; + $40 = ($39|0)==(0); + $41 = $40 ? 3 : 2; + $42 = $41&255; + $43 = (_sqlite3ValueText($37,$42)|0); + HEAP32[$7>>2] = $43; + $44 = HEAP32[$7>>2]|0; + $45 = ($44|0)!=(0|0); + if ($45) { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 236|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 240|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 66|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = HEAP32[$7>>2]|0; + FUNCTION_TABLE_viiii[$48 & 255]($51,$52,$56,$57); } - $149 = HEAP32[$zAlloc>>2]|0; - $150 = HEAP32[$3>>2]|0; - HEAP32[$150>>2] = $149; - $178 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($178|0); + $58 = HEAP32[$8>>2]|0; + _sqlite3ValueFree($58); + STACKTOP = sp;return; } -function _dupedExprSize($p,$flags) { - $p = $p|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nByte = 0, label = 0, sp = 0; +function _synthCollSeq($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $nByte = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $flags; - HEAP32[$nByte>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $23 = HEAP32[$nByte>>2]|0; - STACKTOP = sp;return ($23|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + HEAP32[$7>>2] = 0; + while(1) { + $10 = HEAP32[$7>>2]|0; + $11 = ($10|0)<(3); + if (!($11)) { + label = 6; + break; + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = (28452 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = HEAP32[$6>>2]|0; + $17 = (_sqlite3FindCollSeq($12,$15,$16,0)|0); + HEAP32[$5>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + label = 4; + break; + } + $26 = HEAP32[$7>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$7>>2] = $27; } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_dupedExprNodeSize($4,$5)|0); - HEAP32[$nByte>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = $7 & 1; - $9 = ($8|0)!=(0); - if (!($9)) { - $23 = HEAP32[$nByte>>2]|0; - STACKTOP = sp;return ($23|0); + if ((label|0) == 4) { + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$5>>2]|0; + ;HEAP32[$22>>2]=HEAP32[$23>>2]|0;HEAP32[$22+4>>2]=HEAP32[$23+4>>2]|0;HEAP32[$22+8>>2]=HEAP32[$23+8>>2]|0;HEAP32[$22+12>>2]=HEAP32[$23+12>>2]|0;HEAP32[$22+16>>2]=HEAP32[$23+16>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 16|0); + HEAP32[$25>>2] = 0; + HEAP32[$2>>2] = 0; + $28 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($28|0); } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = (_dupedExprSize($12,$13)|0); - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = (_dupedExprSize($17,$18)|0); - $20 = (($14) + ($19))|0; - $21 = HEAP32[$nByte>>2]|0; - $22 = (($21) + ($20))|0; - HEAP32[$nByte>>2] = $22; - $23 = HEAP32[$nByte>>2]|0; - STACKTOP = sp;return ($23|0); + else if ((label|0) == 6) { + HEAP32[$2>>2] = 1; + $28 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($28|0); + } + return (0)|0; } -function _dupedExprStructSize($p,$flags) { - $p = $p|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nSize = 0, label = 0, sp = 0; +function _sqlite3ExprSkipCollate($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $nSize = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $flags; - $2 = HEAP32[$1>>2]|0; - $3 = (0)==($2|0); - do { + $1 = sp; + HEAP32[$1>>2] = $0; + while(1) { + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); if ($3) { - HEAP32[$nSize>>2] = 48; - } else { - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 12|0); + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - HEAP32[$nSize>>2] = 16396; - break; - } - } - HEAP32[$nSize>>2] = 8220; + $7 = $6 & 4096; + $8 = ($7|0)!=(0); + $22 = $8; + } else { + $22 = 0; } - } while(0); - $12 = HEAP32[$nSize>>2]|0; - STACKTOP = sp;return ($12|0); + $9 = HEAP32[$1>>2]|0; + if (!($22)) { + break; + } + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 262144; + $13 = ($12|0)!=(0); + $14 = HEAP32[$1>>2]|0; + if ($13) { + $15 = ((($14)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$1>>2] = $19; + continue; + } else { + $20 = ((($14)) + 12|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$1>>2] = $21; + continue; + } + } + STACKTOP = sp;return ($9|0); } -function _exprStructSize($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3TableColumnAffinity($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 4|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; $4 = HEAP32[$3>>2]|0; - $5 = $4 & 16384; - $6 = ($5|0)!=(0); - do { - if ($6) { - HEAP32[$0>>2] = 12; - } else { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9 & 8192; - $11 = ($10|0)!=(0); - if ($11) { - HEAP32[$0>>2] = 28; - break; - } else { - HEAP32[$0>>2] = 48; - break; - } - } - } while(0); - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); -} -function _sqlite3ExprListDup($db,$p,$flags) { - $db = $db|0; - $p = $p|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $pItem = 0, $pNew = 0, $pOldExpr = 0; - var $pOldItem = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $pNew = sp + 16|0; - $pItem = sp + 12|0; - $pOldItem = sp + 8|0; - $i = sp + 4|0; - $pOldExpr = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $flags; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$0>>2] = 0; - $95 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($95|0); - } - $6 = HEAP32[$1>>2]|0; - $7 = (_sqlite3DbMallocRawNN($6,8,0)|0); - HEAP32[$pNew>>2] = $7; - $8 = HEAP32[$pNew>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - HEAP32[$0>>2] = 0; - $95 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($95|0); - } - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - HEAP32[$i>>2] = $11; - $12 = HEAP32[$pNew>>2]|0; - HEAP32[$12>>2] = $11; - $13 = HEAP32[$3>>2]|0; - $14 = $13 & 1; - $15 = ($14|0)==(0); - L9: do { - if ($15) { - HEAP32[$i>>2] = 1; - while(1) { - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = ($16|0)<($18|0); - if (!($19)) { - break L9; - } - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$i>>2]|0; - $22 = (($21) + ($20))|0; - HEAP32[$i>>2] = $22; - } - } - } while(0); - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$i>>2]|0; - $25 = ($24*20)|0; - $26 = (_sqlite3DbMallocRawNN($23,$25,0)|0); - HEAP32[$pItem>>2] = $26; - $27 = HEAP32[$pNew>>2]|0; - $28 = ((($27)) + 4|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$pItem>>2]|0; - $30 = ($29|0)==(0|0); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$pNew>>2]|0; - _sqlite3DbFree($31,$32); - HEAP32[$0>>2] = 0; - $95 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($95|0); - } - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$pOldItem>>2] = $35; - HEAP32[$i>>2] = 0; - while(1) { - $36 = HEAP32[$i>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = ($36|0)<($38|0); - if (!($39)) { - break; - } - $40 = HEAP32[$pOldItem>>2]|0; - $41 = HEAP32[$40>>2]|0; - HEAP32[$pOldExpr>>2] = $41; - $42 = HEAP32[$1>>2]|0; - $43 = HEAP32[$pOldExpr>>2]|0; - $44 = HEAP32[$3>>2]|0; - $45 = (_sqlite3ExprDup($42,$43,$44)|0); - $46 = HEAP32[$pItem>>2]|0; - HEAP32[$46>>2] = $45; - $47 = HEAP32[$1>>2]|0; - $48 = HEAP32[$pOldItem>>2]|0; - $49 = ((($48)) + 4|0); - $50 = HEAP32[$49>>2]|0; - $51 = (_sqlite3DbStrDup($47,$50)|0); - $52 = HEAP32[$pItem>>2]|0; - $53 = ((($52)) + 4|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$1>>2]|0; - $55 = HEAP32[$pOldItem>>2]|0; - $56 = ((($55)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = (_sqlite3DbStrDup($54,$57)|0); - $59 = HEAP32[$pItem>>2]|0; - $60 = ((($59)) + 8|0); - HEAP32[$60>>2] = $58; - $61 = HEAP32[$pOldItem>>2]|0; - $62 = ((($61)) + 12|0); - $63 = HEAP8[$62>>0]|0; - $64 = HEAP32[$pItem>>2]|0; - $65 = ((($64)) + 12|0); - HEAP8[$65>>0] = $63; - $66 = HEAP32[$pItem>>2]|0; - $67 = ((($66)) + 13|0); - $68 = HEAP8[$67>>0]|0; - $69 = $68 & -2; - HEAP8[$67>>0] = $69; - $70 = HEAP32[$pOldItem>>2]|0; - $71 = ((($70)) + 13|0); - $72 = HEAP8[$71>>0]|0; - $73 = ($72&255) >>> 1; - $74 = $73 & 1; - $75 = $74&255; - $76 = HEAP32[$pItem>>2]|0; - $77 = ((($76)) + 13|0); - $78 = $75&255; - $79 = HEAP8[$77>>0]|0; - $80 = $78 & 1; - $81 = ($80 << 1)&255; - $82 = $79 & -3; - $83 = $82 | $81; - HEAP8[$77>>0] = $83; - $84 = HEAP32[$pItem>>2]|0; - $85 = ((($84)) + 16|0); - $86 = HEAP32[$pOldItem>>2]|0; - $87 = ((($86)) + 16|0); - ;HEAP32[$85>>2]=HEAP32[$87>>2]|0; - $88 = HEAP32[$i>>2]|0; - $89 = (($88) + 1)|0; - HEAP32[$i>>2] = $89; - $90 = HEAP32[$pItem>>2]|0; - $91 = ((($90)) + 20|0); - HEAP32[$pItem>>2] = $91; - $92 = HEAP32[$pOldItem>>2]|0; - $93 = ((($92)) + 20|0); - HEAP32[$pOldItem>>2] = $93; + $5 = ($4|0)>=(0); + if (!($5)) { + $15 = 68; + $14 = $15&255; + STACKTOP = sp;return ($14|0); } - $94 = HEAP32[$pNew>>2]|0; - HEAP32[$0>>2] = $94; - $95 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($95|0); -} -function _dupedExprNodeSize($p,$flags) { - $p = $p|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nByte = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $nByte = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $flags; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_dupedExprStructSize($2,$3)|0); - $5 = $4 & 4095; - HEAP32[$nByte>>2] = $5; - $6 = HEAP32[$0>>2]|0; + $6 = HEAP32[$2>>2]|0; $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; - $9 = $8 & 1024; - $10 = ($9|0)!=(0); - if (!($10)) { - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3Strlen30($17)|0); - $19 = (($18) + 1)|0; - $20 = HEAP32[$nByte>>2]|0; - $21 = (($20) + ($19))|0; - HEAP32[$nByte>>2] = $21; - } - } - $22 = HEAP32[$nByte>>2]|0; - $23 = (($22) + 7)|0; - $24 = $23 & -8; - STACKTOP = sp;return ($24|0); + $9 = HEAP32[$3>>2]|0; + $10 = (($8) + ($9<<4)|0); + $11 = ((($10)) + 13|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12 << 24 >> 24; + $15 = $13; + $14 = $15&255; + STACKTOP = sp;return ($14|0); } -function _selectOpName($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $2 = 0, $z = 0, label = 0, sp = 0; +function _sqlite3SelectPrep($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - switch ($1|0) { - case 116: { - HEAP32[$z>>2] = 29449; - break; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + STACKTOP = sp;return; } - case 118: { - HEAP32[$z>>2] = 29459; - break; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$6>>2] = $10; + $11 = HEAP32[$6>>2]|0; + $12 = ((($11)) + 69|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($13<<24>>24)!=(0); + if ($14) { + STACKTOP = sp;return; } - case 117: { - HEAP32[$z>>2] = 29469; - break; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & 128; + $19 = ($18|0)!=(0); + if ($19) { + STACKTOP = sp;return; } - default: { - HEAP32[$z>>2] = 29476; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$4>>2]|0; + _sqlite3SelectExpand($20,$21); + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 36|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)!=(0); + if ($25) { + STACKTOP = sp;return; } + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 69|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = ($29|0)!=(0); + if ($30) { + STACKTOP = sp;return; } - $2 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($2|0); -} -function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { - $pParse = $pParse|0; - $pSelect = $pSelect|0; - $pOrderBy = $pOrderBy|0; - $zType = $zType|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $pEList = 0, $pItem = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $i = sp + 16|0; - $db = sp + 12|0; - $pEList = sp + 8|0; - $pItem = sp + 4|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pSelect; - HEAP32[$3>>2] = $pOrderBy; - HEAP32[$4>>2] = $zType; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 69|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(0); - if (!($14)) { - $15 = HEAP32[$3>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$db>>2]|0; - $18 = ((($17)) + 96|0); - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16|0)>($20|0); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer>>2] = $23; - _sqlite3ErrorMsg($22,29482,$vararg_buffer); - HEAP32[$0>>2] = 1; - $63 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($63|0); - } - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$24>>2]|0; - HEAP32[$pEList>>2] = $25; - HEAP32[$i>>2] = 0; - $26 = HEAP32[$3>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$pItem>>2] = $28; - while(1) { - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$3>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = ($29|0)<($31|0); - if (!($32)) { - label = 13; - break; - } - $33 = HEAP32[$pItem>>2]|0; - $34 = ((($33)) + 16|0); - $35 = HEAP16[$34>>1]|0; - $36 = ($35<<16>>16)!=(0); - if ($36) { - $37 = HEAP32[$pItem>>2]|0; - $38 = ((($37)) + 16|0); - $39 = HEAP16[$38>>1]|0; - $40 = $39&65535; - $41 = HEAP32[$pEList>>2]|0; - $42 = HEAP32[$41>>2]|0; - $43 = ($40|0)>($42|0); - $44 = HEAP32[$1>>2]|0; - if ($43) { - label = 10; - break; - } - $50 = HEAP32[$pEList>>2]|0; - $51 = HEAP32[$pItem>>2]|0; - $52 = ((($51)) + 16|0); - $53 = HEAP16[$52>>1]|0; - $54 = $53&65535; - $55 = (($54) - 1)|0; - $56 = HEAP32[$pItem>>2]|0; - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$4>>2]|0; - _resolveAlias($44,$50,$55,$57,$58,0); - } - $59 = HEAP32[$i>>2]|0; - $60 = (($59) + 1)|0; - HEAP32[$i>>2] = $60; - $61 = HEAP32[$pItem>>2]|0; - $62 = ((($61)) + 20|0); - HEAP32[$pItem>>2] = $62; - } - if ((label|0) == 10) { - $45 = HEAP32[$4>>2]|0; - $46 = HEAP32[$i>>2]|0; - $47 = (($46) + 1)|0; - $48 = HEAP32[$pEList>>2]|0; - $49 = HEAP32[$48>>2]|0; - _resolveOutOfRangeError($44,$45,$47,$49); - HEAP32[$0>>2] = 1; - $63 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($63|0); - } - else if ((label|0) == 13) { - HEAP32[$0>>2] = 0; - $63 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($63|0); - } - } + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$5>>2]|0; + _sqlite3ResolveSelectNames($31,$32,$33); + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 36|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)!=(0); + if ($37) { + STACKTOP = sp;return; } - HEAP32[$0>>2] = 0; - $63 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($63|0); + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 69|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($41|0)!=(0); + if ($42) { + STACKTOP = sp;return; + } + $43 = HEAP32[$3>>2]|0; + $44 = HEAP32[$4>>2]|0; + _sqlite3SelectAddTypeInfo($43,$44); + STACKTOP = sp;return; } -function _resolveAlias($pParse,$pEList,$iCol,$pExpr,$zType,$nSubquery) { - $pParse = $pParse|0; - $pEList = $pEList|0; - $iCol = $iCol|0; - $pExpr = $pExpr|0; - $zType = $zType|0; - $nSubquery = $nSubquery|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $db = 0, $pDup = 0, $pOrig = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3SelectExpand($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 + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $pOrig = sp + 8|0; - $pDup = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pEList; - HEAP32[$2>>2] = $iCol; - HEAP32[$3>>2] = $pExpr; - HEAP32[$4>>2] = $zType; - HEAP32[$5>>2] = $nSubquery; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0; + $5 = ((($4)) + 4|0); + HEAP32[$5>>2] = 197; $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($6*20)|0)|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pOrig>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$12>>2]|0; - HEAP32[$db>>2] = $13; - $14 = HEAP32[$db>>2]|0; - $15 = HEAP32[$pOrig>>2]|0; - $16 = (_sqlite3ExprDup($14,$15,0)|0); - HEAP32[$pDup>>2] = $16; - $17 = HEAP32[$pDup>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - STACKTOP = sp;return; - } - $19 = HEAP32[$4>>2]|0; - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = ($21|0)!=(71); - if ($22) { - $23 = HEAP32[$pDup>>2]|0; - $24 = HEAP32[$5>>2]|0; - _incrAggFunctionDepth($23,$24); - } - $25 = HEAP32[$3>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)==(53); - if ($28) { - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$pDup>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = ((($31)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_sqlite3ExprAddCollateString($29,$30,$33)|0); - HEAP32[$pDup>>2] = $34; + HEAP32[$4>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 22|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + if ($10) { + $11 = ((($4)) + 8|0); + HEAP32[$11>>2] = 198; + $12 = HEAP32[$3>>2]|0; + (_sqlite3WalkSelect($4,$12)|0); } - $35 = HEAP32[$pDup>>2]|0; - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = $37 | 4194304; - HEAP32[$36>>2] = $38; - $39 = HEAP32[$3>>2]|0; - $40 = ((($39)) + 4|0); - $41 = HEAP32[$40>>2]|0; - $42 = $41 | 32768; - HEAP32[$40>>2] = $42; - $43 = HEAP32[$db>>2]|0; - $44 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($43,$44); - $45 = HEAP32[$3>>2]|0; - $46 = HEAP32[$pDup>>2]|0; - dest=$45; src=$46; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $47 = HEAP32[$3>>2]|0; - $48 = ((($47)) + 4|0); - $49 = HEAP32[$48>>2]|0; - $50 = $49 & 1024; - $51 = ($50|0)!=(0); - if (!($51)) { - $52 = HEAP32[$3>>2]|0; - $53 = ((($52)) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)!=(0|0); - if ($55) { - $56 = HEAP32[$db>>2]|0; - $57 = HEAP32[$3>>2]|0; - $58 = ((($57)) + 8|0); - $59 = HEAP32[$58>>2]|0; - $60 = (_sqlite3DbStrDup($56,$59)|0); - $61 = HEAP32[$3>>2]|0; - $62 = ((($61)) + 8|0); - HEAP32[$62>>2] = $60; - $63 = HEAP32[$3>>2]|0; - $64 = ((($63)) + 4|0); - $65 = HEAP32[$64>>2]|0; - $66 = $65 | 65536; - HEAP32[$64>>2] = $66; - } + $13 = ((($4)) + 8|0); + HEAP32[$13>>2] = 199; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = $16 & 1024; + $18 = ($17|0)==(0); + if (!($18)) { + $20 = HEAP32[$3>>2]|0; + (_sqlite3WalkSelect($4,$20)|0); + STACKTOP = sp;return; } - $67 = HEAP32[$db>>2]|0; - $68 = HEAP32[$pDup>>2]|0; - _sqlite3DbFree($67,$68); + $19 = ((($4)) + 12|0); + HEAP32[$19>>2] = 132; + $20 = HEAP32[$3>>2]|0; + (_sqlite3WalkSelect($4,$20)|0); STACKTOP = sp;return; } -function _incrAggFunctionDepth($pExpr,$N) { - $pExpr = $pExpr|0; - $N = $N|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $w = 0, label = 0, sp = 0; +function _sqlite3ResolveSelectNames($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $w = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $N; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - if (!($3)) { - STACKTOP = sp;return; - } - ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0;HEAP32[$w+24>>2]=0|0; - $4 = ((($w)) + 4|0); - HEAP32[$4>>2] = 195; - $5 = HEAP32[$1>>2]|0; - $6 = ((($w)) + 24|0); - HEAP32[$6>>2] = $5; - $7 = HEAP32[$0>>2]|0; - (_sqlite3WalkExpr($w,$7)|0); + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;HEAP32[$6+20>>2]=0|0;HEAP32[$6+24>>2]=0|0; + $7 = ((($6)) + 4|0); + HEAP32[$7>>2] = 200; + $8 = ((($6)) + 8|0); + HEAP32[$8>>2] = 201; + $9 = HEAP32[$3>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP32[$5>>2]|0; + $11 = ((($6)) + 24|0); + HEAP32[$11>>2] = $10; + $12 = HEAP32[$4>>2]|0; + (_sqlite3WalkSelect($6,$12)|0); STACKTOP = sp;return; } -function _sqlite3ExprAddCollateString($pParse,$pExpr,$zC) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $zC = $zC|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $s = 0, label = 0, sp = 0; +function _sqlite3SelectAddTypeInfo($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $s = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $zC; - $3 = HEAP32[$2>>2]|0; - _sqlite3TokenInit($s,$3); - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3ExprAddCollateToken($4,$5,$s,0)|0); - STACKTOP = sp;return ($6|0); + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0; + $5 = ((($4)) + 12|0); + HEAP32[$5>>2] = 133; + $6 = ((($4)) + 4|0); + HEAP32[$6>>2] = 197; + $7 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$3>>2]|0; + (_sqlite3WalkSelect($4,$8)|0); + STACKTOP = sp;return; } -function _sqlite3TokenInit($p,$z) { - $p = $p|0; - $z = $z|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _selectAddSubqueryTypeInfo($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $z; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - HEAP32[$3>>2] = $2; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3Strlen30($4)|0); - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 4|0); - HEAP32[$7>>2] = $5; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = $12 | 128; + HEAP32[$11>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + HEAP32[$4>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 28|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$6>>2] = $18; + HEAP32[$5>>2] = 0; + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$7>>2] = $20; + while(1) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ($21|0)<($23|0); + if (!($24)) { + break; + } + $25 = HEAP32[$7>>2]|0; + $26 = ((($25)) + 16|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$8>>2] = $27; + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 42|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = $31 & 2; + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 20|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$9>>2] = $36; + $37 = HEAP32[$9>>2]|0; + $38 = ($37|0)!=(0|0); + if ($38) { + while(1) { + $39 = HEAP32[$9>>2]|0; + $40 = ((($39)) + 48|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)!=(0|0); + if (!($42)) { + break; + } + $43 = HEAP32[$9>>2]|0; + $44 = ((($43)) + 48|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$9>>2] = $45; + } + $46 = HEAP32[$4>>2]|0; + $47 = HEAP32[$8>>2]|0; + $48 = HEAP32[$9>>2]|0; + _sqlite3SelectAddColumnTypeAndCollation($46,$47,$48); + } + } + $49 = HEAP32[$5>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$5>>2] = $50; + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 72|0); + HEAP32[$7>>2] = $52; + } STACKTOP = sp;return; } -function _incrAggDepth($pWalker,$pExpr) { - $pWalker = $pWalker|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3ExprWalkNoop($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pWalker; - HEAP32[$1>>2] = $pExpr; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(153); - if (!($5)) { - STACKTOP = sp;return 0; - } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 38|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (($12) + ($8))|0; - $14 = $13&255; - HEAP8[$10>>0] = $14; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; STACKTOP = sp;return 0; } -function _sqlite3ExprCheckHeight($pParse,$nHeight) { - $pParse = $pParse|0; - $nHeight = $nHeight|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mxHeight = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 16|0; - $1 = sp + 12|0; - $rc = sp + 8|0; - $mxHeight = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $nHeight; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 96|0); - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$mxHeight>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$mxHeight>>2]|0; - $9 = ($7|0)>($8|0); - if (!($9)) { - $12 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($12|0); - } - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$mxHeight>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - _sqlite3ErrorMsg($10,29513,$vararg_buffer); - HEAP32[$rc>>2] = 1; - $12 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($12|0); -} -function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { - $pParse = $pParse|0; - $zDb = $zDb|0; - $zTab = $zTab|0; - $zCol = $zCol|0; - $pNC = $pNC|0; - $pExpr = $pExpr|0; - var $$ = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; - var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; - var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; - var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0; - var $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0; - var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; - var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0; - var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0; - var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $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 $cnt = 0, $cntTab = 0, $db = 0, $hit = 0, $i = 0, $iCol = 0, $isTrigger = 0, $j = 0, $n = 0, $nSubquery = 0, $op = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0; - var $pCol = 0, $pEList = 0, $pItem = 0, $pMatch = 0, $pOrig = 0, $pSchema = 0, $pSrcList = 0, $pTab = 0, $pTopNC = 0, $vararg_buffer = 0, $vararg_buffer18 = 0, $vararg_buffer24 = 0, $vararg_buffer29 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr23 = 0, $vararg_ptr27 = 0, $vararg_ptr28 = 0, $vararg_ptr32 = 0, $zAs = 0; - var $zErr = 0, $zTabName = 0, label = 0, sp = 0; +function _sqlite3WalkSelect($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $vararg_buffer29 = sp + 40|0; - $vararg_buffer24 = sp + 24|0; - $vararg_buffer18 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 164|0; - $1 = sp + 160|0; - $2 = sp + 156|0; - $3 = sp + 152|0; - $4 = sp + 148|0; - $5 = sp + 144|0; - $6 = sp + 140|0; - $i = sp + 136|0; - $j = sp + 132|0; - $cnt = sp + 128|0; - $cntTab = sp + 124|0; - $nSubquery = sp + 120|0; - $db = sp + 116|0; - $pItem = sp + 112|0; - $pMatch = sp + 108|0; - $pTopNC = sp + 104|0; - $pSchema = sp + 100|0; - $isTrigger = sp + 96|0; - $pTab = sp + 92|0; - $pCol = sp + 88|0; - $pEList = sp + 84|0; - $pSrcList = sp + 80|0; - $hit = sp + 76|0; - $zTabName = sp + 72|0; - $op = sp + 68|0; - $iCol = sp + 64|0; - $zAs = sp + 60|0; - $pOrig = sp + 56|0; - $zErr = sp + 52|0; - $n = sp + 48|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $zDb; - HEAP32[$3>>2] = $zTab; - HEAP32[$4>>2] = $zCol; - HEAP32[$5>>2] = $pNC; - HEAP32[$6>>2] = $pExpr; - HEAP32[$cnt>>2] = 0; - HEAP32[$cntTab>>2] = 0; - HEAP32[$nSubquery>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$db>>2] = $8; - HEAP32[$pMatch>>2] = 0; - $9 = HEAP32[$5>>2]|0; - HEAP32[$pTopNC>>2] = $9; - HEAP32[$pSchema>>2] = 0; - HEAP32[$isTrigger>>2] = 0; - HEAP32[$pTab>>2] = 0; - $10 = HEAP32[$6>>2]|0; - $11 = ((($10)) + 28|0); - HEAP32[$11>>2] = -1; - $12 = HEAP32[$6>>2]|0; - $13 = ((($12)) + 44|0); - HEAP32[$13>>2] = 0; - $14 = HEAP32[$2>>2]|0; - $15 = ($14|0)!=(0|0); - L1: do { - if ($15) { - $16 = HEAP32[$5>>2]|0; - $17 = ((($16)) + 28|0); - $18 = HEAP16[$17>>1]|0; - $19 = $18&65535; - $20 = $19 & 6; - $21 = ($20|0)!=(0); - if ($21) { - HEAP32[$2>>2] = 0; - break; - } - HEAP32[$i>>2] = 0; - while(1) { - $22 = HEAP32[$i>>2]|0; - $23 = HEAP32[$db>>2]|0; - $24 = ((($23)) + 20|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($22|0)<($25|0); - if (!($26)) { - break L1; - } - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$db>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + ($27<<4)|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = (_sqlite3StrICmp($32,$33)|0); - $35 = ($34|0)==(0); - $36 = HEAP32[$i>>2]|0; - if ($35) { + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)==(0|0); + do { + if (!($7)) { + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0|0); + if ($15) { break; } - $43 = (($36) + 1)|0; - HEAP32[$i>>2] = $43; } - $37 = HEAP32[$db>>2]|0; - $38 = ((($37)) + 16|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + ($36<<4)|0); - $41 = ((($40)) + 12|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$pSchema>>2] = $42; - } - } while(0); - L11: while(1) { - $44 = HEAP32[$5>>2]|0; - $45 = ($44|0)!=(0|0); - $46 = HEAP32[$cnt>>2]|0; - $47 = ($46|0)==(0); - $48 = $45 ? $47 : 0; - if (!($48)) { - label = 89; - break; - } - $49 = HEAP32[$5>>2]|0; - $50 = ((($49)) + 4|0); - $51 = HEAP32[$50>>2]|0; - HEAP32[$pSrcList>>2] = $51; - $52 = HEAP32[$pSrcList>>2]|0; - $53 = ($52|0)!=(0|0); - if ($53) { - HEAP32[$i>>2] = 0; - $54 = HEAP32[$pSrcList>>2]|0; - $55 = ((($54)) + 8|0); - HEAP32[$pItem>>2] = $55; + HEAP32[$5>>2] = 0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$17>>2] = $19; while(1) { - $56 = HEAP32[$i>>2]|0; - $57 = HEAP32[$pSrcList>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = ($56|0)<($58|0); - if (!($59)) { + $20 = HEAP32[$4>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { + label = 15; break; } - $60 = HEAP32[$pItem>>2]|0; - $61 = ((($60)) + 16|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$pTab>>2] = $62; - $63 = HEAP32[$pItem>>2]|0; - $64 = ((($63)) + 20|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)!=(0|0); - if ($66) { - $67 = HEAP32[$pItem>>2]|0; - $68 = ((($67)) + 20|0); - $69 = HEAP32[$68>>2]|0; - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = $71 & 2048; - $73 = ($72|0)!=(0); - if ($73) { - HEAP32[$hit>>2] = 0; - $74 = HEAP32[$pItem>>2]|0; - $75 = ((($74)) + 20|0); - $76 = HEAP32[$75>>2]|0; - $77 = HEAP32[$76>>2]|0; - HEAP32[$pEList>>2] = $77; - HEAP32[$j>>2] = 0; - while(1) { - $78 = HEAP32[$j>>2]|0; - $79 = HEAP32[$pEList>>2]|0; - $80 = HEAP32[$79>>2]|0; - $81 = ($78|0)<($80|0); - if (!($81)) { - break; - } - $82 = HEAP32[$j>>2]|0; - $83 = HEAP32[$pEList>>2]|0; - $84 = ((($83)) + 4|0); - $85 = HEAP32[$84>>2]|0; - $86 = (($85) + (($82*20)|0)|0); - $87 = ((($86)) + 8|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$4>>2]|0; - $90 = HEAP32[$3>>2]|0; - $91 = HEAP32[$2>>2]|0; - $92 = (_sqlite3MatchSpanName($88,$89,$90,$91)|0); - $93 = ($92|0)!=(0); - if ($93) { - $94 = HEAP32[$cnt>>2]|0; - $95 = (($94) + 1)|0; - HEAP32[$cnt>>2] = $95; - HEAP32[$cntTab>>2] = 2; - $96 = HEAP32[$pItem>>2]|0; - HEAP32[$pMatch>>2] = $96; - $97 = HEAP32[$j>>2]|0; - $98 = $97&65535; - $99 = HEAP32[$6>>2]|0; - $100 = ((($99)) + 32|0); - HEAP16[$100>>1] = $98; - HEAP32[$hit>>2] = 1; - } - $101 = HEAP32[$j>>2]|0; - $102 = (($101) + 1)|0; - HEAP32[$j>>2] = $102; - } - $103 = HEAP32[$hit>>2]|0; - $104 = ($103|0)!=(0); - $105 = HEAP32[$3>>2]|0; - $106 = ($105|0)==(0|0); - $or$cond = $104 | $106; - if (!($or$cond)) { - label = 21; - } - } else { - label = 21; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)!=(0|0); + if ($25) { + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = (FUNCTION_TABLE_iii[$28 & 255]($29,$30)|0); + HEAP32[$5>>2] = $31; + $32 = HEAP32[$5>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + label = 15; + break; } - } else { - label = 21; } - L29: do { - if ((label|0) == 21) { - label = 0; - $107 = HEAP32[$2>>2]|0; - $108 = ($107|0)!=(0|0); - if ($108) { - $109 = HEAP32[$pTab>>2]|0; - $110 = ((($109)) + 64|0); - $111 = HEAP32[$110>>2]|0; - $112 = HEAP32[$pSchema>>2]|0; - $113 = ($111|0)!=($112|0); - if ($113) { - break; - } - } - $114 = HEAP32[$3>>2]|0; - $115 = ($114|0)!=(0|0); - if ($115) { - $116 = HEAP32[$pItem>>2]|0; - $117 = ((($116)) + 12|0); - $118 = HEAP32[$117>>2]|0; - $119 = ($118|0)!=(0|0); - if ($119) { - $120 = HEAP32[$pItem>>2]|0; - $121 = ((($120)) + 12|0); - $122 = HEAP32[$121>>2]|0; - $125 = $122; - } else { - $123 = HEAP32[$pTab>>2]|0; - $124 = HEAP32[$123>>2]|0; - $125 = $124; - } - HEAP32[$zTabName>>2] = $125; - $126 = HEAP32[$zTabName>>2]|0; - $127 = HEAP32[$3>>2]|0; - $128 = (_sqlite3StrICmp($126,$127)|0); - $129 = ($128|0)!=(0); - if ($129) { - break; - } - } - $130 = HEAP32[$cntTab>>2]|0; - $131 = (($130) + 1)|0; - HEAP32[$cntTab>>2] = $131; - $132 = (0)==($130|0); - if ($132) { - $133 = HEAP32[$pItem>>2]|0; - HEAP32[$pMatch>>2] = $133; - } - HEAP32[$j>>2] = 0; - $134 = HEAP32[$pTab>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - HEAP32[$pCol>>2] = $136; - while(1) { - $137 = HEAP32[$j>>2]|0; - $138 = HEAP32[$pTab>>2]|0; - $139 = ((($138)) + 34|0); - $140 = HEAP16[$139>>1]|0; - $141 = $140 << 16 >> 16; - $142 = ($137|0)<($141|0); - if (!($142)) { - break L29; - } - $143 = HEAP32[$pCol>>2]|0; - $144 = HEAP32[$143>>2]|0; - $145 = HEAP32[$4>>2]|0; - $146 = (_sqlite3StrICmp($144,$145)|0); - $147 = ($146|0)==(0); - if ($147) { - $148 = HEAP32[$cnt>>2]|0; - $149 = ($148|0)==(1); - if (!($149)) { - break; - } - $150 = HEAP32[$pItem>>2]|0; - $151 = ((($150)) + 36|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = $153 & 4; - $155 = ($154|0)!=(0); - if (!($155)) { - $156 = HEAP32[$pItem>>2]|0; - $157 = ((($156)) + 52|0); - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$4>>2]|0; - $160 = (_nameInUsingClause($158,$159)|0); - $161 = ($160|0)!=(0); - if (!($161)) { - break; - } - } - } - $178 = HEAP32[$j>>2]|0; - $179 = (($178) + 1)|0; - HEAP32[$j>>2] = $179; - $180 = HEAP32[$pCol>>2]|0; - $181 = ((($180)) + 16|0); - HEAP32[$pCol>>2] = $181; - } - $162 = HEAP32[$cnt>>2]|0; - $163 = (($162) + 1)|0; - HEAP32[$cnt>>2] = $163; - $164 = HEAP32[$pItem>>2]|0; - HEAP32[$pMatch>>2] = $164; - $165 = HEAP32[$j>>2]|0; - $166 = HEAP32[$pTab>>2]|0; - $167 = ((($166)) + 32|0); - $168 = HEAP16[$167>>1]|0; - $169 = $168 << 16 >> 16; - $170 = ($165|0)==($169|0); - if ($170) { - $175 = -1; - } else { - $171 = HEAP32[$j>>2]|0; - $172 = $171&65535; - $173 = $172 << 16 >> 16; - $175 = $173; - } - $174 = $175&65535; - $176 = HEAP32[$6>>2]|0; - $177 = ((($176)) + 32|0); - HEAP16[$177>>1] = $174; - } - } while(0); - $182 = HEAP32[$i>>2]|0; - $183 = (($182) + 1)|0; - HEAP32[$i>>2] = $183; - $184 = HEAP32[$pItem>>2]|0; - $185 = ((($184)) + 72|0); - HEAP32[$pItem>>2] = $185; - } - $186 = HEAP32[$pMatch>>2]|0; - $187 = ($186|0)!=(0|0); - if ($187) { - $188 = HEAP32[$pMatch>>2]|0; - $189 = ((($188)) + 44|0); - $190 = HEAP32[$189>>2]|0; - $191 = HEAP32[$6>>2]|0; - $192 = ((($191)) + 28|0); - HEAP32[$192>>2] = $190; - $193 = HEAP32[$pMatch>>2]|0; - $194 = ((($193)) + 16|0); - $195 = HEAP32[$194>>2]|0; - $196 = HEAP32[$6>>2]|0; - $197 = ((($196)) + 44|0); - HEAP32[$197>>2] = $195; - $198 = HEAP32[$pMatch>>2]|0; - $199 = ((($198)) + 36|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200&255; - $202 = $201 & 8; - $203 = ($202|0)!=(0); - if ($203) { - $204 = HEAP32[$6>>2]|0; - $205 = ((($204)) + 4|0); - $206 = HEAP32[$205>>2]|0; - $207 = $206 | 1048576; - HEAP32[$205>>2] = $207; + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = (_sqlite3WalkSelectExpr($34,$35)|0); + $37 = ($36|0)!=(0); + if ($37) { + label = 11; + break; } - $208 = HEAP32[$6>>2]|0; - $209 = ((($208)) + 44|0); - $210 = HEAP32[$209>>2]|0; - $211 = ((($210)) + 64|0); - $212 = HEAP32[$211>>2]|0; - HEAP32[$pSchema>>2] = $212; - } - } - $213 = HEAP32[$2>>2]|0; - $214 = ($213|0)==(0|0); - $215 = HEAP32[$3>>2]|0; - $216 = ($215|0)!=(0|0); - $or$cond3 = $214 & $216; - $217 = HEAP32[$cntTab>>2]|0; - $218 = ($217|0)==(0); - $or$cond5 = $or$cond3 & $218; - if ($or$cond5) { - $219 = HEAP32[$1>>2]|0; - $220 = ((($219)) + 128|0); - $221 = HEAP32[$220>>2]|0; - $222 = ($221|0)!=(0|0); - if ($222) { - $223 = HEAP32[$1>>2]|0; - $224 = ((($223)) + 148|0); - $225 = HEAP8[$224>>0]|0; - $226 = $225&255; - HEAP32[$op>>2] = $226; - $227 = HEAP32[$op>>2]|0; - $228 = ($227|0)!=(109); - if ($228) { - $229 = HEAP32[$3>>2]|0; - $230 = (_sqlite3StrICmp(29940,$229)|0); - $231 = ($230|0)==(0); - if ($231) { - $232 = HEAP32[$6>>2]|0; - $233 = ((($232)) + 28|0); - HEAP32[$233>>2] = 1; - $234 = HEAP32[$1>>2]|0; - $235 = ((($234)) + 128|0); - $236 = HEAP32[$235>>2]|0; - HEAP32[$pTab>>2] = $236; - } else { - label = 50; - } - } else { - label = 50; + $38 = HEAP32[$3>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = (_sqlite3WalkSelectFrom($38,$39)|0); + $41 = ($40|0)!=(0); + if ($41) { + label = 11; + break; } - do { - if ((label|0) == 50) { - label = 0; - $237 = HEAP32[$op>>2]|0; - $238 = ($237|0)!=(108); - if ($238) { - $239 = HEAP32[$3>>2]|0; - $240 = (_sqlite3StrICmp(29944,$239)|0); - $241 = ($240|0)==(0); - if ($241) { - $242 = HEAP32[$6>>2]|0; - $243 = ((($242)) + 28|0); - HEAP32[$243>>2] = 0; - $244 = HEAP32[$1>>2]|0; - $245 = ((($244)) + 128|0); - $246 = HEAP32[$245>>2]|0; - HEAP32[$pTab>>2] = $246; - break; - } - } - HEAP32[$pTab>>2] = 0; - } - } while(0); - $247 = HEAP32[$pTab>>2]|0; - $248 = ($247|0)!=(0|0); - if ($248) { - $249 = HEAP32[$pTab>>2]|0; - $250 = ((($249)) + 64|0); - $251 = HEAP32[$250>>2]|0; - HEAP32[$pSchema>>2] = $251; - $252 = HEAP32[$cntTab>>2]|0; - $253 = (($252) + 1)|0; - HEAP32[$cntTab>>2] = $253; - HEAP32[$iCol>>2] = 0; - $254 = HEAP32[$pTab>>2]|0; - $255 = ((($254)) + 4|0); - $256 = HEAP32[$255>>2]|0; - HEAP32[$pCol>>2] = $256; - while(1) { - $257 = HEAP32[$iCol>>2]|0; - $258 = HEAP32[$pTab>>2]|0; - $259 = ((($258)) + 34|0); - $260 = HEAP16[$259>>1]|0; - $261 = $260 << 16 >> 16; - $262 = ($257|0)<($261|0); - if (!($262)) { - break; - } - $263 = HEAP32[$pCol>>2]|0; - $264 = HEAP32[$263>>2]|0; - $265 = HEAP32[$4>>2]|0; - $266 = (_sqlite3StrICmp($264,$265)|0); - $267 = ($266|0)==(0); - $268 = HEAP32[$iCol>>2]|0; - if ($267) { - label = 58; - break; - } - $274 = (($268) + 1)|0; - HEAP32[$iCol>>2] = $274; - $275 = HEAP32[$pCol>>2]|0; - $276 = ((($275)) + 16|0); - HEAP32[$pCol>>2] = $276; - } - if ((label|0) == 58) { - label = 0; - $269 = HEAP32[$pTab>>2]|0; - $270 = ((($269)) + 32|0); - $271 = HEAP16[$270>>1]|0; - $272 = $271 << 16 >> 16; - $273 = ($268|0)==($272|0); - if ($273) { - HEAP32[$iCol>>2] = -1; - } - } - $277 = HEAP32[$iCol>>2]|0; - $278 = HEAP32[$pTab>>2]|0; - $279 = ((($278)) + 34|0); - $280 = HEAP16[$279>>1]|0; - $281 = $280 << 16 >> 16; - $282 = ($277|0)>=($281|0); - if ($282) { - $283 = HEAP32[$4>>2]|0; - $284 = (_sqlite3IsRowid($283)|0); - $285 = ($284|0)!=(0); - if ($285) { - $286 = HEAP32[$pTab>>2]|0; - $287 = ((($286)) + 42|0); - $288 = HEAP8[$287>>0]|0; - $289 = $288&255; - $290 = $289 & 64; - $291 = ($290|0)==(0); - if ($291) { - HEAP32[$iCol>>2] = -1; - } - } - } - $292 = HEAP32[$iCol>>2]|0; - $293 = HEAP32[$pTab>>2]|0; - $294 = ((($293)) + 34|0); - $295 = HEAP16[$294>>1]|0; - $296 = $295 << 16 >> 16; - $297 = ($292|0)<($296|0); - if ($297) { - $298 = HEAP32[$cnt>>2]|0; - $299 = (($298) + 1)|0; - HEAP32[$cnt>>2] = $299; - $300 = HEAP32[$iCol>>2]|0; - $301 = ($300|0)<(0); - $302 = HEAP32[$6>>2]|0; - do { - if ($301) { - $303 = ((($302)) + 1|0); - HEAP8[$303>>0] = 68; - } else { - $304 = ((($302)) + 28|0); - $305 = HEAP32[$304>>2]|0; - $306 = ($305|0)==(0); - $307 = HEAP32[$iCol>>2]|0; - $308 = ($307|0)>=(32); - $309 = HEAP32[$iCol>>2]|0; - $310 = 1 << $309; - $311 = $308 ? -1 : $310; - $312 = HEAP32[$1>>2]|0; - if ($306) { - $313 = ((($312)) + 140|0); - $314 = HEAP32[$313>>2]|0; - $315 = $314 | $311; - HEAP32[$313>>2] = $315; - break; - } else { - $316 = ((($312)) + 144|0); - $317 = HEAP32[$316>>2]|0; - $318 = $317 | $311; - HEAP32[$316>>2] = $318; - break; - } - } - } while(0); - $319 = HEAP32[$iCol>>2]|0; - $320 = $319&65535; - $321 = HEAP32[$6>>2]|0; - $322 = ((($321)) + 32|0); - HEAP16[$322>>1] = $320; - $323 = HEAP32[$pTab>>2]|0; - $324 = HEAP32[$6>>2]|0; - $325 = ((($324)) + 44|0); - HEAP32[$325>>2] = $323; - HEAP32[$isTrigger>>2] = 1; - } - } - } - } - $326 = HEAP32[$cnt>>2]|0; - $327 = ($326|0)==(0); - $328 = HEAP32[$cntTab>>2]|0; - $329 = ($328|0)==(1); - $or$cond7 = $327 & $329; - $330 = HEAP32[$pMatch>>2]|0; - $331 = ($330|0)!=(0|0); - $or$cond9 = $or$cond7 & $331; - if ($or$cond9) { - $332 = HEAP32[$5>>2]|0; - $333 = ((($332)) + 28|0); - $334 = HEAP16[$333>>1]|0; - $335 = $334&65535; - $336 = $335 & 32; - $337 = ($336|0)==(0); - if ($337) { - $338 = HEAP32[$4>>2]|0; - $339 = (_sqlite3IsRowid($338)|0); - $340 = ($339|0)!=(0); - if ($340) { - $341 = HEAP32[$pMatch>>2]|0; - $342 = ((($341)) + 16|0); - $343 = HEAP32[$342>>2]|0; - $344 = ((($343)) + 42|0); - $345 = HEAP8[$344>>0]|0; - $346 = $345&255; - $347 = $346 & 64; - $348 = ($347|0)==(0); - if ($348) { - HEAP32[$cnt>>2] = 1; - $349 = HEAP32[$6>>2]|0; - $350 = ((($349)) + 32|0); - HEAP16[$350>>1] = -1; - $351 = HEAP32[$6>>2]|0; - $352 = ((($351)) + 1|0); - HEAP8[$352>>0] = 68; - } + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)!=(0|0); + if ($49) { + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$3>>2]|0; + $54 = HEAP32[$4>>2]|0; + FUNCTION_TABLE_vii[$52 & 255]($53,$54); } + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 48|0); + $57 = HEAP32[$56>>2]|0; + HEAP32[$4>>2] = $57; + } + if ((label|0) == 11) { + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 16|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) + -1)|0; + HEAP32[$43>>2] = $45; + HEAP32[$2>>2] = 2; + $64 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($64|0); + } + else if ((label|0) == 15) { + $58 = HEAP32[$3>>2]|0; + $59 = ((($58)) + 16|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($60) + -1)|0; + HEAP32[$59>>2] = $61; + $62 = HEAP32[$5>>2]|0; + $63 = $62 & 2; + HEAP32[$2>>2] = $63; + $64 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($64|0); } } - $353 = HEAP32[$5>>2]|0; - $354 = ((($353)) + 8|0); - $355 = HEAP32[$354>>2]|0; - HEAP32[$pEList>>2] = $355; - $356 = ($355|0)!=(0|0); - $357 = HEAP32[$3>>2]|0; - $358 = ($357|0)==(0|0); - $or$cond11 = $356 & $358; - $359 = HEAP32[$cnt>>2]|0; - $360 = ($359|0)==(0); - $or$cond13 = $or$cond11 & $360; - L105: do { - if ($or$cond13) { - HEAP32[$j>>2] = 0; - while(1) { - $361 = HEAP32[$j>>2]|0; - $362 = HEAP32[$pEList>>2]|0; - $363 = HEAP32[$362>>2]|0; - $364 = ($361|0)<($363|0); - if (!($364)) { - break L105; - } - $365 = HEAP32[$j>>2]|0; - $366 = HEAP32[$pEList>>2]|0; - $367 = ((($366)) + 4|0); - $368 = HEAP32[$367>>2]|0; - $369 = (($368) + (($365*20)|0)|0); - $370 = ((($369)) + 4|0); - $371 = HEAP32[$370>>2]|0; - HEAP32[$zAs>>2] = $371; - $372 = HEAP32[$zAs>>2]|0; - $373 = ($372|0)!=(0|0); - if ($373) { - $374 = HEAP32[$zAs>>2]|0; - $375 = HEAP32[$4>>2]|0; - $376 = (_sqlite3StrICmp($374,$375)|0); - $377 = ($376|0)==(0); - if ($377) { - label = 82; - break L11; - } - } - $402 = HEAP32[$j>>2]|0; - $403 = (($402) + 1)|0; - HEAP32[$j>>2] = $403; - } + } while(0); + HEAP32[$2>>2] = 0; + $64 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($64|0); +} +function _sqlite3WalkSelectExpr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3WalkExprList($5,$7)|0); + $9 = ($8|0)!=(0); + do { + if ($9) { + HEAP32[$2>>2] = 2; + } else { + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 32|0); + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3WalkExpr($10,$13)|0); + $15 = ($14|0)!=(0); + if ($15) { + HEAP32[$2>>2] = 2; + break; + } + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 36|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3WalkExprList($16,$19)|0); + $21 = ($20|0)!=(0); + if ($21) { + HEAP32[$2>>2] = 2; + break; + } + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 40|0); + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3WalkExpr($22,$25)|0); + $27 = ($26|0)!=(0); + if ($27) { + HEAP32[$2>>2] = 2; + break; + } + $28 = HEAP32[$3>>2]|0; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 44|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3WalkExprList($28,$31)|0); + $33 = ($32|0)!=(0); + if ($33) { + HEAP32[$2>>2] = 2; + break; + } + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 56|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_sqlite3WalkExpr($34,$37)|0); + $39 = ($38|0)!=(0); + if ($39) { + HEAP32[$2>>2] = 2; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 60|0); + $43 = HEAP32[$42>>2]|0; + $44 = (_sqlite3WalkExpr($40,$43)|0); + $45 = ($44|0)!=(0); + if ($45) { + HEAP32[$2>>2] = 2; + break; + } else { + HEAP32[$2>>2] = 0; + break; } - } while(0); - $404 = HEAP32[$cnt>>2]|0; - $405 = ($404|0)==(0); - if (!($405)) { - continue; } - $406 = HEAP32[$5>>2]|0; - $407 = ((($406)) + 16|0); - $408 = HEAP32[$407>>2]|0; - HEAP32[$5>>2] = $408; - $409 = HEAP32[$nSubquery>>2]|0; - $410 = (($409) + 1)|0; - HEAP32[$nSubquery>>2] = $410; - } - if ((label|0) == 82) { - $378 = HEAP32[$j>>2]|0; - $379 = HEAP32[$pEList>>2]|0; - $380 = ((($379)) + 4|0); - $381 = HEAP32[$380>>2]|0; - $382 = (($381) + (($378*20)|0)|0); - $383 = HEAP32[$382>>2]|0; - HEAP32[$pOrig>>2] = $383; - $384 = HEAP32[$5>>2]|0; - $385 = ((($384)) + 28|0); - $386 = HEAP16[$385>>1]|0; - $387 = $386&65535; - $388 = $387 & 1; - $389 = ($388|0)==(0); - if ($389) { - $390 = HEAP32[$pOrig>>2]|0; - $391 = ((($390)) + 4|0); - $392 = HEAP32[$391>>2]|0; - $393 = $392 & 2; - $394 = ($393|0)!=(0); - if ($394) { - $395 = HEAP32[$1>>2]|0; - $396 = HEAP32[$zAs>>2]|0; - HEAP32[$vararg_buffer>>2] = $396; - _sqlite3ErrorMsg($395,29948,$vararg_buffer); - HEAP32[$0>>2] = 2; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); - } - } - $397 = HEAP32[$1>>2]|0; - $398 = HEAP32[$pEList>>2]|0; - $399 = HEAP32[$j>>2]|0; - $400 = HEAP32[$6>>2]|0; - $401 = HEAP32[$nSubquery>>2]|0; - _resolveAlias($397,$398,$399,$400,18402,$401); - HEAP32[$cnt>>2] = 1; - HEAP32[$pMatch>>2] = 0; - } - else if ((label|0) == 89) { - $411 = HEAP32[$cnt>>2]|0; - $412 = ($411|0)==(0); - $413 = HEAP32[$3>>2]|0; - $414 = ($413|0)==(0|0); - $or$cond15 = $412 & $414; - if ($or$cond15) { - $415 = HEAP32[$6>>2]|0; - $416 = ((($415)) + 4|0); - $417 = HEAP32[$416>>2]|0; - $418 = $417 & 64; - $419 = ($418|0)!=(0); - if ($419) { - $420 = HEAP32[$6>>2]|0; - HEAP8[$420>>0] = 97; - $421 = HEAP32[$6>>2]|0; - $422 = ((($421)) + 44|0); - HEAP32[$422>>2] = 0; - HEAP32[$0>>2] = 1; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); - } - } - $423 = HEAP32[$cnt>>2]|0; - $424 = ($423|0)!=(1); - if ($424) { - $425 = HEAP32[$cnt>>2]|0; - $426 = ($425|0)==(0); - $427 = $426 ? 29979 : 29994; - HEAP32[$zErr>>2] = $427; - $428 = HEAP32[$2>>2]|0; - $429 = ($428|0)!=(0|0); - do { - if ($429) { - $430 = HEAP32[$1>>2]|0; - $431 = HEAP32[$zErr>>2]|0; - $432 = HEAP32[$2>>2]|0; - $433 = HEAP32[$3>>2]|0; - $434 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer18>>2] = $431; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $432; - $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); - HEAP32[$vararg_ptr22>>2] = $433; - $vararg_ptr23 = ((($vararg_buffer18)) + 12|0); - HEAP32[$vararg_ptr23>>2] = $434; - _sqlite3ErrorMsg($430,30016,$vararg_buffer18); - } else { - $435 = HEAP32[$3>>2]|0; - $436 = ($435|0)!=(0|0); - $437 = HEAP32[$1>>2]|0; - $438 = HEAP32[$zErr>>2]|0; - if ($436) { - $439 = HEAP32[$3>>2]|0; - $440 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer24>>2] = $438; - $vararg_ptr27 = ((($vararg_buffer24)) + 4|0); - HEAP32[$vararg_ptr27>>2] = $439; - $vararg_ptr28 = ((($vararg_buffer24)) + 8|0); - HEAP32[$vararg_ptr28>>2] = $440; - _sqlite3ErrorMsg($437,30029,$vararg_buffer24); - break; - } else { - $441 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer29>>2] = $438; - $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); - HEAP32[$vararg_ptr32>>2] = $441; - _sqlite3ErrorMsg($437,30039,$vararg_buffer29); + } while(0); + $46 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($46|0); +} +function _sqlite3WalkSelectFrom($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 28|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$5>>2]|0; + $12 = ($11|0)!=(0|0); + L1: do { + if ($12) { + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 8|0); + HEAP32[$7>>2] = $16; + while(1) { + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)>(0); + if (!($18)) { + break L1; + } + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3WalkSelect($19,$22)|0); + $24 = ($23|0)!=(0); + if ($24) { + label = 5; + break; + } + $25 = HEAP32[$7>>2]|0; + $26 = ((($25)) + 36|0); + $27 = ((($26)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28&255) >>> 2; + $30 = $29 & 1; + $31 = $30&255; + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$3>>2]|0; + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 64|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_sqlite3WalkExprList($33,$36)|0); + $38 = ($37|0)!=(0); + if ($38) { + label = 8; break; } } - } while(0); - $442 = HEAP32[$1>>2]|0; - $443 = ((($442)) + 17|0); - HEAP8[$443>>0] = 1; - $444 = HEAP32[$pTopNC>>2]|0; - $445 = ((($444)) + 24|0); - $446 = HEAP32[$445>>2]|0; - $447 = (($446) + 1)|0; - HEAP32[$445>>2] = $447; - } - $448 = HEAP32[$6>>2]|0; - $449 = ((($448)) + 32|0); - $450 = HEAP16[$449>>1]|0; - $451 = $450 << 16 >> 16; - $452 = ($451|0)>=(0); - $453 = HEAP32[$pMatch>>2]|0; - $454 = ($453|0)!=(0|0); - $or$cond17 = $452 & $454; - if ($or$cond17) { - $455 = HEAP32[$6>>2]|0; - $456 = ((($455)) + 32|0); - $457 = HEAP16[$456>>1]|0; - $458 = $457 << 16 >> 16; - HEAP32[$n>>2] = $458; - $459 = HEAP32[$n>>2]|0; - $460 = ($459|0)>=(64); - $$ = $460 ? 63 : $458; - HEAP32[$n>>2] = $$; - $461 = HEAP32[$n>>2]|0; - $462 = (_bitshift64Shl(1,0,($461|0))|0); - $463 = tempRet0; - $464 = HEAP32[$pMatch>>2]|0; - $465 = ((($464)) + 56|0); - $466 = $465; - $467 = $466; - $468 = HEAP32[$467>>2]|0; - $469 = (($466) + 4)|0; - $470 = $469; - $471 = HEAP32[$470>>2]|0; - $472 = $468 | $462; - $473 = $471 | $463; - $474 = $465; - $475 = $474; - HEAP32[$475>>2] = $472; - $476 = (($474) + 4)|0; - $477 = $476; - HEAP32[$477>>2] = $473; - } - $478 = HEAP32[$db>>2]|0; - $479 = HEAP32[$6>>2]|0; - $480 = ((($479)) + 12|0); - $481 = HEAP32[$480>>2]|0; - _sqlite3ExprDelete($478,$481); - $482 = HEAP32[$6>>2]|0; - $483 = ((($482)) + 12|0); - HEAP32[$483>>2] = 0; - $484 = HEAP32[$db>>2]|0; - $485 = HEAP32[$6>>2]|0; - $486 = ((($485)) + 16|0); - $487 = HEAP32[$486>>2]|0; - _sqlite3ExprDelete($484,$487); - $488 = HEAP32[$6>>2]|0; - $489 = ((($488)) + 16|0); - HEAP32[$489>>2] = 0; - $490 = HEAP32[$isTrigger>>2]|0; - $491 = ($490|0)!=(0); - $492 = $491 ? 88 : 152; - $493 = $492&255; - $494 = HEAP32[$6>>2]|0; - HEAP8[$494>>0] = $493; - } - $495 = HEAP32[$cnt>>2]|0; - $496 = ($495|0)==(1); - if (!($496)) { - HEAP32[$0>>2] = 2; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); - } - $497 = HEAP32[$6>>2]|0; - $498 = ((($497)) + 4|0); - $499 = HEAP32[$498>>2]|0; - $500 = $499 & 4194304; - $501 = ($500|0)!=(0); - if (!($501)) { - $502 = HEAP32[$1>>2]|0; - $503 = HEAP32[$6>>2]|0; - $504 = HEAP32[$pSchema>>2]|0; - $505 = HEAP32[$5>>2]|0; - $506 = ((($505)) + 4|0); - $507 = HEAP32[$506>>2]|0; - _sqlite3AuthRead($502,$503,$504,$507); - } - while(1) { - $508 = HEAP32[$pTopNC>>2]|0; - $509 = ((($508)) + 20|0); - $510 = HEAP32[$509>>2]|0; - $511 = (($510) + 1)|0; - HEAP32[$509>>2] = $511; - $512 = HEAP32[$pTopNC>>2]|0; - $513 = HEAP32[$5>>2]|0; - $514 = ($512|0)==($513|0); - if ($514) { - break; - } - $515 = HEAP32[$pTopNC>>2]|0; - $516 = ((($515)) + 16|0); - $517 = HEAP32[$516>>2]|0; - HEAP32[$pTopNC>>2] = $517; - } - HEAP32[$0>>2] = 1; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $39 = HEAP32[$6>>2]|0; + $40 = (($39) + -1)|0; + HEAP32[$6>>2] = $40; + $41 = HEAP32[$7>>2]|0; + $42 = ((($41)) + 72|0); + HEAP32[$7>>2] = $42; + } + if ((label|0) == 5) { + HEAP32[$2>>2] = 2; + $43 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($43|0); + } + else if ((label|0) == 8) { + HEAP32[$2>>2] = 2; + $43 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($43|0); + } + } + } while(0); + HEAP32[$2>>2] = 0; + $43 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($43|0); } -function _notValid($pParse,$pNC,$zMsg,$validMask) { - $pParse = $pParse|0; - $pNC = $pNC|0; - $zMsg = $zMsg|0; - $validMask = $validMask|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $zIn = 0, label = 0, sp = 0; +function _sqlite3WalkExprList($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 24|0; - $1 = sp + 20|0; $2 = sp + 16|0; $3 = sp + 12|0; - $zIn = sp + 8|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pNC; - HEAP32[$2>>2] = $zMsg; - HEAP32[$3>>2] = $validMask; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 28|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = HEAP32[$3>>2]|0; - $9 = $7 & $8; - $10 = ($9|0)!=(0); - if (!($10)) { - STACKTOP = sp;return; - } - HEAP32[$zIn>>2] = 29856; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 28|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & 32; - $16 = ($15|0)!=(0); - if ($16) { - HEAP32[$zIn>>2] = 29884; - } else { - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 28|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 & 4; - $22 = ($21|0)!=(0); - if ($22) { - HEAP32[$zIn>>2] = 29902; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)!=(0|0); + L1: do { + if ($8) { + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $13; + while(1) { + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)>(0); + if (!($15)) { + break L1; + } + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3WalkExpr($16,$18)|0); + $20 = ($19|0)!=(0); + if ($20) { + break; + } + $21 = HEAP32[$5>>2]|0; + $22 = (($21) + -1)|0; + HEAP32[$5>>2] = $22; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 20|0); + HEAP32[$6>>2] = $24; + } + HEAP32[$2>>2] = 2; + $25 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($25|0); } - } - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$zIn>>2]|0; - HEAP32[$vararg_buffer>>2] = $24; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $25; - _sqlite3ErrorMsg($23,29920,$vararg_buffer); - STACKTOP = sp;return; + } while(0); + HEAP32[$2>>2] = 0; + $25 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($25|0); } -function _exprProbability($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0; - var label = 0, sp = 0; +function _sqlite3WalkExpr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 12|0; - $1 = sp + 8|0; - $r = sp; - HEAP32[$1>>2] = $p; - HEAPF64[$r>>3] = -1.0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(132); - if ($5) { - HEAP32[$0>>2] = -1; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3Strlen30($11)|0); - (_sqlite3AtoF($8,$r,$12,1)|0); - $13 = +HEAPF64[$r>>3]; - $14 = $13 > 1.0; - if ($14) { - HEAP32[$0>>2] = -1; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } else { - $15 = +HEAPF64[$r>>3]; - $16 = $15 * 134217728.0; - $17 = (~~(($16))); - HEAP32[$0>>2] = $17; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $9 = 0; + STACKTOP = sp;return ($9|0); } - return (0)|0; -} -function _sqlite3FunctionUsesThisSrc($pExpr,$pSrcList) { - $pExpr = $pExpr|0; - $pSrcList = $pSrcList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt = 0, $w = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $w = sp + 12|0; - $cnt = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $pSrcList; - ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0;HEAP32[$w+24>>2]=0|0; - $2 = ((($w)) + 4|0); - HEAP32[$2>>2] = 196; - $3 = ((($w)) + 24|0); - HEAP32[$3>>2] = $cnt; - $4 = HEAP32[$1>>2]|0; - HEAP32[$cnt>>2] = $4; - $5 = ((($cnt)) + 4|0); - HEAP32[$5>>2] = 0; - $6 = ((($cnt)) + 8|0); - HEAP32[$6>>2] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 20|0); - $9 = HEAP32[$8>>2]|0; - (_sqlite3WalkExprList($w,$9)|0); - $10 = ((($cnt)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(0); - $13 = ((($cnt)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0); - $16 = $12 ? 1 : $15; - $17 = $16&1; - STACKTOP = sp;return ($17|0); + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = (_walkExpr($6,$7)|0); + $9 = $8; + STACKTOP = sp;return ($9|0); } -function _sqlite3ExprVectorSize($pExpr) { - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $op = 0, label = 0, sp = 0; +function _walkExpr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - $op = sp + 8|0; - HEAP32[$1>>2] = $pExpr; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - HEAP8[$op>>0] = $3; - $4 = HEAP8[$op>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(157); - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 38|0); - $9 = HEAP8[$8>>0]|0; - HEAP8[$op>>0] = $9; - } - $10 = HEAP8[$op>>0]|0; - $11 = $10&255; - $12 = ($11|0)==(158); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = (FUNCTION_TABLE_iii[$8 & 255]($9,$10)|0); + HEAP32[$5>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)!=(0); + if (!($13)) { + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; - HEAP32[$0>>2] = $16; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } - $17 = HEAP8[$op>>0]|0; - $18 = $17&255; - $19 = ($18|0)==(119); - if ($19) { - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$23>>2]|0; - HEAP32[$0>>2] = $24; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } else { - HEAP32[$0>>2] = 1; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); + $17 = $16 & 8404992; + $18 = ($17|0)!=(0); + if (!($18)) { + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = (_walkExpr($25,$28)|0); + $30 = ($29|0)!=(0); + if ($30) { + HEAP32[$2>>2] = 2; + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); + } + } + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$3>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = (_walkExpr($35,$38)|0); + $40 = ($39|0)!=(0); + if ($40) { + HEAP32[$2>>2] = 2; + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); + } + } + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = $43 & 2048; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$3>>2]|0; + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 20|0); + $49 = HEAP32[$48>>2]|0; + $50 = (_sqlite3WalkSelect($46,$49)|0); + $51 = ($50|0)!=(0); + if ($51) { + HEAP32[$2>>2] = 2; + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); + } + } else { + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 20|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)!=(0|0); + if ($55) { + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 20|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3WalkExprList($56,$59)|0); + $61 = ($60|0)!=(0); + if ($61) { + HEAP32[$2>>2] = 2; + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); + } + } + } + HEAP32[$2>>2] = 0; + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); + } } - return (0)|0; + $19 = HEAP32[$5>>2]|0; + $20 = $19 & 2; + HEAP32[$2>>2] = $20; + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); } -function _exprSrcCount($pWalker,$pExpr) { - $pWalker = $pWalker|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $nSrc = 0, $p = 0, $pSrc = 0, label = 0, sp = 0; +function _resolveExprStep($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $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_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr6 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $i = sp + 12|0; - $p = sp + 8|0; - $pSrc = sp + 4|0; - $nSrc = sp; - HEAP32[$0>>2] = $pWalker; - HEAP32[$1>>2] = $pExpr; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(152); - if (!($5)) { - $6 = HEAP32[$1>>2]|0; - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(154); - if (!($9)) { - STACKTOP = sp;return 0; - } + STACKTOP = STACKTOP + 144|0; + $vararg_buffer15 = sp + 40|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 128|0; + $3 = sp + 124|0; + $4 = sp + 120|0; + $5 = sp + 116|0; + $6 = sp + 112|0; + $7 = sp + 108|0; + $8 = sp + 104|0; + $9 = sp + 100|0; + $10 = sp + 96|0; + $11 = sp + 92|0; + $12 = sp + 88|0; + $13 = sp + 84|0; + $14 = sp + 80|0; + $15 = sp + 76|0; + $16 = sp + 72|0; + $17 = sp + 68|0; + $18 = sp + 64|0; + $19 = sp + 132|0; + $20 = sp + 60|0; + $21 = sp + 56|0; + $22 = sp + 52|0; + $23 = sp + 48|0; + $24 = sp + 44|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 24|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$5>>2] = $27; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$28>>2]|0; + HEAP32[$6>>2] = $29; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 & 4; + $34 = ($33|0)!=(0); + if ($34) { + HEAP32[$2>>2] = 1; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 24|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$p>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = HEAP32[$13>>2]|0; - HEAP32[$pSrc>>2] = $14; - $15 = HEAP32[$pSrc>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$pSrc>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = $18; - } else { - $19 = 0; + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = $37 | 4; + HEAP32[$36>>2] = $38; + $39 = HEAP32[$4>>2]|0; + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + switch ($41|0) { + case 55: { + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 8|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$5>>2]|0; + $47 = HEAP32[$4>>2]|0; + $48 = (_lookupName($42,0,0,$45,$46,$47)|0); + HEAP32[$2>>2] = $48; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + break; } - HEAP32[$nSrc>>2] = $19; - HEAP32[$i>>2] = 0; - while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$nSrc>>2]|0; - $22 = ($20|0)<($21|0); - if (!($22)) { - break; - } - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 28|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$pSrc>>2]|0; - $28 = ((($27)) + 8|0); - $29 = (($28) + (($26*72)|0)|0); - $30 = ((($29)) + 44|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($25|0)==($31|0); - if ($32) { - break; + case 122: { + $49 = HEAP32[$6>>2]|0; + $50 = HEAP32[$5>>2]|0; + _notValid($49,$50,28977,32); + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + HEAP32[$10>>2] = $53; + $54 = HEAP32[$10>>2]|0; + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = ($56|0)==(55); + if ($57) { + HEAP32[$9>>2] = 0; + $58 = HEAP32[$4>>2]|0; + $59 = ((($58)) + 12|0); + $60 = HEAP32[$59>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$8>>2] = $62; + $63 = HEAP32[$10>>2]|0; + $64 = ((($63)) + 8|0); + $65 = HEAP32[$64>>2]|0; + HEAP32[$7>>2] = $65; + } else { + $66 = HEAP32[$4>>2]|0; + $67 = ((($66)) + 12|0); + $68 = HEAP32[$67>>2]|0; + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + HEAP32[$9>>2] = $70; + $71 = HEAP32[$10>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($73)) + 8|0); + $75 = HEAP32[$74>>2]|0; + HEAP32[$8>>2] = $75; + $76 = HEAP32[$10>>2]|0; + $77 = ((($76)) + 16|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($78)) + 8|0); + $80 = HEAP32[$79>>2]|0; + HEAP32[$7>>2] = $80; } - $33 = HEAP32[$i>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$i>>2] = $34; - } - $35 = HEAP32[$i>>2]|0; - $36 = HEAP32[$nSrc>>2]|0; - $37 = ($35|0)<($36|0); - $38 = HEAP32[$p>>2]|0; - if ($37) { - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (($40) + 1)|0; - HEAP32[$39>>2] = $41; - STACKTOP = sp;return 0; - } else { - $42 = ((($38)) + 8|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$42>>2] = $44; - STACKTOP = sp;return 0; + $81 = HEAP32[$6>>2]|0; + $82 = HEAP32[$9>>2]|0; + $83 = HEAP32[$8>>2]|0; + $84 = HEAP32[$7>>2]|0; + $85 = HEAP32[$5>>2]|0; + $86 = HEAP32[$4>>2]|0; + $87 = (_lookupName($81,$82,$83,$84,$85,$86)|0); + HEAP32[$2>>2] = $87; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + break; } - return (0)|0; -} -function _sqlite3AtoF($z,$pResult,$length,$enc) { - $z = $z|0; - $pResult = $pResult|0; - $length = $length|0; - $enc = $enc|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0.0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0.0, $367 = 0.0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0.0, $379 = 0.0, $38 = 0, $380 = 0.0, $381 = 0.0, $382 = 0.0, $383 = 0.0, $384 = 0.0, $385 = 0.0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0.0, $395 = 0.0, $396 = 0.0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0.0, $401 = 0.0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0.0, $407 = 0.0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0.0, $419 = 0.0, $42 = 0, $420 = 0.0, $421 = 0.0; - var $422 = 0.0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $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, $d = 0, $e = 0, $eValid = 0, $esign = 0; - var $i = 0, $incr = 0, $nDigits = 0, $nonNum = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $result = 0, $s = 0, $scale = 0, $sign = 0, $zEnd = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = sp + 80|0; - $incr = sp + 60|0; - $zEnd = sp + 56|0; - $sign = sp + 52|0; - $s = sp + 16|0; - $d = sp + 48|0; - $esign = sp + 44|0; - $e = sp + 40|0; - $eValid = sp + 36|0; - $result = sp + 8|0; - $nDigits = sp + 32|0; - $nonNum = sp + 28|0; - $i = sp + 24|0; - $scale = sp; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $pResult; - HEAP32[$3>>2] = $length; - HEAP8[$4>>0] = $enc; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$3>>2]|0; - $7 = (($5) + ($6)|0); - HEAP32[$zEnd>>2] = $7; - HEAP32[$sign>>2] = 1; - $8 = $s; - $9 = $8; - HEAP32[$9>>2] = 0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = 0; - HEAP32[$d>>2] = 0; - HEAP32[$esign>>2] = 1; - HEAP32[$e>>2] = 0; - HEAP32[$eValid>>2] = 1; - HEAP32[$nDigits>>2] = 0; - HEAP32[$nonNum>>2] = 0; - $12 = HEAP32[$2>>2]|0; - HEAPF64[$12>>3] = 0.0; - $13 = HEAP8[$4>>0]|0; - $14 = $13&255; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$incr>>2] = 1; - } else { - HEAP32[$incr>>2] = 2; - $16 = HEAP8[$4>>0]|0; - $17 = $16&255; - $18 = (3 - ($17))|0; - HEAP32[$i>>2] = $18; - while(1) { - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$3>>2]|0; - $21 = ($19|0)<($20|0); - if (!($21)) { - break; + case 151: { + $88 = HEAP32[$4>>2]|0; + $89 = ((($88)) + 20|0); + $90 = HEAP32[$89>>2]|0; + HEAP32[$11>>2] = $90; + $91 = HEAP32[$11>>2]|0; + $92 = ($91|0)!=(0|0); + if ($92) { + $93 = HEAP32[$11>>2]|0; + $94 = HEAP32[$93>>2]|0; + $95 = $94; + } else { + $95 = 0; + } + HEAP32[$12>>2] = $95; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + $96 = HEAP32[$6>>2]|0; + $97 = HEAP32[$96>>2]|0; + $98 = ((($97)) + 66|0); + $99 = HEAP8[$98>>0]|0; + HEAP8[$19>>0] = $99; + $100 = HEAP32[$4>>2]|0; + $101 = ((($100)) + 8|0); + $102 = HEAP32[$101>>2]|0; + HEAP32[$17>>2] = $102; + $103 = HEAP32[$17>>2]|0; + $104 = (_sqlite3Strlen30($103)|0); + HEAP32[$16>>2] = $104; + $105 = HEAP32[$6>>2]|0; + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$17>>2]|0; + $108 = HEAP32[$12>>2]|0; + $109 = HEAP8[$19>>0]|0; + $110 = (_sqlite3FindFunction($106,$107,$108,$109,0)|0); + HEAP32[$18>>2] = $110; + $111 = HEAP32[$18>>2]|0; + $112 = ($111|0)==(0|0); + do { + if ($112) { + $113 = HEAP32[$6>>2]|0; + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$17>>2]|0; + $116 = HEAP8[$19>>0]|0; + $117 = (_sqlite3FindFunction($114,$115,-2,$116,0)|0); + HEAP32[$18>>2] = $117; + $118 = HEAP32[$18>>2]|0; + $119 = ($118|0)==(0|0); + if ($119) { + HEAP32[$13>>2] = 1; + break; + } else { + HEAP32[$14>>2] = 1; + break; + } + } else { + $120 = HEAP32[$18>>2]|0; + $121 = ((($120)) + 16|0); + $122 = HEAP32[$121>>2]|0; + $123 = ($122|0)!=(0|0); + $124 = $123&1; + HEAP32[$15>>2] = $124; + $125 = HEAP32[$18>>2]|0; + $126 = ((($125)) + 2|0); + $127 = HEAP16[$126>>1]|0; + $128 = $127&65535; + $129 = $128 & 1024; + $130 = ($129|0)!=(0); + do { + if ($130) { + $131 = HEAP32[$4>>2]|0; + $132 = ((($131)) + 4|0); + $133 = HEAP32[$132>>2]|0; + $134 = $133 | 266240; + HEAP32[$132>>2] = $134; + $135 = HEAP32[$12>>2]|0; + $136 = ($135|0)==(2); + if (!($136)) { + $154 = HEAP32[$18>>2]|0; + $155 = ((($154)) + 20|0); + $156 = HEAP32[$155>>2]|0; + $157 = HEAP8[$156>>0]|0; + $158 = $157 << 24 >> 24; + $159 = ($158|0)==(117); + $160 = $159 ? 8388608 : 125829120; + $161 = HEAP32[$4>>2]|0; + $162 = ((($161)) + 28|0); + HEAP32[$162>>2] = $160; + break; + } + $137 = HEAP32[$11>>2]|0; + $138 = ((($137)) + 4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($139)) + 20|0); + $141 = HEAP32[$140>>2]|0; + $142 = (_exprProbability($141)|0); + $143 = HEAP32[$4>>2]|0; + $144 = ((($143)) + 28|0); + HEAP32[$144>>2] = $142; + $145 = HEAP32[$4>>2]|0; + $146 = ((($145)) + 28|0); + $147 = HEAP32[$146>>2]|0; + $148 = ($147|0)<(0); + if ($148) { + $149 = HEAP32[$6>>2]|0; + _sqlite3ErrorMsg($149,28994,$vararg_buffer); + $150 = HEAP32[$5>>2]|0; + $151 = ((($150)) + 24|0); + $152 = HEAP32[$151>>2]|0; + $153 = (($152) + 1)|0; + HEAP32[$151>>2] = $153; + } + } + } while(0); + $163 = HEAP32[$6>>2]|0; + $164 = HEAP32[$18>>2]|0; + $165 = ((($164)) + 20|0); + $166 = HEAP32[$165>>2]|0; + $167 = (_sqlite3AuthCheck($163,31,0,$166,0)|0); + HEAP32[$20>>2] = $167; + $168 = HEAP32[$20>>2]|0; + $169 = ($168|0)!=(0); + if ($169) { + $170 = HEAP32[$20>>2]|0; + $171 = ($170|0)==(1); + if ($171) { + $172 = HEAP32[$6>>2]|0; + $173 = HEAP32[$18>>2]|0; + $174 = ((($173)) + 20|0); + $175 = HEAP32[$174>>2]|0; + HEAP32[$vararg_buffer1>>2] = $175; + _sqlite3ErrorMsg($172,29065,$vararg_buffer1); + $176 = HEAP32[$5>>2]|0; + $177 = ((($176)) + 24|0); + $178 = HEAP32[$177>>2]|0; + $179 = (($178) + 1)|0; + HEAP32[$177>>2] = $179; + } + $180 = HEAP32[$4>>2]|0; + HEAP8[$180>>0] = 101; + HEAP32[$2>>2] = 1; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + } else { + $181 = HEAP32[$18>>2]|0; + $182 = ((($181)) + 2|0); + $183 = HEAP16[$182>>1]|0; + $184 = $183&65535; + $185 = $184 & 10240; + $186 = ($185|0)!=(0); + if ($186) { + $187 = HEAP32[$4>>2]|0; + $188 = ((($187)) + 4|0); + $189 = HEAP32[$188>>2]|0; + $190 = $189 | 524288; + HEAP32[$188>>2] = $190; + } + $191 = HEAP32[$18>>2]|0; + $192 = ((($191)) + 2|0); + $193 = HEAP16[$192>>1]|0; + $194 = $193&65535; + $195 = $194 & 2048; + $196 = ($195|0)==(0); + if (!($196)) { + break; + } + $197 = HEAP32[$6>>2]|0; + $198 = HEAP32[$5>>2]|0; + _notValid($197,$198,29100,34); + break; + } } - $22 = HEAP32[$i>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + ($22)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($26|0)==(0); - if (!($27)) { - break; + } while(0); + $199 = HEAP32[$15>>2]|0; + $200 = ($199|0)!=(0); + if ($200) { + $201 = HEAP32[$5>>2]|0; + $202 = ((($201)) + 28|0); + $203 = HEAP16[$202>>1]|0; + $204 = $203&65535; + $205 = $204 & 1; + $206 = ($205|0)==(0); + if ($206) { + $207 = HEAP32[$6>>2]|0; + $208 = HEAP32[$16>>2]|0; + $209 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer3>>2] = $208; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $209; + _sqlite3ErrorMsg($207,29128,$vararg_buffer3); + $210 = HEAP32[$5>>2]|0; + $211 = ((($210)) + 24|0); + $212 = HEAP32[$211>>2]|0; + $213 = (($212) + 1)|0; + HEAP32[$211>>2] = $213; + HEAP32[$15>>2] = 0; + } else { + label = 31; } - $28 = HEAP32[$i>>2]|0; - $29 = (($28) + 2)|0; - HEAP32[$i>>2] = $29; + } else { + label = 31; } - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = ($30|0)<($31|0); - $33 = $32&1; - HEAP32[$nonNum>>2] = $33; - $34 = HEAP32[$i>>2]|0; - $35 = $34 ^ 1; - $36 = HEAP32[$1>>2]|0; - $37 = (($36) + ($35)|0); - HEAP32[$zEnd>>2] = $37; - $38 = HEAP8[$4>>0]|0; - $39 = $38&255; - $40 = $39 & 1; - $41 = HEAP32[$1>>2]|0; - $42 = (($41) + ($40)|0); - HEAP32[$1>>2] = $42; + do { + if ((label|0) == 31) { + $214 = HEAP32[$13>>2]|0; + $215 = ($214|0)!=(0); + if ($215) { + $216 = HEAP32[$6>>2]|0; + $217 = HEAP32[$216>>2]|0; + $218 = ((($217)) + 148|0); + $219 = ((($218)) + 5|0); + $220 = HEAP8[$219>>0]|0; + $221 = $220&255; + $222 = ($221|0)==(0); + if ($222) { + $223 = HEAP32[$6>>2]|0; + $224 = HEAP32[$16>>2]|0; + $225 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer7>>2] = $224; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $225; + _sqlite3ErrorMsg($223,29164,$vararg_buffer7); + $226 = HEAP32[$5>>2]|0; + $227 = ((($226)) + 24|0); + $228 = HEAP32[$227>>2]|0; + $229 = (($228) + 1)|0; + HEAP32[$227>>2] = $229; + break; + } + } + $230 = HEAP32[$14>>2]|0; + $231 = ($230|0)!=(0); + if ($231) { + $232 = HEAP32[$6>>2]|0; + $233 = HEAP32[$16>>2]|0; + $234 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer11>>2] = $233; + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr14>>2] = $234; + _sqlite3ErrorMsg($232,29187,$vararg_buffer11); + $235 = HEAP32[$5>>2]|0; + $236 = ((($235)) + 24|0); + $237 = HEAP32[$236>>2]|0; + $238 = (($237) + 1)|0; + HEAP32[$236>>2] = $238; + } + } + } while(0); + $239 = HEAP32[$15>>2]|0; + $240 = ($239|0)!=(0); + if ($240) { + $241 = HEAP32[$5>>2]|0; + $242 = ((($241)) + 28|0); + $243 = HEAP16[$242>>1]|0; + $244 = $243&65535; + $245 = $244 & -2; + $246 = $245&65535; + HEAP16[$242>>1] = $246; + } + $247 = HEAP32[$3>>2]|0; + $248 = HEAP32[$11>>2]|0; + (_sqlite3WalkExprList($247,$248)|0); + $249 = HEAP32[$15>>2]|0; + $250 = ($249|0)!=(0); + if ($250) { + $251 = HEAP32[$5>>2]|0; + HEAP32[$21>>2] = $251; + $252 = HEAP32[$4>>2]|0; + HEAP8[$252>>0] = -103; + $253 = HEAP32[$4>>2]|0; + $254 = ((($253)) + 38|0); + HEAP8[$254>>0] = 0; + while(1) { + $255 = HEAP32[$21>>2]|0; + $256 = ($255|0)!=(0|0); + if (!($256)) { + break; + } + $257 = HEAP32[$4>>2]|0; + $258 = HEAP32[$21>>2]|0; + $259 = ((($258)) + 4|0); + $260 = HEAP32[$259>>2]|0; + $261 = (_sqlite3FunctionUsesThisSrc($257,$260)|0); + $262 = ($261|0)!=(0); + $263 = $262 ^ 1; + if (!($263)) { + break; + } + $264 = HEAP32[$4>>2]|0; + $265 = ((($264)) + 38|0); + $266 = HEAP8[$265>>0]|0; + $267 = (($266) + 1)<<24>>24; + HEAP8[$265>>0] = $267; + $268 = HEAP32[$21>>2]|0; + $269 = ((($268)) + 16|0); + $270 = HEAP32[$269>>2]|0; + HEAP32[$21>>2] = $270; + } + $271 = HEAP32[$21>>2]|0; + $272 = ($271|0)!=(0|0); + if ($272) { + $273 = HEAP32[$18>>2]|0; + $274 = ((($273)) + 2|0); + $275 = HEAP16[$274>>1]|0; + $276 = $275&65535; + $277 = $276 & 4096; + $278 = 16 | $277; + $279 = HEAP32[$21>>2]|0; + $280 = ((($279)) + 28|0); + $281 = HEAP16[$280>>1]|0; + $282 = $281&65535; + $283 = $282 | $278; + $284 = $283&65535; + HEAP16[$280>>1] = $284; + } + $285 = HEAP32[$5>>2]|0; + $286 = ((($285)) + 28|0); + $287 = HEAP16[$286>>1]|0; + $288 = $287&65535; + $289 = $288 | 1; + $290 = $289&65535; + HEAP16[$286>>1] = $290; + } + HEAP32[$2>>2] = 1; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + break; } - while(1) { - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$zEnd>>2]|0; - $45 = ($43>>>0)<($44>>>0); - if (!($45)) { - break; + case 33: case 20: case 119: { + $291 = HEAP32[$4>>2]|0; + $292 = ((($291)) + 4|0); + $293 = HEAP32[$292>>2]|0; + $294 = $293 & 2048; + $295 = ($294|0)!=(0); + if ($295) { + $296 = HEAP32[$5>>2]|0; + $297 = ((($296)) + 20|0); + $298 = HEAP32[$297>>2]|0; + HEAP32[$22>>2] = $298; + $299 = HEAP32[$6>>2]|0; + $300 = HEAP32[$5>>2]|0; + _notValid($299,$300,29232,38); + $301 = HEAP32[$3>>2]|0; + $302 = HEAP32[$4>>2]|0; + $303 = ((($302)) + 20|0); + $304 = HEAP32[$303>>2]|0; + (_sqlite3WalkSelect($301,$304)|0); + $305 = HEAP32[$22>>2]|0; + $306 = HEAP32[$5>>2]|0; + $307 = ((($306)) + 20|0); + $308 = HEAP32[$307>>2]|0; + $309 = ($305|0)!=($308|0); + if ($309) { + $310 = HEAP32[$4>>2]|0; + $311 = ((($310)) + 4|0); + $312 = HEAP32[$311>>2]|0; + $313 = $312 | 32; + HEAP32[$311>>2] = $313; + $314 = HEAP32[$5>>2]|0; + $315 = ((($314)) + 28|0); + $316 = HEAP16[$315>>1]|0; + $317 = $316&65535; + $318 = $317 | 64; + $319 = $318&65535; + HEAP16[$315>>1] = $319; + } } - $46 = HEAP32[$1>>2]|0; - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = (18403 + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = $51 & 1; - $53 = ($52|0)!=(0); - if (!($53)) { - break; + break; + } + case 135: { + $320 = HEAP32[$6>>2]|0; + $321 = HEAP32[$5>>2]|0; + _notValid($320,$321,29243,38); + break; + } + case 148: case 29: case 41: case 38: case 39: case 40: case 36: case 37: { + $322 = HEAP32[$6>>2]|0; + $323 = HEAP32[$322>>2]|0; + $324 = ((($323)) + 69|0); + $325 = HEAP8[$324>>0]|0; + $326 = ($325<<24>>24)!=(0); + if (!($326)) { + $327 = HEAP32[$4>>2]|0; + $328 = ((($327)) + 12|0); + $329 = HEAP32[$328>>2]|0; + $330 = (_sqlite3ExprVectorSize($329)|0); + HEAP32[$23>>2] = $330; + $331 = HEAP32[$4>>2]|0; + $332 = ((($331)) + 16|0); + $333 = HEAP32[$332>>2]|0; + $334 = (_sqlite3ExprVectorSize($333)|0); + HEAP32[$24>>2] = $334; + $335 = HEAP32[$23>>2]|0; + $336 = HEAP32[$24>>2]|0; + $337 = ($335|0)!=($336|0); + if ($337) { + $338 = HEAP32[$6>>2]|0; + _sqlite3ErrorMsg($338,29254,$vararg_buffer15); + } } - $54 = HEAP32[$incr>>2]|0; - $55 = HEAP32[$1>>2]|0; - $56 = (($55) + ($54)|0); - HEAP32[$1>>2] = $56; + break; } - $57 = HEAP32[$1>>2]|0; - $58 = HEAP32[$zEnd>>2]|0; - $59 = ($57>>>0)>=($58>>>0); - if ($59) { - HEAP32[$0>>2] = 0; - $435 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($435|0); + default: { } - $60 = HEAP32[$1>>2]|0; - $61 = HEAP8[$60>>0]|0; - $62 = $61 << 24 >> 24; - $63 = ($62|0)==(45); - if ($63) { - HEAP32[$sign>>2] = -1; - $64 = HEAP32[$incr>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = (($65) + ($64)|0); - HEAP32[$1>>2] = $66; + } + $339 = HEAP32[$6>>2]|0; + $340 = ((($339)) + 36|0); + $341 = HEAP32[$340>>2]|0; + $342 = ($341|0)!=(0); + if ($342) { + $350 = 1; } else { - $67 = HEAP32[$1>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = $68 << 24 >> 24; - $70 = ($69|0)==(43); - if ($70) { - $71 = HEAP32[$incr>>2]|0; - $72 = HEAP32[$1>>2]|0; - $73 = (($72) + ($71)|0); - HEAP32[$1>>2] = $73; + $343 = HEAP32[$6>>2]|0; + $344 = HEAP32[$343>>2]|0; + $345 = ((($344)) + 69|0); + $346 = HEAP8[$345>>0]|0; + $347 = $346&255; + $348 = ($347|0)!=(0); + $350 = $348; + } + $349 = $350 ? 2 : 0; + HEAP32[$2>>2] = $349; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); +} +function _resolveSelectStep($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $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, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 116|0; + $3 = sp + 112|0; + $4 = sp + 108|0; + $5 = sp + 104|0; + $6 = sp + 72|0; + $7 = sp + 68|0; + $8 = sp + 64|0; + $9 = sp + 60|0; + $10 = sp + 56|0; + $11 = sp + 52|0; + $12 = sp + 48|0; + $13 = sp + 44|0; + $14 = sp + 40|0; + $15 = sp + 36|0; + $16 = sp + 32|0; + $17 = sp + 28|0; + $18 = sp + 24|0; + $19 = sp + 20|0; + $20 = sp + 16|0; + $21 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = $24 & 4; + $26 = ($25|0)!=(0); + if ($26) { + HEAP32[$2>>2] = 1; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + } + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 24|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$5>>2] = $29; + $30 = HEAP32[$3>>2]|0; + $31 = HEAP32[$30>>2]|0; + HEAP32[$9>>2] = $31; + $32 = HEAP32[$9>>2]|0; + $33 = HEAP32[$32>>2]|0; + HEAP32[$13>>2] = $33; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + $37 = $36 & 64; + $38 = ($37|0)==(0); + if ($38) { + $39 = HEAP32[$9>>2]|0; + $40 = HEAP32[$4>>2]|0; + $41 = HEAP32[$5>>2]|0; + _sqlite3SelectPrep($39,$40,$41); + $42 = HEAP32[$9>>2]|0; + $43 = ((($42)) + 36|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)!=(0); + if ($45) { + $52 = 1; + } else { + $46 = HEAP32[$13>>2]|0; + $47 = ((($46)) + 69|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = ($49|0)!=(0); + $52 = $50; } + $51 = $52 ? 2 : 1; + HEAP32[$2>>2] = $51; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); } - while(1) { - $74 = HEAP32[$1>>2]|0; - $75 = HEAP32[$zEnd>>2]|0; - $76 = ($74>>>0)<($75>>>0); - if (!($76)) { + $53 = HEAP32[$4>>2]|0; + $54 = ((($53)) + 48|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)!=(0|0); + $57 = $56&1; + HEAP32[$7>>2] = $57; + HEAP32[$8>>2] = 0; + $58 = HEAP32[$4>>2]|0; + HEAP32[$12>>2] = $58; + L12: while(1) { + $59 = HEAP32[$4>>2]|0; + $60 = ($59|0)!=(0|0); + if (!($60)) { + label = 68; break; } - $77 = HEAP32[$1>>2]|0; - $78 = HEAP8[$77>>0]|0; - $79 = $78&255; - $80 = (18403 + ($79)|0); - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $83 = $82 & 4; - $84 = ($83|0)!=(0); - $85 = $s; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)<(214748364); - $92 = ($87>>>0)<(3435973835); - $93 = ($90|0)==(214748364); - $94 = $93 & $92; - $95 = $91 | $94; - $or$cond12 = $84 & $95; - if (!($or$cond12)) { + $61 = HEAP32[$4>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP32[$62>>2]|0; + $64 = $63 | 4; + HEAP32[$62>>2] = $64; + ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;HEAP32[$6+20>>2]=0|0;HEAP32[$6+24>>2]=0|0;HEAP32[$6+28>>2]=0|0; + $65 = HEAP32[$9>>2]|0; + HEAP32[$6>>2] = $65; + $66 = HEAP32[$4>>2]|0; + $67 = ((($66)) + 56|0); + $68 = HEAP32[$67>>2]|0; + $69 = (_sqlite3ResolveExprNames($6,$68)|0); + $70 = ($69|0)!=(0); + if ($70) { + label = 11; break; } - $96 = $s; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (($96) + 4)|0; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = (___muldi3(($98|0),($101|0),10,0)|0); - $103 = tempRet0; - $104 = HEAP32[$1>>2]|0; - $105 = HEAP8[$104>>0]|0; - $106 = $105 << 24 >> 24; - $107 = (($106) - 48)|0; - $108 = ($107|0)<(0); - $109 = $108 << 31 >> 31; - $110 = (_i64Add(($102|0),($103|0),($107|0),($109|0))|0); - $111 = tempRet0; - $112 = $s; - $113 = $112; - HEAP32[$113>>2] = $110; - $114 = (($112) + 4)|0; - $115 = $114; - HEAP32[$115>>2] = $111; - $116 = HEAP32[$incr>>2]|0; - $117 = HEAP32[$1>>2]|0; - $118 = (($117) + ($116)|0); - HEAP32[$1>>2] = $118; - $119 = HEAP32[$nDigits>>2]|0; - $120 = (($119) + 1)|0; - HEAP32[$nDigits>>2] = $120; - } - while(1) { - $121 = HEAP32[$1>>2]|0; - $122 = HEAP32[$zEnd>>2]|0; - $123 = ($121>>>0)<($122>>>0); - if (!($123)) { + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 60|0); + $73 = HEAP32[$72>>2]|0; + $74 = (_sqlite3ResolveExprNames($6,$73)|0); + $75 = ($74|0)!=(0); + if ($75) { + label = 11; break; } - $124 = HEAP32[$1>>2]|0; - $125 = HEAP8[$124>>0]|0; - $126 = $125&255; - $127 = (18403 + ($126)|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = $129 & 4; - $131 = ($130|0)!=(0); - if (!($131)) { - break; + $76 = HEAP32[$4>>2]|0; + $77 = ((($76)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = $78 & 65536; + $80 = ($79|0)!=(0); + if ($80) { + $81 = HEAP32[$4>>2]|0; + $82 = ((($81)) + 28|0); + $83 = HEAP32[$82>>2]|0; + $84 = ((($83)) + 8|0); + $85 = ((($84)) + 20|0); + $86 = HEAP32[$85>>2]|0; + HEAP32[$14>>2] = $86; + $87 = HEAP32[$4>>2]|0; + $88 = ((($87)) + 44|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$14>>2]|0; + $91 = ((($90)) + 44|0); + HEAP32[$91>>2] = $89; + $92 = HEAP32[$4>>2]|0; + $93 = ((($92)) + 44|0); + HEAP32[$93>>2] = 0; } - $132 = HEAP32[$incr>>2]|0; - $133 = HEAP32[$1>>2]|0; - $134 = (($133) + ($132)|0); - HEAP32[$1>>2] = $134; - $135 = HEAP32[$nDigits>>2]|0; - $136 = (($135) + 1)|0; - HEAP32[$nDigits>>2] = $136; - $137 = HEAP32[$d>>2]|0; - $138 = (($137) + 1)|0; - HEAP32[$d>>2] = $138; - } - $139 = HEAP32[$1>>2]|0; - $140 = HEAP32[$zEnd>>2]|0; - $141 = ($139>>>0)>=($140>>>0); - L31: do { - if (!($141)) { - $142 = HEAP32[$1>>2]|0; - $143 = HEAP8[$142>>0]|0; - $144 = $143 << 24 >> 24; - $145 = ($144|0)==(46); - L33: do { - if ($145) { - $146 = HEAP32[$incr>>2]|0; - $147 = HEAP32[$1>>2]|0; - $148 = (($147) + ($146)|0); - HEAP32[$1>>2] = $148; - while(1) { - $149 = HEAP32[$1>>2]|0; - $150 = HEAP32[$zEnd>>2]|0; - $151 = ($149>>>0)<($150>>>0); - if (!($151)) { - break L33; - } - $152 = HEAP32[$1>>2]|0; - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = (18403 + ($154)|0); - $156 = HEAP8[$155>>0]|0; - $157 = $156&255; - $158 = $157 & 4; - $159 = ($158|0)!=(0); - if (!($159)) { - break L33; - } - $160 = $s; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = (($160) + 4)|0; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)<(214748364); - $167 = ($162>>>0)<(3435973835); - $168 = ($165|0)==(214748364); - $169 = $168 & $167; - $170 = $166 | $169; - if ($170) { - $171 = $s; - $172 = $171; - $173 = HEAP32[$172>>2]|0; - $174 = (($171) + 4)|0; - $175 = $174; - $176 = HEAP32[$175>>2]|0; - $177 = (___muldi3(($173|0),($176|0),10,0)|0); - $178 = tempRet0; - $179 = HEAP32[$1>>2]|0; - $180 = HEAP8[$179>>0]|0; - $181 = $180 << 24 >> 24; - $182 = (($181) - 48)|0; - $183 = ($182|0)<(0); - $184 = $183 << 31 >> 31; - $185 = (_i64Add(($177|0),($178|0),($182|0),($184|0))|0); - $186 = tempRet0; - $187 = $s; - $188 = $187; - HEAP32[$188>>2] = $185; - $189 = (($187) + 4)|0; - $190 = $189; - HEAP32[$190>>2] = $186; - $191 = HEAP32[$d>>2]|0; - $192 = (($191) + -1)|0; - HEAP32[$d>>2] = $192; - } - $193 = HEAP32[$incr>>2]|0; - $194 = HEAP32[$1>>2]|0; - $195 = (($194) + ($193)|0); - HEAP32[$1>>2] = $195; - $196 = HEAP32[$nDigits>>2]|0; - $197 = (($196) + 1)|0; - HEAP32[$nDigits>>2] = $197; + HEAP32[$10>>2] = 0; + while(1) { + $94 = HEAP32[$10>>2]|0; + $95 = HEAP32[$4>>2]|0; + $96 = ((($95)) + 28|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$97>>2]|0; + $99 = ($94|0)<($98|0); + if (!($99)) { + break; + } + $100 = HEAP32[$4>>2]|0; + $101 = ((($100)) + 28|0); + $102 = HEAP32[$101>>2]|0; + $103 = ((($102)) + 8|0); + $104 = HEAP32[$10>>2]|0; + $105 = (($103) + (($104*72)|0)|0); + HEAP32[$15>>2] = $105; + $106 = HEAP32[$15>>2]|0; + $107 = ((($106)) + 20|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)!=(0|0); + if ($109) { + HEAP32[$17>>2] = 0; + $110 = HEAP32[$9>>2]|0; + $111 = ((($110)) + 448|0); + $112 = HEAP32[$111>>2]|0; + HEAP32[$18>>2] = $112; + $113 = HEAP32[$5>>2]|0; + HEAP32[$16>>2] = $113; + while(1) { + $114 = HEAP32[$16>>2]|0; + $115 = ($114|0)!=(0|0); + if (!($115)) { + break; } + $116 = HEAP32[$16>>2]|0; + $117 = ((($116)) + 20|0); + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$17>>2]|0; + $120 = (($119) + ($118))|0; + HEAP32[$17>>2] = $120; + $121 = HEAP32[$16>>2]|0; + $122 = ((($121)) + 16|0); + $123 = HEAP32[$122>>2]|0; + HEAP32[$16>>2] = $123; } - } while(0); - $198 = HEAP32[$1>>2]|0; - $199 = HEAP32[$zEnd>>2]|0; - $200 = ($198>>>0)>=($199>>>0); - if (!($200)) { - $201 = HEAP32[$1>>2]|0; - $202 = HEAP8[$201>>0]|0; - $203 = $202 << 24 >> 24; - $204 = ($203|0)==(101); - if ($204) { - label = 34; - } else { - $205 = HEAP32[$1>>2]|0; - $206 = HEAP8[$205>>0]|0; - $207 = $206 << 24 >> 24; - $208 = ($207|0)==(69); - if ($208) { - label = 34; - } + $124 = HEAP32[$15>>2]|0; + $125 = ((($124)) + 8|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($126|0)!=(0|0); + if ($127) { + $128 = HEAP32[$15>>2]|0; + $129 = ((($128)) + 8|0); + $130 = HEAP32[$129>>2]|0; + $131 = HEAP32[$9>>2]|0; + $132 = ((($131)) + 448|0); + HEAP32[$132>>2] = $130; } - L46: do { - if ((label|0) == 34) { - $209 = HEAP32[$incr>>2]|0; - $210 = HEAP32[$1>>2]|0; - $211 = (($210) + ($209)|0); - HEAP32[$1>>2] = $211; - HEAP32[$eValid>>2] = 0; - $212 = HEAP32[$1>>2]|0; - $213 = HEAP32[$zEnd>>2]|0; - $214 = ($212>>>0)>=($213>>>0); - if ($214) { - break L31; - } - $215 = HEAP32[$1>>2]|0; - $216 = HEAP8[$215>>0]|0; - $217 = $216 << 24 >> 24; - $218 = ($217|0)==(45); - if ($218) { - HEAP32[$esign>>2] = -1; - $219 = HEAP32[$incr>>2]|0; - $220 = HEAP32[$1>>2]|0; - $221 = (($220) + ($219)|0); - HEAP32[$1>>2] = $221; - } else { - $222 = HEAP32[$1>>2]|0; - $223 = HEAP8[$222>>0]|0; - $224 = $223 << 24 >> 24; - $225 = ($224|0)==(43); - if ($225) { - $226 = HEAP32[$incr>>2]|0; - $227 = HEAP32[$1>>2]|0; - $228 = (($227) + ($226)|0); - HEAP32[$1>>2] = $228; - } - } - while(1) { - $229 = HEAP32[$1>>2]|0; - $230 = HEAP32[$zEnd>>2]|0; - $231 = ($229>>>0)<($230>>>0); - if (!($231)) { - break L46; - } - $232 = HEAP32[$1>>2]|0; - $233 = HEAP8[$232>>0]|0; - $234 = $233&255; - $235 = (18403 + ($234)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = $237 & 4; - $239 = ($238|0)!=(0); - if (!($239)) { - break L46; - } - $240 = HEAP32[$e>>2]|0; - $241 = ($240|0)<(10000); - if ($241) { - $242 = HEAP32[$e>>2]|0; - $243 = ($242*10)|0; - $244 = HEAP32[$1>>2]|0; - $245 = HEAP8[$244>>0]|0; - $246 = $245 << 24 >> 24; - $247 = (($246) - 48)|0; - $248 = (($243) + ($247))|0; - $249 = $248; - } else { - $249 = 10000; - } - HEAP32[$e>>2] = $249; - $250 = HEAP32[$incr>>2]|0; - $251 = HEAP32[$1>>2]|0; - $252 = (($251) + ($250)|0); - HEAP32[$1>>2] = $252; - HEAP32[$eValid>>2] = 1; - } - } - } while(0); + $133 = HEAP32[$9>>2]|0; + $134 = HEAP32[$15>>2]|0; + $135 = ((($134)) + 20|0); + $136 = HEAP32[$135>>2]|0; + $137 = HEAP32[$5>>2]|0; + _sqlite3ResolveSelectNames($133,$136,$137); + $138 = HEAP32[$18>>2]|0; + $139 = HEAP32[$9>>2]|0; + $140 = ((($139)) + 448|0); + HEAP32[$140>>2] = $138; + $141 = HEAP32[$9>>2]|0; + $142 = ((($141)) + 36|0); + $143 = HEAP32[$142>>2]|0; + $144 = ($143|0)!=(0); + if ($144) { + label = 24; + break L12; + } + $145 = HEAP32[$13>>2]|0; + $146 = ((($145)) + 69|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; + $149 = ($148|0)!=(0); + if ($149) { + label = 24; + break L12; + } + $150 = HEAP32[$5>>2]|0; + HEAP32[$16>>2] = $150; while(1) { - $253 = HEAP32[$1>>2]|0; - $254 = HEAP32[$zEnd>>2]|0; - $255 = ($253>>>0)<($254>>>0); - if (!($255)) { - break L31; - } - $256 = HEAP32[$1>>2]|0; - $257 = HEAP8[$256>>0]|0; - $258 = $257&255; - $259 = (18403 + ($258)|0); - $260 = HEAP8[$259>>0]|0; - $261 = $260&255; - $262 = $261 & 1; - $263 = ($262|0)!=(0); - if (!($263)) { - break L31; + $151 = HEAP32[$16>>2]|0; + $152 = ($151|0)!=(0|0); + if (!($152)) { + break; } - $264 = HEAP32[$incr>>2]|0; - $265 = HEAP32[$1>>2]|0; - $266 = (($265) + ($264)|0); - HEAP32[$1>>2] = $266; + $153 = HEAP32[$16>>2]|0; + $154 = ((($153)) + 20|0); + $155 = HEAP32[$154>>2]|0; + $156 = HEAP32[$17>>2]|0; + $157 = (($156) - ($155))|0; + HEAP32[$17>>2] = $157; + $158 = HEAP32[$16>>2]|0; + $159 = ((($158)) + 16|0); + $160 = HEAP32[$159>>2]|0; + HEAP32[$16>>2] = $160; } - } + $161 = HEAP32[$17>>2]|0; + $162 = ($161|0)!=(0); + $163 = $162&1; + $164 = HEAP32[$15>>2]|0; + $165 = ((($164)) + 36|0); + $166 = ((($165)) + 1|0); + $167 = $163&255; + $168 = HEAP8[$166>>0]|0; + $169 = $167 & 1; + $170 = ($169 << 3)&255; + $171 = $168 & -9; + $172 = $171 | $170; + HEAP8[$166>>0] = $172; + } + $173 = HEAP32[$10>>2]|0; + $174 = (($173) + 1)|0; + HEAP32[$10>>2] = $174; + } + $175 = ((($6)) + 28|0); + HEAP16[$175>>1] = 1; + $176 = HEAP32[$4>>2]|0; + $177 = ((($176)) + 28|0); + $178 = HEAP32[$177>>2]|0; + $179 = ((($6)) + 4|0); + HEAP32[$179>>2] = $178; + $180 = HEAP32[$5>>2]|0; + $181 = ((($6)) + 16|0); + HEAP32[$181>>2] = $180; + $182 = HEAP32[$4>>2]|0; + $183 = HEAP32[$182>>2]|0; + $184 = (_sqlite3ResolveExprListNames($6,$183)|0); + $185 = ($184|0)!=(0); + if ($185) { + label = 31; + break; } - } while(0); - $267 = HEAP32[$e>>2]|0; - $268 = HEAP32[$esign>>2]|0; - $269 = Math_imul($267, $268)|0; - $270 = HEAP32[$d>>2]|0; - $271 = (($269) + ($270))|0; - HEAP32[$e>>2] = $271; - $272 = HEAP32[$e>>2]|0; - $273 = ($272|0)<(0); - if ($273) { - HEAP32[$esign>>2] = -1; - $274 = HEAP32[$e>>2]|0; - $275 = Math_imul($274, -1)|0; - HEAP32[$e>>2] = $275; - } else { - HEAP32[$esign>>2] = 1; - } - $276 = $s; - $277 = $276; - $278 = HEAP32[$277>>2]|0; - $279 = (($276) + 4)|0; - $280 = $279; - $281 = HEAP32[$280>>2]|0; - $282 = ($278|0)==(0); - $283 = ($281|0)==(0); - $284 = $282 & $283; - do { - if ($284) { - $285 = HEAP32[$sign>>2]|0; - $286 = ($285|0)<(0); - $287 = $286 ? -0.0 : 0.0; - HEAPF64[$result>>3] = $287; + $186 = HEAP32[$4>>2]|0; + $187 = ((($186)) + 36|0); + $188 = HEAP32[$187>>2]|0; + HEAP32[$11>>2] = $188; + $189 = HEAP32[$11>>2]|0; + $190 = ($189|0)!=(0|0); + if ($190) { + label = 34; } else { - while(1) { - $288 = HEAP32[$e>>2]|0; - $289 = ($288|0)>(0); - if (!($289)) { - break; - } - $290 = HEAP32[$esign>>2]|0; - $291 = ($290|0)>(0); - $292 = $s; - $293 = $292; - $294 = HEAP32[$293>>2]|0; - $295 = (($292) + 4)|0; - $296 = $295; - $297 = HEAP32[$296>>2]|0; - if ($291) { - $298 = ($297|0)>(214748364); - $299 = ($294>>>0)>=(3435973836); - $300 = ($297|0)==(214748364); - $301 = $300 & $299; - $302 = $298 | $301; - if ($302) { - break; - } - $303 = $s; - $304 = $303; - $305 = HEAP32[$304>>2]|0; - $306 = (($303) + 4)|0; - $307 = $306; - $308 = HEAP32[$307>>2]|0; - $309 = (___muldi3(($305|0),($308|0),10,0)|0); - $310 = tempRet0; - $311 = $s; - $312 = $311; - HEAP32[$312>>2] = $309; - $313 = (($311) + 4)|0; - $314 = $313; - HEAP32[$314>>2] = $310; - } else { - $315 = (___remdi3(($294|0),($297|0),10,0)|0); - $316 = tempRet0; - $317 = ($315|0)!=(0); - $318 = ($316|0)!=(0); - $319 = $317 | $318; - if ($319) { - break; - } - $320 = $s; - $321 = $320; - $322 = HEAP32[$321>>2]|0; - $323 = (($320) + 4)|0; - $324 = $323; - $325 = HEAP32[$324>>2]|0; - $326 = (___divdi3(($322|0),($325|0),10,0)|0); - $327 = tempRet0; - $328 = $s; - $329 = $328; - HEAP32[$329>>2] = $326; - $330 = (($328) + 4)|0; - $331 = $330; - HEAP32[$331>>2] = $327; + $191 = ((($6)) + 28|0); + $192 = HEAP16[$191>>1]|0; + $193 = $192&65535; + $194 = $193 & 16; + $195 = ($194|0)!=(0); + if ($195) { + label = 34; + } else { + $205 = ((($6)) + 28|0); + $206 = HEAP16[$205>>1]|0; + $207 = $206&65535; + $208 = $207 & -2; + $209 = $208&65535; + HEAP16[$205>>1] = $209; + } + } + if ((label|0) == 34) { + label = 0; + $196 = ((($6)) + 28|0); + $197 = HEAP16[$196>>1]|0; + $198 = $197&65535; + $199 = $198 & 4096; + $200 = 8 | $199; + $201 = HEAP32[$4>>2]|0; + $202 = ((($201)) + 8|0); + $203 = HEAP32[$202>>2]|0; + $204 = $203 | $200; + HEAP32[$202>>2] = $204; + } + $210 = HEAP32[$4>>2]|0; + $211 = ((($210)) + 40|0); + $212 = HEAP32[$211>>2]|0; + $213 = ($212|0)==(0|0); + $214 = HEAP32[$11>>2]|0; + $215 = ($214|0)!=(0|0); + $or$cond = $213 | $215; + if (!($or$cond)) { + label = 37; + break; + } + $217 = HEAP32[$4>>2]|0; + $218 = HEAP32[$217>>2]|0; + $219 = ((($6)) + 8|0); + HEAP32[$219>>2] = $218; + $220 = HEAP32[$4>>2]|0; + $221 = ((($220)) + 40|0); + $222 = HEAP32[$221>>2]|0; + $223 = (_sqlite3ResolveExprNames($6,$222)|0); + $224 = ($223|0)!=(0); + if ($224) { + label = 39; + break; + } + $225 = HEAP32[$4>>2]|0; + $226 = ((($225)) + 32|0); + $227 = HEAP32[$226>>2]|0; + $228 = (_sqlite3ResolveExprNames($6,$227)|0); + $229 = ($228|0)!=(0); + if ($229) { + label = 41; + break; + } + HEAP32[$10>>2] = 0; + while(1) { + $230 = HEAP32[$10>>2]|0; + $231 = HEAP32[$4>>2]|0; + $232 = ((($231)) + 28|0); + $233 = HEAP32[$232>>2]|0; + $234 = HEAP32[$233>>2]|0; + $235 = ($230|0)<($234|0); + if (!($235)) { + break; + } + $236 = HEAP32[$4>>2]|0; + $237 = ((($236)) + 28|0); + $238 = HEAP32[$237>>2]|0; + $239 = ((($238)) + 8|0); + $240 = HEAP32[$10>>2]|0; + $241 = (($239) + (($240*72)|0)|0); + HEAP32[$19>>2] = $241; + $242 = HEAP32[$19>>2]|0; + $243 = ((($242)) + 36|0); + $244 = ((($243)) + 1|0); + $245 = HEAP8[$244>>0]|0; + $246 = ($245&255) >>> 2; + $247 = $246 & 1; + $248 = $247&255; + $249 = ($248|0)!=(0); + if ($249) { + $250 = HEAP32[$19>>2]|0; + $251 = ((($250)) + 64|0); + $252 = HEAP32[$251>>2]|0; + $253 = (_sqlite3ResolveExprListNames($6,$252)|0); + $254 = ($253|0)!=(0); + if ($254) { + label = 46; + break L12; } - $332 = HEAP32[$e>>2]|0; - $333 = (($332) + -1)|0; - HEAP32[$e>>2] = $333; } - $334 = HEAP32[$sign>>2]|0; - $335 = ($334|0)<(0); - $336 = $s; - $337 = $336; - $338 = HEAP32[$337>>2]|0; - $339 = (($336) + 4)|0; - $340 = $339; - $341 = HEAP32[$340>>2]|0; - $342 = (_i64Subtract(0,0,($338|0),($341|0))|0); - $343 = tempRet0; - $344 = $335 ? $342 : $338; - $345 = $335 ? $343 : $341; - $346 = $s; - $347 = $346; - HEAP32[$347>>2] = $344; - $348 = (($346) + 4)|0; - $349 = $348; - HEAP32[$349>>2] = $345; - $350 = HEAP32[$e>>2]|0; - $351 = ($350|0)==(0); - if ($351) { - $352 = $s; - $353 = $352; - $354 = HEAP32[$353>>2]|0; - $355 = (($352) + 4)|0; - $356 = $355; - $357 = HEAP32[$356>>2]|0; - $358 = (+($354>>>0)) + (4294967296.0*(+($357|0))); - HEAPF64[$result>>3] = $358; + $255 = HEAP32[$10>>2]|0; + $256 = (($255) + 1)|0; + HEAP32[$10>>2] = $256; + } + $257 = ((($6)) + 16|0); + HEAP32[$257>>2] = 0; + $258 = ((($6)) + 28|0); + $259 = HEAP16[$258>>1]|0; + $260 = $259&65535; + $261 = $260 | 1; + $262 = $261&65535; + HEAP16[$258>>1] = $262; + $263 = HEAP32[$4>>2]|0; + $264 = ((($263)) + 8|0); + $265 = HEAP32[$264>>2]|0; + $266 = $265 & 65536; + $267 = ($266|0)!=(0); + if ($267) { + $268 = HEAP32[$4>>2]|0; + $269 = ((($268)) + 28|0); + $270 = HEAP32[$269>>2]|0; + $271 = ((($270)) + 8|0); + $272 = ((($271)) + 20|0); + $273 = HEAP32[$272>>2]|0; + HEAP32[$20>>2] = $273; + $274 = HEAP32[$20>>2]|0; + $275 = ((($274)) + 44|0); + $276 = HEAP32[$275>>2]|0; + $277 = HEAP32[$4>>2]|0; + $278 = ((($277)) + 44|0); + HEAP32[$278>>2] = $276; + $279 = HEAP32[$20>>2]|0; + $280 = ((($279)) + 44|0); + HEAP32[$280>>2] = 0; + } + $281 = HEAP32[$7>>2]|0; + $282 = HEAP32[$8>>2]|0; + $283 = ($281|0)<=($282|0); + if ($283) { + $284 = HEAP32[$4>>2]|0; + $285 = HEAP32[$4>>2]|0; + $286 = ((($285)) + 44|0); + $287 = HEAP32[$286>>2]|0; + $288 = (_resolveOrderGroupBy($6,$284,$287,28515)|0); + $289 = ($288|0)!=(0); + if ($289) { + label = 52; break; } - HEAPF64[$scale>>3] = 1.0; - $359 = HEAP32[$e>>2]|0; - $360 = ($359|0)>(307); - if (!($360)) { - while(1) { - $397 = HEAP32[$e>>2]|0; - $398 = (($397|0) % 22)&-1; - $399 = ($398|0)!=(0); - if (!($399)) { - break; - } - $400 = +HEAPF64[$scale>>3]; - $401 = $400 * 10.0; - HEAPF64[$scale>>3] = $401; - $402 = HEAP32[$e>>2]|0; - $403 = (($402) - 1)|0; - HEAP32[$e>>2] = $403; + } + $290 = HEAP32[$13>>2]|0; + $291 = ((($290)) + 69|0); + $292 = HEAP8[$291>>0]|0; + $293 = ($292<<24>>24)!=(0); + if ($293) { + label = 54; + break; + } + $294 = HEAP32[$11>>2]|0; + $295 = ($294|0)!=(0|0); + L64: do { + if ($295) { + $296 = HEAP32[$4>>2]|0; + $297 = HEAP32[$11>>2]|0; + $298 = (_resolveOrderGroupBy($6,$296,$297,28521)|0); + $299 = ($298|0)!=(0); + if ($299) { + label = 58; + break L12; + } + $300 = HEAP32[$13>>2]|0; + $301 = ((($300)) + 69|0); + $302 = HEAP8[$301>>0]|0; + $303 = $302&255; + $304 = ($303|0)!=(0); + if ($304) { + label = 58; + break L12; } + HEAP32[$10>>2] = 0; + $305 = HEAP32[$11>>2]|0; + $306 = ((($305)) + 4|0); + $307 = HEAP32[$306>>2]|0; + HEAP32[$21>>2] = $307; while(1) { - $404 = HEAP32[$e>>2]|0; - $405 = ($404|0)>(0); - if (!($405)) { - break; + $308 = HEAP32[$10>>2]|0; + $309 = HEAP32[$11>>2]|0; + $310 = HEAP32[$309>>2]|0; + $311 = ($308|0)<($310|0); + if (!($311)) { + break L64; } - $406 = +HEAPF64[$scale>>3]; - $407 = $406 * 1.0E+22; - HEAPF64[$scale>>3] = $407; - $408 = HEAP32[$e>>2]|0; - $409 = (($408) - 22)|0; - HEAP32[$e>>2] = $409; - } - $410 = HEAP32[$esign>>2]|0; - $411 = ($410|0)<(0); - $412 = $s; - $413 = $412; - $414 = HEAP32[$413>>2]|0; - $415 = (($412) + 4)|0; - $416 = $415; - $417 = HEAP32[$416>>2]|0; - $418 = (+($414>>>0)) + (4294967296.0*(+($417|0))); - $419 = +HEAPF64[$scale>>3]; - if ($411) { - $420 = $418 / $419; - HEAPF64[$result>>3] = $420; - break; - } else { - $421 = $418 * $419; - HEAPF64[$result>>3] = $421; - break; - } - } - $361 = HEAP32[$e>>2]|0; - $362 = ($361|0)<(342); - if (!($362)) { - $386 = HEAP32[$esign>>2]|0; - $387 = ($386|0)<(0); - $388 = $s; - $389 = $388; - $390 = HEAP32[$389>>2]|0; - $391 = (($388) + 4)|0; - $392 = $391; - $393 = HEAP32[$392>>2]|0; - $394 = (+($390>>>0)) + (4294967296.0*(+($393|0))); - if ($387) { - $395 = 0.0 * $394; - HEAPF64[$result>>3] = $395; - break; - } else { - $396 = inf * $394; - HEAPF64[$result>>3] = $396; - break; + $312 = HEAP32[$21>>2]|0; + $313 = HEAP32[$312>>2]|0; + $314 = ((($313)) + 4|0); + $315 = HEAP32[$314>>2]|0; + $316 = $315 & 2; + $317 = ($316|0)!=(0); + if ($317) { + label = 62; + break L12; + } + $319 = HEAP32[$10>>2]|0; + $320 = (($319) + 1)|0; + HEAP32[$10>>2] = $320; + $321 = HEAP32[$21>>2]|0; + $322 = ((($321)) + 20|0); + HEAP32[$21>>2] = $322; } } - while(1) { - $363 = HEAP32[$e>>2]|0; - $364 = (($363|0) % 308)&-1; - $365 = ($364|0)!=(0); - if (!($365)) { - break; - } - $366 = +HEAPF64[$scale>>3]; - $367 = $366 * 10.0; - HEAPF64[$scale>>3] = $367; - $368 = HEAP32[$e>>2]|0; - $369 = (($368) - 1)|0; - HEAP32[$e>>2] = $369; - } - $370 = HEAP32[$esign>>2]|0; - $371 = ($370|0)<(0); - $372 = $s; - $373 = $372; - $374 = HEAP32[$373>>2]|0; - $375 = (($372) + 4)|0; - $376 = $375; - $377 = HEAP32[$376>>2]|0; - $378 = (+($374>>>0)) + (4294967296.0*(+($377|0))); - $379 = +HEAPF64[$scale>>3]; - if ($371) { - $380 = $378 / $379; - HEAPF64[$result>>3] = $380; - $381 = +HEAPF64[$result>>3]; - $382 = $381 / 1.0E+308; - HEAPF64[$result>>3] = $382; - break; - } else { - $383 = $378 * $379; - HEAPF64[$result>>3] = $383; - $384 = +HEAPF64[$result>>3]; - $385 = $384 * 1.0E+308; - HEAPF64[$result>>3] = $385; + } while(0); + $323 = HEAP32[$4>>2]|0; + $324 = ((($323)) + 52|0); + $325 = HEAP32[$324>>2]|0; + $326 = ($325|0)!=(0|0); + if ($326) { + $327 = HEAP32[$4>>2]|0; + $328 = HEAP32[$327>>2]|0; + $329 = HEAP32[$328>>2]|0; + $330 = HEAP32[$4>>2]|0; + $331 = ((($330)) + 52|0); + $332 = HEAP32[$331>>2]|0; + $333 = HEAP32[$332>>2]|0; + $334 = HEAP32[$333>>2]|0; + $335 = ($329|0)!=($334|0); + if ($335) { + label = 66; break; } } - } while(0); - $422 = +HEAPF64[$result>>3]; - $423 = HEAP32[$2>>2]|0; - HEAPF64[$423>>3] = $422; - $424 = HEAP32[$1>>2]|0; - $425 = HEAP32[$zEnd>>2]|0; - $426 = ($424|0)==($425|0); - $427 = HEAP32[$nDigits>>2]|0; - $428 = ($427|0)>(0); - $or$cond = $426 & $428; - $429 = HEAP32[$eValid>>2]|0; - $430 = ($429|0)!=(0); - $or$cond10 = $or$cond & $430; - if ($or$cond10) { - $431 = HEAP32[$nonNum>>2]|0; - $432 = ($431|0)==(0); - $434 = $432; - } else { - $434 = 0; - } - $433 = $434&1; - HEAP32[$0>>2] = $433; - $435 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($435|0); -} -function _sqlite3MatchSpanName($zSpan,$zCol,$zTab,$zDb) { - $zSpan = $zSpan|0; - $zCol = $zCol|0; - $zTab = $zTab|0; - $zDb = $zDb|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $n = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $n = sp; - HEAP32[$1>>2] = $zSpan; - HEAP32[$2>>2] = $zCol; - HEAP32[$3>>2] = $zTab; - HEAP32[$4>>2] = $zDb; - HEAP32[$n>>2] = 0; - while(1) { - $5 = HEAP32[$n>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + ($5)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)!=(0); - if (!($10)) { + $340 = HEAP32[$4>>2]|0; + $341 = ((($340)) + 48|0); + $342 = HEAP32[$341>>2]|0; + HEAP32[$4>>2] = $342; + $343 = HEAP32[$8>>2]|0; + $344 = (($343) + 1)|0; + HEAP32[$8>>2] = $344; + } + switch (label|0) { + case 11: { + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); break; } - $11 = HEAP32[$n>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + ($11)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = ($15|0)!=(46); - if (!($16)) { + case 24: { + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); break; } - $17 = HEAP32[$n>>2]|0; - $18 = (($17) + 1)|0; - HEAP32[$n>>2] = $18; - } - $19 = HEAP32[$4>>2]|0; - $20 = ($19|0)!=(0|0); - do { - if ($20) { - $21 = HEAP32[$1>>2]|0; - $22 = HEAP32[$4>>2]|0; - $23 = HEAP32[$n>>2]|0; - $24 = (_sqlite3_strnicmp($21,$22,$23)|0); - $25 = ($24|0)!=(0); - if (!($25)) { - $26 = HEAP32[$n>>2]|0; - $27 = HEAP32[$4>>2]|0; - $28 = (($27) + ($26)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29 << 24 >> 24; - $31 = ($30|0)!=(0); - if (!($31)) { - break; - } - } - HEAP32[$0>>2] = 0; - $73 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($73|0); + case 31: { + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + break; } - } while(0); - $32 = HEAP32[$n>>2]|0; - $33 = (($32) + 1)|0; - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + ($33)|0); - HEAP32[$1>>2] = $35; - HEAP32[$n>>2] = 0; - while(1) { - $36 = HEAP32[$n>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = (($37) + ($36)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39 << 24 >> 24; - $41 = ($40|0)!=(0); - if (!($41)) { + case 37: { + $216 = HEAP32[$9>>2]|0; + _sqlite3ErrorMsg($216,28471,$vararg_buffer); + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); break; } - $42 = HEAP32[$n>>2]|0; - $43 = HEAP32[$1>>2]|0; - $44 = (($43) + ($42)|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45 << 24 >> 24; - $47 = ($46|0)!=(46); - if (!($47)) { + case 39: { + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); break; } - $48 = HEAP32[$n>>2]|0; - $49 = (($48) + 1)|0; - HEAP32[$n>>2] = $49; - } - $50 = HEAP32[$3>>2]|0; - $51 = ($50|0)!=(0|0); - do { - if ($51) { - $52 = HEAP32[$1>>2]|0; - $53 = HEAP32[$3>>2]|0; - $54 = HEAP32[$n>>2]|0; - $55 = (_sqlite3_strnicmp($52,$53,$54)|0); - $56 = ($55|0)!=(0); - if (!($56)) { - $57 = HEAP32[$n>>2]|0; - $58 = HEAP32[$3>>2]|0; - $59 = (($58) + ($57)|0); - $60 = HEAP8[$59>>0]|0; - $61 = $60 << 24 >> 24; - $62 = ($61|0)!=(0); - if (!($62)) { - break; - } - } - HEAP32[$0>>2] = 0; - $73 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($73|0); + case 41: { + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + break; } - } while(0); - $63 = HEAP32[$n>>2]|0; - $64 = (($63) + 1)|0; - $65 = HEAP32[$1>>2]|0; - $66 = (($65) + ($64)|0); - HEAP32[$1>>2] = $66; - $67 = HEAP32[$2>>2]|0; - $68 = ($67|0)!=(0|0); - if ($68) { - $69 = HEAP32[$1>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = (_sqlite3StrICmp($69,$70)|0); - $72 = ($71|0)!=(0); - if ($72) { - HEAP32[$0>>2] = 0; - $73 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($73|0); + case 46: { + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + break; } - } - HEAP32[$0>>2] = 1; - $73 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($73|0); -} -function _nameInUsingClause($pUsing,$zCol) { - $pUsing = $pUsing|0; - $zCol = $zCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $k = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $k = sp; - HEAP32[$1>>2] = $pUsing; - HEAP32[$2>>2] = $zCol; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - L1: do { - if ($4) { - HEAP32[$k>>2] = 0; - while(1) { - $5 = HEAP32[$k>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($5|0)<($8|0); - if (!($9)) { - break L1; - } - $10 = HEAP32[$k>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($10<<3)|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = (_sqlite3StrICmp($14,$15)|0); - $17 = ($16|0)==(0); - if ($17) { - break; + case 52: { + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + break; + } + case 54: { + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + break; + } + case 58: { + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + break; + } + case 62: { + $318 = HEAP32[$9>>2]|0; + _sqlite3ErrorMsg($318,28527,$vararg_buffer2); + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + break; + } + case 66: { + $336 = HEAP32[$9>>2]|0; + $337 = HEAP32[$4>>2]|0; + $338 = ((($337)) + 52|0); + $339 = HEAP32[$338>>2]|0; + _sqlite3SelectWrongNumTermsError($336,$339); + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + break; + } + case 68: { + $345 = HEAP32[$7>>2]|0; + $346 = ($345|0)!=(0); + if ($346) { + $347 = HEAP32[$9>>2]|0; + $348 = HEAP32[$12>>2]|0; + $349 = (_resolveCompoundOrderBy($347,$348)|0); + $350 = ($349|0)!=(0); + if ($350) { + HEAP32[$2>>2] = 2; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); } - $18 = HEAP32[$k>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$k>>2] = $19; } - HEAP32[$0>>2] = 1; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + HEAP32[$2>>2] = 1; + $351 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($351|0); + break; } - } while(0); - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + } + return (0)|0; } -function _sqlite3AuthRead($pParse,$pExpr,$pSchema,$pTabList) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $pSchema = $pSchema|0; - $pTabList = $pTabList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0; - var $db = 0, $iCol = 0, $iDb = 0, $iSrc = 0, $pTab = 0, $zCol = 0, label = 0, sp = 0; +function _sqlite3ResolveExprNames($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $db = sp + 20|0; - $pTab = sp + 16|0; - $zCol = sp + 12|0; - $iSrc = sp + 8|0; - $iDb = sp + 4|0; - $iCol = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $pSchema; - HEAP32[$3>>2] = $pTabList; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - HEAP32[$pTab>>2] = 0; - $6 = HEAP32[$db>>2]|0; - $7 = ((($6)) + 296|0); - $8 = HEAP32[$7>>2]|0; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 44|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$4>>2]|0; $9 = ($8|0)==(0|0); if ($9) { - STACKTOP = sp;return; + HEAP32[$2>>2] = 0; + $96 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($96|0); } - $10 = HEAP32[$0>>2]|0; + $10 = HEAP32[$3>>2]|0; $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = (_sqlite3SchemaToIndex($11,$12)|0); - HEAP32[$iDb>>2] = $13; - $14 = HEAP32[$iDb>>2]|0; - $15 = ($14|0)<(0); - if ($15) { - STACKTOP = sp;return; + HEAP32[$7>>2] = $11; + $12 = HEAP32[$7>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 24|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 416|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($15) + ($19))|0; + $21 = (_sqlite3ExprCheckHeight($12,$20)|0); + $22 = ($21|0)!=(0); + if ($22) { + HEAP32[$2>>2] = 1; + $96 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($96|0); } - $16 = HEAP32[$1>>2]|0; - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = ($18|0)==(88); - L7: do { - if ($19) { - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 128|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$pTab>>2] = $22; - } else { - HEAP32[$iSrc>>2] = 0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 24|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$7>>2]|0; + $27 = ((($26)) + 416|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + ($25))|0; + HEAP32[$27>>2] = $29; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 28|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32&65535; + $34 = $33 & 4112; + $35 = $34&65535; + HEAP16[$5>>1] = $35; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 28|0); + $38 = HEAP16[$37>>1]|0; + $39 = $38&65535; + $40 = $39 & -4113; + $41 = $40&65535; + HEAP16[$37>>1] = $41; + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$42>>2]|0; + HEAP32[$6>>2] = $43; + $44 = ((($6)) + 4|0); + HEAP32[$44>>2] = 200; + $45 = ((($6)) + 8|0); + HEAP32[$45>>2] = 201; + $46 = ((($6)) + 12|0); + HEAP32[$46>>2] = 0; + $47 = ((($6)) + 16|0); + HEAP32[$47>>2] = 0; + $48 = ((($6)) + 20|0); + HEAP8[$48>>0] = 0; + $49 = HEAP32[$3>>2]|0; + $50 = ((($6)) + 24|0); + HEAP32[$50>>2] = $49; + $51 = HEAP32[$4>>2]|0; + (_sqlite3WalkExpr($6,$51)|0); + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 24|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$3>>2]|0; + $56 = HEAP32[$55>>2]|0; + $57 = ((($56)) + 416|0); + $58 = HEAP32[$57>>2]|0; + $59 = (($58) - ($54))|0; + HEAP32[$57>>2] = $59; + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 24|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)>(0); + if ($63) { + label = 7; + } else { + $64 = HEAP32[$6>>2]|0; + $65 = ((($64)) + 36|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)>(0); + if ($67) { + label = 7; + } + } + if ((label|0) == 7) { + $68 = HEAP32[$4>>2]|0; + $69 = ((($68)) + 4|0); + $70 = HEAP32[$69>>2]|0; + $71 = $70 | 8; + HEAP32[$69>>2] = $71; + } + $72 = HEAP32[$3>>2]|0; + $73 = ((($72)) + 28|0); + $74 = HEAP16[$73>>1]|0; + $75 = $74&65535; + $76 = $75 & 16; + $77 = ($76|0)!=(0); + if ($77) { + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = $80 | 2; + HEAP32[$79>>2] = $81; + } + $82 = HEAP16[$5>>1]|0; + $83 = $82&65535; + $84 = HEAP32[$3>>2]|0; + $85 = ((($84)) + 28|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = $87 | $83; + $89 = $88&65535; + HEAP16[$85>>1] = $89; + $90 = HEAP32[$4>>2]|0; + $91 = ((($90)) + 4|0); + $92 = HEAP32[$91>>2]|0; + $93 = $92 & 8; + $94 = ($93|0)!=(0); + $95 = $94&1; + HEAP32[$2>>2] = $95; + $96 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($96|0); +} +function _sqlite3ResolveExprListNames($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)!=(0|0); + L1: do { + if ($7) { + HEAP32[$5>>2] = 0; while(1) { - $23 = HEAP32[$iSrc>>2]|0; - $24 = HEAP32[$3>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = ($23|0)<($25|0); - if (!($26)) { - break L7; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ($8|0)<($10|0); + if (!($11)) { + break L1; } - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 28|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$iSrc>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = ((($31)) + 8|0); - $33 = (($32) + (($30*72)|0)|0); - $34 = ((($33)) + 44|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($29|0)==($35|0); - $37 = HEAP32[$iSrc>>2]|0; - if ($36) { + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = (($15) + (($16*20)|0)|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3ResolveExprNames($12,$18)|0); + $20 = ($19|0)!=(0); + if ($20) { break; } - $43 = (($37) + 1)|0; - HEAP32[$iSrc>>2] = $43; + $21 = HEAP32[$5>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$5>>2] = $22; } - $38 = HEAP32[$3>>2]|0; - $39 = ((($38)) + 8|0); - $40 = (($39) + (($37*72)|0)|0); - $41 = ((($40)) + 16|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$pTab>>2] = $42; + HEAP32[$2>>2] = 2; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } } while(0); - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 32|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46 << 16 >> 16; - HEAP32[$iCol>>2] = $47; - $48 = HEAP32[$pTab>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - STACKTOP = sp;return; + HEAP32[$2>>2] = 0; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); +} +function _resolveOrderGroupBy($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $$sink5 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $17 = HEAP32[$7>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + HEAP32[$4>>2] = 0; + $102 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($102|0); } - $50 = HEAP32[$iCol>>2]|0; - $51 = ($50|0)>=(0); - do { - if ($51) { - $52 = HEAP32[$iCol>>2]|0; - $53 = HEAP32[$pTab>>2]|0; - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + ($52<<4)|0); - $57 = HEAP32[$56>>2]|0; - HEAP32[$zCol>>2] = $57; - } else { - $58 = HEAP32[$pTab>>2]|0; - $59 = ((($58)) + 32|0); - $60 = HEAP16[$59>>1]|0; - $61 = $60 << 16 >> 16; - $62 = ($61|0)>=(0); - if ($62) { - $63 = HEAP32[$pTab>>2]|0; - $64 = ((($63)) + 32|0); - $65 = HEAP16[$64>>1]|0; - $66 = $65 << 16 >> 16; - $67 = HEAP32[$pTab>>2]|0; - $68 = ((($67)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = (($69) + ($66<<4)|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[$zCol>>2] = $71; - break; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$14>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$13>>2] = $23; + HEAP32[$9>>2] = 0; + $24 = HEAP32[$7>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$12>>2] = $26; + L5: while(1) { + $27 = HEAP32[$9>>2]|0; + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = ($27|0)<($29|0); + if (!($30)) { + label = 21; + break; + } + $31 = HEAP32[$12>>2]|0; + $32 = HEAP32[$31>>2]|0; + HEAP32[$15>>2] = $32; + $33 = HEAP32[$15>>2]|0; + $34 = (_sqlite3ExprSkipCollate($33)|0); + HEAP32[$16>>2] = $34; + $35 = HEAP32[$8>>2]|0; + $36 = HEAP8[$35>>0]|0; + $37 = $36 << 24 >> 24; + $38 = ($37|0)!=(71); + if ($38) { + $39 = HEAP32[$13>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$16>>2]|0; + $43 = (_resolveAsName($39,$41,$42)|0); + HEAP32[$11>>2] = $43; + $44 = HEAP32[$11>>2]|0; + $45 = ($44|0)>(0); + if ($45) { + $46 = HEAP32[$11>>2]|0; + $47 = $46&65535; + $48 = HEAP32[$12>>2]|0; + $$sink = $47;$$sink5 = $48; + label = 19; } else { - HEAP32[$zCol>>2] = 19895; - break; + label = 8; } + } else { + label = 8; } - } while(0); - $72 = HEAP32[$0>>2]|0; - $73 = HEAP32[$pTab>>2]|0; - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$zCol>>2]|0; - $76 = HEAP32[$iDb>>2]|0; - $77 = (_sqlite3AuthReadCol($72,$74,$75,$76)|0); - $78 = (2)==($77|0); - if (!($78)) { - STACKTOP = sp;return; + L11: do { + if ((label|0) == 8) { + label = 0; + $49 = HEAP32[$16>>2]|0; + $50 = (_sqlite3ExprIsInteger($49,$11)|0); + $51 = ($50|0)!=(0); + if ($51) { + $52 = HEAP32[$11>>2]|0; + $53 = ($52|0)<(1); + $54 = HEAP32[$11>>2]|0; + $55 = ($54|0)>(65535); + $or$cond = $53 | $55; + if ($or$cond) { + label = 10; + break L5; + } + $61 = HEAP32[$11>>2]|0; + $62 = $61&65535; + $63 = HEAP32[$12>>2]|0; + $$sink = $62;$$sink5 = $63; + label = 19; + break; + } + $64 = HEAP32[$12>>2]|0; + $65 = ((($64)) + 16|0); + HEAP16[$65>>1] = 0; + $66 = HEAP32[$5>>2]|0; + $67 = HEAP32[$15>>2]|0; + $68 = (_sqlite3ResolveExprNames($66,$67)|0); + $69 = ($68|0)!=(0); + if ($69) { + label = 13; + break L5; + } + HEAP32[$10>>2] = 0; + while(1) { + $70 = HEAP32[$10>>2]|0; + $71 = HEAP32[$6>>2]|0; + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$72>>2]|0; + $74 = ($70|0)<($73|0); + if (!($74)) { + break L11; + } + $75 = HEAP32[$15>>2]|0; + $76 = HEAP32[$6>>2]|0; + $77 = HEAP32[$76>>2]|0; + $78 = ((($77)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$10>>2]|0; + $81 = (($79) + (($80*20)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (_sqlite3ExprCompare($75,$82,-1)|0); + $84 = ($83|0)==(0); + if ($84) { + $85 = HEAP32[$10>>2]|0; + $86 = (($85) + 1)|0; + $87 = $86&65535; + $88 = HEAP32[$12>>2]|0; + $89 = ((($88)) + 16|0); + HEAP16[$89>>1] = $87; + } + $90 = HEAP32[$10>>2]|0; + $91 = (($90) + 1)|0; + HEAP32[$10>>2] = $91; + } + } + } while(0); + if ((label|0) == 19) { + label = 0; + $92 = ((($$sink5)) + 16|0); + HEAP16[$92>>1] = $$sink; + } + $93 = HEAP32[$9>>2]|0; + $94 = (($93) + 1)|0; + HEAP32[$9>>2] = $94; + $95 = HEAP32[$12>>2]|0; + $96 = ((($95)) + 20|0); + HEAP32[$12>>2] = $96; } - $79 = HEAP32[$1>>2]|0; - HEAP8[$79>>0] = 101; - STACKTOP = sp;return; + if ((label|0) == 10) { + $56 = HEAP32[$13>>2]|0; + $57 = HEAP32[$8>>2]|0; + $58 = HEAP32[$9>>2]|0; + $59 = (($58) + 1)|0; + $60 = HEAP32[$14>>2]|0; + _resolveOutOfRangeError($56,$57,$59,$60); + HEAP32[$4>>2] = 1; + $102 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($102|0); + } + else if ((label|0) == 13) { + HEAP32[$4>>2] = 1; + $102 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($102|0); + } + else if ((label|0) == 21) { + $97 = HEAP32[$13>>2]|0; + $98 = HEAP32[$6>>2]|0; + $99 = HEAP32[$7>>2]|0; + $100 = HEAP32[$8>>2]|0; + $101 = (_sqlite3ResolveOrderGroupBy($97,$98,$99,$100)|0); + HEAP32[$4>>2] = $101; + $102 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($102|0); + } + return (0)|0; } -function _sqlite3AuthReadCol($pParse,$zTab,$zCol,$iDb) { - $pParse = $pParse|0; - $zTab = $zTab|0; - $zCol = $zCol|0; - $iDb = $iDb|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer6 = 0; - var $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, $zDb = 0, label = 0, sp = 0; +function _sqlite3SelectWrongNumTermsError($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer6 = sp + 16|0; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $db = sp + 32|0; - $zDb = sp + 28|0; - $rc = sp + 24|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $zTab; - HEAP32[$3>>2] = $zCol; - HEAP32[$4>>2] = $iDb; - $5 = HEAP32[$1>>2]|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$4>>2]|0; - $8 = HEAP32[$db>>2]|0; - $9 = ((($8)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($7<<4)|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$zDb>>2] = $12; - $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 148|0); - $15 = ((($14)) + 5|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if ($17) { - HEAP32[$0>>2] = 0; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); - } - $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 296|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$db>>2]|0; - $22 = ((($21)) + 300|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$3>>2]|0; - $26 = HEAP32[$zDb>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 448|0); - $29 = HEAP32[$28>>2]|0; - $30 = (FUNCTION_TABLE_iiiiiii[$20 & 255]($23,20,$24,$25,$26,$29)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$rc>>2]|0; - $32 = ($31|0)==(1); - if ($32) { - $33 = HEAP32[$db>>2]|0; - $34 = ((($33)) + 20|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)>(2); - $37 = HEAP32[$4>>2]|0; - $38 = ($37|0)!=(0); - $or$cond = $36 | $38; - $39 = HEAP32[$1>>2]|0; - if ($or$cond) { - $40 = HEAP32[$zDb>>2]|0; - $41 = HEAP32[$2>>2]|0; - $42 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer>>2] = $40; - $vararg_ptr4 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $41; - $vararg_ptr5 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $42; - _sqlite3ErrorMsg($39,30046,$vararg_buffer); - } else { - $43 = HEAP32[$2>>2]|0; - $44 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer6>>2] = $43; - $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $44; - _sqlite3ErrorMsg($39,30079,$vararg_buffer6); - } - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 12|0); - HEAP32[$46>>2] = 23; + $7 = $6 & 512; + $8 = ($7|0)!=(0); + $9 = HEAP32[$2>>2]|0; + if ($8) { + _sqlite3ErrorMsg($9,28737,$vararg_buffer); + STACKTOP = sp;return; } else { - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)!=(2); - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)!=(0); - $or$cond3 = $48 & $50; - if ($or$cond3) { - $51 = HEAP32[$1>>2]|0; - _sqliteAuthBadReturnCode($51); - } + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = (_selectOpName($13)|0); + HEAP32[$vararg_buffer1>>2] = $14; + _sqlite3ErrorMsg($9,28783,$vararg_buffer1); + STACKTOP = sp;return; } - $52 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $52; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); } -function _convertCompoundSelectToSubquery($pWalker,$p) { - $pWalker = $pWalker|0; - $p = $p|0; - var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 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, $a = 0, $db = 0, $dummy = 0, $i = 0, $pNew = 0, $pNewSrc = 0, $pParse = 0, $pX = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; +function _resolveCompoundOrderBy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $i = sp + 32|0; - $pNew = sp + 28|0; - $pX = sp + 24|0; - $db = sp + 20|0; - $a = sp + 16|0; - $pNewSrc = sp + 12|0; - $pParse = sp + 8|0; - $dummy = sp; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 48|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - HEAP32[$0>>2] = 0; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + STACKTOP = STACKTOP + 80|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 64|0; + $3 = sp + 60|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$9>>2] = 1; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 44|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$6>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = ($19|0)==(0|0); + if ($20) { + HEAP32[$2>>2] = 0; + $185 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($185|0); } - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 44|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - HEAP32[$0>>2] = 0; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$8>>2] = $22; + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = ((($25)) + 96|0); + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($24|0)>($28|0); + if ($29) { + $30 = HEAP32[$3>>2]|0; + _sqlite3ErrorMsg($30,28586,$vararg_buffer); + HEAP32[$2>>2] = 1; + $185 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($185|0); } - $11 = HEAP32[$2>>2]|0; - HEAP32[$pX>>2] = $11; + HEAP32[$5>>2] = 0; while(1) { - $12 = HEAP32[$pX>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = ($31|0)<($33|0); + if (!($34)) { break; } - $14 = HEAP32[$pX>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = ($17|0)==(116); - if (!($18)) { - $19 = HEAP32[$pX>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)==(119); - if (!($23)) { - break; - } - } - $24 = HEAP32[$pX>>2]|0; - $25 = ((($24)) + 48|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$pX>>2] = $26; - } - $27 = HEAP32[$pX>>2]|0; - $28 = ($27|0)==(0|0); - if ($28) { - HEAP32[$0>>2] = 0; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = (($37) + (($38*20)|0)|0); + $40 = ((($39)) + 13|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41 & -2; + HEAP8[$40>>0] = $42; + $43 = HEAP32[$5>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$5>>2] = $44; } - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 44|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$a>>2] = $33; - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 44|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = (($37) - 1)|0; - HEAP32[$i>>2] = $38; + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 52|0); + HEAP32[$46>>2] = 0; while(1) { - $39 = HEAP32[$i>>2]|0; - $40 = ($39|0)>=(0); - if (!($40)) { + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 48|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)!=(0|0); + if (!($50)) { break; } - $41 = HEAP32[$i>>2]|0; - $42 = HEAP32[$a>>2]|0; - $43 = (($42) + (($41*20)|0)|0); - $44 = HEAP32[$43>>2]|0; - $45 = ((($44)) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = $46 & 256; - $48 = ($47|0)!=(0); - if ($48) { + $51 = HEAP32[$4>>2]|0; + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 48|0); + $54 = HEAP32[$53>>2]|0; + $55 = ((($54)) + 52|0); + HEAP32[$55>>2] = $51; + $56 = HEAP32[$4>>2]|0; + $57 = ((($56)) + 48|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$4>>2] = $58; + } + L16: while(1) { + $59 = HEAP32[$4>>2]|0; + $60 = ($59|0)!=(0|0); + $61 = HEAP32[$9>>2]|0; + $62 = ($61|0)!=(0); + $63 = $60 ? $62 : 0; + if (!($63)) { + label = 36; break; } - $49 = HEAP32[$i>>2]|0; - $50 = (($49) + -1)|0; - HEAP32[$i>>2] = $50; - } - $51 = HEAP32[$i>>2]|0; - $52 = ($51|0)<(0); - if ($52) { - HEAP32[$0>>2] = 0; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); - } - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$53>>2]|0; - HEAP32[$pParse>>2] = $54; - $55 = HEAP32[$pParse>>2]|0; - $56 = HEAP32[$55>>2]|0; - HEAP32[$db>>2] = $56; - $57 = HEAP32[$db>>2]|0; - $58 = (_sqlite3DbMallocZero($57,68,0)|0); - HEAP32[$pNew>>2] = $58; - $59 = HEAP32[$pNew>>2]|0; - $60 = ($59|0)==(0|0); - if ($60) { - HEAP32[$0>>2] = 2; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); - } - ;HEAP32[$dummy>>2]=0|0;HEAP32[$dummy+4>>2]=0|0; - $61 = HEAP32[$pParse>>2]|0; - $62 = HEAP32[$pNew>>2]|0; - $63 = (_sqlite3SrcListAppendFromTerm($61,0,0,0,$dummy,$62,0,0)|0); - HEAP32[$pNewSrc>>2] = $63; - $64 = HEAP32[$pNewSrc>>2]|0; - $65 = ($64|0)==(0|0); - if ($65) { - HEAP32[$0>>2] = 2; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); - } else { - $66 = HEAP32[$pNew>>2]|0; - $67 = HEAP32[$2>>2]|0; - dest=$66; src=$67; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $68 = HEAP32[$pNewSrc>>2]|0; - $69 = HEAP32[$2>>2]|0; - $70 = ((($69)) + 28|0); - HEAP32[$70>>2] = $68; - $71 = HEAP32[$pParse>>2]|0; - $72 = HEAP32[$db>>2]|0; - $73 = (_sqlite3Expr($72,160,0)|0); - $74 = (_sqlite3ExprListAppend($71,0,$73)|0); - $75 = HEAP32[$2>>2]|0; - HEAP32[$75>>2] = $74; - $76 = HEAP32[$2>>2]|0; - $77 = ((($76)) + 4|0); - HEAP8[$77>>0] = 119; - $78 = HEAP32[$2>>2]|0; - $79 = ((($78)) + 32|0); - HEAP32[$79>>2] = 0; - $80 = HEAP32[$pNew>>2]|0; - $81 = ((($80)) + 36|0); - HEAP32[$81>>2] = 0; - $82 = HEAP32[$pNew>>2]|0; - $83 = ((($82)) + 40|0); - HEAP32[$83>>2] = 0; - $84 = HEAP32[$pNew>>2]|0; - $85 = ((($84)) + 44|0); - HEAP32[$85>>2] = 0; - $86 = HEAP32[$2>>2]|0; - $87 = ((($86)) + 48|0); - HEAP32[$87>>2] = 0; - $88 = HEAP32[$2>>2]|0; - $89 = ((($88)) + 52|0); - HEAP32[$89>>2] = 0; - $90 = HEAP32[$2>>2]|0; - $91 = ((($90)) + 64|0); - HEAP32[$91>>2] = 0; - $92 = HEAP32[$2>>2]|0; - $93 = ((($92)) + 8|0); - $94 = HEAP32[$93>>2]|0; - $95 = $94 & -257; - HEAP32[$93>>2] = $95; - $96 = HEAP32[$2>>2]|0; - $97 = ((($96)) + 8|0); - $98 = HEAP32[$97>>2]|0; - $99 = $98 | 65536; - HEAP32[$97>>2] = $99; - $100 = HEAP32[$pNew>>2]|0; - $101 = HEAP32[$pNew>>2]|0; - $102 = ((($101)) + 48|0); - $103 = HEAP32[$102>>2]|0; - $104 = ((($103)) + 52|0); - HEAP32[$104>>2] = $100; - $105 = HEAP32[$pNew>>2]|0; - $106 = ((($105)) + 56|0); - HEAP32[$106>>2] = 0; - $107 = HEAP32[$pNew>>2]|0; - $108 = ((($107)) + 60|0); - HEAP32[$108>>2] = 0; - HEAP32[$0>>2] = 0; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); - } - return (0)|0; -} -function _selectExpander($pWalker,$p) { - $pWalker = $pWalker|0; - $p = $p|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $a = 0, $db = 0, $flags = 0, $i = 0, $iDb = 0, $j = 0, $k = 0, $longNames = 0, $nCol = 0, $or$cond = 0, $or$cond3 = 0, $pE = 0, $pEList = 0, $pExpr = 0, $pFrom = 0, $pLeft = 0, $pNew = 0, $pParse = 0, $pRight = 0; - var $pSel = 0, $pSub = 0, $pTab = 0, $pTab1 = 0, $pTabList = 0, $pX = 0, $sColname = 0, $selFlags = 0, $tableSeen = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $zColname = 0; - var $zName = 0, $zSchemaName = 0, $zTName = 0, $zTabName = 0, $zToFree = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 208|0; - $vararg_buffer21 = sp + 56|0; - $vararg_buffer19 = sp + 48|0; - $vararg_buffer16 = sp + 40|0; - $vararg_buffer11 = sp + 24|0; - $vararg_buffer7 = sp + 16|0; - $vararg_buffer4 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 196|0; - $1 = sp + 192|0; - $2 = sp + 188|0; - $pParse = sp + 184|0; - $i = sp + 180|0; - $j = sp + 176|0; - $k = sp + 172|0; - $pTabList = sp + 168|0; - $pEList = sp + 164|0; - $pFrom = sp + 160|0; - $db = sp + 156|0; - $pE = sp + 152|0; - $pRight = sp + 148|0; - $pExpr = sp + 144|0; - $selFlags = sp + 202|0; - $pTab = sp + 140|0; - $pSel = sp + 136|0; - $nCol = sp + 200|0; - $a = sp + 132|0; - $pNew = sp + 128|0; - $flags = sp + 124|0; - $longNames = sp + 120|0; - $tableSeen = sp + 116|0; - $zTName = sp + 112|0; - $pTab1 = sp + 108|0; - $pSub = sp + 104|0; - $zTabName = sp + 100|0; - $zSchemaName = sp + 96|0; - $iDb = sp + 92|0; - $zName = sp + 88|0; - $zColname = sp + 84|0; - $zToFree = sp + 80|0; - $sColname = sp + 72|0; - $pLeft = sp + 64|0; - $pX = sp + 60|0; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pParse>>2] = $4; - $5 = HEAP32[$pParse>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9&65535; - HEAP16[$selFlags>>1] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 | 64; - HEAP32[$12>>2] = $14; - $15 = HEAP32[$db>>2]|0; - $16 = ((($15)) + 69|0); - $17 = HEAP8[$16>>0]|0; - $18 = ($17<<24>>24)!=(0); - if ($18) { - HEAP32[$0>>2] = 2; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); - } - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 28|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0|0); - if (!($22)) { - $23 = HEAP16[$selFlags>>1]|0; - $24 = $23&65535; - $25 = $24 & 64; - $26 = ($25|0)!=(0); - if (!($26)) { - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 28|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$pTabList>>2] = $29; - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$30>>2]|0; - HEAP32[$pEList>>2] = $31; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 12|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(132|0); - if ($35) { - $36 = HEAP32[$pParse>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = (_findRightmost($37)|0); - $39 = ((($38)) + 64|0); - $40 = HEAP32[$39>>2]|0; - _sqlite3WithPush($36,$40,0); + HEAP32[$9>>2] = 0; + $64 = HEAP32[$4>>2]|0; + $65 = HEAP32[$64>>2]|0; + HEAP32[$7>>2] = $65; + HEAP32[$5>>2] = 0; + $66 = HEAP32[$6>>2]|0; + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + HEAP32[$10>>2] = $68; + while(1) { + $69 = HEAP32[$5>>2]|0; + $70 = HEAP32[$6>>2]|0; + $71 = HEAP32[$70>>2]|0; + $72 = ($69|0)<($71|0); + if (!($72)) { + break; } - $41 = HEAP32[$pParse>>2]|0; - $42 = HEAP32[$pTabList>>2]|0; - _sqlite3SrcListAssignCursors($41,$42); - HEAP32[$i>>2] = 0; - $43 = HEAP32[$pTabList>>2]|0; - $44 = ((($43)) + 8|0); - HEAP32[$pFrom>>2] = $44; - L11: while(1) { - $45 = HEAP32[$i>>2]|0; - $46 = HEAP32[$pTabList>>2]|0; - $47 = HEAP32[$46>>2]|0; - $48 = ($45|0)<($47|0); - if (!($48)) { - label = 38; - break; - } - $49 = HEAP32[$pFrom>>2]|0; - $50 = ((($49)) + 36|0); - $51 = ((($50)) + 1|0); - $52 = HEAP8[$51>>0]|0; - $53 = ($52&255) >>> 5; - $54 = $53 & 1; - $55 = $54&255; - $56 = ($55|0)!=(0); - if (!($56)) { - $57 = HEAP32[$1>>2]|0; - $58 = HEAP32[$pFrom>>2]|0; - $59 = (_withExpand($57,$58)|0); - $60 = ($59|0)!=(0); - if ($60) { - label = 12; - break; - } - $61 = HEAP32[$pFrom>>2]|0; - $62 = ((($61)) + 16|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)!=(0|0); - do { - if (!($64)) { - $65 = HEAP32[$pFrom>>2]|0; - $66 = ((($65)) + 8|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)==(0|0); - if ($68) { - $69 = HEAP32[$pFrom>>2]|0; - $70 = ((($69)) + 20|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[$pSel>>2] = $71; - $72 = HEAP32[$1>>2]|0; - $73 = HEAP32[$pSel>>2]|0; - $74 = (_sqlite3WalkSelect($72,$73)|0); - $75 = ($74|0)!=(0); - if ($75) { - label = 16; - break L11; - } - $76 = HEAP32[$db>>2]|0; - $77 = (_sqlite3DbMallocZero($76,72,0)|0); - HEAP32[$pTab>>2] = $77; - $78 = HEAP32[$pFrom>>2]|0; - $79 = ((($78)) + 16|0); - HEAP32[$79>>2] = $77; - $80 = HEAP32[$pTab>>2]|0; - $81 = ($80|0)==(0|0); - if ($81) { - label = 18; - break L11; - } - $82 = HEAP32[$pTab>>2]|0; - $83 = ((($82)) + 36|0); - HEAP16[$83>>1] = 1; - $84 = HEAP32[$db>>2]|0; - $85 = HEAP32[$pTab>>2]|0; - HEAP32[$vararg_buffer>>2] = $85; - $86 = (_sqlite3MPrintf($84,30109,$vararg_buffer)|0); - $87 = HEAP32[$pTab>>2]|0; - HEAP32[$87>>2] = $86; - while(1) { - $88 = HEAP32[$pSel>>2]|0; - $89 = ((($88)) + 48|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)!=(0|0); - if (!($91)) { - break; - } - $92 = HEAP32[$pSel>>2]|0; - $93 = ((($92)) + 48|0); - $94 = HEAP32[$93>>2]|0; - HEAP32[$pSel>>2] = $94; - } - $95 = HEAP32[$pParse>>2]|0; - $96 = HEAP32[$pSel>>2]|0; - $97 = HEAP32[$96>>2]|0; - $98 = HEAP32[$pTab>>2]|0; - $99 = ((($98)) + 34|0); - $100 = HEAP32[$pTab>>2]|0; - $101 = ((($100)) + 4|0); - (_sqlite3ColumnsFromExprList($95,$97,$99,$101)|0); - $102 = HEAP32[$pTab>>2]|0; - $103 = ((($102)) + 32|0); - HEAP16[$103>>1] = -1; - $104 = HEAP32[$pTab>>2]|0; - $105 = ((($104)) + 38|0); - HEAP16[$105>>1] = 200; - $106 = HEAP32[$pTab>>2]|0; - $107 = ((($106)) + 42|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = $109 | 2; - $111 = $110&255; - HEAP8[$107>>0] = $111; - break; - } - $112 = HEAP32[$pParse>>2]|0; - $113 = HEAP32[$pFrom>>2]|0; - $114 = (_sqlite3LocateTableItem($112,0,$113)|0); - HEAP32[$pTab>>2] = $114; - $115 = HEAP32[$pFrom>>2]|0; - $116 = ((($115)) + 16|0); - HEAP32[$116>>2] = $114; - $117 = HEAP32[$pTab>>2]|0; - $118 = ($117|0)==(0|0); - if ($118) { - label = 24; - break L11; - } - $119 = HEAP32[$pTab>>2]|0; - $120 = ((($119)) + 36|0); - $121 = HEAP16[$120>>1]|0; - $122 = $121&65535; - $123 = ($122|0)==(65535); - if ($123) { - label = 26; - break L11; - } - $129 = HEAP32[$pTab>>2]|0; - $130 = ((($129)) + 36|0); - $131 = HEAP16[$130>>1]|0; - $132 = (($131) + 1)<<16>>16; - HEAP16[$130>>1] = $132; - $133 = HEAP32[$pTab>>2]|0; - $134 = ((($133)) + 42|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $137 = $136 & 16; - $138 = ($137|0)!=(0); - if (!($138)) { - $139 = HEAP32[$pParse>>2]|0; - $140 = HEAP32[$pFrom>>2]|0; - $141 = (_cannotBeFunction($139,$140)|0); - $142 = ($141|0)!=(0); - if ($142) { - label = 29; - break L11; - } - } - $143 = HEAP32[$pTab>>2]|0; - $144 = ((($143)) + 42|0); - $145 = HEAP8[$144>>0]|0; - $146 = $145&255; - $147 = $146 & 16; - $148 = ($147|0)!=(0); - if (!($148)) { - $149 = HEAP32[$pTab>>2]|0; - $150 = ((($149)) + 12|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)!=(0|0); - if (!($152)) { - break; - } - } - $153 = HEAP32[$pParse>>2]|0; - $154 = HEAP32[$pTab>>2]|0; - $155 = (_sqlite3ViewGetColumnNames($153,$154)|0); - $156 = ($155|0)!=(0); - if ($156) { - label = 33; - break L11; + HEAP32[$11>>2] = -1; + $73 = HEAP32[$10>>2]|0; + $74 = ((($73)) + 13|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75 & 1; + $77 = $76&255; + $78 = ($77|0)!=(0); + do { + if (!($78)) { + $79 = HEAP32[$10>>2]|0; + $80 = HEAP32[$79>>2]|0; + $81 = (_sqlite3ExprSkipCollate($80)|0); + HEAP32[$12>>2] = $81; + $82 = HEAP32[$12>>2]|0; + $83 = (_sqlite3ExprIsInteger($82,$11)|0); + $84 = ($83|0)!=(0); + if ($84) { + $85 = HEAP32[$11>>2]|0; + $86 = ($85|0)<=(0); + if ($86) { + label = 18; + break L16; + } + $87 = HEAP32[$11>>2]|0; + $88 = HEAP32[$7>>2]|0; + $89 = HEAP32[$88>>2]|0; + $90 = ($87|0)>($89|0); + if ($90) { + label = 18; + break L16; + } + } else { + $96 = HEAP32[$3>>2]|0; + $97 = HEAP32[$7>>2]|0; + $98 = HEAP32[$12>>2]|0; + $99 = (_resolveAsName($96,$97,$98)|0); + HEAP32[$11>>2] = $99; + $100 = HEAP32[$11>>2]|0; + $101 = ($100|0)==(0); + if ($101) { + $102 = HEAP32[$8>>2]|0; + $103 = HEAP32[$12>>2]|0; + $104 = (_sqlite3ExprDup($102,$103,0)|0); + HEAP32[$13>>2] = $104; + $105 = HEAP32[$8>>2]|0; + $106 = ((($105)) + 69|0); + $107 = HEAP8[$106>>0]|0; + $108 = ($107<<24>>24)!=(0); + if (!($108)) { + $109 = HEAP32[$3>>2]|0; + $110 = HEAP32[$4>>2]|0; + $111 = HEAP32[$13>>2]|0; + $112 = (_resolveOrderByTermToExprList($109,$110,$111)|0); + HEAP32[$11>>2] = $112; } - $157 = HEAP32[$db>>2]|0; - $158 = HEAP32[$pTab>>2]|0; - $159 = ((($158)) + 12|0); - $160 = HEAP32[$159>>2]|0; - $161 = (_sqlite3SelectDup($157,$160,0)|0); - $162 = HEAP32[$pFrom>>2]|0; - $163 = ((($162)) + 20|0); - HEAP32[$163>>2] = $161; - $164 = HEAP32[$pTab>>2]|0; - $165 = ((($164)) + 34|0); - $166 = HEAP16[$165>>1]|0; - HEAP16[$nCol>>1] = $166; - $167 = HEAP32[$pTab>>2]|0; - $168 = ((($167)) + 34|0); - HEAP16[$168>>1] = -1; - $169 = HEAP32[$1>>2]|0; - $170 = HEAP32[$pFrom>>2]|0; - $171 = ((($170)) + 20|0); - $172 = HEAP32[$171>>2]|0; - (_sqlite3WalkSelect($169,$172)|0); - $173 = HEAP16[$nCol>>1]|0; - $174 = HEAP32[$pTab>>2]|0; - $175 = ((($174)) + 34|0); - HEAP16[$175>>1] = $173; + $113 = HEAP32[$8>>2]|0; + $114 = HEAP32[$13>>2]|0; + _sqlite3ExprDelete($113,$114); } - } while(0); - $176 = HEAP32[$pParse>>2]|0; - $177 = HEAP32[$pFrom>>2]|0; - $178 = (_sqlite3IndexedByLookup($176,$177)|0); - $179 = ($178|0)!=(0); - if ($179) { - label = 36; + } + $115 = HEAP32[$11>>2]|0; + $116 = ($115|0)>(0); + if (!($116)) { + HEAP32[$9>>2] = 1; break; } - } - $180 = HEAP32[$i>>2]|0; - $181 = (($180) + 1)|0; - HEAP32[$i>>2] = $181; - $182 = HEAP32[$pFrom>>2]|0; - $183 = ((($182)) + 72|0); - HEAP32[$pFrom>>2] = $183; - } - if ((label|0) == 12) { - HEAP32[$0>>2] = 2; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); - } - else if ((label|0) == 16) { - HEAP32[$0>>2] = 2; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); - } - else if ((label|0) == 18) { - HEAP32[$0>>2] = 2; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); - } - else if ((label|0) == 24) { - HEAP32[$0>>2] = 2; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); - } - else if ((label|0) == 26) { - $124 = HEAP32[$pParse>>2]|0; - $125 = HEAP32[$pTab>>2]|0; - $126 = HEAP32[$125>>2]|0; - HEAP32[$vararg_buffer4>>2] = $126; - _sqlite3ErrorMsg($124,30122,$vararg_buffer4); - $127 = HEAP32[$pFrom>>2]|0; - $128 = ((($127)) + 16|0); - HEAP32[$128>>2] = 0; - HEAP32[$0>>2] = 2; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); - } - else if ((label|0) == 29) { - HEAP32[$0>>2] = 2; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); - } - else if ((label|0) == 33) { - HEAP32[$0>>2] = 2; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); - } - else if ((label|0) == 36) { - HEAP32[$0>>2] = 2; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); - } - else if ((label|0) == 38) { - $184 = HEAP32[$db>>2]|0; - $185 = ((($184)) + 69|0); - $186 = HEAP8[$185>>0]|0; - $187 = $186&255; - $188 = ($187|0)!=(0); - if (!($188)) { - $189 = HEAP32[$pParse>>2]|0; - $190 = HEAP32[$2>>2]|0; - $191 = (_sqliteProcessJoin($189,$190)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$k>>2] = 0; + $117 = HEAP32[$8>>2]|0; + $118 = (_sqlite3Expr($117,134,0)|0); + HEAP32[$14>>2] = $118; + $119 = HEAP32[$14>>2]|0; + $120 = ($119|0)==(0|0); + if ($120) { + label = 25; + break L16; + } + $121 = HEAP32[$14>>2]|0; + $122 = ((($121)) + 4|0); + $123 = HEAP32[$122>>2]|0; + $124 = $123 | 1024; + HEAP32[$122>>2] = $124; + $125 = HEAP32[$11>>2]|0; + $126 = HEAP32[$14>>2]|0; + $127 = ((($126)) + 8|0); + HEAP32[$127>>2] = $125; + $128 = HEAP32[$10>>2]|0; + $129 = HEAP32[$128>>2]|0; + $130 = HEAP32[$12>>2]|0; + $131 = ($129|0)==($130|0); + if ($131) { + $132 = HEAP32[$14>>2]|0; + $133 = HEAP32[$10>>2]|0; + HEAP32[$133>>2] = $132; + } else { + $134 = HEAP32[$10>>2]|0; + $135 = HEAP32[$134>>2]|0; + HEAP32[$15>>2] = $135; while(1) { - $193 = HEAP32[$k>>2]|0; - $194 = HEAP32[$pEList>>2]|0; - $195 = HEAP32[$194>>2]|0; - $196 = ($193|0)<($195|0); - if (!($196)) { - break; - } - $197 = HEAP32[$k>>2]|0; - $198 = HEAP32[$pEList>>2]|0; - $199 = ((($198)) + 4|0); - $200 = HEAP32[$199>>2]|0; - $201 = (($200) + (($197*20)|0)|0); - $202 = HEAP32[$201>>2]|0; - HEAP32[$pE>>2] = $202; - $203 = HEAP32[$pE>>2]|0; - $204 = HEAP8[$203>>0]|0; - $205 = $204&255; - $206 = ($205|0)==(160); - if ($206) { + $136 = HEAP32[$15>>2]|0; + $137 = ((($136)) + 12|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = ($140|0)==(53); + if (!($141)) { break; } - $207 = HEAP32[$pE>>2]|0; - $208 = HEAP8[$207>>0]|0; - $209 = $208&255; - $210 = ($209|0)==(122); - if ($210) { - $211 = HEAP32[$pE>>2]|0; - $212 = ((($211)) + 16|0); - $213 = HEAP32[$212>>2]|0; - $214 = HEAP8[$213>>0]|0; - $215 = $214&255; - $216 = ($215|0)==(160); - if ($216) { - break; - } - } - $217 = HEAP32[$k>>2]|0; - $218 = (($217) + 1)|0; - HEAP32[$k>>2] = $218; - } - $219 = HEAP32[$k>>2]|0; - $220 = HEAP32[$pEList>>2]|0; - $221 = HEAP32[$220>>2]|0; - $222 = ($219|0)<($221|0); - if ($222) { - $223 = HEAP32[$pEList>>2]|0; - $224 = ((($223)) + 4|0); - $225 = HEAP32[$224>>2]|0; - HEAP32[$a>>2] = $225; - HEAP32[$pNew>>2] = 0; - $226 = HEAP32[$pParse>>2]|0; - $227 = HEAP32[$226>>2]|0; - $228 = ((($227)) + 24|0); - $229 = HEAP32[$228>>2]|0; - HEAP32[$flags>>2] = $229; - $230 = HEAP32[$flags>>2]|0; - $231 = $230 & 4; - $232 = ($231|0)!=(0); - if ($232) { - $233 = HEAP32[$flags>>2]|0; - $234 = $233 & 64; - $235 = ($234|0)==(0); - $237 = $235; - } else { - $237 = 0; - } - $236 = $237&1; - HEAP32[$longNames>>2] = $236; - HEAP32[$k>>2] = 0; - while(1) { - $238 = HEAP32[$k>>2]|0; - $239 = HEAP32[$pEList>>2]|0; - $240 = HEAP32[$239>>2]|0; - $241 = ($238|0)<($240|0); - if (!($241)) { - break; - } - $242 = HEAP32[$k>>2]|0; - $243 = HEAP32[$a>>2]|0; - $244 = (($243) + (($242*20)|0)|0); - $245 = HEAP32[$244>>2]|0; - HEAP32[$pE>>2] = $245; - $246 = HEAP32[$pE>>2]|0; - $247 = ((($246)) + 16|0); - $248 = HEAP32[$247>>2]|0; - HEAP32[$pRight>>2] = $248; - $249 = HEAP32[$pE>>2]|0; - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = ($251|0)!=(160); - do { - if ($252) { - $253 = HEAP32[$pE>>2]|0; - $254 = HEAP8[$253>>0]|0; - $255 = $254&255; - $256 = ($255|0)!=(122); - if (!($256)) { - $257 = HEAP32[$pRight>>2]|0; - $258 = HEAP8[$257>>0]|0; - $259 = $258&255; - $260 = ($259|0)!=(160); - if (!($260)) { - label = 58; - break; - } - } - $261 = HEAP32[$pParse>>2]|0; - $262 = HEAP32[$pNew>>2]|0; - $263 = HEAP32[$k>>2]|0; - $264 = HEAP32[$a>>2]|0; - $265 = (($264) + (($263*20)|0)|0); - $266 = HEAP32[$265>>2]|0; - $267 = (_sqlite3ExprListAppend($261,$262,$266)|0); - HEAP32[$pNew>>2] = $267; - $268 = HEAP32[$pNew>>2]|0; - $269 = ($268|0)!=(0|0); - if ($269) { - $270 = HEAP32[$k>>2]|0; - $271 = HEAP32[$a>>2]|0; - $272 = (($271) + (($270*20)|0)|0); - $273 = ((($272)) + 4|0); - $274 = HEAP32[$273>>2]|0; - $275 = HEAP32[$pNew>>2]|0; - $276 = HEAP32[$275>>2]|0; - $277 = (($276) - 1)|0; - $278 = HEAP32[$pNew>>2]|0; - $279 = ((($278)) + 4|0); - $280 = HEAP32[$279>>2]|0; - $281 = (($280) + (($277*20)|0)|0); - $282 = ((($281)) + 4|0); - HEAP32[$282>>2] = $274; - $283 = HEAP32[$k>>2]|0; - $284 = HEAP32[$a>>2]|0; - $285 = (($284) + (($283*20)|0)|0); - $286 = ((($285)) + 8|0); - $287 = HEAP32[$286>>2]|0; - $288 = HEAP32[$pNew>>2]|0; - $289 = HEAP32[$288>>2]|0; - $290 = (($289) - 1)|0; - $291 = HEAP32[$pNew>>2]|0; - $292 = ((($291)) + 4|0); - $293 = HEAP32[$292>>2]|0; - $294 = (($293) + (($290*20)|0)|0); - $295 = ((($294)) + 8|0); - HEAP32[$295>>2] = $287; - $296 = HEAP32[$k>>2]|0; - $297 = HEAP32[$a>>2]|0; - $298 = (($297) + (($296*20)|0)|0); - $299 = ((($298)) + 4|0); - HEAP32[$299>>2] = 0; - $300 = HEAP32[$k>>2]|0; - $301 = HEAP32[$a>>2]|0; - $302 = (($301) + (($300*20)|0)|0); - $303 = ((($302)) + 8|0); - HEAP32[$303>>2] = 0; - } - $304 = HEAP32[$k>>2]|0; - $305 = HEAP32[$a>>2]|0; - $306 = (($305) + (($304*20)|0)|0); - HEAP32[$306>>2] = 0; - } else { - label = 58; - } - } while(0); - do { - if ((label|0) == 58) { - label = 0; - HEAP32[$tableSeen>>2] = 0; - HEAP32[$zTName>>2] = 0; - $307 = HEAP32[$pE>>2]|0; - $308 = HEAP8[$307>>0]|0; - $309 = $308&255; - $310 = ($309|0)==(122); - if ($310) { - $311 = HEAP32[$pE>>2]|0; - $312 = ((($311)) + 12|0); - $313 = HEAP32[$312>>2]|0; - $314 = ((($313)) + 8|0); - $315 = HEAP32[$314>>2]|0; - HEAP32[$zTName>>2] = $315; - } - HEAP32[$i>>2] = 0; - $316 = HEAP32[$pTabList>>2]|0; - $317 = ((($316)) + 8|0); - HEAP32[$pFrom>>2] = $317; - while(1) { - $318 = HEAP32[$i>>2]|0; - $319 = HEAP32[$pTabList>>2]|0; - $320 = HEAP32[$319>>2]|0; - $321 = ($318|0)<($320|0); - if (!($321)) { - break; - } - $322 = HEAP32[$pFrom>>2]|0; - $323 = ((($322)) + 16|0); - $324 = HEAP32[$323>>2]|0; - HEAP32[$pTab1>>2] = $324; - $325 = HEAP32[$pFrom>>2]|0; - $326 = ((($325)) + 20|0); - $327 = HEAP32[$326>>2]|0; - HEAP32[$pSub>>2] = $327; - $328 = HEAP32[$pFrom>>2]|0; - $329 = ((($328)) + 12|0); - $330 = HEAP32[$329>>2]|0; - HEAP32[$zTabName>>2] = $330; - HEAP32[$zSchemaName>>2] = 0; - $331 = HEAP32[$zTabName>>2]|0; - $332 = ($331|0)==(0|0); - if ($332) { - $333 = HEAP32[$pTab1>>2]|0; - $334 = HEAP32[$333>>2]|0; - HEAP32[$zTabName>>2] = $334; - } - $335 = HEAP32[$db>>2]|0; - $336 = ((($335)) + 69|0); - $337 = HEAP8[$336>>0]|0; - $338 = ($337<<24>>24)!=(0); - if ($338) { - break; - } - $339 = HEAP32[$pSub>>2]|0; - $340 = ($339|0)==(0|0); - if ($340) { - label = 67; - } else { - $341 = HEAP32[$pSub>>2]|0; - $342 = ((($341)) + 8|0); - $343 = HEAP32[$342>>2]|0; - $344 = $343 & 2048; - $345 = ($344|0)==(0); - if ($345) { - label = 67; - } else { - label = 72; - } - } - do { - if ((label|0) == 67) { - label = 0; - HEAP32[$pSub>>2] = 0; - $346 = HEAP32[$zTName>>2]|0; - $347 = ($346|0)!=(0|0); - if ($347) { - $348 = HEAP32[$zTName>>2]|0; - $349 = HEAP32[$zTabName>>2]|0; - $350 = (_sqlite3StrICmp($348,$349)|0); - $351 = ($350|0)!=(0); - if ($351) { - break; - } - } - $352 = HEAP32[$db>>2]|0; - $353 = HEAP32[$pTab1>>2]|0; - $354 = ((($353)) + 64|0); - $355 = HEAP32[$354>>2]|0; - $356 = (_sqlite3SchemaToIndex($352,$355)|0); - HEAP32[$iDb>>2] = $356; - $357 = HEAP32[$iDb>>2]|0; - $358 = ($357|0)>=(0); - if ($358) { - $359 = HEAP32[$iDb>>2]|0; - $360 = HEAP32[$db>>2]|0; - $361 = ((($360)) + 16|0); - $362 = HEAP32[$361>>2]|0; - $363 = (($362) + ($359<<4)|0); - $364 = HEAP32[$363>>2]|0; - $365 = $364; - } else { - $365 = 25451; - } - HEAP32[$zSchemaName>>2] = $365; - label = 72; - } - } while(0); - L90: do { - if ((label|0) == 72) { - label = 0; - HEAP32[$j>>2] = 0; - while(1) { - $366 = HEAP32[$j>>2]|0; - $367 = HEAP32[$pTab1>>2]|0; - $368 = ((($367)) + 34|0); - $369 = HEAP16[$368>>1]|0; - $370 = $369 << 16 >> 16; - $371 = ($366|0)<($370|0); - if (!($371)) { - break L90; - } - $372 = HEAP32[$j>>2]|0; - $373 = HEAP32[$pTab1>>2]|0; - $374 = ((($373)) + 4|0); - $375 = HEAP32[$374>>2]|0; - $376 = (($375) + ($372<<4)|0); - $377 = HEAP32[$376>>2]|0; - HEAP32[$zName>>2] = $377; - $378 = HEAP32[$zTName>>2]|0; - $379 = ($378|0)!=(0|0); - $380 = HEAP32[$pSub>>2]|0; - $381 = ($380|0)!=(0|0); - $or$cond = $379 & $381; - if ($or$cond) { - $382 = HEAP32[$j>>2]|0; - $383 = HEAP32[$pSub>>2]|0; - $384 = HEAP32[$383>>2]|0; - $385 = ((($384)) + 4|0); - $386 = HEAP32[$385>>2]|0; - $387 = (($386) + (($382*20)|0)|0); - $388 = ((($387)) + 8|0); - $389 = HEAP32[$388>>2]|0; - $390 = HEAP32[$zTName>>2]|0; - $391 = (_sqlite3MatchSpanName($389,0,$390,0)|0); - $392 = ($391|0)==(0); - if (!($392)) { - label = 76; - } - } else { - label = 76; - } - do { - if ((label|0) == 76) { - label = 0; - $393 = HEAP32[$2>>2]|0; - $394 = ((($393)) + 8|0); - $395 = HEAP32[$394>>2]|0; - $396 = $395 & 131072; - $397 = ($396|0)==(0); - if ($397) { - $398 = HEAP32[$j>>2]|0; - $399 = HEAP32[$pTab1>>2]|0; - $400 = ((($399)) + 4|0); - $401 = HEAP32[$400>>2]|0; - $402 = (($401) + ($398<<4)|0); - $403 = ((($402)) + 15|0); - $404 = HEAP8[$403>>0]|0; - $405 = $404&255; - $406 = $405 & 2; - $407 = ($406|0)!=(0); - if ($407) { - break; - } - } - HEAP32[$tableSeen>>2] = 1; - $408 = HEAP32[$i>>2]|0; - $409 = ($408|0)>(0); - $410 = HEAP32[$zTName>>2]|0; - $411 = ($410|0)==(0|0); - $or$cond3 = $409 & $411; - if ($or$cond3) { - $412 = HEAP32[$pFrom>>2]|0; - $413 = ((($412)) + 36|0); - $414 = HEAP8[$413>>0]|0; - $415 = $414&255; - $416 = $415 & 4; - $417 = ($416|0)!=(0); - if ($417) { - $418 = HEAP32[$pTabList>>2]|0; - $419 = HEAP32[$i>>2]|0; - $420 = HEAP32[$zName>>2]|0; - $421 = (_tableAndColumnIndex($418,$419,$420,0,0)|0); - $422 = ($421|0)!=(0); - if ($422) { - break; - } - } - $423 = HEAP32[$pFrom>>2]|0; - $424 = ((($423)) + 52|0); - $425 = HEAP32[$424>>2]|0; - $426 = HEAP32[$zName>>2]|0; - $427 = (_sqlite3IdListIndex($425,$426)|0); - $428 = ($427|0)>=(0); - if ($428) { - break; - } - } - $429 = HEAP32[$db>>2]|0; - $430 = HEAP32[$zName>>2]|0; - $431 = (_sqlite3Expr($429,55,$430)|0); - HEAP32[$pRight>>2] = $431; - $432 = HEAP32[$zName>>2]|0; - HEAP32[$zColname>>2] = $432; - HEAP32[$zToFree>>2] = 0; - $433 = HEAP32[$longNames>>2]|0; - $434 = ($433|0)!=(0); - do { - if ($434) { - label = 84; - } else { - $435 = HEAP32[$pTabList>>2]|0; - $436 = HEAP32[$435>>2]|0; - $437 = ($436|0)>(1); - if ($437) { - label = 84; - break; - } - $461 = HEAP32[$pRight>>2]|0; - HEAP32[$pExpr>>2] = $461; - } - } while(0); - do { - if ((label|0) == 84) { - label = 0; - $438 = HEAP32[$db>>2]|0; - $439 = HEAP32[$zTabName>>2]|0; - $440 = (_sqlite3Expr($438,55,$439)|0); - HEAP32[$pLeft>>2] = $440; - $441 = HEAP32[$pParse>>2]|0; - $442 = HEAP32[$pLeft>>2]|0; - $443 = HEAP32[$pRight>>2]|0; - $444 = (_sqlite3PExpr($441,122,$442,$443,0)|0); - HEAP32[$pExpr>>2] = $444; - $445 = HEAP32[$zSchemaName>>2]|0; - $446 = ($445|0)!=(0|0); - if ($446) { - $447 = HEAP32[$db>>2]|0; - $448 = HEAP32[$zSchemaName>>2]|0; - $449 = (_sqlite3Expr($447,55,$448)|0); - HEAP32[$pLeft>>2] = $449; - $450 = HEAP32[$pParse>>2]|0; - $451 = HEAP32[$pLeft>>2]|0; - $452 = HEAP32[$pExpr>>2]|0; - $453 = (_sqlite3PExpr($450,122,$451,$452,0)|0); - HEAP32[$pExpr>>2] = $453; - } - $454 = HEAP32[$longNames>>2]|0; - $455 = ($454|0)!=(0); - if (!($455)) { - break; - } - $456 = HEAP32[$db>>2]|0; - $457 = HEAP32[$zTabName>>2]|0; - $458 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer7>>2] = $457; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $458; - $459 = (_sqlite3MPrintf($456,30161,$vararg_buffer7)|0); - HEAP32[$zColname>>2] = $459; - $460 = HEAP32[$zColname>>2]|0; - HEAP32[$zToFree>>2] = $460; - } - } while(0); - $462 = HEAP32[$pParse>>2]|0; - $463 = HEAP32[$pNew>>2]|0; - $464 = HEAP32[$pExpr>>2]|0; - $465 = (_sqlite3ExprListAppend($462,$463,$464)|0); - HEAP32[$pNew>>2] = $465; - $466 = HEAP32[$zColname>>2]|0; - _sqlite3TokenInit($sColname,$466); - $467 = HEAP32[$pParse>>2]|0; - $468 = HEAP32[$pNew>>2]|0; - _sqlite3ExprListSetName($467,$468,$sColname,0); - $469 = HEAP32[$pNew>>2]|0; - $470 = ($469|0)!=(0|0); - do { - if ($470) { - $471 = HEAP32[$2>>2]|0; - $472 = ((($471)) + 8|0); - $473 = HEAP32[$472>>2]|0; - $474 = $473 & 2048; - $475 = ($474|0)!=(0); - if (!($475)) { - break; - } - $476 = HEAP32[$pNew>>2]|0; - $477 = HEAP32[$476>>2]|0; - $478 = (($477) - 1)|0; - $479 = HEAP32[$pNew>>2]|0; - $480 = ((($479)) + 4|0); - $481 = HEAP32[$480>>2]|0; - $482 = (($481) + (($478*20)|0)|0); - HEAP32[$pX>>2] = $482; - $483 = HEAP32[$pSub>>2]|0; - $484 = ($483|0)!=(0|0); - $485 = HEAP32[$db>>2]|0; - if ($484) { - $486 = HEAP32[$j>>2]|0; - $487 = HEAP32[$pSub>>2]|0; - $488 = HEAP32[$487>>2]|0; - $489 = ((($488)) + 4|0); - $490 = HEAP32[$489>>2]|0; - $491 = (($490) + (($486*20)|0)|0); - $492 = ((($491)) + 8|0); - $493 = HEAP32[$492>>2]|0; - $494 = (_sqlite3DbStrDup($485,$493)|0); - $495 = HEAP32[$pX>>2]|0; - $496 = ((($495)) + 8|0); - HEAP32[$496>>2] = $494; - } else { - $497 = HEAP32[$zSchemaName>>2]|0; - $498 = HEAP32[$zTabName>>2]|0; - $499 = HEAP32[$zColname>>2]|0; - HEAP32[$vararg_buffer11>>2] = $497; - $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $498; - $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr15>>2] = $499; - $500 = (_sqlite3MPrintf($485,30167,$vararg_buffer11)|0); - $501 = HEAP32[$pX>>2]|0; - $502 = ((($501)) + 8|0); - HEAP32[$502>>2] = $500; - } - $503 = HEAP32[$pX>>2]|0; - $504 = ((($503)) + 13|0); - $505 = HEAP8[$504>>0]|0; - $506 = $505 & -3; - $507 = $506 | 2; - HEAP8[$504>>0] = $507; - } - } while(0); - $508 = HEAP32[$db>>2]|0; - $509 = HEAP32[$zToFree>>2]|0; - _sqlite3DbFree($508,$509); - } - } while(0); - $510 = HEAP32[$j>>2]|0; - $511 = (($510) + 1)|0; - HEAP32[$j>>2] = $511; - } - } - } while(0); - $512 = HEAP32[$i>>2]|0; - $513 = (($512) + 1)|0; - HEAP32[$i>>2] = $513; - $514 = HEAP32[$pFrom>>2]|0; - $515 = ((($514)) + 72|0); - HEAP32[$pFrom>>2] = $515; - } - $516 = HEAP32[$tableSeen>>2]|0; - $517 = ($516|0)!=(0); - if (!($517)) { - $518 = HEAP32[$zTName>>2]|0; - $519 = ($518|0)!=(0|0); - $520 = HEAP32[$pParse>>2]|0; - if ($519) { - $521 = HEAP32[$zTName>>2]|0; - HEAP32[$vararg_buffer16>>2] = $521; - _sqlite3ErrorMsg($520,30176,$vararg_buffer16); - break; - } else { - _sqlite3ErrorMsg($520,30194,$vararg_buffer19); - break; - } - } - } - } while(0); - $522 = HEAP32[$k>>2]|0; - $523 = (($522) + 1)|0; - HEAP32[$k>>2] = $523; - } - $524 = HEAP32[$db>>2]|0; - $525 = HEAP32[$pEList>>2]|0; - _sqlite3ExprListDelete($524,$525); - $526 = HEAP32[$pNew>>2]|0; - $527 = HEAP32[$2>>2]|0; - HEAP32[$527>>2] = $526; - } - $528 = HEAP32[$2>>2]|0; - $529 = HEAP32[$528>>2]|0; - $530 = ($529|0)!=(0|0); - if ($530) { - $531 = HEAP32[$2>>2]|0; - $532 = HEAP32[$531>>2]|0; - $533 = HEAP32[$532>>2]|0; - $534 = HEAP32[$db>>2]|0; - $535 = ((($534)) + 96|0); - $536 = ((($535)) + 8|0); - $537 = HEAP32[$536>>2]|0; - $538 = ($533|0)>($537|0); - if ($538) { - $539 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($539,30214,$vararg_buffer21); - HEAP32[$0>>2] = 2; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); - } + $142 = HEAP32[$15>>2]|0; + $143 = ((($142)) + 12|0); + $144 = HEAP32[$143>>2]|0; + HEAP32[$15>>2] = $144; } - HEAP32[$0>>2] = 0; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); - } + $145 = HEAP32[$14>>2]|0; + $146 = HEAP32[$15>>2]|0; + $147 = ((($146)) + 12|0); + HEAP32[$147>>2] = $145; + } + $148 = HEAP32[$8>>2]|0; + $149 = HEAP32[$12>>2]|0; + _sqlite3ExprDelete($148,$149); + $150 = HEAP32[$11>>2]|0; + $151 = $150&65535; + $152 = HEAP32[$10>>2]|0; + $153 = ((($152)) + 16|0); + HEAP16[$153>>1] = $151; + $154 = HEAP32[$10>>2]|0; + $155 = ((($154)) + 13|0); + $156 = HEAP8[$155>>0]|0; + $157 = $156 & -2; + $158 = $157 | 1; + HEAP8[$155>>0] = $158; } - HEAP32[$0>>2] = 2; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); + } while(0); + $159 = HEAP32[$5>>2]|0; + $160 = (($159) + 1)|0; + HEAP32[$5>>2] = $160; + $161 = HEAP32[$10>>2]|0; + $162 = ((($161)) + 20|0); + HEAP32[$10>>2] = $162; + } + $163 = HEAP32[$4>>2]|0; + $164 = ((($163)) + 52|0); + $165 = HEAP32[$164>>2]|0; + HEAP32[$4>>2] = $165; + } + if ((label|0) == 18) { + $91 = HEAP32[$3>>2]|0; + $92 = HEAP32[$5>>2]|0; + $93 = (($92) + 1)|0; + $94 = HEAP32[$7>>2]|0; + $95 = HEAP32[$94>>2]|0; + _resolveOutOfRangeError($91,28515,$93,$95); + HEAP32[$2>>2] = 1; + $185 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($185|0); + } + else if ((label|0) == 25) { + HEAP32[$2>>2] = 1; + $185 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($185|0); + } + else if ((label|0) == 36) { + HEAP32[$5>>2] = 0; + while(1) { + $166 = HEAP32[$5>>2]|0; + $167 = HEAP32[$6>>2]|0; + $168 = HEAP32[$167>>2]|0; + $169 = ($166|0)<($168|0); + if (!($169)) { + label = 41; + break; + } + $170 = HEAP32[$6>>2]|0; + $171 = ((($170)) + 4|0); + $172 = HEAP32[$171>>2]|0; + $173 = HEAP32[$5>>2]|0; + $174 = (($172) + (($173*20)|0)|0); + $175 = ((($174)) + 13|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176 & 1; + $178 = $177&255; + $179 = ($178|0)==(0); + if ($179) { + label = 39; + break; } + $183 = HEAP32[$5>>2]|0; + $184 = (($183) + 1)|0; + HEAP32[$5>>2] = $184; + } + if ((label|0) == 39) { + $180 = HEAP32[$3>>2]|0; + $181 = HEAP32[$5>>2]|0; + $182 = (($181) + 1)|0; + HEAP32[$vararg_buffer1>>2] = $182; + _sqlite3ErrorMsg($180,28620,$vararg_buffer1); + HEAP32[$2>>2] = 1; + $185 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($185|0); + } + else if ((label|0) == 41) { + HEAP32[$2>>2] = 0; + $185 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($185|0); } } - HEAP32[$0>>2] = 1; - $540 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($540|0); + return (0)|0; } -function _selectPopWith($pWalker,$p) { - $pWalker = $pWalker|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pParse = 0, $pWith = 0, label = 0, sp = 0; +function _sqlite3ExprIsInteger($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pParse = sp + 4|0; - $pWith = sp; - HEAP32[$0>>2] = $pWalker; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pParse>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = (_findRightmost($4)|0); - $6 = ((($5)) + 64|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pWith>>2] = $7; - $8 = HEAP32[$pWith>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 1024; + $11 = ($10|0)!=(0); + $12 = HEAP32[$3>>2]|0; + if ($11) { + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + HEAP32[$15>>2] = $14; + HEAP32[$2>>2] = 1; + $32 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($32|0); } - $10 = HEAP32[$pWith>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$pParse>>2]|0; - $14 = ((($13)) + 472|0); - HEAP32[$14>>2] = $12; + $16 = HEAP8[$12>>0]|0; + $17 = $16&255; + switch ($17|0) { + case 156: { + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = (_sqlite3ExprIsInteger($20,$21)|0); + HEAP32[$5>>2] = $22; + break; + } + case 155: { + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3ExprIsInteger($25,$6)|0); + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$6>>2]|0; + $29 = (0 - ($28))|0; + $30 = HEAP32[$4>>2]|0; + HEAP32[$30>>2] = $29; + HEAP32[$5>>2] = 1; + } + break; + } + default: { + } + } + $31 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $31; + $32 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _resolveOutOfRangeError($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$6>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $10; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $11; + _sqlite3ErrorMsg($8,28681,$vararg_buffer); STACKTOP = sp;return; } -function _findRightmost($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _resolveAsName($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 52|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - $5 = HEAP32[$0>>2]|0; - if (!($4)) { - break; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)==(55); + L1: do { + if ($13) { + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$8>>2] = $16; + HEAP32[$7>>2] = 0; + while(1) { + $17 = HEAP32[$7>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ($17|0)<($19|0); + if (!($20)) { + break L1; + } + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$7>>2]|0; + $25 = (($23) + (($24*20)|0)|0); + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$9>>2] = $27; + $28 = HEAP32[$9>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$9>>2]|0; + $31 = HEAP32[$8>>2]|0; + $32 = (_sqlite3StrICmp($30,$31)|0); + $33 = ($32|0)==(0); + if ($33) { + break; + } + } + $36 = HEAP32[$7>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$7>>2] = $37; + } + $34 = HEAP32[$7>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$3>>2] = $35; + $38 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($38|0); } - $6 = ((($5)) + 52|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$0>>2] = $7; - } - STACKTOP = sp;return ($5|0); + } while(0); + HEAP32[$3>>2] = 0; + $38 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($38|0); } -function _withExpand($pWalker,$pFrom) { - $pWalker = $pWalker|0; - $pFrom = $pFrom|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bMayRecursive = 0, $db = 0, $i = 0, $pCte = 0, $pEList = 0, $pItem = 0, $pLeft = 0, $pParse = 0, $pSavedWith = 0; - var $pSel = 0, $pSrc = 0, $pTab = 0, $pWith = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; +function _sqlite3ExprDup($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 88|0; - $1 = sp + 84|0; - $2 = sp + 80|0; - $pParse = sp + 76|0; - $db = sp + 72|0; - $pCte = sp + 68|0; - $pWith = sp + 64|0; - $pTab = sp + 60|0; - $pEList = sp + 56|0; - $pSel = sp + 52|0; - $pLeft = sp + 48|0; - $bMayRecursive = sp + 44|0; - $pSavedWith = sp + 40|0; - $i = sp + 36|0; - $pSrc = sp + 32|0; - $pItem = sp + 28|0; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $pFrom; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pParse>>2] = $4; - $5 = HEAP32[$pParse>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$pParse>>2]|0; - $8 = ((($7)) + 472|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (_searchWith($9,$10,$pWith)|0); - HEAP32[$pCte>>2] = $11; - $12 = HEAP32[$pCte>>2]|0; - $13 = ($12|0)!=(0|0); - if ($13) { - $14 = HEAP32[$pCte>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(0|0); - $18 = HEAP32[$pParse>>2]|0; - if ($17) { - $19 = HEAP32[$pCte>>2]|0; - $20 = ((($19)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$pCte>>2]|0; - $23 = HEAP32[$22>>2]|0; - HEAP32[$vararg_buffer>>2] = $23; - _sqlite3ErrorMsg($18,$21,$vararg_buffer); - HEAP32[$0>>2] = 1; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + $12 = 0; + STACKTOP = sp;return ($12|0); + } + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (_exprDup($8,$9,$10,0)|0); + $12 = $11; + STACKTOP = sp;return ($12|0); +} +function _resolveOrderByTermToExprList($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $3 = sp + 60|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + $12 = sp + 64|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$8>>2] = $14; + ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0;HEAP32[$9+12>>2]=0|0;HEAP32[$9+16>>2]=0|0;HEAP32[$9+20>>2]=0|0;HEAP32[$9+24>>2]=0|0;HEAP32[$9+28>>2]=0|0; + $15 = HEAP32[$4>>2]|0; + HEAP32[$9>>2] = $15; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($9)) + 4|0); + HEAP32[$19>>2] = $18; + $20 = HEAP32[$8>>2]|0; + $21 = ((($9)) + 8|0); + HEAP32[$21>>2] = $20; + $22 = ((($9)) + 28|0); + HEAP16[$22>>1] = 1; + $23 = ((($9)) + 24|0); + HEAP32[$23>>2] = 0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$24>>2]|0; + HEAP32[$10>>2] = $25; + $26 = HEAP32[$10>>2]|0; + $27 = ((($26)) + 73|0); + $28 = HEAP8[$27>>0]|0; + HEAP8[$12>>0] = $28; + $29 = HEAP32[$10>>2]|0; + $30 = ((($29)) + 73|0); + HEAP8[$30>>0] = 1; + $31 = HEAP32[$6>>2]|0; + $32 = (_sqlite3ResolveExprNames($9,$31)|0); + HEAP32[$11>>2] = $32; + $33 = HEAP8[$12>>0]|0; + $34 = HEAP32[$10>>2]|0; + $35 = ((($34)) + 73|0); + HEAP8[$35>>0] = $33; + $36 = HEAP32[$11>>2]|0; + $37 = ($36|0)!=(0); + if ($37) { + HEAP32[$3>>2] = 0; + $53 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($53|0); + } + HEAP32[$7>>2] = 0; + while(1) { + $38 = HEAP32[$7>>2]|0; + $39 = HEAP32[$8>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = ($38|0)<($40|0); + if (!($41)) { + label = 8; + break; } - $24 = HEAP32[$2>>2]|0; - $25 = (_cannotBeFunction($18,$24)|0); - $26 = ($25|0)!=(0); - if ($26) { - HEAP32[$0>>2] = 1; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); + $42 = HEAP32[$8>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = (($44) + (($45*20)|0)|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$6>>2]|0; + $49 = (_sqlite3ExprCompare($47,$48,-1)|0); + $50 = ($49|0)<(2); + $51 = HEAP32[$7>>2]|0; + $52 = (($51) + 1)|0; + if ($50) { + label = 6; + break; } - $27 = HEAP32[$db>>2]|0; - $28 = (_sqlite3DbMallocZero($27,72,0)|0); - HEAP32[$pTab>>2] = $28; - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 16|0); - HEAP32[$30>>2] = $28; - $31 = HEAP32[$pTab>>2]|0; - $32 = ($31|0)==(0|0); - if ($32) { - HEAP32[$0>>2] = 2; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); - } - $33 = HEAP32[$pTab>>2]|0; - $34 = ((($33)) + 36|0); - HEAP16[$34>>1] = 1; - $35 = HEAP32[$db>>2]|0; - $36 = HEAP32[$pCte>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = (_sqlite3DbStrDup($35,$37)|0); - $39 = HEAP32[$pTab>>2]|0; - HEAP32[$39>>2] = $38; - $40 = HEAP32[$pTab>>2]|0; - $41 = ((($40)) + 32|0); - HEAP16[$41>>1] = -1; - $42 = HEAP32[$pTab>>2]|0; - $43 = ((($42)) + 38|0); - HEAP16[$43>>1] = 200; - $44 = HEAP32[$pTab>>2]|0; - $45 = ((($44)) + 42|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = $47 | 66; - $49 = $48&255; - HEAP8[$45>>0] = $49; - $50 = HEAP32[$db>>2]|0; - $51 = HEAP32[$pCte>>2]|0; - $52 = ((($51)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = (_sqlite3SelectDup($50,$53,0)|0); - $55 = HEAP32[$2>>2]|0; - $56 = ((($55)) + 20|0); - HEAP32[$56>>2] = $54; - $57 = HEAP32[$db>>2]|0; - $58 = ((($57)) + 69|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59<<24>>24)!=(0); - if ($60) { - HEAP32[$0>>2] = 7; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); + HEAP32[$7>>2] = $52; + } + if ((label|0) == 6) { + HEAP32[$3>>2] = $52; + $53 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($53|0); + } + else if ((label|0) == 8) { + HEAP32[$3>>2] = 0; + $53 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($53|0); + } + return (0)|0; +} +function _sqlite3ExprCompare($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $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, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(0|0); + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)==(0|0); + $or$cond = $9 | $11; + if ($or$cond) { + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = ($12|0)==($13|0); + $15 = $14 ? 0 : 2; + HEAP32[$3>>2] = $15; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); + } + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = $18 | $21; + HEAP32[$7>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = $23 & 1024; + $25 = ($24|0)!=(0); + $26 = HEAP32[$4>>2]|0; + if ($25) { + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = $28 & $31; + $33 = $32 & 1024; + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($37|0)==($40|0); + if ($41) { + HEAP32[$3>>2] = 0; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); + } } - $61 = HEAP32[$2>>2]|0; - $62 = ((($61)) + 20|0); - $63 = HEAP32[$62>>2]|0; - HEAP32[$pSel>>2] = $63; - $64 = HEAP32[$pSel>>2]|0; - $65 = ((($64)) + 4|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = ($67|0)==(116); - if ($68) { - $75 = 1; - } else { - $69 = HEAP32[$pSel>>2]|0; - $70 = ((($69)) + 4|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = ($72|0)==(115); - $75 = $73; + HEAP32[$3>>2] = 2; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); + } + $42 = HEAP8[$26>>0]|0; + $43 = $42&255; + $44 = HEAP32[$5>>2]|0; + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = ($43|0)!=($46|0); + $48 = HEAP32[$4>>2]|0; + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + if ($47) { + $51 = ($50|0)==(53); + if ($51) { + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$5>>2]|0; + $56 = HEAP32[$6>>2]|0; + $57 = (_sqlite3ExprCompare($54,$55,$56)|0); + $58 = ($57|0)<(2); + if ($58) { + HEAP32[$3>>2] = 1; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); + } } - $74 = $75&1; - HEAP32[$bMayRecursive>>2] = $74; - $76 = HEAP32[$bMayRecursive>>2]|0; - $77 = ($76|0)!=(0); - L22: do { - if ($77) { - $78 = HEAP32[$2>>2]|0; - $79 = ((($78)) + 20|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($80)) + 28|0); - $82 = HEAP32[$81>>2]|0; - HEAP32[$pSrc>>2] = $82; - HEAP32[$i>>2] = 0; - while(1) { - $83 = HEAP32[$i>>2]|0; - $84 = HEAP32[$pSrc>>2]|0; + $59 = HEAP32[$5>>2]|0; + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = ($61|0)==(53); + if ($62) { + $63 = HEAP32[$4>>2]|0; + $64 = HEAP32[$5>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$6>>2]|0; + $68 = (_sqlite3ExprCompare($63,$66,$67)|0); + $69 = ($68|0)<(2); + if ($69) { + HEAP32[$3>>2] = 1; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); + } + } + HEAP32[$3>>2] = 2; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); + } + $70 = ($50|0)!=(152); + do { + if ($70) { + $71 = HEAP32[$4>>2]|0; + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = ($73|0)!=(154); + if ($74) { + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 8|0); + $77 = HEAP32[$76>>2]|0; + $78 = ($77|0)!=(0|0); + if ($78) { + $79 = HEAP32[$4>>2]|0; + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ($81|0)==(151); + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 8|0); $85 = HEAP32[$84>>2]|0; - $86 = ($83|0)<($85|0); - if (!($86)) { - break L22; - } - $87 = HEAP32[$i>>2]|0; - $88 = HEAP32[$pSrc>>2]|0; - $89 = ((($88)) + 8|0); - $90 = (($89) + (($87*72)|0)|0); - HEAP32[$pItem>>2] = $90; - $91 = HEAP32[$pItem>>2]|0; - $92 = ((($91)) + 4|0); - $93 = HEAP32[$92>>2]|0; - $94 = ($93|0)==(0|0); - if ($94) { - $95 = HEAP32[$pItem>>2]|0; - $96 = ((($95)) + 8|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)!=(0|0); - if ($98) { - $99 = HEAP32[$pItem>>2]|0; - $100 = ((($99)) + 8|0); - $101 = HEAP32[$100>>2]|0; - $102 = HEAP32[$pCte>>2]|0; - $103 = HEAP32[$102>>2]|0; - $104 = (_sqlite3StrICmp($101,$103)|0); - $105 = (0)==($104|0); - if ($105) { - $106 = HEAP32[$pTab>>2]|0; - $107 = HEAP32[$pItem>>2]|0; - $108 = ((($107)) + 16|0); - HEAP32[$108>>2] = $106; - $109 = HEAP32[$pItem>>2]|0; - $110 = ((($109)) + 36|0); - $111 = ((($110)) + 1|0); - $112 = HEAP8[$111>>0]|0; - $113 = $112 & -33; - $114 = $113 | 32; - HEAP8[$111>>0] = $114; - $115 = HEAP32[$pTab>>2]|0; - $116 = ((($115)) + 36|0); - $117 = HEAP16[$116>>1]|0; - $118 = (($117) + 1)<<16>>16; - HEAP16[$116>>1] = $118; - $119 = HEAP32[$pSel>>2]|0; - $120 = ((($119)) + 8|0); - $121 = HEAP32[$120>>2]|0; - $122 = $121 | 8192; - HEAP32[$120>>2] = $122; - } + $86 = HEAP32[$5>>2]|0; + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + if ($82) { + $89 = (_sqlite3StrICmp($85,$88)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + break; + } + HEAP32[$3>>2] = 2; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); + } else { + $91 = (_strcmp($85,$88)|0); + $92 = ($91|0)!=(0); + if (!($92)) { + break; } + $93 = HEAP32[$4>>2]|0; + $94 = HEAP8[$93>>0]|0; + $95 = $94&255; + $96 = ($95|0)==(53); + $97 = $96 ? 1 : 2; + HEAP32[$3>>2] = $97; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); } - $123 = HEAP32[$i>>2]|0; - $124 = (($123) + 1)|0; - HEAP32[$i>>2] = $124; } } - } while(0); - $125 = HEAP32[$pTab>>2]|0; - $126 = ((($125)) + 36|0); - $127 = HEAP16[$126>>1]|0; - $128 = $127&65535; - $129 = ($128|0)>(2); - if ($129) { - $130 = HEAP32[$pParse>>2]|0; - $131 = HEAP32[$pCte>>2]|0; - $132 = HEAP32[$131>>2]|0; - HEAP32[$vararg_buffer1>>2] = $132; - _sqlite3ErrorMsg($130,30455,$vararg_buffer1); - HEAP32[$0>>2] = 1; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); } - $133 = HEAP32[$pCte>>2]|0; - $134 = ((($133)) + 12|0); - HEAP32[$134>>2] = 30498; - $135 = HEAP32[$pParse>>2]|0; - $136 = ((($135)) + 472|0); - $137 = HEAP32[$136>>2]|0; - HEAP32[$pSavedWith>>2] = $137; - $138 = HEAP32[$pWith>>2]|0; - $139 = HEAP32[$pParse>>2]|0; - $140 = ((($139)) + 472|0); - HEAP32[$140>>2] = $138; - $141 = HEAP32[$1>>2]|0; - $142 = HEAP32[$bMayRecursive>>2]|0; - $143 = ($142|0)!=(0); - $144 = HEAP32[$pSel>>2]|0; - if ($143) { - $145 = ((($144)) + 48|0); - $146 = HEAP32[$145>>2]|0; - $147 = $146; - } else { - $147 = $144; - } - (_sqlite3WalkSelect($141,$147)|0); - $148 = HEAP32[$pWith>>2]|0; - $149 = HEAP32[$pParse>>2]|0; - $150 = ((($149)) + 472|0); - HEAP32[$150>>2] = $148; - $151 = HEAP32[$pSel>>2]|0; - HEAP32[$pLeft>>2] = $151; - while(1) { - $152 = HEAP32[$pLeft>>2]|0; - $153 = ((($152)) + 48|0); - $154 = HEAP32[$153>>2]|0; - $155 = ($154|0)!=(0|0); - $156 = HEAP32[$pLeft>>2]|0; - if (!($155)) { - break; + } while(0); + $98 = HEAP32[$4>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP32[$99>>2]|0; + $101 = $100 & 16; + $102 = HEAP32[$5>>2]|0; + $103 = ((($102)) + 4|0); + $104 = HEAP32[$103>>2]|0; + $105 = $104 & 16; + $106 = ($101|0)!=($105|0); + if ($106) { + HEAP32[$3>>2] = 2; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); + } + $107 = HEAP32[$7>>2]|0; + $108 = $107 & 16384; + $109 = ($108|0)==(0); + do { + if ($109) { + $110 = HEAP32[$7>>2]|0; + $111 = $110 & 2048; + $112 = ($111|0)!=(0); + if ($112) { + HEAP32[$3>>2] = 2; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); } - $157 = ((($156)) + 48|0); - $158 = HEAP32[$157>>2]|0; - HEAP32[$pLeft>>2] = $158; - } - $159 = HEAP32[$156>>2]|0; - HEAP32[$pEList>>2] = $159; - $160 = HEAP32[$pCte>>2]|0; - $161 = ((($160)) + 4|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)!=(0|0); - if ($163) { - $164 = HEAP32[$pEList>>2]|0; - $165 = ($164|0)!=(0|0); - if ($165) { - $166 = HEAP32[$pEList>>2]|0; - $167 = HEAP32[$166>>2]|0; - $168 = HEAP32[$pCte>>2]|0; - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = HEAP32[$170>>2]|0; - $172 = ($167|0)!=($171|0); - if ($172) { - $173 = HEAP32[$pParse>>2]|0; - $174 = HEAP32[$pCte>>2]|0; - $175 = HEAP32[$174>>2]|0; - $176 = HEAP32[$pEList>>2]|0; - $177 = HEAP32[$176>>2]|0; - $178 = HEAP32[$pCte>>2]|0; - $179 = ((($178)) + 4|0); - $180 = HEAP32[$179>>2]|0; - $181 = HEAP32[$180>>2]|0; - HEAP32[$vararg_buffer4>>2] = $175; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $177; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $181; - _sqlite3ErrorMsg($173,30521,$vararg_buffer4); - $182 = HEAP32[$pSavedWith>>2]|0; - $183 = HEAP32[$pParse>>2]|0; - $184 = ((($183)) + 472|0); - HEAP32[$184>>2] = $182; - HEAP32[$0>>2] = 1; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); - } + $113 = HEAP32[$4>>2]|0; + $114 = ((($113)) + 12|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$5>>2]|0; + $117 = ((($116)) + 12|0); + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$6>>2]|0; + $120 = (_sqlite3ExprCompare($115,$118,$119)|0); + $121 = ($120|0)!=(0); + if ($121) { + HEAP32[$3>>2] = 2; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); } - $185 = HEAP32[$pCte>>2]|0; - $186 = ((($185)) + 4|0); - $187 = HEAP32[$186>>2]|0; - HEAP32[$pEList>>2] = $187; - } - $188 = HEAP32[$pParse>>2]|0; - $189 = HEAP32[$pEList>>2]|0; - $190 = HEAP32[$pTab>>2]|0; - $191 = ((($190)) + 34|0); - $192 = HEAP32[$pTab>>2]|0; - $193 = ((($192)) + 4|0); - (_sqlite3ColumnsFromExprList($188,$189,$191,$193)|0); - $194 = HEAP32[$bMayRecursive>>2]|0; - $195 = ($194|0)!=(0); - if ($195) { - $196 = HEAP32[$pSel>>2]|0; - $197 = ((($196)) + 8|0); - $198 = HEAP32[$197>>2]|0; - $199 = $198 & 8192; - $200 = ($199|0)!=(0); - $201 = HEAP32[$pCte>>2]|0; - $202 = ((($201)) + 12|0); - if ($200) { - HEAP32[$202>>2] = 30559; - } else { - HEAP32[$202>>2] = 30593; + $122 = HEAP32[$4>>2]|0; + $123 = ((($122)) + 16|0); + $124 = HEAP32[$123>>2]|0; + $125 = HEAP32[$5>>2]|0; + $126 = ((($125)) + 16|0); + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$6>>2]|0; + $129 = (_sqlite3ExprCompare($124,$127,$128)|0); + $130 = ($129|0)!=(0); + if ($130) { + HEAP32[$3>>2] = 2; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); } - $203 = HEAP32[$1>>2]|0; - $204 = HEAP32[$pSel>>2]|0; - (_sqlite3WalkSelect($203,$204)|0); - } - $205 = HEAP32[$pCte>>2]|0; - $206 = ((($205)) + 12|0); - HEAP32[$206>>2] = 0; - $207 = HEAP32[$pSavedWith>>2]|0; - $208 = HEAP32[$pParse>>2]|0; - $209 = ((($208)) + 472|0); - HEAP32[$209>>2] = $207; - } - HEAP32[$0>>2] = 0; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); -} -function _cannotBeFunction($pParse,$pFrom) { - $pParse = $pParse|0; - $pFrom = $pFrom|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pFrom; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 36|0); - $5 = ((($4)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6&255) >>> 2; - $8 = $7 & 1; - $9 = $8&255; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$vararg_buffer>>2] = $14; - _sqlite3ErrorMsg($11,30432,$vararg_buffer); - HEAP32[$0>>2] = 1; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); - } else { - HEAP32[$0>>2] = 0; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); - } - return (0)|0; -} -function _sqlite3IndexedByLookup($pParse,$pFrom) { - $pParse = $pParse|0; - $pFrom = $pFrom|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pIdx = 0, $pTab = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $zIndexedBy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $pTab = sp + 16|0; - $zIndexedBy = sp + 12|0; - $pIdx = sp + 8|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pFrom; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - do { - if ($6) { - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 36|0); - $9 = ((($8)) + 1|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10&255) >>> 1; - $12 = $11 & 1; - $13 = $12&255; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$pTab>>2] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 64|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$zIndexedBy>>2] = $20; - $21 = HEAP32[$pTab>>2]|0; - $22 = ((($21)) + 8|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$pIdx>>2] = $23; - while(1) { - $24 = HEAP32[$pIdx>>2]|0; - $25 = ($24|0)!=(0|0); - if (!($25)) { - break; + $131 = HEAP32[$4>>2]|0; + $132 = ((($131)) + 20|0); + $133 = HEAP32[$132>>2]|0; + $134 = HEAP32[$5>>2]|0; + $135 = ((($134)) + 20|0); + $136 = HEAP32[$135>>2]|0; + $137 = HEAP32[$6>>2]|0; + $138 = (_sqlite3ExprListCompare($133,$136,$137)|0); + $139 = ($138|0)!=(0); + if ($139) { + HEAP32[$3>>2] = 2; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); + } + $140 = HEAP32[$7>>2]|0; + $141 = $140 & 8192; + $142 = ($141|0)==(0); + if ($142) { + $143 = HEAP32[$4>>2]|0; + $144 = HEAP8[$143>>0]|0; + $145 = $144&255; + $146 = ($145|0)!=(97); + if ($146) { + $147 = HEAP32[$4>>2]|0; + $148 = ((($147)) + 32|0); + $149 = HEAP16[$148>>1]|0; + $150 = $149 << 16 >> 16; + $151 = HEAP32[$5>>2]|0; + $152 = ((($151)) + 32|0); + $153 = HEAP16[$152>>1]|0; + $154 = $153 << 16 >> 16; + $155 = ($150|0)!=($154|0); + if ($155) { + HEAP32[$3>>2] = 2; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); } - $26 = HEAP32[$pIdx>>2]|0; - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$zIndexedBy>>2]|0; - $29 = (_sqlite3StrICmp($27,$28)|0); - $30 = ($29|0)!=(0); - if (!($30)) { - break; + $156 = HEAP32[$4>>2]|0; + $157 = ((($156)) + 28|0); + $158 = HEAP32[$157>>2]|0; + $159 = HEAP32[$5>>2]|0; + $160 = ((($159)) + 28|0); + $161 = HEAP32[$160>>2]|0; + $162 = ($158|0)!=($161|0); + if ($162) { + $163 = HEAP32[$4>>2]|0; + $164 = ((($163)) + 28|0); + $165 = HEAP32[$164>>2]|0; + $166 = HEAP32[$6>>2]|0; + $167 = ($165|0)!=($166|0); + if (!($167)) { + $168 = HEAP32[$5>>2]|0; + $169 = ((($168)) + 28|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)>=(0); + if (!($171)) { + break; + } + } + HEAP32[$3>>2] = 2; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); } - $31 = HEAP32[$pIdx>>2]|0; - $32 = ((($31)) + 20|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$pIdx>>2] = $33; - } - $34 = HEAP32[$pIdx>>2]|0; - $35 = ($34|0)!=(0|0); - if ($35) { - $40 = HEAP32[$pIdx>>2]|0; - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 68|0); - HEAP32[$42>>2] = $40; - break; } - $36 = HEAP32[$1>>2]|0; - $37 = HEAP32[$zIndexedBy>>2]|0; - HEAP32[$vararg_buffer>>2] = $37; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - _sqlite3ErrorMsg($36,30414,$vararg_buffer); - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 17|0); - HEAP8[$39>>0] = 1; - HEAP32[$0>>2] = 1; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); } } } while(0); - HEAP32[$0>>2] = 0; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); + HEAP32[$3>>2] = 0; + $172 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($172|0); } -function _sqliteProcessJoin($pParse,$p) { - $pParse = $pParse|0; - $p = $p|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 $i = 0, $iLeft = 0, $iLeft2 = 0, $iLeftCol = 0, $iLeftCol3 = 0, $iRightCol = 0, $isOuter = 0, $j = 0, $or$cond = 0, $pLeft = 0, $pLeftTab = 0, $pList = 0, $pRight = 0, $pRightTab = 0, $pSrc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $zName = 0, $zName1 = 0; - var label = 0, sp = 0; +function _sqlite3ExprListCompare($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0; + var $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 92|0; - $1 = sp + 88|0; - $2 = sp + 84|0; - $pSrc = sp + 80|0; - $i = sp + 76|0; - $j = sp + 72|0; - $pLeft = sp + 68|0; - $pRight = sp + 64|0; - $pLeftTab = sp + 60|0; - $pRightTab = sp + 56|0; - $isOuter = sp + 52|0; - $zName = sp + 48|0; - $iLeft = sp + 44|0; - $iLeftCol = sp + 40|0; - $pList = sp + 36|0; - $zName1 = sp + 32|0; - $iLeft2 = sp + 28|0; - $iLeftCol3 = sp + 24|0; - $iRightCol = sp + 20|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 28|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pSrc>>2] = $5; - $6 = HEAP32[$pSrc>>2]|0; - $7 = ((($6)) + 8|0); - HEAP32[$pLeft>>2] = $7; - $8 = HEAP32[$pLeft>>2]|0; - $9 = ((($8)) + 72|0); - HEAP32[$pRight>>2] = $9; - HEAP32[$i>>2] = 0; - L1: while(1) { - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$pSrc>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (($12) - 1)|0; - $14 = ($10|0)<($13|0); - if (!($14)) { - label = 28; - break; - } - $15 = HEAP32[$pLeft>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$pLeftTab>>2] = $17; - $18 = HEAP32[$pRight>>2]|0; - $19 = ((($18)) + 16|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pRightTab>>2] = $20; - $21 = HEAP32[$pLeftTab>>2]|0; - $22 = ($21|0)==(0|0); - $23 = HEAP32[$pRightTab>>2]|0; - $24 = ($23|0)==(0|0); - $or$cond = $22 | $24; - L4: do { - if (!($or$cond)) { - $25 = HEAP32[$pRight>>2]|0; - $26 = ((($25)) + 36|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 & 32; - $30 = ($29|0)!=(0); - $31 = $30&1; - HEAP32[$isOuter>>2] = $31; - $32 = HEAP32[$pRight>>2]|0; - $33 = ((($32)) + 36|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = $35 & 4; - $37 = ($36|0)!=(0); - L6: do { - if ($37) { - $38 = HEAP32[$pRight>>2]|0; - $39 = ((($38)) + 48|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)!=(0|0); - if ($41) { - label = 7; - break L1; - } - $42 = HEAP32[$pRight>>2]|0; - $43 = ((($42)) + 52|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)!=(0|0); - if ($45) { - label = 7; - break L1; - } - HEAP32[$j>>2] = 0; - while(1) { - $47 = HEAP32[$j>>2]|0; - $48 = HEAP32[$pRightTab>>2]|0; - $49 = ((($48)) + 34|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50 << 16 >> 16; - $52 = ($47|0)<($51|0); - if (!($52)) { - break L6; - } - $53 = HEAP32[$j>>2]|0; - $54 = HEAP32[$pRightTab>>2]|0; - $55 = ((($54)) + 4|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($56) + ($53<<4)|0); - $58 = HEAP32[$57>>2]|0; - HEAP32[$zName>>2] = $58; - $59 = HEAP32[$pSrc>>2]|0; - $60 = HEAP32[$i>>2]|0; - $61 = (($60) + 1)|0; - $62 = HEAP32[$zName>>2]|0; - $63 = (_tableAndColumnIndex($59,$61,$62,$iLeft,$iLeftCol)|0); - $64 = ($63|0)!=(0); - if ($64) { - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$pSrc>>2]|0; - $67 = HEAP32[$iLeft>>2]|0; - $68 = HEAP32[$iLeftCol>>2]|0; - $69 = HEAP32[$i>>2]|0; - $70 = (($69) + 1)|0; - $71 = HEAP32[$j>>2]|0; - $72 = HEAP32[$isOuter>>2]|0; - $73 = HEAP32[$2>>2]|0; - $74 = ((($73)) + 32|0); - _addWhereTerm($65,$66,$67,$68,$70,$71,$72,$74); - } - $75 = HEAP32[$j>>2]|0; - $76 = (($75) + 1)|0; - HEAP32[$j>>2] = $76; - } - } - } while(0); - $77 = HEAP32[$pRight>>2]|0; - $78 = ((($77)) + 48|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)!=(0|0); - if ($80) { - $81 = HEAP32[$pRight>>2]|0; - $82 = ((($81)) + 52|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)!=(0|0); - if ($84) { - label = 15; - break L1; - } - } - $86 = HEAP32[$pRight>>2]|0; - $87 = ((($86)) + 48|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)!=(0|0); - if ($89) { - $90 = HEAP32[$isOuter>>2]|0; - $91 = ($90|0)!=(0); - if ($91) { - $92 = HEAP32[$pRight>>2]|0; - $93 = ((($92)) + 48|0); - $94 = HEAP32[$93>>2]|0; - $95 = HEAP32[$pRight>>2]|0; - $96 = ((($95)) + 44|0); - $97 = HEAP32[$96>>2]|0; - _setJoinExpr($94,$97); - } - $98 = HEAP32[$1>>2]|0; - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$2>>2]|0; - $101 = ((($100)) + 32|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$pRight>>2]|0; - $104 = ((($103)) + 48|0); - $105 = HEAP32[$104>>2]|0; - $106 = (_sqlite3ExprAnd($99,$102,$105)|0); - $107 = HEAP32[$2>>2]|0; - $108 = ((($107)) + 32|0); - HEAP32[$108>>2] = $106; - $109 = HEAP32[$pRight>>2]|0; - $110 = ((($109)) + 48|0); - HEAP32[$110>>2] = 0; - } - $111 = HEAP32[$pRight>>2]|0; - $112 = ((($111)) + 52|0); - $113 = HEAP32[$112>>2]|0; - $114 = ($113|0)!=(0|0); - if ($114) { - $115 = HEAP32[$pRight>>2]|0; - $116 = ((($115)) + 52|0); - $117 = HEAP32[$116>>2]|0; - HEAP32[$pList>>2] = $117; - HEAP32[$j>>2] = 0; - while(1) { - $118 = HEAP32[$j>>2]|0; - $119 = HEAP32[$pList>>2]|0; - $120 = ((($119)) + 4|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($118|0)<($121|0); - if (!($122)) { - break L4; - } - $123 = HEAP32[$j>>2]|0; - $124 = HEAP32[$pList>>2]|0; - $125 = HEAP32[$124>>2]|0; - $126 = (($125) + ($123<<3)|0); - $127 = HEAP32[$126>>2]|0; - HEAP32[$zName1>>2] = $127; - $128 = HEAP32[$pRightTab>>2]|0; - $129 = HEAP32[$zName1>>2]|0; - $130 = (_columnIndex($128,$129)|0); - HEAP32[$iRightCol>>2] = $130; - $131 = HEAP32[$iRightCol>>2]|0; - $132 = ($131|0)<(0); - if ($132) { - label = 25; - break L1; - } - $133 = HEAP32[$pSrc>>2]|0; - $134 = HEAP32[$i>>2]|0; - $135 = (($134) + 1)|0; - $136 = HEAP32[$zName1>>2]|0; - $137 = (_tableAndColumnIndex($133,$135,$136,$iLeft2,$iLeftCol3)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - label = 25; - break L1; - } - $141 = HEAP32[$1>>2]|0; - $142 = HEAP32[$pSrc>>2]|0; - $143 = HEAP32[$iLeft2>>2]|0; - $144 = HEAP32[$iLeftCol3>>2]|0; - $145 = HEAP32[$i>>2]|0; - $146 = (($145) + 1)|0; - $147 = HEAP32[$iRightCol>>2]|0; - $148 = HEAP32[$isOuter>>2]|0; - $149 = HEAP32[$2>>2]|0; - $150 = ((($149)) + 32|0); - _addWhereTerm($141,$142,$143,$144,$146,$147,$148,$150); - $151 = HEAP32[$j>>2]|0; - $152 = (($151) + 1)|0; - HEAP32[$j>>2] = $152; - } - } - } - } while(0); - $153 = HEAP32[$i>>2]|0; - $154 = (($153) + 1)|0; - HEAP32[$i>>2] = $154; - $155 = HEAP32[$pRight>>2]|0; - $156 = ((($155)) + 72|0); - HEAP32[$pRight>>2] = $156; - $157 = HEAP32[$pLeft>>2]|0; - $158 = ((($157)) + 72|0); - HEAP32[$pLeft>>2] = $158; - } - if ((label|0) == 7) { - $46 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = 0; - _sqlite3ErrorMsg($46,30245,$vararg_buffer); - HEAP32[$0>>2] = 1; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); - } - else if ((label|0) == 15) { - $85 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($85,30295,$vararg_buffer2); - HEAP32[$0>>2] = 1; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)==(0|0); + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)==(0|0); + $or$cond = $11 & $13; + if ($or$cond) { + HEAP32[$3>>2] = 0; + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); } - else if ((label|0) == 25) { - $139 = HEAP32[$1>>2]|0; - $140 = HEAP32[$zName1>>2]|0; - HEAP32[$vararg_buffer4>>2] = $140; - _sqlite3ErrorMsg($139,30350,$vararg_buffer4); - HEAP32[$0>>2] = 1; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(0|0); + $16 = HEAP32[$5>>2]|0; + $17 = ($16|0)==(0|0); + $or$cond3 = $15 | $17; + if ($or$cond3) { + HEAP32[$3>>2] = 1; + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); } - else if ((label|0) == 28) { - HEAP32[$0>>2] = 0; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = ($19|0)!=($21|0); + if ($22) { + HEAP32[$3>>2] = 1; + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); } - return (0)|0; -} -function _tableAndColumnIndex($pSrc,$N,$zCol,$piTab,$piCol) { - $pSrc = $pSrc|0; - $N = $N|0; - $zCol = $zCol|0; - $piTab = $piTab|0; - $piCol = $piCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iCol = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $i = sp + 4|0; - $iCol = sp; - HEAP32[$1>>2] = $pSrc; - HEAP32[$2>>2] = $N; - HEAP32[$3>>2] = $zCol; - HEAP32[$4>>2] = $piTab; - HEAP32[$5>>2] = $piCol; - HEAP32[$i>>2] = 0; + HEAP32[$7>>2] = 0; while(1) { - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = ($6|0)<($7|0); - if (!($8)) { - label = 8; + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ($23|0)<($25|0); + if (!($26)) { + label = 14; break; } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 8|0); - $12 = (($11) + (($9*72)|0)|0); - $13 = ((($12)) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$3>>2]|0; - $16 = (_columnIndex($14,$15)|0); - HEAP32[$iCol>>2] = $16; - $17 = HEAP32[$iCol>>2]|0; - $18 = ($17|0)>=(0); - if ($18) { + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = (($29) + (($30*20)|0)|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$8>>2] = $32; + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = (($35) + (($36*20)|0)|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$9>>2] = $38; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = (($41) + (($42*20)|0)|0); + $44 = ((($43)) + 12|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$7>>2]|0; + $51 = (($49) + (($50*20)|0)|0); + $52 = ((($51)) + 12|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = ($46|0)!=($54|0); + if ($55) { + label = 10; break; } - $25 = HEAP32[$i>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$i>>2] = $26; + $56 = HEAP32[$8>>2]|0; + $57 = HEAP32[$9>>2]|0; + $58 = HEAP32[$6>>2]|0; + $59 = (_sqlite3ExprCompare($56,$57,$58)|0); + $60 = ($59|0)!=(0); + if ($60) { + label = 12; + break; + } + $61 = HEAP32[$7>>2]|0; + $62 = (($61) + 1)|0; + HEAP32[$7>>2] = $62; } - if ((label|0) == 8) { - HEAP32[$0>>2] = 0; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); + if ((label|0) == 10) { + HEAP32[$3>>2] = 1; + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); } - $19 = HEAP32[$4>>2]|0; - $20 = ($19|0)!=(0|0); - if ($20) { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$4>>2]|0; - HEAP32[$22>>2] = $21; - $23 = HEAP32[$iCol>>2]|0; - $24 = HEAP32[$5>>2]|0; - HEAP32[$24>>2] = $23; + else if ((label|0) == 12) { + HEAP32[$3>>2] = 1; + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); } - HEAP32[$0>>2] = 1; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); + else if ((label|0) == 14) { + HEAP32[$3>>2] = 0; + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); + } + return (0)|0; } -function _sqlite3IdListIndex($pList,$zName) { - $pList = $pList|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, label = 0, sp = 0; +function _exprDup($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $pList; - HEAP32[$2>>2] = $zName; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = -1; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + STACKTOP = STACKTOP + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $16 = HEAP32[$7>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$7>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$9>>2] = $19; + HEAP32[$10>>2] = 32768; + } else { + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = (_dupedExprSize($21,$22)|0); + $24 = ($23|0)<(0); + $25 = $24 << 31 >> 31; + $26 = (_sqlite3DbMallocRawNN($20,$23,$25)|0); + HEAP32[$9>>2] = $26; + HEAP32[$10>>2] = 0; } - HEAP32[$i>>2] = 0; - while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($5|0)<($8|0); - if (!($9)) { + $27 = HEAP32[$9>>2]|0; + HEAP32[$8>>2] = $27; + $28 = HEAP32[$8>>2]|0; + $29 = ($28|0)!=(0|0); + if (!($29)) { + $189 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($189|0); + } + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = (_dupedExprStructSize($30,$31)|0); + HEAP32[$11>>2] = $32; + $33 = HEAP32[$11>>2]|0; + $34 = $33 & 4095; + HEAP32[$12>>2] = $34; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = $37 & 1024; + $39 = ($38|0)!=(0); + if ($39) { + label = 8; + } else { + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 8|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_sqlite3Strlen30($46)|0); + $48 = (($47) + 1)|0; + HEAP32[$13>>2] = $48; + } else { label = 8; - break; - } - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($10<<3)|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = (_sqlite3StrICmp($14,$15)|0); - $17 = ($16|0)==(0); - $18 = HEAP32[$i>>2]|0; - if ($17) { - label = 6; - break; } - $19 = (($18) + 1)|0; - HEAP32[$i>>2] = $19; } - if ((label|0) == 6) { - HEAP32[$0>>2] = $18; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + if ((label|0) == 8) { + HEAP32[$13>>2] = 0; } - else if ((label|0) == 8) { - HEAP32[$0>>2] = -1; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $49 = HEAP32[$6>>2]|0; + $50 = ($49|0)!=(0); + if ($50) { + $51 = HEAP32[$9>>2]|0; + $52 = HEAP32[$5>>2]|0; + $53 = HEAP32[$12>>2]|0; + _memcpy(($51|0),($52|0),($53|0))|0; + } else { + $54 = HEAP32[$5>>2]|0; + $55 = (_exprStructSize($54)|0); + HEAP32[$14>>2] = $55; + $56 = HEAP32[$9>>2]|0; + $57 = HEAP32[$5>>2]|0; + $58 = HEAP32[$14>>2]|0; + _memcpy(($56|0),($57|0),($58|0))|0; + $59 = HEAP32[$14>>2]|0; + $60 = ($59>>>0)<(48); + if ($60) { + $61 = HEAP32[$9>>2]|0; + $62 = HEAP32[$14>>2]|0; + $63 = (($61) + ($62)|0); + $64 = HEAP32[$14>>2]|0; + $65 = (48 - ($64))|0; + _memset(($63|0),0,($65|0))|0; + } } - return (0)|0; -} -function _columnIndex($pTab,$zCol) { - $pTab = $pTab|0; - $zCol = $zCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $zCol; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 34|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6 << 16 >> 16; - $8 = ($3|0)<($7|0); - if (!($8)) { - label = 6; - break; + $66 = HEAP32[$8>>2]|0; + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + $69 = $68 & -122881; + HEAP32[$67>>2] = $69; + $70 = HEAP32[$11>>2]|0; + $71 = $70 & 24576; + $72 = HEAP32[$8>>2]|0; + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + $75 = $74 | $71; + HEAP32[$73>>2] = $75; + $76 = HEAP32[$10>>2]|0; + $77 = HEAP32[$8>>2]|0; + $78 = ((($77)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = $79 | $76; + HEAP32[$78>>2] = $80; + $81 = HEAP32[$13>>2]|0; + $82 = ($81|0)!=(0); + if ($82) { + $83 = HEAP32[$9>>2]|0; + $84 = HEAP32[$12>>2]|0; + $85 = (($83) + ($84)|0); + $86 = HEAP32[$8>>2]|0; + $87 = ((($86)) + 8|0); + HEAP32[$87>>2] = $85; + HEAP32[$15>>2] = $85; + $88 = HEAP32[$15>>2]|0; + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + 8|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$13>>2]|0; + _memcpy(($88|0),($91|0),($92|0))|0; + } + $93 = HEAP32[$5>>2]|0; + $94 = ((($93)) + 4|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$8>>2]|0; + $97 = ((($96)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = $95 | $98; + $100 = $99 & 8404992; + $101 = (0)==($100|0); + do { + if ($101) { + $102 = HEAP32[$5>>2]|0; + $103 = ((($102)) + 4|0); + $104 = HEAP32[$103>>2]|0; + $105 = $104 & 2048; + $106 = ($105|0)!=(0); + $107 = HEAP32[$4>>2]|0; + $108 = HEAP32[$5>>2]|0; + $109 = ((($108)) + 20|0); + if ($106) { + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$6>>2]|0; + $112 = (_sqlite3SelectDup($107,$110,$111)|0); + $113 = HEAP32[$8>>2]|0; + $114 = ((($113)) + 20|0); + HEAP32[$114>>2] = $112; + break; + } else { + $115 = HEAP32[$109>>2]|0; + $116 = HEAP32[$6>>2]|0; + $117 = (_sqlite3ExprListDup($107,$115,$116)|0); + $118 = HEAP32[$8>>2]|0; + $119 = ((($118)) + 20|0); + HEAP32[$119>>2] = $117; + break; + } } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($9<<4)|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = (_sqlite3StrICmp($14,$15)|0); - $17 = ($16|0)==(0); - $18 = HEAP32[$i>>2]|0; - if ($17) { - label = 4; - break; + } while(0); + $120 = HEAP32[$8>>2]|0; + $121 = ((($120)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = $122 & 24576; + $124 = ($123|0)!=(0); + $125 = HEAP32[$5>>2]|0; + if (!($124)) { + $163 = ((($125)) + 4|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164 & 8404992; + $166 = ($165|0)!=(0); + if ($166) { + $189 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($189|0); } - $19 = (($18) + 1)|0; - HEAP32[$i>>2] = $19; - } - if ((label|0) == 4) { - HEAP32[$0>>2] = $18; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $167 = HEAP32[$8>>2]|0; + $168 = HEAP8[$167>>0]|0; + $169 = $168&255; + $170 = ($169|0)==(159); + if ($170) { + $171 = HEAP32[$5>>2]|0; + $172 = ((($171)) + 12|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[$8>>2]|0; + $$sink = $173;$$sink2 = $174; + } else { + $175 = HEAP32[$4>>2]|0; + $176 = HEAP32[$5>>2]|0; + $177 = ((($176)) + 12|0); + $178 = HEAP32[$177>>2]|0; + $179 = (_sqlite3ExprDup($175,$178,0)|0); + $180 = HEAP32[$8>>2]|0; + $$sink = $179;$$sink2 = $180; + } + $181 = ((($$sink2)) + 12|0); + HEAP32[$181>>2] = $$sink; + $182 = HEAP32[$4>>2]|0; + $183 = HEAP32[$5>>2]|0; + $184 = ((($183)) + 16|0); + $185 = HEAP32[$184>>2]|0; + $186 = (_sqlite3ExprDup($182,$185,0)|0); + $187 = HEAP32[$8>>2]|0; + $188 = ((($187)) + 16|0); + HEAP32[$188>>2] = $186; + $189 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($189|0); } - else if ((label|0) == 6) { - HEAP32[$0>>2] = -1; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $126 = HEAP32[$6>>2]|0; + $127 = (_dupedExprNodeSize($125,$126)|0); + $128 = HEAP32[$9>>2]|0; + $129 = (($128) + ($127)|0); + HEAP32[$9>>2] = $129; + $130 = HEAP32[$8>>2]|0; + $131 = ((($130)) + 4|0); + $132 = HEAP32[$131>>2]|0; + $133 = $132 & 8404992; + $134 = ($133|0)!=(0); + if (!($134)) { + $135 = HEAP32[$5>>2]|0; + $136 = ((($135)) + 12|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)!=(0|0); + if ($138) { + $139 = HEAP32[$4>>2]|0; + $140 = HEAP32[$5>>2]|0; + $141 = ((($140)) + 12|0); + $142 = HEAP32[$141>>2]|0; + $143 = (_exprDup($139,$142,1,$9)|0); + $146 = $143; + } else { + $146 = 0; + } + $144 = HEAP32[$8>>2]|0; + $145 = ((($144)) + 12|0); + HEAP32[$145>>2] = $146; + $147 = HEAP32[$5>>2]|0; + $148 = ((($147)) + 16|0); + $149 = HEAP32[$148>>2]|0; + $150 = ($149|0)!=(0|0); + if ($150) { + $151 = HEAP32[$4>>2]|0; + $152 = HEAP32[$5>>2]|0; + $153 = ((($152)) + 16|0); + $154 = HEAP32[$153>>2]|0; + $155 = (_exprDup($151,$154,1,$9)|0); + $158 = $155; + } else { + $158 = 0; + } + $156 = HEAP32[$8>>2]|0; + $157 = ((($156)) + 16|0); + HEAP32[$157>>2] = $158; } - return (0)|0; -} -function _addWhereTerm($pParse,$pSrc,$iLeft,$iColLeft,$iRight,$iColRight,$isOuterJoin,$ppWhere) { - $pParse = $pParse|0; - $pSrc = $pSrc|0; - $iLeft = $iLeft|0; - $iColLeft = $iColLeft|0; - $iRight = $iRight|0; - $iColRight = $iColRight|0; - $isOuterJoin = $isOuterJoin|0; - $ppWhere = $ppWhere|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $or$cond = 0, $pE1 = 0, $pE2 = 0, $pEq = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $6 = sp + 20|0; - $7 = sp + 16|0; - $db = sp + 12|0; - $pE1 = sp + 8|0; - $pE2 = sp + 4|0; - $pEq = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pSrc; - HEAP32[$2>>2] = $iLeft; - HEAP32[$3>>2] = $iColLeft; - HEAP32[$4>>2] = $iRight; - HEAP32[$5>>2] = $iColRight; - HEAP32[$6>>2] = $isOuterJoin; - HEAP32[$7>>2] = $ppWhere; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$db>>2] = $9; - $10 = HEAP32[$db>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$3>>2]|0; - $14 = (_sqlite3CreateColumnExpr($10,$11,$12,$13)|0); - HEAP32[$pE1>>2] = $14; - $15 = HEAP32[$db>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$4>>2]|0; - $18 = HEAP32[$5>>2]|0; - $19 = (_sqlite3CreateColumnExpr($15,$16,$17,$18)|0); - HEAP32[$pE2>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$pE1>>2]|0; - $22 = HEAP32[$pE2>>2]|0; - $23 = (_sqlite3PExpr($20,37,$21,$22,0)|0); - HEAP32[$pEq>>2] = $23; - $24 = HEAP32[$pEq>>2]|0; - $25 = ($24|0)!=(0|0); - $26 = HEAP32[$6>>2]|0; - $27 = ($26|0)!=(0); - $or$cond = $25 & $27; - if (!($or$cond)) { - $38 = HEAP32[$db>>2]|0; - $39 = HEAP32[$7>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$pEq>>2]|0; - $42 = (_sqlite3ExprAnd($38,$40,$41)|0); - $43 = HEAP32[$7>>2]|0; - HEAP32[$43>>2] = $42; - STACKTOP = sp;return; + $159 = HEAP32[$7>>2]|0; + $160 = ($159|0)!=(0|0); + if (!($160)) { + $189 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($189|0); } - $28 = HEAP32[$pEq>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = $30 | 1; - HEAP32[$29>>2] = $31; - $32 = HEAP32[$pE2>>2]|0; - $33 = ((($32)) + 28|0); - $34 = HEAP32[$33>>2]|0; - $35 = $34&65535; - $36 = HEAP32[$pEq>>2]|0; - $37 = ((($36)) + 36|0); - HEAP16[$37>>1] = $35; - $38 = HEAP32[$db>>2]|0; - $39 = HEAP32[$7>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$pEq>>2]|0; - $42 = (_sqlite3ExprAnd($38,$40,$41)|0); - $43 = HEAP32[$7>>2]|0; - HEAP32[$43>>2] = $42; - STACKTOP = sp;return; + $161 = HEAP32[$9>>2]|0; + $162 = HEAP32[$7>>2]|0; + HEAP32[$162>>2] = $161; + $189 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($189|0); } -function _setJoinExpr($p,$iTable) { - $p = $p|0; - $iTable = $iTable|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; +function _dupedExprSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iTable; - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - break; - } - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 | 1; - HEAP32[$5>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = $8&65535; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 36|0); - HEAP16[$11>>1] = $9; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==(151); - L4: do { - if ($15) { - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 20|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - HEAP32[$i>>2] = 0; - while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 20|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = ($20|0)<($24|0); - if (!($25)) { - break L4; - } - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 20|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 4|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + (($26*20)|0)|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$1>>2]|0; - _setJoinExpr($33,$34); - $35 = HEAP32[$i>>2]|0; - $36 = (($35) + 1)|0; - HEAP32[$i>>2] = $36; - } - } - } - } while(0); - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 12|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$1>>2]|0; - _setJoinExpr($39,$40); - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 16|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$0>>2] = $43; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $26 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($26|0); } - STACKTOP = sp;return; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = (_dupedExprNodeSize($7,$8)|0); + HEAP32[$4>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = $10 & 1; + $12 = ($11|0)!=(0); + if (!($12)) { + $26 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($26|0); + } + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = (_dupedExprSize($15,$16)|0); + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 16|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = (_dupedExprSize($20,$21)|0); + $23 = (($17) + ($22))|0; + $24 = HEAP32[$4>>2]|0; + $25 = (($24) + ($23))|0; + HEAP32[$4>>2] = $25; + $26 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($26|0); } -function _sqlite3ExprAnd($db,$pLeft,$pRight) { - $db = $db|0; - $pLeft = $pLeft|0; - $pRight = $pRight|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pNew = 0, label = 0, sp = 0; +function _dupedExprStructSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 8|0; $3 = sp + 4|0; - $pNew = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pLeft; - HEAP32[$3>>2] = $pRight; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)==(0|0); - $6 = HEAP32[$3>>2]|0; - if ($5) { - HEAP32[$0>>2] = $6; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); - } - $7 = ($6|0)==(0|0); - $8 = HEAP32[$2>>2]|0; - if ($7) { - HEAP32[$0>>2] = $8; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); - } - $9 = (_exprAlwaysFalse($8)|0); - $10 = ($9|0)!=(0); - if (!($10)) { - $11 = HEAP32[$3>>2]|0; - $12 = (_exprAlwaysFalse($11)|0); - $13 = ($12|0)!=(0); - if (!($13)) { - $20 = HEAP32[$1>>2]|0; - $21 = (_sqlite3ExprAlloc($20,28,0,0)|0); - HEAP32[$pNew>>2] = $21; - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$pNew>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$3>>2]|0; - _sqlite3ExprAttachSubtrees($22,$23,$24,$25); - $26 = HEAP32[$pNew>>2]|0; - HEAP32[$0>>2] = $26; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = (0)==($5|0); + do { + if ($6) { + HEAP32[$4>>2] = 48; + } else { + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + HEAP32[$4>>2] = 16396; + break; + } + } + HEAP32[$4>>2] = 8220; } - } - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - _sqlite3ExprDelete($14,$15); - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($16,$17); - $18 = HEAP32[$1>>2]|0; - $19 = (_sqlite3ExprAlloc($18,134,4276,0)|0); - HEAP32[$0>>2] = $19; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); + } while(0); + $15 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($15|0); } -function _exprAlwaysFalse($p) { - $p = $p|0; - var $0 = 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, $v = 0, label = 0, sp = 0; +function _exprStructSize($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; - $v = sp; - HEAP32[$1>>2] = $p; - HEAP32[$v>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 1; - $6 = ($5|0)!=(0); + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = $5 & 16384; + $7 = ($6|0)!=(0); do { - if ($6) { - HEAP32[$0>>2] = 0; + if ($7) { + HEAP32[$1>>2] = 12; } else { - $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3ExprIsInteger($7,$v)|0); - $9 = ($8|0)!=(0); - if ($9) { - $10 = HEAP32[$v>>2]|0; - $11 = ($10|0)==(0); - $12 = $11&1; - HEAP32[$0>>2] = $12; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 & 8192; + $12 = ($11|0)!=(0); + if ($12) { + HEAP32[$1>>2] = 28; break; } else { - HEAP32[$0>>2] = 0; + HEAP32[$1>>2] = 48; break; } } } while(0); - $13 = HEAP32[$0>>2]|0; + $13 = HEAP32[$1>>2]|0; STACKTOP = sp;return ($13|0); } -function _sqlite3ExprAttachSubtrees($db,$pRoot,$pLeft,$pRight) { - $db = $db|0; - $pRoot = $pRoot|0; - $pLeft = $pLeft|0; - $pRight = $pRight|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3ExprListDup($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pRoot; - HEAP32[$2>>2] = $pLeft; - HEAP32[$3>>2] = $pRight; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$2>>2]|0; - _sqlite3ExprDelete($6,$7); - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$3>>2]|0; - _sqlite3ExprDelete($8,$9); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)==(0|0); + if ($13) { + HEAP32[$3>>2] = 0; + $103 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($103|0); } - $10 = HEAP32[$3>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 16|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$3>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = 2097408 & $17; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = $21 | $18; - HEAP32[$20>>2] = $22; + $14 = HEAP32[$4>>2]|0; + $15 = (_sqlite3DbMallocRawNN($14,8,0)|0); + HEAP32[$7>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = ($16|0)==(0|0); + if ($17) { + HEAP32[$3>>2] = 0; + $103 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($103|0); } - $23 = HEAP32[$2>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 12|0); - HEAP32[$27>>2] = $25; - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = 2097408 & $30; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = $34 | $31; - HEAP32[$33>>2] = $35; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$10>>2] = $19; + $20 = HEAP32[$7>>2]|0; + HEAP32[$20>>2] = $19; + $21 = HEAP32[$6>>2]|0; + $22 = $21 & 1; + $23 = ($22|0)==(0); + L9: do { + if ($23) { + HEAP32[$10>>2] = 1; + while(1) { + $24 = HEAP32[$10>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = ($24|0)<($26|0); + if (!($27)) { + break L9; + } + $28 = HEAP32[$10>>2]|0; + $29 = HEAP32[$10>>2]|0; + $30 = (($29) + ($28))|0; + HEAP32[$10>>2] = $30; + } + } + } while(0); + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$10>>2]|0; + $33 = ($32*20)|0; + $34 = (_sqlite3DbMallocRawNN($31,$33,0)|0); + HEAP32[$8>>2] = $34; + $35 = HEAP32[$7>>2]|0; + $36 = ((($35)) + 4|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$8>>2]|0; + $38 = ($37|0)==(0|0); + if ($38) { + $39 = HEAP32[$4>>2]|0; + $40 = HEAP32[$7>>2]|0; + _sqlite3DbFree($39,$40); + HEAP32[$3>>2] = 0; + $103 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($103|0); } - $36 = HEAP32[$1>>2]|0; - _exprSetHeight($36); - STACKTOP = sp;return; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$9>>2] = $43; + HEAP32[$10>>2] = 0; + while(1) { + $44 = HEAP32[$10>>2]|0; + $45 = HEAP32[$5>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = ($44|0)<($46|0); + if (!($47)) { + break; + } + $48 = HEAP32[$9>>2]|0; + $49 = HEAP32[$48>>2]|0; + HEAP32[$11>>2] = $49; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$11>>2]|0; + $52 = HEAP32[$6>>2]|0; + $53 = (_sqlite3ExprDup($50,$51,$52)|0); + $54 = HEAP32[$8>>2]|0; + HEAP32[$54>>2] = $53; + $55 = HEAP32[$4>>2]|0; + $56 = HEAP32[$9>>2]|0; + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + $59 = (_sqlite3DbStrDup($55,$58)|0); + $60 = HEAP32[$8>>2]|0; + $61 = ((($60)) + 4|0); + HEAP32[$61>>2] = $59; + $62 = HEAP32[$4>>2]|0; + $63 = HEAP32[$9>>2]|0; + $64 = ((($63)) + 8|0); + $65 = HEAP32[$64>>2]|0; + $66 = (_sqlite3DbStrDup($62,$65)|0); + $67 = HEAP32[$8>>2]|0; + $68 = ((($67)) + 8|0); + HEAP32[$68>>2] = $66; + $69 = HEAP32[$9>>2]|0; + $70 = ((($69)) + 12|0); + $71 = HEAP8[$70>>0]|0; + $72 = HEAP32[$8>>2]|0; + $73 = ((($72)) + 12|0); + HEAP8[$73>>0] = $71; + $74 = HEAP32[$8>>2]|0; + $75 = ((($74)) + 13|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76 & -2; + HEAP8[$75>>0] = $77; + $78 = HEAP32[$9>>2]|0; + $79 = ((($78)) + 13|0); + $80 = HEAP8[$79>>0]|0; + $81 = ($80&255) >>> 1; + $82 = $81 & 1; + $83 = $82&255; + $84 = HEAP32[$8>>2]|0; + $85 = ((($84)) + 13|0); + $86 = $83&255; + $87 = HEAP8[$85>>0]|0; + $88 = $86 & 1; + $89 = ($88 << 1)&255; + $90 = $87 & -3; + $91 = $90 | $89; + HEAP8[$85>>0] = $91; + $92 = HEAP32[$8>>2]|0; + $93 = ((($92)) + 16|0); + $94 = HEAP32[$9>>2]|0; + $95 = ((($94)) + 16|0); + ;HEAP32[$93>>2]=HEAP32[$95>>2]|0; + $96 = HEAP32[$10>>2]|0; + $97 = (($96) + 1)|0; + HEAP32[$10>>2] = $97; + $98 = HEAP32[$8>>2]|0; + $99 = ((($98)) + 20|0); + HEAP32[$8>>2] = $99; + $100 = HEAP32[$9>>2]|0; + $101 = ((($100)) + 20|0); + HEAP32[$9>>2] = $101; + } + $102 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $102; + $103 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($103|0); } -function _exprSetHeight($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nHeight = 0, label = 0, sp = 0; +function _dupedExprNodeSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $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; - $0 = sp + 4|0; - $nHeight = sp; - HEAP32[$0>>2] = $p; - HEAP32[$nHeight>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - _heightOfExpr($3,$nHeight); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 16|0); - $6 = HEAP32[$5>>2]|0; - _heightOfExpr($6,$nHeight); - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9 & 2048; - $11 = ($10|0)!=(0); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 20|0); - if ($11) { - $14 = HEAP32[$13>>2]|0; - _heightOfSelect($14,$nHeight); - } else { - $15 = HEAP32[$13>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 20|0); - $19 = HEAP32[$18>>2]|0; - _heightOfExprList($19,$nHeight); - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3ExprListFlags($22)|0); - $24 = 2097408 & $23; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = $27 | $24; - HEAP32[$26>>2] = $28; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_dupedExprStructSize($5,$6)|0); + $8 = $7 & 4095; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 1024; + $13 = ($12|0)!=(0); + if (!($13)) { + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3Strlen30($20)|0); + $22 = (($21) + 1)|0; + $23 = HEAP32[$4>>2]|0; + $24 = (($23) + ($22))|0; + HEAP32[$4>>2] = $24; } } - $29 = HEAP32[$nHeight>>2]|0; - $30 = (($29) + 1)|0; - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 24|0); - HEAP32[$32>>2] = $30; - STACKTOP = sp;return; + $25 = HEAP32[$4>>2]|0; + $26 = (($25) + 7)|0; + $27 = $26 & -8; + STACKTOP = sp;return ($27|0); } -function _heightOfExpr($p,$pnHeight) { - $p = $p|0; - $pnHeight = $pnHeight|0; - var $0 = 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, label = 0, sp = 0; +function _selectOpName($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pnHeight; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + switch ($3|0) { + case 116: { + HEAP32[$2>>2] = 28865; + break; } - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 24|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ($6|0)>($8|0); - if (!($9)) { - STACKTOP = sp;return; + case 118: { + HEAP32[$2>>2] = 28875; + break; } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 24|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - HEAP32[$13>>2] = $12; - STACKTOP = sp;return; + case 117: { + HEAP32[$2>>2] = 28885; + break; + } + default: { + HEAP32[$2>>2] = 28892; + } + } + $4 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($4|0); } -function _heightOfSelect($p,$pnHeight) { - $p = $p|0; - $pnHeight = $pnHeight|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3ResolveOrderGroupBy($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, $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, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pnHeight; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; - } - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 32|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - _heightOfExpr($6,$7); - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 40|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - _heightOfExpr($10,$11); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 56|0); + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $13 = HEAP32[$5>>2]|0; $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$1>>2]|0; - _heightOfExpr($14,$15); - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 60|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$1>>2]|0; - _heightOfExpr($18,$19); - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$1>>2]|0; - _heightOfExprList($21,$22); - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 36|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$1>>2]|0; - _heightOfExprList($25,$26); - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 44|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$1>>2]|0; - _heightOfExprList($29,$30); - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 48|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$1>>2]|0; - _heightOfSelect($33,$34); - STACKTOP = sp;return; + HEAP32[$10>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ($15|0)==(0|0); + if (!($16)) { + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 69|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($21|0)!=(0); + if (!($22)) { + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$10>>2]|0; + $26 = ((($25)) + 96|0); + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($24|0)>($28|0); + if ($29) { + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer>>2] = $31; + _sqlite3ErrorMsg($30,28898,$vararg_buffer); + HEAP32[$4>>2] = 1; + $71 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($71|0); + } + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$32>>2]|0; + HEAP32[$11>>2] = $33; + HEAP32[$9>>2] = 0; + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$12>>2] = $36; + while(1) { + $37 = HEAP32[$9>>2]|0; + $38 = HEAP32[$7>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = ($37|0)<($39|0); + if (!($40)) { + label = 13; + break; + } + $41 = HEAP32[$12>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP16[$42>>1]|0; + $44 = ($43<<16>>16)!=(0); + if ($44) { + $45 = HEAP32[$12>>2]|0; + $46 = ((($45)) + 16|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47&65535; + $49 = HEAP32[$11>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = ($48|0)>($50|0); + $52 = HEAP32[$5>>2]|0; + if ($51) { + label = 10; + break; + } + $58 = HEAP32[$11>>2]|0; + $59 = HEAP32[$12>>2]|0; + $60 = ((($59)) + 16|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = (($62) - 1)|0; + $64 = HEAP32[$12>>2]|0; + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$8>>2]|0; + _resolveAlias($52,$58,$63,$65,$66,0); + } + $67 = HEAP32[$9>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$9>>2] = $68; + $69 = HEAP32[$12>>2]|0; + $70 = ((($69)) + 20|0); + HEAP32[$12>>2] = $70; + } + if ((label|0) == 10) { + $53 = HEAP32[$8>>2]|0; + $54 = HEAP32[$9>>2]|0; + $55 = (($54) + 1)|0; + $56 = HEAP32[$11>>2]|0; + $57 = HEAP32[$56>>2]|0; + _resolveOutOfRangeError($52,$53,$55,$57); + HEAP32[$4>>2] = 1; + $71 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($71|0); + } + else if ((label|0) == 13) { + HEAP32[$4>>2] = 0; + $71 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($71|0); + } + } + } + HEAP32[$4>>2] = 0; + $71 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($71|0); } -function _heightOfExprList($p,$pnHeight) { - $p = $p|0; - $pnHeight = $pnHeight|0; - var $0 = 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, $i = 0, label = 0, sp = 0; +function _resolveAlias($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pnHeight; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { + STACKTOP = STACKTOP + 48|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $15 = HEAP32[$7>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$8>>2]|0; + $19 = (($17) + (($18*20)|0)|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$12>>2] = $20; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$14>>2] = $22; + $23 = HEAP32[$14>>2]|0; + $24 = HEAP32[$12>>2]|0; + $25 = (_sqlite3ExprDup($23,$24,0)|0); + HEAP32[$13>>2] = $25; + $26 = HEAP32[$13>>2]|0; + $27 = ($26|0)==(0|0); + if ($27) { STACKTOP = sp;return; } - HEAP32[$i>>2] = 0; - while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ($4|0)<($6|0); - if (!($7)) { - break; + $28 = HEAP32[$10>>2]|0; + $29 = HEAP8[$28>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($30|0)!=(71); + if ($31) { + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$11>>2]|0; + _incrAggFunctionDepth($32,$33); + } + $34 = HEAP32[$9>>2]|0; + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)==(53); + if ($37) { + $38 = HEAP32[$6>>2]|0; + $39 = HEAP32[$13>>2]|0; + $40 = HEAP32[$9>>2]|0; + $41 = ((($40)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = (_sqlite3ExprAddCollateString($38,$39,$42)|0); + HEAP32[$13>>2] = $43; + } + $44 = HEAP32[$13>>2]|0; + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = $46 | 4194304; + HEAP32[$45>>2] = $47; + $48 = HEAP32[$9>>2]|0; + $49 = ((($48)) + 4|0); + $50 = HEAP32[$49>>2]|0; + $51 = $50 | 32768; + HEAP32[$49>>2] = $51; + $52 = HEAP32[$14>>2]|0; + $53 = HEAP32[$9>>2]|0; + _sqlite3ExprDelete($52,$53); + $54 = HEAP32[$9>>2]|0; + $55 = HEAP32[$13>>2]|0; + dest=$54; src=$55; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $56 = HEAP32[$9>>2]|0; + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 & 1024; + $60 = ($59|0)!=(0); + if (!($60)) { + $61 = HEAP32[$9>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($63|0)!=(0|0); + if ($64) { + $65 = HEAP32[$14>>2]|0; + $66 = HEAP32[$9>>2]|0; + $67 = ((($66)) + 8|0); + $68 = HEAP32[$67>>2]|0; + $69 = (_sqlite3DbStrDup($65,$68)|0); + $70 = HEAP32[$9>>2]|0; + $71 = ((($70)) + 8|0); + HEAP32[$71>>2] = $69; + $72 = HEAP32[$9>>2]|0; + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + $75 = $74 | 65536; + HEAP32[$73>>2] = $75; } - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + (($8*20)|0)|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$1>>2]|0; - _heightOfExpr($13,$14); - $15 = HEAP32[$i>>2]|0; - $16 = (($15) + 1)|0; - HEAP32[$i>>2] = $16; } + $76 = HEAP32[$14>>2]|0; + $77 = HEAP32[$13>>2]|0; + _sqlite3DbFree($76,$77); STACKTOP = sp;return; } -function _sqlite3ExprListFlags($pList) { - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, $m = 0, $pExpr = 0, label = 0, sp = 0; +function _incrAggFunctionDepth($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 12|0; - $i = sp + 8|0; - $m = sp + 4|0; - $pExpr = sp; - HEAP32[$0>>2] = $pList; - HEAP32[$m>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - $20 = HEAP32[$m>>2]|0; - STACKTOP = sp;return ($20|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($3|0)<($5|0); - if (!($6)) { - break; - } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + (($7*20)|0)|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$pExpr>>2] = $12; - $13 = HEAP32[$pExpr>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$m>>2]|0; - $17 = $16 | $15; - HEAP32[$m>>2] = $17; - $18 = HEAP32[$i>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$i>>2] = $19; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)>(0); + if (!($6)) { + STACKTOP = sp;return; } - $20 = HEAP32[$m>>2]|0; - STACKTOP = sp;return ($20|0); + ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0; + $7 = ((($4)) + 4|0); + HEAP32[$7>>2] = 202; + $8 = HEAP32[$3>>2]|0; + $9 = ((($4)) + 24|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$2>>2]|0; + (_sqlite3WalkExpr($4,$10)|0); + STACKTOP = sp;return; } -function _sqlite3CreateColumnExpr($db,$pSrc,$iSrc,$iCol) { - $db = $db|0; - $pSrc = $pSrc|0; - $iSrc = $iSrc|0; - $iCol = $iCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0; - var $9 = 0, $p = 0, $pItem = 0, label = 0, sp = 0; +function _sqlite3ExprAddCollateString($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $p = sp + 4|0; - $pItem = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pSrc; - HEAP32[$2>>2] = $iSrc; - HEAP32[$3>>2] = $iCol; - $4 = HEAP32[$0>>2]|0; - $5 = (_sqlite3ExprAlloc($4,152,0,0)|0); - HEAP32[$p>>2] = $5; - $6 = HEAP32[$p>>2]|0; - $7 = ($6|0)!=(0|0); + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + _sqlite3TokenInit($6,$7); + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = (_sqlite3ExprAddCollateToken($8,$9,$6,0)|0); + STACKTOP = sp;return ($10|0); +} +function _sqlite3TokenInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + HEAP32[$5>>2] = $4; + $6 = HEAP32[$3>>2]|0; + $7 = (_sqlite3Strlen30($6)|0); + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 4|0); + HEAP32[$9>>2] = $7; + STACKTOP = sp;return; +} +function _incrAggDepth($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)==(153); if (!($7)) { - $60 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($60|0); + STACKTOP = sp;return 0; } $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 8|0); - $11 = (($10) + (($8*72)|0)|0); - HEAP32[$pItem>>2] = $11; - $12 = HEAP32[$pItem>>2]|0; - $13 = ((($12)) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 44|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$pItem>>2]|0; - $18 = ((($17)) + 44|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 28|0); - HEAP32[$21>>2] = $19; - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 44|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($24)) + 32|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26 << 16 >> 16; - $28 = HEAP32[$3>>2]|0; - $29 = ($27|0)==($28|0); - if ($29) { - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 32|0); - HEAP16[$31>>1] = -1; - } else { - $32 = HEAP32[$3>>2]|0; - $33 = $32&65535; - $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 32|0); - HEAP16[$35>>1] = $33; - $36 = HEAP32[$3>>2]|0; - $37 = ($36|0)>=(64); - $38 = HEAP32[$3>>2]|0; - $39 = $37 ? 63 : $38; - $40 = (_bitshift64Shl(1,0,($39|0))|0); - $41 = tempRet0; - $42 = HEAP32[$pItem>>2]|0; - $43 = ((($42)) + 56|0); - $44 = $43; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = $46 | $40; - $51 = $49 | $41; - $52 = $43; - $53 = $52; - HEAP32[$53>>2] = $50; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = $51; - } - $56 = HEAP32[$p>>2]|0; - $57 = ((($56)) + 4|0); - $58 = HEAP32[$57>>2]|0; - $59 = $58 | 4; - HEAP32[$57>>2] = $59; - $60 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($60|0); + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 38|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = (($14) + ($10))|0; + $16 = $15&255; + HEAP8[$12>>0] = $16; + STACKTOP = sp;return 0; } -function _searchWith($pWith,$pItem,$ppContext) { - $pWith = $pWith|0; - $pItem = $pItem|0; - $ppContext = $ppContext|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0; - var $p = 0, $zName = 0, label = 0, sp = 0; +function _sqlite3ExprCheckHeight($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; + $vararg_buffer = sp; $2 = sp + 16|0; $3 = sp + 12|0; - $zName = sp + 8|0; - $p = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $pWith; - HEAP32[$2>>2] = $pItem; - HEAP32[$3>>2] = $ppContext; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); + $4 = sp + 8|0; + $5 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 96|0); + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = ($11|0)>($12|0); + if (!($13)) { + $16 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($16|0); + } + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $15; + _sqlite3ErrorMsg($14,28929,$vararg_buffer); + HEAP32[$4>>2] = 1; + $16 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($16|0); +} +function _lookupName($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$sink = 0, $$sink10 = 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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $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; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; + var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; + var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0; + var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond18 = 0, $or$cond20 = 0, $or$cond22 = 0, $or$cond3 = 0, $or$cond5 = 0, $vararg_buffer = 0, $vararg_buffer23 = 0, $vararg_buffer29 = 0, $vararg_buffer34 = 0, $vararg_ptr26 = 0, $vararg_ptr27 = 0, $vararg_ptr28 = 0, $vararg_ptr32 = 0; + var $vararg_ptr33 = 0, $vararg_ptr37 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 176|0; + $vararg_buffer34 = sp + 40|0; + $vararg_buffer29 = sp + 24|0; + $vararg_buffer23 = sp + 8|0; + $vararg_buffer = sp; + $6 = sp + 164|0; + $7 = sp + 160|0; + $8 = sp + 156|0; + $9 = sp + 152|0; + $10 = sp + 148|0; + $11 = sp + 144|0; + $12 = sp + 140|0; + $13 = sp + 136|0; + $14 = sp + 132|0; + $15 = sp + 128|0; + $16 = sp + 124|0; + $17 = sp + 120|0; + $18 = sp + 116|0; + $19 = sp + 112|0; + $20 = sp + 108|0; + $21 = sp + 104|0; + $22 = sp + 100|0; + $23 = sp + 96|0; + $24 = sp + 92|0; + $25 = sp + 88|0; + $26 = sp + 84|0; + $27 = sp + 80|0; + $28 = sp + 76|0; + $29 = sp + 72|0; + $30 = sp + 68|0; + $31 = sp + 64|0; + $32 = sp + 60|0; + $33 = sp + 56|0; + $34 = sp + 52|0; + $35 = sp + 48|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$36>>2]|0; + HEAP32[$18>>2] = $37; + HEAP32[$20>>2] = 0; + $38 = HEAP32[$11>>2]|0; + HEAP32[$21>>2] = $38; + HEAP32[$22>>2] = 0; + HEAP32[$23>>2] = 0; + HEAP32[$24>>2] = 0; + $39 = HEAP32[$12>>2]|0; + $40 = ((($39)) + 28|0); + HEAP32[$40>>2] = -1; + $41 = HEAP32[$12>>2]|0; + $42 = ((($41)) + 44|0); + HEAP32[$42>>2] = 0; + $43 = HEAP32[$8>>2]|0; + $44 = ($43|0)!=(0|0); L1: do { - if ($7) { - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$zName>>2] = $10; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $12; - L4: while(1) { - $13 = HEAP32[$p>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - break L1; + if ($44) { + $45 = HEAP32[$11>>2]|0; + $46 = ((($45)) + 28|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47&65535; + $49 = $48 & 6; + $50 = ($49|0)!=(0); + if ($50) { + HEAP32[$8>>2] = 0; + break; + } + HEAP32[$13>>2] = 0; + while(1) { + $51 = HEAP32[$13>>2]|0; + $52 = HEAP32[$18>>2]|0; + $53 = ((($52)) + 20|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($51|0)<($54|0); + if (!($55)) { + break L1; + } + $56 = HEAP32[$18>>2]|0; + $57 = ((($56)) + 16|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$13>>2]|0; + $60 = (($58) + ($59<<4)|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$8>>2]|0; + $63 = (_sqlite3StrICmp($61,$62)|0); + $64 = ($63|0)==(0); + if ($64) { + break; + } + $72 = HEAP32[$13>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$13>>2] = $73; + } + $65 = HEAP32[$18>>2]|0; + $66 = ((($65)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$13>>2]|0; + $69 = (($67) + ($68<<4)|0); + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$22>>2] = $71; + } + } while(0); + L11: while(1) { + $74 = HEAP32[$11>>2]|0; + $75 = ($74|0)!=(0|0); + $76 = HEAP32[$15>>2]|0; + $77 = ($76|0)==(0); + $78 = $75 ? $77 : 0; + if (!($78)) { + label = 84; + break; + } + $79 = HEAP32[$11>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + HEAP32[$27>>2] = $81; + $82 = HEAP32[$27>>2]|0; + $83 = ($82|0)!=(0|0); + if ($83) { + HEAP32[$13>>2] = 0; + $84 = HEAP32[$27>>2]|0; + $85 = ((($84)) + 8|0); + HEAP32[$19>>2] = $85; + while(1) { + $86 = HEAP32[$13>>2]|0; + $87 = HEAP32[$27>>2]|0; + $88 = HEAP32[$87>>2]|0; + $89 = ($86|0)<($88|0); + if (!($89)) { + break; + } + $90 = HEAP32[$19>>2]|0; + $91 = ((($90)) + 16|0); + $92 = HEAP32[$91>>2]|0; + HEAP32[$24>>2] = $92; + $93 = HEAP32[$19>>2]|0; + $94 = ((($93)) + 20|0); + $95 = HEAP32[$94>>2]|0; + $96 = ($95|0)!=(0|0); + if ($96) { + $97 = HEAP32[$19>>2]|0; + $98 = ((($97)) + 20|0); + $99 = HEAP32[$98>>2]|0; + $100 = ((($99)) + 8|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 & 2048; + $103 = ($102|0)!=(0); + if ($103) { + HEAP32[$28>>2] = 0; + $104 = HEAP32[$19>>2]|0; + $105 = ((($104)) + 20|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$106>>2]|0; + HEAP32[$26>>2] = $107; + HEAP32[$14>>2] = 0; + while(1) { + $108 = HEAP32[$14>>2]|0; + $109 = HEAP32[$26>>2]|0; + $110 = HEAP32[$109>>2]|0; + $111 = ($108|0)<($110|0); + if (!($111)) { + break; + } + $112 = HEAP32[$26>>2]|0; + $113 = ((($112)) + 4|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$14>>2]|0; + $116 = (($114) + (($115*20)|0)|0); + $117 = ((($116)) + 8|0); + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$10>>2]|0; + $120 = HEAP32[$9>>2]|0; + $121 = HEAP32[$8>>2]|0; + $122 = (_sqlite3MatchSpanName($118,$119,$120,$121)|0); + $123 = ($122|0)!=(0); + if ($123) { + $124 = HEAP32[$15>>2]|0; + $125 = (($124) + 1)|0; + HEAP32[$15>>2] = $125; + HEAP32[$16>>2] = 2; + $126 = HEAP32[$19>>2]|0; + HEAP32[$20>>2] = $126; + $127 = HEAP32[$14>>2]|0; + $128 = $127&65535; + $129 = HEAP32[$12>>2]|0; + $130 = ((($129)) + 32|0); + HEAP16[$130>>1] = $128; + HEAP32[$28>>2] = 1; + } + $131 = HEAP32[$14>>2]|0; + $132 = (($131) + 1)|0; + HEAP32[$14>>2] = $132; + } + $133 = HEAP32[$28>>2]|0; + $134 = ($133|0)!=(0); + $135 = HEAP32[$9>>2]|0; + $136 = ($135|0)==(0|0); + $or$cond = $134 | $136; + if (!($or$cond)) { + label = 21; + } + } else { + label = 21; + } + } else { + label = 21; + } + L29: do { + if ((label|0) == 21) { + label = 0; + $137 = HEAP32[$8>>2]|0; + $138 = ($137|0)!=(0|0); + if ($138) { + $139 = HEAP32[$24>>2]|0; + $140 = ((($139)) + 64|0); + $141 = HEAP32[$140>>2]|0; + $142 = HEAP32[$22>>2]|0; + $143 = ($141|0)!=($142|0); + if ($143) { + break; + } + } + $144 = HEAP32[$9>>2]|0; + $145 = ($144|0)!=(0|0); + if ($145) { + $146 = HEAP32[$19>>2]|0; + $147 = ((($146)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)!=(0|0); + $150 = HEAP32[$24>>2]|0; + $151 = HEAP32[$19>>2]|0; + $152 = ((($151)) + 12|0); + $$sink = $149 ? $152 : $150; + $153 = HEAP32[$$sink>>2]|0; + HEAP32[$29>>2] = $153; + $154 = HEAP32[$29>>2]|0; + $155 = HEAP32[$9>>2]|0; + $156 = (_sqlite3StrICmp($154,$155)|0); + $157 = ($156|0)!=(0); + if ($157) { + break; + } + } + $158 = HEAP32[$16>>2]|0; + $159 = (($158) + 1)|0; + HEAP32[$16>>2] = $159; + $160 = (0)==($158|0); + if ($160) { + $161 = HEAP32[$19>>2]|0; + HEAP32[$20>>2] = $161; + } + HEAP32[$14>>2] = 0; + $162 = HEAP32[$24>>2]|0; + $163 = ((($162)) + 4|0); + $164 = HEAP32[$163>>2]|0; + HEAP32[$25>>2] = $164; + while(1) { + $165 = HEAP32[$14>>2]|0; + $166 = HEAP32[$24>>2]|0; + $167 = ((($166)) + 34|0); + $168 = HEAP16[$167>>1]|0; + $169 = $168 << 16 >> 16; + $170 = ($165|0)<($169|0); + if (!($170)) { + break L29; + } + $171 = HEAP32[$25>>2]|0; + $172 = HEAP32[$171>>2]|0; + $173 = HEAP32[$10>>2]|0; + $174 = (_sqlite3StrICmp($172,$173)|0); + $175 = ($174|0)==(0); + if ($175) { + $176 = HEAP32[$15>>2]|0; + $177 = ($176|0)==(1); + if (!($177)) { + break; + } + $178 = HEAP32[$19>>2]|0; + $179 = ((($178)) + 36|0); + $180 = HEAP8[$179>>0]|0; + $181 = $180&255; + $182 = $181 & 4; + $183 = ($182|0)!=(0); + if (!($183)) { + $184 = HEAP32[$19>>2]|0; + $185 = ((($184)) + 52|0); + $186 = HEAP32[$185>>2]|0; + $187 = HEAP32[$10>>2]|0; + $188 = (_nameInUsingClause($186,$187)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + break; + } + } + } + $206 = HEAP32[$14>>2]|0; + $207 = (($206) + 1)|0; + HEAP32[$14>>2] = $207; + $208 = HEAP32[$25>>2]|0; + $209 = ((($208)) + 16|0); + HEAP32[$25>>2] = $209; + } + $190 = HEAP32[$15>>2]|0; + $191 = (($190) + 1)|0; + HEAP32[$15>>2] = $191; + $192 = HEAP32[$19>>2]|0; + HEAP32[$20>>2] = $192; + $193 = HEAP32[$14>>2]|0; + $194 = HEAP32[$24>>2]|0; + $195 = ((($194)) + 32|0); + $196 = HEAP16[$195>>1]|0; + $197 = $196 << 16 >> 16; + $198 = ($193|0)==($197|0); + if ($198) { + $203 = -1; + } else { + $199 = HEAP32[$14>>2]|0; + $200 = $199&65535; + $201 = $200 << 16 >> 16; + $203 = $201; + } + $202 = $203&65535; + $204 = HEAP32[$12>>2]|0; + $205 = ((($204)) + 32|0); + HEAP16[$205>>1] = $202; + } + } while(0); + $210 = HEAP32[$13>>2]|0; + $211 = (($210) + 1)|0; + HEAP32[$13>>2] = $211; + $212 = HEAP32[$19>>2]|0; + $213 = ((($212)) + 72|0); + HEAP32[$19>>2] = $213; + } + $214 = HEAP32[$20>>2]|0; + $215 = ($214|0)!=(0|0); + if ($215) { + $216 = HEAP32[$20>>2]|0; + $217 = ((($216)) + 44|0); + $218 = HEAP32[$217>>2]|0; + $219 = HEAP32[$12>>2]|0; + $220 = ((($219)) + 28|0); + HEAP32[$220>>2] = $218; + $221 = HEAP32[$20>>2]|0; + $222 = ((($221)) + 16|0); + $223 = HEAP32[$222>>2]|0; + $224 = HEAP32[$12>>2]|0; + $225 = ((($224)) + 44|0); + HEAP32[$225>>2] = $223; + $226 = HEAP32[$20>>2]|0; + $227 = ((($226)) + 36|0); + $228 = HEAP8[$227>>0]|0; + $229 = $228&255; + $230 = $229 & 8; + $231 = ($230|0)!=(0); + if ($231) { + $232 = HEAP32[$12>>2]|0; + $233 = ((($232)) + 4|0); + $234 = HEAP32[$233>>2]|0; + $235 = $234 | 1048576; + HEAP32[$233>>2] = $235; + } + $236 = HEAP32[$12>>2]|0; + $237 = ((($236)) + 44|0); + $238 = HEAP32[$237>>2]|0; + $239 = ((($238)) + 64|0); + $240 = HEAP32[$239>>2]|0; + HEAP32[$22>>2] = $240; + } + } + $241 = HEAP32[$8>>2]|0; + $242 = ($241|0)==(0|0); + $243 = HEAP32[$9>>2]|0; + $244 = ($243|0)!=(0|0); + $or$cond3 = $242 & $244; + $245 = HEAP32[$16>>2]|0; + $246 = ($245|0)==(0); + $or$cond5 = $or$cond3 & $246; + if ($or$cond5) { + $247 = HEAP32[$7>>2]|0; + $248 = ((($247)) + 128|0); + $249 = HEAP32[$248>>2]|0; + $250 = ($249|0)!=(0|0); + if ($250) { + $251 = HEAP32[$7>>2]|0; + $252 = ((($251)) + 148|0); + $253 = HEAP8[$252>>0]|0; + $254 = $253&255; + HEAP32[$30>>2] = $254; + $255 = HEAP32[$30>>2]|0; + $256 = ($255|0)!=(109); + if ($256) { + $257 = HEAP32[$9>>2]|0; + $258 = (_sqlite3StrICmp(29356,$257)|0); + $259 = ($258|0)==(0); + if ($259) { + $260 = HEAP32[$12>>2]|0; + $261 = ((($260)) + 28|0); + HEAP32[$261>>2] = 1; + $262 = HEAP32[$7>>2]|0; + $263 = ((($262)) + 128|0); + $264 = HEAP32[$263>>2]|0; + HEAP32[$24>>2] = $264; + } else { + label = 47; + } + } else { + label = 47; + } + do { + if ((label|0) == 47) { + label = 0; + $265 = HEAP32[$30>>2]|0; + $266 = ($265|0)!=(108); + if ($266) { + $267 = HEAP32[$9>>2]|0; + $268 = (_sqlite3StrICmp(29360,$267)|0); + $269 = ($268|0)==(0); + if ($269) { + $270 = HEAP32[$12>>2]|0; + $271 = ((($270)) + 28|0); + HEAP32[$271>>2] = 0; + $272 = HEAP32[$7>>2]|0; + $273 = ((($272)) + 128|0); + $274 = HEAP32[$273>>2]|0; + HEAP32[$24>>2] = $274; + break; + } + } + HEAP32[$24>>2] = 0; } - HEAP32[$i>>2] = 0; + } while(0); + $275 = HEAP32[$24>>2]|0; + $276 = ($275|0)!=(0|0); + if ($276) { + $277 = HEAP32[$24>>2]|0; + $278 = ((($277)) + 64|0); + $279 = HEAP32[$278>>2]|0; + HEAP32[$22>>2] = $279; + $280 = HEAP32[$16>>2]|0; + $281 = (($280) + 1)|0; + HEAP32[$16>>2] = $281; + HEAP32[$31>>2] = 0; + $282 = HEAP32[$24>>2]|0; + $283 = ((($282)) + 4|0); + $284 = HEAP32[$283>>2]|0; + HEAP32[$25>>2] = $284; while(1) { - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$p>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ($15|0)<($17|0); - if (!($18)) { + $285 = HEAP32[$31>>2]|0; + $286 = HEAP32[$24>>2]|0; + $287 = ((($286)) + 34|0); + $288 = HEAP16[$287>>1]|0; + $289 = $288 << 16 >> 16; + $290 = ($285|0)<($289|0); + if (!($290)) { break; } - $19 = HEAP32[$zName>>2]|0; - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 8|0); - $23 = (($22) + ($20<<4)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3StrICmp($19,$24)|0); - $26 = ($25|0)==(0); - if ($26) { - break L4; + $291 = HEAP32[$25>>2]|0; + $292 = HEAP32[$291>>2]|0; + $293 = HEAP32[$10>>2]|0; + $294 = (_sqlite3StrICmp($292,$293)|0); + $295 = ($294|0)==(0); + $296 = HEAP32[$31>>2]|0; + if ($295) { + label = 55; + break; } - $33 = HEAP32[$i>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$i>>2] = $34; + $302 = (($296) + 1)|0; + HEAP32[$31>>2] = $302; + $303 = HEAP32[$25>>2]|0; + $304 = ((($303)) + 16|0); + HEAP32[$25>>2] = $304; + } + if ((label|0) == 55) { + label = 0; + $297 = HEAP32[$24>>2]|0; + $298 = ((($297)) + 32|0); + $299 = HEAP16[$298>>1]|0; + $300 = $299 << 16 >> 16; + $301 = ($296|0)==($300|0); + if ($301) { + HEAP32[$31>>2] = -1; + } + } + $305 = HEAP32[$31>>2]|0; + $306 = HEAP32[$24>>2]|0; + $307 = ((($306)) + 34|0); + $308 = HEAP16[$307>>1]|0; + $309 = $308 << 16 >> 16; + $310 = ($305|0)>=($309|0); + if ($310) { + $311 = HEAP32[$10>>2]|0; + $312 = (_sqlite3IsRowid($311)|0); + $313 = ($312|0)!=(0); + if ($313) { + $314 = HEAP32[$24>>2]|0; + $315 = ((($314)) + 42|0); + $316 = HEAP8[$315>>0]|0; + $317 = $316&255; + $318 = $317 & 64; + $319 = ($318|0)==(0); + if ($319) { + HEAP32[$31>>2] = -1; + } + } + } + $320 = HEAP32[$31>>2]|0; + $321 = HEAP32[$24>>2]|0; + $322 = ((($321)) + 34|0); + $323 = HEAP16[$322>>1]|0; + $324 = $323 << 16 >> 16; + $325 = ($320|0)<($324|0); + if ($325) { + $326 = HEAP32[$15>>2]|0; + $327 = (($326) + 1)|0; + HEAP32[$15>>2] = $327; + $328 = HEAP32[$31>>2]|0; + $329 = ($328|0)<(0); + $330 = HEAP32[$12>>2]|0; + if ($329) { + $331 = ((($330)) + 1|0); + HEAP8[$331>>0] = 68; + } else { + $332 = ((($330)) + 28|0); + $333 = HEAP32[$332>>2]|0; + $334 = ($333|0)==(0); + $335 = HEAP32[$31>>2]|0; + $336 = ($335|0)>=(32); + $337 = HEAP32[$31>>2]|0; + $338 = 1 << $337; + $339 = $336 ? -1 : $338; + $340 = HEAP32[$7>>2]|0; + $341 = ((($340)) + 144|0); + $342 = HEAP32[$7>>2]|0; + $343 = ((($342)) + 140|0); + $$sink10 = $334 ? $343 : $341; + $344 = HEAP32[$$sink10>>2]|0; + $345 = $344 | $339; + HEAP32[$$sink10>>2] = $345; + } + $346 = HEAP32[$31>>2]|0; + $347 = $346&65535; + $348 = HEAP32[$12>>2]|0; + $349 = ((($348)) + 32|0); + HEAP16[$349>>1] = $347; + $350 = HEAP32[$24>>2]|0; + $351 = HEAP32[$12>>2]|0; + $352 = ((($351)) + 44|0); + HEAP32[$352>>2] = $350; + HEAP32[$23>>2] = 1; + } + } + } + } + $353 = HEAP32[$15>>2]|0; + $354 = ($353|0)==(0); + $355 = HEAP32[$16>>2]|0; + $356 = ($355|0)==(1); + $or$cond12 = $354 & $356; + $357 = HEAP32[$20>>2]|0; + $358 = ($357|0)!=(0|0); + $or$cond14 = $or$cond12 & $358; + if ($or$cond14) { + $359 = HEAP32[$11>>2]|0; + $360 = ((($359)) + 28|0); + $361 = HEAP16[$360>>1]|0; + $362 = $361&65535; + $363 = $362 & 32; + $364 = ($363|0)==(0); + if ($364) { + $365 = HEAP32[$10>>2]|0; + $366 = (_sqlite3IsRowid($365)|0); + $367 = ($366|0)!=(0); + if ($367) { + $368 = HEAP32[$20>>2]|0; + $369 = ((($368)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ((($370)) + 42|0); + $372 = HEAP8[$371>>0]|0; + $373 = $372&255; + $374 = $373 & 64; + $375 = ($374|0)==(0); + if ($375) { + HEAP32[$15>>2] = 1; + $376 = HEAP32[$12>>2]|0; + $377 = ((($376)) + 32|0); + HEAP16[$377>>1] = -1; + $378 = HEAP32[$12>>2]|0; + $379 = ((($378)) + 1|0); + HEAP8[$379>>0] = 68; } - $35 = HEAP32[$p>>2]|0; - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$p>>2] = $37; } - $27 = HEAP32[$p>>2]|0; - $28 = HEAP32[$3>>2]|0; - HEAP32[$28>>2] = $27; - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 8|0); - $32 = (($31) + ($29<<4)|0); - HEAP32[$0>>2] = $32; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); } } - } while(0); - HEAP32[$0>>2] = 0; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + $380 = HEAP32[$11>>2]|0; + $381 = ((($380)) + 8|0); + $382 = HEAP32[$381>>2]|0; + HEAP32[$26>>2] = $382; + $383 = ($382|0)!=(0|0); + $384 = HEAP32[$9>>2]|0; + $385 = ($384|0)==(0|0); + $or$cond16 = $383 & $385; + $386 = HEAP32[$15>>2]|0; + $387 = ($386|0)==(0); + $or$cond18 = $or$cond16 & $387; + L98: do { + if ($or$cond18) { + HEAP32[$14>>2] = 0; + while(1) { + $388 = HEAP32[$14>>2]|0; + $389 = HEAP32[$26>>2]|0; + $390 = HEAP32[$389>>2]|0; + $391 = ($388|0)<($390|0); + if (!($391)) { + break L98; + } + $392 = HEAP32[$26>>2]|0; + $393 = ((($392)) + 4|0); + $394 = HEAP32[$393>>2]|0; + $395 = HEAP32[$14>>2]|0; + $396 = (($394) + (($395*20)|0)|0); + $397 = ((($396)) + 4|0); + $398 = HEAP32[$397>>2]|0; + HEAP32[$32>>2] = $398; + $399 = HEAP32[$32>>2]|0; + $400 = ($399|0)!=(0|0); + if ($400) { + $401 = HEAP32[$32>>2]|0; + $402 = HEAP32[$10>>2]|0; + $403 = (_sqlite3StrICmp($401,$402)|0); + $404 = ($403|0)==(0); + if ($404) { + label = 77; + break L11; + } + } + $429 = HEAP32[$14>>2]|0; + $430 = (($429) + 1)|0; + HEAP32[$14>>2] = $430; + } + } + } while(0); + $431 = HEAP32[$15>>2]|0; + $432 = ($431|0)==(0); + if (!($432)) { + continue; + } + $433 = HEAP32[$11>>2]|0; + $434 = ((($433)) + 16|0); + $435 = HEAP32[$434>>2]|0; + HEAP32[$11>>2] = $435; + $436 = HEAP32[$17>>2]|0; + $437 = (($436) + 1)|0; + HEAP32[$17>>2] = $437; + } + if ((label|0) == 77) { + $405 = HEAP32[$26>>2]|0; + $406 = ((($405)) + 4|0); + $407 = HEAP32[$406>>2]|0; + $408 = HEAP32[$14>>2]|0; + $409 = (($407) + (($408*20)|0)|0); + $410 = HEAP32[$409>>2]|0; + HEAP32[$33>>2] = $410; + $411 = HEAP32[$11>>2]|0; + $412 = ((($411)) + 28|0); + $413 = HEAP16[$412>>1]|0; + $414 = $413&65535; + $415 = $414 & 1; + $416 = ($415|0)==(0); + if ($416) { + $417 = HEAP32[$33>>2]|0; + $418 = ((($417)) + 4|0); + $419 = HEAP32[$418>>2]|0; + $420 = $419 & 2; + $421 = ($420|0)!=(0); + if ($421) { + $422 = HEAP32[$7>>2]|0; + $423 = HEAP32[$32>>2]|0; + HEAP32[$vararg_buffer>>2] = $423; + _sqlite3ErrorMsg($422,29364,$vararg_buffer); + HEAP32[$6>>2] = 2; + $545 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($545|0); + } + } + $424 = HEAP32[$7>>2]|0; + $425 = HEAP32[$26>>2]|0; + $426 = HEAP32[$14>>2]|0; + $427 = HEAP32[$12>>2]|0; + $428 = HEAP32[$17>>2]|0; + _resolveAlias($424,$425,$426,$427,55752,$428); + HEAP32[$15>>2] = 1; + HEAP32[$20>>2] = 0; + } + else if ((label|0) == 84) { + $438 = HEAP32[$15>>2]|0; + $439 = ($438|0)==(0); + $440 = HEAP32[$9>>2]|0; + $441 = ($440|0)==(0|0); + $or$cond20 = $439 & $441; + if ($or$cond20) { + $442 = HEAP32[$12>>2]|0; + $443 = ((($442)) + 4|0); + $444 = HEAP32[$443>>2]|0; + $445 = $444 & 64; + $446 = ($445|0)!=(0); + if ($446) { + $447 = HEAP32[$12>>2]|0; + HEAP8[$447>>0] = 97; + $448 = HEAP32[$12>>2]|0; + $449 = ((($448)) + 44|0); + HEAP32[$449>>2] = 0; + HEAP32[$6>>2] = 1; + $545 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($545|0); + } + } + $450 = HEAP32[$15>>2]|0; + $451 = ($450|0)!=(1); + if ($451) { + $452 = HEAP32[$15>>2]|0; + $453 = ($452|0)==(0); + $454 = $453 ? 29395 : 29410; + HEAP32[$34>>2] = $454; + $455 = HEAP32[$8>>2]|0; + $456 = ($455|0)!=(0|0); + do { + if ($456) { + $457 = HEAP32[$7>>2]|0; + $458 = HEAP32[$34>>2]|0; + $459 = HEAP32[$8>>2]|0; + $460 = HEAP32[$9>>2]|0; + $461 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer23>>2] = $458; + $vararg_ptr26 = ((($vararg_buffer23)) + 4|0); + HEAP32[$vararg_ptr26>>2] = $459; + $vararg_ptr27 = ((($vararg_buffer23)) + 8|0); + HEAP32[$vararg_ptr27>>2] = $460; + $vararg_ptr28 = ((($vararg_buffer23)) + 12|0); + HEAP32[$vararg_ptr28>>2] = $461; + _sqlite3ErrorMsg($457,29432,$vararg_buffer23); + } else { + $462 = HEAP32[$9>>2]|0; + $463 = ($462|0)!=(0|0); + $464 = HEAP32[$7>>2]|0; + $465 = HEAP32[$34>>2]|0; + if ($463) { + $466 = HEAP32[$9>>2]|0; + $467 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer29>>2] = $465; + $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); + HEAP32[$vararg_ptr32>>2] = $466; + $vararg_ptr33 = ((($vararg_buffer29)) + 8|0); + HEAP32[$vararg_ptr33>>2] = $467; + _sqlite3ErrorMsg($464,26727,$vararg_buffer29); + break; + } else { + $468 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer34>>2] = $465; + $vararg_ptr37 = ((($vararg_buffer34)) + 4|0); + HEAP32[$vararg_ptr37>>2] = $468; + _sqlite3ErrorMsg($464,26737,$vararg_buffer34); + break; + } + } + } while(0); + $469 = HEAP32[$7>>2]|0; + $470 = ((($469)) + 17|0); + HEAP8[$470>>0] = 1; + $471 = HEAP32[$21>>2]|0; + $472 = ((($471)) + 24|0); + $473 = HEAP32[$472>>2]|0; + $474 = (($473) + 1)|0; + HEAP32[$472>>2] = $474; + } + $475 = HEAP32[$12>>2]|0; + $476 = ((($475)) + 32|0); + $477 = HEAP16[$476>>1]|0; + $478 = $477 << 16 >> 16; + $479 = ($478|0)>=(0); + $480 = HEAP32[$20>>2]|0; + $481 = ($480|0)!=(0|0); + $or$cond22 = $479 & $481; + if ($or$cond22) { + $482 = HEAP32[$12>>2]|0; + $483 = ((($482)) + 32|0); + $484 = HEAP16[$483>>1]|0; + $485 = $484 << 16 >> 16; + HEAP32[$35>>2] = $485; + $486 = HEAP32[$35>>2]|0; + $487 = ($486|0)>=(64); + $$ = $487 ? 63 : $485; + HEAP32[$35>>2] = $$; + $488 = HEAP32[$35>>2]|0; + $489 = (_bitshift64Shl(1,0,($488|0))|0); + $490 = tempRet0; + $491 = HEAP32[$20>>2]|0; + $492 = ((($491)) + 56|0); + $493 = $492; + $494 = $493; + $495 = HEAP32[$494>>2]|0; + $496 = (($493) + 4)|0; + $497 = $496; + $498 = HEAP32[$497>>2]|0; + $499 = $495 | $489; + $500 = $498 | $490; + $501 = $492; + $502 = $501; + HEAP32[$502>>2] = $499; + $503 = (($501) + 4)|0; + $504 = $503; + HEAP32[$504>>2] = $500; + } + $505 = HEAP32[$18>>2]|0; + $506 = HEAP32[$12>>2]|0; + $507 = ((($506)) + 12|0); + $508 = HEAP32[$507>>2]|0; + _sqlite3ExprDelete($505,$508); + $509 = HEAP32[$12>>2]|0; + $510 = ((($509)) + 12|0); + HEAP32[$510>>2] = 0; + $511 = HEAP32[$18>>2]|0; + $512 = HEAP32[$12>>2]|0; + $513 = ((($512)) + 16|0); + $514 = HEAP32[$513>>2]|0; + _sqlite3ExprDelete($511,$514); + $515 = HEAP32[$12>>2]|0; + $516 = ((($515)) + 16|0); + HEAP32[$516>>2] = 0; + $517 = HEAP32[$23>>2]|0; + $518 = ($517|0)!=(0); + $519 = $518 ? 88 : 152; + $520 = $519&255; + $521 = HEAP32[$12>>2]|0; + HEAP8[$521>>0] = $520; + } + $522 = HEAP32[$15>>2]|0; + $523 = ($522|0)==(1); + if (!($523)) { + HEAP32[$6>>2] = 2; + $545 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($545|0); + } + $524 = HEAP32[$12>>2]|0; + $525 = ((($524)) + 4|0); + $526 = HEAP32[$525>>2]|0; + $527 = $526 & 4194304; + $528 = ($527|0)!=(0); + if (!($528)) { + $529 = HEAP32[$7>>2]|0; + $530 = HEAP32[$12>>2]|0; + $531 = HEAP32[$22>>2]|0; + $532 = HEAP32[$11>>2]|0; + $533 = ((($532)) + 4|0); + $534 = HEAP32[$533>>2]|0; + _sqlite3AuthRead($529,$530,$531,$534); + } + while(1) { + $535 = HEAP32[$21>>2]|0; + $536 = ((($535)) + 20|0); + $537 = HEAP32[$536>>2]|0; + $538 = (($537) + 1)|0; + HEAP32[$536>>2] = $538; + $539 = HEAP32[$21>>2]|0; + $540 = HEAP32[$11>>2]|0; + $541 = ($539|0)==($540|0); + if ($541) { + break; + } + $542 = HEAP32[$21>>2]|0; + $543 = ((($542)) + 16|0); + $544 = HEAP32[$543>>2]|0; + HEAP32[$21>>2] = $544; + } + HEAP32[$6>>2] = 1; + $545 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($545|0); } -function _sqlite3SrcListDup($db,$p,$flags) { - $db = $db|0; - $p = $p|0; - $flags = $flags|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $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, $i = 0, $nByte = 0, $pNew = 0, $pNewItem = 0, $pOldItem = 0, $pTab = 0, label = 0, sp = 0; +function _notValid($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $pNew = sp + 20|0; - $i = sp + 16|0; - $nByte = sp + 12|0; - $pNewItem = sp + 8|0; - $pOldItem = sp + 4|0; - $pTab = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $flags; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$0>>2] = 0; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); - } - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(0); - if ($8) { - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (($10) - 1)|0; - $12 = ($11*72)|0; - $14 = $12; - } else { - $14 = 0; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$5>>2]|0; + $10 = ((($9)) + 28|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = HEAP32[$7>>2]|0; + $14 = $12 & $13; + $15 = ($14|0)!=(0); + if (!($15)) { + STACKTOP = sp;return; } - $13 = (80 + ($14))|0; - HEAP32[$nByte>>2] = $13; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$nByte>>2]|0; - $17 = ($16|0)<(0); - $18 = $17 << 31 >> 31; - $19 = (_sqlite3DbMallocRawNN($15,$16,$18)|0); - HEAP32[$pNew>>2] = $19; - $20 = HEAP32[$pNew>>2]|0; - $21 = ($20|0)==(0|0); + HEAP32[$8>>2] = 29272; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 28|0); + $18 = HEAP16[$17>>1]|0; + $19 = $18&65535; + $20 = $19 & 32; + $21 = ($20|0)!=(0); if ($21) { - HEAP32[$0>>2] = 0; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); + HEAP32[$8>>2] = 29300; + } else { + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 28|0); + $24 = HEAP16[$23>>1]|0; + $25 = $24&65535; + $26 = $25 & 4; + $27 = ($26|0)!=(0); + if ($27) { + HEAP32[$8>>2] = 29318; + } } - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$pNew>>2]|0; - $25 = ((($24)) + 4|0); - HEAP32[$25>>2] = $23; - $26 = HEAP32[$pNew>>2]|0; - HEAP32[$26>>2] = $23; - HEAP32[$i>>2] = 0; + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer>>2] = $29; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $30; + _sqlite3ErrorMsg($28,29336,$vararg_buffer); + STACKTOP = sp;return; +} +function _sqlite3FindFunction($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 49|0; + $10 = sp + 48|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP8[$9>>0] = $3; + HEAP8[$10>>0] = $4; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + $19 = HEAP32[$7>>2]|0; + $20 = (_sqlite3Strlen30($19)|0); + HEAP32[$15>>2] = $20; + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 348|0); + $23 = HEAP32[$7>>2]|0; + $24 = (_sqlite3HashFind($22,$23)|0); + HEAP32[$11>>2] = $24; while(1) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = ($27|0)<($29|0); - if (!($30)) { + $25 = HEAP32[$11>>2]|0; + $26 = ($25|0)!=(0|0); + if (!($26)) { break; } - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$pNew>>2]|0; - $33 = ((($32)) + 8|0); - $34 = (($33) + (($31*72)|0)|0); - HEAP32[$pNewItem>>2] = $34; - $35 = HEAP32[$i>>2]|0; - $36 = HEAP32[$2>>2]|0; + $27 = HEAP32[$11>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = HEAP8[$9>>0]|0; + $30 = (_matchQuality($27,$28,$29)|0); + HEAP32[$16>>2] = $30; + $31 = HEAP32[$16>>2]|0; + $32 = HEAP32[$13>>2]|0; + $33 = ($31|0)>($32|0); + if ($33) { + $34 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $34; + $35 = HEAP32[$16>>2]|0; + HEAP32[$13>>2] = $35; + } + $36 = HEAP32[$11>>2]|0; $37 = ((($36)) + 8|0); - $38 = (($37) + (($35*72)|0)|0); - HEAP32[$pOldItem>>2] = $38; - $39 = HEAP32[$pOldItem>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$pNewItem>>2]|0; - HEAP32[$41>>2] = $40; - $42 = HEAP32[$1>>2]|0; - $43 = HEAP32[$pOldItem>>2]|0; - $44 = ((($43)) + 4|0); - $45 = HEAP32[$44>>2]|0; - $46 = (_sqlite3DbStrDup($42,$45)|0); - $47 = HEAP32[$pNewItem>>2]|0; - $48 = ((($47)) + 4|0); - HEAP32[$48>>2] = $46; - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$pOldItem>>2]|0; - $51 = ((($50)) + 8|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_sqlite3DbStrDup($49,$52)|0); - $54 = HEAP32[$pNewItem>>2]|0; - $55 = ((($54)) + 8|0); - HEAP32[$55>>2] = $53; - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$pOldItem>>2]|0; - $58 = ((($57)) + 12|0); - $59 = HEAP32[$58>>2]|0; - $60 = (_sqlite3DbStrDup($56,$59)|0); - $61 = HEAP32[$pNewItem>>2]|0; - $62 = ((($61)) + 12|0); - HEAP32[$62>>2] = $60; - $63 = HEAP32[$pNewItem>>2]|0; - $64 = ((($63)) + 36|0); - $65 = HEAP32[$pOldItem>>2]|0; - $66 = ((($65)) + 36|0); - ;HEAP32[$64>>2]=HEAP32[$66>>2]|0; - $67 = HEAP32[$pOldItem>>2]|0; - $68 = ((($67)) + 44|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$pNewItem>>2]|0; - $71 = ((($70)) + 44|0); - HEAP32[$71>>2] = $69; - $72 = HEAP32[$pOldItem>>2]|0; - $73 = ((($72)) + 24|0); - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$pNewItem>>2]|0; - $76 = ((($75)) + 24|0); - HEAP32[$76>>2] = $74; - $77 = HEAP32[$pOldItem>>2]|0; - $78 = ((($77)) + 28|0); - $79 = HEAP32[$78>>2]|0; - $80 = HEAP32[$pNewItem>>2]|0; - $81 = ((($80)) + 28|0); - HEAP32[$81>>2] = $79; - $82 = HEAP32[$pNewItem>>2]|0; - $83 = ((($82)) + 36|0); - $84 = ((($83)) + 1|0); - $85 = HEAP8[$84>>0]|0; - $86 = ($85&255) >>> 1; - $87 = $86 & 1; - $88 = $87&255; - $89 = ($88|0)!=(0); - if ($89) { - $90 = HEAP32[$1>>2]|0; - $91 = HEAP32[$pOldItem>>2]|0; - $92 = ((($91)) + 64|0); - $93 = HEAP32[$92>>2]|0; - $94 = (_sqlite3DbStrDup($90,$93)|0); - $95 = HEAP32[$pNewItem>>2]|0; - $96 = ((($95)) + 64|0); - HEAP32[$96>>2] = $94; + $38 = HEAP32[$37>>2]|0; + HEAP32[$11>>2] = $38; + } + $39 = HEAP8[$10>>0]|0; + $40 = ($39<<24>>24)!=(0); + L8: do { + if (!($40)) { + $41 = HEAP32[$12>>2]|0; + $42 = ($41|0)==(0|0); + if (!($42)) { + $43 = HEAP32[$6>>2]|0; + $44 = ((($43)) + 24|0); + $45 = HEAP32[$44>>2]|0; + $46 = $45 & 2097152; + $47 = ($46|0)!=(0); + if (!($47)) { + break; + } + } + HEAP32[$13>>2] = 0; + $48 = HEAP32[$7>>2]|0; + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + $51 = (20458 + ($50)|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = HEAP32[$15>>2]|0; + $55 = (($53) + ($54))|0; + $56 = (($55|0) % 23)&-1; + HEAP32[$14>>2] = $56; + $57 = HEAP32[$14>>2]|0; + $58 = HEAP32[$7>>2]|0; + $59 = (_functionSearch($57,$58)|0); + HEAP32[$11>>2] = $59; + while(1) { + $60 = HEAP32[$11>>2]|0; + $61 = ($60|0)!=(0|0); + if (!($61)) { + break L8; + } + $62 = HEAP32[$11>>2]|0; + $63 = HEAP32[$8>>2]|0; + $64 = HEAP8[$9>>0]|0; + $65 = (_matchQuality($62,$63,$64)|0); + HEAP32[$17>>2] = $65; + $66 = HEAP32[$17>>2]|0; + $67 = HEAP32[$13>>2]|0; + $68 = ($66|0)>($67|0); + if ($68) { + $69 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $69; + $70 = HEAP32[$17>>2]|0; + HEAP32[$13>>2] = $70; + } + $71 = HEAP32[$11>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + HEAP32[$11>>2] = $73; + } } - $97 = HEAP32[$pOldItem>>2]|0; - $98 = ((($97)) + 68|0); - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$pNewItem>>2]|0; - $101 = ((($100)) + 68|0); - HEAP32[$101>>2] = $99; - $102 = HEAP32[$pNewItem>>2]|0; - $103 = ((($102)) + 36|0); - $104 = ((($103)) + 1|0); - $105 = HEAP8[$104>>0]|0; - $106 = ($105&255) >>> 2; - $107 = $106 & 1; - $108 = $107&255; - $109 = ($108|0)!=(0); - if ($109) { - $110 = HEAP32[$1>>2]|0; - $111 = HEAP32[$pOldItem>>2]|0; - $112 = ((($111)) + 64|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$3>>2]|0; - $115 = (_sqlite3ExprListDup($110,$113,$114)|0); - $116 = HEAP32[$pNewItem>>2]|0; - $117 = ((($116)) + 64|0); - HEAP32[$117>>2] = $115; + } while(0); + $74 = HEAP8[$10>>0]|0; + $75 = $74&255; + $76 = ($75|0)!=(0); + $77 = HEAP32[$13>>2]|0; + $78 = ($77|0)<(6); + $or$cond = $76 & $78; + do { + if ($or$cond) { + $79 = HEAP32[$6>>2]|0; + $80 = HEAP32[$15>>2]|0; + $81 = (28 + ($80))|0; + $82 = (($81) + 1)|0; + $83 = (_sqlite3DbMallocZero($79,$82,0)|0); + HEAP32[$12>>2] = $83; + $84 = ($83|0)!=(0|0); + if ($84) { + $85 = HEAP32[$12>>2]|0; + $86 = ((($85)) + 28|0); + $87 = HEAP32[$12>>2]|0; + $88 = ((($87)) + 20|0); + HEAP32[$88>>2] = $86; + $89 = HEAP32[$8>>2]|0; + $90 = $89&65535; + $91 = $90&255; + $92 = HEAP32[$12>>2]|0; + HEAP8[$92>>0] = $91; + $93 = HEAP8[$9>>0]|0; + $94 = $93&255; + $95 = HEAP32[$12>>2]|0; + $96 = ((($95)) + 2|0); + HEAP16[$96>>1] = $94; + $97 = HEAP32[$12>>2]|0; + $98 = ((($97)) + 28|0); + $99 = HEAP32[$7>>2]|0; + $100 = HEAP32[$15>>2]|0; + $101 = (($100) + 1)|0; + _memcpy(($98|0),($99|0),($101|0))|0; + $102 = HEAP32[$6>>2]|0; + $103 = ((($102)) + 348|0); + $104 = HEAP32[$12>>2]|0; + $105 = ((($104)) + 20|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$12>>2]|0; + $108 = (_sqlite3HashInsert($103,$106,$107)|0); + HEAP32[$18>>2] = $108; + $109 = HEAP32[$18>>2]|0; + $110 = HEAP32[$12>>2]|0; + $111 = ($109|0)==($110|0); + if (!($111)) { + $115 = HEAP32[$18>>2]|0; + $116 = HEAP32[$12>>2]|0; + $117 = ((($116)) + 8|0); + HEAP32[$117>>2] = $115; + break; + } + $112 = HEAP32[$6>>2]|0; + $113 = HEAP32[$12>>2]|0; + _sqlite3DbFree($112,$113); + $114 = HEAP32[$6>>2]|0; + _sqlite3OomFault($114); + HEAP32[$5>>2] = 0; + $128 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($128|0); + } } - $118 = HEAP32[$pOldItem>>2]|0; - $119 = ((($118)) + 16|0); - $120 = HEAP32[$119>>2]|0; - $121 = HEAP32[$pNewItem>>2]|0; - $122 = ((($121)) + 16|0); - HEAP32[$122>>2] = $120; - HEAP32[$pTab>>2] = $120; - $123 = HEAP32[$pTab>>2]|0; - $124 = ($123|0)!=(0|0); - if ($124) { - $125 = HEAP32[$pTab>>2]|0; - $126 = ((($125)) + 36|0); - $127 = HEAP16[$126>>1]|0; - $128 = (($127) + 1)<<16>>16; - HEAP16[$126>>1] = $128; + } while(0); + $118 = HEAP32[$12>>2]|0; + $119 = ($118|0)!=(0|0); + do { + if ($119) { + $120 = HEAP32[$12>>2]|0; + $121 = ((($120)) + 12|0); + $122 = HEAP32[$121>>2]|0; + $123 = ($122|0)!=(0|0); + if (!($123)) { + $124 = HEAP8[$10>>0]|0; + $125 = $124&255; + $126 = ($125|0)!=(0); + if (!($126)) { + break; + } + } + $127 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $127; + $128 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($128|0); } - $129 = HEAP32[$1>>2]|0; - $130 = HEAP32[$pOldItem>>2]|0; - $131 = ((($130)) + 20|0); - $132 = HEAP32[$131>>2]|0; - $133 = HEAP32[$3>>2]|0; - $134 = (_sqlite3SelectDup($129,$132,$133)|0); - $135 = HEAP32[$pNewItem>>2]|0; - $136 = ((($135)) + 20|0); - HEAP32[$136>>2] = $134; - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$pOldItem>>2]|0; - $139 = ((($138)) + 48|0); - $140 = HEAP32[$139>>2]|0; - $141 = HEAP32[$3>>2]|0; - $142 = (_sqlite3ExprDup($137,$140,$141)|0); - $143 = HEAP32[$pNewItem>>2]|0; - $144 = ((($143)) + 48|0); - HEAP32[$144>>2] = $142; - $145 = HEAP32[$1>>2]|0; - $146 = HEAP32[$pOldItem>>2]|0; - $147 = ((($146)) + 52|0); - $148 = HEAP32[$147>>2]|0; - $149 = (_sqlite3IdListDup($145,$148)|0); - $150 = HEAP32[$pNewItem>>2]|0; - $151 = ((($150)) + 52|0); - HEAP32[$151>>2] = $149; - $152 = HEAP32[$pOldItem>>2]|0; - $153 = ((($152)) + 56|0); - $154 = $153; - $155 = $154; - $156 = HEAP32[$155>>2]|0; - $157 = (($154) + 4)|0; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = HEAP32[$pNewItem>>2]|0; - $161 = ((($160)) + 56|0); - $162 = $161; - $163 = $162; - HEAP32[$163>>2] = $156; - $164 = (($162) + 4)|0; - $165 = $164; - HEAP32[$165>>2] = $159; - $166 = HEAP32[$i>>2]|0; - $167 = (($166) + 1)|0; - HEAP32[$i>>2] = $167; - } - $168 = HEAP32[$pNew>>2]|0; - HEAP32[$0>>2] = $168; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); + } while(0); + HEAP32[$5>>2] = 0; + $128 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($128|0); } -function _withDup($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $7 = 0, $8 = 0, $9 = 0, $i = 0, $nByte = 0, $pRet = 0, label = 0, sp = 0; +function _exprProbability($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $1 = sp + 12|0; - $pRet = sp + 8|0; - $nByte = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - HEAP32[$pRet>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $62 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($62|0); + $2 = sp + 8|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAPF64[$3>>3] = -1.0; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)!=(132); + if ($7) { + HEAP32[$1>>2] = -1; + $20 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($20|0); } - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = (($5) - 1)|0; - $7 = $6<<4; - $8 = (24 + ($7))|0; - HEAP32[$nByte>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$nByte>>2]|0; - $11 = ($10|0)<(0); - $12 = $11 << 31 >> 31; - $13 = (_sqlite3DbMallocZero($9,$10,$12)|0); - HEAP32[$pRet>>2] = $13; - $14 = HEAP32[$pRet>>2]|0; - $15 = ($14|0)!=(0|0); - if (!($15)) { - $62 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($62|0); + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3Strlen30($13)|0); + (_sqlite3AtoF($10,$3,$14,1)|0); + $15 = +HEAPF64[$3>>3]; + $16 = $15 > 1.0; + if ($16) { + HEAP32[$1>>2] = -1; + $20 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($20|0); + } else { + $17 = +HEAPF64[$3>>3]; + $18 = $17 * 134217728.0; + $19 = (~~(($18))); + HEAP32[$1>>2] = $19; + $20 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($20|0); } - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$pRet>>2]|0; - HEAP32[$18>>2] = $17; - HEAP32[$i>>2] = 0; + return (0)|0; +} +function _sqlite3FunctionUsesThisSrc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 44|0; + $3 = sp + 40|0; + $4 = sp + 12|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0; + $6 = ((($4)) + 4|0); + HEAP32[$6>>2] = 203; + $7 = ((($4)) + 24|0); + HEAP32[$7>>2] = $5; + $8 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $8; + $9 = ((($5)) + 4|0); + HEAP32[$9>>2] = 0; + $10 = ((($5)) + 8|0); + HEAP32[$10>>2] = 0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + (_sqlite3WalkExprList($4,$13)|0); + $14 = ((($5)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $21 = 1; + $20 = $21&1; + STACKTOP = sp;return ($20|0); + } + $17 = ((($5)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + $21 = $19; + $20 = $21&1; + STACKTOP = sp;return ($20|0); +} +function _sqlite3ExprVectorSize($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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + $3 = sp + 8|0; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP8[$4>>0]|0; + HEAP8[$3>>0] = $5; + $6 = HEAP8[$3>>0]|0; + $7 = $6&255; + $8 = ($7|0)==(157); + if ($8) { + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 38|0); + $11 = HEAP8[$10>>0]|0; + HEAP8[$3>>0] = $11; + } + $12 = HEAP8[$3>>0]|0; + $13 = $12&255; + $14 = ($13|0)==(158); + if ($14) { + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$1>>2] = $18; + $27 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($27|0); + } + $19 = HEAP8[$3>>0]|0; + $20 = $19&255; + $21 = ($20|0)==(119); + if ($21) { + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$1>>2] = $26; + $27 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($27|0); + } else { + HEAP32[$1>>2] = 1; + $27 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($27|0); + } + return (0)|0; +} +function _exprSrcCount($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)==(152); + if (!($11)) { + $12 = HEAP32[$3>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(154); + if (!($15)) { + STACKTOP = sp;return 0; + } + } + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 24|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$5>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$19>>2]|0; + HEAP32[$6>>2] = $20; + $21 = HEAP32[$6>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = $24; + } else { + $25 = 0; + } + HEAP32[$7>>2] = $25; + HEAP32[$4>>2] = 0; while(1) { - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = ($19|0)<($21|0); - if (!($22)) { + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$7>>2]|0; + $28 = ($26|0)<($27|0); + if (!($28)) { break; } - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$i>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 8|0); - $27 = (($26) + ($24<<4)|0); - $28 = ((($27)) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = (_sqlite3SelectDup($23,$29,0)|0); - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$pRet>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 28|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$6>>2]|0; $33 = ((($32)) + 8|0); - $34 = (($33) + ($31<<4)|0); - $35 = ((($34)) + 8|0); - HEAP32[$35>>2] = $30; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$i>>2]|0; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 8|0); - $40 = (($39) + ($37<<4)|0); - $41 = ((($40)) + 4|0); - $42 = HEAP32[$41>>2]|0; - $43 = (_sqlite3ExprListDup($36,$42,0)|0); - $44 = HEAP32[$i>>2]|0; - $45 = HEAP32[$pRet>>2]|0; - $46 = ((($45)) + 8|0); - $47 = (($46) + ($44<<4)|0); - $48 = ((($47)) + 4|0); - HEAP32[$48>>2] = $43; - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$i>>2]|0; - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 8|0); - $53 = (($52) + ($50<<4)|0); - $54 = HEAP32[$53>>2]|0; - $55 = (_sqlite3DbStrDup($49,$54)|0); - $56 = HEAP32[$i>>2]|0; - $57 = HEAP32[$pRet>>2]|0; - $58 = ((($57)) + 8|0); - $59 = (($58) + ($56<<4)|0); - HEAP32[$59>>2] = $55; - $60 = HEAP32[$i>>2]|0; - $61 = (($60) + 1)|0; - HEAP32[$i>>2] = $61; + $34 = HEAP32[$4>>2]|0; + $35 = (($33) + (($34*72)|0)|0); + $36 = ((($35)) + 44|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($31|0)==($37|0); + if ($38) { + break; + } + $39 = HEAP32[$4>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$4>>2] = $40; } - $62 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($62|0); + $41 = HEAP32[$4>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = ($41|0)<($42|0); + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 8|0); + $46 = ((($44)) + 4|0); + $$sink = $43 ? $46 : $45; + $47 = HEAP32[$$sink>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$$sink>>2] = $48; + STACKTOP = sp;return 0; } -function _sqlite3IdListDup($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pNew = 0, $pNewItem = 0, $pOldItem = 0, label = 0, sp = 0; +function _matchQuality($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pNew = sp + 12|0; - $i = sp + 8|0; - $pNewItem = sp + 4|0; - $pOldItem = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = 0; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp + 16|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP8[$6>>0] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(-2); + $10 = HEAP32[$4>>2]|0; + if ($9) { + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0|0); + $14 = $13 ? 0 : 6; + HEAP32[$3>>2] = $14; + $50 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($50|0); } - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3DbMallocRawNN($5,8,0)|0); - HEAP32[$pNew>>2] = $6; - $7 = HEAP32[$pNew>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - HEAP32[$0>>2] = 0; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + $15 = HEAP8[$10>>0]|0; + $16 = $15 << 24 >> 24; + $17 = HEAP32[$5>>2]|0; + $18 = ($16|0)!=($17|0); + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = HEAP8[$19>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($21|0)>=(0); + if ($22) { + HEAP32[$3>>2] = 0; + $50 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($50|0); + } } - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$pNew>>2]|0; - $13 = ((($12)) + 4|0); - HEAP32[$13>>2] = $11; - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17<<3; - $19 = (_sqlite3DbMallocRawNN($14,$18,0)|0); - $20 = HEAP32[$pNew>>2]|0; - HEAP32[$20>>2] = $19; - $21 = HEAP32[$pNew>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(0|0); - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$pNew>>2]|0; - _sqlite3DbFree($24,$25); - HEAP32[$0>>2] = 0; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + $23 = HEAP32[$4>>2]|0; + $24 = HEAP8[$23>>0]|0; + $25 = $24 << 24 >> 24; + $26 = HEAP32[$5>>2]|0; + $27 = ($25|0)==($26|0); + if ($27) { + HEAP32[$7>>2] = 4; + } else { + HEAP32[$7>>2] = 1; } - HEAP32[$i>>2] = 0; - while(1) { - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($26|0)<($29|0); - if (!($30)) { - break; + $28 = HEAP8[$6>>0]|0; + $29 = $28&255; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 2|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32&65535; + $34 = $33 & 3; + $35 = ($29|0)==($34|0); + if ($35) { + $36 = HEAP32[$7>>2]|0; + $37 = (($36) + 2)|0; + HEAP32[$7>>2] = $37; + } else { + $38 = HEAP8[$6>>0]|0; + $39 = $38&255; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 2|0); + $42 = HEAP16[$41>>1]|0; + $43 = $42&65535; + $44 = $39 & $43; + $45 = $44 & 2; + $46 = ($45|0)!=(0); + if ($46) { + $47 = HEAP32[$7>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$7>>2] = $48; } - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$pNew>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + ($31<<3)|0); - HEAP32[$pNewItem>>2] = $34; - $35 = HEAP32[$i>>2]|0; - $36 = HEAP32[$2>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + ($35<<3)|0); - HEAP32[$pOldItem>>2] = $38; - $39 = HEAP32[$1>>2]|0; - $40 = HEAP32[$pOldItem>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = (_sqlite3DbStrDup($39,$41)|0); - $43 = HEAP32[$pNewItem>>2]|0; - HEAP32[$43>>2] = $42; - $44 = HEAP32[$pOldItem>>2]|0; - $45 = ((($44)) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$pNewItem>>2]|0; - $48 = ((($47)) + 4|0); - HEAP32[$48>>2] = $46; - $49 = HEAP32[$i>>2]|0; - $50 = (($49) + 1)|0; - HEAP32[$i>>2] = $50; } - $51 = HEAP32[$pNew>>2]|0; - HEAP32[$0>>2] = $51; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + $49 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $49; + $50 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($50|0); } -function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { - $db = $db|0; - $pTab = $pTab|0; - $pMod = $pMod|0; - $xConstruct = $xConstruct|0; - $pzErr = $pzErr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $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, $azArg = 0, $i = 0, $iCol = 0, $iDb = 0, $j = 0, $nArg = 0, $nDel = 0, $nType = 0, $oooHidden = 0, $or$cond = 0, $pCtx = 0, $pVTable = 0, $rc = 0, $sCtx = 0; - var $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $zErr = 0, $zFormat = 0, $zModuleName = 0, $zType = 0, label = 0, sp = 0; +function _sqlite3MatchSpanName($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, $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, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer11 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 132|0; - $1 = sp + 128|0; - $2 = sp + 124|0; - $3 = sp + 120|0; - $4 = sp + 116|0; - $5 = sp + 112|0; - $sCtx = sp + 96|0; - $pVTable = sp + 92|0; - $rc = sp + 88|0; - $azArg = sp + 84|0; - $nArg = sp + 80|0; - $zErr = sp + 76|0; - $zModuleName = sp + 72|0; - $iDb = sp + 68|0; - $pCtx = sp + 64|0; - $zFormat = sp + 60|0; - $iCol = sp + 56|0; - $oooHidden = sp + 136|0; - $zType = sp + 52|0; - $nType = sp + 48|0; - $i = sp + 44|0; - $j = sp + 40|0; - $nDel = sp + 36|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pTab; - HEAP32[$3>>2] = $pMod; - HEAP32[$4>>2] = $xConstruct; - HEAP32[$5>>2] = $pzErr; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 52|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$azArg>>2] = $8; - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 48|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$nArg>>2] = $11; - HEAP32[$zErr>>2] = 0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 336|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pCtx>>2] = $14; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = 0; while(1) { - $15 = HEAP32[$pCtx>>2]|0; - $16 = ($15|0)!=(0|0); - if (!($16)) { + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$9>>2]|0; + $12 = (($10) + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13 << 24 >> 24; + $15 = ($14|0)!=(0); + if (!($15)) { break; } - $17 = HEAP32[$pCtx>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ($19|0)==($20|0); - if ($21) { - label = 4; + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$9>>2]|0; + $18 = (($16) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19 << 24 >> 24; + $21 = ($20|0)!=(46); + if (!($21)) { break; } - $27 = HEAP32[$pCtx>>2]|0; - $28 = ((($27)) + 8|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$pCtx>>2] = $29; - } - if ((label|0) == 4) { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$23>>2]|0; - HEAP32[$vararg_buffer>>2] = $24; - $25 = (_sqlite3MPrintf($22,30650,$vararg_buffer)|0); - $26 = HEAP32[$5>>2]|0; - HEAP32[$26>>2] = $25; - HEAP32[$0>>2] = 6; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); - } - $30 = HEAP32[$1>>2]|0; - $31 = HEAP32[$2>>2]|0; - $32 = HEAP32[$31>>2]|0; - HEAP32[$vararg_buffer2>>2] = $32; - $33 = (_sqlite3MPrintf($30,18391,$vararg_buffer2)|0); - HEAP32[$zModuleName>>2] = $33; - $34 = HEAP32[$zModuleName>>2]|0; - $35 = ($34|0)!=(0|0); - if (!($35)) { - HEAP32[$0>>2] = 7; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); - } - $36 = HEAP32[$1>>2]|0; - $37 = (_sqlite3DbMallocZero($36,28,0)|0); - HEAP32[$pVTable>>2] = $37; - $38 = HEAP32[$pVTable>>2]|0; - $39 = ($38|0)!=(0|0); - $40 = HEAP32[$1>>2]|0; - if (!($39)) { - $41 = HEAP32[$zModuleName>>2]|0; - _sqlite3DbFree($40,$41); - HEAP32[$0>>2] = 7; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); - } - $42 = HEAP32[$pVTable>>2]|0; - HEAP32[$42>>2] = $40; - $43 = HEAP32[$3>>2]|0; - $44 = HEAP32[$pVTable>>2]|0; - $45 = ((($44)) + 4|0); - HEAP32[$45>>2] = $43; - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$2>>2]|0; - $48 = ((($47)) + 64|0); - $49 = HEAP32[$48>>2]|0; - $50 = (_sqlite3SchemaToIndex($46,$49)|0); - HEAP32[$iDb>>2] = $50; - $51 = HEAP32[$iDb>>2]|0; - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 16|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($51<<4)|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$2>>2]|0; - $58 = ((($57)) + 52|0); - $59 = HEAP32[$58>>2]|0; - $60 = ((($59)) + 4|0); - HEAP32[$60>>2] = $56; - $61 = HEAP32[$2>>2]|0; - $62 = ((($sCtx)) + 4|0); - HEAP32[$62>>2] = $61; - $63 = HEAP32[$pVTable>>2]|0; - HEAP32[$sCtx>>2] = $63; - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 336|0); - $66 = HEAP32[$65>>2]|0; - $67 = ((($sCtx)) + 8|0); - HEAP32[$67>>2] = $66; - $68 = ((($sCtx)) + 12|0); - HEAP32[$68>>2] = 0; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 336|0); - HEAP32[$70>>2] = $sCtx; - $71 = HEAP32[$4>>2]|0; - $72 = HEAP32[$1>>2]|0; - $73 = HEAP32[$3>>2]|0; - $74 = ((($73)) + 8|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$nArg>>2]|0; - $77 = HEAP32[$azArg>>2]|0; - $78 = HEAP32[$pVTable>>2]|0; - $79 = ((($78)) + 8|0); - $80 = (FUNCTION_TABLE_iiiiiii[$71 & 255]($72,$75,$76,$77,$79,$zErr)|0); - HEAP32[$rc>>2] = $80; - $81 = ((($sCtx)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$1>>2]|0; - $84 = ((($83)) + 336|0); - HEAP32[$84>>2] = $82; - $85 = HEAP32[$rc>>2]|0; - $86 = ($85|0)==(7); - if ($86) { - $87 = HEAP32[$1>>2]|0; - _sqlite3OomFault($87); + $22 = HEAP32[$9>>2]|0; + $23 = (($22) + 1)|0; + HEAP32[$9>>2] = $23; } - $88 = HEAP32[$rc>>2]|0; - $89 = (0)!=($88|0); - L20: do { - if ($89) { - $90 = HEAP32[$zErr>>2]|0; - $91 = ($90|0)==(0|0); - $92 = HEAP32[$1>>2]|0; - if ($91) { - $93 = HEAP32[$zModuleName>>2]|0; - HEAP32[$vararg_buffer5>>2] = $93; - $94 = (_sqlite3MPrintf($92,30692,$vararg_buffer5)|0); - $95 = HEAP32[$5>>2]|0; - HEAP32[$95>>2] = $94; - } else { - $96 = HEAP32[$zErr>>2]|0; - HEAP32[$vararg_buffer8>>2] = $96; - $97 = (_sqlite3MPrintf($92,18391,$vararg_buffer8)|0); - $98 = HEAP32[$5>>2]|0; - HEAP32[$98>>2] = $97; - $99 = HEAP32[$zErr>>2]|0; - _sqlite3_free($99); - } - $100 = HEAP32[$1>>2]|0; - $101 = HEAP32[$pVTable>>2]|0; - _sqlite3DbFree($100,$101); - } else { - $102 = HEAP32[$pVTable>>2]|0; - $103 = ((($102)) + 8|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)!=(0|0); - if ($105) { - $106 = HEAP32[$pVTable>>2]|0; - $107 = ((($106)) + 8|0); - $108 = HEAP32[$107>>2]|0; - ;HEAP32[$108>>2]=0|0;HEAP32[$108+4>>2]=0|0;HEAP32[$108+8>>2]=0|0; - $109 = HEAP32[$3>>2]|0; - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$pVTable>>2]|0; - $112 = ((($111)) + 8|0); - $113 = HEAP32[$112>>2]|0; - HEAP32[$113>>2] = $110; - $114 = HEAP32[$pVTable>>2]|0; - $115 = ((($114)) + 12|0); - HEAP32[$115>>2] = 1; - $116 = ((($sCtx)) + 12|0); - $117 = HEAP32[$116>>2]|0; - $118 = ($117|0)==(0); - if ($118) { - HEAP32[$zFormat>>2] = 30722; - $119 = HEAP32[$1>>2]|0; - $120 = HEAP32[$zFormat>>2]|0; - $121 = HEAP32[$2>>2]|0; - $122 = HEAP32[$121>>2]|0; - HEAP32[$vararg_buffer11>>2] = $122; - $123 = (_sqlite3MPrintf($119,$120,$vararg_buffer11)|0); - $124 = HEAP32[$5>>2]|0; - HEAP32[$124>>2] = $123; - $125 = HEAP32[$pVTable>>2]|0; - _sqlite3VtabUnlock($125); - HEAP32[$rc>>2] = 1; + $24 = HEAP32[$8>>2]|0; + $25 = ($24|0)!=(0|0); + do { + if ($25) { + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = (_sqlite3_strnicmp($26,$27,$28)|0); + $30 = ($29|0)!=(0); + if (!($30)) { + $31 = HEAP32[$8>>2]|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($31) + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34 << 24 >> 24; + $36 = ($35|0)!=(0); + if (!($36)) { break; } - HEAP8[$oooHidden>>0] = 0; - $126 = HEAP32[$2>>2]|0; - $127 = ((($126)) + 56|0); - $128 = HEAP32[$127>>2]|0; - $129 = HEAP32[$pVTable>>2]|0; - $130 = ((($129)) + 24|0); - HEAP32[$130>>2] = $128; - $131 = HEAP32[$pVTable>>2]|0; - $132 = HEAP32[$2>>2]|0; - $133 = ((($132)) + 56|0); - HEAP32[$133>>2] = $131; - HEAP32[$iCol>>2] = 0; - while(1) { - $134 = HEAP32[$iCol>>2]|0; - $135 = HEAP32[$2>>2]|0; - $136 = ((($135)) + 34|0); - $137 = HEAP16[$136>>1]|0; - $138 = $137 << 16 >> 16; - $139 = ($134|0)<($138|0); - if (!($139)) { - break L20; - } - $140 = HEAP32[$iCol>>2]|0; - $141 = HEAP32[$2>>2]|0; - $142 = ((($141)) + 4|0); - $143 = HEAP32[$142>>2]|0; - $144 = (($143) + ($140<<4)|0); - $145 = (_sqlite3ColumnType($144,18402)|0); - HEAP32[$zType>>2] = $145; - HEAP32[$i>>2] = 0; - $146 = HEAP32[$zType>>2]|0; - $147 = (_sqlite3Strlen30($146)|0); - HEAP32[$nType>>2] = $147; - HEAP32[$i>>2] = 0; - L34: while(1) { - $148 = HEAP32[$i>>2]|0; - $149 = HEAP32[$nType>>2]|0; - $150 = ($148|0)<($149|0); - if (!($150)) { - break; - } - $151 = HEAP32[$i>>2]|0; - $152 = HEAP32[$zType>>2]|0; - $153 = (($152) + ($151)|0); - $154 = (_sqlite3_strnicmp(30768,$153,6)|0); - $155 = (0)==($154|0); - do { - if ($155) { - $156 = HEAP32[$i>>2]|0; - $157 = ($156|0)==(0); - if (!($157)) { - $158 = HEAP32[$i>>2]|0; - $159 = (($158) - 1)|0; - $160 = HEAP32[$zType>>2]|0; - $161 = (($160) + ($159)|0); - $162 = HEAP8[$161>>0]|0; - $163 = $162 << 24 >> 24; - $164 = ($163|0)==(32); - if (!($164)) { - break; - } - } - $165 = HEAP32[$i>>2]|0; - $166 = (($165) + 6)|0; - $167 = HEAP32[$zType>>2]|0; - $168 = (($167) + ($166)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169 << 24 >> 24; - $171 = ($170|0)==(0); - if ($171) { - break L34; - } - $172 = HEAP32[$i>>2]|0; - $173 = (($172) + 6)|0; - $174 = HEAP32[$zType>>2]|0; - $175 = (($174) + ($173)|0); - $176 = HEAP8[$175>>0]|0; - $177 = $176 << 24 >> 24; - $178 = ($177|0)==(32); - if ($178) { - break L34; - } - } - } while(0); - $179 = HEAP32[$i>>2]|0; - $180 = (($179) + 1)|0; - HEAP32[$i>>2] = $180; - } - $181 = HEAP32[$i>>2]|0; - $182 = HEAP32[$nType>>2]|0; - $183 = ($181|0)<($182|0); - if ($183) { - $184 = HEAP32[$i>>2]|0; - $185 = (($184) + 6)|0; - $186 = HEAP32[$zType>>2]|0; - $187 = (($186) + ($185)|0); - $188 = HEAP8[$187>>0]|0; - $189 = $188 << 24 >> 24; - $190 = ($189|0)!=(0); - $191 = $190 ? 1 : 0; - $192 = (6 + ($191))|0; - HEAP32[$nDel>>2] = $192; - $193 = HEAP32[$i>>2]|0; - HEAP32[$j>>2] = $193; - while(1) { - $194 = HEAP32[$j>>2]|0; - $195 = HEAP32[$nDel>>2]|0; - $196 = (($194) + ($195))|0; - $197 = HEAP32[$nType>>2]|0; - $198 = ($196|0)<=($197|0); - if (!($198)) { - break; - } - $199 = HEAP32[$j>>2]|0; - $200 = HEAP32[$nDel>>2]|0; - $201 = (($199) + ($200))|0; - $202 = HEAP32[$zType>>2]|0; - $203 = (($202) + ($201)|0); - $204 = HEAP8[$203>>0]|0; - $205 = HEAP32[$j>>2]|0; - $206 = HEAP32[$zType>>2]|0; - $207 = (($206) + ($205)|0); - HEAP8[$207>>0] = $204; - $208 = HEAP32[$j>>2]|0; - $209 = (($208) + 1)|0; - HEAP32[$j>>2] = $209; - } - $210 = HEAP32[$i>>2]|0; - $211 = HEAP32[$zType>>2]|0; - $212 = (($211) + ($210)|0); - $213 = HEAP8[$212>>0]|0; - $214 = $213 << 24 >> 24; - $215 = ($214|0)==(0); - $216 = HEAP32[$i>>2]|0; - $217 = ($216|0)>(0); - $or$cond = $215 & $217; - if ($or$cond) { - $218 = HEAP32[$i>>2]|0; - $219 = (($218) - 1)|0; - $220 = HEAP32[$zType>>2]|0; - $221 = (($220) + ($219)|0); - HEAP8[$221>>0] = 0; - } - $222 = HEAP32[$iCol>>2]|0; - $223 = HEAP32[$2>>2]|0; - $224 = ((($223)) + 4|0); - $225 = HEAP32[$224>>2]|0; - $226 = (($225) + ($222<<4)|0); - $227 = ((($226)) + 15|0); - $228 = HEAP8[$227>>0]|0; - $229 = $228&255; - $230 = $229 | 2; - $231 = $230&255; - HEAP8[$227>>0] = $231; - HEAP8[$oooHidden>>0] = -128; - } else { - $232 = HEAP8[$oooHidden>>0]|0; - $233 = $232&255; - $234 = HEAP32[$2>>2]|0; - $235 = ((($234)) + 42|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = $237 | $233; - $239 = $238&255; - HEAP8[$235>>0] = $239; - } - $240 = HEAP32[$iCol>>2]|0; - $241 = (($240) + 1)|0; - HEAP32[$iCol>>2] = $241; + } + HEAP32[$4>>2] = 0; + $78 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($78|0); + } + } while(0); + $37 = HEAP32[$9>>2]|0; + $38 = (($37) + 1)|0; + $39 = HEAP32[$5>>2]|0; + $40 = (($39) + ($38)|0); + HEAP32[$5>>2] = $40; + HEAP32[$9>>2] = 0; + while(1) { + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$9>>2]|0; + $43 = (($41) + ($42)|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44 << 24 >> 24; + $46 = ($45|0)!=(0); + if (!($46)) { + break; + } + $47 = HEAP32[$5>>2]|0; + $48 = HEAP32[$9>>2]|0; + $49 = (($47) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50 << 24 >> 24; + $52 = ($51|0)!=(46); + if (!($52)) { + break; + } + $53 = HEAP32[$9>>2]|0; + $54 = (($53) + 1)|0; + HEAP32[$9>>2] = $54; + } + $55 = HEAP32[$7>>2]|0; + $56 = ($55|0)!=(0|0); + do { + if ($56) { + $57 = HEAP32[$5>>2]|0; + $58 = HEAP32[$7>>2]|0; + $59 = HEAP32[$9>>2]|0; + $60 = (_sqlite3_strnicmp($57,$58,$59)|0); + $61 = ($60|0)!=(0); + if (!($61)) { + $62 = HEAP32[$7>>2]|0; + $63 = HEAP32[$9>>2]|0; + $64 = (($62) + ($63)|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65 << 24 >> 24; + $67 = ($66|0)!=(0); + if (!($67)) { + break; } } + HEAP32[$4>>2] = 0; + $78 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($78|0); } } while(0); - $242 = HEAP32[$1>>2]|0; - $243 = HEAP32[$zModuleName>>2]|0; - _sqlite3DbFree($242,$243); - $244 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $244; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); + $68 = HEAP32[$9>>2]|0; + $69 = (($68) + 1)|0; + $70 = HEAP32[$5>>2]|0; + $71 = (($70) + ($69)|0); + HEAP32[$5>>2] = $71; + $72 = HEAP32[$6>>2]|0; + $73 = ($72|0)!=(0|0); + if ($73) { + $74 = HEAP32[$5>>2]|0; + $75 = HEAP32[$6>>2]|0; + $76 = (_sqlite3StrICmp($74,$75)|0); + $77 = ($76|0)!=(0); + if ($77) { + HEAP32[$4>>2] = 0; + $78 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($78|0); + } + } + HEAP32[$4>>2] = 1; + $78 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($78|0); } -function _sqlite3ReadSchema($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $db = 0, $rc = 0, label = 0, sp = 0; +function _nameInUsingClause($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$db>>2] = $2; - $3 = HEAP32[$db>>2]|0; - $4 = ((($3)) + 148|0); - $5 = ((($4)) + 5|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if (!($7)) { - $8 = HEAP32[$db>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 4|0); - $11 = (_sqlite3Init($8,$10)|0); - HEAP32[$rc>>2] = $11; - } - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)!=(0); - if (!($13)) { - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); - } - $14 = HEAP32[$rc>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 12|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 36|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$18>>2] = $20; - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)!=(0|0); + L1: do { + if ($7) { + HEAP32[$5>>2] = 0; + while(1) { + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)<($11|0); + if (!($12)) { + break L1; + } + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = (($14) + ($15<<3)|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = (_sqlite3StrICmp($17,$18)|0); + $20 = ($19|0)==(0); + if ($20) { + break; + } + $21 = HEAP32[$5>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$5>>2] = $22; + } + HEAP32[$2>>2] = 1; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); + } + } while(0); + HEAP32[$2>>2] = 0; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } -function _analyzeDatabase($pParse,$iDb) { - $pParse = $pParse|0; - $iDb = $iDb|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $iMem = 0, $iStatCur = 0, $iTab = 0, $k = 0, $pSchema = 0, $pTab = 0, label = 0, sp = 0; +function _sqlite3IsRowid($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; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $db = sp + 24|0; - $pSchema = sp + 20|0; - $k = sp + 16|0; - $iStatCur = sp + 12|0; - $iMem = sp + 8|0; - $iTab = sp + 4|0; - $pTab = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iDb; - $2 = HEAP32[$0>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + ($4<<4)|0); - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pSchema>>2] = $10; - $11 = HEAP32[$0>>2]|0; + $4 = (_sqlite3StrICmp($3,29514)|0); + $5 = ($4|0)==(0); + do { + if ($5) { + HEAP32[$1>>2] = 1; + } else { + $6 = HEAP32[$2>>2]|0; + $7 = (_sqlite3StrICmp($6,29445)|0); + $8 = ($7|0)==(0); + if ($8) { + HEAP32[$1>>2] = 1; + break; + } + $9 = HEAP32[$2>>2]|0; + $10 = (_sqlite3StrICmp($9,29522)|0); + $11 = ($10|0)==(0); + if ($11) { + HEAP32[$1>>2] = 1; + break; + } else { + HEAP32[$1>>2] = 0; + break; + } + } + } while(0); $12 = HEAP32[$1>>2]|0; - _sqlite3BeginWriteOperation($11,0,$12); - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 40|0); + STACKTOP = sp;return ($12|0); +} +function _sqlite3AuthRead($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, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $14 = HEAP32[$4>>2]|0; $15 = HEAP32[$14>>2]|0; - HEAP32[$iStatCur>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 40|0); + HEAP32[$8>>2] = $15; + HEAP32[$9>>2] = 0; + $16 = HEAP32[$8>>2]|0; + $17 = ((($16)) + 296|0); $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 3)|0; - HEAP32[$17>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = HEAP32[$iStatCur>>2]|0; - _openStatTable($20,$21,$22,0,0); - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 44|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$iMem>>2] = $26; - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 40|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$iTab>>2] = $29; - $30 = HEAP32[$pSchema>>2]|0; - $31 = ((($30)) + 8|0); - $32 = ((($31)) + 8|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$k>>2] = $33; - while(1) { - $34 = HEAP32[$k>>2]|0; - $35 = ($34|0)!=(0|0); - if (!($35)) { - break; + $19 = ($18|0)==(0|0); + if ($19) { + STACKTOP = sp;return; + } + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = (_sqlite3SchemaToIndex($21,$22)|0); + HEAP32[$12>>2] = $23; + $24 = HEAP32[$12>>2]|0; + $25 = ($24|0)<(0); + if ($25) { + STACKTOP = sp;return; + } + $26 = HEAP32[$5>>2]|0; + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = ($28|0)==(88); + L7: do { + if ($29) { + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 128|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$9>>2] = $32; + } else { + HEAP32[$11>>2] = 0; + while(1) { + $33 = HEAP32[$11>>2]|0; + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = ($33|0)<($35|0); + if (!($36)) { + break L7; + } + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 28|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = ((($40)) + 8|0); + $42 = HEAP32[$11>>2]|0; + $43 = (($41) + (($42*72)|0)|0); + $44 = ((($43)) + 44|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($39|0)==($45|0); + if ($46) { + break; + } + $53 = HEAP32[$11>>2]|0; + $54 = (($53) + 1)|0; + HEAP32[$11>>2] = $54; + } + $47 = HEAP32[$7>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$11>>2]|0; + $50 = (($48) + (($49*72)|0)|0); + $51 = ((($50)) + 16|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$9>>2] = $52; } - $36 = HEAP32[$k>>2]|0; - $37 = ((($36)) + 8|0); - $38 = HEAP32[$37>>2]|0; - HEAP32[$pTab>>2] = $38; - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$pTab>>2]|0; - $41 = HEAP32[$iStatCur>>2]|0; - $42 = HEAP32[$iMem>>2]|0; - $43 = HEAP32[$iTab>>2]|0; - _analyzeOneTable($39,$40,0,$41,$42,$43); - $44 = HEAP32[$k>>2]|0; - $45 = HEAP32[$44>>2]|0; - HEAP32[$k>>2] = $45; + } while(0); + $55 = HEAP32[$5>>2]|0; + $56 = ((($55)) + 32|0); + $57 = HEAP16[$56>>1]|0; + $58 = $57 << 16 >> 16; + HEAP32[$13>>2] = $58; + $59 = HEAP32[$9>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + STACKTOP = sp;return; } - $46 = HEAP32[$0>>2]|0; - $47 = HEAP32[$1>>2]|0; - _loadAnalysis($46,$47); + $61 = HEAP32[$13>>2]|0; + $62 = ($61|0)>=(0); + $63 = HEAP32[$9>>2]|0; + do { + if ($62) { + $64 = ((($63)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$13>>2]|0; + $67 = (($65) + ($66<<4)|0); + $68 = HEAP32[$67>>2]|0; + HEAP32[$10>>2] = $68; + } else { + $69 = ((($63)) + 32|0); + $70 = HEAP16[$69>>1]|0; + $71 = $70 << 16 >> 16; + $72 = ($71|0)>=(0); + if ($72) { + $73 = HEAP32[$9>>2]|0; + $74 = ((($73)) + 4|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$9>>2]|0; + $77 = ((($76)) + 32|0); + $78 = HEAP16[$77>>1]|0; + $79 = $78 << 16 >> 16; + $80 = (($75) + ($79<<4)|0); + $81 = HEAP32[$80>>2]|0; + HEAP32[$10>>2] = $81; + break; + } else { + HEAP32[$10>>2] = 29445; + break; + } + } + } while(0); + $82 = HEAP32[$4>>2]|0; + $83 = HEAP32[$9>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$10>>2]|0; + $86 = HEAP32[$12>>2]|0; + $87 = (_sqlite3AuthReadCol($82,$84,$85,$86)|0); + $88 = (2)==($87|0); + if (!($88)) { + STACKTOP = sp;return; + } + $89 = HEAP32[$5>>2]|0; + HEAP8[$89>>0] = 101; STACKTOP = sp;return; } -function _sqlite3FindDb($db,$pName) { - $db = $db|0; - $pName = $pName|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $zName = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $i = sp + 4|0; - $zName = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pName; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3NameFromToken($2,$3)|0); - HEAP32[$zName>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$zName>>2]|0; - $7 = (_sqlite3FindDbName($5,$6)|0); - HEAP32[$i>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$zName>>2]|0; - _sqlite3DbFree($8,$9); - $10 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($10|0); -} -function _analyzeTable($pParse,$pTab,$pOnlyIdx) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $pOnlyIdx = $pOnlyIdx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $iDb = 0, $iStatCur = 0, label = 0, sp = 0; +function _sqlite3AuthReadCol($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, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0; + var $vararg_buffer6 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $iDb = sp + 4|0; - $iStatCur = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $pOnlyIdx; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 64|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3SchemaToIndex($4,$7)|0); - HEAP32[$iDb>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($9,0,$10); - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 40|0); + STACKTOP = STACKTOP + 64|0; + $vararg_buffer6 = sp + 16|0; + $vararg_buffer = sp; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $12 = HEAP32[$5>>2]|0; $13 = HEAP32[$12>>2]|0; - HEAP32[$iStatCur>>2] = $13; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 40|0); + HEAP32[$9>>2] = $13; + $14 = HEAP32[$9>>2]|0; + $15 = ((($14)) + 16|0); $16 = HEAP32[$15>>2]|0; - $17 = (($16) + 3)|0; - HEAP32[$15>>2] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = ($18|0)!=(0|0); - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$iDb>>2]|0; - $22 = HEAP32[$iStatCur>>2]|0; - if ($19) { - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$23>>2]|0; - _openStatTable($20,$21,$22,$24,30854); - } else { - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$25>>2]|0; - _openStatTable($20,$21,$22,$26,30858); + $17 = HEAP32[$8>>2]|0; + $18 = (($16) + ($17<<4)|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$10>>2] = $19; + $20 = HEAP32[$9>>2]|0; + $21 = ((($20)) + 148|0); + $22 = ((($21)) + 5|0); + $23 = HEAP8[$22>>0]|0; + $24 = ($23<<24>>24)!=(0); + if ($24) { + HEAP32[$4>>2] = 0; + $60 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($60|0); } - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$iStatCur>>2]|0; - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 44|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + 1)|0; - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 40|0); - $37 = HEAP32[$36>>2]|0; - _analyzeOneTable($27,$28,$29,$30,$34,$37); - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$iDb>>2]|0; - _loadAnalysis($38,$39); - STACKTOP = sp;return; -} -function _sqlite3TwoPartName($pParse,$pName1,$pName2,$pUnqual) { - $pParse = $pParse|0; - $pName1 = $pName1|0; - $pName2 = $pName2|0; - $pUnqual = $pUnqual|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $iDb = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $iDb = sp + 16|0; - $db = sp + 12|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pName1; - HEAP32[$3>>2] = $pName2; - HEAP32[$4>>2] = $pUnqual; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$3>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9>>>0)>(0); - $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 148|0); - if ($10) { - $13 = ((($12)) + 5|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)!=(0); - if ($15) { - $16 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($16,30817,$vararg_buffer); - HEAP32[$0>>2] = -1; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); - } - $17 = HEAP32[$3>>2]|0; - $18 = HEAP32[$4>>2]|0; - HEAP32[$18>>2] = $17; - $19 = HEAP32[$db>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = (_sqlite3FindDb($19,$20)|0); - HEAP32[$iDb>>2] = $21; - $22 = HEAP32[$iDb>>2]|0; - $23 = ($22|0)<(0); - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer1>>2] = $25; - _sqlite3ErrorMsg($24,30834,$vararg_buffer1); - HEAP32[$0>>2] = -1; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); + $25 = HEAP32[$9>>2]|0; + $26 = ((($25)) + 296|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 300|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$10>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = ((($34)) + 448|0); + $36 = HEAP32[$35>>2]|0; + $37 = (FUNCTION_TABLE_iiiiiii[$27 & 255]($30,20,$31,$32,$33,$36)|0); + HEAP32[$11>>2] = $37; + $38 = HEAP32[$11>>2]|0; + $39 = ($38|0)==(1); + if ($39) { + $40 = HEAP32[$9>>2]|0; + $41 = ((($40)) + 20|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)>(2); + $44 = HEAP32[$8>>2]|0; + $45 = ($44|0)!=(0); + $or$cond = $43 | $45; + $46 = HEAP32[$5>>2]|0; + if ($or$cond) { + $47 = HEAP32[$10>>2]|0; + $48 = HEAP32[$6>>2]|0; + $49 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $47; + $vararg_ptr4 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $48; + $vararg_ptr5 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr5>>2] = $49; + _sqlite3ErrorMsg($46,29451,$vararg_buffer); + } else { + $50 = HEAP32[$6>>2]|0; + $51 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer6>>2] = $50; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $51; + _sqlite3ErrorMsg($46,29484,$vararg_buffer6); } + $52 = HEAP32[$5>>2]|0; + $53 = ((($52)) + 12|0); + HEAP32[$53>>2] = 23; } else { - $26 = ((($12)) + 4|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - HEAP32[$iDb>>2] = $28; - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$4>>2]|0; - HEAP32[$30>>2] = $29; + $54 = HEAP32[$11>>2]|0; + $55 = ($54|0)!=(2); + $56 = HEAP32[$11>>2]|0; + $57 = ($56|0)!=(0); + $or$cond3 = $55 & $57; + if ($or$cond3) { + $58 = HEAP32[$5>>2]|0; + _sqliteAuthBadReturnCode($58); + } } - $31 = HEAP32[$iDb>>2]|0; - HEAP32[$0>>2] = $31; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); + $59 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $59; + $60 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($60|0); } -function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { - $pParse = $pParse|0; - $iDb = $iDb|0; - $iStatCur = $iStatCur|0; - $zWhere = $zWhere|0; - $zWhereType = $zWhereType|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $aCreateTbl = 0, $aRoot = 0, $db = 0, $i = 0, $pDb = 0, $pStat = 0; - var $v = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $zTab = 0, label = 0, sp = 0; +function _convertCompoundSelectToSubquery($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0; + var sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; - $3 = sp + 72|0; - $4 = sp + 68|0; - $i = sp + 64|0; - $db = sp + 60|0; - $pDb = sp + 56|0; - $v = sp + 52|0; - $aRoot = sp + 40|0; - $aCreateTbl = sp + 88|0; - $zTab = sp + 36|0; - $pStat = sp + 32|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iDb; - HEAP32[$2>>2] = $iStatCur; - HEAP32[$3>>2] = $zWhere; - HEAP32[$4>>2] = $zWhereType; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3GetVdbe($7)|0); - HEAP32[$v>>2] = $8; - $9 = HEAP32[$v>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 44|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 48|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$2>>2] = 0; + $119 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($119|0); } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<4)|0); - HEAP32[$pDb>>2] = $15; - HEAP32[$i>>2] = 0; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 44|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0|0); + if ($20) { + HEAP32[$2>>2] = 0; + $119 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($119|0); + } + $21 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $21; while(1) { - $16 = HEAP32[$i>>2]|0; - $17 = ($16|0)<(3); - if (!($17)) { + $22 = HEAP32[$7>>2]|0; + $23 = ($22|0)!=(0|0); + if (!($23)) { break; } - $18 = HEAP32[$i>>2]|0; - $19 = (4396 + ($18<<3)|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$zTab>>2] = $20; - $21 = HEAP32[$db>>2]|0; - $22 = HEAP32[$zTab>>2]|0; - $23 = HEAP32[$pDb>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3FindTable($21,$22,$24)|0); - HEAP32[$pStat>>2] = $25; - $26 = ($25|0)==(0|0); - do { - if ($26) { - $27 = HEAP32[$i>>2]|0; - $28 = (4396 + ($27<<3)|0); - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$pDb>>2]|0; - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$zTab>>2]|0; - $36 = HEAP32[$i>>2]|0; - $37 = (4396 + ($36<<3)|0); - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$vararg_buffer>>2] = $34; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $35; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $39; - _sqlite3NestedParse($32,30915,$vararg_buffer); - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 104|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$i>>2]|0; - $44 = (($aRoot) + ($43<<2)|0); - HEAP32[$44>>2] = $42; - $45 = HEAP32[$i>>2]|0; - $46 = (($aCreateTbl) + ($45)|0); - HEAP8[$46>>0] = 16; - } - } else { - $47 = HEAP32[$pStat>>2]|0; - $48 = ((($47)) + 28|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$i>>2]|0; - $51 = (($aRoot) + ($50<<2)|0); - HEAP32[$51>>2] = $49; - $52 = HEAP32[$i>>2]|0; - $53 = (($aCreateTbl) + ($52)|0); - HEAP8[$53>>0] = 0; - $54 = HEAP32[$0>>2]|0; - $55 = HEAP32[$1>>2]|0; - $56 = HEAP32[$i>>2]|0; - $57 = (($aRoot) + ($56<<2)|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$zTab>>2]|0; - _sqlite3TableLock($54,$55,$58,1,$59); - $60 = HEAP32[$3>>2]|0; - $61 = ($60|0)!=(0|0); - if ($61) { - $62 = HEAP32[$0>>2]|0; - $63 = HEAP32[$pDb>>2]|0; - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$zTab>>2]|0; - $66 = HEAP32[$4>>2]|0; - $67 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer3>>2] = $64; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $65; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $66; - $vararg_ptr8 = ((($vararg_buffer3)) + 12|0); - HEAP32[$vararg_ptr8>>2] = $67; - _sqlite3NestedParse($62,30938,$vararg_buffer3); - break; - } else { - $68 = HEAP32[$v>>2]|0; - $69 = HEAP32[$i>>2]|0; - $70 = (($aRoot) + ($69<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = HEAP32[$1>>2]|0; - (_sqlite3VdbeAddOp2($68,131,$71,$72)|0); - break; - } + $24 = HEAP32[$7>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ($27|0)==(116); + if (!($28)) { + $29 = HEAP32[$7>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32|0)==(119); + if (!($33)) { + break; } - } while(0); - $73 = HEAP32[$i>>2]|0; - $74 = (($73) + 1)|0; - HEAP32[$i>>2] = $74; + } + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 48|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$7>>2] = $36; + } + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)==(0|0); + if ($38) { + HEAP32[$2>>2] = 0; + $119 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($119|0); } - HEAP32[$i>>2] = 0; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 44|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$9>>2] = $43; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 44|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = (($47) - 1)|0; + HEAP32[$5>>2] = $48; while(1) { - $75 = HEAP32[$i>>2]|0; - $76 = (4396 + ($75<<3)|0); - $77 = ((($76)) + 4|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)!=(0|0); - if (!($79)) { + $49 = HEAP32[$5>>2]|0; + $50 = ($49|0)>=(0); + if (!($50)) { break; } - $80 = HEAP32[$v>>2]|0; - $81 = HEAP32[$2>>2]|0; - $82 = HEAP32[$i>>2]|0; - $83 = (($81) + ($82))|0; - $84 = HEAP32[$i>>2]|0; - $85 = (($aRoot) + ($84<<2)|0); - $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[$1>>2]|0; - (_sqlite3VdbeAddOp4Int($80,105,$83,$86,$87,3)|0); - $88 = HEAP32[$v>>2]|0; - $89 = HEAP32[$i>>2]|0; - $90 = (($aCreateTbl) + ($89)|0); - $91 = HEAP8[$90>>0]|0; - _sqlite3VdbeChangeP5($88,$91); - $92 = HEAP32[$i>>2]|0; - $93 = (($92) + 1)|0; - HEAP32[$i>>2] = $93; + $51 = HEAP32[$9>>2]|0; + $52 = HEAP32[$5>>2]|0; + $53 = (($51) + (($52*20)|0)|0); + $54 = HEAP32[$53>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = $56 & 256; + $58 = ($57|0)!=(0); + if ($58) { + break; + } + $59 = HEAP32[$5>>2]|0; + $60 = (($59) + -1)|0; + HEAP32[$5>>2] = $60; } - STACKTOP = sp;return; + $61 = HEAP32[$5>>2]|0; + $62 = ($61|0)<(0); + if ($62) { + HEAP32[$2>>2] = 0; + $119 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($119|0); + } + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$63>>2]|0; + HEAP32[$11>>2] = $64; + $65 = HEAP32[$11>>2]|0; + $66 = HEAP32[$65>>2]|0; + HEAP32[$8>>2] = $66; + $67 = HEAP32[$8>>2]|0; + $68 = (_sqlite3DbMallocZero($67,68,0)|0); + HEAP32[$6>>2] = $68; + $69 = HEAP32[$6>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + HEAP32[$2>>2] = 2; + $119 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($119|0); + } + ;HEAP32[$12>>2]=0|0;HEAP32[$12+4>>2]=0|0; + $71 = HEAP32[$11>>2]|0; + $72 = HEAP32[$6>>2]|0; + $73 = (_sqlite3SrcListAppendFromTerm($71,0,0,0,$12,$72,0,0)|0); + HEAP32[$10>>2] = $73; + $74 = HEAP32[$10>>2]|0; + $75 = ($74|0)==(0|0); + if ($75) { + HEAP32[$2>>2] = 2; + $119 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($119|0); + } else { + $76 = HEAP32[$6>>2]|0; + $77 = HEAP32[$4>>2]|0; + dest=$76; src=$77; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $78 = HEAP32[$10>>2]|0; + $79 = HEAP32[$4>>2]|0; + $80 = ((($79)) + 28|0); + HEAP32[$80>>2] = $78; + $81 = HEAP32[$11>>2]|0; + $82 = HEAP32[$8>>2]|0; + $83 = (_sqlite3Expr($82,160,0)|0); + $84 = (_sqlite3ExprListAppend($81,0,$83)|0); + $85 = HEAP32[$4>>2]|0; + HEAP32[$85>>2] = $84; + $86 = HEAP32[$4>>2]|0; + $87 = ((($86)) + 4|0); + HEAP8[$87>>0] = 119; + $88 = HEAP32[$4>>2]|0; + $89 = ((($88)) + 32|0); + HEAP32[$89>>2] = 0; + $90 = HEAP32[$6>>2]|0; + $91 = ((($90)) + 36|0); + HEAP32[$91>>2] = 0; + $92 = HEAP32[$6>>2]|0; + $93 = ((($92)) + 40|0); + HEAP32[$93>>2] = 0; + $94 = HEAP32[$6>>2]|0; + $95 = ((($94)) + 44|0); + HEAP32[$95>>2] = 0; + $96 = HEAP32[$4>>2]|0; + $97 = ((($96)) + 48|0); + HEAP32[$97>>2] = 0; + $98 = HEAP32[$4>>2]|0; + $99 = ((($98)) + 52|0); + HEAP32[$99>>2] = 0; + $100 = HEAP32[$4>>2]|0; + $101 = ((($100)) + 64|0); + HEAP32[$101>>2] = 0; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 8|0); + $104 = HEAP32[$103>>2]|0; + $105 = $104 & -257; + HEAP32[$103>>2] = $105; + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 8|0); + $108 = HEAP32[$107>>2]|0; + $109 = $108 | 65536; + HEAP32[$107>>2] = $109; + $110 = HEAP32[$6>>2]|0; + $111 = HEAP32[$6>>2]|0; + $112 = ((($111)) + 48|0); + $113 = HEAP32[$112>>2]|0; + $114 = ((($113)) + 52|0); + HEAP32[$114>>2] = $110; + $115 = HEAP32[$6>>2]|0; + $116 = ((($115)) + 56|0); + HEAP32[$116>>2] = 0; + $117 = HEAP32[$6>>2]|0; + $118 = ((($117)) + 60|0); + HEAP32[$118>>2] = 0; + HEAP32[$2>>2] = 0; + $119 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($119|0); + } + return (0)|0; } -function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $pOnlyIdx = $pOnlyIdx|0; - $iStatCur = $iStatCur|0; - $iMem = $iMem|0; - $iTab = $iTab|0; - var $$sink = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $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, $aGotoChng = 0, $addrNextRow = 0, $addrRewind = 0; - var $db = 0, $endDistinctTest = 0, $i = 0, $iDb = 0, $iIdxCur = 0, $iTabCur = 0, $jZeroRows = 0, $nCol = 0, $nColTest = 0, $needTableCnt = 0, $or$cond = 0, $pColl = 0, $pIdx = 0, $regChng = 0, $regIdxname = 0, $regNewRowid = 0, $regPrev = 0, $regStat1 = 0, $regStat4 = 0, $regTabname = 0; - var $regTemp = 0, $v = 0, $zIdxName = 0, label = 0, sp = 0; +function _selectExpander($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink5 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; + var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; + var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; + var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; + var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; + var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; + var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; + var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; + var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; + var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; + var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer18 = 0, $vararg_buffer21 = 0; + var $vararg_buffer23 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $3 = sp + 104|0; - $4 = sp + 100|0; - $5 = sp + 96|0; - $db = sp + 92|0; - $pIdx = sp + 88|0; - $iIdxCur = sp + 84|0; - $iTabCur = sp + 80|0; - $v = sp + 76|0; - $i = sp + 72|0; - $jZeroRows = sp + 68|0; - $iDb = sp + 64|0; - $needTableCnt = sp + 120|0; - $regNewRowid = sp + 60|0; - $regStat4 = sp + 56|0; - $regChng = sp + 52|0; - $regTemp = sp + 48|0; - $regTabname = sp + 44|0; - $regIdxname = sp + 40|0; - $regStat1 = sp + 36|0; - $regPrev = sp + 32|0; - $nCol = sp + 28|0; - $addrRewind = sp + 24|0; - $addrNextRow = sp + 20|0; - $zIdxName = sp + 16|0; - $nColTest = sp + 12|0; - $endDistinctTest = sp + 8|0; - $aGotoChng = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $pOnlyIdx; - HEAP32[$3>>2] = $iStatCur; - HEAP32[$4>>2] = $iMem; - HEAP32[$5>>2] = $iTab; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$db>>2] = $7; - HEAP32[$jZeroRows>>2] = -1; - HEAP8[$needTableCnt>>0] = 1; - $8 = HEAP32[$4>>2]|0; - $9 = (($8) + 1)|0; - HEAP32[$4>>2] = $9; - HEAP32[$regNewRowid>>2] = $8; - $10 = HEAP32[$4>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$4>>2] = $11; - HEAP32[$regStat4>>2] = $10; - $12 = HEAP32[$4>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$4>>2] = $13; - HEAP32[$regChng>>2] = $12; - $14 = HEAP32[$4>>2]|0; - $15 = (($14) + 1)|0; - HEAP32[$4>>2] = $15; - HEAP32[$regTemp>>2] = $14; - $16 = HEAP32[$4>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$4>>2] = $17; - HEAP32[$regTabname>>2] = $16; - $18 = HEAP32[$4>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$4>>2] = $19; - HEAP32[$regIdxname>>2] = $18; - $20 = HEAP32[$4>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[$4>>2] = $21; - HEAP32[$regStat1>>2] = $20; - $22 = HEAP32[$4>>2]|0; - HEAP32[$regPrev>>2] = $22; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 44|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$4>>2]|0; - $27 = ($25|0)>($26|0); - if ($27) { - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 44|0); - $30 = HEAP32[$29>>2]|0; - $34 = $30; - } else { - $31 = HEAP32[$4>>2]|0; - $34 = $31; - } - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 44|0); - HEAP32[$33>>2] = $34; - $35 = HEAP32[$0>>2]|0; - $36 = (_sqlite3GetVdbe($35)|0); - HEAP32[$v>>2] = $36; - $37 = HEAP32[$v>>2]|0; - $38 = ($37|0)==(0|0); - $39 = HEAP32[$1>>2]|0; - $40 = ($39|0)==(0|0); - $or$cond = $38 | $40; - if ($or$cond) { - STACKTOP = sp;return; - } - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 28|0); + STACKTOP = STACKTOP + 208|0; + $vararg_buffer23 = sp + 56|0; + $vararg_buffer21 = sp + 48|0; + $vararg_buffer18 = sp + 40|0; + $vararg_buffer13 = sp + 24|0; + $vararg_buffer9 = sp + 16|0; + $vararg_buffer6 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 196|0; + $3 = sp + 192|0; + $4 = sp + 188|0; + $5 = sp + 184|0; + $6 = sp + 180|0; + $7 = sp + 176|0; + $8 = sp + 172|0; + $9 = sp + 168|0; + $10 = sp + 164|0; + $11 = sp + 160|0; + $12 = sp + 156|0; + $13 = sp + 152|0; + $14 = sp + 148|0; + $15 = sp + 144|0; + $16 = sp + 202|0; + $17 = sp + 140|0; + $18 = sp + 136|0; + $19 = sp + 200|0; + $20 = sp + 132|0; + $21 = sp + 128|0; + $22 = sp + 124|0; + $23 = sp + 120|0; + $24 = sp + 116|0; + $25 = sp + 112|0; + $26 = sp + 108|0; + $27 = sp + 104|0; + $28 = sp + 100|0; + $29 = sp + 96|0; + $30 = sp + 92|0; + $31 = sp + 88|0; + $32 = sp + 84|0; + $33 = sp + 80|0; + $34 = sp + 72|0; + $35 = sp + 64|0; + $36 = sp + 60|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$37>>2]|0; + HEAP32[$5>>2] = $38; + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$39>>2]|0; + HEAP32[$12>>2] = $40; + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 8|0); $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)==(0); - if ($44) { - STACKTOP = sp;return; - } - $45 = HEAP32[$1>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = (_sqlite3_strlike(30862,$46,0)|0); - $48 = ($47|0)==(0); - if ($48) { - STACKTOP = sp;return; - } - $49 = HEAP32[$db>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 64|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_sqlite3SchemaToIndex($49,$52)|0); - HEAP32[$iDb>>2] = $53; - $54 = HEAP32[$0>>2]|0; - $55 = HEAP32[$1>>2]|0; - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$iDb>>2]|0; - $58 = HEAP32[$db>>2]|0; - $59 = ((($58)) + 16|0); - $60 = HEAP32[$59>>2]|0; - $61 = (($60) + ($57<<4)|0); - $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3AuthCheck($54,28,$56,0,$62)|0); - $64 = ($63|0)!=(0); - if ($64) { - STACKTOP = sp;return; + $44 = $43&65535; + HEAP16[$16>>1] = $44; + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = $47 | 64; + HEAP32[$46>>2] = $48; + $49 = HEAP32[$12>>2]|0; + $50 = ((($49)) + 69|0); + $51 = HEAP8[$50>>0]|0; + $52 = ($51<<24>>24)!=(0); + if ($52) { + HEAP32[$2>>2] = 2; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); } - $65 = HEAP32[$0>>2]|0; - $66 = HEAP32[$iDb>>2]|0; - $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 28|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$1>>2]|0; - $71 = HEAP32[$70>>2]|0; - _sqlite3TableLock($65,$66,$69,0,$71); - $72 = HEAP32[$5>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$5>>2] = $73; - HEAP32[$iTabCur>>2] = $72; - $74 = HEAP32[$5>>2]|0; - $75 = (($74) + 1)|0; - HEAP32[$5>>2] = $75; - HEAP32[$iIdxCur>>2] = $74; - $76 = HEAP32[$0>>2]|0; - $77 = ((($76)) + 40|0); - $78 = HEAP32[$77>>2]|0; - $79 = HEAP32[$5>>2]|0; - $80 = ($78|0)>($79|0); - if ($80) { - $81 = HEAP32[$0>>2]|0; - $82 = ((($81)) + 40|0); - $83 = HEAP32[$82>>2]|0; - $87 = $83; - } else { - $84 = HEAP32[$5>>2]|0; - $87 = $84; - } - $85 = HEAP32[$0>>2]|0; - $86 = ((($85)) + 40|0); - HEAP32[$86>>2] = $87; - $88 = HEAP32[$0>>2]|0; - $89 = HEAP32[$iTabCur>>2]|0; - $90 = HEAP32[$iDb>>2]|0; - $91 = HEAP32[$1>>2]|0; - _sqlite3OpenTable($88,$89,$90,$91,104); - $92 = HEAP32[$v>>2]|0; - $93 = HEAP32[$regTabname>>2]|0; - $94 = HEAP32[$1>>2]|0; - $95 = HEAP32[$94>>2]|0; - (_sqlite3VdbeLoadString($92,$93,$95)|0); - $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 8|0); - $98 = HEAP32[$97>>2]|0; - HEAP32[$pIdx>>2] = $98; - while(1) { - $99 = HEAP32[$pIdx>>2]|0; - $100 = ($99|0)!=(0|0); - $101 = HEAP32[$2>>2]|0; - if (!($100)) { - break; - } - $102 = ($101|0)!=(0|0); - if ($102) { - $103 = HEAP32[$2>>2]|0; - $104 = HEAP32[$pIdx>>2]|0; - $105 = ($103|0)!=($104|0); - if (!($105)) { - label = 15; + $53 = HEAP32[$4>>2]|0; + $54 = ((($53)) + 28|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)==(0|0); + if (!($56)) { + $57 = HEAP16[$16>>1]|0; + $58 = $57&65535; + $59 = $58 & 64; + $60 = ($59|0)!=(0); + if (!($60)) { + $61 = HEAP32[$4>>2]|0; + $62 = ((($61)) + 28|0); + $63 = HEAP32[$62>>2]|0; + HEAP32[$9>>2] = $63; + $64 = HEAP32[$4>>2]|0; + $65 = HEAP32[$64>>2]|0; + HEAP32[$10>>2] = $65; + $66 = HEAP32[$3>>2]|0; + $67 = ((($66)) + 12|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)==(132|0); + if ($69) { + $70 = HEAP32[$5>>2]|0; + $71 = HEAP32[$4>>2]|0; + $72 = (_findRightmost($71)|0); + $73 = ((($72)) + 64|0); + $74 = HEAP32[$73>>2]|0; + _sqlite3WithPush($70,$74,0); } - } else { - label = 15; - } - do { - if ((label|0) == 15) { - label = 0; - $106 = HEAP32[$pIdx>>2]|0; - $107 = ((($106)) + 36|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==(0|0); - if ($109) { - HEAP8[$needTableCnt>>0] = 0; - } - $110 = HEAP32[$1>>2]|0; - $111 = ((($110)) + 42|0); - $112 = HEAP8[$111>>0]|0; - $113 = $112&255; - $114 = $113 & 32; - $115 = ($114|0)==(0); - if ($115) { - label = 20; - } else { - $116 = HEAP32[$pIdx>>2]|0; - $117 = ((($116)) + 55|0); - $118 = HEAP8[$117>>0]|0; - $119 = $118 & 3; - $120 = $119&255; - $121 = ($120|0)==(2); - if ($121) { - $122 = HEAP32[$pIdx>>2]|0; - $123 = ((($122)) + 50|0); - $124 = HEAP16[$123>>1]|0; - $125 = $124&65535; - HEAP32[$nCol>>2] = $125; - $126 = HEAP32[$1>>2]|0; - $127 = HEAP32[$126>>2]|0; - HEAP32[$zIdxName>>2] = $127; - $128 = HEAP32[$nCol>>2]|0; - $129 = (($128) - 1)|0; - HEAP32[$nColTest>>2] = $129; - } else { - label = 20; - } + $75 = HEAP32[$5>>2]|0; + $76 = HEAP32[$9>>2]|0; + _sqlite3SrcListAssignCursors($75,$76); + HEAP32[$6>>2] = 0; + $77 = HEAP32[$9>>2]|0; + $78 = ((($77)) + 8|0); + HEAP32[$11>>2] = $78; + L11: while(1) { + $79 = HEAP32[$6>>2]|0; + $80 = HEAP32[$9>>2]|0; + $81 = HEAP32[$80>>2]|0; + $82 = ($79|0)<($81|0); + if (!($82)) { + label = 38; + break; } - if ((label|0) == 20) { - label = 0; - $130 = HEAP32[$pIdx>>2]|0; - $131 = ((($130)) + 52|0); - $132 = HEAP16[$131>>1]|0; - $133 = $132&65535; - HEAP32[$nCol>>2] = $133; - $134 = HEAP32[$pIdx>>2]|0; - $135 = HEAP32[$134>>2]|0; - HEAP32[$zIdxName>>2] = $135; - $136 = HEAP32[$pIdx>>2]|0; - $137 = ((($136)) + 55|0); - $138 = HEAP8[$137>>0]|0; - $139 = ($138&255) >>> 3; - $140 = $139 & 1; - $141 = $140&255; - $142 = ($141|0)!=(0); - if ($142) { - $143 = HEAP32[$pIdx>>2]|0; - $144 = ((($143)) + 50|0); - $145 = HEAP16[$144>>1]|0; - $146 = $145&65535; - $$sink = $146; - } else { - $147 = HEAP32[$nCol>>2]|0; - $$sink = $147; - } - $148 = (($$sink) - 1)|0; - HEAP32[$nColTest>>2] = $148; - } - $149 = HEAP32[$v>>2]|0; - $150 = HEAP32[$regIdxname>>2]|0; - $151 = HEAP32[$zIdxName>>2]|0; - (_sqlite3VdbeLoadString($149,$150,$151)|0); - $152 = HEAP32[$0>>2]|0; - $153 = ((($152)) + 44|0); - $154 = HEAP32[$153>>2]|0; - $155 = HEAP32[$regPrev>>2]|0; - $156 = HEAP32[$nColTest>>2]|0; - $157 = (($155) + ($156))|0; - $158 = ($154|0)>($157|0); - if ($158) { - $159 = HEAP32[$0>>2]|0; - $160 = ((($159)) + 44|0); - $161 = HEAP32[$160>>2]|0; - $167 = $161; - } else { - $162 = HEAP32[$regPrev>>2]|0; - $163 = HEAP32[$nColTest>>2]|0; - $164 = (($162) + ($163))|0; - $167 = $164; - } - $165 = HEAP32[$0>>2]|0; - $166 = ((($165)) + 44|0); - HEAP32[$166>>2] = $167; - $168 = HEAP32[$v>>2]|0; - $169 = HEAP32[$iIdxCur>>2]|0; - $170 = HEAP32[$pIdx>>2]|0; - $171 = ((($170)) + 44|0); - $172 = HEAP32[$171>>2]|0; - $173 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($168,104,$169,$172,$173)|0); - $174 = HEAP32[$0>>2]|0; - $175 = HEAP32[$pIdx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($174,$175); - $176 = HEAP32[$v>>2]|0; - $177 = HEAP32[$nCol>>2]|0; - $178 = HEAP32[$regStat4>>2]|0; - $179 = (($178) + 1)|0; - (_sqlite3VdbeAddOp2($176,76,$177,$179)|0); - $180 = HEAP32[$v>>2]|0; - $181 = HEAP32[$pIdx>>2]|0; - $182 = ((($181)) + 50|0); - $183 = HEAP16[$182>>1]|0; - $184 = $183&65535; - $185 = HEAP32[$regStat4>>2]|0; - $186 = (($185) + 2)|0; - (_sqlite3VdbeAddOp2($180,76,$184,$186)|0); - $187 = HEAP32[$v>>2]|0; - $188 = HEAP32[$regStat4>>2]|0; - $189 = (($188) + 1)|0; - $190 = HEAP32[$regStat4>>2]|0; - (_sqlite3VdbeAddOp4($187,89,0,$189,$190,4292,-5)|0); - $191 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($191,2); - $192 = HEAP32[$v>>2]|0; - $193 = HEAP32[$iIdxCur>>2]|0; - $194 = (_sqlite3VdbeAddOp1($192,57,$193)|0); - HEAP32[$addrRewind>>2] = $194; - $195 = HEAP32[$v>>2]|0; - $196 = HEAP32[$regChng>>2]|0; - (_sqlite3VdbeAddOp2($195,76,0,$196)|0); - $197 = HEAP32[$v>>2]|0; - $198 = (_sqlite3VdbeCurrentAddr($197)|0); - HEAP32[$addrNextRow>>2] = $198; - $199 = HEAP32[$nColTest>>2]|0; - $200 = ($199|0)>(0); - if ($200) { - $201 = HEAP32[$v>>2]|0; - $202 = (_sqlite3VdbeMakeLabel($201)|0); - HEAP32[$endDistinctTest>>2] = $202; - $203 = HEAP32[$db>>2]|0; - $204 = HEAP32[$nColTest>>2]|0; - $205 = $204<<2; - $206 = (_sqlite3DbMallocRawNN($203,$205,0)|0); - HEAP32[$aGotoChng>>2] = $206; - $207 = HEAP32[$aGotoChng>>2]|0; - $208 = ($207|0)==(0|0); - if ($208) { + $83 = HEAP32[$11>>2]|0; + $84 = ((($83)) + 36|0); + $85 = ((($84)) + 1|0); + $86 = HEAP8[$85>>0]|0; + $87 = ($86&255) >>> 5; + $88 = $87 & 1; + $89 = $88&255; + $90 = ($89|0)!=(0); + if (!($90)) { + $91 = HEAP32[$3>>2]|0; + $92 = HEAP32[$11>>2]|0; + $93 = (_withExpand($91,$92)|0); + $94 = ($93|0)!=(0); + if ($94) { + label = 12; break; } - $209 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($209,13)|0); - $210 = HEAP32[$v>>2]|0; - $211 = (_sqlite3VdbeCurrentAddr($210)|0); - HEAP32[$addrNextRow>>2] = $211; - $212 = HEAP32[$nColTest>>2]|0; - $213 = ($212|0)==(1); - if ($213) { - $214 = HEAP32[$pIdx>>2]|0; - $215 = ((($214)) + 50|0); - $216 = HEAP16[$215>>1]|0; - $217 = $216&65535; - $218 = ($217|0)==(1); - if ($218) { - $219 = HEAP32[$pIdx>>2]|0; - $220 = ((($219)) + 54|0); - $221 = HEAP8[$220>>0]|0; - $222 = $221&255; - $223 = ($222|0)!=(0); - if ($223) { - $224 = HEAP32[$v>>2]|0; - $225 = HEAP32[$regPrev>>2]|0; - $226 = HEAP32[$endDistinctTest>>2]|0; - (_sqlite3VdbeAddOp2($224,35,$225,$226)|0); + $95 = HEAP32[$11>>2]|0; + $96 = ((($95)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)!=(0|0); + do { + if (!($98)) { + $99 = HEAP32[$11>>2]|0; + $100 = ((($99)) + 8|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)==(0|0); + if ($102) { + $103 = HEAP32[$11>>2]|0; + $104 = ((($103)) + 20|0); + $105 = HEAP32[$104>>2]|0; + HEAP32[$18>>2] = $105; + $106 = HEAP32[$3>>2]|0; + $107 = HEAP32[$18>>2]|0; + $108 = (_sqlite3WalkSelect($106,$107)|0); + $109 = ($108|0)!=(0); + if ($109) { + label = 16; + break L11; + } + $110 = HEAP32[$12>>2]|0; + $111 = (_sqlite3DbMallocZero($110,72,0)|0); + HEAP32[$17>>2] = $111; + $112 = HEAP32[$11>>2]|0; + $113 = ((($112)) + 16|0); + HEAP32[$113>>2] = $111; + $114 = HEAP32[$17>>2]|0; + $115 = ($114|0)==(0|0); + if ($115) { + label = 18; + break L11; + } + $116 = HEAP32[$17>>2]|0; + $117 = ((($116)) + 36|0); + HEAP16[$117>>1] = 1; + $118 = HEAP32[$12>>2]|0; + $119 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer>>2] = $119; + $120 = (_sqlite3MPrintf($118,29526,$vararg_buffer)|0); + $121 = HEAP32[$17>>2]|0; + HEAP32[$121>>2] = $120; + while(1) { + $122 = HEAP32[$18>>2]|0; + $123 = ((($122)) + 48|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($124|0)!=(0|0); + if (!($125)) { + break; + } + $126 = HEAP32[$18>>2]|0; + $127 = ((($126)) + 48|0); + $128 = HEAP32[$127>>2]|0; + HEAP32[$18>>2] = $128; + } + $129 = HEAP32[$5>>2]|0; + $130 = HEAP32[$18>>2]|0; + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$17>>2]|0; + $133 = ((($132)) + 34|0); + $134 = HEAP32[$17>>2]|0; + $135 = ((($134)) + 4|0); + (_sqlite3ColumnsFromExprList($129,$131,$133,$135)|0); + $136 = HEAP32[$17>>2]|0; + $137 = ((($136)) + 32|0); + HEAP16[$137>>1] = -1; + $138 = HEAP32[$17>>2]|0; + $139 = ((($138)) + 38|0); + HEAP16[$139>>1] = 200; + $140 = HEAP32[$17>>2]|0; + $141 = ((($140)) + 42|0); + $142 = HEAP8[$141>>0]|0; + $143 = $142&255; + $144 = $143 | 2; + $145 = $144&255; + HEAP8[$141>>0] = $145; + break; + } + $146 = HEAP32[$5>>2]|0; + $147 = HEAP32[$11>>2]|0; + $148 = (_sqlite3LocateTableItem($146,0,$147)|0); + HEAP32[$17>>2] = $148; + $149 = HEAP32[$11>>2]|0; + $150 = ((($149)) + 16|0); + HEAP32[$150>>2] = $148; + $151 = HEAP32[$17>>2]|0; + $152 = ($151|0)==(0|0); + if ($152) { + label = 24; + break L11; + } + $153 = HEAP32[$17>>2]|0; + $154 = ((($153)) + 36|0); + $155 = HEAP16[$154>>1]|0; + $156 = $155&65535; + $157 = ($156|0)==(65535); + if ($157) { + label = 26; + break L11; + } + $163 = HEAP32[$17>>2]|0; + $164 = ((($163)) + 36|0); + $165 = HEAP16[$164>>1]|0; + $166 = (($165) + 1)<<16>>16; + HEAP16[$164>>1] = $166; + $167 = HEAP32[$17>>2]|0; + $168 = ((($167)) + 42|0); + $169 = HEAP8[$168>>0]|0; + $170 = $169&255; + $171 = $170 & 16; + $172 = ($171|0)!=(0); + if (!($172)) { + $173 = HEAP32[$5>>2]|0; + $174 = HEAP32[$11>>2]|0; + $175 = (_cannotBeFunction($173,$174)|0); + $176 = ($175|0)!=(0); + if ($176) { + label = 29; + break L11; + } + } + $177 = HEAP32[$17>>2]|0; + $178 = ((($177)) + 42|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = $180 & 16; + $182 = ($181|0)!=(0); + if (!($182)) { + $183 = HEAP32[$17>>2]|0; + $184 = ((($183)) + 12|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($185|0)!=(0|0); + if (!($186)) { + break; + } + } + $187 = HEAP32[$5>>2]|0; + $188 = HEAP32[$17>>2]|0; + $189 = (_sqlite3ViewGetColumnNames($187,$188)|0); + $190 = ($189|0)!=(0); + if ($190) { + label = 33; + break L11; } + $191 = HEAP32[$12>>2]|0; + $192 = HEAP32[$17>>2]|0; + $193 = ((($192)) + 12|0); + $194 = HEAP32[$193>>2]|0; + $195 = (_sqlite3SelectDup($191,$194,0)|0); + $196 = HEAP32[$11>>2]|0; + $197 = ((($196)) + 20|0); + HEAP32[$197>>2] = $195; + $198 = HEAP32[$17>>2]|0; + $199 = ((($198)) + 34|0); + $200 = HEAP16[$199>>1]|0; + HEAP16[$19>>1] = $200; + $201 = HEAP32[$17>>2]|0; + $202 = ((($201)) + 34|0); + HEAP16[$202>>1] = -1; + $203 = HEAP32[$3>>2]|0; + $204 = HEAP32[$11>>2]|0; + $205 = ((($204)) + 20|0); + $206 = HEAP32[$205>>2]|0; + (_sqlite3WalkSelect($203,$206)|0); + $207 = HEAP16[$19>>1]|0; + $208 = HEAP32[$17>>2]|0; + $209 = ((($208)) + 34|0); + HEAP16[$209>>1] = $207; } + } while(0); + $210 = HEAP32[$5>>2]|0; + $211 = HEAP32[$11>>2]|0; + $212 = (_sqlite3IndexedByLookup($210,$211)|0); + $213 = ($212|0)!=(0); + if ($213) { + label = 36; + break; } - HEAP32[$i>>2] = 0; - while(1) { - $227 = HEAP32[$i>>2]|0; - $228 = HEAP32[$nColTest>>2]|0; - $229 = ($227|0)<($228|0); - if (!($229)) { - break; + } + $214 = HEAP32[$6>>2]|0; + $215 = (($214) + 1)|0; + HEAP32[$6>>2] = $215; + $216 = HEAP32[$11>>2]|0; + $217 = ((($216)) + 72|0); + HEAP32[$11>>2] = $217; + } + if ((label|0) == 12) { + HEAP32[$2>>2] = 2; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); + } + else if ((label|0) == 16) { + HEAP32[$2>>2] = 2; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); + } + else if ((label|0) == 18) { + HEAP32[$2>>2] = 2; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); + } + else if ((label|0) == 24) { + HEAP32[$2>>2] = 2; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); + } + else if ((label|0) == 26) { + $158 = HEAP32[$5>>2]|0; + $159 = HEAP32[$17>>2]|0; + $160 = HEAP32[$159>>2]|0; + HEAP32[$vararg_buffer6>>2] = $160; + _sqlite3ErrorMsg($158,29539,$vararg_buffer6); + $161 = HEAP32[$11>>2]|0; + $162 = ((($161)) + 16|0); + HEAP32[$162>>2] = 0; + HEAP32[$2>>2] = 2; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); + } + else if ((label|0) == 29) { + HEAP32[$2>>2] = 2; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); + } + else if ((label|0) == 33) { + HEAP32[$2>>2] = 2; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); + } + else if ((label|0) == 36) { + HEAP32[$2>>2] = 2; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); + } + else if ((label|0) == 38) { + $218 = HEAP32[$12>>2]|0; + $219 = ((($218)) + 69|0); + $220 = HEAP8[$219>>0]|0; + $221 = $220&255; + $222 = ($221|0)!=(0); + if (!($222)) { + $223 = HEAP32[$5>>2]|0; + $224 = HEAP32[$4>>2]|0; + $225 = (_sqliteProcessJoin($223,$224)|0); + $226 = ($225|0)!=(0); + if (!($226)) { + HEAP32[$8>>2] = 0; + while(1) { + $227 = HEAP32[$8>>2]|0; + $228 = HEAP32[$10>>2]|0; + $229 = HEAP32[$228>>2]|0; + $230 = ($227|0)<($229|0); + if (!($230)) { + break; + } + $231 = HEAP32[$10>>2]|0; + $232 = ((($231)) + 4|0); + $233 = HEAP32[$232>>2]|0; + $234 = HEAP32[$8>>2]|0; + $235 = (($233) + (($234*20)|0)|0); + $236 = HEAP32[$235>>2]|0; + HEAP32[$13>>2] = $236; + $237 = HEAP32[$13>>2]|0; + $238 = HEAP8[$237>>0]|0; + $239 = $238&255; + $240 = ($239|0)==(160); + if ($240) { + break; + } + $241 = HEAP32[$13>>2]|0; + $242 = HEAP8[$241>>0]|0; + $243 = $242&255; + $244 = ($243|0)==(122); + if ($244) { + $245 = HEAP32[$13>>2]|0; + $246 = ((($245)) + 16|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP8[$247>>0]|0; + $249 = $248&255; + $250 = ($249|0)==(160); + if ($250) { + break; + } + } + $251 = HEAP32[$8>>2]|0; + $252 = (($251) + 1)|0; + HEAP32[$8>>2] = $252; } - $230 = HEAP32[$0>>2]|0; - $231 = HEAP32[$i>>2]|0; - $232 = HEAP32[$pIdx>>2]|0; - $233 = ((($232)) + 32|0); - $234 = HEAP32[$233>>2]|0; - $235 = (($234) + ($231<<2)|0); - $236 = HEAP32[$235>>2]|0; - $237 = (_sqlite3LocateCollSeq($230,$236)|0); - HEAP32[$pColl>>2] = $237; - $238 = HEAP32[$v>>2]|0; - $239 = HEAP32[$i>>2]|0; - $240 = HEAP32[$regChng>>2]|0; - (_sqlite3VdbeAddOp2($238,76,$239,$240)|0); - $241 = HEAP32[$v>>2]|0; - $242 = HEAP32[$iIdxCur>>2]|0; - $243 = HEAP32[$i>>2]|0; - $244 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp3($241,96,$242,$243,$244)|0); - $245 = HEAP32[$v>>2]|0; - $246 = HEAP32[$regTemp>>2]|0; - $247 = HEAP32[$regPrev>>2]|0; - $248 = HEAP32[$i>>2]|0; - $249 = (($247) + ($248))|0; - $250 = HEAP32[$pColl>>2]|0; - $251 = (_sqlite3VdbeAddOp4($245,36,$246,0,$249,$250,-4)|0); - $252 = HEAP32[$i>>2]|0; - $253 = HEAP32[$aGotoChng>>2]|0; - $254 = (($253) + ($252<<2)|0); - HEAP32[$254>>2] = $251; - $255 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($255,-128); - $256 = HEAP32[$i>>2]|0; - $257 = (($256) + 1)|0; - HEAP32[$i>>2] = $257; - } - $258 = HEAP32[$v>>2]|0; - $259 = HEAP32[$nColTest>>2]|0; - $260 = HEAP32[$regChng>>2]|0; - (_sqlite3VdbeAddOp2($258,76,$259,$260)|0); - $261 = HEAP32[$v>>2]|0; - $262 = HEAP32[$endDistinctTest>>2]|0; - (_sqlite3VdbeGoto($261,$262)|0); - $263 = HEAP32[$v>>2]|0; - $264 = HEAP32[$addrNextRow>>2]|0; - $265 = (($264) - 1)|0; - _sqlite3VdbeJumpHere($263,$265); - HEAP32[$i>>2] = 0; - while(1) { - $266 = HEAP32[$i>>2]|0; - $267 = HEAP32[$nColTest>>2]|0; - $268 = ($266|0)<($267|0); - $269 = HEAP32[$v>>2]|0; - if (!($268)) { - break; + $253 = HEAP32[$8>>2]|0; + $254 = HEAP32[$10>>2]|0; + $255 = HEAP32[$254>>2]|0; + $256 = ($253|0)<($255|0); + if ($256) { + $257 = HEAP32[$10>>2]|0; + $258 = ((($257)) + 4|0); + $259 = HEAP32[$258>>2]|0; + HEAP32[$20>>2] = $259; + HEAP32[$21>>2] = 0; + $260 = HEAP32[$5>>2]|0; + $261 = HEAP32[$260>>2]|0; + $262 = ((($261)) + 24|0); + $263 = HEAP32[$262>>2]|0; + HEAP32[$22>>2] = $263; + $264 = HEAP32[$22>>2]|0; + $265 = $264 & 4; + $266 = ($265|0)!=(0); + if ($266) { + $267 = HEAP32[$22>>2]|0; + $268 = $267 & 64; + $269 = ($268|0)==(0); + $271 = $269; + } else { + $271 = 0; + } + $270 = $271&1; + HEAP32[$23>>2] = $270; + HEAP32[$8>>2] = 0; + while(1) { + $272 = HEAP32[$8>>2]|0; + $273 = HEAP32[$10>>2]|0; + $274 = HEAP32[$273>>2]|0; + $275 = ($272|0)<($274|0); + if (!($275)) { + break; + } + $276 = HEAP32[$20>>2]|0; + $277 = HEAP32[$8>>2]|0; + $278 = (($276) + (($277*20)|0)|0); + $279 = HEAP32[$278>>2]|0; + HEAP32[$13>>2] = $279; + $280 = HEAP32[$13>>2]|0; + $281 = ((($280)) + 16|0); + $282 = HEAP32[$281>>2]|0; + HEAP32[$14>>2] = $282; + $283 = HEAP32[$13>>2]|0; + $284 = HEAP8[$283>>0]|0; + $285 = $284&255; + $286 = ($285|0)!=(160); + do { + if ($286) { + $287 = HEAP32[$13>>2]|0; + $288 = HEAP8[$287>>0]|0; + $289 = $288&255; + $290 = ($289|0)!=(122); + if (!($290)) { + $291 = HEAP32[$14>>2]|0; + $292 = HEAP8[$291>>0]|0; + $293 = $292&255; + $294 = ($293|0)!=(160); + if (!($294)) { + label = 58; + break; + } + } + $295 = HEAP32[$5>>2]|0; + $296 = HEAP32[$21>>2]|0; + $297 = HEAP32[$20>>2]|0; + $298 = HEAP32[$8>>2]|0; + $299 = (($297) + (($298*20)|0)|0); + $300 = HEAP32[$299>>2]|0; + $301 = (_sqlite3ExprListAppend($295,$296,$300)|0); + HEAP32[$21>>2] = $301; + $302 = HEAP32[$21>>2]|0; + $303 = ($302|0)!=(0|0); + if ($303) { + $304 = HEAP32[$20>>2]|0; + $305 = HEAP32[$8>>2]|0; + $306 = (($304) + (($305*20)|0)|0); + $307 = ((($306)) + 4|0); + $308 = HEAP32[$307>>2]|0; + $309 = HEAP32[$21>>2]|0; + $310 = ((($309)) + 4|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[$21>>2]|0; + $313 = HEAP32[$312>>2]|0; + $314 = (($313) - 1)|0; + $315 = (($311) + (($314*20)|0)|0); + $316 = ((($315)) + 4|0); + HEAP32[$316>>2] = $308; + $317 = HEAP32[$20>>2]|0; + $318 = HEAP32[$8>>2]|0; + $319 = (($317) + (($318*20)|0)|0); + $320 = ((($319)) + 8|0); + $321 = HEAP32[$320>>2]|0; + $322 = HEAP32[$21>>2]|0; + $323 = ((($322)) + 4|0); + $324 = HEAP32[$323>>2]|0; + $325 = HEAP32[$21>>2]|0; + $326 = HEAP32[$325>>2]|0; + $327 = (($326) - 1)|0; + $328 = (($324) + (($327*20)|0)|0); + $329 = ((($328)) + 8|0); + HEAP32[$329>>2] = $321; + $330 = HEAP32[$20>>2]|0; + $331 = HEAP32[$8>>2]|0; + $332 = (($330) + (($331*20)|0)|0); + $333 = ((($332)) + 4|0); + HEAP32[$333>>2] = 0; + $334 = HEAP32[$20>>2]|0; + $335 = HEAP32[$8>>2]|0; + $336 = (($334) + (($335*20)|0)|0); + $337 = ((($336)) + 8|0); + HEAP32[$337>>2] = 0; + } + $338 = HEAP32[$20>>2]|0; + $339 = HEAP32[$8>>2]|0; + $340 = (($338) + (($339*20)|0)|0); + HEAP32[$340>>2] = 0; + } else { + label = 58; + } + } while(0); + do { + if ((label|0) == 58) { + label = 0; + HEAP32[$24>>2] = 0; + HEAP32[$25>>2] = 0; + $341 = HEAP32[$13>>2]|0; + $342 = HEAP8[$341>>0]|0; + $343 = $342&255; + $344 = ($343|0)==(122); + if ($344) { + $345 = HEAP32[$13>>2]|0; + $346 = ((($345)) + 12|0); + $347 = HEAP32[$346>>2]|0; + $348 = ((($347)) + 8|0); + $349 = HEAP32[$348>>2]|0; + HEAP32[$25>>2] = $349; + } + HEAP32[$6>>2] = 0; + $350 = HEAP32[$9>>2]|0; + $351 = ((($350)) + 8|0); + HEAP32[$11>>2] = $351; + while(1) { + $352 = HEAP32[$6>>2]|0; + $353 = HEAP32[$9>>2]|0; + $354 = HEAP32[$353>>2]|0; + $355 = ($352|0)<($354|0); + if (!($355)) { + break; + } + $356 = HEAP32[$11>>2]|0; + $357 = ((($356)) + 16|0); + $358 = HEAP32[$357>>2]|0; + HEAP32[$26>>2] = $358; + $359 = HEAP32[$11>>2]|0; + $360 = ((($359)) + 20|0); + $361 = HEAP32[$360>>2]|0; + HEAP32[$27>>2] = $361; + $362 = HEAP32[$11>>2]|0; + $363 = ((($362)) + 12|0); + $364 = HEAP32[$363>>2]|0; + HEAP32[$28>>2] = $364; + HEAP32[$29>>2] = 0; + $365 = HEAP32[$28>>2]|0; + $366 = ($365|0)==(0|0); + if ($366) { + $367 = HEAP32[$26>>2]|0; + $368 = HEAP32[$367>>2]|0; + HEAP32[$28>>2] = $368; + } + $369 = HEAP32[$12>>2]|0; + $370 = ((($369)) + 69|0); + $371 = HEAP8[$370>>0]|0; + $372 = ($371<<24>>24)!=(0); + if ($372) { + break; + } + $373 = HEAP32[$27>>2]|0; + $374 = ($373|0)==(0|0); + if ($374) { + label = 67; + } else { + $375 = HEAP32[$27>>2]|0; + $376 = ((($375)) + 8|0); + $377 = HEAP32[$376>>2]|0; + $378 = $377 & 2048; + $379 = ($378|0)==(0); + if ($379) { + label = 67; + } else { + label = 72; + } + } + do { + if ((label|0) == 67) { + label = 0; + HEAP32[$27>>2] = 0; + $380 = HEAP32[$25>>2]|0; + $381 = ($380|0)!=(0|0); + if ($381) { + $382 = HEAP32[$25>>2]|0; + $383 = HEAP32[$28>>2]|0; + $384 = (_sqlite3StrICmp($382,$383)|0); + $385 = ($384|0)!=(0); + if ($385) { + break; + } + } + $386 = HEAP32[$12>>2]|0; + $387 = HEAP32[$26>>2]|0; + $388 = ((($387)) + 64|0); + $389 = HEAP32[$388>>2]|0; + $390 = (_sqlite3SchemaToIndex($386,$389)|0); + HEAP32[$30>>2] = $390; + $391 = HEAP32[$30>>2]|0; + $392 = ($391|0)>=(0); + if ($392) { + $393 = HEAP32[$12>>2]|0; + $394 = ((($393)) + 16|0); + $395 = HEAP32[$394>>2]|0; + $396 = HEAP32[$30>>2]|0; + $397 = (($395) + ($396<<4)|0); + $398 = HEAP32[$397>>2]|0; + $399 = $398; + } else { + $399 = 29578; + } + HEAP32[$29>>2] = $399; + label = 72; + } + } while(0); + L90: do { + if ((label|0) == 72) { + label = 0; + HEAP32[$7>>2] = 0; + while(1) { + $400 = HEAP32[$7>>2]|0; + $401 = HEAP32[$26>>2]|0; + $402 = ((($401)) + 34|0); + $403 = HEAP16[$402>>1]|0; + $404 = $403 << 16 >> 16; + $405 = ($400|0)<($404|0); + if (!($405)) { + break L90; + } + $406 = HEAP32[$26>>2]|0; + $407 = ((($406)) + 4|0); + $408 = HEAP32[$407>>2]|0; + $409 = HEAP32[$7>>2]|0; + $410 = (($408) + ($409<<4)|0); + $411 = HEAP32[$410>>2]|0; + HEAP32[$31>>2] = $411; + $412 = HEAP32[$25>>2]|0; + $413 = ($412|0)!=(0|0); + $414 = HEAP32[$27>>2]|0; + $415 = ($414|0)!=(0|0); + $or$cond = $413 & $415; + if ($or$cond) { + $416 = HEAP32[$27>>2]|0; + $417 = HEAP32[$416>>2]|0; + $418 = ((($417)) + 4|0); + $419 = HEAP32[$418>>2]|0; + $420 = HEAP32[$7>>2]|0; + $421 = (($419) + (($420*20)|0)|0); + $422 = ((($421)) + 8|0); + $423 = HEAP32[$422>>2]|0; + $424 = HEAP32[$25>>2]|0; + $425 = (_sqlite3MatchSpanName($423,0,$424,0)|0); + $426 = ($425|0)==(0); + if (!($426)) { + label = 76; + } + } else { + label = 76; + } + do { + if ((label|0) == 76) { + label = 0; + $427 = HEAP32[$4>>2]|0; + $428 = ((($427)) + 8|0); + $429 = HEAP32[$428>>2]|0; + $430 = $429 & 131072; + $431 = ($430|0)==(0); + if ($431) { + $432 = HEAP32[$26>>2]|0; + $433 = ((($432)) + 4|0); + $434 = HEAP32[$433>>2]|0; + $435 = HEAP32[$7>>2]|0; + $436 = (($434) + ($435<<4)|0); + $437 = ((($436)) + 15|0); + $438 = HEAP8[$437>>0]|0; + $439 = $438&255; + $440 = $439 & 2; + $441 = ($440|0)!=(0); + if ($441) { + break; + } + } + HEAP32[$24>>2] = 1; + $442 = HEAP32[$6>>2]|0; + $443 = ($442|0)>(0); + $444 = HEAP32[$25>>2]|0; + $445 = ($444|0)==(0|0); + $or$cond3 = $443 & $445; + if ($or$cond3) { + $446 = HEAP32[$11>>2]|0; + $447 = ((($446)) + 36|0); + $448 = HEAP8[$447>>0]|0; + $449 = $448&255; + $450 = $449 & 4; + $451 = ($450|0)!=(0); + if ($451) { + $452 = HEAP32[$9>>2]|0; + $453 = HEAP32[$6>>2]|0; + $454 = HEAP32[$31>>2]|0; + $455 = (_tableAndColumnIndex($452,$453,$454,0,0)|0); + $456 = ($455|0)!=(0); + if ($456) { + break; + } + } + $457 = HEAP32[$11>>2]|0; + $458 = ((($457)) + 52|0); + $459 = HEAP32[$458>>2]|0; + $460 = HEAP32[$31>>2]|0; + $461 = (_sqlite3IdListIndex($459,$460)|0); + $462 = ($461|0)>=(0); + if ($462) { + break; + } + } + $463 = HEAP32[$12>>2]|0; + $464 = HEAP32[$31>>2]|0; + $465 = (_sqlite3Expr($463,55,$464)|0); + HEAP32[$14>>2] = $465; + $466 = HEAP32[$31>>2]|0; + HEAP32[$32>>2] = $466; + HEAP32[$33>>2] = 0; + $467 = HEAP32[$23>>2]|0; + $468 = ($467|0)!=(0); + do { + if ($468) { + label = 84; + } else { + $469 = HEAP32[$9>>2]|0; + $470 = HEAP32[$469>>2]|0; + $471 = ($470|0)>(1); + if ($471) { + label = 84; + break; + } + $495 = HEAP32[$14>>2]|0; + HEAP32[$15>>2] = $495; + } + } while(0); + do { + if ((label|0) == 84) { + label = 0; + $472 = HEAP32[$12>>2]|0; + $473 = HEAP32[$28>>2]|0; + $474 = (_sqlite3Expr($472,55,$473)|0); + HEAP32[$35>>2] = $474; + $475 = HEAP32[$5>>2]|0; + $476 = HEAP32[$35>>2]|0; + $477 = HEAP32[$14>>2]|0; + $478 = (_sqlite3PExpr($475,122,$476,$477,0)|0); + HEAP32[$15>>2] = $478; + $479 = HEAP32[$29>>2]|0; + $480 = ($479|0)!=(0|0); + if ($480) { + $481 = HEAP32[$12>>2]|0; + $482 = HEAP32[$29>>2]|0; + $483 = (_sqlite3Expr($481,55,$482)|0); + HEAP32[$35>>2] = $483; + $484 = HEAP32[$5>>2]|0; + $485 = HEAP32[$35>>2]|0; + $486 = HEAP32[$15>>2]|0; + $487 = (_sqlite3PExpr($484,122,$485,$486,0)|0); + HEAP32[$15>>2] = $487; + } + $488 = HEAP32[$23>>2]|0; + $489 = ($488|0)!=(0); + if (!($489)) { + break; + } + $490 = HEAP32[$12>>2]|0; + $491 = HEAP32[$28>>2]|0; + $492 = HEAP32[$31>>2]|0; + HEAP32[$vararg_buffer9>>2] = $491; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $492; + $493 = (_sqlite3MPrintf($490,29580,$vararg_buffer9)|0); + HEAP32[$32>>2] = $493; + $494 = HEAP32[$32>>2]|0; + HEAP32[$33>>2] = $494; + } + } while(0); + $496 = HEAP32[$5>>2]|0; + $497 = HEAP32[$21>>2]|0; + $498 = HEAP32[$15>>2]|0; + $499 = (_sqlite3ExprListAppend($496,$497,$498)|0); + HEAP32[$21>>2] = $499; + $500 = HEAP32[$32>>2]|0; + _sqlite3TokenInit($34,$500); + $501 = HEAP32[$5>>2]|0; + $502 = HEAP32[$21>>2]|0; + _sqlite3ExprListSetName($501,$502,$34,0); + $503 = HEAP32[$21>>2]|0; + $504 = ($503|0)!=(0|0); + do { + if ($504) { + $505 = HEAP32[$4>>2]|0; + $506 = ((($505)) + 8|0); + $507 = HEAP32[$506>>2]|0; + $508 = $507 & 2048; + $509 = ($508|0)!=(0); + if (!($509)) { + break; + } + $510 = HEAP32[$21>>2]|0; + $511 = ((($510)) + 4|0); + $512 = HEAP32[$511>>2]|0; + $513 = HEAP32[$21>>2]|0; + $514 = HEAP32[$513>>2]|0; + $515 = (($514) - 1)|0; + $516 = (($512) + (($515*20)|0)|0); + HEAP32[$36>>2] = $516; + $517 = HEAP32[$27>>2]|0; + $518 = ($517|0)!=(0|0); + $519 = HEAP32[$12>>2]|0; + if ($518) { + $520 = HEAP32[$27>>2]|0; + $521 = HEAP32[$520>>2]|0; + $522 = ((($521)) + 4|0); + $523 = HEAP32[$522>>2]|0; + $524 = HEAP32[$7>>2]|0; + $525 = (($523) + (($524*20)|0)|0); + $526 = ((($525)) + 8|0); + $527 = HEAP32[$526>>2]|0; + $528 = (_sqlite3DbStrDup($519,$527)|0); + $529 = HEAP32[$36>>2]|0; + $$sink = $528;$$sink5 = $529; + } else { + $530 = HEAP32[$29>>2]|0; + $531 = HEAP32[$28>>2]|0; + $532 = HEAP32[$32>>2]|0; + HEAP32[$vararg_buffer13>>2] = $530; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $531; + $vararg_ptr17 = ((($vararg_buffer13)) + 8|0); + HEAP32[$vararg_ptr17>>2] = $532; + $533 = (_sqlite3MPrintf($519,29586,$vararg_buffer13)|0); + $534 = HEAP32[$36>>2]|0; + $$sink = $533;$$sink5 = $534; + } + $535 = ((($$sink5)) + 8|0); + HEAP32[$535>>2] = $$sink; + $536 = HEAP32[$36>>2]|0; + $537 = ((($536)) + 13|0); + $538 = HEAP8[$537>>0]|0; + $539 = $538 & -3; + $540 = $539 | 2; + HEAP8[$537>>0] = $540; + } + } while(0); + $541 = HEAP32[$12>>2]|0; + $542 = HEAP32[$33>>2]|0; + _sqlite3DbFree($541,$542); + } + } while(0); + $543 = HEAP32[$7>>2]|0; + $544 = (($543) + 1)|0; + HEAP32[$7>>2] = $544; + } + } + } while(0); + $545 = HEAP32[$6>>2]|0; + $546 = (($545) + 1)|0; + HEAP32[$6>>2] = $546; + $547 = HEAP32[$11>>2]|0; + $548 = ((($547)) + 72|0); + HEAP32[$11>>2] = $548; + } + $549 = HEAP32[$24>>2]|0; + $550 = ($549|0)!=(0); + if (!($550)) { + $551 = HEAP32[$25>>2]|0; + $552 = ($551|0)!=(0|0); + $553 = HEAP32[$5>>2]|0; + if ($552) { + $554 = HEAP32[$25>>2]|0; + HEAP32[$vararg_buffer18>>2] = $554; + _sqlite3ErrorMsg($553,29595,$vararg_buffer18); + break; + } else { + _sqlite3ErrorMsg($553,29613,$vararg_buffer21); + break; + } + } + } + } while(0); + $555 = HEAP32[$8>>2]|0; + $556 = (($555) + 1)|0; + HEAP32[$8>>2] = $556; + } + $557 = HEAP32[$12>>2]|0; + $558 = HEAP32[$10>>2]|0; + _sqlite3ExprListDelete($557,$558); + $559 = HEAP32[$21>>2]|0; + $560 = HEAP32[$4>>2]|0; + HEAP32[$560>>2] = $559; } - $270 = HEAP32[$i>>2]|0; - $271 = HEAP32[$aGotoChng>>2]|0; - $272 = (($271) + ($270<<2)|0); - $273 = HEAP32[$272>>2]|0; - _sqlite3VdbeJumpHere($269,$273); - $274 = HEAP32[$v>>2]|0; - $275 = HEAP32[$iIdxCur>>2]|0; - $276 = HEAP32[$i>>2]|0; - $277 = HEAP32[$regPrev>>2]|0; - $278 = HEAP32[$i>>2]|0; - $279 = (($277) + ($278))|0; - (_sqlite3VdbeAddOp3($274,96,$275,$276,$279)|0); - $280 = HEAP32[$i>>2]|0; - $281 = (($280) + 1)|0; - HEAP32[$i>>2] = $281; - } - $282 = HEAP32[$endDistinctTest>>2]|0; - _sqlite3VdbeResolveLabel($269,$282); - $283 = HEAP32[$db>>2]|0; - $284 = HEAP32[$aGotoChng>>2]|0; - _sqlite3DbFree($283,$284); - } - $285 = HEAP32[$v>>2]|0; - $286 = HEAP32[$regStat4>>2]|0; - $287 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp4($285,89,1,$286,$287,4320,-5)|0); - $288 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($288,2); - $289 = HEAP32[$v>>2]|0; - $290 = HEAP32[$iIdxCur>>2]|0; - $291 = HEAP32[$addrNextRow>>2]|0; - (_sqlite3VdbeAddOp2($289,7,$290,$291)|0); - $292 = HEAP32[$v>>2]|0; - $293 = HEAP32[$regStat4>>2]|0; - $294 = HEAP32[$regStat1>>2]|0; - _callStatGet($292,$293,0,$294); - $295 = HEAP32[$v>>2]|0; - $296 = HEAP32[$regTabname>>2]|0; - $297 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp4($295,99,$296,3,$297,30871,0)|0); - $298 = HEAP32[$v>>2]|0; - $299 = HEAP32[$3>>2]|0; - $300 = HEAP32[$regNewRowid>>2]|0; - (_sqlite3VdbeAddOp2($298,114,$299,$300)|0); - $301 = HEAP32[$v>>2]|0; - $302 = HEAP32[$3>>2]|0; - $303 = HEAP32[$regTemp>>2]|0; - $304 = HEAP32[$regNewRowid>>2]|0; - (_sqlite3VdbeAddOp3($301,115,$302,$303,$304)|0); - $305 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($305,8); - $306 = HEAP32[$v>>2]|0; - $307 = HEAP32[$addrRewind>>2]|0; - _sqlite3VdbeJumpHere($306,$307); + $561 = HEAP32[$4>>2]|0; + $562 = HEAP32[$561>>2]|0; + $563 = ($562|0)!=(0|0); + if ($563) { + $564 = HEAP32[$4>>2]|0; + $565 = HEAP32[$564>>2]|0; + $566 = HEAP32[$565>>2]|0; + $567 = HEAP32[$12>>2]|0; + $568 = ((($567)) + 96|0); + $569 = ((($568)) + 8|0); + $570 = HEAP32[$569>>2]|0; + $571 = ($566|0)>($570|0); + if ($571) { + $572 = HEAP32[$5>>2]|0; + _sqlite3ErrorMsg($572,29633,$vararg_buffer23); + HEAP32[$2>>2] = 2; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); + } + } + HEAP32[$2>>2] = 0; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); + } + } + HEAP32[$2>>2] = 2; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); } - } while(0); - $308 = HEAP32[$pIdx>>2]|0; - $309 = ((($308)) + 20|0); - $310 = HEAP32[$309>>2]|0; - HEAP32[$pIdx>>2] = $310; - } - $311 = ($101|0)==(0|0); - if (!($311)) { - STACKTOP = sp;return; - } - $312 = HEAP8[$needTableCnt>>0]|0; - $313 = $312&255; - $314 = ($313|0)!=(0); - if (!($314)) { - STACKTOP = sp;return; + } } - $315 = HEAP32[$v>>2]|0; - $316 = HEAP32[$iTabCur>>2]|0; - $317 = HEAP32[$regStat1>>2]|0; - (_sqlite3VdbeAddOp2($315,100,$316,$317)|0); - $318 = HEAP32[$v>>2]|0; - $319 = HEAP32[$regStat1>>2]|0; - $320 = (_sqlite3VdbeAddOp1($318,22,$319)|0); - HEAP32[$jZeroRows>>2] = $320; - $321 = HEAP32[$v>>2]|0; - $322 = HEAP32[$regIdxname>>2]|0; - (_sqlite3VdbeAddOp2($321,79,0,$322)|0); - $323 = HEAP32[$v>>2]|0; - $324 = HEAP32[$regTabname>>2]|0; - $325 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp4($323,99,$324,3,$325,30871,0)|0); - $326 = HEAP32[$v>>2]|0; - $327 = HEAP32[$3>>2]|0; - $328 = HEAP32[$regNewRowid>>2]|0; - (_sqlite3VdbeAddOp2($326,114,$327,$328)|0); - $329 = HEAP32[$v>>2]|0; - $330 = HEAP32[$3>>2]|0; - $331 = HEAP32[$regTemp>>2]|0; - $332 = HEAP32[$regNewRowid>>2]|0; - (_sqlite3VdbeAddOp3($329,115,$330,$331,$332)|0); - $333 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($333,8); - $334 = HEAP32[$v>>2]|0; - $335 = HEAP32[$jZeroRows>>2]|0; - _sqlite3VdbeJumpHere($334,$335); - STACKTOP = sp;return; + HEAP32[$2>>2] = 1; + $573 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($573|0); } -function _loadAnalysis($pParse,$iDb) { - $pParse = $pParse|0; - $iDb = $iDb|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $v = 0, label = 0, sp = 0; +function _selectPopWith($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, $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 + 8|0; - $1 = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iDb; - $2 = HEAP32[$0>>2]|0; - $3 = (_sqlite3GetVdbe($2)|0); - HEAP32[$v>>2] = $3; - $4 = HEAP32[$v>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = (_findRightmost($8)|0); + $10 = ((($9)) + 64|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { STACKTOP = sp;return; } - $6 = HEAP32[$v>>2]|0; - $7 = HEAP32[$1>>2]|0; - (_sqlite3VdbeAddOp1($6,137,$7)|0); + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 472|0); + HEAP32[$18>>2] = $16; STACKTOP = sp;return; } -function _sqlite3VdbeAddOp1($p,$op,$p1) { - $p = $p|0; - $op = $op|0; - $p1 = $p1|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _findRightmost($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $p1; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3VdbeAddOp3($3,$4,$5,0,0)|0); + $1 = sp; + HEAP32[$1>>2] = $0; + while(1) { + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 52|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + $6 = HEAP32[$1>>2]|0; + if (!($5)) { + break; + } + $7 = ((($6)) + 52|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$1>>2] = $8; + } STACKTOP = sp;return ($6|0); } -function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { - $pParse = $pParse|0; - $iDb = $iDb|0; - $iTab = $iTab|0; - $isWriteLock = $isWriteLock|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $i = 0, $nBytes = 0, $p = 0, $pToplevel = 0, label = 0, sp = 0; +function _withExpand($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 32|0; - $4 = sp + 16|0; - $pToplevel = sp + 12|0; - $i = sp + 8|0; - $nBytes = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iDb; - HEAP32[$2>>2] = $iTab; - HEAP8[$3>>0] = $isWriteLock; - HEAP32[$4>>2] = $zName; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 124|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = HEAP32[$0>>2]|0; - if ($8) { - $10 = ((($9)) + 124|0); - $11 = HEAP32[$10>>2]|0; - $12 = $11; - } else { - $12 = $9; - } - HEAP32[$pToplevel>>2] = $12; - HEAP32[$i>>2] = 0; - while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$pToplevel>>2]|0; - $15 = ((($14)) + 112|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($13|0)<($16|0); - if (!($17)) { - break; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 88|0; + $3 = sp + 84|0; + $4 = sp + 80|0; + $5 = sp + 76|0; + $6 = sp + 72|0; + $7 = sp + 68|0; + $8 = sp + 64|0; + $9 = sp + 60|0; + $10 = sp + 56|0; + $11 = sp + 52|0; + $12 = sp + 48|0; + $13 = sp + 44|0; + $14 = sp + 40|0; + $15 = sp + 36|0; + $16 = sp + 32|0; + $17 = sp + 28|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$5>>2] = $19; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$6>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 472|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = (_searchWith($24,$25,$8)|0); + HEAP32[$7>>2] = $26; + $27 = HEAP32[$7>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$7>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)!=(0|0); + $33 = HEAP32[$5>>2]|0; + if ($32) { + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$7>>2]|0; + $38 = HEAP32[$37>>2]|0; + HEAP32[$vararg_buffer>>2] = $38; + _sqlite3ErrorMsg($33,$36,$vararg_buffer); + HEAP32[$2>>2] = 1; + $225 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($225|0); } - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$pToplevel>>2]|0; - $20 = ((($19)) + 116|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($18<<4)|0); - HEAP32[$p>>2] = $22; - $23 = HEAP32[$p>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ($24|0)==($25|0); - if ($26) { - $27 = HEAP32[$p>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = ($29|0)==($30|0); - if ($31) { - label = 7; - break; + $39 = HEAP32[$4>>2]|0; + $40 = (_cannotBeFunction($33,$39)|0); + $41 = ($40|0)!=(0); + if ($41) { + HEAP32[$2>>2] = 1; + $225 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($225|0); + } + $42 = HEAP32[$6>>2]|0; + $43 = (_sqlite3DbMallocZero($42,72,0)|0); + HEAP32[$9>>2] = $43; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 16|0); + HEAP32[$45>>2] = $43; + $46 = HEAP32[$9>>2]|0; + $47 = ($46|0)==(0|0); + if ($47) { + HEAP32[$2>>2] = 2; + $225 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($225|0); + } + $48 = HEAP32[$9>>2]|0; + $49 = ((($48)) + 36|0); + HEAP16[$49>>1] = 1; + $50 = HEAP32[$6>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = (_sqlite3DbStrDup($50,$52)|0); + $54 = HEAP32[$9>>2]|0; + HEAP32[$54>>2] = $53; + $55 = HEAP32[$9>>2]|0; + $56 = ((($55)) + 32|0); + HEAP16[$56>>1] = -1; + $57 = HEAP32[$9>>2]|0; + $58 = ((($57)) + 38|0); + HEAP16[$58>>1] = 200; + $59 = HEAP32[$9>>2]|0; + $60 = ((($59)) + 42|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = $62 | 66; + $64 = $63&255; + HEAP8[$60>>0] = $64; + $65 = HEAP32[$6>>2]|0; + $66 = HEAP32[$7>>2]|0; + $67 = ((($66)) + 8|0); + $68 = HEAP32[$67>>2]|0; + $69 = (_sqlite3SelectDup($65,$68,0)|0); + $70 = HEAP32[$4>>2]|0; + $71 = ((($70)) + 20|0); + HEAP32[$71>>2] = $69; + $72 = HEAP32[$6>>2]|0; + $73 = ((($72)) + 69|0); + $74 = HEAP8[$73>>0]|0; + $75 = ($74<<24>>24)!=(0); + if ($75) { + HEAP32[$2>>2] = 7; + $225 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($225|0); + } + $76 = HEAP32[$4>>2]|0; + $77 = ((($76)) + 20|0); + $78 = HEAP32[$77>>2]|0; + HEAP32[$11>>2] = $78; + $79 = HEAP32[$11>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP8[$80>>0]|0; + $82 = $81&255; + $83 = ($82|0)==(116); + if ($83) { + $90 = 1; + } else { + $84 = HEAP32[$11>>2]|0; + $85 = ((($84)) + 4|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = ($87|0)==(115); + $90 = $88; + } + $89 = $90&1; + HEAP32[$13>>2] = $89; + $91 = HEAP32[$13>>2]|0; + $92 = ($91|0)!=(0); + L22: do { + if ($92) { + $93 = HEAP32[$4>>2]|0; + $94 = ((($93)) + 20|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($95)) + 28|0); + $97 = HEAP32[$96>>2]|0; + HEAP32[$16>>2] = $97; + HEAP32[$15>>2] = 0; + while(1) { + $98 = HEAP32[$15>>2]|0; + $99 = HEAP32[$16>>2]|0; + $100 = HEAP32[$99>>2]|0; + $101 = ($98|0)<($100|0); + if (!($101)) { + break L22; + } + $102 = HEAP32[$16>>2]|0; + $103 = ((($102)) + 8|0); + $104 = HEAP32[$15>>2]|0; + $105 = (($103) + (($104*72)|0)|0); + HEAP32[$17>>2] = $105; + $106 = HEAP32[$17>>2]|0; + $107 = ((($106)) + 4|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==(0|0); + if ($109) { + $110 = HEAP32[$17>>2]|0; + $111 = ((($110)) + 8|0); + $112 = HEAP32[$111>>2]|0; + $113 = ($112|0)!=(0|0); + if ($113) { + $114 = HEAP32[$17>>2]|0; + $115 = ((($114)) + 8|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$7>>2]|0; + $118 = HEAP32[$117>>2]|0; + $119 = (_sqlite3StrICmp($116,$118)|0); + $120 = (0)==($119|0); + if ($120) { + $121 = HEAP32[$9>>2]|0; + $122 = HEAP32[$17>>2]|0; + $123 = ((($122)) + 16|0); + HEAP32[$123>>2] = $121; + $124 = HEAP32[$17>>2]|0; + $125 = ((($124)) + 36|0); + $126 = ((($125)) + 1|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127 & -33; + $129 = $128 | 32; + HEAP8[$126>>0] = $129; + $130 = HEAP32[$9>>2]|0; + $131 = ((($130)) + 36|0); + $132 = HEAP16[$131>>1]|0; + $133 = (($132) + 1)<<16>>16; + HEAP16[$131>>1] = $133; + $134 = HEAP32[$11>>2]|0; + $135 = ((($134)) + 8|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 | 8192; + HEAP32[$135>>2] = $137; + } + } + } + $138 = HEAP32[$15>>2]|0; + $139 = (($138) + 1)|0; + HEAP32[$15>>2] = $139; + } } + } while(0); + $140 = HEAP32[$9>>2]|0; + $141 = ((($140)) + 36|0); + $142 = HEAP16[$141>>1]|0; + $143 = $142&65535; + $144 = ($143|0)>(2); + if ($144) { + $145 = HEAP32[$5>>2]|0; + $146 = HEAP32[$7>>2]|0; + $147 = HEAP32[$146>>2]|0; + HEAP32[$vararg_buffer1>>2] = $147; + _sqlite3ErrorMsg($145,29874,$vararg_buffer1); + HEAP32[$2>>2] = 1; + $225 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($225|0); } - $45 = HEAP32[$i>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$i>>2] = $46; - } - if ((label|0) == 7) { - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 8|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = ($35|0)!=(0); - if ($36) { - $41 = 1; + $148 = HEAP32[$7>>2]|0; + $149 = ((($148)) + 12|0); + HEAP32[$149>>2] = 29917; + $150 = HEAP32[$5>>2]|0; + $151 = ((($150)) + 472|0); + $152 = HEAP32[$151>>2]|0; + HEAP32[$14>>2] = $152; + $153 = HEAP32[$8>>2]|0; + $154 = HEAP32[$5>>2]|0; + $155 = ((($154)) + 472|0); + HEAP32[$155>>2] = $153; + $156 = HEAP32[$3>>2]|0; + $157 = HEAP32[$13>>2]|0; + $158 = ($157|0)!=(0); + $159 = HEAP32[$11>>2]|0; + if ($158) { + $160 = ((($159)) + 48|0); + $161 = HEAP32[$160>>2]|0; + $162 = $161; } else { - $37 = HEAP8[$3>>0]|0; - $38 = $37&255; - $39 = ($38|0)!=(0); - $41 = $39; + $162 = $159; + } + (_sqlite3WalkSelect($156,$162)|0); + $163 = HEAP32[$8>>2]|0; + $164 = HEAP32[$5>>2]|0; + $165 = ((($164)) + 472|0); + HEAP32[$165>>2] = $163; + $166 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $166; + while(1) { + $167 = HEAP32[$12>>2]|0; + $168 = ((($167)) + 48|0); + $169 = HEAP32[$168>>2]|0; + $170 = ($169|0)!=(0|0); + $171 = HEAP32[$12>>2]|0; + if (!($170)) { + break; + } + $172 = ((($171)) + 48|0); + $173 = HEAP32[$172>>2]|0; + HEAP32[$12>>2] = $173; } - $40 = $41&1; - $42 = $40&255; - $43 = HEAP32[$p>>2]|0; - $44 = ((($43)) + 8|0); - HEAP8[$44>>0] = $42; - STACKTOP = sp;return; - } - $47 = HEAP32[$pToplevel>>2]|0; - $48 = ((($47)) + 112|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 1)|0; - $51 = $50<<4; - HEAP32[$nBytes>>2] = $51; - $52 = HEAP32[$pToplevel>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$pToplevel>>2]|0; - $55 = ((($54)) + 116|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$nBytes>>2]|0; - $58 = ($57|0)<(0); - $59 = $58 << 31 >> 31; - $60 = (_sqlite3DbReallocOrFree($53,$56,$57,$59)|0); - $61 = HEAP32[$pToplevel>>2]|0; - $62 = ((($61)) + 116|0); - HEAP32[$62>>2] = $60; - $63 = HEAP32[$pToplevel>>2]|0; - $64 = ((($63)) + 116|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)!=(0|0); - $67 = HEAP32[$pToplevel>>2]|0; - $68 = ((($67)) + 112|0); - if ($66) { - $69 = HEAP32[$68>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$68>>2] = $70; - $71 = HEAP32[$pToplevel>>2]|0; - $72 = ((($71)) + 116|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73) + ($69<<4)|0); - HEAP32[$p>>2] = $74; - $75 = HEAP32[$1>>2]|0; - $76 = HEAP32[$p>>2]|0; - HEAP32[$76>>2] = $75; - $77 = HEAP32[$2>>2]|0; - $78 = HEAP32[$p>>2]|0; - $79 = ((($78)) + 4|0); - HEAP32[$79>>2] = $77; - $80 = HEAP8[$3>>0]|0; - $81 = HEAP32[$p>>2]|0; - $82 = ((($81)) + 8|0); - HEAP8[$82>>0] = $80; - $83 = HEAP32[$4>>2]|0; - $84 = HEAP32[$p>>2]|0; - $85 = ((($84)) + 12|0); - HEAP32[$85>>2] = $83; - STACKTOP = sp;return; - } else { - HEAP32[$68>>2] = 0; - $86 = HEAP32[$pToplevel>>2]|0; - $87 = HEAP32[$86>>2]|0; - _sqlite3OomFault($87); - STACKTOP = sp;return; - } -} -function _sqlite3OpenTable($pParse,$iCur,$iDb,$pTab,$opcode) { - $pParse = $pParse|0; - $iCur = $iCur|0; - $iDb = $iDb|0; - $pTab = $pTab|0; - $opcode = $opcode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPk = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $v = sp + 4|0; - $pPk = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iCur; - HEAP32[$2>>2] = $iDb; - HEAP32[$3>>2] = $pTab; - HEAP32[$4>>2] = $opcode; - $5 = HEAP32[$0>>2]|0; - $6 = (_sqlite3GetVdbe($5)|0); - HEAP32[$v>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$3>>2]|0; - $10 = ((($9)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$4>>2]|0; - $13 = ($12|0)==(105); - $14 = $13 ? 1 : 0; - $15 = $14&255; - $16 = HEAP32[$3>>2]|0; - $17 = HEAP32[$16>>2]|0; - _sqlite3TableLock($7,$8,$11,$15,$17); - $18 = HEAP32[$3>>2]|0; - $19 = ((($18)) + 42|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = $21 & 32; - $23 = ($22|0)==(0); - if ($23) { - $24 = HEAP32[$v>>2]|0; - $25 = HEAP32[$4>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$3>>2]|0; - $28 = ((($27)) + 28|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = ((($31)) + 34|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33 << 16 >> 16; - (_sqlite3VdbeAddOp4Int($24,$25,$26,$29,$30,$34)|0); - STACKTOP = sp;return; - } else { - $35 = HEAP32[$3>>2]|0; - $36 = (_sqlite3PrimaryKeyIndex($35)|0); - HEAP32[$pPk>>2] = $36; - $37 = HEAP32[$v>>2]|0; - $38 = HEAP32[$4>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = HEAP32[$pPk>>2]|0; - $41 = ((($40)) + 44|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp3($37,$38,$39,$42,$43)|0); - $44 = HEAP32[$0>>2]|0; - $45 = HEAP32[$pPk>>2]|0; - _sqlite3VdbeSetP4KeyInfo($44,$45); - STACKTOP = sp;return; + $174 = HEAP32[$171>>2]|0; + HEAP32[$10>>2] = $174; + $175 = HEAP32[$7>>2]|0; + $176 = ((($175)) + 4|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)!=(0|0); + if ($178) { + $179 = HEAP32[$10>>2]|0; + $180 = ($179|0)!=(0|0); + if ($180) { + $181 = HEAP32[$10>>2]|0; + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$7>>2]|0; + $184 = ((($183)) + 4|0); + $185 = HEAP32[$184>>2]|0; + $186 = HEAP32[$185>>2]|0; + $187 = ($182|0)!=($186|0); + if ($187) { + $188 = HEAP32[$5>>2]|0; + $189 = HEAP32[$7>>2]|0; + $190 = HEAP32[$189>>2]|0; + $191 = HEAP32[$10>>2]|0; + $192 = HEAP32[$191>>2]|0; + $193 = HEAP32[$7>>2]|0; + $194 = ((($193)) + 4|0); + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$195>>2]|0; + HEAP32[$vararg_buffer4>>2] = $190; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $192; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $196; + _sqlite3ErrorMsg($188,29940,$vararg_buffer4); + $197 = HEAP32[$14>>2]|0; + $198 = HEAP32[$5>>2]|0; + $199 = ((($198)) + 472|0); + HEAP32[$199>>2] = $197; + HEAP32[$2>>2] = 1; + $225 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($225|0); + } + } + $200 = HEAP32[$7>>2]|0; + $201 = ((($200)) + 4|0); + $202 = HEAP32[$201>>2]|0; + HEAP32[$10>>2] = $202; + } + $203 = HEAP32[$5>>2]|0; + $204 = HEAP32[$10>>2]|0; + $205 = HEAP32[$9>>2]|0; + $206 = ((($205)) + 34|0); + $207 = HEAP32[$9>>2]|0; + $208 = ((($207)) + 4|0); + (_sqlite3ColumnsFromExprList($203,$204,$206,$208)|0); + $209 = HEAP32[$13>>2]|0; + $210 = ($209|0)!=(0); + if ($210) { + $211 = HEAP32[$11>>2]|0; + $212 = ((($211)) + 8|0); + $213 = HEAP32[$212>>2]|0; + $214 = $213 & 8192; + $215 = ($214|0)!=(0); + $216 = HEAP32[$7>>2]|0; + $217 = ((($216)) + 12|0); + $$sink = $215 ? 29978 : 30012; + HEAP32[$217>>2] = $$sink; + $218 = HEAP32[$3>>2]|0; + $219 = HEAP32[$11>>2]|0; + (_sqlite3WalkSelect($218,$219)|0); + } + $220 = HEAP32[$7>>2]|0; + $221 = ((($220)) + 12|0); + HEAP32[$221>>2] = 0; + $222 = HEAP32[$14>>2]|0; + $223 = HEAP32[$5>>2]|0; + $224 = ((($223)) + 472|0); + HEAP32[$224>>2] = $222; } + HEAP32[$2>>2] = 0; + $225 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($225|0); } -function _sqlite3VdbeSetP4KeyInfo($pParse,$pIdx) { - $pParse = $pParse|0; - $pIdx = $pIdx|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pIdx; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$v>>2] = $4; - $5 = HEAP32[$v>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3KeyInfoOfIndex($6,$7)|0); - _sqlite3VdbeChangeP4($5,-1,$8,-6); - STACKTOP = sp;return; -} -function _sqlite3VdbeMakeLabel($v) { - $v = $v|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $p = 0, label = 0, sp = 0; +function _cannotBeFunction($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $p = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $v; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 72|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[$5>>2] = $7; - HEAP32[$i>>2] = $6; - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$i>>2]|0; - $10 = (($9) - 1)|0; - $11 = $8 & $10; - $12 = ($11|0)==(0); + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 36|0); + $7 = ((($6)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8&255) >>> 2; + $10 = $9 & 1; + $11 = $10&255; + $12 = ($11|0)!=(0); if ($12) { - $13 = HEAP32[$p>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 76|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$i>>2]|0; - $19 = $18<<1; - $20 = (($19) + 1)|0; - $21 = $20<<2; - $22 = (_sqlite3DbReallocOrFree($14,$17,$21,0)|0); - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 76|0); - HEAP32[$24>>2] = $22; - } - $25 = HEAP32[$p>>2]|0; - $26 = ((($25)) + 76|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)!=(0|0); - if (!($28)) { - $34 = HEAP32[$i>>2]|0; - $35 = (-1 - ($34))|0; - STACKTOP = sp;return ($35|0); + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$vararg_buffer>>2] = $16; + _sqlite3ErrorMsg($13,29851,$vararg_buffer); + HEAP32[$2>>2] = 1; + $17 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($17|0); + } else { + HEAP32[$2>>2] = 0; + $17 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($17|0); } - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 76|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + ($29<<2)|0); - HEAP32[$33>>2] = -1; - $34 = HEAP32[$i>>2]|0; - $35 = (-1 - ($34))|0; - STACKTOP = sp;return ($35|0); + return (0)|0; } -function _sqlite3LocateCollSeq($pParse,$zName) { - $pParse = $pParse|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $enc = 0, $initbusy = 0, $pColl = 0, label = 0, sp = 0; +function _sqlite3IndexedByLookup($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $db = sp + 4|0; - $enc = sp + 17|0; - $initbusy = sp + 16|0; - $pColl = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $zName; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 66|0); - $6 = HEAP8[$5>>0]|0; - HEAP8[$enc>>0] = $6; - $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 148|0); - $9 = ((($8)) + 5|0); - $10 = HEAP8[$9>>0]|0; - HEAP8[$initbusy>>0] = $10; - $11 = HEAP32[$db>>2]|0; - $12 = HEAP8[$enc>>0]|0; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP8[$initbusy>>0]|0; - $15 = $14&255; - $16 = (_sqlite3FindCollSeq($11,$12,$13,$15)|0); - HEAP32[$pColl>>2] = $16; - $17 = HEAP8[$initbusy>>0]|0; - $18 = ($17<<24>>24)!=(0); - if ($18) { - $30 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($30|0); - } - $19 = HEAP32[$pColl>>2]|0; - $20 = ($19|0)!=(0|0); - if ($20) { - $21 = HEAP32[$pColl>>2]|0; - $22 = ((($21)) + 12|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $30 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($30|0); + $vararg_buffer = sp; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + do { + if ($11) { + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 36|0); + $14 = ((($13)) + 1|0); + $15 = HEAP8[$14>>0]|0; + $16 = ($15&255) >>> 1; + $17 = $16 & 1; + $18 = $17&255; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$5>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 64|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$6>>2] = $25; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$7>>2] = $28; + while(1) { + $29 = HEAP32[$7>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { + break; + } + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = (_sqlite3StrICmp($32,$33)|0); + $35 = ($34|0)!=(0); + if (!($35)) { + break; + } + $36 = HEAP32[$7>>2]|0; + $37 = ((($36)) + 20|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$7>>2] = $38; + } + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)!=(0|0); + if ($40) { + $45 = HEAP32[$7>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 68|0); + HEAP32[$47>>2] = $45; + break; + } + $41 = HEAP32[$3>>2]|0; + $42 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer>>2] = $42; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 0; + _sqlite3ErrorMsg($41,29833,$vararg_buffer); + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 17|0); + HEAP8[$44>>0] = 1; + HEAP32[$2>>2] = 1; + $48 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($48|0); + } } - } - $25 = HEAP32[$0>>2]|0; - $26 = HEAP8[$enc>>0]|0; - $27 = HEAP32[$pColl>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = (_sqlite3GetCollSeq($25,$26,$27,$28)|0); - HEAP32[$pColl>>2] = $29; - $30 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($30|0); -} -function _sqlite3VdbeGoto($p,$iDest) { - $p = $p|0; - $iDest = $iDest|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iDest; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3VdbeAddOp3($2,13,0,$3,0)|0); - STACKTOP = sp;return ($4|0); -} -function _sqlite3VdbeJumpHere($p,$addr) { - $p = $p|0; - $addr = $addr|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $addr; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 136|0); - $6 = HEAP32[$5>>2]|0; - _sqlite3VdbeChangeP2($2,$3,$6); - STACKTOP = sp;return; -} -function _sqlite3VdbeResolveLabel($v,$x) { - $v = $v|0; - $x = $x|0; - var $0 = 0, $1 = 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, $j = 0; - var $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $p = sp + 4|0; - $j = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $x; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 12|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = (-1 - ($5))|0; - HEAP32[$j>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = ((($7)) + 76|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 136|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$j>>2]|0; - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 76|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($14<<2)|0); - HEAP32[$18>>2] = $13; - STACKTOP = sp;return; -} -function _callStatGet($v,$regStat4,$iParam,$regOut) { - $v = $v|0; - $regStat4 = $regStat4|0; - $iParam = $iParam|0; - $regOut = $regOut|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $regStat4; - HEAP32[$2>>2] = $iParam; - HEAP32[$3>>2] = $regOut; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp4($4,89,0,$5,$6,4348,-5)|0); - $7 = HEAP32[$0>>2]|0; - _sqlite3VdbeChangeP5($7,1); - STACKTOP = sp;return; + } while(0); + HEAP32[$2>>2] = 0; + $48 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($48|0); } -function _statGet($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $i = 0, $iVal = 0, $nDistinct = 0, $p = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $z = 0, $zRet = 0, label = 0, sp = 0; +function _sqliteProcessJoin($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $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; + 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, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer1 = sp + 24|0; - $vararg_buffer = sp + 16|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $p = sp + 44|0; - $z = sp + 40|0; - $i = sp + 36|0; - $zRet = sp + 32|0; - $nDistinct = sp + 8|0; - $iVal = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_blob($4)|0); - HEAP32[$p>>2] = $5; - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 1)|0; - $10 = ($9*25)|0; - $11 = ($10|0)<(0); - $12 = $11 << 31 >> 31; - $13 = (_sqlite3MallocZero($10,$12)|0); - HEAP32[$zRet>>2] = $13; - $14 = HEAP32[$zRet>>2]|0; - $15 = ($14|0)==(0|0); - if ($15) { - $16 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($16); - STACKTOP = sp;return; - } - $17 = HEAP32[$zRet>>2]|0; - $18 = HEAP32[$p>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = $vararg_buffer; - $21 = $20; - HEAP32[$21>>2] = $19; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = 0; - (_sqlite3_snprintf(24,$17,30884,$vararg_buffer)|0); - $24 = HEAP32[$zRet>>2]|0; - $25 = HEAP32[$zRet>>2]|0; - $26 = (_sqlite3Strlen30($25)|0); - $27 = (($24) + ($26)|0); - HEAP32[$z>>2] = $27; - HEAP32[$i>>2] = 0; - while(1) { - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$p>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 92|0; + $3 = sp + 88|0; + $4 = sp + 84|0; + $5 = sp + 80|0; + $6 = sp + 76|0; + $7 = sp + 72|0; + $8 = sp + 68|0; + $9 = sp + 64|0; + $10 = sp + 60|0; + $11 = sp + 56|0; + $12 = sp + 52|0; + $13 = sp + 48|0; + $14 = sp + 44|0; + $15 = sp + 40|0; + $16 = sp + 36|0; + $17 = sp + 32|0; + $18 = sp + 28|0; + $19 = sp + 24|0; + $20 = sp + 20|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 28|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$5>>2] = $23; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 8|0); + HEAP32[$8>>2] = $25; + $26 = HEAP32[$8>>2]|0; + $27 = ((($26)) + 72|0); + HEAP32[$9>>2] = $27; + HEAP32[$6>>2] = 0; + L1: while(1) { + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = (($30) - 1)|0; $32 = ($28|0)<($31|0); if (!($32)) { + label = 28; break; } - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 20|0); - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + ($33<<2)|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + 1)|0; - $41 = $nDistinct; - $42 = $41; - HEAP32[$42>>2] = $40; - $43 = (($41) + 4)|0; - $44 = $43; - HEAP32[$44>>2] = 0; - $45 = HEAP32[$p>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = $nDistinct; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (_i64Add(($46|0),0,($49|0),($52|0))|0); - $54 = tempRet0; - $55 = (_i64Subtract(($53|0),($54|0),1,0)|0); - $56 = tempRet0; - $57 = $nDistinct; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (___udivdi3(($55|0),($56|0),($59|0),($62|0))|0); - $64 = tempRet0; - $65 = $iVal; - $66 = $65; - HEAP32[$66>>2] = $63; - $67 = (($65) + 4)|0; - $68 = $67; - HEAP32[$68>>2] = $64; - $69 = HEAP32[$z>>2]|0; - $70 = $iVal; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = $vararg_buffer1; - $77 = $76; - HEAP32[$77>>2] = $72; - $78 = (($76) + 4)|0; - $79 = $78; - HEAP32[$79>>2] = $75; - (_sqlite3_snprintf(24,$69,30889,$vararg_buffer1)|0); - $80 = HEAP32[$z>>2]|0; - $81 = (_sqlite3Strlen30($80)|0); - $82 = HEAP32[$z>>2]|0; - $83 = (($82) + ($81)|0); - HEAP32[$z>>2] = $83; - $84 = HEAP32[$i>>2]|0; - $85 = (($84) + 1)|0; - HEAP32[$i>>2] = $85; + $33 = HEAP32[$8>>2]|0; + $34 = ((($33)) + 16|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$10>>2] = $35; + $36 = HEAP32[$9>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$11>>2] = $38; + $39 = HEAP32[$10>>2]|0; + $40 = ($39|0)==(0|0); + $41 = HEAP32[$11>>2]|0; + $42 = ($41|0)==(0|0); + $or$cond = $40 | $42; + L4: do { + if (!($or$cond)) { + $43 = HEAP32[$9>>2]|0; + $44 = ((($43)) + 36|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = $46 & 32; + $48 = ($47|0)!=(0); + $49 = $48&1; + HEAP32[$12>>2] = $49; + $50 = HEAP32[$9>>2]|0; + $51 = ((($50)) + 36|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $53 & 4; + $55 = ($54|0)!=(0); + L6: do { + if ($55) { + $56 = HEAP32[$9>>2]|0; + $57 = ((($56)) + 48|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)!=(0|0); + if ($59) { + label = 7; + break L1; + } + $60 = HEAP32[$9>>2]|0; + $61 = ((($60)) + 52|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)!=(0|0); + if ($63) { + label = 7; + break L1; + } + HEAP32[$7>>2] = 0; + while(1) { + $65 = HEAP32[$7>>2]|0; + $66 = HEAP32[$11>>2]|0; + $67 = ((($66)) + 34|0); + $68 = HEAP16[$67>>1]|0; + $69 = $68 << 16 >> 16; + $70 = ($65|0)<($69|0); + if (!($70)) { + break L6; + } + $71 = HEAP32[$11>>2]|0; + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$7>>2]|0; + $75 = (($73) + ($74<<4)|0); + $76 = HEAP32[$75>>2]|0; + HEAP32[$13>>2] = $76; + $77 = HEAP32[$5>>2]|0; + $78 = HEAP32[$6>>2]|0; + $79 = (($78) + 1)|0; + $80 = HEAP32[$13>>2]|0; + $81 = (_tableAndColumnIndex($77,$79,$80,$14,$15)|0); + $82 = ($81|0)!=(0); + if ($82) { + $83 = HEAP32[$3>>2]|0; + $84 = HEAP32[$5>>2]|0; + $85 = HEAP32[$14>>2]|0; + $86 = HEAP32[$15>>2]|0; + $87 = HEAP32[$6>>2]|0; + $88 = (($87) + 1)|0; + $89 = HEAP32[$7>>2]|0; + $90 = HEAP32[$12>>2]|0; + $91 = HEAP32[$4>>2]|0; + $92 = ((($91)) + 32|0); + _addWhereTerm($83,$84,$85,$86,$88,$89,$90,$92); + } + $93 = HEAP32[$7>>2]|0; + $94 = (($93) + 1)|0; + HEAP32[$7>>2] = $94; + } + } + } while(0); + $95 = HEAP32[$9>>2]|0; + $96 = ((($95)) + 48|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)!=(0|0); + if ($98) { + $99 = HEAP32[$9>>2]|0; + $100 = ((($99)) + 52|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)!=(0|0); + if ($102) { + label = 15; + break L1; + } + } + $104 = HEAP32[$9>>2]|0; + $105 = ((($104)) + 48|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)!=(0|0); + if ($107) { + $108 = HEAP32[$12>>2]|0; + $109 = ($108|0)!=(0); + if ($109) { + $110 = HEAP32[$9>>2]|0; + $111 = ((($110)) + 48|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$9>>2]|0; + $114 = ((($113)) + 44|0); + $115 = HEAP32[$114>>2]|0; + _setJoinExpr($112,$115); + } + $116 = HEAP32[$3>>2]|0; + $117 = HEAP32[$116>>2]|0; + $118 = HEAP32[$4>>2]|0; + $119 = ((($118)) + 32|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$9>>2]|0; + $122 = ((($121)) + 48|0); + $123 = HEAP32[$122>>2]|0; + $124 = (_sqlite3ExprAnd($117,$120,$123)|0); + $125 = HEAP32[$4>>2]|0; + $126 = ((($125)) + 32|0); + HEAP32[$126>>2] = $124; + $127 = HEAP32[$9>>2]|0; + $128 = ((($127)) + 48|0); + HEAP32[$128>>2] = 0; + } + $129 = HEAP32[$9>>2]|0; + $130 = ((($129)) + 52|0); + $131 = HEAP32[$130>>2]|0; + $132 = ($131|0)!=(0|0); + if ($132) { + $133 = HEAP32[$9>>2]|0; + $134 = ((($133)) + 52|0); + $135 = HEAP32[$134>>2]|0; + HEAP32[$16>>2] = $135; + HEAP32[$7>>2] = 0; + while(1) { + $136 = HEAP32[$7>>2]|0; + $137 = HEAP32[$16>>2]|0; + $138 = ((($137)) + 4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($136|0)<($139|0); + if (!($140)) { + break L4; + } + $141 = HEAP32[$16>>2]|0; + $142 = HEAP32[$141>>2]|0; + $143 = HEAP32[$7>>2]|0; + $144 = (($142) + ($143<<3)|0); + $145 = HEAP32[$144>>2]|0; + HEAP32[$17>>2] = $145; + $146 = HEAP32[$11>>2]|0; + $147 = HEAP32[$17>>2]|0; + $148 = (_columnIndex($146,$147)|0); + HEAP32[$20>>2] = $148; + $149 = HEAP32[$20>>2]|0; + $150 = ($149|0)<(0); + if ($150) { + label = 25; + break L1; + } + $151 = HEAP32[$5>>2]|0; + $152 = HEAP32[$6>>2]|0; + $153 = (($152) + 1)|0; + $154 = HEAP32[$17>>2]|0; + $155 = (_tableAndColumnIndex($151,$153,$154,$18,$19)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + label = 25; + break L1; + } + $159 = HEAP32[$3>>2]|0; + $160 = HEAP32[$5>>2]|0; + $161 = HEAP32[$18>>2]|0; + $162 = HEAP32[$19>>2]|0; + $163 = HEAP32[$6>>2]|0; + $164 = (($163) + 1)|0; + $165 = HEAP32[$20>>2]|0; + $166 = HEAP32[$12>>2]|0; + $167 = HEAP32[$4>>2]|0; + $168 = ((($167)) + 32|0); + _addWhereTerm($159,$160,$161,$162,$164,$165,$166,$168); + $169 = HEAP32[$7>>2]|0; + $170 = (($169) + 1)|0; + HEAP32[$7>>2] = $170; + } + } + } + } while(0); + $171 = HEAP32[$6>>2]|0; + $172 = (($171) + 1)|0; + HEAP32[$6>>2] = $172; + $173 = HEAP32[$9>>2]|0; + $174 = ((($173)) + 72|0); + HEAP32[$9>>2] = $174; + $175 = HEAP32[$8>>2]|0; + $176 = ((($175)) + 72|0); + HEAP32[$8>>2] = $176; } - $86 = HEAP32[$0>>2]|0; - $87 = HEAP32[$zRet>>2]|0; - _sqlite3_result_text($86,$87,-1,148); - STACKTOP = sp;return; + if ((label|0) == 7) { + $64 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = 0; + _sqlite3ErrorMsg($64,29664,$vararg_buffer); + HEAP32[$2>>2] = 1; + $177 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($177|0); + } + else if ((label|0) == 15) { + $103 = HEAP32[$3>>2]|0; + _sqlite3ErrorMsg($103,29714,$vararg_buffer2); + HEAP32[$2>>2] = 1; + $177 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($177|0); + } + else if ((label|0) == 25) { + $157 = HEAP32[$3>>2]|0; + $158 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer4>>2] = $158; + _sqlite3ErrorMsg($157,29769,$vararg_buffer4); + HEAP32[$2>>2] = 1; + $177 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($177|0); + } + else if ((label|0) == 28) { + HEAP32[$2>>2] = 0; + $177 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($177|0); + } + return (0)|0; } -function _statPush($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $7 = 0, $8 = 0, $9 = 0, $i = 0, $iChng = 0, $p = 0, label = 0, sp = 0; +function _tableAndColumnIndex($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $i = sp + 8|0; - $p = sp + 4|0; - $iChng = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_blob($4)|0); - HEAP32[$p>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_int($8)|0); - HEAP32[$iChng>>2] = $9; - $10 = HEAP32[$p>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0); - if ($12) { - HEAP32[$i>>2] = 0; - while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($13|0)<($16|0); - if (!($17)) { - break; - } - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($18<<2)|0); - HEAP32[$22>>2] = 1; - $23 = HEAP32[$i>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$i>>2] = $24; - } - $60 = HEAP32[$p>>2]|0; - $61 = HEAP32[$60>>2]|0; - $62 = (($61) + 1)|0; - HEAP32[$60>>2] = $62; - STACKTOP = sp;return; - } - $25 = HEAP32[$p>>2]|0; - $26 = HEAP32[$iChng>>2]|0; - _samplePushPrevious($25,$26); - HEAP32[$i>>2] = 0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = 0; while(1) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$iChng>>2]|0; - $29 = ($27|0)<($28|0); - if (!($29)) { + $13 = HEAP32[$11>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = ($13|0)<($14|0); + if (!($15)) { + label = 8; break; } - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$p>>2]|0; - $32 = ((($31)) + 20|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + ($30<<2)|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + 1)|0; - HEAP32[$34>>2] = $36; - $37 = HEAP32[$i>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$i>>2] = $38; - } - $39 = HEAP32[$iChng>>2]|0; - HEAP32[$i>>2] = $39; - while(1) { - $40 = HEAP32[$i>>2]|0; - $41 = HEAP32[$p>>2]|0; - $42 = ((($41)) + 8|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($40|0)<($43|0); - if (!($44)) { + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$11>>2]|0; + $19 = (($17) + (($18*72)|0)|0); + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$8>>2]|0; + $23 = (_columnIndex($21,$22)|0); + HEAP32[$12>>2] = $23; + $24 = HEAP32[$12>>2]|0; + $25 = ($24|0)>=(0); + if ($25) { break; } - $45 = HEAP32[$i>>2]|0; - $46 = HEAP32[$p>>2]|0; - $47 = ((($46)) + 20|0); - $48 = ((($47)) + 4|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($45<<2)|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + 1)|0; - HEAP32[$50>>2] = $52; - $53 = HEAP32[$i>>2]|0; - $54 = HEAP32[$p>>2]|0; - $55 = ((($54)) + 20|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($56) + ($53<<2)|0); - HEAP32[$57>>2] = 1; - $58 = HEAP32[$i>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[$i>>2] = $59; - } - $60 = HEAP32[$p>>2]|0; - $61 = HEAP32[$60>>2]|0; - $62 = (($61) + 1)|0; - HEAP32[$60>>2] = $62; - STACKTOP = sp;return; -} -function _samplePushPrevious($p,$iChng) { - $p = $p|0; - $iChng = $iChng|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iChng; - STACKTOP = sp;return; -} -function _sqlite3VdbeChangeP2($p,$addr,$val) { - $p = $p|0; - $addr = $addr|0; - $val = $val|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $addr; - HEAP32[$2>>2] = $val; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3VdbeGetOp($4,$5)|0); - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = $3; - STACKTOP = sp;return; -} -function _sqlite3VdbeGetOp($p,$addr) { - $p = $p|0; - $addr = $addr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $addr; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<(0); - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 136|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) - 1)|0; - HEAP32[$2>>2] = $8; + $32 = HEAP32[$11>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$11>>2] = $33; } - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 69|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)!=(0); - if ($13) { - HEAP32[$0>>2] = 4376; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); - } else { - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 88|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + (($14*20)|0)|0); - HEAP32[$0>>2] = $18; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); + if ((label|0) == 8) { + HEAP32[$5>>2] = 0; + $34 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($34|0); } - return (0)|0; -} -function _statInit($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0, $nCol = 0, $nColUp = 0, $nKeyCol = 0, $p = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $p = sp + 20|0; - $nCol = sp + 16|0; - $nKeyCol = sp + 12|0; - $nColUp = sp + 8|0; - $n = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_int($4)|0); - HEAP32[$nCol>>2] = $5; - $6 = HEAP32[$nCol>>2]|0; - $7 = (($6) + 1)|0; - $8 = $7 & -2; - HEAP32[$nColUp>>2] = $8; - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_int($11)|0); - HEAP32[$nKeyCol>>2] = $12; - $13 = HEAP32[$nColUp>>2]|0; - $14 = $13<<2; - $15 = (56 + ($14))|0; - $16 = HEAP32[$nColUp>>2]|0; - $17 = $16<<2; - $18 = (($15) + ($17))|0; - HEAP32[$n>>2] = $18; - $19 = HEAP32[$0>>2]|0; - $20 = (_sqlite3_context_db_handle($19)|0); - HEAP32[$db>>2] = $20; - $21 = HEAP32[$db>>2]|0; - $22 = HEAP32[$n>>2]|0; - $23 = ($22|0)<(0); - $24 = $23 << 31 >> 31; - $25 = (_sqlite3DbMallocZero($21,$22,$24)|0); - HEAP32[$p>>2] = $25; - $26 = HEAP32[$p>>2]|0; - $27 = ($26|0)==(0|0); + $26 = HEAP32[$9>>2]|0; + $27 = ($26|0)!=(0|0); if ($27) { - $28 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($28); - STACKTOP = sp;return; - } else { - $29 = HEAP32[$db>>2]|0; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 52|0); - HEAP32[$31>>2] = $29; - $32 = HEAP32[$p>>2]|0; - HEAP32[$32>>2] = 0; - $33 = HEAP32[$nCol>>2]|0; - $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 8|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$nKeyCol>>2]|0; - $37 = HEAP32[$p>>2]|0; - $38 = ((($37)) + 12|0); - HEAP32[$38>>2] = $36; - $39 = HEAP32[$p>>2]|0; - $40 = ((($39)) + 56|0); - $41 = HEAP32[$p>>2]|0; - $42 = ((($41)) + 20|0); - $43 = ((($42)) + 4|0); - HEAP32[$43>>2] = $40; - $44 = HEAP32[$nColUp>>2]|0; - $45 = HEAP32[$p>>2]|0; - $46 = ((($45)) + 20|0); - $47 = ((($46)) + 4|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + ($44<<2)|0); - $50 = HEAP32[$p>>2]|0; - $51 = ((($50)) + 20|0); - HEAP32[$51>>2] = $49; - $52 = HEAP32[$0>>2]|0; - $53 = HEAP32[$p>>2]|0; - _sqlite3_result_blob($52,$53,56,153); - STACKTOP = sp;return; + $28 = HEAP32[$11>>2]|0; + $29 = HEAP32[$9>>2]|0; + HEAP32[$29>>2] = $28; + $30 = HEAP32[$12>>2]|0; + $31 = HEAP32[$10>>2]|0; + HEAP32[$31>>2] = $30; } + HEAP32[$5>>2] = 1; + $34 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($34|0); } -function _stat4Destructor($pOld) { - $pOld = $pOld|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3IdListIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pOld; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ((($2)) + 52|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$p>>2]|0; - _sqlite3DbFree($4,$5); - STACKTOP = sp;return; -} -function _sqlite3KeyInfoOfIndex($pParse,$pIdx) { - $pParse = $pParse|0; - $pIdx = $pIdx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $i = 0, $nCol = 0, $nKey = 0, $pKey = 0, $zColl = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $i = sp + 16|0; - $nCol = sp + 12|0; - $nKey = sp + 8|0; - $pKey = sp + 4|0; - $zColl = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pIdx; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 52|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - HEAP32[$nCol>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 50|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - HEAP32[$nKey>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 36|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0); - if ($14) { - HEAP32[$0>>2] = 0; - $71 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($71|0); - } - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 55|0); - $17 = HEAP8[$16>>0]|0; - $18 = ($17&255) >>> 3; - $19 = $18 & 1; - $20 = $19&255; - $21 = ($20|0)!=(0); - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$22>>2]|0; - if ($21) { - $24 = HEAP32[$nKey>>2]|0; - $25 = HEAP32[$nCol>>2]|0; - $26 = HEAP32[$nKey>>2]|0; - $27 = (($25) - ($26))|0; - $28 = (_sqlite3KeyInfoAlloc($23,$24,$27)|0); - HEAP32[$pKey>>2] = $28; - } else { - $29 = HEAP32[$nCol>>2]|0; - $30 = (_sqlite3KeyInfoAlloc($23,$29,0)|0); - HEAP32[$pKey>>2] = $30; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + HEAP32[$2>>2] = -1; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } - $31 = HEAP32[$pKey>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { - HEAP32[$i>>2] = 0; - while(1) { - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$nCol>>2]|0; - $35 = ($33|0)<($34|0); - if (!($35)) { - break; - } - $36 = HEAP32[$i>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = ((($37)) + 32|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + ($36<<2)|0); - $41 = HEAP32[$40>>2]|0; - HEAP32[$zColl>>2] = $41; - $42 = HEAP32[$zColl>>2]|0; - $43 = ($42|0)==(34834|0); - if ($43) { - $51 = 0; - } else { - $44 = HEAP32[$1>>2]|0; - $45 = HEAP32[$zColl>>2]|0; - $46 = (_sqlite3LocateCollSeq($44,$45)|0); - $51 = $46; - } - $47 = HEAP32[$i>>2]|0; - $48 = HEAP32[$pKey>>2]|0; - $49 = ((($48)) + 20|0); - $50 = (($49) + ($47<<2)|0); - HEAP32[$50>>2] = $51; - $52 = HEAP32[$i>>2]|0; - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 28|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + ($52)|0); - $57 = HEAP8[$56>>0]|0; - $58 = HEAP32[$i>>2]|0; - $59 = HEAP32[$pKey>>2]|0; - $60 = ((($59)) + 16|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($61) + ($58)|0); - HEAP8[$62>>0] = $57; - $63 = HEAP32[$i>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$i>>2] = $64; + HEAP32[$5>>2] = 0; + while(1) { + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)<($11|0); + if (!($12)) { + label = 8; + break; } - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 36|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)!=(0); - if ($68) { - $69 = HEAP32[$pKey>>2]|0; - _sqlite3KeyInfoUnref($69); - HEAP32[$pKey>>2] = 0; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = (($14) + ($15<<3)|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = (_sqlite3StrICmp($17,$18)|0); + $20 = ($19|0)==(0); + $21 = HEAP32[$5>>2]|0; + if ($20) { + label = 6; + break; } + $22 = (($21) + 1)|0; + HEAP32[$5>>2] = $22; } - $70 = HEAP32[$pKey>>2]|0; - HEAP32[$0>>2] = $70; - $71 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($71|0); -} -function _sqlite3KeyInfoAlloc($db,$N,$X) { - $db = $db|0; - $N = $N|0; - $X = $X|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $nExtra = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $nExtra = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $N; - HEAP32[$2>>2] = $X; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = (($3) + ($4))|0; - $6 = ($5*5)|0; - HEAP32[$nExtra>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$nExtra>>2]|0; - $9 = (24 + ($8))|0; - $10 = (_sqlite3DbMallocRawNN($7,$9,0)|0); - HEAP32[$p>>2] = $10; - $11 = HEAP32[$p>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (($13) + ($14))|0; - $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 20|0); - $18 = (($17) + ($15<<2)|0); - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 16|0); - HEAP32[$20>>2] = $18; - $21 = HEAP32[$1>>2]|0; - $22 = $21&65535; - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 6|0); - HEAP16[$24>>1] = $22; - $25 = HEAP32[$2>>2]|0; - $26 = $25&65535; - $27 = HEAP32[$p>>2]|0; - $28 = ((($27)) + 8|0); - HEAP16[$28>>1] = $26; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 66|0); - $31 = HEAP8[$30>>0]|0; - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 4|0); - HEAP8[$33>>0] = $31; - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$p>>2]|0; - $36 = ((($35)) + 12|0); - HEAP32[$36>>2] = $34; - $37 = HEAP32[$p>>2]|0; - HEAP32[$37>>2] = 1; - $38 = HEAP32[$p>>2]|0; - $39 = ((($38)) + 24|0); - $40 = HEAP32[$nExtra>>2]|0; - _memset(($39|0),0,($40|0))|0; - $42 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($42|0); - } else { - $41 = HEAP32[$0>>2]|0; - _sqlite3OomFault($41); - $42 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($42|0); + if ((label|0) == 6) { + HEAP32[$2>>2] = $21; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); + } + else if ((label|0) == 8) { + HEAP32[$2>>2] = -1; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); } return (0)|0; } -function _sqlite3KeyInfoUnref($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _columnIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; - } - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (($4) + -1)|0; - HEAP32[$3>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$0>>2]|0; - _sqlite3DbFree($11,$12); - STACKTOP = sp;return; -} -function _reindexDatabases($pParse,$zColl) { - $pParse = $pParse|0; - $zColl = $zColl|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $iDb = 0, $k = 0, $pDb = 0, $pTab = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $pDb = sp + 16|0; - $iDb = sp + 12|0; - $db = sp + 8|0; - $k = sp + 4|0; - $pTab = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $zColl; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - HEAP32[$iDb>>2] = 0; - $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 16|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pDb>>2] = $6; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; while(1) { - $7 = HEAP32[$iDb>>2]|0; - $8 = HEAP32[$db>>2]|0; - $9 = ((($8)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($7|0)<($10|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 34|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9 << 16 >> 16; + $11 = ($6|0)<($10|0); if (!($11)) { + label = 6; break; } - $12 = HEAP32[$pDb>>2]|0; - $13 = ((($12)) + 12|0); + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 8|0); - $16 = ((($15)) + 8|0); + $15 = HEAP32[$5>>2]|0; + $16 = (($14) + ($15<<4)|0); $17 = HEAP32[$16>>2]|0; - HEAP32[$k>>2] = $17; - while(1) { - $18 = HEAP32[$k>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - break; - } - $20 = HEAP32[$k>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$pTab>>2] = $22; - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$pTab>>2]|0; - $25 = HEAP32[$1>>2]|0; - _reindexTable($23,$24,$25); - $26 = HEAP32[$k>>2]|0; - $27 = HEAP32[$26>>2]|0; - HEAP32[$k>>2] = $27; + $18 = HEAP32[$4>>2]|0; + $19 = (_sqlite3StrICmp($17,$18)|0); + $20 = ($19|0)==(0); + $21 = HEAP32[$5>>2]|0; + if ($20) { + label = 4; + break; } - $28 = HEAP32[$iDb>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$iDb>>2] = $29; - $30 = HEAP32[$pDb>>2]|0; - $31 = ((($30)) + 16|0); - HEAP32[$pDb>>2] = $31; + $22 = (($21) + 1)|0; + HEAP32[$5>>2] = $22; + } + if ((label|0) == 4) { + HEAP32[$2>>2] = $21; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); + } + else if ((label|0) == 6) { + HEAP32[$2>>2] = -1; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); + } + return (0)|0; +} +function _addWhereTerm($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + $19 = sp; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + HEAP32[$15>>2] = $7; + $20 = HEAP32[$8>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$16>>2] = $21; + $22 = HEAP32[$16>>2]|0; + $23 = HEAP32[$9>>2]|0; + $24 = HEAP32[$10>>2]|0; + $25 = HEAP32[$11>>2]|0; + $26 = (_sqlite3CreateColumnExpr($22,$23,$24,$25)|0); + HEAP32[$17>>2] = $26; + $27 = HEAP32[$16>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = HEAP32[$12>>2]|0; + $30 = HEAP32[$13>>2]|0; + $31 = (_sqlite3CreateColumnExpr($27,$28,$29,$30)|0); + HEAP32[$18>>2] = $31; + $32 = HEAP32[$8>>2]|0; + $33 = HEAP32[$17>>2]|0; + $34 = HEAP32[$18>>2]|0; + $35 = (_sqlite3PExpr($32,37,$33,$34,0)|0); + HEAP32[$19>>2] = $35; + $36 = HEAP32[$19>>2]|0; + $37 = ($36|0)!=(0|0); + $38 = HEAP32[$14>>2]|0; + $39 = ($38|0)!=(0); + $or$cond = $37 & $39; + if (!($or$cond)) { + $50 = HEAP32[$16>>2]|0; + $51 = HEAP32[$15>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$19>>2]|0; + $54 = (_sqlite3ExprAnd($50,$52,$53)|0); + $55 = HEAP32[$15>>2]|0; + HEAP32[$55>>2] = $54; + STACKTOP = sp;return; } + $40 = HEAP32[$19>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = $42 | 1; + HEAP32[$41>>2] = $43; + $44 = HEAP32[$18>>2]|0; + $45 = ((($44)) + 28|0); + $46 = HEAP32[$45>>2]|0; + $47 = $46&65535; + $48 = HEAP32[$19>>2]|0; + $49 = ((($48)) + 36|0); + HEAP16[$49>>1] = $47; + $50 = HEAP32[$16>>2]|0; + $51 = HEAP32[$15>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$19>>2]|0; + $54 = (_sqlite3ExprAnd($50,$52,$53)|0); + $55 = HEAP32[$15>>2]|0; + HEAP32[$55>>2] = $54; STACKTOP = sp;return; } -function _reindexTable($pParse,$pTab,$zColl) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $zColl = $zColl|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iDb = 0, $pIndex = 0, label = 0, sp = 0; +function _setJoinExpr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 8|0; - $pIndex = sp + 4|0; - $iDb = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $zColl; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pIndex>>2] = $5; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; while(1) { - $6 = HEAP32[$pIndex>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { break; } - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - label = 5; - } else { - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$pIndex>>2]|0; - $12 = (_collationMatch($10,$11)|0); - $13 = ($12|0)!=(0); - if ($13) { - label = 5; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 | 1; + HEAP32[$8>>2] = $10; + $11 = HEAP32[$3>>2]|0; + $12 = $11&65535; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 36|0); + HEAP16[$14>>1] = $12; + $15 = HEAP32[$2>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = ($17|0)==(151); + L4: do { + if ($18) { + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 20|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + HEAP32[$4>>2] = 0; + while(1) { + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 20|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = ($23|0)<($27|0); + if (!($28)) { + break L4; + } + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = (($33) + (($34*20)|0)|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$3>>2]|0; + _setJoinExpr($36,$37); + $38 = HEAP32[$4>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$4>>2] = $39; + } + } } - } - if ((label|0) == 5) { - label = 0; - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 64|0); - $18 = HEAP32[$17>>2]|0; - $19 = (_sqlite3SchemaToIndex($15,$18)|0); - HEAP32[$iDb>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($20,0,$21); - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$pIndex>>2]|0; - _sqlite3RefillIndex($22,$23,-1); - } - $24 = HEAP32[$pIndex>>2]|0; - $25 = ((($24)) + 20|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$pIndex>>2] = $26; + } while(0); + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 12|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$3>>2]|0; + _setJoinExpr($42,$43); + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 16|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$2>>2] = $46; } STACKTOP = sp;return; } -function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { - $pParse = $pParse|0; - $pIndex = $pIndex|0; - $memRootPage = $memRootPage|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr1 = 0, $addr2 = 0, $db = 0, $iDb = 0, $iIdx = 0, $iPartIdxLabel = 0, $iSorter = 0, $iTab = 0; - var $j2 = 0, $pKey = 0, $pTab = 0, $regRecord = 0, $tnum = 0, $v = 0, label = 0, sp = 0; +function _sqlite3ExprAnd($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $pTab = sp + 52|0; - $iTab = sp + 48|0; - $iIdx = sp + 44|0; - $iSorter = sp + 40|0; - $addr1 = sp + 36|0; - $addr2 = sp + 32|0; - $tnum = sp + 28|0; - $iPartIdxLabel = sp + 24|0; - $v = sp + 20|0; - $pKey = sp + 16|0; - $regRecord = sp + 12|0; - $db = sp + 8|0; - $iDb = sp + 4|0; - $j2 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pIndex; - HEAP32[$2>>2] = $memRootPage; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pTab>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 40|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 1)|0; - HEAP32[$7>>2] = $9; - HEAP32[$iTab>>2] = $8; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 40|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$11>>2] = $13; - HEAP32[$iIdx>>2] = $12; - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$14>>2]|0; - HEAP32[$db>>2] = $15; - $16 = HEAP32[$db>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 24|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3SchemaToIndex($16,$19)|0); - HEAP32[$iDb>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$iDb>>2]|0; - $25 = HEAP32[$db>>2]|0; - $26 = ((($25)) + 16|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + ($24<<4)|0); - $29 = HEAP32[$28>>2]|0; - $30 = (_sqlite3AuthCheck($21,27,$23,0,$29)|0); - $31 = ($30|0)!=(0); - if ($31) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0|0); + $10 = HEAP32[$6>>2]|0; + if ($9) { + HEAP32[$3>>2] = $10; + $31 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($31|0); } - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$iDb>>2]|0; - $34 = HEAP32[$pTab>>2]|0; - $35 = ((($34)) + 28|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$pTab>>2]|0; - $38 = HEAP32[$37>>2]|0; - _sqlite3TableLock($32,$33,$36,1,$38); - $39 = HEAP32[$0>>2]|0; - $40 = (_sqlite3GetVdbe($39)|0); - HEAP32[$v>>2] = $40; - $41 = HEAP32[$v>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { - STACKTOP = sp;return; + $11 = ($10|0)==(0|0); + $12 = HEAP32[$5>>2]|0; + if ($11) { + HEAP32[$3>>2] = $12; + $31 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($31|0); } - $43 = HEAP32[$2>>2]|0; - $44 = ($43|0)>=(0); - if ($44) { - $45 = HEAP32[$2>>2]|0; - HEAP32[$tnum>>2] = $45; - } else { - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 44|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$tnum>>2] = $48; + $13 = (_exprAlwaysFalse($12)|0); + $14 = ($13|0)!=(0); + if (!($14)) { + $15 = HEAP32[$6>>2]|0; + $16 = (_exprAlwaysFalse($15)|0); + $17 = ($16|0)!=(0); + if (!($17)) { + $24 = HEAP32[$4>>2]|0; + $25 = (_sqlite3ExprAlloc($24,28,0,0)|0); + HEAP32[$7>>2] = $25; + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$7>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$6>>2]|0; + _sqlite3ExprAttachSubtrees($26,$27,$28,$29); + $30 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $30; + $31 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($31|0); + } } - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = (_sqlite3KeyInfoOfIndex($49,$50)|0); - HEAP32[$pKey>>2] = $51; - $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 40|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$53>>2] = $55; - HEAP32[$iSorter>>2] = $54; - $56 = HEAP32[$v>>2]|0; - $57 = HEAP32[$iSorter>>2]|0; - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 50|0); - $60 = HEAP16[$59>>1]|0; - $61 = $60&65535; - $62 = HEAP32[$pKey>>2]|0; - $63 = (_sqlite3KeyInfoRef($62)|0); - (_sqlite3VdbeAddOp4($56,108,$57,0,$61,$63,-6)|0); - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$iTab>>2]|0; - $66 = HEAP32[$iDb>>2]|0; - $67 = HEAP32[$pTab>>2]|0; - _sqlite3OpenTable($64,$65,$66,$67,104); - $68 = HEAP32[$v>>2]|0; - $69 = HEAP32[$iTab>>2]|0; - $70 = (_sqlite3VdbeAddOp2($68,57,$69,0)|0); - HEAP32[$addr1>>2] = $70; - $71 = HEAP32[$0>>2]|0; - $72 = (_sqlite3GetTempReg($71)|0); - HEAP32[$regRecord>>2] = $72; - $73 = HEAP32[$0>>2]|0; - $74 = HEAP32[$1>>2]|0; - $75 = HEAP32[$iTab>>2]|0; - $76 = HEAP32[$regRecord>>2]|0; - (_sqlite3GenerateIndexKey($73,$74,$75,$76,0,$iPartIdxLabel,0,0)|0); - $77 = HEAP32[$v>>2]|0; - $78 = HEAP32[$iSorter>>2]|0; - $79 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp2($77,125,$78,$79)|0); - $80 = HEAP32[$0>>2]|0; - $81 = HEAP32[$iPartIdxLabel>>2]|0; - _sqlite3ResolvePartIdxLabel($80,$81); - $82 = HEAP32[$v>>2]|0; - $83 = HEAP32[$iTab>>2]|0; - $84 = HEAP32[$addr1>>2]|0; - $85 = (($84) + 1)|0; - (_sqlite3VdbeAddOp2($82,7,$83,$85)|0); - $86 = HEAP32[$v>>2]|0; - $87 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($86,$87); - $88 = HEAP32[$2>>2]|0; - $89 = ($88|0)<(0); - if ($89) { - $90 = HEAP32[$v>>2]|0; - $91 = HEAP32[$tnum>>2]|0; - $92 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp2($90,131,$91,$92)|0); - } - $93 = HEAP32[$v>>2]|0; - $94 = HEAP32[$iIdx>>2]|0; - $95 = HEAP32[$tnum>>2]|0; - $96 = HEAP32[$iDb>>2]|0; - $97 = HEAP32[$pKey>>2]|0; - (_sqlite3VdbeAddOp4($93,105,$94,$95,$96,$97,-6)|0); - $98 = HEAP32[$v>>2]|0; - $99 = HEAP32[$2>>2]|0; - $100 = ($99|0)>=(0); - $101 = $100 ? 16 : 0; - $102 = 1 | $101; - $103 = $102&255; - _sqlite3VdbeChangeP5($98,$103); - $104 = HEAP32[$v>>2]|0; - $105 = HEAP32[$iSorter>>2]|0; - $106 = (_sqlite3VdbeAddOp2($104,55,$105,0)|0); - HEAP32[$addr1>>2] = $106; - $107 = HEAP32[$1>>2]|0; - $108 = ((($107)) + 54|0); - $109 = HEAP8[$108>>0]|0; - $110 = $109&255; - $111 = ($110|0)!=(0); - $112 = HEAP32[$v>>2]|0; - $113 = (_sqlite3VdbeCurrentAddr($112)|0); - if ($111) { - $114 = (($113) + 3)|0; - HEAP32[$j2>>2] = $114; - $115 = HEAP32[$v>>2]|0; - $116 = HEAP32[$j2>>2]|0; - (_sqlite3VdbeGoto($115,$116)|0); - $117 = HEAP32[$v>>2]|0; - $118 = (_sqlite3VdbeCurrentAddr($117)|0); - HEAP32[$addr2>>2] = $118; - $119 = HEAP32[$v>>2]|0; - $120 = HEAP32[$iSorter>>2]|0; - $121 = HEAP32[$j2>>2]|0; - $122 = HEAP32[$regRecord>>2]|0; - $123 = HEAP32[$1>>2]|0; - $124 = ((($123)) + 50|0); - $125 = HEAP16[$124>>1]|0; - $126 = $125&65535; - (_sqlite3VdbeAddOp4Int($119,119,$120,$121,$122,$126)|0); - $127 = HEAP32[$0>>2]|0; - $128 = HEAP32[$1>>2]|0; - _sqlite3UniqueConstraint($127,2,$128); - } else { - HEAP32[$addr2>>2] = $113; - } - $129 = HEAP32[$v>>2]|0; - $130 = HEAP32[$iSorter>>2]|0; - $131 = HEAP32[$regRecord>>2]|0; - $132 = HEAP32[$iIdx>>2]|0; - (_sqlite3VdbeAddOp3($129,120,$130,$131,$132)|0); - $133 = HEAP32[$v>>2]|0; - $134 = HEAP32[$iIdx>>2]|0; - (_sqlite3VdbeAddOp3($133,53,$134,0,-1)|0); - $135 = HEAP32[$v>>2]|0; - $136 = HEAP32[$iIdx>>2]|0; - $137 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp3($135,126,$136,$137,0)|0); - $138 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($138,16); - $139 = HEAP32[$0>>2]|0; - $140 = HEAP32[$regRecord>>2]|0; - _sqlite3ReleaseTempReg($139,$140); - $141 = HEAP32[$v>>2]|0; - $142 = HEAP32[$iSorter>>2]|0; - $143 = HEAP32[$addr2>>2]|0; - (_sqlite3VdbeAddOp2($141,3,$142,$143)|0); - $144 = HEAP32[$v>>2]|0; - $145 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($144,$145); - $146 = HEAP32[$v>>2]|0; - $147 = HEAP32[$iTab>>2]|0; - (_sqlite3VdbeAddOp1($146,111,$147)|0); - $148 = HEAP32[$v>>2]|0; - $149 = HEAP32[$iIdx>>2]|0; - (_sqlite3VdbeAddOp1($148,111,$149)|0); - $150 = HEAP32[$v>>2]|0; - $151 = HEAP32[$iSorter>>2]|0; - (_sqlite3VdbeAddOp1($150,111,$151)|0); - STACKTOP = sp;return; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$5>>2]|0; + _sqlite3ExprDelete($18,$19); + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$6>>2]|0; + _sqlite3ExprDelete($20,$21); + $22 = HEAP32[$4>>2]|0; + $23 = (_sqlite3ExprAlloc($22,134,4252,0)|0); + HEAP32[$3>>2] = $23; + $31 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($31|0); } -function _sqlite3KeyInfoRef($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _exprAlwaysFalse($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if ($2) { - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 1)|0; - HEAP32[$3>>2] = $5; - } - $6 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($6|0); -} -function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$piPartIdxLabel,$pPrior,$regPrior) { - $pParse = $pParse|0; - $pIdx = $pIdx|0; - $iDataCur = $iDataCur|0; - $regOut = $regOut|0; - $prefixOnly = $prefixOnly|0; - $piPartIdxLabel = $piPartIdxLabel|0; - $pPrior = $pPrior|0; - $regPrior = $regPrior|0; - var $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $j = 0, $nCol = 0, $regBase = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $6 = sp + 20|0; - $7 = sp + 16|0; - $v = sp + 12|0; - $j = sp + 8|0; - $regBase = sp + 4|0; - $nCol = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pIdx; - HEAP32[$2>>2] = $iDataCur; - HEAP32[$3>>2] = $regOut; - HEAP32[$4>>2] = $prefixOnly; - HEAP32[$5>>2] = $piPartIdxLabel; - HEAP32[$6>>2] = $pPrior; - HEAP32[$7>>2] = $regPrior; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$v>>2] = $10; - $11 = HEAP32[$5>>2]|0; - $12 = ($11|0)!=(0|0); + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 1; + $8 = ($7|0)!=(0); do { - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 36|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$v>>2]|0; - $18 = (_sqlite3VdbeMakeLabel($17)|0); - $19 = HEAP32[$5>>2]|0; - HEAP32[$19>>2] = $18; - $20 = HEAP32[$2>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 60|0); - HEAP32[$22>>2] = $20; - $23 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePush($23); - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$5>>2]|0; - $29 = HEAP32[$28>>2]|0; - _sqlite3ExprIfFalseDup($24,$27,$29,16); + if ($8) { + HEAP32[$1>>2] = 0; + } else { + $9 = HEAP32[$2>>2]|0; + $10 = (_sqlite3ExprIsInteger($9,$3)|0); + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = ($12|0)==(0); + $14 = $13&1; + HEAP32[$1>>2] = $14; break; } else { - $30 = HEAP32[$5>>2]|0; - HEAP32[$30>>2] = 0; + HEAP32[$1>>2] = 0; break; } } } while(0); - $31 = HEAP32[$4>>2]|0; - $32 = ($31|0)!=(0); - if ($32) { - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 55|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35&255) >>> 3; - $37 = $36 & 1; - $38 = $37&255; - $39 = ($38|0)!=(0); - if ($39) { - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 50|0); - $42 = HEAP16[$41>>1]|0; - $$sink = $42; - } else { - label = 8; - } - } else { - label = 8; - } - if ((label|0) == 8) { - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 52|0); - $45 = HEAP16[$44>>1]|0; - $$sink = $45; - } - $46 = $$sink&65535; - HEAP32[$nCol>>2] = $46; - $47 = HEAP32[$0>>2]|0; - $48 = HEAP32[$nCol>>2]|0; - $49 = (_sqlite3GetTempRange($47,$48)|0); - HEAP32[$regBase>>2] = $49; - $50 = HEAP32[$6>>2]|0; - $51 = ($50|0)!=(0|0); - do { - if ($51) { - $52 = HEAP32[$regBase>>2]|0; - $53 = HEAP32[$7>>2]|0; - $54 = ($52|0)!=($53|0); - if (!($54)) { - $55 = HEAP32[$6>>2]|0; - $56 = ((($55)) + 36|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)!=(0|0); - if (!($58)) { - break; - } - } - HEAP32[$6>>2] = 0; - } - } while(0); - HEAP32[$j>>2] = 0; - while(1) { - $59 = HEAP32[$j>>2]|0; - $60 = HEAP32[$nCol>>2]|0; - $61 = ($59|0)<($60|0); - if (!($61)) { - break; - } - $62 = HEAP32[$6>>2]|0; - $63 = ($62|0)!=(0|0); - if ($63) { - $64 = HEAP32[$j>>2]|0; - $65 = HEAP32[$6>>2]|0; - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + ($64<<1)|0); - $69 = HEAP16[$68>>1]|0; - $70 = $69 << 16 >> 16; - $71 = HEAP32[$j>>2]|0; - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 4|0); - $74 = HEAP32[$73>>2]|0; - $75 = (($74) + ($71<<1)|0); - $76 = HEAP16[$75>>1]|0; - $77 = $76 << 16 >> 16; - $78 = ($70|0)==($77|0); - if ($78) { - $79 = HEAP32[$j>>2]|0; - $80 = HEAP32[$6>>2]|0; - $81 = ((($80)) + 4|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82) + ($79<<1)|0); - $84 = HEAP16[$83>>1]|0; - $85 = $84 << 16 >> 16; - $86 = ($85|0)!=(-2); - if (!($86)) { - label = 18; - } - } else { - label = 18; - } - } else { - label = 18; - } - if ((label|0) == 18) { - label = 0; - $87 = HEAP32[$0>>2]|0; - $88 = HEAP32[$1>>2]|0; - $89 = HEAP32[$2>>2]|0; - $90 = HEAP32[$j>>2]|0; - $91 = HEAP32[$regBase>>2]|0; - $92 = HEAP32[$j>>2]|0; - $93 = (($91) + ($92))|0; - _sqlite3ExprCodeLoadIndexColumn($87,$88,$89,$90,$93); - $94 = HEAP32[$v>>2]|0; - (_sqlite3VdbeDeletePriorOpcode($94,92)|0); - } - $95 = HEAP32[$j>>2]|0; - $96 = (($95) + 1)|0; - HEAP32[$j>>2] = $96; - } - $97 = HEAP32[$3>>2]|0; - $98 = ($97|0)!=(0); - if (!($98)) { - $103 = HEAP32[$0>>2]|0; - $104 = HEAP32[$regBase>>2]|0; - $105 = HEAP32[$nCol>>2]|0; - _sqlite3ReleaseTempRange($103,$104,$105); - $106 = HEAP32[$regBase>>2]|0; - STACKTOP = sp;return ($106|0); - } - $99 = HEAP32[$v>>2]|0; - $100 = HEAP32[$regBase>>2]|0; - $101 = HEAP32[$nCol>>2]|0; - $102 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($99,99,$100,$101,$102)|0); - $103 = HEAP32[$0>>2]|0; - $104 = HEAP32[$regBase>>2]|0; - $105 = HEAP32[$nCol>>2]|0; - _sqlite3ReleaseTempRange($103,$104,$105); - $106 = HEAP32[$regBase>>2]|0; - STACKTOP = sp;return ($106|0); + $15 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($15|0); } -function _sqlite3ResolvePartIdxLabel($pParse,$iLabel) { - $pParse = $pParse|0; - $iLabel = $iLabel|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3ExprAttachSubtrees($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iLabel; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0); - if (!($3)) { + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$6>>2]|0; + _sqlite3ExprDelete($10,$11); + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$7>>2]|0; + _sqlite3ExprDelete($12,$13); STACKTOP = sp;return; } - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - _sqlite3VdbeResolveLabel($6,$7); - $8 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($8); - STACKTOP = sp;return; -} -function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { - $pParse = $pParse|0; - $onError = $onError|0; - $pIdx = $pIdx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $errMsg = 0, $j = 0, $pTab = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $zCol = 0, $zErr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $zErr = sp + 56|0; - $j = sp + 52|0; - $errMsg = sp + 24|0; - $pTab = sp + 20|0; - $zCol = sp + 16|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $onError; - HEAP32[$2>>2] = $pIdx; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pTab>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - _sqlite3StrAccumInit($errMsg,$7,0,0,200); - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 40|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer>>2] = $13; - _sqlite3XPrintf($errMsg,31053,$vararg_buffer); - $39 = (_sqlite3StrAccumFinish($errMsg)|0); - HEAP32[$zErr>>2] = $39; - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 55|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43 & 3; - $45 = $44&255; - $46 = ($45|0)==(2); - $47 = $46 ? 1555 : 2067; - $48 = HEAP32[$1>>2]|0; - $49 = HEAP32[$zErr>>2]|0; - _sqlite3HaltConstraint($40,$47,$48,$49,-1,2); - STACKTOP = sp;return; + $14 = HEAP32[$7>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$7>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 16|0); + HEAP32[$18>>2] = $16; + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = 2097408 & $21; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = $25 | $22; + HEAP32[$24>>2] = $26; } - HEAP32[$j>>2] = 0; - while(1) { - $14 = HEAP32[$j>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 50|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = ($14|0)<($18|0); - if (!($19)) { - break; - } - $20 = HEAP32[$j>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($20<<1)|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25 << 16 >> 16; - $27 = HEAP32[$pTab>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + ($26<<4)|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$zCol>>2] = $31; - $32 = HEAP32[$j>>2]|0; - $33 = ($32|0)!=(0); - if ($33) { - _sqlite3StrAccumAppend($errMsg,31064,2); - } - $34 = HEAP32[$pTab>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$zCol>>2]|0; - HEAP32[$vararg_buffer1>>2] = $35; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $36; - _sqlite3XPrintf($errMsg,30161,$vararg_buffer1); - $37 = HEAP32[$j>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$j>>2] = $38; + $27 = HEAP32[$6>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 12|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = 2097408 & $34; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = $38 | $35; + HEAP32[$37>>2] = $39; } - $39 = (_sqlite3StrAccumFinish($errMsg)|0); - HEAP32[$zErr>>2] = $39; - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 55|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43 & 3; - $45 = $44&255; - $46 = ($45|0)==(2); - $47 = $46 ? 1555 : 2067; - $48 = HEAP32[$1>>2]|0; - $49 = HEAP32[$zErr>>2]|0; - _sqlite3HaltConstraint($40,$47,$48,$49,-1,2); - STACKTOP = sp;return; -} -function _sqlite3XPrintf($p,$zFormat,$varargs) { - $p = $p|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $ap = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $ap = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $zFormat; - HEAP32[$ap>>2] = $varargs; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - _sqlite3VXPrintf($2,$3,$ap); + $40 = HEAP32[$5>>2]|0; + _exprSetHeight($40); STACKTOP = sp;return; } -function _sqlite3StrAccumAppend($p,$z,$N) { - $p = $p|0; - $z = $z|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _exprSetHeight($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $N; - $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $3 = HEAP32[$1>>2]|0; $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = (($5) + ($6))|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($7>>>0)>=($10>>>0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - _enlargeAndAppend($12,$13,$14); - STACKTOP = sp;return; + _heightOfExpr($5,$2); + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 16|0); + $8 = HEAP32[$7>>2]|0; + _heightOfExpr($8,$2); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 2048; + $13 = ($12|0)!=(0); + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 20|0); + if ($13) { + $16 = HEAP32[$15>>2]|0; + _heightOfSelect($16,$2); } else { - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($15))|0; - HEAP32[$17>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (($22) - ($23))|0; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + ($24)|0); - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$2>>2]|0; - _memcpy(($28|0),($29|0),($30|0))|0; - STACKTOP = sp;return; - } -} -function _sqlite3HaltConstraint($pParse,$errCode,$onError,$p4,$p4type,$p5Errmsg) { - $pParse = $pParse|0; - $errCode = $errCode|0; - $onError = $onError|0; - $p4 = $p4|0; - $p4type = $p4type|0; - $p5Errmsg = $p5Errmsg|0; - var $0 = 0, $1 = 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, $v = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp + 21|0; - $5 = sp + 20|0; - $v = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $errCode; - HEAP32[$2>>2] = $onError; - HEAP32[$3>>2] = $p4; - HEAP8[$4>>0] = $p4type; - HEAP8[$5>>0] = $p5Errmsg; - $6 = HEAP32[$0>>2]|0; - $7 = (_sqlite3GetVdbe($6)|0); - HEAP32[$v>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)==(2); - if ($9) { - $10 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($10); + $17 = HEAP32[$15>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 20|0); + $21 = HEAP32[$20>>2]|0; + _heightOfExprList($21,$2); + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_sqlite3ExprListFlags($24)|0); + $26 = 2097408 & $25; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = $29 | $26; + HEAP32[$28>>2] = $30; + } } - $11 = HEAP32[$v>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$3>>2]|0; - $15 = HEAP8[$4>>0]|0; - $16 = $15 << 24 >> 24; - (_sqlite3VdbeAddOp4($11,75,$12,$13,0,$14,$16)|0); - $17 = HEAP32[$v>>2]|0; - $18 = HEAP8[$5>>0]|0; - _sqlite3VdbeChangeP5($17,$18); + $31 = HEAP32[$2>>2]|0; + $32 = (($31) + 1)|0; + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 24|0); + HEAP32[$34>>2] = $32; STACKTOP = sp;return; } -function _enlargeAndAppend($p,$z,$N) { - $p = $p|0; - $z = $z|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _heightOfExpr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $N; - $3 = HEAP32[$0>>2]|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; $4 = HEAP32[$2>>2]|0; - $5 = (_sqlite3StrAccumEnlarge($3,$4)|0); - HEAP32[$2>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)>(0); - if (!($7)) { + $5 = ($4|0)!=(0|0); + if (!($5)) { STACKTOP = sp;return; } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 12|0); + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($10)|0); - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$2>>2]|0; - _memcpy(($14|0),($15|0),($16|0))|0; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($17))|0; - HEAP32[$19>>2] = $21; - STACKTOP = sp;return; -} -function _sqlite3StrAccumEnlarge($p,$N) { - $p = $p|0; - $N = $N|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $szNew = 0, $zNew = 0, $zOld = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $zNew = sp + 12|0; - $zOld = sp + 8|0; - $szNew = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $N; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 24|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if ($6) { - HEAP32[$0>>2] = 0; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); - } - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - $11 = HEAP32[$1>>2]|0; - if ($10) { - $12 = ((($11)) + 16|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($13) - ($16))|0; - $18 = (($17) - 1)|0; - HEAP32[$2>>2] = $18; - $19 = HEAP32[$1>>2]|0; - _setStrAccumError($19,2); - $20 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $20; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); - } - $21 = ((($11)) + 25|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = $23 & 4; - $25 = ($24|0)!=(0); - if ($25) { - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = $28; - } else { - $29 = 0; - } - HEAP32[$zOld>>2] = $29; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = $szNew; - $34 = $33; - HEAP32[$34>>2] = $32; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = 0; - $37 = HEAP32[$2>>2]|0; - $38 = (($37) + 1)|0; - $39 = ($38|0)<(0); - $40 = $39 << 31 >> 31; - $41 = $szNew; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (_i64Add(($43|0),($46|0),($38|0),($40|0))|0); - $48 = tempRet0; - $49 = $szNew; - $50 = $49; - HEAP32[$50>>2] = $47; - $51 = (($49) + 4)|0; - $52 = $51; - HEAP32[$52>>2] = $48; - $53 = $szNew; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (($53) + 4)|0; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 12|0); - $61 = HEAP32[$60>>2]|0; - $62 = (_i64Add(($55|0),($58|0),($61|0),0)|0); - $63 = tempRet0; - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($63|0)<(0); - $68 = ($62>>>0)<=($66>>>0); - $69 = ($63|0)==(0); - $70 = $69 & $68; - $71 = $67 | $70; - if ($71) { - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 12|0); - $74 = HEAP32[$73>>2]|0; - $75 = $szNew; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (_i64Add(($77|0),($80|0),($74|0),0)|0); - $82 = tempRet0; - $83 = $szNew; - $84 = $83; - HEAP32[$84>>2] = $81; - $85 = (($83) + 4)|0; - $86 = $85; - HEAP32[$86>>2] = $82; - } - $87 = $szNew; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $93 = HEAP32[$1>>2]|0; - $94 = ((($93)) + 20|0); - $95 = HEAP32[$94>>2]|0; - $96 = ($92|0)>(0); - $97 = ($89>>>0)>($95>>>0); - $98 = ($92|0)==(0); - $99 = $98 & $97; - $100 = $96 | $99; - if ($100) { - $101 = HEAP32[$1>>2]|0; - _sqlite3StrAccumReset($101); - $102 = HEAP32[$1>>2]|0; - _setStrAccumError($102,2); - HEAP32[$0>>2] = 0; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); - } - $103 = $szNew; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = (($103) + 4)|0; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = HEAP32[$1>>2]|0; - $110 = ((($109)) + 16|0); - HEAP32[$110>>2] = $105; - $111 = HEAP32[$1>>2]|0; - $112 = HEAP32[$111>>2]|0; - $113 = ($112|0)!=(0|0); - if ($113) { - $114 = HEAP32[$1>>2]|0; - $115 = HEAP32[$114>>2]|0; - $116 = HEAP32[$zOld>>2]|0; - $117 = HEAP32[$1>>2]|0; - $118 = ((($117)) + 16|0); - $119 = HEAP32[$118>>2]|0; - $120 = (_sqlite3DbRealloc($115,$116,$119,0)|0); - HEAP32[$zNew>>2] = $120; - } else { - $121 = HEAP32[$zOld>>2]|0; - $122 = HEAP32[$1>>2]|0; - $123 = ((($122)) + 16|0); - $124 = HEAP32[$123>>2]|0; - $125 = (_sqlite3_realloc64($121,$124,0)|0); - HEAP32[$zNew>>2] = $125; - } - $126 = HEAP32[$zNew>>2]|0; - $127 = ($126|0)!=(0|0); - $128 = HEAP32[$1>>2]|0; - if (!($127)) { - _sqlite3StrAccumReset($128); - $161 = HEAP32[$1>>2]|0; - _setStrAccumError($161,1); - HEAP32[$0>>2] = 0; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); - } - $129 = ((($128)) + 25|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = $131 & 4; - $133 = ($132|0)!=(0); - if (!($133)) { - $134 = HEAP32[$1>>2]|0; - $135 = ((($134)) + 12|0); - $136 = HEAP32[$135>>2]|0; - $137 = ($136>>>0)>(0); - if ($137) { - $138 = HEAP32[$zNew>>2]|0; - $139 = HEAP32[$1>>2]|0; - $140 = ((($139)) + 8|0); - $141 = HEAP32[$140>>2]|0; - $142 = HEAP32[$1>>2]|0; - $143 = ((($142)) + 12|0); - $144 = HEAP32[$143>>2]|0; - _memcpy(($138|0),($141|0),($144|0))|0; - } + $11 = ($8|0)>($10|0); + if (!($11)) { + STACKTOP = sp;return; } - $145 = HEAP32[$zNew>>2]|0; - $146 = HEAP32[$1>>2]|0; - $147 = ((($146)) + 8|0); - HEAP32[$147>>2] = $145; - $148 = HEAP32[$1>>2]|0; - $149 = HEAP32[$148>>2]|0; - $150 = HEAP32[$zNew>>2]|0; - $151 = (_sqlite3DbMallocSize($149,$150)|0); - $152 = HEAP32[$1>>2]|0; - $153 = ((($152)) + 16|0); - HEAP32[$153>>2] = $151; - $154 = HEAP32[$1>>2]|0; - $155 = ((($154)) + 25|0); - $156 = HEAP8[$155>>0]|0; - $157 = $156&255; - $158 = $157 | 4; - $159 = $158&255; - HEAP8[$155>>0] = $159; - $160 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $160; - $162 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($162|0); -} -function _setStrAccumError($p,$eError) { - $p = $p|0; - $eError = $eError|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 4|0; - HEAP32[$0>>2] = $p; - HEAP8[$1>>0] = $eError; - $2 = HEAP8[$1>>0]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 24|0); - HEAP8[$4>>0] = $2; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 16|0); - HEAP32[$6>>2] = 0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$3>>2]|0; + HEAP32[$15>>2] = $14; STACKTOP = sp;return; } -function _sqlite3StrAccumReset($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; +function _heightOfSelect($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 25|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = $4 & 4; - $6 = ($5|0)!=(0); - if (!($6)) { - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 8|0); - HEAP32[$19>>2] = 0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { STACKTOP = sp;return; } - $7 = HEAP32[$0>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 32|0); $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - _sqlite3DbFree($8,$11); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 25|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = $15 & -5; - $17 = $16&255; - HEAP8[$13>>0] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 8|0); - HEAP32[$19>>2] = 0; + $9 = HEAP32[$3>>2]|0; + _heightOfExpr($8,$9); + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 40|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$3>>2]|0; + _heightOfExpr($12,$13); + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 56|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + _heightOfExpr($16,$17); + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 60|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$3>>2]|0; + _heightOfExpr($20,$21); + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$3>>2]|0; + _heightOfExprList($23,$24); + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$3>>2]|0; + _heightOfExprList($27,$28); + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 44|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$3>>2]|0; + _heightOfExprList($31,$32); + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 48|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$3>>2]|0; + _heightOfSelect($35,$36); STACKTOP = sp;return; } -function _sqlite3ExprCachePop($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; +function _heightOfExprList($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$i>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 64|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + -1)|0; - HEAP32[$2>>2] = $4; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 25|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($5|0)<($9|0); + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ($7|0)<($9|0); if (!($10)) { break; } - $11 = HEAP32[$i>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 152|0); - $14 = (($13) + (($11*20)|0)|0); - $15 = ((($14)) + 8|0); + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = (($13) + (($14*20)|0)|0); $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 64|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($16|0)>($19|0); - if ($20) { - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$i>>2]|0; - _cacheEntryClear($21,$22); - continue; - } else { - $23 = HEAP32[$i>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$i>>2] = $24; - continue; - } - } - STACKTOP = sp;return; -} -function _cacheEntryClear($pParse,$i) { - $pParse = $pParse|0; - $i = $i|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 152|0); - $5 = (($4) + (($2*20)|0)|0); - $6 = ((($5)) + 6|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 19|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)<(8); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 152|0); - $17 = (($16) + (($14*20)|0)|0); - $18 = ((($17)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 19|0); - $22 = HEAP8[$21>>0]|0; - $23 = (($22) + 1)<<24>>24; - HEAP8[$21>>0] = $23; - $24 = $22&255; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 352|0); - $27 = (($26) + ($24<<2)|0); - HEAP32[$27>>2] = $19; - } - } - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 25|0); - $30 = HEAP8[$29>>0]|0; - $31 = (($30) + -1)<<24>>24; - HEAP8[$29>>0] = $31; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 25|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = ($32|0)<($36|0); - if (!($37)) { - STACKTOP = sp;return; + $17 = HEAP32[$3>>2]|0; + _heightOfExpr($16,$17); + $18 = HEAP32[$4>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$4>>2] = $19; } - $38 = HEAP32[$1>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 152|0); - $41 = (($40) + (($38*20)|0)|0); - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 25|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 152|0); - $48 = (($47) + (($45*20)|0)|0); - ;HEAP32[$41>>2]=HEAP32[$48>>2]|0;HEAP32[$41+4>>2]=HEAP32[$48+4>>2]|0;HEAP32[$41+8>>2]=HEAP32[$48+8>>2]|0;HEAP32[$41+12>>2]=HEAP32[$48+12>>2]|0;HEAP32[$41+16>>2]=HEAP32[$48+16>>2]|0; STACKTOP = sp;return; } -function _sqlite3ExprCachePush($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3ExprListFlags($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 64|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 1)|0; - HEAP32[$2>>2] = $4; - STACKTOP = sp;return; -} -function _sqlite3ExprIfFalseDup($pParse,$pExpr,$dest,$jumpIfNull) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $dest = $dest|0; - $jumpIfNull = $jumpIfNull|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $db = 0, $pCopy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $db = sp + 4|0; - $pCopy = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $dest; - HEAP32[$3>>2] = $jumpIfNull; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$db>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3ExprDup($6,$7,0)|0); - HEAP32[$pCopy>>2] = $8; - $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 69|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(0); - if (!($13)) { - $18 = HEAP32[$db>>2]|0; - $19 = HEAP32[$pCopy>>2]|0; - _sqlite3ExprDelete($18,$19); - STACKTOP = sp;return; - } - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$pCopy>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$3>>2]|0; - _sqlite3ExprIfFalse($14,$15,$16,$17); - $18 = HEAP32[$db>>2]|0; - $19 = HEAP32[$pCopy>>2]|0; - _sqlite3ExprDelete($18,$19); - STACKTOP = sp;return; -} -function _sqlite3GetTempRange($pParse,$nReg) { - $pParse = $pParse|0; - $nReg = $nReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $n = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $i = sp + 4|0; - $n = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $nReg; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(1); - $5 = HEAP32[$1>>2]|0; - if ($4) { - $6 = (_sqlite3GetTempReg($5)|0); - HEAP32[$0>>2] = $6; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - $7 = ((($5)) + 32|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$i>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 28|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$n>>2] = $11; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$n>>2]|0; - $14 = ($12|0)<=($13|0); - if ($14) { - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 32|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($15))|0; - HEAP32[$17>>2] = $19; - $20 = HEAP32[$2>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 28|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) - ($20))|0; - HEAP32[$22>>2] = $24; - } else { - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 44|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$i>>2] = $28; - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 44|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + ($29))|0; - HEAP32[$31>>2] = $33; - } - $34 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $34; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); -} -function _sqlite3ExprCodeLoadIndexColumn($pParse,$pIdx,$iTabCur,$iIdxCol,$regOut) { - $pParse = $pParse|0; - $pIdx = $pIdx|0; - $iTabCur = $iTabCur|0; - $iIdxCol = $iIdxCol|0; - $regOut = $regOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $iTabCol = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; $1 = sp + 12|0; $2 = sp + 8|0; $3 = sp + 4|0; $4 = sp; - $iTabCol = sp + 20|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pIdx; - HEAP32[$2>>2] = $iTabCur; - HEAP32[$3>>2] = $iIdxCol; - HEAP32[$4>>2] = $regOut; - $5 = HEAP32[$3>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($5<<1)|0); - $10 = HEAP16[$9>>1]|0; - HEAP16[$iTabCol>>1] = $10; - $11 = HEAP16[$iTabCol>>1]|0; - $12 = $11 << 16 >> 16; - $13 = ($12|0)==(-2); - if ($13) { - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 60|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$3>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 40|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + (($18*20)|0)|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$4>>2]|0; - _sqlite3ExprCodeCopy($17,$25,$26); - STACKTOP = sp;return; - } else { - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP16[$iTabCol>>1]|0; - $35 = $34 << 16 >> 16; - $36 = HEAP32[$4>>2]|0; - _sqlite3ExprCodeGetColumnOfTable($29,$32,$33,$35,$36); - STACKTOP = sp;return; + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 0; + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $24 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($24|0); } -} -function _sqlite3VdbeDeletePriorOpcode($p,$op) { - $p = $p|0; - $op = $op|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $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 + 4|0; - $1 = sp; - $2 = sp + 8|0; - HEAP32[$1>>2] = $p; - HEAP8[$2>>0] = $op; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 136|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 136|0); + HEAP32[$2>>2] = 0; + while(1) { + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$1>>2]|0; $9 = HEAP32[$8>>2]|0; - $10 = (($9) - 1)|0; + $10 = ($7|0)<($9|0); + if (!($10)) { + break; + } $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 88|0); + $12 = ((($11)) + 4|0); $13 = HEAP32[$12>>2]|0; - $14 = (($13) + (($10*20)|0)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = HEAP8[$2>>0]|0; - $18 = $17&255; - $19 = ($16|0)==($18|0); - if ($19) { - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 136|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) - 1)|0; - $25 = (_sqlite3VdbeChangeToNoop($20,$24)|0); - HEAP32[$0>>2] = $25; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); - } + $14 = HEAP32[$2>>2]|0; + $15 = (($13) + (($14*20)|0)|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$4>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = $20 | $19; + HEAP32[$3>>2] = $21; + $22 = HEAP32[$2>>2]|0; + $23 = (($22) + 1)|0; + HEAP32[$2>>2] = $23; } - HEAP32[$0>>2] = 0; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); + $24 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($24|0); } -function _sqlite3ReleaseTempRange($pParse,$iReg,$nReg) { - $pParse = $pParse|0; - $iReg = $iReg|0; - $nReg = $nReg|0; - var $0 = 0, $1 = 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; - var sp = 0; +function _sqlite3CreateColumnExpr($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iReg; - HEAP32[$2>>2] = $nReg; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(1); - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - if ($4) { - _sqlite3ReleaseTempReg($5,$6); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$4>>2]|0; + $11 = (_sqlite3ExprAlloc($10,152,0,0)|0); + HEAP32[$8>>2] = $11; + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + $66 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($66|0); } - $7 = HEAP32[$2>>2]|0; - _sqlite3ExprCacheRemove($5,$6,$7); - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)>($11|0); - if (!($12)) { - STACKTOP = sp;return; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$6>>2]|0; + $17 = (($15) + (($16*72)|0)|0); + HEAP32[$9>>2] = $17; + $18 = HEAP32[$9>>2]|0; + $19 = ((($18)) + 16|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$8>>2]|0; + $22 = ((($21)) + 44|0); + HEAP32[$22>>2] = $20; + $23 = HEAP32[$9>>2]|0; + $24 = ((($23)) + 44|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$8>>2]|0; + $27 = ((($26)) + 28|0); + HEAP32[$27>>2] = $25; + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 44|0); + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 32|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32 << 16 >> 16; + $34 = HEAP32[$7>>2]|0; + $35 = ($33|0)==($34|0); + if ($35) { + $36 = HEAP32[$8>>2]|0; + $37 = ((($36)) + 32|0); + HEAP16[$37>>1] = -1; + } else { + $38 = HEAP32[$7>>2]|0; + $39 = $38&65535; + $40 = HEAP32[$8>>2]|0; + $41 = ((($40)) + 32|0); + HEAP16[$41>>1] = $39; + $42 = HEAP32[$7>>2]|0; + $43 = ($42|0)>=(64); + $44 = HEAP32[$7>>2]|0; + $45 = $43 ? 63 : $44; + $46 = (_bitshift64Shl(1,0,($45|0))|0); + $47 = tempRet0; + $48 = HEAP32[$9>>2]|0; + $49 = ((($48)) + 56|0); + $50 = $49; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = $52 | $46; + $57 = $55 | $47; + $58 = $49; + $59 = $58; + HEAP32[$59>>2] = $56; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; } - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 28|0); - HEAP32[$15>>2] = $13; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 32|0); - HEAP32[$18>>2] = $16; - STACKTOP = sp;return; + $62 = HEAP32[$8>>2]|0; + $63 = ((($62)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = $64 | 4; + HEAP32[$63>>2] = $65; + $66 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($66|0); } -function _sqlite3ExprCacheRemove($pParse,$iReg,$nReg) { - $pParse = $pParse|0; - $iReg = $iReg|0; - $nReg = $nReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, label = 0, sp = 0; +function _searchWith($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $i = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iReg; - HEAP32[$2>>2] = $nReg; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 25|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($3|0)<($7|0); - if (!($8)) { - break; - } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 152|0); - $12 = (($11) + (($9*20)|0)|0); - HEAP32[$p>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ($15|0)>=($16|0); - if ($17) { - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = (($21) + ($22))|0; - $24 = ($20|0)<($23|0); - if ($24) { - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$i>>2]|0; - _cacheEntryClear($25,$26); - continue; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0|0); + L1: do { + if ($13) { + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$7>>2] = $16; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$4>>2]|0; + HEAP32[$8>>2] = $18; + L4: while(1) { + $19 = HEAP32[$8>>2]|0; + $20 = ($19|0)!=(0|0); + if (!($20)) { + break L1; + } + HEAP32[$9>>2] = 0; + while(1) { + $21 = HEAP32[$9>>2]|0; + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ($21|0)<($23|0); + if (!($24)) { + break; + } + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[$8>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$9>>2]|0; + $29 = (($27) + ($28<<4)|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3StrICmp($25,$30)|0); + $32 = ($31|0)==(0); + if ($32) { + break L4; + } + $39 = HEAP32[$9>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$9>>2] = $40; + } + $41 = HEAP32[$8>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$8>>2] = $43; + } + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$6>>2]|0; + HEAP32[$34>>2] = $33; + $35 = HEAP32[$8>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$9>>2]|0; + $38 = (($36) + ($37<<4)|0); + HEAP32[$3>>2] = $38; + $44 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($44|0); } } - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$i>>2] = $28; - } - STACKTOP = sp;return; + } while(0); + HEAP32[$3>>2] = 0; + $44 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($44|0); } -function _sqlite3VdbeChangeToNoop($p,$addr) { - $p = $p|0; - $addr = $addr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pOp = 0, label = 0, sp = 0; +function _sqlite3SrcListDup($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $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; + 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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pOp = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $addr; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 69|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if ($7) { - HEAP32[$0>>2] = 0; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + HEAP32[$3>>2] = 0; + $177 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($177|0); + } + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>(0); + if ($17) { + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (($19) - 1)|0; + $21 = ($20*72)|0; + $23 = $21; } else { - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 88|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + (($8*20)|0)|0); - HEAP32[$pOp>>2] = $12; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$pOp>>2]|0; - $16 = ((($15)) + 1|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 << 24 >> 24; - $19 = HEAP32[$pOp>>2]|0; - $20 = ((($19)) + 16|0); - $21 = HEAP32[$20>>2]|0; - _freeP4($14,$18,$21); - $22 = HEAP32[$pOp>>2]|0; - $23 = ((($22)) + 1|0); - HEAP8[$23>>0] = 0; - $24 = HEAP32[$pOp>>2]|0; - $25 = ((($24)) + 16|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$pOp>>2]|0; - HEAP8[$26>>0] = -95; - HEAP32[$0>>2] = 1; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); + $23 = 0; } - return (0)|0; -} -function _freeP4($db,$p4type,$p4) { - $db = $db|0; - $p4type = $p4type|0; - $p4 = $p4|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p4type; - HEAP32[$2>>2] = $p4; - $3 = HEAP32[$1>>2]|0; - L1: do { - switch ($3|0) { - case -21: { - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$2>>2]|0; - _freeP4FuncCtx($4,$5); - break; - } - case -15: case -1: case -13: case -12: { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$2>>2]|0; - _sqlite3DbFree($6,$7); - break; - } - case -6: { - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 456|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $12 = HEAP32[$2>>2]|0; - _sqlite3KeyInfoUnref($12); - } - break; - } - case -11: { - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 456|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)==(0|0); - if ($16) { - $17 = HEAP32[$2>>2]|0; - _sqlite3_free($17); - } - break; - } - case -5: { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$2>>2]|0; - _freeEphemeralFunction($18,$19); - break; - } - case -8: { - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 456|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(0|0); - if ($23) { - $24 = HEAP32[$2>>2]|0; - _sqlite3ValueFree($24); - break L1; - } else { - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$2>>2]|0; - _freeP4Mem($25,$26); - break L1; - } + $22 = (80 + ($23))|0; + HEAP32[$9>>2] = $22; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$9>>2]|0; + $26 = ($25|0)<(0); + $27 = $26 << 31 >> 31; + $28 = (_sqlite3DbMallocRawNN($24,$25,$27)|0); + HEAP32[$7>>2] = $28; + $29 = HEAP32[$7>>2]|0; + $30 = ($29|0)==(0|0); + if ($30) { + HEAP32[$3>>2] = 0; + $177 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($177|0); + } + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = ((($33)) + 4|0); + HEAP32[$34>>2] = $32; + $35 = HEAP32[$7>>2]|0; + HEAP32[$35>>2] = $32; + HEAP32[$8>>2] = 0; + while(1) { + $36 = HEAP32[$8>>2]|0; + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = ($36|0)<($38|0); + $40 = HEAP32[$7>>2]|0; + if (!($39)) { break; } - case -10: { - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 456|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0|0); - if ($30) { - $31 = HEAP32[$2>>2]|0; - _sqlite3VtabUnlock($31); - } - break; + $41 = ((($40)) + 8|0); + $42 = HEAP32[$8>>2]|0; + $43 = (($41) + (($42*72)|0)|0); + HEAP32[$10>>2] = $43; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 8|0); + $46 = HEAP32[$8>>2]|0; + $47 = (($45) + (($46*72)|0)|0); + HEAP32[$11>>2] = $47; + $48 = HEAP32[$11>>2]|0; + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$10>>2]|0; + HEAP32[$50>>2] = $49; + $51 = HEAP32[$4>>2]|0; + $52 = HEAP32[$11>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3DbStrDup($51,$54)|0); + $56 = HEAP32[$10>>2]|0; + $57 = ((($56)) + 4|0); + HEAP32[$57>>2] = $55; + $58 = HEAP32[$4>>2]|0; + $59 = HEAP32[$11>>2]|0; + $60 = ((($59)) + 8|0); + $61 = HEAP32[$60>>2]|0; + $62 = (_sqlite3DbStrDup($58,$61)|0); + $63 = HEAP32[$10>>2]|0; + $64 = ((($63)) + 8|0); + HEAP32[$64>>2] = $62; + $65 = HEAP32[$4>>2]|0; + $66 = HEAP32[$11>>2]|0; + $67 = ((($66)) + 12|0); + $68 = HEAP32[$67>>2]|0; + $69 = (_sqlite3DbStrDup($65,$68)|0); + $70 = HEAP32[$10>>2]|0; + $71 = ((($70)) + 12|0); + HEAP32[$71>>2] = $69; + $72 = HEAP32[$10>>2]|0; + $73 = ((($72)) + 36|0); + $74 = HEAP32[$11>>2]|0; + $75 = ((($74)) + 36|0); + ;HEAP32[$73>>2]=HEAP32[$75>>2]|0; + $76 = HEAP32[$11>>2]|0; + $77 = ((($76)) + 44|0); + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$10>>2]|0; + $80 = ((($79)) + 44|0); + HEAP32[$80>>2] = $78; + $81 = HEAP32[$11>>2]|0; + $82 = ((($81)) + 24|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$10>>2]|0; + $85 = ((($84)) + 24|0); + HEAP32[$85>>2] = $83; + $86 = HEAP32[$11>>2]|0; + $87 = ((($86)) + 28|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$10>>2]|0; + $90 = ((($89)) + 28|0); + HEAP32[$90>>2] = $88; + $91 = HEAP32[$10>>2]|0; + $92 = ((($91)) + 36|0); + $93 = ((($92)) + 1|0); + $94 = HEAP8[$93>>0]|0; + $95 = ($94&255) >>> 1; + $96 = $95 & 1; + $97 = $96&255; + $98 = ($97|0)!=(0); + if ($98) { + $99 = HEAP32[$4>>2]|0; + $100 = HEAP32[$11>>2]|0; + $101 = ((($100)) + 64|0); + $102 = HEAP32[$101>>2]|0; + $103 = (_sqlite3DbStrDup($99,$102)|0); + $104 = HEAP32[$10>>2]|0; + $105 = ((($104)) + 64|0); + HEAP32[$105>>2] = $103; } - default: { + $106 = HEAP32[$11>>2]|0; + $107 = ((($106)) + 68|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$10>>2]|0; + $110 = ((($109)) + 68|0); + HEAP32[$110>>2] = $108; + $111 = HEAP32[$10>>2]|0; + $112 = ((($111)) + 36|0); + $113 = ((($112)) + 1|0); + $114 = HEAP8[$113>>0]|0; + $115 = ($114&255) >>> 2; + $116 = $115 & 1; + $117 = $116&255; + $118 = ($117|0)!=(0); + if ($118) { + $119 = HEAP32[$4>>2]|0; + $120 = HEAP32[$11>>2]|0; + $121 = ((($120)) + 64|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$6>>2]|0; + $124 = (_sqlite3ExprListDup($119,$122,$123)|0); + $125 = HEAP32[$10>>2]|0; + $126 = ((($125)) + 64|0); + HEAP32[$126>>2] = $124; } + $127 = HEAP32[$11>>2]|0; + $128 = ((($127)) + 16|0); + $129 = HEAP32[$128>>2]|0; + $130 = HEAP32[$10>>2]|0; + $131 = ((($130)) + 16|0); + HEAP32[$131>>2] = $129; + HEAP32[$12>>2] = $129; + $132 = HEAP32[$12>>2]|0; + $133 = ($132|0)!=(0|0); + if ($133) { + $134 = HEAP32[$12>>2]|0; + $135 = ((($134)) + 36|0); + $136 = HEAP16[$135>>1]|0; + $137 = (($136) + 1)<<16>>16; + HEAP16[$135>>1] = $137; } - } while(0); - STACKTOP = sp;return; -} -function _freeP4FuncCtx($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - _freeEphemeralFunction($2,$5); - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - _sqlite3DbFree($6,$7); - STACKTOP = sp;return; -} -function _freeEphemeralFunction($db,$pDef) { - $db = $db|0; - $pDef = $pDef|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pDef; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 2|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 16; - $7 = ($6|0)!=(0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - _sqlite3DbFree($8,$9); - STACKTOP = sp;return; -} -function _freeP4Mem($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $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; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 24|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 20|0); - $9 = HEAP32[$8>>2]|0; - _sqlite3DbFree($6,$9); - } - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - _sqlite3DbFree($10,$11); - STACKTOP = sp;return; -} -function _sqlite3ExprCodeCopy($pParse,$pExpr,$target) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $target = $target|0; - var $0 = 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, $db = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $target; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$db>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (_sqlite3ExprDup($5,$6,0)|0); - HEAP32[$1>>2] = $7; - $8 = HEAP32[$db>>2]|0; - $9 = ((($8)) + 69|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)!=(0); - if ($11) { - $15 = HEAP32[$db>>2]|0; - $16 = HEAP32[$1>>2]|0; - _sqlite3ExprDelete($15,$16); - STACKTOP = sp;return; + $138 = HEAP32[$4>>2]|0; + $139 = HEAP32[$11>>2]|0; + $140 = ((($139)) + 20|0); + $141 = HEAP32[$140>>2]|0; + $142 = HEAP32[$6>>2]|0; + $143 = (_sqlite3SelectDup($138,$141,$142)|0); + $144 = HEAP32[$10>>2]|0; + $145 = ((($144)) + 20|0); + HEAP32[$145>>2] = $143; + $146 = HEAP32[$4>>2]|0; + $147 = HEAP32[$11>>2]|0; + $148 = ((($147)) + 48|0); + $149 = HEAP32[$148>>2]|0; + $150 = HEAP32[$6>>2]|0; + $151 = (_sqlite3ExprDup($146,$149,$150)|0); + $152 = HEAP32[$10>>2]|0; + $153 = ((($152)) + 48|0); + HEAP32[$153>>2] = $151; + $154 = HEAP32[$4>>2]|0; + $155 = HEAP32[$11>>2]|0; + $156 = ((($155)) + 52|0); + $157 = HEAP32[$156>>2]|0; + $158 = (_sqlite3IdListDup($154,$157)|0); + $159 = HEAP32[$10>>2]|0; + $160 = ((($159)) + 52|0); + HEAP32[$160>>2] = $158; + $161 = HEAP32[$11>>2]|0; + $162 = ((($161)) + 56|0); + $163 = $162; + $164 = $163; + $165 = HEAP32[$164>>2]|0; + $166 = (($163) + 4)|0; + $167 = $166; + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[$10>>2]|0; + $170 = ((($169)) + 56|0); + $171 = $170; + $172 = $171; + HEAP32[$172>>2] = $165; + $173 = (($171) + 4)|0; + $174 = $173; + HEAP32[$174>>2] = $168; + $175 = HEAP32[$8>>2]|0; + $176 = (($175) + 1)|0; + HEAP32[$8>>2] = $176; } - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - _sqlite3ExprCode($12,$13,$14); - $15 = HEAP32[$db>>2]|0; - $16 = HEAP32[$1>>2]|0; - _sqlite3ExprDelete($15,$16); - STACKTOP = sp;return; + HEAP32[$3>>2] = $40; + $177 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($177|0); } -function _sqlite3ExprCodeGetColumnOfTable($v,$pTab,$iTabCur,$iCol,$regOut) { - $v = $v|0; - $pTab = $pTab|0; - $iTabCur = $iTabCur|0; - $iCol = $iCol|0; - $regOut = $regOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $op = 0, $x = 0, label = 0, sp = 0; +function _withDup($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; $2 = sp + 16|0; $3 = sp + 12|0; $4 = sp + 8|0; - $op = sp + 4|0; - $x = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $iTabCur; - HEAP32[$3>>2] = $iCol; - HEAP32[$4>>2] = $regOut; - $5 = HEAP32[$3>>2]|0; - $6 = ($5|0)<(0); - if ($6) { - label = 3; - } else { - $7 = HEAP32[$3>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 32|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10 << 16 >> 16; - $12 = ($7|0)==($11|0); - if ($12) { - label = 3; - } else { - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 42|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 & 16; - $21 = ($20|0)!=(0); - $22 = $21 ? 156 : 96; - HEAP32[$op>>2] = $22; - $23 = HEAP32[$3>>2]|0; - HEAP32[$x>>2] = $23; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 42|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $27 & 32; - $29 = ($28|0)==(0); - if (!($29)) { - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 42|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $33 & 16; - $35 = ($34|0)!=(0); - if (!($35)) { - $36 = HEAP32[$1>>2]|0; - $37 = (_sqlite3PrimaryKeyIndex($36)|0); - $38 = HEAP32[$3>>2]|0; - $39 = $38&65535; - $40 = (_sqlite3ColumnOfIndex($37,$39)|0); - $41 = $40 << 16 >> 16; - HEAP32[$x>>2] = $41; - } - } - $42 = HEAP32[$0>>2]|0; - $43 = HEAP32[$op>>2]|0; - $44 = HEAP32[$2>>2]|0; - $45 = HEAP32[$x>>2]|0; - $46 = HEAP32[$4>>2]|0; - (_sqlite3VdbeAddOp3($42,$43,$44,$45,$46)|0); - } - } - if ((label|0) == 3) { - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$4>>2]|0; - (_sqlite3VdbeAddOp2($13,123,$14,$15)|0); + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + $67 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($67|0); } - $47 = HEAP32[$3>>2]|0; - $48 = ($47|0)>=(0); - if (!($48)) { - STACKTOP = sp;return; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = (($10) - 1)|0; + $12 = $11<<4; + $13 = (24 + ($12))|0; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = ($15|0)<(0); + $17 = $16 << 31 >> 31; + $18 = (_sqlite3DbMallocZero($14,$15,$17)|0); + HEAP32[$4>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)!=(0|0); + if (!($20)) { + $67 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($67|0); } - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$3>>2]|0; - $52 = HEAP32[$4>>2]|0; - _sqlite3ColumnDefault($49,$50,$51,$52); - STACKTOP = sp;return; -} -function _sqlite3ColumnOfIndex($pIdx,$iCol) { - $pIdx = $pIdx|0; - $iCol = $iCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 10|0; - $1 = sp + 4|0; - $2 = sp + 8|0; - $i = sp; - HEAP32[$1>>2] = $pIdx; - HEAP16[$2>>1] = $iCol; - HEAP32[$i>>2] = 0; + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$4>>2]|0; + HEAP32[$23>>2] = $22; + HEAP32[$6>>2] = 0; while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 52|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = ($3|0)<($7|0); - if (!($8)) { - label = 6; - break; - } - $9 = HEAP16[$2>>1]|0; - $10 = $9 << 16 >> 16; - $11 = HEAP32[$i>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<1)|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16 << 16 >> 16; - $18 = ($10|0)==($17|0); - $19 = HEAP32[$i>>2]|0; - if ($18) { - label = 4; + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = ($24|0)<($26|0); + if (!($27)) { break; } - $21 = (($19) + 1)|0; - HEAP32[$i>>2] = $21; - } - if ((label|0) == 4) { - $20 = $19&65535; - HEAP16[$0>>1] = $20; - $22 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($22|0); - } - else if ((label|0) == 6) { - HEAP16[$0>>1] = -1; - $22 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($22|0); + $28 = HEAP32[$2>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$6>>2]|0; + $32 = (($30) + ($31<<4)|0); + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_sqlite3SelectDup($28,$34,0)|0); + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 8|0); + $38 = HEAP32[$6>>2]|0; + $39 = (($37) + ($38<<4)|0); + $40 = ((($39)) + 8|0); + HEAP32[$40>>2] = $35; + $41 = HEAP32[$2>>2]|0; + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 8|0); + $44 = HEAP32[$6>>2]|0; + $45 = (($43) + ($44<<4)|0); + $46 = ((($45)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = (_sqlite3ExprListDup($41,$47,0)|0); + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP32[$6>>2]|0; + $52 = (($50) + ($51<<4)|0); + $53 = ((($52)) + 4|0); + HEAP32[$53>>2] = $48; + $54 = HEAP32[$2>>2]|0; + $55 = HEAP32[$3>>2]|0; + $56 = ((($55)) + 8|0); + $57 = HEAP32[$6>>2]|0; + $58 = (($56) + ($57<<4)|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3DbStrDup($54,$59)|0); + $61 = HEAP32[$4>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP32[$6>>2]|0; + $64 = (($62) + ($63<<4)|0); + HEAP32[$64>>2] = $60; + $65 = HEAP32[$6>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$6>>2] = $66; } - return (0)|0; + $67 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($67|0); } -function _sqlite3ColumnDefault($v,$pTab,$i,$iReg) { - $v = $v|0; - $pTab = $pTab|0; - $i = $i|0; - $iReg = $iReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $enc = 0, $pCol = 0, $pValue = 0, label = 0, sp = 0; +function _sqlite3IdListDup($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $pValue = sp + 4|0; - $enc = sp + 24|0; - $pCol = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $i; - HEAP32[$3>>2] = $iReg; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - STACKTOP = sp;return; - } - HEAP32[$pValue>>2] = 0; - $8 = HEAP32[$0>>2]|0; - $9 = (_sqlite3VdbeDb($8)|0); - $10 = ((($9)) + 66|0); - $11 = HEAP8[$10>>0]|0; - HEAP8[$enc>>0] = $11; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($12<<4)|0); - HEAP32[$pCol>>2] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = (_sqlite3VdbeDb($17)|0); - $19 = HEAP32[$pCol>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP8[$enc>>0]|0; - $23 = HEAP32[$pCol>>2]|0; - $24 = ((($23)) + 13|0); - $25 = HEAP8[$24>>0]|0; - (_sqlite3ValueFromExpr($18,$21,$22,$25,$pValue)|0); - $26 = HEAP32[$pValue>>2]|0; - $27 = ($26|0)!=(0|0); - if ($27) { - $28 = HEAP32[$0>>2]|0; - $29 = HEAP32[$pValue>>2]|0; - _sqlite3VdbeChangeP4($28,-1,$29,-8); + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + HEAP32[$2>>2] = 0; + $57 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($57|0); } - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + ($30<<4)|0); - $35 = ((($34)) + 13|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36 << 24 >> 24; - $38 = ($37|0)==(69); - if (!($38)) { - STACKTOP = sp;return; + $11 = HEAP32[$3>>2]|0; + $12 = (_sqlite3DbMallocRawNN($11,8,0)|0); + HEAP32[$5>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + HEAP32[$2>>2] = 0; + $57 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($57|0); } - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp1($39,92,$40)|0); + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 4|0); + HEAP32[$19>>2] = $17; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = $23<<3; + $25 = (_sqlite3DbMallocRawNN($20,$24,0)|0); + $26 = HEAP32[$5>>2]|0; + HEAP32[$26>>2] = $25; + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0|0); + if ($29) { + $30 = HEAP32[$3>>2]|0; + $31 = HEAP32[$5>>2]|0; + _sqlite3DbFree($30,$31); + HEAP32[$2>>2] = 0; + $57 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($57|0); + } + HEAP32[$6>>2] = 0; + while(1) { + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($32|0)<($35|0); + $37 = HEAP32[$5>>2]|0; + if (!($36)) { + break; + } + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = (($38) + ($39<<3)|0); + HEAP32[$7>>2] = $40; + $41 = HEAP32[$4>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = (($42) + ($43<<3)|0); + HEAP32[$8>>2] = $44; + $45 = HEAP32[$3>>2]|0; + $46 = HEAP32[$8>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = (_sqlite3DbStrDup($45,$47)|0); + $49 = HEAP32[$7>>2]|0; + HEAP32[$49>>2] = $48; + $50 = HEAP32[$8>>2]|0; + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$7>>2]|0; + $54 = ((($53)) + 4|0); + HEAP32[$54>>2] = $52; + $55 = HEAP32[$6>>2]|0; + $56 = (($55) + 1)|0; + HEAP32[$6>>2] = $56; + } + HEAP32[$2>>2] = $37; + $57 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($57|0); +} +function _analyzeDatabase($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = (($15) + ($16<<4)|0); + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$5>>2] = $19; + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$3>>2]|0; + _sqlite3BeginWriteOperation($20,0,$21); + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 40|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$7>>2] = $24; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 40|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + 3)|0; + HEAP32[$26>>2] = $28; + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = HEAP32[$7>>2]|0; + _openStatTable($29,$30,$31,0,0); + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 44|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$8>>2] = $35; + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 40|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$9>>2] = $38; + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 8|0); + $41 = ((($40)) + 8|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$6>>2] = $42; + while(1) { + $43 = HEAP32[$6>>2]|0; + $44 = ($43|0)!=(0|0); + if (!($44)) { + break; + } + $45 = HEAP32[$6>>2]|0; + $46 = ((($45)) + 8|0); + $47 = HEAP32[$46>>2]|0; + HEAP32[$10>>2] = $47; + $48 = HEAP32[$2>>2]|0; + $49 = HEAP32[$10>>2]|0; + $50 = HEAP32[$7>>2]|0; + $51 = HEAP32[$8>>2]|0; + $52 = HEAP32[$9>>2]|0; + _analyzeOneTable($48,$49,0,$50,$51,$52); + $53 = HEAP32[$6>>2]|0; + $54 = HEAP32[$53>>2]|0; + HEAP32[$6>>2] = $54; + } + $55 = HEAP32[$2>>2]|0; + $56 = HEAP32[$3>>2]|0; + _loadAnalysis($55,$56); STACKTOP = sp;return; } -function _sqlite3VdbeDb($v) { - $v = $v|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _sqlite3FindDb($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $v; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($2|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3NameFromToken($6,$7)|0); + HEAP32[$5>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (_sqlite3FindDbName($9,$10)|0); + HEAP32[$4>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$5>>2]|0; + _sqlite3DbFree($12,$13); + $14 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($14|0); } -function _sqlite3ExprCode($pParse,$pExpr,$target) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $target = $target|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $inReg = 0, label = 0, sp = 0; +function _analyzeTable($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $inReg = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $target; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)==(157); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 28|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($11,84,$14,$15)|0); - STACKTOP = sp;return; - } - } - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = (_sqlite3ExprCodeTarget($16,$17,$18)|0); - HEAP32[$inReg>>2] = $19; - $20 = HEAP32[$inReg>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = ($20|0)!=($21|0); - if (!($22)) { - STACKTOP = sp;return; - } - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)!=(0|0); - if (!($26)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 64|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3SchemaToIndex($9,$12)|0); + HEAP32[$6>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$6>>2]|0; + _sqlite3BeginWriteOperation($14,0,$15); + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 40|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$7>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + 3)|0; + HEAP32[$20>>2] = $22; + $23 = HEAP32[$5>>2]|0; + $24 = ($23|0)!=(0|0); + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$7>>2]|0; + if ($24) { + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$28>>2]|0; + _openStatTable($25,$26,$27,$29,30148); + } else { + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$30>>2]|0; + _openStatTable($25,$26,$27,$31,30152); } - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$inReg>>2]|0; - $31 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($29,85,$30,$31)|0); + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 44|0); + $38 = HEAP32[$37>>2]|0; + $39 = (($38) + 1)|0; + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 40|0); + $42 = HEAP32[$41>>2]|0; + _analyzeOneTable($32,$33,$34,$35,$39,$42); + $43 = HEAP32[$3>>2]|0; + $44 = HEAP32[$6>>2]|0; + _loadAnalysis($43,$44); STACKTOP = sp;return; } -function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $target = $target|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; - var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0; - var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0; - var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0; - var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; - var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; - var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; - var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; - var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; - var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $aListelem = 0, $addr = 0, $constMask = 0, $db = 0, $destIfFalse = 0, $destIfNull = 0, $enc = 0, $endCoalesce = 0, $endLabel = 0, $exprOp = 0, $i = 0, $i2 = 0, $iTab = 0, $inReg = 0, $n = 0, $nCol = 0, $nExpr = 0; - var $nFarg = 0, $nextCase = 0, $op = 0, $opCompare = 0, $or$cond = 0, $or$cond3 = 0, $p1 = 0, $p5 = 0, $pAggInfo = 0, $pCol = 0, $pColl = 0, $pDef = 0, $pEList = 0, $pFarg = 0, $pInfo = 0, $pLeft = 0, $pLeft1 = 0, $pTab = 0, $pTest = 0, $pX = 0; - var $r1 = 0, $r2 = 0, $regFree1 = 0, $regFree2 = 0, $tempX = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $z = 0, $zBlob = 0, $zId = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3TwoPartName($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 320|0; - $vararg_buffer9 = sp + 24|0; - $vararg_buffer7 = sp + 16|0; - $vararg_buffer4 = sp + 8|0; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 304|0; - $1 = sp + 300|0; - $2 = sp + 296|0; - $3 = sp + 292|0; - $v = sp + 288|0; - $op = sp + 284|0; - $inReg = sp + 280|0; - $regFree1 = sp + 276|0; - $regFree2 = sp + 272|0; - $r1 = sp + 268|0; - $r2 = sp + 264|0; - $tempX = sp + 216|0; - $p5 = sp + 208|0; - $pAggInfo = sp + 204|0; - $pCol = sp + 200|0; - $iTab = sp + 196|0; - $n = sp + 192|0; - $z = sp + 188|0; - $zBlob = sp + 184|0; - $pLeft = sp + 180|0; - $pLeft1 = sp + 176|0; - $addr = sp + 172|0; - $pInfo = sp + 168|0; - $pFarg = sp + 164|0; - $nFarg = sp + 160|0; - $pDef = sp + 156|0; - $zId = sp + 152|0; - $constMask = sp + 148|0; - $i = sp + 144|0; - $db = sp + 140|0; - $enc = sp + 309|0; - $pColl = sp + 136|0; - $endCoalesce = sp + 132|0; - $exprOp = sp + 308|0; - $nCol = sp + 128|0; - $destIfFalse = sp + 124|0; - $destIfNull = sp + 120|0; - $pTab = sp + 116|0; - $p1 = sp + 112|0; - $endLabel = sp + 108|0; - $nextCase = sp + 104|0; - $nExpr = sp + 100|0; - $i2 = sp + 96|0; - $pEList = sp + 92|0; - $aListelem = sp + 88|0; - $opCompare = sp + 40|0; - $pX = sp + 32|0; - $pTest = sp + 28|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pExpr; - HEAP32[$3>>2] = $target; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$v>>2] = $6; - $7 = HEAP32[$3>>2]|0; - HEAP32[$inReg>>2] = $7; - HEAP32[$regFree1>>2] = 0; - HEAP32[$regFree2>>2] = 0; - HEAP32[$p5>>2] = 0; - $8 = HEAP32[$v>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - HEAP32[$0>>2] = 0; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - } - $10 = HEAP32[$2>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - HEAP32[$op>>2] = 101; - } else { - $12 = HEAP32[$2>>2]|0; - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - HEAP32[$op>>2] = $14; - } - $15 = HEAP32[$op>>2]|0; - L9: do { - switch ($15|0) { - case 154: { - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 40|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$pAggInfo>>2] = $18; - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 34|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = HEAP32[$pAggInfo>>2]|0; - $24 = ((($23)) + 28|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + (($22*24)|0)|0); - HEAP32[$pCol>>2] = $26; - $27 = HEAP32[$pAggInfo>>2]|0; - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)!=(0); - if (!($29)) { - $30 = HEAP32[$pCol>>2]|0; - $31 = ((($30)) + 16|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$0>>2] = $32; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - } - $33 = HEAP32[$pAggInfo>>2]|0; - $34 = ((($33)) + 1|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)!=(0); - if ($36) { - $37 = HEAP32[$v>>2]|0; - $38 = HEAP32[$pAggInfo>>2]|0; - $39 = ((($38)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$pCol>>2]|0; - $42 = ((($41)) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($37,96,$40,$43,$44)|0); - $45 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $45; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - } else { - label = 11; - } - break; - } - case 152: { - label = 11; - break; - } - case 134: { - $80 = HEAP32[$1>>2]|0; - $81 = HEAP32[$2>>2]|0; - $82 = HEAP32[$3>>2]|0; - _codeInteger($80,$81,0,$82); - $83 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $83; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 132: { - $84 = HEAP32[$v>>2]|0; - $85 = HEAP32[$2>>2]|0; - $86 = ((($85)) + 8|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$3>>2]|0; - _codeReal($84,$87,0,$88); - $89 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $89; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 97: { - $90 = HEAP32[$v>>2]|0; - $91 = HEAP32[$3>>2]|0; - $92 = HEAP32[$2>>2]|0; - $93 = ((($92)) + 8|0); - $94 = HEAP32[$93>>2]|0; - (_sqlite3VdbeLoadString($90,$91,$94)|0); - $95 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $95; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 101: { - $96 = HEAP32[$v>>2]|0; - $97 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($96,79,0,$97)|0); - $98 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $98; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 133: { - $99 = HEAP32[$2>>2]|0; - $100 = ((($99)) + 8|0); - $101 = HEAP32[$100>>2]|0; - $102 = ((($101)) + 2|0); - HEAP32[$z>>2] = $102; - $103 = HEAP32[$z>>2]|0; - $104 = (_sqlite3Strlen30($103)|0); - $105 = (($104) - 1)|0; - HEAP32[$n>>2] = $105; - $106 = HEAP32[$v>>2]|0; - $107 = (_sqlite3VdbeDb($106)|0); - $108 = HEAP32[$z>>2]|0; - $109 = HEAP32[$n>>2]|0; - $110 = (_sqlite3HexToBlob($107,$108,$109)|0); - HEAP32[$zBlob>>2] = $110; - $111 = HEAP32[$v>>2]|0; - $112 = HEAP32[$n>>2]|0; - $113 = (($112|0) / 2)&-1; - $114 = HEAP32[$3>>2]|0; - $115 = HEAP32[$zBlob>>2]|0; - (_sqlite3VdbeAddOp4($111,81,$113,$114,0,$115,-1)|0); - $116 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $116; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 135: { - $117 = HEAP32[$v>>2]|0; - $118 = HEAP32[$2>>2]|0; - $119 = ((($118)) + 32|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120 << 16 >> 16; - $122 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($117,82,$121,$122)|0); - $123 = HEAP32[$2>>2]|0; - $124 = ((($123)) + 8|0); - $125 = HEAP32[$124>>2]|0; - $126 = ((($125)) + 1|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127 << 24 >> 24; - $129 = ($128|0)!=(0); - if ($129) { - $130 = HEAP32[$v>>2]|0; - $131 = HEAP32[$2>>2]|0; - $132 = ((($131)) + 32|0); - $133 = HEAP16[$132>>1]|0; - $134 = $133 << 16 >> 16; - $135 = (($134) - 1)|0; - $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 428|0); - $138 = HEAP32[$137>>2]|0; - $139 = (($138) + ($135<<2)|0); - $140 = HEAP32[$139>>2]|0; - _sqlite3VdbeChangeP4($130,-1,$140,-2); - } - $141 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $141; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 157: { - $142 = HEAP32[$2>>2]|0; - $143 = ((($142)) + 28|0); - $144 = HEAP32[$143>>2]|0; - HEAP32[$0>>2] = $144; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 66: { - $145 = HEAP32[$1>>2]|0; - $146 = HEAP32[$2>>2]|0; - $147 = ((($146)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = HEAP32[$3>>2]|0; - $150 = (_sqlite3ExprCodeTarget($145,$148,$149)|0); - HEAP32[$inReg>>2] = $150; - $151 = HEAP32[$inReg>>2]|0; - $152 = HEAP32[$3>>2]|0; - $153 = ($151|0)!=($152|0); - if ($153) { - $154 = HEAP32[$v>>2]|0; - $155 = HEAP32[$inReg>>2]|0; - $156 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($154,85,$155,$156)|0); - $157 = HEAP32[$3>>2]|0; - HEAP32[$inReg>>2] = $157; - } - $158 = HEAP32[$v>>2]|0; - $159 = HEAP32[$3>>2]|0; - $160 = HEAP32[$2>>2]|0; - $161 = ((($160)) + 8|0); - $162 = HEAP32[$161>>2]|0; - $163 = (_sqlite3AffinityType($162,0)|0); - $164 = $163 << 24 >> 24; - (_sqlite3VdbeAddOp2($158,93,$159,$164)|0); - $165 = HEAP32[$1>>2]|0; - $166 = HEAP32[$inReg>>2]|0; - _sqlite3ExprCacheAffinityChange($165,$166,1); - $167 = HEAP32[$inReg>>2]|0; - HEAP32[$0>>2] = $167; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 148: case 29: { - $168 = HEAP32[$op>>2]|0; - $169 = ($168|0)==(29); - $170 = $169 ? 37 : 36; - HEAP32[$op>>2] = $170; - HEAP32[$p5>>2] = 128; - label = 29; - break; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = HEAP32[$7>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15>>>0)>(0); + $17 = HEAP32[$10>>2]|0; + $18 = ((($17)) + 148|0); + if ($16) { + $19 = ((($18)) + 5|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)!=(0); + if ($21) { + $22 = HEAP32[$5>>2]|0; + _sqlite3ErrorMsg($22,30111,$vararg_buffer); + HEAP32[$4>>2] = -1; + $38 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($38|0); } - case 37: case 36: case 41: case 38: case 39: case 40: { - label = 29; - break; + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$8>>2]|0; + HEAP32[$24>>2] = $23; + $25 = HEAP32[$10>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = (_sqlite3FindDb($25,$26)|0); + HEAP32[$9>>2] = $27; + $28 = HEAP32[$9>>2]|0; + $29 = ($28|0)<(0); + if ($29) { + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer1>>2] = $31; + _sqlite3ErrorMsg($30,30128,$vararg_buffer1); + HEAP32[$4>>2] = -1; + $38 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($38|0); } - case 52: case 46: case 45: case 50: case 44: case 43: case 51: case 48: case 49: case 47: case 27: case 28: { - $202 = HEAP32[$1>>2]|0; - $203 = HEAP32[$2>>2]|0; - $204 = ((($203)) + 12|0); - $205 = HEAP32[$204>>2]|0; - $206 = (_sqlite3ExprCodeTemp($202,$205,$regFree1)|0); - HEAP32[$r1>>2] = $206; - $207 = HEAP32[$1>>2]|0; - $208 = HEAP32[$2>>2]|0; - $209 = ((($208)) + 16|0); - $210 = HEAP32[$209>>2]|0; - $211 = (_sqlite3ExprCodeTemp($207,$210,$regFree2)|0); - HEAP32[$r2>>2] = $211; - $212 = HEAP32[$v>>2]|0; - $213 = HEAP32[$op>>2]|0; - $214 = HEAP32[$r2>>2]|0; - $215 = HEAP32[$r1>>2]|0; - $216 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($212,$213,$214,$215,$216)|0); + } else { + $32 = ((($18)) + 4|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + HEAP32[$9>>2] = $34; + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$8>>2]|0; + HEAP32[$36>>2] = $35; + } + $37 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $37; + $38 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($38|0); +} +function _openStatTable($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $5 = sp + 84|0; + $6 = sp + 80|0; + $7 = sp + 76|0; + $8 = sp + 72|0; + $9 = sp + 68|0; + $10 = sp + 64|0; + $11 = sp + 60|0; + $12 = sp + 56|0; + $13 = sp + 52|0; + $14 = sp + 40|0; + $15 = sp + 88|0; + $16 = sp + 36|0; + $17 = sp + 32|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$11>>2] = $19; + $20 = HEAP32[$5>>2]|0; + $21 = (_sqlite3GetVdbe($20)|0); + HEAP32[$13>>2] = $21; + $22 = HEAP32[$13>>2]|0; + $23 = ($22|0)==(0|0); + if ($23) { + STACKTOP = sp;return; + } + $24 = HEAP32[$11>>2]|0; + $25 = ((($24)) + 16|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = (($26) + ($27<<4)|0); + HEAP32[$12>>2] = $28; + HEAP32[$10>>2] = 0; + while(1) { + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)<(3); + if (!($30)) { break; } - case 155: { - $217 = HEAP32[$2>>2]|0; - $218 = ((($217)) + 12|0); - $219 = HEAP32[$218>>2]|0; - HEAP32[$pLeft1>>2] = $219; - $220 = HEAP32[$pLeft1>>2]|0; - $221 = HEAP8[$220>>0]|0; - $222 = $221&255; - $223 = ($222|0)==(134); - if ($223) { - $224 = HEAP32[$1>>2]|0; - $225 = HEAP32[$pLeft1>>2]|0; - $226 = HEAP32[$3>>2]|0; - _codeInteger($224,$225,1,$226); - $227 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $227; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - } - $228 = HEAP32[$pLeft1>>2]|0; - $229 = HEAP8[$228>>0]|0; - $230 = $229&255; - $231 = ($230|0)==(132); - if (!($231)) { - HEAP8[$tempX>>0] = -122; - $238 = ((($tempX)) + 4|0); - HEAP32[$238>>2] = 17408; - $239 = ((($tempX)) + 8|0); - HEAP32[$239>>2] = 0; - $240 = HEAP32[$1>>2]|0; - $241 = (_sqlite3ExprCodeTemp($240,$tempX,$regFree1)|0); - HEAP32[$r1>>2] = $241; - $242 = HEAP32[$1>>2]|0; - $243 = HEAP32[$2>>2]|0; - $244 = ((($243)) + 12|0); - $245 = HEAP32[$244>>2]|0; - $246 = (_sqlite3ExprCodeTemp($242,$245,$regFree2)|0); - HEAP32[$r2>>2] = $246; - $247 = HEAP32[$v>>2]|0; - $248 = HEAP32[$r2>>2]|0; - $249 = HEAP32[$r1>>2]|0; - $250 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($247,48,$248,$249,$250)|0); - break L9; + $31 = HEAP32[$10>>2]|0; + $32 = (4352 + ($31<<3)|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$16>>2] = $33; + $34 = HEAP32[$11>>2]|0; + $35 = HEAP32[$16>>2]|0; + $36 = HEAP32[$12>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = (_sqlite3FindTable($34,$35,$37)|0); + HEAP32[$17>>2] = $38; + $39 = ($38|0)==(0|0); + do { + if ($39) { + $40 = HEAP32[$10>>2]|0; + $41 = (4352 + ($40<<3)|0); + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)!=(0|0); + if ($44) { + $45 = HEAP32[$5>>2]|0; + $46 = HEAP32[$12>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$16>>2]|0; + $49 = HEAP32[$10>>2]|0; + $50 = (4352 + ($49<<3)|0); + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$vararg_buffer>>2] = $47; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $48; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $52; + _sqlite3NestedParse($45,30209,$vararg_buffer); + $53 = HEAP32[$5>>2]|0; + $54 = ((($53)) + 104|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$10>>2]|0; + $57 = (($14) + ($56<<2)|0); + HEAP32[$57>>2] = $55; + $58 = HEAP32[$10>>2]|0; + $59 = (($15) + ($58)|0); + HEAP8[$59>>0] = 16; + } + } else { + $60 = HEAP32[$17>>2]|0; + $61 = ((($60)) + 28|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$10>>2]|0; + $64 = (($14) + ($63<<2)|0); + HEAP32[$64>>2] = $62; + $65 = HEAP32[$10>>2]|0; + $66 = (($15) + ($65)|0); + HEAP8[$66>>0] = 0; + $67 = HEAP32[$5>>2]|0; + $68 = HEAP32[$6>>2]|0; + $69 = HEAP32[$10>>2]|0; + $70 = (($14) + ($69<<2)|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$16>>2]|0; + _sqlite3TableLock($67,$68,$71,1,$72); + $73 = HEAP32[$8>>2]|0; + $74 = ($73|0)!=(0|0); + if ($74) { + $75 = HEAP32[$5>>2]|0; + $76 = HEAP32[$12>>2]|0; + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$16>>2]|0; + $79 = HEAP32[$9>>2]|0; + $80 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer3>>2] = $77; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $78; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $79; + $vararg_ptr8 = ((($vararg_buffer3)) + 12|0); + HEAP32[$vararg_ptr8>>2] = $80; + _sqlite3NestedParse($75,30232,$vararg_buffer3); + break; + } else { + $81 = HEAP32[$13>>2]|0; + $82 = HEAP32[$10>>2]|0; + $83 = (($14) + ($82<<2)|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($81,131,$84,$85)|0); + break; + } } - $232 = HEAP32[$v>>2]|0; - $233 = HEAP32[$pLeft1>>2]|0; - $234 = ((($233)) + 8|0); - $235 = HEAP32[$234>>2]|0; - $236 = HEAP32[$3>>2]|0; - _codeReal($232,$235,1,$236); - $237 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $237; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 19: case 54: { - $251 = HEAP32[$1>>2]|0; - $252 = HEAP32[$2>>2]|0; - $253 = ((($252)) + 12|0); - $254 = HEAP32[$253>>2]|0; - $255 = (_sqlite3ExprCodeTemp($251,$254,$regFree1)|0); - HEAP32[$r1>>2] = $255; - $256 = HEAP32[$v>>2]|0; - $257 = HEAP32[$op>>2]|0; - $258 = HEAP32[$r1>>2]|0; - $259 = HEAP32[$inReg>>2]|0; - (_sqlite3VdbeAddOp2($256,$257,$258,$259)|0); + } while(0); + $86 = HEAP32[$10>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$10>>2] = $87; + } + HEAP32[$10>>2] = 0; + while(1) { + $88 = HEAP32[$10>>2]|0; + $89 = (4352 + ($88<<3)|0); + $90 = ((($89)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)!=(0|0); + if (!($92)) { break; } - case 35: case 34: { - $260 = HEAP32[$v>>2]|0; - $261 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($260,76,1,$261)|0); - $262 = HEAP32[$1>>2]|0; - $263 = HEAP32[$2>>2]|0; - $264 = ((($263)) + 12|0); - $265 = HEAP32[$264>>2]|0; - $266 = (_sqlite3ExprCodeTemp($262,$265,$regFree1)|0); - HEAP32[$r1>>2] = $266; - $267 = HEAP32[$v>>2]|0; - $268 = HEAP32[$op>>2]|0; - $269 = HEAP32[$r1>>2]|0; - $270 = (_sqlite3VdbeAddOp1($267,$268,$269)|0); - HEAP32[$addr>>2] = $270; - $271 = HEAP32[$v>>2]|0; - $272 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($271,76,0,$272)|0); - $273 = HEAP32[$v>>2]|0; - $274 = HEAP32[$addr>>2]|0; - _sqlite3VdbeJumpHere($273,$274); + $93 = HEAP32[$13>>2]|0; + $94 = HEAP32[$7>>2]|0; + $95 = HEAP32[$10>>2]|0; + $96 = (($94) + ($95))|0; + $97 = HEAP32[$10>>2]|0; + $98 = (($14) + ($97<<2)|0); + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp4Int($93,105,$96,$99,$100,3)|0); + $101 = HEAP32[$13>>2]|0; + $102 = HEAP32[$10>>2]|0; + $103 = (($15) + ($102)|0); + $104 = HEAP8[$103>>0]|0; + _sqlite3VdbeChangeP5($101,$104); + $105 = HEAP32[$10>>2]|0; + $106 = (($105) + 1)|0; + HEAP32[$10>>2] = $106; + } + STACKTOP = sp;return; +} +function _analyzeOneTable($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $6 = sp + 116|0; + $7 = sp + 112|0; + $8 = sp + 108|0; + $9 = sp + 104|0; + $10 = sp + 100|0; + $11 = sp + 96|0; + $12 = sp + 92|0; + $13 = sp + 88|0; + $14 = sp + 84|0; + $15 = sp + 80|0; + $16 = sp + 76|0; + $17 = sp + 72|0; + $18 = sp + 68|0; + $19 = sp + 64|0; + $20 = sp + 120|0; + $21 = sp + 60|0; + $22 = sp + 56|0; + $23 = sp + 52|0; + $24 = sp + 48|0; + $25 = sp + 44|0; + $26 = sp + 40|0; + $27 = sp + 36|0; + $28 = sp + 32|0; + $29 = sp + 28|0; + $30 = sp + 24|0; + $31 = sp + 20|0; + $32 = sp + 16|0; + $33 = sp + 12|0; + $34 = sp + 8|0; + $35 = sp + 4|0; + $36 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$37>>2]|0; + HEAP32[$12>>2] = $38; + HEAP32[$18>>2] = -1; + HEAP8[$20>>0] = 1; + $39 = HEAP32[$10>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$10>>2] = $40; + HEAP32[$21>>2] = $39; + $41 = HEAP32[$10>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$10>>2] = $42; + HEAP32[$22>>2] = $41; + $43 = HEAP32[$10>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$10>>2] = $44; + HEAP32[$23>>2] = $43; + $45 = HEAP32[$10>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$10>>2] = $46; + HEAP32[$24>>2] = $45; + $47 = HEAP32[$10>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$10>>2] = $48; + HEAP32[$25>>2] = $47; + $49 = HEAP32[$10>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$10>>2] = $50; + HEAP32[$26>>2] = $49; + $51 = HEAP32[$10>>2]|0; + $52 = (($51) + 1)|0; + HEAP32[$10>>2] = $52; + HEAP32[$27>>2] = $51; + $53 = HEAP32[$10>>2]|0; + HEAP32[$28>>2] = $53; + $54 = HEAP32[$6>>2]|0; + $55 = ((($54)) + 44|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$10>>2]|0; + $58 = ($56|0)>($57|0); + if ($58) { + $59 = HEAP32[$6>>2]|0; + $60 = ((($59)) + 44|0); + $61 = HEAP32[$60>>2]|0; + $65 = $61; + } else { + $62 = HEAP32[$10>>2]|0; + $65 = $62; + } + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 44|0); + HEAP32[$64>>2] = $65; + $66 = HEAP32[$6>>2]|0; + $67 = (_sqlite3GetVdbe($66)|0); + HEAP32[$16>>2] = $67; + $68 = HEAP32[$16>>2]|0; + $69 = ($68|0)==(0|0); + $70 = HEAP32[$7>>2]|0; + $71 = ($70|0)==(0|0); + $or$cond = $69 | $71; + if ($or$cond) { + STACKTOP = sp;return; + } + $72 = HEAP32[$7>>2]|0; + $73 = ((($72)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0); + if ($75) { + STACKTOP = sp;return; + } + $76 = HEAP32[$7>>2]|0; + $77 = HEAP32[$76>>2]|0; + $78 = (_sqlite3_strlike(30156,$77,0)|0); + $79 = ($78|0)==(0); + if ($79) { + STACKTOP = sp;return; + } + $80 = HEAP32[$12>>2]|0; + $81 = HEAP32[$7>>2]|0; + $82 = ((($81)) + 64|0); + $83 = HEAP32[$82>>2]|0; + $84 = (_sqlite3SchemaToIndex($80,$83)|0); + HEAP32[$19>>2] = $84; + $85 = HEAP32[$6>>2]|0; + $86 = HEAP32[$7>>2]|0; + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$12>>2]|0; + $89 = ((($88)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$19>>2]|0; + $92 = (($90) + ($91<<4)|0); + $93 = HEAP32[$92>>2]|0; + $94 = (_sqlite3AuthCheck($85,28,$87,0,$93)|0); + $95 = ($94|0)!=(0); + if ($95) { + STACKTOP = sp;return; + } + $96 = HEAP32[$6>>2]|0; + $97 = HEAP32[$19>>2]|0; + $98 = HEAP32[$7>>2]|0; + $99 = ((($98)) + 28|0); + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$7>>2]|0; + $102 = HEAP32[$101>>2]|0; + _sqlite3TableLock($96,$97,$100,0,$102); + $103 = HEAP32[$11>>2]|0; + $104 = (($103) + 1)|0; + HEAP32[$11>>2] = $104; + HEAP32[$15>>2] = $103; + $105 = HEAP32[$11>>2]|0; + $106 = (($105) + 1)|0; + HEAP32[$11>>2] = $106; + HEAP32[$14>>2] = $105; + $107 = HEAP32[$6>>2]|0; + $108 = ((($107)) + 40|0); + $109 = HEAP32[$108>>2]|0; + $110 = HEAP32[$11>>2]|0; + $111 = ($109|0)>($110|0); + if ($111) { + $112 = HEAP32[$6>>2]|0; + $113 = ((($112)) + 40|0); + $114 = HEAP32[$113>>2]|0; + $118 = $114; + } else { + $115 = HEAP32[$11>>2]|0; + $118 = $115; + } + $116 = HEAP32[$6>>2]|0; + $117 = ((($116)) + 40|0); + HEAP32[$117>>2] = $118; + $119 = HEAP32[$6>>2]|0; + $120 = HEAP32[$15>>2]|0; + $121 = HEAP32[$19>>2]|0; + $122 = HEAP32[$7>>2]|0; + _sqlite3OpenTable($119,$120,$121,$122,104); + $123 = HEAP32[$16>>2]|0; + $124 = HEAP32[$25>>2]|0; + $125 = HEAP32[$7>>2]|0; + $126 = HEAP32[$125>>2]|0; + (_sqlite3VdbeLoadString($123,$124,$126)|0); + $127 = HEAP32[$7>>2]|0; + $128 = ((($127)) + 8|0); + $129 = HEAP32[$128>>2]|0; + HEAP32[$13>>2] = $129; + while(1) { + $130 = HEAP32[$13>>2]|0; + $131 = ($130|0)!=(0|0); + $132 = HEAP32[$8>>2]|0; + if (!($131)) { break; } - case 153: { - $275 = HEAP32[$2>>2]|0; - $276 = ((($275)) + 40|0); - $277 = HEAP32[$276>>2]|0; - HEAP32[$pInfo>>2] = $277; - $278 = HEAP32[$pInfo>>2]|0; - $279 = ($278|0)==(0|0); - if ($279) { - $280 = HEAP32[$1>>2]|0; - $281 = HEAP32[$2>>2]|0; - $282 = ((($281)) + 8|0); - $283 = HEAP32[$282>>2]|0; - HEAP32[$vararg_buffer>>2] = $283; - _sqlite3ErrorMsg($280,31067,$vararg_buffer); - break L9; + $133 = ($132|0)!=(0|0); + if ($133) { + $134 = HEAP32[$8>>2]|0; + $135 = HEAP32[$13>>2]|0; + $136 = ($134|0)!=($135|0); + if (!($136)) { + label = 15; } - $284 = HEAP32[$2>>2]|0; - $285 = ((($284)) + 34|0); - $286 = HEAP16[$285>>1]|0; - $287 = $286 << 16 >> 16; - $288 = HEAP32[$pInfo>>2]|0; - $289 = ((($288)) + 40|0); - $290 = HEAP32[$289>>2]|0; - $291 = (($290) + ($287<<4)|0); - $292 = ((($291)) + 8|0); - $293 = HEAP32[$292>>2]|0; - HEAP32[$0>>2] = $293; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; + } else { + label = 15; } - case 151: { - HEAP32[$constMask>>2] = 0; - $294 = HEAP32[$1>>2]|0; - $295 = HEAP32[$294>>2]|0; - HEAP32[$db>>2] = $295; - $296 = HEAP32[$db>>2]|0; - $297 = ((($296)) + 66|0); - $298 = HEAP8[$297>>0]|0; - HEAP8[$enc>>0] = $298; - HEAP32[$pColl>>2] = 0; - $299 = HEAP32[$2>>2]|0; - $300 = ((($299)) + 4|0); - $301 = HEAP32[$300>>2]|0; - $302 = $301 & 16384; - $303 = ($302|0)!=(0); - if ($303) { - HEAP32[$pFarg>>2] = 0; - } else { - $304 = HEAP32[$2>>2]|0; - $305 = ((($304)) + 20|0); - $306 = HEAP32[$305>>2]|0; - HEAP32[$pFarg>>2] = $306; - } - $307 = HEAP32[$pFarg>>2]|0; - $308 = ($307|0)!=(0|0); - if ($308) { - $309 = HEAP32[$pFarg>>2]|0; - $310 = HEAP32[$309>>2]|0; - $311 = $310; - } else { - $311 = 0; - } - HEAP32[$nFarg>>2] = $311; - $312 = HEAP32[$2>>2]|0; - $313 = ((($312)) + 8|0); - $314 = HEAP32[$313>>2]|0; - HEAP32[$zId>>2] = $314; - $315 = HEAP32[$db>>2]|0; - $316 = HEAP32[$zId>>2]|0; - $317 = HEAP32[$nFarg>>2]|0; - $318 = HEAP8[$enc>>0]|0; - $319 = (_sqlite3FindFunction($315,$316,$317,$318,0)|0); - HEAP32[$pDef>>2] = $319; - $320 = HEAP32[$pDef>>2]|0; - $321 = ($320|0)==(0|0); - if (!($321)) { - $322 = HEAP32[$pDef>>2]|0; - $323 = ((($322)) + 16|0); - $324 = HEAP32[$323>>2]|0; - $325 = ($324|0)!=(0|0); - if (!($325)) { - $328 = HEAP32[$pDef>>2]|0; - $329 = ((($328)) + 2|0); - $330 = HEAP16[$329>>1]|0; - $331 = $330&65535; - $332 = $331 & 512; - $333 = ($332|0)!=(0); - if ($333) { - $334 = HEAP32[$v>>2]|0; - $335 = (_sqlite3VdbeMakeLabel($334)|0); - HEAP32[$endCoalesce>>2] = $335; - $336 = HEAP32[$1>>2]|0; - $337 = HEAP32[$pFarg>>2]|0; - $338 = ((($337)) + 4|0); - $339 = HEAP32[$338>>2]|0; - $340 = HEAP32[$339>>2]|0; - $341 = HEAP32[$3>>2]|0; - _sqlite3ExprCode($336,$340,$341); - HEAP32[$i>>2] = 1; - while(1) { - $342 = HEAP32[$i>>2]|0; - $343 = HEAP32[$nFarg>>2]|0; - $344 = ($342|0)<($343|0); - $345 = HEAP32[$v>>2]|0; - if (!($344)) { - break; - } - $346 = HEAP32[$3>>2]|0; - $347 = HEAP32[$endCoalesce>>2]|0; - (_sqlite3VdbeAddOp2($345,35,$346,$347)|0); - $348 = HEAP32[$1>>2]|0; - $349 = HEAP32[$3>>2]|0; - _sqlite3ExprCacheRemove($348,$349,1); - $350 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($350); - $351 = HEAP32[$1>>2]|0; - $352 = HEAP32[$i>>2]|0; - $353 = HEAP32[$pFarg>>2]|0; - $354 = ((($353)) + 4|0); - $355 = HEAP32[$354>>2]|0; - $356 = (($355) + (($352*20)|0)|0); - $357 = HEAP32[$356>>2]|0; - $358 = HEAP32[$3>>2]|0; - _sqlite3ExprCode($351,$357,$358); - $359 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($359); - $360 = HEAP32[$i>>2]|0; - $361 = (($360) + 1)|0; - HEAP32[$i>>2] = $361; - } - $362 = HEAP32[$endCoalesce>>2]|0; - _sqlite3VdbeResolveLabel($345,$362); - break L9; - } - $363 = HEAP32[$pDef>>2]|0; - $364 = ((($363)) + 2|0); - $365 = HEAP16[$364>>1]|0; - $366 = $365&65535; - $367 = $366 & 1024; - $368 = ($367|0)!=(0); - if ($368) { - $369 = HEAP32[$1>>2]|0; - $370 = HEAP32[$pFarg>>2]|0; - $371 = ((($370)) + 4|0); - $372 = HEAP32[$371>>2]|0; - $373 = HEAP32[$372>>2]|0; - $374 = HEAP32[$3>>2]|0; - $375 = (_sqlite3ExprCodeTarget($369,$373,$374)|0); - HEAP32[$0>>2] = $375; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $376 = HEAP32[$i>>2]|0; - $377 = HEAP32[$nFarg>>2]|0; - $378 = ($376|0)<($377|0); - if (!($378)) { - break; - } - $379 = HEAP32[$i>>2]|0; - $380 = ($379|0)<(32); - if ($380) { - $381 = HEAP32[$i>>2]|0; - $382 = HEAP32[$pFarg>>2]|0; - $383 = ((($382)) + 4|0); - $384 = HEAP32[$383>>2]|0; - $385 = (($384) + (($381*20)|0)|0); - $386 = HEAP32[$385>>2]|0; - $387 = (_sqlite3ExprIsConstant($386)|0); - $388 = ($387|0)!=(0); - if ($388) { - $389 = HEAP32[$i>>2]|0; - $390 = 1 << $389; - $391 = HEAP32[$constMask>>2]|0; - $392 = $391 | $390; - HEAP32[$constMask>>2] = $392; - } - } - $393 = HEAP32[$pDef>>2]|0; - $394 = ((($393)) + 2|0); - $395 = HEAP16[$394>>1]|0; - $396 = $395&65535; - $397 = $396 & 32; - $398 = ($397|0)==(0); - $399 = HEAP32[$pColl>>2]|0; - $400 = ($399|0)!=(0|0); - $or$cond = $398 | $400; - if (!($or$cond)) { - $401 = HEAP32[$1>>2]|0; - $402 = HEAP32[$i>>2]|0; - $403 = HEAP32[$pFarg>>2]|0; - $404 = ((($403)) + 4|0); - $405 = HEAP32[$404>>2]|0; - $406 = (($405) + (($402*20)|0)|0); - $407 = HEAP32[$406>>2]|0; - $408 = (_sqlite3ExprCollSeq($401,$407)|0); - HEAP32[$pColl>>2] = $408; - } - $409 = HEAP32[$i>>2]|0; - $410 = (($409) + 1)|0; - HEAP32[$i>>2] = $410; - } - $411 = HEAP32[$pFarg>>2]|0; - $412 = ($411|0)!=(0|0); - if ($412) { - $413 = HEAP32[$constMask>>2]|0; - $414 = ($413|0)!=(0); - $415 = HEAP32[$1>>2]|0; - if ($414) { - $416 = ((($415)) + 44|0); - $417 = HEAP32[$416>>2]|0; - $418 = (($417) + 1)|0; - HEAP32[$r1>>2] = $418; - $419 = HEAP32[$nFarg>>2]|0; - $420 = HEAP32[$1>>2]|0; - $421 = ((($420)) + 44|0); - $422 = HEAP32[$421>>2]|0; - $423 = (($422) + ($419))|0; - HEAP32[$421>>2] = $423; - } else { - $424 = HEAP32[$nFarg>>2]|0; - $425 = (_sqlite3GetTempRange($415,$424)|0); - HEAP32[$r1>>2] = $425; - } - $426 = HEAP32[$pDef>>2]|0; - $427 = ((($426)) + 2|0); - $428 = HEAP16[$427>>1]|0; - $429 = $428&65535; - $430 = $429 & 192; - $431 = ($430|0)!=(0); - do { - if ($431) { - $432 = HEAP32[$pFarg>>2]|0; - $433 = ((($432)) + 4|0); - $434 = HEAP32[$433>>2]|0; - $435 = HEAP32[$434>>2]|0; - $436 = HEAP8[$435>>0]|0; - HEAP8[$exprOp>>0] = $436; - $437 = HEAP8[$exprOp>>0]|0; - $438 = $437&255; - $439 = ($438|0)==(152); - if (!($439)) { - $440 = HEAP8[$exprOp>>0]|0; - $441 = $440&255; - $442 = ($441|0)==(154); - if (!($442)) { - break; - } - } - $443 = HEAP32[$pDef>>2]|0; - $444 = ((($443)) + 2|0); - $445 = HEAP16[$444>>1]|0; - $446 = $445&65535; - $447 = $446 & 192; - $448 = $447&255; - $449 = HEAP32[$pFarg>>2]|0; - $450 = ((($449)) + 4|0); - $451 = HEAP32[$450>>2]|0; - $452 = HEAP32[$451>>2]|0; - $453 = ((($452)) + 38|0); - HEAP8[$453>>0] = $448; - } - } while(0); - $454 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($454); - $455 = HEAP32[$1>>2]|0; - $456 = HEAP32[$pFarg>>2]|0; - $457 = HEAP32[$r1>>2]|0; - (_sqlite3ExprCodeExprList($455,$456,$457,0,3)|0); - $458 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($458); - } else { - HEAP32[$r1>>2] = 0; - } - $459 = HEAP32[$nFarg>>2]|0; - $460 = ($459|0)>=(2); - if ($460) { - $461 = HEAP32[$2>>2]|0; - $462 = ((($461)) + 4|0); - $463 = HEAP32[$462>>2]|0; - $464 = $463 & 128; - $465 = ($464|0)!=(0); - if ($465) { - $466 = HEAP32[$db>>2]|0; - $467 = HEAP32[$pDef>>2]|0; - $468 = HEAP32[$nFarg>>2]|0; - $469 = HEAP32[$pFarg>>2]|0; - $470 = ((($469)) + 4|0); - $471 = HEAP32[$470>>2]|0; - $472 = ((($471)) + 20|0); - $473 = HEAP32[$472>>2]|0; - $474 = (_sqlite3VtabOverloadFunction($466,$467,$468,$473)|0); - HEAP32[$pDef>>2] = $474; - } else { - label = 79; - } + do { + if ((label|0) == 15) { + label = 0; + $137 = HEAP32[$13>>2]|0; + $138 = ((($137)) + 36|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0|0); + if ($140) { + HEAP8[$20>>0] = 0; + } + $141 = HEAP32[$7>>2]|0; + $142 = ((($141)) + 42|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $145 = $144 & 32; + $146 = ($145|0)==(0); + if ($146) { + label = 20; + } else { + $147 = HEAP32[$13>>2]|0; + $148 = ((($147)) + 55|0); + $149 = HEAP8[$148>>0]|0; + $150 = $149 & 3; + $151 = $150&255; + $152 = ($151|0)==(2); + if ($152) { + $153 = HEAP32[$13>>2]|0; + $154 = ((($153)) + 50|0); + $155 = HEAP16[$154>>1]|0; + $156 = $155&65535; + HEAP32[$29>>2] = $156; + $157 = HEAP32[$7>>2]|0; + $158 = HEAP32[$157>>2]|0; + HEAP32[$32>>2] = $158; + $159 = HEAP32[$29>>2]|0; + $160 = (($159) - 1)|0; + HEAP32[$33>>2] = $160; } else { - label = 79; - } - if ((label|0) == 79) { - $475 = HEAP32[$nFarg>>2]|0; - $476 = ($475|0)>(0); - if ($476) { - $477 = HEAP32[$db>>2]|0; - $478 = HEAP32[$pDef>>2]|0; - $479 = HEAP32[$nFarg>>2]|0; - $480 = HEAP32[$pFarg>>2]|0; - $481 = ((($480)) + 4|0); - $482 = HEAP32[$481>>2]|0; - $483 = HEAP32[$482>>2]|0; - $484 = (_sqlite3VtabOverloadFunction($477,$478,$479,$483)|0); - HEAP32[$pDef>>2] = $484; - } - } - $485 = HEAP32[$pDef>>2]|0; - $486 = ((($485)) + 2|0); - $487 = HEAP16[$486>>1]|0; - $488 = $487&65535; - $489 = $488 & 32; - $490 = ($489|0)!=(0); - if ($490) { - $491 = HEAP32[$pColl>>2]|0; - $492 = ($491|0)!=(0|0); - if (!($492)) { - $493 = HEAP32[$db>>2]|0; - $494 = ((($493)) + 8|0); - $495 = HEAP32[$494>>2]|0; - HEAP32[$pColl>>2] = $495; - } - $496 = HEAP32[$v>>2]|0; - $497 = HEAP32[$pColl>>2]|0; - (_sqlite3VdbeAddOp4($496,88,0,0,0,$497,-4)|0); - } - $498 = HEAP32[$v>>2]|0; - $499 = HEAP32[$constMask>>2]|0; - $500 = HEAP32[$r1>>2]|0; - $501 = HEAP32[$3>>2]|0; - $502 = HEAP32[$pDef>>2]|0; - (_sqlite3VdbeAddOp4($498,89,$499,$500,$501,$502,-5)|0); - $503 = HEAP32[$v>>2]|0; - $504 = HEAP32[$nFarg>>2]|0; - $505 = $504&255; - _sqlite3VdbeChangeP5($503,$505); - $506 = HEAP32[$nFarg>>2]|0; - $507 = ($506|0)!=(0); - $508 = HEAP32[$constMask>>2]|0; - $509 = ($508|0)==(0); - $or$cond3 = $507 & $509; - if ($or$cond3) { - $510 = HEAP32[$1>>2]|0; - $511 = HEAP32[$r1>>2]|0; - $512 = HEAP32[$nFarg>>2]|0; - _sqlite3ReleaseTempRange($510,$511,$512); + label = 20; } - $513 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $513; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - } - } - $326 = HEAP32[$1>>2]|0; - $327 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer4>>2] = $327; - _sqlite3ErrorMsg($326,31093,$vararg_buffer4); - break; - } - case 119: case 20: { - $514 = HEAP32[$op>>2]|0; - $515 = ($514|0)==(119); - if ($515) { - $516 = HEAP32[$2>>2]|0; - $517 = ((($516)) + 20|0); - $518 = HEAP32[$517>>2]|0; - $519 = HEAP32[$518>>2]|0; - $520 = HEAP32[$519>>2]|0; - HEAP32[$nCol>>2] = $520; - $521 = ($520|0)!=(1); - if ($521) { - $522 = HEAP32[$1>>2]|0; - $523 = HEAP32[$nCol>>2]|0; - _sqlite3SubselectError($522,$523,1); - break L9; - } - } - $524 = HEAP32[$1>>2]|0; - $525 = HEAP32[$2>>2]|0; - $526 = (_sqlite3CodeSubselect($524,$525,0,0)|0); - HEAP32[$0>>2] = $526; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 159: { - $527 = HEAP32[$2>>2]|0; - $528 = ((($527)) + 12|0); - $529 = HEAP32[$528>>2]|0; - $530 = ((($529)) + 28|0); - $531 = HEAP32[$530>>2]|0; - $532 = ($531|0)==(0); - if ($532) { - $533 = HEAP32[$1>>2]|0; - $534 = HEAP32[$2>>2]|0; - $535 = ((($534)) + 12|0); - $536 = HEAP32[$535>>2]|0; - $537 = (_sqlite3CodeSubselect($533,$536,0,0)|0); - $538 = HEAP32[$2>>2]|0; - $539 = ((($538)) + 12|0); - $540 = HEAP32[$539>>2]|0; - $541 = ((($540)) + 28|0); - HEAP32[$541>>2] = $537; - } - $542 = HEAP32[$2>>2]|0; - $543 = ((($542)) + 12|0); - $544 = HEAP32[$543>>2]|0; - $545 = ((($544)) + 28|0); - $546 = HEAP32[$545>>2]|0; - $547 = HEAP32[$2>>2]|0; - $548 = ((($547)) + 32|0); - $549 = HEAP16[$548>>1]|0; - $550 = $549 << 16 >> 16; - $551 = (($546) + ($550))|0; - HEAP32[$0>>2] = $551; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 33: { - $552 = HEAP32[$v>>2]|0; - $553 = (_sqlite3VdbeMakeLabel($552)|0); - HEAP32[$destIfFalse>>2] = $553; - $554 = HEAP32[$v>>2]|0; - $555 = (_sqlite3VdbeMakeLabel($554)|0); - HEAP32[$destIfNull>>2] = $555; - $556 = HEAP32[$v>>2]|0; - $557 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($556,79,0,$557)|0); - $558 = HEAP32[$1>>2]|0; - $559 = HEAP32[$2>>2]|0; - $560 = HEAP32[$destIfFalse>>2]|0; - $561 = HEAP32[$destIfNull>>2]|0; - _sqlite3ExprCodeIN($558,$559,$560,$561); - $562 = HEAP32[$v>>2]|0; - $563 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($562,76,1,$563)|0); - $564 = HEAP32[$v>>2]|0; - $565 = HEAP32[$destIfFalse>>2]|0; - _sqlite3VdbeResolveLabel($564,$565); - $566 = HEAP32[$v>>2]|0; - $567 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($566,91,$567,0)|0); - $568 = HEAP32[$v>>2]|0; - $569 = HEAP32[$destIfNull>>2]|0; - _sqlite3VdbeResolveLabel($568,$569); - $570 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $570; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 32: { - $571 = HEAP32[$1>>2]|0; - $572 = HEAP32[$2>>2]|0; - $573 = HEAP32[$3>>2]|0; - _exprCodeBetween($571,$572,$573,0,0); - $574 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $574; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 156: case 53: case 161: { - $575 = HEAP32[$1>>2]|0; - $576 = HEAP32[$2>>2]|0; - $577 = ((($576)) + 12|0); - $578 = HEAP32[$577>>2]|0; - $579 = HEAP32[$3>>2]|0; - $580 = (_sqlite3ExprCodeTarget($575,$578,$579)|0); - HEAP32[$0>>2] = $580; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - break; - } - case 88: { - $581 = HEAP32[$2>>2]|0; - $582 = ((($581)) + 44|0); - $583 = HEAP32[$582>>2]|0; - HEAP32[$pTab>>2] = $583; - $584 = HEAP32[$2>>2]|0; - $585 = ((($584)) + 28|0); - $586 = HEAP32[$585>>2]|0; - $587 = HEAP32[$pTab>>2]|0; - $588 = ((($587)) + 34|0); - $589 = HEAP16[$588>>1]|0; - $590 = $589 << 16 >> 16; - $591 = (($590) + 1)|0; - $592 = Math_imul($586, $591)|0; - $593 = (($592) + 1)|0; - $594 = HEAP32[$2>>2]|0; - $595 = ((($594)) + 32|0); - $596 = HEAP16[$595>>1]|0; - $597 = $596 << 16 >> 16; - $598 = (($593) + ($597))|0; - HEAP32[$p1>>2] = $598; - $599 = HEAP32[$v>>2]|0; - $600 = HEAP32[$p1>>2]|0; - $601 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($599,143,$600,$601)|0); - $602 = HEAP32[$2>>2]|0; - $603 = ((($602)) + 32|0); - $604 = HEAP16[$603>>1]|0; - $605 = $604 << 16 >> 16; - $606 = ($605|0)>=(0); - if ($606) { - $607 = HEAP32[$2>>2]|0; - $608 = ((($607)) + 32|0); - $609 = HEAP16[$608>>1]|0; - $610 = $609 << 16 >> 16; - $611 = HEAP32[$pTab>>2]|0; - $612 = ((($611)) + 4|0); - $613 = HEAP32[$612>>2]|0; - $614 = (($613) + ($610<<4)|0); - $615 = ((($614)) + 13|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616 << 24 >> 24; - $618 = ($617|0)==(69); - if ($618) { - $619 = HEAP32[$v>>2]|0; - $620 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp1($619,92,$620)|0); } - } - break; - } - case 158: { - $621 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($621,29838,$vararg_buffer7); - break; - } - case 83: { - $689 = HEAP32[$1>>2]|0; - $690 = ((($689)) + 128|0); - $691 = HEAP32[$690>>2]|0; - $692 = ($691|0)!=(0|0); - if (!($692)) { - $693 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($693,31116,$vararg_buffer9); - HEAP32[$0>>2] = 0; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - } - $694 = HEAP32[$2>>2]|0; - $695 = ((($694)) + 1|0); - $696 = HEAP8[$695>>0]|0; - $697 = $696 << 24 >> 24; - $698 = ($697|0)==(2); - if ($698) { - $699 = HEAP32[$1>>2]|0; - _sqlite3MayAbort($699); - } - $700 = HEAP32[$2>>2]|0; - $701 = ((($700)) + 1|0); - $702 = HEAP8[$701>>0]|0; - $703 = $702 << 24 >> 24; - $704 = ($703|0)==(4); - if ($704) { - $705 = HEAP32[$v>>2]|0; - $706 = HEAP32[$2>>2]|0; - $707 = ((($706)) + 8|0); - $708 = HEAP32[$707>>2]|0; - (_sqlite3VdbeAddOp4($705,75,0,4,0,$708,0)|0); - break L9; - } else { - $709 = HEAP32[$1>>2]|0; - $710 = HEAP32[$2>>2]|0; - $711 = ((($710)) + 1|0); - $712 = HEAP8[$711>>0]|0; - $713 = $712 << 24 >> 24; - $714 = HEAP32[$2>>2]|0; - $715 = ((($714)) + 8|0); - $716 = HEAP32[$715>>2]|0; - _sqlite3HaltConstraint($709,1811,$713,$716,0,0); - break L9; - } - break; - } - default: { - HEAP32[$pTest>>2] = 0; - $622 = HEAP32[$2>>2]|0; - $623 = ((($622)) + 20|0); - $624 = HEAP32[$623>>2]|0; - HEAP32[$pEList>>2] = $624; - $625 = HEAP32[$pEList>>2]|0; - $626 = ((($625)) + 4|0); - $627 = HEAP32[$626>>2]|0; - HEAP32[$aListelem>>2] = $627; - $628 = HEAP32[$pEList>>2]|0; - $629 = HEAP32[$628>>2]|0; - HEAP32[$nExpr>>2] = $629; - $630 = HEAP32[$v>>2]|0; - $631 = (_sqlite3VdbeMakeLabel($630)|0); - HEAP32[$endLabel>>2] = $631; - $632 = HEAP32[$2>>2]|0; - $633 = ((($632)) + 12|0); - $634 = HEAP32[$633>>2]|0; - HEAP32[$pX>>2] = $634; - $635 = ($634|0)!=(0|0); - if ($635) { - $636 = HEAP32[$pX>>2]|0; - dest=$tempX; src=$636; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $637 = HEAP32[$1>>2]|0; - $638 = (_exprCodeVector($637,$tempX,$regFree1)|0); - _exprToRegister($tempX,$638); - dest=$opCompare; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - HEAP8[$opCompare>>0] = 37; - $639 = ((($opCompare)) + 12|0); - HEAP32[$639>>2] = $tempX; - HEAP32[$pTest>>2] = $opCompare; - HEAP32[$regFree1>>2] = 0; - } - HEAP32[$i2>>2] = 0; - while(1) { - $640 = HEAP32[$i2>>2]|0; - $641 = HEAP32[$nExpr>>2]|0; - $642 = (($641) - 1)|0; - $643 = ($640|0)<($642|0); - if (!($643)) { - break; + if ((label|0) == 20) { + label = 0; + $161 = HEAP32[$13>>2]|0; + $162 = ((($161)) + 52|0); + $163 = HEAP16[$162>>1]|0; + $164 = $163&65535; + HEAP32[$29>>2] = $164; + $165 = HEAP32[$13>>2]|0; + $166 = HEAP32[$165>>2]|0; + HEAP32[$32>>2] = $166; + $167 = HEAP32[$13>>2]|0; + $168 = ((($167)) + 55|0); + $169 = HEAP8[$168>>0]|0; + $170 = ($169&255) >>> 3; + $171 = $170 & 1; + $172 = $171&255; + $173 = ($172|0)!=(0); + if ($173) { + $174 = HEAP32[$13>>2]|0; + $175 = ((($174)) + 50|0); + $176 = HEAP16[$175>>1]|0; + $177 = $176&65535; + $$sink = $177; + } else { + $178 = HEAP32[$29>>2]|0; + $$sink = $178; + } + $179 = (($$sink) - 1)|0; + HEAP32[$33>>2] = $179; } - $644 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($644); - $645 = HEAP32[$pX>>2]|0; - $646 = ($645|0)!=(0|0); - $647 = HEAP32[$i2>>2]|0; - $648 = HEAP32[$aListelem>>2]|0; - $649 = (($648) + (($647*20)|0)|0); - $650 = HEAP32[$649>>2]|0; - if ($646) { - $651 = ((($opCompare)) + 16|0); - HEAP32[$651>>2] = $650; + $180 = HEAP32[$16>>2]|0; + $181 = HEAP32[$26>>2]|0; + $182 = HEAP32[$32>>2]|0; + (_sqlite3VdbeLoadString($180,$181,$182)|0); + $183 = HEAP32[$6>>2]|0; + $184 = ((($183)) + 44|0); + $185 = HEAP32[$184>>2]|0; + $186 = HEAP32[$28>>2]|0; + $187 = HEAP32[$33>>2]|0; + $188 = (($186) + ($187))|0; + $189 = ($185|0)>($188|0); + if ($189) { + $190 = HEAP32[$6>>2]|0; + $191 = ((($190)) + 44|0); + $192 = HEAP32[$191>>2]|0; + $198 = $192; } else { - HEAP32[$pTest>>2] = $650; - } - $652 = HEAP32[$v>>2]|0; - $653 = (_sqlite3VdbeMakeLabel($652)|0); - HEAP32[$nextCase>>2] = $653; - $654 = HEAP32[$1>>2]|0; - $655 = HEAP32[$pTest>>2]|0; - $656 = HEAP32[$nextCase>>2]|0; - _sqlite3ExprIfFalse($654,$655,$656,16); - $657 = HEAP32[$1>>2]|0; - $658 = HEAP32[$i2>>2]|0; - $659 = (($658) + 1)|0; - $660 = HEAP32[$aListelem>>2]|0; - $661 = (($660) + (($659*20)|0)|0); - $662 = HEAP32[$661>>2]|0; - $663 = HEAP32[$3>>2]|0; - _sqlite3ExprCode($657,$662,$663); - $664 = HEAP32[$v>>2]|0; - $665 = HEAP32[$endLabel>>2]|0; - (_sqlite3VdbeGoto($664,$665)|0); - $666 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($666); - $667 = HEAP32[$v>>2]|0; - $668 = HEAP32[$nextCase>>2]|0; - _sqlite3VdbeResolveLabel($667,$668); - $669 = HEAP32[$i2>>2]|0; - $670 = (($669) + 2)|0; - HEAP32[$i2>>2] = $670; - } - $671 = HEAP32[$nExpr>>2]|0; - $672 = $671 & 1; - $673 = ($672|0)!=(0); - if ($673) { - $674 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($674); - $675 = HEAP32[$1>>2]|0; - $676 = HEAP32[$nExpr>>2]|0; - $677 = (($676) - 1)|0; - $678 = HEAP32[$pEList>>2]|0; - $679 = ((($678)) + 4|0); - $680 = HEAP32[$679>>2]|0; - $681 = (($680) + (($677*20)|0)|0); - $682 = HEAP32[$681>>2]|0; - $683 = HEAP32[$3>>2]|0; - _sqlite3ExprCode($675,$682,$683); - $684 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($684); - } else { - $685 = HEAP32[$v>>2]|0; - $686 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($685,79,0,$686)|0); - } - $687 = HEAP32[$v>>2]|0; - $688 = HEAP32[$endLabel>>2]|0; - _sqlite3VdbeResolveLabel($687,$688); - } - } - } while(0); - do { - if ((label|0) == 11) { - $46 = HEAP32[$2>>2]|0; - $47 = ((($46)) + 28|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$iTab>>2] = $48; - $49 = HEAP32[$iTab>>2]|0; - $50 = ($49|0)<(0); - do { - if ($50) { - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 56|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)>(0); - if (!($54)) { - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 60|0); - $65 = HEAP32[$64>>2]|0; - HEAP32[$iTab>>2] = $65; + $193 = HEAP32[$28>>2]|0; + $194 = HEAP32[$33>>2]|0; + $195 = (($193) + ($194))|0; + $198 = $195; + } + $196 = HEAP32[$6>>2]|0; + $197 = ((($196)) + 44|0); + HEAP32[$197>>2] = $198; + $199 = HEAP32[$16>>2]|0; + $200 = HEAP32[$14>>2]|0; + $201 = HEAP32[$13>>2]|0; + $202 = ((($201)) + 44|0); + $203 = HEAP32[$202>>2]|0; + $204 = HEAP32[$19>>2]|0; + (_sqlite3VdbeAddOp3($199,104,$200,$203,$204)|0); + $205 = HEAP32[$6>>2]|0; + $206 = HEAP32[$13>>2]|0; + _sqlite3VdbeSetP4KeyInfo($205,$206); + $207 = HEAP32[$16>>2]|0; + $208 = HEAP32[$29>>2]|0; + $209 = HEAP32[$22>>2]|0; + $210 = (($209) + 1)|0; + (_sqlite3VdbeAddOp2($207,76,$208,$210)|0); + $211 = HEAP32[$16>>2]|0; + $212 = HEAP32[$13>>2]|0; + $213 = ((($212)) + 50|0); + $214 = HEAP16[$213>>1]|0; + $215 = $214&65535; + $216 = HEAP32[$22>>2]|0; + $217 = (($216) + 2)|0; + (_sqlite3VdbeAddOp2($211,76,$215,$217)|0); + $218 = HEAP32[$16>>2]|0; + $219 = HEAP32[$22>>2]|0; + $220 = (($219) + 1)|0; + $221 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp4($218,89,0,$220,$221,4268,-5)|0); + $222 = HEAP32[$16>>2]|0; + _sqlite3VdbeChangeP5($222,2); + $223 = HEAP32[$16>>2]|0; + $224 = HEAP32[$14>>2]|0; + $225 = (_sqlite3VdbeAddOp1($223,57,$224)|0); + HEAP32[$30>>2] = $225; + $226 = HEAP32[$16>>2]|0; + $227 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp2($226,76,0,$227)|0); + $228 = HEAP32[$16>>2]|0; + $229 = (_sqlite3VdbeCurrentAddr($228)|0); + HEAP32[$31>>2] = $229; + $230 = HEAP32[$33>>2]|0; + $231 = ($230|0)>(0); + if ($231) { + $232 = HEAP32[$16>>2]|0; + $233 = (_sqlite3VdbeMakeLabel($232)|0); + HEAP32[$34>>2] = $233; + $234 = HEAP32[$12>>2]|0; + $235 = HEAP32[$33>>2]|0; + $236 = $235<<2; + $237 = (_sqlite3DbMallocRawNN($234,$236,0)|0); + HEAP32[$35>>2] = $237; + $238 = HEAP32[$35>>2]|0; + $239 = ($238|0)==(0|0); + if ($239) { break; } - $55 = HEAP32[$2>>2]|0; - $56 = ((($55)) + 32|0); - $57 = HEAP16[$56>>1]|0; - $58 = $57 << 16 >> 16; - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 56|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($58) + ($61))|0; - HEAP32[$0>>2] = $62; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); + $240 = HEAP32[$16>>2]|0; + (_sqlite3VdbeAddOp0($240,13)|0); + $241 = HEAP32[$16>>2]|0; + $242 = (_sqlite3VdbeCurrentAddr($241)|0); + HEAP32[$31>>2] = $242; + $243 = HEAP32[$33>>2]|0; + $244 = ($243|0)==(1); + if ($244) { + $245 = HEAP32[$13>>2]|0; + $246 = ((($245)) + 50|0); + $247 = HEAP16[$246>>1]|0; + $248 = $247&65535; + $249 = ($248|0)==(1); + if ($249) { + $250 = HEAP32[$13>>2]|0; + $251 = ((($250)) + 54|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = ($253|0)!=(0); + if ($254) { + $255 = HEAP32[$16>>2]|0; + $256 = HEAP32[$28>>2]|0; + $257 = HEAP32[$34>>2]|0; + (_sqlite3VdbeAddOp2($255,35,$256,$257)|0); + } + } + } + HEAP32[$17>>2] = 0; + while(1) { + $258 = HEAP32[$17>>2]|0; + $259 = HEAP32[$33>>2]|0; + $260 = ($258|0)<($259|0); + if (!($260)) { + break; + } + $261 = HEAP32[$6>>2]|0; + $262 = HEAP32[$13>>2]|0; + $263 = ((($262)) + 32|0); + $264 = HEAP32[$263>>2]|0; + $265 = HEAP32[$17>>2]|0; + $266 = (($264) + ($265<<2)|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_sqlite3LocateCollSeq($261,$267)|0); + HEAP32[$36>>2] = $268; + $269 = HEAP32[$16>>2]|0; + $270 = HEAP32[$17>>2]|0; + $271 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp2($269,76,$270,$271)|0); + $272 = HEAP32[$16>>2]|0; + $273 = HEAP32[$14>>2]|0; + $274 = HEAP32[$17>>2]|0; + $275 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp3($272,96,$273,$274,$275)|0); + $276 = HEAP32[$16>>2]|0; + $277 = HEAP32[$24>>2]|0; + $278 = HEAP32[$28>>2]|0; + $279 = HEAP32[$17>>2]|0; + $280 = (($278) + ($279))|0; + $281 = HEAP32[$36>>2]|0; + $282 = (_sqlite3VdbeAddOp4($276,36,$277,0,$280,$281,-4)|0); + $283 = HEAP32[$35>>2]|0; + $284 = HEAP32[$17>>2]|0; + $285 = (($283) + ($284<<2)|0); + HEAP32[$285>>2] = $282; + $286 = HEAP32[$16>>2]|0; + _sqlite3VdbeChangeP5($286,-128); + $287 = HEAP32[$17>>2]|0; + $288 = (($287) + 1)|0; + HEAP32[$17>>2] = $288; + } + $289 = HEAP32[$16>>2]|0; + $290 = HEAP32[$33>>2]|0; + $291 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp2($289,76,$290,$291)|0); + $292 = HEAP32[$16>>2]|0; + $293 = HEAP32[$34>>2]|0; + (_sqlite3VdbeGoto($292,$293)|0); + $294 = HEAP32[$16>>2]|0; + $295 = HEAP32[$31>>2]|0; + $296 = (($295) - 1)|0; + _sqlite3VdbeJumpHere($294,$296); + HEAP32[$17>>2] = 0; + while(1) { + $297 = HEAP32[$17>>2]|0; + $298 = HEAP32[$33>>2]|0; + $299 = ($297|0)<($298|0); + $300 = HEAP32[$16>>2]|0; + if (!($299)) { + break; + } + $301 = HEAP32[$35>>2]|0; + $302 = HEAP32[$17>>2]|0; + $303 = (($301) + ($302<<2)|0); + $304 = HEAP32[$303>>2]|0; + _sqlite3VdbeJumpHere($300,$304); + $305 = HEAP32[$16>>2]|0; + $306 = HEAP32[$14>>2]|0; + $307 = HEAP32[$17>>2]|0; + $308 = HEAP32[$28>>2]|0; + $309 = HEAP32[$17>>2]|0; + $310 = (($308) + ($309))|0; + (_sqlite3VdbeAddOp3($305,96,$306,$307,$310)|0); + $311 = HEAP32[$17>>2]|0; + $312 = (($311) + 1)|0; + HEAP32[$17>>2] = $312; + } + $313 = HEAP32[$34>>2]|0; + _sqlite3VdbeResolveLabel($300,$313); + $314 = HEAP32[$12>>2]|0; + $315 = HEAP32[$35>>2]|0; + _sqlite3DbFree($314,$315); } - } while(0); - $66 = HEAP32[$1>>2]|0; - $67 = HEAP32[$2>>2]|0; - $68 = ((($67)) + 44|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = ((($70)) + 32|0); - $72 = HEAP16[$71>>1]|0; - $73 = $72 << 16 >> 16; - $74 = HEAP32[$iTab>>2]|0; - $75 = HEAP32[$3>>2]|0; - $76 = HEAP32[$2>>2]|0; - $77 = ((($76)) + 38|0); - $78 = HEAP8[$77>>0]|0; - $79 = (_sqlite3ExprCodeGetColumn($66,$69,$73,$74,$75,$78)|0); - HEAP32[$0>>2] = $79; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); - } - else if ((label|0) == 29) { - $171 = HEAP32[$2>>2]|0; - $172 = ((($171)) + 12|0); - $173 = HEAP32[$172>>2]|0; - HEAP32[$pLeft>>2] = $173; - $174 = HEAP32[$pLeft>>2]|0; - $175 = (_sqlite3ExprIsVector($174)|0); - $176 = ($175|0)!=(0); - $177 = HEAP32[$1>>2]|0; - if ($176) { - $178 = HEAP32[$2>>2]|0; - $179 = HEAP32[$3>>2]|0; - $180 = HEAP32[$op>>2]|0; - $181 = $180&255; - $182 = HEAP32[$p5>>2]|0; - $183 = $182&255; - _codeVectorCompare($177,$178,$179,$181,$183); - break; - } else { - $184 = HEAP32[$pLeft>>2]|0; - $185 = (_sqlite3ExprCodeTemp($177,$184,$regFree1)|0); - HEAP32[$r1>>2] = $185; - $186 = HEAP32[$1>>2]|0; - $187 = HEAP32[$2>>2]|0; - $188 = ((($187)) + 16|0); - $189 = HEAP32[$188>>2]|0; - $190 = (_sqlite3ExprCodeTemp($186,$189,$regFree2)|0); - HEAP32[$r2>>2] = $190; - $191 = HEAP32[$1>>2]|0; - $192 = HEAP32[$pLeft>>2]|0; - $193 = HEAP32[$2>>2]|0; - $194 = ((($193)) + 16|0); - $195 = HEAP32[$194>>2]|0; - $196 = HEAP32[$op>>2]|0; - $197 = HEAP32[$r1>>2]|0; - $198 = HEAP32[$r2>>2]|0; - $199 = HEAP32[$inReg>>2]|0; - $200 = HEAP32[$p5>>2]|0; - $201 = 32 | $200; - (_codeCompare($191,$192,$195,$196,$197,$198,$199,$201)|0); - break; - } - } - } while(0); - $717 = HEAP32[$1>>2]|0; - $718 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($717,$718); - $719 = HEAP32[$1>>2]|0; - $720 = HEAP32[$regFree2>>2]|0; - _sqlite3ReleaseTempReg($719,$720); - $721 = HEAP32[$inReg>>2]|0; - HEAP32[$0>>2] = $721; - $722 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($722|0); -} -function _sqlite3ExprCodeGetColumn($pParse,$pTab,$iColumn,$iTable,$iReg,$p5) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $iColumn = $iColumn|0; - $iTable = $iTable|0; - $iReg = $iReg|0; - $p5 = $p5|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0; - var $i = 0, $p = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $6 = sp + 36|0; - $v = sp + 8|0; - $i = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTab; - HEAP32[$3>>2] = $iColumn; - HEAP32[$4>>2] = $iTable; - HEAP32[$5>>2] = $iReg; - HEAP8[$6>>0] = $p5; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$v>>2] = $9; - HEAP32[$i>>2] = 0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 152|0); - HEAP32[$p>>2] = $11; - while(1) { - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 25|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($12|0)<($16|0); - if (!($17)) { - break; - } - $18 = HEAP32[$p>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = ($19|0)==($20|0); - if ($21) { - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24 << 16 >> 16; - $26 = HEAP32[$3>>2]|0; - $27 = ($25|0)==($26|0); - if ($27) { - label = 5; - break; + $316 = HEAP32[$16>>2]|0; + $317 = HEAP32[$22>>2]|0; + $318 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp4($316,89,1,$317,$318,4296,-5)|0); + $319 = HEAP32[$16>>2]|0; + _sqlite3VdbeChangeP5($319,2); + $320 = HEAP32[$16>>2]|0; + $321 = HEAP32[$14>>2]|0; + $322 = HEAP32[$31>>2]|0; + (_sqlite3VdbeAddOp2($320,7,$321,$322)|0); + $323 = HEAP32[$16>>2]|0; + $324 = HEAP32[$22>>2]|0; + $325 = HEAP32[$27>>2]|0; + _callStatGet($323,$324,0,$325); + $326 = HEAP32[$16>>2]|0; + $327 = HEAP32[$25>>2]|0; + $328 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp4($326,99,$327,3,$328,30165,0)|0); + $329 = HEAP32[$16>>2]|0; + $330 = HEAP32[$9>>2]|0; + $331 = HEAP32[$21>>2]|0; + (_sqlite3VdbeAddOp2($329,114,$330,$331)|0); + $332 = HEAP32[$16>>2]|0; + $333 = HEAP32[$9>>2]|0; + $334 = HEAP32[$24>>2]|0; + $335 = HEAP32[$21>>2]|0; + (_sqlite3VdbeAddOp3($332,115,$333,$334,$335)|0); + $336 = HEAP32[$16>>2]|0; + _sqlite3VdbeChangeP5($336,8); + $337 = HEAP32[$16>>2]|0; + $338 = HEAP32[$30>>2]|0; + _sqlite3VdbeJumpHere($337,$338); } - } - $41 = HEAP32[$i>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$i>>2] = $42; - $43 = HEAP32[$p>>2]|0; - $44 = ((($43)) + 20|0); - HEAP32[$p>>2] = $44; - } - if ((label|0) == 5) { - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 68|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$29>>2] = $31; - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 16|0); - HEAP32[$33>>2] = $30; - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$p>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - _sqlite3ExprCachePinRegister($34,$37); - $38 = HEAP32[$p>>2]|0; - $39 = ((($38)) + 12|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$0>>2] = $40; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); - } - $45 = HEAP32[$v>>2]|0; - $46 = HEAP32[$2>>2]|0; - $47 = HEAP32[$4>>2]|0; - $48 = HEAP32[$3>>2]|0; - $49 = HEAP32[$5>>2]|0; - _sqlite3ExprCodeGetColumnOfTable($45,$46,$47,$48,$49); - $50 = HEAP8[$6>>0]|0; - $51 = ($50<<24>>24)!=(0); - if ($51) { - $52 = HEAP32[$v>>2]|0; - $53 = HEAP8[$6>>0]|0; - _sqlite3VdbeChangeP5($52,$53); - } else { - $54 = HEAP32[$1>>2]|0; - $55 = HEAP32[$4>>2]|0; - $56 = HEAP32[$3>>2]|0; - $57 = HEAP32[$5>>2]|0; - _sqlite3ExprCacheStore($54,$55,$56,$57); + } while(0); + $339 = HEAP32[$13>>2]|0; + $340 = ((($339)) + 20|0); + $341 = HEAP32[$340>>2]|0; + HEAP32[$13>>2] = $341; } - $58 = HEAP32[$5>>2]|0; - HEAP32[$0>>2] = $58; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); -} -function _codeInteger($pParse,$pExpr,$negFlag,$iMem) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $negFlag = $negFlag|0; - $iMem = $iMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0; - var $c = 0, $i = 0, $or$cond = 0, $v = 0, $value = 0, $vararg_buffer = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp + 8|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $v = sp + 24|0; - $i = sp + 20|0; - $c = sp + 16|0; - $value = sp; - $z = sp + 12|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $negFlag; - HEAP32[$3>>2] = $iMem; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$v>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9 & 1024; - $11 = ($10|0)!=(0); - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 8|0); - if ($11) { - $14 = HEAP32[$13>>2]|0; - HEAP32[$i>>2] = $14; - $15 = HEAP32[$2>>2]|0; - $16 = ($15|0)!=(0); - if ($16) { - $17 = HEAP32[$i>>2]|0; - $18 = (0 - ($17))|0; - HEAP32[$i>>2] = $18; - } - $19 = HEAP32[$v>>2]|0; - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($19,76,$20,$21)|0); + $342 = ($132|0)==(0|0); + if (!($342)) { STACKTOP = sp;return; } - $22 = HEAP32[$13>>2]|0; - HEAP32[$z>>2] = $22; - $23 = HEAP32[$z>>2]|0; - $24 = (_sqlite3DecOrHexToI64($23,$value)|0); - HEAP32[$c>>2] = $24; - $25 = HEAP32[$c>>2]|0; - $26 = ($25|0)==(0); - if (!($26)) { - $27 = HEAP32[$c>>2]|0; - $28 = ($27|0)==(2); - $29 = HEAP32[$2>>2]|0; - $30 = ($29|0)!=(0); - $or$cond = $28 & $30; - if (!($or$cond)) { - $51 = HEAP32[$z>>2]|0; - $52 = (_sqlite3_strnicmp($51,31290,2)|0); - $53 = ($52|0)==(0); - if ($53) { - $54 = HEAP32[$0>>2]|0; - $55 = HEAP32[$z>>2]|0; - HEAP32[$vararg_buffer>>2] = $55; - _sqlite3ErrorMsg($54,31293,$vararg_buffer); - STACKTOP = sp;return; - } else { - $56 = HEAP32[$v>>2]|0; - $57 = HEAP32[$z>>2]|0; - $58 = HEAP32[$2>>2]|0; - $59 = HEAP32[$3>>2]|0; - _codeReal($56,$57,$58,$59); - STACKTOP = sp;return; - } - } - } - $31 = HEAP32[$2>>2]|0; - $32 = ($31|0)!=(0); - if ($32) { - $33 = HEAP32[$c>>2]|0; - $34 = ($33|0)==(2); - $35 = $value; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (_i64Subtract(0,0,($37|0),($40|0))|0); - $42 = tempRet0; - $43 = $34 ? 0 : $41; - $44 = $34 ? -2147483648 : $42; - $45 = $value; - $46 = $45; - HEAP32[$46>>2] = $43; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $44; + $343 = HEAP8[$20>>0]|0; + $344 = $343&255; + $345 = ($344|0)!=(0); + if (!($345)) { + STACKTOP = sp;return; } - $49 = HEAP32[$v>>2]|0; - $50 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp4Dup8($49,77,0,$50,0,$value,-13)|0); + $346 = HEAP32[$16>>2]|0; + $347 = HEAP32[$15>>2]|0; + $348 = HEAP32[$27>>2]|0; + (_sqlite3VdbeAddOp2($346,100,$347,$348)|0); + $349 = HEAP32[$16>>2]|0; + $350 = HEAP32[$27>>2]|0; + $351 = (_sqlite3VdbeAddOp1($349,22,$350)|0); + HEAP32[$18>>2] = $351; + $352 = HEAP32[$16>>2]|0; + $353 = HEAP32[$26>>2]|0; + (_sqlite3VdbeAddOp2($352,79,0,$353)|0); + $354 = HEAP32[$16>>2]|0; + $355 = HEAP32[$25>>2]|0; + $356 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp4($354,99,$355,3,$356,30165,0)|0); + $357 = HEAP32[$16>>2]|0; + $358 = HEAP32[$9>>2]|0; + $359 = HEAP32[$21>>2]|0; + (_sqlite3VdbeAddOp2($357,114,$358,$359)|0); + $360 = HEAP32[$16>>2]|0; + $361 = HEAP32[$9>>2]|0; + $362 = HEAP32[$24>>2]|0; + $363 = HEAP32[$21>>2]|0; + (_sqlite3VdbeAddOp3($360,115,$361,$362,$363)|0); + $364 = HEAP32[$16>>2]|0; + _sqlite3VdbeChangeP5($364,8); + $365 = HEAP32[$16>>2]|0; + $366 = HEAP32[$18>>2]|0; + _sqlite3VdbeJumpHere($365,$366); STACKTOP = sp;return; } -function _codeReal($v,$z,$negateFlag,$iMem) { - $v = $v|0; - $z = $z|0; - $negateFlag = $negateFlag|0; - $iMem = $iMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $value = 0, label = 0, sp = 0; +function _loadAnalysis($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $value = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $negateFlag; - HEAP32[$3>>2] = $iMem; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = (_sqlite3GetVdbe($5)|0); + HEAP32[$4>>2] = $6; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { STACKTOP = sp;return; } - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3Strlen30($7)|0); - (_sqlite3AtoF($6,$value,$8,1)|0); - $9 = HEAP32[$2>>2]|0; - $10 = ($9|0)!=(0); - if ($10) { - $11 = +HEAPF64[$value>>3]; - $12 = -$11; - HEAPF64[$value>>3] = $12; - } - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp4Dup8($13,132,0,$14,0,$value,-12)|0); + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp1($9,137,$10)|0); STACKTOP = sp;return; } -function _sqlite3ExprCacheAffinityChange($pParse,$iStart,$iCount) { - $pParse = $pParse|0; - $iStart = $iStart|0; - $iCount = $iCount|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _sqlite3VdbeAddOp1($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iStart; - HEAP32[$2>>2] = $iCount; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - _sqlite3ExprCacheRemove($3,$4,$5); - STACKTOP = sp;return; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + $9 = (_sqlite3VdbeAddOp3($6,$7,$8,0,0)|0); + STACKTOP = sp;return ($9|0); } -function _sqlite3ExprIsVector($pExpr) { - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3_strlike($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; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pExpr; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3ExprVectorSize($1)|0); - $3 = ($2|0)>(1); - $4 = $3&1; - STACKTOP = sp;return ($4|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + $9 = (_patternCompare($6,$7,22031,$8)|0); + $10 = ($9|0)==(0); + $11 = $10&1; + STACKTOP = sp;return ($11|0); } -function _codeVectorCompare($pParse,$pExpr,$dest,$op,$p5) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $dest = $dest|0; - $op = $op|0; - $p5 = $p5|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $addrDone = 0; - var $i = 0, $nLeft = 0, $opx = 0, $pL = 0, $pLeft = 0, $pR = 0, $pRight = 0, $r1 = 0, $r2 = 0, $regFree1 = 0, $regFree2 = 0, $regLeft = 0, $regRight = 0, $v = 0, label = 0, sp = 0; +function _sqlite3TableLock($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 70|0; - $4 = sp + 69|0; - $v = sp + 52|0; - $pLeft = sp + 48|0; - $pRight = sp + 44|0; - $nLeft = sp + 40|0; - $i = sp + 36|0; - $regLeft = sp + 32|0; - $regRight = sp + 28|0; - $opx = sp + 68|0; - $addrDone = sp + 24|0; - $regFree1 = sp + 20|0; - $regFree2 = sp + 16|0; - $pL = sp + 12|0; - $pR = sp + 8|0; - $r1 = sp + 4|0; - $r2 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $dest; - HEAP8[$3>>0] = $op; - HEAP8[$4>>0] = $p5; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$v>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pLeft>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 16|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pRight>>2] = $13; - $14 = HEAP32[$pLeft>>2]|0; - $15 = (_sqlite3ExprVectorSize($14)|0); - HEAP32[$nLeft>>2] = $15; - HEAP32[$regLeft>>2] = 0; - HEAP32[$regRight>>2] = 0; - $16 = HEAP8[$3>>0]|0; - HEAP8[$opx>>0] = $16; - $17 = HEAP32[$v>>2]|0; - $18 = (_sqlite3VdbeMakeLabel($17)|0); - HEAP32[$addrDone>>2] = $18; - $19 = HEAP8[$4>>0]|0; - $20 = $19&255; - $21 = $20 | 32; - $22 = $21&255; - HEAP8[$4>>0] = $22; - $23 = HEAP8[$opx>>0]|0; - $24 = $23&255; - $25 = ($24|0)==(39); - if ($25) { - HEAP8[$opx>>0] = 40; - } - $26 = HEAP8[$opx>>0]|0; - $27 = $26&255; - $28 = ($27|0)==(41); - if ($28) { - HEAP8[$opx>>0] = 38; - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$pLeft>>2]|0; - $31 = (_exprCodeSubselect($29,$30)|0); - HEAP32[$regLeft>>2] = $31; - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$pRight>>2]|0; - $34 = (_exprCodeSubselect($32,$33)|0); - HEAP32[$regRight>>2] = $34; - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 32|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP8[$8>>0] = $3; + HEAP32[$9>>2] = $4; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 124|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0|0); + $18 = HEAP32[$5>>2]|0; + if ($17) { + $19 = ((($18)) + 124|0); + $20 = HEAP32[$19>>2]|0; + $21 = $20; + } else { + $21 = $18; + } + HEAP32[$10>>2] = $21; + HEAP32[$11>>2] = 0; while(1) { - HEAP32[$regFree1>>2] = 0; - HEAP32[$regFree2>>2] = 0; - $35 = HEAP32[$i>>2]|0; - $36 = ($35|0)>(0); - if ($36) { - $37 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePush($37); - } - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$pLeft>>2]|0; - $40 = HEAP32[$i>>2]|0; - $41 = HEAP32[$regLeft>>2]|0; - $42 = (_exprVectorRegister($38,$39,$40,$41,$pL,$regFree1)|0); - HEAP32[$r1>>2] = $42; - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$pRight>>2]|0; - $45 = HEAP32[$i>>2]|0; - $46 = HEAP32[$regRight>>2]|0; - $47 = (_exprVectorRegister($43,$44,$45,$46,$pR,$regFree2)|0); - HEAP32[$r2>>2] = $47; - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$pL>>2]|0; - $50 = HEAP32[$pR>>2]|0; - $51 = HEAP8[$opx>>0]|0; - $52 = $51&255; - $53 = HEAP32[$r1>>2]|0; - $54 = HEAP32[$r2>>2]|0; - $55 = HEAP32[$2>>2]|0; - $56 = HEAP8[$4>>0]|0; - $57 = $56&255; - (_codeCompare($48,$49,$50,$52,$53,$54,$55,$57)|0); - $58 = HEAP32[$0>>2]|0; - $59 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($58,$59); - $60 = HEAP32[$0>>2]|0; - $61 = HEAP32[$regFree2>>2]|0; - _sqlite3ReleaseTempReg($60,$61); - $62 = HEAP32[$i>>2]|0; - $63 = ($62|0)>(0); - if ($63) { - $64 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($64); - } - $65 = HEAP32[$i>>2]|0; - $66 = HEAP32[$nLeft>>2]|0; - $67 = (($66) - 1)|0; - $68 = ($65|0)==($67|0); - if ($68) { + $22 = HEAP32[$11>>2]|0; + $23 = HEAP32[$10>>2]|0; + $24 = ((($23)) + 112|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($22|0)<($25|0); + $27 = HEAP32[$10>>2]|0; + if (!($26)) { break; } - $69 = HEAP8[$opx>>0]|0; - $70 = $69&255; - $71 = ($70|0)==(37); - do { - if ($71) { - $72 = HEAP32[$v>>2]|0; - $73 = HEAP32[$2>>2]|0; - $74 = HEAP32[$addrDone>>2]|0; - (_sqlite3VdbeAddOp2($72,22,$73,$74)|0); - $75 = HEAP8[$4>>0]|0; - $76 = $75&255; - $77 = $76 | 8; - $78 = $77&255; - HEAP8[$4>>0] = $78; - } else { - $79 = HEAP8[$opx>>0]|0; - $80 = $79&255; - $81 = ($80|0)==(36); - $82 = HEAP32[$v>>2]|0; - if ($81) { - $83 = HEAP32[$2>>2]|0; - $84 = HEAP32[$addrDone>>2]|0; - (_sqlite3VdbeAddOp2($82,21,$83,$84)|0); - $85 = HEAP8[$4>>0]|0; - $86 = $85&255; - $87 = $86 | 8; - $88 = $87&255; - HEAP8[$4>>0] = $88; - break; - } - $89 = HEAP32[$addrDone>>2]|0; - (_sqlite3VdbeAddOp2($82,42,0,$89)|0); - $90 = HEAP32[$i>>2]|0; - $91 = HEAP32[$nLeft>>2]|0; - $92 = (($91) - 2)|0; - $93 = ($90|0)==($92|0); - if ($93) { - $94 = HEAP8[$3>>0]|0; - HEAP8[$opx>>0] = $94; - } + $28 = ((($27)) + 116|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$11>>2]|0; + $31 = (($29) + ($30<<4)|0); + HEAP32[$13>>2] = $31; + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = ($33|0)==($34|0); + if ($35) { + $36 = HEAP32[$13>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$7>>2]|0; + $40 = ($38|0)==($39|0); + if ($40) { + label = 7; + break; } - } while(0); - $95 = HEAP32[$i>>2]|0; - $96 = (($95) + 1)|0; - HEAP32[$i>>2] = $96; + } + $54 = HEAP32[$11>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$11>>2] = $55; + } + if ((label|0) == 7) { + $41 = HEAP32[$13>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + $45 = ($44|0)!=(0); + if ($45) { + $50 = 1; + } else { + $46 = HEAP8[$8>>0]|0; + $47 = $46&255; + $48 = ($47|0)!=(0); + $50 = $48; + } + $49 = $50&1; + $51 = $49&255; + $52 = HEAP32[$13>>2]|0; + $53 = ((($52)) + 8|0); + HEAP8[$53>>0] = $51; + STACKTOP = sp;return; + } + $56 = ((($27)) + 112|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($57) + 1)|0; + $59 = $58<<4; + HEAP32[$12>>2] = $59; + $60 = HEAP32[$10>>2]|0; + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$10>>2]|0; + $63 = ((($62)) + 116|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$12>>2]|0; + $66 = ($65|0)<(0); + $67 = $66 << 31 >> 31; + $68 = (_sqlite3DbReallocOrFree($61,$64,$65,$67)|0); + $69 = HEAP32[$10>>2]|0; + $70 = ((($69)) + 116|0); + HEAP32[$70>>2] = $68; + $71 = HEAP32[$10>>2]|0; + $72 = ((($71)) + 116|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0|0); + $75 = HEAP32[$10>>2]|0; + if ($74) { + $76 = ((($75)) + 116|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$10>>2]|0; + $79 = ((($78)) + 112|0); + $80 = HEAP32[$79>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$79>>2] = $81; + $82 = (($77) + ($80<<4)|0); + HEAP32[$13>>2] = $82; + $83 = HEAP32[$6>>2]|0; + $84 = HEAP32[$13>>2]|0; + HEAP32[$84>>2] = $83; + $85 = HEAP32[$7>>2]|0; + $86 = HEAP32[$13>>2]|0; + $87 = ((($86)) + 4|0); + HEAP32[$87>>2] = $85; + $88 = HEAP8[$8>>0]|0; + $89 = HEAP32[$13>>2]|0; + $90 = ((($89)) + 8|0); + HEAP8[$90>>0] = $88; + $91 = HEAP32[$9>>2]|0; + $92 = HEAP32[$13>>2]|0; + $93 = ((($92)) + 12|0); + HEAP32[$93>>2] = $91; + STACKTOP = sp;return; + } else { + $94 = ((($75)) + 112|0); + HEAP32[$94>>2] = 0; + $95 = HEAP32[$10>>2]|0; + $96 = HEAP32[$95>>2]|0; + _sqlite3OomFault($96); + STACKTOP = sp;return; + } +} +function _sqlite3OpenTable($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $12 = HEAP32[$5>>2]|0; + $13 = (_sqlite3GetVdbe($12)|0); + HEAP32[$10>>2] = $13; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$8>>2]|0; + $17 = ((($16)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$9>>2]|0; + $20 = ($19|0)==(105); + $21 = $20 ? 1 : 0; + $22 = $21&255; + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[$23>>2]|0; + _sqlite3TableLock($14,$15,$18,$22,$24); + $25 = HEAP32[$8>>2]|0; + $26 = ((($25)) + 42|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = $28 & 32; + $30 = ($29|0)==(0); + if ($30) { + $31 = HEAP32[$10>>2]|0; + $32 = HEAP32[$9>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = HEAP32[$8>>2]|0; + $35 = ((($34)) + 28|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$7>>2]|0; + $38 = HEAP32[$8>>2]|0; + $39 = ((($38)) + 34|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40 << 16 >> 16; + (_sqlite3VdbeAddOp4Int($31,$32,$33,$36,$37,$41)|0); + STACKTOP = sp;return; + } else { + $42 = HEAP32[$8>>2]|0; + $43 = (_sqlite3PrimaryKeyIndex($42)|0); + HEAP32[$11>>2] = $43; + $44 = HEAP32[$10>>2]|0; + $45 = HEAP32[$9>>2]|0; + $46 = HEAP32[$6>>2]|0; + $47 = HEAP32[$11>>2]|0; + $48 = ((($47)) + 44|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp3($44,$45,$46,$49,$50)|0); + $51 = HEAP32[$5>>2]|0; + $52 = HEAP32[$11>>2]|0; + _sqlite3VdbeSetP4KeyInfo($51,$52); + STACKTOP = sp;return; } - $97 = HEAP32[$v>>2]|0; - $98 = HEAP32[$addrDone>>2]|0; - _sqlite3VdbeResolveLabel($97,$98); +} +function _sqlite3VdbeSetP4KeyInfo($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = (_sqlite3KeyInfoOfIndex($9,$10)|0); + _sqlite3VdbeChangeP4($8,-1,$11,-6); STACKTOP = sp;return; } -function _sqlite3ExprCodeTemp($pParse,$pExpr,$pReg) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $pReg = $pReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0, $p = 0, $pItem = 0, $r1 = 0, $r2 = 0, label = 0, sp = 0; +function _sqlite3VdbeChangeP5($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, $2 = 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; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $r2 = sp + 16|0; - $p = sp + 12|0; - $i = sp + 8|0; - $pItem = sp + 4|0; - $r1 = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pExpr; - HEAP32[$3>>2] = $pReg; + STACKTOP = STACKTOP + 16|0; + $2 = sp; + $3 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP8[$3>>0] = $1; $4 = HEAP32[$2>>2]|0; - $5 = (_sqlite3ExprSkipCollate($4)|0); - HEAP32[$2>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 23|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$2>>2]|0; - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(157); - if ($14) { - $15 = HEAP32[$2>>2]|0; - $16 = (_sqlite3ExprIsConstantNotJoin($15)|0); - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 80|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$p>>2] = $20; - $21 = HEAP32[$3>>2]|0; - HEAP32[$21>>2] = 0; - $22 = HEAP32[$p>>2]|0; - $23 = ($22|0)!=(0|0); - L5: do { - if ($23) { - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$pItem>>2] = $26; - $27 = HEAP32[$p>>2]|0; - $28 = HEAP32[$27>>2]|0; - HEAP32[$i>>2] = $28; - while(1) { - $29 = HEAP32[$i>>2]|0; - $30 = ($29|0)>(0); - if (!($30)) { - break L5; - } - $31 = HEAP32[$pItem>>2]|0; - $32 = ((($31)) + 13|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33&255) >>> 2; - $35 = $34 & 1; - $36 = $35&255; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$pItem>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = (_sqlite3ExprCompare($39,$40,-1)|0); - $42 = ($41|0)==(0); - if ($42) { - break; - } - } - $46 = HEAP32[$pItem>>2]|0; - $47 = ((($46)) + 20|0); - HEAP32[$pItem>>2] = $47; - $48 = HEAP32[$i>>2]|0; - $49 = (($48) + -1)|0; - HEAP32[$i>>2] = $49; - } - $43 = HEAP32[$pItem>>2]|0; - $44 = ((($43)) + 16|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$0>>2] = $45; - $72 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($72|0); - } - } while(0); - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 44|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + 1)|0; - HEAP32[$51>>2] = $53; - HEAP32[$r2>>2] = $53; - $54 = HEAP32[$1>>2]|0; - $55 = HEAP32[$2>>2]|0; - $56 = HEAP32[$r2>>2]|0; - _sqlite3ExprCodeAtInit($54,$55,$56,1); - } else { - label = 12; - } - } else { - label = 12; - } - } else { - label = 12; + $5 = ((($4)) + 136|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)>(0); + if (!($7)) { + STACKTOP = sp;return; } - do { - if ((label|0) == 12) { - $57 = HEAP32[$1>>2]|0; - $58 = (_sqlite3GetTempReg($57)|0); - HEAP32[$r1>>2] = $58; - $59 = HEAP32[$1>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = HEAP32[$r1>>2]|0; - $62 = (_sqlite3ExprCodeTarget($59,$60,$61)|0); - HEAP32[$r2>>2] = $62; - $63 = HEAP32[$r2>>2]|0; - $64 = HEAP32[$r1>>2]|0; - $65 = ($63|0)==($64|0); - if ($65) { - $66 = HEAP32[$r1>>2]|0; - $67 = HEAP32[$3>>2]|0; - HEAP32[$67>>2] = $66; - break; - } else { - $68 = HEAP32[$1>>2]|0; - $69 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($68,$69); - $70 = HEAP32[$3>>2]|0; - HEAP32[$70>>2] = 0; - break; - } - } - } while(0); - $71 = HEAP32[$r2>>2]|0; - HEAP32[$0>>2] = $71; - $72 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($72|0); + $8 = HEAP8[$3>>0]|0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 136|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) - 1)|0; + $16 = (($11) + (($15*20)|0)|0); + $17 = ((($16)) + 3|0); + HEAP8[$17>>0] = $8; + STACKTOP = sp;return; } -function _codeCompare($pParse,$pLeft,$pRight,$opcode,$in1,$in2,$dest,$jumpIfNull) { - $pParse = $pParse|0; - $pLeft = $pLeft|0; - $pRight = $pRight|0; - $opcode = $opcode|0; - $in1 = $in1|0; - $in2 = $in2|0; - $dest = $dest|0; - $jumpIfNull = $jumpIfNull|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr = 0, $p4 = 0, $p5 = 0, label = 0, sp = 0; +function _sqlite3VdbeMakeLabel($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $5 = sp + 20|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 72|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + 1)|0; + HEAP32[$8>>2] = $10; + HEAP32[$3>>2] = $9; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (($12) - 1)|0; + $14 = $11 & $13; + $15 = ($14|0)==(0); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 76|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = $21<<1; + $23 = (($22) + 1)|0; + $24 = $23<<2; + $25 = (_sqlite3DbReallocOrFree($17,$20,$24,0)|0); + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 76|0); + HEAP32[$27>>2] = $25; + } + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 76|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0|0); + if (!($31)) { + $37 = HEAP32[$3>>2]|0; + $38 = (-1 - ($37))|0; + STACKTOP = sp;return ($38|0); + } + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 76|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$3>>2]|0; + $36 = (($34) + ($35<<2)|0); + HEAP32[$36>>2] = -1; + $37 = HEAP32[$3>>2]|0; + $38 = (-1 - ($37))|0; + STACKTOP = sp;return ($38|0); +} +function _sqlite3LocateCollSeq($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp + 17|0; $6 = sp + 16|0; - $7 = sp + 12|0; - $p5 = sp + 8|0; - $addr = sp + 4|0; - $p4 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pLeft; - HEAP32[$2>>2] = $pRight; - HEAP32[$3>>2] = $opcode; - HEAP32[$4>>2] = $in1; - HEAP32[$5>>2] = $in2; - HEAP32[$6>>2] = $dest; - HEAP32[$7>>2] = $jumpIfNull; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (_sqlite3BinaryCompareCollSeq($8,$9,$10)|0); - HEAP32[$p4>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$7>>2]|0; - $15 = (_binaryCompareP5($12,$13,$14)|0); - $16 = $15&255; - HEAP32[$p5>>2] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$3>>2]|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 66|0); + $12 = HEAP8[$11>>0]|0; + HEAP8[$5>>0] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 148|0); + $15 = ((($14)) + 5|0); + $16 = HEAP8[$15>>0]|0; + HEAP8[$6>>0] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP8[$5>>0]|0; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP8[$6>>0]|0; + $21 = $20&255; + $22 = (_sqlite3FindCollSeq($17,$18,$19,$21)|0); + HEAP32[$7>>2] = $22; + $23 = HEAP8[$6>>0]|0; + $24 = ($23<<24>>24)!=(0); + if ($24) { + $36 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($36|0); + } + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$7>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0|0); + if ($30) { + $36 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($36|0); + } + } + $31 = HEAP32[$2>>2]|0; + $32 = HEAP8[$5>>0]|0; + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = (_sqlite3GetCollSeq($31,$32,$33,$34)|0); + HEAP32[$7>>2] = $35; + $36 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($36|0); +} +function _sqlite3VdbeGoto($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_sqlite3VdbeAddOp3($4,13,0,$5,0)|0); + STACKTOP = sp;return ($6|0); +} +function _sqlite3VdbeJumpHere($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 136|0); + $8 = HEAP32[$7>>2]|0; + _sqlite3VdbeChangeP2($4,$5,$8); + STACKTOP = sp;return; +} +function _sqlite3VdbeResolveLabel($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = (-1 - ($9))|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 76|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + STACKTOP = sp;return; + } + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 136|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 76|0); + $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$5>>2]|0; - $22 = HEAP32[$6>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$p4>>2]|0; - $25 = (_sqlite3VdbeAddOp4($19,$20,$21,$22,$23,$24,-4)|0); - HEAP32[$addr>>2] = $25; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$p5>>2]|0; - $30 = $29&255; - _sqlite3VdbeChangeP5($28,$30); - $31 = HEAP32[$addr>>2]|0; - STACKTOP = sp;return ($31|0); + $22 = (($20) + ($21<<2)|0); + HEAP32[$22>>2] = $17; + STACKTOP = sp;return; } -function _sqlite3ExprIsConstant($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _callStatGet($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 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; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (_exprIsConst($1,1,0)|0); - STACKTOP = sp;return ($2|0); + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp4($8,89,0,$9,$10,4324,-5)|0); + $11 = HEAP32[$4>>2]|0; + _sqlite3VdbeChangeP5($11,1); + STACKTOP = sp;return; } -function _sqlite3ExprCodeExprList($pParse,$pList,$target,$srcReg,$flags) { - $pParse = $pParse|0; - $pList = $pList|0; - $target = $target|0; - $srcReg = $srcReg|0; - $flags = $flags|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $copyOp = 0, $i = 0, $inReg = 0, $j = 0, $n = 0, $pExpr = 0, $pItem = 0, $pOp = 0, $v = 0, label = 0, sp = 0; +function _statGet($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 49|0; - $pItem = sp + 28|0; - $i = sp + 24|0; - $j = sp + 20|0; - $n = sp + 16|0; - $copyOp = sp + 48|0; - $v = sp + 12|0; - $pExpr = sp + 8|0; - $inReg = sp + 4|0; - $pOp = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pList; - HEAP32[$2>>2] = $target; - HEAP32[$3>>2] = $srcReg; - HEAP8[$4>>0] = $flags; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = $6 & 1; - $8 = ($7|0)!=(0); - $9 = $8 ? 84 : 85; - $10 = $9&255; - HEAP8[$copyOp>>0] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); + $vararg_buffer1 = sp + 24|0; + $vararg_buffer = sp + 16|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 8|0; + $11 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $12 = HEAP32[$5>>2]|0; $13 = HEAP32[$12>>2]|0; - HEAP32[$v>>2] = $13; - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$14>>2]|0; - HEAP32[$n>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 23|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)!=(0); - if (!($19)) { - $20 = HEAP8[$4>>0]|0; - $21 = $20&255; - $22 = $21 & -3; - $23 = $22&255; - HEAP8[$4>>0] = $23; + $14 = (_sqlite3_value_blob($13)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + 1)|0; + $19 = ($18*25)|0; + $20 = ($19|0)<(0); + $21 = $20 << 31 >> 31; + $22 = (_sqlite3MallocZero($19,$21)|0); + HEAP32[$9>>2] = $22; + $23 = HEAP32[$9>>2]|0; + $24 = ($23|0)==(0|0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($25); + STACKTOP = sp;return; } - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$pItem>>2] = $26; - HEAP32[$i>>2] = 0; + $26 = HEAP32[$9>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = $vararg_buffer; + $30 = $29; + HEAP32[$30>>2] = $28; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = 0; + (_sqlite3_snprintf(24,$26,30178,$vararg_buffer)|0); + $33 = HEAP32[$9>>2]|0; + $34 = HEAP32[$9>>2]|0; + $35 = (_sqlite3Strlen30($34)|0); + $36 = (($33) + ($35)|0); + HEAP32[$7>>2] = $36; + HEAP32[$8>>2] = 0; while(1) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$n>>2]|0; - $29 = ($27|0)<($28|0); - if (!($29)) { + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($37|0)<($40|0); + if (!($41)) { break; } - $30 = HEAP32[$pItem>>2]|0; - $31 = HEAP32[$30>>2]|0; - HEAP32[$pExpr>>2] = $31; - $32 = HEAP8[$4>>0]|0; - $33 = $32&255; - $34 = $33 & 4; - $35 = ($34|0)!=(0); - if ($35) { - $36 = HEAP32[$i>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + (($36*20)|0)|0); - $41 = ((($40)) + 16|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42&65535; - HEAP32[$j>>2] = $43; - $44 = ($43|0)>(0); - if ($44) { - $45 = HEAP32[$v>>2]|0; - $46 = HEAP8[$copyOp>>0]|0; - $47 = $46&255; - $48 = HEAP32[$j>>2]|0; - $49 = HEAP32[$3>>2]|0; - $50 = (($48) + ($49))|0; - $51 = (($50) - 1)|0; - $52 = HEAP32[$2>>2]|0; - $53 = HEAP32[$i>>2]|0; - $54 = (($52) + ($53))|0; - (_sqlite3VdbeAddOp2($45,$47,$51,$54)|0); - } else { - label = 8; + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 20|0); + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$8>>2]|0; + $47 = (($45) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = (($48) + 1)|0; + $50 = $10; + $51 = $50; + HEAP32[$51>>2] = $49; + $52 = (($50) + 4)|0; + $53 = $52; + HEAP32[$53>>2] = 0; + $54 = HEAP32[$6>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = $10; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (_i64Add(($55|0),0,($58|0),($61|0))|0); + $63 = tempRet0; + $64 = (_i64Subtract(($62|0),($63|0),1,0)|0); + $65 = tempRet0; + $66 = $10; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (___udivdi3(($64|0),($65|0),($68|0),($71|0))|0); + $73 = tempRet0; + $74 = $11; + $75 = $74; + HEAP32[$75>>2] = $72; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[$7>>2]|0; + $79 = $11; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = (($79) + 4)|0; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = $vararg_buffer1; + $86 = $85; + HEAP32[$86>>2] = $81; + $87 = (($85) + 4)|0; + $88 = $87; + HEAP32[$88>>2] = $84; + (_sqlite3_snprintf(24,$78,30183,$vararg_buffer1)|0); + $89 = HEAP32[$7>>2]|0; + $90 = (_sqlite3Strlen30($89)|0); + $91 = HEAP32[$7>>2]|0; + $92 = (($91) + ($90)|0); + HEAP32[$7>>2] = $92; + $93 = HEAP32[$8>>2]|0; + $94 = (($93) + 1)|0; + HEAP32[$8>>2] = $94; + } + $95 = HEAP32[$3>>2]|0; + $96 = HEAP32[$9>>2]|0; + _sqlite3_result_text($95,$96,-1,157); + STACKTOP = sp;return; +} +function _statPush($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3_value_blob($10)|0); + HEAP32[$7>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3_value_int($14)|0); + HEAP32[$8>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0); + if ($18) { + HEAP32[$6>>2] = 0; + while(1) { + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($19|0)<($22|0); + if (!($23)) { + break; } - } else { - label = 8; + $24 = HEAP32[$7>>2]|0; + $25 = ((($24)) + 20|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = (($26) + ($27<<2)|0); + HEAP32[$28>>2] = 1; + $29 = HEAP32[$6>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$6>>2] = $30; } - do { - if ((label|0) == 8) { - label = 0; - $55 = HEAP8[$4>>0]|0; - $56 = $55&255; - $57 = $56 & 2; - $58 = ($57|0)!=(0); - if ($58) { - $59 = HEAP32[$pExpr>>2]|0; - $60 = (_sqlite3ExprIsConstant($59)|0); - $61 = ($60|0)!=(0); - if ($61) { - $62 = HEAP32[$0>>2]|0; - $63 = HEAP32[$pExpr>>2]|0; - $64 = HEAP32[$2>>2]|0; - $65 = HEAP32[$i>>2]|0; - $66 = (($64) + ($65))|0; - _sqlite3ExprCodeAtInit($62,$63,$66,0); - break; - } - } - $67 = HEAP32[$0>>2]|0; - $68 = HEAP32[$pExpr>>2]|0; - $69 = HEAP32[$2>>2]|0; - $70 = HEAP32[$i>>2]|0; - $71 = (($69) + ($70))|0; - $72 = (_sqlite3ExprCodeTarget($67,$68,$71)|0); - HEAP32[$inReg>>2] = $72; - $73 = HEAP32[$inReg>>2]|0; - $74 = HEAP32[$2>>2]|0; - $75 = HEAP32[$i>>2]|0; - $76 = (($74) + ($75))|0; - $77 = ($73|0)!=($76|0); - if ($77) { - $78 = HEAP8[$copyOp>>0]|0; - $79 = $78&255; - $80 = ($79|0)==(84); - if ($80) { - $81 = HEAP32[$v>>2]|0; - $82 = (_sqlite3VdbeGetOp($81,-1)|0); - HEAP32[$pOp>>2] = $82; - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = ($84|0)==(84); - if ($85) { - $86 = HEAP32[$pOp>>2]|0; - $87 = ((($86)) + 4|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$pOp>>2]|0; - $90 = ((($89)) + 12|0); - $91 = HEAP32[$90>>2]|0; - $92 = (($88) + ($91))|0; - $93 = (($92) + 1)|0; - $94 = HEAP32[$inReg>>2]|0; - $95 = ($93|0)==($94|0); - if ($95) { - $96 = HEAP32[$pOp>>2]|0; - $97 = ((($96)) + 8|0); - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$pOp>>2]|0; - $100 = ((($99)) + 12|0); - $101 = HEAP32[$100>>2]|0; - $102 = (($98) + ($101))|0; - $103 = (($102) + 1)|0; - $104 = HEAP32[$2>>2]|0; - $105 = HEAP32[$i>>2]|0; - $106 = (($104) + ($105))|0; - $107 = ($103|0)==($106|0); - if ($107) { - $108 = HEAP32[$pOp>>2]|0; - $109 = ((($108)) + 12|0); - $110 = HEAP32[$109>>2]|0; - $111 = (($110) + 1)|0; - HEAP32[$109>>2] = $111; - break; - } - } - } - } - $112 = HEAP32[$v>>2]|0; - $113 = HEAP8[$copyOp>>0]|0; - $114 = $113&255; - $115 = HEAP32[$inReg>>2]|0; - $116 = HEAP32[$2>>2]|0; - $117 = HEAP32[$i>>2]|0; - $118 = (($116) + ($117))|0; - (_sqlite3VdbeAddOp2($112,$114,$115,$118)|0); - } - } - } while(0); - $119 = HEAP32[$i>>2]|0; - $120 = (($119) + 1)|0; - HEAP32[$i>>2] = $120; - $121 = HEAP32[$pItem>>2]|0; - $122 = ((($121)) + 20|0); - HEAP32[$pItem>>2] = $122; + $66 = HEAP32[$7>>2]|0; + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + STACKTOP = sp;return; } - $123 = HEAP32[$n>>2]|0; - STACKTOP = sp;return ($123|0); + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$8>>2]|0; + _samplePushPrevious($31,$32); + HEAP32[$6>>2] = 0; + while(1) { + $33 = HEAP32[$6>>2]|0; + $34 = HEAP32[$8>>2]|0; + $35 = ($33|0)<($34|0); + if (!($35)) { + break; + } + $36 = HEAP32[$7>>2]|0; + $37 = ((($36)) + 20|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = (($38) + ($39<<2)|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$40>>2] = $42; + $43 = HEAP32[$6>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$6>>2] = $44; + } + $45 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $45; + while(1) { + $46 = HEAP32[$6>>2]|0; + $47 = HEAP32[$7>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($46|0)<($49|0); + if (!($50)) { + break; + } + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 20|0); + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$6>>2]|0; + $56 = (($54) + ($55<<2)|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($57) + 1)|0; + HEAP32[$56>>2] = $58; + $59 = HEAP32[$7>>2]|0; + $60 = ((($59)) + 20|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$6>>2]|0; + $63 = (($61) + ($62<<2)|0); + HEAP32[$63>>2] = 1; + $64 = HEAP32[$6>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$6>>2] = $65; + } + $66 = HEAP32[$7>>2]|0; + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + STACKTOP = sp;return; } -function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { - $db = $db|0; - $pDef = $pDef|0; - $nArg = $nArg|0; - $pExpr = $pExpr|0; - var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 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, $pArg = 0, $pMod = 0, $pNew = 0, $pTab = 0, $pVtab = 0, $rc = 0, $xSFunc = 0, $z = 0, $zLowerName = 0, label = 0; - var sp = 0; +function _samplePushPrevious($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $pTab = sp + 32|0; - $pVtab = sp + 28|0; - $pMod = sp + 24|0; - $xSFunc = sp + 20|0; - $pArg = sp + 16|0; - $pNew = sp + 12|0; - $rc = sp + 8|0; - $zLowerName = sp + 4|0; - $z = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pDef; - HEAP32[$3>>2] = $nArg; - HEAP32[$4>>2] = $pExpr; - HEAP32[$xSFunc>>2] = 0; - HEAP32[$pArg>>2] = 0; - HEAP32[$rc>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + STACKTOP = sp;return; +} +function _sqlite3VdbeChangeP2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (_sqlite3VdbeGetOp($7,$8)|0); + $10 = ((($9)) + 8|0); + HEAP32[$10>>2] = $6; + STACKTOP = sp;return; +} +function _sqlite3VdbeGetOp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); + $6 = ($5|0)<(0); if ($6) { - $7 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $7; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 136|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) - 1)|0; + HEAP32[$4>>2] = $10; } - $8 = HEAP32[$4>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)!=(152); - if ($11) { - $12 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $12; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 69|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)!=(0); + if ($15) { + HEAP32[$2>>2] = 55148; + $21 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($21|0); + } else { + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 88|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = (($18) + (($19*20)|0)|0); + HEAP32[$2>>2] = $20; + $21 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($21|0); } - $13 = HEAP32[$4>>2]|0; - $14 = ((($13)) + 44|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$pTab>>2] = $15; - $16 = HEAP32[$pTab>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - $18 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $18; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + return (0)|0; +} +function _statInit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3_value_int($13)|0); + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = (($15) + 1)|0; + $17 = $16 & -2; + HEAP32[$9>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3_value_int($20)|0); + HEAP32[$8>>2] = $21; + $22 = HEAP32[$9>>2]|0; + $23 = $22<<2; + $24 = (56 + ($23))|0; + $25 = HEAP32[$9>>2]|0; + $26 = $25<<2; + $27 = (($24) + ($26))|0; + HEAP32[$10>>2] = $27; + $28 = HEAP32[$3>>2]|0; + $29 = (_sqlite3_context_db_handle($28)|0); + HEAP32[$11>>2] = $29; + $30 = HEAP32[$11>>2]|0; + $31 = HEAP32[$10>>2]|0; + $32 = ($31|0)<(0); + $33 = $32 << 31 >> 31; + $34 = (_sqlite3DbMallocZero($30,$31,$33)|0); + HEAP32[$6>>2] = $34; + $35 = HEAP32[$6>>2]|0; + $36 = ($35|0)==(0|0); + if ($36) { + $37 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($37); + STACKTOP = sp;return; + } else { + $38 = HEAP32[$11>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 52|0); + HEAP32[$40>>2] = $38; + $41 = HEAP32[$6>>2]|0; + HEAP32[$41>>2] = 0; + $42 = HEAP32[$7>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = ((($43)) + 8|0); + HEAP32[$44>>2] = $42; + $45 = HEAP32[$8>>2]|0; + $46 = HEAP32[$6>>2]|0; + $47 = ((($46)) + 12|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 56|0); + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 20|0); + $52 = ((($51)) + 4|0); + HEAP32[$52>>2] = $49; + $53 = HEAP32[$6>>2]|0; + $54 = ((($53)) + 20|0); + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$9>>2]|0; + $58 = (($56) + ($57<<2)|0); + $59 = HEAP32[$6>>2]|0; + $60 = ((($59)) + 20|0); + HEAP32[$60>>2] = $58; + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$6>>2]|0; + _sqlite3_result_blob($61,$62,56,159); + STACKTOP = sp;return; } - $19 = HEAP32[$pTab>>2]|0; - $20 = ((($19)) + 42|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = $22 & 16; - $24 = ($23|0)==(0); - if ($24) { - $25 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $25; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); +} +function _stat4Destructor($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 52|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$2>>2]|0; + _sqlite3DbFree($6,$7); + STACKTOP = sp;return; +} +function _sqlite3KeyInfoOfIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 52|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + HEAP32[$6>>2] = $13; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 50|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + HEAP32[$7>>2] = $17; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 36|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0); + if ($21) { + HEAP32[$2>>2] = 0; + $78 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($78|0); } - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$pTab>>2]|0; - $28 = (_sqlite3GetVTable($26,$27)|0); - $29 = ((($28)) + 8|0); + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 55|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24&255) >>> 3; + $26 = $25 & 1; + $27 = $26&255; + $28 = ($27|0)!=(0); + $29 = HEAP32[$3>>2]|0; $30 = HEAP32[$29>>2]|0; - HEAP32[$pVtab>>2] = $30; - $31 = HEAP32[$pVtab>>2]|0; - $32 = HEAP32[$31>>2]|0; - HEAP32[$pMod>>2] = $32; - $33 = HEAP32[$pMod>>2]|0; - $34 = ((($33)) + 72|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - if ($36) { - $37 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $37; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + if ($28) { + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = (($32) - ($33))|0; + $35 = (_sqlite3KeyInfoAlloc($30,$31,$34)|0); + HEAP32[$8>>2] = $35; + } else { + $36 = HEAP32[$6>>2]|0; + $37 = (_sqlite3KeyInfoAlloc($30,$36,0)|0); + HEAP32[$8>>2] = $37; } - $38 = HEAP32[$1>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 20|0); - $41 = HEAP32[$40>>2]|0; - $42 = (_sqlite3DbStrDup($38,$41)|0); - HEAP32[$zLowerName>>2] = $42; - $43 = HEAP32[$zLowerName>>2]|0; - $44 = ($43|0)!=(0|0); - if ($44) { - $45 = HEAP32[$zLowerName>>2]|0; - HEAP32[$z>>2] = $45; + $38 = HEAP32[$8>>2]|0; + $39 = ($38|0)!=(0|0); + if ($39) { + HEAP32[$5>>2] = 0; while(1) { - $46 = HEAP32[$z>>2]|0; - $47 = HEAP8[$46>>0]|0; - $48 = ($47<<24>>24)!=(0); - if (!($48)) { + $40 = HEAP32[$5>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = ($40|0)<($41|0); + if (!($42)) { break; } - $49 = HEAP32[$z>>2]|0; - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = (17613 + ($51)|0); - $53 = HEAP8[$52>>0]|0; - $54 = HEAP32[$z>>2]|0; - HEAP8[$54>>0] = $53; - $55 = HEAP32[$z>>2]|0; - $56 = ((($55)) + 1|0); - HEAP32[$z>>2] = $56; + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 32|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$5>>2]|0; + $47 = (($45) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$9>>2] = $48; + $49 = HEAP32[$9>>2]|0; + $50 = ($49|0)==(34455|0); + if ($50) { + $58 = 0; + } else { + $51 = HEAP32[$3>>2]|0; + $52 = HEAP32[$9>>2]|0; + $53 = (_sqlite3LocateCollSeq($51,$52)|0); + $58 = $53; + } + $54 = HEAP32[$8>>2]|0; + $55 = ((($54)) + 20|0); + $56 = HEAP32[$5>>2]|0; + $57 = (($55) + ($56<<2)|0); + HEAP32[$57>>2] = $58; + $59 = HEAP32[$4>>2]|0; + $60 = ((($59)) + 28|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$5>>2]|0; + $63 = (($61) + ($62)|0); + $64 = HEAP8[$63>>0]|0; + $65 = HEAP32[$8>>2]|0; + $66 = ((($65)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$5>>2]|0; + $69 = (($67) + ($68)|0); + HEAP8[$69>>0] = $64; + $70 = HEAP32[$5>>2]|0; + $71 = (($70) + 1)|0; + HEAP32[$5>>2] = $71; + } + $72 = HEAP32[$3>>2]|0; + $73 = ((($72)) + 36|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)!=(0); + if ($75) { + $76 = HEAP32[$8>>2]|0; + _sqlite3KeyInfoUnref($76); + HEAP32[$8>>2] = 0; } - $57 = HEAP32[$pMod>>2]|0; - $58 = ((($57)) + 72|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$pVtab>>2]|0; - $61 = HEAP32[$3>>2]|0; - $62 = HEAP32[$zLowerName>>2]|0; - $63 = (FUNCTION_TABLE_iiiiii[$59 & 255]($60,$61,$62,$xSFunc,$pArg)|0); - HEAP32[$rc>>2] = $63; - $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[$zLowerName>>2]|0; - _sqlite3DbFree($64,$65); - } - $66 = HEAP32[$rc>>2]|0; - $67 = ($66|0)==(0); - if ($67) { - $68 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $68; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); } - $69 = HEAP32[$1>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = ((($70)) + 20|0); - $72 = HEAP32[$71>>2]|0; - $73 = (_sqlite3Strlen30($72)|0); - $74 = (28 + ($73))|0; - $75 = (($74) + 1)|0; - $76 = (_sqlite3DbMallocZero($69,$75,0)|0); - HEAP32[$pNew>>2] = $76; - $77 = HEAP32[$pNew>>2]|0; - $78 = ($77|0)==(0|0); - if ($78) { - $79 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $79; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + $77 = HEAP32[$8>>2]|0; + HEAP32[$2>>2] = $77; + $78 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($78|0); +} +function _sqlite3KeyInfoAlloc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = (($8) + ($9))|0; + $11 = ($10*5)|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = (24 + ($13))|0; + $15 = (_sqlite3DbMallocRawNN($12,$14,0)|0); + HEAP32[$7>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$7>>2]|0; + $19 = ((($18)) + 20|0); + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = (($20) + ($21))|0; + $23 = (($19) + ($22<<2)|0); + $24 = HEAP32[$7>>2]|0; + $25 = ((($24)) + 16|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$4>>2]|0; + $27 = $26&65535; + $28 = HEAP32[$7>>2]|0; + $29 = ((($28)) + 6|0); + HEAP16[$29>>1] = $27; + $30 = HEAP32[$5>>2]|0; + $31 = $30&65535; + $32 = HEAP32[$7>>2]|0; + $33 = ((($32)) + 8|0); + HEAP16[$33>>1] = $31; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 66|0); + $36 = HEAP8[$35>>0]|0; + $37 = HEAP32[$7>>2]|0; + $38 = ((($37)) + 4|0); + HEAP8[$38>>0] = $36; + $39 = HEAP32[$3>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = ((($40)) + 12|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$7>>2]|0; + HEAP32[$42>>2] = 1; + $43 = HEAP32[$7>>2]|0; + $44 = ((($43)) + 24|0); + $45 = HEAP32[$6>>2]|0; + _memset(($44|0),0,($45|0))|0; + $47 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($47|0); } else { - $80 = HEAP32[$pNew>>2]|0; - $81 = HEAP32[$2>>2]|0; - ;HEAP32[$80>>2]=HEAP32[$81>>2]|0;HEAP32[$80+4>>2]=HEAP32[$81+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$81+8>>2]|0;HEAP32[$80+12>>2]=HEAP32[$81+12>>2]|0;HEAP32[$80+16>>2]=HEAP32[$81+16>>2]|0;HEAP32[$80+20>>2]=HEAP32[$81+20>>2]|0;HEAP32[$80+24>>2]=HEAP32[$81+24>>2]|0; - $82 = HEAP32[$pNew>>2]|0; - $83 = ((($82)) + 28|0); - $84 = HEAP32[$pNew>>2]|0; - $85 = ((($84)) + 20|0); - HEAP32[$85>>2] = $83; - $86 = HEAP32[$pNew>>2]|0; - $87 = ((($86)) + 28|0); - $88 = HEAP32[$2>>2]|0; - $89 = ((($88)) + 20|0); - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$2>>2]|0; - $92 = ((($91)) + 20|0); - $93 = HEAP32[$92>>2]|0; - $94 = (_sqlite3Strlen30($93)|0); - $95 = (($94) + 1)|0; - _memcpy(($87|0),($90|0),($95|0))|0; - $96 = HEAP32[$xSFunc>>2]|0; - $97 = HEAP32[$pNew>>2]|0; - $98 = ((($97)) + 12|0); - HEAP32[$98>>2] = $96; - $99 = HEAP32[$pArg>>2]|0; - $100 = HEAP32[$pNew>>2]|0; - $101 = ((($100)) + 4|0); - HEAP32[$101>>2] = $99; - $102 = HEAP32[$pNew>>2]|0; - $103 = ((($102)) + 2|0); - $104 = HEAP16[$103>>1]|0; - $105 = $104&65535; - $106 = $105 | 16; - $107 = $106&65535; - HEAP16[$103>>1] = $107; - $108 = HEAP32[$pNew>>2]|0; - HEAP32[$0>>2] = $108; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + $46 = HEAP32[$3>>2]|0; + _sqlite3OomFault($46); + $47 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($47|0); } return (0)|0; } -function _sqlite3SubselectError($pParse,$nActual,$nExpect) { - $pParse = $pParse|0; - $nActual = $nActual|0; - $nExpect = $nExpect|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $zFmt = 0, label = 0, sp = 0; +function _sqlite3VdbeAddOp4Int($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $zFmt = sp + 8|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $nActual; - HEAP32[$2>>2] = $nExpect; - HEAP32[$zFmt>>2] = 31246; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$zFmt>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $6; - _sqlite3ErrorMsg($3,$4,$vararg_buffer); - STACKTOP = sp;return; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = HEAP32[$8>>2]|0; + $16 = HEAP32[$9>>2]|0; + $17 = HEAP32[$10>>2]|0; + $18 = (_sqlite3VdbeAddOp3($13,$14,$15,$16,$17)|0); + HEAP32[$12>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$12>>2]|0; + $21 = HEAP32[$11>>2]|0; + $22 = $21; + _sqlite3VdbeChangeP4($19,$20,$22,-14); + $23 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($23|0); } -function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $rHasNullFlag = $rHasNullFlag|0; - $isRowid = $isRowid|0; - var $$ = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $affinity = 0, $cond = 0, $dest = 0, $dest2 = 0, $i = 0, $i1 = 0, $iValToIns = 0, $jmpIfDynamic = 0; - var $nReg = 0, $nVal = 0, $p = 0, $pE2 = 0, $pEList = 0, $pItem = 0, $pKeyInfo = 0, $pLeft = 0, $pList = 0, $pSel = 0, $pSelect = 0, $r1 = 0, $r2 = 0, $r3 = 0, $rReg = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $zMsg = 0; - var label = 0, sp = 0; +function _reindexDatabases($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $vararg_buffer = sp; - $0 = sp + 168|0; - $1 = sp + 164|0; - $2 = sp + 160|0; - $3 = sp + 156|0; - $4 = sp + 152|0; - $jmpIfDynamic = sp + 148|0; - $rReg = sp + 144|0; - $v = sp + 140|0; - $zMsg = sp + 136|0; - $addr = sp + 132|0; - $pLeft = sp + 128|0; - $pKeyInfo = sp + 124|0; - $nVal = sp + 120|0; - $pSelect = sp + 116|0; - $pEList = sp + 112|0; - $dest = sp + 88|0; - $i = sp + 80|0; - $p = sp + 76|0; - $affinity = sp + 172|0; - $i1 = sp + 72|0; - $pList = sp + 68|0; - $pItem = sp + 64|0; - $r1 = sp + 60|0; - $r2 = sp + 56|0; - $r3 = sp + 52|0; - $pE2 = sp + 48|0; - $iValToIns = sp + 44|0; - $pSel = sp + 40|0; - $dest2 = sp + 16|0; - $nReg = sp + 12|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pExpr; - HEAP32[$3>>2] = $rHasNullFlag; - HEAP32[$4>>2] = $isRowid; - HEAP32[$jmpIfDynamic>>2] = -1; - HEAP32[$rReg>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3GetVdbe($5)|0); - HEAP32[$v>>2] = $6; - $7 = HEAP32[$v>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - HEAP32[$0>>2] = 0; - $289 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($289|0); - } - $9 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($9); - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = $12 & 32; - $14 = ($13|0)!=(0); - if (!($14)) { - $15 = HEAP32[$v>>2]|0; - $16 = (_sqlite3VdbeAddOp0($15,20)|0); - HEAP32[$jmpIfDynamic>>2] = $16; - } - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 409|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)==(2); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$jmpIfDynamic>>2]|0; - $25 = ($24|0)>=(0); - $26 = $25 ? 18402 : 31197; - $27 = HEAP32[$2>>2]|0; - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)==(33); - $31 = $30 ? 31209 : 31214; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 424|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$vararg_buffer>>2] = $26; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $31; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $34; - $35 = (_sqlite3MPrintf($23,31221,$vararg_buffer)|0); - HEAP32[$zMsg>>2] = $35; - $36 = HEAP32[$v>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 420|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$zMsg>>2]|0; - (_sqlite3VdbeAddOp4($36,162,$39,0,0,$40,-1)|0); - } - $41 = HEAP32[$2>>2]|0; - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $cond = ($43|0)==(33); - $44 = HEAP32[$2>>2]|0; - do { - if ($cond) { - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$pLeft>>2] = $46; - HEAP32[$pKeyInfo>>2] = 0; - $47 = HEAP32[$pLeft>>2]|0; - $48 = (_sqlite3ExprVectorSize($47)|0); - HEAP32[$nVal>>2] = $48; - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 40|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + 1)|0; - HEAP32[$50>>2] = $52; - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 28|0); - HEAP32[$54>>2] = $51; - $55 = HEAP32[$v>>2]|0; - $56 = HEAP32[$2>>2]|0; - $57 = ((($56)) + 28|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$4>>2]|0; - $60 = ($59|0)!=(0); - $61 = HEAP32[$nVal>>2]|0; - $62 = $60 ? 0 : $61; - $63 = (_sqlite3VdbeAddOp2($55,107,$58,$62)|0); - HEAP32[$addr>>2] = $63; - $64 = HEAP32[$4>>2]|0; - $65 = ($64|0)!=(0); - if ($65) { - $70 = 0; - } else { - $66 = HEAP32[$1>>2]|0; - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$nVal>>2]|0; - $69 = (_sqlite3KeyInfoAlloc($67,$68,1)|0); - $70 = $69; - } - HEAP32[$pKeyInfo>>2] = $70; - $71 = HEAP32[$2>>2]|0; - $72 = ((($71)) + 4|0); - $73 = HEAP32[$72>>2]|0; - $74 = $73 & 2048; - $75 = ($74|0)!=(0); - $76 = HEAP32[$2>>2]|0; - $77 = ((($76)) + 20|0); - L16: do { - if ($75) { - $78 = HEAP32[$77>>2]|0; - HEAP32[$pSelect>>2] = $78; - $79 = HEAP32[$pSelect>>2]|0; - $80 = HEAP32[$79>>2]|0; - HEAP32[$pEList>>2] = $80; - $81 = HEAP32[$pEList>>2]|0; - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$nVal>>2]|0; - $84 = ($82|0)==($83|0); - if ($84) { - $85 = HEAP32[$2>>2]|0; - $86 = ((($85)) + 28|0); - $87 = HEAP32[$86>>2]|0; - _sqlite3SelectDestInit($dest,11,$87); - $88 = HEAP32[$1>>2]|0; - $89 = HEAP32[$2>>2]|0; - $90 = (_exprINAffinity($88,$89)|0); - $91 = ((($dest)) + 4|0); - HEAP32[$91>>2] = $90; - $92 = HEAP32[$pSelect>>2]|0; - $93 = ((($92)) + 12|0); - HEAP32[$93>>2] = 0; - $94 = HEAP32[$1>>2]|0; - $95 = HEAP32[$pSelect>>2]|0; - $96 = (_sqlite3Select($94,$95,$dest)|0); - $97 = ($96|0)!=(0); - $98 = HEAP32[$1>>2]|0; - $99 = HEAP32[$98>>2]|0; - $100 = ((($dest)) + 4|0); - $101 = HEAP32[$100>>2]|0; - _sqlite3DbFree($99,$101); - if ($97) { - $102 = HEAP32[$pKeyInfo>>2]|0; - _sqlite3KeyInfoUnref($102); - HEAP32[$0>>2] = 0; - $289 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($289|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $103 = HEAP32[$i>>2]|0; - $104 = HEAP32[$nVal>>2]|0; - $105 = ($103|0)<($104|0); - if (!($105)) { - break L16; - } - $106 = HEAP32[$pLeft>>2]|0; - $107 = HEAP32[$i>>2]|0; - $108 = (_sqlite3VectorFieldSubexpr($106,$107)|0); - HEAP32[$p>>2] = $108; - $109 = HEAP32[$1>>2]|0; - $110 = HEAP32[$p>>2]|0; - $111 = HEAP32[$i>>2]|0; - $112 = HEAP32[$pEList>>2]|0; - $113 = ((($112)) + 4|0); - $114 = HEAP32[$113>>2]|0; - $115 = (($114) + (($111*20)|0)|0); - $116 = HEAP32[$115>>2]|0; - $117 = (_sqlite3BinaryCompareCollSeq($109,$110,$116)|0); - $118 = HEAP32[$i>>2]|0; - $119 = HEAP32[$pKeyInfo>>2]|0; - $120 = ((($119)) + 20|0); - $121 = (($120) + ($118<<2)|0); - HEAP32[$121>>2] = $117; - $122 = HEAP32[$i>>2]|0; - $123 = (($122) + 1)|0; - HEAP32[$i>>2] = $123; - } - } - } else { - $124 = HEAP32[$77>>2]|0; - $125 = ($124|0)!=(0|0); - if ($125) { - $126 = HEAP32[$2>>2]|0; - $127 = ((($126)) + 20|0); - $128 = HEAP32[$127>>2]|0; - HEAP32[$pList>>2] = $128; - $129 = HEAP32[$pLeft>>2]|0; - $130 = (_sqlite3ExprAffinity($129)|0); - HEAP8[$affinity>>0] = $130; - $131 = HEAP8[$affinity>>0]|0; - $132 = ($131<<24>>24)!=(0); - $$ = $132 ? $130 : 65; - HEAP8[$affinity>>0] = $$; - $133 = HEAP32[$pKeyInfo>>2]|0; - $134 = ($133|0)!=(0|0); - if ($134) { - $135 = HEAP32[$1>>2]|0; - $136 = HEAP32[$2>>2]|0; - $137 = ((($136)) + 12|0); - $138 = HEAP32[$137>>2]|0; - $139 = (_sqlite3ExprCollSeq($135,$138)|0); - $140 = HEAP32[$pKeyInfo>>2]|0; - $141 = ((($140)) + 20|0); - HEAP32[$141>>2] = $139; - } - $142 = HEAP32[$1>>2]|0; - $143 = (_sqlite3GetTempReg($142)|0); - HEAP32[$r1>>2] = $143; - $144 = HEAP32[$1>>2]|0; - $145 = (_sqlite3GetTempReg($144)|0); - HEAP32[$r2>>2] = $145; - $146 = HEAP32[$4>>2]|0; - $147 = ($146|0)!=(0); - if ($147) { - $148 = HEAP32[$v>>2]|0; - $149 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp2($148,79,0,$149)|0); - } - $150 = HEAP32[$pList>>2]|0; - $151 = HEAP32[$150>>2]|0; - HEAP32[$i1>>2] = $151; - $152 = HEAP32[$pList>>2]|0; - $153 = ((($152)) + 4|0); - $154 = HEAP32[$153>>2]|0; - HEAP32[$pItem>>2] = $154; - while(1) { - $155 = HEAP32[$i1>>2]|0; - $156 = ($155|0)>(0); - if (!($156)) { - break; - } - $157 = HEAP32[$pItem>>2]|0; - $158 = HEAP32[$157>>2]|0; - HEAP32[$pE2>>2] = $158; - $159 = HEAP32[$jmpIfDynamic>>2]|0; - $160 = ($159|0)>=(0); - if ($160) { - $161 = HEAP32[$pE2>>2]|0; - $162 = (_sqlite3ExprIsConstant($161)|0); - $163 = ($162|0)!=(0); - if (!($163)) { - $164 = HEAP32[$v>>2]|0; - $165 = HEAP32[$jmpIfDynamic>>2]|0; - (_sqlite3VdbeChangeToNoop($164,$165)|0); - HEAP32[$jmpIfDynamic>>2] = -1; - } - } - $166 = HEAP32[$4>>2]|0; - $167 = ($166|0)!=(0); - if ($167) { - $168 = HEAP32[$pE2>>2]|0; - $169 = (_sqlite3ExprIsInteger($168,$iValToIns)|0); - $170 = ($169|0)!=(0); - if ($170) { - $171 = HEAP32[$v>>2]|0; - $172 = HEAP32[$2>>2]|0; - $173 = ((($172)) + 28|0); - $174 = HEAP32[$173>>2]|0; - $175 = HEAP32[$r2>>2]|0; - $176 = HEAP32[$iValToIns>>2]|0; - (_sqlite3VdbeAddOp3($171,116,$174,$175,$176)|0); - } else { - label = 30; - } - } else { - label = 30; - } - do { - if ((label|0) == 30) { - label = 0; - $177 = HEAP32[$1>>2]|0; - $178 = HEAP32[$pE2>>2]|0; - $179 = HEAP32[$r1>>2]|0; - $180 = (_sqlite3ExprCodeTarget($177,$178,$179)|0); - HEAP32[$r3>>2] = $180; - $181 = HEAP32[$4>>2]|0; - $182 = ($181|0)!=(0); - $183 = HEAP32[$v>>2]|0; - $184 = HEAP32[$r3>>2]|0; - if ($182) { - $185 = HEAP32[$v>>2]|0; - $186 = (_sqlite3VdbeCurrentAddr($185)|0); - $187 = (($186) + 2)|0; - (_sqlite3VdbeAddOp2($183,17,$184,$187)|0); - $188 = HEAP32[$v>>2]|0; - $189 = HEAP32[$2>>2]|0; - $190 = ((($189)) + 28|0); - $191 = HEAP32[$190>>2]|0; - $192 = HEAP32[$r2>>2]|0; - $193 = HEAP32[$r3>>2]|0; - (_sqlite3VdbeAddOp3($188,115,$191,$192,$193)|0); - break; - } else { - $194 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp4($183,99,$184,1,$194,$affinity,1)|0); - $195 = HEAP32[$1>>2]|0; - $196 = HEAP32[$r3>>2]|0; - _sqlite3ExprCacheAffinityChange($195,$196,1); - $197 = HEAP32[$v>>2]|0; - $198 = HEAP32[$2>>2]|0; - $199 = ((($198)) + 28|0); - $200 = HEAP32[$199>>2]|0; - $201 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp2($197,126,$200,$201)|0); - break; - } - } - } while(0); - $202 = HEAP32[$i1>>2]|0; - $203 = (($202) + -1)|0; - HEAP32[$i1>>2] = $203; - $204 = HEAP32[$pItem>>2]|0; - $205 = ((($204)) + 20|0); - HEAP32[$pItem>>2] = $205; - } - $206 = HEAP32[$1>>2]|0; - $207 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($206,$207); - $208 = HEAP32[$1>>2]|0; - $209 = HEAP32[$r2>>2]|0; - _sqlite3ReleaseTempReg($208,$209); - } - } - } while(0); - $210 = HEAP32[$pKeyInfo>>2]|0; - $211 = ($210|0)!=(0|0); - if ($211) { - $212 = HEAP32[$v>>2]|0; - $213 = HEAP32[$addr>>2]|0; - $214 = HEAP32[$pKeyInfo>>2]|0; - _sqlite3VdbeChangeP4($212,$213,$214,-6); - } - } else { - $215 = ((($44)) + 20|0); - $216 = HEAP32[$215>>2]|0; - HEAP32[$pSel>>2] = $216; - $217 = HEAP32[$2>>2]|0; - $218 = HEAP8[$217>>0]|0; - $219 = $218&255; - $220 = ($219|0)==(119); - if ($220) { - $221 = HEAP32[$pSel>>2]|0; - $222 = HEAP32[$221>>2]|0; - $223 = HEAP32[$222>>2]|0; - $224 = $223; - } else { - $224 = 1; - } - HEAP32[$nReg>>2] = $224; - $225 = HEAP32[$1>>2]|0; - $226 = ((($225)) + 44|0); - $227 = HEAP32[$226>>2]|0; - $228 = (($227) + 1)|0; - _sqlite3SelectDestInit($dest2,0,$228); - $229 = HEAP32[$nReg>>2]|0; - $230 = HEAP32[$1>>2]|0; - $231 = ((($230)) + 44|0); - $232 = HEAP32[$231>>2]|0; - $233 = (($232) + ($229))|0; - HEAP32[$231>>2] = $233; - $234 = HEAP32[$2>>2]|0; - $235 = HEAP8[$234>>0]|0; - $236 = $235&255; - $237 = ($236|0)==(119); - if ($237) { - HEAP8[$dest2>>0] = 10; - $238 = ((($dest2)) + 8|0); - $239 = HEAP32[$238>>2]|0; - $240 = ((($dest2)) + 12|0); - HEAP32[$240>>2] = $239; - $241 = HEAP32[$nReg>>2]|0; - $242 = ((($dest2)) + 16|0); - HEAP32[$242>>2] = $241; - $243 = HEAP32[$v>>2]|0; - $244 = ((($dest2)) + 8|0); - $245 = HEAP32[$244>>2]|0; - $246 = ((($dest2)) + 8|0); - $247 = HEAP32[$246>>2]|0; - $248 = HEAP32[$nReg>>2]|0; - $249 = (($247) + ($248))|0; - $250 = (($249) - 1)|0; - (_sqlite3VdbeAddOp3($243,79,0,$245,$250)|0); - } else { - HEAP8[$dest2>>0] = 3; - $251 = HEAP32[$v>>2]|0; - $252 = ((($dest2)) + 8|0); - $253 = HEAP32[$252>>2]|0; - (_sqlite3VdbeAddOp2($251,76,0,$253)|0); - } - $254 = HEAP32[$1>>2]|0; - $255 = HEAP32[$254>>2]|0; - $256 = HEAP32[$pSel>>2]|0; - $257 = ((($256)) + 56|0); - $258 = HEAP32[$257>>2]|0; - _sqlite3ExprDelete($255,$258); - $259 = HEAP32[$1>>2]|0; - $260 = HEAP32[$259>>2]|0; - $261 = (_sqlite3ExprAlloc($260,134,(4284),0)|0); - $262 = HEAP32[$pSel>>2]|0; - $263 = ((($262)) + 56|0); - HEAP32[$263>>2] = $261; - $264 = HEAP32[$pSel>>2]|0; - $265 = ((($264)) + 12|0); - HEAP32[$265>>2] = 0; - $266 = HEAP32[$pSel>>2]|0; - $267 = ((($266)) + 8|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 & -1025; - HEAP32[$267>>2] = $269; - $270 = HEAP32[$1>>2]|0; - $271 = HEAP32[$pSel>>2]|0; - $272 = (_sqlite3Select($270,$271,$dest2)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - $274 = ((($dest2)) + 8|0); - $275 = HEAP32[$274>>2]|0; - HEAP32[$rReg>>2] = $275; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$6>>2] = $10; + HEAP32[$5>>2] = 0; + $11 = HEAP32[$6>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $13; + while(1) { + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = ((($15)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($14|0)<($17|0); + if (!($18)) { + break; + } + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 8|0); + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$7>>2] = $24; + while(1) { + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)!=(0|0); + if (!($26)) { break; } - HEAP32[$0>>2] = 0; - $289 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($289|0); + $27 = HEAP32[$7>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$8>>2] = $29; + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$8>>2]|0; + $32 = HEAP32[$3>>2]|0; + _reindexTable($30,$31,$32); + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$33>>2]|0; + HEAP32[$7>>2] = $34; } - } while(0); - $276 = HEAP32[$3>>2]|0; - $277 = ($276|0)!=(0); - if ($277) { - $278 = HEAP32[$v>>2]|0; - $279 = HEAP32[$2>>2]|0; - $280 = ((($279)) + 28|0); - $281 = HEAP32[$280>>2]|0; - $282 = HEAP32[$3>>2]|0; - _sqlite3SetHasNullFlag($278,$281,$282); + $35 = HEAP32[$5>>2]|0; + $36 = (($35) + 1)|0; + HEAP32[$5>>2] = $36; + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 16|0); + HEAP32[$4>>2] = $38; } - $283 = HEAP32[$jmpIfDynamic>>2]|0; - $284 = ($283|0)>=(0); - if ($284) { - $285 = HEAP32[$v>>2]|0; - $286 = HEAP32[$jmpIfDynamic>>2]|0; - _sqlite3VdbeJumpHere($285,$286); - } - $287 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($287); - $288 = HEAP32[$rReg>>2]|0; - HEAP32[$0>>2] = $288; - $289 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($289|0); -} -function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $destIfFalse = $destIfFalse|0; - $destIfNull = $destIfNull|0; - var $$rRhsHasNull = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $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 $addrTop = 0, $addrTruthOp = 0, $aiMap = 0, $destNotNull = 0, $destStep2 = 0, $destStep6 = 0, $eType = 0, $i = 0, $iDummy = 0, $ii = 0, $labelOk = 0, $nVector = 0, $or$cond = 0, $p = 0, $p1 = 0, $pColl = 0, $pColl2 = 0, $pLeft = 0, $pList = 0, $r2 = 0; - var $r3 = 0, $rLhs = 0, $rLhsOrig = 0, $rRhsHasNull = 0, $regCkNull = 0, $regToFree = 0, $v = 0, $zAff = 0, label = 0, sp = 0; + STACKTOP = sp;return; +} +function _reindexTable($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 120|0; - $1 = sp + 116|0; - $2 = sp + 112|0; - $3 = sp + 108|0; - $rRhsHasNull = sp + 104|0; - $eType = sp + 100|0; - $rLhs = sp + 96|0; - $rLhsOrig = sp + 92|0; - $v = sp + 88|0; - $aiMap = sp + 84|0; - $zAff = sp + 80|0; - $nVector = sp + 76|0; - $iDummy = sp + 72|0; - $pLeft = sp + 68|0; - $i = sp + 64|0; - $destStep2 = sp + 60|0; - $destStep6 = sp + 56|0; - $addrTruthOp = sp + 52|0; - $destNotNull = sp + 48|0; - $addrTop = sp + 44|0; - $pList = sp + 40|0; - $pColl = sp + 36|0; - $labelOk = sp + 32|0; - $r2 = sp + 28|0; - $regToFree = sp + 24|0; - $regCkNull = sp + 20|0; - $ii = sp + 16|0; - $p = sp + 12|0; - $p1 = sp + 8|0; - $pColl2 = sp + 4|0; - $r3 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $destIfFalse; - HEAP32[$3>>2] = $destIfNull; - HEAP32[$rRhsHasNull>>2] = 0; - HEAP32[$aiMap>>2] = 0; - HEAP32[$zAff>>2] = 0; - HEAP32[$destStep6>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pLeft>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3ExprCheckIN($7,$8)|0); - $10 = ($9|0)!=(0); - if ($10) { - STACKTOP = sp;return; - } - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (_exprINAffinity($11,$12)|0); - HEAP32[$zAff>>2] = $13; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3ExprVectorSize($16)|0); - HEAP32[$nVector>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$nVector>>2]|0; - $21 = ($20*5)|0; - $22 = (($21) + 1)|0; - $23 = (_sqlite3DbMallocZero($19,$22,0)|0); - HEAP32[$aiMap>>2] = $23; - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = ((($25)) + 69|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)!=(0); - if (!($28)) { - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 8|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$v>>2] = $31; - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = HEAP32[$3>>2]|0; - $36 = ($34|0)==($35|0); - $$rRhsHasNull = $36 ? 0 : $rRhsHasNull; - $37 = HEAP32[$aiMap>>2]|0; - $38 = (_sqlite3FindInIndex($32,$33,3,$$rRhsHasNull,$37)|0); - HEAP32[$eType>>2] = $38; - $39 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePush($39); - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$pLeft>>2]|0; - $42 = (_exprCodeVector($40,$41,$iDummy)|0); - HEAP32[$rLhsOrig>>2] = $42; - HEAP32[$i>>2] = 0; - while(1) { - $43 = HEAP32[$i>>2]|0; - $44 = HEAP32[$nVector>>2]|0; - $45 = ($43|0)<($44|0); - if (!($45)) { - break; - } - $46 = HEAP32[$i>>2]|0; - $47 = HEAP32[$aiMap>>2]|0; - $48 = (($47) + ($46<<2)|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$i>>2]|0; - $51 = ($49|0)==($50|0); - if (!($51)) { - break; - } - $52 = HEAP32[$i>>2]|0; - $53 = (($52) + 1)|0; - HEAP32[$i>>2] = $53; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$6>>2] = $10; + while(1) { + $11 = HEAP32[$6>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + break; } - $54 = HEAP32[$i>>2]|0; - $55 = HEAP32[$nVector>>2]|0; - $56 = ($54|0)==($55|0); - L11: do { - if ($56) { - $57 = HEAP32[$rLhsOrig>>2]|0; - HEAP32[$rLhs>>2] = $57; - } else { - $58 = HEAP32[$0>>2]|0; - $59 = HEAP32[$nVector>>2]|0; - $60 = (_sqlite3GetTempRange($58,$59)|0); - HEAP32[$rLhs>>2] = $60; - HEAP32[$i>>2] = 0; - while(1) { - $61 = HEAP32[$i>>2]|0; - $62 = HEAP32[$nVector>>2]|0; - $63 = ($61|0)<($62|0); - if (!($63)) { - break L11; - } - $64 = HEAP32[$v>>2]|0; - $65 = HEAP32[$rLhsOrig>>2]|0; - $66 = HEAP32[$i>>2]|0; - $67 = (($65) + ($66))|0; - $68 = HEAP32[$rLhs>>2]|0; - $69 = HEAP32[$i>>2]|0; - $70 = HEAP32[$aiMap>>2]|0; - $71 = (($70) + ($69<<2)|0); - $72 = HEAP32[$71>>2]|0; - $73 = (($68) + ($72))|0; - (_sqlite3VdbeAddOp3($64,84,$67,$73,0)|0); - $74 = HEAP32[$i>>2]|0; - $75 = (($74) + 1)|0; - HEAP32[$i>>2] = $75; - } - } - } while(0); - $76 = HEAP32[$eType>>2]|0; - $77 = ($76|0)==(5); - L18: do { - if ($77) { - $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 20|0); - $80 = HEAP32[$79>>2]|0; - HEAP32[$pList>>2] = $80; - $81 = HEAP32[$0>>2]|0; - $82 = HEAP32[$1>>2]|0; - $83 = ((($82)) + 12|0); - $84 = HEAP32[$83>>2]|0; - $85 = (_sqlite3ExprCollSeq($81,$84)|0); - HEAP32[$pColl>>2] = $85; - $86 = HEAP32[$v>>2]|0; - $87 = (_sqlite3VdbeMakeLabel($86)|0); - HEAP32[$labelOk>>2] = $87; - HEAP32[$regCkNull>>2] = 0; - $88 = HEAP32[$3>>2]|0; - $89 = HEAP32[$2>>2]|0; - $90 = ($88|0)!=($89|0); - if ($90) { - $91 = HEAP32[$0>>2]|0; - $92 = (_sqlite3GetTempReg($91)|0); - HEAP32[$regCkNull>>2] = $92; - $93 = HEAP32[$v>>2]|0; - $94 = HEAP32[$rLhs>>2]|0; - $95 = HEAP32[$rLhs>>2]|0; - $96 = HEAP32[$regCkNull>>2]|0; - (_sqlite3VdbeAddOp3($93,43,$94,$95,$96)|0); - } - HEAP32[$ii>>2] = 0; - while(1) { - $97 = HEAP32[$ii>>2]|0; - $98 = HEAP32[$pList>>2]|0; - $99 = HEAP32[$98>>2]|0; - $100 = ($97|0)<($99|0); - if (!($100)) { - break; - } - $101 = HEAP32[$0>>2]|0; - $102 = HEAP32[$ii>>2]|0; - $103 = HEAP32[$pList>>2]|0; - $104 = ((($103)) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = (($105) + (($102*20)|0)|0); - $107 = HEAP32[$106>>2]|0; - $108 = (_sqlite3ExprCodeTemp($101,$107,$regToFree)|0); - HEAP32[$r2>>2] = $108; - $109 = HEAP32[$regCkNull>>2]|0; - $110 = ($109|0)!=(0); - if ($110) { - $111 = HEAP32[$ii>>2]|0; - $112 = HEAP32[$pList>>2]|0; - $113 = ((($112)) + 4|0); - $114 = HEAP32[$113>>2]|0; - $115 = (($114) + (($111*20)|0)|0); - $116 = HEAP32[$115>>2]|0; - $117 = (_sqlite3ExprCanBeNull($116)|0); - $118 = ($117|0)!=(0); - if ($118) { - $119 = HEAP32[$v>>2]|0; - $120 = HEAP32[$regCkNull>>2]|0; - $121 = HEAP32[$r2>>2]|0; - $122 = HEAP32[$regCkNull>>2]|0; - (_sqlite3VdbeAddOp3($119,43,$120,$121,$122)|0); - } - } - $123 = HEAP32[$ii>>2]|0; - $124 = HEAP32[$pList>>2]|0; - $125 = HEAP32[$124>>2]|0; - $126 = (($125) - 1)|0; - $127 = ($123|0)<($126|0); - if ($127) { - label = 22; - } else { - $128 = HEAP32[$3>>2]|0; - $129 = HEAP32[$2>>2]|0; - $130 = ($128|0)!=($129|0); - if ($130) { - label = 22; - } else { - $139 = HEAP32[$v>>2]|0; - $140 = HEAP32[$rLhs>>2]|0; - $141 = HEAP32[$2>>2]|0; - $142 = HEAP32[$r2>>2]|0; - $143 = HEAP32[$pColl>>2]|0; - (_sqlite3VdbeAddOp4($139,36,$140,$141,$142,$143,-4)|0); - $144 = HEAP32[$v>>2]|0; - $145 = HEAP32[$zAff>>2]|0; - $146 = HEAP8[$145>>0]|0; - $147 = $146 << 24 >> 24; - $148 = $147 | 16; - $149 = $148&255; - _sqlite3VdbeChangeP5($144,$149); - } - } - if ((label|0) == 22) { - label = 0; - $131 = HEAP32[$v>>2]|0; - $132 = HEAP32[$rLhs>>2]|0; - $133 = HEAP32[$labelOk>>2]|0; - $134 = HEAP32[$r2>>2]|0; - $135 = HEAP32[$pColl>>2]|0; - (_sqlite3VdbeAddOp4($131,37,$132,$133,$134,$135,-4)|0); - $136 = HEAP32[$v>>2]|0; - $137 = HEAP32[$zAff>>2]|0; - $138 = HEAP8[$137>>0]|0; - _sqlite3VdbeChangeP5($136,$138); - } - $150 = HEAP32[$0>>2]|0; - $151 = HEAP32[$regToFree>>2]|0; - _sqlite3ReleaseTempReg($150,$151); - $152 = HEAP32[$ii>>2]|0; - $153 = (($152) + 1)|0; - HEAP32[$ii>>2] = $153; - } - $154 = HEAP32[$regCkNull>>2]|0; - $155 = ($154|0)!=(0); - if ($155) { - $156 = HEAP32[$v>>2]|0; - $157 = HEAP32[$regCkNull>>2]|0; - $158 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($156,34,$157,$158)|0); - $159 = HEAP32[$v>>2]|0; - $160 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($159,$160)|0); - } - $161 = HEAP32[$v>>2]|0; - $162 = HEAP32[$labelOk>>2]|0; - _sqlite3VdbeResolveLabel($161,$162); - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$regCkNull>>2]|0; - _sqlite3ReleaseTempReg($163,$164); - } else { - $165 = HEAP32[$3>>2]|0; - $166 = HEAP32[$2>>2]|0; - $167 = ($165|0)==($166|0); - if ($167) { - $168 = HEAP32[$2>>2]|0; - HEAP32[$destStep2>>2] = $168; - } else { - $169 = HEAP32[$v>>2]|0; - $170 = (_sqlite3VdbeMakeLabel($169)|0); - HEAP32[$destStep6>>2] = $170; - HEAP32[$destStep2>>2] = $170; - } - HEAP32[$i>>2] = 0; - while(1) { - $171 = HEAP32[$i>>2]|0; - $172 = HEAP32[$nVector>>2]|0; - $173 = ($171|0)<($172|0); - if (!($173)) { - break; - } - $174 = HEAP32[$1>>2]|0; - $175 = ((($174)) + 12|0); - $176 = HEAP32[$175>>2]|0; - $177 = HEAP32[$i>>2]|0; - $178 = (_sqlite3VectorFieldSubexpr($176,$177)|0); - HEAP32[$p>>2] = $178; - $179 = HEAP32[$p>>2]|0; - $180 = (_sqlite3ExprCanBeNull($179)|0); - $181 = ($180|0)!=(0); - if ($181) { - $182 = HEAP32[$v>>2]|0; - $183 = HEAP32[$rLhs>>2]|0; - $184 = HEAP32[$i>>2]|0; - $185 = (($183) + ($184))|0; - $186 = HEAP32[$destStep2>>2]|0; - (_sqlite3VdbeAddOp2($182,34,$185,$186)|0); - } - $187 = HEAP32[$i>>2]|0; - $188 = (($187) + 1)|0; - HEAP32[$i>>2] = $188; - } - $189 = HEAP32[$eType>>2]|0; - $190 = ($189|0)==(1); - $191 = HEAP32[$v>>2]|0; - do { - if ($190) { - $192 = HEAP32[$1>>2]|0; - $193 = ((($192)) + 28|0); - $194 = HEAP32[$193>>2]|0; - $195 = HEAP32[$2>>2]|0; - $196 = HEAP32[$rLhs>>2]|0; - (_sqlite3VdbeAddOp3($191,32,$194,$195,$196)|0); - $197 = HEAP32[$v>>2]|0; - $198 = (_sqlite3VdbeAddOp0($197,13)|0); - HEAP32[$addrTruthOp>>2] = $198; - } else { - $199 = HEAP32[$rLhs>>2]|0; - $200 = HEAP32[$nVector>>2]|0; - $201 = HEAP32[$zAff>>2]|0; - $202 = HEAP32[$nVector>>2]|0; - (_sqlite3VdbeAddOp4($191,98,$199,$200,0,$201,$202)|0); - $203 = HEAP32[$2>>2]|0; - $204 = HEAP32[$3>>2]|0; - $205 = ($203|0)==($204|0); - $206 = HEAP32[$v>>2]|0; - $207 = HEAP32[$1>>2]|0; - $208 = ((($207)) + 28|0); - $209 = HEAP32[$208>>2]|0; - if ($205) { - $210 = HEAP32[$2>>2]|0; - $211 = HEAP32[$rLhs>>2]|0; - $212 = HEAP32[$nVector>>2]|0; - (_sqlite3VdbeAddOp4Int($206,30,$209,$210,$211,$212)|0); - break L18; - } else { - $213 = HEAP32[$rLhs>>2]|0; - $214 = HEAP32[$nVector>>2]|0; - $215 = (_sqlite3VdbeAddOp4Int($206,31,$209,0,$213,$214)|0); - HEAP32[$addrTruthOp>>2] = $215; - break; - } - } - } while(0); - $216 = HEAP32[$rRhsHasNull>>2]|0; - $217 = ($216|0)!=(0); - $218 = HEAP32[$nVector>>2]|0; - $219 = ($218|0)==(1); - $or$cond = $217 & $219; - if ($or$cond) { - $220 = HEAP32[$v>>2]|0; - $221 = HEAP32[$rRhsHasNull>>2]|0; - $222 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($220,35,$221,$222)|0); - } - $223 = HEAP32[$2>>2]|0; - $224 = HEAP32[$3>>2]|0; - $225 = ($223|0)==($224|0); - if ($225) { - $226 = HEAP32[$v>>2]|0; - $227 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($226,$227)|0); - } - $228 = HEAP32[$destStep6>>2]|0; - $229 = ($228|0)!=(0); - if ($229) { - $230 = HEAP32[$v>>2]|0; - $231 = HEAP32[$destStep6>>2]|0; - _sqlite3VdbeResolveLabel($230,$231); - } - $232 = HEAP32[$v>>2]|0; - $233 = HEAP32[$1>>2]|0; - $234 = ((($233)) + 28|0); - $235 = HEAP32[$234>>2]|0; - $236 = HEAP32[$2>>2]|0; - $237 = (_sqlite3VdbeAddOp2($232,57,$235,$236)|0); - HEAP32[$addrTop>>2] = $237; - $238 = HEAP32[$nVector>>2]|0; - $239 = ($238|0)>(1); - if ($239) { - $240 = HEAP32[$v>>2]|0; - $241 = (_sqlite3VdbeMakeLabel($240)|0); - HEAP32[$destNotNull>>2] = $241; - } else { - $242 = HEAP32[$2>>2]|0; - HEAP32[$destNotNull>>2] = $242; - } - HEAP32[$i>>2] = 0; - while(1) { - $243 = HEAP32[$i>>2]|0; - $244 = HEAP32[$nVector>>2]|0; - $245 = ($243|0)<($244|0); - if (!($245)) { - break; - } - $246 = HEAP32[$0>>2]|0; - $247 = (_sqlite3GetTempReg($246)|0); - HEAP32[$r3>>2] = $247; - $248 = HEAP32[$pLeft>>2]|0; - $249 = HEAP32[$i>>2]|0; - $250 = (_sqlite3VectorFieldSubexpr($248,$249)|0); - HEAP32[$p1>>2] = $250; - $251 = HEAP32[$0>>2]|0; - $252 = HEAP32[$p1>>2]|0; - $253 = (_sqlite3ExprCollSeq($251,$252)|0); - HEAP32[$pColl2>>2] = $253; - $254 = HEAP32[$v>>2]|0; - $255 = HEAP32[$1>>2]|0; - $256 = ((($255)) + 28|0); - $257 = HEAP32[$256>>2]|0; - $258 = HEAP32[$i>>2]|0; - $259 = HEAP32[$r3>>2]|0; - (_sqlite3VdbeAddOp3($254,96,$257,$258,$259)|0); - $260 = HEAP32[$v>>2]|0; - $261 = HEAP32[$rLhs>>2]|0; - $262 = HEAP32[$i>>2]|0; - $263 = (($261) + ($262))|0; - $264 = HEAP32[$destNotNull>>2]|0; - $265 = HEAP32[$r3>>2]|0; - $266 = HEAP32[$pColl2>>2]|0; - (_sqlite3VdbeAddOp4($260,36,$263,$264,$265,$266,-4)|0); - $267 = HEAP32[$0>>2]|0; - $268 = HEAP32[$r3>>2]|0; - _sqlite3ReleaseTempReg($267,$268); - $269 = HEAP32[$i>>2]|0; - $270 = (($269) + 1)|0; - HEAP32[$i>>2] = $270; - } - $271 = HEAP32[$v>>2]|0; - $272 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($271,13,0,$272)|0); - $273 = HEAP32[$nVector>>2]|0; - $274 = ($273|0)>(1); - if ($274) { - $275 = HEAP32[$v>>2]|0; - $276 = HEAP32[$destNotNull>>2]|0; - _sqlite3VdbeResolveLabel($275,$276); - $277 = HEAP32[$v>>2]|0; - $278 = HEAP32[$1>>2]|0; - $279 = ((($278)) + 28|0); - $280 = HEAP32[$279>>2]|0; - $281 = HEAP32[$addrTop>>2]|0; - $282 = (($281) + 1)|0; - (_sqlite3VdbeAddOp2($277,7,$280,$282)|0); - $283 = HEAP32[$v>>2]|0; - $284 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($283,13,0,$284)|0); - } - $285 = HEAP32[$v>>2]|0; - $286 = HEAP32[$addrTruthOp>>2]|0; - _sqlite3VdbeJumpHere($285,$286); + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + label = 5; + } else { + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = (_collationMatch($15,$16)|0); + $18 = ($17|0)!=(0); + if ($18) { + label = 5; } - } while(0); - $287 = HEAP32[$rLhs>>2]|0; - $288 = HEAP32[$rLhsOrig>>2]|0; - $289 = ($287|0)!=($288|0); - if ($289) { - $290 = HEAP32[$0>>2]|0; - $291 = HEAP32[$rLhs>>2]|0; - _sqlite3ReleaseTempReg($290,$291); - } - $292 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($292); - } - $293 = HEAP32[$0>>2]|0; - $294 = HEAP32[$293>>2]|0; - $295 = HEAP32[$aiMap>>2]|0; - _sqlite3DbFree($294,$295); - $296 = HEAP32[$0>>2]|0; - $297 = HEAP32[$296>>2]|0; - $298 = HEAP32[$zAff>>2]|0; - _sqlite3DbFree($297,$298); + } + if ((label|0) == 5) { + label = 0; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 64|0); + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3SchemaToIndex($20,$23)|0); + HEAP32[$7>>2] = $24; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$7>>2]|0; + _sqlite3BeginWriteOperation($25,0,$26); + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$6>>2]|0; + _sqlite3RefillIndex($27,$28,-1); + } + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$6>>2] = $31; + } STACKTOP = sp;return; } -function _exprCodeBetween($pParse,$pExpr,$dest,$xJump,$jumpIfNull) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $dest = $dest|0; - $xJump = $xJump|0; - $jumpIfNull = $jumpIfNull|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $compLeft = 0, $compRight = 0, $exprAnd = 0, $exprX = 0, $regFree1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3RefillIndex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $0 = sp + 216|0; - $1 = sp + 212|0; - $2 = sp + 208|0; - $3 = sp + 204|0; - $4 = sp + 200|0; - $exprAnd = sp + 152|0; - $compLeft = sp + 104|0; - $compRight = sp + 56|0; - $exprX = sp + 8|0; - $regFree1 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $dest; - HEAP32[$3>>2] = $xJump; - HEAP32[$4>>2] = $jumpIfNull; - HEAP32[$regFree1>>2] = 0; - dest=$compLeft; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - dest=$compRight; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - dest=$exprAnd; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP32[$6>>2]|0; - dest=$exprX; src=$7; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP8[$exprAnd>>0] = 28; - $8 = ((($exprAnd)) + 12|0); - HEAP32[$8>>2] = $compLeft; - $9 = ((($exprAnd)) + 16|0); - HEAP32[$9>>2] = $compRight; - HEAP8[$compLeft>>0] = 41; - $10 = ((($compLeft)) + 12|0); - HEAP32[$10>>2] = $exprX; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = ((($compLeft)) + 16|0); - HEAP32[$17>>2] = $16; - HEAP8[$compRight>>0] = 39; - $18 = ((($compRight)) + 12|0); - HEAP32[$18>>2] = $exprX; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($23)) + 20|0); + STACKTOP = STACKTOP + 80|0; + $3 = sp + 64|0; + $4 = sp + 60|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + $19 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$6>>2] = $22; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 40|0); $25 = HEAP32[$24>>2]|0; - $26 = ((($compRight)) + 16|0); - HEAP32[$26>>2] = $25; - $27 = HEAP32[$0>>2]|0; - $28 = (_exprCodeVector($27,$exprX,$regFree1)|0); - _exprToRegister($exprX,$28); - $29 = HEAP32[$3>>2]|0; - $30 = ($29|0)!=(0|0); - if ($30) { - $31 = HEAP32[$3>>2]|0; - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$4>>2]|0; - FUNCTION_TABLE_viiii[$31 & 255]($32,$exprAnd,$33,$34); - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($40,$41); - STACKTOP = sp;return; - } else { - $35 = ((($exprX)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = $36 | 1; - HEAP32[$35>>2] = $37; - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$2>>2]|0; - (_sqlite3ExprCodeTarget($38,$exprAnd,$39)|0); - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($40,$41); + $26 = (($25) + 1)|0; + HEAP32[$24>>2] = $26; + HEAP32[$7>>2] = $25; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 40|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$28>>2] = $30; + HEAP32[$8>>2] = $29; + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$31>>2]|0; + HEAP32[$17>>2] = $32; + $33 = HEAP32[$17>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 24|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_sqlite3SchemaToIndex($33,$36)|0); + HEAP32[$18>>2] = $37; + $38 = HEAP32[$3>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$17>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$18>>2]|0; + $45 = (($43) + ($44<<4)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_sqlite3AuthCheck($38,27,$40,0,$46)|0); + $48 = ($47|0)!=(0); + if ($48) { STACKTOP = sp;return; } -} -function _exprCodeVector($pParse,$p,$piFreeable) { - $pParse = $pParse|0; - $p = $p|0; - $piFreeable = $piFreeable|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iResult = 0, $nResult = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $iResult = sp + 8|0; - $nResult = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $piFreeable; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3ExprVectorSize($3)|0); - HEAP32[$nResult>>2] = $4; - $5 = HEAP32[$nResult>>2]|0; - $6 = ($5|0)==(1); - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = (_sqlite3ExprCodeTemp($7,$8,$9)|0); - HEAP32[$iResult>>2] = $10; - $44 = HEAP32[$iResult>>2]|0; - STACKTOP = sp;return ($44|0); - } - $11 = HEAP32[$2>>2]|0; - HEAP32[$11>>2] = 0; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==(119); - $16 = HEAP32[$0>>2]|0; - if ($15) { - $17 = HEAP32[$1>>2]|0; - $18 = (_sqlite3CodeSubselect($16,$17,0,0)|0); - HEAP32[$iResult>>2] = $18; - $44 = HEAP32[$iResult>>2]|0; - STACKTOP = sp;return ($44|0); + $49 = HEAP32[$3>>2]|0; + $50 = HEAP32[$18>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = ((($51)) + 28|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = HEAP32[$54>>2]|0; + _sqlite3TableLock($49,$50,$53,1,$55); + $56 = HEAP32[$3>>2]|0; + $57 = (_sqlite3GetVdbe($56)|0); + HEAP32[$14>>2] = $57; + $58 = HEAP32[$14>>2]|0; + $59 = ($58|0)==(0|0); + if ($59) { + STACKTOP = sp;return; } - $19 = ((($16)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[$iResult>>2] = $21; - $22 = HEAP32[$nResult>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 44|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($22))|0; - HEAP32[$24>>2] = $26; - HEAP32[$i>>2] = 0; - while(1) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$nResult>>2]|0; - $29 = ($27|0)<($28|0); - if (!($29)) { - break; - } - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = ((($34)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + (($31*20)|0)|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$i>>2]|0; - $40 = HEAP32[$iResult>>2]|0; - $41 = (($39) + ($40))|0; - _sqlite3ExprCode($30,$38,$41); - $42 = HEAP32[$i>>2]|0; - $43 = (($42) + 1)|0; - HEAP32[$i>>2] = $43; + $60 = HEAP32[$5>>2]|0; + $61 = ($60|0)>=(0); + if ($61) { + $62 = HEAP32[$5>>2]|0; + HEAP32[$12>>2] = $62; + } else { + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 44|0); + $65 = HEAP32[$64>>2]|0; + HEAP32[$12>>2] = $65; } - $44 = HEAP32[$iResult>>2]|0; - STACKTOP = sp;return ($44|0); + $66 = HEAP32[$3>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = (_sqlite3KeyInfoOfIndex($66,$67)|0); + HEAP32[$15>>2] = $68; + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 40|0); + $71 = HEAP32[$70>>2]|0; + $72 = (($71) + 1)|0; + HEAP32[$70>>2] = $72; + HEAP32[$9>>2] = $71; + $73 = HEAP32[$14>>2]|0; + $74 = HEAP32[$9>>2]|0; + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 50|0); + $77 = HEAP16[$76>>1]|0; + $78 = $77&65535; + $79 = HEAP32[$15>>2]|0; + $80 = (_sqlite3KeyInfoRef($79)|0); + (_sqlite3VdbeAddOp4($73,108,$74,0,$78,$80,-6)|0); + $81 = HEAP32[$3>>2]|0; + $82 = HEAP32[$7>>2]|0; + $83 = HEAP32[$18>>2]|0; + $84 = HEAP32[$6>>2]|0; + _sqlite3OpenTable($81,$82,$83,$84,104); + $85 = HEAP32[$14>>2]|0; + $86 = HEAP32[$7>>2]|0; + $87 = (_sqlite3VdbeAddOp2($85,57,$86,0)|0); + HEAP32[$10>>2] = $87; + $88 = HEAP32[$3>>2]|0; + $89 = (_sqlite3GetTempReg($88)|0); + HEAP32[$16>>2] = $89; + $90 = HEAP32[$3>>2]|0; + $91 = HEAP32[$4>>2]|0; + $92 = HEAP32[$7>>2]|0; + $93 = HEAP32[$16>>2]|0; + (_sqlite3GenerateIndexKey($90,$91,$92,$93,0,$13,0,0)|0); + $94 = HEAP32[$14>>2]|0; + $95 = HEAP32[$9>>2]|0; + $96 = HEAP32[$16>>2]|0; + (_sqlite3VdbeAddOp2($94,125,$95,$96)|0); + $97 = HEAP32[$3>>2]|0; + $98 = HEAP32[$13>>2]|0; + _sqlite3ResolvePartIdxLabel($97,$98); + $99 = HEAP32[$14>>2]|0; + $100 = HEAP32[$7>>2]|0; + $101 = HEAP32[$10>>2]|0; + $102 = (($101) + 1)|0; + (_sqlite3VdbeAddOp2($99,7,$100,$102)|0); + $103 = HEAP32[$14>>2]|0; + $104 = HEAP32[$10>>2]|0; + _sqlite3VdbeJumpHere($103,$104); + $105 = HEAP32[$5>>2]|0; + $106 = ($105|0)<(0); + if ($106) { + $107 = HEAP32[$14>>2]|0; + $108 = HEAP32[$12>>2]|0; + $109 = HEAP32[$18>>2]|0; + (_sqlite3VdbeAddOp2($107,131,$108,$109)|0); + } + $110 = HEAP32[$14>>2]|0; + $111 = HEAP32[$8>>2]|0; + $112 = HEAP32[$12>>2]|0; + $113 = HEAP32[$18>>2]|0; + $114 = HEAP32[$15>>2]|0; + (_sqlite3VdbeAddOp4($110,105,$111,$112,$113,$114,-6)|0); + $115 = HEAP32[$14>>2]|0; + $116 = HEAP32[$5>>2]|0; + $117 = ($116|0)>=(0); + $118 = $117 ? 16 : 0; + $119 = 1 | $118; + $120 = $119&255; + _sqlite3VdbeChangeP5($115,$120); + $121 = HEAP32[$14>>2]|0; + $122 = HEAP32[$9>>2]|0; + $123 = (_sqlite3VdbeAddOp2($121,55,$122,0)|0); + HEAP32[$10>>2] = $123; + $124 = HEAP32[$4>>2]|0; + $125 = ((($124)) + 54|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = ($127|0)!=(0); + $129 = HEAP32[$14>>2]|0; + $130 = (_sqlite3VdbeCurrentAddr($129)|0); + if ($128) { + $131 = (($130) + 3)|0; + HEAP32[$19>>2] = $131; + $132 = HEAP32[$14>>2]|0; + $133 = HEAP32[$19>>2]|0; + (_sqlite3VdbeGoto($132,$133)|0); + $134 = HEAP32[$14>>2]|0; + $135 = (_sqlite3VdbeCurrentAddr($134)|0); + HEAP32[$11>>2] = $135; + $136 = HEAP32[$14>>2]|0; + $137 = HEAP32[$9>>2]|0; + $138 = HEAP32[$19>>2]|0; + $139 = HEAP32[$16>>2]|0; + $140 = HEAP32[$4>>2]|0; + $141 = ((($140)) + 50|0); + $142 = HEAP16[$141>>1]|0; + $143 = $142&65535; + (_sqlite3VdbeAddOp4Int($136,119,$137,$138,$139,$143)|0); + $144 = HEAP32[$3>>2]|0; + $145 = HEAP32[$4>>2]|0; + _sqlite3UniqueConstraint($144,2,$145); + } else { + HEAP32[$11>>2] = $130; + } + $146 = HEAP32[$14>>2]|0; + $147 = HEAP32[$9>>2]|0; + $148 = HEAP32[$16>>2]|0; + $149 = HEAP32[$8>>2]|0; + (_sqlite3VdbeAddOp3($146,120,$147,$148,$149)|0); + $150 = HEAP32[$14>>2]|0; + $151 = HEAP32[$8>>2]|0; + (_sqlite3VdbeAddOp3($150,53,$151,0,-1)|0); + $152 = HEAP32[$14>>2]|0; + $153 = HEAP32[$8>>2]|0; + $154 = HEAP32[$16>>2]|0; + (_sqlite3VdbeAddOp3($152,126,$153,$154,0)|0); + $155 = HEAP32[$14>>2]|0; + _sqlite3VdbeChangeP5($155,16); + $156 = HEAP32[$3>>2]|0; + $157 = HEAP32[$16>>2]|0; + _sqlite3ReleaseTempReg($156,$157); + $158 = HEAP32[$14>>2]|0; + $159 = HEAP32[$9>>2]|0; + $160 = HEAP32[$11>>2]|0; + (_sqlite3VdbeAddOp2($158,3,$159,$160)|0); + $161 = HEAP32[$14>>2]|0; + $162 = HEAP32[$10>>2]|0; + _sqlite3VdbeJumpHere($161,$162); + $163 = HEAP32[$14>>2]|0; + $164 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp1($163,111,$164)|0); + $165 = HEAP32[$14>>2]|0; + $166 = HEAP32[$8>>2]|0; + (_sqlite3VdbeAddOp1($165,111,$166)|0); + $167 = HEAP32[$14>>2]|0; + $168 = HEAP32[$9>>2]|0; + (_sqlite3VdbeAddOp1($167,111,$168)|0); + STACKTOP = sp;return; } -function _exprToRegister($p,$iReg) { - $p = $p|0; - $iReg = $iReg|0; - var $0 = 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, label = 0, sp = 0; +function _sqlite3KeyInfoRef($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iReg; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 38|0); - HEAP8[$5>>0] = $3; - $6 = HEAP32[$0>>2]|0; - HEAP8[$6>>0] = -99; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if ($3) { + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + 1)|0; + HEAP32[$4>>2] = $6; + } $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 28|0); - HEAP32[$9>>2] = $7; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = $12 & -4097; - HEAP32[$11>>2] = $13; - STACKTOP = sp;return; + STACKTOP = sp;return ($7|0); } -function _sqlite3ExprIfFalse($pParse,$pExpr,$dest,$jumpIfNull) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $dest = $dest|0; - $jumpIfNull = $jumpIfNull|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $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, $d2 = 0; - var $destIfNull = 0, $op = 0, $or$cond = 0, $r1 = 0, $r2 = 0, $regFree1 = 0, $regFree2 = 0, $v = 0, label = 0, sp = 0; +function _sqlite3GenerateIndexKey($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $v = sp + 28|0; - $op = sp + 24|0; - $regFree1 = sp + 20|0; - $regFree2 = sp + 16|0; - $r1 = sp + 12|0; - $r2 = sp + 8|0; - $d2 = sp + 4|0; - $destIfNull = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $dest; - HEAP32[$3>>2] = $jumpIfNull; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$v>>2] = $6; - HEAP32[$op>>2] = 0; - HEAP32[$regFree1>>2] = 0; - HEAP32[$regFree2>>2] = 0; - $7 = HEAP32[$v>>2]|0; - $8 = ($7|0)==(0|0); - $9 = HEAP32[$1>>2]|0; - $10 = ($9|0)==(0|0); - $or$cond = $8 | $10; - if ($or$cond) { - STACKTOP = sp;return; - } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = (($13) + 0)|0; - $15 = $14 ^ 1; - $16 = (($15) - 0)|0; - HEAP32[$op>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - L4: do { - switch ($19|0) { - case 28: { - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 12|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$3>>2]|0; - _sqlite3ExprIfFalse($20,$23,$24,$25); - $26 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePush($26); - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$2>>2]|0; - $32 = HEAP32[$3>>2]|0; - _sqlite3ExprIfFalse($27,$30,$31,$32); - $33 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($33); - break; - } - case 27: { - $34 = HEAP32[$v>>2]|0; - $35 = (_sqlite3VdbeMakeLabel($34)|0); - HEAP32[$d2>>2] = $35; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 12|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$d2>>2]|0; - $41 = HEAP32[$3>>2]|0; - $42 = $41 ^ 16; - _sqlite3ExprIfTrue($36,$39,$40,$42); - $43 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePush($43); - $44 = HEAP32[$0>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 16|0); - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$2>>2]|0; - $49 = HEAP32[$3>>2]|0; - _sqlite3ExprIfFalse($44,$47,$48,$49); - $50 = HEAP32[$v>>2]|0; - $51 = HEAP32[$d2>>2]|0; - _sqlite3VdbeResolveLabel($50,$51); - $52 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($52); - break; - } - case 19: { - $53 = HEAP32[$0>>2]|0; - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 12|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$2>>2]|0; - $58 = HEAP32[$3>>2]|0; - _sqlite3ExprIfTrue($53,$56,$57,$58); - break; - } - case 148: case 29: { - $59 = HEAP32[$1>>2]|0; - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = ($61|0)==(29); - $63 = $62 ? 36 : 37; - HEAP32[$op>>2] = $63; - HEAP32[$3>>2] = 128; - label = 7; - break; - } - case 37: case 36: case 41: case 38: case 39: case 40: { - label = 7; - break; - } - case 35: case 34: { - $91 = HEAP32[$0>>2]|0; - $92 = HEAP32[$1>>2]|0; - $93 = ((($92)) + 12|0); - $94 = HEAP32[$93>>2]|0; - $95 = (_sqlite3ExprCodeTemp($91,$94,$regFree1)|0); - HEAP32[$r1>>2] = $95; - $96 = HEAP32[$v>>2]|0; - $97 = HEAP32[$op>>2]|0; - $98 = HEAP32[$r1>>2]|0; - $99 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($96,$97,$98,$99)|0); - break; - } - case 32: { - $100 = HEAP32[$0>>2]|0; - $101 = HEAP32[$1>>2]|0; - $102 = HEAP32[$2>>2]|0; - $103 = HEAP32[$3>>2]|0; - _exprCodeBetween($100,$101,$102,133,$103); - break; - } - case 33: { - $104 = HEAP32[$3>>2]|0; - $105 = ($104|0)!=(0); - if ($105) { - $106 = HEAP32[$0>>2]|0; - $107 = HEAP32[$1>>2]|0; - $108 = HEAP32[$2>>2]|0; - $109 = HEAP32[$2>>2]|0; - _sqlite3ExprCodeIN($106,$107,$108,$109); - break L4; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + $19 = sp; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + HEAP32[$15>>2] = $7; + $20 = HEAP32[$8>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$16>>2] = $22; + $23 = HEAP32[$13>>2]|0; + $24 = ($23|0)!=(0|0); + do { + if ($24) { + $25 = HEAP32[$9>>2]|0; + $26 = ((($25)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$16>>2]|0; + $30 = (_sqlite3VdbeMakeLabel($29)|0); + $31 = HEAP32[$13>>2]|0; + HEAP32[$31>>2] = $30; + $32 = HEAP32[$10>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = ((($33)) + 60|0); + HEAP32[$34>>2] = $32; + $35 = HEAP32[$8>>2]|0; + _sqlite3ExprCachePush($35); + $36 = HEAP32[$8>>2]|0; + $37 = HEAP32[$9>>2]|0; + $38 = ((($37)) + 36|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$13>>2]|0; + $41 = HEAP32[$40>>2]|0; + _sqlite3ExprIfFalseDup($36,$39,$41,16); + break; } else { - $110 = HEAP32[$v>>2]|0; - $111 = (_sqlite3VdbeMakeLabel($110)|0); - HEAP32[$destIfNull>>2] = $111; - $112 = HEAP32[$0>>2]|0; - $113 = HEAP32[$1>>2]|0; - $114 = HEAP32[$2>>2]|0; - $115 = HEAP32[$destIfNull>>2]|0; - _sqlite3ExprCodeIN($112,$113,$114,$115); - $116 = HEAP32[$v>>2]|0; - $117 = HEAP32[$destIfNull>>2]|0; - _sqlite3VdbeResolveLabel($116,$117); - break L4; + $42 = HEAP32[$13>>2]|0; + HEAP32[$42>>2] = 0; + break; } - break; - } - default: { - label = 14; - } } } while(0); - if ((label|0) == 7) { - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 12|0); - $66 = HEAP32[$65>>2]|0; - $67 = (_sqlite3ExprIsVector($66)|0); - $68 = ($67|0)!=(0); - if ($68) { - label = 14; + $43 = HEAP32[$12>>2]|0; + $44 = ($43|0)!=(0); + if ($44) { + $45 = HEAP32[$9>>2]|0; + $46 = ((($45)) + 55|0); + $47 = HEAP8[$46>>0]|0; + $48 = ($47&255) >>> 3; + $49 = $48 & 1; + $50 = $49&255; + $51 = ($50|0)!=(0); + if ($51) { + $52 = HEAP32[$9>>2]|0; + $53 = ((($52)) + 50|0); + $54 = HEAP16[$53>>1]|0; + $$sink = $54; } else { - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$1>>2]|0; - $71 = ((($70)) + 12|0); - $72 = HEAP32[$71>>2]|0; - $73 = (_sqlite3ExprCodeTemp($69,$72,$regFree1)|0); - HEAP32[$r1>>2] = $73; - $74 = HEAP32[$0>>2]|0; - $75 = HEAP32[$1>>2]|0; - $76 = ((($75)) + 16|0); - $77 = HEAP32[$76>>2]|0; - $78 = (_sqlite3ExprCodeTemp($74,$77,$regFree2)|0); - HEAP32[$r2>>2] = $78; - $79 = HEAP32[$0>>2]|0; - $80 = HEAP32[$1>>2]|0; - $81 = ((($80)) + 12|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$1>>2]|0; - $84 = ((($83)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $86 = HEAP32[$op>>2]|0; - $87 = HEAP32[$r1>>2]|0; - $88 = HEAP32[$r2>>2]|0; - $89 = HEAP32[$2>>2]|0; - $90 = HEAP32[$3>>2]|0; - (_codeCompare($79,$82,$85,$86,$87,$88,$89,$90)|0); + label = 8; } + } else { + label = 8; + } + if ((label|0) == 8) { + $55 = HEAP32[$9>>2]|0; + $56 = ((($55)) + 52|0); + $57 = HEAP16[$56>>1]|0; + $$sink = $57; } + $58 = $$sink&65535; + HEAP32[$19>>2] = $58; + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$19>>2]|0; + $61 = (_sqlite3GetTempRange($59,$60)|0); + HEAP32[$18>>2] = $61; + $62 = HEAP32[$14>>2]|0; + $63 = ($62|0)!=(0|0); do { - if ((label|0) == 14) { - $118 = HEAP32[$1>>2]|0; - $119 = (_exprAlwaysFalse($118)|0); - $120 = ($119|0)!=(0); - if ($120) { - $121 = HEAP32[$v>>2]|0; - $122 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($121,$122)|0); - break; - } - $123 = HEAP32[$1>>2]|0; - $124 = (_exprAlwaysTrue($123)|0); - $125 = ($124|0)!=(0); - if (!($125)) { - $126 = HEAP32[$0>>2]|0; - $127 = HEAP32[$1>>2]|0; - $128 = (_sqlite3ExprCodeTemp($126,$127,$regFree1)|0); - HEAP32[$r1>>2] = $128; - $129 = HEAP32[$v>>2]|0; - $130 = HEAP32[$r1>>2]|0; - $131 = HEAP32[$2>>2]|0; - $132 = HEAP32[$3>>2]|0; - $133 = ($132|0)!=(0); - $134 = $133&1; - (_sqlite3VdbeAddOp3($129,22,$130,$131,$134)|0); + if ($63) { + $64 = HEAP32[$18>>2]|0; + $65 = HEAP32[$15>>2]|0; + $66 = ($64|0)!=($65|0); + if (!($66)) { + $67 = HEAP32[$14>>2]|0; + $68 = ((($67)) + 36|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)!=(0|0); + if (!($70)) { + break; + } } + HEAP32[$14>>2] = 0; } } while(0); - $135 = HEAP32[$0>>2]|0; - $136 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($135,$136); - $137 = HEAP32[$0>>2]|0; - $138 = HEAP32[$regFree2>>2]|0; - _sqlite3ReleaseTempReg($137,$138); + HEAP32[$17>>2] = 0; + while(1) { + $71 = HEAP32[$17>>2]|0; + $72 = HEAP32[$19>>2]|0; + $73 = ($71|0)<($72|0); + if (!($73)) { + break; + } + $74 = HEAP32[$14>>2]|0; + $75 = ($74|0)!=(0|0); + if ($75) { + $76 = HEAP32[$14>>2]|0; + $77 = ((($76)) + 4|0); + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$17>>2]|0; + $80 = (($78) + ($79<<1)|0); + $81 = HEAP16[$80>>1]|0; + $82 = $81 << 16 >> 16; + $83 = HEAP32[$9>>2]|0; + $84 = ((($83)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$17>>2]|0; + $87 = (($85) + ($86<<1)|0); + $88 = HEAP16[$87>>1]|0; + $89 = $88 << 16 >> 16; + $90 = ($82|0)==($89|0); + if ($90) { + $91 = HEAP32[$14>>2]|0; + $92 = ((($91)) + 4|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$17>>2]|0; + $95 = (($93) + ($94<<1)|0); + $96 = HEAP16[$95>>1]|0; + $97 = $96 << 16 >> 16; + $98 = ($97|0)!=(-2); + if (!($98)) { + label = 18; + } + } else { + label = 18; + } + } else { + label = 18; + } + if ((label|0) == 18) { + label = 0; + $99 = HEAP32[$8>>2]|0; + $100 = HEAP32[$9>>2]|0; + $101 = HEAP32[$10>>2]|0; + $102 = HEAP32[$17>>2]|0; + $103 = HEAP32[$18>>2]|0; + $104 = HEAP32[$17>>2]|0; + $105 = (($103) + ($104))|0; + _sqlite3ExprCodeLoadIndexColumn($99,$100,$101,$102,$105); + $106 = HEAP32[$16>>2]|0; + (_sqlite3VdbeDeletePriorOpcode($106,92)|0); + } + $107 = HEAP32[$17>>2]|0; + $108 = (($107) + 1)|0; + HEAP32[$17>>2] = $108; + } + $109 = HEAP32[$11>>2]|0; + $110 = ($109|0)!=(0); + if (!($110)) { + $115 = HEAP32[$8>>2]|0; + $116 = HEAP32[$18>>2]|0; + $117 = HEAP32[$19>>2]|0; + _sqlite3ReleaseTempRange($115,$116,$117); + $118 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($118|0); + } + $111 = HEAP32[$16>>2]|0; + $112 = HEAP32[$18>>2]|0; + $113 = HEAP32[$19>>2]|0; + $114 = HEAP32[$11>>2]|0; + (_sqlite3VdbeAddOp3($111,99,$112,$113,$114)|0); + $115 = HEAP32[$8>>2]|0; + $116 = HEAP32[$18>>2]|0; + $117 = HEAP32[$19>>2]|0; + _sqlite3ReleaseTempRange($115,$116,$117); + $118 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($118|0); +} +function _sqlite3ResolvePartIdxLabel($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; + _sqlite3VdbeResolveLabel($8,$9); + $10 = HEAP32[$2>>2]|0; + _sqlite3ExprCachePop($10); STACKTOP = sp;return; } -function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $dest = $dest|0; - $jumpIfNull = $jumpIfNull|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0; - var $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, $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, $d2 = 0, $destIfFalse = 0, $destIfNull = 0, $op = 0, $or$cond = 0, $r1 = 0, $r2 = 0; - var $regFree1 = 0, $regFree2 = 0, $v = 0, label = 0, sp = 0; +function _sqlite3UniqueConstraint($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $v = sp + 32|0; - $op = sp + 28|0; - $regFree1 = sp + 24|0; - $regFree2 = sp + 20|0; - $r1 = sp + 16|0; - $r2 = sp + 12|0; - $d2 = sp + 8|0; - $destIfFalse = sp + 4|0; - $destIfNull = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $dest; - HEAP32[$3>>2] = $jumpIfNull; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$v>>2] = $6; - HEAP32[$op>>2] = 0; - HEAP32[$regFree1>>2] = 0; - HEAP32[$regFree2>>2] = 0; - $7 = HEAP32[$v>>2]|0; - $8 = ($7|0)==(0|0); - $9 = HEAP32[$1>>2]|0; - $10 = ($9|0)==(0|0); - $or$cond = $8 | $10; - if ($or$cond) { + STACKTOP = STACKTOP + 80|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$9>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$14>>2]|0; + _sqlite3StrAccumInit($8,$15,0,0,200); + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 40|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$vararg_buffer>>2] = $21; + _sqlite3XPrintf($8,30347,$vararg_buffer); + $47 = (_sqlite3StrAccumFinish($8)|0); + HEAP32[$6>>2] = $47; + $48 = HEAP32[$3>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 55|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51 & 3; + $53 = $52&255; + $54 = ($53|0)==(2); + $55 = $54 ? 1555 : 2067; + $56 = HEAP32[$4>>2]|0; + $57 = HEAP32[$6>>2]|0; + _sqlite3HaltConstraint($48,$55,$56,$57,-1,2); STACKTOP = sp;return; } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - HEAP32[$op>>2] = $13; - $14 = HEAP32[$op>>2]|0; - switch ($14|0) { - case 28: { - $15 = HEAP32[$v>>2]|0; - $16 = (_sqlite3VdbeMakeLabel($15)|0); - HEAP32[$d2>>2] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$d2>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = $22 ^ 16; - _sqlite3ExprIfFalse($17,$20,$21,$23); - $24 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePush($24); - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$3>>2]|0; - _sqlite3ExprIfTrue($25,$28,$29,$30); - $31 = HEAP32[$v>>2]|0; - $32 = HEAP32[$d2>>2]|0; - _sqlite3VdbeResolveLabel($31,$32); - $33 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($33); - break; - } - case 27: { - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$3>>2]|0; - _sqlite3ExprIfTrue($34,$37,$38,$39); - $40 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePush($40); - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 16|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$2>>2]|0; - $46 = HEAP32[$3>>2]|0; - _sqlite3ExprIfTrue($41,$44,$45,$46); - $47 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($47); - break; - } - case 19: { - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 12|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = HEAP32[$3>>2]|0; - _sqlite3ExprIfFalse($48,$51,$52,$53); - break; - } - case 148: case 29: { - $54 = HEAP32[$op>>2]|0; - $55 = ($54|0)==(29); - $56 = $55 ? 37 : 36; - HEAP32[$op>>2] = $56; - HEAP32[$3>>2] = 128; - label = 7; - break; - } - case 37: case 36: case 41: case 38: case 39: case 40: { - label = 7; - break; - } - case 35: case 34: { - $84 = HEAP32[$0>>2]|0; - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 12|0); - $87 = HEAP32[$86>>2]|0; - $88 = (_sqlite3ExprCodeTemp($84,$87,$regFree1)|0); - HEAP32[$r1>>2] = $88; - $89 = HEAP32[$v>>2]|0; - $90 = HEAP32[$op>>2]|0; - $91 = HEAP32[$r1>>2]|0; - $92 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($89,$90,$91,$92)|0); - break; - } - case 32: { - $93 = HEAP32[$0>>2]|0; - $94 = HEAP32[$1>>2]|0; - $95 = HEAP32[$2>>2]|0; - $96 = HEAP32[$3>>2]|0; - _exprCodeBetween($93,$94,$95,134,$96); - break; - } - case 33: { - $97 = HEAP32[$v>>2]|0; - $98 = (_sqlite3VdbeMakeLabel($97)|0); - HEAP32[$destIfFalse>>2] = $98; - $99 = HEAP32[$3>>2]|0; - $100 = ($99|0)!=(0); - $101 = HEAP32[$2>>2]|0; - $102 = HEAP32[$destIfFalse>>2]|0; - $103 = $100 ? $101 : $102; - HEAP32[$destIfNull>>2] = $103; - $104 = HEAP32[$0>>2]|0; - $105 = HEAP32[$1>>2]|0; - $106 = HEAP32[$destIfFalse>>2]|0; - $107 = HEAP32[$destIfNull>>2]|0; - _sqlite3ExprCodeIN($104,$105,$106,$107); - $108 = HEAP32[$v>>2]|0; - $109 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($108,$109)|0); - $110 = HEAP32[$v>>2]|0; - $111 = HEAP32[$destIfFalse>>2]|0; - _sqlite3VdbeResolveLabel($110,$111); - break; - } - default: { - label = 12; + HEAP32[$7>>2] = 0; + while(1) { + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 50|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = ($22|0)<($26|0); + if (!($27)) { + break; + } + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$7>>2]|0; + $35 = (($33) + ($34<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36 << 16 >> 16; + $38 = (($30) + ($37<<4)|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$10>>2] = $39; + $40 = HEAP32[$7>>2]|0; + $41 = ($40|0)!=(0); + if ($41) { + _sqlite3StrAccumAppend($8,30358,2); + } + $42 = HEAP32[$9>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer1>>2] = $43; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $44; + _sqlite3XPrintf($8,29580,$vararg_buffer1); + $45 = HEAP32[$7>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$7>>2] = $46; } + $47 = (_sqlite3StrAccumFinish($8)|0); + HEAP32[$6>>2] = $47; + $48 = HEAP32[$3>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 55|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51 & 3; + $53 = $52&255; + $54 = ($53|0)==(2); + $55 = $54 ? 1555 : 2067; + $56 = HEAP32[$4>>2]|0; + $57 = HEAP32[$6>>2]|0; + _sqlite3HaltConstraint($48,$55,$56,$57,-1,2); + STACKTOP = sp;return; +} +function _sqlite3HaltConstraint($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp + 21|0; + $11 = sp + 20|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP8[$10>>0] = $4; + HEAP8[$11>>0] = $5; + $13 = HEAP32[$6>>2]|0; + $14 = (_sqlite3GetVdbe($13)|0); + HEAP32[$12>>2] = $14; + $15 = HEAP32[$8>>2]|0; + $16 = ($15|0)==(2); + if ($16) { + $17 = HEAP32[$6>>2]|0; + _sqlite3MayAbort($17); } - if ((label|0) == 7) { - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 12|0); - $59 = HEAP32[$58>>2]|0; - $60 = (_sqlite3ExprIsVector($59)|0); - $61 = ($60|0)!=(0); - if ($61) { - label = 12; + $18 = HEAP32[$12>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = HEAP32[$8>>2]|0; + $21 = HEAP32[$9>>2]|0; + $22 = HEAP8[$10>>0]|0; + $23 = $22 << 24 >> 24; + (_sqlite3VdbeAddOp4($18,75,$19,$20,0,$21,$23)|0); + $24 = HEAP32[$12>>2]|0; + $25 = HEAP8[$11>>0]|0; + _sqlite3VdbeChangeP5($24,$25); + STACKTOP = sp;return; +} +function _sqlite3ExprCachePop($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, $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; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 64|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + -1)|0; + HEAP32[$4>>2] = $6; + while(1) { + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 25|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($7|0)<($11|0); + if (!($12)) { + break; + } + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 152|0); + $15 = HEAP32[$2>>2]|0; + $16 = (($14) + (($15*20)|0)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 64|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($18|0)>($21|0); + if ($22) { + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$2>>2]|0; + _cacheEntryClear($23,$24); + continue; } else { - $62 = HEAP32[$0>>2]|0; - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 12|0); - $65 = HEAP32[$64>>2]|0; - $66 = (_sqlite3ExprCodeTemp($62,$65,$regFree1)|0); - HEAP32[$r1>>2] = $66; - $67 = HEAP32[$0>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = (_sqlite3ExprCodeTemp($67,$70,$regFree2)|0); - HEAP32[$r2>>2] = $71; - $72 = HEAP32[$0>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 12|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$1>>2]|0; - $77 = ((($76)) + 16|0); - $78 = HEAP32[$77>>2]|0; - $79 = HEAP32[$op>>2]|0; - $80 = HEAP32[$r1>>2]|0; - $81 = HEAP32[$r2>>2]|0; - $82 = HEAP32[$2>>2]|0; - $83 = HEAP32[$3>>2]|0; - (_codeCompare($72,$75,$78,$79,$80,$81,$82,$83)|0); + $25 = HEAP32[$2>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$2>>2] = $26; + continue; } } - do { - if ((label|0) == 12) { - $112 = HEAP32[$1>>2]|0; - $113 = (_exprAlwaysTrue($112)|0); - $114 = ($113|0)!=(0); - if ($114) { - $115 = HEAP32[$v>>2]|0; - $116 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($115,$116)|0); - break; - } - $117 = HEAP32[$1>>2]|0; - $118 = (_exprAlwaysFalse($117)|0); - $119 = ($118|0)!=(0); - if (!($119)) { - $120 = HEAP32[$0>>2]|0; - $121 = HEAP32[$1>>2]|0; - $122 = (_sqlite3ExprCodeTemp($120,$121,$regFree1)|0); - HEAP32[$r1>>2] = $122; - $123 = HEAP32[$v>>2]|0; - $124 = HEAP32[$r1>>2]|0; - $125 = HEAP32[$2>>2]|0; - $126 = HEAP32[$3>>2]|0; - $127 = ($126|0)!=(0); - $128 = $127&1; - (_sqlite3VdbeAddOp3($123,21,$124,$125,$128)|0); - } + STACKTOP = sp;return; +} +function _cacheEntryClear($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 152|0); + $6 = HEAP32[$3>>2]|0; + $7 = (($5) + (($6*20)|0)|0); + $8 = ((($7)) + 6|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + if ($10) { + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 19|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)<(8); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 152|0); + $18 = HEAP32[$3>>2]|0; + $19 = (($17) + (($18*20)|0)|0); + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 352|0); + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 19|0); + $26 = HEAP8[$25>>0]|0; + $27 = (($26) + 1)<<24>>24; + HEAP8[$25>>0] = $27; + $28 = $26&255; + $29 = (($23) + ($28<<2)|0); + HEAP32[$29>>2] = $21; } - } while(0); - $129 = HEAP32[$0>>2]|0; - $130 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($129,$130); - $131 = HEAP32[$0>>2]|0; - $132 = HEAP32[$regFree2>>2]|0; - _sqlite3ReleaseTempReg($131,$132); + } + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 25|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($32) + -1)<<24>>24; + HEAP8[$31>>0] = $33; + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 25|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = ($34|0)<($38|0); + if (!($39)) { + STACKTOP = sp;return; + } + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 152|0); + $42 = HEAP32[$3>>2]|0; + $43 = (($41) + (($42*20)|0)|0); + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 152|0); + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 25|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = (($45) + (($49*20)|0)|0); + ;HEAP32[$43>>2]=HEAP32[$50>>2]|0;HEAP32[$43+4>>2]=HEAP32[$50+4>>2]|0;HEAP32[$43+8>>2]=HEAP32[$50+8>>2]|0;HEAP32[$43+12>>2]=HEAP32[$50+12>>2]|0;HEAP32[$43+16>>2]=HEAP32[$50+16>>2]|0; STACKTOP = sp;return; } -function _exprAlwaysTrue($p) { - $p = $p|0; - var $0 = 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, $v = 0, label = 0, sp = 0; +function _sqlite3ExprCachePush($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $v = sp; - HEAP32[$1>>2] = $p; - HEAP32[$v>>2] = 0; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 4|0); + $3 = ((($2)) + 64|0); $4 = HEAP32[$3>>2]|0; - $5 = $4 & 1; - $6 = ($5|0)!=(0); - do { - if ($6) { - HEAP32[$0>>2] = 0; - } else { - $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3ExprIsInteger($7,$v)|0); - $9 = ($8|0)!=(0); - if ($9) { - $10 = HEAP32[$v>>2]|0; - $11 = ($10|0)!=(0); - $12 = $11&1; - HEAP32[$0>>2] = $12; - break; - } else { - HEAP32[$0>>2] = 0; - break; - } - } - } while(0); - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); + $5 = (($4) + 1)|0; + HEAP32[$3>>2] = $5; + STACKTOP = sp;return; } -function _sqlite3ExprCheckIN($pParse,$pIn) { - $pParse = $pParse|0; - $pIn = $pIn|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $nVector = 0, $vararg_buffer = 0, label = 0; - var sp = 0; +function _sqlite3ExprIfFalseDup($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $nVector = sp + 4|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pIn; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = (_sqlite3ExprVectorSize($5)|0); - HEAP32[$nVector>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9 & 2048; - $11 = ($10|0)!=(0); - $12 = HEAP32[$nVector>>2]|0; - if ($11) { - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ($12|0)!=($17|0); - if ($18) { - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$nVector>>2]|0; - _sqlite3SubselectError($19,$24,$25); - HEAP32[$0>>2] = 1; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); - } - } else { - $26 = ($12|0)!=(1); - if ($26) { - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 4|0); - $31 = HEAP32[$30>>2]|0; - $32 = $31 & 2048; - $33 = ($32|0)!=(0); - $34 = HEAP32[$1>>2]|0; - if ($33) { - $35 = HEAP32[$nVector>>2]|0; - _sqlite3SubselectError($34,$35,1); - } else { - _sqlite3ErrorMsg($34,29838,$vararg_buffer); - } - HEAP32[$0>>2] = 1; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); - } + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$8>>2] = $11; + $12 = HEAP32[$8>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (_sqlite3ExprDup($12,$13,0)|0); + HEAP32[$9>>2] = $14; + $15 = HEAP32[$8>>2]|0; + $16 = ((($15)) + 69|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)==(0); + if (!($19)) { + $24 = HEAP32[$8>>2]|0; + $25 = HEAP32[$9>>2]|0; + _sqlite3ExprDelete($24,$25); + STACKTOP = sp;return; } - HEAP32[$0>>2] = 0; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$9>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$7>>2]|0; + _sqlite3ExprIfFalse($20,$21,$22,$23); + $24 = HEAP32[$8>>2]|0; + $25 = HEAP32[$9>>2]|0; + _sqlite3ExprDelete($24,$25); + STACKTOP = sp;return; } -function _exprINAffinity($pParse,$pExpr) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $i = 0, $nVal = 0; - var $pA = 0, $pLeft = 0, $pSelect = 0, $zRet = 0, label = 0, sp = 0; +function _sqlite3GetTempRange($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $pLeft = sp + 20|0; - $nVal = sp + 16|0; - $pSelect = sp + 12|0; - $zRet = sp + 8|0; - $i = sp + 4|0; - $pA = sp; - $a = sp + 32|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 12|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pLeft>>2] = $4; - $5 = HEAP32[$pLeft>>2]|0; - $6 = (_sqlite3ExprVectorSize($5)|0); - HEAP32[$nVal>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9 & 2048; - $11 = ($10|0)!=(0); - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 20|0); - $14 = HEAP32[$13>>2]|0; - $15 = $14; - } else { - $15 = 0; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)==(1); + $9 = HEAP32[$3>>2]|0; + if ($8) { + $10 = (_sqlite3GetTempReg($9)|0); + HEAP32[$2>>2] = $10; + $39 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($39|0); } - HEAP32[$pSelect>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$nVal>>2]|0; - $19 = (($18) + 1)|0; - $20 = ($19|0)<(0); - $21 = $20 << 31 >> 31; - $22 = (_sqlite3DbMallocZero($17,$19,$21)|0); - HEAP32[$zRet>>2] = $22; - $23 = HEAP32[$zRet>>2]|0; - $24 = ($23|0)!=(0|0); - if (!($24)) { - $56 = HEAP32[$zRet>>2]|0; - STACKTOP = sp;return ($56|0); + $11 = ((($9)) + 32|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$6>>2] = $15; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$6>>2]|0; + $18 = ($16|0)<=($17|0); + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 32|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($19))|0; + HEAP32[$21>>2] = $23; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 28|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - ($24))|0; + HEAP32[$26>>2] = $28; + } else { + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 44|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$5>>2] = $32; + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 44|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($36) + ($33))|0; + HEAP32[$35>>2] = $37; } - HEAP32[$i>>2] = 0; - while(1) { - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$nVal>>2]|0; - $27 = ($25|0)<($26|0); - if (!($27)) { - break; - } - $28 = HEAP32[$pLeft>>2]|0; - $29 = HEAP32[$i>>2]|0; - $30 = (_sqlite3VectorFieldSubexpr($28,$29)|0); - HEAP32[$pA>>2] = $30; - $31 = HEAP32[$pA>>2]|0; - $32 = (_sqlite3ExprAffinity($31)|0); - HEAP8[$a>>0] = $32; - $33 = HEAP32[$pSelect>>2]|0; - $34 = ($33|0)!=(0|0); - if ($34) { - $35 = HEAP32[$i>>2]|0; - $36 = HEAP32[$pSelect>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + (($35*20)|0)|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP8[$a>>0]|0; - $43 = (_sqlite3CompareAffinity($41,$42)|0); - $44 = HEAP32[$i>>2]|0; - $45 = HEAP32[$zRet>>2]|0; - $46 = (($45) + ($44)|0); - HEAP8[$46>>0] = $43; - } else { - $47 = HEAP8[$a>>0]|0; - $48 = HEAP32[$i>>2]|0; - $49 = HEAP32[$zRet>>2]|0; - $50 = (($49) + ($48)|0); - HEAP8[$50>>0] = $47; - } - $51 = HEAP32[$i>>2]|0; - $52 = (($51) + 1)|0; - HEAP32[$i>>2] = $52; + $38 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $38; + $39 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($39|0); +} +function _sqlite3ExprCodeLoadIndexColumn($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + $10 = sp + 20|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $11 = HEAP32[$6>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = (($13) + ($14<<1)|0); + $16 = HEAP16[$15>>1]|0; + HEAP16[$10>>1] = $16; + $17 = HEAP16[$10>>1]|0; + $18 = $17 << 16 >> 16; + $19 = ($18|0)==(-2); + if ($19) { + $20 = HEAP32[$7>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 60|0); + HEAP32[$22>>2] = $20; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 40|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$8>>2]|0; + $30 = (($28) + (($29*20)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$9>>2]|0; + _sqlite3ExprCodeCopy($23,$31,$32); + STACKTOP = sp;return; + } else { + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$7>>2]|0; + $40 = HEAP16[$10>>1]|0; + $41 = $40 << 16 >> 16; + $42 = HEAP32[$9>>2]|0; + _sqlite3ExprCodeGetColumnOfTable($35,$38,$39,$41,$42); + STACKTOP = sp;return; } - $53 = HEAP32[$nVal>>2]|0; - $54 = HEAP32[$zRet>>2]|0; - $55 = (($54) + ($53)|0); - HEAP8[$55>>0] = 0; - $56 = HEAP32[$zRet>>2]|0; - STACKTOP = sp;return ($56|0); } -function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull,$aiMap) { - $pParse = $pParse|0; - $pX = $pX|0; - $inFlags = $inFlags|0; - $prRhsHasNull = $prRhsHasNull|0; - $aiMap = $aiMap|0; - var $$off = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; - var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; - var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $affinity_ok = 0, $cmpaff = 0, $colUsed = 0, $db = 0, $eType = 0, $i = 0, $i2 = 0, $i5 = 0, $iAddr = 0; - var $iAddr4 = 0, $iCol = 0, $iDb = 0, $iTab = 0, $idxaff = 0, $j = 0, $mCol = 0, $mustBeUnique = 0, $n = 0, $nExpr = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pEList = 0, $pEList1 = 0, $pIdx = 0, $pLhs = 0, $pLhs3 = 0, $pReq = 0, $pRhs = 0; - var $pTab = 0, $rMayHaveNull = 0, $savedNQueryLoop = 0, $switch = 0, $v = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3VdbeDeletePriorOpcode($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $vararg_buffer = sp + 16|0; - $0 = sp + 140|0; - $1 = sp + 136|0; - $2 = sp + 132|0; - $3 = sp + 128|0; - $4 = sp + 124|0; - $p = sp + 120|0; - $eType = sp + 116|0; - $iTab = sp + 112|0; - $mustBeUnique = sp + 108|0; - $v = sp + 104|0; - $i = sp + 100|0; - $pEList = sp + 96|0; - $db = sp + 92|0; - $pTab = sp + 88|0; - $iDb = sp + 144|0; - $pEList1 = sp + 84|0; - $nExpr = sp + 80|0; - $iAddr = sp + 76|0; - $pIdx = sp + 72|0; - $affinity_ok = sp + 68|0; - $i2 = sp + 64|0; - $pLhs = sp + 60|0; - $iCol = sp + 56|0; - $idxaff = sp + 147|0; - $cmpaff = sp + 146|0; - $colUsed = sp + 8|0; - $mCol = sp; - $pLhs3 = sp + 52|0; - $pRhs = sp + 48|0; - $pReq = sp + 44|0; - $j = sp + 40|0; - $iAddr4 = sp + 36|0; - $savedNQueryLoop = sp + 32|0; - $rMayHaveNull = sp + 28|0; - $i5 = sp + 24|0; - $n = sp + 20|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pX; - HEAP32[$2>>2] = $inFlags; - HEAP32[$3>>2] = $prRhsHasNull; - HEAP32[$4>>2] = $aiMap; - HEAP32[$eType>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 40|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + $4 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 136|0); $7 = HEAP32[$6>>2]|0; - $8 = (($7) + 1)|0; - HEAP32[$6>>2] = $8; - HEAP32[$iTab>>2] = $7; - $9 = HEAP32[$0>>2]|0; - $10 = (_sqlite3GetVdbe($9)|0); - HEAP32[$v>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = $11 & 4; - $13 = ($12|0)!=(0); - $14 = $13&1; - HEAP32[$mustBeUnique>>2] = $14; - $15 = HEAP32[$3>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19 & 2048; - $21 = ($20|0)!=(0); + $8 = ($7|0)>(0); + if ($8) { + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 136|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) - 1)|0; + $16 = (($11) + (($15*20)|0)|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = HEAP8[$4>>0]|0; + $20 = $19&255; + $21 = ($18|0)==($20|0); if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 20|0); - $24 = HEAP32[$23>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 136|0); $25 = HEAP32[$24>>2]|0; - HEAP32[$pEList>>2] = $25; - HEAP32[$i>>2] = 0; - while(1) { - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$pEList>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = ($26|0)<($28|0); - if (!($29)) { - break; - } - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$pEList>>2]|0; - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + (($30*20)|0)|0); - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3ExprCanBeNull($35)|0); - $37 = ($36|0)!=(0); - if ($37) { - break; - } - $38 = HEAP32[$i>>2]|0; - $39 = (($38) + 1)|0; - HEAP32[$i>>2] = $39; - } - $40 = HEAP32[$i>>2]|0; - $41 = HEAP32[$pEList>>2]|0; - $42 = HEAP32[$41>>2]|0; - $43 = ($40|0)==($42|0); - if ($43) { - HEAP32[$3>>2] = 0; - } + $26 = (($25) - 1)|0; + $27 = (_sqlite3VdbeChangeToNoop($22,$26)|0); + HEAP32[$2>>2] = $27; + $28 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($28|0); } } - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 36|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==(0); - L11: do { - if ($47) { - $48 = HEAP32[$1>>2]|0; - $49 = (_isCandidateForInOpt($48)|0); - HEAP32[$p>>2] = $49; - $50 = ($49|0)!=(0|0); - if ($50) { - $51 = HEAP32[$0>>2]|0; - $52 = HEAP32[$51>>2]|0; - HEAP32[$db>>2] = $52; - $53 = HEAP32[$p>>2]|0; - $54 = HEAP32[$53>>2]|0; - HEAP32[$pEList1>>2] = $54; - $55 = HEAP32[$pEList1>>2]|0; - $56 = HEAP32[$55>>2]|0; - HEAP32[$nExpr>>2] = $56; - $57 = HEAP32[$p>>2]|0; - $58 = ((($57)) + 28|0); - $59 = HEAP32[$58>>2]|0; - $60 = ((($59)) + 8|0); - $61 = ((($60)) + 16|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$pTab>>2] = $62; - $63 = HEAP32[$db>>2]|0; - $64 = HEAP32[$pTab>>2]|0; - $65 = ((($64)) + 64|0); - $66 = HEAP32[$65>>2]|0; - $67 = (_sqlite3SchemaToIndex($63,$66)|0); - $68 = $67&65535; - HEAP16[$iDb>>1] = $68; - $69 = HEAP32[$0>>2]|0; - $70 = HEAP16[$iDb>>1]|0; - $71 = $70 << 16 >> 16; - _sqlite3CodeVerifySchema($69,$71); - $72 = HEAP32[$0>>2]|0; - $73 = HEAP16[$iDb>>1]|0; - $74 = $73 << 16 >> 16; - $75 = HEAP32[$pTab>>2]|0; - $76 = ((($75)) + 28|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$pTab>>2]|0; - $79 = HEAP32[$78>>2]|0; - _sqlite3TableLock($72,$74,$77,0,$79); - $80 = HEAP32[$nExpr>>2]|0; - $81 = ($80|0)==(1); - if ($81) { - $82 = HEAP32[$pEList1>>2]|0; - $83 = ((($82)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$84>>2]|0; - $86 = ((($85)) + 32|0); - $87 = HEAP16[$86>>1]|0; - $88 = $87 << 16 >> 16; - $89 = ($88|0)<(0); - if ($89) { - $90 = HEAP32[$v>>2]|0; - $91 = (_sqlite3VdbeAddOp0($90,20)|0); - HEAP32[$iAddr>>2] = $91; - $92 = HEAP32[$0>>2]|0; - $93 = HEAP32[$iTab>>2]|0; - $94 = HEAP16[$iDb>>1]|0; - $95 = $94 << 16 >> 16; - $96 = HEAP32[$pTab>>2]|0; - _sqlite3OpenTable($92,$93,$95,$96,104); - HEAP32[$eType>>2] = 1; - $97 = HEAP32[$v>>2]|0; - $98 = HEAP32[$iAddr>>2]|0; - _sqlite3VdbeJumpHere($97,$98); - break; - } - } - HEAP32[$affinity_ok>>2] = 1; - HEAP32[$i2>>2] = 0; - while(1) { - $99 = HEAP32[$i2>>2]|0; - $100 = HEAP32[$nExpr>>2]|0; - $101 = ($99|0)<($100|0); - $102 = HEAP32[$affinity_ok>>2]|0; - $103 = ($102|0)!=(0); - $104 = $101 ? $103 : 0; - if (!($104)) { - break; - } - $105 = HEAP32[$1>>2]|0; - $106 = ((($105)) + 12|0); - $107 = HEAP32[$106>>2]|0; - $108 = HEAP32[$i2>>2]|0; - $109 = (_sqlite3VectorFieldSubexpr($107,$108)|0); - HEAP32[$pLhs>>2] = $109; - $110 = HEAP32[$i2>>2]|0; - $111 = HEAP32[$pEList1>>2]|0; - $112 = ((($111)) + 4|0); - $113 = HEAP32[$112>>2]|0; - $114 = (($113) + (($110*20)|0)|0); - $115 = HEAP32[$114>>2]|0; - $116 = ((($115)) + 32|0); - $117 = HEAP16[$116>>1]|0; - $118 = $117 << 16 >> 16; - HEAP32[$iCol>>2] = $118; - $119 = HEAP32[$pTab>>2]|0; - $120 = HEAP32[$iCol>>2]|0; - $121 = (_sqlite3TableColumnAffinity($119,$120)|0); - HEAP8[$idxaff>>0] = $121; - $122 = HEAP32[$pLhs>>2]|0; - $123 = HEAP8[$idxaff>>0]|0; - $124 = (_sqlite3CompareAffinity($122,$123)|0); - HEAP8[$cmpaff>>0] = $124; - $125 = HEAP8[$cmpaff>>0]|0; - $126 = $125 << 24 >> 24; - $$off = (($126) + -65)|0; - $switch = ($$off>>>0)<(2); - if (!($switch)) { - $127 = HEAP8[$idxaff>>0]|0; - $128 = $127 << 24 >> 24; - $129 = ($128|0)>=(67); - $130 = $129&1; - HEAP32[$affinity_ok>>2] = $130; - } - $131 = HEAP32[$i2>>2]|0; - $132 = (($131) + 1)|0; - HEAP32[$i2>>2] = $132; - } - $133 = HEAP32[$affinity_ok>>2]|0; - $134 = ($133|0)!=(0); - if ($134) { - $135 = HEAP32[$pTab>>2]|0; - $136 = ((($135)) + 8|0); - $137 = HEAP32[$136>>2]|0; - HEAP32[$pIdx>>2] = $137; - while(1) { - $138 = HEAP32[$pIdx>>2]|0; - $139 = ($138|0)!=(0|0); - $140 = HEAP32[$eType>>2]|0; - $141 = ($140|0)==(0); - $142 = $139 ? $141 : 0; - if (!($142)) { - break L11; - } - $143 = HEAP32[$pIdx>>2]|0; - $144 = ((($143)) + 52|0); - $145 = HEAP16[$144>>1]|0; - $146 = $145&65535; - $147 = HEAP32[$nExpr>>2]|0; - $148 = ($146|0)<($147|0); - do { - if (!($148)) { - $149 = HEAP32[$pIdx>>2]|0; - $150 = ((($149)) + 52|0); - $151 = HEAP16[$150>>1]|0; - $152 = $151&65535; - $153 = ($152|0)>=(63); - if (!($153)) { - $154 = HEAP32[$mustBeUnique>>2]|0; - $155 = ($154|0)!=(0); - if ($155) { - $156 = HEAP32[$pIdx>>2]|0; - $157 = ((($156)) + 50|0); - $158 = HEAP16[$157>>1]|0; - $159 = $158&65535; - $160 = HEAP32[$nExpr>>2]|0; - $161 = ($159|0)>($160|0); - if ($161) { - break; - } - $162 = HEAP32[$pIdx>>2]|0; - $163 = ((($162)) + 52|0); - $164 = HEAP16[$163>>1]|0; - $165 = $164&65535; - $166 = HEAP32[$nExpr>>2]|0; - $167 = ($165|0)>($166|0); - if ($167) { - $168 = HEAP32[$pIdx>>2]|0; - $169 = ((($168)) + 54|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $172 = ($171|0)!=(0); - if (!($172)) { - break; - } - } - } - $173 = $colUsed; - $174 = $173; - HEAP32[$174>>2] = 0; - $175 = (($173) + 4)|0; - $176 = $175; - HEAP32[$176>>2] = 0; - HEAP32[$i2>>2] = 0; - while(1) { - $177 = HEAP32[$i2>>2]|0; - $178 = HEAP32[$nExpr>>2]|0; - $179 = ($177|0)<($178|0); - if (!($179)) { - break; - } - $180 = HEAP32[$1>>2]|0; - $181 = ((($180)) + 12|0); - $182 = HEAP32[$181>>2]|0; - $183 = HEAP32[$i2>>2]|0; - $184 = (_sqlite3VectorFieldSubexpr($182,$183)|0); - HEAP32[$pLhs3>>2] = $184; - $185 = HEAP32[$i2>>2]|0; - $186 = HEAP32[$pEList1>>2]|0; - $187 = ((($186)) + 4|0); - $188 = HEAP32[$187>>2]|0; - $189 = (($188) + (($185*20)|0)|0); - $190 = HEAP32[$189>>2]|0; - HEAP32[$pRhs>>2] = $190; - $191 = HEAP32[$0>>2]|0; - $192 = HEAP32[$pLhs3>>2]|0; - $193 = HEAP32[$pRhs>>2]|0; - $194 = (_sqlite3BinaryCompareCollSeq($191,$192,$193)|0); - HEAP32[$pReq>>2] = $194; - HEAP32[$j>>2] = 0; - while(1) { - $195 = HEAP32[$j>>2]|0; - $196 = HEAP32[$nExpr>>2]|0; - $197 = ($195|0)<($196|0); - if (!($197)) { - break; - } - $198 = HEAP32[$j>>2]|0; - $199 = HEAP32[$pIdx>>2]|0; - $200 = ((($199)) + 4|0); - $201 = HEAP32[$200>>2]|0; - $202 = (($201) + ($198<<1)|0); - $203 = HEAP16[$202>>1]|0; - $204 = $203 << 16 >> 16; - $205 = HEAP32[$pRhs>>2]|0; - $206 = ((($205)) + 32|0); - $207 = HEAP16[$206>>1]|0; - $208 = $207 << 16 >> 16; - $209 = ($204|0)!=($208|0); - if (!($209)) { - $210 = HEAP32[$pReq>>2]|0; - $211 = ($210|0)!=(0|0); - if (!($211)) { - break; - } - $212 = HEAP32[$pReq>>2]|0; - $213 = HEAP32[$212>>2]|0; - $214 = HEAP32[$j>>2]|0; - $215 = HEAP32[$pIdx>>2]|0; - $216 = ((($215)) + 32|0); - $217 = HEAP32[$216>>2]|0; - $218 = (($217) + ($214<<2)|0); - $219 = HEAP32[$218>>2]|0; - $220 = (_sqlite3StrICmp($213,$219)|0); - $221 = ($220|0)!=(0); - if (!($221)) { - break; - } - } - $222 = HEAP32[$j>>2]|0; - $223 = (($222) + 1)|0; - HEAP32[$j>>2] = $223; - } - $224 = HEAP32[$j>>2]|0; - $225 = HEAP32[$nExpr>>2]|0; - $226 = ($224|0)==($225|0); - if ($226) { - break; - } - $227 = HEAP32[$j>>2]|0; - $228 = (_bitshift64Shl(1,0,($227|0))|0); - $229 = tempRet0; - $230 = $mCol; - $231 = $230; - HEAP32[$231>>2] = $228; - $232 = (($230) + 4)|0; - $233 = $232; - HEAP32[$233>>2] = $229; - $234 = $mCol; - $235 = $234; - $236 = HEAP32[$235>>2]|0; - $237 = (($234) + 4)|0; - $238 = $237; - $239 = HEAP32[$238>>2]|0; - $240 = $colUsed; - $241 = $240; - $242 = HEAP32[$241>>2]|0; - $243 = (($240) + 4)|0; - $244 = $243; - $245 = HEAP32[$244>>2]|0; - $246 = $236 & $242; - $247 = $239 & $245; - $248 = ($246|0)!=(0); - $249 = ($247|0)!=(0); - $250 = $248 | $249; - if ($250) { - break; - } - $251 = $mCol; - $252 = $251; - $253 = HEAP32[$252>>2]|0; - $254 = (($251) + 4)|0; - $255 = $254; - $256 = HEAP32[$255>>2]|0; - $257 = $colUsed; - $258 = $257; - $259 = HEAP32[$258>>2]|0; - $260 = (($257) + 4)|0; - $261 = $260; - $262 = HEAP32[$261>>2]|0; - $263 = $259 | $253; - $264 = $262 | $256; - $265 = $colUsed; - $266 = $265; - HEAP32[$266>>2] = $263; - $267 = (($265) + 4)|0; - $268 = $267; - HEAP32[$268>>2] = $264; - $269 = HEAP32[$4>>2]|0; - $270 = ($269|0)!=(0|0); - if ($270) { - $271 = HEAP32[$j>>2]|0; - $272 = HEAP32[$i2>>2]|0; - $273 = HEAP32[$4>>2]|0; - $274 = (($273) + ($272<<2)|0); - HEAP32[$274>>2] = $271; - } - $275 = HEAP32[$i2>>2]|0; - $276 = (($275) + 1)|0; - HEAP32[$i2>>2] = $276; - } - $277 = $colUsed; - $278 = $277; - $279 = HEAP32[$278>>2]|0; - $280 = (($277) + 4)|0; - $281 = $280; - $282 = HEAP32[$281>>2]|0; - $283 = HEAP32[$nExpr>>2]|0; - $284 = (_bitshift64Shl(1,0,($283|0))|0); - $285 = tempRet0; - $286 = (_i64Subtract(($284|0),($285|0),1,0)|0); - $287 = tempRet0; - $288 = ($279|0)==($286|0); - $289 = ($282|0)==($287|0); - $290 = $288 & $289; - if ($290) { - $291 = HEAP32[$v>>2]|0; - $292 = (_sqlite3VdbeAddOp0($291,20)|0); - HEAP32[$iAddr4>>2] = $292; - $293 = HEAP32[$v>>2]|0; - $294 = HEAP32[$db>>2]|0; - $295 = HEAP32[$pIdx>>2]|0; - $296 = HEAP32[$295>>2]|0; - HEAP32[$vararg_buffer>>2] = $296; - $297 = (_sqlite3MPrintf($294,31166,$vararg_buffer)|0); - (_sqlite3VdbeAddOp4($293,162,0,0,0,$297,-1)|0); - $298 = HEAP32[$v>>2]|0; - $299 = HEAP32[$iTab>>2]|0; - $300 = HEAP32[$pIdx>>2]|0; - $301 = ((($300)) + 44|0); - $302 = HEAP32[$301>>2]|0; - $303 = HEAP16[$iDb>>1]|0; - $304 = $303 << 16 >> 16; - (_sqlite3VdbeAddOp3($298,104,$299,$302,$304)|0); - $305 = HEAP32[$0>>2]|0; - $306 = HEAP32[$pIdx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($305,$306); - $307 = HEAP32[$pIdx>>2]|0; - $308 = ((($307)) + 28|0); - $309 = HEAP32[$308>>2]|0; - $310 = HEAP8[$309>>0]|0; - $311 = $310&255; - $312 = (3 + ($311))|0; - HEAP32[$eType>>2] = $312; - $313 = HEAP32[$3>>2]|0; - $314 = ($313|0)!=(0|0); - if ($314) { - $315 = HEAP32[$0>>2]|0; - $316 = ((($315)) + 44|0); - $317 = HEAP32[$316>>2]|0; - $318 = (($317) + 1)|0; - HEAP32[$316>>2] = $318; - $319 = HEAP32[$3>>2]|0; - HEAP32[$319>>2] = $318; - $320 = HEAP32[$nExpr>>2]|0; - $321 = ($320|0)==(1); - if ($321) { - $322 = HEAP32[$v>>2]|0; - $323 = HEAP32[$iTab>>2]|0; - $324 = HEAP32[$3>>2]|0; - $325 = HEAP32[$324>>2]|0; - _sqlite3SetHasNullFlag($322,$323,$325); - } - } - $326 = HEAP32[$v>>2]|0; - $327 = HEAP32[$iAddr4>>2]|0; - _sqlite3VdbeJumpHere($326,$327); - } - } - } - } while(0); - $328 = HEAP32[$pIdx>>2]|0; - $329 = ((($328)) + 20|0); - $330 = HEAP32[$329>>2]|0; - HEAP32[$pIdx>>2] = $330; - } - } - } - } - } while(0); - $331 = HEAP32[$eType>>2]|0; - $332 = ($331|0)==(0); - do { - if ($332) { - $333 = HEAP32[$2>>2]|0; - $334 = $333 & 1; - $335 = ($334|0)!=(0); - if ($335) { - $336 = HEAP32[$1>>2]|0; - $337 = ((($336)) + 4|0); - $338 = HEAP32[$337>>2]|0; - $339 = $338 & 2048; - $340 = ($339|0)!=(0); - if (!($340)) { - $341 = HEAP32[$1>>2]|0; - $342 = (_sqlite3InRhsIsConstant($341)|0); - $343 = ($342|0)!=(0); - if ($343) { - $344 = HEAP32[$1>>2]|0; - $345 = ((($344)) + 20|0); - $346 = HEAP32[$345>>2]|0; - $347 = HEAP32[$346>>2]|0; - $348 = ($347|0)<=(2); - if (!($348)) { - break; - } - } - HEAP32[$eType>>2] = 5; - } - } - } - } while(0); - $349 = HEAP32[$eType>>2]|0; - $350 = ($349|0)==(0); - if ($350) { - $351 = HEAP32[$0>>2]|0; - $352 = ((($351)) + 136|0); - $353 = HEAP32[$352>>2]|0; - HEAP32[$savedNQueryLoop>>2] = $353; - HEAP32[$rMayHaveNull>>2] = 0; - HEAP32[$eType>>2] = 2; - $354 = HEAP32[$2>>2]|0; - $355 = $354 & 4; - $356 = ($355|0)!=(0); - if ($356) { - $357 = HEAP32[$0>>2]|0; - $358 = ((($357)) + 136|0); - HEAP32[$358>>2] = 0; - $359 = HEAP32[$1>>2]|0; - $360 = ((($359)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ((($361)) + 32|0); - $363 = HEAP16[$362>>1]|0; - $364 = $363 << 16 >> 16; - $365 = ($364|0)<(0); - if ($365) { - $366 = HEAP32[$1>>2]|0; - $367 = ((($366)) + 4|0); - $368 = HEAP32[$367>>2]|0; - $369 = $368 & 2048; - $370 = ($369|0)!=(0); - if (!($370)) { - HEAP32[$eType>>2] = 1; - } - } - } else { - $371 = HEAP32[$3>>2]|0; - $372 = ($371|0)!=(0|0); - if ($372) { - $373 = HEAP32[$0>>2]|0; - $374 = ((($373)) + 44|0); - $375 = HEAP32[$374>>2]|0; - $376 = (($375) + 1)|0; - HEAP32[$374>>2] = $376; - HEAP32[$rMayHaveNull>>2] = $376; - $377 = HEAP32[$3>>2]|0; - HEAP32[$377>>2] = $376; - } - } - $378 = HEAP32[$0>>2]|0; - $379 = HEAP32[$1>>2]|0; - $380 = HEAP32[$rMayHaveNull>>2]|0; - $381 = HEAP32[$eType>>2]|0; - $382 = ($381|0)==(1); - $383 = $382&1; - (_sqlite3CodeSubselect($378,$379,$380,$383)|0); - $384 = HEAP32[$savedNQueryLoop>>2]|0; - $385 = HEAP32[$0>>2]|0; - $386 = ((($385)) + 136|0); - HEAP32[$386>>2] = $384; - } else { - $387 = HEAP32[$iTab>>2]|0; - $388 = HEAP32[$1>>2]|0; - $389 = ((($388)) + 28|0); - HEAP32[$389>>2] = $387; - } - $390 = HEAP32[$4>>2]|0; - $391 = ($390|0)!=(0|0); - $392 = HEAP32[$eType>>2]|0; - $393 = ($392|0)!=(3); - $or$cond = $391 & $393; - $394 = HEAP32[$eType>>2]|0; - $395 = ($394|0)!=(4); - $or$cond3 = $or$cond & $395; - if (!($or$cond3)) { - $409 = HEAP32[$eType>>2]|0; - STACKTOP = sp;return ($409|0); + HEAP32[$2>>2] = 0; + $28 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($28|0); +} +function _sqlite3ReleaseTempRange($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, $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; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(1); + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + if ($7) { + _sqlite3ReleaseTempReg($8,$9); + STACKTOP = sp;return; } - $396 = HEAP32[$1>>2]|0; - $397 = ((($396)) + 12|0); - $398 = HEAP32[$397>>2]|0; - $399 = (_sqlite3ExprVectorSize($398)|0); - HEAP32[$n>>2] = $399; - HEAP32[$i5>>2] = 0; - while(1) { - $400 = HEAP32[$i5>>2]|0; - $401 = HEAP32[$n>>2]|0; - $402 = ($400|0)<($401|0); - if (!($402)) { - break; - } - $403 = HEAP32[$i5>>2]|0; - $404 = HEAP32[$i5>>2]|0; - $405 = HEAP32[$4>>2]|0; - $406 = (($405) + ($404<<2)|0); - HEAP32[$406>>2] = $403; - $407 = HEAP32[$i5>>2]|0; - $408 = (($407) + 1)|0; - HEAP32[$i5>>2] = $408; + $10 = HEAP32[$5>>2]|0; + _sqlite3ExprCacheRemove($8,$9,$10); + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 28|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($11|0)>($14|0); + if (!($15)) { + STACKTOP = sp;return; } - $409 = HEAP32[$eType>>2]|0; - STACKTOP = sp;return ($409|0); + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 32|0); + HEAP32[$21>>2] = $19; + STACKTOP = sp;return; } -function _sqlite3ExprCanBeNull($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $op = 0, label = 0, sp = 0; +function _sqlite3ExprCacheRemove($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - $op = sp + 8|0; - HEAP32[$1>>2] = $p; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; while(1) { - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(156); - if ($5) { - $49 = 1; - } else { - $6 = HEAP32[$1>>2]|0; - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(155); - $49 = $9; - } - $10 = HEAP32[$1>>2]|0; - if (!($49)) { + $8 = HEAP32[$6>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 25|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($8|0)<($12|0); + if (!($13)) { break; } - $11 = ((($10)) + 12|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$1>>2] = $12; - } - $13 = HEAP8[$10>>0]|0; - HEAP8[$op>>0] = $13; - $14 = HEAP8[$op>>0]|0; - $15 = $14&255; - $16 = ($15|0)==(157); - if ($16) { - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 38|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$op>>0] = $19; - } - $20 = HEAP8[$op>>0]|0; - $21 = $20&255; - switch ($21|0) { - case 133: case 132: case 97: case 134: { - HEAP32[$0>>2] = 0; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - break; - } - case 152: { - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = $24 & 1048576; - $26 = ($25|0)!=(0); - if ($26) { - $47 = 1; - } else { - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 32|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29 << 16 >> 16; - $31 = ($30|0)>=(0); - if ($31) { - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 32|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34 << 16 >> 16; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 44|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (($40) + ($35<<4)|0); - $42 = ((($41)) + 12|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = ($44|0)==(0); - $47 = $45; - } else { - $47 = 0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 152|0); + $16 = HEAP32[$6>>2]|0; + $17 = (($15) + (($16*20)|0)|0); + HEAP32[$7>>2] = $17; + $18 = HEAP32[$7>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = ($20|0)>=($21|0); + if ($22) { + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$5>>2]|0; + $28 = (($26) + ($27))|0; + $29 = ($25|0)<($28|0); + if ($29) { + $30 = HEAP32[$3>>2]|0; + $31 = HEAP32[$6>>2]|0; + _cacheEntryClear($30,$31); + continue; } } - $46 = $47&1; - HEAP32[$0>>2] = $46; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - break; - } - default: { - HEAP32[$0>>2] = 1; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); + $32 = HEAP32[$6>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$6>>2] = $33; } + STACKTOP = sp;return; +} +function _sqlite3VdbeChangeToNoop($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 69|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + if ($10) { + HEAP32[$2>>2] = 0; + $30 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($30|0); + } else { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 88|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = (($13) + (($14*20)|0)|0); + HEAP32[$5>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 1|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20 << 24 >> 24; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + _freeP4($17,$21,$24); + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 1|0); + HEAP8[$26>>0] = 0; + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 16|0); + HEAP32[$28>>2] = 0; + $29 = HEAP32[$5>>2]|0; + HEAP8[$29>>0] = -95; + HEAP32[$2>>2] = 1; + $30 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($30|0); } return (0)|0; } -function _sqlite3VectorFieldSubexpr($pVector,$i) { - $pVector = $pVector|0; - $i = $i|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; +function _sqlite3ExprCodeCopy($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pVector; - HEAP32[$2>>2] = $i; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3ExprIsVector($3)|0); - $5 = ($4|0)!=(0); - $6 = HEAP32[$1>>2]|0; - if (!($5)) { - HEAP32[$0>>2] = $6; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); - } - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(119); - if (!($9)) { - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 38|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)==(119); - if (!($14)) { - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 20|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + (($24*20)|0)|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$0>>2] = $31; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); - } + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + $9 = HEAP32[$6>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = (_sqlite3ExprDup($9,$10,0)|0); + HEAP32[$4>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 69|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)!=(0); + if ($15) { + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$4>>2]|0; + _sqlite3ExprDelete($19,$20); + STACKTOP = sp;return; } - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 20|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + (($15*20)|0)|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$0>>2] = $23; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$5>>2]|0; + _sqlite3ExprCode($16,$17,$18); + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$4>>2]|0; + _sqlite3ExprDelete($19,$20); + STACKTOP = sp;return; } -function _isCandidateForInOpt($pX) { - $pX = $pX|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0, $p = 0, $pEList = 0, $pRes = 0, $pSrc = 0, $pTab = 0, label = 0; - var sp = 0; +function _sqlite3ExprCodeGetColumnOfTable($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $p = sp + 20|0; - $pSrc = sp + 16|0; - $pEList = sp + 12|0; - $pTab = sp + 8|0; - $i = sp + 4|0; - $pRes = sp; - HEAP32[$1>>2] = $pX; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 2048; - $6 = ($5|0)!=(0); - do { - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9 & 32; - $11 = ($10|0)!=(0); - if ($11) { - HEAP32[$0>>2] = 0; - break; - } - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 20|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$p>>2] = $14; - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 48|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)!=(0|0); - if ($18) { - HEAP32[$0>>2] = 0; - break; - } - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - $22 = $21 & 9; - $23 = ($22|0)!=(0); - if ($23) { - HEAP32[$0>>2] = 0; - break; - } - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 56|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0|0); - if ($27) { - HEAP32[$0>>2] = 0; - break; - } - $28 = HEAP32[$p>>2]|0; - $29 = ((($28)) + 32|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - HEAP32[$0>>2] = 0; - break; - } - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 28|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$pSrc>>2] = $34; - $35 = HEAP32[$pSrc>>2]|0; - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)!=(1); - if ($37) { - HEAP32[$0>>2] = 0; - break; - } - $38 = HEAP32[$pSrc>>2]|0; - $39 = ((($38)) + 8|0); - $40 = ((($39)) + 20|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)!=(0|0); - if ($42) { - HEAP32[$0>>2] = 0; - break; - } - $43 = HEAP32[$pSrc>>2]|0; - $44 = ((($43)) + 8|0); - $45 = ((($44)) + 16|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$pTab>>2] = $46; - $47 = HEAP32[$pTab>>2]|0; - $48 = ((($47)) + 42|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = $50 & 16; - $52 = ($51|0)!=(0); - if ($52) { - HEAP32[$0>>2] = 0; - break; - } - $53 = HEAP32[$p>>2]|0; - $54 = HEAP32[$53>>2]|0; - HEAP32[$pEList>>2] = $54; - HEAP32[$i>>2] = 0; - while(1) { - $55 = HEAP32[$i>>2]|0; - $56 = HEAP32[$pEList>>2]|0; - $57 = HEAP32[$56>>2]|0; - $58 = ($55|0)<($57|0); - if (!($58)) { - label = 24; - break; - } - $59 = HEAP32[$i>>2]|0; - $60 = HEAP32[$pEList>>2]|0; - $61 = ((($60)) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) + (($59*20)|0)|0); - $64 = HEAP32[$63>>2]|0; - HEAP32[$pRes>>2] = $64; - $65 = HEAP32[$pRes>>2]|0; - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = ($67|0)!=(152); - if ($68) { - label = 22; - break; - } - $69 = HEAP32[$i>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$i>>2] = $70; - } - if ((label|0) == 22) { - HEAP32[$0>>2] = 0; - break; - } - else if ((label|0) == 24) { - $71 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $71; - break; - } + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)<(0); + if ($13) { + label = 3; + } else { + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = ((($15)) + 32|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17 << 16 >> 16; + $19 = ($14|0)==($18|0); + if ($19) { + label = 3; } else { - HEAP32[$0>>2] = 0; - } - } while(0); - $72 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($72|0); -} -function _sqlite3CompareAffinity($pExpr,$aff2) { - $pExpr = $pExpr|0; - $aff2 = $aff2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aff1 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 6|0; - $1 = sp; - $2 = sp + 5|0; - $aff1 = sp + 4|0; - HEAP32[$1>>2] = $pExpr; - HEAP8[$2>>0] = $aff2; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3ExprAffinity($3)|0); - HEAP8[$aff1>>0] = $4; - $5 = HEAP8[$aff1>>0]|0; - $6 = $5 << 24 >> 24; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP8[$2>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP8[$aff1>>0]|0; - $12 = $11 << 24 >> 24; - $13 = ($12|0)>=(67); - if (!($13)) { - $14 = HEAP8[$2>>0]|0; - $15 = $14 << 24 >> 24; - $16 = ($15|0)>=(67); - if (!($16)) { - HEAP8[$0>>0] = 65; - $27 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($27|0); + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 42|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = $26 & 16; + $28 = ($27|0)!=(0); + $29 = $28 ? 156 : 96; + HEAP32[$10>>2] = $29; + $30 = HEAP32[$8>>2]|0; + HEAP32[$11>>2] = $30; + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 42|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 & 32; + $36 = ($35|0)==(0); + if (!($36)) { + $37 = HEAP32[$6>>2]|0; + $38 = ((($37)) + 42|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $40 & 16; + $42 = ($41|0)!=(0); + if (!($42)) { + $43 = HEAP32[$6>>2]|0; + $44 = (_sqlite3PrimaryKeyIndex($43)|0); + $45 = HEAP32[$8>>2]|0; + $46 = $45&65535; + $47 = (_sqlite3ColumnOfIndex($44,$46)|0); + $48 = $47 << 16 >> 16; + HEAP32[$11>>2] = $48; } } - HEAP8[$0>>0] = 67; - $27 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($27|0); + $49 = HEAP32[$5>>2]|0; + $50 = HEAP32[$10>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$11>>2]|0; + $53 = HEAP32[$9>>2]|0; + (_sqlite3VdbeAddOp3($49,$50,$51,$52,$53)|0); } } - $17 = HEAP8[$aff1>>0]|0; - $18 = ($17<<24>>24)!=(0); - $19 = HEAP8[$2>>0]|0; - $20 = ($19<<24>>24)!=(0); - $or$cond = $18 | $20; - if ($or$cond) { - $21 = HEAP8[$aff1>>0]|0; - $22 = $21 << 24 >> 24; - $23 = HEAP8[$2>>0]|0; - $24 = $23 << 24 >> 24; - $25 = (($22) + ($24))|0; - $26 = $25&255; - HEAP8[$0>>0] = $26; - $27 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($27|0); - } else { - HEAP8[$0>>0] = 65; - $27 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($27|0); - } - return (0)|0; -} -function _sqlite3BinaryCompareCollSeq($pParse,$pLeft,$pRight) { - $pParse = $pParse|0; - $pLeft = $pLeft|0; - $pRight = $pRight|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pColl = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pLeft; - HEAP32[$2>>2] = $pRight; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 256; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (_sqlite3ExprCollSeq($8,$9)|0); - HEAP32[$pColl>>2] = $10; - $29 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($29|0); - } - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15 & 256; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (_sqlite3ExprCollSeq($18,$19)|0); - HEAP32[$pColl>>2] = $20; - $29 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($29|0); - } + if ((label|0) == 3) { + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$9>>2]|0; + (_sqlite3VdbeAddOp2($20,123,$21,$22)|0); } - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = (_sqlite3ExprCollSeq($21,$22)|0); - HEAP32[$pColl>>2] = $23; - $24 = HEAP32[$pColl>>2]|0; - $25 = ($24|0)!=(0|0); - if ($25) { - $29 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($29|0); + $54 = HEAP32[$8>>2]|0; + $55 = ($54|0)>=(0); + if (!($55)) { + STACKTOP = sp;return; } - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = (_sqlite3ExprCollSeq($26,$27)|0); - HEAP32[$pColl>>2] = $28; - $29 = HEAP32[$pColl>>2]|0; - STACKTOP = sp;return ($29|0); -} -function _sqlite3SetHasNullFlag($v,$iCur,$regHasNull) { - $v = $v|0; - $iCur = $iCur|0; - $regHasNull = $regHasNull|0; - var $0 = 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, $addr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $addr1 = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $iCur; - HEAP32[$2>>2] = $regHasNull; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($3,76,0,$4)|0); - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (_sqlite3VdbeAddOp1($5,57,$6)|0); - HEAP32[$addr1>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp3($8,96,$9,0,$10)|0); - $11 = HEAP32[$0>>2]|0; - _sqlite3VdbeChangeP5($11,-128); - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($12,$13); + $56 = HEAP32[$5>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = HEAP32[$8>>2]|0; + $59 = HEAP32[$9>>2]|0; + _sqlite3ColumnDefault($56,$57,$58,$59); STACKTOP = sp;return; } -function _sqlite3InRhsIsConstant($pIn) { - $pIn = $pIn|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pLHS = 0, $res = 0, label = 0, sp = 0; +function _sqlite3ColumnOfIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pLHS = sp + 4|0; - $res = sp; - HEAP32[$0>>2] = $pIn; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pLHS>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 12|0); + $2 = sp + 10|0; + $3 = sp + 4|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP16[$4>>1] = $1; HEAP32[$5>>2] = 0; - $6 = HEAP32[$0>>2]|0; - $7 = (_sqlite3ExprIsConstant($6)|0); - HEAP32[$res>>2] = $7; - $8 = HEAP32[$pLHS>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 12|0); - HEAP32[$10>>2] = $8; - $11 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($11|0); -} -function _sqlite3SelectDestInit($pDest,$eDest,$iParm) { - $pDest = $pDest|0; - $eDest = $eDest|0; - $iParm = $iParm|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pDest; - HEAP32[$1>>2] = $eDest; - HEAP32[$2>>2] = $iParm; - $3 = HEAP32[$1>>2]|0; - $4 = $3&255; - $5 = HEAP32[$0>>2]|0; - HEAP8[$5>>0] = $4; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 8|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 4|0); - HEAP32[$10>>2] = 0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 12|0); - HEAP32[$12>>2] = 0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 16|0); - HEAP32[$14>>2] = 0; - STACKTOP = sp;return; + while(1) { + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 52|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ($6|0)<($10|0); + if (!($11)) { + label = 6; + break; + } + $12 = HEAP16[$4>>1]|0; + $13 = $12 << 16 >> 16; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = (($16) + ($17<<1)|0); + $19 = HEAP16[$18>>1]|0; + $20 = $19 << 16 >> 16; + $21 = ($13|0)==($20|0); + $22 = HEAP32[$5>>2]|0; + if ($21) { + label = 4; + break; + } + $24 = (($22) + 1)|0; + HEAP32[$5>>2] = $24; + } + if ((label|0) == 4) { + $23 = $22&65535; + HEAP16[$2>>1] = $23; + $25 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($25|0); + } + else if ((label|0) == 6) { + HEAP16[$2>>1] = -1; + $25 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($25|0); + } + return (0)|0; } -function _sqlite3ExprCodeAtInit($pParse,$pExpr,$regDest,$reusable) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $regDest = $regDest|0; - $reusable = $reusable|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $p = 0, $pItem = 0, label = 0, sp = 0; +function _sqlite3ColumnDefault($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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 20|0; - $p = sp + 4|0; - $pItem = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $regDest; - HEAP8[$3>>0] = $reusable; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 80|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (_sqlite3ExprDup($8,$9,0)|0); - HEAP32[$1>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$p>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = (_sqlite3ExprListAppend($11,$12,$13)|0); - HEAP32[$p>>2] = $14; - $15 = HEAP32[$p>>2]|0; - $16 = ($15|0)!=(0|0); - if (!($16)) { - $37 = HEAP32[$p>>2]|0; - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 80|0); - HEAP32[$39>>2] = $37; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp + 24|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { STACKTOP = sp;return; } - $17 = HEAP32[$p>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = (($18) - 1)|0; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + (($19*20)|0)|0); - HEAP32[$pItem>>2] = $23; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$pItem>>2]|0; - $26 = ((($25)) + 16|0); - HEAP32[$26>>2] = $24; - $27 = HEAP8[$3>>0]|0; - $28 = $27&255; - $29 = HEAP32[$pItem>>2]|0; - $30 = ((($29)) + 13|0); - $31 = $28&255; - $32 = HEAP8[$30>>0]|0; - $33 = $31 & 1; - $34 = ($33 << 2)&255; - $35 = $32 & -5; - $36 = $35 | $34; - HEAP8[$30>>0] = $36; - $37 = HEAP32[$p>>2]|0; - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 80|0); - HEAP32[$39>>2] = $37; + HEAP32[$8>>2] = 0; + $15 = HEAP32[$4>>2]|0; + $16 = (_sqlite3VdbeDb($15)|0); + $17 = ((($16)) + 66|0); + $18 = HEAP8[$17>>0]|0; + HEAP8[$9>>0] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = (($21) + ($22<<4)|0); + HEAP32[$10>>2] = $23; + $24 = HEAP32[$4>>2]|0; + $25 = (_sqlite3VdbeDb($24)|0); + $26 = HEAP32[$10>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP8[$9>>0]|0; + $30 = HEAP32[$10>>2]|0; + $31 = ((($30)) + 13|0); + $32 = HEAP8[$31>>0]|0; + (_sqlite3ValueFromExpr($25,$28,$29,$32,$8)|0); + $33 = HEAP32[$8>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$4>>2]|0; + $36 = HEAP32[$8>>2]|0; + _sqlite3VdbeChangeP4($35,-1,$36,-8); + } + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = (($39) + ($40<<4)|0); + $42 = ((($41)) + 13|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43 << 24 >> 24; + $45 = ($44|0)==(69); + if (!($45)) { + STACKTOP = sp;return; + } + $46 = HEAP32[$4>>2]|0; + $47 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp1($46,92,$47)|0); STACKTOP = sp;return; } -function _exprIsConst($p,$initFlag,$iCur) { - $p = $p|0; - $initFlag = $initFlag|0; - $iCur = $iCur|0; - var $0 = 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, $w = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $w = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $initFlag; - HEAP32[$2>>2] = $iCur; - ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0;HEAP32[$w+24>>2]=0|0; - $3 = HEAP32[$1>>2]|0; - $4 = $3&255; - $5 = ((($w)) + 20|0); - HEAP8[$5>>0] = $4; - $6 = ((($w)) + 4|0); - HEAP32[$6>>2] = 197; - $7 = ((($w)) + 8|0); - HEAP32[$7>>2] = 198; - $8 = HEAP32[$2>>2]|0; - $9 = ((($w)) + 24|0); - HEAP32[$9>>2] = $8; - $10 = HEAP32[$0>>2]|0; - (_sqlite3WalkExpr($w,$10)|0); - $11 = ((($w)) + 20|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - STACKTOP = sp;return ($13|0); -} -function _exprNodeIsConstant($pWalker,$pExpr) { - $pWalker = $pWalker|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3ExprCode($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $pExpr; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 20|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(2); - if ($7) { - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 1; - $12 = ($11|0)!=(0); + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)!=(0|0); + if ($8) { + $9 = HEAP32[$4>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(157); if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 20|0); - HEAP8[$14>>0] = 0; - HEAP32[$0>>2] = 2; - } else { - label = 4; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp2($15,84,$18,$19)|0); + STACKTOP = sp;return; } - } else { - label = 4; } - L4: do { - if ((label|0) == 4) { - $15 = HEAP32[$2>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - L6: do { - switch ($17|0) { - case 151: { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = ($21|0)>=(4); - if (!($22)) { - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = $25 & 524288; - $27 = ($26|0)!=(0); - if (!($27)) { - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 20|0); - HEAP8[$29>>0] = 0; - HEAP32[$0>>2] = 2; - break L4; - } - } - HEAP32[$0>>2] = 0; - break L4; - break; - } - case 154: case 153: case 152: case 55: { - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 20|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = ($33|0)==(3); - if ($34) { - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 28|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 24|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($37|0)==($40|0); - if ($41) { - HEAP32[$0>>2] = 0; - break L4; - } - } - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 20|0); - HEAP8[$43>>0] = 0; - HEAP32[$0>>2] = 2; - break L4; - break; - } - case 135: { - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 20|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = ($47|0)==(5); - if ($48) { - $49 = HEAP32[$2>>2]|0; - HEAP8[$49>>0] = 101; - break L6; - } - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 20|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = ($53|0)==(4); - if ($54) { - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 20|0); - HEAP8[$56>>0] = 0; - HEAP32[$0>>2] = 2; - break L4; - } - break; - } - default: { - } - } - } while(0); - HEAP32[$0>>2] = 0; - } - } while(0); - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); -} -function _selectNodeIsConstant($pWalker,$NotUsed) { - $pWalker = $pWalker|0; - $NotUsed = $NotUsed|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pWalker; - HEAP32[$1>>2] = $NotUsed; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 20|0); - HEAP8[$3>>0] = 0; - STACKTOP = sp;return 2; -} -function _binaryCompareP5($pExpr1,$pExpr2,$jumpIfNull) { - $pExpr1 = $pExpr1|0; - $pExpr2 = $pExpr2|0; - $jumpIfNull = $jumpIfNull|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aff = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - $aff = sp + 12|0; - HEAP32[$0>>2] = $pExpr1; - HEAP32[$1>>2] = $pExpr2; - HEAP32[$2>>2] = $jumpIfNull; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3ExprAffinity($3)|0); - HEAP8[$aff>>0] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP8[$aff>>0]|0; - $7 = (_sqlite3CompareAffinity($5,$6)|0); - $8 = $7&255; - $9 = HEAP32[$2>>2]|0; - $10 = $9&255; - $11 = $10&255; - $12 = $8 | $11; - $13 = $12&255; - HEAP8[$aff>>0] = $13; - $14 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($14|0); -} -function _sqlite3ExprIsConstantNotJoin($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (_exprIsConst($1,2,0)|0); - STACKTOP = sp;return ($2|0); -} -function _exprCodeSubselect($pParse,$pExpr) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $reg = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $reg = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$reg>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(119); - if (!($5)) { - $9 = HEAP32[$reg>>2]|0; - STACKTOP = sp;return ($9|0); + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = (_sqlite3ExprCodeTarget($20,$21,$22)|0); + HEAP32[$6>>2] = $23; + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = ($24|0)!=($25|0); + if (!($26)) { + STACKTOP = sp;return; } - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3CodeSubselect($6,$7,0,0)|0); - HEAP32[$reg>>2] = $8; - $9 = HEAP32[$reg>>2]|0; - STACKTOP = sp;return ($9|0); + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { + STACKTOP = sp;return; + } + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp2($33,85,$34,$35)|0); + STACKTOP = sp;return; } -function _exprVectorRegister($pParse,$pVector,$iField,$regSelect,$ppExpr,$pRegFree) { - $pParse = $pParse|0; - $pVector = $pVector|0; - $iField = $iField|0; - $regSelect = $regSelect|0; - $ppExpr = $ppExpr|0; - $pRegFree = $pRegFree|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $op = 0, label = 0, sp = 0; +function _sqlite3ExprCodeTarget($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; + var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; + var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; + var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0; + var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0; + var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0; + var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0; + var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; + var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0; + var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0; + var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0; + var $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0; + var $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0; + var $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0; + var $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0; + var $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0; + var $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0; + var $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0; + var $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0; + var $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0; + var $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0; + var $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0; + var $768 = 0, $769 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp + 4|0; - $6 = sp; - $op = sp + 28|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pVector; - HEAP32[$3>>2] = $iField; - HEAP32[$4>>2] = $regSelect; - HEAP32[$5>>2] = $ppExpr; - HEAP32[$6>>2] = $pRegFree; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP8[$7>>0]|0; - HEAP8[$op>>0] = $8; - $9 = HEAP8[$op>>0]|0; - $10 = $9&255; - $11 = ($10|0)==(157); - if ($11) { - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$3>>2]|0; - $14 = (_sqlite3VectorFieldSubexpr($12,$13)|0); - $15 = HEAP32[$5>>2]|0; - HEAP32[$15>>2] = $14; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 28|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$3>>2]|0; - $20 = (($18) + ($19))|0; - HEAP32[$0>>2] = $20; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); + STACKTOP = STACKTOP + 320|0; + $vararg_buffer9 = sp + 24|0; + $vararg_buffer7 = sp + 16|0; + $vararg_buffer4 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 304|0; + $4 = sp + 300|0; + $5 = sp + 296|0; + $6 = sp + 292|0; + $7 = sp + 288|0; + $8 = sp + 284|0; + $9 = sp + 280|0; + $10 = sp + 276|0; + $11 = sp + 272|0; + $12 = sp + 268|0; + $13 = sp + 264|0; + $14 = sp + 216|0; + $15 = sp + 208|0; + $16 = sp + 204|0; + $17 = sp + 200|0; + $18 = sp + 196|0; + $19 = sp + 192|0; + $20 = sp + 188|0; + $21 = sp + 184|0; + $22 = sp + 180|0; + $23 = sp + 176|0; + $24 = sp + 172|0; + $25 = sp + 168|0; + $26 = sp + 164|0; + $27 = sp + 160|0; + $28 = sp + 156|0; + $29 = sp + 152|0; + $30 = sp + 148|0; + $31 = sp + 144|0; + $32 = sp + 140|0; + $33 = sp + 309|0; + $34 = sp + 136|0; + $35 = sp + 132|0; + $36 = sp + 308|0; + $37 = sp + 128|0; + $38 = sp + 124|0; + $39 = sp + 120|0; + $40 = sp + 116|0; + $41 = sp + 112|0; + $42 = sp + 108|0; + $43 = sp + 104|0; + $44 = sp + 100|0; + $45 = sp + 96|0; + $46 = sp + 92|0; + $47 = sp + 88|0; + $48 = sp + 40|0; + $49 = sp + 32|0; + $50 = sp + 28|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 8|0); + $53 = HEAP32[$52>>2]|0; + HEAP32[$7>>2] = $53; + $54 = HEAP32[$6>>2]|0; + HEAP32[$9>>2] = $54; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$15>>2] = 0; + $55 = HEAP32[$7>>2]|0; + $56 = ($55|0)==(0|0); + if ($56) { + HEAP32[$3>>2] = 0; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); } - $21 = HEAP8[$op>>0]|0; - $22 = $21&255; - $23 = ($22|0)==(119); - $24 = HEAP32[$3>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 20|0); - if ($23) { - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + (($24*20)|0)|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$5>>2]|0; - HEAP32[$33>>2] = $32; - $34 = HEAP32[$4>>2]|0; - $35 = HEAP32[$3>>2]|0; - $36 = (($34) + ($35))|0; - HEAP32[$0>>2] = $36; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); + $57 = HEAP32[$5>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + HEAP32[$8>>2] = 101; } else { - $37 = HEAP32[$26>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + (($24*20)|0)|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$5>>2]|0; - HEAP32[$42>>2] = $41; - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$5>>2]|0; - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$6>>2]|0; - $47 = (_sqlite3ExprCodeTemp($43,$45,$46)|0); - HEAP32[$0>>2] = $47; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - } - return (0)|0; -} -function _sqlite3VdbeAddOp4Dup8($p,$op,$p1,$p2,$p3,$zP4,$p4type) { - $p = $p|0; - $op = $op|0; - $p1 = $p1|0; - $p2 = $p2|0; - $p3 = $p3|0; - $zP4 = $zP4|0; - $p4type = $p4type|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $p4copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $6 = sp + 4|0; - $p4copy = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $p1; - HEAP32[$3>>2] = $p2; - HEAP32[$4>>2] = $p3; - HEAP32[$5>>2] = $zP4; - HEAP32[$6>>2] = $p4type; - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3VdbeDb($7)|0); - $9 = (_sqlite3DbMallocRawNN($8,8,0)|0); - HEAP32[$p4copy>>2] = $9; - $10 = HEAP32[$p4copy>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$p4copy>>2]|0; - $13 = HEAP32[$5>>2]|0; - ;HEAP8[$12>>0]=HEAP8[$13>>0]|0;HEAP8[$12+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$12+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$12+3>>0]=HEAP8[$13+3>>0]|0;HEAP8[$12+4>>0]=HEAP8[$13+4>>0]|0;HEAP8[$12+5>>0]=HEAP8[$13+5>>0]|0;HEAP8[$12+6>>0]=HEAP8[$13+6>>0]|0;HEAP8[$12+7>>0]=HEAP8[$13+7>>0]|0; + $59 = HEAP32[$5>>2]|0; + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + HEAP32[$8>>2] = $61; } - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = HEAP32[$4>>2]|0; - $19 = HEAP32[$p4copy>>2]|0; - $20 = HEAP32[$6>>2]|0; - $21 = (_sqlite3VdbeAddOp4($14,$15,$16,$17,$18,$19,$20)|0); - STACKTOP = sp;return ($21|0); -} -function _sqlite3ExprCachePinRegister($pParse,$iReg) { - $pParse = $pParse|0; - $iReg = $iReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $i = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iReg; - HEAP32[$i>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 152|0); - HEAP32[$p>>2] = $3; - while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 25|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($4|0)<($8|0); - if (!($9)) { + $62 = HEAP32[$8>>2]|0; + L9: do { + switch ($62|0) { + case 154: { + $63 = HEAP32[$5>>2]|0; + $64 = ((($63)) + 40|0); + $65 = HEAP32[$64>>2]|0; + HEAP32[$16>>2] = $65; + $66 = HEAP32[$16>>2]|0; + $67 = ((($66)) + 28|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$5>>2]|0; + $70 = ((($69)) + 34|0); + $71 = HEAP16[$70>>1]|0; + $72 = $71 << 16 >> 16; + $73 = (($68) + (($72*24)|0)|0); + HEAP32[$17>>2] = $73; + $74 = HEAP32[$16>>2]|0; + $75 = HEAP8[$74>>0]|0; + $76 = ($75<<24>>24)!=(0); + if (!($76)) { + $77 = HEAP32[$17>>2]|0; + $78 = ((($77)) + 16|0); + $79 = HEAP32[$78>>2]|0; + HEAP32[$3>>2] = $79; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + } + $80 = HEAP32[$16>>2]|0; + $81 = ((($80)) + 1|0); + $82 = HEAP8[$81>>0]|0; + $83 = ($82<<24>>24)!=(0); + if ($83) { + $84 = HEAP32[$7>>2]|0; + $85 = HEAP32[$16>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$17>>2]|0; + $89 = ((($88)) + 12|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp3($84,96,$87,$90,$91)|0); + $92 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $92; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + } else { + label = 11; + } break; } - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ($12|0)==($13|0); - if ($14) { - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 6|0); - HEAP8[$16>>0] = 0; + case 152: { + label = 11; + break; } - $17 = HEAP32[$i>>2]|0; - $18 = (($17) + 1)|0; - HEAP32[$i>>2] = $18; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 20|0); - HEAP32[$p>>2] = $20; - } - STACKTOP = sp;return; -} -function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { - $pParse = $pParse|0; - $iTab = $iTab|0; - $iCol = $iCol|0; - $iReg = $iReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $i = 0, $idxLru = 0, $minLru = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $i = sp + 12|0; - $minLru = sp + 8|0; - $idxLru = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iTab; - HEAP32[$2>>2] = $iCol; - HEAP32[$3>>2] = $iReg; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 64|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = $8 & 2; - $10 = ($9|0)!=(0); - if ($10) { - STACKTOP = sp;return; - } - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 25|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)>=(10); - if ($15) { - HEAP32[$minLru>>2] = 2147483647; - HEAP32[$idxLru>>2] = -1; - HEAP32[$i>>2] = 0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 152|0); - HEAP32[$p>>2] = $17; - while(1) { - $18 = HEAP32[$i>>2]|0; - $19 = ($18|0)<(10); - if (!($19)) { - break; + case 134: { + $127 = HEAP32[$4>>2]|0; + $128 = HEAP32[$5>>2]|0; + $129 = HEAP32[$6>>2]|0; + _codeInteger($127,$128,0,$129); + $130 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $130; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; + } + case 132: { + $131 = HEAP32[$7>>2]|0; + $132 = HEAP32[$5>>2]|0; + $133 = ((($132)) + 8|0); + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$6>>2]|0; + _codeReal($131,$134,0,$135); + $136 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $136; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; + } + case 97: { + $137 = HEAP32[$7>>2]|0; + $138 = HEAP32[$6>>2]|0; + $139 = HEAP32[$5>>2]|0; + $140 = ((($139)) + 8|0); + $141 = HEAP32[$140>>2]|0; + (_sqlite3VdbeLoadString($137,$138,$141)|0); + $142 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $142; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; + } + case 101: { + $143 = HEAP32[$7>>2]|0; + $144 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($143,79,0,$144)|0); + $145 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $145; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; + } + case 133: { + $146 = HEAP32[$5>>2]|0; + $147 = ((($146)) + 8|0); + $148 = HEAP32[$147>>2]|0; + $149 = ((($148)) + 2|0); + HEAP32[$20>>2] = $149; + $150 = HEAP32[$20>>2]|0; + $151 = (_sqlite3Strlen30($150)|0); + $152 = (($151) - 1)|0; + HEAP32[$19>>2] = $152; + $153 = HEAP32[$7>>2]|0; + $154 = (_sqlite3VdbeDb($153)|0); + $155 = HEAP32[$20>>2]|0; + $156 = HEAP32[$19>>2]|0; + $157 = (_sqlite3HexToBlob($154,$155,$156)|0); + HEAP32[$21>>2] = $157; + $158 = HEAP32[$7>>2]|0; + $159 = HEAP32[$19>>2]|0; + $160 = (($159|0) / 2)&-1; + $161 = HEAP32[$6>>2]|0; + $162 = HEAP32[$21>>2]|0; + (_sqlite3VdbeAddOp4($158,81,$160,$161,0,$162,-1)|0); + $163 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $163; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; + } + case 135: { + $164 = HEAP32[$7>>2]|0; + $165 = HEAP32[$5>>2]|0; + $166 = ((($165)) + 32|0); + $167 = HEAP16[$166>>1]|0; + $168 = $167 << 16 >> 16; + $169 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($164,82,$168,$169)|0); + $170 = HEAP32[$5>>2]|0; + $171 = ((($170)) + 8|0); + $172 = HEAP32[$171>>2]|0; + $173 = ((($172)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = $174 << 24 >> 24; + $176 = ($175|0)!=(0); + if ($176) { + $177 = HEAP32[$7>>2]|0; + $178 = HEAP32[$4>>2]|0; + $179 = ((($178)) + 428|0); + $180 = HEAP32[$179>>2]|0; + $181 = HEAP32[$5>>2]|0; + $182 = ((($181)) + 32|0); + $183 = HEAP16[$182>>1]|0; + $184 = $183 << 16 >> 16; + $185 = (($184) - 1)|0; + $186 = (($180) + ($185<<2)|0); + $187 = HEAP32[$186>>2]|0; + _sqlite3VdbeChangeP4($177,-1,$187,-2); } - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$minLru>>2]|0; - $24 = ($22|0)<($23|0); - if ($24) { - $25 = HEAP32[$i>>2]|0; - HEAP32[$idxLru>>2] = $25; - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 16|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$minLru>>2] = $28; + $188 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $188; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; + } + case 157: { + $189 = HEAP32[$5>>2]|0; + $190 = ((($189)) + 28|0); + $191 = HEAP32[$190>>2]|0; + HEAP32[$3>>2] = $191; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; + } + case 66: { + $192 = HEAP32[$4>>2]|0; + $193 = HEAP32[$5>>2]|0; + $194 = ((($193)) + 12|0); + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$6>>2]|0; + $197 = (_sqlite3ExprCodeTarget($192,$195,$196)|0); + HEAP32[$9>>2] = $197; + $198 = HEAP32[$9>>2]|0; + $199 = HEAP32[$6>>2]|0; + $200 = ($198|0)!=($199|0); + if ($200) { + $201 = HEAP32[$7>>2]|0; + $202 = HEAP32[$9>>2]|0; + $203 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($201,85,$202,$203)|0); + $204 = HEAP32[$6>>2]|0; + HEAP32[$9>>2] = $204; + } + $205 = HEAP32[$7>>2]|0; + $206 = HEAP32[$6>>2]|0; + $207 = HEAP32[$5>>2]|0; + $208 = ((($207)) + 8|0); + $209 = HEAP32[$208>>2]|0; + $210 = (_sqlite3AffinityType($209,0)|0); + $211 = $210 << 24 >> 24; + (_sqlite3VdbeAddOp2($205,93,$206,$211)|0); + $212 = HEAP32[$4>>2]|0; + $213 = HEAP32[$9>>2]|0; + _sqlite3ExprCacheAffinityChange($212,$213,1); + $214 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $214; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; + } + case 148: case 29: { + $215 = HEAP32[$8>>2]|0; + $216 = ($215|0)==(29); + $217 = $216 ? 37 : 36; + HEAP32[$8>>2] = $217; + HEAP32[$15>>2] = 128; + label = 29; + break; + } + case 37: case 36: case 41: case 38: case 39: case 40: { + label = 29; + break; + } + case 52: case 46: case 45: case 50: case 44: case 43: case 51: case 48: case 49: case 47: case 27: case 28: { + $249 = HEAP32[$4>>2]|0; + $250 = HEAP32[$5>>2]|0; + $251 = ((($250)) + 12|0); + $252 = HEAP32[$251>>2]|0; + $253 = (_sqlite3ExprCodeTemp($249,$252,$10)|0); + HEAP32[$12>>2] = $253; + $254 = HEAP32[$4>>2]|0; + $255 = HEAP32[$5>>2]|0; + $256 = ((($255)) + 16|0); + $257 = HEAP32[$256>>2]|0; + $258 = (_sqlite3ExprCodeTemp($254,$257,$11)|0); + HEAP32[$13>>2] = $258; + $259 = HEAP32[$7>>2]|0; + $260 = HEAP32[$8>>2]|0; + $261 = HEAP32[$13>>2]|0; + $262 = HEAP32[$12>>2]|0; + $263 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp3($259,$260,$261,$262,$263)|0); + break; + } + case 155: { + $264 = HEAP32[$5>>2]|0; + $265 = ((($264)) + 12|0); + $266 = HEAP32[$265>>2]|0; + HEAP32[$23>>2] = $266; + $267 = HEAP32[$23>>2]|0; + $268 = HEAP8[$267>>0]|0; + $269 = $268&255; + $270 = ($269|0)==(134); + if ($270) { + $271 = HEAP32[$4>>2]|0; + $272 = HEAP32[$23>>2]|0; + $273 = HEAP32[$6>>2]|0; + _codeInteger($271,$272,1,$273); + $274 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $274; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + } + $275 = HEAP32[$23>>2]|0; + $276 = HEAP8[$275>>0]|0; + $277 = $276&255; + $278 = ($277|0)==(132); + if (!($278)) { + HEAP8[$14>>0] = -122; + $285 = ((($14)) + 4|0); + HEAP32[$285>>2] = 17408; + $286 = ((($14)) + 8|0); + HEAP32[$286>>2] = 0; + $287 = HEAP32[$4>>2]|0; + $288 = (_sqlite3ExprCodeTemp($287,$14,$10)|0); + HEAP32[$12>>2] = $288; + $289 = HEAP32[$4>>2]|0; + $290 = HEAP32[$5>>2]|0; + $291 = ((($290)) + 12|0); + $292 = HEAP32[$291>>2]|0; + $293 = (_sqlite3ExprCodeTemp($289,$292,$11)|0); + HEAP32[$13>>2] = $293; + $294 = HEAP32[$7>>2]|0; + $295 = HEAP32[$13>>2]|0; + $296 = HEAP32[$12>>2]|0; + $297 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp3($294,48,$295,$296,$297)|0); + break L9; } - $29 = HEAP32[$i>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$i>>2] = $30; - $31 = HEAP32[$p>>2]|0; - $32 = ((($31)) + 20|0); - HEAP32[$p>>2] = $32; + $279 = HEAP32[$7>>2]|0; + $280 = HEAP32[$23>>2]|0; + $281 = ((($280)) + 8|0); + $282 = HEAP32[$281>>2]|0; + $283 = HEAP32[$6>>2]|0; + _codeReal($279,$282,1,$283); + $284 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $284; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; } - $33 = HEAP32[$idxLru>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 152|0); - $36 = (($35) + (($33*20)|0)|0); - HEAP32[$p>>2] = $36; - } else { - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 25|0); - $39 = HEAP8[$38>>0]|0; - $40 = (($39) + 1)<<24>>24; - HEAP8[$38>>0] = $40; - $41 = $39&255; - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 152|0); - $44 = (($43) + (($41*20)|0)|0); - HEAP32[$p>>2] = $44; - } - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 64|0); - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$p>>2]|0; - $49 = ((($48)) + 8|0); - HEAP32[$49>>2] = $47; - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$p>>2]|0; - HEAP32[$51>>2] = $50; - $52 = HEAP32[$2>>2]|0; - $53 = $52&65535; - $54 = HEAP32[$p>>2]|0; - $55 = ((($54)) + 4|0); - HEAP16[$55>>1] = $53; - $56 = HEAP32[$3>>2]|0; - $57 = HEAP32[$p>>2]|0; - $58 = ((($57)) + 12|0); - HEAP32[$58>>2] = $56; - $59 = HEAP32[$p>>2]|0; - $60 = ((($59)) + 6|0); - HEAP8[$60>>0] = 0; - $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 68|0); - $63 = HEAP32[$62>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$62>>2] = $64; - $65 = HEAP32[$p>>2]|0; - $66 = ((($65)) + 16|0); - HEAP32[$66>>2] = $63; - STACKTOP = sp;return; -} -function _collationMatch($zColl,$pIndex) { - $zColl = $zColl|0; - $pIndex = $pIndex|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $i = sp + 4|0; - $z = sp; - HEAP32[$1>>2] = $zColl; - HEAP32[$2>>2] = $pIndex; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 52|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = ($3|0)<($7|0); - if (!($8)) { - label = 7; + case 19: case 54: { + $298 = HEAP32[$4>>2]|0; + $299 = HEAP32[$5>>2]|0; + $300 = ((($299)) + 12|0); + $301 = HEAP32[$300>>2]|0; + $302 = (_sqlite3ExprCodeTemp($298,$301,$10)|0); + HEAP32[$12>>2] = $302; + $303 = HEAP32[$7>>2]|0; + $304 = HEAP32[$8>>2]|0; + $305 = HEAP32[$12>>2]|0; + $306 = HEAP32[$9>>2]|0; + (_sqlite3VdbeAddOp2($303,$304,$305,$306)|0); break; } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 32|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($9<<2)|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$z>>2] = $14; - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 4|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($15<<1)|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20 << 16 >> 16; - $22 = ($21|0)>=(0); - if ($22) { - $23 = HEAP32[$z>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = (_sqlite3StrICmp($23,$24)|0); - $26 = (0)==($25|0); - if ($26) { - label = 5; - break; + case 35: case 34: { + $307 = HEAP32[$7>>2]|0; + $308 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($307,76,1,$308)|0); + $309 = HEAP32[$4>>2]|0; + $310 = HEAP32[$5>>2]|0; + $311 = ((($310)) + 12|0); + $312 = HEAP32[$311>>2]|0; + $313 = (_sqlite3ExprCodeTemp($309,$312,$10)|0); + HEAP32[$12>>2] = $313; + $314 = HEAP32[$7>>2]|0; + $315 = HEAP32[$8>>2]|0; + $316 = HEAP32[$12>>2]|0; + $317 = (_sqlite3VdbeAddOp1($314,$315,$316)|0); + HEAP32[$24>>2] = $317; + $318 = HEAP32[$7>>2]|0; + $319 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($318,76,0,$319)|0); + $320 = HEAP32[$7>>2]|0; + $321 = HEAP32[$24>>2]|0; + _sqlite3VdbeJumpHere($320,$321); + break; + } + case 153: { + $322 = HEAP32[$5>>2]|0; + $323 = ((($322)) + 40|0); + $324 = HEAP32[$323>>2]|0; + HEAP32[$25>>2] = $324; + $325 = HEAP32[$25>>2]|0; + $326 = ($325|0)==(0|0); + if ($326) { + $327 = HEAP32[$4>>2]|0; + $328 = HEAP32[$5>>2]|0; + $329 = ((($328)) + 8|0); + $330 = HEAP32[$329>>2]|0; + HEAP32[$vararg_buffer>>2] = $330; + _sqlite3ErrorMsg($327,30361,$vararg_buffer); + break L9; } + $331 = HEAP32[$25>>2]|0; + $332 = ((($331)) + 40|0); + $333 = HEAP32[$332>>2]|0; + $334 = HEAP32[$5>>2]|0; + $335 = ((($334)) + 34|0); + $336 = HEAP16[$335>>1]|0; + $337 = $336 << 16 >> 16; + $338 = (($333) + ($337<<4)|0); + $339 = ((($338)) + 8|0); + $340 = HEAP32[$339>>2]|0; + HEAP32[$3>>2] = $340; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; } - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$i>>2] = $28; - } - if ((label|0) == 5) { - HEAP32[$0>>2] = 1; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); - } - else if ((label|0) == 7) { - HEAP32[$0>>2] = 0; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); - } - return (0)|0; -} -function _codeAttach($pParse,$type,$pFunc,$pAuthArg,$pFilename,$pDbname,$pKey) { - $pParse = $pParse|0; - $type = $type|0; - $pFunc = $pFunc|0; - $pAuthArg = $pAuthArg|0; - $pFilename = $pFilename|0; - $pDbname = $pDbname|0; - $pKey = $pKey|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, $rc = 0, $regArgs = 0, $sName = 0, $v = 0, $zAuthArg = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = sp + 60|0; - $5 = sp + 56|0; - $6 = sp + 52|0; - $rc = sp + 48|0; - $sName = sp + 16|0; - $v = sp + 12|0; - $db = sp + 8|0; - $regArgs = sp + 4|0; - $zAuthArg = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $type; - HEAP32[$2>>2] = $pFunc; - HEAP32[$3>>2] = $pAuthArg; - HEAP32[$4>>2] = $pFilename; - HEAP32[$5>>2] = $pDbname; - HEAP32[$6>>2] = $pKey; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$db>>2] = $8; - ;HEAP32[$sName>>2]=0|0;HEAP32[$sName+4>>2]=0|0;HEAP32[$sName+8>>2]=0|0;HEAP32[$sName+12>>2]=0|0;HEAP32[$sName+16>>2]=0|0;HEAP32[$sName+20>>2]=0|0;HEAP32[$sName+24>>2]=0|0;HEAP32[$sName+28>>2]=0|0; - $9 = HEAP32[$0>>2]|0; - HEAP32[$sName>>2] = $9; - $10 = HEAP32[$4>>2]|0; - $11 = (_resolveAttachExpr($sName,$10)|0); - HEAP32[$rc>>2] = $11; - $12 = (0)!=($11|0); - do { - if (!($12)) { - $13 = HEAP32[$5>>2]|0; - $14 = (_resolveAttachExpr($sName,$13)|0); - HEAP32[$rc>>2] = $14; - $15 = (0)!=($14|0); - if (!($15)) { - $16 = HEAP32[$6>>2]|0; - $17 = (_resolveAttachExpr($sName,$16)|0); - HEAP32[$rc>>2] = $17; - $18 = (0)!=($17|0); - if (!($18)) { - $19 = HEAP32[$3>>2]|0; - $20 = ($19|0)!=(0|0); - if ($20) { - $21 = HEAP32[$3>>2]|0; - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = ($23|0)==(97); - if ($24) { - $25 = HEAP32[$3>>2]|0; - $26 = ((($25)) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$zAuthArg>>2] = $27; - } else { - HEAP32[$zAuthArg>>2] = 0; + case 151: { + HEAP32[$30>>2] = 0; + $341 = HEAP32[$4>>2]|0; + $342 = HEAP32[$341>>2]|0; + HEAP32[$32>>2] = $342; + $343 = HEAP32[$32>>2]|0; + $344 = ((($343)) + 66|0); + $345 = HEAP8[$344>>0]|0; + HEAP8[$33>>0] = $345; + HEAP32[$34>>2] = 0; + $346 = HEAP32[$5>>2]|0; + $347 = ((($346)) + 4|0); + $348 = HEAP32[$347>>2]|0; + $349 = $348 & 16384; + $350 = ($349|0)!=(0); + if ($350) { + HEAP32[$26>>2] = 0; + } else { + $351 = HEAP32[$5>>2]|0; + $352 = ((($351)) + 20|0); + $353 = HEAP32[$352>>2]|0; + HEAP32[$26>>2] = $353; + } + $354 = HEAP32[$26>>2]|0; + $355 = ($354|0)!=(0|0); + if ($355) { + $356 = HEAP32[$26>>2]|0; + $357 = HEAP32[$356>>2]|0; + $358 = $357; + } else { + $358 = 0; + } + HEAP32[$27>>2] = $358; + $359 = HEAP32[$5>>2]|0; + $360 = ((($359)) + 8|0); + $361 = HEAP32[$360>>2]|0; + HEAP32[$29>>2] = $361; + $362 = HEAP32[$32>>2]|0; + $363 = HEAP32[$29>>2]|0; + $364 = HEAP32[$27>>2]|0; + $365 = HEAP8[$33>>0]|0; + $366 = (_sqlite3FindFunction($362,$363,$364,$365,0)|0); + HEAP32[$28>>2] = $366; + $367 = HEAP32[$28>>2]|0; + $368 = ($367|0)==(0|0); + if (!($368)) { + $369 = HEAP32[$28>>2]|0; + $370 = ((($369)) + 16|0); + $371 = HEAP32[$370>>2]|0; + $372 = ($371|0)!=(0|0); + if (!($372)) { + $375 = HEAP32[$28>>2]|0; + $376 = ((($375)) + 2|0); + $377 = HEAP16[$376>>1]|0; + $378 = $377&65535; + $379 = $378 & 512; + $380 = ($379|0)!=(0); + if ($380) { + $381 = HEAP32[$7>>2]|0; + $382 = (_sqlite3VdbeMakeLabel($381)|0); + HEAP32[$35>>2] = $382; + $383 = HEAP32[$4>>2]|0; + $384 = HEAP32[$26>>2]|0; + $385 = ((($384)) + 4|0); + $386 = HEAP32[$385>>2]|0; + $387 = HEAP32[$386>>2]|0; + $388 = HEAP32[$6>>2]|0; + _sqlite3ExprCode($383,$387,$388); + HEAP32[$31>>2] = 1; + while(1) { + $389 = HEAP32[$31>>2]|0; + $390 = HEAP32[$27>>2]|0; + $391 = ($389|0)<($390|0); + $392 = HEAP32[$7>>2]|0; + if (!($391)) { + break; + } + $393 = HEAP32[$6>>2]|0; + $394 = HEAP32[$35>>2]|0; + (_sqlite3VdbeAddOp2($392,35,$393,$394)|0); + $395 = HEAP32[$4>>2]|0; + $396 = HEAP32[$6>>2]|0; + _sqlite3ExprCacheRemove($395,$396,1); + $397 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePush($397); + $398 = HEAP32[$4>>2]|0; + $399 = HEAP32[$26>>2]|0; + $400 = ((($399)) + 4|0); + $401 = HEAP32[$400>>2]|0; + $402 = HEAP32[$31>>2]|0; + $403 = (($401) + (($402*20)|0)|0); + $404 = HEAP32[$403>>2]|0; + $405 = HEAP32[$6>>2]|0; + _sqlite3ExprCode($398,$404,$405); + $406 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePop($406); + $407 = HEAP32[$31>>2]|0; + $408 = (($407) + 1)|0; + HEAP32[$31>>2] = $408; } - $28 = HEAP32[$0>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$zAuthArg>>2]|0; - $31 = (_sqlite3AuthCheck($28,$29,$30,0,0)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)!=(0); - if ($33) { + $409 = HEAP32[$35>>2]|0; + _sqlite3VdbeResolveLabel($392,$409); + break L9; + } + $410 = HEAP32[$28>>2]|0; + $411 = ((($410)) + 2|0); + $412 = HEAP16[$411>>1]|0; + $413 = $412&65535; + $414 = $413 & 1024; + $415 = ($414|0)!=(0); + if ($415) { + $416 = HEAP32[$4>>2]|0; + $417 = HEAP32[$26>>2]|0; + $418 = ((($417)) + 4|0); + $419 = HEAP32[$418>>2]|0; + $420 = HEAP32[$419>>2]|0; + $421 = HEAP32[$6>>2]|0; + $422 = (_sqlite3ExprCodeTarget($416,$420,$421)|0); + HEAP32[$3>>2] = $422; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + } + HEAP32[$31>>2] = 0; + while(1) { + $423 = HEAP32[$31>>2]|0; + $424 = HEAP32[$27>>2]|0; + $425 = ($423|0)<($424|0); + if (!($425)) { break; } + $426 = HEAP32[$31>>2]|0; + $427 = ($426|0)<(32); + if ($427) { + $428 = HEAP32[$26>>2]|0; + $429 = ((($428)) + 4|0); + $430 = HEAP32[$429>>2]|0; + $431 = HEAP32[$31>>2]|0; + $432 = (($430) + (($431*20)|0)|0); + $433 = HEAP32[$432>>2]|0; + $434 = (_sqlite3ExprIsConstant($433)|0); + $435 = ($434|0)!=(0); + if ($435) { + $436 = HEAP32[$31>>2]|0; + $437 = 1 << $436; + $438 = HEAP32[$30>>2]|0; + $439 = $438 | $437; + HEAP32[$30>>2] = $439; + } + } + $440 = HEAP32[$28>>2]|0; + $441 = ((($440)) + 2|0); + $442 = HEAP16[$441>>1]|0; + $443 = $442&65535; + $444 = $443 & 32; + $445 = ($444|0)==(0); + $446 = HEAP32[$34>>2]|0; + $447 = ($446|0)!=(0|0); + $or$cond = $445 | $447; + if (!($or$cond)) { + $448 = HEAP32[$4>>2]|0; + $449 = HEAP32[$26>>2]|0; + $450 = ((($449)) + 4|0); + $451 = HEAP32[$450>>2]|0; + $452 = HEAP32[$31>>2]|0; + $453 = (($451) + (($452*20)|0)|0); + $454 = HEAP32[$453>>2]|0; + $455 = (_sqlite3ExprCollSeq($448,$454)|0); + HEAP32[$34>>2] = $455; + } + $456 = HEAP32[$31>>2]|0; + $457 = (($456) + 1)|0; + HEAP32[$31>>2] = $457; + } + $458 = HEAP32[$26>>2]|0; + $459 = ($458|0)!=(0|0); + if ($459) { + $460 = HEAP32[$30>>2]|0; + $461 = ($460|0)!=(0); + $462 = HEAP32[$4>>2]|0; + if ($461) { + $463 = ((($462)) + 44|0); + $464 = HEAP32[$463>>2]|0; + $465 = (($464) + 1)|0; + HEAP32[$12>>2] = $465; + $466 = HEAP32[$27>>2]|0; + $467 = HEAP32[$4>>2]|0; + $468 = ((($467)) + 44|0); + $469 = HEAP32[$468>>2]|0; + $470 = (($469) + ($466))|0; + HEAP32[$468>>2] = $470; + } else { + $471 = HEAP32[$27>>2]|0; + $472 = (_sqlite3GetTempRange($462,$471)|0); + HEAP32[$12>>2] = $472; + } + $473 = HEAP32[$28>>2]|0; + $474 = ((($473)) + 2|0); + $475 = HEAP16[$474>>1]|0; + $476 = $475&65535; + $477 = $476 & 192; + $478 = ($477|0)!=(0); + do { + if ($478) { + $479 = HEAP32[$26>>2]|0; + $480 = ((($479)) + 4|0); + $481 = HEAP32[$480>>2]|0; + $482 = HEAP32[$481>>2]|0; + $483 = HEAP8[$482>>0]|0; + HEAP8[$36>>0] = $483; + $484 = HEAP8[$36>>0]|0; + $485 = $484&255; + $486 = ($485|0)==(152); + if (!($486)) { + $487 = HEAP8[$36>>0]|0; + $488 = $487&255; + $489 = ($488|0)==(154); + if (!($489)) { + break; + } + } + $490 = HEAP32[$28>>2]|0; + $491 = ((($490)) + 2|0); + $492 = HEAP16[$491>>1]|0; + $493 = $492&65535; + $494 = $493 & 192; + $495 = $494&255; + $496 = HEAP32[$26>>2]|0; + $497 = ((($496)) + 4|0); + $498 = HEAP32[$497>>2]|0; + $499 = HEAP32[$498>>2]|0; + $500 = ((($499)) + 38|0); + HEAP8[$500>>0] = $495; + } + } while(0); + $501 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePush($501); + $502 = HEAP32[$4>>2]|0; + $503 = HEAP32[$26>>2]|0; + $504 = HEAP32[$12>>2]|0; + (_sqlite3ExprCodeExprList($502,$503,$504,0,3)|0); + $505 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePop($505); + } else { + HEAP32[$12>>2] = 0; + } + $506 = HEAP32[$27>>2]|0; + $507 = ($506|0)>=(2); + if ($507) { + $508 = HEAP32[$5>>2]|0; + $509 = ((($508)) + 4|0); + $510 = HEAP32[$509>>2]|0; + $511 = $510 & 128; + $512 = ($511|0)!=(0); + if ($512) { + $513 = HEAP32[$32>>2]|0; + $514 = HEAP32[$28>>2]|0; + $515 = HEAP32[$27>>2]|0; + $516 = HEAP32[$26>>2]|0; + $517 = ((($516)) + 4|0); + $518 = HEAP32[$517>>2]|0; + $519 = ((($518)) + 20|0); + $520 = HEAP32[$519>>2]|0; + $521 = (_sqlite3VtabOverloadFunction($513,$514,$515,$520)|0); + HEAP32[$28>>2] = $521; + } else { + label = 79; + } + } else { + label = 79; } - $34 = HEAP32[$0>>2]|0; - $35 = (_sqlite3GetVdbe($34)|0); - HEAP32[$v>>2] = $35; - $36 = HEAP32[$0>>2]|0; - $37 = (_sqlite3GetTempRange($36,4)|0); - HEAP32[$regArgs>>2] = $37; - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$4>>2]|0; - $40 = HEAP32[$regArgs>>2]|0; - _sqlite3ExprCode($38,$39,$40); - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$5>>2]|0; - $43 = HEAP32[$regArgs>>2]|0; - $44 = (($43) + 1)|0; - _sqlite3ExprCode($41,$42,$44); - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$6>>2]|0; - $47 = HEAP32[$regArgs>>2]|0; - $48 = (($47) + 2)|0; - _sqlite3ExprCode($45,$46,$48); - $49 = HEAP32[$v>>2]|0; - $50 = ($49|0)!=(0|0); - if ($50) { - $51 = HEAP32[$v>>2]|0; - $52 = HEAP32[$regArgs>>2]|0; - $53 = (($52) + 3)|0; - $54 = HEAP32[$2>>2]|0; - $55 = HEAP8[$54>>0]|0; - $56 = $55 << 24 >> 24; - $57 = (($53) - ($56))|0; - $58 = HEAP32[$regArgs>>2]|0; - $59 = (($58) + 3)|0; - $60 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp4($51,89,0,$57,$59,$60,-5)|0); - $61 = HEAP32[$v>>2]|0; - $62 = HEAP32[$2>>2]|0; - $63 = HEAP8[$62>>0]|0; - _sqlite3VdbeChangeP5($61,$63); - $64 = HEAP32[$v>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = ($65|0)==(24); - $67 = $66&1; - (_sqlite3VdbeAddOp1($64,150,$67)|0); + if ((label|0) == 79) { + $522 = HEAP32[$27>>2]|0; + $523 = ($522|0)>(0); + if ($523) { + $524 = HEAP32[$32>>2]|0; + $525 = HEAP32[$28>>2]|0; + $526 = HEAP32[$27>>2]|0; + $527 = HEAP32[$26>>2]|0; + $528 = ((($527)) + 4|0); + $529 = HEAP32[$528>>2]|0; + $530 = HEAP32[$529>>2]|0; + $531 = (_sqlite3VtabOverloadFunction($524,$525,$526,$530)|0); + HEAP32[$28>>2] = $531; + } + } + $532 = HEAP32[$28>>2]|0; + $533 = ((($532)) + 2|0); + $534 = HEAP16[$533>>1]|0; + $535 = $534&65535; + $536 = $535 & 32; + $537 = ($536|0)!=(0); + if ($537) { + $538 = HEAP32[$34>>2]|0; + $539 = ($538|0)!=(0|0); + if (!($539)) { + $540 = HEAP32[$32>>2]|0; + $541 = ((($540)) + 8|0); + $542 = HEAP32[$541>>2]|0; + HEAP32[$34>>2] = $542; + } + $543 = HEAP32[$7>>2]|0; + $544 = HEAP32[$34>>2]|0; + (_sqlite3VdbeAddOp4($543,88,0,0,0,$544,-4)|0); + } + $545 = HEAP32[$7>>2]|0; + $546 = HEAP32[$30>>2]|0; + $547 = HEAP32[$12>>2]|0; + $548 = HEAP32[$6>>2]|0; + $549 = HEAP32[$28>>2]|0; + (_sqlite3VdbeAddOp4($545,89,$546,$547,$548,$549,-5)|0); + $550 = HEAP32[$7>>2]|0; + $551 = HEAP32[$27>>2]|0; + $552 = $551&255; + _sqlite3VdbeChangeP5($550,$552); + $553 = HEAP32[$27>>2]|0; + $554 = ($553|0)!=(0); + $555 = HEAP32[$30>>2]|0; + $556 = ($555|0)==(0); + $or$cond3 = $554 & $556; + if ($or$cond3) { + $557 = HEAP32[$4>>2]|0; + $558 = HEAP32[$12>>2]|0; + $559 = HEAP32[$27>>2]|0; + _sqlite3ReleaseTempRange($557,$558,$559); } + $560 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $560; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); } } - } - } while(0); - $68 = HEAP32[$db>>2]|0; - $69 = HEAP32[$4>>2]|0; - _sqlite3ExprDelete($68,$69); - $70 = HEAP32[$db>>2]|0; - $71 = HEAP32[$5>>2]|0; - _sqlite3ExprDelete($70,$71); - $72 = HEAP32[$db>>2]|0; - $73 = HEAP32[$6>>2]|0; - _sqlite3ExprDelete($72,$73); - STACKTOP = sp;return; -} -function _resolveAttachExpr($pName,$pExpr) { - $pName = $pName|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pName; - HEAP32[$1>>2] = $pExpr; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - do { - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)!=(55); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (_sqlite3ResolveExprNames($8,$9)|0); - HEAP32[$rc>>2] = $10; - break; - } else { - $11 = HEAP32[$1>>2]|0; - HEAP8[$11>>0] = 97; - break; - } - } - } while(0); - $12 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($12|0); -} -function _detachFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $pDb = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $zErr = 0, $zName = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $zName = sp + 40|0; - $db = sp + 36|0; - $i = sp + 32|0; - $pDb = sp + 28|0; - $zErr = sp + 56|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zName>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = (_sqlite3_context_db_handle($6)|0); - HEAP32[$db>>2] = $7; - HEAP32[$pDb>>2] = 0; - $8 = HEAP32[$zName>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - HEAP32[$zName>>2] = 18402; - } - HEAP32[$i>>2] = 0; - while(1) { - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)<($13|0); - if (!($14)) { + $373 = HEAP32[$4>>2]|0; + $374 = HEAP32[$29>>2]|0; + HEAP32[$vararg_buffer4>>2] = $374; + _sqlite3ErrorMsg($373,30387,$vararg_buffer4); break; } - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$db>>2]|0; - $17 = ((($16)) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($15<<4)|0); - HEAP32[$pDb>>2] = $19; - $20 = HEAP32[$pDb>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(0|0); - if (!($23)) { - $24 = HEAP32[$pDb>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$zName>>2]|0; - $27 = (_sqlite3StrICmp($25,$26)|0); - $28 = ($27|0)==(0); - if ($28) { - break; - } - } - $29 = HEAP32[$i>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$i>>2] = $30; - } - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$db>>2]|0; - $33 = ((($32)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($31|0)>=($34|0); - do { - if ($35) { - $36 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer>>2] = $36; - (_sqlite3_snprintf(128,$zErr,31331,$vararg_buffer)|0); - } else { - $37 = HEAP32[$i>>2]|0; - $38 = ($37|0)<(2); - if ($38) { - $39 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer1>>2] = $39; - (_sqlite3_snprintf(128,$zErr,31352,$vararg_buffer1)|0); - break; - } - $40 = HEAP32[$db>>2]|0; - $41 = ((($40)) + 67|0); - $42 = HEAP8[$41>>0]|0; - $43 = ($42<<24>>24)!=(0); - if (!($43)) { - (_sqlite3_snprintf(128,$zErr,31378,$vararg_buffer4)|0); - break; - } - $44 = HEAP32[$pDb>>2]|0; - $45 = ((($44)) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = (_sqlite3BtreeIsInReadTrans($46)|0); - $48 = ($47|0)!=(0); - if (!($48)) { - $49 = HEAP32[$pDb>>2]|0; - $50 = ((($49)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = (_sqlite3BtreeIsInBackup($51)|0); - $53 = ($52|0)!=(0); - if (!($53)) { - $55 = HEAP32[$pDb>>2]|0; - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - (_sqlite3BtreeClose($57)|0); - $58 = HEAP32[$pDb>>2]|0; - $59 = ((($58)) + 4|0); - HEAP32[$59>>2] = 0; - $60 = HEAP32[$pDb>>2]|0; - $61 = ((($60)) + 12|0); - HEAP32[$61>>2] = 0; - $62 = HEAP32[$db>>2]|0; - _sqlite3CollapseDatabaseArray($62); - STACKTOP = sp;return; + case 119: case 20: { + $561 = HEAP32[$8>>2]|0; + $562 = ($561|0)==(119); + if ($562) { + $563 = HEAP32[$5>>2]|0; + $564 = ((($563)) + 20|0); + $565 = HEAP32[$564>>2]|0; + $566 = HEAP32[$565>>2]|0; + $567 = HEAP32[$566>>2]|0; + HEAP32[$37>>2] = $567; + $568 = ($567|0)!=(1); + if ($568) { + $569 = HEAP32[$4>>2]|0; + $570 = HEAP32[$37>>2]|0; + _sqlite3SubselectError($569,$570,1); + break L9; } } - $54 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer6>>2] = $54; - (_sqlite3_snprintf(128,$zErr,31420,$vararg_buffer6)|0); + $571 = HEAP32[$4>>2]|0; + $572 = HEAP32[$5>>2]|0; + $573 = (_sqlite3CodeSubselect($571,$572,0,0)|0); + HEAP32[$3>>2] = $573; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; } - } while(0); - $63 = HEAP32[$0>>2]|0; - _sqlite3_result_error($63,$zErr,-1); - STACKTOP = sp;return; -} -function _sqlite3BtreeClose($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $pBt = 0, $pCur = 0, $pTmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $pBt = sp + 8|0; - $pCur = sp + 4|0; - $pTmp = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pBt>>2] = $3; - $4 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($4); - $5 = HEAP32[$pBt>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pCur>>2] = $7; - while(1) { - $8 = HEAP32[$pCur>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { + case 159: { + $574 = HEAP32[$5>>2]|0; + $575 = ((($574)) + 12|0); + $576 = HEAP32[$575>>2]|0; + $577 = ((($576)) + 28|0); + $578 = HEAP32[$577>>2]|0; + $579 = ($578|0)==(0); + if ($579) { + $580 = HEAP32[$4>>2]|0; + $581 = HEAP32[$5>>2]|0; + $582 = ((($581)) + 12|0); + $583 = HEAP32[$582>>2]|0; + $584 = (_sqlite3CodeSubselect($580,$583,0,0)|0); + $585 = HEAP32[$5>>2]|0; + $586 = ((($585)) + 12|0); + $587 = HEAP32[$586>>2]|0; + $588 = ((($587)) + 28|0); + HEAP32[$588>>2] = $584; + } + $589 = HEAP32[$5>>2]|0; + $590 = ((($589)) + 12|0); + $591 = HEAP32[$590>>2]|0; + $592 = ((($591)) + 28|0); + $593 = HEAP32[$592>>2]|0; + $594 = HEAP32[$5>>2]|0; + $595 = ((($594)) + 32|0); + $596 = HEAP16[$595>>1]|0; + $597 = $596 << 16 >> 16; + $598 = (($593) + ($597))|0; + HEAP32[$3>>2] = $598; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); break; } - $10 = HEAP32[$pCur>>2]|0; - HEAP32[$pTmp>>2] = $10; - $11 = HEAP32[$pCur>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pCur>>2] = $13; - $14 = HEAP32[$pTmp>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ($15|0)==($16|0); - if (!($17)) { - continue; + case 33: { + $599 = HEAP32[$7>>2]|0; + $600 = (_sqlite3VdbeMakeLabel($599)|0); + HEAP32[$38>>2] = $600; + $601 = HEAP32[$7>>2]|0; + $602 = (_sqlite3VdbeMakeLabel($601)|0); + HEAP32[$39>>2] = $602; + $603 = HEAP32[$7>>2]|0; + $604 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($603,79,0,$604)|0); + $605 = HEAP32[$4>>2]|0; + $606 = HEAP32[$5>>2]|0; + $607 = HEAP32[$38>>2]|0; + $608 = HEAP32[$39>>2]|0; + _sqlite3ExprCodeIN($605,$606,$607,$608); + $609 = HEAP32[$7>>2]|0; + $610 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($609,76,1,$610)|0); + $611 = HEAP32[$7>>2]|0; + $612 = HEAP32[$38>>2]|0; + _sqlite3VdbeResolveLabel($611,$612); + $613 = HEAP32[$7>>2]|0; + $614 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($613,91,$614,0)|0); + $615 = HEAP32[$7>>2]|0; + $616 = HEAP32[$39>>2]|0; + _sqlite3VdbeResolveLabel($615,$616); + $617 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $617; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; } - $18 = HEAP32[$pTmp>>2]|0; - (_sqlite3BtreeCloseCursor($18)|0); - } - $19 = HEAP32[$0>>2]|0; - (_sqlite3BtreeRollback($19,0,0)|0); - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 9|0); - $22 = HEAP8[$21>>0]|0; - $23 = ($22<<24>>24)!=(0); - if ($23) { - $24 = HEAP32[$pBt>>2]|0; - $25 = (_removeFromSharingList($24)|0); - $26 = ($25|0)!=(0); - if ($26) { - label = 7; + case 32: { + $618 = HEAP32[$4>>2]|0; + $619 = HEAP32[$5>>2]|0; + $620 = HEAP32[$6>>2]|0; + _exprCodeBetween($618,$619,$620,0,0); + $621 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $621; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; } - } else { - label = 7; - } - if ((label|0) == 7) { - $27 = HEAP32[$pBt>>2]|0; - $28 = HEAP32[$27>>2]|0; - (_sqlite3PagerClose($28)|0); - $29 = HEAP32[$pBt>>2]|0; - $30 = ((($29)) + 52|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { - $33 = HEAP32[$pBt>>2]|0; - $34 = ((($33)) + 48|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)!=(0|0); - if ($36) { - $37 = HEAP32[$pBt>>2]|0; - $38 = ((($37)) + 52|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$pBt>>2]|0; - $41 = ((($40)) + 48|0); - $42 = HEAP32[$41>>2]|0; - FUNCTION_TABLE_vi[$39 & 255]($42); + case 156: case 53: case 161: { + $622 = HEAP32[$4>>2]|0; + $623 = HEAP32[$5>>2]|0; + $624 = ((($623)) + 12|0); + $625 = HEAP32[$624>>2]|0; + $626 = HEAP32[$6>>2]|0; + $627 = (_sqlite3ExprCodeTarget($622,$625,$626)|0); + HEAP32[$3>>2] = $627; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + break; + } + case 88: { + $628 = HEAP32[$5>>2]|0; + $629 = ((($628)) + 44|0); + $630 = HEAP32[$629>>2]|0; + HEAP32[$40>>2] = $630; + $631 = HEAP32[$5>>2]|0; + $632 = ((($631)) + 28|0); + $633 = HEAP32[$632>>2]|0; + $634 = HEAP32[$40>>2]|0; + $635 = ((($634)) + 34|0); + $636 = HEAP16[$635>>1]|0; + $637 = $636 << 16 >> 16; + $638 = (($637) + 1)|0; + $639 = Math_imul($633, $638)|0; + $640 = (($639) + 1)|0; + $641 = HEAP32[$5>>2]|0; + $642 = ((($641)) + 32|0); + $643 = HEAP16[$642>>1]|0; + $644 = $643 << 16 >> 16; + $645 = (($640) + ($644))|0; + HEAP32[$41>>2] = $645; + $646 = HEAP32[$7>>2]|0; + $647 = HEAP32[$41>>2]|0; + $648 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($646,143,$647,$648)|0); + $649 = HEAP32[$5>>2]|0; + $650 = ((($649)) + 32|0); + $651 = HEAP16[$650>>1]|0; + $652 = $651 << 16 >> 16; + $653 = ($652|0)>=(0); + if ($653) { + $654 = HEAP32[$40>>2]|0; + $655 = ((($654)) + 4|0); + $656 = HEAP32[$655>>2]|0; + $657 = HEAP32[$5>>2]|0; + $658 = ((($657)) + 32|0); + $659 = HEAP16[$658>>1]|0; + $660 = $659 << 16 >> 16; + $661 = (($656) + ($660<<4)|0); + $662 = ((($661)) + 13|0); + $663 = HEAP8[$662>>0]|0; + $664 = $663 << 24 >> 24; + $665 = ($664|0)==(69); + if ($665) { + $666 = HEAP32[$7>>2]|0; + $667 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp1($666,92,$667)|0); + } } + break; } - $43 = HEAP32[$pBt>>2]|0; - $44 = ((($43)) + 48|0); - $45 = HEAP32[$44>>2]|0; - _sqlite3DbFree(0,$45); - $46 = HEAP32[$pBt>>2]|0; - _freeTempSpace($46); - $47 = HEAP32[$pBt>>2]|0; - _sqlite3_free($47); - } - $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 28|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)!=(0|0); - if ($51) { - $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 24|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 28|0); - $57 = HEAP32[$56>>2]|0; - $58 = ((($57)) + 24|0); - HEAP32[$58>>2] = $54; - } - $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 24|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)!=(0|0); - if (!($62)) { - $70 = HEAP32[$0>>2]|0; - _sqlite3_free($70); - STACKTOP = sp;return 0; - } - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 28|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$0>>2]|0; - $67 = ((($66)) + 24|0); - $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 28|0); - HEAP32[$69>>2] = $65; - $70 = HEAP32[$0>>2]|0; - _sqlite3_free($70); - STACKTOP = sp;return 0; -} -function _sqlite3CollapseDatabaseArray($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $i = 0, $j = 0, $pDb = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $i = sp + 8|0; - $j = sp + 4|0; - $pDb = sp; - HEAP32[$0>>2] = $db; - HEAP32[$j>>2] = 2; - HEAP32[$i>>2] = 2; - while(1) { - $1 = HEAP32[$i>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1|0)<($4|0); - if (!($5)) { + case 158: { + $668 = HEAP32[$4>>2]|0; + _sqlite3ErrorMsg($668,29254,$vararg_buffer7); break; } - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($6<<4)|0); - HEAP32[$pDb>>2] = $10; - $11 = HEAP32[$pDb>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0|0); - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$pDb>>2]|0; - $17 = HEAP32[$16>>2]|0; - _sqlite3DbFree($15,$17); - $18 = HEAP32[$pDb>>2]|0; - HEAP32[$18>>2] = 0; - } else { - $19 = HEAP32[$j>>2]|0; - $20 = HEAP32[$i>>2]|0; - $21 = ($19|0)<($20|0); - if ($21) { - $22 = HEAP32[$j>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($22<<4)|0); - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + ($27<<4)|0); - ;HEAP32[$26>>2]=HEAP32[$31>>2]|0;HEAP32[$26+4>>2]=HEAP32[$31+4>>2]|0;HEAP32[$26+8>>2]=HEAP32[$31+8>>2]|0;HEAP32[$26+12>>2]=HEAP32[$31+12>>2]|0; + case 83: { + $736 = HEAP32[$4>>2]|0; + $737 = ((($736)) + 128|0); + $738 = HEAP32[$737>>2]|0; + $739 = ($738|0)!=(0|0); + if (!($739)) { + $740 = HEAP32[$4>>2]|0; + _sqlite3ErrorMsg($740,30410,$vararg_buffer9); + HEAP32[$3>>2] = 0; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + } + $741 = HEAP32[$5>>2]|0; + $742 = ((($741)) + 1|0); + $743 = HEAP8[$742>>0]|0; + $744 = $743 << 24 >> 24; + $745 = ($744|0)==(2); + if ($745) { + $746 = HEAP32[$4>>2]|0; + _sqlite3MayAbort($746); + } + $747 = HEAP32[$5>>2]|0; + $748 = ((($747)) + 1|0); + $749 = HEAP8[$748>>0]|0; + $750 = $749 << 24 >> 24; + $751 = ($750|0)==(4); + if ($751) { + $752 = HEAP32[$7>>2]|0; + $753 = HEAP32[$5>>2]|0; + $754 = ((($753)) + 8|0); + $755 = HEAP32[$754>>2]|0; + (_sqlite3VdbeAddOp4($752,75,0,4,0,$755,0)|0); + break L9; + } else { + $756 = HEAP32[$4>>2]|0; + $757 = HEAP32[$5>>2]|0; + $758 = ((($757)) + 1|0); + $759 = HEAP8[$758>>0]|0; + $760 = $759 << 24 >> 24; + $761 = HEAP32[$5>>2]|0; + $762 = ((($761)) + 8|0); + $763 = HEAP32[$762>>2]|0; + _sqlite3HaltConstraint($756,1811,$760,$763,0,0); + break L9; } - $32 = HEAP32[$j>>2]|0; - $33 = (($32) + 1)|0; - HEAP32[$j>>2] = $33; + break; } - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$i>>2] = $35; - } - $36 = HEAP32[$j>>2]|0; - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 20|0); - HEAP32[$38>>2] = $36; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 20|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)<=(2); - if (!($42)) { - STACKTOP = sp;return; - } - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 16|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 392|0); - $48 = ($45|0)!=($47|0); - if (!($48)) { - STACKTOP = sp;return; - } - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 392|0); - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 16|0); - $53 = HEAP32[$52>>2]|0; - ;HEAP32[$50>>2]=HEAP32[$53>>2]|0;HEAP32[$50+4>>2]=HEAP32[$53+4>>2]|0;HEAP32[$50+8>>2]=HEAP32[$53+8>>2]|0;HEAP32[$50+12>>2]=HEAP32[$53+12>>2]|0;HEAP32[$50+16>>2]=HEAP32[$53+16>>2]|0;HEAP32[$50+20>>2]=HEAP32[$53+20>>2]|0;HEAP32[$50+24>>2]=HEAP32[$53+24>>2]|0;HEAP32[$50+28>>2]=HEAP32[$53+28>>2]|0; - $54 = HEAP32[$0>>2]|0; - $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 16|0); - $57 = HEAP32[$56>>2]|0; - _sqlite3DbFree($54,$57); - $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 392|0); - $60 = HEAP32[$0>>2]|0; - $61 = ((($60)) + 16|0); - HEAP32[$61>>2] = $59; - STACKTOP = sp;return; -} -function _sqlite3BtreeCloseCursor($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pBt = 0, $pBtree = 0, $pPrev = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $pBtree = sp + 12|0; - $i = sp + 8|0; - $pBt = sp + 4|0; - $pPrev = sp; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$pBtree>>2] = $2; - $3 = HEAP32[$pBtree>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return 0; - } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pBt>>2] = $7; - $8 = HEAP32[$pBtree>>2]|0; - _sqlite3BtreeEnter($8); - $9 = HEAP32[$0>>2]|0; - _sqlite3BtreeClearCursor($9); - $10 = HEAP32[$pBt>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ($12|0)==($13|0); - L4: do { - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$pBt>>2]|0; - $19 = ((($18)) + 8|0); - HEAP32[$19>>2] = $17; - } else { - $20 = HEAP32[$pBt>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$pPrev>>2] = $22; + default: { + HEAP32[$50>>2] = 0; + $669 = HEAP32[$5>>2]|0; + $670 = ((($669)) + 20|0); + $671 = HEAP32[$670>>2]|0; + HEAP32[$46>>2] = $671; + $672 = HEAP32[$46>>2]|0; + $673 = ((($672)) + 4|0); + $674 = HEAP32[$673>>2]|0; + HEAP32[$47>>2] = $674; + $675 = HEAP32[$46>>2]|0; + $676 = HEAP32[$675>>2]|0; + HEAP32[$44>>2] = $676; + $677 = HEAP32[$7>>2]|0; + $678 = (_sqlite3VdbeMakeLabel($677)|0); + HEAP32[$42>>2] = $678; + $679 = HEAP32[$5>>2]|0; + $680 = ((($679)) + 12|0); + $681 = HEAP32[$680>>2]|0; + HEAP32[$49>>2] = $681; + $682 = ($681|0)!=(0|0); + if ($682) { + $683 = HEAP32[$49>>2]|0; + dest=$14; src=$683; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $684 = HEAP32[$4>>2]|0; + $685 = (_exprCodeVector($684,$14,$10)|0); + _exprToRegister($14,$685); + dest=$48; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP8[$48>>0] = 37; + $686 = ((($48)) + 12|0); + HEAP32[$686>>2] = $14; + HEAP32[$50>>2] = $48; + HEAP32[$10>>2] = 0; + } + HEAP32[$45>>2] = 0; while(1) { - $23 = HEAP32[$pPrev>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = ($25|0)==($26|0); - if ($27) { + $687 = HEAP32[$45>>2]|0; + $688 = HEAP32[$44>>2]|0; + $689 = (($688) - 1)|0; + $690 = ($687|0)<($689|0); + if (!($690)) { break; } - $33 = HEAP32[$pPrev>>2]|0; - $34 = ((($33)) + 8|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$pPrev>>2] = $35; - $36 = HEAP32[$pPrev>>2]|0; - $37 = ($36|0)!=(0|0); - if (!($37)) { - break L4; + $691 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePush($691); + $692 = HEAP32[$49>>2]|0; + $693 = ($692|0)!=(0|0); + $694 = HEAP32[$47>>2]|0; + $695 = HEAP32[$45>>2]|0; + $696 = (($694) + (($695*20)|0)|0); + $697 = HEAP32[$696>>2]|0; + if ($693) { + $698 = ((($48)) + 16|0); + HEAP32[$698>>2] = $697; + } else { + HEAP32[$50>>2] = $697; + } + $699 = HEAP32[$7>>2]|0; + $700 = (_sqlite3VdbeMakeLabel($699)|0); + HEAP32[$43>>2] = $700; + $701 = HEAP32[$4>>2]|0; + $702 = HEAP32[$50>>2]|0; + $703 = HEAP32[$43>>2]|0; + _sqlite3ExprIfFalse($701,$702,$703,16); + $704 = HEAP32[$4>>2]|0; + $705 = HEAP32[$47>>2]|0; + $706 = HEAP32[$45>>2]|0; + $707 = (($706) + 1)|0; + $708 = (($705) + (($707*20)|0)|0); + $709 = HEAP32[$708>>2]|0; + $710 = HEAP32[$6>>2]|0; + _sqlite3ExprCode($704,$709,$710); + $711 = HEAP32[$7>>2]|0; + $712 = HEAP32[$42>>2]|0; + (_sqlite3VdbeGoto($711,$712)|0); + $713 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePop($713); + $714 = HEAP32[$7>>2]|0; + $715 = HEAP32[$43>>2]|0; + _sqlite3VdbeResolveLabel($714,$715); + $716 = HEAP32[$45>>2]|0; + $717 = (($716) + 2)|0; + HEAP32[$45>>2] = $717; + } + $718 = HEAP32[$44>>2]|0; + $719 = $718 & 1; + $720 = ($719|0)!=(0); + if ($720) { + $721 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePush($721); + $722 = HEAP32[$4>>2]|0; + $723 = HEAP32[$46>>2]|0; + $724 = ((($723)) + 4|0); + $725 = HEAP32[$724>>2]|0; + $726 = HEAP32[$44>>2]|0; + $727 = (($726) - 1)|0; + $728 = (($725) + (($727*20)|0)|0); + $729 = HEAP32[$728>>2]|0; + $730 = HEAP32[$6>>2]|0; + _sqlite3ExprCode($722,$729,$730); + $731 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePop($731); + } else { + $732 = HEAP32[$7>>2]|0; + $733 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($732,79,0,$733)|0); + } + $734 = HEAP32[$7>>2]|0; + $735 = HEAP32[$42>>2]|0; + _sqlite3VdbeResolveLabel($734,$735); + } + } + } while(0); + do { + if ((label|0) == 11) { + $93 = HEAP32[$5>>2]|0; + $94 = ((($93)) + 28|0); + $95 = HEAP32[$94>>2]|0; + HEAP32[$18>>2] = $95; + $96 = HEAP32[$18>>2]|0; + $97 = ($96|0)<(0); + do { + if ($97) { + $98 = HEAP32[$4>>2]|0; + $99 = ((($98)) + 56|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)>(0); + if (!($101)) { + $110 = HEAP32[$4>>2]|0; + $111 = ((($110)) + 60|0); + $112 = HEAP32[$111>>2]|0; + HEAP32[$18>>2] = $112; + break; + } + $102 = HEAP32[$5>>2]|0; + $103 = ((($102)) + 32|0); + $104 = HEAP16[$103>>1]|0; + $105 = $104 << 16 >> 16; + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 56|0); + $108 = HEAP32[$107>>2]|0; + $109 = (($105) + ($108))|0; + HEAP32[$3>>2] = $109; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); } + } while(0); + $113 = HEAP32[$4>>2]|0; + $114 = HEAP32[$5>>2]|0; + $115 = ((($114)) + 44|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$5>>2]|0; + $118 = ((($117)) + 32|0); + $119 = HEAP16[$118>>1]|0; + $120 = $119 << 16 >> 16; + $121 = HEAP32[$18>>2]|0; + $122 = HEAP32[$6>>2]|0; + $123 = HEAP32[$5>>2]|0; + $124 = ((($123)) + 38|0); + $125 = HEAP8[$124>>0]|0; + $126 = (_sqlite3ExprCodeGetColumn($113,$116,$120,$121,$122,$125)|0); + HEAP32[$3>>2] = $126; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); + } + else if ((label|0) == 29) { + $218 = HEAP32[$5>>2]|0; + $219 = ((($218)) + 12|0); + $220 = HEAP32[$219>>2]|0; + HEAP32[$22>>2] = $220; + $221 = HEAP32[$22>>2]|0; + $222 = (_sqlite3ExprIsVector($221)|0); + $223 = ($222|0)!=(0); + $224 = HEAP32[$4>>2]|0; + if ($223) { + $225 = HEAP32[$5>>2]|0; + $226 = HEAP32[$6>>2]|0; + $227 = HEAP32[$8>>2]|0; + $228 = $227&255; + $229 = HEAP32[$15>>2]|0; + $230 = $229&255; + _codeVectorCompare($224,$225,$226,$228,$230); + break; + } else { + $231 = HEAP32[$22>>2]|0; + $232 = (_sqlite3ExprCodeTemp($224,$231,$10)|0); + HEAP32[$12>>2] = $232; + $233 = HEAP32[$4>>2]|0; + $234 = HEAP32[$5>>2]|0; + $235 = ((($234)) + 16|0); + $236 = HEAP32[$235>>2]|0; + $237 = (_sqlite3ExprCodeTemp($233,$236,$11)|0); + HEAP32[$13>>2] = $237; + $238 = HEAP32[$4>>2]|0; + $239 = HEAP32[$22>>2]|0; + $240 = HEAP32[$5>>2]|0; + $241 = ((($240)) + 16|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[$8>>2]|0; + $244 = HEAP32[$12>>2]|0; + $245 = HEAP32[$13>>2]|0; + $246 = HEAP32[$9>>2]|0; + $247 = HEAP32[$15>>2]|0; + $248 = 32 | $247; + (_codeCompare($238,$239,$242,$243,$244,$245,$246,$248)|0); + break; } - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$pPrev>>2]|0; - $32 = ((($31)) + 8|0); - HEAP32[$32>>2] = $30; } } while(0); - HEAP32[$i>>2] = 0; + $764 = HEAP32[$4>>2]|0; + $765 = HEAP32[$10>>2]|0; + _sqlite3ReleaseTempReg($764,$765); + $766 = HEAP32[$4>>2]|0; + $767 = HEAP32[$11>>2]|0; + _sqlite3ReleaseTempReg($766,$767); + $768 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $768; + $769 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($769|0); +} +function _sqlite3ExprCodeGetColumn($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 36|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP8[$12>>0] = $5; + $16 = HEAP32[$7>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$13>>2] = $18; + HEAP32[$14>>2] = 0; + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 152|0); + HEAP32[$15>>2] = $20; while(1) { - $38 = HEAP32[$i>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 68|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 << 24 >> 24; - $43 = ($38|0)<=($42|0); - if (!($43)) { + $21 = HEAP32[$14>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ((($22)) + 25|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = ($21|0)<($25|0); + if (!($26)) { break; } - $44 = HEAP32[$i>>2]|0; - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 120|0); - $47 = (($46) + ($44<<2)|0); - $48 = HEAP32[$47>>2]|0; - _releasePage($48); - $49 = HEAP32[$i>>2]|0; - $50 = (($49) + 1)|0; - HEAP32[$i>>2] = $50; + $27 = HEAP32[$15>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$10>>2]|0; + $30 = ($28|0)==($29|0); + if ($30) { + $31 = HEAP32[$15>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP16[$32>>1]|0; + $34 = $33 << 16 >> 16; + $35 = HEAP32[$9>>2]|0; + $36 = ($34|0)==($35|0); + if ($36) { + label = 5; + break; + } + } + $50 = HEAP32[$14>>2]|0; + $51 = (($50) + 1)|0; + HEAP32[$14>>2] = $51; + $52 = HEAP32[$15>>2]|0; + $53 = ((($52)) + 20|0); + HEAP32[$15>>2] = $53; } - $51 = HEAP32[$pBt>>2]|0; - _unlockBtreeIfUnused($51); - $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 12|0); - $54 = HEAP32[$53>>2]|0; - _sqlite3_free($54); - STACKTOP = sp;return 0; + if ((label|0) == 5) { + $37 = HEAP32[$7>>2]|0; + $38 = ((($37)) + 68|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$38>>2] = $40; + $41 = HEAP32[$15>>2]|0; + $42 = ((($41)) + 16|0); + HEAP32[$42>>2] = $39; + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$15>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + _sqlite3ExprCachePinRegister($43,$46); + $47 = HEAP32[$15>>2]|0; + $48 = ((($47)) + 12|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$6>>2] = $49; + $68 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($68|0); + } + $54 = HEAP32[$13>>2]|0; + $55 = HEAP32[$8>>2]|0; + $56 = HEAP32[$10>>2]|0; + $57 = HEAP32[$9>>2]|0; + $58 = HEAP32[$11>>2]|0; + _sqlite3ExprCodeGetColumnOfTable($54,$55,$56,$57,$58); + $59 = HEAP8[$12>>0]|0; + $60 = ($59<<24>>24)!=(0); + if ($60) { + $61 = HEAP32[$13>>2]|0; + $62 = HEAP8[$12>>0]|0; + _sqlite3VdbeChangeP5($61,$62); + } else { + $63 = HEAP32[$7>>2]|0; + $64 = HEAP32[$10>>2]|0; + $65 = HEAP32[$9>>2]|0; + $66 = HEAP32[$11>>2]|0; + _sqlite3ExprCacheStore($63,$64,$65,$66); + } + $67 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $67; + $68 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($68|0); } -function _removeFromSharingList($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pList = 0, $removed = 0, label = 0, sp = 0; +function _codeInteger($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pList = sp + 4|0; - $removed = sp; - HEAP32[$0>>2] = $pBt; - HEAP32[$removed>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 64|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + -1)|0; - HEAP32[$2>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 64|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<=(0); - if (!($8)) { - $32 = HEAP32[$removed>>2]|0; - STACKTOP = sp;return ($32|0); + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp + 8|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp; + $12 = sp + 12|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$8>>2] = $15; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 & 1024; + $20 = ($19|0)!=(0); + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 8|0); + if ($20) { + $23 = HEAP32[$22>>2]|0; + HEAP32[$9>>2] = $23; + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)!=(0); + if ($25) { + $26 = HEAP32[$9>>2]|0; + $27 = (0 - ($26))|0; + HEAP32[$9>>2] = $27; + } + $28 = HEAP32[$8>>2]|0; + $29 = HEAP32[$9>>2]|0; + $30 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp2($28,76,$29,$30)|0); + STACKTOP = sp;return; } - $9 = HEAP32[4024>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ($9|0)==($10|0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 68|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[4024>>2] = $14; - } else { - $15 = HEAP32[4024>>2]|0; - HEAP32[$pList>>2] = $15; - while(1) { - $16 = HEAP32[$pList>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$pList>>2]|0; - $19 = ((($18)) + 68|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ($20|0)!=($21|0); - $33 = $22; + $31 = HEAP32[$22>>2]|0; + HEAP32[$12>>2] = $31; + $32 = HEAP32[$12>>2]|0; + $33 = (_sqlite3DecOrHexToI64($32,$11)|0); + HEAP32[$10>>2] = $33; + $34 = HEAP32[$10>>2]|0; + $35 = ($34|0)==(0); + if (!($35)) { + $36 = HEAP32[$10>>2]|0; + $37 = ($36|0)==(2); + $38 = HEAP32[$6>>2]|0; + $39 = ($38|0)!=(0); + $or$cond = $37 & $39; + if (!($or$cond)) { + $60 = HEAP32[$12>>2]|0; + $61 = (_sqlite3_strnicmp($60,30584,2)|0); + $62 = ($61|0)==(0); + if ($62) { + $63 = HEAP32[$4>>2]|0; + $64 = HEAP32[$12>>2]|0; + HEAP32[$vararg_buffer>>2] = $64; + _sqlite3ErrorMsg($63,30587,$vararg_buffer); + STACKTOP = sp;return; } else { - $33 = 0; - } - $23 = HEAP32[$pList>>2]|0; - if (!($33)) { - break; + $65 = HEAP32[$8>>2]|0; + $66 = HEAP32[$12>>2]|0; + $67 = HEAP32[$6>>2]|0; + $68 = HEAP32[$7>>2]|0; + _codeReal($65,$66,$67,$68); + STACKTOP = sp;return; } - $24 = ((($23)) + 68|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pList>>2] = $25; - } - $26 = ($23|0)!=(0|0); - if ($26) { - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 68|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$pList>>2]|0; - $31 = ((($30)) + 68|0); - HEAP32[$31>>2] = $29; } } - HEAP32[$removed>>2] = 1; - $32 = HEAP32[$removed>>2]|0; - STACKTOP = sp;return ($32|0); -} -function _sqlite3BtreeClearCursor($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 48|0); - $3 = HEAP32[$2>>2]|0; - _sqlite3_free($3); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 48|0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 66|0); - HEAP8[$7>>0] = 0; + $40 = HEAP32[$6>>2]|0; + $41 = ($40|0)!=(0); + if ($41) { + $42 = HEAP32[$10>>2]|0; + $43 = ($42|0)==(2); + $44 = $11; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (_i64Subtract(0,0,($46|0),($49|0))|0); + $51 = tempRet0; + $52 = $43 ? 0 : $50; + $53 = $43 ? -2147483648 : $51; + $54 = $11; + $55 = $54; + HEAP32[$55>>2] = $52; + $56 = (($54) + 4)|0; + $57 = $56; + HEAP32[$57>>2] = $53; + } + $58 = HEAP32[$8>>2]|0; + $59 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp4Dup8($58,77,0,$59,0,$11,-13)|0); STACKTOP = sp;return; } -function _releasePage($pPage) { - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _codeReal($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.0, $17 = 0.0, $18 = 0, $19 = 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; - HEAP32[$0>>2] = $pPage; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { STACKTOP = sp;return; } - $3 = HEAP32[$0>>2]|0; - _releasePageNotNull($3); + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = (_sqlite3Strlen30($12)|0); + (_sqlite3AtoF($11,$8,$13,1)|0); + $14 = HEAP32[$6>>2]|0; + $15 = ($14|0)!=(0); + if ($15) { + $16 = +HEAPF64[$8>>3]; + $17 = -$16; + HEAPF64[$8>>3] = $17; + } + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp4Dup8($18,132,0,$19,0,$8,-12)|0); STACKTOP = sp;return; } -function _unlockBtreeIfUnused($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPage1 = 0, label = 0, sp = 0; +function _sqlite3ExprCacheAffinityChange($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pPage1 = sp; - HEAP32[$0>>2] = $pBt; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 20|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - STACKTOP = sp;return; - } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 12|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$pPage1>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 12|0); - HEAP32[$14>>2] = 0; - $15 = HEAP32[$pPage1>>2]|0; - _releasePageNotNull($15); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + _sqlite3ExprCacheRemove($6,$7,$8); STACKTOP = sp;return; } -function _releasePageNotNull($pPage) { - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3ExprIsVector($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPage; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 72|0); - $3 = HEAP32[$2>>2]|0; - _sqlite3PagerUnrefNotNull($3); - STACKTOP = sp;return; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_sqlite3ExprVectorSize($2)|0); + $4 = ($3|0)>(1); + $5 = $4&1; + STACKTOP = sp;return ($5|0); } -function _attachFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $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, $aNew = 0, $db = 0, $flags = 0, $i = 0, $iDb = 0, $or$cond = 0, $pPager = 0, $pVfs = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0; - var $vararg_buffer7 = 0, $vararg_buffer9 = 0, $z = 0, $zErr = 0, $zErrDyn = 0, $zFile = 0, $zName = 0, $zPath = 0, label = 0, sp = 0; +function _codeVectorCompare($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer13 = sp + 48|0; - $vararg_buffer11 = sp + 40|0; - $vararg_buffer9 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $i = sp + 104|0; - $rc = sp + 100|0; - $db = sp + 96|0; - $zName = sp + 92|0; - $zFile = sp + 88|0; - $zPath = sp + 84|0; - $zErr = sp + 80|0; - $flags = sp + 76|0; - $aNew = sp + 72|0; - $zErrDyn = sp + 68|0; - $pVfs = sp + 64|0; - $z = sp + 60|0; - $pPager = sp + 56|0; - $iDb = sp + 52|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - HEAP32[$zPath>>2] = 0; - HEAP32[$zErr>>2] = 0; - HEAP32[$zErrDyn>>2] = 0; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_text($6)|0); - HEAP32[$zFile>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_text($10)|0); - HEAP32[$zName>>2] = $11; - $12 = HEAP32[$zFile>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - HEAP32[$zFile>>2] = 18402; - } - $14 = HEAP32[$zName>>2]|0; - $15 = ($14|0)==(0|0); - if ($15) { - HEAP32[$zName>>2] = 18402; + STACKTOP = STACKTOP + 80|0; + $5 = sp + 64|0; + $6 = sp + 60|0; + $7 = sp + 56|0; + $8 = sp + 70|0; + $9 = sp + 69|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 68|0; + $18 = sp + 24|0; + $19 = sp + 20|0; + $20 = sp + 16|0; + $21 = sp + 12|0; + $22 = sp + 8|0; + $23 = sp + 4|0; + $24 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP8[$8>>0] = $3; + HEAP8[$9>>0] = $4; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$10>>2] = $27; + $28 = HEAP32[$6>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$11>>2] = $30; + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 16|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$12>>2] = $33; + $34 = HEAP32[$11>>2]|0; + $35 = (_sqlite3ExprVectorSize($34)|0); + HEAP32[$13>>2] = $35; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + $36 = HEAP8[$8>>0]|0; + HEAP8[$17>>0] = $36; + $37 = HEAP32[$10>>2]|0; + $38 = (_sqlite3VdbeMakeLabel($37)|0); + HEAP32[$18>>2] = $38; + $39 = HEAP8[$9>>0]|0; + $40 = $39&255; + $41 = $40 | 32; + $42 = $41&255; + HEAP8[$9>>0] = $42; + $43 = HEAP8[$17>>0]|0; + $44 = $43&255; + $45 = ($44|0)==(39); + if ($45) { + HEAP8[$17>>0] = 40; } - $16 = HEAP32[$db>>2]|0; - $17 = ((($16)) + 20|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 96|0); - $21 = ((($20)) + 28|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + 2)|0; - $24 = ($18|0)>=($23|0); - $25 = HEAP32[$db>>2]|0; - do { - if ($24) { - $26 = HEAP32[$db>>2]|0; - $27 = ((($26)) + 96|0); - $28 = ((($27)) + 28|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$vararg_buffer>>2] = $29; - $30 = (_sqlite3MPrintf($25,31456,$vararg_buffer)|0); - HEAP32[$zErrDyn>>2] = $30; - } else { - $31 = ((($25)) + 67|0); - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)!=(0); - if (!($33)) { - $34 = HEAP32[$db>>2]|0; - $35 = (_sqlite3MPrintf($34,31493,$vararg_buffer2)|0); - HEAP32[$zErrDyn>>2] = $35; - break; - } - HEAP32[$i>>2] = 0; - while(1) { - $36 = HEAP32[$i>>2]|0; - $37 = HEAP32[$db>>2]|0; - $38 = ((($37)) + 20|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($36|0)<($39|0); - if (!($40)) { - break; - } - $41 = HEAP32[$i>>2]|0; - $42 = HEAP32[$db>>2]|0; - $43 = ((($42)) + 16|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + ($41<<4)|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$z>>2] = $46; - $47 = HEAP32[$z>>2]|0; - $48 = HEAP32[$zName>>2]|0; - $49 = (_sqlite3StrICmp($47,$48)|0); - $50 = ($49|0)==(0); - if ($50) { - label = 12; + $46 = HEAP8[$17>>0]|0; + $47 = $46&255; + $48 = ($47|0)==(41); + if ($48) { + HEAP8[$17>>0] = 38; + } + $49 = HEAP32[$5>>2]|0; + $50 = HEAP32[$11>>2]|0; + $51 = (_exprCodeSubselect($49,$50)|0); + HEAP32[$15>>2] = $51; + $52 = HEAP32[$5>>2]|0; + $53 = HEAP32[$12>>2]|0; + $54 = (_exprCodeSubselect($52,$53)|0); + HEAP32[$16>>2] = $54; + HEAP32[$14>>2] = 0; + while(1) { + HEAP32[$19>>2] = 0; + HEAP32[$20>>2] = 0; + $55 = HEAP32[$14>>2]|0; + $56 = ($55|0)>(0); + if ($56) { + $57 = HEAP32[$5>>2]|0; + _sqlite3ExprCachePush($57); + } + $58 = HEAP32[$5>>2]|0; + $59 = HEAP32[$11>>2]|0; + $60 = HEAP32[$14>>2]|0; + $61 = HEAP32[$15>>2]|0; + $62 = (_exprVectorRegister($58,$59,$60,$61,$21,$19)|0); + HEAP32[$23>>2] = $62; + $63 = HEAP32[$5>>2]|0; + $64 = HEAP32[$12>>2]|0; + $65 = HEAP32[$14>>2]|0; + $66 = HEAP32[$16>>2]|0; + $67 = (_exprVectorRegister($63,$64,$65,$66,$22,$20)|0); + HEAP32[$24>>2] = $67; + $68 = HEAP32[$5>>2]|0; + $69 = HEAP32[$21>>2]|0; + $70 = HEAP32[$22>>2]|0; + $71 = HEAP8[$17>>0]|0; + $72 = $71&255; + $73 = HEAP32[$23>>2]|0; + $74 = HEAP32[$24>>2]|0; + $75 = HEAP32[$7>>2]|0; + $76 = HEAP8[$9>>0]|0; + $77 = $76&255; + (_codeCompare($68,$69,$70,$72,$73,$74,$75,$77)|0); + $78 = HEAP32[$5>>2]|0; + $79 = HEAP32[$19>>2]|0; + _sqlite3ReleaseTempReg($78,$79); + $80 = HEAP32[$5>>2]|0; + $81 = HEAP32[$20>>2]|0; + _sqlite3ReleaseTempReg($80,$81); + $82 = HEAP32[$14>>2]|0; + $83 = ($82|0)>(0); + if ($83) { + $84 = HEAP32[$5>>2]|0; + _sqlite3ExprCachePop($84); + } + $85 = HEAP32[$14>>2]|0; + $86 = HEAP32[$13>>2]|0; + $87 = (($86) - 1)|0; + $88 = ($85|0)==($87|0); + if ($88) { + break; + } + $89 = HEAP8[$17>>0]|0; + $90 = $89&255; + $91 = ($90|0)==(37); + do { + if ($91) { + $92 = HEAP32[$10>>2]|0; + $93 = HEAP32[$7>>2]|0; + $94 = HEAP32[$18>>2]|0; + (_sqlite3VdbeAddOp2($92,22,$93,$94)|0); + $95 = HEAP8[$9>>0]|0; + $96 = $95&255; + $97 = $96 | 8; + $98 = $97&255; + HEAP8[$9>>0] = $98; + } else { + $99 = HEAP8[$17>>0]|0; + $100 = $99&255; + $101 = ($100|0)==(36); + $102 = HEAP32[$10>>2]|0; + if ($101) { + $103 = HEAP32[$7>>2]|0; + $104 = HEAP32[$18>>2]|0; + (_sqlite3VdbeAddOp2($102,21,$103,$104)|0); + $105 = HEAP8[$9>>0]|0; + $106 = $105&255; + $107 = $106 | 8; + $108 = $107&255; + HEAP8[$9>>0] = $108; break; } - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; - } - if ((label|0) == 12) { - $51 = HEAP32[$db>>2]|0; - $52 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer4>>2] = $52; - $53 = (_sqlite3MPrintf($51,31535,$vararg_buffer4)|0); - HEAP32[$zErrDyn>>2] = $53; - break; - } - $56 = HEAP32[$db>>2]|0; - $57 = ((($56)) + 16|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$db>>2]|0; - $60 = ((($59)) + 392|0); - $61 = ($58|0)==($60|0); - $62 = HEAP32[$db>>2]|0; - do { - if ($61) { - $63 = (_sqlite3DbMallocRawNN($62,48,0)|0); - HEAP32[$aNew>>2] = $63; - $64 = HEAP32[$aNew>>2]|0; - $65 = ($64|0)==(0|0); - if ($65) { - STACKTOP = sp;return; - } else { - $66 = HEAP32[$aNew>>2]|0; - $67 = HEAP32[$db>>2]|0; - $68 = ((($67)) + 16|0); - $69 = HEAP32[$68>>2]|0; - ;HEAP32[$66>>2]=HEAP32[$69>>2]|0;HEAP32[$66+4>>2]=HEAP32[$69+4>>2]|0;HEAP32[$66+8>>2]=HEAP32[$69+8>>2]|0;HEAP32[$66+12>>2]=HEAP32[$69+12>>2]|0;HEAP32[$66+16>>2]=HEAP32[$69+16>>2]|0;HEAP32[$66+20>>2]=HEAP32[$69+20>>2]|0;HEAP32[$66+24>>2]=HEAP32[$69+24>>2]|0;HEAP32[$66+28>>2]=HEAP32[$69+28>>2]|0; - break; - } - } else { - $70 = HEAP32[$db>>2]|0; - $71 = ((($70)) + 16|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$db>>2]|0; - $74 = ((($73)) + 20|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($75) + 1)|0; - $77 = $76<<4; - $78 = (_sqlite3DbRealloc($62,$72,$77,0)|0); - HEAP32[$aNew>>2] = $78; - $79 = HEAP32[$aNew>>2]|0; - $80 = ($79|0)==(0|0); - if ($80) { - STACKTOP = sp;return; - } + $109 = HEAP32[$18>>2]|0; + (_sqlite3VdbeAddOp2($102,42,0,$109)|0); + $110 = HEAP32[$14>>2]|0; + $111 = HEAP32[$13>>2]|0; + $112 = (($111) - 2)|0; + $113 = ($110|0)==($112|0); + if ($113) { + $114 = HEAP8[$8>>0]|0; + HEAP8[$17>>0] = $114; } - } while(0); - $81 = HEAP32[$aNew>>2]|0; - $82 = HEAP32[$db>>2]|0; - $83 = ((($82)) + 16|0); - HEAP32[$83>>2] = $81; - $84 = HEAP32[$db>>2]|0; - $85 = ((($84)) + 20|0); - $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[$db>>2]|0; - $88 = ((($87)) + 16|0); - $89 = HEAP32[$88>>2]|0; - $90 = (($89) + ($86<<4)|0); - HEAP32[$aNew>>2] = $90; - $91 = HEAP32[$aNew>>2]|0; - ;HEAP32[$91>>2]=0|0;HEAP32[$91+4>>2]=0|0;HEAP32[$91+8>>2]=0|0;HEAP32[$91+12>>2]=0|0; - $92 = HEAP32[$db>>2]|0; - $93 = ((($92)) + 48|0); - $94 = HEAP32[$93>>2]|0; - HEAP32[$flags>>2] = $94; - $95 = HEAP32[$db>>2]|0; - $96 = HEAP32[$95>>2]|0; - $97 = ((($96)) + 16|0); - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$zFile>>2]|0; - $100 = (_sqlite3ParseUri($98,$99,$flags,$pVfs,$zPath,$zErr)|0); - HEAP32[$rc>>2] = $100; - $101 = HEAP32[$rc>>2]|0; - $102 = ($101|0)!=(0); - if ($102) { - $103 = HEAP32[$rc>>2]|0; - $104 = ($103|0)==(7); - if ($104) { - $105 = HEAP32[$db>>2]|0; - _sqlite3OomFault($105); - } - $106 = HEAP32[$0>>2]|0; - $107 = HEAP32[$zErr>>2]|0; - _sqlite3_result_error($106,$107,-1); - $108 = HEAP32[$zErr>>2]|0; - _sqlite3_free($108); - STACKTOP = sp;return; } - $109 = HEAP32[$flags>>2]|0; - $110 = $109 | 256; - HEAP32[$flags>>2] = $110; - $111 = HEAP32[$pVfs>>2]|0; - $112 = HEAP32[$zPath>>2]|0; - $113 = HEAP32[$db>>2]|0; - $114 = HEAP32[$aNew>>2]|0; - $115 = ((($114)) + 4|0); - $116 = HEAP32[$flags>>2]|0; - $117 = (_sqlite3BtreeOpen($111,$112,$113,$115,0,$116)|0); - HEAP32[$rc>>2] = $117; - $118 = HEAP32[$zPath>>2]|0; - _sqlite3_free($118); - $119 = HEAP32[$db>>2]|0; - $120 = ((($119)) + 20|0); - $121 = HEAP32[$120>>2]|0; - $122 = (($121) + 1)|0; - HEAP32[$120>>2] = $122; - $123 = HEAP32[$rc>>2]|0; - $124 = ($123|0)==(19); - if ($124) { - HEAP32[$rc>>2] = 1; - $125 = HEAP32[$db>>2]|0; - $126 = (_sqlite3MPrintf($125,31565,$vararg_buffer7)|0); - HEAP32[$zErrDyn>>2] = $126; - } else { - $127 = HEAP32[$rc>>2]|0; - $128 = ($127|0)==(0); - if ($128) { - $129 = HEAP32[$db>>2]|0; - $130 = HEAP32[$aNew>>2]|0; - $131 = ((($130)) + 4|0); - $132 = HEAP32[$131>>2]|0; - $133 = (_sqlite3SchemaGet($129,$132)|0); - $134 = HEAP32[$aNew>>2]|0; - $135 = ((($134)) + 12|0); - HEAP32[$135>>2] = $133; - $136 = HEAP32[$aNew>>2]|0; - $137 = ((($136)) + 12|0); - $138 = HEAP32[$137>>2]|0; - $139 = ($138|0)!=(0|0); - if ($139) { - $140 = HEAP32[$aNew>>2]|0; - $141 = ((($140)) + 12|0); - $142 = HEAP32[$141>>2]|0; - $143 = ((($142)) + 76|0); - $144 = HEAP8[$143>>0]|0; - $145 = $144&255; - $146 = ($145|0)!=(0); - if ($146) { - $147 = HEAP32[$aNew>>2]|0; - $148 = ((($147)) + 12|0); - $149 = HEAP32[$148>>2]|0; - $150 = ((($149)) + 77|0); - $151 = HEAP8[$150>>0]|0; - $152 = $151&255; - $153 = HEAP32[$db>>2]|0; - $154 = ((($153)) + 66|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = ($152|0)!=($156|0); - if ($157) { - $158 = HEAP32[$db>>2]|0; - $159 = (_sqlite3MPrintf($158,20016,$vararg_buffer9)|0); - HEAP32[$zErrDyn>>2] = $159; - HEAP32[$rc>>2] = 1; + } while(0); + $115 = HEAP32[$14>>2]|0; + $116 = (($115) + 1)|0; + HEAP32[$14>>2] = $116; + } + $117 = HEAP32[$10>>2]|0; + $118 = HEAP32[$18>>2]|0; + _sqlite3VdbeResolveLabel($117,$118); + STACKTOP = sp;return; +} +function _sqlite3ExprCodeTemp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $12 = HEAP32[$5>>2]|0; + $13 = (_sqlite3ExprSkipCollate($12)|0); + HEAP32[$5>>2] = $13; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 23|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP32[$5>>2]|0; + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($21|0)!=(157); + if ($22) { + $23 = HEAP32[$5>>2]|0; + $24 = (_sqlite3ExprIsConstantNotJoin($23)|0); + $25 = ($24|0)!=(0); + if ($25) { + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 80|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$8>>2] = $28; + $29 = HEAP32[$6>>2]|0; + HEAP32[$29>>2] = 0; + $30 = HEAP32[$8>>2]|0; + $31 = ($30|0)!=(0|0); + L5: do { + if ($31) { + $32 = HEAP32[$8>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$10>>2] = $34; + $35 = HEAP32[$8>>2]|0; + $36 = HEAP32[$35>>2]|0; + HEAP32[$9>>2] = $36; + while(1) { + $37 = HEAP32[$9>>2]|0; + $38 = ($37|0)>(0); + if (!($38)) { + break L5; + } + $39 = HEAP32[$10>>2]|0; + $40 = ((($39)) + 13|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41&255) >>> 2; + $43 = $42 & 1; + $44 = $43&255; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$10>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$5>>2]|0; + $49 = (_sqlite3ExprCompare($47,$48,-1)|0); + $50 = ($49|0)==(0); + if ($50) { + break; + } } + $54 = HEAP32[$10>>2]|0; + $55 = ((($54)) + 20|0); + HEAP32[$10>>2] = $55; + $56 = HEAP32[$9>>2]|0; + $57 = (($56) + -1)|0; + HEAP32[$9>>2] = $57; } - } else { - HEAP32[$rc>>2] = 7; + $51 = HEAP32[$10>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + HEAP32[$3>>2] = $53; + $80 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($80|0); } - $160 = HEAP32[$aNew>>2]|0; - $161 = ((($160)) + 4|0); - $162 = HEAP32[$161>>2]|0; - _sqlite3BtreeEnter($162); - $163 = HEAP32[$aNew>>2]|0; - $164 = ((($163)) + 4|0); - $165 = HEAP32[$164>>2]|0; - $166 = (_sqlite3BtreePager($165)|0); - HEAP32[$pPager>>2] = $166; - $167 = HEAP32[$pPager>>2]|0; - $168 = HEAP32[$db>>2]|0; - $169 = ((($168)) + 71|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - (_sqlite3PagerLockingMode($167,$171)|0); - $172 = HEAP32[$aNew>>2]|0; - $173 = ((($172)) + 4|0); - $174 = HEAP32[$173>>2]|0; - $175 = HEAP32[$db>>2]|0; - $176 = ((($175)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = (_sqlite3BtreeSecureDelete($179,-1)|0); - (_sqlite3BtreeSecureDelete($174,$180)|0); - $181 = HEAP32[$aNew>>2]|0; - $182 = ((($181)) + 4|0); - $183 = HEAP32[$182>>2]|0; - $184 = HEAP32[$db>>2]|0; - $185 = ((($184)) + 24|0); - $186 = HEAP32[$185>>2]|0; - $187 = $186 & 56; - $188 = 3 | $187; - (_sqlite3BtreeSetPagerFlags($183,$188)|0); - } - } - $189 = HEAP32[$aNew>>2]|0; - $190 = ((($189)) + 8|0); - HEAP8[$190>>0] = 3; - $191 = HEAP32[$db>>2]|0; - $192 = HEAP32[$zName>>2]|0; - $193 = (_sqlite3DbStrDup($191,$192)|0); - $194 = HEAP32[$aNew>>2]|0; - HEAP32[$194>>2] = $193; - $195 = HEAP32[$rc>>2]|0; - $196 = ($195|0)==(0); - if ($196) { - $197 = HEAP32[$aNew>>2]|0; - $198 = HEAP32[$197>>2]|0; - $199 = ($198|0)==(0|0); - if ($199) { - HEAP32[$rc>>2] = 7; - } - } - $200 = HEAP32[$rc>>2]|0; - $201 = ($200|0)==(0); - if ($201) { - $202 = HEAP32[$db>>2]|0; - _sqlite3BtreeEnterAll($202); - $203 = HEAP32[$db>>2]|0; - $204 = (_sqlite3Init($203,$zErrDyn)|0); - HEAP32[$rc>>2] = $204; - } - $205 = HEAP32[$rc>>2]|0; - $206 = ($205|0)!=(0); - if (!($206)) { - STACKTOP = sp;return; + } while(0); + $58 = HEAP32[$4>>2]|0; + $59 = ((($58)) + 44|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($60) + 1)|0; + HEAP32[$59>>2] = $61; + HEAP32[$7>>2] = $61; + $62 = HEAP32[$4>>2]|0; + $63 = HEAP32[$5>>2]|0; + $64 = HEAP32[$7>>2]|0; + _sqlite3ExprCodeAtInit($62,$63,$64,1); + } else { + label = 12; } - $207 = HEAP32[$db>>2]|0; - $208 = ((($207)) + 20|0); - $209 = HEAP32[$208>>2]|0; - $210 = (($209) - 1)|0; - HEAP32[$iDb>>2] = $210; - $211 = HEAP32[$iDb>>2]|0; - $212 = HEAP32[$db>>2]|0; - $213 = ((($212)) + 16|0); - $214 = HEAP32[$213>>2]|0; - $215 = (($214) + ($211<<4)|0); - $216 = ((($215)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)!=(0|0); - if ($218) { - $219 = HEAP32[$iDb>>2]|0; - $220 = HEAP32[$db>>2]|0; - $221 = ((($220)) + 16|0); - $222 = HEAP32[$221>>2]|0; - $223 = (($222) + ($219<<4)|0); - $224 = ((($223)) + 4|0); - $225 = HEAP32[$224>>2]|0; - (_sqlite3BtreeClose($225)|0); - $226 = HEAP32[$iDb>>2]|0; - $227 = HEAP32[$db>>2]|0; - $228 = ((($227)) + 16|0); - $229 = HEAP32[$228>>2]|0; - $230 = (($229) + ($226<<4)|0); - $231 = ((($230)) + 4|0); - HEAP32[$231>>2] = 0; - $232 = HEAP32[$iDb>>2]|0; - $233 = HEAP32[$db>>2]|0; - $234 = ((($233)) + 16|0); - $235 = HEAP32[$234>>2]|0; - $236 = (($235) + ($232<<4)|0); - $237 = ((($236)) + 12|0); - HEAP32[$237>>2] = 0; - } - $238 = HEAP32[$db>>2]|0; - _sqlite3ResetAllSchemasOfConnection($238); - $239 = HEAP32[$iDb>>2]|0; - $240 = HEAP32[$db>>2]|0; - $241 = ((($240)) + 20|0); - HEAP32[$241>>2] = $239; - $242 = HEAP32[$rc>>2]|0; - $243 = ($242|0)==(7); - $244 = HEAP32[$rc>>2]|0; - $245 = ($244|0)==(3082); - $or$cond = $243 | $245; - if ($or$cond) { - $246 = HEAP32[$db>>2]|0; - _sqlite3OomFault($246); - $247 = HEAP32[$db>>2]|0; - $248 = HEAP32[$zErrDyn>>2]|0; - _sqlite3DbFree($247,$248); - $249 = HEAP32[$db>>2]|0; - $250 = (_sqlite3MPrintf($249,25016,$vararg_buffer11)|0); - HEAP32[$zErrDyn>>2] = $250; + } else { + label = 12; + } + } else { + label = 12; + } + do { + if ((label|0) == 12) { + $65 = HEAP32[$4>>2]|0; + $66 = (_sqlite3GetTempReg($65)|0); + HEAP32[$11>>2] = $66; + $67 = HEAP32[$4>>2]|0; + $68 = HEAP32[$5>>2]|0; + $69 = HEAP32[$11>>2]|0; + $70 = (_sqlite3ExprCodeTarget($67,$68,$69)|0); + HEAP32[$7>>2] = $70; + $71 = HEAP32[$7>>2]|0; + $72 = HEAP32[$11>>2]|0; + $73 = ($71|0)==($72|0); + if ($73) { + $74 = HEAP32[$11>>2]|0; + $75 = HEAP32[$6>>2]|0; + HEAP32[$75>>2] = $74; + break; + } else { + $76 = HEAP32[$4>>2]|0; + $77 = HEAP32[$11>>2]|0; + _sqlite3ReleaseTempReg($76,$77); + $78 = HEAP32[$6>>2]|0; + HEAP32[$78>>2] = 0; break; - } - $251 = HEAP32[$zErrDyn>>2]|0; - $252 = ($251|0)==(0|0); - if ($252) { - $253 = HEAP32[$db>>2]|0; - $254 = HEAP32[$zFile>>2]|0; - HEAP32[$vararg_buffer13>>2] = $254; - $255 = (_sqlite3MPrintf($253,31594,$vararg_buffer13)|0); - HEAP32[$zErrDyn>>2] = $255; } } } while(0); - $256 = HEAP32[$zErrDyn>>2]|0; - $257 = ($256|0)!=(0|0); - if ($257) { - $258 = HEAP32[$0>>2]|0; - $259 = HEAP32[$zErrDyn>>2]|0; - _sqlite3_result_error($258,$259,-1); - $260 = HEAP32[$db>>2]|0; - $261 = HEAP32[$zErrDyn>>2]|0; - _sqlite3DbFree($260,$261); - } - $262 = HEAP32[$rc>>2]|0; - $263 = ($262|0)!=(0); - if (!($263)) { - STACKTOP = sp;return; - } - $264 = HEAP32[$0>>2]|0; - $265 = HEAP32[$rc>>2]|0; - _sqlite3_result_error_code($264,$265); - STACKTOP = sp;return; + $79 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $79; + $80 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($80|0); } -function _sqlite3PagerLockingMode($pPager,$eMode) { - $pPager = $pPager|0; - $eMode = $eMode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; +function _codeCompare($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + HEAP32[$15>>2] = $7; + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$9>>2]|0; + $21 = HEAP32[$10>>2]|0; + $22 = (_sqlite3BinaryCompareCollSeq($19,$20,$21)|0); + HEAP32[$18>>2] = $22; + $23 = HEAP32[$9>>2]|0; + $24 = HEAP32[$10>>2]|0; + $25 = HEAP32[$15>>2]|0; + $26 = (_binaryCompareP5($23,$24,$25)|0); + $27 = $26&255; + HEAP32[$16>>2] = $27; + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$11>>2]|0; + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$14>>2]|0; + $34 = HEAP32[$12>>2]|0; + $35 = HEAP32[$18>>2]|0; + $36 = (_sqlite3VdbeAddOp4($30,$31,$32,$33,$34,$35,-4)|0); + HEAP32[$17>>2] = $36; + $37 = HEAP32[$8>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$16>>2]|0; + $41 = $40&255; + _sqlite3VdbeChangeP5($39,$41); + $42 = HEAP32[$17>>2]|0; + STACKTOP = sp;return ($42|0); +} +function _sqlite3ExprIsConstant($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $eMode; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>=(0); - if ($3) { - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 13|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if (!($7)) { - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 216|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3WalHeapMemory($10)|0); - $12 = ($11|0)!=(0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - $14 = $13&255; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 4|0); - HEAP8[$16>>0] = $14; + $3 = (_exprIsConst($2,1,0)|0); + STACKTOP = sp;return ($3|0); +} +function _sqlite3ExprCodeExprList($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 49|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 48|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP8[$9>>0] = $4; + $19 = HEAP8[$9>>0]|0; + $20 = $19&255; + $21 = $20 & 1; + $22 = ($21|0)!=(0); + $23 = $22 ? 84 : 85; + $24 = $23&255; + HEAP8[$14>>0] = $24; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$15>>2] = $27; + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$28>>2]|0; + HEAP32[$13>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 23|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)!=(0); + if (!($33)) { + $34 = HEAP8[$9>>0]|0; + $35 = $34&255; + $36 = $35 & -3; + $37 = $36&255; + HEAP8[$9>>0] = $37; + } + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$10>>2] = $40; + HEAP32[$11>>2] = 0; + while(1) { + $41 = HEAP32[$11>>2]|0; + $42 = HEAP32[$13>>2]|0; + $43 = ($41|0)<($42|0); + if (!($43)) { + break; + } + $44 = HEAP32[$10>>2]|0; + $45 = HEAP32[$44>>2]|0; + HEAP32[$16>>2] = $45; + $46 = HEAP8[$9>>0]|0; + $47 = $46&255; + $48 = $47 & 4; + $49 = ($48|0)!=(0); + if ($49) { + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$11>>2]|0; + $54 = (($52) + (($53*20)|0)|0); + $55 = ((($54)) + 16|0); + $56 = HEAP16[$55>>1]|0; + $57 = $56&65535; + HEAP32[$12>>2] = $57; + $58 = ($57|0)>(0); + if ($58) { + $59 = HEAP32[$15>>2]|0; + $60 = HEAP8[$14>>0]|0; + $61 = $60&255; + $62 = HEAP32[$12>>2]|0; + $63 = HEAP32[$8>>2]|0; + $64 = (($62) + ($63))|0; + $65 = (($64) - 1)|0; + $66 = HEAP32[$7>>2]|0; + $67 = HEAP32[$11>>2]|0; + $68 = (($66) + ($67))|0; + (_sqlite3VdbeAddOp2($59,$61,$65,$68)|0); + } else { + label = 8; } + } else { + label = 8; } + do { + if ((label|0) == 8) { + label = 0; + $69 = HEAP8[$9>>0]|0; + $70 = $69&255; + $71 = $70 & 2; + $72 = ($71|0)!=(0); + if ($72) { + $73 = HEAP32[$16>>2]|0; + $74 = (_sqlite3ExprIsConstant($73)|0); + $75 = ($74|0)!=(0); + if ($75) { + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$16>>2]|0; + $78 = HEAP32[$7>>2]|0; + $79 = HEAP32[$11>>2]|0; + $80 = (($78) + ($79))|0; + _sqlite3ExprCodeAtInit($76,$77,$80,0); + break; + } + } + $81 = HEAP32[$5>>2]|0; + $82 = HEAP32[$16>>2]|0; + $83 = HEAP32[$7>>2]|0; + $84 = HEAP32[$11>>2]|0; + $85 = (($83) + ($84))|0; + $86 = (_sqlite3ExprCodeTarget($81,$82,$85)|0); + HEAP32[$17>>2] = $86; + $87 = HEAP32[$17>>2]|0; + $88 = HEAP32[$7>>2]|0; + $89 = HEAP32[$11>>2]|0; + $90 = (($88) + ($89))|0; + $91 = ($87|0)!=($90|0); + if ($91) { + $92 = HEAP8[$14>>0]|0; + $93 = $92&255; + $94 = ($93|0)==(84); + if ($94) { + $95 = HEAP32[$15>>2]|0; + $96 = (_sqlite3VdbeGetOp($95,-1)|0); + HEAP32[$18>>2] = $96; + $97 = HEAP8[$96>>0]|0; + $98 = $97&255; + $99 = ($98|0)==(84); + if ($99) { + $100 = HEAP32[$18>>2]|0; + $101 = ((($100)) + 4|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$18>>2]|0; + $104 = ((($103)) + 12|0); + $105 = HEAP32[$104>>2]|0; + $106 = (($102) + ($105))|0; + $107 = (($106) + 1)|0; + $108 = HEAP32[$17>>2]|0; + $109 = ($107|0)==($108|0); + if ($109) { + $110 = HEAP32[$18>>2]|0; + $111 = ((($110)) + 8|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$18>>2]|0; + $114 = ((($113)) + 12|0); + $115 = HEAP32[$114>>2]|0; + $116 = (($112) + ($115))|0; + $117 = (($116) + 1)|0; + $118 = HEAP32[$7>>2]|0; + $119 = HEAP32[$11>>2]|0; + $120 = (($118) + ($119))|0; + $121 = ($117|0)==($120|0); + if ($121) { + $122 = HEAP32[$18>>2]|0; + $123 = ((($122)) + 12|0); + $124 = HEAP32[$123>>2]|0; + $125 = (($124) + 1)|0; + HEAP32[$123>>2] = $125; + break; + } + } + } + } + $126 = HEAP32[$15>>2]|0; + $127 = HEAP8[$14>>0]|0; + $128 = $127&255; + $129 = HEAP32[$17>>2]|0; + $130 = HEAP32[$7>>2]|0; + $131 = HEAP32[$11>>2]|0; + $132 = (($130) + ($131))|0; + (_sqlite3VdbeAddOp2($126,$128,$129,$132)|0); + } + } + } while(0); + $133 = HEAP32[$11>>2]|0; + $134 = (($133) + 1)|0; + HEAP32[$11>>2] = $134; + $135 = HEAP32[$10>>2]|0; + $136 = ((($135)) + 20|0); + HEAP32[$10>>2] = $136; } - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - STACKTOP = sp;return ($20|0); + $137 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($137|0); } -function _sqlite3BtreeSecureDelete($p,$newFlag) { - $p = $p|0; - $newFlag = $newFlag|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $b = 0, label = 0, sp = 0; +function _sqlite3VtabOverloadFunction($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $b = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $newFlag; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = 0; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); + STACKTOP = STACKTOP + 64|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$15>>2] = 0; + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)==(0|0); + if ($19) { + $20 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $20; + $122 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($122|0); } - $5 = HEAP32[$1>>2]|0; - _sqlite3BtreeEnter($5); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)>=(0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 22|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = $13 & -5; - $15 = $14&65535; - HEAP16[$11>>1] = $15; - $16 = HEAP32[$2>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($20)) + 22|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = $23 | 4; - $25 = $24&65535; - HEAP16[$21>>1] = $25; - } + $21 = HEAP32[$8>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)!=(152); + if ($24) { + $25 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $25; + $122 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($122|0); } - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 4|0); + $26 = HEAP32[$8>>2]|0; + $27 = ((($26)) + 44|0); $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 22|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $32 = $31 & 4; - $33 = ($32|0)!=(0); - $34 = $33&1; - HEAP32[$b>>2] = $34; - $35 = HEAP32[$b>>2]|0; - HEAP32[$0>>2] = $35; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); + HEAP32[$9>>2] = $28; + $29 = HEAP32[$9>>2]|0; + $30 = ($29|0)==(0|0); + if ($30) { + $31 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $31; + $122 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($122|0); + } + $32 = HEAP32[$9>>2]|0; + $33 = ((($32)) + 42|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = $35 & 16; + $37 = ($36|0)==(0); + if ($37) { + $38 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $38; + $122 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($122|0); + } + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$9>>2]|0; + $41 = (_sqlite3GetVTable($39,$40)|0); + $42 = ((($41)) + 8|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$10>>2] = $43; + $44 = HEAP32[$10>>2]|0; + $45 = HEAP32[$44>>2]|0; + HEAP32[$11>>2] = $45; + $46 = HEAP32[$11>>2]|0; + $47 = ((($46)) + 72|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==(0|0); + if ($49) { + $50 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $50; + $122 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($122|0); + } + $51 = HEAP32[$5>>2]|0; + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 20|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3DbStrDup($51,$54)|0); + HEAP32[$16>>2] = $55; + $56 = HEAP32[$16>>2]|0; + $57 = ($56|0)!=(0|0); + if ($57) { + $58 = HEAP32[$16>>2]|0; + HEAP32[$17>>2] = $58; + while(1) { + $59 = HEAP32[$17>>2]|0; + $60 = HEAP8[$59>>0]|0; + $61 = ($60<<24>>24)!=(0); + if (!($61)) { + break; + } + $62 = HEAP32[$17>>2]|0; + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = (20458 + ($64)|0); + $66 = HEAP8[$65>>0]|0; + $67 = HEAP32[$17>>2]|0; + HEAP8[$67>>0] = $66; + $68 = HEAP32[$17>>2]|0; + $69 = ((($68)) + 1|0); + HEAP32[$17>>2] = $69; + } + $70 = HEAP32[$11>>2]|0; + $71 = ((($70)) + 72|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$10>>2]|0; + $74 = HEAP32[$7>>2]|0; + $75 = HEAP32[$16>>2]|0; + $76 = (FUNCTION_TABLE_iiiiii[$72 & 255]($73,$74,$75,$12,$13)|0); + HEAP32[$15>>2] = $76; + $77 = HEAP32[$5>>2]|0; + $78 = HEAP32[$16>>2]|0; + _sqlite3DbFree($77,$78); + } + $79 = HEAP32[$15>>2]|0; + $80 = ($79|0)==(0); + if ($80) { + $81 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $81; + $122 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($122|0); + } + $82 = HEAP32[$5>>2]|0; + $83 = HEAP32[$6>>2]|0; + $84 = ((($83)) + 20|0); + $85 = HEAP32[$84>>2]|0; + $86 = (_sqlite3Strlen30($85)|0); + $87 = (28 + ($86))|0; + $88 = (($87) + 1)|0; + $89 = (_sqlite3DbMallocZero($82,$88,0)|0); + HEAP32[$14>>2] = $89; + $90 = HEAP32[$14>>2]|0; + $91 = ($90|0)==(0|0); + if ($91) { + $92 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $92; + $122 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($122|0); + } else { + $93 = HEAP32[$14>>2]|0; + $94 = HEAP32[$6>>2]|0; + ;HEAP32[$93>>2]=HEAP32[$94>>2]|0;HEAP32[$93+4>>2]=HEAP32[$94+4>>2]|0;HEAP32[$93+8>>2]=HEAP32[$94+8>>2]|0;HEAP32[$93+12>>2]=HEAP32[$94+12>>2]|0;HEAP32[$93+16>>2]=HEAP32[$94+16>>2]|0;HEAP32[$93+20>>2]=HEAP32[$94+20>>2]|0;HEAP32[$93+24>>2]=HEAP32[$94+24>>2]|0; + $95 = HEAP32[$14>>2]|0; + $96 = ((($95)) + 28|0); + $97 = HEAP32[$14>>2]|0; + $98 = ((($97)) + 20|0); + HEAP32[$98>>2] = $96; + $99 = HEAP32[$14>>2]|0; + $100 = ((($99)) + 28|0); + $101 = HEAP32[$6>>2]|0; + $102 = ((($101)) + 20|0); + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$6>>2]|0; + $105 = ((($104)) + 20|0); + $106 = HEAP32[$105>>2]|0; + $107 = (_sqlite3Strlen30($106)|0); + $108 = (($107) + 1)|0; + _memcpy(($100|0),($103|0),($108|0))|0; + $109 = HEAP32[$12>>2]|0; + $110 = HEAP32[$14>>2]|0; + $111 = ((($110)) + 12|0); + HEAP32[$111>>2] = $109; + $112 = HEAP32[$13>>2]|0; + $113 = HEAP32[$14>>2]|0; + $114 = ((($113)) + 4|0); + HEAP32[$114>>2] = $112; + $115 = HEAP32[$14>>2]|0; + $116 = ((($115)) + 2|0); + $117 = HEAP16[$116>>1]|0; + $118 = $117&65535; + $119 = $118 | 16; + $120 = $119&65535; + HEAP16[$116>>1] = $120; + $121 = HEAP32[$14>>2]|0; + HEAP32[$4>>2] = $121; + $122 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($122|0); + } + return (0)|0; } -function _sqlite3BtreeSetPagerFlags($p,$pgFlags) { - $p = $p|0; - $pgFlags = $pgFlags|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $pBt = 0, label = 0, sp = 0; +function _sqlite3SubselectError($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pgFlags; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pBt>>2] = $4; - $5 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($5); - $6 = HEAP32[$pBt>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$1>>2]|0; - _sqlite3PagerSetFlags($7,$8); - STACKTOP = sp;return 0; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 30540; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$6>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $10; + _sqlite3ErrorMsg($7,$8,$vararg_buffer); + STACKTOP = sp;return; } -function _sqlite3PagerSetFlags($pPager,$pgFlags) { - $pPager = $pPager|0; - $pgFlags = $pgFlags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0; - var $level = 0, label = 0, sp = 0; +function _sqlite3CodeSubselect($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 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, $cond = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $level = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pgFlags; - $2 = HEAP32[$1>>2]|0; - $3 = $2 & 7; - HEAP32[$level>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 13|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 7|0); - HEAP8[$9>>0] = 1; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 8|0); - HEAP8[$11>>0] = 0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 9|0); - HEAP8[$13>>0] = 0; - } else { - $14 = HEAP32[$level>>2]|0; - $15 = ($14|0)==(1); - $16 = $15 ? 1 : 0; - $17 = $16&255; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 7|0); - HEAP8[$19>>0] = $17; - $20 = HEAP32[$level>>2]|0; - $21 = ($20>>>0)>=(3); - $22 = $21 ? 1 : 0; - $23 = $22&255; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 8|0); - HEAP8[$25>>0] = $23; - $26 = HEAP32[$level>>2]|0; - $27 = ($26|0)==(4); - $28 = $27 ? 1 : 0; - $29 = $28&255; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 9|0); - HEAP8[$31>>0] = $29; + STACKTOP = STACKTOP + 176|0; + $vararg_buffer = sp; + $4 = sp + 168|0; + $5 = sp + 164|0; + $6 = sp + 160|0; + $7 = sp + 156|0; + $8 = sp + 152|0; + $9 = sp + 148|0; + $10 = sp + 144|0; + $11 = sp + 140|0; + $12 = sp + 136|0; + $13 = sp + 132|0; + $14 = sp + 128|0; + $15 = sp + 124|0; + $16 = sp + 120|0; + $17 = sp + 116|0; + $18 = sp + 112|0; + $19 = sp + 88|0; + $20 = sp + 80|0; + $21 = sp + 76|0; + $22 = sp + 172|0; + $23 = sp + 72|0; + $24 = sp + 68|0; + $25 = sp + 64|0; + $26 = sp + 60|0; + $27 = sp + 56|0; + $28 = sp + 52|0; + $29 = sp + 48|0; + $30 = sp + 44|0; + $31 = sp + 40|0; + $32 = sp + 16|0; + $33 = sp + 12|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = -1; + HEAP32[$10>>2] = 0; + $34 = HEAP32[$5>>2]|0; + $35 = (_sqlite3GetVdbe($34)|0); + HEAP32[$11>>2] = $35; + $36 = HEAP32[$11>>2]|0; + $37 = ($36|0)==(0|0); + if ($37) { + HEAP32[$4>>2] = 0; + $318 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($318|0); } - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 7|0); - $34 = HEAP8[$33>>0]|0; - $35 = ($34<<24>>24)!=(0); + $38 = HEAP32[$5>>2]|0; + _sqlite3ExprCachePush($38); + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = $41 & 32; + $43 = ($42|0)!=(0); + if (!($43)) { + $44 = HEAP32[$11>>2]|0; + $45 = (_sqlite3VdbeAddOp0($44,20)|0); + HEAP32[$9>>2] = $45; + } + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 409|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = ($49|0)==(2); + if ($50) { + $51 = HEAP32[$5>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$9>>2]|0; + $54 = ($53|0)>=(0); + $55 = $54 ? 55752 : 30491; + $56 = HEAP32[$6>>2]|0; + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = ($58|0)==(33); + $60 = $59 ? 30503 : 30508; + $61 = HEAP32[$5>>2]|0; + $62 = ((($61)) + 424|0); + $63 = HEAP32[$62>>2]|0; + HEAP32[$vararg_buffer>>2] = $55; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $60; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $63; + $64 = (_sqlite3MPrintf($52,30515,$vararg_buffer)|0); + HEAP32[$12>>2] = $64; + $65 = HEAP32[$11>>2]|0; + $66 = HEAP32[$5>>2]|0; + $67 = ((($66)) + 420|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$12>>2]|0; + (_sqlite3VdbeAddOp4($65,162,$68,0,0,$69,-1)|0); + } + $70 = HEAP32[$6>>2]|0; + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $cond = ($72|0)==(33); + $73 = HEAP32[$6>>2]|0; do { - if ($35) { - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 12|0); - HEAP8[$37>>0] = 0; - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 10|0); - HEAP8[$39>>0] = 0; + if ($cond) { + $74 = ((($73)) + 12|0); + $75 = HEAP32[$74>>2]|0; + HEAP32[$14>>2] = $75; + HEAP32[$15>>2] = 0; + $76 = HEAP32[$14>>2]|0; + $77 = (_sqlite3ExprVectorSize($76)|0); + HEAP32[$16>>2] = $77; + $78 = HEAP32[$5>>2]|0; + $79 = ((($78)) + 40|0); + $80 = HEAP32[$79>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$79>>2] = $81; + $82 = HEAP32[$6>>2]|0; + $83 = ((($82)) + 28|0); + HEAP32[$83>>2] = $80; + $84 = HEAP32[$11>>2]|0; + $85 = HEAP32[$6>>2]|0; + $86 = ((($85)) + 28|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$8>>2]|0; + $89 = ($88|0)!=(0); + $90 = HEAP32[$16>>2]|0; + $91 = $89 ? 0 : $90; + $92 = (_sqlite3VdbeAddOp2($84,107,$87,$91)|0); + HEAP32[$13>>2] = $92; + $93 = HEAP32[$8>>2]|0; + $94 = ($93|0)!=(0); + if ($94) { + $99 = 0; + } else { + $95 = HEAP32[$5>>2]|0; + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$16>>2]|0; + $98 = (_sqlite3KeyInfoAlloc($96,$97,1)|0); + $99 = $98; + } + HEAP32[$15>>2] = $99; + $100 = HEAP32[$6>>2]|0; + $101 = ((($100)) + 4|0); + $102 = HEAP32[$101>>2]|0; + $103 = $102 & 2048; + $104 = ($103|0)!=(0); + $105 = HEAP32[$6>>2]|0; + $106 = ((($105)) + 20|0); + L16: do { + if ($104) { + $107 = HEAP32[$106>>2]|0; + HEAP32[$17>>2] = $107; + $108 = HEAP32[$17>>2]|0; + $109 = HEAP32[$108>>2]|0; + HEAP32[$18>>2] = $109; + $110 = HEAP32[$18>>2]|0; + $111 = HEAP32[$110>>2]|0; + $112 = HEAP32[$16>>2]|0; + $113 = ($111|0)==($112|0); + if ($113) { + $114 = HEAP32[$6>>2]|0; + $115 = ((($114)) + 28|0); + $116 = HEAP32[$115>>2]|0; + _sqlite3SelectDestInit($19,11,$116); + $117 = HEAP32[$5>>2]|0; + $118 = HEAP32[$6>>2]|0; + $119 = (_exprINAffinity($117,$118)|0); + $120 = ((($19)) + 4|0); + HEAP32[$120>>2] = $119; + $121 = HEAP32[$17>>2]|0; + $122 = ((($121)) + 12|0); + HEAP32[$122>>2] = 0; + $123 = HEAP32[$5>>2]|0; + $124 = HEAP32[$17>>2]|0; + $125 = (_sqlite3Select($123,$124,$19)|0); + $126 = ($125|0)!=(0); + $127 = HEAP32[$5>>2]|0; + $128 = HEAP32[$127>>2]|0; + $129 = ((($19)) + 4|0); + $130 = HEAP32[$129>>2]|0; + _sqlite3DbFree($128,$130); + if ($126) { + $131 = HEAP32[$15>>2]|0; + _sqlite3KeyInfoUnref($131); + HEAP32[$4>>2] = 0; + $318 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($318|0); + } + HEAP32[$20>>2] = 0; + while(1) { + $132 = HEAP32[$20>>2]|0; + $133 = HEAP32[$16>>2]|0; + $134 = ($132|0)<($133|0); + if (!($134)) { + break L16; + } + $135 = HEAP32[$14>>2]|0; + $136 = HEAP32[$20>>2]|0; + $137 = (_sqlite3VectorFieldSubexpr($135,$136)|0); + HEAP32[$21>>2] = $137; + $138 = HEAP32[$5>>2]|0; + $139 = HEAP32[$21>>2]|0; + $140 = HEAP32[$18>>2]|0; + $141 = ((($140)) + 4|0); + $142 = HEAP32[$141>>2]|0; + $143 = HEAP32[$20>>2]|0; + $144 = (($142) + (($143*20)|0)|0); + $145 = HEAP32[$144>>2]|0; + $146 = (_sqlite3BinaryCompareCollSeq($138,$139,$145)|0); + $147 = HEAP32[$15>>2]|0; + $148 = ((($147)) + 20|0); + $149 = HEAP32[$20>>2]|0; + $150 = (($148) + ($149<<2)|0); + HEAP32[$150>>2] = $146; + $151 = HEAP32[$20>>2]|0; + $152 = (($151) + 1)|0; + HEAP32[$20>>2] = $152; + } + } + } else { + $153 = HEAP32[$106>>2]|0; + $154 = ($153|0)!=(0|0); + if ($154) { + $155 = HEAP32[$6>>2]|0; + $156 = ((($155)) + 20|0); + $157 = HEAP32[$156>>2]|0; + HEAP32[$24>>2] = $157; + $158 = HEAP32[$14>>2]|0; + $159 = (_sqlite3ExprAffinity($158)|0); + HEAP8[$22>>0] = $159; + $160 = HEAP8[$22>>0]|0; + $161 = ($160<<24>>24)!=(0); + $$ = $161 ? $159 : 65; + HEAP8[$22>>0] = $$; + $162 = HEAP32[$15>>2]|0; + $163 = ($162|0)!=(0|0); + if ($163) { + $164 = HEAP32[$5>>2]|0; + $165 = HEAP32[$6>>2]|0; + $166 = ((($165)) + 12|0); + $167 = HEAP32[$166>>2]|0; + $168 = (_sqlite3ExprCollSeq($164,$167)|0); + $169 = HEAP32[$15>>2]|0; + $170 = ((($169)) + 20|0); + HEAP32[$170>>2] = $168; + } + $171 = HEAP32[$5>>2]|0; + $172 = (_sqlite3GetTempReg($171)|0); + HEAP32[$26>>2] = $172; + $173 = HEAP32[$5>>2]|0; + $174 = (_sqlite3GetTempReg($173)|0); + HEAP32[$27>>2] = $174; + $175 = HEAP32[$8>>2]|0; + $176 = ($175|0)!=(0); + if ($176) { + $177 = HEAP32[$11>>2]|0; + $178 = HEAP32[$27>>2]|0; + (_sqlite3VdbeAddOp2($177,79,0,$178)|0); + } + $179 = HEAP32[$24>>2]|0; + $180 = HEAP32[$179>>2]|0; + HEAP32[$23>>2] = $180; + $181 = HEAP32[$24>>2]|0; + $182 = ((($181)) + 4|0); + $183 = HEAP32[$182>>2]|0; + HEAP32[$25>>2] = $183; + while(1) { + $184 = HEAP32[$23>>2]|0; + $185 = ($184|0)>(0); + if (!($185)) { + break; + } + $186 = HEAP32[$25>>2]|0; + $187 = HEAP32[$186>>2]|0; + HEAP32[$29>>2] = $187; + $188 = HEAP32[$9>>2]|0; + $189 = ($188|0)>=(0); + if ($189) { + $190 = HEAP32[$29>>2]|0; + $191 = (_sqlite3ExprIsConstant($190)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + $193 = HEAP32[$11>>2]|0; + $194 = HEAP32[$9>>2]|0; + (_sqlite3VdbeChangeToNoop($193,$194)|0); + HEAP32[$9>>2] = -1; + } + } + $195 = HEAP32[$8>>2]|0; + $196 = ($195|0)!=(0); + if ($196) { + $197 = HEAP32[$29>>2]|0; + $198 = (_sqlite3ExprIsInteger($197,$30)|0); + $199 = ($198|0)!=(0); + if ($199) { + $200 = HEAP32[$11>>2]|0; + $201 = HEAP32[$6>>2]|0; + $202 = ((($201)) + 28|0); + $203 = HEAP32[$202>>2]|0; + $204 = HEAP32[$27>>2]|0; + $205 = HEAP32[$30>>2]|0; + (_sqlite3VdbeAddOp3($200,116,$203,$204,$205)|0); + } else { + label = 30; + } + } else { + label = 30; + } + do { + if ((label|0) == 30) { + label = 0; + $206 = HEAP32[$5>>2]|0; + $207 = HEAP32[$29>>2]|0; + $208 = HEAP32[$26>>2]|0; + $209 = (_sqlite3ExprCodeTarget($206,$207,$208)|0); + HEAP32[$28>>2] = $209; + $210 = HEAP32[$8>>2]|0; + $211 = ($210|0)!=(0); + $212 = HEAP32[$11>>2]|0; + $213 = HEAP32[$28>>2]|0; + if ($211) { + $214 = HEAP32[$11>>2]|0; + $215 = (_sqlite3VdbeCurrentAddr($214)|0); + $216 = (($215) + 2)|0; + (_sqlite3VdbeAddOp2($212,17,$213,$216)|0); + $217 = HEAP32[$11>>2]|0; + $218 = HEAP32[$6>>2]|0; + $219 = ((($218)) + 28|0); + $220 = HEAP32[$219>>2]|0; + $221 = HEAP32[$27>>2]|0; + $222 = HEAP32[$28>>2]|0; + (_sqlite3VdbeAddOp3($217,115,$220,$221,$222)|0); + break; + } else { + $223 = HEAP32[$27>>2]|0; + (_sqlite3VdbeAddOp4($212,99,$213,1,$223,$22,1)|0); + $224 = HEAP32[$5>>2]|0; + $225 = HEAP32[$28>>2]|0; + _sqlite3ExprCacheAffinityChange($224,$225,1); + $226 = HEAP32[$11>>2]|0; + $227 = HEAP32[$6>>2]|0; + $228 = ((($227)) + 28|0); + $229 = HEAP32[$228>>2]|0; + $230 = HEAP32[$27>>2]|0; + (_sqlite3VdbeAddOp2($226,126,$229,$230)|0); + break; + } + } + } while(0); + $231 = HEAP32[$23>>2]|0; + $232 = (($231) + -1)|0; + HEAP32[$23>>2] = $232; + $233 = HEAP32[$25>>2]|0; + $234 = ((($233)) + 20|0); + HEAP32[$25>>2] = $234; + } + $235 = HEAP32[$5>>2]|0; + $236 = HEAP32[$26>>2]|0; + _sqlite3ReleaseTempReg($235,$236); + $237 = HEAP32[$5>>2]|0; + $238 = HEAP32[$27>>2]|0; + _sqlite3ReleaseTempReg($237,$238); + } + } + } while(0); + $239 = HEAP32[$15>>2]|0; + $240 = ($239|0)!=(0|0); + if ($240) { + $241 = HEAP32[$11>>2]|0; + $242 = HEAP32[$13>>2]|0; + $243 = HEAP32[$15>>2]|0; + _sqlite3VdbeChangeP4($241,$242,$243,-6); + } } else { - $40 = HEAP32[$1>>2]|0; - $41 = $40 & 8; - $42 = ($41|0)!=(0); - if ($42) { - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 12|0); - HEAP8[$44>>0] = 3; - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 10|0); - HEAP8[$46>>0] = 3; - break; + $244 = ((($73)) + 20|0); + $245 = HEAP32[$244>>2]|0; + HEAP32[$31>>2] = $245; + $246 = HEAP32[$6>>2]|0; + $247 = HEAP8[$246>>0]|0; + $248 = $247&255; + $249 = ($248|0)==(119); + if ($249) { + $250 = HEAP32[$31>>2]|0; + $251 = HEAP32[$250>>2]|0; + $252 = HEAP32[$251>>2]|0; + $253 = $252; + } else { + $253 = 1; } - $47 = HEAP32[$1>>2]|0; - $48 = $47 & 16; - $49 = ($48|0)!=(0); - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 12|0); - HEAP8[$51>>0] = 2; - $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 10|0); - if ($49) { - HEAP8[$53>>0] = 3; - break; + HEAP32[$33>>2] = $253; + $254 = HEAP32[$5>>2]|0; + $255 = ((($254)) + 44|0); + $256 = HEAP32[$255>>2]|0; + $257 = (($256) + 1)|0; + _sqlite3SelectDestInit($32,0,$257); + $258 = HEAP32[$33>>2]|0; + $259 = HEAP32[$5>>2]|0; + $260 = ((($259)) + 44|0); + $261 = HEAP32[$260>>2]|0; + $262 = (($261) + ($258))|0; + HEAP32[$260>>2] = $262; + $263 = HEAP32[$6>>2]|0; + $264 = HEAP8[$263>>0]|0; + $265 = $264&255; + $266 = ($265|0)==(119); + if ($266) { + HEAP8[$32>>0] = 10; + $267 = ((($32)) + 8|0); + $268 = HEAP32[$267>>2]|0; + $269 = ((($32)) + 12|0); + HEAP32[$269>>2] = $268; + $270 = HEAP32[$33>>2]|0; + $271 = ((($32)) + 16|0); + HEAP32[$271>>2] = $270; + $272 = HEAP32[$11>>2]|0; + $273 = ((($32)) + 8|0); + $274 = HEAP32[$273>>2]|0; + $275 = ((($32)) + 8|0); + $276 = HEAP32[$275>>2]|0; + $277 = HEAP32[$33>>2]|0; + $278 = (($276) + ($277))|0; + $279 = (($278) - 1)|0; + (_sqlite3VdbeAddOp3($272,79,0,$274,$279)|0); } else { - HEAP8[$53>>0] = 2; + HEAP8[$32>>0] = 3; + $280 = HEAP32[$11>>2]|0; + $281 = ((($32)) + 8|0); + $282 = HEAP32[$281>>2]|0; + (_sqlite3VdbeAddOp2($280,76,0,$282)|0); + } + $283 = HEAP32[$5>>2]|0; + $284 = HEAP32[$283>>2]|0; + $285 = HEAP32[$31>>2]|0; + $286 = ((($285)) + 56|0); + $287 = HEAP32[$286>>2]|0; + _sqlite3ExprDelete($284,$287); + $288 = HEAP32[$5>>2]|0; + $289 = HEAP32[$288>>2]|0; + $290 = (_sqlite3ExprAlloc($289,134,(4260),0)|0); + $291 = HEAP32[$31>>2]|0; + $292 = ((($291)) + 56|0); + HEAP32[$292>>2] = $290; + $293 = HEAP32[$31>>2]|0; + $294 = ((($293)) + 12|0); + HEAP32[$294>>2] = 0; + $295 = HEAP32[$31>>2]|0; + $296 = ((($295)) + 8|0); + $297 = HEAP32[$296>>2]|0; + $298 = $297 & -1025; + HEAP32[$296>>2] = $298; + $299 = HEAP32[$5>>2]|0; + $300 = HEAP32[$31>>2]|0; + $301 = (_sqlite3Select($299,$300,$32)|0); + $302 = ($301|0)!=(0); + if (!($302)) { + $303 = ((($32)) + 8|0); + $304 = HEAP32[$303>>2]|0; + HEAP32[$10>>2] = $304; break; } + HEAP32[$4>>2] = 0; + $318 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($318|0); } } while(0); - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 12|0); - $56 = HEAP8[$55>>0]|0; - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 11|0); - HEAP8[$58>>0] = $56; - $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 8|0); - $61 = HEAP8[$60>>0]|0; - $62 = ($61<<24>>24)!=(0); - if ($62) { - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 11|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = $66 | 32; - $68 = $67&255; - HEAP8[$64>>0] = $68; - } - $69 = HEAP32[$1>>2]|0; - $70 = $69 & 32; - $71 = ($70|0)!=(0); - $72 = HEAP32[$0>>2]|0; - $73 = ((($72)) + 21|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - if ($71) { - $76 = $75 & -2; - $77 = $76&255; - HEAP8[$73>>0] = $77; - STACKTOP = sp;return; - } else { - $78 = $75 | 1; - $79 = $78&255; - HEAP8[$73>>0] = $79; - STACKTOP = sp;return; + $305 = HEAP32[$7>>2]|0; + $306 = ($305|0)!=(0); + if ($306) { + $307 = HEAP32[$11>>2]|0; + $308 = HEAP32[$6>>2]|0; + $309 = ((($308)) + 28|0); + $310 = HEAP32[$309>>2]|0; + $311 = HEAP32[$7>>2]|0; + _sqlite3SetHasNullFlag($307,$310,$311); } -} -function _sqlite3WalHeapMemory($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + $312 = HEAP32[$9>>2]|0; + $313 = ($312|0)>=(0); + if ($313) { + $314 = HEAP32[$11>>2]|0; + $315 = HEAP32[$9>>2]|0; + _sqlite3VdbeJumpHere($314,$315); + } + $316 = HEAP32[$5>>2]|0; + _sqlite3ExprCachePop($316); + $317 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $317; + $318 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($318|0); +} +function _sqlite3ExprCodeIN($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWal; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - $9 = 0; - $8 = $9&1; - STACKTOP = sp;return ($8|0); + STACKTOP = STACKTOP + 128|0; + $4 = sp + 120|0; + $5 = sp + 116|0; + $6 = sp + 112|0; + $7 = sp + 108|0; + $8 = sp + 104|0; + $9 = sp + 100|0; + $10 = sp + 96|0; + $11 = sp + 92|0; + $12 = sp + 88|0; + $13 = sp + 84|0; + $14 = sp + 80|0; + $15 = sp + 76|0; + $16 = sp + 72|0; + $17 = sp + 68|0; + $18 = sp + 64|0; + $19 = sp + 60|0; + $20 = sp + 56|0; + $21 = sp + 52|0; + $22 = sp + 48|0; + $23 = sp + 44|0; + $24 = sp + 40|0; + $25 = sp + 36|0; + $26 = sp + 32|0; + $27 = sp + 28|0; + $28 = sp + 24|0; + $29 = sp + 20|0; + $30 = sp + 16|0; + $31 = sp + 12|0; + $32 = sp + 8|0; + $33 = sp + 4|0; + $34 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$20>>2] = 0; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$17>>2] = $37; + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = (_sqlite3ExprCheckIN($38,$39)|0); + $41 = ($40|0)!=(0); + if ($41) { + STACKTOP = sp;return; } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 43|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(2); - $9 = $7; - $8 = $9&1; - STACKTOP = sp;return ($8|0); -} -function _sqlite3CodeVerifyNamedSchema($pParse,$zDb) { - $pParse = $pParse|0; - $zDb = $zDb|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $pDb = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $db = sp + 8|0; - $i = sp + 4|0; - $pDb = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $zDb; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - HEAP32[$i>>2] = 0; - while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($4|0)<($7|0); - if (!($8)) { - break; + $42 = HEAP32[$4>>2]|0; + $43 = HEAP32[$5>>2]|0; + $44 = (_exprINAffinity($42,$43)|0); + HEAP32[$14>>2] = $44; + $45 = HEAP32[$5>>2]|0; + $46 = ((($45)) + 12|0); + $47 = HEAP32[$46>>2]|0; + $48 = (_sqlite3ExprVectorSize($47)|0); + HEAP32[$15>>2] = $48; + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$15>>2]|0; + $52 = ($51*5)|0; + $53 = (($52) + 1)|0; + $54 = (_sqlite3DbMallocZero($50,$53,0)|0); + HEAP32[$13>>2] = $54; + $55 = HEAP32[$4>>2]|0; + $56 = HEAP32[$55>>2]|0; + $57 = ((($56)) + 69|0); + $58 = HEAP8[$57>>0]|0; + $59 = ($58<<24>>24)!=(0); + if (!($59)) { + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$12>>2] = $62; + $63 = HEAP32[$4>>2]|0; + $64 = HEAP32[$5>>2]|0; + $65 = HEAP32[$6>>2]|0; + $66 = HEAP32[$7>>2]|0; + $67 = ($65|0)==($66|0); + $$ = $67 ? 0 : $8; + $68 = HEAP32[$13>>2]|0; + $69 = (_sqlite3FindInIndex($63,$64,3,$$,$68)|0); + HEAP32[$9>>2] = $69; + $70 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePush($70); + $71 = HEAP32[$4>>2]|0; + $72 = HEAP32[$17>>2]|0; + $73 = (_exprCodeVector($71,$72,$16)|0); + HEAP32[$11>>2] = $73; + HEAP32[$18>>2] = 0; + while(1) { + $74 = HEAP32[$18>>2]|0; + $75 = HEAP32[$15>>2]|0; + $76 = ($74|0)<($75|0); + if (!($76)) { + break; + } + $77 = HEAP32[$13>>2]|0; + $78 = HEAP32[$18>>2]|0; + $79 = (($77) + ($78<<2)|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$18>>2]|0; + $82 = ($80|0)==($81|0); + if (!($82)) { + break; + } + $83 = HEAP32[$18>>2]|0; + $84 = (($83) + 1)|0; + HEAP32[$18>>2] = $84; } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$db>>2]|0; - $11 = ((($10)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($9<<4)|0); - HEAP32[$pDb>>2] = $13; - $14 = HEAP32[$pDb>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(0|0); - do { - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$pDb>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3StrICmp($20,$22)|0); - $24 = (0)==($23|0); - if (!($24)) { + $85 = HEAP32[$18>>2]|0; + $86 = HEAP32[$15>>2]|0; + $87 = ($85|0)==($86|0); + L11: do { + if ($87) { + $88 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $88; + } else { + $89 = HEAP32[$4>>2]|0; + $90 = HEAP32[$15>>2]|0; + $91 = (_sqlite3GetTempRange($89,$90)|0); + HEAP32[$10>>2] = $91; + HEAP32[$18>>2] = 0; + while(1) { + $92 = HEAP32[$18>>2]|0; + $93 = HEAP32[$15>>2]|0; + $94 = ($92|0)<($93|0); + if (!($94)) { + break L11; + } + $95 = HEAP32[$12>>2]|0; + $96 = HEAP32[$11>>2]|0; + $97 = HEAP32[$18>>2]|0; + $98 = (($96) + ($97))|0; + $99 = HEAP32[$10>>2]|0; + $100 = HEAP32[$13>>2]|0; + $101 = HEAP32[$18>>2]|0; + $102 = (($100) + ($101<<2)|0); + $103 = HEAP32[$102>>2]|0; + $104 = (($99) + ($103))|0; + (_sqlite3VdbeAddOp3($95,84,$98,$104,0)|0); + $105 = HEAP32[$18>>2]|0; + $106 = (($105) + 1)|0; + HEAP32[$18>>2] = $106; + } + } + } while(0); + $107 = HEAP32[$9>>2]|0; + $108 = ($107|0)==(5); + L18: do { + if ($108) { + $109 = HEAP32[$5>>2]|0; + $110 = ((($109)) + 20|0); + $111 = HEAP32[$110>>2]|0; + HEAP32[$24>>2] = $111; + $112 = HEAP32[$4>>2]|0; + $113 = HEAP32[$5>>2]|0; + $114 = ((($113)) + 12|0); + $115 = HEAP32[$114>>2]|0; + $116 = (_sqlite3ExprCollSeq($112,$115)|0); + HEAP32[$25>>2] = $116; + $117 = HEAP32[$12>>2]|0; + $118 = (_sqlite3VdbeMakeLabel($117)|0); + HEAP32[$26>>2] = $118; + HEAP32[$29>>2] = 0; + $119 = HEAP32[$7>>2]|0; + $120 = HEAP32[$6>>2]|0; + $121 = ($119|0)!=($120|0); + if ($121) { + $122 = HEAP32[$4>>2]|0; + $123 = (_sqlite3GetTempReg($122)|0); + HEAP32[$29>>2] = $123; + $124 = HEAP32[$12>>2]|0; + $125 = HEAP32[$10>>2]|0; + $126 = HEAP32[$10>>2]|0; + $127 = HEAP32[$29>>2]|0; + (_sqlite3VdbeAddOp3($124,43,$125,$126,$127)|0); + } + HEAP32[$30>>2] = 0; + while(1) { + $128 = HEAP32[$30>>2]|0; + $129 = HEAP32[$24>>2]|0; + $130 = HEAP32[$129>>2]|0; + $131 = ($128|0)<($130|0); + if (!($131)) { + break; + } + $132 = HEAP32[$4>>2]|0; + $133 = HEAP32[$24>>2]|0; + $134 = ((($133)) + 4|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$30>>2]|0; + $137 = (($135) + (($136*20)|0)|0); + $138 = HEAP32[$137>>2]|0; + $139 = (_sqlite3ExprCodeTemp($132,$138,$28)|0); + HEAP32[$27>>2] = $139; + $140 = HEAP32[$29>>2]|0; + $141 = ($140|0)!=(0); + if ($141) { + $142 = HEAP32[$24>>2]|0; + $143 = ((($142)) + 4|0); + $144 = HEAP32[$143>>2]|0; + $145 = HEAP32[$30>>2]|0; + $146 = (($144) + (($145*20)|0)|0); + $147 = HEAP32[$146>>2]|0; + $148 = (_sqlite3ExprCanBeNull($147)|0); + $149 = ($148|0)!=(0); + if ($149) { + $150 = HEAP32[$12>>2]|0; + $151 = HEAP32[$29>>2]|0; + $152 = HEAP32[$27>>2]|0; + $153 = HEAP32[$29>>2]|0; + (_sqlite3VdbeAddOp3($150,43,$151,$152,$153)|0); + } + } + $154 = HEAP32[$30>>2]|0; + $155 = HEAP32[$24>>2]|0; + $156 = HEAP32[$155>>2]|0; + $157 = (($156) - 1)|0; + $158 = ($154|0)<($157|0); + if ($158) { + label = 22; + } else { + $159 = HEAP32[$7>>2]|0; + $160 = HEAP32[$6>>2]|0; + $161 = ($159|0)!=($160|0); + if ($161) { + label = 22; + } else { + $170 = HEAP32[$12>>2]|0; + $171 = HEAP32[$10>>2]|0; + $172 = HEAP32[$6>>2]|0; + $173 = HEAP32[$27>>2]|0; + $174 = HEAP32[$25>>2]|0; + (_sqlite3VdbeAddOp4($170,36,$171,$172,$173,$174,-4)|0); + $175 = HEAP32[$12>>2]|0; + $176 = HEAP32[$14>>2]|0; + $177 = HEAP8[$176>>0]|0; + $178 = $177 << 24 >> 24; + $179 = $178 | 16; + $180 = $179&255; + _sqlite3VdbeChangeP5($175,$180); + } + } + if ((label|0) == 22) { + label = 0; + $162 = HEAP32[$12>>2]|0; + $163 = HEAP32[$10>>2]|0; + $164 = HEAP32[$26>>2]|0; + $165 = HEAP32[$27>>2]|0; + $166 = HEAP32[$25>>2]|0; + (_sqlite3VdbeAddOp4($162,37,$163,$164,$165,$166,-4)|0); + $167 = HEAP32[$12>>2]|0; + $168 = HEAP32[$14>>2]|0; + $169 = HEAP8[$168>>0]|0; + _sqlite3VdbeChangeP5($167,$169); + } + $181 = HEAP32[$4>>2]|0; + $182 = HEAP32[$28>>2]|0; + _sqlite3ReleaseTempReg($181,$182); + $183 = HEAP32[$30>>2]|0; + $184 = (($183) + 1)|0; + HEAP32[$30>>2] = $184; + } + $185 = HEAP32[$29>>2]|0; + $186 = ($185|0)!=(0); + if ($186) { + $187 = HEAP32[$12>>2]|0; + $188 = HEAP32[$29>>2]|0; + $189 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp2($187,34,$188,$189)|0); + $190 = HEAP32[$12>>2]|0; + $191 = HEAP32[$6>>2]|0; + (_sqlite3VdbeGoto($190,$191)|0); + } + $192 = HEAP32[$12>>2]|0; + $193 = HEAP32[$26>>2]|0; + _sqlite3VdbeResolveLabel($192,$193); + $194 = HEAP32[$4>>2]|0; + $195 = HEAP32[$29>>2]|0; + _sqlite3ReleaseTempReg($194,$195); + } else { + $196 = HEAP32[$7>>2]|0; + $197 = HEAP32[$6>>2]|0; + $198 = ($196|0)==($197|0); + if ($198) { + $199 = HEAP32[$6>>2]|0; + HEAP32[$19>>2] = $199; + } else { + $200 = HEAP32[$12>>2]|0; + $201 = (_sqlite3VdbeMakeLabel($200)|0); + HEAP32[$20>>2] = $201; + HEAP32[$19>>2] = $201; + } + HEAP32[$18>>2] = 0; + while(1) { + $202 = HEAP32[$18>>2]|0; + $203 = HEAP32[$15>>2]|0; + $204 = ($202|0)<($203|0); + if (!($204)) { + break; + } + $205 = HEAP32[$5>>2]|0; + $206 = ((($205)) + 12|0); + $207 = HEAP32[$206>>2]|0; + $208 = HEAP32[$18>>2]|0; + $209 = (_sqlite3VectorFieldSubexpr($207,$208)|0); + HEAP32[$31>>2] = $209; + $210 = HEAP32[$31>>2]|0; + $211 = (_sqlite3ExprCanBeNull($210)|0); + $212 = ($211|0)!=(0); + if ($212) { + $213 = HEAP32[$12>>2]|0; + $214 = HEAP32[$10>>2]|0; + $215 = HEAP32[$18>>2]|0; + $216 = (($214) + ($215))|0; + $217 = HEAP32[$19>>2]|0; + (_sqlite3VdbeAddOp2($213,34,$216,$217)|0); + } + $218 = HEAP32[$18>>2]|0; + $219 = (($218) + 1)|0; + HEAP32[$18>>2] = $219; + } + $220 = HEAP32[$9>>2]|0; + $221 = ($220|0)==(1); + $222 = HEAP32[$12>>2]|0; + do { + if ($221) { + $223 = HEAP32[$5>>2]|0; + $224 = ((($223)) + 28|0); + $225 = HEAP32[$224>>2]|0; + $226 = HEAP32[$6>>2]|0; + $227 = HEAP32[$10>>2]|0; + (_sqlite3VdbeAddOp3($222,32,$225,$226,$227)|0); + $228 = HEAP32[$12>>2]|0; + $229 = (_sqlite3VdbeAddOp0($228,13)|0); + HEAP32[$21>>2] = $229; + } else { + $230 = HEAP32[$10>>2]|0; + $231 = HEAP32[$15>>2]|0; + $232 = HEAP32[$14>>2]|0; + $233 = HEAP32[$15>>2]|0; + (_sqlite3VdbeAddOp4($222,98,$230,$231,0,$232,$233)|0); + $234 = HEAP32[$6>>2]|0; + $235 = HEAP32[$7>>2]|0; + $236 = ($234|0)==($235|0); + $237 = HEAP32[$12>>2]|0; + $238 = HEAP32[$5>>2]|0; + $239 = ((($238)) + 28|0); + $240 = HEAP32[$239>>2]|0; + if ($236) { + $241 = HEAP32[$6>>2]|0; + $242 = HEAP32[$10>>2]|0; + $243 = HEAP32[$15>>2]|0; + (_sqlite3VdbeAddOp4Int($237,30,$240,$241,$242,$243)|0); + break L18; + } else { + $244 = HEAP32[$10>>2]|0; + $245 = HEAP32[$15>>2]|0; + $246 = (_sqlite3VdbeAddOp4Int($237,31,$240,0,$244,$245)|0); + HEAP32[$21>>2] = $246; + break; + } + } + } while(0); + $247 = HEAP32[$8>>2]|0; + $248 = ($247|0)!=(0); + $249 = HEAP32[$15>>2]|0; + $250 = ($249|0)==(1); + $or$cond = $248 & $250; + if ($or$cond) { + $251 = HEAP32[$12>>2]|0; + $252 = HEAP32[$8>>2]|0; + $253 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($251,35,$252,$253)|0); + } + $254 = HEAP32[$6>>2]|0; + $255 = HEAP32[$7>>2]|0; + $256 = ($254|0)==($255|0); + if ($256) { + $257 = HEAP32[$12>>2]|0; + $258 = HEAP32[$6>>2]|0; + (_sqlite3VdbeGoto($257,$258)|0); + } + $259 = HEAP32[$20>>2]|0; + $260 = ($259|0)!=(0); + if ($260) { + $261 = HEAP32[$12>>2]|0; + $262 = HEAP32[$20>>2]|0; + _sqlite3VdbeResolveLabel($261,$262); + } + $263 = HEAP32[$12>>2]|0; + $264 = HEAP32[$5>>2]|0; + $265 = ((($264)) + 28|0); + $266 = HEAP32[$265>>2]|0; + $267 = HEAP32[$6>>2]|0; + $268 = (_sqlite3VdbeAddOp2($263,57,$266,$267)|0); + HEAP32[$23>>2] = $268; + $269 = HEAP32[$15>>2]|0; + $270 = ($269|0)>(1); + if ($270) { + $271 = HEAP32[$12>>2]|0; + $272 = (_sqlite3VdbeMakeLabel($271)|0); + HEAP32[$22>>2] = $272; + } else { + $273 = HEAP32[$6>>2]|0; + HEAP32[$22>>2] = $273; + } + HEAP32[$18>>2] = 0; + while(1) { + $274 = HEAP32[$18>>2]|0; + $275 = HEAP32[$15>>2]|0; + $276 = ($274|0)<($275|0); + if (!($276)) { break; } + $277 = HEAP32[$4>>2]|0; + $278 = (_sqlite3GetTempReg($277)|0); + HEAP32[$34>>2] = $278; + $279 = HEAP32[$17>>2]|0; + $280 = HEAP32[$18>>2]|0; + $281 = (_sqlite3VectorFieldSubexpr($279,$280)|0); + HEAP32[$32>>2] = $281; + $282 = HEAP32[$4>>2]|0; + $283 = HEAP32[$32>>2]|0; + $284 = (_sqlite3ExprCollSeq($282,$283)|0); + HEAP32[$33>>2] = $284; + $285 = HEAP32[$12>>2]|0; + $286 = HEAP32[$5>>2]|0; + $287 = ((($286)) + 28|0); + $288 = HEAP32[$287>>2]|0; + $289 = HEAP32[$18>>2]|0; + $290 = HEAP32[$34>>2]|0; + (_sqlite3VdbeAddOp3($285,96,$288,$289,$290)|0); + $291 = HEAP32[$12>>2]|0; + $292 = HEAP32[$10>>2]|0; + $293 = HEAP32[$18>>2]|0; + $294 = (($292) + ($293))|0; + $295 = HEAP32[$22>>2]|0; + $296 = HEAP32[$34>>2]|0; + $297 = HEAP32[$33>>2]|0; + (_sqlite3VdbeAddOp4($291,36,$294,$295,$296,$297,-4)|0); + $298 = HEAP32[$4>>2]|0; + $299 = HEAP32[$34>>2]|0; + _sqlite3ReleaseTempReg($298,$299); + $300 = HEAP32[$18>>2]|0; + $301 = (($300) + 1)|0; + HEAP32[$18>>2] = $301; + } + $302 = HEAP32[$12>>2]|0; + $303 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp2($302,13,0,$303)|0); + $304 = HEAP32[$15>>2]|0; + $305 = ($304|0)>(1); + if ($305) { + $306 = HEAP32[$12>>2]|0; + $307 = HEAP32[$22>>2]|0; + _sqlite3VdbeResolveLabel($306,$307); + $308 = HEAP32[$12>>2]|0; + $309 = HEAP32[$5>>2]|0; + $310 = ((($309)) + 28|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[$23>>2]|0; + $313 = (($312) + 1)|0; + (_sqlite3VdbeAddOp2($308,7,$311,$313)|0); + $314 = HEAP32[$12>>2]|0; + $315 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($314,13,0,$315)|0); } - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$i>>2]|0; - _sqlite3CodeVerifySchema($25,$26); + $316 = HEAP32[$12>>2]|0; + $317 = HEAP32[$21>>2]|0; + _sqlite3VdbeJumpHere($316,$317); } } while(0); - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$i>>2] = $28; - } + $318 = HEAP32[$10>>2]|0; + $319 = HEAP32[$11>>2]|0; + $320 = ($318|0)!=($319|0); + if ($320) { + $321 = HEAP32[$4>>2]|0; + $322 = HEAP32[$10>>2]|0; + _sqlite3ReleaseTempReg($321,$322); + } + $323 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePop($323); + } + $324 = HEAP32[$4>>2]|0; + $325 = HEAP32[$324>>2]|0; + $326 = HEAP32[$13>>2]|0; + _sqlite3DbFree($325,$326); + $327 = HEAP32[$4>>2]|0; + $328 = HEAP32[$327>>2]|0; + $329 = HEAP32[$14>>2]|0; + _sqlite3DbFree($328,$329); STACKTOP = sp;return; } -function _sqlite3DropTriggerPtr($pParse,$pTrigger) { - $pParse = $pParse|0; - $pTrigger = $pTrigger|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $code = 0, $db = 0; - var $iDb = 0, $pTable = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $zDb = 0, $zTab = 0, label = 0, sp = 0; +function _exprCodeBetween($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 44|0; - $1 = sp + 40|0; - $pTable = sp + 36|0; - $v = sp + 32|0; - $db = sp + 28|0; - $iDb = sp + 24|0; - $code = sp + 20|0; - $zDb = sp + 16|0; - $zTab = sp + 12|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTrigger; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3SchemaToIndex($5,$8)|0); - HEAP32[$iDb>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = (_tableOfTrigger($10)|0); - HEAP32[$pTable>>2] = $11; - HEAP32[$code>>2] = 16; - $12 = HEAP32[$iDb>>2]|0; - $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 16|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($12<<4)|0); + STACKTOP = STACKTOP + 224|0; + $5 = sp + 216|0; + $6 = sp + 212|0; + $7 = sp + 208|0; + $8 = sp + 204|0; + $9 = sp + 200|0; + $10 = sp + 152|0; + $11 = sp + 104|0; + $12 = sp + 56|0; + $13 = sp + 8|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$14>>2] = 0; + dest=$11; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$12; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$10; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $15 = HEAP32[$6>>2]|0; + $16 = ((($15)) + 12|0); $17 = HEAP32[$16>>2]|0; - HEAP32[$zDb>>2] = $17; - $18 = HEAP32[$iDb>>2]|0; - $19 = ($18|0)==(1); - $20 = $19 ? 19905 : 19924; - HEAP32[$zTab>>2] = $20; - $21 = HEAP32[$iDb>>2]|0; - $22 = ($21|0)==(1); - if ($22) { - HEAP32[$code>>2] = 14; - } - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$code>>2]|0; - $25 = HEAP32[$1>>2]|0; + dest=$13; src=$17; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP8[$10>>0] = 28; + $18 = ((($10)) + 12|0); + HEAP32[$18>>2] = $11; + $19 = ((($10)) + 16|0); + HEAP32[$19>>2] = $12; + HEAP8[$11>>0] = 41; + $20 = ((($11)) + 12|0); + HEAP32[$20>>2] = $13; + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$pTable>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$zDb>>2]|0; - $30 = (_sqlite3AuthCheck($23,$24,$26,$28,$29)|0); - $31 = ($30|0)!=(0); - if ($31) { - STACKTOP = sp;return; - } - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$zTab>>2]|0; - $34 = HEAP32[$zDb>>2]|0; - $35 = (_sqlite3AuthCheck($32,9,$33,0,$34)|0); - $36 = ($35|0)!=(0); - if ($36) { + $27 = ((($11)) + 16|0); + HEAP32[$27>>2] = $26; + HEAP8[$12>>0] = 39; + $28 = ((($12)) + 12|0); + HEAP32[$28>>2] = $13; + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($33)) + 20|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($12)) + 16|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$5>>2]|0; + $38 = (_exprCodeVector($37,$13,$14)|0); + _exprToRegister($13,$38); + $39 = HEAP32[$8>>2]|0; + $40 = ($39|0)!=(0|0); + if ($40) { + $41 = HEAP32[$8>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$9>>2]|0; + FUNCTION_TABLE_viiii[$41 & 255]($42,$10,$43,$44); + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$14>>2]|0; + _sqlite3ReleaseTempReg($50,$51); STACKTOP = sp;return; - } - $37 = HEAP32[$0>>2]|0; - $38 = (_sqlite3GetVdbe($37)|0); - HEAP32[$v>>2] = $38; - $39 = ($38|0)!=(0|0); - if (!($39)) { + } else { + $45 = ((($13)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = $46 | 1; + HEAP32[$45>>2] = $47; + $48 = HEAP32[$5>>2]|0; + $49 = HEAP32[$7>>2]|0; + (_sqlite3ExprCodeTarget($48,$10,$49)|0); + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$14>>2]|0; + _sqlite3ReleaseTempReg($50,$51); STACKTOP = sp;return; } - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$iDb>>2]|0; - $42 = HEAP32[$db>>2]|0; - $43 = ((($42)) + 16|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + ($41<<4)|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$iDb>>2]|0; - $48 = ($47|0)==(1); - $49 = $48 ? 19905 : 19924; - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$50>>2]|0; - HEAP32[$vararg_buffer>>2] = $46; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $49; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $51; - _sqlite3NestedParse($40,31642,$vararg_buffer); - $52 = HEAP32[$0>>2]|0; - $53 = HEAP32[$iDb>>2]|0; - _sqlite3ChangeCookie($52,$53); - $54 = HEAP32[$v>>2]|0; - $55 = HEAP32[$iDb>>2]|0; - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$56>>2]|0; - (_sqlite3VdbeAddOp4($54,140,$55,0,0,$57,0)|0); - STACKTOP = sp;return; -} -function _tableOfTrigger($pTrigger) { - $pTrigger = $pTrigger|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pTrigger; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3HashFind($4,$7)|0); - STACKTOP = sp;return ($8|0); } -function _triggerStepAllocate($db,$op,$pName) { - $db = $db|0; - $op = $op|0; - $pName = $pName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTriggerStep = 0, $z = 0, label = 0, sp = 0; +function _exprCodeVector($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $1 = sp + 16|0; - $2 = sp + 8|0; - $pTriggerStep = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $db; - HEAP8[$1>>0] = $op; - HEAP32[$2>>2] = $pName; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = (36 + ($6))|0; - $8 = (($7) + 1)|0; - $9 = (_sqlite3DbMallocZero($3,$8,0)|0); - HEAP32[$pTriggerStep>>2] = $9; - $10 = HEAP32[$pTriggerStep>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - $26 = HEAP32[$pTriggerStep>>2]|0; - STACKTOP = sp;return ($26|0); + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = (_sqlite3ExprVectorSize($9)|0); + HEAP32[$7>>2] = $10; + $11 = HEAP32[$7>>2]|0; + $12 = ($11|0)==(1); + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = (_sqlite3ExprCodeTemp($13,$14,$15)|0); + HEAP32[$6>>2] = $16; + $50 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($50|0); } - $12 = HEAP32[$pTriggerStep>>2]|0; - $13 = ((($12)) + 36|0); - HEAP32[$z>>2] = $13; - $14 = HEAP32[$z>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - _memcpy(($14|0),($16|0),($19|0))|0; - $20 = HEAP32[$z>>2]|0; - _sqlite3Dequote($20); - $21 = HEAP32[$z>>2]|0; - $22 = HEAP32[$pTriggerStep>>2]|0; - $23 = ((($22)) + 12|0); - HEAP32[$23>>2] = $21; - $24 = HEAP8[$1>>0]|0; - $25 = HEAP32[$pTriggerStep>>2]|0; - HEAP8[$25>>0] = $24; - $26 = HEAP32[$pTriggerStep>>2]|0; - STACKTOP = sp;return ($26|0); -} -function _sqlite3SrcListLookup($pParse,$pSrc) { - $pParse = $pParse|0; - $pSrc = $pSrc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pItem = 0, $pTab = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pItem = sp + 4|0; - $pTab = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pSrc; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - HEAP32[$pItem>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$pItem>>2]|0; - $6 = (_sqlite3LocateTableItem($4,0,$5)|0); - HEAP32[$pTab>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$pItem>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - _sqlite3DeleteTable($8,$11); - $12 = HEAP32[$pTab>>2]|0; - $13 = HEAP32[$pItem>>2]|0; - $14 = ((($13)) + 16|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$pTab>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$pTab>>2]|0; - $18 = ((($17)) + 36|0); - $19 = HEAP16[$18>>1]|0; - $20 = (($19) + 1)<<16>>16; - HEAP16[$18>>1] = $20; + $17 = HEAP32[$5>>2]|0; + HEAP32[$17>>2] = 0; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = ($20|0)==(119); + $22 = HEAP32[$3>>2]|0; + if ($21) { + $23 = HEAP32[$4>>2]|0; + $24 = (_sqlite3CodeSubselect($22,$23,0,0)|0); + HEAP32[$6>>2] = $24; + $50 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($50|0); } - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$pItem>>2]|0; - $23 = (_sqlite3IndexedByLookup($21,$22)|0); - $24 = ($23|0)!=(0); - if (!($24)) { - $25 = HEAP32[$pTab>>2]|0; - STACKTOP = sp;return ($25|0); + $25 = ((($22)) + 44|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$6>>2] = $27; + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 44|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + ($28))|0; + HEAP32[$30>>2] = $32; + HEAP32[$8>>2] = 0; + while(1) { + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$7>>2]|0; + $35 = ($33|0)<($34|0); + if (!($35)) { + break; + } + $36 = HEAP32[$3>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 20|0); + $39 = HEAP32[$38>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$8>>2]|0; + $43 = (($41) + (($42*20)|0)|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$8>>2]|0; + $46 = HEAP32[$6>>2]|0; + $47 = (($45) + ($46))|0; + _sqlite3ExprCode($36,$44,$47); + $48 = HEAP32[$8>>2]|0; + $49 = (($48) + 1)|0; + HEAP32[$8>>2] = $49; } - HEAP32[$pTab>>2] = 0; - $25 = HEAP32[$pTab>>2]|0; - STACKTOP = sp;return ($25|0); + $50 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($50|0); } -function _sqlite3FixInit($pFix,$pParse,$iDb,$zType,$pName) { - $pFix = $pFix|0; - $pParse = $pParse|0; - $iDb = $iDb|0; - $zType = $zType|0; - $pName = $pName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, label = 0, sp = 0; +function _exprToRegister($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pFix; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $iDb; - HEAP32[$3>>2] = $zType; - HEAP32[$4>>2] = $pName; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$0>>2]|0; - HEAP32[$8>>2] = $7; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$db>>2]|0; - $11 = ((($10)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($9<<4)|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP8[$4>>0]|0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 38|0); + HEAP8[$7>>0] = $5; + $8 = HEAP32[$2>>2]|0; + HEAP8[$8>>0] = -99; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 28|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 12|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 16|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($17<<4)|0); - $22 = ((($21)) + 12|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 4|0); - HEAP32[$25>>2] = $23; - $26 = HEAP32[$3>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 16|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$4>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 20|0); - HEAP32[$31>>2] = $29; - $32 = HEAP32[$2>>2]|0; - $33 = ($32|0)==(1); - $34 = $33&1; - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 8|0); - HEAP32[$36>>2] = $34; + $15 = $14 & -4097; + HEAP32[$13>>2] = $15; STACKTOP = sp;return; } -function _sqlite3FixSrcList($pFix,$pList) { - $pFix = $pFix|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pItem = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $zDb = 0, label = 0, sp = 0; +function _sqlite3ExprIfFalse($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $i = sp + 20|0; - $zDb = sp + 16|0; - $pItem = sp + 12|0; - HEAP32[$1>>2] = $pFix; - HEAP32[$2>>2] = $pList; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = 0; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$8>>2] = $18; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + $19 = HEAP32[$8>>2]|0; + $20 = ($19|0)==(0|0); + $21 = HEAP32[$5>>2]|0; + $22 = ($21|0)==(0|0); + $or$cond = $20 | $22; + if ($or$cond) { + STACKTOP = sp;return; } - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$zDb>>2] = $7; - HEAP32[$i>>2] = 0; - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 8|0); - HEAP32[$pItem>>2] = $9; - while(1) { - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ($10|0)<($12|0); - if (!($13)) { - label = 15; - break; - } - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - if ($17) { - $18 = HEAP32[$pItem>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$pItem>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$zDb>>2]|0; - $26 = (_sqlite3StrICmp($24,$25)|0); - $27 = ($26|0)!=(0); - if ($27) { - label = 8; - break; - } - } - $39 = HEAP32[$1>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$pItem>>2]|0; - $43 = ((($42)) + 4|0); - $44 = HEAP32[$43>>2]|0; - _sqlite3DbFree($41,$44); - $45 = HEAP32[$pItem>>2]|0; - $46 = ((($45)) + 4|0); - HEAP32[$46>>2] = 0; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 4|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$pItem>>2]|0; - HEAP32[$50>>2] = $49; - } - $51 = HEAP32[$1>>2]|0; - $52 = HEAP32[$pItem>>2]|0; - $53 = ((($52)) + 20|0); - $54 = HEAP32[$53>>2]|0; - $55 = (_sqlite3FixSelect($51,$54)|0); - $56 = ($55|0)!=(0); - if ($56) { - label = 11; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = (($25) + 0)|0; + $27 = $26 ^ 1; + $28 = (($27) - 0)|0; + HEAP32[$9>>2] = $28; + $29 = HEAP32[$5>>2]|0; + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + L4: do { + switch ($31|0) { + case 28: { + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$6>>2]|0; + $37 = HEAP32[$7>>2]|0; + _sqlite3ExprIfFalse($32,$35,$36,$37); + $38 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePush($38); + $39 = HEAP32[$4>>2]|0; + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 16|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$7>>2]|0; + _sqlite3ExprIfFalse($39,$42,$43,$44); + $45 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePop($45); break; } - $57 = HEAP32[$1>>2]|0; - $58 = HEAP32[$pItem>>2]|0; - $59 = ((($58)) + 48|0); - $60 = HEAP32[$59>>2]|0; - $61 = (_sqlite3FixExpr($57,$60)|0); - $62 = ($61|0)!=(0); - if ($62) { - label = 13; + case 27: { + $46 = HEAP32[$8>>2]|0; + $47 = (_sqlite3VdbeMakeLabel($46)|0); + HEAP32[$14>>2] = $47; + $48 = HEAP32[$4>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$14>>2]|0; + $53 = HEAP32[$7>>2]|0; + $54 = $53 ^ 16; + _sqlite3ExprIfTrue($48,$51,$52,$54); + $55 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePush($55); + $56 = HEAP32[$4>>2]|0; + $57 = HEAP32[$5>>2]|0; + $58 = ((($57)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$6>>2]|0; + $61 = HEAP32[$7>>2]|0; + _sqlite3ExprIfFalse($56,$59,$60,$61); + $62 = HEAP32[$8>>2]|0; + $63 = HEAP32[$14>>2]|0; + _sqlite3VdbeResolveLabel($62,$63); + $64 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePop($64); break; } - $63 = HEAP32[$i>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$i>>2] = $64; - $65 = HEAP32[$pItem>>2]|0; - $66 = ((($65)) + 72|0); - HEAP32[$pItem>>2] = $66; - } - if ((label|0) == 8) { - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 16|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 20|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$pItem>>2]|0; - $37 = ((($36)) + 4|0); - $38 = HEAP32[$37>>2]|0; - HEAP32[$vararg_buffer>>2] = $32; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $35; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $38; - _sqlite3ErrorMsg($29,31940,$vararg_buffer); - HEAP32[$0>>2] = 1; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); - } - else if ((label|0) == 11) { - HEAP32[$0>>2] = 1; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); - } - else if ((label|0) == 13) { - HEAP32[$0>>2] = 1; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); - } - else if ((label|0) == 15) { - HEAP32[$0>>2] = 0; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); - } - return (0)|0; -} -function _sqlite3FixSelect($pFix,$pSelect) { - $pFix = $pFix|0; - $pSelect = $pSelect|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pFix; - HEAP32[$2>>2] = $pSelect; - while(1) { - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - label = 20; + case 19: { + $65 = HEAP32[$4>>2]|0; + $66 = HEAP32[$5>>2]|0; + $67 = ((($66)) + 12|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$6>>2]|0; + $70 = HEAP32[$7>>2]|0; + _sqlite3ExprIfTrue($65,$68,$69,$70); break; } - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3FixExprList($5,$7)|0); - $9 = ($8|0)!=(0); - if ($9) { - label = 4; + case 148: case 29: { + $71 = HEAP32[$5>>2]|0; + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = ($73|0)==(29); + $75 = $74 ? 36 : 37; + HEAP32[$9>>2] = $75; + HEAP32[$7>>2] = 128; + label = 7; break; } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3FixSrcList($10,$13)|0); - $15 = ($14|0)!=(0); - if ($15) { - label = 6; + case 37: case 36: case 41: case 38: case 39: case 40: { + label = 7; break; } - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 32|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3FixExpr($16,$19)|0); - $21 = ($20|0)!=(0); - if ($21) { - label = 8; + case 35: case 34: { + $103 = HEAP32[$4>>2]|0; + $104 = HEAP32[$5>>2]|0; + $105 = ((($104)) + 12|0); + $106 = HEAP32[$105>>2]|0; + $107 = (_sqlite3ExprCodeTemp($103,$106,$10)|0); + HEAP32[$12>>2] = $107; + $108 = HEAP32[$8>>2]|0; + $109 = HEAP32[$9>>2]|0; + $110 = HEAP32[$12>>2]|0; + $111 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($108,$109,$110,$111)|0); break; } - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 36|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3FixExprList($22,$25)|0); - $27 = ($26|0)!=(0); - if ($27) { - label = 10; + case 32: { + $112 = HEAP32[$4>>2]|0; + $113 = HEAP32[$5>>2]|0; + $114 = HEAP32[$6>>2]|0; + $115 = HEAP32[$7>>2]|0; + _exprCodeBetween($112,$113,$114,134,$115); break; } - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 40|0); - $31 = HEAP32[$30>>2]|0; - $32 = (_sqlite3FixExpr($28,$31)|0); - $33 = ($32|0)!=(0); - if ($33) { - label = 12; + case 33: { + $116 = HEAP32[$7>>2]|0; + $117 = ($116|0)!=(0); + if ($117) { + $118 = HEAP32[$4>>2]|0; + $119 = HEAP32[$5>>2]|0; + $120 = HEAP32[$6>>2]|0; + $121 = HEAP32[$6>>2]|0; + _sqlite3ExprCodeIN($118,$119,$120,$121); + break L4; + } else { + $122 = HEAP32[$8>>2]|0; + $123 = (_sqlite3VdbeMakeLabel($122)|0); + HEAP32[$15>>2] = $123; + $124 = HEAP32[$4>>2]|0; + $125 = HEAP32[$5>>2]|0; + $126 = HEAP32[$6>>2]|0; + $127 = HEAP32[$15>>2]|0; + _sqlite3ExprCodeIN($124,$125,$126,$127); + $128 = HEAP32[$8>>2]|0; + $129 = HEAP32[$15>>2]|0; + _sqlite3VdbeResolveLabel($128,$129); + break L4; + } break; } - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 44|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_sqlite3FixExprList($34,$37)|0); - $39 = ($38|0)!=(0); - if ($39) { + default: { label = 14; - break; } - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 56|0); - $43 = HEAP32[$42>>2]|0; - $44 = (_sqlite3FixExpr($40,$43)|0); - $45 = ($44|0)!=(0); - if ($45) { - label = 16; - break; } - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$2>>2]|0; - $48 = ((($47)) + 60|0); - $49 = HEAP32[$48>>2]|0; - $50 = (_sqlite3FixExpr($46,$49)|0); - $51 = ($50|0)!=(0); - if ($51) { - label = 18; - break; + } while(0); + if ((label|0) == 7) { + $76 = HEAP32[$5>>2]|0; + $77 = ((($76)) + 12|0); + $78 = HEAP32[$77>>2]|0; + $79 = (_sqlite3ExprIsVector($78)|0); + $80 = ($79|0)!=(0); + if ($80) { + label = 14; + } else { + $81 = HEAP32[$4>>2]|0; + $82 = HEAP32[$5>>2]|0; + $83 = ((($82)) + 12|0); + $84 = HEAP32[$83>>2]|0; + $85 = (_sqlite3ExprCodeTemp($81,$84,$10)|0); + HEAP32[$12>>2] = $85; + $86 = HEAP32[$4>>2]|0; + $87 = HEAP32[$5>>2]|0; + $88 = ((($87)) + 16|0); + $89 = HEAP32[$88>>2]|0; + $90 = (_sqlite3ExprCodeTemp($86,$89,$11)|0); + HEAP32[$13>>2] = $90; + $91 = HEAP32[$4>>2]|0; + $92 = HEAP32[$5>>2]|0; + $93 = ((($92)) + 12|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$5>>2]|0; + $96 = ((($95)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$9>>2]|0; + $99 = HEAP32[$12>>2]|0; + $100 = HEAP32[$13>>2]|0; + $101 = HEAP32[$6>>2]|0; + $102 = HEAP32[$7>>2]|0; + (_codeCompare($91,$94,$97,$98,$99,$100,$101,$102)|0); } - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 48|0); - $54 = HEAP32[$53>>2]|0; - HEAP32[$2>>2] = $54; } - if ((label|0) == 4) { - HEAP32[$0>>2] = 1; + do { + if ((label|0) == 14) { + $130 = HEAP32[$5>>2]|0; + $131 = (_exprAlwaysFalse($130)|0); + $132 = ($131|0)!=(0); + if ($132) { + $133 = HEAP32[$8>>2]|0; + $134 = HEAP32[$6>>2]|0; + (_sqlite3VdbeGoto($133,$134)|0); + break; + } + $135 = HEAP32[$5>>2]|0; + $136 = (_exprAlwaysTrue($135)|0); + $137 = ($136|0)!=(0); + if (!($137)) { + $138 = HEAP32[$4>>2]|0; + $139 = HEAP32[$5>>2]|0; + $140 = (_sqlite3ExprCodeTemp($138,$139,$10)|0); + HEAP32[$12>>2] = $140; + $141 = HEAP32[$8>>2]|0; + $142 = HEAP32[$12>>2]|0; + $143 = HEAP32[$6>>2]|0; + $144 = HEAP32[$7>>2]|0; + $145 = ($144|0)!=(0); + $146 = $145&1; + (_sqlite3VdbeAddOp3($141,22,$142,$143,$146)|0); + } + } + } while(0); + $147 = HEAP32[$4>>2]|0; + $148 = HEAP32[$10>>2]|0; + _sqlite3ReleaseTempReg($147,$148); + $149 = HEAP32[$4>>2]|0; + $150 = HEAP32[$11>>2]|0; + _sqlite3ReleaseTempReg($149,$150); + STACKTOP = sp;return; +} +function _sqlite3ExprIfTrue($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$8>>2] = $19; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + $20 = HEAP32[$8>>2]|0; + $21 = ($20|0)==(0|0); + $22 = HEAP32[$5>>2]|0; + $23 = ($22|0)==(0|0); + $or$cond = $21 | $23; + if ($or$cond) { + STACKTOP = sp;return; } - else if ((label|0) == 6) { - HEAP32[$0>>2] = 1; + $24 = HEAP32[$5>>2]|0; + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + HEAP32[$9>>2] = $26; + $27 = HEAP32[$9>>2]|0; + switch ($27|0) { + case 28: { + $28 = HEAP32[$8>>2]|0; + $29 = (_sqlite3VdbeMakeLabel($28)|0); + HEAP32[$14>>2] = $29; + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$14>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = $35 ^ 16; + _sqlite3ExprIfFalse($30,$33,$34,$36); + $37 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePush($37); + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$7>>2]|0; + _sqlite3ExprIfTrue($38,$41,$42,$43); + $44 = HEAP32[$8>>2]|0; + $45 = HEAP32[$14>>2]|0; + _sqlite3VdbeResolveLabel($44,$45); + $46 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePop($46); + break; } - else if ((label|0) == 8) { - HEAP32[$0>>2] = 1; + case 27: { + $47 = HEAP32[$4>>2]|0; + $48 = HEAP32[$5>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$7>>2]|0; + _sqlite3ExprIfTrue($47,$50,$51,$52); + $53 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePush($53); + $54 = HEAP32[$4>>2]|0; + $55 = HEAP32[$5>>2]|0; + $56 = ((($55)) + 16|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$6>>2]|0; + $59 = HEAP32[$7>>2]|0; + _sqlite3ExprIfTrue($54,$57,$58,$59); + $60 = HEAP32[$4>>2]|0; + _sqlite3ExprCachePop($60); + break; } - else if ((label|0) == 10) { - HEAP32[$0>>2] = 1; + case 19: { + $61 = HEAP32[$4>>2]|0; + $62 = HEAP32[$5>>2]|0; + $63 = ((($62)) + 12|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$6>>2]|0; + $66 = HEAP32[$7>>2]|0; + _sqlite3ExprIfFalse($61,$64,$65,$66); + break; } - else if ((label|0) == 12) { - HEAP32[$0>>2] = 1; + case 148: case 29: { + $67 = HEAP32[$9>>2]|0; + $68 = ($67|0)==(29); + $69 = $68 ? 37 : 36; + HEAP32[$9>>2] = $69; + HEAP32[$7>>2] = 128; + label = 7; + break; } - else if ((label|0) == 14) { - HEAP32[$0>>2] = 1; + case 37: case 36: case 41: case 38: case 39: case 40: { + label = 7; + break; } - else if ((label|0) == 16) { - HEAP32[$0>>2] = 1; + case 35: case 34: { + $97 = HEAP32[$4>>2]|0; + $98 = HEAP32[$5>>2]|0; + $99 = ((($98)) + 12|0); + $100 = HEAP32[$99>>2]|0; + $101 = (_sqlite3ExprCodeTemp($97,$100,$10)|0); + HEAP32[$12>>2] = $101; + $102 = HEAP32[$8>>2]|0; + $103 = HEAP32[$9>>2]|0; + $104 = HEAP32[$12>>2]|0; + $105 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp2($102,$103,$104,$105)|0); + break; } - else if ((label|0) == 18) { - HEAP32[$0>>2] = 1; + case 32: { + $106 = HEAP32[$4>>2]|0; + $107 = HEAP32[$5>>2]|0; + $108 = HEAP32[$6>>2]|0; + $109 = HEAP32[$7>>2]|0; + _exprCodeBetween($106,$107,$108,135,$109); + break; } - else if ((label|0) == 20) { - HEAP32[$0>>2] = 0; + case 33: { + $110 = HEAP32[$8>>2]|0; + $111 = (_sqlite3VdbeMakeLabel($110)|0); + HEAP32[$15>>2] = $111; + $112 = HEAP32[$7>>2]|0; + $113 = ($112|0)!=(0); + $114 = HEAP32[$6>>2]|0; + $115 = HEAP32[$15>>2]|0; + $116 = $113 ? $114 : $115; + HEAP32[$16>>2] = $116; + $117 = HEAP32[$4>>2]|0; + $118 = HEAP32[$5>>2]|0; + $119 = HEAP32[$15>>2]|0; + $120 = HEAP32[$16>>2]|0; + _sqlite3ExprCodeIN($117,$118,$119,$120); + $121 = HEAP32[$8>>2]|0; + $122 = HEAP32[$6>>2]|0; + (_sqlite3VdbeGoto($121,$122)|0); + $123 = HEAP32[$8>>2]|0; + $124 = HEAP32[$15>>2]|0; + _sqlite3VdbeResolveLabel($123,$124); + break; } - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); + default: { + label = 12; + } + } + if ((label|0) == 7) { + $70 = HEAP32[$5>>2]|0; + $71 = ((($70)) + 12|0); + $72 = HEAP32[$71>>2]|0; + $73 = (_sqlite3ExprIsVector($72)|0); + $74 = ($73|0)!=(0); + if ($74) { + label = 12; + } else { + $75 = HEAP32[$4>>2]|0; + $76 = HEAP32[$5>>2]|0; + $77 = ((($76)) + 12|0); + $78 = HEAP32[$77>>2]|0; + $79 = (_sqlite3ExprCodeTemp($75,$78,$10)|0); + HEAP32[$12>>2] = $79; + $80 = HEAP32[$4>>2]|0; + $81 = HEAP32[$5>>2]|0; + $82 = ((($81)) + 16|0); + $83 = HEAP32[$82>>2]|0; + $84 = (_sqlite3ExprCodeTemp($80,$83,$11)|0); + HEAP32[$13>>2] = $84; + $85 = HEAP32[$4>>2]|0; + $86 = HEAP32[$5>>2]|0; + $87 = ((($86)) + 12|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + 16|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$9>>2]|0; + $93 = HEAP32[$12>>2]|0; + $94 = HEAP32[$13>>2]|0; + $95 = HEAP32[$6>>2]|0; + $96 = HEAP32[$7>>2]|0; + (_codeCompare($85,$88,$91,$92,$93,$94,$95,$96)|0); + } + } + do { + if ((label|0) == 12) { + $125 = HEAP32[$5>>2]|0; + $126 = (_exprAlwaysTrue($125)|0); + $127 = ($126|0)!=(0); + if ($127) { + $128 = HEAP32[$8>>2]|0; + $129 = HEAP32[$6>>2]|0; + (_sqlite3VdbeGoto($128,$129)|0); + break; + } + $130 = HEAP32[$5>>2]|0; + $131 = (_exprAlwaysFalse($130)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + $133 = HEAP32[$4>>2]|0; + $134 = HEAP32[$5>>2]|0; + $135 = (_sqlite3ExprCodeTemp($133,$134,$10)|0); + HEAP32[$12>>2] = $135; + $136 = HEAP32[$8>>2]|0; + $137 = HEAP32[$12>>2]|0; + $138 = HEAP32[$6>>2]|0; + $139 = HEAP32[$7>>2]|0; + $140 = ($139|0)!=(0); + $141 = $140&1; + (_sqlite3VdbeAddOp3($136,21,$137,$138,$141)|0); + } + } + } while(0); + $142 = HEAP32[$4>>2]|0; + $143 = HEAP32[$10>>2]|0; + _sqlite3ReleaseTempReg($142,$143); + $144 = HEAP32[$4>>2]|0; + $145 = HEAP32[$11>>2]|0; + _sqlite3ReleaseTempReg($144,$145); + STACKTOP = sp;return; } -function _sqlite3FixExpr($pFix,$pExpr) { - $pFix = $pFix|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _exprAlwaysTrue($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - HEAP32[$1>>2] = $pFix; - HEAP32[$2>>2] = $pExpr; - while(1) { - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - label = 16; - break; - } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)==(135); + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 1; + $8 = ($7|0)!=(0); + do { if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 148|0); - $13 = ((($12)) + 5|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)!=(0); - if (!($15)) { - label = 6; + HEAP32[$1>>2] = 0; + } else { + $9 = HEAP32[$2>>2]|0; + $10 = (_sqlite3ExprIsInteger($9,$3)|0); + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = ($12|0)!=(0); + $14 = $13&1; + HEAP32[$1>>2] = $14; + break; + } else { + HEAP32[$1>>2] = 0; break; } - $16 = HEAP32[$2>>2]|0; - HEAP8[$16>>0] = 101; } - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = $24 & 8404992; - $26 = ($25|0)!=(0); - if ($26) { - label = 16; - break; + } while(0); + $15 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _sqlite3ExprCheckIN($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$4>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3ExprVectorSize($8)|0); + HEAP32[$5>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = $12 & 2048; + $14 = ($13|0)!=(0); + $15 = HEAP32[$5>>2]|0; + if ($14) { + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ($15|0)!=($20|0); + if ($21) { + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$5>>2]|0; + _sqlite3SubselectError($22,$27,$28); + HEAP32[$2>>2] = 1; + $39 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($39|0); } - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = $29 & 2048; - $31 = ($30|0)!=(0); - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 20|0); - if ($31) { - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3FixSelect($32,$35)|0); - $37 = ($36|0)!=(0); - if ($37) { - label = 10; - break; - } - } else { - $38 = HEAP32[$34>>2]|0; - $39 = (_sqlite3FixExprList($32,$38)|0); - $40 = ($39|0)!=(0); - if ($40) { - label = 12; - break; + } else { + $29 = ($15|0)!=(1); + if ($29) { + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = $34 & 2048; + $36 = ($35|0)!=(0); + $37 = HEAP32[$3>>2]|0; + if ($36) { + $38 = HEAP32[$5>>2]|0; + _sqlite3SubselectError($37,$38,1); + } else { + _sqlite3ErrorMsg($37,29254,$vararg_buffer); } + HEAP32[$2>>2] = 1; + $39 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($39|0); } - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$2>>2]|0; - $43 = ((($42)) + 16|0); - $44 = HEAP32[$43>>2]|0; - $45 = (_sqlite3FixExpr($41,$44)|0); - $46 = ($45|0)!=(0); - if ($46) { - label = 14; - break; - } - $47 = HEAP32[$2>>2]|0; - $48 = ((($47)) + 12|0); - $49 = HEAP32[$48>>2]|0; - HEAP32[$2>>2] = $49; - } - if ((label|0) == 6) { - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 16|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$vararg_buffer>>2] = $21; - _sqlite3ErrorMsg($18,31986,$vararg_buffer); - HEAP32[$0>>2] = 1; - $50 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($50|0); - } - else if ((label|0) == 10) { - HEAP32[$0>>2] = 1; - $50 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($50|0); - } - else if ((label|0) == 12) { - HEAP32[$0>>2] = 1; - $50 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($50|0); - } - else if ((label|0) == 14) { - HEAP32[$0>>2] = 1; - $50 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($50|0); - } - else if ((label|0) == 16) { - HEAP32[$0>>2] = 0; - $50 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($50|0); } - return (0)|0; + HEAP32[$2>>2] = 0; + $39 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($39|0); } -function _sqlite3FixExprList($pFix,$pList) { - $pFix = $pFix|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $i = 0, $pItem = 0, label = 0, sp = 0; +function _exprINAffinity($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 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, $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, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $i = sp + 4|0; - $pItem = sp; - HEAP32[$1>>2] = $pFix; - HEAP32[$2>>2] = $pList; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = 0; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + STACKTOP = STACKTOP + 48|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + $10 = sp + 32|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $13; + $14 = HEAP32[$4>>2]|0; + $15 = (_sqlite3ExprVectorSize($14)|0); + HEAP32[$5>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 & 2048; + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + $24 = $23; + } else { + $24 = 0; } - HEAP32[$i>>2] = 0; - $5 = HEAP32[$2>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pItem>>2] = $7; + HEAP32[$6>>2] = $24; + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$5>>2]|0; + $28 = (($27) + 1)|0; + $29 = ($28|0)<(0); + $30 = $29 << 31 >> 31; + $31 = (_sqlite3DbMallocZero($26,$28,$30)|0); + HEAP32[$7>>2] = $31; + $32 = HEAP32[$7>>2]|0; + $33 = ($32|0)!=(0|0); + if (!($33)) { + $65 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($65|0); + } + HEAP32[$8>>2] = 0; while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ($8|0)<($10|0); - if (!($11)) { - label = 8; + $34 = HEAP32[$8>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = ($34|0)<($35|0); + if (!($36)) { break; } - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$pItem>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3FixExpr($12,$14)|0); - $16 = ($15|0)!=(0); - if ($16) { - label = 6; - break; + $37 = HEAP32[$4>>2]|0; + $38 = HEAP32[$8>>2]|0; + $39 = (_sqlite3VectorFieldSubexpr($37,$38)|0); + HEAP32[$9>>2] = $39; + $40 = HEAP32[$9>>2]|0; + $41 = (_sqlite3ExprAffinity($40)|0); + HEAP8[$10>>0] = $41; + $42 = HEAP32[$6>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = ((($45)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = (($47) + (($48*20)|0)|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP8[$10>>0]|0; + $52 = (_sqlite3CompareAffinity($50,$51)|0); + $53 = HEAP32[$7>>2]|0; + $54 = HEAP32[$8>>2]|0; + $55 = (($53) + ($54)|0); + $$sink = $52;$$sink1 = $55; + } else { + $56 = HEAP8[$10>>0]|0; + $57 = HEAP32[$7>>2]|0; + $58 = HEAP32[$8>>2]|0; + $59 = (($57) + ($58)|0); + $$sink = $56;$$sink1 = $59; } - $17 = HEAP32[$i>>2]|0; - $18 = (($17) + 1)|0; - HEAP32[$i>>2] = $18; - $19 = HEAP32[$pItem>>2]|0; - $20 = ((($19)) + 20|0); - HEAP32[$pItem>>2] = $20; + HEAP8[$$sink1>>0] = $$sink; + $60 = HEAP32[$8>>2]|0; + $61 = (($60) + 1)|0; + HEAP32[$8>>2] = $61; } - if ((label|0) == 6) { - HEAP32[$0>>2] = 1; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + $62 = HEAP32[$7>>2]|0; + $63 = HEAP32[$5>>2]|0; + $64 = (($62) + ($63)|0); + HEAP8[$64>>0] = 0; + $65 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($65|0); +} +function _sqlite3FindInIndex($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; + var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0; + var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0; + var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0; + var $444 = 0, $445 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $switch = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; + $vararg_buffer = sp + 16|0; + $5 = sp + 140|0; + $6 = sp + 136|0; + $7 = sp + 132|0; + $8 = sp + 128|0; + $9 = sp + 124|0; + $10 = sp + 120|0; + $11 = sp + 116|0; + $12 = sp + 112|0; + $13 = sp + 108|0; + $14 = sp + 104|0; + $15 = sp + 100|0; + $16 = sp + 96|0; + $17 = sp + 92|0; + $18 = sp + 88|0; + $19 = sp + 144|0; + $20 = sp + 84|0; + $21 = sp + 80|0; + $22 = sp + 76|0; + $23 = sp + 72|0; + $24 = sp + 68|0; + $25 = sp + 64|0; + $26 = sp + 60|0; + $27 = sp + 56|0; + $28 = sp + 147|0; + $29 = sp + 146|0; + $30 = sp + 8|0; + $31 = sp; + $32 = sp + 52|0; + $33 = sp + 48|0; + $34 = sp + 44|0; + $35 = sp + 40|0; + $36 = sp + 36|0; + $37 = sp + 32|0; + $38 = sp + 28|0; + $39 = sp + 24|0; + $40 = sp + 20|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$11>>2] = 0; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 40|0); + $43 = HEAP32[$42>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$42>>2] = $44; + HEAP32[$12>>2] = $43; + $45 = HEAP32[$5>>2]|0; + $46 = (_sqlite3GetVdbe($45)|0); + HEAP32[$14>>2] = $46; + $47 = HEAP32[$7>>2]|0; + $48 = $47 & 4; + $49 = ($48|0)!=(0); + $50 = $49&1; + HEAP32[$13>>2] = $50; + $51 = HEAP32[$8>>2]|0; + $52 = ($51|0)!=(0|0); + if ($52) { + $53 = HEAP32[$6>>2]|0; + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + $56 = $55 & 2048; + $57 = ($56|0)!=(0); + if ($57) { + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + 20|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$60>>2]|0; + HEAP32[$16>>2] = $61; + HEAP32[$15>>2] = 0; + while(1) { + $62 = HEAP32[$15>>2]|0; + $63 = HEAP32[$16>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = ($62|0)<($64|0); + if (!($65)) { + break; + } + $66 = HEAP32[$16>>2]|0; + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$15>>2]|0; + $70 = (($68) + (($69*20)|0)|0); + $71 = HEAP32[$70>>2]|0; + $72 = (_sqlite3ExprCanBeNull($71)|0); + $73 = ($72|0)!=(0); + if ($73) { + break; + } + $74 = HEAP32[$15>>2]|0; + $75 = (($74) + 1)|0; + HEAP32[$15>>2] = $75; + } + $76 = HEAP32[$15>>2]|0; + $77 = HEAP32[$16>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = ($76|0)==($78|0); + if ($79) { + HEAP32[$8>>2] = 0; + } + } } - else if ((label|0) == 8) { - HEAP32[$0>>2] = 0; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + $80 = HEAP32[$5>>2]|0; + $81 = ((($80)) + 36|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)==(0); + L11: do { + if ($83) { + $84 = HEAP32[$6>>2]|0; + $85 = (_isCandidateForInOpt($84)|0); + HEAP32[$10>>2] = $85; + $86 = ($85|0)!=(0|0); + if ($86) { + $87 = HEAP32[$5>>2]|0; + $88 = HEAP32[$87>>2]|0; + HEAP32[$17>>2] = $88; + $89 = HEAP32[$10>>2]|0; + $90 = HEAP32[$89>>2]|0; + HEAP32[$20>>2] = $90; + $91 = HEAP32[$20>>2]|0; + $92 = HEAP32[$91>>2]|0; + HEAP32[$21>>2] = $92; + $93 = HEAP32[$10>>2]|0; + $94 = ((($93)) + 28|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($95)) + 8|0); + $97 = ((($96)) + 16|0); + $98 = HEAP32[$97>>2]|0; + HEAP32[$18>>2] = $98; + $99 = HEAP32[$17>>2]|0; + $100 = HEAP32[$18>>2]|0; + $101 = ((($100)) + 64|0); + $102 = HEAP32[$101>>2]|0; + $103 = (_sqlite3SchemaToIndex($99,$102)|0); + $104 = $103&65535; + HEAP16[$19>>1] = $104; + $105 = HEAP32[$5>>2]|0; + $106 = HEAP16[$19>>1]|0; + $107 = $106 << 16 >> 16; + _sqlite3CodeVerifySchema($105,$107); + $108 = HEAP32[$5>>2]|0; + $109 = HEAP16[$19>>1]|0; + $110 = $109 << 16 >> 16; + $111 = HEAP32[$18>>2]|0; + $112 = ((($111)) + 28|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$18>>2]|0; + $115 = HEAP32[$114>>2]|0; + _sqlite3TableLock($108,$110,$113,0,$115); + $116 = HEAP32[$21>>2]|0; + $117 = ($116|0)==(1); + if ($117) { + $118 = HEAP32[$20>>2]|0; + $119 = ((($118)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$120>>2]|0; + $122 = ((($121)) + 32|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123 << 16 >> 16; + $125 = ($124|0)<(0); + if ($125) { + $126 = HEAP32[$14>>2]|0; + $127 = (_sqlite3VdbeAddOp0($126,20)|0); + HEAP32[$22>>2] = $127; + $128 = HEAP32[$5>>2]|0; + $129 = HEAP32[$12>>2]|0; + $130 = HEAP16[$19>>1]|0; + $131 = $130 << 16 >> 16; + $132 = HEAP32[$18>>2]|0; + _sqlite3OpenTable($128,$129,$131,$132,104); + HEAP32[$11>>2] = 1; + $133 = HEAP32[$14>>2]|0; + $134 = HEAP32[$22>>2]|0; + _sqlite3VdbeJumpHere($133,$134); + break; + } + } + HEAP32[$24>>2] = 1; + HEAP32[$25>>2] = 0; + while(1) { + $135 = HEAP32[$25>>2]|0; + $136 = HEAP32[$21>>2]|0; + $137 = ($135|0)<($136|0); + $138 = HEAP32[$24>>2]|0; + $139 = ($138|0)!=(0); + $140 = $137 ? $139 : 0; + if (!($140)) { + break; + } + $141 = HEAP32[$6>>2]|0; + $142 = ((($141)) + 12|0); + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$25>>2]|0; + $145 = (_sqlite3VectorFieldSubexpr($143,$144)|0); + HEAP32[$26>>2] = $145; + $146 = HEAP32[$20>>2]|0; + $147 = ((($146)) + 4|0); + $148 = HEAP32[$147>>2]|0; + $149 = HEAP32[$25>>2]|0; + $150 = (($148) + (($149*20)|0)|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 32|0); + $153 = HEAP16[$152>>1]|0; + $154 = $153 << 16 >> 16; + HEAP32[$27>>2] = $154; + $155 = HEAP32[$18>>2]|0; + $156 = HEAP32[$27>>2]|0; + $157 = (_sqlite3TableColumnAffinity($155,$156)|0); + HEAP8[$28>>0] = $157; + $158 = HEAP32[$26>>2]|0; + $159 = HEAP8[$28>>0]|0; + $160 = (_sqlite3CompareAffinity($158,$159)|0); + HEAP8[$29>>0] = $160; + $161 = HEAP8[$29>>0]|0; + $162 = $161 << 24 >> 24; + $$off = (($162) + -65)|0; + $switch = ($$off>>>0)<(2); + if (!($switch)) { + $163 = HEAP8[$28>>0]|0; + $164 = $163 << 24 >> 24; + $165 = ($164|0)>=(67); + $166 = $165&1; + HEAP32[$24>>2] = $166; + } + $167 = HEAP32[$25>>2]|0; + $168 = (($167) + 1)|0; + HEAP32[$25>>2] = $168; + } + $169 = HEAP32[$24>>2]|0; + $170 = ($169|0)!=(0); + if ($170) { + $171 = HEAP32[$18>>2]|0; + $172 = ((($171)) + 8|0); + $173 = HEAP32[$172>>2]|0; + HEAP32[$23>>2] = $173; + while(1) { + $174 = HEAP32[$23>>2]|0; + $175 = ($174|0)!=(0|0); + $176 = HEAP32[$11>>2]|0; + $177 = ($176|0)==(0); + $178 = $175 ? $177 : 0; + if (!($178)) { + break L11; + } + $179 = HEAP32[$23>>2]|0; + $180 = ((($179)) + 52|0); + $181 = HEAP16[$180>>1]|0; + $182 = $181&65535; + $183 = HEAP32[$21>>2]|0; + $184 = ($182|0)<($183|0); + do { + if (!($184)) { + $185 = HEAP32[$23>>2]|0; + $186 = ((($185)) + 52|0); + $187 = HEAP16[$186>>1]|0; + $188 = $187&65535; + $189 = ($188|0)>=(63); + if (!($189)) { + $190 = HEAP32[$13>>2]|0; + $191 = ($190|0)!=(0); + if ($191) { + $192 = HEAP32[$23>>2]|0; + $193 = ((($192)) + 50|0); + $194 = HEAP16[$193>>1]|0; + $195 = $194&65535; + $196 = HEAP32[$21>>2]|0; + $197 = ($195|0)>($196|0); + if ($197) { + break; + } + $198 = HEAP32[$23>>2]|0; + $199 = ((($198)) + 52|0); + $200 = HEAP16[$199>>1]|0; + $201 = $200&65535; + $202 = HEAP32[$21>>2]|0; + $203 = ($201|0)>($202|0); + if ($203) { + $204 = HEAP32[$23>>2]|0; + $205 = ((($204)) + 54|0); + $206 = HEAP8[$205>>0]|0; + $207 = $206&255; + $208 = ($207|0)!=(0); + if (!($208)) { + break; + } + } + } + $209 = $30; + $210 = $209; + HEAP32[$210>>2] = 0; + $211 = (($209) + 4)|0; + $212 = $211; + HEAP32[$212>>2] = 0; + HEAP32[$25>>2] = 0; + while(1) { + $213 = HEAP32[$25>>2]|0; + $214 = HEAP32[$21>>2]|0; + $215 = ($213|0)<($214|0); + if (!($215)) { + break; + } + $216 = HEAP32[$6>>2]|0; + $217 = ((($216)) + 12|0); + $218 = HEAP32[$217>>2]|0; + $219 = HEAP32[$25>>2]|0; + $220 = (_sqlite3VectorFieldSubexpr($218,$219)|0); + HEAP32[$32>>2] = $220; + $221 = HEAP32[$20>>2]|0; + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = HEAP32[$25>>2]|0; + $225 = (($223) + (($224*20)|0)|0); + $226 = HEAP32[$225>>2]|0; + HEAP32[$33>>2] = $226; + $227 = HEAP32[$5>>2]|0; + $228 = HEAP32[$32>>2]|0; + $229 = HEAP32[$33>>2]|0; + $230 = (_sqlite3BinaryCompareCollSeq($227,$228,$229)|0); + HEAP32[$34>>2] = $230; + HEAP32[$35>>2] = 0; + while(1) { + $231 = HEAP32[$35>>2]|0; + $232 = HEAP32[$21>>2]|0; + $233 = ($231|0)<($232|0); + if (!($233)) { + break; + } + $234 = HEAP32[$23>>2]|0; + $235 = ((($234)) + 4|0); + $236 = HEAP32[$235>>2]|0; + $237 = HEAP32[$35>>2]|0; + $238 = (($236) + ($237<<1)|0); + $239 = HEAP16[$238>>1]|0; + $240 = $239 << 16 >> 16; + $241 = HEAP32[$33>>2]|0; + $242 = ((($241)) + 32|0); + $243 = HEAP16[$242>>1]|0; + $244 = $243 << 16 >> 16; + $245 = ($240|0)!=($244|0); + if (!($245)) { + $246 = HEAP32[$34>>2]|0; + $247 = ($246|0)!=(0|0); + if (!($247)) { + break; + } + $248 = HEAP32[$34>>2]|0; + $249 = HEAP32[$248>>2]|0; + $250 = HEAP32[$23>>2]|0; + $251 = ((($250)) + 32|0); + $252 = HEAP32[$251>>2]|0; + $253 = HEAP32[$35>>2]|0; + $254 = (($252) + ($253<<2)|0); + $255 = HEAP32[$254>>2]|0; + $256 = (_sqlite3StrICmp($249,$255)|0); + $257 = ($256|0)!=(0); + if (!($257)) { + break; + } + } + $258 = HEAP32[$35>>2]|0; + $259 = (($258) + 1)|0; + HEAP32[$35>>2] = $259; + } + $260 = HEAP32[$35>>2]|0; + $261 = HEAP32[$21>>2]|0; + $262 = ($260|0)==($261|0); + if ($262) { + break; + } + $263 = HEAP32[$35>>2]|0; + $264 = (_bitshift64Shl(1,0,($263|0))|0); + $265 = tempRet0; + $266 = $31; + $267 = $266; + HEAP32[$267>>2] = $264; + $268 = (($266) + 4)|0; + $269 = $268; + HEAP32[$269>>2] = $265; + $270 = $31; + $271 = $270; + $272 = HEAP32[$271>>2]|0; + $273 = (($270) + 4)|0; + $274 = $273; + $275 = HEAP32[$274>>2]|0; + $276 = $30; + $277 = $276; + $278 = HEAP32[$277>>2]|0; + $279 = (($276) + 4)|0; + $280 = $279; + $281 = HEAP32[$280>>2]|0; + $282 = $272 & $278; + $283 = $275 & $281; + $284 = ($282|0)!=(0); + $285 = ($283|0)!=(0); + $286 = $284 | $285; + if ($286) { + break; + } + $287 = $31; + $288 = $287; + $289 = HEAP32[$288>>2]|0; + $290 = (($287) + 4)|0; + $291 = $290; + $292 = HEAP32[$291>>2]|0; + $293 = $30; + $294 = $293; + $295 = HEAP32[$294>>2]|0; + $296 = (($293) + 4)|0; + $297 = $296; + $298 = HEAP32[$297>>2]|0; + $299 = $295 | $289; + $300 = $298 | $292; + $301 = $30; + $302 = $301; + HEAP32[$302>>2] = $299; + $303 = (($301) + 4)|0; + $304 = $303; + HEAP32[$304>>2] = $300; + $305 = HEAP32[$9>>2]|0; + $306 = ($305|0)!=(0|0); + if ($306) { + $307 = HEAP32[$35>>2]|0; + $308 = HEAP32[$9>>2]|0; + $309 = HEAP32[$25>>2]|0; + $310 = (($308) + ($309<<2)|0); + HEAP32[$310>>2] = $307; + } + $311 = HEAP32[$25>>2]|0; + $312 = (($311) + 1)|0; + HEAP32[$25>>2] = $312; + } + $313 = $30; + $314 = $313; + $315 = HEAP32[$314>>2]|0; + $316 = (($313) + 4)|0; + $317 = $316; + $318 = HEAP32[$317>>2]|0; + $319 = HEAP32[$21>>2]|0; + $320 = (_bitshift64Shl(1,0,($319|0))|0); + $321 = tempRet0; + $322 = (_i64Subtract(($320|0),($321|0),1,0)|0); + $323 = tempRet0; + $324 = ($315|0)==($322|0); + $325 = ($318|0)==($323|0); + $326 = $324 & $325; + if ($326) { + $327 = HEAP32[$14>>2]|0; + $328 = (_sqlite3VdbeAddOp0($327,20)|0); + HEAP32[$36>>2] = $328; + $329 = HEAP32[$14>>2]|0; + $330 = HEAP32[$17>>2]|0; + $331 = HEAP32[$23>>2]|0; + $332 = HEAP32[$331>>2]|0; + HEAP32[$vararg_buffer>>2] = $332; + $333 = (_sqlite3MPrintf($330,30460,$vararg_buffer)|0); + (_sqlite3VdbeAddOp4($329,162,0,0,0,$333,-1)|0); + $334 = HEAP32[$14>>2]|0; + $335 = HEAP32[$12>>2]|0; + $336 = HEAP32[$23>>2]|0; + $337 = ((($336)) + 44|0); + $338 = HEAP32[$337>>2]|0; + $339 = HEAP16[$19>>1]|0; + $340 = $339 << 16 >> 16; + (_sqlite3VdbeAddOp3($334,104,$335,$338,$340)|0); + $341 = HEAP32[$5>>2]|0; + $342 = HEAP32[$23>>2]|0; + _sqlite3VdbeSetP4KeyInfo($341,$342); + $343 = HEAP32[$23>>2]|0; + $344 = ((($343)) + 28|0); + $345 = HEAP32[$344>>2]|0; + $346 = HEAP8[$345>>0]|0; + $347 = $346&255; + $348 = (3 + ($347))|0; + HEAP32[$11>>2] = $348; + $349 = HEAP32[$8>>2]|0; + $350 = ($349|0)!=(0|0); + if ($350) { + $351 = HEAP32[$5>>2]|0; + $352 = ((($351)) + 44|0); + $353 = HEAP32[$352>>2]|0; + $354 = (($353) + 1)|0; + HEAP32[$352>>2] = $354; + $355 = HEAP32[$8>>2]|0; + HEAP32[$355>>2] = $354; + $356 = HEAP32[$21>>2]|0; + $357 = ($356|0)==(1); + if ($357) { + $358 = HEAP32[$14>>2]|0; + $359 = HEAP32[$12>>2]|0; + $360 = HEAP32[$8>>2]|0; + $361 = HEAP32[$360>>2]|0; + _sqlite3SetHasNullFlag($358,$359,$361); + } + } + $362 = HEAP32[$14>>2]|0; + $363 = HEAP32[$36>>2]|0; + _sqlite3VdbeJumpHere($362,$363); + } + } + } + } while(0); + $364 = HEAP32[$23>>2]|0; + $365 = ((($364)) + 20|0); + $366 = HEAP32[$365>>2]|0; + HEAP32[$23>>2] = $366; + } + } + } + } + } while(0); + $367 = HEAP32[$11>>2]|0; + $368 = ($367|0)==(0); + do { + if ($368) { + $369 = HEAP32[$7>>2]|0; + $370 = $369 & 1; + $371 = ($370|0)!=(0); + if ($371) { + $372 = HEAP32[$6>>2]|0; + $373 = ((($372)) + 4|0); + $374 = HEAP32[$373>>2]|0; + $375 = $374 & 2048; + $376 = ($375|0)!=(0); + if (!($376)) { + $377 = HEAP32[$6>>2]|0; + $378 = (_sqlite3InRhsIsConstant($377)|0); + $379 = ($378|0)!=(0); + if ($379) { + $380 = HEAP32[$6>>2]|0; + $381 = ((($380)) + 20|0); + $382 = HEAP32[$381>>2]|0; + $383 = HEAP32[$382>>2]|0; + $384 = ($383|0)<=(2); + if (!($384)) { + break; + } + } + HEAP32[$11>>2] = 5; + } + } + } + } while(0); + $385 = HEAP32[$11>>2]|0; + $386 = ($385|0)==(0); + if ($386) { + $387 = HEAP32[$5>>2]|0; + $388 = ((($387)) + 136|0); + $389 = HEAP32[$388>>2]|0; + HEAP32[$37>>2] = $389; + HEAP32[$38>>2] = 0; + HEAP32[$11>>2] = 2; + $390 = HEAP32[$7>>2]|0; + $391 = $390 & 4; + $392 = ($391|0)!=(0); + if ($392) { + $393 = HEAP32[$5>>2]|0; + $394 = ((($393)) + 136|0); + HEAP32[$394>>2] = 0; + $395 = HEAP32[$6>>2]|0; + $396 = ((($395)) + 12|0); + $397 = HEAP32[$396>>2]|0; + $398 = ((($397)) + 32|0); + $399 = HEAP16[$398>>1]|0; + $400 = $399 << 16 >> 16; + $401 = ($400|0)<(0); + if ($401) { + $402 = HEAP32[$6>>2]|0; + $403 = ((($402)) + 4|0); + $404 = HEAP32[$403>>2]|0; + $405 = $404 & 2048; + $406 = ($405|0)!=(0); + if (!($406)) { + HEAP32[$11>>2] = 1; + } + } + } else { + $407 = HEAP32[$8>>2]|0; + $408 = ($407|0)!=(0|0); + if ($408) { + $409 = HEAP32[$5>>2]|0; + $410 = ((($409)) + 44|0); + $411 = HEAP32[$410>>2]|0; + $412 = (($411) + 1)|0; + HEAP32[$410>>2] = $412; + HEAP32[$38>>2] = $412; + $413 = HEAP32[$8>>2]|0; + HEAP32[$413>>2] = $412; + } + } + $414 = HEAP32[$5>>2]|0; + $415 = HEAP32[$6>>2]|0; + $416 = HEAP32[$38>>2]|0; + $417 = HEAP32[$11>>2]|0; + $418 = ($417|0)==(1); + $419 = $418&1; + (_sqlite3CodeSubselect($414,$415,$416,$419)|0); + $420 = HEAP32[$37>>2]|0; + $421 = HEAP32[$5>>2]|0; + $422 = ((($421)) + 136|0); + HEAP32[$422>>2] = $420; + } else { + $423 = HEAP32[$12>>2]|0; + $424 = HEAP32[$6>>2]|0; + $425 = ((($424)) + 28|0); + HEAP32[$425>>2] = $423; + } + $426 = HEAP32[$9>>2]|0; + $427 = ($426|0)!=(0|0); + $428 = HEAP32[$11>>2]|0; + $429 = ($428|0)!=(3); + $or$cond = $427 & $429; + $430 = HEAP32[$11>>2]|0; + $431 = ($430|0)!=(4); + $or$cond3 = $or$cond & $431; + if (!($or$cond3)) { + $445 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($445|0); + } + $432 = HEAP32[$6>>2]|0; + $433 = ((($432)) + 12|0); + $434 = HEAP32[$433>>2]|0; + $435 = (_sqlite3ExprVectorSize($434)|0); + HEAP32[$40>>2] = $435; + HEAP32[$39>>2] = 0; + while(1) { + $436 = HEAP32[$39>>2]|0; + $437 = HEAP32[$40>>2]|0; + $438 = ($436|0)<($437|0); + if (!($438)) { + break; + } + $439 = HEAP32[$39>>2]|0; + $440 = HEAP32[$9>>2]|0; + $441 = HEAP32[$39>>2]|0; + $442 = (($440) + ($441<<2)|0); + HEAP32[$442>>2] = $439; + $443 = HEAP32[$39>>2]|0; + $444 = (($443) + 1)|0; + HEAP32[$39>>2] = $444; } - return (0)|0; + $445 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($445|0); } -function _sqlite3FixTriggerStep($pFix,$pStep) { - $pFix = $pFix|0; - $pStep = $pStep|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3ExprCanBeNull($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$1>>2] = $pFix; - HEAP32[$2>>2] = $pStep; + $3 = sp + 8|0; + HEAP32[$2>>2] = $0; while(1) { - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - label = 10; - break; - } - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3FixSelect($5,$8)|0); - $10 = ($9|0)!=(0); - if ($10) { - label = 4; - break; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)==(156); + if ($7) { + $51 = 1; + } else { + $8 = HEAP32[$2>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)==(155); + $51 = $11; } - $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3FixExpr($11,$14)|0); - $16 = ($15|0)!=(0); - if ($16) { - label = 6; - break; - } - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3FixExprList($17,$20)|0); - $22 = ($21|0)!=(0); - if ($22) { - label = 8; + if (!($51)) { break; } - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 28|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$2>>2] = $25; - } - if ((label|0) == 4) { - HEAP32[$0>>2] = 1; - } - else if ((label|0) == 6) { - HEAP32[$0>>2] = 1; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$2>>2] = $14; } - else if ((label|0) == 8) { - HEAP32[$0>>2] = 1; + $15 = HEAP8[$12>>0]|0; + HEAP8[$3>>0] = $15; + $16 = HEAP8[$3>>0]|0; + $17 = $16&255; + $18 = ($17|0)==(157); + if ($18) { + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 38|0); + $21 = HEAP8[$20>>0]|0; + HEAP8[$3>>0] = $21; } - else if ((label|0) == 10) { - HEAP32[$0>>2] = 0; + $22 = HEAP8[$3>>0]|0; + $23 = $22&255; + switch ($23|0) { + case 133: case 132: case 97: case 134: { + HEAP32[$1>>2] = 0; + $50 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($50|0); + break; } - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); -} -function _sqlite3VdbeRunOnlyOnce($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 144|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3 & -33; - $5 = $4 | 32; - HEAP16[$2>>1] = $5; - STACKTOP = sp;return; -} -function _returnSingleText($v,$zLabel,$zValue) { - $v = $v|0; - $zLabel = $zLabel|0; - $zValue = $zValue|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $zLabel; - HEAP32[$2>>2] = $zValue; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; + case 152: { + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = $26 & 1048576; + $28 = ($27|0)!=(0); + if ($28) { + $49 = 1; + } else { + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 32|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31 << 16 >> 16; + $33 = ($32|0)>=(0); + if ($33) { + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 44|0); + $36 = HEAP32[$35>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 32|0); + $41 = HEAP16[$40>>1]|0; + $42 = $41 << 16 >> 16; + $43 = (($38) + ($42<<4)|0); + $44 = ((($43)) + 12|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = ($46|0)==(0); + $49 = $47; + } else { + $49 = 0; + } + } + $48 = $49&1; + HEAP32[$1>>2] = $48; + $50 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($50|0); + break; } - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$2>>2]|0; - (_sqlite3VdbeLoadString($5,1,$6)|0); - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - _setOneColumnName($7,$8); - $9 = HEAP32[$0>>2]|0; - (_sqlite3VdbeAddOp2($9,87,1,1)|0); - STACKTOP = sp;return; -} -function _setOneColumnName($v,$z) { - $v = $v|0; - $z = $z|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $z; - $2 = HEAP32[$0>>2]|0; - _setAllColumnNames($2,1,$1); - STACKTOP = sp;return; + default: { + HEAP32[$1>>2] = 1; + $50 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($50|0); + } + } + return (0)|0; } -function _returnSingleInt($v,$zLabel,$0,$1) { - $v = $v|0; - $zLabel = $zLabel|0; +function _sqlite3VectorFieldSubexpr($0,$1) { $0 = $0|0; $1 = $1|0; - var $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; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; + $2 = sp + 8|0; + $3 = sp + 4|0; $4 = sp; - HEAP32[$2>>2] = $v; - HEAP32[$3>>2] = $zLabel; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp4Dup8($9,77,0,1,0,$4,-13)|0); - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - _setOneColumnName($10,$11); - $12 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($12,87,1,1)|0); - STACKTOP = sp;return; -} -function _sqlite3VdbeSetNumCols($p,$nResColumn) { - $p = $p|0; - $nResColumn = $nResColumn|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0; - var $pColName = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pColName = sp + 8|0; - $n = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $nResColumn; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 100|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 140|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = $10<<1; - _releaseMemArray($6,$11); - $12 = HEAP32[$db>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 100|0); - $15 = HEAP32[$14>>2]|0; - _sqlite3DbFree($12,$15); - $16 = HEAP32[$1>>2]|0; - $17 = $16<<1; - HEAP32[$n>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = $18&65535; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 140|0); - HEAP16[$21>>1] = $19; - $22 = HEAP32[$db>>2]|0; - $23 = HEAP32[$n>>2]|0; - $24 = ($23*40)|0; - $25 = (_sqlite3DbMallocRawNN($22,$24,0)|0); - HEAP32[$pColName>>2] = $25; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 100|0); - HEAP32[$27>>2] = $25; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 100|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==(0|0); - if ($31) { - STACKTOP = sp;return; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = (_sqlite3ExprIsVector($5)|0); + $7 = ($6|0)!=(0); + $8 = HEAP32[$3>>2]|0; + if (!($7)) { + HEAP32[$2>>2] = $8; + $34 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($34|0); } - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 100|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$n>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$36>>2]|0; - _initMemArray($34,$35,$37,1); - STACKTOP = sp;return; -} -function _sqlite3VdbeSetColName($p,$idx,$var,$zName,$xDel) { - $p = $p|0; - $idx = $idx|0; - $var = $var|0; - $zName = $zName|0; - $xDel = $xDel|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pColName = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $rc = sp + 4|0; - $pColName = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $idx; - HEAP32[$3>>2] = $var; - HEAP32[$4>>2] = $zName; - HEAP32[$5>>2] = $xDel; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 69|0); $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)!=(0); - if ($10) { - HEAP32[$0>>2] = 7; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); - } else { - $11 = HEAP32[$2>>2]|0; + $10 = $9&255; + $11 = ($10|0)==(119); + if (!($11)) { $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 140|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = Math_imul($12, $16)|0; - $18 = (($11) + ($17))|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 100|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + (($18*40)|0)|0); - HEAP32[$pColName>>2] = $22; - $23 = HEAP32[$pColName>>2]|0; - $24 = HEAP32[$4>>2]|0; - $25 = HEAP32[$5>>2]|0; - $26 = (_sqlite3VdbeMemSetStr($23,$24,-1,1,$25)|0); - HEAP32[$rc>>2] = $26; - $27 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $27; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $13 = ((($12)) + 38|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==(119); + if (!($16)) { + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = (($30) + (($31*20)|0)|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$2>>2] = $33; + $34 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($34|0); + } } - return (0)|0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = (($22) + (($23*20)|0)|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$2>>2] = $25; + $34 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($34|0); } -function _getLockingMode($z) { - $z = $z|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; +function _isCandidateForInOpt($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $z; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); + STACKTOP = STACKTOP + 32|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 2048; + $13 = ($12|0)!=(0); do { - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3StrICmp($4,32192)|0); - $6 = (0)==($5|0); - if ($6) { - HEAP32[$0>>2] = 1; + if ($13) { + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = $16 & 32; + $18 = ($17|0)!=(0); + if ($18) { + HEAP32[$1>>2] = 0; break; } - $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3StrICmp($7,32185)|0); - $9 = (0)==($8|0); - if ($9) { - HEAP32[$0>>2] = 0; - } else { - label = 6; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 20|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$3>>2] = $21; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 48|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)!=(0|0); + if ($25) { + HEAP32[$1>>2] = 0; + break; + } + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = $28 & 9; + $30 = ($29|0)!=(0); + if ($30) { + HEAP32[$1>>2] = 0; + break; + } + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 56|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + HEAP32[$1>>2] = 0; + break; + } + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 32|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)!=(0|0); + if ($38) { + HEAP32[$1>>2] = 0; + break; + } + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 28|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$4>>2] = $41; + $42 = HEAP32[$4>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)!=(1); + if ($44) { + HEAP32[$1>>2] = 0; + break; + } + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 8|0); + $47 = ((($46)) + 20|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)!=(0|0); + if ($49) { + HEAP32[$1>>2] = 0; + break; + } + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 8|0); + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + HEAP32[$6>>2] = $53; + $54 = HEAP32[$6>>2]|0; + $55 = ((($54)) + 42|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $57 & 16; + $59 = ($58|0)!=(0); + if ($59) { + HEAP32[$1>>2] = 0; + break; + } + $60 = HEAP32[$3>>2]|0; + $61 = HEAP32[$60>>2]|0; + HEAP32[$5>>2] = $61; + HEAP32[$7>>2] = 0; + while(1) { + $62 = HEAP32[$7>>2]|0; + $63 = HEAP32[$5>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = ($62|0)<($64|0); + if (!($65)) { + label = 24; + break; + } + $66 = HEAP32[$5>>2]|0; + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$7>>2]|0; + $70 = (($68) + (($69*20)|0)|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$8>>2] = $71; + $72 = HEAP32[$8>>2]|0; + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = ($74|0)!=(152); + if ($75) { + label = 22; + break; + } + $76 = HEAP32[$7>>2]|0; + $77 = (($76) + 1)|0; + HEAP32[$7>>2] = $77; + } + if ((label|0) == 22) { + HEAP32[$1>>2] = 0; + break; + } + else if ((label|0) == 24) { + $78 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $78; + break; } } else { - label = 6; + HEAP32[$1>>2] = 0; } } while(0); - if ((label|0) == 6) { - HEAP32[$0>>2] = -1; - } - $10 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($10|0); -} -function _sqlite3JournalModename($eMode) { - $eMode = $eMode|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $eMode; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(6); - if ($3) { - HEAP32[$0>>2] = 0; - } else { - $4 = HEAP32[$1>>2]|0; - $5 = (5420 + ($4<<2)|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$0>>2] = $6; - } - $7 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($7|0); + $79 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($79|0); } -function _sqlite3PagerJournalSizeLimit($pPager,$0,$1) { - $pPager = $pPager|0; +function _sqlite3CompareAffinity($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp + 8|0; + $2 = sp + 6|0; $3 = sp; - HEAP32[$2>>2] = $pPager; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = $3; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(-1); - $15 = ($10>>>0)>=(4294967295); - $16 = ($13|0)==(-1); - $17 = $16 & $15; - $18 = $14 | $17; - if ($18) { - $19 = $3; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 168|0); - $27 = $26; - $28 = $27; - HEAP32[$28>>2] = $21; - $29 = (($27) + 4)|0; - $30 = $29; - HEAP32[$30>>2] = $24; - $31 = HEAP32[$2>>2]|0; - $32 = ((($31)) + 216|0); - $33 = HEAP32[$32>>2]|0; - $34 = $3; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - _sqlite3WalLimit($33,$36,$39); + $4 = sp + 5|0; + $5 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = (_sqlite3ExprAffinity($6)|0); + HEAP8[$5>>0] = $7; + $8 = HEAP8[$5>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)!=(0); + if ($10) { + $11 = HEAP8[$4>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP8[$5>>0]|0; + $15 = $14 << 24 >> 24; + $16 = ($15|0)>=(67); + if (!($16)) { + $17 = HEAP8[$4>>0]|0; + $18 = $17 << 24 >> 24; + $19 = ($18|0)>=(67); + if (!($19)) { + HEAP8[$2>>0] = 65; + $30 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($30|0); + } + } + HEAP8[$2>>0] = 67; + $30 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($30|0); + } } - $40 = HEAP32[$2>>2]|0; - $41 = ((($40)) + 168|0); - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - tempRet0 = ($47); - STACKTOP = sp;return ($44|0); + $20 = HEAP8[$5>>0]|0; + $21 = ($20<<24>>24)!=(0); + $22 = HEAP8[$4>>0]|0; + $23 = ($22<<24>>24)!=(0); + $or$cond = $21 | $23; + if ($or$cond) { + $24 = HEAP8[$5>>0]|0; + $25 = $24 << 24 >> 24; + $26 = HEAP8[$4>>0]|0; + $27 = $26 << 24 >> 24; + $28 = (($25) + ($27))|0; + $29 = $28&255; + HEAP8[$2>>0] = $29; + $30 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($30|0); + } else { + HEAP8[$2>>0] = 65; + $30 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($30|0); + } + return (0)|0; } -function _sqlite3BtreeGetAutoVacuum($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0; - var sp = 0; +function _sqlite3BinaryCompareCollSeq($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($1); - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 17|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if (!($7)) { - $16 = 0; - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($17|0); + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 256; + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = (_sqlite3ExprCollSeq($12,$13)|0); + HEAP32[$6>>2] = $14; + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 18|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)!=(0); - $14 = $13 ^ 1; - $15 = $14 ? 1 : 2; - $16 = $15; - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($17|0); + $15 = HEAP32[$5>>2]|0; + $16 = ($15|0)!=(0|0); + if ($16) { + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19 & 256; + $21 = ($20|0)!=(0); + if ($21) { + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = (_sqlite3ExprCollSeq($22,$23)|0); + HEAP32[$6>>2] = $24; + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); + } + } + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = (_sqlite3ExprCollSeq($25,$26)|0); + HEAP32[$6>>2] = $27; + $28 = HEAP32[$6>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); + } + $30 = HEAP32[$3>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = (_sqlite3ExprCollSeq($30,$31)|0); + HEAP32[$6>>2] = $32; + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); } -function _getAutoVacuum($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $i = 0, $or$cond = 0, label = 0, sp = 0; +function _sqlite3SetHasNullFlag($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $z; - $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3StrICmp($2,33263)|0); - $4 = (0)==($3|0); - do { - if ($4) { - HEAP32[$0>>2] = 0; - } else { - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3StrICmp($5,32707)|0); - $7 = (0)==($6|0); - if ($7) { - HEAP32[$0>>2] = 1; - break; - } - $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3StrICmp($8,33268)|0); - $10 = (0)==($9|0); - if ($10) { - HEAP32[$0>>2] = 2; - break; - } else { - $11 = HEAP32[$1>>2]|0; - $12 = (_sqlite3Atoi($11)|0); - HEAP32[$i>>2] = $12; - $13 = HEAP32[$i>>2]|0; - $14 = ($13|0)>=(0); - $15 = HEAP32[$i>>2]|0; - $16 = ($15|0)<=(2); - $or$cond = $14 & $16; - $17 = HEAP32[$i>>2]|0; - $18 = $or$cond ? $17 : 0; - $19 = $18&255; - $20 = $19&255; - HEAP32[$0>>2] = $20; - break; - } - } - } while(0); - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp2($7,76,0,$8)|0); + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = (_sqlite3VdbeAddOp1($9,57,$10)|0); + HEAP32[$6>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp3($12,96,$13,0,$14)|0); + $15 = HEAP32[$3>>2]|0; + _sqlite3VdbeChangeP5($15,-128); + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$6>>2]|0; + _sqlite3VdbeJumpHere($16,$17); + STACKTOP = sp;return; } -function _sqlite3BtreeSetAutoVacuum($p,$autoVacuum) { - $p = $p|0; - $autoVacuum = $autoVacuum|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $av = 0, $pBt = 0; - var $rc = 0, label = 0, sp = 0; +function _sqlite3InRhsIsConstant($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; - $pBt = sp + 4|0; - $rc = sp; - $av = sp + 16|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $autoVacuum; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pBt>>2] = $4; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = $5&255; - HEAP8[$av>>0] = $6; - $7 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($7); - $8 = HEAP32[$pBt>>2]|0; - $9 = ((($8)) + 22|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11 & 2; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP8[$av>>0]|0; - $15 = $14&255; - $16 = ($15|0)!=(0); - $17 = $16 ? 1 : 0; - $18 = HEAP32[$pBt>>2]|0; - $19 = ((($18)) + 17|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = ($17|0)!=($21|0); - if ($22) { - HEAP32[$rc>>2] = 8; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); - } - } - $23 = HEAP8[$av>>0]|0; - $24 = $23&255; - $25 = ($24|0)!=(0); - $26 = $25 ? 1 : 0; - $27 = $26&255; - $28 = HEAP32[$pBt>>2]|0; - $29 = ((($28)) + 17|0); - HEAP8[$29>>0] = $27; - $30 = HEAP8[$av>>0]|0; - $31 = $30&255; - $32 = ($31|0)==(2); - $33 = $32 ? 1 : 0; - $34 = $33&255; - $35 = HEAP32[$pBt>>2]|0; - $36 = ((($35)) + 18|0); - HEAP8[$36>>0] = $34; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 12|0); + HEAP32[$8>>2] = 0; + $9 = HEAP32[$1>>2]|0; + $10 = (_sqlite3ExprIsConstant($9)|0); + HEAP32[$3>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 12|0); + HEAP32[$13>>2] = $11; + $14 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($14|0); } -function _sqlite3BtreeSetSpillSize($p,$mxPage) { - $p = $p|0; - $mxPage = $mxPage|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $res = 0, label = 0, sp = 0; +function _sqlite3SelectDestInit($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pBt = sp + 4|0; - $res = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $mxPage; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pBt>>2] = $4; - $5 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($5); - $6 = HEAP32[$pBt>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3PagerSetSpillsize($7,$8)|0); - HEAP32[$res>>2] = $9; - $10 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($10|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = $6&255; + $8 = HEAP32[$3>>2]|0; + HEAP8[$8>>0] = $7; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 8|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 4|0); + HEAP32[$13>>2] = 0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 12|0); + HEAP32[$15>>2] = 0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 16|0); + HEAP32[$17>>2] = 0; + STACKTOP = sp;return; } -function _setAllPagerFlags($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $pDb = 0, label = 0, sp = 0; +function _sqlite3ExprCodeAtInit($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, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pDb = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 67|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if (!($4)) { + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 20|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP8[$7>>0] = $3; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 80|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$8>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = (_sqlite3ExprDup($14,$15,0)|0); + HEAP32[$5>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$8>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = (_sqlite3ExprListAppend($17,$18,$19)|0); + HEAP32[$8>>2] = $20; + $21 = HEAP32[$8>>2]|0; + $22 = ($21|0)!=(0|0); + if (!($22)) { + $43 = HEAP32[$8>>2]|0; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 80|0); + HEAP32[$45>>2] = $43; STACKTOP = sp;return; } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pDb>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 20|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$n>>2] = $10; - while(1) { - $11 = HEAP32[$n>>2]|0; - $12 = (($11) + -1)|0; - HEAP32[$n>>2] = $12; - $13 = ($11|0)>(0); - if (!($13)) { - break; - } - $14 = HEAP32[$pDb>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$pDb>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$pDb>>2]|0; - $22 = ((($21)) + 8|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 24|0); - $27 = HEAP32[$26>>2]|0; - $28 = $27 & 56; - $29 = $24 | $28; - (_sqlite3BtreeSetPagerFlags($20,$29)|0); - } - $30 = HEAP32[$pDb>>2]|0; - $31 = ((($30)) + 16|0); - HEAP32[$pDb>>2] = $31; - } + $23 = HEAP32[$8>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$8>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - 1)|0; + $29 = (($25) + (($28*20)|0)|0); + HEAP32[$9>>2] = $29; + $30 = HEAP32[$6>>2]|0; + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 16|0); + HEAP32[$32>>2] = $30; + $33 = HEAP8[$7>>0]|0; + $34 = $33&255; + $35 = HEAP32[$9>>2]|0; + $36 = ((($35)) + 13|0); + $37 = $34&255; + $38 = HEAP8[$36>>0]|0; + $39 = $37 & 1; + $40 = ($39 << 2)&255; + $41 = $38 & -5; + $42 = $41 | $40; + HEAP8[$36>>0] = $42; + $43 = HEAP32[$8>>2]|0; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 80|0); + HEAP32[$45>>2] = $43; STACKTOP = sp;return; } -function _changeTempStorage($pParse,$zStorageType) { - $pParse = $pParse|0; - $zStorageType = $zStorageType|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $db = 0, $ts = 0, label = 0, sp = 0; +function _exprIsConst($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $ts = sp + 4|0; - $db = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $zStorageType; - $3 = HEAP32[$2>>2]|0; - $4 = (_getTempStore($3)|0); - HEAP32[$ts>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 68|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = HEAP32[$ts>>2]|0; - $12 = ($10|0)==($11|0); - if ($12) { - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } - $13 = HEAP32[$1>>2]|0; - $14 = (_invalidateTempStorage($13)|0); - $15 = ($14|0)!=(0); - if ($15) { - HEAP32[$0>>2] = 1; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } else { - $16 = HEAP32[$ts>>2]|0; - $17 = $16&255; - $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 68|0); - HEAP8[$19>>0] = $17; - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } - return (0)|0; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;HEAP32[$6+20>>2]=0|0;HEAP32[$6+24>>2]=0|0; + $7 = HEAP32[$4>>2]|0; + $8 = $7&255; + $9 = ((($6)) + 20|0); + HEAP8[$9>>0] = $8; + $10 = ((($6)) + 4|0); + HEAP32[$10>>2] = 204; + $11 = ((($6)) + 8|0); + HEAP32[$11>>2] = 205; + $12 = HEAP32[$5>>2]|0; + $13 = ((($6)) + 24|0); + HEAP32[$13>>2] = $12; + $14 = HEAP32[$3>>2]|0; + (_sqlite3WalkExpr($6,$14)|0); + $15 = ((($6)) + 20|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + STACKTOP = sp;return ($17|0); } -function _invalidateTempStorage($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, $vararg_buffer = 0, label = 0; - var sp = 0; +function _exprNodeIsConstant($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - $db = sp + 4|0; - HEAP32[$1>>2] = $pParse; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 16|0); - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - do { - if ($10) { - $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 67|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)!=(0); - if ($14) { - $15 = HEAP32[$db>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($17)) + 16|0); - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3BtreeIsInReadTrans($20)|0); - $22 = ($21|0)!=(0); - if (!($22)) { - $24 = HEAP32[$db>>2]|0; - $25 = ((($24)) + 16|0); - $26 = HEAP32[$25>>2]|0; - $27 = ((($26)) + 16|0); - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - (_sqlite3BtreeClose($29)|0); - $30 = HEAP32[$db>>2]|0; - $31 = ((($30)) + 16|0); - $32 = HEAP32[$31>>2]|0; - $33 = ((($32)) + 16|0); - $34 = ((($33)) + 4|0); - HEAP32[$34>>2] = 0; - $35 = HEAP32[$db>>2]|0; - _sqlite3ResetAllSchemasOfConnection($35); + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(2); + if ($9) { + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = $12 & 1; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 20|0); + HEAP8[$16>>0] = 0; + HEAP32[$2>>2] = 2; + } else { + label = 4; + } + } else { + label = 4; + } + L4: do { + if ((label|0) == 4) { + $17 = HEAP32[$4>>2]|0; + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + L6: do { + switch ($19|0) { + case 151: { + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)>=(4); + if (!($24)) { + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = $27 & 524288; + $29 = ($28|0)!=(0); + if (!($29)) { + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 20|0); + HEAP8[$31>>0] = 0; + HEAP32[$2>>2] = 2; + break L4; + } + } + HEAP32[$2>>2] = 0; + break L4; break; } - } - $23 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($23,33201,$vararg_buffer); - HEAP32[$0>>2] = 1; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); + case 154: case 153: case 152: case 55: { + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 20|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = ($35|0)==(3); + if ($36) { + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 28|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($39|0)==($42|0); + if ($43) { + HEAP32[$2>>2] = 0; + break L4; + } + } + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 20|0); + HEAP8[$45>>0] = 0; + HEAP32[$2>>2] = 2; + break L4; + break; + } + case 135: { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 20|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = ($49|0)==(5); + if ($50) { + $51 = HEAP32[$4>>2]|0; + HEAP8[$51>>0] = 101; + break L6; + } + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 20|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = ($55|0)==(4); + if ($56) { + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 20|0); + HEAP8[$58>>0] = 0; + HEAP32[$2>>2] = 2; + break L4; + } + break; + } + default: { + } + } + } while(0); + HEAP32[$2>>2] = 0; } } while(0); - HEAP32[$0>>2] = 0; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); + $59 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($59|0); } -function _setAllColumnNames($v,$N,$azCol) { - $v = $v|0; - $N = $N|0; - $azCol = $azCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; +function _selectNodeIsConstant($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; $2 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $N; - HEAP32[$2>>2] = $azCol; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - _sqlite3VdbeSetNumCols($3,$4); - HEAP32[$i>>2] = 0; - while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ($5|0)<($6|0); - if (!($7)) { - break; - } - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) + ($10<<2)|0); - $13 = HEAP32[$12>>2]|0; - (_sqlite3VdbeSetColName($8,$9,0,$13,0)|0); - $14 = HEAP32[$i>>2]|0; - $15 = (($14) + 1)|0; - HEAP32[$i>>2] = $15; - } - STACKTOP = sp;return; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 20|0); + HEAP8[$5>>0] = 0; + STACKTOP = sp;return 2; } -function _sqlite3VdbeMultiLoad($p,$iDest,$zTypes,$varargs) { - $p = $p|0; - $iDest = $iDest|0; - $zTypes = $zTypes|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $arglist_current = 0; - var $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $c = 0, $expanded = 0, $expanded10 = 0, $expanded12 = 0, $expanded13 = 0, $expanded14 = 0, $expanded3 = 0, $expanded5 = 0, $expanded6 = 0, $expanded7 = 0, $expanded9 = 0, $i = 0, $z = 0, label = 0, sp = 0; +function _binaryCompareP5($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $ap = sp + 8|0; - $i = sp + 4|0; - $c = sp + 36|0; - $z = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iDest; - HEAP32[$2>>2] = $zTypes; - HEAP32[$ap>>2] = $varargs; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = (($4) + ($3)|0); - $6 = HEAP8[$5>>0]|0; - HEAP8[$c>>0] = $6; - $7 = $6 << 24 >> 24; - $8 = ($7|0)!=(0); - if (!($8)) { - break; - } - $9 = HEAP8[$c>>0]|0; - $10 = $9 << 24 >> 24; - $11 = ($10|0)==(115); - if ($11) { - $arglist_current = HEAP32[$ap>>2]|0; - $12 = $arglist_current; - $13 = ((0) + 4|0); - $expanded3 = $13; - $expanded = (($expanded3) - 1)|0; - $14 = (($12) + ($expanded))|0; - $15 = ((0) + 4|0); - $expanded7 = $15; - $expanded6 = (($expanded7) - 1)|0; - $expanded5 = $expanded6 ^ -1; - $16 = $14 & $expanded5; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $arglist_next = ((($17)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - HEAP32[$z>>2] = $18; - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$z>>2]|0; - $21 = ($20|0)==(0|0); - $22 = $21 ? 79 : 97; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$1>>2] = $24; - $25 = HEAP32[$z>>2]|0; - (_sqlite3VdbeAddOp4($19,$22,0,$23,0,$25,0)|0); - } else { - $26 = HEAP32[$0>>2]|0; - $arglist_current2 = HEAP32[$ap>>2]|0; - $27 = $arglist_current2; - $28 = ((0) + 4|0); - $expanded10 = $28; - $expanded9 = (($expanded10) - 1)|0; - $29 = (($27) + ($expanded9))|0; - $30 = ((0) + 4|0); - $expanded14 = $30; - $expanded13 = (($expanded14) - 1)|0; - $expanded12 = $expanded13 ^ -1; - $31 = $29 & $expanded12; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $arglist_next3 = ((($32)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$1>>2] = $35; - (_sqlite3VdbeAddOp2($26,76,$33,$34)|0); - } - $36 = HEAP32[$i>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$i>>2] = $37; - } - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + $6 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = (_sqlite3ExprAffinity($7)|0); + HEAP8[$6>>0] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP8[$6>>0]|0; + $11 = (_sqlite3CompareAffinity($9,$10)|0); + $12 = $11&255; + $13 = HEAP32[$5>>2]|0; + $14 = $13&255; + $15 = $14&255; + $16 = $12 | $15; + $17 = $16&255; + HEAP8[$6>>0] = $17; + $18 = HEAP8[$6>>0]|0; + STACKTOP = sp;return ($18|0); } -function _actionName($action) { - $action = $action|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $zName = 0, label = 0, sp = 0; +function _sqlite3ExprIsConstantNotJoin($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $zName = sp; - HEAP8[$0>>0] = $action; - $1 = HEAP8[$0>>0]|0; - $2 = $1&255; - switch ($2|0) { - case 7: { - HEAP32[$zName>>2] = 33011; - break; - } - case 8: { - HEAP32[$zName>>2] = 33020; - break; - } - case 9: { - HEAP32[$zName>>2] = 33032; - break; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_exprIsConst($2,2,0)|0); + STACKTOP = sp;return ($3|0); +} +function _exprCodeSubselect($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$3>>2]|0; + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($7|0)==(119); + if (!($8)) { + $12 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($12|0); } - case 6: { - HEAP32[$zName>>2] = 33040; - break; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = (_sqlite3CodeSubselect($9,$10,0,0)|0); + HEAP32[$4>>2] = $11; + $12 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($12|0); +} +function _exprVectorRegister($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + $13 = sp + 28|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $14 = HEAP32[$8>>2]|0; + $15 = HEAP8[$14>>0]|0; + HEAP8[$13>>0] = $15; + $16 = HEAP8[$13>>0]|0; + $17 = $16&255; + $18 = ($17|0)==(157); + if ($18) { + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$9>>2]|0; + $21 = (_sqlite3VectorFieldSubexpr($19,$20)|0); + $22 = HEAP32[$11>>2]|0; + HEAP32[$22>>2] = $21; + $23 = HEAP32[$8>>2]|0; + $24 = ((($23)) + 28|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$9>>2]|0; + $27 = (($25) + ($26))|0; + HEAP32[$6>>2] = $27; + $56 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($56|0); } - default: { - HEAP32[$zName>>2] = 33049; + $28 = HEAP8[$13>>0]|0; + $29 = $28&255; + $30 = ($29|0)==(119); + $31 = HEAP32[$8>>2]|0; + $32 = ((($31)) + 20|0); + if ($30) { + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$9>>2]|0; + $38 = (($36) + (($37*20)|0)|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$11>>2]|0; + HEAP32[$40>>2] = $39; + $41 = HEAP32[$10>>2]|0; + $42 = HEAP32[$9>>2]|0; + $43 = (($41) + ($42))|0; + HEAP32[$6>>2] = $43; + $56 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($56|0); + } else { + $44 = HEAP32[$32>>2]|0; + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$9>>2]|0; + $48 = (($46) + (($47*20)|0)|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$11>>2]|0; + HEAP32[$50>>2] = $49; + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$11>>2]|0; + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$12>>2]|0; + $55 = (_sqlite3ExprCodeTemp($51,$53,$54)|0); + HEAP32[$6>>2] = $55; + $56 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($56|0); } + return (0)|0; +} +function _sqlite3VdbeAddOp4Dup8($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $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 $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + $15 = HEAP32[$7>>2]|0; + $16 = (_sqlite3VdbeDb($15)|0); + $17 = (_sqlite3DbMallocRawNN($16,8,0)|0); + HEAP32[$14>>2] = $17; + $18 = HEAP32[$14>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$14>>2]|0; + $21 = HEAP32[$12>>2]|0; + ;HEAP8[$20>>0]=HEAP8[$21>>0]|0;HEAP8[$20+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$20+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$20+3>>0]=HEAP8[$21+3>>0]|0;HEAP8[$20+4>>0]=HEAP8[$21+4>>0]|0;HEAP8[$20+5>>0]=HEAP8[$21+5>>0]|0;HEAP8[$20+6>>0]=HEAP8[$21+6>>0]|0;HEAP8[$20+7>>0]=HEAP8[$21+7>>0]|0; } - $3 = HEAP32[$zName>>2]|0; - STACKTOP = sp;return ($3|0); + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[$9>>2]|0; + $25 = HEAP32[$10>>2]|0; + $26 = HEAP32[$11>>2]|0; + $27 = HEAP32[$14>>2]|0; + $28 = HEAP32[$13>>2]|0; + $29 = (_sqlite3VdbeAddOp4($22,$23,$24,$25,$26,$27,$28)|0); + STACKTOP = sp;return ($29|0); } -function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { - $pParse = $pParse|0; - $pParent = $pParent|0; - $pFKey = $pFKey|0; - $ppIdx = $ppIdx|0; - $paiCol = $paiCol|0; - var $$ = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $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, $aiCol = 0, $i = 0, $i1 = 0; - var $iCol = 0, $j = 0, $nCol = 0, $pIdx = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $zDfltColl = 0, $zIdxCol = 0, $zKey = 0, label = 0, sp = 0; +function _sqlite3DecOrHexToI64($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer = sp; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $4 = sp + 48|0; - $5 = sp + 44|0; - $pIdx = sp + 40|0; - $aiCol = sp + 36|0; - $nCol = sp + 32|0; - $zKey = sp + 28|0; - $i = sp + 24|0; - $i1 = sp + 20|0; - $j = sp + 16|0; - $iCol = sp + 68|0; - $zDfltColl = sp + 12|0; - $zIdxCol = sp + 8|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pParent; - HEAP32[$3>>2] = $pFKey; - HEAP32[$4>>2] = $ppIdx; - HEAP32[$5>>2] = $paiCol; - HEAP32[$pIdx>>2] = 0; - HEAP32[$aiCol>>2] = 0; - $6 = HEAP32[$3>>2]|0; - $7 = ((($6)) + 20|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$nCol>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = ((($9)) + 36|0); - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$zKey>>2] = $12; - $13 = HEAP32[$nCol>>2]|0; - $14 = ($13|0)==(1); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp; + $6 = sp + 12|0; + $7 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9 << 24 >> 24; + $11 = ($10|0)==(48); do { - if ($14) { - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 32|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17 << 16 >> 16; - $19 = ($18|0)>=(0); - if ($19) { - $20 = HEAP32[$zKey>>2]|0; - $21 = ($20|0)!=(0|0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 << 24 >> 24; + $16 = ($15|0)==(120); + if (!($16)) { + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19 << 24 >> 24; + $21 = ($20|0)==(88); if (!($21)) { - HEAP32[$0>>2] = 0; - $175 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($175|0); - } - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 32|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24 << 16 >> 16; - $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + ($25<<4)|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$zKey>>2]|0; - $32 = (_sqlite3StrICmp($30,$31)|0); - $33 = ($32|0)!=(0); - if (!($33)) { - HEAP32[$0>>2] = 0; - $175 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($175|0); + break; } } - } else { - $34 = HEAP32[$5>>2]|0; - $35 = ($34|0)!=(0|0); - if ($35) { - $36 = HEAP32[$1>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$nCol>>2]|0; - $39 = $38<<2; - $40 = (_sqlite3DbMallocRawNN($37,$39,0)|0); - HEAP32[$aiCol>>2] = $40; - $41 = HEAP32[$aiCol>>2]|0; - $42 = ($41|0)!=(0|0); - if ($42) { - $43 = HEAP32[$aiCol>>2]|0; - $44 = HEAP32[$5>>2]|0; - HEAP32[$44>>2] = $43; + $22 = $5; + $23 = $22; + HEAP32[$23>>2] = 0; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = 0; + HEAP32[$6>>2] = 2; + while(1) { + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = (($26) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($30|0)==(48); + $32 = HEAP32[$6>>2]|0; + if (!($31)) { break; } - HEAP32[$0>>2] = 1; - $175 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($175|0); + $33 = (($32) + 1)|0; + HEAP32[$6>>2] = $33; } - } - } while(0); - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 8|0); - $47 = HEAP32[$46>>2]|0; - HEAP32[$pIdx>>2] = $47; - L17: while(1) { - $48 = HEAP32[$pIdx>>2]|0; - $49 = ($48|0)!=(0|0); - if (!($49)) { - break; - } - $50 = HEAP32[$pIdx>>2]|0; - $51 = ((($50)) + 50|0); - $52 = HEAP16[$51>>1]|0; - $53 = $52&65535; - $54 = HEAP32[$nCol>>2]|0; - $55 = ($53|0)==($54|0); - do { - if ($55) { - $56 = HEAP32[$pIdx>>2]|0; - $57 = ((($56)) + 54|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = ($59|0)!=(0); - if ($60) { - $61 = HEAP32[$zKey>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$pIdx>>2]|0; - $64 = ((($63)) + 55|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65 & 3; - $67 = $66&255; - $68 = ($67|0)==(2); - if ($68) { - label = 17; - break L17; - } else { - break; - } - } - HEAP32[$i1>>2] = 0; - while(1) { - $84 = HEAP32[$i1>>2]|0; - $85 = HEAP32[$nCol>>2]|0; - $86 = ($84|0)<($85|0); - if (!($86)) { - break; - } - $87 = HEAP32[$i1>>2]|0; - $88 = HEAP32[$pIdx>>2]|0; - $89 = ((($88)) + 4|0); - $90 = HEAP32[$89>>2]|0; - $91 = (($90) + ($87<<1)|0); - $92 = HEAP16[$91>>1]|0; - HEAP16[$iCol>>1] = $92; - $93 = HEAP16[$iCol>>1]|0; - $94 = $93 << 16 >> 16; - $95 = ($94|0)<(0); - if ($95) { - break; - } - $96 = HEAP16[$iCol>>1]|0; - $97 = $96 << 16 >> 16; - $98 = HEAP32[$2>>2]|0; - $99 = ((($98)) + 4|0); - $100 = HEAP32[$99>>2]|0; - $101 = (($100) + ($97<<4)|0); - $102 = ((($101)) + 8|0); - $103 = HEAP32[$102>>2]|0; - HEAP32[$zDfltColl>>2] = $103; - $104 = HEAP32[$zDfltColl>>2]|0; - $105 = ($104|0)!=(0|0); - $$ = $105 ? $103 : 34834; - HEAP32[$zDfltColl>>2] = $$; - $106 = HEAP32[$i1>>2]|0; - $107 = HEAP32[$pIdx>>2]|0; - $108 = ((($107)) + 32|0); - $109 = HEAP32[$108>>2]|0; - $110 = (($109) + ($106<<2)|0); - $111 = HEAP32[$110>>2]|0; - $112 = HEAP32[$zDfltColl>>2]|0; - $113 = (_sqlite3StrICmp($111,$112)|0); - $114 = ($113|0)!=(0); - if ($114) { - break; - } - $115 = HEAP16[$iCol>>1]|0; - $116 = $115 << 16 >> 16; - $117 = HEAP32[$2>>2]|0; - $118 = ((($117)) + 4|0); - $119 = HEAP32[$118>>2]|0; - $120 = (($119) + ($116<<4)|0); - $121 = HEAP32[$120>>2]|0; - HEAP32[$zIdxCol>>2] = $121; - HEAP32[$j>>2] = 0; - while(1) { - $122 = HEAP32[$j>>2]|0; - $123 = HEAP32[$nCol>>2]|0; - $124 = ($122|0)<($123|0); - if (!($124)) { - break; - } - $125 = HEAP32[$j>>2]|0; - $126 = HEAP32[$3>>2]|0; - $127 = ((($126)) + 36|0); - $128 = (($127) + ($125<<3)|0); - $129 = ((($128)) + 4|0); - $130 = HEAP32[$129>>2]|0; - $131 = HEAP32[$zIdxCol>>2]|0; - $132 = (_sqlite3StrICmp($130,$131)|0); - $133 = ($132|0)==(0); - if ($133) { - label = 28; - break; - } - $144 = HEAP32[$j>>2]|0; - $145 = (($144) + 1)|0; - HEAP32[$j>>2] = $145; - } - if ((label|0) == 28) { - label = 0; - $134 = HEAP32[$aiCol>>2]|0; - $135 = ($134|0)!=(0|0); - if ($135) { - $136 = HEAP32[$j>>2]|0; - $137 = HEAP32[$3>>2]|0; - $138 = ((($137)) + 36|0); - $139 = (($138) + ($136<<3)|0); - $140 = HEAP32[$139>>2]|0; - $141 = HEAP32[$i1>>2]|0; - $142 = HEAP32[$aiCol>>2]|0; - $143 = (($142) + ($141<<2)|0); - HEAP32[$143>>2] = $140; - } - } - $146 = HEAP32[$j>>2]|0; - $147 = HEAP32[$nCol>>2]|0; - $148 = ($146|0)==($147|0); - if ($148) { - break; - } - $149 = HEAP32[$i1>>2]|0; - $150 = (($149) + 1)|0; - HEAP32[$i1>>2] = $150; - } - $151 = HEAP32[$i1>>2]|0; - $152 = HEAP32[$nCol>>2]|0; - $153 = ($151|0)==($152|0); - if ($153) { - break L17; - } + HEAP32[$7>>2] = $32; + while(1) { + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = (($34) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (20063 + ($38)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $41 & 8; + $43 = ($42|0)!=(0); + if (!($43)) { + break; } + $44 = $5; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (___muldi3(($46|0),($49|0),16,0)|0); + $51 = tempRet0; + $52 = HEAP32[$3>>2]|0; + $53 = HEAP32[$7>>2]|0; + $54 = (($52) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55 << 24 >> 24; + $57 = (_sqlite3HexToInt($56)|0); + $58 = $57&255; + $59 = (_i64Add(($50|0),($51|0),($58|0),0)|0); + $60 = tempRet0; + $61 = $5; + $62 = $61; + HEAP32[$62>>2] = $59; + $63 = (($61) + 4)|0; + $64 = $63; + HEAP32[$64>>2] = $60; + $65 = HEAP32[$7>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$7>>2] = $66; } - } while(0); - $154 = HEAP32[$pIdx>>2]|0; - $155 = ((($154)) + 20|0); - $156 = HEAP32[$155>>2]|0; - HEAP32[$pIdx>>2] = $156; - } - L42: do { - if ((label|0) == 17) { - $69 = HEAP32[$aiCol>>2]|0; - $70 = ($69|0)!=(0|0); - if ($70) { - HEAP32[$i>>2] = 0; - while(1) { - $71 = HEAP32[$i>>2]|0; - $72 = HEAP32[$nCol>>2]|0; - $73 = ($71|0)<($72|0); - if (!($73)) { - break L42; - } - $74 = HEAP32[$i>>2]|0; - $75 = HEAP32[$3>>2]|0; - $76 = ((($75)) + 36|0); - $77 = (($76) + ($74<<3)|0); - $78 = HEAP32[$77>>2]|0; - $79 = HEAP32[$i>>2]|0; - $80 = HEAP32[$aiCol>>2]|0; - $81 = (($80) + ($79<<2)|0); - HEAP32[$81>>2] = $78; - $82 = HEAP32[$i>>2]|0; - $83 = (($82) + 1)|0; - HEAP32[$i>>2] = $83; - } + $67 = HEAP32[$4>>2]|0; + ;HEAP32[$67>>2]=HEAP32[$5>>2]|0;HEAP32[$67+4>>2]=HEAP32[$5+4>>2]|0; + $68 = HEAP32[$3>>2]|0; + $69 = HEAP32[$7>>2]|0; + $70 = (($68) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71 << 24 >> 24; + $73 = ($72|0)==(0); + if ($73) { + $74 = HEAP32[$7>>2]|0; + $75 = HEAP32[$6>>2]|0; + $76 = (($74) - ($75))|0; + $77 = ($76|0)<=(16); + $79 = $77; + } else { + $79 = 0; } + $78 = $79 ? 0 : 1; + HEAP32[$2>>2] = $78; + $85 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($85|0); } } while(0); - $157 = HEAP32[$pIdx>>2]|0; - $158 = ($157|0)!=(0|0); - if ($158) { - $173 = HEAP32[$pIdx>>2]|0; - $174 = HEAP32[$4>>2]|0; - HEAP32[$174>>2] = $173; - HEAP32[$0>>2] = 0; - $175 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($175|0); - } - $159 = HEAP32[$1>>2]|0; - $160 = ((($159)) + 150|0); - $161 = HEAP8[$160>>0]|0; - $162 = ($161<<24>>24)!=(0); - if (!($162)) { - $163 = HEAP32[$1>>2]|0; - $164 = HEAP32[$3>>2]|0; - $165 = HEAP32[$164>>2]|0; - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[$3>>2]|0; - $168 = ((($167)) + 8|0); - $169 = HEAP32[$168>>2]|0; - HEAP32[$vararg_buffer>>2] = $166; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $169; - _sqlite3ErrorMsg($163,32948,$vararg_buffer); + $80 = HEAP32[$3>>2]|0; + $81 = HEAP32[$4>>2]|0; + $82 = HEAP32[$3>>2]|0; + $83 = (_sqlite3Strlen30($82)|0); + $84 = (_sqlite3Atoi64($80,$81,$83,1)|0); + HEAP32[$2>>2] = $84; + $85 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($85|0); +} +function _sqlite3ExprCachePinRegister($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 152|0); + HEAP32[$5>>2] = $7; + while(1) { + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 25|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($8|0)<($12|0); + if (!($13)) { + break; + } + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = ($16|0)==($17|0); + if ($18) { + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 6|0); + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$4>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$4>>2] = $22; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 20|0); + HEAP32[$5>>2] = $24; } - $170 = HEAP32[$1>>2]|0; - $171 = HEAP32[$170>>2]|0; - $172 = HEAP32[$aiCol>>2]|0; - _sqlite3DbFree($171,$172); - HEAP32[$0>>2] = 1; - $175 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($175|0); + STACKTOP = sp;return; } -function _sqlite3IndexAffinityStr($db,$pIdx) { - $db = $db|0; - $pIdx = $pIdx|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $aff = 0, $n = 0, $pTab = 0, $x = 0, label = 0, sp = 0; +function _sqlite3ExprCacheStore($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, $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, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $n = sp + 4|0; - $pTab = sp; - $x = sp + 20|0; - $aff = sp + 22|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pIdx; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$pTab>>2] = $9; - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 52|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = (($13) + 1)|0; - $15 = ($14|0)<(0); - $16 = $15 << 31 >> 31; - $17 = (_sqlite3DbMallocRaw(0,$14,$16)|0); - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 16|0); - HEAP32[$19>>2] = $17; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)!=(0|0); - if (!($23)) { - $24 = HEAP32[$1>>2]|0; - _sqlite3OomFault($24); - HEAP32[$0>>2] = 0; - $83 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($83|0); - } - HEAP32[$n>>2] = 0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 64|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + $17 = $16 & 2; + $18 = ($17|0)!=(0); + if ($18) { + STACKTOP = sp;return; + } + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 25|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)>=(10); + if ($23) { + HEAP32[$9>>2] = 2147483647; + HEAP32[$10>>2] = -1; + HEAP32[$8>>2] = 0; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 152|0); + HEAP32[$11>>2] = $25; while(1) { - $25 = HEAP32[$n>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 52|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $30 = ($25|0)<($29|0); - $31 = HEAP32[$n>>2]|0; - $32 = HEAP32[$2>>2]|0; - if (!($30)) { + $26 = HEAP32[$8>>2]|0; + $27 = ($26|0)<(10); + if (!($27)) { break; } - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($31<<1)|0); - $36 = HEAP16[$35>>1]|0; - HEAP16[$x>>1] = $36; - $37 = HEAP16[$x>>1]|0; - $38 = $37 << 16 >> 16; - $39 = ($38|0)>=(0); - $40 = HEAP16[$x>>1]|0; - $41 = $40 << 16 >> 16; - do { - if ($39) { - $42 = HEAP32[$pTab>>2]|0; - $43 = ((($42)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + ($41<<4)|0); - $46 = ((($45)) + 13|0); - $47 = HEAP8[$46>>0]|0; - $48 = HEAP32[$n>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = ((($49)) + 16|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + ($48)|0); - HEAP8[$52>>0] = $47; - } else { - $53 = ($41|0)==(-1); - $54 = HEAP32[$n>>2]|0; - $55 = HEAP32[$2>>2]|0; - if ($53) { - $56 = ((($55)) + 16|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + ($54)|0); - HEAP8[$58>>0] = 68; - break; - } else { - $59 = ((($55)) + 40|0); - $60 = HEAP32[$59>>2]|0; - $61 = ((($60)) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) + (($54*20)|0)|0); - $64 = HEAP32[$63>>2]|0; - $65 = (_sqlite3ExprAffinity($64)|0); - HEAP8[$aff>>0] = $65; - $66 = HEAP8[$aff>>0]|0; - $67 = $66 << 24 >> 24; - $68 = ($67|0)==(0); - $$ = $68 ? 65 : $65; - HEAP8[$aff>>0] = $$; - $69 = HEAP8[$aff>>0]|0; - $70 = HEAP32[$n>>2]|0; - $71 = HEAP32[$2>>2]|0; - $72 = ((($71)) + 16|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73) + ($70)|0); - HEAP8[$74>>0] = $69; - break; - } - } - } while(0); - $75 = HEAP32[$n>>2]|0; - $76 = (($75) + 1)|0; - HEAP32[$n>>2] = $76; + $28 = HEAP32[$11>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$9>>2]|0; + $32 = ($30|0)<($31|0); + if ($32) { + $33 = HEAP32[$8>>2]|0; + HEAP32[$10>>2] = $33; + $34 = HEAP32[$11>>2]|0; + $35 = ((($34)) + 16|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$9>>2] = $36; + } + $37 = HEAP32[$8>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$8>>2] = $38; + $39 = HEAP32[$11>>2]|0; + $40 = ((($39)) + 20|0); + HEAP32[$11>>2] = $40; } - $77 = ((($32)) + 16|0); - $78 = HEAP32[$77>>2]|0; - $79 = (($78) + ($31)|0); - HEAP8[$79>>0] = 0; - } - $80 = HEAP32[$2>>2]|0; - $81 = ((($80)) + 16|0); - $82 = HEAP32[$81>>2]|0; - HEAP32[$0>>2] = $82; - $83 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($83|0); -} -function _sqlite3RegisterLikeFunctions($db,$caseSensitive) { - $db = $db|0; - $caseSensitive = $caseSensitive|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pInfo = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pInfo = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $caseSensitive; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0); - if ($3) { - HEAP32[$pInfo>>2] = 32856; + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 152|0); + $43 = HEAP32[$10>>2]|0; + $44 = (($42) + (($43*20)|0)|0); + HEAP32[$11>>2] = $44; } else { - HEAP32[$pInfo>>2] = 18398; - } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$pInfo>>2]|0; - (_sqlite3CreateFunc($4,32860,2,1,$5,212,0,0,0)|0); - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$pInfo>>2]|0; - (_sqlite3CreateFunc($6,32860,3,1,$7,212,0,0,0)|0); - $8 = HEAP32[$0>>2]|0; - (_sqlite3CreateFunc($8,32865,2,1,18394,212,0,0,0)|0); - $9 = HEAP32[$0>>2]|0; - _setLikeOptFlag($9,32865,12); - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = ($11|0)!=(0); - $13 = $12 ? 12 : 4; - $14 = $13&255; - _setLikeOptFlag($10,32860,$14); + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 152|0); + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 25|0); + $49 = HEAP8[$48>>0]|0; + $50 = (($49) + 1)<<24>>24; + HEAP8[$48>>0] = $50; + $51 = $49&255; + $52 = (($46) + (($51*20)|0)|0); + HEAP32[$11>>2] = $52; + } + $53 = HEAP32[$4>>2]|0; + $54 = ((($53)) + 64|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$11>>2]|0; + $57 = ((($56)) + 8|0); + HEAP32[$57>>2] = $55; + $58 = HEAP32[$5>>2]|0; + $59 = HEAP32[$11>>2]|0; + HEAP32[$59>>2] = $58; + $60 = HEAP32[$6>>2]|0; + $61 = $60&65535; + $62 = HEAP32[$11>>2]|0; + $63 = ((($62)) + 4|0); + HEAP16[$63>>1] = $61; + $64 = HEAP32[$7>>2]|0; + $65 = HEAP32[$11>>2]|0; + $66 = ((($65)) + 12|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$11>>2]|0; + $68 = ((($67)) + 6|0); + HEAP8[$68>>0] = 0; + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 68|0); + $71 = HEAP32[$70>>2]|0; + $72 = (($71) + 1)|0; + HEAP32[$70>>2] = $72; + $73 = HEAP32[$11>>2]|0; + $74 = ((($73)) + 16|0); + HEAP32[$74>>2] = $71; STACKTOP = sp;return; } -function _sqlite3ExprCacheClear($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0; - var sp = 0; +function _collationMatch($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; while(1) { - $1 = HEAP32[$i>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 25|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($1|0)<($5|0); - if (!($6)) { + $7 = HEAP32[$5>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 52|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10&65535; + $12 = ($7|0)<($11|0); + if (!($12)) { + label = 7; break; } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 152|0); - $10 = (($9) + (($7*20)|0)|0); - $11 = ((($10)) + 6|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 19|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = ($18|0)<(8); - if ($19) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 152|0); - $23 = (($22) + (($20*20)|0)|0); - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 19|0); - $28 = HEAP8[$27>>0]|0; - $29 = (($28) + 1)<<24>>24; - HEAP8[$27>>0] = $29; - $30 = $28&255; - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 352|0); - $33 = (($32) + ($30<<2)|0); - HEAP32[$33>>2] = $25; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = (($15) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$6>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = (($21) + ($22<<1)|0); + $24 = HEAP16[$23>>1]|0; + $25 = $24 << 16 >> 16; + $26 = ($25|0)>=(0); + if ($26) { + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = (_sqlite3StrICmp($27,$28)|0); + $30 = (0)==($29|0); + if ($30) { + label = 5; + break; } } - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$i>>2] = $35; - } - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 25|0); - HEAP8[$37>>0] = 0; - STACKTOP = sp;return; -} -function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$p5,$iBase,$aToOpen,$piDataCur,$piIdxCur) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $op = $op|0; - $p5 = $p5|0; - $iBase = $iBase|0; - $aToOpen = $aToOpen|0; - $piDataCur = $piDataCur|0; - $piIdxCur = $piIdxCur|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $i = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $pIdx = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 56|0; - $5 = sp + 36|0; - $6 = sp + 32|0; - $7 = sp + 28|0; - $8 = sp + 24|0; - $i = sp + 20|0; - $iDb = sp + 16|0; - $iDataCur = sp + 12|0; - $pIdx = sp + 8|0; - $v = sp + 4|0; - $iIdxCur = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTab; - HEAP32[$3>>2] = $op; - HEAP8[$4>>0] = $p5; - HEAP32[$5>>2] = $iBase; - HEAP32[$6>>2] = $aToOpen; - HEAP32[$7>>2] = $piDataCur; - HEAP32[$8>>2] = $piIdxCur; - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 42|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 & 16; - $14 = ($13|0)!=(0); - if ($14) { - HEAP32[$0>>2] = 0; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); + $31 = HEAP32[$5>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$5>>2] = $32; } - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 64|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3SchemaToIndex($16,$19)|0); - HEAP32[$iDb>>2] = $20; - $21 = HEAP32[$1>>2]|0; - $22 = (_sqlite3GetVdbe($21)|0); - HEAP32[$v>>2] = $22; - $23 = HEAP32[$5>>2]|0; - $24 = ($23|0)<(0); - if ($24) { - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 40|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$5>>2] = $27; + if ((label|0) == 5) { + HEAP32[$2>>2] = 1; + $33 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($33|0); } - $28 = HEAP32[$5>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$5>>2] = $29; - HEAP32[$iDataCur>>2] = $28; - $30 = HEAP32[$7>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$iDataCur>>2]|0; - $33 = HEAP32[$7>>2]|0; - HEAP32[$33>>2] = $32; + else if ((label|0) == 7) { + HEAP32[$2>>2] = 0; + $33 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($33|0); } - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 42|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = $37 & 32; - $39 = ($38|0)==(0); + return (0)|0; +} +function _codeAttach($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $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, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $7 = sp + 76|0; + $8 = sp + 72|0; + $9 = sp + 68|0; + $10 = sp + 64|0; + $11 = sp + 60|0; + $12 = sp + 56|0; + $13 = sp + 52|0; + $14 = sp + 48|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + $19 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + $20 = HEAP32[$7>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$17>>2] = $21; + ;HEAP32[$15>>2]=0|0;HEAP32[$15+4>>2]=0|0;HEAP32[$15+8>>2]=0|0;HEAP32[$15+12>>2]=0|0;HEAP32[$15+16>>2]=0|0;HEAP32[$15+20>>2]=0|0;HEAP32[$15+24>>2]=0|0;HEAP32[$15+28>>2]=0|0; + $22 = HEAP32[$7>>2]|0; + HEAP32[$15>>2] = $22; + $23 = HEAP32[$11>>2]|0; + $24 = (_resolveAttachExpr($15,$23)|0); + HEAP32[$14>>2] = $24; + $25 = (0)!=($24|0); do { - if ($39) { - $40 = HEAP32[$6>>2]|0; - $41 = ($40|0)==(0|0); - if (!($41)) { - $42 = HEAP32[$6>>2]|0; - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = ($44|0)!=(0); - if (!($45)) { - label = 11; - break; + if (!($25)) { + $26 = HEAP32[$12>>2]|0; + $27 = (_resolveAttachExpr($15,$26)|0); + HEAP32[$14>>2] = $27; + $28 = (0)!=($27|0); + if (!($28)) { + $29 = HEAP32[$13>>2]|0; + $30 = (_resolveAttachExpr($15,$29)|0); + HEAP32[$14>>2] = $30; + $31 = (0)!=($30|0); + if (!($31)) { + $32 = HEAP32[$10>>2]|0; + $33 = ($32|0)!=(0|0); + if ($33) { + $34 = HEAP32[$10>>2]|0; + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)==(97); + if ($37) { + $38 = HEAP32[$10>>2]|0; + $39 = ((($38)) + 8|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$19>>2] = $40; + } else { + HEAP32[$19>>2] = 0; + } + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$8>>2]|0; + $43 = HEAP32[$19>>2]|0; + $44 = (_sqlite3AuthCheck($41,$42,$43,0,0)|0); + HEAP32[$14>>2] = $44; + $45 = HEAP32[$14>>2]|0; + $46 = ($45|0)!=(0); + if ($46) { + break; + } + } + $47 = HEAP32[$7>>2]|0; + $48 = (_sqlite3GetVdbe($47)|0); + HEAP32[$16>>2] = $48; + $49 = HEAP32[$7>>2]|0; + $50 = (_sqlite3GetTempRange($49,4)|0); + HEAP32[$18>>2] = $50; + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$11>>2]|0; + $53 = HEAP32[$18>>2]|0; + _sqlite3ExprCode($51,$52,$53); + $54 = HEAP32[$7>>2]|0; + $55 = HEAP32[$12>>2]|0; + $56 = HEAP32[$18>>2]|0; + $57 = (($56) + 1)|0; + _sqlite3ExprCode($54,$55,$57); + $58 = HEAP32[$7>>2]|0; + $59 = HEAP32[$13>>2]|0; + $60 = HEAP32[$18>>2]|0; + $61 = (($60) + 2)|0; + _sqlite3ExprCode($58,$59,$61); + $62 = HEAP32[$16>>2]|0; + $63 = ($62|0)!=(0|0); + if ($63) { + $64 = HEAP32[$16>>2]|0; + $65 = HEAP32[$18>>2]|0; + $66 = (($65) + 3)|0; + $67 = HEAP32[$9>>2]|0; + $68 = HEAP8[$67>>0]|0; + $69 = $68 << 24 >> 24; + $70 = (($66) - ($69))|0; + $71 = HEAP32[$18>>2]|0; + $72 = (($71) + 3)|0; + $73 = HEAP32[$9>>2]|0; + (_sqlite3VdbeAddOp4($64,89,0,$70,$72,$73,-5)|0); + $74 = HEAP32[$16>>2]|0; + $75 = HEAP32[$9>>2]|0; + $76 = HEAP8[$75>>0]|0; + _sqlite3VdbeChangeP5($74,$76); + $77 = HEAP32[$16>>2]|0; + $78 = HEAP32[$8>>2]|0; + $79 = ($78|0)==(24); + $80 = $79&1; + (_sqlite3VdbeAddOp1($77,150,$80)|0); + } } } - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$iDataCur>>2]|0; - $48 = HEAP32[$iDb>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = HEAP32[$3>>2]|0; - _sqlite3OpenTable($46,$47,$48,$49,$50); - } else { - label = 11; } } while(0); - if ((label|0) == 11) { - $51 = HEAP32[$1>>2]|0; - $52 = HEAP32[$iDb>>2]|0; - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 28|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$3>>2]|0; - $57 = ($56|0)==(105); - $58 = $57&1; - $59 = $58&255; - $60 = HEAP32[$2>>2]|0; - $61 = HEAP32[$60>>2]|0; - _sqlite3TableLock($51,$52,$55,$59,$61); - } - $62 = HEAP32[$8>>2]|0; - $63 = ($62|0)!=(0|0); - if ($63) { - $64 = HEAP32[$5>>2]|0; - $65 = HEAP32[$8>>2]|0; - HEAP32[$65>>2] = $64; - } - HEAP32[$i>>2] = 0; - $66 = HEAP32[$2>>2]|0; - $67 = ((($66)) + 8|0); - $68 = HEAP32[$67>>2]|0; - HEAP32[$pIdx>>2] = $68; - while(1) { - $69 = HEAP32[$pIdx>>2]|0; - $70 = ($69|0)!=(0|0); - $71 = HEAP32[$5>>2]|0; - if (!($70)) { - break; - } - $72 = (($71) + 1)|0; - HEAP32[$5>>2] = $72; - HEAP32[$iIdxCur>>2] = $71; - $73 = HEAP32[$pIdx>>2]|0; - $74 = ((($73)) + 55|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75 & 3; - $77 = $76&255; - $78 = ($77|0)==(2); - if ($78) { - $79 = HEAP32[$2>>2]|0; - $80 = ((($79)) + 42|0); - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $83 = $82 & 32; - $84 = ($83|0)==(0); - if (!($84)) { - $85 = HEAP32[$7>>2]|0; - $86 = ($85|0)!=(0|0); - if ($86) { - $87 = HEAP32[$iIdxCur>>2]|0; - $88 = HEAP32[$7>>2]|0; - HEAP32[$88>>2] = $87; - } - HEAP8[$4>>0] = 0; - } - } - $89 = HEAP32[$6>>2]|0; - $90 = ($89|0)==(0|0); - if ($90) { - label = 23; - } else { - $91 = HEAP32[$i>>2]|0; - $92 = (($91) + 1)|0; - $93 = HEAP32[$6>>2]|0; - $94 = (($93) + ($92)|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = ($96|0)!=(0); - if ($97) { - label = 23; - } - } - if ((label|0) == 23) { - label = 0; - $98 = HEAP32[$v>>2]|0; - $99 = HEAP32[$3>>2]|0; - $100 = HEAP32[$iIdxCur>>2]|0; - $101 = HEAP32[$pIdx>>2]|0; - $102 = ((($101)) + 44|0); - $103 = HEAP32[$102>>2]|0; - $104 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($98,$99,$100,$103,$104)|0); - $105 = HEAP32[$1>>2]|0; - $106 = HEAP32[$pIdx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($105,$106); - $107 = HEAP32[$v>>2]|0; - $108 = HEAP8[$4>>0]|0; - _sqlite3VdbeChangeP5($107,$108); - } - $109 = HEAP32[$pIdx>>2]|0; - $110 = ((($109)) + 20|0); - $111 = HEAP32[$110>>2]|0; - HEAP32[$pIdx>>2] = $111; - $112 = HEAP32[$i>>2]|0; - $113 = (($112) + 1)|0; - HEAP32[$i>>2] = $113; - } - $114 = HEAP32[$1>>2]|0; - $115 = ((($114)) + 40|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($71|0)>($116|0); - if ($117) { - $118 = HEAP32[$5>>2]|0; - $119 = HEAP32[$1>>2]|0; - $120 = ((($119)) + 40|0); - HEAP32[$120>>2] = $118; - } - $121 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $121; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); -} -function _sqlite3VdbeReusable($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 144|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3 & -33; - HEAP16[$2>>1] = $4; + $81 = HEAP32[$17>>2]|0; + $82 = HEAP32[$11>>2]|0; + _sqlite3ExprDelete($81,$82); + $83 = HEAP32[$17>>2]|0; + $84 = HEAP32[$12>>2]|0; + _sqlite3ExprDelete($83,$84); + $85 = HEAP32[$17>>2]|0; + $86 = HEAP32[$13>>2]|0; + _sqlite3ExprDelete($85,$86); STACKTOP = sp;return; } -function _likeFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $escape = 0, $nPat = 0, $or$cond = 0, $pInfo = 0, $zA = 0, $zB = 0, $zEsc = 0, label = 0; - var sp = 0; +function _resolveAttachExpr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $zA = sp + 24|0; - $zB = sp + 20|0; - $escape = sp + 16|0; - $nPat = sp + 12|0; - $db = sp + 8|0; - $pInfo = sp + 4|0; - $zEsc = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (_sqlite3_user_data($5)|0); - HEAP32[$pInfo>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$zB>>2] = $9; - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3_value_text($12)|0); - HEAP32[$zA>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3_value_bytes($15)|0); - HEAP32[$nPat>>2] = $16; - $17 = HEAP32[$nPat>>2]|0; - $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 96|0); - $20 = ((($19)) + 32|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($17|0)>($21|0); - if ($22) { - $23 = HEAP32[$0>>2]|0; - _sqlite3_result_error($23,32870,-1); - STACKTOP = sp;return; - } - $24 = HEAP32[$1>>2]|0; - $25 = ($24|0)==(3); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)!=(0|0); do { - if ($25) { - $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = (_sqlite3_value_text($28)|0); - HEAP32[$zEsc>>2] = $29; - $30 = HEAP32[$zEsc>>2]|0; - $31 = ($30|0)==(0|0); - if ($31) { - STACKTOP = sp;return; - } - $32 = HEAP32[$zEsc>>2]|0; - $33 = (_sqlite3Utf8CharLen81($32,-1)|0); - $34 = ($33|0)!=(1); - if (!($34)) { - $36 = (_sqlite3Utf8Read($zEsc)|0); - HEAP32[$escape>>2] = $36; + if ($6) { + $7 = HEAP32[$3>>2]|0; + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)!=(55); + if ($10) { + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (_sqlite3ResolveExprNames($11,$12)|0); + HEAP32[$4>>2] = $13; + break; + } else { + $14 = HEAP32[$3>>2]|0; + HEAP8[$14>>0] = 97; break; } - $35 = HEAP32[$0>>2]|0; - _sqlite3_result_error($35,32903,-1); - STACKTOP = sp;return; - } else { - $37 = HEAP32[$pInfo>>2]|0; - $38 = ((($37)) + 2|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - HEAP32[$escape>>2] = $40; } } while(0); - $41 = HEAP32[$zA>>2]|0; - $42 = ($41|0)!=(0|0); - $43 = HEAP32[$zB>>2]|0; - $44 = ($43|0)!=(0|0); - $or$cond = $42 & $44; - if (!($or$cond)) { - STACKTOP = sp;return; - } - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$zB>>2]|0; - $47 = HEAP32[$zA>>2]|0; - $48 = HEAP32[$pInfo>>2]|0; - $49 = HEAP32[$escape>>2]|0; - $50 = (_patternCompare($46,$47,$48,$49)|0); - _sqlite3_result_int($45,$50); - STACKTOP = sp;return; -} -function _setLikeOptFlag($db,$zName,$flagVal) { - $db = $db|0; - $zName = $zName|0; - $flagVal = $flagVal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDef = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp + 12|0; - $pDef = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zName; - HEAP8[$2>>0] = $flagVal; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3FindFunction($3,$4,2,1,0)|0); - HEAP32[$pDef>>2] = $5; - $6 = HEAP32[$pDef>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = HEAP8[$2>>0]|0; - $9 = $8&255; - $10 = HEAP32[$pDef>>2]|0; - $11 = ((($10)) + 2|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = $13 | $9; - $15 = $14&65535; - HEAP16[$11>>1] = $15; - STACKTOP = sp;return; + $15 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($15|0); } -function _sqlite3Utf8Read($pz) { - $pz = $pz|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $c = 0, label = 0, sp = 0; +function _detachFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $c = sp; - HEAP32[$0>>2] = $pz; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 1|0); - HEAP32[$1>>2] = $3; - $4 = HEAP8[$2>>0]|0; - $5 = $4&255; - HEAP32[$c>>2] = $5; - $6 = HEAP32[$c>>2]|0; - $7 = ($6>>>0)>=(192); - if (!($7)) { - $35 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($35|0); + STACKTOP = STACKTOP + 192|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 56|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3_value_text($12)|0); + HEAP32[$6>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = (_sqlite3_context_db_handle($14)|0); + HEAP32[$7>>2] = $15; + HEAP32[$9>>2] = 0; + $16 = HEAP32[$6>>2]|0; + $17 = ($16|0)==(0|0); + if ($17) { + HEAP32[$6>>2] = 55752; } - $8 = HEAP32[$c>>2]|0; - $9 = (($8) - 192)|0; - $10 = (25563 + ($9)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - HEAP32[$c>>2] = $12; + HEAP32[$8>>2] = 0; while(1) { - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 & 192; - $18 = ($17|0)==(128); - $19 = HEAP32[$c>>2]|0; - if (!($18)) { + $18 = HEAP32[$8>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 20|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($18|0)<($21|0); + if (!($22)) { break; } - $20 = $19 << 6; - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = ((($22)) + 1|0); - HEAP32[$21>>2] = $23; - $24 = HEAP8[$22>>0]|0; - $25 = $24&255; - $26 = 63 & $25; - $27 = (($20) + ($26))|0; - HEAP32[$c>>2] = $27; - } - $28 = ($19>>>0)<(128); - if (!($28)) { - $29 = HEAP32[$c>>2]|0; - $30 = $29 & -2048; - $31 = ($30|0)==(55296); + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$8>>2]|0; + $27 = (($25) + ($26<<4)|0); + HEAP32[$9>>2] = $27; + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0|0); if (!($31)) { - $32 = HEAP32[$c>>2]|0; - $33 = $32 & -2; - $34 = ($33|0)==(65534); - if (!($34)) { - $35 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($35|0); + $32 = HEAP32[$9>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = (_sqlite3StrICmp($33,$34)|0); + $36 = ($35|0)==(0); + if ($36) { + break; } } + $37 = HEAP32[$8>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$8>>2] = $38; } - HEAP32[$c>>2] = 65533; - $35 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($35|0); -} -function _getTempStore($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $z; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = $3 << 24 >> 24; - $5 = ($4|0)>=(48); - if ($5) { - $6 = HEAP32[$1>>2]|0; - $7 = HEAP8[$6>>0]|0; - $8 = $7 << 24 >> 24; - $9 = ($8|0)<=(50); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) - 48)|0; - HEAP32[$0>>2] = $13; - } else { - label = 4; - } - } else { - label = 4; - } + $39 = HEAP32[$8>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = ((($40)) + 20|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($39|0)>=($42|0); do { - if ((label|0) == 4) { - $14 = HEAP32[$1>>2]|0; - $15 = (_sqlite3StrICmp($14,33105)|0); - $16 = ($15|0)==(0); - if ($16) { - HEAP32[$0>>2] = 1; + if ($43) { + $44 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer>>2] = $44; + (_sqlite3_snprintf(128,$10,30625,$vararg_buffer)|0); + } else { + $45 = HEAP32[$8>>2]|0; + $46 = ($45|0)<(2); + if ($46) { + $47 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer1>>2] = $47; + (_sqlite3_snprintf(128,$10,30646,$vararg_buffer1)|0); break; } - $17 = HEAP32[$1>>2]|0; - $18 = (_sqlite3StrICmp($17,26159)|0); - $19 = ($18|0)==(0); - if ($19) { - HEAP32[$0>>2] = 2; - break; - } else { - HEAP32[$0>>2] = 0; + $48 = HEAP32[$7>>2]|0; + $49 = ((($48)) + 67|0); + $50 = HEAP8[$49>>0]|0; + $51 = ($50<<24>>24)!=(0); + if (!($51)) { + (_sqlite3_snprintf(128,$10,30672,$vararg_buffer4)|0); break; } + $52 = HEAP32[$9>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3BtreeIsInReadTrans($54)|0); + $56 = ($55|0)!=(0); + if (!($56)) { + $57 = HEAP32[$9>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3BtreeIsInBackup($59)|0); + $61 = ($60|0)!=(0); + if (!($61)) { + $63 = HEAP32[$9>>2]|0; + $64 = ((($63)) + 4|0); + $65 = HEAP32[$64>>2]|0; + (_sqlite3BtreeClose($65)|0); + $66 = HEAP32[$9>>2]|0; + $67 = ((($66)) + 4|0); + HEAP32[$67>>2] = 0; + $68 = HEAP32[$9>>2]|0; + $69 = ((($68)) + 12|0); + HEAP32[$69>>2] = 0; + $70 = HEAP32[$7>>2]|0; + _sqlite3CollapseDatabaseArray($70); + STACKTOP = sp;return; + } + } + $62 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer6>>2] = $62; + (_sqlite3_snprintf(128,$10,30714,$vararg_buffer6)|0); } } while(0); - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); -} -function _sqlite3PagerSetSpillsize($pPager,$mxPage) { - $pPager = $pPager|0; - $mxPage = $mxPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $mxPage; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 212|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3PcacheSetSpillsize($4,$5)|0); - STACKTOP = sp;return ($6|0); -} -function _sqlite3PcacheSetSpillsize($p,$mxPage) { - $p = $p|0; - $mxPage = $mxPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $res = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $res = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $mxPage; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)<(0); - if ($5) { - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)<(0); - $8 = $7 << 31 >> 31; - $9 = (___muldi3(-1024,-1,($6|0),($8|0))|0); - $10 = tempRet0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 28|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($13) + ($16))|0; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = (___divdi3(($9|0),($10|0),($17|0),($19|0))|0); - $21 = tempRet0; - HEAP32[$1>>2] = $20; - } - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 20|0); - HEAP32[$24>>2] = $22; - } - $25 = HEAP32[$0>>2]|0; - $26 = (_numberOfCachePages($25)|0); - HEAP32[$res>>2] = $26; - $27 = HEAP32[$res>>2]|0; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 20|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($27|0)<($30|0); - if (!($31)) { - $35 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($35|0); - } - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 20|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$res>>2] = $34; - $35 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($35|0); + $71 = HEAP32[$3>>2]|0; + _sqlite3_result_error($71,$10,-1); + STACKTOP = sp;return; } -function _sqlite3WalLimit($pWal,$0,$1) { - $pWal = $pWal|0; +function _attachFunc($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 8|0; - $3 = sp; - HEAP32[$2>>2] = $pWal; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 128|0; + $vararg_buffer13 = sp + 48|0; + $vararg_buffer11 = sp + 40|0; + $vararg_buffer9 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 116|0; + $4 = sp + 112|0; + $5 = sp + 108|0; + $6 = sp + 104|0; + $7 = sp + 100|0; + $8 = sp + 96|0; + $9 = sp + 92|0; + $10 = sp + 88|0; + $11 = sp + 84|0; + $12 = sp + 80|0; + $13 = sp + 76|0; + $14 = sp + 72|0; + $15 = sp + 68|0; + $16 = sp + 64|0; + $17 = sp + 60|0; + $18 = sp + 56|0; + $19 = sp + 52|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$7>>2] = 0; + $20 = HEAP32[$3>>2]|0; + $21 = (_sqlite3_context_db_handle($20)|0); + HEAP32[$8>>2] = $21; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$15>>2] = 0; + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3_value_text($23)|0); + HEAP32[$10>>2] = $24; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3_value_text($27)|0); + HEAP32[$9>>2] = $28; + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)==(0|0); + if ($30) { + HEAP32[$10>>2] = 55752; } - $10 = $3; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 16|0); - $18 = $17; - $19 = $18; - HEAP32[$19>>2] = $12; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = $15; - STACKTOP = sp;return; -} -function _releaseMemArray($p,$N) { - $p = $p|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, $or$cond = 0, $pEnd = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pEnd = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $N; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0); - $or$cond = $3 & $5; - if (!($or$cond)) { - STACKTOP = sp;return; + $31 = HEAP32[$9>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + HEAP32[$9>>2] = 55752; } - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + (($6*40)|0)|0); - HEAP32[$pEnd>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 32|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$db>>2] = $11; - $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 456|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - while(1) { - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 24|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$db>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 20|0); - $23 = HEAP32[$22>>2]|0; - _sqlite3DbFree($20,$23); + $33 = HEAP32[$8>>2]|0; + $34 = ((($33)) + 20|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$8>>2]|0; + $37 = ((($36)) + 96|0); + $38 = ((($37)) + 28|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + 2)|0; + $41 = ($35|0)>=($40|0); + $42 = HEAP32[$8>>2]|0; + do { + if ($41) { + $43 = HEAP32[$8>>2]|0; + $44 = ((($43)) + 96|0); + $45 = ((($44)) + 28|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$vararg_buffer>>2] = $46; + $47 = (_sqlite3MPrintf($42,30750,$vararg_buffer)|0); + HEAP32[$15>>2] = $47; + } else { + $48 = ((($42)) + 67|0); + $49 = HEAP8[$48>>0]|0; + $50 = ($49<<24>>24)!=(0); + if (!($50)) { + $51 = HEAP32[$8>>2]|0; + $52 = (_sqlite3MPrintf($51,30787,$vararg_buffer2)|0); + HEAP32[$15>>2] = $52; + break; } - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 40|0); - HEAP32[$0>>2] = $25; - $26 = HEAP32[$pEnd>>2]|0; - $27 = ($25>>>0)<($26>>>0); - if (!($27)) { + HEAP32[$6>>2] = 0; + while(1) { + $53 = HEAP32[$6>>2]|0; + $54 = HEAP32[$8>>2]|0; + $55 = ((($54)) + 20|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($53|0)<($56|0); + $58 = HEAP32[$8>>2]|0; + $59 = ((($58)) + 16|0); + $60 = HEAP32[$59>>2]|0; + if (!($57)) { + break; + } + $61 = HEAP32[$6>>2]|0; + $62 = (($60) + ($61<<4)|0); + $63 = HEAP32[$62>>2]|0; + HEAP32[$17>>2] = $63; + $64 = HEAP32[$17>>2]|0; + $65 = HEAP32[$9>>2]|0; + $66 = (_sqlite3StrICmp($64,$65)|0); + $67 = ($66|0)==(0); + if ($67) { + label = 12; + break; + } + $71 = HEAP32[$6>>2]|0; + $72 = (($71) + 1)|0; + HEAP32[$6>>2] = $72; + } + if ((label|0) == 12) { + $68 = HEAP32[$8>>2]|0; + $69 = HEAP32[$9>>2]|0; + HEAP32[$vararg_buffer4>>2] = $69; + $70 = (_sqlite3MPrintf($68,30829,$vararg_buffer4)|0); + HEAP32[$15>>2] = $70; break; } - } - STACKTOP = sp;return; - } - while(1) { - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $32 = $31 & 9312; - $33 = ($32|0)!=(0); - $34 = HEAP32[$0>>2]|0; - if ($33) { - _sqlite3VdbeMemRelease($34); - } else { - $35 = ((($34)) + 24|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$db>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 20|0); - $41 = HEAP32[$40>>2]|0; - _sqlite3DbFree($38,$41); - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 24|0); - HEAP32[$43>>2] = 0; + $73 = HEAP32[$8>>2]|0; + $74 = ((($73)) + 392|0); + $75 = ($60|0)==($74|0); + $76 = HEAP32[$8>>2]|0; + do { + if ($75) { + $77 = (_sqlite3DbMallocRawNN($76,48,0)|0); + HEAP32[$14>>2] = $77; + $78 = HEAP32[$14>>2]|0; + $79 = ($78|0)==(0|0); + if ($79) { + STACKTOP = sp;return; + } else { + $80 = HEAP32[$14>>2]|0; + $81 = HEAP32[$8>>2]|0; + $82 = ((($81)) + 16|0); + $83 = HEAP32[$82>>2]|0; + ;HEAP32[$80>>2]=HEAP32[$83>>2]|0;HEAP32[$80+4>>2]=HEAP32[$83+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$83+8>>2]|0;HEAP32[$80+12>>2]=HEAP32[$83+12>>2]|0;HEAP32[$80+16>>2]=HEAP32[$83+16>>2]|0;HEAP32[$80+20>>2]=HEAP32[$83+20>>2]|0;HEAP32[$80+24>>2]=HEAP32[$83+24>>2]|0;HEAP32[$80+28>>2]=HEAP32[$83+28>>2]|0; + break; + } + } else { + $84 = HEAP32[$8>>2]|0; + $85 = ((($84)) + 16|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$8>>2]|0; + $88 = ((($87)) + 20|0); + $89 = HEAP32[$88>>2]|0; + $90 = (($89) + 1)|0; + $91 = $90<<4; + $92 = (_sqlite3DbRealloc($76,$86,$91,0)|0); + HEAP32[$14>>2] = $92; + $93 = HEAP32[$14>>2]|0; + $94 = ($93|0)==(0|0); + if ($94) { + STACKTOP = sp;return; + } + } + } while(0); + $95 = HEAP32[$14>>2]|0; + $96 = HEAP32[$8>>2]|0; + $97 = ((($96)) + 16|0); + HEAP32[$97>>2] = $95; + $98 = HEAP32[$8>>2]|0; + $99 = ((($98)) + 16|0); + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$8>>2]|0; + $102 = ((($101)) + 20|0); + $103 = HEAP32[$102>>2]|0; + $104 = (($100) + ($103<<4)|0); + HEAP32[$14>>2] = $104; + $105 = HEAP32[$14>>2]|0; + ;HEAP32[$105>>2]=0|0;HEAP32[$105+4>>2]=0|0;HEAP32[$105+8>>2]=0|0;HEAP32[$105+12>>2]=0|0; + $106 = HEAP32[$8>>2]|0; + $107 = ((($106)) + 48|0); + $108 = HEAP32[$107>>2]|0; + HEAP32[$13>>2] = $108; + $109 = HEAP32[$8>>2]|0; + $110 = HEAP32[$109>>2]|0; + $111 = ((($110)) + 16|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$10>>2]|0; + $114 = (_sqlite3ParseUri($112,$113,$13,$16,$11,$12)|0); + HEAP32[$7>>2] = $114; + $115 = HEAP32[$7>>2]|0; + $116 = ($115|0)!=(0); + if ($116) { + $117 = HEAP32[$7>>2]|0; + $118 = ($117|0)==(7); + if ($118) { + $119 = HEAP32[$8>>2]|0; + _sqlite3OomFault($119); + } + $120 = HEAP32[$3>>2]|0; + $121 = HEAP32[$12>>2]|0; + _sqlite3_result_error($120,$121,-1); + $122 = HEAP32[$12>>2]|0; + _sqlite3_free($122); + STACKTOP = sp;return; + } + $123 = HEAP32[$13>>2]|0; + $124 = $123 | 256; + HEAP32[$13>>2] = $124; + $125 = HEAP32[$16>>2]|0; + $126 = HEAP32[$11>>2]|0; + $127 = HEAP32[$8>>2]|0; + $128 = HEAP32[$14>>2]|0; + $129 = ((($128)) + 4|0); + $130 = HEAP32[$13>>2]|0; + $131 = (_sqlite3BtreeOpen($125,$126,$127,$129,0,$130)|0); + HEAP32[$7>>2] = $131; + $132 = HEAP32[$11>>2]|0; + _sqlite3_free($132); + $133 = HEAP32[$8>>2]|0; + $134 = ((($133)) + 20|0); + $135 = HEAP32[$134>>2]|0; + $136 = (($135) + 1)|0; + HEAP32[$134>>2] = $136; + $137 = HEAP32[$7>>2]|0; + $138 = ($137|0)==(19); + if ($138) { + HEAP32[$7>>2] = 1; + $139 = HEAP32[$8>>2]|0; + $140 = (_sqlite3MPrintf($139,30859,$vararg_buffer7)|0); + HEAP32[$15>>2] = $140; + } else { + $141 = HEAP32[$7>>2]|0; + $142 = ($141|0)==(0); + if ($142) { + $143 = HEAP32[$8>>2]|0; + $144 = HEAP32[$14>>2]|0; + $145 = ((($144)) + 4|0); + $146 = HEAP32[$145>>2]|0; + $147 = (_sqlite3SchemaGet($143,$146)|0); + $148 = HEAP32[$14>>2]|0; + $149 = ((($148)) + 12|0); + HEAP32[$149>>2] = $147; + $150 = HEAP32[$14>>2]|0; + $151 = ((($150)) + 12|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)!=(0|0); + if ($153) { + $154 = HEAP32[$14>>2]|0; + $155 = ((($154)) + 12|0); + $156 = HEAP32[$155>>2]|0; + $157 = ((($156)) + 76|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = ($159|0)!=(0); + if ($160) { + $161 = HEAP32[$14>>2]|0; + $162 = ((($161)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($163)) + 77|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = HEAP32[$8>>2]|0; + $168 = ((($167)) + 66|0); + $169 = HEAP8[$168>>0]|0; + $170 = $169&255; + $171 = ($166|0)!=($170|0); + if ($171) { + $172 = HEAP32[$8>>2]|0; + $173 = (_sqlite3MPrintf($172,26947,$vararg_buffer9)|0); + HEAP32[$15>>2] = $173; + HEAP32[$7>>2] = 1; + } + } + } else { + HEAP32[$7>>2] = 7; + } + $174 = HEAP32[$14>>2]|0; + $175 = ((($174)) + 4|0); + $176 = HEAP32[$175>>2]|0; + _sqlite3BtreeEnter($176); + $177 = HEAP32[$14>>2]|0; + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = (_sqlite3BtreePager($179)|0); + HEAP32[$18>>2] = $180; + $181 = HEAP32[$18>>2]|0; + $182 = HEAP32[$8>>2]|0; + $183 = ((($182)) + 71|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184&255; + (_sqlite3PagerLockingMode($181,$185)|0); + $186 = HEAP32[$14>>2]|0; + $187 = ((($186)) + 4|0); + $188 = HEAP32[$187>>2]|0; + $189 = HEAP32[$8>>2]|0; + $190 = ((($189)) + 16|0); + $191 = HEAP32[$190>>2]|0; + $192 = ((($191)) + 4|0); + $193 = HEAP32[$192>>2]|0; + $194 = (_sqlite3BtreeSecureDelete($193,-1)|0); + (_sqlite3BtreeSecureDelete($188,$194)|0); + $195 = HEAP32[$14>>2]|0; + $196 = ((($195)) + 4|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$8>>2]|0; + $199 = ((($198)) + 24|0); + $200 = HEAP32[$199>>2]|0; + $201 = $200 & 56; + $202 = 3 | $201; + (_sqlite3BtreeSetPagerFlags($197,$202)|0); + $203 = HEAP32[$14>>2]|0; + $204 = ((($203)) + 4|0); + $205 = HEAP32[$204>>2]|0; + _sqlite3BtreeLeave($205); + } + } + $206 = HEAP32[$14>>2]|0; + $207 = ((($206)) + 8|0); + HEAP8[$207>>0] = 3; + $208 = HEAP32[$8>>2]|0; + $209 = HEAP32[$9>>2]|0; + $210 = (_sqlite3DbStrDup($208,$209)|0); + $211 = HEAP32[$14>>2]|0; + HEAP32[$211>>2] = $210; + $212 = HEAP32[$7>>2]|0; + $213 = ($212|0)==(0); + if ($213) { + $214 = HEAP32[$14>>2]|0; + $215 = HEAP32[$214>>2]|0; + $216 = ($215|0)==(0|0); + if ($216) { + HEAP32[$7>>2] = 7; + } + } + $217 = HEAP32[$7>>2]|0; + $218 = ($217|0)==(0); + if ($218) { + $219 = HEAP32[$8>>2]|0; + _sqlite3BtreeEnterAll($219); + $220 = HEAP32[$8>>2]|0; + $221 = (_sqlite3Init($220,$15)|0); + HEAP32[$7>>2] = $221; + $222 = HEAP32[$8>>2]|0; + _sqlite3BtreeLeaveAll($222); + } + $223 = HEAP32[$7>>2]|0; + $224 = ($223|0)!=(0); + if (!($224)) { + STACKTOP = sp;return; + } + $225 = HEAP32[$8>>2]|0; + $226 = ((($225)) + 20|0); + $227 = HEAP32[$226>>2]|0; + $228 = (($227) - 1)|0; + HEAP32[$19>>2] = $228; + $229 = HEAP32[$8>>2]|0; + $230 = ((($229)) + 16|0); + $231 = HEAP32[$230>>2]|0; + $232 = HEAP32[$19>>2]|0; + $233 = (($231) + ($232<<4)|0); + $234 = ((($233)) + 4|0); + $235 = HEAP32[$234>>2]|0; + $236 = ($235|0)!=(0|0); + if ($236) { + $237 = HEAP32[$8>>2]|0; + $238 = ((($237)) + 16|0); + $239 = HEAP32[$238>>2]|0; + $240 = HEAP32[$19>>2]|0; + $241 = (($239) + ($240<<4)|0); + $242 = ((($241)) + 4|0); + $243 = HEAP32[$242>>2]|0; + (_sqlite3BtreeClose($243)|0); + $244 = HEAP32[$8>>2]|0; + $245 = ((($244)) + 16|0); + $246 = HEAP32[$245>>2]|0; + $247 = HEAP32[$19>>2]|0; + $248 = (($246) + ($247<<4)|0); + $249 = ((($248)) + 4|0); + HEAP32[$249>>2] = 0; + $250 = HEAP32[$8>>2]|0; + $251 = ((($250)) + 16|0); + $252 = HEAP32[$251>>2]|0; + $253 = HEAP32[$19>>2]|0; + $254 = (($252) + ($253<<4)|0); + $255 = ((($254)) + 12|0); + HEAP32[$255>>2] = 0; + } + $256 = HEAP32[$8>>2]|0; + _sqlite3ResetAllSchemasOfConnection($256); + $257 = HEAP32[$19>>2]|0; + $258 = HEAP32[$8>>2]|0; + $259 = ((($258)) + 20|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$7>>2]|0; + $261 = ($260|0)==(7); + $262 = HEAP32[$7>>2]|0; + $263 = ($262|0)==(3082); + $or$cond = $261 | $263; + if ($or$cond) { + $264 = HEAP32[$8>>2]|0; + _sqlite3OomFault($264); + $265 = HEAP32[$8>>2]|0; + $266 = HEAP32[$15>>2]|0; + _sqlite3DbFree($265,$266); + $267 = HEAP32[$8>>2]|0; + $268 = (_sqlite3MPrintf($267,22481,$vararg_buffer11)|0); + HEAP32[$15>>2] = $268; + break; + } + $269 = HEAP32[$15>>2]|0; + $270 = ($269|0)==(0|0); + if ($270) { + $271 = HEAP32[$8>>2]|0; + $272 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer13>>2] = $272; + $273 = (_sqlite3MPrintf($271,30888,$vararg_buffer13)|0); + HEAP32[$15>>2] = $273; } } - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 8|0); - HEAP16[$45>>1] = 128; - $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 40|0); - HEAP32[$0>>2] = $47; - $48 = HEAP32[$pEnd>>2]|0; - $49 = ($47>>>0)<($48>>>0); - if (!($49)) { - break; - } + } while(0); + $274 = HEAP32[$15>>2]|0; + $275 = ($274|0)!=(0|0); + if ($275) { + $276 = HEAP32[$3>>2]|0; + $277 = HEAP32[$15>>2]|0; + _sqlite3_result_error($276,$277,-1); + $278 = HEAP32[$8>>2]|0; + $279 = HEAP32[$15>>2]|0; + _sqlite3DbFree($278,$279); + } + $280 = HEAP32[$7>>2]|0; + $281 = ($280|0)!=(0); + if (!($281)) { + STACKTOP = sp;return; } + $282 = HEAP32[$3>>2]|0; + $283 = HEAP32[$7>>2]|0; + _sqlite3_result_error_code($282,$283); STACKTOP = sp;return; } -function _initMemArray($p,$N,$db,$flags) { - $p = $p|0; - $N = $N|0; - $db = $db|0; - $flags = $flags|0; - var $0 = 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, label = 0, sp = 0; +function _sqlite3ParseUri($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - $3 = sp + 12|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $N; - HEAP32[$2>>2] = $db; - HEAP16[$3>>1] = $flags; - while(1) { - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + -1)|0; - HEAP32[$1>>2] = $5; - $6 = ($4|0)>(0); - if (!($6)) { - break; - } - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 32|0); - HEAP32[$9>>2] = $7; - $10 = HEAP16[$3>>1]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - HEAP16[$12>>1] = $10; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 24|0); - HEAP32[$14>>2] = 0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 40|0); - HEAP32[$0>>2] = $16; - } - STACKTOP = sp;return; -} -function _sqlite3ClearStatTables($pParse,$iDb,$zType,$zName) { - $pParse = $pParse|0; - $iDb = $iDb|0; - $zType = $zType|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $zDbName = 0, $zTab = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $i = sp + 28|0; - $zDbName = sp + 24|0; - $zTab = sp + 48|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iDb; - HEAP32[$2>>2] = $zType; - HEAP32[$3>>2] = $zName; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($4<<4)|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$zDbName>>2] = $10; - HEAP32[$i>>2] = 1; - while(1) { - $11 = HEAP32[$i>>2]|0; - $12 = ($11|0)<=(4); - if (!($12)) { - break; - } - $13 = HEAP32[$i>>2]|0; - HEAP32[$vararg_buffer>>2] = $13; - (_sqlite3_snprintf(24,$zTab,34141,$vararg_buffer)|0); - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$zDbName>>2]|0; - $17 = (_sqlite3FindTable($15,$zTab,$16)|0); - $18 = ($17|0)!=(0|0); - if ($18) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$zDbName>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer1>>2] = $20; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $zTab; - $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $21; - $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $22; - _sqlite3NestedParse($19,30938,$vararg_buffer1); - } - $23 = HEAP32[$i>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$i>>2] = $24; - } - STACKTOP = sp;return; -} -function _destroyRootPage($pParse,$iTable,$iDb) { - $pParse = $pParse|0; - $iTable = $iTable|0; - $iDb = $iDb|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r1 = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $v = sp + 24|0; - $r1 = sp + 20|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iTable; - HEAP32[$2>>2] = $iDb; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3GetVdbe($3)|0); - HEAP32[$v>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (_sqlite3GetTempReg($5)|0); - HEAP32[$r1>>2] = $6; - $7 = HEAP32[$v>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$r1>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp3($7,130,$8,$9,$10)|0); - $11 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($11); - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($13<<4)|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ($20|0)==(1); - $22 = $21 ? 19905 : 19924; - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$r1>>2]|0; - $25 = HEAP32[$r1>>2]|0; - HEAP32[$vararg_buffer>>2] = $19; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $22; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $23; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $24; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $25; - _sqlite3NestedParse($12,34085,$vararg_buffer); - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($26,$27); - STACKTOP = sp;return; -} -function _sqlite3ArrayAllocate($db,$pArray,$szEntry,$pnEntry,$pIdx) { - $db = $db|0; - $pArray = $pArray|0; - $szEntry = $szEntry|0; - $pnEntry = $pnEntry|0; - $pIdx = $pIdx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $pNew = 0, $sz = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; - $z = sp + 12|0; - $n = sp + 8|0; - $sz = sp + 4|0; - $pNew = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pArray; - HEAP32[$3>>2] = $szEntry; - HEAP32[$4>>2] = $pnEntry; - HEAP32[$5>>2] = $pIdx; - $6 = HEAP32[$4>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$n>>2] = $7; - $8 = HEAP32[$n>>2]|0; - $9 = HEAP32[$n>>2]|0; - $10 = (($9) - 1)|0; - $11 = $8 & $10; - $12 = ($11|0)==(0); - do { - if ($12) { - $13 = HEAP32[$n>>2]|0; - $14 = ($13|0)==(0); - $15 = HEAP32[$n>>2]|0; - $16 = $15<<1; - $17 = $14 ? 1 : $16; - HEAP32[$sz>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$sz>>2]|0; - $21 = HEAP32[$3>>2]|0; - $22 = Math_imul($20, $21)|0; - $23 = ($22|0)<(0); - $24 = $23 << 31 >> 31; - $25 = (_sqlite3DbRealloc($18,$19,$22,$24)|0); - HEAP32[$pNew>>2] = $25; - $26 = HEAP32[$pNew>>2]|0; - $27 = ($26|0)==(0|0); - if (!($27)) { - $30 = HEAP32[$pNew>>2]|0; - HEAP32[$2>>2] = $30; - break; - } - $28 = HEAP32[$5>>2]|0; - HEAP32[$28>>2] = -1; - $29 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $29; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); - } - } while(0); - $31 = HEAP32[$2>>2]|0; - HEAP32[$z>>2] = $31; - $32 = HEAP32[$n>>2]|0; - $33 = HEAP32[$3>>2]|0; - $34 = Math_imul($32, $33)|0; - $35 = HEAP32[$z>>2]|0; - $36 = (($35) + ($34)|0); - $37 = HEAP32[$3>>2]|0; - _memset(($36|0),0,($37|0))|0; - $38 = HEAP32[$n>>2]|0; - $39 = HEAP32[$5>>2]|0; - HEAP32[$39>>2] = $38; - $40 = HEAP32[$4>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$40>>2] = $42; - $43 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $43; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); -} -function _sqlite3TriggersExist($pParse,$pTab,$op,$pChanges,$pMask) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $op = $op|0; - $pChanges = $pChanges|0; - $pMask = $pMask|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mask = 0, $p = 0, $pList = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $mask = sp + 8|0; - $pList = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $op; - HEAP32[$3>>2] = $pChanges; - HEAP32[$4>>2] = $pMask; - HEAP32[$mask>>2] = 0; - HEAP32[$pList>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = $8 & 16777216; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (_sqlite3TriggerList($11,$12)|0); - HEAP32[$pList>>2] = $13; - } - $14 = HEAP32[$pList>>2]|0; - HEAP32[$p>>2] = $14; - while(1) { - $15 = HEAP32[$p>>2]|0; - $16 = ($15|0)!=(0|0); - if (!($16)) { - break; - } - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = HEAP32[$2>>2]|0; - $22 = ($20|0)==($21|0); - if ($22) { - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$3>>2]|0; - $27 = (_checkColumnOverlap($25,$26)|0); - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$p>>2]|0; - $30 = ((($29)) + 9|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = HEAP32[$mask>>2]|0; - $34 = $33 | $32; - HEAP32[$mask>>2] = $34; - } - } - $35 = HEAP32[$p>>2]|0; - $36 = ((($35)) + 32|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$p>>2] = $37; - } - $38 = HEAP32[$4>>2]|0; - $39 = ($38|0)!=(0|0); - if (!($39)) { - $42 = HEAP32[$mask>>2]|0; - $43 = ($42|0)!=(0); - $44 = HEAP32[$pList>>2]|0; - $45 = $43 ? $44 : 0; - STACKTOP = sp;return ($45|0); - } - $40 = HEAP32[$mask>>2]|0; - $41 = HEAP32[$4>>2]|0; - HEAP32[$41>>2] = $40; - $42 = HEAP32[$mask>>2]|0; - $43 = ($42|0)!=(0); - $44 = HEAP32[$pList>>2]|0; - $45 = $43 ? $44 : 0; - STACKTOP = sp;return ($45|0); -} -function _sqlite3IsReadOnly($pParse,$pTab,$viewOk) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $viewOk = $viewOk|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTab; - HEAP32[$3>>2] = $viewOk; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 42|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 & 16; - $9 = ($8|0)!=(0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = (_sqlite3GetVTable($11,$12)|0); - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 52|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)==(0|0); - if (!($19)) { - label = 3; - } - } else { - label = 3; - } - do { - if ((label|0) == 3) { - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 42|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = $23 & 1; - $25 = ($24|0)!=(0); - if ($25) { - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$26>>2]|0; - $28 = ((($27)) + 24|0); - $29 = HEAP32[$28>>2]|0; - $30 = $29 & 2048; - $31 = ($30|0)==(0); - if ($31) { - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 18|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = ($35|0)==(0); - if ($36) { + STACKTOP = STACKTOP + 160|0; + $vararg_buffer21 = sp + 32|0; + $vararg_buffer17 = sp + 24|0; + $vararg_buffer13 = sp + 16|0; + $vararg_buffer = sp + 8|0; + $6 = sp + 140|0; + $7 = sp + 136|0; + $8 = sp + 132|0; + $9 = sp + 128|0; + $10 = sp + 124|0; + $11 = sp + 120|0; + $12 = sp + 116|0; + $13 = sp + 112|0; + $14 = sp + 108|0; + $15 = sp + 104|0; + $16 = sp + 100|0; + $17 = sp + 144|0; + $18 = sp + 96|0; + $19 = sp + 92|0; + $20 = sp + 88|0; + $21 = sp + 84|0; + $22 = sp + 80|0; + $23 = sp; + $24 = sp + 76|0; + $25 = sp + 72|0; + $26 = sp + 68|0; + $27 = sp + 64|0; + $28 = sp + 60|0; + $29 = sp + 56|0; + $30 = sp + 52|0; + $31 = sp + 48|0; + $32 = sp + 44|0; + $33 = sp + 40|0; + $34 = sp + 36|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = 0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$35>>2]|0; + HEAP32[$14>>2] = $36; + $37 = HEAP32[$7>>2]|0; + HEAP32[$15>>2] = $37; + $38 = HEAP32[$8>>2]|0; + $39 = (_sqlite3Strlen30($38)|0); + HEAP32[$18>>2] = $39; + $40 = HEAP32[$14>>2]|0; + $41 = $40 & 64; + $42 = ($41|0)!=(0); + $43 = HEAP32[(20)>>2]|0; + $44 = ($43|0)!=(0); + $or$cond = $42 | $44; + $45 = HEAP32[$18>>2]|0; + $46 = ($45|0)>=(5); + $or$cond3 = $or$cond & $46; + L1: do { + if ($or$cond3) { + $47 = HEAP32[$8>>2]|0; + $48 = (_memcmp($47,30916,5)|0); + $49 = ($48|0)==(0); + if ($49) { + HEAP32[$22>>2] = 0; + $50 = HEAP32[$18>>2]|0; + $51 = (($50) + 2)|0; + $52 = ($51|0)<(0); + $53 = $52 << 31 >> 31; + $54 = $23; + $55 = $54; + HEAP32[$55>>2] = $51; + $56 = (($54) + 4)|0; + $57 = $56; + HEAP32[$57>>2] = $53; + $58 = HEAP32[$14>>2]|0; + $59 = $58 | 64; + HEAP32[$14>>2] = $59; + HEAP32[$21>>2] = 0; + while(1) { + $60 = HEAP32[$21>>2]|0; + $61 = HEAP32[$18>>2]|0; + $62 = ($60|0)<($61|0); + if (!($62)) { break; } + $63 = HEAP32[$8>>2]|0; + $64 = HEAP32[$21>>2]|0; + $65 = (($63) + ($64)|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66 << 24 >> 24; + $68 = ($67|0)==(38); + $69 = $68&1; + $70 = ($69|0)<(0); + $71 = $70 << 31 >> 31; + $72 = $23; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (_i64Add(($74|0),($77|0),($69|0),($71|0))|0); + $79 = tempRet0; + $80 = $23; + $81 = $80; + HEAP32[$81>>2] = $78; + $82 = (($80) + 4)|0; + $83 = $82; + HEAP32[$83>>2] = $79; + $84 = HEAP32[$21>>2]|0; + $85 = (($84) + 1)|0; + HEAP32[$21>>2] = $85; } - } - $40 = HEAP32[$3>>2]|0; - $41 = ($40|0)!=(0); - if (!($41)) { - $42 = HEAP32[$2>>2]|0; - $43 = ((($42)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)!=(0|0); - if ($45) { - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$2>>2]|0; - $48 = HEAP32[$47>>2]|0; - HEAP32[$vararg_buffer1>>2] = $48; - _sqlite3ErrorMsg($46,35257,$vararg_buffer1); - HEAP32[$0>>2] = 1; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); - } - } - HEAP32[$0>>2] = 0; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); - } - } while(0); - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$38>>2]|0; - HEAP32[$vararg_buffer>>2] = $39; - _sqlite3ErrorMsg($37,35228,$vararg_buffer); - HEAP32[$0>>2] = 1; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); -} -function _sqlite3VdbeCountChanges($v) { - $v = $v|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $v; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 144|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3 & -17; - $5 = $4 | 16; - HEAP16[$2>>1] = $5; - STACKTOP = sp;return; -} -function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { - $pParse = $pParse|0; - $pDest = $pDest|0; - $pSelect = $pSelect|0; - $onError = $onError|0; - $iDbDest = $iDbDest|0; - var $$old = 0, $$old1 = 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, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $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, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; - var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0; - var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0; - var $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0; - var $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0; - var $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0; - var $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0; - var $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0; - var $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0; - var $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0; - var $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0; - var $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr1 = 0, $addr2 = 0, $db = 0, $destHasUniqueIdx = 0, $emptyDestTest = 0, $emptySrcTest = 0, $i = 0, $iDbSrc = 0, $iDest = 0, $iSrc = 0, $idxInsFlags = 0, $or$cond = 0, $or$cond4 = 0, $pDestCol = 0, $pDestIdx = 0, $pEList = 0; - var $pItem = 0, $pSrc = 0, $pSrcCol = 0, $pSrcIdx = 0, $regAutoinc = 0, $regData = 0, $regRowid = 0, $v = 0, $zColl = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 108|0; - $1 = sp + 104|0; - $2 = sp + 100|0; - $3 = sp + 96|0; - $4 = sp + 92|0; - $5 = sp + 88|0; - $db = sp + 84|0; - $pEList = sp + 80|0; - $pSrc = sp + 76|0; - $pSrcIdx = sp + 72|0; - $pDestIdx = sp + 68|0; - $pItem = sp + 64|0; - $i = sp + 60|0; - $iDbSrc = sp + 56|0; - $iSrc = sp + 52|0; - $iDest = sp + 48|0; - $addr1 = sp + 44|0; - $addr2 = sp + 40|0; - $emptyDestTest = sp + 36|0; - $emptySrcTest = sp + 32|0; - $v = sp + 28|0; - $regAutoinc = sp + 24|0; - $destHasUniqueIdx = sp + 20|0; - $regData = sp + 16|0; - $regRowid = sp + 12|0; - $pDestCol = sp + 8|0; - $pSrcCol = sp + 4|0; - $idxInsFlags = sp + 112|0; - $zColl = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pDest; - HEAP32[$3>>2] = $pSelect; - HEAP32[$4>>2] = $onError; - HEAP32[$5>>2] = $iDbDest; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$db>>2] = $7; - HEAP32[$emptyDestTest>>2] = 0; - HEAP32[$emptySrcTest>>2] = 0; - HEAP32[$destHasUniqueIdx>>2] = 0; - $8 = HEAP32[$3>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 472|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - $14 = HEAP32[$3>>2]|0; - $15 = ((($14)) + 64|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(0|0); - if (!($17)) { - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (_sqlite3TriggerList($18,$19)|0); - $21 = ($20|0)!=(0|0); - if ($21) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 42|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 & 16; - $27 = ($26|0)!=(0); - if ($27) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)==(10); - if ($29) { - $30 = HEAP32[$2>>2]|0; - $31 = ((($30)) + 32|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32 << 16 >> 16; - $34 = ($33|0)>=(0); - if ($34) { - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 43|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - HEAP32[$4>>2] = $38; - } - $39 = HEAP32[$4>>2]|0; - $40 = ($39|0)==(10); - if ($40) { - HEAP32[$4>>2] = 2; - } - } - $41 = HEAP32[$3>>2]|0; - $42 = ((($41)) + 28|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)!=(1); - if ($45) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $46 = HEAP32[$3>>2]|0; - $47 = ((($46)) + 28|0); - $48 = HEAP32[$47>>2]|0; - $49 = ((($48)) + 8|0); - $50 = ((($49)) + 20|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)!=(0|0); - if ($52) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $53 = HEAP32[$3>>2]|0; - $54 = ((($53)) + 32|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)!=(0|0); - if ($56) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $57 = HEAP32[$3>>2]|0; - $58 = ((($57)) + 44|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59|0)!=(0|0); - if ($60) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $61 = HEAP32[$3>>2]|0; - $62 = ((($61)) + 36|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)!=(0|0); - if ($64) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $65 = HEAP32[$3>>2]|0; - $66 = ((($65)) + 56|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)!=(0|0); - if ($68) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $69 = HEAP32[$3>>2]|0; - $70 = ((($69)) + 48|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)!=(0|0); - if ($72) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $73 = HEAP32[$3>>2]|0; - $74 = ((($73)) + 8|0); - $75 = HEAP32[$74>>2]|0; - $76 = $75 & 1; - $77 = ($76|0)!=(0); - if ($77) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $78 = HEAP32[$3>>2]|0; - $79 = HEAP32[$78>>2]|0; - HEAP32[$pEList>>2] = $79; - $80 = HEAP32[$pEList>>2]|0; - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)!=(1); - if ($82) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $83 = HEAP32[$pEList>>2]|0; - $84 = ((($83)) + 4|0); - $85 = HEAP32[$84>>2]|0; - $86 = HEAP32[$85>>2]|0; - $87 = HEAP8[$86>>0]|0; - $88 = $87&255; - $89 = ($88|0)!=(160); - if ($89) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $90 = HEAP32[$3>>2]|0; - $91 = ((($90)) + 28|0); - $92 = HEAP32[$91>>2]|0; - $93 = ((($92)) + 8|0); - HEAP32[$pItem>>2] = $93; - $94 = HEAP32[$1>>2]|0; - $95 = HEAP32[$pItem>>2]|0; - $96 = (_sqlite3LocateTableItem($94,0,$95)|0); - HEAP32[$pSrc>>2] = $96; - $97 = HEAP32[$pSrc>>2]|0; - $98 = ($97|0)==(0|0); - if ($98) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $99 = HEAP32[$pSrc>>2]|0; - $100 = HEAP32[$2>>2]|0; - $101 = ($99|0)==($100|0); - if ($101) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $102 = HEAP32[$2>>2]|0; - $103 = ((($102)) + 42|0); - $104 = HEAP8[$103>>0]|0; - $105 = $104&255; - $106 = $105 & 32; - $107 = ($106|0)==(0); - $108 = $107&1; - $109 = HEAP32[$pSrc>>2]|0; - $110 = ((($109)) + 42|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $113 = $112 & 32; - $114 = ($113|0)==(0); - $115 = $114&1; - $116 = ($108|0)!=($115|0); - if ($116) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $117 = HEAP32[$pSrc>>2]|0; - $118 = ((($117)) + 42|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119&255; - $121 = $120 & 16; - $122 = ($121|0)!=(0); - if ($122) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $123 = HEAP32[$pSrc>>2]|0; - $124 = ((($123)) + 12|0); - $125 = HEAP32[$124>>2]|0; - $126 = ($125|0)!=(0|0); - if ($126) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $127 = HEAP32[$2>>2]|0; - $128 = ((($127)) + 34|0); - $129 = HEAP16[$128>>1]|0; - $130 = $129 << 16 >> 16; - $131 = HEAP32[$pSrc>>2]|0; - $132 = ((($131)) + 34|0); - $133 = HEAP16[$132>>1]|0; - $134 = $133 << 16 >> 16; - $135 = ($130|0)!=($134|0); - if ($135) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $136 = HEAP32[$2>>2]|0; - $137 = ((($136)) + 32|0); - $138 = HEAP16[$137>>1]|0; - $139 = $138 << 16 >> 16; - $140 = HEAP32[$pSrc>>2]|0; - $141 = ((($140)) + 32|0); - $142 = HEAP16[$141>>1]|0; - $143 = $142 << 16 >> 16; - $144 = ($139|0)!=($143|0); - if ($144) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - HEAP32[$i>>2] = 0; - L91: while(1) { - $145 = HEAP32[$i>>2]|0; - $146 = HEAP32[$2>>2]|0; - $147 = ((($146)) + 34|0); - $148 = HEAP16[$147>>1]|0; - $149 = $148 << 16 >> 16; - $150 = ($145|0)<($149|0); - if (!($150)) { - label = 64; - break; - } - $151 = HEAP32[$i>>2]|0; - $152 = HEAP32[$2>>2]|0; - $153 = ((($152)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = (($154) + ($151<<4)|0); - HEAP32[$pDestCol>>2] = $155; - $156 = HEAP32[$i>>2]|0; - $157 = HEAP32[$pSrc>>2]|0; - $158 = ((($157)) + 4|0); - $159 = HEAP32[$158>>2]|0; - $160 = (($159) + ($156<<4)|0); - HEAP32[$pSrcCol>>2] = $160; - $161 = HEAP32[$pDestCol>>2]|0; - $162 = ((($161)) + 13|0); - $163 = HEAP8[$162>>0]|0; - $164 = $163 << 24 >> 24; - $165 = HEAP32[$pSrcCol>>2]|0; - $166 = ((($165)) + 13|0); - $167 = HEAP8[$166>>0]|0; - $168 = $167 << 24 >> 24; - $169 = ($164|0)!=($168|0); - if ($169) { - label = 52; - break; - } - $170 = HEAP32[$pDestCol>>2]|0; - $171 = ((($170)) + 8|0); - $172 = HEAP32[$171>>2]|0; - $173 = HEAP32[$pSrcCol>>2]|0; - $174 = ((($173)) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = (_sqlite3_stricmp($172,$175)|0); - $177 = ($176|0)!=(0); - if ($177) { - label = 54; - break; - } - $178 = HEAP32[$pDestCol>>2]|0; - $179 = ((($178)) + 12|0); - $180 = HEAP8[$179>>0]|0; - $181 = $180&255; - $182 = ($181|0)!=(0); - if ($182) { - $183 = HEAP32[$pSrcCol>>2]|0; - $184 = ((($183)) + 12|0); - $185 = HEAP8[$184>>0]|0; - $186 = ($185<<24>>24)!=(0); - if (!($186)) { - label = 57; - break; - } + $86 = $23; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (_sqlite3_malloc64($88,$91)|0); + HEAP32[$16>>2] = $92; + $93 = HEAP32[$16>>2]|0; + $94 = ($93|0)!=(0|0); + if (!($94)) { + HEAP32[$6>>2] = 7; + $414 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($414|0); } - $187 = HEAP32[$i>>2]|0; - $188 = ($187|0)>(0); + HEAP32[$21>>2] = 5; + $95 = HEAP32[$8>>2]|0; + $96 = ((($95)) + 5|0); + $97 = HEAP8[$96>>0]|0; + $98 = $97 << 24 >> 24; + $99 = ($98|0)==(47); do { - if ($188) { - $189 = HEAP32[$pDestCol>>2]|0; - $190 = ((($189)) + 4|0); - $191 = HEAP32[$190>>2]|0; - $192 = ($191|0)==(0|0); - $193 = $192&1; - $194 = HEAP32[$pSrcCol>>2]|0; - $195 = ((($194)) + 4|0); - $196 = HEAP32[$195>>2]|0; - $197 = ($196|0)==(0|0); - $198 = $197&1; - $199 = ($193|0)!=($198|0); - if ($199) { - label = 62; - break L91; - } - $200 = HEAP32[$pDestCol>>2]|0; - $201 = ((($200)) + 4|0); - $202 = HEAP32[$201>>2]|0; - $203 = ($202|0)!=(0|0); - if (!($203)) { - break; - } - $204 = HEAP32[$pDestCol>>2]|0; - $205 = ((($204)) + 4|0); - $206 = HEAP32[$205>>2]|0; - $207 = ((($206)) + 8|0); - $208 = HEAP32[$207>>2]|0; - $209 = HEAP32[$pSrcCol>>2]|0; - $210 = ((($209)) + 4|0); - $211 = HEAP32[$210>>2]|0; - $212 = ((($211)) + 8|0); - $213 = HEAP32[$212>>2]|0; - $214 = (_strcmp($208,$213)|0); - $215 = ($214|0)!=(0); - if ($215) { - label = 62; - break L91; + if ($99) { + $100 = HEAP32[$8>>2]|0; + $101 = ((($100)) + 6|0); + $102 = HEAP8[$101>>0]|0; + $103 = $102 << 24 >> 24; + $104 = ($103|0)==(47); + if ($104) { + HEAP32[$21>>2] = 7; + while(1) { + $105 = HEAP32[$8>>2]|0; + $106 = HEAP32[$21>>2]|0; + $107 = (($105) + ($106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108 << 24 >> 24; + $110 = ($109|0)!=(0); + if ($110) { + $111 = HEAP32[$8>>2]|0; + $112 = HEAP32[$21>>2]|0; + $113 = (($111) + ($112)|0); + $114 = HEAP8[$113>>0]|0; + $115 = $114 << 24 >> 24; + $116 = ($115|0)!=(47); + $415 = $116; + } else { + $415 = 0; + } + $117 = HEAP32[$21>>2]|0; + if (!($415)) { + break; + } + $118 = (($117) + 1)|0; + HEAP32[$21>>2] = $118; + } + $119 = ($117|0)!=(7); + if ($119) { + $120 = HEAP32[$21>>2]|0; + $121 = ($120|0)!=(16); + if (!($121)) { + $122 = HEAP32[$8>>2]|0; + $123 = ((($122)) + 7|0); + $124 = (_memcmp(30922,$123,9)|0); + $125 = ($124|0)!=(0); + if (!($125)) { + break; + } + } + $126 = HEAP32[$21>>2]|0; + $127 = (($126) - 7)|0; + $128 = HEAP32[$8>>2]|0; + $129 = ((($128)) + 7|0); + HEAP32[$vararg_buffer>>2] = $127; + $vararg_ptr12 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $129; + $130 = (_sqlite3_mprintf(30932,$vararg_buffer)|0); + $131 = HEAP32[$12>>2]|0; + HEAP32[$131>>2] = $130; + HEAP32[$13>>2] = 1; + break L1; + } } } } while(0); - $216 = HEAP32[$i>>2]|0; - $217 = (($216) + 1)|0; - HEAP32[$i>>2] = $217; - } - if ((label|0) == 52) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - else if ((label|0) == 54) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - else if ((label|0) == 57) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - else if ((label|0) == 62) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - else if ((label|0) == 64) { - $218 = HEAP32[$2>>2]|0; - $219 = ((($218)) + 8|0); - $220 = HEAP32[$219>>2]|0; - HEAP32[$pDestIdx>>2] = $220; - while(1) { - $221 = HEAP32[$pDestIdx>>2]|0; - $222 = ($221|0)!=(0|0); - if (!($222)) { + HEAP32[$20>>2] = 0; + L27: while(1) { + $132 = HEAP32[$8>>2]|0; + $133 = HEAP32[$21>>2]|0; + $134 = (($132) + ($133)|0); + $135 = HEAP8[$134>>0]|0; + HEAP8[$17>>0] = $135; + $136 = $135 << 24 >> 24; + $137 = ($136|0)!=(0); + if (!($137)) { break; } - $223 = HEAP32[$pDestIdx>>2]|0; - $224 = ((($223)) + 54|0); - $225 = HEAP8[$224>>0]|0; - $226 = $225&255; - $227 = ($226|0)!=(0); - if ($227) { - HEAP32[$destHasUniqueIdx>>2] = 1; - } - $228 = HEAP32[$pSrc>>2]|0; - $229 = ((($228)) + 8|0); - $230 = HEAP32[$229>>2]|0; - HEAP32[$pSrcIdx>>2] = $230; - while(1) { - $231 = HEAP32[$pSrcIdx>>2]|0; - $232 = ($231|0)!=(0|0); - if (!($232)) { - break; - } - $233 = HEAP32[$pDestIdx>>2]|0; - $234 = HEAP32[$pSrcIdx>>2]|0; - $235 = (_xferCompatibleIndex($233,$234)|0); - $236 = ($235|0)!=(0); - if ($236) { - break; - } - $237 = HEAP32[$pSrcIdx>>2]|0; - $238 = ((($237)) + 20|0); - $239 = HEAP32[$238>>2]|0; - HEAP32[$pSrcIdx>>2] = $239; - } - $240 = HEAP32[$pSrcIdx>>2]|0; - $241 = ($240|0)==(0|0); - if ($241) { - label = 73; + $138 = HEAP8[$17>>0]|0; + $139 = $138 << 24 >> 24; + $140 = ($139|0)!=(35); + if (!($140)) { break; } - $242 = HEAP32[$pDestIdx>>2]|0; - $243 = ((($242)) + 20|0); - $244 = HEAP32[$243>>2]|0; - HEAP32[$pDestIdx>>2] = $244; - } - if ((label|0) == 73) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $245 = HEAP32[$2>>2]|0; - $246 = ((($245)) + 24|0); - $247 = HEAP32[$246>>2]|0; - $248 = ($247|0)!=(0|0); - do { - if ($248) { - $249 = HEAP32[$pSrc>>2]|0; - $250 = ((($249)) + 24|0); - $251 = HEAP32[$250>>2]|0; - $252 = HEAP32[$2>>2]|0; - $253 = ((($252)) + 24|0); - $254 = HEAP32[$253>>2]|0; - $255 = (_sqlite3ExprListCompare($251,$254,-1)|0); - $256 = ($255|0)!=(0); - if (!($256)) { - break; - } - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - } while(0); - $257 = HEAP32[$db>>2]|0; - $258 = ((($257)) + 24|0); - $259 = HEAP32[$258>>2]|0; - $260 = $259 & 524288; - $261 = ($260|0)!=(0); - do { - if ($261) { - $262 = HEAP32[$2>>2]|0; - $263 = ((($262)) + 16|0); - $264 = HEAP32[$263>>2]|0; - $265 = ($264|0)!=(0|0); - if (!($265)) { - break; - } - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - } while(0); - $266 = HEAP32[$db>>2]|0; - $267 = ((($266)) + 24|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 & 128; - $270 = ($269|0)!=(0); - if ($270) { - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } - $271 = HEAP32[$db>>2]|0; - $272 = HEAP32[$pSrc>>2]|0; - $273 = ((($272)) + 64|0); - $274 = HEAP32[$273>>2]|0; - $275 = (_sqlite3SchemaToIndex($271,$274)|0); - HEAP32[$iDbSrc>>2] = $275; - $276 = HEAP32[$1>>2]|0; - $277 = (_sqlite3GetVdbe($276)|0); - HEAP32[$v>>2] = $277; - $278 = HEAP32[$1>>2]|0; - $279 = HEAP32[$iDbSrc>>2]|0; - _sqlite3CodeVerifySchema($278,$279); - $280 = HEAP32[$1>>2]|0; - $281 = ((($280)) + 40|0); - $282 = HEAP32[$281>>2]|0; - $283 = (($282) + 1)|0; - HEAP32[$281>>2] = $283; - HEAP32[$iSrc>>2] = $282; - $284 = HEAP32[$1>>2]|0; - $285 = ((($284)) + 40|0); - $286 = HEAP32[$285>>2]|0; - $287 = (($286) + 1)|0; - HEAP32[$285>>2] = $287; - HEAP32[$iDest>>2] = $286; - $288 = HEAP32[$1>>2]|0; - $289 = HEAP32[$5>>2]|0; - $290 = HEAP32[$2>>2]|0; - $291 = (_autoIncBegin($288,$289,$290)|0); - HEAP32[$regAutoinc>>2] = $291; - $292 = HEAP32[$1>>2]|0; - $293 = (_sqlite3GetTempReg($292)|0); - HEAP32[$regData>>2] = $293; - $294 = HEAP32[$1>>2]|0; - $295 = (_sqlite3GetTempReg($294)|0); - HEAP32[$regRowid>>2] = $295; - $296 = HEAP32[$1>>2]|0; - $297 = HEAP32[$iDest>>2]|0; - $298 = HEAP32[$5>>2]|0; - $299 = HEAP32[$2>>2]|0; - _sqlite3OpenTable($296,$297,$298,$299,105); - $300 = HEAP32[$db>>2]|0; - $301 = ((($300)) + 24|0); - $302 = HEAP32[$301>>2]|0; - $303 = $302 & 268435456; - $304 = ($303|0)==(0); - do { - if ($304) { - $305 = HEAP32[$2>>2]|0; - $306 = ((($305)) + 32|0); - $307 = HEAP16[$306>>1]|0; - $308 = $307 << 16 >> 16; - $309 = ($308|0)<(0); - if ($309) { - $310 = HEAP32[$2>>2]|0; - $311 = ((($310)) + 8|0); - $312 = HEAP32[$311>>2]|0; - $313 = ($312|0)!=(0|0); - $314 = HEAP32[$destHasUniqueIdx>>2]|0; - $315 = ($314|0)!=(0); - $or$cond = $313 | $315; - if (!($or$cond)) { - label = 87; + $141 = HEAP32[$21>>2]|0; + $142 = (($141) + 1)|0; + HEAP32[$21>>2] = $142; + $143 = HEAP8[$17>>0]|0; + $144 = $143 << 24 >> 24; + $145 = ($144|0)==(37); + do { + if ($145) { + $146 = HEAP32[$8>>2]|0; + $147 = HEAP32[$21>>2]|0; + $148 = (($146) + ($147)|0); + $149 = HEAP8[$148>>0]|0; + $150 = $149&255; + $151 = (20063 + ($150)|0); + $152 = HEAP8[$151>>0]|0; + $153 = $152&255; + $154 = $153 & 8; + $155 = ($154|0)!=(0); + if ($155) { + $156 = HEAP32[$8>>2]|0; + $157 = HEAP32[$21>>2]|0; + $158 = (($157) + 1)|0; + $159 = (($156) + ($158)|0); + $160 = HEAP8[$159>>0]|0; + $161 = $160&255; + $162 = (20063 + ($161)|0); + $163 = HEAP8[$162>>0]|0; + $164 = $163&255; + $165 = $164 & 8; + $166 = ($165|0)!=(0); + if ($166) { + $167 = HEAP32[$8>>2]|0; + $168 = HEAP32[$21>>2]|0; + $169 = (($168) + 1)|0; + HEAP32[$21>>2] = $169; + $170 = (($167) + ($168)|0); + $171 = HEAP8[$170>>0]|0; + $172 = $171 << 24 >> 24; + $173 = (_sqlite3HexToInt($172)|0); + $174 = $173&255; + $175 = $174 << 4; + HEAP32[$24>>2] = $175; + $176 = HEAP32[$8>>2]|0; + $177 = HEAP32[$21>>2]|0; + $178 = (($177) + 1)|0; + HEAP32[$21>>2] = $178; + $179 = (($176) + ($177)|0); + $180 = HEAP8[$179>>0]|0; + $181 = $180 << 24 >> 24; + $182 = (_sqlite3HexToInt($181)|0); + $183 = $182&255; + $184 = HEAP32[$24>>2]|0; + $185 = (($184) + ($183))|0; + HEAP32[$24>>2] = $185; + $186 = HEAP32[$24>>2]|0; + $187 = ($186|0)==(0); + if (!($187)) { + $217 = HEAP32[$24>>2]|0; + $218 = $217&255; + HEAP8[$17>>0] = $218; + break; + } + while(1) { + $188 = HEAP32[$8>>2]|0; + $189 = HEAP32[$21>>2]|0; + $190 = (($188) + ($189)|0); + $191 = HEAP8[$190>>0]|0; + HEAP8[$17>>0] = $191; + $192 = $191 << 24 >> 24; + $193 = ($192|0)!=(0); + if (!($193)) { + continue L27; + } + $194 = HEAP8[$17>>0]|0; + $195 = $194 << 24 >> 24; + $196 = ($195|0)!=(35); + if (!($196)) { + continue L27; + } + $197 = HEAP32[$20>>2]|0; + $198 = ($197|0)!=(0); + if (!($198)) { + $199 = HEAP8[$17>>0]|0; + $200 = $199 << 24 >> 24; + $201 = ($200|0)!=(63); + if (!($201)) { + continue L27; + } + } + $202 = HEAP32[$20>>2]|0; + $203 = ($202|0)!=(1); + if (!($203)) { + $204 = HEAP8[$17>>0]|0; + $205 = $204 << 24 >> 24; + $206 = ($205|0)!=(61); + if (!($206)) { + continue L27; + } + $207 = HEAP8[$17>>0]|0; + $208 = $207 << 24 >> 24; + $209 = ($208|0)!=(38); + if (!($209)) { + continue L27; + } + } + $210 = HEAP32[$20>>2]|0; + $211 = ($210|0)!=(2); + if (!($211)) { + $212 = HEAP8[$17>>0]|0; + $213 = $212 << 24 >> 24; + $214 = ($213|0)!=(38); + if (!($214)) { + continue L27; + } + } + $215 = HEAP32[$21>>2]|0; + $216 = (($215) + 1)|0; + HEAP32[$21>>2] = $216; + } + } else { + label = 37; + } + } else { + label = 37; } } else { - $$old = HEAP32[$destHasUniqueIdx>>2]|0; - $$old1 = ($$old|0)!=(0); - if (!($$old1)) { - label = 87; - } - } - if ((label|0) == 87) { - $316 = HEAP32[$4>>2]|0; - $317 = ($316|0)!=(2); - $318 = HEAP32[$4>>2]|0; - $319 = ($318|0)!=(1); - $or$cond4 = $317 & $319; - if (!($or$cond4)) { - break; - } + label = 37; } - $320 = HEAP32[$v>>2]|0; - $321 = HEAP32[$iDest>>2]|0; - $322 = (_sqlite3VdbeAddOp2($320,57,$321,0)|0); - HEAP32[$addr1>>2] = $322; - $323 = HEAP32[$v>>2]|0; - $324 = (_sqlite3VdbeAddOp0($323,13)|0); - HEAP32[$emptyDestTest>>2] = $324; - $325 = HEAP32[$v>>2]|0; - $326 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($325,$326); - } - } while(0); - $327 = HEAP32[$pSrc>>2]|0; - $328 = ((($327)) + 42|0); - $329 = HEAP8[$328>>0]|0; - $330 = $329&255; - $331 = $330 & 32; - $332 = ($331|0)==(0); - $333 = HEAP32[$1>>2]|0; - if ($332) { - $334 = HEAP32[$iSrc>>2]|0; - $335 = HEAP32[$iDbSrc>>2]|0; - $336 = HEAP32[$pSrc>>2]|0; - _sqlite3OpenTable($333,$334,$335,$336,104); - $337 = HEAP32[$v>>2]|0; - $338 = HEAP32[$iSrc>>2]|0; - $339 = (_sqlite3VdbeAddOp2($337,57,$338,0)|0); - HEAP32[$emptySrcTest>>2] = $339; - $340 = HEAP32[$2>>2]|0; - $341 = ((($340)) + 32|0); - $342 = HEAP16[$341>>1]|0; - $343 = $342 << 16 >> 16; - $344 = ($343|0)>=(0); - do { - if ($344) { - $345 = HEAP32[$v>>2]|0; - $346 = HEAP32[$iSrc>>2]|0; - $347 = HEAP32[$regRowid>>2]|0; - $348 = (_sqlite3VdbeAddOp2($345,123,$346,$347)|0); - HEAP32[$addr1>>2] = $348; - $349 = HEAP32[$v>>2]|0; - $350 = HEAP32[$iDest>>2]|0; - $351 = HEAP32[$regRowid>>2]|0; - $352 = (_sqlite3VdbeAddOp3($349,33,$350,0,$351)|0); - HEAP32[$addr2>>2] = $352; - $353 = HEAP32[$1>>2]|0; - $354 = HEAP32[$4>>2]|0; - $355 = HEAP32[$2>>2]|0; - _sqlite3RowidConstraint($353,$354,$355); - $356 = HEAP32[$v>>2]|0; - $357 = HEAP32[$addr2>>2]|0; - _sqlite3VdbeJumpHere($356,$357); - $358 = HEAP32[$1>>2]|0; - $359 = HEAP32[$regAutoinc>>2]|0; - $360 = HEAP32[$regRowid>>2]|0; - _autoIncStep($358,$359,$360); - } else { - $361 = HEAP32[$2>>2]|0; - $362 = ((($361)) + 8|0); - $363 = HEAP32[$362>>2]|0; - $364 = ($363|0)==(0|0); - $365 = HEAP32[$v>>2]|0; - if ($364) { - $366 = HEAP32[$iDest>>2]|0; - $367 = HEAP32[$regRowid>>2]|0; - $368 = (_sqlite3VdbeAddOp2($365,114,$366,$367)|0); - HEAP32[$addr1>>2] = $368; - break; + } while(0); + L51: do { + if ((label|0) == 37) { + label = 0; + $219 = HEAP32[$20>>2]|0; + $220 = ($219|0)==(1); + do { + if ($220) { + $221 = HEAP8[$17>>0]|0; + $222 = $221 << 24 >> 24; + $223 = ($222|0)==(38); + if (!($223)) { + $224 = HEAP8[$17>>0]|0; + $225 = $224 << 24 >> 24; + $226 = ($225|0)==(61); + if (!($226)) { + break; + } + } + $227 = HEAP32[$16>>2]|0; + $228 = HEAP32[$22>>2]|0; + $229 = (($228) - 1)|0; + $230 = (($227) + ($229)|0); + $231 = HEAP8[$230>>0]|0; + $232 = $231 << 24 >> 24; + $233 = ($232|0)==(0); + if ($233) { + while(1) { + $234 = HEAP32[$8>>2]|0; + $235 = HEAP32[$21>>2]|0; + $236 = (($234) + ($235)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237 << 24 >> 24; + $239 = ($238|0)!=(0); + if (!($239)) { + continue L27; + } + $240 = HEAP32[$8>>2]|0; + $241 = HEAP32[$21>>2]|0; + $242 = (($240) + ($241)|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243 << 24 >> 24; + $245 = ($244|0)!=(35); + if (!($245)) { + continue L27; + } + $246 = HEAP32[$8>>2]|0; + $247 = HEAP32[$21>>2]|0; + $248 = (($247) - 1)|0; + $249 = (($246) + ($248)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250 << 24 >> 24; + $252 = ($251|0)!=(38); + if (!($252)) { + continue L27; + } + $253 = HEAP32[$21>>2]|0; + $254 = (($253) + 1)|0; + HEAP32[$21>>2] = $254; + } + } else { + $255 = HEAP8[$17>>0]|0; + $256 = $255 << 24 >> 24; + $257 = ($256|0)==(38); + if ($257) { + $258 = HEAP32[$16>>2]|0; + $259 = HEAP32[$22>>2]|0; + $260 = (($259) + 1)|0; + HEAP32[$22>>2] = $260; + $261 = (($258) + ($259)|0); + HEAP8[$261>>0] = 0; + } else { + HEAP32[$20>>2] = 2; + } + HEAP8[$17>>0] = 0; + break L51; + } + } + } while(0); + $262 = HEAP32[$20>>2]|0; + $263 = ($262|0)==(0); + if ($263) { + $264 = HEAP8[$17>>0]|0; + $265 = $264 << 24 >> 24; + $266 = ($265|0)==(63); + if (!($266)) { + label = 51; + } } else { - $369 = HEAP32[$iSrc>>2]|0; - $370 = HEAP32[$regRowid>>2]|0; - $371 = (_sqlite3VdbeAddOp2($365,123,$369,$370)|0); - HEAP32[$addr1>>2] = $371; - break; + label = 51; + } + if ((label|0) == 51) { + label = 0; + $267 = HEAP32[$20>>2]|0; + $268 = ($267|0)==(2); + if (!($268)) { + break; + } + $269 = HEAP8[$17>>0]|0; + $270 = $269 << 24 >> 24; + $271 = ($270|0)==(38); + if (!($271)) { + break; + } } + HEAP8[$17>>0] = 0; + HEAP32[$20>>2] = 1; } } while(0); - $372 = HEAP32[$v>>2]|0; - $373 = HEAP32[$iSrc>>2]|0; - $374 = HEAP32[$regData>>2]|0; - (_sqlite3VdbeAddOp2($372,122,$373,$374)|0); - $375 = HEAP32[$v>>2]|0; - $376 = HEAP32[$iDest>>2]|0; - $377 = HEAP32[$regData>>2]|0; - $378 = HEAP32[$regRowid>>2]|0; - $379 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp4($375,115,$376,$377,$378,$379,-20)|0); - $380 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($380,11); - $381 = HEAP32[$v>>2]|0; - $382 = HEAP32[$iSrc>>2]|0; - $383 = HEAP32[$addr1>>2]|0; - (_sqlite3VdbeAddOp2($381,7,$382,$383)|0); - $384 = HEAP32[$v>>2]|0; - $385 = HEAP32[$iSrc>>2]|0; - (_sqlite3VdbeAddOp2($384,111,$385,0)|0); - $386 = HEAP32[$v>>2]|0; - $387 = HEAP32[$iDest>>2]|0; - (_sqlite3VdbeAddOp2($386,111,$387,0)|0); - } else { - $388 = HEAP32[$5>>2]|0; - $389 = HEAP32[$2>>2]|0; - $390 = ((($389)) + 28|0); - $391 = HEAP32[$390>>2]|0; - $392 = HEAP32[$2>>2]|0; - $393 = HEAP32[$392>>2]|0; - _sqlite3TableLock($333,$388,$391,1,$393); - $394 = HEAP32[$1>>2]|0; - $395 = HEAP32[$iDbSrc>>2]|0; - $396 = HEAP32[$pSrc>>2]|0; - $397 = ((($396)) + 28|0); - $398 = HEAP32[$397>>2]|0; - $399 = HEAP32[$pSrc>>2]|0; - $400 = HEAP32[$399>>2]|0; - _sqlite3TableLock($394,$395,$398,0,$400); - } - $401 = HEAP32[$2>>2]|0; - $402 = ((($401)) + 8|0); - $403 = HEAP32[$402>>2]|0; - HEAP32[$pDestIdx>>2] = $403; + $272 = HEAP8[$17>>0]|0; + $273 = HEAP32[$16>>2]|0; + $274 = HEAP32[$22>>2]|0; + $275 = (($274) + 1)|0; + HEAP32[$22>>2] = $275; + $276 = (($273) + ($274)|0); + HEAP8[$276>>0] = $272; + } + $277 = HEAP32[$20>>2]|0; + $278 = ($277|0)==(1); + if ($278) { + $279 = HEAP32[$16>>2]|0; + $280 = HEAP32[$22>>2]|0; + $281 = (($280) + 1)|0; + HEAP32[$22>>2] = $281; + $282 = (($279) + ($280)|0); + HEAP8[$282>>0] = 0; + } + $283 = HEAP32[$16>>2]|0; + $284 = HEAP32[$22>>2]|0; + $285 = (($284) + 1)|0; + HEAP32[$22>>2] = $285; + $286 = (($283) + ($284)|0); + HEAP8[$286>>0] = 0; + $287 = HEAP32[$16>>2]|0; + $288 = HEAP32[$22>>2]|0; + $289 = (($288) + 1)|0; + HEAP32[$22>>2] = $289; + $290 = (($287) + ($288)|0); + HEAP8[$290>>0] = 0; + $291 = HEAP32[$16>>2]|0; + $292 = HEAP32[$16>>2]|0; + $293 = (_sqlite3Strlen30($292)|0); + $294 = (($293) + 1)|0; + $295 = (($291) + ($294)|0); + HEAP32[$19>>2] = $295; while(1) { - $404 = HEAP32[$pDestIdx>>2]|0; - $405 = ($404|0)!=(0|0); - if (!($405)) { - break; + $296 = HEAP32[$19>>2]|0; + $297 = HEAP8[$296>>0]|0; + $298 = ($297<<24>>24)!=(0); + if (!($298)) { + label = 84; + break L1; } - HEAP8[$idxInsFlags>>0] = 0; - $406 = HEAP32[$pSrc>>2]|0; - $407 = ((($406)) + 8|0); - $408 = HEAP32[$407>>2]|0; - HEAP32[$pSrcIdx>>2] = $408; - while(1) { - $409 = HEAP32[$pSrcIdx>>2]|0; - $410 = ($409|0)!=(0|0); - if (!($410)) { - break; - } - $411 = HEAP32[$pDestIdx>>2]|0; - $412 = HEAP32[$pSrcIdx>>2]|0; - $413 = (_xferCompatibleIndex($411,$412)|0); - $414 = ($413|0)!=(0); - if ($414) { - break; + $299 = HEAP32[$19>>2]|0; + $300 = (_sqlite3Strlen30($299)|0); + HEAP32[$25>>2] = $300; + $301 = HEAP32[$19>>2]|0; + $302 = HEAP32[$25>>2]|0; + $303 = (($302) + 1)|0; + $304 = (($301) + ($303)|0); + HEAP32[$26>>2] = $304; + $305 = HEAP32[$26>>2]|0; + $306 = (_sqlite3Strlen30($305)|0); + HEAP32[$27>>2] = $306; + $307 = HEAP32[$25>>2]|0; + $308 = ($307|0)==(3); + if ($308) { + $309 = HEAP32[$19>>2]|0; + $310 = (_memcmp(30960,$309,3)|0); + $311 = ($310|0)==(0); + if ($311) { + $312 = HEAP32[$26>>2]|0; + HEAP32[$15>>2] = $312; + } else { + label = 62; } - $415 = HEAP32[$pSrcIdx>>2]|0; - $416 = ((($415)) + 20|0); - $417 = HEAP32[$416>>2]|0; - HEAP32[$pSrcIdx>>2] = $417; + } else { + label = 62; } - $418 = HEAP32[$v>>2]|0; - $419 = HEAP32[$iSrc>>2]|0; - $420 = HEAP32[$pSrcIdx>>2]|0; - $421 = ((($420)) + 44|0); - $422 = HEAP32[$421>>2]|0; - $423 = HEAP32[$iDbSrc>>2]|0; - (_sqlite3VdbeAddOp3($418,104,$419,$422,$423)|0); - $424 = HEAP32[$1>>2]|0; - $425 = HEAP32[$pSrcIdx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($424,$425); - $426 = HEAP32[$v>>2]|0; - $427 = HEAP32[$iDest>>2]|0; - $428 = HEAP32[$pDestIdx>>2]|0; - $429 = ((($428)) + 44|0); - $430 = HEAP32[$429>>2]|0; - $431 = HEAP32[$5>>2]|0; - (_sqlite3VdbeAddOp3($426,105,$427,$430,$431)|0); - $432 = HEAP32[$1>>2]|0; - $433 = HEAP32[$pDestIdx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($432,$433); - $434 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($434,1); - $435 = HEAP32[$v>>2]|0; - $436 = HEAP32[$iSrc>>2]|0; - $437 = (_sqlite3VdbeAddOp2($435,57,$436,0)|0); - HEAP32[$addr1>>2] = $437; - $438 = HEAP32[$v>>2]|0; - $439 = HEAP32[$iSrc>>2]|0; - $440 = HEAP32[$regData>>2]|0; - (_sqlite3VdbeAddOp2($438,121,$439,$440)|0); - $441 = HEAP32[$db>>2]|0; - $442 = ((($441)) + 24|0); - $443 = HEAP32[$442>>2]|0; - $444 = $443 & 268435456; - $445 = ($444|0)!=(0); - do { - if ($445) { - HEAP32[$i>>2] = 0; + if ((label|0) == 62) { + label = 0; + HEAP32[$28>>2] = 0; + HEAP32[$29>>2] = 0; + HEAP32[$30>>2] = 0; + HEAP32[$31>>2] = 0; + $313 = HEAP32[$25>>2]|0; + $314 = ($313|0)==(5); + if ($314) { + $315 = HEAP32[$19>>2]|0; + $316 = (_memcmp(30964,$315,5)|0); + $317 = ($316|0)==(0); + if ($317) { + HEAP32[$30>>2] = 393216; + HEAP32[$28>>2] = 4432; + $318 = HEAP32[$30>>2]|0; + HEAP32[$31>>2] = $318; + HEAP32[$29>>2] = 30964; + } + } + $319 = HEAP32[$25>>2]|0; + $320 = ($319|0)==(4); + if ($320) { + $321 = HEAP32[$19>>2]|0; + $322 = (_memcmp(30970,$321,4)|0); + $323 = ($322|0)==(0); + if ($323) { + HEAP32[$30>>2] = 135; + HEAP32[$28>>2] = 4456; + $324 = HEAP32[$30>>2]|0; + $325 = HEAP32[$14>>2]|0; + $326 = $324 & $325; + HEAP32[$31>>2] = $326; + HEAP32[$29>>2] = 21047; + } + } + $327 = HEAP32[$28>>2]|0; + $328 = ($327|0)!=(0|0); + if ($328) { + HEAP32[$33>>2] = 0; + HEAP32[$32>>2] = 0; while(1) { - $446 = HEAP32[$i>>2]|0; - $447 = HEAP32[$pSrcIdx>>2]|0; - $448 = ((($447)) + 52|0); - $449 = HEAP16[$448>>1]|0; - $450 = $449&65535; - $451 = ($446|0)<($450|0); - if (!($451)) { + $329 = HEAP32[$28>>2]|0; + $330 = HEAP32[$32>>2]|0; + $331 = (($329) + ($330<<3)|0); + $332 = HEAP32[$331>>2]|0; + $333 = ($332|0)!=(0|0); + if (!($333)) { break; } - $452 = HEAP32[$i>>2]|0; - $453 = HEAP32[$pSrcIdx>>2]|0; - $454 = ((($453)) + 32|0); - $455 = HEAP32[$454>>2]|0; - $456 = (($455) + ($452<<2)|0); - $457 = HEAP32[$456>>2]|0; - HEAP32[$zColl>>2] = $457; - $458 = HEAP32[$zColl>>2]|0; - $459 = (_sqlite3_stricmp(34834,$458)|0); - $460 = ($459|0)!=(0); - if ($460) { - break; + $334 = HEAP32[$28>>2]|0; + $335 = HEAP32[$32>>2]|0; + $336 = (($334) + ($335<<3)|0); + $337 = HEAP32[$336>>2]|0; + HEAP32[$34>>2] = $337; + $338 = HEAP32[$27>>2]|0; + $339 = HEAP32[$34>>2]|0; + $340 = (_sqlite3Strlen30($339)|0); + $341 = ($338|0)==($340|0); + if ($341) { + $342 = HEAP32[$26>>2]|0; + $343 = HEAP32[$34>>2]|0; + $344 = HEAP32[$27>>2]|0; + $345 = (_memcmp($342,$343,$344)|0); + $346 = (0)==($345|0); + if ($346) { + label = 73; + break; + } } - $461 = HEAP32[$i>>2]|0; - $462 = (($461) + 1)|0; - HEAP32[$i>>2] = $462; + $352 = HEAP32[$32>>2]|0; + $353 = (($352) + 1)|0; + HEAP32[$32>>2] = $353; } - $463 = HEAP32[$i>>2]|0; - $464 = HEAP32[$pSrcIdx>>2]|0; - $465 = ((($464)) + 52|0); - $466 = HEAP16[$465>>1]|0; - $467 = $466&65535; - $468 = ($463|0)==($467|0); - if (!($468)) { + if ((label|0) == 73) { + label = 0; + $347 = HEAP32[$28>>2]|0; + $348 = HEAP32[$32>>2]|0; + $349 = (($347) + ($348<<3)|0); + $350 = ((($349)) + 4|0); + $351 = HEAP32[$350>>2]|0; + HEAP32[$33>>2] = $351; + } + $354 = HEAP32[$33>>2]|0; + $355 = ($354|0)==(0); + if ($355) { + label = 76; break; } - HEAP8[$idxInsFlags>>0] = 16; - $469 = HEAP32[$v>>2]|0; - $470 = HEAP32[$iDest>>2]|0; - (_sqlite3VdbeAddOp3($469,53,$470,0,-1)|0); - } - } while(0); - $471 = HEAP32[$pSrc>>2]|0; - $472 = ((($471)) + 42|0); - $473 = HEAP8[$472>>0]|0; - $474 = $473&255; - $475 = $474 & 32; - $476 = ($475|0)==(0); - do { - if (!($476)) { - $477 = HEAP32[$pDestIdx>>2]|0; - $478 = ((($477)) + 55|0); - $479 = HEAP8[$478>>0]|0; - $480 = $479 & 3; - $481 = $480&255; - $482 = ($481|0)==(2); - if (!($482)) { + $360 = HEAP32[$33>>2]|0; + $361 = $360 & -129; + $362 = HEAP32[$31>>2]|0; + $363 = ($361|0)>($362|0); + if ($363) { + label = 78; break; } - $483 = HEAP8[$idxInsFlags>>0]|0; - $484 = $483&255; - $485 = $484 | 1; - $486 = $485&255; - HEAP8[$idxInsFlags>>0] = $486; + $368 = HEAP32[$14>>2]|0; + $369 = HEAP32[$30>>2]|0; + $370 = $369 ^ -1; + $371 = $368 & $370; + $372 = HEAP32[$33>>2]|0; + $373 = $371 | $372; + HEAP32[$14>>2] = $373; } - } while(0); - $487 = HEAP32[$v>>2]|0; - $488 = HEAP32[$iDest>>2]|0; - $489 = HEAP32[$regData>>2]|0; - (_sqlite3VdbeAddOp3($487,126,$488,$489,1)|0); - $490 = HEAP32[$v>>2]|0; - $491 = HEAP8[$idxInsFlags>>0]|0; - _sqlite3VdbeChangeP5($490,$491); - $492 = HEAP32[$v>>2]|0; - $493 = HEAP32[$iSrc>>2]|0; - $494 = HEAP32[$addr1>>2]|0; - $495 = (($494) + 1)|0; - (_sqlite3VdbeAddOp2($492,7,$493,$495)|0); - $496 = HEAP32[$v>>2]|0; - $497 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($496,$497); - $498 = HEAP32[$v>>2]|0; - $499 = HEAP32[$iSrc>>2]|0; - (_sqlite3VdbeAddOp2($498,111,$499,0)|0); - $500 = HEAP32[$v>>2]|0; - $501 = HEAP32[$iDest>>2]|0; - (_sqlite3VdbeAddOp2($500,111,$501,0)|0); - $502 = HEAP32[$pDestIdx>>2]|0; - $503 = ((($502)) + 20|0); - $504 = HEAP32[$503>>2]|0; - HEAP32[$pDestIdx>>2] = $504; - } - $505 = HEAP32[$emptySrcTest>>2]|0; - $506 = ($505|0)!=(0); - if ($506) { - $507 = HEAP32[$v>>2]|0; - $508 = HEAP32[$emptySrcTest>>2]|0; - _sqlite3VdbeJumpHere($507,$508); - } - $509 = HEAP32[$1>>2]|0; - $510 = HEAP32[$regRowid>>2]|0; - _sqlite3ReleaseTempReg($509,$510); - $511 = HEAP32[$1>>2]|0; - $512 = HEAP32[$regData>>2]|0; - _sqlite3ReleaseTempReg($511,$512); - $513 = HEAP32[$emptyDestTest>>2]|0; - $514 = ($513|0)!=(0); - if ($514) { - $515 = HEAP32[$1>>2]|0; - _sqlite3AutoincrementEnd($515); - $516 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($516,75,0,0)|0); - $517 = HEAP32[$v>>2]|0; - $518 = HEAP32[$emptyDestTest>>2]|0; - _sqlite3VdbeJumpHere($517,$518); - $519 = HEAP32[$v>>2]|0; - $520 = HEAP32[$iDest>>2]|0; - (_sqlite3VdbeAddOp2($519,111,$520,0)|0); - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); - } else { - HEAP32[$0>>2] = 1; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); + } + $374 = HEAP32[$26>>2]|0; + $375 = HEAP32[$27>>2]|0; + $376 = (($375) + 1)|0; + $377 = (($374) + ($376)|0); + HEAP32[$19>>2] = $377; } - } - } - } - HEAP32[$0>>2] = 0; - $521 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($521|0); -} -function _autoIncBegin($pParse,$iDb,$pTab) { - $pParse = $pParse|0; - $iDb = $iDb|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $memId = 0, $pInfo = 0, $pToplevel = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $memId = sp + 8|0; - $pToplevel = sp + 4|0; - $pInfo = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $iDb; - HEAP32[$3>>2] = $pTab; - HEAP32[$memId>>2] = 0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 42|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 & 8; - $9 = ($8|0)!=(0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 & 268435456; - $15 = ($14|0)==(0); - if ($15) { - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 124|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)!=(0|0); - $20 = HEAP32[$1>>2]|0; - if ($19) { - $21 = ((($20)) + 124|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22; - } else { - $23 = $20; - } - HEAP32[$pToplevel>>2] = $23; - $24 = HEAP32[$pToplevel>>2]|0; - $25 = ((($24)) + 120|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$pInfo>>2] = $26; - while(1) { - $27 = HEAP32[$pInfo>>2]|0; - $28 = ($27|0)!=(0|0); - if ($28) { - $29 = HEAP32[$pInfo>>2]|0; - $30 = ((($29)) + 4|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$3>>2]|0; - $33 = ($31|0)!=($32|0); - $74 = $33; - } else { - $74 = 0; + if ((label|0) == 76) { + $356 = HEAP32[$29>>2]|0; + $357 = HEAP32[$26>>2]|0; + HEAP32[$vararg_buffer13>>2] = $356; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $357; + $358 = (_sqlite3_mprintf(30975,$vararg_buffer13)|0); + $359 = HEAP32[$12>>2]|0; + HEAP32[$359>>2] = $358; + HEAP32[$13>>2] = 1; + break; } - $34 = HEAP32[$pInfo>>2]|0; - if (!($74)) { + else if ((label|0) == 78) { + $364 = HEAP32[$29>>2]|0; + $365 = HEAP32[$26>>2]|0; + HEAP32[$vararg_buffer17>>2] = $364; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $365; + $366 = (_sqlite3_mprintf(30995,$vararg_buffer17)|0); + $367 = HEAP32[$12>>2]|0; + HEAP32[$367>>2] = $366; + HEAP32[$13>>2] = 3; break; } - $35 = HEAP32[$34>>2]|0; - HEAP32[$pInfo>>2] = $35; + } else { + label = 81; } - $36 = ($34|0)==(0|0); - do { - if ($36) { - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = (_sqlite3DbMallocRawNN($38,16,0)|0); - HEAP32[$pInfo>>2] = $39; - $40 = HEAP32[$pInfo>>2]|0; - $41 = ($40|0)==(0|0); - if (!($41)) { - $42 = HEAP32[$pToplevel>>2]|0; - $43 = ((($42)) + 120|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$pInfo>>2]|0; - HEAP32[$45>>2] = $44; - $46 = HEAP32[$pInfo>>2]|0; - $47 = HEAP32[$pToplevel>>2]|0; - $48 = ((($47)) + 120|0); - HEAP32[$48>>2] = $46; - $49 = HEAP32[$3>>2]|0; - $50 = HEAP32[$pInfo>>2]|0; - $51 = ((($50)) + 4|0); - HEAP32[$51>>2] = $49; - $52 = HEAP32[$2>>2]|0; - $53 = HEAP32[$pInfo>>2]|0; - $54 = ((($53)) + 8|0); - HEAP32[$54>>2] = $52; - $55 = HEAP32[$pToplevel>>2]|0; - $56 = ((($55)) + 44|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + 1)|0; - HEAP32[$56>>2] = $58; - $59 = HEAP32[$pToplevel>>2]|0; - $60 = ((($59)) + 44|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($61) + 1)|0; - HEAP32[$60>>2] = $62; - $63 = HEAP32[$pInfo>>2]|0; - $64 = ((($63)) + 12|0); - HEAP32[$64>>2] = $62; - $65 = HEAP32[$pToplevel>>2]|0; - $66 = ((($65)) + 44|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$66>>2] = $68; - break; - } - HEAP32[$0>>2] = 0; - $73 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($73|0); - } - } while(0); - $69 = HEAP32[$pInfo>>2]|0; - $70 = ((($69)) + 12|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[$memId>>2] = $71; - } - } - $72 = HEAP32[$memId>>2]|0; - HEAP32[$0>>2] = $72; - $73 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($73|0); -} -function _sqlite3VdbeEndCoroutine($v,$regYield) { - $v = $v|0; - $regYield = $regYield|0; - var $0 = 0, $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; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $regYield; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - (_sqlite3VdbeAddOp1($2,73,$3)|0); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 19|0); - HEAP8[$7>>0] = 0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 28|0); - HEAP32[$11>>2] = 0; - STACKTOP = sp;return; -} -function _readsTable($p,$iDb,$pTab) { - $p = $p|0; - $iDb = $iDb|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iEnd = 0, $pIndex = 0, $pOp = 0, $pVTab = 0, $tnum = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $v = sp + 24|0; - $i = sp + 20|0; - $iEnd = sp + 16|0; - $pVTab = sp + 12|0; - $pOp = sp + 8|0; - $pIndex = sp + 4|0; - $tnum = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iDb; - HEAP32[$3>>2] = $pTab; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3GetVdbe($4)|0); - HEAP32[$v>>2] = $5; - $6 = HEAP32[$v>>2]|0; - $7 = (_sqlite3VdbeCurrentAddr($6)|0); - HEAP32[$iEnd>>2] = $7; - $8 = HEAP32[$3>>2]|0; - $9 = ((($8)) + 42|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $11 & 16; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = (_sqlite3GetVTable($15,$16)|0); - $18 = $17; - } else { - $18 = 0; - } - HEAP32[$pVTab>>2] = $18; - HEAP32[$i>>2] = 1; - L4: while(1) { - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$iEnd>>2]|0; - $21 = ($19|0)<($20|0); - if (!($21)) { - label = 18; - break; + } else { + label = 81; } - $22 = HEAP32[$v>>2]|0; - $23 = HEAP32[$i>>2]|0; - $24 = (_sqlite3VdbeGetOp($22,$23)|0); - HEAP32[$pOp>>2] = $24; - $25 = HEAP32[$pOp>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)==(104); - L7: do { - if ($28) { - $29 = HEAP32[$pOp>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = ($31|0)==($32|0); - if ($33) { - $34 = HEAP32[$pOp>>2]|0; - $35 = ((($34)) + 8|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$tnum>>2] = $36; - $37 = HEAP32[$tnum>>2]|0; - $38 = HEAP32[$3>>2]|0; - $39 = ((($38)) + 28|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($37|0)==($40|0); - if ($41) { - label = 8; - break L4; - } - $42 = HEAP32[$3>>2]|0; - $43 = ((($42)) + 8|0); - $44 = HEAP32[$43>>2]|0; - HEAP32[$pIndex>>2] = $44; - while(1) { - $45 = HEAP32[$pIndex>>2]|0; - $46 = ($45|0)!=(0|0); - if (!($46)) { - break L7; - } - $47 = HEAP32[$tnum>>2]|0; - $48 = HEAP32[$pIndex>>2]|0; - $49 = ((($48)) + 44|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($47|0)==($50|0); - if ($51) { - label = 12; - break L4; - } - $52 = HEAP32[$pIndex>>2]|0; - $53 = ((($52)) + 20|0); - $54 = HEAP32[$53>>2]|0; - HEAP32[$pIndex>>2] = $54; - } - } - } - } while(0); - $55 = HEAP32[$pOp>>2]|0; - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = ($57|0)==(155); - if ($58) { - $59 = HEAP32[$pOp>>2]|0; - $60 = ((($59)) + 16|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$pVTab>>2]|0; - $63 = ($61|0)==($62|0); - if ($63) { - label = 16; + } while(0); + do { + if ((label|0) == 81) { + $378 = HEAP32[$18>>2]|0; + $379 = (($378) + 2)|0; + $380 = ($379|0)<(0); + $381 = $380 << 31 >> 31; + $382 = (_sqlite3_malloc64($379,$381)|0); + HEAP32[$16>>2] = $382; + $383 = HEAP32[$16>>2]|0; + $384 = ($383|0)!=(0|0); + if ($384) { + $385 = HEAP32[$16>>2]|0; + $386 = HEAP32[$8>>2]|0; + $387 = HEAP32[$18>>2]|0; + _memcpy(($385|0),($386|0),($387|0))|0; + $388 = HEAP32[$16>>2]|0; + $389 = HEAP32[$18>>2]|0; + $390 = (($388) + ($389)|0); + HEAP8[$390>>0] = 0; + $391 = HEAP32[$16>>2]|0; + $392 = HEAP32[$18>>2]|0; + $393 = (($392) + 1)|0; + $394 = (($391) + ($393)|0); + HEAP8[$394>>0] = 0; + $395 = HEAP32[$14>>2]|0; + $396 = $395 & -65; + HEAP32[$14>>2] = $396; + label = 84; break; } + HEAP32[$6>>2] = 7; + $414 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($414|0); } - $64 = HEAP32[$i>>2]|0; - $65 = (($64) + 1)|0; - HEAP32[$i>>2] = $65; - } - if ((label|0) == 8) { - HEAP32[$0>>2] = 1; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); + } while(0); + if ((label|0) == 84) { + $397 = HEAP32[$15>>2]|0; + $398 = (_sqlite3_vfs_find($397)|0); + $399 = HEAP32[$10>>2]|0; + HEAP32[$399>>2] = $398; + $400 = HEAP32[$10>>2]|0; + $401 = HEAP32[$400>>2]|0; + $402 = ($401|0)==(0|0); + if ($402) { + $403 = HEAP32[$15>>2]|0; + HEAP32[$vararg_buffer21>>2] = $403; + $404 = (_sqlite3_mprintf(31019,$vararg_buffer21)|0); + $405 = HEAP32[$12>>2]|0; + HEAP32[$405>>2] = $404; + HEAP32[$13>>2] = 1; + } + } + $406 = HEAP32[$13>>2]|0; + $407 = ($406|0)!=(0); + if ($407) { + $408 = HEAP32[$16>>2]|0; + _sqlite3_free($408); + HEAP32[$16>>2] = 0; } - else if ((label|0) == 12) { - HEAP32[$0>>2] = 1; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); + $409 = HEAP32[$14>>2]|0; + $410 = HEAP32[$9>>2]|0; + HEAP32[$410>>2] = $409; + $411 = HEAP32[$16>>2]|0; + $412 = HEAP32[$11>>2]|0; + HEAP32[$412>>2] = $411; + $413 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $413; + $414 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($414|0); +} +function _sqlite3SchemaGet($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)!=(0|0); + if ($6) { + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3BtreeSchema($7,84,160)|0); + HEAP32[$4>>2] = $8; + } else { + $9 = (_sqlite3DbMallocZero(0,84,0)|0); + HEAP32[$4>>2] = $9; } - else if ((label|0) == 16) { - HEAP32[$0>>2] = 1; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + $12 = HEAP32[$2>>2]|0; + _sqlite3OomFault($12); + $28 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($28|0); } - else if ((label|0) == 18) { - HEAP32[$0>>2] = 0; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 76|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = (0)==($16|0); + if (!($17)) { + $28 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($28|0); } - return (0)|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 8|0); + _sqlite3HashInit($19); + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 24|0); + _sqlite3HashInit($21); + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 40|0); + _sqlite3HashInit($23); + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 56|0); + _sqlite3HashInit($25); + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 77|0); + HEAP8[$27>>0] = 1; + $28 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($28|0); } -function _sqlite3ExprCodeAndCache($pParse,$pExpr,$target) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $target = $target|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iMem = 0, $v = 0; - var label = 0, sp = 0; +function _sqlite3PagerLockingMode($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $v = sp + 4|0; - $iMem = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $target; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$v>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - _sqlite3ExprCode($6,$7,$8); - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 44|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[$10>>2] = $12; - HEAP32[$iMem>>2] = $12; - $13 = HEAP32[$v>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$iMem>>2]|0; - (_sqlite3VdbeAddOp2($13,84,$14,$15)|0); - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$iMem>>2]|0; - _exprToRegister($16,$17); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>=(0); + if ($5) { + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 13|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)!=(0); + if (!($9)) { + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 216|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3WalHeapMemory($12)|0); + $14 = ($13|0)!=(0); + if (!($14)) { + $15 = HEAP32[$3>>2]|0; + $16 = $15&255; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 4|0); + HEAP8[$18>>0] = $16; + } + } + } + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + STACKTOP = sp;return ($22|0); } -function _sqlite3TableAffinity($v,$pTab,$iReg) { - $v = $v|0; - $pTab = $pTab|0; - $iReg = $iReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $zColAff = 0, label = 0, sp = 0; +function _sqlite3BtreeSecureDelete($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 12|0; - $i = sp + 8|0; - $zColAff = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $iReg; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 20|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$zColAff>>2] = $5; - $6 = HEAP32[$zColAff>>2]|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; $7 = ($6|0)==(0|0); if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = (_sqlite3VdbeDb($8)|0); - HEAP32[$db>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 34|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12 << 16 >> 16; - $14 = (($13) + 1)|0; - $15 = ($14|0)<(0); - $16 = $15 << 31 >> 31; - $17 = (_sqlite3DbMallocRaw(0,$14,$16)|0); - HEAP32[$zColAff>>2] = $17; - $18 = HEAP32[$zColAff>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - $20 = HEAP32[$db>>2]|0; - _sqlite3OomFault($20); - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 34|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24 << 16 >> 16; - $26 = ($21|0)<($25|0); - if (!($26)) { - break; - } - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + ($27<<4)|0); - $32 = ((($31)) + 13|0); - $33 = HEAP8[$32>>0]|0; - $34 = HEAP32[$i>>2]|0; - $35 = HEAP32[$zColAff>>2]|0; - $36 = (($35) + ($34)|0); - HEAP8[$36>>0] = $33; - $37 = HEAP32[$i>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$i>>2] = $38; - } - while(1) { - $39 = HEAP32[$i>>2]|0; - $40 = (($39) + -1)|0; - HEAP32[$i>>2] = $40; - $41 = HEAP32[$zColAff>>2]|0; - $42 = (($41) + ($39)|0); - HEAP8[$42>>0] = 0; - $43 = HEAP32[$i>>2]|0; - $44 = ($43|0)>=(0); - if (!($44)) { - break; - } - $45 = HEAP32[$i>>2]|0; - $46 = HEAP32[$zColAff>>2]|0; - $47 = (($46) + ($45)|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48 << 24 >> 24; - $50 = ($49|0)==(65); - if (!($50)) { - break; - } - } - $51 = HEAP32[$zColAff>>2]|0; - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 20|0); - HEAP32[$53>>2] = $51; + HEAP32[$2>>2] = 0; + $40 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($40|0); } - $54 = HEAP32[$zColAff>>2]|0; - $55 = (_sqlite3Strlen30($54)|0); - HEAP32[$i>>2] = $55; - $56 = HEAP32[$i>>2]|0; - $57 = ($56|0)!=(0); - if (!($57)) { - STACKTOP = sp;return; + $8 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($8); + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)>=(0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 22|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + $17 = $16 & -5; + $18 = $17&65535; + HEAP16[$14>>1] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 22|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = $26 | 4; + $28 = $27&65535; + HEAP16[$24>>1] = $28; + } } - $58 = HEAP32[$2>>2]|0; - $59 = ($58|0)!=(0); - $60 = HEAP32[$0>>2]|0; - if ($59) { - $61 = HEAP32[$2>>2]|0; - $62 = HEAP32[$i>>2]|0; - $63 = HEAP32[$zColAff>>2]|0; - $64 = HEAP32[$i>>2]|0; - (_sqlite3VdbeAddOp4($60,98,$61,$62,0,$63,$64)|0); - STACKTOP = sp;return; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 22|0); + $33 = HEAP16[$32>>1]|0; + $34 = $33&65535; + $35 = $34 & 4; + $36 = ($35|0)!=(0); + $37 = $36&1; + HEAP32[$5>>2] = $37; + $38 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($38); + $39 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $39; + $40 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($40|0); +} +function _sqlite3BtreeSetPagerFlags($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$2>>2]|0; + _sqlite3BtreeEnter($8); + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$3>>2]|0; + _sqlite3PagerSetFlags($10,$11); + $12 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($12); + STACKTOP = sp;return 0; +} +function _sqlite3PagerSetFlags($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink2 = 0, $$sink3 = 0, $$sink5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = $5 & 7; + HEAP32[$4>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 13|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + if ($10) { + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 7|0); + HEAP8[$12>>0] = 1; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 8|0); + HEAP8[$14>>0] = 0; + $15 = HEAP32[$2>>2]|0; + $$sink = 0;$$sink2 = $15; } else { - $65 = HEAP32[$zColAff>>2]|0; - $66 = HEAP32[$i>>2]|0; - _sqlite3VdbeChangeP4($60,-1,$65,$66); + $16 = HEAP32[$4>>2]|0; + $17 = ($16|0)==(1); + $18 = $17 ? 1 : 0; + $19 = $18&255; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 7|0); + HEAP8[$21>>0] = $19; + $22 = HEAP32[$4>>2]|0; + $23 = ($22>>>0)>=(3); + $24 = $23 ? 1 : 0; + $25 = $24&255; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 8|0); + HEAP8[$27>>0] = $25; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)==(4); + $30 = $29 ? 1 : 0; + $31 = $30&255; + $32 = HEAP32[$2>>2]|0; + $$sink = $31;$$sink2 = $32; + } + $33 = ((($$sink2)) + 9|0); + HEAP8[$33>>0] = $$sink; + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 7|0); + $36 = HEAP8[$35>>0]|0; + $37 = ($36<<24>>24)!=(0); + do { + if ($37) { + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 12|0); + HEAP8[$39>>0] = 0; + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 10|0); + HEAP8[$41>>0] = 0; + } else { + $42 = HEAP32[$3>>2]|0; + $43 = $42 & 8; + $44 = ($43|0)!=(0); + if ($44) { + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 12|0); + HEAP8[$46>>0] = 3; + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 10|0); + HEAP8[$48>>0] = 3; + break; + } else { + $49 = HEAP32[$3>>2]|0; + $50 = $49 & 16; + $51 = ($50|0)!=(0); + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 12|0); + HEAP8[$53>>0] = 2; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 10|0); + $$sink3 = $51 ? 3 : 2; + HEAP8[$55>>0] = $$sink3; + break; + } + } + } while(0); + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP8[$57>>0]|0; + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 11|0); + HEAP8[$60>>0] = $58; + $61 = HEAP32[$2>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP8[$62>>0]|0; + $64 = ($63<<24>>24)!=(0); + if (!($64)) { + $71 = HEAP32[$3>>2]|0; + $72 = $71 & 32; + $73 = ($72|0)!=(0); + $74 = HEAP32[$2>>2]|0; + $75 = ((($74)) + 21|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = $77 | 1; + $79 = $77 & -2; + $$sink5 = $73 ? $79 : $78; + $80 = $$sink5&255; + HEAP8[$75>>0] = $80; STACKTOP = sp;return; } + $65 = HEAP32[$2>>2]|0; + $66 = ((($65)) + 11|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $68 | 32; + $70 = $69&255; + HEAP8[$66>>0] = $70; + $71 = HEAP32[$3>>2]|0; + $72 = $71 & 32; + $73 = ($72|0)!=(0); + $74 = HEAP32[$2>>2]|0; + $75 = ((($74)) + 21|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = $77 | 1; + $79 = $77 & -2; + $$sink5 = $73 ? $79 : $78; + $80 = $$sink5&255; + HEAP8[$75>>0] = $80; + STACKTOP = sp;return; } -function _sqlite3CodeRowTrigger($pParse,$pTrigger,$op,$pChanges,$tr_tm,$pTab,$reg,$orconf,$ignoreJump) { - $pParse = $pParse|0; - $pTrigger = $pTrigger|0; - $op = $op|0; - $pChanges = $pChanges|0; - $tr_tm = $tr_tm|0; - $pTab = $pTab|0; - $reg = $reg|0; - $orconf = $orconf|0; - $ignoreJump = $ignoreJump|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0; - var label = 0, sp = 0; +function _sqlite3WalHeapMemory($0) { + $0 = $0|0; + var $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 + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; - $6 = sp + 12|0; - $7 = sp + 8|0; - $8 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTrigger; - HEAP32[$2>>2] = $op; - HEAP32[$3>>2] = $pChanges; - HEAP32[$4>>2] = $tr_tm; - HEAP32[$5>>2] = $pTab; - HEAP32[$6>>2] = $reg; - HEAP32[$7>>2] = $orconf; - HEAP32[$8>>2] = $ignoreJump; - $9 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $9; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + $10 = 0; + $9 = $10&1; + STACKTOP = sp;return ($9|0); + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 43|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($7|0)==(2); + $10 = $8; + $9 = $10&1; + STACKTOP = sp;return ($9|0); +} +function _sqlite3CodeVerifyNamedSchema($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$4>>2] = $8; + HEAP32[$5>>2] = 0; while(1) { - $10 = HEAP32[$p>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)<($12|0); + if (!($13)) { break; } - $12 = HEAP32[$p>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = HEAP32[$2>>2]|0; - $17 = ($15|0)==($16|0); - if ($17) { - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 9|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = HEAP32[$4>>2]|0; - $23 = ($21|0)==($22|0); - if ($23) { - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 16|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$3>>2]|0; - $28 = (_checkColumnOverlap($26,$27)|0); - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$p>>2]|0; - $32 = HEAP32[$5>>2]|0; - $33 = HEAP32[$6>>2]|0; - $34 = HEAP32[$7>>2]|0; - $35 = HEAP32[$8>>2]|0; - _sqlite3CodeRowTriggerDirect($30,$31,$32,$33,$34,$35); + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = (($16) + ($17<<4)|0); + HEAP32[$6>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + do { + if ($22) { + $23 = HEAP32[$3>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3StrICmp($25,$27)|0); + $29 = (0)==($28|0); + if (!($29)) { + break; + } } + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$5>>2]|0; + _sqlite3CodeVerifySchema($30,$31); } - } - $36 = HEAP32[$p>>2]|0; - $37 = ((($36)) + 32|0); - $38 = HEAP32[$37>>2]|0; - HEAP32[$p>>2] = $38; + } while(0); + $32 = HEAP32[$5>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$5>>2] = $33; } STACKTOP = sp;return; } -function _autoIncStep($pParse,$memId,$regRowid) { - $pParse = $pParse|0; - $memId = $memId|0; - $regRowid = $regRowid|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3DropTriggerPtr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $memId; - HEAP32[$2>>2] = $regRowid; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $2 = sp + 44|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3SchemaToIndex($14,$17)|0); + HEAP32[$7>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = (_tableOfTrigger($19)|0); + HEAP32[$4>>2] = $20; + HEAP32[$8>>2] = 16; + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$7>>2]|0; + $25 = (($23) + ($24<<4)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$9>>2] = $26; + $27 = HEAP32[$7>>2]|0; + $28 = ($27|0)==(1); + $29 = $28 ? 26433 : 26452; + HEAP32[$10>>2] = $29; + $30 = HEAP32[$7>>2]|0; + $31 = ($30|0)==(1); + if ($31) { + HEAP32[$8>>2] = 14; + } + $32 = HEAP32[$2>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$9>>2]|0; + $39 = (_sqlite3AuthCheck($32,$33,$35,$37,$38)|0); + $40 = ($39|0)!=(0); + if ($40) { STACKTOP = sp;return; } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($7,145,$8,$9)|0); + $41 = HEAP32[$2>>2]|0; + $42 = HEAP32[$10>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = (_sqlite3AuthCheck($41,9,$42,0,$43)|0); + $45 = ($44|0)!=(0); + if ($45) { + STACKTOP = sp;return; + } + $46 = HEAP32[$2>>2]|0; + $47 = (_sqlite3GetVdbe($46)|0); + HEAP32[$5>>2] = $47; + $48 = ($47|0)!=(0|0); + if (!($48)) { + STACKTOP = sp;return; + } + $49 = HEAP32[$2>>2]|0; + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 16|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$7>>2]|0; + $54 = (($52) + ($53<<4)|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$7>>2]|0; + $57 = ($56|0)==(1); + $58 = $57 ? 26433 : 26452; + $59 = HEAP32[$3>>2]|0; + $60 = HEAP32[$59>>2]|0; + HEAP32[$vararg_buffer>>2] = $55; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $58; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $60; + _sqlite3NestedParse($49,31087,$vararg_buffer); + $61 = HEAP32[$2>>2]|0; + $62 = HEAP32[$7>>2]|0; + _sqlite3ChangeCookie($61,$62); + $63 = HEAP32[$5>>2]|0; + $64 = HEAP32[$7>>2]|0; + $65 = HEAP32[$3>>2]|0; + $66 = HEAP32[$65>>2]|0; + (_sqlite3VdbeAddOp4($63,140,$64,0,0,$66,0)|0); STACKTOP = sp;return; } -function _sqlite3ExprCodeFactorable($pParse,$pExpr,$target) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $target = $target|0; - var $0 = 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, label = 0, sp = 0; +function _tableOfTrigger($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $target; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 23|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3ExprIsConstant($8)|0); - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$2>>2]|0; - _sqlite3ExprCodeAtInit($11,$12,$13,0); - STACKTOP = sp;return; - } + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3HashFind($5,$8)|0); + STACKTOP = sp;return ($9|0); +} +function _triggerStepAllocate($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 12|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = (36 + ($11))|0; + $13 = (($12) + 1)|0; + $14 = (_sqlite3DbMallocZero($8,$13,0)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { + $31 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($31|0); } - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$2>>2]|0; - _sqlite3ExprCode($14,$15,$16); - STACKTOP = sp;return; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 36|0); + HEAP32[$7>>2] = $18; + $19 = HEAP32[$7>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + _memcpy(($19|0),($21|0),($24|0))|0; + $25 = HEAP32[$7>>2]|0; + _sqlite3Dequote($25); + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 12|0); + HEAP32[$28>>2] = $26; + $29 = HEAP8[$4>>0]|0; + $30 = HEAP32[$6>>2]|0; + HEAP8[$30>>0] = $29; + $31 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($31|0); } -function _sqlite3VtabMakeWritable($pParse,$pTab) { - $pParse = $pParse|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $apVtabLock = 0, $i = 0, $n = 0, $pToplevel = 0, label = 0, sp = 0; +function _sqlite3SrcListLookup($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 8|0); + HEAP32[$4>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = (_sqlite3LocateTableItem($8,0,$9)|0); + HEAP32[$5>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + _sqlite3DeleteTable($12,$15); + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 16|0); + HEAP32[$18>>2] = $16; + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)!=(0|0); + if ($20) { + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 36|0); + $23 = HEAP16[$22>>1]|0; + $24 = (($23) + 1)<<16>>16; + HEAP16[$22>>1] = $24; + } + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = (_sqlite3IndexedByLookup($25,$26)|0); + $28 = ($27|0)!=(0); + if (!($28)) { + $29 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($29|0); + } + HEAP32[$5>>2] = 0; + $29 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($29|0); +} +function _sqlite3FixInit($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $pToplevel = sp + 12|0; - $i = sp + 8|0; - $n = sp + 4|0; - $apVtabLock = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 124|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - $6 = HEAP32[$0>>2]|0; - if ($5) { - $7 = ((($6)) + 124|0); - $8 = HEAP32[$7>>2]|0; - $9 = $8; - } else { - $9 = $6; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$5>>2]|0; + HEAP32[$14>>2] = $13; + $15 = HEAP32[$10>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$7>>2]|0; + $19 = (($17) + ($18<<4)|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 12|0); + HEAP32[$22>>2] = $20; + $23 = HEAP32[$10>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$7>>2]|0; + $27 = (($25) + ($26<<4)|0); + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 4|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$8>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 16|0); + HEAP32[$34>>2] = $32; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 20|0); + HEAP32[$37>>2] = $35; + $38 = HEAP32[$7>>2]|0; + $39 = ($38|0)==(1); + $40 = $39&1; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 8|0); + HEAP32[$42>>2] = $40; + STACKTOP = sp;return; +} +function _sqlite3FixSrcList($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + HEAP32[$2>>2] = 0; + $72 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($72|0); } - HEAP32[$pToplevel>>2] = $9; - HEAP32[$i>>2] = 0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $12; + HEAP32[$5>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 8|0); + HEAP32[$7>>2] = $14; while(1) { - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$pToplevel>>2]|0; - $12 = ((($11)) + 412|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)<($13|0); - if (!($14)) { + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($15|0)<($17|0); + if (!($18)) { + label = 15; break; } - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$pToplevel>>2]|0; - $18 = ((($17)) + 460|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + ($16<<2)|0); + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; - $22 = ($15|0)==($21|0); + $22 = ($21|0)==(0); if ($22) { - label = 10; + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$7>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = (_sqlite3StrICmp($29,$30)|0); + $32 = ($31|0)!=(0); + if ($32) { + label = 8; + break; + } + } + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$7>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + _sqlite3DbFree($46,$49); + $50 = HEAP32[$7>>2]|0; + $51 = ((($50)) + 4|0); + HEAP32[$51>>2] = 0; + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$7>>2]|0; + HEAP32[$55>>2] = $54; + } + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$7>>2]|0; + $58 = ((($57)) + 20|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3FixSelect($56,$59)|0); + $61 = ($60|0)!=(0); + if ($61) { + label = 11; break; } - $23 = HEAP32[$i>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$i>>2] = $24; + $62 = HEAP32[$3>>2]|0; + $63 = HEAP32[$7>>2]|0; + $64 = ((($63)) + 48|0); + $65 = HEAP32[$64>>2]|0; + $66 = (_sqlite3FixExpr($62,$65)|0); + $67 = ($66|0)!=(0); + if ($67) { + label = 13; + break; + } + $68 = HEAP32[$5>>2]|0; + $69 = (($68) + 1)|0; + HEAP32[$5>>2] = $69; + $70 = HEAP32[$7>>2]|0; + $71 = ((($70)) + 72|0); + HEAP32[$7>>2] = $71; } - if ((label|0) == 10) { - STACKTOP = sp;return; + if ((label|0) == 8) { + $33 = HEAP32[$3>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 20|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$vararg_buffer>>2] = $37; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $40; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $43; + _sqlite3ErrorMsg($34,31393,$vararg_buffer); + HEAP32[$2>>2] = 1; + $72 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($72|0); } - $25 = HEAP32[$pToplevel>>2]|0; - $26 = ((($25)) + 412|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + 1)|0; - $29 = $28<<2; - HEAP32[$n>>2] = $29; - $30 = HEAP32[$pToplevel>>2]|0; - $31 = ((($30)) + 460|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$n>>2]|0; - $34 = ($33|0)<(0); - $35 = $34 << 31 >> 31; - $36 = (_sqlite3_realloc64($32,$33,$35)|0); - HEAP32[$apVtabLock>>2] = $36; - $37 = HEAP32[$apVtabLock>>2]|0; - $38 = ($37|0)!=(0|0); - if ($38) { - $39 = HEAP32[$apVtabLock>>2]|0; - $40 = HEAP32[$pToplevel>>2]|0; - $41 = ((($40)) + 460|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$1>>2]|0; - $43 = HEAP32[$pToplevel>>2]|0; - $44 = ((($43)) + 412|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$44>>2] = $46; - $47 = HEAP32[$pToplevel>>2]|0; - $48 = ((($47)) + 460|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($45<<2)|0); - HEAP32[$50>>2] = $42; - STACKTOP = sp;return; - } else { - $51 = HEAP32[$pToplevel>>2]|0; - $52 = HEAP32[$51>>2]|0; - _sqlite3OomFault($52); - STACKTOP = sp;return; + else if ((label|0) == 11) { + HEAP32[$2>>2] = 1; + $72 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($72|0); + } + else if ((label|0) == 13) { + HEAP32[$2>>2] = 1; + $72 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($72|0); + } + else if ((label|0) == 15) { + HEAP32[$2>>2] = 0; + $72 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($72|0); } + return (0)|0; } -function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdxCur,$regNewData,$regOldData,$pkChng,$overrideError,$ignoreDest,$pbMayReplace,$aiChng) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $aRegIdx = $aRegIdx|0; - $iDataCur = $iDataCur|0; - $iIdxCur = $iIdxCur|0; - $regNewData = $regNewData|0; - $regOldData = $regOldData|0; - $pkChng = $pkChng|0; - $overrideError = $overrideError|0; - $ignoreDest = $ignoreDest|0; - $pbMayReplace = $pbMayReplace|0; - $aiChng = $aiChng|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; - var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0; - var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0; - var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0; - var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; - var $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, $addr1 = 0; - var $addrJump = 0, $addrRowidOk = 0, $addrUniqueOk = 0, $allOk = 0, $bAffinityDone = 0, $db = 0, $i = 0, $iField = 0, $iThisCur = 0, $ipkBottom = 0, $ipkTop = 0, $isUpdate = 0, $ix = 0, $nCol = 0, $nPkField = 0, $onError = 0, $op = 0, $or$cond = 0, $or$cond3 = 0, $p4 = 0; - var $pCheck = 0, $pExpr = 0, $pIdx = 0, $pPk = 0, $pTrigger = 0, $pTrigger2 = 0, $regCmp = 0, $regIdx = 0, $regR = 0, $regRowid = 0, $seenReplace = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, $x = 0, $x1 = 0, $zMsg = 0, $zName = 0, label = 0, sp = 0; +function _sqlite3FixSelect($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $vararg_buffer = sp; - $0 = sp + 176|0; - $1 = sp + 172|0; - $2 = sp + 168|0; - $3 = sp + 164|0; - $4 = sp + 160|0; - $5 = sp + 156|0; - $6 = sp + 152|0; - $7 = sp + 183|0; - $8 = sp + 182|0; - $9 = sp + 148|0; - $10 = sp + 144|0; - $11 = sp + 140|0; - $v = sp + 136|0; - $pIdx = sp + 132|0; - $pPk = sp + 128|0; - $db = sp + 124|0; - $i = sp + 120|0; - $ix = sp + 116|0; - $nCol = sp + 112|0; - $onError = sp + 108|0; - $addr1 = sp + 104|0; - $seenReplace = sp + 100|0; - $nPkField = sp + 96|0; - $ipkTop = sp + 92|0; - $ipkBottom = sp + 88|0; - $isUpdate = sp + 181|0; - $bAffinityDone = sp + 180|0; - $regRowid = sp + 84|0; - $zMsg = sp + 80|0; - $pCheck = sp + 76|0; - $allOk = sp + 72|0; - $pExpr = sp + 68|0; - $zName = sp + 64|0; - $addrRowidOk = sp + 60|0; - $pTrigger = sp + 56|0; - $regIdx = sp + 52|0; - $regR = sp + 48|0; - $iThisCur = sp + 44|0; - $addrUniqueOk = sp + 40|0; - $iField = sp + 36|0; - $x = sp + 32|0; - $x1 = sp + 28|0; - $addrJump = sp + 24|0; - $op = sp + 20|0; - $regCmp = sp + 16|0; - $p4 = sp + 12|0; - $pTrigger2 = sp + 8|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $aRegIdx; - HEAP32[$3>>2] = $iDataCur; - HEAP32[$4>>2] = $iIdxCur; - HEAP32[$5>>2] = $regNewData; - HEAP32[$6>>2] = $regOldData; - HEAP8[$7>>0] = $pkChng; - HEAP8[$8>>0] = $overrideError; - HEAP32[$9>>2] = $ignoreDest; - HEAP32[$10>>2] = $pbMayReplace; - HEAP32[$11>>2] = $aiChng; - HEAP32[$pPk>>2] = 0; - HEAP32[$seenReplace>>2] = 0; - HEAP32[$ipkTop>>2] = 0; - HEAP32[$ipkBottom>>2] = 0; - HEAP8[$bAffinityDone>>0] = 0; - HEAP32[$regRowid>>2] = -1; - $12 = HEAP32[$6>>2]|0; - $13 = ($12|0)!=(0); - $14 = $13&1; - $15 = $14&255; - HEAP8[$isUpdate>>0] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$16>>2]|0; - HEAP32[$db>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = (_sqlite3GetVdbe($18)|0); - HEAP32[$v>>2] = $19; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 34|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22 << 16 >> 16; - HEAP32[$nCol>>2] = $23; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 42|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $27 & 32; - $29 = ($28|0)==(0); - if ($29) { - HEAP32[$pPk>>2] = 0; - HEAP32[$nPkField>>2] = 1; - } else { - $30 = HEAP32[$1>>2]|0; - $31 = (_sqlite3PrimaryKeyIndex($30)|0); - HEAP32[$pPk>>2] = $31; - $32 = HEAP32[$pPk>>2]|0; - $33 = ((($32)) + 50|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34&65535; - HEAP32[$nPkField>>2] = $35; - } - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; while(1) { - $36 = HEAP32[$i>>2]|0; - $37 = HEAP32[$nCol>>2]|0; - $38 = ($36|0)<($37|0); - if (!($38)) { + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + label = 20; break; } - $39 = HEAP32[$i>>2]|0; - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 32|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42 << 16 >> 16; - $44 = ($39|0)==($43|0); - L8: do { - if (!($44)) { - $45 = HEAP32[$11>>2]|0; - $46 = ($45|0)!=(0|0); - if ($46) { - $47 = HEAP32[$i>>2]|0; - $48 = HEAP32[$11>>2]|0; - $49 = (($48) + ($47<<2)|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)<(0); - if ($51) { - break; - } - } - $52 = HEAP32[$i>>2]|0; - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + ($52<<4)|0); - $57 = ((($56)) + 12|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - HEAP32[$onError>>2] = $59; - $60 = HEAP32[$onError>>2]|0; - $61 = ($60|0)==(0); - if (!($61)) { - $62 = HEAP8[$8>>0]|0; - $63 = $62&255; - $64 = ($63|0)!=(10); - if ($64) { - $65 = HEAP8[$8>>0]|0; - $66 = $65&255; - HEAP32[$onError>>2] = $66; - } else { - $67 = HEAP32[$onError>>2]|0; - $68 = ($67|0)==(10); - if ($68) { - HEAP32[$onError>>2] = 2; - } - } - $69 = HEAP32[$onError>>2]|0; - $70 = ($69|0)==(5); - if ($70) { - $71 = HEAP32[$i>>2]|0; - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 4|0); - $74 = HEAP32[$73>>2]|0; - $75 = (($74) + ($71<<4)|0); - $76 = ((($75)) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($77|0)==(0|0); - if ($78) { - HEAP32[$onError>>2] = 2; - } - } - $79 = HEAP32[$onError>>2]|0; - switch ($79|0) { - case 2: { - $80 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($80); - break; - } - case 3: case 1: { - break; - } - case 4: { - $99 = HEAP32[$v>>2]|0; - $100 = HEAP32[$5>>2]|0; - $101 = (($100) + 1)|0; - $102 = HEAP32[$i>>2]|0; - $103 = (($101) + ($102))|0; - $104 = HEAP32[$9>>2]|0; - (_sqlite3VdbeAddOp2($99,34,$103,$104)|0); - break L8; - break; - } - default: { - $105 = HEAP32[$v>>2]|0; - $106 = HEAP32[$5>>2]|0; - $107 = (($106) + 1)|0; - $108 = HEAP32[$i>>2]|0; - $109 = (($107) + ($108))|0; - $110 = (_sqlite3VdbeAddOp1($105,35,$109)|0); - HEAP32[$addr1>>2] = $110; - $111 = HEAP32[$0>>2]|0; - $112 = HEAP32[$i>>2]|0; - $113 = HEAP32[$1>>2]|0; - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = (($115) + ($112<<4)|0); - $117 = ((($116)) + 4|0); - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$5>>2]|0; - $120 = (($119) + 1)|0; - $121 = HEAP32[$i>>2]|0; - $122 = (($120) + ($121))|0; - _sqlite3ExprCode($111,$118,$122); - $123 = HEAP32[$v>>2]|0; - $124 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($123,$124); - break L8; - } - } - $81 = HEAP32[$db>>2]|0; - $82 = HEAP32[$1>>2]|0; - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$i>>2]|0; - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 4|0); - $87 = HEAP32[$86>>2]|0; - $88 = (($87) + ($84<<4)|0); - $89 = HEAP32[$88>>2]|0; - HEAP32[$vararg_buffer>>2] = $83; - $vararg_ptr4 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $89; - $90 = (_sqlite3MPrintf($81,30161,$vararg_buffer)|0); - HEAP32[$zMsg>>2] = $90; - $91 = HEAP32[$v>>2]|0; - $92 = HEAP32[$onError>>2]|0; - $93 = HEAP32[$5>>2]|0; - $94 = (($93) + 1)|0; - $95 = HEAP32[$i>>2]|0; - $96 = (($94) + ($95))|0; - $97 = HEAP32[$zMsg>>2]|0; - (_sqlite3VdbeAddOp4($91,74,1299,$92,$96,$97,-1)|0); - $98 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($98,1); - } - } - } while(0); - $125 = HEAP32[$i>>2]|0; - $126 = (($125) + 1)|0; - HEAP32[$i>>2] = $126; - } - $127 = HEAP32[$1>>2]|0; - $128 = ((($127)) + 24|0); - $129 = HEAP32[$128>>2]|0; - $130 = ($129|0)!=(0|0); - L30: do { - if ($130) { - $131 = HEAP32[$db>>2]|0; - $132 = ((($131)) + 24|0); - $133 = HEAP32[$132>>2]|0; - $134 = $133 & 8192; - $135 = ($134|0)==(0); - if ($135) { - $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 24|0); - $138 = HEAP32[$137>>2]|0; - HEAP32[$pCheck>>2] = $138; - $139 = HEAP32[$5>>2]|0; - $140 = (($139) + 1)|0; - $141 = HEAP32[$0>>2]|0; - $142 = ((($141)) + 56|0); - HEAP32[$142>>2] = $140; - $143 = HEAP8[$8>>0]|0; - $144 = $143&255; - $145 = ($144|0)!=(10); - $146 = HEAP8[$8>>0]|0; - $147 = $146&255; - $148 = $145 ? $147 : 2; - HEAP32[$onError>>2] = $148; - HEAP32[$i>>2] = 0; - while(1) { - $149 = HEAP32[$i>>2]|0; - $150 = HEAP32[$pCheck>>2]|0; - $151 = HEAP32[$150>>2]|0; - $152 = ($149|0)<($151|0); - if (!($152)) { - break L30; - } - $153 = HEAP32[$i>>2]|0; - $154 = HEAP32[$pCheck>>2]|0; - $155 = ((($154)) + 4|0); - $156 = HEAP32[$155>>2]|0; - $157 = (($156) + (($153*20)|0)|0); - $158 = HEAP32[$157>>2]|0; - HEAP32[$pExpr>>2] = $158; - $159 = HEAP32[$11>>2]|0; - $160 = ($159|0)!=(0|0); - if ($160) { - $161 = HEAP32[$pExpr>>2]|0; - $162 = HEAP32[$11>>2]|0; - $163 = HEAP8[$7>>0]|0; - $164 = $163&255; - $165 = (_checkConstraintUnchanged($161,$162,$164)|0); - $166 = ($165|0)!=(0); - if (!($166)) { - label = 29; - } - } else { - label = 29; - } - if ((label|0) == 29) { - label = 0; - $167 = HEAP32[$v>>2]|0; - $168 = (_sqlite3VdbeMakeLabel($167)|0); - HEAP32[$allOk>>2] = $168; - $169 = HEAP32[$0>>2]|0; - $170 = HEAP32[$pExpr>>2]|0; - $171 = HEAP32[$allOk>>2]|0; - _sqlite3ExprIfTrue($169,$170,$171,16); - $172 = HEAP32[$onError>>2]|0; - $173 = ($172|0)==(4); - if ($173) { - $174 = HEAP32[$v>>2]|0; - $175 = HEAP32[$9>>2]|0; - (_sqlite3VdbeGoto($174,$175)|0); - } else { - $176 = HEAP32[$i>>2]|0; - $177 = HEAP32[$pCheck>>2]|0; - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = (($179) + (($176*20)|0)|0); - $181 = ((($180)) + 4|0); - $182 = HEAP32[$181>>2]|0; - HEAP32[$zName>>2] = $182; - $183 = HEAP32[$zName>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { - $185 = HEAP32[$1>>2]|0; - $186 = HEAP32[$185>>2]|0; - HEAP32[$zName>>2] = $186; - } - $187 = HEAP32[$onError>>2]|0; - $188 = ($187|0)==(5); - if ($188) { - HEAP32[$onError>>2] = 2; - } - $189 = HEAP32[$0>>2]|0; - $190 = HEAP32[$onError>>2]|0; - $191 = HEAP32[$zName>>2]|0; - _sqlite3HaltConstraint($189,275,$190,$191,0,3); - } - $192 = HEAP32[$v>>2]|0; - $193 = HEAP32[$allOk>>2]|0; - _sqlite3VdbeResolveLabel($192,$193); - } - $194 = HEAP32[$i>>2]|0; - $195 = (($194) + 1)|0; - HEAP32[$i>>2] = $195; - } - } + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3FixExprList($7,$9)|0); + $11 = ($10|0)!=(0); + if ($11) { + label = 4; + break; } - } while(0); - $196 = HEAP8[$7>>0]|0; - $197 = $196&255; - $198 = ($197|0)!=(0); - $199 = HEAP32[$pPk>>2]|0; - $200 = ($199|0)==(0|0); - $or$cond = $198 & $200; - if ($or$cond) { - $201 = HEAP32[$v>>2]|0; - $202 = (_sqlite3VdbeMakeLabel($201)|0); - HEAP32[$addrRowidOk>>2] = $202; - $203 = HEAP32[$1>>2]|0; - $204 = ((($203)) + 43|0); - $205 = HEAP8[$204>>0]|0; - $206 = $205&255; - HEAP32[$onError>>2] = $206; - $207 = HEAP8[$8>>0]|0; - $208 = $207&255; - $209 = ($208|0)!=(10); - if ($209) { - $210 = HEAP8[$8>>0]|0; - $211 = $210&255; - HEAP32[$onError>>2] = $211; - } else { - $212 = HEAP32[$onError>>2]|0; - $213 = ($212|0)==(10); - if ($213) { - HEAP32[$onError>>2] = 2; - } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3FixSrcList($12,$15)|0); + $17 = ($16|0)!=(0); + if ($17) { + label = 6; + break; } - $214 = HEAP8[$isUpdate>>0]|0; - $215 = ($214<<24>>24)!=(0); - if ($215) { - $216 = HEAP32[$v>>2]|0; - $217 = HEAP32[$5>>2]|0; - $218 = HEAP32[$addrRowidOk>>2]|0; - $219 = HEAP32[$6>>2]|0; - (_sqlite3VdbeAddOp3($216,37,$217,$218,$219)|0); - $220 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($220,-112); - } - $221 = HEAP32[$onError>>2]|0; - $222 = ($221|0)==(5); - L62: do { - if ($222) { - $223 = HEAP8[$8>>0]|0; - $224 = $223&255; - $225 = ($224|0)!=(5); - if ($225) { - $226 = HEAP32[$1>>2]|0; - $227 = ((($226)) + 8|0); - $228 = HEAP32[$227>>2]|0; - HEAP32[$pIdx>>2] = $228; - while(1) { - $229 = HEAP32[$pIdx>>2]|0; - $230 = ($229|0)!=(0|0); - if (!($230)) { - break L62; - } - $231 = HEAP32[$pIdx>>2]|0; - $232 = ((($231)) + 54|0); - $233 = HEAP8[$232>>0]|0; - $234 = $233&255; - $235 = ($234|0)==(4); - if ($235) { - break; - } - $236 = HEAP32[$pIdx>>2]|0; - $237 = ((($236)) + 54|0); - $238 = HEAP8[$237>>0]|0; - $239 = $238&255; - $240 = ($239|0)==(3); - if ($240) { - break; - } - $243 = HEAP32[$pIdx>>2]|0; - $244 = ((($243)) + 20|0); - $245 = HEAP32[$244>>2]|0; - HEAP32[$pIdx>>2] = $245; - } - $241 = HEAP32[$v>>2]|0; - $242 = (_sqlite3VdbeAddOp0($241,13)|0); - HEAP32[$ipkTop>>2] = $242; - } - } - } while(0); - $246 = HEAP32[$v>>2]|0; - $247 = HEAP32[$3>>2]|0; - $248 = HEAP32[$addrRowidOk>>2]|0; - $249 = HEAP32[$5>>2]|0; - (_sqlite3VdbeAddOp3($246,33,$247,$248,$249)|0); - $250 = HEAP32[$onError>>2]|0; - switch ($250|0) { - case 3: case 2: case 1: { - label = 55; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 32|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_sqlite3FixExpr($18,$21)|0); + $23 = ($22|0)!=(0); + if ($23) { + label = 8; break; } - case 5: { - HEAP32[$pTrigger>>2] = 0; - $254 = HEAP32[$db>>2]|0; - $255 = ((($254)) + 24|0); - $256 = HEAP32[$255>>2]|0; - $257 = $256 & 262144; - $258 = ($257|0)!=(0); - if ($258) { - $259 = HEAP32[$0>>2]|0; - $260 = HEAP32[$1>>2]|0; - $261 = (_sqlite3TriggersExist($259,$260,109,0,0)|0); - HEAP32[$pTrigger>>2] = $261; - } - $262 = HEAP32[$pTrigger>>2]|0; - $263 = ($262|0)!=(0|0); - if ($263) { - label = 60; - } else { - $264 = HEAP32[$0>>2]|0; - $265 = HEAP32[$1>>2]|0; - $266 = (_sqlite3FkRequired($264,$265,0,0)|0); - $267 = ($266|0)!=(0); - if ($267) { - label = 60; - } else { - $275 = HEAP32[$1>>2]|0; - $276 = ((($275)) + 8|0); - $277 = HEAP32[$276>>2]|0; - $278 = ($277|0)!=(0|0); - if ($278) { - $279 = HEAP32[$0>>2]|0; - _sqlite3MultiWrite($279); - $280 = HEAP32[$0>>2]|0; - $281 = HEAP32[$1>>2]|0; - $282 = HEAP32[$3>>2]|0; - $283 = HEAP32[$4>>2]|0; - _sqlite3GenerateRowIndexDelete($280,$281,$282,$283,0,-1); - } - } - } - if ((label|0) == 60) { - $268 = HEAP32[$0>>2]|0; - _sqlite3MultiWrite($268); - $269 = HEAP32[$0>>2]|0; - $270 = HEAP32[$1>>2]|0; - $271 = HEAP32[$pTrigger>>2]|0; - $272 = HEAP32[$3>>2]|0; - $273 = HEAP32[$4>>2]|0; - $274 = HEAP32[$5>>2]|0; - _sqlite3GenerateRowDelete($269,$270,$271,$272,$273,$274,1,0,5,1,-1); - } - HEAP32[$seenReplace>>2] = 1; + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3FixExprList($24,$27)|0); + $29 = ($28|0)!=(0); + if ($29) { + label = 10; break; } - case 4: { - $284 = HEAP32[$v>>2]|0; - $285 = HEAP32[$9>>2]|0; - (_sqlite3VdbeGoto($284,$285)|0); + $30 = HEAP32[$3>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sqlite3FixExpr($30,$33)|0); + $35 = ($34|0)!=(0); + if ($35) { + label = 12; break; } - default: { - HEAP32[$onError>>2] = 2; - label = 55; + $36 = HEAP32[$3>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 44|0); + $39 = HEAP32[$38>>2]|0; + $40 = (_sqlite3FixExprList($36,$39)|0); + $41 = ($40|0)!=(0); + if ($41) { + label = 14; + break; } + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 56|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_sqlite3FixExpr($42,$45)|0); + $47 = ($46|0)!=(0); + if ($47) { + label = 16; + break; } - if ((label|0) == 55) { - $251 = HEAP32[$0>>2]|0; - $252 = HEAP32[$onError>>2]|0; - $253 = HEAP32[$1>>2]|0; - _sqlite3RowidConstraint($251,$252,$253); - } - $286 = HEAP32[$v>>2]|0; - $287 = HEAP32[$addrRowidOk>>2]|0; - _sqlite3VdbeResolveLabel($286,$287); - $288 = HEAP32[$ipkTop>>2]|0; - $289 = ($288|0)!=(0); - if ($289) { - $290 = HEAP32[$v>>2]|0; - $291 = (_sqlite3VdbeAddOp0($290,13)|0); - HEAP32[$ipkBottom>>2] = $291; - $292 = HEAP32[$v>>2]|0; - $293 = HEAP32[$ipkTop>>2]|0; - _sqlite3VdbeJumpHere($292,$293); - } - } - HEAP32[$ix>>2] = 0; - $294 = HEAP32[$1>>2]|0; - $295 = ((($294)) + 8|0); - $296 = HEAP32[$295>>2]|0; - HEAP32[$pIdx>>2] = $296; - while(1) { - $297 = HEAP32[$pIdx>>2]|0; - $298 = ($297|0)!=(0|0); - if (!($298)) { + $48 = HEAP32[$3>>2]|0; + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 60|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_sqlite3FixExpr($48,$51)|0); + $53 = ($52|0)!=(0); + if ($53) { + label = 18; break; } - $299 = HEAP32[$ix>>2]|0; - $300 = HEAP32[$2>>2]|0; - $301 = (($300) + ($299<<2)|0); - $302 = HEAP32[$301>>2]|0; - $303 = ($302|0)==(0); - do { - if (!($303)) { - $304 = HEAP8[$bAffinityDone>>0]|0; - $305 = $304&255; - $306 = ($305|0)==(0); - if ($306) { - $307 = HEAP32[$v>>2]|0; - $308 = HEAP32[$1>>2]|0; - $309 = HEAP32[$5>>2]|0; - $310 = (($309) + 1)|0; - _sqlite3TableAffinity($307,$308,$310); - HEAP8[$bAffinityDone>>0] = 1; - } - $311 = HEAP32[$4>>2]|0; - $312 = HEAP32[$ix>>2]|0; - $313 = (($311) + ($312))|0; - HEAP32[$iThisCur>>2] = $313; - $314 = HEAP32[$v>>2]|0; - $315 = (_sqlite3VdbeMakeLabel($314)|0); - HEAP32[$addrUniqueOk>>2] = $315; - $316 = HEAP32[$pIdx>>2]|0; - $317 = ((($316)) + 36|0); - $318 = HEAP32[$317>>2]|0; - $319 = ($318|0)!=(0|0); - if ($319) { - $320 = HEAP32[$v>>2]|0; - $321 = HEAP32[$ix>>2]|0; - $322 = HEAP32[$2>>2]|0; - $323 = (($322) + ($321<<2)|0); - $324 = HEAP32[$323>>2]|0; - (_sqlite3VdbeAddOp2($320,79,0,$324)|0); - $325 = HEAP32[$5>>2]|0; - $326 = (($325) + 1)|0; - $327 = HEAP32[$0>>2]|0; - $328 = ((($327)) + 56|0); - HEAP32[$328>>2] = $326; - $329 = HEAP32[$0>>2]|0; - $330 = HEAP32[$pIdx>>2]|0; - $331 = ((($330)) + 36|0); - $332 = HEAP32[$331>>2]|0; - $333 = HEAP32[$addrUniqueOk>>2]|0; - _sqlite3ExprIfFalseDup($329,$332,$333,16); - $334 = HEAP32[$0>>2]|0; - $335 = ((($334)) + 56|0); - HEAP32[$335>>2] = 0; - } - $336 = HEAP32[$0>>2]|0; - $337 = HEAP32[$pIdx>>2]|0; - $338 = ((($337)) + 52|0); - $339 = HEAP16[$338>>1]|0; - $340 = $339&65535; - $341 = (_sqlite3GetTempRange($336,$340)|0); - HEAP32[$regIdx>>2] = $341; - HEAP32[$i>>2] = 0; - while(1) { - $342 = HEAP32[$i>>2]|0; - $343 = HEAP32[$pIdx>>2]|0; - $344 = ((($343)) + 52|0); - $345 = HEAP16[$344>>1]|0; - $346 = $345&65535; - $347 = ($342|0)<($346|0); - if (!($347)) { - break; - } - $348 = HEAP32[$i>>2]|0; - $349 = HEAP32[$pIdx>>2]|0; - $350 = ((($349)) + 4|0); - $351 = HEAP32[$350>>2]|0; - $352 = (($351) + ($348<<1)|0); - $353 = HEAP16[$352>>1]|0; - $354 = $353 << 16 >> 16; - HEAP32[$iField>>2] = $354; - $355 = HEAP32[$iField>>2]|0; - $356 = ($355|0)==(-2); - do { - if ($356) { - $357 = HEAP32[$5>>2]|0; - $358 = (($357) + 1)|0; - $359 = HEAP32[$0>>2]|0; - $360 = ((($359)) + 56|0); - HEAP32[$360>>2] = $358; - $361 = HEAP32[$0>>2]|0; - $362 = HEAP32[$i>>2]|0; - $363 = HEAP32[$pIdx>>2]|0; - $364 = ((($363)) + 40|0); - $365 = HEAP32[$364>>2]|0; - $366 = ((($365)) + 4|0); - $367 = HEAP32[$366>>2]|0; - $368 = (($367) + (($362*20)|0)|0); - $369 = HEAP32[$368>>2]|0; - $370 = HEAP32[$regIdx>>2]|0; - $371 = HEAP32[$i>>2]|0; - $372 = (($370) + ($371))|0; - _sqlite3ExprCodeCopy($361,$369,$372); - $373 = HEAP32[$0>>2]|0; - $374 = ((($373)) + 56|0); - HEAP32[$374>>2] = 0; - } else { - $375 = HEAP32[$iField>>2]|0; - $376 = ($375|0)==(-1); - if ($376) { - label = 80; - } else { - $377 = HEAP32[$iField>>2]|0; - $378 = HEAP32[$1>>2]|0; - $379 = ((($378)) + 32|0); - $380 = HEAP16[$379>>1]|0; - $381 = $380 << 16 >> 16; - $382 = ($377|0)==($381|0); - if ($382) { - label = 80; - } else { - $397 = HEAP32[$iField>>2]|0; - $398 = HEAP32[$5>>2]|0; - $399 = (($397) + ($398))|0; - $400 = (($399) + 1)|0; - HEAP32[$x>>2] = $400; - } - } - if ((label|0) == 80) { - label = 0; - $383 = HEAP32[$regRowid>>2]|0; - $384 = HEAP32[$regIdx>>2]|0; - $385 = HEAP32[$i>>2]|0; - $386 = (($384) + ($385))|0; - $387 = ($383|0)==($386|0); - if ($387) { - break; - } - $388 = HEAP32[$5>>2]|0; - HEAP32[$x>>2] = $388; - $389 = HEAP32[$pIdx>>2]|0; - $390 = ((($389)) + 36|0); - $391 = HEAP32[$390>>2]|0; - $392 = ($391|0)!=(0|0); - if ($392) { - $396 = -1; - } else { - $393 = HEAP32[$regIdx>>2]|0; - $394 = HEAP32[$i>>2]|0; - $395 = (($393) + ($394))|0; - $396 = $395; - } - HEAP32[$regRowid>>2] = $396; - } - $401 = HEAP32[$v>>2]|0; - $402 = HEAP32[$iField>>2]|0; - $403 = ($402|0)<(0); - $404 = $403 ? 86 : 85; - $405 = HEAP32[$x>>2]|0; - $406 = HEAP32[$regIdx>>2]|0; - $407 = HEAP32[$i>>2]|0; - $408 = (($406) + ($407))|0; - (_sqlite3VdbeAddOp2($401,$404,$405,$408)|0); - } - } while(0); - $409 = HEAP32[$i>>2]|0; - $410 = (($409) + 1)|0; - HEAP32[$i>>2] = $410; - } - $411 = HEAP32[$v>>2]|0; - $412 = HEAP32[$regIdx>>2]|0; - $413 = HEAP32[$pIdx>>2]|0; - $414 = ((($413)) + 52|0); - $415 = HEAP16[$414>>1]|0; - $416 = $415&65535; - $417 = HEAP32[$ix>>2]|0; - $418 = HEAP32[$2>>2]|0; - $419 = (($418) + ($417<<2)|0); - $420 = HEAP32[$419>>2]|0; - (_sqlite3VdbeAddOp3($411,99,$412,$416,$420)|0); - $421 = HEAP32[$0>>2]|0; - $422 = HEAP32[$regIdx>>2]|0; - $423 = HEAP32[$pIdx>>2]|0; - $424 = ((($423)) + 52|0); - $425 = HEAP16[$424>>1]|0; - $426 = $425&65535; - _sqlite3ExprCacheAffinityChange($421,$422,$426); - $427 = HEAP8[$isUpdate>>0]|0; - $428 = $427&255; - $429 = ($428|0)!=(0); - if ($429) { - $430 = HEAP32[$pPk>>2]|0; - $431 = HEAP32[$pIdx>>2]|0; - $432 = ($430|0)==($431|0); - if ($432) { - $433 = HEAP8[$7>>0]|0; - $434 = $433&255; - $435 = ($434|0)==(0); - if ($435) { - $436 = HEAP32[$v>>2]|0; - $437 = HEAP32[$addrUniqueOk>>2]|0; - _sqlite3VdbeResolveLabel($436,$437); - break; - } - } - } - $438 = HEAP32[$pIdx>>2]|0; - $439 = ((($438)) + 54|0); - $440 = HEAP8[$439>>0]|0; - $441 = $440&255; - HEAP32[$onError>>2] = $441; - $442 = HEAP32[$onError>>2]|0; - $443 = ($442|0)==(0); - if ($443) { - $444 = HEAP32[$0>>2]|0; - $445 = HEAP32[$regIdx>>2]|0; - $446 = HEAP32[$pIdx>>2]|0; - $447 = ((($446)) + 52|0); - $448 = HEAP16[$447>>1]|0; - $449 = $448&65535; - _sqlite3ReleaseTempRange($444,$445,$449); - $450 = HEAP32[$v>>2]|0; - $451 = HEAP32[$addrUniqueOk>>2]|0; - _sqlite3VdbeResolveLabel($450,$451); - break; - } - $452 = HEAP8[$8>>0]|0; - $453 = $452&255; - $454 = ($453|0)!=(10); - if ($454) { - $455 = HEAP8[$8>>0]|0; - $456 = $455&255; - HEAP32[$onError>>2] = $456; - } else { - $457 = HEAP32[$onError>>2]|0; - $458 = ($457|0)==(10); - if ($458) { - HEAP32[$onError>>2] = 2; - } - } - $459 = HEAP32[$v>>2]|0; - $460 = HEAP32[$iThisCur>>2]|0; - $461 = HEAP32[$addrUniqueOk>>2]|0; - $462 = HEAP32[$regIdx>>2]|0; - $463 = HEAP32[$pIdx>>2]|0; - $464 = ((($463)) + 50|0); - $465 = HEAP16[$464>>1]|0; - $466 = $465&65535; - (_sqlite3VdbeAddOp4Int($459,29,$460,$461,$462,$466)|0); - $467 = HEAP32[$pIdx>>2]|0; - $468 = HEAP32[$pPk>>2]|0; - $469 = ($467|0)==($468|0); - if ($469) { - $470 = HEAP32[$regIdx>>2]|0; - $474 = $470; - } else { - $471 = HEAP32[$0>>2]|0; - $472 = HEAP32[$nPkField>>2]|0; - $473 = (_sqlite3GetTempRange($471,$472)|0); - $474 = $473; - } - HEAP32[$regR>>2] = $474; - $475 = HEAP8[$isUpdate>>0]|0; - $476 = $475&255; - $477 = ($476|0)!=(0); - $478 = HEAP32[$onError>>2]|0; - $479 = ($478|0)==(5); - $or$cond3 = $477 | $479; - L137: do { - if ($or$cond3) { - $480 = HEAP32[$1>>2]|0; - $481 = ((($480)) + 42|0); - $482 = HEAP8[$481>>0]|0; - $483 = $482&255; - $484 = $483 & 32; - $485 = ($484|0)==(0); - if ($485) { - $486 = HEAP32[$v>>2]|0; - $487 = HEAP32[$iThisCur>>2]|0; - $488 = HEAP32[$regR>>2]|0; - (_sqlite3VdbeAddOp2($486,129,$487,$488)|0); - $489 = HEAP8[$isUpdate>>0]|0; - $490 = ($489<<24>>24)!=(0); - if (!($490)) { - break; - } - $491 = HEAP32[$v>>2]|0; - $492 = HEAP32[$regR>>2]|0; - $493 = HEAP32[$addrUniqueOk>>2]|0; - $494 = HEAP32[$6>>2]|0; - (_sqlite3VdbeAddOp3($491,37,$492,$493,$494)|0); - $495 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($495,-112); - break; - } - $496 = HEAP32[$pIdx>>2]|0; - $497 = HEAP32[$pPk>>2]|0; - $498 = ($496|0)!=($497|0); - L143: do { - if ($498) { - HEAP32[$i>>2] = 0; - while(1) { - $499 = HEAP32[$i>>2]|0; - $500 = HEAP32[$pPk>>2]|0; - $501 = ((($500)) + 50|0); - $502 = HEAP16[$501>>1]|0; - $503 = $502&65535; - $504 = ($499|0)<($503|0); - if (!($504)) { - break L143; - } - $505 = HEAP32[$pIdx>>2]|0; - $506 = HEAP32[$i>>2]|0; - $507 = HEAP32[$pPk>>2]|0; - $508 = ((($507)) + 4|0); - $509 = HEAP32[$508>>2]|0; - $510 = (($509) + ($506<<1)|0); - $511 = HEAP16[$510>>1]|0; - $512 = (_sqlite3ColumnOfIndex($505,$511)|0); - $513 = $512 << 16 >> 16; - HEAP32[$x1>>2] = $513; - $514 = HEAP32[$v>>2]|0; - $515 = HEAP32[$iThisCur>>2]|0; - $516 = HEAP32[$x1>>2]|0; - $517 = HEAP32[$regR>>2]|0; - $518 = HEAP32[$i>>2]|0; - $519 = (($517) + ($518))|0; - (_sqlite3VdbeAddOp3($514,96,$515,$516,$519)|0); - $520 = HEAP32[$i>>2]|0; - $521 = (($520) + 1)|0; - HEAP32[$i>>2] = $521; - } - } - } while(0); - $522 = HEAP8[$isUpdate>>0]|0; - $523 = ($522<<24>>24)!=(0); - if ($523) { - $524 = HEAP32[$v>>2]|0; - $525 = (_sqlite3VdbeCurrentAddr($524)|0); - $526 = HEAP32[$pPk>>2]|0; - $527 = ((($526)) + 50|0); - $528 = HEAP16[$527>>1]|0; - $529 = $528&65535; - $530 = (($525) + ($529))|0; - HEAP32[$addrJump>>2] = $530; - HEAP32[$op>>2] = 36; - $531 = HEAP32[$pIdx>>2]|0; - $532 = ((($531)) + 55|0); - $533 = HEAP8[$532>>0]|0; - $534 = $533 & 3; - $535 = $534&255; - $536 = ($535|0)==(2); - $537 = HEAP32[$regIdx>>2]|0; - $538 = HEAP32[$regR>>2]|0; - $539 = $536 ? $537 : $538; - HEAP32[$regCmp>>2] = $539; - HEAP32[$i>>2] = 0; - while(1) { - $540 = HEAP32[$i>>2]|0; - $541 = HEAP32[$pPk>>2]|0; - $542 = ((($541)) + 50|0); - $543 = HEAP16[$542>>1]|0; - $544 = $543&65535; - $545 = ($540|0)<($544|0); - if (!($545)) { - break L137; - } - $546 = HEAP32[$0>>2]|0; - $547 = HEAP32[$i>>2]|0; - $548 = HEAP32[$pPk>>2]|0; - $549 = ((($548)) + 32|0); - $550 = HEAP32[$549>>2]|0; - $551 = (($550) + ($547<<2)|0); - $552 = HEAP32[$551>>2]|0; - $553 = (_sqlite3LocateCollSeq($546,$552)|0); - HEAP32[$p4>>2] = $553; - $554 = HEAP32[$i>>2]|0; - $555 = HEAP32[$pPk>>2]|0; - $556 = ((($555)) + 4|0); - $557 = HEAP32[$556>>2]|0; - $558 = (($557) + ($554<<1)|0); - $559 = HEAP16[$558>>1]|0; - $560 = $559 << 16 >> 16; - HEAP32[$x1>>2] = $560; - $561 = HEAP32[$i>>2]|0; - $562 = HEAP32[$pPk>>2]|0; - $563 = ((($562)) + 50|0); - $564 = HEAP16[$563>>1]|0; - $565 = $564&65535; - $566 = (($565) - 1)|0; - $567 = ($561|0)==($566|0); - if ($567) { - $568 = HEAP32[$addrUniqueOk>>2]|0; - HEAP32[$addrJump>>2] = $568; - HEAP32[$op>>2] = 37; - } - $569 = HEAP32[$v>>2]|0; - $570 = HEAP32[$op>>2]|0; - $571 = HEAP32[$6>>2]|0; - $572 = (($571) + 1)|0; - $573 = HEAP32[$x1>>2]|0; - $574 = (($572) + ($573))|0; - $575 = HEAP32[$addrJump>>2]|0; - $576 = HEAP32[$regCmp>>2]|0; - $577 = HEAP32[$i>>2]|0; - $578 = (($576) + ($577))|0; - $579 = HEAP32[$p4>>2]|0; - (_sqlite3VdbeAddOp4($569,$570,$574,$575,$578,$579,-4)|0); - $580 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($580,-112); - $581 = HEAP32[$i>>2]|0; - $582 = (($581) + 1)|0; - HEAP32[$i>>2] = $582; - } - } - } - } while(0); - $583 = HEAP32[$onError>>2]|0; - switch ($583|0) { - case 3: case 2: case 1: { - $584 = HEAP32[$0>>2]|0; - $585 = HEAP32[$onError>>2]|0; - $586 = HEAP32[$pIdx>>2]|0; - _sqlite3UniqueConstraint($584,$585,$586); - break; - } - case 4: { - $587 = HEAP32[$v>>2]|0; - $588 = HEAP32[$9>>2]|0; - (_sqlite3VdbeGoto($587,$588)|0); - break; - } - default: { - HEAP32[$pTrigger2>>2] = 0; - $589 = HEAP32[$0>>2]|0; - _sqlite3MultiWrite($589); - $590 = HEAP32[$db>>2]|0; - $591 = ((($590)) + 24|0); - $592 = HEAP32[$591>>2]|0; - $593 = $592 & 262144; - $594 = ($593|0)!=(0); - if ($594) { - $595 = HEAP32[$0>>2]|0; - $596 = HEAP32[$1>>2]|0; - $597 = (_sqlite3TriggersExist($595,$596,109,0,0)|0); - HEAP32[$pTrigger2>>2] = $597; - } - $598 = HEAP32[$0>>2]|0; - $599 = HEAP32[$1>>2]|0; - $600 = HEAP32[$pTrigger2>>2]|0; - $601 = HEAP32[$3>>2]|0; - $602 = HEAP32[$4>>2]|0; - $603 = HEAP32[$regR>>2]|0; - $604 = HEAP32[$nPkField>>2]|0; - $605 = $604&65535; - $606 = HEAP32[$pIdx>>2]|0; - $607 = HEAP32[$pPk>>2]|0; - $608 = ($606|0)==($607|0); - $609 = $608 ? 1 : 0; - $610 = $609&255; - _sqlite3GenerateRowDelete($598,$599,$600,$601,$602,$603,$605,0,5,$610,-1); - HEAP32[$seenReplace>>2] = 1; - } - } - $611 = HEAP32[$v>>2]|0; - $612 = HEAP32[$addrUniqueOk>>2]|0; - _sqlite3VdbeResolveLabel($611,$612); - $613 = HEAP32[$0>>2]|0; - $614 = HEAP32[$regIdx>>2]|0; - $615 = HEAP32[$pIdx>>2]|0; - $616 = ((($615)) + 52|0); - $617 = HEAP16[$616>>1]|0; - $618 = $617&65535; - _sqlite3ReleaseTempRange($613,$614,$618); - $619 = HEAP32[$regR>>2]|0; - $620 = HEAP32[$regIdx>>2]|0; - $621 = ($619|0)!=($620|0); - if ($621) { - $622 = HEAP32[$0>>2]|0; - $623 = HEAP32[$regR>>2]|0; - $624 = HEAP32[$nPkField>>2]|0; - _sqlite3ReleaseTempRange($622,$623,$624); - } - } - } while(0); - $625 = HEAP32[$pIdx>>2]|0; - $626 = ((($625)) + 20|0); - $627 = HEAP32[$626>>2]|0; - HEAP32[$pIdx>>2] = $627; - $628 = HEAP32[$ix>>2]|0; - $629 = (($628) + 1)|0; - HEAP32[$ix>>2] = $629; - } - $630 = HEAP32[$ipkTop>>2]|0; - $631 = ($630|0)!=(0); - if (!($631)) { - $637 = HEAP32[$seenReplace>>2]|0; - $638 = HEAP32[$10>>2]|0; - HEAP32[$638>>2] = $637; - STACKTOP = sp;return; + $54 = HEAP32[$4>>2]|0; + $55 = ((($54)) + 48|0); + $56 = HEAP32[$55>>2]|0; + HEAP32[$4>>2] = $56; } - $632 = HEAP32[$v>>2]|0; - $633 = HEAP32[$ipkTop>>2]|0; - $634 = (($633) + 1)|0; - (_sqlite3VdbeGoto($632,$634)|0); - $635 = HEAP32[$v>>2]|0; - $636 = HEAP32[$ipkBottom>>2]|0; - _sqlite3VdbeJumpHere($635,$636); - $637 = HEAP32[$seenReplace>>2]|0; - $638 = HEAP32[$10>>2]|0; - HEAP32[$638>>2] = $637; - STACKTOP = sp;return; + if ((label|0) == 4) { + HEAP32[$2>>2] = 1; + } + else if ((label|0) == 6) { + HEAP32[$2>>2] = 1; + } + else if ((label|0) == 8) { + HEAP32[$2>>2] = 1; + } + else if ((label|0) == 10) { + HEAP32[$2>>2] = 1; + } + else if ((label|0) == 12) { + HEAP32[$2>>2] = 1; + } + else if ((label|0) == 14) { + HEAP32[$2>>2] = 1; + } + else if ((label|0) == 16) { + HEAP32[$2>>2] = 1; + } + else if ((label|0) == 18) { + HEAP32[$2>>2] = 1; + } + else if ((label|0) == 20) { + HEAP32[$2>>2] = 0; + } + $57 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($57|0); } -function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $regOld = $regOld|0; - $regNew = $regNew|0; - $aChange = $aChange|0; - $bChngRowid = $bChngRowid|0; - var $$sink = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $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 $aiCol = 0, $aiCol2 = 0, $aiFree = 0, $bIgnore = 0, $db = 0, $eAction = 0, $i = 0, $iCol = 0, $iDb = 0, $iJump = 0, $iReg = 0, $isIgnoreErrors = 0, $or$cond = 0, $or$cond3 = 0, $pFKey = 0, $pIdx = 0, $pIdx1 = 0, $pItem = 0, $pSrc = 0, $pTo = 0; - var $rcauth = 0, $v = 0, $zCol = 0, $zDb = 0, label = 0, sp = 0; +function _sqlite3FixExpr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 108|0; - $1 = sp + 104|0; - $2 = sp + 100|0; - $3 = sp + 96|0; - $4 = sp + 92|0; - $5 = sp + 88|0; - $db = sp + 84|0; - $pFKey = sp + 80|0; - $iDb = sp + 76|0; - $zDb = sp + 72|0; - $isIgnoreErrors = sp + 68|0; - $pTo = sp + 64|0; - $pIdx = sp + 60|0; - $aiFree = sp + 56|0; - $aiCol = sp + 52|0; - $iCol = sp + 48|0; - $i = sp + 44|0; - $bIgnore = sp + 40|0; - $v = sp + 36|0; - $iJump = sp + 32|0; - $iReg = sp + 28|0; - $rcauth = sp + 24|0; - $zCol = sp + 20|0; - $pIdx1 = sp + 16|0; - $pSrc = sp + 12|0; - $aiCol2 = sp + 8|0; - $pItem = sp + 4|0; - $eAction = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $regOld; - HEAP32[$3>>2] = $regNew; - HEAP32[$4>>2] = $aChange; - HEAP32[$5>>2] = $bChngRowid; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$db>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 150|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - HEAP32[$isIgnoreErrors>>2] = $11; - $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 24|0); - $14 = HEAP32[$13>>2]|0; - $15 = $14 & 524288; - $16 = ($15|0)==(0); - if ($16) { - STACKTOP = sp;return; - } - $17 = HEAP32[$db>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 64|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3SchemaToIndex($17,$20)|0); - HEAP32[$iDb>>2] = $21; - $22 = HEAP32[$iDb>>2]|0; - $23 = HEAP32[$db>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($22<<4)|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$zDb>>2] = $27; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$pFKey>>2] = $30; - L4: while(1) { - $31 = HEAP32[$pFKey>>2]|0; - $32 = ($31|0)!=(0|0); - if (!($32)) { - label = 39; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + while(1) { + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + label = 16; break; } - HEAP32[$pIdx>>2] = 0; - HEAP32[$aiFree>>2] = 0; - HEAP32[$bIgnore>>2] = 0; - $33 = HEAP32[$4>>2]|0; - $34 = ($33|0)!=(0|0); - if ($34) { - $35 = HEAP32[$1>>2]|0; - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$pFKey>>2]|0; - $38 = ((($37)) + 8|0); - $39 = HEAP32[$38>>2]|0; - $40 = (_sqlite3_stricmp($36,$39)|0); - $41 = ($40|0)!=(0); - if ($41) { - $42 = HEAP32[$1>>2]|0; - $43 = HEAP32[$pFKey>>2]|0; - $44 = HEAP32[$4>>2]|0; - $45 = HEAP32[$5>>2]|0; - $46 = (_fkChildIsModified($42,$43,$44,$45)|0); - $47 = ($46|0)==(0); - if (!($47)) { - label = 7; - } - } else { - label = 7; - } - } else { - label = 7; - } - do { - if ((label|0) == 7) { - label = 0; - $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 150|0); - $50 = HEAP8[$49>>0]|0; - $51 = ($50<<24>>24)!=(0); - if ($51) { - $52 = HEAP32[$db>>2]|0; - $53 = HEAP32[$pFKey>>2]|0; - $54 = ((($53)) + 8|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$zDb>>2]|0; - $57 = (_sqlite3FindTable($52,$55,$56)|0); - HEAP32[$pTo>>2] = $57; - } else { - $58 = HEAP32[$0>>2]|0; - $59 = HEAP32[$pFKey>>2]|0; - $60 = ((($59)) + 8|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$zDb>>2]|0; - $63 = (_sqlite3LocateTable($58,0,$61,$62)|0); - HEAP32[$pTo>>2] = $63; - } - $64 = HEAP32[$pTo>>2]|0; - $65 = ($64|0)!=(0|0); - if ($65) { - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$pTo>>2]|0; - $68 = HEAP32[$pFKey>>2]|0; - $69 = (_sqlite3FkLocateIndex($66,$67,$68,$pIdx,$aiFree)|0); - $70 = ($69|0)!=(0); - if (!($70)) { - $112 = HEAP32[$aiFree>>2]|0; - $113 = ($112|0)!=(0|0); - if ($113) { - $114 = HEAP32[$aiFree>>2]|0; - HEAP32[$aiCol>>2] = $114; - } else { - $115 = HEAP32[$pFKey>>2]|0; - $116 = ((($115)) + 36|0); - $117 = HEAP32[$116>>2]|0; - HEAP32[$iCol>>2] = $117; - HEAP32[$aiCol>>2] = $iCol; - } - HEAP32[$i>>2] = 0; - while(1) { - $118 = HEAP32[$i>>2]|0; - $119 = HEAP32[$pFKey>>2]|0; - $120 = ((($119)) + 20|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($118|0)<($121|0); - if (!($122)) { - break; - } - $123 = HEAP32[$i>>2]|0; - $124 = HEAP32[$aiCol>>2]|0; - $125 = (($124) + ($123<<2)|0); - $126 = HEAP32[$125>>2]|0; - $127 = HEAP32[$1>>2]|0; - $128 = ((($127)) + 32|0); - $129 = HEAP16[$128>>1]|0; - $130 = $129 << 16 >> 16; - $131 = ($126|0)==($130|0); - if ($131) { - $132 = HEAP32[$i>>2]|0; - $133 = HEAP32[$aiCol>>2]|0; - $134 = (($133) + ($132<<2)|0); - HEAP32[$134>>2] = -1; - } - $135 = HEAP32[$db>>2]|0; - $136 = ((($135)) + 296|0); - $137 = HEAP32[$136>>2]|0; - $138 = ($137|0)!=(0|0); - if ($138) { - $139 = HEAP32[$pIdx>>2]|0; - $140 = ($139|0)!=(0|0); - if ($140) { - $141 = HEAP32[$i>>2]|0; - $142 = HEAP32[$pIdx>>2]|0; - $143 = ((($142)) + 4|0); - $144 = HEAP32[$143>>2]|0; - $145 = (($144) + ($141<<1)|0); - $146 = HEAP16[$145>>1]|0; - $$sink = $146; - } else { - $147 = HEAP32[$pTo>>2]|0; - $148 = ((($147)) + 32|0); - $149 = HEAP16[$148>>1]|0; - $$sink = $149; - } - $150 = $$sink << 16 >> 16; - $151 = HEAP32[$pTo>>2]|0; - $152 = ((($151)) + 4|0); - $153 = HEAP32[$152>>2]|0; - $154 = (($153) + ($150<<4)|0); - $155 = HEAP32[$154>>2]|0; - HEAP32[$zCol>>2] = $155; - $156 = HEAP32[$0>>2]|0; - $157 = HEAP32[$pTo>>2]|0; - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$zCol>>2]|0; - $160 = HEAP32[$iDb>>2]|0; - $161 = (_sqlite3AuthReadCol($156,$158,$159,$160)|0); - HEAP32[$rcauth>>2] = $161; - $162 = HEAP32[$rcauth>>2]|0; - $163 = ($162|0)==(2); - $164 = $163&1; - HEAP32[$bIgnore>>2] = $164; - } - $165 = HEAP32[$i>>2]|0; - $166 = (($165) + 1)|0; - HEAP32[$i>>2] = $166; - } - $167 = HEAP32[$0>>2]|0; - $168 = HEAP32[$iDb>>2]|0; - $169 = HEAP32[$pTo>>2]|0; - $170 = ((($169)) + 28|0); - $171 = HEAP32[$170>>2]|0; - $172 = HEAP32[$pTo>>2]|0; - $173 = HEAP32[$172>>2]|0; - _sqlite3TableLock($167,$168,$171,0,$173); - $174 = HEAP32[$0>>2]|0; - $175 = ((($174)) + 40|0); - $176 = HEAP32[$175>>2]|0; - $177 = (($176) + 1)|0; - HEAP32[$175>>2] = $177; - $178 = HEAP32[$2>>2]|0; - $179 = ($178|0)!=(0); - if ($179) { - $180 = HEAP32[$0>>2]|0; - $181 = HEAP32[$iDb>>2]|0; - $182 = HEAP32[$pTo>>2]|0; - $183 = HEAP32[$pIdx>>2]|0; - $184 = HEAP32[$pFKey>>2]|0; - $185 = HEAP32[$aiCol>>2]|0; - $186 = HEAP32[$2>>2]|0; - $187 = HEAP32[$bIgnore>>2]|0; - _fkLookupParent($180,$181,$182,$183,$184,$185,$186,-1,$187); - } - $188 = HEAP32[$3>>2]|0; - $189 = ($188|0)!=(0); - if ($189) { - $190 = HEAP32[$0>>2]|0; - $191 = HEAP32[$pFKey>>2]|0; - $192 = (_isSetNullAction($190,$191)|0); - $193 = ($192|0)!=(0); - if (!($193)) { - $194 = HEAP32[$0>>2]|0; - $195 = HEAP32[$iDb>>2]|0; - $196 = HEAP32[$pTo>>2]|0; - $197 = HEAP32[$pIdx>>2]|0; - $198 = HEAP32[$pFKey>>2]|0; - $199 = HEAP32[$aiCol>>2]|0; - $200 = HEAP32[$3>>2]|0; - $201 = HEAP32[$bIgnore>>2]|0; - _fkLookupParent($194,$195,$196,$197,$198,$199,$200,1,$201); - } - } - $202 = HEAP32[$db>>2]|0; - $203 = HEAP32[$aiFree>>2]|0; - _sqlite3DbFree($202,$203); - break; - } - } - $71 = HEAP32[$isIgnoreErrors>>2]|0; - $72 = ($71|0)!=(0); - if (!($72)) { - label = 59; - break L4; - } - $73 = HEAP32[$db>>2]|0; - $74 = ((($73)) + 69|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = ($76|0)!=(0); - if ($77) { - label = 59; - break L4; - } - $78 = HEAP32[$pTo>>2]|0; - $79 = ($78|0)==(0|0); - if ($79) { - $80 = HEAP32[$0>>2]|0; - $81 = (_sqlite3GetVdbe($80)|0); - HEAP32[$v>>2] = $81; - $82 = HEAP32[$v>>2]|0; - $83 = (_sqlite3VdbeCurrentAddr($82)|0); - $84 = HEAP32[$pFKey>>2]|0; - $85 = ((($84)) + 20|0); - $86 = HEAP32[$85>>2]|0; - $87 = (($83) + ($86))|0; - $88 = (($87) + 1)|0; - HEAP32[$iJump>>2] = $88; - HEAP32[$i>>2] = 0; - while(1) { - $89 = HEAP32[$i>>2]|0; - $90 = HEAP32[$pFKey>>2]|0; - $91 = ((($90)) + 20|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($89|0)<($92|0); - if (!($93)) { - break; - } - $94 = HEAP32[$i>>2]|0; - $95 = HEAP32[$pFKey>>2]|0; - $96 = ((($95)) + 36|0); - $97 = (($96) + ($94<<3)|0); - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$2>>2]|0; - $100 = (($98) + ($99))|0; - $101 = (($100) + 1)|0; - HEAP32[$iReg>>2] = $101; - $102 = HEAP32[$v>>2]|0; - $103 = HEAP32[$iReg>>2]|0; - $104 = HEAP32[$iJump>>2]|0; - (_sqlite3VdbeAddOp2($102,34,$103,$104)|0); - $105 = HEAP32[$i>>2]|0; - $106 = (($105) + 1)|0; - HEAP32[$i>>2] = $106; - } - $107 = HEAP32[$v>>2]|0; - $108 = HEAP32[$pFKey>>2]|0; - $109 = ((($108)) + 24|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110&255; - (_sqlite3VdbeAddOp2($107,144,$111,-1)|0); - } - } - } while(0); - $204 = HEAP32[$pFKey>>2]|0; - $205 = ((($204)) + 4|0); - $206 = HEAP32[$205>>2]|0; - HEAP32[$pFKey>>2] = $206; - } - if ((label|0) == 39) { - $207 = HEAP32[$1>>2]|0; - $208 = (_sqlite3FkReferences($207)|0); - HEAP32[$pFKey>>2] = $208; - L55: while(1) { - $209 = HEAP32[$pFKey>>2]|0; - $210 = ($209|0)!=(0|0); - if (!($210)) { - label = 59; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)==(135); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 148|0); + $15 = ((($14)) + 5|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if (!($17)) { + label = 6; break; } - HEAP32[$pIdx1>>2] = 0; - HEAP32[$aiCol2>>2] = 0; - $211 = HEAP32[$4>>2]|0; - $212 = ($211|0)!=(0|0); - if ($212) { - $213 = HEAP32[$1>>2]|0; - $214 = HEAP32[$pFKey>>2]|0; - $215 = HEAP32[$4>>2]|0; - $216 = HEAP32[$5>>2]|0; - $217 = (_fkParentIsModified($213,$214,$215,$216)|0); - $218 = ($217|0)==(0); - if (!($218)) { - label = 43; - } - } else { - label = 43; - } - do { - if ((label|0) == 43) { - label = 0; - $219 = HEAP32[$pFKey>>2]|0; - $220 = ((($219)) + 24|0); - $221 = HEAP8[$220>>0]|0; - $222 = ($221<<24>>24)!=(0); - if (!($222)) { - $223 = HEAP32[$db>>2]|0; - $224 = ((($223)) + 24|0); - $225 = HEAP32[$224>>2]|0; - $226 = $225 & 33554432; - $227 = ($226|0)!=(0); - if (!($227)) { - $228 = HEAP32[$0>>2]|0; - $229 = ((($228)) + 124|0); - $230 = HEAP32[$229>>2]|0; - $231 = ($230|0)!=(0|0); - if (!($231)) { - $232 = HEAP32[$0>>2]|0; - $233 = ((($232)) + 20|0); - $234 = HEAP8[$233>>0]|0; - $235 = ($234<<24>>24)!=(0); - if (!($235)) { - break; - } - } - } - } - $236 = HEAP32[$0>>2]|0; - $237 = HEAP32[$1>>2]|0; - $238 = HEAP32[$pFKey>>2]|0; - $239 = (_sqlite3FkLocateIndex($236,$237,$238,$pIdx1,$aiCol2)|0); - $240 = ($239|0)!=(0); - if ($240) { - $241 = HEAP32[$isIgnoreErrors>>2]|0; - $242 = ($241|0)!=(0); - if (!($242)) { - label = 59; - break L55; - } - $243 = HEAP32[$db>>2]|0; - $244 = ((($243)) + 69|0); - $245 = HEAP8[$244>>0]|0; - $246 = $245&255; - $247 = ($246|0)!=(0); - if ($247) { - label = 59; - break L55; - } else { - break; - } - } - $248 = HEAP32[$db>>2]|0; - $249 = (_sqlite3SrcListAppend($248,0,0,0)|0); - HEAP32[$pSrc>>2] = $249; - $250 = HEAP32[$pSrc>>2]|0; - $251 = ($250|0)!=(0|0); - if ($251) { - $252 = HEAP32[$pSrc>>2]|0; - $253 = ((($252)) + 8|0); - HEAP32[$pItem>>2] = $253; - $254 = HEAP32[$pFKey>>2]|0; - $255 = HEAP32[$254>>2]|0; - $256 = HEAP32[$pItem>>2]|0; - $257 = ((($256)) + 16|0); - HEAP32[$257>>2] = $255; - $258 = HEAP32[$pFKey>>2]|0; - $259 = HEAP32[$258>>2]|0; - $260 = HEAP32[$259>>2]|0; - $261 = HEAP32[$pItem>>2]|0; - $262 = ((($261)) + 8|0); - HEAP32[$262>>2] = $260; - $263 = HEAP32[$pItem>>2]|0; - $264 = ((($263)) + 16|0); - $265 = HEAP32[$264>>2]|0; - $266 = ((($265)) + 36|0); - $267 = HEAP16[$266>>1]|0; - $268 = (($267) + 1)<<16>>16; - HEAP16[$266>>1] = $268; - $269 = HEAP32[$0>>2]|0; - $270 = ((($269)) + 40|0); - $271 = HEAP32[$270>>2]|0; - $272 = (($271) + 1)|0; - HEAP32[$270>>2] = $272; - $273 = HEAP32[$pItem>>2]|0; - $274 = ((($273)) + 44|0); - HEAP32[$274>>2] = $271; - $275 = HEAP32[$3>>2]|0; - $276 = ($275|0)!=(0); - if ($276) { - $277 = HEAP32[$0>>2]|0; - $278 = HEAP32[$pSrc>>2]|0; - $279 = HEAP32[$1>>2]|0; - $280 = HEAP32[$pIdx1>>2]|0; - $281 = HEAP32[$pFKey>>2]|0; - $282 = HEAP32[$aiCol2>>2]|0; - $283 = HEAP32[$3>>2]|0; - _fkScanChildren($277,$278,$279,$280,$281,$282,$283,-1); - } - $284 = HEAP32[$2>>2]|0; - $285 = ($284|0)!=(0); - if ($285) { - $286 = HEAP32[$4>>2]|0; - $287 = ($286|0)!=(0|0); - $288 = $287&1; - $289 = HEAP32[$pFKey>>2]|0; - $290 = ((($289)) + 25|0); - $291 = (($290) + ($288)|0); - $292 = HEAP8[$291>>0]|0; - $293 = $292&255; - HEAP32[$eAction>>2] = $293; - $294 = HEAP32[$0>>2]|0; - $295 = HEAP32[$pSrc>>2]|0; - $296 = HEAP32[$1>>2]|0; - $297 = HEAP32[$pIdx1>>2]|0; - $298 = HEAP32[$pFKey>>2]|0; - $299 = HEAP32[$aiCol2>>2]|0; - $300 = HEAP32[$2>>2]|0; - _fkScanChildren($294,$295,$296,$297,$298,$299,$300,1); - $301 = HEAP32[$pFKey>>2]|0; - $302 = ((($301)) + 24|0); - $303 = HEAP8[$302>>0]|0; - $304 = ($303<<24>>24)==(0); - $305 = HEAP32[$eAction>>2]|0; - $306 = ($305|0)!=(9); - $or$cond = $304 & $306; - $307 = HEAP32[$eAction>>2]|0; - $308 = ($307|0)!=(7); - $or$cond3 = $or$cond & $308; - if ($or$cond3) { - $309 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($309); - } - } - $310 = HEAP32[$pItem>>2]|0; - $311 = ((($310)) + 8|0); - HEAP32[$311>>2] = 0; - $312 = HEAP32[$db>>2]|0; - $313 = HEAP32[$pSrc>>2]|0; - _sqlite3SrcListDelete($312,$313); - } - $314 = HEAP32[$db>>2]|0; - $315 = HEAP32[$aiCol2>>2]|0; - _sqlite3DbFree($314,$315); - } - } while(0); - $316 = HEAP32[$pFKey>>2]|0; - $317 = ((($316)) + 12|0); - $318 = HEAP32[$317>>2]|0; - HEAP32[$pFKey>>2] = $318; - } - if ((label|0) == 59) { - STACKTOP = sp;return; + $18 = HEAP32[$4>>2]|0; + HEAP8[$18>>0] = 101; } - } - else if ((label|0) == 59) { - STACKTOP = sp;return; - } -} -function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData,$aRegIdx,$isUpdate,$appendBias,$useSeekResult) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $iDataCur = $iDataCur|0; - $iIdxCur = $iIdxCur|0; - $regNewData = $regNewData|0; - $aRegIdx = $aRegIdx|0; - $isUpdate = $isUpdate|0; - $appendBias = $appendBias|0; - $useSeekResult = $useSeekResult|0; - var $$ = 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, $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, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bAffinityDone = 0, $i = 0, $pIdx = 0, $pik_flags = 0, $regData = 0, $regRec = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $5 = sp + 32|0; - $6 = sp + 28|0; - $7 = sp + 24|0; - $8 = sp + 20|0; - $v = sp + 16|0; - $pIdx = sp + 12|0; - $pik_flags = sp + 57|0; - $regData = sp + 8|0; - $regRec = sp + 4|0; - $i = sp; - $bAffinityDone = sp + 56|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $iDataCur; - HEAP32[$3>>2] = $iIdxCur; - HEAP32[$4>>2] = $regNewData; - HEAP32[$5>>2] = $aRegIdx; - HEAP32[$6>>2] = $isUpdate; - HEAP32[$7>>2] = $appendBias; - HEAP32[$8>>2] = $useSeekResult; - HEAP8[$bAffinityDone>>0] = 0; - $9 = HEAP32[$0>>2]|0; - $10 = (_sqlite3GetVdbe($9)|0); - HEAP32[$v>>2] = $10; - HEAP32[$i>>2] = 0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pIdx>>2] = $13; - while(1) { - $14 = HEAP32[$pIdx>>2]|0; - $15 = ($14|0)!=(0|0); - if (!($15)) { + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = $26 & 8404992; + $28 = ($27|0)!=(0); + if ($28) { + label = 16; break; } - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$5>>2]|0; - $18 = (($17) + ($16<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)==(0); - if (!($20)) { - HEAP8[$bAffinityDone>>0] = 1; - $21 = HEAP32[$pIdx>>2]|0; - $22 = ((($21)) + 36|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$v>>2]|0; - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$5>>2]|0; - $28 = (($27) + ($26<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$v>>2]|0; - $31 = (_sqlite3VdbeCurrentAddr($30)|0); - $32 = (($31) + 2)|0; - (_sqlite3VdbeAddOp2($25,34,$29,$32)|0); + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = $31 & 2048; + $33 = ($32|0)!=(0); + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 20|0); + if ($33) { + $37 = HEAP32[$36>>2]|0; + $38 = (_sqlite3FixSelect($34,$37)|0); + $39 = ($38|0)!=(0); + if ($39) { + label = 10; + break; } - $33 = HEAP32[$v>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = HEAP32[$i>>2]|0; - $36 = (($34) + ($35))|0; - $37 = HEAP32[$i>>2]|0; - $38 = HEAP32[$5>>2]|0; - $39 = (($38) + ($37<<2)|0); - $40 = HEAP32[$39>>2]|0; - (_sqlite3VdbeAddOp2($33,126,$36,$40)|0); - HEAP8[$pik_flags>>0] = 0; - $41 = HEAP32[$8>>2]|0; + } else { + $40 = HEAP32[$36>>2]|0; + $41 = (_sqlite3FixExprList($34,$40)|0); $42 = ($41|0)!=(0); - $$ = $42 ? 16 : 0; - HEAP8[$pik_flags>>0] = $$; - $43 = HEAP32[$pIdx>>2]|0; - $44 = ((($43)) + 55|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45 & 3; - $47 = $46&255; - $48 = ($47|0)==(2); - if ($48) { - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 42|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = $52 & 32; - $54 = ($53|0)==(0); - if (!($54)) { - $55 = HEAP8[$pik_flags>>0]|0; - $56 = $55&255; - $57 = $56 | 1; - $58 = $57&255; - HEAP8[$pik_flags>>0] = $58; - } + if ($42) { + label = 12; + break; } - $59 = HEAP32[$v>>2]|0; - $60 = HEAP8[$pik_flags>>0]|0; - _sqlite3VdbeChangeP5($59,$60); } - $61 = HEAP32[$pIdx>>2]|0; - $62 = ((($61)) + 20|0); - $63 = HEAP32[$62>>2]|0; - HEAP32[$pIdx>>2] = $63; - $64 = HEAP32[$i>>2]|0; - $65 = (($64) + 1)|0; - HEAP32[$i>>2] = $65; - } - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 42|0); - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = $69 & 32; - $71 = ($70|0)==(0); - if (!($71)) { - STACKTOP = sp;return; - } - $72 = HEAP32[$4>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$regData>>2] = $73; - $74 = HEAP32[$0>>2]|0; - $75 = (_sqlite3GetTempReg($74)|0); - HEAP32[$regRec>>2] = $75; - $76 = HEAP32[$v>>2]|0; - $77 = HEAP32[$regData>>2]|0; - $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 34|0); - $80 = HEAP16[$79>>1]|0; - $81 = $80 << 16 >> 16; - $82 = HEAP32[$regRec>>2]|0; - (_sqlite3VdbeAddOp3($76,99,$77,$81,$82)|0); - $83 = HEAP8[$bAffinityDone>>0]|0; - $84 = ($83<<24>>24)!=(0); - if (!($84)) { - $85 = HEAP32[$v>>2]|0; - $86 = HEAP32[$1>>2]|0; - _sqlite3TableAffinity($85,$86,0); + $43 = HEAP32[$3>>2]|0; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 16|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_sqlite3FixExpr($43,$46)|0); + $48 = ($47|0)!=(0); + if ($48) { + label = 14; + break; + } + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$4>>2] = $51; } - $87 = HEAP32[$0>>2]|0; - $88 = HEAP32[$regData>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 34|0); - $91 = HEAP16[$90>>1]|0; - $92 = $91 << 16 >> 16; - _sqlite3ExprCacheAffinityChange($87,$88,$92); - $93 = HEAP32[$0>>2]|0; - $94 = ((($93)) + 18|0); - $95 = HEAP8[$94>>0]|0; - $96 = ($95<<24>>24)!=(0); - if ($96) { - HEAP8[$pik_flags>>0] = 0; - } else { - HEAP8[$pik_flags>>0] = 1; - $97 = HEAP32[$6>>2]|0; - $98 = ($97|0)!=(0); - $99 = $98 ? 4 : 2; - $100 = HEAP8[$pik_flags>>0]|0; - $101 = $100&255; - $102 = $101 | $99; - $103 = $102&255; - HEAP8[$pik_flags>>0] = $103; + if ((label|0) == 6) { + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$vararg_buffer>>2] = $23; + _sqlite3ErrorMsg($20,31439,$vararg_buffer); + HEAP32[$2>>2] = 1; + $52 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($52|0); } - $104 = HEAP32[$7>>2]|0; - $105 = ($104|0)!=(0); - if ($105) { - $106 = HEAP8[$pik_flags>>0]|0; - $107 = $106&255; - $108 = $107 | 8; - $109 = $108&255; - HEAP8[$pik_flags>>0] = $109; + else if ((label|0) == 10) { + HEAP32[$2>>2] = 1; + $52 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($52|0); } - $110 = HEAP32[$8>>2]|0; - $111 = ($110|0)!=(0); - if ($111) { - $112 = HEAP8[$pik_flags>>0]|0; - $113 = $112&255; - $114 = $113 | 16; - $115 = $114&255; - HEAP8[$pik_flags>>0] = $115; + else if ((label|0) == 12) { + HEAP32[$2>>2] = 1; + $52 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($52|0); } - $116 = HEAP32[$v>>2]|0; - $117 = HEAP32[$2>>2]|0; - $118 = HEAP32[$regRec>>2]|0; - $119 = HEAP32[$4>>2]|0; - (_sqlite3VdbeAddOp3($116,115,$117,$118,$119)|0); - $120 = HEAP32[$0>>2]|0; - $121 = ((($120)) + 18|0); - $122 = HEAP8[$121>>0]|0; - $123 = ($122<<24>>24)!=(0); - if (!($123)) { - $124 = HEAP32[$v>>2]|0; - $125 = HEAP32[$1>>2]|0; - _sqlite3VdbeChangeP4($124,-1,$125,-20); + else if ((label|0) == 14) { + HEAP32[$2>>2] = 1; + $52 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($52|0); } - $126 = HEAP32[$v>>2]|0; - $127 = HEAP8[$pik_flags>>0]|0; - _sqlite3VdbeChangeP5($126,$127); - STACKTOP = sp;return; -} -function _sqlite3AutoincrementEnd($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 120|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; + else if ((label|0) == 16) { + HEAP32[$2>>2] = 0; + $52 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($52|0); } - $5 = HEAP32[$0>>2]|0; - _autoIncrementEnd($5); - STACKTOP = sp;return; + return (0)|0; } -function _autoIncrementEnd($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $aOp = 0, $db = 0, $iRec = 0, $memId = 0, $p = 0, $pDb = 0, $v = 0, label = 0, sp = 0; +function _sqlite3FixExprList($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $p = sp + 24|0; - $v = sp + 20|0; - $db = sp + 16|0; - $aOp = sp + 12|0; - $pDb = sp + 8|0; - $iRec = sp + 4|0; - $memId = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$v>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 120|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$p>>2] = $8; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + HEAP32[$2>>2] = 0; + $25 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($25|0); + } + HEAP32[$5>>2] = 0; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $11; while(1) { - $9 = HEAP32[$p>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - label = 5; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ($12|0)<($14|0); + if (!($15)) { + label = 8; break; } - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$db>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($13<<4)|0); - HEAP32[$pDb>>2] = $17; - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$memId>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = (_sqlite3GetTempReg($21)|0); - HEAP32[$iRec>>2] = $22; - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$pDb>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 72|0); - $31 = HEAP32[$30>>2]|0; - _sqlite3OpenTable($23,0,$26,$31,105); - $32 = HEAP32[$v>>2]|0; - $33 = (_sqlite3VdbeAddOpList($32,5,34384,0)|0); - HEAP32[$aOp>>2] = $33; - $34 = HEAP32[$aOp>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - label = 5; + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3FixExpr($16,$18)|0); + $20 = ($19|0)!=(0); + if ($20) { + label = 6; break; } - $36 = HEAP32[$memId>>2]|0; - $37 = (($36) + 1)|0; - $38 = HEAP32[$aOp>>2]|0; - $39 = ((($38)) + 4|0); - HEAP32[$39>>2] = $37; - $40 = HEAP32[$memId>>2]|0; - $41 = (($40) + 1)|0; - $42 = HEAP32[$aOp>>2]|0; - $43 = ((($42)) + 20|0); - $44 = ((($43)) + 8|0); - HEAP32[$44>>2] = $41; - $45 = HEAP32[$memId>>2]|0; - $46 = (($45) - 1)|0; - $47 = HEAP32[$aOp>>2]|0; - $48 = ((($47)) + 40|0); - $49 = ((($48)) + 4|0); - HEAP32[$49>>2] = $46; - $50 = HEAP32[$iRec>>2]|0; - $51 = HEAP32[$aOp>>2]|0; - $52 = ((($51)) + 40|0); - $53 = ((($52)) + 12|0); - HEAP32[$53>>2] = $50; - $54 = HEAP32[$iRec>>2]|0; - $55 = HEAP32[$aOp>>2]|0; - $56 = ((($55)) + 60|0); - $57 = ((($56)) + 8|0); - HEAP32[$57>>2] = $54; - $58 = HEAP32[$memId>>2]|0; - $59 = (($58) + 1)|0; - $60 = HEAP32[$aOp>>2]|0; - $61 = ((($60)) + 60|0); - $62 = ((($61)) + 12|0); - HEAP32[$62>>2] = $59; - $63 = HEAP32[$aOp>>2]|0; - $64 = ((($63)) + 60|0); - $65 = ((($64)) + 3|0); - HEAP8[$65>>0] = 8; - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$iRec>>2]|0; - _sqlite3ReleaseTempReg($66,$67); - $68 = HEAP32[$p>>2]|0; - $69 = HEAP32[$68>>2]|0; - HEAP32[$p>>2] = $69; + $21 = HEAP32[$5>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$5>>2] = $22; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 20|0); + HEAP32[$6>>2] = $24; } - if ((label|0) == 5) { - STACKTOP = sp;return; + if ((label|0) == 6) { + HEAP32[$2>>2] = 1; + $25 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($25|0); + } + else if ((label|0) == 8) { + HEAP32[$2>>2] = 0; + $25 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($25|0); } + return (0)|0; } -function _fkChildIsModified($pTab,$p,$aChange,$bChngRowid) { - $pTab = $pTab|0; - $p = $p|0; - $aChange = $aChange|0; - $bChngRowid = $bChngRowid|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iChildKey = 0, $or$cond = 0, label = 0, sp = 0; +function _sqlite3FixTriggerStep($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $i = sp + 4|0; - $iChildKey = sp; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $aChange; - HEAP32[$4>>2] = $bChngRowid; - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($5|0)<($8|0); - if (!($9)) { - label = 8; + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + label = 10; break; } - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 36|0); - $13 = (($12) + ($10<<3)|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$iChildKey>>2] = $14; - $15 = HEAP32[$iChildKey>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = (($16) + ($15<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)>=(0); - if ($19) { + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3FixSelect($7,$10)|0); + $12 = ($11|0)!=(0); + if ($12) { label = 4; break; } - $20 = HEAP32[$iChildKey>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 32|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23 << 16 >> 16; - $25 = ($20|0)==($24|0); - $26 = HEAP32[$4>>2]|0; - $27 = ($26|0)!=(0); - $or$cond = $25 & $27; - if ($or$cond) { + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3FixExpr($13,$16)|0); + $18 = ($17|0)!=(0); + if ($18) { label = 6; break; } - $28 = HEAP32[$i>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$i>>2] = $29; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3FixExprList($19,$22)|0); + $24 = ($23|0)!=(0); + if ($24) { + label = 8; + break; + } + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 28|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$4>>2] = $27; } if ((label|0) == 4) { - HEAP32[$0>>2] = 1; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); + HEAP32[$2>>2] = 1; } else if ((label|0) == 6) { - HEAP32[$0>>2] = 1; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); + HEAP32[$2>>2] = 1; } else if ((label|0) == 8) { - HEAP32[$0>>2] = 0; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); + HEAP32[$2>>2] = 1; } - return (0)|0; + else if ((label|0) == 10) { + HEAP32[$2>>2] = 0; + } + $28 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($28|0); } -function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr,$isIgnore) { - $pParse = $pParse|0; - $iDb = $iDb|0; - $pTab = $pTab|0; - $pIdx = $pIdx|0; - $pFKey = $pFKey|0; - $aiCol = $aiCol|0; - $regData = $regData|0; - $nIncr = $nIncr|0; - $isIgnore = $isIgnore|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $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, $i = 0, $iChild = 0, $iCur = 0, $iJump = 0, $iMustBeInt = 0, $iOk = 0, $iParent = 0, $iReg = 0, $nCol = 0, $or$cond = 0, $or$cond3 = 0, $regRec = 0, $regTemp = 0, $regTemp1 = 0; - var $v = 0, label = 0, sp = 0; +function _sqlite3VdbeRunOnlyOnce($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; - $3 = sp + 72|0; - $4 = sp + 68|0; - $5 = sp + 64|0; - $6 = sp + 60|0; - $7 = sp + 56|0; - $8 = sp + 52|0; - $i = sp + 48|0; - $v = sp + 44|0; - $iCur = sp + 40|0; - $iOk = sp + 36|0; - $iReg = sp + 32|0; - $iMustBeInt = sp + 28|0; - $regTemp = sp + 24|0; - $nCol = sp + 20|0; - $regTemp1 = sp + 16|0; - $regRec = sp + 12|0; - $iJump = sp + 8|0; - $iChild = sp + 4|0; - $iParent = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iDb; - HEAP32[$2>>2] = $pTab; - HEAP32[$3>>2] = $pIdx; - HEAP32[$4>>2] = $pFKey; - HEAP32[$5>>2] = $aiCol; - HEAP32[$6>>2] = $regData; - HEAP32[$7>>2] = $nIncr; - HEAP32[$8>>2] = $isIgnore; - $9 = HEAP32[$0>>2]|0; - $10 = (_sqlite3GetVdbe($9)|0); - HEAP32[$v>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 40|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) - 1)|0; - HEAP32[$iCur>>2] = $14; - $15 = HEAP32[$v>>2]|0; - $16 = (_sqlite3VdbeMakeLabel($15)|0); - HEAP32[$iOk>>2] = $16; - $17 = HEAP32[$7>>2]|0; - $18 = ($17|0)<(0); - if ($18) { - $19 = HEAP32[$v>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = ((($20)) + 24|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = HEAP32[$iOk>>2]|0; - (_sqlite3VdbeAddOp2($19,65,$23,$24)|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$4>>2]|0; - $27 = ((($26)) + 20|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($25|0)<($28|0); - if (!($29)) { - break; - } - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$5>>2]|0; - $32 = (($31) + ($30<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$6>>2]|0; - $35 = (($33) + ($34))|0; - $36 = (($35) + 1)|0; - HEAP32[$iReg>>2] = $36; - $37 = HEAP32[$v>>2]|0; - $38 = HEAP32[$iReg>>2]|0; - $39 = HEAP32[$iOk>>2]|0; - (_sqlite3VdbeAddOp2($37,34,$38,$39)|0); - $40 = HEAP32[$i>>2]|0; - $41 = (($40) + 1)|0; - HEAP32[$i>>2] = $41; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 144|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4 & -33; + $6 = $5 | 32; + HEAP16[$3>>1] = $6; + STACKTOP = sp;return; +} +function _sqlite3_file_control($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 1; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3_mutex_enter($14); + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = (_sqlite3DbNameToBtree($15,$16)|0); + HEAP32[$9>>2] = $17; + $18 = HEAP32[$9>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 12|0); + $49 = HEAP32[$48>>2]|0; + _sqlite3_mutex_leave($49); + $50 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($50|0); } - $42 = HEAP32[$8>>2]|0; - $43 = ($42|0)==(0); + $20 = HEAP32[$9>>2]|0; + _sqlite3BtreeEnter($20); + $21 = HEAP32[$9>>2]|0; + $22 = (_sqlite3BtreePager($21)|0); + HEAP32[$10>>2] = $22; + $23 = HEAP32[$10>>2]|0; + $24 = (_sqlite3PagerFile($23)|0); + HEAP32[$11>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = ($25|0)==(7); do { - if ($43) { - $44 = HEAP32[$3>>2]|0; - $45 = ($44|0)==(0|0); - if ($45) { - $46 = HEAP32[$0>>2]|0; - $47 = (_sqlite3GetTempReg($46)|0); - HEAP32[$regTemp>>2] = $47; - $48 = HEAP32[$v>>2]|0; - $49 = HEAP32[$5>>2]|0; - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + 1)|0; - $52 = HEAP32[$6>>2]|0; - $53 = (($51) + ($52))|0; - $54 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp2($48,85,$53,$54)|0); - $55 = HEAP32[$v>>2]|0; - $56 = HEAP32[$regTemp>>2]|0; - $57 = (_sqlite3VdbeAddOp2($55,17,$56,0)|0); - HEAP32[$iMustBeInt>>2] = $57; - $58 = HEAP32[$2>>2]|0; - $59 = HEAP32[$4>>2]|0; - $60 = HEAP32[$59>>2]|0; - $61 = ($58|0)==($60|0); - $62 = HEAP32[$7>>2]|0; - $63 = ($62|0)==(1); - $or$cond = $61 & $63; - if ($or$cond) { - $64 = HEAP32[$v>>2]|0; - $65 = HEAP32[$6>>2]|0; - $66 = HEAP32[$iOk>>2]|0; - $67 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp3($64,37,$65,$66,$67)|0); - $68 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($68,-112); - } - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$iCur>>2]|0; - $71 = HEAP32[$1>>2]|0; - $72 = HEAP32[$2>>2]|0; - _sqlite3OpenTable($69,$70,$71,$72,104); - $73 = HEAP32[$v>>2]|0; - $74 = HEAP32[$iCur>>2]|0; - $75 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp3($73,33,$74,0,$75)|0); - $76 = HEAP32[$v>>2]|0; - $77 = HEAP32[$iOk>>2]|0; - (_sqlite3VdbeGoto($76,$77)|0); - $78 = HEAP32[$v>>2]|0; - $79 = HEAP32[$v>>2]|0; - $80 = (_sqlite3VdbeCurrentAddr($79)|0); - $81 = (($80) - 2)|0; - _sqlite3VdbeJumpHere($78,$81); - $82 = HEAP32[$v>>2]|0; - $83 = HEAP32[$iMustBeInt>>2]|0; - _sqlite3VdbeJumpHere($82,$83); - $84 = HEAP32[$0>>2]|0; - $85 = HEAP32[$regTemp>>2]|0; - _sqlite3ReleaseTempReg($84,$85); + if ($26) { + $27 = HEAP32[$11>>2]|0; + $28 = HEAP32[$7>>2]|0; + HEAP32[$28>>2] = $27; + HEAP32[$8>>2] = 0; + } else { + $29 = HEAP32[$6>>2]|0; + $30 = ($29|0)==(27); + if ($30) { + $31 = HEAP32[$10>>2]|0; + $32 = (_sqlite3PagerVfs($31)|0); + $33 = HEAP32[$7>>2]|0; + HEAP32[$33>>2] = $32; + HEAP32[$8>>2] = 0; break; } - $86 = HEAP32[$4>>2]|0; - $87 = ((($86)) + 20|0); - $88 = HEAP32[$87>>2]|0; - HEAP32[$nCol>>2] = $88; - $89 = HEAP32[$0>>2]|0; - $90 = HEAP32[$nCol>>2]|0; - $91 = (_sqlite3GetTempRange($89,$90)|0); - HEAP32[$regTemp1>>2] = $91; - $92 = HEAP32[$0>>2]|0; - $93 = (_sqlite3GetTempReg($92)|0); - HEAP32[$regRec>>2] = $93; - $94 = HEAP32[$v>>2]|0; - $95 = HEAP32[$iCur>>2]|0; - $96 = HEAP32[$3>>2]|0; - $97 = ((($96)) + 44|0); - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$1>>2]|0; - (_sqlite3VdbeAddOp3($94,104,$95,$98,$99)|0); - $100 = HEAP32[$0>>2]|0; - $101 = HEAP32[$3>>2]|0; - _sqlite3VdbeSetP4KeyInfo($100,$101); - HEAP32[$i>>2] = 0; - while(1) { - $102 = HEAP32[$i>>2]|0; - $103 = HEAP32[$nCol>>2]|0; - $104 = ($102|0)<($103|0); - if (!($104)) { - break; - } - $105 = HEAP32[$v>>2]|0; - $106 = HEAP32[$i>>2]|0; - $107 = HEAP32[$5>>2]|0; - $108 = (($107) + ($106<<2)|0); - $109 = HEAP32[$108>>2]|0; - $110 = (($109) + 1)|0; - $111 = HEAP32[$6>>2]|0; - $112 = (($110) + ($111))|0; - $113 = HEAP32[$regTemp1>>2]|0; - $114 = HEAP32[$i>>2]|0; - $115 = (($113) + ($114))|0; - (_sqlite3VdbeAddOp2($105,84,$112,$115)|0); - $116 = HEAP32[$i>>2]|0; - $117 = (($116) + 1)|0; - HEAP32[$i>>2] = $117; + $34 = HEAP32[$6>>2]|0; + $35 = ($34|0)==(28); + if ($35) { + $36 = HEAP32[$10>>2]|0; + $37 = (_sqlite3PagerJrnlFile($36)|0); + $38 = HEAP32[$7>>2]|0; + HEAP32[$38>>2] = $37; + HEAP32[$8>>2] = 0; + break; } - $118 = HEAP32[$2>>2]|0; - $119 = HEAP32[$4>>2]|0; - $120 = HEAP32[$119>>2]|0; - $121 = ($118|0)==($120|0); - $122 = HEAP32[$7>>2]|0; - $123 = ($122|0)==(1); - $or$cond3 = $121 & $123; - if ($or$cond3) { - $124 = HEAP32[$v>>2]|0; - $125 = (_sqlite3VdbeCurrentAddr($124)|0); - $126 = HEAP32[$nCol>>2]|0; - $127 = (($125) + ($126))|0; - $128 = (($127) + 1)|0; - HEAP32[$iJump>>2] = $128; - HEAP32[$i>>2] = 0; - while(1) { - $129 = HEAP32[$i>>2]|0; - $130 = HEAP32[$nCol>>2]|0; - $131 = ($129|0)<($130|0); - if (!($131)) { - break; - } - $132 = HEAP32[$i>>2]|0; - $133 = HEAP32[$5>>2]|0; - $134 = (($133) + ($132<<2)|0); - $135 = HEAP32[$134>>2]|0; - $136 = (($135) + 1)|0; - $137 = HEAP32[$6>>2]|0; - $138 = (($136) + ($137))|0; - HEAP32[$iChild>>2] = $138; - $139 = HEAP32[$i>>2]|0; - $140 = HEAP32[$3>>2]|0; - $141 = ((($140)) + 4|0); - $142 = HEAP32[$141>>2]|0; - $143 = (($142) + ($139<<1)|0); - $144 = HEAP16[$143>>1]|0; - $145 = $144 << 16 >> 16; - $146 = (($145) + 1)|0; - $147 = HEAP32[$6>>2]|0; - $148 = (($146) + ($147))|0; - HEAP32[$iParent>>2] = $148; - $149 = HEAP32[$i>>2]|0; - $150 = HEAP32[$3>>2]|0; - $151 = ((($150)) + 4|0); - $152 = HEAP32[$151>>2]|0; - $153 = (($152) + ($149<<1)|0); - $154 = HEAP16[$153>>1]|0; - $155 = $154 << 16 >> 16; - $156 = HEAP32[$2>>2]|0; - $157 = ((($156)) + 32|0); - $158 = HEAP16[$157>>1]|0; - $159 = $158 << 16 >> 16; - $160 = ($155|0)==($159|0); - if ($160) { - $161 = HEAP32[$6>>2]|0; - HEAP32[$iParent>>2] = $161; - } - $162 = HEAP32[$v>>2]|0; - $163 = HEAP32[$iChild>>2]|0; - $164 = HEAP32[$iJump>>2]|0; - $165 = HEAP32[$iParent>>2]|0; - (_sqlite3VdbeAddOp3($162,36,$163,$164,$165)|0); - $166 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($166,16); - $167 = HEAP32[$i>>2]|0; - $168 = (($167) + 1)|0; - HEAP32[$i>>2] = $168; - } - $169 = HEAP32[$v>>2]|0; - $170 = HEAP32[$iOk>>2]|0; - (_sqlite3VdbeGoto($169,$170)|0); + $39 = HEAP32[$11>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)!=(0|0); + if ($41) { + $42 = HEAP32[$11>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$7>>2]|0; + $45 = (_sqlite3OsFileControl($42,$43,$44)|0); + HEAP32[$8>>2] = $45; + break; + } else { + HEAP32[$8>>2] = 12; + break; } - $171 = HEAP32[$v>>2]|0; - $172 = HEAP32[$regTemp1>>2]|0; - $173 = HEAP32[$nCol>>2]|0; - $174 = HEAP32[$regRec>>2]|0; - $175 = HEAP32[$0>>2]|0; - $176 = HEAP32[$175>>2]|0; - $177 = HEAP32[$3>>2]|0; - $178 = (_sqlite3IndexAffinityStr($176,$177)|0); - $179 = HEAP32[$nCol>>2]|0; - (_sqlite3VdbeAddOp4($171,99,$172,$173,$174,$178,$179)|0); - $180 = HEAP32[$v>>2]|0; - $181 = HEAP32[$iCur>>2]|0; - $182 = HEAP32[$iOk>>2]|0; - $183 = HEAP32[$regRec>>2]|0; - (_sqlite3VdbeAddOp4Int($180,31,$181,$182,$183,0)|0); - $184 = HEAP32[$0>>2]|0; - $185 = HEAP32[$regRec>>2]|0; - _sqlite3ReleaseTempReg($184,$185); - $186 = HEAP32[$0>>2]|0; - $187 = HEAP32[$regTemp1>>2]|0; - $188 = HEAP32[$nCol>>2]|0; - _sqlite3ReleaseTempRange($186,$187,$188); } } while(0); - $189 = HEAP32[$4>>2]|0; - $190 = ((($189)) + 24|0); - $191 = HEAP8[$190>>0]|0; - $192 = ($191<<24>>24)!=(0); - if (!($192)) { - $193 = HEAP32[$0>>2]|0; - $194 = HEAP32[$193>>2]|0; - $195 = ((($194)) + 24|0); - $196 = HEAP32[$195>>2]|0; - $197 = $196 & 33554432; - $198 = ($197|0)!=(0); - if (!($198)) { - $199 = HEAP32[$0>>2]|0; - $200 = ((($199)) + 124|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)!=(0|0); - if (!($202)) { - $203 = HEAP32[$0>>2]|0; - $204 = ((($203)) + 20|0); - $205 = HEAP8[$204>>0]|0; - $206 = ($205<<24>>24)!=(0); - if (!($206)) { - $207 = HEAP32[$0>>2]|0; - _sqlite3HaltConstraint($207,787,2,0,-2,4); - $222 = HEAP32[$v>>2]|0; - $223 = HEAP32[$iOk>>2]|0; - _sqlite3VdbeResolveLabel($222,$223); - $224 = HEAP32[$v>>2]|0; - $225 = HEAP32[$iCur>>2]|0; - (_sqlite3VdbeAddOp1($224,111,$225)|0); - STACKTOP = sp;return; - } - } - } - } - $208 = HEAP32[$7>>2]|0; - $209 = ($208|0)>(0); - if ($209) { - $210 = HEAP32[$4>>2]|0; - $211 = ((($210)) + 24|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $214 = ($213|0)==(0); - if ($214) { - $215 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($215); - } + $46 = HEAP32[$9>>2]|0; + _sqlite3BtreeLeave($46); + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 12|0); + $49 = HEAP32[$48>>2]|0; + _sqlite3_mutex_leave($49); + $50 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($50|0); +} +function _returnSingleText($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + STACKTOP = sp;return; } - $216 = HEAP32[$v>>2]|0; - $217 = HEAP32[$4>>2]|0; - $218 = ((($217)) + 24|0); - $219 = HEAP8[$218>>0]|0; - $220 = $219&255; - $221 = HEAP32[$7>>2]|0; - (_sqlite3VdbeAddOp2($216,144,$220,$221)|0); - $222 = HEAP32[$v>>2]|0; - $223 = HEAP32[$iOk>>2]|0; - _sqlite3VdbeResolveLabel($222,$223); - $224 = HEAP32[$v>>2]|0; - $225 = HEAP32[$iCur>>2]|0; - (_sqlite3VdbeAddOp1($224,111,$225)|0); + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$5>>2]|0; + (_sqlite3VdbeLoadString($8,1,$9)|0); + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$4>>2]|0; + _setOneColumnName($10,$11); + $12 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($12,87,1,1)|0); STACKTOP = sp;return; } -function _isSetNullAction($pParse,$pFKey) { - $pParse = $pParse|0; - $pFKey = $pFKey|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $p = 0, $pTop = 0, label = 0, sp = 0; +function _setOneColumnName($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + _setAllColumnNames($4,1,$3); + STACKTOP = sp;return; +} +function _sqlite3VdbeAddOpList($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, $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $pTop = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pFKey; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 124|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - $7 = HEAP32[$1>>2]|0; - if ($6) { - $8 = ((($7)) + 124|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9; - } else { - $10 = $7; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 136|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = (($14) + ($15))|0; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 48|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($16|0)>($21|0); + if ($22) { + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = (_growOpArray($23,$24)|0); + $26 = ($25|0)!=(0); + if ($26) { + HEAP32[$4>>2] = 0; + $96 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($96|0); + } } - HEAP32[$pTop>>2] = $10; - $11 = HEAP32[$pTop>>2]|0; - $12 = ((($11)) + 468|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0|0); - do { - if ($14) { - $15 = HEAP32[$pTop>>2]|0; - $16 = ((($15)) + 468|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$p>>2] = $18; - $19 = HEAP32[$p>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 28|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($19|0)==($22|0); - if ($23) { - $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 25|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)==(7); - if (!($28)) { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - $29 = HEAP32[$p>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = ((($30)) + 28|0); - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($29|0)==($33|0); - if (!($34)) { - break; - } - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 25|0); - $37 = ((($36)) + 1|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = ($39|0)==(7); - if (!($40)) { - break; - } + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 88|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 136|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($29) + (($32*20)|0)|0); + HEAP32[$10>>2] = $33; + HEAP32[$11>>2] = $33; + HEAP32[$9>>2] = 0; + while(1) { + $34 = HEAP32[$9>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = ($34|0)<($35|0); + if (!($36)) { + break; + } + $37 = HEAP32[$7>>2]|0; + $38 = HEAP8[$37>>0]|0; + $39 = HEAP32[$10>>2]|0; + HEAP8[$39>>0] = $38; + $40 = HEAP32[$7>>2]|0; + $41 = ((($40)) + 1|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42 << 24 >> 24; + $44 = HEAP32[$10>>2]|0; + $45 = ((($44)) + 4|0); + HEAP32[$45>>2] = $43; + $46 = HEAP32[$7>>2]|0; + $47 = ((($46)) + 2|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48 << 24 >> 24; + $50 = HEAP32[$10>>2]|0; + $51 = ((($50)) + 8|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$7>>2]|0; + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = (32756 + ($54)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $57 & 1; + $59 = ($58|0)!=(0); + if ($59) { + $60 = HEAP32[$7>>2]|0; + $61 = ((($60)) + 2|0); + $62 = HEAP8[$61>>0]|0; + $63 = $62 << 24 >> 24; + $64 = ($63|0)>(0); + if ($64) { + $65 = HEAP32[$5>>2]|0; + $66 = ((($65)) + 136|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$10>>2]|0; + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + $71 = (($70) + ($67))|0; + HEAP32[$69>>2] = $71; } - HEAP32[$0>>2] = 1; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); } - } while(0); - HEAP32[$0>>2] = 0; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); + $72 = HEAP32[$7>>2]|0; + $73 = ((($72)) + 3|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74 << 24 >> 24; + $76 = HEAP32[$10>>2]|0; + $77 = ((($76)) + 12|0); + HEAP32[$77>>2] = $75; + $78 = HEAP32[$10>>2]|0; + $79 = ((($78)) + 1|0); + HEAP8[$79>>0] = 0; + $80 = HEAP32[$10>>2]|0; + $81 = ((($80)) + 16|0); + HEAP32[$81>>2] = 0; + $82 = HEAP32[$10>>2]|0; + $83 = ((($82)) + 3|0); + HEAP8[$83>>0] = 0; + $84 = HEAP32[$9>>2]|0; + $85 = (($84) + 1)|0; + HEAP32[$9>>2] = $85; + $86 = HEAP32[$7>>2]|0; + $87 = ((($86)) + 4|0); + HEAP32[$7>>2] = $87; + $88 = HEAP32[$10>>2]|0; + $89 = ((($88)) + 20|0); + HEAP32[$10>>2] = $89; + } + $90 = HEAP32[$6>>2]|0; + $91 = HEAP32[$5>>2]|0; + $92 = ((($91)) + 136|0); + $93 = HEAP32[$92>>2]|0; + $94 = (($93) + ($90))|0; + HEAP32[$92>>2] = $94; + $95 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $95; + $96 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($96|0); } -function _fkParentIsModified($pTab,$p,$aChange,$bChngRowid) { - $pTab = $pTab|0; - $p = $p|0; - $aChange = $aChange|0; - $bChngRowid = $bChngRowid|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iKey = 0, $or$cond = 0; - var $pCol = 0, $zKey = 0, label = 0, sp = 0; +function _returnSingleInt($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $i = sp + 12|0; - $zKey = sp + 8|0; - $iKey = sp + 4|0; - $pCol = sp; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $aChange; - HEAP32[$4>>2] = $bChngRowid; - HEAP32[$i>>2] = 0; - L1: while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($5|0)<($8|0); - if (!($9)) { - label = 14; - break; - } - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 36|0); - $13 = (($12) + ($10<<3)|0); - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$zKey>>2] = $15; - HEAP32[$iKey>>2] = 0; - while(1) { - $16 = HEAP32[$iKey>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 34|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19 << 16 >> 16; - $21 = ($16|0)<($20|0); - if (!($21)) { + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $7 = $6; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + $11 = HEAP32[$4>>2]|0; + (_sqlite3VdbeAddOp4Dup8($11,77,0,1,0,$6,-13)|0); + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$5>>2]|0; + _setOneColumnName($12,$13); + $14 = HEAP32[$4>>2]|0; + (_sqlite3VdbeAddOp2($14,87,1,1)|0); + STACKTOP = sp;return; +} +function _getLockingMode($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + do { + if ($4) { + $5 = HEAP32[$2>>2]|0; + $6 = (_sqlite3StrICmp($5,31645)|0); + $7 = (0)==($6|0); + if ($7) { + HEAP32[$1>>2] = 1; break; } - $22 = HEAP32[$iKey>>2]|0; - $23 = HEAP32[$3>>2]|0; - $24 = (($23) + ($22<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)>=(0); - if ($26) { - label = 7; + $8 = HEAP32[$2>>2]|0; + $9 = (_sqlite3StrICmp($8,31638)|0); + $10 = (0)==($9|0); + if ($10) { + HEAP32[$1>>2] = 0; } else { - $27 = HEAP32[$iKey>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 32|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30 << 16 >> 16; - $32 = ($27|0)==($31|0); - $33 = HEAP32[$4>>2]|0; - $34 = ($33|0)!=(0); - $or$cond = $32 & $34; - if ($or$cond) { - label = 7; - } + label = 6; } - do { - if ((label|0) == 7) { - label = 0; - $35 = HEAP32[$iKey>>2]|0; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 4|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + ($35<<4)|0); - HEAP32[$pCol>>2] = $39; - $40 = HEAP32[$zKey>>2]|0; - $41 = ($40|0)!=(0|0); - $42 = HEAP32[$pCol>>2]|0; - if ($41) { - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$zKey>>2]|0; - $45 = (_sqlite3StrICmp($43,$44)|0); - $46 = (0)==($45|0); - if ($46) { - label = 9; - break L1; - } else { - break; - } - } else { - $47 = ((($42)) + 15|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - $50 = $49 & 1; - $51 = ($50|0)!=(0); - if ($51) { - label = 11; - break L1; - } else { - break; - } - } - } - } while(0); - $52 = HEAP32[$iKey>>2]|0; - $53 = (($52) + 1)|0; - HEAP32[$iKey>>2] = $53; + } else { + label = 6; } - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; - } - if ((label|0) == 9) { - HEAP32[$0>>2] = 1; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); - } - else if ((label|0) == 11) { - HEAP32[$0>>2] = 1; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); - } - else if ((label|0) == 14) { - HEAP32[$0>>2] = 0; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); + } while(0); + if ((label|0) == 6) { + HEAP32[$1>>2] = -1; } - return (0)|0; + $11 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($11|0); } -function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr) { - $pParse = $pParse|0; - $pSrc = $pSrc|0; - $pTab = $pTab|0; - $pIdx = $pIdx|0; - $pFKey = $pFKey|0; - $aiCol = $aiCol|0; - $regData = $regData|0; - $nIncr = $nIncr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $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, $db = 0, $i = 0, $iCol = 0, $iCol4 = 0, $iFkIfZero = 0, $or$cond = 0, $pAll = 0, $pEq = 0, $pEq3 = 0, $pLeft = 0, $pLeft1 = 0, $pNe = 0, $pPk = 0; - var $pRight = 0, $pRight2 = 0, $pWInfo = 0, $pWhere = 0, $sNameContext = 0, $v = 0, $zCol = 0, label = 0, sp = 0; +function _sqlite3JournalModename($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; - STACKTOP = STACKTOP + 144|0; - $0 = sp + 128|0; - $1 = sp + 124|0; - $2 = sp + 120|0; - $3 = sp + 116|0; - $4 = sp + 112|0; - $5 = sp + 108|0; - $6 = sp + 104|0; - $7 = sp + 100|0; - $db = sp + 96|0; - $i = sp + 92|0; - $pWhere = sp + 88|0; - $sNameContext = sp + 56|0; - $pWInfo = sp + 48|0; - $iFkIfZero = sp + 44|0; - $v = sp + 40|0; - $pLeft = sp + 36|0; - $pRight = sp + 32|0; - $pEq = sp + 28|0; - $iCol = sp + 134|0; - $zCol = sp + 24|0; - $pNe = sp + 20|0; - $pLeft1 = sp + 16|0; - $pRight2 = sp + 12|0; - $pEq3 = sp + 8|0; - $pAll = sp + 4|0; - $pPk = sp; - $iCol4 = sp + 132|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pSrc; - HEAP32[$2>>2] = $pTab; - HEAP32[$3>>2] = $pIdx; - HEAP32[$4>>2] = $pFKey; - HEAP32[$5>>2] = $aiCol; - HEAP32[$6>>2] = $regData; - HEAP32[$7>>2] = $nIncr; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$db>>2] = $9; - HEAP32[$pWhere>>2] = 0; - HEAP32[$iFkIfZero>>2] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = (_sqlite3GetVdbe($10)|0); - HEAP32[$v>>2] = $11; - $12 = HEAP32[$7>>2]|0; - $13 = ($12|0)<(0); - if ($13) { - $14 = HEAP32[$v>>2]|0; - $15 = HEAP32[$4>>2]|0; - $16 = ((($15)) + 24|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = (_sqlite3VdbeAddOp2($14,65,$18,0)|0); - HEAP32[$iFkIfZero>>2] = $19; - } - HEAP32[$i>>2] = 0; - while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$4>>2]|0; - $22 = ((($21)) + 20|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($20|0)<($23|0); - if (!($24)) { - break; - } - $25 = HEAP32[$3>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$3>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + ($27<<1)|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32 << 16 >> 16; - $35 = $33; - } else { - $35 = -1; - } - $34 = $35&65535; - HEAP16[$iCol>>1] = $34; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$6>>2]|0; - $39 = HEAP16[$iCol>>1]|0; - $40 = (_exprTableRegister($36,$37,$38,$39)|0); - HEAP32[$pLeft>>2] = $40; - $41 = HEAP32[$5>>2]|0; - $42 = ($41|0)!=(0|0); - if ($42) { - $43 = HEAP32[$i>>2]|0; - $44 = HEAP32[$5>>2]|0; - $45 = (($44) + ($43<<2)|0); - $46 = HEAP32[$45>>2]|0; - $51 = $46; - } else { - $47 = HEAP32[$4>>2]|0; - $48 = ((($47)) + 36|0); - $49 = HEAP32[$48>>2]|0; - $51 = $49; - } - $50 = $51&65535; - HEAP16[$iCol>>1] = $50; - $52 = HEAP16[$iCol>>1]|0; - $53 = $52 << 16 >> 16; - $54 = HEAP32[$4>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + ($53<<4)|0); - $59 = HEAP32[$58>>2]|0; - HEAP32[$zCol>>2] = $59; - $60 = HEAP32[$db>>2]|0; - $61 = HEAP32[$zCol>>2]|0; - $62 = (_sqlite3Expr($60,55,$61)|0); - HEAP32[$pRight>>2] = $62; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$pLeft>>2]|0; - $65 = HEAP32[$pRight>>2]|0; - $66 = (_sqlite3PExpr($63,37,$64,$65,0)|0); - HEAP32[$pEq>>2] = $66; - $67 = HEAP32[$db>>2]|0; - $68 = HEAP32[$pWhere>>2]|0; - $69 = HEAP32[$pEq>>2]|0; - $70 = (_sqlite3ExprAnd($67,$68,$69)|0); - HEAP32[$pWhere>>2] = $70; - $71 = HEAP32[$i>>2]|0; - $72 = (($71) + 1)|0; - HEAP32[$i>>2] = $72; - } - $73 = HEAP32[$2>>2]|0; - $74 = HEAP32[$4>>2]|0; - $75 = HEAP32[$74>>2]|0; - $76 = ($73|0)==($75|0); - $77 = HEAP32[$7>>2]|0; - $78 = ($77|0)>(0); - $or$cond = $76 & $78; - if ($or$cond) { - $79 = HEAP32[$2>>2]|0; - $80 = ((($79)) + 42|0); - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $83 = $82 & 32; - $84 = ($83|0)==(0); - if ($84) { - $85 = HEAP32[$0>>2]|0; - $86 = HEAP32[$2>>2]|0; - $87 = HEAP32[$6>>2]|0; - $88 = (_exprTableRegister($85,$86,$87,-1)|0); - HEAP32[$pLeft1>>2] = $88; - $89 = HEAP32[$db>>2]|0; - $90 = HEAP32[$2>>2]|0; - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 8|0); - $93 = ((($92)) + 44|0); - $94 = HEAP32[$93>>2]|0; - $95 = (_exprTableColumn($89,$90,$94,-1)|0); - HEAP32[$pRight2>>2] = $95; - $96 = HEAP32[$0>>2]|0; - $97 = HEAP32[$pLeft1>>2]|0; - $98 = HEAP32[$pRight2>>2]|0; - $99 = (_sqlite3PExpr($96,36,$97,$98,0)|0); - HEAP32[$pNe>>2] = $99; - } else { - HEAP32[$pAll>>2] = 0; - $100 = HEAP32[$2>>2]|0; - $101 = (_sqlite3PrimaryKeyIndex($100)|0); - HEAP32[$pPk>>2] = $101; - HEAP32[$i>>2] = 0; - while(1) { - $102 = HEAP32[$i>>2]|0; - $103 = HEAP32[$pPk>>2]|0; - $104 = ((($103)) + 50|0); - $105 = HEAP16[$104>>1]|0; - $106 = $105&65535; - $107 = ($102|0)<($106|0); - if (!($107)) { - break; - } - $108 = HEAP32[$i>>2]|0; - $109 = HEAP32[$3>>2]|0; - $110 = ((($109)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = (($111) + ($108<<1)|0); - $113 = HEAP16[$112>>1]|0; - HEAP16[$iCol4>>1] = $113; - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$2>>2]|0; - $116 = HEAP32[$6>>2]|0; - $117 = HEAP16[$iCol4>>1]|0; - $118 = (_exprTableRegister($114,$115,$116,$117)|0); - HEAP32[$pLeft1>>2] = $118; - $119 = HEAP32[$db>>2]|0; - $120 = HEAP32[$2>>2]|0; - $121 = HEAP32[$1>>2]|0; - $122 = ((($121)) + 8|0); - $123 = ((($122)) + 44|0); - $124 = HEAP32[$123>>2]|0; - $125 = HEAP16[$iCol4>>1]|0; - $126 = (_exprTableColumn($119,$120,$124,$125)|0); - HEAP32[$pRight2>>2] = $126; - $127 = HEAP32[$0>>2]|0; - $128 = HEAP32[$pLeft1>>2]|0; - $129 = HEAP32[$pRight2>>2]|0; - $130 = (_sqlite3PExpr($127,37,$128,$129,0)|0); - HEAP32[$pEq3>>2] = $130; - $131 = HEAP32[$db>>2]|0; - $132 = HEAP32[$pAll>>2]|0; - $133 = HEAP32[$pEq3>>2]|0; - $134 = (_sqlite3ExprAnd($131,$132,$133)|0); - HEAP32[$pAll>>2] = $134; - $135 = HEAP32[$i>>2]|0; - $136 = (($135) + 1)|0; - HEAP32[$i>>2] = $136; - } - $137 = HEAP32[$0>>2]|0; - $138 = HEAP32[$pAll>>2]|0; - $139 = (_sqlite3PExpr($137,19,$138,0,0)|0); - HEAP32[$pNe>>2] = $139; - } - $140 = HEAP32[$db>>2]|0; - $141 = HEAP32[$pWhere>>2]|0; - $142 = HEAP32[$pNe>>2]|0; - $143 = (_sqlite3ExprAnd($140,$141,$142)|0); - HEAP32[$pWhere>>2] = $143; - } - ;HEAP32[$sNameContext>>2]=0|0;HEAP32[$sNameContext+4>>2]=0|0;HEAP32[$sNameContext+8>>2]=0|0;HEAP32[$sNameContext+12>>2]=0|0;HEAP32[$sNameContext+16>>2]=0|0;HEAP32[$sNameContext+20>>2]=0|0;HEAP32[$sNameContext+24>>2]=0|0;HEAP32[$sNameContext+28>>2]=0|0; - $144 = HEAP32[$1>>2]|0; - $145 = ((($sNameContext)) + 4|0); - HEAP32[$145>>2] = $144; - $146 = HEAP32[$0>>2]|0; - HEAP32[$sNameContext>>2] = $146; - $147 = HEAP32[$pWhere>>2]|0; - (_sqlite3ResolveExprNames($sNameContext,$147)|0); - $148 = HEAP32[$0>>2]|0; - $149 = HEAP32[$1>>2]|0; - $150 = HEAP32[$pWhere>>2]|0; - $151 = (_sqlite3WhereBegin($148,$149,$150,0,0,0,0)|0); - HEAP32[$pWInfo>>2] = $151; - $152 = HEAP32[$v>>2]|0; - $153 = HEAP32[$4>>2]|0; - $154 = ((($153)) + 24|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = HEAP32[$7>>2]|0; - (_sqlite3VdbeAddOp2($152,144,$156,$157)|0); - $158 = HEAP32[$pWInfo>>2]|0; - $159 = ($158|0)!=(0|0); - if ($159) { - $160 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($160); - } - $161 = HEAP32[$db>>2]|0; - $162 = HEAP32[$pWhere>>2]|0; - _sqlite3ExprDelete($161,$162); - $163 = HEAP32[$iFkIfZero>>2]|0; - $164 = ($163|0)!=(0); - if (!($164)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(6); + if ($4) { + HEAP32[$1>>2] = 0; + } else { + $5 = HEAP32[$2>>2]|0; + $6 = (5488 + ($5<<2)|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$1>>2] = $7; } - $165 = HEAP32[$v>>2]|0; - $166 = HEAP32[$iFkIfZero>>2]|0; - _sqlite3VdbeJumpHere($165,$166); - STACKTOP = sp;return; + $8 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($8|0); } -function _exprTableRegister($pParse,$pTab,$regBase,$iCol) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $regBase = $regBase|0; - $iCol = $iCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $pCol = 0, $pExpr = 0; - var $zColl = 0, label = 0, sp = 0; +function _sqlite3PagerJournalSizeLimit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 28|0; - $pExpr = sp + 12|0; - $pCol = sp + 8|0; - $zColl = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $regBase; - HEAP16[$3>>1] = $iCol; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$db>>2]|0; - $7 = (_sqlite3Expr($6,157,0)|0); - HEAP32[$pExpr>>2] = $7; - $8 = HEAP32[$pExpr>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - $56 = HEAP32[$pExpr>>2]|0; - STACKTOP = sp;return ($56|0); - } - $10 = HEAP16[$3>>1]|0; - $11 = $10 << 16 >> 16; - $12 = ($11|0)>=(0); - if ($12) { - $13 = HEAP16[$3>>1]|0; - $14 = $13 << 16 >> 16; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 32|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17 << 16 >> 16; - $19 = ($14|0)!=($18|0); - if ($19) { - $20 = HEAP16[$3>>1]|0; - $21 = $20 << 16 >> 16; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($21<<4)|0); - HEAP32[$pCol>>2] = $25; - $26 = HEAP32[$2>>2]|0; - $27 = HEAP16[$3>>1]|0; - $28 = $27 << 16 >> 16; - $29 = (($26) + ($28))|0; - $30 = (($29) + 1)|0; - $31 = HEAP32[$pExpr>>2]|0; - $32 = ((($31)) + 28|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$pCol>>2]|0; - $34 = ((($33)) + 13|0); - $35 = HEAP8[$34>>0]|0; - $36 = HEAP32[$pExpr>>2]|0; - $37 = ((($36)) + 1|0); - HEAP8[$37>>0] = $35; - $38 = HEAP32[$pCol>>2]|0; - $39 = ((($38)) + 8|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$zColl>>2] = $40; - $41 = HEAP32[$zColl>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { - $43 = HEAP32[$db>>2]|0; - $44 = ((($43)) + 8|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$45>>2]|0; - HEAP32[$zColl>>2] = $46; - } - $47 = HEAP32[$0>>2]|0; - $48 = HEAP32[$pExpr>>2]|0; - $49 = HEAP32[$zColl>>2]|0; - $50 = (_sqlite3ExprAddCollateString($47,$48,$49)|0); - HEAP32[$pExpr>>2] = $50; - $56 = HEAP32[$pExpr>>2]|0; - STACKTOP = sp;return ($56|0); - } + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$3>>2] = $0; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $1; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = $4; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(-1); + $16 = ($11>>>0)>=(4294967295); + $17 = ($14|0)==(-1); + $18 = $17 & $16; + $19 = $15 | $18; + if ($19) { + $20 = $4; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 168|0); + $28 = $27; + $29 = $28; + HEAP32[$29>>2] = $22; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = $25; + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 216|0); + $34 = HEAP32[$33>>2]|0; + $35 = $4; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + _sqlite3WalLimit($34,$37,$40); } - $51 = HEAP32[$2>>2]|0; - $52 = HEAP32[$pExpr>>2]|0; - $53 = ((($52)) + 28|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$pExpr>>2]|0; - $55 = ((($54)) + 1|0); - HEAP8[$55>>0] = 68; - $56 = HEAP32[$pExpr>>2]|0; - STACKTOP = sp;return ($56|0); + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 168|0); + $43 = $42; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + tempRet0 = ($48); + STACKTOP = sp;return ($45|0); } -function _exprTableColumn($db,$pTab,$iCursor,$iCol) { - $db = $db|0; - $pTab = $pTab|0; - $iCursor = $iCursor|0; - $iCol = $iCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pExpr = 0, label = 0; - var sp = 0; +function _sqlite3BtreeGetAutoVacuum($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnter($3); + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 17|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)!=(0); + if ($9) { + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 18|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)!=(0); + $16 = $15 ^ 1; + $17 = $16 ? 1 : 2; + $18 = $17; + } else { + $18 = 0; + } + HEAP32[$2>>2] = $18; + $19 = HEAP32[$1>>2]|0; + _sqlite3BtreeLeave($19); + $20 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($20|0); +} +function _getAutoVacuum($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp + 4|0; - $3 = sp + 16|0; - $pExpr = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $iCursor; - HEAP16[$3>>1] = $iCol; - $4 = HEAP32[$0>>2]|0; - $5 = (_sqlite3Expr($4,152,0)|0); - HEAP32[$pExpr>>2] = $5; - $6 = HEAP32[$pExpr>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $17 = HEAP32[$pExpr>>2]|0; - STACKTOP = sp;return ($17|0); + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = (_sqlite3StrICmp($4,32716)|0); + $6 = (0)==($5|0); + do { + if ($6) { + HEAP32[$1>>2] = 0; + } else { + $7 = HEAP32[$2>>2]|0; + $8 = (_sqlite3StrICmp($7,32160)|0); + $9 = (0)==($8|0); + if ($9) { + HEAP32[$1>>2] = 1; + break; + } + $10 = HEAP32[$2>>2]|0; + $11 = (_sqlite3StrICmp($10,32721)|0); + $12 = (0)==($11|0); + if ($12) { + HEAP32[$1>>2] = 2; + break; + } else { + $13 = HEAP32[$2>>2]|0; + $14 = (_sqlite3Atoi($13)|0); + HEAP32[$3>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)>=(0); + $17 = HEAP32[$3>>2]|0; + $18 = ($17|0)<=(2); + $or$cond = $16 & $18; + $19 = HEAP32[$3>>2]|0; + $20 = $or$cond ? $19 : 0; + $21 = $20&255; + $22 = $21&255; + HEAP32[$1>>2] = $22; + break; + } + } + } while(0); + $23 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($23|0); +} +function _sqlite3BtreeSetAutoVacuum($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + $6 = sp + 16|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + HEAP32[$5>>2] = 0; + $10 = HEAP32[$3>>2]|0; + $11 = $10&255; + HEAP8[$6>>0] = $11; + $12 = HEAP32[$2>>2]|0; + _sqlite3BtreeEnter($12); + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 22|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + $17 = $16 & 2; + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP8[$6>>0]|0; + $20 = $19&255; + $21 = ($20|0)!=(0); + $22 = $21 ? 1 : 0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 17|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($22|0)!=($26|0); + if ($27) { + HEAP32[$5>>2] = 8; + $42 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($42); + $43 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($43|0); + } } - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$pExpr>>2]|0; - $10 = ((($9)) + 44|0); - HEAP32[$10>>2] = $8; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$pExpr>>2]|0; - $13 = ((($12)) + 28|0); - HEAP32[$13>>2] = $11; - $14 = HEAP16[$3>>1]|0; - $15 = HEAP32[$pExpr>>2]|0; - $16 = ((($15)) + 32|0); - HEAP16[$16>>1] = $14; - $17 = HEAP32[$pExpr>>2]|0; - STACKTOP = sp;return ($17|0); + $28 = HEAP8[$6>>0]|0; + $29 = $28&255; + $30 = ($29|0)!=(0); + $31 = $30 ? 1 : 0; + $32 = $31&255; + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 17|0); + HEAP8[$34>>0] = $32; + $35 = HEAP8[$6>>0]|0; + $36 = $35&255; + $37 = ($36|0)==(2); + $38 = $37 ? 1 : 0; + $39 = $38&255; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 18|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($42); + $43 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($43|0); } -function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pDistinctSet,$wctrlFlags,$iAuxArg) { - $pParse = $pParse|0; - $pTabList = $pTabList|0; - $pWhere = $pWhere|0; - $pOrderBy = $pOrderBy|0; - $pDistinctSet = $pDistinctSet|0; - $wctrlFlags = $wctrlFlags|0; - $iAuxArg = $iAuxArg|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; - var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0; - var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0; - var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0; - var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; - var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; - var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; - var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; - var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; - var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; - var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0; - var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0; - var $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0; - var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0; - var $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0; - var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0; - var $837 = 0, $838 = 0, $839 = 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 $addrExplain = 0, $b = 0, $bFordelete = 0, $bOnerow = 0, $db = 0, $iCur = 0, $iDb = 0, $iIndexCur = 0, $ii = 0, $n = 0, $nByteWInfo = 0, $nTabList = 0, $notReady = 0, $op = 0, $op1 = 0, $or$cond = 0, $pEnd = 0, $pIx = 0, $pJ = 0, $pLevel = 0; - var $pLoop = 0, $pMaskSet = 0, $pTab = 0, $pTabItem = 0, $pTerm = 0, $pVTab = 0, $pWInfo = 0, $rc = 0, $sWLB = 0, $tabUsed = 0, $v = 0, $vararg_buffer = 0, $wsFlags = 0, $wsFlags2 = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _sqlite3BtreeSetSpillSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; - STACKTOP = STACKTOP + 192|0; - $vararg_buffer = sp + 24|0; - $0 = sp + 180|0; - $1 = sp + 176|0; - $2 = sp + 172|0; - $3 = sp + 168|0; - $4 = sp + 164|0; - $5 = sp + 160|0; - $6 = sp + 184|0; - $7 = sp + 156|0; - $nByteWInfo = sp + 152|0; - $nTabList = sp + 148|0; - $pWInfo = sp + 144|0; - $v = sp + 140|0; - $notReady = sp + 16|0; - $sWLB = sp + 120|0; - $pMaskSet = sp + 116|0; - $pLevel = sp + 112|0; - $pLoop = sp + 108|0; - $ii = sp + 104|0; - $db = sp + 100|0; - $rc = sp + 96|0; - $bFordelete = sp + 186|0; - $tabUsed = sp + 8|0; - $pTerm = sp + 92|0; - $pEnd = sp + 88|0; - $wsFlags = sp + 84|0; - $bOnerow = sp + 80|0; - $pTab = sp + 76|0; - $iDb = sp + 72|0; - $pTabItem = sp + 68|0; - $pVTab = sp + 64|0; - $iCur = sp + 60|0; - $op = sp + 56|0; - $b = sp; - $n = sp + 52|0; - $pIx = sp + 48|0; - $iIndexCur = sp + 44|0; - $op1 = sp + 40|0; - $pJ = sp + 36|0; - $addrExplain = sp + 32|0; - $wsFlags2 = sp + 28|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTabList; - HEAP32[$3>>2] = $pWhere; - HEAP32[$4>>2] = $pOrderBy; - HEAP32[$5>>2] = $pDistinctSet; - HEAP16[$6>>1] = $wctrlFlags; - HEAP32[$7>>2] = $iAuxArg; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + _sqlite3BtreeEnter($9); + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (_sqlite3PagerSetSpillsize($11,$12)|0); + HEAP32[$5>>2] = $13; + $14 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($14); + $15 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _setAllPagerFlags($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 67|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)!=(0); + if (!($7)) { + STACKTOP = sp;return; + } $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 8|0); + $9 = ((($8)) + 16|0); $10 = HEAP32[$9>>2]|0; - HEAP32[$v>>2] = $10; - HEAP8[$bFordelete>>0] = 0; + HEAP32[$2>>2] = $10; $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$11>>2]|0; - HEAP32[$db>>2] = $12; - ;HEAP32[$sWLB>>2]=0|0;HEAP32[$sWLB+4>>2]=0|0;HEAP32[$sWLB+8>>2]=0|0;HEAP32[$sWLB+12>>2]=0|0;HEAP32[$sWLB+16>>2]=0|0; - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$4>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)>=(64); - if ($17) { - HEAP32[$4>>2] = 0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$3>>2] = $13; + while(1) { + $14 = HEAP32[$3>>2]|0; + $15 = (($14) + -1)|0; + HEAP32[$3>>2] = $15; + $16 = ($14|0)>(0); + if (!($16)) { + break; } + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(0|0); + if ($20) { + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 24|0); + $30 = HEAP32[$29>>2]|0; + $31 = $30 & 56; + $32 = $27 | $31; + (_sqlite3BtreeSetPagerFlags($23,$32)|0); + } + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 16|0); + HEAP32[$2>>2] = $34; } - $18 = HEAP32[$4>>2]|0; - $19 = ((($sWLB)) + 8|0); - HEAP32[$19>>2] = $18; - $20 = HEAP32[$db>>2]|0; - $21 = ((($20)) + 64|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = $23 & 32; - $25 = ($24|0)!=(0); - if ($25) { - $26 = HEAP16[$6>>1]|0; - $27 = $26&65535; - $28 = $27 & -257; - $29 = $28&65535; - HEAP16[$6>>1] = $29; - } - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)>(64); - if ($32) { - $33 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = 64; - _sqlite3ErrorMsg($33,34404,$vararg_buffer); - HEAP32[$0>>2] = 0; - $839 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($839|0); + STACKTOP = sp;return; +} +function _changeTempStorage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$4>>2]|0; + $8 = (_getTempStore($7)|0); + HEAP32[$5>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$6>>2] = $10; + $11 = HEAP32[$6>>2]|0; + $12 = ((($11)) + 68|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = HEAP32[$5>>2]|0; + $16 = ($14|0)==($15|0); + if ($16) { + HEAP32[$2>>2] = 0; + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); } - $34 = HEAP16[$6>>1]|0; - $35 = $34&65535; - $36 = $35 & 32; - $37 = ($36|0)!=(0); - if ($37) { - $40 = 1; + $17 = HEAP32[$3>>2]|0; + $18 = (_invalidateTempStorage($17)|0); + $19 = ($18|0)!=(0); + if ($19) { + HEAP32[$2>>2] = 1; + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); } else { - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = $39; + $20 = HEAP32[$5>>2]|0; + $21 = $20&255; + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 68|0); + HEAP8[$23>>0] = $21; + HEAP32[$2>>2] = 0; + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); } - HEAP32[$nTabList>>2] = $40; - $41 = HEAP32[$nTabList>>2]|0; - $42 = (($41) - 1)|0; - $43 = ($42*80)|0; - $44 = (832 + ($43))|0; - $45 = (($44) + 7)|0; - $46 = $45 & -8; - HEAP32[$nByteWInfo>>2] = $46; - $47 = HEAP32[$db>>2]|0; - $48 = HEAP32[$nByteWInfo>>2]|0; - $49 = (($48) + 72)|0; - $50 = (_sqlite3DbMallocRawNN($47,$49,0)|0); - HEAP32[$pWInfo>>2] = $50; - $51 = HEAP32[$db>>2]|0; - $52 = ((($51)) + 69|0); - $53 = HEAP8[$52>>0]|0; - $54 = ($53<<24>>24)!=(0); - L15: do { - if ($54) { - $55 = HEAP32[$db>>2]|0; - $56 = HEAP32[$pWInfo>>2]|0; - _sqlite3DbFree($55,$56); - HEAP32[$pWInfo>>2] = 0; - } else { - $57 = HEAP32[$1>>2]|0; - $58 = HEAP32[$pWInfo>>2]|0; - HEAP32[$58>>2] = $57; - $59 = HEAP32[$2>>2]|0; - $60 = HEAP32[$pWInfo>>2]|0; - $61 = ((($60)) + 4|0); - HEAP32[$61>>2] = $59; - $62 = HEAP32[$4>>2]|0; - $63 = HEAP32[$pWInfo>>2]|0; - $64 = ((($63)) + 8|0); - HEAP32[$64>>2] = $62; - $65 = HEAP32[$5>>2]|0; - $66 = HEAP32[$pWInfo>>2]|0; - $67 = ((($66)) + 12|0); - HEAP32[$67>>2] = $65; - $68 = HEAP32[$pWInfo>>2]|0; - $69 = ((($68)) + 20|0); - $70 = ((($69)) + 4|0); - HEAP32[$70>>2] = -1; - $71 = HEAP32[$pWInfo>>2]|0; - $72 = ((($71)) + 20|0); - HEAP32[$72>>2] = -1; - $73 = HEAP32[$nTabList>>2]|0; - $74 = $73&255; - $75 = HEAP32[$pWInfo>>2]|0; - $76 = ((($75)) + 42|0); - HEAP8[$76>>0] = $74; - $77 = HEAP32[$v>>2]|0; - $78 = (_sqlite3VdbeMakeLabel($77)|0); - $79 = HEAP32[$pWInfo>>2]|0; - $80 = ((($79)) + 28|0); - HEAP32[$80>>2] = $78; - $81 = HEAP32[$pWInfo>>2]|0; - $82 = ((($81)) + 32|0); - HEAP32[$82>>2] = $78; - $83 = HEAP16[$6>>1]|0; - $84 = HEAP32[$pWInfo>>2]|0; - $85 = ((($84)) + 40|0); - HEAP16[$85>>1] = $83; - $86 = HEAP32[$7>>2]|0; - $87 = $86&65535; - $88 = HEAP32[$pWInfo>>2]|0; - $89 = ((($88)) + 16|0); - HEAP16[$89>>1] = $87; - $90 = HEAP32[$1>>2]|0; - $91 = ((($90)) + 136|0); - $92 = HEAP32[$91>>2]|0; - $93 = HEAP32[$pWInfo>>2]|0; - $94 = ((($93)) + 36|0); - HEAP32[$94>>2] = $92; - $95 = HEAP32[$pWInfo>>2]|0; - $96 = ((($95)) + 43|0); - dest=$96; stop=dest+37|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $97 = HEAP32[$pWInfo>>2]|0; - $98 = ((($97)) + 752|0); - $99 = HEAP32[$nTabList>>2]|0; - $100 = ($99*80)|0; - $101 = (72 + ($100))|0; - _memset(($98|0),0,($101|0))|0; - $102 = HEAP32[$pWInfo>>2]|0; - $103 = ((($102)) + 488|0); - HEAP32[$pMaskSet>>2] = $103; - $104 = HEAP32[$pWInfo>>2]|0; - HEAP32[$sWLB>>2] = $104; - $105 = HEAP32[$pWInfo>>2]|0; - $106 = ((($105)) + 80|0); - $107 = ((($sWLB)) + 4|0); - HEAP32[$107>>2] = $106; - $108 = HEAP32[$pWInfo>>2]|0; - $109 = HEAP32[$nByteWInfo>>2]|0; - $110 = (($108) + ($109)|0); - $111 = ((($sWLB)) + 12|0); - HEAP32[$111>>2] = $110; - $112 = ((($sWLB)) + 12|0); - $113 = HEAP32[$112>>2]|0; - _whereLoopInit($113); - $114 = HEAP32[$pMaskSet>>2]|0; - HEAP32[$114>>2] = 0; - $115 = HEAP32[$pWInfo>>2]|0; - $116 = ((($115)) + 80|0); - $117 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereClauseInit($116,$117); - $118 = HEAP32[$pWInfo>>2]|0; - $119 = ((($118)) + 80|0); - $120 = HEAP32[$3>>2]|0; - _sqlite3WhereSplit($119,$120,28); - HEAP32[$ii>>2] = 0; - while(1) { - $121 = HEAP32[$ii>>2]|0; - $122 = ((($sWLB)) + 4|0); - $123 = HEAP32[$122>>2]|0; - $124 = ((($123)) + 12|0); - $125 = HEAP32[$124>>2]|0; - $126 = ($121|0)<($125|0); - $127 = HEAP32[$nTabList>>2]|0; - $128 = ($127|0)==(0); - if (!($126)) { + return (0)|0; +} +function _invalidateTempStorage($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + 16|0); + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + do { + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 67|0); + $15 = HEAP8[$14>>0]|0; + $16 = ($15<<24>>24)!=(0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 16|0); + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3BtreeIsInReadTrans($22)|0); + $24 = ($23|0)!=(0); + if (!($24)) { + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 16|0); + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + (_sqlite3BtreeClose($31)|0); + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 16|0); + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 16|0); + $36 = ((($35)) + 4|0); + HEAP32[$36>>2] = 0; + $37 = HEAP32[$3>>2]|0; + _sqlite3ResetAllSchemasOfConnection($37); break; } - if ($128) { - label = 16; - } else { - $129 = HEAP32[$ii>>2]|0; - $130 = ((($sWLB)) + 4|0); - $131 = HEAP32[$130>>2]|0; - $132 = ((($131)) + 20|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($133) + (($129*48)|0)|0); - $135 = HEAP32[$134>>2]|0; - $136 = (_sqlite3ExprIsConstantNotJoin($135)|0); - $137 = ($136|0)!=(0); - if ($137) { - label = 16; - } - } - if ((label|0) == 16) { - label = 0; - $138 = HEAP32[$1>>2]|0; - $139 = HEAP32[$ii>>2]|0; - $140 = ((($sWLB)) + 4|0); - $141 = HEAP32[$140>>2]|0; - $142 = ((($141)) + 20|0); - $143 = HEAP32[$142>>2]|0; - $144 = (($143) + (($139*48)|0)|0); - $145 = HEAP32[$144>>2]|0; - $146 = HEAP32[$pWInfo>>2]|0; - $147 = ((($146)) + 32|0); - $148 = HEAP32[$147>>2]|0; - _sqlite3ExprIfFalse($138,$145,$148,16); - $149 = HEAP32[$ii>>2]|0; - $150 = ((($sWLB)) + 4|0); - $151 = HEAP32[$150>>2]|0; - $152 = ((($151)) + 20|0); - $153 = HEAP32[$152>>2]|0; - $154 = (($153) + (($149*48)|0)|0); - $155 = ((($154)) + 10|0); - $156 = HEAP16[$155>>1]|0; - $157 = $156&65535; - $158 = $157 | 4; - $159 = $158&65535; - HEAP16[$155>>1] = $159; - } - $160 = HEAP32[$ii>>2]|0; - $161 = (($160) + 1)|0; - HEAP32[$ii>>2] = $161; } - if ($128) { - $162 = HEAP32[$4>>2]|0; - $163 = ($162|0)!=(0|0); - if ($163) { - $164 = HEAP32[$4>>2]|0; - $165 = HEAP32[$164>>2]|0; - $166 = $165&255; - $167 = HEAP32[$pWInfo>>2]|0; - $168 = ((($167)) + 43|0); - HEAP8[$168>>0] = $166; + $25 = HEAP32[$2>>2]|0; + _sqlite3ErrorMsg($25,32654,$vararg_buffer); + HEAP32[$1>>2] = 1; + $38 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($38|0); + } + } while(0); + HEAP32[$1>>2] = 0; + $38 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($38|0); +} +function _setAllColumnNames($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; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + _sqlite3VdbeSetNumCols($7,$8); + HEAP32[$6>>2] = 0; + while(1) { + $9 = HEAP32[$6>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = ($9|0)<($10|0); + if (!($11)) { + break; + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = (($14) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + (_sqlite3VdbeSetColName($12,$13,0,$17,0)|0); + $18 = HEAP32[$6>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$6>>2] = $19; + } + STACKTOP = sp;return; +} +function _sqlite3VdbeMultiLoad($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded12 = 0, $expanded13 = 0, $expanded14 = 0, $expanded3 = 0, $expanded5 = 0, $expanded6 = 0, $expanded7 = 0, $expanded9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 44|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = $varargs; + HEAP32[$7>>2] = 0; + while(1) { + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = (($12) + ($13)|0); + $15 = HEAP8[$14>>0]|0; + HEAP8[$8>>0] = $15; + $16 = $15 << 24 >> 24; + $17 = ($16|0)!=(0); + if (!($17)) { + break; + } + $18 = HEAP8[$8>>0]|0; + $19 = $18 << 24 >> 24; + $20 = ($19|0)==(115); + if ($20) { + $arglist_current = HEAP32[$6>>2]|0; + $21 = $arglist_current; + $22 = ((0) + 4|0); + $expanded3 = $22; + $expanded = (($expanded3) - 1)|0; + $23 = (($21) + ($expanded))|0; + $24 = ((0) + 4|0); + $expanded7 = $24; + $expanded6 = (($expanded7) - 1)|0; + $expanded5 = $expanded6 ^ -1; + $25 = $23 & $expanded5; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $arglist_next = ((($26)) + 4|0); + HEAP32[$6>>2] = $arglist_next; + HEAP32[$10>>2] = $27; + $28 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $28; + $29 = HEAP32[$3>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = ($30|0)==(0|0); + $32 = $31 ? 79 : 97; + $33 = HEAP32[$4>>2]|0; + $34 = (($33) + 1)|0; + HEAP32[$4>>2] = $34; + $35 = HEAP32[$9>>2]|0; + (_sqlite3VdbeAddOp4($29,$32,0,$33,0,$35,0)|0); + } else { + $36 = HEAP32[$3>>2]|0; + $arglist_current2 = HEAP32[$6>>2]|0; + $37 = $arglist_current2; + $38 = ((0) + 4|0); + $expanded10 = $38; + $expanded9 = (($expanded10) - 1)|0; + $39 = (($37) + ($expanded9))|0; + $40 = ((0) + 4|0); + $expanded14 = $40; + $expanded13 = (($expanded14) - 1)|0; + $expanded12 = $expanded13 ^ -1; + $41 = $39 & $expanded12; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $arglist_next3 = ((($42)) + 4|0); + HEAP32[$6>>2] = $arglist_next3; + HEAP32[$11>>2] = $43; + $44 = HEAP32[$11>>2]|0; + $45 = HEAP32[$4>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$4>>2] = $46; + (_sqlite3VdbeAddOp2($36,76,$44,$45)|0); + } + $47 = HEAP32[$7>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$7>>2] = $48; + } + STACKTOP = sp;return; +} +function _actionName($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP8[$1>>0] = $0; + $3 = HEAP8[$1>>0]|0; + $4 = $3&255; + switch ($4|0) { + case 7: { + HEAP32[$2>>2] = 32464; + break; + } + case 8: { + HEAP32[$2>>2] = 32473; + break; + } + case 9: { + HEAP32[$2>>2] = 32485; + break; + } + case 6: { + HEAP32[$2>>2] = 32493; + break; + } + default: { + HEAP32[$2>>2] = 32502; + } + } + $5 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _sqlite3FkLocateIndex($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer = sp; + $5 = sp + 64|0; + $6 = sp + 60|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp + 36|0; + $13 = sp + 32|0; + $14 = sp + 28|0; + $15 = sp + 24|0; + $16 = sp + 20|0; + $17 = sp + 16|0; + $18 = sp + 68|0; + $19 = sp + 12|0; + $20 = sp + 8|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = 0; + $21 = HEAP32[$8>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$13>>2] = $23; + $24 = HEAP32[$8>>2]|0; + $25 = ((($24)) + 36|0); + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$14>>2] = $27; + $28 = HEAP32[$13>>2]|0; + $29 = ($28|0)==(1); + do { + if ($29) { + $30 = HEAP32[$7>>2]|0; + $31 = ((($30)) + 32|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32 << 16 >> 16; + $34 = ($33|0)>=(0); + if ($34) { + $35 = HEAP32[$14>>2]|0; + $36 = ($35|0)!=(0|0); + if (!($36)) { + HEAP32[$5>>2] = 0; + $190 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($190|0); } - $169 = HEAP16[$6>>1]|0; - $170 = $169&65535; - $171 = $170 & 256; - $172 = ($171|0)!=(0); - if ($172) { - $173 = HEAP32[$pWInfo>>2]|0; - $174 = ((($173)) + 47|0); - HEAP8[$174>>0] = 1; + $37 = HEAP32[$7>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = ((($40)) + 32|0); + $42 = HEAP16[$41>>1]|0; + $43 = $42 << 16 >> 16; + $44 = (($39) + ($43<<4)|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$14>>2]|0; + $47 = (_sqlite3StrICmp($45,$46)|0); + $48 = ($47|0)!=(0); + if (!($48)) { + HEAP32[$5>>2] = 0; + $190 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($190|0); } } - HEAP32[$ii>>2] = 0; - while(1) { - $175 = HEAP32[$ii>>2]|0; - $176 = HEAP32[$2>>2]|0; - $177 = HEAP32[$176>>2]|0; - $178 = ($175|0)<($177|0); - if (!($178)) { + } else { + $49 = HEAP32[$10>>2]|0; + $50 = ($49|0)!=(0|0); + if ($50) { + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$13>>2]|0; + $54 = $53<<2; + $55 = (_sqlite3DbMallocRawNN($52,$54,0)|0); + HEAP32[$12>>2] = $55; + $56 = HEAP32[$12>>2]|0; + $57 = ($56|0)!=(0|0); + if ($57) { + $58 = HEAP32[$12>>2]|0; + $59 = HEAP32[$10>>2]|0; + HEAP32[$59>>2] = $58; break; } - $179 = HEAP32[$pMaskSet>>2]|0; - $180 = HEAP32[$ii>>2]|0; - $181 = HEAP32[$2>>2]|0; - $182 = ((($181)) + 8|0); - $183 = (($182) + (($180*72)|0)|0); - $184 = ((($183)) + 44|0); - $185 = HEAP32[$184>>2]|0; - _createMask($179,$185); - $186 = HEAP32[$1>>2]|0; - $187 = HEAP32[$ii>>2]|0; - $188 = HEAP32[$2>>2]|0; - $189 = ((($188)) + 8|0); - $190 = (($189) + (($187*72)|0)|0); - $191 = HEAP32[$pWInfo>>2]|0; - $192 = ((($191)) + 80|0); - _sqlite3WhereTabFuncArgs($186,$190,$192); - $193 = HEAP32[$ii>>2]|0; - $194 = (($193) + 1)|0; - HEAP32[$ii>>2] = $194; - } - $195 = HEAP32[$2>>2]|0; - $196 = HEAP32[$pWInfo>>2]|0; - $197 = ((($196)) + 80|0); - _sqlite3WhereExprAnalyze($195,$197); - $198 = HEAP32[$db>>2]|0; - $199 = ((($198)) + 69|0); - $200 = HEAP8[$199>>0]|0; - $201 = ($200<<24>>24)!=(0); - if (!($201)) { - $202 = HEAP16[$6>>1]|0; - $203 = $202&65535; - $204 = $203 & 256; - $205 = ($204|0)!=(0); - do { - if ($205) { - $206 = HEAP32[$1>>2]|0; - $207 = HEAP32[$2>>2]|0; - $208 = HEAP32[$pWInfo>>2]|0; - $209 = ((($208)) + 80|0); - $210 = HEAP32[$5>>2]|0; - $211 = (_isDistinctRedundant($206,$207,$209,$210)|0); - $212 = ($211|0)!=(0); - if ($212) { - $213 = HEAP32[$pWInfo>>2]|0; - $214 = ((($213)) + 47|0); - HEAP8[$214>>0] = 1; + HEAP32[$5>>2] = 1; + $190 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($190|0); + } + } + } while(0); + $60 = HEAP32[$7>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$11>>2] = $62; + L17: while(1) { + $63 = HEAP32[$11>>2]|0; + $64 = ($63|0)!=(0|0); + if (!($64)) { + break; + } + $65 = HEAP32[$11>>2]|0; + $66 = ((($65)) + 50|0); + $67 = HEAP16[$66>>1]|0; + $68 = $67&65535; + $69 = HEAP32[$13>>2]|0; + $70 = ($68|0)==($69|0); + do { + if ($70) { + $71 = HEAP32[$11>>2]|0; + $72 = ((($71)) + 54|0); + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = ($74|0)!=(0); + if ($75) { + $76 = HEAP32[$14>>2]|0; + $77 = ($76|0)==(0|0); + if ($77) { + $78 = HEAP32[$11>>2]|0; + $79 = ((($78)) + 55|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80 & 3; + $82 = $81&255; + $83 = ($82|0)==(2); + if ($83) { + label = 17; + break L17; + } else { break; } - $215 = HEAP32[$4>>2]|0; - $216 = ($215|0)==(0|0); - if ($216) { - $217 = HEAP32[$pWInfo>>2]|0; - $218 = ((($217)) + 40|0); - $219 = HEAP16[$218>>1]|0; - $220 = $219&65535; - $221 = $220 | 128; - $222 = $221&65535; - HEAP16[$218>>1] = $222; - $223 = HEAP32[$5>>2]|0; - $224 = HEAP32[$pWInfo>>2]|0; - $225 = ((($224)) + 8|0); - HEAP32[$225>>2] = $223; - } - } - } while(0); - $226 = HEAP32[$nTabList>>2]|0; - $227 = ($226|0)!=(1); - if ($227) { - label = 34; - } else { - $228 = (_whereShortCut($sWLB)|0); - $229 = ($228|0)==(0); - if ($229) { - label = 34; - } - } - if ((label|0) == 34) { - $230 = (_whereLoopAddAll($sWLB)|0); - HEAP32[$rc>>2] = $230; - $231 = HEAP32[$rc>>2]|0; - $232 = ($231|0)!=(0); - if ($232) { - break; - } - $233 = HEAP32[$pWInfo>>2]|0; - (_wherePathSolver($233,0)|0); - $234 = HEAP32[$db>>2]|0; - $235 = ((($234)) + 69|0); - $236 = HEAP8[$235>>0]|0; - $237 = ($236<<24>>24)!=(0); - if ($237) { - break; } - $238 = HEAP32[$pWInfo>>2]|0; - $239 = ((($238)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = ($240|0)!=(0|0); - if ($241) { - $242 = HEAP32[$pWInfo>>2]|0; - $243 = HEAP32[$pWInfo>>2]|0; - $244 = ((($243)) + 72|0); - $245 = HEAP16[$244>>1]|0; - $246 = $245 << 16 >> 16; - $247 = (($246) + 1)|0; - $248 = $247&65535; - (_wherePathSolver($242,$248)|0); - $249 = HEAP32[$db>>2]|0; - $250 = ((($249)) + 69|0); - $251 = HEAP8[$250>>0]|0; - $252 = ($251<<24>>24)!=(0); - if ($252) { + HEAP32[$16>>2] = 0; + while(1) { + $99 = HEAP32[$16>>2]|0; + $100 = HEAP32[$13>>2]|0; + $101 = ($99|0)<($100|0); + if (!($101)) { break; } - } - } - $253 = HEAP32[$pWInfo>>2]|0; - $254 = ((($253)) + 8|0); - $255 = HEAP32[$254>>2]|0; - $256 = ($255|0)==(0|0); - if ($256) { - $257 = HEAP32[$db>>2]|0; - $258 = ((($257)) + 24|0); - $259 = HEAP32[$258>>2]|0; - $260 = $259 & 131072; - $261 = ($260|0)!=(0); - if ($261) { - $262 = HEAP32[$pWInfo>>2]|0; - $263 = ((($262)) + 64|0); - $264 = $263; - $265 = $264; - HEAP32[$265>>2] = -1; - $266 = (($264) + 4)|0; - $267 = $266; - HEAP32[$267>>2] = -1; - } - } - $268 = HEAP32[$1>>2]|0; - $269 = ((($268)) + 36|0); - $270 = HEAP32[$269>>2]|0; - $271 = ($270|0)!=(0); - if (!($271)) { - $272 = HEAP32[$db>>2]|0; - $273 = ((($272)) + 69|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $276 = ($275|0)!=(0); - if (!($276)) { - $277 = HEAP32[$pWInfo>>2]|0; - $278 = ((($277)) + 42|0); - $279 = HEAP8[$278>>0]|0; - $280 = $279&255; - $281 = ($280|0)>=(2); - $282 = HEAP32[$5>>2]|0; - $283 = ($282|0)!=(0|0); - $or$cond = $281 & $283; - L60: do { - if ($or$cond) { - $284 = HEAP32[$db>>2]|0; - $285 = ((($284)) + 64|0); - $286 = HEAP16[$285>>1]|0; - $287 = $286&65535; - $288 = $287 & 1024; - $289 = ($288|0)==(0); - if ($289) { - $290 = HEAP32[$pMaskSet>>2]|0; - $291 = HEAP32[$5>>2]|0; - $292 = (_sqlite3WhereExprListUsage($290,$291)|0); - $293 = tempRet0; - $294 = $tabUsed; - $295 = $294; - HEAP32[$295>>2] = $292; - $296 = (($294) + 4)|0; - $297 = $296; - HEAP32[$297>>2] = $293; - $298 = ((($sWLB)) + 8|0); - $299 = HEAP32[$298>>2]|0; - $300 = ($299|0)!=(0|0); - if ($300) { - $301 = HEAP32[$pMaskSet>>2]|0; - $302 = ((($sWLB)) + 8|0); - $303 = HEAP32[$302>>2]|0; - $304 = (_sqlite3WhereExprListUsage($301,$303)|0); - $305 = tempRet0; - $306 = $tabUsed; - $307 = $306; - $308 = HEAP32[$307>>2]|0; - $309 = (($306) + 4)|0; - $310 = $309; - $311 = HEAP32[$310>>2]|0; - $312 = $308 | $304; - $313 = $311 | $305; - $314 = $tabUsed; - $315 = $314; - HEAP32[$315>>2] = $312; - $316 = (($314) + 4)|0; - $317 = $316; - HEAP32[$317>>2] = $313; - } - while(1) { - $318 = HEAP32[$pWInfo>>2]|0; - $319 = ((($318)) + 42|0); - $320 = HEAP8[$319>>0]|0; - $321 = $320&255; - $322 = ($321|0)>=(2); - if (!($322)) { - break L60; - } - $323 = HEAP32[$pWInfo>>2]|0; - $324 = ((($323)) + 42|0); - $325 = HEAP8[$324>>0]|0; - $326 = $325&255; - $327 = (($326) - 1)|0; - $328 = HEAP32[$pWInfo>>2]|0; - $329 = ((($328)) + 752|0); - $330 = (($329) + (($327*80)|0)|0); - $331 = ((($330)) + 64|0); - $332 = HEAP32[$331>>2]|0; - HEAP32[$pLoop>>2] = $332; - $333 = HEAP32[$pLoop>>2]|0; - $334 = ((($333)) + 16|0); - $335 = HEAP8[$334>>0]|0; - $336 = $335&255; - $337 = HEAP32[$pWInfo>>2]|0; - $338 = ((($337)) + 4|0); - $339 = HEAP32[$338>>2]|0; - $340 = ((($339)) + 8|0); - $341 = (($340) + (($336*72)|0)|0); - $342 = ((($341)) + 36|0); - $343 = HEAP8[$342>>0]|0; - $344 = $343&255; - $345 = $344 & 8; - $346 = ($345|0)==(0); - if ($346) { - break L60; - } - $347 = HEAP16[$6>>1]|0; - $348 = $347&65535; - $349 = $348 & 256; - $350 = ($349|0)==(0); - if ($350) { - $351 = HEAP32[$pLoop>>2]|0; - $352 = ((($351)) + 36|0); - $353 = HEAP32[$352>>2]|0; - $354 = $353 & 4096; - $355 = ($354|0)==(0); - if ($355) { - break L60; - } - } - $356 = $tabUsed; - $357 = $356; - $358 = HEAP32[$357>>2]|0; - $359 = (($356) + 4)|0; - $360 = $359; - $361 = HEAP32[$360>>2]|0; - $362 = HEAP32[$pLoop>>2]|0; - $363 = ((($362)) + 8|0); - $364 = $363; - $365 = $364; - $366 = HEAP32[$365>>2]|0; - $367 = (($364) + 4)|0; - $368 = $367; - $369 = HEAP32[$368>>2]|0; - $370 = $358 & $366; - $371 = $361 & $369; - $372 = ($370|0)!=(0); - $373 = ($371|0)!=(0); - $374 = $372 | $373; - if ($374) { - break L60; - } - $375 = ((($sWLB)) + 4|0); - $376 = HEAP32[$375>>2]|0; - $377 = ((($376)) + 20|0); - $378 = HEAP32[$377>>2]|0; - $379 = ((($sWLB)) + 4|0); - $380 = HEAP32[$379>>2]|0; - $381 = ((($380)) + 12|0); - $382 = HEAP32[$381>>2]|0; - $383 = (($378) + (($382*48)|0)|0); - HEAP32[$pEnd>>2] = $383; - $384 = ((($sWLB)) + 4|0); - $385 = HEAP32[$384>>2]|0; - $386 = ((($385)) + 20|0); - $387 = HEAP32[$386>>2]|0; - HEAP32[$pTerm>>2] = $387; - while(1) { - $388 = HEAP32[$pTerm>>2]|0; - $389 = HEAP32[$pEnd>>2]|0; - $390 = ($388>>>0)<($389>>>0); - if (!($390)) { - break; - } - $391 = HEAP32[$pTerm>>2]|0; - $392 = ((($391)) + 40|0); - $393 = $392; - $394 = $393; - $395 = HEAP32[$394>>2]|0; - $396 = (($393) + 4)|0; - $397 = $396; - $398 = HEAP32[$397>>2]|0; - $399 = HEAP32[$pLoop>>2]|0; - $400 = ((($399)) + 8|0); - $401 = $400; - $402 = $401; - $403 = HEAP32[$402>>2]|0; - $404 = (($401) + 4)|0; - $405 = $404; - $406 = HEAP32[$405>>2]|0; - $407 = $395 & $403; - $408 = $398 & $406; - $409 = ($407|0)!=(0); - $410 = ($408|0)!=(0); - $411 = $409 | $410; - if ($411) { - $412 = HEAP32[$pTerm>>2]|0; - $413 = HEAP32[$412>>2]|0; - $414 = ((($413)) + 4|0); - $415 = HEAP32[$414>>2]|0; - $416 = $415 & 1; - $417 = ($416|0)!=(0); - if (!($417)) { - break; - } - } - $418 = HEAP32[$pTerm>>2]|0; - $419 = ((($418)) + 48|0); - HEAP32[$pTerm>>2] = $419; - } - $420 = HEAP32[$pTerm>>2]|0; - $421 = HEAP32[$pEnd>>2]|0; - $422 = ($420>>>0)<($421>>>0); - if ($422) { - break L60; - } - $423 = HEAP32[$pWInfo>>2]|0; - $424 = ((($423)) + 42|0); - $425 = HEAP8[$424>>0]|0; - $426 = (($425) + -1)<<24>>24; - HEAP8[$424>>0] = $426; - $427 = HEAP32[$nTabList>>2]|0; - $428 = (($427) + -1)|0; - HEAP32[$nTabList>>2] = $428; - } - } - } - } while(0); - $429 = HEAP32[$pWInfo>>2]|0; - $430 = ((($429)) + 72|0); - $431 = HEAP16[$430>>1]|0; - $432 = $431 << 16 >> 16; - $433 = HEAP32[$pWInfo>>2]|0; - $434 = HEAP32[$433>>2]|0; - $435 = ((($434)) + 136|0); - $436 = HEAP32[$435>>2]|0; - $437 = (($436) + ($432))|0; - HEAP32[$435>>2] = $437; - $438 = HEAP16[$6>>1]|0; - $439 = $438&65535; - $440 = $439 & 4; - $441 = ($440|0)!=(0); - do { - if ($441) { - $442 = HEAP32[$pWInfo>>2]|0; - $443 = ((($442)) + 752|0); - $444 = ((($443)) + 64|0); - $445 = HEAP32[$444>>2]|0; - $446 = ((($445)) + 36|0); - $447 = HEAP32[$446>>2]|0; - HEAP32[$wsFlags>>2] = $447; - $448 = HEAP32[$wsFlags>>2]|0; - $449 = $448 & 4096; - $450 = ($449|0)!=(0); - $451 = $450&1; - HEAP32[$bOnerow>>2] = $451; - $452 = HEAP32[$bOnerow>>2]|0; - $453 = ($452|0)!=(0); - if (!($453)) { - $454 = HEAP16[$6>>1]|0; - $455 = $454&65535; - $456 = $455 & 8; - $457 = ($456|0)!=(0); - if (!($457)) { - break; - } - $458 = HEAP32[$wsFlags>>2]|0; - $459 = $458 & 1024; - $460 = (0)==($459|0); - if (!($460)) { - break; - } - } - $461 = HEAP32[$bOnerow>>2]|0; - $462 = ($461|0)!=(0); - $463 = $462 ? 1 : 2; - $464 = $463&255; - $465 = HEAP32[$pWInfo>>2]|0; - $466 = ((($465)) + 45|0); - HEAP8[$466>>0] = $464; - $467 = HEAP32[$2>>2]|0; - $468 = ((($467)) + 8|0); - $469 = ((($468)) + 16|0); - $470 = HEAP32[$469>>2]|0; - $471 = ((($470)) + 42|0); - $472 = HEAP8[$471>>0]|0; - $473 = $472&255; - $474 = $473 & 32; - $475 = ($474|0)==(0); - if ($475) { - $476 = HEAP32[$wsFlags>>2]|0; - $477 = $476 & 64; - $478 = ($477|0)!=(0); - if ($478) { - $479 = HEAP16[$6>>1]|0; - $480 = $479&65535; - $481 = $480 & 8; - $482 = ($481|0)!=(0); - if ($482) { - HEAP8[$bFordelete>>0] = 8; - } - $483 = HEAP32[$wsFlags>>2]|0; - $484 = $483 & -65; - $485 = HEAP32[$pWInfo>>2]|0; - $486 = ((($485)) + 752|0); - $487 = ((($486)) + 64|0); - $488 = HEAP32[$487>>2]|0; - $489 = ((($488)) + 36|0); - HEAP32[$489>>2] = $484; - } - } - } - } while(0); - HEAP32[$ii>>2] = 0; - $490 = HEAP32[$pWInfo>>2]|0; - $491 = ((($490)) + 752|0); - HEAP32[$pLevel>>2] = $491; + $102 = HEAP32[$11>>2]|0; + $103 = ((($102)) + 4|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$16>>2]|0; + $106 = (($104) + ($105<<1)|0); + $107 = HEAP16[$106>>1]|0; + HEAP16[$18>>1] = $107; + $108 = HEAP16[$18>>1]|0; + $109 = $108 << 16 >> 16; + $110 = ($109|0)<(0); + if ($110) { + break; + } + $111 = HEAP32[$7>>2]|0; + $112 = ((($111)) + 4|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP16[$18>>1]|0; + $115 = $114 << 16 >> 16; + $116 = (($113) + ($115<<4)|0); + $117 = ((($116)) + 8|0); + $118 = HEAP32[$117>>2]|0; + HEAP32[$19>>2] = $118; + $119 = HEAP32[$19>>2]|0; + $120 = ($119|0)!=(0|0); + $$ = $120 ? $118 : 34455; + HEAP32[$19>>2] = $$; + $121 = HEAP32[$11>>2]|0; + $122 = ((($121)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$16>>2]|0; + $125 = (($123) + ($124<<2)|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$19>>2]|0; + $128 = (_sqlite3StrICmp($126,$127)|0); + $129 = ($128|0)!=(0); + if ($129) { + break; + } + $130 = HEAP32[$7>>2]|0; + $131 = ((($130)) + 4|0); + $132 = HEAP32[$131>>2]|0; + $133 = HEAP16[$18>>1]|0; + $134 = $133 << 16 >> 16; + $135 = (($132) + ($134<<4)|0); + $136 = HEAP32[$135>>2]|0; + HEAP32[$20>>2] = $136; + HEAP32[$17>>2] = 0; while(1) { - $492 = HEAP32[$ii>>2]|0; - $493 = HEAP32[$nTabList>>2]|0; - $494 = ($492|0)<($493|0); - if (!($494)) { + $137 = HEAP32[$17>>2]|0; + $138 = HEAP32[$13>>2]|0; + $139 = ($137|0)<($138|0); + if (!($139)) { break; } - $495 = HEAP32[$pLevel>>2]|0; - $496 = ((($495)) + 44|0); - $497 = HEAP8[$496>>0]|0; - $498 = $497&255; - $499 = HEAP32[$2>>2]|0; - $500 = ((($499)) + 8|0); - $501 = (($500) + (($498*72)|0)|0); - HEAP32[$pTabItem>>2] = $501; - $502 = HEAP32[$pTabItem>>2]|0; - $503 = ((($502)) + 16|0); - $504 = HEAP32[$503>>2]|0; - HEAP32[$pTab>>2] = $504; - $505 = HEAP32[$db>>2]|0; - $506 = HEAP32[$pTab>>2]|0; - $507 = ((($506)) + 64|0); - $508 = HEAP32[$507>>2]|0; - $509 = (_sqlite3SchemaToIndex($505,$508)|0); - HEAP32[$iDb>>2] = $509; - $510 = HEAP32[$pLevel>>2]|0; - $511 = ((($510)) + 64|0); - $512 = HEAP32[$511>>2]|0; - HEAP32[$pLoop>>2] = $512; - $513 = HEAP32[$pTab>>2]|0; - $514 = ((($513)) + 42|0); - $515 = HEAP8[$514>>0]|0; - $516 = $515&255; - $517 = $516 & 2; - $518 = ($517|0)!=(0); - L97: do { - if (!($518)) { - $519 = HEAP32[$pTab>>2]|0; - $520 = ((($519)) + 12|0); - $521 = HEAP32[$520>>2]|0; - $522 = ($521|0)!=(0|0); - if (!($522)) { - $523 = HEAP32[$pLoop>>2]|0; - $524 = ((($523)) + 36|0); - $525 = HEAP32[$524>>2]|0; - $526 = $525 & 1024; - $527 = ($526|0)!=(0); - if ($527) { - $528 = HEAP32[$db>>2]|0; - $529 = HEAP32[$pTab>>2]|0; - $530 = (_sqlite3GetVTable($528,$529)|0); - HEAP32[$pVTab>>2] = $530; - $531 = HEAP32[$pTabItem>>2]|0; - $532 = ((($531)) + 44|0); - $533 = HEAP32[$532>>2]|0; - HEAP32[$iCur>>2] = $533; - $534 = HEAP32[$v>>2]|0; - $535 = HEAP32[$iCur>>2]|0; - $536 = HEAP32[$pVTab>>2]|0; - (_sqlite3VdbeAddOp4($534,155,$535,0,0,$536,-10)|0); - break; - } - $537 = HEAP32[$pTab>>2]|0; - $538 = ((($537)) + 42|0); - $539 = HEAP8[$538>>0]|0; - $540 = $539&255; - $541 = $540 & 16; - $542 = ($541|0)!=(0); - if ($542) { - break; - } - $543 = HEAP32[$pLoop>>2]|0; - $544 = ((($543)) + 36|0); - $545 = HEAP32[$544>>2]|0; - $546 = $545 & 64; - $547 = ($546|0)==(0); - do { - if ($547) { - $548 = HEAP16[$6>>1]|0; - $549 = $548&65535; - $550 = $549 & 32; - $551 = ($550|0)==(0); - if (!($551)) { - break; - } - HEAP32[$op>>2] = 104; - $552 = HEAP32[$pWInfo>>2]|0; - $553 = ((($552)) + 45|0); - $554 = HEAP8[$553>>0]|0; - $555 = $554&255; - $556 = ($555|0)!=(0); - if ($556) { - HEAP32[$op>>2] = 105; - $557 = HEAP32[$pTabItem>>2]|0; - $558 = ((($557)) + 44|0); - $559 = HEAP32[$558>>2]|0; - $560 = HEAP32[$pWInfo>>2]|0; - $561 = ((($560)) + 20|0); - HEAP32[$561>>2] = $559; - } - $562 = HEAP32[$1>>2]|0; - $563 = HEAP32[$pTabItem>>2]|0; - $564 = ((($563)) + 44|0); - $565 = HEAP32[$564>>2]|0; - $566 = HEAP32[$iDb>>2]|0; - $567 = HEAP32[$pTab>>2]|0; - $568 = HEAP32[$op>>2]|0; - _sqlite3OpenTable($562,$565,$566,$567,$568); - $569 = HEAP32[$pWInfo>>2]|0; - $570 = ((($569)) + 45|0); - $571 = HEAP8[$570>>0]|0; - $572 = $571&255; - $573 = ($572|0)==(0); - do { - if ($573) { - $574 = HEAP32[$pTab>>2]|0; - $575 = ((($574)) + 34|0); - $576 = HEAP16[$575>>1]|0; - $577 = $576 << 16 >> 16; - $578 = ($577|0)<(64); - if (!($578)) { - break; - } - $579 = HEAP32[$pTab>>2]|0; - $580 = ((($579)) + 42|0); - $581 = HEAP8[$580>>0]|0; - $582 = $581&255; - $583 = $582 & 32; - $584 = ($583|0)==(0); - if (!($584)) { - break; - } - $585 = HEAP32[$pTabItem>>2]|0; - $586 = ((($585)) + 56|0); - $587 = $586; - $588 = $587; - $589 = HEAP32[$588>>2]|0; - $590 = (($587) + 4)|0; - $591 = $590; - $592 = HEAP32[$591>>2]|0; - $593 = $b; - $594 = $593; - HEAP32[$594>>2] = $589; - $595 = (($593) + 4)|0; - $596 = $595; - HEAP32[$596>>2] = $592; - HEAP32[$n>>2] = 0; - while(1) { - $597 = $b; - $598 = $597; - $599 = HEAP32[$598>>2]|0; - $600 = (($597) + 4)|0; - $601 = $600; - $602 = HEAP32[$601>>2]|0; - $603 = ($599|0)!=(0); - $604 = ($602|0)!=(0); - $605 = $603 | $604; - if (!($605)) { - break; - } - $606 = $b; - $607 = $606; - $608 = HEAP32[$607>>2]|0; - $609 = (($606) + 4)|0; - $610 = $609; - $611 = HEAP32[$610>>2]|0; - $612 = (_bitshift64Lshr(($608|0),($611|0),1)|0); - $613 = tempRet0; - $614 = $b; - $615 = $614; - HEAP32[$615>>2] = $612; - $616 = (($614) + 4)|0; - $617 = $616; - HEAP32[$617>>2] = $613; - $618 = HEAP32[$n>>2]|0; - $619 = (($618) + 1)|0; - HEAP32[$n>>2] = $619; - } - $620 = HEAP32[$v>>2]|0; - $621 = HEAP32[$n>>2]|0; - $622 = $621; - _sqlite3VdbeChangeP4($620,-1,$622,-14); - } - } while(0); - $623 = HEAP32[$v>>2]|0; - $624 = HEAP8[$bFordelete>>0]|0; - _sqlite3VdbeChangeP5($623,$624); - break L97; - } - } while(0); - $625 = HEAP32[$1>>2]|0; - $626 = HEAP32[$iDb>>2]|0; - $627 = HEAP32[$pTab>>2]|0; - $628 = ((($627)) + 28|0); - $629 = HEAP32[$628>>2]|0; - $630 = HEAP32[$pTab>>2]|0; - $631 = HEAP32[$630>>2]|0; - _sqlite3TableLock($625,$626,$629,0,$631); - } - } - } while(0); - $632 = HEAP32[$pLoop>>2]|0; - $633 = ((($632)) + 36|0); - $634 = HEAP32[$633>>2]|0; - $635 = $634 & 512; - $636 = ($635|0)!=(0); - do { - if ($636) { - $637 = HEAP32[$pLoop>>2]|0; - $638 = ((($637)) + 24|0); - $639 = ((($638)) + 8|0); - $640 = HEAP32[$639>>2]|0; - HEAP32[$pIx>>2] = $640; - HEAP32[$op1>>2] = 104; - $641 = HEAP32[$pTab>>2]|0; - $642 = ((($641)) + 42|0); - $643 = HEAP8[$642>>0]|0; - $644 = $643&255; - $645 = $644 & 32; - $646 = ($645|0)==(0); - do { - if ($646) { - label = 93; - } else { - $647 = HEAP32[$pIx>>2]|0; - $648 = ((($647)) + 55|0); - $649 = HEAP8[$648>>0]|0; - $650 = $649 & 3; - $651 = $650&255; - $652 = ($651|0)==(2); - if (!($652)) { - label = 93; - break; - } - $653 = HEAP16[$6>>1]|0; - $654 = $653&65535; - $655 = $654 & 32; - $656 = ($655|0)!=(0); - if (!($656)) { - label = 93; - break; - } - $657 = HEAP32[$pLevel>>2]|0; - $658 = ((($657)) + 4|0); - $659 = HEAP32[$658>>2]|0; - HEAP32[$iIndexCur>>2] = $659; - HEAP32[$op1>>2] = 0; - } - } while(0); - L127: do { - if ((label|0) == 93) { - label = 0; - $660 = HEAP32[$pWInfo>>2]|0; - $661 = ((($660)) + 45|0); - $662 = HEAP8[$661>>0]|0; - $663 = $662&255; - $664 = ($663|0)!=(0); - if (!($664)) { - $685 = HEAP32[$7>>2]|0; - $686 = ($685|0)!=(0); - do { - if ($686) { - $687 = HEAP16[$6>>1]|0; - $688 = $687&65535; - $689 = $688 & 32; - $690 = ($689|0)!=(0); - if (!($690)) { - break; - } - $691 = HEAP32[$7>>2]|0; - HEAP32[$iIndexCur>>2] = $691; - HEAP32[$op1>>2] = 103; - break L127; - } - } while(0); - $692 = HEAP32[$1>>2]|0; - $693 = ((($692)) + 40|0); - $694 = HEAP32[$693>>2]|0; - $695 = (($694) + 1)|0; - HEAP32[$693>>2] = $695; - HEAP32[$iIndexCur>>2] = $694; - break; - } - $665 = HEAP32[$pTabItem>>2]|0; - $666 = ((($665)) + 16|0); - $667 = HEAP32[$666>>2]|0; - $668 = ((($667)) + 8|0); - $669 = HEAP32[$668>>2]|0; - HEAP32[$pJ>>2] = $669; - $670 = HEAP32[$7>>2]|0; - HEAP32[$iIndexCur>>2] = $670; - while(1) { - $671 = HEAP32[$pJ>>2]|0; - $672 = ($671|0)!=(0|0); - if (!($672)) { - break; - } - $673 = HEAP32[$pJ>>2]|0; - $674 = HEAP32[$pIx>>2]|0; - $675 = ($673|0)!=($674|0); - if (!($675)) { - break; - } - $676 = HEAP32[$iIndexCur>>2]|0; - $677 = (($676) + 1)|0; - HEAP32[$iIndexCur>>2] = $677; - $678 = HEAP32[$pJ>>2]|0; - $679 = ((($678)) + 20|0); - $680 = HEAP32[$679>>2]|0; - HEAP32[$pJ>>2] = $680; - } - HEAP32[$op1>>2] = 105; - $681 = HEAP32[$iIndexCur>>2]|0; - $682 = HEAP32[$pWInfo>>2]|0; - $683 = ((($682)) + 20|0); - $684 = ((($683)) + 4|0); - HEAP32[$684>>2] = $681; - } - } while(0); - $696 = HEAP32[$iIndexCur>>2]|0; - $697 = HEAP32[$pLevel>>2]|0; - $698 = ((($697)) + 8|0); - HEAP32[$698>>2] = $696; - $699 = HEAP32[$op1>>2]|0; - $700 = ($699|0)!=(0); - if (!($700)) { - break; - } - $701 = HEAP32[$v>>2]|0; - $702 = HEAP32[$op1>>2]|0; - $703 = HEAP32[$iIndexCur>>2]|0; - $704 = HEAP32[$pIx>>2]|0; - $705 = ((($704)) + 44|0); - $706 = HEAP32[$705>>2]|0; - $707 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($701,$702,$703,$706,$707)|0); - $708 = HEAP32[$1>>2]|0; - $709 = HEAP32[$pIx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($708,$709); - $710 = HEAP32[$pLoop>>2]|0; - $711 = ((($710)) + 36|0); - $712 = HEAP32[$711>>2]|0; - $713 = $712 & 15; - $714 = ($713|0)!=(0); - if (!($714)) { - break; - } - $715 = HEAP32[$pLoop>>2]|0; - $716 = ((($715)) + 36|0); - $717 = HEAP32[$716>>2]|0; - $718 = $717 & 32770; - $719 = ($718|0)==(0); - if (!($719)) { - break; - } - $720 = HEAP32[$pWInfo>>2]|0; - $721 = ((($720)) + 40|0); - $722 = HEAP16[$721>>1]|0; - $723 = $722&65535; - $724 = $723 & 1; - $725 = ($724|0)==(0); - if (!($725)) { - break; - } - $726 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($726,2); - } - } while(0); - $727 = HEAP32[$iDb>>2]|0; - $728 = ($727|0)>=(0); - if ($728) { - $729 = HEAP32[$1>>2]|0; - $730 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($729,$730); + $140 = HEAP32[$8>>2]|0; + $141 = ((($140)) + 36|0); + $142 = HEAP32[$17>>2]|0; + $143 = (($141) + ($142<<3)|0); + $144 = ((($143)) + 4|0); + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$20>>2]|0; + $147 = (_sqlite3StrICmp($145,$146)|0); + $148 = ($147|0)==(0); + if ($148) { + label = 28; + break; } - $731 = HEAP32[$ii>>2]|0; - $732 = (($731) + 1)|0; - HEAP32[$ii>>2] = $732; - $733 = HEAP32[$pLevel>>2]|0; - $734 = ((($733)) + 80|0); - HEAP32[$pLevel>>2] = $734; + $159 = HEAP32[$17>>2]|0; + $160 = (($159) + 1)|0; + HEAP32[$17>>2] = $160; } - $735 = HEAP32[$v>>2]|0; - $736 = (_sqlite3VdbeCurrentAddr($735)|0); - $737 = HEAP32[$pWInfo>>2]|0; - $738 = ((($737)) + 52|0); - HEAP32[$738>>2] = $736; - $739 = HEAP32[$db>>2]|0; - $740 = ((($739)) + 69|0); - $741 = HEAP8[$740>>0]|0; - $742 = ($741<<24>>24)!=(0); - if (!($742)) { - $743 = $notReady; - $744 = $743; - HEAP32[$744>>2] = -1; - $745 = (($743) + 4)|0; - $746 = $745; - HEAP32[$746>>2] = -1; - HEAP32[$ii>>2] = 0; - while(1) { - $747 = HEAP32[$ii>>2]|0; - $748 = HEAP32[$nTabList>>2]|0; - $749 = ($747|0)<($748|0); - if (!($749)) { - break; - } - $750 = HEAP32[$ii>>2]|0; - $751 = HEAP32[$pWInfo>>2]|0; - $752 = ((($751)) + 752|0); - $753 = (($752) + (($750*80)|0)|0); - HEAP32[$pLevel>>2] = $753; - $754 = HEAP32[$pLevel>>2]|0; - $755 = ((($754)) + 64|0); - $756 = HEAP32[$755>>2]|0; - $757 = ((($756)) + 36|0); - $758 = HEAP32[$757>>2]|0; - HEAP32[$wsFlags2>>2] = $758; - $759 = HEAP32[$pLevel>>2]|0; - $760 = ((($759)) + 64|0); - $761 = HEAP32[$760>>2]|0; - $762 = ((($761)) + 36|0); - $763 = HEAP32[$762>>2]|0; - $764 = $763 & 16384; - $765 = ($764|0)!=(0); - if ($765) { - $766 = HEAP32[$1>>2]|0; - $767 = HEAP32[$pWInfo>>2]|0; - $768 = ((($767)) + 80|0); - $769 = HEAP32[$pLevel>>2]|0; - $770 = ((($769)) + 44|0); - $771 = HEAP8[$770>>0]|0; - $772 = $771&255; - $773 = HEAP32[$2>>2]|0; - $774 = ((($773)) + 8|0); - $775 = (($774) + (($772*72)|0)|0); - $776 = $notReady; - $777 = $776; - $778 = HEAP32[$777>>2]|0; - $779 = (($776) + 4)|0; - $780 = $779; - $781 = HEAP32[$780>>2]|0; - $782 = HEAP32[$pLevel>>2]|0; - _constructAutomaticIndex($766,$768,$775,$778,$781,$782); - $783 = HEAP32[$db>>2]|0; - $784 = ((($783)) + 69|0); - $785 = HEAP8[$784>>0]|0; - $786 = ($785<<24>>24)!=(0); - if ($786) { - break L15; - } - } - $787 = HEAP32[$1>>2]|0; - $788 = HEAP32[$2>>2]|0; - $789 = HEAP32[$pLevel>>2]|0; - $790 = HEAP32[$ii>>2]|0; - $791 = HEAP32[$pLevel>>2]|0; - $792 = ((($791)) + 44|0); - $793 = HEAP8[$792>>0]|0; - $794 = $793&255; - $795 = HEAP16[$6>>1]|0; - $796 = (_sqlite3WhereExplainOneScan($787,$788,$789,$790,$794,$795)|0); - HEAP32[$addrExplain>>2] = $796; - $797 = HEAP32[$v>>2]|0; - $798 = (_sqlite3VdbeCurrentAddr($797)|0); - $799 = HEAP32[$pLevel>>2]|0; - $800 = ((($799)) + 32|0); - HEAP32[$800>>2] = $798; - $801 = HEAP32[$pWInfo>>2]|0; - $802 = HEAP32[$ii>>2]|0; - $803 = $notReady; - $804 = $803; - $805 = HEAP32[$804>>2]|0; - $806 = (($803) + 4)|0; - $807 = $806; - $808 = HEAP32[$807>>2]|0; - $809 = (_sqlite3WhereCodeOneLoopStart($801,$802,$805,$808)|0); - $810 = tempRet0; - $811 = $notReady; - $812 = $811; - HEAP32[$812>>2] = $809; - $813 = (($811) + 4)|0; - $814 = $813; - HEAP32[$814>>2] = $810; - $815 = HEAP32[$pLevel>>2]|0; - $816 = ((($815)) + 24|0); - $817 = HEAP32[$816>>2]|0; - $818 = HEAP32[$pWInfo>>2]|0; - $819 = ((($818)) + 28|0); - HEAP32[$819>>2] = $817; - $820 = HEAP32[$wsFlags2>>2]|0; - $821 = $820 & 8192; - $822 = ($821|0)==(0); - do { - if ($822) { - $823 = HEAP16[$6>>1]|0; - $824 = $823&65535; - $825 = $824 & 32; - $826 = ($825|0)==(0); - if (!($826)) { - break; - } - } - } while(0); - $827 = HEAP32[$ii>>2]|0; - $828 = (($827) + 1)|0; - HEAP32[$ii>>2] = $828; + if ((label|0) == 28) { + label = 0; + $149 = HEAP32[$12>>2]|0; + $150 = ($149|0)!=(0|0); + if ($150) { + $151 = HEAP32[$8>>2]|0; + $152 = ((($151)) + 36|0); + $153 = HEAP32[$17>>2]|0; + $154 = (($152) + ($153<<3)|0); + $155 = HEAP32[$154>>2]|0; + $156 = HEAP32[$12>>2]|0; + $157 = HEAP32[$16>>2]|0; + $158 = (($156) + ($157<<2)|0); + HEAP32[$158>>2] = $155; } - $829 = HEAP32[$pWInfo>>2]|0; - HEAP32[$0>>2] = $829; - $839 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($839|0); } + $161 = HEAP32[$17>>2]|0; + $162 = HEAP32[$13>>2]|0; + $163 = ($161|0)==($162|0); + if ($163) { + break; + } + $164 = HEAP32[$16>>2]|0; + $165 = (($164) + 1)|0; + HEAP32[$16>>2] = $165; + } + $166 = HEAP32[$16>>2]|0; + $167 = HEAP32[$13>>2]|0; + $168 = ($166|0)==($167|0); + if ($168) { + break L17; } } } + } while(0); + $169 = HEAP32[$11>>2]|0; + $170 = ((($169)) + 20|0); + $171 = HEAP32[$170>>2]|0; + HEAP32[$11>>2] = $171; + } + L42: do { + if ((label|0) == 17) { + $84 = HEAP32[$12>>2]|0; + $85 = ($84|0)!=(0|0); + if ($85) { + HEAP32[$15>>2] = 0; + while(1) { + $86 = HEAP32[$15>>2]|0; + $87 = HEAP32[$13>>2]|0; + $88 = ($86|0)<($87|0); + if (!($88)) { + break L42; + } + $89 = HEAP32[$8>>2]|0; + $90 = ((($89)) + 36|0); + $91 = HEAP32[$15>>2]|0; + $92 = (($90) + ($91<<3)|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$12>>2]|0; + $95 = HEAP32[$15>>2]|0; + $96 = (($94) + ($95<<2)|0); + HEAP32[$96>>2] = $93; + $97 = HEAP32[$15>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[$15>>2] = $98; + } + } } } while(0); - $830 = HEAP32[$pWInfo>>2]|0; - $831 = ($830|0)!=(0|0); - if ($831) { - $832 = HEAP32[$pWInfo>>2]|0; - $833 = ((($832)) + 36|0); - $834 = HEAP32[$833>>2]|0; - $835 = HEAP32[$1>>2]|0; - $836 = ((($835)) + 136|0); - HEAP32[$836>>2] = $834; - $837 = HEAP32[$db>>2]|0; - $838 = HEAP32[$pWInfo>>2]|0; - _whereInfoFree($837,$838); + $172 = HEAP32[$11>>2]|0; + $173 = ($172|0)!=(0|0); + if ($173) { + $188 = HEAP32[$11>>2]|0; + $189 = HEAP32[$9>>2]|0; + HEAP32[$189>>2] = $188; + HEAP32[$5>>2] = 0; + $190 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($190|0); + } + $174 = HEAP32[$6>>2]|0; + $175 = ((($174)) + 150|0); + $176 = HEAP8[$175>>0]|0; + $177 = ($176<<24>>24)!=(0); + if (!($177)) { + $178 = HEAP32[$6>>2]|0; + $179 = HEAP32[$8>>2]|0; + $180 = HEAP32[$179>>2]|0; + $181 = HEAP32[$180>>2]|0; + $182 = HEAP32[$8>>2]|0; + $183 = ((($182)) + 8|0); + $184 = HEAP32[$183>>2]|0; + HEAP32[$vararg_buffer>>2] = $181; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $184; + _sqlite3ErrorMsg($178,32401,$vararg_buffer); } - HEAP32[$0>>2] = 0; - $839 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($839|0); + $185 = HEAP32[$6>>2]|0; + $186 = HEAP32[$185>>2]|0; + $187 = HEAP32[$12>>2]|0; + _sqlite3DbFree($186,$187); + HEAP32[$5>>2] = 1; + $190 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($190|0); } -function _sqlite3WhereEnd($pWInfo) { - $pWInfo = $pWInfo|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $addr = 0, $db = 0, $i = 0, $j = 0, $k = 0, $last = 0, $pIdx = 0, $pIn = 0, $pLevel = 0, $pLoop = 0, $pOp = 0, $pParse = 0, $pPk = 0, $pTab = 0, $pTabItem = 0, $pTabList = 0, $v = 0; - var $ws = 0, $ws1 = 0, $x = 0, label = 0, sp = 0; +function _sqlite3IndexAffinityStr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$sink = 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, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 80|0; - $pParse = sp + 76|0; - $v = sp + 72|0; - $i = sp + 68|0; - $pLevel = sp + 64|0; - $pLoop = sp + 60|0; - $pTabList = sp + 56|0; - $db = sp + 52|0; - $addr = sp + 48|0; - $pIn = sp + 44|0; - $j = sp + 40|0; - $ws = sp + 36|0; - $k = sp + 32|0; - $last = sp + 28|0; - $pOp = sp + 24|0; - $pIdx = sp + 20|0; - $pTabItem = sp + 16|0; - $pTab = sp + 12|0; - $ws1 = sp + 8|0; - $x = sp + 4|0; - $pPk = sp; - HEAP32[$0>>2] = $pWInfo; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$pParse>>2] = $2; - $3 = HEAP32[$pParse>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$v>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pTabList>>2] = $8; - $9 = HEAP32[$pParse>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$db>>2] = $10; - $11 = HEAP32[$pParse>>2]|0; - _sqlite3ExprCacheClear($11); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 42|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (($15) - 1)|0; - HEAP32[$i>>2] = $16; - while(1) { - $17 = HEAP32[$i>>2]|0; - $18 = ($17|0)>=(0); - if (!($18)) { - break; - } - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 752|0); - $22 = (($21) + (($19*80)|0)|0); - HEAP32[$pLevel>>2] = $22; - $23 = HEAP32[$pLevel>>2]|0; - $24 = ((($23)) + 64|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pLoop>>2] = $25; - $26 = HEAP32[$v>>2]|0; - $27 = HEAP32[$pLevel>>2]|0; - $28 = ((($27)) + 24|0); - $29 = HEAP32[$28>>2]|0; - _sqlite3VdbeResolveLabel($26,$29); - $30 = HEAP32[$pLevel>>2]|0; - $31 = ((($30)) + 45|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = ($33|0)!=(161); - if ($34) { - $35 = HEAP32[$v>>2]|0; - $36 = HEAP32[$pLevel>>2]|0; - $37 = ((($36)) + 45|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = HEAP32[$pLevel>>2]|0; - $41 = ((($40)) + 48|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$pLevel>>2]|0; - $44 = ((($43)) + 52|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$pLevel>>2]|0; - $47 = ((($46)) + 46|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - (_sqlite3VdbeAddOp3($35,$39,$42,$45,$49)|0); - $50 = HEAP32[$v>>2]|0; - $51 = HEAP32[$pLevel>>2]|0; - $52 = ((($51)) + 47|0); - $53 = HEAP8[$52>>0]|0; - _sqlite3VdbeChangeP5($50,$53); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + $7 = sp + 20|0; + $8 = sp + 22|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$6>>2] = $15; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 52|0); + $18 = HEAP16[$17>>1]|0; + $19 = $18&65535; + $20 = (($19) + 1)|0; + $21 = ($20|0)<(0); + $22 = $21 << 31 >> 31; + $23 = (_sqlite3DbMallocRaw(0,$20,$22)|0); + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 16|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)!=(0|0); + if (!($29)) { + $30 = HEAP32[$3>>2]|0; + _sqlite3OomFault($30); + HEAP32[$2>>2] = 0; + $93 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($93|0); } - $54 = HEAP32[$pLoop>>2]|0; - $55 = ((($54)) + 36|0); - $56 = HEAP32[$55>>2]|0; - $57 = $56 & 2048; - $58 = ($57|0)!=(0); - L7: do { - if ($58) { - $59 = HEAP32[$pLevel>>2]|0; - $60 = ((($59)) + 56|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)>(0); - if ($62) { - $63 = HEAP32[$v>>2]|0; - $64 = HEAP32[$pLevel>>2]|0; - $65 = ((($64)) + 16|0); - $66 = HEAP32[$65>>2]|0; - _sqlite3VdbeResolveLabel($63,$66); - $67 = HEAP32[$pLevel>>2]|0; - $68 = ((($67)) + 56|0); - $69 = HEAP32[$68>>2]|0; - HEAP32[$j>>2] = $69; - $70 = HEAP32[$j>>2]|0; - $71 = (($70) - 1)|0; - $72 = HEAP32[$pLevel>>2]|0; - $73 = ((($72)) + 56|0); - $74 = ((($73)) + 4|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($75) + (($71*12)|0)|0); - HEAP32[$pIn>>2] = $76; - while(1) { - $77 = HEAP32[$j>>2]|0; - $78 = ($77|0)>(0); - if (!($78)) { - break L7; - } - $79 = HEAP32[$v>>2]|0; - $80 = HEAP32[$pIn>>2]|0; - $81 = ((($80)) + 4|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82) + 1)|0; - _sqlite3VdbeJumpHere($79,$83); - $84 = HEAP32[$pIn>>2]|0; - $85 = ((($84)) + 8|0); - $86 = HEAP8[$85>>0]|0; - $87 = $86&255; - $88 = ($87|0)!=(161); - if ($88) { - $89 = HEAP32[$v>>2]|0; - $90 = HEAP32[$pIn>>2]|0; - $91 = ((($90)) + 8|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = HEAP32[$pIn>>2]|0; - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$pIn>>2]|0; - $97 = ((($96)) + 4|0); - $98 = HEAP32[$97>>2]|0; - (_sqlite3VdbeAddOp2($89,$93,$95,$98)|0); - } - $99 = HEAP32[$v>>2]|0; - $100 = HEAP32[$pIn>>2]|0; - $101 = ((($100)) + 4|0); - $102 = HEAP32[$101>>2]|0; - $103 = (($102) - 1)|0; - _sqlite3VdbeJumpHere($99,$103); - $104 = HEAP32[$j>>2]|0; - $105 = (($104) + -1)|0; - HEAP32[$j>>2] = $105; - $106 = HEAP32[$pIn>>2]|0; - $107 = ((($106)) + -12|0); - HEAP32[$pIn>>2] = $107; - } + HEAP32[$5>>2] = 0; + while(1) { + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 52|0); + $34 = HEAP16[$33>>1]|0; + $35 = $34&65535; + $36 = ($31|0)<($35|0); + $37 = HEAP32[$4>>2]|0; + if (!($36)) { + break; + } + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$5>>2]|0; + $41 = (($39) + ($40<<1)|0); + $42 = HEAP16[$41>>1]|0; + HEAP16[$7>>1] = $42; + $43 = HEAP16[$7>>1]|0; + $44 = $43 << 16 >> 16; + $45 = ($44|0)>=(0); + if ($45) { + $46 = HEAP32[$6>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP16[$7>>1]|0; + $50 = $49 << 16 >> 16; + $51 = (($48) + ($50<<4)|0); + $52 = ((($51)) + 13|0); + $53 = HEAP8[$52>>0]|0; + $54 = HEAP32[$4>>2]|0; + $55 = ((($54)) + 16|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$5>>2]|0; + $58 = (($56) + ($57)|0); + HEAP8[$58>>0] = $53; + } else { + $59 = HEAP16[$7>>1]|0; + $60 = $59 << 16 >> 16; + $61 = ($60|0)==(-1); + $62 = HEAP32[$4>>2]|0; + if ($61) { + $63 = ((($62)) + 16|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = (($64) + ($65)|0); + $$sink = 68;$$sink1 = $66; + } else { + $67 = ((($62)) + 40|0); + $68 = HEAP32[$67>>2]|0; + $69 = ((($68)) + 4|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$5>>2]|0; + $72 = (($70) + (($71*20)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (_sqlite3ExprAffinity($73)|0); + HEAP8[$8>>0] = $74; + $75 = HEAP8[$8>>0]|0; + $76 = $75 << 24 >> 24; + $77 = ($76|0)==(0); + $$ = $77 ? 65 : $74; + HEAP8[$8>>0] = $$; + $78 = HEAP8[$8>>0]|0; + $79 = HEAP32[$4>>2]|0; + $80 = ((($79)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$5>>2]|0; + $83 = (($81) + ($82)|0); + $$sink = $78;$$sink1 = $83; } + HEAP8[$$sink1>>0] = $$sink; } - } while(0); - $108 = HEAP32[$v>>2]|0; - $109 = HEAP32[$pLevel>>2]|0; - $110 = ((($109)) + 12|0); - $111 = HEAP32[$110>>2]|0; - _sqlite3VdbeResolveLabel($108,$111); - $112 = HEAP32[$pLevel>>2]|0; - $113 = ((($112)) + 20|0); - $114 = HEAP32[$113>>2]|0; - $115 = ($114|0)!=(0); - if ($115) { - $116 = HEAP32[$v>>2]|0; - $117 = HEAP32[$pLevel>>2]|0; - $118 = ((($117)) + 20|0); - $119 = HEAP32[$118>>2]|0; - (_sqlite3VdbeGoto($116,$119)|0); - $120 = HEAP32[$v>>2]|0; - $121 = HEAP32[$pLevel>>2]|0; - $122 = ((($121)) + 20|0); - $123 = HEAP32[$122>>2]|0; - _sqlite3VdbeJumpHere($120,$123); - $124 = HEAP32[$v>>2]|0; - $125 = HEAP32[$pLevel>>2]|0; - $126 = ((($125)) + 20|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($127) - 2)|0; - _sqlite3VdbeJumpHere($124,$128); + $84 = HEAP32[$5>>2]|0; + $85 = (($84) + 1)|0; + HEAP32[$5>>2] = $85; } - $129 = HEAP32[$pLevel>>2]|0; - $130 = ((($129)) + 40|0); - $131 = HEAP32[$130>>2]|0; - $132 = ($131|0)!=(0); - if ($132) { - $133 = HEAP32[$v>>2]|0; - $134 = HEAP32[$pLevel>>2]|0; - $135 = ((($134)) + 36|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136 >>> 1; - $138 = HEAP32[$pLevel>>2]|0; - $139 = ((($138)) + 40|0); - $140 = HEAP32[$139>>2]|0; - (_sqlite3VdbeAddOp2($133,68,$137,$140)|0); - } - $141 = HEAP32[$pLevel>>2]|0; - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)!=(0); - if ($143) { - $144 = HEAP32[$pLoop>>2]|0; - $145 = ((($144)) + 36|0); - $146 = HEAP32[$145>>2]|0; - HEAP32[$ws>>2] = $146; - $147 = HEAP32[$v>>2]|0; - $148 = HEAP32[$pLevel>>2]|0; - $149 = HEAP32[$148>>2]|0; - $150 = (_sqlite3VdbeAddOp1($147,66,$149)|0); - HEAP32[$addr>>2] = $150; - $151 = HEAP32[$ws>>2]|0; - $152 = $151 & 64; - $153 = ($152|0)==(0); - if ($153) { - $154 = HEAP32[$v>>2]|0; - $155 = HEAP32[$i>>2]|0; - $156 = HEAP32[$pTabList>>2]|0; - $157 = ((($156)) + 8|0); - $158 = (($157) + (($155*72)|0)|0); - $159 = ((($158)) + 44|0); - $160 = HEAP32[$159>>2]|0; - (_sqlite3VdbeAddOp1($154,124,$160)|0); - } - $161 = HEAP32[$ws>>2]|0; - $162 = $161 & 512; - $163 = ($162|0)!=(0); - if ($163) { - label = 22; - } else { - $164 = HEAP32[$ws>>2]|0; - $165 = $164 & 8192; - $166 = ($165|0)!=(0); - if ($166) { - $167 = HEAP32[$pLevel>>2]|0; - $168 = ((($167)) + 56|0); - $169 = HEAP32[$168>>2]|0; - $170 = ($169|0)!=(0|0); - if ($170) { - label = 22; - } - } - } - if ((label|0) == 22) { - label = 0; - $171 = HEAP32[$v>>2]|0; - $172 = HEAP32[$pLevel>>2]|0; - $173 = ((($172)) + 8|0); - $174 = HEAP32[$173>>2]|0; - (_sqlite3VdbeAddOp1($171,124,$174)|0); - } - $175 = HEAP32[$pLevel>>2]|0; - $176 = ((($175)) + 45|0); - $177 = HEAP8[$176>>0]|0; - $178 = $177&255; - $179 = ($178|0)==(72); - $180 = HEAP32[$v>>2]|0; - $181 = HEAP32[$pLevel>>2]|0; - if ($179) { - $182 = ((($181)) + 48|0); - $183 = HEAP32[$182>>2]|0; - $184 = HEAP32[$pLevel>>2]|0; - $185 = ((($184)) + 28|0); - $186 = HEAP32[$185>>2]|0; - (_sqlite3VdbeAddOp2($180,14,$183,$186)|0); - } else { - $187 = ((($181)) + 28|0); - $188 = HEAP32[$187>>2]|0; - (_sqlite3VdbeGoto($180,$188)|0); - } - $189 = HEAP32[$v>>2]|0; - $190 = HEAP32[$addr>>2]|0; - _sqlite3VdbeJumpHere($189,$190); - } - $191 = HEAP32[$i>>2]|0; - $192 = (($191) + -1)|0; - HEAP32[$i>>2] = $192; - } - $193 = HEAP32[$v>>2]|0; - $194 = HEAP32[$0>>2]|0; - $195 = ((($194)) + 32|0); - $196 = HEAP32[$195>>2]|0; - _sqlite3VdbeResolveLabel($193,$196); - HEAP32[$i>>2] = 0; - $197 = HEAP32[$0>>2]|0; - $198 = ((($197)) + 752|0); - HEAP32[$pLevel>>2] = $198; - while(1) { - $199 = HEAP32[$i>>2]|0; - $200 = HEAP32[$0>>2]|0; - $201 = ((($200)) + 42|0); - $202 = HEAP8[$201>>0]|0; - $203 = $202&255; - $204 = ($199|0)<($203|0); - if (!($204)) { - break; - } - HEAP32[$pIdx>>2] = 0; - $205 = HEAP32[$pLevel>>2]|0; - $206 = ((($205)) + 44|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $209 = HEAP32[$pTabList>>2]|0; - $210 = ((($209)) + 8|0); - $211 = (($210) + (($208*72)|0)|0); - HEAP32[$pTabItem>>2] = $211; - $212 = HEAP32[$pTabItem>>2]|0; - $213 = ((($212)) + 16|0); - $214 = HEAP32[$213>>2]|0; - HEAP32[$pTab>>2] = $214; - $215 = HEAP32[$pLevel>>2]|0; - $216 = ((($215)) + 64|0); - $217 = HEAP32[$216>>2]|0; - HEAP32[$pLoop>>2] = $217; - $218 = HEAP32[$pTabItem>>2]|0; - $219 = ((($218)) + 36|0); - $220 = ((($219)) + 1|0); - $221 = HEAP8[$220>>0]|0; - $222 = ($221&255) >>> 4; - $223 = $222 & 1; - $224 = $223&255; - $225 = ($224|0)!=(0); - if ($225) { - $226 = HEAP32[$db>>2]|0; - $227 = ((($226)) + 69|0); - $228 = HEAP8[$227>>0]|0; - $229 = ($228<<24>>24)!=(0); - if ($229) { - label = 33; - } else { - $230 = HEAP32[$v>>2]|0; - $231 = HEAP32[$pLevel>>2]|0; - $232 = ((($231)) + 32|0); - $233 = HEAP32[$232>>2]|0; - $234 = HEAP32[$pLevel>>2]|0; - $235 = ((($234)) + 4|0); - $236 = HEAP32[$235>>2]|0; - $237 = HEAP32[$pTabItem>>2]|0; - $238 = ((($237)) + 32|0); - $239 = HEAP32[$238>>2]|0; - _translateColumnToCopy($230,$233,$236,$239,0); - } - } else { - label = 33; - } - L46: do { - if ((label|0) == 33) { - label = 0; - $240 = HEAP32[$pTab>>2]|0; - $241 = ((($240)) + 42|0); - $242 = HEAP8[$241>>0]|0; - $243 = $242&255; - $244 = $243 & 2; - $245 = ($244|0)==(0); - if ($245) { - $246 = HEAP32[$pTab>>2]|0; - $247 = ((($246)) + 12|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)==(0|0); - if ($249) { - $250 = HEAP32[$0>>2]|0; - $251 = ((($250)) + 40|0); - $252 = HEAP16[$251>>1]|0; - $253 = $252&65535; - $254 = $253 & 32; - $255 = ($254|0)==(0); - if ($255) { - $256 = HEAP32[$pLoop>>2]|0; - $257 = ((($256)) + 36|0); - $258 = HEAP32[$257>>2]|0; - HEAP32[$ws1>>2] = $258; - $259 = HEAP32[$0>>2]|0; - $260 = ((($259)) + 45|0); - $261 = HEAP8[$260>>0]|0; - $262 = $261&255; - $263 = ($262|0)==(0); - if ($263) { - $264 = HEAP32[$ws1>>2]|0; - $265 = $264 & 64; - $266 = ($265|0)==(0); - if ($266) { - $267 = HEAP32[$v>>2]|0; - $268 = HEAP32[$pTabItem>>2]|0; - $269 = ((($268)) + 44|0); - $270 = HEAP32[$269>>2]|0; - (_sqlite3VdbeAddOp1($267,111,$270)|0); - } - } - $271 = HEAP32[$ws1>>2]|0; - $272 = $271 & 512; - $273 = ($272|0)!=(0); - if ($273) { - $274 = HEAP32[$ws1>>2]|0; - $275 = $274 & 16640; - $276 = ($275|0)==(0); - if ($276) { - $277 = HEAP32[$pLevel>>2]|0; - $278 = ((($277)) + 8|0); - $279 = HEAP32[$278>>2]|0; - $280 = HEAP32[$0>>2]|0; - $281 = ((($280)) + 20|0); - $282 = ((($281)) + 4|0); - $283 = HEAP32[$282>>2]|0; - $284 = ($279|0)!=($283|0); - if ($284) { - $285 = HEAP32[$v>>2]|0; - $286 = HEAP32[$pLevel>>2]|0; - $287 = ((($286)) + 8|0); - $288 = HEAP32[$287>>2]|0; - (_sqlite3VdbeAddOp1($285,111,$288)|0); - } - } - } - } - } - } - $289 = HEAP32[$pLoop>>2]|0; - $290 = ((($289)) + 36|0); - $291 = HEAP32[$290>>2]|0; - $292 = $291 & 576; - $293 = ($292|0)!=(0); - $294 = HEAP32[$pLoop>>2]|0; - if ($293) { - $295 = ((($294)) + 24|0); - $296 = ((($295)) + 8|0); - $297 = HEAP32[$296>>2]|0; - HEAP32[$pIdx>>2] = $297; - } else { - $298 = ((($294)) + 36|0); - $299 = HEAP32[$298>>2]|0; - $300 = $299 & 8192; - $301 = ($300|0)!=(0); - if ($301) { - $302 = HEAP32[$pLevel>>2]|0; - $303 = ((($302)) + 56|0); - $304 = HEAP32[$303>>2]|0; - HEAP32[$pIdx>>2] = $304; - } - } - $305 = HEAP32[$pIdx>>2]|0; - $306 = ($305|0)!=(0|0); - if ($306) { - $307 = HEAP32[$0>>2]|0; - $308 = ((($307)) + 45|0); - $309 = HEAP8[$308>>0]|0; - $310 = $309&255; - $311 = ($310|0)==(0); - if (!($311)) { - $312 = HEAP32[$pIdx>>2]|0; - $313 = ((($312)) + 12|0); - $314 = HEAP32[$313>>2]|0; - $315 = ((($314)) + 42|0); - $316 = HEAP8[$315>>0]|0; - $317 = $316&255; - $318 = $317 & 32; - $319 = ($318|0)==(0); - if ($319) { - break; - } - } - $320 = HEAP32[$db>>2]|0; - $321 = ((($320)) + 69|0); - $322 = HEAP8[$321>>0]|0; - $323 = ($322<<24>>24)!=(0); - if (!($323)) { - $324 = HEAP32[$v>>2]|0; - $325 = (_sqlite3VdbeCurrentAddr($324)|0); - HEAP32[$last>>2] = $325; - $326 = HEAP32[$pLevel>>2]|0; - $327 = ((($326)) + 32|0); - $328 = HEAP32[$327>>2]|0; - HEAP32[$k>>2] = $328; - $329 = HEAP32[$v>>2]|0; - $330 = HEAP32[$k>>2]|0; - $331 = (_sqlite3VdbeGetOp($329,$330)|0); - HEAP32[$pOp>>2] = $331; - while(1) { - $332 = HEAP32[$k>>2]|0; - $333 = HEAP32[$last>>2]|0; - $334 = ($332|0)<($333|0); - if (!($334)) { - break L46; - } - $335 = HEAP32[$pOp>>2]|0; - $336 = ((($335)) + 4|0); - $337 = HEAP32[$336>>2]|0; - $338 = HEAP32[$pLevel>>2]|0; - $339 = ((($338)) + 4|0); - $340 = HEAP32[$339>>2]|0; - $341 = ($337|0)!=($340|0); - do { - if (!($341)) { - $342 = HEAP32[$pOp>>2]|0; - $343 = HEAP8[$342>>0]|0; - $344 = $343&255; - $345 = ($344|0)==(96); - $346 = HEAP32[$pOp>>2]|0; - if (!($345)) { - $379 = HEAP8[$346>>0]|0; - $380 = $379&255; - $381 = ($380|0)==(123); - if (!($381)) { - break; - } - $382 = HEAP32[$pLevel>>2]|0; - $383 = ((($382)) + 8|0); - $384 = HEAP32[$383>>2]|0; - $385 = HEAP32[$pOp>>2]|0; - $386 = ((($385)) + 4|0); - HEAP32[$386>>2] = $384; - $387 = HEAP32[$pOp>>2]|0; - HEAP8[$387>>0] = -127; - break; - } - $347 = ((($346)) + 8|0); - $348 = HEAP32[$347>>2]|0; - HEAP32[$x>>2] = $348; - $349 = HEAP32[$pTab>>2]|0; - $350 = ((($349)) + 42|0); - $351 = HEAP8[$350>>0]|0; - $352 = $351&255; - $353 = $352 & 32; - $354 = ($353|0)==(0); - if (!($354)) { - $355 = HEAP32[$pTab>>2]|0; - $356 = (_sqlite3PrimaryKeyIndex($355)|0); - HEAP32[$pPk>>2] = $356; - $357 = HEAP32[$x>>2]|0; - $358 = HEAP32[$pPk>>2]|0; - $359 = ((($358)) + 4|0); - $360 = HEAP32[$359>>2]|0; - $361 = (($360) + ($357<<1)|0); - $362 = HEAP16[$361>>1]|0; - $363 = $362 << 16 >> 16; - HEAP32[$x>>2] = $363; - } - $364 = HEAP32[$pIdx>>2]|0; - $365 = HEAP32[$x>>2]|0; - $366 = $365&65535; - $367 = (_sqlite3ColumnOfIndex($364,$366)|0); - $368 = $367 << 16 >> 16; - HEAP32[$x>>2] = $368; - $369 = HEAP32[$x>>2]|0; - $370 = ($369|0)>=(0); - if ($370) { - $371 = HEAP32[$x>>2]|0; - $372 = HEAP32[$pOp>>2]|0; - $373 = ((($372)) + 8|0); - HEAP32[$373>>2] = $371; - $374 = HEAP32[$pLevel>>2]|0; - $375 = ((($374)) + 8|0); - $376 = HEAP32[$375>>2]|0; - $377 = HEAP32[$pOp>>2]|0; - $378 = ((($377)) + 4|0); - HEAP32[$378>>2] = $376; - } - } - } while(0); - $388 = HEAP32[$k>>2]|0; - $389 = (($388) + 1)|0; - HEAP32[$k>>2] = $389; - $390 = HEAP32[$pOp>>2]|0; - $391 = ((($390)) + 20|0); - HEAP32[$pOp>>2] = $391; - } - } - } - } - } while(0); - $392 = HEAP32[$i>>2]|0; - $393 = (($392) + 1)|0; - HEAP32[$i>>2] = $393; - $394 = HEAP32[$pLevel>>2]|0; - $395 = ((($394)) + 80|0); - HEAP32[$pLevel>>2] = $395; - } - $396 = HEAP32[$0>>2]|0; - $397 = ((($396)) + 36|0); - $398 = HEAP32[$397>>2]|0; - $399 = HEAP32[$pParse>>2]|0; - $400 = ((($399)) + 136|0); - HEAP32[$400>>2] = $398; - $401 = HEAP32[$db>>2]|0; - $402 = HEAP32[$0>>2]|0; - _whereInfoFree($401,$402); + $86 = ((($37)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$5>>2]|0; + $89 = (($87) + ($88)|0); + HEAP8[$89>>0] = 0; + } + $90 = HEAP32[$4>>2]|0; + $91 = ((($90)) + 16|0); + $92 = HEAP32[$91>>2]|0; + HEAP32[$2>>2] = $92; + $93 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($93|0); +} +function _sqlite3RegisterLikeFunctions($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, $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 + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)!=(0); + if ($6) { + HEAP32[$4>>2] = 32334; + } else { + HEAP32[$4>>2] = 22031; + } + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$4>>2]|0; + (_sqlite3CreateFunc($7,22035,2,1,$8,203,0,0,0)|0); + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$4>>2]|0; + (_sqlite3CreateFunc($9,22035,3,1,$10,203,0,0,0)|0); + $11 = HEAP32[$2>>2]|0; + (_sqlite3CreateFunc($11,22026,2,1,22022,203,0,0,0)|0); + $12 = HEAP32[$2>>2]|0; + _setLikeOptFlag($12,22026,12); + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ($14|0)!=(0); + $16 = $15 ? 12 : 4; + $17 = $16&255; + _setLikeOptFlag($13,22035,$17); STACKTOP = sp;return; } -function _translateColumnToCopy($v,$iStart,$iTabCur,$iRegister,$bIncrRowid) { - $v = $v|0; - $iStart = $iStart|0; - $iTabCur = $iTabCur|0; - $iRegister = $iRegister|0; - $bIncrRowid = $bIncrRowid|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iEnd = 0, $pOp = 0; - var label = 0, sp = 0; +function _sqlite3ExprCacheClear($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $pOp = sp + 4|0; - $iEnd = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $iStart; - HEAP32[$2>>2] = $iTabCur; - HEAP32[$3>>2] = $iRegister; - HEAP32[$4>>2] = $bIncrRowid; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (_sqlite3VdbeGetOp($5,$6)|0); - HEAP32[$pOp>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = (_sqlite3VdbeCurrentAddr($8)|0); - HEAP32[$iEnd>>2] = $9; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; while(1) { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$iEnd>>2]|0; - $12 = ($10|0)<($11|0); - if (!($12)) { + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 25|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($3|0)<($7|0); + $9 = HEAP32[$1>>2]|0; + if (!($8)) { break; } - $13 = HEAP32[$pOp>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = ($15|0)!=($16|0); - do { - if (!($17)) { - $18 = HEAP32[$pOp>>2]|0; - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)==(96); - $22 = HEAP32[$pOp>>2]|0; - if ($21) { - HEAP8[$22>>0] = 84; - $23 = HEAP32[$pOp>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$3>>2]|0; - $27 = (($25) + ($26))|0; - $28 = HEAP32[$pOp>>2]|0; - $29 = ((($28)) + 4|0); - HEAP32[$29>>2] = $27; - $30 = HEAP32[$pOp>>2]|0; - $31 = ((($30)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$pOp>>2]|0; - $34 = ((($33)) + 8|0); - HEAP32[$34>>2] = $32; - $35 = HEAP32[$pOp>>2]|0; - $36 = ((($35)) + 12|0); - HEAP32[$36>>2] = 0; - break; - } - $37 = HEAP8[$22>>0]|0; - $38 = $37&255; - $39 = ($38|0)==(123); - if ($39) { - $40 = HEAP32[$4>>2]|0; - $41 = ($40|0)!=(0); - $42 = HEAP32[$pOp>>2]|0; - if ($41) { - HEAP8[$42>>0] = 91; - $43 = HEAP32[$pOp>>2]|0; - $44 = ((($43)) + 8|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$pOp>>2]|0; - $47 = ((($46)) + 4|0); - HEAP32[$47>>2] = $45; - $48 = HEAP32[$pOp>>2]|0; - $49 = ((($48)) + 8|0); - HEAP32[$49>>2] = 1; - break; - } else { - HEAP8[$42>>0] = 79; - $50 = HEAP32[$pOp>>2]|0; - $51 = ((($50)) + 4|0); - HEAP32[$51>>2] = 0; - $52 = HEAP32[$pOp>>2]|0; - $53 = ((($52)) + 12|0); - HEAP32[$53>>2] = 0; - break; - } - } + $10 = ((($9)) + 152|0); + $11 = HEAP32[$2>>2]|0; + $12 = (($10) + (($11*20)|0)|0); + $13 = ((($12)) + 6|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 19|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = ($20|0)<(8); + if ($21) { + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 152|0); + $24 = HEAP32[$2>>2]|0; + $25 = (($23) + (($24*20)|0)|0); + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 352|0); + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 19|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($32) + 1)<<24>>24; + HEAP8[$31>>0] = $33; + $34 = $32&255; + $35 = (($29) + ($34<<2)|0); + HEAP32[$35>>2] = $27; } - } while(0); - $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$1>>2] = $55; - $56 = HEAP32[$pOp>>2]|0; - $57 = ((($56)) + 20|0); - HEAP32[$pOp>>2] = $57; + } + $36 = HEAP32[$2>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$2>>2] = $37; } + $38 = ((($9)) + 25|0); + HEAP8[$38>>0] = 0; STACKTOP = sp;return; } -function _whereInfoFree($db,$pWInfo) { - $db = $db|0; - $pWInfo = $pWInfo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $p = 0, $pLevel = 0, label = 0, sp = 0; +function _sqlite3OpenTableAndIndices($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $i = sp + 8|0; - $pLevel = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pWInfo; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 64|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp + 56|0; + $13 = sp + 36|0; + $14 = sp + 32|0; + $15 = sp + 28|0; + $16 = sp + 24|0; + $17 = sp + 20|0; + $18 = sp + 16|0; + $19 = sp + 12|0; + $20 = sp + 8|0; + $21 = sp + 4|0; + $22 = sp; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + HEAP8[$12>>0] = $3; + HEAP32[$13>>2] = $4; + HEAP32[$14>>2] = $5; + HEAP32[$15>>2] = $6; + HEAP32[$16>>2] = $7; + $23 = HEAP32[$10>>2]|0; + $24 = ((($23)) + 42|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = $26 & 16; + $28 = ($27|0)!=(0); + if ($28) { + HEAP32[$8>>2] = 0; + $136 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($136|0); } - HEAP32[$i>>2] = 0; - while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 42|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($4|0)<($8|0); - if (!($9)) { - break; - } - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 752|0); - $13 = (($12) + (($10*80)|0)|0); - HEAP32[$pLevel>>2] = $13; - $14 = HEAP32[$pLevel>>2]|0; - $15 = ((($14)) + 64|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$pLevel>>2]|0; - $19 = ((($18)) + 64|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($20)) + 36|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 & 2048; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$pLevel>>2]|0; - $27 = ((($26)) + 56|0); - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - _sqlite3DbFree($25,$29); + $29 = HEAP32[$9>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$10>>2]|0; + $32 = ((($31)) + 64|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sqlite3SchemaToIndex($30,$33)|0); + HEAP32[$18>>2] = $34; + $35 = HEAP32[$9>>2]|0; + $36 = (_sqlite3GetVdbe($35)|0); + HEAP32[$21>>2] = $36; + $37 = HEAP32[$13>>2]|0; + $38 = ($37|0)<(0); + if ($38) { + $39 = HEAP32[$9>>2]|0; + $40 = ((($39)) + 40|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$13>>2] = $41; + } + $42 = HEAP32[$13>>2]|0; + $43 = (($42) + 1)|0; + HEAP32[$13>>2] = $43; + HEAP32[$19>>2] = $42; + $44 = HEAP32[$15>>2]|0; + $45 = ($44|0)!=(0|0); + if ($45) { + $46 = HEAP32[$19>>2]|0; + $47 = HEAP32[$15>>2]|0; + HEAP32[$47>>2] = $46; + } + $48 = HEAP32[$10>>2]|0; + $49 = ((($48)) + 42|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = $51 & 32; + $53 = ($52|0)==(0); + do { + if ($53) { + $54 = HEAP32[$14>>2]|0; + $55 = ($54|0)==(0|0); + if (!($55)) { + $56 = HEAP32[$14>>2]|0; + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = ($58|0)!=(0); + if (!($59)) { + label = 11; + break; + } } + $60 = HEAP32[$9>>2]|0; + $61 = HEAP32[$19>>2]|0; + $62 = HEAP32[$18>>2]|0; + $63 = HEAP32[$10>>2]|0; + $64 = HEAP32[$11>>2]|0; + _sqlite3OpenTable($60,$61,$62,$63,$64); + } else { + label = 11; } - $30 = HEAP32[$i>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$i>>2] = $31; + } while(0); + if ((label|0) == 11) { + $65 = HEAP32[$9>>2]|0; + $66 = HEAP32[$18>>2]|0; + $67 = HEAP32[$10>>2]|0; + $68 = ((($67)) + 28|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$11>>2]|0; + $71 = ($70|0)==(105); + $72 = $71&1; + $73 = $72&255; + $74 = HEAP32[$10>>2]|0; + $75 = HEAP32[$74>>2]|0; + _sqlite3TableLock($65,$66,$69,$73,$75); } - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 80|0); - _sqlite3WhereClauseClear($33); - while(1) { - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 56|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)!=(0|0); - if (!($37)) { - break; - } - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 56|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$p>>2] = $40; - $41 = HEAP32[$p>>2]|0; - $42 = ((($41)) + 52|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 56|0); - HEAP32[$45>>2] = $43; - $46 = HEAP32[$0>>2]|0; - $47 = HEAP32[$p>>2]|0; - _whereLoopDelete($46,$47); + $76 = HEAP32[$16>>2]|0; + $77 = ($76|0)!=(0|0); + if ($77) { + $78 = HEAP32[$13>>2]|0; + $79 = HEAP32[$16>>2]|0; + HEAP32[$79>>2] = $78; } - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$1>>2]|0; - _sqlite3DbFree($48,$49); - STACKTOP = sp;return; -} -function _sqlite3WhereClauseClear($pWC) { - $pWC = $pWC|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $db = 0, $i = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $i = sp + 8|0; - $a = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pWC; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) - 1)|0; - HEAP32[$i>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$a>>2] = $11; + HEAP32[$17>>2] = 0; + $80 = HEAP32[$10>>2]|0; + $81 = ((($80)) + 8|0); + $82 = HEAP32[$81>>2]|0; + HEAP32[$20>>2] = $82; while(1) { - $12 = HEAP32[$i>>2]|0; - $13 = ($12|0)>=(0); - if (!($13)) { + $83 = HEAP32[$20>>2]|0; + $84 = ($83|0)!=(0|0); + $85 = HEAP32[$13>>2]|0; + if (!($84)) { break; } - $14 = HEAP32[$a>>2]|0; - $15 = ((($14)) + 10|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16&65535; - $18 = $17 & 1; - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$db>>2]|0; - $21 = HEAP32[$a>>2]|0; - $22 = HEAP32[$21>>2]|0; - _sqlite3ExprDelete($20,$22); + $86 = (($85) + 1)|0; + HEAP32[$13>>2] = $86; + HEAP32[$22>>2] = $85; + $87 = HEAP32[$20>>2]|0; + $88 = ((($87)) + 55|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89 & 3; + $91 = $90&255; + $92 = ($91|0)==(2); + if ($92) { + $93 = HEAP32[$10>>2]|0; + $94 = ((($93)) + 42|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = $96 & 32; + $98 = ($97|0)==(0); + if (!($98)) { + $99 = HEAP32[$15>>2]|0; + $100 = ($99|0)!=(0|0); + if ($100) { + $101 = HEAP32[$22>>2]|0; + $102 = HEAP32[$15>>2]|0; + HEAP32[$102>>2] = $101; + } + HEAP8[$12>>0] = 0; + } } - $23 = HEAP32[$a>>2]|0; - $24 = ((($23)) + 10|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = $26 & 16; - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$db>>2]|0; - $30 = HEAP32[$a>>2]|0; - $31 = ((($30)) + 28|0); - $32 = HEAP32[$31>>2]|0; - _whereOrInfoDelete($29,$32); + $103 = HEAP32[$14>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + label = 23; } else { - $33 = HEAP32[$a>>2]|0; - $34 = ((($33)) + 10|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35&65535; - $37 = $36 & 32; - $38 = ($37|0)!=(0); - if ($38) { - $39 = HEAP32[$db>>2]|0; - $40 = HEAP32[$a>>2]|0; - $41 = ((($40)) + 28|0); - $42 = HEAP32[$41>>2]|0; - _whereAndInfoDelete($39,$42); + $105 = HEAP32[$14>>2]|0; + $106 = HEAP32[$17>>2]|0; + $107 = (($106) + 1)|0; + $108 = (($105) + ($107)|0); + $109 = HEAP8[$108>>0]|0; + $110 = $109&255; + $111 = ($110|0)!=(0); + if ($111) { + label = 23; } } - $43 = HEAP32[$i>>2]|0; - $44 = (($43) + -1)|0; - HEAP32[$i>>2] = $44; - $45 = HEAP32[$a>>2]|0; - $46 = ((($45)) + 48|0); - HEAP32[$a>>2] = $46; - } - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 20|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 24|0); - $52 = ($49|0)!=($51|0); - if (!($52)) { - STACKTOP = sp;return; + if ((label|0) == 23) { + label = 0; + $112 = HEAP32[$21>>2]|0; + $113 = HEAP32[$11>>2]|0; + $114 = HEAP32[$22>>2]|0; + $115 = HEAP32[$20>>2]|0; + $116 = ((($115)) + 44|0); + $117 = HEAP32[$116>>2]|0; + $118 = HEAP32[$18>>2]|0; + (_sqlite3VdbeAddOp3($112,$113,$114,$117,$118)|0); + $119 = HEAP32[$9>>2]|0; + $120 = HEAP32[$20>>2]|0; + _sqlite3VdbeSetP4KeyInfo($119,$120); + $121 = HEAP32[$21>>2]|0; + $122 = HEAP8[$12>>0]|0; + _sqlite3VdbeChangeP5($121,$122); + } + $123 = HEAP32[$20>>2]|0; + $124 = ((($123)) + 20|0); + $125 = HEAP32[$124>>2]|0; + HEAP32[$20>>2] = $125; + $126 = HEAP32[$17>>2]|0; + $127 = (($126) + 1)|0; + HEAP32[$17>>2] = $127; } - $53 = HEAP32[$db>>2]|0; - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 20|0); - $56 = HEAP32[$55>>2]|0; - _sqlite3DbFree($53,$56); - STACKTOP = sp;return; + $128 = HEAP32[$9>>2]|0; + $129 = ((($128)) + 40|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($85|0)>($130|0); + if ($131) { + $132 = HEAP32[$13>>2]|0; + $133 = HEAP32[$9>>2]|0; + $134 = ((($133)) + 40|0); + HEAP32[$134>>2] = $132; + } + $135 = HEAP32[$17>>2]|0; + HEAP32[$8>>2] = $135; + $136 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($136|0); } -function _whereLoopDelete($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _sqlite3VdbeReusable($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - _whereLoopClear($2,$3); - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - _sqlite3DbFree($4,$5); + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 144|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4 & -33; + HEAP16[$3>>1] = $5; STACKTOP = sp;return; } -function _whereLoopClear($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3_wal_autocheckpoint($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 48|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 56|0); - $7 = ($4|0)!=($6|0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 48|0); - $11 = HEAP32[$10>>2]|0; - _sqlite3DbFree($8,$11); + $5 = ($4|0)>(0); + $6 = HEAP32[$2>>2]|0; + if ($5) { + $7 = HEAP32[$3>>2]|0; + $8 = $7; + (_sqlite3_wal_hook($6,145,$8)|0); + STACKTOP = sp;return 0; + } else { + (_sqlite3_wal_hook($6,0,0)|0); + STACKTOP = sp;return 0; } - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - _whereLoopClearUnion($12,$13); - $14 = HEAP32[$1>>2]|0; - _whereLoopInit($14); - STACKTOP = sp;return; + return (0)|0; } -function _whereLoopClearUnion($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3WalDefaultHook($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 36|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 17408; - $6 = ($5|0)!=(0); - if (!($6)) { - STACKTOP = sp;return; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = $9; + $11 = ($8|0)>=($10|0); + if (!($11)) { + STACKTOP = sp;return 0; } - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 36|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9 & 1024; - $11 = ($10|0)!=(0); - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 24|0); - $14 = ((($13)) + 4|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 24|0); - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - _sqlite3_free($21); - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 24|0); - $24 = ((($23)) + 4|0); - HEAP8[$24>>0] = 0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 24|0); - $27 = ((($26)) + 8|0); - HEAP32[$27>>2] = 0; - STACKTOP = sp;return; + _sqlite3BeginBenignMalloc(); + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$6>>2]|0; + (_sqlite3_wal_checkpoint($12,$13)|0); + _sqlite3EndBenignMalloc(); + STACKTOP = sp;return 0; +} +function _sqlite3_db_release_memory($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + _sqlite3_mutex_enter($7); + $8 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnterAll($8); + HEAP32[$2>>2] = 0; + while(1) { + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)<($12|0); + $14 = HEAP32[$1>>2]|0; + if (!($13)) { + break; + } + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = (($16) + ($17<<4)|0); + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$3>>2] = $20; + $21 = HEAP32[$3>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$3>>2]|0; + $24 = (_sqlite3BtreePager($23)|0); + HEAP32[$4>>2] = $24; + $25 = HEAP32[$4>>2]|0; + _sqlite3PagerShrink($25); } + $26 = HEAP32[$2>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$2>>2] = $27; } + _sqlite3BtreeLeaveAll($14); $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 36|0); + $29 = ((($28)) + 12|0); $30 = HEAP32[$29>>2]|0; - $31 = $30 & 16384; - $32 = ($31|0)!=(0); - if (!($32)) { - STACKTOP = sp;return; - } - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 24|0); - $35 = ((($34)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)!=(0|0); - if (!($37)) { - STACKTOP = sp;return; - } - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 24|0); - $41 = ((($40)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($42)) + 16|0); - $44 = HEAP32[$43>>2]|0; - _sqlite3DbFree($38,$44); - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 24|0); - $48 = ((($47)) + 8|0); - $49 = HEAP32[$48>>2]|0; - _sqlite3DbFree($45,$49); - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 24|0); - $52 = ((($51)) + 8|0); - HEAP32[$52>>2] = 0; - STACKTOP = sp;return; + _sqlite3_mutex_leave($30); + STACKTOP = sp;return 0; } -function _whereLoopInit($p) { - $p = $p|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; +function _sqlite3_busy_timeout($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 56|0); - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 48|0); - HEAP32[$4>>2] = $2; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 40|0); - HEAP16[$6>>1] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 44|0); - HEAP16[$8>>1] = 3; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 36|0); - HEAP32[$10>>2] = 0; - STACKTOP = sp;return; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(0); + $6 = HEAP32[$2>>2]|0; + if ($5) { + $7 = HEAP32[$2>>2]|0; + (_sqlite3_busy_handler($6,206,$7)|0); + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 428|0); + HEAP32[$10>>2] = $8; + STACKTOP = sp;return 0; + } else { + (_sqlite3_busy_handler($6,0,0)|0); + STACKTOP = sp;return 0; + } + return (0)|0; } -function _whereOrInfoDelete($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3_limit($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - _sqlite3WhereClauseClear($2); - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - _sqlite3DbFree($3,$4); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)<(0); + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)>=(12); + $or$cond = $9 | $11; + if ($or$cond) { + HEAP32[$3>>2] = -1; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); + } + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 96|0); + $14 = HEAP32[$5>>2]|0; + $15 = (($13) + ($14<<2)|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$7>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)>=(0); + if ($18) { + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = (5440 + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($19|0)>($22|0); + if ($23) { + $24 = HEAP32[$5>>2]|0; + $25 = (5440 + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$6>>2] = $26; + } + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 96|0); + $30 = HEAP32[$5>>2]|0; + $31 = (($29) + ($30<<2)|0); + HEAP32[$31>>2] = $27; + } + $32 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $32; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); } -function _whereAndInfoDelete($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqliteDefaultBusyCallback($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 428|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$6>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = (($11) + 1)|0; + $13 = ($12*1000)|0; + $14 = HEAP32[$6>>2]|0; + $15 = ($13|0)>($14|0); + if ($15) { + HEAP32[$2>>2] = 0; + $18 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($18|0); + } else { + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$16>>2]|0; + (_sqlite3OsSleep($17,1000000)|0); + HEAP32[$2>>2] = 1; + $18 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($18|0); + } + return (0)|0; +} +function _sqlite3_busy_handler($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - _sqlite3WhereClauseClear($2); - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - _sqlite3DbFree($3,$4); - STACKTOP = sp;return; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + _sqlite3_mutex_enter($8); + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 380|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 380|0); + $15 = ((($14)) + 4|0); + HEAP32[$15>>2] = $12; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 380|0); + $18 = ((($17)) + 8|0); + HEAP32[$18>>2] = 0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 428|0); + HEAP32[$20>>2] = 0; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + _sqlite3_mutex_leave($23); + STACKTOP = sp;return 0; } -function _sqlite3WhereClauseInit($pWC,$pWInfo) { - $pWC = $pWC|0; - $pWInfo = $pWInfo|0; - var $0 = 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, label = 0, sp = 0; +function _sqlite3PagerShrink($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $pWC; - HEAP32[$1>>2] = $pWInfo; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - HEAP32[$3>>2] = $2; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 4|0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 12|0); - HEAP32[$7>>2] = 0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 16|0); - HEAP32[$9>>2] = 8; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 24|0); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 20|0); - HEAP32[$13>>2] = $11; + $3 = ((($2)) + 212|0); + $4 = HEAP32[$3>>2]|0; + _sqlite3PcacheShrink($4); STACKTOP = sp;return; } -function _sqlite3WhereSplit($pWC,$pExpr,$op) { - $pWC = $pWC|0; - $pExpr = $pExpr|0; - $op = $op|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pE2 = 0, label = 0, sp = 0; +function _sqlite3PcacheShrink($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp + 12|0; - $pE2 = sp; - HEAP32[$0>>2] = $pWC; - HEAP32[$1>>2] = $pExpr; - HEAP8[$2>>0] = $op; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[(164)>>2]|0; $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3ExprSkipCollate($3)|0); - HEAP32[$pE2>>2] = $4; - $5 = HEAP8[$2>>0]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 8|0); - HEAP8[$7>>0] = $5; - $8 = HEAP32[$pE2>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - STACKTOP = sp;return; - } - $10 = HEAP32[$pE2>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = HEAP8[$2>>0]|0; - $14 = $13&255; - $15 = ($12|0)!=($14|0); - $16 = HEAP32[$0>>2]|0; - if ($15) { - $17 = HEAP32[$1>>2]|0; - (_whereClauseInsert($16,$17,0)|0); - STACKTOP = sp;return; - } else { - $18 = HEAP32[$pE2>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP8[$2>>0]|0; - _sqlite3WhereSplit($16,$20,$21); - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$pE2>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP8[$2>>0]|0; - _sqlite3WhereSplit($22,$25,$26); - STACKTOP = sp;return; - } + $4 = ((($3)) + 44|0); + $5 = HEAP32[$4>>2]|0; + FUNCTION_TABLE_vi[$2 & 255]($5); + STACKTOP = sp;return; } -function _createMask($pMaskSet,$iCursor) { - $pMaskSet = $pMaskSet|0; - $iCursor = $iCursor|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3_wal_checkpoint($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pMaskSet; - HEAP32[$1>>2] = $iCursor; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 1)|0; - HEAP32[$3>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 4|0); - $8 = (($7) + ($4<<2)|0); - HEAP32[$8>>2] = $2; - STACKTOP = sp;return; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_sqlite3_wal_checkpoint_v2($4,$5,0,0,0)|0); + STACKTOP = sp;return ($6|0); } -function _sqlite3WhereTabFuncArgs($pParse,$pItem,$pWC) { - $pParse = $pParse|0; - $pItem = $pItem|0; - $pWC = $pWC|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $j = 0, $k = 0, $pArgs = 0, $pColRef = 0, $pTab = 0, $pTerm = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; +function _sqlite3_wal_checkpoint_v2($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $pTab = sp + 28|0; - $j = sp + 24|0; - $k = sp + 20|0; - $pArgs = sp + 16|0; - $pColRef = sp + 12|0; - $pTerm = sp + 8|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pItem; - HEAP32[$2>>2] = $pWC; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 36|0); - $5 = ((($4)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6&255) >>> 2; - $8 = $7 & 1; - $9 = $8&255; - $10 = ($9|0)==(0); - if ($10) { - STACKTOP = sp;return; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$12>>2] = 10; + $13 = HEAP32[$9>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$9>>2]|0; + HEAP32[$15>>2] = -1; } - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 16|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pTab>>2] = $13; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 64|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pArgs>>2] = $16; - $17 = HEAP32[$pArgs>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - STACKTOP = sp;return; + $16 = HEAP32[$10>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$10>>2]|0; + HEAP32[$18>>2] = -1; } - HEAP32[$k>>2] = 0; - HEAP32[$j>>2] = 0; - while(1) { - $19 = HEAP32[$j>>2]|0; - $20 = HEAP32[$pArgs>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = ($19|0)<($21|0); - if (!($22)) { - label = 13; - break; - } - while(1) { - $23 = HEAP32[$k>>2]|0; - $24 = HEAP32[$pTab>>2]|0; - $25 = ((($24)) + 34|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26 << 16 >> 16; - $28 = ($23|0)<($27|0); - if ($28) { - $29 = HEAP32[$k>>2]|0; - $30 = HEAP32[$pTab>>2]|0; - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + ($29<<4)|0); - $34 = ((($33)) + 15|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = $36 & 2; - $38 = ($37|0)==(0); - $83 = $38; - } else { - $83 = 0; - } - $39 = HEAP32[$k>>2]|0; - if (!($83)) { - break; - } - $40 = (($39) + 1)|0; - HEAP32[$k>>2] = $40; - } - $41 = HEAP32[$pTab>>2]|0; - $42 = ((($41)) + 34|0); - $43 = HEAP16[$42>>1]|0; - $44 = $43 << 16 >> 16; - $45 = ($39|0)>=($44|0); - $46 = HEAP32[$0>>2]|0; - if ($45) { - label = 10; - break; - } - $50 = HEAP32[$46>>2]|0; - $51 = (_sqlite3ExprAlloc($50,152,0,0)|0); - HEAP32[$pColRef>>2] = $51; - $52 = HEAP32[$pColRef>>2]|0; - $53 = ($52|0)==(0|0); - if ($53) { - label = 13; - break; - } - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 44|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$pColRef>>2]|0; - $58 = ((($57)) + 28|0); - HEAP32[$58>>2] = $56; - $59 = HEAP32[$k>>2]|0; - $60 = (($59) + 1)|0; - HEAP32[$k>>2] = $60; - $61 = $59&65535; - $62 = HEAP32[$pColRef>>2]|0; - $63 = ((($62)) + 32|0); - HEAP16[$63>>1] = $61; - $64 = HEAP32[$pTab>>2]|0; - $65 = HEAP32[$pColRef>>2]|0; - $66 = ((($65)) + 44|0); - HEAP32[$66>>2] = $64; - $67 = HEAP32[$0>>2]|0; - $68 = HEAP32[$pColRef>>2]|0; - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$j>>2]|0; - $72 = HEAP32[$pArgs>>2]|0; - $73 = ((($72)) + 4|0); - $74 = HEAP32[$73>>2]|0; - $75 = (($74) + (($71*20)|0)|0); - $76 = HEAP32[$75>>2]|0; - $77 = (_sqlite3ExprDup($70,$76,0)|0); - $78 = (_sqlite3PExpr($67,37,$68,$77,0)|0); - HEAP32[$pTerm>>2] = $78; - $79 = HEAP32[$2>>2]|0; - $80 = HEAP32[$pTerm>>2]|0; - (_whereClauseInsert($79,$80,1)|0); - $81 = HEAP32[$j>>2]|0; - $82 = (($81) + 1)|0; - HEAP32[$j>>2] = $82; + $19 = HEAP32[$8>>2]|0; + $20 = ($19|0)<(0); + $21 = HEAP32[$8>>2]|0; + $22 = ($21|0)>(3); + $or$cond = $20 | $22; + if ($or$cond) { + HEAP32[$5>>2] = 21; + $57 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($57|0); } - if ((label|0) == 10) { - $47 = HEAP32[$pTab>>2]|0; - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$j>>2]|0; - HEAP32[$vararg_buffer>>2] = $48; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $49; - _sqlite3ErrorMsg($46,34848,$vararg_buffer); - STACKTOP = sp;return; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + _sqlite3_mutex_enter($25); + $26 = HEAP32[$7>>2]|0; + $27 = ($26|0)!=(0|0); + if ($27) { + $28 = HEAP32[$7>>2]|0; + $29 = HEAP8[$28>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($30|0)!=(0); + if ($31) { + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = (_sqlite3FindDbName($32,$33)|0); + HEAP32[$12>>2] = $34; + } } - else if ((label|0) == 13) { - STACKTOP = sp;return; + $35 = HEAP32[$12>>2]|0; + $36 = ($35|0)<(0); + if ($36) { + HEAP32[$11>>2] = 1; + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $38; + _sqlite3ErrorWithMsg($37,1,32233,$vararg_buffer); + } else { + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 380|0); + $41 = ((($40)) + 8|0); + HEAP32[$41>>2] = 0; + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$12>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = HEAP32[$9>>2]|0; + $46 = HEAP32[$10>>2]|0; + $47 = (_sqlite3Checkpoint($42,$43,$44,$45,$46)|0); + HEAP32[$11>>2] = $47; + $48 = HEAP32[$6>>2]|0; + $49 = HEAP32[$11>>2]|0; + _sqlite3Error($48,$49); } + $50 = HEAP32[$6>>2]|0; + $51 = HEAP32[$11>>2]|0; + $52 = (_sqlite3ApiExit($50,$51)|0); + HEAP32[$11>>2] = $52; + $53 = HEAP32[$6>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + _sqlite3_mutex_leave($55); + $56 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $56; + $57 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($57|0); } -function _sqlite3WhereExprAnalyze($pTabList,$pWC) { - $pTabList = $pTabList|0; - $pWC = $pWC|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; +function _sqlite3Checkpoint($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pTabList; - HEAP32[$1>>2] = $pWC; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($4) - 1)|0; - HEAP32[$i>>2] = $5; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$11>>2] = 0; while(1) { - $6 = HEAP32[$i>>2]|0; - $7 = ($6|0)>=(0); - if (!($7)) { + $13 = HEAP32[$11>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($13|0)<($16|0); + $18 = HEAP32[$10>>2]|0; + $19 = ($18|0)==(0); + $20 = $17 ? $19 : 0; + if (!($20)) { break; } - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$i>>2]|0; - _exprAnalyze($8,$9,$10); - $11 = HEAP32[$i>>2]|0; - $12 = (($11) + -1)|0; - HEAP32[$i>>2] = $12; + $21 = HEAP32[$11>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = ($21|0)==($22|0); + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)==(10); + $or$cond = $23 | $25; + if ($or$cond) { + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$11>>2]|0; + $30 = (($28) + ($29<<4)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$8>>2]|0; + $35 = HEAP32[$9>>2]|0; + $36 = (_sqlite3BtreeCheckpoint($32,$33,$34,$35)|0); + HEAP32[$10>>2] = $36; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $37 = HEAP32[$10>>2]|0; + $38 = ($37|0)==(5); + if ($38) { + HEAP32[$12>>2] = 1; + HEAP32[$10>>2] = 0; + } + } + $39 = HEAP32[$11>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$11>>2] = $40; } - STACKTOP = sp;return; + $41 = HEAP32[$10>>2]|0; + $42 = ($41|0)==(0); + $43 = HEAP32[$12>>2]|0; + $44 = ($43|0)!=(0); + $or$cond3 = $42 & $44; + $45 = HEAP32[$10>>2]|0; + $46 = $or$cond3 ? 5 : $45; + STACKTOP = sp;return ($46|0); } -function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { - $pParse = $pParse|0; - $pTabList = $pTabList|0; - $pWC = $pWC|0; - $pDistinct = $pDistinct|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $i = 0, $iBase = 0, $p = 0, $pIdx = 0, $pTab = 0, label = 0, sp = 0; +function _sqlite3BtreeCheckpoint($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, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; + STACKTOP = STACKTOP + 32|0; $4 = sp + 20|0; - $pTab = sp + 16|0; - $pIdx = sp + 12|0; - $i = sp + 8|0; - $iBase = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTabList; - HEAP32[$3>>2] = $pWC; - HEAP32[$4>>2] = $pDistinct; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(1); - if ($7) { - HEAP32[$0>>2] = 0; - $87 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($87|0); + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + $28 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($28|0); } - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 8|0); - $10 = ((($9)) + 44|0); + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$9>>2] = $14; + $15 = HEAP32[$4>>2]|0; + _sqlite3BtreeEnter($15); + $16 = HEAP32[$9>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)!=(0); + if ($20) { + HEAP32[$8>>2] = 6; + } else { + $21 = HEAP32[$9>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$7>>2]|0; + $26 = (_sqlite3PagerCheckpoint($22,$23,$24,$25)|0); + HEAP32[$8>>2] = $26; + } + $27 = HEAP32[$4>>2]|0; + _sqlite3BtreeLeave($27); + $28 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($28|0); +} +function _sqlite3PagerCheckpoint($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 216|0); $11 = HEAP32[$10>>2]|0; - HEAP32[$iBase>>2] = $11; - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 8|0); - $14 = ((($13)) + 16|0); + $12 = ($11|0)!=(0|0); + if (!($12)) { + $39 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($39|0); + } + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 216|0); $15 = HEAP32[$14>>2]|0; - HEAP32[$pTab>>2] = $15; - HEAP32[$i>>2] = 0; - while(1) { - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$4>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = ($16|0)<($18|0); - if (!($19)) { - break; - } - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$4>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + (($20*20)|0)|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3ExprSkipCollate($25)|0); - HEAP32[$p>>2] = $26; - $27 = HEAP32[$p>>2]|0; - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)==(152); - if ($30) { - $31 = HEAP32[$p>>2]|0; - $32 = ((($31)) + 28|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$iBase>>2]|0; - $35 = ($33|0)==($34|0); - if ($35) { - $36 = HEAP32[$p>>2]|0; - $37 = ((($36)) + 32|0); - $38 = HEAP16[$37>>1]|0; - $39 = $38 << 16 >> 16; - $40 = ($39|0)<(0); - if ($40) { - label = 8; - break; - } - } - } - $41 = HEAP32[$i>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$i>>2] = $42; - } - if ((label|0) == 8) { - HEAP32[$0>>2] = 1; - $87 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($87|0); - } - $43 = HEAP32[$pTab>>2]|0; - $44 = ((($43)) + 8|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$pIdx>>2] = $45; - while(1) { - $46 = HEAP32[$pIdx>>2]|0; - $47 = ($46|0)!=(0|0); - if (!($47)) { - label = 22; - break; - } - $48 = HEAP32[$pIdx>>2]|0; - $49 = ((($48)) + 54|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = ($51|0)!=(0); - if ($52) { - HEAP32[$i>>2] = 0; - while(1) { - $53 = HEAP32[$i>>2]|0; - $54 = HEAP32[$pIdx>>2]|0; - $55 = ((($54)) + 50|0); - $56 = HEAP16[$55>>1]|0; - $57 = $56&65535; - $58 = ($53|0)<($57|0); - if (!($58)) { - break; - } - $59 = HEAP32[$3>>2]|0; - $60 = HEAP32[$iBase>>2]|0; - $61 = HEAP32[$i>>2]|0; - $62 = HEAP32[$pIdx>>2]|0; - $63 = (_sqlite3WhereFindTerm($59,$60,$61,-1,-1,2,$62)|0); - $64 = (0|0)==($63|0); - if ($64) { - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$4>>2]|0; - $67 = HEAP32[$iBase>>2]|0; - $68 = HEAP32[$pIdx>>2]|0; - $69 = HEAP32[$i>>2]|0; - $70 = (_findIndexCol($65,$66,$67,$68,$69)|0); - $71 = ($70|0)<(0); - if ($71) { - break; - } - $72 = HEAP32[$pIdx>>2]|0; - $73 = HEAP32[$i>>2]|0; - $74 = (_indexColumnNotNull($72,$73)|0); - $75 = ($74|0)==(0); - if ($75) { - break; - } - } - $76 = HEAP32[$i>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[$i>>2] = $77; - } - $78 = HEAP32[$i>>2]|0; - $79 = HEAP32[$pIdx>>2]|0; - $80 = ((($79)) + 50|0); - $81 = HEAP16[$80>>1]|0; - $82 = $81&65535; - $83 = ($78|0)==($82|0); - if ($83) { - label = 20; - break; - } - } - $84 = HEAP32[$pIdx>>2]|0; - $85 = ((($84)) + 20|0); - $86 = HEAP32[$85>>2]|0; - HEAP32[$pIdx>>2] = $86; - } - if ((label|0) == 20) { - HEAP32[$0>>2] = 1; - $87 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($87|0); - } - else if ((label|0) == 22) { - HEAP32[$0>>2] = 0; - $87 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($87|0); + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = ($17|0)==(0); + if ($18) { + $37 = 0; + } else { + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 184|0); + $21 = HEAP32[$20>>2]|0; + $37 = $21; } - return (0)|0; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 188|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 10|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 160|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 208|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$7>>2]|0; + $38 = (_sqlite3WalCheckpoint($15,$16,$37,$24,$28,$31,$34,$35,$36)|0); + HEAP32[$8>>2] = $38; + $39 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($39|0); } -function _whereShortCut($pBuilder) { - $pBuilder = $pBuilder|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $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, $iCur = 0, $j = 0, $opMask = 0, $pIdx = 0, $pItem = 0, $pLoop = 0, $pTab = 0, $pTerm = 0, $pWC = 0, $pWInfo = 0; +function _sqlite3_wal_hook($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $pWInfo = sp + 36|0; - $pItem = sp + 32|0; - $pWC = sp + 28|0; - $pTerm = sp + 24|0; - $pLoop = sp + 20|0; - $iCur = sp + 16|0; - $j = sp + 12|0; - $pTab = sp + 8|0; - $pIdx = sp + 4|0; - $opMask = sp; - HEAP32[$1>>2] = $pBuilder; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pWInfo>>2] = $3; - $4 = HEAP32[$pWInfo>>2]|0; - $5 = ((($4)) + 40|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = $7 & 32; - $9 = ($8|0)!=(0); - if ($9) { - HEAP32[$0>>2] = 0; - $209 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($209|0); - } - $10 = HEAP32[$pWInfo>>2]|0; - $11 = ((($10)) + 4|0); + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + _sqlite3_mutex_enter($9); + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 228|0); $12 = HEAP32[$11>>2]|0; - $13 = ((($12)) + 8|0); - HEAP32[$pItem>>2] = $13; - $14 = HEAP32[$pItem>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pTab>>2] = $16; - $17 = HEAP32[$pTab>>2]|0; - $18 = ((($17)) + 42|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 & 16; - $22 = ($21|0)!=(0); - if ($22) { - HEAP32[$0>>2] = 0; - $209 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($209|0); - } - $23 = HEAP32[$pItem>>2]|0; - $24 = ((($23)) + 36|0); - $25 = ((($24)) + 1|0); - $26 = HEAP8[$25>>0]|0; - $27 = ($26&255) >>> 1; - $28 = $27 & 1; - $29 = $28&255; - $30 = ($29|0)!=(0); - if ($30) { - HEAP32[$0>>2] = 0; - $209 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($209|0); - } - $31 = HEAP32[$pItem>>2]|0; - $32 = ((($31)) + 44|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$iCur>>2] = $33; - $34 = HEAP32[$pWInfo>>2]|0; - $35 = ((($34)) + 80|0); - HEAP32[$pWC>>2] = $35; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 12|0); - $38 = HEAP32[$37>>2]|0; - HEAP32[$pLoop>>2] = $38; - $39 = HEAP32[$pLoop>>2]|0; - $40 = ((($39)) + 36|0); - HEAP32[$40>>2] = 0; - $41 = HEAP32[$pLoop>>2]|0; - $42 = ((($41)) + 42|0); - HEAP16[$42>>1] = 0; - $43 = HEAP32[$pWC>>2]|0; - $44 = HEAP32[$iCur>>2]|0; - $45 = (_sqlite3WhereFindTerm($43,$44,-1,0,0,130,0)|0); - HEAP32[$pTerm>>2] = $45; - $46 = HEAP32[$pTerm>>2]|0; - $47 = ($46|0)!=(0|0); - L13: do { - if ($47) { - $48 = HEAP32[$pLoop>>2]|0; - $49 = ((($48)) + 36|0); - HEAP32[$49>>2] = 4353; - $50 = HEAP32[$pTerm>>2]|0; - $51 = HEAP32[$pLoop>>2]|0; - $52 = ((($51)) + 48|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$53>>2] = $50; - $54 = HEAP32[$pLoop>>2]|0; - $55 = ((($54)) + 40|0); - HEAP16[$55>>1] = 1; - $56 = HEAP32[$pLoop>>2]|0; - $57 = ((($56)) + 24|0); - HEAP16[$57>>1] = 1; - $58 = HEAP32[$pLoop>>2]|0; - $59 = ((($58)) + 20|0); - HEAP16[$59>>1] = 33; - } else { - $60 = HEAP32[$pTab>>2]|0; - $61 = ((($60)) + 8|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$pIdx>>2] = $62; - while(1) { - $63 = HEAP32[$pIdx>>2]|0; - $64 = ($63|0)!=(0|0); - if (!($64)) { - break L13; + HEAP32[$6>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 224|0); + HEAP32[$15>>2] = $13; + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 228|0); + HEAP32[$18>>2] = $16; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + _sqlite3_mutex_leave($21); + $22 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($22|0); +} +function _sqlite3CreateFunc($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 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, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond3$not = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond7$not = 0; + var $or$cond9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 24|0; + $18 = sp + 20|0; + $19 = sp + 16|0; + $20 = sp + 12|0; + $21 = sp + 8|0; + $22 = sp + 4|0; + HEAP32[$10>>2] = $0; + HEAP32[$11>>2] = $1; + HEAP32[$12>>2] = $2; + HEAP32[$13>>2] = $3; + HEAP32[$14>>2] = $4; + HEAP32[$15>>2] = $5; + HEAP32[$16>>2] = $6; + HEAP32[$17>>2] = $7; + HEAP32[$18>>2] = $8; + $23 = HEAP32[$11>>2]|0; + $24 = ($23|0)==(0|0); + do { + if (!($24)) { + $25 = HEAP32[$15>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$17>>2]|0; + $28 = ($27|0)!=(0|0); + $29 = HEAP32[$16>>2]|0; + $30 = ($29|0)!=(0|0); + $or$cond = $28 | $30; + if ($or$cond) { + break; } - $65 = HEAP32[$pIdx>>2]|0; - $66 = ((($65)) + 54|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - $69 = ($68|0)!=(0); - if ($69) { - $70 = HEAP32[$pIdx>>2]|0; - $71 = ((($70)) + 36|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($72|0)!=(0|0); - if (!($73)) { - $74 = HEAP32[$pIdx>>2]|0; - $75 = ((($74)) + 50|0); - $76 = HEAP16[$75>>1]|0; - $77 = $76&65535; - $78 = ($77|0)>(3); - if (!($78)) { - $79 = HEAP32[$pIdx>>2]|0; - $80 = ((($79)) + 55|0); - $81 = HEAP8[$80>>0]|0; - $82 = ($81&255) >>> 3; - $83 = $82 & 1; - $84 = $83&255; - $85 = ($84|0)!=(0); - $86 = $85 ? 130 : 2; - HEAP32[$opMask>>2] = $86; - HEAP32[$j>>2] = 0; - while(1) { - $87 = HEAP32[$j>>2]|0; - $88 = HEAP32[$pIdx>>2]|0; - $89 = ((($88)) + 50|0); - $90 = HEAP16[$89>>1]|0; - $91 = $90&65535; - $92 = ($87|0)<($91|0); - if (!($92)) { - break; - } - $93 = HEAP32[$pWC>>2]|0; - $94 = HEAP32[$iCur>>2]|0; - $95 = HEAP32[$j>>2]|0; - $96 = HEAP32[$opMask>>2]|0; - $97 = HEAP32[$pIdx>>2]|0; - $98 = (_sqlite3WhereFindTerm($93,$94,$95,0,0,$96,$97)|0); - HEAP32[$pTerm>>2] = $98; - $99 = HEAP32[$pTerm>>2]|0; - $100 = ($99|0)==(0|0); - if ($100) { - break; + } + $31 = HEAP32[$15>>2]|0; + $32 = ($31|0)==(0|0); + $33 = HEAP32[$17>>2]|0; + $34 = ($33|0)!=(0|0); + $or$cond3 = $32 & $34; + $or$cond3$not = $or$cond3 ^ 1; + $35 = HEAP32[$16>>2]|0; + $36 = ($35|0)!=(0|0); + $or$cond5 = $or$cond3$not | $36; + if ($or$cond5) { + $37 = HEAP32[$15>>2]|0; + $38 = ($37|0)!=(0|0); + $39 = HEAP32[$17>>2]|0; + $40 = ($39|0)!=(0|0); + $or$cond7 = $38 | $40; + $or$cond7$not = $or$cond7 ^ 1; + $41 = HEAP32[$16>>2]|0; + $42 = ($41|0)!=(0|0); + $or$cond9 = $or$cond7$not & $42; + $43 = HEAP32[$12>>2]|0; + $44 = ($43|0)<(-1); + $or$cond11 = $or$cond9 | $44; + $45 = HEAP32[$12>>2]|0; + $46 = ($45|0)>(127); + $or$cond13 = $or$cond11 | $46; + if (!($or$cond13)) { + $47 = HEAP32[$11>>2]|0; + $48 = (_sqlite3Strlen30($47)|0); + HEAP32[$20>>2] = $48; + $49 = (255)<($48|0); + if (!($49)) { + $51 = HEAP32[$13>>2]|0; + $52 = $51 & 2048; + HEAP32[$21>>2] = $52; + $53 = HEAP32[$13>>2]|0; + $54 = $53 & 7; + HEAP32[$13>>2] = $54; + $55 = HEAP32[$13>>2]|0; + $56 = ($55|0)==(4); + do { + if ($56) { + $57 = HEAP8[936]|0; + $58 = $57 << 24 >> 24; + $59 = ($58|0)==(0); + $60 = $59 ? 3 : 2; + HEAP32[$13>>2] = $60; + } else { + $61 = HEAP32[$13>>2]|0; + $62 = ($61|0)==(5); + if ($62) { + $63 = HEAP32[$10>>2]|0; + $64 = HEAP32[$11>>2]|0; + $65 = HEAP32[$12>>2]|0; + $66 = HEAP32[$21>>2]|0; + $67 = 1 | $66; + $68 = HEAP32[$14>>2]|0; + $69 = HEAP32[$15>>2]|0; + $70 = HEAP32[$16>>2]|0; + $71 = HEAP32[$17>>2]|0; + $72 = HEAP32[$18>>2]|0; + $73 = (_sqlite3CreateFunc($63,$64,$65,$67,$68,$69,$70,$71,$72)|0); + HEAP32[$22>>2] = $73; + $74 = HEAP32[$22>>2]|0; + $75 = ($74|0)==(0); + if ($75) { + $76 = HEAP32[$10>>2]|0; + $77 = HEAP32[$11>>2]|0; + $78 = HEAP32[$12>>2]|0; + $79 = HEAP32[$21>>2]|0; + $80 = 2 | $79; + $81 = HEAP32[$14>>2]|0; + $82 = HEAP32[$15>>2]|0; + $83 = HEAP32[$16>>2]|0; + $84 = HEAP32[$17>>2]|0; + $85 = HEAP32[$18>>2]|0; + $86 = (_sqlite3CreateFunc($76,$77,$78,$80,$81,$82,$83,$84,$85)|0); + HEAP32[$22>>2] = $86; + } + $87 = HEAP32[$22>>2]|0; + $88 = ($87|0)!=(0); + if (!($88)) { + HEAP32[$13>>2] = 3; + break; + } + $89 = HEAP32[$22>>2]|0; + HEAP32[$9>>2] = $89; + $160 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($160|0); } - $101 = HEAP32[$pTerm>>2]|0; - $102 = HEAP32[$j>>2]|0; - $103 = HEAP32[$pLoop>>2]|0; - $104 = ((($103)) + 48|0); - $105 = HEAP32[$104>>2]|0; - $106 = (($105) + ($102<<2)|0); - HEAP32[$106>>2] = $101; - $107 = HEAP32[$j>>2]|0; - $108 = (($107) + 1)|0; - HEAP32[$j>>2] = $108; } - $109 = HEAP32[$j>>2]|0; - $110 = HEAP32[$pIdx>>2]|0; - $111 = ((($110)) + 50|0); - $112 = HEAP16[$111>>1]|0; - $113 = $112&65535; - $114 = ($109|0)!=($113|0); - if (!($114)) { - break; + } while(0); + $90 = HEAP32[$10>>2]|0; + $91 = HEAP32[$11>>2]|0; + $92 = HEAP32[$12>>2]|0; + $93 = HEAP32[$13>>2]|0; + $94 = $93&255; + $95 = (_sqlite3FindFunction($90,$91,$92,$94,0)|0); + HEAP32[$19>>2] = $95; + $96 = HEAP32[$19>>2]|0; + $97 = ($96|0)!=(0|0); + do { + if ($97) { + $98 = HEAP32[$19>>2]|0; + $99 = ((($98)) + 2|0); + $100 = HEAP16[$99>>1]|0; + $101 = $100&65535; + $102 = $101 & 3; + $103 = HEAP32[$13>>2]|0; + $104 = ($102|0)==($103|0); + if ($104) { + $105 = HEAP32[$19>>2]|0; + $106 = HEAP8[$105>>0]|0; + $107 = $106 << 24 >> 24; + $108 = HEAP32[$12>>2]|0; + $109 = ($107|0)==($108|0); + if ($109) { + $110 = HEAP32[$10>>2]|0; + $111 = ((($110)) + 156|0); + $112 = HEAP32[$111>>2]|0; + $113 = ($112|0)!=(0); + $114 = HEAP32[$10>>2]|0; + if (!($113)) { + _sqlite3ExpirePreparedStatements($114); + break; + } + _sqlite3ErrorWithMsg($114,5,32338,$vararg_buffer); + HEAP32[$9>>2] = 5; + $160 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($160|0); + } + } } + } while(0); + $115 = HEAP32[$10>>2]|0; + $116 = HEAP32[$11>>2]|0; + $117 = HEAP32[$12>>2]|0; + $118 = HEAP32[$13>>2]|0; + $119 = $118&255; + $120 = (_sqlite3FindFunction($115,$116,$117,$119,1)|0); + HEAP32[$19>>2] = $120; + $121 = HEAP32[$19>>2]|0; + $122 = ($121|0)!=(0|0); + if (!($122)) { + HEAP32[$9>>2] = 7; + $160 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($160|0); + } + $123 = HEAP32[$10>>2]|0; + $124 = HEAP32[$19>>2]|0; + _functionDestroy($123,$124); + $125 = HEAP32[$18>>2]|0; + $126 = ($125|0)!=(0|0); + if ($126) { + $127 = HEAP32[$18>>2]|0; + $128 = HEAP32[$127>>2]|0; + $129 = (($128) + 1)|0; + HEAP32[$127>>2] = $129; } + $130 = HEAP32[$18>>2]|0; + $131 = HEAP32[$19>>2]|0; + $132 = ((($131)) + 24|0); + HEAP32[$132>>2] = $130; + $133 = HEAP32[$19>>2]|0; + $134 = ((($133)) + 2|0); + $135 = HEAP16[$134>>1]|0; + $136 = $135&65535; + $137 = $136 & 3; + $138 = HEAP32[$21>>2]|0; + $139 = $137 | $138; + $140 = $139&65535; + $141 = HEAP32[$19>>2]|0; + $142 = ((($141)) + 2|0); + HEAP16[$142>>1] = $140; + $143 = HEAP32[$15>>2]|0; + $144 = ($143|0)!=(0|0); + $145 = HEAP32[$15>>2]|0; + $146 = HEAP32[$16>>2]|0; + $147 = $144 ? $145 : $146; + $148 = HEAP32[$19>>2]|0; + $149 = ((($148)) + 12|0); + HEAP32[$149>>2] = $147; + $150 = HEAP32[$17>>2]|0; + $151 = HEAP32[$19>>2]|0; + $152 = ((($151)) + 16|0); + HEAP32[$152>>2] = $150; + $153 = HEAP32[$14>>2]|0; + $154 = HEAP32[$19>>2]|0; + $155 = ((($154)) + 4|0); + HEAP32[$155>>2] = $153; + $156 = HEAP32[$12>>2]|0; + $157 = $156&65535; + $158 = $157&255; + $159 = HEAP32[$19>>2]|0; + HEAP8[$159>>0] = $158; + HEAP32[$9>>2] = 0; + $160 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($160|0); } } - $160 = HEAP32[$pIdx>>2]|0; - $161 = ((($160)) + 20|0); - $162 = HEAP32[$161>>2]|0; - HEAP32[$pIdx>>2] = $162; - } - $115 = HEAP32[$pLoop>>2]|0; - $116 = ((($115)) + 36|0); - HEAP32[$116>>2] = 4609; - $117 = HEAP32[$pIdx>>2]|0; - $118 = ((($117)) + 55|0); - $119 = HEAP8[$118>>0]|0; - $120 = ($119&255) >>> 5; - $121 = $120 & 1; - $122 = $121&255; - $123 = ($122|0)!=(0); - if ($123) { - label = 21; - } else { - $124 = HEAP32[$pItem>>2]|0; - $125 = ((($124)) + 56|0); - $126 = $125; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = (($126) + 4)|0; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = HEAP32[$pIdx>>2]|0; - $133 = (_columnsInIndex($132)|0); - $134 = tempRet0; - $135 = $133 ^ -1; - $136 = $134 ^ -1; - $137 = $128 & $135; - $138 = $131 & $136; - $139 = ($137|0)==(0); - $140 = ($138|0)==(0); - $141 = $139 & $140; - if ($141) { - label = 21; - } } - if ((label|0) == 21) { - $142 = HEAP32[$pLoop>>2]|0; - $143 = ((($142)) + 36|0); - $144 = HEAP32[$143>>2]|0; - $145 = $144 | 64; - HEAP32[$143>>2] = $145; - } - $146 = HEAP32[$j>>2]|0; - $147 = $146&65535; - $148 = HEAP32[$pLoop>>2]|0; - $149 = ((($148)) + 40|0); - HEAP16[$149>>1] = $147; - $150 = HEAP32[$j>>2]|0; - $151 = $150&65535; - $152 = HEAP32[$pLoop>>2]|0; - $153 = ((($152)) + 24|0); - HEAP16[$153>>1] = $151; - $154 = HEAP32[$pIdx>>2]|0; - $155 = HEAP32[$pLoop>>2]|0; - $156 = ((($155)) + 24|0); - $157 = ((($156)) + 8|0); - HEAP32[$157>>2] = $154; - $158 = HEAP32[$pLoop>>2]|0; - $159 = ((($158)) + 20|0); - HEAP16[$159>>1] = 39; } } while(0); - $163 = HEAP32[$pLoop>>2]|0; - $164 = ((($163)) + 36|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)!=(0); - if (!($166)) { - HEAP32[$0>>2] = 0; - $209 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($209|0); + $50 = (_sqlite3MisuseError(139436)|0); + HEAP32[$9>>2] = $50; + $160 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($160|0); +} +function _setLikeOptFlag($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; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp + 12|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP8[$5>>0] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (_sqlite3FindFunction($7,$8,2,1,0)|0); + HEAP32[$6>>2] = $9; + $10 = HEAP32[$6>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + STACKTOP = sp;return; } - $167 = HEAP32[$pLoop>>2]|0; - $168 = ((($167)) + 22|0); - HEAP16[$168>>1] = 1; - $169 = HEAP32[$pLoop>>2]|0; - $170 = HEAP32[$pWInfo>>2]|0; - $171 = ((($170)) + 752|0); - $172 = ((($171)) + 64|0); - HEAP32[$172>>2] = $169; - $173 = HEAP32[$pWInfo>>2]|0; - $174 = ((($173)) + 488|0); - $175 = HEAP32[$iCur>>2]|0; - $176 = (_sqlite3WhereGetMask($174,$175)|0); - $177 = tempRet0; - $178 = HEAP32[$pLoop>>2]|0; - $179 = ((($178)) + 8|0); - $180 = $179; - $181 = $180; - HEAP32[$181>>2] = $176; - $182 = (($180) + 4)|0; - $183 = $182; - HEAP32[$183>>2] = $177; - $184 = HEAP32[$iCur>>2]|0; - $185 = HEAP32[$pWInfo>>2]|0; - $186 = ((($185)) + 752|0); - $187 = ((($186)) + 4|0); - HEAP32[$187>>2] = $184; - $188 = HEAP32[$pWInfo>>2]|0; - $189 = ((($188)) + 72|0); - HEAP16[$189>>1] = 1; - $190 = HEAP32[$pWInfo>>2]|0; - $191 = ((($190)) + 8|0); - $192 = HEAP32[$191>>2]|0; - $193 = ($192|0)!=(0|0); - if ($193) { - $194 = HEAP32[$pWInfo>>2]|0; - $195 = ((($194)) + 8|0); - $196 = HEAP32[$195>>2]|0; - $197 = HEAP32[$196>>2]|0; - $198 = $197&255; - $199 = HEAP32[$pWInfo>>2]|0; - $200 = ((($199)) + 43|0); - HEAP8[$200>>0] = $198; - } - $201 = HEAP32[$pWInfo>>2]|0; - $202 = ((($201)) + 40|0); - $203 = HEAP16[$202>>1]|0; - $204 = $203&65535; - $205 = $204 & 256; - $206 = ($205|0)!=(0); - if ($206) { - $207 = HEAP32[$pWInfo>>2]|0; - $208 = ((($207)) + 47|0); - HEAP8[$208>>0] = 1; - } - HEAP32[$0>>2] = 1; - $209 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($209|0); + $12 = HEAP8[$5>>0]|0; + $13 = $12&255; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 2|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = $17 | $13; + $19 = $18&65535; + HEAP16[$15>>1] = $19; + STACKTOP = sp;return; } -function _whereLoopAddAll($pBuilder) { - $pBuilder = $pBuilder|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $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, $db = 0, $iTab = 0, $mPrereq = 0; - var $mPrior = 0, $mUnusable = 0, $p = 0, $pEnd = 0, $pItem = 0, $pNew = 0, $pTabList = 0, $pWInfo = 0, $priorJointype = 0, $rc = 0, label = 0, sp = 0; +function _getTempStore($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 60|0; - $pWInfo = sp + 56|0; - $mPrereq = sp + 16|0; - $mPrior = sp + 8|0; - $iTab = sp + 52|0; - $pTabList = sp + 48|0; - $pItem = sp + 44|0; - $pEnd = sp + 40|0; - $db = sp + 36|0; - $rc = sp + 32|0; - $pNew = sp + 28|0; - $priorJointype = sp + 64|0; - $mUnusable = sp; - $p = sp + 24|0; - HEAP32[$0>>2] = $pBuilder; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$pWInfo>>2] = $2; - $3 = $mPrereq; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = $mPrior; - $8 = $7; - HEAP32[$8>>2] = 0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 0; - $11 = HEAP32[$pWInfo>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pTabList>>2] = $13; - $14 = HEAP32[$pWInfo>>2]|0; - $15 = ((($14)) + 42|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = HEAP32[$pTabList>>2]|0; - $19 = ((($18)) + 8|0); - $20 = (($19) + (($17*72)|0)|0); - HEAP32[$pEnd>>2] = $20; - $21 = HEAP32[$pWInfo>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$22>>2]|0; - HEAP32[$db>>2] = $23; - HEAP32[$rc>>2] = 0; - HEAP8[$priorJointype>>0] = 0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 12|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$pNew>>2] = $26; - $27 = HEAP32[$pNew>>2]|0; - _whereLoopInit($27); - HEAP32[$iTab>>2] = 0; - $28 = HEAP32[$pTabList>>2]|0; - $29 = ((($28)) + 8|0); - HEAP32[$pItem>>2] = $29; - while(1) { - $30 = HEAP32[$pItem>>2]|0; - $31 = HEAP32[$pEnd>>2]|0; - $32 = ($30>>>0)<($31>>>0); - if (!($32)) { - label = 19; - break; - } - $33 = $mUnusable; - $34 = $33; - HEAP32[$34>>2] = 0; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = 0; - $37 = HEAP32[$iTab>>2]|0; - $38 = $37&255; - $39 = HEAP32[$pNew>>2]|0; - $40 = ((($39)) + 16|0); - HEAP8[$40>>0] = $38; - $41 = HEAP32[$pWInfo>>2]|0; - $42 = ((($41)) + 488|0); - $43 = HEAP32[$pItem>>2]|0; - $44 = ((($43)) + 44|0); - $45 = HEAP32[$44>>2]|0; - $46 = (_sqlite3WhereGetMask($42,$45)|0); - $47 = tempRet0; - $48 = HEAP32[$pNew>>2]|0; - $49 = ((($48)) + 8|0); - $50 = $49; - $51 = $50; - HEAP32[$51>>2] = $46; - $52 = (($50) + 4)|0; - $53 = $52; - HEAP32[$53>>2] = $47; - $54 = HEAP32[$pItem>>2]|0; - $55 = ((($54)) + 36|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = HEAP8[$priorJointype>>0]|0; - $59 = $58&255; - $60 = $57 | $59; - $61 = $60 & 10; - $62 = ($61|0)!=(0); - if ($62) { - $63 = $mPrior; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (($63) + 4)|0; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = $mPrereq; - $70 = $69; - HEAP32[$70>>2] = $65; - $71 = (($69) + 4)|0; - $72 = $71; - HEAP32[$72>>2] = $68; - } - $73 = HEAP32[$pItem>>2]|0; - $74 = ((($73)) + 36|0); - $75 = HEAP8[$74>>0]|0; - HEAP8[$priorJointype>>0] = $75; - $76 = HEAP32[$pItem>>2]|0; - $77 = ((($76)) + 16|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($78)) + 42|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = $81 & 16; - $83 = ($82|0)!=(0); - if ($83) { - $84 = HEAP32[$pItem>>2]|0; - $85 = ((($84)) + 72|0); - HEAP32[$p>>2] = $85; - while(1) { - $86 = HEAP32[$p>>2]|0; - $87 = HEAP32[$pEnd>>2]|0; - $88 = ($86>>>0)<($87>>>0); - if (!($88)) { - break; - } - $89 = $mUnusable; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = ($91|0)!=(0); - $96 = ($94|0)!=(0); - $97 = $95 | $96; - if ($97) { - label = 10; - } else { - $98 = HEAP32[$p>>2]|0; - $99 = ((($98)) + 36|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100&255; - $102 = $101 & 10; - $103 = ($102|0)!=(0); - if ($103) { - label = 10; - } - } - if ((label|0) == 10) { - label = 0; - $104 = HEAP32[$pWInfo>>2]|0; - $105 = ((($104)) + 488|0); - $106 = HEAP32[$p>>2]|0; - $107 = ((($106)) + 44|0); - $108 = HEAP32[$107>>2]|0; - $109 = (_sqlite3WhereGetMask($105,$108)|0); - $110 = tempRet0; - $111 = $mUnusable; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = (($111) + 4)|0; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = $113 | $109; - $118 = $116 | $110; - $119 = $mUnusable; - $120 = $119; - HEAP32[$120>>2] = $117; - $121 = (($119) + 4)|0; - $122 = $121; - HEAP32[$122>>2] = $118; - } - $123 = HEAP32[$p>>2]|0; - $124 = ((($123)) + 72|0); - HEAP32[$p>>2] = $124; - } - $125 = HEAP32[$0>>2]|0; - $126 = $mPrereq; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = (($126) + 4)|0; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = $mUnusable; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (($132) + 4)|0; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = (_whereLoopAddVirtual($125,$128,$131,$134,$137)|0); - HEAP32[$rc>>2] = $138; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP8[$3>>0]|0; + $5 = $4 << 24 >> 24; + $6 = ($5|0)>=(48); + if ($6) { + $7 = HEAP32[$2>>2]|0; + $8 = HEAP8[$7>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)<=(50); + if ($10) { + $11 = HEAP32[$2>>2]|0; + $12 = HEAP8[$11>>0]|0; + $13 = $12 << 24 >> 24; + $14 = (($13) - 48)|0; + HEAP32[$1>>2] = $14; } else { - $139 = HEAP32[$0>>2]|0; - $140 = $mPrereq; - $141 = $140; - $142 = HEAP32[$141>>2]|0; - $143 = (($140) + 4)|0; - $144 = $143; - $145 = HEAP32[$144>>2]|0; - $146 = (_whereLoopAddBtree($139,$142,$145)|0); - HEAP32[$rc>>2] = $146; - } - $147 = HEAP32[$rc>>2]|0; - $148 = ($147|0)==(0); - if ($148) { - $149 = HEAP32[$0>>2]|0; - $150 = $mPrereq; - $151 = $150; - $152 = HEAP32[$151>>2]|0; - $153 = (($150) + 4)|0; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = $mUnusable; - $157 = $156; - $158 = HEAP32[$157>>2]|0; - $159 = (($156) + 4)|0; - $160 = $159; - $161 = HEAP32[$160>>2]|0; - $162 = (_whereLoopAddOr($149,$152,$155,$158,$161)|0); - HEAP32[$rc>>2] = $162; - } - $163 = HEAP32[$pNew>>2]|0; - $164 = ((($163)) + 8|0); - $165 = $164; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $171 = $mPrior; - $172 = $171; - $173 = HEAP32[$172>>2]|0; - $174 = (($171) + 4)|0; - $175 = $174; - $176 = HEAP32[$175>>2]|0; - $177 = $173 | $167; - $178 = $176 | $170; - $179 = $mPrior; - $180 = $179; - HEAP32[$180>>2] = $177; - $181 = (($179) + 4)|0; - $182 = $181; - HEAP32[$182>>2] = $178; - $183 = HEAP32[$rc>>2]|0; - $184 = ($183|0)!=(0); - if ($184) { - label = 19; - break; - } - $185 = HEAP32[$db>>2]|0; - $186 = ((($185)) + 69|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187&255; - $189 = ($188|0)!=(0); - if ($189) { - label = 19; - break; + label = 4; } - $190 = HEAP32[$iTab>>2]|0; - $191 = (($190) + 1)|0; - HEAP32[$iTab>>2] = $191; - $192 = HEAP32[$pItem>>2]|0; - $193 = ((($192)) + 72|0); - HEAP32[$pItem>>2] = $193; - } - if ((label|0) == 19) { - $194 = HEAP32[$db>>2]|0; - $195 = HEAP32[$pNew>>2]|0; - _whereLoopClear($194,$195); - $196 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($196|0); + } else { + label = 4; } - return (0)|0; + do { + if ((label|0) == 4) { + $15 = HEAP32[$2>>2]|0; + $16 = (_sqlite3StrICmp($15,32553)|0); + $17 = ($16|0)==(0); + if ($17) { + HEAP32[$1>>2] = 1; + break; + } + $18 = HEAP32[$2>>2]|0; + $19 = (_sqlite3StrICmp($18,31045)|0); + $20 = ($19|0)==(0); + if ($20) { + HEAP32[$1>>2] = 2; + break; + } else { + HEAP32[$1>>2] = 0; + break; + } + } + } while(0); + $21 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($21|0); } -function _wherePathSolver($pWInfo,$nRowEst) { - $pWInfo = $pWInfo|0; - $nRowEst = $nRowEst|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; - var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0; - var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0; - var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0; - var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; - var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; - var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; - var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; - var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; - var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; - var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0; - var $747 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aFrom = 0, $aSortCost = 0, $aTo = 0, $db = 0, $iLoop = 0, $ii = 0, $isOrdered = 0, $jj = 0, $m = 0, $maskNew = 0, $mxChoice = 0, $mxCost = 0; - var $mxI = 0, $mxUnsorted = 0, $nFrom = 0, $nLoop = 0, $nOrder = 0, $nOrderBy = 0, $nOut = 0, $nSpace = 0, $nTo = 0, $notUsed = 0, $or$cond = 0, $pFrom = 0, $pLevel = 0, $pParse = 0, $pSpace = 0, $pTo = 0, $pWLoop = 0, $pX = 0, $rCost = 0, $rUnsorted = 0; - var $rc = 0, $rc1 = 0, $revMask = 0, $revMask2 = 0, $vararg_buffer = 0, $wsFlags = 0, label = 0, sp = 0; +function _sqlite3PagerSetSpillsize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $vararg_buffer = sp + 40|0; - $0 = sp + 148|0; - $1 = sp + 144|0; - $2 = sp + 162|0; - $mxChoice = sp + 140|0; - $nLoop = sp + 136|0; - $pParse = sp + 132|0; - $db = sp + 128|0; - $iLoop = sp + 124|0; - $ii = sp + 120|0; - $jj = sp + 116|0; - $mxI = sp + 112|0; - $nOrderBy = sp + 108|0; - $mxCost = sp + 160|0; - $mxUnsorted = sp + 158|0; - $nTo = sp + 104|0; - $nFrom = sp + 100|0; - $aFrom = sp + 96|0; - $aTo = sp + 92|0; - $pFrom = sp + 88|0; - $pTo = sp + 84|0; - $pWLoop = sp + 80|0; - $pX = sp + 76|0; - $aSortCost = sp + 72|0; - $pSpace = sp + 68|0; - $nSpace = sp + 64|0; - $nOut = sp + 156|0; - $rCost = sp + 154|0; - $rUnsorted = sp + 152|0; - $isOrdered = sp + 164|0; - $maskNew = sp + 32|0; - $revMask = sp + 24|0; - $pLevel = sp + 60|0; - $notUsed = sp + 16|0; - $rc = sp + 56|0; - $wsFlags = sp + 52|0; - $m = sp + 8|0; - $rc1 = sp + 48|0; - $revMask2 = sp; - $nOrder = sp + 44|0; - HEAP32[$1>>2] = $pWInfo; - HEAP16[$2>>1] = $nRowEst; - HEAP32[$mxI>>2] = 0; - HEAP16[$mxCost>>1] = 0; - HEAP16[$mxUnsorted>>1] = 0; - HEAP32[$aSortCost>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pParse>>2] = $4; - $5 = HEAP32[$pParse>>2]|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 212|0); $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 42|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - HEAP32[$nLoop>>2] = $10; - $11 = HEAP32[$nLoop>>2]|0; - $12 = ($11|0)<=(1); - if ($12) { - $16 = 1; - } else { - $13 = HEAP32[$nLoop>>2]|0; - $14 = ($13|0)==(2); - $15 = $14 ? 5 : 10; - $16 = $15; - } - HEAP32[$mxChoice>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)==(0|0); - if ($20) { - label = 5; - } else { - $21 = HEAP16[$2>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($22|0)==(0); - if ($23) { - label = 5; - } else { - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$26>>2]|0; - HEAP32[$nOrderBy>>2] = $27; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3PcacheSetSpillsize($6,$7)|0); + STACKTOP = sp;return ($8|0); +} +function _sqlite3PcacheSetSpillsize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)!=(0); + if ($6) { + $7 = HEAP32[$3>>2]|0; + $8 = ($7|0)<(0); + if ($8) { + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)<(0); + $11 = $10 << 31 >> 31; + $12 = (___muldi3(-1024,-1,($9|0),($11|0))|0); + $13 = tempRet0; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($16) + ($19))|0; + $21 = ($20|0)<(0); + $22 = $21 << 31 >> 31; + $23 = (___divdi3(($12|0),($13|0),($20|0),($22|0))|0); + $24 = tempRet0; + HEAP32[$3>>2] = $23; } + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 20|0); + HEAP32[$27>>2] = $25; } - if ((label|0) == 5) { - HEAP32[$nOrderBy>>2] = 0; + $28 = HEAP32[$2>>2]|0; + $29 = (_numberOfCachePages($28)|0); + HEAP32[$4>>2] = $29; + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 20|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($30|0)<($33|0); + if (!($34)) { + $38 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($38|0); } - $28 = HEAP32[$nLoop>>2]|0; - $29 = $28<<2; - $30 = (32 + ($29))|0; - $31 = HEAP32[$mxChoice>>2]|0; - $32 = Math_imul($30, $31)|0; - $33 = $32<<1; - HEAP32[$nSpace>>2] = $33; - $34 = HEAP32[$nOrderBy>>2]|0; - $35 = $34<<1; - $36 = HEAP32[$nSpace>>2]|0; - $37 = (($36) + ($35))|0; - HEAP32[$nSpace>>2] = $37; - $38 = HEAP32[$db>>2]|0; - $39 = HEAP32[$nSpace>>2]|0; - $40 = ($39|0)<(0); - $41 = $40 << 31 >> 31; - $42 = (_sqlite3DbMallocRawNN($38,$39,$41)|0); - HEAP32[$pSpace>>2] = $42; - $43 = HEAP32[$pSpace>>2]|0; - $44 = ($43|0)==(0|0); - if ($44) { - HEAP32[$0>>2] = 7; - $747 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($747|0); - } - $45 = HEAP32[$pSpace>>2]|0; - HEAP32[$aTo>>2] = $45; - $46 = HEAP32[$aTo>>2]|0; - $47 = HEAP32[$mxChoice>>2]|0; - $48 = (($46) + ($47<<5)|0); - HEAP32[$aFrom>>2] = $48; - $49 = HEAP32[$aFrom>>2]|0; - ;HEAP32[$49>>2]=0|0;HEAP32[$49+4>>2]=0|0;HEAP32[$49+8>>2]=0|0;HEAP32[$49+12>>2]=0|0;HEAP32[$49+16>>2]=0|0;HEAP32[$49+20>>2]=0|0;HEAP32[$49+24>>2]=0|0;HEAP32[$49+28>>2]=0|0; - $50 = HEAP32[$aFrom>>2]|0; - $51 = HEAP32[$mxChoice>>2]|0; - $52 = (($50) + ($51<<5)|0); - HEAP32[$pX>>2] = $52; - $53 = HEAP32[$mxChoice>>2]|0; - $54 = $53<<1; - HEAP32[$ii>>2] = $54; - $55 = HEAP32[$aTo>>2]|0; - HEAP32[$pFrom>>2] = $55; - while(1) { - $56 = HEAP32[$ii>>2]|0; - $57 = ($56|0)>(0); - if (!($57)) { - break; - } - $58 = HEAP32[$pX>>2]|0; - $59 = HEAP32[$pFrom>>2]|0; - $60 = ((($59)) + 24|0); - HEAP32[$60>>2] = $58; - $61 = HEAP32[$ii>>2]|0; - $62 = (($61) + -1)|0; - HEAP32[$ii>>2] = $62; - $63 = HEAP32[$pFrom>>2]|0; - $64 = ((($63)) + 32|0); - HEAP32[$pFrom>>2] = $64; - $65 = HEAP32[$nLoop>>2]|0; - $66 = HEAP32[$pX>>2]|0; - $67 = (($66) + ($65<<2)|0); - HEAP32[$pX>>2] = $67; - } - $68 = HEAP32[$nOrderBy>>2]|0; - $69 = ($68|0)!=(0); - if ($69) { - $70 = HEAP32[$pX>>2]|0; - HEAP32[$aSortCost>>2] = $70; - $71 = HEAP32[$aSortCost>>2]|0; - $72 = HEAP32[$nOrderBy>>2]|0; - $73 = $72<<1; - _memset(($71|0),0,($73|0))|0; - } - $74 = HEAP32[$pParse>>2]|0; - $75 = ((($74)) + 136|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76>>>0)<(48); - if ($77) { - $78 = HEAP32[$pParse>>2]|0; - $79 = ((($78)) + 136|0); - $80 = HEAP32[$79>>2]|0; - $82 = $80; - } else { - $82 = 48; - } - $81 = $82&65535; - $83 = HEAP32[$aFrom>>2]|0; - $84 = ((($83)) + 16|0); - HEAP16[$84>>1] = $81; - HEAP32[$nFrom>>2] = 1; - $85 = HEAP32[$nOrderBy>>2]|0; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$nLoop>>2]|0; - $88 = ($87|0)>(0); - $89 = HEAP32[$nOrderBy>>2]|0; - $90 = $88 ? -1 : $89; - $91 = $90&255; - $92 = HEAP32[$aFrom>>2]|0; - $93 = ((($92)) + 22|0); - HEAP8[$93>>0] = $91; + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 20|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$4>>2] = $37; + $38 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($38|0); +} +function _sqlite3WalLimit($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$3>>2] = $0; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $1; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; } - HEAP32[$iLoop>>2] = 0; + $11 = $4; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 16|0); + $19 = $18; + $20 = $19; + HEAP32[$20>>2] = $13; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $16; + STACKTOP = sp;return; +} +function _sqlite3DbNameToBtree($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; while(1) { - $94 = HEAP32[$iLoop>>2]|0; - $95 = HEAP32[$nLoop>>2]|0; - $96 = ($94|0)<($95|0); - if (!($96)) { + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($6|0)<($9|0); + if (!($10)) { + label = 8; break; } - HEAP32[$nTo>>2] = 0; - HEAP32[$ii>>2] = 0; - $97 = HEAP32[$aFrom>>2]|0; - HEAP32[$pFrom>>2] = $97; - while(1) { - $98 = HEAP32[$ii>>2]|0; - $99 = HEAP32[$nFrom>>2]|0; - $100 = ($98|0)<($99|0); - if (!($100)) { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = (($13) + ($14<<4)|0); + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)==(0|0); + if ($20) { + label = 6; break; } - $101 = HEAP32[$1>>2]|0; - $102 = ((($101)) + 56|0); - $103 = HEAP32[$102>>2]|0; - HEAP32[$pWLoop>>2] = $103; - while(1) { - $104 = HEAP32[$pWLoop>>2]|0; - $105 = ($104|0)!=(0|0); - if (!($105)) { - break; - } - $106 = HEAP32[$pFrom>>2]|0; - $107 = ((($106)) + 22|0); - $108 = HEAP8[$107>>0]|0; - HEAP8[$isOrdered>>0] = $108; - $109 = $revMask; - $110 = $109; - HEAP32[$110>>2] = 0; - $111 = (($109) + 4)|0; - $112 = $111; - HEAP32[$112>>2] = 0; - $113 = HEAP32[$pWLoop>>2]|0; - $114 = $113; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = (($114) + 4)|0; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = HEAP32[$pFrom>>2]|0; - $121 = $120; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = (($121) + 4)|0; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = $123 ^ -1; - $128 = $126 ^ -1; - $129 = $116 & $127; - $130 = $119 & $128; - $131 = ($129|0)!=(0); - $132 = ($130|0)!=(0); - $133 = $131 | $132; - L36: do { - if (!($133)) { - $134 = HEAP32[$pWLoop>>2]|0; - $135 = ((($134)) + 8|0); - $136 = $135; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = (($136) + 4)|0; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = HEAP32[$pFrom>>2]|0; - $143 = $142; - $144 = $143; - $145 = HEAP32[$144>>2]|0; - $146 = (($143) + 4)|0; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = $138 & $145; - $150 = $141 & $148; - $151 = ($149|0)!=(0); - $152 = ($150|0)!=(0); - $153 = $151 | $152; - if (!($153)) { - $154 = HEAP32[$pWLoop>>2]|0; - $155 = ((($154)) + 36|0); - $156 = HEAP32[$155>>2]|0; - $157 = $156 & 16384; - $158 = ($157|0)!=(0); - if ($158) { - $159 = HEAP32[$pFrom>>2]|0; - $160 = ((($159)) + 16|0); - $161 = HEAP16[$160>>1]|0; - $162 = $161 << 16 >> 16; - $163 = ($162|0)<(10); - if ($163) { - break; - } - } - $164 = HEAP32[$pWLoop>>2]|0; - $165 = ((($164)) + 18|0); - $166 = HEAP16[$165>>1]|0; - $167 = HEAP32[$pWLoop>>2]|0; - $168 = ((($167)) + 20|0); - $169 = HEAP16[$168>>1]|0; - $170 = $169 << 16 >> 16; - $171 = HEAP32[$pFrom>>2]|0; - $172 = ((($171)) + 16|0); - $173 = HEAP16[$172>>1]|0; - $174 = $173 << 16 >> 16; - $175 = (($170) + ($174))|0; - $176 = $175&65535; - $177 = (_sqlite3LogEstAdd($166,$176)|0); - HEAP16[$rUnsorted>>1] = $177; - $178 = HEAP16[$rUnsorted>>1]|0; - $179 = HEAP32[$pFrom>>2]|0; - $180 = ((($179)) + 20|0); - $181 = HEAP16[$180>>1]|0; - $182 = (_sqlite3LogEstAdd($178,$181)|0); - HEAP16[$rUnsorted>>1] = $182; - $183 = HEAP32[$pFrom>>2]|0; - $184 = ((($183)) + 16|0); - $185 = HEAP16[$184>>1]|0; - $186 = $185 << 16 >> 16; - $187 = HEAP32[$pWLoop>>2]|0; - $188 = ((($187)) + 22|0); - $189 = HEAP16[$188>>1]|0; - $190 = $189 << 16 >> 16; - $191 = (($186) + ($190))|0; - $192 = $191&65535; - HEAP16[$nOut>>1] = $192; - $193 = HEAP32[$pFrom>>2]|0; - $194 = $193; - $195 = $194; - $196 = HEAP32[$195>>2]|0; - $197 = (($194) + 4)|0; - $198 = $197; - $199 = HEAP32[$198>>2]|0; - $200 = HEAP32[$pWLoop>>2]|0; - $201 = ((($200)) + 8|0); - $202 = $201; - $203 = $202; - $204 = HEAP32[$203>>2]|0; - $205 = (($202) + 4)|0; - $206 = $205; - $207 = HEAP32[$206>>2]|0; - $208 = $196 | $204; - $209 = $199 | $207; - $210 = $maskNew; - $211 = $210; - HEAP32[$211>>2] = $208; - $212 = (($210) + 4)|0; - $213 = $212; - HEAP32[$213>>2] = $209; - $214 = HEAP8[$isOrdered>>0]|0; - $215 = $214 << 24 >> 24; - $216 = ($215|0)<(0); - if ($216) { - $217 = HEAP32[$1>>2]|0; - $218 = HEAP32[$1>>2]|0; - $219 = ((($218)) + 8|0); - $220 = HEAP32[$219>>2]|0; - $221 = HEAP32[$pFrom>>2]|0; - $222 = HEAP32[$1>>2]|0; - $223 = ((($222)) + 40|0); - $224 = HEAP16[$223>>1]|0; - $225 = HEAP32[$iLoop>>2]|0; - $226 = $225&65535; - $227 = HEAP32[$pWLoop>>2]|0; - $228 = (_wherePathSatisfiesOrderBy($217,$220,$221,$224,$226,$227,$revMask)|0); - HEAP8[$isOrdered>>0] = $228; - } else { - $229 = HEAP32[$pFrom>>2]|0; - $230 = ((($229)) + 8|0); - $231 = $230; - $232 = $231; - $233 = HEAP32[$232>>2]|0; - $234 = (($231) + 4)|0; - $235 = $234; - $236 = HEAP32[$235>>2]|0; - $237 = $revMask; - $238 = $237; - HEAP32[$238>>2] = $233; - $239 = (($237) + 4)|0; - $240 = $239; - HEAP32[$240>>2] = $236; - } - $241 = HEAP8[$isOrdered>>0]|0; - $242 = $241 << 24 >> 24; - $243 = ($242|0)>=(0); - if ($243) { - $244 = HEAP8[$isOrdered>>0]|0; - $245 = $244 << 24 >> 24; - $246 = HEAP32[$nOrderBy>>2]|0; - $247 = ($245|0)<($246|0); - if ($247) { - $248 = HEAP8[$isOrdered>>0]|0; - $249 = $248 << 24 >> 24; - $250 = HEAP32[$aSortCost>>2]|0; - $251 = (($250) + ($249<<1)|0); - $252 = HEAP16[$251>>1]|0; - $253 = $252 << 16 >> 16; - $254 = ($253|0)==(0); - if ($254) { - $255 = HEAP32[$1>>2]|0; - $256 = HEAP16[$2>>1]|0; - $257 = HEAP32[$nOrderBy>>2]|0; - $258 = HEAP8[$isOrdered>>0]|0; - $259 = $258 << 24 >> 24; - $260 = (_whereSortingCost($255,$256,$257,$259)|0); - $261 = HEAP8[$isOrdered>>0]|0; - $262 = $261 << 24 >> 24; - $263 = HEAP32[$aSortCost>>2]|0; - $264 = (($263) + ($262<<1)|0); - HEAP16[$264>>1] = $260; - } - $265 = HEAP16[$rUnsorted>>1]|0; - $266 = HEAP8[$isOrdered>>0]|0; - $267 = $266 << 24 >> 24; - $268 = HEAP32[$aSortCost>>2]|0; - $269 = (($268) + ($267<<1)|0); - $270 = HEAP16[$269>>1]|0; - $271 = (_sqlite3LogEstAdd($265,$270)|0); - HEAP16[$rCost>>1] = $271; - } else { - label = 36; - } - } else { - label = 36; - } - if ((label|0) == 36) { - label = 0; - $272 = HEAP16[$rUnsorted>>1]|0; - HEAP16[$rCost>>1] = $272; - } - HEAP32[$jj>>2] = 0; - $273 = HEAP32[$aTo>>2]|0; - HEAP32[$pTo>>2] = $273; - while(1) { - $274 = HEAP32[$jj>>2]|0; - $275 = HEAP32[$nTo>>2]|0; - $276 = ($274|0)<($275|0); - if (!($276)) { - break; - } - $277 = HEAP32[$pTo>>2]|0; - $278 = $277; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = (($278) + 4)|0; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - $284 = $maskNew; - $285 = $284; - $286 = HEAP32[$285>>2]|0; - $287 = (($284) + 4)|0; - $288 = $287; - $289 = HEAP32[$288>>2]|0; - $290 = ($280|0)==($286|0); - $291 = ($283|0)==($289|0); - $292 = $290 & $291; - if ($292) { - $293 = HEAP32[$pTo>>2]|0; - $294 = ((($293)) + 22|0); - $295 = HEAP8[$294>>0]|0; - $296 = $295 << 24 >> 24; - $297 = HEAP8[$isOrdered>>0]|0; - $298 = $297 << 24 >> 24; - $299 = $296 ^ $298; - $300 = $299 & 128; - $301 = ($300|0)==(0); - if ($301) { - break; - } - } - $302 = HEAP32[$jj>>2]|0; - $303 = (($302) + 1)|0; - HEAP32[$jj>>2] = $303; - $304 = HEAP32[$pTo>>2]|0; - $305 = ((($304)) + 32|0); - HEAP32[$pTo>>2] = $305; - } - $306 = HEAP32[$jj>>2]|0; - $307 = HEAP32[$nTo>>2]|0; - $308 = ($306|0)>=($307|0); - do { - if ($308) { - $309 = HEAP32[$nTo>>2]|0; - $310 = HEAP32[$mxChoice>>2]|0; - $311 = ($309|0)>=($310|0); - do { - if ($311) { - $312 = HEAP16[$rCost>>1]|0; - $313 = $312 << 16 >> 16; - $314 = HEAP16[$mxCost>>1]|0; - $315 = $314 << 16 >> 16; - $316 = ($313|0)>($315|0); - if ($316) { - break L36; - } - $317 = HEAP16[$rCost>>1]|0; - $318 = $317 << 16 >> 16; - $319 = HEAP16[$mxCost>>1]|0; - $320 = $319 << 16 >> 16; - $321 = ($318|0)==($320|0); - if (!($321)) { - break; - } - $322 = HEAP16[$rUnsorted>>1]|0; - $323 = $322 << 16 >> 16; - $324 = HEAP16[$mxUnsorted>>1]|0; - $325 = $324 << 16 >> 16; - $326 = ($323|0)>=($325|0); - if ($326) { - break L36; - } - } - } while(0); - $327 = HEAP32[$nTo>>2]|0; - $328 = HEAP32[$mxChoice>>2]|0; - $329 = ($327|0)<($328|0); - if ($329) { - $330 = HEAP32[$nTo>>2]|0; - $331 = (($330) + 1)|0; - HEAP32[$nTo>>2] = $331; - HEAP32[$jj>>2] = $330; - } else { - $332 = HEAP32[$mxI>>2]|0; - HEAP32[$jj>>2] = $332; - } - $333 = HEAP32[$jj>>2]|0; - $334 = HEAP32[$aTo>>2]|0; - $335 = (($334) + ($333<<5)|0); - HEAP32[$pTo>>2] = $335; - } else { - $336 = HEAP32[$pTo>>2]|0; - $337 = ((($336)) + 18|0); - $338 = HEAP16[$337>>1]|0; - $339 = $338 << 16 >> 16; - $340 = HEAP16[$rCost>>1]|0; - $341 = $340 << 16 >> 16; - $342 = ($339|0)<($341|0); - if ($342) { - break L36; - } - $343 = HEAP32[$pTo>>2]|0; - $344 = ((($343)) + 18|0); - $345 = HEAP16[$344>>1]|0; - $346 = $345 << 16 >> 16; - $347 = HEAP16[$rCost>>1]|0; - $348 = $347 << 16 >> 16; - $349 = ($346|0)==($348|0); - if (!($349)) { - break; - } - $350 = HEAP32[$pTo>>2]|0; - $351 = ((($350)) + 16|0); - $352 = HEAP16[$351>>1]|0; - $353 = $352 << 16 >> 16; - $354 = HEAP16[$nOut>>1]|0; - $355 = $354 << 16 >> 16; - $356 = ($353|0)<=($355|0); - if ($356) { - break L36; - } - } - } while(0); - $357 = HEAP32[$pFrom>>2]|0; - $358 = $357; - $359 = $358; - $360 = HEAP32[$359>>2]|0; - $361 = (($358) + 4)|0; - $362 = $361; - $363 = HEAP32[$362>>2]|0; - $364 = HEAP32[$pWLoop>>2]|0; - $365 = ((($364)) + 8|0); - $366 = $365; - $367 = $366; - $368 = HEAP32[$367>>2]|0; - $369 = (($366) + 4)|0; - $370 = $369; - $371 = HEAP32[$370>>2]|0; - $372 = $360 | $368; - $373 = $363 | $371; - $374 = HEAP32[$pTo>>2]|0; - $375 = $374; - $376 = $375; - HEAP32[$376>>2] = $372; - $377 = (($375) + 4)|0; - $378 = $377; - HEAP32[$378>>2] = $373; - $379 = $revMask; - $380 = $379; - $381 = HEAP32[$380>>2]|0; - $382 = (($379) + 4)|0; - $383 = $382; - $384 = HEAP32[$383>>2]|0; - $385 = HEAP32[$pTo>>2]|0; - $386 = ((($385)) + 8|0); - $387 = $386; - $388 = $387; - HEAP32[$388>>2] = $381; - $389 = (($387) + 4)|0; - $390 = $389; - HEAP32[$390>>2] = $384; - $391 = HEAP16[$nOut>>1]|0; - $392 = HEAP32[$pTo>>2]|0; - $393 = ((($392)) + 16|0); - HEAP16[$393>>1] = $391; - $394 = HEAP16[$rCost>>1]|0; - $395 = HEAP32[$pTo>>2]|0; - $396 = ((($395)) + 18|0); - HEAP16[$396>>1] = $394; - $397 = HEAP16[$rUnsorted>>1]|0; - $398 = HEAP32[$pTo>>2]|0; - $399 = ((($398)) + 20|0); - HEAP16[$399>>1] = $397; - $400 = HEAP8[$isOrdered>>0]|0; - $401 = HEAP32[$pTo>>2]|0; - $402 = ((($401)) + 22|0); - HEAP8[$402>>0] = $400; - $403 = HEAP32[$pTo>>2]|0; - $404 = ((($403)) + 24|0); - $405 = HEAP32[$404>>2]|0; - $406 = HEAP32[$pFrom>>2]|0; - $407 = ((($406)) + 24|0); - $408 = HEAP32[$407>>2]|0; - $409 = HEAP32[$iLoop>>2]|0; - $410 = $409<<2; - _memcpy(($405|0),($408|0),($410|0))|0; - $411 = HEAP32[$pWLoop>>2]|0; - $412 = HEAP32[$iLoop>>2]|0; - $413 = HEAP32[$pTo>>2]|0; - $414 = ((($413)) + 24|0); - $415 = HEAP32[$414>>2]|0; - $416 = (($415) + ($412<<2)|0); - HEAP32[$416>>2] = $411; - $417 = HEAP32[$nTo>>2]|0; - $418 = HEAP32[$mxChoice>>2]|0; - $419 = ($417|0)>=($418|0); - if ($419) { - HEAP32[$mxI>>2] = 0; - $420 = HEAP32[$aTo>>2]|0; - $421 = ((($420)) + 18|0); - $422 = HEAP16[$421>>1]|0; - HEAP16[$mxCost>>1] = $422; - $423 = HEAP32[$aTo>>2]|0; - $424 = ((($423)) + 16|0); - $425 = HEAP16[$424>>1]|0; - HEAP16[$mxUnsorted>>1] = $425; - HEAP32[$jj>>2] = 1; - $426 = HEAP32[$aTo>>2]|0; - $427 = ((($426)) + 32|0); - HEAP32[$pTo>>2] = $427; - while(1) { - $428 = HEAP32[$jj>>2]|0; - $429 = HEAP32[$mxChoice>>2]|0; - $430 = ($428|0)<($429|0); - if (!($430)) { - break L36; - } - $431 = HEAP32[$pTo>>2]|0; - $432 = ((($431)) + 18|0); - $433 = HEAP16[$432>>1]|0; - $434 = $433 << 16 >> 16; - $435 = HEAP16[$mxCost>>1]|0; - $436 = $435 << 16 >> 16; - $437 = ($434|0)>($436|0); - do { - if ($437) { - label = 60; - } else { - $438 = HEAP32[$pTo>>2]|0; - $439 = ((($438)) + 18|0); - $440 = HEAP16[$439>>1]|0; - $441 = $440 << 16 >> 16; - $442 = HEAP16[$mxCost>>1]|0; - $443 = $442 << 16 >> 16; - $444 = ($441|0)==($443|0); - if (!($444)) { - break; - } - $445 = HEAP32[$pTo>>2]|0; - $446 = ((($445)) + 20|0); - $447 = HEAP16[$446>>1]|0; - $448 = $447 << 16 >> 16; - $449 = HEAP16[$mxUnsorted>>1]|0; - $450 = $449 << 16 >> 16; - $451 = ($448|0)>($450|0); - if ($451) { - label = 60; - } - } - } while(0); - if ((label|0) == 60) { - label = 0; - $452 = HEAP32[$pTo>>2]|0; - $453 = ((($452)) + 18|0); - $454 = HEAP16[$453>>1]|0; - HEAP16[$mxCost>>1] = $454; - $455 = HEAP32[$pTo>>2]|0; - $456 = ((($455)) + 20|0); - $457 = HEAP16[$456>>1]|0; - HEAP16[$mxUnsorted>>1] = $457; - $458 = HEAP32[$jj>>2]|0; - HEAP32[$mxI>>2] = $458; - } - $459 = HEAP32[$jj>>2]|0; - $460 = (($459) + 1)|0; - HEAP32[$jj>>2] = $460; - $461 = HEAP32[$pTo>>2]|0; - $462 = ((($461)) + 32|0); - HEAP32[$pTo>>2] = $462; - } - } - } - } - } while(0); - $463 = HEAP32[$pWLoop>>2]|0; - $464 = ((($463)) + 52|0); - $465 = HEAP32[$464>>2]|0; - HEAP32[$pWLoop>>2] = $465; - } - $466 = HEAP32[$ii>>2]|0; - $467 = (($466) + 1)|0; - HEAP32[$ii>>2] = $467; - $468 = HEAP32[$pFrom>>2]|0; - $469 = ((($468)) + 32|0); - HEAP32[$pFrom>>2] = $469; - } - $470 = HEAP32[$aTo>>2]|0; - HEAP32[$pFrom>>2] = $470; - $471 = HEAP32[$aFrom>>2]|0; - HEAP32[$aTo>>2] = $471; - $472 = HEAP32[$pFrom>>2]|0; - HEAP32[$aFrom>>2] = $472; - $473 = HEAP32[$nTo>>2]|0; - HEAP32[$nFrom>>2] = $473; - $474 = HEAP32[$iLoop>>2]|0; - $475 = (($474) + 1)|0; - HEAP32[$iLoop>>2] = $475; - } - $476 = HEAP32[$nFrom>>2]|0; - $477 = ($476|0)==(0); - if ($477) { - $478 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($478,34756,$vararg_buffer); - $479 = HEAP32[$db>>2]|0; - $480 = HEAP32[$pSpace>>2]|0; - _sqlite3DbFree($479,$480); - HEAP32[$0>>2] = 1; - $747 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($747|0); - } - $481 = HEAP32[$aFrom>>2]|0; - HEAP32[$pFrom>>2] = $481; - HEAP32[$ii>>2] = 1; - while(1) { - $482 = HEAP32[$ii>>2]|0; - $483 = HEAP32[$nFrom>>2]|0; - $484 = ($482|0)<($483|0); - if (!($484)) { - break; - } - $485 = HEAP32[$pFrom>>2]|0; - $486 = ((($485)) + 18|0); - $487 = HEAP16[$486>>1]|0; - $488 = $487 << 16 >> 16; - $489 = HEAP32[$ii>>2]|0; - $490 = HEAP32[$aFrom>>2]|0; - $491 = (($490) + ($489<<5)|0); - $492 = ((($491)) + 18|0); - $493 = HEAP16[$492>>1]|0; - $494 = $493 << 16 >> 16; - $495 = ($488|0)>($494|0); - if ($495) { - $496 = HEAP32[$ii>>2]|0; - $497 = HEAP32[$aFrom>>2]|0; - $498 = (($497) + ($496<<5)|0); - HEAP32[$pFrom>>2] = $498; - } - $499 = HEAP32[$ii>>2]|0; - $500 = (($499) + 1)|0; - HEAP32[$ii>>2] = $500; - } - HEAP32[$iLoop>>2] = 0; - while(1) { - $501 = HEAP32[$iLoop>>2]|0; - $502 = HEAP32[$nLoop>>2]|0; - $503 = ($501|0)<($502|0); - $504 = HEAP32[$1>>2]|0; - if (!($503)) { - break; - } - $505 = ((($504)) + 752|0); - $506 = HEAP32[$iLoop>>2]|0; - $507 = (($505) + (($506*80)|0)|0); - HEAP32[$pLevel>>2] = $507; - $508 = HEAP32[$iLoop>>2]|0; - $509 = HEAP32[$pFrom>>2]|0; - $510 = ((($509)) + 24|0); - $511 = HEAP32[$510>>2]|0; - $512 = (($511) + ($508<<2)|0); - $513 = HEAP32[$512>>2]|0; - HEAP32[$pWLoop>>2] = $513; - $514 = HEAP32[$pLevel>>2]|0; - $515 = ((($514)) + 64|0); - HEAP32[$515>>2] = $513; - $516 = HEAP32[$pWLoop>>2]|0; - $517 = ((($516)) + 16|0); - $518 = HEAP8[$517>>0]|0; - $519 = HEAP32[$pLevel>>2]|0; - $520 = ((($519)) + 44|0); - HEAP8[$520>>0] = $518; - $521 = HEAP32[$pLevel>>2]|0; - $522 = ((($521)) + 44|0); - $523 = HEAP8[$522>>0]|0; - $524 = $523&255; - $525 = HEAP32[$1>>2]|0; - $526 = ((($525)) + 4|0); - $527 = HEAP32[$526>>2]|0; - $528 = ((($527)) + 8|0); - $529 = (($528) + (($524*72)|0)|0); - $530 = ((($529)) + 44|0); - $531 = HEAP32[$530>>2]|0; - $532 = HEAP32[$pLevel>>2]|0; - $533 = ((($532)) + 4|0); - HEAP32[$533>>2] = $531; - $534 = HEAP32[$iLoop>>2]|0; - $535 = (($534) + 1)|0; - HEAP32[$iLoop>>2] = $535; - } - $536 = ((($504)) + 40|0); - $537 = HEAP16[$536>>1]|0; - $538 = $537&65535; - $539 = $538 & 256; - $540 = ($539|0)!=(0); - if ($540) { - $541 = HEAP32[$1>>2]|0; - $542 = ((($541)) + 40|0); - $543 = HEAP16[$542>>1]|0; - $544 = $543&65535; - $545 = $544 & 128; - $546 = ($545|0)==(0); - if ($546) { - $547 = HEAP32[$1>>2]|0; - $548 = ((($547)) + 47|0); - $549 = HEAP8[$548>>0]|0; - $550 = $549&255; - $551 = ($550|0)==(0); - if ($551) { - $552 = HEAP16[$2>>1]|0; - $553 = $552 << 16 >> 16; - $554 = ($553|0)!=(0); - if ($554) { - $555 = HEAP32[$1>>2]|0; - $556 = HEAP32[$1>>2]|0; - $557 = ((($556)) + 12|0); - $558 = HEAP32[$557>>2]|0; - $559 = HEAP32[$pFrom>>2]|0; - $560 = HEAP32[$nLoop>>2]|0; - $561 = (($560) - 1)|0; - $562 = $561&65535; - $563 = HEAP32[$nLoop>>2]|0; - $564 = (($563) - 1)|0; - $565 = HEAP32[$pFrom>>2]|0; - $566 = ((($565)) + 24|0); - $567 = HEAP32[$566>>2]|0; - $568 = (($567) + ($564<<2)|0); - $569 = HEAP32[$568>>2]|0; - $570 = (_wherePathSatisfiesOrderBy($555,$558,$559,128,$562,$569,$notUsed)|0); - $571 = $570 << 24 >> 24; - HEAP32[$rc>>2] = $571; - $572 = HEAP32[$rc>>2]|0; - $573 = HEAP32[$1>>2]|0; - $574 = ((($573)) + 12|0); - $575 = HEAP32[$574>>2]|0; - $576 = HEAP32[$575>>2]|0; - $577 = ($572|0)==($576|0); - if ($577) { - $578 = HEAP32[$1>>2]|0; - $579 = ((($578)) + 47|0); - HEAP8[$579>>0] = 2; - } - } - } - } - } - $580 = HEAP32[$1>>2]|0; - $581 = ((($580)) + 8|0); - $582 = HEAP32[$581>>2]|0; - $583 = ($582|0)!=(0|0); - if ($583) { - $584 = HEAP32[$1>>2]|0; - $585 = ((($584)) + 40|0); - $586 = HEAP16[$585>>1]|0; - $587 = $586&65535; - $588 = $587 & 128; - $589 = ($588|0)!=(0); - $590 = HEAP32[$pFrom>>2]|0; - $591 = ((($590)) + 22|0); - $592 = HEAP8[$591>>0]|0; - if ($589) { - $593 = $592 << 24 >> 24; - $594 = HEAP32[$1>>2]|0; - $595 = ((($594)) + 8|0); - $596 = HEAP32[$595>>2]|0; - $597 = HEAP32[$596>>2]|0; - $598 = ($593|0)==($597|0); - if ($598) { - $599 = HEAP32[$1>>2]|0; - $600 = ((($599)) + 47|0); - HEAP8[$600>>0] = 2; - } - } else { - $601 = HEAP32[$1>>2]|0; - $602 = ((($601)) + 43|0); - HEAP8[$602>>0] = $592; - $603 = HEAP32[$pFrom>>2]|0; - $604 = ((($603)) + 8|0); - $605 = $604; - $606 = $605; - $607 = HEAP32[$606>>2]|0; - $608 = (($605) + 4)|0; - $609 = $608; - $610 = HEAP32[$609>>2]|0; - $611 = HEAP32[$1>>2]|0; - $612 = ((($611)) + 64|0); - $613 = $612; - $614 = $613; - HEAP32[$614>>2] = $607; - $615 = (($613) + 4)|0; - $616 = $615; - HEAP32[$616>>2] = $610; - $617 = HEAP32[$1>>2]|0; - $618 = ((($617)) + 43|0); - $619 = HEAP8[$618>>0]|0; - $620 = $619 << 24 >> 24; - $621 = ($620|0)<=(0); - if ($621) { - $622 = HEAP32[$1>>2]|0; - $623 = ((($622)) + 43|0); - HEAP8[$623>>0] = 0; - $624 = HEAP32[$nLoop>>2]|0; - $625 = ($624|0)>(0); - if ($625) { - $626 = HEAP32[$nLoop>>2]|0; - $627 = (($626) - 1)|0; - $628 = HEAP32[$pFrom>>2]|0; - $629 = ((($628)) + 24|0); - $630 = HEAP32[$629>>2]|0; - $631 = (($630) + ($627<<2)|0); - $632 = HEAP32[$631>>2]|0; - $633 = ((($632)) + 36|0); - $634 = HEAP32[$633>>2]|0; - HEAP32[$wsFlags>>2] = $634; - $635 = HEAP32[$wsFlags>>2]|0; - $636 = $635 & 4096; - $637 = ($636|0)==(0); - if ($637) { - $638 = HEAP32[$wsFlags>>2]|0; - $639 = $638 & 260; - $640 = ($639|0)!=(260); - if ($640) { - $641 = $m; - $642 = $641; - HEAP32[$642>>2] = 0; - $643 = (($641) + 4)|0; - $644 = $643; - HEAP32[$644>>2] = 0; - $645 = HEAP32[$1>>2]|0; - $646 = HEAP32[$1>>2]|0; - $647 = ((($646)) + 8|0); - $648 = HEAP32[$647>>2]|0; - $649 = HEAP32[$pFrom>>2]|0; - $650 = HEAP32[$nLoop>>2]|0; - $651 = (($650) - 1)|0; - $652 = $651&65535; - $653 = HEAP32[$nLoop>>2]|0; - $654 = (($653) - 1)|0; - $655 = HEAP32[$pFrom>>2]|0; - $656 = ((($655)) + 24|0); - $657 = HEAP32[$656>>2]|0; - $658 = (($657) + ($654<<2)|0); - $659 = HEAP32[$658>>2]|0; - $660 = (_wherePathSatisfiesOrderBy($645,$648,$649,2048,$652,$659,$m)|0); - $661 = $660 << 24 >> 24; - HEAP32[$rc1>>2] = $661; - $662 = HEAP32[$rc1>>2]|0; - $663 = HEAP32[$1>>2]|0; - $664 = ((($663)) + 8|0); - $665 = HEAP32[$664>>2]|0; - $666 = HEAP32[$665>>2]|0; - $667 = ($662|0)==($666|0); - if ($667) { - $668 = HEAP32[$1>>2]|0; - $669 = ((($668)) + 48|0); - HEAP8[$669>>0] = 1; - $670 = $m; - $671 = $670; - $672 = HEAP32[$671>>2]|0; - $673 = (($670) + 4)|0; - $674 = $673; - $675 = HEAP32[$674>>2]|0; - $676 = HEAP32[$1>>2]|0; - $677 = ((($676)) + 64|0); - $678 = $677; - $679 = $678; - HEAP32[$679>>2] = $672; - $680 = (($678) + 4)|0; - $681 = $680; - HEAP32[$681>>2] = $675; - } - } - } - } + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = (($24) + ($25<<4)|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3StrICmp($21,$27)|0); + $29 = ($28|0)==(0); + if ($29) { + label = 6; + break; } } - $682 = HEAP32[$1>>2]|0; - $683 = ((($682)) + 40|0); - $684 = HEAP16[$683>>1]|0; - $685 = $684&65535; - $686 = $685 & 512; - $687 = ($686|0)!=(0); - if ($687) { - $688 = HEAP32[$1>>2]|0; - $689 = ((($688)) + 43|0); - $690 = HEAP8[$689>>0]|0; - $691 = $690 << 24 >> 24; - $692 = HEAP32[$1>>2]|0; - $693 = ((($692)) + 8|0); - $694 = HEAP32[$693>>2]|0; - $695 = HEAP32[$694>>2]|0; - $696 = ($691|0)==($695|0); - $697 = HEAP32[$nLoop>>2]|0; - $698 = ($697|0)>(0); - $or$cond = $696 & $698; - if ($or$cond) { - $699 = $revMask2; - $700 = $699; - HEAP32[$700>>2] = 0; - $701 = (($699) + 4)|0; - $702 = $701; - HEAP32[$702>>2] = 0; - $703 = HEAP32[$1>>2]|0; - $704 = HEAP32[$1>>2]|0; - $705 = ((($704)) + 8|0); - $706 = HEAP32[$705>>2]|0; - $707 = HEAP32[$pFrom>>2]|0; - $708 = HEAP32[$nLoop>>2]|0; - $709 = (($708) - 1)|0; - $710 = $709&65535; - $711 = HEAP32[$nLoop>>2]|0; - $712 = (($711) - 1)|0; - $713 = HEAP32[$pFrom>>2]|0; - $714 = ((($713)) + 24|0); - $715 = HEAP32[$714>>2]|0; - $716 = (($715) + ($712<<2)|0); - $717 = HEAP32[$716>>2]|0; - $718 = (_wherePathSatisfiesOrderBy($703,$706,$707,0,$710,$717,$revMask2)|0); - $719 = $718 << 24 >> 24; - HEAP32[$nOrder>>2] = $719; - $720 = HEAP32[$nOrder>>2]|0; - $721 = HEAP32[$1>>2]|0; - $722 = ((($721)) + 8|0); - $723 = HEAP32[$722>>2]|0; - $724 = HEAP32[$723>>2]|0; - $725 = ($720|0)==($724|0); - if ($725) { - $726 = HEAP32[$1>>2]|0; - $727 = ((($726)) + 44|0); - HEAP8[$727>>0] = 1; - $728 = $revMask2; - $729 = $728; - $730 = HEAP32[$729>>2]|0; - $731 = (($728) + 4)|0; - $732 = $731; - $733 = HEAP32[$732>>2]|0; - $734 = HEAP32[$1>>2]|0; - $735 = ((($734)) + 64|0); - $736 = $735; - $737 = $736; - HEAP32[$737>>2] = $730; - $738 = (($736) + 4)|0; - $739 = $738; - HEAP32[$739>>2] = $733; - } - } - } - } - $740 = HEAP32[$pFrom>>2]|0; - $741 = ((($740)) + 16|0); - $742 = HEAP16[$741>>1]|0; - $743 = HEAP32[$1>>2]|0; - $744 = ((($743)) + 72|0); - HEAP16[$744>>1] = $742; - $745 = HEAP32[$db>>2]|0; - $746 = HEAP32[$pSpace>>2]|0; - _sqlite3DbFree($745,$746); - HEAP32[$0>>2] = 0; - $747 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($747|0); + $37 = HEAP32[$5>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$5>>2] = $38; + } + if ((label|0) == 6) { + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = (($32) + ($33<<4)|0); + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$2>>2] = $36; + $39 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($39|0); + } + else if ((label|0) == 8) { + HEAP32[$2>>2] = 0; + $39 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($39|0); + } + return (0)|0; } -function _sqlite3WhereExprListUsage($pMaskSet,$pList) { - $pMaskSet = $pMaskSet|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, $mask = 0, label = 0, sp = 0; +function _sqlite3PagerJrnlFile($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $i = sp + 8|0; - $mask = sp; - HEAP32[$0>>2] = $pMaskSet; - HEAP32[$1>>2] = $pList; - $2 = $mask; - $3 = $2; - HEAP32[$3>>2] = 0; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 216|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $35 = $mask; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - tempRet0 = ($40); - STACKTOP = sp;return ($37|0); + if ($5) { + $7 = ((($6)) + 216|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3WalFile($8)|0); + $12 = $9; + STACKTOP = sp;return ($12|0); + } else { + $10 = ((($6)) + 68|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11; + STACKTOP = sp;return ($12|0); } - HEAP32[$i>>2] = 0; + return (0)|0; +} +function _sqlite3WalFile($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _sqlite3ClearStatTables($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 48|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = (($14) + ($15<<4)|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$9>>2] = $17; + HEAP32[$8>>2] = 1; while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ($8|0)<($10|0); - if (!($11)) { + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)<=(4); + if (!($19)) { break; } - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + (($13*20)|0)|0); - $18 = HEAP32[$17>>2]|0; - $19 = (_sqlite3WhereExprUsage($12,$18)|0); - $20 = tempRet0; - $21 = $mask; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = $23 | $19; - $28 = $26 | $20; - $29 = $mask; - $30 = $29; - HEAP32[$30>>2] = $27; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $28; - $33 = HEAP32[$i>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$i>>2] = $34; + $20 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer>>2] = $20; + (_sqlite3_snprintf(24,$10,33757,$vararg_buffer)|0); + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$9>>2]|0; + $24 = (_sqlite3FindTable($22,$10,$23)|0); + $25 = ($24|0)!=(0|0); + if ($25) { + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$9>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer1>>2] = $27; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $10; + $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); + HEAP32[$vararg_ptr5>>2] = $28; + $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); + HEAP32[$vararg_ptr6>>2] = $29; + _sqlite3NestedParse($26,30232,$vararg_buffer1); + } + $30 = HEAP32[$8>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$8>>2] = $31; } - $35 = $mask; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - tempRet0 = ($40); - STACKTOP = sp;return ($37|0); + STACKTOP = sp;return; } -function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { - $pParse = $pParse|0; - $pWC = $pWC|0; - $pSrc = $pSrc|0; +function _destroyRootPage($0,$1,$2) { $0 = $0|0; $1 = $1|0; - $pLevel = $pLevel|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; - var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; - var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; - var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; - var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; - var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; - var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; - var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; - var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $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; - var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; - var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; - var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; - var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; - var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; - var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; - var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; - var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; - var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $addrCounter = 0, $addrInit = 0, $addrTop = 0, $cMask = 0, $cMask2 = 0, $extraCols = 0, $i = 0, $iCol = 0, $iCol1 = 0, $iContinue = 0, $idxCols = 0, $mxBitCol = 0, $n = 0, $nKeyCol = 0, $pColl = 0, $pExpr = 0, $pIdx = 0, $pLoop = 0, $pPartial = 0; - var $pTabItem = 0, $pTable = 0, $pTerm = 0, $pWCEnd = 0, $pX = 0, $regBase = 0, $regRecord = 0, $regYield = 0, $sentWarning = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $zNotUsed = 0, label = 0, sp = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $vararg_buffer = sp + 40|0; - $2 = sp + 160|0; - $3 = sp + 156|0; - $4 = sp + 152|0; - $5 = sp + 32|0; - $6 = sp + 148|0; - $nKeyCol = sp + 144|0; - $pTerm = sp + 140|0; - $pWCEnd = sp + 136|0; - $pIdx = sp + 132|0; - $v = sp + 128|0; - $addrInit = sp + 124|0; - $pTable = sp + 120|0; - $addrTop = sp + 116|0; - $regRecord = sp + 112|0; - $n = sp + 108|0; - $i = sp + 104|0; - $mxBitCol = sp + 100|0; - $pColl = sp + 96|0; - $pLoop = sp + 92|0; - $zNotUsed = sp + 88|0; - $idxCols = sp + 24|0; - $extraCols = sp + 16|0; - $sentWarning = sp + 164|0; - $pPartial = sp + 84|0; - $iContinue = sp + 80|0; - $pTabItem = sp + 76|0; - $addrCounter = sp + 72|0; - $regBase = sp + 68|0; - $pExpr = sp + 64|0; - $iCol = sp + 60|0; - $cMask = sp + 8|0; - $iCol1 = sp + 56|0; - $cMask2 = sp; - $pX = sp + 52|0; - $regYield = sp + 48|0; - HEAP32[$2>>2] = $pParse; - HEAP32[$3>>2] = $pWC; - HEAP32[$4>>2] = $pSrc; - $7 = $5; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - HEAP32[$6>>2] = $pLevel; - HEAP8[$sentWarning>>0] = 0; - HEAP32[$pPartial>>2] = 0; - HEAP32[$iContinue>>2] = 0; - HEAP32[$addrCounter>>2] = 0; - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$v>>2] = $13; - $14 = HEAP32[$v>>2]|0; - $15 = (_sqlite3VdbeAddOp0($14,20)|0); - HEAP32[$addrInit>>2] = $15; - HEAP32[$nKeyCol>>2] = 0; - $16 = HEAP32[$4>>2]|0; - $17 = ((($16)) + 16|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$pTable>>2] = $18; - $19 = HEAP32[$3>>2]|0; - $20 = ((($19)) + 12|0); + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = (_sqlite3GetVdbe($8)|0); + HEAP32[$6>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = (_sqlite3GetTempReg($10)|0); + HEAP32[$7>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp3($12,130,$13,$14,$15)|0); + $16 = HEAP32[$3>>2]|0; + _sqlite3MayAbort($16); + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 16|0); $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = ((($22)) + 20|0); + $22 = HEAP32[$5>>2]|0; + $23 = (($21) + ($22<<4)|0); $24 = HEAP32[$23>>2]|0; - $25 = (($24) + (($21*48)|0)|0); - HEAP32[$pWCEnd>>2] = $25; - $26 = HEAP32[$6>>2]|0; - $27 = ((($26)) + 64|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$pLoop>>2] = $28; - $29 = $idxCols; - $30 = $29; - HEAP32[$30>>2] = 0; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = 0; - $33 = HEAP32[$3>>2]|0; - $34 = ((($33)) + 20|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$pTerm>>2] = $35; - while(1) { - $36 = HEAP32[$pTerm>>2]|0; - $37 = HEAP32[$pWCEnd>>2]|0; - $38 = ($36>>>0)<($37>>>0); - if (!($38)) { - break; - } - $39 = HEAP32[$pTerm>>2]|0; - $40 = HEAP32[$39>>2]|0; - HEAP32[$pExpr>>2] = $40; - $41 = HEAP32[$pLoop>>2]|0; - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = ($44|0)==(0); - $49 = ($47|0)==(0); - $50 = $48 & $49; - if ($50) { - $51 = HEAP32[$pTerm>>2]|0; - $52 = ((($51)) + 10|0); - $53 = HEAP16[$52>>1]|0; - $54 = $53&65535; - $55 = $54 & 2; - $56 = ($55|0)==(0); - if ($56) { - $57 = HEAP32[$pExpr>>2]|0; - $58 = ((($57)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = $59 & 1; - $61 = ($60|0)!=(0); - if (!($61)) { - $62 = HEAP32[$pExpr>>2]|0; - $63 = HEAP32[$4>>2]|0; - $64 = ((($63)) + 44|0); - $65 = HEAP32[$64>>2]|0; - $66 = (_sqlite3ExprIsTableConstant($62,$65)|0); - $67 = ($66|0)!=(0); - if ($67) { - $68 = HEAP32[$2>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$pPartial>>2]|0; - $71 = HEAP32[$2>>2]|0; - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$pExpr>>2]|0; - $74 = (_sqlite3ExprDup($72,$73,0)|0); - $75 = (_sqlite3ExprAnd($69,$70,$74)|0); - HEAP32[$pPartial>>2] = $75; - } - } - } - } - $76 = HEAP32[$pTerm>>2]|0; - $77 = HEAP32[$4>>2]|0; - $78 = $5; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = (_termCanDriveIndex($76,$77,$80,$83)|0); - $85 = ($84|0)!=(0); - if ($85) { - $86 = HEAP32[$pTerm>>2]|0; - $87 = ((($86)) + 28|0); - $88 = HEAP32[$87>>2]|0; - HEAP32[$iCol>>2] = $88; - $89 = HEAP32[$iCol>>2]|0; - $90 = ($89|0)>=(64); - if ($90) { - $96 = 0;$99 = -2147483648; - } else { - $91 = HEAP32[$iCol>>2]|0; - $92 = (_bitshift64Shl(1,0,($91|0))|0); - $93 = tempRet0; - $96 = $92;$99 = $93; - } - $94 = $cMask; - $95 = $94; - HEAP32[$95>>2] = $96; - $97 = (($94) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $99; - $100 = HEAP8[$sentWarning>>0]|0; - $101 = ($100<<24>>24)!=(0); - if (!($101)) { - $102 = HEAP32[$pTable>>2]|0; - $103 = HEAP32[$102>>2]|0; - $104 = HEAP32[$iCol>>2]|0; - $105 = HEAP32[$pTable>>2]|0; - $106 = ((($105)) + 4|0); - $107 = HEAP32[$106>>2]|0; - $108 = (($107) + ($104<<4)|0); - $109 = HEAP32[$108>>2]|0; - HEAP32[$vararg_buffer>>2] = $103; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $109; - _sqlite3_log(284,34719,$vararg_buffer); - HEAP8[$sentWarning>>0] = 1; - } - $110 = $idxCols; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = $cMask; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = $112 & $118; - $123 = $115 & $121; - $124 = ($122|0)==(0); - $125 = ($123|0)==(0); - $126 = $124 & $125; - if ($126) { - $127 = HEAP32[$2>>2]|0; - $128 = HEAP32[$127>>2]|0; - $129 = HEAP32[$pLoop>>2]|0; - $130 = HEAP32[$nKeyCol>>2]|0; - $131 = (($130) + 1)|0; - $132 = (_whereLoopResize($128,$129,$131)|0); - $133 = ($132|0)!=(0); - if ($133) { - label = 57; - break; - } - $134 = HEAP32[$pTerm>>2]|0; - $135 = HEAP32[$nKeyCol>>2]|0; - $136 = (($135) + 1)|0; - HEAP32[$nKeyCol>>2] = $136; - $137 = HEAP32[$pLoop>>2]|0; - $138 = ((($137)) + 48|0); - $139 = HEAP32[$138>>2]|0; - $140 = (($139) + ($135<<2)|0); - HEAP32[$140>>2] = $134; - $141 = $cMask; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = (($141) + 4)|0; - $145 = $144; - $146 = HEAP32[$145>>2]|0; - $147 = $idxCols; - $148 = $147; - $149 = HEAP32[$148>>2]|0; - $150 = (($147) + 4)|0; - $151 = $150; - $152 = HEAP32[$151>>2]|0; - $153 = $149 | $143; - $154 = $152 | $146; - $155 = $idxCols; - $156 = $155; - HEAP32[$156>>2] = $153; - $157 = (($155) + 4)|0; - $158 = $157; - HEAP32[$158>>2] = $154; + $25 = HEAP32[$5>>2]|0; + $26 = ($25|0)==(1); + $27 = $26 ? 26433 : 26452; + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $24; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $27; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $28; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $29; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $30; + _sqlite3NestedParse($17,33701,$vararg_buffer); + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$7>>2]|0; + _sqlite3ReleaseTempReg($31,$32); + STACKTOP = sp;return; +} +function _sqlite3ArrayAllocate($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $15 = HEAP32[$9>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$12>>2] = $16; + $17 = HEAP32[$12>>2]|0; + $18 = HEAP32[$12>>2]|0; + $19 = (($18) - 1)|0; + $20 = $17 & $19; + $21 = ($20|0)==(0); + do { + if ($21) { + $22 = HEAP32[$12>>2]|0; + $23 = ($22|0)==(0); + $24 = HEAP32[$12>>2]|0; + $25 = $24<<1; + $26 = $23 ? 1 : $25; + HEAP32[$13>>2] = $26; + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$13>>2]|0; + $30 = HEAP32[$8>>2]|0; + $31 = Math_imul($29, $30)|0; + $32 = ($31|0)<(0); + $33 = $32 << 31 >> 31; + $34 = (_sqlite3DbRealloc($27,$28,$31,$33)|0); + HEAP32[$14>>2] = $34; + $35 = HEAP32[$14>>2]|0; + $36 = ($35|0)==(0|0); + if (!($36)) { + $39 = HEAP32[$14>>2]|0; + HEAP32[$7>>2] = $39; + break; } + $37 = HEAP32[$10>>2]|0; + HEAP32[$37>>2] = -1; + $38 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $38; + $53 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($53|0); } - $159 = HEAP32[$pTerm>>2]|0; - $160 = ((($159)) + 48|0); - HEAP32[$pTerm>>2] = $160; - } - if ((label|0) == 57) { - $560 = HEAP32[$2>>2]|0; - $561 = HEAP32[$560>>2]|0; - $562 = HEAP32[$pPartial>>2]|0; - _sqlite3ExprDelete($561,$562); - STACKTOP = sp;return; - } - $161 = HEAP32[$nKeyCol>>2]|0; - $162 = $161&65535; - $163 = HEAP32[$pLoop>>2]|0; - $164 = ((($163)) + 40|0); - HEAP16[$164>>1] = $162; - $165 = HEAP32[$pLoop>>2]|0; - $166 = ((($165)) + 24|0); - HEAP16[$166>>1] = $162; - $167 = HEAP32[$pLoop>>2]|0; - $168 = ((($167)) + 36|0); - HEAP32[$168>>2] = 16961; - $169 = HEAP32[$4>>2]|0; - $170 = ((($169)) + 56|0); - $171 = $170; - $172 = $171; - $173 = HEAP32[$172>>2]|0; - $174 = (($171) + 4)|0; - $175 = $174; - $176 = HEAP32[$175>>2]|0; - $177 = $idxCols; - $178 = $177; - $179 = HEAP32[$178>>2]|0; - $180 = (($177) + 4)|0; - $181 = $180; - $182 = HEAP32[$181>>2]|0; - $183 = $179 ^ -1; - $184 = $182 ^ -1; - $185 = $184 | -2147483648; - $186 = $173 & $183; - $187 = $176 & $185; - $188 = $extraCols; - $189 = $188; - HEAP32[$189>>2] = $186; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $187; - $192 = HEAP32[$pTable>>2]|0; - $193 = ((($192)) + 34|0); - $194 = HEAP16[$193>>1]|0; - $195 = $194 << 16 >> 16; - $196 = (63)<($195|0); - if ($196) { - $201 = 63; - } else { - $197 = HEAP32[$pTable>>2]|0; - $198 = ((($197)) + 34|0); - $199 = HEAP16[$198>>1]|0; - $200 = $199 << 16 >> 16; - $201 = $200; - } - HEAP32[$mxBitCol>>2] = $201; - HEAP32[$i>>2] = 0; - while(1) { - $202 = HEAP32[$i>>2]|0; - $203 = HEAP32[$mxBitCol>>2]|0; - $204 = ($202|0)<($203|0); - if (!($204)) { - break; - } - $205 = $extraCols; - $206 = $205; - $207 = HEAP32[$206>>2]|0; - $208 = (($205) + 4)|0; - $209 = $208; - $210 = HEAP32[$209>>2]|0; - $211 = HEAP32[$i>>2]|0; - $212 = (_bitshift64Shl(1,0,($211|0))|0); - $213 = tempRet0; - $214 = $207 & $212; - $215 = $210 & $213; - $216 = ($214|0)!=(0); - $217 = ($215|0)!=(0); - $218 = $216 | $217; - if ($218) { - $219 = HEAP32[$nKeyCol>>2]|0; - $220 = (($219) + 1)|0; - HEAP32[$nKeyCol>>2] = $220; - } - $221 = HEAP32[$i>>2]|0; - $222 = (($221) + 1)|0; - HEAP32[$i>>2] = $222; - } - $223 = HEAP32[$4>>2]|0; - $224 = ((($223)) + 56|0); - $225 = $224; - $226 = $225; - $227 = HEAP32[$226>>2]|0; - $228 = (($225) + 4)|0; - $229 = $228; - $230 = HEAP32[$229>>2]|0; - $231 = $230 & -2147483648; - $232 = (0)!=(0); - $233 = ($231|0)!=(0); - $234 = $232 | $233; - if ($234) { - $235 = HEAP32[$pTable>>2]|0; - $236 = ((($235)) + 34|0); - $237 = HEAP16[$236>>1]|0; - $238 = $237 << 16 >> 16; - $239 = (($238) - 64)|0; - $240 = (($239) + 1)|0; - $241 = HEAP32[$nKeyCol>>2]|0; - $242 = (($241) + ($240))|0; - HEAP32[$nKeyCol>>2] = $242; - } - $243 = HEAP32[$2>>2]|0; - $244 = HEAP32[$243>>2]|0; - $245 = HEAP32[$nKeyCol>>2]|0; - $246 = (($245) + 1)|0; - $247 = $246&65535; - $248 = (_sqlite3AllocateIndexObject($244,$247,0,$zNotUsed)|0); - HEAP32[$pIdx>>2] = $248; - $249 = HEAP32[$pIdx>>2]|0; - $250 = ($249|0)==(0|0); - if ($250) { - $560 = HEAP32[$2>>2]|0; - $561 = HEAP32[$560>>2]|0; - $562 = HEAP32[$pPartial>>2]|0; - _sqlite3ExprDelete($561,$562); - STACKTOP = sp;return; + } while(0); + $40 = HEAP32[$7>>2]|0; + HEAP32[$11>>2] = $40; + $41 = HEAP32[$11>>2]|0; + $42 = HEAP32[$12>>2]|0; + $43 = HEAP32[$8>>2]|0; + $44 = Math_imul($42, $43)|0; + $45 = (($41) + ($44)|0); + $46 = HEAP32[$8>>2]|0; + _memset(($45|0),0,($46|0))|0; + $47 = HEAP32[$12>>2]|0; + $48 = HEAP32[$10>>2]|0; + HEAP32[$48>>2] = $47; + $49 = HEAP32[$9>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + 1)|0; + HEAP32[$49>>2] = $51; + $52 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $52; + $53 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($53|0); +} +function _sqlite3TriggersExist($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = $16 & 16777216; + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = (_sqlite3TriggerList($19,$20)|0); + HEAP32[$11>>2] = $21; } - $251 = HEAP32[$pIdx>>2]|0; - $252 = HEAP32[$pLoop>>2]|0; - $253 = ((($252)) + 24|0); - $254 = ((($253)) + 8|0); - HEAP32[$254>>2] = $251; - $255 = HEAP32[$pIdx>>2]|0; - HEAP32[$255>>2] = 34745; - $256 = HEAP32[$pTable>>2]|0; - $257 = HEAP32[$pIdx>>2]|0; - $258 = ((($257)) + 12|0); - HEAP32[$258>>2] = $256; - HEAP32[$n>>2] = 0; - $259 = $idxCols; - $260 = $259; - HEAP32[$260>>2] = 0; - $261 = (($259) + 4)|0; - $262 = $261; - HEAP32[$262>>2] = 0; - $263 = HEAP32[$3>>2]|0; - $264 = ((($263)) + 20|0); - $265 = HEAP32[$264>>2]|0; - HEAP32[$pTerm>>2] = $265; + $22 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $22; while(1) { - $266 = HEAP32[$pTerm>>2]|0; - $267 = HEAP32[$pWCEnd>>2]|0; - $268 = ($266>>>0)<($267>>>0); - if (!($268)) { + $23 = HEAP32[$12>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { break; } - $269 = HEAP32[$pTerm>>2]|0; - $270 = HEAP32[$4>>2]|0; - $271 = $5; - $272 = $271; - $273 = HEAP32[$272>>2]|0; - $274 = (($271) + 4)|0; - $275 = $274; - $276 = HEAP32[$275>>2]|0; - $277 = (_termCanDriveIndex($269,$270,$273,$276)|0); - $278 = ($277|0)!=(0); - if ($278) { - $279 = HEAP32[$pTerm>>2]|0; - $280 = ((($279)) + 28|0); - $281 = HEAP32[$280>>2]|0; - HEAP32[$iCol1>>2] = $281; - $282 = HEAP32[$iCol1>>2]|0; - $283 = ($282|0)>=(64); - if ($283) { - $289 = 0;$292 = -2147483648; - } else { - $284 = HEAP32[$iCol1>>2]|0; - $285 = (_bitshift64Shl(1,0,($284|0))|0); - $286 = tempRet0; - $289 = $285;$292 = $286; - } - $287 = $cMask2; - $288 = $287; - HEAP32[$288>>2] = $289; - $290 = (($287) + 4)|0; - $291 = $290; - HEAP32[$291>>2] = $292; - $293 = $idxCols; - $294 = $293; - $295 = HEAP32[$294>>2]|0; - $296 = (($293) + 4)|0; - $297 = $296; - $298 = HEAP32[$297>>2]|0; - $299 = $cMask2; - $300 = $299; - $301 = HEAP32[$300>>2]|0; - $302 = (($299) + 4)|0; - $303 = $302; - $304 = HEAP32[$303>>2]|0; - $305 = $295 & $301; - $306 = $298 & $304; - $307 = ($305|0)==(0); - $308 = ($306|0)==(0); - $309 = $307 & $308; - if ($309) { - $310 = HEAP32[$pTerm>>2]|0; - $311 = HEAP32[$310>>2]|0; - HEAP32[$pX>>2] = $311; - $312 = $cMask2; - $313 = $312; - $314 = HEAP32[$313>>2]|0; - $315 = (($312) + 4)|0; - $316 = $315; - $317 = HEAP32[$316>>2]|0; - $318 = $idxCols; - $319 = $318; - $320 = HEAP32[$319>>2]|0; - $321 = (($318) + 4)|0; - $322 = $321; - $323 = HEAP32[$322>>2]|0; - $324 = $320 | $314; - $325 = $323 | $317; - $326 = $idxCols; - $327 = $326; - HEAP32[$327>>2] = $324; - $328 = (($326) + 4)|0; - $329 = $328; - HEAP32[$329>>2] = $325; - $330 = HEAP32[$pTerm>>2]|0; - $331 = ((($330)) + 28|0); - $332 = HEAP32[$331>>2]|0; - $333 = $332&65535; - $334 = HEAP32[$n>>2]|0; - $335 = HEAP32[$pIdx>>2]|0; - $336 = ((($335)) + 4|0); - $337 = HEAP32[$336>>2]|0; - $338 = (($337) + ($334<<1)|0); - HEAP16[$338>>1] = $333; - $339 = HEAP32[$2>>2]|0; - $340 = HEAP32[$pX>>2]|0; - $341 = ((($340)) + 12|0); - $342 = HEAP32[$341>>2]|0; - $343 = HEAP32[$pX>>2]|0; - $344 = ((($343)) + 16|0); - $345 = HEAP32[$344>>2]|0; - $346 = (_sqlite3BinaryCompareCollSeq($339,$342,$345)|0); - HEAP32[$pColl>>2] = $346; - $347 = HEAP32[$pColl>>2]|0; - $348 = ($347|0)!=(0|0); - if ($348) { - $349 = HEAP32[$pColl>>2]|0; - $350 = HEAP32[$349>>2]|0; - $356 = $350; - } else { - $356 = 34834; - } - $351 = HEAP32[$n>>2]|0; - $352 = HEAP32[$pIdx>>2]|0; - $353 = ((($352)) + 32|0); - $354 = HEAP32[$353>>2]|0; - $355 = (($354) + ($351<<2)|0); - HEAP32[$355>>2] = $356; - $357 = HEAP32[$n>>2]|0; - $358 = (($357) + 1)|0; - HEAP32[$n>>2] = $358; + $25 = HEAP32[$12>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = HEAP32[$7>>2]|0; + $30 = ($28|0)==($29|0); + if ($30) { + $31 = HEAP32[$12>>2]|0; + $32 = ((($31)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$8>>2]|0; + $35 = (_checkColumnOverlap($33,$34)|0); + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$12>>2]|0; + $38 = ((($37)) + 9|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = HEAP32[$10>>2]|0; + $42 = $41 | $40; + HEAP32[$10>>2] = $42; } } - $359 = HEAP32[$pTerm>>2]|0; - $360 = ((($359)) + 48|0); - HEAP32[$pTerm>>2] = $360; + $43 = HEAP32[$12>>2]|0; + $44 = ((($43)) + 32|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$12>>2] = $45; } - HEAP32[$i>>2] = 0; - while(1) { - $361 = HEAP32[$i>>2]|0; - $362 = HEAP32[$mxBitCol>>2]|0; - $363 = ($361|0)<($362|0); - if (!($363)) { - break; - } - $364 = $extraCols; - $365 = $364; - $366 = HEAP32[$365>>2]|0; - $367 = (($364) + 4)|0; - $368 = $367; - $369 = HEAP32[$368>>2]|0; - $370 = HEAP32[$i>>2]|0; - $371 = (_bitshift64Shl(1,0,($370|0))|0); - $372 = tempRet0; - $373 = $366 & $371; - $374 = $369 & $372; - $375 = ($373|0)!=(0); - $376 = ($374|0)!=(0); - $377 = $375 | $376; - if ($377) { - $378 = HEAP32[$i>>2]|0; - $379 = $378&65535; - $380 = HEAP32[$n>>2]|0; - $381 = HEAP32[$pIdx>>2]|0; - $382 = ((($381)) + 4|0); - $383 = HEAP32[$382>>2]|0; - $384 = (($383) + ($380<<1)|0); - HEAP16[$384>>1] = $379; - $385 = HEAP32[$n>>2]|0; - $386 = HEAP32[$pIdx>>2]|0; - $387 = ((($386)) + 32|0); - $388 = HEAP32[$387>>2]|0; - $389 = (($388) + ($385<<2)|0); - HEAP32[$389>>2] = 34834; - $390 = HEAP32[$n>>2]|0; - $391 = (($390) + 1)|0; - HEAP32[$n>>2] = $391; - } - $392 = HEAP32[$i>>2]|0; - $393 = (($392) + 1)|0; - HEAP32[$i>>2] = $393; - } - $394 = HEAP32[$4>>2]|0; - $395 = ((($394)) + 56|0); - $396 = $395; - $397 = $396; - $398 = HEAP32[$397>>2]|0; - $399 = (($396) + 4)|0; - $400 = $399; - $401 = HEAP32[$400>>2]|0; - $402 = $401 & -2147483648; - $403 = (0)!=(0); - $404 = ($402|0)!=(0); - $405 = $403 | $404; - L61: do { - if ($405) { - HEAP32[$i>>2] = 63; - while(1) { - $406 = HEAP32[$i>>2]|0; - $407 = HEAP32[$pTable>>2]|0; - $408 = ((($407)) + 34|0); - $409 = HEAP16[$408>>1]|0; - $410 = $409 << 16 >> 16; - $411 = ($406|0)<($410|0); - if (!($411)) { - break L61; - } - $412 = HEAP32[$i>>2]|0; - $413 = $412&65535; - $414 = HEAP32[$n>>2]|0; - $415 = HEAP32[$pIdx>>2]|0; - $416 = ((($415)) + 4|0); - $417 = HEAP32[$416>>2]|0; - $418 = (($417) + ($414<<1)|0); - HEAP16[$418>>1] = $413; - $419 = HEAP32[$n>>2]|0; - $420 = HEAP32[$pIdx>>2]|0; - $421 = ((($420)) + 32|0); - $422 = HEAP32[$421>>2]|0; - $423 = (($422) + ($419<<2)|0); - HEAP32[$423>>2] = 34834; - $424 = HEAP32[$n>>2]|0; - $425 = (($424) + 1)|0; - HEAP32[$n>>2] = $425; - $426 = HEAP32[$i>>2]|0; - $427 = (($426) + 1)|0; - HEAP32[$i>>2] = $427; - } - } - } while(0); - $428 = HEAP32[$n>>2]|0; - $429 = HEAP32[$pIdx>>2]|0; - $430 = ((($429)) + 4|0); - $431 = HEAP32[$430>>2]|0; - $432 = (($431) + ($428<<1)|0); - HEAP16[$432>>1] = -1; - $433 = HEAP32[$n>>2]|0; - $434 = HEAP32[$pIdx>>2]|0; - $435 = ((($434)) + 32|0); - $436 = HEAP32[$435>>2]|0; - $437 = (($436) + ($433<<2)|0); - HEAP32[$437>>2] = 34834; - $438 = HEAP32[$2>>2]|0; - $439 = ((($438)) + 40|0); - $440 = HEAP32[$439>>2]|0; - $441 = (($440) + 1)|0; - HEAP32[$439>>2] = $441; - $442 = HEAP32[$6>>2]|0; - $443 = ((($442)) + 8|0); - HEAP32[$443>>2] = $440; - $444 = HEAP32[$v>>2]|0; - $445 = HEAP32[$6>>2]|0; - $446 = ((($445)) + 8|0); - $447 = HEAP32[$446>>2]|0; - $448 = HEAP32[$nKeyCol>>2]|0; - $449 = (($448) + 1)|0; - (_sqlite3VdbeAddOp2($444,106,$447,$449)|0); - $450 = HEAP32[$2>>2]|0; - $451 = HEAP32[$pIdx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($450,$451); - $452 = HEAP32[$2>>2]|0; - _sqlite3ExprCachePush($452); - $453 = HEAP32[$6>>2]|0; - $454 = ((($453)) + 44|0); - $455 = HEAP8[$454>>0]|0; - $456 = $455&255; - $457 = HEAP32[$3>>2]|0; - $458 = HEAP32[$457>>2]|0; - $459 = ((($458)) + 4|0); - $460 = HEAP32[$459>>2]|0; - $461 = ((($460)) + 8|0); - $462 = (($461) + (($456*72)|0)|0); - HEAP32[$pTabItem>>2] = $462; - $463 = HEAP32[$pTabItem>>2]|0; - $464 = ((($463)) + 36|0); - $465 = ((($464)) + 1|0); - $466 = HEAP8[$465>>0]|0; - $467 = ($466&255) >>> 4; - $468 = $467 & 1; - $469 = $468&255; - $470 = ($469|0)!=(0); - if ($470) { - $471 = HEAP32[$pTabItem>>2]|0; - $472 = ((($471)) + 28|0); - $473 = HEAP32[$472>>2]|0; - HEAP32[$regYield>>2] = $473; - $474 = HEAP32[$v>>2]|0; - $475 = (_sqlite3VdbeAddOp2($474,76,0,0)|0); - HEAP32[$addrCounter>>2] = $475; - $476 = HEAP32[$v>>2]|0; - $477 = HEAP32[$regYield>>2]|0; - $478 = HEAP32[$pTabItem>>2]|0; - $479 = ((($478)) + 24|0); - $480 = HEAP32[$479>>2]|0; - (_sqlite3VdbeAddOp3($476,15,$477,0,$480)|0); - $481 = HEAP32[$v>>2]|0; - $482 = HEAP32[$regYield>>2]|0; - $483 = (_sqlite3VdbeAddOp1($481,16,$482)|0); - HEAP32[$addrTop>>2] = $483; - } else { - $484 = HEAP32[$v>>2]|0; - $485 = HEAP32[$6>>2]|0; - $486 = ((($485)) + 4|0); - $487 = HEAP32[$486>>2]|0; - $488 = (_sqlite3VdbeAddOp1($484,57,$487)|0); - HEAP32[$addrTop>>2] = $488; - } - $489 = HEAP32[$pPartial>>2]|0; - $490 = ($489|0)!=(0|0); - if ($490) { - $491 = HEAP32[$v>>2]|0; - $492 = (_sqlite3VdbeMakeLabel($491)|0); - HEAP32[$iContinue>>2] = $492; - $493 = HEAP32[$2>>2]|0; - $494 = HEAP32[$pPartial>>2]|0; - $495 = HEAP32[$iContinue>>2]|0; - _sqlite3ExprIfFalse($493,$494,$495,16); - $496 = HEAP32[$pLoop>>2]|0; - $497 = ((($496)) + 36|0); - $498 = HEAP32[$497>>2]|0; - $499 = $498 | 131072; - HEAP32[$497>>2] = $499; - } - $500 = HEAP32[$2>>2]|0; - $501 = (_sqlite3GetTempReg($500)|0); - HEAP32[$regRecord>>2] = $501; - $502 = HEAP32[$2>>2]|0; - $503 = HEAP32[$pIdx>>2]|0; - $504 = HEAP32[$6>>2]|0; - $505 = ((($504)) + 4|0); - $506 = HEAP32[$505>>2]|0; - $507 = HEAP32[$regRecord>>2]|0; - $508 = (_sqlite3GenerateIndexKey($502,$503,$506,$507,0,0,0,0)|0); - HEAP32[$regBase>>2] = $508; - $509 = HEAP32[$v>>2]|0; - $510 = HEAP32[$6>>2]|0; - $511 = ((($510)) + 8|0); - $512 = HEAP32[$511>>2]|0; - $513 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp2($509,126,$512,$513)|0); - $514 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($514,16); - $515 = HEAP32[$pPartial>>2]|0; - $516 = ($515|0)!=(0|0); - if ($516) { - $517 = HEAP32[$v>>2]|0; - $518 = HEAP32[$iContinue>>2]|0; - _sqlite3VdbeResolveLabel($517,$518); - } - $519 = HEAP32[$pTabItem>>2]|0; - $520 = ((($519)) + 36|0); - $521 = ((($520)) + 1|0); - $522 = HEAP8[$521>>0]|0; - $523 = ($522&255) >>> 4; - $524 = $523 & 1; - $525 = $524&255; - $526 = ($525|0)!=(0); - $527 = HEAP32[$v>>2]|0; - if ($526) { - $528 = HEAP32[$addrCounter>>2]|0; - $529 = HEAP32[$regBase>>2]|0; - $530 = HEAP32[$n>>2]|0; - $531 = (($529) + ($530))|0; - _sqlite3VdbeChangeP2($527,$528,$531); - $532 = HEAP32[$v>>2]|0; - $533 = HEAP32[$addrTop>>2]|0; - $534 = HEAP32[$6>>2]|0; - $535 = ((($534)) + 4|0); - $536 = HEAP32[$535>>2]|0; - $537 = HEAP32[$pTabItem>>2]|0; - $538 = ((($537)) + 32|0); - $539 = HEAP32[$538>>2]|0; - _translateColumnToCopy($532,$533,$536,$539,1); - $540 = HEAP32[$v>>2]|0; - $541 = HEAP32[$addrTop>>2]|0; - (_sqlite3VdbeGoto($540,$541)|0); - $542 = HEAP32[$pTabItem>>2]|0; - $543 = ((($542)) + 36|0); - $544 = ((($543)) + 1|0); - $545 = HEAP8[$544>>0]|0; - $546 = $545 & -17; - HEAP8[$544>>0] = $546; - } else { - $547 = HEAP32[$6>>2]|0; - $548 = ((($547)) + 4|0); - $549 = HEAP32[$548>>2]|0; - $550 = HEAP32[$addrTop>>2]|0; - $551 = (($550) + 1)|0; - (_sqlite3VdbeAddOp2($527,7,$549,$551)|0); - } - $552 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($552,3); - $553 = HEAP32[$v>>2]|0; - $554 = HEAP32[$addrTop>>2]|0; - _sqlite3VdbeJumpHere($553,$554); - $555 = HEAP32[$2>>2]|0; - $556 = HEAP32[$regRecord>>2]|0; - _sqlite3ReleaseTempReg($555,$556); - $557 = HEAP32[$2>>2]|0; - _sqlite3ExprCachePop($557); - $558 = HEAP32[$v>>2]|0; - $559 = HEAP32[$addrInit>>2]|0; - _sqlite3VdbeJumpHere($558,$559); - $560 = HEAP32[$2>>2]|0; - $561 = HEAP32[$560>>2]|0; - $562 = HEAP32[$pPartial>>2]|0; - _sqlite3ExprDelete($561,$562); - STACKTOP = sp;return; + $46 = HEAP32[$9>>2]|0; + $47 = ($46|0)!=(0|0); + if (!($47)) { + $50 = HEAP32[$10>>2]|0; + $51 = ($50|0)!=(0); + $52 = HEAP32[$11>>2]|0; + $53 = $51 ? $52 : 0; + STACKTOP = sp;return ($53|0); + } + $48 = HEAP32[$10>>2]|0; + $49 = HEAP32[$9>>2]|0; + HEAP32[$49>>2] = $48; + $50 = HEAP32[$10>>2]|0; + $51 = ($50|0)!=(0); + $52 = HEAP32[$11>>2]|0; + $53 = $51 ? $52 : 0; + STACKTOP = sp;return ($53|0); } -function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { - $pParse = $pParse|0; - $pTabList = $pTabList|0; - $pLevel = $pLevel|0; - $iLevel = $iLevel|0; - $iFrom = $iFrom|0; - $wctrlFlags = $wctrlFlags|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $flags = 0, $iId = 0, $isSearch = 0, $pIdx = 0, $pItem = 0, $pLoop = 0, $ret = 0, $str = 0; - var $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr16 = 0, $zBuf = 0, $zFmt = 0, $zMsg = 0, $zRangeOp = 0, label = 0, sp = 0; +function _sqlite3IsReadOnly($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; + STACKTOP = STACKTOP + 32|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 144|0; - $1 = sp + 140|0; - $2 = sp + 136|0; - $3 = sp + 132|0; - $4 = sp + 128|0; - $5 = sp + 124|0; - $6 = sp + 148|0; - $ret = sp + 120|0; - $pItem = sp + 116|0; - $v = sp + 112|0; - $db = sp + 108|0; - $iId = sp + 104|0; - $isSearch = sp + 100|0; - $pLoop = sp + 96|0; - $flags = sp + 92|0; - $zMsg = sp + 88|0; - $str = sp + 60|0; - $zBuf = sp + 152|0; - $zFmt = sp + 56|0; - $pIdx = sp + 52|0; - $zRangeOp = sp + 48|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTabList; - HEAP32[$3>>2] = $pLevel; - HEAP32[$4>>2] = $iLevel; - HEAP32[$5>>2] = $iFrom; - HEAP16[$6>>1] = $wctrlFlags; - HEAP32[$ret>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 409|0); + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $7 = HEAP32[$5>>2]|0; + $8 = ((($7)) + 42|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; - $11 = ($10|0)==(2); + $11 = $10 & 16; + $12 = ($11|0)!=(0); + if ($12) { + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = (_sqlite3GetVTable($14,$15)|0); + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 52|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0|0); + if (!($22)) { + label = 3; + } + } else { + label = 3; + } do { - if ($11) { - $12 = HEAP32[$3>>2]|0; - $13 = ((($12)) + 44|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 8|0); - $18 = (($17) + (($15*72)|0)|0); - HEAP32[$pItem>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$v>>2] = $21; - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$22>>2]|0; - HEAP32[$db>>2] = $23; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 420|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$iId>>2] = $26; - $27 = HEAP32[$3>>2]|0; - $28 = ((($27)) + 64|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$pLoop>>2] = $29; - $30 = HEAP32[$pLoop>>2]|0; - $31 = ((($30)) + 36|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$flags>>2] = $32; - $33 = HEAP32[$flags>>2]|0; - $34 = $33 & 8192; - $35 = ($34|0)!=(0); - if (!($35)) { - $36 = HEAP16[$6>>1]|0; - $37 = $36&65535; - $38 = $37 & 32; - $39 = ($38|0)!=(0); - if (!($39)) { - $40 = HEAP32[$flags>>2]|0; - $41 = $40 & 48; - $42 = ($41|0)!=(0); - do { - if ($42) { - $56 = 1; - } else { - $43 = HEAP32[$flags>>2]|0; - $44 = $43 & 1024; - $45 = ($44|0)==(0); - if ($45) { - $46 = HEAP32[$pLoop>>2]|0; - $47 = ((($46)) + 24|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = ($49|0)>(0); - if ($50) { - $56 = 1; - break; - } - } - $51 = HEAP16[$6>>1]|0; - $52 = $51&65535; - $53 = $52 & 3; - $54 = ($53|0)!=(0); - $56 = $54; - } - } while(0); - $55 = $56&1; - HEAP32[$isSearch>>2] = $55; - $57 = HEAP32[$db>>2]|0; - _sqlite3StrAccumInit($str,$57,$zBuf,100,1000000000); - $58 = HEAP32[$isSearch>>2]|0; - $59 = ($58|0)!=(0); - $60 = $59 ? 34452 : 34459; - _sqlite3StrAccumAppendAll($str,$60); - $61 = HEAP32[$pItem>>2]|0; - $62 = ((($61)) + 20|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)!=(0|0); - $65 = HEAP32[$pItem>>2]|0; - if ($64) { - $66 = ((($65)) + 40|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - HEAP32[$vararg_buffer>>2] = $68; - _sqlite3XPrintf($str,34464,$vararg_buffer); - } else { - $69 = ((($65)) + 8|0); - $70 = HEAP32[$69>>2]|0; - HEAP32[$vararg_buffer1>>2] = $70; - _sqlite3XPrintf($str,34477,$vararg_buffer1); - } - $71 = HEAP32[$pItem>>2]|0; - $72 = ((($71)) + 12|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)!=(0|0); - if ($74) { - $75 = HEAP32[$pItem>>2]|0; - $76 = ((($75)) + 12|0); - $77 = HEAP32[$76>>2]|0; - HEAP32[$vararg_buffer4>>2] = $77; - _sqlite3XPrintf($str,34487,$vararg_buffer4); + if ((label|0) == 3) { + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 42|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = $26 & 1; + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 24|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 & 2048; + $34 = ($33|0)==(0); + if ($34) { + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 18|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = ($38|0)==(0); + if ($39) { + break; } - $78 = HEAP32[$flags>>2]|0; - $79 = $78 & 1280; - $80 = ($79|0)==(0); - do { - if ($80) { - HEAP32[$zFmt>>2] = 0; - $81 = HEAP32[$pLoop>>2]|0; - $82 = ((($81)) + 24|0); - $83 = ((($82)) + 8|0); - $84 = HEAP32[$83>>2]|0; - HEAP32[$pIdx>>2] = $84; - $85 = HEAP32[$pItem>>2]|0; - $86 = ((($85)) + 16|0); - $87 = HEAP32[$86>>2]|0; - $88 = ((($87)) + 42|0); - $89 = HEAP8[$88>>0]|0; - $90 = $89&255; - $91 = $90 & 32; - $92 = ($91|0)==(0); - if ($92) { - label = 19; - } else { - $93 = HEAP32[$pIdx>>2]|0; - $94 = ((($93)) + 55|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95 & 3; - $97 = $96&255; - $98 = ($97|0)==(2); - if ($98) { - $99 = HEAP32[$isSearch>>2]|0; - $100 = ($99|0)!=(0); - if ($100) { - HEAP32[$zFmt>>2] = 34494; - } - } else { - label = 19; - } - } - do { - if ((label|0) == 19) { - $101 = HEAP32[$flags>>2]|0; - $102 = $101 & 131072; - $103 = ($102|0)!=(0); - if ($103) { - HEAP32[$zFmt>>2] = 34506; - break; - } - $104 = HEAP32[$flags>>2]|0; - $105 = $104 & 16384; - $106 = ($105|0)!=(0); - if ($106) { - HEAP32[$zFmt>>2] = 34539; - break; - } - $107 = HEAP32[$flags>>2]|0; - $108 = $107 & 64; - $109 = ($108|0)!=(0); - if ($109) { - HEAP32[$zFmt>>2] = 34564; - break; - } else { - HEAP32[$zFmt>>2] = 34582; - break; - } - } - } while(0); - $110 = HEAP32[$zFmt>>2]|0; - $111 = ($110|0)!=(0|0); - if ($111) { - _sqlite3StrAccumAppend($str,34591,7); - $112 = HEAP32[$zFmt>>2]|0; - $113 = HEAP32[$pIdx>>2]|0; - $114 = HEAP32[$113>>2]|0; - HEAP32[$vararg_buffer7>>2] = $114; - _sqlite3XPrintf($str,$112,$vararg_buffer7); - $115 = HEAP32[$pLoop>>2]|0; - _explainIndexRange($str,$115); - } - } else { - $116 = HEAP32[$flags>>2]|0; - $117 = $116 & 256; - $118 = ($117|0)!=(0); - if ($118) { - $119 = HEAP32[$flags>>2]|0; - $120 = $119 & 15; - $121 = ($120|0)!=(0); - if ($121) { - $122 = HEAP32[$flags>>2]|0; - $123 = $122 & 5; - $124 = ($123|0)!=(0); - do { - if ($124) { - HEAP32[$zRangeOp>>2] = 34599; - } else { - $125 = HEAP32[$flags>>2]|0; - $126 = $125 & 48; - $127 = ($126|0)==(48); - if ($127) { - HEAP32[$zRangeOp>>2] = 34601; - break; - } - $128 = HEAP32[$flags>>2]|0; - $129 = $128 & 32; - $130 = ($129|0)!=(0); - if ($130) { - HEAP32[$zRangeOp>>2] = 34615; - break; - } else { - HEAP32[$zRangeOp>>2] = 34617; - break; - } - } - } while(0); - $131 = HEAP32[$zRangeOp>>2]|0; - HEAP32[$vararg_buffer10>>2] = $131; - _sqlite3XPrintf($str,34619,$vararg_buffer10); - break; - } - } - $132 = HEAP32[$flags>>2]|0; - $133 = $132 & 1024; - $134 = ($133|0)!=(0); - if ($134) { - $135 = HEAP32[$pLoop>>2]|0; - $136 = ((($135)) + 24|0); - $137 = HEAP32[$136>>2]|0; - $138 = HEAP32[$pLoop>>2]|0; - $139 = ((($138)) + 24|0); - $140 = ((($139)) + 8|0); - $141 = HEAP32[$140>>2]|0; - HEAP32[$vararg_buffer13>>2] = $137; - $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); - HEAP32[$vararg_ptr16>>2] = $141; - _sqlite3XPrintf($str,34657,$vararg_buffer13); - } - } - } while(0); - $142 = (_sqlite3StrAccumFinish($str)|0); - HEAP32[$zMsg>>2] = $142; - $143 = HEAP32[$v>>2]|0; - $144 = HEAP32[$iId>>2]|0; - $145 = HEAP32[$4>>2]|0; - $146 = HEAP32[$5>>2]|0; - $147 = HEAP32[$zMsg>>2]|0; - $148 = (_sqlite3VdbeAddOp4($143,162,$144,$145,$146,$147,-1)|0); - HEAP32[$ret>>2] = $148; - break; } } - HEAP32[$0>>2] = 0; - $150 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($150|0); + $43 = HEAP32[$6>>2]|0; + $44 = ($43|0)!=(0); + if (!($44)) { + $45 = HEAP32[$5>>2]|0; + $46 = ((($45)) + 12|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)!=(0|0); + if ($48) { + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$50>>2]|0; + HEAP32[$vararg_buffer1>>2] = $51; + _sqlite3ErrorMsg($49,34685,$vararg_buffer1); + HEAP32[$3>>2] = 1; + $52 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($52|0); + } + } + HEAP32[$3>>2] = 0; + $52 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($52|0); } } while(0); - $149 = HEAP32[$ret>>2]|0; - HEAP32[$0>>2] = $149; - $150 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($150|0); + $40 = HEAP32[$4>>2]|0; + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$41>>2]|0; + HEAP32[$vararg_buffer>>2] = $42; + _sqlite3ErrorMsg($40,34656,$vararg_buffer); + HEAP32[$3>>2] = 1; + $52 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($52|0); +} +function _sqlite3VdbeCountChanges($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 144|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4 & -17; + $6 = $5 | 16; + HEAP16[$3>>1] = $6; + STACKTOP = sp;return; } -function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { - $pWInfo = $pWInfo|0; - $iLevel = $iLevel|0; +function _xferOptimization($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; - var $$old1 = 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, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0; - var $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, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0; - var $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, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0; - var $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, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0; - var $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, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0; - var $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0; - var $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0; - var $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0; - var $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0; - var $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0; - var $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0; - var $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0; - var $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0; - var $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0; - var $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0; - var $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0; - var $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0; - var $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0; - var $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0; - var $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0; - var $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0; - var $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0; - var $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0; - var $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0; - var $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0; - var $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0; - var $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0; - var $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0; - var $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0; - var $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0; - var $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0; - var $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0; - var $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0; - var $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0; - var $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0; - var $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0; - var $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0; - var $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0; - var $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0; - var $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0; - var $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0; - var $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; - var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; - var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $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, $231 = 0, $232 = 0; - var $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, $25 = 0, $250 = 0; - var $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, $268 = 0, $269 = 0; - var $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, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0; - var $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, $322 = 0; - var $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, $340 = 0; - var $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, $359 = 0; - var $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, $377 = 0; - var $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, $395 = 0; - var $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, $41 = 0, $410 = 0, $411 = 0, $412 = 0; - var $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, $428 = 0, $429 = 0, $43 = 0, $430 = 0; - var $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0; - var $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, $464 = 0, $465 = 0, $466 = 0, $467 = 0; - var $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0; - var $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0; - var $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0; - var $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0; - var $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0; - var $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0; - var $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0; - var $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, $608 = 0, $609 = 0, $61 = 0, $610 = 0; - var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0; - var $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0; - var $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0; - var $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0; - var $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0; - var $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0; - var $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0; - var $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0; - var $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0; - var $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0; - var $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0; - var $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, $824 = 0, $825 = 0, $826 = 0, $827 = 0; - var $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, $842 = 0, $843 = 0, $844 = 0, $845 = 0; - var $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, $860 = 0, $861 = 0, $862 = 0, $863 = 0; - var $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, $879 = 0, $88 = 0, $880 = 0, $881 = 0; - var $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, $897 = 0, $898 = 0, $899 = 0, $9 = 0; - var $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, $914 = 0, $915 = 0, $916 = 0, $917 = 0; - var $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, $932 = 0, $933 = 0, $934 = 0, $935 = 0; - var $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, $950 = 0, $951 = 0, $952 = 0, $953 = 0; - var $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, $969 = 0, $97 = 0, $970 = 0, $971 = 0; - var $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, $987 = 0, $988 = 0, $989 = 0, $99 = 0; - var $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $addrBrk = 0, $addrCont = 0, $addrExplain = 0, $addrNotFound = 0, $addrNxt = 0, $bRev = 0, $bSeekPastNull = 0, $bStopAtNull = 0, $db = 0, $endEq = 0; - var $iCol = 0, $iCovCur = 0, $iCur = 0, $iIdxCur = 0, $iIn = 0, $iLoopBody = 0, $iPk = 0, $iReg = 0, $iReleaseReg = 0, $iRetInit = 0, $iRowidReg = 0, $iSet = 0, $iTarget = 0, $iTerm = 0, $ii = 0, $j = 0, $jmp1 = 0, $k = 0, $memEndValue = 0, $nBtm = 0; - var $nConstraint = 0, $nConstraint3 = 0, $nEq = 0, $nExtraReg = 0, $nNotReady = 0, $nPk = 0, $nTop = 0, $omitTable = 0, $op = 0, $op4 = 0, $or$cond = 0, $origSrc = 0, $pAlt = 0, $pAndExpr = 0, $pCompare = 0, $pCov = 0, $pE = 0, $pE11 = 0, $pEnd = 0, $pExpr = 0; - var $pIdx = 0, $pLevel = 0, $pLoop = 0, $pOp = 0, $pOrExpr = 0, $pOrTab = 0, $pOrTerm = 0, $pOrWc = 0, $pParse = 0, $pPk = 0, $pPk10 = 0, $pPk9 = 0, $pRangeEnd = 0, $pRangeStart = 0, $pRight = 0, $pRight1 = 0, $pRight7 = 0, $pRight8 = 0, $pStart = 0, $pSubLoop = 0; - var $pSubWInfo = 0, $pTab = 0, $pTabItem = 0, $pTerm = 0, $pWC = 0, $pX = 0, $pX2 = 0, $r = 0, $r1 = 0, $rTemp = 0, $regBase = 0, $regReturn = 0, $regRowid = 0, $regRowset = 0, $regYield = 0, $sEAlt = 0, $skipLikeAddr = 0, $start = 0, $startEq = 0, $start_constraints = 0; - var $t = 0, $t5 = 0, $t6 = 0, $testOp = 0, $untestedTerms = 0, $v = 0, $wctrlFlags = 0, $x = 0, $zEndAff = 0, $zStartAff = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$old = 0, $$old1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; + var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; + var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0; + var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0; + var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0; + var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0; + var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; + var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0; + var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $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, $or$cond4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 448|0; - $2 = sp + 8|0; - $3 = sp + 432|0; - $4 = sp + 428|0; - $5 = sp; - $j = sp + 424|0; - $k = sp + 420|0; - $iCur = sp + 416|0; - $addrNxt = sp + 412|0; - $omitTable = sp + 408|0; - $bRev = sp + 404|0; - $pLevel = sp + 400|0; - $pLoop = sp + 396|0; - $pWC = sp + 392|0; - $pTerm = sp + 388|0; - $pParse = sp + 384|0; - $db = sp + 380|0; - $v = sp + 376|0; - $pTabItem = sp + 372|0; - $addrBrk = sp + 368|0; - $addrCont = sp + 364|0; - $iRowidReg = sp + 360|0; - $iReleaseReg = sp + 356|0; - $regYield = sp + 352|0; - $iReg = sp + 348|0; - $addrNotFound = sp + 344|0; - $nConstraint = sp + 340|0; - $iIn = sp + 336|0; - $iTarget = sp + 332|0; - $pRight = sp + 328|0; - $pCompare = sp + 324|0; - $pRight1 = sp + 320|0; - $pOp = sp + 316|0; - $testOp = sp + 312|0; - $start = sp + 308|0; - $memEndValue = sp + 304|0; - $pStart = sp + 300|0; - $pEnd = sp + 296|0; - $pX = sp + 292|0; - $r1 = sp + 288|0; - $rTemp = sp + 284|0; - $op = sp + 280|0; - $pX2 = sp + 276|0; - $nEq = sp + 442|0; - $nBtm = sp + 440|0; - $nTop = sp + 438|0; - $regBase = sp + 272|0; - $pRangeStart = sp + 268|0; - $pRangeEnd = sp + 264|0; - $startEq = sp + 260|0; - $endEq = sp + 256|0; - $start_constraints = sp + 252|0; - $nConstraint3 = sp + 248|0; - $pIdx = sp + 244|0; - $iIdxCur = sp + 240|0; - $nExtraReg = sp + 236|0; - $op4 = sp + 232|0; - $zStartAff = sp + 228|0; - $zEndAff = sp + 224|0; - $bSeekPastNull = sp + 447|0; - $bStopAtNull = sp + 446|0; - $t = sp + 220|0; - $t5 = sp + 445|0; - $t6 = sp + 444|0; - $pRight7 = sp + 216|0; - $pRight8 = sp + 212|0; - $pPk = sp + 208|0; - $pOrWc = sp + 204|0; - $pOrTab = sp + 200|0; - $pCov = sp + 196|0; - $iCovCur = sp + 192|0; - $regReturn = sp + 188|0; - $regRowset = sp + 184|0; - $regRowid = sp + 180|0; - $iLoopBody = sp + 176|0; - $iRetInit = sp + 172|0; - $untestedTerms = sp + 168|0; - $ii = sp + 164|0; - $wctrlFlags = sp + 436|0; - $pAndExpr = sp + 160|0; - $pTab = sp + 156|0; - $nNotReady = sp + 152|0; - $origSrc = sp + 148|0; - $pPk9 = sp + 144|0; - $iTerm = sp + 140|0; - $pExpr = sp + 136|0; - $pOrTerm = sp + 132|0; - $pSubWInfo = sp + 128|0; - $pOrExpr = sp + 124|0; - $jmp1 = sp + 120|0; - $pSubLoop = sp + 116|0; - $addrExplain = sp + 112|0; - $r = sp + 108|0; - $iSet = sp + 104|0; - $pPk10 = sp + 100|0; - $nPk = sp + 96|0; - $iPk = sp + 92|0; - $iCol = sp + 88|0; - $pE = sp + 84|0; - $skipLikeAddr = sp + 80|0; - $x = sp + 76|0; - $pE11 = sp + 72|0; - $sEAlt = sp + 24|0; - $pAlt = sp + 16|0; - HEAP32[$3>>2] = $pWInfo; - HEAP32[$4>>2] = $iLevel; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$iRowidReg>>2] = 0; - HEAP32[$iReleaseReg>>2] = 0; - $10 = HEAP32[$3>>2]|0; - $11 = HEAP32[$10>>2]|0; - HEAP32[$pParse>>2] = $11; - $12 = HEAP32[$pParse>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$v>>2] = $14; - $15 = HEAP32[$3>>2]|0; - $16 = ((($15)) + 80|0); - HEAP32[$pWC>>2] = $16; - $17 = HEAP32[$pParse>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$db>>2] = $18; - $19 = HEAP32[$4>>2]|0; - $20 = HEAP32[$3>>2]|0; - $21 = ((($20)) + 752|0); - $22 = (($21) + (($19*80)|0)|0); - HEAP32[$pLevel>>2] = $22; - $23 = HEAP32[$pLevel>>2]|0; - $24 = ((($23)) + 64|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pLoop>>2] = $25; - $26 = HEAP32[$pLevel>>2]|0; - $27 = ((($26)) + 44|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = HEAP32[$3>>2]|0; - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = ((($32)) + 8|0); - $34 = (($33) + (($29*72)|0)|0); - HEAP32[$pTabItem>>2] = $34; - $35 = HEAP32[$pTabItem>>2]|0; - $36 = ((($35)) + 44|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$iCur>>2] = $37; - $38 = $5; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$3>>2]|0; - $45 = ((($44)) + 488|0); - $46 = HEAP32[$iCur>>2]|0; - $47 = (_sqlite3WhereGetMask($45,$46)|0); - $48 = tempRet0; - $49 = $47 ^ -1; - $50 = $48 ^ -1; - $51 = $40 & $49; - $52 = $43 & $50; - $53 = HEAP32[$pLevel>>2]|0; - $54 = ((($53)) + 72|0); - $55 = $54; - $56 = $55; - HEAP32[$56>>2] = $51; - $57 = (($55) + 4)|0; - $58 = $57; - HEAP32[$58>>2] = $52; - $59 = HEAP32[$3>>2]|0; - $60 = ((($59)) + 64|0); - $61 = $60; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$4>>2]|0; - $68 = (_bitshift64Lshr(($63|0),($66|0),($67|0))|0); - $69 = tempRet0; - $70 = $68 & 1; - HEAP32[$bRev>>2] = $70; - $71 = HEAP32[$pLoop>>2]|0; - $72 = ((($71)) + 36|0); - $73 = HEAP32[$72>>2]|0; - $74 = $73 & 64; - $75 = ($74|0)!=(0); - if ($75) { - $76 = HEAP32[$3>>2]|0; - $77 = ((($76)) + 40|0); - $78 = HEAP16[$77>>1]|0; - $79 = $78&65535; - $80 = $79 & 32; - $81 = ($80|0)==(0); - $83 = $81; - } else { - $83 = 0; - } - $82 = $83&1; - HEAP32[$omitTable>>2] = $82; - $84 = HEAP32[$v>>2]|0; - $85 = (_sqlite3VdbeMakeLabel($84)|0); - $86 = HEAP32[$pLevel>>2]|0; - $87 = ((($86)) + 16|0); - HEAP32[$87>>2] = $85; - $88 = HEAP32[$pLevel>>2]|0; - $89 = ((($88)) + 12|0); - HEAP32[$89>>2] = $85; - HEAP32[$addrBrk>>2] = $85; - $90 = HEAP32[$v>>2]|0; - $91 = (_sqlite3VdbeMakeLabel($90)|0); - $92 = HEAP32[$pLevel>>2]|0; - $93 = ((($92)) + 24|0); - HEAP32[$93>>2] = $91; - HEAP32[$addrCont>>2] = $91; - $94 = HEAP32[$pLevel>>2]|0; - $95 = ((($94)) + 44|0); - $96 = HEAP8[$95>>0]|0; - $97 = $96&255; - $98 = ($97|0)>(0); - if ($98) { - $99 = HEAP32[$pTabItem>>2]|0; - $100 = ((($99)) + 36|0); - $101 = HEAP8[$100>>0]|0; - $102 = $101&255; - $103 = $102 & 8; - $104 = ($103|0)!=(0); - if ($104) { - $105 = HEAP32[$pParse>>2]|0; - $106 = ((($105)) + 44|0); - $107 = HEAP32[$106>>2]|0; - $108 = (($107) + 1)|0; - HEAP32[$106>>2] = $108; - $109 = HEAP32[$pLevel>>2]|0; - HEAP32[$109>>2] = $108; - $110 = HEAP32[$v>>2]|0; - $111 = HEAP32[$pLevel>>2]|0; - $112 = HEAP32[$111>>2]|0; - (_sqlite3VdbeAddOp2($110,76,0,$112)|0); - } + STACKTOP = STACKTOP + 128|0; + $5 = sp + 108|0; + $6 = sp + 104|0; + $7 = sp + 100|0; + $8 = sp + 96|0; + $9 = sp + 92|0; + $10 = sp + 88|0; + $11 = sp + 84|0; + $12 = sp + 80|0; + $13 = sp + 76|0; + $14 = sp + 72|0; + $15 = sp + 68|0; + $16 = sp + 64|0; + $17 = sp + 60|0; + $18 = sp + 56|0; + $19 = sp + 52|0; + $20 = sp + 48|0; + $21 = sp + 44|0; + $22 = sp + 40|0; + $23 = sp + 36|0; + $24 = sp + 32|0; + $25 = sp + 28|0; + $26 = sp + 24|0; + $27 = sp + 20|0; + $28 = sp + 16|0; + $29 = sp + 12|0; + $30 = sp + 8|0; + $31 = sp + 4|0; + $32 = sp + 112|0; + $33 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$34>>2]|0; + HEAP32[$11>>2] = $35; + HEAP32[$23>>2] = 0; + HEAP32[$24>>2] = 0; + HEAP32[$27>>2] = 0; + $36 = HEAP32[$8>>2]|0; + $37 = ($36|0)==(0|0); + if ($37) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); } - $113 = HEAP32[$pTabItem>>2]|0; - $114 = ((($113)) + 36|0); - $115 = ((($114)) + 1|0); - $116 = HEAP8[$115>>0]|0; - $117 = ($116&255) >>> 4; - $118 = $117 & 1; - $119 = $118&255; - $120 = ($119|0)!=(0); - do { - if ($120) { - $121 = HEAP32[$pTabItem>>2]|0; - $122 = ((($121)) + 28|0); - $123 = HEAP32[$122>>2]|0; - HEAP32[$regYield>>2] = $123; - $124 = HEAP32[$v>>2]|0; - $125 = HEAP32[$regYield>>2]|0; - $126 = HEAP32[$pTabItem>>2]|0; - $127 = ((($126)) + 24|0); - $128 = HEAP32[$127>>2]|0; - (_sqlite3VdbeAddOp3($124,15,$125,0,$128)|0); - $129 = HEAP32[$v>>2]|0; - $130 = HEAP32[$regYield>>2]|0; - $131 = HEAP32[$addrBrk>>2]|0; - $132 = (_sqlite3VdbeAddOp2($129,16,$130,$131)|0); - $133 = HEAP32[$pLevel>>2]|0; - $134 = ((($133)) + 52|0); - HEAP32[$134>>2] = $132; - $135 = HEAP32[$pLevel>>2]|0; - $136 = ((($135)) + 45|0); - HEAP8[$136>>0] = 13; - } else { - $137 = HEAP32[$pLoop>>2]|0; - $138 = ((($137)) + 36|0); - $139 = HEAP32[$138>>2]|0; - $140 = $139 & 1024; - $141 = ($140|0)!=(0); - $142 = HEAP32[$pLoop>>2]|0; - if ($141) { - $143 = ((($142)) + 40|0); - $144 = HEAP16[$143>>1]|0; - $145 = $144&65535; - HEAP32[$nConstraint>>2] = $145; - $146 = HEAP32[$pParse>>2]|0; - _sqlite3ExprCachePush($146); - $147 = HEAP32[$pParse>>2]|0; - $148 = HEAP32[$nConstraint>>2]|0; - $149 = (($148) + 2)|0; - $150 = (_sqlite3GetTempRange($147,$149)|0); - HEAP32[$iReg>>2] = $150; - $151 = HEAP32[$pLevel>>2]|0; - $152 = ((($151)) + 12|0); - $153 = HEAP32[$152>>2]|0; - HEAP32[$addrNotFound>>2] = $153; - HEAP32[$j>>2] = 0; - while(1) { - $154 = HEAP32[$j>>2]|0; - $155 = HEAP32[$nConstraint>>2]|0; - $156 = ($154|0)<($155|0); - if (!($156)) { - break; - } - $157 = HEAP32[$iReg>>2]|0; - $158 = HEAP32[$j>>2]|0; - $159 = (($157) + ($158))|0; - $160 = (($159) + 2)|0; - HEAP32[$iTarget>>2] = $160; - $161 = HEAP32[$j>>2]|0; - $162 = HEAP32[$pLoop>>2]|0; - $163 = ((($162)) + 48|0); - $164 = HEAP32[$163>>2]|0; - $165 = (($164) + ($161<<2)|0); - $166 = HEAP32[$165>>2]|0; - HEAP32[$pTerm>>2] = $166; - $167 = HEAP32[$pTerm>>2]|0; - $168 = ($167|0)==(0|0); - do { - if (!($168)) { - $169 = HEAP32[$pTerm>>2]|0; - $170 = ((($169)) + 12|0); - $171 = HEAP16[$170>>1]|0; - $172 = $171&65535; - $173 = $172 & 1; - $174 = ($173|0)!=(0); - if ($174) { - $175 = HEAP32[$pParse>>2]|0; - $176 = HEAP32[$pTerm>>2]|0; - $177 = HEAP32[$pLevel>>2]|0; - $178 = HEAP32[$j>>2]|0; - $179 = HEAP32[$bRev>>2]|0; - $180 = HEAP32[$iTarget>>2]|0; - (_codeEqualityTerm($175,$176,$177,$178,$179,$180)|0); - $181 = HEAP32[$pLevel>>2]|0; - $182 = ((($181)) + 16|0); - $183 = HEAP32[$182>>2]|0; - HEAP32[$addrNotFound>>2] = $183; - break; - } else { - $184 = HEAP32[$pTerm>>2]|0; - $185 = HEAP32[$184>>2]|0; - $186 = ((($185)) + 16|0); - $187 = HEAP32[$186>>2]|0; - HEAP32[$pRight>>2] = $187; - $188 = HEAP32[$pParse>>2]|0; - $189 = HEAP32[$pRight>>2]|0; - $190 = HEAP32[$iTarget>>2]|0; - _codeExprOrVector($188,$189,$190,1); - break; - } - } - } while(0); - $191 = HEAP32[$j>>2]|0; - $192 = (($191) + 1)|0; - HEAP32[$j>>2] = $192; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 472|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)!=(0|0); + if (!($41)) { + $42 = HEAP32[$8>>2]|0; + $43 = ((($42)) + 64|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)!=(0|0); + if (!($45)) { + $46 = HEAP32[$6>>2]|0; + $47 = HEAP32[$7>>2]|0; + $48 = (_sqlite3TriggerList($46,$47)|0); + $49 = ($48|0)!=(0|0); + if ($49) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $50 = HEAP32[$7>>2]|0; + $51 = ((($50)) + 42|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $53 & 16; + $55 = ($54|0)!=(0); + if ($55) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $56 = HEAP32[$9>>2]|0; + $57 = ($56|0)==(10); + if ($57) { + $58 = HEAP32[$7>>2]|0; + $59 = ((($58)) + 32|0); + $60 = HEAP16[$59>>1]|0; + $61 = $60 << 16 >> 16; + $62 = ($61|0)>=(0); + if ($62) { + $63 = HEAP32[$7>>2]|0; + $64 = ((($63)) + 43|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + HEAP32[$9>>2] = $66; } - $193 = HEAP32[$v>>2]|0; - $194 = HEAP32[$pLoop>>2]|0; - $195 = ((($194)) + 24|0); - $196 = HEAP32[$195>>2]|0; - $197 = HEAP32[$iReg>>2]|0; - (_sqlite3VdbeAddOp2($193,76,$196,$197)|0); - $198 = HEAP32[$v>>2]|0; - $199 = HEAP32[$nConstraint>>2]|0; - $200 = HEAP32[$iReg>>2]|0; - $201 = (($200) + 1)|0; - (_sqlite3VdbeAddOp2($198,76,$199,$201)|0); - $202 = HEAP32[$v>>2]|0; - $203 = HEAP32[$iCur>>2]|0; - $204 = HEAP32[$addrNotFound>>2]|0; - $205 = HEAP32[$iReg>>2]|0; - $206 = HEAP32[$pLoop>>2]|0; - $207 = ((($206)) + 24|0); - $208 = ((($207)) + 8|0); - $209 = HEAP32[$208>>2]|0; - $210 = HEAP32[$pLoop>>2]|0; - $211 = ((($210)) + 24|0); - $212 = ((($211)) + 4|0); - $213 = HEAP8[$212>>0]|0; - $214 = $213&255; - $215 = ($214|0)!=(0); - $216 = $215 ? -11 : -2; - (_sqlite3VdbeAddOp4($202,11,$203,$204,$205,$209,$216)|0); - $217 = HEAP32[$pLoop>>2]|0; - $218 = ((($217)) + 24|0); - $219 = ((($218)) + 4|0); - HEAP8[$219>>0] = 0; - $220 = HEAP32[$iCur>>2]|0; - $221 = HEAP32[$pLevel>>2]|0; - $222 = ((($221)) + 48|0); - HEAP32[$222>>2] = $220; - $223 = HEAP32[$3>>2]|0; - $224 = ((($223)) + 45|0); - $225 = HEAP8[$224>>0]|0; - $226 = $225&255; - $227 = ($226|0)!=(0); - $228 = $227 ? 161 : 70; - $229 = $228&255; - $230 = HEAP32[$pLevel>>2]|0; - $231 = ((($230)) + 45|0); - HEAP8[$231>>0] = $229; - $232 = HEAP32[$v>>2]|0; - $233 = (_sqlite3VdbeCurrentAddr($232)|0); - $234 = HEAP32[$pLevel>>2]|0; - $235 = ((($234)) + 52|0); - HEAP32[$235>>2] = $233; - $236 = HEAP32[$pLevel>>2]|0; - $237 = ((($236)) + 56|0); - $238 = HEAP32[$237>>2]|0; - HEAP32[$iIn>>2] = $238; - $239 = HEAP32[$nConstraint>>2]|0; - $240 = (($239) - 1)|0; - HEAP32[$j>>2] = $240; - while(1) { - $241 = HEAP32[$j>>2]|0; - $242 = ($241|0)>=(0); - if (!($242)) { - break; - } - $243 = HEAP32[$j>>2]|0; - $244 = HEAP32[$pLoop>>2]|0; - $245 = ((($244)) + 48|0); - $246 = HEAP32[$245>>2]|0; - $247 = (($246) + ($243<<2)|0); - $248 = HEAP32[$247>>2]|0; - HEAP32[$pTerm>>2] = $248; - $249 = HEAP32[$j>>2]|0; - $250 = ($249|0)<(16); - if ($250) { - $251 = HEAP32[$pLoop>>2]|0; - $252 = ((($251)) + 24|0); - $253 = ((($252)) + 6|0); - $254 = HEAP16[$253>>1]|0; - $255 = $254&65535; - $256 = HEAP32[$j>>2]|0; - $257 = $255 >> $256; - $258 = $257 & 1; - $259 = ($258|0)!=(0); - if ($259) { - $260 = HEAP32[$pLevel>>2]|0; - $261 = HEAP32[$pTerm>>2]|0; - _disableTerm($260,$261); - } else { - label = 21; - } - } else { - label = 21; - } - if ((label|0) == 21) { - label = 0; - $262 = HEAP32[$pTerm>>2]|0; - $263 = ((($262)) + 12|0); - $264 = HEAP16[$263>>1]|0; - $265 = $264&65535; - $266 = $265 & 1; - $267 = ($266|0)!=(0); - if ($267) { - $268 = HEAP32[$db>>2]|0; - $269 = ((($268)) + 69|0); - $270 = HEAP8[$269>>0]|0; - $271 = ($270<<24>>24)!=(0); - if (!($271)) { - $272 = HEAP32[$v>>2]|0; - $273 = HEAP32[$iIn>>2]|0; - $274 = (($273) + -1)|0; - HEAP32[$iIn>>2] = $274; - $275 = HEAP32[$pLevel>>2]|0; - $276 = ((($275)) + 56|0); - $277 = ((($276)) + 4|0); - $278 = HEAP32[$277>>2]|0; - $279 = (($278) + (($274*12)|0)|0); - $280 = ((($279)) + 4|0); - $281 = HEAP32[$280>>2]|0; - $282 = (_sqlite3VdbeGetOp($272,$281)|0); - HEAP32[$pOp>>2] = $282; - $283 = HEAP32[$v>>2]|0; - $284 = HEAP32[$pOp>>2]|0; - $285 = HEAP8[$284>>0]|0; - $286 = $285&255; - $287 = HEAP32[$pOp>>2]|0; - $288 = ((($287)) + 4|0); - $289 = HEAP32[$288>>2]|0; - $290 = HEAP32[$pOp>>2]|0; - $291 = ((($290)) + 8|0); - $292 = HEAP32[$291>>2]|0; - $293 = HEAP32[$pOp>>2]|0; - $294 = ((($293)) + 12|0); - $295 = HEAP32[$294>>2]|0; - (_sqlite3VdbeAddOp3($283,$286,$289,$292,$295)|0); - } - $296 = HEAP32[$pParse>>2]|0; - $297 = (_sqlite3PExpr($296,37,0,0,0)|0); - HEAP32[$pCompare>>2] = $297; - $298 = HEAP32[$pCompare>>2]|0; - $299 = ($298|0)!=(0|0); - if ($299) { - $300 = HEAP32[$pTerm>>2]|0; - $301 = HEAP32[$300>>2]|0; - $302 = ((($301)) + 12|0); - $303 = HEAP32[$302>>2]|0; - $304 = HEAP32[$pCompare>>2]|0; - $305 = ((($304)) + 12|0); - HEAP32[$305>>2] = $303; - $306 = HEAP32[$db>>2]|0; - $307 = (_sqlite3Expr($306,157,0)|0); - HEAP32[$pRight1>>2] = $307; - $308 = HEAP32[$pCompare>>2]|0; - $309 = ((($308)) + 16|0); - HEAP32[$309>>2] = $307; - $310 = HEAP32[$pRight1>>2]|0; - $311 = ($310|0)!=(0|0); - if ($311) { - $312 = HEAP32[$iReg>>2]|0; - $313 = HEAP32[$j>>2]|0; - $314 = (($312) + ($313))|0; - $315 = (($314) + 2)|0; - $316 = HEAP32[$pRight1>>2]|0; - $317 = ((($316)) + 28|0); - HEAP32[$317>>2] = $315; - $318 = HEAP32[$pParse>>2]|0; - $319 = HEAP32[$pCompare>>2]|0; - $320 = HEAP32[$pLevel>>2]|0; - $321 = ((($320)) + 24|0); - $322 = HEAP32[$321>>2]|0; - _sqlite3ExprIfFalse($318,$319,$322,0); - } - $323 = HEAP32[$pCompare>>2]|0; - $324 = ((($323)) + 12|0); - HEAP32[$324>>2] = 0; - $325 = HEAP32[$db>>2]|0; - $326 = HEAP32[$pCompare>>2]|0; - _sqlite3ExprDelete($325,$326); - } - } - } - $327 = HEAP32[$j>>2]|0; - $328 = (($327) + -1)|0; - HEAP32[$j>>2] = $328; + $67 = HEAP32[$9>>2]|0; + $68 = ($67|0)==(10); + if ($68) { + HEAP32[$9>>2] = 2; } - $329 = HEAP32[$pParse>>2]|0; - _sqlite3ExprCachePop($329); - break; } - $330 = ((($142)) + 36|0); - $331 = HEAP32[$330>>2]|0; - $332 = $331 & 256; - $333 = ($332|0)!=(0); - if ($333) { - $334 = HEAP32[$pLoop>>2]|0; - $335 = ((($334)) + 36|0); - $336 = HEAP32[$335>>2]|0; - $337 = $336 & 5; - $338 = ($337|0)!=(0); - if ($338) { - $339 = HEAP32[$pLoop>>2]|0; - $340 = ((($339)) + 48|0); - $341 = HEAP32[$340>>2]|0; - $342 = HEAP32[$341>>2]|0; - HEAP32[$pTerm>>2] = $342; - $343 = HEAP32[$pParse>>2]|0; - $344 = ((($343)) + 44|0); - $345 = HEAP32[$344>>2]|0; - $346 = (($345) + 1)|0; - HEAP32[$344>>2] = $346; - HEAP32[$iReleaseReg>>2] = $346; - $347 = HEAP32[$pParse>>2]|0; - $348 = HEAP32[$pTerm>>2]|0; - $349 = HEAP32[$pLevel>>2]|0; - $350 = HEAP32[$bRev>>2]|0; - $351 = HEAP32[$iReleaseReg>>2]|0; - $352 = (_codeEqualityTerm($347,$348,$349,0,$350,$351)|0); - HEAP32[$iRowidReg>>2] = $352; - $353 = HEAP32[$iRowidReg>>2]|0; - $354 = HEAP32[$iReleaseReg>>2]|0; - $355 = ($353|0)!=($354|0); - if ($355) { - $356 = HEAP32[$pParse>>2]|0; - $357 = HEAP32[$iReleaseReg>>2]|0; - _sqlite3ReleaseTempReg($356,$357); - } - $358 = HEAP32[$pLevel>>2]|0; - $359 = ((($358)) + 16|0); - $360 = HEAP32[$359>>2]|0; - HEAP32[$addrNxt>>2] = $360; - $361 = HEAP32[$v>>2]|0; - $362 = HEAP32[$iCur>>2]|0; - $363 = HEAP32[$addrNxt>>2]|0; - $364 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp3($361,32,$362,$363,$364)|0); - $365 = HEAP32[$pParse>>2]|0; - $366 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheAffinityChange($365,$366,1); - $367 = HEAP32[$pParse>>2]|0; - $368 = HEAP32[$iCur>>2]|0; - $369 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheStore($367,$368,-1,$369); - $370 = HEAP32[$pLevel>>2]|0; - $371 = ((($370)) + 45|0); - HEAP8[$371>>0] = -95; + $69 = HEAP32[$8>>2]|0; + $70 = ((($69)) + 28|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$71>>2]|0; + $73 = ($72|0)!=(1); + if ($73) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $74 = HEAP32[$8>>2]|0; + $75 = ((($74)) + 28|0); + $76 = HEAP32[$75>>2]|0; + $77 = ((($76)) + 8|0); + $78 = ((($77)) + 20|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0|0); + if ($80) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $81 = HEAP32[$8>>2]|0; + $82 = ((($81)) + 32|0); + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)!=(0|0); + if ($84) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $85 = HEAP32[$8>>2]|0; + $86 = ((($85)) + 44|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($87|0)!=(0|0); + if ($88) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $89 = HEAP32[$8>>2]|0; + $90 = ((($89)) + 36|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)!=(0|0); + if ($92) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $93 = HEAP32[$8>>2]|0; + $94 = ((($93)) + 56|0); + $95 = HEAP32[$94>>2]|0; + $96 = ($95|0)!=(0|0); + if ($96) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $97 = HEAP32[$8>>2]|0; + $98 = ((($97)) + 48|0); + $99 = HEAP32[$98>>2]|0; + $100 = ($99|0)!=(0|0); + if ($100) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $101 = HEAP32[$8>>2]|0; + $102 = ((($101)) + 8|0); + $103 = HEAP32[$102>>2]|0; + $104 = $103 & 1; + $105 = ($104|0)!=(0); + if ($105) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $106 = HEAP32[$8>>2]|0; + $107 = HEAP32[$106>>2]|0; + HEAP32[$12>>2] = $107; + $108 = HEAP32[$12>>2]|0; + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)!=(1); + if ($110) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $111 = HEAP32[$12>>2]|0; + $112 = ((($111)) + 4|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$113>>2]|0; + $115 = HEAP8[$114>>0]|0; + $116 = $115&255; + $117 = ($116|0)!=(160); + if ($117) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $118 = HEAP32[$8>>2]|0; + $119 = ((($118)) + 28|0); + $120 = HEAP32[$119>>2]|0; + $121 = ((($120)) + 8|0); + HEAP32[$16>>2] = $121; + $122 = HEAP32[$6>>2]|0; + $123 = HEAP32[$16>>2]|0; + $124 = (_sqlite3LocateTableItem($122,0,$123)|0); + HEAP32[$13>>2] = $124; + $125 = HEAP32[$13>>2]|0; + $126 = ($125|0)==(0|0); + if ($126) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $127 = HEAP32[$13>>2]|0; + $128 = HEAP32[$7>>2]|0; + $129 = ($127|0)==($128|0); + if ($129) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $130 = HEAP32[$7>>2]|0; + $131 = ((($130)) + 42|0); + $132 = HEAP8[$131>>0]|0; + $133 = $132&255; + $134 = $133 & 32; + $135 = ($134|0)==(0); + $136 = $135&1; + $137 = HEAP32[$13>>2]|0; + $138 = ((($137)) + 42|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = $140 & 32; + $142 = ($141|0)==(0); + $143 = $142&1; + $144 = ($136|0)!=($143|0); + if ($144) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $145 = HEAP32[$13>>2]|0; + $146 = ((($145)) + 42|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; + $149 = $148 & 16; + $150 = ($149|0)!=(0); + if ($150) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $151 = HEAP32[$13>>2]|0; + $152 = ((($151)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)!=(0|0); + if ($154) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $155 = HEAP32[$7>>2]|0; + $156 = ((($155)) + 34|0); + $157 = HEAP16[$156>>1]|0; + $158 = $157 << 16 >> 16; + $159 = HEAP32[$13>>2]|0; + $160 = ((($159)) + 34|0); + $161 = HEAP16[$160>>1]|0; + $162 = $161 << 16 >> 16; + $163 = ($158|0)!=($162|0); + if ($163) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $164 = HEAP32[$7>>2]|0; + $165 = ((($164)) + 32|0); + $166 = HEAP16[$165>>1]|0; + $167 = $166 << 16 >> 16; + $168 = HEAP32[$13>>2]|0; + $169 = ((($168)) + 32|0); + $170 = HEAP16[$169>>1]|0; + $171 = $170 << 16 >> 16; + $172 = ($167|0)!=($171|0); + if ($172) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + HEAP32[$17>>2] = 0; + L91: while(1) { + $173 = HEAP32[$17>>2]|0; + $174 = HEAP32[$7>>2]|0; + $175 = ((($174)) + 34|0); + $176 = HEAP16[$175>>1]|0; + $177 = $176 << 16 >> 16; + $178 = ($173|0)<($177|0); + $179 = HEAP32[$7>>2]|0; + if (!($178)) { + label = 64; break; } - } - $372 = HEAP32[$pLoop>>2]|0; - $373 = ((($372)) + 36|0); - $374 = HEAP32[$373>>2]|0; - $375 = $374 & 256; - $376 = ($375|0)!=(0); - if ($376) { - $377 = HEAP32[$pLoop>>2]|0; - $378 = ((($377)) + 36|0); - $379 = HEAP32[$378>>2]|0; - $380 = $379 & 2; - $381 = ($380|0)!=(0); - if ($381) { - HEAP32[$testOp>>2] = 161; - HEAP32[$memEndValue>>2] = 0; - HEAP32[$j>>2] = 0; - HEAP32[$pEnd>>2] = 0; - HEAP32[$pStart>>2] = 0; - $382 = HEAP32[$pLoop>>2]|0; - $383 = ((($382)) + 36|0); - $384 = HEAP32[$383>>2]|0; - $385 = $384 & 32; - $386 = ($385|0)!=(0); - if ($386) { - $387 = HEAP32[$j>>2]|0; - $388 = (($387) + 1)|0; - HEAP32[$j>>2] = $388; - $389 = HEAP32[$pLoop>>2]|0; - $390 = ((($389)) + 48|0); - $391 = HEAP32[$390>>2]|0; - $392 = (($391) + ($387<<2)|0); - $393 = HEAP32[$392>>2]|0; - HEAP32[$pStart>>2] = $393; - } - $394 = HEAP32[$pLoop>>2]|0; - $395 = ((($394)) + 36|0); - $396 = HEAP32[$395>>2]|0; - $397 = $396 & 16; - $398 = ($397|0)!=(0); - if ($398) { - $399 = HEAP32[$j>>2]|0; - $400 = (($399) + 1)|0; - HEAP32[$j>>2] = $400; - $401 = HEAP32[$pLoop>>2]|0; - $402 = ((($401)) + 48|0); - $403 = HEAP32[$402>>2]|0; - $404 = (($403) + ($399<<2)|0); - $405 = HEAP32[$404>>2]|0; - HEAP32[$pEnd>>2] = $405; - } - $406 = HEAP32[$bRev>>2]|0; - $407 = ($406|0)!=(0); - if ($407) { - $408 = HEAP32[$pStart>>2]|0; - HEAP32[$pTerm>>2] = $408; - $409 = HEAP32[$pEnd>>2]|0; - HEAP32[$pStart>>2] = $409; - $410 = HEAP32[$pTerm>>2]|0; - HEAP32[$pEnd>>2] = $410; - } - $411 = HEAP32[$pStart>>2]|0; - $412 = ($411|0)!=(0|0); - if ($412) { - $413 = HEAP32[$pStart>>2]|0; - $414 = HEAP32[$413>>2]|0; - HEAP32[$pX>>2] = $414; - $415 = HEAP32[$pX>>2]|0; - $416 = ((($415)) + 16|0); - $417 = HEAP32[$416>>2]|0; - $418 = (_sqlite3ExprIsVector($417)|0); - $419 = ($418|0)!=(0); - $420 = HEAP32[$pParse>>2]|0; - if ($419) { - $421 = (_sqlite3GetTempReg($420)|0); - HEAP32[$rTemp>>2] = $421; - HEAP32[$r1>>2] = $421; - $422 = HEAP32[$pParse>>2]|0; - $423 = HEAP32[$pX>>2]|0; - $424 = ((($423)) + 16|0); - $425 = HEAP32[$424>>2]|0; - $426 = HEAP32[$r1>>2]|0; - _codeExprOrVector($422,$425,$426,1); - $427 = HEAP32[$pX>>2]|0; - $428 = HEAP8[$427>>0]|0; - $429 = $428&255; - $430 = (($429) - 38)|0; - $431 = $430 | 1; - $432 = (34432 + ($431)|0); - $433 = HEAP8[$432>>0]|0; - $434 = $433&255; - HEAP32[$op>>2] = $434; - } else { - $435 = HEAP32[$pX>>2]|0; - $436 = ((($435)) + 16|0); - $437 = HEAP32[$436>>2]|0; - $438 = (_sqlite3ExprCodeTemp($420,$437,$rTemp)|0); - HEAP32[$r1>>2] = $438; - $439 = HEAP32[$pLevel>>2]|0; - $440 = HEAP32[$pStart>>2]|0; - _disableTerm($439,$440); - $441 = HEAP32[$pX>>2]|0; - $442 = HEAP8[$441>>0]|0; - $443 = $442&255; - $444 = (($443) - 38)|0; - $445 = (34432 + ($444)|0); - $446 = HEAP8[$445>>0]|0; - $447 = $446&255; - HEAP32[$op>>2] = $447; - } - $448 = HEAP32[$v>>2]|0; - $449 = HEAP32[$op>>2]|0; - $450 = HEAP32[$iCur>>2]|0; - $451 = HEAP32[$addrBrk>>2]|0; - $452 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($448,$449,$450,$451,$452)|0); - $453 = HEAP32[$pParse>>2]|0; - $454 = HEAP32[$r1>>2]|0; - _sqlite3ExprCacheAffinityChange($453,$454,1); - $455 = HEAP32[$pParse>>2]|0; - $456 = HEAP32[$rTemp>>2]|0; - _sqlite3ReleaseTempReg($455,$456); - } else { - $457 = HEAP32[$v>>2]|0; - $458 = HEAP32[$bRev>>2]|0; - $459 = ($458|0)!=(0); - $460 = $459 ? 53 : 57; - $461 = HEAP32[$iCur>>2]|0; - $462 = HEAP32[$addrBrk>>2]|0; - (_sqlite3VdbeAddOp2($457,$460,$461,$462)|0); - } - $463 = HEAP32[$pEnd>>2]|0; - $464 = ($463|0)!=(0|0); - if ($464) { - $465 = HEAP32[$pEnd>>2]|0; - $466 = HEAP32[$465>>2]|0; - HEAP32[$pX2>>2] = $466; - $467 = HEAP32[$pParse>>2]|0; - $468 = ((($467)) + 44|0); - $469 = HEAP32[$468>>2]|0; - $470 = (($469) + 1)|0; - HEAP32[$468>>2] = $470; - HEAP32[$memEndValue>>2] = $470; - $471 = HEAP32[$pParse>>2]|0; - $472 = HEAP32[$pX2>>2]|0; - $473 = ((($472)) + 16|0); - $474 = HEAP32[$473>>2]|0; - $475 = HEAP32[$memEndValue>>2]|0; - _codeExprOrVector($471,$474,$475,1); - $476 = HEAP32[$pX2>>2]|0; - $477 = ((($476)) + 16|0); - $478 = HEAP32[$477>>2]|0; - $479 = (_sqlite3ExprIsVector($478)|0); - $480 = (0)==($479|0); - do { - if ($480) { - $481 = HEAP32[$pX2>>2]|0; - $482 = HEAP8[$481>>0]|0; - $483 = $482&255; - $484 = ($483|0)==(40); - if (!($484)) { - $485 = HEAP32[$pX2>>2]|0; - $486 = HEAP8[$485>>0]|0; - $487 = $486&255; - $488 = ($487|0)==(38); - if (!($488)) { - label = 54; - break; - } - } - $489 = HEAP32[$bRev>>2]|0; - $490 = ($489|0)!=(0); - $491 = $490 ? 39 : 41; - HEAP32[$testOp>>2] = $491; - } else { - label = 54; - } - } while(0); - if ((label|0) == 54) { - $492 = HEAP32[$bRev>>2]|0; - $493 = ($492|0)!=(0); - $494 = $493 ? 40 : 38; - HEAP32[$testOp>>2] = $494; - } - $495 = HEAP32[$pX2>>2]|0; - $496 = ((($495)) + 16|0); - $497 = HEAP32[$496>>2]|0; - $498 = (_sqlite3ExprIsVector($497)|0); - $499 = (0)==($498|0); - if ($499) { - $500 = HEAP32[$pLevel>>2]|0; - $501 = HEAP32[$pEnd>>2]|0; - _disableTerm($500,$501); - } - } - $502 = HEAP32[$v>>2]|0; - $503 = (_sqlite3VdbeCurrentAddr($502)|0); - HEAP32[$start>>2] = $503; - $504 = HEAP32[$bRev>>2]|0; - $505 = ($504|0)!=(0); - $506 = $505 ? 6 : 7; - $507 = $506&255; - $508 = HEAP32[$pLevel>>2]|0; - $509 = ((($508)) + 45|0); - HEAP8[$509>>0] = $507; - $510 = HEAP32[$iCur>>2]|0; - $511 = HEAP32[$pLevel>>2]|0; - $512 = ((($511)) + 48|0); - HEAP32[$512>>2] = $510; - $513 = HEAP32[$start>>2]|0; - $514 = HEAP32[$pLevel>>2]|0; - $515 = ((($514)) + 52|0); - HEAP32[$515>>2] = $513; - $516 = HEAP32[$testOp>>2]|0; - $517 = ($516|0)!=(161); - if (!($517)) { - break; - } - $518 = HEAP32[$pParse>>2]|0; - $519 = ((($518)) + 44|0); - $520 = HEAP32[$519>>2]|0; - $521 = (($520) + 1)|0; - HEAP32[$519>>2] = $521; - HEAP32[$iRowidReg>>2] = $521; - $522 = HEAP32[$v>>2]|0; - $523 = HEAP32[$iCur>>2]|0; - $524 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp2($522,123,$523,$524)|0); - $525 = HEAP32[$pParse>>2]|0; - $526 = HEAP32[$iCur>>2]|0; - $527 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheStore($525,$526,-1,$527); - $528 = HEAP32[$v>>2]|0; - $529 = HEAP32[$testOp>>2]|0; - $530 = HEAP32[$memEndValue>>2]|0; - $531 = HEAP32[$addrBrk>>2]|0; - $532 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp3($528,$529,$530,$531,$532)|0); - $533 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($533,83); + $180 = ((($179)) + 4|0); + $181 = HEAP32[$180>>2]|0; + $182 = HEAP32[$17>>2]|0; + $183 = (($181) + ($182<<4)|0); + HEAP32[$30>>2] = $183; + $184 = HEAP32[$13>>2]|0; + $185 = ((($184)) + 4|0); + $186 = HEAP32[$185>>2]|0; + $187 = HEAP32[$17>>2]|0; + $188 = (($186) + ($187<<4)|0); + HEAP32[$31>>2] = $188; + $189 = HEAP32[$30>>2]|0; + $190 = ((($189)) + 13|0); + $191 = HEAP8[$190>>0]|0; + $192 = $191 << 24 >> 24; + $193 = HEAP32[$31>>2]|0; + $194 = ((($193)) + 13|0); + $195 = HEAP8[$194>>0]|0; + $196 = $195 << 24 >> 24; + $197 = ($192|0)!=($196|0); + if ($197) { + label = 52; break; } - } - $534 = HEAP32[$pLoop>>2]|0; - $535 = ((($534)) + 36|0); - $536 = HEAP32[$535>>2]|0; - $537 = $536 & 512; - $538 = ($537|0)!=(0); - $539 = HEAP32[$pLoop>>2]|0; - if (!($538)) { - $1075 = ((($539)) + 36|0); - $1076 = HEAP32[$1075>>2]|0; - $1077 = $1076 & 8192; - $1078 = ($1077|0)!=(0); - if (!($1078)) { - $1493 = HEAP32[$pTabItem>>2]|0; - $1494 = ((($1493)) + 36|0); - $1495 = ((($1494)) + 1|0); - $1496 = HEAP8[$1495>>0]|0; - $1497 = ($1496&255) >>> 5; - $1498 = $1497 & 1; - $1499 = $1498&255; - $1500 = ($1499|0)!=(0); - if ($1500) { - $1501 = HEAP32[$pLevel>>2]|0; - $1502 = ((($1501)) + 45|0); - HEAP8[$1502>>0] = -95; - break; - } else { - $1503 = HEAP32[$bRev>>2]|0; - $1504 = (34448 + ($1503)|0); - $1505 = HEAP8[$1504>>0]|0; - $1506 = HEAP32[$pLevel>>2]|0; - $1507 = ((($1506)) + 45|0); - HEAP8[$1507>>0] = $1505; - $1508 = HEAP32[$iCur>>2]|0; - $1509 = HEAP32[$pLevel>>2]|0; - $1510 = ((($1509)) + 48|0); - HEAP32[$1510>>2] = $1508; - $1511 = HEAP32[$v>>2]|0; - $1512 = HEAP32[$bRev>>2]|0; - $1513 = (34450 + ($1512)|0); - $1514 = HEAP8[$1513>>0]|0; - $1515 = $1514&255; - $1516 = HEAP32[$iCur>>2]|0; - $1517 = HEAP32[$addrBrk>>2]|0; - $1518 = (_sqlite3VdbeAddOp2($1511,$1515,$1516,$1517)|0); - $1519 = (1 + ($1518))|0; - $1520 = HEAP32[$pLevel>>2]|0; - $1521 = ((($1520)) + 52|0); - HEAP32[$1521>>2] = $1519; - $1522 = HEAP32[$pLevel>>2]|0; - $1523 = ((($1522)) + 47|0); - HEAP8[$1523>>0] = 1; + $198 = HEAP32[$30>>2]|0; + $199 = ((($198)) + 8|0); + $200 = HEAP32[$199>>2]|0; + $201 = HEAP32[$31>>2]|0; + $202 = ((($201)) + 8|0); + $203 = HEAP32[$202>>2]|0; + $204 = (_sqlite3_stricmp($200,$203)|0); + $205 = ($204|0)!=(0); + if ($205) { + label = 54; + break; + } + $206 = HEAP32[$30>>2]|0; + $207 = ((($206)) + 12|0); + $208 = HEAP8[$207>>0]|0; + $209 = $208&255; + $210 = ($209|0)!=(0); + if ($210) { + $211 = HEAP32[$31>>2]|0; + $212 = ((($211)) + 12|0); + $213 = HEAP8[$212>>0]|0; + $214 = ($213<<24>>24)!=(0); + if (!($214)) { + label = 57; break; } } - HEAP32[$pCov>>2] = 0; - $1079 = HEAP32[$pParse>>2]|0; - $1080 = ((($1079)) + 40|0); - $1081 = HEAP32[$1080>>2]|0; - $1082 = (($1081) + 1)|0; - HEAP32[$1080>>2] = $1082; - HEAP32[$iCovCur>>2] = $1081; - $1083 = HEAP32[$pParse>>2]|0; - $1084 = ((($1083)) + 44|0); - $1085 = HEAP32[$1084>>2]|0; - $1086 = (($1085) + 1)|0; - HEAP32[$1084>>2] = $1086; - HEAP32[$regReturn>>2] = $1086; - HEAP32[$regRowset>>2] = 0; - HEAP32[$regRowid>>2] = 0; - $1087 = HEAP32[$v>>2]|0; - $1088 = (_sqlite3VdbeMakeLabel($1087)|0); - HEAP32[$iLoopBody>>2] = $1088; - HEAP32[$untestedTerms>>2] = 0; - HEAP32[$pAndExpr>>2] = 0; - $1089 = HEAP32[$pTabItem>>2]|0; - $1090 = ((($1089)) + 16|0); - $1091 = HEAP32[$1090>>2]|0; - HEAP32[$pTab>>2] = $1091; - $1092 = HEAP32[$pLoop>>2]|0; - $1093 = ((($1092)) + 48|0); - $1094 = HEAP32[$1093>>2]|0; - $1095 = HEAP32[$1094>>2]|0; - HEAP32[$pTerm>>2] = $1095; - $1096 = HEAP32[$pTerm>>2]|0; - $1097 = ((($1096)) + 28|0); - $1098 = HEAP32[$1097>>2]|0; - HEAP32[$pOrWc>>2] = $1098; - $1099 = HEAP32[$pLevel>>2]|0; - $1100 = ((($1099)) + 45|0); - HEAP8[$1100>>0] = 72; - $1101 = HEAP32[$regReturn>>2]|0; - $1102 = HEAP32[$pLevel>>2]|0; - $1103 = ((($1102)) + 48|0); - HEAP32[$1103>>2] = $1101; - $1104 = HEAP32[$3>>2]|0; - $1105 = ((($1104)) + 42|0); - $1106 = HEAP8[$1105>>0]|0; - $1107 = $1106&255; - $1108 = ($1107|0)>(1); - $1109 = HEAP32[$3>>2]|0; - L91: do { - if ($1108) { - $1110 = ((($1109)) + 42|0); - $1111 = HEAP8[$1110>>0]|0; - $1112 = $1111&255; - $1113 = HEAP32[$4>>2]|0; - $1114 = (($1112) - ($1113))|0; - $1115 = (($1114) - 1)|0; - HEAP32[$nNotReady>>2] = $1115; - $1116 = HEAP32[$db>>2]|0; - $1117 = HEAP32[$nNotReady>>2]|0; - $1118 = ($1117*72)|0; - $1119 = (80 + ($1118))|0; - $1120 = (_sqlite3DbMallocRaw($1116,$1119,0)|0); - HEAP32[$pOrTab>>2] = $1120; - $1121 = HEAP32[$pOrTab>>2]|0; - $1122 = ($1121|0)==(0|0); - if ($1122) { - $1123 = $5; - $1124 = $1123; - $1125 = HEAP32[$1124>>2]|0; - $1126 = (($1123) + 4)|0; - $1127 = $1126; - $1128 = HEAP32[$1127>>2]|0; - $1129 = $2; - $1130 = $1129; - HEAP32[$1130>>2] = $1125; - $1131 = (($1129) + 4)|0; - $1132 = $1131; - HEAP32[$1132>>2] = $1128; - $1745 = $2; - $1746 = $1745; - $1747 = HEAP32[$1746>>2]|0; - $1748 = (($1745) + 4)|0; - $1749 = $1748; - $1750 = HEAP32[$1749>>2]|0; - tempRet0 = ($1750); - STACKTOP = sp;return ($1747|0); + $215 = HEAP32[$17>>2]|0; + $216 = ($215|0)>(0); + do { + if ($216) { + $217 = HEAP32[$30>>2]|0; + $218 = ((($217)) + 4|0); + $219 = HEAP32[$218>>2]|0; + $220 = ($219|0)==(0|0); + $221 = $220&1; + $222 = HEAP32[$31>>2]|0; + $223 = ((($222)) + 4|0); + $224 = HEAP32[$223>>2]|0; + $225 = ($224|0)==(0|0); + $226 = $225&1; + $227 = ($221|0)!=($226|0); + if ($227) { + label = 62; + break L91; } - $1133 = HEAP32[$nNotReady>>2]|0; - $1134 = (($1133) + 1)|0; - $1135 = $1134&255; - $1136 = $1135&255; - $1137 = HEAP32[$pOrTab>>2]|0; - $1138 = ((($1137)) + 4|0); - HEAP32[$1138>>2] = $1136; - $1139 = HEAP32[$pOrTab>>2]|0; - $1140 = ((($1139)) + 4|0); - $1141 = HEAP32[$1140>>2]|0; - $1142 = HEAP32[$pOrTab>>2]|0; - HEAP32[$1142>>2] = $1141; - $1143 = HEAP32[$pOrTab>>2]|0; - $1144 = ((($1143)) + 8|0); - $1145 = HEAP32[$pTabItem>>2]|0; - dest=$1144; src=$1145; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $1146 = HEAP32[$3>>2]|0; - $1147 = ((($1146)) + 4|0); - $1148 = HEAP32[$1147>>2]|0; - $1149 = ((($1148)) + 8|0); - HEAP32[$origSrc>>2] = $1149; - HEAP32[$k>>2] = 1; - while(1) { - $1150 = HEAP32[$k>>2]|0; - $1151 = HEAP32[$nNotReady>>2]|0; - $1152 = ($1150|0)<=($1151|0); - if (!($1152)) { - break L91; - } - $1153 = HEAP32[$k>>2]|0; - $1154 = HEAP32[$pOrTab>>2]|0; - $1155 = ((($1154)) + 8|0); - $1156 = (($1155) + (($1153*72)|0)|0); - $1157 = HEAP32[$k>>2]|0; - $1158 = HEAP32[$pLevel>>2]|0; - $1159 = (($1158) + (($1157*80)|0)|0); - $1160 = ((($1159)) + 44|0); - $1161 = HEAP8[$1160>>0]|0; - $1162 = $1161&255; - $1163 = HEAP32[$origSrc>>2]|0; - $1164 = (($1163) + (($1162*72)|0)|0); - dest=$1156; src=$1164; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $1165 = HEAP32[$k>>2]|0; - $1166 = (($1165) + 1)|0; - HEAP32[$k>>2] = $1166; + $228 = HEAP32[$30>>2]|0; + $229 = ((($228)) + 4|0); + $230 = HEAP32[$229>>2]|0; + $231 = ($230|0)!=(0|0); + if (!($231)) { + break; + } + $232 = HEAP32[$30>>2]|0; + $233 = ((($232)) + 4|0); + $234 = HEAP32[$233>>2]|0; + $235 = ((($234)) + 8|0); + $236 = HEAP32[$235>>2]|0; + $237 = HEAP32[$31>>2]|0; + $238 = ((($237)) + 4|0); + $239 = HEAP32[$238>>2]|0; + $240 = ((($239)) + 8|0); + $241 = HEAP32[$240>>2]|0; + $242 = (_strcmp($236,$241)|0); + $243 = ($242|0)!=(0); + if ($243) { + label = 62; + break L91; } - } else { - $1167 = ((($1109)) + 4|0); - $1168 = HEAP32[$1167>>2]|0; - HEAP32[$pOrTab>>2] = $1168; } } while(0); - $1169 = HEAP32[$3>>2]|0; - $1170 = ((($1169)) + 40|0); - $1171 = HEAP16[$1170>>1]|0; - $1172 = $1171&65535; - $1173 = $1172 & 16; - $1174 = ($1173|0)==(0); - if ($1174) { - $1175 = HEAP32[$pTab>>2]|0; - $1176 = ((($1175)) + 42|0); - $1177 = HEAP8[$1176>>0]|0; - $1178 = $1177&255; - $1179 = $1178 & 32; - $1180 = ($1179|0)==(0); - if ($1180) { - $1181 = HEAP32[$pParse>>2]|0; - $1182 = ((($1181)) + 44|0); - $1183 = HEAP32[$1182>>2]|0; - $1184 = (($1183) + 1)|0; - HEAP32[$1182>>2] = $1184; - HEAP32[$regRowset>>2] = $1184; - $1185 = HEAP32[$v>>2]|0; - $1186 = HEAP32[$regRowset>>2]|0; - (_sqlite3VdbeAddOp2($1185,79,0,$1186)|0); - } else { - $1187 = HEAP32[$pTab>>2]|0; - $1188 = (_sqlite3PrimaryKeyIndex($1187)|0); - HEAP32[$pPk9>>2] = $1188; - $1189 = HEAP32[$pParse>>2]|0; - $1190 = ((($1189)) + 40|0); - $1191 = HEAP32[$1190>>2]|0; - $1192 = (($1191) + 1)|0; - HEAP32[$1190>>2] = $1192; - HEAP32[$regRowset>>2] = $1191; - $1193 = HEAP32[$v>>2]|0; - $1194 = HEAP32[$regRowset>>2]|0; - $1195 = HEAP32[$pPk9>>2]|0; - $1196 = ((($1195)) + 50|0); - $1197 = HEAP16[$1196>>1]|0; - $1198 = $1197&65535; - (_sqlite3VdbeAddOp2($1193,107,$1194,$1198)|0); - $1199 = HEAP32[$pParse>>2]|0; - $1200 = HEAP32[$pPk9>>2]|0; - _sqlite3VdbeSetP4KeyInfo($1199,$1200); - } - $1201 = HEAP32[$pParse>>2]|0; - $1202 = ((($1201)) + 44|0); - $1203 = HEAP32[$1202>>2]|0; - $1204 = (($1203) + 1)|0; - HEAP32[$1202>>2] = $1204; - HEAP32[$regRowid>>2] = $1204; - } - $1205 = HEAP32[$v>>2]|0; - $1206 = HEAP32[$regReturn>>2]|0; - $1207 = (_sqlite3VdbeAddOp2($1205,76,0,$1206)|0); - HEAP32[$iRetInit>>2] = $1207; - $1208 = HEAP32[$pWC>>2]|0; - $1209 = ((($1208)) + 12|0); - $1210 = HEAP32[$1209>>2]|0; - $1211 = ($1210|0)>(1); - if ($1211) { - HEAP32[$iTerm>>2] = 0; + $244 = HEAP32[$17>>2]|0; + $245 = (($244) + 1)|0; + HEAP32[$17>>2] = $245; + } + if ((label|0) == 52) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + else if ((label|0) == 54) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + else if ((label|0) == 57) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + else if ((label|0) == 62) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + else if ((label|0) == 64) { + $246 = ((($179)) + 8|0); + $247 = HEAP32[$246>>2]|0; + HEAP32[$15>>2] = $247; + while(1) { + $248 = HEAP32[$15>>2]|0; + $249 = ($248|0)!=(0|0); + if (!($249)) { + break; + } + $250 = HEAP32[$15>>2]|0; + $251 = ((($250)) + 54|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = ($253|0)!=(0); + if ($254) { + HEAP32[$27>>2] = 1; + } + $255 = HEAP32[$13>>2]|0; + $256 = ((($255)) + 8|0); + $257 = HEAP32[$256>>2]|0; + HEAP32[$14>>2] = $257; while(1) { - $1212 = HEAP32[$iTerm>>2]|0; - $1213 = HEAP32[$pWC>>2]|0; - $1214 = ((($1213)) + 12|0); - $1215 = HEAP32[$1214>>2]|0; - $1216 = ($1212|0)<($1215|0); - if (!($1216)) { + $258 = HEAP32[$14>>2]|0; + $259 = ($258|0)!=(0|0); + if (!($259)) { break; } - $1217 = HEAP32[$iTerm>>2]|0; - $1218 = HEAP32[$pWC>>2]|0; - $1219 = ((($1218)) + 20|0); - $1220 = HEAP32[$1219>>2]|0; - $1221 = (($1220) + (($1217*48)|0)|0); - $1222 = HEAP32[$1221>>2]|0; - HEAP32[$pExpr>>2] = $1222; - $1223 = HEAP32[$iTerm>>2]|0; - $1224 = HEAP32[$pWC>>2]|0; - $1225 = ((($1224)) + 20|0); - $1226 = HEAP32[$1225>>2]|0; - $1227 = (($1226) + (($1223*48)|0)|0); - $1228 = HEAP32[$pTerm>>2]|0; - $1229 = ($1227|0)==($1228|0); - do { - if (!($1229)) { - $1230 = HEAP32[$pExpr>>2]|0; - $1231 = ((($1230)) + 4|0); - $1232 = HEAP32[$1231>>2]|0; - $1233 = $1232 & 1; - $1234 = ($1233|0)!=(0); - if (!($1234)) { - $1235 = HEAP32[$iTerm>>2]|0; - $1236 = HEAP32[$pWC>>2]|0; - $1237 = ((($1236)) + 20|0); - $1238 = HEAP32[$1237>>2]|0; - $1239 = (($1238) + (($1235*48)|0)|0); - $1240 = ((($1239)) + 10|0); - $1241 = HEAP16[$1240>>1]|0; - $1242 = $1241&65535; - $1243 = $1242 & 6; - $1244 = ($1243|0)!=(0); - if (!($1244)) { - $1245 = HEAP32[$iTerm>>2]|0; - $1246 = HEAP32[$pWC>>2]|0; - $1247 = ((($1246)) + 20|0); - $1248 = HEAP32[$1247>>2]|0; - $1249 = (($1248) + (($1245*48)|0)|0); - $1250 = ((($1249)) + 12|0); - $1251 = HEAP16[$1250>>1]|0; - $1252 = $1251&65535; - $1253 = $1252 & 8191; - $1254 = ($1253|0)==(0); - if ($1254) { - break; - } - $1255 = HEAP32[$db>>2]|0; - $1256 = HEAP32[$pExpr>>2]|0; - $1257 = (_sqlite3ExprDup($1255,$1256,0)|0); - HEAP32[$pExpr>>2] = $1257; - $1258 = HEAP32[$db>>2]|0; - $1259 = HEAP32[$pAndExpr>>2]|0; - $1260 = HEAP32[$pExpr>>2]|0; - $1261 = (_sqlite3ExprAnd($1258,$1259,$1260)|0); - HEAP32[$pAndExpr>>2] = $1261; - } - } - } - } while(0); - $1262 = HEAP32[$iTerm>>2]|0; - $1263 = (($1262) + 1)|0; - HEAP32[$iTerm>>2] = $1263; - } - $1264 = HEAP32[$pAndExpr>>2]|0; - $1265 = ($1264|0)!=(0|0); - if ($1265) { - $1266 = HEAP32[$pParse>>2]|0; - $1267 = HEAP32[$pAndExpr>>2]|0; - $1268 = (_sqlite3PExpr($1266,284,0,$1267,0)|0); - HEAP32[$pAndExpr>>2] = $1268; - } - } - $1269 = HEAP32[$3>>2]|0; - $1270 = ((($1269)) + 40|0); - $1271 = HEAP16[$1270>>1]|0; - $1272 = $1271&65535; - $1273 = $1272 & 1024; - $1274 = 32 | $1273; - $1275 = $1274&65535; - HEAP16[$wctrlFlags>>1] = $1275; - HEAP32[$ii>>2] = 0; - while(1) { - $1276 = HEAP32[$ii>>2]|0; - $1277 = HEAP32[$pOrWc>>2]|0; - $1278 = ((($1277)) + 12|0); - $1279 = HEAP32[$1278>>2]|0; - $1280 = ($1276|0)<($1279|0); - if (!($1280)) { + $260 = HEAP32[$15>>2]|0; + $261 = HEAP32[$14>>2]|0; + $262 = (_xferCompatibleIndex($260,$261)|0); + $263 = ($262|0)!=(0); + if ($263) { + break; + } + $264 = HEAP32[$14>>2]|0; + $265 = ((($264)) + 20|0); + $266 = HEAP32[$265>>2]|0; + HEAP32[$14>>2] = $266; + } + $267 = HEAP32[$14>>2]|0; + $268 = ($267|0)==(0|0); + if ($268) { + label = 73; break; } - $1281 = HEAP32[$ii>>2]|0; - $1282 = HEAP32[$pOrWc>>2]|0; - $1283 = ((($1282)) + 20|0); - $1284 = HEAP32[$1283>>2]|0; - $1285 = (($1284) + (($1281*48)|0)|0); - HEAP32[$pOrTerm>>2] = $1285; - $1286 = HEAP32[$pOrTerm>>2]|0; - $1287 = ((($1286)) + 20|0); - $1288 = HEAP32[$1287>>2]|0; - $1289 = HEAP32[$iCur>>2]|0; - $1290 = ($1288|0)==($1289|0); - if ($1290) { - label = 167; - } else { - $1291 = HEAP32[$pOrTerm>>2]|0; - $1292 = ((($1291)) + 12|0); - $1293 = HEAP16[$1292>>1]|0; - $1294 = $1293&65535; - $1295 = $1294 & 1024; - $1296 = ($1295|0)!=(0); - if ($1296) { - label = 167; + $269 = HEAP32[$15>>2]|0; + $270 = ((($269)) + 20|0); + $271 = HEAP32[$270>>2]|0; + HEAP32[$15>>2] = $271; + } + if ((label|0) == 73) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } + $272 = HEAP32[$7>>2]|0; + $273 = ((($272)) + 24|0); + $274 = HEAP32[$273>>2]|0; + $275 = ($274|0)!=(0|0); + do { + if ($275) { + $276 = HEAP32[$13>>2]|0; + $277 = ((($276)) + 24|0); + $278 = HEAP32[$277>>2]|0; + $279 = HEAP32[$7>>2]|0; + $280 = ((($279)) + 24|0); + $281 = HEAP32[$280>>2]|0; + $282 = (_sqlite3ExprListCompare($278,$281,-1)|0); + $283 = ($282|0)!=(0); + if (!($283)) { + break; } + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); } - if ((label|0) == 167) { - label = 0; - $1297 = HEAP32[$pOrTerm>>2]|0; - $1298 = HEAP32[$1297>>2]|0; - HEAP32[$pOrExpr>>2] = $1298; - HEAP32[$jmp1>>2] = 0; - $1299 = HEAP32[$pAndExpr>>2]|0; - $1300 = ($1299|0)!=(0|0); - if ($1300) { - $1301 = HEAP32[$pOrExpr>>2]|0; - $1302 = ((($1301)) + 4|0); - $1303 = HEAP32[$1302>>2]|0; - $1304 = $1303 & 1; - $1305 = ($1304|0)!=(0); - if (!($1305)) { - $1306 = HEAP32[$pOrExpr>>2]|0; - $1307 = HEAP32[$pAndExpr>>2]|0; - $1308 = ((($1307)) + 12|0); - HEAP32[$1308>>2] = $1306; - $1309 = HEAP32[$pAndExpr>>2]|0; - HEAP32[$pOrExpr>>2] = $1309; - } - } - $1310 = HEAP32[$pParse>>2]|0; - $1311 = HEAP32[$pOrTab>>2]|0; - $1312 = HEAP32[$pOrExpr>>2]|0; - $1313 = HEAP16[$wctrlFlags>>1]|0; - $1314 = HEAP32[$iCovCur>>2]|0; - $1315 = (_sqlite3WhereBegin($1310,$1311,$1312,0,0,$1313,$1314)|0); - HEAP32[$pSubWInfo>>2] = $1315; - $1316 = HEAP32[$pSubWInfo>>2]|0; - $1317 = ($1316|0)!=(0|0); - if ($1317) { - $1318 = HEAP32[$pParse>>2]|0; - $1319 = HEAP32[$pOrTab>>2]|0; - $1320 = HEAP32[$pSubWInfo>>2]|0; - $1321 = ((($1320)) + 752|0); - $1322 = HEAP32[$4>>2]|0; - $1323 = HEAP32[$pLevel>>2]|0; - $1324 = ((($1323)) + 44|0); - $1325 = HEAP8[$1324>>0]|0; - $1326 = $1325&255; - $1327 = (_sqlite3WhereExplainOneScan($1318,$1319,$1321,$1322,$1326,0)|0); - HEAP32[$addrExplain>>2] = $1327; - $1328 = HEAP32[$3>>2]|0; - $1329 = ((($1328)) + 40|0); - $1330 = HEAP16[$1329>>1]|0; - $1331 = $1330&65535; - $1332 = $1331 & 16; - $1333 = ($1332|0)==(0); - do { - if ($1333) { - $1334 = HEAP32[$ii>>2]|0; - $1335 = HEAP32[$pOrWc>>2]|0; - $1336 = ((($1335)) + 12|0); - $1337 = HEAP32[$1336>>2]|0; - $1338 = (($1337) - 1)|0; - $1339 = ($1334|0)==($1338|0); - $1340 = HEAP32[$ii>>2]|0; - $1341 = $1339 ? -1 : $1340; - HEAP32[$iSet>>2] = $1341; - $1342 = HEAP32[$pTab>>2]|0; - $1343 = ((($1342)) + 42|0); - $1344 = HEAP8[$1343>>0]|0; - $1345 = $1344&255; - $1346 = $1345 & 32; - $1347 = ($1346|0)==(0); - if ($1347) { - $1348 = HEAP32[$pParse>>2]|0; - $1349 = HEAP32[$pTab>>2]|0; - $1350 = HEAP32[$iCur>>2]|0; - $1351 = HEAP32[$regRowid>>2]|0; - $1352 = (_sqlite3ExprCodeGetColumn($1348,$1349,-1,$1350,$1351,0)|0); - HEAP32[$r>>2] = $1352; - $1353 = HEAP32[$v>>2]|0; - $1354 = HEAP32[$regRowset>>2]|0; - $1355 = HEAP32[$r>>2]|0; - $1356 = HEAP32[$iSet>>2]|0; - $1357 = (_sqlite3VdbeAddOp4Int($1353,63,$1354,0,$1355,$1356)|0); - HEAP32[$jmp1>>2] = $1357; - break; - } - $1358 = HEAP32[$pTab>>2]|0; - $1359 = (_sqlite3PrimaryKeyIndex($1358)|0); - HEAP32[$pPk10>>2] = $1359; - $1360 = HEAP32[$pPk10>>2]|0; - $1361 = ((($1360)) + 50|0); - $1362 = HEAP16[$1361>>1]|0; - $1363 = $1362&65535; - HEAP32[$nPk>>2] = $1363; - $1364 = HEAP32[$pParse>>2]|0; - $1365 = HEAP32[$nPk>>2]|0; - $1366 = (_sqlite3GetTempRange($1364,$1365)|0); - HEAP32[$r>>2] = $1366; - HEAP32[$iPk>>2] = 0; - while(1) { - $1367 = HEAP32[$iPk>>2]|0; - $1368 = HEAP32[$nPk>>2]|0; - $1369 = ($1367|0)<($1368|0); - if (!($1369)) { - break; - } - $1370 = HEAP32[$iPk>>2]|0; - $1371 = HEAP32[$pPk10>>2]|0; - $1372 = ((($1371)) + 4|0); - $1373 = HEAP32[$1372>>2]|0; - $1374 = (($1373) + ($1370<<1)|0); - $1375 = HEAP16[$1374>>1]|0; - $1376 = $1375 << 16 >> 16; - HEAP32[$iCol>>2] = $1376; - $1377 = HEAP32[$pParse>>2]|0; - $1378 = HEAP32[$pTab>>2]|0; - $1379 = HEAP32[$iCol>>2]|0; - $1380 = HEAP32[$iCur>>2]|0; - $1381 = HEAP32[$r>>2]|0; - $1382 = HEAP32[$iPk>>2]|0; - $1383 = (($1381) + ($1382))|0; - _sqlite3ExprCodeGetColumnToReg($1377,$1378,$1379,$1380,$1383); - $1384 = HEAP32[$iPk>>2]|0; - $1385 = (($1384) + 1)|0; - HEAP32[$iPk>>2] = $1385; - } - $1386 = HEAP32[$iSet>>2]|0; - $1387 = ($1386|0)!=(0); - if ($1387) { - $1388 = HEAP32[$v>>2]|0; - $1389 = HEAP32[$regRowset>>2]|0; - $1390 = HEAP32[$r>>2]|0; - $1391 = HEAP32[$nPk>>2]|0; - $1392 = (_sqlite3VdbeAddOp4Int($1388,31,$1389,0,$1390,$1391)|0); - HEAP32[$jmp1>>2] = $1392; - } - $1393 = HEAP32[$iSet>>2]|0; - $1394 = ($1393|0)>=(0); - do { - if ($1394) { - $1395 = HEAP32[$v>>2]|0; - $1396 = HEAP32[$r>>2]|0; - $1397 = HEAP32[$nPk>>2]|0; - $1398 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($1395,99,$1396,$1397,$1398)|0); - $1399 = HEAP32[$v>>2]|0; - $1400 = HEAP32[$regRowset>>2]|0; - $1401 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($1399,126,$1400,$1401,0)|0); - $1402 = HEAP32[$iSet>>2]|0; - $1403 = ($1402|0)!=(0); - if (!($1403)) { - break; - } - $1404 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($1404,16); - } - } while(0); - $1405 = HEAP32[$pParse>>2]|0; - $1406 = HEAP32[$r>>2]|0; - $1407 = HEAP32[$nPk>>2]|0; - _sqlite3ReleaseTempRange($1405,$1406,$1407); - } - } while(0); - $1408 = HEAP32[$v>>2]|0; - $1409 = HEAP32[$regReturn>>2]|0; - $1410 = HEAP32[$iLoopBody>>2]|0; - (_sqlite3VdbeAddOp2($1408,14,$1409,$1410)|0); - $1411 = HEAP32[$jmp1>>2]|0; - $1412 = ($1411|0)!=(0); - if ($1412) { - $1413 = HEAP32[$v>>2]|0; - $1414 = HEAP32[$jmp1>>2]|0; - _sqlite3VdbeJumpHere($1413,$1414); - } - $1415 = HEAP32[$pSubWInfo>>2]|0; - $1416 = ((($1415)) + 46|0); - $1417 = HEAP8[$1416>>0]|0; - $1418 = ($1417<<24>>24)!=(0); - if ($1418) { - HEAP32[$untestedTerms>>2] = 1; - } - $1419 = HEAP32[$pSubWInfo>>2]|0; - $1420 = ((($1419)) + 752|0); - $1421 = ((($1420)) + 64|0); - $1422 = HEAP32[$1421>>2]|0; - HEAP32[$pSubLoop>>2] = $1422; - $1423 = HEAP32[$pSubLoop>>2]|0; - $1424 = ((($1423)) + 36|0); - $1425 = HEAP32[$1424>>2]|0; - $1426 = $1425 & 512; - $1427 = ($1426|0)!=(0); - do { - if ($1427) { - $1428 = HEAP32[$ii>>2]|0; - $1429 = ($1428|0)==(0); - if (!($1429)) { - $1430 = HEAP32[$pSubLoop>>2]|0; - $1431 = ((($1430)) + 24|0); - $1432 = ((($1431)) + 8|0); - $1433 = HEAP32[$1432>>2]|0; - $1434 = HEAP32[$pCov>>2]|0; - $1435 = ($1433|0)==($1434|0); - if (!($1435)) { - label = 193; - break; - } - } - $1436 = HEAP32[$pTab>>2]|0; - $1437 = ((($1436)) + 42|0); - $1438 = HEAP8[$1437>>0]|0; - $1439 = $1438&255; - $1440 = $1439 & 32; - $1441 = ($1440|0)==(0); - if (!($1441)) { - $1442 = HEAP32[$pSubLoop>>2]|0; - $1443 = ((($1442)) + 24|0); - $1444 = ((($1443)) + 8|0); - $1445 = HEAP32[$1444>>2]|0; - $1446 = ((($1445)) + 55|0); - $1447 = HEAP8[$1446>>0]|0; - $1448 = $1447 & 3; - $1449 = $1448&255; - $1450 = ($1449|0)==(2); - if ($1450) { - label = 193; - break; - } - } - $1451 = HEAP32[$pSubLoop>>2]|0; - $1452 = ((($1451)) + 24|0); - $1453 = ((($1452)) + 8|0); - $1454 = HEAP32[$1453>>2]|0; - HEAP32[$pCov>>2] = $1454; - } else { - label = 193; - } - } while(0); - if ((label|0) == 193) { - label = 0; - HEAP32[$pCov>>2] = 0; - } - $1455 = HEAP32[$pSubWInfo>>2]|0; - _sqlite3WhereEnd($1455); + } while(0); + $284 = HEAP32[$11>>2]|0; + $285 = ((($284)) + 24|0); + $286 = HEAP32[$285>>2]|0; + $287 = $286 & 524288; + $288 = ($287|0)!=(0); + do { + if ($288) { + $289 = HEAP32[$7>>2]|0; + $290 = ((($289)) + 16|0); + $291 = HEAP32[$290>>2]|0; + $292 = ($291|0)!=(0|0); + if (!($292)) { + break; } + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); } - $1456 = HEAP32[$ii>>2]|0; - $1457 = (($1456) + 1)|0; - HEAP32[$ii>>2] = $1457; - } - $1458 = HEAP32[$pCov>>2]|0; - $1459 = HEAP32[$pLevel>>2]|0; - $1460 = ((($1459)) + 56|0); - HEAP32[$1460>>2] = $1458; - $1461 = HEAP32[$pCov>>2]|0; - $1462 = ($1461|0)!=(0|0); - if ($1462) { - $1463 = HEAP32[$iCovCur>>2]|0; - $1464 = HEAP32[$pLevel>>2]|0; - $1465 = ((($1464)) + 8|0); - HEAP32[$1465>>2] = $1463; - } - $1466 = HEAP32[$pAndExpr>>2]|0; - $1467 = ($1466|0)!=(0|0); - if ($1467) { - $1468 = HEAP32[$pAndExpr>>2]|0; - $1469 = ((($1468)) + 12|0); - HEAP32[$1469>>2] = 0; - $1470 = HEAP32[$db>>2]|0; - $1471 = HEAP32[$pAndExpr>>2]|0; - _sqlite3ExprDelete($1470,$1471); - } - $1472 = HEAP32[$v>>2]|0; - $1473 = HEAP32[$iRetInit>>2]|0; - $1474 = HEAP32[$v>>2]|0; - $1475 = (_sqlite3VdbeCurrentAddr($1474)|0); - _sqlite3VdbeChangeP1($1472,$1473,$1475); - $1476 = HEAP32[$v>>2]|0; - $1477 = HEAP32[$pLevel>>2]|0; - $1478 = ((($1477)) + 12|0); - $1479 = HEAP32[$1478>>2]|0; - (_sqlite3VdbeGoto($1476,$1479)|0); - $1480 = HEAP32[$v>>2]|0; - $1481 = HEAP32[$iLoopBody>>2]|0; - _sqlite3VdbeResolveLabel($1480,$1481); - $1482 = HEAP32[$3>>2]|0; - $1483 = ((($1482)) + 42|0); - $1484 = HEAP8[$1483>>0]|0; - $1485 = $1484&255; - $1486 = ($1485|0)>(1); - if ($1486) { - $1487 = HEAP32[$db>>2]|0; - $1488 = HEAP32[$pOrTab>>2]|0; - _sqlite3DbFree($1487,$1488); - } - $1489 = HEAP32[$untestedTerms>>2]|0; - $1490 = ($1489|0)!=(0); - if ($1490) { - break; + } while(0); + $293 = HEAP32[$11>>2]|0; + $294 = ((($293)) + 24|0); + $295 = HEAP32[$294>>2]|0; + $296 = $295 & 128; + $297 = ($296|0)!=(0); + if ($297) { + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); } - $1491 = HEAP32[$pLevel>>2]|0; - $1492 = HEAP32[$pTerm>>2]|0; - _disableTerm($1491,$1492); - break; - } - $540 = ((($539)) + 24|0); - $541 = HEAP16[$540>>1]|0; - HEAP16[$nEq>>1] = $541; - $542 = HEAP32[$pLoop>>2]|0; - $543 = ((($542)) + 24|0); - $544 = ((($543)) + 2|0); - $545 = HEAP16[$544>>1]|0; - HEAP16[$nBtm>>1] = $545; - $546 = HEAP32[$pLoop>>2]|0; - $547 = ((($546)) + 24|0); - $548 = ((($547)) + 4|0); - $549 = HEAP16[$548>>1]|0; - HEAP16[$nTop>>1] = $549; - HEAP32[$pRangeStart>>2] = 0; - HEAP32[$pRangeEnd>>2] = 0; - HEAP32[$nExtraReg>>2] = 0; - HEAP32[$zEndAff>>2] = 0; - HEAP8[$bSeekPastNull>>0] = 0; - HEAP8[$bStopAtNull>>0] = 0; - $550 = HEAP32[$pLoop>>2]|0; - $551 = ((($550)) + 24|0); - $552 = ((($551)) + 8|0); - $553 = HEAP32[$552>>2]|0; - HEAP32[$pIdx>>2] = $553; - $554 = HEAP32[$pLevel>>2]|0; - $555 = ((($554)) + 8|0); - $556 = HEAP32[$555>>2]|0; - HEAP32[$iIdxCur>>2] = $556; - $557 = HEAP32[$3>>2]|0; - $558 = ((($557)) + 40|0); - $559 = HEAP16[$558>>1]|0; - $560 = $559&65535; - $561 = $560 & 1; - $562 = ($561|0)!=(0); - if ($562) { - $563 = HEAP32[$3>>2]|0; - $564 = ((($563)) + 43|0); - $565 = HEAP8[$564>>0]|0; - $566 = $565 << 24 >> 24; - $567 = ($566|0)>(0); - if ($567) { - $568 = HEAP32[$pIdx>>2]|0; - $569 = ((($568)) + 50|0); - $570 = HEAP16[$569>>1]|0; - $571 = $570&65535; - $572 = HEAP16[$nEq>>1]|0; - $573 = $572&65535; - $574 = ($571|0)>($573|0); - if ($574) { - HEAP8[$bSeekPastNull>>0] = 1; - HEAP32[$nExtraReg>>2] = 1; - } - } - } - $575 = HEAP16[$nEq>>1]|0; - $576 = $575&65535; - HEAP32[$j>>2] = $576; - $577 = HEAP32[$pLoop>>2]|0; - $578 = ((($577)) + 36|0); - $579 = HEAP32[$578>>2]|0; - $580 = $579 & 32; - $581 = ($580|0)!=(0); - if ($581) { - $582 = HEAP32[$j>>2]|0; - $583 = (($582) + 1)|0; - HEAP32[$j>>2] = $583; - $584 = HEAP32[$pLoop>>2]|0; - $585 = ((($584)) + 48|0); - $586 = HEAP32[$585>>2]|0; - $587 = (($586) + ($582<<2)|0); - $588 = HEAP32[$587>>2]|0; - HEAP32[$pRangeStart>>2] = $588; - $589 = HEAP32[$nExtraReg>>2]|0; - $590 = HEAP32[$pLoop>>2]|0; - $591 = ((($590)) + 24|0); - $592 = ((($591)) + 2|0); - $593 = HEAP16[$592>>1]|0; - $594 = $593&65535; - $595 = ($589|0)>($594|0); - if ($595) { - $596 = HEAP32[$nExtraReg>>2]|0; - $602 = $596; - } else { - $597 = HEAP32[$pLoop>>2]|0; - $598 = ((($597)) + 24|0); - $599 = ((($598)) + 2|0); - $600 = HEAP16[$599>>1]|0; - $601 = $600&65535; - $602 = $601; - } - HEAP32[$nExtraReg>>2] = $602; - } - $603 = HEAP32[$pLoop>>2]|0; - $604 = ((($603)) + 36|0); - $605 = HEAP32[$604>>2]|0; - $606 = $605 & 16; - $607 = ($606|0)!=(0); - do { - if ($607) { - $608 = HEAP32[$j>>2]|0; - $609 = (($608) + 1)|0; - HEAP32[$j>>2] = $609; - $610 = HEAP32[$pLoop>>2]|0; - $611 = ((($610)) + 48|0); - $612 = HEAP32[$611>>2]|0; - $613 = (($612) + ($608<<2)|0); - $614 = HEAP32[$613>>2]|0; - HEAP32[$pRangeEnd>>2] = $614; - $615 = HEAP32[$nExtraReg>>2]|0; - $616 = HEAP32[$pLoop>>2]|0; - $617 = ((($616)) + 24|0); - $618 = ((($617)) + 4|0); - $619 = HEAP16[$618>>1]|0; - $620 = $619&65535; - $621 = ($615|0)>($620|0); - if ($621) { - $622 = HEAP32[$nExtraReg>>2]|0; - $628 = $622; - } else { - $623 = HEAP32[$pLoop>>2]|0; - $624 = ((($623)) + 24|0); - $625 = ((($624)) + 4|0); - $626 = HEAP16[$625>>1]|0; - $627 = $626&65535; - $628 = $627; - } - HEAP32[$nExtraReg>>2] = $628; - $629 = HEAP32[$pRangeEnd>>2]|0; - $630 = ((($629)) + 10|0); - $631 = HEAP16[$630>>1]|0; - $632 = $631&65535; - $633 = $632 & 256; - $634 = ($633|0)!=(0); - if ($634) { - $635 = HEAP32[$pParse>>2]|0; - $636 = ((($635)) + 44|0); - $637 = HEAP32[$636>>2]|0; - $638 = (($637) + 1)|0; - HEAP32[$636>>2] = $638; - $639 = HEAP32[$pLevel>>2]|0; - $640 = ((($639)) + 36|0); - HEAP32[$640>>2] = $638; - $641 = HEAP32[$v>>2]|0; - $642 = HEAP32[$pLevel>>2]|0; - $643 = ((($642)) + 36|0); - $644 = HEAP32[$643>>2]|0; - (_sqlite3VdbeAddOp2($641,76,1,$644)|0); - $645 = HEAP32[$v>>2]|0; - $646 = (_sqlite3VdbeCurrentAddr($645)|0); - $647 = HEAP32[$pLevel>>2]|0; - $648 = ((($647)) + 40|0); - HEAP32[$648>>2] = $646; - $649 = HEAP32[$pLevel>>2]|0; - $650 = ((($649)) + 36|0); - $651 = HEAP32[$650>>2]|0; - $652 = $651 << 1; - HEAP32[$650>>2] = $652; - $653 = HEAP32[$bRev>>2]|0; - $654 = HEAP16[$nEq>>1]|0; - $655 = $654&65535; - $656 = HEAP32[$pIdx>>2]|0; - $657 = ((($656)) + 28|0); - $658 = HEAP32[$657>>2]|0; - $659 = (($658) + ($655)|0); - $660 = HEAP8[$659>>0]|0; - $661 = $660&255; - $662 = ($661|0)==(1); - $663 = $662&1; - $664 = $653 ^ $663; - $665 = HEAP32[$pLevel>>2]|0; - $666 = ((($665)) + 36|0); - $667 = HEAP32[$666>>2]|0; - $668 = $667 | $664; - HEAP32[$666>>2] = $668; - } - $669 = HEAP32[$pRangeStart>>2]|0; - $670 = ($669|0)==(0|0); - if ($670) { - $671 = HEAP16[$nEq>>1]|0; - $672 = $671&65535; - $673 = HEAP32[$pIdx>>2]|0; - $674 = ((($673)) + 4|0); - $675 = HEAP32[$674>>2]|0; - $676 = (($675) + ($672<<1)|0); - $677 = HEAP16[$676>>1]|0; - $678 = $677 << 16 >> 16; - HEAP32[$j>>2] = $678; - $679 = HEAP32[$j>>2]|0; - $680 = ($679|0)>=(0); - $681 = HEAP32[$j>>2]|0; - if ($680) { - $682 = HEAP32[$pIdx>>2]|0; - $683 = ((($682)) + 12|0); - $684 = HEAP32[$683>>2]|0; - $685 = ((($684)) + 4|0); - $686 = HEAP32[$685>>2]|0; - $687 = (($686) + ($681<<4)|0); - $688 = ((($687)) + 12|0); - $689 = HEAP8[$688>>0]|0; - $690 = $689&255; - $691 = ($690|0)==(0); - $692 = HEAP32[$j>>2]|0; - $693 = ($692|0)==(-2); - $or$cond = $691 | $693; + $298 = HEAP32[$11>>2]|0; + $299 = HEAP32[$13>>2]|0; + $300 = ((($299)) + 64|0); + $301 = HEAP32[$300>>2]|0; + $302 = (_sqlite3SchemaToIndex($298,$301)|0); + HEAP32[$18>>2] = $302; + $303 = HEAP32[$6>>2]|0; + $304 = (_sqlite3GetVdbe($303)|0); + HEAP32[$25>>2] = $304; + $305 = HEAP32[$6>>2]|0; + $306 = HEAP32[$18>>2]|0; + _sqlite3CodeVerifySchema($305,$306); + $307 = HEAP32[$6>>2]|0; + $308 = ((($307)) + 40|0); + $309 = HEAP32[$308>>2]|0; + $310 = (($309) + 1)|0; + HEAP32[$308>>2] = $310; + HEAP32[$19>>2] = $309; + $311 = HEAP32[$6>>2]|0; + $312 = ((($311)) + 40|0); + $313 = HEAP32[$312>>2]|0; + $314 = (($313) + 1)|0; + HEAP32[$312>>2] = $314; + HEAP32[$20>>2] = $313; + $315 = HEAP32[$6>>2]|0; + $316 = HEAP32[$10>>2]|0; + $317 = HEAP32[$7>>2]|0; + $318 = (_autoIncBegin($315,$316,$317)|0); + HEAP32[$26>>2] = $318; + $319 = HEAP32[$6>>2]|0; + $320 = (_sqlite3GetTempReg($319)|0); + HEAP32[$28>>2] = $320; + $321 = HEAP32[$6>>2]|0; + $322 = (_sqlite3GetTempReg($321)|0); + HEAP32[$29>>2] = $322; + $323 = HEAP32[$6>>2]|0; + $324 = HEAP32[$20>>2]|0; + $325 = HEAP32[$10>>2]|0; + $326 = HEAP32[$7>>2]|0; + _sqlite3OpenTable($323,$324,$325,$326,105); + $327 = HEAP32[$11>>2]|0; + $328 = ((($327)) + 24|0); + $329 = HEAP32[$328>>2]|0; + $330 = $329 & 268435456; + $331 = ($330|0)==(0); + do { + if ($331) { + $332 = HEAP32[$7>>2]|0; + $333 = ((($332)) + 32|0); + $334 = HEAP16[$333>>1]|0; + $335 = $334 << 16 >> 16; + $336 = ($335|0)<(0); + if ($336) { + $337 = HEAP32[$7>>2]|0; + $338 = ((($337)) + 8|0); + $339 = HEAP32[$338>>2]|0; + $340 = ($339|0)!=(0|0); + $341 = HEAP32[$27>>2]|0; + $342 = ($341|0)!=(0); + $or$cond = $340 | $342; if (!($or$cond)) { - break; + label = 87; } } else { - $$old1 = ($681|0)==(-2); + $$old = HEAP32[$27>>2]|0; + $$old1 = ($$old|0)!=(0); if (!($$old1)) { + label = 87; + } + } + if ((label|0) == 87) { + $343 = HEAP32[$9>>2]|0; + $344 = ($343|0)!=(2); + $345 = HEAP32[$9>>2]|0; + $346 = ($345|0)!=(1); + $or$cond4 = $344 & $346; + if (!($or$cond4)) { break; } } - HEAP8[$bSeekPastNull>>0] = 1; + $347 = HEAP32[$25>>2]|0; + $348 = HEAP32[$20>>2]|0; + $349 = (_sqlite3VdbeAddOp2($347,57,$348,0)|0); + HEAP32[$21>>2] = $349; + $350 = HEAP32[$25>>2]|0; + $351 = (_sqlite3VdbeAddOp0($350,13)|0); + HEAP32[$23>>2] = $351; + $352 = HEAP32[$25>>2]|0; + $353 = HEAP32[$21>>2]|0; + _sqlite3VdbeJumpHere($352,$353); } - } - } while(0); - $694 = HEAP16[$nEq>>1]|0; - $695 = $694&65535; - $696 = HEAP32[$pIdx>>2]|0; - $697 = ((($696)) + 50|0); - $698 = HEAP16[$697>>1]|0; - $699 = $698&65535; - $700 = ($695|0)<($699|0); - if ($700) { - $701 = HEAP32[$bRev>>2]|0; - $702 = HEAP16[$nEq>>1]|0; - $703 = $702&65535; - $704 = HEAP32[$pIdx>>2]|0; - $705 = ((($704)) + 28|0); - $706 = HEAP32[$705>>2]|0; - $707 = (($706) + ($703)|0); - $708 = HEAP8[$707>>0]|0; - $709 = $708&255; - $710 = ($709|0)==(0); - $711 = $710&1; - $712 = ($701|0)==($711|0); - if ($712) { - label = 84; + } while(0); + $354 = HEAP32[$13>>2]|0; + $355 = ((($354)) + 42|0); + $356 = HEAP8[$355>>0]|0; + $357 = $356&255; + $358 = $357 & 32; + $359 = ($358|0)==(0); + $360 = HEAP32[$6>>2]|0; + if ($359) { + $361 = HEAP32[$19>>2]|0; + $362 = HEAP32[$18>>2]|0; + $363 = HEAP32[$13>>2]|0; + _sqlite3OpenTable($360,$361,$362,$363,104); + $364 = HEAP32[$25>>2]|0; + $365 = HEAP32[$19>>2]|0; + $366 = (_sqlite3VdbeAddOp2($364,57,$365,0)|0); + HEAP32[$24>>2] = $366; + $367 = HEAP32[$7>>2]|0; + $368 = ((($367)) + 32|0); + $369 = HEAP16[$368>>1]|0; + $370 = $369 << 16 >> 16; + $371 = ($370|0)>=(0); + do { + if ($371) { + $372 = HEAP32[$25>>2]|0; + $373 = HEAP32[$19>>2]|0; + $374 = HEAP32[$29>>2]|0; + $375 = (_sqlite3VdbeAddOp2($372,123,$373,$374)|0); + HEAP32[$21>>2] = $375; + $376 = HEAP32[$25>>2]|0; + $377 = HEAP32[$20>>2]|0; + $378 = HEAP32[$29>>2]|0; + $379 = (_sqlite3VdbeAddOp3($376,33,$377,0,$378)|0); + HEAP32[$22>>2] = $379; + $380 = HEAP32[$6>>2]|0; + $381 = HEAP32[$9>>2]|0; + $382 = HEAP32[$7>>2]|0; + _sqlite3RowidConstraint($380,$381,$382); + $383 = HEAP32[$25>>2]|0; + $384 = HEAP32[$22>>2]|0; + _sqlite3VdbeJumpHere($383,$384); + $385 = HEAP32[$6>>2]|0; + $386 = HEAP32[$26>>2]|0; + $387 = HEAP32[$29>>2]|0; + _autoIncStep($385,$386,$387); + } else { + $388 = HEAP32[$7>>2]|0; + $389 = ((($388)) + 8|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)==(0|0); + $392 = HEAP32[$25>>2]|0; + if ($391) { + $393 = HEAP32[$20>>2]|0; + $394 = HEAP32[$29>>2]|0; + $395 = (_sqlite3VdbeAddOp2($392,114,$393,$394)|0); + HEAP32[$21>>2] = $395; + break; + } else { + $396 = HEAP32[$19>>2]|0; + $397 = HEAP32[$29>>2]|0; + $398 = (_sqlite3VdbeAddOp2($392,123,$396,$397)|0); + HEAP32[$21>>2] = $398; + break; + } + } + } while(0); + $399 = HEAP32[$25>>2]|0; + $400 = HEAP32[$19>>2]|0; + $401 = HEAP32[$28>>2]|0; + (_sqlite3VdbeAddOp2($399,122,$400,$401)|0); + $402 = HEAP32[$25>>2]|0; + $403 = HEAP32[$20>>2]|0; + $404 = HEAP32[$28>>2]|0; + $405 = HEAP32[$29>>2]|0; + $406 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp4($402,115,$403,$404,$405,$406,-20)|0); + $407 = HEAP32[$25>>2]|0; + _sqlite3VdbeChangeP5($407,11); + $408 = HEAP32[$25>>2]|0; + $409 = HEAP32[$19>>2]|0; + $410 = HEAP32[$21>>2]|0; + (_sqlite3VdbeAddOp2($408,7,$409,$410)|0); + $411 = HEAP32[$25>>2]|0; + $412 = HEAP32[$19>>2]|0; + (_sqlite3VdbeAddOp2($411,111,$412,0)|0); + $413 = HEAP32[$25>>2]|0; + $414 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp2($413,111,$414,0)|0); } else { - label = 82; - } - } else { - label = 82; - } - if ((label|0) == 82) { - $713 = HEAP32[$bRev>>2]|0; - $714 = ($713|0)!=(0); - if ($714) { - $715 = HEAP32[$pIdx>>2]|0; - $716 = ((($715)) + 50|0); - $717 = HEAP16[$716>>1]|0; - $718 = $717&65535; - $719 = HEAP16[$nEq>>1]|0; - $720 = $719&65535; - $721 = ($718|0)==($720|0); - if ($721) { - label = 84; + $415 = HEAP32[$10>>2]|0; + $416 = HEAP32[$7>>2]|0; + $417 = ((($416)) + 28|0); + $418 = HEAP32[$417>>2]|0; + $419 = HEAP32[$7>>2]|0; + $420 = HEAP32[$419>>2]|0; + _sqlite3TableLock($360,$415,$418,1,$420); + $421 = HEAP32[$6>>2]|0; + $422 = HEAP32[$18>>2]|0; + $423 = HEAP32[$13>>2]|0; + $424 = ((($423)) + 28|0); + $425 = HEAP32[$424>>2]|0; + $426 = HEAP32[$13>>2]|0; + $427 = HEAP32[$426>>2]|0; + _sqlite3TableLock($421,$422,$425,0,$427); + } + $428 = HEAP32[$7>>2]|0; + $429 = ((($428)) + 8|0); + $430 = HEAP32[$429>>2]|0; + HEAP32[$15>>2] = $430; + while(1) { + $431 = HEAP32[$15>>2]|0; + $432 = ($431|0)!=(0|0); + if (!($432)) { + break; } - } - } - if ((label|0) == 84) { - $722 = HEAP32[$pRangeEnd>>2]|0; - HEAP32[$t>>2] = $722; - $723 = HEAP32[$pRangeStart>>2]|0; - HEAP32[$pRangeEnd>>2] = $723; - $724 = HEAP32[$t>>2]|0; - HEAP32[$pRangeStart>>2] = $724; - $725 = HEAP8[$bSeekPastNull>>0]|0; - HEAP8[$t5>>0] = $725; - $726 = HEAP8[$bStopAtNull>>0]|0; - HEAP8[$bSeekPastNull>>0] = $726; - $727 = HEAP8[$t5>>0]|0; - HEAP8[$bStopAtNull>>0] = $727; - $728 = HEAP16[$nBtm>>1]|0; - $729 = $728&255; - HEAP8[$t6>>0] = $729; - $730 = HEAP16[$nTop>>1]|0; - HEAP16[$nBtm>>1] = $730; - $731 = HEAP8[$t6>>0]|0; - $732 = $731&255; - HEAP16[$nTop>>1] = $732; - } - $733 = HEAP32[$pParse>>2]|0; - $734 = HEAP32[$pLevel>>2]|0; - $735 = HEAP32[$bRev>>2]|0; - $736 = HEAP32[$nExtraReg>>2]|0; - $737 = (_codeAllEqualityTerms($733,$734,$735,$736,$zStartAff)|0); - HEAP32[$regBase>>2] = $737; - $738 = HEAP32[$zStartAff>>2]|0; - $739 = ($738|0)!=(0|0); - if ($739) { - $740 = HEAP16[$nTop>>1]|0; - $741 = $740&65535; - $742 = ($741|0)!=(0); - if ($742) { - $743 = HEAP32[$db>>2]|0; - $744 = HEAP16[$nEq>>1]|0; - $745 = $744&65535; - $746 = HEAP32[$zStartAff>>2]|0; - $747 = (($746) + ($745)|0); - $748 = (_sqlite3DbStrDup($743,$747)|0); - HEAP32[$zEndAff>>2] = $748; - } - } - $749 = HEAP32[$pLevel>>2]|0; - $750 = ((($749)) + 16|0); - $751 = HEAP32[$750>>2]|0; - HEAP32[$addrNxt>>2] = $751; - $752 = HEAP32[$pRangeStart>>2]|0; - $753 = ($752|0)!=(0|0); - if ($753) { - $754 = HEAP32[$pRangeStart>>2]|0; - $755 = ((($754)) + 12|0); - $756 = HEAP16[$755>>1]|0; - $757 = $756&65535; - $758 = $757 & 40; - $759 = ($758|0)!=(0); - $761 = $759; - } else { - $761 = 1; - } - $760 = $761&1; - HEAP32[$startEq>>2] = $760; - $762 = HEAP32[$pRangeEnd>>2]|0; - $763 = ($762|0)!=(0|0); - if ($763) { - $764 = HEAP32[$pRangeEnd>>2]|0; - $765 = ((($764)) + 12|0); - $766 = HEAP16[$765>>1]|0; - $767 = $766&65535; - $768 = $767 & 40; - $769 = ($768|0)!=(0); - $771 = $769; - } else { - $771 = 1; - } - $770 = $771&1; - HEAP32[$endEq>>2] = $770; - $772 = HEAP32[$pRangeStart>>2]|0; - $773 = ($772|0)!=(0|0); - if ($773) { - $778 = 1; - } else { - $774 = HEAP16[$nEq>>1]|0; - $775 = $774&65535; - $776 = ($775|0)>(0); - $778 = $776; - } - $777 = $778&1; - HEAP32[$start_constraints>>2] = $777; - $779 = HEAP16[$nEq>>1]|0; - $780 = $779&65535; - HEAP32[$nConstraint3>>2] = $780; - $781 = HEAP32[$pRangeStart>>2]|0; - $782 = ($781|0)!=(0|0); - if ($782) { - $783 = HEAP32[$pRangeStart>>2]|0; - $784 = HEAP32[$783>>2]|0; - $785 = ((($784)) + 16|0); - $786 = HEAP32[$785>>2]|0; - HEAP32[$pRight7>>2] = $786; - $787 = HEAP32[$pParse>>2]|0; - $788 = HEAP32[$pRight7>>2]|0; - $789 = HEAP32[$regBase>>2]|0; - $790 = HEAP16[$nEq>>1]|0; - $791 = $790&65535; - $792 = (($789) + ($791))|0; - $793 = HEAP16[$nBtm>>1]|0; - $794 = $793&65535; - _codeExprOrVector($787,$788,$792,$794); - $795 = HEAP32[$v>>2]|0; - $796 = HEAP32[$pLevel>>2]|0; - $797 = HEAP32[$pRangeStart>>2]|0; - _whereLikeOptimizationStringFixup($795,$796,$797); - $798 = HEAP32[$pRangeStart>>2]|0; - $799 = ((($798)) + 10|0); - $800 = HEAP16[$799>>1]|0; - $801 = $800&65535; - $802 = $801 & 0; - $803 = ($802|0)==(0); - do { - if ($803) { - $804 = HEAP32[$pRight7>>2]|0; - $805 = (_sqlite3ExprCanBeNull($804)|0); - $806 = ($805|0)!=(0); - if (!($806)) { + HEAP8[$32>>0] = 0; + $433 = HEAP32[$13>>2]|0; + $434 = ((($433)) + 8|0); + $435 = HEAP32[$434>>2]|0; + HEAP32[$14>>2] = $435; + while(1) { + $436 = HEAP32[$14>>2]|0; + $437 = ($436|0)!=(0|0); + if (!($437)) { break; } - $807 = HEAP32[$v>>2]|0; - $808 = HEAP32[$regBase>>2]|0; - $809 = HEAP16[$nEq>>1]|0; - $810 = $809&65535; - $811 = (($808) + ($810))|0; - $812 = HEAP32[$addrNxt>>2]|0; - (_sqlite3VdbeAddOp2($807,34,$811,$812)|0); - } - } while(0); - $813 = HEAP32[$zStartAff>>2]|0; - $814 = ($813|0)!=(0|0); - if ($814) { - $815 = HEAP32[$pRight7>>2]|0; - $816 = HEAP16[$nBtm>>1]|0; - $817 = $816&65535; - $818 = HEAP16[$nEq>>1]|0; - $819 = $818&65535; - $820 = HEAP32[$zStartAff>>2]|0; - $821 = (($820) + ($819)|0); - _updateRangeAffinityStr($815,$817,$821); - } - $822 = HEAP16[$nBtm>>1]|0; - $823 = $822&65535; - $824 = HEAP32[$nConstraint3>>2]|0; - $825 = (($824) + ($823))|0; - HEAP32[$nConstraint3>>2] = $825; - $826 = HEAP32[$pRight7>>2]|0; - $827 = (_sqlite3ExprIsVector($826)|0); - $828 = ($827|0)==(0); - if ($828) { - $829 = HEAP32[$pLevel>>2]|0; - $830 = HEAP32[$pRangeStart>>2]|0; - _disableTerm($829,$830); - } else { - HEAP32[$startEq>>2] = 1; - } - HEAP8[$bSeekPastNull>>0] = 0; - } else { - $831 = HEAP8[$bSeekPastNull>>0]|0; - $832 = ($831<<24>>24)!=(0); - if ($832) { - $833 = HEAP32[$v>>2]|0; - $834 = HEAP32[$regBase>>2]|0; - $835 = HEAP16[$nEq>>1]|0; - $836 = $835&65535; - $837 = (($834) + ($836))|0; - (_sqlite3VdbeAddOp2($833,79,0,$837)|0); - $838 = HEAP32[$nConstraint3>>2]|0; - $839 = (($838) + 1)|0; - HEAP32[$nConstraint3>>2] = $839; - HEAP32[$startEq>>2] = 0; - HEAP32[$start_constraints>>2] = 1; - } - } - $840 = HEAP32[$pParse>>2]|0; - $841 = HEAP32[$regBase>>2]|0; - $842 = HEAP32[$nConstraint3>>2]|0; - $843 = HEAP8[$bSeekPastNull>>0]|0; - $844 = $843&255; - $845 = (($842) - ($844))|0; - $846 = HEAP32[$zStartAff>>2]|0; - _codeApplyAffinity($840,$841,$845,$846); - $847 = HEAP32[$pLoop>>2]|0; - $848 = ((($847)) + 42|0); - $849 = HEAP16[$848>>1]|0; - $850 = $849&65535; - $851 = ($850|0)>(0); - if ($851) { - $852 = HEAP32[$nConstraint3>>2]|0; - $853 = HEAP32[$pLoop>>2]|0; - $854 = ((($853)) + 42|0); - $855 = HEAP16[$854>>1]|0; - $856 = $855&65535; - $857 = ($852|0)==($856|0); - if (!($857)) { - label = 108; - } - } else { - label = 108; - } - if ((label|0) == 108) { - $858 = HEAP32[$start_constraints>>2]|0; - $859 = $858 << 2; - $860 = HEAP32[$startEq>>2]|0; - $861 = $860 << 1; - $862 = (($859) + ($861))|0; - $863 = HEAP32[$bRev>>2]|0; - $864 = (($862) + ($863))|0; - $865 = (34436 + ($864)|0); - $866 = HEAP8[$865>>0]|0; - $867 = $866&255; - HEAP32[$op4>>2] = $867; - $868 = HEAP32[$v>>2]|0; - $869 = HEAP32[$op4>>2]|0; - $870 = HEAP32[$iIdxCur>>2]|0; - $871 = HEAP32[$addrNxt>>2]|0; - $872 = HEAP32[$regBase>>2]|0; - $873 = HEAP32[$nConstraint3>>2]|0; - (_sqlite3VdbeAddOp4Int($868,$869,$870,$871,$872,$873)|0); - } - $874 = HEAP16[$nEq>>1]|0; - $875 = $874&65535; - HEAP32[$nConstraint3>>2] = $875; - $876 = HEAP32[$pRangeEnd>>2]|0; - $877 = ($876|0)!=(0|0); - do { - if ($877) { - $878 = HEAP32[$pRangeEnd>>2]|0; - $879 = HEAP32[$878>>2]|0; - $880 = ((($879)) + 16|0); - $881 = HEAP32[$880>>2]|0; - HEAP32[$pRight8>>2] = $881; - $882 = HEAP32[$pParse>>2]|0; - $883 = HEAP32[$regBase>>2]|0; - $884 = HEAP16[$nEq>>1]|0; - $885 = $884&65535; - $886 = (($883) + ($885))|0; - _sqlite3ExprCacheRemove($882,$886,1); - $887 = HEAP32[$pParse>>2]|0; - $888 = HEAP32[$pRight8>>2]|0; - $889 = HEAP32[$regBase>>2]|0; - $890 = HEAP16[$nEq>>1]|0; - $891 = $890&65535; - $892 = (($889) + ($891))|0; - $893 = HEAP16[$nTop>>1]|0; - $894 = $893&65535; - _codeExprOrVector($887,$888,$892,$894); - $895 = HEAP32[$v>>2]|0; - $896 = HEAP32[$pLevel>>2]|0; - $897 = HEAP32[$pRangeEnd>>2]|0; - _whereLikeOptimizationStringFixup($895,$896,$897); - $898 = HEAP32[$pRangeEnd>>2]|0; - $899 = ((($898)) + 10|0); - $900 = HEAP16[$899>>1]|0; - $901 = $900&65535; - $902 = $901 & 0; - $903 = ($902|0)==(0); + $438 = HEAP32[$15>>2]|0; + $439 = HEAP32[$14>>2]|0; + $440 = (_xferCompatibleIndex($438,$439)|0); + $441 = ($440|0)!=(0); + if ($441) { + break; + } + $442 = HEAP32[$14>>2]|0; + $443 = ((($442)) + 20|0); + $444 = HEAP32[$443>>2]|0; + HEAP32[$14>>2] = $444; + } + $445 = HEAP32[$25>>2]|0; + $446 = HEAP32[$19>>2]|0; + $447 = HEAP32[$14>>2]|0; + $448 = ((($447)) + 44|0); + $449 = HEAP32[$448>>2]|0; + $450 = HEAP32[$18>>2]|0; + (_sqlite3VdbeAddOp3($445,104,$446,$449,$450)|0); + $451 = HEAP32[$6>>2]|0; + $452 = HEAP32[$14>>2]|0; + _sqlite3VdbeSetP4KeyInfo($451,$452); + $453 = HEAP32[$25>>2]|0; + $454 = HEAP32[$20>>2]|0; + $455 = HEAP32[$15>>2]|0; + $456 = ((($455)) + 44|0); + $457 = HEAP32[$456>>2]|0; + $458 = HEAP32[$10>>2]|0; + (_sqlite3VdbeAddOp3($453,105,$454,$457,$458)|0); + $459 = HEAP32[$6>>2]|0; + $460 = HEAP32[$15>>2]|0; + _sqlite3VdbeSetP4KeyInfo($459,$460); + $461 = HEAP32[$25>>2]|0; + _sqlite3VdbeChangeP5($461,1); + $462 = HEAP32[$25>>2]|0; + $463 = HEAP32[$19>>2]|0; + $464 = (_sqlite3VdbeAddOp2($462,57,$463,0)|0); + HEAP32[$21>>2] = $464; + $465 = HEAP32[$25>>2]|0; + $466 = HEAP32[$19>>2]|0; + $467 = HEAP32[$28>>2]|0; + (_sqlite3VdbeAddOp2($465,121,$466,$467)|0); + $468 = HEAP32[$11>>2]|0; + $469 = ((($468)) + 24|0); + $470 = HEAP32[$469>>2]|0; + $471 = $470 & 268435456; + $472 = ($471|0)!=(0); do { - if ($903) { - $904 = HEAP32[$pRight8>>2]|0; - $905 = (_sqlite3ExprCanBeNull($904)|0); - $906 = ($905|0)!=(0); - if (!($906)) { + if ($472) { + HEAP32[$17>>2] = 0; + while(1) { + $473 = HEAP32[$17>>2]|0; + $474 = HEAP32[$14>>2]|0; + $475 = ((($474)) + 52|0); + $476 = HEAP16[$475>>1]|0; + $477 = $476&65535; + $478 = ($473|0)<($477|0); + if (!($478)) { + break; + } + $479 = HEAP32[$14>>2]|0; + $480 = ((($479)) + 32|0); + $481 = HEAP32[$480>>2]|0; + $482 = HEAP32[$17>>2]|0; + $483 = (($481) + ($482<<2)|0); + $484 = HEAP32[$483>>2]|0; + HEAP32[$33>>2] = $484; + $485 = HEAP32[$33>>2]|0; + $486 = (_sqlite3_stricmp(34455,$485)|0); + $487 = ($486|0)!=(0); + if ($487) { + break; + } + $488 = HEAP32[$17>>2]|0; + $489 = (($488) + 1)|0; + HEAP32[$17>>2] = $489; + } + $490 = HEAP32[$17>>2]|0; + $491 = HEAP32[$14>>2]|0; + $492 = ((($491)) + 52|0); + $493 = HEAP16[$492>>1]|0; + $494 = $493&65535; + $495 = ($490|0)==($494|0); + if (!($495)) { break; } - $907 = HEAP32[$v>>2]|0; - $908 = HEAP32[$regBase>>2]|0; - $909 = HEAP16[$nEq>>1]|0; - $910 = $909&65535; - $911 = (($908) + ($910))|0; - $912 = HEAP32[$addrNxt>>2]|0; - (_sqlite3VdbeAddOp2($907,34,$911,$912)|0); + HEAP8[$32>>0] = 16; + $496 = HEAP32[$25>>2]|0; + $497 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp3($496,53,$497,0,-1)|0); } } while(0); - $913 = HEAP32[$zEndAff>>2]|0; - $914 = ($913|0)!=(0|0); - if ($914) { - $915 = HEAP32[$pRight8>>2]|0; - $916 = HEAP16[$nTop>>1]|0; - $917 = $916&65535; - $918 = HEAP32[$zEndAff>>2]|0; - _updateRangeAffinityStr($915,$917,$918); - $919 = HEAP32[$pParse>>2]|0; - $920 = HEAP32[$regBase>>2]|0; - $921 = HEAP16[$nEq>>1]|0; - $922 = $921&65535; - $923 = (($920) + ($922))|0; - $924 = HEAP16[$nTop>>1]|0; - $925 = $924&65535; - $926 = HEAP32[$zEndAff>>2]|0; - _codeApplyAffinity($919,$923,$925,$926); - } - $927 = HEAP16[$nTop>>1]|0; - $928 = $927&65535; - $929 = HEAP32[$nConstraint3>>2]|0; - $930 = (($929) + ($928))|0; - HEAP32[$nConstraint3>>2] = $930; - $931 = HEAP32[$pRight8>>2]|0; - $932 = (_sqlite3ExprIsVector($931)|0); - $933 = ($932|0)==(0); - if ($933) { - $934 = HEAP32[$pLevel>>2]|0; - $935 = HEAP32[$pRangeEnd>>2]|0; - _disableTerm($934,$935); - break; - } else { - HEAP32[$endEq>>2] = 1; - break; - } - } else { - $936 = HEAP8[$bStopAtNull>>0]|0; - $937 = ($936<<24>>24)!=(0); - if (!($937)) { - break; - } - $938 = HEAP32[$v>>2]|0; - $939 = HEAP32[$regBase>>2]|0; - $940 = HEAP16[$nEq>>1]|0; - $941 = $940&65535; - $942 = (($939) + ($941))|0; - (_sqlite3VdbeAddOp2($938,79,0,$942)|0); - HEAP32[$endEq>>2] = 0; - $943 = HEAP32[$nConstraint3>>2]|0; - $944 = (($943) + 1)|0; - HEAP32[$nConstraint3>>2] = $944; - } - } while(0); - $945 = HEAP32[$db>>2]|0; - $946 = HEAP32[$zStartAff>>2]|0; - _sqlite3DbFree($945,$946); - $947 = HEAP32[$db>>2]|0; - $948 = HEAP32[$zEndAff>>2]|0; - _sqlite3DbFree($947,$948); - $949 = HEAP32[$v>>2]|0; - $950 = (_sqlite3VdbeCurrentAddr($949)|0); - $951 = HEAP32[$pLevel>>2]|0; - $952 = ((($951)) + 52|0); - HEAP32[$952>>2] = $950; - $953 = HEAP32[$nConstraint3>>2]|0; - $954 = ($953|0)!=(0); - if ($954) { - $955 = HEAP32[$bRev>>2]|0; - $956 = $955<<1; - $957 = HEAP32[$endEq>>2]|0; - $958 = (($956) + ($957))|0; - $959 = (34444 + ($958)|0); - $960 = HEAP8[$959>>0]|0; - $961 = $960&255; - HEAP32[$op4>>2] = $961; - $962 = HEAP32[$v>>2]|0; - $963 = HEAP32[$op4>>2]|0; - $964 = HEAP32[$iIdxCur>>2]|0; - $965 = HEAP32[$addrNxt>>2]|0; - $966 = HEAP32[$regBase>>2]|0; - $967 = HEAP32[$nConstraint3>>2]|0; - (_sqlite3VdbeAddOp4Int($962,$963,$964,$965,$966,$967)|0); - } - $968 = HEAP32[$omitTable>>2]|0; - $969 = ($968|0)!=(0); - do { - if (!($969)) { - $970 = HEAP32[$pIdx>>2]|0; - $971 = ((($970)) + 12|0); - $972 = HEAP32[$971>>2]|0; - $973 = ((($972)) + 42|0); - $974 = HEAP8[$973>>0]|0; - $975 = $974&255; - $976 = $975 & 32; - $977 = ($976|0)==(0); - if ($977) { - $978 = HEAP32[$3>>2]|0; - $979 = ((($978)) + 40|0); - $980 = HEAP16[$979>>1]|0; - $981 = $980&65535; - $982 = $981 & 1024; - $983 = ($982|0)!=(0); - if ($983) { - $984 = HEAP32[$pParse>>2]|0; - $985 = ((($984)) + 44|0); - $986 = HEAP32[$985>>2]|0; - $987 = (($986) + 1)|0; - HEAP32[$985>>2] = $987; - HEAP32[$iRowidReg>>2] = $987; - $988 = HEAP32[$v>>2]|0; - $989 = HEAP32[$iIdxCur>>2]|0; - $990 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp2($988,129,$989,$990)|0); - $991 = HEAP32[$pParse>>2]|0; - $992 = HEAP32[$iCur>>2]|0; - $993 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheStore($991,$992,-1,$993); - $994 = HEAP32[$v>>2]|0; - $995 = HEAP32[$iCur>>2]|0; - $996 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp3($994,33,$995,0,$996)|0); - break; - } else { - $997 = HEAP32[$3>>2]|0; - $998 = HEAP32[$pIdx>>2]|0; - $999 = HEAP32[$iCur>>2]|0; - $1000 = HEAP32[$iIdxCur>>2]|0; - _codeDeferredSeek($997,$998,$999,$1000); - break; - } - } - $1001 = HEAP32[$iCur>>2]|0; - $1002 = HEAP32[$iIdxCur>>2]|0; - $1003 = ($1001|0)!=($1002|0); - if (!($1003)) { - break; - } - $1004 = HEAP32[$pIdx>>2]|0; - $1005 = ((($1004)) + 12|0); - $1006 = HEAP32[$1005>>2]|0; - $1007 = (_sqlite3PrimaryKeyIndex($1006)|0); - HEAP32[$pPk>>2] = $1007; - $1008 = HEAP32[$pParse>>2]|0; - $1009 = HEAP32[$pPk>>2]|0; - $1010 = ((($1009)) + 50|0); - $1011 = HEAP16[$1010>>1]|0; - $1012 = $1011&65535; - $1013 = (_sqlite3GetTempRange($1008,$1012)|0); - HEAP32[$iRowidReg>>2] = $1013; - HEAP32[$j>>2] = 0; - while(1) { - $1014 = HEAP32[$j>>2]|0; - $1015 = HEAP32[$pPk>>2]|0; - $1016 = ((($1015)) + 50|0); - $1017 = HEAP16[$1016>>1]|0; - $1018 = $1017&65535; - $1019 = ($1014|0)<($1018|0); - if (!($1019)) { - break; - } - $1020 = HEAP32[$pIdx>>2]|0; - $1021 = HEAP32[$j>>2]|0; - $1022 = HEAP32[$pPk>>2]|0; - $1023 = ((($1022)) + 4|0); - $1024 = HEAP32[$1023>>2]|0; - $1025 = (($1024) + ($1021<<1)|0); - $1026 = HEAP16[$1025>>1]|0; - $1027 = (_sqlite3ColumnOfIndex($1020,$1026)|0); - $1028 = $1027 << 16 >> 16; - HEAP32[$k>>2] = $1028; - $1029 = HEAP32[$v>>2]|0; - $1030 = HEAP32[$iIdxCur>>2]|0; - $1031 = HEAP32[$k>>2]|0; - $1032 = HEAP32[$iRowidReg>>2]|0; - $1033 = HEAP32[$j>>2]|0; - $1034 = (($1032) + ($1033))|0; - (_sqlite3VdbeAddOp3($1029,96,$1030,$1031,$1034)|0); - $1035 = HEAP32[$j>>2]|0; - $1036 = (($1035) + 1)|0; - HEAP32[$j>>2] = $1036; - } - $1037 = HEAP32[$v>>2]|0; - $1038 = HEAP32[$iCur>>2]|0; - $1039 = HEAP32[$addrCont>>2]|0; - $1040 = HEAP32[$iRowidReg>>2]|0; - $1041 = HEAP32[$pPk>>2]|0; - $1042 = ((($1041)) + 50|0); - $1043 = HEAP16[$1042>>1]|0; - $1044 = $1043&65535; - (_sqlite3VdbeAddOp4Int($1037,30,$1038,$1039,$1040,$1044)|0); - } - } while(0); - $1045 = HEAP32[$pLoop>>2]|0; - $1046 = ((($1045)) + 36|0); - $1047 = HEAP32[$1046>>2]|0; - $1048 = $1047 & 4096; - $1049 = ($1048|0)!=(0); - do { - if ($1049) { - $1050 = HEAP32[$pLevel>>2]|0; - $1051 = ((($1050)) + 45|0); - HEAP8[$1051>>0] = -95; - } else { - $1052 = HEAP32[$bRev>>2]|0; - $1053 = ($1052|0)!=(0); - $1054 = HEAP32[$pLevel>>2]|0; - $1055 = ((($1054)) + 45|0); - if ($1053) { - HEAP8[$1055>>0] = 6; - break; - } else { - HEAP8[$1055>>0] = 7; - break; - } - } - } while(0); - $1056 = HEAP32[$iIdxCur>>2]|0; - $1057 = HEAP32[$pLevel>>2]|0; - $1058 = ((($1057)) + 48|0); - HEAP32[$1058>>2] = $1056; - $1059 = HEAP32[$pLoop>>2]|0; - $1060 = ((($1059)) + 36|0); - $1061 = HEAP32[$1060>>2]|0; - $1062 = $1061 & 65536; - $1063 = ($1062|0)!=(0); - $1064 = $1063 ? 1 : 0; - $1065 = $1064&255; - $1066 = HEAP32[$pLevel>>2]|0; - $1067 = ((($1066)) + 46|0); - HEAP8[$1067>>0] = $1065; - $1068 = HEAP32[$pLoop>>2]|0; - $1069 = ((($1068)) + 36|0); - $1070 = HEAP32[$1069>>2]|0; - $1071 = $1070 & 15; - $1072 = ($1071|0)==(0); - if (!($1072)) { - break; - } - $1073 = HEAP32[$pLevel>>2]|0; - $1074 = ((($1073)) + 47|0); - HEAP8[$1074>>0] = 1; - } - } while(0); - $1524 = HEAP32[$pWC>>2]|0; - $1525 = ((($1524)) + 20|0); - $1526 = HEAP32[$1525>>2]|0; - HEAP32[$pTerm>>2] = $1526; - $1527 = HEAP32[$pWC>>2]|0; - $1528 = ((($1527)) + 12|0); - $1529 = HEAP32[$1528>>2]|0; - HEAP32[$j>>2] = $1529; - while(1) { - $1530 = HEAP32[$j>>2]|0; - $1531 = ($1530|0)>(0); - if (!($1531)) { - break; - } - HEAP32[$skipLikeAddr>>2] = 0; - $1532 = HEAP32[$pTerm>>2]|0; - $1533 = ((($1532)) + 10|0); - $1534 = HEAP16[$1533>>1]|0; - $1535 = $1534&65535; - $1536 = $1535 & 6; - $1537 = ($1536|0)!=(0); - do { - if (!($1537)) { - $1538 = HEAP32[$pTerm>>2]|0; - $1539 = ((($1538)) + 40|0); - $1540 = $1539; - $1541 = $1540; - $1542 = HEAP32[$1541>>2]|0; - $1543 = (($1540) + 4)|0; - $1544 = $1543; - $1545 = HEAP32[$1544>>2]|0; - $1546 = HEAP32[$pLevel>>2]|0; - $1547 = ((($1546)) + 72|0); - $1548 = $1547; - $1549 = $1548; - $1550 = HEAP32[$1549>>2]|0; - $1551 = (($1548) + 4)|0; - $1552 = $1551; - $1553 = HEAP32[$1552>>2]|0; - $1554 = $1542 & $1550; - $1555 = $1545 & $1553; - $1556 = ($1554|0)!=(0); - $1557 = ($1555|0)!=(0); - $1558 = $1556 | $1557; - if ($1558) { - $1559 = HEAP32[$3>>2]|0; - $1560 = ((($1559)) + 46|0); - HEAP8[$1560>>0] = 1; - break; - } - $1561 = HEAP32[$pTerm>>2]|0; - $1562 = HEAP32[$1561>>2]|0; - HEAP32[$pE>>2] = $1562; - $1563 = HEAP32[$pLevel>>2]|0; - $1564 = HEAP32[$1563>>2]|0; - $1565 = ($1564|0)!=(0); - if ($1565) { - $1566 = HEAP32[$pE>>2]|0; - $1567 = ((($1566)) + 4|0); - $1568 = HEAP32[$1567>>2]|0; - $1569 = $1568 & 1; - $1570 = ($1569|0)!=(0); - if (!($1570)) { - break; - } - } - $1571 = HEAP32[$pTerm>>2]|0; - $1572 = ((($1571)) + 10|0); - $1573 = HEAP16[$1572>>1]|0; - $1574 = $1573&65535; - $1575 = $1574 & 512; - $1576 = ($1575|0)!=(0); - if ($1576) { - $1577 = HEAP32[$pLevel>>2]|0; - $1578 = ((($1577)) + 36|0); - $1579 = HEAP32[$1578>>2]|0; - HEAP32[$x>>2] = $1579; - $1580 = HEAP32[$v>>2]|0; - $1581 = HEAP32[$x>>2]|0; - $1582 = $1581 & 1; - $1583 = ($1582|0)!=(0); - $1584 = $1583 ? 22 : 21; - $1585 = HEAP32[$x>>2]|0; - $1586 = $1585 >>> 1; - $1587 = (_sqlite3VdbeAddOp1($1580,$1584,$1586)|0); - HEAP32[$skipLikeAddr>>2] = $1587; - } - $1588 = HEAP32[$pParse>>2]|0; - $1589 = HEAP32[$pE>>2]|0; - $1590 = HEAP32[$addrCont>>2]|0; - _sqlite3ExprIfFalse($1588,$1589,$1590,16); - $1591 = HEAP32[$skipLikeAddr>>2]|0; - $1592 = ($1591|0)!=(0); - if ($1592) { - $1593 = HEAP32[$v>>2]|0; - $1594 = HEAP32[$skipLikeAddr>>2]|0; - _sqlite3VdbeJumpHere($1593,$1594); - } - $1595 = HEAP32[$pTerm>>2]|0; - $1596 = ((($1595)) + 10|0); - $1597 = HEAP16[$1596>>1]|0; - $1598 = $1597&65535; - $1599 = $1598 | 4; - $1600 = $1599&65535; - HEAP16[$1596>>1] = $1600; - } - } while(0); - $1601 = HEAP32[$j>>2]|0; - $1602 = (($1601) + -1)|0; - HEAP32[$j>>2] = $1602; - $1603 = HEAP32[$pTerm>>2]|0; - $1604 = ((($1603)) + 48|0); - HEAP32[$pTerm>>2] = $1604; - } - $1605 = HEAP32[$pWC>>2]|0; - $1606 = ((($1605)) + 20|0); - $1607 = HEAP32[$1606>>2]|0; - HEAP32[$pTerm>>2] = $1607; - $1608 = HEAP32[$pWC>>2]|0; - $1609 = ((($1608)) + 12|0); - $1610 = HEAP32[$1609>>2]|0; - HEAP32[$j>>2] = $1610; - while(1) { - $1611 = HEAP32[$j>>2]|0; - $1612 = ($1611|0)>(0); - if (!($1612)) { - break; - } - $1613 = HEAP32[$pTerm>>2]|0; - $1614 = ((($1613)) + 10|0); - $1615 = HEAP16[$1614>>1]|0; - $1616 = $1615&65535; - $1617 = $1616 & 6; - $1618 = ($1617|0)!=(0); - if (!($1618)) { - $1619 = HEAP32[$pTerm>>2]|0; - $1620 = ((($1619)) + 12|0); - $1621 = HEAP16[$1620>>1]|0; - $1622 = $1621&65535; - $1623 = $1622 & 130; - $1624 = ($1623|0)==(0); - if (!($1624)) { - $1625 = HEAP32[$pTerm>>2]|0; - $1626 = ((($1625)) + 12|0); - $1627 = HEAP16[$1626>>1]|0; - $1628 = $1627&65535; - $1629 = $1628 & 2048; - $1630 = ($1629|0)==(0); - if (!($1630)) { - $1631 = HEAP32[$pTerm>>2]|0; - $1632 = ((($1631)) + 20|0); - $1633 = HEAP32[$1632>>2]|0; - $1634 = HEAP32[$iCur>>2]|0; - $1635 = ($1633|0)!=($1634|0); - if (!($1635)) { - $1636 = HEAP32[$pLevel>>2]|0; - $1637 = HEAP32[$1636>>2]|0; - $1638 = ($1637|0)!=(0); - if (!($1638)) { - $1639 = HEAP32[$pTerm>>2]|0; - $1640 = HEAP32[$1639>>2]|0; - HEAP32[$pE11>>2] = $1640; - $1641 = HEAP32[$pWC>>2]|0; - $1642 = HEAP32[$iCur>>2]|0; - $1643 = HEAP32[$pTerm>>2]|0; - $1644 = ((($1643)) + 28|0); - $1645 = HEAP32[$1644>>2]|0; - $1646 = $5; - $1647 = $1646; - $1648 = HEAP32[$1647>>2]|0; - $1649 = (($1646) + 4)|0; - $1650 = $1649; - $1651 = HEAP32[$1650>>2]|0; - $1652 = (_sqlite3WhereFindTerm($1641,$1642,$1645,$1648,$1651,131,0)|0); - HEAP32[$pAlt>>2] = $1652; - $1653 = HEAP32[$pAlt>>2]|0; - $1654 = ($1653|0)==(0|0); - if (!($1654)) { - $1655 = HEAP32[$pAlt>>2]|0; - $1656 = ((($1655)) + 10|0); - $1657 = HEAP16[$1656>>1]|0; - $1658 = $1657&65535; - $1659 = $1658 & 4; - $1660 = ($1659|0)!=(0); - if (!($1660)) { - $1661 = HEAP32[$pAlt>>2]|0; - $1662 = HEAP32[$1661>>2]|0; - dest=$sEAlt; src=$1662; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $1663 = HEAP32[$pE11>>2]|0; - $1664 = ((($1663)) + 12|0); - $1665 = HEAP32[$1664>>2]|0; - $1666 = ((($sEAlt)) + 12|0); - HEAP32[$1666>>2] = $1665; - $1667 = HEAP32[$pParse>>2]|0; - $1668 = HEAP32[$addrCont>>2]|0; - _sqlite3ExprIfFalse($1667,$sEAlt,$1668,16); - } + $498 = HEAP32[$13>>2]|0; + $499 = ((($498)) + 42|0); + $500 = HEAP8[$499>>0]|0; + $501 = $500&255; + $502 = $501 & 32; + $503 = ($502|0)==(0); + do { + if (!($503)) { + $504 = HEAP32[$15>>2]|0; + $505 = ((($504)) + 55|0); + $506 = HEAP8[$505>>0]|0; + $507 = $506 & 3; + $508 = $507&255; + $509 = ($508|0)==(2); + if (!($509)) { + break; } + $510 = HEAP8[$32>>0]|0; + $511 = $510&255; + $512 = $511 | 1; + $513 = $512&255; + HEAP8[$32>>0] = $513; } - } + } while(0); + $514 = HEAP32[$25>>2]|0; + $515 = HEAP32[$20>>2]|0; + $516 = HEAP32[$28>>2]|0; + (_sqlite3VdbeAddOp3($514,126,$515,$516,1)|0); + $517 = HEAP32[$25>>2]|0; + $518 = HEAP8[$32>>0]|0; + _sqlite3VdbeChangeP5($517,$518); + $519 = HEAP32[$25>>2]|0; + $520 = HEAP32[$19>>2]|0; + $521 = HEAP32[$21>>2]|0; + $522 = (($521) + 1)|0; + (_sqlite3VdbeAddOp2($519,7,$520,$522)|0); + $523 = HEAP32[$25>>2]|0; + $524 = HEAP32[$21>>2]|0; + _sqlite3VdbeJumpHere($523,$524); + $525 = HEAP32[$25>>2]|0; + $526 = HEAP32[$19>>2]|0; + (_sqlite3VdbeAddOp2($525,111,$526,0)|0); + $527 = HEAP32[$25>>2]|0; + $528 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp2($527,111,$528,0)|0); + $529 = HEAP32[$15>>2]|0; + $530 = ((($529)) + 20|0); + $531 = HEAP32[$530>>2]|0; + HEAP32[$15>>2] = $531; + } + $532 = HEAP32[$24>>2]|0; + $533 = ($532|0)!=(0); + if ($533) { + $534 = HEAP32[$25>>2]|0; + $535 = HEAP32[$24>>2]|0; + _sqlite3VdbeJumpHere($534,$535); + } + $536 = HEAP32[$6>>2]|0; + $537 = HEAP32[$29>>2]|0; + _sqlite3ReleaseTempReg($536,$537); + $538 = HEAP32[$6>>2]|0; + $539 = HEAP32[$28>>2]|0; + _sqlite3ReleaseTempReg($538,$539); + $540 = HEAP32[$23>>2]|0; + $541 = ($540|0)!=(0); + if ($541) { + $542 = HEAP32[$6>>2]|0; + _sqlite3AutoincrementEnd($542); + $543 = HEAP32[$25>>2]|0; + (_sqlite3VdbeAddOp2($543,75,0,0)|0); + $544 = HEAP32[$25>>2]|0; + $545 = HEAP32[$23>>2]|0; + _sqlite3VdbeJumpHere($544,$545); + $546 = HEAP32[$25>>2]|0; + $547 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp2($546,111,$547,0)|0); + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); + } else { + HEAP32[$5>>2] = 1; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); } } } - $1669 = HEAP32[$j>>2]|0; - $1670 = (($1669) + -1)|0; - HEAP32[$j>>2] = $1670; - $1671 = HEAP32[$pTerm>>2]|0; - $1672 = ((($1671)) + 48|0); - HEAP32[$pTerm>>2] = $1672; - } - $1673 = HEAP32[$pLevel>>2]|0; - $1674 = HEAP32[$1673>>2]|0; - $1675 = ($1674|0)!=(0); - L324: do { - if ($1675) { - $1676 = HEAP32[$v>>2]|0; - $1677 = (_sqlite3VdbeCurrentAddr($1676)|0); - $1678 = HEAP32[$pLevel>>2]|0; - $1679 = ((($1678)) + 28|0); - HEAP32[$1679>>2] = $1677; - $1680 = HEAP32[$v>>2]|0; - $1681 = HEAP32[$pLevel>>2]|0; - $1682 = HEAP32[$1681>>2]|0; - (_sqlite3VdbeAddOp2($1680,76,1,$1682)|0); - $1683 = HEAP32[$pParse>>2]|0; - _sqlite3ExprCacheClear($1683); - $1684 = HEAP32[$pWC>>2]|0; - $1685 = ((($1684)) + 20|0); - $1686 = HEAP32[$1685>>2]|0; - HEAP32[$pTerm>>2] = $1686; - HEAP32[$j>>2] = 0; - while(1) { - $1687 = HEAP32[$j>>2]|0; - $1688 = HEAP32[$pWC>>2]|0; - $1689 = ((($1688)) + 12|0); - $1690 = HEAP32[$1689>>2]|0; - $1691 = ($1687|0)<($1690|0); - if (!($1691)) { - break L324; - } - $1692 = HEAP32[$pTerm>>2]|0; - $1693 = ((($1692)) + 10|0); - $1694 = HEAP16[$1693>>1]|0; - $1695 = $1694&65535; - $1696 = $1695 & 6; - $1697 = ($1696|0)!=(0); - if (!($1697)) { - $1698 = HEAP32[$pTerm>>2]|0; - $1699 = ((($1698)) + 40|0); - $1700 = $1699; - $1701 = $1700; - $1702 = HEAP32[$1701>>2]|0; - $1703 = (($1700) + 4)|0; - $1704 = $1703; - $1705 = HEAP32[$1704>>2]|0; - $1706 = HEAP32[$pLevel>>2]|0; - $1707 = ((($1706)) + 72|0); - $1708 = $1707; - $1709 = $1708; - $1710 = HEAP32[$1709>>2]|0; - $1711 = (($1708) + 4)|0; - $1712 = $1711; - $1713 = HEAP32[$1712>>2]|0; - $1714 = $1702 & $1710; - $1715 = $1705 & $1713; - $1716 = ($1714|0)!=(0); - $1717 = ($1715|0)!=(0); - $1718 = $1716 | $1717; - if (!($1718)) { - $1719 = HEAP32[$pParse>>2]|0; - $1720 = HEAP32[$pTerm>>2]|0; - $1721 = HEAP32[$1720>>2]|0; - $1722 = HEAP32[$addrCont>>2]|0; - _sqlite3ExprIfFalse($1719,$1721,$1722,16); - $1723 = HEAP32[$pTerm>>2]|0; - $1724 = ((($1723)) + 10|0); - $1725 = HEAP16[$1724>>1]|0; - $1726 = $1725&65535; - $1727 = $1726 | 4; - $1728 = $1727&65535; - HEAP16[$1724>>1] = $1728; - } - } - $1729 = HEAP32[$j>>2]|0; - $1730 = (($1729) + 1)|0; - HEAP32[$j>>2] = $1730; - $1731 = HEAP32[$pTerm>>2]|0; - $1732 = ((($1731)) + 48|0); - HEAP32[$pTerm>>2] = $1732; - } - } - } while(0); - $1733 = HEAP32[$pLevel>>2]|0; - $1734 = ((($1733)) + 72|0); - $1735 = $1734; - $1736 = $1735; - $1737 = HEAP32[$1736>>2]|0; - $1738 = (($1735) + 4)|0; - $1739 = $1738; - $1740 = HEAP32[$1739>>2]|0; - $1741 = $2; - $1742 = $1741; - HEAP32[$1742>>2] = $1737; - $1743 = (($1741) + 4)|0; - $1744 = $1743; - HEAP32[$1744>>2] = $1740; - $1745 = $2; - $1746 = $1745; - $1747 = HEAP32[$1746>>2]|0; - $1748 = (($1745) + 4)|0; - $1749 = $1748; - $1750 = HEAP32[$1749>>2]|0; - tempRet0 = ($1750); - STACKTOP = sp;return ($1747|0); -} -function _sqlite3WhereGetMask($pMaskSet,$iCursor) { - $pMaskSet = $pMaskSet|0; - $iCursor = $iCursor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp; - $1 = sp + 16|0; - $2 = sp + 12|0; - $i = sp + 8|0; - HEAP32[$1>>2] = $pMaskSet; - HEAP32[$2>>2] = $iCursor; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($3|0)<($5|0); - if (!($6)) { - label = 6; - break; - } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 4|0); - $10 = (($9) + ($7<<2)|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = ($11|0)==($12|0); - $14 = HEAP32[$i>>2]|0; - if ($13) { - label = 4; - break; - } - $21 = (($14) + 1)|0; - HEAP32[$i>>2] = $21; - } - if ((label|0) == 4) { - $15 = (_bitshift64Shl(1,0,($14|0))|0); - $16 = tempRet0; - $17 = $0; - $18 = $17; - HEAP32[$18>>2] = $15; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $16; - $26 = $0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - tempRet0 = ($31); - STACKTOP = sp;return ($28|0); } - else if ((label|0) == 6) { - $22 = $0; - $23 = $22; - HEAP32[$23>>2] = 0; - $24 = (($22) + 4)|0; - $25 = $24; - HEAP32[$25>>2] = 0; - $26 = $0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - tempRet0 = ($31); - STACKTOP = sp;return ($28|0); - } - return (0)|0; + HEAP32[$5>>2] = 0; + $548 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($548|0); } -function _codeEqualityTerm($pParse,$pTerm,$pLevel,$iEq,$bRev,$iTarget) { - $pParse = $pParse|0; - $pTerm = $pTerm|0; - $pLevel = $pLevel|0; - $iEq = $iEq|0; - $bRev = $bRev|0; - $iTarget = $iTarget|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $aiMap = 0, $db = 0, $eType = 0, $i = 0, $iCol = 0, $iField = 0, $iMap = 0, $iOut = 0, $iReg = 0, $iTab = 0, $nEq = 0, $pIn = 0, $pLeft = 0, $pLhs = 0, $pLoop = 0, $pNewLhs = 0, $pNewRhs = 0, $pOrderBy = 0, $pOrigLhs = 0; - var $pOrigRhs = 0, $pRhs = 0, $pSelect = 0, $pX = 0, $v = 0, label = 0, sp = 0; +function _autoIncBegin($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 120|0; - $1 = sp + 116|0; - $2 = sp + 112|0; - $3 = sp + 108|0; - $4 = sp + 104|0; - $5 = sp + 100|0; - $6 = sp + 96|0; - $pX = sp + 92|0; - $v = sp + 88|0; - $iReg = sp + 84|0; - $eType = sp + 80|0; - $iTab = sp + 76|0; - $pIn = sp + 72|0; - $pLoop = sp + 68|0; - $i = sp + 64|0; - $nEq = sp + 60|0; - $aiMap = sp + 56|0; - $pSelect = sp + 52|0; - $db = sp + 48|0; - $pOrigRhs = sp + 44|0; - $pOrigLhs = sp + 40|0; - $pRhs = sp + 36|0; - $pLhs = sp + 32|0; - $iField = sp + 28|0; - $pNewRhs = sp + 24|0; - $pNewLhs = sp + 20|0; - $pLeft = sp + 16|0; - $pOrderBy = sp + 12|0; - $iMap = sp + 8|0; - $iOut = sp + 4|0; - $iCol = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTerm; - HEAP32[$3>>2] = $pLevel; - HEAP32[$4>>2] = $iEq; - HEAP32[$5>>2] = $bRev; - HEAP32[$6>>2] = $iTarget; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$pX>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$v>>2] = $11; - $12 = HEAP32[$pX>>2]|0; - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==(37); - do { - if ($15) { - label = 3; - } else { - $16 = HEAP32[$pX>>2]|0; - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = ($18|0)==(29); - if ($19) { - label = 3; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + $10 = HEAP32[$6>>2]|0; + $11 = ((($10)) + 42|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = $13 & 8; + $15 = ($14|0)!=(0); + if ($15) { + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 24|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19 & 268435456; + $21 = ($20|0)==(0); + if ($21) { + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 124|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)!=(0|0); + $26 = HEAP32[$4>>2]|0; + if ($25) { + $27 = ((($26)) + 124|0); + $28 = HEAP32[$27>>2]|0; + $29 = $28; } else { - $26 = HEAP32[$pX>>2]|0; - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = ($28|0)==(34); - if ($29) { - $30 = HEAP32[$6>>2]|0; - HEAP32[$iReg>>2] = $30; - $31 = HEAP32[$v>>2]|0; - $32 = HEAP32[$iReg>>2]|0; - (_sqlite3VdbeAddOp2($31,79,0,$32)|0); + $29 = $26; + } + HEAP32[$8>>2] = $29; + $30 = HEAP32[$8>>2]|0; + $31 = ((($30)) + 120|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$9>>2] = $32; + while(1) { + $33 = HEAP32[$9>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$9>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ($37|0)!=($38|0); + $80 = $39; + } else { + $80 = 0; + } + $40 = HEAP32[$9>>2]|0; + if (!($80)) { break; } - HEAP32[$eType>>2] = 5; - $33 = HEAP32[$3>>2]|0; - $34 = ((($33)) + 64|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$pLoop>>2] = $35; - HEAP32[$nEq>>2] = 0; - HEAP32[$aiMap>>2] = 0; - $36 = HEAP32[$pLoop>>2]|0; - $37 = ((($36)) + 36|0); - $38 = HEAP32[$37>>2]|0; - $39 = $38 & 1024; - $40 = ($39|0)==(0); - if ($40) { - $41 = HEAP32[$pLoop>>2]|0; - $42 = ((($41)) + 24|0); - $43 = ((($42)) + 8|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$9>>2] = $41; + } + $42 = ($40|0)==(0|0); + do { + if ($42) { + $43 = HEAP32[$4>>2]|0; $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)!=(0|0); - if ($45) { - $46 = HEAP32[$4>>2]|0; - $47 = HEAP32[$pLoop>>2]|0; - $48 = ((($47)) + 24|0); - $49 = ((($48)) + 8|0); + $45 = (_sqlite3DbMallocRawNN($44,16,0)|0); + HEAP32[$9>>2] = $45; + $46 = HEAP32[$9>>2]|0; + $47 = ($46|0)==(0|0); + if (!($47)) { + $48 = HEAP32[$8>>2]|0; + $49 = ((($48)) + 120|0); $50 = HEAP32[$49>>2]|0; - $51 = ((($50)) + 28|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + ($46)|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = ($55|0)!=(0); - if ($56) { - $57 = HEAP32[$5>>2]|0; - $58 = ($57|0)!=(0); - $59 = $58 ^ 1; - $60 = $59&1; - HEAP32[$5>>2] = $60; - } - } - } - $61 = HEAP32[$6>>2]|0; - HEAP32[$iReg>>2] = $61; - HEAP32[$i>>2] = 0; - while(1) { - $62 = HEAP32[$i>>2]|0; - $63 = HEAP32[$4>>2]|0; - $64 = ($62|0)<($63|0); - if (!($64)) { + $51 = HEAP32[$9>>2]|0; + HEAP32[$51>>2] = $50; + $52 = HEAP32[$9>>2]|0; + $53 = HEAP32[$8>>2]|0; + $54 = ((($53)) + 120|0); + HEAP32[$54>>2] = $52; + $55 = HEAP32[$6>>2]|0; + $56 = HEAP32[$9>>2]|0; + $57 = ((($56)) + 4|0); + HEAP32[$57>>2] = $55; + $58 = HEAP32[$5>>2]|0; + $59 = HEAP32[$9>>2]|0; + $60 = ((($59)) + 8|0); + HEAP32[$60>>2] = $58; + $61 = HEAP32[$8>>2]|0; + $62 = ((($61)) + 44|0); + $63 = HEAP32[$62>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$62>>2] = $64; + $65 = HEAP32[$8>>2]|0; + $66 = ((($65)) + 44|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + $69 = HEAP32[$9>>2]|0; + $70 = ((($69)) + 12|0); + HEAP32[$70>>2] = $68; + $71 = HEAP32[$8>>2]|0; + $72 = ((($71)) + 44|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73) + 1)|0; + HEAP32[$72>>2] = $74; break; } - $65 = HEAP32[$i>>2]|0; - $66 = HEAP32[$pLoop>>2]|0; - $67 = ((($66)) + 48|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68) + ($65<<2)|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)!=(0|0); - if ($71) { - $72 = HEAP32[$i>>2]|0; - $73 = HEAP32[$pLoop>>2]|0; - $74 = ((($73)) + 48|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($75) + ($72<<2)|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$77>>2]|0; - $79 = HEAP32[$pX>>2]|0; - $80 = ($78|0)==($79|0); - if ($80) { - label = 14; - break; - } - } - $84 = HEAP32[$i>>2]|0; - $85 = (($84) + 1)|0; - HEAP32[$i>>2] = $85; - } - if ((label|0) == 14) { - $81 = HEAP32[$3>>2]|0; - $82 = HEAP32[$2>>2]|0; - _disableTerm($81,$82); - $83 = HEAP32[$6>>2]|0; - HEAP32[$0>>2] = $83; - $380 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($380|0); + HEAP32[$3>>2] = 0; + $79 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($79|0); } - $86 = HEAP32[$4>>2]|0; - HEAP32[$i>>2] = $86; - while(1) { - $87 = HEAP32[$i>>2]|0; - $88 = HEAP32[$pLoop>>2]|0; - $89 = ((($88)) + 40|0); - $90 = HEAP16[$89>>1]|0; - $91 = $90&65535; - $92 = ($87|0)<($91|0); - if (!($92)) { - break; - } - $93 = HEAP32[$i>>2]|0; - $94 = HEAP32[$pLoop>>2]|0; - $95 = ((($94)) + 48|0); - $96 = HEAP32[$95>>2]|0; - $97 = (($96) + ($93<<2)|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)!=(0|0); - if ($99) { - $100 = HEAP32[$i>>2]|0; - $101 = HEAP32[$pLoop>>2]|0; - $102 = ((($101)) + 48|0); - $103 = HEAP32[$102>>2]|0; - $104 = (($103) + ($100<<2)|0); - $105 = HEAP32[$104>>2]|0; - $106 = HEAP32[$105>>2]|0; - $107 = HEAP32[$pX>>2]|0; - $108 = ($106|0)==($107|0); - if ($108) { - $109 = HEAP32[$nEq>>2]|0; - $110 = (($109) + 1)|0; - HEAP32[$nEq>>2] = $110; - } + } while(0); + $75 = HEAP32[$9>>2]|0; + $76 = ((($75)) + 12|0); + $77 = HEAP32[$76>>2]|0; + HEAP32[$7>>2] = $77; + } + } + $78 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $78; + $79 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($79|0); +} +function _sqlite3VdbeEndCoroutine($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp1($4,73,$5)|0); + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + 19|0); + HEAP8[$9>>0] = 0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 28|0); + HEAP32[$13>>2] = 0; + STACKTOP = sp;return; +} +function _readsTable($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $14 = HEAP32[$4>>2]|0; + $15 = (_sqlite3GetVdbe($14)|0); + HEAP32[$7>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = (_sqlite3VdbeCurrentAddr($16)|0); + HEAP32[$9>>2] = $17; + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 42|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21 & 16; + $23 = ($22|0)!=(0); + if ($23) { + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = (_sqlite3GetVTable($25,$26)|0); + $28 = $27; + } else { + $28 = 0; + } + HEAP32[$10>>2] = $28; + HEAP32[$8>>2] = 1; + L4: while(1) { + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = ($29|0)<($30|0); + if (!($31)) { + label = 18; + break; + } + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = (_sqlite3VdbeGetOp($32,$33)|0); + HEAP32[$11>>2] = $34; + $35 = HEAP32[$11>>2]|0; + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = ($37|0)==(104); + L7: do { + if ($38) { + $39 = HEAP32[$11>>2]|0; + $40 = ((($39)) + 12|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = ($41|0)==($42|0); + if ($43) { + $44 = HEAP32[$11>>2]|0; + $45 = ((($44)) + 8|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$13>>2] = $46; + $47 = HEAP32[$13>>2]|0; + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 28|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($47|0)==($50|0); + if ($51) { + label = 8; + break L4; } - $111 = HEAP32[$i>>2]|0; - $112 = (($111) + 1)|0; - HEAP32[$i>>2] = $112; - } - $113 = HEAP32[$pX>>2]|0; - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 2048; - $117 = ($116|0)==(0); - if ($117) { - label = 24; - } else { - $118 = HEAP32[$pX>>2]|0; - $119 = ((($118)) + 20|0); - $120 = HEAP32[$119>>2]|0; - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$121>>2]|0; - $123 = ($122|0)==(1); - if ($123) { - label = 24; - } else { - $127 = HEAP32[$pX>>2]|0; - $128 = ((($127)) + 20|0); - $129 = HEAP32[$128>>2]|0; - HEAP32[$pSelect>>2] = $129; - $130 = HEAP32[$1>>2]|0; - $131 = HEAP32[$130>>2]|0; - HEAP32[$db>>2] = $131; - $132 = HEAP32[$pSelect>>2]|0; - $133 = HEAP32[$132>>2]|0; - HEAP32[$pOrigRhs>>2] = $133; - $134 = HEAP32[$pX>>2]|0; - $135 = ((($134)) + 12|0); - $136 = HEAP32[$135>>2]|0; - $137 = ((($136)) + 20|0); - $138 = HEAP32[$137>>2]|0; - HEAP32[$pOrigLhs>>2] = $138; - HEAP32[$pRhs>>2] = 0; - HEAP32[$pLhs>>2] = 0; - $139 = HEAP32[$4>>2]|0; - HEAP32[$i>>2] = $139; - while(1) { - $140 = HEAP32[$i>>2]|0; - $141 = HEAP32[$pLoop>>2]|0; - $142 = ((($141)) + 40|0); - $143 = HEAP16[$142>>1]|0; - $144 = $143&65535; - $145 = ($140|0)<($144|0); - if (!($145)) { - break; - } - $146 = HEAP32[$i>>2]|0; - $147 = HEAP32[$pLoop>>2]|0; - $148 = ((($147)) + 48|0); - $149 = HEAP32[$148>>2]|0; - $150 = (($149) + ($146<<2)|0); - $151 = HEAP32[$150>>2]|0; - $152 = HEAP32[$151>>2]|0; - $153 = HEAP32[$pX>>2]|0; - $154 = ($152|0)==($153|0); - if ($154) { - $155 = HEAP32[$i>>2]|0; - $156 = HEAP32[$pLoop>>2]|0; - $157 = ((($156)) + 48|0); - $158 = HEAP32[$157>>2]|0; - $159 = (($158) + ($155<<2)|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($160)) + 24|0); - $162 = HEAP32[$161>>2]|0; - $163 = (($162) - 1)|0; - HEAP32[$iField>>2] = $163; - $164 = HEAP32[$db>>2]|0; - $165 = HEAP32[$iField>>2]|0; - $166 = HEAP32[$pOrigRhs>>2]|0; - $167 = ((($166)) + 4|0); - $168 = HEAP32[$167>>2]|0; - $169 = (($168) + (($165*20)|0)|0); - $170 = HEAP32[$169>>2]|0; - $171 = (_sqlite3ExprDup($164,$170,0)|0); - HEAP32[$pNewRhs>>2] = $171; - $172 = HEAP32[$db>>2]|0; - $173 = HEAP32[$iField>>2]|0; - $174 = HEAP32[$pOrigLhs>>2]|0; - $175 = ((($174)) + 4|0); - $176 = HEAP32[$175>>2]|0; - $177 = (($176) + (($173*20)|0)|0); - $178 = HEAP32[$177>>2]|0; - $179 = (_sqlite3ExprDup($172,$178,0)|0); - HEAP32[$pNewLhs>>2] = $179; - $180 = HEAP32[$1>>2]|0; - $181 = HEAP32[$pRhs>>2]|0; - $182 = HEAP32[$pNewRhs>>2]|0; - $183 = (_sqlite3ExprListAppend($180,$181,$182)|0); - HEAP32[$pRhs>>2] = $183; - $184 = HEAP32[$1>>2]|0; - $185 = HEAP32[$pLhs>>2]|0; - $186 = HEAP32[$pNewLhs>>2]|0; - $187 = (_sqlite3ExprListAppend($184,$185,$186)|0); - HEAP32[$pLhs>>2] = $187; - } - $188 = HEAP32[$i>>2]|0; - $189 = (($188) + 1)|0; - HEAP32[$i>>2] = $189; + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 8|0); + $54 = HEAP32[$53>>2]|0; + HEAP32[$12>>2] = $54; + while(1) { + $55 = HEAP32[$12>>2]|0; + $56 = ($55|0)!=(0|0); + if (!($56)) { + break L7; } - $190 = HEAP32[$db>>2]|0; - $191 = ((($190)) + 69|0); - $192 = HEAP8[$191>>0]|0; - $193 = ($192<<24>>24)!=(0); - if (!($193)) { - $194 = HEAP32[$pX>>2]|0; - $195 = ((($194)) + 12|0); - $196 = HEAP32[$195>>2]|0; - HEAP32[$pLeft>>2] = $196; - $197 = HEAP32[$pSelect>>2]|0; - $198 = ((($197)) + 44|0); - $199 = HEAP32[$198>>2]|0; - $200 = ($199|0)!=(0|0); - L42: do { - if ($200) { - $201 = HEAP32[$pSelect>>2]|0; - $202 = ((($201)) + 44|0); - $203 = HEAP32[$202>>2]|0; - HEAP32[$pOrderBy>>2] = $203; - HEAP32[$i>>2] = 0; - while(1) { - $204 = HEAP32[$i>>2]|0; - $205 = HEAP32[$pOrderBy>>2]|0; - $206 = HEAP32[$205>>2]|0; - $207 = ($204|0)<($206|0); - if (!($207)) { - break L42; - } - $208 = HEAP32[$i>>2]|0; - $209 = HEAP32[$pOrderBy>>2]|0; - $210 = ((($209)) + 4|0); - $211 = HEAP32[$210>>2]|0; - $212 = (($211) + (($208*20)|0)|0); - $213 = ((($212)) + 16|0); - HEAP16[$213>>1] = 0; - $214 = HEAP32[$i>>2]|0; - $215 = (($214) + 1)|0; - HEAP32[$i>>2] = $215; - } - } - } while(0); - $216 = HEAP32[$pLhs>>2]|0; - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(1); - $219 = HEAP32[$pLhs>>2]|0; - if ($218) { - $220 = ((($219)) + 4|0); - $221 = HEAP32[$220>>2]|0; - $222 = HEAP32[$221>>2]|0; - $223 = HEAP32[$pX>>2]|0; - $224 = ((($223)) + 12|0); - HEAP32[$224>>2] = $222; - } else { - $225 = HEAP32[$pLeft>>2]|0; - $226 = ((($225)) + 20|0); - HEAP32[$226>>2] = $219; - $227 = HEAP32[$1>>2]|0; - $228 = HEAP32[$227>>2]|0; - $229 = HEAP32[$nEq>>2]|0; - $230 = $229<<2; - $231 = (_sqlite3DbMallocZero($228,$230,0)|0); - HEAP32[$aiMap>>2] = $231; - } - $232 = HEAP32[$pRhs>>2]|0; - $233 = HEAP32[$pSelect>>2]|0; - HEAP32[$233>>2] = $232; - $234 = HEAP32[$1>>2]|0; - $235 = HEAP32[$pX>>2]|0; - $236 = HEAP32[$aiMap>>2]|0; - $237 = (_sqlite3FindInIndex($234,$235,4,0,$236)|0); - HEAP32[$eType>>2] = $237; - $238 = HEAP32[$pOrigRhs>>2]|0; - $239 = HEAP32[$pSelect>>2]|0; - HEAP32[$239>>2] = $238; - $240 = HEAP32[$pOrigLhs>>2]|0; - $241 = HEAP32[$pLeft>>2]|0; - $242 = ((($241)) + 20|0); - HEAP32[$242>>2] = $240; - $243 = HEAP32[$pLeft>>2]|0; - $244 = HEAP32[$pX>>2]|0; - $245 = ((($244)) + 12|0); - HEAP32[$245>>2] = $243; + $57 = HEAP32[$13>>2]|0; + $58 = HEAP32[$12>>2]|0; + $59 = ((($58)) + 44|0); + $60 = HEAP32[$59>>2]|0; + $61 = ($57|0)==($60|0); + if ($61) { + label = 12; + break L4; } - $246 = HEAP32[$1>>2]|0; - $247 = HEAP32[$246>>2]|0; - $248 = HEAP32[$pLhs>>2]|0; - _sqlite3ExprListDelete($247,$248); - $249 = HEAP32[$1>>2]|0; - $250 = HEAP32[$249>>2]|0; - $251 = HEAP32[$pRhs>>2]|0; - _sqlite3ExprListDelete($250,$251); + $62 = HEAP32[$12>>2]|0; + $63 = ((($62)) + 20|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$12>>2] = $64; } } - if ((label|0) == 24) { - $124 = HEAP32[$1>>2]|0; - $125 = HEAP32[$pX>>2]|0; - $126 = (_sqlite3FindInIndex($124,$125,4,0,0)|0); - HEAP32[$eType>>2] = $126; - } - $252 = HEAP32[$eType>>2]|0; - $253 = ($252|0)==(4); - if ($253) { - $254 = HEAP32[$5>>2]|0; - $255 = ($254|0)!=(0); - $256 = $255 ^ 1; - $257 = $256&1; - HEAP32[$5>>2] = $257; - } - $258 = HEAP32[$pX>>2]|0; - $259 = ((($258)) + 28|0); - $260 = HEAP32[$259>>2]|0; - HEAP32[$iTab>>2] = $260; - $261 = HEAP32[$v>>2]|0; - $262 = HEAP32[$5>>2]|0; - $263 = ($262|0)!=(0); - $264 = $263 ? 53 : 57; - $265 = HEAP32[$iTab>>2]|0; - (_sqlite3VdbeAddOp2($261,$264,$265,0)|0); - $266 = HEAP32[$pLoop>>2]|0; - $267 = ((($266)) + 36|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 | 2048; - HEAP32[$267>>2] = $269; - $270 = HEAP32[$3>>2]|0; - $271 = ((($270)) + 56|0); - $272 = HEAP32[$271>>2]|0; - $273 = ($272|0)==(0); - if ($273) { - $274 = HEAP32[$v>>2]|0; - $275 = (_sqlite3VdbeMakeLabel($274)|0); - $276 = HEAP32[$3>>2]|0; - $277 = ((($276)) + 16|0); - HEAP32[$277>>2] = $275; - } - $278 = HEAP32[$3>>2]|0; - $279 = ((($278)) + 56|0); - $280 = HEAP32[$279>>2]|0; - HEAP32[$i>>2] = $280; - $281 = HEAP32[$nEq>>2]|0; - $282 = HEAP32[$3>>2]|0; - $283 = ((($282)) + 56|0); - $284 = HEAP32[$283>>2]|0; - $285 = (($284) + ($281))|0; - HEAP32[$283>>2] = $285; - $286 = HEAP32[$1>>2]|0; - $287 = HEAP32[$286>>2]|0; - $288 = HEAP32[$3>>2]|0; - $289 = ((($288)) + 56|0); - $290 = ((($289)) + 4|0); - $291 = HEAP32[$290>>2]|0; - $292 = HEAP32[$3>>2]|0; - $293 = ((($292)) + 56|0); - $294 = HEAP32[$293>>2]|0; - $295 = ($294*12)|0; - $296 = (_sqlite3DbReallocOrFree($287,$291,$295,0)|0); - $297 = HEAP32[$3>>2]|0; - $298 = ((($297)) + 56|0); - $299 = ((($298)) + 4|0); - HEAP32[$299>>2] = $296; - $300 = HEAP32[$3>>2]|0; - $301 = ((($300)) + 56|0); - $302 = ((($301)) + 4|0); - $303 = HEAP32[$302>>2]|0; - HEAP32[$pIn>>2] = $303; - $304 = HEAP32[$pIn>>2]|0; - $305 = ($304|0)!=(0|0); - L62: do { - if ($305) { - HEAP32[$iMap>>2] = 0; - $306 = HEAP32[$i>>2]|0; - $307 = HEAP32[$pIn>>2]|0; - $308 = (($307) + (($306*12)|0)|0); - HEAP32[$pIn>>2] = $308; - $309 = HEAP32[$4>>2]|0; - HEAP32[$i>>2] = $309; - while(1) { - $310 = HEAP32[$i>>2]|0; - $311 = HEAP32[$pLoop>>2]|0; - $312 = ((($311)) + 40|0); - $313 = HEAP16[$312>>1]|0; - $314 = $313&65535; - $315 = ($310|0)<($314|0); - if (!($315)) { - break L62; - } - $316 = HEAP32[$i>>2]|0; - $317 = HEAP32[$pLoop>>2]|0; - $318 = ((($317)) + 48|0); - $319 = HEAP32[$318>>2]|0; - $320 = (($319) + ($316<<2)|0); - $321 = HEAP32[$320>>2]|0; - $322 = HEAP32[$321>>2]|0; - $323 = HEAP32[$pX>>2]|0; - $324 = ($322|0)==($323|0); - if ($324) { - $325 = HEAP32[$iReg>>2]|0; - $326 = HEAP32[$i>>2]|0; - $327 = (($325) + ($326))|0; - $328 = HEAP32[$4>>2]|0; - $329 = (($327) - ($328))|0; - HEAP32[$iOut>>2] = $329; - $330 = HEAP32[$eType>>2]|0; - $331 = ($330|0)==(1); - if ($331) { - $332 = HEAP32[$v>>2]|0; - $333 = HEAP32[$iTab>>2]|0; - $334 = HEAP32[$iOut>>2]|0; - $335 = (_sqlite3VdbeAddOp2($332,123,$333,$334)|0); - $336 = HEAP32[$pIn>>2]|0; - $337 = ((($336)) + 4|0); - HEAP32[$337>>2] = $335; - } else { - $338 = HEAP32[$aiMap>>2]|0; - $339 = ($338|0)!=(0|0); - if ($339) { - $340 = HEAP32[$iMap>>2]|0; - $341 = (($340) + 1)|0; - HEAP32[$iMap>>2] = $341; - $342 = HEAP32[$aiMap>>2]|0; - $343 = (($342) + ($340<<2)|0); - $344 = HEAP32[$343>>2]|0; - $345 = $344; - } else { - $345 = 0; - } - HEAP32[$iCol>>2] = $345; - $346 = HEAP32[$v>>2]|0; - $347 = HEAP32[$iTab>>2]|0; - $348 = HEAP32[$iCol>>2]|0; - $349 = HEAP32[$iOut>>2]|0; - $350 = (_sqlite3VdbeAddOp3($346,96,$347,$348,$349)|0); - $351 = HEAP32[$pIn>>2]|0; - $352 = ((($351)) + 4|0); - HEAP32[$352>>2] = $350; - } - $353 = HEAP32[$v>>2]|0; - $354 = HEAP32[$iOut>>2]|0; - (_sqlite3VdbeAddOp1($353,34,$354)|0); - $355 = HEAP32[$i>>2]|0; - $356 = HEAP32[$4>>2]|0; - $357 = ($355|0)==($356|0); - if ($357) { - $358 = HEAP32[$iTab>>2]|0; - $359 = HEAP32[$pIn>>2]|0; - HEAP32[$359>>2] = $358; - $360 = HEAP32[$5>>2]|0; - $361 = ($360|0)!=(0); - $362 = $361 ? 4 : 5; - $363 = $362&255; - $364 = HEAP32[$pIn>>2]|0; - $365 = ((($364)) + 8|0); - HEAP8[$365>>0] = $363; - } else { - $366 = HEAP32[$pIn>>2]|0; - $367 = ((($366)) + 8|0); - HEAP8[$367>>0] = -95; - } - $368 = HEAP32[$pIn>>2]|0; - $369 = ((($368)) + 12|0); - HEAP32[$pIn>>2] = $369; - } - $370 = HEAP32[$i>>2]|0; - $371 = (($370) + 1)|0; - HEAP32[$i>>2] = $371; - } - } else { - $372 = HEAP32[$3>>2]|0; - $373 = ((($372)) + 56|0); - HEAP32[$373>>2] = 0; - } - } while(0); - $374 = HEAP32[$1>>2]|0; - $375 = HEAP32[$374>>2]|0; - $376 = HEAP32[$aiMap>>2]|0; - _sqlite3DbFree($375,$376); + } + } while(0); + $65 = HEAP32[$11>>2]|0; + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = ($67|0)==(155); + if ($68) { + $69 = HEAP32[$11>>2]|0; + $70 = ((($69)) + 16|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$10>>2]|0; + $73 = ($71|0)==($72|0); + if ($73) { + label = 16; + break; } } - } while(0); - if ((label|0) == 3) { - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$pX>>2]|0; - $22 = ((($21)) + 16|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$6>>2]|0; - $25 = (_sqlite3ExprCodeTarget($20,$23,$24)|0); - HEAP32[$iReg>>2] = $25; - } - $377 = HEAP32[$3>>2]|0; - $378 = HEAP32[$2>>2]|0; - _disableTerm($377,$378); - $379 = HEAP32[$iReg>>2]|0; - HEAP32[$0>>2] = $379; - $380 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($380|0); -} -function _codeExprOrVector($pParse,$p,$iReg,$nReg) { - $pParse = $pParse|0; - $p = $p|0; - $iReg = $iReg|0; - $nReg = $nReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iSelect = 0, $pList = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $v = sp + 12|0; - $iSelect = sp + 8|0; - $i = sp + 4|0; - $pList = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iReg; - HEAP32[$3>>2] = $nReg; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3ExprIsVector($4)|0); - $6 = ($5|0)!=(0); - if (!($6)) { - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$1>>2]|0; - $43 = HEAP32[$2>>2]|0; - _sqlite3ExprCode($41,$42,$43); - STACKTOP = sp;return; + $74 = HEAP32[$8>>2]|0; + $75 = (($74) + 1)|0; + HEAP32[$8>>2] = $75; } - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9 & 2048; - $11 = ($10|0)!=(0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$v>>2] = $14; - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = (_sqlite3CodeSubselect($15,$16,0,0)|0); - HEAP32[$iSelect>>2] = $17; - $18 = HEAP32[$v>>2]|0; - $19 = HEAP32[$iSelect>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = HEAP32[$3>>2]|0; - $22 = (($21) - 1)|0; - (_sqlite3VdbeAddOp3($18,84,$19,$20,$22)|0); - STACKTOP = sp;return; + if ((label|0) == 8) { + HEAP32[$3>>2] = 1; + $76 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($76|0); } - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 20|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pList>>2] = $25; - HEAP32[$i>>2] = 0; - while(1) { - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$3>>2]|0; - $28 = ($26|0)<($27|0); - if (!($28)) { - break; - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$pList>>2]|0; - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + (($30*20)|0)|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$2>>2]|0; - $37 = HEAP32[$i>>2]|0; - $38 = (($36) + ($37))|0; - _sqlite3ExprCode($29,$35,$38); - $39 = HEAP32[$i>>2]|0; - $40 = (($39) + 1)|0; - HEAP32[$i>>2] = $40; + else if ((label|0) == 12) { + HEAP32[$3>>2] = 1; + $76 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($76|0); + } + else if ((label|0) == 16) { + HEAP32[$3>>2] = 1; + $76 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($76|0); + } + else if ((label|0) == 18) { + HEAP32[$3>>2] = 0; + $76 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($76|0); } + return (0)|0; +} +function _sqlite3ExprCodeAndCache($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$6>>2] = $10; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$5>>2]|0; + _sqlite3ExprCode($11,$12,$13); + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 44|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + 1)|0; + HEAP32[$15>>2] = $17; + HEAP32[$7>>2] = $17; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp2($18,84,$19,$20)|0); + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$7>>2]|0; + _exprToRegister($21,$22); STACKTOP = sp;return; } -function _disableTerm($pLevel,$pTerm) { - $pLevel = $pLevel|0; - $pTerm = $pTerm|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $nLoop = 0, label = 0, sp = 0; +function _sqlite3TableAffinity($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $nLoop = sp; - HEAP32[$0>>2] = $pLevel; - HEAP32[$1>>2] = $pTerm; - HEAP32[$nLoop>>2] = 0; - while(1) { - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - label = 14; - break; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 10|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = $7 & 4; - $9 = ($8|0)==(0); - if (!($9)) { - label = 14; - break; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$7>>2] = $11; + $12 = HEAP32[$7>>2]|0; + $13 = ($12|0)==(0|0); + if ($13) { + $14 = HEAP32[$3>>2]|0; + $15 = (_sqlite3VdbeDb($14)|0); + HEAP32[$8>>2] = $15; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 34|0); + $18 = HEAP16[$17>>1]|0; + $19 = $18 << 16 >> 16; + $20 = (($19) + 1)|0; + $21 = ($20|0)<(0); + $22 = $21 << 31 >> 31; + $23 = (_sqlite3DbMallocRaw(0,$20,$22)|0); + HEAP32[$7>>2] = $23; + $24 = HEAP32[$7>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { + $26 = HEAP32[$8>>2]|0; + _sqlite3OomFault($26); + STACKTOP = sp;return; } - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = $16 & 1; - $18 = ($17|0)!=(0); - if (!($18)) { - label = 14; + HEAP32[$6>>2] = 0; + while(1) { + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 34|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30 << 16 >> 16; + $32 = ($27|0)<($31|0); + if (!($32)) { break; } + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$6>>2]|0; + $37 = (($35) + ($36<<4)|0); + $38 = ((($37)) + 13|0); + $39 = HEAP8[$38>>0]|0; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = (($40) + ($41)|0); + HEAP8[$42>>0] = $39; + $43 = HEAP32[$6>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$6>>2] = $44; } - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 72|0); - $21 = $20; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 40|0); - $29 = $28; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = $23 & $31; - $36 = $26 & $34; - $37 = ($35|0)==(0); - $38 = ($36|0)==(0); - $39 = $37 & $38; - if (!($39)) { - label = 14; - break; - } - $40 = HEAP32[$nLoop>>2]|0; - $41 = ($40|0)!=(0); - if ($41) { - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 10|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = $45 & 1024; - $47 = ($46|0)!=(0); - if ($47) { - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 10|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = $51 | 512; - $53 = $52&65535; - HEAP16[$49>>1] = $53; - } else { - label = 10; + while(1) { + $45 = HEAP32[$7>>2]|0; + $46 = HEAP32[$6>>2]|0; + $47 = (($46) + -1)|0; + HEAP32[$6>>2] = $47; + $48 = (($45) + ($46)|0); + HEAP8[$48>>0] = 0; + $49 = HEAP32[$6>>2]|0; + $50 = ($49|0)>=(0); + if (!($50)) { + break; + } + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$6>>2]|0; + $53 = (($51) + ($52)|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54 << 24 >> 24; + $56 = ($55|0)==(65); + if (!($56)) { + break; } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 10|0); - $56 = HEAP16[$55>>1]|0; - $57 = $56&65535; - $58 = $57 | 4; - $59 = $58&65535; - HEAP16[$55>>1] = $59; - } - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 16|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)<(0); - if ($63) { - label = 14; - break; - } - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 16|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = ((($69)) + 20|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + (($66*48)|0)|0); - HEAP32[$1>>2] = $72; - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 14|0); - $75 = HEAP8[$74>>0]|0; - $76 = (($75) + -1)<<24>>24; - HEAP8[$74>>0] = $76; - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 14|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = ($80|0)!=(0); - if ($81) { - label = 14; - break; } - $82 = HEAP32[$nLoop>>2]|0; - $83 = (($82) + 1)|0; - HEAP32[$nLoop>>2] = $83; + $57 = HEAP32[$7>>2]|0; + $58 = HEAP32[$4>>2]|0; + $59 = ((($58)) + 20|0); + HEAP32[$59>>2] = $57; } - if ((label|0) == 14) { + $60 = HEAP32[$7>>2]|0; + $61 = (_sqlite3Strlen30($60)|0); + HEAP32[$6>>2] = $61; + $62 = HEAP32[$6>>2]|0; + $63 = ($62|0)!=(0); + if (!($63)) { + STACKTOP = sp;return; + } + $64 = HEAP32[$5>>2]|0; + $65 = ($64|0)!=(0); + $66 = HEAP32[$3>>2]|0; + if ($65) { + $67 = HEAP32[$5>>2]|0; + $68 = HEAP32[$6>>2]|0; + $69 = HEAP32[$7>>2]|0; + $70 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp4($66,98,$67,$68,0,$69,$70)|0); + STACKTOP = sp;return; + } else { + $71 = HEAP32[$7>>2]|0; + $72 = HEAP32[$6>>2]|0; + _sqlite3VdbeChangeP4($66,-1,$71,$72); STACKTOP = sp;return; } } -function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { - $pParse = $pParse|0; - $pLevel = $pLevel|0; - $bRev = $bRev|0; - $nExtraReg = $nExtraReg|0; - $pzAff = $pzAff|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $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, $97 = 0, $98 = 0, $99 = 0, $iIdxCur = 0, $j = 0, $nEq = 0, $nReg = 0, $nSkip = 0, $or$cond = 0, $pIdx = 0, $pLoop = 0, $pRight = 0, $pTerm = 0, $r1 = 0, $regBase = 0, $v = 0, $zAff = 0; +function _sqlite3CodeRowTrigger($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $nEq = sp + 66|0; - $nSkip = sp + 64|0; - $v = sp + 40|0; - $pIdx = sp + 36|0; - $pTerm = sp + 32|0; - $pLoop = sp + 28|0; - $j = sp + 24|0; - $regBase = sp + 20|0; - $nReg = sp + 16|0; - $zAff = sp + 12|0; - $iIdxCur = sp + 8|0; - $r1 = sp + 4|0; - $pRight = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pLevel; - HEAP32[$2>>2] = $bRev; - HEAP32[$3>>2] = $nExtraReg; - HEAP32[$4>>2] = $pzAff; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$v>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 64|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pLoop>>2] = $10; - $11 = HEAP32[$pLoop>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP16[$12>>1]|0; - HEAP16[$nEq>>1] = $13; - $14 = HEAP32[$pLoop>>2]|0; - $15 = ((($14)) + 42|0); - $16 = HEAP16[$15>>1]|0; - HEAP16[$nSkip>>1] = $16; - $17 = HEAP32[$pLoop>>2]|0; - $18 = ((($17)) + 24|0); - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pIdx>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 44|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$regBase>>2] = $24; - $25 = HEAP32[$pLoop>>2]|0; - $26 = ((($25)) + 24|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27&65535; - $29 = HEAP32[$3>>2]|0; - $30 = (($28) + ($29))|0; - HEAP32[$nReg>>2] = $30; - $31 = HEAP32[$nReg>>2]|0; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 44|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($31))|0; - HEAP32[$33>>2] = $35; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$pIdx>>2]|0; - $41 = (_sqlite3IndexAffinityStr($39,$40)|0); - $42 = (_sqlite3DbStrDup($37,$41)|0); - HEAP32[$zAff>>2] = $42; - $43 = HEAP16[$nSkip>>1]|0; - $44 = ($43<<16>>16)!=(0); - L1: do { - if ($44) { - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 8|0); - $47 = HEAP32[$46>>2]|0; - HEAP32[$iIdxCur>>2] = $47; - $48 = HEAP32[$v>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = ($49|0)!=(0); - $51 = $50 ? 53 : 57; - $52 = HEAP32[$iIdxCur>>2]|0; - (_sqlite3VdbeAddOp1($48,$51,$52)|0); - $53 = HEAP32[$v>>2]|0; - $54 = (_sqlite3VdbeAddOp0($53,13)|0); - HEAP32[$j>>2] = $54; - $55 = HEAP32[$v>>2]|0; - $56 = HEAP32[$2>>2]|0; - $57 = ($56|0)!=(0); - $58 = $57 ? 23 : 26; - $59 = HEAP32[$iIdxCur>>2]|0; - $60 = HEAP32[$regBase>>2]|0; - $61 = HEAP16[$nSkip>>1]|0; - $62 = $61&65535; - $63 = (_sqlite3VdbeAddOp4Int($55,$58,$59,0,$60,$62)|0); - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 20|0); - HEAP32[$65>>2] = $63; - $66 = HEAP32[$v>>2]|0; - $67 = HEAP32[$j>>2]|0; - _sqlite3VdbeJumpHere($66,$67); - HEAP32[$j>>2] = 0; - while(1) { - $68 = HEAP32[$j>>2]|0; - $69 = HEAP16[$nSkip>>1]|0; - $70 = $69&65535; - $71 = ($68|0)<($70|0); - if (!($71)) { - break L1; - } - $72 = HEAP32[$v>>2]|0; - $73 = HEAP32[$iIdxCur>>2]|0; - $74 = HEAP32[$j>>2]|0; - $75 = HEAP32[$regBase>>2]|0; - $76 = HEAP32[$j>>2]|0; - $77 = (($75) + ($76))|0; - (_sqlite3VdbeAddOp3($72,96,$73,$74,$77)|0); - $78 = HEAP32[$j>>2]|0; - $79 = (($78) + 1)|0; - HEAP32[$j>>2] = $79; - } - } - } while(0); - $80 = HEAP16[$nSkip>>1]|0; - $81 = $80&65535; - HEAP32[$j>>2] = $81; + STACKTOP = STACKTOP + 48|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + HEAP32[$12>>2] = $3; + HEAP32[$13>>2] = $4; + HEAP32[$14>>2] = $5; + HEAP32[$15>>2] = $6; + HEAP32[$16>>2] = $7; + HEAP32[$17>>2] = $8; + $19 = HEAP32[$10>>2]|0; + HEAP32[$18>>2] = $19; while(1) { - $82 = HEAP32[$j>>2]|0; - $83 = HEAP16[$nEq>>1]|0; - $84 = $83&65535; - $85 = ($82|0)<($84|0); - if (!($85)) { + $20 = HEAP32[$18>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { break; } - $86 = HEAP32[$j>>2]|0; - $87 = HEAP32[$pLoop>>2]|0; - $88 = ((($87)) + 48|0); - $89 = HEAP32[$88>>2]|0; - $90 = (($89) + ($86<<2)|0); - $91 = HEAP32[$90>>2]|0; - HEAP32[$pTerm>>2] = $91; - $92 = HEAP32[$0>>2]|0; - $93 = HEAP32[$pTerm>>2]|0; - $94 = HEAP32[$1>>2]|0; - $95 = HEAP32[$j>>2]|0; - $96 = HEAP32[$2>>2]|0; - $97 = HEAP32[$regBase>>2]|0; - $98 = HEAP32[$j>>2]|0; - $99 = (($97) + ($98))|0; - $100 = (_codeEqualityTerm($92,$93,$94,$95,$96,$99)|0); - HEAP32[$r1>>2] = $100; - $101 = HEAP32[$r1>>2]|0; - $102 = HEAP32[$regBase>>2]|0; - $103 = HEAP32[$j>>2]|0; - $104 = (($102) + ($103))|0; - $105 = ($101|0)!=($104|0); - do { - if ($105) { - $106 = HEAP32[$nReg>>2]|0; - $107 = ($106|0)==(1); - if ($107) { - $108 = HEAP32[$0>>2]|0; - $109 = HEAP32[$regBase>>2]|0; - _sqlite3ReleaseTempReg($108,$109); - $110 = HEAP32[$r1>>2]|0; - HEAP32[$regBase>>2] = $110; - break; - } else { - $111 = HEAP32[$v>>2]|0; - $112 = HEAP32[$r1>>2]|0; - $113 = HEAP32[$regBase>>2]|0; - $114 = HEAP32[$j>>2]|0; - $115 = (($113) + ($114))|0; - (_sqlite3VdbeAddOp2($111,85,$112,$115)|0); - break; - } - } - } while(0); - $116 = HEAP32[$pTerm>>2]|0; - $117 = ((($116)) + 12|0); - $118 = HEAP16[$117>>1]|0; - $119 = $118&65535; - $120 = $119 & 1; - $121 = ($120|0)!=(0); - $122 = HEAP32[$pTerm>>2]|0; - if ($121) { - $123 = HEAP32[$122>>2]|0; - $124 = ((($123)) + 4|0); - $125 = HEAP32[$124>>2]|0; - $126 = $125 & 2048; - $127 = ($126|0)!=(0); - $128 = HEAP32[$zAff>>2]|0; - $129 = ($128|0)!=(0|0); - $or$cond = $127 & $129; - if ($or$cond) { - $130 = HEAP32[$j>>2]|0; - $131 = HEAP32[$zAff>>2]|0; - $132 = (($131) + ($130)|0); - HEAP8[$132>>0] = 65; - } - } else { - $133 = ((($122)) + 12|0); - $134 = HEAP16[$133>>1]|0; - $135 = $134&65535; - $136 = $135 & 256; - $137 = ($136|0)==(0); - if ($137) { - $138 = HEAP32[$pTerm>>2]|0; - $139 = HEAP32[$138>>2]|0; - $140 = ((($139)) + 16|0); - $141 = HEAP32[$140>>2]|0; - HEAP32[$pRight>>2] = $141; - $142 = HEAP32[$pTerm>>2]|0; - $143 = ((($142)) + 10|0); - $144 = HEAP16[$143>>1]|0; - $145 = $144&65535; - $146 = $145 & 2048; - $147 = ($146|0)==(0); - if ($147) { - $148 = HEAP32[$pRight>>2]|0; - $149 = (_sqlite3ExprCanBeNull($148)|0); - $150 = ($149|0)!=(0); - if ($150) { - $151 = HEAP32[$v>>2]|0; - $152 = HEAP32[$regBase>>2]|0; - $153 = HEAP32[$j>>2]|0; - $154 = (($152) + ($153))|0; - $155 = HEAP32[$1>>2]|0; - $156 = ((($155)) + 12|0); - $157 = HEAP32[$156>>2]|0; - (_sqlite3VdbeAddOp2($151,34,$154,$157)|0); - } - } - $158 = HEAP32[$zAff>>2]|0; - $159 = ($158|0)!=(0|0); - if ($159) { - $160 = HEAP32[$pRight>>2]|0; - $161 = HEAP32[$j>>2]|0; - $162 = HEAP32[$zAff>>2]|0; - $163 = (($162) + ($161)|0); - $164 = HEAP8[$163>>0]|0; - $165 = (_sqlite3CompareAffinity($160,$164)|0); - $166 = $165 << 24 >> 24; - $167 = ($166|0)==(65); - if ($167) { - $168 = HEAP32[$j>>2]|0; - $169 = HEAP32[$zAff>>2]|0; - $170 = (($169) + ($168)|0); - HEAP8[$170>>0] = 65; - } - $171 = HEAP32[$pRight>>2]|0; - $172 = HEAP32[$j>>2]|0; - $173 = HEAP32[$zAff>>2]|0; - $174 = (($173) + ($172)|0); - $175 = HEAP8[$174>>0]|0; - $176 = (_sqlite3ExprNeedsNoAffinityChange($171,$175)|0); - $177 = ($176|0)!=(0); - if ($177) { - $178 = HEAP32[$j>>2]|0; - $179 = HEAP32[$zAff>>2]|0; - $180 = (($179) + ($178)|0); - HEAP8[$180>>0] = 65; - } + $22 = HEAP32[$18>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = HEAP32[$11>>2]|0; + $27 = ($25|0)==($26|0); + if ($27) { + $28 = HEAP32[$18>>2]|0; + $29 = ((($28)) + 9|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = HEAP32[$13>>2]|0; + $33 = ($31|0)==($32|0); + if ($33) { + $34 = HEAP32[$18>>2]|0; + $35 = ((($34)) + 16|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$12>>2]|0; + $38 = (_checkColumnOverlap($36,$37)|0); + $39 = ($38|0)!=(0); + if ($39) { + $40 = HEAP32[$9>>2]|0; + $41 = HEAP32[$18>>2]|0; + $42 = HEAP32[$14>>2]|0; + $43 = HEAP32[$15>>2]|0; + $44 = HEAP32[$16>>2]|0; + $45 = HEAP32[$17>>2]|0; + _sqlite3CodeRowTriggerDirect($40,$41,$42,$43,$44,$45); } } } - $181 = HEAP32[$j>>2]|0; - $182 = (($181) + 1)|0; - HEAP32[$j>>2] = $182; + $46 = HEAP32[$18>>2]|0; + $47 = ((($46)) + 32|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$18>>2] = $48; } - $183 = HEAP32[$zAff>>2]|0; - $184 = HEAP32[$4>>2]|0; - HEAP32[$184>>2] = $183; - $185 = HEAP32[$regBase>>2]|0; - STACKTOP = sp;return ($185|0); + STACKTOP = sp;return; } -function _whereLikeOptimizationStringFixup($v,$pLevel,$pTerm) { - $v = $v|0; - $pLevel = $pLevel|0; - $pTerm = $pTerm|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pOp = 0, label = 0, sp = 0; +function _autoIncStep($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pOp = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $pLevel; - HEAP32[$2>>2] = $pTerm; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 10|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 256; - $8 = ($7|0)!=(0); - if (!($8)) { + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)>(0); + if (!($7)) { STACKTOP = sp;return; } - $9 = HEAP32[$0>>2]|0; - $10 = (_sqlite3VdbeGetOp($9,-1)|0); - HEAP32[$pOp>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 36|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 >>> 1; - $15 = HEAP32[$pOp>>2]|0; - $16 = ((($15)) + 12|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 36|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19 & 1; - $21 = $20&255; - $22 = HEAP32[$pOp>>2]|0; - $23 = ((($22)) + 3|0); - HEAP8[$23>>0] = $21; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp2($10,145,$11,$12)|0); STACKTOP = sp;return; } -function _updateRangeAffinityStr($pRight,$n,$zAff) { - $pRight = $pRight|0; - $n = $n|0; - $zAff = $zAff|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, label = 0, sp = 0; +function _sqlite3ExprCodeFactorable($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $i = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pRight; - HEAP32[$1>>2] = $n; - HEAP32[$2>>2] = $zAff; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ($3|0)<($4|0); - if (!($5)) { - break; - } - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$i>>2]|0; - $8 = (_sqlite3VectorFieldSubexpr($6,$7)|0); - HEAP32[$p>>2] = $8; - $9 = HEAP32[$p>>2]|0; - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) + ($10)|0); - $13 = HEAP8[$12>>0]|0; - $14 = (_sqlite3CompareAffinity($9,$13)|0); - $15 = $14 << 24 >> 24; - $16 = ($15|0)==(65); - if ($16) { - label = 5; - } else { - $17 = HEAP32[$p>>2]|0; - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (($19) + ($18)|0); - $21 = HEAP8[$20>>0]|0; - $22 = (_sqlite3ExprNeedsNoAffinityChange($17,$21)|0); - $23 = ($22|0)!=(0); - if ($23) { - label = 5; - } - } - if ((label|0) == 5) { - label = 0; - $24 = HEAP32[$i>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = (($25) + ($24)|0); - HEAP8[$26>>0] = 65; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 23|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)!=(0); + if ($10) { + $11 = HEAP32[$4>>2]|0; + $12 = (_sqlite3ExprIsConstant($11)|0); + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$5>>2]|0; + _sqlite3ExprCodeAtInit($14,$15,$16,0); + STACKTOP = sp;return; } - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$i>>2] = $28; } + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$5>>2]|0; + _sqlite3ExprCode($17,$18,$19); STACKTOP = sp;return; } -function _codeApplyAffinity($pParse,$base,$n,$zAff) { - $pParse = $pParse|0; - $base = $base|0; - $n = $n|0; - $zAff = $zAff|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $v = 0, label = 0, sp = 0; +function _sqlite3VtabMakeWritable($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $base; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $zAff; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$v>>2] = $6; - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - STACKTOP = sp;return; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 124|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + $12 = HEAP32[$2>>2]|0; + if ($11) { + $13 = ((($12)) + 124|0); + $14 = HEAP32[$13>>2]|0; + $15 = $14; + } else { + $15 = $12; } + HEAP32[$4>>2] = $15; + HEAP32[$5>>2] = 0; while(1) { - $9 = HEAP32[$2>>2]|0; - $10 = ($9|0)>(0); - if (!($10)) { + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 412|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($16|0)<($19|0); + if (!($20)) { break; } - $11 = HEAP32[$3>>2]|0; - $12 = HEAP8[$11>>0]|0; - $13 = $12 << 24 >> 24; - $14 = ($13|0)==(65); - if (!($14)) { + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 460|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = (($24) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($21|0)==($27|0); + if ($28) { + label = 10; break; } - $15 = HEAP32[$2>>2]|0; - $16 = (($15) + -1)|0; - HEAP32[$2>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 1)|0; - HEAP32[$1>>2] = $18; - $19 = HEAP32[$3>>2]|0; - $20 = ((($19)) + 1|0); - HEAP32[$3>>2] = $20; + $29 = HEAP32[$5>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$5>>2] = $30; } - while(1) { - $21 = HEAP32[$2>>2]|0; - $22 = ($21|0)>(1); - if ($22) { - $23 = HEAP32[$2>>2]|0; - $24 = (($23) - 1)|0; - $25 = HEAP32[$3>>2]|0; - $26 = (($25) + ($24)|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27 << 24 >> 24; - $29 = ($28|0)==(65); - $41 = $29; - } else { - $41 = 0; - } - $30 = HEAP32[$2>>2]|0; - if (!($41)) { - break; - } - $31 = (($30) + -1)|0; - HEAP32[$2>>2] = $31; + if ((label|0) == 10) { + STACKTOP = sp;return; } - $32 = ($30|0)>(0); - if (!($32)) { + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 412|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($33) + 1)|0; + $35 = $34<<2; + HEAP32[$6>>2] = $35; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 460|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = (_sqlite3_realloc64($38,$39,$41)|0); + HEAP32[$7>>2] = $42; + $43 = HEAP32[$7>>2]|0; + $44 = ($43|0)!=(0|0); + if ($44) { + $45 = HEAP32[$7>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 460|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$3>>2]|0; + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 460|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 412|0); + $54 = HEAP32[$53>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$53>>2] = $55; + $56 = (($51) + ($54<<2)|0); + HEAP32[$56>>2] = $48; + STACKTOP = sp;return; + } else { + $57 = HEAP32[$4>>2]|0; + $58 = HEAP32[$57>>2]|0; + _sqlite3OomFault($58); STACKTOP = sp;return; } - $33 = HEAP32[$v>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = HEAP32[$3>>2]|0; - $37 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp4($33,98,$34,$35,0,$36,$37)|0); - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = HEAP32[$2>>2]|0; - _sqlite3ExprCacheAffinityChange($38,$39,$40); - STACKTOP = sp;return; } -function _codeDeferredSeek($pWInfo,$pIdx,$iCur,$iIdxCur) { - $pWInfo = $pWInfo|0; - $pIdx = $pIdx|0; - $iCur = $iCur|0; - $iIdxCur = $iIdxCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $ai = 0; - var $i = 0, $pParse = 0, $pTab = 0, $v = 0, label = 0, sp = 0; +function _sqlite3GenerateConstraintChecks($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + $10 = $10|0; + $11 = $11|0; + var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0; + var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0; + var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0; + var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0; + var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; + var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; + var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0; + var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0; + var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0; + var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $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, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0; + var $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, $428 = 0; + var $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, $446 = 0; + var $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, $464 = 0; + var $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0; + var $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0; + var $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0; + var $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0; + var $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, $554 = 0, $555 = 0; + var $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, $572 = 0, $573 = 0; + var $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, $590 = 0, $591 = 0; + var $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0; + var $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0; + var $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0; + var $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0; + var $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0; + var $683 = 0, $684 = 0, $685 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $pParse = sp + 16|0; - $v = sp + 12|0; - $i = sp + 8|0; - $pTab = sp + 4|0; - $ai = sp; - HEAP32[$0>>2] = $pWInfo; - HEAP32[$1>>2] = $pIdx; - HEAP32[$2>>2] = $iCur; - HEAP32[$3>>2] = $iIdxCur; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$pParse>>2] = $5; - $6 = HEAP32[$pParse>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$v>>2] = $8; - $9 = HEAP32[$v>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp3($9,128,$10,0,$11)|0); - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 40|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = $15 & 32; - $17 = ($16|0)!=(0); - if (!($17)) { - STACKTOP = sp;return; - } - $18 = HEAP32[$pParse>>2]|0; - $19 = ((($18)) + 124|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0|0); - $22 = HEAP32[$pParse>>2]|0; - if ($21) { - $23 = ((($22)) + 124|0); - $24 = HEAP32[$23>>2]|0; - $26 = $24; + STACKTOP = STACKTOP + 192|0; + $vararg_buffer = sp; + $12 = sp + 176|0; + $13 = sp + 172|0; + $14 = sp + 168|0; + $15 = sp + 164|0; + $16 = sp + 160|0; + $17 = sp + 156|0; + $18 = sp + 152|0; + $19 = sp + 183|0; + $20 = sp + 182|0; + $21 = sp + 148|0; + $22 = sp + 144|0; + $23 = sp + 140|0; + $24 = sp + 136|0; + $25 = sp + 132|0; + $26 = sp + 128|0; + $27 = sp + 124|0; + $28 = sp + 120|0; + $29 = sp + 116|0; + $30 = sp + 112|0; + $31 = sp + 108|0; + $32 = sp + 104|0; + $33 = sp + 100|0; + $34 = sp + 96|0; + $35 = sp + 92|0; + $36 = sp + 88|0; + $37 = sp + 181|0; + $38 = sp + 180|0; + $39 = sp + 84|0; + $40 = sp + 80|0; + $41 = sp + 76|0; + $42 = sp + 72|0; + $43 = sp + 68|0; + $44 = sp + 64|0; + $45 = sp + 60|0; + $46 = sp + 56|0; + $47 = sp + 52|0; + $48 = sp + 48|0; + $49 = sp + 44|0; + $50 = sp + 40|0; + $51 = sp + 36|0; + $52 = sp + 32|0; + $53 = sp + 28|0; + $54 = sp + 24|0; + $55 = sp + 20|0; + $56 = sp + 16|0; + $57 = sp + 12|0; + $58 = sp + 8|0; + HEAP32[$12>>2] = $0; + HEAP32[$13>>2] = $1; + HEAP32[$14>>2] = $2; + HEAP32[$15>>2] = $3; + HEAP32[$16>>2] = $4; + HEAP32[$17>>2] = $5; + HEAP32[$18>>2] = $6; + HEAP8[$19>>0] = $7; + HEAP8[$20>>0] = $8; + HEAP32[$21>>2] = $9; + HEAP32[$22>>2] = $10; + HEAP32[$23>>2] = $11; + HEAP32[$26>>2] = 0; + HEAP32[$33>>2] = 0; + HEAP32[$35>>2] = 0; + HEAP32[$36>>2] = 0; + HEAP8[$38>>0] = 0; + HEAP32[$39>>2] = -1; + $59 = HEAP32[$18>>2]|0; + $60 = ($59|0)!=(0); + $61 = $60&1; + $62 = $61&255; + HEAP8[$37>>0] = $62; + $63 = HEAP32[$12>>2]|0; + $64 = HEAP32[$63>>2]|0; + HEAP32[$27>>2] = $64; + $65 = HEAP32[$12>>2]|0; + $66 = (_sqlite3GetVdbe($65)|0); + HEAP32[$24>>2] = $66; + $67 = HEAP32[$13>>2]|0; + $68 = ((($67)) + 34|0); + $69 = HEAP16[$68>>1]|0; + $70 = $69 << 16 >> 16; + HEAP32[$30>>2] = $70; + $71 = HEAP32[$13>>2]|0; + $72 = ((($71)) + 42|0); + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = $74 & 32; + $76 = ($75|0)==(0); + if ($76) { + HEAP32[$26>>2] = 0; + HEAP32[$34>>2] = 1; } else { - $26 = $22; - } - $25 = ((($26)) + 92|0); - $27 = HEAP32[$25>>2]|0; - $28 = ($27|0)==(0); - if (!($28)) { - STACKTOP = sp;return; - } - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$pTab>>2] = $31; - $32 = HEAP32[$pParse>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$pTab>>2]|0; - $35 = ((($34)) + 34|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36 << 16 >> 16; - $38 = (($37) + 1)|0; - $39 = $38<<2; - $40 = (_sqlite3DbMallocZero($33,$39,0)|0); - HEAP32[$ai>>2] = $40; - $41 = HEAP32[$ai>>2]|0; - $42 = ($41|0)!=(0|0); - if (!($42)) { - STACKTOP = sp;return; + $77 = HEAP32[$13>>2]|0; + $78 = (_sqlite3PrimaryKeyIndex($77)|0); + HEAP32[$26>>2] = $78; + $79 = HEAP32[$26>>2]|0; + $80 = ((($79)) + 50|0); + $81 = HEAP16[$80>>1]|0; + $82 = $81&65535; + HEAP32[$34>>2] = $82; } - $43 = HEAP32[$pTab>>2]|0; - $44 = ((($43)) + 34|0); - $45 = HEAP16[$44>>1]|0; - $46 = $45 << 16 >> 16; - $47 = HEAP32[$ai>>2]|0; - HEAP32[$47>>2] = $46; - HEAP32[$i>>2] = 0; + HEAP32[$28>>2] = 0; while(1) { - $48 = HEAP32[$i>>2]|0; - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 52|0); - $51 = HEAP16[$50>>1]|0; - $52 = $51&65535; - $53 = (($52) - 1)|0; - $54 = ($48|0)<($53|0); - if (!($54)) { + $83 = HEAP32[$28>>2]|0; + $84 = HEAP32[$30>>2]|0; + $85 = ($83|0)<($84|0); + if (!($85)) { break; } - $55 = HEAP32[$i>>2]|0; - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 4|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($58) + ($55<<1)|0); - $60 = HEAP16[$59>>1]|0; - $61 = $60 << 16 >> 16; - $62 = ($61|0)>=(0); - if ($62) { - $63 = HEAP32[$i>>2]|0; - $64 = (($63) + 1)|0; - $65 = HEAP32[$i>>2]|0; - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 4|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68) + ($65<<1)|0); - $70 = HEAP16[$69>>1]|0; - $71 = $70 << 16 >> 16; - $72 = (($71) + 1)|0; - $73 = HEAP32[$ai>>2]|0; - $74 = (($73) + ($72<<2)|0); - HEAP32[$74>>2] = $64; - } - $75 = HEAP32[$i>>2]|0; - $76 = (($75) + 1)|0; - HEAP32[$i>>2] = $76; - } - $77 = HEAP32[$v>>2]|0; - $78 = HEAP32[$ai>>2]|0; - _sqlite3VdbeChangeP4($77,-1,$78,-15); - STACKTOP = sp;return; -} -function _sqlite3ExprCodeGetColumnToReg($pParse,$pTab,$iColumn,$iTable,$iReg) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $iColumn = $iColumn|0; - $iTable = $iTable|0; - $iReg = $iReg|0; - var $0 = 0, $1 = 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, $r1 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $r1 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $iColumn; - HEAP32[$3>>2] = $iTable; - HEAP32[$4>>2] = $iReg; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_sqlite3ExprCodeGetColumn($5,$6,$7,$8,$9,0)|0); - HEAP32[$r1>>2] = $10; - $11 = HEAP32[$r1>>2]|0; - $12 = HEAP32[$4>>2]|0; - $13 = ($11|0)!=($12|0); - if (!($13)) { - STACKTOP = sp;return; + $86 = HEAP32[$28>>2]|0; + $87 = HEAP32[$13>>2]|0; + $88 = ((($87)) + 32|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89 << 16 >> 16; + $91 = ($86|0)==($90|0); + L8: do { + if (!($91)) { + $92 = HEAP32[$23>>2]|0; + $93 = ($92|0)!=(0|0); + if ($93) { + $94 = HEAP32[$23>>2]|0; + $95 = HEAP32[$28>>2]|0; + $96 = (($94) + ($95<<2)|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)<(0); + if ($98) { + break; + } + } + $99 = HEAP32[$13>>2]|0; + $100 = ((($99)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = HEAP32[$28>>2]|0; + $103 = (($101) + ($102<<4)|0); + $104 = ((($103)) + 12|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + HEAP32[$31>>2] = $106; + $107 = HEAP32[$31>>2]|0; + $108 = ($107|0)==(0); + if (!($108)) { + $109 = HEAP8[$20>>0]|0; + $110 = $109&255; + $111 = ($110|0)!=(10); + if ($111) { + $112 = HEAP8[$20>>0]|0; + $113 = $112&255; + HEAP32[$31>>2] = $113; + } else { + $114 = HEAP32[$31>>2]|0; + $115 = ($114|0)==(10); + if ($115) { + HEAP32[$31>>2] = 2; + } + } + $116 = HEAP32[$31>>2]|0; + $117 = ($116|0)==(5); + if ($117) { + $118 = HEAP32[$13>>2]|0; + $119 = ((($118)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$28>>2]|0; + $122 = (($120) + ($121<<4)|0); + $123 = ((($122)) + 4|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($124|0)==(0|0); + if ($125) { + HEAP32[$31>>2] = 2; + } + } + $126 = HEAP32[$31>>2]|0; + switch ($126|0) { + case 2: { + $127 = HEAP32[$12>>2]|0; + _sqlite3MayAbort($127); + break; + } + case 3: case 1: { + break; + } + case 4: { + $146 = HEAP32[$24>>2]|0; + $147 = HEAP32[$17>>2]|0; + $148 = (($147) + 1)|0; + $149 = HEAP32[$28>>2]|0; + $150 = (($148) + ($149))|0; + $151 = HEAP32[$21>>2]|0; + (_sqlite3VdbeAddOp2($146,34,$150,$151)|0); + break L8; + break; + } + default: { + $152 = HEAP32[$24>>2]|0; + $153 = HEAP32[$17>>2]|0; + $154 = (($153) + 1)|0; + $155 = HEAP32[$28>>2]|0; + $156 = (($154) + ($155))|0; + $157 = (_sqlite3VdbeAddOp1($152,35,$156)|0); + HEAP32[$32>>2] = $157; + $158 = HEAP32[$12>>2]|0; + $159 = HEAP32[$13>>2]|0; + $160 = ((($159)) + 4|0); + $161 = HEAP32[$160>>2]|0; + $162 = HEAP32[$28>>2]|0; + $163 = (($161) + ($162<<4)|0); + $164 = ((($163)) + 4|0); + $165 = HEAP32[$164>>2]|0; + $166 = HEAP32[$17>>2]|0; + $167 = (($166) + 1)|0; + $168 = HEAP32[$28>>2]|0; + $169 = (($167) + ($168))|0; + _sqlite3ExprCode($158,$165,$169); + $170 = HEAP32[$24>>2]|0; + $171 = HEAP32[$32>>2]|0; + _sqlite3VdbeJumpHere($170,$171); + break L8; + } + } + $128 = HEAP32[$27>>2]|0; + $129 = HEAP32[$13>>2]|0; + $130 = HEAP32[$129>>2]|0; + $131 = HEAP32[$13>>2]|0; + $132 = ((($131)) + 4|0); + $133 = HEAP32[$132>>2]|0; + $134 = HEAP32[$28>>2]|0; + $135 = (($133) + ($134<<4)|0); + $136 = HEAP32[$135>>2]|0; + HEAP32[$vararg_buffer>>2] = $130; + $vararg_ptr4 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $136; + $137 = (_sqlite3MPrintf($128,29580,$vararg_buffer)|0); + HEAP32[$40>>2] = $137; + $138 = HEAP32[$24>>2]|0; + $139 = HEAP32[$31>>2]|0; + $140 = HEAP32[$17>>2]|0; + $141 = (($140) + 1)|0; + $142 = HEAP32[$28>>2]|0; + $143 = (($141) + ($142))|0; + $144 = HEAP32[$40>>2]|0; + (_sqlite3VdbeAddOp4($138,74,1299,$139,$143,$144,-1)|0); + $145 = HEAP32[$24>>2]|0; + _sqlite3VdbeChangeP5($145,1); + } + } + } while(0); + $172 = HEAP32[$28>>2]|0; + $173 = (($172) + 1)|0; + HEAP32[$28>>2] = $173; } - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$r1>>2]|0; - $18 = HEAP32[$4>>2]|0; - (_sqlite3VdbeAddOp2($16,85,$17,$18)|0); - STACKTOP = sp;return; -} -function _sqlite3VdbeChangeP1($p,$addr,$val) { - $p = $p|0; - $addr = $addr|0; - $val = $val|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $addr; - HEAP32[$2>>2] = $val; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3VdbeGetOp($4,$5)|0); - $7 = ((($6)) + 4|0); - HEAP32[$7>>2] = $3; - STACKTOP = sp;return; -} -function _sqlite3WhereFindTerm($pWC,$iCur,$iColumn,$0,$1,$op,$pIdx) { - $pWC = $pWC|0; - $iCur = $iCur|0; - $iColumn = $iColumn|0; - $0 = $0|0; - $1 = $1|0; - $op = $op|0; - $pIdx = $pIdx|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pResult = 0, $scan = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $2 = sp + 132|0; - $3 = sp + 128|0; - $4 = sp + 124|0; - $5 = sp + 120|0; - $6 = sp; - $7 = sp + 116|0; - $8 = sp + 112|0; - $pResult = sp + 108|0; - $p = sp + 104|0; - $scan = sp + 8|0; - HEAP32[$3>>2] = $pWC; - HEAP32[$4>>2] = $iCur; - HEAP32[$5>>2] = $iColumn; - $9 = $6; - $10 = $9; - HEAP32[$10>>2] = $0; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = $1; - HEAP32[$7>>2] = $op; - HEAP32[$8>>2] = $pIdx; - HEAP32[$pResult>>2] = 0; - $13 = HEAP32[$3>>2]|0; - $14 = HEAP32[$4>>2]|0; - $15 = HEAP32[$5>>2]|0; - $16 = HEAP32[$7>>2]|0; - $17 = HEAP32[$8>>2]|0; - $18 = (_whereScanInit($scan,$13,$14,$15,$16,$17)|0); - HEAP32[$p>>2] = $18; - $19 = HEAP32[$7>>2]|0; - $20 = $19 & 130; - HEAP32[$7>>2] = $20; - while(1) { - $21 = HEAP32[$p>>2]|0; - $22 = ($21|0)!=(0|0); - if (!($22)) { - label = 10; + $174 = HEAP32[$13>>2]|0; + $175 = ((($174)) + 24|0); + $176 = HEAP32[$175>>2]|0; + $177 = ($176|0)!=(0|0); + L30: do { + if ($177) { + $178 = HEAP32[$27>>2]|0; + $179 = ((($178)) + 24|0); + $180 = HEAP32[$179>>2]|0; + $181 = $180 & 8192; + $182 = ($181|0)==(0); + if ($182) { + $183 = HEAP32[$13>>2]|0; + $184 = ((($183)) + 24|0); + $185 = HEAP32[$184>>2]|0; + HEAP32[$41>>2] = $185; + $186 = HEAP32[$17>>2]|0; + $187 = (($186) + 1)|0; + $188 = HEAP32[$12>>2]|0; + $189 = ((($188)) + 56|0); + HEAP32[$189>>2] = $187; + $190 = HEAP8[$20>>0]|0; + $191 = $190&255; + $192 = ($191|0)!=(10); + $193 = HEAP8[$20>>0]|0; + $194 = $193&255; + $195 = $192 ? $194 : 2; + HEAP32[$31>>2] = $195; + HEAP32[$28>>2] = 0; + while(1) { + $196 = HEAP32[$28>>2]|0; + $197 = HEAP32[$41>>2]|0; + $198 = HEAP32[$197>>2]|0; + $199 = ($196|0)<($198|0); + if (!($199)) { + break L30; + } + $200 = HEAP32[$41>>2]|0; + $201 = ((($200)) + 4|0); + $202 = HEAP32[$201>>2]|0; + $203 = HEAP32[$28>>2]|0; + $204 = (($202) + (($203*20)|0)|0); + $205 = HEAP32[$204>>2]|0; + HEAP32[$43>>2] = $205; + $206 = HEAP32[$23>>2]|0; + $207 = ($206|0)!=(0|0); + if ($207) { + $208 = HEAP32[$43>>2]|0; + $209 = HEAP32[$23>>2]|0; + $210 = HEAP8[$19>>0]|0; + $211 = $210&255; + $212 = (_checkConstraintUnchanged($208,$209,$211)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + label = 0; + $214 = HEAP32[$24>>2]|0; + $215 = (_sqlite3VdbeMakeLabel($214)|0); + HEAP32[$42>>2] = $215; + $216 = HEAP32[$12>>2]|0; + $217 = HEAP32[$43>>2]|0; + $218 = HEAP32[$42>>2]|0; + _sqlite3ExprIfTrue($216,$217,$218,16); + $219 = HEAP32[$31>>2]|0; + $220 = ($219|0)==(4); + if ($220) { + $221 = HEAP32[$24>>2]|0; + $222 = HEAP32[$21>>2]|0; + (_sqlite3VdbeGoto($221,$222)|0); + } else { + $223 = HEAP32[$41>>2]|0; + $224 = ((($223)) + 4|0); + $225 = HEAP32[$224>>2]|0; + $226 = HEAP32[$28>>2]|0; + $227 = (($225) + (($226*20)|0)|0); + $228 = ((($227)) + 4|0); + $229 = HEAP32[$228>>2]|0; + HEAP32[$44>>2] = $229; + $230 = HEAP32[$44>>2]|0; + $231 = ($230|0)==(0|0); + if ($231) { + $232 = HEAP32[$13>>2]|0; + $233 = HEAP32[$232>>2]|0; + HEAP32[$44>>2] = $233; + } + $234 = HEAP32[$31>>2]|0; + $235 = ($234|0)==(5); + if ($235) { + HEAP32[$31>>2] = 2; + } + $236 = HEAP32[$12>>2]|0; + $237 = HEAP32[$31>>2]|0; + $238 = HEAP32[$44>>2]|0; + _sqlite3HaltConstraint($236,275,$237,$238,0,3); + } + $239 = HEAP32[$24>>2]|0; + $240 = HEAP32[$42>>2]|0; + _sqlite3VdbeResolveLabel($239,$240); + } + $241 = HEAP32[$28>>2]|0; + $242 = (($241) + 1)|0; + HEAP32[$28>>2] = $242; + } + } + } + } while(0); + $243 = HEAP8[$19>>0]|0; + $244 = $243&255; + $245 = ($244|0)!=(0); + $246 = HEAP32[$26>>2]|0; + $247 = ($246|0)==(0|0); + $or$cond = $245 & $247; + if ($or$cond) { + $248 = HEAP32[$24>>2]|0; + $249 = (_sqlite3VdbeMakeLabel($248)|0); + HEAP32[$45>>2] = $249; + $250 = HEAP32[$13>>2]|0; + $251 = ((($250)) + 43|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + HEAP32[$31>>2] = $253; + $254 = HEAP8[$20>>0]|0; + $255 = $254&255; + $256 = ($255|0)!=(10); + if ($256) { + $257 = HEAP8[$20>>0]|0; + $258 = $257&255; + HEAP32[$31>>2] = $258; + } else { + $259 = HEAP32[$31>>2]|0; + $260 = ($259|0)==(10); + if ($260) { + HEAP32[$31>>2] = 2; + } + } + $261 = HEAP8[$37>>0]|0; + $262 = ($261<<24>>24)!=(0); + if ($262) { + $263 = HEAP32[$24>>2]|0; + $264 = HEAP32[$17>>2]|0; + $265 = HEAP32[$45>>2]|0; + $266 = HEAP32[$18>>2]|0; + (_sqlite3VdbeAddOp3($263,37,$264,$265,$266)|0); + $267 = HEAP32[$24>>2]|0; + _sqlite3VdbeChangeP5($267,-112); + } + $268 = HEAP32[$31>>2]|0; + $269 = ($268|0)==(5); + L62: do { + if ($269) { + $270 = HEAP8[$20>>0]|0; + $271 = $270&255; + $272 = ($271|0)!=(5); + if ($272) { + $273 = HEAP32[$13>>2]|0; + $274 = ((($273)) + 8|0); + $275 = HEAP32[$274>>2]|0; + HEAP32[$25>>2] = $275; + while(1) { + $276 = HEAP32[$25>>2]|0; + $277 = ($276|0)!=(0|0); + if (!($277)) { + break L62; + } + $278 = HEAP32[$25>>2]|0; + $279 = ((($278)) + 54|0); + $280 = HEAP8[$279>>0]|0; + $281 = $280&255; + $282 = ($281|0)==(4); + if ($282) { + break; + } + $283 = HEAP32[$25>>2]|0; + $284 = ((($283)) + 54|0); + $285 = HEAP8[$284>>0]|0; + $286 = $285&255; + $287 = ($286|0)==(3); + if ($287) { + break; + } + $290 = HEAP32[$25>>2]|0; + $291 = ((($290)) + 20|0); + $292 = HEAP32[$291>>2]|0; + HEAP32[$25>>2] = $292; + } + $288 = HEAP32[$24>>2]|0; + $289 = (_sqlite3VdbeAddOp0($288,13)|0); + HEAP32[$35>>2] = $289; + } + } + } while(0); + $293 = HEAP32[$24>>2]|0; + $294 = HEAP32[$15>>2]|0; + $295 = HEAP32[$45>>2]|0; + $296 = HEAP32[$17>>2]|0; + (_sqlite3VdbeAddOp3($293,33,$294,$295,$296)|0); + $297 = HEAP32[$31>>2]|0; + switch ($297|0) { + case 3: case 2: case 1: { + label = 55; break; } - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 32|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = $6; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = $27 & $33; - $38 = $30 & $36; - $39 = ($37|0)==(0); - $40 = ($38|0)==(0); - $41 = $39 & $40; - if ($41) { - $42 = HEAP32[$p>>2]|0; - $43 = ((($42)) + 32|0); - $44 = $43; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = ($46|0)==(0); - $51 = ($49|0)==(0); - $52 = $50 & $51; - if ($52) { - $53 = HEAP32[$p>>2]|0; - $54 = ((($53)) + 12|0); - $55 = HEAP16[$54>>1]|0; - $56 = $55&65535; - $57 = HEAP32[$7>>2]|0; - $58 = $56 & $57; - $59 = ($58|0)!=(0); - if ($59) { - label = 6; - break; + case 5: { + HEAP32[$46>>2] = 0; + $301 = HEAP32[$27>>2]|0; + $302 = ((($301)) + 24|0); + $303 = HEAP32[$302>>2]|0; + $304 = $303 & 262144; + $305 = ($304|0)!=(0); + if ($305) { + $306 = HEAP32[$12>>2]|0; + $307 = HEAP32[$13>>2]|0; + $308 = (_sqlite3TriggersExist($306,$307,109,0,0)|0); + HEAP32[$46>>2] = $308; + } + $309 = HEAP32[$46>>2]|0; + $310 = ($309|0)!=(0|0); + if ($310) { + label = 60; + } else { + $311 = HEAP32[$12>>2]|0; + $312 = HEAP32[$13>>2]|0; + $313 = (_sqlite3FkRequired($311,$312,0,0)|0); + $314 = ($313|0)!=(0); + if ($314) { + label = 60; + } else { + $322 = HEAP32[$13>>2]|0; + $323 = ((($322)) + 8|0); + $324 = HEAP32[$323>>2]|0; + $325 = ($324|0)!=(0|0); + if ($325) { + $326 = HEAP32[$12>>2]|0; + _sqlite3MultiWrite($326); + $327 = HEAP32[$12>>2]|0; + $328 = HEAP32[$13>>2]|0; + $329 = HEAP32[$15>>2]|0; + $330 = HEAP32[$16>>2]|0; + _sqlite3GenerateRowIndexDelete($327,$328,$329,$330,0,-1); + } } } - $61 = HEAP32[$pResult>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$p>>2]|0; - HEAP32[$pResult>>2] = $63; + if ((label|0) == 60) { + $315 = HEAP32[$12>>2]|0; + _sqlite3MultiWrite($315); + $316 = HEAP32[$12>>2]|0; + $317 = HEAP32[$13>>2]|0; + $318 = HEAP32[$46>>2]|0; + $319 = HEAP32[$15>>2]|0; + $320 = HEAP32[$16>>2]|0; + $321 = HEAP32[$17>>2]|0; + _sqlite3GenerateRowDelete($316,$317,$318,$319,$320,$321,1,0,5,1,-1); } + HEAP32[$33>>2] = 1; + break; } - $64 = (_whereScanNext($scan)|0); - HEAP32[$p>>2] = $64; - } - if ((label|0) == 6) { - $60 = HEAP32[$p>>2]|0; - HEAP32[$2>>2] = $60; - $66 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($66|0); - } - else if ((label|0) == 10) { - $65 = HEAP32[$pResult>>2]|0; - HEAP32[$2>>2] = $65; - $66 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($66|0); - } - return (0)|0; -} -function _whereScanInit($pScan,$pWC,$iCur,$iColumn,$opMask,$pIdx) { - $pScan = $pScan|0; - $pWC = $pWC|0; - $iCur = $iCur|0; - $iColumn = $iColumn|0; - $opMask = $opMask|0; - $pIdx = $pIdx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $j = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp + 4|0; - $j = sp; - HEAP32[$0>>2] = $pScan; - HEAP32[$1>>2] = $pWC; - HEAP32[$2>>2] = $iCur; - HEAP32[$3>>2] = $iColumn; - HEAP32[$4>>2] = $opMask; - HEAP32[$5>>2] = $pIdx; - HEAP32[$j>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - HEAP32[$7>>2] = $6; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 4|0); - HEAP32[$10>>2] = $8; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 12|0); - HEAP32[$12>>2] = 0; - $13 = HEAP32[$5>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$3>>2]|0; - HEAP32[$j>>2] = $15; - $16 = HEAP32[$j>>2]|0; - $17 = HEAP32[$5>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + ($16<<1)|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - HEAP32[$3>>2] = $22; - $23 = HEAP32[$3>>2]|0; - $24 = ($23|0)==(-2); - if ($24) { - $25 = HEAP32[$j>>2]|0; - $26 = HEAP32[$5>>2]|0; - $27 = ((($26)) + 40|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + (($25*20)|0)|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 12|0); - HEAP32[$34>>2] = $32; + case 4: { + $331 = HEAP32[$24>>2]|0; + $332 = HEAP32[$21>>2]|0; + (_sqlite3VdbeGoto($331,$332)|0); + break; } - $35 = HEAP32[$3>>2]|0; - $36 = HEAP32[$5>>2]|0; - $37 = ((($36)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($38)) + 32|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40 << 16 >> 16; - $42 = ($35|0)==($41|0); - if ($42) { - HEAP32[$3>>2] = -1; + default: { + HEAP32[$31>>2] = 2; + label = 55; + } + } + if ((label|0) == 55) { + $298 = HEAP32[$12>>2]|0; + $299 = HEAP32[$31>>2]|0; + $300 = HEAP32[$13>>2]|0; + _sqlite3RowidConstraint($298,$299,$300); + } + $333 = HEAP32[$24>>2]|0; + $334 = HEAP32[$45>>2]|0; + _sqlite3VdbeResolveLabel($333,$334); + $335 = HEAP32[$35>>2]|0; + $336 = ($335|0)!=(0); + if ($336) { + $337 = HEAP32[$24>>2]|0; + $338 = (_sqlite3VdbeAddOp0($337,13)|0); + HEAP32[$36>>2] = $338; + $339 = HEAP32[$24>>2]|0; + $340 = HEAP32[$35>>2]|0; + _sqlite3VdbeJumpHere($339,$340); } } - $43 = HEAP32[$5>>2]|0; - $44 = ($43|0)!=(0|0); - $45 = HEAP32[$3>>2]|0; - $46 = ($45|0)>=(0); - $or$cond = $44 & $46; - if ($or$cond) { - $47 = HEAP32[$3>>2]|0; - $48 = HEAP32[$5>>2]|0; - $49 = ((($48)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ((($50)) + 4|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + ($47<<4)|0); - $54 = ((($53)) + 13|0); - $55 = HEAP8[$54>>0]|0; - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 16|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[$j>>2]|0; - $59 = HEAP32[$5>>2]|0; - $60 = ((($59)) + 32|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($61) + ($58<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 8|0); - HEAP32[$65>>2] = $63; - } else { - $66 = HEAP32[$0>>2]|0; - $67 = ((($66)) + 16|0); - HEAP8[$67>>0] = 0; - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 8|0); - HEAP32[$69>>2] = 0; - } - $70 = HEAP32[$4>>2]|0; - $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 20|0); - HEAP32[$72>>2] = $70; - $73 = HEAP32[$0>>2]|0; - $74 = ((($73)) + 24|0); - HEAP32[$74>>2] = 0; - $75 = HEAP32[$2>>2]|0; - $76 = HEAP32[$0>>2]|0; - $77 = ((($76)) + 28|0); - HEAP32[$77>>2] = $75; - $78 = HEAP32[$3>>2]|0; - $79 = $78&65535; - $80 = HEAP32[$0>>2]|0; - $81 = ((($80)) + 72|0); - HEAP16[$81>>1] = $79; - $82 = HEAP32[$0>>2]|0; - $83 = ((($82)) + 17|0); - HEAP8[$83>>0] = 1; - $84 = HEAP32[$0>>2]|0; - $85 = ((($84)) + 18|0); - HEAP8[$85>>0] = 1; - $86 = HEAP32[$0>>2]|0; - $87 = (_whereScanNext($86)|0); - STACKTOP = sp;return ($87|0); -} -function _whereScanNext($pScan) { - $pScan = $pScan|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iColumn = 0, $iCur = 0, $j = 0, $k = 0, $pColl = 0, $pParse = 0, $pTerm = 0, $pWC = 0, $pX = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $iCur = sp + 28|0; - $iColumn = sp + 40|0; - $pX = sp + 24|0; - $pWC = sp + 20|0; - $pTerm = sp + 16|0; - $k = sp + 12|0; - $j = sp + 8|0; - $pColl = sp + 4|0; - $pParse = sp; - HEAP32[$1>>2] = $pScan; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 24|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$k>>2] = $4; - L1: while(1) { - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 18|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 17|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($8|0)<=($12|0); - if (!($13)) { - label = 40; + HEAP32[$29>>2] = 0; + $341 = HEAP32[$13>>2]|0; + $342 = ((($341)) + 8|0); + $343 = HEAP32[$342>>2]|0; + HEAP32[$25>>2] = $343; + while(1) { + $344 = HEAP32[$25>>2]|0; + $345 = ($344|0)!=(0|0); + if (!($345)) { break; } - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 18|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = (($17) - 1)|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 28|0); - $21 = (($20) + ($18<<2)|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$iCur>>2] = $22; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 18|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = (($26) - 1)|0; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 72|0); - $30 = (($29) + ($27<<1)|0); - $31 = HEAP16[$30>>1]|0; - HEAP16[$iColumn>>1] = $31; - $32 = HEAP16[$iColumn>>1]|0; - $33 = $32 << 16 >> 16; - $34 = ($33|0)==(-2); - if ($34) { - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)==(0|0); - if ($38) { - label = 5; - break; - } - } - while(1) { - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 4|0); - $41 = HEAP32[$40>>2]|0; - HEAP32[$pWC>>2] = $41; - $42 = ($41|0)!=(0|0); - if (!($42)) { - break; - } - $43 = HEAP32[$pWC>>2]|0; - $44 = ((($43)) + 20|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$k>>2]|0; - $47 = (($45) + (($46*48)|0)|0); - HEAP32[$pTerm>>2] = $47; - while(1) { - $48 = HEAP32[$k>>2]|0; - $49 = HEAP32[$pWC>>2]|0; - $50 = ((($49)) + 12|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($48|0)<($51|0); - if (!($52)) { - break; - } - $53 = HEAP32[$pTerm>>2]|0; - $54 = ((($53)) + 20|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$iCur>>2]|0; - $57 = ($55|0)==($56|0); - do { - if ($57) { - $58 = HEAP32[$pTerm>>2]|0; - $59 = ((($58)) + 28|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP16[$iColumn>>1]|0; - $62 = $61 << 16 >> 16; - $63 = ($60|0)==($62|0); - if ($63) { - $64 = HEAP16[$iColumn>>1]|0; - $65 = $64 << 16 >> 16; - $66 = ($65|0)!=(-2); - if (!($66)) { - $67 = HEAP32[$pTerm>>2]|0; - $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 12|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$1>>2]|0; - $72 = ((($71)) + 12|0); - $73 = HEAP32[$72>>2]|0; - $74 = HEAP32[$iCur>>2]|0; - $75 = (_sqlite3ExprCompare($70,$73,$74)|0); - $76 = ($75|0)==(0); - if (!($76)) { - break; + $346 = HEAP32[$14>>2]|0; + $347 = HEAP32[$29>>2]|0; + $348 = (($346) + ($347<<2)|0); + $349 = HEAP32[$348>>2]|0; + $350 = ($349|0)==(0); + do { + if (!($350)) { + $351 = HEAP8[$38>>0]|0; + $352 = $351&255; + $353 = ($352|0)==(0); + if ($353) { + $354 = HEAP32[$24>>2]|0; + $355 = HEAP32[$13>>2]|0; + $356 = HEAP32[$17>>2]|0; + $357 = (($356) + 1)|0; + _sqlite3TableAffinity($354,$355,$357); + HEAP8[$38>>0] = 1; + } + $358 = HEAP32[$16>>2]|0; + $359 = HEAP32[$29>>2]|0; + $360 = (($358) + ($359))|0; + HEAP32[$49>>2] = $360; + $361 = HEAP32[$24>>2]|0; + $362 = (_sqlite3VdbeMakeLabel($361)|0); + HEAP32[$50>>2] = $362; + $363 = HEAP32[$25>>2]|0; + $364 = ((($363)) + 36|0); + $365 = HEAP32[$364>>2]|0; + $366 = ($365|0)!=(0|0); + if ($366) { + $367 = HEAP32[$24>>2]|0; + $368 = HEAP32[$14>>2]|0; + $369 = HEAP32[$29>>2]|0; + $370 = (($368) + ($369<<2)|0); + $371 = HEAP32[$370>>2]|0; + (_sqlite3VdbeAddOp2($367,79,0,$371)|0); + $372 = HEAP32[$17>>2]|0; + $373 = (($372) + 1)|0; + $374 = HEAP32[$12>>2]|0; + $375 = ((($374)) + 56|0); + HEAP32[$375>>2] = $373; + $376 = HEAP32[$12>>2]|0; + $377 = HEAP32[$25>>2]|0; + $378 = ((($377)) + 36|0); + $379 = HEAP32[$378>>2]|0; + $380 = HEAP32[$50>>2]|0; + _sqlite3ExprIfFalseDup($376,$379,$380,16); + $381 = HEAP32[$12>>2]|0; + $382 = ((($381)) + 56|0); + HEAP32[$382>>2] = 0; + } + $383 = HEAP32[$12>>2]|0; + $384 = HEAP32[$25>>2]|0; + $385 = ((($384)) + 52|0); + $386 = HEAP16[$385>>1]|0; + $387 = $386&65535; + $388 = (_sqlite3GetTempRange($383,$387)|0); + HEAP32[$47>>2] = $388; + HEAP32[$28>>2] = 0; + while(1) { + $389 = HEAP32[$28>>2]|0; + $390 = HEAP32[$25>>2]|0; + $391 = ((($390)) + 52|0); + $392 = HEAP16[$391>>1]|0; + $393 = $392&65535; + $394 = ($389|0)<($393|0); + if (!($394)) { + break; + } + $395 = HEAP32[$25>>2]|0; + $396 = ((($395)) + 4|0); + $397 = HEAP32[$396>>2]|0; + $398 = HEAP32[$28>>2]|0; + $399 = (($397) + ($398<<1)|0); + $400 = HEAP16[$399>>1]|0; + $401 = $400 << 16 >> 16; + HEAP32[$51>>2] = $401; + $402 = HEAP32[$51>>2]|0; + $403 = ($402|0)==(-2); + do { + if ($403) { + $404 = HEAP32[$17>>2]|0; + $405 = (($404) + 1)|0; + $406 = HEAP32[$12>>2]|0; + $407 = ((($406)) + 56|0); + HEAP32[$407>>2] = $405; + $408 = HEAP32[$12>>2]|0; + $409 = HEAP32[$25>>2]|0; + $410 = ((($409)) + 40|0); + $411 = HEAP32[$410>>2]|0; + $412 = ((($411)) + 4|0); + $413 = HEAP32[$412>>2]|0; + $414 = HEAP32[$28>>2]|0; + $415 = (($413) + (($414*20)|0)|0); + $416 = HEAP32[$415>>2]|0; + $417 = HEAP32[$47>>2]|0; + $418 = HEAP32[$28>>2]|0; + $419 = (($417) + ($418))|0; + _sqlite3ExprCodeCopy($408,$416,$419); + $420 = HEAP32[$12>>2]|0; + $421 = ((($420)) + 56|0); + HEAP32[$421>>2] = 0; + } else { + $422 = HEAP32[$51>>2]|0; + $423 = ($422|0)==(-1); + if ($423) { + label = 80; + } else { + $424 = HEAP32[$51>>2]|0; + $425 = HEAP32[$13>>2]|0; + $426 = ((($425)) + 32|0); + $427 = HEAP16[$426>>1]|0; + $428 = $427 << 16 >> 16; + $429 = ($424|0)==($428|0); + if ($429) { + label = 80; + } else { + $444 = HEAP32[$51>>2]|0; + $445 = HEAP32[$17>>2]|0; + $446 = (($444) + ($445))|0; + $447 = (($446) + 1)|0; + HEAP32[$52>>2] = $447; } } - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 18|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = ($80|0)<=(1); - if (!($81)) { - $82 = HEAP32[$pTerm>>2]|0; - $83 = HEAP32[$82>>2]|0; - $84 = ((($83)) + 4|0); - $85 = HEAP32[$84>>2]|0; - $86 = $85 & 1; - $87 = ($86|0)!=(0); - if ($87) { + if ((label|0) == 80) { + label = 0; + $430 = HEAP32[$39>>2]|0; + $431 = HEAP32[$47>>2]|0; + $432 = HEAP32[$28>>2]|0; + $433 = (($431) + ($432))|0; + $434 = ($430|0)==($433|0); + if ($434) { break; } - } - $88 = HEAP32[$pTerm>>2]|0; - $89 = ((($88)) + 12|0); - $90 = HEAP16[$89>>1]|0; - $91 = $90&65535; - $92 = $91 & 2048; - $93 = ($92|0)!=(0); - if ($93) { - $94 = HEAP32[$1>>2]|0; - $95 = ((($94)) + 17|0); - $96 = HEAP8[$95>>0]|0; - $97 = $96&255; - $98 = ($97|0)<(11); - if ($98) { - $99 = HEAP32[$pTerm>>2]|0; - $100 = HEAP32[$99>>2]|0; - $101 = ((($100)) + 16|0); - $102 = HEAP32[$101>>2]|0; - $103 = (_sqlite3ExprSkipCollate($102)|0); - HEAP32[$pX>>2] = $103; - $104 = HEAP8[$103>>0]|0; - $105 = $104&255; - $106 = ($105|0)==(152); - if ($106) { - HEAP32[$j>>2] = 0; - while(1) { - $107 = HEAP32[$j>>2]|0; - $108 = HEAP32[$1>>2]|0; - $109 = ((($108)) + 17|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110&255; - $112 = ($107|0)<($111|0); - if (!($112)) { - break; - } - $113 = HEAP32[$j>>2]|0; - $114 = HEAP32[$1>>2]|0; - $115 = ((($114)) + 28|0); - $116 = (($115) + ($113<<2)|0); - $117 = HEAP32[$116>>2]|0; - $118 = HEAP32[$pX>>2]|0; - $119 = ((($118)) + 28|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($117|0)==($120|0); - if ($121) { - $122 = HEAP32[$j>>2]|0; - $123 = HEAP32[$1>>2]|0; - $124 = ((($123)) + 72|0); - $125 = (($124) + ($122<<1)|0); - $126 = HEAP16[$125>>1]|0; - $127 = $126 << 16 >> 16; - $128 = HEAP32[$pX>>2]|0; - $129 = ((($128)) + 32|0); - $130 = HEAP16[$129>>1]|0; - $131 = $130 << 16 >> 16; - $132 = ($127|0)==($131|0); - if ($132) { - break; - } - } - $133 = HEAP32[$j>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[$j>>2] = $134; - } - $135 = HEAP32[$j>>2]|0; - $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 17|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $140 = ($135|0)==($139|0); - if ($140) { - $141 = HEAP32[$pX>>2]|0; - $142 = ((($141)) + 28|0); - $143 = HEAP32[$142>>2]|0; - $144 = HEAP32[$j>>2]|0; - $145 = HEAP32[$1>>2]|0; - $146 = ((($145)) + 28|0); - $147 = (($146) + ($144<<2)|0); - HEAP32[$147>>2] = $143; - $148 = HEAP32[$pX>>2]|0; - $149 = ((($148)) + 32|0); - $150 = HEAP16[$149>>1]|0; - $151 = HEAP32[$j>>2]|0; - $152 = HEAP32[$1>>2]|0; - $153 = ((($152)) + 72|0); - $154 = (($153) + ($151<<1)|0); - HEAP16[$154>>1] = $150; - $155 = HEAP32[$1>>2]|0; - $156 = ((($155)) + 17|0); - $157 = HEAP8[$156>>0]|0; - $158 = (($157) + 1)<<24>>24; - HEAP8[$156>>0] = $158; - } - } + $435 = HEAP32[$17>>2]|0; + HEAP32[$52>>2] = $435; + $436 = HEAP32[$25>>2]|0; + $437 = ((($436)) + 36|0); + $438 = HEAP32[$437>>2]|0; + $439 = ($438|0)!=(0|0); + if ($439) { + $443 = -1; + } else { + $440 = HEAP32[$47>>2]|0; + $441 = HEAP32[$28>>2]|0; + $442 = (($440) + ($441))|0; + $443 = $442; } + HEAP32[$39>>2] = $443; } - $159 = HEAP32[$pTerm>>2]|0; - $160 = ((($159)) + 12|0); - $161 = HEAP16[$160>>1]|0; - $162 = $161&65535; - $163 = HEAP32[$1>>2]|0; - $164 = ((($163)) + 20|0); - $165 = HEAP32[$164>>2]|0; - $166 = $162 & $165; - $167 = ($166|0)!=(0); - if ($167) { - $168 = HEAP32[$1>>2]|0; - $169 = ((($168)) + 8|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)!=(0|0); - if ($171) { - $172 = HEAP32[$pTerm>>2]|0; - $173 = ((($172)) + 12|0); - $174 = HEAP16[$173>>1]|0; - $175 = $174&65535; - $176 = $175 & 256; - $177 = ($176|0)==(0); - if ($177) { - $178 = HEAP32[$pWC>>2]|0; - $179 = HEAP32[$178>>2]|0; - $180 = HEAP32[$179>>2]|0; - HEAP32[$pParse>>2] = $180; - $181 = HEAP32[$pTerm>>2]|0; - $182 = HEAP32[$181>>2]|0; - HEAP32[$pX>>2] = $182; - $183 = HEAP32[$pX>>2]|0; - $184 = HEAP32[$1>>2]|0; - $185 = ((($184)) + 16|0); - $186 = HEAP8[$185>>0]|0; - $187 = (_sqlite3IndexAffinityOk($183,$186)|0); - $188 = ($187|0)!=(0); - if (!($188)) { - break; - } - $189 = HEAP32[$pParse>>2]|0; - $190 = HEAP32[$pX>>2]|0; - $191 = ((($190)) + 12|0); - $192 = HEAP32[$191>>2]|0; - $193 = HEAP32[$pX>>2]|0; - $194 = ((($193)) + 16|0); - $195 = HEAP32[$194>>2]|0; - $196 = (_sqlite3BinaryCompareCollSeq($189,$192,$195)|0); - HEAP32[$pColl>>2] = $196; - $197 = HEAP32[$pColl>>2]|0; - $198 = ($197|0)==(0|0); - if ($198) { - $199 = HEAP32[$pParse>>2]|0; - $200 = HEAP32[$199>>2]|0; - $201 = ((($200)) + 8|0); - $202 = HEAP32[$201>>2]|0; - HEAP32[$pColl>>2] = $202; - } - $203 = HEAP32[$pColl>>2]|0; - $204 = HEAP32[$203>>2]|0; - $205 = HEAP32[$1>>2]|0; - $206 = ((($205)) + 8|0); - $207 = HEAP32[$206>>2]|0; - $208 = (_sqlite3StrICmp($204,$207)|0); - $209 = ($208|0)!=(0); - if ($209) { - break; - } + $448 = HEAP32[$24>>2]|0; + $449 = HEAP32[$51>>2]|0; + $450 = ($449|0)<(0); + $451 = $450 ? 86 : 85; + $452 = HEAP32[$52>>2]|0; + $453 = HEAP32[$47>>2]|0; + $454 = HEAP32[$28>>2]|0; + $455 = (($453) + ($454))|0; + (_sqlite3VdbeAddOp2($448,$451,$452,$455)|0); + } + } while(0); + $456 = HEAP32[$28>>2]|0; + $457 = (($456) + 1)|0; + HEAP32[$28>>2] = $457; + } + $458 = HEAP32[$24>>2]|0; + $459 = HEAP32[$47>>2]|0; + $460 = HEAP32[$25>>2]|0; + $461 = ((($460)) + 52|0); + $462 = HEAP16[$461>>1]|0; + $463 = $462&65535; + $464 = HEAP32[$14>>2]|0; + $465 = HEAP32[$29>>2]|0; + $466 = (($464) + ($465<<2)|0); + $467 = HEAP32[$466>>2]|0; + (_sqlite3VdbeAddOp3($458,99,$459,$463,$467)|0); + $468 = HEAP32[$12>>2]|0; + $469 = HEAP32[$47>>2]|0; + $470 = HEAP32[$25>>2]|0; + $471 = ((($470)) + 52|0); + $472 = HEAP16[$471>>1]|0; + $473 = $472&65535; + _sqlite3ExprCacheAffinityChange($468,$469,$473); + $474 = HEAP8[$37>>0]|0; + $475 = $474&255; + $476 = ($475|0)!=(0); + if ($476) { + $477 = HEAP32[$26>>2]|0; + $478 = HEAP32[$25>>2]|0; + $479 = ($477|0)==($478|0); + if ($479) { + $480 = HEAP8[$19>>0]|0; + $481 = $480&255; + $482 = ($481|0)==(0); + if ($482) { + $483 = HEAP32[$24>>2]|0; + $484 = HEAP32[$50>>2]|0; + _sqlite3VdbeResolveLabel($483,$484); + break; + } + } + } + $485 = HEAP32[$25>>2]|0; + $486 = ((($485)) + 54|0); + $487 = HEAP8[$486>>0]|0; + $488 = $487&255; + HEAP32[$31>>2] = $488; + $489 = HEAP32[$31>>2]|0; + $490 = ($489|0)==(0); + if ($490) { + $491 = HEAP32[$12>>2]|0; + $492 = HEAP32[$47>>2]|0; + $493 = HEAP32[$25>>2]|0; + $494 = ((($493)) + 52|0); + $495 = HEAP16[$494>>1]|0; + $496 = $495&65535; + _sqlite3ReleaseTempRange($491,$492,$496); + $497 = HEAP32[$24>>2]|0; + $498 = HEAP32[$50>>2]|0; + _sqlite3VdbeResolveLabel($497,$498); + break; + } + $499 = HEAP8[$20>>0]|0; + $500 = $499&255; + $501 = ($500|0)!=(10); + if ($501) { + $502 = HEAP8[$20>>0]|0; + $503 = $502&255; + HEAP32[$31>>2] = $503; + } else { + $504 = HEAP32[$31>>2]|0; + $505 = ($504|0)==(10); + if ($505) { + HEAP32[$31>>2] = 2; + } + } + $506 = HEAP32[$24>>2]|0; + $507 = HEAP32[$49>>2]|0; + $508 = HEAP32[$50>>2]|0; + $509 = HEAP32[$47>>2]|0; + $510 = HEAP32[$25>>2]|0; + $511 = ((($510)) + 50|0); + $512 = HEAP16[$511>>1]|0; + $513 = $512&65535; + (_sqlite3VdbeAddOp4Int($506,29,$507,$508,$509,$513)|0); + $514 = HEAP32[$25>>2]|0; + $515 = HEAP32[$26>>2]|0; + $516 = ($514|0)==($515|0); + if ($516) { + $517 = HEAP32[$47>>2]|0; + $521 = $517; + } else { + $518 = HEAP32[$12>>2]|0; + $519 = HEAP32[$34>>2]|0; + $520 = (_sqlite3GetTempRange($518,$519)|0); + $521 = $520; + } + HEAP32[$48>>2] = $521; + $522 = HEAP8[$37>>0]|0; + $523 = $522&255; + $524 = ($523|0)!=(0); + $525 = HEAP32[$31>>2]|0; + $526 = ($525|0)==(5); + $or$cond3 = $524 | $526; + L137: do { + if ($or$cond3) { + $527 = HEAP32[$13>>2]|0; + $528 = ((($527)) + 42|0); + $529 = HEAP8[$528>>0]|0; + $530 = $529&255; + $531 = $530 & 32; + $532 = ($531|0)==(0); + if ($532) { + $533 = HEAP32[$24>>2]|0; + $534 = HEAP32[$49>>2]|0; + $535 = HEAP32[$48>>2]|0; + (_sqlite3VdbeAddOp2($533,129,$534,$535)|0); + $536 = HEAP8[$37>>0]|0; + $537 = ($536<<24>>24)!=(0); + if (!($537)) { + break; + } + $538 = HEAP32[$24>>2]|0; + $539 = HEAP32[$48>>2]|0; + $540 = HEAP32[$50>>2]|0; + $541 = HEAP32[$18>>2]|0; + (_sqlite3VdbeAddOp3($538,37,$539,$540,$541)|0); + $542 = HEAP32[$24>>2]|0; + _sqlite3VdbeChangeP5($542,-112); + break; + } + $543 = HEAP32[$25>>2]|0; + $544 = HEAP32[$26>>2]|0; + $545 = ($543|0)!=($544|0); + L143: do { + if ($545) { + HEAP32[$28>>2] = 0; + while(1) { + $546 = HEAP32[$28>>2]|0; + $547 = HEAP32[$26>>2]|0; + $548 = ((($547)) + 50|0); + $549 = HEAP16[$548>>1]|0; + $550 = $549&65535; + $551 = ($546|0)<($550|0); + if (!($551)) { + break L143; } + $552 = HEAP32[$25>>2]|0; + $553 = HEAP32[$26>>2]|0; + $554 = ((($553)) + 4|0); + $555 = HEAP32[$554>>2]|0; + $556 = HEAP32[$28>>2]|0; + $557 = (($555) + ($556<<1)|0); + $558 = HEAP16[$557>>1]|0; + $559 = (_sqlite3ColumnOfIndex($552,$558)|0); + $560 = $559 << 16 >> 16; + HEAP32[$53>>2] = $560; + $561 = HEAP32[$24>>2]|0; + $562 = HEAP32[$49>>2]|0; + $563 = HEAP32[$53>>2]|0; + $564 = HEAP32[$48>>2]|0; + $565 = HEAP32[$28>>2]|0; + $566 = (($564) + ($565))|0; + (_sqlite3VdbeAddOp3($561,96,$562,$563,$566)|0); + $567 = HEAP32[$28>>2]|0; + $568 = (($567) + 1)|0; + HEAP32[$28>>2] = $568; } - $210 = HEAP32[$pTerm>>2]|0; - $211 = ((($210)) + 12|0); - $212 = HEAP16[$211>>1]|0; - $213 = $212&65535; - $214 = $213 & 130; - $215 = ($214|0)!=(0); - if (!($215)) { - label = 36; - break L1; - } - $216 = HEAP32[$pTerm>>2]|0; - $217 = HEAP32[$216>>2]|0; - $218 = ((($217)) + 16|0); - $219 = HEAP32[$218>>2]|0; - HEAP32[$pX>>2] = $219; - $220 = HEAP8[$219>>0]|0; - $221 = $220&255; - $222 = ($221|0)==(152); - if (!($222)) { - label = 36; - break L1; - } - $223 = HEAP32[$pX>>2]|0; - $224 = ((($223)) + 28|0); - $225 = HEAP32[$224>>2]|0; - $226 = HEAP32[$1>>2]|0; - $227 = ((($226)) + 28|0); - $228 = HEAP32[$227>>2]|0; - $229 = ($225|0)==($228|0); - if (!($229)) { - label = 36; - break L1; + } + } while(0); + $569 = HEAP8[$37>>0]|0; + $570 = ($569<<24>>24)!=(0); + if ($570) { + $571 = HEAP32[$24>>2]|0; + $572 = (_sqlite3VdbeCurrentAddr($571)|0); + $573 = HEAP32[$26>>2]|0; + $574 = ((($573)) + 50|0); + $575 = HEAP16[$574>>1]|0; + $576 = $575&65535; + $577 = (($572) + ($576))|0; + HEAP32[$54>>2] = $577; + HEAP32[$55>>2] = 36; + $578 = HEAP32[$25>>2]|0; + $579 = ((($578)) + 55|0); + $580 = HEAP8[$579>>0]|0; + $581 = $580 & 3; + $582 = $581&255; + $583 = ($582|0)==(2); + $584 = HEAP32[$47>>2]|0; + $585 = HEAP32[$48>>2]|0; + $586 = $583 ? $584 : $585; + HEAP32[$56>>2] = $586; + HEAP32[$28>>2] = 0; + while(1) { + $587 = HEAP32[$28>>2]|0; + $588 = HEAP32[$26>>2]|0; + $589 = ((($588)) + 50|0); + $590 = HEAP16[$589>>1]|0; + $591 = $590&65535; + $592 = ($587|0)<($591|0); + if (!($592)) { + break L137; } - $230 = HEAP32[$pX>>2]|0; - $231 = ((($230)) + 32|0); - $232 = HEAP16[$231>>1]|0; - $233 = $232 << 16 >> 16; - $234 = HEAP32[$1>>2]|0; - $235 = ((($234)) + 72|0); - $236 = HEAP16[$235>>1]|0; - $237 = $236 << 16 >> 16; - $238 = ($233|0)==($237|0); - if (!($238)) { - label = 36; - break L1; + $593 = HEAP32[$12>>2]|0; + $594 = HEAP32[$26>>2]|0; + $595 = ((($594)) + 32|0); + $596 = HEAP32[$595>>2]|0; + $597 = HEAP32[$28>>2]|0; + $598 = (($596) + ($597<<2)|0); + $599 = HEAP32[$598>>2]|0; + $600 = (_sqlite3LocateCollSeq($593,$599)|0); + HEAP32[$57>>2] = $600; + $601 = HEAP32[$26>>2]|0; + $602 = ((($601)) + 4|0); + $603 = HEAP32[$602>>2]|0; + $604 = HEAP32[$28>>2]|0; + $605 = (($603) + ($604<<1)|0); + $606 = HEAP16[$605>>1]|0; + $607 = $606 << 16 >> 16; + HEAP32[$53>>2] = $607; + $608 = HEAP32[$28>>2]|0; + $609 = HEAP32[$26>>2]|0; + $610 = ((($609)) + 50|0); + $611 = HEAP16[$610>>1]|0; + $612 = $611&65535; + $613 = (($612) - 1)|0; + $614 = ($608|0)==($613|0); + if ($614) { + $615 = HEAP32[$50>>2]|0; + HEAP32[$54>>2] = $615; + HEAP32[$55>>2] = 37; } + $616 = HEAP32[$24>>2]|0; + $617 = HEAP32[$55>>2]|0; + $618 = HEAP32[$18>>2]|0; + $619 = (($618) + 1)|0; + $620 = HEAP32[$53>>2]|0; + $621 = (($619) + ($620))|0; + $622 = HEAP32[$54>>2]|0; + $623 = HEAP32[$56>>2]|0; + $624 = HEAP32[$28>>2]|0; + $625 = (($623) + ($624))|0; + $626 = HEAP32[$57>>2]|0; + (_sqlite3VdbeAddOp4($616,$617,$621,$622,$625,$626,-4)|0); + $627 = HEAP32[$24>>2]|0; + _sqlite3VdbeChangeP5($627,-112); + $628 = HEAP32[$28>>2]|0; + $629 = (($628) + 1)|0; + HEAP32[$28>>2] = $629; } } } } while(0); - $244 = HEAP32[$k>>2]|0; - $245 = (($244) + 1)|0; - HEAP32[$k>>2] = $245; - $246 = HEAP32[$pTerm>>2]|0; - $247 = ((($246)) + 48|0); - HEAP32[$pTerm>>2] = $247; + $630 = HEAP32[$31>>2]|0; + switch ($630|0) { + case 3: case 2: case 1: { + $631 = HEAP32[$12>>2]|0; + $632 = HEAP32[$31>>2]|0; + $633 = HEAP32[$25>>2]|0; + _sqlite3UniqueConstraint($631,$632,$633); + break; + } + case 4: { + $634 = HEAP32[$24>>2]|0; + $635 = HEAP32[$21>>2]|0; + (_sqlite3VdbeGoto($634,$635)|0); + break; + } + default: { + HEAP32[$58>>2] = 0; + $636 = HEAP32[$12>>2]|0; + _sqlite3MultiWrite($636); + $637 = HEAP32[$27>>2]|0; + $638 = ((($637)) + 24|0); + $639 = HEAP32[$638>>2]|0; + $640 = $639 & 262144; + $641 = ($640|0)!=(0); + if ($641) { + $642 = HEAP32[$12>>2]|0; + $643 = HEAP32[$13>>2]|0; + $644 = (_sqlite3TriggersExist($642,$643,109,0,0)|0); + HEAP32[$58>>2] = $644; + } + $645 = HEAP32[$12>>2]|0; + $646 = HEAP32[$13>>2]|0; + $647 = HEAP32[$58>>2]|0; + $648 = HEAP32[$15>>2]|0; + $649 = HEAP32[$16>>2]|0; + $650 = HEAP32[$48>>2]|0; + $651 = HEAP32[$34>>2]|0; + $652 = $651&65535; + $653 = HEAP32[$25>>2]|0; + $654 = HEAP32[$26>>2]|0; + $655 = ($653|0)==($654|0); + $656 = $655 ? 1 : 0; + $657 = $656&255; + _sqlite3GenerateRowDelete($645,$646,$647,$648,$649,$650,$652,0,5,$657,-1); + HEAP32[$33>>2] = 1; + } + } + $658 = HEAP32[$24>>2]|0; + $659 = HEAP32[$50>>2]|0; + _sqlite3VdbeResolveLabel($658,$659); + $660 = HEAP32[$12>>2]|0; + $661 = HEAP32[$47>>2]|0; + $662 = HEAP32[$25>>2]|0; + $663 = ((($662)) + 52|0); + $664 = HEAP16[$663>>1]|0; + $665 = $664&65535; + _sqlite3ReleaseTempRange($660,$661,$665); + $666 = HEAP32[$48>>2]|0; + $667 = HEAP32[$47>>2]|0; + $668 = ($666|0)!=($667|0); + if ($668) { + $669 = HEAP32[$12>>2]|0; + $670 = HEAP32[$48>>2]|0; + $671 = HEAP32[$34>>2]|0; + _sqlite3ReleaseTempRange($669,$670,$671); + } } - $248 = HEAP32[$1>>2]|0; - $249 = ((($248)) + 4|0); - $250 = HEAP32[$249>>2]|0; - $251 = ((($250)) + 4|0); - $252 = HEAP32[$251>>2]|0; - $253 = HEAP32[$1>>2]|0; - $254 = ((($253)) + 4|0); - HEAP32[$254>>2] = $252; - HEAP32[$k>>2] = 0; - } - $255 = HEAP32[$1>>2]|0; - $256 = HEAP32[$255>>2]|0; - $257 = HEAP32[$1>>2]|0; - $258 = ((($257)) + 4|0); - HEAP32[$258>>2] = $256; - HEAP32[$k>>2] = 0; - $259 = HEAP32[$1>>2]|0; - $260 = ((($259)) + 18|0); - $261 = HEAP8[$260>>0]|0; - $262 = (($261) + 1)<<24>>24; - HEAP8[$260>>0] = $262; - } - if ((label|0) == 5) { - HEAP32[$0>>2] = 0; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); - } - else if ((label|0) == 36) { - $239 = HEAP32[$k>>2]|0; - $240 = (($239) + 1)|0; - $241 = HEAP32[$1>>2]|0; - $242 = ((($241)) + 24|0); - HEAP32[$242>>2] = $240; - $243 = HEAP32[$pTerm>>2]|0; - HEAP32[$0>>2] = $243; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); - } - else if ((label|0) == 40) { - HEAP32[$0>>2] = 0; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); - } - return (0)|0; -} -function _sqlite3IndexAffinityOk($pExpr,$idx_affinity) { - $pExpr = $pExpr|0; - $idx_affinity = $idx_affinity|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aff = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - $2 = sp + 9|0; - $aff = sp + 8|0; - HEAP32[$1>>2] = $pExpr; - HEAP8[$2>>0] = $idx_affinity; - $3 = HEAP32[$1>>2]|0; - $4 = (_comparisonAffinity($3)|0); - HEAP8[$aff>>0] = $4; - $5 = HEAP8[$aff>>0]|0; - $6 = $5 << 24 >> 24; - switch ($6|0) { - case 65: { - HEAP32[$0>>2] = 1; - break; - } - case 66: { - $7 = HEAP8[$2>>0]|0; - $8 = $7 << 24 >> 24; - $9 = ($8|0)==(66); - $10 = $9&1; - HEAP32[$0>>2] = $10; - break; - } - default: { - $11 = HEAP8[$2>>0]|0; - $12 = $11 << 24 >> 24; - $13 = ($12|0)>=(67); - $14 = $13&1; - HEAP32[$0>>2] = $14; - } + } while(0); + $672 = HEAP32[$25>>2]|0; + $673 = ((($672)) + 20|0); + $674 = HEAP32[$673>>2]|0; + HEAP32[$25>>2] = $674; + $675 = HEAP32[$29>>2]|0; + $676 = (($675) + 1)|0; + HEAP32[$29>>2] = $676; + } + $677 = HEAP32[$35>>2]|0; + $678 = ($677|0)!=(0); + if (!($678)) { + $684 = HEAP32[$33>>2]|0; + $685 = HEAP32[$22>>2]|0; + HEAP32[$685>>2] = $684; + STACKTOP = sp;return; } - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); + $679 = HEAP32[$24>>2]|0; + $680 = HEAP32[$35>>2]|0; + $681 = (($680) + 1)|0; + (_sqlite3VdbeGoto($679,$681)|0); + $682 = HEAP32[$24>>2]|0; + $683 = HEAP32[$36>>2]|0; + _sqlite3VdbeJumpHere($682,$683); + $684 = HEAP32[$33>>2]|0; + $685 = HEAP32[$22>>2]|0; + HEAP32[$685>>2] = $684; + STACKTOP = sp;return; } -function _comparisonAffinity($pExpr) { - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aff = 0, label = 0, sp = 0; +function _sqlite3FkCheck($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $aff = sp + 4|0; - HEAP32[$0>>2] = $pExpr; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3ExprAffinity($3)|0); - HEAP8[$aff>>0] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = HEAP32[$0>>2]|0; - if ($8) { - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP8[$aff>>0]|0; - $13 = (_sqlite3CompareAffinity($11,$12)|0); - HEAP8[$aff>>0] = $13; - $30 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($30|0); - } - $14 = ((($9)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15 & 2048; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = HEAP8[$aff>>0]|0; - $26 = (_sqlite3CompareAffinity($24,$25)|0); - HEAP8[$aff>>0] = $26; - $30 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($30|0); - } - $27 = HEAP8[$aff>>0]|0; - $28 = $27 << 24 >> 24; - $29 = ($28|0)==(0); - if (!($29)) { - $30 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($30|0); + STACKTOP = STACKTOP + 112|0; + $6 = sp + 108|0; + $7 = sp + 104|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 92|0; + $11 = sp + 88|0; + $12 = sp + 84|0; + $13 = sp + 80|0; + $14 = sp + 76|0; + $15 = sp + 72|0; + $16 = sp + 68|0; + $17 = sp + 64|0; + $18 = sp + 60|0; + $19 = sp + 56|0; + $20 = sp + 52|0; + $21 = sp + 48|0; + $22 = sp + 44|0; + $23 = sp + 40|0; + $24 = sp + 36|0; + $25 = sp + 32|0; + $26 = sp + 28|0; + $27 = sp + 24|0; + $28 = sp + 20|0; + $29 = sp + 16|0; + $30 = sp + 12|0; + $31 = sp + 8|0; + $32 = sp + 4|0; + $33 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$34>>2]|0; + HEAP32[$12>>2] = $35; + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 150|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + HEAP32[$16>>2] = $39; + $40 = HEAP32[$12>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = $42 & 524288; + $44 = ($43|0)==(0); + if ($44) { + STACKTOP = sp;return; } - HEAP8[$aff>>0] = 65; - $30 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($30|0); -} -function _sqlite3ExprNeedsNoAffinityChange($p,$aff) { - $p = $p|0; - $aff = $aff|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0; - var $9 = 0, $op = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - $2 = sp + 9|0; - $op = sp + 8|0; - HEAP32[$1>>2] = $p; - HEAP8[$2>>0] = $aff; - $3 = HEAP8[$2>>0]|0; - $4 = $3 << 24 >> 24; - $5 = ($4|0)==(65); - L1: do { - if ($5) { - HEAP32[$0>>2] = 1; + $45 = HEAP32[$12>>2]|0; + $46 = HEAP32[$7>>2]|0; + $47 = ((($46)) + 64|0); + $48 = HEAP32[$47>>2]|0; + $49 = (_sqlite3SchemaToIndex($45,$48)|0); + HEAP32[$14>>2] = $49; + $50 = HEAP32[$12>>2]|0; + $51 = ((($50)) + 16|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$14>>2]|0; + $54 = (($52) + ($53<<4)|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$15>>2] = $55; + $56 = HEAP32[$7>>2]|0; + $57 = ((($56)) + 16|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$13>>2] = $58; + L4: while(1) { + $59 = HEAP32[$13>>2]|0; + $60 = ($59|0)!=(0|0); + if (!($60)) { + label = 39; + break; + } + HEAP32[$18>>2] = 0; + HEAP32[$19>>2] = 0; + HEAP32[$23>>2] = 0; + $61 = HEAP32[$10>>2]|0; + $62 = ($61|0)!=(0|0); + if ($62) { + $63 = HEAP32[$7>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$13>>2]|0; + $66 = ((($65)) + 8|0); + $67 = HEAP32[$66>>2]|0; + $68 = (_sqlite3_stricmp($64,$67)|0); + $69 = ($68|0)!=(0); + if ($69) { + $70 = HEAP32[$7>>2]|0; + $71 = HEAP32[$13>>2]|0; + $72 = HEAP32[$10>>2]|0; + $73 = HEAP32[$11>>2]|0; + $74 = (_fkChildIsModified($70,$71,$72,$73)|0); + $75 = ($74|0)==(0); + if (!($75)) { + label = 7; + } + } else { + label = 7; + } } else { - while(1) { - $6 = HEAP32[$1>>2]|0; - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(156); - if ($9) { - $60 = 1; + label = 7; + } + do { + if ((label|0) == 7) { + label = 0; + $76 = HEAP32[$6>>2]|0; + $77 = ((($76)) + 150|0); + $78 = HEAP8[$77>>0]|0; + $79 = ($78<<24>>24)!=(0); + if ($79) { + $80 = HEAP32[$12>>2]|0; + $81 = HEAP32[$13>>2]|0; + $82 = ((($81)) + 8|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$15>>2]|0; + $85 = (_sqlite3FindTable($80,$83,$84)|0); + HEAP32[$17>>2] = $85; } else { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(155); - $60 = $13; + $86 = HEAP32[$6>>2]|0; + $87 = HEAP32[$13>>2]|0; + $88 = ((($87)) + 8|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$15>>2]|0; + $91 = (_sqlite3LocateTable($86,0,$89,$90)|0); + HEAP32[$17>>2] = $91; } - $14 = HEAP32[$1>>2]|0; - if (!($60)) { - break; + $92 = HEAP32[$17>>2]|0; + $93 = ($92|0)!=(0|0); + if ($93) { + $94 = HEAP32[$6>>2]|0; + $95 = HEAP32[$17>>2]|0; + $96 = HEAP32[$13>>2]|0; + $97 = (_sqlite3FkLocateIndex($94,$95,$96,$18,$19)|0); + $98 = ($97|0)!=(0); + if (!($98)) { + $140 = HEAP32[$19>>2]|0; + $141 = ($140|0)!=(0|0); + if ($141) { + $142 = HEAP32[$19>>2]|0; + HEAP32[$20>>2] = $142; + } else { + $143 = HEAP32[$13>>2]|0; + $144 = ((($143)) + 36|0); + $145 = HEAP32[$144>>2]|0; + HEAP32[$21>>2] = $145; + HEAP32[$20>>2] = $21; + } + HEAP32[$22>>2] = 0; + while(1) { + $146 = HEAP32[$22>>2]|0; + $147 = HEAP32[$13>>2]|0; + $148 = ((($147)) + 20|0); + $149 = HEAP32[$148>>2]|0; + $150 = ($146|0)<($149|0); + if (!($150)) { + break; + } + $151 = HEAP32[$20>>2]|0; + $152 = HEAP32[$22>>2]|0; + $153 = (($151) + ($152<<2)|0); + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$7>>2]|0; + $156 = ((($155)) + 32|0); + $157 = HEAP16[$156>>1]|0; + $158 = $157 << 16 >> 16; + $159 = ($154|0)==($158|0); + if ($159) { + $160 = HEAP32[$20>>2]|0; + $161 = HEAP32[$22>>2]|0; + $162 = (($160) + ($161<<2)|0); + HEAP32[$162>>2] = -1; + } + $163 = HEAP32[$12>>2]|0; + $164 = ((($163)) + 296|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)!=(0|0); + if ($166) { + $167 = HEAP32[$17>>2]|0; + $168 = ((($167)) + 4|0); + $169 = HEAP32[$168>>2]|0; + $170 = HEAP32[$18>>2]|0; + $171 = ($170|0)!=(0|0); + if ($171) { + $172 = HEAP32[$18>>2]|0; + $173 = ((($172)) + 4|0); + $174 = HEAP32[$173>>2]|0; + $175 = HEAP32[$22>>2]|0; + $176 = (($174) + ($175<<1)|0); + $177 = HEAP16[$176>>1]|0; + $$sink = $177; + } else { + $178 = HEAP32[$17>>2]|0; + $179 = ((($178)) + 32|0); + $180 = HEAP16[$179>>1]|0; + $$sink = $180; + } + $181 = $$sink << 16 >> 16; + $182 = (($169) + ($181<<4)|0); + $183 = HEAP32[$182>>2]|0; + HEAP32[$28>>2] = $183; + $184 = HEAP32[$6>>2]|0; + $185 = HEAP32[$17>>2]|0; + $186 = HEAP32[$185>>2]|0; + $187 = HEAP32[$28>>2]|0; + $188 = HEAP32[$14>>2]|0; + $189 = (_sqlite3AuthReadCol($184,$186,$187,$188)|0); + HEAP32[$27>>2] = $189; + $190 = HEAP32[$27>>2]|0; + $191 = ($190|0)==(2); + $192 = $191&1; + HEAP32[$23>>2] = $192; + } + $193 = HEAP32[$22>>2]|0; + $194 = (($193) + 1)|0; + HEAP32[$22>>2] = $194; + } + $195 = HEAP32[$6>>2]|0; + $196 = HEAP32[$14>>2]|0; + $197 = HEAP32[$17>>2]|0; + $198 = ((($197)) + 28|0); + $199 = HEAP32[$198>>2]|0; + $200 = HEAP32[$17>>2]|0; + $201 = HEAP32[$200>>2]|0; + _sqlite3TableLock($195,$196,$199,0,$201); + $202 = HEAP32[$6>>2]|0; + $203 = ((($202)) + 40|0); + $204 = HEAP32[$203>>2]|0; + $205 = (($204) + 1)|0; + HEAP32[$203>>2] = $205; + $206 = HEAP32[$8>>2]|0; + $207 = ($206|0)!=(0); + if ($207) { + $208 = HEAP32[$6>>2]|0; + $209 = HEAP32[$14>>2]|0; + $210 = HEAP32[$17>>2]|0; + $211 = HEAP32[$18>>2]|0; + $212 = HEAP32[$13>>2]|0; + $213 = HEAP32[$20>>2]|0; + $214 = HEAP32[$8>>2]|0; + $215 = HEAP32[$23>>2]|0; + _fkLookupParent($208,$209,$210,$211,$212,$213,$214,-1,$215); + } + $216 = HEAP32[$9>>2]|0; + $217 = ($216|0)!=(0); + if ($217) { + $218 = HEAP32[$6>>2]|0; + $219 = HEAP32[$13>>2]|0; + $220 = (_isSetNullAction($218,$219)|0); + $221 = ($220|0)!=(0); + if (!($221)) { + $222 = HEAP32[$6>>2]|0; + $223 = HEAP32[$14>>2]|0; + $224 = HEAP32[$17>>2]|0; + $225 = HEAP32[$18>>2]|0; + $226 = HEAP32[$13>>2]|0; + $227 = HEAP32[$20>>2]|0; + $228 = HEAP32[$9>>2]|0; + $229 = HEAP32[$23>>2]|0; + _fkLookupParent($222,$223,$224,$225,$226,$227,$228,1,$229); + } + } + $230 = HEAP32[$12>>2]|0; + $231 = HEAP32[$19>>2]|0; + _sqlite3DbFree($230,$231); + break; + } } - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$1>>2] = $16; - } - $17 = HEAP8[$14>>0]|0; - HEAP8[$op>>0] = $17; - $18 = HEAP8[$op>>0]|0; - $19 = $18&255; - $20 = ($19|0)==(157); - if ($20) { - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 38|0); - $23 = HEAP8[$22>>0]|0; - HEAP8[$op>>0] = $23; - } - $24 = HEAP8[$op>>0]|0; - $25 = $24&255; - switch ($25|0) { - case 134: { - $26 = HEAP8[$2>>0]|0; - $27 = $26 << 24 >> 24; - $28 = ($27|0)==(68); - if ($28) { - $33 = 1; - } else { - $29 = HEAP8[$2>>0]|0; - $30 = $29 << 24 >> 24; - $31 = ($30|0)==(67); - $33 = $31; + $99 = HEAP32[$16>>2]|0; + $100 = ($99|0)!=(0); + if (!($100)) { + label = 59; + break L4; } - $32 = $33&1; - HEAP32[$0>>2] = $32; - break L1; - break; - } - case 132: { - $34 = HEAP8[$2>>0]|0; - $35 = $34 << 24 >> 24; - $36 = ($35|0)==(69); - if ($36) { - $41 = 1; - } else { - $37 = HEAP8[$2>>0]|0; - $38 = $37 << 24 >> 24; - $39 = ($38|0)==(67); - $41 = $39; + $101 = HEAP32[$12>>2]|0; + $102 = ((($101)) + 69|0); + $103 = HEAP8[$102>>0]|0; + $104 = $103&255; + $105 = ($104|0)!=(0); + if ($105) { + label = 59; + break L4; + } + $106 = HEAP32[$17>>2]|0; + $107 = ($106|0)==(0|0); + if ($107) { + $108 = HEAP32[$6>>2]|0; + $109 = (_sqlite3GetVdbe($108)|0); + HEAP32[$24>>2] = $109; + $110 = HEAP32[$24>>2]|0; + $111 = (_sqlite3VdbeCurrentAddr($110)|0); + $112 = HEAP32[$13>>2]|0; + $113 = ((($112)) + 20|0); + $114 = HEAP32[$113>>2]|0; + $115 = (($111) + ($114))|0; + $116 = (($115) + 1)|0; + HEAP32[$25>>2] = $116; + HEAP32[$22>>2] = 0; + while(1) { + $117 = HEAP32[$22>>2]|0; + $118 = HEAP32[$13>>2]|0; + $119 = ((($118)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($117|0)<($120|0); + if (!($121)) { + break; + } + $122 = HEAP32[$13>>2]|0; + $123 = ((($122)) + 36|0); + $124 = HEAP32[$22>>2]|0; + $125 = (($123) + ($124<<3)|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$8>>2]|0; + $128 = (($126) + ($127))|0; + $129 = (($128) + 1)|0; + HEAP32[$26>>2] = $129; + $130 = HEAP32[$24>>2]|0; + $131 = HEAP32[$26>>2]|0; + $132 = HEAP32[$25>>2]|0; + (_sqlite3VdbeAddOp2($130,34,$131,$132)|0); + $133 = HEAP32[$22>>2]|0; + $134 = (($133) + 1)|0; + HEAP32[$22>>2] = $134; + } + $135 = HEAP32[$24>>2]|0; + $136 = HEAP32[$13>>2]|0; + $137 = ((($136)) + 24|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + (_sqlite3VdbeAddOp2($135,144,$139,-1)|0); } - $40 = $41&1; - HEAP32[$0>>2] = $40; - break L1; - break; } - case 97: { - $42 = HEAP8[$2>>0]|0; - $43 = $42 << 24 >> 24; - $44 = ($43|0)==(66); - $45 = $44&1; - HEAP32[$0>>2] = $45; - break L1; + } while(0); + $232 = HEAP32[$13>>2]|0; + $233 = ((($232)) + 4|0); + $234 = HEAP32[$233>>2]|0; + HEAP32[$13>>2] = $234; + } + if ((label|0) == 39) { + $235 = HEAP32[$7>>2]|0; + $236 = (_sqlite3FkReferences($235)|0); + HEAP32[$13>>2] = $236; + L55: while(1) { + $237 = HEAP32[$13>>2]|0; + $238 = ($237|0)!=(0|0); + if (!($238)) { + label = 59; break; } - case 133: { - HEAP32[$0>>2] = 1; - break L1; - break; + HEAP32[$29>>2] = 0; + HEAP32[$31>>2] = 0; + $239 = HEAP32[$10>>2]|0; + $240 = ($239|0)!=(0|0); + if ($240) { + $241 = HEAP32[$7>>2]|0; + $242 = HEAP32[$13>>2]|0; + $243 = HEAP32[$10>>2]|0; + $244 = HEAP32[$11>>2]|0; + $245 = (_fkParentIsModified($241,$242,$243,$244)|0); + $246 = ($245|0)==(0); + if (!($246)) { + label = 43; + } + } else { + label = 43; } - case 152: { - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 32|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48 << 16 >> 16; - $50 = ($49|0)<(0); - if ($50) { - $51 = HEAP8[$2>>0]|0; - $52 = $51 << 24 >> 24; - $53 = ($52|0)==(68); - if ($53) { - $58 = 1; - } else { - $54 = HEAP8[$2>>0]|0; - $55 = $54 << 24 >> 24; - $56 = ($55|0)==(67); - $58 = $56; + do { + if ((label|0) == 43) { + label = 0; + $247 = HEAP32[$13>>2]|0; + $248 = ((($247)) + 24|0); + $249 = HEAP8[$248>>0]|0; + $250 = ($249<<24>>24)!=(0); + if (!($250)) { + $251 = HEAP32[$12>>2]|0; + $252 = ((($251)) + 24|0); + $253 = HEAP32[$252>>2]|0; + $254 = $253 & 33554432; + $255 = ($254|0)!=(0); + if (!($255)) { + $256 = HEAP32[$6>>2]|0; + $257 = ((($256)) + 124|0); + $258 = HEAP32[$257>>2]|0; + $259 = ($258|0)!=(0|0); + if (!($259)) { + $260 = HEAP32[$6>>2]|0; + $261 = ((($260)) + 20|0); + $262 = HEAP8[$261>>0]|0; + $263 = ($262<<24>>24)!=(0); + if (!($263)) { + break; + } + } + } } - } else { - $58 = 0; + $264 = HEAP32[$6>>2]|0; + $265 = HEAP32[$7>>2]|0; + $266 = HEAP32[$13>>2]|0; + $267 = (_sqlite3FkLocateIndex($264,$265,$266,$29,$31)|0); + $268 = ($267|0)!=(0); + if ($268) { + $269 = HEAP32[$16>>2]|0; + $270 = ($269|0)!=(0); + if (!($270)) { + label = 59; + break L55; + } + $271 = HEAP32[$12>>2]|0; + $272 = ((($271)) + 69|0); + $273 = HEAP8[$272>>0]|0; + $274 = $273&255; + $275 = ($274|0)!=(0); + if ($275) { + label = 59; + break L55; + } else { + break; + } + } + $276 = HEAP32[$12>>2]|0; + $277 = (_sqlite3SrcListAppend($276,0,0,0)|0); + HEAP32[$30>>2] = $277; + $278 = HEAP32[$30>>2]|0; + $279 = ($278|0)!=(0|0); + if ($279) { + $280 = HEAP32[$30>>2]|0; + $281 = ((($280)) + 8|0); + HEAP32[$32>>2] = $281; + $282 = HEAP32[$13>>2]|0; + $283 = HEAP32[$282>>2]|0; + $284 = HEAP32[$32>>2]|0; + $285 = ((($284)) + 16|0); + HEAP32[$285>>2] = $283; + $286 = HEAP32[$13>>2]|0; + $287 = HEAP32[$286>>2]|0; + $288 = HEAP32[$287>>2]|0; + $289 = HEAP32[$32>>2]|0; + $290 = ((($289)) + 8|0); + HEAP32[$290>>2] = $288; + $291 = HEAP32[$32>>2]|0; + $292 = ((($291)) + 16|0); + $293 = HEAP32[$292>>2]|0; + $294 = ((($293)) + 36|0); + $295 = HEAP16[$294>>1]|0; + $296 = (($295) + 1)<<16>>16; + HEAP16[$294>>1] = $296; + $297 = HEAP32[$6>>2]|0; + $298 = ((($297)) + 40|0); + $299 = HEAP32[$298>>2]|0; + $300 = (($299) + 1)|0; + HEAP32[$298>>2] = $300; + $301 = HEAP32[$32>>2]|0; + $302 = ((($301)) + 44|0); + HEAP32[$302>>2] = $299; + $303 = HEAP32[$9>>2]|0; + $304 = ($303|0)!=(0); + if ($304) { + $305 = HEAP32[$6>>2]|0; + $306 = HEAP32[$30>>2]|0; + $307 = HEAP32[$7>>2]|0; + $308 = HEAP32[$29>>2]|0; + $309 = HEAP32[$13>>2]|0; + $310 = HEAP32[$31>>2]|0; + $311 = HEAP32[$9>>2]|0; + _fkScanChildren($305,$306,$307,$308,$309,$310,$311,-1); + } + $312 = HEAP32[$8>>2]|0; + $313 = ($312|0)!=(0); + if ($313) { + $314 = HEAP32[$13>>2]|0; + $315 = ((($314)) + 25|0); + $316 = HEAP32[$10>>2]|0; + $317 = ($316|0)!=(0|0); + $318 = $317&1; + $319 = (($315) + ($318)|0); + $320 = HEAP8[$319>>0]|0; + $321 = $320&255; + HEAP32[$33>>2] = $321; + $322 = HEAP32[$6>>2]|0; + $323 = HEAP32[$30>>2]|0; + $324 = HEAP32[$7>>2]|0; + $325 = HEAP32[$29>>2]|0; + $326 = HEAP32[$13>>2]|0; + $327 = HEAP32[$31>>2]|0; + $328 = HEAP32[$8>>2]|0; + _fkScanChildren($322,$323,$324,$325,$326,$327,$328,1); + $329 = HEAP32[$13>>2]|0; + $330 = ((($329)) + 24|0); + $331 = HEAP8[$330>>0]|0; + $332 = ($331<<24>>24)==(0); + $333 = HEAP32[$33>>2]|0; + $334 = ($333|0)!=(9); + $or$cond = $332 & $334; + $335 = HEAP32[$33>>2]|0; + $336 = ($335|0)!=(7); + $or$cond3 = $or$cond & $336; + if ($or$cond3) { + $337 = HEAP32[$6>>2]|0; + _sqlite3MayAbort($337); + } + } + $338 = HEAP32[$32>>2]|0; + $339 = ((($338)) + 8|0); + HEAP32[$339>>2] = 0; + $340 = HEAP32[$12>>2]|0; + $341 = HEAP32[$30>>2]|0; + _sqlite3SrcListDelete($340,$341); + } + $342 = HEAP32[$12>>2]|0; + $343 = HEAP32[$31>>2]|0; + _sqlite3DbFree($342,$343); } - $57 = $58&1; - HEAP32[$0>>2] = $57; - break L1; - break; - } - default: { - HEAP32[$0>>2] = 0; - break L1; - } - } + } while(0); + $344 = HEAP32[$13>>2]|0; + $345 = ((($344)) + 12|0); + $346 = HEAP32[$345>>2]|0; + HEAP32[$13>>2] = $346; } - } while(0); - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); -} -function _sqlite3StrAccumAppendAll($p,$z) { - $p = $p|0; - $z = $z|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $z; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3Strlen30($4)|0); - _sqlite3StrAccumAppend($2,$3,$5); - STACKTOP = sp;return; -} -function _explainIndexRange($pStr,$pLoop) { - $pStr = $pStr|0; - $pLoop = $pLoop|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0, $j = 0, $nEq = 0, $nSkip = 0, $pIndex = 0, $vararg_buffer = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 24|0; - $1 = sp + 20|0; - $pIndex = sp + 16|0; - $nEq = sp + 30|0; - $nSkip = sp + 28|0; - $i = sp + 12|0; - $j = sp + 8|0; - $z = sp + 4|0; - HEAP32[$0>>2] = $pStr; - HEAP32[$1>>2] = $pLoop; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 24|0); - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pIndex>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 24|0); - $8 = HEAP16[$7>>1]|0; - HEAP16[$nEq>>1] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 42|0); - $11 = HEAP16[$10>>1]|0; - HEAP16[$nSkip>>1] = $11; - $12 = HEAP16[$nEq>>1]|0; - $13 = $12&65535; - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 36|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & 48; - $19 = ($18|0)==(0); - if ($19) { + if ((label|0) == 59) { STACKTOP = sp;return; } } - $20 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($20,34684,2); - HEAP32[$i>>2] = 0; + else if ((label|0) == 59) { + STACKTOP = sp;return; + } +} +function _sqlite3CompleteInsertion($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $9 = sp + 52|0; + $10 = sp + 48|0; + $11 = sp + 44|0; + $12 = sp + 40|0; + $13 = sp + 36|0; + $14 = sp + 32|0; + $15 = sp + 28|0; + $16 = sp + 24|0; + $17 = sp + 20|0; + $18 = sp + 16|0; + $19 = sp + 12|0; + $20 = sp + 57|0; + $21 = sp + 8|0; + $22 = sp + 4|0; + $23 = sp; + $24 = sp + 56|0; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + HEAP32[$12>>2] = $3; + HEAP32[$13>>2] = $4; + HEAP32[$14>>2] = $5; + HEAP32[$15>>2] = $6; + HEAP32[$16>>2] = $7; + HEAP32[$17>>2] = $8; + HEAP8[$24>>0] = 0; + $25 = HEAP32[$9>>2]|0; + $26 = (_sqlite3GetVdbe($25)|0); + HEAP32[$18>>2] = $26; + HEAP32[$23>>2] = 0; + $27 = HEAP32[$10>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$19>>2] = $29; while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP16[$nEq>>1]|0; - $23 = $22&65535; - $24 = ($21|0)<($23|0); - if (!($24)) { + $30 = HEAP32[$19>>2]|0; + $31 = ($30|0)!=(0|0); + if (!($31)) { break; } - $25 = HEAP32[$pIndex>>2]|0; - $26 = HEAP32[$i>>2]|0; - $27 = (_explainIndexColumnName($25,$26)|0); - HEAP32[$z>>2] = $27; - $28 = HEAP32[$i>>2]|0; - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($30,34687,5); + $32 = HEAP32[$14>>2]|0; + $33 = HEAP32[$23>>2]|0; + $34 = (($32) + ($33<<2)|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0); + if (!($36)) { + HEAP8[$24>>0] = 1; + $37 = HEAP32[$19>>2]|0; + $38 = ((($37)) + 36|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)!=(0|0); + if ($40) { + $41 = HEAP32[$18>>2]|0; + $42 = HEAP32[$14>>2]|0; + $43 = HEAP32[$23>>2]|0; + $44 = (($42) + ($43<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$18>>2]|0; + $47 = (_sqlite3VdbeCurrentAddr($46)|0); + $48 = (($47) + 2)|0; + (_sqlite3VdbeAddOp2($41,34,$45,$48)|0); + } + $49 = HEAP32[$18>>2]|0; + $50 = HEAP32[$12>>2]|0; + $51 = HEAP32[$23>>2]|0; + $52 = (($50) + ($51))|0; + $53 = HEAP32[$14>>2]|0; + $54 = HEAP32[$23>>2]|0; + $55 = (($53) + ($54<<2)|0); + $56 = HEAP32[$55>>2]|0; + (_sqlite3VdbeAddOp2($49,126,$52,$56)|0); + HEAP8[$20>>0] = 0; + $57 = HEAP32[$17>>2]|0; + $58 = ($57|0)!=(0); + $$ = $58 ? 16 : 0; + HEAP8[$20>>0] = $$; + $59 = HEAP32[$19>>2]|0; + $60 = ((($59)) + 55|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61 & 3; + $63 = $62&255; + $64 = ($63|0)==(2); + if ($64) { + $65 = HEAP32[$10>>2]|0; + $66 = ((($65)) + 42|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $68 & 32; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = HEAP8[$20>>0]|0; + $72 = $71&255; + $73 = $72 | 1; + $74 = $73&255; + HEAP8[$20>>0] = $74; + } + } + $75 = HEAP32[$18>>2]|0; + $76 = HEAP8[$20>>0]|0; + _sqlite3VdbeChangeP5($75,$76); } - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$i>>2]|0; - $33 = HEAP16[$nSkip>>1]|0; - $34 = $33&65535; - $35 = ($32|0)>=($34|0); - $36 = $35 ? 34693 : 34698; - $37 = HEAP32[$z>>2]|0; - HEAP32[$vararg_buffer>>2] = $37; - _sqlite3XPrintf($31,$36,$vararg_buffer); - $38 = HEAP32[$i>>2]|0; - $39 = (($38) + 1)|0; - HEAP32[$i>>2] = $39; + $77 = HEAP32[$19>>2]|0; + $78 = ((($77)) + 20|0); + $79 = HEAP32[$78>>2]|0; + HEAP32[$19>>2] = $79; + $80 = HEAP32[$23>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$23>>2] = $81; } - $40 = HEAP32[$i>>2]|0; - HEAP32[$j>>2] = $40; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 36|0); - $43 = HEAP32[$42>>2]|0; - $44 = $43 & 32; - $45 = ($44|0)!=(0); - if ($45) { - $46 = HEAP32[$0>>2]|0; - $47 = HEAP32[$pIndex>>2]|0; - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 24|0); - $50 = ((($49)) + 2|0); - $51 = HEAP16[$50>>1]|0; - $52 = $51&65535; - $53 = HEAP32[$j>>2]|0; - $54 = HEAP32[$i>>2]|0; - _explainAppendTerm($46,$47,$52,$53,$54,34615); - HEAP32[$i>>2] = 1; + $82 = HEAP32[$10>>2]|0; + $83 = ((($82)) + 42|0); + $84 = HEAP8[$83>>0]|0; + $85 = $84&255; + $86 = $85 & 32; + $87 = ($86|0)==(0); + if (!($87)) { + STACKTOP = sp;return; } - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 36|0); - $57 = HEAP32[$56>>2]|0; - $58 = $57 & 16; - $59 = ($58|0)!=(0); - if ($59) { - $60 = HEAP32[$0>>2]|0; - $61 = HEAP32[$pIndex>>2]|0; - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 24|0); - $64 = ((($63)) + 4|0); - $65 = HEAP16[$64>>1]|0; - $66 = $65&65535; - $67 = HEAP32[$j>>2]|0; - $68 = HEAP32[$i>>2]|0; - _explainAppendTerm($60,$61,$66,$67,$68,34617); + $88 = HEAP32[$13>>2]|0; + $89 = (($88) + 1)|0; + HEAP32[$21>>2] = $89; + $90 = HEAP32[$9>>2]|0; + $91 = (_sqlite3GetTempReg($90)|0); + HEAP32[$22>>2] = $91; + $92 = HEAP32[$18>>2]|0; + $93 = HEAP32[$21>>2]|0; + $94 = HEAP32[$10>>2]|0; + $95 = ((($94)) + 34|0); + $96 = HEAP16[$95>>1]|0; + $97 = $96 << 16 >> 16; + $98 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp3($92,99,$93,$97,$98)|0); + $99 = HEAP8[$24>>0]|0; + $100 = ($99<<24>>24)!=(0); + if (!($100)) { + $101 = HEAP32[$18>>2]|0; + $102 = HEAP32[$10>>2]|0; + _sqlite3TableAffinity($101,$102,0); + } + $103 = HEAP32[$9>>2]|0; + $104 = HEAP32[$21>>2]|0; + $105 = HEAP32[$10>>2]|0; + $106 = ((($105)) + 34|0); + $107 = HEAP16[$106>>1]|0; + $108 = $107 << 16 >> 16; + _sqlite3ExprCacheAffinityChange($103,$104,$108); + $109 = HEAP32[$9>>2]|0; + $110 = ((($109)) + 18|0); + $111 = HEAP8[$110>>0]|0; + $112 = ($111<<24>>24)!=(0); + if ($112) { + HEAP8[$20>>0] = 0; + } else { + HEAP8[$20>>0] = 1; + $113 = HEAP32[$15>>2]|0; + $114 = ($113|0)!=(0); + $115 = $114 ? 4 : 2; + $116 = HEAP8[$20>>0]|0; + $117 = $116&255; + $118 = $117 | $115; + $119 = $118&255; + HEAP8[$20>>0] = $119; + } + $120 = HEAP32[$16>>2]|0; + $121 = ($120|0)!=(0); + if ($121) { + $122 = HEAP8[$20>>0]|0; + $123 = $122&255; + $124 = $123 | 8; + $125 = $124&255; + HEAP8[$20>>0] = $125; } - $69 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($69,34706,1); - STACKTOP = sp;return; -} -function _explainIndexColumnName($pIdx,$i) { - $pIdx = $pIdx|0; - $i = $i|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + $126 = HEAP32[$17>>2]|0; + $127 = ($126|0)!=(0); + if ($127) { + $128 = HEAP8[$20>>0]|0; + $129 = $128&255; + $130 = $129 | 16; + $131 = $130&255; + HEAP8[$20>>0] = $131; + } + $132 = HEAP32[$18>>2]|0; + $133 = HEAP32[$11>>2]|0; + $134 = HEAP32[$22>>2]|0; + $135 = HEAP32[$13>>2]|0; + (_sqlite3VdbeAddOp3($132,115,$133,$134,$135)|0); + $136 = HEAP32[$9>>2]|0; + $137 = ((($136)) + 18|0); + $138 = HEAP8[$137>>0]|0; + $139 = ($138<<24>>24)!=(0); + if (!($139)) { + $140 = HEAP32[$18>>2]|0; + $141 = HEAP32[$10>>2]|0; + _sqlite3VdbeChangeP4($140,-1,$141,-20); + } + $142 = HEAP32[$18>>2]|0; + $143 = HEAP8[$20>>0]|0; + _sqlite3VdbeChangeP5($142,$143); + STACKTOP = sp;return; +} +function _sqlite3AutoincrementEnd($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pIdx; - HEAP32[$2>>2] = $i; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($3<<1)|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8 << 16 >> 16; - HEAP32[$2>>2] = $9; - $10 = HEAP32[$2>>2]|0; - $11 = ($10|0)==(-2); - if ($11) { - HEAP32[$0>>2] = 34712; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); - } - $12 = HEAP32[$2>>2]|0; - $13 = ($12|0)==(-1); - if ($13) { - HEAP32[$0>>2] = 24745; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); - } else { - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + ($14<<4)|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$0>>2] = $21; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 120|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; } - return (0)|0; + $6 = HEAP32[$1>>2]|0; + _autoIncrementEnd($6); + STACKTOP = sp;return; } -function _explainAppendTerm($pStr,$pIdx,$nTerm,$iTerm,$bAnd,$zOp) { - $pStr = $pStr|0; - $pIdx = $pIdx|0; - $nTerm = $nTerm|0; - $iTerm = $iTerm|0; - $bAnd = $bAnd|0; - $zOp = $zOp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; +function _autoIncrementEnd($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pStr; - HEAP32[$1>>2] = $pIdx; - HEAP32[$2>>2] = $nTerm; - HEAP32[$3>>2] = $iTerm; - HEAP32[$4>>2] = $bAnd; - HEAP32[$5>>2] = $zOp; - $6 = HEAP32[$4>>2]|0; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($8,34687,5); - } - $9 = HEAP32[$2>>2]|0; - $10 = ($9|0)>(1); - if ($10) { - $11 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($11,34708,1); - } - HEAP32[$i>>2] = 0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$1>>2] = $0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $11; + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $13; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 120|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$2>>2] = $16; while(1) { - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ($12|0)<($13|0); - if (!($14)) { + $17 = HEAP32[$2>>2]|0; + $18 = ($17|0)!=(0|0); + if (!($18)) { + label = 5; break; } - $15 = HEAP32[$i>>2]|0; - $16 = ($15|0)!=(0); - if ($16) { - $17 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($17,34710,1); - } - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$3>>2]|0; - $21 = HEAP32[$i>>2]|0; - $22 = (($20) + ($21))|0; - $23 = (_explainIndexColumnName($19,$22)|0); - _sqlite3StrAccumAppendAll($18,$23); - $24 = HEAP32[$i>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$i>>2] = $25; - } - $26 = HEAP32[$2>>2]|0; - $27 = ($26|0)>(1); - if ($27) { - $28 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($28,34706,1); - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$5>>2]|0; - _sqlite3StrAccumAppend($29,$30,1); - $31 = HEAP32[$2>>2]|0; - $32 = ($31|0)>(1); - if ($32) { - $33 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($33,34708,1); - } - HEAP32[$i>>2] = 0; - while(1) { - $34 = HEAP32[$i>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = ($34|0)<($35|0); - if (!($36)) { + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($21) + ($24<<4)|0); + HEAP32[$6>>2] = $25; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$8>>2] = $28; + $29 = HEAP32[$1>>2]|0; + $30 = (_sqlite3GetTempReg($29)|0); + HEAP32[$7>>2] = $30; + $31 = HEAP32[$1>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 72|0); + $39 = HEAP32[$38>>2]|0; + _sqlite3OpenTable($31,0,$34,$39,105); + $40 = HEAP32[$3>>2]|0; + $41 = (_sqlite3VdbeAddOpList($40,5,34000,0)|0); + HEAP32[$5>>2] = $41; + $42 = HEAP32[$5>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + label = 5; break; } - $37 = HEAP32[$i>>2]|0; - $38 = ($37|0)!=(0); - if ($38) { - $39 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($39,34710,1); - } - $40 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($40,20275,1); - $41 = HEAP32[$i>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$i>>2] = $42; + $44 = HEAP32[$8>>2]|0; + $45 = (($44) + 1)|0; + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 4|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$8>>2]|0; + $49 = (($48) + 1)|0; + $50 = HEAP32[$5>>2]|0; + $51 = ((($50)) + 20|0); + $52 = ((($51)) + 8|0); + HEAP32[$52>>2] = $49; + $53 = HEAP32[$8>>2]|0; + $54 = (($53) - 1)|0; + $55 = HEAP32[$5>>2]|0; + $56 = ((($55)) + 40|0); + $57 = ((($56)) + 4|0); + HEAP32[$57>>2] = $54; + $58 = HEAP32[$7>>2]|0; + $59 = HEAP32[$5>>2]|0; + $60 = ((($59)) + 40|0); + $61 = ((($60)) + 12|0); + HEAP32[$61>>2] = $58; + $62 = HEAP32[$7>>2]|0; + $63 = HEAP32[$5>>2]|0; + $64 = ((($63)) + 60|0); + $65 = ((($64)) + 8|0); + HEAP32[$65>>2] = $62; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + 1)|0; + $68 = HEAP32[$5>>2]|0; + $69 = ((($68)) + 60|0); + $70 = ((($69)) + 12|0); + HEAP32[$70>>2] = $67; + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + 60|0); + $73 = ((($72)) + 3|0); + HEAP8[$73>>0] = 8; + $74 = HEAP32[$1>>2]|0; + $75 = HEAP32[$7>>2]|0; + _sqlite3ReleaseTempReg($74,$75); + $76 = HEAP32[$2>>2]|0; + $77 = HEAP32[$76>>2]|0; + HEAP32[$2>>2] = $77; } - $43 = HEAP32[$2>>2]|0; - $44 = ($43|0)>(1); - if (!($44)) { + if ((label|0) == 5) { STACKTOP = sp;return; } - $45 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($45,34706,1); - STACKTOP = sp;return; -} -function _sqlite3ExprIsTableConstant($p,$iCur) { - $p = $p|0; - $iCur = $iCur|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iCur; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_exprIsConst($2,3,$3)|0); - STACKTOP = sp;return ($4|0); } -function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { - $pTerm = $pTerm|0; - $pSrc = $pSrc|0; +function _fkChildIsModified($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0; - var $9 = 0, $aff = 0, label = 0, sp = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp; - $aff = sp + 20|0; - HEAP32[$3>>2] = $pTerm; - HEAP32[$4>>2] = $pSrc; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - $10 = HEAP32[$3>>2]|0; - $11 = ((($10)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$4>>2]|0; - $14 = ((($13)) + 44|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($12|0)!=($15|0); - if ($16) { - HEAP32[$2>>2] = 0; - $62 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($62|0); - } - $17 = HEAP32[$3>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 & 130; - $22 = ($21|0)==(0); - if ($22) { - HEAP32[$2>>2] = 0; - $62 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($62|0); + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = 0; + while(1) { + $11 = HEAP32[$9>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($11|0)<($14|0); + if (!($15)) { + label = 8; + break; + } + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 36|0); + $18 = HEAP32[$9>>2]|0; + $19 = (($17) + ($18<<3)|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$10>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$10>>2]|0; + $23 = (($21) + ($22<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)>=(0); + if ($25) { + label = 4; + break; + } + $26 = HEAP32[$10>>2]|0; + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 32|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29 << 16 >> 16; + $31 = ($26|0)==($30|0); + $32 = HEAP32[$8>>2]|0; + $33 = ($32|0)!=(0); + $or$cond = $31 & $33; + if ($or$cond) { + label = 6; + break; + } + $34 = HEAP32[$9>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$9>>2] = $35; } - $23 = HEAP32[$3>>2]|0; - $24 = ((($23)) + 32|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = $5; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = $27 & $33; - $38 = $30 & $36; - $39 = ($37|0)!=(0); - $40 = ($38|0)!=(0); - $41 = $39 | $40; - if ($41) { - HEAP32[$2>>2] = 0; - $62 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($62|0); + if ((label|0) == 4) { + HEAP32[$4>>2] = 1; + $36 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($36|0); } - $42 = HEAP32[$3>>2]|0; - $43 = ((($42)) + 28|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)<(0); - if ($45) { - HEAP32[$2>>2] = 0; - $62 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($62|0); + else if ((label|0) == 6) { + HEAP32[$4>>2] = 1; + $36 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($36|0); } - $46 = HEAP32[$3>>2]|0; - $47 = ((($46)) + 28|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$4>>2]|0; - $50 = ((($49)) + 16|0); - $51 = HEAP32[$50>>2]|0; - $52 = ((($51)) + 4|0); - $53 = HEAP32[$52>>2]|0; - $54 = (($53) + ($48<<4)|0); - $55 = ((($54)) + 13|0); - $56 = HEAP8[$55>>0]|0; - HEAP8[$aff>>0] = $56; - $57 = HEAP32[$3>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = HEAP8[$aff>>0]|0; - $60 = (_sqlite3IndexAffinityOk($58,$59)|0); - $61 = ($60|0)!=(0); - if ($61) { - HEAP32[$2>>2] = 1; - $62 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($62|0); - } else { - HEAP32[$2>>2] = 0; - $62 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($62|0); + else if ((label|0) == 8) { + HEAP32[$4>>2] = 0; + $36 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($36|0); } return (0)|0; } -function _whereLoopResize($db,$p,$n) { - $db = $db|0; - $p = $p|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $paNew = 0, label = 0, sp = 0; +function _fkLookupParent($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $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$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $paNew = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $n; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 44|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = HEAP32[$3>>2]|0; - $9 = ($7|0)>=($8|0); - if ($9) { - HEAP32[$0>>2] = 0; - $45 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($45|0); + STACKTOP = STACKTOP + 96|0; + $9 = sp + 84|0; + $10 = sp + 80|0; + $11 = sp + 76|0; + $12 = sp + 72|0; + $13 = sp + 68|0; + $14 = sp + 64|0; + $15 = sp + 60|0; + $16 = sp + 56|0; + $17 = sp + 52|0; + $18 = sp + 48|0; + $19 = sp + 44|0; + $20 = sp + 40|0; + $21 = sp + 36|0; + $22 = sp + 32|0; + $23 = sp + 28|0; + $24 = sp + 24|0; + $25 = sp + 20|0; + $26 = sp + 16|0; + $27 = sp + 12|0; + $28 = sp + 8|0; + $29 = sp + 4|0; + $30 = sp; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + HEAP32[$12>>2] = $3; + HEAP32[$13>>2] = $4; + HEAP32[$14>>2] = $5; + HEAP32[$15>>2] = $6; + HEAP32[$16>>2] = $7; + HEAP32[$17>>2] = $8; + $31 = HEAP32[$9>>2]|0; + $32 = (_sqlite3GetVdbe($31)|0); + HEAP32[$19>>2] = $32; + $33 = HEAP32[$9>>2]|0; + $34 = ((($33)) + 40|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) - 1)|0; + HEAP32[$20>>2] = $36; + $37 = HEAP32[$19>>2]|0; + $38 = (_sqlite3VdbeMakeLabel($37)|0); + HEAP32[$21>>2] = $38; + $39 = HEAP32[$16>>2]|0; + $40 = ($39|0)<(0); + if ($40) { + $41 = HEAP32[$19>>2]|0; + $42 = HEAP32[$13>>2]|0; + $43 = ((($42)) + 24|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = HEAP32[$21>>2]|0; + (_sqlite3VdbeAddOp2($41,65,$45,$46)|0); } - $10 = HEAP32[$3>>2]|0; - $11 = (($10) + 7)|0; - $12 = $11 & -8; - HEAP32[$3>>2] = $12; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$3>>2]|0; - $15 = $14<<2; - $16 = (_sqlite3DbMallocRawNN($13,$15,0)|0); - HEAP32[$paNew>>2] = $16; - $17 = HEAP32[$paNew>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - HEAP32[$0>>2] = 7; - $45 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($45|0); + HEAP32[$18>>2] = 0; + while(1) { + $47 = HEAP32[$18>>2]|0; + $48 = HEAP32[$13>>2]|0; + $49 = ((($48)) + 20|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($47|0)<($50|0); + if (!($51)) { + break; + } + $52 = HEAP32[$14>>2]|0; + $53 = HEAP32[$18>>2]|0; + $54 = (($52) + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$15>>2]|0; + $57 = (($55) + ($56))|0; + $58 = (($57) + 1)|0; + HEAP32[$22>>2] = $58; + $59 = HEAP32[$19>>2]|0; + $60 = HEAP32[$22>>2]|0; + $61 = HEAP32[$21>>2]|0; + (_sqlite3VdbeAddOp2($59,34,$60,$61)|0); + $62 = HEAP32[$18>>2]|0; + $63 = (($62) + 1)|0; + HEAP32[$18>>2] = $63; } - $19 = HEAP32[$paNew>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 44|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = $26<<2; - _memcpy(($19|0),($22|0),($27|0))|0; - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 48|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$2>>2]|0; - $32 = ((($31)) + 56|0); - $33 = ($30|0)!=($32|0); - if ($33) { - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 48|0); - $37 = HEAP32[$36>>2]|0; - _sqlite3DbFree($34,$37); + $64 = HEAP32[$17>>2]|0; + $65 = ($64|0)==(0); + do { + if ($65) { + $66 = HEAP32[$12>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + $68 = HEAP32[$9>>2]|0; + $69 = (_sqlite3GetTempReg($68)|0); + HEAP32[$24>>2] = $69; + $70 = HEAP32[$19>>2]|0; + $71 = HEAP32[$14>>2]|0; + $72 = HEAP32[$71>>2]|0; + $73 = (($72) + 1)|0; + $74 = HEAP32[$15>>2]|0; + $75 = (($73) + ($74))|0; + $76 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp2($70,85,$75,$76)|0); + $77 = HEAP32[$19>>2]|0; + $78 = HEAP32[$24>>2]|0; + $79 = (_sqlite3VdbeAddOp2($77,17,$78,0)|0); + HEAP32[$23>>2] = $79; + $80 = HEAP32[$11>>2]|0; + $81 = HEAP32[$13>>2]|0; + $82 = HEAP32[$81>>2]|0; + $83 = ($80|0)==($82|0); + $84 = HEAP32[$16>>2]|0; + $85 = ($84|0)==(1); + $or$cond = $83 & $85; + if ($or$cond) { + $86 = HEAP32[$19>>2]|0; + $87 = HEAP32[$15>>2]|0; + $88 = HEAP32[$21>>2]|0; + $89 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp3($86,37,$87,$88,$89)|0); + $90 = HEAP32[$19>>2]|0; + _sqlite3VdbeChangeP5($90,-112); + } + $91 = HEAP32[$9>>2]|0; + $92 = HEAP32[$20>>2]|0; + $93 = HEAP32[$10>>2]|0; + $94 = HEAP32[$11>>2]|0; + _sqlite3OpenTable($91,$92,$93,$94,104); + $95 = HEAP32[$19>>2]|0; + $96 = HEAP32[$20>>2]|0; + $97 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp3($95,33,$96,0,$97)|0); + $98 = HEAP32[$19>>2]|0; + $99 = HEAP32[$21>>2]|0; + (_sqlite3VdbeGoto($98,$99)|0); + $100 = HEAP32[$19>>2]|0; + $101 = HEAP32[$19>>2]|0; + $102 = (_sqlite3VdbeCurrentAddr($101)|0); + $103 = (($102) - 2)|0; + _sqlite3VdbeJumpHere($100,$103); + $104 = HEAP32[$19>>2]|0; + $105 = HEAP32[$23>>2]|0; + _sqlite3VdbeJumpHere($104,$105); + $106 = HEAP32[$9>>2]|0; + $107 = HEAP32[$24>>2]|0; + _sqlite3ReleaseTempReg($106,$107); + break; + } + $108 = HEAP32[$13>>2]|0; + $109 = ((($108)) + 20|0); + $110 = HEAP32[$109>>2]|0; + HEAP32[$25>>2] = $110; + $111 = HEAP32[$9>>2]|0; + $112 = HEAP32[$25>>2]|0; + $113 = (_sqlite3GetTempRange($111,$112)|0); + HEAP32[$26>>2] = $113; + $114 = HEAP32[$9>>2]|0; + $115 = (_sqlite3GetTempReg($114)|0); + HEAP32[$27>>2] = $115; + $116 = HEAP32[$19>>2]|0; + $117 = HEAP32[$20>>2]|0; + $118 = HEAP32[$12>>2]|0; + $119 = ((($118)) + 44|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$10>>2]|0; + (_sqlite3VdbeAddOp3($116,104,$117,$120,$121)|0); + $122 = HEAP32[$9>>2]|0; + $123 = HEAP32[$12>>2]|0; + _sqlite3VdbeSetP4KeyInfo($122,$123); + HEAP32[$18>>2] = 0; + while(1) { + $124 = HEAP32[$18>>2]|0; + $125 = HEAP32[$25>>2]|0; + $126 = ($124|0)<($125|0); + if (!($126)) { + break; + } + $127 = HEAP32[$19>>2]|0; + $128 = HEAP32[$14>>2]|0; + $129 = HEAP32[$18>>2]|0; + $130 = (($128) + ($129<<2)|0); + $131 = HEAP32[$130>>2]|0; + $132 = (($131) + 1)|0; + $133 = HEAP32[$15>>2]|0; + $134 = (($132) + ($133))|0; + $135 = HEAP32[$26>>2]|0; + $136 = HEAP32[$18>>2]|0; + $137 = (($135) + ($136))|0; + (_sqlite3VdbeAddOp2($127,84,$134,$137)|0); + $138 = HEAP32[$18>>2]|0; + $139 = (($138) + 1)|0; + HEAP32[$18>>2] = $139; + } + $140 = HEAP32[$11>>2]|0; + $141 = HEAP32[$13>>2]|0; + $142 = HEAP32[$141>>2]|0; + $143 = ($140|0)==($142|0); + $144 = HEAP32[$16>>2]|0; + $145 = ($144|0)==(1); + $or$cond3 = $143 & $145; + if ($or$cond3) { + $146 = HEAP32[$19>>2]|0; + $147 = (_sqlite3VdbeCurrentAddr($146)|0); + $148 = HEAP32[$25>>2]|0; + $149 = (($147) + ($148))|0; + $150 = (($149) + 1)|0; + HEAP32[$28>>2] = $150; + HEAP32[$18>>2] = 0; + while(1) { + $151 = HEAP32[$18>>2]|0; + $152 = HEAP32[$25>>2]|0; + $153 = ($151|0)<($152|0); + if (!($153)) { + break; + } + $154 = HEAP32[$14>>2]|0; + $155 = HEAP32[$18>>2]|0; + $156 = (($154) + ($155<<2)|0); + $157 = HEAP32[$156>>2]|0; + $158 = (($157) + 1)|0; + $159 = HEAP32[$15>>2]|0; + $160 = (($158) + ($159))|0; + HEAP32[$29>>2] = $160; + $161 = HEAP32[$12>>2]|0; + $162 = ((($161)) + 4|0); + $163 = HEAP32[$162>>2]|0; + $164 = HEAP32[$18>>2]|0; + $165 = (($163) + ($164<<1)|0); + $166 = HEAP16[$165>>1]|0; + $167 = $166 << 16 >> 16; + $168 = (($167) + 1)|0; + $169 = HEAP32[$15>>2]|0; + $170 = (($168) + ($169))|0; + HEAP32[$30>>2] = $170; + $171 = HEAP32[$12>>2]|0; + $172 = ((($171)) + 4|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[$18>>2]|0; + $175 = (($173) + ($174<<1)|0); + $176 = HEAP16[$175>>1]|0; + $177 = $176 << 16 >> 16; + $178 = HEAP32[$11>>2]|0; + $179 = ((($178)) + 32|0); + $180 = HEAP16[$179>>1]|0; + $181 = $180 << 16 >> 16; + $182 = ($177|0)==($181|0); + if ($182) { + $183 = HEAP32[$15>>2]|0; + HEAP32[$30>>2] = $183; + } + $184 = HEAP32[$19>>2]|0; + $185 = HEAP32[$29>>2]|0; + $186 = HEAP32[$28>>2]|0; + $187 = HEAP32[$30>>2]|0; + (_sqlite3VdbeAddOp3($184,36,$185,$186,$187)|0); + $188 = HEAP32[$19>>2]|0; + _sqlite3VdbeChangeP5($188,16); + $189 = HEAP32[$18>>2]|0; + $190 = (($189) + 1)|0; + HEAP32[$18>>2] = $190; + } + $191 = HEAP32[$19>>2]|0; + $192 = HEAP32[$21>>2]|0; + (_sqlite3VdbeGoto($191,$192)|0); + } + $193 = HEAP32[$19>>2]|0; + $194 = HEAP32[$26>>2]|0; + $195 = HEAP32[$25>>2]|0; + $196 = HEAP32[$27>>2]|0; + $197 = HEAP32[$9>>2]|0; + $198 = HEAP32[$197>>2]|0; + $199 = HEAP32[$12>>2]|0; + $200 = (_sqlite3IndexAffinityStr($198,$199)|0); + $201 = HEAP32[$25>>2]|0; + (_sqlite3VdbeAddOp4($193,99,$194,$195,$196,$200,$201)|0); + $202 = HEAP32[$19>>2]|0; + $203 = HEAP32[$20>>2]|0; + $204 = HEAP32[$21>>2]|0; + $205 = HEAP32[$27>>2]|0; + (_sqlite3VdbeAddOp4Int($202,31,$203,$204,$205,0)|0); + $206 = HEAP32[$9>>2]|0; + $207 = HEAP32[$27>>2]|0; + _sqlite3ReleaseTempReg($206,$207); + $208 = HEAP32[$9>>2]|0; + $209 = HEAP32[$26>>2]|0; + $210 = HEAP32[$25>>2]|0; + _sqlite3ReleaseTempRange($208,$209,$210); + } + } while(0); + $211 = HEAP32[$13>>2]|0; + $212 = ((($211)) + 24|0); + $213 = HEAP8[$212>>0]|0; + $214 = ($213<<24>>24)!=(0); + if (!($214)) { + $215 = HEAP32[$9>>2]|0; + $216 = HEAP32[$215>>2]|0; + $217 = ((($216)) + 24|0); + $218 = HEAP32[$217>>2]|0; + $219 = $218 & 33554432; + $220 = ($219|0)!=(0); + if (!($220)) { + $221 = HEAP32[$9>>2]|0; + $222 = ((($221)) + 124|0); + $223 = HEAP32[$222>>2]|0; + $224 = ($223|0)!=(0|0); + if (!($224)) { + $225 = HEAP32[$9>>2]|0; + $226 = ((($225)) + 20|0); + $227 = HEAP8[$226>>0]|0; + $228 = ($227<<24>>24)!=(0); + if (!($228)) { + $229 = HEAP32[$9>>2]|0; + _sqlite3HaltConstraint($229,787,2,0,-2,4); + $244 = HEAP32[$19>>2]|0; + $245 = HEAP32[$21>>2]|0; + _sqlite3VdbeResolveLabel($244,$245); + $246 = HEAP32[$19>>2]|0; + $247 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp1($246,111,$247)|0); + STACKTOP = sp;return; + } + } + } } - $38 = HEAP32[$paNew>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 48|0); - HEAP32[$40>>2] = $38; - $41 = HEAP32[$3>>2]|0; - $42 = $41&65535; - $43 = HEAP32[$2>>2]|0; - $44 = ((($43)) + 44|0); - HEAP16[$44>>1] = $42; - HEAP32[$0>>2] = 0; - $45 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($45|0); + $230 = HEAP32[$16>>2]|0; + $231 = ($230|0)>(0); + if ($231) { + $232 = HEAP32[$13>>2]|0; + $233 = ((($232)) + 24|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234&255; + $236 = ($235|0)==(0); + if ($236) { + $237 = HEAP32[$9>>2]|0; + _sqlite3MayAbort($237); + } + } + $238 = HEAP32[$19>>2]|0; + $239 = HEAP32[$13>>2]|0; + $240 = ((($239)) + 24|0); + $241 = HEAP8[$240>>0]|0; + $242 = $241&255; + $243 = HEAP32[$16>>2]|0; + (_sqlite3VdbeAddOp2($238,144,$242,$243)|0); + $244 = HEAP32[$19>>2]|0; + $245 = HEAP32[$21>>2]|0; + _sqlite3VdbeResolveLabel($244,$245); + $246 = HEAP32[$19>>2]|0; + $247 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp1($246,111,$247)|0); + STACKTOP = sp;return; } -function _sqlite3AllocateIndexObject($db,$nCol,$nExtra,$ppExtra) { - $db = $db|0; - $nCol = $nCol|0; - $nExtra = $nExtra|0; - $ppExtra = $ppExtra|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0; - var $nByte = 0, $p = 0, $pExtra = 0, label = 0, sp = 0; +function _isSetNullAction($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 24|0; $2 = sp + 16|0; $3 = sp + 12|0; - $p = sp + 8|0; - $nByte = sp + 4|0; - $pExtra = sp; - HEAP32[$0>>2] = $db; - HEAP16[$1>>1] = $nCol; - HEAP32[$2>>2] = $nExtra; - HEAP32[$3>>2] = $ppExtra; - $4 = HEAP16[$1>>1]|0; - $5 = $4 << 16 >> 16; - $6 = $5<<2; - $7 = (($6) + 7)|0; - $8 = $7 & -8; - $9 = (56 + ($8))|0; - $10 = HEAP16[$1>>1]|0; - $11 = $10 << 16 >> 16; - $12 = (($11) + 1)|0; - $13 = $12<<1; - $14 = HEAP16[$1>>1]|0; - $15 = $14 << 16 >> 16; - $16 = $15<<1; - $17 = (($13) + ($16))|0; - $18 = HEAP16[$1>>1]|0; - $19 = $18 << 16 >> 16; - $20 = $19; - $21 = (($17) + ($20))|0; - $22 = (($21) + 7)|0; - $23 = $22 & -8; - $24 = (($9) + ($23))|0; - HEAP32[$nByte>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$nByte>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = (($26) + ($27))|0; - $29 = ($28|0)<(0); - $30 = $29 << 31 >> 31; - $31 = (_sqlite3DbMallocZero($25,$28,$30)|0); - HEAP32[$p>>2] = $31; - $32 = HEAP32[$p>>2]|0; - $33 = ($32|0)!=(0|0); - if (!($33)) { - $79 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($79|0); + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 124|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + $11 = HEAP32[$3>>2]|0; + if ($10) { + $12 = ((($11)) + 124|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13; + } else { + $14 = $11; } - $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 56|0); - HEAP32[$pExtra>>2] = $35; - $36 = HEAP32[$pExtra>>2]|0; - $37 = HEAP32[$p>>2]|0; - $38 = ((($37)) + 32|0); - HEAP32[$38>>2] = $36; - $39 = HEAP16[$1>>1]|0; - $40 = $39 << 16 >> 16; - $41 = $40<<2; - $42 = (($41) + 7)|0; - $43 = $42 & -8; - $44 = HEAP32[$pExtra>>2]|0; - $45 = (($44) + ($43)|0); - HEAP32[$pExtra>>2] = $45; - $46 = HEAP32[$pExtra>>2]|0; - $47 = HEAP32[$p>>2]|0; - $48 = ((($47)) + 8|0); - HEAP32[$48>>2] = $46; - $49 = HEAP16[$1>>1]|0; - $50 = $49 << 16 >> 16; - $51 = (($50) + 1)|0; - $52 = $51<<1; - $53 = HEAP32[$pExtra>>2]|0; - $54 = (($53) + ($52)|0); - HEAP32[$pExtra>>2] = $54; - $55 = HEAP32[$pExtra>>2]|0; - $56 = HEAP32[$p>>2]|0; - $57 = ((($56)) + 4|0); - HEAP32[$57>>2] = $55; - $58 = HEAP16[$1>>1]|0; - $59 = $58 << 16 >> 16; - $60 = $59<<1; - $61 = HEAP32[$pExtra>>2]|0; - $62 = (($61) + ($60)|0); - HEAP32[$pExtra>>2] = $62; - $63 = HEAP32[$pExtra>>2]|0; - $64 = HEAP32[$p>>2]|0; - $65 = ((($64)) + 28|0); - HEAP32[$65>>2] = $63; - $66 = HEAP16[$1>>1]|0; - $67 = HEAP32[$p>>2]|0; - $68 = ((($67)) + 52|0); - HEAP16[$68>>1] = $66; - $69 = HEAP16[$1>>1]|0; - $70 = $69 << 16 >> 16; - $71 = (($70) - 1)|0; - $72 = $71&65535; - $73 = HEAP32[$p>>2]|0; - $74 = ((($73)) + 50|0); - HEAP16[$74>>1] = $72; - $75 = HEAP32[$p>>2]|0; - $76 = HEAP32[$nByte>>2]|0; - $77 = (($75) + ($76)|0); - $78 = HEAP32[$3>>2]|0; - HEAP32[$78>>2] = $77; - $79 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($79|0); + HEAP32[$5>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 468|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + do { + if ($18) { + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 468|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$6>>2] = $22; + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($23|0)==($26|0); + if ($27) { + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 25|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = ($31|0)==(7); + if (!($32)) { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + $33 = HEAP32[$6>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 28|0); + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)==($37|0); + if (!($38)) { + break; + } + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 25|0); + $41 = ((($40)) + 1|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = ($43|0)==(7); + if (!($44)) { + break; + } + } + HEAP32[$2>>2] = 1; + $45 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($45|0); + } + } while(0); + HEAP32[$2>>2] = 0; + $45 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($45|0); } -function _sqlite3WhereExprUsage($pMaskSet,$p) { - $pMaskSet = $pMaskSet|0; - $p = $p|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $mask = 0, label = 0, sp = 0; +function _fkParentIsModified($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0; + var $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 8|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $mask = sp; - HEAP32[$1>>2] = $pMaskSet; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $5 = $0; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = 0; - $126 = $0; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = (($126) + 4)|0; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - tempRet0 = ($131); - STACKTOP = sp;return ($128|0); - } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)==(152); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 28|0); + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = 0; + L1: while(1) { + $13 = HEAP32[$9>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 20|0); $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3WhereGetMask($13,$16)|0); - $18 = tempRet0; - $19 = $mask; - $20 = $19; - HEAP32[$20>>2] = $17; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = $18; - $23 = $mask; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = $0; - $30 = $29; - HEAP32[$30>>2] = $25; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $28; - $126 = $0; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = (($126) + 4)|0; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - tempRet0 = ($131); - STACKTOP = sp;return ($128|0); + $17 = ($13|0)<($16|0); + if (!($17)) { + label = 14; + break; + } + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 36|0); + $20 = HEAP32[$9>>2]|0; + $21 = (($19) + ($20<<3)|0); + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$10>>2] = $23; + HEAP32[$11>>2] = 0; + while(1) { + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 34|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27 << 16 >> 16; + $29 = ($24|0)<($28|0); + if (!($29)) { + break; + } + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$11>>2]|0; + $32 = (($30) + ($31<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)>=(0); + if ($34) { + label = 7; + } else { + $35 = HEAP32[$11>>2]|0; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 32|0); + $38 = HEAP16[$37>>1]|0; + $39 = $38 << 16 >> 16; + $40 = ($35|0)==($39|0); + $41 = HEAP32[$8>>2]|0; + $42 = ($41|0)!=(0); + $or$cond = $40 & $42; + if ($or$cond) { + label = 7; + } + } + do { + if ((label|0) == 7) { + label = 0; + $43 = HEAP32[$5>>2]|0; + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$11>>2]|0; + $47 = (($45) + ($46<<4)|0); + HEAP32[$12>>2] = $47; + $48 = HEAP32[$10>>2]|0; + $49 = ($48|0)!=(0|0); + $50 = HEAP32[$12>>2]|0; + if ($49) { + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$10>>2]|0; + $53 = (_sqlite3StrICmp($51,$52)|0); + $54 = (0)==($53|0); + if ($54) { + label = 9; + break L1; + } else { + break; + } + } else { + $55 = ((($50)) + 15|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $57 & 1; + $59 = ($58|0)!=(0); + if ($59) { + label = 11; + break L1; + } else { + break; + } + } + } + } while(0); + $60 = HEAP32[$11>>2]|0; + $61 = (($60) + 1)|0; + HEAP32[$11>>2] = $61; + } + $62 = HEAP32[$9>>2]|0; + $63 = (($62) + 1)|0; + HEAP32[$9>>2] = $63; } - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 16|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)!=(0|0); - if ($36) { - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = ((($38)) + 16|0); - $40 = HEAP32[$39>>2]|0; - $41 = (_sqlite3WhereExprUsage($37,$40)|0); - $42 = tempRet0; - $45 = $41;$48 = $42; - } else { - $45 = 0;$48 = 0; + if ((label|0) == 9) { + HEAP32[$4>>2] = 1; + $64 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($64|0); } - $43 = $mask; - $44 = $43; - HEAP32[$44>>2] = $45; - $46 = (($43) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $48; - $49 = HEAP32[$2>>2]|0; - $50 = ((($49)) + 12|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)!=(0|0); - if ($52) { - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$2>>2]|0; - $55 = ((($54)) + 12|0); - $56 = HEAP32[$55>>2]|0; - $57 = (_sqlite3WhereExprUsage($53,$56)|0); - $58 = tempRet0; - $59 = $mask; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (($59) + 4)|0; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = $61 | $57; - $66 = $64 | $58; - $67 = $mask; - $68 = $67; - HEAP32[$68>>2] = $65; - $69 = (($67) + 4)|0; - $70 = $69; - HEAP32[$70>>2] = $66; + else if ((label|0) == 11) { + HEAP32[$4>>2] = 1; + $64 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($64|0); } - $71 = HEAP32[$2>>2]|0; - $72 = ((($71)) + 4|0); - $73 = HEAP32[$72>>2]|0; - $74 = $73 & 2048; - $75 = ($74|0)!=(0); - if ($75) { - $76 = HEAP32[$1>>2]|0; - $77 = HEAP32[$2>>2]|0; - $78 = ((($77)) + 20|0); - $79 = HEAP32[$78>>2]|0; - $80 = (_exprSelectUsage($76,$79)|0); - $81 = tempRet0; - $82 = $mask; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (($82) + 4)|0; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = $84 | $80; - $89 = $87 | $81; - $90 = $mask; - $91 = $90; - HEAP32[$91>>2] = $88; - $92 = (($90) + 4)|0; - $93 = $92; - HEAP32[$93>>2] = $89; - } else { - $94 = HEAP32[$2>>2]|0; - $95 = ((($94)) + 20|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)!=(0|0); - if ($97) { - $98 = HEAP32[$1>>2]|0; - $99 = HEAP32[$2>>2]|0; - $100 = ((($99)) + 20|0); - $101 = HEAP32[$100>>2]|0; - $102 = (_sqlite3WhereExprListUsage($98,$101)|0); - $103 = tempRet0; - $104 = $mask; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = $106 | $102; - $111 = $109 | $103; - $112 = $mask; - $113 = $112; - HEAP32[$113>>2] = $110; - $114 = (($112) + 4)|0; - $115 = $114; - HEAP32[$115>>2] = $111; - } + else if ((label|0) == 14) { + HEAP32[$4>>2] = 0; + $64 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($64|0); } - $116 = $mask; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = $0; - $123 = $122; - HEAP32[$123>>2] = $118; - $124 = (($122) + 4)|0; - $125 = $124; - HEAP32[$125>>2] = $121; - $126 = $0; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = (($126) + 4)|0; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - tempRet0 = ($131); - STACKTOP = sp;return ($128|0); + return (0)|0; } -function _exprSelectUsage($pMaskSet,$pS) { - $pMaskSet = $pMaskSet|0; - $pS = $pS|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $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, $i = 0; - var $mask = 0, $pSrc = 0, label = 0, sp = 0; +function _fkScanChildren($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $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$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $mask = sp; - $pSrc = sp + 12|0; - $i = sp + 8|0; - HEAP32[$0>>2] = $pMaskSet; - HEAP32[$1>>2] = $pS; - $2 = $mask; - $3 = $2; - HEAP32[$3>>2] = 0; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; + STACKTOP = STACKTOP + 144|0; + $8 = sp + 128|0; + $9 = sp + 124|0; + $10 = sp + 120|0; + $11 = sp + 116|0; + $12 = sp + 112|0; + $13 = sp + 108|0; + $14 = sp + 104|0; + $15 = sp + 100|0; + $16 = sp + 96|0; + $17 = sp + 92|0; + $18 = sp + 88|0; + $19 = sp + 56|0; + $20 = sp + 48|0; + $21 = sp + 44|0; + $22 = sp + 40|0; + $23 = sp + 36|0; + $24 = sp + 32|0; + $25 = sp + 28|0; + $26 = sp + 134|0; + $27 = sp + 24|0; + $28 = sp + 20|0; + $29 = sp + 16|0; + $30 = sp + 12|0; + $31 = sp + 8|0; + $32 = sp + 4|0; + $33 = sp; + $34 = sp + 132|0; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + HEAP32[$15>>2] = $7; + $35 = HEAP32[$8>>2]|0; + $36 = HEAP32[$35>>2]|0; + HEAP32[$16>>2] = $36; + HEAP32[$18>>2] = 0; + HEAP32[$21>>2] = 0; + $37 = HEAP32[$8>>2]|0; + $38 = (_sqlite3GetVdbe($37)|0); + HEAP32[$22>>2] = $38; + $39 = HEAP32[$15>>2]|0; + $40 = ($39|0)<(0); + if ($40) { + $41 = HEAP32[$22>>2]|0; + $42 = HEAP32[$12>>2]|0; + $43 = ((($42)) + 24|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = (_sqlite3VdbeAddOp2($41,65,$45,0)|0); + HEAP32[$21>>2] = $46; + } + HEAP32[$17>>2] = 0; while(1) { - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { + $47 = HEAP32[$17>>2]|0; + $48 = HEAP32[$12>>2]|0; + $49 = ((($48)) + 20|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($47|0)<($50|0); + if (!($51)) { break; } - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 28|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pSrc>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3WhereExprListUsage($11,$13)|0); - $15 = tempRet0; - $16 = $mask; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + 4)|0; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = $18 | $14; - $23 = $21 | $15; - $24 = $mask; - $25 = $24; - HEAP32[$25>>2] = $22; - $26 = (($24) + 4)|0; - $27 = $26; - HEAP32[$27>>2] = $23; - $28 = HEAP32[$0>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 36|0); - $31 = HEAP32[$30>>2]|0; - $32 = (_sqlite3WhereExprListUsage($28,$31)|0); - $33 = tempRet0; - $34 = $mask; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = $36 | $32; - $41 = $39 | $33; - $42 = $mask; - $43 = $42; - HEAP32[$43>>2] = $40; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = HEAP32[$0>>2]|0; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 44|0); - $49 = HEAP32[$48>>2]|0; - $50 = (_sqlite3WhereExprListUsage($46,$49)|0); - $51 = tempRet0; - $52 = $mask; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = $54 | $50; - $59 = $57 | $51; - $60 = $mask; - $61 = $60; - HEAP32[$61>>2] = $58; - $62 = (($60) + 4)|0; - $63 = $62; - HEAP32[$63>>2] = $59; - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 32|0); - $67 = HEAP32[$66>>2]|0; - $68 = (_sqlite3WhereExprUsage($64,$67)|0); - $69 = tempRet0; - $70 = $mask; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = $72 | $68; - $77 = $75 | $69; - $78 = $mask; - $79 = $78; - HEAP32[$79>>2] = $76; - $80 = (($78) + 4)|0; - $81 = $80; - HEAP32[$81>>2] = $77; - $82 = HEAP32[$0>>2]|0; - $83 = HEAP32[$1>>2]|0; - $84 = ((($83)) + 40|0); - $85 = HEAP32[$84>>2]|0; - $86 = (_sqlite3WhereExprUsage($82,$85)|0); - $87 = tempRet0; - $88 = $mask; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = $90 | $86; - $95 = $93 | $87; - $96 = $mask; - $97 = $96; - HEAP32[$97>>2] = $94; - $98 = (($96) + 4)|0; - $99 = $98; - HEAP32[$99>>2] = $95; - $100 = HEAP32[$pSrc>>2]|0; - $101 = ($100|0)!=(0|0); - L4: do { - if ($101) { - HEAP32[$i>>2] = 0; - while(1) { - $102 = HEAP32[$i>>2]|0; - $103 = HEAP32[$pSrc>>2]|0; - $104 = HEAP32[$103>>2]|0; - $105 = ($102|0)<($104|0); - if (!($105)) { - break L4; - } - $106 = HEAP32[$0>>2]|0; - $107 = HEAP32[$i>>2]|0; - $108 = HEAP32[$pSrc>>2]|0; - $109 = ((($108)) + 8|0); - $110 = (($109) + (($107*72)|0)|0); - $111 = ((($110)) + 20|0); - $112 = HEAP32[$111>>2]|0; - $113 = (_exprSelectUsage($106,$112)|0); - $114 = tempRet0; - $115 = $mask; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = (($115) + 4)|0; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = $117 | $113; - $122 = $120 | $114; - $123 = $mask; - $124 = $123; - HEAP32[$124>>2] = $121; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = HEAP32[$0>>2]|0; - $128 = HEAP32[$i>>2]|0; - $129 = HEAP32[$pSrc>>2]|0; - $130 = ((($129)) + 8|0); - $131 = (($130) + (($128*72)|0)|0); - $132 = ((($131)) + 48|0); - $133 = HEAP32[$132>>2]|0; - $134 = (_sqlite3WhereExprUsage($127,$133)|0); - $135 = tempRet0; - $136 = $mask; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = (($136) + 4)|0; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = $138 | $134; - $143 = $141 | $135; - $144 = $mask; - $145 = $144; - HEAP32[$145>>2] = $142; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; - $148 = HEAP32[$i>>2]|0; - $149 = (($148) + 1)|0; - HEAP32[$i>>2] = $149; + $52 = HEAP32[$11>>2]|0; + $53 = ($52|0)!=(0|0); + if ($53) { + $54 = HEAP32[$11>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$17>>2]|0; + $58 = (($56) + ($57<<1)|0); + $59 = HEAP16[$58>>1]|0; + $60 = $59 << 16 >> 16; + $62 = $60; + } else { + $62 = -1; + } + $61 = $62&65535; + HEAP16[$26>>1] = $61; + $63 = HEAP32[$8>>2]|0; + $64 = HEAP32[$10>>2]|0; + $65 = HEAP32[$14>>2]|0; + $66 = HEAP16[$26>>1]|0; + $67 = (_exprTableRegister($63,$64,$65,$66)|0); + HEAP32[$23>>2] = $67; + $68 = HEAP32[$13>>2]|0; + $69 = ($68|0)!=(0|0); + if ($69) { + $70 = HEAP32[$13>>2]|0; + $71 = HEAP32[$17>>2]|0; + $72 = (($70) + ($71<<2)|0); + $$sink = $72; + } else { + $73 = HEAP32[$12>>2]|0; + $74 = ((($73)) + 36|0); + $$sink = $74; + } + $75 = HEAP32[$$sink>>2]|0; + $76 = $75&65535; + HEAP16[$26>>1] = $76; + $77 = HEAP32[$12>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = ((($78)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP16[$26>>1]|0; + $82 = $81 << 16 >> 16; + $83 = (($80) + ($82<<4)|0); + $84 = HEAP32[$83>>2]|0; + HEAP32[$27>>2] = $84; + $85 = HEAP32[$16>>2]|0; + $86 = HEAP32[$27>>2]|0; + $87 = (_sqlite3Expr($85,55,$86)|0); + HEAP32[$24>>2] = $87; + $88 = HEAP32[$8>>2]|0; + $89 = HEAP32[$23>>2]|0; + $90 = HEAP32[$24>>2]|0; + $91 = (_sqlite3PExpr($88,37,$89,$90,0)|0); + HEAP32[$25>>2] = $91; + $92 = HEAP32[$16>>2]|0; + $93 = HEAP32[$18>>2]|0; + $94 = HEAP32[$25>>2]|0; + $95 = (_sqlite3ExprAnd($92,$93,$94)|0); + HEAP32[$18>>2] = $95; + $96 = HEAP32[$17>>2]|0; + $97 = (($96) + 1)|0; + HEAP32[$17>>2] = $97; + } + $98 = HEAP32[$10>>2]|0; + $99 = HEAP32[$12>>2]|0; + $100 = HEAP32[$99>>2]|0; + $101 = ($98|0)==($100|0); + $102 = HEAP32[$15>>2]|0; + $103 = ($102|0)>(0); + $or$cond = $101 & $103; + if ($or$cond) { + $104 = HEAP32[$10>>2]|0; + $105 = ((($104)) + 42|0); + $106 = HEAP8[$105>>0]|0; + $107 = $106&255; + $108 = $107 & 32; + $109 = ($108|0)==(0); + if ($109) { + $110 = HEAP32[$8>>2]|0; + $111 = HEAP32[$10>>2]|0; + $112 = HEAP32[$14>>2]|0; + $113 = (_exprTableRegister($110,$111,$112,-1)|0); + HEAP32[$29>>2] = $113; + $114 = HEAP32[$16>>2]|0; + $115 = HEAP32[$10>>2]|0; + $116 = HEAP32[$9>>2]|0; + $117 = ((($116)) + 8|0); + $118 = ((($117)) + 44|0); + $119 = HEAP32[$118>>2]|0; + $120 = (_exprTableColumn($114,$115,$119,-1)|0); + HEAP32[$30>>2] = $120; + $121 = HEAP32[$8>>2]|0; + $122 = HEAP32[$29>>2]|0; + $123 = HEAP32[$30>>2]|0; + $124 = (_sqlite3PExpr($121,36,$122,$123,0)|0); + HEAP32[$28>>2] = $124; + } else { + HEAP32[$32>>2] = 0; + $125 = HEAP32[$10>>2]|0; + $126 = (_sqlite3PrimaryKeyIndex($125)|0); + HEAP32[$33>>2] = $126; + HEAP32[$17>>2] = 0; + while(1) { + $127 = HEAP32[$17>>2]|0; + $128 = HEAP32[$33>>2]|0; + $129 = ((($128)) + 50|0); + $130 = HEAP16[$129>>1]|0; + $131 = $130&65535; + $132 = ($127|0)<($131|0); + if (!($132)) { + break; } - } - } while(0); - $150 = HEAP32[$1>>2]|0; - $151 = ((($150)) + 48|0); - $152 = HEAP32[$151>>2]|0; - HEAP32[$1>>2] = $152; + $133 = HEAP32[$11>>2]|0; + $134 = ((($133)) + 4|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$17>>2]|0; + $137 = (($135) + ($136<<1)|0); + $138 = HEAP16[$137>>1]|0; + HEAP16[$34>>1] = $138; + $139 = HEAP32[$8>>2]|0; + $140 = HEAP32[$10>>2]|0; + $141 = HEAP32[$14>>2]|0; + $142 = HEAP16[$34>>1]|0; + $143 = (_exprTableRegister($139,$140,$141,$142)|0); + HEAP32[$29>>2] = $143; + $144 = HEAP32[$16>>2]|0; + $145 = HEAP32[$10>>2]|0; + $146 = HEAP32[$9>>2]|0; + $147 = ((($146)) + 8|0); + $148 = ((($147)) + 44|0); + $149 = HEAP32[$148>>2]|0; + $150 = HEAP16[$34>>1]|0; + $151 = (_exprTableColumn($144,$145,$149,$150)|0); + HEAP32[$30>>2] = $151; + $152 = HEAP32[$8>>2]|0; + $153 = HEAP32[$29>>2]|0; + $154 = HEAP32[$30>>2]|0; + $155 = (_sqlite3PExpr($152,37,$153,$154,0)|0); + HEAP32[$31>>2] = $155; + $156 = HEAP32[$16>>2]|0; + $157 = HEAP32[$32>>2]|0; + $158 = HEAP32[$31>>2]|0; + $159 = (_sqlite3ExprAnd($156,$157,$158)|0); + HEAP32[$32>>2] = $159; + $160 = HEAP32[$17>>2]|0; + $161 = (($160) + 1)|0; + HEAP32[$17>>2] = $161; + } + $162 = HEAP32[$8>>2]|0; + $163 = HEAP32[$32>>2]|0; + $164 = (_sqlite3PExpr($162,19,$163,0,0)|0); + HEAP32[$28>>2] = $164; + } + $165 = HEAP32[$16>>2]|0; + $166 = HEAP32[$18>>2]|0; + $167 = HEAP32[$28>>2]|0; + $168 = (_sqlite3ExprAnd($165,$166,$167)|0); + HEAP32[$18>>2] = $168; + } + ;HEAP32[$19>>2]=0|0;HEAP32[$19+4>>2]=0|0;HEAP32[$19+8>>2]=0|0;HEAP32[$19+12>>2]=0|0;HEAP32[$19+16>>2]=0|0;HEAP32[$19+20>>2]=0|0;HEAP32[$19+24>>2]=0|0;HEAP32[$19+28>>2]=0|0; + $169 = HEAP32[$9>>2]|0; + $170 = ((($19)) + 4|0); + HEAP32[$170>>2] = $169; + $171 = HEAP32[$8>>2]|0; + HEAP32[$19>>2] = $171; + $172 = HEAP32[$18>>2]|0; + (_sqlite3ResolveExprNames($19,$172)|0); + $173 = HEAP32[$8>>2]|0; + $174 = HEAP32[$9>>2]|0; + $175 = HEAP32[$18>>2]|0; + $176 = (_sqlite3WhereBegin($173,$174,$175,0,0,0,0)|0); + HEAP32[$20>>2] = $176; + $177 = HEAP32[$22>>2]|0; + $178 = HEAP32[$12>>2]|0; + $179 = ((($178)) + 24|0); + $180 = HEAP8[$179>>0]|0; + $181 = $180&255; + $182 = HEAP32[$15>>2]|0; + (_sqlite3VdbeAddOp2($177,144,$181,$182)|0); + $183 = HEAP32[$20>>2]|0; + $184 = ($183|0)!=(0|0); + if ($184) { + $185 = HEAP32[$20>>2]|0; + _sqlite3WhereEnd($185); + } + $186 = HEAP32[$16>>2]|0; + $187 = HEAP32[$18>>2]|0; + _sqlite3ExprDelete($186,$187); + $188 = HEAP32[$21>>2]|0; + $189 = ($188|0)!=(0); + if (!($189)) { + STACKTOP = sp;return; } - $153 = $mask; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = (($153) + 4)|0; - $157 = $156; - $158 = HEAP32[$157>>2]|0; - tempRet0 = ($158); - STACKTOP = sp;return ($155|0); + $190 = HEAP32[$22>>2]|0; + $191 = HEAP32[$21>>2]|0; + _sqlite3VdbeJumpHere($190,$191); + STACKTOP = sp;return; } -function _sqlite3LogEstAdd($a,$b) { - $a = $a|0; - $b = $b|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0; +function _exprTableRegister($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp + 2|0; - $2 = sp; - HEAP16[$1>>1] = $a; - HEAP16[$2>>1] = $b; - $3 = HEAP16[$1>>1]|0; - $4 = $3 << 16 >> 16; - $5 = HEAP16[$2>>1]|0; - $6 = $5 << 16 >> 16; - $7 = ($4|0)>=($6|0); - if ($7) { - $8 = HEAP16[$1>>1]|0; - $9 = $8 << 16 >> 16; - $10 = HEAP16[$2>>1]|0; - $11 = $10 << 16 >> 16; - $12 = (($11) + 49)|0; - $13 = ($9|0)>($12|0); - $14 = HEAP16[$1>>1]|0; - if ($13) { - HEAP16[$0>>1] = $14; - $60 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($60|0); - } - $15 = $14 << 16 >> 16; - $16 = HEAP16[$2>>1]|0; - $17 = $16 << 16 >> 16; - $18 = (($17) + 31)|0; - $19 = ($15|0)>($18|0); - $20 = HEAP16[$1>>1]|0; - $21 = $20 << 16 >> 16; - if ($19) { - $22 = (($21) + 1)|0; - $23 = $22&65535; - HEAP16[$0>>1] = $23; - $60 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($60|0); - } else { - $24 = HEAP16[$1>>1]|0; - $25 = $24 << 16 >> 16; - $26 = HEAP16[$2>>1]|0; - $27 = $26 << 16 >> 16; - $28 = (($25) - ($27))|0; - $29 = (34774 + ($28)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = (($21) + ($31))|0; - $33 = $32&65535; - HEAP16[$0>>1] = $33; - $60 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($60|0); - } - } else { - $34 = HEAP16[$2>>1]|0; - $35 = $34 << 16 >> 16; - $36 = HEAP16[$1>>1]|0; - $37 = $36 << 16 >> 16; - $38 = (($37) + 49)|0; - $39 = ($35|0)>($38|0); - $40 = HEAP16[$2>>1]|0; - if ($39) { - HEAP16[$0>>1] = $40; - $60 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($60|0); - } - $41 = $40 << 16 >> 16; - $42 = HEAP16[$1>>1]|0; - $43 = $42 << 16 >> 16; - $44 = (($43) + 31)|0; - $45 = ($41|0)>($44|0); - $46 = HEAP16[$2>>1]|0; - $47 = $46 << 16 >> 16; - if ($45) { - $48 = (($47) + 1)|0; - $49 = $48&65535; - HEAP16[$0>>1] = $49; - $60 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($60|0); - } else { - $50 = HEAP16[$2>>1]|0; - $51 = $50 << 16 >> 16; - $52 = HEAP16[$1>>1]|0; - $53 = $52 << 16 >> 16; - $54 = (($51) - ($53))|0; - $55 = (34774 + ($54)|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = (($47) + ($57))|0; - $59 = $58&65535; - HEAP16[$0>>1] = $59; - $60 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($60|0); + STACKTOP = STACKTOP + 32|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 28|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP16[$7>>1] = $3; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$11>>2] = $13; + $14 = HEAP32[$11>>2]|0; + $15 = (_sqlite3Expr($14,157,0)|0); + HEAP32[$8>>2] = $15; + $16 = HEAP32[$8>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + $64 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($64|0); + } + $18 = HEAP16[$7>>1]|0; + $19 = $18 << 16 >> 16; + $20 = ($19|0)>=(0); + if ($20) { + $21 = HEAP16[$7>>1]|0; + $22 = $21 << 16 >> 16; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 32|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25 << 16 >> 16; + $27 = ($22|0)!=($26|0); + if ($27) { + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP16[$7>>1]|0; + $32 = $31 << 16 >> 16; + $33 = (($30) + ($32<<4)|0); + HEAP32[$9>>2] = $33; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP16[$7>>1]|0; + $36 = $35 << 16 >> 16; + $37 = (($34) + ($36))|0; + $38 = (($37) + 1)|0; + $39 = HEAP32[$8>>2]|0; + $40 = ((($39)) + 28|0); + HEAP32[$40>>2] = $38; + $41 = HEAP32[$9>>2]|0; + $42 = ((($41)) + 13|0); + $43 = HEAP8[$42>>0]|0; + $44 = HEAP32[$8>>2]|0; + $45 = ((($44)) + 1|0); + HEAP8[$45>>0] = $43; + $46 = HEAP32[$9>>2]|0; + $47 = ((($46)) + 8|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$10>>2] = $48; + $49 = HEAP32[$10>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + $51 = HEAP32[$11>>2]|0; + $52 = ((($51)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$53>>2]|0; + HEAP32[$10>>2] = $54; + } + $55 = HEAP32[$4>>2]|0; + $56 = HEAP32[$8>>2]|0; + $57 = HEAP32[$10>>2]|0; + $58 = (_sqlite3ExprAddCollateString($55,$56,$57)|0); + HEAP32[$8>>2] = $58; + $64 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($64|0); } } - return (0)|0; + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$8>>2]|0; + $61 = ((($60)) + 28|0); + HEAP32[$61>>2] = $59; + $62 = HEAP32[$8>>2]|0; + $63 = ((($62)) + 1|0); + HEAP8[$63>>0] = 68; + $64 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($64|0); } -function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop,$pLast,$pRevMask) { - $pWInfo = $pWInfo|0; - $pOrderBy = $pOrderBy|0; - $pPath = $pPath|0; - $wctrlFlags = $wctrlFlags|0; - $nLoop = $nLoop|0; - $pLast = $pLast|0; - $pRevMask = $pRevMask|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; - var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0; - var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0; - var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0; - var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; - var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; - var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; - var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; - var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; - var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; - var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0; - var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 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, $bOnce = 0, $db = 0, $distinctColumns = 0, $eOp = 0, $eqOpMask = 0, $i = 0, $iColumn = 0, $iCur = 0, $iLoop = 0, $isMatch = 0, $isOrderDistinct = 0, $j = 0, $m = 0, $mTerm = 0, $nColumn = 0; - var $nKeyCol = 0, $nOrderBy = 0, $obDone = 0, $obSat = 0, $or$cond = 0, $orderDistinctMask = 0, $p = 0, $pColl = 0, $pIndex = 0, $pLoop = 0, $pOBExpr = 0, $pTerm = 0, $pX = 0, $ready = 0, $rev = 0, $revIdx = 0, $revSet = 0, $z1 = 0, $z2 = 0, label = 0; +function _exprTableColumn($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $0 = sp + 149|0; - $1 = sp + 124|0; - $2 = sp + 120|0; - $3 = sp + 116|0; - $4 = sp + 140|0; - $5 = sp + 138|0; - $6 = sp + 112|0; - $7 = sp + 108|0; - $revSet = sp + 148|0; - $rev = sp + 147|0; - $revIdx = sp + 146|0; - $isOrderDistinct = sp + 145|0; - $distinctColumns = sp + 144|0; - $isMatch = sp + 143|0; - $eqOpMask = sp + 136|0; - $nKeyCol = sp + 134|0; - $nColumn = sp + 132|0; - $nOrderBy = sp + 130|0; - $iLoop = sp + 104|0; - $i = sp + 100|0; - $j = sp + 96|0; - $iCur = sp + 92|0; - $iColumn = sp + 88|0; - $pLoop = sp + 84|0; - $pTerm = sp + 80|0; - $pOBExpr = sp + 76|0; - $pColl = sp + 72|0; - $pIndex = sp + 68|0; - $db = sp + 64|0; - $obSat = sp + 40|0; - $obDone = sp + 32|0; - $orderDistinctMask = sp + 24|0; - $ready = sp + 16|0; - $z1 = sp + 60|0; - $z2 = sp + 56|0; - $bOnce = sp + 142|0; - $eOp = sp + 128|0; - $pX = sp + 52|0; - $p = sp + 48|0; - $mTerm = sp + 8|0; - $m = sp; - HEAP32[$1>>2] = $pWInfo; - HEAP32[$2>>2] = $pOrderBy; - HEAP32[$3>>2] = $pPath; - HEAP16[$4>>1] = $wctrlFlags; - HEAP16[$5>>1] = $nLoop; - HEAP32[$6>>2] = $pLast; - HEAP32[$7>>2] = $pRevMask; - HEAP32[$pLoop>>2] = 0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$db>>2] = $10; - $11 = $obSat; - $12 = $11; - HEAP32[$12>>2] = 0; - $13 = (($11) + 4)|0; - $14 = $13; - HEAP32[$14>>2] = 0; - $15 = HEAP16[$5>>1]|0; - $16 = $15&65535; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 64|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - $22 = $21 & 128; - $23 = ($22|0)!=(0); - if ($23) { - HEAP8[$0>>0] = 0; - $764 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($764|0); + STACKTOP = STACKTOP + 32|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp + 16|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP16[$7>>1] = $3; + $9 = HEAP32[$4>>2]|0; + $10 = (_sqlite3Expr($9,152,0)|0); + HEAP32[$8>>2] = $10; + $11 = HEAP32[$8>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + $22 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($22|0); + } + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = ((($14)) + 44|0); + HEAP32[$15>>2] = $13; + $16 = HEAP32[$6>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = ((($17)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = HEAP16[$7>>1]|0; + $20 = HEAP32[$8>>2]|0; + $21 = ((($20)) + 32|0); + HEAP16[$21>>1] = $19; + $22 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($22|0); +} +function _sqlite3WhereBegin($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; + var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; + var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; + var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; + var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0; + var $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0; + var $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0; + var $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0; + var $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0; + var $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0; + var $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0; + var $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0; + var $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, $644 = 0; + var $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0; + var $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, $680 = 0; + var $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, $699 = 0; + var $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, $716 = 0; + var $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, $734 = 0; + var $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0; + var $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, $770 = 0; + var $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, $789 = 0; + var $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, $806 = 0; + var $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, $824 = 0; + var $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, $842 = 0; + var $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, $860 = 0; + var $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, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; + $vararg_buffer = sp + 24|0; + $7 = sp + 180|0; + $8 = sp + 176|0; + $9 = sp + 172|0; + $10 = sp + 168|0; + $11 = sp + 164|0; + $12 = sp + 160|0; + $13 = sp + 184|0; + $14 = sp + 156|0; + $15 = sp + 152|0; + $16 = sp + 148|0; + $17 = sp + 144|0; + $18 = sp + 140|0; + $19 = sp + 16|0; + $20 = sp + 120|0; + $21 = sp + 116|0; + $22 = sp + 112|0; + $23 = sp + 108|0; + $24 = sp + 104|0; + $25 = sp + 100|0; + $26 = sp + 96|0; + $27 = sp + 186|0; + $28 = sp + 8|0; + $29 = sp + 92|0; + $30 = sp + 88|0; + $31 = sp + 84|0; + $32 = sp + 80|0; + $33 = sp + 76|0; + $34 = sp + 72|0; + $35 = sp + 68|0; + $36 = sp + 64|0; + $37 = sp + 60|0; + $38 = sp + 56|0; + $39 = sp; + $40 = sp + 52|0; + $41 = sp + 48|0; + $42 = sp + 44|0; + $43 = sp + 40|0; + $44 = sp + 36|0; + $45 = sp + 32|0; + $46 = sp + 28|0; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP16[$13>>1] = $5; + HEAP32[$14>>2] = $6; + $47 = HEAP32[$8>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$18>>2] = $49; + HEAP8[$27>>0] = 0; + $50 = HEAP32[$8>>2]|0; + $51 = HEAP32[$50>>2]|0; + HEAP32[$25>>2] = $51; + ;HEAP32[$20>>2]=0|0;HEAP32[$20+4>>2]=0|0;HEAP32[$20+8>>2]=0|0;HEAP32[$20+12>>2]=0|0;HEAP32[$20+16>>2]=0|0; + $52 = HEAP32[$11>>2]|0; + $53 = ($52|0)!=(0|0); + if ($53) { + $54 = HEAP32[$11>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)>=(64); + if ($56) { + HEAP32[$11>>2] = 0; } } - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = $25&65535; - HEAP16[$nOrderBy>>1] = $26; - $27 = HEAP16[$nOrderBy>>1]|0; - $28 = $27&65535; - $29 = ($28|0)>(63); - if ($29) { - HEAP8[$0>>0] = 0; - $764 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($764|0); + $57 = HEAP32[$11>>2]|0; + $58 = ((($20)) + 8|0); + HEAP32[$58>>2] = $57; + $59 = HEAP32[$25>>2]|0; + $60 = ((($59)) + 64|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 & 32; + $64 = ($63|0)!=(0); + if ($64) { + $65 = HEAP16[$13>>1]|0; + $66 = $65&65535; + $67 = $66 & -257; + $68 = $67&65535; + HEAP16[$13>>1] = $68; } - HEAP8[$isOrderDistinct>>0] = 1; - $30 = HEAP16[$nOrderBy>>1]|0; - $31 = $30&65535; - $32 = (_bitshift64Shl(1,0,($31|0))|0); - $33 = tempRet0; - $34 = (_i64Subtract(($32|0),($33|0),1,0)|0); - $35 = tempRet0; - $36 = $obDone; - $37 = $36; - HEAP32[$37>>2] = $34; - $38 = (($36) + 4)|0; - $39 = $38; - HEAP32[$39>>2] = $35; - $40 = $orderDistinctMask; - $41 = $40; - HEAP32[$41>>2] = 0; - $42 = (($40) + 4)|0; - $43 = $42; - HEAP32[$43>>2] = 0; - $44 = $ready; - $45 = $44; - HEAP32[$45>>2] = 0; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = 0; - HEAP16[$eqOpMask>>1] = 386; - $48 = HEAP16[$4>>1]|0; - $49 = $48&65535; - $50 = $49 & 2048; - $51 = ($50|0)!=(0); - if ($51) { - $52 = HEAP16[$eqOpMask>>1]|0; - $53 = $52&65535; - $54 = $53 | 1; - $55 = $54&65535; - HEAP16[$eqOpMask>>1] = $55; + $69 = HEAP32[$9>>2]|0; + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)>(64); + if ($71) { + $72 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer>>2] = 64; + _sqlite3ErrorMsg($72,34020,$vararg_buffer); + HEAP32[$7>>2] = 0; + $877 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($877|0); } - HEAP32[$iLoop>>2] = 0; - L13: while(1) { - $56 = HEAP8[$isOrderDistinct>>0]|0; - $57 = $56&255; - $58 = ($57|0)!=(0); - if (!($58)) { - break; - } - $59 = $obSat; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (($59) + 4)|0; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = $obDone; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (($65) + 4)|0; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = ($64>>>0)<($70>>>0); - $72 = ($61>>>0)<($67>>>0); - $73 = ($64|0)==($70|0); - $74 = $73 & $72; - $75 = $71 | $74; - if (!($75)) { - break; - } - $76 = HEAP32[$iLoop>>2]|0; - $77 = HEAP16[$5>>1]|0; - $78 = $77&65535; - $79 = ($76|0)<=($78|0); - if (!($79)) { - break; - } - $80 = HEAP32[$iLoop>>2]|0; - $81 = ($80|0)>(0); - if ($81) { - $82 = HEAP32[$pLoop>>2]|0; - $83 = ((($82)) + 8|0); - $84 = $83; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = (($84) + 4)|0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = $ready; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $93 = (($90) + 4)|0; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = $92 | $86; - $97 = $95 | $89; - $98 = $ready; - $99 = $98; - HEAP32[$99>>2] = $96; - $100 = (($98) + 4)|0; - $101 = $100; - HEAP32[$101>>2] = $97; - } - $102 = HEAP32[$iLoop>>2]|0; - $103 = HEAP16[$5>>1]|0; - $104 = $103&65535; - $105 = ($102|0)<($104|0); - if ($105) { - $106 = HEAP32[$iLoop>>2]|0; - $107 = HEAP32[$3>>2]|0; - $108 = ((($107)) + 24|0); - $109 = HEAP32[$108>>2]|0; - $110 = (($109) + ($106<<2)|0); - $111 = HEAP32[$110>>2]|0; - HEAP32[$pLoop>>2] = $111; - $112 = HEAP16[$4>>1]|0; - $113 = $112&65535; - $114 = $113 & 2048; - $115 = ($114|0)!=(0); - if (!($115)) { - label = 17; - } + $73 = HEAP16[$13>>1]|0; + $74 = $73&65535; + $75 = $74 & 32; + $76 = ($75|0)!=(0); + if ($76) { + $79 = 1; + } else { + $77 = HEAP32[$9>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = $78; + } + HEAP32[$16>>2] = $79; + $80 = HEAP32[$16>>2]|0; + $81 = (($80) - 1)|0; + $82 = ($81*80)|0; + $83 = (832 + ($82))|0; + $84 = (($83) + 7)|0; + $85 = $84 & -8; + HEAP32[$15>>2] = $85; + $86 = HEAP32[$25>>2]|0; + $87 = HEAP32[$15>>2]|0; + $88 = (($87) + 72)|0; + $89 = (_sqlite3DbMallocRawNN($86,$88,0)|0); + HEAP32[$17>>2] = $89; + $90 = HEAP32[$25>>2]|0; + $91 = ((($90)) + 69|0); + $92 = HEAP8[$91>>0]|0; + $93 = ($92<<24>>24)!=(0); + L15: do { + if ($93) { + $94 = HEAP32[$25>>2]|0; + $95 = HEAP32[$17>>2]|0; + _sqlite3DbFree($94,$95); + HEAP32[$17>>2] = 0; } else { - $116 = HEAP32[$6>>2]|0; - HEAP32[$pLoop>>2] = $116; - label = 17; - } - L24: do { - if ((label|0) == 17) { - label = 0; - $117 = HEAP32[$pLoop>>2]|0; - $118 = ((($117)) + 36|0); - $119 = HEAP32[$118>>2]|0; - $120 = $119 & 1024; - $121 = ($120|0)!=(0); - $122 = HEAP32[$pLoop>>2]|0; - if ($121) { - label = 18; - break L13; + $96 = HEAP32[$8>>2]|0; + $97 = HEAP32[$17>>2]|0; + HEAP32[$97>>2] = $96; + $98 = HEAP32[$9>>2]|0; + $99 = HEAP32[$17>>2]|0; + $100 = ((($99)) + 4|0); + HEAP32[$100>>2] = $98; + $101 = HEAP32[$11>>2]|0; + $102 = HEAP32[$17>>2]|0; + $103 = ((($102)) + 8|0); + HEAP32[$103>>2] = $101; + $104 = HEAP32[$12>>2]|0; + $105 = HEAP32[$17>>2]|0; + $106 = ((($105)) + 12|0); + HEAP32[$106>>2] = $104; + $107 = HEAP32[$17>>2]|0; + $108 = ((($107)) + 20|0); + $109 = ((($108)) + 4|0); + HEAP32[$109>>2] = -1; + $110 = HEAP32[$17>>2]|0; + $111 = ((($110)) + 20|0); + HEAP32[$111>>2] = -1; + $112 = HEAP32[$16>>2]|0; + $113 = $112&255; + $114 = HEAP32[$17>>2]|0; + $115 = ((($114)) + 42|0); + HEAP8[$115>>0] = $113; + $116 = HEAP32[$18>>2]|0; + $117 = (_sqlite3VdbeMakeLabel($116)|0); + $118 = HEAP32[$17>>2]|0; + $119 = ((($118)) + 28|0); + HEAP32[$119>>2] = $117; + $120 = HEAP32[$17>>2]|0; + $121 = ((($120)) + 32|0); + HEAP32[$121>>2] = $117; + $122 = HEAP16[$13>>1]|0; + $123 = HEAP32[$17>>2]|0; + $124 = ((($123)) + 40|0); + HEAP16[$124>>1] = $122; + $125 = HEAP32[$14>>2]|0; + $126 = $125&65535; + $127 = HEAP32[$17>>2]|0; + $128 = ((($127)) + 16|0); + HEAP16[$128>>1] = $126; + $129 = HEAP32[$8>>2]|0; + $130 = ((($129)) + 136|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$17>>2]|0; + $133 = ((($132)) + 36|0); + HEAP32[$133>>2] = $131; + $134 = HEAP32[$17>>2]|0; + $135 = ((($134)) + 43|0); + dest=$135; stop=dest+37|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $136 = HEAP32[$17>>2]|0; + $137 = ((($136)) + 752|0); + $138 = HEAP32[$16>>2]|0; + $139 = ($138*80)|0; + $140 = (72 + ($139))|0; + _memset(($137|0),0,($140|0))|0; + $141 = HEAP32[$17>>2]|0; + $142 = ((($141)) + 488|0); + HEAP32[$21>>2] = $142; + $143 = HEAP32[$17>>2]|0; + HEAP32[$20>>2] = $143; + $144 = HEAP32[$17>>2]|0; + $145 = ((($144)) + 80|0); + $146 = ((($20)) + 4|0); + HEAP32[$146>>2] = $145; + $147 = HEAP32[$17>>2]|0; + $148 = HEAP32[$15>>2]|0; + $149 = (($147) + ($148)|0); + $150 = ((($20)) + 12|0); + HEAP32[$150>>2] = $149; + $151 = ((($20)) + 12|0); + $152 = HEAP32[$151>>2]|0; + _whereLoopInit($152); + $153 = HEAP32[$21>>2]|0; + HEAP32[$153>>2] = 0; + $154 = HEAP32[$17>>2]|0; + $155 = ((($154)) + 80|0); + $156 = HEAP32[$17>>2]|0; + _sqlite3WhereClauseInit($155,$156); + $157 = HEAP32[$17>>2]|0; + $158 = ((($157)) + 80|0); + $159 = HEAP32[$10>>2]|0; + _sqlite3WhereSplit($158,$159,28); + HEAP32[$24>>2] = 0; + while(1) { + $160 = HEAP32[$24>>2]|0; + $161 = ((($20)) + 4|0); + $162 = HEAP32[$161>>2]|0; + $163 = ((($162)) + 12|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($160|0)<($164|0); + $166 = HEAP32[$16>>2]|0; + $167 = ($166|0)==(0); + if (!($165)) { + break; } - $137 = ((($122)) + 16|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $140 = HEAP32[$1>>2]|0; - $141 = ((($140)) + 4|0); - $142 = HEAP32[$141>>2]|0; - $143 = ((($142)) + 8|0); - $144 = (($143) + (($139*72)|0)|0); - $145 = ((($144)) + 44|0); - $146 = HEAP32[$145>>2]|0; - HEAP32[$iCur>>2] = $146; - HEAP32[$i>>2] = 0; - while(1) { - $147 = HEAP32[$i>>2]|0; - $148 = HEAP16[$nOrderBy>>1]|0; - $149 = $148&65535; - $150 = ($147|0)<($149|0); - if (!($150)) { + if ($167) { + label = 16; + } else { + $168 = ((($20)) + 4|0); + $169 = HEAP32[$168>>2]|0; + $170 = ((($169)) + 20|0); + $171 = HEAP32[$170>>2]|0; + $172 = HEAP32[$24>>2]|0; + $173 = (($171) + (($172*48)|0)|0); + $174 = HEAP32[$173>>2]|0; + $175 = (_sqlite3ExprIsConstantNotJoin($174)|0); + $176 = ($175|0)!=(0); + if ($176) { + label = 16; + } + } + if ((label|0) == 16) { + label = 0; + $177 = HEAP32[$8>>2]|0; + $178 = ((($20)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ((($179)) + 20|0); + $181 = HEAP32[$180>>2]|0; + $182 = HEAP32[$24>>2]|0; + $183 = (($181) + (($182*48)|0)|0); + $184 = HEAP32[$183>>2]|0; + $185 = HEAP32[$17>>2]|0; + $186 = ((($185)) + 32|0); + $187 = HEAP32[$186>>2]|0; + _sqlite3ExprIfFalse($177,$184,$187,16); + $188 = ((($20)) + 4|0); + $189 = HEAP32[$188>>2]|0; + $190 = ((($189)) + 20|0); + $191 = HEAP32[$190>>2]|0; + $192 = HEAP32[$24>>2]|0; + $193 = (($191) + (($192*48)|0)|0); + $194 = ((($193)) + 10|0); + $195 = HEAP16[$194>>1]|0; + $196 = $195&65535; + $197 = $196 | 4; + $198 = $197&65535; + HEAP16[$194>>1] = $198; + } + $199 = HEAP32[$24>>2]|0; + $200 = (($199) + 1)|0; + HEAP32[$24>>2] = $200; + } + if ($167) { + $201 = HEAP32[$11>>2]|0; + $202 = ($201|0)!=(0|0); + if ($202) { + $203 = HEAP32[$11>>2]|0; + $204 = HEAP32[$203>>2]|0; + $205 = $204&255; + $206 = HEAP32[$17>>2]|0; + $207 = ((($206)) + 43|0); + HEAP8[$207>>0] = $205; + } + $208 = HEAP16[$13>>1]|0; + $209 = $208&65535; + $210 = $209 & 256; + $211 = ($210|0)!=(0); + if ($211) { + $212 = HEAP32[$17>>2]|0; + $213 = ((($212)) + 47|0); + HEAP8[$213>>0] = 1; + } + } + HEAP32[$24>>2] = 0; + while(1) { + $214 = HEAP32[$24>>2]|0; + $215 = HEAP32[$9>>2]|0; + $216 = HEAP32[$215>>2]|0; + $217 = ($214|0)<($216|0); + if (!($217)) { + break; + } + $218 = HEAP32[$21>>2]|0; + $219 = HEAP32[$9>>2]|0; + $220 = ((($219)) + 8|0); + $221 = HEAP32[$24>>2]|0; + $222 = (($220) + (($221*72)|0)|0); + $223 = ((($222)) + 44|0); + $224 = HEAP32[$223>>2]|0; + _createMask($218,$224); + $225 = HEAP32[$8>>2]|0; + $226 = HEAP32[$9>>2]|0; + $227 = ((($226)) + 8|0); + $228 = HEAP32[$24>>2]|0; + $229 = (($227) + (($228*72)|0)|0); + $230 = HEAP32[$17>>2]|0; + $231 = ((($230)) + 80|0); + _sqlite3WhereTabFuncArgs($225,$229,$231); + $232 = HEAP32[$24>>2]|0; + $233 = (($232) + 1)|0; + HEAP32[$24>>2] = $233; + } + $234 = HEAP32[$9>>2]|0; + $235 = HEAP32[$17>>2]|0; + $236 = ((($235)) + 80|0); + _sqlite3WhereExprAnalyze($234,$236); + $237 = HEAP32[$25>>2]|0; + $238 = ((($237)) + 69|0); + $239 = HEAP8[$238>>0]|0; + $240 = ($239<<24>>24)!=(0); + if (!($240)) { + $241 = HEAP16[$13>>1]|0; + $242 = $241&65535; + $243 = $242 & 256; + $244 = ($243|0)!=(0); + do { + if ($244) { + $245 = HEAP32[$8>>2]|0; + $246 = HEAP32[$9>>2]|0; + $247 = HEAP32[$17>>2]|0; + $248 = ((($247)) + 80|0); + $249 = HEAP32[$12>>2]|0; + $250 = (_isDistinctRedundant($245,$246,$248,$249)|0); + $251 = ($250|0)!=(0); + if ($251) { + $252 = HEAP32[$17>>2]|0; + $253 = ((($252)) + 47|0); + HEAP8[$253>>0] = 1; + break; + } + $254 = HEAP32[$11>>2]|0; + $255 = ($254|0)==(0|0); + if ($255) { + $256 = HEAP32[$17>>2]|0; + $257 = ((($256)) + 40|0); + $258 = HEAP16[$257>>1]|0; + $259 = $258&65535; + $260 = $259 | 128; + $261 = $260&65535; + HEAP16[$257>>1] = $261; + $262 = HEAP32[$12>>2]|0; + $263 = HEAP32[$17>>2]|0; + $264 = ((($263)) + 8|0); + HEAP32[$264>>2] = $262; + } + } + } while(0); + $265 = HEAP32[$16>>2]|0; + $266 = ($265|0)!=(1); + if ($266) { + label = 34; + } else { + $267 = (_whereShortCut($20)|0); + $268 = ($267|0)==(0); + if ($268) { + label = 34; + } + } + if ((label|0) == 34) { + $269 = (_whereLoopAddAll($20)|0); + HEAP32[$26>>2] = $269; + $270 = HEAP32[$26>>2]|0; + $271 = ($270|0)!=(0); + if ($271) { break; } - $151 = HEAP32[$i>>2]|0; - $152 = (_bitshift64Shl(1,0,($151|0))|0); - $153 = tempRet0; - $154 = $obSat; - $155 = $154; - $156 = HEAP32[$155>>2]|0; - $157 = (($154) + 4)|0; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = $152 & $156; - $161 = $153 & $159; - $162 = ($160|0)!=(0); - $163 = ($161|0)!=(0); - $164 = $162 | $163; - L30: do { - if (!($164)) { - $165 = HEAP32[$i>>2]|0; - $166 = HEAP32[$2>>2]|0; - $167 = ((($166)) + 4|0); - $168 = HEAP32[$167>>2]|0; - $169 = (($168) + (($165*20)|0)|0); - $170 = HEAP32[$169>>2]|0; - $171 = (_sqlite3ExprSkipCollate($170)|0); - HEAP32[$pOBExpr>>2] = $171; - $172 = HEAP32[$pOBExpr>>2]|0; - $173 = HEAP8[$172>>0]|0; - $174 = $173&255; - $175 = ($174|0)!=(152); - if (!($175)) { - $176 = HEAP32[$pOBExpr>>2]|0; - $177 = ((($176)) + 28|0); - $178 = HEAP32[$177>>2]|0; - $179 = HEAP32[$iCur>>2]|0; - $180 = ($178|0)!=($179|0); - if (!($180)) { - $181 = HEAP32[$1>>2]|0; - $182 = ((($181)) + 80|0); - $183 = HEAP32[$iCur>>2]|0; - $184 = HEAP32[$pOBExpr>>2]|0; - $185 = ((($184)) + 32|0); - $186 = HEAP16[$185>>1]|0; - $187 = $186 << 16 >> 16; - $188 = $ready; - $189 = $188; - $190 = HEAP32[$189>>2]|0; - $191 = (($188) + 4)|0; - $192 = $191; - $193 = HEAP32[$192>>2]|0; - $194 = $190 ^ -1; - $195 = $193 ^ -1; - $196 = HEAP16[$eqOpMask>>1]|0; - $197 = $196&65535; - $198 = (_sqlite3WhereFindTerm($182,$183,$187,$194,$195,$197,0)|0); - HEAP32[$pTerm>>2] = $198; - $199 = HEAP32[$pTerm>>2]|0; - $200 = ($199|0)==(0|0); - if (!($200)) { - $201 = HEAP32[$pTerm>>2]|0; - $202 = ((($201)) + 12|0); - $203 = HEAP16[$202>>1]|0; - $204 = $203&65535; - $205 = ($204|0)==(1); - if ($205) { - HEAP32[$j>>2] = 0; - while(1) { - $206 = HEAP32[$j>>2]|0; - $207 = HEAP32[$pLoop>>2]|0; - $208 = ((($207)) + 40|0); - $209 = HEAP16[$208>>1]|0; - $210 = $209&65535; - $211 = ($206|0)<($210|0); - if (!($211)) { - break; - } - $212 = HEAP32[$pTerm>>2]|0; - $213 = HEAP32[$j>>2]|0; - $214 = HEAP32[$pLoop>>2]|0; - $215 = ((($214)) + 48|0); - $216 = HEAP32[$215>>2]|0; - $217 = (($216) + ($213<<2)|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($212|0)!=($218|0); - if (!($219)) { - break; - } - $220 = HEAP32[$j>>2]|0; - $221 = (($220) + 1)|0; - HEAP32[$j>>2] = $221; + $272 = HEAP32[$17>>2]|0; + (_wherePathSolver($272,0)|0); + $273 = HEAP32[$25>>2]|0; + $274 = ((($273)) + 69|0); + $275 = HEAP8[$274>>0]|0; + $276 = ($275<<24>>24)!=(0); + if ($276) { + break; + } + $277 = HEAP32[$17>>2]|0; + $278 = ((($277)) + 8|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)!=(0|0); + if ($280) { + $281 = HEAP32[$17>>2]|0; + $282 = HEAP32[$17>>2]|0; + $283 = ((($282)) + 72|0); + $284 = HEAP16[$283>>1]|0; + $285 = $284 << 16 >> 16; + $286 = (($285) + 1)|0; + $287 = $286&65535; + (_wherePathSolver($281,$287)|0); + $288 = HEAP32[$25>>2]|0; + $289 = ((($288)) + 69|0); + $290 = HEAP8[$289>>0]|0; + $291 = ($290<<24>>24)!=(0); + if ($291) { + break; + } + } + } + $292 = HEAP32[$17>>2]|0; + $293 = ((($292)) + 8|0); + $294 = HEAP32[$293>>2]|0; + $295 = ($294|0)==(0|0); + if ($295) { + $296 = HEAP32[$25>>2]|0; + $297 = ((($296)) + 24|0); + $298 = HEAP32[$297>>2]|0; + $299 = $298 & 131072; + $300 = ($299|0)!=(0); + if ($300) { + $301 = HEAP32[$17>>2]|0; + $302 = ((($301)) + 64|0); + $303 = $302; + $304 = $303; + HEAP32[$304>>2] = -1; + $305 = (($303) + 4)|0; + $306 = $305; + HEAP32[$306>>2] = -1; + } + } + $307 = HEAP32[$8>>2]|0; + $308 = ((($307)) + 36|0); + $309 = HEAP32[$308>>2]|0; + $310 = ($309|0)!=(0); + if (!($310)) { + $311 = HEAP32[$25>>2]|0; + $312 = ((($311)) + 69|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $315 = ($314|0)!=(0); + if (!($315)) { + $316 = HEAP32[$17>>2]|0; + $317 = ((($316)) + 42|0); + $318 = HEAP8[$317>>0]|0; + $319 = $318&255; + $320 = ($319|0)>=(2); + $321 = HEAP32[$12>>2]|0; + $322 = ($321|0)!=(0|0); + $or$cond = $320 & $322; + L60: do { + if ($or$cond) { + $323 = HEAP32[$25>>2]|0; + $324 = ((($323)) + 64|0); + $325 = HEAP16[$324>>1]|0; + $326 = $325&65535; + $327 = $326 & 1024; + $328 = ($327|0)==(0); + if ($328) { + $329 = HEAP32[$21>>2]|0; + $330 = HEAP32[$12>>2]|0; + $331 = (_sqlite3WhereExprListUsage($329,$330)|0); + $332 = tempRet0; + $333 = $28; + $334 = $333; + HEAP32[$334>>2] = $331; + $335 = (($333) + 4)|0; + $336 = $335; + HEAP32[$336>>2] = $332; + $337 = ((($20)) + 8|0); + $338 = HEAP32[$337>>2]|0; + $339 = ($338|0)!=(0|0); + if ($339) { + $340 = HEAP32[$21>>2]|0; + $341 = ((($20)) + 8|0); + $342 = HEAP32[$341>>2]|0; + $343 = (_sqlite3WhereExprListUsage($340,$342)|0); + $344 = tempRet0; + $345 = $28; + $346 = $345; + $347 = HEAP32[$346>>2]|0; + $348 = (($345) + 4)|0; + $349 = $348; + $350 = HEAP32[$349>>2]|0; + $351 = $347 | $343; + $352 = $350 | $344; + $353 = $28; + $354 = $353; + HEAP32[$354>>2] = $351; + $355 = (($353) + 4)|0; + $356 = $355; + HEAP32[$356>>2] = $352; + } + while(1) { + $357 = HEAP32[$17>>2]|0; + $358 = ((($357)) + 42|0); + $359 = HEAP8[$358>>0]|0; + $360 = $359&255; + $361 = ($360|0)>=(2); + if (!($361)) { + break L60; + } + $362 = HEAP32[$17>>2]|0; + $363 = ((($362)) + 752|0); + $364 = HEAP32[$17>>2]|0; + $365 = ((($364)) + 42|0); + $366 = HEAP8[$365>>0]|0; + $367 = $366&255; + $368 = (($367) - 1)|0; + $369 = (($363) + (($368*80)|0)|0); + $370 = ((($369)) + 64|0); + $371 = HEAP32[$370>>2]|0; + HEAP32[$23>>2] = $371; + $372 = HEAP32[$17>>2]|0; + $373 = ((($372)) + 4|0); + $374 = HEAP32[$373>>2]|0; + $375 = ((($374)) + 8|0); + $376 = HEAP32[$23>>2]|0; + $377 = ((($376)) + 16|0); + $378 = HEAP8[$377>>0]|0; + $379 = $378&255; + $380 = (($375) + (($379*72)|0)|0); + $381 = ((($380)) + 36|0); + $382 = HEAP8[$381>>0]|0; + $383 = $382&255; + $384 = $383 & 8; + $385 = ($384|0)==(0); + if ($385) { + break L60; + } + $386 = HEAP16[$13>>1]|0; + $387 = $386&65535; + $388 = $387 & 256; + $389 = ($388|0)==(0); + if ($389) { + $390 = HEAP32[$23>>2]|0; + $391 = ((($390)) + 36|0); + $392 = HEAP32[$391>>2]|0; + $393 = $392 & 4096; + $394 = ($393|0)==(0); + if ($394) { + break L60; } - $222 = HEAP32[$j>>2]|0; - $223 = HEAP32[$pLoop>>2]|0; - $224 = ((($223)) + 40|0); - $225 = HEAP16[$224>>1]|0; - $226 = $225&65535; - $227 = ($222|0)>=($226|0); - if ($227) { + } + $395 = $28; + $396 = $395; + $397 = HEAP32[$396>>2]|0; + $398 = (($395) + 4)|0; + $399 = $398; + $400 = HEAP32[$399>>2]|0; + $401 = HEAP32[$23>>2]|0; + $402 = ((($401)) + 8|0); + $403 = $402; + $404 = $403; + $405 = HEAP32[$404>>2]|0; + $406 = (($403) + 4)|0; + $407 = $406; + $408 = HEAP32[$407>>2]|0; + $409 = $397 & $405; + $410 = $400 & $408; + $411 = ($409|0)!=(0); + $412 = ($410|0)!=(0); + $413 = $411 | $412; + if ($413) { + break L60; + } + $414 = ((($20)) + 4|0); + $415 = HEAP32[$414>>2]|0; + $416 = ((($415)) + 20|0); + $417 = HEAP32[$416>>2]|0; + $418 = ((($20)) + 4|0); + $419 = HEAP32[$418>>2]|0; + $420 = ((($419)) + 12|0); + $421 = HEAP32[$420>>2]|0; + $422 = (($417) + (($421*48)|0)|0); + HEAP32[$30>>2] = $422; + $423 = ((($20)) + 4|0); + $424 = HEAP32[$423>>2]|0; + $425 = ((($424)) + 20|0); + $426 = HEAP32[$425>>2]|0; + HEAP32[$29>>2] = $426; + while(1) { + $427 = HEAP32[$29>>2]|0; + $428 = HEAP32[$30>>2]|0; + $429 = ($427>>>0)<($428>>>0); + if (!($429)) { break; } - } - $228 = HEAP32[$pTerm>>2]|0; - $229 = ((($228)) + 12|0); - $230 = HEAP16[$229>>1]|0; - $231 = $230&65535; - $232 = $231 & 130; - $233 = ($232|0)!=(0); - do { - if ($233) { - $234 = HEAP32[$pOBExpr>>2]|0; - $235 = ((($234)) + 32|0); - $236 = HEAP16[$235>>1]|0; - $237 = $236 << 16 >> 16; - $238 = ($237|0)>=(0); - if (!($238)) { + $430 = HEAP32[$29>>2]|0; + $431 = ((($430)) + 40|0); + $432 = $431; + $433 = $432; + $434 = HEAP32[$433>>2]|0; + $435 = (($432) + 4)|0; + $436 = $435; + $437 = HEAP32[$436>>2]|0; + $438 = HEAP32[$23>>2]|0; + $439 = ((($438)) + 8|0); + $440 = $439; + $441 = $440; + $442 = HEAP32[$441>>2]|0; + $443 = (($440) + 4)|0; + $444 = $443; + $445 = HEAP32[$444>>2]|0; + $446 = $434 & $442; + $447 = $437 & $445; + $448 = ($446|0)!=(0); + $449 = ($447|0)!=(0); + $450 = $448 | $449; + if ($450) { + $451 = HEAP32[$29>>2]|0; + $452 = HEAP32[$451>>2]|0; + $453 = ((($452)) + 4|0); + $454 = HEAP32[$453>>2]|0; + $455 = $454 & 1; + $456 = ($455|0)!=(0); + if (!($456)) { break; } - $239 = HEAP32[$1>>2]|0; - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[$i>>2]|0; - $242 = HEAP32[$2>>2]|0; - $243 = ((($242)) + 4|0); - $244 = HEAP32[$243>>2]|0; - $245 = (($244) + (($241*20)|0)|0); - $246 = HEAP32[$245>>2]|0; - $247 = (_sqlite3ExprCollSeq($240,$246)|0); - HEAP32[$pColl>>2] = $247; - $248 = HEAP32[$pColl>>2]|0; - $249 = ($248|0)!=(0|0); - if (!($249)) { - $250 = HEAP32[$db>>2]|0; - $251 = ((($250)) + 8|0); - $252 = HEAP32[$251>>2]|0; - HEAP32[$pColl>>2] = $252; - } - $253 = HEAP32[$pColl>>2]|0; - $254 = HEAP32[$253>>2]|0; - HEAP32[$z1>>2] = $254; - $255 = HEAP32[$1>>2]|0; - $256 = HEAP32[$255>>2]|0; - $257 = HEAP32[$pTerm>>2]|0; - $258 = HEAP32[$257>>2]|0; - $259 = (_sqlite3ExprCollSeq($256,$258)|0); - HEAP32[$pColl>>2] = $259; - $260 = HEAP32[$pColl>>2]|0; - $261 = ($260|0)!=(0|0); - if (!($261)) { - $262 = HEAP32[$db>>2]|0; - $263 = ((($262)) + 8|0); - $264 = HEAP32[$263>>2]|0; - HEAP32[$pColl>>2] = $264; - } - $265 = HEAP32[$pColl>>2]|0; - $266 = HEAP32[$265>>2]|0; - HEAP32[$z2>>2] = $266; - $267 = HEAP32[$z1>>2]|0; - $268 = HEAP32[$z2>>2]|0; - $269 = (_sqlite3StrICmp($267,$268)|0); - $270 = ($269|0)!=(0); - if ($270) { - break L30; - } } - } while(0); - $271 = HEAP32[$i>>2]|0; - $272 = (_bitshift64Shl(1,0,($271|0))|0); - $273 = tempRet0; - $274 = $obSat; - $275 = $274; - $276 = HEAP32[$275>>2]|0; - $277 = (($274) + 4)|0; - $278 = $277; - $279 = HEAP32[$278>>2]|0; - $280 = $276 | $272; - $281 = $279 | $273; - $282 = $obSat; - $283 = $282; - HEAP32[$283>>2] = $280; - $284 = (($282) + 4)|0; - $285 = $284; - HEAP32[$285>>2] = $281; + $457 = HEAP32[$29>>2]|0; + $458 = ((($457)) + 48|0); + HEAP32[$29>>2] = $458; + } + $459 = HEAP32[$29>>2]|0; + $460 = HEAP32[$30>>2]|0; + $461 = ($459>>>0)<($460>>>0); + if ($461) { + break L60; + } + $462 = HEAP32[$17>>2]|0; + $463 = ((($462)) + 42|0); + $464 = HEAP8[$463>>0]|0; + $465 = (($464) + -1)<<24>>24; + HEAP8[$463>>0] = $465; + $466 = HEAP32[$16>>2]|0; + $467 = (($466) + -1)|0; + HEAP32[$16>>2] = $467; } } } - } - } while(0); - $286 = HEAP32[$i>>2]|0; - $287 = (($286) + 1)|0; - HEAP32[$i>>2] = $287; - } - $288 = HEAP32[$pLoop>>2]|0; - $289 = ((($288)) + 36|0); - $290 = HEAP32[$289>>2]|0; - $291 = $290 & 4096; - $292 = ($291|0)==(0); - if ($292) { - $293 = HEAP32[$pLoop>>2]|0; - $294 = ((($293)) + 36|0); - $295 = HEAP32[$294>>2]|0; - $296 = $295 & 256; - $297 = ($296|0)!=(0); - if ($297) { - HEAP32[$pIndex>>2] = 0; - HEAP16[$nKeyCol>>1] = 0; - HEAP16[$nColumn>>1] = 1; - } else { - $298 = HEAP32[$pLoop>>2]|0; - $299 = ((($298)) + 24|0); - $300 = ((($299)) + 8|0); - $301 = HEAP32[$300>>2]|0; - HEAP32[$pIndex>>2] = $301; - $302 = ($301|0)==(0|0); - if ($302) { - label = 46; - break L13; - } - $303 = HEAP32[$pIndex>>2]|0; - $304 = ((($303)) + 55|0); - $305 = HEAP8[$304>>0]|0; - $306 = ($305&255) >>> 2; - $307 = $306 & 1; - $308 = $307&255; - $309 = ($308|0)!=(0); - if ($309) { - label = 46; - break L13; - } - $310 = HEAP32[$pIndex>>2]|0; - $311 = ((($310)) + 50|0); - $312 = HEAP16[$311>>1]|0; - HEAP16[$nKeyCol>>1] = $312; - $313 = HEAP32[$pIndex>>2]|0; - $314 = ((($313)) + 52|0); - $315 = HEAP16[$314>>1]|0; - HEAP16[$nColumn>>1] = $315; - $316 = HEAP32[$pIndex>>2]|0; - $317 = ((($316)) + 54|0); - $318 = HEAP8[$317>>0]|0; - $319 = $318&255; - $320 = ($319|0)!=(0); - $321 = $320&1; - $322 = $321&255; - HEAP8[$isOrderDistinct>>0] = $322; - } - HEAP8[$revSet>>0] = 0; - HEAP8[$rev>>0] = 0; - HEAP8[$distinctColumns>>0] = 0; - HEAP32[$j>>2] = 0; - while(1) { - $323 = HEAP32[$j>>2]|0; - $324 = HEAP16[$nColumn>>1]|0; - $325 = $324&65535; - $326 = ($323|0)<($325|0); - if (!($326)) { - break; - } - HEAP8[$bOnce>>0] = 1; - $327 = HEAP32[$j>>2]|0; - $328 = HEAP32[$pLoop>>2]|0; - $329 = ((($328)) + 24|0); - $330 = HEAP16[$329>>1]|0; - $331 = $330&65535; - $332 = ($327|0)<($331|0); - L66: do { - if ($332) { - $333 = HEAP32[$j>>2]|0; - $334 = HEAP32[$pLoop>>2]|0; - $335 = ((($334)) + 42|0); - $336 = HEAP16[$335>>1]|0; - $337 = $336&65535; - $338 = ($333|0)>=($337|0); - if ($338) { - $339 = HEAP32[$j>>2]|0; - $340 = HEAP32[$pLoop>>2]|0; - $341 = ((($340)) + 48|0); - $342 = HEAP32[$341>>2]|0; - $343 = (($342) + ($339<<2)|0); - $344 = HEAP32[$343>>2]|0; - $345 = ((($344)) + 12|0); - $346 = HEAP16[$345>>1]|0; - HEAP16[$eOp>>1] = $346; - $347 = HEAP16[$eOp>>1]|0; - $348 = $347&65535; - $349 = HEAP16[$eqOpMask>>1]|0; - $350 = $349&65535; - $351 = $348 & $350; - $352 = ($351|0)!=(0); - $353 = HEAP16[$eOp>>1]|0; - $354 = $353&65535; - if ($352) { - $355 = $354 & 256; - $356 = ($355|0)!=(0); - if (!($356)) { - break; - } - HEAP8[$isOrderDistinct>>0] = 0; + } while(0); + $468 = HEAP32[$17>>2]|0; + $469 = ((($468)) + 72|0); + $470 = HEAP16[$469>>1]|0; + $471 = $470 << 16 >> 16; + $472 = HEAP32[$17>>2]|0; + $473 = HEAP32[$472>>2]|0; + $474 = ((($473)) + 136|0); + $475 = HEAP32[$474>>2]|0; + $476 = (($475) + ($471))|0; + HEAP32[$474>>2] = $476; + $477 = HEAP16[$13>>1]|0; + $478 = $477&65535; + $479 = $478 & 4; + $480 = ($479|0)!=(0); + do { + if ($480) { + $481 = HEAP32[$17>>2]|0; + $482 = ((($481)) + 752|0); + $483 = ((($482)) + 64|0); + $484 = HEAP32[$483>>2]|0; + $485 = ((($484)) + 36|0); + $486 = HEAP32[$485>>2]|0; + HEAP32[$31>>2] = $486; + $487 = HEAP32[$31>>2]|0; + $488 = $487 & 4096; + $489 = ($488|0)!=(0); + $490 = $489&1; + HEAP32[$32>>2] = $490; + $491 = HEAP32[$32>>2]|0; + $492 = ($491|0)!=(0); + if (!($492)) { + $493 = HEAP16[$13>>1]|0; + $494 = $493&65535; + $495 = $494 & 8; + $496 = ($495|0)!=(0); + if (!($496)) { break; } - $357 = $354 & 1; - $358 = ($357|0)!=(0); - if (!($358)) { - label = 61; + $497 = HEAP32[$31>>2]|0; + $498 = $497 & 1024; + $499 = (0)==($498|0); + if (!($499)) { break; } - $359 = HEAP32[$j>>2]|0; - $360 = HEAP32[$pLoop>>2]|0; - $361 = ((($360)) + 48|0); - $362 = HEAP32[$361>>2]|0; - $363 = (($362) + ($359<<2)|0); - $364 = HEAP32[$363>>2]|0; - $365 = HEAP32[$364>>2]|0; - HEAP32[$pX>>2] = $365; - $366 = HEAP32[$j>>2]|0; - $367 = (($366) + 1)|0; - HEAP32[$i>>2] = $367; - while(1) { - $368 = HEAP32[$i>>2]|0; - $369 = HEAP32[$pLoop>>2]|0; - $370 = ((($369)) + 24|0); - $371 = HEAP16[$370>>1]|0; - $372 = $371&65535; - $373 = ($368|0)<($372|0); - if (!($373)) { - label = 61; - break L66; - } - $374 = HEAP32[$i>>2]|0; - $375 = HEAP32[$pLoop>>2]|0; - $376 = ((($375)) + 48|0); - $377 = HEAP32[$376>>2]|0; - $378 = (($377) + ($374<<2)|0); - $379 = HEAP32[$378>>2]|0; - $380 = HEAP32[$379>>2]|0; - $381 = HEAP32[$pX>>2]|0; - $382 = ($380|0)==($381|0); - if ($382) { - break; + } + $500 = HEAP32[$32>>2]|0; + $501 = ($500|0)!=(0); + $502 = $501 ? 1 : 2; + $503 = $502&255; + $504 = HEAP32[$17>>2]|0; + $505 = ((($504)) + 45|0); + HEAP8[$505>>0] = $503; + $506 = HEAP32[$9>>2]|0; + $507 = ((($506)) + 8|0); + $508 = ((($507)) + 16|0); + $509 = HEAP32[$508>>2]|0; + $510 = ((($509)) + 42|0); + $511 = HEAP8[$510>>0]|0; + $512 = $511&255; + $513 = $512 & 32; + $514 = ($513|0)==(0); + if ($514) { + $515 = HEAP32[$31>>2]|0; + $516 = $515 & 64; + $517 = ($516|0)!=(0); + if ($517) { + $518 = HEAP16[$13>>1]|0; + $519 = $518&65535; + $520 = $519 & 8; + $521 = ($520|0)!=(0); + if ($521) { + HEAP8[$27>>0] = 8; } - $383 = HEAP32[$i>>2]|0; - $384 = (($383) + 1)|0; - HEAP32[$i>>2] = $384; + $522 = HEAP32[$31>>2]|0; + $523 = $522 & -65; + $524 = HEAP32[$17>>2]|0; + $525 = ((($524)) + 752|0); + $526 = ((($525)) + 64|0); + $527 = HEAP32[$526>>2]|0; + $528 = ((($527)) + 36|0); + HEAP32[$528>>2] = $523; } - HEAP8[$bOnce>>0] = 0; - label = 61; - } else { - label = 61; } - } else { - label = 61; } } while(0); - if ((label|0) == 61) { - label = 0; - $385 = HEAP32[$pIndex>>2]|0; - $386 = ($385|0)!=(0|0); - do { - if ($386) { - $387 = HEAP32[$j>>2]|0; - $388 = HEAP32[$pIndex>>2]|0; - $389 = ((($388)) + 4|0); - $390 = HEAP32[$389>>2]|0; - $391 = (($390) + ($387<<1)|0); - $392 = HEAP16[$391>>1]|0; - $393 = $392 << 16 >> 16; - HEAP32[$iColumn>>2] = $393; - $394 = HEAP32[$j>>2]|0; - $395 = HEAP32[$pIndex>>2]|0; - $396 = ((($395)) + 28|0); - $397 = HEAP32[$396>>2]|0; - $398 = (($397) + ($394)|0); - $399 = HEAP8[$398>>0]|0; - HEAP8[$revIdx>>0] = $399; - $400 = HEAP32[$iColumn>>2]|0; - $401 = HEAP32[$pIndex>>2]|0; - $402 = ((($401)) + 12|0); - $403 = HEAP32[$402>>2]|0; - $404 = ((($403)) + 32|0); - $405 = HEAP16[$404>>1]|0; - $406 = $405 << 16 >> 16; - $407 = ($400|0)==($406|0); - if (!($407)) { - break; + HEAP32[$24>>2] = 0; + $529 = HEAP32[$17>>2]|0; + $530 = ((($529)) + 752|0); + HEAP32[$22>>2] = $530; + while(1) { + $531 = HEAP32[$24>>2]|0; + $532 = HEAP32[$16>>2]|0; + $533 = ($531|0)<($532|0); + if (!($533)) { + break; + } + $534 = HEAP32[$9>>2]|0; + $535 = ((($534)) + 8|0); + $536 = HEAP32[$22>>2]|0; + $537 = ((($536)) + 44|0); + $538 = HEAP8[$537>>0]|0; + $539 = $538&255; + $540 = (($535) + (($539*72)|0)|0); + HEAP32[$35>>2] = $540; + $541 = HEAP32[$35>>2]|0; + $542 = ((($541)) + 16|0); + $543 = HEAP32[$542>>2]|0; + HEAP32[$33>>2] = $543; + $544 = HEAP32[$25>>2]|0; + $545 = HEAP32[$33>>2]|0; + $546 = ((($545)) + 64|0); + $547 = HEAP32[$546>>2]|0; + $548 = (_sqlite3SchemaToIndex($544,$547)|0); + HEAP32[$34>>2] = $548; + $549 = HEAP32[$22>>2]|0; + $550 = ((($549)) + 64|0); + $551 = HEAP32[$550>>2]|0; + HEAP32[$23>>2] = $551; + $552 = HEAP32[$33>>2]|0; + $553 = ((($552)) + 42|0); + $554 = HEAP8[$553>>0]|0; + $555 = $554&255; + $556 = $555 & 2; + $557 = ($556|0)!=(0); + L97: do { + if (!($557)) { + $558 = HEAP32[$33>>2]|0; + $559 = ((($558)) + 12|0); + $560 = HEAP32[$559>>2]|0; + $561 = ($560|0)!=(0|0); + if (!($561)) { + $562 = HEAP32[$23>>2]|0; + $563 = ((($562)) + 36|0); + $564 = HEAP32[$563>>2]|0; + $565 = $564 & 1024; + $566 = ($565|0)!=(0); + if ($566) { + $567 = HEAP32[$25>>2]|0; + $568 = HEAP32[$33>>2]|0; + $569 = (_sqlite3GetVTable($567,$568)|0); + HEAP32[$36>>2] = $569; + $570 = HEAP32[$35>>2]|0; + $571 = ((($570)) + 44|0); + $572 = HEAP32[$571>>2]|0; + HEAP32[$37>>2] = $572; + $573 = HEAP32[$18>>2]|0; + $574 = HEAP32[$37>>2]|0; + $575 = HEAP32[$36>>2]|0; + (_sqlite3VdbeAddOp4($573,155,$574,0,0,$575,-10)|0); + break; + } + $576 = HEAP32[$33>>2]|0; + $577 = ((($576)) + 42|0); + $578 = HEAP8[$577>>0]|0; + $579 = $578&255; + $580 = $579 & 16; + $581 = ($580|0)!=(0); + if ($581) { + break; + } + $582 = HEAP32[$23>>2]|0; + $583 = ((($582)) + 36|0); + $584 = HEAP32[$583>>2]|0; + $585 = $584 & 64; + $586 = ($585|0)==(0); + do { + if ($586) { + $587 = HEAP16[$13>>1]|0; + $588 = $587&65535; + $589 = $588 & 32; + $590 = ($589|0)==(0); + if (!($590)) { + break; + } + HEAP32[$38>>2] = 104; + $591 = HEAP32[$17>>2]|0; + $592 = ((($591)) + 45|0); + $593 = HEAP8[$592>>0]|0; + $594 = $593&255; + $595 = ($594|0)!=(0); + if ($595) { + HEAP32[$38>>2] = 105; + $596 = HEAP32[$35>>2]|0; + $597 = ((($596)) + 44|0); + $598 = HEAP32[$597>>2]|0; + $599 = HEAP32[$17>>2]|0; + $600 = ((($599)) + 20|0); + HEAP32[$600>>2] = $598; + } + $601 = HEAP32[$8>>2]|0; + $602 = HEAP32[$35>>2]|0; + $603 = ((($602)) + 44|0); + $604 = HEAP32[$603>>2]|0; + $605 = HEAP32[$34>>2]|0; + $606 = HEAP32[$33>>2]|0; + $607 = HEAP32[$38>>2]|0; + _sqlite3OpenTable($601,$604,$605,$606,$607); + $608 = HEAP32[$17>>2]|0; + $609 = ((($608)) + 45|0); + $610 = HEAP8[$609>>0]|0; + $611 = $610&255; + $612 = ($611|0)==(0); + do { + if ($612) { + $613 = HEAP32[$33>>2]|0; + $614 = ((($613)) + 34|0); + $615 = HEAP16[$614>>1]|0; + $616 = $615 << 16 >> 16; + $617 = ($616|0)<(64); + if (!($617)) { + break; + } + $618 = HEAP32[$33>>2]|0; + $619 = ((($618)) + 42|0); + $620 = HEAP8[$619>>0]|0; + $621 = $620&255; + $622 = $621 & 32; + $623 = ($622|0)==(0); + if (!($623)) { + break; + } + $624 = HEAP32[$35>>2]|0; + $625 = ((($624)) + 56|0); + $626 = $625; + $627 = $626; + $628 = HEAP32[$627>>2]|0; + $629 = (($626) + 4)|0; + $630 = $629; + $631 = HEAP32[$630>>2]|0; + $632 = $39; + $633 = $632; + HEAP32[$633>>2] = $628; + $634 = (($632) + 4)|0; + $635 = $634; + HEAP32[$635>>2] = $631; + HEAP32[$40>>2] = 0; + while(1) { + $636 = $39; + $637 = $636; + $638 = HEAP32[$637>>2]|0; + $639 = (($636) + 4)|0; + $640 = $639; + $641 = HEAP32[$640>>2]|0; + $642 = ($638|0)!=(0); + $643 = ($641|0)!=(0); + $644 = $642 | $643; + if (!($644)) { + break; + } + $645 = $39; + $646 = $645; + $647 = HEAP32[$646>>2]|0; + $648 = (($645) + 4)|0; + $649 = $648; + $650 = HEAP32[$649>>2]|0; + $651 = (_bitshift64Lshr(($647|0),($650|0),1)|0); + $652 = tempRet0; + $653 = $39; + $654 = $653; + HEAP32[$654>>2] = $651; + $655 = (($653) + 4)|0; + $656 = $655; + HEAP32[$656>>2] = $652; + $657 = HEAP32[$40>>2]|0; + $658 = (($657) + 1)|0; + HEAP32[$40>>2] = $658; + } + $659 = HEAP32[$18>>2]|0; + $660 = HEAP32[$40>>2]|0; + $661 = $660; + _sqlite3VdbeChangeP4($659,-1,$661,-14); + } + } while(0); + $662 = HEAP32[$18>>2]|0; + $663 = HEAP8[$27>>0]|0; + _sqlite3VdbeChangeP5($662,$663); + break L97; + } + } while(0); + $664 = HEAP32[$8>>2]|0; + $665 = HEAP32[$34>>2]|0; + $666 = HEAP32[$33>>2]|0; + $667 = ((($666)) + 28|0); + $668 = HEAP32[$667>>2]|0; + $669 = HEAP32[$33>>2]|0; + $670 = HEAP32[$669>>2]|0; + _sqlite3TableLock($664,$665,$668,0,$670); } - HEAP32[$iColumn>>2] = -1; - } else { - HEAP32[$iColumn>>2] = -1; - HEAP8[$revIdx>>0] = 0; } } while(0); - $408 = HEAP8[$isOrderDistinct>>0]|0; - $409 = $408&255; - $410 = ($409|0)!=(0); - $411 = HEAP32[$iColumn>>2]|0; - $412 = ($411|0)>=(0); - $or$cond = $410 & $412; + $671 = HEAP32[$23>>2]|0; + $672 = ((($671)) + 36|0); + $673 = HEAP32[$672>>2]|0; + $674 = $673 & 512; + $675 = ($674|0)!=(0); do { - if ($or$cond) { - $413 = HEAP32[$j>>2]|0; - $414 = HEAP32[$pLoop>>2]|0; - $415 = ((($414)) + 24|0); - $416 = HEAP16[$415>>1]|0; - $417 = $416&65535; - $418 = ($413|0)>=($417|0); - if (!($418)) { - break; - } - $419 = HEAP32[$iColumn>>2]|0; - $420 = HEAP32[$pIndex>>2]|0; - $421 = ((($420)) + 12|0); - $422 = HEAP32[$421>>2]|0; - $423 = ((($422)) + 4|0); - $424 = HEAP32[$423>>2]|0; - $425 = (($424) + ($419<<4)|0); - $426 = ((($425)) + 12|0); - $427 = HEAP8[$426>>0]|0; - $428 = $427&255; - $429 = ($428|0)==(0); - if (!($429)) { - break; - } - HEAP8[$isOrderDistinct>>0] = 0; - } - } while(0); - HEAP8[$isMatch>>0] = 0; - HEAP32[$i>>2] = 0; - L91: while(1) { - $430 = HEAP8[$bOnce>>0]|0; - $431 = $430&255; - $432 = ($431|0)!=(0); - if (!($432)) { - break; - } - $433 = HEAP32[$i>>2]|0; - $434 = HEAP16[$nOrderBy>>1]|0; - $435 = $434&65535; - $436 = ($433|0)<($435|0); - if (!($436)) { - break; - } - $437 = HEAP32[$i>>2]|0; - $438 = (_bitshift64Shl(1,0,($437|0))|0); - $439 = tempRet0; - $440 = $obSat; - $441 = $440; - $442 = HEAP32[$441>>2]|0; - $443 = (($440) + 4)|0; - $444 = $443; - $445 = HEAP32[$444>>2]|0; - $446 = $438 & $442; - $447 = $439 & $445; - $448 = ($446|0)!=(0); - $449 = ($447|0)!=(0); - $450 = $448 | $449; - do { - if (!($450)) { - $451 = HEAP32[$i>>2]|0; - $452 = HEAP32[$2>>2]|0; - $453 = ((($452)) + 4|0); - $454 = HEAP32[$453>>2]|0; - $455 = (($454) + (($451*20)|0)|0); - $456 = HEAP32[$455>>2]|0; - $457 = (_sqlite3ExprSkipCollate($456)|0); - HEAP32[$pOBExpr>>2] = $457; - $458 = HEAP16[$4>>1]|0; - $459 = $458&65535; - $460 = $459 & 192; - $461 = ($460|0)==(0); - if ($461) { - HEAP8[$bOnce>>0] = 0; - } - $462 = HEAP32[$iColumn>>2]|0; - $463 = ($462|0)>=(-1); - $464 = HEAP32[$pOBExpr>>2]|0; - if ($463) { - $465 = HEAP8[$464>>0]|0; - $466 = $465&255; - $467 = ($466|0)!=(152); - if ($467) { + if ($675) { + $676 = HEAP32[$23>>2]|0; + $677 = ((($676)) + 24|0); + $678 = ((($677)) + 8|0); + $679 = HEAP32[$678>>2]|0; + HEAP32[$41>>2] = $679; + HEAP32[$43>>2] = 104; + $680 = HEAP32[$33>>2]|0; + $681 = ((($680)) + 42|0); + $682 = HEAP8[$681>>0]|0; + $683 = $682&255; + $684 = $683 & 32; + $685 = ($684|0)==(0); + do { + if ($685) { + label = 93; + } else { + $686 = HEAP32[$41>>2]|0; + $687 = ((($686)) + 55|0); + $688 = HEAP8[$687>>0]|0; + $689 = $688 & 3; + $690 = $689&255; + $691 = ($690|0)==(2); + if (!($691)) { + label = 93; break; } - $468 = HEAP32[$pOBExpr>>2]|0; - $469 = ((($468)) + 28|0); - $470 = HEAP32[$469>>2]|0; - $471 = HEAP32[$iCur>>2]|0; - $472 = ($470|0)!=($471|0); - if ($472) { + $692 = HEAP16[$13>>1]|0; + $693 = $692&65535; + $694 = $693 & 32; + $695 = ($694|0)!=(0); + if (!($695)) { + label = 93; break; } - $473 = HEAP32[$pOBExpr>>2]|0; - $474 = ((($473)) + 32|0); - $475 = HEAP16[$474>>1]|0; - $476 = $475 << 16 >> 16; - $477 = HEAP32[$iColumn>>2]|0; - $478 = ($476|0)!=($477|0); - if ($478) { + $696 = HEAP32[$22>>2]|0; + $697 = ((($696)) + 4|0); + $698 = HEAP32[$697>>2]|0; + HEAP32[$42>>2] = $698; + HEAP32[$43>>2] = 0; + } + } while(0); + L127: do { + if ((label|0) == 93) { + label = 0; + $699 = HEAP32[$17>>2]|0; + $700 = ((($699)) + 45|0); + $701 = HEAP8[$700>>0]|0; + $702 = $701&255; + $703 = ($702|0)!=(0); + if (!($703)) { + $724 = HEAP32[$14>>2]|0; + $725 = ($724|0)!=(0); + do { + if ($725) { + $726 = HEAP16[$13>>1]|0; + $727 = $726&65535; + $728 = $727 & 32; + $729 = ($728|0)!=(0); + if (!($729)) { + break; + } + $730 = HEAP32[$14>>2]|0; + HEAP32[$42>>2] = $730; + HEAP32[$43>>2] = 103; + break L127; + } + } while(0); + $731 = HEAP32[$8>>2]|0; + $732 = ((($731)) + 40|0); + $733 = HEAP32[$732>>2]|0; + $734 = (($733) + 1)|0; + HEAP32[$732>>2] = $734; + HEAP32[$42>>2] = $733; break; } - } else { - $479 = HEAP32[$j>>2]|0; - $480 = HEAP32[$pIndex>>2]|0; - $481 = ((($480)) + 40|0); - $482 = HEAP32[$481>>2]|0; - $483 = ((($482)) + 4|0); - $484 = HEAP32[$483>>2]|0; - $485 = (($484) + (($479*20)|0)|0); - $486 = HEAP32[$485>>2]|0; - $487 = HEAP32[$iCur>>2]|0; - $488 = (_sqlite3ExprCompare($464,$486,$487)|0); - $489 = ($488|0)!=(0); - if ($489) { - break; + $704 = HEAP32[$35>>2]|0; + $705 = ((($704)) + 16|0); + $706 = HEAP32[$705>>2]|0; + $707 = ((($706)) + 8|0); + $708 = HEAP32[$707>>2]|0; + HEAP32[$44>>2] = $708; + $709 = HEAP32[$14>>2]|0; + HEAP32[$42>>2] = $709; + while(1) { + $710 = HEAP32[$44>>2]|0; + $711 = ($710|0)!=(0|0); + if (!($711)) { + break; + } + $712 = HEAP32[$44>>2]|0; + $713 = HEAP32[$41>>2]|0; + $714 = ($712|0)!=($713|0); + if (!($714)) { + break; + } + $715 = HEAP32[$42>>2]|0; + $716 = (($715) + 1)|0; + HEAP32[$42>>2] = $716; + $717 = HEAP32[$44>>2]|0; + $718 = ((($717)) + 20|0); + $719 = HEAP32[$718>>2]|0; + HEAP32[$44>>2] = $719; } + HEAP32[$43>>2] = 105; + $720 = HEAP32[$42>>2]|0; + $721 = HEAP32[$17>>2]|0; + $722 = ((($721)) + 20|0); + $723 = ((($722)) + 4|0); + HEAP32[$723>>2] = $720; } - $490 = HEAP32[$iColumn>>2]|0; - $491 = ($490|0)>=(0); - if (!($491)) { - label = 84; - break L91; - } - $492 = HEAP32[$1>>2]|0; - $493 = HEAP32[$492>>2]|0; - $494 = HEAP32[$i>>2]|0; - $495 = HEAP32[$2>>2]|0; - $496 = ((($495)) + 4|0); - $497 = HEAP32[$496>>2]|0; - $498 = (($497) + (($494*20)|0)|0); - $499 = HEAP32[$498>>2]|0; - $500 = (_sqlite3ExprCollSeq($493,$499)|0); - HEAP32[$pColl>>2] = $500; - $501 = HEAP32[$pColl>>2]|0; - $502 = ($501|0)!=(0|0); - if (!($502)) { - $503 = HEAP32[$db>>2]|0; - $504 = ((($503)) + 8|0); - $505 = HEAP32[$504>>2]|0; - HEAP32[$pColl>>2] = $505; - } - $506 = HEAP32[$pColl>>2]|0; - $507 = HEAP32[$506>>2]|0; - $508 = HEAP32[$j>>2]|0; - $509 = HEAP32[$pIndex>>2]|0; - $510 = ((($509)) + 32|0); - $511 = HEAP32[$510>>2]|0; - $512 = (($511) + ($508<<2)|0); - $513 = HEAP32[$512>>2]|0; - $514 = (_sqlite3StrICmp($507,$513)|0); - $515 = ($514|0)!=(0); - if (!($515)) { - label = 84; - break L91; - } + } while(0); + $735 = HEAP32[$42>>2]|0; + $736 = HEAP32[$22>>2]|0; + $737 = ((($736)) + 8|0); + HEAP32[$737>>2] = $735; + $738 = HEAP32[$43>>2]|0; + $739 = ($738|0)!=(0); + if (!($739)) { + break; } - } while(0); - $516 = HEAP32[$i>>2]|0; - $517 = (($516) + 1)|0; - HEAP32[$i>>2] = $517; - } - if ((label|0) == 84) { - label = 0; - HEAP8[$isMatch>>0] = 1; - } - $518 = HEAP8[$isMatch>>0]|0; - $519 = $518&255; - $520 = ($519|0)!=(0); - do { - if ($520) { - $521 = HEAP16[$4>>1]|0; - $522 = $521&65535; - $523 = $522 & 64; - $524 = ($523|0)==(0); - if (!($524)) { + $740 = HEAP32[$18>>2]|0; + $741 = HEAP32[$43>>2]|0; + $742 = HEAP32[$42>>2]|0; + $743 = HEAP32[$41>>2]|0; + $744 = ((($743)) + 44|0); + $745 = HEAP32[$744>>2]|0; + $746 = HEAP32[$34>>2]|0; + (_sqlite3VdbeAddOp3($740,$741,$742,$745,$746)|0); + $747 = HEAP32[$8>>2]|0; + $748 = HEAP32[$41>>2]|0; + _sqlite3VdbeSetP4KeyInfo($747,$748); + $749 = HEAP32[$23>>2]|0; + $750 = ((($749)) + 36|0); + $751 = HEAP32[$750>>2]|0; + $752 = $751 & 15; + $753 = ($752|0)!=(0); + if (!($753)) { break; } - $525 = HEAP8[$revSet>>0]|0; - $526 = ($525<<24>>24)!=(0); - if ($526) { - $527 = HEAP8[$rev>>0]|0; - $528 = $527&255; - $529 = HEAP8[$revIdx>>0]|0; - $530 = $529&255; - $531 = $528 ^ $530; - $532 = HEAP32[$i>>2]|0; - $533 = HEAP32[$2>>2]|0; - $534 = ((($533)) + 4|0); - $535 = HEAP32[$534>>2]|0; - $536 = (($535) + (($532*20)|0)|0); - $537 = ((($536)) + 12|0); - $538 = HEAP8[$537>>0]|0; - $539 = $538&255; - $540 = ($531|0)!=($539|0); - if (!($540)) { - break; - } - HEAP8[$isMatch>>0] = 0; + $754 = HEAP32[$23>>2]|0; + $755 = ((($754)) + 36|0); + $756 = HEAP32[$755>>2]|0; + $757 = $756 & 32770; + $758 = ($757|0)==(0); + if (!($758)) { break; } - $541 = HEAP8[$revIdx>>0]|0; - $542 = $541&255; - $543 = HEAP32[$i>>2]|0; - $544 = HEAP32[$2>>2]|0; - $545 = ((($544)) + 4|0); - $546 = HEAP32[$545>>2]|0; - $547 = (($546) + (($543*20)|0)|0); - $548 = ((($547)) + 12|0); - $549 = HEAP8[$548>>0]|0; - $550 = $549&255; - $551 = $542 ^ $550; - $552 = $551&255; - HEAP8[$rev>>0] = $552; - $553 = HEAP8[$rev>>0]|0; - $554 = ($553<<24>>24)!=(0); - if ($554) { - $555 = HEAP32[$iLoop>>2]|0; - $556 = (_bitshift64Shl(1,0,($555|0))|0); - $557 = tempRet0; - $558 = HEAP32[$7>>2]|0; - $559 = $558; - $560 = $559; - $561 = HEAP32[$560>>2]|0; - $562 = (($559) + 4)|0; - $563 = $562; - $564 = HEAP32[$563>>2]|0; - $565 = $561 | $556; - $566 = $564 | $557; - $567 = $558; - $568 = $567; - HEAP32[$568>>2] = $565; - $569 = (($567) + 4)|0; - $570 = $569; - HEAP32[$570>>2] = $566; + $759 = HEAP32[$17>>2]|0; + $760 = ((($759)) + 40|0); + $761 = HEAP16[$760>>1]|0; + $762 = $761&65535; + $763 = $762 & 1; + $764 = ($763|0)==(0); + if (!($764)) { + break; } - HEAP8[$revSet>>0] = 1; + $765 = HEAP32[$18>>2]|0; + _sqlite3VdbeChangeP5($765,2); } } while(0); - $571 = HEAP8[$isMatch>>0]|0; - $572 = ($571<<24>>24)!=(0); - if (!($572)) { - label = 98; - break; - } - $573 = HEAP32[$iColumn>>2]|0; - $574 = ($573|0)==(-1); - if ($574) { - HEAP8[$distinctColumns>>0] = 1; + $766 = HEAP32[$34>>2]|0; + $767 = ($766|0)>=(0); + if ($767) { + $768 = HEAP32[$8>>2]|0; + $769 = HEAP32[$34>>2]|0; + _sqlite3CodeVerifySchema($768,$769); } - $575 = HEAP32[$i>>2]|0; - $576 = (_bitshift64Shl(1,0,($575|0))|0); - $577 = tempRet0; - $578 = $obSat; - $579 = $578; - $580 = HEAP32[$579>>2]|0; - $581 = (($578) + 4)|0; - $582 = $581; - $583 = HEAP32[$582>>2]|0; - $584 = $580 | $576; - $585 = $583 | $577; - $586 = $obSat; - $587 = $586; - HEAP32[$587>>2] = $584; - $588 = (($586) + 4)|0; - $589 = $588; - HEAP32[$589>>2] = $585; + $770 = HEAP32[$24>>2]|0; + $771 = (($770) + 1)|0; + HEAP32[$24>>2] = $771; + $772 = HEAP32[$22>>2]|0; + $773 = ((($772)) + 80|0); + HEAP32[$22>>2] = $773; } - $596 = HEAP32[$j>>2]|0; - $597 = (($596) + 1)|0; - HEAP32[$j>>2] = $597; - } - do { - if ((label|0) == 98) { - label = 0; - $590 = HEAP32[$j>>2]|0; - $591 = ($590|0)==(0); - if (!($591)) { - $592 = HEAP32[$j>>2]|0; - $593 = HEAP16[$nKeyCol>>1]|0; - $594 = $593&65535; - $595 = ($592|0)<($594|0); - if (!($595)) { + $774 = HEAP32[$18>>2]|0; + $775 = (_sqlite3VdbeCurrentAddr($774)|0); + $776 = HEAP32[$17>>2]|0; + $777 = ((($776)) + 52|0); + HEAP32[$777>>2] = $775; + $778 = HEAP32[$25>>2]|0; + $779 = ((($778)) + 69|0); + $780 = HEAP8[$779>>0]|0; + $781 = ($780<<24>>24)!=(0); + if (!($781)) { + $782 = $19; + $783 = $782; + HEAP32[$783>>2] = -1; + $784 = (($782) + 4)|0; + $785 = $784; + HEAP32[$785>>2] = -1; + HEAP32[$24>>2] = 0; + while(1) { + $786 = HEAP32[$24>>2]|0; + $787 = HEAP32[$16>>2]|0; + $788 = ($786|0)<($787|0); + $789 = HEAP32[$17>>2]|0; + if (!($788)) { break; } + $790 = ((($789)) + 752|0); + $791 = HEAP32[$24>>2]|0; + $792 = (($790) + (($791*80)|0)|0); + HEAP32[$22>>2] = $792; + $793 = HEAP32[$22>>2]|0; + $794 = ((($793)) + 64|0); + $795 = HEAP32[$794>>2]|0; + $796 = ((($795)) + 36|0); + $797 = HEAP32[$796>>2]|0; + HEAP32[$46>>2] = $797; + $798 = HEAP32[$22>>2]|0; + $799 = ((($798)) + 64|0); + $800 = HEAP32[$799>>2]|0; + $801 = ((($800)) + 36|0); + $802 = HEAP32[$801>>2]|0; + $803 = $802 & 16384; + $804 = ($803|0)!=(0); + if ($804) { + $805 = HEAP32[$8>>2]|0; + $806 = HEAP32[$17>>2]|0; + $807 = ((($806)) + 80|0); + $808 = HEAP32[$9>>2]|0; + $809 = ((($808)) + 8|0); + $810 = HEAP32[$22>>2]|0; + $811 = ((($810)) + 44|0); + $812 = HEAP8[$811>>0]|0; + $813 = $812&255; + $814 = (($809) + (($813*72)|0)|0); + $815 = $19; + $816 = $815; + $817 = HEAP32[$816>>2]|0; + $818 = (($815) + 4)|0; + $819 = $818; + $820 = HEAP32[$819>>2]|0; + $821 = HEAP32[$22>>2]|0; + _constructAutomaticIndex($805,$807,$814,$817,$820,$821); + $822 = HEAP32[$25>>2]|0; + $823 = ((($822)) + 69|0); + $824 = HEAP8[$823>>0]|0; + $825 = ($824<<24>>24)!=(0); + if ($825) { + break L15; + } + } + $826 = HEAP32[$8>>2]|0; + $827 = HEAP32[$9>>2]|0; + $828 = HEAP32[$22>>2]|0; + $829 = HEAP32[$24>>2]|0; + $830 = HEAP32[$22>>2]|0; + $831 = ((($830)) + 44|0); + $832 = HEAP8[$831>>0]|0; + $833 = $832&255; + $834 = HEAP16[$13>>1]|0; + $835 = (_sqlite3WhereExplainOneScan($826,$827,$828,$829,$833,$834)|0); + HEAP32[$45>>2] = $835; + $836 = HEAP32[$18>>2]|0; + $837 = (_sqlite3VdbeCurrentAddr($836)|0); + $838 = HEAP32[$22>>2]|0; + $839 = ((($838)) + 32|0); + HEAP32[$839>>2] = $837; + $840 = HEAP32[$17>>2]|0; + $841 = HEAP32[$24>>2]|0; + $842 = $19; + $843 = $842; + $844 = HEAP32[$843>>2]|0; + $845 = (($842) + 4)|0; + $846 = $845; + $847 = HEAP32[$846>>2]|0; + $848 = (_sqlite3WhereCodeOneLoopStart($840,$841,$844,$847)|0); + $849 = tempRet0; + $850 = $19; + $851 = $850; + HEAP32[$851>>2] = $848; + $852 = (($850) + 4)|0; + $853 = $852; + HEAP32[$853>>2] = $849; + $854 = HEAP32[$22>>2]|0; + $855 = ((($854)) + 24|0); + $856 = HEAP32[$855>>2]|0; + $857 = HEAP32[$17>>2]|0; + $858 = ((($857)) + 28|0); + HEAP32[$858>>2] = $856; + $859 = HEAP32[$46>>2]|0; + $860 = $859 & 8192; + $861 = ($860|0)==(0); + do { + if ($861) { + $862 = HEAP16[$13>>1]|0; + $863 = $862&65535; + $864 = $863 & 32; + $865 = ($864|0)==(0); + if (!($865)) { + break; + } + } + } while(0); + $866 = HEAP32[$24>>2]|0; + $867 = (($866) + 1)|0; + HEAP32[$24>>2] = $867; } - HEAP8[$isOrderDistinct>>0] = 0; + HEAP32[$7>>2] = $789; + $877 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($877|0); } - } while(0); - $598 = HEAP8[$distinctColumns>>0]|0; - $599 = ($598<<24>>24)!=(0); - if ($599) { - HEAP8[$isOrderDistinct>>0] = 1; - } - } - $600 = HEAP8[$isOrderDistinct>>0]|0; - $601 = ($600<<24>>24)!=(0); - if ($601) { - $602 = HEAP32[$pLoop>>2]|0; - $603 = ((($602)) + 8|0); - $604 = $603; - $605 = $604; - $606 = HEAP32[$605>>2]|0; - $607 = (($604) + 4)|0; - $608 = $607; - $609 = HEAP32[$608>>2]|0; - $610 = $orderDistinctMask; - $611 = $610; - $612 = HEAP32[$611>>2]|0; - $613 = (($610) + 4)|0; - $614 = $613; - $615 = HEAP32[$614>>2]|0; - $616 = $612 | $606; - $617 = $615 | $609; - $618 = $orderDistinctMask; - $619 = $618; - HEAP32[$619>>2] = $616; - $620 = (($618) + 4)|0; - $621 = $620; - HEAP32[$621>>2] = $617; - HEAP32[$i>>2] = 0; + } + } + } + } + } while(0); + $868 = HEAP32[$17>>2]|0; + $869 = ($868|0)!=(0|0); + if ($869) { + $870 = HEAP32[$17>>2]|0; + $871 = ((($870)) + 36|0); + $872 = HEAP32[$871>>2]|0; + $873 = HEAP32[$8>>2]|0; + $874 = ((($873)) + 136|0); + HEAP32[$874>>2] = $872; + $875 = HEAP32[$25>>2]|0; + $876 = HEAP32[$17>>2]|0; + _whereInfoFree($875,$876); + } + HEAP32[$7>>2] = 0; + $877 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($877|0); +} +function _sqlite3WhereEnd($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $423 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $1 = sp + 80|0; + $2 = sp + 76|0; + $3 = sp + 72|0; + $4 = sp + 68|0; + $5 = sp + 64|0; + $6 = sp + 60|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp + 36|0; + $13 = sp + 32|0; + $14 = sp + 28|0; + $15 = sp + 24|0; + $16 = sp + 20|0; + $17 = sp + 16|0; + $18 = sp + 12|0; + $19 = sp + 8|0; + $20 = sp + 4|0; + $21 = sp; + HEAP32[$1>>2] = $0; + $22 = HEAP32[$1>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$2>>2] = $23; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$3>>2] = $26; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$7>>2] = $29; + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$30>>2]|0; + HEAP32[$8>>2] = $31; + $32 = HEAP32[$2>>2]|0; + _sqlite3ExprCacheClear($32); + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 42|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = (($36) - 1)|0; + HEAP32[$4>>2] = $37; + while(1) { + $38 = HEAP32[$4>>2]|0; + $39 = ($38|0)>=(0); + if (!($39)) { + break; + } + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 752|0); + $42 = HEAP32[$4>>2]|0; + $43 = (($41) + (($42*80)|0)|0); + HEAP32[$5>>2] = $43; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 64|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$6>>2] = $46; + $47 = HEAP32[$3>>2]|0; + $48 = HEAP32[$5>>2]|0; + $49 = ((($48)) + 24|0); + $50 = HEAP32[$49>>2]|0; + _sqlite3VdbeResolveLabel($47,$50); + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 45|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = ($54|0)!=(161); + if ($55) { + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$5>>2]|0; + $58 = ((($57)) + 45|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = HEAP32[$5>>2]|0; + $62 = ((($61)) + 48|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$5>>2]|0; + $65 = ((($64)) + 52|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$5>>2]|0; + $68 = ((($67)) + 46|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + (_sqlite3VdbeAddOp3($56,$60,$63,$66,$70)|0); + $71 = HEAP32[$3>>2]|0; + $72 = HEAP32[$5>>2]|0; + $73 = ((($72)) + 47|0); + $74 = HEAP8[$73>>0]|0; + _sqlite3VdbeChangeP5($71,$74); + } + $75 = HEAP32[$6>>2]|0; + $76 = ((($75)) + 36|0); + $77 = HEAP32[$76>>2]|0; + $78 = $77 & 2048; + $79 = ($78|0)!=(0); + L7: do { + if ($79) { + $80 = HEAP32[$5>>2]|0; + $81 = ((($80)) + 56|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)>(0); + if ($83) { + $84 = HEAP32[$3>>2]|0; + $85 = HEAP32[$5>>2]|0; + $86 = ((($85)) + 16|0); + $87 = HEAP32[$86>>2]|0; + _sqlite3VdbeResolveLabel($84,$87); + $88 = HEAP32[$5>>2]|0; + $89 = ((($88)) + 56|0); + $90 = HEAP32[$89>>2]|0; + HEAP32[$11>>2] = $90; + $91 = HEAP32[$5>>2]|0; + $92 = ((($91)) + 56|0); + $93 = ((($92)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$11>>2]|0; + $96 = (($95) - 1)|0; + $97 = (($94) + (($96*12)|0)|0); + HEAP32[$10>>2] = $97; while(1) { - $622 = HEAP32[$i>>2]|0; - $623 = HEAP16[$nOrderBy>>1]|0; - $624 = $623&65535; - $625 = ($622|0)<($624|0); - if (!($625)) { - break L24; + $98 = HEAP32[$11>>2]|0; + $99 = ($98|0)>(0); + if (!($99)) { + break L7; } - $626 = HEAP32[$i>>2]|0; - $627 = (_bitshift64Shl(1,0,($626|0))|0); - $628 = tempRet0; - $629 = $obSat; - $630 = $629; - $631 = HEAP32[$630>>2]|0; - $632 = (($629) + 4)|0; - $633 = $632; - $634 = HEAP32[$633>>2]|0; - $635 = $627 & $631; - $636 = $628 & $634; - $637 = ($635|0)!=(0); - $638 = ($636|0)!=(0); - $639 = $637 | $638; - do { - if (!($639)) { - $640 = HEAP32[$i>>2]|0; - $641 = HEAP32[$2>>2]|0; - $642 = ((($641)) + 4|0); - $643 = HEAP32[$642>>2]|0; - $644 = (($643) + (($640*20)|0)|0); - $645 = HEAP32[$644>>2]|0; - HEAP32[$p>>2] = $645; - $646 = HEAP32[$1>>2]|0; - $647 = ((($646)) + 488|0); - $648 = HEAP32[$p>>2]|0; - $649 = (_sqlite3WhereExprUsage($647,$648)|0); - $650 = tempRet0; - $651 = $mTerm; - $652 = $651; - HEAP32[$652>>2] = $649; - $653 = (($651) + 4)|0; - $654 = $653; - HEAP32[$654>>2] = $650; - $655 = $mTerm; - $656 = $655; - $657 = HEAP32[$656>>2]|0; - $658 = (($655) + 4)|0; - $659 = $658; - $660 = HEAP32[$659>>2]|0; - $661 = ($657|0)==(0); - $662 = ($660|0)==(0); - $663 = $661 & $662; - if ($663) { - $664 = HEAP32[$p>>2]|0; - $665 = (_sqlite3ExprIsConstant($664)|0); - $666 = ($665|0)!=(0); - if (!($666)) { - break; - } + $100 = HEAP32[$3>>2]|0; + $101 = HEAP32[$10>>2]|0; + $102 = ((($101)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = (($103) + 1)|0; + _sqlite3VdbeJumpHere($100,$104); + $105 = HEAP32[$10>>2]|0; + $106 = ((($105)) + 8|0); + $107 = HEAP8[$106>>0]|0; + $108 = $107&255; + $109 = ($108|0)!=(161); + if ($109) { + $110 = HEAP32[$3>>2]|0; + $111 = HEAP32[$10>>2]|0; + $112 = ((($111)) + 8|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $115 = HEAP32[$10>>2]|0; + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$10>>2]|0; + $118 = ((($117)) + 4|0); + $119 = HEAP32[$118>>2]|0; + (_sqlite3VdbeAddOp2($110,$114,$116,$119)|0); + } + $120 = HEAP32[$3>>2]|0; + $121 = HEAP32[$10>>2]|0; + $122 = ((($121)) + 4|0); + $123 = HEAP32[$122>>2]|0; + $124 = (($123) - 1)|0; + _sqlite3VdbeJumpHere($120,$124); + $125 = HEAP32[$11>>2]|0; + $126 = (($125) + -1)|0; + HEAP32[$11>>2] = $126; + $127 = HEAP32[$10>>2]|0; + $128 = ((($127)) + -12|0); + HEAP32[$10>>2] = $128; + } + } + } + } while(0); + $129 = HEAP32[$3>>2]|0; + $130 = HEAP32[$5>>2]|0; + $131 = ((($130)) + 12|0); + $132 = HEAP32[$131>>2]|0; + _sqlite3VdbeResolveLabel($129,$132); + $133 = HEAP32[$5>>2]|0; + $134 = ((($133)) + 20|0); + $135 = HEAP32[$134>>2]|0; + $136 = ($135|0)!=(0); + if ($136) { + $137 = HEAP32[$3>>2]|0; + $138 = HEAP32[$5>>2]|0; + $139 = ((($138)) + 20|0); + $140 = HEAP32[$139>>2]|0; + (_sqlite3VdbeGoto($137,$140)|0); + $141 = HEAP32[$3>>2]|0; + $142 = HEAP32[$5>>2]|0; + $143 = ((($142)) + 20|0); + $144 = HEAP32[$143>>2]|0; + _sqlite3VdbeJumpHere($141,$144); + $145 = HEAP32[$3>>2]|0; + $146 = HEAP32[$5>>2]|0; + $147 = ((($146)) + 20|0); + $148 = HEAP32[$147>>2]|0; + $149 = (($148) - 2)|0; + _sqlite3VdbeJumpHere($145,$149); + } + $150 = HEAP32[$5>>2]|0; + $151 = ((($150)) + 40|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)!=(0); + if ($153) { + $154 = HEAP32[$3>>2]|0; + $155 = HEAP32[$5>>2]|0; + $156 = ((($155)) + 36|0); + $157 = HEAP32[$156>>2]|0; + $158 = $157 >>> 1; + $159 = HEAP32[$5>>2]|0; + $160 = ((($159)) + 40|0); + $161 = HEAP32[$160>>2]|0; + (_sqlite3VdbeAddOp2($154,68,$158,$161)|0); + } + $162 = HEAP32[$5>>2]|0; + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)!=(0); + if ($164) { + $165 = HEAP32[$6>>2]|0; + $166 = ((($165)) + 36|0); + $167 = HEAP32[$166>>2]|0; + HEAP32[$12>>2] = $167; + $168 = HEAP32[$3>>2]|0; + $169 = HEAP32[$5>>2]|0; + $170 = HEAP32[$169>>2]|0; + $171 = (_sqlite3VdbeAddOp1($168,66,$170)|0); + HEAP32[$9>>2] = $171; + $172 = HEAP32[$12>>2]|0; + $173 = $172 & 64; + $174 = ($173|0)==(0); + if ($174) { + $175 = HEAP32[$3>>2]|0; + $176 = HEAP32[$7>>2]|0; + $177 = ((($176)) + 8|0); + $178 = HEAP32[$4>>2]|0; + $179 = (($177) + (($178*72)|0)|0); + $180 = ((($179)) + 44|0); + $181 = HEAP32[$180>>2]|0; + (_sqlite3VdbeAddOp1($175,124,$181)|0); + } + $182 = HEAP32[$12>>2]|0; + $183 = $182 & 512; + $184 = ($183|0)!=(0); + if ($184) { + label = 22; + } else { + $185 = HEAP32[$12>>2]|0; + $186 = $185 & 8192; + $187 = ($186|0)!=(0); + if ($187) { + $188 = HEAP32[$5>>2]|0; + $189 = ((($188)) + 56|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($190|0)!=(0|0); + if ($191) { + label = 22; + } + } + } + if ((label|0) == 22) { + label = 0; + $192 = HEAP32[$3>>2]|0; + $193 = HEAP32[$5>>2]|0; + $194 = ((($193)) + 8|0); + $195 = HEAP32[$194>>2]|0; + (_sqlite3VdbeAddOp1($192,124,$195)|0); + } + $196 = HEAP32[$5>>2]|0; + $197 = ((($196)) + 45|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $200 = ($199|0)==(72); + $201 = HEAP32[$3>>2]|0; + $202 = HEAP32[$5>>2]|0; + if ($200) { + $203 = ((($202)) + 48|0); + $204 = HEAP32[$203>>2]|0; + $205 = HEAP32[$5>>2]|0; + $206 = ((($205)) + 28|0); + $207 = HEAP32[$206>>2]|0; + (_sqlite3VdbeAddOp2($201,14,$204,$207)|0); + } else { + $208 = ((($202)) + 28|0); + $209 = HEAP32[$208>>2]|0; + (_sqlite3VdbeGoto($201,$209)|0); + } + $210 = HEAP32[$3>>2]|0; + $211 = HEAP32[$9>>2]|0; + _sqlite3VdbeJumpHere($210,$211); + } + $212 = HEAP32[$4>>2]|0; + $213 = (($212) + -1)|0; + HEAP32[$4>>2] = $213; + } + $214 = HEAP32[$3>>2]|0; + $215 = HEAP32[$1>>2]|0; + $216 = ((($215)) + 32|0); + $217 = HEAP32[$216>>2]|0; + _sqlite3VdbeResolveLabel($214,$217); + HEAP32[$4>>2] = 0; + $218 = HEAP32[$1>>2]|0; + $219 = ((($218)) + 752|0); + HEAP32[$5>>2] = $219; + while(1) { + $220 = HEAP32[$4>>2]|0; + $221 = HEAP32[$1>>2]|0; + $222 = ((($221)) + 42|0); + $223 = HEAP8[$222>>0]|0; + $224 = $223&255; + $225 = ($220|0)<($224|0); + if (!($225)) { + break; + } + HEAP32[$16>>2] = 0; + $226 = HEAP32[$7>>2]|0; + $227 = ((($226)) + 8|0); + $228 = HEAP32[$5>>2]|0; + $229 = ((($228)) + 44|0); + $230 = HEAP8[$229>>0]|0; + $231 = $230&255; + $232 = (($227) + (($231*72)|0)|0); + HEAP32[$17>>2] = $232; + $233 = HEAP32[$17>>2]|0; + $234 = ((($233)) + 16|0); + $235 = HEAP32[$234>>2]|0; + HEAP32[$18>>2] = $235; + $236 = HEAP32[$5>>2]|0; + $237 = ((($236)) + 64|0); + $238 = HEAP32[$237>>2]|0; + HEAP32[$6>>2] = $238; + $239 = HEAP32[$17>>2]|0; + $240 = ((($239)) + 36|0); + $241 = ((($240)) + 1|0); + $242 = HEAP8[$241>>0]|0; + $243 = ($242&255) >>> 4; + $244 = $243 & 1; + $245 = $244&255; + $246 = ($245|0)!=(0); + if ($246) { + $247 = HEAP32[$8>>2]|0; + $248 = ((($247)) + 69|0); + $249 = HEAP8[$248>>0]|0; + $250 = ($249<<24>>24)!=(0); + if ($250) { + label = 33; + } else { + $251 = HEAP32[$3>>2]|0; + $252 = HEAP32[$5>>2]|0; + $253 = ((($252)) + 32|0); + $254 = HEAP32[$253>>2]|0; + $255 = HEAP32[$5>>2]|0; + $256 = ((($255)) + 4|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[$17>>2]|0; + $259 = ((($258)) + 32|0); + $260 = HEAP32[$259>>2]|0; + _translateColumnToCopy($251,$254,$257,$260,0); + } + } else { + label = 33; + } + L46: do { + if ((label|0) == 33) { + label = 0; + $261 = HEAP32[$18>>2]|0; + $262 = ((($261)) + 42|0); + $263 = HEAP8[$262>>0]|0; + $264 = $263&255; + $265 = $264 & 2; + $266 = ($265|0)==(0); + if ($266) { + $267 = HEAP32[$18>>2]|0; + $268 = ((($267)) + 12|0); + $269 = HEAP32[$268>>2]|0; + $270 = ($269|0)==(0|0); + if ($270) { + $271 = HEAP32[$1>>2]|0; + $272 = ((($271)) + 40|0); + $273 = HEAP16[$272>>1]|0; + $274 = $273&65535; + $275 = $274 & 32; + $276 = ($275|0)==(0); + if ($276) { + $277 = HEAP32[$6>>2]|0; + $278 = ((($277)) + 36|0); + $279 = HEAP32[$278>>2]|0; + HEAP32[$19>>2] = $279; + $280 = HEAP32[$1>>2]|0; + $281 = ((($280)) + 45|0); + $282 = HEAP8[$281>>0]|0; + $283 = $282&255; + $284 = ($283|0)==(0); + if ($284) { + $285 = HEAP32[$19>>2]|0; + $286 = $285 & 64; + $287 = ($286|0)==(0); + if ($287) { + $288 = HEAP32[$3>>2]|0; + $289 = HEAP32[$17>>2]|0; + $290 = ((($289)) + 44|0); + $291 = HEAP32[$290>>2]|0; + (_sqlite3VdbeAddOp1($288,111,$291)|0); } - $667 = $mTerm; - $668 = $667; - $669 = HEAP32[$668>>2]|0; - $670 = (($667) + 4)|0; - $671 = $670; - $672 = HEAP32[$671>>2]|0; - $673 = $orderDistinctMask; - $674 = $673; - $675 = HEAP32[$674>>2]|0; - $676 = (($673) + 4)|0; - $677 = $676; - $678 = HEAP32[$677>>2]|0; - $679 = $675 ^ -1; - $680 = $678 ^ -1; - $681 = $669 & $679; - $682 = $672 & $680; - $683 = ($681|0)==(0); - $684 = ($682|0)==(0); - $685 = $683 & $684; - if ($685) { - $686 = HEAP32[$i>>2]|0; - $687 = (_bitshift64Shl(1,0,($686|0))|0); - $688 = tempRet0; - $689 = $obSat; - $690 = $689; - $691 = HEAP32[$690>>2]|0; - $692 = (($689) + 4)|0; - $693 = $692; - $694 = HEAP32[$693>>2]|0; - $695 = $691 | $687; - $696 = $694 | $688; - $697 = $obSat; - $698 = $697; - HEAP32[$698>>2] = $695; - $699 = (($697) + 4)|0; - $700 = $699; - HEAP32[$700>>2] = $696; + } + $292 = HEAP32[$19>>2]|0; + $293 = $292 & 512; + $294 = ($293|0)!=(0); + if ($294) { + $295 = HEAP32[$19>>2]|0; + $296 = $295 & 16640; + $297 = ($296|0)==(0); + if ($297) { + $298 = HEAP32[$5>>2]|0; + $299 = ((($298)) + 8|0); + $300 = HEAP32[$299>>2]|0; + $301 = HEAP32[$1>>2]|0; + $302 = ((($301)) + 20|0); + $303 = ((($302)) + 4|0); + $304 = HEAP32[$303>>2]|0; + $305 = ($300|0)!=($304|0); + if ($305) { + $306 = HEAP32[$3>>2]|0; + $307 = HEAP32[$5>>2]|0; + $308 = ((($307)) + 8|0); + $309 = HEAP32[$308>>2]|0; + (_sqlite3VdbeAddOp1($306,111,$309)|0); + } } } - } while(0); - $701 = HEAP32[$i>>2]|0; - $702 = (($701) + 1)|0; - HEAP32[$i>>2] = $702; + } + } + } + $310 = HEAP32[$6>>2]|0; + $311 = ((($310)) + 36|0); + $312 = HEAP32[$311>>2]|0; + $313 = $312 & 576; + $314 = ($313|0)!=(0); + $315 = HEAP32[$6>>2]|0; + if ($314) { + $316 = ((($315)) + 24|0); + $317 = ((($316)) + 8|0); + $318 = HEAP32[$317>>2]|0; + HEAP32[$16>>2] = $318; + } else { + $319 = ((($315)) + 36|0); + $320 = HEAP32[$319>>2]|0; + $321 = $320 & 8192; + $322 = ($321|0)!=(0); + if ($322) { + $323 = HEAP32[$5>>2]|0; + $324 = ((($323)) + 56|0); + $325 = HEAP32[$324>>2]|0; + HEAP32[$16>>2] = $325; + } + } + $326 = HEAP32[$16>>2]|0; + $327 = ($326|0)!=(0|0); + if ($327) { + $328 = HEAP32[$1>>2]|0; + $329 = ((($328)) + 45|0); + $330 = HEAP8[$329>>0]|0; + $331 = $330&255; + $332 = ($331|0)==(0); + if (!($332)) { + $333 = HEAP32[$16>>2]|0; + $334 = ((($333)) + 12|0); + $335 = HEAP32[$334>>2]|0; + $336 = ((($335)) + 42|0); + $337 = HEAP8[$336>>0]|0; + $338 = $337&255; + $339 = $338 & 32; + $340 = ($339|0)==(0); + if ($340) { + break; + } + } + $341 = HEAP32[$8>>2]|0; + $342 = ((($341)) + 69|0); + $343 = HEAP8[$342>>0]|0; + $344 = ($343<<24>>24)!=(0); + if (!($344)) { + $345 = HEAP32[$3>>2]|0; + $346 = (_sqlite3VdbeCurrentAddr($345)|0); + HEAP32[$14>>2] = $346; + $347 = HEAP32[$5>>2]|0; + $348 = ((($347)) + 32|0); + $349 = HEAP32[$348>>2]|0; + HEAP32[$13>>2] = $349; + $350 = HEAP32[$3>>2]|0; + $351 = HEAP32[$13>>2]|0; + $352 = (_sqlite3VdbeGetOp($350,$351)|0); + HEAP32[$15>>2] = $352; + while(1) { + $353 = HEAP32[$13>>2]|0; + $354 = HEAP32[$14>>2]|0; + $355 = ($353|0)<($354|0); + if (!($355)) { + break L46; + } + $356 = HEAP32[$15>>2]|0; + $357 = ((($356)) + 4|0); + $358 = HEAP32[$357>>2]|0; + $359 = HEAP32[$5>>2]|0; + $360 = ((($359)) + 4|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($358|0)!=($361|0); + do { + if (!($362)) { + $363 = HEAP32[$15>>2]|0; + $364 = HEAP8[$363>>0]|0; + $365 = $364&255; + $366 = ($365|0)==(96); + $367 = HEAP32[$15>>2]|0; + if (!($366)) { + $400 = HEAP8[$367>>0]|0; + $401 = $400&255; + $402 = ($401|0)==(123); + if (!($402)) { + break; + } + $403 = HEAP32[$5>>2]|0; + $404 = ((($403)) + 8|0); + $405 = HEAP32[$404>>2]|0; + $406 = HEAP32[$15>>2]|0; + $407 = ((($406)) + 4|0); + HEAP32[$407>>2] = $405; + $408 = HEAP32[$15>>2]|0; + HEAP8[$408>>0] = -127; + break; + } + $368 = ((($367)) + 8|0); + $369 = HEAP32[$368>>2]|0; + HEAP32[$20>>2] = $369; + $370 = HEAP32[$18>>2]|0; + $371 = ((($370)) + 42|0); + $372 = HEAP8[$371>>0]|0; + $373 = $372&255; + $374 = $373 & 32; + $375 = ($374|0)==(0); + if (!($375)) { + $376 = HEAP32[$18>>2]|0; + $377 = (_sqlite3PrimaryKeyIndex($376)|0); + HEAP32[$21>>2] = $377; + $378 = HEAP32[$21>>2]|0; + $379 = ((($378)) + 4|0); + $380 = HEAP32[$379>>2]|0; + $381 = HEAP32[$20>>2]|0; + $382 = (($380) + ($381<<1)|0); + $383 = HEAP16[$382>>1]|0; + $384 = $383 << 16 >> 16; + HEAP32[$20>>2] = $384; + } + $385 = HEAP32[$16>>2]|0; + $386 = HEAP32[$20>>2]|0; + $387 = $386&65535; + $388 = (_sqlite3ColumnOfIndex($385,$387)|0); + $389 = $388 << 16 >> 16; + HEAP32[$20>>2] = $389; + $390 = HEAP32[$20>>2]|0; + $391 = ($390|0)>=(0); + if ($391) { + $392 = HEAP32[$20>>2]|0; + $393 = HEAP32[$15>>2]|0; + $394 = ((($393)) + 8|0); + HEAP32[$394>>2] = $392; + $395 = HEAP32[$5>>2]|0; + $396 = ((($395)) + 8|0); + $397 = HEAP32[$396>>2]|0; + $398 = HEAP32[$15>>2]|0; + $399 = ((($398)) + 4|0); + HEAP32[$399>>2] = $397; + } + } + } while(0); + $409 = HEAP32[$13>>2]|0; + $410 = (($409) + 1)|0; + HEAP32[$13>>2] = $410; + $411 = HEAP32[$15>>2]|0; + $412 = ((($411)) + 20|0); + HEAP32[$15>>2] = $412; + } } } } } while(0); - $703 = HEAP32[$iLoop>>2]|0; - $704 = (($703) + 1)|0; - HEAP32[$iLoop>>2] = $704; - } - if ((label|0) == 18) { - $123 = ((($122)) + 24|0); - $124 = ((($123)) + 5|0); - $125 = HEAP8[$124>>0]|0; - $126 = ($125<<24>>24)!=(0); - if ($126) { - $127 = $obDone; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = $obSat; - $134 = $133; - HEAP32[$134>>2] = $129; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; + $413 = HEAP32[$4>>2]|0; + $414 = (($413) + 1)|0; + HEAP32[$4>>2] = $414; + $415 = HEAP32[$5>>2]|0; + $416 = ((($415)) + 80|0); + HEAP32[$5>>2] = $416; + } + $417 = HEAP32[$1>>2]|0; + $418 = ((($417)) + 36|0); + $419 = HEAP32[$418>>2]|0; + $420 = HEAP32[$2>>2]|0; + $421 = ((($420)) + 136|0); + HEAP32[$421>>2] = $419; + $422 = HEAP32[$8>>2]|0; + $423 = HEAP32[$1>>2]|0; + _whereInfoFree($422,$423); + STACKTOP = sp;return; +} +function _translateColumnToCopy($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = (_sqlite3VdbeGetOp($12,$13)|0); + HEAP32[$10>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = (_sqlite3VdbeCurrentAddr($15)|0); + HEAP32[$11>>2] = $16; + while(1) { + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$11>>2]|0; + $19 = ($17|0)<($18|0); + if (!($19)) { + break; } + $20 = HEAP32[$10>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = ($22|0)!=($23|0); + do { + if (!($24)) { + $25 = HEAP32[$10>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ($27|0)==(96); + $29 = HEAP32[$10>>2]|0; + if ($28) { + HEAP8[$29>>0] = 84; + $30 = HEAP32[$10>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = (($32) + ($33))|0; + $35 = HEAP32[$10>>2]|0; + $36 = ((($35)) + 4|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$10>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$10>>2]|0; + $41 = ((($40)) + 8|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$10>>2]|0; + $43 = ((($42)) + 12|0); + HEAP32[$43>>2] = 0; + break; + } + $44 = HEAP8[$29>>0]|0; + $45 = $44&255; + $46 = ($45|0)==(123); + if ($46) { + $47 = HEAP32[$9>>2]|0; + $48 = ($47|0)!=(0); + $49 = HEAP32[$10>>2]|0; + if ($48) { + HEAP8[$49>>0] = 91; + $50 = HEAP32[$10>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$10>>2]|0; + $54 = ((($53)) + 4|0); + HEAP32[$54>>2] = $52; + $55 = HEAP32[$10>>2]|0; + $56 = ((($55)) + 8|0); + HEAP32[$56>>2] = 1; + break; + } else { + HEAP8[$49>>0] = 79; + $57 = HEAP32[$10>>2]|0; + $58 = ((($57)) + 4|0); + HEAP32[$58>>2] = 0; + $59 = HEAP32[$10>>2]|0; + $60 = ((($59)) + 12|0); + HEAP32[$60>>2] = 0; + break; + } + } + } + } while(0); + $61 = HEAP32[$6>>2]|0; + $62 = (($61) + 1)|0; + HEAP32[$6>>2] = $62; + $63 = HEAP32[$10>>2]|0; + $64 = ((($63)) + 20|0); + HEAP32[$10>>2] = $64; } - else if ((label|0) == 46) { - HEAP8[$0>>0] = 0; - $764 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($764|0); - } - $705 = $obSat; - $706 = $705; - $707 = HEAP32[$706>>2]|0; - $708 = (($705) + 4)|0; - $709 = $708; - $710 = HEAP32[$709>>2]|0; - $711 = $obDone; - $712 = $711; - $713 = HEAP32[$712>>2]|0; - $714 = (($711) + 4)|0; - $715 = $714; - $716 = HEAP32[$715>>2]|0; - $717 = ($707|0)==($713|0); - $718 = ($710|0)==($716|0); - $719 = $717 & $718; - if ($719) { - $720 = HEAP16[$nOrderBy>>1]|0; - $721 = $720&255; - HEAP8[$0>>0] = $721; - $764 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($764|0); - } - $722 = HEAP8[$isOrderDistinct>>0]|0; - $723 = ($722<<24>>24)!=(0); - if ($723) { - HEAP8[$0>>0] = -1; - $764 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($764|0); - } - $724 = HEAP16[$nOrderBy>>1]|0; - $725 = $724&65535; - $726 = (($725) - 1)|0; - HEAP32[$i>>2] = $726; + STACKTOP = sp;return; +} +function _whereInfoFree($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; while(1) { - $727 = HEAP32[$i>>2]|0; - $728 = ($727|0)>(0); - if (!($728)) { - label = 122; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 42|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($9|0)<($13|0); + $15 = HEAP32[$3>>2]|0; + if (!($14)) { break; } - $729 = HEAP32[$i>>2]|0; - $730 = (_bitshift64Shl(1,0,($729|0))|0); - $731 = tempRet0; - $732 = (_i64Subtract(($730|0),($731|0),1,0)|0); - $733 = tempRet0; - $734 = $m; - $735 = $734; - HEAP32[$735>>2] = $732; - $736 = (($734) + 4)|0; - $737 = $736; - HEAP32[$737>>2] = $733; - $738 = $obSat; - $739 = $738; - $740 = HEAP32[$739>>2]|0; - $741 = (($738) + 4)|0; - $742 = $741; - $743 = HEAP32[$742>>2]|0; - $744 = $m; - $745 = $744; - $746 = HEAP32[$745>>2]|0; - $747 = (($744) + 4)|0; - $748 = $747; - $749 = HEAP32[$748>>2]|0; - $750 = $740 & $746; - $751 = $743 & $749; - $752 = $m; - $753 = $752; - $754 = HEAP32[$753>>2]|0; - $755 = (($752) + 4)|0; - $756 = $755; - $757 = HEAP32[$756>>2]|0; - $758 = ($750|0)==($754|0); - $759 = ($751|0)==($757|0); - $760 = $758 & $759; - $761 = HEAP32[$i>>2]|0; - if ($760) { - label = 120; + $16 = ((($15)) + 752|0); + $17 = HEAP32[$4>>2]|0; + $18 = (($16) + (($17*80)|0)|0); + HEAP32[$5>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 64|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 64|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = $27 & 2048; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 56|0); + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + _sqlite3DbFree($30,$34); + } + } + $35 = HEAP32[$4>>2]|0; + $36 = (($35) + 1)|0; + HEAP32[$4>>2] = $36; + } + $37 = ((($15)) + 80|0); + _sqlite3WhereClauseClear($37); + while(1) { + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 56|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)!=(0|0); + if (!($41)) { break; } - $763 = (($761) + -1)|0; - HEAP32[$i>>2] = $763; + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 56|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$6>>2] = $44; + $45 = HEAP32[$6>>2]|0; + $46 = ((($45)) + 52|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$3>>2]|0; + $49 = ((($48)) + 56|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$2>>2]|0; + $51 = HEAP32[$6>>2]|0; + _whereLoopDelete($50,$51); } - if ((label|0) == 120) { - $762 = $761&255; - HEAP8[$0>>0] = $762; - $764 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($764|0); + $52 = HEAP32[$2>>2]|0; + $53 = HEAP32[$3>>2]|0; + _sqlite3DbFree($52,$53); + STACKTOP = sp;return; +} +function _sqlite3WhereClauseClear($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) - 1)|0; + HEAP32[$2>>2] = $12; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$3>>2] = $15; + while(1) { + $16 = HEAP32[$2>>2]|0; + $17 = ($16|0)>=(0); + if (!($17)) { + break; + } + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 10|0); + $20 = HEAP16[$19>>1]|0; + $21 = $20&65535; + $22 = $21 & 1; + $23 = ($22|0)!=(0); + if ($23) { + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$25>>2]|0; + _sqlite3ExprDelete($24,$26); + } + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 10|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29&65535; + $31 = $30 & 16; + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 28|0); + $36 = HEAP32[$35>>2]|0; + _whereOrInfoDelete($33,$36); + } else { + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 10|0); + $39 = HEAP16[$38>>1]|0; + $40 = $39&65535; + $41 = $40 & 32; + $42 = ($41|0)!=(0); + if ($42) { + $43 = HEAP32[$4>>2]|0; + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 28|0); + $46 = HEAP32[$45>>2]|0; + _whereAndInfoDelete($43,$46); + } + } + $47 = HEAP32[$2>>2]|0; + $48 = (($47) + -1)|0; + HEAP32[$2>>2] = $48; + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 48|0); + HEAP32[$3>>2] = $50; } - else if ((label|0) == 122) { - HEAP8[$0>>0] = 0; - $764 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($764|0); + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 20|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 24|0); + $56 = ($53|0)!=($55|0); + if (!($56)) { + STACKTOP = sp;return; } - return (0)|0; + $57 = HEAP32[$4>>2]|0; + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 20|0); + $60 = HEAP32[$59>>2]|0; + _sqlite3DbFree($57,$60); + STACKTOP = sp;return; } -function _whereSortingCost($pWInfo,$nRow,$nOrderBy,$nSorted) { - $pWInfo = $pWInfo|0; - $nRow = $nRow|0; - $nOrderBy = $nOrderBy|0; - $nSorted = $nSorted|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rScale = 0, $rSortCost = 0, label = 0, sp = 0; +function _whereLoopDelete($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 8|0; - $1 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 4|0; $3 = sp; - $rScale = sp + 14|0; - $rSortCost = sp + 12|0; - HEAP32[$0>>2] = $pWInfo; - HEAP16[$1>>1] = $nRow; - HEAP32[$2>>2] = $nOrderBy; - HEAP32[$3>>2] = $nSorted; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; $4 = HEAP32[$2>>2]|0; $5 = HEAP32[$3>>2]|0; - $6 = (($4) - ($5))|0; - $7 = ($6*100)|0; - $8 = HEAP32[$2>>2]|0; - $9 = (($7|0) / ($8|0))&-1; - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = (_sqlite3LogEst($9,$11)|0); - $13 = $12 << 16 >> 16; - $14 = (($13) - 66)|0; - $15 = $14&65535; - HEAP16[$rScale>>1] = $15; - $16 = HEAP16[$1>>1]|0; - $17 = $16 << 16 >> 16; - $18 = HEAP16[$rScale>>1]|0; - $19 = $18 << 16 >> 16; - $20 = (($17) + ($19))|0; - $21 = (($20) + 16)|0; - $22 = $21&65535; - HEAP16[$rSortCost>>1] = $22; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 40|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = $26 & 16384; - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 16|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31 << 16 >> 16; - $33 = HEAP16[$1>>1]|0; - $34 = $33 << 16 >> 16; - $35 = ($32|0)<($34|0); - if ($35) { - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 16|0); - $38 = HEAP16[$37>>1]|0; - HEAP16[$1>>1] = $38; - } - } - $39 = HEAP16[$1>>1]|0; - $40 = (_estLog($39)|0); - $41 = $40 << 16 >> 16; - $42 = HEAP16[$rSortCost>>1]|0; - $43 = $42 << 16 >> 16; - $44 = (($43) + ($41))|0; - $45 = $44&65535; - HEAP16[$rSortCost>>1] = $45; - $46 = HEAP16[$rSortCost>>1]|0; - STACKTOP = sp;return ($46|0); + _whereLoopClear($4,$5); + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + _sqlite3DbFree($6,$7); + STACKTOP = sp;return; } -function _estLog($N) { - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _whereLoopClear($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP16[$0>>1] = $N; - $1 = HEAP16[$0>>1]|0; - $2 = $1 << 16 >> 16; - $3 = ($2|0)<=(10); - if ($3) { - $12 = 0; - $11 = $12&65535; - STACKTOP = sp;return ($11|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 48|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 56|0); + $9 = ($6|0)!=($8|0); + if ($9) { + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 48|0); + $13 = HEAP32[$12>>2]|0; + _sqlite3DbFree($10,$13); } - $4 = HEAP16[$0>>1]|0; - $5 = $4 << 16 >> 16; - $6 = ($5|0)<(0); - $7 = $6 << 31 >> 31; - $8 = (_sqlite3LogEst($5,$7)|0); - $9 = $8 << 16 >> 16; - $10 = (($9) - 33)|0; - $12 = $10; - $11 = $12&65535; - STACKTOP = sp;return ($11|0); + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$3>>2]|0; + _whereLoopClearUnion($14,$15); + $16 = HEAP32[$3>>2]|0; + _whereLoopInit($16); + STACKTOP = sp;return; } -function _whereLoopAddVirtual($pBuilder,$0,$1,$2,$3) { - $pBuilder = $pBuilder|0; +function _whereLoopClearUnion($0,$1) { $0 = $0|0; $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; - var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; - var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; - var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; - var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; - var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; - var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; - var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; - var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; - var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; - var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bIn = 0, $i = 0, $mBest = 0, $mBestNoIn = 0, $mNext = 0, $mNoOmit = 0, $mPrev = 0, $mThis = 0, $nConstraint = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pNew = 0, $pParse = 0, $pSrc = 0, $pWC = 0; - var $pWInfo = 0, $rc = 0, $seenZero = 0, $seenZeroNoIN = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $4 = sp + 108|0; - $5 = sp + 104|0; - $6 = sp + 48|0; - $7 = sp + 40|0; - $rc = sp + 100|0; - $pWInfo = sp + 96|0; - $pParse = sp + 92|0; - $pWC = sp + 88|0; - $pSrc = sp + 84|0; - $p = sp + 80|0; - $nConstraint = sp + 76|0; - $bIn = sp + 72|0; - $pNew = sp + 68|0; - $mBest = sp + 32|0; - $mNoOmit = sp + 112|0; - $seenZero = sp + 64|0; - $seenZeroNoIN = sp + 60|0; - $mPrev = sp + 24|0; - $mBestNoIn = sp + 16|0; - $i = sp + 56|0; - $mNext = sp + 8|0; - $mThis = sp; - HEAP32[$5>>2] = $pBuilder; - $8 = $6; - $9 = $8; - HEAP32[$9>>2] = $0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $1; - $12 = $7; - $13 = $12; - HEAP32[$13>>2] = $2; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = $3; - HEAP32[$rc>>2] = 0; - $16 = HEAP32[$5>>2]|0; - $17 = HEAP32[$16>>2]|0; - HEAP32[$pWInfo>>2] = $17; - $18 = HEAP32[$pWInfo>>2]|0; - $19 = HEAP32[$18>>2]|0; - HEAP32[$pParse>>2] = $19; - $20 = HEAP32[$5>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$pWC>>2] = $22; - $23 = HEAP32[$5>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pNew>>2] = $25; - $26 = HEAP32[$pNew>>2]|0; - $27 = ((($26)) + 16|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = HEAP32[$pWInfo>>2]|0; - $31 = ((($30)) + 4|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 36|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 17408; + $8 = ($7|0)!=(0); + if (!($8)) { + STACKTOP = sp;return; + } + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 36|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 1024; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 24|0); + $16 = ((($15)) + 4|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 24|0); + $22 = ((($21)) + 8|0); + $23 = HEAP32[$22>>2]|0; + _sqlite3_free($23); + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 24|0); + $26 = ((($25)) + 4|0); + HEAP8[$26>>0] = 0; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 24|0); + $29 = ((($28)) + 8|0); + HEAP32[$29>>2] = 0; + STACKTOP = sp;return; + } + } + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 36|0); $32 = HEAP32[$31>>2]|0; - $33 = ((($32)) + 8|0); - $34 = (($33) + (($29*72)|0)|0); - HEAP32[$pSrc>>2] = $34; - $35 = HEAP32[$pParse>>2]|0; - $36 = HEAP32[$pWC>>2]|0; - $37 = $7; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$pSrc>>2]|0; - $44 = HEAP32[$5>>2]|0; - $45 = ((($44)) + 8|0); + $33 = $32 & 16384; + $34 = ($33|0)!=(0); + if (!($34)) { + STACKTOP = sp;return; + } + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 24|0); + $37 = ((($36)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)!=(0|0); + if (!($39)) { + STACKTOP = sp;return; + } + $40 = HEAP32[$2>>2]|0; + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 24|0); + $43 = ((($42)) + 8|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($44)) + 16|0); $46 = HEAP32[$45>>2]|0; - $47 = (_allocateIndexInfo($35,$36,$39,$42,$43,$46,$mNoOmit)|0); - HEAP32[$p>>2] = $47; - $48 = HEAP32[$p>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - HEAP32[$4>>2] = 7; - $387 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($387|0); + _sqlite3DbFree($40,$46); + $47 = HEAP32[$2>>2]|0; + $48 = HEAP32[$3>>2]|0; + $49 = ((($48)) + 24|0); + $50 = ((($49)) + 8|0); + $51 = HEAP32[$50>>2]|0; + _sqlite3DbFree($47,$51); + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 24|0); + $54 = ((($53)) + 8|0); + HEAP32[$54>>2] = 0; + STACKTOP = sp;return; +} +function _whereLoopInit($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 56|0); + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 48|0); + HEAP32[$5>>2] = $3; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 40|0); + HEAP16[$7>>1] = 0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 44|0); + HEAP16[$9>>1] = 3; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 36|0); + HEAP32[$11>>2] = 0; + STACKTOP = sp;return; +} +function _whereOrInfoDelete($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + _sqlite3WhereClauseClear($4); + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + _sqlite3DbFree($5,$6); + STACKTOP = sp;return; +} +function _whereAndInfoDelete($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + _sqlite3WhereClauseClear($4); + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + _sqlite3DbFree($5,$6); + STACKTOP = sp;return; +} +function _sqlite3WhereClauseInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + HEAP32[$5>>2] = $4; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + HEAP32[$7>>2] = 0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 12|0); + HEAP32[$9>>2] = 0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 16|0); + HEAP32[$11>>2] = 8; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 20|0); + HEAP32[$15>>2] = $13; + STACKTOP = sp;return; +} +function _sqlite3WhereSplit($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp + 12|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP8[$5>>0] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = (_sqlite3ExprSkipCollate($7)|0); + HEAP32[$6>>2] = $8; + $9 = HEAP8[$5>>0]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 8|0); + HEAP8[$11>>0] = $9; + $12 = HEAP32[$6>>2]|0; + $13 = ($12|0)==(0|0); + if ($13) { + STACKTOP = sp;return; } - $50 = HEAP32[$pNew>>2]|0; - $51 = ((($50)) + 18|0); - HEAP16[$51>>1] = 0; - $52 = HEAP32[$pNew>>2]|0; - $53 = ((($52)) + 36|0); - HEAP32[$53>>2] = 1024; - $54 = HEAP32[$pNew>>2]|0; - $55 = ((($54)) + 40|0); - HEAP16[$55>>1] = 0; - $56 = HEAP32[$pNew>>2]|0; - $57 = ((($56)) + 24|0); - $58 = ((($57)) + 4|0); - HEAP8[$58>>0] = 0; - $59 = HEAP32[$p>>2]|0; - $60 = HEAP32[$59>>2]|0; - HEAP32[$nConstraint>>2] = $60; - $61 = HEAP32[$pParse>>2]|0; - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$pNew>>2]|0; - $64 = HEAP32[$nConstraint>>2]|0; - $65 = (_whereLoopResize($62,$63,$64)|0); - $66 = ($65|0)!=(0); - if ($66) { - $67 = HEAP32[$pParse>>2]|0; - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$p>>2]|0; - _sqlite3DbFree($68,$69); - HEAP32[$4>>2] = 7; - $387 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($387|0); + $14 = HEAP32[$6>>2]|0; + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = HEAP8[$5>>0]|0; + $18 = $17&255; + $19 = ($16|0)!=($18|0); + $20 = HEAP32[$3>>2]|0; + if ($19) { + $21 = HEAP32[$4>>2]|0; + (_whereClauseInsert($20,$21,0)|0); + STACKTOP = sp;return; + } else { + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP8[$5>>0]|0; + _sqlite3WhereSplit($20,$24,$25); + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP8[$5>>0]|0; + _sqlite3WhereSplit($26,$29,$30); + STACKTOP = sp;return; } - $70 = HEAP32[$5>>2]|0; - $71 = $6; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = (($71) + 4)|0; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = HEAP32[$p>>2]|0; - $78 = HEAP16[$mNoOmit>>1]|0; - $79 = (_whereLoopAddVirtualOne($70,$73,$76,-1,-1,0,$77,$78,$bIn)|0); - HEAP32[$rc>>2] = $79; - $80 = HEAP32[$rc>>2]|0; - $81 = ($80|0)==(0); - if ($81) { - $82 = HEAP32[$pNew>>2]|0; - $83 = $82; - $84 = $83; +} +function _createMask($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + 1)|0; + HEAP32[$7>>2] = $9; + $10 = (($6) + ($8<<2)|0); + HEAP32[$10>>2] = $4; + STACKTOP = sp;return; +} +function _sqlite3WhereTabFuncArgs($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 36|0); + $14 = ((($13)) + 1|0); + $15 = HEAP8[$14>>0]|0; + $16 = ($15&255) >>> 2; + $17 = $16 & 1; + $18 = $17&255; + $19 = ($18|0)==(0); + if ($19) { + STACKTOP = sp;return; + } + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$6>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 64|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$9>>2] = $25; + $26 = HEAP32[$9>>2]|0; + $27 = ($26|0)==(0|0); + if ($27) { + STACKTOP = sp;return; + } + HEAP32[$8>>2] = 0; + HEAP32[$7>>2] = 0; + while(1) { + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$9>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ($28|0)<($30|0); + if (!($31)) { + label = 13; + break; + } + while(1) { + $32 = HEAP32[$8>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = ((($33)) + 34|0); + $35 = HEAP16[$34>>1]|0; + $36 = $35 << 16 >> 16; + $37 = ($32|0)<($36|0); + if ($37) { + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$8>>2]|0; + $42 = (($40) + ($41<<4)|0); + $43 = ((($42)) + 15|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = $45 & 2; + $47 = ($46|0)==(0); + $92 = $47; + } else { + $92 = 0; + } + $48 = HEAP32[$8>>2]|0; + if (!($92)) { + break; + } + $49 = (($48) + 1)|0; + HEAP32[$8>>2] = $49; + } + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 34|0); + $52 = HEAP16[$51>>1]|0; + $53 = $52 << 16 >> 16; + $54 = ($48|0)>=($53|0); + $55 = HEAP32[$3>>2]|0; + if ($54) { + label = 10; + break; + } + $59 = HEAP32[$55>>2]|0; + $60 = (_sqlite3ExprAlloc($59,152,0,0)|0); + HEAP32[$10>>2] = $60; + $61 = HEAP32[$10>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + label = 13; + break; + } + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 44|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$10>>2]|0; + $67 = ((($66)) + 28|0); + HEAP32[$67>>2] = $65; + $68 = HEAP32[$8>>2]|0; + $69 = (($68) + 1)|0; + HEAP32[$8>>2] = $69; + $70 = $68&65535; + $71 = HEAP32[$10>>2]|0; + $72 = ((($71)) + 32|0); + HEAP16[$72>>1] = $70; + $73 = HEAP32[$6>>2]|0; + $74 = HEAP32[$10>>2]|0; + $75 = ((($74)) + 44|0); + HEAP32[$75>>2] = $73; + $76 = HEAP32[$3>>2]|0; + $77 = HEAP32[$10>>2]|0; + $78 = HEAP32[$3>>2]|0; + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$9>>2]|0; + $81 = ((($80)) + 4|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$7>>2]|0; + $84 = (($82) + (($83*20)|0)|0); $85 = HEAP32[$84>>2]|0; - $86 = (($83) + 4)|0; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = $6; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = $91 ^ -1; - $96 = $94 ^ -1; - $97 = $85 & $95; - $98 = $88 & $96; - $99 = $mBest; - $100 = $99; - HEAP32[$100>>2] = $97; - $101 = (($99) + 4)|0; - $102 = $101; - HEAP32[$102>>2] = $98; - $103 = ($97|0)!=(0); - $104 = ($98|0)!=(0); - $105 = $103 | $104; - if ($105) { - HEAP32[$seenZero>>2] = 0; - HEAP32[$seenZeroNoIN>>2] = 0; - $106 = $mPrev; - $107 = $106; - HEAP32[$107>>2] = 0; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = 0; - $110 = $mBestNoIn; - $111 = $110; - HEAP32[$111>>2] = 0; - $112 = (($110) + 4)|0; - $113 = $112; - HEAP32[$113>>2] = 0; - $114 = HEAP32[$bIn>>2]|0; - $115 = ($114|0)!=(0); - if ($115) { - $116 = HEAP32[$5>>2]|0; - $117 = $6; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = HEAP32[$p>>2]|0; - $124 = HEAP16[$mNoOmit>>1]|0; - $125 = (_whereLoopAddVirtualOne($116,$119,$122,-1,-1,1,$123,$124,$bIn)|0); - HEAP32[$rc>>2] = $125; - $126 = HEAP32[$pNew>>2]|0; - $127 = $126; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = $6; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = (($133) + 4)|0; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = $135 ^ -1; - $140 = $138 ^ -1; - $141 = $129 & $139; - $142 = $132 & $140; - $143 = $mBestNoIn; - $144 = $143; - HEAP32[$144>>2] = $141; - $145 = (($143) + 4)|0; - $146 = $145; - HEAP32[$146>>2] = $142; - $147 = $mBestNoIn; - $148 = $147; - $149 = HEAP32[$148>>2]|0; - $150 = (($147) + 4)|0; - $151 = $150; - $152 = HEAP32[$151>>2]|0; - $153 = ($149|0)==(0); - $154 = ($152|0)==(0); - $155 = $153 & $154; - if ($155) { - HEAP32[$seenZero>>2] = 1; - HEAP32[$seenZeroNoIN>>2] = 1; + $86 = (_sqlite3ExprDup($79,$85,0)|0); + $87 = (_sqlite3PExpr($76,37,$77,$86,0)|0); + HEAP32[$11>>2] = $87; + $88 = HEAP32[$5>>2]|0; + $89 = HEAP32[$11>>2]|0; + (_whereClauseInsert($88,$89,1)|0); + $90 = HEAP32[$7>>2]|0; + $91 = (($90) + 1)|0; + HEAP32[$7>>2] = $91; + } + if ((label|0) == 10) { + $56 = HEAP32[$6>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $57; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $58; + _sqlite3ErrorMsg($55,34469,$vararg_buffer); + STACKTOP = sp;return; + } + else if ((label|0) == 13) { + STACKTOP = sp;return; + } +} +function _sqlite3WhereExprAnalyze($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($7) - 1)|0; + HEAP32[$4>>2] = $8; + while(1) { + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)>=(0); + if (!($10)) { + break; + } + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$4>>2]|0; + _exprAnalyze($11,$12,$13); + $14 = HEAP32[$4>>2]|0; + $15 = (($14) + -1)|0; + HEAP32[$4>>2] = $15; + } + STACKTOP = sp;return; +} +function _isDistinctRedundant($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, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)!=(1); + if ($16) { + HEAP32[$4>>2] = 0; + $96 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($96|0); + } + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 8|0); + $19 = ((($18)) + 44|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$12>>2] = $20; + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 8|0); + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$9>>2] = $24; + HEAP32[$11>>2] = 0; + while(1) { + $25 = HEAP32[$11>>2]|0; + $26 = HEAP32[$8>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = ($25|0)<($27|0); + if (!($28)) { + break; + } + $29 = HEAP32[$8>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$11>>2]|0; + $33 = (($31) + (($32*20)|0)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_sqlite3ExprSkipCollate($34)|0); + HEAP32[$13>>2] = $35; + $36 = HEAP32[$13>>2]|0; + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = ($38|0)==(152); + if ($39) { + $40 = HEAP32[$13>>2]|0; + $41 = ((($40)) + 28|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$12>>2]|0; + $44 = ($42|0)==($43|0); + if ($44) { + $45 = HEAP32[$13>>2]|0; + $46 = ((($45)) + 32|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47 << 16 >> 16; + $49 = ($48|0)<(0); + if ($49) { + label = 8; + break; } } + } + $50 = HEAP32[$11>>2]|0; + $51 = (($50) + 1)|0; + HEAP32[$11>>2] = $51; + } + if ((label|0) == 8) { + HEAP32[$4>>2] = 1; + $96 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($96|0); + } + $52 = HEAP32[$9>>2]|0; + $53 = ((($52)) + 8|0); + $54 = HEAP32[$53>>2]|0; + HEAP32[$10>>2] = $54; + while(1) { + $55 = HEAP32[$10>>2]|0; + $56 = ($55|0)!=(0|0); + if (!($56)) { + label = 22; + break; + } + $57 = HEAP32[$10>>2]|0; + $58 = ((($57)) + 54|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = ($60|0)!=(0); + if ($61) { + HEAP32[$11>>2] = 0; while(1) { - $156 = HEAP32[$rc>>2]|0; - $157 = ($156|0)==(0); - if (!($157)) { + $62 = HEAP32[$11>>2]|0; + $63 = HEAP32[$10>>2]|0; + $64 = ((($63)) + 50|0); + $65 = HEAP16[$64>>1]|0; + $66 = $65&65535; + $67 = ($62|0)<($66|0); + if (!($67)) { break; } - $158 = $mNext; - $159 = $158; - HEAP32[$159>>2] = -1; - $160 = (($158) + 4)|0; - $161 = $160; - HEAP32[$161>>2] = -1; - HEAP32[$i>>2] = 0; - while(1) { - $162 = HEAP32[$i>>2]|0; - $163 = HEAP32[$nConstraint>>2]|0; - $164 = ($162|0)<($163|0); - if (!($164)) { + $68 = HEAP32[$7>>2]|0; + $69 = HEAP32[$12>>2]|0; + $70 = HEAP32[$11>>2]|0; + $71 = HEAP32[$10>>2]|0; + $72 = (_sqlite3WhereFindTerm($68,$69,$70,-1,-1,2,$71)|0); + $73 = (0|0)==($72|0); + if ($73) { + $74 = HEAP32[$5>>2]|0; + $75 = HEAP32[$8>>2]|0; + $76 = HEAP32[$12>>2]|0; + $77 = HEAP32[$10>>2]|0; + $78 = HEAP32[$11>>2]|0; + $79 = (_findIndexCol($74,$75,$76,$77,$78)|0); + $80 = ($79|0)<(0); + if ($80) { break; } - $165 = HEAP32[$i>>2]|0; - $166 = HEAP32[$p>>2]|0; - $167 = ((($166)) + 4|0); - $168 = HEAP32[$167>>2]|0; - $169 = (($168) + (($165*12)|0)|0); - $170 = ((($169)) + 8|0); - $171 = HEAP32[$170>>2]|0; - $172 = HEAP32[$pWC>>2]|0; - $173 = ((($172)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = (($174) + (($171*48)|0)|0); - $176 = ((($175)) + 32|0); - $177 = $176; - $178 = $177; - $179 = HEAP32[$178>>2]|0; - $180 = (($177) + 4)|0; - $181 = $180; - $182 = HEAP32[$181>>2]|0; - $183 = $6; - $184 = $183; - $185 = HEAP32[$184>>2]|0; - $186 = (($183) + 4)|0; - $187 = $186; - $188 = HEAP32[$187>>2]|0; - $189 = $185 ^ -1; - $190 = $188 ^ -1; - $191 = $179 & $189; - $192 = $182 & $190; - $193 = $mThis; - $194 = $193; - HEAP32[$194>>2] = $191; - $195 = (($193) + 4)|0; - $196 = $195; - HEAP32[$196>>2] = $192; - $197 = $mThis; - $198 = $197; - $199 = HEAP32[$198>>2]|0; - $200 = (($197) + 4)|0; - $201 = $200; - $202 = HEAP32[$201>>2]|0; - $203 = $mPrev; - $204 = $203; - $205 = HEAP32[$204>>2]|0; - $206 = (($203) + 4)|0; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = ($202>>>0)>($208>>>0); - $210 = ($199>>>0)>($205>>>0); - $211 = ($202|0)==($208|0); - $212 = $211 & $210; - $213 = $209 | $212; - if ($213) { - $214 = $mThis; - $215 = $214; - $216 = HEAP32[$215>>2]|0; - $217 = (($214) + 4)|0; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = $mNext; - $221 = $220; - $222 = HEAP32[$221>>2]|0; - $223 = (($220) + 4)|0; - $224 = $223; - $225 = HEAP32[$224>>2]|0; - $226 = ($219>>>0)<($225>>>0); - $227 = ($216>>>0)<($222>>>0); - $228 = ($219|0)==($225|0); - $229 = $228 & $227; - $230 = $226 | $229; - if ($230) { - $231 = $mThis; - $232 = $231; - $233 = HEAP32[$232>>2]|0; - $234 = (($231) + 4)|0; - $235 = $234; - $236 = HEAP32[$235>>2]|0; - $237 = $mNext; - $238 = $237; - HEAP32[$238>>2] = $233; - $239 = (($237) + 4)|0; - $240 = $239; - HEAP32[$240>>2] = $236; - } + $81 = HEAP32[$10>>2]|0; + $82 = HEAP32[$11>>2]|0; + $83 = (_indexColumnNotNull($81,$82)|0); + $84 = ($83|0)==(0); + if ($84) { + break; } - $241 = HEAP32[$i>>2]|0; - $242 = (($241) + 1)|0; - HEAP32[$i>>2] = $242; } - $243 = $mNext; - $244 = $243; - $245 = HEAP32[$244>>2]|0; - $246 = (($243) + 4)|0; - $247 = $246; - $248 = HEAP32[$247>>2]|0; - $249 = $mPrev; - $250 = $249; - HEAP32[$250>>2] = $245; - $251 = (($249) + 4)|0; - $252 = $251; - HEAP32[$252>>2] = $248; - $253 = $mNext; - $254 = $253; - $255 = HEAP32[$254>>2]|0; - $256 = (($253) + 4)|0; - $257 = $256; - $258 = HEAP32[$257>>2]|0; - $259 = ($255|0)==(-1); - $260 = ($258|0)==(-1); - $261 = $259 & $260; - if ($261) { - break; + $85 = HEAP32[$11>>2]|0; + $86 = (($85) + 1)|0; + HEAP32[$11>>2] = $86; + } + $87 = HEAP32[$11>>2]|0; + $88 = HEAP32[$10>>2]|0; + $89 = ((($88)) + 50|0); + $90 = HEAP16[$89>>1]|0; + $91 = $90&65535; + $92 = ($87|0)==($91|0); + if ($92) { + label = 20; + break; + } + } + $93 = HEAP32[$10>>2]|0; + $94 = ((($93)) + 20|0); + $95 = HEAP32[$94>>2]|0; + HEAP32[$10>>2] = $95; + } + if ((label|0) == 20) { + HEAP32[$4>>2] = 1; + $96 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($96|0); + } + else if ((label|0) == 22) { + HEAP32[$4>>2] = 0; + $96 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($96|0); + } + return (0)|0; +} +function _whereShortCut($0) { + $0 = $0|0; + var $$sink = 0, $$sink2 = 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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $1 = sp + 44|0; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$2>>2] = $0; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$3>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 40|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = $18 & 32; + $20 = ($19|0)!=(0); + if ($20) { + HEAP32[$1>>2] = 0; + $219 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($219|0); + } + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 8|0); + HEAP32[$4>>2] = $24; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 16|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$10>>2] = $27; + $28 = HEAP32[$10>>2]|0; + $29 = ((($28)) + 42|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = $31 & 16; + $33 = ($32|0)!=(0); + if ($33) { + HEAP32[$1>>2] = 0; + $219 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($219|0); + } + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 36|0); + $36 = ((($35)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37&255) >>> 1; + $39 = $38 & 1; + $40 = $39&255; + $41 = ($40|0)!=(0); + if ($41) { + HEAP32[$1>>2] = 0; + $219 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($219|0); + } + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 44|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$8>>2] = $44; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 80|0); + HEAP32[$5>>2] = $46; + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 12|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$7>>2] = $49; + $50 = HEAP32[$7>>2]|0; + $51 = ((($50)) + 36|0); + HEAP32[$51>>2] = 0; + $52 = HEAP32[$7>>2]|0; + $53 = ((($52)) + 42|0); + HEAP16[$53>>1] = 0; + $54 = HEAP32[$5>>2]|0; + $55 = HEAP32[$8>>2]|0; + $56 = (_sqlite3WhereFindTerm($54,$55,-1,0,0,130,0)|0); + HEAP32[$6>>2] = $56; + $57 = HEAP32[$6>>2]|0; + $58 = ($57|0)!=(0|0); + L13: do { + if ($58) { + $59 = HEAP32[$7>>2]|0; + $60 = ((($59)) + 36|0); + HEAP32[$60>>2] = 4353; + $61 = HEAP32[$6>>2]|0; + $62 = HEAP32[$7>>2]|0; + $63 = ((($62)) + 48|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$64>>2] = $61; + $65 = HEAP32[$7>>2]|0; + $66 = ((($65)) + 40|0); + HEAP16[$66>>1] = 1; + $67 = HEAP32[$7>>2]|0; + $68 = ((($67)) + 24|0); + HEAP16[$68>>1] = 1; + $69 = HEAP32[$7>>2]|0; + $$sink = 33;$$sink2 = $69; + label = 24; + } else { + $70 = HEAP32[$10>>2]|0; + $71 = ((($70)) + 8|0); + $72 = HEAP32[$71>>2]|0; + HEAP32[$11>>2] = $72; + while(1) { + $73 = HEAP32[$11>>2]|0; + $74 = ($73|0)!=(0|0); + if (!($74)) { + break L13; } - $262 = $mNext; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = (($262) + 4)|0; - $266 = $265; - $267 = HEAP32[$266>>2]|0; - $268 = $mBest; - $269 = $268; - $270 = HEAP32[$269>>2]|0; - $271 = (($268) + 4)|0; - $272 = $271; - $273 = HEAP32[$272>>2]|0; - $274 = ($264|0)==($270|0); - $275 = ($267|0)==($273|0); - $276 = $274 & $275; - if ($276) { - continue; + $75 = HEAP32[$11>>2]|0; + $76 = ((($75)) + 54|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = ($78|0)!=(0); + if ($79) { + $80 = HEAP32[$11>>2]|0; + $81 = ((($80)) + 36|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)!=(0|0); + if (!($83)) { + $84 = HEAP32[$11>>2]|0; + $85 = ((($84)) + 50|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = ($87|0)>(3); + if (!($88)) { + $89 = HEAP32[$11>>2]|0; + $90 = ((($89)) + 55|0); + $91 = HEAP8[$90>>0]|0; + $92 = ($91&255) >>> 3; + $93 = $92 & 1; + $94 = $93&255; + $95 = ($94|0)!=(0); + $96 = $95 ? 130 : 2; + HEAP32[$12>>2] = $96; + HEAP32[$9>>2] = 0; + while(1) { + $97 = HEAP32[$9>>2]|0; + $98 = HEAP32[$11>>2]|0; + $99 = ((($98)) + 50|0); + $100 = HEAP16[$99>>1]|0; + $101 = $100&65535; + $102 = ($97|0)<($101|0); + if (!($102)) { + break; + } + $103 = HEAP32[$5>>2]|0; + $104 = HEAP32[$8>>2]|0; + $105 = HEAP32[$9>>2]|0; + $106 = HEAP32[$12>>2]|0; + $107 = HEAP32[$11>>2]|0; + $108 = (_sqlite3WhereFindTerm($103,$104,$105,0,0,$106,$107)|0); + HEAP32[$6>>2] = $108; + $109 = HEAP32[$6>>2]|0; + $110 = ($109|0)==(0|0); + if ($110) { + break; + } + $111 = HEAP32[$6>>2]|0; + $112 = HEAP32[$7>>2]|0; + $113 = ((($112)) + 48|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$9>>2]|0; + $116 = (($114) + ($115<<2)|0); + HEAP32[$116>>2] = $111; + $117 = HEAP32[$9>>2]|0; + $118 = (($117) + 1)|0; + HEAP32[$9>>2] = $118; + } + $119 = HEAP32[$9>>2]|0; + $120 = HEAP32[$11>>2]|0; + $121 = ((($120)) + 50|0); + $122 = HEAP16[$121>>1]|0; + $123 = $122&65535; + $124 = ($119|0)!=($123|0); + if (!($124)) { + break; + } + } + } } - $277 = $mNext; - $278 = $277; - $279 = HEAP32[$278>>2]|0; - $280 = (($277) + 4)|0; - $281 = $280; - $282 = HEAP32[$281>>2]|0; - $283 = $mBestNoIn; - $284 = $283; - $285 = HEAP32[$284>>2]|0; - $286 = (($283) + 4)|0; - $287 = $286; - $288 = HEAP32[$287>>2]|0; - $289 = ($279|0)==($285|0); - $290 = ($282|0)==($288|0); - $291 = $289 & $290; - if ($291) { - continue; + $169 = HEAP32[$11>>2]|0; + $170 = ((($169)) + 20|0); + $171 = HEAP32[$170>>2]|0; + HEAP32[$11>>2] = $171; + } + $125 = HEAP32[$7>>2]|0; + $126 = ((($125)) + 36|0); + HEAP32[$126>>2] = 4609; + $127 = HEAP32[$11>>2]|0; + $128 = ((($127)) + 55|0); + $129 = HEAP8[$128>>0]|0; + $130 = ($129&255) >>> 5; + $131 = $130 & 1; + $132 = $131&255; + $133 = ($132|0)!=(0); + if ($133) { + label = 21; + } else { + $134 = HEAP32[$4>>2]|0; + $135 = ((($134)) + 56|0); + $136 = $135; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = HEAP32[$11>>2]|0; + $143 = (_columnsInIndex($142)|0); + $144 = tempRet0; + $145 = $143 ^ -1; + $146 = $144 ^ -1; + $147 = $138 & $145; + $148 = $141 & $146; + $149 = ($147|0)==(0); + $150 = ($148|0)==(0); + $151 = $149 & $150; + if ($151) { + label = 21; } - $292 = HEAP32[$5>>2]|0; - $293 = $6; - $294 = $293; - $295 = HEAP32[$294>>2]|0; - $296 = (($293) + 4)|0; - $297 = $296; - $298 = HEAP32[$297>>2]|0; - $299 = $mNext; - $300 = $299; - $301 = HEAP32[$300>>2]|0; - $302 = (($299) + 4)|0; - $303 = $302; - $304 = HEAP32[$303>>2]|0; - $305 = $6; - $306 = $305; - $307 = HEAP32[$306>>2]|0; - $308 = (($305) + 4)|0; - $309 = $308; - $310 = HEAP32[$309>>2]|0; - $311 = $301 | $307; - $312 = $304 | $310; - $313 = HEAP32[$p>>2]|0; - $314 = HEAP16[$mNoOmit>>1]|0; - $315 = (_whereLoopAddVirtualOne($292,$295,$298,$311,$312,0,$313,$314,$bIn)|0); - HEAP32[$rc>>2] = $315; - $316 = HEAP32[$pNew>>2]|0; - $317 = $316; - $318 = $317; - $319 = HEAP32[$318>>2]|0; - $320 = (($317) + 4)|0; - $321 = $320; - $322 = HEAP32[$321>>2]|0; - $323 = $6; - $324 = $323; - $325 = HEAP32[$324>>2]|0; - $326 = (($323) + 4)|0; - $327 = $326; - $328 = HEAP32[$327>>2]|0; - $329 = ($319|0)==($325|0); - $330 = ($322|0)==($328|0); - $331 = $329 & $330; - if (!($331)) { - continue; + } + if ((label|0) == 21) { + $152 = HEAP32[$7>>2]|0; + $153 = ((($152)) + 36|0); + $154 = HEAP32[$153>>2]|0; + $155 = $154 | 64; + HEAP32[$153>>2] = $155; + } + $156 = HEAP32[$9>>2]|0; + $157 = $156&65535; + $158 = HEAP32[$7>>2]|0; + $159 = ((($158)) + 40|0); + HEAP16[$159>>1] = $157; + $160 = HEAP32[$9>>2]|0; + $161 = $160&65535; + $162 = HEAP32[$7>>2]|0; + $163 = ((($162)) + 24|0); + HEAP16[$163>>1] = $161; + $164 = HEAP32[$11>>2]|0; + $165 = HEAP32[$7>>2]|0; + $166 = ((($165)) + 24|0); + $167 = ((($166)) + 8|0); + HEAP32[$167>>2] = $164; + $168 = HEAP32[$7>>2]|0; + $$sink = 39;$$sink2 = $168; + label = 24; + } + } while(0); + if ((label|0) == 24) { + $172 = ((($$sink2)) + 20|0); + HEAP16[$172>>1] = $$sink; + } + $173 = HEAP32[$7>>2]|0; + $174 = ((($173)) + 36|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)!=(0); + if (!($176)) { + HEAP32[$1>>2] = 0; + $219 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($219|0); + } + $177 = HEAP32[$7>>2]|0; + $178 = ((($177)) + 22|0); + HEAP16[$178>>1] = 1; + $179 = HEAP32[$7>>2]|0; + $180 = HEAP32[$3>>2]|0; + $181 = ((($180)) + 752|0); + $182 = ((($181)) + 64|0); + HEAP32[$182>>2] = $179; + $183 = HEAP32[$3>>2]|0; + $184 = ((($183)) + 488|0); + $185 = HEAP32[$8>>2]|0; + $186 = (_sqlite3WhereGetMask($184,$185)|0); + $187 = tempRet0; + $188 = HEAP32[$7>>2]|0; + $189 = ((($188)) + 8|0); + $190 = $189; + $191 = $190; + HEAP32[$191>>2] = $186; + $192 = (($190) + 4)|0; + $193 = $192; + HEAP32[$193>>2] = $187; + $194 = HEAP32[$8>>2]|0; + $195 = HEAP32[$3>>2]|0; + $196 = ((($195)) + 752|0); + $197 = ((($196)) + 4|0); + HEAP32[$197>>2] = $194; + $198 = HEAP32[$3>>2]|0; + $199 = ((($198)) + 72|0); + HEAP16[$199>>1] = 1; + $200 = HEAP32[$3>>2]|0; + $201 = ((($200)) + 8|0); + $202 = HEAP32[$201>>2]|0; + $203 = ($202|0)!=(0|0); + if ($203) { + $204 = HEAP32[$3>>2]|0; + $205 = ((($204)) + 8|0); + $206 = HEAP32[$205>>2]|0; + $207 = HEAP32[$206>>2]|0; + $208 = $207&255; + $209 = HEAP32[$3>>2]|0; + $210 = ((($209)) + 43|0); + HEAP8[$210>>0] = $208; + } + $211 = HEAP32[$3>>2]|0; + $212 = ((($211)) + 40|0); + $213 = HEAP16[$212>>1]|0; + $214 = $213&65535; + $215 = $214 & 256; + $216 = ($215|0)!=(0); + if ($216) { + $217 = HEAP32[$3>>2]|0; + $218 = ((($217)) + 47|0); + HEAP8[$218>>0] = 1; + } + HEAP32[$1>>2] = 1; + $219 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($219|0); +} +function _whereLoopAddAll($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $1 = sp + 60|0; + $2 = sp + 56|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 64|0; + $13 = sp; + $14 = sp + 24|0; + HEAP32[$1>>2] = $0; + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$2>>2] = $16; + $17 = $3; + $18 = $17; + HEAP32[$18>>2] = 0; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = 0; + $21 = $4; + $22 = $21; + HEAP32[$22>>2] = 0; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = 0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$6>>2] = $27; + $28 = HEAP32[$6>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 42|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = (($29) + (($33*72)|0)|0); + HEAP32[$8>>2] = $34; + $35 = HEAP32[$2>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$36>>2]|0; + HEAP32[$9>>2] = $37; + HEAP32[$10>>2] = 0; + HEAP8[$12>>0] = 0; + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$11>>2] = $40; + $41 = HEAP32[$11>>2]|0; + _whereLoopInit($41); + HEAP32[$5>>2] = 0; + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 8|0); + HEAP32[$7>>2] = $43; + while(1) { + $44 = HEAP32[$7>>2]|0; + $45 = HEAP32[$8>>2]|0; + $46 = ($44>>>0)<($45>>>0); + if (!($46)) { + label = 19; + break; + } + $47 = $13; + $48 = $47; + HEAP32[$48>>2] = 0; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = 0; + $51 = HEAP32[$5>>2]|0; + $52 = $51&255; + $53 = HEAP32[$11>>2]|0; + $54 = ((($53)) + 16|0); + HEAP8[$54>>0] = $52; + $55 = HEAP32[$2>>2]|0; + $56 = ((($55)) + 488|0); + $57 = HEAP32[$7>>2]|0; + $58 = ((($57)) + 44|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3WhereGetMask($56,$59)|0); + $61 = tempRet0; + $62 = HEAP32[$11>>2]|0; + $63 = ((($62)) + 8|0); + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = $60; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = $61; + $68 = HEAP32[$7>>2]|0; + $69 = ((($68)) + 36|0); + $70 = HEAP8[$69>>0]|0; + $71 = $70&255; + $72 = HEAP8[$12>>0]|0; + $73 = $72&255; + $74 = $71 | $73; + $75 = $74 & 10; + $76 = ($75|0)!=(0); + if ($76) { + $77 = $4; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + 4)|0; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = $3; + $84 = $83; + HEAP32[$84>>2] = $79; + $85 = (($83) + 4)|0; + $86 = $85; + HEAP32[$86>>2] = $82; + } + $87 = HEAP32[$7>>2]|0; + $88 = ((($87)) + 36|0); + $89 = HEAP8[$88>>0]|0; + HEAP8[$12>>0] = $89; + $90 = HEAP32[$7>>2]|0; + $91 = ((($90)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($92)) + 42|0); + $94 = HEAP8[$93>>0]|0; + $95 = $94&255; + $96 = $95 & 16; + $97 = ($96|0)!=(0); + if ($97) { + $98 = HEAP32[$7>>2]|0; + $99 = ((($98)) + 72|0); + HEAP32[$14>>2] = $99; + while(1) { + $100 = HEAP32[$14>>2]|0; + $101 = HEAP32[$8>>2]|0; + $102 = ($100>>>0)<($101>>>0); + if (!($102)) { + break; } - HEAP32[$seenZero>>2] = 1; - $332 = HEAP32[$bIn>>2]|0; - $333 = ($332|0)==(0); - if (!($333)) { - continue; + $103 = $13; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = ($105|0)!=(0); + $110 = ($108|0)!=(0); + $111 = $109 | $110; + if ($111) { + label = 10; + } else { + $112 = HEAP32[$14>>2]|0; + $113 = ((($112)) + 36|0); + $114 = HEAP8[$113>>0]|0; + $115 = $114&255; + $116 = $115 & 10; + $117 = ($116|0)!=(0); + if ($117) { + label = 10; + } } - HEAP32[$seenZeroNoIN>>2] = 1; - } - $334 = HEAP32[$rc>>2]|0; - $335 = ($334|0)==(0); - $336 = HEAP32[$seenZero>>2]|0; - $337 = ($336|0)==(0); - $or$cond = $335 & $337; - if ($or$cond) { - $338 = HEAP32[$5>>2]|0; - $339 = $6; - $340 = $339; - $341 = HEAP32[$340>>2]|0; - $342 = (($339) + 4)|0; - $343 = $342; - $344 = HEAP32[$343>>2]|0; - $345 = $6; - $346 = $345; - $347 = HEAP32[$346>>2]|0; - $348 = (($345) + 4)|0; - $349 = $348; - $350 = HEAP32[$349>>2]|0; - $351 = HEAP32[$p>>2]|0; - $352 = HEAP16[$mNoOmit>>1]|0; - $353 = (_whereLoopAddVirtualOne($338,$341,$344,$347,$350,0,$351,$352,$bIn)|0); - HEAP32[$rc>>2] = $353; - $354 = HEAP32[$bIn>>2]|0; - $355 = ($354|0)==(0); - if ($355) { - HEAP32[$seenZeroNoIN>>2] = 1; + if ((label|0) == 10) { + label = 0; + $118 = HEAP32[$2>>2]|0; + $119 = ((($118)) + 488|0); + $120 = HEAP32[$14>>2]|0; + $121 = ((($120)) + 44|0); + $122 = HEAP32[$121>>2]|0; + $123 = (_sqlite3WhereGetMask($119,$122)|0); + $124 = tempRet0; + $125 = $13; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = (($125) + 4)|0; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = $127 | $123; + $132 = $130 | $124; + $133 = $13; + $134 = $133; + HEAP32[$134>>2] = $131; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; } + $137 = HEAP32[$14>>2]|0; + $138 = ((($137)) + 72|0); + HEAP32[$14>>2] = $138; } - $356 = HEAP32[$rc>>2]|0; - $357 = ($356|0)==(0); - $358 = HEAP32[$seenZeroNoIN>>2]|0; - $359 = ($358|0)==(0); - $or$cond3 = $357 & $359; - if ($or$cond3) { - $360 = HEAP32[$5>>2]|0; - $361 = $6; - $362 = $361; - $363 = HEAP32[$362>>2]|0; - $364 = (($361) + 4)|0; - $365 = $364; - $366 = HEAP32[$365>>2]|0; - $367 = $6; - $368 = $367; - $369 = HEAP32[$368>>2]|0; - $370 = (($367) + 4)|0; - $371 = $370; - $372 = HEAP32[$371>>2]|0; - $373 = HEAP32[$p>>2]|0; - $374 = HEAP16[$mNoOmit>>1]|0; - $375 = (_whereLoopAddVirtualOne($360,$363,$366,$369,$372,1,$373,$374,$bIn)|0); - HEAP32[$rc>>2] = $375; - } - } - } - $376 = HEAP32[$p>>2]|0; - $377 = ((($376)) + 28|0); - $378 = HEAP32[$377>>2]|0; - $379 = ($378|0)!=(0); - if ($379) { - $380 = HEAP32[$p>>2]|0; - $381 = ((($380)) + 24|0); - $382 = HEAP32[$381>>2]|0; - _sqlite3_free($382); + $139 = HEAP32[$1>>2]|0; + $140 = $3; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = $13; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (_whereLoopAddVirtual($139,$142,$145,$148,$151)|0); + HEAP32[$10>>2] = $152; + } else { + $153 = HEAP32[$1>>2]|0; + $154 = $3; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (($154) + 4)|0; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = (_whereLoopAddBtree($153,$156,$159)|0); + HEAP32[$10>>2] = $160; + } + $161 = HEAP32[$10>>2]|0; + $162 = ($161|0)==(0); + if ($162) { + $163 = HEAP32[$1>>2]|0; + $164 = $3; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = (($164) + 4)|0; + $168 = $167; + $169 = HEAP32[$168>>2]|0; + $170 = $13; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = (($170) + 4)|0; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = (_whereLoopAddOr($163,$166,$169,$172,$175)|0); + HEAP32[$10>>2] = $176; + } + $177 = HEAP32[$11>>2]|0; + $178 = ((($177)) + 8|0); + $179 = $178; + $180 = $179; + $181 = HEAP32[$180>>2]|0; + $182 = (($179) + 4)|0; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = $4; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = (($185) + 4)|0; + $189 = $188; + $190 = HEAP32[$189>>2]|0; + $191 = $187 | $181; + $192 = $190 | $184; + $193 = $4; + $194 = $193; + HEAP32[$194>>2] = $191; + $195 = (($193) + 4)|0; + $196 = $195; + HEAP32[$196>>2] = $192; + $197 = HEAP32[$10>>2]|0; + $198 = ($197|0)!=(0); + if ($198) { + label = 19; + break; + } + $199 = HEAP32[$9>>2]|0; + $200 = ((($199)) + 69|0); + $201 = HEAP8[$200>>0]|0; + $202 = $201&255; + $203 = ($202|0)!=(0); + if ($203) { + label = 19; + break; + } + $204 = HEAP32[$5>>2]|0; + $205 = (($204) + 1)|0; + HEAP32[$5>>2] = $205; + $206 = HEAP32[$7>>2]|0; + $207 = ((($206)) + 72|0); + HEAP32[$7>>2] = $207; } - $383 = HEAP32[$pParse>>2]|0; - $384 = HEAP32[$383>>2]|0; - $385 = HEAP32[$p>>2]|0; - _sqlite3DbFree($384,$385); - $386 = HEAP32[$rc>>2]|0; - HEAP32[$4>>2] = $386; - $387 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($387|0); + if ((label|0) == 19) { + $208 = HEAP32[$9>>2]|0; + $209 = HEAP32[$11>>2]|0; + _whereLoopClear($208,$209); + $210 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($210|0); + } + return (0)|0; } -function _whereLoopAddBtree($pBuilder,$0,$1) { - $pBuilder = $pBuilder|0; +function _wherePathSolver($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; @@ -183829,811 +151346,1202 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; - var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 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, $aiColumnPk = 0, $aiRowEstPk = 0, $b = 0, $iCur = 0, $iSortIdx = 0; - var $ii = 0, $m = 0, $nLookup = 0, $or$cond = 0, $pFirst = 0, $pNew = 0, $pProbe = 0, $pSrc = 0, $pTab = 0, $pTabList = 0, $pTerm = 0, $pTerm1 = 0, $pWC = 0, $pWC2 = 0, $pWCEnd = 0, $pWInfo = 0, $rLogSize = 0, $rSize = 0, $rc = 0, $sPk = 0; - var dest = 0, label = 0, sp = 0, stop = 0; + var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0; + var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0; + var $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; + var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0; + var $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0; + var $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0; + var $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0; + var $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0; + var $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0; + var $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0; + var $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0; + var $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0; + var $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0; + var $785 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $2 = sp + 144|0; - $3 = sp + 8|0; - $pWInfo = sp + 140|0; - $pProbe = sp + 136|0; - $sPk = sp + 80|0; - $aiRowEstPk = sp + 156|0; - $aiColumnPk = sp + 154|0; - $pTabList = sp + 72|0; - $pSrc = sp + 68|0; - $pNew = sp + 64|0; - $rc = sp + 60|0; - $iSortIdx = sp + 56|0; - $b = sp + 52|0; - $rSize = sp + 152|0; - $rLogSize = sp + 150|0; - $pWC = sp + 48|0; - $pTab = sp + 44|0; - $pFirst = sp + 40|0; - $pTerm = sp + 36|0; - $pWCEnd = sp + 32|0; - $m = sp; - $nLookup = sp + 148|0; - $ii = sp + 28|0; - $iCur = sp + 24|0; - $pWC2 = sp + 20|0; - $pTerm1 = sp + 16|0; - HEAP32[$2>>2] = $pBuilder; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - HEAP16[$aiColumnPk>>1] = -1; - HEAP32[$rc>>2] = 0; - HEAP32[$iSortIdx>>2] = 1; - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pNew>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$11>>2]|0; - HEAP32[$pWInfo>>2] = $12; - $13 = HEAP32[$pWInfo>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$pTabList>>2] = $15; - $16 = HEAP32[$pTabList>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$pNew>>2]|0; - $19 = ((($18)) + 16|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = (($17) + (($21*72)|0)|0); - HEAP32[$pSrc>>2] = $22; - $23 = HEAP32[$pSrc>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pTab>>2] = $25; - $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$pWC>>2] = $28; - $29 = HEAP32[$pSrc>>2]|0; - $30 = ((($29)) + 68|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)!=(0|0); - do { - if ($32) { - $33 = HEAP32[$pSrc>>2]|0; - $34 = ((($33)) + 68|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$pProbe>>2] = $35; + STACKTOP = STACKTOP + 176|0; + $vararg_buffer = sp + 40|0; + $2 = sp + 148|0; + $3 = sp + 144|0; + $4 = sp + 162|0; + $5 = sp + 140|0; + $6 = sp + 136|0; + $7 = sp + 132|0; + $8 = sp + 128|0; + $9 = sp + 124|0; + $10 = sp + 120|0; + $11 = sp + 116|0; + $12 = sp + 112|0; + $13 = sp + 108|0; + $14 = sp + 160|0; + $15 = sp + 158|0; + $16 = sp + 104|0; + $17 = sp + 100|0; + $18 = sp + 96|0; + $19 = sp + 92|0; + $20 = sp + 88|0; + $21 = sp + 84|0; + $22 = sp + 80|0; + $23 = sp + 76|0; + $24 = sp + 72|0; + $25 = sp + 68|0; + $26 = sp + 64|0; + $27 = sp + 156|0; + $28 = sp + 154|0; + $29 = sp + 152|0; + $30 = sp + 164|0; + $31 = sp + 32|0; + $32 = sp + 24|0; + $33 = sp + 60|0; + $34 = sp + 16|0; + $35 = sp + 56|0; + $36 = sp + 52|0; + $37 = sp + 8|0; + $38 = sp + 48|0; + $39 = sp; + $40 = sp + 44|0; + HEAP32[$3>>2] = $0; + HEAP16[$4>>1] = $1; + HEAP32[$12>>2] = 0; + HEAP16[$14>>1] = 0; + HEAP16[$15>>1] = 0; + HEAP32[$24>>2] = 0; + $41 = HEAP32[$3>>2]|0; + $42 = HEAP32[$41>>2]|0; + HEAP32[$7>>2] = $42; + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$43>>2]|0; + HEAP32[$8>>2] = $44; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 42|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + HEAP32[$6>>2] = $48; + $49 = HEAP32[$6>>2]|0; + $50 = ($49|0)<=(1); + if ($50) { + $54 = 1; + } else { + $51 = HEAP32[$6>>2]|0; + $52 = ($51|0)==(2); + $53 = $52 ? 5 : 10; + $54 = $53; + } + HEAP32[$5>>2] = $54; + $55 = HEAP32[$3>>2]|0; + $56 = ((($55)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + label = 5; + } else { + $59 = HEAP16[$4>>1]|0; + $60 = $59 << 16 >> 16; + $61 = ($60|0)==(0); + if ($61) { + label = 5; } else { - $36 = HEAP32[$pTab>>2]|0; - $37 = ((($36)) + 42|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = $39 & 32; - $41 = ($40|0)==(0); - if (!($41)) { - $42 = HEAP32[$pTab>>2]|0; - $43 = ((($42)) + 8|0); - $44 = HEAP32[$43>>2]|0; - HEAP32[$pProbe>>2] = $44; - break; - } - dest=$sPk; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $45 = ((($sPk)) + 50|0); - HEAP16[$45>>1] = 1; - $46 = ((($sPk)) + 52|0); - HEAP16[$46>>1] = 1; - $47 = ((($sPk)) + 4|0); - HEAP32[$47>>2] = $aiColumnPk; - $48 = ((($sPk)) + 8|0); - HEAP32[$48>>2] = $aiRowEstPk; - $49 = ((($sPk)) + 54|0); - HEAP8[$49>>0] = 5; - $50 = HEAP32[$pTab>>2]|0; - $51 = ((($sPk)) + 12|0); - HEAP32[$51>>2] = $50; - $52 = HEAP32[$pTab>>2]|0; - $53 = ((($52)) + 40|0); - $54 = HEAP16[$53>>1]|0; - $55 = ((($sPk)) + 48|0); - HEAP16[$55>>1] = $54; - $56 = HEAP32[$pTab>>2]|0; - $57 = ((($56)) + 38|0); - $58 = HEAP16[$57>>1]|0; - HEAP16[$aiRowEstPk>>1] = $58; - $59 = ((($aiRowEstPk)) + 2|0); - HEAP16[$59>>1] = 0; - $60 = HEAP32[$pSrc>>2]|0; - $61 = ((($60)) + 16|0); - $62 = HEAP32[$61>>2]|0; + $62 = HEAP32[$3>>2]|0; $63 = ((($62)) + 8|0); $64 = HEAP32[$63>>2]|0; - HEAP32[$pFirst>>2] = $64; - $65 = HEAP32[$pSrc>>2]|0; - $66 = ((($65)) + 36|0); - $67 = ((($66)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = $68 & 1; - $70 = $69&255; - $71 = ($70|0)==(0); - if ($71) { - $72 = HEAP32[$pFirst>>2]|0; - $73 = ((($sPk)) + 20|0); - HEAP32[$73>>2] = $72; - } - HEAP32[$pProbe>>2] = $sPk; - } - } while(0); - $74 = HEAP32[$pTab>>2]|0; - $75 = ((($74)) + 38|0); - $76 = HEAP16[$75>>1]|0; - HEAP16[$rSize>>1] = $76; - $77 = HEAP16[$rSize>>1]|0; - $78 = (_estLog($77)|0); - HEAP16[$rLogSize>>1] = $78; - $79 = HEAP32[$2>>2]|0; - $80 = ((($79)) + 16|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)!=(0|0); - L11: do { - if (!($82)) { - $83 = HEAP32[$pWInfo>>2]|0; - $84 = ((($83)) + 40|0); - $85 = HEAP16[$84>>1]|0; - $86 = $85&65535; - $87 = $86 & 32; - $88 = ($87|0)==(0); - if ($88) { - $89 = HEAP32[$pWInfo>>2]|0; - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$90>>2]|0; - $92 = ((($91)) + 24|0); - $93 = HEAP32[$92>>2]|0; - $94 = $93 & 1048576; - $95 = ($94|0)!=(0); - if ($95) { - $96 = HEAP32[$pSrc>>2]|0; - $97 = ((($96)) + 68|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $100 = HEAP32[$pSrc>>2]|0; - $101 = ((($100)) + 36|0); - $102 = ((($101)) + 1|0); - $103 = HEAP8[$102>>0]|0; - $104 = $103 & 1; - $105 = $104&255; - $106 = ($105|0)!=(0); - if (!($106)) { - $107 = HEAP32[$pTab>>2]|0; - $108 = ((($107)) + 42|0); - $109 = HEAP8[$108>>0]|0; - $110 = $109&255; - $111 = $110 & 32; - $112 = ($111|0)==(0); - if ($112) { - $113 = HEAP32[$pSrc>>2]|0; - $114 = ((($113)) + 36|0); - $115 = ((($114)) + 1|0); - $116 = HEAP8[$115>>0]|0; - $117 = ($116&255) >>> 3; - $118 = $117 & 1; - $119 = $118&255; - $120 = ($119|0)!=(0); - if (!($120)) { - $121 = HEAP32[$pSrc>>2]|0; - $122 = ((($121)) + 36|0); - $123 = ((($122)) + 1|0); - $124 = HEAP8[$123>>0]|0; - $125 = ($124&255) >>> 5; - $126 = $125 & 1; - $127 = $126&255; - $128 = ($127|0)!=(0); - if (!($128)) { - $129 = HEAP32[$pWC>>2]|0; - $130 = ((($129)) + 20|0); - $131 = HEAP32[$130>>2]|0; - $132 = HEAP32[$pWC>>2]|0; - $133 = ((($132)) + 12|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($131) + (($134*48)|0)|0); - HEAP32[$pWCEnd>>2] = $135; - $136 = HEAP32[$pWC>>2]|0; - $137 = ((($136)) + 20|0); - $138 = HEAP32[$137>>2]|0; - HEAP32[$pTerm>>2] = $138; - while(1) { - $139 = HEAP32[$rc>>2]|0; - $140 = ($139|0)==(0); - if (!($140)) { - break L11; - } - $141 = HEAP32[$pTerm>>2]|0; - $142 = HEAP32[$pWCEnd>>2]|0; - $143 = ($141>>>0)<($142>>>0); - if (!($143)) { - break L11; - } - $144 = HEAP32[$pTerm>>2]|0; - $145 = ((($144)) + 32|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = HEAP32[$pNew>>2]|0; - $153 = ((($152)) + 8|0); - $154 = $153; - $155 = $154; - $156 = HEAP32[$155>>2]|0; - $157 = (($154) + 4)|0; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = $148 & $156; - $161 = $151 & $159; - $162 = ($160|0)!=(0); - $163 = ($161|0)!=(0); - $164 = $162 | $163; - if (!($164)) { - $165 = HEAP32[$pTerm>>2]|0; - $166 = HEAP32[$pSrc>>2]|0; - $167 = (_termCanDriveIndex($165,$166,0,0)|0); - $168 = ($167|0)!=(0); - if ($168) { - $169 = HEAP32[$pNew>>2]|0; - $170 = ((($169)) + 24|0); - HEAP16[$170>>1] = 1; - $171 = HEAP32[$pNew>>2]|0; - $172 = ((($171)) + 42|0); - HEAP16[$172>>1] = 0; - $173 = HEAP32[$pNew>>2]|0; - $174 = ((($173)) + 24|0); - $175 = ((($174)) + 8|0); - HEAP32[$175>>2] = 0; - $176 = HEAP32[$pNew>>2]|0; - $177 = ((($176)) + 40|0); - HEAP16[$177>>1] = 1; - $178 = HEAP32[$pTerm>>2]|0; - $179 = HEAP32[$pNew>>2]|0; - $180 = ((($179)) + 48|0); - $181 = HEAP32[$180>>2]|0; - HEAP32[$181>>2] = $178; - $182 = HEAP16[$rLogSize>>1]|0; - $183 = $182 << 16 >> 16; - $184 = HEAP16[$rSize>>1]|0; - $185 = $184 << 16 >> 16; - $186 = (($183) + ($185))|0; - $187 = (($186) + 4)|0; - $188 = $187&65535; - $189 = HEAP32[$pNew>>2]|0; - $190 = ((($189)) + 18|0); - HEAP16[$190>>1] = $188; - $191 = HEAP32[$pTab>>2]|0; - $192 = ((($191)) + 12|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==(0|0); - if ($194) { - $195 = HEAP32[$pTab>>2]|0; - $196 = ((($195)) + 42|0); - $197 = HEAP8[$196>>0]|0; - $198 = $197&255; - $199 = $198 & 2; - $200 = ($199|0)==(0); - if ($200) { - $201 = HEAP32[$pNew>>2]|0; - $202 = ((($201)) + 18|0); - $203 = HEAP16[$202>>1]|0; - $204 = $203 << 16 >> 16; - $205 = (($204) + 24)|0; - $206 = $205&65535; - HEAP16[$202>>1] = $206; - } - } - $207 = HEAP32[$pNew>>2]|0; - $208 = ((($207)) + 18|0); - $209 = HEAP16[$208>>1]|0; - $210 = $209 << 16 >> 16; - $211 = ($210|0)<(0); - if ($211) { - $212 = HEAP32[$pNew>>2]|0; - $213 = ((($212)) + 18|0); - HEAP16[$213>>1] = 0; - } - $214 = HEAP32[$pNew>>2]|0; - $215 = ((($214)) + 22|0); - HEAP16[$215>>1] = 43; - $216 = HEAP16[$rLogSize>>1]|0; - $217 = HEAP32[$pNew>>2]|0; - $218 = ((($217)) + 22|0); - $219 = HEAP16[$218>>1]|0; - $220 = (_sqlite3LogEstAdd($216,$219)|0); - $221 = HEAP32[$pNew>>2]|0; - $222 = ((($221)) + 20|0); - HEAP16[$222>>1] = $220; - $223 = HEAP32[$pNew>>2]|0; - $224 = ((($223)) + 36|0); - HEAP32[$224>>2] = 16384; - $225 = $3; - $226 = $225; - $227 = HEAP32[$226>>2]|0; - $228 = (($225) + 4)|0; - $229 = $228; - $230 = HEAP32[$229>>2]|0; - $231 = HEAP32[$pTerm>>2]|0; - $232 = ((($231)) + 32|0); - $233 = $232; - $234 = $233; - $235 = HEAP32[$234>>2]|0; - $236 = (($233) + 4)|0; - $237 = $236; - $238 = HEAP32[$237>>2]|0; - $239 = $227 | $235; - $240 = $230 | $238; - $241 = HEAP32[$pNew>>2]|0; - $242 = $241; - $243 = $242; - HEAP32[$243>>2] = $239; - $244 = (($242) + 4)|0; - $245 = $244; - HEAP32[$245>>2] = $240; - $246 = HEAP32[$2>>2]|0; - $247 = HEAP32[$pNew>>2]|0; - $248 = (_whereLoopInsert($246,$247)|0); - HEAP32[$rc>>2] = $248; - } - } - $249 = HEAP32[$pTerm>>2]|0; - $250 = ((($249)) + 48|0); - HEAP32[$pTerm>>2] = $250; - } - } - } - } - } - } - } - } + $65 = HEAP32[$64>>2]|0; + HEAP32[$13>>2] = $65; } - } while(0); - L35: while(1) { - $251 = HEAP32[$rc>>2]|0; - $252 = ($251|0)==(0); - $253 = HEAP32[$pProbe>>2]|0; - $254 = ($253|0)!=(0|0); - $255 = $252 ? $254 : 0; - if (!($255)) { - label = 57; + } + if ((label|0) == 5) { + HEAP32[$13>>2] = 0; + } + $66 = HEAP32[$6>>2]|0; + $67 = $66<<2; + $68 = (32 + ($67))|0; + $69 = HEAP32[$5>>2]|0; + $70 = Math_imul($68, $69)|0; + $71 = $70<<1; + HEAP32[$26>>2] = $71; + $72 = HEAP32[$13>>2]|0; + $73 = $72<<1; + $74 = HEAP32[$26>>2]|0; + $75 = (($74) + ($73))|0; + HEAP32[$26>>2] = $75; + $76 = HEAP32[$8>>2]|0; + $77 = HEAP32[$26>>2]|0; + $78 = ($77|0)<(0); + $79 = $78 << 31 >> 31; + $80 = (_sqlite3DbMallocRawNN($76,$77,$79)|0); + HEAP32[$25>>2] = $80; + $81 = HEAP32[$25>>2]|0; + $82 = ($81|0)==(0|0); + if ($82) { + HEAP32[$2>>2] = 7; + $785 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($785|0); + } + $83 = HEAP32[$25>>2]|0; + HEAP32[$19>>2] = $83; + $84 = HEAP32[$19>>2]|0; + $85 = HEAP32[$5>>2]|0; + $86 = (($84) + ($85<<5)|0); + HEAP32[$18>>2] = $86; + $87 = HEAP32[$18>>2]|0; + ;HEAP32[$87>>2]=0|0;HEAP32[$87+4>>2]=0|0;HEAP32[$87+8>>2]=0|0;HEAP32[$87+12>>2]=0|0;HEAP32[$87+16>>2]=0|0;HEAP32[$87+20>>2]=0|0;HEAP32[$87+24>>2]=0|0;HEAP32[$87+28>>2]=0|0; + $88 = HEAP32[$18>>2]|0; + $89 = HEAP32[$5>>2]|0; + $90 = (($88) + ($89<<5)|0); + HEAP32[$23>>2] = $90; + $91 = HEAP32[$5>>2]|0; + $92 = $91<<1; + HEAP32[$10>>2] = $92; + $93 = HEAP32[$19>>2]|0; + HEAP32[$20>>2] = $93; + while(1) { + $94 = HEAP32[$10>>2]|0; + $95 = ($94|0)>(0); + if (!($95)) { break; } - $256 = HEAP32[$pProbe>>2]|0; - $257 = ((($256)) + 36|0); - $258 = HEAP32[$257>>2]|0; - $259 = ($258|0)!=(0|0); - if ($259) { - $260 = HEAP32[$pSrc>>2]|0; - $261 = ((($260)) + 44|0); - $262 = HEAP32[$261>>2]|0; - $263 = HEAP32[$pWC>>2]|0; - $264 = HEAP32[$pProbe>>2]|0; - $265 = ((($264)) + 36|0); - $266 = HEAP32[$265>>2]|0; - $267 = (_whereUsablePartialIndex($262,$263,$266)|0); - $268 = ($267|0)!=(0); - if ($268) { - label = 31; - } - } else { - label = 31; + $96 = HEAP32[$23>>2]|0; + $97 = HEAP32[$20>>2]|0; + $98 = ((($97)) + 24|0); + HEAP32[$98>>2] = $96; + $99 = HEAP32[$10>>2]|0; + $100 = (($99) + -1)|0; + HEAP32[$10>>2] = $100; + $101 = HEAP32[$20>>2]|0; + $102 = ((($101)) + 32|0); + HEAP32[$20>>2] = $102; + $103 = HEAP32[$6>>2]|0; + $104 = HEAP32[$23>>2]|0; + $105 = (($104) + ($103<<2)|0); + HEAP32[$23>>2] = $105; + } + $106 = HEAP32[$13>>2]|0; + $107 = ($106|0)!=(0); + if ($107) { + $108 = HEAP32[$23>>2]|0; + HEAP32[$24>>2] = $108; + $109 = HEAP32[$24>>2]|0; + $110 = HEAP32[$13>>2]|0; + $111 = $110<<1; + _memset(($109|0),0,($111|0))|0; + } + $112 = HEAP32[$7>>2]|0; + $113 = ((($112)) + 136|0); + $114 = HEAP32[$113>>2]|0; + $115 = ($114>>>0)<(48); + if ($115) { + $116 = HEAP32[$7>>2]|0; + $117 = ((($116)) + 136|0); + $118 = HEAP32[$117>>2]|0; + $120 = $118; + } else { + $120 = 48; + } + $119 = $120&65535; + $121 = HEAP32[$18>>2]|0; + $122 = ((($121)) + 16|0); + HEAP16[$122>>1] = $119; + HEAP32[$17>>2] = 1; + $123 = HEAP32[$13>>2]|0; + $124 = ($123|0)!=(0); + if ($124) { + $125 = HEAP32[$6>>2]|0; + $126 = ($125|0)>(0); + $127 = HEAP32[$13>>2]|0; + $128 = $126 ? -1 : $127; + $129 = $128&255; + $130 = HEAP32[$18>>2]|0; + $131 = ((($130)) + 22|0); + HEAP8[$131>>0] = $129; + } + HEAP32[$9>>2] = 0; + while(1) { + $132 = HEAP32[$9>>2]|0; + $133 = HEAP32[$6>>2]|0; + $134 = ($132|0)<($133|0); + if (!($134)) { + break; } - if ((label|0) == 31) { - label = 0; - $269 = HEAP32[$pProbe>>2]|0; - $270 = ((($269)) + 8|0); - $271 = HEAP32[$270>>2]|0; - $272 = HEAP16[$271>>1]|0; - HEAP16[$rSize>>1] = $272; - $273 = HEAP32[$pNew>>2]|0; - $274 = ((($273)) + 24|0); - HEAP16[$274>>1] = 0; - $275 = HEAP32[$pNew>>2]|0; - $276 = ((($275)) + 24|0); - $277 = ((($276)) + 2|0); - HEAP16[$277>>1] = 0; - $278 = HEAP32[$pNew>>2]|0; - $279 = ((($278)) + 24|0); - $280 = ((($279)) + 4|0); - HEAP16[$280>>1] = 0; - $281 = HEAP32[$pNew>>2]|0; - $282 = ((($281)) + 42|0); - HEAP16[$282>>1] = 0; - $283 = HEAP32[$pNew>>2]|0; - $284 = ((($283)) + 40|0); - HEAP16[$284>>1] = 0; - $285 = HEAP32[$pNew>>2]|0; - $286 = ((($285)) + 17|0); - HEAP8[$286>>0] = 0; - $287 = HEAP32[$pNew>>2]|0; - $288 = ((($287)) + 18|0); - HEAP16[$288>>1] = 0; - $289 = $3; - $290 = $289; - $291 = HEAP32[$290>>2]|0; - $292 = (($289) + 4)|0; - $293 = $292; - $294 = HEAP32[$293>>2]|0; - $295 = HEAP32[$pNew>>2]|0; - $296 = $295; - $297 = $296; - HEAP32[$297>>2] = $291; - $298 = (($296) + 4)|0; - $299 = $298; - HEAP32[$299>>2] = $294; - $300 = HEAP16[$rSize>>1]|0; - $301 = HEAP32[$pNew>>2]|0; - $302 = ((($301)) + 22|0); - HEAP16[$302>>1] = $300; - $303 = HEAP32[$pProbe>>2]|0; - $304 = HEAP32[$pNew>>2]|0; - $305 = ((($304)) + 24|0); - $306 = ((($305)) + 8|0); - HEAP32[$306>>2] = $303; - $307 = HEAP32[$2>>2]|0; - $308 = HEAP32[$pProbe>>2]|0; - $309 = HEAP32[$pSrc>>2]|0; - $310 = ((($309)) + 44|0); - $311 = HEAP32[$310>>2]|0; - $312 = (_indexMightHelpWithOrderBy($307,$308,$311)|0); - HEAP32[$b>>2] = $312; - $313 = HEAP32[$pProbe>>2]|0; - $314 = ((($313)) + 44|0); - $315 = HEAP32[$314>>2]|0; - $316 = ($315|0)<=(0); - do { - if ($316) { - $317 = HEAP32[$pNew>>2]|0; - $318 = ((($317)) + 36|0); - HEAP32[$318>>2] = 256; - $319 = HEAP32[$b>>2]|0; - $320 = ($319|0)!=(0); - $321 = HEAP32[$iSortIdx>>2]|0; - $322 = $320 ? $321 : 0; - $323 = $322&255; - $324 = HEAP32[$pNew>>2]|0; - $325 = ((($324)) + 17|0); - HEAP8[$325>>0] = $323; - $326 = HEAP16[$rSize>>1]|0; - $327 = $326 << 16 >> 16; - $328 = (($327) + 16)|0; - $329 = $328&65535; - $330 = HEAP32[$pNew>>2]|0; - $331 = ((($330)) + 20|0); - HEAP16[$331>>1] = $329; - $332 = HEAP32[$pWC>>2]|0; - $333 = HEAP32[$pNew>>2]|0; - $334 = HEAP16[$rSize>>1]|0; - _whereLoopOutputAdjust($332,$333,$334); - $335 = HEAP32[$2>>2]|0; - $336 = HEAP32[$pNew>>2]|0; - $337 = (_whereLoopInsert($335,$336)|0); - HEAP32[$rc>>2] = $337; - $338 = HEAP16[$rSize>>1]|0; - $339 = HEAP32[$pNew>>2]|0; - $340 = ((($339)) + 22|0); - HEAP16[$340>>1] = $338; - $341 = HEAP32[$rc>>2]|0; - $342 = ($341|0)!=(0); - if ($342) { - label = 57; - break L35; - } - } else { - $343 = HEAP32[$pProbe>>2]|0; - $344 = ((($343)) + 55|0); - $345 = HEAP8[$344>>0]|0; - $346 = ($345&255) >>> 5; - $347 = $346 & 1; - $348 = $347&255; - $349 = ($348|0)!=(0); - if ($349) { - $350 = HEAP32[$pNew>>2]|0; - $351 = ((($350)) + 36|0); - HEAP32[$351>>2] = 576; - $352 = $m; - $353 = $352; - HEAP32[$353>>2] = 0; - $354 = (($352) + 4)|0; - $355 = $354; - HEAP32[$355>>2] = 0; - } else { - $356 = HEAP32[$pSrc>>2]|0; - $357 = ((($356)) + 56|0); - $358 = $357; - $359 = $358; - $360 = HEAP32[$359>>2]|0; - $361 = (($358) + 4)|0; - $362 = $361; - $363 = HEAP32[$362>>2]|0; - $364 = HEAP32[$pProbe>>2]|0; - $365 = (_columnsInIndex($364)|0); - $366 = tempRet0; - $367 = $365 ^ -1; - $368 = $366 ^ -1; - $369 = $360 & $367; - $370 = $363 & $368; - $371 = $m; - $372 = $371; - HEAP32[$372>>2] = $369; - $373 = (($371) + 4)|0; - $374 = $373; - HEAP32[$374>>2] = $370; - $375 = $m; - $376 = $375; - $377 = HEAP32[$376>>2]|0; - $378 = (($375) + 4)|0; - $379 = $378; - $380 = HEAP32[$379>>2]|0; - $381 = ($377|0)==(0); - $382 = ($380|0)==(0); - $383 = $381 & $382; - $384 = $383 ? 576 : 512; - $385 = HEAP32[$pNew>>2]|0; - $386 = ((($385)) + 36|0); - HEAP32[$386>>2] = $384; - } - $387 = HEAP32[$b>>2]|0; - $388 = ($387|0)!=(0); - if (!($388)) { - $389 = HEAP32[$pTab>>2]|0; - $390 = ((($389)) + 42|0); - $391 = HEAP8[$390>>0]|0; - $392 = $391&255; - $393 = $392 & 32; - $394 = ($393|0)==(0); - if ($394) { - $395 = HEAP32[$pProbe>>2]|0; - $396 = ((($395)) + 36|0); - $397 = HEAP32[$396>>2]|0; - $398 = ($397|0)!=(0|0); - if (!($398)) { - $399 = $m; - $400 = $399; - $401 = HEAP32[$400>>2]|0; - $402 = (($399) + 4)|0; - $403 = $402; - $404 = HEAP32[$403>>2]|0; - $405 = ($401|0)==(0); - $406 = ($404|0)==(0); - $407 = $405 & $406; - if (!($407)) { + HEAP32[$16>>2] = 0; + HEAP32[$10>>2] = 0; + $135 = HEAP32[$18>>2]|0; + HEAP32[$20>>2] = $135; + while(1) { + $136 = HEAP32[$10>>2]|0; + $137 = HEAP32[$17>>2]|0; + $138 = ($136|0)<($137|0); + if (!($138)) { + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = ((($139)) + 56|0); + $141 = HEAP32[$140>>2]|0; + HEAP32[$22>>2] = $141; + while(1) { + $142 = HEAP32[$22>>2]|0; + $143 = ($142|0)!=(0|0); + if (!($143)) { + break; + } + $144 = HEAP32[$20>>2]|0; + $145 = ((($144)) + 22|0); + $146 = HEAP8[$145>>0]|0; + HEAP8[$30>>0] = $146; + $147 = $32; + $148 = $147; + HEAP32[$148>>2] = 0; + $149 = (($147) + 4)|0; + $150 = $149; + HEAP32[$150>>2] = 0; + $151 = HEAP32[$22>>2]|0; + $152 = $151; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = HEAP32[$20>>2]|0; + $159 = $158; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = $161 ^ -1; + $166 = $164 ^ -1; + $167 = $154 & $165; + $168 = $157 & $166; + $169 = ($167|0)!=(0); + $170 = ($168|0)!=(0); + $171 = $169 | $170; + L36: do { + if (!($171)) { + $172 = HEAP32[$22>>2]|0; + $173 = ((($172)) + 8|0); + $174 = $173; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = (($174) + 4)|0; + $178 = $177; + $179 = HEAP32[$178>>2]|0; + $180 = HEAP32[$20>>2]|0; + $181 = $180; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = (($181) + 4)|0; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + $187 = $176 & $183; + $188 = $179 & $186; + $189 = ($187|0)!=(0); + $190 = ($188|0)!=(0); + $191 = $189 | $190; + if (!($191)) { + $192 = HEAP32[$22>>2]|0; + $193 = ((($192)) + 36|0); + $194 = HEAP32[$193>>2]|0; + $195 = $194 & 16384; + $196 = ($195|0)!=(0); + if ($196) { + $197 = HEAP32[$20>>2]|0; + $198 = ((($197)) + 16|0); + $199 = HEAP16[$198>>1]|0; + $200 = $199 << 16 >> 16; + $201 = ($200|0)<(10); + if ($201) { break; } - $408 = HEAP32[$pProbe>>2]|0; - $409 = ((($408)) + 55|0); - $410 = HEAP8[$409>>0]|0; - $411 = ($410&255) >>> 2; - $412 = $411 & 1; - $413 = $412&255; - $414 = ($413|0)==(0); - if (!($414)) { - break; + } + $202 = HEAP32[$22>>2]|0; + $203 = ((($202)) + 18|0); + $204 = HEAP16[$203>>1]|0; + $205 = HEAP32[$22>>2]|0; + $206 = ((($205)) + 20|0); + $207 = HEAP16[$206>>1]|0; + $208 = $207 << 16 >> 16; + $209 = HEAP32[$20>>2]|0; + $210 = ((($209)) + 16|0); + $211 = HEAP16[$210>>1]|0; + $212 = $211 << 16 >> 16; + $213 = (($208) + ($212))|0; + $214 = $213&65535; + $215 = (_sqlite3LogEstAdd($204,$214)|0); + HEAP16[$29>>1] = $215; + $216 = HEAP16[$29>>1]|0; + $217 = HEAP32[$20>>2]|0; + $218 = ((($217)) + 20|0); + $219 = HEAP16[$218>>1]|0; + $220 = (_sqlite3LogEstAdd($216,$219)|0); + HEAP16[$29>>1] = $220; + $221 = HEAP32[$20>>2]|0; + $222 = ((($221)) + 16|0); + $223 = HEAP16[$222>>1]|0; + $224 = $223 << 16 >> 16; + $225 = HEAP32[$22>>2]|0; + $226 = ((($225)) + 22|0); + $227 = HEAP16[$226>>1]|0; + $228 = $227 << 16 >> 16; + $229 = (($224) + ($228))|0; + $230 = $229&65535; + HEAP16[$27>>1] = $230; + $231 = HEAP32[$20>>2]|0; + $232 = $231; + $233 = $232; + $234 = HEAP32[$233>>2]|0; + $235 = (($232) + 4)|0; + $236 = $235; + $237 = HEAP32[$236>>2]|0; + $238 = HEAP32[$22>>2]|0; + $239 = ((($238)) + 8|0); + $240 = $239; + $241 = $240; + $242 = HEAP32[$241>>2]|0; + $243 = (($240) + 4)|0; + $244 = $243; + $245 = HEAP32[$244>>2]|0; + $246 = $234 | $242; + $247 = $237 | $245; + $248 = $31; + $249 = $248; + HEAP32[$249>>2] = $246; + $250 = (($248) + 4)|0; + $251 = $250; + HEAP32[$251>>2] = $247; + $252 = HEAP8[$30>>0]|0; + $253 = $252 << 24 >> 24; + $254 = ($253|0)<(0); + if ($254) { + $255 = HEAP32[$3>>2]|0; + $256 = HEAP32[$3>>2]|0; + $257 = ((($256)) + 8|0); + $258 = HEAP32[$257>>2]|0; + $259 = HEAP32[$20>>2]|0; + $260 = HEAP32[$3>>2]|0; + $261 = ((($260)) + 40|0); + $262 = HEAP16[$261>>1]|0; + $263 = HEAP32[$9>>2]|0; + $264 = $263&65535; + $265 = HEAP32[$22>>2]|0; + $266 = (_wherePathSatisfiesOrderBy($255,$258,$259,$262,$264,$265,$32)|0); + HEAP8[$30>>0] = $266; + } else { + $267 = HEAP32[$20>>2]|0; + $268 = ((($267)) + 8|0); + $269 = $268; + $270 = $269; + $271 = HEAP32[$270>>2]|0; + $272 = (($269) + 4)|0; + $273 = $272; + $274 = HEAP32[$273>>2]|0; + $275 = $32; + $276 = $275; + HEAP32[$276>>2] = $271; + $277 = (($275) + 4)|0; + $278 = $277; + HEAP32[$278>>2] = $274; + } + $279 = HEAP8[$30>>0]|0; + $280 = $279 << 24 >> 24; + $281 = ($280|0)>=(0); + if ($281) { + $282 = HEAP8[$30>>0]|0; + $283 = $282 << 24 >> 24; + $284 = HEAP32[$13>>2]|0; + $285 = ($283|0)<($284|0); + if ($285) { + $286 = HEAP32[$24>>2]|0; + $287 = HEAP8[$30>>0]|0; + $288 = $287 << 24 >> 24; + $289 = (($286) + ($288<<1)|0); + $290 = HEAP16[$289>>1]|0; + $291 = $290 << 16 >> 16; + $292 = ($291|0)==(0); + if ($292) { + $293 = HEAP32[$3>>2]|0; + $294 = HEAP16[$4>>1]|0; + $295 = HEAP32[$13>>2]|0; + $296 = HEAP8[$30>>0]|0; + $297 = $296 << 24 >> 24; + $298 = (_whereSortingCost($293,$294,$295,$297)|0); + $299 = HEAP32[$24>>2]|0; + $300 = HEAP8[$30>>0]|0; + $301 = $300 << 24 >> 24; + $302 = (($299) + ($301<<1)|0); + HEAP16[$302>>1] = $298; + } + $303 = HEAP16[$29>>1]|0; + $304 = HEAP32[$24>>2]|0; + $305 = HEAP8[$30>>0]|0; + $306 = $305 << 24 >> 24; + $307 = (($304) + ($306<<1)|0); + $308 = HEAP16[$307>>1]|0; + $309 = (_sqlite3LogEstAdd($303,$308)|0); + HEAP16[$28>>1] = $309; + } else { + label = 36; } - $415 = HEAP32[$pProbe>>2]|0; - $416 = ((($415)) + 48|0); - $417 = HEAP16[$416>>1]|0; - $418 = $417 << 16 >> 16; - $419 = HEAP32[$pTab>>2]|0; - $420 = ((($419)) + 40|0); - $421 = HEAP16[$420>>1]|0; - $422 = $421 << 16 >> 16; - $423 = ($418|0)<($422|0); - if (!($423)) { + } else { + label = 36; + } + if ((label|0) == 36) { + label = 0; + $310 = HEAP16[$29>>1]|0; + HEAP16[$28>>1] = $310; + } + HEAP32[$11>>2] = 0; + $311 = HEAP32[$19>>2]|0; + HEAP32[$21>>2] = $311; + while(1) { + $312 = HEAP32[$11>>2]|0; + $313 = HEAP32[$16>>2]|0; + $314 = ($312|0)<($313|0); + if (!($314)) { break; } - $424 = HEAP32[$pWInfo>>2]|0; - $425 = ((($424)) + 40|0); - $426 = HEAP16[$425>>1]|0; - $427 = $426&65535; - $428 = $427 & 4; - $429 = ($428|0)==(0); - $430 = HEAP32[(24)>>2]|0; - $431 = ($430|0)!=(0); - $or$cond = $429 & $431; - if (!($or$cond)) { - break; + $315 = HEAP32[$21>>2]|0; + $316 = $315; + $317 = $316; + $318 = HEAP32[$317>>2]|0; + $319 = (($316) + 4)|0; + $320 = $319; + $321 = HEAP32[$320>>2]|0; + $322 = $31; + $323 = $322; + $324 = HEAP32[$323>>2]|0; + $325 = (($322) + 4)|0; + $326 = $325; + $327 = HEAP32[$326>>2]|0; + $328 = ($318|0)==($324|0); + $329 = ($321|0)==($327|0); + $330 = $328 & $329; + if ($330) { + $331 = HEAP32[$21>>2]|0; + $332 = ((($331)) + 22|0); + $333 = HEAP8[$332>>0]|0; + $334 = $333 << 24 >> 24; + $335 = HEAP8[$30>>0]|0; + $336 = $335 << 24 >> 24; + $337 = $334 ^ $336; + $338 = $337 & 128; + $339 = ($338|0)==(0); + if ($339) { + break; + } } - $432 = HEAP32[$pWInfo>>2]|0; - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[$433>>2]|0; - $435 = ((($434)) + 64|0); - $436 = HEAP16[$435>>1]|0; - $437 = $436&65535; - $438 = $437 & 64; - $439 = ($438|0)==(0); - if (!($439)) { - break; + $340 = HEAP32[$11>>2]|0; + $341 = (($340) + 1)|0; + HEAP32[$11>>2] = $341; + $342 = HEAP32[$21>>2]|0; + $343 = ((($342)) + 32|0); + HEAP32[$21>>2] = $343; + } + $344 = HEAP32[$11>>2]|0; + $345 = HEAP32[$16>>2]|0; + $346 = ($344|0)>=($345|0); + do { + if ($346) { + $347 = HEAP32[$16>>2]|0; + $348 = HEAP32[$5>>2]|0; + $349 = ($347|0)>=($348|0); + do { + if ($349) { + $350 = HEAP16[$28>>1]|0; + $351 = $350 << 16 >> 16; + $352 = HEAP16[$14>>1]|0; + $353 = $352 << 16 >> 16; + $354 = ($351|0)>($353|0); + if ($354) { + break L36; + } + $355 = HEAP16[$28>>1]|0; + $356 = $355 << 16 >> 16; + $357 = HEAP16[$14>>1]|0; + $358 = $357 << 16 >> 16; + $359 = ($356|0)==($358|0); + if (!($359)) { + break; + } + $360 = HEAP16[$29>>1]|0; + $361 = $360 << 16 >> 16; + $362 = HEAP16[$15>>1]|0; + $363 = $362 << 16 >> 16; + $364 = ($361|0)>=($363|0); + if ($364) { + break L36; + } + } + } while(0); + $365 = HEAP32[$16>>2]|0; + $366 = HEAP32[$5>>2]|0; + $367 = ($365|0)<($366|0); + if ($367) { + $368 = HEAP32[$16>>2]|0; + $369 = (($368) + 1)|0; + HEAP32[$16>>2] = $369; + HEAP32[$11>>2] = $368; + } else { + $370 = HEAP32[$12>>2]|0; + HEAP32[$11>>2] = $370; + } + $371 = HEAP32[$19>>2]|0; + $372 = HEAP32[$11>>2]|0; + $373 = (($371) + ($372<<5)|0); + HEAP32[$21>>2] = $373; + } else { + $374 = HEAP32[$21>>2]|0; + $375 = ((($374)) + 18|0); + $376 = HEAP16[$375>>1]|0; + $377 = $376 << 16 >> 16; + $378 = HEAP16[$28>>1]|0; + $379 = $378 << 16 >> 16; + $380 = ($377|0)<($379|0); + if ($380) { + break L36; + } + $381 = HEAP32[$21>>2]|0; + $382 = ((($381)) + 18|0); + $383 = HEAP16[$382>>1]|0; + $384 = $383 << 16 >> 16; + $385 = HEAP16[$28>>1]|0; + $386 = $385 << 16 >> 16; + $387 = ($384|0)==($386|0); + if (!($387)) { + break; + } + $388 = HEAP32[$21>>2]|0; + $389 = ((($388)) + 16|0); + $390 = HEAP16[$389>>1]|0; + $391 = $390 << 16 >> 16; + $392 = HEAP16[$27>>1]|0; + $393 = $392 << 16 >> 16; + $394 = ($391|0)<=($393|0); + if ($394) { + break L36; + } + } + } while(0); + $395 = HEAP32[$20>>2]|0; + $396 = $395; + $397 = $396; + $398 = HEAP32[$397>>2]|0; + $399 = (($396) + 4)|0; + $400 = $399; + $401 = HEAP32[$400>>2]|0; + $402 = HEAP32[$22>>2]|0; + $403 = ((($402)) + 8|0); + $404 = $403; + $405 = $404; + $406 = HEAP32[$405>>2]|0; + $407 = (($404) + 4)|0; + $408 = $407; + $409 = HEAP32[$408>>2]|0; + $410 = $398 | $406; + $411 = $401 | $409; + $412 = HEAP32[$21>>2]|0; + $413 = $412; + $414 = $413; + HEAP32[$414>>2] = $410; + $415 = (($413) + 4)|0; + $416 = $415; + HEAP32[$416>>2] = $411; + $417 = $32; + $418 = $417; + $419 = HEAP32[$418>>2]|0; + $420 = (($417) + 4)|0; + $421 = $420; + $422 = HEAP32[$421>>2]|0; + $423 = HEAP32[$21>>2]|0; + $424 = ((($423)) + 8|0); + $425 = $424; + $426 = $425; + HEAP32[$426>>2] = $419; + $427 = (($425) + 4)|0; + $428 = $427; + HEAP32[$428>>2] = $422; + $429 = HEAP16[$27>>1]|0; + $430 = HEAP32[$21>>2]|0; + $431 = ((($430)) + 16|0); + HEAP16[$431>>1] = $429; + $432 = HEAP16[$28>>1]|0; + $433 = HEAP32[$21>>2]|0; + $434 = ((($433)) + 18|0); + HEAP16[$434>>1] = $432; + $435 = HEAP16[$29>>1]|0; + $436 = HEAP32[$21>>2]|0; + $437 = ((($436)) + 20|0); + HEAP16[$437>>1] = $435; + $438 = HEAP8[$30>>0]|0; + $439 = HEAP32[$21>>2]|0; + $440 = ((($439)) + 22|0); + HEAP8[$440>>0] = $438; + $441 = HEAP32[$21>>2]|0; + $442 = ((($441)) + 24|0); + $443 = HEAP32[$442>>2]|0; + $444 = HEAP32[$20>>2]|0; + $445 = ((($444)) + 24|0); + $446 = HEAP32[$445>>2]|0; + $447 = HEAP32[$9>>2]|0; + $448 = $447<<2; + _memcpy(($443|0),($446|0),($448|0))|0; + $449 = HEAP32[$22>>2]|0; + $450 = HEAP32[$21>>2]|0; + $451 = ((($450)) + 24|0); + $452 = HEAP32[$451>>2]|0; + $453 = HEAP32[$9>>2]|0; + $454 = (($452) + ($453<<2)|0); + HEAP32[$454>>2] = $449; + $455 = HEAP32[$16>>2]|0; + $456 = HEAP32[$5>>2]|0; + $457 = ($455|0)>=($456|0); + if ($457) { + HEAP32[$12>>2] = 0; + $458 = HEAP32[$19>>2]|0; + $459 = ((($458)) + 18|0); + $460 = HEAP16[$459>>1]|0; + HEAP16[$14>>1] = $460; + $461 = HEAP32[$19>>2]|0; + $462 = ((($461)) + 16|0); + $463 = HEAP16[$462>>1]|0; + HEAP16[$15>>1] = $463; + HEAP32[$11>>2] = 1; + $464 = HEAP32[$19>>2]|0; + $465 = ((($464)) + 32|0); + HEAP32[$21>>2] = $465; + while(1) { + $466 = HEAP32[$11>>2]|0; + $467 = HEAP32[$5>>2]|0; + $468 = ($466|0)<($467|0); + if (!($468)) { + break L36; + } + $469 = HEAP32[$21>>2]|0; + $470 = ((($469)) + 18|0); + $471 = HEAP16[$470>>1]|0; + $472 = $471 << 16 >> 16; + $473 = HEAP16[$14>>1]|0; + $474 = $473 << 16 >> 16; + $475 = ($472|0)>($474|0); + do { + if ($475) { + label = 60; + } else { + $476 = HEAP32[$21>>2]|0; + $477 = ((($476)) + 18|0); + $478 = HEAP16[$477>>1]|0; + $479 = $478 << 16 >> 16; + $480 = HEAP16[$14>>1]|0; + $481 = $480 << 16 >> 16; + $482 = ($479|0)==($481|0); + if (!($482)) { + break; + } + $483 = HEAP32[$21>>2]|0; + $484 = ((($483)) + 20|0); + $485 = HEAP16[$484>>1]|0; + $486 = $485 << 16 >> 16; + $487 = HEAP16[$15>>1]|0; + $488 = $487 << 16 >> 16; + $489 = ($486|0)>($488|0); + if ($489) { + label = 60; + } + } + } while(0); + if ((label|0) == 60) { + label = 0; + $490 = HEAP32[$21>>2]|0; + $491 = ((($490)) + 18|0); + $492 = HEAP16[$491>>1]|0; + HEAP16[$14>>1] = $492; + $493 = HEAP32[$21>>2]|0; + $494 = ((($493)) + 20|0); + $495 = HEAP16[$494>>1]|0; + HEAP16[$15>>1] = $495; + $496 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $496; + } + $497 = HEAP32[$11>>2]|0; + $498 = (($497) + 1)|0; + HEAP32[$11>>2] = $498; + $499 = HEAP32[$21>>2]|0; + $500 = ((($499)) + 32|0); + HEAP32[$21>>2] = $500; } } } } - $440 = HEAP32[$b>>2]|0; - $441 = ($440|0)!=(0); - $442 = HEAP32[$iSortIdx>>2]|0; - $443 = $441 ? $442 : 0; - $444 = $443&255; - $445 = HEAP32[$pNew>>2]|0; - $446 = ((($445)) + 17|0); - HEAP8[$446>>0] = $444; - $447 = HEAP16[$rSize>>1]|0; - $448 = $447 << 16 >> 16; - $449 = (($448) + 1)|0; - $450 = HEAP32[$pProbe>>2]|0; - $451 = ((($450)) + 48|0); - $452 = HEAP16[$451>>1]|0; - $453 = $452 << 16 >> 16; - $454 = ($453*15)|0; - $455 = HEAP32[$pTab>>2]|0; - $456 = ((($455)) + 40|0); - $457 = HEAP16[$456>>1]|0; - $458 = $457 << 16 >> 16; - $459 = (($454|0) / ($458|0))&-1; - $460 = (($449) + ($459))|0; - $461 = $460&65535; - $462 = HEAP32[$pNew>>2]|0; - $463 = ((($462)) + 20|0); - HEAP16[$463>>1] = $461; - $464 = $m; - $465 = $464; - $466 = HEAP32[$465>>2]|0; - $467 = (($464) + 4)|0; - $468 = $467; - $469 = HEAP32[$468>>2]|0; - $470 = ($466|0)!=(0); - $471 = ($469|0)!=(0); - $472 = $470 | $471; - if ($472) { - $473 = HEAP16[$rSize>>1]|0; - $474 = $473 << 16 >> 16; - $475 = (($474) + 16)|0; - $476 = $475&65535; - HEAP16[$nLookup>>1] = $476; - $477 = HEAP32[$pSrc>>2]|0; - $478 = ((($477)) + 44|0); - $479 = HEAP32[$478>>2]|0; - HEAP32[$iCur>>2] = $479; - $480 = HEAP32[$pWInfo>>2]|0; - $481 = ((($480)) + 80|0); - HEAP32[$pWC2>>2] = $481; - HEAP32[$ii>>2] = 0; - while(1) { - $482 = HEAP32[$ii>>2]|0; - $483 = HEAP32[$pWC2>>2]|0; - $484 = ((($483)) + 12|0); - $485 = HEAP32[$484>>2]|0; - $486 = ($482|0)<($485|0); - if (!($486)) { - break; - } - $487 = HEAP32[$ii>>2]|0; - $488 = HEAP32[$pWC2>>2]|0; - $489 = ((($488)) + 20|0); - $490 = HEAP32[$489>>2]|0; - $491 = (($490) + (($487*48)|0)|0); - HEAP32[$pTerm1>>2] = $491; - $492 = HEAP32[$pTerm1>>2]|0; - $493 = HEAP32[$492>>2]|0; - $494 = HEAP32[$iCur>>2]|0; - $495 = HEAP32[$pProbe>>2]|0; - $496 = (_sqlite3ExprCoveredByIndex($493,$494,$495)|0); - $497 = ($496|0)!=(0); - if (!($497)) { - break; - } - $498 = HEAP32[$pTerm1>>2]|0; - $499 = ((($498)) + 8|0); - $500 = HEAP16[$499>>1]|0; - $501 = $500 << 16 >> 16; - $502 = ($501|0)<=(0); - if ($502) { - $503 = HEAP32[$pTerm1>>2]|0; - $504 = ((($503)) + 8|0); - $505 = HEAP16[$504>>1]|0; - $506 = $505 << 16 >> 16; - $507 = HEAP16[$nLookup>>1]|0; - $508 = $507 << 16 >> 16; - $509 = (($508) + ($506))|0; - $510 = $509&65535; - HEAP16[$nLookup>>1] = $510; - } else { - $511 = HEAP16[$nLookup>>1]|0; - $512 = (($511) + -1)<<16>>16; - HEAP16[$nLookup>>1] = $512; - $513 = HEAP32[$pTerm1>>2]|0; - $514 = ((($513)) + 12|0); - $515 = HEAP16[$514>>1]|0; - $516 = $515&65535; - $517 = $516 & 130; - $518 = ($517|0)!=(0); - if ($518) { - $519 = HEAP16[$nLookup>>1]|0; - $520 = $519 << 16 >> 16; - $521 = (($520) - 19)|0; - $522 = $521&65535; - HEAP16[$nLookup>>1] = $522; - } + } while(0); + $501 = HEAP32[$22>>2]|0; + $502 = ((($501)) + 52|0); + $503 = HEAP32[$502>>2]|0; + HEAP32[$22>>2] = $503; + } + $504 = HEAP32[$10>>2]|0; + $505 = (($504) + 1)|0; + HEAP32[$10>>2] = $505; + $506 = HEAP32[$20>>2]|0; + $507 = ((($506)) + 32|0); + HEAP32[$20>>2] = $507; + } + $508 = HEAP32[$19>>2]|0; + HEAP32[$20>>2] = $508; + $509 = HEAP32[$18>>2]|0; + HEAP32[$19>>2] = $509; + $510 = HEAP32[$20>>2]|0; + HEAP32[$18>>2] = $510; + $511 = HEAP32[$16>>2]|0; + HEAP32[$17>>2] = $511; + $512 = HEAP32[$9>>2]|0; + $513 = (($512) + 1)|0; + HEAP32[$9>>2] = $513; + } + $514 = HEAP32[$17>>2]|0; + $515 = ($514|0)==(0); + if ($515) { + $516 = HEAP32[$7>>2]|0; + _sqlite3ErrorMsg($516,34370,$vararg_buffer); + $517 = HEAP32[$8>>2]|0; + $518 = HEAP32[$25>>2]|0; + _sqlite3DbFree($517,$518); + HEAP32[$2>>2] = 1; + $785 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($785|0); + } + $519 = HEAP32[$18>>2]|0; + HEAP32[$20>>2] = $519; + HEAP32[$10>>2] = 1; + while(1) { + $520 = HEAP32[$10>>2]|0; + $521 = HEAP32[$17>>2]|0; + $522 = ($520|0)<($521|0); + if (!($522)) { + break; + } + $523 = HEAP32[$20>>2]|0; + $524 = ((($523)) + 18|0); + $525 = HEAP16[$524>>1]|0; + $526 = $525 << 16 >> 16; + $527 = HEAP32[$18>>2]|0; + $528 = HEAP32[$10>>2]|0; + $529 = (($527) + ($528<<5)|0); + $530 = ((($529)) + 18|0); + $531 = HEAP16[$530>>1]|0; + $532 = $531 << 16 >> 16; + $533 = ($526|0)>($532|0); + if ($533) { + $534 = HEAP32[$18>>2]|0; + $535 = HEAP32[$10>>2]|0; + $536 = (($534) + ($535<<5)|0); + HEAP32[$20>>2] = $536; + } + $537 = HEAP32[$10>>2]|0; + $538 = (($537) + 1)|0; + HEAP32[$10>>2] = $538; + } + HEAP32[$9>>2] = 0; + while(1) { + $539 = HEAP32[$9>>2]|0; + $540 = HEAP32[$6>>2]|0; + $541 = ($539|0)<($540|0); + $542 = HEAP32[$3>>2]|0; + if (!($541)) { + break; + } + $543 = ((($542)) + 752|0); + $544 = HEAP32[$9>>2]|0; + $545 = (($543) + (($544*80)|0)|0); + HEAP32[$33>>2] = $545; + $546 = HEAP32[$20>>2]|0; + $547 = ((($546)) + 24|0); + $548 = HEAP32[$547>>2]|0; + $549 = HEAP32[$9>>2]|0; + $550 = (($548) + ($549<<2)|0); + $551 = HEAP32[$550>>2]|0; + HEAP32[$22>>2] = $551; + $552 = HEAP32[$33>>2]|0; + $553 = ((($552)) + 64|0); + HEAP32[$553>>2] = $551; + $554 = HEAP32[$22>>2]|0; + $555 = ((($554)) + 16|0); + $556 = HEAP8[$555>>0]|0; + $557 = HEAP32[$33>>2]|0; + $558 = ((($557)) + 44|0); + HEAP8[$558>>0] = $556; + $559 = HEAP32[$3>>2]|0; + $560 = ((($559)) + 4|0); + $561 = HEAP32[$560>>2]|0; + $562 = ((($561)) + 8|0); + $563 = HEAP32[$33>>2]|0; + $564 = ((($563)) + 44|0); + $565 = HEAP8[$564>>0]|0; + $566 = $565&255; + $567 = (($562) + (($566*72)|0)|0); + $568 = ((($567)) + 44|0); + $569 = HEAP32[$568>>2]|0; + $570 = HEAP32[$33>>2]|0; + $571 = ((($570)) + 4|0); + HEAP32[$571>>2] = $569; + $572 = HEAP32[$9>>2]|0; + $573 = (($572) + 1)|0; + HEAP32[$9>>2] = $573; + } + $574 = ((($542)) + 40|0); + $575 = HEAP16[$574>>1]|0; + $576 = $575&65535; + $577 = $576 & 256; + $578 = ($577|0)!=(0); + if ($578) { + $579 = HEAP32[$3>>2]|0; + $580 = ((($579)) + 40|0); + $581 = HEAP16[$580>>1]|0; + $582 = $581&65535; + $583 = $582 & 128; + $584 = ($583|0)==(0); + if ($584) { + $585 = HEAP32[$3>>2]|0; + $586 = ((($585)) + 47|0); + $587 = HEAP8[$586>>0]|0; + $588 = $587&255; + $589 = ($588|0)==(0); + if ($589) { + $590 = HEAP16[$4>>1]|0; + $591 = $590 << 16 >> 16; + $592 = ($591|0)!=(0); + if ($592) { + $593 = HEAP32[$3>>2]|0; + $594 = HEAP32[$3>>2]|0; + $595 = ((($594)) + 12|0); + $596 = HEAP32[$595>>2]|0; + $597 = HEAP32[$20>>2]|0; + $598 = HEAP32[$6>>2]|0; + $599 = (($598) - 1)|0; + $600 = $599&65535; + $601 = HEAP32[$20>>2]|0; + $602 = ((($601)) + 24|0); + $603 = HEAP32[$602>>2]|0; + $604 = HEAP32[$6>>2]|0; + $605 = (($604) - 1)|0; + $606 = (($603) + ($605<<2)|0); + $607 = HEAP32[$606>>2]|0; + $608 = (_wherePathSatisfiesOrderBy($593,$596,$597,128,$600,$607,$34)|0); + $609 = $608 << 24 >> 24; + HEAP32[$35>>2] = $609; + $610 = HEAP32[$35>>2]|0; + $611 = HEAP32[$3>>2]|0; + $612 = ((($611)) + 12|0); + $613 = HEAP32[$612>>2]|0; + $614 = HEAP32[$613>>2]|0; + $615 = ($610|0)==($614|0); + if ($615) { + $616 = HEAP32[$3>>2]|0; + $617 = ((($616)) + 47|0); + HEAP8[$617>>0] = 2; + } + } + } + } + } + $618 = HEAP32[$3>>2]|0; + $619 = ((($618)) + 8|0); + $620 = HEAP32[$619>>2]|0; + $621 = ($620|0)!=(0|0); + if ($621) { + $622 = HEAP32[$3>>2]|0; + $623 = ((($622)) + 40|0); + $624 = HEAP16[$623>>1]|0; + $625 = $624&65535; + $626 = $625 & 128; + $627 = ($626|0)!=(0); + $628 = HEAP32[$20>>2]|0; + $629 = ((($628)) + 22|0); + $630 = HEAP8[$629>>0]|0; + if ($627) { + $631 = $630 << 24 >> 24; + $632 = HEAP32[$3>>2]|0; + $633 = ((($632)) + 8|0); + $634 = HEAP32[$633>>2]|0; + $635 = HEAP32[$634>>2]|0; + $636 = ($631|0)==($635|0); + if ($636) { + $637 = HEAP32[$3>>2]|0; + $638 = ((($637)) + 47|0); + HEAP8[$638>>0] = 2; + } + } else { + $639 = HEAP32[$3>>2]|0; + $640 = ((($639)) + 43|0); + HEAP8[$640>>0] = $630; + $641 = HEAP32[$20>>2]|0; + $642 = ((($641)) + 8|0); + $643 = $642; + $644 = $643; + $645 = HEAP32[$644>>2]|0; + $646 = (($643) + 4)|0; + $647 = $646; + $648 = HEAP32[$647>>2]|0; + $649 = HEAP32[$3>>2]|0; + $650 = ((($649)) + 64|0); + $651 = $650; + $652 = $651; + HEAP32[$652>>2] = $645; + $653 = (($651) + 4)|0; + $654 = $653; + HEAP32[$654>>2] = $648; + $655 = HEAP32[$3>>2]|0; + $656 = ((($655)) + 43|0); + $657 = HEAP8[$656>>0]|0; + $658 = $657 << 24 >> 24; + $659 = ($658|0)<=(0); + if ($659) { + $660 = HEAP32[$3>>2]|0; + $661 = ((($660)) + 43|0); + HEAP8[$661>>0] = 0; + $662 = HEAP32[$6>>2]|0; + $663 = ($662|0)>(0); + if ($663) { + $664 = HEAP32[$20>>2]|0; + $665 = ((($664)) + 24|0); + $666 = HEAP32[$665>>2]|0; + $667 = HEAP32[$6>>2]|0; + $668 = (($667) - 1)|0; + $669 = (($666) + ($668<<2)|0); + $670 = HEAP32[$669>>2]|0; + $671 = ((($670)) + 36|0); + $672 = HEAP32[$671>>2]|0; + HEAP32[$36>>2] = $672; + $673 = HEAP32[$36>>2]|0; + $674 = $673 & 4096; + $675 = ($674|0)==(0); + if ($675) { + $676 = HEAP32[$36>>2]|0; + $677 = $676 & 260; + $678 = ($677|0)!=(260); + if ($678) { + $679 = $37; + $680 = $679; + HEAP32[$680>>2] = 0; + $681 = (($679) + 4)|0; + $682 = $681; + HEAP32[$682>>2] = 0; + $683 = HEAP32[$3>>2]|0; + $684 = HEAP32[$3>>2]|0; + $685 = ((($684)) + 8|0); + $686 = HEAP32[$685>>2]|0; + $687 = HEAP32[$20>>2]|0; + $688 = HEAP32[$6>>2]|0; + $689 = (($688) - 1)|0; + $690 = $689&65535; + $691 = HEAP32[$20>>2]|0; + $692 = ((($691)) + 24|0); + $693 = HEAP32[$692>>2]|0; + $694 = HEAP32[$6>>2]|0; + $695 = (($694) - 1)|0; + $696 = (($693) + ($695<<2)|0); + $697 = HEAP32[$696>>2]|0; + $698 = (_wherePathSatisfiesOrderBy($683,$686,$687,2048,$690,$697,$37)|0); + $699 = $698 << 24 >> 24; + HEAP32[$38>>2] = $699; + $700 = HEAP32[$38>>2]|0; + $701 = HEAP32[$3>>2]|0; + $702 = ((($701)) + 8|0); + $703 = HEAP32[$702>>2]|0; + $704 = HEAP32[$703>>2]|0; + $705 = ($700|0)==($704|0); + if ($705) { + $706 = HEAP32[$3>>2]|0; + $707 = ((($706)) + 48|0); + HEAP8[$707>>0] = 1; + $708 = $37; + $709 = $708; + $710 = HEAP32[$709>>2]|0; + $711 = (($708) + 4)|0; + $712 = $711; + $713 = HEAP32[$712>>2]|0; + $714 = HEAP32[$3>>2]|0; + $715 = ((($714)) + 64|0); + $716 = $715; + $717 = $716; + HEAP32[$717>>2] = $710; + $718 = (($716) + 4)|0; + $719 = $718; + HEAP32[$719>>2] = $713; } - $523 = HEAP32[$ii>>2]|0; - $524 = (($523) + 1)|0; - HEAP32[$ii>>2] = $524; } - $525 = HEAP32[$pNew>>2]|0; - $526 = ((($525)) + 20|0); - $527 = HEAP16[$526>>1]|0; - $528 = HEAP16[$nLookup>>1]|0; - $529 = (_sqlite3LogEstAdd($527,$528)|0); - $530 = HEAP32[$pNew>>2]|0; - $531 = ((($530)) + 20|0); - HEAP16[$531>>1] = $529; - } - $532 = HEAP32[$pWC>>2]|0; - $533 = HEAP32[$pNew>>2]|0; - $534 = HEAP16[$rSize>>1]|0; - _whereLoopOutputAdjust($532,$533,$534); - $535 = HEAP32[$2>>2]|0; - $536 = HEAP32[$pNew>>2]|0; - $537 = (_whereLoopInsert($535,$536)|0); - HEAP32[$rc>>2] = $537; - $538 = HEAP16[$rSize>>1]|0; - $539 = HEAP32[$pNew>>2]|0; - $540 = ((($539)) + 22|0); - HEAP16[$540>>1] = $538; - $541 = HEAP32[$rc>>2]|0; - $542 = ($541|0)!=(0); - if ($542) { - label = 57; - break L35; } } - } while(0); - $543 = HEAP32[$2>>2]|0; - $544 = HEAP32[$pSrc>>2]|0; - $545 = HEAP32[$pProbe>>2]|0; - $546 = (_whereLoopAddBtreeIndex($543,$544,$545,0)|0); - HEAP32[$rc>>2] = $546; - $547 = HEAP32[$pSrc>>2]|0; - $548 = ((($547)) + 68|0); - $549 = HEAP32[$548>>2]|0; - $550 = ($549|0)!=(0|0); - if ($550) { - label = 57; - break; } } - $551 = HEAP32[$pProbe>>2]|0; - $552 = ((($551)) + 20|0); - $553 = HEAP32[$552>>2]|0; - HEAP32[$pProbe>>2] = $553; - $554 = HEAP32[$iSortIdx>>2]|0; - $555 = (($554) + 1)|0; - HEAP32[$iSortIdx>>2] = $555; + $720 = HEAP32[$3>>2]|0; + $721 = ((($720)) + 40|0); + $722 = HEAP16[$721>>1]|0; + $723 = $722&65535; + $724 = $723 & 512; + $725 = ($724|0)!=(0); + if ($725) { + $726 = HEAP32[$3>>2]|0; + $727 = ((($726)) + 43|0); + $728 = HEAP8[$727>>0]|0; + $729 = $728 << 24 >> 24; + $730 = HEAP32[$3>>2]|0; + $731 = ((($730)) + 8|0); + $732 = HEAP32[$731>>2]|0; + $733 = HEAP32[$732>>2]|0; + $734 = ($729|0)==($733|0); + $735 = HEAP32[$6>>2]|0; + $736 = ($735|0)>(0); + $or$cond = $734 & $736; + if ($or$cond) { + $737 = $39; + $738 = $737; + HEAP32[$738>>2] = 0; + $739 = (($737) + 4)|0; + $740 = $739; + HEAP32[$740>>2] = 0; + $741 = HEAP32[$3>>2]|0; + $742 = HEAP32[$3>>2]|0; + $743 = ((($742)) + 8|0); + $744 = HEAP32[$743>>2]|0; + $745 = HEAP32[$20>>2]|0; + $746 = HEAP32[$6>>2]|0; + $747 = (($746) - 1)|0; + $748 = $747&65535; + $749 = HEAP32[$20>>2]|0; + $750 = ((($749)) + 24|0); + $751 = HEAP32[$750>>2]|0; + $752 = HEAP32[$6>>2]|0; + $753 = (($752) - 1)|0; + $754 = (($751) + ($753<<2)|0); + $755 = HEAP32[$754>>2]|0; + $756 = (_wherePathSatisfiesOrderBy($741,$744,$745,0,$748,$755,$39)|0); + $757 = $756 << 24 >> 24; + HEAP32[$40>>2] = $757; + $758 = HEAP32[$40>>2]|0; + $759 = HEAP32[$3>>2]|0; + $760 = ((($759)) + 8|0); + $761 = HEAP32[$760>>2]|0; + $762 = HEAP32[$761>>2]|0; + $763 = ($758|0)==($762|0); + if ($763) { + $764 = HEAP32[$3>>2]|0; + $765 = ((($764)) + 44|0); + HEAP8[$765>>0] = 1; + $766 = $39; + $767 = $766; + $768 = HEAP32[$767>>2]|0; + $769 = (($766) + 4)|0; + $770 = $769; + $771 = HEAP32[$770>>2]|0; + $772 = HEAP32[$3>>2]|0; + $773 = ((($772)) + 64|0); + $774 = $773; + $775 = $774; + HEAP32[$775>>2] = $768; + $776 = (($774) + 4)|0; + $777 = $776; + HEAP32[$777>>2] = $771; + } + } + } + } + $778 = HEAP32[$20>>2]|0; + $779 = ((($778)) + 16|0); + $780 = HEAP16[$779>>1]|0; + $781 = HEAP32[$3>>2]|0; + $782 = ((($781)) + 72|0); + HEAP16[$782>>1] = $780; + $783 = HEAP32[$8>>2]|0; + $784 = HEAP32[$25>>2]|0; + _sqlite3DbFree($783,$784); + HEAP32[$2>>2] = 0; + $785 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($785|0); +} +function _sqlite3WhereExprListUsage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = $5; + $7 = $6; + HEAP32[$7>>2] = 0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = 0; + $10 = HEAP32[$3>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + $39 = $5; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + tempRet0 = ($44); + STACKTOP = sp;return ($41|0); } - if ((label|0) == 57) { - $556 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($556|0); + HEAP32[$4>>2] = 0; + while(1) { + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ($12|0)<($14|0); + if (!($15)) { + break; + } + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = (($19) + (($20*20)|0)|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3WhereExprUsage($16,$22)|0); + $24 = tempRet0; + $25 = $5; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = $27 | $23; + $32 = $30 | $24; + $33 = $5; + $34 = $33; + HEAP32[$34>>2] = $31; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = HEAP32[$4>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$4>>2] = $38; } - return (0)|0; + $39 = $5; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + tempRet0 = ($44); + STACKTOP = sp;return ($41|0); } -function _whereLoopAddOr($pBuilder,$0,$1,$2,$3) { - $pBuilder = $pBuilder|0; +function _constructAutomaticIndex($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; + $4 = $4|0; + $5 = $5|0; var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; @@ -184643,88796 +152551,176481 @@ function _whereLoopAddOr($pBuilder,$0,$1,$2,$3) { var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; - var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iCur = 0, $j = 0, $once = 0, $pItem = 0, $pNew = 0; - var $pOrTerm = 0, $pOrWC = 0, $pOrWCEnd = 0, $pTerm = 0, $pWC = 0, $pWCEnd = 0, $pWInfo = 0, $rc = 0, $sCur = 0, $sPrev = 0, $sSubBuild = 0, $sSum = 0, $tempWC = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; + var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; + var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; + var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; + var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0; + var $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0; + var $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0; + var $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0; + var $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0; + var $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0; + var $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 672|0; - $4 = sp + 668|0; - $5 = sp + 584|0; - $6 = sp + 576|0; - $pWInfo = sp + 664|0; - $pWC = sp + 660|0; - $pNew = sp + 656|0; - $pTerm = sp + 652|0; - $pWCEnd = sp + 648|0; - $rc = sp + 644|0; - $iCur = sp + 640|0; - $tempWC = sp + 168|0; - $sSubBuild = sp + 620|0; - $sSum = sp + 112|0; - $sCur = sp + 56|0; - $pItem = sp + 616|0; - $pOrWC = sp + 612|0; - $pOrWCEnd = sp + 608|0; - $pOrTerm = sp + 604|0; - $once = sp + 600|0; - $i = sp + 596|0; - $j = sp + 592|0; - $sPrev = sp; - HEAP32[$4>>2] = $pBuilder; - $7 = $5; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = $6; - $12 = $11; - HEAP32[$12>>2] = $2; - $13 = (($11) + 4)|0; - $14 = $13; - HEAP32[$14>>2] = $3; - $15 = HEAP32[$4>>2]|0; - $16 = HEAP32[$15>>2]|0; - HEAP32[$pWInfo>>2] = $16; - HEAP32[$rc>>2] = 0; - $17 = HEAP32[$4>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pWC>>2] = $19; - $20 = HEAP32[$pWC>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$pWC>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($22) + (($25*48)|0)|0); - HEAP32[$pWCEnd>>2] = $26; - $27 = HEAP32[$4>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$pNew>>2] = $29; - dest=$sSum; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $30 = HEAP32[$pWInfo>>2]|0; - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = ((($32)) + 8|0); - $34 = HEAP32[$pNew>>2]|0; - $35 = ((($34)) + 16|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = (($33) + (($37*72)|0)|0); - HEAP32[$pItem>>2] = $38; - $39 = HEAP32[$pItem>>2]|0; - $40 = ((($39)) + 44|0); - $41 = HEAP32[$40>>2]|0; - HEAP32[$iCur>>2] = $41; - $42 = HEAP32[$pWC>>2]|0; - $43 = ((($42)) + 20|0); - $44 = HEAP32[$43>>2]|0; - HEAP32[$pTerm>>2] = $44; + STACKTOP = STACKTOP + 176|0; + $vararg_buffer = sp + 40|0; + $6 = sp + 160|0; + $7 = sp + 156|0; + $8 = sp + 152|0; + $9 = sp + 32|0; + $10 = sp + 148|0; + $11 = sp + 144|0; + $12 = sp + 140|0; + $13 = sp + 136|0; + $14 = sp + 132|0; + $15 = sp + 128|0; + $16 = sp + 124|0; + $17 = sp + 120|0; + $18 = sp + 116|0; + $19 = sp + 112|0; + $20 = sp + 108|0; + $21 = sp + 104|0; + $22 = sp + 100|0; + $23 = sp + 96|0; + $24 = sp + 92|0; + $25 = sp + 88|0; + $26 = sp + 24|0; + $27 = sp + 16|0; + $28 = sp + 164|0; + $29 = sp + 84|0; + $30 = sp + 80|0; + $31 = sp + 76|0; + $32 = sp + 72|0; + $33 = sp + 68|0; + $34 = sp + 64|0; + $35 = sp + 60|0; + $36 = sp + 8|0; + $37 = sp + 56|0; + $38 = sp; + $39 = sp + 52|0; + $40 = sp + 48|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + $41 = $9; + $42 = $41; + HEAP32[$42>>2] = $3; + $43 = (($41) + 4)|0; + $44 = $43; + HEAP32[$44>>2] = $4; + HEAP32[$10>>2] = $5; + HEAP8[$28>>0] = 0; + HEAP32[$29>>2] = 0; + HEAP32[$30>>2] = 0; + HEAP32[$32>>2] = 0; + $45 = HEAP32[$6>>2]|0; + $46 = ((($45)) + 8|0); + $47 = HEAP32[$46>>2]|0; + HEAP32[$15>>2] = $47; + $48 = HEAP32[$15>>2]|0; + $49 = (_sqlite3VdbeAddOp0($48,20)|0); + HEAP32[$16>>2] = $49; + HEAP32[$11>>2] = 0; + $50 = HEAP32[$8>>2]|0; + $51 = ((($50)) + 16|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$17>>2] = $52; + $53 = HEAP32[$7>>2]|0; + $54 = ((($53)) + 20|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$7>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP32[$57>>2]|0; + $59 = (($55) + (($58*48)|0)|0); + HEAP32[$13>>2] = $59; + $60 = HEAP32[$10>>2]|0; + $61 = ((($60)) + 64|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$24>>2] = $62; + $63 = $26; + $64 = $63; + HEAP32[$64>>2] = 0; + $65 = (($63) + 4)|0; + $66 = $65; + HEAP32[$66>>2] = 0; + $67 = HEAP32[$7>>2]|0; + $68 = ((($67)) + 20|0); + $69 = HEAP32[$68>>2]|0; + HEAP32[$12>>2] = $69; while(1) { - $45 = HEAP32[$pTerm>>2]|0; - $46 = HEAP32[$pWCEnd>>2]|0; - $47 = ($45>>>0)<($46>>>0); - $48 = HEAP32[$rc>>2]|0; - $49 = ($48|0)==(0); - $50 = $47 ? $49 : 0; - if (!($50)) { + $70 = HEAP32[$12>>2]|0; + $71 = HEAP32[$13>>2]|0; + $72 = ($70>>>0)<($71>>>0); + if (!($72)) { break; } - $51 = HEAP32[$pTerm>>2]|0; - $52 = ((($51)) + 12|0); - $53 = HEAP16[$52>>1]|0; - $54 = $53&65535; - $55 = $54 & 512; - $56 = ($55|0)!=(0); - L4: do { - if ($56) { - $57 = HEAP32[$pTerm>>2]|0; - $58 = ((($57)) + 28|0); - $59 = HEAP32[$58>>2]|0; - $60 = ((($59)) + 408|0); - $61 = $60; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$pNew>>2]|0; - $68 = ((($67)) + 8|0); - $69 = $68; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = $63 & $71; - $76 = $66 & $74; - $77 = ($75|0)!=(0); - $78 = ($76|0)!=(0); - $79 = $77 | $78; - if ($79) { - $80 = HEAP32[$pTerm>>2]|0; - $81 = ((($80)) + 28|0); - $82 = HEAP32[$81>>2]|0; - HEAP32[$pOrWC>>2] = $82; - $83 = HEAP32[$pOrWC>>2]|0; - $84 = ((($83)) + 12|0); - $85 = HEAP32[$84>>2]|0; - $86 = HEAP32[$pOrWC>>2]|0; - $87 = ((($86)) + 20|0); - $88 = HEAP32[$87>>2]|0; - $89 = (($88) + (($85*48)|0)|0); - HEAP32[$pOrWCEnd>>2] = $89; - HEAP32[$once>>2] = 1; - $90 = HEAP32[$4>>2]|0; - ;HEAP32[$sSubBuild>>2]=HEAP32[$90>>2]|0;HEAP32[$sSubBuild+4>>2]=HEAP32[$90+4>>2]|0;HEAP32[$sSubBuild+8>>2]=HEAP32[$90+8>>2]|0;HEAP32[$sSubBuild+12>>2]=HEAP32[$90+12>>2]|0;HEAP32[$sSubBuild+16>>2]=HEAP32[$90+16>>2]|0; - $91 = ((($sSubBuild)) + 8|0); - HEAP32[$91>>2] = 0; - $92 = ((($sSubBuild)) + 16|0); - HEAP32[$92>>2] = $sCur; - $93 = HEAP32[$pOrWC>>2]|0; - $94 = ((($93)) + 20|0); - $95 = HEAP32[$94>>2]|0; - HEAP32[$pOrTerm>>2] = $95; - L7: while(1) { - $96 = HEAP32[$pOrTerm>>2]|0; - $97 = HEAP32[$pOrWCEnd>>2]|0; - $98 = ($96>>>0)<($97>>>0); - if (!($98)) { - break; - } - $99 = HEAP32[$pOrTerm>>2]|0; - $100 = ((($99)) + 12|0); - $101 = HEAP16[$100>>1]|0; - $102 = $101&65535; - $103 = $102 & 1024; - $104 = ($103|0)!=(0); - $105 = HEAP32[$pOrTerm>>2]|0; - if ($104) { - $106 = ((($105)) + 28|0); - $107 = HEAP32[$106>>2]|0; - $108 = ((($sSubBuild)) + 4|0); - HEAP32[$108>>2] = $107; - label = 11; - } else { - $109 = ((($105)) + 20|0); - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$iCur>>2]|0; - $112 = ($110|0)==($111|0); - if ($112) { - $113 = HEAP32[$pWC>>2]|0; - $114 = HEAP32[$113>>2]|0; - HEAP32[$tempWC>>2] = $114; - $115 = HEAP32[$pWC>>2]|0; - $116 = ((($tempWC)) + 4|0); - HEAP32[$116>>2] = $115; - $117 = ((($tempWC)) + 8|0); - HEAP8[$117>>0] = 28; - $118 = ((($tempWC)) + 12|0); - HEAP32[$118>>2] = 1; - $119 = HEAP32[$pOrTerm>>2]|0; - $120 = ((($tempWC)) + 20|0); - HEAP32[$120>>2] = $119; - $121 = ((($sSubBuild)) + 4|0); - HEAP32[$121>>2] = $tempWC; - label = 11; - } - } - L14: do { - if ((label|0) == 11) { - label = 0; - HEAP16[$sCur>>1] = 0; - $122 = HEAP32[$pItem>>2]|0; - $123 = ((($122)) + 16|0); - $124 = HEAP32[$123>>2]|0; - $125 = ((($124)) + 42|0); - $126 = HEAP8[$125>>0]|0; - $127 = $126&255; - $128 = $127 & 16; - $129 = ($128|0)!=(0); - $130 = $5; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (($130) + 4)|0; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - if ($129) { - $136 = $6; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = (($136) + 4)|0; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = (_whereLoopAddVirtual($sSubBuild,$132,$135,$138,$141)|0); - HEAP32[$rc>>2] = $142; - } else { - $143 = (_whereLoopAddBtree($sSubBuild,$132,$135)|0); - HEAP32[$rc>>2] = $143; - } - $144 = HEAP32[$rc>>2]|0; - $145 = ($144|0)==(0); - if ($145) { - $146 = $5; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $6; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = (($152) + 4)|0; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = (_whereLoopAddOr($sSubBuild,$148,$151,$154,$157)|0); - HEAP32[$rc>>2] = $158; - } - $159 = HEAP16[$sCur>>1]|0; - $160 = $159&65535; - $161 = ($160|0)==(0); - if ($161) { - label = 17; - break L7; - } - $162 = HEAP32[$once>>2]|0; - $163 = ($162|0)!=(0); - if ($163) { - _whereOrMove($sSum,$sCur); - HEAP32[$once>>2] = 0; - break; - } - _whereOrMove($sPrev,$sSum); - HEAP16[$sSum>>1] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $164 = HEAP32[$i>>2]|0; - $165 = HEAP16[$sPrev>>1]|0; - $166 = $165&65535; - $167 = ($164|0)<($166|0); - if (!($167)) { - break L14; - } - HEAP32[$j>>2] = 0; - while(1) { - $168 = HEAP32[$j>>2]|0; - $169 = HEAP16[$sCur>>1]|0; - $170 = $169&65535; - $171 = ($168|0)<($170|0); - $172 = HEAP32[$i>>2]|0; - if (!($171)) { - break; - } - $173 = ((($sPrev)) + 8|0); - $174 = (($173) + ($172<<4)|0); - $175 = $174; - $176 = $175; - $177 = HEAP32[$176>>2]|0; - $178 = (($175) + 4)|0; - $179 = $178; - $180 = HEAP32[$179>>2]|0; - $181 = HEAP32[$j>>2]|0; - $182 = ((($sCur)) + 8|0); - $183 = (($182) + ($181<<4)|0); - $184 = $183; - $185 = $184; - $186 = HEAP32[$185>>2]|0; - $187 = (($184) + 4)|0; - $188 = $187; - $189 = HEAP32[$188>>2]|0; - $190 = $177 | $186; - $191 = $180 | $189; - $192 = HEAP32[$i>>2]|0; - $193 = ((($sPrev)) + 8|0); - $194 = (($193) + ($192<<4)|0); - $195 = ((($194)) + 8|0); - $196 = HEAP16[$195>>1]|0; - $197 = HEAP32[$j>>2]|0; - $198 = ((($sCur)) + 8|0); - $199 = (($198) + ($197<<4)|0); - $200 = ((($199)) + 8|0); - $201 = HEAP16[$200>>1]|0; - $202 = (_sqlite3LogEstAdd($196,$201)|0); - $203 = HEAP32[$i>>2]|0; - $204 = ((($sPrev)) + 8|0); - $205 = (($204) + ($203<<4)|0); - $206 = ((($205)) + 10|0); - $207 = HEAP16[$206>>1]|0; - $208 = HEAP32[$j>>2]|0; - $209 = ((($sCur)) + 8|0); - $210 = (($209) + ($208<<4)|0); - $211 = ((($210)) + 10|0); - $212 = HEAP16[$211>>1]|0; - $213 = (_sqlite3LogEstAdd($207,$212)|0); - (_whereOrInsert($sSum,$190,$191,$202,$213)|0); - $214 = HEAP32[$j>>2]|0; - $215 = (($214) + 1)|0; - HEAP32[$j>>2] = $215; - } - $216 = (($172) + 1)|0; - HEAP32[$i>>2] = $216; - } - } - } while(0); - $217 = HEAP32[$pOrTerm>>2]|0; - $218 = ((($217)) + 48|0); - HEAP32[$pOrTerm>>2] = $218; - } - if ((label|0) == 17) { - label = 0; - HEAP16[$sSum>>1] = 0; - } - $219 = HEAP32[$pNew>>2]|0; - $220 = ((($219)) + 40|0); - HEAP16[$220>>1] = 1; - $221 = HEAP32[$pTerm>>2]|0; - $222 = HEAP32[$pNew>>2]|0; - $223 = ((($222)) + 48|0); - $224 = HEAP32[$223>>2]|0; - HEAP32[$224>>2] = $221; - $225 = HEAP32[$pNew>>2]|0; - $226 = ((($225)) + 36|0); - HEAP32[$226>>2] = 8192; - $227 = HEAP32[$pNew>>2]|0; - $228 = ((($227)) + 18|0); - HEAP16[$228>>1] = 0; - $229 = HEAP32[$pNew>>2]|0; - $230 = ((($229)) + 17|0); - HEAP8[$230>>0] = 0; - $231 = HEAP32[$pNew>>2]|0; - $232 = ((($231)) + 24|0); - ;HEAP32[$232>>2]=0|0;HEAP32[$232+4>>2]=0|0;HEAP32[$232+8>>2]=0|0; - HEAP32[$i>>2] = 0; - while(1) { - $233 = HEAP32[$rc>>2]|0; - $234 = ($233|0)==(0); - if (!($234)) { - break L4; - } - $235 = HEAP32[$i>>2]|0; - $236 = HEAP16[$sSum>>1]|0; - $237 = $236&65535; - $238 = ($235|0)<($237|0); - if (!($238)) { - break L4; - } - $239 = HEAP32[$i>>2]|0; - $240 = ((($sSum)) + 8|0); - $241 = (($240) + ($239<<4)|0); - $242 = ((($241)) + 8|0); - $243 = HEAP16[$242>>1]|0; - $244 = $243 << 16 >> 16; - $245 = (($244) + 1)|0; - $246 = $245&65535; - $247 = HEAP32[$pNew>>2]|0; - $248 = ((($247)) + 20|0); - HEAP16[$248>>1] = $246; - $249 = HEAP32[$i>>2]|0; - $250 = ((($sSum)) + 8|0); - $251 = (($250) + ($249<<4)|0); - $252 = ((($251)) + 10|0); - $253 = HEAP16[$252>>1]|0; - $254 = HEAP32[$pNew>>2]|0; - $255 = ((($254)) + 22|0); - HEAP16[$255>>1] = $253; - $256 = HEAP32[$i>>2]|0; - $257 = ((($sSum)) + 8|0); - $258 = (($257) + ($256<<4)|0); - $259 = $258; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $262 = (($259) + 4)|0; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = HEAP32[$pNew>>2]|0; - $266 = $265; - $267 = $266; - HEAP32[$267>>2] = $261; - $268 = (($266) + 4)|0; - $269 = $268; - HEAP32[$269>>2] = $264; - $270 = HEAP32[$4>>2]|0; - $271 = HEAP32[$pNew>>2]|0; - $272 = (_whereLoopInsert($270,$271)|0); - HEAP32[$rc>>2] = $272; - $273 = HEAP32[$i>>2]|0; - $274 = (($273) + 1)|0; - HEAP32[$i>>2] = $274; + $73 = HEAP32[$12>>2]|0; + $74 = HEAP32[$73>>2]|0; + HEAP32[$34>>2] = $74; + $75 = HEAP32[$24>>2]|0; + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = ($78|0)==(0); + $83 = ($81|0)==(0); + $84 = $82 & $83; + if ($84) { + $85 = HEAP32[$12>>2]|0; + $86 = ((($85)) + 10|0); + $87 = HEAP16[$86>>1]|0; + $88 = $87&65535; + $89 = $88 & 2; + $90 = ($89|0)==(0); + if ($90) { + $91 = HEAP32[$34>>2]|0; + $92 = ((($91)) + 4|0); + $93 = HEAP32[$92>>2]|0; + $94 = $93 & 1; + $95 = ($94|0)!=(0); + if (!($95)) { + $96 = HEAP32[$34>>2]|0; + $97 = HEAP32[$8>>2]|0; + $98 = ((($97)) + 44|0); + $99 = HEAP32[$98>>2]|0; + $100 = (_sqlite3ExprIsTableConstant($96,$99)|0); + $101 = ($100|0)!=(0); + if ($101) { + $102 = HEAP32[$6>>2]|0; + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$29>>2]|0; + $105 = HEAP32[$6>>2]|0; + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$34>>2]|0; + $108 = (_sqlite3ExprDup($106,$107,0)|0); + $109 = (_sqlite3ExprAnd($103,$104,$108)|0); + HEAP32[$29>>2] = $109; } } } - } while(0); - $275 = HEAP32[$pTerm>>2]|0; - $276 = ((($275)) + 48|0); - HEAP32[$pTerm>>2] = $276; - } - $277 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($277|0); -} -function _whereOrMove($pDest,$pSrc) { - $pDest = $pDest|0; - $pSrc = $pSrc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pDest; - HEAP32[$1>>2] = $pSrc; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP16[$2>>1]|0; - $4 = HEAP32[$0>>2]|0; - HEAP16[$4>>1] = $3; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$0>>2]|0; - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11<<4; - _memcpy(($6|0),($8|0),($12|0))|0; - STACKTOP = sp;return; -} -function _whereOrInsert($pSet,$0,$1,$rRun,$nOut) { - $pSet = $pSet|0; - $0 = $0|0; - $1 = $1|0; - $rRun = $rRun|0; - $nOut = $nOut|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp; - $5 = sp + 24|0; - $6 = sp + 22|0; - $i = sp + 20|0; - $p = sp + 8|0; - HEAP32[$3>>2] = $pSet; - $7 = $4; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - HEAP16[$5>>1] = $rRun; - HEAP16[$6>>1] = $nOut; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP16[$11>>1]|0; - HEAP16[$i>>1] = $12; - $13 = HEAP32[$3>>2]|0; - $14 = ((($13)) + 8|0); - HEAP32[$p>>2] = $14; - while(1) { - $15 = HEAP16[$i>>1]|0; - $16 = $15&65535; - $17 = ($16|0)>(0); - if (!($17)) { - label = 9; - break; - } - $18 = HEAP16[$5>>1]|0; - $19 = $18 << 16 >> 16; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22 << 16 >> 16; - $24 = ($19|0)<=($23|0); - if ($24) { - $25 = $4; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$p>>2]|0; - $32 = $31; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = $27 & $34; - $39 = $30 & $37; - $40 = $4; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (($40) + 4)|0; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = ($38|0)==($42|0); - $47 = ($39|0)==($45|0); - $48 = $46 & $47; - if ($48) { - break; - } } - $49 = HEAP32[$p>>2]|0; - $50 = ((($49)) + 8|0); - $51 = HEAP16[$50>>1]|0; - $52 = $51 << 16 >> 16; - $53 = HEAP16[$5>>1]|0; - $54 = $53 << 16 >> 16; - $55 = ($52|0)<=($54|0); - if ($55) { - $56 = HEAP32[$p>>2]|0; - $57 = $56; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = $4; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (($63) + 4)|0; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = $59 & $65; - $70 = $62 & $68; - $71 = HEAP32[$p>>2]|0; - $72 = $71; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = ($69|0)==($74|0); - $79 = ($70|0)==($77|0); - $80 = $78 & $79; - if ($80) { - label = 7; - break; + $110 = HEAP32[$12>>2]|0; + $111 = HEAP32[$8>>2]|0; + $112 = $9; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = (($112) + 4)|0; + $116 = $115; + $117 = HEAP32[$116>>2]|0; + $118 = (_termCanDriveIndex($110,$111,$114,$117)|0); + $119 = ($118|0)!=(0); + if ($119) { + $120 = HEAP32[$12>>2]|0; + $121 = ((($120)) + 28|0); + $122 = HEAP32[$121>>2]|0; + HEAP32[$35>>2] = $122; + $123 = HEAP32[$35>>2]|0; + $124 = ($123|0)>=(64); + if ($124) { + $130 = 0;$133 = -2147483648; + } else { + $125 = HEAP32[$35>>2]|0; + $126 = (_bitshift64Shl(1,0,($125|0))|0); + $127 = tempRet0; + $130 = $126;$133 = $127; } - } - $81 = HEAP16[$i>>1]|0; - $82 = (($81) + -1)<<16>>16; - HEAP16[$i>>1] = $82; - $83 = HEAP32[$p>>2]|0; - $84 = ((($83)) + 16|0); - HEAP32[$p>>2] = $84; - } - if ((label|0) == 7) { - HEAP32[$2>>2] = 0; - $153 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($153|0); - } - do { - if ((label|0) == 9) { - $85 = HEAP32[$3>>2]|0; - $86 = HEAP16[$85>>1]|0; - $87 = $86&65535; - $88 = ($87|0)<(3); - $89 = HEAP32[$3>>2]|0; - if ($88) { - $90 = HEAP16[$89>>1]|0; - $91 = (($90) + 1)<<16>>16; - HEAP16[$89>>1] = $91; - $92 = $90&65535; - $93 = HEAP32[$3>>2]|0; - $94 = ((($93)) + 8|0); - $95 = (($94) + ($92<<4)|0); - HEAP32[$p>>2] = $95; - $96 = HEAP16[$6>>1]|0; - $97 = HEAP32[$p>>2]|0; - $98 = ((($97)) + 10|0); - HEAP16[$98>>1] = $96; - break; + $128 = $36; + $129 = $128; + HEAP32[$129>>2] = $130; + $131 = (($128) + 4)|0; + $132 = $131; + HEAP32[$132>>2] = $133; + $134 = HEAP8[$28>>0]|0; + $135 = ($134<<24>>24)!=(0); + if (!($135)) { + $136 = HEAP32[$17>>2]|0; + $137 = HEAP32[$136>>2]|0; + $138 = HEAP32[$17>>2]|0; + $139 = ((($138)) + 4|0); + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$35>>2]|0; + $142 = (($140) + ($141<<4)|0); + $143 = HEAP32[$142>>2]|0; + HEAP32[$vararg_buffer>>2] = $137; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $143; + _sqlite3_log(284,34333,$vararg_buffer); + HEAP8[$28>>0] = 1; } - $99 = ((($89)) + 8|0); - HEAP32[$p>>2] = $99; - HEAP16[$i>>1] = 1; - while(1) { - $100 = HEAP16[$i>>1]|0; - $101 = $100&65535; - $102 = HEAP32[$3>>2]|0; - $103 = HEAP16[$102>>1]|0; - $104 = $103&65535; - $105 = ($101|0)<($104|0); - $106 = HEAP32[$p>>2]|0; - $107 = ((($106)) + 8|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108 << 16 >> 16; - if (!($105)) { + $144 = $26; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $36; + $151 = $150; + $152 = HEAP32[$151>>2]|0; + $153 = (($150) + 4)|0; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = $146 & $152; + $157 = $149 & $155; + $158 = ($156|0)==(0); + $159 = ($157|0)==(0); + $160 = $158 & $159; + if ($160) { + $161 = HEAP32[$6>>2]|0; + $162 = HEAP32[$161>>2]|0; + $163 = HEAP32[$24>>2]|0; + $164 = HEAP32[$11>>2]|0; + $165 = (($164) + 1)|0; + $166 = (_whereLoopResize($162,$163,$165)|0); + $167 = ($166|0)!=(0); + if ($167) { + label = 57; break; } - $110 = HEAP16[$i>>1]|0; - $111 = $110&65535; - $112 = HEAP32[$3>>2]|0; - $113 = ((($112)) + 8|0); - $114 = (($113) + ($111<<4)|0); - $115 = ((($114)) + 8|0); - $116 = HEAP16[$115>>1]|0; - $117 = $116 << 16 >> 16; - $118 = ($109|0)>($117|0); - if ($118) { - $119 = HEAP32[$3>>2]|0; - $120 = ((($119)) + 8|0); - $121 = HEAP16[$i>>1]|0; - $122 = $121&65535; - $123 = (($120) + ($122<<4)|0); - HEAP32[$p>>2] = $123; - } - $124 = HEAP16[$i>>1]|0; - $125 = (($124) + 1)<<16>>16; - HEAP16[$i>>1] = $125; - } - $126 = HEAP16[$5>>1]|0; - $127 = $126 << 16 >> 16; - $128 = ($109|0)<=($127|0); - if ($128) { - HEAP32[$2>>2] = 0; - $153 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($153|0); + $168 = HEAP32[$12>>2]|0; + $169 = HEAP32[$24>>2]|0; + $170 = ((($169)) + 48|0); + $171 = HEAP32[$170>>2]|0; + $172 = HEAP32[$11>>2]|0; + $173 = (($172) + 1)|0; + HEAP32[$11>>2] = $173; + $174 = (($171) + ($172<<2)|0); + HEAP32[$174>>2] = $168; + $175 = $36; + $176 = $175; + $177 = HEAP32[$176>>2]|0; + $178 = (($175) + 4)|0; + $179 = $178; + $180 = HEAP32[$179>>2]|0; + $181 = $26; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = (($181) + 4)|0; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + $187 = $183 | $177; + $188 = $186 | $180; + $189 = $26; + $190 = $189; + HEAP32[$190>>2] = $187; + $191 = (($189) + 4)|0; + $192 = $191; + HEAP32[$192>>2] = $188; } } - } while(0); - $129 = $4; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = (($129) + 4)|0; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$p>>2]|0; - $136 = $135; - $137 = $136; - HEAP32[$137>>2] = $131; - $138 = (($136) + 4)|0; - $139 = $138; - HEAP32[$139>>2] = $134; - $140 = HEAP16[$5>>1]|0; - $141 = HEAP32[$p>>2]|0; - $142 = ((($141)) + 8|0); - HEAP16[$142>>1] = $140; - $143 = HEAP32[$p>>2]|0; - $144 = ((($143)) + 10|0); - $145 = HEAP16[$144>>1]|0; - $146 = $145 << 16 >> 16; - $147 = HEAP16[$6>>1]|0; - $148 = $147 << 16 >> 16; - $149 = ($146|0)>($148|0); - if ($149) { - $150 = HEAP16[$6>>1]|0; - $151 = HEAP32[$p>>2]|0; - $152 = ((($151)) + 10|0); - HEAP16[$152>>1] = $150; + $193 = HEAP32[$12>>2]|0; + $194 = ((($193)) + 48|0); + HEAP32[$12>>2] = $194; } - HEAP32[$2>>2] = 1; - $153 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($153|0); -} -function _whereLoopInsert($pBuilder,$pTemplate) { - $pBuilder = $pBuilder|0; - $pTemplate = $pTemplate|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, $p = 0; - var $pIndex = 0, $pToDel = 0, $pWInfo = 0, $ppPrev = 0, $ppTail = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $ppPrev = sp + 28|0; - $p = sp + 24|0; - $pWInfo = sp + 20|0; - $db = sp + 16|0; - $rc = sp + 12|0; - $ppTail = sp + 8|0; - $pToDel = sp + 4|0; - $pIndex = sp; - HEAP32[$1>>2] = $pBuilder; - HEAP32[$2>>2] = $pTemplate; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pWInfo>>2] = $4; - $5 = HEAP32[$pWInfo>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$db>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 40|0); - $14 = HEAP16[$13>>1]|0; - $15 = ($14<<16>>16)!=(0); - if ($15) { - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = $19; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 20|0); - $28 = HEAP16[$27>>1]|0; - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 22|0); - $31 = HEAP16[$30>>1]|0; - (_whereOrInsert($18,$22,$25,$28,$31)|0); - } - HEAP32[$0>>2] = 0; - $97 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($97|0); + if ((label|0) == 57) { + $594 = HEAP32[$6>>2]|0; + $595 = HEAP32[$594>>2]|0; + $596 = HEAP32[$29>>2]|0; + _sqlite3ExprDelete($595,$596); + STACKTOP = sp;return; } - $32 = HEAP32[$pWInfo>>2]|0; - $33 = ((($32)) + 56|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$2>>2]|0; - _whereLoopAdjustCost($34,$35); - $36 = HEAP32[$pWInfo>>2]|0; - $37 = ((($36)) + 56|0); - $38 = HEAP32[$2>>2]|0; - $39 = (_whereLoopFindLesser($37,$38)|0); - HEAP32[$ppPrev>>2] = $39; - $40 = HEAP32[$ppPrev>>2]|0; - $41 = ($40|0)==(0|0); - if ($41) { - HEAP32[$0>>2] = 0; - $97 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($97|0); + $195 = HEAP32[$11>>2]|0; + $196 = $195&65535; + $197 = HEAP32[$24>>2]|0; + $198 = ((($197)) + 40|0); + HEAP16[$198>>1] = $196; + $199 = HEAP32[$24>>2]|0; + $200 = ((($199)) + 24|0); + HEAP16[$200>>1] = $196; + $201 = HEAP32[$24>>2]|0; + $202 = ((($201)) + 36|0); + HEAP32[$202>>2] = 16961; + $203 = HEAP32[$8>>2]|0; + $204 = ((($203)) + 56|0); + $205 = $204; + $206 = $205; + $207 = HEAP32[$206>>2]|0; + $208 = (($205) + 4)|0; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = $26; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = (($211) + 4)|0; + $215 = $214; + $216 = HEAP32[$215>>2]|0; + $217 = $213 ^ -1; + $218 = $216 ^ -1; + $219 = $218 | -2147483648; + $220 = $207 & $217; + $221 = $210 & $219; + $222 = $27; + $223 = $222; + HEAP32[$223>>2] = $220; + $224 = (($222) + 4)|0; + $225 = $224; + HEAP32[$225>>2] = $221; + $226 = HEAP32[$17>>2]|0; + $227 = ((($226)) + 34|0); + $228 = HEAP16[$227>>1]|0; + $229 = $228 << 16 >> 16; + $230 = (63)<($229|0); + if ($230) { + $235 = 63; + } else { + $231 = HEAP32[$17>>2]|0; + $232 = ((($231)) + 34|0); + $233 = HEAP16[$232>>1]|0; + $234 = $233 << 16 >> 16; + $235 = $234; } - $42 = HEAP32[$ppPrev>>2]|0; - $43 = HEAP32[$42>>2]|0; - HEAP32[$p>>2] = $43; - $44 = HEAP32[$p>>2]|0; - $45 = ($44|0)==(0|0); - L12: do { - if ($45) { - $46 = HEAP32[$db>>2]|0; - $47 = (_sqlite3DbMallocRawNN($46,72,0)|0); - HEAP32[$p>>2] = $47; - $48 = HEAP32[$ppPrev>>2]|0; - HEAP32[$48>>2] = $47; - $49 = HEAP32[$p>>2]|0; - $50 = ($49|0)==(0|0); - if (!($50)) { - $51 = HEAP32[$p>>2]|0; - _whereLoopInit($51); - $52 = HEAP32[$p>>2]|0; - $53 = ((($52)) + 52|0); - HEAP32[$53>>2] = 0; - break; + HEAP32[$22>>2] = $235; + HEAP32[$21>>2] = 0; + while(1) { + $236 = HEAP32[$21>>2]|0; + $237 = HEAP32[$22>>2]|0; + $238 = ($236|0)<($237|0); + if (!($238)) { + break; + } + $239 = $27; + $240 = $239; + $241 = HEAP32[$240>>2]|0; + $242 = (($239) + 4)|0; + $243 = $242; + $244 = HEAP32[$243>>2]|0; + $245 = HEAP32[$21>>2]|0; + $246 = (_bitshift64Shl(1,0,($245|0))|0); + $247 = tempRet0; + $248 = $241 & $246; + $249 = $244 & $247; + $250 = ($248|0)!=(0); + $251 = ($249|0)!=(0); + $252 = $250 | $251; + if ($252) { + $253 = HEAP32[$11>>2]|0; + $254 = (($253) + 1)|0; + HEAP32[$11>>2] = $254; + } + $255 = HEAP32[$21>>2]|0; + $256 = (($255) + 1)|0; + HEAP32[$21>>2] = $256; + } + $257 = HEAP32[$8>>2]|0; + $258 = ((($257)) + 56|0); + $259 = $258; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $264 & -2147483648; + $266 = (0)!=(0); + $267 = ($265|0)!=(0); + $268 = $266 | $267; + if ($268) { + $269 = HEAP32[$17>>2]|0; + $270 = ((($269)) + 34|0); + $271 = HEAP16[$270>>1]|0; + $272 = $271 << 16 >> 16; + $273 = (($272) - 64)|0; + $274 = (($273) + 1)|0; + $275 = HEAP32[$11>>2]|0; + $276 = (($275) + ($274))|0; + HEAP32[$11>>2] = $276; + } + $277 = HEAP32[$6>>2]|0; + $278 = HEAP32[$277>>2]|0; + $279 = HEAP32[$11>>2]|0; + $280 = (($279) + 1)|0; + $281 = $280&65535; + $282 = (_sqlite3AllocateIndexObject($278,$281,0,$25)|0); + HEAP32[$14>>2] = $282; + $283 = HEAP32[$14>>2]|0; + $284 = ($283|0)==(0|0); + if ($284) { + $594 = HEAP32[$6>>2]|0; + $595 = HEAP32[$594>>2]|0; + $596 = HEAP32[$29>>2]|0; + _sqlite3ExprDelete($595,$596); + STACKTOP = sp;return; + } + $285 = HEAP32[$14>>2]|0; + $286 = HEAP32[$24>>2]|0; + $287 = ((($286)) + 24|0); + $288 = ((($287)) + 8|0); + HEAP32[$288>>2] = $285; + $289 = HEAP32[$14>>2]|0; + HEAP32[$289>>2] = 34359; + $290 = HEAP32[$17>>2]|0; + $291 = HEAP32[$14>>2]|0; + $292 = ((($291)) + 12|0); + HEAP32[$292>>2] = $290; + HEAP32[$20>>2] = 0; + $293 = $26; + $294 = $293; + HEAP32[$294>>2] = 0; + $295 = (($293) + 4)|0; + $296 = $295; + HEAP32[$296>>2] = 0; + $297 = HEAP32[$7>>2]|0; + $298 = ((($297)) + 20|0); + $299 = HEAP32[$298>>2]|0; + HEAP32[$12>>2] = $299; + while(1) { + $300 = HEAP32[$12>>2]|0; + $301 = HEAP32[$13>>2]|0; + $302 = ($300>>>0)<($301>>>0); + if (!($302)) { + break; + } + $303 = HEAP32[$12>>2]|0; + $304 = HEAP32[$8>>2]|0; + $305 = $9; + $306 = $305; + $307 = HEAP32[$306>>2]|0; + $308 = (($305) + 4)|0; + $309 = $308; + $310 = HEAP32[$309>>2]|0; + $311 = (_termCanDriveIndex($303,$304,$307,$310)|0); + $312 = ($311|0)!=(0); + if ($312) { + $313 = HEAP32[$12>>2]|0; + $314 = ((($313)) + 28|0); + $315 = HEAP32[$314>>2]|0; + HEAP32[$37>>2] = $315; + $316 = HEAP32[$37>>2]|0; + $317 = ($316|0)>=(64); + if ($317) { + $323 = 0;$326 = -2147483648; + } else { + $318 = HEAP32[$37>>2]|0; + $319 = (_bitshift64Shl(1,0,($318|0))|0); + $320 = tempRet0; + $323 = $319;$326 = $320; } - HEAP32[$0>>2] = 7; - $97 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($97|0); - } else { - $54 = HEAP32[$p>>2]|0; - $55 = ((($54)) + 52|0); - HEAP32[$ppTail>>2] = $55; - while(1) { - $56 = HEAP32[$ppTail>>2]|0; - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)!=(0|0); - if (!($58)) { - break L12; - } - $59 = HEAP32[$ppTail>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = (_whereLoopFindLesser($59,$60)|0); - HEAP32[$ppTail>>2] = $61; - $62 = HEAP32[$ppTail>>2]|0; - $63 = ($62|0)==(0|0); - if ($63) { - break L12; - } - $64 = HEAP32[$ppTail>>2]|0; - $65 = HEAP32[$64>>2]|0; - HEAP32[$pToDel>>2] = $65; - $66 = HEAP32[$pToDel>>2]|0; - $67 = ($66|0)==(0|0); - if ($67) { - break L12; + $321 = $38; + $322 = $321; + HEAP32[$322>>2] = $323; + $324 = (($321) + 4)|0; + $325 = $324; + HEAP32[$325>>2] = $326; + $327 = $26; + $328 = $327; + $329 = HEAP32[$328>>2]|0; + $330 = (($327) + 4)|0; + $331 = $330; + $332 = HEAP32[$331>>2]|0; + $333 = $38; + $334 = $333; + $335 = HEAP32[$334>>2]|0; + $336 = (($333) + 4)|0; + $337 = $336; + $338 = HEAP32[$337>>2]|0; + $339 = $329 & $335; + $340 = $332 & $338; + $341 = ($339|0)==(0); + $342 = ($340|0)==(0); + $343 = $341 & $342; + if ($343) { + $344 = HEAP32[$12>>2]|0; + $345 = HEAP32[$344>>2]|0; + HEAP32[$39>>2] = $345; + $346 = $38; + $347 = $346; + $348 = HEAP32[$347>>2]|0; + $349 = (($346) + 4)|0; + $350 = $349; + $351 = HEAP32[$350>>2]|0; + $352 = $26; + $353 = $352; + $354 = HEAP32[$353>>2]|0; + $355 = (($352) + 4)|0; + $356 = $355; + $357 = HEAP32[$356>>2]|0; + $358 = $354 | $348; + $359 = $357 | $351; + $360 = $26; + $361 = $360; + HEAP32[$361>>2] = $358; + $362 = (($360) + 4)|0; + $363 = $362; + HEAP32[$363>>2] = $359; + $364 = HEAP32[$12>>2]|0; + $365 = ((($364)) + 28|0); + $366 = HEAP32[$365>>2]|0; + $367 = $366&65535; + $368 = HEAP32[$14>>2]|0; + $369 = ((($368)) + 4|0); + $370 = HEAP32[$369>>2]|0; + $371 = HEAP32[$20>>2]|0; + $372 = (($370) + ($371<<1)|0); + HEAP16[$372>>1] = $367; + $373 = HEAP32[$6>>2]|0; + $374 = HEAP32[$39>>2]|0; + $375 = ((($374)) + 12|0); + $376 = HEAP32[$375>>2]|0; + $377 = HEAP32[$39>>2]|0; + $378 = ((($377)) + 16|0); + $379 = HEAP32[$378>>2]|0; + $380 = (_sqlite3BinaryCompareCollSeq($373,$376,$379)|0); + HEAP32[$23>>2] = $380; + $381 = HEAP32[$23>>2]|0; + $382 = ($381|0)!=(0|0); + if ($382) { + $383 = HEAP32[$23>>2]|0; + $384 = HEAP32[$383>>2]|0; + $390 = $384; + } else { + $390 = 34455; } - $68 = HEAP32[$pToDel>>2]|0; - $69 = ((($68)) + 52|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$ppTail>>2]|0; - HEAP32[$71>>2] = $70; - $72 = HEAP32[$db>>2]|0; - $73 = HEAP32[$pToDel>>2]|0; - _whereLoopDelete($72,$73); - } - } - } while(0); - $74 = HEAP32[$db>>2]|0; - $75 = HEAP32[$p>>2]|0; - $76 = HEAP32[$2>>2]|0; - $77 = (_whereLoopXfer($74,$75,$76)|0); - HEAP32[$rc>>2] = $77; - $78 = HEAP32[$p>>2]|0; - $79 = ((($78)) + 36|0); - $80 = HEAP32[$79>>2]|0; - $81 = $80 & 1024; - $82 = ($81|0)==(0); - if ($82) { - $83 = HEAP32[$p>>2]|0; - $84 = ((($83)) + 24|0); - $85 = ((($84)) + 8|0); - $86 = HEAP32[$85>>2]|0; - HEAP32[$pIndex>>2] = $86; - $87 = HEAP32[$pIndex>>2]|0; - $88 = ($87|0)!=(0|0); - if ($88) { - $89 = HEAP32[$pIndex>>2]|0; - $90 = ((($89)) + 44|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(0); - if ($92) { - $93 = HEAP32[$p>>2]|0; - $94 = ((($93)) + 24|0); - $95 = ((($94)) + 8|0); - HEAP32[$95>>2] = 0; + $385 = HEAP32[$14>>2]|0; + $386 = ((($385)) + 32|0); + $387 = HEAP32[$386>>2]|0; + $388 = HEAP32[$20>>2]|0; + $389 = (($387) + ($388<<2)|0); + HEAP32[$389>>2] = $390; + $391 = HEAP32[$20>>2]|0; + $392 = (($391) + 1)|0; + HEAP32[$20>>2] = $392; } } + $393 = HEAP32[$12>>2]|0; + $394 = ((($393)) + 48|0); + HEAP32[$12>>2] = $394; } - $96 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $96; - $97 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($97|0); -} -function _whereLoopAdjustCost($p,$pTemplate) { - $p = $p|0; - $pTemplate = $pTemplate|0; - var $$old = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - 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, $7 = 0; - var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pTemplate; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 36|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 512; - $6 = ($5|0)!=(0); - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)!=(0|0); - $or$cond = $6 & $8; - if (!($or$cond)) { - STACKTOP = sp;return; - } + HEAP32[$21>>2] = 0; while(1) { - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 16|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($12|0)!=($16|0); - do { - if (!($17)) { - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 36|0); - $20 = HEAP32[$19>>2]|0; - $21 = $20 & 512; - $22 = ($21|0)==(0); - if (!($22)) { - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = (_whereLoopCheaperProperSubset($23,$24)|0); - $26 = ($25|0)!=(0); - if ($26) { - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 20|0); - $29 = HEAP16[$28>>1]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 20|0); - HEAP16[$31>>1] = $29; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 22|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34 << 16 >> 16; - $36 = (($35) - 1)|0; - $37 = $36&65535; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 22|0); - HEAP16[$39>>1] = $37; - break; - } - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = (_whereLoopCheaperProperSubset($40,$41)|0); - $43 = ($42|0)!=(0); - if ($43) { - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 20|0); - $46 = HEAP16[$45>>1]|0; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 20|0); - HEAP16[$48>>1] = $46; - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 22|0); - $51 = HEAP16[$50>>1]|0; - $52 = $51 << 16 >> 16; - $53 = (($52) + 1)|0; - $54 = $53&65535; - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 22|0); - HEAP16[$56>>1] = $54; - } + $395 = HEAP32[$21>>2]|0; + $396 = HEAP32[$22>>2]|0; + $397 = ($395|0)<($396|0); + if (!($397)) { + break; + } + $398 = $27; + $399 = $398; + $400 = HEAP32[$399>>2]|0; + $401 = (($398) + 4)|0; + $402 = $401; + $403 = HEAP32[$402>>2]|0; + $404 = HEAP32[$21>>2]|0; + $405 = (_bitshift64Shl(1,0,($404|0))|0); + $406 = tempRet0; + $407 = $400 & $405; + $408 = $403 & $406; + $409 = ($407|0)!=(0); + $410 = ($408|0)!=(0); + $411 = $409 | $410; + if ($411) { + $412 = HEAP32[$21>>2]|0; + $413 = $412&65535; + $414 = HEAP32[$14>>2]|0; + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = HEAP32[$20>>2]|0; + $418 = (($416) + ($417<<1)|0); + HEAP16[$418>>1] = $413; + $419 = HEAP32[$14>>2]|0; + $420 = ((($419)) + 32|0); + $421 = HEAP32[$420>>2]|0; + $422 = HEAP32[$20>>2]|0; + $423 = (($421) + ($422<<2)|0); + HEAP32[$423>>2] = 34455; + $424 = HEAP32[$20>>2]|0; + $425 = (($424) + 1)|0; + HEAP32[$20>>2] = $425; + } + $426 = HEAP32[$21>>2]|0; + $427 = (($426) + 1)|0; + HEAP32[$21>>2] = $427; + } + $428 = HEAP32[$8>>2]|0; + $429 = ((($428)) + 56|0); + $430 = $429; + $431 = $430; + $432 = HEAP32[$431>>2]|0; + $433 = (($430) + 4)|0; + $434 = $433; + $435 = HEAP32[$434>>2]|0; + $436 = $435 & -2147483648; + $437 = (0)!=(0); + $438 = ($436|0)!=(0); + $439 = $437 | $438; + L61: do { + if ($439) { + HEAP32[$21>>2] = 63; + while(1) { + $440 = HEAP32[$21>>2]|0; + $441 = HEAP32[$17>>2]|0; + $442 = ((($441)) + 34|0); + $443 = HEAP16[$442>>1]|0; + $444 = $443 << 16 >> 16; + $445 = ($440|0)<($444|0); + if (!($445)) { + break L61; } + $446 = HEAP32[$21>>2]|0; + $447 = $446&65535; + $448 = HEAP32[$14>>2]|0; + $449 = ((($448)) + 4|0); + $450 = HEAP32[$449>>2]|0; + $451 = HEAP32[$20>>2]|0; + $452 = (($450) + ($451<<1)|0); + HEAP16[$452>>1] = $447; + $453 = HEAP32[$14>>2]|0; + $454 = ((($453)) + 32|0); + $455 = HEAP32[$454>>2]|0; + $456 = HEAP32[$20>>2]|0; + $457 = (($455) + ($456<<2)|0); + HEAP32[$457>>2] = 34455; + $458 = HEAP32[$20>>2]|0; + $459 = (($458) + 1)|0; + HEAP32[$20>>2] = $459; + $460 = HEAP32[$21>>2]|0; + $461 = (($460) + 1)|0; + HEAP32[$21>>2] = $461; } - } while(0); - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 52|0); - $59 = HEAP32[$58>>2]|0; - HEAP32[$0>>2] = $59; - $$old = HEAP32[$0>>2]|0; - $$old1 = ($$old|0)!=(0|0); - if (!($$old1)) { - break; } - } + } while(0); + $462 = HEAP32[$14>>2]|0; + $463 = ((($462)) + 4|0); + $464 = HEAP32[$463>>2]|0; + $465 = HEAP32[$20>>2]|0; + $466 = (($464) + ($465<<1)|0); + HEAP16[$466>>1] = -1; + $467 = HEAP32[$14>>2]|0; + $468 = ((($467)) + 32|0); + $469 = HEAP32[$468>>2]|0; + $470 = HEAP32[$20>>2]|0; + $471 = (($469) + ($470<<2)|0); + HEAP32[$471>>2] = 34455; + $472 = HEAP32[$6>>2]|0; + $473 = ((($472)) + 40|0); + $474 = HEAP32[$473>>2]|0; + $475 = (($474) + 1)|0; + HEAP32[$473>>2] = $475; + $476 = HEAP32[$10>>2]|0; + $477 = ((($476)) + 8|0); + HEAP32[$477>>2] = $474; + $478 = HEAP32[$15>>2]|0; + $479 = HEAP32[$10>>2]|0; + $480 = ((($479)) + 8|0); + $481 = HEAP32[$480>>2]|0; + $482 = HEAP32[$11>>2]|0; + $483 = (($482) + 1)|0; + (_sqlite3VdbeAddOp2($478,106,$481,$483)|0); + $484 = HEAP32[$6>>2]|0; + $485 = HEAP32[$14>>2]|0; + _sqlite3VdbeSetP4KeyInfo($484,$485); + $486 = HEAP32[$6>>2]|0; + _sqlite3ExprCachePush($486); + $487 = HEAP32[$7>>2]|0; + $488 = HEAP32[$487>>2]|0; + $489 = ((($488)) + 4|0); + $490 = HEAP32[$489>>2]|0; + $491 = ((($490)) + 8|0); + $492 = HEAP32[$10>>2]|0; + $493 = ((($492)) + 44|0); + $494 = HEAP8[$493>>0]|0; + $495 = $494&255; + $496 = (($491) + (($495*72)|0)|0); + HEAP32[$31>>2] = $496; + $497 = HEAP32[$31>>2]|0; + $498 = ((($497)) + 36|0); + $499 = ((($498)) + 1|0); + $500 = HEAP8[$499>>0]|0; + $501 = ($500&255) >>> 4; + $502 = $501 & 1; + $503 = $502&255; + $504 = ($503|0)!=(0); + if ($504) { + $505 = HEAP32[$31>>2]|0; + $506 = ((($505)) + 28|0); + $507 = HEAP32[$506>>2]|0; + HEAP32[$40>>2] = $507; + $508 = HEAP32[$15>>2]|0; + $509 = (_sqlite3VdbeAddOp2($508,76,0,0)|0); + HEAP32[$32>>2] = $509; + $510 = HEAP32[$15>>2]|0; + $511 = HEAP32[$40>>2]|0; + $512 = HEAP32[$31>>2]|0; + $513 = ((($512)) + 24|0); + $514 = HEAP32[$513>>2]|0; + (_sqlite3VdbeAddOp3($510,15,$511,0,$514)|0); + $515 = HEAP32[$15>>2]|0; + $516 = HEAP32[$40>>2]|0; + $517 = (_sqlite3VdbeAddOp1($515,16,$516)|0); + HEAP32[$18>>2] = $517; + } else { + $518 = HEAP32[$15>>2]|0; + $519 = HEAP32[$10>>2]|0; + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = (_sqlite3VdbeAddOp1($518,57,$521)|0); + HEAP32[$18>>2] = $522; + } + $523 = HEAP32[$29>>2]|0; + $524 = ($523|0)!=(0|0); + if ($524) { + $525 = HEAP32[$15>>2]|0; + $526 = (_sqlite3VdbeMakeLabel($525)|0); + HEAP32[$30>>2] = $526; + $527 = HEAP32[$6>>2]|0; + $528 = HEAP32[$29>>2]|0; + $529 = HEAP32[$30>>2]|0; + _sqlite3ExprIfFalse($527,$528,$529,16); + $530 = HEAP32[$24>>2]|0; + $531 = ((($530)) + 36|0); + $532 = HEAP32[$531>>2]|0; + $533 = $532 | 131072; + HEAP32[$531>>2] = $533; + } + $534 = HEAP32[$6>>2]|0; + $535 = (_sqlite3GetTempReg($534)|0); + HEAP32[$19>>2] = $535; + $536 = HEAP32[$6>>2]|0; + $537 = HEAP32[$14>>2]|0; + $538 = HEAP32[$10>>2]|0; + $539 = ((($538)) + 4|0); + $540 = HEAP32[$539>>2]|0; + $541 = HEAP32[$19>>2]|0; + $542 = (_sqlite3GenerateIndexKey($536,$537,$540,$541,0,0,0,0)|0); + HEAP32[$33>>2] = $542; + $543 = HEAP32[$15>>2]|0; + $544 = HEAP32[$10>>2]|0; + $545 = ((($544)) + 8|0); + $546 = HEAP32[$545>>2]|0; + $547 = HEAP32[$19>>2]|0; + (_sqlite3VdbeAddOp2($543,126,$546,$547)|0); + $548 = HEAP32[$15>>2]|0; + _sqlite3VdbeChangeP5($548,16); + $549 = HEAP32[$29>>2]|0; + $550 = ($549|0)!=(0|0); + if ($550) { + $551 = HEAP32[$15>>2]|0; + $552 = HEAP32[$30>>2]|0; + _sqlite3VdbeResolveLabel($551,$552); + } + $553 = HEAP32[$31>>2]|0; + $554 = ((($553)) + 36|0); + $555 = ((($554)) + 1|0); + $556 = HEAP8[$555>>0]|0; + $557 = ($556&255) >>> 4; + $558 = $557 & 1; + $559 = $558&255; + $560 = ($559|0)!=(0); + $561 = HEAP32[$15>>2]|0; + if ($560) { + $562 = HEAP32[$32>>2]|0; + $563 = HEAP32[$33>>2]|0; + $564 = HEAP32[$20>>2]|0; + $565 = (($563) + ($564))|0; + _sqlite3VdbeChangeP2($561,$562,$565); + $566 = HEAP32[$15>>2]|0; + $567 = HEAP32[$18>>2]|0; + $568 = HEAP32[$10>>2]|0; + $569 = ((($568)) + 4|0); + $570 = HEAP32[$569>>2]|0; + $571 = HEAP32[$31>>2]|0; + $572 = ((($571)) + 32|0); + $573 = HEAP32[$572>>2]|0; + _translateColumnToCopy($566,$567,$570,$573,1); + $574 = HEAP32[$15>>2]|0; + $575 = HEAP32[$18>>2]|0; + (_sqlite3VdbeGoto($574,$575)|0); + $576 = HEAP32[$31>>2]|0; + $577 = ((($576)) + 36|0); + $578 = ((($577)) + 1|0); + $579 = HEAP8[$578>>0]|0; + $580 = $579 & -17; + HEAP8[$578>>0] = $580; + } else { + $581 = HEAP32[$10>>2]|0; + $582 = ((($581)) + 4|0); + $583 = HEAP32[$582>>2]|0; + $584 = HEAP32[$18>>2]|0; + $585 = (($584) + 1)|0; + (_sqlite3VdbeAddOp2($561,7,$583,$585)|0); + } + $586 = HEAP32[$15>>2]|0; + _sqlite3VdbeChangeP5($586,3); + $587 = HEAP32[$15>>2]|0; + $588 = HEAP32[$18>>2]|0; + _sqlite3VdbeJumpHere($587,$588); + $589 = HEAP32[$6>>2]|0; + $590 = HEAP32[$19>>2]|0; + _sqlite3ReleaseTempReg($589,$590); + $591 = HEAP32[$6>>2]|0; + _sqlite3ExprCachePop($591); + $592 = HEAP32[$15>>2]|0; + $593 = HEAP32[$16>>2]|0; + _sqlite3VdbeJumpHere($592,$593); + $594 = HEAP32[$6>>2]|0; + $595 = HEAP32[$594>>2]|0; + $596 = HEAP32[$29>>2]|0; + _sqlite3ExprDelete($595,$596); STACKTOP = sp;return; } -function _whereLoopFindLesser($ppPrev,$pTemplate) { - $ppPrev = $ppPrev|0; - $pTemplate = $pTemplate|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3WhereExplainOneScan($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr16 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $ppPrev; - HEAP32[$2>>2] = $pTemplate; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - while(1) { - $5 = HEAP32[$p>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - label = 19; - break; - } - $7 = HEAP32[$p>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 16|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($10|0)!=($14|0); - if (!($15)) { - $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 17|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 17|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = ($19|0)!=($23|0); - if (!($24)) { - $25 = HEAP32[$p>>2]|0; - $26 = ((($25)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = $27 & 16384; - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$2>>2]|0; - $31 = ((($30)) + 42|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32&65535; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 36|0); - $37 = HEAP32[$36>>2]|0; - $38 = $37 & 512; - $39 = ($38|0)!=(0); - if ($39) { - $40 = HEAP32[$2>>2]|0; - $41 = ((($40)) + 36|0); - $42 = HEAP32[$41>>2]|0; - $43 = $42 & 1; - $44 = ($43|0)!=(0); - if ($44) { - $45 = HEAP32[$p>>2]|0; - $46 = $45; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (($46) + 4)|0; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = $52; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (($53) + 4)|0; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = $48 & $55; - $60 = $51 & $58; - $61 = HEAP32[$2>>2]|0; - $62 = $61; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = ($59|0)==($64|0); - $69 = ($60|0)==($67|0); - $70 = $68 & $69; + STACKTOP = STACKTOP + 256|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $6 = sp + 144|0; + $7 = sp + 140|0; + $8 = sp + 136|0; + $9 = sp + 132|0; + $10 = sp + 128|0; + $11 = sp + 124|0; + $12 = sp + 148|0; + $13 = sp + 120|0; + $14 = sp + 116|0; + $15 = sp + 112|0; + $16 = sp + 108|0; + $17 = sp + 104|0; + $18 = sp + 100|0; + $19 = sp + 96|0; + $20 = sp + 92|0; + $21 = sp + 88|0; + $22 = sp + 60|0; + $23 = sp + 152|0; + $24 = sp + 56|0; + $25 = sp + 52|0; + $26 = sp + 48|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP16[$12>>1] = $5; + HEAP32[$13>>2] = 0; + $27 = HEAP32[$7>>2]|0; + $28 = ((($27)) + 409|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29&255; + $31 = ($30|0)==(2); + do { + if ($31) { + $32 = HEAP32[$8>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$9>>2]|0; + $35 = ((($34)) + 44|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = (($33) + (($37*72)|0)|0); + HEAP32[$14>>2] = $38; + $39 = HEAP32[$7>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$15>>2] = $41; + $42 = HEAP32[$7>>2]|0; + $43 = HEAP32[$42>>2]|0; + HEAP32[$16>>2] = $43; + $44 = HEAP32[$7>>2]|0; + $45 = ((($44)) + 420|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$17>>2] = $46; + $47 = HEAP32[$9>>2]|0; + $48 = ((($47)) + 64|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$19>>2] = $49; + $50 = HEAP32[$19>>2]|0; + $51 = ((($50)) + 36|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$20>>2] = $52; + $53 = HEAP32[$20>>2]|0; + $54 = $53 & 8192; + $55 = ($54|0)!=(0); + if (!($55)) { + $56 = HEAP16[$12>>1]|0; + $57 = $56&65535; + $58 = $57 & 32; + $59 = ($58|0)!=(0); + if (!($59)) { + $60 = HEAP32[$20>>2]|0; + $61 = $60 & 48; + $62 = ($61|0)!=(0); + do { + if ($62) { + $76 = 1; + } else { + $63 = HEAP32[$20>>2]|0; + $64 = $63 & 1024; + $65 = ($64|0)==(0); + if ($65) { + $66 = HEAP32[$19>>2]|0; + $67 = ((($66)) + 24|0); + $68 = HEAP16[$67>>1]|0; + $69 = $68&65535; + $70 = ($69|0)>(0); if ($70) { - label = 19; + $76 = 1; break; } } + $71 = HEAP16[$12>>1]|0; + $72 = $71&65535; + $73 = $72 & 3; + $74 = ($73|0)!=(0); + $76 = $74; } + } while(0); + $75 = $76&1; + HEAP32[$18>>2] = $75; + $77 = HEAP32[$16>>2]|0; + _sqlite3StrAccumInit($22,$77,$23,100,1000000000); + $78 = HEAP32[$18>>2]|0; + $79 = ($78|0)!=(0); + $80 = $79 ? 34068 : 34075; + _sqlite3StrAccumAppendAll($22,$80); + $81 = HEAP32[$14>>2]|0; + $82 = ((($81)) + 20|0); + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)!=(0|0); + $85 = HEAP32[$14>>2]|0; + if ($84) { + $86 = ((($85)) + 40|0); + $87 = HEAP8[$86>>0]|0; + $88 = $87&255; + HEAP32[$vararg_buffer>>2] = $88; + _sqlite3XPrintf($22,34080,$vararg_buffer); + } else { + $89 = ((($85)) + 8|0); + $90 = HEAP32[$89>>2]|0; + HEAP32[$vararg_buffer1>>2] = $90; + _sqlite3XPrintf($22,34093,$vararg_buffer1); } - } - $71 = HEAP32[$p>>2]|0; - $72 = $71; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$2>>2]|0; - $79 = $78; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (($79) + 4)|0; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = $74 & $81; - $86 = $77 & $84; - $87 = HEAP32[$p>>2]|0; - $88 = $87; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = ($85|0)==($90|0); - $95 = ($86|0)==($93|0); - $96 = $94 & $95; - if ($96) { - $97 = HEAP32[$p>>2]|0; - $98 = ((($97)) + 18|0); - $99 = HEAP16[$98>>1]|0; - $100 = $99 << 16 >> 16; - $101 = HEAP32[$2>>2]|0; - $102 = ((($101)) + 18|0); - $103 = HEAP16[$102>>1]|0; - $104 = $103 << 16 >> 16; - $105 = ($100|0)<=($104|0); - if ($105) { - $106 = HEAP32[$p>>2]|0; - $107 = ((($106)) + 20|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108 << 16 >> 16; - $110 = HEAP32[$2>>2]|0; - $111 = ((($110)) + 20|0); - $112 = HEAP16[$111>>1]|0; - $113 = $112 << 16 >> 16; - $114 = ($109|0)<=($113|0); - if ($114) { - $115 = HEAP32[$p>>2]|0; - $116 = ((($115)) + 22|0); - $117 = HEAP16[$116>>1]|0; - $118 = $117 << 16 >> 16; - $119 = HEAP32[$2>>2]|0; - $120 = ((($119)) + 22|0); - $121 = HEAP16[$120>>1]|0; - $122 = $121 << 16 >> 16; - $123 = ($118|0)<=($122|0); - if ($123) { - label = 14; - break; + $91 = HEAP32[$14>>2]|0; + $92 = ((($91)) + 12|0); + $93 = HEAP32[$92>>2]|0; + $94 = ($93|0)!=(0|0); + if ($94) { + $95 = HEAP32[$14>>2]|0; + $96 = ((($95)) + 12|0); + $97 = HEAP32[$96>>2]|0; + HEAP32[$vararg_buffer4>>2] = $97; + _sqlite3XPrintf($22,34103,$vararg_buffer4); + } + $98 = HEAP32[$20>>2]|0; + $99 = $98 & 1280; + $100 = ($99|0)==(0); + do { + if ($100) { + HEAP32[$24>>2] = 0; + $101 = HEAP32[$19>>2]|0; + $102 = ((($101)) + 24|0); + $103 = ((($102)) + 8|0); + $104 = HEAP32[$103>>2]|0; + HEAP32[$25>>2] = $104; + $105 = HEAP32[$14>>2]|0; + $106 = ((($105)) + 16|0); + $107 = HEAP32[$106>>2]|0; + $108 = ((($107)) + 42|0); + $109 = HEAP8[$108>>0]|0; + $110 = $109&255; + $111 = $110 & 32; + $112 = ($111|0)==(0); + if ($112) { + label = 19; + } else { + $113 = HEAP32[$25>>2]|0; + $114 = ((($113)) + 55|0); + $115 = HEAP8[$114>>0]|0; + $116 = $115 & 3; + $117 = $116&255; + $118 = ($117|0)==(2); + if ($118) { + $119 = HEAP32[$18>>2]|0; + $120 = ($119|0)!=(0); + if ($120) { + HEAP32[$24>>2] = 34110; + } + } else { + label = 19; + } + } + do { + if ((label|0) == 19) { + $121 = HEAP32[$20>>2]|0; + $122 = $121 & 131072; + $123 = ($122|0)!=(0); + if ($123) { + HEAP32[$24>>2] = 34122; + break; + } + $124 = HEAP32[$20>>2]|0; + $125 = $124 & 16384; + $126 = ($125|0)!=(0); + if ($126) { + HEAP32[$24>>2] = 34155; + break; + } + $127 = HEAP32[$20>>2]|0; + $128 = $127 & 64; + $129 = ($128|0)!=(0); + if ($129) { + HEAP32[$24>>2] = 34180; + break; + } else { + HEAP32[$24>>2] = 34198; + break; + } + } + } while(0); + $130 = HEAP32[$24>>2]|0; + $131 = ($130|0)!=(0|0); + if ($131) { + _sqlite3StrAccumAppend($22,34207,7); + $132 = HEAP32[$24>>2]|0; + $133 = HEAP32[$25>>2]|0; + $134 = HEAP32[$133>>2]|0; + HEAP32[$vararg_buffer7>>2] = $134; + _sqlite3XPrintf($22,$132,$vararg_buffer7); + $135 = HEAP32[$19>>2]|0; + _explainIndexRange($22,$135); + } + } else { + $136 = HEAP32[$20>>2]|0; + $137 = $136 & 256; + $138 = ($137|0)!=(0); + if ($138) { + $139 = HEAP32[$20>>2]|0; + $140 = $139 & 15; + $141 = ($140|0)!=(0); + if ($141) { + $142 = HEAP32[$20>>2]|0; + $143 = $142 & 5; + $144 = ($143|0)!=(0); + do { + if ($144) { + HEAP32[$26>>2] = 34215; + } else { + $145 = HEAP32[$20>>2]|0; + $146 = $145 & 48; + $147 = ($146|0)==(48); + if ($147) { + HEAP32[$26>>2] = 34217; + break; + } + $148 = HEAP32[$20>>2]|0; + $149 = $148 & 32; + $150 = ($149|0)!=(0); + if ($150) { + HEAP32[$26>>2] = 34231; + break; + } else { + HEAP32[$26>>2] = 34233; + break; + } + } + } while(0); + $151 = HEAP32[$26>>2]|0; + HEAP32[$vararg_buffer10>>2] = $151; + _sqlite3XPrintf($22,34235,$vararg_buffer10); + break; + } + } + $152 = HEAP32[$20>>2]|0; + $153 = $152 & 1024; + $154 = ($153|0)!=(0); + if ($154) { + $155 = HEAP32[$19>>2]|0; + $156 = ((($155)) + 24|0); + $157 = HEAP32[$156>>2]|0; + $158 = HEAP32[$19>>2]|0; + $159 = ((($158)) + 24|0); + $160 = ((($159)) + 8|0); + $161 = HEAP32[$160>>2]|0; + HEAP32[$vararg_buffer13>>2] = $157; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $161; + _sqlite3XPrintf($22,34273,$vararg_buffer13); } } - } - } - $124 = HEAP32[$p>>2]|0; - $125 = $124; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = (($125) + 4)|0; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = HEAP32[$2>>2]|0; - $132 = $131; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (($132) + 4)|0; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = $127 & $134; - $139 = $130 & $137; - $140 = HEAP32[$2>>2]|0; - $141 = $140; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = (($141) + 4)|0; - $145 = $144; - $146 = HEAP32[$145>>2]|0; - $147 = ($138|0)==($143|0); - $148 = ($139|0)==($146|0); - $149 = $147 & $148; - if ($149) { - $150 = HEAP32[$p>>2]|0; - $151 = ((($150)) + 20|0); - $152 = HEAP16[$151>>1]|0; - $153 = $152 << 16 >> 16; - $154 = HEAP32[$2>>2]|0; - $155 = ((($154)) + 20|0); - $156 = HEAP16[$155>>1]|0; - $157 = $156 << 16 >> 16; - $158 = ($153|0)>=($157|0); - if ($158) { - $159 = HEAP32[$p>>2]|0; - $160 = ((($159)) + 22|0); - $161 = HEAP16[$160>>1]|0; - $162 = $161 << 16 >> 16; - $163 = HEAP32[$2>>2]|0; - $164 = ((($163)) + 22|0); - $165 = HEAP16[$164>>1]|0; - $166 = $165 << 16 >> 16; - $167 = ($162|0)>=($166|0); - if ($167) { - label = 19; - break; - } - } + } while(0); + $162 = (_sqlite3StrAccumFinish($22)|0); + HEAP32[$21>>2] = $162; + $163 = HEAP32[$15>>2]|0; + $164 = HEAP32[$17>>2]|0; + $165 = HEAP32[$10>>2]|0; + $166 = HEAP32[$11>>2]|0; + $167 = HEAP32[$21>>2]|0; + $168 = (_sqlite3VdbeAddOp4($163,162,$164,$165,$166,$167,-1)|0); + HEAP32[$13>>2] = $168; + break; } } + HEAP32[$6>>2] = 0; + $170 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($170|0); } - $168 = HEAP32[$p>>2]|0; - $169 = ((($168)) + 52|0); - HEAP32[$1>>2] = $169; - $170 = HEAP32[$1>>2]|0; - $171 = HEAP32[$170>>2]|0; - HEAP32[$p>>2] = $171; - } - if ((label|0) == 14) { - HEAP32[$0>>2] = 0; - $173 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($173|0); - } - else if ((label|0) == 19) { - $172 = HEAP32[$1>>2]|0; - HEAP32[$0>>2] = $172; - $173 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($173|0); - } - return (0)|0; + } while(0); + $169 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $169; + $170 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($170|0); } -function _whereLoopXfer($db,$pTo,$pFrom) { - $db = $db|0; - $pTo = $pTo|0; - $pFrom = $pFrom|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3WhereCodeOneLoopStart($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$old = 0, $$old1 = 0, $$sink = 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, $1011 = 0, $1012 = 0, $1013 = 0; + var $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, $103 = 0, $1030 = 0, $1031 = 0; + var $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, $1048 = 0, $1049 = 0, $105 = 0; + var $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, $1066 = 0, $1067 = 0, $1068 = 0; + var $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, $1084 = 0, $1085 = 0, $1086 = 0; + var $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0; + var $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0; + var $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0; + var $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0; + var $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0; + var $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0; + var $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0; + var $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0; + var $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0; + var $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0; + var $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0; + var $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0; + var $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0; + var $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0; + var $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0; + var $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0; + var $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0; + var $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0; + var $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0; + var $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0; + var $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0; + var $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0; + var $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0; + var $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0; + var $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0; + var $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0; + var $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0; + var $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0; + var $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0; + var $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0; + var $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0; + var $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0; + var $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0; + var $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0; + var $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0; + var $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0; + var $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0; + var $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0; + var $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0; + var $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0; + var $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0; + var $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0; + var $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 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, $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, $41 = 0, $410 = 0, $411 = 0; + var $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, $428 = 0, $429 = 0, $43 = 0; + var $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0; + var $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0; + var $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0; + var $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0; + var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; + var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; + var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; + var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; + var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; + var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0; + var $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0; + var $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0; + var $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0; + var $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0; + var $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0; + var $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0; + var $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0; + var $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0; + var $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0; + var $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0; + var $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0; + var $809 = 0, $81 = 0, $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, $824 = 0, $825 = 0, $826 = 0; + var $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, $842 = 0, $843 = 0, $844 = 0; + var $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, $860 = 0, $861 = 0, $862 = 0; + var $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, $879 = 0, $88 = 0, $880 = 0; + var $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, $897 = 0, $898 = 0, $899 = 0; + var $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, $914 = 0, $915 = 0, $916 = 0; + var $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, $932 = 0, $933 = 0, $934 = 0; + var $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, $950 = 0, $951 = 0, $952 = 0; + var $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, $969 = 0, $97 = 0, $970 = 0; + var $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, $987 = 0, $988 = 0, $989 = 0; + var $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pTo; - HEAP32[$3>>2] = $pFrom; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - _whereLoopClearUnion($4,$5); - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = ((($8)) + 40|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = (_whereLoopResize($6,$7,$11)|0); - $13 = ($12|0)!=(0); - $14 = HEAP32[$2>>2]|0; - if ($13) { - $15 = ((($14)) + 24|0); - ;HEAP32[$15>>2]=0|0;HEAP32[$15+4>>2]=0|0;HEAP32[$15+8>>2]=0|0; - HEAP32[$0>>2] = 7; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); - } - $16 = HEAP32[$3>>2]|0; - dest=$14; src=$16; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 48|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$3>>2]|0; - $21 = ((($20)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 40|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = $26<<2; - _memcpy(($19|0),($22|0),($27|0))|0; - $28 = HEAP32[$3>>2]|0; - $29 = ((($28)) + 36|0); - $30 = HEAP32[$29>>2]|0; - $31 = $30 & 1024; - $32 = ($31|0)!=(0); - $33 = HEAP32[$3>>2]|0; - if ($32) { - $34 = ((($33)) + 24|0); - $35 = ((($34)) + 4|0); - HEAP8[$35>>0] = 0; + STACKTOP = STACKTOP + 448|0; + $4 = sp + 8|0; + $5 = sp + 432|0; + $6 = sp + 428|0; + $7 = sp; + $8 = sp + 424|0; + $9 = sp + 420|0; + $10 = sp + 416|0; + $11 = sp + 412|0; + $12 = sp + 408|0; + $13 = sp + 404|0; + $14 = sp + 400|0; + $15 = sp + 396|0; + $16 = sp + 392|0; + $17 = sp + 388|0; + $18 = sp + 384|0; + $19 = sp + 380|0; + $20 = sp + 376|0; + $21 = sp + 372|0; + $22 = sp + 368|0; + $23 = sp + 364|0; + $24 = sp + 360|0; + $25 = sp + 356|0; + $26 = sp + 352|0; + $27 = sp + 348|0; + $28 = sp + 344|0; + $29 = sp + 340|0; + $30 = sp + 336|0; + $31 = sp + 332|0; + $32 = sp + 328|0; + $33 = sp + 324|0; + $34 = sp + 320|0; + $35 = sp + 316|0; + $36 = sp + 312|0; + $37 = sp + 308|0; + $38 = sp + 304|0; + $39 = sp + 300|0; + $40 = sp + 296|0; + $41 = sp + 292|0; + $42 = sp + 288|0; + $43 = sp + 284|0; + $44 = sp + 280|0; + $45 = sp + 276|0; + $46 = sp + 442|0; + $47 = sp + 440|0; + $48 = sp + 438|0; + $49 = sp + 272|0; + $50 = sp + 268|0; + $51 = sp + 264|0; + $52 = sp + 260|0; + $53 = sp + 256|0; + $54 = sp + 252|0; + $55 = sp + 248|0; + $56 = sp + 244|0; + $57 = sp + 240|0; + $58 = sp + 236|0; + $59 = sp + 232|0; + $60 = sp + 228|0; + $61 = sp + 224|0; + $62 = sp + 447|0; + $63 = sp + 446|0; + $64 = sp + 220|0; + $65 = sp + 445|0; + $66 = sp + 444|0; + $67 = sp + 216|0; + $68 = sp + 212|0; + $69 = sp + 208|0; + $70 = sp + 204|0; + $71 = sp + 200|0; + $72 = sp + 196|0; + $73 = sp + 192|0; + $74 = sp + 188|0; + $75 = sp + 184|0; + $76 = sp + 180|0; + $77 = sp + 176|0; + $78 = sp + 172|0; + $79 = sp + 168|0; + $80 = sp + 164|0; + $81 = sp + 436|0; + $82 = sp + 160|0; + $83 = sp + 156|0; + $84 = sp + 152|0; + $85 = sp + 148|0; + $86 = sp + 144|0; + $87 = sp + 140|0; + $88 = sp + 136|0; + $89 = sp + 132|0; + $90 = sp + 128|0; + $91 = sp + 124|0; + $92 = sp + 120|0; + $93 = sp + 116|0; + $94 = sp + 112|0; + $95 = sp + 108|0; + $96 = sp + 104|0; + $97 = sp + 100|0; + $98 = sp + 96|0; + $99 = sp + 92|0; + $100 = sp + 88|0; + $101 = sp + 84|0; + $102 = sp + 80|0; + $103 = sp + 76|0; + $104 = sp + 72|0; + $105 = sp + 24|0; + $106 = sp + 16|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + $107 = $7; + $108 = $107; + HEAP32[$108>>2] = $2; + $109 = (($107) + 4)|0; + $110 = $109; + HEAP32[$110>>2] = $3; + HEAP32[$24>>2] = 0; + HEAP32[$25>>2] = 0; + $111 = HEAP32[$5>>2]|0; + $112 = HEAP32[$111>>2]|0; + HEAP32[$18>>2] = $112; + $113 = HEAP32[$18>>2]|0; + $114 = ((($113)) + 8|0); + $115 = HEAP32[$114>>2]|0; + HEAP32[$20>>2] = $115; + $116 = HEAP32[$5>>2]|0; + $117 = ((($116)) + 80|0); + HEAP32[$16>>2] = $117; + $118 = HEAP32[$18>>2]|0; + $119 = HEAP32[$118>>2]|0; + HEAP32[$19>>2] = $119; + $120 = HEAP32[$5>>2]|0; + $121 = ((($120)) + 752|0); + $122 = HEAP32[$6>>2]|0; + $123 = (($121) + (($122*80)|0)|0); + HEAP32[$14>>2] = $123; + $124 = HEAP32[$14>>2]|0; + $125 = ((($124)) + 64|0); + $126 = HEAP32[$125>>2]|0; + HEAP32[$15>>2] = $126; + $127 = HEAP32[$5>>2]|0; + $128 = ((($127)) + 4|0); + $129 = HEAP32[$128>>2]|0; + $130 = ((($129)) + 8|0); + $131 = HEAP32[$14>>2]|0; + $132 = ((($131)) + 44|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = (($130) + (($134*72)|0)|0); + HEAP32[$21>>2] = $135; + $136 = HEAP32[$21>>2]|0; + $137 = ((($136)) + 44|0); + $138 = HEAP32[$137>>2]|0; + HEAP32[$10>>2] = $138; + $139 = $7; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = (($139) + 4)|0; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = HEAP32[$5>>2]|0; + $146 = ((($145)) + 488|0); + $147 = HEAP32[$10>>2]|0; + $148 = (_sqlite3WhereGetMask($146,$147)|0); + $149 = tempRet0; + $150 = $148 ^ -1; + $151 = $149 ^ -1; + $152 = $141 & $150; + $153 = $144 & $151; + $154 = HEAP32[$14>>2]|0; + $155 = ((($154)) + 72|0); + $156 = $155; + $157 = $156; + HEAP32[$157>>2] = $152; + $158 = (($156) + 4)|0; + $159 = $158; + HEAP32[$159>>2] = $153; + $160 = HEAP32[$5>>2]|0; + $161 = ((($160)) + 64|0); + $162 = $161; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = (($162) + 4)|0; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = HEAP32[$6>>2]|0; + $169 = (_bitshift64Lshr(($164|0),($167|0),($168|0))|0); + $170 = tempRet0; + $171 = $169 & 1; + HEAP32[$13>>2] = $171; + $172 = HEAP32[$15>>2]|0; + $173 = ((($172)) + 36|0); + $174 = HEAP32[$173>>2]|0; + $175 = $174 & 64; + $176 = ($175|0)!=(0); + if ($176) { + $177 = HEAP32[$5>>2]|0; + $178 = ((($177)) + 40|0); + $179 = HEAP16[$178>>1]|0; + $180 = $179&65535; + $181 = $180 & 32; + $182 = ($181|0)==(0); + $184 = $182; } else { - $36 = ((($33)) + 36|0); - $37 = HEAP32[$36>>2]|0; - $38 = $37 & 16384; - $39 = ($38|0)!=(0); - if ($39) { - $40 = HEAP32[$3>>2]|0; - $41 = ((($40)) + 24|0); - $42 = ((($41)) + 8|0); - HEAP32[$42>>2] = 0; - } - } - HEAP32[$0>>2] = 0; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); -} -function _whereLoopCheaperProperSubset($pX,$pY) { - $pX = $pX|0; - $pY = $pY|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0; - var $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $i = sp + 4|0; - $j = sp; - HEAP32[$1>>2] = $pX; - HEAP32[$2>>2] = $pY; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 40|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 42|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = (($6) - ($10))|0; - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 40|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 42|0); - $18 = HEAP16[$17>>1]|0; - $19 = $18&65535; - $20 = (($15) - ($19))|0; - $21 = ($11|0)>=($20|0); - if ($21) { - HEAP32[$0>>2] = 0; - $98 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($98|0); - } - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 42|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24&65535; - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 42|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $30 = ($25|0)>($29|0); - if ($30) { - HEAP32[$0>>2] = 0; - $98 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($98|0); - } - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 20|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33 << 16 >> 16; - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 20|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37 << 16 >> 16; - $39 = ($34|0)>=($38|0); - if ($39) { - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 20|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42 << 16 >> 16; - $44 = HEAP32[$2>>2]|0; - $45 = ((($44)) + 20|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46 << 16 >> 16; - $48 = ($43|0)>($47|0); - if ($48) { - HEAP32[$0>>2] = 0; - $98 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($98|0); - } - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 22|0); - $51 = HEAP16[$50>>1]|0; - $52 = $51 << 16 >> 16; - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 22|0); - $55 = HEAP16[$54>>1]|0; - $56 = $55 << 16 >> 16; - $57 = ($52|0)>($56|0); - if ($57) { - HEAP32[$0>>2] = 0; - $98 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($98|0); + $184 = 0; + } + $183 = $184&1; + HEAP32[$12>>2] = $183; + $185 = HEAP32[$20>>2]|0; + $186 = (_sqlite3VdbeMakeLabel($185)|0); + $187 = HEAP32[$14>>2]|0; + $188 = ((($187)) + 16|0); + HEAP32[$188>>2] = $186; + $189 = HEAP32[$14>>2]|0; + $190 = ((($189)) + 12|0); + HEAP32[$190>>2] = $186; + HEAP32[$22>>2] = $186; + $191 = HEAP32[$20>>2]|0; + $192 = (_sqlite3VdbeMakeLabel($191)|0); + $193 = HEAP32[$14>>2]|0; + $194 = ((($193)) + 24|0); + HEAP32[$194>>2] = $192; + HEAP32[$23>>2] = $192; + $195 = HEAP32[$14>>2]|0; + $196 = ((($195)) + 44|0); + $197 = HEAP8[$196>>0]|0; + $198 = $197&255; + $199 = ($198|0)>(0); + if ($199) { + $200 = HEAP32[$21>>2]|0; + $201 = ((($200)) + 36|0); + $202 = HEAP8[$201>>0]|0; + $203 = $202&255; + $204 = $203 & 8; + $205 = ($204|0)!=(0); + if ($205) { + $206 = HEAP32[$18>>2]|0; + $207 = ((($206)) + 44|0); + $208 = HEAP32[$207>>2]|0; + $209 = (($208) + 1)|0; + HEAP32[$207>>2] = $209; + $210 = HEAP32[$14>>2]|0; + HEAP32[$210>>2] = $209; + $211 = HEAP32[$20>>2]|0; + $212 = HEAP32[$14>>2]|0; + $213 = HEAP32[$212>>2]|0; + (_sqlite3VdbeAddOp2($211,76,0,$213)|0); } } - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 40|0); - $60 = HEAP16[$59>>1]|0; - $61 = $60&65535; - $62 = (($61) - 1)|0; - HEAP32[$i>>2] = $62; - while(1) { - $63 = HEAP32[$i>>2]|0; - $64 = ($63|0)>=(0); - if (!($64)) { - label = 20; - break; - } - $65 = HEAP32[$i>>2]|0; - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 48|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68) + ($65<<2)|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)==(0|0); - if (!($71)) { - $72 = HEAP32[$2>>2]|0; - $73 = ((($72)) + 40|0); - $74 = HEAP16[$73>>1]|0; - $75 = $74&65535; - $76 = (($75) - 1)|0; - HEAP32[$j>>2] = $76; - while(1) { - $77 = HEAP32[$j>>2]|0; - $78 = ($77|0)>=(0); - if (!($78)) { - break; + $214 = HEAP32[$21>>2]|0; + $215 = ((($214)) + 36|0); + $216 = ((($215)) + 1|0); + $217 = HEAP8[$216>>0]|0; + $218 = ($217&255) >>> 4; + $219 = $218 & 1; + $220 = $219&255; + $221 = ($220|0)!=(0); + do { + if ($221) { + $222 = HEAP32[$21>>2]|0; + $223 = ((($222)) + 28|0); + $224 = HEAP32[$223>>2]|0; + HEAP32[$26>>2] = $224; + $225 = HEAP32[$20>>2]|0; + $226 = HEAP32[$26>>2]|0; + $227 = HEAP32[$21>>2]|0; + $228 = ((($227)) + 24|0); + $229 = HEAP32[$228>>2]|0; + (_sqlite3VdbeAddOp3($225,15,$226,0,$229)|0); + $230 = HEAP32[$20>>2]|0; + $231 = HEAP32[$26>>2]|0; + $232 = HEAP32[$22>>2]|0; + $233 = (_sqlite3VdbeAddOp2($230,16,$231,$232)|0); + $234 = HEAP32[$14>>2]|0; + $235 = ((($234)) + 52|0); + HEAP32[$235>>2] = $233; + $236 = HEAP32[$14>>2]|0; + $237 = ((($236)) + 45|0); + HEAP8[$237>>0] = 13; + } else { + $238 = HEAP32[$15>>2]|0; + $239 = ((($238)) + 36|0); + $240 = HEAP32[$239>>2]|0; + $241 = $240 & 1024; + $242 = ($241|0)!=(0); + $243 = HEAP32[$15>>2]|0; + if ($242) { + $244 = ((($243)) + 40|0); + $245 = HEAP16[$244>>1]|0; + $246 = $245&65535; + HEAP32[$29>>2] = $246; + $247 = HEAP32[$18>>2]|0; + _sqlite3ExprCachePush($247); + $248 = HEAP32[$18>>2]|0; + $249 = HEAP32[$29>>2]|0; + $250 = (($249) + 2)|0; + $251 = (_sqlite3GetTempRange($248,$250)|0); + HEAP32[$27>>2] = $251; + $252 = HEAP32[$14>>2]|0; + $253 = ((($252)) + 12|0); + $254 = HEAP32[$253>>2]|0; + HEAP32[$28>>2] = $254; + HEAP32[$8>>2] = 0; + while(1) { + $255 = HEAP32[$8>>2]|0; + $256 = HEAP32[$29>>2]|0; + $257 = ($255|0)<($256|0); + if (!($257)) { + break; + } + $258 = HEAP32[$27>>2]|0; + $259 = HEAP32[$8>>2]|0; + $260 = (($258) + ($259))|0; + $261 = (($260) + 2)|0; + HEAP32[$31>>2] = $261; + $262 = HEAP32[$15>>2]|0; + $263 = ((($262)) + 48|0); + $264 = HEAP32[$263>>2]|0; + $265 = HEAP32[$8>>2]|0; + $266 = (($264) + ($265<<2)|0); + $267 = HEAP32[$266>>2]|0; + HEAP32[$17>>2] = $267; + $268 = HEAP32[$17>>2]|0; + $269 = ($268|0)==(0|0); + do { + if (!($269)) { + $270 = HEAP32[$17>>2]|0; + $271 = ((($270)) + 12|0); + $272 = HEAP16[$271>>1]|0; + $273 = $272&65535; + $274 = $273 & 1; + $275 = ($274|0)!=(0); + if ($275) { + $276 = HEAP32[$18>>2]|0; + $277 = HEAP32[$17>>2]|0; + $278 = HEAP32[$14>>2]|0; + $279 = HEAP32[$8>>2]|0; + $280 = HEAP32[$13>>2]|0; + $281 = HEAP32[$31>>2]|0; + (_codeEqualityTerm($276,$277,$278,$279,$280,$281)|0); + $282 = HEAP32[$14>>2]|0; + $283 = ((($282)) + 16|0); + $284 = HEAP32[$283>>2]|0; + HEAP32[$28>>2] = $284; + break; + } else { + $285 = HEAP32[$17>>2]|0; + $286 = HEAP32[$285>>2]|0; + $287 = ((($286)) + 16|0); + $288 = HEAP32[$287>>2]|0; + HEAP32[$32>>2] = $288; + $289 = HEAP32[$18>>2]|0; + $290 = HEAP32[$32>>2]|0; + $291 = HEAP32[$31>>2]|0; + _codeExprOrVector($289,$290,$291,1); + break; + } + } + } while(0); + $292 = HEAP32[$8>>2]|0; + $293 = (($292) + 1)|0; + HEAP32[$8>>2] = $293; } - $79 = HEAP32[$j>>2]|0; - $80 = HEAP32[$2>>2]|0; - $81 = ((($80)) + 48|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82) + ($79<<2)|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$i>>2]|0; - $86 = HEAP32[$1>>2]|0; - $87 = ((($86)) + 48|0); - $88 = HEAP32[$87>>2]|0; - $89 = (($88) + ($85<<2)|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($84|0)==($90|0); - if ($91) { - break; + $294 = HEAP32[$20>>2]|0; + $295 = HEAP32[$15>>2]|0; + $296 = ((($295)) + 24|0); + $297 = HEAP32[$296>>2]|0; + $298 = HEAP32[$27>>2]|0; + (_sqlite3VdbeAddOp2($294,76,$297,$298)|0); + $299 = HEAP32[$20>>2]|0; + $300 = HEAP32[$29>>2]|0; + $301 = HEAP32[$27>>2]|0; + $302 = (($301) + 1)|0; + (_sqlite3VdbeAddOp2($299,76,$300,$302)|0); + $303 = HEAP32[$20>>2]|0; + $304 = HEAP32[$10>>2]|0; + $305 = HEAP32[$28>>2]|0; + $306 = HEAP32[$27>>2]|0; + $307 = HEAP32[$15>>2]|0; + $308 = ((($307)) + 24|0); + $309 = ((($308)) + 8|0); + $310 = HEAP32[$309>>2]|0; + $311 = HEAP32[$15>>2]|0; + $312 = ((($311)) + 24|0); + $313 = ((($312)) + 4|0); + $314 = HEAP8[$313>>0]|0; + $315 = $314&255; + $316 = ($315|0)!=(0); + $317 = $316 ? -11 : -2; + (_sqlite3VdbeAddOp4($303,11,$304,$305,$306,$310,$317)|0); + $318 = HEAP32[$15>>2]|0; + $319 = ((($318)) + 24|0); + $320 = ((($319)) + 4|0); + HEAP8[$320>>0] = 0; + $321 = HEAP32[$10>>2]|0; + $322 = HEAP32[$14>>2]|0; + $323 = ((($322)) + 48|0); + HEAP32[$323>>2] = $321; + $324 = HEAP32[$5>>2]|0; + $325 = ((($324)) + 45|0); + $326 = HEAP8[$325>>0]|0; + $327 = $326&255; + $328 = ($327|0)!=(0); + $329 = $328 ? 161 : 70; + $330 = $329&255; + $331 = HEAP32[$14>>2]|0; + $332 = ((($331)) + 45|0); + HEAP8[$332>>0] = $330; + $333 = HEAP32[$20>>2]|0; + $334 = (_sqlite3VdbeCurrentAddr($333)|0); + $335 = HEAP32[$14>>2]|0; + $336 = ((($335)) + 52|0); + HEAP32[$336>>2] = $334; + $337 = HEAP32[$14>>2]|0; + $338 = ((($337)) + 56|0); + $339 = HEAP32[$338>>2]|0; + HEAP32[$30>>2] = $339; + $340 = HEAP32[$29>>2]|0; + $341 = (($340) - 1)|0; + HEAP32[$8>>2] = $341; + while(1) { + $342 = HEAP32[$8>>2]|0; + $343 = ($342|0)>=(0); + if (!($343)) { + break; + } + $344 = HEAP32[$15>>2]|0; + $345 = ((($344)) + 48|0); + $346 = HEAP32[$345>>2]|0; + $347 = HEAP32[$8>>2]|0; + $348 = (($346) + ($347<<2)|0); + $349 = HEAP32[$348>>2]|0; + HEAP32[$17>>2] = $349; + $350 = HEAP32[$8>>2]|0; + $351 = ($350|0)<(16); + if ($351) { + $352 = HEAP32[$15>>2]|0; + $353 = ((($352)) + 24|0); + $354 = ((($353)) + 6|0); + $355 = HEAP16[$354>>1]|0; + $356 = $355&65535; + $357 = HEAP32[$8>>2]|0; + $358 = $356 >> $357; + $359 = $358 & 1; + $360 = ($359|0)!=(0); + if ($360) { + $361 = HEAP32[$14>>2]|0; + $362 = HEAP32[$17>>2]|0; + _disableTerm($361,$362); + } else { + label = 21; + } + } else { + label = 21; + } + if ((label|0) == 21) { + label = 0; + $363 = HEAP32[$17>>2]|0; + $364 = ((($363)) + 12|0); + $365 = HEAP16[$364>>1]|0; + $366 = $365&65535; + $367 = $366 & 1; + $368 = ($367|0)!=(0); + if ($368) { + $369 = HEAP32[$19>>2]|0; + $370 = ((($369)) + 69|0); + $371 = HEAP8[$370>>0]|0; + $372 = ($371<<24>>24)!=(0); + if (!($372)) { + $373 = HEAP32[$20>>2]|0; + $374 = HEAP32[$14>>2]|0; + $375 = ((($374)) + 56|0); + $376 = ((($375)) + 4|0); + $377 = HEAP32[$376>>2]|0; + $378 = HEAP32[$30>>2]|0; + $379 = (($378) + -1)|0; + HEAP32[$30>>2] = $379; + $380 = (($377) + (($379*12)|0)|0); + $381 = ((($380)) + 4|0); + $382 = HEAP32[$381>>2]|0; + $383 = (_sqlite3VdbeGetOp($373,$382)|0); + HEAP32[$35>>2] = $383; + $384 = HEAP32[$20>>2]|0; + $385 = HEAP32[$35>>2]|0; + $386 = HEAP8[$385>>0]|0; + $387 = $386&255; + $388 = HEAP32[$35>>2]|0; + $389 = ((($388)) + 4|0); + $390 = HEAP32[$389>>2]|0; + $391 = HEAP32[$35>>2]|0; + $392 = ((($391)) + 8|0); + $393 = HEAP32[$392>>2]|0; + $394 = HEAP32[$35>>2]|0; + $395 = ((($394)) + 12|0); + $396 = HEAP32[$395>>2]|0; + (_sqlite3VdbeAddOp3($384,$387,$390,$393,$396)|0); + } + $397 = HEAP32[$18>>2]|0; + $398 = (_sqlite3PExpr($397,37,0,0,0)|0); + HEAP32[$33>>2] = $398; + $399 = HEAP32[$33>>2]|0; + $400 = ($399|0)!=(0|0); + if ($400) { + $401 = HEAP32[$17>>2]|0; + $402 = HEAP32[$401>>2]|0; + $403 = ((($402)) + 12|0); + $404 = HEAP32[$403>>2]|0; + $405 = HEAP32[$33>>2]|0; + $406 = ((($405)) + 12|0); + HEAP32[$406>>2] = $404; + $407 = HEAP32[$19>>2]|0; + $408 = (_sqlite3Expr($407,157,0)|0); + HEAP32[$34>>2] = $408; + $409 = HEAP32[$33>>2]|0; + $410 = ((($409)) + 16|0); + HEAP32[$410>>2] = $408; + $411 = HEAP32[$34>>2]|0; + $412 = ($411|0)!=(0|0); + if ($412) { + $413 = HEAP32[$27>>2]|0; + $414 = HEAP32[$8>>2]|0; + $415 = (($413) + ($414))|0; + $416 = (($415) + 2)|0; + $417 = HEAP32[$34>>2]|0; + $418 = ((($417)) + 28|0); + HEAP32[$418>>2] = $416; + $419 = HEAP32[$18>>2]|0; + $420 = HEAP32[$33>>2]|0; + $421 = HEAP32[$14>>2]|0; + $422 = ((($421)) + 24|0); + $423 = HEAP32[$422>>2]|0; + _sqlite3ExprIfFalse($419,$420,$423,0); + } + $424 = HEAP32[$33>>2]|0; + $425 = ((($424)) + 12|0); + HEAP32[$425>>2] = 0; + $426 = HEAP32[$19>>2]|0; + $427 = HEAP32[$33>>2]|0; + _sqlite3ExprDelete($426,$427); + } + } + } + $428 = HEAP32[$8>>2]|0; + $429 = (($428) + -1)|0; + HEAP32[$8>>2] = $429; } - $92 = HEAP32[$j>>2]|0; - $93 = (($92) + -1)|0; - HEAP32[$j>>2] = $93; - } - $94 = HEAP32[$j>>2]|0; - $95 = ($94|0)<(0); - if ($95) { - label = 18; + $430 = HEAP32[$18>>2]|0; + _sqlite3ExprCachePop($430); break; } - } - $96 = HEAP32[$i>>2]|0; - $97 = (($96) + -1)|0; - HEAP32[$i>>2] = $97; - } - if ((label|0) == 18) { - HEAP32[$0>>2] = 0; - $98 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($98|0); - } - else if ((label|0) == 20) { - HEAP32[$0>>2] = 1; - $98 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($98|0); - } - return (0)|0; -} -function _whereUsablePartialIndex($iTab,$pWC,$pWhere) { - $iTab = $iTab|0; - $pWC = $pWC|0; - $pWhere = $pWhere|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pExpr = 0, $pTerm = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $i = sp + 8|0; - $pTerm = sp + 4|0; - $pExpr = sp; - HEAP32[$1>>2] = $iTab; - HEAP32[$2>>2] = $pWC; - HEAP32[$3>>2] = $pWhere; - while(1) { - $4 = HEAP32[$3>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(28); - if (!($7)) { - break; - } - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = ((($10)) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_whereUsablePartialIndex($8,$9,$12)|0); - $14 = ($13|0)!=(0); - if (!($14)) { - label = 4; - break; - } - $15 = HEAP32[$3>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$3>>2] = $17; - } - if ((label|0) == 4) { - HEAP32[$0>>2] = 0; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - } - HEAP32[$i>>2] = 0; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pTerm>>2] = $20; - while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 12|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($21|0)<($24|0); - if (!($25)) { - label = 13; - break; - } - $26 = HEAP32[$pTerm>>2]|0; - $27 = HEAP32[$26>>2]|0; - HEAP32[$pExpr>>2] = $27; - $28 = HEAP32[$pExpr>>2]|0; - $29 = HEAP32[$3>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = (_sqlite3ExprImpliesExpr($28,$29,$30)|0); - $32 = ($31|0)!=(0); - if ($32) { - $33 = HEAP32[$pExpr>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 & 1; - $37 = ($36|0)!=(0); - if (!($37)) { - label = 11; - break; + $431 = ((($243)) + 36|0); + $432 = HEAP32[$431>>2]|0; + $433 = $432 & 256; + $434 = ($433|0)!=(0); + if ($434) { + $435 = HEAP32[$15>>2]|0; + $436 = ((($435)) + 36|0); + $437 = HEAP32[$436>>2]|0; + $438 = $437 & 5; + $439 = ($438|0)!=(0); + if ($439) { + $440 = HEAP32[$15>>2]|0; + $441 = ((($440)) + 48|0); + $442 = HEAP32[$441>>2]|0; + $443 = HEAP32[$442>>2]|0; + HEAP32[$17>>2] = $443; + $444 = HEAP32[$18>>2]|0; + $445 = ((($444)) + 44|0); + $446 = HEAP32[$445>>2]|0; + $447 = (($446) + 1)|0; + HEAP32[$445>>2] = $447; + HEAP32[$25>>2] = $447; + $448 = HEAP32[$18>>2]|0; + $449 = HEAP32[$17>>2]|0; + $450 = HEAP32[$14>>2]|0; + $451 = HEAP32[$13>>2]|0; + $452 = HEAP32[$25>>2]|0; + $453 = (_codeEqualityTerm($448,$449,$450,0,$451,$452)|0); + HEAP32[$24>>2] = $453; + $454 = HEAP32[$24>>2]|0; + $455 = HEAP32[$25>>2]|0; + $456 = ($454|0)!=($455|0); + if ($456) { + $457 = HEAP32[$18>>2]|0; + $458 = HEAP32[$25>>2]|0; + _sqlite3ReleaseTempReg($457,$458); + } + $459 = HEAP32[$14>>2]|0; + $460 = ((($459)) + 16|0); + $461 = HEAP32[$460>>2]|0; + HEAP32[$11>>2] = $461; + $462 = HEAP32[$20>>2]|0; + $463 = HEAP32[$10>>2]|0; + $464 = HEAP32[$11>>2]|0; + $465 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp3($462,32,$463,$464,$465)|0); + $466 = HEAP32[$18>>2]|0; + $467 = HEAP32[$24>>2]|0; + _sqlite3ExprCacheAffinityChange($466,$467,1); + $468 = HEAP32[$18>>2]|0; + $469 = HEAP32[$10>>2]|0; + $470 = HEAP32[$24>>2]|0; + _sqlite3ExprCacheStore($468,$469,-1,$470); + $471 = HEAP32[$14>>2]|0; + $472 = ((($471)) + 45|0); + HEAP8[$472>>0] = -95; + break; + } } - $38 = HEAP32[$pExpr>>2]|0; - $39 = ((($38)) + 36|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40 << 16 >> 16; - $42 = HEAP32[$1>>2]|0; - $43 = ($41|0)==($42|0); - if ($43) { - label = 11; - break; + $473 = HEAP32[$15>>2]|0; + $474 = ((($473)) + 36|0); + $475 = HEAP32[$474>>2]|0; + $476 = $475 & 256; + $477 = ($476|0)!=(0); + if ($477) { + $478 = HEAP32[$15>>2]|0; + $479 = ((($478)) + 36|0); + $480 = HEAP32[$479>>2]|0; + $481 = $480 & 2; + $482 = ($481|0)!=(0); + if ($482) { + HEAP32[$36>>2] = 161; + HEAP32[$38>>2] = 0; + HEAP32[$8>>2] = 0; + HEAP32[$40>>2] = 0; + HEAP32[$39>>2] = 0; + $483 = HEAP32[$15>>2]|0; + $484 = ((($483)) + 36|0); + $485 = HEAP32[$484>>2]|0; + $486 = $485 & 32; + $487 = ($486|0)!=(0); + if ($487) { + $488 = HEAP32[$15>>2]|0; + $489 = ((($488)) + 48|0); + $490 = HEAP32[$489>>2]|0; + $491 = HEAP32[$8>>2]|0; + $492 = (($491) + 1)|0; + HEAP32[$8>>2] = $492; + $493 = (($490) + ($491<<2)|0); + $494 = HEAP32[$493>>2]|0; + HEAP32[$39>>2] = $494; + } + $495 = HEAP32[$15>>2]|0; + $496 = ((($495)) + 36|0); + $497 = HEAP32[$496>>2]|0; + $498 = $497 & 16; + $499 = ($498|0)!=(0); + if ($499) { + $500 = HEAP32[$15>>2]|0; + $501 = ((($500)) + 48|0); + $502 = HEAP32[$501>>2]|0; + $503 = HEAP32[$8>>2]|0; + $504 = (($503) + 1)|0; + HEAP32[$8>>2] = $504; + $505 = (($502) + ($503<<2)|0); + $506 = HEAP32[$505>>2]|0; + HEAP32[$40>>2] = $506; + } + $507 = HEAP32[$13>>2]|0; + $508 = ($507|0)!=(0); + if ($508) { + $509 = HEAP32[$39>>2]|0; + HEAP32[$17>>2] = $509; + $510 = HEAP32[$40>>2]|0; + HEAP32[$39>>2] = $510; + $511 = HEAP32[$17>>2]|0; + HEAP32[$40>>2] = $511; + } + $512 = HEAP32[$39>>2]|0; + $513 = ($512|0)!=(0|0); + if ($513) { + $514 = HEAP32[$39>>2]|0; + $515 = HEAP32[$514>>2]|0; + HEAP32[$41>>2] = $515; + $516 = HEAP32[$41>>2]|0; + $517 = ((($516)) + 16|0); + $518 = HEAP32[$517>>2]|0; + $519 = (_sqlite3ExprIsVector($518)|0); + $520 = ($519|0)!=(0); + $521 = HEAP32[$18>>2]|0; + if ($520) { + $522 = (_sqlite3GetTempReg($521)|0); + HEAP32[$43>>2] = $522; + HEAP32[$42>>2] = $522; + $523 = HEAP32[$18>>2]|0; + $524 = HEAP32[$41>>2]|0; + $525 = ((($524)) + 16|0); + $526 = HEAP32[$525>>2]|0; + $527 = HEAP32[$42>>2]|0; + _codeExprOrVector($523,$526,$527,1); + $528 = HEAP32[$41>>2]|0; + $529 = HEAP8[$528>>0]|0; + $530 = $529&255; + $531 = (($530) - 38)|0; + $532 = $531 | 1; + $533 = (34048 + ($532)|0); + $534 = HEAP8[$533>>0]|0; + $535 = $534&255; + HEAP32[$44>>2] = $535; + } else { + $536 = HEAP32[$41>>2]|0; + $537 = ((($536)) + 16|0); + $538 = HEAP32[$537>>2]|0; + $539 = (_sqlite3ExprCodeTemp($521,$538,$43)|0); + HEAP32[$42>>2] = $539; + $540 = HEAP32[$14>>2]|0; + $541 = HEAP32[$39>>2]|0; + _disableTerm($540,$541); + $542 = HEAP32[$41>>2]|0; + $543 = HEAP8[$542>>0]|0; + $544 = $543&255; + $545 = (($544) - 38)|0; + $546 = (34048 + ($545)|0); + $547 = HEAP8[$546>>0]|0; + $548 = $547&255; + HEAP32[$44>>2] = $548; + } + $549 = HEAP32[$20>>2]|0; + $550 = HEAP32[$44>>2]|0; + $551 = HEAP32[$10>>2]|0; + $552 = HEAP32[$22>>2]|0; + $553 = HEAP32[$42>>2]|0; + (_sqlite3VdbeAddOp3($549,$550,$551,$552,$553)|0); + $554 = HEAP32[$18>>2]|0; + $555 = HEAP32[$42>>2]|0; + _sqlite3ExprCacheAffinityChange($554,$555,1); + $556 = HEAP32[$18>>2]|0; + $557 = HEAP32[$43>>2]|0; + _sqlite3ReleaseTempReg($556,$557); + } else { + $558 = HEAP32[$20>>2]|0; + $559 = HEAP32[$13>>2]|0; + $560 = ($559|0)!=(0); + $561 = $560 ? 53 : 57; + $562 = HEAP32[$10>>2]|0; + $563 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($558,$561,$562,$563)|0); + } + $564 = HEAP32[$40>>2]|0; + $565 = ($564|0)!=(0|0); + if ($565) { + $566 = HEAP32[$40>>2]|0; + $567 = HEAP32[$566>>2]|0; + HEAP32[$45>>2] = $567; + $568 = HEAP32[$18>>2]|0; + $569 = ((($568)) + 44|0); + $570 = HEAP32[$569>>2]|0; + $571 = (($570) + 1)|0; + HEAP32[$569>>2] = $571; + HEAP32[$38>>2] = $571; + $572 = HEAP32[$18>>2]|0; + $573 = HEAP32[$45>>2]|0; + $574 = ((($573)) + 16|0); + $575 = HEAP32[$574>>2]|0; + $576 = HEAP32[$38>>2]|0; + _codeExprOrVector($572,$575,$576,1); + $577 = HEAP32[$45>>2]|0; + $578 = ((($577)) + 16|0); + $579 = HEAP32[$578>>2]|0; + $580 = (_sqlite3ExprIsVector($579)|0); + $581 = (0)==($580|0); + do { + if ($581) { + $582 = HEAP32[$45>>2]|0; + $583 = HEAP8[$582>>0]|0; + $584 = $583&255; + $585 = ($584|0)==(40); + if (!($585)) { + $586 = HEAP32[$45>>2]|0; + $587 = HEAP8[$586>>0]|0; + $588 = $587&255; + $589 = ($588|0)==(38); + if (!($589)) { + label = 54; + break; + } + } + $590 = HEAP32[$13>>2]|0; + $591 = ($590|0)!=(0); + $592 = $591 ? 39 : 41; + HEAP32[$36>>2] = $592; + } else { + label = 54; + } + } while(0); + if ((label|0) == 54) { + $593 = HEAP32[$13>>2]|0; + $594 = ($593|0)!=(0); + $595 = $594 ? 40 : 38; + HEAP32[$36>>2] = $595; + } + $596 = HEAP32[$45>>2]|0; + $597 = ((($596)) + 16|0); + $598 = HEAP32[$597>>2]|0; + $599 = (_sqlite3ExprIsVector($598)|0); + $600 = (0)==($599|0); + if ($600) { + $601 = HEAP32[$14>>2]|0; + $602 = HEAP32[$40>>2]|0; + _disableTerm($601,$602); + } + } + $603 = HEAP32[$20>>2]|0; + $604 = (_sqlite3VdbeCurrentAddr($603)|0); + HEAP32[$37>>2] = $604; + $605 = HEAP32[$13>>2]|0; + $606 = ($605|0)!=(0); + $607 = $606 ? 6 : 7; + $608 = $607&255; + $609 = HEAP32[$14>>2]|0; + $610 = ((($609)) + 45|0); + HEAP8[$610>>0] = $608; + $611 = HEAP32[$10>>2]|0; + $612 = HEAP32[$14>>2]|0; + $613 = ((($612)) + 48|0); + HEAP32[$613>>2] = $611; + $614 = HEAP32[$37>>2]|0; + $615 = HEAP32[$14>>2]|0; + $616 = ((($615)) + 52|0); + HEAP32[$616>>2] = $614; + $617 = HEAP32[$36>>2]|0; + $618 = ($617|0)!=(161); + if (!($618)) { + break; + } + $619 = HEAP32[$18>>2]|0; + $620 = ((($619)) + 44|0); + $621 = HEAP32[$620>>2]|0; + $622 = (($621) + 1)|0; + HEAP32[$620>>2] = $622; + HEAP32[$24>>2] = $622; + $623 = HEAP32[$20>>2]|0; + $624 = HEAP32[$10>>2]|0; + $625 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp2($623,123,$624,$625)|0); + $626 = HEAP32[$18>>2]|0; + $627 = HEAP32[$10>>2]|0; + $628 = HEAP32[$24>>2]|0; + _sqlite3ExprCacheStore($626,$627,-1,$628); + $629 = HEAP32[$20>>2]|0; + $630 = HEAP32[$36>>2]|0; + $631 = HEAP32[$38>>2]|0; + $632 = HEAP32[$22>>2]|0; + $633 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp3($629,$630,$631,$632,$633)|0); + $634 = HEAP32[$20>>2]|0; + _sqlite3VdbeChangeP5($634,83); + break; + } } - } - $44 = HEAP32[$i>>2]|0; - $45 = (($44) + 1)|0; - HEAP32[$i>>2] = $45; - $46 = HEAP32[$pTerm>>2]|0; - $47 = ((($46)) + 48|0); - HEAP32[$pTerm>>2] = $47; - } - if ((label|0) == 11) { - HEAP32[$0>>2] = 1; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - } - else if ((label|0) == 13) { - HEAP32[$0>>2] = 0; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - } - return (0)|0; -} -function _indexMightHelpWithOrderBy($pBuilder,$pIndex,$iCursor) { - $pBuilder = $pBuilder|0; - $pIndex = $pIndex|0; - $iCursor = $iCursor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $aColExpr = 0, $ii = 0, $jj = 0, $pExpr = 0, $pOB = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $pOB = sp + 16|0; - $aColExpr = sp + 12|0; - $ii = sp + 8|0; - $jj = sp + 4|0; - $pExpr = sp; - HEAP32[$1>>2] = $pBuilder; - HEAP32[$2>>2] = $pIndex; - HEAP32[$3>>2] = $iCursor; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 55|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6&255) >>> 2; - $8 = $7 & 1; - $9 = $8&255; - $10 = ($9|0)!=(0); - if ($10) { - HEAP32[$0>>2] = 0; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); - } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pOB>>2] = $14; - $15 = ($14|0)==(0|0); - if ($15) { - HEAP32[$0>>2] = 0; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); - } - HEAP32[$ii>>2] = 0; - L9: while(1) { - $16 = HEAP32[$ii>>2]|0; - $17 = HEAP32[$pOB>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = ($16|0)<($18|0); - if (!($19)) { - label = 24; - break; - } - $20 = HEAP32[$ii>>2]|0; - $21 = HEAP32[$pOB>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + (($20*20)|0)|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3ExprSkipCollate($25)|0); - HEAP32[$pExpr>>2] = $26; - $27 = HEAP32[$pExpr>>2]|0; - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)==(152); - L12: do { - if ($30) { - $31 = HEAP32[$pExpr>>2]|0; - $32 = ((($31)) + 28|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = ($33|0)==($34|0); - if ($35) { - $36 = HEAP32[$pExpr>>2]|0; - $37 = ((($36)) + 32|0); - $38 = HEAP16[$37>>1]|0; - $39 = $38 << 16 >> 16; - $40 = ($39|0)<(0); - if ($40) { - label = 10; - break L9; + $635 = HEAP32[$15>>2]|0; + $636 = ((($635)) + 36|0); + $637 = HEAP32[$636>>2]|0; + $638 = $637 & 512; + $639 = ($638|0)!=(0); + $640 = HEAP32[$15>>2]|0; + if (!($639)) { + $1176 = ((($640)) + 36|0); + $1177 = HEAP32[$1176>>2]|0; + $1178 = $1177 & 8192; + $1179 = ($1178|0)!=(0); + if (!($1179)) { + $1594 = HEAP32[$21>>2]|0; + $1595 = ((($1594)) + 36|0); + $1596 = ((($1595)) + 1|0); + $1597 = HEAP8[$1596>>0]|0; + $1598 = ($1597&255) >>> 5; + $1599 = $1598 & 1; + $1600 = $1599&255; + $1601 = ($1600|0)!=(0); + if ($1601) { + $1602 = HEAP32[$14>>2]|0; + $1603 = ((($1602)) + 45|0); + HEAP8[$1603>>0] = -95; + break; + } else { + $1604 = HEAP32[$13>>2]|0; + $1605 = (34064 + ($1604)|0); + $1606 = HEAP8[$1605>>0]|0; + $1607 = HEAP32[$14>>2]|0; + $1608 = ((($1607)) + 45|0); + HEAP8[$1608>>0] = $1606; + $1609 = HEAP32[$10>>2]|0; + $1610 = HEAP32[$14>>2]|0; + $1611 = ((($1610)) + 48|0); + HEAP32[$1611>>2] = $1609; + $1612 = HEAP32[$20>>2]|0; + $1613 = HEAP32[$13>>2]|0; + $1614 = (34066 + ($1613)|0); + $1615 = HEAP8[$1614>>0]|0; + $1616 = $1615&255; + $1617 = HEAP32[$10>>2]|0; + $1618 = HEAP32[$22>>2]|0; + $1619 = (_sqlite3VdbeAddOp2($1612,$1616,$1617,$1618)|0); + $1620 = (1 + ($1619))|0; + $1621 = HEAP32[$14>>2]|0; + $1622 = ((($1621)) + 52|0); + HEAP32[$1622>>2] = $1620; + $1623 = HEAP32[$14>>2]|0; + $1624 = ((($1623)) + 47|0); + HEAP8[$1624>>0] = 1; + break; + } + } + HEAP32[$72>>2] = 0; + $1180 = HEAP32[$18>>2]|0; + $1181 = ((($1180)) + 40|0); + $1182 = HEAP32[$1181>>2]|0; + $1183 = (($1182) + 1)|0; + HEAP32[$1181>>2] = $1183; + HEAP32[$73>>2] = $1182; + $1184 = HEAP32[$18>>2]|0; + $1185 = ((($1184)) + 44|0); + $1186 = HEAP32[$1185>>2]|0; + $1187 = (($1186) + 1)|0; + HEAP32[$1185>>2] = $1187; + HEAP32[$74>>2] = $1187; + HEAP32[$75>>2] = 0; + HEAP32[$76>>2] = 0; + $1188 = HEAP32[$20>>2]|0; + $1189 = (_sqlite3VdbeMakeLabel($1188)|0); + HEAP32[$77>>2] = $1189; + HEAP32[$79>>2] = 0; + HEAP32[$82>>2] = 0; + $1190 = HEAP32[$21>>2]|0; + $1191 = ((($1190)) + 16|0); + $1192 = HEAP32[$1191>>2]|0; + HEAP32[$83>>2] = $1192; + $1193 = HEAP32[$15>>2]|0; + $1194 = ((($1193)) + 48|0); + $1195 = HEAP32[$1194>>2]|0; + $1196 = HEAP32[$1195>>2]|0; + HEAP32[$17>>2] = $1196; + $1197 = HEAP32[$17>>2]|0; + $1198 = ((($1197)) + 28|0); + $1199 = HEAP32[$1198>>2]|0; + HEAP32[$70>>2] = $1199; + $1200 = HEAP32[$14>>2]|0; + $1201 = ((($1200)) + 45|0); + HEAP8[$1201>>0] = 72; + $1202 = HEAP32[$74>>2]|0; + $1203 = HEAP32[$14>>2]|0; + $1204 = ((($1203)) + 48|0); + HEAP32[$1204>>2] = $1202; + $1205 = HEAP32[$5>>2]|0; + $1206 = ((($1205)) + 42|0); + $1207 = HEAP8[$1206>>0]|0; + $1208 = $1207&255; + $1209 = ($1208|0)>(1); + $1210 = HEAP32[$5>>2]|0; + L91: do { + if ($1209) { + $1211 = ((($1210)) + 42|0); + $1212 = HEAP8[$1211>>0]|0; + $1213 = $1212&255; + $1214 = HEAP32[$6>>2]|0; + $1215 = (($1213) - ($1214))|0; + $1216 = (($1215) - 1)|0; + HEAP32[$84>>2] = $1216; + $1217 = HEAP32[$19>>2]|0; + $1218 = HEAP32[$84>>2]|0; + $1219 = ($1218*72)|0; + $1220 = (80 + ($1219))|0; + $1221 = (_sqlite3DbMallocRaw($1217,$1220,0)|0); + HEAP32[$71>>2] = $1221; + $1222 = HEAP32[$71>>2]|0; + $1223 = ($1222|0)==(0|0); + if ($1223) { + $1224 = $7; + $1225 = $1224; + $1226 = HEAP32[$1225>>2]|0; + $1227 = (($1224) + 4)|0; + $1228 = $1227; + $1229 = HEAP32[$1228>>2]|0; + $1230 = $4; + $1231 = $1230; + HEAP32[$1231>>2] = $1226; + $1232 = (($1230) + 4)|0; + $1233 = $1232; + HEAP32[$1233>>2] = $1229; + $1846 = $4; + $1847 = $1846; + $1848 = HEAP32[$1847>>2]|0; + $1849 = (($1846) + 4)|0; + $1850 = $1849; + $1851 = HEAP32[$1850>>2]|0; + tempRet0 = ($1851); + STACKTOP = sp;return ($1848|0); + } + $1234 = HEAP32[$84>>2]|0; + $1235 = (($1234) + 1)|0; + $1236 = $1235&255; + $1237 = $1236&255; + $1238 = HEAP32[$71>>2]|0; + $1239 = ((($1238)) + 4|0); + HEAP32[$1239>>2] = $1237; + $1240 = HEAP32[$71>>2]|0; + $1241 = ((($1240)) + 4|0); + $1242 = HEAP32[$1241>>2]|0; + $1243 = HEAP32[$71>>2]|0; + HEAP32[$1243>>2] = $1242; + $1244 = HEAP32[$71>>2]|0; + $1245 = ((($1244)) + 8|0); + $1246 = HEAP32[$21>>2]|0; + dest=$1245; src=$1246; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $1247 = HEAP32[$5>>2]|0; + $1248 = ((($1247)) + 4|0); + $1249 = HEAP32[$1248>>2]|0; + $1250 = ((($1249)) + 8|0); + HEAP32[$85>>2] = $1250; + HEAP32[$9>>2] = 1; + while(1) { + $1251 = HEAP32[$9>>2]|0; + $1252 = HEAP32[$84>>2]|0; + $1253 = ($1251|0)<=($1252|0); + if (!($1253)) { + break L91; + } + $1254 = HEAP32[$71>>2]|0; + $1255 = ((($1254)) + 8|0); + $1256 = HEAP32[$9>>2]|0; + $1257 = (($1255) + (($1256*72)|0)|0); + $1258 = HEAP32[$85>>2]|0; + $1259 = HEAP32[$14>>2]|0; + $1260 = HEAP32[$9>>2]|0; + $1261 = (($1259) + (($1260*80)|0)|0); + $1262 = ((($1261)) + 44|0); + $1263 = HEAP8[$1262>>0]|0; + $1264 = $1263&255; + $1265 = (($1258) + (($1264*72)|0)|0); + dest=$1257; src=$1265; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $1266 = HEAP32[$9>>2]|0; + $1267 = (($1266) + 1)|0; + HEAP32[$9>>2] = $1267; + } + } else { + $1268 = ((($1210)) + 4|0); + $1269 = HEAP32[$1268>>2]|0; + HEAP32[$71>>2] = $1269; } - HEAP32[$jj>>2] = 0; + } while(0); + $1270 = HEAP32[$5>>2]|0; + $1271 = ((($1270)) + 40|0); + $1272 = HEAP16[$1271>>1]|0; + $1273 = $1272&65535; + $1274 = $1273 & 16; + $1275 = ($1274|0)==(0); + if ($1275) { + $1276 = HEAP32[$83>>2]|0; + $1277 = ((($1276)) + 42|0); + $1278 = HEAP8[$1277>>0]|0; + $1279 = $1278&255; + $1280 = $1279 & 32; + $1281 = ($1280|0)==(0); + if ($1281) { + $1282 = HEAP32[$18>>2]|0; + $1283 = ((($1282)) + 44|0); + $1284 = HEAP32[$1283>>2]|0; + $1285 = (($1284) + 1)|0; + HEAP32[$1283>>2] = $1285; + HEAP32[$75>>2] = $1285; + $1286 = HEAP32[$20>>2]|0; + $1287 = HEAP32[$75>>2]|0; + (_sqlite3VdbeAddOp2($1286,79,0,$1287)|0); + } else { + $1288 = HEAP32[$83>>2]|0; + $1289 = (_sqlite3PrimaryKeyIndex($1288)|0); + HEAP32[$86>>2] = $1289; + $1290 = HEAP32[$18>>2]|0; + $1291 = ((($1290)) + 40|0); + $1292 = HEAP32[$1291>>2]|0; + $1293 = (($1292) + 1)|0; + HEAP32[$1291>>2] = $1293; + HEAP32[$75>>2] = $1292; + $1294 = HEAP32[$20>>2]|0; + $1295 = HEAP32[$75>>2]|0; + $1296 = HEAP32[$86>>2]|0; + $1297 = ((($1296)) + 50|0); + $1298 = HEAP16[$1297>>1]|0; + $1299 = $1298&65535; + (_sqlite3VdbeAddOp2($1294,107,$1295,$1299)|0); + $1300 = HEAP32[$18>>2]|0; + $1301 = HEAP32[$86>>2]|0; + _sqlite3VdbeSetP4KeyInfo($1300,$1301); + } + $1302 = HEAP32[$18>>2]|0; + $1303 = ((($1302)) + 44|0); + $1304 = HEAP32[$1303>>2]|0; + $1305 = (($1304) + 1)|0; + HEAP32[$1303>>2] = $1305; + HEAP32[$76>>2] = $1305; + } + $1306 = HEAP32[$20>>2]|0; + $1307 = HEAP32[$74>>2]|0; + $1308 = (_sqlite3VdbeAddOp2($1306,76,0,$1307)|0); + HEAP32[$78>>2] = $1308; + $1309 = HEAP32[$16>>2]|0; + $1310 = ((($1309)) + 12|0); + $1311 = HEAP32[$1310>>2]|0; + $1312 = ($1311|0)>(1); + if ($1312) { + HEAP32[$87>>2] = 0; while(1) { - $41 = HEAP32[$jj>>2]|0; - $42 = HEAP32[$2>>2]|0; - $43 = ((($42)) + 50|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = ($41|0)<($45|0); - if (!($46)) { - break L12; + $1313 = HEAP32[$87>>2]|0; + $1314 = HEAP32[$16>>2]|0; + $1315 = ((($1314)) + 12|0); + $1316 = HEAP32[$1315>>2]|0; + $1317 = ($1313|0)<($1316|0); + if (!($1317)) { + break; } - $47 = HEAP32[$pExpr>>2]|0; - $48 = ((($47)) + 32|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49 << 16 >> 16; - $51 = HEAP32[$jj>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 4|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($51<<1)|0); - $56 = HEAP16[$55>>1]|0; - $57 = $56 << 16 >> 16; - $58 = ($50|0)==($57|0); - if ($58) { - label = 14; - break L9; + $1318 = HEAP32[$16>>2]|0; + $1319 = ((($1318)) + 20|0); + $1320 = HEAP32[$1319>>2]|0; + $1321 = HEAP32[$87>>2]|0; + $1322 = (($1320) + (($1321*48)|0)|0); + $1323 = HEAP32[$1322>>2]|0; + HEAP32[$88>>2] = $1323; + $1324 = HEAP32[$16>>2]|0; + $1325 = ((($1324)) + 20|0); + $1326 = HEAP32[$1325>>2]|0; + $1327 = HEAP32[$87>>2]|0; + $1328 = (($1326) + (($1327*48)|0)|0); + $1329 = HEAP32[$17>>2]|0; + $1330 = ($1328|0)==($1329|0); + do { + if (!($1330)) { + $1331 = HEAP32[$88>>2]|0; + $1332 = ((($1331)) + 4|0); + $1333 = HEAP32[$1332>>2]|0; + $1334 = $1333 & 1; + $1335 = ($1334|0)!=(0); + if (!($1335)) { + $1336 = HEAP32[$16>>2]|0; + $1337 = ((($1336)) + 20|0); + $1338 = HEAP32[$1337>>2]|0; + $1339 = HEAP32[$87>>2]|0; + $1340 = (($1338) + (($1339*48)|0)|0); + $1341 = ((($1340)) + 10|0); + $1342 = HEAP16[$1341>>1]|0; + $1343 = $1342&65535; + $1344 = $1343 & 6; + $1345 = ($1344|0)!=(0); + if (!($1345)) { + $1346 = HEAP32[$16>>2]|0; + $1347 = ((($1346)) + 20|0); + $1348 = HEAP32[$1347>>2]|0; + $1349 = HEAP32[$87>>2]|0; + $1350 = (($1348) + (($1349*48)|0)|0); + $1351 = ((($1350)) + 12|0); + $1352 = HEAP16[$1351>>1]|0; + $1353 = $1352&65535; + $1354 = $1353 & 8191; + $1355 = ($1354|0)==(0); + if ($1355) { + break; + } + $1356 = HEAP32[$19>>2]|0; + $1357 = HEAP32[$88>>2]|0; + $1358 = (_sqlite3ExprDup($1356,$1357,0)|0); + HEAP32[$88>>2] = $1358; + $1359 = HEAP32[$19>>2]|0; + $1360 = HEAP32[$82>>2]|0; + $1361 = HEAP32[$88>>2]|0; + $1362 = (_sqlite3ExprAnd($1359,$1360,$1361)|0); + HEAP32[$82>>2] = $1362; + } + } + } + } while(0); + $1363 = HEAP32[$87>>2]|0; + $1364 = (($1363) + 1)|0; + HEAP32[$87>>2] = $1364; + } + $1365 = HEAP32[$82>>2]|0; + $1366 = ($1365|0)!=(0|0); + if ($1366) { + $1367 = HEAP32[$18>>2]|0; + $1368 = HEAP32[$82>>2]|0; + $1369 = (_sqlite3PExpr($1367,284,0,$1368,0)|0); + HEAP32[$82>>2] = $1369; + } + } + $1370 = HEAP32[$5>>2]|0; + $1371 = ((($1370)) + 40|0); + $1372 = HEAP16[$1371>>1]|0; + $1373 = $1372&65535; + $1374 = $1373 & 1024; + $1375 = 32 | $1374; + $1376 = $1375&65535; + HEAP16[$81>>1] = $1376; + HEAP32[$80>>2] = 0; + while(1) { + $1377 = HEAP32[$80>>2]|0; + $1378 = HEAP32[$70>>2]|0; + $1379 = ((($1378)) + 12|0); + $1380 = HEAP32[$1379>>2]|0; + $1381 = ($1377|0)<($1380|0); + if (!($1381)) { + break; + } + $1382 = HEAP32[$70>>2]|0; + $1383 = ((($1382)) + 20|0); + $1384 = HEAP32[$1383>>2]|0; + $1385 = HEAP32[$80>>2]|0; + $1386 = (($1384) + (($1385*48)|0)|0); + HEAP32[$89>>2] = $1386; + $1387 = HEAP32[$89>>2]|0; + $1388 = ((($1387)) + 20|0); + $1389 = HEAP32[$1388>>2]|0; + $1390 = HEAP32[$10>>2]|0; + $1391 = ($1389|0)==($1390|0); + if ($1391) { + label = 165; + } else { + $1392 = HEAP32[$89>>2]|0; + $1393 = ((($1392)) + 12|0); + $1394 = HEAP16[$1393>>1]|0; + $1395 = $1394&65535; + $1396 = $1395 & 1024; + $1397 = ($1396|0)!=(0); + if ($1397) { + label = 165; + } + } + if ((label|0) == 165) { + label = 0; + $1398 = HEAP32[$89>>2]|0; + $1399 = HEAP32[$1398>>2]|0; + HEAP32[$91>>2] = $1399; + HEAP32[$92>>2] = 0; + $1400 = HEAP32[$82>>2]|0; + $1401 = ($1400|0)!=(0|0); + if ($1401) { + $1402 = HEAP32[$91>>2]|0; + $1403 = ((($1402)) + 4|0); + $1404 = HEAP32[$1403>>2]|0; + $1405 = $1404 & 1; + $1406 = ($1405|0)!=(0); + if (!($1406)) { + $1407 = HEAP32[$91>>2]|0; + $1408 = HEAP32[$82>>2]|0; + $1409 = ((($1408)) + 12|0); + HEAP32[$1409>>2] = $1407; + $1410 = HEAP32[$82>>2]|0; + HEAP32[$91>>2] = $1410; + } + } + $1411 = HEAP32[$18>>2]|0; + $1412 = HEAP32[$71>>2]|0; + $1413 = HEAP32[$91>>2]|0; + $1414 = HEAP16[$81>>1]|0; + $1415 = HEAP32[$73>>2]|0; + $1416 = (_sqlite3WhereBegin($1411,$1412,$1413,0,0,$1414,$1415)|0); + HEAP32[$90>>2] = $1416; + $1417 = HEAP32[$90>>2]|0; + $1418 = ($1417|0)!=(0|0); + if ($1418) { + $1419 = HEAP32[$18>>2]|0; + $1420 = HEAP32[$71>>2]|0; + $1421 = HEAP32[$90>>2]|0; + $1422 = ((($1421)) + 752|0); + $1423 = HEAP32[$6>>2]|0; + $1424 = HEAP32[$14>>2]|0; + $1425 = ((($1424)) + 44|0); + $1426 = HEAP8[$1425>>0]|0; + $1427 = $1426&255; + $1428 = (_sqlite3WhereExplainOneScan($1419,$1420,$1422,$1423,$1427,0)|0); + HEAP32[$94>>2] = $1428; + $1429 = HEAP32[$5>>2]|0; + $1430 = ((($1429)) + 40|0); + $1431 = HEAP16[$1430>>1]|0; + $1432 = $1431&65535; + $1433 = $1432 & 16; + $1434 = ($1433|0)==(0); + do { + if ($1434) { + $1435 = HEAP32[$80>>2]|0; + $1436 = HEAP32[$70>>2]|0; + $1437 = ((($1436)) + 12|0); + $1438 = HEAP32[$1437>>2]|0; + $1439 = (($1438) - 1)|0; + $1440 = ($1435|0)==($1439|0); + $1441 = HEAP32[$80>>2]|0; + $1442 = $1440 ? -1 : $1441; + HEAP32[$96>>2] = $1442; + $1443 = HEAP32[$83>>2]|0; + $1444 = ((($1443)) + 42|0); + $1445 = HEAP8[$1444>>0]|0; + $1446 = $1445&255; + $1447 = $1446 & 32; + $1448 = ($1447|0)==(0); + if ($1448) { + $1449 = HEAP32[$18>>2]|0; + $1450 = HEAP32[$83>>2]|0; + $1451 = HEAP32[$10>>2]|0; + $1452 = HEAP32[$76>>2]|0; + $1453 = (_sqlite3ExprCodeGetColumn($1449,$1450,-1,$1451,$1452,0)|0); + HEAP32[$95>>2] = $1453; + $1454 = HEAP32[$20>>2]|0; + $1455 = HEAP32[$75>>2]|0; + $1456 = HEAP32[$95>>2]|0; + $1457 = HEAP32[$96>>2]|0; + $1458 = (_sqlite3VdbeAddOp4Int($1454,63,$1455,0,$1456,$1457)|0); + HEAP32[$92>>2] = $1458; + break; + } + $1459 = HEAP32[$83>>2]|0; + $1460 = (_sqlite3PrimaryKeyIndex($1459)|0); + HEAP32[$97>>2] = $1460; + $1461 = HEAP32[$97>>2]|0; + $1462 = ((($1461)) + 50|0); + $1463 = HEAP16[$1462>>1]|0; + $1464 = $1463&65535; + HEAP32[$98>>2] = $1464; + $1465 = HEAP32[$18>>2]|0; + $1466 = HEAP32[$98>>2]|0; + $1467 = (_sqlite3GetTempRange($1465,$1466)|0); + HEAP32[$95>>2] = $1467; + HEAP32[$99>>2] = 0; + while(1) { + $1468 = HEAP32[$99>>2]|0; + $1469 = HEAP32[$98>>2]|0; + $1470 = ($1468|0)<($1469|0); + if (!($1470)) { + break; + } + $1471 = HEAP32[$97>>2]|0; + $1472 = ((($1471)) + 4|0); + $1473 = HEAP32[$1472>>2]|0; + $1474 = HEAP32[$99>>2]|0; + $1475 = (($1473) + ($1474<<1)|0); + $1476 = HEAP16[$1475>>1]|0; + $1477 = $1476 << 16 >> 16; + HEAP32[$100>>2] = $1477; + $1478 = HEAP32[$18>>2]|0; + $1479 = HEAP32[$83>>2]|0; + $1480 = HEAP32[$100>>2]|0; + $1481 = HEAP32[$10>>2]|0; + $1482 = HEAP32[$95>>2]|0; + $1483 = HEAP32[$99>>2]|0; + $1484 = (($1482) + ($1483))|0; + _sqlite3ExprCodeGetColumnToReg($1478,$1479,$1480,$1481,$1484); + $1485 = HEAP32[$99>>2]|0; + $1486 = (($1485) + 1)|0; + HEAP32[$99>>2] = $1486; + } + $1487 = HEAP32[$96>>2]|0; + $1488 = ($1487|0)!=(0); + if ($1488) { + $1489 = HEAP32[$20>>2]|0; + $1490 = HEAP32[$75>>2]|0; + $1491 = HEAP32[$95>>2]|0; + $1492 = HEAP32[$98>>2]|0; + $1493 = (_sqlite3VdbeAddOp4Int($1489,31,$1490,0,$1491,$1492)|0); + HEAP32[$92>>2] = $1493; + } + $1494 = HEAP32[$96>>2]|0; + $1495 = ($1494|0)>=(0); + do { + if ($1495) { + $1496 = HEAP32[$20>>2]|0; + $1497 = HEAP32[$95>>2]|0; + $1498 = HEAP32[$98>>2]|0; + $1499 = HEAP32[$76>>2]|0; + (_sqlite3VdbeAddOp3($1496,99,$1497,$1498,$1499)|0); + $1500 = HEAP32[$20>>2]|0; + $1501 = HEAP32[$75>>2]|0; + $1502 = HEAP32[$76>>2]|0; + (_sqlite3VdbeAddOp3($1500,126,$1501,$1502,0)|0); + $1503 = HEAP32[$96>>2]|0; + $1504 = ($1503|0)!=(0); + if (!($1504)) { + break; + } + $1505 = HEAP32[$20>>2]|0; + _sqlite3VdbeChangeP5($1505,16); + } + } while(0); + $1506 = HEAP32[$18>>2]|0; + $1507 = HEAP32[$95>>2]|0; + $1508 = HEAP32[$98>>2]|0; + _sqlite3ReleaseTempRange($1506,$1507,$1508); + } + } while(0); + $1509 = HEAP32[$20>>2]|0; + $1510 = HEAP32[$74>>2]|0; + $1511 = HEAP32[$77>>2]|0; + (_sqlite3VdbeAddOp2($1509,14,$1510,$1511)|0); + $1512 = HEAP32[$92>>2]|0; + $1513 = ($1512|0)!=(0); + if ($1513) { + $1514 = HEAP32[$20>>2]|0; + $1515 = HEAP32[$92>>2]|0; + _sqlite3VdbeJumpHere($1514,$1515); + } + $1516 = HEAP32[$90>>2]|0; + $1517 = ((($1516)) + 46|0); + $1518 = HEAP8[$1517>>0]|0; + $1519 = ($1518<<24>>24)!=(0); + if ($1519) { + HEAP32[$79>>2] = 1; + } + $1520 = HEAP32[$90>>2]|0; + $1521 = ((($1520)) + 752|0); + $1522 = ((($1521)) + 64|0); + $1523 = HEAP32[$1522>>2]|0; + HEAP32[$93>>2] = $1523; + $1524 = HEAP32[$93>>2]|0; + $1525 = ((($1524)) + 36|0); + $1526 = HEAP32[$1525>>2]|0; + $1527 = $1526 & 512; + $1528 = ($1527|0)!=(0); + do { + if ($1528) { + $1529 = HEAP32[$80>>2]|0; + $1530 = ($1529|0)==(0); + if (!($1530)) { + $1531 = HEAP32[$93>>2]|0; + $1532 = ((($1531)) + 24|0); + $1533 = ((($1532)) + 8|0); + $1534 = HEAP32[$1533>>2]|0; + $1535 = HEAP32[$72>>2]|0; + $1536 = ($1534|0)==($1535|0); + if (!($1536)) { + label = 191; + break; + } + } + $1537 = HEAP32[$83>>2]|0; + $1538 = ((($1537)) + 42|0); + $1539 = HEAP8[$1538>>0]|0; + $1540 = $1539&255; + $1541 = $1540 & 32; + $1542 = ($1541|0)==(0); + if (!($1542)) { + $1543 = HEAP32[$93>>2]|0; + $1544 = ((($1543)) + 24|0); + $1545 = ((($1544)) + 8|0); + $1546 = HEAP32[$1545>>2]|0; + $1547 = ((($1546)) + 55|0); + $1548 = HEAP8[$1547>>0]|0; + $1549 = $1548 & 3; + $1550 = $1549&255; + $1551 = ($1550|0)==(2); + if ($1551) { + label = 191; + break; + } + } + $1552 = HEAP32[$93>>2]|0; + $1553 = ((($1552)) + 24|0); + $1554 = ((($1553)) + 8|0); + $1555 = HEAP32[$1554>>2]|0; + HEAP32[$72>>2] = $1555; + } else { + label = 191; + } + } while(0); + if ((label|0) == 191) { + label = 0; + HEAP32[$72>>2] = 0; + } + $1556 = HEAP32[$90>>2]|0; + _sqlite3WhereEnd($1556); } - $59 = HEAP32[$jj>>2]|0; - $60 = (($59) + 1)|0; - HEAP32[$jj>>2] = $60; } + $1557 = HEAP32[$80>>2]|0; + $1558 = (($1557) + 1)|0; + HEAP32[$80>>2] = $1558; + } + $1559 = HEAP32[$72>>2]|0; + $1560 = HEAP32[$14>>2]|0; + $1561 = ((($1560)) + 56|0); + HEAP32[$1561>>2] = $1559; + $1562 = HEAP32[$72>>2]|0; + $1563 = ($1562|0)!=(0|0); + if ($1563) { + $1564 = HEAP32[$73>>2]|0; + $1565 = HEAP32[$14>>2]|0; + $1566 = ((($1565)) + 8|0); + HEAP32[$1566>>2] = $1564; + } + $1567 = HEAP32[$82>>2]|0; + $1568 = ($1567|0)!=(0|0); + if ($1568) { + $1569 = HEAP32[$82>>2]|0; + $1570 = ((($1569)) + 12|0); + HEAP32[$1570>>2] = 0; + $1571 = HEAP32[$19>>2]|0; + $1572 = HEAP32[$82>>2]|0; + _sqlite3ExprDelete($1571,$1572); + } + $1573 = HEAP32[$20>>2]|0; + $1574 = HEAP32[$78>>2]|0; + $1575 = HEAP32[$20>>2]|0; + $1576 = (_sqlite3VdbeCurrentAddr($1575)|0); + _sqlite3VdbeChangeP1($1573,$1574,$1576); + $1577 = HEAP32[$20>>2]|0; + $1578 = HEAP32[$14>>2]|0; + $1579 = ((($1578)) + 12|0); + $1580 = HEAP32[$1579>>2]|0; + (_sqlite3VdbeGoto($1577,$1580)|0); + $1581 = HEAP32[$20>>2]|0; + $1582 = HEAP32[$77>>2]|0; + _sqlite3VdbeResolveLabel($1581,$1582); + $1583 = HEAP32[$5>>2]|0; + $1584 = ((($1583)) + 42|0); + $1585 = HEAP8[$1584>>0]|0; + $1586 = $1585&255; + $1587 = ($1586|0)>(1); + if ($1587) { + $1588 = HEAP32[$19>>2]|0; + $1589 = HEAP32[$71>>2]|0; + _sqlite3DbFree($1588,$1589); + } + $1590 = HEAP32[$79>>2]|0; + $1591 = ($1590|0)!=(0); + if ($1591) { + break; + } + $1592 = HEAP32[$14>>2]|0; + $1593 = HEAP32[$17>>2]|0; + _disableTerm($1592,$1593); + break; + } + $641 = ((($640)) + 24|0); + $642 = HEAP16[$641>>1]|0; + HEAP16[$46>>1] = $642; + $643 = HEAP32[$15>>2]|0; + $644 = ((($643)) + 24|0); + $645 = ((($644)) + 2|0); + $646 = HEAP16[$645>>1]|0; + HEAP16[$47>>1] = $646; + $647 = HEAP32[$15>>2]|0; + $648 = ((($647)) + 24|0); + $649 = ((($648)) + 4|0); + $650 = HEAP16[$649>>1]|0; + HEAP16[$48>>1] = $650; + HEAP32[$50>>2] = 0; + HEAP32[$51>>2] = 0; + HEAP32[$58>>2] = 0; + HEAP32[$61>>2] = 0; + HEAP8[$62>>0] = 0; + HEAP8[$63>>0] = 0; + $651 = HEAP32[$15>>2]|0; + $652 = ((($651)) + 24|0); + $653 = ((($652)) + 8|0); + $654 = HEAP32[$653>>2]|0; + HEAP32[$56>>2] = $654; + $655 = HEAP32[$14>>2]|0; + $656 = ((($655)) + 8|0); + $657 = HEAP32[$656>>2]|0; + HEAP32[$57>>2] = $657; + $658 = HEAP32[$5>>2]|0; + $659 = ((($658)) + 40|0); + $660 = HEAP16[$659>>1]|0; + $661 = $660&65535; + $662 = $661 & 1; + $663 = ($662|0)!=(0); + if ($663) { + $664 = HEAP32[$5>>2]|0; + $665 = ((($664)) + 43|0); + $666 = HEAP8[$665>>0]|0; + $667 = $666 << 24 >> 24; + $668 = ($667|0)>(0); + if ($668) { + $669 = HEAP32[$56>>2]|0; + $670 = ((($669)) + 50|0); + $671 = HEAP16[$670>>1]|0; + $672 = $671&65535; + $673 = HEAP16[$46>>1]|0; + $674 = $673&65535; + $675 = ($672|0)>($674|0); + if ($675) { + HEAP8[$62>>0] = 1; + HEAP32[$58>>2] = 1; + } + } + } + $676 = HEAP16[$46>>1]|0; + $677 = $676&65535; + HEAP32[$8>>2] = $677; + $678 = HEAP32[$15>>2]|0; + $679 = ((($678)) + 36|0); + $680 = HEAP32[$679>>2]|0; + $681 = $680 & 32; + $682 = ($681|0)!=(0); + if ($682) { + $683 = HEAP32[$15>>2]|0; + $684 = ((($683)) + 48|0); + $685 = HEAP32[$684>>2]|0; + $686 = HEAP32[$8>>2]|0; + $687 = (($686) + 1)|0; + HEAP32[$8>>2] = $687; + $688 = (($685) + ($686<<2)|0); + $689 = HEAP32[$688>>2]|0; + HEAP32[$50>>2] = $689; + $690 = HEAP32[$58>>2]|0; + $691 = HEAP32[$15>>2]|0; + $692 = ((($691)) + 24|0); + $693 = ((($692)) + 2|0); + $694 = HEAP16[$693>>1]|0; + $695 = $694&65535; + $696 = ($690|0)>($695|0); + if ($696) { + $697 = HEAP32[$58>>2]|0; + $703 = $697; } else { - label = 16; + $698 = HEAP32[$15>>2]|0; + $699 = ((($698)) + 24|0); + $700 = ((($699)) + 2|0); + $701 = HEAP16[$700>>1]|0; + $702 = $701&65535; + $703 = $702; } - } else { - label = 16; + HEAP32[$58>>2] = $703; } - } while(0); - L20: do { - if ((label|0) == 16) { - label = 0; - $61 = HEAP32[$2>>2]|0; - $62 = ((($61)) + 40|0); - $63 = HEAP32[$62>>2]|0; - HEAP32[$aColExpr>>2] = $63; - $64 = ($63|0)!=(0|0); - if ($64) { - HEAP32[$jj>>2] = 0; - while(1) { - $65 = HEAP32[$jj>>2]|0; - $66 = HEAP32[$2>>2]|0; - $67 = ((($66)) + 50|0); - $68 = HEAP16[$67>>1]|0; - $69 = $68&65535; - $70 = ($65|0)<($69|0); - if (!($70)) { - break L20; - } - $71 = HEAP32[$jj>>2]|0; - $72 = HEAP32[$2>>2]|0; - $73 = ((($72)) + 4|0); - $74 = HEAP32[$73>>2]|0; - $75 = (($74) + ($71<<1)|0); - $76 = HEAP16[$75>>1]|0; - $77 = $76 << 16 >> 16; - $78 = ($77|0)!=(-2); - if (!($78)) { - $79 = HEAP32[$pExpr>>2]|0; - $80 = HEAP32[$jj>>2]|0; - $81 = HEAP32[$aColExpr>>2]|0; - $82 = ((($81)) + 4|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83) + (($80*20)|0)|0); - $85 = HEAP32[$84>>2]|0; - $86 = HEAP32[$3>>2]|0; - $87 = (_sqlite3ExprCompare($79,$85,$86)|0); - $88 = ($87|0)==(0); - if ($88) { - label = 21; - break L9; + $704 = HEAP32[$15>>2]|0; + $705 = ((($704)) + 36|0); + $706 = HEAP32[$705>>2]|0; + $707 = $706 & 16; + $708 = ($707|0)!=(0); + do { + if ($708) { + $709 = HEAP32[$15>>2]|0; + $710 = ((($709)) + 48|0); + $711 = HEAP32[$710>>2]|0; + $712 = HEAP32[$8>>2]|0; + $713 = (($712) + 1)|0; + HEAP32[$8>>2] = $713; + $714 = (($711) + ($712<<2)|0); + $715 = HEAP32[$714>>2]|0; + HEAP32[$51>>2] = $715; + $716 = HEAP32[$58>>2]|0; + $717 = HEAP32[$15>>2]|0; + $718 = ((($717)) + 24|0); + $719 = ((($718)) + 4|0); + $720 = HEAP16[$719>>1]|0; + $721 = $720&65535; + $722 = ($716|0)>($721|0); + if ($722) { + $723 = HEAP32[$58>>2]|0; + $729 = $723; + } else { + $724 = HEAP32[$15>>2]|0; + $725 = ((($724)) + 24|0); + $726 = ((($725)) + 4|0); + $727 = HEAP16[$726>>1]|0; + $728 = $727&65535; + $729 = $728; + } + HEAP32[$58>>2] = $729; + $730 = HEAP32[$51>>2]|0; + $731 = ((($730)) + 10|0); + $732 = HEAP16[$731>>1]|0; + $733 = $732&65535; + $734 = $733 & 256; + $735 = ($734|0)!=(0); + if ($735) { + $736 = HEAP32[$18>>2]|0; + $737 = ((($736)) + 44|0); + $738 = HEAP32[$737>>2]|0; + $739 = (($738) + 1)|0; + HEAP32[$737>>2] = $739; + $740 = HEAP32[$14>>2]|0; + $741 = ((($740)) + 36|0); + HEAP32[$741>>2] = $739; + $742 = HEAP32[$20>>2]|0; + $743 = HEAP32[$14>>2]|0; + $744 = ((($743)) + 36|0); + $745 = HEAP32[$744>>2]|0; + (_sqlite3VdbeAddOp2($742,76,1,$745)|0); + $746 = HEAP32[$20>>2]|0; + $747 = (_sqlite3VdbeCurrentAddr($746)|0); + $748 = HEAP32[$14>>2]|0; + $749 = ((($748)) + 40|0); + HEAP32[$749>>2] = $747; + $750 = HEAP32[$14>>2]|0; + $751 = ((($750)) + 36|0); + $752 = HEAP32[$751>>2]|0; + $753 = $752 << 1; + HEAP32[$751>>2] = $753; + $754 = HEAP32[$13>>2]|0; + $755 = HEAP32[$56>>2]|0; + $756 = ((($755)) + 28|0); + $757 = HEAP32[$756>>2]|0; + $758 = HEAP16[$46>>1]|0; + $759 = $758&65535; + $760 = (($757) + ($759)|0); + $761 = HEAP8[$760>>0]|0; + $762 = $761&255; + $763 = ($762|0)==(1); + $764 = $763&1; + $765 = $754 ^ $764; + $766 = HEAP32[$14>>2]|0; + $767 = ((($766)) + 36|0); + $768 = HEAP32[$767>>2]|0; + $769 = $768 | $765; + HEAP32[$767>>2] = $769; + } + $770 = HEAP32[$50>>2]|0; + $771 = ($770|0)==(0|0); + if ($771) { + $772 = HEAP32[$56>>2]|0; + $773 = ((($772)) + 4|0); + $774 = HEAP32[$773>>2]|0; + $775 = HEAP16[$46>>1]|0; + $776 = $775&65535; + $777 = (($774) + ($776<<1)|0); + $778 = HEAP16[$777>>1]|0; + $779 = $778 << 16 >> 16; + HEAP32[$8>>2] = $779; + $780 = HEAP32[$8>>2]|0; + $781 = ($780|0)>=(0); + if ($781) { + $782 = HEAP32[$56>>2]|0; + $783 = ((($782)) + 12|0); + $784 = HEAP32[$783>>2]|0; + $785 = ((($784)) + 4|0); + $786 = HEAP32[$785>>2]|0; + $787 = HEAP32[$8>>2]|0; + $788 = (($786) + ($787<<4)|0); + $789 = ((($788)) + 12|0); + $790 = HEAP8[$789>>0]|0; + $791 = $790&255; + $792 = ($791|0)==(0); + $793 = HEAP32[$8>>2]|0; + $794 = ($793|0)==(-2); + $or$cond = $792 | $794; + if (!($or$cond)) { + break; + } + } else { + $$old = HEAP32[$8>>2]|0; + $$old1 = ($$old|0)==(-2); + if (!($$old1)) { + break; } } - $89 = HEAP32[$jj>>2]|0; - $90 = (($89) + 1)|0; - HEAP32[$jj>>2] = $90; + HEAP8[$62>>0] = 1; } } + } while(0); + $795 = HEAP16[$46>>1]|0; + $796 = $795&65535; + $797 = HEAP32[$56>>2]|0; + $798 = ((($797)) + 50|0); + $799 = HEAP16[$798>>1]|0; + $800 = $799&65535; + $801 = ($796|0)<($800|0); + if ($801) { + $802 = HEAP32[$13>>2]|0; + $803 = HEAP32[$56>>2]|0; + $804 = ((($803)) + 28|0); + $805 = HEAP32[$804>>2]|0; + $806 = HEAP16[$46>>1]|0; + $807 = $806&65535; + $808 = (($805) + ($807)|0); + $809 = HEAP8[$808>>0]|0; + $810 = $809&255; + $811 = ($810|0)==(0); + $812 = $811&1; + $813 = ($802|0)==($812|0); + if ($813) { + label = 84; + } else { + label = 82; + } + } else { + label = 82; } - } while(0); - $91 = HEAP32[$ii>>2]|0; - $92 = (($91) + 1)|0; - HEAP32[$ii>>2] = $92; - } - if ((label|0) == 10) { - HEAP32[$0>>2] = 1; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); - } - else if ((label|0) == 14) { - HEAP32[$0>>2] = 1; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); - } - else if ((label|0) == 21) { - HEAP32[$0>>2] = 1; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); - } - else if ((label|0) == 24) { - HEAP32[$0>>2] = 0; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); - } - return (0)|0; -} -function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { - $pWC = $pWC|0; - $pLoop = $pLoop|0; - $nRow = $nRow|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $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, $i = 0; - var $iReduce = 0, $j = 0, $k = 0, $notAllowed = 0, $or$cond = 0, $or$cond3 = 0, $pRight = 0, $pTerm = 0, $pX = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 42|0; - $pTerm = sp + 28|0; - $pX = sp + 24|0; - $notAllowed = sp; - $i = sp + 20|0; - $j = sp + 16|0; - $k = sp + 12|0; - $iReduce = sp + 40|0; - $pRight = sp + 8|0; - HEAP32[$0>>2] = $pWC; - HEAP32[$1>>2] = $pLoop; - HEAP16[$2>>1] = $nRow; - $3 = HEAP32[$1>>2]|0; - $4 = $3; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = (($4) + 4)|0; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 8|0); - $12 = $11; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = $6 | $14; - $19 = $9 | $17; - $20 = $18 ^ -1; - $21 = $19 ^ -1; - $22 = $notAllowed; - $23 = $22; - HEAP32[$23>>2] = $20; - $24 = (($22) + 4)|0; - $25 = $24; - HEAP32[$25>>2] = $21; - HEAP16[$iReduce>>1] = 0; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 12|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$i>>2] = $28; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 20|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$pTerm>>2] = $31; - while(1) { - $32 = HEAP32[$i>>2]|0; - $33 = ($32|0)>(0); - if (!($33)) { - break; - } - $34 = HEAP32[$pTerm>>2]|0; - $35 = ((($34)) + 10|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 & 2; - $39 = ($38|0)!=(0); - if ($39) { - break; - } - $40 = HEAP32[$pTerm>>2]|0; - $41 = ((($40)) + 40|0); - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 8|0); - $50 = $49; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = $44 & $52; - $57 = $47 & $55; - $58 = ($56|0)==(0); - $59 = ($57|0)==(0); - $60 = $58 & $59; - do { - if (!($60)) { - $61 = HEAP32[$pTerm>>2]|0; - $62 = ((($61)) + 40|0); - $63 = $62; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (($63) + 4)|0; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = $notAllowed; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = $65 & $71; - $76 = $68 & $74; - $77 = ($75|0)!=(0); - $78 = ($76|0)!=(0); - $79 = $77 | $78; - if (!($79)) { - $80 = HEAP32[$1>>2]|0; - $81 = ((($80)) + 40|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = (($83) - 1)|0; - HEAP32[$j>>2] = $84; - while(1) { - $85 = HEAP32[$j>>2]|0; - $86 = ($85|0)>=(0); - if (!($86)) { + if ((label|0) == 82) { + $814 = HEAP32[$13>>2]|0; + $815 = ($814|0)!=(0); + if ($815) { + $816 = HEAP32[$56>>2]|0; + $817 = ((($816)) + 50|0); + $818 = HEAP16[$817>>1]|0; + $819 = $818&65535; + $820 = HEAP16[$46>>1]|0; + $821 = $820&65535; + $822 = ($819|0)==($821|0); + if ($822) { + label = 84; + } + } + } + if ((label|0) == 84) { + $823 = HEAP32[$51>>2]|0; + HEAP32[$64>>2] = $823; + $824 = HEAP32[$50>>2]|0; + HEAP32[$51>>2] = $824; + $825 = HEAP32[$64>>2]|0; + HEAP32[$50>>2] = $825; + $826 = HEAP8[$62>>0]|0; + HEAP8[$65>>0] = $826; + $827 = HEAP8[$63>>0]|0; + HEAP8[$62>>0] = $827; + $828 = HEAP8[$65>>0]|0; + HEAP8[$63>>0] = $828; + $829 = HEAP16[$47>>1]|0; + $830 = $829&255; + HEAP8[$66>>0] = $830; + $831 = HEAP16[$48>>1]|0; + HEAP16[$47>>1] = $831; + $832 = HEAP8[$66>>0]|0; + $833 = $832&255; + HEAP16[$48>>1] = $833; + } + $834 = HEAP32[$18>>2]|0; + $835 = HEAP32[$14>>2]|0; + $836 = HEAP32[$13>>2]|0; + $837 = HEAP32[$58>>2]|0; + $838 = (_codeAllEqualityTerms($834,$835,$836,$837,$60)|0); + HEAP32[$49>>2] = $838; + $839 = HEAP32[$60>>2]|0; + $840 = ($839|0)!=(0|0); + if ($840) { + $841 = HEAP16[$48>>1]|0; + $842 = $841&65535; + $843 = ($842|0)!=(0); + if ($843) { + $844 = HEAP32[$19>>2]|0; + $845 = HEAP32[$60>>2]|0; + $846 = HEAP16[$46>>1]|0; + $847 = $846&65535; + $848 = (($845) + ($847)|0); + $849 = (_sqlite3DbStrDup($844,$848)|0); + HEAP32[$61>>2] = $849; + } + } + $850 = HEAP32[$14>>2]|0; + $851 = ((($850)) + 16|0); + $852 = HEAP32[$851>>2]|0; + HEAP32[$11>>2] = $852; + $853 = HEAP32[$50>>2]|0; + $854 = ($853|0)!=(0|0); + if ($854) { + $855 = HEAP32[$50>>2]|0; + $856 = ((($855)) + 12|0); + $857 = HEAP16[$856>>1]|0; + $858 = $857&65535; + $859 = $858 & 40; + $860 = ($859|0)!=(0); + $862 = $860; + } else { + $862 = 1; + } + $861 = $862&1; + HEAP32[$52>>2] = $861; + $863 = HEAP32[$51>>2]|0; + $864 = ($863|0)!=(0|0); + if ($864) { + $865 = HEAP32[$51>>2]|0; + $866 = ((($865)) + 12|0); + $867 = HEAP16[$866>>1]|0; + $868 = $867&65535; + $869 = $868 & 40; + $870 = ($869|0)!=(0); + $872 = $870; + } else { + $872 = 1; + } + $871 = $872&1; + HEAP32[$53>>2] = $871; + $873 = HEAP32[$50>>2]|0; + $874 = ($873|0)!=(0|0); + if ($874) { + $879 = 1; + } else { + $875 = HEAP16[$46>>1]|0; + $876 = $875&65535; + $877 = ($876|0)>(0); + $879 = $877; + } + $878 = $879&1; + HEAP32[$54>>2] = $878; + $880 = HEAP16[$46>>1]|0; + $881 = $880&65535; + HEAP32[$55>>2] = $881; + $882 = HEAP32[$50>>2]|0; + $883 = ($882|0)!=(0|0); + if ($883) { + $884 = HEAP32[$50>>2]|0; + $885 = HEAP32[$884>>2]|0; + $886 = ((($885)) + 16|0); + $887 = HEAP32[$886>>2]|0; + HEAP32[$67>>2] = $887; + $888 = HEAP32[$18>>2]|0; + $889 = HEAP32[$67>>2]|0; + $890 = HEAP32[$49>>2]|0; + $891 = HEAP16[$46>>1]|0; + $892 = $891&65535; + $893 = (($890) + ($892))|0; + $894 = HEAP16[$47>>1]|0; + $895 = $894&65535; + _codeExprOrVector($888,$889,$893,$895); + $896 = HEAP32[$20>>2]|0; + $897 = HEAP32[$14>>2]|0; + $898 = HEAP32[$50>>2]|0; + _whereLikeOptimizationStringFixup($896,$897,$898); + $899 = HEAP32[$50>>2]|0; + $900 = ((($899)) + 10|0); + $901 = HEAP16[$900>>1]|0; + $902 = $901&65535; + $903 = $902 & 0; + $904 = ($903|0)==(0); + do { + if ($904) { + $905 = HEAP32[$67>>2]|0; + $906 = (_sqlite3ExprCanBeNull($905)|0); + $907 = ($906|0)!=(0); + if (!($907)) { break; } - $87 = HEAP32[$j>>2]|0; - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 48|0); - $90 = HEAP32[$89>>2]|0; - $91 = (($90) + ($87<<2)|0); - $92 = HEAP32[$91>>2]|0; - HEAP32[$pX>>2] = $92; - $93 = HEAP32[$pX>>2]|0; - $94 = ($93|0)==(0|0); - if (!($94)) { - $95 = HEAP32[$pX>>2]|0; - $96 = HEAP32[$pTerm>>2]|0; - $97 = ($95|0)==($96|0); - if ($97) { + $908 = HEAP32[$20>>2]|0; + $909 = HEAP32[$49>>2]|0; + $910 = HEAP16[$46>>1]|0; + $911 = $910&65535; + $912 = (($909) + ($911))|0; + $913 = HEAP32[$11>>2]|0; + (_sqlite3VdbeAddOp2($908,34,$912,$913)|0); + } + } while(0); + $914 = HEAP32[$60>>2]|0; + $915 = ($914|0)!=(0|0); + if ($915) { + $916 = HEAP32[$67>>2]|0; + $917 = HEAP16[$47>>1]|0; + $918 = $917&65535; + $919 = HEAP32[$60>>2]|0; + $920 = HEAP16[$46>>1]|0; + $921 = $920&65535; + $922 = (($919) + ($921)|0); + _updateRangeAffinityStr($916,$918,$922); + } + $923 = HEAP16[$47>>1]|0; + $924 = $923&65535; + $925 = HEAP32[$55>>2]|0; + $926 = (($925) + ($924))|0; + HEAP32[$55>>2] = $926; + $927 = HEAP32[$67>>2]|0; + $928 = (_sqlite3ExprIsVector($927)|0); + $929 = ($928|0)==(0); + if ($929) { + $930 = HEAP32[$14>>2]|0; + $931 = HEAP32[$50>>2]|0; + _disableTerm($930,$931); + } else { + HEAP32[$52>>2] = 1; + } + HEAP8[$62>>0] = 0; + } else { + $932 = HEAP8[$62>>0]|0; + $933 = ($932<<24>>24)!=(0); + if ($933) { + $934 = HEAP32[$20>>2]|0; + $935 = HEAP32[$49>>2]|0; + $936 = HEAP16[$46>>1]|0; + $937 = $936&65535; + $938 = (($935) + ($937))|0; + (_sqlite3VdbeAddOp2($934,79,0,$938)|0); + $939 = HEAP32[$55>>2]|0; + $940 = (($939) + 1)|0; + HEAP32[$55>>2] = $940; + HEAP32[$52>>2] = 0; + HEAP32[$54>>2] = 1; + } + } + $941 = HEAP32[$18>>2]|0; + $942 = HEAP32[$49>>2]|0; + $943 = HEAP32[$55>>2]|0; + $944 = HEAP8[$62>>0]|0; + $945 = $944&255; + $946 = (($943) - ($945))|0; + $947 = HEAP32[$60>>2]|0; + _codeApplyAffinity($941,$942,$946,$947); + $948 = HEAP32[$15>>2]|0; + $949 = ((($948)) + 42|0); + $950 = HEAP16[$949>>1]|0; + $951 = $950&65535; + $952 = ($951|0)>(0); + if ($952) { + $953 = HEAP32[$55>>2]|0; + $954 = HEAP32[$15>>2]|0; + $955 = ((($954)) + 42|0); + $956 = HEAP16[$955>>1]|0; + $957 = $956&65535; + $958 = ($953|0)==($957|0); + if (!($958)) { + label = 108; + } + } else { + label = 108; + } + if ((label|0) == 108) { + $959 = HEAP32[$54>>2]|0; + $960 = $959 << 2; + $961 = HEAP32[$52>>2]|0; + $962 = $961 << 1; + $963 = (($960) + ($962))|0; + $964 = HEAP32[$13>>2]|0; + $965 = (($963) + ($964))|0; + $966 = (34052 + ($965)|0); + $967 = HEAP8[$966>>0]|0; + $968 = $967&255; + HEAP32[$59>>2] = $968; + $969 = HEAP32[$20>>2]|0; + $970 = HEAP32[$59>>2]|0; + $971 = HEAP32[$57>>2]|0; + $972 = HEAP32[$11>>2]|0; + $973 = HEAP32[$49>>2]|0; + $974 = HEAP32[$55>>2]|0; + (_sqlite3VdbeAddOp4Int($969,$970,$971,$972,$973,$974)|0); + } + $975 = HEAP16[$46>>1]|0; + $976 = $975&65535; + HEAP32[$55>>2] = $976; + $977 = HEAP32[$51>>2]|0; + $978 = ($977|0)!=(0|0); + do { + if ($978) { + $979 = HEAP32[$51>>2]|0; + $980 = HEAP32[$979>>2]|0; + $981 = ((($980)) + 16|0); + $982 = HEAP32[$981>>2]|0; + HEAP32[$68>>2] = $982; + $983 = HEAP32[$18>>2]|0; + $984 = HEAP32[$49>>2]|0; + $985 = HEAP16[$46>>1]|0; + $986 = $985&65535; + $987 = (($984) + ($986))|0; + _sqlite3ExprCacheRemove($983,$987,1); + $988 = HEAP32[$18>>2]|0; + $989 = HEAP32[$68>>2]|0; + $990 = HEAP32[$49>>2]|0; + $991 = HEAP16[$46>>1]|0; + $992 = $991&65535; + $993 = (($990) + ($992))|0; + $994 = HEAP16[$48>>1]|0; + $995 = $994&65535; + _codeExprOrVector($988,$989,$993,$995); + $996 = HEAP32[$20>>2]|0; + $997 = HEAP32[$14>>2]|0; + $998 = HEAP32[$51>>2]|0; + _whereLikeOptimizationStringFixup($996,$997,$998); + $999 = HEAP32[$51>>2]|0; + $1000 = ((($999)) + 10|0); + $1001 = HEAP16[$1000>>1]|0; + $1002 = $1001&65535; + $1003 = $1002 & 0; + $1004 = ($1003|0)==(0); + do { + if ($1004) { + $1005 = HEAP32[$68>>2]|0; + $1006 = (_sqlite3ExprCanBeNull($1005)|0); + $1007 = ($1006|0)!=(0); + if (!($1007)) { break; } - $98 = HEAP32[$pX>>2]|0; - $99 = ((($98)) + 16|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>=(0); - if ($101) { - $102 = HEAP32[$pX>>2]|0; - $103 = ((($102)) + 16|0); - $104 = HEAP32[$103>>2]|0; - $105 = HEAP32[$0>>2]|0; - $106 = ((($105)) + 20|0); - $107 = HEAP32[$106>>2]|0; - $108 = (($107) + (($104*48)|0)|0); - $109 = HEAP32[$pTerm>>2]|0; - $110 = ($108|0)==($109|0); - if ($110) { - break; - } - } + $1008 = HEAP32[$20>>2]|0; + $1009 = HEAP32[$49>>2]|0; + $1010 = HEAP16[$46>>1]|0; + $1011 = $1010&65535; + $1012 = (($1009) + ($1011))|0; + $1013 = HEAP32[$11>>2]|0; + (_sqlite3VdbeAddOp2($1008,34,$1012,$1013)|0); } - $111 = HEAP32[$j>>2]|0; - $112 = (($111) + -1)|0; - HEAP32[$j>>2] = $112; + } while(0); + $1014 = HEAP32[$61>>2]|0; + $1015 = ($1014|0)!=(0|0); + if ($1015) { + $1016 = HEAP32[$68>>2]|0; + $1017 = HEAP16[$48>>1]|0; + $1018 = $1017&65535; + $1019 = HEAP32[$61>>2]|0; + _updateRangeAffinityStr($1016,$1018,$1019); + $1020 = HEAP32[$18>>2]|0; + $1021 = HEAP32[$49>>2]|0; + $1022 = HEAP16[$46>>1]|0; + $1023 = $1022&65535; + $1024 = (($1021) + ($1023))|0; + $1025 = HEAP16[$48>>1]|0; + $1026 = $1025&65535; + $1027 = HEAP32[$61>>2]|0; + _codeApplyAffinity($1020,$1024,$1026,$1027); + } + $1028 = HEAP16[$48>>1]|0; + $1029 = $1028&65535; + $1030 = HEAP32[$55>>2]|0; + $1031 = (($1030) + ($1029))|0; + HEAP32[$55>>2] = $1031; + $1032 = HEAP32[$68>>2]|0; + $1033 = (_sqlite3ExprIsVector($1032)|0); + $1034 = ($1033|0)==(0); + if ($1034) { + $1035 = HEAP32[$14>>2]|0; + $1036 = HEAP32[$51>>2]|0; + _disableTerm($1035,$1036); + break; + } else { + HEAP32[$53>>2] = 1; + break; } - $113 = HEAP32[$j>>2]|0; - $114 = ($113|0)<(0); - if ($114) { - $115 = HEAP32[$pTerm>>2]|0; - $116 = ((($115)) + 8|0); - $117 = HEAP16[$116>>1]|0; - $118 = $117 << 16 >> 16; - $119 = ($118|0)<=(0); - if ($119) { - $120 = HEAP32[$pTerm>>2]|0; - $121 = ((($120)) + 8|0); - $122 = HEAP16[$121>>1]|0; - $123 = $122 << 16 >> 16; - $124 = HEAP32[$1>>2]|0; - $125 = ((($124)) + 22|0); - $126 = HEAP16[$125>>1]|0; - $127 = $126 << 16 >> 16; - $128 = (($127) + ($123))|0; - $129 = $128&65535; - HEAP16[$125>>1] = $129; + } else { + $1037 = HEAP8[$63>>0]|0; + $1038 = ($1037<<24>>24)!=(0); + if (!($1038)) { + break; + } + $1039 = HEAP32[$20>>2]|0; + $1040 = HEAP32[$49>>2]|0; + $1041 = HEAP16[$46>>1]|0; + $1042 = $1041&65535; + $1043 = (($1040) + ($1042))|0; + (_sqlite3VdbeAddOp2($1039,79,0,$1043)|0); + HEAP32[$53>>2] = 0; + $1044 = HEAP32[$55>>2]|0; + $1045 = (($1044) + 1)|0; + HEAP32[$55>>2] = $1045; + } + } while(0); + $1046 = HEAP32[$19>>2]|0; + $1047 = HEAP32[$60>>2]|0; + _sqlite3DbFree($1046,$1047); + $1048 = HEAP32[$19>>2]|0; + $1049 = HEAP32[$61>>2]|0; + _sqlite3DbFree($1048,$1049); + $1050 = HEAP32[$20>>2]|0; + $1051 = (_sqlite3VdbeCurrentAddr($1050)|0); + $1052 = HEAP32[$14>>2]|0; + $1053 = ((($1052)) + 52|0); + HEAP32[$1053>>2] = $1051; + $1054 = HEAP32[$55>>2]|0; + $1055 = ($1054|0)!=(0); + if ($1055) { + $1056 = HEAP32[$13>>2]|0; + $1057 = $1056<<1; + $1058 = HEAP32[$53>>2]|0; + $1059 = (($1057) + ($1058))|0; + $1060 = (34060 + ($1059)|0); + $1061 = HEAP8[$1060>>0]|0; + $1062 = $1061&255; + HEAP32[$59>>2] = $1062; + $1063 = HEAP32[$20>>2]|0; + $1064 = HEAP32[$59>>2]|0; + $1065 = HEAP32[$57>>2]|0; + $1066 = HEAP32[$11>>2]|0; + $1067 = HEAP32[$49>>2]|0; + $1068 = HEAP32[$55>>2]|0; + (_sqlite3VdbeAddOp4Int($1063,$1064,$1065,$1066,$1067,$1068)|0); + } + $1069 = HEAP32[$12>>2]|0; + $1070 = ($1069|0)!=(0); + do { + if (!($1070)) { + $1071 = HEAP32[$56>>2]|0; + $1072 = ((($1071)) + 12|0); + $1073 = HEAP32[$1072>>2]|0; + $1074 = ((($1073)) + 42|0); + $1075 = HEAP8[$1074>>0]|0; + $1076 = $1075&255; + $1077 = $1076 & 32; + $1078 = ($1077|0)==(0); + if ($1078) { + $1079 = HEAP32[$5>>2]|0; + $1080 = ((($1079)) + 40|0); + $1081 = HEAP16[$1080>>1]|0; + $1082 = $1081&65535; + $1083 = $1082 & 1024; + $1084 = ($1083|0)!=(0); + if ($1084) { + $1085 = HEAP32[$18>>2]|0; + $1086 = ((($1085)) + 44|0); + $1087 = HEAP32[$1086>>2]|0; + $1088 = (($1087) + 1)|0; + HEAP32[$1086>>2] = $1088; + HEAP32[$24>>2] = $1088; + $1089 = HEAP32[$20>>2]|0; + $1090 = HEAP32[$57>>2]|0; + $1091 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp2($1089,129,$1090,$1091)|0); + $1092 = HEAP32[$18>>2]|0; + $1093 = HEAP32[$10>>2]|0; + $1094 = HEAP32[$24>>2]|0; + _sqlite3ExprCacheStore($1092,$1093,-1,$1094); + $1095 = HEAP32[$20>>2]|0; + $1096 = HEAP32[$10>>2]|0; + $1097 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp3($1095,33,$1096,0,$1097)|0); + break; + } else { + $1098 = HEAP32[$5>>2]|0; + $1099 = HEAP32[$56>>2]|0; + $1100 = HEAP32[$10>>2]|0; + $1101 = HEAP32[$57>>2]|0; + _codeDeferredSeek($1098,$1099,$1100,$1101); break; } - $130 = HEAP32[$1>>2]|0; - $131 = ((($130)) + 22|0); - $132 = HEAP16[$131>>1]|0; - $133 = (($132) + -1)<<16>>16; - HEAP16[$131>>1] = $133; - $134 = HEAP32[$pTerm>>2]|0; - $135 = ((($134)) + 12|0); - $136 = HEAP16[$135>>1]|0; - $137 = $136&65535; - $138 = $137 & 130; - $139 = ($138|0)!=(0); - if ($139) { - $140 = HEAP32[$pTerm>>2]|0; - $141 = HEAP32[$140>>2]|0; - $142 = ((($141)) + 16|0); - $143 = HEAP32[$142>>2]|0; - HEAP32[$pRight>>2] = $143; - $144 = HEAP32[$pRight>>2]|0; - $145 = (_sqlite3ExprIsInteger($144,$k)|0); - $146 = ($145|0)!=(0); - $147 = HEAP32[$k>>2]|0; - $148 = ($147|0)>=(-1); - $or$cond = $146 & $148; - $149 = HEAP32[$k>>2]|0; - $150 = ($149|0)<=(1); - $or$cond3 = $or$cond & $150; - if ($or$cond3) { - HEAP32[$k>>2] = 10; - } else { - HEAP32[$k>>2] = 20; - } - $151 = HEAP16[$iReduce>>1]|0; - $152 = $151 << 16 >> 16; - $153 = HEAP32[$k>>2]|0; - $154 = ($152|0)<($153|0); - if ($154) { - $155 = HEAP32[$k>>2]|0; - $156 = $155&65535; - HEAP16[$iReduce>>1] = $156; - } + } + $1102 = HEAP32[$10>>2]|0; + $1103 = HEAP32[$57>>2]|0; + $1104 = ($1102|0)!=($1103|0); + if (!($1104)) { + break; + } + $1105 = HEAP32[$56>>2]|0; + $1106 = ((($1105)) + 12|0); + $1107 = HEAP32[$1106>>2]|0; + $1108 = (_sqlite3PrimaryKeyIndex($1107)|0); + HEAP32[$69>>2] = $1108; + $1109 = HEAP32[$18>>2]|0; + $1110 = HEAP32[$69>>2]|0; + $1111 = ((($1110)) + 50|0); + $1112 = HEAP16[$1111>>1]|0; + $1113 = $1112&65535; + $1114 = (_sqlite3GetTempRange($1109,$1113)|0); + HEAP32[$24>>2] = $1114; + HEAP32[$8>>2] = 0; + while(1) { + $1115 = HEAP32[$8>>2]|0; + $1116 = HEAP32[$69>>2]|0; + $1117 = ((($1116)) + 50|0); + $1118 = HEAP16[$1117>>1]|0; + $1119 = $1118&65535; + $1120 = ($1115|0)<($1119|0); + if (!($1120)) { + break; } + $1121 = HEAP32[$56>>2]|0; + $1122 = HEAP32[$69>>2]|0; + $1123 = ((($1122)) + 4|0); + $1124 = HEAP32[$1123>>2]|0; + $1125 = HEAP32[$8>>2]|0; + $1126 = (($1124) + ($1125<<1)|0); + $1127 = HEAP16[$1126>>1]|0; + $1128 = (_sqlite3ColumnOfIndex($1121,$1127)|0); + $1129 = $1128 << 16 >> 16; + HEAP32[$9>>2] = $1129; + $1130 = HEAP32[$20>>2]|0; + $1131 = HEAP32[$57>>2]|0; + $1132 = HEAP32[$9>>2]|0; + $1133 = HEAP32[$24>>2]|0; + $1134 = HEAP32[$8>>2]|0; + $1135 = (($1133) + ($1134))|0; + (_sqlite3VdbeAddOp3($1130,96,$1131,$1132,$1135)|0); + $1136 = HEAP32[$8>>2]|0; + $1137 = (($1136) + 1)|0; + HEAP32[$8>>2] = $1137; + } + $1138 = HEAP32[$20>>2]|0; + $1139 = HEAP32[$10>>2]|0; + $1140 = HEAP32[$23>>2]|0; + $1141 = HEAP32[$24>>2]|0; + $1142 = HEAP32[$69>>2]|0; + $1143 = ((($1142)) + 50|0); + $1144 = HEAP16[$1143>>1]|0; + $1145 = $1144&65535; + (_sqlite3VdbeAddOp4Int($1138,30,$1139,$1140,$1141,$1145)|0); + } + } while(0); + $1146 = HEAP32[$15>>2]|0; + $1147 = ((($1146)) + 36|0); + $1148 = HEAP32[$1147>>2]|0; + $1149 = $1148 & 4096; + $1150 = ($1149|0)!=(0); + if ($1150) { + $1151 = HEAP32[$14>>2]|0; + $1152 = ((($1151)) + 45|0); + HEAP8[$1152>>0] = -95; + } else { + $1153 = HEAP32[$13>>2]|0; + $1154 = ($1153|0)!=(0); + $1155 = HEAP32[$14>>2]|0; + $1156 = ((($1155)) + 45|0); + $$sink = $1154 ? 6 : 7; + HEAP8[$1156>>0] = $$sink; + } + $1157 = HEAP32[$57>>2]|0; + $1158 = HEAP32[$14>>2]|0; + $1159 = ((($1158)) + 48|0); + HEAP32[$1159>>2] = $1157; + $1160 = HEAP32[$15>>2]|0; + $1161 = ((($1160)) + 36|0); + $1162 = HEAP32[$1161>>2]|0; + $1163 = $1162 & 65536; + $1164 = ($1163|0)!=(0); + $1165 = $1164 ? 1 : 0; + $1166 = $1165&255; + $1167 = HEAP32[$14>>2]|0; + $1168 = ((($1167)) + 46|0); + HEAP8[$1168>>0] = $1166; + $1169 = HEAP32[$15>>2]|0; + $1170 = ((($1169)) + 36|0); + $1171 = HEAP32[$1170>>2]|0; + $1172 = $1171 & 15; + $1173 = ($1172|0)==(0); + if (!($1173)) { + break; + } + $1174 = HEAP32[$14>>2]|0; + $1175 = ((($1174)) + 47|0); + HEAP8[$1175>>0] = 1; + } + } while(0); + $1625 = HEAP32[$16>>2]|0; + $1626 = ((($1625)) + 20|0); + $1627 = HEAP32[$1626>>2]|0; + HEAP32[$17>>2] = $1627; + $1628 = HEAP32[$16>>2]|0; + $1629 = ((($1628)) + 12|0); + $1630 = HEAP32[$1629>>2]|0; + HEAP32[$8>>2] = $1630; + while(1) { + $1631 = HEAP32[$8>>2]|0; + $1632 = ($1631|0)>(0); + if (!($1632)) { + break; + } + HEAP32[$102>>2] = 0; + $1633 = HEAP32[$17>>2]|0; + $1634 = ((($1633)) + 10|0); + $1635 = HEAP16[$1634>>1]|0; + $1636 = $1635&65535; + $1637 = $1636 & 6; + $1638 = ($1637|0)!=(0); + do { + if (!($1638)) { + $1639 = HEAP32[$17>>2]|0; + $1640 = ((($1639)) + 40|0); + $1641 = $1640; + $1642 = $1641; + $1643 = HEAP32[$1642>>2]|0; + $1644 = (($1641) + 4)|0; + $1645 = $1644; + $1646 = HEAP32[$1645>>2]|0; + $1647 = HEAP32[$14>>2]|0; + $1648 = ((($1647)) + 72|0); + $1649 = $1648; + $1650 = $1649; + $1651 = HEAP32[$1650>>2]|0; + $1652 = (($1649) + 4)|0; + $1653 = $1652; + $1654 = HEAP32[$1653>>2]|0; + $1655 = $1643 & $1651; + $1656 = $1646 & $1654; + $1657 = ($1655|0)!=(0); + $1658 = ($1656|0)!=(0); + $1659 = $1657 | $1658; + if ($1659) { + $1660 = HEAP32[$5>>2]|0; + $1661 = ((($1660)) + 46|0); + HEAP8[$1661>>0] = 1; + break; + } + $1662 = HEAP32[$17>>2]|0; + $1663 = HEAP32[$1662>>2]|0; + HEAP32[$101>>2] = $1663; + $1664 = HEAP32[$14>>2]|0; + $1665 = HEAP32[$1664>>2]|0; + $1666 = ($1665|0)!=(0); + if ($1666) { + $1667 = HEAP32[$101>>2]|0; + $1668 = ((($1667)) + 4|0); + $1669 = HEAP32[$1668>>2]|0; + $1670 = $1669 & 1; + $1671 = ($1670|0)!=(0); + if (!($1671)) { + break; } } + $1672 = HEAP32[$17>>2]|0; + $1673 = ((($1672)) + 10|0); + $1674 = HEAP16[$1673>>1]|0; + $1675 = $1674&65535; + $1676 = $1675 & 512; + $1677 = ($1676|0)!=(0); + if ($1677) { + $1678 = HEAP32[$14>>2]|0; + $1679 = ((($1678)) + 36|0); + $1680 = HEAP32[$1679>>2]|0; + HEAP32[$103>>2] = $1680; + $1681 = HEAP32[$20>>2]|0; + $1682 = HEAP32[$103>>2]|0; + $1683 = $1682 & 1; + $1684 = ($1683|0)!=(0); + $1685 = $1684 ? 22 : 21; + $1686 = HEAP32[$103>>2]|0; + $1687 = $1686 >>> 1; + $1688 = (_sqlite3VdbeAddOp1($1681,$1685,$1687)|0); + HEAP32[$102>>2] = $1688; + } + $1689 = HEAP32[$18>>2]|0; + $1690 = HEAP32[$101>>2]|0; + $1691 = HEAP32[$23>>2]|0; + _sqlite3ExprIfFalse($1689,$1690,$1691,16); + $1692 = HEAP32[$102>>2]|0; + $1693 = ($1692|0)!=(0); + if ($1693) { + $1694 = HEAP32[$20>>2]|0; + $1695 = HEAP32[$102>>2]|0; + _sqlite3VdbeJumpHere($1694,$1695); + } + $1696 = HEAP32[$17>>2]|0; + $1697 = ((($1696)) + 10|0); + $1698 = HEAP16[$1697>>1]|0; + $1699 = $1698&65535; + $1700 = $1699 | 4; + $1701 = $1700&65535; + HEAP16[$1697>>1] = $1701; } } while(0); - $157 = HEAP32[$i>>2]|0; - $158 = (($157) + -1)|0; - HEAP32[$i>>2] = $158; - $159 = HEAP32[$pTerm>>2]|0; - $160 = ((($159)) + 48|0); - HEAP32[$pTerm>>2] = $160; - } - $161 = HEAP32[$1>>2]|0; - $162 = ((($161)) + 22|0); - $163 = HEAP16[$162>>1]|0; - $164 = $163 << 16 >> 16; - $165 = HEAP16[$2>>1]|0; - $166 = $165 << 16 >> 16; - $167 = HEAP16[$iReduce>>1]|0; - $168 = $167 << 16 >> 16; - $169 = (($166) - ($168))|0; - $170 = ($164|0)>($169|0); - if (!($170)) { - STACKTOP = sp;return; - } - $171 = HEAP16[$2>>1]|0; - $172 = $171 << 16 >> 16; - $173 = HEAP16[$iReduce>>1]|0; - $174 = $173 << 16 >> 16; - $175 = (($172) - ($174))|0; - $176 = $175&65535; - $177 = HEAP32[$1>>2]|0; - $178 = ((($177)) + 22|0); - HEAP16[$178>>1] = $176; - STACKTOP = sp;return; -} -function _columnsInIndex($pIdx) { - $pIdx = $pIdx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $j = 0, $m = 0, $or$cond = 0, $x = 0, label = 0, sp = 0; + $1702 = HEAP32[$8>>2]|0; + $1703 = (($1702) + -1)|0; + HEAP32[$8>>2] = $1703; + $1704 = HEAP32[$17>>2]|0; + $1705 = ((($1704)) + 48|0); + HEAP32[$17>>2] = $1705; + } + $1706 = HEAP32[$16>>2]|0; + $1707 = ((($1706)) + 20|0); + $1708 = HEAP32[$1707>>2]|0; + HEAP32[$17>>2] = $1708; + $1709 = HEAP32[$16>>2]|0; + $1710 = ((($1709)) + 12|0); + $1711 = HEAP32[$1710>>2]|0; + HEAP32[$8>>2] = $1711; + while(1) { + $1712 = HEAP32[$8>>2]|0; + $1713 = ($1712|0)>(0); + if (!($1713)) { + break; + } + $1714 = HEAP32[$17>>2]|0; + $1715 = ((($1714)) + 10|0); + $1716 = HEAP16[$1715>>1]|0; + $1717 = $1716&65535; + $1718 = $1717 & 6; + $1719 = ($1718|0)!=(0); + if (!($1719)) { + $1720 = HEAP32[$17>>2]|0; + $1721 = ((($1720)) + 12|0); + $1722 = HEAP16[$1721>>1]|0; + $1723 = $1722&65535; + $1724 = $1723 & 130; + $1725 = ($1724|0)==(0); + if (!($1725)) { + $1726 = HEAP32[$17>>2]|0; + $1727 = ((($1726)) + 12|0); + $1728 = HEAP16[$1727>>1]|0; + $1729 = $1728&65535; + $1730 = $1729 & 2048; + $1731 = ($1730|0)==(0); + if (!($1731)) { + $1732 = HEAP32[$17>>2]|0; + $1733 = ((($1732)) + 20|0); + $1734 = HEAP32[$1733>>2]|0; + $1735 = HEAP32[$10>>2]|0; + $1736 = ($1734|0)!=($1735|0); + if (!($1736)) { + $1737 = HEAP32[$14>>2]|0; + $1738 = HEAP32[$1737>>2]|0; + $1739 = ($1738|0)!=(0); + if (!($1739)) { + $1740 = HEAP32[$17>>2]|0; + $1741 = HEAP32[$1740>>2]|0; + HEAP32[$104>>2] = $1741; + $1742 = HEAP32[$16>>2]|0; + $1743 = HEAP32[$10>>2]|0; + $1744 = HEAP32[$17>>2]|0; + $1745 = ((($1744)) + 28|0); + $1746 = HEAP32[$1745>>2]|0; + $1747 = $7; + $1748 = $1747; + $1749 = HEAP32[$1748>>2]|0; + $1750 = (($1747) + 4)|0; + $1751 = $1750; + $1752 = HEAP32[$1751>>2]|0; + $1753 = (_sqlite3WhereFindTerm($1742,$1743,$1746,$1749,$1752,131,0)|0); + HEAP32[$106>>2] = $1753; + $1754 = HEAP32[$106>>2]|0; + $1755 = ($1754|0)==(0|0); + if (!($1755)) { + $1756 = HEAP32[$106>>2]|0; + $1757 = ((($1756)) + 10|0); + $1758 = HEAP16[$1757>>1]|0; + $1759 = $1758&65535; + $1760 = $1759 & 4; + $1761 = ($1760|0)!=(0); + if (!($1761)) { + $1762 = HEAP32[$106>>2]|0; + $1763 = HEAP32[$1762>>2]|0; + dest=$105; src=$1763; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $1764 = HEAP32[$104>>2]|0; + $1765 = ((($1764)) + 12|0); + $1766 = HEAP32[$1765>>2]|0; + $1767 = ((($105)) + 12|0); + HEAP32[$1767>>2] = $1766; + $1768 = HEAP32[$18>>2]|0; + $1769 = HEAP32[$23>>2]|0; + _sqlite3ExprIfFalse($1768,$105,$1769,16); + } + } + } + } + } + } + } + $1770 = HEAP32[$8>>2]|0; + $1771 = (($1770) + -1)|0; + HEAP32[$8>>2] = $1771; + $1772 = HEAP32[$17>>2]|0; + $1773 = ((($1772)) + 48|0); + HEAP32[$17>>2] = $1773; + } + $1774 = HEAP32[$14>>2]|0; + $1775 = HEAP32[$1774>>2]|0; + $1776 = ($1775|0)!=(0); + L321: do { + if ($1776) { + $1777 = HEAP32[$20>>2]|0; + $1778 = (_sqlite3VdbeCurrentAddr($1777)|0); + $1779 = HEAP32[$14>>2]|0; + $1780 = ((($1779)) + 28|0); + HEAP32[$1780>>2] = $1778; + $1781 = HEAP32[$20>>2]|0; + $1782 = HEAP32[$14>>2]|0; + $1783 = HEAP32[$1782>>2]|0; + (_sqlite3VdbeAddOp2($1781,76,1,$1783)|0); + $1784 = HEAP32[$18>>2]|0; + _sqlite3ExprCacheClear($1784); + $1785 = HEAP32[$16>>2]|0; + $1786 = ((($1785)) + 20|0); + $1787 = HEAP32[$1786>>2]|0; + HEAP32[$17>>2] = $1787; + HEAP32[$8>>2] = 0; + while(1) { + $1788 = HEAP32[$8>>2]|0; + $1789 = HEAP32[$16>>2]|0; + $1790 = ((($1789)) + 12|0); + $1791 = HEAP32[$1790>>2]|0; + $1792 = ($1788|0)<($1791|0); + if (!($1792)) { + break L321; + } + $1793 = HEAP32[$17>>2]|0; + $1794 = ((($1793)) + 10|0); + $1795 = HEAP16[$1794>>1]|0; + $1796 = $1795&65535; + $1797 = $1796 & 6; + $1798 = ($1797|0)!=(0); + if (!($1798)) { + $1799 = HEAP32[$17>>2]|0; + $1800 = ((($1799)) + 40|0); + $1801 = $1800; + $1802 = $1801; + $1803 = HEAP32[$1802>>2]|0; + $1804 = (($1801) + 4)|0; + $1805 = $1804; + $1806 = HEAP32[$1805>>2]|0; + $1807 = HEAP32[$14>>2]|0; + $1808 = ((($1807)) + 72|0); + $1809 = $1808; + $1810 = $1809; + $1811 = HEAP32[$1810>>2]|0; + $1812 = (($1809) + 4)|0; + $1813 = $1812; + $1814 = HEAP32[$1813>>2]|0; + $1815 = $1803 & $1811; + $1816 = $1806 & $1814; + $1817 = ($1815|0)!=(0); + $1818 = ($1816|0)!=(0); + $1819 = $1817 | $1818; + if (!($1819)) { + $1820 = HEAP32[$18>>2]|0; + $1821 = HEAP32[$17>>2]|0; + $1822 = HEAP32[$1821>>2]|0; + $1823 = HEAP32[$23>>2]|0; + _sqlite3ExprIfFalse($1820,$1822,$1823,16); + $1824 = HEAP32[$17>>2]|0; + $1825 = ((($1824)) + 10|0); + $1826 = HEAP16[$1825>>1]|0; + $1827 = $1826&65535; + $1828 = $1827 | 4; + $1829 = $1828&65535; + HEAP16[$1825>>1] = $1829; + } + } + $1830 = HEAP32[$8>>2]|0; + $1831 = (($1830) + 1)|0; + HEAP32[$8>>2] = $1831; + $1832 = HEAP32[$17>>2]|0; + $1833 = ((($1832)) + 48|0); + HEAP32[$17>>2] = $1833; + } + } + } while(0); + $1834 = HEAP32[$14>>2]|0; + $1835 = ((($1834)) + 72|0); + $1836 = $1835; + $1837 = $1836; + $1838 = HEAP32[$1837>>2]|0; + $1839 = (($1836) + 4)|0; + $1840 = $1839; + $1841 = HEAP32[$1840>>2]|0; + $1842 = $4; + $1843 = $1842; + HEAP32[$1843>>2] = $1838; + $1844 = (($1842) + 4)|0; + $1845 = $1844; + HEAP32[$1845>>2] = $1841; + $1846 = $4; + $1847 = $1846; + $1848 = HEAP32[$1847>>2]|0; + $1849 = (($1846) + 4)|0; + $1850 = $1849; + $1851 = HEAP32[$1850>>2]|0; + tempRet0 = ($1851); + STACKTOP = sp;return ($1848|0); +} +function _sqlite3WhereGetMask($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $m = sp; - $j = sp + 12|0; - $x = sp + 8|0; - HEAP32[$0>>2] = $pIdx; - $1 = $m; - $2 = $1; - HEAP32[$2>>2] = 0; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 52|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = (($8) - 1)|0; - HEAP32[$j>>2] = $9; + $2 = sp; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; while(1) { - $10 = HEAP32[$j>>2]|0; - $11 = ($10|0)>=(0); - if (!($11)) { + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($6|0)<($8|0); + if (!($9)) { + label = 6; break; } - $12 = HEAP32[$j>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($12<<1)|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17 << 16 >> 16; - HEAP32[$x>>2] = $18; - $19 = HEAP32[$x>>2]|0; - $20 = ($19|0)>=(0); - $21 = HEAP32[$x>>2]|0; - $22 = ($21|0)<(63); - $or$cond = $20 & $22; - if ($or$cond) { - $23 = HEAP32[$x>>2]|0; - $24 = (_bitshift64Shl(1,0,($23|0))|0); - $25 = tempRet0; - $26 = $m; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = $28 | $24; - $33 = $31 | $25; - $34 = $m; - $35 = $34; - HEAP32[$35>>2] = $32; - $36 = (($34) + 4)|0; - $37 = $36; - HEAP32[$37>>2] = $33; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$5>>2]|0; + $13 = (($11) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ($14|0)==($15|0); + $17 = HEAP32[$5>>2]|0; + if ($16) { + label = 4; + break; } - $38 = HEAP32[$j>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$j>>2] = $39; + $24 = (($17) + 1)|0; + HEAP32[$5>>2] = $24; } - $40 = $m; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (($40) + 4)|0; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - tempRet0 = ($45); - STACKTOP = sp;return ($42|0); -} -function _sqlite3ExprCoveredByIndex($pExpr,$iCur,$pIdx) { - $pExpr = $pExpr|0; - $iCur = $iCur|0; - $pIdx = $pIdx|0; - var $0 = 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, $w = 0, $xcov = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $w = sp + 8|0; - $xcov = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $iCur; - HEAP32[$2>>2] = $pIdx; - ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0;HEAP32[$w+24>>2]=0|0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($xcov)) + 4|0); - HEAP32[$4>>2] = $3; - $5 = HEAP32[$2>>2]|0; - HEAP32[$xcov>>2] = $5; - $6 = ((($w)) + 4|0); - HEAP32[$6>>2] = 199; - $7 = ((($w)) + 24|0); - HEAP32[$7>>2] = $xcov; - $8 = HEAP32[$0>>2]|0; - (_sqlite3WalkExpr($w,$8)|0); - $9 = ((($w)) + 20|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)!=(0); - $12 = $11 ^ 1; - $13 = $12&1; - STACKTOP = sp;return ($13|0); + if ((label|0) == 4) { + $18 = (_bitshift64Shl(1,0,($17|0))|0); + $19 = tempRet0; + $20 = $2; + $21 = $20; + HEAP32[$21>>2] = $18; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; + $29 = $2; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + tempRet0 = ($34); + STACKTOP = sp;return ($31|0); + } + else if ((label|0) == 6) { + $25 = $2; + $26 = $25; + HEAP32[$26>>2] = 0; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = 0; + $29 = $2; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + tempRet0 = ($34); + STACKTOP = sp;return ($31|0); + } + return (0)|0; } -function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { - $pBuilder = $pBuilder|0; - $pSrc = $pSrc|0; - $pProbe = $pProbe|0; - $nInMul = $nInMul|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; +function _codeEqualityTerm($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$sink = 0, $$sink2 = 0, $$sink3 = 0, $$sink5 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $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, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; - var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0; - var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0; - var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0; - var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; - var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; - var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; - var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; - var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; - var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; - var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0; - var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $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, $db = 0; - var $eOp = 0, $i = 0, $iCol = 0, $nEq = 0, $nIn = 0, $nIter = 0, $nOutUnadjusted = 0, $opMask = 0, $pBtm = 0, $pExpr = 0, $pNew = 0, $pParse = 0, $pTerm = 0, $pTop = 0, $pWInfo = 0, $rCostIdx = 0, $rLogSize = 0, $rSize = 0, $rc = 0, $saved_nBtm = 0; - var $saved_nEq = 0, $saved_nLTerm = 0, $saved_nOut = 0, $saved_nSkip = 0, $saved_nTop = 0, $saved_prereq = 0, $saved_wsFlags = 0, $scan = 0, label = 0, sp = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $0 = sp + 180|0; - $1 = sp + 176|0; - $2 = sp + 172|0; - $3 = sp + 168|0; - $4 = sp + 208|0; - $pWInfo = sp + 164|0; - $pParse = sp + 160|0; - $db = sp + 156|0; - $pNew = sp + 152|0; - $pTerm = sp + 148|0; - $opMask = sp + 144|0; - $scan = sp + 48|0; - $saved_prereq = sp; - $saved_nLTerm = sp + 206|0; - $saved_nEq = sp + 204|0; - $saved_nBtm = sp + 202|0; - $saved_nTop = sp + 200|0; - $saved_nSkip = sp + 198|0; - $saved_wsFlags = sp + 40|0; - $saved_nOut = sp + 196|0; - $rc = sp + 36|0; - $rSize = sp + 194|0; - $rLogSize = sp + 192|0; - $pTop = sp + 32|0; - $pBtm = sp + 28|0; - $eOp = sp + 190|0; - $rCostIdx = sp + 188|0; - $nOutUnadjusted = sp + 186|0; - $nIn = sp + 24|0; - $pExpr = sp + 20|0; - $i = sp + 16|0; - $iCol = sp + 12|0; - $nEq = sp + 8|0; - $nIter = sp + 184|0; - HEAP32[$1>>2] = $pBuilder; - HEAP32[$2>>2] = $pSrc; - HEAP32[$3>>2] = $pProbe; - HEAP16[$4>>1] = $nInMul; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$pWInfo>>2] = $6; - $7 = HEAP32[$pWInfo>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$pParse>>2] = $8; - $9 = HEAP32[$pParse>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$db>>2] = $10; - HEAP32[$rc>>2] = 0; - HEAP32[$pTop>>2] = 0; - HEAP32[$pBtm>>2] = 0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pNew>>2] = $13; - $14 = HEAP32[$db>>2]|0; - $15 = ((($14)) + 69|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if ($17) { - HEAP32[$0>>2] = 7; - $758 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($758|0); - } - $18 = HEAP32[$pNew>>2]|0; - $19 = ((($18)) + 36|0); - $20 = HEAP32[$19>>2]|0; - $21 = $20 & 32; - $22 = ($21|0)!=(0); - if ($22) { - HEAP32[$opMask>>2] = 24; - } else { - HEAP32[$opMask>>2] = 447; - } - $23 = HEAP32[$3>>2]|0; - $24 = ((($23)) + 55|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25&255) >>> 2; - $27 = $26 & 1; - $28 = $27&255; - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$opMask>>2]|0; - $31 = $30 & -61; - HEAP32[$opMask>>2] = $31; - } - $32 = HEAP32[$pNew>>2]|0; - $33 = ((($32)) + 24|0); - $34 = HEAP16[$33>>1]|0; - HEAP16[$saved_nEq>>1] = $34; - $35 = HEAP32[$pNew>>2]|0; - $36 = ((($35)) + 24|0); - $37 = ((($36)) + 2|0); - $38 = HEAP16[$37>>1]|0; - HEAP16[$saved_nBtm>>1] = $38; - $39 = HEAP32[$pNew>>2]|0; - $40 = ((($39)) + 24|0); - $41 = ((($40)) + 4|0); - $42 = HEAP16[$41>>1]|0; - HEAP16[$saved_nTop>>1] = $42; - $43 = HEAP32[$pNew>>2]|0; - $44 = ((($43)) + 42|0); - $45 = HEAP16[$44>>1]|0; - HEAP16[$saved_nSkip>>1] = $45; - $46 = HEAP32[$pNew>>2]|0; - $47 = ((($46)) + 40|0); - $48 = HEAP16[$47>>1]|0; - HEAP16[$saved_nLTerm>>1] = $48; - $49 = HEAP32[$pNew>>2]|0; - $50 = ((($49)) + 36|0); - $51 = HEAP32[$50>>2]|0; - HEAP32[$saved_wsFlags>>2] = $51; - $52 = HEAP32[$pNew>>2]|0; - $53 = $52; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (($53) + 4)|0; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = $saved_prereq; - $60 = $59; - HEAP32[$60>>2] = $55; - $61 = (($59) + 4)|0; - $62 = $61; - HEAP32[$62>>2] = $58; - $63 = HEAP32[$pNew>>2]|0; - $64 = ((($63)) + 22|0); - $65 = HEAP16[$64>>1]|0; - HEAP16[$saved_nOut>>1] = $65; - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 4|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$2>>2]|0; - $70 = ((($69)) + 44|0); - $71 = HEAP32[$70>>2]|0; - $72 = HEAP16[$saved_nEq>>1]|0; - $73 = $72&65535; - $74 = HEAP32[$opMask>>2]|0; - $75 = HEAP32[$3>>2]|0; - $76 = (_whereScanInit($scan,$68,$71,$73,$74,$75)|0); - HEAP32[$pTerm>>2] = $76; - $77 = HEAP32[$pNew>>2]|0; - $78 = ((($77)) + 18|0); - HEAP16[$78>>1] = 0; - $79 = HEAP32[$3>>2]|0; - $80 = ((($79)) + 8|0); - $81 = HEAP32[$80>>2]|0; - $82 = HEAP16[$81>>1]|0; - HEAP16[$rSize>>1] = $82; - $83 = HEAP16[$rSize>>1]|0; - $84 = (_estLog($83)|0); - HEAP16[$rLogSize>>1] = $84; - L12: while(1) { - $85 = HEAP32[$rc>>2]|0; - $86 = ($85|0)==(0); - $87 = HEAP32[$pTerm>>2]|0; - $88 = ($87|0)!=(0|0); - $89 = $86 ? $88 : 0; - if (!($89)) { - break; - } - $90 = HEAP32[$pTerm>>2]|0; - $91 = ((($90)) + 12|0); - $92 = HEAP16[$91>>1]|0; - HEAP16[$eOp>>1] = $92; - HEAP32[$nIn>>2] = 0; - $93 = HEAP16[$eOp>>1]|0; - $94 = $93&65535; - $95 = ($94|0)==(256); - if ($95) { - label = 12; + STACKTOP = STACKTOP + 128|0; + $6 = sp + 120|0; + $7 = sp + 116|0; + $8 = sp + 112|0; + $9 = sp + 108|0; + $10 = sp + 104|0; + $11 = sp + 100|0; + $12 = sp + 96|0; + $13 = sp + 92|0; + $14 = sp + 88|0; + $15 = sp + 84|0; + $16 = sp + 80|0; + $17 = sp + 76|0; + $18 = sp + 72|0; + $19 = sp + 68|0; + $20 = sp + 64|0; + $21 = sp + 60|0; + $22 = sp + 56|0; + $23 = sp + 52|0; + $24 = sp + 48|0; + $25 = sp + 44|0; + $26 = sp + 40|0; + $27 = sp + 36|0; + $28 = sp + 32|0; + $29 = sp + 28|0; + $30 = sp + 24|0; + $31 = sp + 20|0; + $32 = sp + 16|0; + $33 = sp + 12|0; + $34 = sp + 8|0; + $35 = sp + 4|0; + $36 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[$37>>2]|0; + HEAP32[$13>>2] = $38; + $39 = HEAP32[$7>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$14>>2] = $41; + $42 = HEAP32[$13>>2]|0; + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + $45 = ($44|0)==(37); + do { + if ($45) { + label = 3; } else { - $96 = HEAP32[$pTerm>>2]|0; - $97 = ((($96)) + 10|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = $99 & 0; - $101 = ($100|0)!=(0); - if ($101) { - label = 12; + $46 = HEAP32[$13>>2]|0; + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = ($48|0)==(29); + if ($49) { + label = 3; } else { - label = 13; - } - } - if ((label|0) == 12) { - label = 0; - $102 = HEAP32[$3>>2]|0; - $103 = HEAP16[$saved_nEq>>1]|0; - $104 = $103&65535; - $105 = (_indexColumnNotNull($102,$104)|0); - $106 = ($105|0)!=(0); - if (!($106)) { - label = 13; - } - } - do { - if ((label|0) == 13) { - label = 0; - $107 = HEAP32[$pTerm>>2]|0; - $108 = ((($107)) + 32|0); - $109 = $108; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = (($109) + 4)|0; - $113 = $112; - $114 = HEAP32[$113>>2]|0; - $115 = HEAP32[$pNew>>2]|0; - $116 = ((($115)) + 8|0); - $117 = $116; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = $111 & $119; - $124 = $114 & $122; - $125 = ($123|0)!=(0); - $126 = ($124|0)!=(0); - $127 = $125 | $126; - if (!($127)) { - $128 = HEAP32[$pTerm>>2]|0; - $129 = ((($128)) + 10|0); - $130 = HEAP16[$129>>1]|0; - $131 = $130&65535; - $132 = $131 & 256; - $133 = ($132|0)!=(0); - if ($133) { - $134 = HEAP32[$pTerm>>2]|0; - $135 = ((($134)) + 12|0); - $136 = HEAP16[$135>>1]|0; - $137 = $136&65535; - $138 = ($137|0)==(16); - if ($138) { - break; + $56 = HEAP32[$13>>2]|0; + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = ($58|0)==(34); + if ($59) { + $60 = HEAP32[$12>>2]|0; + HEAP32[$15>>2] = $60; + $61 = HEAP32[$14>>2]|0; + $62 = HEAP32[$15>>2]|0; + (_sqlite3VdbeAddOp2($61,79,0,$62)|0); + break; + } + HEAP32[$16>>2] = 5; + $63 = HEAP32[$9>>2]|0; + $64 = ((($63)) + 64|0); + $65 = HEAP32[$64>>2]|0; + HEAP32[$19>>2] = $65; + HEAP32[$21>>2] = 0; + HEAP32[$22>>2] = 0; + $66 = HEAP32[$19>>2]|0; + $67 = ((($66)) + 36|0); + $68 = HEAP32[$67>>2]|0; + $69 = $68 & 1024; + $70 = ($69|0)==(0); + if ($70) { + $71 = HEAP32[$19>>2]|0; + $72 = ((($71)) + 24|0); + $73 = ((($72)) + 8|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)!=(0|0); + if ($75) { + $76 = HEAP32[$19>>2]|0; + $77 = ((($76)) + 24|0); + $78 = ((($77)) + 8|0); + $79 = HEAP32[$78>>2]|0; + $80 = ((($79)) + 28|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$10>>2]|0; + $83 = (($81) + ($82)|0); + $84 = HEAP8[$83>>0]|0; + $85 = $84&255; + $86 = ($85|0)!=(0); + if ($86) { + $87 = HEAP32[$11>>2]|0; + $88 = ($87|0)!=(0); + $89 = $88 ^ 1; + $90 = $89&1; + HEAP32[$11>>2] = $90; } } - $139 = HEAP32[$2>>2]|0; - $140 = ((($139)) + 36|0); - $141 = HEAP8[$140>>0]|0; - $142 = $141&255; - $143 = $142 & 8; - $144 = ($143|0)!=(0); - if ($144) { - $145 = HEAP32[$pTerm>>2]|0; - $146 = HEAP32[$145>>2]|0; - $147 = ((($146)) + 4|0); - $148 = HEAP32[$147>>2]|0; - $149 = $148 & 1; - $150 = ($149|0)!=(0); - if (!($150)) { - $151 = HEAP16[$eOp>>1]|0; - $152 = $151&65535; - $153 = $152 & 384; - $154 = ($153|0)!=(0); - if ($154) { - break; - } + } + $91 = HEAP32[$12>>2]|0; + HEAP32[$15>>2] = $91; + HEAP32[$20>>2] = 0; + while(1) { + $92 = HEAP32[$20>>2]|0; + $93 = HEAP32[$10>>2]|0; + $94 = ($92|0)<($93|0); + if (!($94)) { + break; + } + $95 = HEAP32[$19>>2]|0; + $96 = ((($95)) + 48|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$20>>2]|0; + $99 = (($97) + ($98<<2)|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)!=(0|0); + if ($101) { + $102 = HEAP32[$19>>2]|0; + $103 = ((($102)) + 48|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$20>>2]|0; + $106 = (($104) + ($105<<2)|0); + $107 = HEAP32[$106>>2]|0; + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$13>>2]|0; + $110 = ($108|0)==($109|0); + if ($110) { + label = 14; + break; } } - $155 = HEAP32[$saved_wsFlags>>2]|0; - $156 = HEAP32[$pNew>>2]|0; - $157 = ((($156)) + 36|0); - HEAP32[$157>>2] = $155; - $158 = HEAP16[$saved_nEq>>1]|0; - $159 = HEAP32[$pNew>>2]|0; - $160 = ((($159)) + 24|0); - HEAP16[$160>>1] = $158; - $161 = HEAP16[$saved_nBtm>>1]|0; - $162 = HEAP32[$pNew>>2]|0; - $163 = ((($162)) + 24|0); - $164 = ((($163)) + 2|0); - HEAP16[$164>>1] = $161; - $165 = HEAP16[$saved_nTop>>1]|0; - $166 = HEAP32[$pNew>>2]|0; - $167 = ((($166)) + 24|0); - $168 = ((($167)) + 4|0); - HEAP16[$168>>1] = $165; - $169 = HEAP16[$saved_nLTerm>>1]|0; - $170 = HEAP32[$pNew>>2]|0; - $171 = ((($170)) + 40|0); - HEAP16[$171>>1] = $169; - $172 = HEAP32[$db>>2]|0; - $173 = HEAP32[$pNew>>2]|0; - $174 = HEAP32[$pNew>>2]|0; - $175 = ((($174)) + 40|0); - $176 = HEAP16[$175>>1]|0; - $177 = $176&65535; - $178 = (($177) + 1)|0; - $179 = (_whereLoopResize($172,$173,$178)|0); - $180 = ($179|0)!=(0); - if ($180) { - break L12; + $114 = HEAP32[$20>>2]|0; + $115 = (($114) + 1)|0; + HEAP32[$20>>2] = $115; + } + if ((label|0) == 14) { + $111 = HEAP32[$9>>2]|0; + $112 = HEAP32[$8>>2]|0; + _disableTerm($111,$112); + $113 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $113; + $408 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($408|0); + } + $116 = HEAP32[$10>>2]|0; + HEAP32[$20>>2] = $116; + while(1) { + $117 = HEAP32[$20>>2]|0; + $118 = HEAP32[$19>>2]|0; + $119 = ((($118)) + 40|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120&65535; + $122 = ($117|0)<($121|0); + if (!($122)) { + break; } - $181 = HEAP32[$pTerm>>2]|0; - $182 = HEAP32[$pNew>>2]|0; - $183 = ((($182)) + 40|0); - $184 = HEAP16[$183>>1]|0; - $185 = (($184) + 1)<<16>>16; - HEAP16[$183>>1] = $185; - $186 = $184&65535; - $187 = HEAP32[$pNew>>2]|0; - $188 = ((($187)) + 48|0); - $189 = HEAP32[$188>>2]|0; - $190 = (($189) + ($186<<2)|0); - HEAP32[$190>>2] = $181; - $191 = $saved_prereq; - $192 = $191; - $193 = HEAP32[$192>>2]|0; - $194 = (($191) + 4)|0; - $195 = $194; - $196 = HEAP32[$195>>2]|0; - $197 = HEAP32[$pTerm>>2]|0; - $198 = ((($197)) + 32|0); - $199 = $198; - $200 = $199; - $201 = HEAP32[$200>>2]|0; - $202 = (($199) + 4)|0; - $203 = $202; - $204 = HEAP32[$203>>2]|0; - $205 = $193 | $201; - $206 = $196 | $204; - $207 = HEAP32[$pNew>>2]|0; - $208 = ((($207)) + 8|0); - $209 = $208; - $210 = $209; - $211 = HEAP32[$210>>2]|0; - $212 = (($209) + 4)|0; - $213 = $212; - $214 = HEAP32[$213>>2]|0; - $215 = $211 ^ -1; - $216 = $214 ^ -1; - $217 = $205 & $215; - $218 = $206 & $216; - $219 = HEAP32[$pNew>>2]|0; - $220 = $219; - $221 = $220; - HEAP32[$221>>2] = $217; - $222 = (($220) + 4)|0; - $223 = $222; - HEAP32[$223>>2] = $218; - $224 = HEAP16[$eOp>>1]|0; - $225 = $224&65535; - $226 = $225 & 1; - $227 = ($226|0)!=(0); - L30: do { - if ($227) { - $228 = HEAP32[$pTerm>>2]|0; - $229 = HEAP32[$228>>2]|0; - HEAP32[$pExpr>>2] = $229; - $230 = HEAP32[$pNew>>2]|0; - $231 = ((($230)) + 36|0); - $232 = HEAP32[$231>>2]|0; - $233 = $232 | 4; - HEAP32[$231>>2] = $233; - $234 = HEAP32[$pExpr>>2]|0; - $235 = ((($234)) + 4|0); - $236 = HEAP32[$235>>2]|0; - $237 = $236 & 2048; - $238 = ($237|0)!=(0); - if (!($238)) { - $264 = HEAP32[$pExpr>>2]|0; - $265 = ((($264)) + 20|0); - $266 = HEAP32[$265>>2]|0; - $267 = ($266|0)!=(0|0); - if (!($267)) { - break; - } - $268 = HEAP32[$pExpr>>2]|0; - $269 = ((($268)) + 20|0); - $270 = HEAP32[$269>>2]|0; - $271 = HEAP32[$270>>2]|0; - $272 = ($271|0)!=(0); - if (!($272)) { - break; - } - $273 = HEAP32[$pExpr>>2]|0; - $274 = ((($273)) + 20|0); - $275 = HEAP32[$274>>2]|0; - $276 = HEAP32[$275>>2]|0; - $277 = ($276|0)<(0); - $278 = $277 << 31 >> 31; - $279 = (_sqlite3LogEst($276,$278)|0); - $280 = $279 << 16 >> 16; - HEAP32[$nIn>>2] = $280; + $123 = HEAP32[$19>>2]|0; + $124 = ((($123)) + 48|0); + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$20>>2]|0; + $127 = (($125) + ($126<<2)|0); + $128 = HEAP32[$127>>2]|0; + $129 = ($128|0)!=(0|0); + if ($129) { + $130 = HEAP32[$19>>2]|0; + $131 = ((($130)) + 48|0); + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$20>>2]|0; + $134 = (($132) + ($133<<2)|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$135>>2]|0; + $137 = HEAP32[$13>>2]|0; + $138 = ($136|0)==($137|0); + if ($138) { + $139 = HEAP32[$21>>2]|0; + $140 = (($139) + 1)|0; + HEAP32[$21>>2] = $140; + } + } + $141 = HEAP32[$20>>2]|0; + $142 = (($141) + 1)|0; + HEAP32[$20>>2] = $142; + } + $143 = HEAP32[$13>>2]|0; + $144 = ((($143)) + 4|0); + $145 = HEAP32[$144>>2]|0; + $146 = $145 & 2048; + $147 = ($146|0)==(0); + if ($147) { + label = 24; + } else { + $148 = HEAP32[$13>>2]|0; + $149 = ((($148)) + 20|0); + $150 = HEAP32[$149>>2]|0; + $151 = HEAP32[$150>>2]|0; + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)==(1); + if ($153) { + label = 24; + } else { + $157 = HEAP32[$13>>2]|0; + $158 = ((($157)) + 20|0); + $159 = HEAP32[$158>>2]|0; + HEAP32[$23>>2] = $159; + $160 = HEAP32[$7>>2]|0; + $161 = HEAP32[$160>>2]|0; + HEAP32[$24>>2] = $161; + $162 = HEAP32[$23>>2]|0; + $163 = HEAP32[$162>>2]|0; + HEAP32[$25>>2] = $163; + $164 = HEAP32[$13>>2]|0; + $165 = ((($164)) + 12|0); + $166 = HEAP32[$165>>2]|0; + $167 = ((($166)) + 20|0); + $168 = HEAP32[$167>>2]|0; + HEAP32[$26>>2] = $168; + HEAP32[$27>>2] = 0; + HEAP32[$28>>2] = 0; + $169 = HEAP32[$10>>2]|0; + HEAP32[$20>>2] = $169; + while(1) { + $170 = HEAP32[$20>>2]|0; + $171 = HEAP32[$19>>2]|0; + $172 = ((($171)) + 40|0); + $173 = HEAP16[$172>>1]|0; + $174 = $173&65535; + $175 = ($170|0)<($174|0); + if (!($175)) { break; } - HEAP32[$nIn>>2] = 46; - HEAP32[$i>>2] = 0; - while(1) { - $239 = HEAP32[$i>>2]|0; - $240 = HEAP32[$pNew>>2]|0; - $241 = ((($240)) + 40|0); - $242 = HEAP16[$241>>1]|0; - $243 = $242&65535; - $244 = (($243) - 1)|0; - $245 = ($239|0)<($244|0); - if (!($245)) { - break L30; - } - $246 = HEAP32[$i>>2]|0; - $247 = HEAP32[$pNew>>2]|0; - $248 = ((($247)) + 48|0); - $249 = HEAP32[$248>>2]|0; - $250 = (($249) + ($246<<2)|0); - $251 = HEAP32[$250>>2]|0; - $252 = ($251|0)!=(0|0); - if ($252) { - $253 = HEAP32[$i>>2]|0; - $254 = HEAP32[$pNew>>2]|0; - $255 = ((($254)) + 48|0); - $256 = HEAP32[$255>>2]|0; - $257 = (($256) + ($253<<2)|0); - $258 = HEAP32[$257>>2]|0; - $259 = HEAP32[$258>>2]|0; - $260 = HEAP32[$pExpr>>2]|0; - $261 = ($259|0)==($260|0); - if ($261) { - HEAP32[$nIn>>2] = 0; - } - } - $262 = HEAP32[$i>>2]|0; - $263 = (($262) + 1)|0; - HEAP32[$i>>2] = $263; + $176 = HEAP32[$19>>2]|0; + $177 = ((($176)) + 48|0); + $178 = HEAP32[$177>>2]|0; + $179 = HEAP32[$20>>2]|0; + $180 = (($178) + ($179<<2)|0); + $181 = HEAP32[$180>>2]|0; + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$13>>2]|0; + $184 = ($182|0)==($183|0); + if ($184) { + $185 = HEAP32[$19>>2]|0; + $186 = ((($185)) + 48|0); + $187 = HEAP32[$186>>2]|0; + $188 = HEAP32[$20>>2]|0; + $189 = (($187) + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ((($190)) + 24|0); + $192 = HEAP32[$191>>2]|0; + $193 = (($192) - 1)|0; + HEAP32[$29>>2] = $193; + $194 = HEAP32[$24>>2]|0; + $195 = HEAP32[$25>>2]|0; + $196 = ((($195)) + 4|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$29>>2]|0; + $199 = (($197) + (($198*20)|0)|0); + $200 = HEAP32[$199>>2]|0; + $201 = (_sqlite3ExprDup($194,$200,0)|0); + HEAP32[$30>>2] = $201; + $202 = HEAP32[$24>>2]|0; + $203 = HEAP32[$26>>2]|0; + $204 = ((($203)) + 4|0); + $205 = HEAP32[$204>>2]|0; + $206 = HEAP32[$29>>2]|0; + $207 = (($205) + (($206*20)|0)|0); + $208 = HEAP32[$207>>2]|0; + $209 = (_sqlite3ExprDup($202,$208,0)|0); + HEAP32[$31>>2] = $209; + $210 = HEAP32[$7>>2]|0; + $211 = HEAP32[$27>>2]|0; + $212 = HEAP32[$30>>2]|0; + $213 = (_sqlite3ExprListAppend($210,$211,$212)|0); + HEAP32[$27>>2] = $213; + $214 = HEAP32[$7>>2]|0; + $215 = HEAP32[$28>>2]|0; + $216 = HEAP32[$31>>2]|0; + $217 = (_sqlite3ExprListAppend($214,$215,$216)|0); + HEAP32[$28>>2] = $217; } - } else { - $281 = HEAP16[$eOp>>1]|0; - $282 = $281&65535; - $283 = $282 & 130; - $284 = ($283|0)!=(0); - if ($284) { - $285 = HEAP16[$saved_nEq>>1]|0; - $286 = $285&65535; - $287 = HEAP32[$3>>2]|0; - $288 = ((($287)) + 4|0); - $289 = HEAP32[$288>>2]|0; - $290 = (($289) + ($286<<1)|0); - $291 = HEAP16[$290>>1]|0; - $292 = $291 << 16 >> 16; - HEAP32[$iCol>>2] = $292; - $293 = HEAP32[$pNew>>2]|0; - $294 = ((($293)) + 36|0); - $295 = HEAP32[$294>>2]|0; - $296 = $295 | 1; - HEAP32[$294>>2] = $296; - $297 = HEAP32[$iCol>>2]|0; - $298 = ($297|0)==(-1); - if (!($298)) { - $299 = HEAP32[$iCol>>2]|0; - $300 = ($299|0)>(0); - if (!($300)) { - break; - } - $301 = HEAP16[$4>>1]|0; - $302 = $301 << 16 >> 16; - $303 = ($302|0)==(0); - if (!($303)) { - break; - } - $304 = HEAP16[$saved_nEq>>1]|0; - $305 = $304&65535; - $306 = HEAP32[$3>>2]|0; - $307 = ((($306)) + 50|0); - $308 = HEAP16[$307>>1]|0; - $309 = $308&65535; - $310 = (($309) - 1)|0; - $311 = ($305|0)==($310|0); - if (!($311)) { - break; - } - } - $312 = HEAP32[$iCol>>2]|0; - $313 = ($312|0)>=(0); - if ($313) { - $314 = HEAP32[$3>>2]|0; - $315 = ((($314)) + 55|0); - $316 = HEAP8[$315>>0]|0; - $317 = ($316&255) >>> 3; - $318 = $317 & 1; - $319 = $318&255; - $320 = ($319|0)==(0); - if ($320) { - $321 = HEAP32[$pNew>>2]|0; - $322 = ((($321)) + 36|0); - $323 = HEAP32[$322>>2]|0; - $324 = $323 | 65536; - HEAP32[$322>>2] = $324; - break; + $218 = HEAP32[$20>>2]|0; + $219 = (($218) + 1)|0; + HEAP32[$20>>2] = $219; + } + $220 = HEAP32[$24>>2]|0; + $221 = ((($220)) + 69|0); + $222 = HEAP8[$221>>0]|0; + $223 = ($222<<24>>24)!=(0); + if (!($223)) { + $224 = HEAP32[$13>>2]|0; + $225 = ((($224)) + 12|0); + $226 = HEAP32[$225>>2]|0; + HEAP32[$32>>2] = $226; + $227 = HEAP32[$23>>2]|0; + $228 = ((($227)) + 44|0); + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)!=(0|0); + L42: do { + if ($230) { + $231 = HEAP32[$23>>2]|0; + $232 = ((($231)) + 44|0); + $233 = HEAP32[$232>>2]|0; + HEAP32[$33>>2] = $233; + HEAP32[$20>>2] = 0; + while(1) { + $234 = HEAP32[$20>>2]|0; + $235 = HEAP32[$33>>2]|0; + $236 = HEAP32[$235>>2]|0; + $237 = ($234|0)<($236|0); + if (!($237)) { + break L42; + } + $238 = HEAP32[$33>>2]|0; + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[$20>>2]|0; + $242 = (($240) + (($241*20)|0)|0); + $243 = ((($242)) + 16|0); + HEAP16[$243>>1] = 0; + $244 = HEAP32[$20>>2]|0; + $245 = (($244) + 1)|0; + HEAP32[$20>>2] = $245; } } - $325 = HEAP32[$pNew>>2]|0; - $326 = ((($325)) + 36|0); - $327 = HEAP32[$326>>2]|0; - $328 = $327 | 4096; - HEAP32[$326>>2] = $328; - break; + } while(0); + $246 = HEAP32[$28>>2]|0; + $247 = HEAP32[$246>>2]|0; + $248 = ($247|0)==(1); + $249 = HEAP32[$28>>2]|0; + if ($248) { + $250 = ((($249)) + 4|0); + $251 = HEAP32[$250>>2]|0; + $252 = HEAP32[$251>>2]|0; + $253 = HEAP32[$13>>2]|0; + $254 = ((($253)) + 12|0); + HEAP32[$254>>2] = $252; + } else { + $255 = HEAP32[$32>>2]|0; + $256 = ((($255)) + 20|0); + HEAP32[$256>>2] = $249; + $257 = HEAP32[$7>>2]|0; + $258 = HEAP32[$257>>2]|0; + $259 = HEAP32[$21>>2]|0; + $260 = $259<<2; + $261 = (_sqlite3DbMallocZero($258,$260,0)|0); + HEAP32[$22>>2] = $261; } - $329 = HEAP16[$eOp>>1]|0; - $330 = $329&65535; - $331 = $330 & 256; - $332 = ($331|0)!=(0); - if ($332) { - $333 = HEAP32[$pNew>>2]|0; - $334 = ((($333)) + 36|0); - $335 = HEAP32[$334>>2]|0; - $336 = $335 | 8; - HEAP32[$334>>2] = $336; - break; + $262 = HEAP32[$27>>2]|0; + $263 = HEAP32[$23>>2]|0; + HEAP32[$263>>2] = $262; + $264 = HEAP32[$7>>2]|0; + $265 = HEAP32[$13>>2]|0; + $266 = HEAP32[$22>>2]|0; + $267 = (_sqlite3FindInIndex($264,$265,4,0,$266)|0); + HEAP32[$16>>2] = $267; + $268 = HEAP32[$25>>2]|0; + $269 = HEAP32[$23>>2]|0; + HEAP32[$269>>2] = $268; + $270 = HEAP32[$26>>2]|0; + $271 = HEAP32[$32>>2]|0; + $272 = ((($271)) + 20|0); + HEAP32[$272>>2] = $270; + $273 = HEAP32[$32>>2]|0; + $274 = HEAP32[$13>>2]|0; + $275 = ((($274)) + 12|0); + HEAP32[$275>>2] = $273; + } + $276 = HEAP32[$7>>2]|0; + $277 = HEAP32[$276>>2]|0; + $278 = HEAP32[$28>>2]|0; + _sqlite3ExprListDelete($277,$278); + $279 = HEAP32[$7>>2]|0; + $280 = HEAP32[$279>>2]|0; + $281 = HEAP32[$27>>2]|0; + _sqlite3ExprListDelete($280,$281); + } + } + if ((label|0) == 24) { + $154 = HEAP32[$7>>2]|0; + $155 = HEAP32[$13>>2]|0; + $156 = (_sqlite3FindInIndex($154,$155,4,0,0)|0); + HEAP32[$16>>2] = $156; + } + $282 = HEAP32[$16>>2]|0; + $283 = ($282|0)==(4); + if ($283) { + $284 = HEAP32[$11>>2]|0; + $285 = ($284|0)!=(0); + $286 = $285 ^ 1; + $287 = $286&1; + HEAP32[$11>>2] = $287; + } + $288 = HEAP32[$13>>2]|0; + $289 = ((($288)) + 28|0); + $290 = HEAP32[$289>>2]|0; + HEAP32[$17>>2] = $290; + $291 = HEAP32[$14>>2]|0; + $292 = HEAP32[$11>>2]|0; + $293 = ($292|0)!=(0); + $294 = $293 ? 53 : 57; + $295 = HEAP32[$17>>2]|0; + (_sqlite3VdbeAddOp2($291,$294,$295,0)|0); + $296 = HEAP32[$19>>2]|0; + $297 = ((($296)) + 36|0); + $298 = HEAP32[$297>>2]|0; + $299 = $298 | 2048; + HEAP32[$297>>2] = $299; + $300 = HEAP32[$9>>2]|0; + $301 = ((($300)) + 56|0); + $302 = HEAP32[$301>>2]|0; + $303 = ($302|0)==(0); + if ($303) { + $304 = HEAP32[$14>>2]|0; + $305 = (_sqlite3VdbeMakeLabel($304)|0); + $306 = HEAP32[$9>>2]|0; + $307 = ((($306)) + 16|0); + HEAP32[$307>>2] = $305; + } + $308 = HEAP32[$9>>2]|0; + $309 = ((($308)) + 56|0); + $310 = HEAP32[$309>>2]|0; + HEAP32[$20>>2] = $310; + $311 = HEAP32[$21>>2]|0; + $312 = HEAP32[$9>>2]|0; + $313 = ((($312)) + 56|0); + $314 = HEAP32[$313>>2]|0; + $315 = (($314) + ($311))|0; + HEAP32[$313>>2] = $315; + $316 = HEAP32[$7>>2]|0; + $317 = HEAP32[$316>>2]|0; + $318 = HEAP32[$9>>2]|0; + $319 = ((($318)) + 56|0); + $320 = ((($319)) + 4|0); + $321 = HEAP32[$320>>2]|0; + $322 = HEAP32[$9>>2]|0; + $323 = ((($322)) + 56|0); + $324 = HEAP32[$323>>2]|0; + $325 = ($324*12)|0; + $326 = (_sqlite3DbReallocOrFree($317,$321,$325,0)|0); + $327 = HEAP32[$9>>2]|0; + $328 = ((($327)) + 56|0); + $329 = ((($328)) + 4|0); + HEAP32[$329>>2] = $326; + $330 = HEAP32[$9>>2]|0; + $331 = ((($330)) + 56|0); + $332 = ((($331)) + 4|0); + $333 = HEAP32[$332>>2]|0; + HEAP32[$18>>2] = $333; + $334 = HEAP32[$18>>2]|0; + $335 = ($334|0)!=(0|0); + L62: do { + if ($335) { + HEAP32[$34>>2] = 0; + $336 = HEAP32[$20>>2]|0; + $337 = HEAP32[$18>>2]|0; + $338 = (($337) + (($336*12)|0)|0); + HEAP32[$18>>2] = $338; + $339 = HEAP32[$10>>2]|0; + HEAP32[$20>>2] = $339; + while(1) { + $340 = HEAP32[$20>>2]|0; + $341 = HEAP32[$19>>2]|0; + $342 = ((($341)) + 40|0); + $343 = HEAP16[$342>>1]|0; + $344 = $343&65535; + $345 = ($340|0)<($344|0); + if (!($345)) { + break L62; } - $337 = HEAP16[$eOp>>1]|0; - $338 = $337&65535; - $339 = $338 & 36; - $340 = ($339|0)!=(0); - $341 = HEAP32[$pNew>>2]|0; - $342 = ((($341)) + 36|0); - $343 = HEAP32[$342>>2]|0; - if ($340) { - $344 = $343 | 34; - HEAP32[$342>>2] = $344; - $345 = HEAP32[$pParse>>2]|0; - $346 = HEAP32[$2>>2]|0; - $347 = ((($346)) + 44|0); - $348 = HEAP32[$347>>2]|0; - $349 = HEAP32[$3>>2]|0; - $350 = HEAP16[$saved_nEq>>1]|0; - $351 = $350&65535; - $352 = HEAP32[$pTerm>>2]|0; - $353 = (_whereRangeVectorLen($345,$348,$349,$351,$352)|0); - $354 = $353&65535; - $355 = HEAP32[$pNew>>2]|0; - $356 = ((($355)) + 24|0); - $357 = ((($356)) + 2|0); - HEAP16[$357>>1] = $354; - $358 = HEAP32[$pTerm>>2]|0; - HEAP32[$pBtm>>2] = $358; - HEAP32[$pTop>>2] = 0; - $359 = HEAP32[$pTerm>>2]|0; - $360 = ((($359)) + 10|0); - $361 = HEAP16[$360>>1]|0; - $362 = $361&65535; - $363 = $362 & 256; - $364 = ($363|0)!=(0); - if (!($364)) { - break; - } - $365 = HEAP32[$pTerm>>2]|0; - $366 = ((($365)) + 48|0); - HEAP32[$pTop>>2] = $366; - $367 = HEAP32[$db>>2]|0; - $368 = HEAP32[$pNew>>2]|0; - $369 = HEAP32[$pNew>>2]|0; - $370 = ((($369)) + 40|0); - $371 = HEAP16[$370>>1]|0; - $372 = $371&65535; - $373 = (($372) + 1)|0; - $374 = (_whereLoopResize($367,$368,$373)|0); - $375 = ($374|0)!=(0); - if ($375) { - break L12; - } - $376 = HEAP32[$pTop>>2]|0; - $377 = HEAP32[$pNew>>2]|0; - $378 = ((($377)) + 40|0); - $379 = HEAP16[$378>>1]|0; - $380 = (($379) + 1)<<16>>16; - HEAP16[$378>>1] = $380; - $381 = $379&65535; - $382 = HEAP32[$pNew>>2]|0; - $383 = ((($382)) + 48|0); - $384 = HEAP32[$383>>2]|0; - $385 = (($384) + ($381<<2)|0); - HEAP32[$385>>2] = $376; - $386 = HEAP32[$pNew>>2]|0; - $387 = ((($386)) + 36|0); - $388 = HEAP32[$387>>2]|0; - $389 = $388 | 16; - HEAP32[$387>>2] = $389; - $390 = HEAP32[$pNew>>2]|0; - $391 = ((($390)) + 24|0); - $392 = ((($391)) + 4|0); - HEAP16[$392>>1] = 1; - break; - } else { - $393 = $343 | 18; - HEAP32[$342>>2] = $393; - $394 = HEAP32[$pParse>>2]|0; - $395 = HEAP32[$2>>2]|0; - $396 = ((($395)) + 44|0); - $397 = HEAP32[$396>>2]|0; - $398 = HEAP32[$3>>2]|0; - $399 = HEAP16[$saved_nEq>>1]|0; - $400 = $399&65535; - $401 = HEAP32[$pTerm>>2]|0; - $402 = (_whereRangeVectorLen($394,$397,$398,$400,$401)|0); - $403 = $402&65535; - $404 = HEAP32[$pNew>>2]|0; - $405 = ((($404)) + 24|0); - $406 = ((($405)) + 4|0); - HEAP16[$406>>1] = $403; - $407 = HEAP32[$pTerm>>2]|0; - HEAP32[$pTop>>2] = $407; - $408 = HEAP32[$pNew>>2]|0; - $409 = ((($408)) + 36|0); - $410 = HEAP32[$409>>2]|0; - $411 = $410 & 32; - $412 = ($411|0)!=(0); - if ($412) { - $413 = HEAP32[$pNew>>2]|0; - $414 = ((($413)) + 40|0); - $415 = HEAP16[$414>>1]|0; - $416 = $415&65535; - $417 = (($416) - 2)|0; - $418 = HEAP32[$pNew>>2]|0; - $419 = ((($418)) + 48|0); - $420 = HEAP32[$419>>2]|0; - $421 = (($420) + ($417<<2)|0); - $422 = HEAP32[$421>>2]|0; - $423 = $422; + $346 = HEAP32[$19>>2]|0; + $347 = ((($346)) + 48|0); + $348 = HEAP32[$347>>2]|0; + $349 = HEAP32[$20>>2]|0; + $350 = (($348) + ($349<<2)|0); + $351 = HEAP32[$350>>2]|0; + $352 = HEAP32[$351>>2]|0; + $353 = HEAP32[$13>>2]|0; + $354 = ($352|0)==($353|0); + if ($354) { + $355 = HEAP32[$15>>2]|0; + $356 = HEAP32[$20>>2]|0; + $357 = (($355) + ($356))|0; + $358 = HEAP32[$10>>2]|0; + $359 = (($357) - ($358))|0; + HEAP32[$35>>2] = $359; + $360 = HEAP32[$16>>2]|0; + $361 = ($360|0)==(1); + if ($361) { + $362 = HEAP32[$14>>2]|0; + $363 = HEAP32[$17>>2]|0; + $364 = HEAP32[$35>>2]|0; + $365 = (_sqlite3VdbeAddOp2($362,123,$363,$364)|0); + $366 = HEAP32[$18>>2]|0; + $$sink = $365;$$sink2 = $366; } else { - $423 = 0; + $367 = HEAP32[$22>>2]|0; + $368 = ($367|0)!=(0|0); + if ($368) { + $369 = HEAP32[$22>>2]|0; + $370 = HEAP32[$34>>2]|0; + $371 = (($370) + 1)|0; + HEAP32[$34>>2] = $371; + $372 = (($369) + ($370<<2)|0); + $373 = HEAP32[$372>>2]|0; + $374 = $373; + } else { + $374 = 0; + } + HEAP32[$36>>2] = $374; + $375 = HEAP32[$14>>2]|0; + $376 = HEAP32[$17>>2]|0; + $377 = HEAP32[$36>>2]|0; + $378 = HEAP32[$35>>2]|0; + $379 = (_sqlite3VdbeAddOp3($375,96,$376,$377,$378)|0); + $380 = HEAP32[$18>>2]|0; + $$sink = $379;$$sink2 = $380; } - HEAP32[$pBtm>>2] = $423; - break; - } - } - } while(0); - $424 = HEAP32[$pNew>>2]|0; - $425 = ((($424)) + 36|0); - $426 = HEAP32[$425>>2]|0; - $427 = $426 & 2; - $428 = ($427|0)!=(0); - do { - if ($428) { - $429 = HEAP32[$pParse>>2]|0; - $430 = HEAP32[$1>>2]|0; - $431 = HEAP32[$pBtm>>2]|0; - $432 = HEAP32[$pTop>>2]|0; - $433 = HEAP32[$pNew>>2]|0; - (_whereRangeScanEst($429,$430,$431,$432,$433)|0); - } else { - $434 = HEAP32[$pNew>>2]|0; - $435 = ((($434)) + 24|0); - $436 = HEAP16[$435>>1]|0; - $437 = (($436) + 1)<<16>>16; - HEAP16[$435>>1] = $437; - $438 = $437&65535; - HEAP32[$nEq>>2] = $438; - $439 = HEAP32[$pTerm>>2]|0; - $440 = ((($439)) + 8|0); - $441 = HEAP16[$440>>1]|0; - $442 = $441 << 16 >> 16; - $443 = ($442|0)<=(0); - if ($443) { - $444 = HEAP16[$saved_nEq>>1]|0; - $445 = $444&65535; - $446 = HEAP32[$3>>2]|0; - $447 = ((($446)) + 4|0); - $448 = HEAP32[$447>>2]|0; - $449 = (($448) + ($445<<1)|0); - $450 = HEAP16[$449>>1]|0; - $451 = $450 << 16 >> 16; - $452 = ($451|0)>=(0); - if ($452) { - $453 = HEAP32[$pTerm>>2]|0; - $454 = ((($453)) + 8|0); - $455 = HEAP16[$454>>1]|0; - $456 = $455 << 16 >> 16; - $457 = HEAP32[$pNew>>2]|0; - $458 = ((($457)) + 22|0); - $459 = HEAP16[$458>>1]|0; - $460 = $459 << 16 >> 16; - $461 = (($460) + ($456))|0; - $462 = $461&65535; - HEAP16[$458>>1] = $462; - $463 = HEAP32[$nIn>>2]|0; - $464 = HEAP32[$pNew>>2]|0; - $465 = ((($464)) + 22|0); - $466 = HEAP16[$465>>1]|0; - $467 = $466 << 16 >> 16; - $468 = (($467) - ($463))|0; - $469 = $468&65535; - HEAP16[$465>>1] = $469; - break; + $381 = ((($$sink2)) + 4|0); + HEAP32[$381>>2] = $$sink; + $382 = HEAP32[$14>>2]|0; + $383 = HEAP32[$35>>2]|0; + (_sqlite3VdbeAddOp1($382,34,$383)|0); + $384 = HEAP32[$20>>2]|0; + $385 = HEAP32[$10>>2]|0; + $386 = ($384|0)==($385|0); + if ($386) { + $387 = HEAP32[$17>>2]|0; + $388 = HEAP32[$18>>2]|0; + HEAP32[$388>>2] = $387; + $389 = HEAP32[$11>>2]|0; + $390 = ($389|0)!=(0); + $391 = $390 ? 4 : 5; + $392 = $391&255; + $393 = HEAP32[$18>>2]|0; + $$sink3 = $392;$$sink5 = $393; + } else { + $394 = HEAP32[$18>>2]|0; + $$sink3 = -95;$$sink5 = $394; } + $395 = ((($$sink5)) + 8|0); + HEAP8[$395>>0] = $$sink3; + $396 = HEAP32[$18>>2]|0; + $397 = ((($396)) + 12|0); + HEAP32[$18>>2] = $397; } - $470 = HEAP32[$nEq>>2]|0; - $471 = HEAP32[$3>>2]|0; - $472 = ((($471)) + 8|0); - $473 = HEAP32[$472>>2]|0; - $474 = (($473) + ($470<<1)|0); - $475 = HEAP16[$474>>1]|0; - $476 = $475 << 16 >> 16; - $477 = HEAP32[$nEq>>2]|0; - $478 = (($477) - 1)|0; - $479 = HEAP32[$3>>2]|0; - $480 = ((($479)) + 8|0); - $481 = HEAP32[$480>>2]|0; - $482 = (($481) + ($478<<1)|0); - $483 = HEAP16[$482>>1]|0; - $484 = $483 << 16 >> 16; - $485 = (($476) - ($484))|0; - $486 = HEAP32[$pNew>>2]|0; - $487 = ((($486)) + 22|0); - $488 = HEAP16[$487>>1]|0; - $489 = $488 << 16 >> 16; - $490 = (($489) + ($485))|0; - $491 = $490&65535; - HEAP16[$487>>1] = $491; - $492 = HEAP16[$eOp>>1]|0; - $493 = $492&65535; - $494 = $493 & 256; - $495 = ($494|0)!=(0); - if ($495) { - $496 = HEAP32[$pNew>>2]|0; - $497 = ((($496)) + 22|0); - $498 = HEAP16[$497>>1]|0; - $499 = $498 << 16 >> 16; - $500 = (($499) + 10)|0; - $501 = $500&65535; - HEAP16[$497>>1] = $501; - } + $398 = HEAP32[$20>>2]|0; + $399 = (($398) + 1)|0; + HEAP32[$20>>2] = $399; } - } while(0); - $502 = HEAP32[$pNew>>2]|0; - $503 = ((($502)) + 22|0); - $504 = HEAP16[$503>>1]|0; - $505 = $504 << 16 >> 16; - $506 = (($505) + 1)|0; - $507 = HEAP32[$3>>2]|0; - $508 = ((($507)) + 48|0); - $509 = HEAP16[$508>>1]|0; - $510 = $509 << 16 >> 16; - $511 = ($510*15)|0; - $512 = HEAP32[$2>>2]|0; - $513 = ((($512)) + 16|0); - $514 = HEAP32[$513>>2]|0; - $515 = ((($514)) + 40|0); - $516 = HEAP16[$515>>1]|0; - $517 = $516 << 16 >> 16; - $518 = (($511|0) / ($517|0))&-1; - $519 = (($506) + ($518))|0; - $520 = $519&65535; - HEAP16[$rCostIdx>>1] = $520; - $521 = HEAP16[$rLogSize>>1]|0; - $522 = HEAP16[$rCostIdx>>1]|0; - $523 = (_sqlite3LogEstAdd($521,$522)|0); - $524 = HEAP32[$pNew>>2]|0; - $525 = ((($524)) + 20|0); - HEAP16[$525>>1] = $523; - $526 = HEAP32[$pNew>>2]|0; - $527 = ((($526)) + 36|0); - $528 = HEAP32[$527>>2]|0; - $529 = $528 & 320; - $530 = ($529|0)==(0); - if ($530) { - $531 = HEAP32[$pNew>>2]|0; - $532 = ((($531)) + 20|0); - $533 = HEAP16[$532>>1]|0; - $534 = HEAP32[$pNew>>2]|0; - $535 = ((($534)) + 22|0); - $536 = HEAP16[$535>>1]|0; - $537 = $536 << 16 >> 16; - $538 = (($537) + 16)|0; - $539 = $538&65535; - $540 = (_sqlite3LogEstAdd($533,$539)|0); - $541 = HEAP32[$pNew>>2]|0; - $542 = ((($541)) + 20|0); - HEAP16[$542>>1] = $540; - } - $543 = HEAP32[$pNew>>2]|0; - $544 = ((($543)) + 22|0); - $545 = HEAP16[$544>>1]|0; - HEAP16[$nOutUnadjusted>>1] = $545; - $546 = HEAP16[$4>>1]|0; - $547 = $546 << 16 >> 16; - $548 = HEAP32[$nIn>>2]|0; - $549 = (($547) + ($548))|0; - $550 = HEAP32[$pNew>>2]|0; - $551 = ((($550)) + 20|0); - $552 = HEAP16[$551>>1]|0; - $553 = $552 << 16 >> 16; - $554 = (($553) + ($549))|0; - $555 = $554&65535; - HEAP16[$551>>1] = $555; - $556 = HEAP16[$4>>1]|0; - $557 = $556 << 16 >> 16; - $558 = HEAP32[$nIn>>2]|0; - $559 = (($557) + ($558))|0; - $560 = HEAP32[$pNew>>2]|0; - $561 = ((($560)) + 22|0); - $562 = HEAP16[$561>>1]|0; - $563 = $562 << 16 >> 16; - $564 = (($563) + ($559))|0; - $565 = $564&65535; - HEAP16[$561>>1] = $565; - $566 = HEAP32[$1>>2]|0; - $567 = ((($566)) + 4|0); - $568 = HEAP32[$567>>2]|0; - $569 = HEAP32[$pNew>>2]|0; - $570 = HEAP16[$rSize>>1]|0; - _whereLoopOutputAdjust($568,$569,$570); - $571 = HEAP32[$1>>2]|0; - $572 = HEAP32[$pNew>>2]|0; - $573 = (_whereLoopInsert($571,$572)|0); - HEAP32[$rc>>2] = $573; - $574 = HEAP32[$pNew>>2]|0; - $575 = ((($574)) + 36|0); - $576 = HEAP32[$575>>2]|0; - $577 = $576 & 2; - $578 = ($577|0)!=(0); - if ($578) { - $579 = HEAP16[$saved_nOut>>1]|0; - $580 = HEAP32[$pNew>>2]|0; - $581 = ((($580)) + 22|0); - HEAP16[$581>>1] = $579; } else { - $582 = HEAP16[$nOutUnadjusted>>1]|0; - $583 = HEAP32[$pNew>>2]|0; - $584 = ((($583)) + 22|0); - HEAP16[$584>>1] = $582; - } - $585 = HEAP32[$pNew>>2]|0; - $586 = ((($585)) + 36|0); - $587 = HEAP32[$586>>2]|0; - $588 = $587 & 16; - $589 = ($588|0)==(0); - if ($589) { - $590 = HEAP32[$pNew>>2]|0; - $591 = ((($590)) + 24|0); - $592 = HEAP16[$591>>1]|0; - $593 = $592&65535; - $594 = HEAP32[$3>>2]|0; - $595 = ((($594)) + 52|0); - $596 = HEAP16[$595>>1]|0; - $597 = $596&65535; - $598 = ($593|0)<($597|0); - if ($598) { - $599 = HEAP32[$1>>2]|0; - $600 = HEAP32[$2>>2]|0; - $601 = HEAP32[$3>>2]|0; - $602 = HEAP16[$4>>1]|0; - $603 = $602 << 16 >> 16; - $604 = HEAP32[$nIn>>2]|0; - $605 = (($603) + ($604))|0; - $606 = $605&65535; - (_whereLoopAddBtreeIndex($599,$600,$601,$606)|0); - } + $400 = HEAP32[$9>>2]|0; + $401 = ((($400)) + 56|0); + HEAP32[$401>>2] = 0; } - $607 = HEAP16[$saved_nOut>>1]|0; - $608 = HEAP32[$pNew>>2]|0; - $609 = ((($608)) + 22|0); - HEAP16[$609>>1] = $607; - } + } while(0); + $402 = HEAP32[$7>>2]|0; + $403 = HEAP32[$402>>2]|0; + $404 = HEAP32[$22>>2]|0; + _sqlite3DbFree($403,$404); } - } while(0); - $610 = (_whereScanNext($scan)|0); - HEAP32[$pTerm>>2] = $610; - } - $611 = $saved_prereq; - $612 = $611; - $613 = HEAP32[$612>>2]|0; - $614 = (($611) + 4)|0; - $615 = $614; - $616 = HEAP32[$615>>2]|0; - $617 = HEAP32[$pNew>>2]|0; - $618 = $617; - $619 = $618; - HEAP32[$619>>2] = $613; - $620 = (($618) + 4)|0; - $621 = $620; - HEAP32[$621>>2] = $616; - $622 = HEAP16[$saved_nEq>>1]|0; - $623 = HEAP32[$pNew>>2]|0; - $624 = ((($623)) + 24|0); - HEAP16[$624>>1] = $622; - $625 = HEAP16[$saved_nBtm>>1]|0; - $626 = HEAP32[$pNew>>2]|0; - $627 = ((($626)) + 24|0); - $628 = ((($627)) + 2|0); - HEAP16[$628>>1] = $625; - $629 = HEAP16[$saved_nTop>>1]|0; - $630 = HEAP32[$pNew>>2]|0; - $631 = ((($630)) + 24|0); - $632 = ((($631)) + 4|0); - HEAP16[$632>>1] = $629; - $633 = HEAP16[$saved_nSkip>>1]|0; - $634 = HEAP32[$pNew>>2]|0; - $635 = ((($634)) + 42|0); - HEAP16[$635>>1] = $633; - $636 = HEAP32[$saved_wsFlags>>2]|0; - $637 = HEAP32[$pNew>>2]|0; - $638 = ((($637)) + 36|0); - HEAP32[$638>>2] = $636; - $639 = HEAP16[$saved_nOut>>1]|0; - $640 = HEAP32[$pNew>>2]|0; - $641 = ((($640)) + 22|0); - HEAP16[$641>>1] = $639; - $642 = HEAP16[$saved_nLTerm>>1]|0; - $643 = HEAP32[$pNew>>2]|0; - $644 = ((($643)) + 40|0); - HEAP16[$644>>1] = $642; - $645 = HEAP16[$saved_nEq>>1]|0; - $646 = $645&65535; - $647 = HEAP16[$saved_nSkip>>1]|0; - $648 = $647&65535; - $649 = ($646|0)==($648|0); - if ($649) { - $650 = HEAP16[$saved_nEq>>1]|0; - $651 = $650&65535; - $652 = (($651) + 1)|0; - $653 = HEAP32[$3>>2]|0; - $654 = ((($653)) + 50|0); - $655 = HEAP16[$654>>1]|0; - $656 = $655&65535; - $657 = ($652|0)<($656|0); - if ($657) { - $658 = HEAP32[$3>>2]|0; - $659 = ((($658)) + 55|0); - $660 = HEAP8[$659>>0]|0; - $661 = ($660&255) >>> 6; - $662 = $661 & 1; - $663 = $662&255; - $664 = ($663|0)==(0); - if ($664) { - $665 = HEAP16[$saved_nEq>>1]|0; - $666 = $665&65535; - $667 = (($666) + 1)|0; - $668 = HEAP32[$3>>2]|0; - $669 = ((($668)) + 8|0); - $670 = HEAP32[$669>>2]|0; - $671 = (($670) + ($667<<1)|0); - $672 = HEAP16[$671>>1]|0; - $673 = $672 << 16 >> 16; - $674 = ($673|0)>=(42); - if ($674) { - $675 = HEAP32[$db>>2]|0; - $676 = HEAP32[$pNew>>2]|0; - $677 = HEAP32[$pNew>>2]|0; - $678 = ((($677)) + 40|0); - $679 = HEAP16[$678>>1]|0; - $680 = $679&65535; - $681 = (($680) + 1)|0; - $682 = (_whereLoopResize($675,$676,$681)|0); - HEAP32[$rc>>2] = $682; - $683 = ($682|0)==(0); - if ($683) { - $684 = HEAP32[$pNew>>2]|0; - $685 = ((($684)) + 24|0); - $686 = HEAP16[$685>>1]|0; - $687 = (($686) + 1)<<16>>16; - HEAP16[$685>>1] = $687; - $688 = HEAP32[$pNew>>2]|0; - $689 = ((($688)) + 42|0); - $690 = HEAP16[$689>>1]|0; - $691 = (($690) + 1)<<16>>16; - HEAP16[$689>>1] = $691; - $692 = HEAP32[$pNew>>2]|0; - $693 = ((($692)) + 40|0); - $694 = HEAP16[$693>>1]|0; - $695 = (($694) + 1)<<16>>16; - HEAP16[$693>>1] = $695; - $696 = $694&65535; - $697 = HEAP32[$pNew>>2]|0; - $698 = ((($697)) + 48|0); - $699 = HEAP32[$698>>2]|0; - $700 = (($699) + ($696<<2)|0); - HEAP32[$700>>2] = 0; - $701 = HEAP32[$pNew>>2]|0; - $702 = ((($701)) + 36|0); - $703 = HEAP32[$702>>2]|0; - $704 = $703 | 32768; - HEAP32[$702>>2] = $704; - $705 = HEAP16[$saved_nEq>>1]|0; - $706 = $705&65535; - $707 = HEAP32[$3>>2]|0; - $708 = ((($707)) + 8|0); - $709 = HEAP32[$708>>2]|0; - $710 = (($709) + ($706<<1)|0); - $711 = HEAP16[$710>>1]|0; - $712 = $711 << 16 >> 16; - $713 = HEAP16[$saved_nEq>>1]|0; - $714 = $713&65535; - $715 = (($714) + 1)|0; - $716 = HEAP32[$3>>2]|0; - $717 = ((($716)) + 8|0); - $718 = HEAP32[$717>>2]|0; - $719 = (($718) + ($715<<1)|0); - $720 = HEAP16[$719>>1]|0; - $721 = $720 << 16 >> 16; - $722 = (($712) - ($721))|0; - $723 = $722&65535; - HEAP16[$nIter>>1] = $723; - $724 = HEAP16[$nIter>>1]|0; - $725 = $724 << 16 >> 16; - $726 = HEAP32[$pNew>>2]|0; - $727 = ((($726)) + 22|0); - $728 = HEAP16[$727>>1]|0; - $729 = $728 << 16 >> 16; - $730 = (($729) - ($725))|0; - $731 = $730&65535; - HEAP16[$727>>1] = $731; - $732 = HEAP16[$nIter>>1]|0; - $733 = $732 << 16 >> 16; - $734 = (($733) + 5)|0; - $735 = $734&65535; - HEAP16[$nIter>>1] = $735; - $736 = HEAP32[$1>>2]|0; - $737 = HEAP32[$2>>2]|0; - $738 = HEAP32[$3>>2]|0; - $739 = HEAP16[$nIter>>1]|0; - $740 = $739 << 16 >> 16; - $741 = HEAP16[$4>>1]|0; - $742 = $741 << 16 >> 16; - $743 = (($740) + ($742))|0; - $744 = $743&65535; - (_whereLoopAddBtreeIndex($736,$737,$738,$744)|0); - $745 = HEAP16[$saved_nOut>>1]|0; - $746 = HEAP32[$pNew>>2]|0; - $747 = ((($746)) + 22|0); - HEAP16[$747>>1] = $745; - $748 = HEAP16[$saved_nEq>>1]|0; - $749 = HEAP32[$pNew>>2]|0; - $750 = ((($749)) + 24|0); - HEAP16[$750>>1] = $748; - $751 = HEAP16[$saved_nSkip>>1]|0; - $752 = HEAP32[$pNew>>2]|0; - $753 = ((($752)) + 42|0); - HEAP16[$753>>1] = $751; - $754 = HEAP32[$saved_wsFlags>>2]|0; - $755 = HEAP32[$pNew>>2]|0; - $756 = ((($755)) + 36|0); - HEAP32[$756>>2] = $754; - } - } - } - } - } - $757 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $757; - $758 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($758|0); -} -function _indexColumnNotNull($pIdx,$iCol) { - $pIdx = $pIdx|0; - $iCol = $iCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $j = sp; - HEAP32[$1>>2] = $pIdx; - HEAP32[$2>>2] = $iCol; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($3<<1)|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8 << 16 >> 16; - HEAP32[$j>>2] = $9; - $10 = HEAP32[$j>>2]|0; - $11 = ($10|0)>=(0); - $12 = HEAP32[$j>>2]|0; - if ($11) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($12<<4)|0); - $19 = ((($18)) + 12|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - HEAP32[$0>>2] = $21; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); - } - $22 = ($12|0)==(-1); - if ($22) { - HEAP32[$0>>2] = 1; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); - } else { - HEAP32[$0>>2] = 0; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); - } - return (0)|0; -} -function _whereRangeVectorLen($pParse,$iCur,$pIdx,$nEq,$pTerm) { - $pParse = $pParse|0; - $iCur = $iCur|0; - $pIdx = $pIdx|0; - $nEq = $nEq|0; - $pTerm = $pTerm|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $aff = 0, $i = 0, $idxaff = 0, $nCmp = 0, $pColl = 0, $pLhs = 0, $pRhs = 0, label = 0, sp = 0; + } + } while(0); + if ((label|0) == 3) { + $50 = HEAP32[$7>>2]|0; + $51 = HEAP32[$13>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$12>>2]|0; + $55 = (_sqlite3ExprCodeTarget($50,$53,$54)|0); + HEAP32[$15>>2] = $55; + } + $405 = HEAP32[$9>>2]|0; + $406 = HEAP32[$8>>2]|0; + _disableTerm($405,$406); + $407 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $407; + $408 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($408|0); +} +function _codeExprOrVector($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $nCmp = sp + 16|0; - $i = sp + 12|0; - $aff = sp + 41|0; - $idxaff = sp + 40|0; - $pColl = sp + 8|0; - $pLhs = sp + 4|0; - $pRhs = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iCur; - HEAP32[$2>>2] = $pIdx; - HEAP32[$3>>2] = $nEq; - HEAP32[$4>>2] = $pTerm; - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3ExprVectorSize($8)|0); - HEAP32[$nCmp>>2] = $9; - $10 = HEAP32[$nCmp>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 52|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = HEAP32[$3>>2]|0; - $16 = (($14) - ($15))|0; - $17 = ($10|0)<($16|0); - if ($17) { - $18 = HEAP32[$nCmp>>2]|0; - $25 = $18; - } else { - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 52|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21&65535; - $23 = HEAP32[$3>>2]|0; - $24 = (($22) - ($23))|0; - $25 = $24; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $12 = HEAP32[$5>>2]|0; + $13 = (_sqlite3ExprIsVector($12)|0); + $14 = ($13|0)!=(0); + if (!($14)) { + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$6>>2]|0; + _sqlite3ExprCode($49,$50,$51); + STACKTOP = sp;return; + } + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & 2048; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$8>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = (_sqlite3CodeSubselect($23,$24,0,0)|0); + HEAP32[$9>>2] = $25; + $26 = HEAP32[$8>>2]|0; + $27 = HEAP32[$9>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = (($29) - 1)|0; + (_sqlite3VdbeAddOp3($26,84,$27,$28,$30)|0); + STACKTOP = sp;return; } - HEAP32[$nCmp>>2] = $25; - HEAP32[$i>>2] = 1; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 20|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$11>>2] = $33; + HEAP32[$10>>2] = 0; while(1) { - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$nCmp>>2]|0; - $28 = ($26|0)<($27|0); - if (!($28)) { - label = 17; + $34 = HEAP32[$10>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = ($34|0)<($35|0); + if (!($36)) { break; } - HEAP8[$idxaff>>0] = 0; - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$4>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($33)) + 20|0); - $35 = HEAP32[$34>>2]|0; - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + (($29*20)|0)|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$pLhs>>2] = $39; - $40 = HEAP32[$4>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = ((($41)) + 16|0); + $37 = HEAP32[$4>>2]|0; + $38 = HEAP32[$11>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$10>>2]|0; + $42 = (($40) + (($41*20)|0)|0); $43 = HEAP32[$42>>2]|0; - HEAP32[$pRhs>>2] = $43; - $44 = HEAP32[$pRhs>>2]|0; - $45 = ((($44)) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = $46 & 2048; - $48 = ($47|0)!=(0); - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$pRhs>>2]|0; - $51 = ((($50)) + 20|0); - if ($48) { - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + (($49*20)|0)|0); - $57 = HEAP32[$56>>2]|0; - HEAP32[$pRhs>>2] = $57; - } else { - $58 = HEAP32[$51>>2]|0; - $59 = ((($58)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = (($60) + (($49*20)|0)|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$pRhs>>2] = $62; - } - $63 = HEAP32[$pLhs>>2]|0; - $64 = HEAP8[$63>>0]|0; - $65 = $64&255; - $66 = ($65|0)!=(152); - if ($66) { - label = 17; + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$10>>2]|0; + $46 = (($44) + ($45))|0; + _sqlite3ExprCode($37,$43,$46); + $47 = HEAP32[$10>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$10>>2] = $48; + } + STACKTOP = sp;return; +} +function _disableTerm($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink5 = 0, $$sink7 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + label = 14; break; } - $67 = HEAP32[$pLhs>>2]|0; - $68 = ((($67)) + 28|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$1>>2]|0; - $71 = ($69|0)!=($70|0); - if ($71) { - label = 17; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 10|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = $10 & 4; + $12 = ($11|0)==(0); + if (!($12)) { + label = 14; break; } - $72 = HEAP32[$pLhs>>2]|0; - $73 = ((($72)) + 32|0); - $74 = HEAP16[$73>>1]|0; - $75 = $74 << 16 >> 16; - $76 = HEAP32[$i>>2]|0; - $77 = HEAP32[$3>>2]|0; - $78 = (($76) + ($77))|0; - $79 = HEAP32[$2>>2]|0; - $80 = ((($79)) + 4|0); - $81 = HEAP32[$80>>2]|0; - $82 = (($81) + ($78<<1)|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83 << 16 >> 16; - $85 = ($75|0)!=($84|0); - if ($85) { - label = 17; - break; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19 & 1; + $21 = ($20|0)!=(0); + if (!($21)) { + label = 14; + break; + } } - $86 = HEAP32[$i>>2]|0; - $87 = HEAP32[$3>>2]|0; - $88 = (($86) + ($87))|0; - $89 = HEAP32[$2>>2]|0; - $90 = ((($89)) + 28|0); - $91 = HEAP32[$90>>2]|0; - $92 = (($91) + ($88)|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $95 = HEAP32[$3>>2]|0; - $96 = HEAP32[$2>>2]|0; - $97 = ((($96)) + 28|0); - $98 = HEAP32[$97>>2]|0; - $99 = (($98) + ($95)|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100&255; - $102 = ($94|0)!=($101|0); - if ($102) { - label = 17; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 72|0); + $24 = $23; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 40|0); + $32 = $31; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = $26 & $34; + $39 = $29 & $37; + $40 = ($38|0)==(0); + $41 = ($39|0)==(0); + $42 = $40 & $41; + if (!($42)) { + label = 14; break; } - $103 = HEAP32[$pRhs>>2]|0; - $104 = HEAP32[$pLhs>>2]|0; - $105 = (_sqlite3ExprAffinity($104)|0); - $106 = (_sqlite3CompareAffinity($103,$105)|0); - HEAP8[$aff>>0] = $106; - $107 = HEAP32[$2>>2]|0; - $108 = ((($107)) + 12|0); - $109 = HEAP32[$108>>2]|0; - $110 = HEAP32[$pLhs>>2]|0; - $111 = ((($110)) + 32|0); - $112 = HEAP16[$111>>1]|0; - $113 = $112 << 16 >> 16; - $114 = (_sqlite3TableColumnAffinity($109,$113)|0); - HEAP8[$idxaff>>0] = $114; - $115 = HEAP8[$aff>>0]|0; - $116 = $115 << 24 >> 24; - $117 = HEAP8[$idxaff>>0]|0; - $118 = $117 << 24 >> 24; - $119 = ($116|0)!=($118|0); - if ($119) { - label = 17; - break; + $43 = HEAP32[$4>>2]|0; + $44 = ($43|0)!=(0); + if ($44) { + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 10|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47&65535; + $49 = $48 & 1024; + $50 = ($49|0)!=(0); + if ($50) { + $51 = HEAP32[$3>>2]|0; + $$sink5 = 512;$$sink7 = $51; + } else { + label = 10; + } + } else { + label = 10; } - $120 = HEAP32[$0>>2]|0; - $121 = HEAP32[$pLhs>>2]|0; - $122 = HEAP32[$pRhs>>2]|0; - $123 = (_sqlite3BinaryCompareCollSeq($120,$121,$122)|0); - HEAP32[$pColl>>2] = $123; - $124 = HEAP32[$pColl>>2]|0; - $125 = ($124|0)==(0|0); - if ($125) { - label = 17; + if ((label|0) == 10) { + label = 0; + $52 = HEAP32[$3>>2]|0; + $$sink5 = 4;$$sink7 = $52; + } + $53 = ((($$sink7)) + 10|0); + $54 = HEAP16[$53>>1]|0; + $55 = $54&65535; + $56 = $55 | $$sink5; + $57 = $56&65535; + HEAP16[$53>>1] = $57; + $58 = HEAP32[$3>>2]|0; + $59 = ((($58)) + 16|0); + $60 = HEAP32[$59>>2]|0; + $61 = ($60|0)<(0); + if ($61) { + label = 14; break; } - $126 = HEAP32[$pColl>>2]|0; - $127 = HEAP32[$126>>2]|0; - $128 = HEAP32[$i>>2]|0; - $129 = HEAP32[$3>>2]|0; - $130 = (($128) + ($129))|0; - $131 = HEAP32[$2>>2]|0; - $132 = ((($131)) + 32|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($133) + ($130<<2)|0); - $135 = HEAP32[$134>>2]|0; - $136 = (_sqlite3StrICmp($127,$135)|0); - $137 = ($136|0)!=(0); - if ($137) { - label = 17; + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = ((($64)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$3>>2]|0; + $68 = ((($67)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = (($66) + (($69*48)|0)|0); + HEAP32[$3>>2] = $70; + $71 = HEAP32[$3>>2]|0; + $72 = ((($71)) + 14|0); + $73 = HEAP8[$72>>0]|0; + $74 = (($73) + -1)<<24>>24; + HEAP8[$72>>0] = $74; + $75 = HEAP32[$3>>2]|0; + $76 = ((($75)) + 14|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = ($78|0)!=(0); + if ($79) { + label = 14; break; } - $138 = HEAP32[$i>>2]|0; - $139 = (($138) + 1)|0; - HEAP32[$i>>2] = $139; + $80 = HEAP32[$4>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$4>>2] = $81; } - if ((label|0) == 17) { - $140 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($140|0); + if ((label|0) == 14) { + STACKTOP = sp;return; } - return (0)|0; } -function _whereRangeScanEst($pParse,$pBuilder,$pLower,$pUpper,$pLoop) { - $pParse = $pParse|0; - $pBuilder = $pBuilder|0; - $pLower = $pLower|0; - $pUpper = $pUpper|0; - $pLoop = $pLoop|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nNew = 0, $nOut = 0, $or$cond = 0; - var $rc = 0, label = 0, sp = 0; +function _codeAllEqualityTerms($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $rc = sp + 4|0; - $nOut = sp; - $nNew = sp + 28|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pBuilder; - HEAP32[$2>>2] = $pLower; - HEAP32[$3>>2] = $pUpper; - HEAP32[$4>>2] = $pLoop; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 22|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7 << 16 >> 16; - HEAP32[$nOut>>2] = $8; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$nOut>>2]|0; - $11 = $10&65535; - $12 = (_whereRangeAdjust($9,$11)|0); - HEAP16[$nNew>>1] = $12; - $13 = HEAP32[$3>>2]|0; - $14 = HEAP16[$nNew>>1]|0; - $15 = (_whereRangeAdjust($13,$14)|0); - HEAP16[$nNew>>1] = $15; - $16 = HEAP32[$2>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20 << 16 >> 16; - $22 = ($21|0)>(0); - $23 = HEAP32[$3>>2]|0; - $24 = ($23|0)!=(0|0); - $or$cond = $22 & $24; - if ($or$cond) { - $25 = HEAP32[$3>>2]|0; - $26 = ((($25)) + 8|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27 << 16 >> 16; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP16[$nNew>>1]|0; - $31 = $30 << 16 >> 16; - $32 = (($31) - 20)|0; - $33 = $32&65535; - HEAP16[$nNew>>1] = $33; + STACKTOP = STACKTOP + 80|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 66|0; + $11 = sp + 64|0; + $12 = sp + 40|0; + $13 = sp + 36|0; + $14 = sp + 32|0; + $15 = sp + 28|0; + $16 = sp + 24|0; + $17 = sp + 20|0; + $18 = sp + 16|0; + $19 = sp + 12|0; + $20 = sp + 8|0; + $21 = sp + 4|0; + $22 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$12>>2] = $25; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 64|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$15>>2] = $28; + $29 = HEAP32[$15>>2]|0; + $30 = ((($29)) + 24|0); + $31 = HEAP16[$30>>1]|0; + HEAP16[$10>>1] = $31; + $32 = HEAP32[$15>>2]|0; + $33 = ((($32)) + 42|0); + $34 = HEAP16[$33>>1]|0; + HEAP16[$11>>1] = $34; + $35 = HEAP32[$15>>2]|0; + $36 = ((($35)) + 24|0); + $37 = ((($36)) + 8|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$13>>2] = $38; + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 44|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$17>>2] = $42; + $43 = HEAP32[$15>>2]|0; + $44 = ((($43)) + 24|0); + $45 = HEAP16[$44>>1]|0; + $46 = $45&65535; + $47 = HEAP32[$8>>2]|0; + $48 = (($46) + ($47))|0; + HEAP32[$18>>2] = $48; + $49 = HEAP32[$18>>2]|0; + $50 = HEAP32[$5>>2]|0; + $51 = ((($50)) + 44|0); + $52 = HEAP32[$51>>2]|0; + $53 = (($52) + ($49))|0; + HEAP32[$51>>2] = $53; + $54 = HEAP32[$5>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$5>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$13>>2]|0; + $59 = (_sqlite3IndexAffinityStr($57,$58)|0); + $60 = (_sqlite3DbStrDup($55,$59)|0); + HEAP32[$19>>2] = $60; + $61 = HEAP16[$11>>1]|0; + $62 = ($61<<16>>16)!=(0); + L1: do { + if ($62) { + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 8|0); + $65 = HEAP32[$64>>2]|0; + HEAP32[$20>>2] = $65; + $66 = HEAP32[$12>>2]|0; + $67 = HEAP32[$7>>2]|0; + $68 = ($67|0)!=(0); + $69 = $68 ? 53 : 57; + $70 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp1($66,$69,$70)|0); + $71 = HEAP32[$12>>2]|0; + $72 = (_sqlite3VdbeAddOp0($71,13)|0); + HEAP32[$16>>2] = $72; + $73 = HEAP32[$12>>2]|0; + $74 = HEAP32[$7>>2]|0; + $75 = ($74|0)!=(0); + $76 = $75 ? 23 : 26; + $77 = HEAP32[$20>>2]|0; + $78 = HEAP32[$17>>2]|0; + $79 = HEAP16[$11>>1]|0; + $80 = $79&65535; + $81 = (_sqlite3VdbeAddOp4Int($73,$76,$77,0,$78,$80)|0); + $82 = HEAP32[$6>>2]|0; + $83 = ((($82)) + 20|0); + HEAP32[$83>>2] = $81; + $84 = HEAP32[$12>>2]|0; + $85 = HEAP32[$16>>2]|0; + _sqlite3VdbeJumpHere($84,$85); + HEAP32[$16>>2] = 0; + while(1) { + $86 = HEAP32[$16>>2]|0; + $87 = HEAP16[$11>>1]|0; + $88 = $87&65535; + $89 = ($86|0)<($88|0); + if (!($89)) { + break L1; + } + $90 = HEAP32[$12>>2]|0; + $91 = HEAP32[$20>>2]|0; + $92 = HEAP32[$16>>2]|0; + $93 = HEAP32[$17>>2]|0; + $94 = HEAP32[$16>>2]|0; + $95 = (($93) + ($94))|0; + (_sqlite3VdbeAddOp3($90,96,$91,$92,$95)|0); + $96 = HEAP32[$16>>2]|0; + $97 = (($96) + 1)|0; + HEAP32[$16>>2] = $97; } } - } - $34 = HEAP32[$2>>2]|0; - $35 = ($34|0)!=(0|0); - $36 = $35&1; - $37 = HEAP32[$3>>2]|0; - $38 = ($37|0)!=(0|0); - $39 = $38&1; - $40 = (($36) + ($39))|0; - $41 = HEAP32[$nOut>>2]|0; - $42 = (($41) - ($40))|0; - HEAP32[$nOut>>2] = $42; - $43 = HEAP16[$nNew>>1]|0; - $44 = $43 << 16 >> 16; - $45 = ($44|0)<(10); - if ($45) { - HEAP16[$nNew>>1] = 10; - } - $46 = HEAP16[$nNew>>1]|0; - $47 = $46 << 16 >> 16; - $48 = HEAP32[$nOut>>2]|0; - $49 = ($47|0)<($48|0); - if (!($49)) { - $52 = HEAP32[$nOut>>2]|0; - $53 = $52&65535; - $54 = HEAP32[$4>>2]|0; - $55 = ((($54)) + 22|0); - HEAP16[$55>>1] = $53; - $56 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($56|0); - } - $50 = HEAP16[$nNew>>1]|0; - $51 = $50 << 16 >> 16; - HEAP32[$nOut>>2] = $51; - $52 = HEAP32[$nOut>>2]|0; - $53 = $52&65535; - $54 = HEAP32[$4>>2]|0; - $55 = ((($54)) + 22|0); - HEAP16[$55>>1] = $53; - $56 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($56|0); -} -function _whereRangeAdjust($pTerm,$nNew) { - $pTerm = $pTerm|0; - $nNew = $nNew|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nRet = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 6|0; - $nRet = sp + 4|0; - HEAP32[$0>>2] = $pTerm; - HEAP16[$1>>1] = $nNew; - $2 = HEAP16[$1>>1]|0; - HEAP16[$nRet>>1] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)!=(0|0); - do { - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7 << 16 >> 16; - $9 = ($8|0)<=(0); - $10 = HEAP32[$0>>2]|0; - if ($9) { - $11 = ((($10)) + 8|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12 << 16 >> 16; - $14 = HEAP16[$nRet>>1]|0; - $15 = $14 << 16 >> 16; - $16 = (($15) + ($13))|0; - $17 = $16&65535; - HEAP16[$nRet>>1] = $17; - break; + } while(0); + $98 = HEAP16[$11>>1]|0; + $99 = $98&65535; + HEAP32[$16>>2] = $99; + while(1) { + $100 = HEAP32[$16>>2]|0; + $101 = HEAP16[$10>>1]|0; + $102 = $101&65535; + $103 = ($100|0)<($102|0); + if (!($103)) { + break; + } + $104 = HEAP32[$15>>2]|0; + $105 = ((($104)) + 48|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$16>>2]|0; + $108 = (($106) + ($107<<2)|0); + $109 = HEAP32[$108>>2]|0; + HEAP32[$14>>2] = $109; + $110 = HEAP32[$5>>2]|0; + $111 = HEAP32[$14>>2]|0; + $112 = HEAP32[$6>>2]|0; + $113 = HEAP32[$16>>2]|0; + $114 = HEAP32[$7>>2]|0; + $115 = HEAP32[$17>>2]|0; + $116 = HEAP32[$16>>2]|0; + $117 = (($115) + ($116))|0; + $118 = (_codeEqualityTerm($110,$111,$112,$113,$114,$117)|0); + HEAP32[$21>>2] = $118; + $119 = HEAP32[$21>>2]|0; + $120 = HEAP32[$17>>2]|0; + $121 = HEAP32[$16>>2]|0; + $122 = (($120) + ($121))|0; + $123 = ($119|0)!=($122|0); + do { + if ($123) { + $124 = HEAP32[$18>>2]|0; + $125 = ($124|0)==(1); + if ($125) { + $126 = HEAP32[$5>>2]|0; + $127 = HEAP32[$17>>2]|0; + _sqlite3ReleaseTempReg($126,$127); + $128 = HEAP32[$21>>2]|0; + HEAP32[$17>>2] = $128; + break; + } else { + $129 = HEAP32[$12>>2]|0; + $130 = HEAP32[$21>>2]|0; + $131 = HEAP32[$17>>2]|0; + $132 = HEAP32[$16>>2]|0; + $133 = (($131) + ($132))|0; + (_sqlite3VdbeAddOp2($129,85,$130,$133)|0); + break; + } } - $18 = ((($10)) + 10|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 & 0; - $22 = ($21|0)==(0); - if ($22) { - $23 = HEAP16[$nRet>>1]|0; - $24 = $23 << 16 >> 16; - $25 = (($24) - 20)|0; - $26 = $25&65535; - HEAP16[$nRet>>1] = $26; + } while(0); + $134 = HEAP32[$14>>2]|0; + $135 = ((($134)) + 12|0); + $136 = HEAP16[$135>>1]|0; + $137 = $136&65535; + $138 = $137 & 1; + $139 = ($138|0)!=(0); + $140 = HEAP32[$14>>2]|0; + if ($139) { + $141 = HEAP32[$140>>2]|0; + $142 = ((($141)) + 4|0); + $143 = HEAP32[$142>>2]|0; + $144 = $143 & 2048; + $145 = ($144|0)!=(0); + $146 = HEAP32[$19>>2]|0; + $147 = ($146|0)!=(0|0); + $or$cond = $145 & $147; + if ($or$cond) { + $148 = HEAP32[$19>>2]|0; + $149 = HEAP32[$16>>2]|0; + $150 = (($148) + ($149)|0); + HEAP8[$150>>0] = 65; } - } - } while(0); - $27 = HEAP16[$nRet>>1]|0; - STACKTOP = sp;return ($27|0); -} -function _exprIdxCover($pWalker,$pExpr) { - $pWalker = $pWalker|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $pExpr; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(152); - if ($6) { - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 24|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($9|0)==($14|0); - if ($15) { - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 24|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 32|0); - $22 = HEAP16[$21>>1]|0; - $23 = (_sqlite3ColumnOfIndex($19,$22)|0); - $24 = $23 << 16 >> 16; - $25 = ($24|0)<(0); - if ($25) { - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 20|0); - HEAP8[$27>>0] = 1; - HEAP32[$0>>2] = 2; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + } else { + $151 = ((($140)) + 12|0); + $152 = HEAP16[$151>>1]|0; + $153 = $152&65535; + $154 = $153 & 256; + $155 = ($154|0)==(0); + if ($155) { + $156 = HEAP32[$14>>2]|0; + $157 = HEAP32[$156>>2]|0; + $158 = ((($157)) + 16|0); + $159 = HEAP32[$158>>2]|0; + HEAP32[$22>>2] = $159; + $160 = HEAP32[$14>>2]|0; + $161 = ((($160)) + 10|0); + $162 = HEAP16[$161>>1]|0; + $163 = $162&65535; + $164 = $163 & 2048; + $165 = ($164|0)==(0); + if ($165) { + $166 = HEAP32[$22>>2]|0; + $167 = (_sqlite3ExprCanBeNull($166)|0); + $168 = ($167|0)!=(0); + if ($168) { + $169 = HEAP32[$12>>2]|0; + $170 = HEAP32[$17>>2]|0; + $171 = HEAP32[$16>>2]|0; + $172 = (($170) + ($171))|0; + $173 = HEAP32[$6>>2]|0; + $174 = ((($173)) + 12|0); + $175 = HEAP32[$174>>2]|0; + (_sqlite3VdbeAddOp2($169,34,$172,$175)|0); + } + } + $176 = HEAP32[$19>>2]|0; + $177 = ($176|0)!=(0|0); + if ($177) { + $178 = HEAP32[$22>>2]|0; + $179 = HEAP32[$19>>2]|0; + $180 = HEAP32[$16>>2]|0; + $181 = (($179) + ($180)|0); + $182 = HEAP8[$181>>0]|0; + $183 = (_sqlite3CompareAffinity($178,$182)|0); + $184 = $183 << 24 >> 24; + $185 = ($184|0)==(65); + if ($185) { + $186 = HEAP32[$19>>2]|0; + $187 = HEAP32[$16>>2]|0; + $188 = (($186) + ($187)|0); + HEAP8[$188>>0] = 65; + } + $189 = HEAP32[$22>>2]|0; + $190 = HEAP32[$19>>2]|0; + $191 = HEAP32[$16>>2]|0; + $192 = (($190) + ($191)|0); + $193 = HEAP8[$192>>0]|0; + $194 = (_sqlite3ExprNeedsNoAffinityChange($189,$193)|0); + $195 = ($194|0)!=(0); + if ($195) { + $196 = HEAP32[$19>>2]|0; + $197 = HEAP32[$16>>2]|0; + $198 = (($196) + ($197)|0); + HEAP8[$198>>0] = 65; + } + } } } + $199 = HEAP32[$16>>2]|0; + $200 = (($199) + 1)|0; + HEAP32[$16>>2] = $200; } - HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $201 = HEAP32[$19>>2]|0; + $202 = HEAP32[$9>>2]|0; + HEAP32[$202>>2] = $201; + $203 = HEAP32[$17>>2]|0; + STACKTOP = sp;return ($203|0); } -function _sqlite3ExprImpliesExpr($pE1,$pE2,$iTab) { - $pE1 = $pE1|0; - $pE2 = $pE2|0; - $iTab = $iTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _whereLikeOptimizationStringFixup($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, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$1>>2] = $pE1; - HEAP32[$2>>2] = $pE2; - HEAP32[$3>>2] = $iTab; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$3>>2]|0; - $7 = (_sqlite3ExprCompare($4,$5,$6)|0); - $8 = ($7|0)==(0); - if ($8) { - HEAP32[$0>>2] = 1; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + $8 = ((($7)) + 10|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = $10 & 256; + $12 = ($11|0)!=(0); + if (!($12)) { + STACKTOP = sp;return; } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)==(27); - do { - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = (_sqlite3ExprImpliesExpr($13,$16,$17)|0); - $19 = ($18|0)!=(0); - if (!($19)) { - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 16|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$3>>2]|0; - $25 = (_sqlite3ExprImpliesExpr($20,$23,$24)|0); - $26 = ($25|0)!=(0); - if (!($26)) { - break; - } - } - HEAP32[$0>>2] = 1; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); + $13 = HEAP32[$3>>2]|0; + $14 = (_sqlite3VdbeGetOp($13,-1)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 36|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 >>> 1; + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 12|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 36|0); + $23 = HEAP32[$22>>2]|0; + $24 = $23 & 1; + $25 = $24&255; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 3|0); + HEAP8[$27>>0] = $25; + STACKTOP = sp;return; +} +function _updateRangeAffinityStr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + while(1) { + $8 = HEAP32[$6>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = ($8|0)<($9|0); + if (!($10)) { + break; } - } while(0); - $27 = HEAP32[$2>>2]|0; - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)==(35); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 12|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$3>>2]|0; - $38 = (_sqlite3ExprCompare($33,$36,$37)|0); - $39 = ($38|0)==(0); - if ($39) { - $40 = HEAP32[$1>>2]|0; - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = ($42|0)!=(34); - if ($43) { - $44 = HEAP32[$1>>2]|0; - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $47 = ($46|0)!=(29); - if ($47) { - HEAP32[$0>>2] = 1; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - } + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = (_sqlite3VectorFieldSubexpr($11,$12)|0); + HEAP32[$7>>2] = $13; + $14 = HEAP32[$7>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = (($15) + ($16)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (_sqlite3CompareAffinity($14,$18)|0); + $20 = $19 << 24 >> 24; + $21 = ($20|0)==(65); + if ($21) { + label = 5; + } else { + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = (($23) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = (_sqlite3ExprNeedsNoAffinityChange($22,$26)|0); + $28 = ($27|0)!=(0); + if ($28) { + label = 5; } } + if ((label|0) == 5) { + label = 0; + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = (($29) + ($30)|0); + HEAP8[$31>>0] = 65; + } + $32 = HEAP32[$6>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$6>>2] = $33; } - HEAP32[$0>>2] = 0; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); + STACKTOP = sp;return; } -function _allocateIndexInfo($pParse,$pWC,$0,$1,$pSrc,$pOrderBy,$pmNoOmit) { - $pParse = $pParse|0; - $pWC = $pWC|0; +function _codeApplyAffinity($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - $pSrc = $pSrc|0; - $pOrderBy = $pOrderBy|0; - $pmNoOmit = $pmNoOmit|0; - var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $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, $i = 0, $j = 0, $mNoOmit = 0; - var $n = 0, $nOrderBy = 0, $nTerm = 0, $op = 0, $pExpr = 0, $pExpr1 = 0, $pIdxCons = 0, $pIdxInfo = 0, $pIdxOrderBy = 0, $pTerm = 0, $pUsage = 0, $vararg_buffer = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer = sp + 8|0; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp; - $6 = sp + 68|0; - $7 = sp + 64|0; - $8 = sp + 60|0; - $i = sp + 56|0; - $j = sp + 52|0; - $nTerm = sp + 48|0; - $pIdxCons = sp + 44|0; - $pIdxOrderBy = sp + 40|0; - $pUsage = sp + 36|0; - $pTerm = sp + 32|0; - $nOrderBy = sp + 28|0; - $pIdxInfo = sp + 24|0; - $mNoOmit = sp + 84|0; - $n = sp + 20|0; - $pExpr = sp + 16|0; - $op = sp + 86|0; - $pExpr1 = sp + 12|0; - HEAP32[$3>>2] = $pParse; - HEAP32[$4>>2] = $pWC; - $9 = $5; - $10 = $9; - HEAP32[$10>>2] = $0; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = $1; - HEAP32[$6>>2] = $pSrc; - HEAP32[$7>>2] = $pOrderBy; - HEAP32[$8>>2] = $pmNoOmit; - HEAP16[$mNoOmit>>1] = 0; - HEAP32[$nTerm>>2] = 0; - HEAP32[$i>>2] = 0; - $13 = HEAP32[$4>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$pTerm>>2] = $15; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$8>>2] = $11; + $12 = HEAP32[$7>>2]|0; + $13 = ($12|0)==(0|0); + if ($13) { + STACKTOP = sp;return; + } while(1) { - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$4>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($16|0)<($19|0); - if (!($20)) { + $14 = HEAP32[$6>>2]|0; + $15 = ($14|0)>(0); + if (!($15)) { break; } - $21 = HEAP32[$pTerm>>2]|0; - $22 = ((($21)) + 20|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$6>>2]|0; - $25 = ((($24)) + 44|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($23|0)!=($26|0); - if (!($27)) { - $28 = HEAP32[$pTerm>>2]|0; - $29 = ((($28)) + 32|0); - $30 = $29; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = $5; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = $32 & $38; - $43 = $35 & $41; - $44 = ($42|0)!=(0); - $45 = ($43|0)!=(0); - $46 = $44 | $45; - if (!($46)) { - $47 = HEAP32[$pTerm>>2]|0; - $48 = ((($47)) + 12|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49&65535; - $51 = $50 & -2433; - $52 = ($51|0)==(0); - if (!($52)) { - $53 = HEAP32[$pTerm>>2]|0; - $54 = ((($53)) + 10|0); - $55 = HEAP16[$54>>1]|0; - $56 = $55&65535; - $57 = $56 & 0; - $58 = ($57|0)!=(0); - if (!($58)) { - $59 = HEAP32[$nTerm>>2]|0; - $60 = (($59) + 1)|0; - HEAP32[$nTerm>>2] = $60; - } - } - } + $16 = HEAP32[$7>>2]|0; + $17 = HEAP8[$16>>0]|0; + $18 = $17 << 24 >> 24; + $19 = ($18|0)==(65); + if (!($19)) { + break; } - $61 = HEAP32[$i>>2]|0; - $62 = (($61) + 1)|0; - HEAP32[$i>>2] = $62; - $63 = HEAP32[$pTerm>>2]|0; - $64 = ((($63)) + 48|0); - HEAP32[$pTerm>>2] = $64; + $20 = HEAP32[$6>>2]|0; + $21 = (($20) + -1)|0; + HEAP32[$6>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = (($22) + 1)|0; + HEAP32[$5>>2] = $23; + $24 = HEAP32[$7>>2]|0; + $25 = ((($24)) + 1|0); + HEAP32[$7>>2] = $25; } - HEAP32[$nOrderBy>>2] = 0; - $65 = HEAP32[$7>>2]|0; - $66 = ($65|0)!=(0|0); - if ($66) { - $67 = HEAP32[$7>>2]|0; - $68 = HEAP32[$67>>2]|0; - HEAP32[$n>>2] = $68; - HEAP32[$i>>2] = 0; - while(1) { - $69 = HEAP32[$i>>2]|0; - $70 = HEAP32[$n>>2]|0; - $71 = ($69|0)<($70|0); - if (!($71)) { - break; - } - $72 = HEAP32[$i>>2]|0; - $73 = HEAP32[$7>>2]|0; - $74 = ((($73)) + 4|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($75) + (($72*20)|0)|0); - $77 = HEAP32[$76>>2]|0; - HEAP32[$pExpr>>2] = $77; - $78 = HEAP32[$pExpr>>2]|0; - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = ($80|0)!=(152); - if ($81) { - break; - } - $82 = HEAP32[$pExpr>>2]|0; - $83 = ((($82)) + 28|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$6>>2]|0; - $86 = ((($85)) + 44|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($84|0)!=($87|0); - if ($88) { - break; - } - $89 = HEAP32[$i>>2]|0; - $90 = (($89) + 1)|0; - HEAP32[$i>>2] = $90; - } - $91 = HEAP32[$i>>2]|0; - $92 = HEAP32[$n>>2]|0; - $93 = ($91|0)==($92|0); - if ($93) { - $94 = HEAP32[$n>>2]|0; - HEAP32[$nOrderBy>>2] = $94; - } - } - $95 = HEAP32[$3>>2]|0; - $96 = HEAP32[$95>>2]|0; - $97 = HEAP32[$nTerm>>2]|0; - $98 = ($97*20)|0; - $99 = (72 + ($98))|0; - $100 = HEAP32[$nOrderBy>>2]|0; - $101 = $100<<3; - $102 = (($99) + ($101))|0; - $103 = (_sqlite3DbMallocZero($96,$102,0)|0); - HEAP32[$pIdxInfo>>2] = $103; - $104 = HEAP32[$pIdxInfo>>2]|0; - $105 = ($104|0)==(0|0); - if ($105) { - $106 = HEAP32[$3>>2]|0; - _sqlite3ErrorMsg($106,25016,$vararg_buffer); - HEAP32[$2>>2] = 0; - $277 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($277|0); - } - $107 = HEAP32[$pIdxInfo>>2]|0; - $108 = ((($107)) + 72|0); - HEAP32[$pIdxCons>>2] = $108; - $109 = HEAP32[$nTerm>>2]|0; - $110 = HEAP32[$pIdxCons>>2]|0; - $111 = (($110) + (($109*12)|0)|0); - HEAP32[$pIdxOrderBy>>2] = $111; - $112 = HEAP32[$nOrderBy>>2]|0; - $113 = HEAP32[$pIdxOrderBy>>2]|0; - $114 = (($113) + ($112<<3)|0); - HEAP32[$pUsage>>2] = $114; - $115 = HEAP32[$nTerm>>2]|0; - $116 = HEAP32[$pIdxInfo>>2]|0; - HEAP32[$116>>2] = $115; - $117 = HEAP32[$nOrderBy>>2]|0; - $118 = HEAP32[$pIdxInfo>>2]|0; - $119 = ((($118)) + 8|0); - HEAP32[$119>>2] = $117; - $120 = HEAP32[$pIdxCons>>2]|0; - $121 = HEAP32[$pIdxInfo>>2]|0; - $122 = ((($121)) + 4|0); - HEAP32[$122>>2] = $120; - $123 = HEAP32[$pIdxOrderBy>>2]|0; - $124 = HEAP32[$pIdxInfo>>2]|0; - $125 = ((($124)) + 12|0); - HEAP32[$125>>2] = $123; - $126 = HEAP32[$pUsage>>2]|0; - $127 = HEAP32[$pIdxInfo>>2]|0; - $128 = ((($127)) + 16|0); - HEAP32[$128>>2] = $126; - HEAP32[$j>>2] = 0; - HEAP32[$i>>2] = 0; - $129 = HEAP32[$4>>2]|0; - $130 = ((($129)) + 20|0); - $131 = HEAP32[$130>>2]|0; - HEAP32[$pTerm>>2] = $131; while(1) { - $132 = HEAP32[$i>>2]|0; - $133 = HEAP32[$4>>2]|0; - $134 = ((($133)) + 12|0); - $135 = HEAP32[$134>>2]|0; - $136 = ($132|0)<($135|0); - if (!($136)) { - break; + $26 = HEAP32[$6>>2]|0; + $27 = ($26|0)>(1); + if ($27) { + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$6>>2]|0; + $30 = (($29) - 1)|0; + $31 = (($28) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($33|0)==(65); + $46 = $34; + } else { + $46 = 0; } - $137 = HEAP32[$pTerm>>2]|0; - $138 = ((($137)) + 20|0); - $139 = HEAP32[$138>>2]|0; - $140 = HEAP32[$6>>2]|0; - $141 = ((($140)) + 44|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($139|0)!=($142|0); - if (!($143)) { - $144 = HEAP32[$pTerm>>2]|0; - $145 = ((($144)) + 32|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $5; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = (($152) + 4)|0; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = $148 & $154; - $159 = $151 & $157; - $160 = ($158|0)!=(0); - $161 = ($159|0)!=(0); - $162 = $160 | $161; - if (!($162)) { - $163 = HEAP32[$pTerm>>2]|0; - $164 = ((($163)) + 12|0); - $165 = HEAP16[$164>>1]|0; - $166 = $165&65535; - $167 = $166 & -2433; - $168 = ($167|0)==(0); - if (!($168)) { - $169 = HEAP32[$pTerm>>2]|0; - $170 = ((($169)) + 10|0); - $171 = HEAP16[$170>>1]|0; - $172 = $171&65535; - $173 = $172 & 0; - $174 = ($173|0)!=(0); - if (!($174)) { - $175 = HEAP32[$pTerm>>2]|0; - $176 = ((($175)) + 28|0); - $177 = HEAP32[$176>>2]|0; - $178 = HEAP32[$j>>2]|0; - $179 = HEAP32[$pIdxCons>>2]|0; - $180 = (($179) + (($178*12)|0)|0); - HEAP32[$180>>2] = $177; - $181 = HEAP32[$i>>2]|0; - $182 = HEAP32[$j>>2]|0; - $183 = HEAP32[$pIdxCons>>2]|0; - $184 = (($183) + (($182*12)|0)|0); - $185 = ((($184)) + 8|0); - HEAP32[$185>>2] = $181; - $186 = HEAP32[$pTerm>>2]|0; - $187 = ((($186)) + 12|0); - $188 = HEAP16[$187>>1]|0; - $189 = $188&255; - $190 = $189&255; - $191 = $190 & 8191; - $192 = $191&255; - HEAP8[$op>>0] = $192; - $193 = HEAP8[$op>>0]|0; - $194 = $193&255; - $195 = ($194|0)==(1); - $$ = $195 ? 2 : $192; - HEAP8[$op>>0] = $$; - $196 = HEAP8[$op>>0]|0; - $197 = $196&255; - $198 = ($197|0)==(64); - if ($198) { - $199 = HEAP32[$pTerm>>2]|0; - $200 = ((($199)) + 15|0); - $201 = HEAP8[$200>>0]|0; - HEAP8[$op>>0] = $201; - } - $202 = HEAP8[$op>>0]|0; - $203 = HEAP32[$j>>2]|0; - $204 = HEAP32[$pIdxCons>>2]|0; - $205 = (($204) + (($203*12)|0)|0); - $206 = ((($205)) + 4|0); - HEAP8[$206>>0] = $202; - $207 = HEAP8[$op>>0]|0; - $208 = $207&255; - $209 = $208 & 60; - $210 = ($209|0)!=(0); - if ($210) { - $211 = HEAP32[$pTerm>>2]|0; - $212 = HEAP32[$211>>2]|0; - $213 = ((($212)) + 16|0); - $214 = HEAP32[$213>>2]|0; - $215 = (_sqlite3ExprIsVector($214)|0); - $216 = ($215|0)!=(0); - if ($216) { - $217 = HEAP32[$i>>2]|0; - $218 = ($217|0)<(16); - if ($218) { - $219 = HEAP32[$i>>2]|0; - $220 = 1 << $219; - $221 = HEAP16[$mNoOmit>>1]|0; - $222 = $221&65535; - $223 = $222 | $220; - $224 = $223&65535; - HEAP16[$mNoOmit>>1] = $224; - } - $225 = HEAP8[$op>>0]|0; - $226 = $225&255; - $227 = ($226|0)==(16); - if ($227) { - $228 = HEAP32[$j>>2]|0; - $229 = HEAP32[$pIdxCons>>2]|0; - $230 = (($229) + (($228*12)|0)|0); - $231 = ((($230)) + 4|0); - HEAP8[$231>>0] = 8; - } - $232 = HEAP8[$op>>0]|0; - $233 = $232&255; - $234 = ($233|0)==(4); - if ($234) { - $235 = HEAP32[$j>>2]|0; - $236 = HEAP32[$pIdxCons>>2]|0; - $237 = (($236) + (($235*12)|0)|0); - $238 = ((($237)) + 4|0); - HEAP8[$238>>0] = 32; - } - } - } - $239 = HEAP32[$j>>2]|0; - $240 = (($239) + 1)|0; - HEAP32[$j>>2] = $240; - } - } - } + $35 = HEAP32[$6>>2]|0; + if (!($46)) { + break; } - $241 = HEAP32[$i>>2]|0; - $242 = (($241) + 1)|0; - HEAP32[$i>>2] = $242; - $243 = HEAP32[$pTerm>>2]|0; - $244 = ((($243)) + 48|0); - HEAP32[$pTerm>>2] = $244; + $36 = (($35) + -1)|0; + HEAP32[$6>>2] = $36; + } + $37 = ($35|0)>(0); + if (!($37)) { + STACKTOP = sp;return; + } + $38 = HEAP32[$8>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp4($38,98,$39,$40,0,$41,$42)|0); + $43 = HEAP32[$4>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = HEAP32[$6>>2]|0; + _sqlite3ExprCacheAffinityChange($43,$44,$45); + STACKTOP = sp;return; +} +function _codeDeferredSeek($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, $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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$8>>2] = $14; + $15 = HEAP32[$8>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$9>>2] = $17; + $18 = HEAP32[$9>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = HEAP32[$6>>2]|0; + (_sqlite3VdbeAddOp3($18,128,$19,0,$20)|0); + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 40|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23&65535; + $25 = $24 & 32; + $26 = ($25|0)!=(0); + if (!($26)) { + STACKTOP = sp;return; + } + $27 = HEAP32[$8>>2]|0; + $28 = ((($27)) + 124|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0|0); + $31 = HEAP32[$8>>2]|0; + if ($30) { + $32 = ((($31)) + 124|0); + $33 = HEAP32[$32>>2]|0; + $35 = $33; + } else { + $35 = $31; + } + $34 = ((($35)) + 92|0); + $36 = HEAP32[$34>>2]|0; + $37 = ($36|0)==(0); + if (!($37)) { + STACKTOP = sp;return; + } + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$11>>2] = $40; + $41 = HEAP32[$8>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$11>>2]|0; + $44 = ((($43)) + 34|0); + $45 = HEAP16[$44>>1]|0; + $46 = $45 << 16 >> 16; + $47 = (($46) + 1)|0; + $48 = $47<<2; + $49 = (_sqlite3DbMallocZero($42,$48,0)|0); + HEAP32[$12>>2] = $49; + $50 = HEAP32[$12>>2]|0; + $51 = ($50|0)!=(0|0); + if (!($51)) { + STACKTOP = sp;return; } - HEAP32[$i>>2] = 0; + $52 = HEAP32[$11>>2]|0; + $53 = ((($52)) + 34|0); + $54 = HEAP16[$53>>1]|0; + $55 = $54 << 16 >> 16; + $56 = HEAP32[$12>>2]|0; + HEAP32[$56>>2] = $55; + HEAP32[$10>>2] = 0; while(1) { - $245 = HEAP32[$i>>2]|0; - $246 = HEAP32[$nOrderBy>>2]|0; - $247 = ($245|0)<($246|0); - if (!($247)) { + $57 = HEAP32[$10>>2]|0; + $58 = HEAP32[$5>>2]|0; + $59 = ((($58)) + 52|0); + $60 = HEAP16[$59>>1]|0; + $61 = $60&65535; + $62 = (($61) - 1)|0; + $63 = ($57|0)<($62|0); + if (!($63)) { break; } - $248 = HEAP32[$i>>2]|0; - $249 = HEAP32[$7>>2]|0; - $250 = ((($249)) + 4|0); - $251 = HEAP32[$250>>2]|0; - $252 = (($251) + (($248*20)|0)|0); - $253 = HEAP32[$252>>2]|0; - HEAP32[$pExpr1>>2] = $253; - $254 = HEAP32[$pExpr1>>2]|0; - $255 = ((($254)) + 32|0); - $256 = HEAP16[$255>>1]|0; - $257 = $256 << 16 >> 16; - $258 = HEAP32[$i>>2]|0; - $259 = HEAP32[$pIdxOrderBy>>2]|0; - $260 = (($259) + ($258<<3)|0); - HEAP32[$260>>2] = $257; - $261 = HEAP32[$i>>2]|0; - $262 = HEAP32[$7>>2]|0; - $263 = ((($262)) + 4|0); - $264 = HEAP32[$263>>2]|0; - $265 = (($264) + (($261*20)|0)|0); - $266 = ((($265)) + 12|0); - $267 = HEAP8[$266>>0]|0; - $268 = HEAP32[$i>>2]|0; - $269 = HEAP32[$pIdxOrderBy>>2]|0; - $270 = (($269) + ($268<<3)|0); - $271 = ((($270)) + 4|0); - HEAP8[$271>>0] = $267; - $272 = HEAP32[$i>>2]|0; - $273 = (($272) + 1)|0; - HEAP32[$i>>2] = $273; + $64 = HEAP32[$5>>2]|0; + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$10>>2]|0; + $68 = (($66) + ($67<<1)|0); + $69 = HEAP16[$68>>1]|0; + $70 = $69 << 16 >> 16; + $71 = ($70|0)>=(0); + if ($71) { + $72 = HEAP32[$10>>2]|0; + $73 = (($72) + 1)|0; + $74 = HEAP32[$12>>2]|0; + $75 = HEAP32[$5>>2]|0; + $76 = ((($75)) + 4|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$10>>2]|0; + $79 = (($77) + ($78<<1)|0); + $80 = HEAP16[$79>>1]|0; + $81 = $80 << 16 >> 16; + $82 = (($81) + 1)|0; + $83 = (($74) + ($82<<2)|0); + HEAP32[$83>>2] = $73; + } + $84 = HEAP32[$10>>2]|0; + $85 = (($84) + 1)|0; + HEAP32[$10>>2] = $85; } - $274 = HEAP16[$mNoOmit>>1]|0; - $275 = HEAP32[$8>>2]|0; - HEAP16[$275>>1] = $274; - $276 = HEAP32[$pIdxInfo>>2]|0; - HEAP32[$2>>2] = $276; - $277 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($277|0); + $86 = HEAP32[$9>>2]|0; + $87 = HEAP32[$12>>2]|0; + _sqlite3VdbeChangeP4($86,-1,$87,-15); + STACKTOP = sp;return; } -function _whereLoopAddVirtualOne($pBuilder,$0,$1,$2,$3,$mExclude,$pIdxInfo,$mNoOmit,$pbIn) { - $pBuilder = $pBuilder|0; +function _sqlite3ExprCodeGetColumnToReg($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; - $mExclude = $mExclude|0; - $pIdxInfo = $pIdxInfo|0; - $mNoOmit = $mNoOmit|0; - $pbIn = $pbIn|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; - var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; - var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; - var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; - var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; - var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; - var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $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.0, $333 = 0, $334 = 0, $335 = 0; - var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; - var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; - var $372 = 0, $373 = 0, $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, $i = 0, $iTerm = 0, $j = 0, $mxTerm = 0, $nConstraint = 0, $or$cond = 0, $pIdxCons = 0, $pNew = 0, $pParse = 0, $pSrc = 0; - var $pTerm = 0, $pTerm1 = 0, $pUsage = 0, $pWC = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; + $4 = $4|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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer = sp + 16|0; - $4 = sp + 88|0; - $5 = sp + 84|0; - $6 = sp + 8|0; - $7 = sp; - $8 = sp + 94|0; - $9 = sp + 80|0; - $10 = sp + 92|0; - $11 = sp + 76|0; - $pWC = sp + 72|0; - $pIdxCons = sp + 68|0; - $pUsage = sp + 64|0; - $i = sp + 60|0; - $mxTerm = sp + 56|0; - $rc = sp + 52|0; - $pNew = sp + 48|0; - $pParse = sp + 44|0; - $pSrc = sp + 40|0; - $nConstraint = sp + 36|0; - $pTerm = sp + 32|0; - $iTerm = sp + 28|0; - $pTerm1 = sp + 24|0; - $j = sp + 20|0; - HEAP32[$5>>2] = $pBuilder; - $12 = $6; - $13 = $12; - HEAP32[$13>>2] = $0; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = $1; - $16 = $7; - $17 = $16; - HEAP32[$17>>2] = $2; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $3; - HEAP16[$8>>1] = $mExclude; - HEAP32[$9>>2] = $pIdxInfo; - HEAP16[$10>>1] = $mNoOmit; - HEAP32[$11>>2] = $pbIn; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$9>>2]|0; + $16 = (_sqlite3ExprCodeGetColumn($11,$12,$13,$14,$15,0)|0); + HEAP32[$10>>2] = $16; + $17 = HEAP32[$10>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = ($17|0)!=($18|0); + if (!($19)) { + STACKTOP = sp;return; + } $20 = HEAP32[$5>>2]|0; - $21 = ((($20)) + 4|0); + $21 = ((($20)) + 8|0); $22 = HEAP32[$21>>2]|0; - HEAP32[$pWC>>2] = $22; - $23 = HEAP32[$9>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pUsage>>2] = $25; - HEAP32[$rc>>2] = 0; - $26 = HEAP32[$5>>2]|0; - $27 = ((($26)) + 12|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$pNew>>2] = $28; - $29 = HEAP32[$5>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$30>>2]|0; - HEAP32[$pParse>>2] = $31; - $32 = HEAP32[$pNew>>2]|0; - $33 = ((($32)) + 16|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = HEAP32[$5>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = ((($39)) + 8|0); - $41 = (($40) + (($35*72)|0)|0); - HEAP32[$pSrc>>2] = $41; - $42 = HEAP32[$9>>2]|0; - $43 = HEAP32[$42>>2]|0; - HEAP32[$nConstraint>>2] = $43; - $44 = HEAP32[$11>>2]|0; - HEAP32[$44>>2] = 0; - $45 = $6; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$pNew>>2]|0; - $52 = $51; - $53 = $52; - HEAP32[$53>>2] = $47; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = $50; - $56 = HEAP32[$9>>2]|0; - $57 = ((($56)) + 4|0); - $58 = HEAP32[$57>>2]|0; - HEAP32[$pIdxCons>>2] = $58; - HEAP32[$i>>2] = 0; - while(1) { - $59 = HEAP32[$i>>2]|0; - $60 = HEAP32[$nConstraint>>2]|0; - $61 = ($59|0)<($60|0); - if (!($61)) { - break; - } - $62 = HEAP32[$pIdxCons>>2]|0; - $63 = ((($62)) + 8|0); - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$pWC>>2]|0; - $66 = ((($65)) + 20|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + (($64*48)|0)|0); - HEAP32[$pTerm>>2] = $68; - $69 = HEAP32[$pIdxCons>>2]|0; - $70 = ((($69)) + 5|0); - HEAP8[$70>>0] = 0; - $71 = HEAP32[$pTerm>>2]|0; - $72 = ((($71)) + 32|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = $7; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (($79) + 4)|0; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = $75 & $81; - $86 = $78 & $84; - $87 = HEAP32[$pTerm>>2]|0; - $88 = ((($87)) + 32|0); - $89 = $88; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = ($85|0)==($91|0); - $96 = ($86|0)==($94|0); - $97 = $95 & $96; - if ($97) { - $98 = HEAP32[$pTerm>>2]|0; - $99 = ((($98)) + 12|0); - $100 = HEAP16[$99>>1]|0; - $101 = $100&65535; - $102 = HEAP16[$8>>1]|0; - $103 = $102&65535; - $104 = $101 & $103; - $105 = ($104|0)==(0); - if ($105) { - $106 = HEAP32[$pIdxCons>>2]|0; - $107 = ((($106)) + 5|0); - HEAP8[$107>>0] = 1; - } - } - $108 = HEAP32[$i>>2]|0; - $109 = (($108) + 1)|0; - HEAP32[$i>>2] = $109; - $110 = HEAP32[$pIdxCons>>2]|0; - $111 = ((($110)) + 12|0); - HEAP32[$pIdxCons>>2] = $111; - } - $112 = HEAP32[$pUsage>>2]|0; - $113 = HEAP32[$nConstraint>>2]|0; - $114 = $113<<3; - _memset(($112|0),0,($114|0))|0; - $115 = HEAP32[$9>>2]|0; - $116 = ((($115)) + 24|0); - HEAP32[$116>>2] = 0; - $117 = HEAP32[$9>>2]|0; - $118 = ((($117)) + 20|0); - HEAP32[$118>>2] = 0; - $119 = HEAP32[$9>>2]|0; - $120 = ((($119)) + 32|0); - HEAP32[$120>>2] = 0; - $121 = HEAP32[$9>>2]|0; - $122 = ((($121)) + 40|0); - HEAPF64[$122>>3] = 4.9999999999999998E+98; - $123 = HEAP32[$9>>2]|0; - $124 = ((($123)) + 48|0); - $125 = $124; - $126 = $125; - HEAP32[$126>>2] = 25; - $127 = (($125) + 4)|0; - $128 = $127; - HEAP32[$128>>2] = 0; - $129 = HEAP32[$9>>2]|0; - $130 = ((($129)) + 56|0); - HEAP32[$130>>2] = 0; - $131 = HEAP32[$pSrc>>2]|0; - $132 = ((($131)) + 56|0); - $133 = $132; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = (($133) + 4)|0; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = HEAP32[$9>>2]|0; - $140 = ((($139)) + 64|0); - $141 = $140; - $142 = $141; - HEAP32[$142>>2] = $135; - $143 = (($141) + 4)|0; - $144 = $143; - HEAP32[$144>>2] = $138; - $145 = HEAP32[$pParse>>2]|0; - $146 = HEAP32[$pSrc>>2]|0; - $147 = ((($146)) + 16|0); - $148 = HEAP32[$147>>2]|0; - $149 = HEAP32[$9>>2]|0; - $150 = (_vtabBestIndex($145,$148,$149)|0); - HEAP32[$rc>>2] = $150; - $151 = HEAP32[$rc>>2]|0; - $152 = ($151|0)!=(0); - if ($152) { - $153 = HEAP32[$rc>>2]|0; - HEAP32[$4>>2] = $153; - $373 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($373|0); - } - HEAP32[$mxTerm>>2] = -1; - HEAP32[$i>>2] = 0; - while(1) { - $154 = HEAP32[$i>>2]|0; - $155 = HEAP32[$nConstraint>>2]|0; - $156 = ($154|0)<($155|0); - if (!($156)) { - break; - } - $157 = HEAP32[$i>>2]|0; - $158 = HEAP32[$pNew>>2]|0; - $159 = ((($158)) + 48|0); - $160 = HEAP32[$159>>2]|0; - $161 = (($160) + ($157<<2)|0); - HEAP32[$161>>2] = 0; - $162 = HEAP32[$i>>2]|0; - $163 = (($162) + 1)|0; - HEAP32[$i>>2] = $163; - } - $164 = HEAP32[$pNew>>2]|0; - $165 = ((($164)) + 24|0); - $166 = ((($165)) + 6|0); - HEAP16[$166>>1] = 0; - $167 = HEAP32[$9>>2]|0; - $168 = ((($167)) + 4|0); - $169 = HEAP32[$168>>2]|0; - HEAP32[$pIdxCons>>2] = $169; - HEAP32[$i>>2] = 0; + $23 = HEAP32[$10>>2]|0; + $24 = HEAP32[$9>>2]|0; + (_sqlite3VdbeAddOp2($22,85,$23,$24)|0); + STACKTOP = sp;return; +} +function _sqlite3VdbeChangeP1($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (_sqlite3VdbeGetOp($7,$8)|0); + $10 = ((($9)) + 4|0); + HEAP32[$10>>2] = $6; + STACKTOP = sp;return; +} +function _sqlite3WhereFindTerm($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; + $7 = sp + 132|0; + $8 = sp + 128|0; + $9 = sp + 124|0; + $10 = sp + 120|0; + $11 = sp; + $12 = sp + 116|0; + $13 = sp + 112|0; + $14 = sp + 108|0; + $15 = sp + 104|0; + $16 = sp + 8|0; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + $17 = $11; + $18 = $17; + HEAP32[$18>>2] = $3; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + HEAP32[$14>>2] = 0; + $21 = HEAP32[$8>>2]|0; + $22 = HEAP32[$9>>2]|0; + $23 = HEAP32[$10>>2]|0; + $24 = HEAP32[$12>>2]|0; + $25 = HEAP32[$13>>2]|0; + $26 = (_whereScanInit($16,$21,$22,$23,$24,$25)|0); + HEAP32[$15>>2] = $26; + $27 = HEAP32[$12>>2]|0; + $28 = $27 & 130; + HEAP32[$12>>2] = $28; while(1) { - $170 = HEAP32[$i>>2]|0; - $171 = HEAP32[$nConstraint>>2]|0; - $172 = ($170|0)<($171|0); - if (!($172)) { + $29 = HEAP32[$15>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { + label = 10; break; } - $173 = HEAP32[$i>>2]|0; - $174 = HEAP32[$pUsage>>2]|0; - $175 = (($174) + ($173<<3)|0); - $176 = HEAP32[$175>>2]|0; - $177 = (($176) - 1)|0; - HEAP32[$iTerm>>2] = $177; - $178 = ($177|0)>=(0); - if ($178) { - $179 = HEAP32[$pIdxCons>>2]|0; - $180 = ((($179)) + 8|0); - $181 = HEAP32[$180>>2]|0; - HEAP32[$j>>2] = $181; - $182 = HEAP32[$iTerm>>2]|0; - $183 = HEAP32[$nConstraint>>2]|0; - $184 = ($182|0)>=($183|0); - $185 = HEAP32[$j>>2]|0; - $186 = ($185|0)<(0); - $or$cond = $184 | $186; - if ($or$cond) { - label = 19; - break; - } - $187 = HEAP32[$j>>2]|0; - $188 = HEAP32[$pWC>>2]|0; - $189 = ((($188)) + 12|0); - $190 = HEAP32[$189>>2]|0; - $191 = ($187|0)>=($190|0); - if ($191) { - label = 19; - break; - } - $192 = HEAP32[$iTerm>>2]|0; - $193 = HEAP32[$pNew>>2]|0; - $194 = ((($193)) + 48|0); - $195 = HEAP32[$194>>2]|0; - $196 = (($195) + ($192<<2)|0); - $197 = HEAP32[$196>>2]|0; - $198 = ($197|0)!=(0|0); - if ($198) { - label = 19; - break; - } - $199 = HEAP32[$pIdxCons>>2]|0; - $200 = ((($199)) + 5|0); - $201 = HEAP8[$200>>0]|0; - $202 = $201&255; - $203 = ($202|0)==(0); - if ($203) { - label = 19; - break; - } - $210 = HEAP32[$j>>2]|0; - $211 = HEAP32[$pWC>>2]|0; - $212 = ((($211)) + 20|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($213) + (($210*48)|0)|0); - HEAP32[$pTerm1>>2] = $214; - $215 = HEAP32[$pTerm1>>2]|0; - $216 = ((($215)) + 32|0); - $217 = $216; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = (($217) + 4)|0; - $221 = $220; - $222 = HEAP32[$221>>2]|0; - $223 = HEAP32[$pNew>>2]|0; - $224 = $223; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = $226 | $219; - $231 = $229 | $222; - $232 = $223; - $233 = $232; - HEAP32[$233>>2] = $230; - $234 = (($232) + 4)|0; - $235 = $234; - HEAP32[$235>>2] = $231; - $236 = HEAP32[$pTerm1>>2]|0; - $237 = HEAP32[$iTerm>>2]|0; - $238 = HEAP32[$pNew>>2]|0; - $239 = ((($238)) + 48|0); - $240 = HEAP32[$239>>2]|0; - $241 = (($240) + ($237<<2)|0); - HEAP32[$241>>2] = $236; - $242 = HEAP32[$iTerm>>2]|0; - $243 = HEAP32[$mxTerm>>2]|0; - $244 = ($242|0)>($243|0); - if ($244) { - $245 = HEAP32[$iTerm>>2]|0; - HEAP32[$mxTerm>>2] = $245; + $31 = HEAP32[$15>>2]|0; + $32 = ((($31)) + 32|0); + $33 = $32; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = $11; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = $35 & $41; + $46 = $38 & $44; + $47 = ($45|0)==(0); + $48 = ($46|0)==(0); + $49 = $47 & $48; + if ($49) { + $50 = HEAP32[$15>>2]|0; + $51 = ((($50)) + 32|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = ($54|0)==(0); + $59 = ($57|0)==(0); + $60 = $58 & $59; + if ($60) { + $61 = HEAP32[$15>>2]|0; + $62 = ((($61)) + 12|0); + $63 = HEAP16[$62>>1]|0; + $64 = $63&65535; + $65 = HEAP32[$12>>2]|0; + $66 = $64 & $65; + $67 = ($66|0)!=(0); + if ($67) { + label = 6; + break; + } } - $246 = HEAP32[$iTerm>>2]|0; - $247 = ($246|0)<(16); - if ($247) { - $248 = HEAP32[$i>>2]|0; - $249 = HEAP32[$pUsage>>2]|0; - $250 = (($249) + ($248<<3)|0); - $251 = ((($250)) + 4|0); - $252 = HEAP8[$251>>0]|0; - $253 = $252&255; - $254 = ($253|0)!=(0); - if ($254) { - $255 = HEAP32[$iTerm>>2]|0; - $256 = 1 << $255; - $257 = HEAP32[$pNew>>2]|0; - $258 = ((($257)) + 24|0); - $259 = ((($258)) + 6|0); - $260 = HEAP16[$259>>1]|0; - $261 = $260&65535; - $262 = $261 | $256; - $263 = $262&65535; - HEAP16[$259>>1] = $263; - } - } - $264 = HEAP32[$pTerm1>>2]|0; - $265 = ((($264)) + 12|0); - $266 = HEAP16[$265>>1]|0; - $267 = $266&65535; - $268 = $267 & 1; - $269 = ($268|0)!=(0); - if ($269) { - $270 = HEAP32[$9>>2]|0; - $271 = ((($270)) + 32|0); - HEAP32[$271>>2] = 0; - $272 = HEAP32[$9>>2]|0; - $273 = ((($272)) + 56|0); - $274 = HEAP32[$273>>2]|0; - $275 = $274 & -2; - HEAP32[$273>>2] = $275; - $276 = HEAP32[$11>>2]|0; - HEAP32[$276>>2] = 1; + $69 = HEAP32[$14>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + $71 = HEAP32[$15>>2]|0; + HEAP32[$14>>2] = $71; } } - $277 = HEAP32[$i>>2]|0; - $278 = (($277) + 1)|0; - HEAP32[$i>>2] = $278; - $279 = HEAP32[$pIdxCons>>2]|0; - $280 = ((($279)) + 12|0); - HEAP32[$pIdxCons>>2] = $280; + $72 = (_whereScanNext($16)|0); + HEAP32[$15>>2] = $72; } - if ((label|0) == 19) { - HEAP32[$rc>>2] = 1; - $204 = HEAP32[$pParse>>2]|0; - $205 = HEAP32[$pSrc>>2]|0; - $206 = ((($205)) + 16|0); - $207 = HEAP32[$206>>2]|0; - $208 = HEAP32[$207>>2]|0; - HEAP32[$vararg_buffer>>2] = $208; - _sqlite3ErrorMsg($204,34806,$vararg_buffer); - $209 = HEAP32[$rc>>2]|0; - HEAP32[$4>>2] = $209; - $373 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($373|0); - } - $281 = HEAP16[$10>>1]|0; - $282 = $281&65535; - $283 = $282 ^ -1; - $284 = HEAP32[$pNew>>2]|0; - $285 = ((($284)) + 24|0); - $286 = ((($285)) + 6|0); - $287 = HEAP16[$286>>1]|0; - $288 = $287&65535; - $289 = $288 & $283; - $290 = $289&65535; - HEAP16[$286>>1] = $290; - $291 = HEAP32[$mxTerm>>2]|0; - $292 = (($291) + 1)|0; - $293 = $292&65535; - $294 = HEAP32[$pNew>>2]|0; - $295 = ((($294)) + 40|0); - HEAP16[$295>>1] = $293; - $296 = HEAP32[$9>>2]|0; - $297 = ((($296)) + 20|0); - $298 = HEAP32[$297>>2]|0; - $299 = HEAP32[$pNew>>2]|0; - $300 = ((($299)) + 24|0); - HEAP32[$300>>2] = $298; - $301 = HEAP32[$9>>2]|0; - $302 = ((($301)) + 28|0); - $303 = HEAP32[$302>>2]|0; - $304 = $303&255; - $305 = HEAP32[$pNew>>2]|0; - $306 = ((($305)) + 24|0); - $307 = ((($306)) + 4|0); - HEAP8[$307>>0] = $304; - $308 = HEAP32[$9>>2]|0; - $309 = ((($308)) + 28|0); - HEAP32[$309>>2] = 0; - $310 = HEAP32[$9>>2]|0; - $311 = ((($310)) + 24|0); - $312 = HEAP32[$311>>2]|0; - $313 = HEAP32[$pNew>>2]|0; - $314 = ((($313)) + 24|0); - $315 = ((($314)) + 8|0); - HEAP32[$315>>2] = $312; - $316 = HEAP32[$9>>2]|0; - $317 = ((($316)) + 32|0); - $318 = HEAP32[$317>>2]|0; - $319 = ($318|0)!=(0); - if ($319) { - $320 = HEAP32[$9>>2]|0; - $321 = ((($320)) + 8|0); - $322 = HEAP32[$321>>2]|0; - $324 = $322; - } else { - $324 = 0; - } - $323 = $324&255; - $325 = HEAP32[$pNew>>2]|0; - $326 = ((($325)) + 24|0); - $327 = ((($326)) + 5|0); - HEAP8[$327>>0] = $323; - $328 = HEAP32[$pNew>>2]|0; - $329 = ((($328)) + 18|0); - HEAP16[$329>>1] = 0; - $330 = HEAP32[$9>>2]|0; - $331 = ((($330)) + 40|0); - $332 = +HEAPF64[$331>>3]; - $333 = (_sqlite3LogEstFromDouble($332)|0); - $334 = HEAP32[$pNew>>2]|0; - $335 = ((($334)) + 20|0); - HEAP16[$335>>1] = $333; - $336 = HEAP32[$9>>2]|0; - $337 = ((($336)) + 48|0); - $338 = $337; - $339 = $338; - $340 = HEAP32[$339>>2]|0; - $341 = (($338) + 4)|0; - $342 = $341; - $343 = HEAP32[$342>>2]|0; - $344 = (_sqlite3LogEst($340,$343)|0); - $345 = HEAP32[$pNew>>2]|0; - $346 = ((($345)) + 22|0); - HEAP16[$346>>1] = $344; - $347 = HEAP32[$9>>2]|0; - $348 = ((($347)) + 56|0); - $349 = HEAP32[$348>>2]|0; - $350 = $349 & 1; - $351 = ($350|0)!=(0); - $352 = HEAP32[$pNew>>2]|0; - $353 = ((($352)) + 36|0); - $354 = HEAP32[$353>>2]|0; - if ($351) { - $355 = $354 | 4096; - HEAP32[$353>>2] = $355; - } else { - $356 = $354 & -4097; - HEAP32[$353>>2] = $356; - } - $357 = HEAP32[$5>>2]|0; - $358 = HEAP32[$pNew>>2]|0; - $359 = (_whereLoopInsert($357,$358)|0); - HEAP32[$rc>>2] = $359; - $360 = HEAP32[$pNew>>2]|0; - $361 = ((($360)) + 24|0); - $362 = ((($361)) + 4|0); - $363 = HEAP8[$362>>0]|0; - $364 = ($363<<24>>24)!=(0); - if ($364) { - $365 = HEAP32[$pNew>>2]|0; - $366 = ((($365)) + 24|0); - $367 = ((($366)) + 8|0); - $368 = HEAP32[$367>>2]|0; - _sqlite3_free($368); - $369 = HEAP32[$pNew>>2]|0; - $370 = ((($369)) + 24|0); - $371 = ((($370)) + 4|0); - HEAP8[$371>>0] = 0; + if ((label|0) == 6) { + $68 = HEAP32[$15>>2]|0; + HEAP32[$7>>2] = $68; + $74 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($74|0); + } + else if ((label|0) == 10) { + $73 = HEAP32[$14>>2]|0; + HEAP32[$7>>2] = $73; + $74 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($74|0); } - $372 = HEAP32[$rc>>2]|0; - HEAP32[$4>>2] = $372; - $373 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($373|0); + return (0)|0; } -function _vtabBestIndex($pParse,$pTab,$p) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $pVtab = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; +function _whereScanInit($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$sink = 0, $$sink3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $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, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $pVtab = sp + 16|0; - $rc = sp + 12|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3GetVTable($4,$5)|0); - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pVtab>>2] = $8; - $9 = HEAP32[$pVtab>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$pVtab>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (FUNCTION_TABLE_iii[$12 & 255]($13,$14)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)!=(0); - do { - if ($17) { - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)==(7); - if ($19) { - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$20>>2]|0; - _sqlite3OomFault($21); - break; - } - $22 = HEAP32[$pVtab>>2]|0; - $23 = ((($22)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)!=(0|0); - $26 = HEAP32[$0>>2]|0; - if ($25) { - $29 = HEAP32[$pVtab>>2]|0; - $30 = ((($29)) + 8|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$vararg_buffer1>>2] = $31; - _sqlite3ErrorMsg($26,18391,$vararg_buffer1); - break; - } else { - $27 = HEAP32[$rc>>2]|0; - $28 = (_sqlite3ErrStr($27)|0); - HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorMsg($26,18391,$vararg_buffer); - break; - } + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$12>>2] = 0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$6>>2]|0; + HEAP32[$14>>2] = $13; + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 4|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 12|0); + HEAP32[$19>>2] = 0; + $20 = HEAP32[$11>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$9>>2]|0; + HEAP32[$12>>2] = $22; + $23 = HEAP32[$11>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$12>>2]|0; + $27 = (($25) + ($26<<1)|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28 << 16 >> 16; + HEAP32[$9>>2] = $29; + $30 = HEAP32[$9>>2]|0; + $31 = ($30|0)==(-2); + if ($31) { + $32 = HEAP32[$11>>2]|0; + $33 = ((($32)) + 40|0); + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$12>>2]|0; + $38 = (($36) + (($37*20)|0)|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = ((($40)) + 12|0); + HEAP32[$41>>2] = $39; + } + $42 = HEAP32[$9>>2]|0; + $43 = HEAP32[$11>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ((($45)) + 32|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47 << 16 >> 16; + $49 = ($42|0)==($48|0); + if ($49) { + HEAP32[$9>>2] = -1; } - } while(0); - $32 = HEAP32[$pVtab>>2]|0; - $33 = ((($32)) + 8|0); - $34 = HEAP32[$33>>2]|0; - _sqlite3_free($34); - $35 = HEAP32[$pVtab>>2]|0; - $36 = ((($35)) + 8|0); - HEAP32[$36>>2] = 0; - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 36|0); - $39 = HEAP32[$38>>2]|0; - STACKTOP = sp;return ($39|0); -} -function _sqlite3LogEstFromDouble($x) { - $x = +$x; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $e = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 18|0; - $1 = sp + 8|0; - $a = sp; - $e = sp + 16|0; - HEAPF64[$1>>3] = $x; - $2 = +HEAPF64[$1>>3]; - $3 = $2 <= 1.0; - if ($3) { - HEAP16[$0>>1] = 0; - $25 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($25|0); } - $4 = +HEAPF64[$1>>3]; - $5 = $4 <= 2.0E+9; - if ($5) { - $6 = +HEAPF64[$1>>3]; - $7 = (~~$6)>>>0; - $8 = +Math_abs($6) >= 1.0 ? $6 > 0.0 ? (~~+Math_min(+Math_floor($6 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($6 - +(~~$6 >>> 0)) / 4294967296.0) >>> 0 : 0; - $9 = (_sqlite3LogEst($7,$8)|0); - HEAP16[$0>>1] = $9; - $25 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($25|0); + $50 = HEAP32[$11>>2]|0; + $51 = ($50|0)!=(0|0); + $52 = HEAP32[$9>>2]|0; + $53 = ($52|0)>=(0); + $or$cond = $51 & $53; + if ($or$cond) { + $54 = HEAP32[$11>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$9>>2]|0; + $60 = (($58) + ($59<<4)|0); + $61 = ((($60)) + 13|0); + $62 = HEAP8[$61>>0]|0; + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 16|0); + HEAP8[$64>>0] = $62; + $65 = HEAP32[$11>>2]|0; + $66 = ((($65)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$12>>2]|0; + $69 = (($67) + ($68<<2)|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$6>>2]|0; + $$sink = $70;$$sink3 = $71; } else { - ;HEAP32[$a>>2]=HEAP32[$1>>2]|0;HEAP32[$a+4>>2]=HEAP32[$1+4>>2]|0; - $10 = $a; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (_bitshift64Lshr(($12|0),($15|0),52)|0); - $17 = tempRet0; - $18 = (_i64Subtract(($16|0),($17|0),1022,0)|0); - $19 = tempRet0; - $20 = $18&65535; - HEAP16[$e>>1] = $20; - $21 = HEAP16[$e>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($22*10)|0; - $24 = $23&65535; - HEAP16[$0>>1] = $24; - $25 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($25|0); + $72 = HEAP32[$6>>2]|0; + $73 = ((($72)) + 16|0); + HEAP8[$73>>0] = 0; + $74 = HEAP32[$6>>2]|0; + $$sink = 0;$$sink3 = $74; } - return (0)|0; + $75 = ((($$sink3)) + 8|0); + HEAP32[$75>>2] = $$sink; + $76 = HEAP32[$10>>2]|0; + $77 = HEAP32[$6>>2]|0; + $78 = ((($77)) + 20|0); + HEAP32[$78>>2] = $76; + $79 = HEAP32[$6>>2]|0; + $80 = ((($79)) + 24|0); + HEAP32[$80>>2] = 0; + $81 = HEAP32[$8>>2]|0; + $82 = HEAP32[$6>>2]|0; + $83 = ((($82)) + 28|0); + HEAP32[$83>>2] = $81; + $84 = HEAP32[$9>>2]|0; + $85 = $84&65535; + $86 = HEAP32[$6>>2]|0; + $87 = ((($86)) + 72|0); + HEAP16[$87>>1] = $85; + $88 = HEAP32[$6>>2]|0; + $89 = ((($88)) + 17|0); + HEAP8[$89>>0] = 1; + $90 = HEAP32[$6>>2]|0; + $91 = ((($90)) + 18|0); + HEAP8[$91>>0] = 1; + $92 = HEAP32[$6>>2]|0; + $93 = (_whereScanNext($92)|0); + STACKTOP = sp;return ($93|0); } -function _findIndexCol($pParse,$pList,$iBase,$pIdx,$iCol) { - $pParse = $pParse|0; - $pList = $pList|0; - $iBase = $iBase|0; - $pIdx = $pIdx|0; - $iCol = $iCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $pColl = 0, $zColl = 0, label = 0, sp = 0; +function _whereScanNext($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; - $i = sp + 12|0; - $zColl = sp + 8|0; - $p = sp + 4|0; - $pColl = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pList; - HEAP32[$3>>2] = $iBase; - HEAP32[$4>>2] = $pIdx; - HEAP32[$5>>2] = $iCol; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$4>>2]|0; - $8 = ((($7)) + 32|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($6<<2)|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$zColl>>2] = $11; - HEAP32[$i>>2] = 0; - while(1) { - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = ($12|0)<($14|0); - if (!($15)) { - label = 10; + $1 = sp + 36|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 40|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$2>>2] = $0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$8>>2] = $14; + L1: while(1) { + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 18|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 17|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($18|0)<=($22|0); + if (!($23)) { + label = 40; break; } - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + (($16*20)|0)|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3ExprSkipCollate($21)|0); - HEAP32[$p>>2] = $22; - $23 = HEAP32[$p>>2]|0; - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = ($25|0)==(152); - if ($26) { - $27 = HEAP32[$p>>2]|0; - $28 = ((($27)) + 32|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29 << 16 >> 16; - $31 = HEAP32[$5>>2]|0; - $32 = HEAP32[$4>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($31<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36 << 16 >> 16; - $38 = ($30|0)==($37|0); - if ($38) { - $39 = HEAP32[$p>>2]|0; - $40 = ((($39)) + 28|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$3>>2]|0; - $43 = ($41|0)==($42|0); - if ($43) { - $44 = HEAP32[$1>>2]|0; - $45 = HEAP32[$i>>2]|0; - $46 = HEAP32[$2>>2]|0; - $47 = ((($46)) + 4|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + (($45*20)|0)|0); - $50 = HEAP32[$49>>2]|0; - $51 = (_sqlite3ExprCollSeq($44,$50)|0); - HEAP32[$pColl>>2] = $51; - $52 = HEAP32[$pColl>>2]|0; - $53 = ($52|0)!=(0|0); - if ($53) { - $54 = HEAP32[$pColl>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$zColl>>2]|0; - $57 = (_sqlite3StrICmp($55,$56)|0); - $58 = (0)==($57|0); - if ($58) { - label = 8; - break; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 28|0); + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 18|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (($29) - 1)|0; + $31 = (($25) + ($30<<2)|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$3>>2] = $32; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 72|0); + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 18|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) - 1)|0; + $40 = (($34) + ($39<<1)|0); + $41 = HEAP16[$40>>1]|0; + HEAP16[$4>>1] = $41; + $42 = HEAP16[$4>>1]|0; + $43 = $42 << 16 >> 16; + $44 = ($43|0)==(-2); + if ($44) { + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 12|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0|0); + if ($48) { + label = 5; + break; + } + } + while(1) { + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$6>>2] = $51; + $52 = ($51|0)!=(0|0); + if (!($52)) { + break; + } + $53 = HEAP32[$6>>2]|0; + $54 = ((($53)) + 20|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$8>>2]|0; + $57 = (($55) + (($56*48)|0)|0); + HEAP32[$7>>2] = $57; + while(1) { + $58 = HEAP32[$8>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = ((($59)) + 12|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($58|0)<($61|0); + if (!($62)) { + break; + } + $63 = HEAP32[$7>>2]|0; + $64 = ((($63)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$3>>2]|0; + $67 = ($65|0)==($66|0); + do { + if ($67) { + $68 = HEAP32[$7>>2]|0; + $69 = ((($68)) + 28|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP16[$4>>1]|0; + $72 = $71 << 16 >> 16; + $73 = ($70|0)==($72|0); + if ($73) { + $74 = HEAP16[$4>>1]|0; + $75 = $74 << 16 >> 16; + $76 = ($75|0)!=(-2); + if (!($76)) { + $77 = HEAP32[$7>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = ((($78)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$2>>2]|0; + $82 = ((($81)) + 12|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$3>>2]|0; + $85 = (_sqlite3ExprCompare($80,$83,$84)|0); + $86 = ($85|0)==(0); + if (!($86)) { + break; + } + } + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 18|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = ($90|0)<=(1); + if (!($91)) { + $92 = HEAP32[$7>>2]|0; + $93 = HEAP32[$92>>2]|0; + $94 = ((($93)) + 4|0); + $95 = HEAP32[$94>>2]|0; + $96 = $95 & 1; + $97 = ($96|0)!=(0); + if ($97) { + break; + } + } + $98 = HEAP32[$7>>2]|0; + $99 = ((($98)) + 12|0); + $100 = HEAP16[$99>>1]|0; + $101 = $100&65535; + $102 = $101 & 2048; + $103 = ($102|0)!=(0); + if ($103) { + $104 = HEAP32[$2>>2]|0; + $105 = ((($104)) + 17|0); + $106 = HEAP8[$105>>0]|0; + $107 = $106&255; + $108 = ($107|0)<(11); + if ($108) { + $109 = HEAP32[$7>>2]|0; + $110 = HEAP32[$109>>2]|0; + $111 = ((($110)) + 16|0); + $112 = HEAP32[$111>>2]|0; + $113 = (_sqlite3ExprSkipCollate($112)|0); + HEAP32[$5>>2] = $113; + $114 = HEAP8[$113>>0]|0; + $115 = $114&255; + $116 = ($115|0)==(152); + if ($116) { + HEAP32[$9>>2] = 0; + while(1) { + $117 = HEAP32[$9>>2]|0; + $118 = HEAP32[$2>>2]|0; + $119 = ((($118)) + 17|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = ($117|0)<($121|0); + if (!($122)) { + break; + } + $123 = HEAP32[$2>>2]|0; + $124 = ((($123)) + 28|0); + $125 = HEAP32[$9>>2]|0; + $126 = (($124) + ($125<<2)|0); + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$5>>2]|0; + $129 = ((($128)) + 28|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($127|0)==($130|0); + if ($131) { + $132 = HEAP32[$2>>2]|0; + $133 = ((($132)) + 72|0); + $134 = HEAP32[$9>>2]|0; + $135 = (($133) + ($134<<1)|0); + $136 = HEAP16[$135>>1]|0; + $137 = $136 << 16 >> 16; + $138 = HEAP32[$5>>2]|0; + $139 = ((($138)) + 32|0); + $140 = HEAP16[$139>>1]|0; + $141 = $140 << 16 >> 16; + $142 = ($137|0)==($141|0); + if ($142) { + break; + } + } + $143 = HEAP32[$9>>2]|0; + $144 = (($143) + 1)|0; + HEAP32[$9>>2] = $144; + } + $145 = HEAP32[$9>>2]|0; + $146 = HEAP32[$2>>2]|0; + $147 = ((($146)) + 17|0); + $148 = HEAP8[$147>>0]|0; + $149 = $148&255; + $150 = ($145|0)==($149|0); + if ($150) { + $151 = HEAP32[$5>>2]|0; + $152 = ((($151)) + 28|0); + $153 = HEAP32[$152>>2]|0; + $154 = HEAP32[$2>>2]|0; + $155 = ((($154)) + 28|0); + $156 = HEAP32[$9>>2]|0; + $157 = (($155) + ($156<<2)|0); + HEAP32[$157>>2] = $153; + $158 = HEAP32[$5>>2]|0; + $159 = ((($158)) + 32|0); + $160 = HEAP16[$159>>1]|0; + $161 = HEAP32[$2>>2]|0; + $162 = ((($161)) + 72|0); + $163 = HEAP32[$9>>2]|0; + $164 = (($162) + ($163<<1)|0); + HEAP16[$164>>1] = $160; + $165 = HEAP32[$2>>2]|0; + $166 = ((($165)) + 17|0); + $167 = HEAP8[$166>>0]|0; + $168 = (($167) + 1)<<24>>24; + HEAP8[$166>>0] = $168; + } + } + } + } + $169 = HEAP32[$7>>2]|0; + $170 = ((($169)) + 12|0); + $171 = HEAP16[$170>>1]|0; + $172 = $171&65535; + $173 = HEAP32[$2>>2]|0; + $174 = ((($173)) + 20|0); + $175 = HEAP32[$174>>2]|0; + $176 = $172 & $175; + $177 = ($176|0)!=(0); + if ($177) { + $178 = HEAP32[$2>>2]|0; + $179 = ((($178)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)!=(0|0); + if ($181) { + $182 = HEAP32[$7>>2]|0; + $183 = ((($182)) + 12|0); + $184 = HEAP16[$183>>1]|0; + $185 = $184&65535; + $186 = $185 & 256; + $187 = ($186|0)==(0); + if ($187) { + $188 = HEAP32[$6>>2]|0; + $189 = HEAP32[$188>>2]|0; + $190 = HEAP32[$189>>2]|0; + HEAP32[$11>>2] = $190; + $191 = HEAP32[$7>>2]|0; + $192 = HEAP32[$191>>2]|0; + HEAP32[$5>>2] = $192; + $193 = HEAP32[$5>>2]|0; + $194 = HEAP32[$2>>2]|0; + $195 = ((($194)) + 16|0); + $196 = HEAP8[$195>>0]|0; + $197 = (_sqlite3IndexAffinityOk($193,$196)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + break; + } + $199 = HEAP32[$11>>2]|0; + $200 = HEAP32[$5>>2]|0; + $201 = ((($200)) + 12|0); + $202 = HEAP32[$201>>2]|0; + $203 = HEAP32[$5>>2]|0; + $204 = ((($203)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = (_sqlite3BinaryCompareCollSeq($199,$202,$205)|0); + HEAP32[$10>>2] = $206; + $207 = HEAP32[$10>>2]|0; + $208 = ($207|0)==(0|0); + if ($208) { + $209 = HEAP32[$11>>2]|0; + $210 = HEAP32[$209>>2]|0; + $211 = ((($210)) + 8|0); + $212 = HEAP32[$211>>2]|0; + HEAP32[$10>>2] = $212; + } + $213 = HEAP32[$10>>2]|0; + $214 = HEAP32[$213>>2]|0; + $215 = HEAP32[$2>>2]|0; + $216 = ((($215)) + 8|0); + $217 = HEAP32[$216>>2]|0; + $218 = (_sqlite3StrICmp($214,$217)|0); + $219 = ($218|0)!=(0); + if ($219) { + break; + } + } + } + $220 = HEAP32[$7>>2]|0; + $221 = ((($220)) + 12|0); + $222 = HEAP16[$221>>1]|0; + $223 = $222&65535; + $224 = $223 & 130; + $225 = ($224|0)!=(0); + if (!($225)) { + label = 36; + break L1; + } + $226 = HEAP32[$7>>2]|0; + $227 = HEAP32[$226>>2]|0; + $228 = ((($227)) + 16|0); + $229 = HEAP32[$228>>2]|0; + HEAP32[$5>>2] = $229; + $230 = HEAP8[$229>>0]|0; + $231 = $230&255; + $232 = ($231|0)==(152); + if (!($232)) { + label = 36; + break L1; + } + $233 = HEAP32[$5>>2]|0; + $234 = ((($233)) + 28|0); + $235 = HEAP32[$234>>2]|0; + $236 = HEAP32[$2>>2]|0; + $237 = ((($236)) + 28|0); + $238 = HEAP32[$237>>2]|0; + $239 = ($235|0)==($238|0); + if (!($239)) { + label = 36; + break L1; + } + $240 = HEAP32[$5>>2]|0; + $241 = ((($240)) + 32|0); + $242 = HEAP16[$241>>1]|0; + $243 = $242 << 16 >> 16; + $244 = HEAP32[$2>>2]|0; + $245 = ((($244)) + 72|0); + $246 = HEAP16[$245>>1]|0; + $247 = $246 << 16 >> 16; + $248 = ($243|0)==($247|0); + if (!($248)) { + label = 36; + break L1; + } + } } } - } + } while(0); + $254 = HEAP32[$8>>2]|0; + $255 = (($254) + 1)|0; + HEAP32[$8>>2] = $255; + $256 = HEAP32[$7>>2]|0; + $257 = ((($256)) + 48|0); + HEAP32[$7>>2] = $257; } + $258 = HEAP32[$2>>2]|0; + $259 = ((($258)) + 4|0); + $260 = HEAP32[$259>>2]|0; + $261 = ((($260)) + 4|0); + $262 = HEAP32[$261>>2]|0; + $263 = HEAP32[$2>>2]|0; + $264 = ((($263)) + 4|0); + HEAP32[$264>>2] = $262; + HEAP32[$8>>2] = 0; } - $60 = HEAP32[$i>>2]|0; - $61 = (($60) + 1)|0; - HEAP32[$i>>2] = $61; + $265 = HEAP32[$2>>2]|0; + $266 = HEAP32[$265>>2]|0; + $267 = HEAP32[$2>>2]|0; + $268 = ((($267)) + 4|0); + HEAP32[$268>>2] = $266; + HEAP32[$8>>2] = 0; + $269 = HEAP32[$2>>2]|0; + $270 = ((($269)) + 18|0); + $271 = HEAP8[$270>>0]|0; + $272 = (($271) + 1)<<24>>24; + HEAP8[$270>>0] = $272; } - if ((label|0) == 8) { - $59 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $59; - $62 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($62|0); + if ((label|0) == 5) { + HEAP32[$1>>2] = 0; + $273 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($273|0); } - else if ((label|0) == 10) { - HEAP32[$0>>2] = -1; - $62 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($62|0); + else if ((label|0) == 36) { + $249 = HEAP32[$8>>2]|0; + $250 = (($249) + 1)|0; + $251 = HEAP32[$2>>2]|0; + $252 = ((($251)) + 24|0); + HEAP32[$252>>2] = $250; + $253 = HEAP32[$7>>2]|0; + HEAP32[$1>>2] = $253; + $273 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($273|0); + } + else if ((label|0) == 40) { + HEAP32[$1>>2] = 0; + $273 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($273|0); } return (0)|0; } -function _exprAnalyze($pSrc,$pWC,$idxTerm) { - $pSrc = $pSrc|0; - $pWC = $pWC|0; - $idxTerm = $idxTerm|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; - var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0; - var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0; - var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0; - var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; - var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; - var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; - var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; - var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; - var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; - var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0; - var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0; - var $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0; - var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0; - var $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0; - var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0; - var $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $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, $c = 0, $c5 = 0, $db = 0, $eExtraOp = 0, $eOp2 = 0, $extraRight = 0, $i = 0, $i10 = 0, $i15 = 0, $i4 = 0; - var $iColumn = 0, $iCur = 0, $idxNew = 0, $idxNew1 = 0, $idxNew11 = 0, $idxNew13 = 0, $idxNew16 = 0, $idxNew2 = 0, $idxNew6 = 0, $isComplete = 0, $nLeft = 0, $noCase = 0, $op = 0, $opMask = 0, $pC = 0, $pDup = 0, $pExpr = 0, $pLeft = 0, $pLeft13 = 0, $pLeft2 = 0; - var $pLeft8 = 0, $pList = 0, $pMaskSet = 0, $pNew = 0, $pNew12 = 0, $pNewExpr = 0, $pNewExpr1 = 0, $pNewExpr2 = 0, $pNewExpr9 = 0, $pNewTerm = 0, $pParse = 0, $pRight = 0, $pRight14 = 0, $pRight7 = 0, $pStr1 = 0, $pStr2 = 0, $pTerm = 0, $pWInfo = 0, $prereqAll = 0, $prereqColumn = 0; - var $prereqExpr = 0, $prereqLeft = 0, $wtFlags = 0, $x = 0, $zCollSeqName = 0, label = 0, sp = 0; +function _sqlite3IndexAffinityOk($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $0 = sp + 228|0; - $1 = sp + 224|0; - $2 = sp + 220|0; - $pWInfo = sp + 216|0; - $pTerm = sp + 212|0; - $pMaskSet = sp + 208|0; - $pExpr = sp + 204|0; - $prereqLeft = sp + 40|0; - $prereqAll = sp + 32|0; - $extraRight = sp + 24|0; - $pStr1 = sp + 200|0; - $isComplete = sp + 196|0; - $noCase = sp + 192|0; - $op = sp + 188|0; - $pParse = sp + 184|0; - $db = sp + 180|0; - $eOp2 = sp + 240|0; - $x = sp + 16|0; - $iCur = sp + 176|0; - $iColumn = sp + 172|0; - $pLeft = sp + 168|0; - $pRight = sp + 164|0; - $opMask = sp + 236|0; - $pNew = sp + 160|0; - $pDup = sp + 156|0; - $eExtraOp = sp + 234|0; - $idxNew = sp + 152|0; - $pList = sp + 148|0; - $i = sp + 144|0; - $pNewExpr = sp + 140|0; - $idxNew1 = sp + 136|0; - $pLeft2 = sp + 132|0; - $pStr2 = sp + 128|0; - $pNewExpr1 = sp + 124|0; - $pNewExpr2 = sp + 120|0; - $idxNew13 = sp + 116|0; - $idxNew2 = sp + 112|0; - $zCollSeqName = sp + 108|0; - $wtFlags = sp + 232|0; - $i4 = sp + 104|0; - $c = sp + 239|0; - $c5 = sp + 238|0; - $pC = sp + 100|0; - $idxNew6 = sp + 96|0; - $pRight7 = sp + 92|0; - $pLeft8 = sp + 88|0; - $pNewTerm = sp + 84|0; - $prereqColumn = sp + 8|0; - $prereqExpr = sp; - $pNewExpr9 = sp + 80|0; - $nLeft = sp + 76|0; - $i10 = sp + 72|0; - $idxNew11 = sp + 68|0; - $pNew12 = sp + 64|0; - $pLeft13 = sp + 60|0; - $pRight14 = sp + 56|0; - $i15 = sp + 52|0; - $idxNew16 = sp + 48|0; - HEAP32[$0>>2] = $pSrc; - HEAP32[$1>>2] = $pWC; - HEAP32[$2>>2] = $idxTerm; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + $4 = sp + 9|0; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = (_comparisonAffinity($6)|0); + HEAP8[$5>>0] = $7; + $8 = HEAP8[$5>>0]|0; + $9 = $8 << 24 >> 24; + switch ($9|0) { + case 65: { + HEAP32[$2>>2] = 1; + break; + } + case 66: { + $10 = HEAP8[$4>>0]|0; + $11 = $10 << 24 >> 24; + $12 = ($11|0)==(66); + $13 = $12&1; + HEAP32[$2>>2] = $13; + break; + } + default: { + $14 = HEAP8[$4>>0]|0; + $15 = $14 << 24 >> 24; + $16 = ($15|0)>=(67); + $17 = $16&1; + HEAP32[$2>>2] = $17; + } + } + $18 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($18|0); +} +function _comparisonAffinity($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + $2 = sp + 4|0; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pWInfo>>2] = $4; - $5 = $extraRight; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = 0; - HEAP32[$pStr1>>2] = 0; - HEAP32[$isComplete>>2] = 0; - HEAP32[$noCase>>2] = 0; - $9 = HEAP32[$pWInfo>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$pParse>>2] = $10; - $11 = HEAP32[$pParse>>2]|0; - $12 = HEAP32[$11>>2]|0; - HEAP32[$db>>2] = $12; - $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 69|0); - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)!=(0); - if ($16) { - STACKTOP = sp;return; + $4 = ((($3)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_sqlite3ExprAffinity($5)|0); + HEAP8[$2>>0] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + $11 = HEAP32[$1>>2]|0; + if ($10) { + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP8[$2>>0]|0; + $15 = (_sqlite3CompareAffinity($13,$14)|0); + HEAP8[$2>>0] = $15; + $32 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($32|0); } - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + (($17*48)|0)|0); - HEAP32[$pTerm>>2] = $21; - $22 = HEAP32[$pWInfo>>2]|0; - $23 = ((($22)) + 488|0); - HEAP32[$pMaskSet>>2] = $23; - $24 = HEAP32[$pTerm>>2]|0; - $25 = HEAP32[$24>>2]|0; - HEAP32[$pExpr>>2] = $25; - $26 = HEAP32[$pMaskSet>>2]|0; - $27 = HEAP32[$pExpr>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = (_sqlite3WhereExprUsage($26,$29)|0); - $31 = tempRet0; - $32 = $prereqLeft; - $33 = $32; - HEAP32[$33>>2] = $30; - $34 = (($32) + 4)|0; - $35 = $34; - HEAP32[$35>>2] = $31; - $36 = HEAP32[$pExpr>>2]|0; - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - HEAP32[$op>>2] = $38; - $39 = HEAP32[$op>>2]|0; - $40 = ($39|0)==(33); - do { - if ($40) { - $41 = HEAP32[$pParse>>2]|0; - $42 = HEAP32[$pExpr>>2]|0; - $43 = (_sqlite3ExprCheckIN($41,$42)|0); - $44 = ($43|0)!=(0); - if ($44) { - STACKTOP = sp;return; + $16 = ((($11)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & 2048; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP8[$2>>0]|0; + $28 = (_sqlite3CompareAffinity($26,$27)|0); + HEAP8[$2>>0] = $28; + $32 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($32|0); + } + $29 = HEAP8[$2>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($32|0); + } + HEAP8[$2>>0] = 65; + $32 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($32|0); +} +function _sqlite3ExprNeedsNoAffinityChange($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + $4 = sp + 9|0; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + $6 = HEAP8[$4>>0]|0; + $7 = $6 << 24 >> 24; + $8 = ($7|0)==(65); + L1: do { + if ($8) { + HEAP32[$2>>2] = 1; + } else { + while(1) { + $9 = HEAP32[$3>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(156); + if ($12) { + $63 = 1; + } else { + $13 = HEAP32[$3>>2]|0; + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==(155); + $63 = $16; + } + $17 = HEAP32[$3>>2]|0; + if (!($63)) { + break; + } + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$3>>2] = $19; } - $45 = HEAP32[$pExpr>>2]|0; - $46 = ((($45)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = $47 & 2048; - $49 = ($48|0)!=(0); - $50 = HEAP32[$pMaskSet>>2]|0; - $51 = HEAP32[$pExpr>>2]|0; - $52 = ((($51)) + 20|0); - if ($49) { - $53 = HEAP32[$52>>2]|0; - $54 = (_exprSelectUsage($50,$53)|0); - $55 = tempRet0; - $56 = HEAP32[$pTerm>>2]|0; - $57 = ((($56)) + 32|0); - $58 = $57; - $59 = $58; - HEAP32[$59>>2] = $54; - $60 = (($58) + 4)|0; - $61 = $60; - HEAP32[$61>>2] = $55; + $20 = HEAP8[$17>>0]|0; + HEAP8[$5>>0] = $20; + $21 = HEAP8[$5>>0]|0; + $22 = $21&255; + $23 = ($22|0)==(157); + if ($23) { + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 38|0); + $26 = HEAP8[$25>>0]|0; + HEAP8[$5>>0] = $26; + } + $27 = HEAP8[$5>>0]|0; + $28 = $27&255; + switch ($28|0) { + case 134: { + $29 = HEAP8[$4>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($30|0)==(68); + if ($31) { + $36 = 1; + } else { + $32 = HEAP8[$4>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($33|0)==(67); + $36 = $34; + } + $35 = $36&1; + HEAP32[$2>>2] = $35; + break L1; break; - } else { - $62 = HEAP32[$52>>2]|0; - $63 = (_sqlite3WhereExprListUsage($50,$62)|0); - $64 = tempRet0; - $65 = HEAP32[$pTerm>>2]|0; - $66 = ((($65)) + 32|0); - $67 = $66; - $68 = $67; - HEAP32[$68>>2] = $63; - $69 = (($67) + 4)|0; - $70 = $69; - HEAP32[$70>>2] = $64; + } + case 132: { + $37 = HEAP8[$4>>0]|0; + $38 = $37 << 24 >> 24; + $39 = ($38|0)==(69); + if ($39) { + $44 = 1; + } else { + $40 = HEAP8[$4>>0]|0; + $41 = $40 << 24 >> 24; + $42 = ($41|0)==(67); + $44 = $42; + } + $43 = $44&1; + HEAP32[$2>>2] = $43; + break L1; break; } - } else { - $71 = HEAP32[$op>>2]|0; - $72 = ($71|0)==(34); - if ($72) { - $73 = HEAP32[$pTerm>>2]|0; - $74 = ((($73)) + 32|0); - $75 = $74; - $76 = $75; - HEAP32[$76>>2] = 0; - $77 = (($75) + 4)|0; - $78 = $77; - HEAP32[$78>>2] = 0; + case 97: { + $45 = HEAP8[$4>>0]|0; + $46 = $45 << 24 >> 24; + $47 = ($46|0)==(66); + $48 = $47&1; + HEAP32[$2>>2] = $48; + break L1; break; - } else { - $79 = HEAP32[$pMaskSet>>2]|0; - $80 = HEAP32[$pExpr>>2]|0; - $81 = ((($80)) + 16|0); - $82 = HEAP32[$81>>2]|0; - $83 = (_sqlite3WhereExprUsage($79,$82)|0); - $84 = tempRet0; - $85 = HEAP32[$pTerm>>2]|0; - $86 = ((($85)) + 32|0); - $87 = $86; - $88 = $87; - HEAP32[$88>>2] = $83; - $89 = (($87) + 4)|0; - $90 = $89; - HEAP32[$90>>2] = $84; + } + case 133: { + HEAP32[$2>>2] = 1; + break L1; + break; + } + case 152: { + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 32|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51 << 16 >> 16; + $53 = ($52|0)<(0); + if ($53) { + $54 = HEAP8[$4>>0]|0; + $55 = $54 << 24 >> 24; + $56 = ($55|0)==(68); + if ($56) { + $61 = 1; + } else { + $57 = HEAP8[$4>>0]|0; + $58 = $57 << 24 >> 24; + $59 = ($58|0)==(67); + $61 = $59; + } + } else { + $61 = 0; + } + $60 = $61&1; + HEAP32[$2>>2] = $60; + break L1; break; } + default: { + HEAP32[$2>>2] = 0; + break L1; + } + } } } while(0); - $91 = HEAP32[$pMaskSet>>2]|0; - $92 = HEAP32[$pExpr>>2]|0; - $93 = (_sqlite3WhereExprUsage($91,$92)|0); - $94 = tempRet0; - $95 = $prereqAll; - $96 = $95; - HEAP32[$96>>2] = $93; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = HEAP32[$pExpr>>2]|0; - $100 = ((($99)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = $101 & 1; - $103 = ($102|0)!=(0); - if ($103) { - $104 = HEAP32[$pMaskSet>>2]|0; - $105 = HEAP32[$pExpr>>2]|0; - $106 = ((($105)) + 36|0); - $107 = HEAP16[$106>>1]|0; - $108 = $107 << 16 >> 16; - $109 = (_sqlite3WhereGetMask($104,$108)|0); - $110 = tempRet0; - $111 = $x; - $112 = $111; - HEAP32[$112>>2] = $109; - $113 = (($111) + 4)|0; - $114 = $113; - HEAP32[$114>>2] = $110; - $115 = $x; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = (($115) + 4)|0; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = $prereqAll; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = (($121) + 4)|0; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = $123 | $117; - $128 = $126 | $120; - $129 = $prereqAll; - $130 = $129; - HEAP32[$130>>2] = $127; - $131 = (($129) + 4)|0; - $132 = $131; - HEAP32[$132>>2] = $128; - $133 = $x; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = (($133) + 4)|0; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = (_i64Subtract(($135|0),($138|0),1,0)|0); - $140 = tempRet0; - $141 = $extraRight; - $142 = $141; - HEAP32[$142>>2] = $139; - $143 = (($141) + 4)|0; - $144 = $143; - HEAP32[$144>>2] = $140; - } - $145 = $prereqAll; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + 4)|0; - $149 = $148; - $150 = HEAP32[$149>>2]|0; - $151 = HEAP32[$pTerm>>2]|0; - $152 = ((($151)) + 40|0); - $153 = $152; - $154 = $153; - HEAP32[$154>>2] = $147; - $155 = (($153) + 4)|0; - $156 = $155; - HEAP32[$156>>2] = $150; - $157 = HEAP32[$pTerm>>2]|0; - $158 = ((($157)) + 20|0); - HEAP32[$158>>2] = -1; - $159 = HEAP32[$pTerm>>2]|0; - $160 = ((($159)) + 16|0); - HEAP32[$160>>2] = -1; - $161 = HEAP32[$pTerm>>2]|0; - $162 = ((($161)) + 12|0); - HEAP16[$162>>1] = 0; - $163 = HEAP32[$op>>2]|0; - $164 = (_allowedOp($163)|0); - $165 = ($164|0)!=(0); - $166 = HEAP32[$pExpr>>2]|0; - L20: do { - if ($165) { - $167 = ((($166)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = (_sqlite3ExprSkipCollate($168)|0); - HEAP32[$pLeft>>2] = $169; - $170 = HEAP32[$pExpr>>2]|0; - $171 = ((($170)) + 16|0); - $172 = HEAP32[$171>>2]|0; - $173 = (_sqlite3ExprSkipCollate($172)|0); - HEAP32[$pRight>>2] = $173; - $174 = HEAP32[$pTerm>>2]|0; - $175 = ((($174)) + 32|0); - $176 = $175; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (($176) + 4)|0; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $182 = $prereqLeft; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = (($182) + 4)|0; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = $178 & $184; - $189 = $181 & $187; - $190 = ($188|0)==(0); - $191 = ($189|0)==(0); - $192 = $190 & $191; - $193 = $192 ? 8191 : 2048; - $194 = $193&65535; - HEAP16[$opMask>>1] = $194; - $195 = HEAP32[$pTerm>>2]|0; - $196 = ((($195)) + 24|0); - $197 = HEAP32[$196>>2]|0; - $198 = ($197|0)>(0); - if ($198) { - $199 = HEAP32[$pTerm>>2]|0; - $200 = ((($199)) + 24|0); - $201 = HEAP32[$200>>2]|0; - $202 = (($201) - 1)|0; - $203 = HEAP32[$pLeft>>2]|0; - $204 = ((($203)) + 20|0); - $205 = HEAP32[$204>>2]|0; - $206 = ((($205)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = (($207) + (($202*20)|0)|0); - $209 = HEAP32[$208>>2]|0; - HEAP32[$pLeft>>2] = $209; - } - $210 = HEAP32[$0>>2]|0; - $211 = HEAP32[$op>>2]|0; - $212 = $prereqLeft; - $213 = $212; - $214 = HEAP32[$213>>2]|0; - $215 = (($212) + 4)|0; - $216 = $215; - $217 = HEAP32[$216>>2]|0; - $218 = HEAP32[$pLeft>>2]|0; - $219 = (_exprMightBeIndexed($210,$211,$214,$217,$218,$iCur,$iColumn)|0); - $220 = ($219|0)!=(0); - if ($220) { - $221 = HEAP32[$iCur>>2]|0; - $222 = HEAP32[$pTerm>>2]|0; - $223 = ((($222)) + 20|0); - HEAP32[$223>>2] = $221; - $224 = HEAP32[$iColumn>>2]|0; - $225 = HEAP32[$pTerm>>2]|0; - $226 = ((($225)) + 28|0); - HEAP32[$226>>2] = $224; - $227 = HEAP32[$op>>2]|0; - $228 = (_operatorMask($227)|0); - $229 = $228&65535; - $230 = HEAP16[$opMask>>1]|0; - $231 = $230&65535; - $232 = $229 & $231; - $233 = $232&65535; - $234 = HEAP32[$pTerm>>2]|0; - $235 = ((($234)) + 12|0); - HEAP16[$235>>1] = $233; - } - $236 = HEAP32[$op>>2]|0; - $237 = ($236|0)==(29); - if ($237) { - $238 = HEAP32[$pTerm>>2]|0; - $239 = ((($238)) + 10|0); - $240 = HEAP16[$239>>1]|0; - $241 = $240&65535; - $242 = $241 | 2048; - $243 = $242&65535; - HEAP16[$239>>1] = $243; - } - $244 = HEAP32[$pRight>>2]|0; - $245 = ($244|0)!=(0|0); - if ($245) { - $246 = HEAP32[$0>>2]|0; - $247 = HEAP32[$op>>2]|0; - $248 = HEAP32[$pTerm>>2]|0; - $249 = ((($248)) + 32|0); - $250 = $249; - $251 = $250; - $252 = HEAP32[$251>>2]|0; - $253 = (($250) + 4)|0; - $254 = $253; - $255 = HEAP32[$254>>2]|0; - $256 = HEAP32[$pRight>>2]|0; - $257 = (_exprMightBeIndexed($246,$247,$252,$255,$256,$iCur,$iColumn)|0); - $258 = ($257|0)!=(0); - if ($258) { - HEAP16[$eExtraOp>>1] = 0; - $259 = HEAP32[$pTerm>>2]|0; - $260 = ((($259)) + 20|0); - $261 = HEAP32[$260>>2]|0; - $262 = ($261|0)>=(0); - if ($262) { - $263 = HEAP32[$db>>2]|0; - $264 = HEAP32[$pExpr>>2]|0; - $265 = (_sqlite3ExprDup($263,$264,0)|0); - HEAP32[$pDup>>2] = $265; - $266 = HEAP32[$db>>2]|0; - $267 = ((($266)) + 69|0); - $268 = HEAP8[$267>>0]|0; - $269 = ($268<<24>>24)!=(0); - if ($269) { - $270 = HEAP32[$db>>2]|0; - $271 = HEAP32[$pDup>>2]|0; - _sqlite3ExprDelete($270,$271); - STACKTOP = sp;return; - } - $272 = HEAP32[$1>>2]|0; - $273 = HEAP32[$pDup>>2]|0; - $274 = (_whereClauseInsert($272,$273,3)|0); - HEAP32[$idxNew>>2] = $274; - $275 = HEAP32[$idxNew>>2]|0; - $276 = ($275|0)==(0); - if ($276) { - STACKTOP = sp;return; - } - $277 = HEAP32[$idxNew>>2]|0; - $278 = HEAP32[$1>>2]|0; - $279 = ((($278)) + 20|0); - $280 = HEAP32[$279>>2]|0; - $281 = (($280) + (($277*48)|0)|0); - HEAP32[$pNew>>2] = $281; - $282 = HEAP32[$1>>2]|0; - $283 = HEAP32[$idxNew>>2]|0; - $284 = HEAP32[$2>>2]|0; - _markTermAsChild($282,$283,$284); - $285 = HEAP32[$op>>2]|0; - $286 = ($285|0)==(29); - if ($286) { - $287 = HEAP32[$pNew>>2]|0; - $288 = ((($287)) + 10|0); - $289 = HEAP16[$288>>1]|0; - $290 = $289&65535; - $291 = $290 | 2048; - $292 = $291&65535; - HEAP16[$288>>1] = $292; - } - $293 = HEAP32[$2>>2]|0; - $294 = HEAP32[$1>>2]|0; - $295 = ((($294)) + 20|0); - $296 = HEAP32[$295>>2]|0; - $297 = (($296) + (($293*48)|0)|0); - HEAP32[$pTerm>>2] = $297; - $298 = HEAP32[$pTerm>>2]|0; - $299 = ((($298)) + 10|0); - $300 = HEAP16[$299>>1]|0; - $301 = $300&65535; - $302 = $301 | 8; - $303 = $302&65535; - HEAP16[$299>>1] = $303; - $304 = HEAP32[$pParse>>2]|0; - $305 = HEAP32[$pDup>>2]|0; - $306 = (_termIsEquivalence($304,$305)|0); - $307 = ($306|0)!=(0); - if ($307) { - $308 = HEAP32[$pTerm>>2]|0; - $309 = ((($308)) + 12|0); - $310 = HEAP16[$309>>1]|0; - $311 = $310&65535; - $312 = $311 | 2048; - $313 = $312&65535; - HEAP16[$309>>1] = $313; - HEAP16[$eExtraOp>>1] = 2048; - } - } else { - $314 = HEAP32[$pExpr>>2]|0; - HEAP32[$pDup>>2] = $314; - $315 = HEAP32[$pTerm>>2]|0; - HEAP32[$pNew>>2] = $315; - } - $316 = HEAP32[$pParse>>2]|0; - $317 = HEAP32[$pDup>>2]|0; - _exprCommute($316,$317); - $318 = HEAP32[$iCur>>2]|0; - $319 = HEAP32[$pNew>>2]|0; - $320 = ((($319)) + 20|0); - HEAP32[$320>>2] = $318; - $321 = HEAP32[$iColumn>>2]|0; - $322 = HEAP32[$pNew>>2]|0; - $323 = ((($322)) + 28|0); - HEAP32[$323>>2] = $321; - $324 = $prereqLeft; - $325 = $324; - $326 = HEAP32[$325>>2]|0; - $327 = (($324) + 4)|0; - $328 = $327; - $329 = HEAP32[$328>>2]|0; - $330 = $extraRight; - $331 = $330; - $332 = HEAP32[$331>>2]|0; - $333 = (($330) + 4)|0; - $334 = $333; - $335 = HEAP32[$334>>2]|0; - $336 = $326 | $332; - $337 = $329 | $335; - $338 = HEAP32[$pNew>>2]|0; - $339 = ((($338)) + 32|0); - $340 = $339; - $341 = $340; - HEAP32[$341>>2] = $336; - $342 = (($340) + 4)|0; - $343 = $342; - HEAP32[$343>>2] = $337; - $344 = $prereqAll; - $345 = $344; - $346 = HEAP32[$345>>2]|0; - $347 = (($344) + 4)|0; - $348 = $347; - $349 = HEAP32[$348>>2]|0; - $350 = HEAP32[$pNew>>2]|0; - $351 = ((($350)) + 40|0); - $352 = $351; - $353 = $352; - HEAP32[$353>>2] = $346; - $354 = (($352) + 4)|0; - $355 = $354; - HEAP32[$355>>2] = $349; - $356 = HEAP32[$pDup>>2]|0; - $357 = HEAP8[$356>>0]|0; - $358 = $357&255; - $359 = (_operatorMask($358)|0); - $360 = $359&65535; - $361 = HEAP16[$eExtraOp>>1]|0; - $362 = $361&65535; - $363 = (($360) + ($362))|0; - $364 = HEAP16[$opMask>>1]|0; - $365 = $364&65535; - $366 = $363 & $365; - $367 = $366&65535; - $368 = HEAP32[$pNew>>2]|0; - $369 = ((($368)) + 12|0); - HEAP16[$369>>1] = $367; - } - } - } else { - $370 = HEAP8[$166>>0]|0; - $371 = $370&255; - $372 = ($371|0)==(32); - if ($372) { - $373 = HEAP32[$1>>2]|0; - $374 = ((($373)) + 8|0); - $375 = HEAP8[$374>>0]|0; - $376 = $375&255; - $377 = ($376|0)==(28); - if ($377) { - $378 = HEAP32[$pExpr>>2]|0; - $379 = ((($378)) + 20|0); - $380 = HEAP32[$379>>2]|0; - HEAP32[$pList>>2] = $380; - HEAP32[$i>>2] = 0; - while(1) { - $381 = HEAP32[$i>>2]|0; - $382 = ($381|0)<(2); - if (!($382)) { - break L20; - } - $383 = HEAP32[$pParse>>2]|0; - $384 = HEAP32[$i>>2]|0; - $385 = (34832 + ($384)|0); - $386 = HEAP8[$385>>0]|0; - $387 = $386&255; - $388 = HEAP32[$db>>2]|0; - $389 = HEAP32[$pExpr>>2]|0; - $390 = ((($389)) + 12|0); - $391 = HEAP32[$390>>2]|0; - $392 = (_sqlite3ExprDup($388,$391,0)|0); - $393 = HEAP32[$db>>2]|0; - $394 = HEAP32[$i>>2]|0; - $395 = HEAP32[$pList>>2]|0; - $396 = ((($395)) + 4|0); - $397 = HEAP32[$396>>2]|0; - $398 = (($397) + (($394*20)|0)|0); - $399 = HEAP32[$398>>2]|0; - $400 = (_sqlite3ExprDup($393,$399,0)|0); - $401 = (_sqlite3PExpr($383,$387,$392,$400,0)|0); - HEAP32[$pNewExpr>>2] = $401; - $402 = HEAP32[$pNewExpr>>2]|0; - $403 = HEAP32[$pExpr>>2]|0; - _transferJoinMarkings($402,$403); - $404 = HEAP32[$1>>2]|0; - $405 = HEAP32[$pNewExpr>>2]|0; - $406 = (_whereClauseInsert($404,$405,3)|0); - HEAP32[$idxNew1>>2] = $406; - $407 = HEAP32[$0>>2]|0; - $408 = HEAP32[$1>>2]|0; - $409 = HEAP32[$idxNew1>>2]|0; - _exprAnalyze($407,$408,$409); - $410 = HEAP32[$2>>2]|0; - $411 = HEAP32[$1>>2]|0; - $412 = ((($411)) + 20|0); - $413 = HEAP32[$412>>2]|0; - $414 = (($413) + (($410*48)|0)|0); - HEAP32[$pTerm>>2] = $414; - $415 = HEAP32[$1>>2]|0; - $416 = HEAP32[$idxNew1>>2]|0; - $417 = HEAP32[$2>>2]|0; - _markTermAsChild($415,$416,$417); - $418 = HEAP32[$i>>2]|0; - $419 = (($418) + 1)|0; - HEAP32[$i>>2] = $419; - } - } - } - $420 = HEAP32[$pExpr>>2]|0; - $421 = HEAP8[$420>>0]|0; - $422 = $421&255; - $423 = ($422|0)==(27); - if ($423) { - $424 = HEAP32[$0>>2]|0; - $425 = HEAP32[$1>>2]|0; - $426 = HEAP32[$2>>2]|0; - _exprAnalyzeOrTerm($424,$425,$426); - $427 = HEAP32[$2>>2]|0; - $428 = HEAP32[$1>>2]|0; - $429 = ((($428)) + 20|0); - $430 = HEAP32[$429>>2]|0; - $431 = (($430) + (($427*48)|0)|0); - HEAP32[$pTerm>>2] = $431; - } - } - } while(0); - $432 = HEAP32[$1>>2]|0; - $433 = ((($432)) + 8|0); - $434 = HEAP8[$433>>0]|0; - $435 = $434&255; - $436 = ($435|0)==(28); - if ($436) { - $437 = HEAP32[$pParse>>2]|0; - $438 = HEAP32[$pExpr>>2]|0; - $439 = (_isLikeOrGlob($437,$438,$pStr1,$isComplete,$noCase)|0); - $440 = ($439|0)!=(0); - if ($440) { - HEAP16[$wtFlags>>1] = 259; - $441 = HEAP32[$pExpr>>2]|0; - $442 = ((($441)) + 20|0); - $443 = HEAP32[$442>>2]|0; - $444 = ((($443)) + 4|0); - $445 = HEAP32[$444>>2]|0; - $446 = ((($445)) + 20|0); - $447 = HEAP32[$446>>2]|0; - HEAP32[$pLeft2>>2] = $447; - $448 = HEAP32[$db>>2]|0; - $449 = HEAP32[$pStr1>>2]|0; - $450 = (_sqlite3ExprDup($448,$449,0)|0); - HEAP32[$pStr2>>2] = $450; - $451 = HEAP32[$noCase>>2]|0; - $452 = ($451|0)!=(0); - L61: do { - if ($452) { - $453 = HEAP32[$pParse>>2]|0; - $454 = HEAP32[$453>>2]|0; - $455 = ((($454)) + 69|0); - $456 = HEAP8[$455>>0]|0; - $457 = ($456<<24>>24)!=(0); - if (!($457)) { - $458 = HEAP32[$pTerm>>2]|0; - $459 = ((($458)) + 10|0); - $460 = HEAP16[$459>>1]|0; - $461 = $460&65535; - $462 = $461 | 1024; - $463 = $462&65535; - HEAP16[$459>>1] = $463; - HEAP32[$i4>>2] = 0; - while(1) { - $464 = HEAP32[$i4>>2]|0; - $465 = HEAP32[$pStr1>>2]|0; - $466 = ((($465)) + 8|0); - $467 = HEAP32[$466>>2]|0; - $468 = (($467) + ($464)|0); - $469 = HEAP8[$468>>0]|0; - HEAP8[$c>>0] = $469; - $470 = $469 << 24 >> 24; - $471 = ($470|0)!=(0); - if (!($471)) { - break L61; - } - $472 = HEAP8[$c>>0]|0; - $473 = $472 << 24 >> 24; - $474 = HEAP8[$c>>0]|0; - $475 = $474&255; - $476 = (18403 + ($475)|0); - $477 = HEAP8[$476>>0]|0; - $478 = $477&255; - $479 = $478 & 32; - $480 = $479 ^ -1; - $481 = $473 & $480; - $482 = $481&255; - $483 = HEAP32[$i4>>2]|0; - $484 = HEAP32[$pStr1>>2]|0; - $485 = ((($484)) + 8|0); - $486 = HEAP32[$485>>2]|0; - $487 = (($486) + ($483)|0); - HEAP8[$487>>0] = $482; - $488 = HEAP8[$c>>0]|0; - $489 = $488&255; - $490 = (17613 + ($489)|0); - $491 = HEAP8[$490>>0]|0; - $492 = HEAP32[$i4>>2]|0; - $493 = HEAP32[$pStr2>>2]|0; - $494 = ((($493)) + 8|0); - $495 = HEAP32[$494>>2]|0; - $496 = (($495) + ($492)|0); - HEAP8[$496>>0] = $491; - $497 = HEAP32[$i4>>2]|0; - $498 = (($497) + 1)|0; - HEAP32[$i4>>2] = $498; - } - } - } - } while(0); - $499 = HEAP32[$db>>2]|0; - $500 = ((($499)) + 69|0); - $501 = HEAP8[$500>>0]|0; - $502 = ($501<<24>>24)!=(0); - if (!($502)) { - $503 = HEAP32[$pStr2>>2]|0; - $504 = ((($503)) + 8|0); - $505 = HEAP32[$504>>2]|0; - $506 = (_sqlite3Strlen30($505)|0); - $507 = (($506) - 1)|0; - $508 = HEAP32[$pStr2>>2]|0; - $509 = ((($508)) + 8|0); - $510 = HEAP32[$509>>2]|0; - $511 = (($510) + ($507)|0); - HEAP32[$pC>>2] = $511; - $512 = HEAP32[$pC>>2]|0; - $513 = HEAP8[$512>>0]|0; - HEAP8[$c5>>0] = $513; - $514 = HEAP32[$noCase>>2]|0; - $515 = ($514|0)!=(0); - if ($515) { - $516 = HEAP8[$c5>>0]|0; - $517 = $516&255; - $518 = ($517|0)==(64); - if ($518) { - HEAP32[$isComplete>>2] = 0; - } - $519 = HEAP8[$c5>>0]|0; - $520 = $519&255; - $521 = (17613 + ($520)|0); - $522 = HEAP8[$521>>0]|0; - HEAP8[$c5>>0] = $522; - } - $523 = HEAP8[$c5>>0]|0; - $524 = $523&255; - $525 = (($524) + 1)|0; - $526 = $525&255; - $527 = HEAP32[$pC>>2]|0; - HEAP8[$527>>0] = $526; - } - $528 = HEAP32[$noCase>>2]|0; - $529 = ($528|0)!=(0); - $530 = $529 ? 20429 : 34834; - HEAP32[$zCollSeqName>>2] = $530; - $531 = HEAP32[$db>>2]|0; - $532 = HEAP32[$pLeft2>>2]|0; - $533 = (_sqlite3ExprDup($531,$532,0)|0); - HEAP32[$pNewExpr1>>2] = $533; - $534 = HEAP32[$pParse>>2]|0; - $535 = HEAP32[$pParse>>2]|0; - $536 = HEAP32[$pNewExpr1>>2]|0; - $537 = HEAP32[$zCollSeqName>>2]|0; - $538 = (_sqlite3ExprAddCollateString($535,$536,$537)|0); - $539 = HEAP32[$pStr1>>2]|0; - $540 = (_sqlite3PExpr($534,41,$538,$539,0)|0); - HEAP32[$pNewExpr1>>2] = $540; - $541 = HEAP32[$pNewExpr1>>2]|0; - $542 = HEAP32[$pExpr>>2]|0; - _transferJoinMarkings($541,$542); - $543 = HEAP32[$1>>2]|0; - $544 = HEAP32[$pNewExpr1>>2]|0; - $545 = (_whereClauseInsert($543,$544,259)|0); - HEAP32[$idxNew13>>2] = $545; - $546 = HEAP32[$0>>2]|0; - $547 = HEAP32[$1>>2]|0; - $548 = HEAP32[$idxNew13>>2]|0; - _exprAnalyze($546,$547,$548); - $549 = HEAP32[$db>>2]|0; - $550 = HEAP32[$pLeft2>>2]|0; - $551 = (_sqlite3ExprDup($549,$550,0)|0); - HEAP32[$pNewExpr2>>2] = $551; - $552 = HEAP32[$pParse>>2]|0; - $553 = HEAP32[$pParse>>2]|0; - $554 = HEAP32[$pNewExpr2>>2]|0; - $555 = HEAP32[$zCollSeqName>>2]|0; - $556 = (_sqlite3ExprAddCollateString($553,$554,$555)|0); - $557 = HEAP32[$pStr2>>2]|0; - $558 = (_sqlite3PExpr($552,40,$556,$557,0)|0); - HEAP32[$pNewExpr2>>2] = $558; - $559 = HEAP32[$pNewExpr2>>2]|0; - $560 = HEAP32[$pExpr>>2]|0; - _transferJoinMarkings($559,$560); - $561 = HEAP32[$1>>2]|0; - $562 = HEAP32[$pNewExpr2>>2]|0; - $563 = (_whereClauseInsert($561,$562,259)|0); - HEAP32[$idxNew2>>2] = $563; - $564 = HEAP32[$0>>2]|0; - $565 = HEAP32[$1>>2]|0; - $566 = HEAP32[$idxNew2>>2]|0; - _exprAnalyze($564,$565,$566); - $567 = HEAP32[$2>>2]|0; - $568 = HEAP32[$1>>2]|0; - $569 = ((($568)) + 20|0); - $570 = HEAP32[$569>>2]|0; - $571 = (($570) + (($567*48)|0)|0); - HEAP32[$pTerm>>2] = $571; - $572 = HEAP32[$isComplete>>2]|0; - $573 = ($572|0)!=(0); - if ($573) { - $574 = HEAP32[$1>>2]|0; - $575 = HEAP32[$idxNew13>>2]|0; - $576 = HEAP32[$2>>2]|0; - _markTermAsChild($574,$575,$576); - $577 = HEAP32[$1>>2]|0; - $578 = HEAP32[$idxNew2>>2]|0; - $579 = HEAP32[$2>>2]|0; - _markTermAsChild($577,$578,$579); - } - } - } - $580 = HEAP32[$1>>2]|0; - $581 = ((($580)) + 8|0); - $582 = HEAP8[$581>>0]|0; - $583 = $582&255; - $584 = ($583|0)==(28); - if ($584) { - $585 = HEAP32[$pExpr>>2]|0; - $586 = (_isMatchOfColumn($585,$eOp2)|0); - $587 = ($586|0)!=(0); - if ($587) { - $588 = HEAP32[$pExpr>>2]|0; - $589 = ((($588)) + 20|0); - $590 = HEAP32[$589>>2]|0; - $591 = ((($590)) + 4|0); - $592 = HEAP32[$591>>2]|0; - $593 = HEAP32[$592>>2]|0; - HEAP32[$pRight7>>2] = $593; - $594 = HEAP32[$pExpr>>2]|0; - $595 = ((($594)) + 20|0); - $596 = HEAP32[$595>>2]|0; - $597 = ((($596)) + 4|0); - $598 = HEAP32[$597>>2]|0; - $599 = ((($598)) + 20|0); - $600 = HEAP32[$599>>2]|0; - HEAP32[$pLeft8>>2] = $600; - $601 = HEAP32[$pMaskSet>>2]|0; - $602 = HEAP32[$pRight7>>2]|0; - $603 = (_sqlite3WhereExprUsage($601,$602)|0); - $604 = tempRet0; - $605 = $prereqExpr; - $606 = $605; - HEAP32[$606>>2] = $603; - $607 = (($605) + 4)|0; - $608 = $607; - HEAP32[$608>>2] = $604; - $609 = HEAP32[$pMaskSet>>2]|0; - $610 = HEAP32[$pLeft8>>2]|0; - $611 = (_sqlite3WhereExprUsage($609,$610)|0); - $612 = tempRet0; - $613 = $prereqColumn; - $614 = $613; - HEAP32[$614>>2] = $611; - $615 = (($613) + 4)|0; - $616 = $615; - HEAP32[$616>>2] = $612; - $617 = $prereqExpr; - $618 = $617; - $619 = HEAP32[$618>>2]|0; - $620 = (($617) + 4)|0; - $621 = $620; - $622 = HEAP32[$621>>2]|0; - $623 = $prereqColumn; - $624 = $623; - $625 = HEAP32[$624>>2]|0; - $626 = (($623) + 4)|0; - $627 = $626; - $628 = HEAP32[$627>>2]|0; - $629 = $619 & $625; - $630 = $622 & $628; - $631 = ($629|0)==(0); - $632 = ($630|0)==(0); - $633 = $631 & $632; - if ($633) { - $634 = HEAP32[$pParse>>2]|0; - $635 = HEAP32[$db>>2]|0; - $636 = HEAP32[$pRight7>>2]|0; - $637 = (_sqlite3ExprDup($635,$636,0)|0); - $638 = (_sqlite3PExpr($634,30,0,$637,0)|0); - HEAP32[$pNewExpr9>>2] = $638; - $639 = HEAP32[$1>>2]|0; - $640 = HEAP32[$pNewExpr9>>2]|0; - $641 = (_whereClauseInsert($639,$640,3)|0); - HEAP32[$idxNew6>>2] = $641; - $642 = HEAP32[$idxNew6>>2]|0; - $643 = HEAP32[$1>>2]|0; - $644 = ((($643)) + 20|0); - $645 = HEAP32[$644>>2]|0; - $646 = (($645) + (($642*48)|0)|0); - HEAP32[$pNewTerm>>2] = $646; - $647 = $prereqExpr; - $648 = $647; - $649 = HEAP32[$648>>2]|0; - $650 = (($647) + 4)|0; - $651 = $650; - $652 = HEAP32[$651>>2]|0; - $653 = HEAP32[$pNewTerm>>2]|0; - $654 = ((($653)) + 32|0); - $655 = $654; - $656 = $655; - HEAP32[$656>>2] = $649; - $657 = (($655) + 4)|0; - $658 = $657; - HEAP32[$658>>2] = $652; - $659 = HEAP32[$pLeft8>>2]|0; - $660 = ((($659)) + 28|0); - $661 = HEAP32[$660>>2]|0; - $662 = HEAP32[$pNewTerm>>2]|0; - $663 = ((($662)) + 20|0); - HEAP32[$663>>2] = $661; - $664 = HEAP32[$pLeft8>>2]|0; - $665 = ((($664)) + 32|0); - $666 = HEAP16[$665>>1]|0; - $667 = $666 << 16 >> 16; - $668 = HEAP32[$pNewTerm>>2]|0; - $669 = ((($668)) + 28|0); - HEAP32[$669>>2] = $667; - $670 = HEAP32[$pNewTerm>>2]|0; - $671 = ((($670)) + 12|0); - HEAP16[$671>>1] = 64; - $672 = HEAP8[$eOp2>>0]|0; - $673 = HEAP32[$pNewTerm>>2]|0; - $674 = ((($673)) + 15|0); - HEAP8[$674>>0] = $672; - $675 = HEAP32[$1>>2]|0; - $676 = HEAP32[$idxNew6>>2]|0; - $677 = HEAP32[$2>>2]|0; - _markTermAsChild($675,$676,$677); - $678 = HEAP32[$2>>2]|0; - $679 = HEAP32[$1>>2]|0; - $680 = ((($679)) + 20|0); - $681 = HEAP32[$680>>2]|0; - $682 = (($681) + (($678*48)|0)|0); - HEAP32[$pTerm>>2] = $682; - $683 = HEAP32[$pTerm>>2]|0; - $684 = ((($683)) + 10|0); - $685 = HEAP16[$684>>1]|0; - $686 = $685&65535; - $687 = $686 | 8; - $688 = $687&65535; - HEAP16[$684>>1] = $688; - $689 = HEAP32[$pTerm>>2]|0; - $690 = ((($689)) + 40|0); - $691 = $690; - $692 = $691; - $693 = HEAP32[$692>>2]|0; - $694 = (($691) + 4)|0; - $695 = $694; - $696 = HEAP32[$695>>2]|0; - $697 = HEAP32[$pNewTerm>>2]|0; - $698 = ((($697)) + 40|0); - $699 = $698; - $700 = $699; - HEAP32[$700>>2] = $693; - $701 = (($699) + 4)|0; - $702 = $701; - HEAP32[$702>>2] = $696; - } + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); +} +function _explainIndexRange($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 30|0; + $6 = sp + 28|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 24|0); + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP16[$15>>1]|0; + HEAP16[$5>>1] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 42|0); + $19 = HEAP16[$18>>1]|0; + HEAP16[$6>>1] = $19; + $20 = HEAP16[$5>>1]|0; + $21 = $20&65535; + $22 = ($21|0)==(0); + if ($22) { + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 36|0); + $25 = HEAP32[$24>>2]|0; + $26 = $25 & 48; + $27 = ($26|0)==(0); + if ($27) { + STACKTOP = sp;return; } } - $703 = HEAP32[$1>>2]|0; - $704 = ((($703)) + 8|0); - $705 = HEAP8[$704>>0]|0; - $706 = $705&255; - $707 = ($706|0)==(28); - do { - if ($707) { - $708 = HEAP32[$pExpr>>2]|0; - $709 = HEAP8[$708>>0]|0; - $710 = $709&255; - $711 = ($710|0)==(37); - if (!($711)) { - $712 = HEAP32[$pExpr>>2]|0; - $713 = HEAP8[$712>>0]|0; - $714 = $713&255; - $715 = ($714|0)==(29); - if (!($715)) { - break; - } - } - $716 = HEAP32[$pExpr>>2]|0; - $717 = ((($716)) + 12|0); - $718 = HEAP32[$717>>2]|0; - $719 = (_sqlite3ExprIsVector($718)|0); - $720 = ($719|0)!=(0); - if ($720) { - $721 = HEAP32[$pExpr>>2]|0; - $722 = ((($721)) + 12|0); - $723 = HEAP32[$722>>2]|0; - $724 = ((($723)) + 4|0); - $725 = HEAP32[$724>>2]|0; - $726 = $725 & 2048; - $727 = ($726|0)==(0); - if (!($727)) { - $728 = HEAP32[$pExpr>>2]|0; - $729 = ((($728)) + 16|0); - $730 = HEAP32[$729>>2]|0; - $731 = ((($730)) + 4|0); - $732 = HEAP32[$731>>2]|0; - $733 = $732 & 2048; - $734 = ($733|0)==(0); - if (!($734)) { - break; - } - } - $735 = HEAP32[$pExpr>>2]|0; - $736 = ((($735)) + 12|0); - $737 = HEAP32[$736>>2]|0; - $738 = (_sqlite3ExprVectorSize($737)|0); - HEAP32[$nLeft>>2] = $738; - HEAP32[$i10>>2] = 0; - while(1) { - $739 = HEAP32[$i10>>2]|0; - $740 = HEAP32[$nLeft>>2]|0; - $741 = ($739|0)<($740|0); - if (!($741)) { - break; - } - $742 = HEAP32[$pParse>>2]|0; - $743 = HEAP32[$pExpr>>2]|0; - $744 = ((($743)) + 12|0); - $745 = HEAP32[$744>>2]|0; - $746 = HEAP32[$i10>>2]|0; - $747 = (_sqlite3ExprForVectorField($742,$745,$746)|0); - HEAP32[$pLeft13>>2] = $747; - $748 = HEAP32[$pParse>>2]|0; - $749 = HEAP32[$pExpr>>2]|0; - $750 = ((($749)) + 16|0); - $751 = HEAP32[$750>>2]|0; - $752 = HEAP32[$i10>>2]|0; - $753 = (_sqlite3ExprForVectorField($748,$751,$752)|0); - HEAP32[$pRight14>>2] = $753; - $754 = HEAP32[$pParse>>2]|0; - $755 = HEAP32[$pExpr>>2]|0; - $756 = HEAP8[$755>>0]|0; - $757 = $756&255; - $758 = HEAP32[$pLeft13>>2]|0; - $759 = HEAP32[$pRight14>>2]|0; - $760 = (_sqlite3PExpr($754,$757,$758,$759,0)|0); - HEAP32[$pNew12>>2] = $760; - $761 = HEAP32[$pNew12>>2]|0; - $762 = HEAP32[$pExpr>>2]|0; - _transferJoinMarkings($761,$762); - $763 = HEAP32[$1>>2]|0; - $764 = HEAP32[$pNew12>>2]|0; - $765 = (_whereClauseInsert($763,$764,1)|0); - HEAP32[$idxNew11>>2] = $765; - $766 = HEAP32[$0>>2]|0; - $767 = HEAP32[$1>>2]|0; - $768 = HEAP32[$idxNew11>>2]|0; - _exprAnalyze($766,$767,$768); - $769 = HEAP32[$i10>>2]|0; - $770 = (($769) + 1)|0; - HEAP32[$i10>>2] = $770; - } - $771 = HEAP32[$2>>2]|0; - $772 = HEAP32[$1>>2]|0; - $773 = ((($772)) + 20|0); - $774 = HEAP32[$773>>2]|0; - $775 = (($774) + (($771*48)|0)|0); - HEAP32[$pTerm>>2] = $775; - $776 = HEAP32[$pTerm>>2]|0; - $777 = ((($776)) + 10|0); - HEAP16[$777>>1] = 6; - $778 = HEAP32[$pTerm>>2]|0; - $779 = ((($778)) + 12|0); - HEAP16[$779>>1] = 0; - } + $28 = HEAP32[$2>>2]|0; + _sqlite3StrAccumAppend($28,34300,2); + HEAP32[$7>>2] = 0; + while(1) { + $29 = HEAP32[$7>>2]|0; + $30 = HEAP16[$5>>1]|0; + $31 = $30&65535; + $32 = ($29|0)<($31|0); + if (!($32)) { + break; } - } while(0); - $780 = HEAP32[$1>>2]|0; - $781 = ((($780)) + 8|0); - $782 = HEAP8[$781>>0]|0; - $783 = $782&255; - $784 = ($783|0)==(28); - L98: do { - if ($784) { - $785 = HEAP32[$pExpr>>2]|0; - $786 = HEAP8[$785>>0]|0; - $787 = $786&255; - $788 = ($787|0)==(33); - if ($788) { - $789 = HEAP32[$pTerm>>2]|0; - $790 = ((($789)) + 24|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0); - if ($792) { - $793 = HEAP32[$pExpr>>2]|0; - $794 = ((($793)) + 12|0); - $795 = HEAP32[$794>>2]|0; - $796 = HEAP8[$795>>0]|0; - $797 = $796&255; - $798 = ($797|0)==(158); - if ($798) { - $799 = HEAP32[$pExpr>>2]|0; - $800 = ((($799)) + 20|0); - $801 = HEAP32[$800>>2]|0; - $802 = ((($801)) + 48|0); - $803 = HEAP32[$802>>2]|0; - $804 = ($803|0)==(0|0); - if ($804) { - HEAP32[$i15>>2] = 0; - while(1) { - $805 = HEAP32[$i15>>2]|0; - $806 = HEAP32[$pExpr>>2]|0; - $807 = ((($806)) + 12|0); - $808 = HEAP32[$807>>2]|0; - $809 = (_sqlite3ExprVectorSize($808)|0); - $810 = ($805|0)<($809|0); - if (!($810)) { - break L98; - } - $811 = HEAP32[$1>>2]|0; - $812 = HEAP32[$pExpr>>2]|0; - $813 = (_whereClauseInsert($811,$812,2)|0); - HEAP32[$idxNew16>>2] = $813; - $814 = HEAP32[$i15>>2]|0; - $815 = (($814) + 1)|0; - $816 = HEAP32[$idxNew16>>2]|0; - $817 = HEAP32[$1>>2]|0; - $818 = ((($817)) + 20|0); - $819 = HEAP32[$818>>2]|0; - $820 = (($819) + (($816*48)|0)|0); - $821 = ((($820)) + 24|0); - HEAP32[$821>>2] = $815; - $822 = HEAP32[$0>>2]|0; - $823 = HEAP32[$1>>2]|0; - $824 = HEAP32[$idxNew16>>2]|0; - _exprAnalyze($822,$823,$824); - $825 = HEAP32[$1>>2]|0; - $826 = HEAP32[$idxNew16>>2]|0; - $827 = HEAP32[$2>>2]|0; - _markTermAsChild($825,$826,$827); - $828 = HEAP32[$i15>>2]|0; - $829 = (($828) + 1)|0; - HEAP32[$i15>>2] = $829; - } - } - } - } - } + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$7>>2]|0; + $35 = (_explainIndexColumnName($33,$34)|0); + HEAP32[$9>>2] = $35; + $36 = HEAP32[$7>>2]|0; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$2>>2]|0; + _sqlite3StrAccumAppend($38,34303,5); } - } while(0); - $830 = $extraRight; - $831 = $830; - $832 = HEAP32[$831>>2]|0; - $833 = (($830) + 4)|0; - $834 = $833; - $835 = HEAP32[$834>>2]|0; - $836 = HEAP32[$pTerm>>2]|0; - $837 = ((($836)) + 32|0); - $838 = $837; - $839 = $838; - $840 = HEAP32[$839>>2]|0; - $841 = (($838) + 4)|0; - $842 = $841; - $843 = HEAP32[$842>>2]|0; - $844 = $840 | $832; - $845 = $843 | $835; - $846 = $837; - $847 = $846; - HEAP32[$847>>2] = $844; - $848 = (($846) + 4)|0; - $849 = $848; - HEAP32[$849>>2] = $845; + $39 = HEAP32[$2>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP16[$6>>1]|0; + $42 = $41&65535; + $43 = ($40|0)>=($42|0); + $44 = $43 ? 34309 : 34314; + $45 = HEAP32[$9>>2]|0; + HEAP32[$vararg_buffer>>2] = $45; + _sqlite3XPrintf($39,$44,$vararg_buffer); + $46 = HEAP32[$7>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$7>>2] = $47; + } + $48 = HEAP32[$7>>2]|0; + HEAP32[$8>>2] = $48; + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 36|0); + $51 = HEAP32[$50>>2]|0; + $52 = $51 & 32; + $53 = ($52|0)!=(0); + if ($53) { + $54 = HEAP32[$2>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = HEAP32[$3>>2]|0; + $57 = ((($56)) + 24|0); + $58 = ((($57)) + 2|0); + $59 = HEAP16[$58>>1]|0; + $60 = $59&65535; + $61 = HEAP32[$8>>2]|0; + $62 = HEAP32[$7>>2]|0; + _explainAppendTerm($54,$55,$60,$61,$62,34231); + HEAP32[$7>>2] = 1; + } + $63 = HEAP32[$3>>2]|0; + $64 = ((($63)) + 36|0); + $65 = HEAP32[$64>>2]|0; + $66 = $65 & 16; + $67 = ($66|0)!=(0); + if ($67) { + $68 = HEAP32[$2>>2]|0; + $69 = HEAP32[$4>>2]|0; + $70 = HEAP32[$3>>2]|0; + $71 = ((($70)) + 24|0); + $72 = ((($71)) + 4|0); + $73 = HEAP16[$72>>1]|0; + $74 = $73&65535; + $75 = HEAP32[$8>>2]|0; + $76 = HEAP32[$7>>2]|0; + _explainAppendTerm($68,$69,$74,$75,$76,34233); + } + $77 = HEAP32[$2>>2]|0; + _sqlite3StrAccumAppend($77,34322,1); STACKTOP = sp;return; } -function _allowedOp($op) { - $op = $op|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; +function _explainIndexColumnName($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $op; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(33); - if ($2) { - $12 = 1; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (($7) + ($8<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10 << 16 >> 16; + HEAP32[$4>>2] = $11; + $12 = HEAP32[$4>>2]|0; + $13 = ($12|0)==(-2); + if ($13) { + HEAP32[$2>>2] = 34326; + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); + } + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(-1); + if ($15) { + HEAP32[$2>>2] = 26001; + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); } else { - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)>=(37); - $5 = HEAP32[$0>>2]|0; - $6 = ($5|0)<=(41); - $or$cond = $4 & $6; - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)==(34); - $or$cond3 = $or$cond | $8; - if ($or$cond3) { - $12 = 1; - } else { - $9 = HEAP32[$0>>2]|0; - $10 = ($9|0)==(29); - $12 = $10; - } + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = (($20) + ($21<<4)|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$2>>2] = $23; + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); } - $11 = $12&1; - STACKTOP = sp;return ($11|0); + return (0)|0; } -function _exprMightBeIndexed($pFrom,$op,$0,$1,$pExpr,$piCur,$piColumn) { - $pFrom = $pFrom|0; - $op = $op|0; +function _explainAppendTerm($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; - $pExpr = $pExpr|0; - $piCur = $piCur|0; - $piColumn = $piColumn|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $i = 0, $iCur = 0, $or$cond = 0, $or$cond3 = 0, $pIdx = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $5 = sp; - $6 = sp + 28|0; - $7 = sp + 24|0; - $8 = sp + 20|0; - $pIdx = sp + 16|0; - $i = sp + 12|0; - $iCur = sp + 8|0; - HEAP32[$3>>2] = $pFrom; - HEAP32[$4>>2] = $op; - $9 = $5; - $10 = $9; - HEAP32[$10>>2] = $0; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = $1; - HEAP32[$6>>2] = $pExpr; - HEAP32[$7>>2] = $piCur; - HEAP32[$8>>2] = $piColumn; - $13 = HEAP32[$6>>2]|0; - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==(158); - $17 = HEAP32[$4>>2]|0; - $18 = ($17|0)>=(38); - $or$cond = $16 & $18; - $19 = HEAP32[$4>>2]|0; - $20 = ($19|0)<=(41); - $or$cond3 = $or$cond & $20; - if ($or$cond3) { - $21 = HEAP32[$6>>2]|0; - $22 = ((($21)) + 20|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$25>>2]|0; - HEAP32[$6>>2] = $26; - } - $27 = HEAP32[$6>>2]|0; - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)==(152); - if ($30) { - $31 = HEAP32[$6>>2]|0; - $32 = ((($31)) + 28|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$7>>2]|0; - HEAP32[$34>>2] = $33; - $35 = HEAP32[$6>>2]|0; - $36 = ((($35)) + 32|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37 << 16 >> 16; - $39 = HEAP32[$8>>2]|0; - HEAP32[$39>>2] = $38; - HEAP32[$2>>2] = 1; - $146 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($146|0); - } - $40 = $5; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (($40) + 4)|0; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = ($42|0)==(0); - $47 = ($45|0)==(0); - $48 = $46 & $47; - if ($48) { - HEAP32[$2>>2] = 0; - $146 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($146|0); + STACKTOP = STACKTOP + 32|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $13 = HEAP32[$10>>2]|0; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$6>>2]|0; + _sqlite3StrAccumAppend($15,34303,5); } - $49 = $5; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = $5; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (($55) + 4)|0; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (_i64Subtract(($57|0),($60|0),1,0)|0); - $62 = tempRet0; - $63 = $51 & $61; - $64 = $54 & $62; - $65 = ($63|0)!=(0); - $66 = ($64|0)!=(0); - $67 = $65 | $66; - if ($67) { - HEAP32[$2>>2] = 0; - $146 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($146|0); + $16 = HEAP32[$8>>2]|0; + $17 = ($16|0)>(1); + if ($17) { + $18 = HEAP32[$6>>2]|0; + _sqlite3StrAccumAppend($18,34324,1); } - HEAP32[$i>>2] = 0; + HEAP32[$12>>2] = 0; while(1) { - $68 = $5; - $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)>(1); - $76 = ($73|0)==(0); - $77 = $76 & $75; - $78 = $74 | $77; - $79 = HEAP32[$i>>2]|0; - if (!($78)) { + $19 = HEAP32[$12>>2]|0; + $20 = HEAP32[$8>>2]|0; + $21 = ($19|0)<($20|0); + if (!($21)) { break; } - $80 = (($79) + 1)|0; - HEAP32[$i>>2] = $80; - $81 = $5; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = (($81) + 4)|0; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = (_bitshift64Lshr(($83|0),($86|0),1)|0); - $88 = tempRet0; - $89 = $5; - $90 = $89; - HEAP32[$90>>2] = $87; - $91 = (($89) + 4)|0; - $92 = $91; - HEAP32[$92>>2] = $88; + $22 = HEAP32[$12>>2]|0; + $23 = ($22|0)!=(0); + if ($23) { + $24 = HEAP32[$6>>2]|0; + _sqlite3StrAccumAppend($24,22226,1); + } + $25 = HEAP32[$6>>2]|0; + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$9>>2]|0; + $28 = HEAP32[$12>>2]|0; + $29 = (($27) + ($28))|0; + $30 = (_explainIndexColumnName($26,$29)|0); + _sqlite3StrAccumAppendAll($25,$30); + $31 = HEAP32[$12>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$12>>2] = $32; } - $93 = HEAP32[$3>>2]|0; - $94 = ((($93)) + 8|0); - $95 = (($94) + (($79*72)|0)|0); - $96 = ((($95)) + 44|0); - $97 = HEAP32[$96>>2]|0; - HEAP32[$iCur>>2] = $97; - $98 = HEAP32[$i>>2]|0; - $99 = HEAP32[$3>>2]|0; - $100 = ((($99)) + 8|0); - $101 = (($100) + (($98*72)|0)|0); - $102 = ((($101)) + 16|0); - $103 = HEAP32[$102>>2]|0; - $104 = ((($103)) + 8|0); - $105 = HEAP32[$104>>2]|0; - HEAP32[$pIdx>>2] = $105; - L20: while(1) { - $106 = HEAP32[$pIdx>>2]|0; - $107 = ($106|0)!=(0|0); - if (!($107)) { - label = 22; + $33 = HEAP32[$8>>2]|0; + $34 = ($33|0)>(1); + if ($34) { + $35 = HEAP32[$6>>2]|0; + _sqlite3StrAccumAppend($35,34322,1); + } + $36 = HEAP32[$6>>2]|0; + $37 = HEAP32[$11>>2]|0; + _sqlite3StrAccumAppend($36,$37,1); + $38 = HEAP32[$8>>2]|0; + $39 = ($38|0)>(1); + if ($39) { + $40 = HEAP32[$6>>2]|0; + _sqlite3StrAccumAppend($40,34324,1); + } + HEAP32[$12>>2] = 0; + while(1) { + $41 = HEAP32[$12>>2]|0; + $42 = HEAP32[$8>>2]|0; + $43 = ($41|0)<($42|0); + if (!($43)) { break; } - $108 = HEAP32[$pIdx>>2]|0; - $109 = ((($108)) + 40|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - L23: do { - if (!($111)) { - HEAP32[$i>>2] = 0; - while(1) { - $112 = HEAP32[$i>>2]|0; - $113 = HEAP32[$pIdx>>2]|0; - $114 = ((($113)) + 50|0); - $115 = HEAP16[$114>>1]|0; - $116 = $115&65535; - $117 = ($112|0)<($116|0); - if (!($117)) { - break L23; - } - $118 = HEAP32[$i>>2]|0; - $119 = HEAP32[$pIdx>>2]|0; - $120 = ((($119)) + 4|0); - $121 = HEAP32[$120>>2]|0; - $122 = (($121) + ($118<<1)|0); - $123 = HEAP16[$122>>1]|0; - $124 = $123 << 16 >> 16; - $125 = ($124|0)!=(-2); - if (!($125)) { - $126 = HEAP32[$6>>2]|0; - $127 = HEAP32[$i>>2]|0; - $128 = HEAP32[$pIdx>>2]|0; - $129 = ((($128)) + 40|0); - $130 = HEAP32[$129>>2]|0; - $131 = ((($130)) + 4|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + (($127*20)|0)|0); - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$iCur>>2]|0; - $136 = (_sqlite3ExprCompare($126,$134,$135)|0); - $137 = ($136|0)==(0); - if ($137) { - label = 19; - break L20; - } - } - $141 = HEAP32[$i>>2]|0; - $142 = (($141) + 1)|0; - HEAP32[$i>>2] = $142; - } - } - } while(0); - $143 = HEAP32[$pIdx>>2]|0; - $144 = ((($143)) + 20|0); - $145 = HEAP32[$144>>2]|0; - HEAP32[$pIdx>>2] = $145; - } - if ((label|0) == 19) { - $138 = HEAP32[$iCur>>2]|0; - $139 = HEAP32[$7>>2]|0; - HEAP32[$139>>2] = $138; - $140 = HEAP32[$8>>2]|0; - HEAP32[$140>>2] = -2; - HEAP32[$2>>2] = 1; - $146 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($146|0); + $44 = HEAP32[$12>>2]|0; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$6>>2]|0; + _sqlite3StrAccumAppend($46,22226,1); + } + $47 = HEAP32[$6>>2]|0; + _sqlite3StrAccumAppend($47,27259,1); + $48 = HEAP32[$12>>2]|0; + $49 = (($48) + 1)|0; + HEAP32[$12>>2] = $49; } - else if ((label|0) == 22) { - HEAP32[$2>>2] = 0; - $146 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($146|0); + $50 = HEAP32[$8>>2]|0; + $51 = ($50|0)>(1); + if (!($51)) { + STACKTOP = sp;return; } - return (0)|0; + $52 = HEAP32[$6>>2]|0; + _sqlite3StrAccumAppend($52,34322,1); + STACKTOP = sp;return; } -function _operatorMask($op) { - $op = $op|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; +function _sqlite3ExprIsTableConstant($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - $c = sp + 4|0; - HEAP32[$0>>2] = $op; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(33); - do { - if ($2) { - HEAP16[$c>>1] = 1; - } else { - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)==(34); - if ($4) { - HEAP16[$c>>1] = 256; - break; - } - $5 = HEAP32[$0>>2]|0; - $6 = ($5|0)==(29); - if ($6) { - HEAP16[$c>>1] = 128; - break; - } else { - $7 = HEAP32[$0>>2]|0; - $8 = (($7) - 37)|0; - $9 = 2 << $8; - $10 = $9&65535; - HEAP16[$c>>1] = $10; - break; - } - } - } while(0); - $11 = HEAP16[$c>>1]|0; - STACKTOP = sp;return ($11|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_exprIsConst($4,3,$5)|0); + STACKTOP = sp;return ($6|0); } -function _whereClauseInsert($pWC,$p,$wtFlags) { - $pWC = $pWC|0; - $p = $p|0; - $wtFlags = $wtFlags|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $db = 0, $idx = 0, $pOld = 0, $pTerm = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _termCanDriveIndex($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 28|0; - $pTerm = sp + 12|0; - $idx = sp + 8|0; - $pOld = sp + 4|0; - $db = sp; - HEAP32[$1>>2] = $pWC; - HEAP32[$2>>2] = $p; - HEAP16[$3>>1] = $wtFlags; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($6|0)>=($9|0); - do { - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pOld>>2] = $13; - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$16>>2]|0; - HEAP32[$db>>2] = $17; - $18 = HEAP32[$db>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 16|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21*48)|0; - $23 = $22<<1; - $24 = (_sqlite3DbMallocRawNN($18,$23,0)|0); - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 20|0); - HEAP32[$26>>2] = $24; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 20|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0|0); - if (!($30)) { - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 20|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$pOld>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46*48)|0; - _memcpy(($42|0),($43|0),($47|0))|0; - $48 = HEAP32[$pOld>>2]|0; - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 24|0); - $51 = ($48|0)!=($50|0); - if ($51) { - $52 = HEAP32[$db>>2]|0; - $53 = HEAP32[$pOld>>2]|0; - _sqlite3DbFree($52,$53); - } - $54 = HEAP32[$db>>2]|0; - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 20|0); - $57 = HEAP32[$56>>2]|0; - $58 = (_sqlite3DbMallocSize($54,$57)|0); - $59 = (($58>>>0) / 48)&-1; - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 16|0); - HEAP32[$61>>2] = $59; - break; - } - $31 = HEAP16[$3>>1]|0; - $32 = $31&65535; - $33 = $32 & 1; - $34 = ($33|0)!=(0); - if ($34) { - $35 = HEAP32[$db>>2]|0; - $36 = HEAP32[$2>>2]|0; - _sqlite3ExprDelete($35,$36); - } - $37 = HEAP32[$pOld>>2]|0; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 20|0); - HEAP32[$39>>2] = $37; - HEAP32[$0>>2] = 0; - $104 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($104|0); - } - } while(0); - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 12|0); - $64 = HEAP32[$63>>2]|0; - $65 = (($64) + 1)|0; - HEAP32[$63>>2] = $65; - HEAP32[$idx>>2] = $64; - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 20|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68) + (($64*48)|0)|0); - HEAP32[$pTerm>>2] = $69; - $70 = HEAP32[$2>>2]|0; - $71 = ($70|0)!=(0|0); - if ($71) { - $72 = HEAP32[$2>>2]|0; - $73 = ((($72)) + 4|0); - $74 = HEAP32[$73>>2]|0; - $75 = $74 & 262144; - $76 = ($75|0)!=(0); - if ($76) { - $77 = HEAP32[$2>>2]|0; - $78 = ((($77)) + 28|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)<(0); - $81 = $80 << 31 >> 31; - $82 = (_sqlite3LogEst($79,$81)|0); - $83 = $82 << 16 >> 16; - $84 = (($83) - 270)|0; - $85 = $84&65535; - $86 = HEAP32[$pTerm>>2]|0; - $87 = ((($86)) + 8|0); - HEAP16[$87>>1] = $85; - } else { - label = 12; - } - } else { - label = 12; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 20|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + $9 = $7; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $3; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)!=($18|0); + if ($19) { + HEAP32[$4>>2] = 0; + $65 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($65|0); } - if ((label|0) == 12) { - $88 = HEAP32[$pTerm>>2]|0; - $89 = ((($88)) + 8|0); - HEAP16[$89>>1] = 1; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = $23 & 130; + $25 = ($24|0)==(0); + if ($25) { + HEAP32[$4>>2] = 0; + $65 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($65|0); } - $90 = HEAP32[$2>>2]|0; - $91 = (_sqlite3ExprSkipCollate($90)|0); - $92 = HEAP32[$pTerm>>2]|0; - HEAP32[$92>>2] = $91; - $93 = HEAP16[$3>>1]|0; - $94 = HEAP32[$pTerm>>2]|0; - $95 = ((($94)) + 10|0); - HEAP16[$95>>1] = $93; - $96 = HEAP32[$1>>2]|0; - $97 = HEAP32[$pTerm>>2]|0; - $98 = ((($97)) + 4|0); - HEAP32[$98>>2] = $96; - $99 = HEAP32[$pTerm>>2]|0; - $100 = ((($99)) + 16|0); - HEAP32[$100>>2] = -1; - $101 = HEAP32[$pTerm>>2]|0; - $102 = ((($101)) + 12|0); - dest=$102; stop=dest+36|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); - $103 = HEAP32[$idx>>2]|0; - HEAP32[$0>>2] = $103; - $104 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($104|0); -} -function _markTermAsChild($pWC,$iChild,$iParent) { - $pWC = $pWC|0; - $iChild = $iChild|0; - $iParent = $iParent|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 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 + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pWC; - HEAP32[$1>>2] = $iChild; - HEAP32[$2>>2] = $iParent; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + (($4*48)|0)|0); - $9 = ((($8)) + 16|0); - HEAP32[$9>>2] = $3; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + (($10*48)|0)|0); - $15 = ((($14)) + 8|0); - $16 = HEAP16[$15>>1]|0; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + (($17*48)|0)|0); - $22 = ((($21)) + 8|0); - HEAP16[$22>>1] = $16; - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 20|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + (($23*48)|0)|0); - $28 = ((($27)) + 14|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($29) + 1)<<24>>24; - HEAP8[$28>>0] = $30; - STACKTOP = sp;return; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 32|0); + $28 = $27; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = $7; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = $30 & $36; + $41 = $33 & $39; + $42 = ($40|0)!=(0); + $43 = ($41|0)!=(0); + $44 = $42 | $43; + if ($44) { + HEAP32[$4>>2] = 0; + $65 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($65|0); + } + $45 = HEAP32[$5>>2]|0; + $46 = ((($45)) + 28|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)<(0); + if ($48) { + HEAP32[$4>>2] = 0; + $65 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($65|0); + } + $49 = HEAP32[$6>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($51)) + 4|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$5>>2]|0; + $55 = ((($54)) + 28|0); + $56 = HEAP32[$55>>2]|0; + $57 = (($53) + ($56<<4)|0); + $58 = ((($57)) + 13|0); + $59 = HEAP8[$58>>0]|0; + HEAP8[$8>>0] = $59; + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$60>>2]|0; + $62 = HEAP8[$8>>0]|0; + $63 = (_sqlite3IndexAffinityOk($61,$62)|0); + $64 = ($63|0)!=(0); + if ($64) { + HEAP32[$4>>2] = 1; + $65 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($65|0); + } else { + HEAP32[$4>>2] = 0; + $65 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($65|0); + } + return (0)|0; } -function _termIsEquivalence($pParse,$pExpr) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $aff1 = 0, $aff2 = 0, $pColl = 0, $zColl1 = 0, $zColl2 = 0, label = 0, sp = 0; +function _whereLoopResize($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $aff1 = sp + 25|0; - $aff2 = sp + 24|0; - $pColl = sp + 8|0; - $zColl1 = sp + 4|0; - $zColl2 = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pExpr; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 64|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = $7 & 512; - $9 = ($8|0)==(0); - if (!($9)) { - HEAP32[$0>>2] = 0; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); - } - $10 = HEAP32[$2>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)!=(37); + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = ((($8)) + 44|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10&65535; + $12 = HEAP32[$6>>2]|0; + $13 = ($11|0)>=($12|0); if ($13) { - $14 = HEAP32[$2>>2]|0; - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)!=(29); - if ($17) { - HEAP32[$0>>2] = 0; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); - } + HEAP32[$3>>2] = 0; + $49 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($49|0); } - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = $20 & 1; - $22 = ($21|0)!=(0); + $14 = HEAP32[$6>>2]|0; + $15 = (($14) + 7)|0; + $16 = $15 & -8; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = $18<<2; + $20 = (_sqlite3DbMallocRawNN($17,$19,0)|0); + HEAP32[$7>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = ($21|0)==(0|0); if ($22) { - HEAP32[$0>>2] = 0; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); + HEAP32[$3>>2] = 7; + $49 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($49|0); } - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3ExprAffinity($25)|0); - HEAP8[$aff1>>0] = $26; - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 16|0); - $29 = HEAP32[$28>>2]|0; - $30 = (_sqlite3ExprAffinity($29)|0); - HEAP8[$aff2>>0] = $30; - $31 = HEAP8[$aff1>>0]|0; - $32 = $31 << 24 >> 24; - $33 = HEAP8[$aff2>>0]|0; - $34 = $33 << 24 >> 24; - $35 = ($32|0)!=($34|0); - do { - if ($35) { - $36 = HEAP8[$aff1>>0]|0; - $37 = $36 << 24 >> 24; - $38 = ($37|0)>=(67); - if ($38) { - $39 = HEAP8[$aff2>>0]|0; - $40 = $39 << 24 >> 24; - $41 = ($40|0)>=(67); - if ($41) { - break; - } - } - HEAP32[$0>>2] = 0; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); - } - } while(0); - $42 = HEAP32[$1>>2]|0; - $43 = HEAP32[$2>>2]|0; - $44 = ((($43)) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$2>>2]|0; - $47 = ((($46)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_sqlite3BinaryCompareCollSeq($42,$45,$48)|0); - HEAP32[$pColl>>2] = $49; - $50 = HEAP32[$pColl>>2]|0; - $51 = ($50|0)==(0|0); - if (!($51)) { - $52 = HEAP32[$pColl>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = (_sqlite3StrICmp($53,34834)|0); - $55 = ($54|0)==(0); - if (!($55)) { - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$2>>2]|0; - $58 = ((($57)) + 12|0); - $59 = HEAP32[$58>>2]|0; - $60 = (_sqlite3ExprCollSeq($56,$59)|0); - HEAP32[$pColl>>2] = $60; - $61 = HEAP32[$pColl>>2]|0; - $62 = ($61|0)!=(0|0); - if ($62) { - $63 = HEAP32[$pColl>>2]|0; - $64 = HEAP32[$63>>2]|0; - $65 = $64; - } else { - $65 = 0; - } - HEAP32[$zColl1>>2] = $65; - $66 = HEAP32[$1>>2]|0; - $67 = HEAP32[$2>>2]|0; - $68 = ((($67)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = (_sqlite3ExprCollSeq($66,$69)|0); - HEAP32[$pColl>>2] = $70; - $71 = HEAP32[$pColl>>2]|0; - $72 = ($71|0)!=(0|0); - if ($72) { - $73 = HEAP32[$pColl>>2]|0; - $74 = HEAP32[$73>>2]|0; - $75 = $74; - } else { - $75 = 0; - } - HEAP32[$zColl2>>2] = $75; - $76 = HEAP32[$zColl1>>2]|0; - $77 = HEAP32[$zColl2>>2]|0; - $78 = (_sqlite3_stricmp($76,$77)|0); - $79 = ($78|0)==(0); - $80 = $79&1; - HEAP32[$0>>2] = $80; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); - } + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 48|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 44|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29&65535; + $31 = $30<<2; + _memcpy(($23|0),($26|0),($31|0))|0; + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 48|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 56|0); + $37 = ($34|0)!=($36|0); + if ($37) { + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 48|0); + $41 = HEAP32[$40>>2]|0; + _sqlite3DbFree($38,$41); } - HEAP32[$0>>2] = 1; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); + $42 = HEAP32[$7>>2]|0; + $43 = HEAP32[$5>>2]|0; + $44 = ((($43)) + 48|0); + HEAP32[$44>>2] = $42; + $45 = HEAP32[$6>>2]|0; + $46 = $45&65535; + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 44|0); + HEAP16[$48>>1] = $46; + HEAP32[$3>>2] = 0; + $49 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($49|0); } -function _exprCommute($pParse,$pExpr) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $expLeft = 0, $expRight = 0, $t = 0, label = 0, sp = 0; +function _sqlite3AllocateIndexObject($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, $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; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $expRight = sp + 14|0; - $expLeft = sp + 12|0; - $t = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 256; - $8 = $7&65535; - HEAP16[$expRight>>1] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 & 256; - $15 = $14&65535; - HEAP16[$expLeft>>1] = $15; - $16 = HEAP16[$expRight>>1]|0; - $17 = $16&65535; - $18 = HEAP16[$expLeft>>1]|0; - $19 = $18&65535; - $20 = ($17|0)==($19|0); - do { - if ($20) { - $21 = HEAP16[$expRight>>1]|0; - $22 = ($21<<16>>16)!=(0); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = $27 & -257; - HEAP32[$26>>2] = $28; - break; - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = (_sqlite3ExprCollSeq($29,$32)|0); - $34 = ($33|0)!=(0|0); - if ($34) { - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = $39 | 256; - HEAP32[$38>>2] = $40; - } - } - } while(0); - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 16|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$t>>2] = $43; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 16|0); - HEAP32[$48>>2] = $46; - $49 = HEAP32[$t>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 12|0); - HEAP32[$51>>2] = $49; - $52 = HEAP32[$1>>2]|0; - $53 = HEAP8[$52>>0]|0; - $54 = $53&255; - $55 = ($54|0)>=(38); - if (!($55)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP16[$5>>1] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $11 = HEAP16[$5>>1]|0; + $12 = $11 << 16 >> 16; + $13 = $12<<2; + $14 = (($13) + 7)|0; + $15 = $14 & -8; + $16 = (56 + ($15))|0; + $17 = HEAP16[$5>>1]|0; + $18 = $17 << 16 >> 16; + $19 = (($18) + 1)|0; + $20 = $19<<1; + $21 = HEAP16[$5>>1]|0; + $22 = $21 << 16 >> 16; + $23 = $22<<1; + $24 = (($20) + ($23))|0; + $25 = HEAP16[$5>>1]|0; + $26 = $25 << 16 >> 16; + $27 = $26; + $28 = (($24) + ($27))|0; + $29 = (($28) + 7)|0; + $30 = $29 & -8; + $31 = (($16) + ($30))|0; + HEAP32[$9>>2] = $31; + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$9>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = (($33) + ($34))|0; + $36 = ($35|0)<(0); + $37 = $36 << 31 >> 31; + $38 = (_sqlite3DbMallocZero($32,$35,$37)|0); + HEAP32[$8>>2] = $38; + $39 = HEAP32[$8>>2]|0; + $40 = ($39|0)!=(0|0); + if (!($40)) { + $86 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($86|0); } - $56 = HEAP32[$1>>2]|0; - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = (($58) - 38)|0; - $60 = $59 ^ 2; - $61 = (($60) + 38)|0; - $62 = $61&255; - $63 = HEAP32[$1>>2]|0; - HEAP8[$63>>0] = $62; - STACKTOP = sp;return; + $41 = HEAP32[$8>>2]|0; + $42 = ((($41)) + 56|0); + HEAP32[$10>>2] = $42; + $43 = HEAP32[$10>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = ((($44)) + 32|0); + HEAP32[$45>>2] = $43; + $46 = HEAP16[$5>>1]|0; + $47 = $46 << 16 >> 16; + $48 = $47<<2; + $49 = (($48) + 7)|0; + $50 = $49 & -8; + $51 = HEAP32[$10>>2]|0; + $52 = (($51) + ($50)|0); + HEAP32[$10>>2] = $52; + $53 = HEAP32[$10>>2]|0; + $54 = HEAP32[$8>>2]|0; + $55 = ((($54)) + 8|0); + HEAP32[$55>>2] = $53; + $56 = HEAP16[$5>>1]|0; + $57 = $56 << 16 >> 16; + $58 = (($57) + 1)|0; + $59 = $58<<1; + $60 = HEAP32[$10>>2]|0; + $61 = (($60) + ($59)|0); + HEAP32[$10>>2] = $61; + $62 = HEAP32[$10>>2]|0; + $63 = HEAP32[$8>>2]|0; + $64 = ((($63)) + 4|0); + HEAP32[$64>>2] = $62; + $65 = HEAP16[$5>>1]|0; + $66 = $65 << 16 >> 16; + $67 = $66<<1; + $68 = HEAP32[$10>>2]|0; + $69 = (($68) + ($67)|0); + HEAP32[$10>>2] = $69; + $70 = HEAP32[$10>>2]|0; + $71 = HEAP32[$8>>2]|0; + $72 = ((($71)) + 28|0); + HEAP32[$72>>2] = $70; + $73 = HEAP16[$5>>1]|0; + $74 = HEAP32[$8>>2]|0; + $75 = ((($74)) + 52|0); + HEAP16[$75>>1] = $73; + $76 = HEAP16[$5>>1]|0; + $77 = $76 << 16 >> 16; + $78 = (($77) - 1)|0; + $79 = $78&65535; + $80 = HEAP32[$8>>2]|0; + $81 = ((($80)) + 50|0); + HEAP16[$81>>1] = $79; + $82 = HEAP32[$8>>2]|0; + $83 = HEAP32[$9>>2]|0; + $84 = (($82) + ($83)|0); + $85 = HEAP32[$7>>2]|0; + HEAP32[$85>>2] = $84; + $86 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($86|0); } -function _transferJoinMarkings($pDerived,$pBase) { - $pDerived = $pDerived|0; - $pBase = $pBase|0; - var $0 = 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, label = 0, sp = 0; +function _sqlite3WhereExprUsage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0; + var $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, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pDerived; - HEAP32[$1>>2] = $pBase; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + $8 = $2; + $9 = $8; + HEAP32[$9>>2] = 0; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = 0; + $129 = $2; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + tempRet0 = ($134); + STACKTOP = sp;return ($131|0); } - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 1; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 | $7; - HEAP32[$9>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 36|0); - $14 = HEAP16[$13>>1]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 36|0); - HEAP16[$16>>1] = $14; - STACKTOP = sp;return; -} -function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { - $pSrc = $pSrc|0; - $pWC = $pWC|0; - $idxTerm = $idxTerm|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $affLeft = 0, $affRight = 0, $b = 0, $b1 = 0, $chngToIN = 0, $db = 0, $i = 0, $iColumn = 0, $iCursor = 0; - var $iOne = 0, $iTwo = 0, $idxNew = 0, $indexable = 0, $j = 0, $j2 = 0, $okToChngToIN = 0, $pAndInfo = 0, $pAndTerm = 0, $pAndWC = 0, $pDup = 0, $pExpr = 0, $pLeft = 0, $pList = 0, $pNew = 0, $pOne = 0, $pOrInfo = 0, $pOrTerm = 0, $pOrWc = 0, $pOther = 0; - var $pParse = 0, $pTerm = 0, $pTwo = 0, $pWInfo = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $0 = sp + 156|0; - $1 = sp + 152|0; - $2 = sp + 148|0; - $pWInfo = sp + 144|0; - $pParse = sp + 140|0; - $db = sp + 136|0; - $pTerm = sp + 132|0; - $pExpr = sp + 128|0; - $i = sp + 124|0; - $pOrWc = sp + 120|0; - $pOrTerm = sp + 116|0; - $pOrInfo = sp + 112|0; - $chngToIN = sp + 24|0; - $indexable = sp + 16|0; - $pAndInfo = sp + 108|0; - $pAndWC = sp + 104|0; - $pAndTerm = sp + 100|0; - $j = sp + 96|0; - $b = sp + 8|0; - $b1 = sp; - $pOther = sp + 92|0; - $iOne = sp + 88|0; - $pOne = sp + 84|0; - $iTwo = sp + 80|0; - $pTwo = sp + 76|0; - $okToChngToIN = sp + 72|0; - $iColumn = sp + 68|0; - $iCursor = sp + 64|0; - $j2 = sp + 60|0; - $affLeft = sp + 56|0; - $affRight = sp + 52|0; - $pDup = sp + 48|0; - $pList = sp + 44|0; - $pLeft = sp + 40|0; - $pNew = sp + 36|0; - $idxNew = sp + 32|0; - HEAP32[$0>>2] = $pSrc; - HEAP32[$1>>2] = $pWC; - HEAP32[$2>>2] = $idxTerm; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pWInfo>>2] = $4; - $5 = HEAP32[$pWInfo>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$pParse>>2] = $6; - $7 = HEAP32[$pParse>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$db>>2] = $8; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + (($9*48)|0)|0); - HEAP32[$pTerm>>2] = $13; - $14 = HEAP32[$pTerm>>2]|0; - $15 = HEAP32[$14>>2]|0; - HEAP32[$pExpr>>2] = $15; - $16 = HEAP32[$db>>2]|0; - $17 = (_sqlite3DbMallocZero($16,416,0)|0); - HEAP32[$pOrInfo>>2] = $17; - $18 = HEAP32[$pTerm>>2]|0; - $19 = ((($18)) + 28|0); - HEAP32[$19>>2] = $17; - $20 = HEAP32[$pOrInfo>>2]|0; - $21 = ($20|0)==(0|0); - if ($21) { - STACKTOP = sp;return; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(152); + if ($15) { + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3WhereGetMask($16,$19)|0); + $21 = tempRet0; + $22 = $5; + $23 = $22; + HEAP32[$23>>2] = $20; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + $26 = $5; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = $2; + $33 = $32; + HEAP32[$33>>2] = $28; + $34 = (($32) + 4)|0; + $35 = $34; + HEAP32[$35>>2] = $31; + $129 = $2; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + tempRet0 = ($134); + STACKTOP = sp;return ($131|0); } - $22 = HEAP32[$pTerm>>2]|0; - $23 = ((($22)) + 10|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24&65535; - $26 = $25 | 16; - $27 = $26&65535; - HEAP16[$23>>1] = $27; - $28 = HEAP32[$pOrInfo>>2]|0; - HEAP32[$pOrWc>>2] = $28; - $29 = HEAP32[$pOrWc>>2]|0; - $30 = ((($29)) + 24|0); - _memset(($30|0),0,384)|0; - $31 = HEAP32[$pOrWc>>2]|0; - $32 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereClauseInit($31,$32); - $33 = HEAP32[$pOrWc>>2]|0; - $34 = HEAP32[$pExpr>>2]|0; - _sqlite3WhereSplit($33,$34,27); - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$pOrWc>>2]|0; - _sqlite3WhereExprAnalyze($35,$36); - $37 = HEAP32[$db>>2]|0; - $38 = ((($37)) + 69|0); - $39 = HEAP8[$38>>0]|0; - $40 = ($39<<24>>24)!=(0); - if ($40) { - STACKTOP = sp;return; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)!=(0|0); + if ($39) { + $40 = HEAP32[$3>>2]|0; + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + $44 = (_sqlite3WhereExprUsage($40,$43)|0); + $45 = tempRet0; + $48 = $44;$51 = $45; + } else { + $48 = 0;$51 = 0; } - $41 = $indexable; - $42 = $41; - HEAP32[$42>>2] = -1; - $43 = (($41) + 4)|0; - $44 = $43; - HEAP32[$44>>2] = -1; - $45 = $chngToIN; - $46 = $45; - HEAP32[$46>>2] = -1; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = -1; - $49 = HEAP32[$pOrWc>>2]|0; - $50 = ((($49)) + 12|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) - 1)|0; - HEAP32[$i>>2] = $52; - $53 = HEAP32[$pOrWc>>2]|0; - $54 = ((($53)) + 20|0); - $55 = HEAP32[$54>>2]|0; - HEAP32[$pOrTerm>>2] = $55; + $46 = $5; + $47 = $46; + HEAP32[$47>>2] = $48; + $49 = (($46) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = $51; + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)!=(0|0); + if ($55) { + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3WhereExprUsage($56,$59)|0); + $61 = tempRet0; + $62 = $5; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = $64 | $60; + $69 = $67 | $61; + $70 = $5; + $71 = $70; + HEAP32[$71>>2] = $68; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + } + $74 = HEAP32[$4>>2]|0; + $75 = ((($74)) + 4|0); + $76 = HEAP32[$75>>2]|0; + $77 = $76 & 2048; + $78 = ($77|0)!=(0); + if ($78) { + $79 = HEAP32[$3>>2]|0; + $80 = HEAP32[$4>>2]|0; + $81 = ((($80)) + 20|0); + $82 = HEAP32[$81>>2]|0; + $83 = (_exprSelectUsage($79,$82)|0); + $84 = tempRet0; + $85 = $5; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = $87 | $83; + $92 = $90 | $84; + $93 = $5; + $94 = $93; + HEAP32[$94>>2] = $91; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + } else { + $97 = HEAP32[$4>>2]|0; + $98 = ((($97)) + 20|0); + $99 = HEAP32[$98>>2]|0; + $100 = ($99|0)!=(0|0); + if ($100) { + $101 = HEAP32[$3>>2]|0; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 20|0); + $104 = HEAP32[$103>>2]|0; + $105 = (_sqlite3WhereExprListUsage($101,$104)|0); + $106 = tempRet0; + $107 = $5; + $108 = $107; + $109 = HEAP32[$108>>2]|0; + $110 = (($107) + 4)|0; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = $109 | $105; + $114 = $112 | $106; + $115 = $5; + $116 = $115; + HEAP32[$116>>2] = $113; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + } + } + $119 = $5; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = (($119) + 4)|0; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = $2; + $126 = $125; + HEAP32[$126>>2] = $121; + $127 = (($125) + 4)|0; + $128 = $127; + HEAP32[$128>>2] = $124; + $129 = $2; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + tempRet0 = ($134); + STACKTOP = sp;return ($131|0); +} +function _exprSelectUsage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp; + $5 = sp + 12|0; + $6 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = $4; + $8 = $7; + HEAP32[$8>>2] = 0; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 0; while(1) { - $56 = HEAP32[$i>>2]|0; - $57 = ($56|0)>=(0); - $58 = $indexable; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = ($60|0)!=(0); - $65 = ($63|0)!=(0); - $66 = $64 | $65; - $67 = $57 ? $66 : 0; - if (!($67)) { + $11 = HEAP32[$3>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { break; } - $68 = HEAP32[$pOrTerm>>2]|0; - $69 = ((($68)) + 12|0); - $70 = HEAP16[$69>>1]|0; - $71 = $70&65535; - $72 = $71 & 511; - $73 = ($72|0)==(0); - do { - if ($73) { - $74 = $chngToIN; - $75 = $74; - HEAP32[$75>>2] = 0; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = 0; - $78 = HEAP32[$db>>2]|0; - $79 = (_sqlite3DbMallocRawNN($78,408,0)|0); - HEAP32[$pAndInfo>>2] = $79; - $80 = HEAP32[$pAndInfo>>2]|0; - $81 = ($80|0)!=(0|0); - if ($81) { - $82 = $b; - $83 = $82; - HEAP32[$83>>2] = 0; - $84 = (($82) + 4)|0; - $85 = $84; - HEAP32[$85>>2] = 0; - $86 = HEAP32[$pAndInfo>>2]|0; - $87 = HEAP32[$pOrTerm>>2]|0; - $88 = ((($87)) + 28|0); - HEAP32[$88>>2] = $86; - $89 = HEAP32[$pOrTerm>>2]|0; - $90 = ((($89)) + 10|0); - $91 = HEAP16[$90>>1]|0; - $92 = $91&65535; - $93 = $92 | 32; - $94 = $93&65535; - HEAP16[$90>>1] = $94; - $95 = HEAP32[$pOrTerm>>2]|0; - $96 = ((($95)) + 12|0); - HEAP16[$96>>1] = 1024; - $97 = HEAP32[$pAndInfo>>2]|0; - HEAP32[$pAndWC>>2] = $97; - $98 = HEAP32[$pAndWC>>2]|0; - $99 = ((($98)) + 24|0); - _memset(($99|0),0,384)|0; - $100 = HEAP32[$pAndWC>>2]|0; - $101 = HEAP32[$1>>2]|0; - $102 = HEAP32[$101>>2]|0; - _sqlite3WhereClauseInit($100,$102); - $103 = HEAP32[$pAndWC>>2]|0; - $104 = HEAP32[$pOrTerm>>2]|0; - $105 = HEAP32[$104>>2]|0; - _sqlite3WhereSplit($103,$105,28); - $106 = HEAP32[$0>>2]|0; - $107 = HEAP32[$pAndWC>>2]|0; - _sqlite3WhereExprAnalyze($106,$107); - $108 = HEAP32[$1>>2]|0; - $109 = HEAP32[$pAndWC>>2]|0; - $110 = ((($109)) + 4|0); - HEAP32[$110>>2] = $108; - $111 = HEAP32[$db>>2]|0; - $112 = ((($111)) + 69|0); - $113 = HEAP8[$112>>0]|0; - $114 = ($113<<24>>24)!=(0); - L13: do { - if (!($114)) { - HEAP32[$j>>2] = 0; - $115 = HEAP32[$pAndWC>>2]|0; - $116 = ((($115)) + 20|0); - $117 = HEAP32[$116>>2]|0; - HEAP32[$pAndTerm>>2] = $117; - while(1) { - $118 = HEAP32[$j>>2]|0; - $119 = HEAP32[$pAndWC>>2]|0; - $120 = ((($119)) + 12|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($118|0)<($121|0); - if (!($122)) { - break L13; - } - $123 = HEAP32[$pAndTerm>>2]|0; - $124 = HEAP32[$123>>2]|0; - $125 = HEAP8[$124>>0]|0; - $126 = $125&255; - $127 = (_allowedOp($126)|0); - $128 = ($127|0)!=(0); - if ($128) { - label = 12; - } else { - $129 = HEAP32[$pAndTerm>>2]|0; - $130 = ((($129)) + 12|0); - $131 = HEAP16[$130>>1]|0; - $132 = $131&65535; - $133 = ($132|0)==(64); - if ($133) { - label = 12; - } - } - if ((label|0) == 12) { - label = 0; - $134 = HEAP32[$pWInfo>>2]|0; - $135 = ((($134)) + 488|0); - $136 = HEAP32[$pAndTerm>>2]|0; - $137 = ((($136)) + 20|0); - $138 = HEAP32[$137>>2]|0; - $139 = (_sqlite3WhereGetMask($135,$138)|0); - $140 = tempRet0; - $141 = $b; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = (($141) + 4)|0; - $145 = $144; - $146 = HEAP32[$145>>2]|0; - $147 = $143 | $139; - $148 = $146 | $140; - $149 = $b; - $150 = $149; - HEAP32[$150>>2] = $147; - $151 = (($149) + 4)|0; - $152 = $151; - HEAP32[$152>>2] = $148; - } - $153 = HEAP32[$j>>2]|0; - $154 = (($153) + 1)|0; - HEAP32[$j>>2] = $154; - $155 = HEAP32[$pAndTerm>>2]|0; - $156 = ((($155)) + 48|0); - HEAP32[$pAndTerm>>2] = $156; - } - } - } while(0); - $157 = $b; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = $indexable; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - $166 = (($163) + 4)|0; - $167 = $166; - $168 = HEAP32[$167>>2]|0; - $169 = $165 & $159; - $170 = $168 & $162; - $171 = $indexable; - $172 = $171; - HEAP32[$172>>2] = $169; - $173 = (($171) + 4)|0; - $174 = $173; - HEAP32[$174>>2] = $170; - } - } else { - $175 = HEAP32[$pOrTerm>>2]|0; - $176 = ((($175)) + 10|0); - $177 = HEAP16[$176>>1]|0; - $178 = $177&65535; - $179 = $178 & 8; - $180 = ($179|0)!=(0); - if (!($180)) { - $181 = HEAP32[$pWInfo>>2]|0; - $182 = ((($181)) + 488|0); - $183 = HEAP32[$pOrTerm>>2]|0; - $184 = ((($183)) + 20|0); - $185 = HEAP32[$184>>2]|0; - $186 = (_sqlite3WhereGetMask($182,$185)|0); - $187 = tempRet0; - $188 = $b1; - $189 = $188; - HEAP32[$189>>2] = $186; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $187; - $192 = HEAP32[$pOrTerm>>2]|0; - $193 = ((($192)) + 10|0); - $194 = HEAP16[$193>>1]|0; - $195 = $194&65535; - $196 = $195 & 2; - $197 = ($196|0)!=(0); - if ($197) { - $198 = HEAP32[$pOrTerm>>2]|0; - $199 = ((($198)) + 16|0); - $200 = HEAP32[$199>>2]|0; - $201 = HEAP32[$pOrWc>>2]|0; - $202 = ((($201)) + 20|0); - $203 = HEAP32[$202>>2]|0; - $204 = (($203) + (($200*48)|0)|0); - HEAP32[$pOther>>2] = $204; - $205 = HEAP32[$pWInfo>>2]|0; - $206 = ((($205)) + 488|0); - $207 = HEAP32[$pOther>>2]|0; - $208 = ((($207)) + 20|0); - $209 = HEAP32[$208>>2]|0; - $210 = (_sqlite3WhereGetMask($206,$209)|0); - $211 = tempRet0; - $212 = $b1; - $213 = $212; - $214 = HEAP32[$213>>2]|0; - $215 = (($212) + 4)|0; - $216 = $215; - $217 = HEAP32[$216>>2]|0; - $218 = $214 | $210; - $219 = $217 | $211; - $220 = $b1; - $221 = $220; - HEAP32[$221>>2] = $218; - $222 = (($220) + 4)|0; - $223 = $222; - HEAP32[$223>>2] = $219; - } - $224 = $b1; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = $indexable; - $231 = $230; - $232 = HEAP32[$231>>2]|0; - $233 = (($230) + 4)|0; - $234 = $233; - $235 = HEAP32[$234>>2]|0; - $236 = $232 & $226; - $237 = $235 & $229; - $238 = $indexable; - $239 = $238; - HEAP32[$239>>2] = $236; - $240 = (($238) + 4)|0; - $241 = $240; - HEAP32[$241>>2] = $237; - $242 = HEAP32[$pOrTerm>>2]|0; - $243 = ((($242)) + 12|0); - $244 = HEAP16[$243>>1]|0; - $245 = $244&65535; - $246 = $245 & 2; - $247 = ($246|0)==(0); - if ($247) { - $248 = $chngToIN; - $249 = $248; - HEAP32[$249>>2] = 0; - $250 = (($248) + 4)|0; - $251 = $250; - HEAP32[$251>>2] = 0; - break; - } else { - $252 = $b1; - $253 = $252; - $254 = HEAP32[$253>>2]|0; - $255 = (($252) + 4)|0; - $256 = $255; - $257 = HEAP32[$256>>2]|0; - $258 = $chngToIN; - $259 = $258; - $260 = HEAP32[$259>>2]|0; - $261 = (($258) + 4)|0; - $262 = $261; - $263 = HEAP32[$262>>2]|0; - $264 = $260 & $254; - $265 = $263 & $257; - $266 = $chngToIN; - $267 = $266; - HEAP32[$267>>2] = $264; - $268 = (($266) + 4)|0; - $269 = $268; - HEAP32[$269>>2] = $265; - break; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$5>>2] = $15; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3WhereExprListUsage($16,$18)|0); + $20 = tempRet0; + $21 = $4; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = $23 | $19; + $28 = $26 | $20; + $29 = $4; + $30 = $29; + HEAP32[$30>>2] = $27; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 36|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_sqlite3WhereExprListUsage($33,$36)|0); + $38 = tempRet0; + $39 = $4; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = $41 | $37; + $46 = $44 | $38; + $47 = $4; + $48 = $47; + HEAP32[$48>>2] = $45; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = $46; + $51 = HEAP32[$2>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 44|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3WhereExprListUsage($51,$54)|0); + $56 = tempRet0; + $57 = $4; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = $59 | $55; + $64 = $62 | $56; + $65 = $4; + $66 = $65; + HEAP32[$66>>2] = $63; + $67 = (($65) + 4)|0; + $68 = $67; + HEAP32[$68>>2] = $64; + $69 = HEAP32[$2>>2]|0; + $70 = HEAP32[$3>>2]|0; + $71 = ((($70)) + 32|0); + $72 = HEAP32[$71>>2]|0; + $73 = (_sqlite3WhereExprUsage($69,$72)|0); + $74 = tempRet0; + $75 = $4; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = $77 | $73; + $82 = $80 | $74; + $83 = $4; + $84 = $83; + HEAP32[$84>>2] = $81; + $85 = (($83) + 4)|0; + $86 = $85; + HEAP32[$86>>2] = $82; + $87 = HEAP32[$2>>2]|0; + $88 = HEAP32[$3>>2]|0; + $89 = ((($88)) + 40|0); + $90 = HEAP32[$89>>2]|0; + $91 = (_sqlite3WhereExprUsage($87,$90)|0); + $92 = tempRet0; + $93 = $4; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = $95 | $91; + $100 = $98 | $92; + $101 = $4; + $102 = $101; + HEAP32[$102>>2] = $99; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + $105 = HEAP32[$5>>2]|0; + $106 = ($105|0)!=(0|0); + L4: do { + if ($106) { + HEAP32[$6>>2] = 0; + while(1) { + $107 = HEAP32[$6>>2]|0; + $108 = HEAP32[$5>>2]|0; + $109 = HEAP32[$108>>2]|0; + $110 = ($107|0)<($109|0); + if (!($110)) { + break L4; } + $111 = HEAP32[$2>>2]|0; + $112 = HEAP32[$5>>2]|0; + $113 = ((($112)) + 8|0); + $114 = HEAP32[$6>>2]|0; + $115 = (($113) + (($114*72)|0)|0); + $116 = ((($115)) + 20|0); + $117 = HEAP32[$116>>2]|0; + $118 = (_exprSelectUsage($111,$117)|0); + $119 = tempRet0; + $120 = $4; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $122 | $118; + $127 = $125 | $119; + $128 = $4; + $129 = $128; + HEAP32[$129>>2] = $126; + $130 = (($128) + 4)|0; + $131 = $130; + HEAP32[$131>>2] = $127; + $132 = HEAP32[$2>>2]|0; + $133 = HEAP32[$5>>2]|0; + $134 = ((($133)) + 8|0); + $135 = HEAP32[$6>>2]|0; + $136 = (($134) + (($135*72)|0)|0); + $137 = ((($136)) + 48|0); + $138 = HEAP32[$137>>2]|0; + $139 = (_sqlite3WhereExprUsage($132,$138)|0); + $140 = tempRet0; + $141 = $4; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = (($141) + 4)|0; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = $143 | $139; + $148 = $146 | $140; + $149 = $4; + $150 = $149; + HEAP32[$150>>2] = $147; + $151 = (($149) + 4)|0; + $152 = $151; + HEAP32[$152>>2] = $148; + $153 = HEAP32[$6>>2]|0; + $154 = (($153) + 1)|0; + HEAP32[$6>>2] = $154; } } } while(0); - $270 = HEAP32[$i>>2]|0; - $271 = (($270) + -1)|0; - HEAP32[$i>>2] = $271; - $272 = HEAP32[$pOrTerm>>2]|0; - $273 = ((($272)) + 48|0); - HEAP32[$pOrTerm>>2] = $273; - } - $274 = $indexable; - $275 = $274; - $276 = HEAP32[$275>>2]|0; - $277 = (($274) + 4)|0; - $278 = $277; - $279 = HEAP32[$278>>2]|0; - $280 = HEAP32[$pOrInfo>>2]|0; - $281 = ((($280)) + 408|0); - $282 = $281; - $283 = $282; - HEAP32[$283>>2] = $276; - $284 = (($282) + 4)|0; - $285 = $284; - HEAP32[$285>>2] = $279; - $286 = $indexable; - $287 = $286; - $288 = HEAP32[$287>>2]|0; - $289 = (($286) + 4)|0; - $290 = $289; - $291 = HEAP32[$290>>2]|0; - $292 = ($288|0)==(0); - $293 = ($291|0)==(0); - $294 = $292 & $293; - $295 = $294 ? 0 : 512; - $296 = $295&65535; - $297 = HEAP32[$pTerm>>2]|0; - $298 = ((($297)) + 12|0); - HEAP16[$298>>1] = $296; - $299 = $indexable; - $300 = $299; - $301 = HEAP32[$300>>2]|0; - $302 = (($299) + 4)|0; - $303 = $302; - $304 = HEAP32[$303>>2]|0; - $305 = ($301|0)!=(0); - $306 = ($304|0)!=(0); - $307 = $305 | $306; - L34: do { - if ($307) { - $308 = HEAP32[$pOrWc>>2]|0; - $309 = ((($308)) + 12|0); - $310 = HEAP32[$309>>2]|0; - $311 = ($310|0)==(2); - if ($311) { - HEAP32[$iOne>>2] = 0; - L37: while(1) { - $312 = HEAP32[$pOrWc>>2]|0; - $313 = ((($312)) + 20|0); - $314 = HEAP32[$313>>2]|0; - $315 = HEAP32[$iOne>>2]|0; - $316 = (($315) + 1)|0; - HEAP32[$iOne>>2] = $316; - $317 = (_whereNthSubterm($314,$315)|0); - HEAP32[$pOne>>2] = $317; - $318 = ($317|0)!=(0|0); - if (!($318)) { - break L34; - } - HEAP32[$iTwo>>2] = 0; - while(1) { - $319 = HEAP32[$pOrWc>>2]|0; - $320 = ((($319)) + 20|0); - $321 = HEAP32[$320>>2]|0; - $322 = ((($321)) + 48|0); - $323 = HEAP32[$iTwo>>2]|0; - $324 = (($323) + 1)|0; - HEAP32[$iTwo>>2] = $324; - $325 = (_whereNthSubterm($322,$323)|0); - HEAP32[$pTwo>>2] = $325; - $326 = ($325|0)!=(0|0); - if (!($326)) { - continue L37; - } - $327 = HEAP32[$0>>2]|0; - $328 = HEAP32[$1>>2]|0; - $329 = HEAP32[$pOne>>2]|0; - $330 = HEAP32[$pTwo>>2]|0; - _whereCombineDisjuncts($327,$328,$329,$330); - } - } - } + $155 = HEAP32[$3>>2]|0; + $156 = ((($155)) + 48|0); + $157 = HEAP32[$156>>2]|0; + HEAP32[$3>>2] = $157; + } + $158 = $4; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = (($158) + 4)|0; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + tempRet0 = ($163); + STACKTOP = sp;return ($160|0); +} +function _sqlite3LogEstAdd($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp + 2|0; + $4 = sp; + HEAP16[$3>>1] = $0; + HEAP16[$4>>1] = $1; + $5 = HEAP16[$3>>1]|0; + $6 = $5 << 16 >> 16; + $7 = HEAP16[$4>>1]|0; + $8 = $7 << 16 >> 16; + $9 = ($6|0)>=($8|0); + if ($9) { + $10 = HEAP16[$3>>1]|0; + $11 = $10 << 16 >> 16; + $12 = HEAP16[$4>>1]|0; + $13 = $12 << 16 >> 16; + $14 = (($13) + 49)|0; + $15 = ($11|0)>($14|0); + $16 = HEAP16[$3>>1]|0; + if ($15) { + HEAP16[$2>>1] = $16; + $62 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($62|0); + } + $17 = $16 << 16 >> 16; + $18 = HEAP16[$4>>1]|0; + $19 = $18 << 16 >> 16; + $20 = (($19) + 31)|0; + $21 = ($17|0)>($20|0); + $22 = HEAP16[$3>>1]|0; + $23 = $22 << 16 >> 16; + if ($21) { + $24 = (($23) + 1)|0; + $25 = $24&65535; + HEAP16[$2>>1] = $25; + $62 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($62|0); + } else { + $26 = HEAP16[$3>>1]|0; + $27 = $26 << 16 >> 16; + $28 = HEAP16[$4>>1]|0; + $29 = $28 << 16 >> 16; + $30 = (($27) - ($29))|0; + $31 = (34388 + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = (($23) + ($33))|0; + $35 = $34&65535; + HEAP16[$2>>1] = $35; + $62 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($62|0); + } + } else { + $36 = HEAP16[$4>>1]|0; + $37 = $36 << 16 >> 16; + $38 = HEAP16[$3>>1]|0; + $39 = $38 << 16 >> 16; + $40 = (($39) + 49)|0; + $41 = ($37|0)>($40|0); + $42 = HEAP16[$4>>1]|0; + if ($41) { + HEAP16[$2>>1] = $42; + $62 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($62|0); + } + $43 = $42 << 16 >> 16; + $44 = HEAP16[$3>>1]|0; + $45 = $44 << 16 >> 16; + $46 = (($45) + 31)|0; + $47 = ($43|0)>($46|0); + $48 = HEAP16[$4>>1]|0; + $49 = $48 << 16 >> 16; + if ($47) { + $50 = (($49) + 1)|0; + $51 = $50&65535; + HEAP16[$2>>1] = $51; + $62 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($62|0); + } else { + $52 = HEAP16[$4>>1]|0; + $53 = $52 << 16 >> 16; + $54 = HEAP16[$3>>1]|0; + $55 = $54 << 16 >> 16; + $56 = (($53) - ($55))|0; + $57 = (34388 + ($56)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = (($49) + ($59))|0; + $61 = $60&65535; + HEAP16[$2>>1] = $61; + $62 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($62|0); } - } while(0); - $331 = $chngToIN; - $332 = $331; - $333 = HEAP32[$332>>2]|0; - $334 = (($331) + 4)|0; - $335 = $334; - $336 = HEAP32[$335>>2]|0; - $337 = ($333|0)!=(0); - $338 = ($336|0)!=(0); - $339 = $337 | $338; - if (!($339)) { - STACKTOP = sp;return; } - HEAP32[$okToChngToIN>>2] = 0; - HEAP32[$iColumn>>2] = -1; - HEAP32[$iCursor>>2] = -1; - HEAP32[$j2>>2] = 0; - HEAP32[$j2>>2] = 0; - while(1) { - $340 = HEAP32[$j2>>2]|0; - $341 = ($340|0)<(2); - if (!($341)) { - break; + return (0)|0; +} +function _wherePathSatisfiesOrderBy($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; + var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; + var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; + var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; + var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0; + var $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0; + var $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0; + var $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0; + var $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0; + var $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0; + var $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0; + var $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0; + var $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, $644 = 0; + var $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0; + var $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, $680 = 0; + var $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, $699 = 0; + var $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, $716 = 0; + var $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, $734 = 0; + var $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0; + var $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, $770 = 0; + var $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, $789 = 0; + var $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, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; + $7 = sp + 149|0; + $8 = sp + 124|0; + $9 = sp + 120|0; + $10 = sp + 116|0; + $11 = sp + 140|0; + $12 = sp + 138|0; + $13 = sp + 112|0; + $14 = sp + 108|0; + $15 = sp + 148|0; + $16 = sp + 147|0; + $17 = sp + 146|0; + $18 = sp + 145|0; + $19 = sp + 144|0; + $20 = sp + 143|0; + $21 = sp + 136|0; + $22 = sp + 134|0; + $23 = sp + 132|0; + $24 = sp + 130|0; + $25 = sp + 104|0; + $26 = sp + 100|0; + $27 = sp + 96|0; + $28 = sp + 92|0; + $29 = sp + 88|0; + $30 = sp + 84|0; + $31 = sp + 80|0; + $32 = sp + 76|0; + $33 = sp + 72|0; + $34 = sp + 68|0; + $35 = sp + 64|0; + $36 = sp + 40|0; + $37 = sp + 32|0; + $38 = sp + 24|0; + $39 = sp + 16|0; + $40 = sp + 60|0; + $41 = sp + 56|0; + $42 = sp + 142|0; + $43 = sp + 128|0; + $44 = sp + 52|0; + $45 = sp + 48|0; + $46 = sp + 8|0; + $47 = sp; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP16[$11>>1] = $3; + HEAP16[$12>>1] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + HEAP32[$30>>2] = 0; + $48 = HEAP32[$8>>2]|0; + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$49>>2]|0; + HEAP32[$35>>2] = $50; + $51 = $36; + $52 = $51; + HEAP32[$52>>2] = 0; + $53 = (($51) + 4)|0; + $54 = $53; + HEAP32[$54>>2] = 0; + $55 = HEAP16[$12>>1]|0; + $56 = $55&65535; + $57 = ($56|0)!=(0); + if ($57) { + $58 = HEAP32[$35>>2]|0; + $59 = ((($58)) + 64|0); + $60 = HEAP16[$59>>1]|0; + $61 = $60&65535; + $62 = $61 & 128; + $63 = ($62|0)!=(0); + if ($63) { + HEAP8[$7>>0] = 0; + $805 = HEAP8[$7>>0]|0; + STACKTOP = sp;return ($805|0); } - $342 = HEAP32[$okToChngToIN>>2]|0; - $343 = ($342|0)!=(0); - $344 = $343 ^ 1; - if (!($344)) { + } + $64 = HEAP32[$9>>2]|0; + $65 = HEAP32[$64>>2]|0; + $66 = $65&65535; + HEAP16[$24>>1] = $66; + $67 = HEAP16[$24>>1]|0; + $68 = $67&65535; + $69 = ($68|0)>(63); + if ($69) { + HEAP8[$7>>0] = 0; + $805 = HEAP8[$7>>0]|0; + STACKTOP = sp;return ($805|0); + } + HEAP8[$18>>0] = 1; + $70 = HEAP16[$24>>1]|0; + $71 = $70&65535; + $72 = (_bitshift64Shl(1,0,($71|0))|0); + $73 = tempRet0; + $74 = (_i64Subtract(($72|0),($73|0),1,0)|0); + $75 = tempRet0; + $76 = $37; + $77 = $76; + HEAP32[$77>>2] = $74; + $78 = (($76) + 4)|0; + $79 = $78; + HEAP32[$79>>2] = $75; + $80 = $38; + $81 = $80; + HEAP32[$81>>2] = 0; + $82 = (($80) + 4)|0; + $83 = $82; + HEAP32[$83>>2] = 0; + $84 = $39; + $85 = $84; + HEAP32[$85>>2] = 0; + $86 = (($84) + 4)|0; + $87 = $86; + HEAP32[$87>>2] = 0; + HEAP16[$21>>1] = 386; + $88 = HEAP16[$11>>1]|0; + $89 = $88&65535; + $90 = $89 & 2048; + $91 = ($90|0)!=(0); + if ($91) { + $92 = HEAP16[$21>>1]|0; + $93 = $92&65535; + $94 = $93 | 1; + $95 = $94&65535; + HEAP16[$21>>1] = $95; + } + HEAP32[$25>>2] = 0; + L13: while(1) { + $96 = HEAP8[$18>>0]|0; + $97 = $96&255; + $98 = ($97|0)!=(0); + if (!($98)) { break; } - $345 = HEAP32[$pOrWc>>2]|0; - $346 = ((($345)) + 20|0); - $347 = HEAP32[$346>>2]|0; - HEAP32[$pOrTerm>>2] = $347; - $348 = HEAP32[$pOrWc>>2]|0; - $349 = ((($348)) + 12|0); - $350 = HEAP32[$349>>2]|0; - $351 = (($350) - 1)|0; - HEAP32[$i>>2] = $351; - while(1) { - $352 = HEAP32[$i>>2]|0; - $353 = ($352|0)>=(0); - if (!($353)) { - break; - } - $354 = HEAP32[$pOrTerm>>2]|0; - $355 = ((($354)) + 10|0); - $356 = HEAP16[$355>>1]|0; - $357 = $356&65535; - $358 = $357 & -65; - $359 = $358&65535; - HEAP16[$355>>1] = $359; - $360 = HEAP32[$pOrTerm>>2]|0; - $361 = ((($360)) + 20|0); - $362 = HEAP32[$361>>2]|0; - $363 = HEAP32[$iCursor>>2]|0; - $364 = ($362|0)==($363|0); - if (!($364)) { - $365 = $chngToIN; - $366 = $365; - $367 = HEAP32[$366>>2]|0; - $368 = (($365) + 4)|0; - $369 = $368; - $370 = HEAP32[$369>>2]|0; - $371 = HEAP32[$pWInfo>>2]|0; - $372 = ((($371)) + 488|0); - $373 = HEAP32[$pOrTerm>>2]|0; - $374 = ((($373)) + 20|0); - $375 = HEAP32[$374>>2]|0; - $376 = (_sqlite3WhereGetMask($372,$375)|0); - $377 = tempRet0; - $378 = $367 & $376; - $379 = $370 & $377; - $380 = ($378|0)==(0); - $381 = ($379|0)==(0); - $382 = $380 & $381; - if (!($382)) { - label = 37; - break; - } - } - $389 = HEAP32[$i>>2]|0; - $390 = (($389) + -1)|0; - HEAP32[$i>>2] = $390; - $391 = HEAP32[$pOrTerm>>2]|0; - $392 = ((($391)) + 48|0); - HEAP32[$pOrTerm>>2] = $392; - } - if ((label|0) == 37) { - label = 0; - $383 = HEAP32[$pOrTerm>>2]|0; - $384 = ((($383)) + 28|0); - $385 = HEAP32[$384>>2]|0; - HEAP32[$iColumn>>2] = $385; - $386 = HEAP32[$pOrTerm>>2]|0; - $387 = ((($386)) + 20|0); - $388 = HEAP32[$387>>2]|0; - HEAP32[$iCursor>>2] = $388; + $99 = $36; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = (($99) + 4)|0; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = $37; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = ($104>>>0)<($110>>>0); + $112 = ($101>>>0)<($107>>>0); + $113 = ($104|0)==($110|0); + $114 = $113 & $112; + $115 = $111 | $114; + if (!($115)) { + break; } - $393 = HEAP32[$i>>2]|0; - $394 = ($393|0)<(0); - if ($394) { + $116 = HEAP32[$25>>2]|0; + $117 = HEAP16[$12>>1]|0; + $118 = $117&65535; + $119 = ($116|0)<=($118|0); + if (!($119)) { break; } - HEAP32[$okToChngToIN>>2] = 1; - while(1) { - $395 = HEAP32[$i>>2]|0; - $396 = ($395|0)>=(0); - $397 = HEAP32[$okToChngToIN>>2]|0; - $398 = ($397|0)!=(0); - $399 = $396 ? $398 : 0; - if (!($399)) { - break; + $120 = HEAP32[$25>>2]|0; + $121 = ($120|0)>(0); + if ($121) { + $122 = HEAP32[$30>>2]|0; + $123 = ((($122)) + 8|0); + $124 = $123; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (($124) + 4)|0; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = $39; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = $132 | $126; + $137 = $135 | $129; + $138 = $39; + $139 = $138; + HEAP32[$139>>2] = $136; + $140 = (($138) + 4)|0; + $141 = $140; + HEAP32[$141>>2] = $137; + } + $142 = HEAP32[$25>>2]|0; + $143 = HEAP16[$12>>1]|0; + $144 = $143&65535; + $145 = ($142|0)<($144|0); + if ($145) { + $146 = HEAP32[$10>>2]|0; + $147 = ((($146)) + 24|0); + $148 = HEAP32[$147>>2]|0; + $149 = HEAP32[$25>>2]|0; + $150 = (($148) + ($149<<2)|0); + $151 = HEAP32[$150>>2]|0; + HEAP32[$30>>2] = $151; + $152 = HEAP16[$11>>1]|0; + $153 = $152&65535; + $154 = $153 & 2048; + $155 = ($154|0)!=(0); + if (!($155)) { + label = 17; } - $400 = HEAP32[$pOrTerm>>2]|0; - $401 = ((($400)) + 20|0); - $402 = HEAP32[$401>>2]|0; - $403 = HEAP32[$iCursor>>2]|0; - $404 = ($402|0)!=($403|0); - $405 = HEAP32[$pOrTerm>>2]|0; - do { - if ($404) { - $406 = ((($405)) + 10|0); - $407 = HEAP16[$406>>1]|0; - $408 = $407&65535; - $409 = $408 & -65; - $410 = $409&65535; - HEAP16[$406>>1] = $410; - } else { - $411 = ((($405)) + 28|0); - $412 = HEAP32[$411>>2]|0; - $413 = HEAP32[$iColumn>>2]|0; - $414 = ($412|0)!=($413|0); - if ($414) { - HEAP32[$okToChngToIN>>2] = 0; + } else { + $156 = HEAP32[$13>>2]|0; + HEAP32[$30>>2] = $156; + label = 17; + } + L24: do { + if ((label|0) == 17) { + label = 0; + $157 = HEAP32[$30>>2]|0; + $158 = ((($157)) + 36|0); + $159 = HEAP32[$158>>2]|0; + $160 = $159 & 1024; + $161 = ($160|0)!=(0); + if ($161) { + label = 18; + break L13; + } + $177 = HEAP32[$8>>2]|0; + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ((($179)) + 8|0); + $181 = HEAP32[$30>>2]|0; + $182 = ((($181)) + 16|0); + $183 = HEAP8[$182>>0]|0; + $184 = $183&255; + $185 = (($180) + (($184*72)|0)|0); + $186 = ((($185)) + 44|0); + $187 = HEAP32[$186>>2]|0; + HEAP32[$28>>2] = $187; + HEAP32[$26>>2] = 0; + while(1) { + $188 = HEAP32[$26>>2]|0; + $189 = HEAP16[$24>>1]|0; + $190 = $189&65535; + $191 = ($188|0)<($190|0); + if (!($191)) { break; } - $415 = HEAP32[$pOrTerm>>2]|0; - $416 = HEAP32[$415>>2]|0; - $417 = ((($416)) + 16|0); - $418 = HEAP32[$417>>2]|0; - $419 = (_sqlite3ExprAffinity($418)|0); - $420 = $419 << 24 >> 24; - HEAP32[$affRight>>2] = $420; - $421 = HEAP32[$pOrTerm>>2]|0; - $422 = HEAP32[$421>>2]|0; - $423 = ((($422)) + 12|0); - $424 = HEAP32[$423>>2]|0; - $425 = (_sqlite3ExprAffinity($424)|0); - $426 = $425 << 24 >> 24; - HEAP32[$affLeft>>2] = $426; - $427 = HEAP32[$affRight>>2]|0; - $428 = ($427|0)!=(0); - if ($428) { - $429 = HEAP32[$affRight>>2]|0; - $430 = HEAP32[$affLeft>>2]|0; - $431 = ($429|0)!=($430|0); - if ($431) { - HEAP32[$okToChngToIN>>2] = 0; - break; + $192 = HEAP32[$26>>2]|0; + $193 = (_bitshift64Shl(1,0,($192|0))|0); + $194 = tempRet0; + $195 = $36; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $193 & $197; + $202 = $194 & $200; + $203 = ($201|0)!=(0); + $204 = ($202|0)!=(0); + $205 = $203 | $204; + L30: do { + if (!($205)) { + $206 = HEAP32[$9>>2]|0; + $207 = ((($206)) + 4|0); + $208 = HEAP32[$207>>2]|0; + $209 = HEAP32[$26>>2]|0; + $210 = (($208) + (($209*20)|0)|0); + $211 = HEAP32[$210>>2]|0; + $212 = (_sqlite3ExprSkipCollate($211)|0); + HEAP32[$32>>2] = $212; + $213 = HEAP32[$32>>2]|0; + $214 = HEAP8[$213>>0]|0; + $215 = $214&255; + $216 = ($215|0)!=(152); + if (!($216)) { + $217 = HEAP32[$32>>2]|0; + $218 = ((($217)) + 28|0); + $219 = HEAP32[$218>>2]|0; + $220 = HEAP32[$28>>2]|0; + $221 = ($219|0)!=($220|0); + if (!($221)) { + $222 = HEAP32[$8>>2]|0; + $223 = ((($222)) + 80|0); + $224 = HEAP32[$28>>2]|0; + $225 = HEAP32[$32>>2]|0; + $226 = ((($225)) + 32|0); + $227 = HEAP16[$226>>1]|0; + $228 = $227 << 16 >> 16; + $229 = $39; + $230 = $229; + $231 = HEAP32[$230>>2]|0; + $232 = (($229) + 4)|0; + $233 = $232; + $234 = HEAP32[$233>>2]|0; + $235 = $231 ^ -1; + $236 = $234 ^ -1; + $237 = HEAP16[$21>>1]|0; + $238 = $237&65535; + $239 = (_sqlite3WhereFindTerm($223,$224,$228,$235,$236,$238,0)|0); + HEAP32[$31>>2] = $239; + $240 = HEAP32[$31>>2]|0; + $241 = ($240|0)==(0|0); + if (!($241)) { + $242 = HEAP32[$31>>2]|0; + $243 = ((($242)) + 12|0); + $244 = HEAP16[$243>>1]|0; + $245 = $244&65535; + $246 = ($245|0)==(1); + if ($246) { + HEAP32[$27>>2] = 0; + while(1) { + $247 = HEAP32[$27>>2]|0; + $248 = HEAP32[$30>>2]|0; + $249 = ((($248)) + 40|0); + $250 = HEAP16[$249>>1]|0; + $251 = $250&65535; + $252 = ($247|0)<($251|0); + if (!($252)) { + break; + } + $253 = HEAP32[$31>>2]|0; + $254 = HEAP32[$30>>2]|0; + $255 = ((($254)) + 48|0); + $256 = HEAP32[$255>>2]|0; + $257 = HEAP32[$27>>2]|0; + $258 = (($256) + ($257<<2)|0); + $259 = HEAP32[$258>>2]|0; + $260 = ($253|0)!=($259|0); + if (!($260)) { + break; + } + $261 = HEAP32[$27>>2]|0; + $262 = (($261) + 1)|0; + HEAP32[$27>>2] = $262; + } + $263 = HEAP32[$27>>2]|0; + $264 = HEAP32[$30>>2]|0; + $265 = ((($264)) + 40|0); + $266 = HEAP16[$265>>1]|0; + $267 = $266&65535; + $268 = ($263|0)>=($267|0); + if ($268) { + break; + } + } + $269 = HEAP32[$31>>2]|0; + $270 = ((($269)) + 12|0); + $271 = HEAP16[$270>>1]|0; + $272 = $271&65535; + $273 = $272 & 130; + $274 = ($273|0)!=(0); + do { + if ($274) { + $275 = HEAP32[$32>>2]|0; + $276 = ((($275)) + 32|0); + $277 = HEAP16[$276>>1]|0; + $278 = $277 << 16 >> 16; + $279 = ($278|0)>=(0); + if (!($279)) { + break; + } + $280 = HEAP32[$8>>2]|0; + $281 = HEAP32[$280>>2]|0; + $282 = HEAP32[$9>>2]|0; + $283 = ((($282)) + 4|0); + $284 = HEAP32[$283>>2]|0; + $285 = HEAP32[$26>>2]|0; + $286 = (($284) + (($285*20)|0)|0); + $287 = HEAP32[$286>>2]|0; + $288 = (_sqlite3ExprCollSeq($281,$287)|0); + HEAP32[$33>>2] = $288; + $289 = HEAP32[$33>>2]|0; + $290 = ($289|0)!=(0|0); + if (!($290)) { + $291 = HEAP32[$35>>2]|0; + $292 = ((($291)) + 8|0); + $293 = HEAP32[$292>>2]|0; + HEAP32[$33>>2] = $293; + } + $294 = HEAP32[$33>>2]|0; + $295 = HEAP32[$294>>2]|0; + HEAP32[$40>>2] = $295; + $296 = HEAP32[$8>>2]|0; + $297 = HEAP32[$296>>2]|0; + $298 = HEAP32[$31>>2]|0; + $299 = HEAP32[$298>>2]|0; + $300 = (_sqlite3ExprCollSeq($297,$299)|0); + HEAP32[$33>>2] = $300; + $301 = HEAP32[$33>>2]|0; + $302 = ($301|0)!=(0|0); + if (!($302)) { + $303 = HEAP32[$35>>2]|0; + $304 = ((($303)) + 8|0); + $305 = HEAP32[$304>>2]|0; + HEAP32[$33>>2] = $305; + } + $306 = HEAP32[$33>>2]|0; + $307 = HEAP32[$306>>2]|0; + HEAP32[$41>>2] = $307; + $308 = HEAP32[$40>>2]|0; + $309 = HEAP32[$41>>2]|0; + $310 = (_sqlite3StrICmp($308,$309)|0); + $311 = ($310|0)!=(0); + if ($311) { + break L30; + } + } + } while(0); + $312 = HEAP32[$26>>2]|0; + $313 = (_bitshift64Shl(1,0,($312|0))|0); + $314 = tempRet0; + $315 = $36; + $316 = $315; + $317 = HEAP32[$316>>2]|0; + $318 = (($315) + 4)|0; + $319 = $318; + $320 = HEAP32[$319>>2]|0; + $321 = $317 | $313; + $322 = $320 | $314; + $323 = $36; + $324 = $323; + HEAP32[$324>>2] = $321; + $325 = (($323) + 4)|0; + $326 = $325; + HEAP32[$326>>2] = $322; + } + } + } } - } - $432 = HEAP32[$pOrTerm>>2]|0; - $433 = ((($432)) + 10|0); - $434 = HEAP16[$433>>1]|0; - $435 = $434&65535; - $436 = $435 | 64; - $437 = $436&65535; - HEAP16[$433>>1] = $437; - } - } while(0); - $438 = HEAP32[$i>>2]|0; - $439 = (($438) + -1)|0; - HEAP32[$i>>2] = $439; - $440 = HEAP32[$pOrTerm>>2]|0; - $441 = ((($440)) + 48|0); - HEAP32[$pOrTerm>>2] = $441; - } - $442 = HEAP32[$j2>>2]|0; - $443 = (($442) + 1)|0; - HEAP32[$j2>>2] = $443; - } - $444 = HEAP32[$okToChngToIN>>2]|0; - $445 = ($444|0)!=(0); - if (!($445)) { - STACKTOP = sp;return; - } - HEAP32[$pList>>2] = 0; - HEAP32[$pLeft>>2] = 0; - $446 = HEAP32[$pOrWc>>2]|0; - $447 = ((($446)) + 12|0); - $448 = HEAP32[$447>>2]|0; - $449 = (($448) - 1)|0; - HEAP32[$i>>2] = $449; - $450 = HEAP32[$pOrWc>>2]|0; - $451 = ((($450)) + 20|0); - $452 = HEAP32[$451>>2]|0; - HEAP32[$pOrTerm>>2] = $452; - while(1) { - $453 = HEAP32[$i>>2]|0; - $454 = ($453|0)>=(0); - if (!($454)) { - break; - } - $455 = HEAP32[$pOrTerm>>2]|0; - $456 = ((($455)) + 10|0); - $457 = HEAP16[$456>>1]|0; - $458 = $457&65535; - $459 = $458 & 64; - $460 = ($459|0)==(0); - if (!($460)) { - $461 = HEAP32[$db>>2]|0; - $462 = HEAP32[$pOrTerm>>2]|0; - $463 = HEAP32[$462>>2]|0; - $464 = ((($463)) + 16|0); - $465 = HEAP32[$464>>2]|0; - $466 = (_sqlite3ExprDup($461,$465,0)|0); - HEAP32[$pDup>>2] = $466; - $467 = HEAP32[$pWInfo>>2]|0; - $468 = HEAP32[$467>>2]|0; - $469 = HEAP32[$pList>>2]|0; - $470 = HEAP32[$pDup>>2]|0; - $471 = (_sqlite3ExprListAppend($468,$469,$470)|0); - HEAP32[$pList>>2] = $471; - $472 = HEAP32[$pOrTerm>>2]|0; - $473 = HEAP32[$472>>2]|0; - $474 = ((($473)) + 12|0); - $475 = HEAP32[$474>>2]|0; - HEAP32[$pLeft>>2] = $475; - } - $476 = HEAP32[$i>>2]|0; - $477 = (($476) + -1)|0; - HEAP32[$i>>2] = $477; - $478 = HEAP32[$pOrTerm>>2]|0; - $479 = ((($478)) + 48|0); - HEAP32[$pOrTerm>>2] = $479; - } - $480 = HEAP32[$db>>2]|0; - $481 = HEAP32[$pLeft>>2]|0; - $482 = (_sqlite3ExprDup($480,$481,0)|0); - HEAP32[$pDup>>2] = $482; - $483 = HEAP32[$pParse>>2]|0; - $484 = HEAP32[$pDup>>2]|0; - $485 = (_sqlite3PExpr($483,33,$484,0,0)|0); - HEAP32[$pNew>>2] = $485; - $486 = HEAP32[$pNew>>2]|0; - $487 = ($486|0)!=(0|0); - if ($487) { - $488 = HEAP32[$pNew>>2]|0; - $489 = HEAP32[$pExpr>>2]|0; - _transferJoinMarkings($488,$489); - $490 = HEAP32[$pList>>2]|0; - $491 = HEAP32[$pNew>>2]|0; - $492 = ((($491)) + 20|0); - HEAP32[$492>>2] = $490; - $493 = HEAP32[$1>>2]|0; - $494 = HEAP32[$pNew>>2]|0; - $495 = (_whereClauseInsert($493,$494,3)|0); - HEAP32[$idxNew>>2] = $495; - $496 = HEAP32[$0>>2]|0; - $497 = HEAP32[$1>>2]|0; - $498 = HEAP32[$idxNew>>2]|0; - _exprAnalyze($496,$497,$498); - $499 = HEAP32[$2>>2]|0; - $500 = HEAP32[$1>>2]|0; - $501 = ((($500)) + 20|0); - $502 = HEAP32[$501>>2]|0; - $503 = (($502) + (($499*48)|0)|0); - HEAP32[$pTerm>>2] = $503; - $504 = HEAP32[$1>>2]|0; - $505 = HEAP32[$idxNew>>2]|0; - $506 = HEAP32[$2>>2]|0; - _markTermAsChild($504,$505,$506); - } else { - $507 = HEAP32[$db>>2]|0; - $508 = HEAP32[$pList>>2]|0; - _sqlite3ExprListDelete($507,$508); - } - $509 = HEAP32[$pTerm>>2]|0; - $510 = ((($509)) + 12|0); - HEAP16[$510>>1] = 4096; - STACKTOP = sp;return; -} -function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $ppPrefix = $ppPrefix|0; - $pisComplete = $pisComplete|0; - $pnoCase = $pnoCase|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $cnt = 0, $db = 0, $iCol = 0, $op = 0, $pLeft = 0, $pList = 0, $pPrefix = 0, $pReprepare = 0, $pRight = 0, $pVal = 0; - var $r1 = 0, $rc = 0, $v = 0, $wc = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - $z = sp + 56|0; - $pRight = sp + 52|0; - $pLeft = sp + 48|0; - $pList = sp + 44|0; - $c = sp + 40|0; - $cnt = sp + 36|0; - $wc = sp + 84|0; - $db = sp + 32|0; - $pVal = sp + 28|0; - $op = sp + 24|0; - $rc = sp + 20|0; - $pReprepare = sp + 16|0; - $iCol = sp + 12|0; - $pPrefix = sp + 8|0; - $v = sp + 4|0; - $r1 = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pExpr; - HEAP32[$3>>2] = $ppPrefix; - HEAP32[$4>>2] = $pisComplete; - HEAP32[$5>>2] = $pnoCase; - HEAP32[$z>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$db>>2] = $7; - HEAP32[$pVal>>2] = 0; - $8 = HEAP32[$db>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$5>>2]|0; - $11 = (_sqlite3IsLikeFunction($8,$9,$10,$wc)|0); - $12 = ($11|0)!=(0); - if (!($12)) { - HEAP32[$0>>2] = 0; - $167 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($167|0); - } - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$pList>>2] = $15; - $16 = HEAP32[$pList>>2]|0; - $17 = ((($16)) + 4|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pLeft>>2] = $20; - $21 = HEAP32[$pLeft>>2]|0; - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = ($23|0)!=(152); - if (!($24)) { - $25 = HEAP32[$pLeft>>2]|0; - $26 = (_sqlite3ExprAffinity($25)|0); - $27 = $26 << 24 >> 24; - $28 = ($27|0)!=(66); - if (!($28)) { - $29 = HEAP32[$pLeft>>2]|0; - $30 = ((($29)) + 44|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($31)) + 42|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 & 16; - $36 = ($35|0)!=(0); - if (!($36)) { - $37 = HEAP32[$pList>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = (_sqlite3ExprSkipCollate($40)|0); - HEAP32[$pRight>>2] = $41; - $42 = HEAP32[$pRight>>2]|0; - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - HEAP32[$op>>2] = $44; - $45 = HEAP32[$op>>2]|0; - $46 = ($45|0)==(135); - if ($46) { - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 432|0); - $49 = HEAP32[$48>>2]|0; - HEAP32[$pReprepare>>2] = $49; - $50 = HEAP32[$pRight>>2]|0; - $51 = ((($50)) + 32|0); - $52 = HEAP16[$51>>1]|0; - $53 = $52 << 16 >> 16; - HEAP32[$iCol>>2] = $53; - $54 = HEAP32[$pReprepare>>2]|0; - $55 = HEAP32[$iCol>>2]|0; - $56 = (_sqlite3VdbeGetBoundValue($54,$55,65)|0); - HEAP32[$pVal>>2] = $56; - $57 = HEAP32[$pVal>>2]|0; - $58 = ($57|0)!=(0|0); - if ($58) { - $59 = HEAP32[$pVal>>2]|0; - $60 = (_sqlite3_value_type($59)|0); - $61 = ($60|0)==(3); - if ($61) { - $62 = HEAP32[$pVal>>2]|0; - $63 = (_sqlite3_value_text($62)|0); - HEAP32[$z>>2] = $63; + } while(0); + $327 = HEAP32[$26>>2]|0; + $328 = (($327) + 1)|0; + HEAP32[$26>>2] = $328; + } + $329 = HEAP32[$30>>2]|0; + $330 = ((($329)) + 36|0); + $331 = HEAP32[$330>>2]|0; + $332 = $331 & 4096; + $333 = ($332|0)==(0); + if ($333) { + $334 = HEAP32[$30>>2]|0; + $335 = ((($334)) + 36|0); + $336 = HEAP32[$335>>2]|0; + $337 = $336 & 256; + $338 = ($337|0)!=(0); + if ($338) { + HEAP32[$34>>2] = 0; + HEAP16[$22>>1] = 0; + HEAP16[$23>>1] = 1; + } else { + $339 = HEAP32[$30>>2]|0; + $340 = ((($339)) + 24|0); + $341 = ((($340)) + 8|0); + $342 = HEAP32[$341>>2]|0; + HEAP32[$34>>2] = $342; + $343 = ($342|0)==(0|0); + if ($343) { + label = 46; + break L13; } - } - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 8|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$iCol>>2]|0; - _sqlite3VdbeSetVarmask($66,$67); - } else { - $68 = HEAP32[$op>>2]|0; - $69 = ($68|0)==(97); - if ($69) { - $70 = HEAP32[$pRight>>2]|0; - $71 = ((($70)) + 8|0); - $72 = HEAP32[$71>>2]|0; - HEAP32[$z>>2] = $72; - } - } - $73 = HEAP32[$z>>2]|0; - $74 = ($73|0)!=(0|0); - do { - if ($74) { - HEAP32[$cnt>>2] = 0; - while(1) { - $75 = HEAP32[$cnt>>2]|0; - $76 = HEAP32[$z>>2]|0; - $77 = (($76) + ($75)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $78 << 24 >> 24; - HEAP32[$c>>2] = $79; - $80 = ($79|0)!=(0); - if ($80) { - $81 = HEAP32[$c>>2]|0; - $82 = HEAP8[$wc>>0]|0; - $83 = $82 << 24 >> 24; - $84 = ($81|0)!=($83|0); - if ($84) { - $85 = HEAP32[$c>>2]|0; - $86 = ((($wc)) + 1|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87 << 24 >> 24; - $89 = ($85|0)!=($88|0); - if ($89) { - $90 = HEAP32[$c>>2]|0; - $91 = ((($wc)) + 2|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92 << 24 >> 24; - $94 = ($90|0)!=($93|0); - $168 = $94; - } else { - $168 = 0; + $344 = HEAP32[$34>>2]|0; + $345 = ((($344)) + 55|0); + $346 = HEAP8[$345>>0]|0; + $347 = ($346&255) >>> 2; + $348 = $347 & 1; + $349 = $348&255; + $350 = ($349|0)!=(0); + if ($350) { + label = 46; + break L13; + } + $351 = HEAP32[$34>>2]|0; + $352 = ((($351)) + 50|0); + $353 = HEAP16[$352>>1]|0; + HEAP16[$22>>1] = $353; + $354 = HEAP32[$34>>2]|0; + $355 = ((($354)) + 52|0); + $356 = HEAP16[$355>>1]|0; + HEAP16[$23>>1] = $356; + $357 = HEAP32[$34>>2]|0; + $358 = ((($357)) + 54|0); + $359 = HEAP8[$358>>0]|0; + $360 = $359&255; + $361 = ($360|0)!=(0); + $362 = $361&1; + $363 = $362&255; + HEAP8[$18>>0] = $363; + } + HEAP8[$15>>0] = 0; + HEAP8[$16>>0] = 0; + HEAP8[$19>>0] = 0; + HEAP32[$27>>2] = 0; + while(1) { + $364 = HEAP32[$27>>2]|0; + $365 = HEAP16[$23>>1]|0; + $366 = $365&65535; + $367 = ($364|0)<($366|0); + if (!($367)) { + break; + } + HEAP8[$42>>0] = 1; + $368 = HEAP32[$27>>2]|0; + $369 = HEAP32[$30>>2]|0; + $370 = ((($369)) + 24|0); + $371 = HEAP16[$370>>1]|0; + $372 = $371&65535; + $373 = ($368|0)<($372|0); + L66: do { + if ($373) { + $374 = HEAP32[$27>>2]|0; + $375 = HEAP32[$30>>2]|0; + $376 = ((($375)) + 42|0); + $377 = HEAP16[$376>>1]|0; + $378 = $377&65535; + $379 = ($374|0)>=($378|0); + if ($379) { + $380 = HEAP32[$30>>2]|0; + $381 = ((($380)) + 48|0); + $382 = HEAP32[$381>>2]|0; + $383 = HEAP32[$27>>2]|0; + $384 = (($382) + ($383<<2)|0); + $385 = HEAP32[$384>>2]|0; + $386 = ((($385)) + 12|0); + $387 = HEAP16[$386>>1]|0; + HEAP16[$43>>1] = $387; + $388 = HEAP16[$43>>1]|0; + $389 = $388&65535; + $390 = HEAP16[$21>>1]|0; + $391 = $390&65535; + $392 = $389 & $391; + $393 = ($392|0)!=(0); + $394 = HEAP16[$43>>1]|0; + $395 = $394&65535; + if ($393) { + $396 = $395 & 256; + $397 = ($396|0)!=(0); + if (!($397)) { + break; + } + HEAP8[$18>>0] = 0; + break; + } + $398 = $395 & 1; + $399 = ($398|0)!=(0); + if (!($399)) { + label = 61; + break; + } + $400 = HEAP32[$30>>2]|0; + $401 = ((($400)) + 48|0); + $402 = HEAP32[$401>>2]|0; + $403 = HEAP32[$27>>2]|0; + $404 = (($402) + ($403<<2)|0); + $405 = HEAP32[$404>>2]|0; + $406 = HEAP32[$405>>2]|0; + HEAP32[$44>>2] = $406; + $407 = HEAP32[$27>>2]|0; + $408 = (($407) + 1)|0; + HEAP32[$26>>2] = $408; + while(1) { + $409 = HEAP32[$26>>2]|0; + $410 = HEAP32[$30>>2]|0; + $411 = ((($410)) + 24|0); + $412 = HEAP16[$411>>1]|0; + $413 = $412&65535; + $414 = ($409|0)<($413|0); + if (!($414)) { + label = 61; + break L66; + } + $415 = HEAP32[$30>>2]|0; + $416 = ((($415)) + 48|0); + $417 = HEAP32[$416>>2]|0; + $418 = HEAP32[$26>>2]|0; + $419 = (($417) + ($418<<2)|0); + $420 = HEAP32[$419>>2]|0; + $421 = HEAP32[$420>>2]|0; + $422 = HEAP32[$44>>2]|0; + $423 = ($421|0)==($422|0); + if ($423) { + break; + } + $424 = HEAP32[$26>>2]|0; + $425 = (($424) + 1)|0; + HEAP32[$26>>2] = $425; } + HEAP8[$42>>0] = 0; + label = 61; } else { - $168 = 0; + label = 61; } } else { - $168 = 0; - } - $95 = HEAP32[$cnt>>2]|0; - if (!($168)) { - break; + label = 61; } - $96 = (($95) + 1)|0; - HEAP32[$cnt>>2] = $96; - } - $97 = ($95|0)!=(0); - if ($97) { - $98 = HEAP32[$cnt>>2]|0; - $99 = (($98) - 1)|0; - $100 = HEAP32[$z>>2]|0; - $101 = (($100) + ($99)|0); - $102 = HEAP8[$101>>0]|0; - $103 = $102&255; - $104 = (255)!=($103|0); - if ($104) { - $105 = HEAP32[$c>>2]|0; - $106 = HEAP8[$wc>>0]|0; - $107 = $106 << 24 >> 24; - $108 = ($105|0)==($107|0); - if ($108) { - $109 = HEAP32[$cnt>>2]|0; - $110 = (($109) + 1)|0; - $111 = HEAP32[$z>>2]|0; - $112 = (($111) + ($110)|0); - $113 = HEAP8[$112>>0]|0; - $114 = $113 << 24 >> 24; - $115 = ($114|0)==(0); - $117 = $115; + } while(0); + if ((label|0) == 61) { + label = 0; + $426 = HEAP32[$34>>2]|0; + $427 = ($426|0)!=(0|0); + do { + if ($427) { + $428 = HEAP32[$34>>2]|0; + $429 = ((($428)) + 4|0); + $430 = HEAP32[$429>>2]|0; + $431 = HEAP32[$27>>2]|0; + $432 = (($430) + ($431<<1)|0); + $433 = HEAP16[$432>>1]|0; + $434 = $433 << 16 >> 16; + HEAP32[$29>>2] = $434; + $435 = HEAP32[$34>>2]|0; + $436 = ((($435)) + 28|0); + $437 = HEAP32[$436>>2]|0; + $438 = HEAP32[$27>>2]|0; + $439 = (($437) + ($438)|0); + $440 = HEAP8[$439>>0]|0; + HEAP8[$17>>0] = $440; + $441 = HEAP32[$29>>2]|0; + $442 = HEAP32[$34>>2]|0; + $443 = ((($442)) + 12|0); + $444 = HEAP32[$443>>2]|0; + $445 = ((($444)) + 32|0); + $446 = HEAP16[$445>>1]|0; + $447 = $446 << 16 >> 16; + $448 = ($441|0)==($447|0); + if (!($448)) { + break; + } + HEAP32[$29>>2] = -1; } else { - $117 = 0; + HEAP32[$29>>2] = -1; + HEAP8[$17>>0] = 0; } - $116 = $117&1; - $118 = HEAP32[$4>>2]|0; - HEAP32[$118>>2] = $116; - $119 = HEAP32[$db>>2]|0; - $120 = HEAP32[$z>>2]|0; - $121 = (_sqlite3Expr($119,97,$120)|0); - HEAP32[$pPrefix>>2] = $121; - $122 = HEAP32[$pPrefix>>2]|0; - $123 = ($122|0)!=(0|0); - if ($123) { - $124 = HEAP32[$cnt>>2]|0; - $125 = HEAP32[$pPrefix>>2]|0; - $126 = ((($125)) + 8|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($127) + ($124)|0); - HEAP8[$128>>0] = 0; + } while(0); + $449 = HEAP8[$18>>0]|0; + $450 = $449&255; + $451 = ($450|0)!=(0); + $452 = HEAP32[$29>>2]|0; + $453 = ($452|0)>=(0); + $or$cond = $451 & $453; + do { + if ($or$cond) { + $454 = HEAP32[$27>>2]|0; + $455 = HEAP32[$30>>2]|0; + $456 = ((($455)) + 24|0); + $457 = HEAP16[$456>>1]|0; + $458 = $457&65535; + $459 = ($454|0)>=($458|0); + if (!($459)) { + break; + } + $460 = HEAP32[$34>>2]|0; + $461 = ((($460)) + 12|0); + $462 = HEAP32[$461>>2]|0; + $463 = ((($462)) + 4|0); + $464 = HEAP32[$463>>2]|0; + $465 = HEAP32[$29>>2]|0; + $466 = (($464) + ($465<<4)|0); + $467 = ((($466)) + 12|0); + $468 = HEAP8[$467>>0]|0; + $469 = $468&255; + $470 = ($469|0)==(0); + if (!($470)) { + break; + } + HEAP8[$18>>0] = 0; } - $129 = HEAP32[$pPrefix>>2]|0; - $130 = HEAP32[$3>>2]|0; - HEAP32[$130>>2] = $129; - $131 = HEAP32[$op>>2]|0; - $132 = ($131|0)==(135); - if (!($132)) { + } while(0); + HEAP8[$20>>0] = 0; + HEAP32[$26>>2] = 0; + L91: while(1) { + $471 = HEAP8[$42>>0]|0; + $472 = $471&255; + $473 = ($472|0)!=(0); + if (!($473)) { break; } - $133 = HEAP32[$1>>2]|0; - $134 = ((($133)) + 8|0); - $135 = HEAP32[$134>>2]|0; - HEAP32[$v>>2] = $135; - $136 = HEAP32[$v>>2]|0; - $137 = HEAP32[$pRight>>2]|0; - $138 = ((($137)) + 32|0); - $139 = HEAP16[$138>>1]|0; - $140 = $139 << 16 >> 16; - _sqlite3VdbeSetVarmask($136,$140); - $141 = HEAP32[$4>>2]|0; - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)!=(0); - if (!($143)) { + $474 = HEAP32[$26>>2]|0; + $475 = HEAP16[$24>>1]|0; + $476 = $475&65535; + $477 = ($474|0)<($476|0); + if (!($477)) { break; } - $144 = HEAP32[$pRight>>2]|0; - $145 = ((($144)) + 8|0); - $146 = HEAP32[$145>>2]|0; - $147 = ((($146)) + 1|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148 << 24 >> 24; - $150 = ($149|0)!=(0); - if (!($150)) { - break; + $478 = HEAP32[$26>>2]|0; + $479 = (_bitshift64Shl(1,0,($478|0))|0); + $480 = tempRet0; + $481 = $36; + $482 = $481; + $483 = HEAP32[$482>>2]|0; + $484 = (($481) + 4)|0; + $485 = $484; + $486 = HEAP32[$485>>2]|0; + $487 = $479 & $483; + $488 = $480 & $486; + $489 = ($487|0)!=(0); + $490 = ($488|0)!=(0); + $491 = $489 | $490; + do { + if (!($491)) { + $492 = HEAP32[$9>>2]|0; + $493 = ((($492)) + 4|0); + $494 = HEAP32[$493>>2]|0; + $495 = HEAP32[$26>>2]|0; + $496 = (($494) + (($495*20)|0)|0); + $497 = HEAP32[$496>>2]|0; + $498 = (_sqlite3ExprSkipCollate($497)|0); + HEAP32[$32>>2] = $498; + $499 = HEAP16[$11>>1]|0; + $500 = $499&65535; + $501 = $500 & 192; + $502 = ($501|0)==(0); + if ($502) { + HEAP8[$42>>0] = 0; + } + $503 = HEAP32[$29>>2]|0; + $504 = ($503|0)>=(-1); + $505 = HEAP32[$32>>2]|0; + if ($504) { + $506 = HEAP8[$505>>0]|0; + $507 = $506&255; + $508 = ($507|0)!=(152); + if ($508) { + break; + } + $509 = HEAP32[$32>>2]|0; + $510 = ((($509)) + 28|0); + $511 = HEAP32[$510>>2]|0; + $512 = HEAP32[$28>>2]|0; + $513 = ($511|0)!=($512|0); + if ($513) { + break; + } + $514 = HEAP32[$32>>2]|0; + $515 = ((($514)) + 32|0); + $516 = HEAP16[$515>>1]|0; + $517 = $516 << 16 >> 16; + $518 = HEAP32[$29>>2]|0; + $519 = ($517|0)!=($518|0); + if ($519) { + break; + } + } else { + $520 = HEAP32[$34>>2]|0; + $521 = ((($520)) + 40|0); + $522 = HEAP32[$521>>2]|0; + $523 = ((($522)) + 4|0); + $524 = HEAP32[$523>>2]|0; + $525 = HEAP32[$27>>2]|0; + $526 = (($524) + (($525*20)|0)|0); + $527 = HEAP32[$526>>2]|0; + $528 = HEAP32[$28>>2]|0; + $529 = (_sqlite3ExprCompare($505,$527,$528)|0); + $530 = ($529|0)!=(0); + if ($530) { + break; + } + } + $531 = HEAP32[$29>>2]|0; + $532 = ($531|0)>=(0); + if (!($532)) { + label = 84; + break L91; + } + $533 = HEAP32[$8>>2]|0; + $534 = HEAP32[$533>>2]|0; + $535 = HEAP32[$9>>2]|0; + $536 = ((($535)) + 4|0); + $537 = HEAP32[$536>>2]|0; + $538 = HEAP32[$26>>2]|0; + $539 = (($537) + (($538*20)|0)|0); + $540 = HEAP32[$539>>2]|0; + $541 = (_sqlite3ExprCollSeq($534,$540)|0); + HEAP32[$33>>2] = $541; + $542 = HEAP32[$33>>2]|0; + $543 = ($542|0)!=(0|0); + if (!($543)) { + $544 = HEAP32[$35>>2]|0; + $545 = ((($544)) + 8|0); + $546 = HEAP32[$545>>2]|0; + HEAP32[$33>>2] = $546; + } + $547 = HEAP32[$33>>2]|0; + $548 = HEAP32[$547>>2]|0; + $549 = HEAP32[$34>>2]|0; + $550 = ((($549)) + 32|0); + $551 = HEAP32[$550>>2]|0; + $552 = HEAP32[$27>>2]|0; + $553 = (($551) + ($552<<2)|0); + $554 = HEAP32[$553>>2]|0; + $555 = (_sqlite3StrICmp($548,$554)|0); + $556 = ($555|0)!=(0); + if (!($556)) { + label = 84; + break L91; + } + } + } while(0); + $557 = HEAP32[$26>>2]|0; + $558 = (($557) + 1)|0; + HEAP32[$26>>2] = $558; + } + if ((label|0) == 84) { + label = 0; + HEAP8[$20>>0] = 1; + } + $559 = HEAP8[$20>>0]|0; + $560 = $559&255; + $561 = ($560|0)!=(0); + do { + if ($561) { + $562 = HEAP16[$11>>1]|0; + $563 = $562&65535; + $564 = $563 & 64; + $565 = ($564|0)==(0); + if (!($565)) { + break; + } + $566 = HEAP8[$15>>0]|0; + $567 = ($566<<24>>24)!=(0); + if ($567) { + $568 = HEAP8[$16>>0]|0; + $569 = $568&255; + $570 = HEAP8[$17>>0]|0; + $571 = $570&255; + $572 = $569 ^ $571; + $573 = HEAP32[$9>>2]|0; + $574 = ((($573)) + 4|0); + $575 = HEAP32[$574>>2]|0; + $576 = HEAP32[$26>>2]|0; + $577 = (($575) + (($576*20)|0)|0); + $578 = ((($577)) + 12|0); + $579 = HEAP8[$578>>0]|0; + $580 = $579&255; + $581 = ($572|0)!=($580|0); + if (!($581)) { + break; + } + HEAP8[$20>>0] = 0; + break; + } + $582 = HEAP8[$17>>0]|0; + $583 = $582&255; + $584 = HEAP32[$9>>2]|0; + $585 = ((($584)) + 4|0); + $586 = HEAP32[$585>>2]|0; + $587 = HEAP32[$26>>2]|0; + $588 = (($586) + (($587*20)|0)|0); + $589 = ((($588)) + 12|0); + $590 = HEAP8[$589>>0]|0; + $591 = $590&255; + $592 = $583 ^ $591; + $593 = $592&255; + HEAP8[$16>>0] = $593; + $594 = HEAP8[$16>>0]|0; + $595 = ($594<<24>>24)!=(0); + if ($595) { + $596 = HEAP32[$25>>2]|0; + $597 = (_bitshift64Shl(1,0,($596|0))|0); + $598 = tempRet0; + $599 = HEAP32[$14>>2]|0; + $600 = $599; + $601 = $600; + $602 = HEAP32[$601>>2]|0; + $603 = (($600) + 4)|0; + $604 = $603; + $605 = HEAP32[$604>>2]|0; + $606 = $602 | $597; + $607 = $605 | $598; + $608 = $599; + $609 = $608; + HEAP32[$609>>2] = $606; + $610 = (($608) + 4)|0; + $611 = $610; + HEAP32[$611>>2] = $607; + } + HEAP8[$15>>0] = 1; } - $151 = HEAP32[$1>>2]|0; - $152 = (_sqlite3GetTempReg($151)|0); - HEAP32[$r1>>2] = $152; - $153 = HEAP32[$1>>2]|0; - $154 = HEAP32[$pRight>>2]|0; - $155 = HEAP32[$r1>>2]|0; - (_sqlite3ExprCodeTarget($153,$154,$155)|0); - $156 = HEAP32[$v>>2]|0; - $157 = HEAP32[$v>>2]|0; - $158 = (_sqlite3VdbeCurrentAddr($157)|0); - $159 = (($158) - 1)|0; - _sqlite3VdbeChangeP3($156,$159,0); - $160 = HEAP32[$1>>2]|0; - $161 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($160,$161); + } while(0); + $612 = HEAP8[$20>>0]|0; + $613 = ($612<<24>>24)!=(0); + if (!($613)) { + label = 98; break; } + $614 = HEAP32[$29>>2]|0; + $615 = ($614|0)==(-1); + if ($615) { + HEAP8[$19>>0] = 1; + } + $616 = HEAP32[$26>>2]|0; + $617 = (_bitshift64Shl(1,0,($616|0))|0); + $618 = tempRet0; + $619 = $36; + $620 = $619; + $621 = HEAP32[$620>>2]|0; + $622 = (($619) + 4)|0; + $623 = $622; + $624 = HEAP32[$623>>2]|0; + $625 = $621 | $617; + $626 = $624 | $618; + $627 = $36; + $628 = $627; + HEAP32[$628>>2] = $625; + $629 = (($627) + 4)|0; + $630 = $629; + HEAP32[$630>>2] = $626; } - HEAP32[$z>>2] = 0; + $637 = HEAP32[$27>>2]|0; + $638 = (($637) + 1)|0; + HEAP32[$27>>2] = $638; } - } while(0); - $162 = HEAP32[$z>>2]|0; - $163 = ($162|0)!=(0|0); - $164 = $163&1; - HEAP32[$rc>>2] = $164; - $165 = HEAP32[$pVal>>2]|0; - _sqlite3ValueFree($165); - $166 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $166; - $167 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($167|0); - } - } - } - HEAP32[$0>>2] = 0; - $167 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($167|0); -} -function _isMatchOfColumn($pExpr,$peOp2) { - $pExpr = $pExpr|0; - $peOp2 = $peOp2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pCol = 0, $pList = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pList = sp + 8|0; - $pCol = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $peOp2; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)!=(151); - if ($6) { - HEAP32[$0>>2] = 0; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - } - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 20|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$pList>>2] = $9; - $10 = HEAP32[$pList>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - $12 = HEAP32[$pList>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(2); - if (!($14)) { - $15 = HEAP32[$pList>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($17)) + 20|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pCol>>2] = $19; - $20 = HEAP32[$pCol>>2]|0; - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)!=(152); - if (!($23)) { - $24 = HEAP32[$pCol>>2]|0; - $25 = ((($24)) + 44|0); - $26 = HEAP32[$25>>2]|0; - $27 = ((($26)) + 42|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 & 16; - $31 = ($30|0)!=(0); - if ($31) { - HEAP32[$i>>2] = 0; - while(1) { - $32 = HEAP32[$i>>2]|0; - $33 = ($32|0)<(4); - if (!($33)) { - label = 14; - break; + do { + if ((label|0) == 98) { + label = 0; + $631 = HEAP32[$27>>2]|0; + $632 = ($631|0)==(0); + if (!($632)) { + $633 = HEAP32[$27>>2]|0; + $634 = HEAP16[$22>>1]|0; + $635 = $634&65535; + $636 = ($633|0)<($635|0); + if (!($636)) { + break; + } + } + HEAP8[$18>>0] = 0; } - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$i>>2]|0; - $38 = (5444 + ($37<<3)|0); - $39 = HEAP32[$38>>2]|0; - $40 = (_sqlite3StrICmp($36,$39)|0); - $41 = ($40|0)==(0); - $42 = HEAP32[$i>>2]|0; - if ($41) { - label = 12; - break; + } while(0); + $639 = HEAP8[$19>>0]|0; + $640 = ($639<<24>>24)!=(0); + if ($640) { + HEAP8[$18>>0] = 1; + } + } + $641 = HEAP8[$18>>0]|0; + $642 = ($641<<24>>24)!=(0); + if ($642) { + $643 = HEAP32[$30>>2]|0; + $644 = ((($643)) + 8|0); + $645 = $644; + $646 = $645; + $647 = HEAP32[$646>>2]|0; + $648 = (($645) + 4)|0; + $649 = $648; + $650 = HEAP32[$649>>2]|0; + $651 = $38; + $652 = $651; + $653 = HEAP32[$652>>2]|0; + $654 = (($651) + 4)|0; + $655 = $654; + $656 = HEAP32[$655>>2]|0; + $657 = $653 | $647; + $658 = $656 | $650; + $659 = $38; + $660 = $659; + HEAP32[$660>>2] = $657; + $661 = (($659) + 4)|0; + $662 = $661; + HEAP32[$662>>2] = $658; + HEAP32[$26>>2] = 0; + while(1) { + $663 = HEAP32[$26>>2]|0; + $664 = HEAP16[$24>>1]|0; + $665 = $664&65535; + $666 = ($663|0)<($665|0); + if (!($666)) { + break L24; } - $47 = (($42) + 1)|0; - HEAP32[$i>>2] = $47; - } - if ((label|0) == 12) { - $43 = (5444 + ($42<<3)|0); - $44 = ((($43)) + 4|0); - $45 = HEAP8[$44>>0]|0; - $46 = HEAP32[$2>>2]|0; - HEAP8[$46>>0] = $45; - HEAP32[$0>>2] = 1; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - } - else if ((label|0) == 14) { - HEAP32[$0>>2] = 0; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); + $667 = HEAP32[$26>>2]|0; + $668 = (_bitshift64Shl(1,0,($667|0))|0); + $669 = tempRet0; + $670 = $36; + $671 = $670; + $672 = HEAP32[$671>>2]|0; + $673 = (($670) + 4)|0; + $674 = $673; + $675 = HEAP32[$674>>2]|0; + $676 = $668 & $672; + $677 = $669 & $675; + $678 = ($676|0)!=(0); + $679 = ($677|0)!=(0); + $680 = $678 | $679; + do { + if (!($680)) { + $681 = HEAP32[$9>>2]|0; + $682 = ((($681)) + 4|0); + $683 = HEAP32[$682>>2]|0; + $684 = HEAP32[$26>>2]|0; + $685 = (($683) + (($684*20)|0)|0); + $686 = HEAP32[$685>>2]|0; + HEAP32[$45>>2] = $686; + $687 = HEAP32[$8>>2]|0; + $688 = ((($687)) + 488|0); + $689 = HEAP32[$45>>2]|0; + $690 = (_sqlite3WhereExprUsage($688,$689)|0); + $691 = tempRet0; + $692 = $46; + $693 = $692; + HEAP32[$693>>2] = $690; + $694 = (($692) + 4)|0; + $695 = $694; + HEAP32[$695>>2] = $691; + $696 = $46; + $697 = $696; + $698 = HEAP32[$697>>2]|0; + $699 = (($696) + 4)|0; + $700 = $699; + $701 = HEAP32[$700>>2]|0; + $702 = ($698|0)==(0); + $703 = ($701|0)==(0); + $704 = $702 & $703; + if ($704) { + $705 = HEAP32[$45>>2]|0; + $706 = (_sqlite3ExprIsConstant($705)|0); + $707 = ($706|0)!=(0); + if (!($707)) { + break; + } + } + $708 = $46; + $709 = $708; + $710 = HEAP32[$709>>2]|0; + $711 = (($708) + 4)|0; + $712 = $711; + $713 = HEAP32[$712>>2]|0; + $714 = $38; + $715 = $714; + $716 = HEAP32[$715>>2]|0; + $717 = (($714) + 4)|0; + $718 = $717; + $719 = HEAP32[$718>>2]|0; + $720 = $716 ^ -1; + $721 = $719 ^ -1; + $722 = $710 & $720; + $723 = $713 & $721; + $724 = ($722|0)==(0); + $725 = ($723|0)==(0); + $726 = $724 & $725; + if ($726) { + $727 = HEAP32[$26>>2]|0; + $728 = (_bitshift64Shl(1,0,($727|0))|0); + $729 = tempRet0; + $730 = $36; + $731 = $730; + $732 = HEAP32[$731>>2]|0; + $733 = (($730) + 4)|0; + $734 = $733; + $735 = HEAP32[$734>>2]|0; + $736 = $732 | $728; + $737 = $735 | $729; + $738 = $36; + $739 = $738; + HEAP32[$739>>2] = $736; + $740 = (($738) + 4)|0; + $741 = $740; + HEAP32[$741>>2] = $737; + } + } + } while(0); + $742 = HEAP32[$26>>2]|0; + $743 = (($742) + 1)|0; + HEAP32[$26>>2] = $743; } } } - HEAP32[$0>>2] = 0; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); + } while(0); + $744 = HEAP32[$25>>2]|0; + $745 = (($744) + 1)|0; + HEAP32[$25>>2] = $745; + } + if ((label|0) == 18) { + $162 = HEAP32[$30>>2]|0; + $163 = ((($162)) + 24|0); + $164 = ((($163)) + 5|0); + $165 = HEAP8[$164>>0]|0; + $166 = ($165<<24>>24)!=(0); + if ($166) { + $167 = $37; + $168 = $167; + $169 = HEAP32[$168>>2]|0; + $170 = (($167) + 4)|0; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = $36; + $174 = $173; + HEAP32[$174>>2] = $169; + $175 = (($173) + 4)|0; + $176 = $175; + HEAP32[$176>>2] = $172; } } - HEAP32[$0>>2] = 0; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); -} -function _sqlite3ExprForVectorField($pParse,$pVector,$iField) { - $pParse = $pParse|0; - $pVector = $pVector|0; - $iField = $iField|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRet = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pRet = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pVector; - HEAP32[$2>>2] = $iField; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(119); - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3PExpr($7,159,0,0,0)|0); - HEAP32[$pRet>>2] = $8; - $9 = HEAP32[$pRet>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - $34 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($34|0); + else if ((label|0) == 46) { + HEAP8[$7>>0] = 0; + $805 = HEAP8[$7>>0]|0; + STACKTOP = sp;return ($805|0); + } + $746 = $36; + $747 = $746; + $748 = HEAP32[$747>>2]|0; + $749 = (($746) + 4)|0; + $750 = $749; + $751 = HEAP32[$750>>2]|0; + $752 = $37; + $753 = $752; + $754 = HEAP32[$753>>2]|0; + $755 = (($752) + 4)|0; + $756 = $755; + $757 = HEAP32[$756>>2]|0; + $758 = ($748|0)==($754|0); + $759 = ($751|0)==($757|0); + $760 = $758 & $759; + if ($760) { + $761 = HEAP16[$24>>1]|0; + $762 = $761&255; + HEAP8[$7>>0] = $762; + $805 = HEAP8[$7>>0]|0; + STACKTOP = sp;return ($805|0); + } + $763 = HEAP8[$18>>0]|0; + $764 = ($763<<24>>24)!=(0); + if ($764) { + HEAP8[$7>>0] = -1; + $805 = HEAP8[$7>>0]|0; + STACKTOP = sp;return ($805|0); + } + $765 = HEAP16[$24>>1]|0; + $766 = $765&65535; + $767 = (($766) - 1)|0; + HEAP32[$26>>2] = $767; + while(1) { + $768 = HEAP32[$26>>2]|0; + $769 = ($768|0)>(0); + if (!($769)) { + label = 122; + break; } - $11 = HEAP32[$2>>2]|0; - $12 = $11&65535; - $13 = HEAP32[$pRet>>2]|0; - $14 = ((($13)) + 32|0); - HEAP16[$14>>1] = $12; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$pRet>>2]|0; - $17 = ((($16)) + 12|0); - HEAP32[$17>>2] = $15; - $34 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($34|0); - } else { - $18 = HEAP32[$1>>2]|0; - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)==(158); - if ($21) { - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 20|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + (($22*20)|0)|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$1>>2] = $29; + $770 = HEAP32[$26>>2]|0; + $771 = (_bitshift64Shl(1,0,($770|0))|0); + $772 = tempRet0; + $773 = (_i64Subtract(($771|0),($772|0),1,0)|0); + $774 = tempRet0; + $775 = $47; + $776 = $775; + HEAP32[$776>>2] = $773; + $777 = (($775) + 4)|0; + $778 = $777; + HEAP32[$778>>2] = $774; + $779 = $36; + $780 = $779; + $781 = HEAP32[$780>>2]|0; + $782 = (($779) + 4)|0; + $783 = $782; + $784 = HEAP32[$783>>2]|0; + $785 = $47; + $786 = $785; + $787 = HEAP32[$786>>2]|0; + $788 = (($785) + 4)|0; + $789 = $788; + $790 = HEAP32[$789>>2]|0; + $791 = $781 & $787; + $792 = $784 & $790; + $793 = $47; + $794 = $793; + $795 = HEAP32[$794>>2]|0; + $796 = (($793) + 4)|0; + $797 = $796; + $798 = HEAP32[$797>>2]|0; + $799 = ($791|0)==($795|0); + $800 = ($792|0)==($798|0); + $801 = $799 & $800; + $802 = HEAP32[$26>>2]|0; + if ($801) { + label = 120; + break; } - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = (_sqlite3ExprDup($31,$32,0)|0); - HEAP32[$pRet>>2] = $33; - $34 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($34|0); + $804 = (($802) + -1)|0; + HEAP32[$26>>2] = $804; } - return (0)|0; -} -function _sqlite3IsLikeFunction($db,$pExpr,$pIsNocase,$aWc) { - $db = $db|0; - $pExpr = $pExpr|0; - $pIsNocase = $pIsNocase|0; - $aWc = $aWc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDef = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $pDef = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pExpr; - HEAP32[$3>>2] = $pIsNocase; - HEAP32[$4>>2] = $aWc; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)!=(151); - if (!($8)) { - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(2); - if (!($17)) { - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3FindFunction($18,$21,2,1,0)|0); - HEAP32[$pDef>>2] = $22; - $23 = HEAP32[$pDef>>2]|0; - $24 = ($23|0)==(0|0); - if (!($24)) { - $25 = HEAP32[$pDef>>2]|0; - $26 = ((($25)) + 2|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27&65535; - $29 = $28 & 4; - $30 = ($29|0)==(0); - if (!($30)) { - $31 = HEAP32[$4>>2]|0; - $32 = HEAP32[$pDef>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - ;HEAP8[$31>>0]=HEAP8[$34>>0]|0;HEAP8[$31+1>>0]=HEAP8[$34+1>>0]|0;HEAP8[$31+2>>0]=HEAP8[$34+2>>0]|0; - $35 = HEAP32[$pDef>>2]|0; - $36 = ((($35)) + 2|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37&65535; - $39 = $38 & 8; - $40 = ($39|0)==(0); - $41 = $40&1; - $42 = HEAP32[$3>>2]|0; - HEAP32[$42>>2] = $41; - HEAP32[$0>>2] = 1; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); - } - } - HEAP32[$0>>2] = 0; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); - } - } + if ((label|0) == 120) { + $803 = $802&255; + HEAP8[$7>>0] = $803; + $805 = HEAP8[$7>>0]|0; + STACKTOP = sp;return ($805|0); } - HEAP32[$0>>2] = 0; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); + else if ((label|0) == 122) { + HEAP8[$7>>0] = 0; + $805 = HEAP8[$7>>0]|0; + STACKTOP = sp;return ($805|0); + } + return (0)|0; } -function _sqlite3VdbeGetBoundValue($v,$iVar,$aff) { - $v = $v|0; - $iVar = $iVar|0; - $aff = $aff|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pMem = 0, $pRet = 0, label = 0, sp = 0; +function _whereSortingCost($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 20|0; - $pMem = sp + 4|0; - $pRet = sp; - HEAP32[$1>>2] = $v; - HEAP32[$2>>2] = $iVar; - HEAP8[$3>>0] = $aff; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$2>>2]|0; - $7 = (($6) - 1)|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 116|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + (($7*40)|0)|0); - HEAP32[$pMem>>2] = $11; - $12 = HEAP32[$pMem>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = $15 & 1; - $17 = (0)==($16|0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3ValueNew($19)|0); - HEAP32[$pRet>>2] = $20; - $21 = HEAP32[$pRet>>2]|0; - $22 = ($21|0)!=(0|0); - if ($22) { - $23 = HEAP32[$pRet>>2]|0; - $24 = HEAP32[$pMem>>2]|0; - (_sqlite3VdbeMemCopy($23,$24)|0); - $25 = HEAP32[$pRet>>2]|0; - $26 = HEAP8[$3>>0]|0; - _sqlite3ValueApplyAffinity($25,$26,1); - } - $27 = HEAP32[$pRet>>2]|0; - HEAP32[$0>>2] = $27; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $4 = sp + 8|0; + $5 = sp + 16|0; + $6 = sp + 4|0; + $7 = sp; + $8 = sp + 14|0; + $9 = sp + 12|0; + HEAP32[$4>>2] = $0; + HEAP16[$5>>1] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$7>>2]|0; + $12 = (($10) - ($11))|0; + $13 = ($12*100)|0; + $14 = HEAP32[$6>>2]|0; + $15 = (($13|0) / ($14|0))&-1; + $16 = ($15|0)<(0); + $17 = $16 << 31 >> 31; + $18 = (_sqlite3LogEst($15,$17)|0); + $19 = $18 << 16 >> 16; + $20 = (($19) - 66)|0; + $21 = $20&65535; + HEAP16[$8>>1] = $21; + $22 = HEAP16[$5>>1]|0; + $23 = $22 << 16 >> 16; + $24 = HEAP16[$8>>1]|0; + $25 = $24 << 16 >> 16; + $26 = (($23) + ($25))|0; + $27 = (($26) + 16)|0; + $28 = $27&65535; + HEAP16[$9>>1] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 40|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + $33 = $32 & 16384; + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 16|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37 << 16 >> 16; + $39 = HEAP16[$5>>1]|0; + $40 = $39 << 16 >> 16; + $41 = ($38|0)<($40|0); + if ($41) { + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 16|0); + $44 = HEAP16[$43>>1]|0; + HEAP16[$5>>1] = $44; } } - HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $45 = HEAP16[$5>>1]|0; + $46 = (_estLog($45)|0); + $47 = $46 << 16 >> 16; + $48 = HEAP16[$9>>1]|0; + $49 = $48 << 16 >> 16; + $50 = (($49) + ($47))|0; + $51 = $50&65535; + HEAP16[$9>>1] = $51; + $52 = HEAP16[$9>>1]|0; + STACKTOP = sp;return ($52|0); } -function _sqlite3VdbeSetVarmask($v,$iVar) { - $v = $v|0; - $iVar = $iVar|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _estLog($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $iVar; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(32); - if ($3) { - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 196|0); - HEAP32[$5>>2] = -1; - STACKTOP = sp;return; - } else { - $6 = HEAP32[$1>>2]|0; - $7 = (($6) - 1)|0; - $8 = 1 << $7; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 196|0); - $11 = HEAP32[$10>>2]|0; - $12 = $11 | $8; - HEAP32[$10>>2] = $12; - STACKTOP = sp;return; + HEAP16[$1>>1] = $0; + $2 = HEAP16[$1>>1]|0; + $3 = $2 << 16 >> 16; + $4 = ($3|0)<=(10); + if ($4) { + $13 = 0; + $12 = $13&65535; + STACKTOP = sp;return ($12|0); } + $5 = HEAP16[$1>>1]|0; + $6 = $5 << 16 >> 16; + $7 = ($6|0)<(0); + $8 = $7 << 31 >> 31; + $9 = (_sqlite3LogEst($6,$8)|0); + $10 = $9 << 16 >> 16; + $11 = (($10) - 33)|0; + $13 = $11; + $12 = $13&65535; + STACKTOP = sp;return ($12|0); } -function _sqlite3VdbeChangeP3($p,$addr,$val) { - $p = $p|0; - $addr = $addr|0; - $val = $val|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $addr; - HEAP32[$2>>2] = $val; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3VdbeGetOp($4,$5)|0); - $7 = ((($6)) + 12|0); - HEAP32[$7>>2] = $3; - STACKTOP = sp;return; -} -function _whereNthSubterm($pTerm,$N) { - $pTerm = $pTerm|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $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; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pTerm; - HEAP32[$2>>2] = $N; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = ($6|0)!=(1024); - $8 = HEAP32[$2>>2]|0; - if ($7) { - $9 = ($8|0)==(0); - $10 = HEAP32[$1>>2]|0; - $11 = $9 ? $10 : 0; - HEAP32[$0>>2] = $11; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 28|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($8|0)<($16|0); - if ($17) { - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 28|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($21)) + 20|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + (($18*48)|0)|0); - HEAP32[$0>>2] = $24; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } else { - HEAP32[$0>>2] = 0; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } - return (0)|0; -} -function _whereCombineDisjuncts($pSrc,$pWC,$pOne,$pTwo) { - $pSrc = $pSrc|0; - $pWC = $pWC|0; - $pOne = $pOne|0; - $pTwo = $pTwo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, $eOp = 0, $idxNew = 0, $op = 0, $pNew = 0; - var label = 0, sp = 0; +function _whereLoopAddVirtual($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $eOp = sp + 32|0; - $db = sp + 12|0; - $pNew = sp + 8|0; - $op = sp + 4|0; - $idxNew = sp; - HEAP32[$0>>2] = $pSrc; - HEAP32[$1>>2] = $pWC; - HEAP32[$2>>2] = $pOne; - HEAP32[$3>>2] = $pTwo; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = HEAP32[$3>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $7 | $11; - $13 = $12&65535; - HEAP16[$eOp>>1] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16&65535; - $18 = $17 & 62; - $19 = ($18|0)==(0); - if ($19) { - STACKTOP = sp;return; - } - $20 = HEAP32[$3>>2]|0; - $21 = ((($20)) + 12|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = $23 & 62; - $25 = ($24|0)==(0); - if ($25) { - STACKTOP = sp;return; - } - $26 = HEAP16[$eOp>>1]|0; - $27 = $26&65535; - $28 = $27 & 26; - $29 = HEAP16[$eOp>>1]|0; - $30 = $29&65535; - $31 = ($28|0)!=($30|0); - if ($31) { - $32 = HEAP16[$eOp>>1]|0; - $33 = $32&65535; - $34 = $33 & 38; - $35 = HEAP16[$eOp>>1]|0; - $36 = $35&65535; - $37 = ($34|0)!=($36|0); - if ($37) { - STACKTOP = sp;return; - } - } - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = ((($39)) + 12|0); + STACKTOP = STACKTOP + 128|0; + $5 = sp + 108|0; + $6 = sp + 104|0; + $7 = sp + 48|0; + $8 = sp + 40|0; + $9 = sp + 100|0; + $10 = sp + 96|0; + $11 = sp + 92|0; + $12 = sp + 88|0; + $13 = sp + 84|0; + $14 = sp + 80|0; + $15 = sp + 76|0; + $16 = sp + 72|0; + $17 = sp + 68|0; + $18 = sp + 32|0; + $19 = sp + 112|0; + $20 = sp + 64|0; + $21 = sp + 60|0; + $22 = sp + 24|0; + $23 = sp + 16|0; + $24 = sp + 56|0; + $25 = sp + 8|0; + $26 = sp; + HEAP32[$6>>2] = $0; + $27 = $7; + $28 = $27; + HEAP32[$28>>2] = $1; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $2; + $31 = $8; + $32 = $31; + HEAP32[$32>>2] = $3; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $4; + HEAP32[$9>>2] = 0; + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$35>>2]|0; + HEAP32[$10>>2] = $36; + $37 = HEAP32[$10>>2]|0; + $38 = HEAP32[$37>>2]|0; + HEAP32[$11>>2] = $38; + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 4|0); $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$3>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = ((($43)) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = (_sqlite3ExprCompare($41,$45,-1)|0); - $47 = ($46|0)!=(0); - if ($47) { - STACKTOP = sp;return; - } - $48 = HEAP32[$2>>2]|0; - $49 = HEAP32[$48>>2]|0; + HEAP32[$12>>2] = $41; + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 12|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$17>>2] = $44; + $45 = HEAP32[$10>>2]|0; + $46 = ((($45)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$17>>2]|0; $50 = ((($49)) + 16|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$3>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = ((($53)) + 16|0); - $55 = HEAP32[$54>>2]|0; - $56 = (_sqlite3ExprCompare($51,$55,-1)|0); - $57 = ($56|0)!=(0); - if ($57) { - STACKTOP = sp;return; - } - $58 = HEAP16[$eOp>>1]|0; - $59 = $58&65535; - $60 = HEAP16[$eOp>>1]|0; - $61 = $60&65535; - $62 = (($61) - 1)|0; - $63 = $59 & $62; - $64 = ($63|0)!=(0); - do { - if ($64) { - $65 = HEAP16[$eOp>>1]|0; - $66 = $65&65535; - $67 = $66 & 24; - $68 = ($67|0)!=(0); - if ($68) { - HEAP16[$eOp>>1] = 8; - break; - } else { - HEAP16[$eOp>>1] = 32; - break; - } - } - } while(0); - $69 = HEAP32[$1>>2]|0; - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$70>>2]|0; - $72 = HEAP32[$71>>2]|0; - HEAP32[$db>>2] = $72; - $73 = HEAP32[$db>>2]|0; - $74 = HEAP32[$2>>2]|0; - $75 = HEAP32[$74>>2]|0; - $76 = (_sqlite3ExprDup($73,$75,0)|0); - HEAP32[$pNew>>2] = $76; - $77 = HEAP32[$pNew>>2]|0; - $78 = ($77|0)==(0|0); - if ($78) { - STACKTOP = sp;return; - } - HEAP32[$op>>2] = 37; - while(1) { - $79 = HEAP16[$eOp>>1]|0; - $80 = $79&65535; - $81 = HEAP32[$op>>2]|0; - $82 = (($81) - 37)|0; - $83 = 2 << $82; - $84 = ($80|0)!=($83|0); - $85 = HEAP32[$op>>2]|0; - if (!($84)) { - break; - } - $86 = (($85) + 1)|0; - HEAP32[$op>>2] = $86; - } - $87 = $85&255; - $88 = HEAP32[$pNew>>2]|0; - HEAP8[$88>>0] = $87; - $89 = HEAP32[$1>>2]|0; - $90 = HEAP32[$pNew>>2]|0; - $91 = (_whereClauseInsert($89,$90,3)|0); - HEAP32[$idxNew>>2] = $91; - $92 = HEAP32[$0>>2]|0; - $93 = HEAP32[$1>>2]|0; - $94 = HEAP32[$idxNew>>2]|0; - _exprAnalyze($92,$93,$94); - STACKTOP = sp;return; -} -function _checkConstraintUnchanged($pExpr,$aiChng,$chngRowid) { - $pExpr = $pExpr|0; - $aiChng = $aiChng|0; - $chngRowid = $chngRowid|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $w = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $w = sp; - HEAP32[$0>>2] = $pExpr; - HEAP32[$1>>2] = $aiChng; - HEAP32[$2>>2] = $chngRowid; - ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0;HEAP32[$w+24>>2]=0|0; - $3 = ((($w)) + 20|0); - HEAP8[$3>>0] = 0; - $4 = ((($w)) + 4|0); - HEAP32[$4>>2] = 200; - $5 = HEAP32[$1>>2]|0; - $6 = ((($w)) + 24|0); - HEAP32[$6>>2] = $5; - $7 = HEAP32[$0>>2]|0; - (_sqlite3WalkExpr($w,$7)|0); - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)!=(0); - if ($9) { - $15 = ((($w)) + 20|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - $18 = $17 ^ 1; - $19 = $18&1; - STACKTOP = sp;return ($19|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = (($48) + (($52*72)|0)|0); + HEAP32[$13>>2] = $53; + $54 = HEAP32[$11>>2]|0; + $55 = HEAP32[$12>>2]|0; + $56 = $8; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$13>>2]|0; + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 8|0); + $65 = HEAP32[$64>>2]|0; + $66 = (_allocateIndexInfo($54,$55,$58,$61,$62,$65,$19)|0); + HEAP32[$14>>2] = $66; + $67 = HEAP32[$14>>2]|0; + $68 = ($67|0)==(0|0); + if ($68) { + HEAP32[$5>>2] = 7; + $406 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($406|0); } - $10 = ((($w)) + 20|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 & -3; - $14 = $13&255; - HEAP8[$10>>0] = $14; - $15 = ((($w)) + 20|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - $18 = $17 ^ 1; - $19 = $18&1; - STACKTOP = sp;return ($19|0); -} -function _sqlite3RowidConstraint($pParse,$onError,$pTab) { - $pParse = $pParse|0; - $onError = $onError|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $zMsg = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $zMsg = sp + 16|0; - $rc = sp + 12|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $onError; - HEAP32[$2>>2] = $pTab; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 32|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5 << 16 >> 16; - $7 = ($6|0)>=(0); - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - if ($7) { - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 32|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14 << 16 >> 16; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 4|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($15<<4)|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $20; - $21 = (_sqlite3MPrintf($9,30161,$vararg_buffer)|0); - HEAP32[$zMsg>>2] = $21; - HEAP32[$rc>>2] = 1555; - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$rc>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$zMsg>>2]|0; - _sqlite3HaltConstraint($23,$24,$25,$26,-1,2); - STACKTOP = sp;return; - } else { - HEAP32[$vararg_buffer2>>2] = $11; - $22 = (_sqlite3MPrintf($9,35219,$vararg_buffer2)|0); - HEAP32[$zMsg>>2] = $22; - HEAP32[$rc>>2] = 2579; - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$rc>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$zMsg>>2]|0; - _sqlite3HaltConstraint($23,$24,$25,$26,-1,2); - STACKTOP = sp;return; + $69 = HEAP32[$17>>2]|0; + $70 = ((($69)) + 18|0); + HEAP16[$70>>1] = 0; + $71 = HEAP32[$17>>2]|0; + $72 = ((($71)) + 36|0); + HEAP32[$72>>2] = 1024; + $73 = HEAP32[$17>>2]|0; + $74 = ((($73)) + 40|0); + HEAP16[$74>>1] = 0; + $75 = HEAP32[$17>>2]|0; + $76 = ((($75)) + 24|0); + $77 = ((($76)) + 4|0); + HEAP8[$77>>0] = 0; + $78 = HEAP32[$14>>2]|0; + $79 = HEAP32[$78>>2]|0; + HEAP32[$15>>2] = $79; + $80 = HEAP32[$11>>2]|0; + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$17>>2]|0; + $83 = HEAP32[$15>>2]|0; + $84 = (_whereLoopResize($81,$82,$83)|0); + $85 = ($84|0)!=(0); + if ($85) { + $86 = HEAP32[$11>>2]|0; + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$14>>2]|0; + _sqlite3DbFree($87,$88); + HEAP32[$5>>2] = 7; + $406 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($406|0); } -} -function _sqlite3FkRequired($pParse,$pTab,$aChange,$chngRowid) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $aChange = $aChange|0; - $chngRowid = $chngRowid|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTab; - HEAP32[$3>>2] = $aChange; - HEAP32[$4>>2] = $chngRowid; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = $8 & 524288; - $10 = ($9|0)!=(0); - L1: do { - if ($10) { - $11 = HEAP32[$3>>2]|0; - $12 = ($11|0)!=(0|0); - $13 = HEAP32[$2>>2]|0; - if (!($12)) { - $14 = (_sqlite3FkReferences($13)|0); - $15 = ($14|0)!=(0|0); - if ($15) { - $21 = 1; - } else { - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)!=(0|0); - $21 = $19; + $89 = HEAP32[$6>>2]|0; + $90 = $7; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = (($90) + 4)|0; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$14>>2]|0; + $97 = HEAP16[$19>>1]|0; + $98 = (_whereLoopAddVirtualOne($89,$92,$95,-1,-1,0,$96,$97,$16)|0); + HEAP32[$9>>2] = $98; + $99 = HEAP32[$9>>2]|0; + $100 = ($99|0)==(0); + if ($100) { + $101 = HEAP32[$17>>2]|0; + $102 = $101; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = (($102) + 4)|0; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = $7; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (($108) + 4)|0; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = $110 ^ -1; + $115 = $113 ^ -1; + $116 = $104 & $114; + $117 = $107 & $115; + $118 = $18; + $119 = $118; + HEAP32[$119>>2] = $116; + $120 = (($118) + 4)|0; + $121 = $120; + HEAP32[$121>>2] = $117; + $122 = ($116|0)!=(0); + $123 = ($117|0)!=(0); + $124 = $122 | $123; + if ($124) { + HEAP32[$20>>2] = 0; + HEAP32[$21>>2] = 0; + $125 = $22; + $126 = $125; + HEAP32[$126>>2] = 0; + $127 = (($125) + 4)|0; + $128 = $127; + HEAP32[$128>>2] = 0; + $129 = $23; + $130 = $129; + HEAP32[$130>>2] = 0; + $131 = (($129) + 4)|0; + $132 = $131; + HEAP32[$132>>2] = 0; + $133 = HEAP32[$16>>2]|0; + $134 = ($133|0)!=(0); + if ($134) { + $135 = HEAP32[$6>>2]|0; + $136 = $7; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = HEAP32[$14>>2]|0; + $143 = HEAP16[$19>>1]|0; + $144 = (_whereLoopAddVirtualOne($135,$138,$141,-1,-1,1,$142,$143,$16)|0); + HEAP32[$9>>2] = $144; + $145 = HEAP32[$17>>2]|0; + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $7; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = $154 ^ -1; + $159 = $157 ^ -1; + $160 = $148 & $158; + $161 = $151 & $159; + $162 = $23; + $163 = $162; + HEAP32[$163>>2] = $160; + $164 = (($162) + 4)|0; + $165 = $164; + HEAP32[$165>>2] = $161; + $166 = $23; + $167 = $166; + $168 = HEAP32[$167>>2]|0; + $169 = (($166) + 4)|0; + $170 = $169; + $171 = HEAP32[$170>>2]|0; + $172 = ($168|0)==(0); + $173 = ($171|0)==(0); + $174 = $172 & $173; + if ($174) { + HEAP32[$20>>2] = 1; + HEAP32[$21>>2] = 1; } - $20 = $21&1; - HEAP32[$0>>2] = $20; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); } - $22 = ((($13)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$p>>2] = $23; while(1) { - $24 = HEAP32[$p>>2]|0; - $25 = ($24|0)!=(0|0); - $26 = HEAP32[$2>>2]|0; - if (!($25)) { + $175 = HEAP32[$9>>2]|0; + $176 = ($175|0)==(0); + if (!($176)) { break; } - $27 = HEAP32[$p>>2]|0; - $28 = HEAP32[$3>>2]|0; - $29 = HEAP32[$4>>2]|0; - $30 = (_fkChildIsModified($26,$27,$28,$29)|0); - $31 = ($30|0)!=(0); - if ($31) { - label = 9; + $177 = $25; + $178 = $177; + HEAP32[$178>>2] = -1; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = -1; + HEAP32[$24>>2] = 0; + while(1) { + $181 = HEAP32[$24>>2]|0; + $182 = HEAP32[$15>>2]|0; + $183 = ($181|0)<($182|0); + if (!($183)) { + break; + } + $184 = HEAP32[$12>>2]|0; + $185 = ((($184)) + 20|0); + $186 = HEAP32[$185>>2]|0; + $187 = HEAP32[$14>>2]|0; + $188 = ((($187)) + 4|0); + $189 = HEAP32[$188>>2]|0; + $190 = HEAP32[$24>>2]|0; + $191 = (($189) + (($190*12)|0)|0); + $192 = ((($191)) + 8|0); + $193 = HEAP32[$192>>2]|0; + $194 = (($186) + (($193*48)|0)|0); + $195 = ((($194)) + 32|0); + $196 = $195; + $197 = $196; + $198 = HEAP32[$197>>2]|0; + $199 = (($196) + 4)|0; + $200 = $199; + $201 = HEAP32[$200>>2]|0; + $202 = $7; + $203 = $202; + $204 = HEAP32[$203>>2]|0; + $205 = (($202) + 4)|0; + $206 = $205; + $207 = HEAP32[$206>>2]|0; + $208 = $204 ^ -1; + $209 = $207 ^ -1; + $210 = $198 & $208; + $211 = $201 & $209; + $212 = $26; + $213 = $212; + HEAP32[$213>>2] = $210; + $214 = (($212) + 4)|0; + $215 = $214; + HEAP32[$215>>2] = $211; + $216 = $26; + $217 = $216; + $218 = HEAP32[$217>>2]|0; + $219 = (($216) + 4)|0; + $220 = $219; + $221 = HEAP32[$220>>2]|0; + $222 = $22; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = ($221>>>0)>($227>>>0); + $229 = ($218>>>0)>($224>>>0); + $230 = ($221|0)==($227|0); + $231 = $230 & $229; + $232 = $228 | $231; + if ($232) { + $233 = $26; + $234 = $233; + $235 = HEAP32[$234>>2]|0; + $236 = (($233) + 4)|0; + $237 = $236; + $238 = HEAP32[$237>>2]|0; + $239 = $25; + $240 = $239; + $241 = HEAP32[$240>>2]|0; + $242 = (($239) + 4)|0; + $243 = $242; + $244 = HEAP32[$243>>2]|0; + $245 = ($238>>>0)<($244>>>0); + $246 = ($235>>>0)<($241>>>0); + $247 = ($238|0)==($244|0); + $248 = $247 & $246; + $249 = $245 | $248; + if ($249) { + $250 = $26; + $251 = $250; + $252 = HEAP32[$251>>2]|0; + $253 = (($250) + 4)|0; + $254 = $253; + $255 = HEAP32[$254>>2]|0; + $256 = $25; + $257 = $256; + HEAP32[$257>>2] = $252; + $258 = (($256) + 4)|0; + $259 = $258; + HEAP32[$259>>2] = $255; + } + } + $260 = HEAP32[$24>>2]|0; + $261 = (($260) + 1)|0; + HEAP32[$24>>2] = $261; + } + $262 = $25; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = (($262) + 4)|0; + $266 = $265; + $267 = HEAP32[$266>>2]|0; + $268 = $22; + $269 = $268; + HEAP32[$269>>2] = $264; + $270 = (($268) + 4)|0; + $271 = $270; + HEAP32[$271>>2] = $267; + $272 = $25; + $273 = $272; + $274 = HEAP32[$273>>2]|0; + $275 = (($272) + 4)|0; + $276 = $275; + $277 = HEAP32[$276>>2]|0; + $278 = ($274|0)==(-1); + $279 = ($277|0)==(-1); + $280 = $278 & $279; + if ($280) { break; } - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$p>>2] = $34; - } - if ((label|0) == 9) { - HEAP32[$0>>2] = 1; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); - } - $35 = (_sqlite3FkReferences($26)|0); - HEAP32[$p>>2] = $35; - while(1) { - $36 = HEAP32[$p>>2]|0; - $37 = ($36|0)!=(0|0); - if (!($37)) { - break L1; + $281 = $25; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + $284 = (($281) + 4)|0; + $285 = $284; + $286 = HEAP32[$285>>2]|0; + $287 = $18; + $288 = $287; + $289 = HEAP32[$288>>2]|0; + $290 = (($287) + 4)|0; + $291 = $290; + $292 = HEAP32[$291>>2]|0; + $293 = ($283|0)==($289|0); + $294 = ($286|0)==($292|0); + $295 = $293 & $294; + if ($295) { + continue; } - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$p>>2]|0; - $40 = HEAP32[$3>>2]|0; - $41 = HEAP32[$4>>2]|0; - $42 = (_fkParentIsModified($38,$39,$40,$41)|0); - $43 = ($42|0)!=(0); - if ($43) { - break; + $296 = $25; + $297 = $296; + $298 = HEAP32[$297>>2]|0; + $299 = (($296) + 4)|0; + $300 = $299; + $301 = HEAP32[$300>>2]|0; + $302 = $23; + $303 = $302; + $304 = HEAP32[$303>>2]|0; + $305 = (($302) + 4)|0; + $306 = $305; + $307 = HEAP32[$306>>2]|0; + $308 = ($298|0)==($304|0); + $309 = ($301|0)==($307|0); + $310 = $308 & $309; + if ($310) { + continue; } - $44 = HEAP32[$p>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$p>>2] = $46; + $311 = HEAP32[$6>>2]|0; + $312 = $7; + $313 = $312; + $314 = HEAP32[$313>>2]|0; + $315 = (($312) + 4)|0; + $316 = $315; + $317 = HEAP32[$316>>2]|0; + $318 = $25; + $319 = $318; + $320 = HEAP32[$319>>2]|0; + $321 = (($318) + 4)|0; + $322 = $321; + $323 = HEAP32[$322>>2]|0; + $324 = $7; + $325 = $324; + $326 = HEAP32[$325>>2]|0; + $327 = (($324) + 4)|0; + $328 = $327; + $329 = HEAP32[$328>>2]|0; + $330 = $320 | $326; + $331 = $323 | $329; + $332 = HEAP32[$14>>2]|0; + $333 = HEAP16[$19>>1]|0; + $334 = (_whereLoopAddVirtualOne($311,$314,$317,$330,$331,0,$332,$333,$16)|0); + HEAP32[$9>>2] = $334; + $335 = HEAP32[$17>>2]|0; + $336 = $335; + $337 = $336; + $338 = HEAP32[$337>>2]|0; + $339 = (($336) + 4)|0; + $340 = $339; + $341 = HEAP32[$340>>2]|0; + $342 = $7; + $343 = $342; + $344 = HEAP32[$343>>2]|0; + $345 = (($342) + 4)|0; + $346 = $345; + $347 = HEAP32[$346>>2]|0; + $348 = ($338|0)==($344|0); + $349 = ($341|0)==($347|0); + $350 = $348 & $349; + if (!($350)) { + continue; + } + HEAP32[$20>>2] = 1; + $351 = HEAP32[$16>>2]|0; + $352 = ($351|0)==(0); + if (!($352)) { + continue; + } + HEAP32[$21>>2] = 1; } - HEAP32[$0>>2] = 1; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); - } - } while(0); - HEAP32[$0>>2] = 0; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); -} -function _sqlite3MultiWrite($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pToplevel = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pToplevel = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 124|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - $5 = HEAP32[$0>>2]|0; - if ($4) { - $6 = ((($5)) + 124|0); - $7 = HEAP32[$6>>2]|0; - $8 = $7; - } else { - $8 = $5; - } - HEAP32[$pToplevel>>2] = $8; - $9 = HEAP32[$pToplevel>>2]|0; - $10 = ((($9)) + 20|0); - HEAP8[$10>>0] = 1; - STACKTOP = sp;return; -} -function _sqlite3GenerateRowDelete($pParse,$pTab,$pTrigger,$iDataCur,$iIdxCur,$iPk,$nPk,$count,$onconf,$eMode,$iIdxNoSeek) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $pTrigger = $pTrigger|0; - $iDataCur = $iDataCur|0; - $iIdxCur = $iIdxCur|0; - $iPk = $iPk|0; - $nPk = $nPk|0; - $count = $count|0; - $onconf = $onconf|0; - $eMode = $eMode|0; - $iIdxNoSeek = $iIdxNoSeek|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $addrStart = 0, $iCol = 0, $iLabel = 0, $iOld = 0, $mask = 0, $opSeek = 0, $or$cond = 0, $p5 = 0, $v = 0, label = 0, sp = 0; + $353 = HEAP32[$9>>2]|0; + $354 = ($353|0)==(0); + $355 = HEAP32[$20>>2]|0; + $356 = ($355|0)==(0); + $or$cond = $354 & $356; + if ($or$cond) { + $357 = HEAP32[$6>>2]|0; + $358 = $7; + $359 = $358; + $360 = HEAP32[$359>>2]|0; + $361 = (($358) + 4)|0; + $362 = $361; + $363 = HEAP32[$362>>2]|0; + $364 = $7; + $365 = $364; + $366 = HEAP32[$365>>2]|0; + $367 = (($364) + 4)|0; + $368 = $367; + $369 = HEAP32[$368>>2]|0; + $370 = HEAP32[$14>>2]|0; + $371 = HEAP16[$19>>1]|0; + $372 = (_whereLoopAddVirtualOne($357,$360,$363,$366,$369,0,$370,$371,$16)|0); + HEAP32[$9>>2] = $372; + $373 = HEAP32[$16>>2]|0; + $374 = ($373|0)==(0); + if ($374) { + HEAP32[$21>>2] = 1; + } + } + $375 = HEAP32[$9>>2]|0; + $376 = ($375|0)==(0); + $377 = HEAP32[$21>>2]|0; + $378 = ($377|0)==(0); + $or$cond3 = $376 & $378; + if ($or$cond3) { + $379 = HEAP32[$6>>2]|0; + $380 = $7; + $381 = $380; + $382 = HEAP32[$381>>2]|0; + $383 = (($380) + 4)|0; + $384 = $383; + $385 = HEAP32[$384>>2]|0; + $386 = $7; + $387 = $386; + $388 = HEAP32[$387>>2]|0; + $389 = (($386) + 4)|0; + $390 = $389; + $391 = HEAP32[$390>>2]|0; + $392 = HEAP32[$14>>2]|0; + $393 = HEAP16[$19>>1]|0; + $394 = (_whereLoopAddVirtualOne($379,$382,$385,$388,$391,1,$392,$393,$16)|0); + HEAP32[$9>>2] = $394; + } + } + } + $395 = HEAP32[$14>>2]|0; + $396 = ((($395)) + 28|0); + $397 = HEAP32[$396>>2]|0; + $398 = ($397|0)!=(0); + if ($398) { + $399 = HEAP32[$14>>2]|0; + $400 = ((($399)) + 24|0); + $401 = HEAP32[$400>>2]|0; + _sqlite3_free($401); + } + $402 = HEAP32[$11>>2]|0; + $403 = HEAP32[$402>>2]|0; + $404 = HEAP32[$14>>2]|0; + _sqlite3DbFree($403,$404); + $405 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $405; + $406 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($406|0); +} +function _whereLoopAddBtree($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; + var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; + var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; + var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0; + var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0; + var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0; + var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0; + var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; + var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0; + var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0; + var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0; + var $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $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 dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $5 = sp + 28|0; - $6 = sp + 52|0; - $7 = sp + 58|0; - $8 = sp + 57|0; - $9 = sp + 56|0; - $10 = sp + 24|0; - $v = sp + 20|0; - $iOld = sp + 16|0; - $iLabel = sp + 12|0; - $opSeek = sp + 55|0; - $mask = sp + 8|0; - $iCol = sp + 4|0; - $addrStart = sp; - $p5 = sp + 54|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $pTrigger; - HEAP32[$3>>2] = $iDataCur; - HEAP32[$4>>2] = $iIdxCur; - HEAP32[$5>>2] = $iPk; - HEAP16[$6>>1] = $nPk; - HEAP8[$7>>0] = $count; - HEAP8[$8>>0] = $onconf; - HEAP8[$9>>0] = $eMode; - HEAP32[$10>>2] = $iIdxNoSeek; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$v>>2] = $13; - HEAP32[$iOld>>2] = 0; - $14 = HEAP32[$v>>2]|0; - $15 = (_sqlite3VdbeMakeLabel($14)|0); - HEAP32[$iLabel>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 42|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 & 32; - $21 = ($20|0)==(0); - $22 = $21 ? 33 : 30; - $23 = $22&255; - HEAP8[$opSeek>>0] = $23; - $24 = HEAP8[$9>>0]|0; - $25 = $24&255; - $26 = ($25|0)==(0); - if ($26) { - $27 = HEAP32[$v>>2]|0; - $28 = HEAP8[$opSeek>>0]|0; - $29 = $28&255; - $30 = HEAP32[$3>>2]|0; - $31 = HEAP32[$iLabel>>2]|0; - $32 = HEAP32[$5>>2]|0; - $33 = HEAP16[$6>>1]|0; - $34 = $33 << 16 >> 16; - (_sqlite3VdbeAddOp4Int($27,$29,$30,$31,$32,$34)|0); - } - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$1>>2]|0; - $37 = (_sqlite3FkRequired($35,$36,0,0)|0); - $38 = ($37|0)!=(0); - $39 = HEAP32[$2>>2]|0; - $40 = ($39|0)!=(0|0); - $or$cond = $38 | $40; - if ($or$cond) { - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$2>>2]|0; - $43 = HEAP32[$1>>2]|0; - $44 = HEAP8[$8>>0]|0; - $45 = $44&255; - $46 = (_sqlite3TriggerColmask($41,$42,0,0,3,$43,$45)|0); - HEAP32[$mask>>2] = $46; - $47 = HEAP32[$0>>2]|0; - $48 = HEAP32[$1>>2]|0; - $49 = (_sqlite3FkOldmask($47,$48)|0); - $50 = HEAP32[$mask>>2]|0; - $51 = $50 | $49; - HEAP32[$mask>>2] = $51; - $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 44|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$iOld>>2] = $55; - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 34|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58 << 16 >> 16; - $60 = (1 + ($59))|0; - $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 44|0); - $63 = HEAP32[$62>>2]|0; - $64 = (($63) + ($60))|0; - HEAP32[$62>>2] = $64; - $65 = HEAP32[$v>>2]|0; - $66 = HEAP32[$5>>2]|0; - $67 = HEAP32[$iOld>>2]|0; - (_sqlite3VdbeAddOp2($65,84,$66,$67)|0); - HEAP32[$iCol>>2] = 0; - while(1) { - $68 = HEAP32[$iCol>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 34|0); - $71 = HEAP16[$70>>1]|0; - $72 = $71 << 16 >> 16; - $73 = ($68|0)<($72|0); - if (!($73)) { + STACKTOP = STACKTOP + 160|0; + $3 = sp + 144|0; + $4 = sp + 8|0; + $5 = sp + 140|0; + $6 = sp + 136|0; + $7 = sp + 80|0; + $8 = sp + 156|0; + $9 = sp + 154|0; + $10 = sp + 72|0; + $11 = sp + 68|0; + $12 = sp + 64|0; + $13 = sp + 60|0; + $14 = sp + 56|0; + $15 = sp + 52|0; + $16 = sp + 152|0; + $17 = sp + 150|0; + $18 = sp + 48|0; + $19 = sp + 44|0; + $20 = sp + 40|0; + $21 = sp + 36|0; + $22 = sp + 32|0; + $23 = sp; + $24 = sp + 148|0; + $25 = sp + 28|0; + $26 = sp + 24|0; + $27 = sp + 20|0; + $28 = sp + 16|0; + HEAP32[$3>>2] = $0; + $29 = $4; + $30 = $29; + HEAP32[$30>>2] = $1; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $2; + HEAP16[$9>>1] = -1; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 1; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 12|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$12>>2] = $35; + $36 = HEAP32[$3>>2]|0; + $37 = HEAP32[$36>>2]|0; + HEAP32[$5>>2] = $37; + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$10>>2] = $40; + $41 = HEAP32[$10>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP32[$12>>2]|0; + $44 = ((($43)) + 16|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = (($42) + (($46*72)|0)|0); + HEAP32[$11>>2] = $47; + $48 = HEAP32[$11>>2]|0; + $49 = ((($48)) + 16|0); + $50 = HEAP32[$49>>2]|0; + HEAP32[$19>>2] = $50; + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 4|0); + $53 = HEAP32[$52>>2]|0; + HEAP32[$18>>2] = $53; + $54 = HEAP32[$11>>2]|0; + $55 = ((($54)) + 68|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56|0)!=(0|0); + do { + if ($57) { + $58 = HEAP32[$11>>2]|0; + $59 = ((($58)) + 68|0); + $60 = HEAP32[$59>>2]|0; + HEAP32[$6>>2] = $60; + } else { + $61 = HEAP32[$19>>2]|0; + $62 = ((($61)) + 42|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = $64 & 32; + $66 = ($65|0)==(0); + if (!($66)) { + $67 = HEAP32[$19>>2]|0; + $68 = ((($67)) + 8|0); + $69 = HEAP32[$68>>2]|0; + HEAP32[$6>>2] = $69; break; } - $74 = HEAP32[$mask>>2]|0; - $75 = ($74|0)==(-1); - if ($75) { - label = 9; - } else { - $76 = HEAP32[$iCol>>2]|0; - $77 = ($76|0)<=(31); - if ($77) { - $78 = HEAP32[$mask>>2]|0; - $79 = HEAP32[$iCol>>2]|0; - $80 = 1 << $79; - $81 = $78 & $80; - $82 = ($81|0)!=(0); - if ($82) { - label = 9; + dest=$7; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $70 = ((($7)) + 50|0); + HEAP16[$70>>1] = 1; + $71 = ((($7)) + 52|0); + HEAP16[$71>>1] = 1; + $72 = ((($7)) + 4|0); + HEAP32[$72>>2] = $9; + $73 = ((($7)) + 8|0); + HEAP32[$73>>2] = $8; + $74 = ((($7)) + 54|0); + HEAP8[$74>>0] = 5; + $75 = HEAP32[$19>>2]|0; + $76 = ((($7)) + 12|0); + HEAP32[$76>>2] = $75; + $77 = HEAP32[$19>>2]|0; + $78 = ((($77)) + 40|0); + $79 = HEAP16[$78>>1]|0; + $80 = ((($7)) + 48|0); + HEAP16[$80>>1] = $79; + $81 = HEAP32[$19>>2]|0; + $82 = ((($81)) + 38|0); + $83 = HEAP16[$82>>1]|0; + HEAP16[$8>>1] = $83; + $84 = ((($8)) + 2|0); + HEAP16[$84>>1] = 0; + $85 = HEAP32[$11>>2]|0; + $86 = ((($85)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($87)) + 8|0); + $89 = HEAP32[$88>>2]|0; + HEAP32[$20>>2] = $89; + $90 = HEAP32[$11>>2]|0; + $91 = ((($90)) + 36|0); + $92 = ((($91)) + 1|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93 & 1; + $95 = $94&255; + $96 = ($95|0)==(0); + if ($96) { + $97 = HEAP32[$20>>2]|0; + $98 = ((($7)) + 20|0); + HEAP32[$98>>2] = $97; + } + HEAP32[$6>>2] = $7; + } + } while(0); + $99 = HEAP32[$19>>2]|0; + $100 = ((($99)) + 38|0); + $101 = HEAP16[$100>>1]|0; + HEAP16[$16>>1] = $101; + $102 = HEAP16[$16>>1]|0; + $103 = (_estLog($102)|0); + HEAP16[$17>>1] = $103; + $104 = HEAP32[$3>>2]|0; + $105 = ((($104)) + 16|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)!=(0|0); + L11: do { + if (!($107)) { + $108 = HEAP32[$5>>2]|0; + $109 = ((($108)) + 40|0); + $110 = HEAP16[$109>>1]|0; + $111 = $110&65535; + $112 = $111 & 32; + $113 = ($112|0)==(0); + if ($113) { + $114 = HEAP32[$5>>2]|0; + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$115>>2]|0; + $117 = ((($116)) + 24|0); + $118 = HEAP32[$117>>2]|0; + $119 = $118 & 1048576; + $120 = ($119|0)!=(0); + if ($120) { + $121 = HEAP32[$11>>2]|0; + $122 = ((($121)) + 68|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { + $125 = HEAP32[$11>>2]|0; + $126 = ((($125)) + 36|0); + $127 = ((($126)) + 1|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128 & 1; + $130 = $129&255; + $131 = ($130|0)!=(0); + if (!($131)) { + $132 = HEAP32[$19>>2]|0; + $133 = ((($132)) + 42|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134&255; + $136 = $135 & 32; + $137 = ($136|0)==(0); + if ($137) { + $138 = HEAP32[$11>>2]|0; + $139 = ((($138)) + 36|0); + $140 = ((($139)) + 1|0); + $141 = HEAP8[$140>>0]|0; + $142 = ($141&255) >>> 3; + $143 = $142 & 1; + $144 = $143&255; + $145 = ($144|0)!=(0); + if (!($145)) { + $146 = HEAP32[$11>>2]|0; + $147 = ((($146)) + 36|0); + $148 = ((($147)) + 1|0); + $149 = HEAP8[$148>>0]|0; + $150 = ($149&255) >>> 5; + $151 = $150 & 1; + $152 = $151&255; + $153 = ($152|0)!=(0); + if (!($153)) { + $154 = HEAP32[$18>>2]|0; + $155 = ((($154)) + 20|0); + $156 = HEAP32[$155>>2]|0; + $157 = HEAP32[$18>>2]|0; + $158 = ((($157)) + 12|0); + $159 = HEAP32[$158>>2]|0; + $160 = (($156) + (($159*48)|0)|0); + HEAP32[$22>>2] = $160; + $161 = HEAP32[$18>>2]|0; + $162 = ((($161)) + 20|0); + $163 = HEAP32[$162>>2]|0; + HEAP32[$21>>2] = $163; + while(1) { + $164 = HEAP32[$13>>2]|0; + $165 = ($164|0)==(0); + if (!($165)) { + break L11; + } + $166 = HEAP32[$21>>2]|0; + $167 = HEAP32[$22>>2]|0; + $168 = ($166>>>0)<($167>>>0); + if (!($168)) { + break L11; + } + $169 = HEAP32[$21>>2]|0; + $170 = ((($169)) + 32|0); + $171 = $170; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = HEAP32[$12>>2]|0; + $178 = ((($177)) + 8|0); + $179 = $178; + $180 = $179; + $181 = HEAP32[$180>>2]|0; + $182 = (($179) + 4)|0; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = $173 & $181; + $186 = $176 & $184; + $187 = ($185|0)!=(0); + $188 = ($186|0)!=(0); + $189 = $187 | $188; + if (!($189)) { + $190 = HEAP32[$21>>2]|0; + $191 = HEAP32[$11>>2]|0; + $192 = (_termCanDriveIndex($190,$191,0,0)|0); + $193 = ($192|0)!=(0); + if ($193) { + $194 = HEAP32[$12>>2]|0; + $195 = ((($194)) + 24|0); + HEAP16[$195>>1] = 1; + $196 = HEAP32[$12>>2]|0; + $197 = ((($196)) + 42|0); + HEAP16[$197>>1] = 0; + $198 = HEAP32[$12>>2]|0; + $199 = ((($198)) + 24|0); + $200 = ((($199)) + 8|0); + HEAP32[$200>>2] = 0; + $201 = HEAP32[$12>>2]|0; + $202 = ((($201)) + 40|0); + HEAP16[$202>>1] = 1; + $203 = HEAP32[$21>>2]|0; + $204 = HEAP32[$12>>2]|0; + $205 = ((($204)) + 48|0); + $206 = HEAP32[$205>>2]|0; + HEAP32[$206>>2] = $203; + $207 = HEAP16[$17>>1]|0; + $208 = $207 << 16 >> 16; + $209 = HEAP16[$16>>1]|0; + $210 = $209 << 16 >> 16; + $211 = (($208) + ($210))|0; + $212 = (($211) + 4)|0; + $213 = $212&65535; + $214 = HEAP32[$12>>2]|0; + $215 = ((($214)) + 18|0); + HEAP16[$215>>1] = $213; + $216 = HEAP32[$19>>2]|0; + $217 = ((($216)) + 12|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($218|0)==(0|0); + if ($219) { + $220 = HEAP32[$19>>2]|0; + $221 = ((($220)) + 42|0); + $222 = HEAP8[$221>>0]|0; + $223 = $222&255; + $224 = $223 & 2; + $225 = ($224|0)==(0); + if ($225) { + $226 = HEAP32[$12>>2]|0; + $227 = ((($226)) + 18|0); + $228 = HEAP16[$227>>1]|0; + $229 = $228 << 16 >> 16; + $230 = (($229) + 24)|0; + $231 = $230&65535; + HEAP16[$227>>1] = $231; + } + } + $232 = HEAP32[$12>>2]|0; + $233 = ((($232)) + 18|0); + $234 = HEAP16[$233>>1]|0; + $235 = $234 << 16 >> 16; + $236 = ($235|0)<(0); + if ($236) { + $237 = HEAP32[$12>>2]|0; + $238 = ((($237)) + 18|0); + HEAP16[$238>>1] = 0; + } + $239 = HEAP32[$12>>2]|0; + $240 = ((($239)) + 22|0); + HEAP16[$240>>1] = 43; + $241 = HEAP16[$17>>1]|0; + $242 = HEAP32[$12>>2]|0; + $243 = ((($242)) + 22|0); + $244 = HEAP16[$243>>1]|0; + $245 = (_sqlite3LogEstAdd($241,$244)|0); + $246 = HEAP32[$12>>2]|0; + $247 = ((($246)) + 20|0); + HEAP16[$247>>1] = $245; + $248 = HEAP32[$12>>2]|0; + $249 = ((($248)) + 36|0); + HEAP32[$249>>2] = 16384; + $250 = $4; + $251 = $250; + $252 = HEAP32[$251>>2]|0; + $253 = (($250) + 4)|0; + $254 = $253; + $255 = HEAP32[$254>>2]|0; + $256 = HEAP32[$21>>2]|0; + $257 = ((($256)) + 32|0); + $258 = $257; + $259 = $258; + $260 = HEAP32[$259>>2]|0; + $261 = (($258) + 4)|0; + $262 = $261; + $263 = HEAP32[$262>>2]|0; + $264 = $252 | $260; + $265 = $255 | $263; + $266 = HEAP32[$12>>2]|0; + $267 = $266; + $268 = $267; + HEAP32[$268>>2] = $264; + $269 = (($267) + 4)|0; + $270 = $269; + HEAP32[$270>>2] = $265; + $271 = HEAP32[$3>>2]|0; + $272 = HEAP32[$12>>2]|0; + $273 = (_whereLoopInsert($271,$272)|0); + HEAP32[$13>>2] = $273; + } + } + $274 = HEAP32[$21>>2]|0; + $275 = ((($274)) + 48|0); + HEAP32[$21>>2] = $275; + } + } + } + } + } } } } - if ((label|0) == 9) { - label = 0; - $83 = HEAP32[$v>>2]|0; - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$3>>2]|0; - $86 = HEAP32[$iCol>>2]|0; - $87 = HEAP32[$iOld>>2]|0; - $88 = HEAP32[$iCol>>2]|0; - $89 = (($87) + ($88))|0; - $90 = (($89) + 1)|0; - _sqlite3ExprCodeGetColumnOfTable($83,$84,$85,$86,$90); - } - $91 = HEAP32[$iCol>>2]|0; - $92 = (($91) + 1)|0; - HEAP32[$iCol>>2] = $92; - } - $93 = HEAP32[$v>>2]|0; - $94 = (_sqlite3VdbeCurrentAddr($93)|0); - HEAP32[$addrStart>>2] = $94; - $95 = HEAP32[$0>>2]|0; - $96 = HEAP32[$2>>2]|0; - $97 = HEAP32[$1>>2]|0; - $98 = HEAP32[$iOld>>2]|0; - $99 = HEAP8[$8>>0]|0; - $100 = $99&255; - $101 = HEAP32[$iLabel>>2]|0; - _sqlite3CodeRowTrigger($95,$96,109,0,1,$97,$98,$100,$101); - $102 = HEAP32[$addrStart>>2]|0; - $103 = HEAP32[$v>>2]|0; - $104 = (_sqlite3VdbeCurrentAddr($103)|0); - $105 = ($102|0)<($104|0); - if ($105) { - $106 = HEAP32[$v>>2]|0; - $107 = HEAP8[$opSeek>>0]|0; - $108 = $107&255; - $109 = HEAP32[$3>>2]|0; - $110 = HEAP32[$iLabel>>2]|0; - $111 = HEAP32[$5>>2]|0; - $112 = HEAP16[$6>>1]|0; - $113 = $112 << 16 >> 16; - (_sqlite3VdbeAddOp4Int($106,$108,$109,$110,$111,$113)|0); } - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$1>>2]|0; - $116 = HEAP32[$iOld>>2]|0; - _sqlite3FkCheck($114,$115,$116,0,0,0); - } - $117 = HEAP32[$1>>2]|0; - $118 = ((($117)) + 12|0); - $119 = HEAP32[$118>>2]|0; - $120 = ($119|0)==(0|0); - if (!($120)) { - $151 = HEAP32[$0>>2]|0; - $152 = HEAP32[$1>>2]|0; - $153 = HEAP32[$iOld>>2]|0; - _sqlite3FkActions($151,$152,0,$153,0,0); - $154 = HEAP32[$0>>2]|0; - $155 = HEAP32[$2>>2]|0; - $156 = HEAP32[$1>>2]|0; - $157 = HEAP32[$iOld>>2]|0; - $158 = HEAP8[$8>>0]|0; - $159 = $158&255; - $160 = HEAP32[$iLabel>>2]|0; - _sqlite3CodeRowTrigger($154,$155,109,0,2,$156,$157,$159,$160); - $161 = HEAP32[$v>>2]|0; - $162 = HEAP32[$iLabel>>2]|0; - _sqlite3VdbeResolveLabel($161,$162); - STACKTOP = sp;return; - } - HEAP8[$p5>>0] = 0; - $121 = HEAP32[$0>>2]|0; - $122 = HEAP32[$1>>2]|0; - $123 = HEAP32[$3>>2]|0; - $124 = HEAP32[$4>>2]|0; - $125 = HEAP32[$10>>2]|0; - _sqlite3GenerateRowIndexDelete($121,$122,$123,$124,0,$125); - $126 = HEAP32[$v>>2]|0; - $127 = HEAP32[$3>>2]|0; - $128 = HEAP8[$7>>0]|0; - $129 = $128&255; - $130 = ($129|0)!=(0); - $131 = $130 ? 1 : 0; - (_sqlite3VdbeAddOp2($126,117,$127,$131)|0); - $132 = HEAP32[$v>>2]|0; - $133 = HEAP32[$1>>2]|0; - _sqlite3VdbeChangeP4($132,-1,$133,-20); - $134 = HEAP8[$9>>0]|0; - $135 = $134&255; - $136 = ($135|0)!=(0); - if ($136) { - $137 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($137,4); - } - $138 = HEAP32[$10>>2]|0; - $139 = ($138|0)>=(0); - if ($139) { - $140 = HEAP32[$v>>2]|0; - $141 = HEAP32[$10>>2]|0; - (_sqlite3VdbeAddOp1($140,117,$141)|0); - } - $142 = HEAP8[$9>>0]|0; - $143 = $142&255; - $144 = ($143|0)==(2); - if ($144) { - $145 = HEAP8[$p5>>0]|0; - $146 = $145&255; - $147 = $146 | 2; - $148 = $147&255; - HEAP8[$p5>>0] = $148; - } - $149 = HEAP32[$v>>2]|0; - $150 = HEAP8[$p5>>0]|0; - _sqlite3VdbeChangeP5($149,$150); - $151 = HEAP32[$0>>2]|0; - $152 = HEAP32[$1>>2]|0; - $153 = HEAP32[$iOld>>2]|0; - _sqlite3FkActions($151,$152,0,$153,0,0); - $154 = HEAP32[$0>>2]|0; - $155 = HEAP32[$2>>2]|0; - $156 = HEAP32[$1>>2]|0; - $157 = HEAP32[$iOld>>2]|0; - $158 = HEAP8[$8>>0]|0; - $159 = $158&255; - $160 = HEAP32[$iLabel>>2]|0; - _sqlite3CodeRowTrigger($154,$155,109,0,2,$156,$157,$159,$160); - $161 = HEAP32[$v>>2]|0; - $162 = HEAP32[$iLabel>>2]|0; - _sqlite3VdbeResolveLabel($161,$162); - STACKTOP = sp;return; -} -function _sqlite3GenerateRowIndexDelete($pParse,$pTab,$iDataCur,$iIdxCur,$aRegIdx,$iIdxNoSeek) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $iDataCur = $iDataCur|0; - $iIdxCur = $iIdxCur|0; - $aRegIdx = $aRegIdx|0; - $iIdxNoSeek = $iIdxNoSeek|0; - var $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iPartIdxLabel = 0, $pIdx = 0, $pPk = 0, $pPrior = 0, $r1 = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $5 = sp + 28|0; - $i = sp + 24|0; - $r1 = sp + 20|0; - $iPartIdxLabel = sp + 16|0; - $pIdx = sp + 12|0; - $pPrior = sp + 8|0; - $v = sp + 4|0; - $pPk = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $iDataCur; - HEAP32[$3>>2] = $iIdxCur; - HEAP32[$4>>2] = $aRegIdx; - HEAP32[$5>>2] = $iIdxNoSeek; - HEAP32[$r1>>2] = -1; - HEAP32[$pPrior>>2] = 0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$v>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 42|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 & 32; - $14 = ($13|0)==(0); - if ($14) { - $17 = 0; - } else { - $15 = HEAP32[$1>>2]|0; - $16 = (_sqlite3PrimaryKeyIndex($15)|0); - $17 = $16; - } - HEAP32[$pPk>>2] = $17; - HEAP32[$i>>2] = 0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pIdx>>2] = $20; - while(1) { - $21 = HEAP32[$pIdx>>2]|0; - $22 = ($21|0)!=(0|0); - if (!($22)) { + } while(0); + L35: while(1) { + $276 = HEAP32[$13>>2]|0; + $277 = ($276|0)==(0); + $278 = HEAP32[$6>>2]|0; + $279 = ($278|0)!=(0|0); + $280 = $277 ? $279 : 0; + if (!($280)) { + label = 57; break; } - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$4>>2]|0; - $27 = (($26) + ($25<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==(0); - if (!($29)) { - label = 7; + $281 = HEAP32[$6>>2]|0; + $282 = ((($281)) + 36|0); + $283 = HEAP32[$282>>2]|0; + $284 = ($283|0)!=(0|0); + if ($284) { + $285 = HEAP32[$11>>2]|0; + $286 = ((($285)) + 44|0); + $287 = HEAP32[$286>>2]|0; + $288 = HEAP32[$18>>2]|0; + $289 = HEAP32[$6>>2]|0; + $290 = ((($289)) + 36|0); + $291 = HEAP32[$290>>2]|0; + $292 = (_whereUsablePartialIndex($287,$288,$291)|0); + $293 = ($292|0)!=(0); + if ($293) { + label = 31; } } else { - label = 7; + label = 31; } - if ((label|0) == 7) { + if ((label|0) == 31) { label = 0; - $30 = HEAP32[$pIdx>>2]|0; - $31 = HEAP32[$pPk>>2]|0; - $32 = ($30|0)==($31|0); - if (!($32)) { - $33 = HEAP32[$3>>2]|0; - $34 = HEAP32[$i>>2]|0; - $35 = (($33) + ($34))|0; - $36 = HEAP32[$5>>2]|0; - $37 = ($35|0)==($36|0); - if (!($37)) { - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$pIdx>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = HEAP32[$pPrior>>2]|0; - $42 = HEAP32[$r1>>2]|0; - $43 = (_sqlite3GenerateIndexKey($38,$39,$40,0,1,$iPartIdxLabel,$41,$42)|0); - HEAP32[$r1>>2] = $43; - $44 = HEAP32[$v>>2]|0; - $45 = HEAP32[$3>>2]|0; - $46 = HEAP32[$i>>2]|0; - $47 = (($45) + ($46))|0; - $48 = HEAP32[$r1>>2]|0; - $49 = HEAP32[$pIdx>>2]|0; - $50 = ((($49)) + 55|0); - $51 = HEAP8[$50>>0]|0; - $52 = ($51&255) >>> 3; - $53 = $52 & 1; - $54 = $53&255; - $55 = ($54|0)!=(0); - $56 = HEAP32[$pIdx>>2]|0; - if ($55) { - $57 = ((($56)) + 50|0); - $58 = HEAP16[$57>>1]|0; - $$sink = $58; + $294 = HEAP32[$6>>2]|0; + $295 = ((($294)) + 8|0); + $296 = HEAP32[$295>>2]|0; + $297 = HEAP16[$296>>1]|0; + HEAP16[$16>>1] = $297; + $298 = HEAP32[$12>>2]|0; + $299 = ((($298)) + 24|0); + HEAP16[$299>>1] = 0; + $300 = HEAP32[$12>>2]|0; + $301 = ((($300)) + 24|0); + $302 = ((($301)) + 2|0); + HEAP16[$302>>1] = 0; + $303 = HEAP32[$12>>2]|0; + $304 = ((($303)) + 24|0); + $305 = ((($304)) + 4|0); + HEAP16[$305>>1] = 0; + $306 = HEAP32[$12>>2]|0; + $307 = ((($306)) + 42|0); + HEAP16[$307>>1] = 0; + $308 = HEAP32[$12>>2]|0; + $309 = ((($308)) + 40|0); + HEAP16[$309>>1] = 0; + $310 = HEAP32[$12>>2]|0; + $311 = ((($310)) + 17|0); + HEAP8[$311>>0] = 0; + $312 = HEAP32[$12>>2]|0; + $313 = ((($312)) + 18|0); + HEAP16[$313>>1] = 0; + $314 = $4; + $315 = $314; + $316 = HEAP32[$315>>2]|0; + $317 = (($314) + 4)|0; + $318 = $317; + $319 = HEAP32[$318>>2]|0; + $320 = HEAP32[$12>>2]|0; + $321 = $320; + $322 = $321; + HEAP32[$322>>2] = $316; + $323 = (($321) + 4)|0; + $324 = $323; + HEAP32[$324>>2] = $319; + $325 = HEAP16[$16>>1]|0; + $326 = HEAP32[$12>>2]|0; + $327 = ((($326)) + 22|0); + HEAP16[$327>>1] = $325; + $328 = HEAP32[$6>>2]|0; + $329 = HEAP32[$12>>2]|0; + $330 = ((($329)) + 24|0); + $331 = ((($330)) + 8|0); + HEAP32[$331>>2] = $328; + $332 = HEAP32[$3>>2]|0; + $333 = HEAP32[$6>>2]|0; + $334 = HEAP32[$11>>2]|0; + $335 = ((($334)) + 44|0); + $336 = HEAP32[$335>>2]|0; + $337 = (_indexMightHelpWithOrderBy($332,$333,$336)|0); + HEAP32[$15>>2] = $337; + $338 = HEAP32[$6>>2]|0; + $339 = ((($338)) + 44|0); + $340 = HEAP32[$339>>2]|0; + $341 = ($340|0)<=(0); + do { + if ($341) { + $342 = HEAP32[$12>>2]|0; + $343 = ((($342)) + 36|0); + HEAP32[$343>>2] = 256; + $344 = HEAP32[$15>>2]|0; + $345 = ($344|0)!=(0); + $346 = HEAP32[$14>>2]|0; + $347 = $345 ? $346 : 0; + $348 = $347&255; + $349 = HEAP32[$12>>2]|0; + $350 = ((($349)) + 17|0); + HEAP8[$350>>0] = $348; + $351 = HEAP16[$16>>1]|0; + $352 = $351 << 16 >> 16; + $353 = (($352) + 16)|0; + $354 = $353&65535; + $355 = HEAP32[$12>>2]|0; + $356 = ((($355)) + 20|0); + HEAP16[$356>>1] = $354; + $357 = HEAP32[$18>>2]|0; + $358 = HEAP32[$12>>2]|0; + $359 = HEAP16[$16>>1]|0; + _whereLoopOutputAdjust($357,$358,$359); + $360 = HEAP32[$3>>2]|0; + $361 = HEAP32[$12>>2]|0; + $362 = (_whereLoopInsert($360,$361)|0); + HEAP32[$13>>2] = $362; + $363 = HEAP16[$16>>1]|0; + $364 = HEAP32[$12>>2]|0; + $365 = ((($364)) + 22|0); + HEAP16[$365>>1] = $363; + $366 = HEAP32[$13>>2]|0; + $367 = ($366|0)!=(0); + if ($367) { + label = 57; + break L35; + } + } else { + $368 = HEAP32[$6>>2]|0; + $369 = ((($368)) + 55|0); + $370 = HEAP8[$369>>0]|0; + $371 = ($370&255) >>> 5; + $372 = $371 & 1; + $373 = $372&255; + $374 = ($373|0)!=(0); + if ($374) { + $375 = HEAP32[$12>>2]|0; + $376 = ((($375)) + 36|0); + HEAP32[$376>>2] = 576; + $377 = $23; + $378 = $377; + HEAP32[$378>>2] = 0; + $379 = (($377) + 4)|0; + $380 = $379; + HEAP32[$380>>2] = 0; } else { - $59 = ((($56)) + 52|0); - $60 = HEAP16[$59>>1]|0; - $$sink = $60; + $381 = HEAP32[$11>>2]|0; + $382 = ((($381)) + 56|0); + $383 = $382; + $384 = $383; + $385 = HEAP32[$384>>2]|0; + $386 = (($383) + 4)|0; + $387 = $386; + $388 = HEAP32[$387>>2]|0; + $389 = HEAP32[$6>>2]|0; + $390 = (_columnsInIndex($389)|0); + $391 = tempRet0; + $392 = $390 ^ -1; + $393 = $391 ^ -1; + $394 = $385 & $392; + $395 = $388 & $393; + $396 = $23; + $397 = $396; + HEAP32[$397>>2] = $394; + $398 = (($396) + 4)|0; + $399 = $398; + HEAP32[$399>>2] = $395; + $400 = $23; + $401 = $400; + $402 = HEAP32[$401>>2]|0; + $403 = (($400) + 4)|0; + $404 = $403; + $405 = HEAP32[$404>>2]|0; + $406 = ($402|0)==(0); + $407 = ($405|0)==(0); + $408 = $406 & $407; + $409 = $408 ? 576 : 512; + $410 = HEAP32[$12>>2]|0; + $411 = ((($410)) + 36|0); + HEAP32[$411>>2] = $409; + } + $412 = HEAP32[$15>>2]|0; + $413 = ($412|0)!=(0); + if (!($413)) { + $414 = HEAP32[$19>>2]|0; + $415 = ((($414)) + 42|0); + $416 = HEAP8[$415>>0]|0; + $417 = $416&255; + $418 = $417 & 32; + $419 = ($418|0)==(0); + if ($419) { + $420 = HEAP32[$6>>2]|0; + $421 = ((($420)) + 36|0); + $422 = HEAP32[$421>>2]|0; + $423 = ($422|0)!=(0|0); + if (!($423)) { + $424 = $23; + $425 = $424; + $426 = HEAP32[$425>>2]|0; + $427 = (($424) + 4)|0; + $428 = $427; + $429 = HEAP32[$428>>2]|0; + $430 = ($426|0)==(0); + $431 = ($429|0)==(0); + $432 = $430 & $431; + if (!($432)) { + break; + } + $433 = HEAP32[$6>>2]|0; + $434 = ((($433)) + 55|0); + $435 = HEAP8[$434>>0]|0; + $436 = ($435&255) >>> 2; + $437 = $436 & 1; + $438 = $437&255; + $439 = ($438|0)==(0); + if (!($439)) { + break; + } + $440 = HEAP32[$6>>2]|0; + $441 = ((($440)) + 48|0); + $442 = HEAP16[$441>>1]|0; + $443 = $442 << 16 >> 16; + $444 = HEAP32[$19>>2]|0; + $445 = ((($444)) + 40|0); + $446 = HEAP16[$445>>1]|0; + $447 = $446 << 16 >> 16; + $448 = ($443|0)<($447|0); + if (!($448)) { + break; + } + $449 = HEAP32[$5>>2]|0; + $450 = ((($449)) + 40|0); + $451 = HEAP16[$450>>1]|0; + $452 = $451&65535; + $453 = $452 & 4; + $454 = ($453|0)==(0); + $455 = HEAP32[(24)>>2]|0; + $456 = ($455|0)!=(0); + $or$cond = $454 & $456; + if (!($or$cond)) { + break; + } + $457 = HEAP32[$5>>2]|0; + $458 = HEAP32[$457>>2]|0; + $459 = HEAP32[$458>>2]|0; + $460 = ((($459)) + 64|0); + $461 = HEAP16[$460>>1]|0; + $462 = $461&65535; + $463 = $462 & 64; + $464 = ($463|0)==(0); + if (!($464)) { + break; + } + } + } + } + $465 = HEAP32[$15>>2]|0; + $466 = ($465|0)!=(0); + $467 = HEAP32[$14>>2]|0; + $468 = $466 ? $467 : 0; + $469 = $468&255; + $470 = HEAP32[$12>>2]|0; + $471 = ((($470)) + 17|0); + HEAP8[$471>>0] = $469; + $472 = HEAP16[$16>>1]|0; + $473 = $472 << 16 >> 16; + $474 = (($473) + 1)|0; + $475 = HEAP32[$6>>2]|0; + $476 = ((($475)) + 48|0); + $477 = HEAP16[$476>>1]|0; + $478 = $477 << 16 >> 16; + $479 = ($478*15)|0; + $480 = HEAP32[$19>>2]|0; + $481 = ((($480)) + 40|0); + $482 = HEAP16[$481>>1]|0; + $483 = $482 << 16 >> 16; + $484 = (($479|0) / ($483|0))&-1; + $485 = (($474) + ($484))|0; + $486 = $485&65535; + $487 = HEAP32[$12>>2]|0; + $488 = ((($487)) + 20|0); + HEAP16[$488>>1] = $486; + $489 = $23; + $490 = $489; + $491 = HEAP32[$490>>2]|0; + $492 = (($489) + 4)|0; + $493 = $492; + $494 = HEAP32[$493>>2]|0; + $495 = ($491|0)!=(0); + $496 = ($494|0)!=(0); + $497 = $495 | $496; + if ($497) { + $498 = HEAP16[$16>>1]|0; + $499 = $498 << 16 >> 16; + $500 = (($499) + 16)|0; + $501 = $500&65535; + HEAP16[$24>>1] = $501; + $502 = HEAP32[$11>>2]|0; + $503 = ((($502)) + 44|0); + $504 = HEAP32[$503>>2]|0; + HEAP32[$26>>2] = $504; + $505 = HEAP32[$5>>2]|0; + $506 = ((($505)) + 80|0); + HEAP32[$27>>2] = $506; + HEAP32[$25>>2] = 0; + while(1) { + $507 = HEAP32[$25>>2]|0; + $508 = HEAP32[$27>>2]|0; + $509 = ((($508)) + 12|0); + $510 = HEAP32[$509>>2]|0; + $511 = ($507|0)<($510|0); + if (!($511)) { + break; + } + $512 = HEAP32[$27>>2]|0; + $513 = ((($512)) + 20|0); + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[$25>>2]|0; + $516 = (($514) + (($515*48)|0)|0); + HEAP32[$28>>2] = $516; + $517 = HEAP32[$28>>2]|0; + $518 = HEAP32[$517>>2]|0; + $519 = HEAP32[$26>>2]|0; + $520 = HEAP32[$6>>2]|0; + $521 = (_sqlite3ExprCoveredByIndex($518,$519,$520)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + break; + } + $523 = HEAP32[$28>>2]|0; + $524 = ((($523)) + 8|0); + $525 = HEAP16[$524>>1]|0; + $526 = $525 << 16 >> 16; + $527 = ($526|0)<=(0); + if ($527) { + $528 = HEAP32[$28>>2]|0; + $529 = ((($528)) + 8|0); + $530 = HEAP16[$529>>1]|0; + $531 = $530 << 16 >> 16; + $532 = HEAP16[$24>>1]|0; + $533 = $532 << 16 >> 16; + $534 = (($533) + ($531))|0; + $535 = $534&65535; + HEAP16[$24>>1] = $535; + } else { + $536 = HEAP16[$24>>1]|0; + $537 = (($536) + -1)<<16>>16; + HEAP16[$24>>1] = $537; + $538 = HEAP32[$28>>2]|0; + $539 = ((($538)) + 12|0); + $540 = HEAP16[$539>>1]|0; + $541 = $540&65535; + $542 = $541 & 130; + $543 = ($542|0)!=(0); + if ($543) { + $544 = HEAP16[$24>>1]|0; + $545 = $544 << 16 >> 16; + $546 = (($545) - 19)|0; + $547 = $546&65535; + HEAP16[$24>>1] = $547; + } + } + $548 = HEAP32[$25>>2]|0; + $549 = (($548) + 1)|0; + HEAP32[$25>>2] = $549; + } + $550 = HEAP32[$12>>2]|0; + $551 = ((($550)) + 20|0); + $552 = HEAP16[$551>>1]|0; + $553 = HEAP16[$24>>1]|0; + $554 = (_sqlite3LogEstAdd($552,$553)|0); + $555 = HEAP32[$12>>2]|0; + $556 = ((($555)) + 20|0); + HEAP16[$556>>1] = $554; + } + $557 = HEAP32[$18>>2]|0; + $558 = HEAP32[$12>>2]|0; + $559 = HEAP16[$16>>1]|0; + _whereLoopOutputAdjust($557,$558,$559); + $560 = HEAP32[$3>>2]|0; + $561 = HEAP32[$12>>2]|0; + $562 = (_whereLoopInsert($560,$561)|0); + HEAP32[$13>>2] = $562; + $563 = HEAP16[$16>>1]|0; + $564 = HEAP32[$12>>2]|0; + $565 = ((($564)) + 22|0); + HEAP16[$565>>1] = $563; + $566 = HEAP32[$13>>2]|0; + $567 = ($566|0)!=(0); + if ($567) { + label = 57; + break L35; } - $61 = $$sink&65535; - (_sqlite3VdbeAddOp3($44,127,$47,$48,$61)|0); - $62 = HEAP32[$0>>2]|0; - $63 = HEAP32[$iPartIdxLabel>>2]|0; - _sqlite3ResolvePartIdxLabel($62,$63); - $64 = HEAP32[$pIdx>>2]|0; - HEAP32[$pPrior>>2] = $64; } + } while(0); + $568 = HEAP32[$3>>2]|0; + $569 = HEAP32[$11>>2]|0; + $570 = HEAP32[$6>>2]|0; + $571 = (_whereLoopAddBtreeIndex($568,$569,$570,0)|0); + HEAP32[$13>>2] = $571; + $572 = HEAP32[$11>>2]|0; + $573 = ((($572)) + 68|0); + $574 = HEAP32[$573>>2]|0; + $575 = ($574|0)!=(0|0); + if ($575) { + label = 57; + break; } } - $65 = HEAP32[$i>>2]|0; - $66 = (($65) + 1)|0; - HEAP32[$i>>2] = $66; - $67 = HEAP32[$pIdx>>2]|0; - $68 = ((($67)) + 20|0); - $69 = HEAP32[$68>>2]|0; - HEAP32[$pIdx>>2] = $69; + $576 = HEAP32[$6>>2]|0; + $577 = ((($576)) + 20|0); + $578 = HEAP32[$577>>2]|0; + HEAP32[$6>>2] = $578; + $579 = HEAP32[$14>>2]|0; + $580 = (($579) + 1)|0; + HEAP32[$14>>2] = $580; } - STACKTOP = sp;return; + if ((label|0) == 57) { + $581 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($581|0); + } + return (0)|0; } -function _sqlite3TriggerColmask($pParse,$pTrigger,$pChanges,$isNew,$tr_tm,$pTab,$orconf) { - $pParse = $pParse|0; - $pTrigger = $pTrigger|0; - $pChanges = $pChanges|0; - $isNew = $isNew|0; - $tr_tm = $tr_tm|0; - $pTab = $pTab|0; - $orconf = $orconf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $mask = 0, $op = 0, $p = 0, $pPrg = 0, label = 0, sp = 0; +function _whereLoopAddOr($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $5 = sp + 20|0; - $6 = sp + 16|0; - $op = sp + 12|0; - $mask = sp + 8|0; - $p = sp + 4|0; - $pPrg = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTrigger; - HEAP32[$2>>2] = $pChanges; - HEAP32[$3>>2] = $isNew; - HEAP32[$4>>2] = $tr_tm; - HEAP32[$5>>2] = $pTab; - HEAP32[$6>>2] = $orconf; - $7 = HEAP32[$2>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = $8 ? 110 : 109; - HEAP32[$op>>2] = $9; - HEAP32[$mask>>2] = 0; - $10 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $10; + STACKTOP = STACKTOP + 672|0; + $5 = sp + 668|0; + $6 = sp + 584|0; + $7 = sp + 576|0; + $8 = sp + 664|0; + $9 = sp + 660|0; + $10 = sp + 656|0; + $11 = sp + 652|0; + $12 = sp + 648|0; + $13 = sp + 644|0; + $14 = sp + 640|0; + $15 = sp + 168|0; + $16 = sp + 620|0; + $17 = sp + 112|0; + $18 = sp + 56|0; + $19 = sp + 616|0; + $20 = sp + 612|0; + $21 = sp + 608|0; + $22 = sp + 604|0; + $23 = sp + 600|0; + $24 = sp + 596|0; + $25 = sp + 592|0; + $26 = sp; + HEAP32[$5>>2] = $0; + $27 = $6; + $28 = $27; + HEAP32[$28>>2] = $1; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $2; + $31 = $7; + $32 = $31; + HEAP32[$32>>2] = $3; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $4; + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$35>>2]|0; + HEAP32[$8>>2] = $36; + HEAP32[$13>>2] = 0; + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$9>>2] = $39; + $40 = HEAP32[$9>>2]|0; + $41 = ((($40)) + 20|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($42) + (($45*48)|0)|0); + HEAP32[$12>>2] = $46; + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 12|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$10>>2] = $49; + dest=$17; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $50 = HEAP32[$8>>2]|0; + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 8|0); + $54 = HEAP32[$10>>2]|0; + $55 = ((($54)) + 16|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = (($53) + (($57*72)|0)|0); + HEAP32[$19>>2] = $58; + $59 = HEAP32[$19>>2]|0; + $60 = ((($59)) + 44|0); + $61 = HEAP32[$60>>2]|0; + HEAP32[$14>>2] = $61; + $62 = HEAP32[$9>>2]|0; + $63 = ((($62)) + 20|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$11>>2] = $64; while(1) { - $11 = HEAP32[$p>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { + $65 = HEAP32[$11>>2]|0; + $66 = HEAP32[$12>>2]|0; + $67 = ($65>>>0)<($66>>>0); + $68 = HEAP32[$13>>2]|0; + $69 = ($68|0)==(0); + $70 = $67 ? $69 : 0; + if (!($70)) { break; } - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = HEAP32[$op>>2]|0; - $18 = ($16|0)==($17|0); - if ($18) { - $19 = HEAP32[$4>>2]|0; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 9|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = $19 & $23; - $25 = ($24|0)!=(0); - if ($25) { - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = (_checkColumnOverlap($28,$29)|0); - $31 = ($30|0)!=(0); - if ($31) { - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$p>>2]|0; - $34 = HEAP32[$5>>2]|0; - $35 = HEAP32[$6>>2]|0; - $36 = (_getRowTrigger($32,$33,$34,$35)|0); - HEAP32[$pPrg>>2] = $36; - $37 = HEAP32[$pPrg>>2]|0; - $38 = ($37|0)!=(0|0); - if ($38) { - $39 = HEAP32[$3>>2]|0; - $40 = HEAP32[$pPrg>>2]|0; - $41 = ((($40)) + 16|0); - $42 = (($41) + ($39<<2)|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$mask>>2]|0; - $45 = $44 | $43; - HEAP32[$mask>>2] = $45; + $71 = HEAP32[$11>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP16[$72>>1]|0; + $74 = $73&65535; + $75 = $74 & 512; + $76 = ($75|0)!=(0); + L4: do { + if ($76) { + $77 = HEAP32[$11>>2]|0; + $78 = ((($77)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = ((($79)) + 408|0); + $81 = $80; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$10>>2]|0; + $88 = ((($87)) + 8|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = $83 & $91; + $96 = $86 & $94; + $97 = ($95|0)!=(0); + $98 = ($96|0)!=(0); + $99 = $97 | $98; + if ($99) { + $100 = HEAP32[$11>>2]|0; + $101 = ((($100)) + 28|0); + $102 = HEAP32[$101>>2]|0; + HEAP32[$20>>2] = $102; + $103 = HEAP32[$20>>2]|0; + $104 = ((($103)) + 20|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$20>>2]|0; + $107 = ((($106)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = (($105) + (($108*48)|0)|0); + HEAP32[$21>>2] = $109; + HEAP32[$23>>2] = 1; + $110 = HEAP32[$5>>2]|0; + ;HEAP32[$16>>2]=HEAP32[$110>>2]|0;HEAP32[$16+4>>2]=HEAP32[$110+4>>2]|0;HEAP32[$16+8>>2]=HEAP32[$110+8>>2]|0;HEAP32[$16+12>>2]=HEAP32[$110+12>>2]|0;HEAP32[$16+16>>2]=HEAP32[$110+16>>2]|0; + $111 = ((($16)) + 8|0); + HEAP32[$111>>2] = 0; + $112 = ((($16)) + 16|0); + HEAP32[$112>>2] = $18; + $113 = HEAP32[$20>>2]|0; + $114 = ((($113)) + 20|0); + $115 = HEAP32[$114>>2]|0; + HEAP32[$22>>2] = $115; + L7: while(1) { + $116 = HEAP32[$22>>2]|0; + $117 = HEAP32[$21>>2]|0; + $118 = ($116>>>0)<($117>>>0); + if (!($118)) { + break; + } + $119 = HEAP32[$22>>2]|0; + $120 = ((($119)) + 12|0); + $121 = HEAP16[$120>>1]|0; + $122 = $121&65535; + $123 = $122 & 1024; + $124 = ($123|0)!=(0); + $125 = HEAP32[$22>>2]|0; + if ($124) { + $126 = ((($125)) + 28|0); + $127 = HEAP32[$126>>2]|0; + $$sink = $127; + label = 11; + } else { + $128 = ((($125)) + 20|0); + $129 = HEAP32[$128>>2]|0; + $130 = HEAP32[$14>>2]|0; + $131 = ($129|0)==($130|0); + if ($131) { + $132 = HEAP32[$9>>2]|0; + $133 = HEAP32[$132>>2]|0; + HEAP32[$15>>2] = $133; + $134 = HEAP32[$9>>2]|0; + $135 = ((($15)) + 4|0); + HEAP32[$135>>2] = $134; + $136 = ((($15)) + 8|0); + HEAP8[$136>>0] = 28; + $137 = ((($15)) + 12|0); + HEAP32[$137>>2] = 1; + $138 = HEAP32[$22>>2]|0; + $139 = ((($15)) + 20|0); + HEAP32[$139>>2] = $138; + $$sink = $15; + label = 11; + } + } + L14: do { + if ((label|0) == 11) { + label = 0; + $140 = ((($16)) + 4|0); + HEAP32[$140>>2] = $$sink; + HEAP16[$18>>1] = 0; + $141 = HEAP32[$19>>2]|0; + $142 = ((($141)) + 16|0); + $143 = HEAP32[$142>>2]|0; + $144 = ((($143)) + 42|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = $146 & 16; + $148 = ($147|0)!=(0); + $149 = $6; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + if ($148) { + $155 = $7; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = (($155) + 4)|0; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = (_whereLoopAddVirtual($16,$151,$154,$157,$160)|0); + HEAP32[$13>>2] = $161; + } else { + $162 = (_whereLoopAddBtree($16,$151,$154)|0); + HEAP32[$13>>2] = $162; + } + $163 = HEAP32[$13>>2]|0; + $164 = ($163|0)==(0); + if ($164) { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $171 = $7; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = (_whereLoopAddOr($16,$167,$170,$173,$176)|0); + HEAP32[$13>>2] = $177; + } + $178 = HEAP16[$18>>1]|0; + $179 = $178&65535; + $180 = ($179|0)==(0); + if ($180) { + label = 17; + break L7; + } + $181 = HEAP32[$23>>2]|0; + $182 = ($181|0)!=(0); + if ($182) { + _whereOrMove($17,$18); + HEAP32[$23>>2] = 0; + break; + } + _whereOrMove($26,$17); + HEAP16[$17>>1] = 0; + HEAP32[$24>>2] = 0; + while(1) { + $183 = HEAP32[$24>>2]|0; + $184 = HEAP16[$26>>1]|0; + $185 = $184&65535; + $186 = ($183|0)<($185|0); + if (!($186)) { + break L14; + } + HEAP32[$25>>2] = 0; + while(1) { + $187 = HEAP32[$25>>2]|0; + $188 = HEAP16[$18>>1]|0; + $189 = $188&65535; + $190 = ($187|0)<($189|0); + if (!($190)) { + break; + } + $191 = ((($26)) + 8|0); + $192 = HEAP32[$24>>2]|0; + $193 = (($191) + ($192<<4)|0); + $194 = $193; + $195 = $194; + $196 = HEAP32[$195>>2]|0; + $197 = (($194) + 4)|0; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = ((($18)) + 8|0); + $201 = HEAP32[$25>>2]|0; + $202 = (($200) + ($201<<4)|0); + $203 = $202; + $204 = $203; + $205 = HEAP32[$204>>2]|0; + $206 = (($203) + 4)|0; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = $196 | $205; + $210 = $199 | $208; + $211 = ((($26)) + 8|0); + $212 = HEAP32[$24>>2]|0; + $213 = (($211) + ($212<<4)|0); + $214 = ((($213)) + 8|0); + $215 = HEAP16[$214>>1]|0; + $216 = ((($18)) + 8|0); + $217 = HEAP32[$25>>2]|0; + $218 = (($216) + ($217<<4)|0); + $219 = ((($218)) + 8|0); + $220 = HEAP16[$219>>1]|0; + $221 = (_sqlite3LogEstAdd($215,$220)|0); + $222 = ((($26)) + 8|0); + $223 = HEAP32[$24>>2]|0; + $224 = (($222) + ($223<<4)|0); + $225 = ((($224)) + 10|0); + $226 = HEAP16[$225>>1]|0; + $227 = ((($18)) + 8|0); + $228 = HEAP32[$25>>2]|0; + $229 = (($227) + ($228<<4)|0); + $230 = ((($229)) + 10|0); + $231 = HEAP16[$230>>1]|0; + $232 = (_sqlite3LogEstAdd($226,$231)|0); + (_whereOrInsert($17,$209,$210,$221,$232)|0); + $233 = HEAP32[$25>>2]|0; + $234 = (($233) + 1)|0; + HEAP32[$25>>2] = $234; + } + $235 = HEAP32[$24>>2]|0; + $236 = (($235) + 1)|0; + HEAP32[$24>>2] = $236; + } + } + } while(0); + $237 = HEAP32[$22>>2]|0; + $238 = ((($237)) + 48|0); + HEAP32[$22>>2] = $238; + } + if ((label|0) == 17) { + label = 0; + HEAP16[$17>>1] = 0; + } + $239 = HEAP32[$10>>2]|0; + $240 = ((($239)) + 40|0); + HEAP16[$240>>1] = 1; + $241 = HEAP32[$11>>2]|0; + $242 = HEAP32[$10>>2]|0; + $243 = ((($242)) + 48|0); + $244 = HEAP32[$243>>2]|0; + HEAP32[$244>>2] = $241; + $245 = HEAP32[$10>>2]|0; + $246 = ((($245)) + 36|0); + HEAP32[$246>>2] = 8192; + $247 = HEAP32[$10>>2]|0; + $248 = ((($247)) + 18|0); + HEAP16[$248>>1] = 0; + $249 = HEAP32[$10>>2]|0; + $250 = ((($249)) + 17|0); + HEAP8[$250>>0] = 0; + $251 = HEAP32[$10>>2]|0; + $252 = ((($251)) + 24|0); + ;HEAP32[$252>>2]=0|0;HEAP32[$252+4>>2]=0|0;HEAP32[$252+8>>2]=0|0; + HEAP32[$24>>2] = 0; + while(1) { + $253 = HEAP32[$13>>2]|0; + $254 = ($253|0)==(0); + if (!($254)) { + break L4; + } + $255 = HEAP32[$24>>2]|0; + $256 = HEAP16[$17>>1]|0; + $257 = $256&65535; + $258 = ($255|0)<($257|0); + if (!($258)) { + break L4; + } + $259 = ((($17)) + 8|0); + $260 = HEAP32[$24>>2]|0; + $261 = (($259) + ($260<<4)|0); + $262 = ((($261)) + 8|0); + $263 = HEAP16[$262>>1]|0; + $264 = $263 << 16 >> 16; + $265 = (($264) + 1)|0; + $266 = $265&65535; + $267 = HEAP32[$10>>2]|0; + $268 = ((($267)) + 20|0); + HEAP16[$268>>1] = $266; + $269 = ((($17)) + 8|0); + $270 = HEAP32[$24>>2]|0; + $271 = (($269) + ($270<<4)|0); + $272 = ((($271)) + 10|0); + $273 = HEAP16[$272>>1]|0; + $274 = HEAP32[$10>>2]|0; + $275 = ((($274)) + 22|0); + HEAP16[$275>>1] = $273; + $276 = ((($17)) + 8|0); + $277 = HEAP32[$24>>2]|0; + $278 = (($276) + ($277<<4)|0); + $279 = $278; + $280 = $279; + $281 = HEAP32[$280>>2]|0; + $282 = (($279) + 4)|0; + $283 = $282; + $284 = HEAP32[$283>>2]|0; + $285 = HEAP32[$10>>2]|0; + $286 = $285; + $287 = $286; + HEAP32[$287>>2] = $281; + $288 = (($286) + 4)|0; + $289 = $288; + HEAP32[$289>>2] = $284; + $290 = HEAP32[$5>>2]|0; + $291 = HEAP32[$10>>2]|0; + $292 = (_whereLoopInsert($290,$291)|0); + HEAP32[$13>>2] = $292; + $293 = HEAP32[$24>>2]|0; + $294 = (($293) + 1)|0; + HEAP32[$24>>2] = $294; } } } - } - $46 = HEAP32[$p>>2]|0; - $47 = ((($46)) + 32|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$p>>2] = $48; + } while(0); + $295 = HEAP32[$11>>2]|0; + $296 = ((($295)) + 48|0); + HEAP32[$11>>2] = $296; } - $49 = HEAP32[$mask>>2]|0; - STACKTOP = sp;return ($49|0); + $297 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($297|0); } -function _sqlite3FkOldmask($pParse,$pTab) { - $pParse = $pParse|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0, $mask = 0; - var $p = 0, $pIdx = 0, label = 0, sp = 0; +function _whereOrMove($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP16[$4>>1]|0; + $6 = HEAP32[$2>>2]|0; + HEAP16[$6>>1] = $5; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$2>>2]|0; + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + $14 = $13<<4; + _memcpy(($8|0),($10|0),($14|0))|0; + STACKTOP = sp;return; +} +function _whereOrInsert($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $mask = sp + 12|0; - $p = sp + 8|0; - $i = sp + 4|0; - $pIdx = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$mask>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 524288; - $7 = ($6|0)!=(0); - if (!($7)) { - $77 = HEAP32[$mask>>2]|0; - STACKTOP = sp;return ($77|0); - } - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 16|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$p>>2] = $10; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp; + $8 = sp + 24|0; + $9 = sp + 22|0; + $10 = sp + 20|0; + $11 = sp + 8|0; + HEAP32[$6>>2] = $0; + $12 = $7; + $13 = $12; + HEAP32[$13>>2] = $1; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $2; + HEAP16[$8>>1] = $3; + HEAP16[$9>>1] = $4; + $16 = HEAP32[$6>>2]|0; + $17 = HEAP16[$16>>1]|0; + HEAP16[$10>>1] = $17; + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 8|0); + HEAP32[$11>>2] = $19; while(1) { - $11 = HEAP32[$p>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { + $20 = HEAP16[$10>>1]|0; + $21 = $20&65535; + $22 = ($21|0)>(0); + if (!($22)) { + label = 9; break; } - HEAP32[$i>>2] = 0; - while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 20|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($13|0)<($16|0); - if (!($17)) { + $23 = HEAP16[$8>>1]|0; + $24 = $23 << 16 >> 16; + $25 = HEAP32[$11>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27 << 16 >> 16; + $29 = ($24|0)<=($28|0); + if ($29) { + $30 = $7; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = $36; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = $32 & $39; + $44 = $35 & $42; + $45 = $7; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = ($43|0)==($47|0); + $52 = ($44|0)==($50|0); + $53 = $51 & $52; + if ($53) { break; } - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 36|0); - $21 = (($20) + ($18<<3)|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)>(31); - if ($23) { - $32 = -1; - } else { - $24 = HEAP32[$i>>2]|0; - $25 = HEAP32[$p>>2]|0; - $26 = ((($25)) + 36|0); - $27 = (($26) + ($24<<3)|0); - $28 = HEAP32[$27>>2]|0; - $29 = 1 << $28; - $32 = $29; - } - $30 = HEAP32[$mask>>2]|0; - $31 = $30 | $32; - HEAP32[$mask>>2] = $31; - $33 = HEAP32[$i>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$i>>2] = $34; - } - $35 = HEAP32[$p>>2]|0; - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$p>>2] = $37; - } - $38 = HEAP32[$1>>2]|0; - $39 = (_sqlite3FkReferences($38)|0); - HEAP32[$p>>2] = $39; - while(1) { - $40 = HEAP32[$p>>2]|0; - $41 = ($40|0)!=(0|0); - if (!($41)) { - break; } - HEAP32[$pIdx>>2] = 0; - $42 = HEAP32[$0>>2]|0; - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$p>>2]|0; - (_sqlite3FkLocateIndex($42,$43,$44,$pIdx,0)|0); - $45 = HEAP32[$pIdx>>2]|0; - $46 = ($45|0)!=(0|0); - L18: do { - if ($46) { - HEAP32[$i>>2] = 0; - while(1) { - $47 = HEAP32[$i>>2]|0; - $48 = HEAP32[$pIdx>>2]|0; - $49 = ((($48)) + 50|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = ($47|0)<($51|0); - if (!($52)) { - break L18; - } - $53 = HEAP32[$i>>2]|0; - $54 = HEAP32[$pIdx>>2]|0; - $55 = ((($54)) + 4|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($56) + ($53<<1)|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58 << 16 >> 16; - $60 = ($59|0)>(31); - if ($60) { - $71 = -1; - } else { - $61 = HEAP32[$i>>2]|0; - $62 = HEAP32[$pIdx>>2]|0; - $63 = ((($62)) + 4|0); - $64 = HEAP32[$63>>2]|0; - $65 = (($64) + ($61<<1)|0); - $66 = HEAP16[$65>>1]|0; - $67 = $66 << 16 >> 16; - $68 = 1 << $67; - $71 = $68; - } - $69 = HEAP32[$mask>>2]|0; - $70 = $69 | $71; - HEAP32[$mask>>2] = $70; - $72 = HEAP32[$i>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$i>>2] = $73; - } + $54 = HEAP32[$11>>2]|0; + $55 = ((($54)) + 8|0); + $56 = HEAP16[$55>>1]|0; + $57 = $56 << 16 >> 16; + $58 = HEAP16[$8>>1]|0; + $59 = $58 << 16 >> 16; + $60 = ($57|0)<=($59|0); + if ($60) { + $61 = HEAP32[$11>>2]|0; + $62 = $61; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = $7; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $64 & $70; + $75 = $67 & $73; + $76 = HEAP32[$11>>2]|0; + $77 = $76; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + 4)|0; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = ($74|0)==($79|0); + $84 = ($75|0)==($82|0); + $85 = $83 & $84; + if ($85) { + label = 7; + break; } - } while(0); - $74 = HEAP32[$p>>2]|0; - $75 = ((($74)) + 12|0); - $76 = HEAP32[$75>>2]|0; - HEAP32[$p>>2] = $76; + } + $86 = HEAP16[$10>>1]|0; + $87 = (($86) + -1)<<16>>16; + HEAP16[$10>>1] = $87; + $88 = HEAP32[$11>>2]|0; + $89 = ((($88)) + 16|0); + HEAP32[$11>>2] = $89; } - $77 = HEAP32[$mask>>2]|0; - STACKTOP = sp;return ($77|0); -} -function _sqlite3FkActions($pParse,$pTab,$pChanges,$regOld,$aChange,$bChngRowid) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $pChanges = $pChanges|0; - $regOld = $regOld|0; - $aChange = $aChange|0; - $bChngRowid = $bChngRowid|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pAct = 0, $pFKey = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $pFKey = sp + 4|0; - $pAct = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $pChanges; - HEAP32[$3>>2] = $regOld; - HEAP32[$4>>2] = $aChange; - HEAP32[$5>>2] = $bChngRowid; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 24|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9 & 524288; - $11 = ($10|0)!=(0); - if (!($11)) { - STACKTOP = sp;return; + if ((label|0) == 7) { + HEAP32[$5>>2] = 0; + $157 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($157|0); } - $12 = HEAP32[$1>>2]|0; - $13 = (_sqlite3FkReferences($12)|0); - HEAP32[$pFKey>>2] = $13; - while(1) { - $14 = HEAP32[$pFKey>>2]|0; - $15 = ($14|0)!=(0|0); - if (!($15)) { - break; - } - $16 = HEAP32[$4>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - label = 6; - } else { - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$pFKey>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = HEAP32[$5>>2]|0; - $22 = (_fkParentIsModified($18,$19,$20,$21)|0); - $23 = ($22|0)!=(0); - if ($23) { - label = 6; + do { + if ((label|0) == 9) { + $90 = HEAP32[$6>>2]|0; + $91 = HEAP16[$90>>1]|0; + $92 = $91&65535; + $93 = ($92|0)<(3); + $94 = HEAP32[$6>>2]|0; + $95 = ((($94)) + 8|0); + if ($93) { + $96 = HEAP32[$6>>2]|0; + $97 = HEAP16[$96>>1]|0; + $98 = (($97) + 1)<<16>>16; + HEAP16[$96>>1] = $98; + $99 = $97&65535; + $100 = (($95) + ($99<<4)|0); + HEAP32[$11>>2] = $100; + $101 = HEAP16[$9>>1]|0; + $102 = HEAP32[$11>>2]|0; + $103 = ((($102)) + 10|0); + HEAP16[$103>>1] = $101; + break; } - } - if ((label|0) == 6) { - label = 0; - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$pFKey>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = (_fkActionTrigger($24,$25,$26,$27)|0); - HEAP32[$pAct>>2] = $28; - $29 = HEAP32[$pAct>>2]|0; - $30 = ($29|0)!=(0|0); - if ($30) { - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$pAct>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$3>>2]|0; - _sqlite3CodeRowTriggerDirect($31,$32,$33,$34,2,0); + HEAP32[$11>>2] = $95; + HEAP16[$10>>1] = 1; + while(1) { + $104 = HEAP16[$10>>1]|0; + $105 = $104&65535; + $106 = HEAP32[$6>>2]|0; + $107 = HEAP16[$106>>1]|0; + $108 = $107&65535; + $109 = ($105|0)<($108|0); + $110 = HEAP32[$11>>2]|0; + $111 = ((($110)) + 8|0); + $112 = HEAP16[$111>>1]|0; + $113 = $112 << 16 >> 16; + if (!($109)) { + break; + } + $114 = HEAP32[$6>>2]|0; + $115 = ((($114)) + 8|0); + $116 = HEAP16[$10>>1]|0; + $117 = $116&65535; + $118 = (($115) + ($117<<4)|0); + $119 = ((($118)) + 8|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120 << 16 >> 16; + $122 = ($113|0)>($121|0); + if ($122) { + $123 = HEAP32[$6>>2]|0; + $124 = ((($123)) + 8|0); + $125 = HEAP16[$10>>1]|0; + $126 = $125&65535; + $127 = (($124) + ($126<<4)|0); + HEAP32[$11>>2] = $127; + } + $128 = HEAP16[$10>>1]|0; + $129 = (($128) + 1)<<16>>16; + HEAP16[$10>>1] = $129; + } + $130 = HEAP16[$8>>1]|0; + $131 = $130 << 16 >> 16; + $132 = ($113|0)<=($131|0); + if ($132) { + HEAP32[$5>>2] = 0; + $157 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($157|0); } } - $35 = HEAP32[$pFKey>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$pFKey>>2] = $37; - } - STACKTOP = sp;return; -} -function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $pFKey = $pFKey|0; - $pChanges = $pChanges|0; - var $$sink = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $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, $action = 0, $aiCol = 0, $db = 0; - var $i = 0, $iAction = 0, $iFromCol = 0, $nFrom = 0, $or$cond = 0, $or$cond3 = 0, $pDflt = 0, $pEq = 0, $pIdx = 0, $pList = 0, $pNew = 0, $pRaise = 0, $pSelect = 0, $pStep = 0, $pTrigger = 0, $pWhen = 0, $pWhere = 0, $tFrom = 0, $tFromCol = 0, $tNew = 0; - var $tOld = 0, $tToCol = 0, $zFrom = 0, label = 0, sp = 0; + } while(0); + $133 = $7; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (($133) + 4)|0; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$11>>2]|0; + $140 = $139; + $141 = $140; + HEAP32[$141>>2] = $135; + $142 = (($140) + 4)|0; + $143 = $142; + HEAP32[$143>>2] = $138; + $144 = HEAP16[$8>>1]|0; + $145 = HEAP32[$11>>2]|0; + $146 = ((($145)) + 8|0); + HEAP16[$146>>1] = $144; + $147 = HEAP32[$11>>2]|0; + $148 = ((($147)) + 10|0); + $149 = HEAP16[$148>>1]|0; + $150 = $149 << 16 >> 16; + $151 = HEAP16[$9>>1]|0; + $152 = $151 << 16 >> 16; + $153 = ($150|0)>($152|0); + if ($153) { + $154 = HEAP16[$9>>1]|0; + $155 = HEAP32[$11>>2]|0; + $156 = ((($155)) + 10|0); + HEAP16[$156>>1] = $154; + } + HEAP32[$5>>2] = 1; + $157 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($157|0); +} +function _whereLoopInsert($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 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, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $0 = sp + 136|0; - $1 = sp + 132|0; - $2 = sp + 128|0; - $3 = sp + 124|0; - $4 = sp + 120|0; - $db = sp + 116|0; - $action = sp + 112|0; - $pTrigger = sp + 108|0; - $iAction = sp + 104|0; - $zFrom = sp + 100|0; - $nFrom = sp + 96|0; - $pIdx = sp + 92|0; - $aiCol = sp + 88|0; - $pStep = sp + 84|0; - $pWhere = sp + 80|0; - $pList = sp + 76|0; - $pSelect = sp + 72|0; - $i = sp + 68|0; - $pWhen = sp + 64|0; - $tOld = sp + 56|0; - $tNew = sp + 48|0; - $tFromCol = sp + 40|0; - $tToCol = sp + 32|0; - $iFromCol = sp + 28|0; - $pEq = sp + 24|0; - $pNew = sp + 20|0; - $pDflt = sp + 16|0; - $tFrom = sp + 8|0; - $pRaise = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTab; - HEAP32[$3>>2] = $pFKey; - HEAP32[$4>>2] = $pChanges; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$4>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = $8&1; - HEAP32[$iAction>>2] = $9; - $10 = HEAP32[$iAction>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = ((($11)) + 25|0); - $13 = (($12) + ($10)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - HEAP32[$action>>2] = $15; - $16 = HEAP32[$action>>2]|0; - $17 = ($16|0)==(6); - if ($17) { - $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 24|0); - $20 = HEAP32[$19>>2]|0; - $21 = $20 & 33554432; - $22 = ($21|0)!=(0); - if ($22) { - HEAP32[$0>>2] = 0; - $275 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($275|0); + STACKTOP = STACKTOP + 48|0; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$16>>2]|0; + HEAP32[$8>>2] = $17; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 16|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 40|0); + $24 = HEAP16[$23>>1]|0; + $25 = ($24<<16>>16)!=(0); + if ($25) { + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$4>>2]|0; + $30 = $29; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 20|0); + $38 = HEAP16[$37>>1]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 22|0); + $41 = HEAP16[$40>>1]|0; + (_whereOrInsert($28,$32,$35,$38,$41)|0); } + HEAP32[$2>>2] = 0; + $107 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($107|0); } - $23 = HEAP32[$iAction>>2]|0; - $24 = HEAP32[$3>>2]|0; - $25 = ((($24)) + 28|0); - $26 = (($25) + ($23<<2)|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pTrigger>>2] = $27; - $28 = HEAP32[$action>>2]|0; - $29 = ($28|0)==(0); - $30 = HEAP32[$pTrigger>>2]|0; - $31 = ($30|0)!=(0|0); - $or$cond = $29 | $31; - if (!($or$cond)) { - HEAP32[$pIdx>>2] = 0; - HEAP32[$aiCol>>2] = 0; - HEAP32[$pStep>>2] = 0; - HEAP32[$pWhere>>2] = 0; - HEAP32[$pList>>2] = 0; - HEAP32[$pSelect>>2] = 0; - HEAP32[$pWhen>>2] = 0; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = (_sqlite3FkLocateIndex($32,$33,$34,$pIdx,$aiCol)|0); - $36 = ($35|0)!=(0); - if ($36) { - HEAP32[$0>>2] = 0; - $275 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($275|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $37 = HEAP32[$i>>2]|0; - $38 = HEAP32[$3>>2]|0; - $39 = ((($38)) + 20|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($37|0)<($40|0); - if (!($41)) { + $42 = HEAP32[$7>>2]|0; + $43 = ((($42)) + 56|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$4>>2]|0; + _whereLoopAdjustCost($44,$45); + $46 = HEAP32[$7>>2]|0; + $47 = ((($46)) + 56|0); + $48 = HEAP32[$4>>2]|0; + $49 = (_whereLoopFindLesser($47,$48)|0); + HEAP32[$5>>2] = $49; + $50 = HEAP32[$5>>2]|0; + $51 = ($50|0)==(0|0); + if ($51) { + HEAP32[$2>>2] = 0; + $107 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($107|0); + } + $52 = HEAP32[$5>>2]|0; + $53 = HEAP32[$52>>2]|0; + HEAP32[$6>>2] = $53; + $54 = HEAP32[$6>>2]|0; + $55 = ($54|0)==(0|0); + L12: do { + if ($55) { + $56 = HEAP32[$8>>2]|0; + $57 = (_sqlite3DbMallocRawNN($56,72,0)|0); + HEAP32[$6>>2] = $57; + $58 = HEAP32[$5>>2]|0; + HEAP32[$58>>2] = $57; + $59 = HEAP32[$6>>2]|0; + $60 = ($59|0)==(0|0); + if (!($60)) { + $61 = HEAP32[$6>>2]|0; + _whereLoopInit($61); + $62 = HEAP32[$6>>2]|0; + $63 = ((($62)) + 52|0); + HEAP32[$63>>2] = 0; break; } - ;HEAP32[$tOld>>2]=HEAP32[5476>>2]|0;HEAP32[$tOld+4>>2]=HEAP32[5476+4>>2]|0; - ;HEAP32[$tNew>>2]=HEAP32[5484>>2]|0;HEAP32[$tNew+4>>2]=HEAP32[5484+4>>2]|0; - $42 = HEAP32[$aiCol>>2]|0; - $43 = ($42|0)!=(0|0); - if ($43) { - $44 = HEAP32[$i>>2]|0; - $45 = HEAP32[$aiCol>>2]|0; - $46 = (($45) + ($44<<2)|0); - $47 = HEAP32[$46>>2]|0; - $51 = $47; - } else { - $48 = HEAP32[$3>>2]|0; - $49 = ((($48)) + 36|0); - $50 = HEAP32[$49>>2]|0; - $51 = $50; - } - HEAP32[$iFromCol>>2] = $51; - $52 = HEAP32[$pIdx>>2]|0; - $53 = ($52|0)!=(0|0); - if ($53) { - $54 = HEAP32[$i>>2]|0; - $55 = HEAP32[$pIdx>>2]|0; - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + ($54<<1)|0); - $59 = HEAP16[$58>>1]|0; - $$sink = $59; - } else { - $60 = HEAP32[$2>>2]|0; - $61 = ((($60)) + 32|0); - $62 = HEAP16[$61>>1]|0; - $$sink = $62; + HEAP32[$2>>2] = 7; + $107 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($107|0); + } else { + $64 = HEAP32[$6>>2]|0; + $65 = ((($64)) + 52|0); + HEAP32[$10>>2] = $65; + while(1) { + $66 = HEAP32[$10>>2]|0; + $67 = HEAP32[$66>>2]|0; + $68 = ($67|0)!=(0|0); + if (!($68)) { + break L12; + } + $69 = HEAP32[$10>>2]|0; + $70 = HEAP32[$4>>2]|0; + $71 = (_whereLoopFindLesser($69,$70)|0); + HEAP32[$10>>2] = $71; + $72 = HEAP32[$10>>2]|0; + $73 = ($72|0)==(0|0); + if ($73) { + break L12; + } + $74 = HEAP32[$10>>2]|0; + $75 = HEAP32[$74>>2]|0; + HEAP32[$11>>2] = $75; + $76 = HEAP32[$11>>2]|0; + $77 = ($76|0)==(0|0); + if ($77) { + break L12; + } + $78 = HEAP32[$11>>2]|0; + $79 = ((($78)) + 52|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$10>>2]|0; + HEAP32[$81>>2] = $80; + $82 = HEAP32[$8>>2]|0; + $83 = HEAP32[$11>>2]|0; + _whereLoopDelete($82,$83); } - $63 = $$sink << 16 >> 16; - $64 = HEAP32[$2>>2]|0; - $65 = ((($64)) + 4|0); - $66 = HEAP32[$65>>2]|0; - $67 = (($66) + ($63<<4)|0); - $68 = HEAP32[$67>>2]|0; - _sqlite3TokenInit($tToCol,$68); - $69 = HEAP32[$iFromCol>>2]|0; - $70 = HEAP32[$3>>2]|0; - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 4|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73) + ($69<<4)|0); - $75 = HEAP32[$74>>2]|0; - _sqlite3TokenInit($tFromCol,$75); - $76 = HEAP32[$1>>2]|0; - $77 = HEAP32[$1>>2]|0; - $78 = HEAP32[$db>>2]|0; - $79 = (_sqlite3ExprAlloc($78,55,$tOld,0)|0); - $80 = HEAP32[$db>>2]|0; - $81 = (_sqlite3ExprAlloc($80,55,$tToCol,0)|0); - $82 = (_sqlite3PExpr($77,122,$79,$81,0)|0); - $83 = HEAP32[$db>>2]|0; - $84 = (_sqlite3ExprAlloc($83,55,$tFromCol,0)|0); - $85 = (_sqlite3PExpr($76,37,$82,$84,0)|0); - HEAP32[$pEq>>2] = $85; - $86 = HEAP32[$db>>2]|0; - $87 = HEAP32[$pWhere>>2]|0; - $88 = HEAP32[$pEq>>2]|0; - $89 = (_sqlite3ExprAnd($86,$87,$88)|0); - HEAP32[$pWhere>>2] = $89; - $90 = HEAP32[$4>>2]|0; - $91 = ($90|0)!=(0|0); - if ($91) { - $92 = HEAP32[$1>>2]|0; - $93 = HEAP32[$1>>2]|0; - $94 = HEAP32[$db>>2]|0; - $95 = (_sqlite3ExprAlloc($94,55,$tOld,0)|0); - $96 = HEAP32[$db>>2]|0; - $97 = (_sqlite3ExprAlloc($96,55,$tToCol,0)|0); - $98 = (_sqlite3PExpr($93,122,$95,$97,0)|0); - $99 = HEAP32[$1>>2]|0; - $100 = HEAP32[$db>>2]|0; - $101 = (_sqlite3ExprAlloc($100,55,$tNew,0)|0); - $102 = HEAP32[$db>>2]|0; - $103 = (_sqlite3ExprAlloc($102,55,$tToCol,0)|0); - $104 = (_sqlite3PExpr($99,122,$101,$103,0)|0); - $105 = (_sqlite3PExpr($92,29,$98,$104,0)|0); - HEAP32[$pEq>>2] = $105; - $106 = HEAP32[$db>>2]|0; - $107 = HEAP32[$pWhen>>2]|0; - $108 = HEAP32[$pEq>>2]|0; - $109 = (_sqlite3ExprAnd($106,$107,$108)|0); - HEAP32[$pWhen>>2] = $109; - } - $110 = HEAP32[$action>>2]|0; - $111 = ($110|0)!=(6); - if ($111) { - $112 = HEAP32[$action>>2]|0; - $113 = ($112|0)!=(9); - $114 = HEAP32[$4>>2]|0; - $115 = ($114|0)!=(0|0); - $or$cond3 = $113 | $115; - if ($or$cond3) { - $116 = HEAP32[$action>>2]|0; - $117 = ($116|0)==(9); - do { - if ($117) { - $118 = HEAP32[$1>>2]|0; - $119 = HEAP32[$db>>2]|0; - $120 = (_sqlite3ExprAlloc($119,55,$tNew,0)|0); - $121 = HEAP32[$db>>2]|0; - $122 = (_sqlite3ExprAlloc($121,55,$tToCol,0)|0); - $123 = (_sqlite3PExpr($118,122,$120,$122,0)|0); - HEAP32[$pNew>>2] = $123; - } else { - $124 = HEAP32[$action>>2]|0; - $125 = ($124|0)==(8); - if (!($125)) { - $140 = HEAP32[$db>>2]|0; - $141 = (_sqlite3ExprAlloc($140,101,0,0)|0); - HEAP32[$pNew>>2] = $141; - break; - } - $126 = HEAP32[$iFromCol>>2]|0; - $127 = HEAP32[$3>>2]|0; - $128 = HEAP32[$127>>2]|0; - $129 = ((($128)) + 4|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + ($126<<4)|0); - $132 = ((($131)) + 4|0); - $133 = HEAP32[$132>>2]|0; - HEAP32[$pDflt>>2] = $133; - $134 = HEAP32[$pDflt>>2]|0; - $135 = ($134|0)!=(0|0); - $136 = HEAP32[$db>>2]|0; - if ($135) { - $137 = HEAP32[$pDflt>>2]|0; - $138 = (_sqlite3ExprDup($136,$137,0)|0); - HEAP32[$pNew>>2] = $138; - break; - } else { - $139 = (_sqlite3ExprAlloc($136,101,0,0)|0); - HEAP32[$pNew>>2] = $139; - break; - } - } - } while(0); - $142 = HEAP32[$1>>2]|0; - $143 = HEAP32[$pList>>2]|0; - $144 = HEAP32[$pNew>>2]|0; - $145 = (_sqlite3ExprListAppend($142,$143,$144)|0); - HEAP32[$pList>>2] = $145; - $146 = HEAP32[$1>>2]|0; - $147 = HEAP32[$pList>>2]|0; - _sqlite3ExprListSetName($146,$147,$tFromCol,0); - } - } - $148 = HEAP32[$i>>2]|0; - $149 = (($148) + 1)|0; - HEAP32[$i>>2] = $149; - } - $150 = HEAP32[$db>>2]|0; - $151 = HEAP32[$aiCol>>2]|0; - _sqlite3DbFree($150,$151); - $152 = HEAP32[$3>>2]|0; - $153 = HEAP32[$152>>2]|0; - $154 = HEAP32[$153>>2]|0; - HEAP32[$zFrom>>2] = $154; - $155 = HEAP32[$zFrom>>2]|0; - $156 = (_sqlite3Strlen30($155)|0); - HEAP32[$nFrom>>2] = $156; - $157 = HEAP32[$action>>2]|0; - $158 = ($157|0)==(6); - if ($158) { - $159 = HEAP32[$zFrom>>2]|0; - HEAP32[$tFrom>>2] = $159; - $160 = HEAP32[$nFrom>>2]|0; - $161 = ((($tFrom)) + 4|0); - HEAP32[$161>>2] = $160; - $162 = HEAP32[$db>>2]|0; - $163 = (_sqlite3Expr($162,83,35189)|0); - HEAP32[$pRaise>>2] = $163; - $164 = HEAP32[$pRaise>>2]|0; - $165 = ($164|0)!=(0|0); - if ($165) { - $166 = HEAP32[$pRaise>>2]|0; - $167 = ((($166)) + 1|0); - HEAP8[$167>>0] = 2; - } - $168 = HEAP32[$1>>2]|0; - $169 = HEAP32[$1>>2]|0; - $170 = HEAP32[$pRaise>>2]|0; - $171 = (_sqlite3ExprListAppend($169,0,$170)|0); - $172 = HEAP32[$db>>2]|0; - $173 = (_sqlite3SrcListAppend($172,0,$tFrom,0)|0); - $174 = HEAP32[$pWhere>>2]|0; - $175 = (_sqlite3SelectNew($168,$171,$173,$174,0,0,0,0,0,0)|0); - HEAP32[$pSelect>>2] = $175; - HEAP32[$pWhere>>2] = 0; - } - $176 = HEAP32[$db>>2]|0; - $177 = ((($176)) + 256|0); - $178 = HEAP32[$177>>2]|0; - $179 = (($178) + 1)|0; - HEAP32[$177>>2] = $179; - $180 = HEAP32[$db>>2]|0; - $181 = HEAP32[$nFrom>>2]|0; - $182 = (72 + ($181))|0; - $183 = (($182) + 1)|0; - $184 = (_sqlite3DbMallocZero($180,$183,0)|0); - HEAP32[$pTrigger>>2] = $184; - $185 = HEAP32[$pTrigger>>2]|0; - $186 = ($185|0)!=(0|0); - if ($186) { - $187 = HEAP32[$pTrigger>>2]|0; - $188 = ((($187)) + 36|0); - $189 = HEAP32[$pTrigger>>2]|0; - $190 = ((($189)) + 28|0); - HEAP32[$190>>2] = $188; - HEAP32[$pStep>>2] = $188; - $191 = HEAP32[$pStep>>2]|0; - $192 = ((($191)) + 36|0); - $193 = HEAP32[$pStep>>2]|0; - $194 = ((($193)) + 12|0); - HEAP32[$194>>2] = $192; - $195 = HEAP32[$pStep>>2]|0; - $196 = ((($195)) + 12|0); - $197 = HEAP32[$196>>2]|0; - $198 = HEAP32[$zFrom>>2]|0; - $199 = HEAP32[$nFrom>>2]|0; - _memcpy(($197|0),($198|0),($199|0))|0; - $200 = HEAP32[$db>>2]|0; - $201 = HEAP32[$pWhere>>2]|0; - $202 = (_sqlite3ExprDup($200,$201,1)|0); - $203 = HEAP32[$pStep>>2]|0; - $204 = ((($203)) + 16|0); - HEAP32[$204>>2] = $202; - $205 = HEAP32[$db>>2]|0; - $206 = HEAP32[$pList>>2]|0; - $207 = (_sqlite3ExprListDup($205,$206,1)|0); - $208 = HEAP32[$pStep>>2]|0; - $209 = ((($208)) + 20|0); - HEAP32[$209>>2] = $207; - $210 = HEAP32[$db>>2]|0; - $211 = HEAP32[$pSelect>>2]|0; - $212 = (_sqlite3SelectDup($210,$211,1)|0); - $213 = HEAP32[$pStep>>2]|0; - $214 = ((($213)) + 8|0); - HEAP32[$214>>2] = $212; - $215 = HEAP32[$pWhen>>2]|0; - $216 = ($215|0)!=(0|0); - if ($216) { - $217 = HEAP32[$1>>2]|0; - $218 = HEAP32[$pWhen>>2]|0; - $219 = (_sqlite3PExpr($217,19,$218,0,0)|0); - HEAP32[$pWhen>>2] = $219; - $220 = HEAP32[$db>>2]|0; - $221 = HEAP32[$pWhen>>2]|0; - $222 = (_sqlite3ExprDup($220,$221,1)|0); - $223 = HEAP32[$pTrigger>>2]|0; - $224 = ((($223)) + 12|0); - HEAP32[$224>>2] = $222; - } - } - $225 = HEAP32[$db>>2]|0; - $226 = ((($225)) + 256|0); - $227 = HEAP32[$226>>2]|0; - $228 = (($227) + -1)|0; - HEAP32[$226>>2] = $228; - $229 = HEAP32[$db>>2]|0; - $230 = HEAP32[$pWhere>>2]|0; - _sqlite3ExprDelete($229,$230); - $231 = HEAP32[$db>>2]|0; - $232 = HEAP32[$pWhen>>2]|0; - _sqlite3ExprDelete($231,$232); - $233 = HEAP32[$db>>2]|0; - $234 = HEAP32[$pList>>2]|0; - _sqlite3ExprListDelete($233,$234); - $235 = HEAP32[$db>>2]|0; - $236 = HEAP32[$pSelect>>2]|0; - _sqlite3SelectDelete($235,$236); - $237 = HEAP32[$db>>2]|0; - $238 = ((($237)) + 69|0); - $239 = HEAP8[$238>>0]|0; - $240 = $239&255; - $241 = ($240|0)==(1); - if ($241) { - $242 = HEAP32[$db>>2]|0; - $243 = HEAP32[$pTrigger>>2]|0; - _fkTriggerDelete($242,$243); - HEAP32[$0>>2] = 0; - $275 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($275|0); - } - $244 = HEAP32[$action>>2]|0; - switch ($244|0) { - case 6: { - $245 = HEAP32[$pStep>>2]|0; - HEAP8[$245>>0] = 119; - break; } - case 9: { - $246 = HEAP32[$4>>2]|0; - $247 = ($246|0)!=(0|0); - if ($247) { - label = 41; - } else { - $248 = HEAP32[$pStep>>2]|0; - HEAP8[$248>>0] = 109; + } while(0); + $84 = HEAP32[$8>>2]|0; + $85 = HEAP32[$6>>2]|0; + $86 = HEAP32[$4>>2]|0; + $87 = (_whereLoopXfer($84,$85,$86)|0); + HEAP32[$9>>2] = $87; + $88 = HEAP32[$6>>2]|0; + $89 = ((($88)) + 36|0); + $90 = HEAP32[$89>>2]|0; + $91 = $90 & 1024; + $92 = ($91|0)==(0); + if ($92) { + $93 = HEAP32[$6>>2]|0; + $94 = ((($93)) + 24|0); + $95 = ((($94)) + 8|0); + $96 = HEAP32[$95>>2]|0; + HEAP32[$12>>2] = $96; + $97 = HEAP32[$12>>2]|0; + $98 = ($97|0)!=(0|0); + if ($98) { + $99 = HEAP32[$12>>2]|0; + $100 = ((($99)) + 44|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)==(0); + if ($102) { + $103 = HEAP32[$6>>2]|0; + $104 = ((($103)) + 24|0); + $105 = ((($104)) + 8|0); + HEAP32[$105>>2] = 0; } - break; - } - default: { - label = 41; - } - } - if ((label|0) == 41) { - $249 = HEAP32[$pStep>>2]|0; - HEAP8[$249>>0] = 110; } - $250 = HEAP32[$pTrigger>>2]|0; - $251 = HEAP32[$pStep>>2]|0; - $252 = ((($251)) + 4|0); - HEAP32[$252>>2] = $250; - $253 = HEAP32[$2>>2]|0; - $254 = ((($253)) + 64|0); - $255 = HEAP32[$254>>2]|0; - $256 = HEAP32[$pTrigger>>2]|0; - $257 = ((($256)) + 20|0); - HEAP32[$257>>2] = $255; - $258 = HEAP32[$2>>2]|0; - $259 = ((($258)) + 64|0); - $260 = HEAP32[$259>>2]|0; - $261 = HEAP32[$pTrigger>>2]|0; - $262 = ((($261)) + 24|0); - HEAP32[$262>>2] = $260; - $263 = HEAP32[$pTrigger>>2]|0; - $264 = HEAP32[$iAction>>2]|0; - $265 = HEAP32[$3>>2]|0; - $266 = ((($265)) + 28|0); - $267 = (($266) + ($264<<2)|0); - HEAP32[$267>>2] = $263; - $268 = HEAP32[$4>>2]|0; - $269 = ($268|0)!=(0|0); - $270 = $269 ? 110 : 109; - $271 = $270&255; - $272 = HEAP32[$pTrigger>>2]|0; - $273 = ((($272)) + 8|0); - HEAP8[$273>>0] = $271; - } - $274 = HEAP32[$pTrigger>>2]|0; - HEAP32[$0>>2] = $274; - $275 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($275|0); + } + $106 = HEAP32[$9>>2]|0; + HEAP32[$2>>2] = $106; + $107 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($107|0); } -function _sqlite3CodeRowTriggerDirect($pParse,$p,$pTab,$reg,$orconf,$ignoreJump) { - $pParse = $pParse|0; - $p = $p|0; - $pTab = $pTab|0; - $reg = $reg|0; - $orconf = $orconf|0; - $ignoreJump = $ignoreJump|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bRecursive = 0; - var $pPrg = 0, $v = 0, label = 0, sp = 0; +function _whereLoopAdjustCost($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$old = 0, $$old1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $v = sp + 8|0; - $pPrg = sp + 4|0; - $bRecursive = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pTab; - HEAP32[$3>>2] = $reg; - HEAP32[$4>>2] = $orconf; - HEAP32[$5>>2] = $ignoreJump; - $6 = HEAP32[$0>>2]|0; - $7 = (_sqlite3GetVdbe($6)|0); - HEAP32[$v>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$4>>2]|0; - $12 = (_getRowTrigger($8,$9,$10,$11)|0); - HEAP32[$pPrg>>2] = $12; - $13 = HEAP32[$pPrg>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 36|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 512; + $8 = ($7|0)!=(0); + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)!=(0|0); + $or$cond = $8 & $10; + if (!($or$cond)) { STACKTOP = sp;return; } - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = ((($19)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = $21 & 262144; - $23 = (0)==($22|0); - $25 = $23; - } else { - $25 = 0; + while(1) { + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($14|0)!=($18|0); + do { + if (!($19)) { + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 36|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 & 512; + $24 = ($23|0)==(0); + if (!($24)) { + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = (_whereLoopCheaperProperSubset($25,$26)|0); + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP16[$30>>1]|0; + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 20|0); + HEAP16[$33>>1] = $31; + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 22|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36 << 16 >> 16; + $38 = (($37) - 1)|0; + $39 = $38&65535; + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 22|0); + HEAP16[$41>>1] = $39; + break; + } + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$2>>2]|0; + $44 = (_whereLoopCheaperProperSubset($42,$43)|0); + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 20|0); + $48 = HEAP16[$47>>1]|0; + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 20|0); + HEAP16[$50>>1] = $48; + $51 = HEAP32[$2>>2]|0; + $52 = ((($51)) + 22|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53 << 16 >> 16; + $55 = (($54) + 1)|0; + $56 = $55&65535; + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 22|0); + HEAP16[$58>>1] = $56; + } + } + } + } while(0); + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 52|0); + $61 = HEAP32[$60>>2]|0; + HEAP32[$2>>2] = $61; + $$old = HEAP32[$2>>2]|0; + $$old1 = ($$old|0)!=(0|0); + if (!($$old1)) { + break; + } } - $24 = $25&1; - HEAP32[$bRecursive>>2] = $24; - $26 = HEAP32[$v>>2]|0; - $27 = HEAP32[$3>>2]|0; - $28 = HEAP32[$5>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 44|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$30>>2] = $32; - $33 = HEAP32[$pPrg>>2]|0; - $34 = ((($33)) + 8|0); - $35 = HEAP32[$34>>2]|0; - (_sqlite3VdbeAddOp4($26,64,$27,$28,$32,$35,-18)|0); - $36 = HEAP32[$v>>2]|0; - $37 = HEAP32[$bRecursive>>2]|0; - $38 = $37&255; - _sqlite3VdbeChangeP5($36,$38); STACKTOP = sp;return; } -function _getRowTrigger($pParse,$pTrigger,$pTab,$orconf) { - $pParse = $pParse|0; - $pTrigger = $pTrigger|0; - $pTab = $pTab|0; - $orconf = $orconf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $pPrg = 0, $pRoot = 0, label = 0; - var sp = 0; +function _whereLoopFindLesser($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 12|0; $3 = sp + 8|0; - $pRoot = sp + 4|0; - $pPrg = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTrigger; - HEAP32[$2>>2] = $pTab; - HEAP32[$3>>2] = $orconf; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 124|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - $8 = HEAP32[$0>>2]|0; - if ($7) { - $9 = ((($8)) + 124|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10; - } else { - $11 = $8; - } - HEAP32[$pRoot>>2] = $11; - $12 = HEAP32[$pRoot>>2]|0; - $13 = ((($12)) + 468|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pPrg>>2] = $14; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$5>>2] = $7; while(1) { - $15 = HEAP32[$pPrg>>2]|0; - $16 = ($15|0)!=(0|0); - if (!($16)) { + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + label = 19; break; } - $17 = HEAP32[$pPrg>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ($18|0)!=($19|0); - if (!($20)) { - $21 = HEAP32[$pPrg>>2]|0; - $22 = ((($21)) + 12|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$3>>2]|0; - $25 = ($23|0)!=($24|0); - if (!($25)) { - break; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = ($13|0)!=($17|0); + if (!($18)) { + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 17|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 17|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($22|0)!=($26|0); + if (!($27)) { + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 36|0); + $30 = HEAP32[$29>>2]|0; + $31 = $30 & 16384; + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 42|0); + $35 = HEAP16[$34>>1]|0; + $36 = $35&65535; + $37 = ($36|0)==(0); + if ($37) { + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 36|0); + $40 = HEAP32[$39>>2]|0; + $41 = $40 & 512; + $42 = ($41|0)!=(0); + if ($42) { + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 36|0); + $45 = HEAP32[$44>>2]|0; + $46 = $45 & 1; + $47 = ($46|0)!=(0); + if ($47) { + $48 = HEAP32[$5>>2]|0; + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = $55; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = $51 & $58; + $63 = $54 & $61; + $64 = HEAP32[$4>>2]|0; + $65 = $64; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (($65) + 4)|0; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = ($62|0)==($67|0); + $72 = ($63|0)==($70|0); + $73 = $71 & $72; + if ($73) { + label = 19; + break; + } + } + } + } + } + $74 = HEAP32[$5>>2]|0; + $75 = $74; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$4>>2]|0; + $82 = $81; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $77 & $84; + $89 = $80 & $87; + $90 = HEAP32[$5>>2]|0; + $91 = $90; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (($91) + 4)|0; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = ($88|0)==($93|0); + $98 = ($89|0)==($96|0); + $99 = $97 & $98; + if ($99) { + $100 = HEAP32[$5>>2]|0; + $101 = ((($100)) + 18|0); + $102 = HEAP16[$101>>1]|0; + $103 = $102 << 16 >> 16; + $104 = HEAP32[$4>>2]|0; + $105 = ((($104)) + 18|0); + $106 = HEAP16[$105>>1]|0; + $107 = $106 << 16 >> 16; + $108 = ($103|0)<=($107|0); + if ($108) { + $109 = HEAP32[$5>>2]|0; + $110 = ((($109)) + 20|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111 << 16 >> 16; + $113 = HEAP32[$4>>2]|0; + $114 = ((($113)) + 20|0); + $115 = HEAP16[$114>>1]|0; + $116 = $115 << 16 >> 16; + $117 = ($112|0)<=($116|0); + if ($117) { + $118 = HEAP32[$5>>2]|0; + $119 = ((($118)) + 22|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120 << 16 >> 16; + $122 = HEAP32[$4>>2]|0; + $123 = ((($122)) + 22|0); + $124 = HEAP16[$123>>1]|0; + $125 = $124 << 16 >> 16; + $126 = ($121|0)<=($125|0); + if ($126) { + label = 14; + break; + } + } + } + } + $127 = HEAP32[$5>>2]|0; + $128 = $127; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = (($128) + 4)|0; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = HEAP32[$4>>2]|0; + $135 = $134; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (($135) + 4)|0; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = $130 & $137; + $142 = $133 & $140; + $143 = HEAP32[$4>>2]|0; + $144 = $143; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = ($141|0)==($146|0); + $151 = ($142|0)==($149|0); + $152 = $150 & $151; + if ($152) { + $153 = HEAP32[$5>>2]|0; + $154 = ((($153)) + 20|0); + $155 = HEAP16[$154>>1]|0; + $156 = $155 << 16 >> 16; + $157 = HEAP32[$4>>2]|0; + $158 = ((($157)) + 20|0); + $159 = HEAP16[$158>>1]|0; + $160 = $159 << 16 >> 16; + $161 = ($156|0)>=($160|0); + if ($161) { + $162 = HEAP32[$5>>2]|0; + $163 = ((($162)) + 22|0); + $164 = HEAP16[$163>>1]|0; + $165 = $164 << 16 >> 16; + $166 = HEAP32[$4>>2]|0; + $167 = ((($166)) + 22|0); + $168 = HEAP16[$167>>1]|0; + $169 = $168 << 16 >> 16; + $170 = ($165|0)>=($169|0); + if ($170) { + label = 19; + break; + } + } + } } } - $26 = HEAP32[$pPrg>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$pPrg>>2] = $28; + $171 = HEAP32[$5>>2]|0; + $172 = ((($171)) + 52|0); + HEAP32[$3>>2] = $172; + $173 = HEAP32[$3>>2]|0; + $174 = HEAP32[$173>>2]|0; + HEAP32[$5>>2] = $174; } - $29 = HEAP32[$pPrg>>2]|0; - $30 = ($29|0)!=(0|0); - if ($30) { - $36 = HEAP32[$pPrg>>2]|0; - STACKTOP = sp;return ($36|0); + if ((label|0) == 14) { + HEAP32[$2>>2] = 0; + $176 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($176|0); } - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = (_codeRowTrigger($31,$32,$33,$34)|0); - HEAP32[$pPrg>>2] = $35; - $36 = HEAP32[$pPrg>>2]|0; - STACKTOP = sp;return ($36|0); + else if ((label|0) == 19) { + $175 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $175; + $176 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($176|0); + } + return (0)|0; } -function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { - $pParse = $pParse|0; - $pTrigger = $pTrigger|0; - $pTab = $pTab|0; - $orconf = $orconf|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; +function _whereLoopXfer($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + _whereLoopClearUnion($7,$8); + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = ((($11)) + 40|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = (_whereLoopResize($9,$10,$14)|0); + $16 = ($15|0)!=(0); + $17 = HEAP32[$5>>2]|0; + if ($16) { + $18 = ((($17)) + 24|0); + ;HEAP32[$18>>2]=0|0;HEAP32[$18+4>>2]=0|0;HEAP32[$18+8>>2]=0|0; + HEAP32[$3>>2] = 7; + $46 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($46|0); + } + $19 = HEAP32[$6>>2]|0; + dest=$17; src=$19; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 48|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 40|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28&65535; + $30 = $29<<2; + _memcpy(($22|0),($25|0),($30|0))|0; + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 36|0); + $33 = HEAP32[$32>>2]|0; + $34 = $33 & 1024; + $35 = ($34|0)!=(0); + $36 = HEAP32[$6>>2]|0; + if ($35) { + $37 = ((($36)) + 24|0); + $38 = ((($37)) + 4|0); + HEAP8[$38>>0] = 0; + } else { + $39 = ((($36)) + 36|0); + $40 = HEAP32[$39>>2]|0; + $41 = $40 & 16384; + $42 = ($41|0)!=(0); + if ($42) { + $43 = HEAP32[$6>>2]|0; + $44 = ((($43)) + 24|0); + $45 = ((($44)) + 8|0); + HEAP32[$45>>2] = 0; + } + } + HEAP32[$3>>2] = 0; + $46 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($46|0); +} +function _whereLoopCheaperProperSubset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $db = 0, $iEndTrigger = 0, $pPrg = 0, $pProgram = 0, $pSubParse = 0, $pTop = 0, $pWhen = 0, $sNC = 0, $v = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer = sp; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; - $3 = sp + 72|0; - $4 = sp + 68|0; - $pTop = sp + 64|0; - $db = sp + 60|0; - $pPrg = sp + 56|0; - $pWhen = sp + 52|0; - $v = sp + 48|0; - $sNC = sp + 16|0; - $pProgram = sp + 12|0; - $pSubParse = sp + 8|0; - $iEndTrigger = sp + 4|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pTrigger; - HEAP32[$3>>2] = $pTab; - HEAP32[$4>>2] = $orconf; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 124|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = HEAP32[$1>>2]|0; - if ($8) { - $10 = ((($9)) + 124|0); - $11 = HEAP32[$10>>2]|0; - $12 = $11; - } else { - $12 = $9; - } - HEAP32[$pTop>>2] = $12; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$13>>2]|0; - HEAP32[$db>>2] = $14; - HEAP32[$pWhen>>2] = 0; - HEAP32[$pProgram>>2] = 0; - HEAP32[$iEndTrigger>>2] = 0; - $15 = HEAP32[$db>>2]|0; - $16 = (_sqlite3DbMallocZero($15,24,0)|0); - HEAP32[$pPrg>>2] = $16; - $17 = HEAP32[$pPrg>>2]|0; - $18 = ($17|0)!=(0|0); - if (!($18)) { - HEAP32[$0>>2] = 0; - $160 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($160|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 40|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 42|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = (($10) - ($14))|0; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 40|0); + $18 = HEAP16[$17>>1]|0; + $19 = $18&65535; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 42|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = (($19) - ($23))|0; + $25 = ($15|0)>=($24|0); + if ($25) { + HEAP32[$2>>2] = 0; + $102 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($102|0); } - $19 = HEAP32[$pTop>>2]|0; - $20 = ((($19)) + 468|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$pPrg>>2]|0; - $23 = ((($22)) + 4|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$pPrg>>2]|0; - $25 = HEAP32[$pTop>>2]|0; - $26 = ((($25)) + 468|0); - HEAP32[$26>>2] = $24; - $27 = HEAP32[$db>>2]|0; - $28 = (_sqlite3DbMallocZero($27,24,0)|0); - HEAP32[$pProgram>>2] = $28; - $29 = HEAP32[$pPrg>>2]|0; - $30 = ((($29)) + 8|0); - HEAP32[$30>>2] = $28; - $31 = HEAP32[$pProgram>>2]|0; - $32 = ($31|0)!=(0|0); - if (!($32)) { - HEAP32[$0>>2] = 0; - $160 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($160|0); + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 42|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28&65535; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 42|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32&65535; + $34 = ($29|0)>($33|0); + if ($34) { + HEAP32[$2>>2] = 0; + $102 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($102|0); } - $33 = HEAP32[$pTop>>2]|0; - $34 = ((($33)) + 8|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$pProgram>>2]|0; - _sqlite3VdbeLinkSubProgram($35,$36); - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$pPrg>>2]|0; - HEAP32[$38>>2] = $37; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 20|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37 << 16 >> 16; $39 = HEAP32[$4>>2]|0; - $40 = HEAP32[$pPrg>>2]|0; - $41 = ((($40)) + 12|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$pPrg>>2]|0; - $43 = ((($42)) + 16|0); - HEAP32[$43>>2] = -1; - $44 = HEAP32[$pPrg>>2]|0; - $45 = ((($44)) + 16|0); - $46 = ((($45)) + 4|0); - HEAP32[$46>>2] = -1; - $47 = HEAP32[$db>>2]|0; - $48 = (_sqlite3DbMallocZero($47,480,0)|0); - HEAP32[$pSubParse>>2] = $48; - $49 = HEAP32[$pSubParse>>2]|0; - $50 = ($49|0)!=(0|0); - if (!($50)) { - HEAP32[$0>>2] = 0; - $160 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($160|0); + $40 = ((($39)) + 20|0); + $41 = HEAP16[$40>>1]|0; + $42 = $41 << 16 >> 16; + $43 = ($38|0)>=($42|0); + if ($43) { + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 20|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46 << 16 >> 16; + $48 = HEAP32[$4>>2]|0; + $49 = ((($48)) + 20|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50 << 16 >> 16; + $52 = ($47|0)>($51|0); + if ($52) { + HEAP32[$2>>2] = 0; + $102 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($102|0); + } + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 22|0); + $55 = HEAP16[$54>>1]|0; + $56 = $55 << 16 >> 16; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 22|0); + $59 = HEAP16[$58>>1]|0; + $60 = $59 << 16 >> 16; + $61 = ($56|0)>($60|0); + if ($61) { + HEAP32[$2>>2] = 0; + $102 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($102|0); + } } - ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $51 = HEAP32[$pSubParse>>2]|0; - HEAP32[$sNC>>2] = $51; - $52 = HEAP32[$db>>2]|0; - $53 = HEAP32[$pSubParse>>2]|0; - HEAP32[$53>>2] = $52; - $54 = HEAP32[$3>>2]|0; - $55 = HEAP32[$pSubParse>>2]|0; - $56 = ((($55)) + 128|0); - HEAP32[$56>>2] = $54; - $57 = HEAP32[$pTop>>2]|0; - $58 = HEAP32[$pSubParse>>2]|0; - $59 = ((($58)) + 124|0); - HEAP32[$59>>2] = $57; - $60 = HEAP32[$2>>2]|0; - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$pSubParse>>2]|0; - $63 = ((($62)) + 448|0); - HEAP32[$63>>2] = $61; - $64 = HEAP32[$2>>2]|0; - $65 = ((($64)) + 8|0); - $66 = HEAP8[$65>>0]|0; - $67 = HEAP32[$pSubParse>>2]|0; - $68 = ((($67)) + 148|0); - HEAP8[$68>>0] = $66; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 136|0); - $71 = HEAP32[$70>>2]|0; - $72 = HEAP32[$pSubParse>>2]|0; - $73 = ((($72)) + 136|0); - HEAP32[$73>>2] = $71; - $74 = HEAP32[$pSubParse>>2]|0; - $75 = (_sqlite3GetVdbe($74)|0); - HEAP32[$v>>2] = $75; - $76 = HEAP32[$v>>2]|0; - $77 = ($76|0)!=(0|0); - if ($77) { - $78 = HEAP32[$v>>2]|0; - $79 = HEAP32[$db>>2]|0; - $80 = HEAP32[$2>>2]|0; - $81 = HEAP32[$80>>2]|0; - HEAP32[$vararg_buffer>>2] = $81; - $82 = (_sqlite3MPrintf($79,34884,$vararg_buffer)|0); - _sqlite3VdbeChangeP4($78,-1,$82,-1); - $83 = HEAP32[$2>>2]|0; - $84 = ((($83)) + 12|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)!=(0|0); - if ($86) { - $87 = HEAP32[$db>>2]|0; - $88 = HEAP32[$2>>2]|0; - $89 = ((($88)) + 12|0); - $90 = HEAP32[$89>>2]|0; - $91 = (_sqlite3ExprDup($87,$90,0)|0); - HEAP32[$pWhen>>2] = $91; - $92 = HEAP32[$pWhen>>2]|0; - $93 = (_sqlite3ResolveExprNames($sNC,$92)|0); - $94 = (0)==($93|0); - if ($94) { - $95 = HEAP32[$db>>2]|0; - $96 = ((($95)) + 69|0); - $97 = HEAP8[$96>>0]|0; - $98 = $97&255; - $99 = ($98|0)==(0); - if ($99) { - $100 = HEAP32[$v>>2]|0; - $101 = (_sqlite3VdbeMakeLabel($100)|0); - HEAP32[$iEndTrigger>>2] = $101; - $102 = HEAP32[$pSubParse>>2]|0; - $103 = HEAP32[$pWhen>>2]|0; - $104 = HEAP32[$iEndTrigger>>2]|0; - _sqlite3ExprIfFalse($102,$103,$104,16); + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 40|0); + $64 = HEAP16[$63>>1]|0; + $65 = $64&65535; + $66 = (($65) - 1)|0; + HEAP32[$5>>2] = $66; + while(1) { + $67 = HEAP32[$5>>2]|0; + $68 = ($67|0)>=(0); + if (!($68)) { + label = 20; + break; + } + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 48|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$5>>2]|0; + $73 = (($71) + ($72<<2)|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0|0); + if (!($75)) { + $76 = HEAP32[$4>>2]|0; + $77 = ((($76)) + 40|0); + $78 = HEAP16[$77>>1]|0; + $79 = $78&65535; + $80 = (($79) - 1)|0; + HEAP32[$6>>2] = $80; + while(1) { + $81 = HEAP32[$6>>2]|0; + $82 = ($81|0)>=(0); + if (!($82)) { + break; + } + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 48|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$6>>2]|0; + $87 = (($85) + ($86<<2)|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$3>>2]|0; + $90 = ((($89)) + 48|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$5>>2]|0; + $93 = (($91) + ($92<<2)|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($88|0)==($94|0); + if ($95) { + break; } + $96 = HEAP32[$6>>2]|0; + $97 = (($96) + -1)|0; + HEAP32[$6>>2] = $97; + } + $98 = HEAP32[$6>>2]|0; + $99 = ($98|0)<(0); + if ($99) { + label = 18; + break; } - $105 = HEAP32[$db>>2]|0; - $106 = HEAP32[$pWhen>>2]|0; - _sqlite3ExprDelete($105,$106); } - $107 = HEAP32[$pSubParse>>2]|0; - $108 = HEAP32[$2>>2]|0; - $109 = ((($108)) + 28|0); - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$4>>2]|0; - (_codeTriggerProgram($107,$110,$111)|0); - $112 = HEAP32[$iEndTrigger>>2]|0; - $113 = ($112|0)!=(0); - if ($113) { - $114 = HEAP32[$v>>2]|0; - $115 = HEAP32[$iEndTrigger>>2]|0; - _sqlite3VdbeResolveLabel($114,$115); - } - $116 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($116,75)|0); - $117 = HEAP32[$1>>2]|0; - $118 = HEAP32[$pSubParse>>2]|0; - _transferParseError($117,$118); - $119 = HEAP32[$db>>2]|0; - $120 = ((($119)) + 69|0); - $121 = HEAP8[$120>>0]|0; - $122 = $121&255; - $123 = ($122|0)==(0); - if ($123) { - $124 = HEAP32[$v>>2]|0; - $125 = HEAP32[$pProgram>>2]|0; - $126 = ((($125)) + 4|0); - $127 = HEAP32[$pTop>>2]|0; - $128 = ((($127)) + 108|0); - $129 = (_sqlite3VdbeTakeOpArray($124,$126,$128)|0); - $130 = HEAP32[$pProgram>>2]|0; - HEAP32[$130>>2] = $129; - } - $131 = HEAP32[$pSubParse>>2]|0; - $132 = ((($131)) + 44|0); - $133 = HEAP32[$132>>2]|0; - $134 = HEAP32[$pProgram>>2]|0; - $135 = ((($134)) + 8|0); - HEAP32[$135>>2] = $133; - $136 = HEAP32[$pSubParse>>2]|0; - $137 = ((($136)) + 40|0); - $138 = HEAP32[$137>>2]|0; - $139 = HEAP32[$pProgram>>2]|0; - $140 = ((($139)) + 12|0); - HEAP32[$140>>2] = $138; - $141 = HEAP32[$2>>2]|0; - $142 = HEAP32[$pProgram>>2]|0; - $143 = ((($142)) + 16|0); - HEAP32[$143>>2] = $141; - $144 = HEAP32[$pSubParse>>2]|0; - $145 = ((($144)) + 140|0); - $146 = HEAP32[$145>>2]|0; - $147 = HEAP32[$pPrg>>2]|0; - $148 = ((($147)) + 16|0); - HEAP32[$148>>2] = $146; - $149 = HEAP32[$pSubParse>>2]|0; - $150 = ((($149)) + 144|0); - $151 = HEAP32[$150>>2]|0; - $152 = HEAP32[$pPrg>>2]|0; - $153 = ((($152)) + 16|0); - $154 = ((($153)) + 4|0); - HEAP32[$154>>2] = $151; - $155 = HEAP32[$v>>2]|0; - _sqlite3VdbeDelete($155); - } - $156 = HEAP32[$pSubParse>>2]|0; - _sqlite3ParserReset($156); - $157 = HEAP32[$db>>2]|0; - $158 = HEAP32[$pSubParse>>2]|0; - _sqlite3DbFree($157,$158); - $159 = HEAP32[$pPrg>>2]|0; - HEAP32[$0>>2] = $159; - $160 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($160|0); -} -function _sqlite3VdbeLinkSubProgram($pVdbe,$p) { - $pVdbe = $pVdbe|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pVdbe; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 200|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 20|0); - HEAP32[$6>>2] = $4; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 200|0); - HEAP32[$9>>2] = $7; - STACKTOP = sp;return; + $100 = HEAP32[$5>>2]|0; + $101 = (($100) + -1)|0; + HEAP32[$5>>2] = $101; + } + if ((label|0) == 18) { + HEAP32[$2>>2] = 0; + $102 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($102|0); + } + else if ((label|0) == 20) { + HEAP32[$2>>2] = 1; + $102 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($102|0); + } + return (0)|0; } -function _codeTriggerProgram($pParse,$pStepList,$orconf) { - $pParse = $pParse|0; - $pStepList = $pStepList|0; - $orconf = $orconf|0; - var $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $db = 0, $pSelect = 0, $pStep = 0, $sDest = 0, $v = 0, label = 0, sp = 0; +function _whereUsablePartialIndex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $pStep = sp + 40|0; - $v = sp + 36|0; - $db = sp + 32|0; - $sDest = sp + 8|0; - $pSelect = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pStepList; - HEAP32[$2>>2] = $orconf; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$v>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$db>>2] = $7; - $8 = HEAP32[$1>>2]|0; - HEAP32[$pStep>>2] = $8; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; while(1) { - $9 = HEAP32[$pStep>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - break; - } - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)==(10); - if ($12) { - $13 = HEAP32[$pStep>>2]|0; - $14 = ((($13)) + 1|0); - $15 = HEAP8[$14>>0]|0; - $$sink = $15; - } else { - $16 = HEAP32[$2>>2]|0; - $17 = $16&255; - $$sink = $17; - } - $18 = $$sink&255; - $19 = $18&255; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 149|0); - HEAP8[$21>>0] = $19; - $22 = HEAP32[$pStep>>2]|0; - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - switch ($24|0) { - case 110: { - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$pStep>>2]|0; - $28 = (_targetSrcList($26,$27)|0); - $29 = HEAP32[$db>>2]|0; - $30 = HEAP32[$pStep>>2]|0; - $31 = ((($30)) + 20|0); - $32 = HEAP32[$31>>2]|0; - $33 = (_sqlite3ExprListDup($29,$32,0)|0); - $34 = HEAP32[$db>>2]|0; - $35 = HEAP32[$pStep>>2]|0; - $36 = ((($35)) + 16|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_sqlite3ExprDup($34,$37,0)|0); - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 149|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - _sqlite3Update($25,$28,$33,$38,$42); + $10 = HEAP32[$6>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)==(28); + if (!($13)) { break; } - case 108: { - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$0>>2]|0; - $45 = HEAP32[$pStep>>2]|0; - $46 = (_targetSrcList($44,$45)|0); - $47 = HEAP32[$db>>2]|0; - $48 = HEAP32[$pStep>>2]|0; - $49 = ((($48)) + 8|0); - $50 = HEAP32[$49>>2]|0; - $51 = (_sqlite3SelectDup($47,$50,0)|0); - $52 = HEAP32[$db>>2]|0; - $53 = HEAP32[$pStep>>2]|0; - $54 = ((($53)) + 24|0); - $55 = HEAP32[$54>>2]|0; - $56 = (_sqlite3IdListDup($52,$55)|0); - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 149|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - _sqlite3Insert($43,$46,$51,$56,$60); + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_whereUsablePartialIndex($14,$15,$18)|0); + $20 = ($19|0)!=(0); + if (!($20)) { + label = 4; break; } - case 109: { - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$0>>2]|0; - $63 = HEAP32[$pStep>>2]|0; - $64 = (_targetSrcList($62,$63)|0); - $65 = HEAP32[$db>>2]|0; - $66 = HEAP32[$pStep>>2]|0; - $67 = ((($66)) + 16|0); - $68 = HEAP32[$67>>2]|0; - $69 = (_sqlite3ExprDup($65,$68,0)|0); - _sqlite3DeleteFrom($61,$64,$69); + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$6>>2] = $23; + } + if ((label|0) == 4) { + HEAP32[$3>>2] = 0; + $54 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($54|0); + } + HEAP32[$7>>2] = 0; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 20|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$8>>2] = $26; + while(1) { + $27 = HEAP32[$7>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($27|0)<($30|0); + if (!($31)) { + label = 13; break; } - default: { - $70 = HEAP32[$db>>2]|0; - $71 = HEAP32[$pStep>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = (_sqlite3SelectDup($70,$73,0)|0); - HEAP32[$pSelect>>2] = $74; - _sqlite3SelectDestInit($sDest,4,0); - $75 = HEAP32[$0>>2]|0; - $76 = HEAP32[$pSelect>>2]|0; - (_sqlite3Select($75,$76,$sDest)|0); - $77 = HEAP32[$db>>2]|0; - $78 = HEAP32[$pSelect>>2]|0; - _sqlite3SelectDelete($77,$78); - } - } - $79 = HEAP32[$pStep>>2]|0; - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = ($81|0)!=(119); - if ($82) { - $83 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($83,118)|0); + $32 = HEAP32[$8>>2]|0; + $33 = HEAP32[$32>>2]|0; + HEAP32[$9>>2] = $33; + $34 = HEAP32[$9>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = (_sqlite3ExprImpliesExpr($34,$35,$36)|0); + $38 = ($37|0)!=(0); + if ($38) { + $39 = HEAP32[$9>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = $41 & 1; + $43 = ($42|0)!=(0); + if (!($43)) { + label = 11; + break; + } + $44 = HEAP32[$9>>2]|0; + $45 = ((($44)) + 36|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46 << 16 >> 16; + $48 = HEAP32[$4>>2]|0; + $49 = ($47|0)==($48|0); + if ($49) { + label = 11; + break; + } } - $84 = HEAP32[$pStep>>2]|0; - $85 = ((($84)) + 28|0); - $86 = HEAP32[$85>>2]|0; - HEAP32[$pStep>>2] = $86; + $50 = HEAP32[$7>>2]|0; + $51 = (($50) + 1)|0; + HEAP32[$7>>2] = $51; + $52 = HEAP32[$8>>2]|0; + $53 = ((($52)) + 48|0); + HEAP32[$8>>2] = $53; } - STACKTOP = sp;return 0; + if ((label|0) == 11) { + HEAP32[$3>>2] = 1; + $54 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($54|0); + } + else if ((label|0) == 13) { + HEAP32[$3>>2] = 0; + $54 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($54|0); + } + return (0)|0; } -function _transferParseError($pTo,$pFrom) { - $pTo = $pTo|0; - $pFrom = $pFrom|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _indexMightHelpWithOrderBy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|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, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pTo; - HEAP32[$1>>2] = $pFrom; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 36|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - $6 = HEAP32[$1>>2]|0; - if ($5) { - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 4|0); - HEAP32[$10>>2] = $8; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 36|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 36|0); - HEAP32[$15>>2] = $13; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 12|0); - HEAP32[$20>>2] = $18; - STACKTOP = sp;return; - } else { - $21 = HEAP32[$6>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - _sqlite3DbFree($21,$24); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 55|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14&255) >>> 2; + $16 = $15 & 1; + $17 = $16&255; + $18 = ($17|0)!=(0); + if ($18) { + HEAP32[$3>>2] = 0; + $101 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($101|0); } -} -function _sqlite3VdbeTakeOpArray($p,$pnOp,$pnMaxArg) { - $p = $p|0; - $pnOp = $pnOp|0; - $pnMaxArg = $pnMaxArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aOp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $aOp = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pnOp; - HEAP32[$2>>2] = $pnMaxArg; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 88|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$aOp>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$2>>2]|0; - _resolveP2Values($6,$7); - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 136|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - HEAP32[$11>>2] = $10; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 88|0); - HEAP32[$13>>2] = 0; - $14 = HEAP32[$aOp>>2]|0; - STACKTOP = sp;return ($14|0); -} -function _resolveP2Values($p,$pMaxFuncArgs) { - $p = $p|0; - $pMaxFuncArgs = $pMaxFuncArgs|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aLabel = 0; - var $n = 0, $nMaxArgs = 0, $pOp = 0, $pParse = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $nMaxArgs = sp + 16|0; - $pOp = sp + 12|0; - $pParse = sp + 8|0; - $aLabel = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pMaxFuncArgs; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$nMaxArgs>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pParse>>2] = $6; - $7 = HEAP32[$pParse>>2]|0; - $8 = ((($7)) + 76|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$aLabel>>2] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 144|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12 & -129; - $14 = $13 | 128; - HEAP16[$11>>1] = $14; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 144|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17 & -257; - HEAP16[$16>>1] = $18; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 136|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) - 1)|0; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 88|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + (($22*20)|0)|0); - HEAP32[$pOp>>2] = $26; - while(1) { - $27 = HEAP32[$pOp>>2]|0; - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)<=(71); - if ($30) { - $31 = HEAP32[$pOp>>2]|0; - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - switch ($33|0) { - case 2: { - $34 = HEAP32[$pOp>>2]|0; - $35 = ((($34)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 144|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40 & -129; - HEAP16[$39>>1] = $41; - label = 6; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$7>>2] = $22; + $23 = ($22|0)==(0|0); + if ($23) { + HEAP32[$3>>2] = 0; + $101 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($101|0); + } + HEAP32[$9>>2] = 0; + L9: while(1) { + $24 = HEAP32[$9>>2]|0; + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = ($24|0)<($26|0); + if (!($27)) { + label = 24; + break; + } + $28 = HEAP32[$7>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$9>>2]|0; + $32 = (($30) + (($31*20)|0)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sqlite3ExprSkipCollate($33)|0); + HEAP32[$11>>2] = $34; + $35 = HEAP32[$11>>2]|0; + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = ($37|0)==(152); + L12: do { + if ($38) { + $39 = HEAP32[$11>>2]|0; + $40 = ((($39)) + 28|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = ($41|0)==($42|0); + if ($43) { + $44 = HEAP32[$11>>2]|0; + $45 = ((($44)) + 32|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46 << 16 >> 16; + $48 = ($47|0)<(0); + if ($48) { + label = 10; + break L9; + } + HEAP32[$10>>2] = 0; + while(1) { + $49 = HEAP32[$10>>2]|0; + $50 = HEAP32[$5>>2]|0; + $51 = ((($50)) + 50|0); + $52 = HEAP16[$51>>1]|0; + $53 = $52&65535; + $54 = ($49|0)<($53|0); + if (!($54)) { + break L12; + } + $55 = HEAP32[$11>>2]|0; + $56 = ((($55)) + 32|0); + $57 = HEAP16[$56>>1]|0; + $58 = $57 << 16 >> 16; + $59 = HEAP32[$5>>2]|0; + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$10>>2]|0; + $63 = (($61) + ($62<<1)|0); + $64 = HEAP16[$63>>1]|0; + $65 = $64 << 16 >> 16; + $66 = ($58|0)==($65|0); + if ($66) { + label = 14; + break L9; + } + $67 = HEAP32[$10>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$10>>2] = $68; + } } else { - label = 6; - } - break; - } - case 0: case 1: { - label = 6; - break; - } - case 9: case 10: case 8: { - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 144|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49 & -129; - HEAP16[$48>>1] = $50; - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 144|0); - $53 = HEAP16[$52>>1]|0; - $54 = $53 & -257; - $55 = $54 | 256; - HEAP16[$52>>1] = $55; - break; - } - case 12: { - $56 = HEAP32[$pOp>>2]|0; - $57 = ((($56)) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$nMaxArgs>>2]|0; - $60 = ($58|0)>($59|0); - if ($60) { - $61 = HEAP32[$pOp>>2]|0; - $62 = ((($61)) + 8|0); - $63 = HEAP32[$62>>2]|0; - HEAP32[$nMaxArgs>>2] = $63; - } - break; - } - case 11: { - $64 = HEAP32[$pOp>>2]|0; - $65 = ((($64)) + -20|0); - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - HEAP32[$n>>2] = $67; - $68 = HEAP32[$n>>2]|0; - $69 = HEAP32[$nMaxArgs>>2]|0; - $70 = ($68|0)>($69|0); - if ($70) { - $71 = HEAP32[$n>>2]|0; - HEAP32[$nMaxArgs>>2] = $71; + label = 16; } - break; - } - case 3: case 5: case 7: { - $72 = HEAP32[$pOp>>2]|0; - $73 = ((($72)) + 16|0); - HEAP32[$73>>2] = 201; - $74 = HEAP32[$pOp>>2]|0; - $75 = ((($74)) + 1|0); - HEAP8[$75>>0] = -19; - break; - } - case 4: case 6: { - $76 = HEAP32[$pOp>>2]|0; - $77 = ((($76)) + 16|0); - HEAP32[$77>>2] = 202; - $78 = HEAP32[$pOp>>2]|0; - $79 = ((($78)) + 1|0); - HEAP8[$79>>0] = -19; - break; - } - default: { - } + } else { + label = 16; } - if ((label|0) == 6) { + } while(0); + L20: do { + if ((label|0) == 16) { label = 0; - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 144|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44 & -257; - $46 = $45 | 256; - HEAP16[$43>>1] = $46; - } - $80 = HEAP32[$pOp>>2]|0; - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $83 = (34898 + ($82)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $85 & 1; - $87 = ($86|0)!=(0); - if ($87) { - $88 = HEAP32[$pOp>>2]|0; - $89 = ((($88)) + 8|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)<(0); - if ($91) { - $92 = HEAP32[$pOp>>2]|0; - $93 = ((($92)) + 8|0); - $94 = HEAP32[$93>>2]|0; - $95 = (-1 - ($94))|0; - $96 = HEAP32[$aLabel>>2]|0; - $97 = (($96) + ($95<<2)|0); - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$pOp>>2]|0; - $100 = ((($99)) + 8|0); - HEAP32[$100>>2] = $98; + $69 = HEAP32[$5>>2]|0; + $70 = ((($69)) + 40|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$8>>2] = $71; + $72 = ($71|0)!=(0|0); + if ($72) { + HEAP32[$10>>2] = 0; + while(1) { + $73 = HEAP32[$10>>2]|0; + $74 = HEAP32[$5>>2]|0; + $75 = ((($74)) + 50|0); + $76 = HEAP16[$75>>1]|0; + $77 = $76&65535; + $78 = ($73|0)<($77|0); + if (!($78)) { + break L20; + } + $79 = HEAP32[$5>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$10>>2]|0; + $83 = (($81) + ($82<<1)|0); + $84 = HEAP16[$83>>1]|0; + $85 = $84 << 16 >> 16; + $86 = ($85|0)!=(-2); + if (!($86)) { + $87 = HEAP32[$11>>2]|0; + $88 = HEAP32[$8>>2]|0; + $89 = ((($88)) + 4|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$10>>2]|0; + $92 = (($90) + (($91*20)|0)|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$6>>2]|0; + $95 = (_sqlite3ExprCompare($87,$93,$94)|0); + $96 = ($95|0)==(0); + if ($96) { + label = 21; + break L9; + } + } + $97 = HEAP32[$10>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[$10>>2] = $98; + } } } - } - $101 = HEAP32[$pOp>>2]|0; - $102 = HEAP32[$0>>2]|0; - $103 = ((($102)) + 88|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($101|0)==($104|0); - if ($105) { - break; - } - $106 = HEAP32[$pOp>>2]|0; - $107 = ((($106)) + -20|0); - HEAP32[$pOp>>2] = $107; + } while(0); + $99 = HEAP32[$9>>2]|0; + $100 = (($99) + 1)|0; + HEAP32[$9>>2] = $100; } - $108 = HEAP32[$0>>2]|0; - $109 = HEAP32[$108>>2]|0; - $110 = HEAP32[$pParse>>2]|0; - $111 = ((($110)) + 76|0); - $112 = HEAP32[$111>>2]|0; - _sqlite3DbFree($109,$112); - $113 = HEAP32[$pParse>>2]|0; - $114 = ((($113)) + 76|0); - HEAP32[$114>>2] = 0; - $115 = HEAP32[$pParse>>2]|0; - $116 = ((($115)) + 72|0); - HEAP32[$116>>2] = 0; - $117 = HEAP32[$nMaxArgs>>2]|0; - $118 = HEAP32[$1>>2]|0; - HEAP32[$118>>2] = $117; - STACKTOP = sp;return; -} -function _sqlite3BtreeNext($pCur,$pRes) { - $pCur = $pCur|0; - $pRes = $pRes|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $pPage = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pPage = sp; - HEAP32[$1>>2] = $pCur; - HEAP32[$2>>2] = $pRes; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 16|0); - $5 = ((($4)) + 18|0); - HEAP16[$5>>1] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 64|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = $9 & -7; - $11 = $10&255; - HEAP8[$7>>0] = $11; - $12 = HEAP32[$2>>2]|0; - HEAP32[$12>>2] = 0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 66|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)!=(1); - $18 = HEAP32[$1>>2]|0; - if ($17) { - $19 = HEAP32[$2>>2]|0; - $20 = (_btreeNext($18,$19)|0); - HEAP32[$0>>2] = $20; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + if ((label|0) == 10) { + HEAP32[$3>>2] = 1; + $101 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($101|0); } - $21 = ((($18)) + 68|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22 << 24 >> 24; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 120|0); - $26 = (($25) + ($23<<2)|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pPage>>2] = $27; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 68|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30 << 24 >> 24; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 80|0); - $34 = (($33) + ($31<<1)|0); - $35 = HEAP16[$34>>1]|0; - $36 = (($35) + 1)<<16>>16; - HEAP16[$34>>1] = $36; - $37 = $36&65535; - $38 = HEAP32[$pPage>>2]|0; - $39 = ((($38)) + 18|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40&65535; - $42 = ($37|0)>=($41|0); - if ($42) { - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 68|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45 << 24 >> 24; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 80|0); - $49 = (($48) + ($46<<1)|0); - $50 = HEAP16[$49>>1]|0; - $51 = (($50) + -1)<<16>>16; - HEAP16[$49>>1] = $51; - $52 = HEAP32[$1>>2]|0; - $53 = HEAP32[$2>>2]|0; - $54 = (_btreeNext($52,$53)|0); - HEAP32[$0>>2] = $54; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + else if ((label|0) == 14) { + HEAP32[$3>>2] = 1; + $101 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($101|0); } - $55 = HEAP32[$pPage>>2]|0; - $56 = ((($55)) + 4|0); - $57 = HEAP8[$56>>0]|0; - $58 = ($57<<24>>24)!=(0); - if ($58) { - HEAP32[$0>>2] = 0; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); - } else { - $59 = HEAP32[$1>>2]|0; - $60 = (_moveToLeftmost($59)|0); - HEAP32[$0>>2] = $60; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + else if ((label|0) == 21) { + HEAP32[$3>>2] = 1; + $101 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($101|0); + } + else if ((label|0) == 24) { + HEAP32[$3>>2] = 0; + $101 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($101|0); } return (0)|0; } -function _sqlite3BtreePrevious($pCur,$pRes) { - $pCur = $pCur|0; - $pRes = $pRes|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _whereLoopOutputAdjust($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $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, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pCur; - HEAP32[$2>>2] = $pRes; - $3 = HEAP32[$2>>2]|0; - HEAP32[$3>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 64|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 & -15; - $9 = $8&255; - HEAP8[$5>>0] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 16|0); - $12 = ((($11)) + 18|0); + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 42|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 40|0; + $13 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP16[$5>>1] = $2; + $14 = HEAP32[$4>>2]|0; + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 8|0); + $23 = $22; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $17 | $25; + $30 = $20 | $28; + $31 = $29 ^ -1; + $32 = $30 ^ -1; + $33 = $8; + $34 = $33; + HEAP32[$34>>2] = $31; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; HEAP16[$12>>1] = 0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 66|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)!=(1); - if (!($17)) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 68|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 80|0); - $24 = (($23) + ($21<<1)|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = ($26|0)==(0); - if (!($27)) { - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 68|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30 << 24 >> 24; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 120|0); - $34 = (($33) + ($31<<2)|0); - $35 = HEAP32[$34>>2]|0; - $36 = ((($35)) + 4|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = ($38|0)==(0); - if (!($39)) { - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 68|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45 << 24 >> 24; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 80|0); - $49 = (($48) + ($46<<1)|0); - $50 = HEAP16[$49>>1]|0; - $51 = (($50) + -1)<<16>>16; - HEAP16[$49>>1] = $51; - HEAP32[$0>>2] = 0; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); - } + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$9>>2] = $39; + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 20|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$6>>2] = $42; + while(1) { + $43 = HEAP32[$9>>2]|0; + $44 = ($43|0)>(0); + if (!($44)) { + break; + } + $45 = HEAP32[$6>>2]|0; + $46 = ((($45)) + 10|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47&65535; + $49 = $48 & 2; + $50 = ($49|0)!=(0); + if ($50) { + break; } + $51 = HEAP32[$6>>2]|0; + $52 = ((($51)) + 40|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$4>>2]|0; + $60 = ((($59)) + 8|0); + $61 = $60; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $55 & $63; + $68 = $58 & $66; + $69 = ($67|0)==(0); + $70 = ($68|0)==(0); + $71 = $69 & $70; + do { + if (!($71)) { + $72 = HEAP32[$6>>2]|0; + $73 = ((($72)) + 40|0); + $74 = $73; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = $8; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (($80) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = $76 & $82; + $87 = $79 & $85; + $88 = ($86|0)!=(0); + $89 = ($87|0)!=(0); + $90 = $88 | $89; + if (!($90)) { + $91 = HEAP32[$4>>2]|0; + $92 = ((($91)) + 40|0); + $93 = HEAP16[$92>>1]|0; + $94 = $93&65535; + $95 = (($94) - 1)|0; + HEAP32[$10>>2] = $95; + while(1) { + $96 = HEAP32[$10>>2]|0; + $97 = ($96|0)>=(0); + if (!($97)) { + break; + } + $98 = HEAP32[$4>>2]|0; + $99 = ((($98)) + 48|0); + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$10>>2]|0; + $102 = (($100) + ($101<<2)|0); + $103 = HEAP32[$102>>2]|0; + HEAP32[$7>>2] = $103; + $104 = HEAP32[$7>>2]|0; + $105 = ($104|0)==(0|0); + if (!($105)) { + $106 = HEAP32[$7>>2]|0; + $107 = HEAP32[$6>>2]|0; + $108 = ($106|0)==($107|0); + if ($108) { + break; + } + $109 = HEAP32[$7>>2]|0; + $110 = ((($109)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)>=(0); + if ($112) { + $113 = HEAP32[$3>>2]|0; + $114 = ((($113)) + 20|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$7>>2]|0; + $117 = ((($116)) + 16|0); + $118 = HEAP32[$117>>2]|0; + $119 = (($115) + (($118*48)|0)|0); + $120 = HEAP32[$6>>2]|0; + $121 = ($119|0)==($120|0); + if ($121) { + break; + } + } + } + $122 = HEAP32[$10>>2]|0; + $123 = (($122) + -1)|0; + HEAP32[$10>>2] = $123; + } + $124 = HEAP32[$10>>2]|0; + $125 = ($124|0)<(0); + if ($125) { + $126 = HEAP32[$6>>2]|0; + $127 = ((($126)) + 8|0); + $128 = HEAP16[$127>>1]|0; + $129 = $128 << 16 >> 16; + $130 = ($129|0)<=(0); + if ($130) { + $131 = HEAP32[$6>>2]|0; + $132 = ((($131)) + 8|0); + $133 = HEAP16[$132>>1]|0; + $134 = $133 << 16 >> 16; + $135 = HEAP32[$4>>2]|0; + $136 = ((($135)) + 22|0); + $137 = HEAP16[$136>>1]|0; + $138 = $137 << 16 >> 16; + $139 = (($138) + ($134))|0; + $140 = $139&65535; + HEAP16[$136>>1] = $140; + break; + } + $141 = HEAP32[$4>>2]|0; + $142 = ((($141)) + 22|0); + $143 = HEAP16[$142>>1]|0; + $144 = (($143) + -1)<<16>>16; + HEAP16[$142>>1] = $144; + $145 = HEAP32[$6>>2]|0; + $146 = ((($145)) + 12|0); + $147 = HEAP16[$146>>1]|0; + $148 = $147&65535; + $149 = $148 & 130; + $150 = ($149|0)!=(0); + if ($150) { + $151 = HEAP32[$6>>2]|0; + $152 = HEAP32[$151>>2]|0; + $153 = ((($152)) + 16|0); + $154 = HEAP32[$153>>2]|0; + HEAP32[$13>>2] = $154; + $155 = HEAP32[$13>>2]|0; + $156 = (_sqlite3ExprIsInteger($155,$11)|0); + $157 = ($156|0)!=(0); + $158 = HEAP32[$11>>2]|0; + $159 = ($158|0)>=(-1); + $or$cond = $157 & $159; + $160 = HEAP32[$11>>2]|0; + $161 = ($160|0)<=(1); + $or$cond3 = $or$cond & $161; + if ($or$cond3) { + HEAP32[$11>>2] = 10; + } else { + HEAP32[$11>>2] = 20; + } + $162 = HEAP16[$12>>1]|0; + $163 = $162 << 16 >> 16; + $164 = HEAP32[$11>>2]|0; + $165 = ($163|0)<($164|0); + if ($165) { + $166 = HEAP32[$11>>2]|0; + $167 = $166&65535; + HEAP16[$12>>1] = $167; + } + } + } + } + } + } while(0); + $168 = HEAP32[$9>>2]|0; + $169 = (($168) + -1)|0; + HEAP32[$9>>2] = $169; + $170 = HEAP32[$6>>2]|0; + $171 = ((($170)) + 48|0); + HEAP32[$6>>2] = $171; + } + $172 = HEAP32[$4>>2]|0; + $173 = ((($172)) + 22|0); + $174 = HEAP16[$173>>1]|0; + $175 = $174 << 16 >> 16; + $176 = HEAP16[$5>>1]|0; + $177 = $176 << 16 >> 16; + $178 = HEAP16[$12>>1]|0; + $179 = $178 << 16 >> 16; + $180 = (($177) - ($179))|0; + $181 = ($175|0)>($180|0); + if (!($181)) { + STACKTOP = sp;return; } - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$2>>2]|0; - $42 = (_btreePrevious($40,$41)|0); - HEAP32[$0>>2] = $42; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + $182 = HEAP16[$5>>1]|0; + $183 = $182 << 16 >> 16; + $184 = HEAP16[$12>>1]|0; + $185 = $184 << 16 >> 16; + $186 = (($183) - ($185))|0; + $187 = $186&65535; + $188 = HEAP32[$4>>2]|0; + $189 = ((($188)) + 22|0); + HEAP16[$189>>1] = $187; + STACKTOP = sp;return; } -function _btreePrevious($pCur,$pRes) { - $pCur = $pCur|0; - $pRes = $pRes|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $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; +function _columnsInIndex($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $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, $idx = 0; - var $pPage = 0, $rc = 0, label = 0, sp = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; $1 = sp + 16|0; - $2 = sp + 12|0; - $rc = sp + 8|0; - $pPage = sp + 4|0; - $idx = sp; - HEAP32[$1>>2] = $pCur; - HEAP32[$2>>2] = $pRes; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 66|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)!=(1); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 66|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)>=(3); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = (_btreeRestoreCursorPosition($13)|0); - $15 = $14; - } else { - $15 = 0; - } - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $18; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); - } - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 66|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = (0)==($22|0); - if ($23) { - $24 = HEAP32[$2>>2]|0; - HEAP32[$24>>2] = 1; - HEAP32[$0>>2] = 0; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); + $2 = sp; + $3 = sp + 12|0; + $4 = sp + 8|0; + HEAP32[$1>>2] = $0; + $5 = $2; + $6 = $5; + HEAP32[$6>>2] = 0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = 0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 52|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = (($12) - 1)|0; + HEAP32[$3>>2] = $13; + while(1) { + $14 = HEAP32[$3>>2]|0; + $15 = ($14|0)>=(0); + if (!($15)) { + break; } - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 60|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 66|0); - HEAP8[$30>>0] = 1; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 60|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)<(0); - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 60|0); - HEAP32[$36>>2] = 0; - if ($34) { - HEAP32[$0>>2] = 0; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); - } + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = (($18) + ($19<<1)|0); + $21 = HEAP16[$20>>1]|0; + $22 = $21 << 16 >> 16; + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)>=(0); + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)<(63); + $or$cond = $24 & $26; + if ($or$cond) { + $27 = HEAP32[$4>>2]|0; + $28 = (_bitshift64Shl(1,0,($27|0))|0); + $29 = tempRet0; + $30 = $2; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = $32 | $28; + $37 = $35 | $29; + $38 = $2; + $39 = $38; + HEAP32[$39>>2] = $36; + $40 = (($38) + 4)|0; + $41 = $40; + HEAP32[$41>>2] = $37; } + $42 = HEAP32[$3>>2]|0; + $43 = (($42) + -1)|0; + HEAP32[$3>>2] = $43; } - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 68|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39 << 24 >> 24; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 120|0); - $43 = (($42) + ($40<<2)|0); - $44 = HEAP32[$43>>2]|0; - HEAP32[$pPage>>2] = $44; - $45 = HEAP32[$pPage>>2]|0; - $46 = ((($45)) + 4|0); - $47 = HEAP8[$46>>0]|0; - $48 = ($47<<24>>24)!=(0); - do { - if ($48) { - while(1) { - $94 = HEAP32[$1>>2]|0; - $95 = ((($94)) + 68|0); - $96 = HEAP8[$95>>0]|0; - $97 = $96 << 24 >> 24; - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 80|0); - $100 = (($99) + ($97<<1)|0); - $101 = HEAP16[$100>>1]|0; - $102 = $101&65535; - $103 = ($102|0)==(0); - $104 = HEAP32[$1>>2]|0; - $105 = ((($104)) + 68|0); - $106 = HEAP8[$105>>0]|0; - $107 = $106 << 24 >> 24; - if (!($103)) { - break; - } - $108 = ($107|0)==(0); - $109 = HEAP32[$1>>2]|0; - if ($108) { - label = 17; - break; - } - _moveToParent($109); - } - if ((label|0) == 17) { - $110 = ((($109)) + 66|0); - HEAP8[$110>>0] = 0; - $111 = HEAP32[$2>>2]|0; - HEAP32[$111>>2] = 1; - HEAP32[$0>>2] = 0; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); - } - $112 = HEAP32[$1>>2]|0; - $113 = ((($112)) + 80|0); - $114 = (($113) + ($107<<1)|0); - $115 = HEAP16[$114>>1]|0; - $116 = (($115) + -1)<<16>>16; - HEAP16[$114>>1] = $116; - $117 = HEAP32[$1>>2]|0; - $118 = ((($117)) + 68|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119 << 24 >> 24; - $121 = HEAP32[$1>>2]|0; - $122 = ((($121)) + 120|0); - $123 = (($122) + ($120<<2)|0); - $124 = HEAP32[$123>>2]|0; - HEAP32[$pPage>>2] = $124; - $125 = HEAP32[$pPage>>2]|0; - $126 = ((($125)) + 2|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $129 = ($128|0)!=(0); - if ($129) { - $130 = HEAP32[$pPage>>2]|0; - $131 = ((($130)) + 4|0); - $132 = HEAP8[$131>>0]|0; - $133 = ($132<<24>>24)!=(0); - if (!($133)) { - $134 = HEAP32[$1>>2]|0; - $135 = HEAP32[$2>>2]|0; - $136 = (_sqlite3BtreePrevious($134,$135)|0); - HEAP32[$rc>>2] = $136; - break; - } - } - HEAP32[$rc>>2] = 0; - } else { - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 68|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51 << 24 >> 24; - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 80|0); - $55 = (($54) + ($52<<1)|0); - $56 = HEAP16[$55>>1]|0; - $57 = $56&65535; - HEAP32[$idx>>2] = $57; - $58 = HEAP32[$1>>2]|0; - $59 = HEAP32[$pPage>>2]|0; - $60 = ((($59)) + 56|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$pPage>>2]|0; - $63 = ((($62)) + 20|0); - $64 = HEAP16[$63>>1]|0; - $65 = $64&65535; - $66 = HEAP32[$idx>>2]|0; - $67 = $66<<1; - $68 = HEAP32[$pPage>>2]|0; - $69 = ((($68)) + 64|0); - $70 = HEAP32[$69>>2]|0; - $71 = (($70) + ($67)|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = $73 << 8; - $75 = HEAP32[$idx>>2]|0; - $76 = $75<<1; - $77 = HEAP32[$pPage>>2]|0; - $78 = ((($77)) + 64|0); - $79 = HEAP32[$78>>2]|0; - $80 = (($79) + ($76)|0); - $81 = ((($80)) + 1|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $74 | $83; - $85 = $65 & $84; - $86 = (($61) + ($85)|0); - $87 = (_sqlite3Get4byte($86)|0); - $88 = (_moveToChild($58,$87)|0); - HEAP32[$rc>>2] = $88; - $89 = HEAP32[$rc>>2]|0; - $90 = ($89|0)!=(0); - if (!($90)) { - $92 = HEAP32[$1>>2]|0; - $93 = (_moveToRightmost($92)|0); - HEAP32[$rc>>2] = $93; - break; - } - $91 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $91; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); - } - } while(0); - $137 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $137; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); + $44 = $2; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + tempRet0 = ($49); + STACKTOP = sp;return ($46|0); } -function _btreeRestoreCursorPosition($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $skipNext = 0, label = 0, sp = 0; +function _sqlite3ExprCoveredByIndex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $skipNext = sp; - HEAP32[$1>>2] = $pCur; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 66|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(4); - $7 = HEAP32[$1>>2]|0; - if ($6) { - $8 = ((($7)) + 60|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$0>>2] = $9; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - } - $10 = ((($7)) + 66|0); - HEAP8[$10>>0] = 0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 48|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 40|0); - $17 = $16; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (_btreeMoveto($11,$14,$19,$22,0,$skipNext)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 48|0); - $28 = HEAP32[$27>>2]|0; - _sqlite3_free($28); - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 48|0); - HEAP32[$30>>2] = 0; - $31 = HEAP32[$skipNext>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 60|0); - $34 = HEAP32[$33>>2]|0; - $35 = $34 | $31; - HEAP32[$33>>2] = $35; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 60|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)!=(0); - if ($39) { - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 66|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = ($43|0)==(1); - if ($44) { - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 66|0); - HEAP8[$46>>0] = 2; - } - } - } - $47 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $47; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); + STACKTOP = STACKTOP + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;HEAP32[$6+20>>2]=0|0;HEAP32[$6+24>>2]=0|0; + $8 = HEAP32[$4>>2]|0; + $9 = ((($7)) + 4|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$5>>2]|0; + HEAP32[$7>>2] = $10; + $11 = ((($6)) + 4|0); + HEAP32[$11>>2] = 207; + $12 = ((($6)) + 24|0); + HEAP32[$12>>2] = $7; + $13 = HEAP32[$3>>2]|0; + (_sqlite3WalkExpr($6,$13)|0); + $14 = ((($6)) + 20|0); + $15 = HEAP8[$14>>0]|0; + $16 = ($15<<24>>24)!=(0); + $17 = $16 ^ 1; + $18 = $17&1; + STACKTOP = sp;return ($18|0); } -function _moveToChild($pCur,$newPgno) { - $pCur = $pCur|0; - $newPgno = $newPgno|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, label = 0, sp = 0; +function _whereLoopAddBtreeIndex($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink3 = 0, $$sink4 = 0, $$sink6 = 0, $$sink7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $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, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; + var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; + var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; + var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; + var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; + var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; + var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; + var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; + var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; + var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; + var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0; + var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0; + var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0; + var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; + var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; + var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; + var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; + var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; + var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; + var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0; + var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0; + var $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0; + var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $pCur; - HEAP32[$2>>2] = $newPgno; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pBt>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 68|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)>=(19); - if ($10) { - $11 = (_sqlite3CorruptError(63009)|0); - HEAP32[$0>>2] = $11; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); + STACKTOP = STACKTOP + 224|0; + $4 = sp + 180|0; + $5 = sp + 176|0; + $6 = sp + 172|0; + $7 = sp + 168|0; + $8 = sp + 208|0; + $9 = sp + 164|0; + $10 = sp + 160|0; + $11 = sp + 156|0; + $12 = sp + 152|0; + $13 = sp + 148|0; + $14 = sp + 144|0; + $15 = sp + 48|0; + $16 = sp; + $17 = sp + 206|0; + $18 = sp + 204|0; + $19 = sp + 202|0; + $20 = sp + 200|0; + $21 = sp + 198|0; + $22 = sp + 40|0; + $23 = sp + 196|0; + $24 = sp + 36|0; + $25 = sp + 194|0; + $26 = sp + 192|0; + $27 = sp + 32|0; + $28 = sp + 28|0; + $29 = sp + 190|0; + $30 = sp + 188|0; + $31 = sp + 186|0; + $32 = sp + 24|0; + $33 = sp + 20|0; + $34 = sp + 16|0; + $35 = sp + 12|0; + $36 = sp + 8|0; + $37 = sp + 184|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP16[$8>>1] = $3; + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$38>>2]|0; + HEAP32[$9>>2] = $39; + $40 = HEAP32[$9>>2]|0; + $41 = HEAP32[$40>>2]|0; + HEAP32[$10>>2] = $41; + $42 = HEAP32[$10>>2]|0; + $43 = HEAP32[$42>>2]|0; + HEAP32[$11>>2] = $43; + HEAP32[$24>>2] = 0; + HEAP32[$27>>2] = 0; + HEAP32[$28>>2] = 0; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$12>>2] = $46; + $47 = HEAP32[$11>>2]|0; + $48 = ((($47)) + 69|0); + $49 = HEAP8[$48>>0]|0; + $50 = ($49<<24>>24)!=(0); + if ($50) { + HEAP32[$4>>2] = 7; + $787 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($787|0); + } + $51 = HEAP32[$12>>2]|0; + $52 = ((($51)) + 36|0); + $53 = HEAP32[$52>>2]|0; + $54 = $53 & 32; + $55 = ($54|0)!=(0); + if ($55) { + HEAP32[$14>>2] = 24; } else { - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 16|0); - $14 = ((($13)) + 18|0); - HEAP16[$14>>1] = 0; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 64|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = $18 & -7; - $20 = $19&255; - HEAP8[$16>>0] = $20; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 68|0); - $23 = HEAP8[$22>>0]|0; - $24 = (($23) + 1)<<24>>24; - HEAP8[$22>>0] = $24; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 68|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27 << 24 >> 24; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 80|0); - $31 = (($30) + ($28<<1)|0); - HEAP16[$31>>1] = 0; - $32 = HEAP32[$pBt>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 68|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36 << 24 >> 24; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 120|0); - $40 = (($39) + ($37<<2)|0); - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 65|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = (_getAndInitPage($32,$33,$40,$41,$45)|0); - HEAP32[$0>>2] = $46; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); + HEAP32[$14>>2] = 447; } - return (0)|0; -} -function _moveToRightmost($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPage = 0, $pgno = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pgno = sp + 8|0; - $rc = sp + 4|0; - $pPage = sp; - HEAP32[$1>>2] = $pCur; - HEAP32[$rc>>2] = 0; - HEAP32[$pPage>>2] = 0; - while(1) { - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 68|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 120|0); - $8 = (($7) + ($5<<2)|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$pPage>>2] = $9; - $10 = ((($9)) + 4|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)!=(0); - $13 = $12 ^ 1; - $14 = HEAP32[$pPage>>2]|0; - if (!($13)) { - label = 5; - break; - } - $15 = ((($14)) + 5|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = (($17) + 8)|0; - $19 = HEAP32[$pPage>>2]|0; - $20 = ((($19)) + 56|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($18)|0); - $23 = (_sqlite3Get4byte($22)|0); - HEAP32[$pgno>>2] = $23; - $24 = HEAP32[$pPage>>2]|0; - $25 = ((($24)) + 18|0); - $26 = HEAP16[$25>>1]|0; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 68|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29 << 24 >> 24; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 80|0); - $33 = (($32) + ($30<<1)|0); - HEAP16[$33>>1] = $26; - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$pgno>>2]|0; - $36 = (_moveToChild($34,$35)|0); - HEAP32[$rc>>2] = $36; - $37 = HEAP32[$rc>>2]|0; - $38 = ($37|0)!=(0); - if ($38) { - label = 4; + $56 = HEAP32[$7>>2]|0; + $57 = ((($56)) + 55|0); + $58 = HEAP8[$57>>0]|0; + $59 = ($58&255) >>> 2; + $60 = $59 & 1; + $61 = $60&255; + $62 = ($61|0)!=(0); + if ($62) { + $63 = HEAP32[$14>>2]|0; + $64 = $63 & -61; + HEAP32[$14>>2] = $64; + } + $65 = HEAP32[$12>>2]|0; + $66 = ((($65)) + 24|0); + $67 = HEAP16[$66>>1]|0; + HEAP16[$18>>1] = $67; + $68 = HEAP32[$12>>2]|0; + $69 = ((($68)) + 24|0); + $70 = ((($69)) + 2|0); + $71 = HEAP16[$70>>1]|0; + HEAP16[$19>>1] = $71; + $72 = HEAP32[$12>>2]|0; + $73 = ((($72)) + 24|0); + $74 = ((($73)) + 4|0); + $75 = HEAP16[$74>>1]|0; + HEAP16[$20>>1] = $75; + $76 = HEAP32[$12>>2]|0; + $77 = ((($76)) + 42|0); + $78 = HEAP16[$77>>1]|0; + HEAP16[$21>>1] = $78; + $79 = HEAP32[$12>>2]|0; + $80 = ((($79)) + 40|0); + $81 = HEAP16[$80>>1]|0; + HEAP16[$17>>1] = $81; + $82 = HEAP32[$12>>2]|0; + $83 = ((($82)) + 36|0); + $84 = HEAP32[$83>>2]|0; + HEAP32[$22>>2] = $84; + $85 = HEAP32[$12>>2]|0; + $86 = $85; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = $16; + $93 = $92; + HEAP32[$93>>2] = $88; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + $96 = HEAP32[$12>>2]|0; + $97 = ((($96)) + 22|0); + $98 = HEAP16[$97>>1]|0; + HEAP16[$23>>1] = $98; + $99 = HEAP32[$5>>2]|0; + $100 = ((($99)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = HEAP32[$6>>2]|0; + $103 = ((($102)) + 44|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP16[$18>>1]|0; + $106 = $105&65535; + $107 = HEAP32[$14>>2]|0; + $108 = HEAP32[$7>>2]|0; + $109 = (_whereScanInit($15,$101,$104,$106,$107,$108)|0); + HEAP32[$13>>2] = $109; + $110 = HEAP32[$12>>2]|0; + $111 = ((($110)) + 18|0); + HEAP16[$111>>1] = 0; + $112 = HEAP32[$7>>2]|0; + $113 = ((($112)) + 8|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP16[$114>>1]|0; + HEAP16[$25>>1] = $115; + $116 = HEAP16[$25>>1]|0; + $117 = (_estLog($116)|0); + HEAP16[$26>>1] = $117; + L12: while(1) { + $118 = HEAP32[$24>>2]|0; + $119 = ($118|0)==(0); + $120 = HEAP32[$13>>2]|0; + $121 = ($120|0)!=(0|0); + $122 = $119 ? $121 : 0; + if (!($122)) { break; } - } - if ((label|0) == 4) { - $39 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $39; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); - } - else if ((label|0) == 5) { - $40 = ((($14)) + 18|0); - $41 = HEAP16[$40>>1]|0; - $42 = $41&65535; - $43 = (($42) - 1)|0; - $44 = $43&65535; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 68|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47 << 24 >> 24; - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 80|0); - $51 = (($50) + ($48<<1)|0); - HEAP16[$51>>1] = $44; - HEAP32[$0>>2] = 0; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); - } - return (0)|0; -} -function _moveToParent($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 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; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = ((($2)) + 18|0); - HEAP16[$3>>1] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 64|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 & -7; - $9 = $8&255; - HEAP8[$5>>0] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 68|0); - $12 = HEAP8[$11>>0]|0; - $13 = (($12) + -1)<<24>>24; - HEAP8[$11>>0] = $13; - $14 = $12 << 24 >> 24; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 120|0); - $17 = (($16) + ($14<<2)|0); - $18 = HEAP32[$17>>2]|0; - _releasePageNotNull($18); - STACKTOP = sp;return; -} -function _getAndInitPage($pBt,$pgno,$ppPage,$pCur,$bReadOnly) { - $pBt = $pBt|0; - $pgno = $pgno|0; - $ppPage = $ppPage|0; - $pCur = $pCur|0; - $bReadOnly = $bReadOnly|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $pDbPage = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $rc = sp + 4|0; - $pDbPage = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $ppPage; - HEAP32[$4>>2] = $pCur; - HEAP32[$5>>2] = $bReadOnly; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (_btreePagecount($7)|0); - $9 = ($6>>>0)>($8>>>0); - L1: do { - if ($9) { - $10 = (_sqlite3CorruptError(60244)|0); - HEAP32[$rc>>2] = $10; + $123 = HEAP32[$13>>2]|0; + $124 = ((($123)) + 12|0); + $125 = HEAP16[$124>>1]|0; + HEAP16[$29>>1] = $125; + HEAP32[$32>>2] = 0; + $126 = HEAP16[$29>>1]|0; + $127 = $126&65535; + $128 = ($127|0)==(256); + if ($128) { + label = 12; } else { - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$5>>2]|0; - $15 = (_sqlite3PagerGet($12,$13,$pDbPage,$14)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)!=(0); - if (!($17)) { - $18 = HEAP32[$pDbPage>>2]|0; - $19 = (_sqlite3PagerGetExtra($18)|0); - $20 = HEAP32[$3>>2]|0; - HEAP32[$20>>2] = $19; - $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = ($24|0)==(0); - if ($25) { - $26 = HEAP32[$pDbPage>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$1>>2]|0; - (_btreePageFromDbPage($26,$27,$28)|0); - $29 = HEAP32[$3>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = (_btreeInitPage($30)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)!=(0); - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = HEAP32[$34>>2]|0; - _releasePage($35); - break; + $129 = HEAP32[$13>>2]|0; + $130 = ((($129)) + 10|0); + $131 = HEAP16[$130>>1]|0; + $132 = $131&65535; + $133 = $132 & 0; + $134 = ($133|0)!=(0); + if ($134) { + label = 12; + } else { + label = 13; + } + } + if ((label|0) == 12) { + label = 0; + $135 = HEAP32[$7>>2]|0; + $136 = HEAP16[$18>>1]|0; + $137 = $136&65535; + $138 = (_indexColumnNotNull($135,$137)|0); + $139 = ($138|0)!=(0); + if (!($139)) { + label = 13; + } + } + do { + if ((label|0) == 13) { + label = 0; + $140 = HEAP32[$13>>2]|0; + $141 = ((($140)) + 32|0); + $142 = $141; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = (($142) + 4)|0; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$12>>2]|0; + $149 = ((($148)) + 8|0); + $150 = $149; + $151 = $150; + $152 = HEAP32[$151>>2]|0; + $153 = (($150) + 4)|0; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = $144 & $152; + $157 = $147 & $155; + $158 = ($156|0)!=(0); + $159 = ($157|0)!=(0); + $160 = $158 | $159; + if (!($160)) { + $161 = HEAP32[$13>>2]|0; + $162 = ((($161)) + 10|0); + $163 = HEAP16[$162>>1]|0; + $164 = $163&65535; + $165 = $164 & 256; + $166 = ($165|0)!=(0); + if ($166) { + $167 = HEAP32[$13>>2]|0; + $168 = ((($167)) + 12|0); + $169 = HEAP16[$168>>1]|0; + $170 = $169&65535; + $171 = ($170|0)==(16); + if ($171) { + break; + } } - } - $36 = HEAP32[$4>>2]|0; - $37 = ($36|0)!=(0|0); - do { - if ($37) { - $38 = HEAP32[$3>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = ((($39)) + 18|0); - $41 = HEAP16[$40>>1]|0; - $42 = $41&65535; - $43 = ($42|0)<(1); - if (!($43)) { - $44 = HEAP32[$3>>2]|0; - $45 = HEAP32[$44>>2]|0; - $46 = ((($45)) + 2|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = HEAP32[$4>>2]|0; - $50 = ((($49)) + 69|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = ($48|0)!=($52|0); - if (!($53)) { + $172 = HEAP32[$6>>2]|0; + $173 = ((($172)) + 36|0); + $174 = HEAP8[$173>>0]|0; + $175 = $174&255; + $176 = $175 & 8; + $177 = ($176|0)!=(0); + if ($177) { + $178 = HEAP32[$13>>2]|0; + $179 = HEAP32[$178>>2]|0; + $180 = ((($179)) + 4|0); + $181 = HEAP32[$180>>2]|0; + $182 = $181 & 1; + $183 = ($182|0)!=(0); + if (!($183)) { + $184 = HEAP16[$29>>1]|0; + $185 = $184&65535; + $186 = $185 & 384; + $187 = ($186|0)!=(0); + if ($187) { break; } } - $54 = (_sqlite3CorruptError(60266)|0); - HEAP32[$rc>>2] = $54; - $55 = HEAP32[$3>>2]|0; - $56 = HEAP32[$55>>2]|0; - _releasePage($56); - break L1; } - } while(0); - HEAP32[$0>>2] = 0; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); - } - } - } while(0); - $57 = HEAP32[$4>>2]|0; - $58 = ($57|0)!=(0|0); - if ($58) { - $59 = HEAP32[$4>>2]|0; - $60 = ((($59)) + 68|0); - $61 = HEAP8[$60>>0]|0; - $62 = (($61) + -1)<<24>>24; - HEAP8[$60>>0] = $62; - } - $63 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $63; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); -} -function _btreePagecount($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pBt; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 44|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} -function _btreePageFromDbPage($pDbPage,$pgno,$pBt) { - $pDbPage = $pDbPage|0; - $pgno = $pgno|0; - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPage = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pPage = sp; - HEAP32[$0>>2] = $pDbPage; - HEAP32[$1>>2] = $pgno; - HEAP32[$2>>2] = $pBt; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3PagerGetExtra($3)|0); - HEAP32[$pPage>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$pPage>>2]|0; - $7 = ((($6)) + 84|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($5|0)!=($8|0); - if (!($9)) { - $29 = HEAP32[$pPage>>2]|0; - STACKTOP = sp;return ($29|0); - } - $10 = HEAP32[$0>>2]|0; - $11 = (_sqlite3PagerGetData($10)|0); - $12 = HEAP32[$pPage>>2]|0; - $13 = ((($12)) + 56|0); - HEAP32[$13>>2] = $11; - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$pPage>>2]|0; - $16 = ((($15)) + 72|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$pPage>>2]|0; - $19 = ((($18)) + 52|0); - HEAP32[$19>>2] = $17; - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$pPage>>2]|0; - $22 = ((($21)) + 84|0); - HEAP32[$22>>2] = $20; - $23 = HEAP32[$1>>2]|0; - $24 = ($23|0)==(1); - $25 = $24 ? 100 : 0; - $26 = $25&255; - $27 = HEAP32[$pPage>>2]|0; - $28 = ((($27)) + 5|0); - HEAP8[$28>>0] = $26; - $29 = HEAP32[$pPage>>2]|0; - STACKTOP = sp;return ($29|0); -} -function _btreeMoveto($pCur,$pKey,$0,$1,$bias,$pRes) { - $pCur = $pCur|0; - $pKey = $pKey|0; - $0 = $0|0; - $1 = $1|0; - $bias = $bias|0; - $pRes = $pRes|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0; - var $8 = 0, $9 = 0, $aSpace = 0, $pFree = 0, $pIdxKey = 0, $rc = 0, label = 0, sp = 0; + $188 = HEAP32[$22>>2]|0; + $189 = HEAP32[$12>>2]|0; + $190 = ((($189)) + 36|0); + HEAP32[$190>>2] = $188; + $191 = HEAP16[$18>>1]|0; + $192 = HEAP32[$12>>2]|0; + $193 = ((($192)) + 24|0); + HEAP16[$193>>1] = $191; + $194 = HEAP16[$19>>1]|0; + $195 = HEAP32[$12>>2]|0; + $196 = ((($195)) + 24|0); + $197 = ((($196)) + 2|0); + HEAP16[$197>>1] = $194; + $198 = HEAP16[$20>>1]|0; + $199 = HEAP32[$12>>2]|0; + $200 = ((($199)) + 24|0); + $201 = ((($200)) + 4|0); + HEAP16[$201>>1] = $198; + $202 = HEAP16[$17>>1]|0; + $203 = HEAP32[$12>>2]|0; + $204 = ((($203)) + 40|0); + HEAP16[$204>>1] = $202; + $205 = HEAP32[$11>>2]|0; + $206 = HEAP32[$12>>2]|0; + $207 = HEAP32[$12>>2]|0; + $208 = ((($207)) + 40|0); + $209 = HEAP16[$208>>1]|0; + $210 = $209&65535; + $211 = (($210) + 1)|0; + $212 = (_whereLoopResize($205,$206,$211)|0); + $213 = ($212|0)!=(0); + if ($213) { + break L12; + } + $214 = HEAP32[$13>>2]|0; + $215 = HEAP32[$12>>2]|0; + $216 = ((($215)) + 48|0); + $217 = HEAP32[$216>>2]|0; + $218 = HEAP32[$12>>2]|0; + $219 = ((($218)) + 40|0); + $220 = HEAP16[$219>>1]|0; + $221 = (($220) + 1)<<16>>16; + HEAP16[$219>>1] = $221; + $222 = $220&65535; + $223 = (($217) + ($222<<2)|0); + HEAP32[$223>>2] = $214; + $224 = $16; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = HEAP32[$13>>2]|0; + $231 = ((($230)) + 32|0); + $232 = $231; + $233 = $232; + $234 = HEAP32[$233>>2]|0; + $235 = (($232) + 4)|0; + $236 = $235; + $237 = HEAP32[$236>>2]|0; + $238 = $226 | $234; + $239 = $229 | $237; + $240 = HEAP32[$12>>2]|0; + $241 = ((($240)) + 8|0); + $242 = $241; + $243 = $242; + $244 = HEAP32[$243>>2]|0; + $245 = (($242) + 4)|0; + $246 = $245; + $247 = HEAP32[$246>>2]|0; + $248 = $244 ^ -1; + $249 = $247 ^ -1; + $250 = $238 & $248; + $251 = $239 & $249; + $252 = HEAP32[$12>>2]|0; + $253 = $252; + $254 = $253; + HEAP32[$254>>2] = $250; + $255 = (($253) + 4)|0; + $256 = $255; + HEAP32[$256>>2] = $251; + $257 = HEAP16[$29>>1]|0; + $258 = $257&65535; + $259 = $258 & 1; + $260 = ($259|0)!=(0); + L30: do { + if ($260) { + $261 = HEAP32[$13>>2]|0; + $262 = HEAP32[$261>>2]|0; + HEAP32[$33>>2] = $262; + $263 = HEAP32[$12>>2]|0; + $264 = ((($263)) + 36|0); + $265 = HEAP32[$264>>2]|0; + $266 = $265 | 4; + HEAP32[$264>>2] = $266; + $267 = HEAP32[$33>>2]|0; + $268 = ((($267)) + 4|0); + $269 = HEAP32[$268>>2]|0; + $270 = $269 & 2048; + $271 = ($270|0)!=(0); + if (!($271)) { + $297 = HEAP32[$33>>2]|0; + $298 = ((($297)) + 20|0); + $299 = HEAP32[$298>>2]|0; + $300 = ($299|0)!=(0|0); + if (!($300)) { + break; + } + $301 = HEAP32[$33>>2]|0; + $302 = ((($301)) + 20|0); + $303 = HEAP32[$302>>2]|0; + $304 = HEAP32[$303>>2]|0; + $305 = ($304|0)!=(0); + if (!($305)) { + break; + } + $306 = HEAP32[$33>>2]|0; + $307 = ((($306)) + 20|0); + $308 = HEAP32[$307>>2]|0; + $309 = HEAP32[$308>>2]|0; + $310 = ($309|0)<(0); + $311 = $310 << 31 >> 31; + $312 = (_sqlite3LogEst($309,$311)|0); + $313 = $312 << 16 >> 16; + HEAP32[$32>>2] = $313; + break; + } + HEAP32[$32>>2] = 46; + HEAP32[$34>>2] = 0; + while(1) { + $272 = HEAP32[$34>>2]|0; + $273 = HEAP32[$12>>2]|0; + $274 = ((($273)) + 40|0); + $275 = HEAP16[$274>>1]|0; + $276 = $275&65535; + $277 = (($276) - 1)|0; + $278 = ($272|0)<($277|0); + if (!($278)) { + break L30; + } + $279 = HEAP32[$12>>2]|0; + $280 = ((($279)) + 48|0); + $281 = HEAP32[$280>>2]|0; + $282 = HEAP32[$34>>2]|0; + $283 = (($281) + ($282<<2)|0); + $284 = HEAP32[$283>>2]|0; + $285 = ($284|0)!=(0|0); + if ($285) { + $286 = HEAP32[$12>>2]|0; + $287 = ((($286)) + 48|0); + $288 = HEAP32[$287>>2]|0; + $289 = HEAP32[$34>>2]|0; + $290 = (($288) + ($289<<2)|0); + $291 = HEAP32[$290>>2]|0; + $292 = HEAP32[$291>>2]|0; + $293 = HEAP32[$33>>2]|0; + $294 = ($292|0)==($293|0); + if ($294) { + HEAP32[$32>>2] = 0; + } + } + $295 = HEAP32[$34>>2]|0; + $296 = (($295) + 1)|0; + HEAP32[$34>>2] = $296; + } + } else { + $314 = HEAP16[$29>>1]|0; + $315 = $314&65535; + $316 = $315 & 130; + $317 = ($316|0)!=(0); + if ($317) { + $318 = HEAP32[$7>>2]|0; + $319 = ((($318)) + 4|0); + $320 = HEAP32[$319>>2]|0; + $321 = HEAP16[$18>>1]|0; + $322 = $321&65535; + $323 = (($320) + ($322<<1)|0); + $324 = HEAP16[$323>>1]|0; + $325 = $324 << 16 >> 16; + HEAP32[$35>>2] = $325; + $326 = HEAP32[$12>>2]|0; + $327 = ((($326)) + 36|0); + $328 = HEAP32[$327>>2]|0; + $329 = $328 | 1; + HEAP32[$327>>2] = $329; + $330 = HEAP32[$35>>2]|0; + $331 = ($330|0)==(-1); + if (!($331)) { + $332 = HEAP32[$35>>2]|0; + $333 = ($332|0)>(0); + if (!($333)) { + break; + } + $334 = HEAP16[$8>>1]|0; + $335 = $334 << 16 >> 16; + $336 = ($335|0)==(0); + if (!($336)) { + break; + } + $337 = HEAP16[$18>>1]|0; + $338 = $337&65535; + $339 = HEAP32[$7>>2]|0; + $340 = ((($339)) + 50|0); + $341 = HEAP16[$340>>1]|0; + $342 = $341&65535; + $343 = (($342) - 1)|0; + $344 = ($338|0)==($343|0); + if (!($344)) { + break; + } + } + $345 = HEAP32[$35>>2]|0; + $346 = ($345|0)>=(0); + if ($346) { + $347 = HEAP32[$7>>2]|0; + $348 = ((($347)) + 55|0); + $349 = HEAP8[$348>>0]|0; + $350 = ($349&255) >>> 3; + $351 = $350 & 1; + $352 = $351&255; + $353 = ($352|0)==(0); + if ($353) { + $354 = HEAP32[$12>>2]|0; + $$sink3 = 65536;$$sink7 = $354; + } else { + label = 39; + } + } else { + label = 39; + } + if ((label|0) == 39) { + label = 0; + $355 = HEAP32[$12>>2]|0; + $$sink3 = 4096;$$sink7 = $355; + } + $356 = ((($$sink7)) + 36|0); + $357 = HEAP32[$356>>2]|0; + $358 = $357 | $$sink3; + HEAP32[$356>>2] = $358; + break; + } else { + $359 = HEAP16[$29>>1]|0; + $360 = $359&65535; + $361 = $360 & 256; + $362 = ($361|0)!=(0); + if ($362) { + $363 = HEAP32[$12>>2]|0; + $364 = ((($363)) + 36|0); + $365 = HEAP32[$364>>2]|0; + $366 = $365 | 8; + HEAP32[$364>>2] = $366; + break; + } + $367 = HEAP16[$29>>1]|0; + $368 = $367&65535; + $369 = $368 & 36; + $370 = ($369|0)!=(0); + $371 = HEAP32[$12>>2]|0; + $372 = ((($371)) + 36|0); + $373 = HEAP32[$372>>2]|0; + if ($370) { + $374 = $373 | 34; + HEAP32[$372>>2] = $374; + $375 = HEAP32[$10>>2]|0; + $376 = HEAP32[$6>>2]|0; + $377 = ((($376)) + 44|0); + $378 = HEAP32[$377>>2]|0; + $379 = HEAP32[$7>>2]|0; + $380 = HEAP16[$18>>1]|0; + $381 = $380&65535; + $382 = HEAP32[$13>>2]|0; + $383 = (_whereRangeVectorLen($375,$378,$379,$381,$382)|0); + $384 = $383&65535; + $385 = HEAP32[$12>>2]|0; + $386 = ((($385)) + 24|0); + $387 = ((($386)) + 2|0); + HEAP16[$387>>1] = $384; + $388 = HEAP32[$13>>2]|0; + HEAP32[$28>>2] = $388; + HEAP32[$27>>2] = 0; + $389 = HEAP32[$13>>2]|0; + $390 = ((($389)) + 10|0); + $391 = HEAP16[$390>>1]|0; + $392 = $391&65535; + $393 = $392 & 256; + $394 = ($393|0)!=(0); + if (!($394)) { + break; + } + $395 = HEAP32[$13>>2]|0; + $396 = ((($395)) + 48|0); + HEAP32[$27>>2] = $396; + $397 = HEAP32[$11>>2]|0; + $398 = HEAP32[$12>>2]|0; + $399 = HEAP32[$12>>2]|0; + $400 = ((($399)) + 40|0); + $401 = HEAP16[$400>>1]|0; + $402 = $401&65535; + $403 = (($402) + 1)|0; + $404 = (_whereLoopResize($397,$398,$403)|0); + $405 = ($404|0)!=(0); + if ($405) { + break L12; + } + $406 = HEAP32[$27>>2]|0; + $407 = HEAP32[$12>>2]|0; + $408 = ((($407)) + 48|0); + $409 = HEAP32[$408>>2]|0; + $410 = HEAP32[$12>>2]|0; + $411 = ((($410)) + 40|0); + $412 = HEAP16[$411>>1]|0; + $413 = (($412) + 1)<<16>>16; + HEAP16[$411>>1] = $413; + $414 = $412&65535; + $415 = (($409) + ($414<<2)|0); + HEAP32[$415>>2] = $406; + $416 = HEAP32[$12>>2]|0; + $417 = ((($416)) + 36|0); + $418 = HEAP32[$417>>2]|0; + $419 = $418 | 16; + HEAP32[$417>>2] = $419; + $420 = HEAP32[$12>>2]|0; + $421 = ((($420)) + 24|0); + $422 = ((($421)) + 4|0); + HEAP16[$422>>1] = 1; + break; + } else { + $423 = $373 | 18; + HEAP32[$372>>2] = $423; + $424 = HEAP32[$10>>2]|0; + $425 = HEAP32[$6>>2]|0; + $426 = ((($425)) + 44|0); + $427 = HEAP32[$426>>2]|0; + $428 = HEAP32[$7>>2]|0; + $429 = HEAP16[$18>>1]|0; + $430 = $429&65535; + $431 = HEAP32[$13>>2]|0; + $432 = (_whereRangeVectorLen($424,$427,$428,$430,$431)|0); + $433 = $432&65535; + $434 = HEAP32[$12>>2]|0; + $435 = ((($434)) + 24|0); + $436 = ((($435)) + 4|0); + HEAP16[$436>>1] = $433; + $437 = HEAP32[$13>>2]|0; + HEAP32[$27>>2] = $437; + $438 = HEAP32[$12>>2]|0; + $439 = ((($438)) + 36|0); + $440 = HEAP32[$439>>2]|0; + $441 = $440 & 32; + $442 = ($441|0)!=(0); + if ($442) { + $443 = HEAP32[$12>>2]|0; + $444 = ((($443)) + 48|0); + $445 = HEAP32[$444>>2]|0; + $446 = HEAP32[$12>>2]|0; + $447 = ((($446)) + 40|0); + $448 = HEAP16[$447>>1]|0; + $449 = $448&65535; + $450 = (($449) - 2)|0; + $451 = (($445) + ($450<<2)|0); + $452 = HEAP32[$451>>2]|0; + $453 = $452; + } else { + $453 = 0; + } + HEAP32[$28>>2] = $453; + break; + } + } + } + } while(0); + $454 = HEAP32[$12>>2]|0; + $455 = ((($454)) + 36|0); + $456 = HEAP32[$455>>2]|0; + $457 = $456 & 2; + $458 = ($457|0)!=(0); + do { + if ($458) { + $459 = HEAP32[$10>>2]|0; + $460 = HEAP32[$5>>2]|0; + $461 = HEAP32[$28>>2]|0; + $462 = HEAP32[$27>>2]|0; + $463 = HEAP32[$12>>2]|0; + (_whereRangeScanEst($459,$460,$461,$462,$463)|0); + } else { + $464 = HEAP32[$12>>2]|0; + $465 = ((($464)) + 24|0); + $466 = HEAP16[$465>>1]|0; + $467 = (($466) + 1)<<16>>16; + HEAP16[$465>>1] = $467; + $468 = $467&65535; + HEAP32[$36>>2] = $468; + $469 = HEAP32[$13>>2]|0; + $470 = ((($469)) + 8|0); + $471 = HEAP16[$470>>1]|0; + $472 = $471 << 16 >> 16; + $473 = ($472|0)<=(0); + if ($473) { + $474 = HEAP32[$7>>2]|0; + $475 = ((($474)) + 4|0); + $476 = HEAP32[$475>>2]|0; + $477 = HEAP16[$18>>1]|0; + $478 = $477&65535; + $479 = (($476) + ($478<<1)|0); + $480 = HEAP16[$479>>1]|0; + $481 = $480 << 16 >> 16; + $482 = ($481|0)>=(0); + if ($482) { + $483 = HEAP32[$13>>2]|0; + $484 = ((($483)) + 8|0); + $485 = HEAP16[$484>>1]|0; + $486 = $485 << 16 >> 16; + $487 = HEAP32[$12>>2]|0; + $488 = ((($487)) + 22|0); + $489 = HEAP16[$488>>1]|0; + $490 = $489 << 16 >> 16; + $491 = (($490) + ($486))|0; + $492 = $491&65535; + HEAP16[$488>>1] = $492; + $493 = HEAP32[$32>>2]|0; + $494 = HEAP32[$12>>2]|0; + $495 = ((($494)) + 22|0); + $496 = HEAP16[$495>>1]|0; + $497 = $496 << 16 >> 16; + $498 = (($497) - ($493))|0; + $499 = $498&65535; + HEAP16[$495>>1] = $499; + break; + } + } + $500 = HEAP32[$7>>2]|0; + $501 = ((($500)) + 8|0); + $502 = HEAP32[$501>>2]|0; + $503 = HEAP32[$36>>2]|0; + $504 = (($502) + ($503<<1)|0); + $505 = HEAP16[$504>>1]|0; + $506 = $505 << 16 >> 16; + $507 = HEAP32[$7>>2]|0; + $508 = ((($507)) + 8|0); + $509 = HEAP32[$508>>2]|0; + $510 = HEAP32[$36>>2]|0; + $511 = (($510) - 1)|0; + $512 = (($509) + ($511<<1)|0); + $513 = HEAP16[$512>>1]|0; + $514 = $513 << 16 >> 16; + $515 = (($506) - ($514))|0; + $516 = HEAP32[$12>>2]|0; + $517 = ((($516)) + 22|0); + $518 = HEAP16[$517>>1]|0; + $519 = $518 << 16 >> 16; + $520 = (($519) + ($515))|0; + $521 = $520&65535; + HEAP16[$517>>1] = $521; + $522 = HEAP16[$29>>1]|0; + $523 = $522&65535; + $524 = $523 & 256; + $525 = ($524|0)!=(0); + if ($525) { + $526 = HEAP32[$12>>2]|0; + $527 = ((($526)) + 22|0); + $528 = HEAP16[$527>>1]|0; + $529 = $528 << 16 >> 16; + $530 = (($529) + 10)|0; + $531 = $530&65535; + HEAP16[$527>>1] = $531; + } + } + } while(0); + $532 = HEAP32[$12>>2]|0; + $533 = ((($532)) + 22|0); + $534 = HEAP16[$533>>1]|0; + $535 = $534 << 16 >> 16; + $536 = (($535) + 1)|0; + $537 = HEAP32[$7>>2]|0; + $538 = ((($537)) + 48|0); + $539 = HEAP16[$538>>1]|0; + $540 = $539 << 16 >> 16; + $541 = ($540*15)|0; + $542 = HEAP32[$6>>2]|0; + $543 = ((($542)) + 16|0); + $544 = HEAP32[$543>>2]|0; + $545 = ((($544)) + 40|0); + $546 = HEAP16[$545>>1]|0; + $547 = $546 << 16 >> 16; + $548 = (($541|0) / ($547|0))&-1; + $549 = (($536) + ($548))|0; + $550 = $549&65535; + HEAP16[$30>>1] = $550; + $551 = HEAP16[$26>>1]|0; + $552 = HEAP16[$30>>1]|0; + $553 = (_sqlite3LogEstAdd($551,$552)|0); + $554 = HEAP32[$12>>2]|0; + $555 = ((($554)) + 20|0); + HEAP16[$555>>1] = $553; + $556 = HEAP32[$12>>2]|0; + $557 = ((($556)) + 36|0); + $558 = HEAP32[$557>>2]|0; + $559 = $558 & 320; + $560 = ($559|0)==(0); + if ($560) { + $561 = HEAP32[$12>>2]|0; + $562 = ((($561)) + 20|0); + $563 = HEAP16[$562>>1]|0; + $564 = HEAP32[$12>>2]|0; + $565 = ((($564)) + 22|0); + $566 = HEAP16[$565>>1]|0; + $567 = $566 << 16 >> 16; + $568 = (($567) + 16)|0; + $569 = $568&65535; + $570 = (_sqlite3LogEstAdd($563,$569)|0); + $571 = HEAP32[$12>>2]|0; + $572 = ((($571)) + 20|0); + HEAP16[$572>>1] = $570; + } + $573 = HEAP32[$12>>2]|0; + $574 = ((($573)) + 22|0); + $575 = HEAP16[$574>>1]|0; + HEAP16[$31>>1] = $575; + $576 = HEAP16[$8>>1]|0; + $577 = $576 << 16 >> 16; + $578 = HEAP32[$32>>2]|0; + $579 = (($577) + ($578))|0; + $580 = HEAP32[$12>>2]|0; + $581 = ((($580)) + 20|0); + $582 = HEAP16[$581>>1]|0; + $583 = $582 << 16 >> 16; + $584 = (($583) + ($579))|0; + $585 = $584&65535; + HEAP16[$581>>1] = $585; + $586 = HEAP16[$8>>1]|0; + $587 = $586 << 16 >> 16; + $588 = HEAP32[$32>>2]|0; + $589 = (($587) + ($588))|0; + $590 = HEAP32[$12>>2]|0; + $591 = ((($590)) + 22|0); + $592 = HEAP16[$591>>1]|0; + $593 = $592 << 16 >> 16; + $594 = (($593) + ($589))|0; + $595 = $594&65535; + HEAP16[$591>>1] = $595; + $596 = HEAP32[$5>>2]|0; + $597 = ((($596)) + 4|0); + $598 = HEAP32[$597>>2]|0; + $599 = HEAP32[$12>>2]|0; + $600 = HEAP16[$25>>1]|0; + _whereLoopOutputAdjust($598,$599,$600); + $601 = HEAP32[$5>>2]|0; + $602 = HEAP32[$12>>2]|0; + $603 = (_whereLoopInsert($601,$602)|0); + HEAP32[$24>>2] = $603; + $604 = HEAP32[$12>>2]|0; + $605 = ((($604)) + 36|0); + $606 = HEAP32[$605>>2]|0; + $607 = $606 & 2; + $608 = ($607|0)!=(0); + $609 = HEAP16[$31>>1]|0; + $610 = HEAP32[$12>>2]|0; + $611 = HEAP16[$23>>1]|0; + $612 = HEAP32[$12>>2]|0; + $$sink6 = $608 ? $612 : $610; + $$sink4 = $608 ? $611 : $609; + $613 = ((($$sink6)) + 22|0); + HEAP16[$613>>1] = $$sink4; + $614 = HEAP32[$12>>2]|0; + $615 = ((($614)) + 36|0); + $616 = HEAP32[$615>>2]|0; + $617 = $616 & 16; + $618 = ($617|0)==(0); + if ($618) { + $619 = HEAP32[$12>>2]|0; + $620 = ((($619)) + 24|0); + $621 = HEAP16[$620>>1]|0; + $622 = $621&65535; + $623 = HEAP32[$7>>2]|0; + $624 = ((($623)) + 52|0); + $625 = HEAP16[$624>>1]|0; + $626 = $625&65535; + $627 = ($622|0)<($626|0); + if ($627) { + $628 = HEAP32[$5>>2]|0; + $629 = HEAP32[$6>>2]|0; + $630 = HEAP32[$7>>2]|0; + $631 = HEAP16[$8>>1]|0; + $632 = $631 << 16 >> 16; + $633 = HEAP32[$32>>2]|0; + $634 = (($632) + ($633))|0; + $635 = $634&65535; + (_whereLoopAddBtreeIndex($628,$629,$630,$635)|0); + } + } + $636 = HEAP16[$23>>1]|0; + $637 = HEAP32[$12>>2]|0; + $638 = ((($637)) + 22|0); + HEAP16[$638>>1] = $636; + } + } + } while(0); + $639 = (_whereScanNext($15)|0); + HEAP32[$13>>2] = $639; + } + $640 = $16; + $641 = $640; + $642 = HEAP32[$641>>2]|0; + $643 = (($640) + 4)|0; + $644 = $643; + $645 = HEAP32[$644>>2]|0; + $646 = HEAP32[$12>>2]|0; + $647 = $646; + $648 = $647; + HEAP32[$648>>2] = $642; + $649 = (($647) + 4)|0; + $650 = $649; + HEAP32[$650>>2] = $645; + $651 = HEAP16[$18>>1]|0; + $652 = HEAP32[$12>>2]|0; + $653 = ((($652)) + 24|0); + HEAP16[$653>>1] = $651; + $654 = HEAP16[$19>>1]|0; + $655 = HEAP32[$12>>2]|0; + $656 = ((($655)) + 24|0); + $657 = ((($656)) + 2|0); + HEAP16[$657>>1] = $654; + $658 = HEAP16[$20>>1]|0; + $659 = HEAP32[$12>>2]|0; + $660 = ((($659)) + 24|0); + $661 = ((($660)) + 4|0); + HEAP16[$661>>1] = $658; + $662 = HEAP16[$21>>1]|0; + $663 = HEAP32[$12>>2]|0; + $664 = ((($663)) + 42|0); + HEAP16[$664>>1] = $662; + $665 = HEAP32[$22>>2]|0; + $666 = HEAP32[$12>>2]|0; + $667 = ((($666)) + 36|0); + HEAP32[$667>>2] = $665; + $668 = HEAP16[$23>>1]|0; + $669 = HEAP32[$12>>2]|0; + $670 = ((($669)) + 22|0); + HEAP16[$670>>1] = $668; + $671 = HEAP16[$17>>1]|0; + $672 = HEAP32[$12>>2]|0; + $673 = ((($672)) + 40|0); + HEAP16[$673>>1] = $671; + $674 = HEAP16[$18>>1]|0; + $675 = $674&65535; + $676 = HEAP16[$21>>1]|0; + $677 = $676&65535; + $678 = ($675|0)==($677|0); + if ($678) { + $679 = HEAP16[$18>>1]|0; + $680 = $679&65535; + $681 = (($680) + 1)|0; + $682 = HEAP32[$7>>2]|0; + $683 = ((($682)) + 50|0); + $684 = HEAP16[$683>>1]|0; + $685 = $684&65535; + $686 = ($681|0)<($685|0); + if ($686) { + $687 = HEAP32[$7>>2]|0; + $688 = ((($687)) + 55|0); + $689 = HEAP8[$688>>0]|0; + $690 = ($689&255) >>> 6; + $691 = $690 & 1; + $692 = $691&255; + $693 = ($692|0)==(0); + if ($693) { + $694 = HEAP32[$7>>2]|0; + $695 = ((($694)) + 8|0); + $696 = HEAP32[$695>>2]|0; + $697 = HEAP16[$18>>1]|0; + $698 = $697&65535; + $699 = (($698) + 1)|0; + $700 = (($696) + ($699<<1)|0); + $701 = HEAP16[$700>>1]|0; + $702 = $701 << 16 >> 16; + $703 = ($702|0)>=(42); + if ($703) { + $704 = HEAP32[$11>>2]|0; + $705 = HEAP32[$12>>2]|0; + $706 = HEAP32[$12>>2]|0; + $707 = ((($706)) + 40|0); + $708 = HEAP16[$707>>1]|0; + $709 = $708&65535; + $710 = (($709) + 1)|0; + $711 = (_whereLoopResize($704,$705,$710)|0); + HEAP32[$24>>2] = $711; + $712 = ($711|0)==(0); + if ($712) { + $713 = HEAP32[$12>>2]|0; + $714 = ((($713)) + 24|0); + $715 = HEAP16[$714>>1]|0; + $716 = (($715) + 1)<<16>>16; + HEAP16[$714>>1] = $716; + $717 = HEAP32[$12>>2]|0; + $718 = ((($717)) + 42|0); + $719 = HEAP16[$718>>1]|0; + $720 = (($719) + 1)<<16>>16; + HEAP16[$718>>1] = $720; + $721 = HEAP32[$12>>2]|0; + $722 = ((($721)) + 48|0); + $723 = HEAP32[$722>>2]|0; + $724 = HEAP32[$12>>2]|0; + $725 = ((($724)) + 40|0); + $726 = HEAP16[$725>>1]|0; + $727 = (($726) + 1)<<16>>16; + HEAP16[$725>>1] = $727; + $728 = $726&65535; + $729 = (($723) + ($728<<2)|0); + HEAP32[$729>>2] = 0; + $730 = HEAP32[$12>>2]|0; + $731 = ((($730)) + 36|0); + $732 = HEAP32[$731>>2]|0; + $733 = $732 | 32768; + HEAP32[$731>>2] = $733; + $734 = HEAP32[$7>>2]|0; + $735 = ((($734)) + 8|0); + $736 = HEAP32[$735>>2]|0; + $737 = HEAP16[$18>>1]|0; + $738 = $737&65535; + $739 = (($736) + ($738<<1)|0); + $740 = HEAP16[$739>>1]|0; + $741 = $740 << 16 >> 16; + $742 = HEAP32[$7>>2]|0; + $743 = ((($742)) + 8|0); + $744 = HEAP32[$743>>2]|0; + $745 = HEAP16[$18>>1]|0; + $746 = $745&65535; + $747 = (($746) + 1)|0; + $748 = (($744) + ($747<<1)|0); + $749 = HEAP16[$748>>1]|0; + $750 = $749 << 16 >> 16; + $751 = (($741) - ($750))|0; + $752 = $751&65535; + HEAP16[$37>>1] = $752; + $753 = HEAP16[$37>>1]|0; + $754 = $753 << 16 >> 16; + $755 = HEAP32[$12>>2]|0; + $756 = ((($755)) + 22|0); + $757 = HEAP16[$756>>1]|0; + $758 = $757 << 16 >> 16; + $759 = (($758) - ($754))|0; + $760 = $759&65535; + HEAP16[$756>>1] = $760; + $761 = HEAP16[$37>>1]|0; + $762 = $761 << 16 >> 16; + $763 = (($762) + 5)|0; + $764 = $763&65535; + HEAP16[$37>>1] = $764; + $765 = HEAP32[$5>>2]|0; + $766 = HEAP32[$6>>2]|0; + $767 = HEAP32[$7>>2]|0; + $768 = HEAP16[$37>>1]|0; + $769 = $768 << 16 >> 16; + $770 = HEAP16[$8>>1]|0; + $771 = $770 << 16 >> 16; + $772 = (($769) + ($771))|0; + $773 = $772&65535; + (_whereLoopAddBtreeIndex($765,$766,$767,$773)|0); + $774 = HEAP16[$23>>1]|0; + $775 = HEAP32[$12>>2]|0; + $776 = ((($775)) + 22|0); + HEAP16[$776>>1] = $774; + $777 = HEAP16[$18>>1]|0; + $778 = HEAP32[$12>>2]|0; + $779 = ((($778)) + 24|0); + HEAP16[$779>>1] = $777; + $780 = HEAP16[$21>>1]|0; + $781 = HEAP32[$12>>2]|0; + $782 = ((($781)) + 42|0); + HEAP16[$782>>1] = $780; + $783 = HEAP32[$22>>2]|0; + $784 = HEAP32[$12>>2]|0; + $785 = ((($784)) + 36|0); + HEAP32[$785>>2] = $783; + } + } + } + } + } + $786 = HEAP32[$24>>2]|0; + HEAP32[$4>>2] = $786; + $787 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($787|0); +} +function _indexColumnNotNull($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 432|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; $5 = sp; - $6 = sp + 24|0; - $7 = sp + 20|0; - $rc = sp + 16|0; - $pIdxKey = sp + 12|0; - $aSpace = sp + 40|0; - $pFree = sp + 8|0; - HEAP32[$3>>2] = $pCur; - HEAP32[$4>>2] = $pKey; - $8 = $5; - $9 = $8; - HEAP32[$9>>2] = $0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $1; - HEAP32[$6>>2] = $bias; - HEAP32[$7>>2] = $pRes; - HEAP32[$pFree>>2] = 0; - $12 = HEAP32[$4>>2]|0; - $13 = ($12|0)!=(0|0); - if ($13) { - $14 = HEAP32[$3>>2]|0; - $15 = ((($14)) + 72|0); - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3VdbeAllocUnpackedRecord($16,$aSpace,384,$pFree)|0); - HEAP32[$pIdxKey>>2] = $17; - $18 = HEAP32[$pIdxKey>>2]|0; - $19 = ($18|0)==(0|0); - if ($19) { - HEAP32[$2>>2] = 7; - $63 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($63|0); - } - $20 = HEAP32[$3>>2]|0; - $21 = ((($20)) + 72|0); - $22 = HEAP32[$21>>2]|0; - $23 = $5; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$4>>2]|0; - $30 = HEAP32[$pIdxKey>>2]|0; - _sqlite3VdbeRecordUnpack($22,$25,$29,$30); - $31 = HEAP32[$pIdxKey>>2]|0; - $32 = ((($31)) + 8|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33&65535; - $35 = ($34|0)==(0); - if ($35) { - $36 = HEAP32[$3>>2]|0; - $37 = ((($36)) + 72|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($38)) + 12|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$pFree>>2]|0; - _sqlite3DbFree($40,$41); - $42 = (_sqlite3CorruptError(59021)|0); - HEAP32[$2>>2] = $42; - $63 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($63|0); - } - } else { - HEAP32[$pIdxKey>>2] = 0; - } - $43 = HEAP32[$3>>2]|0; - $44 = HEAP32[$pIdxKey>>2]|0; - $45 = $5; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$6>>2]|0; - $52 = HEAP32[$7>>2]|0; - $53 = (_sqlite3BtreeMovetoUnpacked($43,$44,$47,$50,$51,$52)|0); - HEAP32[$rc>>2] = $53; - $54 = HEAP32[$pFree>>2]|0; - $55 = ($54|0)!=(0|0); - if ($55) { - $56 = HEAP32[$3>>2]|0; - $57 = ((($56)) + 72|0); - $58 = HEAP32[$57>>2]|0; - $59 = ((($58)) + 12|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$pFree>>2]|0; - _sqlite3DbFree($60,$61); + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = (($8) + ($9<<1)|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11 << 16 >> 16; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)>=(0); + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = (($19) + ($20<<4)|0); + $22 = ((($21)) + 12|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + HEAP32[$2>>2] = $24; + $27 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($27|0); } - $62 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $62; - $63 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($63|0); -} -function _sqlite3VdbeAllocUnpackedRecord($pKeyInfo,$pSpace,$szSpace,$ppFree) { - $pKeyInfo = $pKeyInfo|0; - $pSpace = $pSpace|0; - $szSpace = $szSpace|0; - $ppFree = $ppFree|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nByte = 0, $nOff = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $p = sp + 8|0; - $nOff = sp + 4|0; - $nByte = sp; - HEAP32[$1>>2] = $pKeyInfo; - HEAP32[$2>>2] = $pSpace; - HEAP32[$3>>2] = $szSpace; - HEAP32[$4>>2] = $ppFree; - $5 = HEAP32[$2>>2]|0; - $6 = $5; - $7 = $6 & 7; - $8 = (8 - ($7))|0; - $9 = $8 & 7; - HEAP32[$nOff>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 6|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = (($13) + 1)|0; - $15 = ($14*40)|0; - $16 = (16 + ($15))|0; - HEAP32[$nByte>>2] = $16; - $17 = HEAP32[$nByte>>2]|0; - $18 = HEAP32[$3>>2]|0; - $19 = HEAP32[$nOff>>2]|0; - $20 = (($18) + ($19))|0; - $21 = ($17|0)>($20|0); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 12|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$nByte>>2]|0; - $26 = ($25|0)<(0); - $27 = $26 << 31 >> 31; - $28 = (_sqlite3DbMallocRaw($24,$25,$27)|0); - HEAP32[$p>>2] = $28; - $29 = HEAP32[$p>>2]|0; - $30 = HEAP32[$4>>2]|0; - HEAP32[$30>>2] = $29; - $31 = HEAP32[$p>>2]|0; - $32 = ($31|0)!=(0|0); - if (!($32)) { - HEAP32[$0>>2] = 0; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); - } + $25 = HEAP32[$5>>2]|0; + $26 = ($25|0)==(-1); + if ($26) { + HEAP32[$2>>2] = 1; + $27 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($27|0); } else { - $33 = HEAP32[$nOff>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = (($34) + ($33)|0); - HEAP32[$p>>2] = $35; - $36 = HEAP32[$4>>2]|0; - HEAP32[$36>>2] = 0; + HEAP32[$2>>2] = 0; + $27 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($27|0); } - $37 = HEAP32[$p>>2]|0; - $38 = ((($37)) + 16|0); - $39 = HEAP32[$p>>2]|0; - $40 = ((($39)) + 4|0); - HEAP32[$40>>2] = $38; - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$p>>2]|0; - HEAP32[$42>>2] = $41; - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 6|0); - $45 = HEAP16[$44>>1]|0; - $46 = $45&65535; - $47 = (($46) + 1)|0; - $48 = $47&65535; - $49 = HEAP32[$p>>2]|0; - $50 = ((($49)) + 8|0); - HEAP16[$50>>1] = $48; - $51 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $51; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + return (0)|0; } -function _sqlite3VdbeRecordUnpack($pKeyInfo,$nKey,$pKey,$p) { - $pKeyInfo = $pKeyInfo|0; - $nKey = $nKey|0; - $pKey = $pKey|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $aKey = 0, $d = 0, $idx = 0, $pMem = 0, $serial_type = 0, $szHdr = 0, $u = 0, label = 0, sp = 0; +function _whereRangeVectorLen($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $aKey = sp + 20|0; - $d = sp + 16|0; - $idx = sp + 12|0; - $u = sp + 40|0; - $szHdr = sp + 8|0; - $pMem = sp + 4|0; - $serial_type = sp; - HEAP32[$0>>2] = $pKeyInfo; - HEAP32[$1>>2] = $nKey; - HEAP32[$2>>2] = $pKey; - HEAP32[$3>>2] = $p; - $4 = HEAP32[$2>>2]|0; - HEAP32[$aKey>>2] = $4; - $5 = HEAP32[$3>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pMem>>2] = $7; - $8 = HEAP32[$3>>2]|0; - $9 = ((($8)) + 10|0); - HEAP8[$9>>0] = 0; - $10 = HEAP32[$aKey>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)<(128); - $14 = HEAP32[$aKey>>2]|0; - if ($13) { - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - HEAP32[$szHdr>>2] = $16; - $20 = 1; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 41|0; + $13 = sp + 40|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $17 = HEAP32[$9>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3ExprVectorSize($20)|0); + HEAP32[$10>>2] = $21; + $22 = HEAP32[$10>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 52|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = HEAP32[$8>>2]|0; + $28 = (($26) - ($27))|0; + $29 = ($22|0)<($28|0); + if ($29) { + $30 = HEAP32[$10>>2]|0; + $37 = $30; } else { - $17 = (_sqlite3GetVarint32($14,$szHdr)|0); - $18 = $17&255; - $20 = $18; + $31 = HEAP32[$7>>2]|0; + $32 = ((($31)) + 52|0); + $33 = HEAP16[$32>>1]|0; + $34 = $33&65535; + $35 = HEAP32[$8>>2]|0; + $36 = (($34) - ($35))|0; + $37 = $36; } - $19 = $20&255; - $21 = $19&255; - HEAP32[$idx>>2] = $21; - $22 = HEAP32[$szHdr>>2]|0; - HEAP32[$d>>2] = $22; - HEAP16[$u>>1] = 0; + HEAP32[$10>>2] = $37; + HEAP32[$11>>2] = 1; while(1) { - $23 = HEAP32[$idx>>2]|0; - $24 = HEAP32[$szHdr>>2]|0; - $25 = ($23>>>0)<($24>>>0); - if (!($25)) { - label = 11; + $38 = HEAP32[$11>>2]|0; + $39 = HEAP32[$10>>2]|0; + $40 = ($38|0)<($39|0); + if (!($40)) { + label = 17; break; } - $26 = HEAP32[$d>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = ($26|0)<=($27|0); - if (!($28)) { - label = 11; + HEAP8[$13>>0] = 0; + $41 = HEAP32[$9>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($44)) + 20|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$11>>2]|0; + $50 = (($48) + (($49*20)|0)|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$15>>2] = $51; + $52 = HEAP32[$9>>2]|0; + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 16|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$16>>2] = $55; + $56 = HEAP32[$16>>2]|0; + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 & 2048; + $60 = ($59|0)!=(0); + $61 = HEAP32[$16>>2]|0; + $62 = ((($61)) + 20|0); + if ($60) { + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$11>>2]|0; + $68 = (($66) + (($67*20)|0)|0); + $69 = HEAP32[$68>>2]|0; + HEAP32[$16>>2] = $69; + } else { + $70 = HEAP32[$62>>2]|0; + $71 = ((($70)) + 4|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$11>>2]|0; + $74 = (($72) + (($73*20)|0)|0); + $75 = HEAP32[$74>>2]|0; + HEAP32[$16>>2] = $75; + } + $76 = HEAP32[$15>>2]|0; + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = ($78|0)!=(152); + if ($79) { + label = 17; break; } - $29 = HEAP32[$idx>>2]|0; - $30 = HEAP32[$aKey>>2]|0; - $31 = (($30) + ($29)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = ($33|0)<(128); - $35 = HEAP32[$idx>>2]|0; - $36 = HEAP32[$aKey>>2]|0; - $37 = (($36) + ($35)|0); - if ($34) { - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - HEAP32[$serial_type>>2] = $39; - $43 = 1; - } else { - $40 = (_sqlite3GetVarint32($37,$serial_type)|0); - $41 = $40&255; - $43 = $41; + $80 = HEAP32[$15>>2]|0; + $81 = ((($80)) + 28|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$6>>2]|0; + $84 = ($82|0)!=($83|0); + if ($84) { + label = 17; + break; } - $42 = $43&255; - $44 = $42&255; - $45 = HEAP32[$idx>>2]|0; - $46 = (($45) + ($44))|0; - HEAP32[$idx>>2] = $46; - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 4|0); - $49 = HEAP8[$48>>0]|0; - $50 = HEAP32[$pMem>>2]|0; - $51 = ((($50)) + 10|0); - HEAP8[$51>>0] = $49; - $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$pMem>>2]|0; - $56 = ((($55)) + 32|0); - HEAP32[$56>>2] = $54; - $57 = HEAP32[$pMem>>2]|0; - $58 = ((($57)) + 24|0); - HEAP32[$58>>2] = 0; - $59 = HEAP32[$pMem>>2]|0; - $60 = ((($59)) + 16|0); - HEAP32[$60>>2] = 0; - $61 = HEAP32[$d>>2]|0; - $62 = HEAP32[$aKey>>2]|0; - $63 = (($62) + ($61)|0); - $64 = HEAP32[$serial_type>>2]|0; - $65 = HEAP32[$pMem>>2]|0; - $66 = (_sqlite3VdbeSerialGet($63,$64,$65)|0); - $67 = HEAP32[$d>>2]|0; - $68 = (($67) + ($66))|0; - HEAP32[$d>>2] = $68; - $69 = HEAP32[$pMem>>2]|0; - $70 = ((($69)) + 40|0); - HEAP32[$pMem>>2] = $70; - $71 = HEAP16[$u>>1]|0; - $72 = (($71) + 1)<<16>>16; - HEAP16[$u>>1] = $72; - $73 = $72&65535; - $74 = HEAP32[$3>>2]|0; - $75 = ((($74)) + 8|0); - $76 = HEAP16[$75>>1]|0; - $77 = $76&65535; - $78 = ($73|0)>=($77|0); - if ($78) { - label = 11; + $85 = HEAP32[$15>>2]|0; + $86 = ((($85)) + 32|0); + $87 = HEAP16[$86>>1]|0; + $88 = $87 << 16 >> 16; + $89 = HEAP32[$7>>2]|0; + $90 = ((($89)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$11>>2]|0; + $93 = HEAP32[$8>>2]|0; + $94 = (($92) + ($93))|0; + $95 = (($91) + ($94<<1)|0); + $96 = HEAP16[$95>>1]|0; + $97 = $96 << 16 >> 16; + $98 = ($88|0)!=($97|0); + if ($98) { + label = 17; + break; + } + $99 = HEAP32[$7>>2]|0; + $100 = ((($99)) + 28|0); + $101 = HEAP32[$100>>2]|0; + $102 = HEAP32[$11>>2]|0; + $103 = HEAP32[$8>>2]|0; + $104 = (($102) + ($103))|0; + $105 = (($101) + ($104)|0); + $106 = HEAP8[$105>>0]|0; + $107 = $106&255; + $108 = HEAP32[$7>>2]|0; + $109 = ((($108)) + 28|0); + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$8>>2]|0; + $112 = (($110) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $115 = ($107|0)!=($114|0); + if ($115) { + label = 17; + break; + } + $116 = HEAP32[$16>>2]|0; + $117 = HEAP32[$15>>2]|0; + $118 = (_sqlite3ExprAffinity($117)|0); + $119 = (_sqlite3CompareAffinity($116,$118)|0); + HEAP8[$12>>0] = $119; + $120 = HEAP32[$7>>2]|0; + $121 = ((($120)) + 12|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$15>>2]|0; + $124 = ((($123)) + 32|0); + $125 = HEAP16[$124>>1]|0; + $126 = $125 << 16 >> 16; + $127 = (_sqlite3TableColumnAffinity($122,$126)|0); + HEAP8[$13>>0] = $127; + $128 = HEAP8[$12>>0]|0; + $129 = $128 << 24 >> 24; + $130 = HEAP8[$13>>0]|0; + $131 = $130 << 24 >> 24; + $132 = ($129|0)!=($131|0); + if ($132) { + label = 17; + break; + } + $133 = HEAP32[$5>>2]|0; + $134 = HEAP32[$15>>2]|0; + $135 = HEAP32[$16>>2]|0; + $136 = (_sqlite3BinaryCompareCollSeq($133,$134,$135)|0); + HEAP32[$14>>2] = $136; + $137 = HEAP32[$14>>2]|0; + $138 = ($137|0)==(0|0); + if ($138) { + label = 17; break; } + $139 = HEAP32[$14>>2]|0; + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$7>>2]|0; + $142 = ((($141)) + 32|0); + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$11>>2]|0; + $145 = HEAP32[$8>>2]|0; + $146 = (($144) + ($145))|0; + $147 = (($143) + ($146<<2)|0); + $148 = HEAP32[$147>>2]|0; + $149 = (_sqlite3StrICmp($140,$148)|0); + $150 = ($149|0)!=(0); + if ($150) { + label = 17; + break; + } + $151 = HEAP32[$11>>2]|0; + $152 = (($151) + 1)|0; + HEAP32[$11>>2] = $152; } - if ((label|0) == 11) { - $79 = HEAP16[$u>>1]|0; - $80 = HEAP32[$3>>2]|0; - $81 = ((($80)) + 8|0); - HEAP16[$81>>1] = $79; - STACKTOP = sp;return; + if ((label|0) == 17) { + $153 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($153|0); } + return (0)|0; } -function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { - $pCur = $pCur|0; - $pIdxKey = $pIdxKey|0; +function _whereRangeScanEst($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; - $biasRight = $biasRight|0; - $pRes = $pRes|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; - var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; - var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; - var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; - var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; - var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; - var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; - var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; - var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $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; - var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; - var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; - var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; - var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $chldPg = 0, $idx = 0, $lwr = 0, $nCell = 0, $nCellKey = 0, $pCell = 0, $pCellBody = 0; - var $pCellKey = 0, $pPage = 0, $rc = 0, $upr = 0, $xRecordCompare = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $7 = 0, $8 = 0, $9 = 0; + var $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 8|0; - $6 = sp + 68|0; - $7 = sp + 64|0; - $rc = sp + 60|0; - $xRecordCompare = sp + 56|0; - $lwr = sp + 52|0; - $upr = sp + 48|0; - $idx = sp + 44|0; - $c = sp + 40|0; - $chldPg = sp + 36|0; - $pPage = sp + 32|0; - $pCell = sp + 28|0; - $nCellKey = sp; - $nCell = sp + 24|0; - $pCellKey = sp + 20|0; - $pCellBody = sp + 16|0; - HEAP32[$3>>2] = $pCur; - HEAP32[$4>>2] = $pIdxKey; - $8 = $5; - $9 = $8; - HEAP32[$9>>2] = $0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $1; - HEAP32[$6>>2] = $biasRight; - HEAP32[$7>>2] = $pRes; - $12 = HEAP32[$4>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - $14 = HEAP32[$3>>2]|0; - $15 = ((($14)) + 66|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = ($17|0)==(1); - if ($18) { - $19 = HEAP32[$3>>2]|0; - $20 = ((($19)) + 64|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = $22 & 2; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$3>>2]|0; - $26 = ((($25)) + 16|0); - $27 = $26; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = $5; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (($33) + 4)|0; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = ($29|0)==($35|0); - $40 = ($32|0)==($38|0); - $41 = $39 & $40; - if ($41) { - $42 = HEAP32[$7>>2]|0; - HEAP32[$42>>2] = 0; - HEAP32[$2>>2] = 0; - $473 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($473|0); - } - $43 = HEAP32[$3>>2]|0; - $44 = ((($43)) + 64|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $47 = $46 & 8; - $48 = ($47|0)!=(0); - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = ((($49)) + 16|0); - $51 = $50; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (($51) + 4)|0; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = $5; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = ($56|0)<($62|0); - $64 = ($53>>>0)<($59>>>0); - $65 = ($56|0)==($62|0); - $66 = $65 & $64; - $67 = $63 | $66; - if ($67) { - $68 = HEAP32[$7>>2]|0; - HEAP32[$68>>2] = -1; - HEAP32[$2>>2] = 0; - $473 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($473|0); - } - } + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + $12 = sp + 28|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = 0; + $13 = HEAP32[$9>>2]|0; + $14 = ((($13)) + 22|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15 << 16 >> 16; + HEAP32[$11>>2] = $16; + $17 = HEAP32[$7>>2]|0; + $18 = HEAP32[$11>>2]|0; + $19 = $18&65535; + $20 = (_whereRangeAdjust($17,$19)|0); + HEAP16[$12>>1] = $20; + $21 = HEAP32[$8>>2]|0; + $22 = HEAP16[$12>>1]|0; + $23 = (_whereRangeAdjust($21,$22)|0); + HEAP16[$12>>1] = $23; + $24 = HEAP32[$7>>2]|0; + $25 = ($24|0)!=(0|0); + if ($25) { + $26 = HEAP32[$7>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28 << 16 >> 16; + $30 = ($29|0)>(0); + $31 = HEAP32[$8>>2]|0; + $32 = ($31|0)!=(0|0); + $or$cond = $30 & $32; + if ($or$cond) { + $33 = HEAP32[$8>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP16[$34>>1]|0; + $36 = $35 << 16 >> 16; + $37 = ($36|0)>(0); + if ($37) { + $38 = HEAP16[$12>>1]|0; + $39 = $38 << 16 >> 16; + $40 = (($39) - 20)|0; + $41 = $40&65535; + HEAP16[$12>>1] = $41; } } } - $69 = HEAP32[$4>>2]|0; - $70 = ($69|0)!=(0|0); - if ($70) { - $71 = HEAP32[$4>>2]|0; - $72 = (_sqlite3VdbeFindCompare($71)|0); - HEAP32[$xRecordCompare>>2] = $72; - $73 = HEAP32[$4>>2]|0; - $74 = ((($73)) + 11|0); - HEAP8[$74>>0] = 0; - } else { - HEAP32[$xRecordCompare>>2] = 0; - } - $75 = HEAP32[$3>>2]|0; - $76 = (_moveToRoot($75)|0); - HEAP32[$rc>>2] = $76; - $77 = HEAP32[$rc>>2]|0; - $78 = ($77|0)!=(0); - if ($78) { - $79 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $79; - $473 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($473|0); + $42 = HEAP32[$7>>2]|0; + $43 = ($42|0)!=(0|0); + $44 = $43&1; + $45 = HEAP32[$8>>2]|0; + $46 = ($45|0)!=(0|0); + $47 = $46&1; + $48 = (($44) + ($47))|0; + $49 = HEAP32[$11>>2]|0; + $50 = (($49) - ($48))|0; + HEAP32[$11>>2] = $50; + $51 = HEAP16[$12>>1]|0; + $52 = $51 << 16 >> 16; + $53 = ($52|0)<(10); + if ($53) { + HEAP16[$12>>1] = 10; } - $80 = HEAP32[$3>>2]|0; - $81 = ((($80)) + 66|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = ($83|0)==(0); - if ($84) { - $85 = HEAP32[$7>>2]|0; - HEAP32[$85>>2] = -1; - HEAP32[$2>>2] = 0; - $473 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($473|0); + $54 = HEAP16[$12>>1]|0; + $55 = $54 << 16 >> 16; + $56 = HEAP32[$11>>2]|0; + $57 = ($55|0)<($56|0); + if (!($57)) { + $60 = HEAP32[$11>>2]|0; + $61 = $60&65535; + $62 = HEAP32[$9>>2]|0; + $63 = ((($62)) + 22|0); + HEAP16[$63>>1] = $61; + $64 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($64|0); } - L24: while(1) { - $86 = HEAP32[$3>>2]|0; - $87 = ((($86)) + 68|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88 << 24 >> 24; - $90 = HEAP32[$3>>2]|0; - $91 = ((($90)) + 120|0); - $92 = (($91) + ($89<<2)|0); - $93 = HEAP32[$92>>2]|0; - HEAP32[$pPage>>2] = $93; - HEAP32[$lwr>>2] = 0; - $94 = HEAP32[$pPage>>2]|0; - $95 = ((($94)) + 18|0); - $96 = HEAP16[$95>>1]|0; - $97 = $96&65535; - $98 = (($97) - 1)|0; - HEAP32[$upr>>2] = $98; - $99 = HEAP32[$upr>>2]|0; - $100 = HEAP32[$6>>2]|0; - $101 = (1 - ($100))|0; - $102 = $99 >> $101; - HEAP32[$idx>>2] = $102; - $103 = HEAP32[$idx>>2]|0; - $104 = $103&65535; - $105 = HEAP32[$3>>2]|0; - $106 = ((($105)) + 68|0); - $107 = HEAP8[$106>>0]|0; - $108 = $107 << 24 >> 24; - $109 = HEAP32[$3>>2]|0; - $110 = ((($109)) + 80|0); - $111 = (($110) + ($108<<1)|0); - HEAP16[$111>>1] = $104; - $112 = HEAP32[$xRecordCompare>>2]|0; - $113 = ($112|0)==(0|0); - L26: do { - if ($113) { - while(1) { - $114 = HEAP32[$pPage>>2]|0; - $115 = ((($114)) + 68|0); - $116 = HEAP32[$115>>2]|0; - $117 = HEAP32[$pPage>>2]|0; - $118 = ((($117)) + 20|0); - $119 = HEAP16[$118>>1]|0; - $120 = $119&65535; - $121 = HEAP32[$idx>>2]|0; - $122 = $121<<1; - $123 = HEAP32[$pPage>>2]|0; - $124 = ((($123)) + 64|0); - $125 = HEAP32[$124>>2]|0; - $126 = (($125) + ($122)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $129 = $128 << 8; - $130 = HEAP32[$idx>>2]|0; - $131 = $130<<1; - $132 = HEAP32[$pPage>>2]|0; - $133 = ((($132)) + 64|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($134) + ($131)|0); - $136 = ((($135)) + 1|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = $129 | $138; - $140 = $120 & $139; - $141 = (($116) + ($140)|0); - HEAP32[$pCell>>2] = $141; - $142 = HEAP32[$pPage>>2]|0; - $143 = ((($142)) + 3|0); - $144 = HEAP8[$143>>0]|0; - $145 = ($144<<24>>24)!=(0); - L29: do { - if ($145) { - while(1) { - $146 = HEAP32[$pCell>>2]|0; - $147 = ((($146)) + 1|0); - HEAP32[$pCell>>2] = $147; - $148 = HEAP8[$146>>0]|0; - $149 = $148&255; - $150 = (128)<=($149|0); - if (!($150)) { - break L29; - } - $151 = HEAP32[$pCell>>2]|0; - $152 = HEAP32[$pPage>>2]|0; - $153 = ((($152)) + 60|0); - $154 = HEAP32[$153>>2]|0; - $155 = ($151>>>0)>=($154>>>0); - if ($155) { - label = 20; - break L24; - } - } - } - } while(0); - $157 = HEAP32[$pCell>>2]|0; - (_sqlite3GetVarint($157,$nCellKey)|0); - $158 = $nCellKey; - $159 = $158; - $160 = HEAP32[$159>>2]|0; - $161 = (($158) + 4)|0; - $162 = $161; - $163 = HEAP32[$162>>2]|0; - $164 = $5; - $165 = $164; - $166 = HEAP32[$165>>2]|0; - $167 = (($164) + 4)|0; - $168 = $167; - $169 = HEAP32[$168>>2]|0; - $170 = ($163|0)<($169|0); - $171 = ($160>>>0)<($166>>>0); - $172 = ($163|0)==($169|0); - $173 = $172 & $171; - $174 = $170 | $173; - if ($174) { - $175 = HEAP32[$idx>>2]|0; - $176 = (($175) + 1)|0; - HEAP32[$lwr>>2] = $176; - $177 = HEAP32[$lwr>>2]|0; - $178 = HEAP32[$upr>>2]|0; - $179 = ($177|0)>($178|0); - if ($179) { - label = 23; - break; - } - } else { - $180 = $nCellKey; - $181 = $180; - $182 = HEAP32[$181>>2]|0; - $183 = (($180) + 4)|0; - $184 = $183; - $185 = HEAP32[$184>>2]|0; - $186 = $5; - $187 = $186; - $188 = HEAP32[$187>>2]|0; - $189 = (($186) + 4)|0; - $190 = $189; - $191 = HEAP32[$190>>2]|0; - $192 = ($185|0)>($191|0); - $193 = ($182>>>0)>($188>>>0); - $194 = ($185|0)==($191|0); - $195 = $194 & $193; - $196 = $192 | $195; - if (!($196)) { - label = 27; - break; - } - $197 = HEAP32[$idx>>2]|0; - $198 = (($197) - 1)|0; - HEAP32[$upr>>2] = $198; - $199 = HEAP32[$lwr>>2]|0; - $200 = HEAP32[$upr>>2]|0; - $201 = ($199|0)>($200|0); - if ($201) { - label = 26; - break; - } - } - $235 = HEAP32[$lwr>>2]|0; - $236 = HEAP32[$upr>>2]|0; - $237 = (($235) + ($236))|0; - $238 = $237 >> 1; - HEAP32[$idx>>2] = $238; - } - if ((label|0) == 23) { - label = 0; - HEAP32[$c>>2] = -1; - label = 51; - break; - } - else if ((label|0) == 26) { - label = 0; - HEAP32[$c>>2] = 1; - label = 51; - break; - } - else if ((label|0) == 27) { - label = 0; - $202 = HEAP32[$3>>2]|0; - $203 = ((($202)) + 64|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204&255; - $206 = $205 | 2; - $207 = $206&255; - HEAP8[$203>>0] = $207; - $208 = $nCellKey; - $209 = $208; - $210 = HEAP32[$209>>2]|0; - $211 = (($208) + 4)|0; - $212 = $211; - $213 = HEAP32[$212>>2]|0; - $214 = HEAP32[$3>>2]|0; - $215 = ((($214)) + 16|0); - $216 = $215; - $217 = $216; - HEAP32[$217>>2] = $210; - $218 = (($216) + 4)|0; - $219 = $218; - HEAP32[$219>>2] = $213; - $220 = HEAP32[$idx>>2]|0; - $221 = $220&65535; - $222 = HEAP32[$3>>2]|0; - $223 = ((($222)) + 68|0); - $224 = HEAP8[$223>>0]|0; - $225 = $224 << 24 >> 24; - $226 = HEAP32[$3>>2]|0; - $227 = ((($226)) + 80|0); - $228 = (($227) + ($225<<1)|0); - HEAP16[$228>>1] = $221; - $229 = HEAP32[$pPage>>2]|0; - $230 = ((($229)) + 4|0); - $231 = HEAP8[$230>>0]|0; - $232 = ($231<<24>>24)!=(0); - if ($232) { - label = 29; - break L24; - } - $233 = HEAP32[$idx>>2]|0; - HEAP32[$lwr>>2] = $233; - break; - } - } else { - while(1) { - $239 = HEAP32[$pPage>>2]|0; - $240 = ((($239)) + 68|0); - $241 = HEAP32[$240>>2]|0; - $242 = HEAP32[$pPage>>2]|0; - $243 = ((($242)) + 20|0); - $244 = HEAP16[$243>>1]|0; - $245 = $244&65535; - $246 = HEAP32[$idx>>2]|0; - $247 = $246<<1; - $248 = HEAP32[$pPage>>2]|0; - $249 = ((($248)) + 64|0); - $250 = HEAP32[$249>>2]|0; - $251 = (($250) + ($247)|0); - $252 = HEAP8[$251>>0]|0; - $253 = $252&255; - $254 = $253 << 8; - $255 = HEAP32[$idx>>2]|0; - $256 = $255<<1; - $257 = HEAP32[$pPage>>2]|0; - $258 = ((($257)) + 64|0); - $259 = HEAP32[$258>>2]|0; - $260 = (($259) + ($256)|0); - $261 = ((($260)) + 1|0); - $262 = HEAP8[$261>>0]|0; - $263 = $262&255; - $264 = $254 | $263; - $265 = $245 & $264; - $266 = (($241) + ($265)|0); - HEAP32[$pCell>>2] = $266; - $267 = HEAP32[$pCell>>2]|0; - $268 = HEAP8[$267>>0]|0; - $269 = $268&255; - HEAP32[$nCell>>2] = $269; - $270 = HEAP32[$nCell>>2]|0; - $271 = HEAP32[$pPage>>2]|0; - $272 = ((($271)) + 7|0); - $273 = HEAP8[$272>>0]|0; - $274 = $273&255; - $275 = ($270|0)<=($274|0); - do { - if ($275) { - $276 = HEAP32[$xRecordCompare>>2]|0; - $277 = HEAP32[$nCell>>2]|0; - $278 = HEAP32[$pCell>>2]|0; - $279 = ((($278)) + 1|0); - $280 = HEAP32[$4>>2]|0; - $281 = (FUNCTION_TABLE_iiii[$276 & 255]($277,$279,$280)|0); - HEAP32[$c>>2] = $281; - } else { - $282 = HEAP32[$pCell>>2]|0; - $283 = ((($282)) + 1|0); - $284 = HEAP8[$283>>0]|0; - $285 = $284&255; - $286 = $285 & 128; - $287 = ($286|0)!=(0); - if (!($287)) { - $288 = HEAP32[$nCell>>2]|0; - $289 = $288 & 127; - $290 = $289 << 7; - $291 = HEAP32[$pCell>>2]|0; - $292 = ((($291)) + 1|0); - $293 = HEAP8[$292>>0]|0; - $294 = $293&255; - $295 = (($290) + ($294))|0; - HEAP32[$nCell>>2] = $295; - $296 = HEAP32[$pPage>>2]|0; - $297 = ((($296)) + 10|0); - $298 = HEAP16[$297>>1]|0; - $299 = $298&65535; - $300 = ($295|0)<=($299|0); - if ($300) { - $301 = HEAP32[$xRecordCompare>>2]|0; - $302 = HEAP32[$nCell>>2]|0; - $303 = HEAP32[$pCell>>2]|0; - $304 = ((($303)) + 2|0); - $305 = HEAP32[$4>>2]|0; - $306 = (FUNCTION_TABLE_iiii[$301 & 255]($302,$304,$305)|0); - HEAP32[$c>>2] = $306; - break; - } - } - $307 = HEAP32[$pCell>>2]|0; - $308 = HEAP32[$pPage>>2]|0; - $309 = ((($308)) + 6|0); - $310 = HEAP8[$309>>0]|0; - $311 = $310&255; - $312 = (0 - ($311))|0; - $313 = (($307) + ($312)|0); - HEAP32[$pCellBody>>2] = $313; - $314 = HEAP32[$pPage>>2]|0; - $315 = ((($314)) + 80|0); - $316 = HEAP32[$315>>2]|0; - $317 = HEAP32[$pPage>>2]|0; - $318 = HEAP32[$pCellBody>>2]|0; - $319 = HEAP32[$3>>2]|0; - $320 = ((($319)) + 16|0); - FUNCTION_TABLE_viii[$316 & 255]($317,$318,$320); - $321 = HEAP32[$3>>2]|0; - $322 = ((($321)) + 16|0); - $323 = $322; - $324 = $323; - $325 = HEAP32[$324>>2]|0; - $326 = (($323) + 4)|0; - $327 = $326; - $328 = HEAP32[$327>>2]|0; - HEAP32[$nCell>>2] = $325; - $329 = HEAP32[$nCell>>2]|0; - $330 = ($329|0)<(2); - if ($330) { - label = 37; - break L24; - } - $332 = HEAP32[$nCell>>2]|0; - $333 = (($332) + 18)|0; - $334 = ($333|0)<(0); - $335 = $334 << 31 >> 31; - $336 = (_sqlite3Malloc($333,$335)|0); - HEAP32[$pCellKey>>2] = $336; - $337 = HEAP32[$pCellKey>>2]|0; - $338 = ($337|0)==(0|0); - if ($338) { - label = 39; - break L24; - } - $339 = HEAP32[$idx>>2]|0; - $340 = $339&65535; - $341 = HEAP32[$3>>2]|0; - $342 = ((($341)) + 68|0); - $343 = HEAP8[$342>>0]|0; - $344 = $343 << 24 >> 24; - $345 = HEAP32[$3>>2]|0; - $346 = ((($345)) + 80|0); - $347 = (($346) + ($344<<1)|0); - HEAP16[$347>>1] = $340; - $348 = HEAP32[$3>>2]|0; - $349 = HEAP32[$nCell>>2]|0; - $350 = HEAP32[$pCellKey>>2]|0; - $351 = (_accessPayload($348,0,$349,$350,2)|0); - HEAP32[$rc>>2] = $351; - $352 = HEAP32[$rc>>2]|0; - $353 = ($352|0)!=(0); - if ($353) { - label = 41; - break L24; - } - $355 = HEAP32[$xRecordCompare>>2]|0; - $356 = HEAP32[$nCell>>2]|0; - $357 = HEAP32[$pCellKey>>2]|0; - $358 = HEAP32[$4>>2]|0; - $359 = (FUNCTION_TABLE_iiii[$355 & 255]($356,$357,$358)|0); - HEAP32[$c>>2] = $359; - $360 = HEAP32[$pCellKey>>2]|0; - _sqlite3_free($360); - } - } while(0); - $361 = HEAP32[$c>>2]|0; - $362 = ($361|0)<(0); - if ($362) { - $363 = HEAP32[$idx>>2]|0; - $364 = (($363) + 1)|0; - HEAP32[$lwr>>2] = $364; - } else { - $365 = HEAP32[$c>>2]|0; - $366 = ($365|0)>(0); - if (!($366)) { - label = 47; - break L24; - } - $367 = HEAP32[$idx>>2]|0; - $368 = (($367) - 1)|0; - HEAP32[$upr>>2] = $368; - } - $383 = HEAP32[$lwr>>2]|0; - $384 = HEAP32[$upr>>2]|0; - $385 = ($383|0)>($384|0); - if ($385) { - label = 51; - break L26; - } - $386 = HEAP32[$lwr>>2]|0; - $387 = HEAP32[$upr>>2]|0; - $388 = (($386) + ($387))|0; - $389 = $388 >> 1; - HEAP32[$idx>>2] = $389; - } - } - } while(0); - if ((label|0) == 51) { - label = 0; - $390 = HEAP32[$pPage>>2]|0; - $391 = ((($390)) + 4|0); - $392 = HEAP8[$391>>0]|0; - $393 = ($392<<24>>24)!=(0); - if ($393) { - label = 52; + $58 = HEAP16[$12>>1]|0; + $59 = $58 << 16 >> 16; + HEAP32[$11>>2] = $59; + $60 = HEAP32[$11>>2]|0; + $61 = $60&65535; + $62 = HEAP32[$9>>2]|0; + $63 = ((($62)) + 22|0); + HEAP16[$63>>1] = $61; + $64 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($64|0); +} +function _whereRangeAdjust($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp; + $3 = sp + 6|0; + $4 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP16[$3>>1] = $1; + $5 = HEAP16[$3>>1]|0; + HEAP16[$4>>1] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + do { + if ($7) { + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10 << 16 >> 16; + $12 = ($11|0)<=(0); + $13 = HEAP32[$2>>2]|0; + if ($12) { + $14 = ((($13)) + 8|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15 << 16 >> 16; + $17 = HEAP16[$4>>1]|0; + $18 = $17 << 16 >> 16; + $19 = (($18) + ($16))|0; + $20 = $19&65535; + HEAP16[$4>>1] = $20; break; } + $21 = ((($13)) + 10|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = $23 & 0; + $25 = ($24|0)==(0); + if ($25) { + $26 = HEAP16[$4>>1]|0; + $27 = $26 << 16 >> 16; + $28 = (($27) - 20)|0; + $29 = $28&65535; + HEAP16[$4>>1] = $29; + } } - $405 = HEAP32[$lwr>>2]|0; - $406 = HEAP32[$pPage>>2]|0; - $407 = ((($406)) + 18|0); - $408 = HEAP16[$407>>1]|0; - $409 = $408&65535; - $410 = ($405|0)>=($409|0); - $411 = HEAP32[$pPage>>2]|0; - if ($410) { - $412 = ((($411)) + 5|0); - $413 = HEAP8[$412>>0]|0; - $414 = $413&255; - $415 = (($414) + 8)|0; - $416 = HEAP32[$pPage>>2]|0; - $417 = ((($416)) + 56|0); - $418 = HEAP32[$417>>2]|0; - $419 = (($418) + ($415)|0); - $420 = (_sqlite3Get4byte($419)|0); - HEAP32[$chldPg>>2] = $420; - } else { - $421 = ((($411)) + 56|0); - $422 = HEAP32[$421>>2]|0; - $423 = HEAP32[$pPage>>2]|0; - $424 = ((($423)) + 20|0); - $425 = HEAP16[$424>>1]|0; - $426 = $425&65535; - $427 = HEAP32[$lwr>>2]|0; - $428 = $427<<1; - $429 = HEAP32[$pPage>>2]|0; - $430 = ((($429)) + 64|0); - $431 = HEAP32[$430>>2]|0; - $432 = (($431) + ($428)|0); - $433 = HEAP8[$432>>0]|0; - $434 = $433&255; - $435 = $434 << 8; - $436 = HEAP32[$lwr>>2]|0; - $437 = $436<<1; - $438 = HEAP32[$pPage>>2]|0; - $439 = ((($438)) + 64|0); - $440 = HEAP32[$439>>2]|0; - $441 = (($440) + ($437)|0); - $442 = ((($441)) + 1|0); - $443 = HEAP8[$442>>0]|0; - $444 = $443&255; - $445 = $435 | $444; - $446 = $426 & $445; - $447 = (($422) + ($446)|0); - $448 = (_sqlite3Get4byte($447)|0); - HEAP32[$chldPg>>2] = $448; - } - $449 = HEAP32[$lwr>>2]|0; - $450 = $449&65535; - $451 = HEAP32[$3>>2]|0; - $452 = ((($451)) + 68|0); - $453 = HEAP8[$452>>0]|0; - $454 = $453 << 24 >> 24; - $455 = HEAP32[$3>>2]|0; - $456 = ((($455)) + 80|0); - $457 = (($456) + ($454<<1)|0); - HEAP16[$457>>1] = $450; - $458 = HEAP32[$3>>2]|0; - $459 = HEAP32[$chldPg>>2]|0; - $460 = (_moveToChild($458,$459)|0); - HEAP32[$rc>>2] = $460; - $461 = HEAP32[$rc>>2]|0; - $462 = ($461|0)!=(0); - if ($462) { - break; - } - } - if ((label|0) == 20) { - $156 = (_sqlite3CorruptError(63387)|0); - HEAP32[$2>>2] = $156; - $473 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($473|0); - } - else if ((label|0) == 29) { - $234 = HEAP32[$7>>2]|0; - HEAP32[$234>>2] = 0; - HEAP32[$rc>>2] = 0; - } - else if ((label|0) == 37) { - $331 = (_sqlite3CorruptError(63460)|0); - HEAP32[$rc>>2] = $331; - } - else if ((label|0) == 39) { - HEAP32[$rc>>2] = 7; - } - else if ((label|0) == 41) { - $354 = HEAP32[$pCellKey>>2]|0; - _sqlite3_free($354); - } - else if ((label|0) == 47) { - $369 = HEAP32[$7>>2]|0; - HEAP32[$369>>2] = 0; - HEAP32[$rc>>2] = 0; - $370 = HEAP32[$idx>>2]|0; - $371 = $370&65535; - $372 = HEAP32[$3>>2]|0; - $373 = ((($372)) + 68|0); - $374 = HEAP8[$373>>0]|0; - $375 = $374 << 24 >> 24; - $376 = HEAP32[$3>>2]|0; - $377 = ((($376)) + 80|0); - $378 = (($377) + ($375<<1)|0); - HEAP16[$378>>1] = $371; - $379 = HEAP32[$4>>2]|0; - $380 = ((($379)) + 11|0); - $381 = HEAP8[$380>>0]|0; - $382 = ($381<<24>>24)!=(0); - if ($382) { - HEAP32[$rc>>2] = 11; - } - } - else if ((label|0) == 52) { - $394 = HEAP32[$idx>>2]|0; - $395 = $394&65535; - $396 = HEAP32[$3>>2]|0; - $397 = ((($396)) + 68|0); - $398 = HEAP8[$397>>0]|0; - $399 = $398 << 24 >> 24; - $400 = HEAP32[$3>>2]|0; - $401 = ((($400)) + 80|0); - $402 = (($401) + ($399<<1)|0); - HEAP16[$402>>1] = $395; - $403 = HEAP32[$c>>2]|0; - $404 = HEAP32[$7>>2]|0; - HEAP32[$404>>2] = $403; - HEAP32[$rc>>2] = 0; - } - $463 = HEAP32[$3>>2]|0; - $464 = ((($463)) + 16|0); - $465 = ((($464)) + 18|0); - HEAP16[$465>>1] = 0; - $466 = HEAP32[$3>>2]|0; - $467 = ((($466)) + 64|0); - $468 = HEAP8[$467>>0]|0; - $469 = $468&255; - $470 = $469 & -7; - $471 = $470&255; - HEAP8[$467>>0] = $471; - $472 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $472; - $473 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($473|0); -} -function _sqlite3VdbeFindCompare($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $flags = 0, label = 0, sp = 0; + } while(0); + $30 = HEAP16[$4>>1]|0; + STACKTOP = sp;return ($30|0); +} +function _exprIdxCover($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $flags = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 6|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = (($6) + ($11))|0; - $13 = ($12|0)<=(13); - if ($13) { - $14 = HEAP32[$1>>2]|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$4>>2]|0; + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($7|0)==(152); + if ($8) { + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 28|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$13>>2]|0; $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP16[$17>>1]|0; - $19 = $18&65535; - HEAP32[$flags>>2] = $19; - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = ((($21)) + 16|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)!=(0); - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 12|0); - if ($25) { - HEAP8[$27>>0] = 1; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 13|0); - HEAP8[$29>>0] = -1; - } else { - HEAP8[$27>>0] = -1; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 13|0); - HEAP8[$31>>0] = 1; - } - $32 = HEAP32[$flags>>2]|0; - $33 = $32 & 4; - $34 = ($33|0)!=(0); - if ($34) { - HEAP32[$0>>2] = 160; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); - } - $35 = HEAP32[$flags>>2]|0; - $36 = $35 & 25; - $37 = ($36|0)==(0); - if ($37) { - $38 = HEAP32[$1>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = ((($39)) + 20|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { - HEAP32[$0>>2] = 161; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); + $17 = ($11|0)==($16|0); + if ($17) { + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 24|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 32|0); + $24 = HEAP16[$23>>1]|0; + $25 = (_sqlite3ColumnOfIndex($21,$24)|0); + $26 = $25 << 16 >> 16; + $27 = ($26|0)<(0); + if ($27) { + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 20|0); + HEAP8[$29>>0] = 1; + HEAP32[$2>>2] = 2; + $30 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($30|0); } } } - HEAP32[$0>>2] = 162; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); + HEAP32[$2>>2] = 0; + $30 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($30|0); } -function _moveToRoot($pCur) { - $pCur = $pCur|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $pRoot = 0, $rc = 0, $subpage = 0, label = 0, sp = 0; +function _sqlite3ExprImpliesExpr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pRoot = sp + 8|0; - $rc = sp + 4|0; - $subpage = sp; - HEAP32[$1>>2] = $pCur; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 66|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)>=(3); + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$6>>2]|0; + $10 = (_sqlite3ExprCompare($7,$8,$9)|0); + $11 = ($10|0)==(0); + if ($11) { + HEAP32[$3>>2] = 1; + $51 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($51|0); + } + $12 = HEAP32[$5>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(27); do { - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 66|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)==(4); - $12 = HEAP32[$1>>2]|0; - if (!($11)) { - _sqlite3BtreeClearCursor($12); - break; - } - $13 = ((($12)) + 60|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$0>>2] = $14; - $128 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($128|0); - } - } while(0); - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 68|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 << 24 >> 24; - $19 = ($18|0)>=(0); - L8: do { - if ($19) { - while(1) { - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 68|0); - $22 = HEAP8[$21>>0]|0; - $23 = ($22<<24>>24)!=(0); - if (!($23)) { - break L8; + if ($15) { + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = (_sqlite3ExprImpliesExpr($16,$19,$20)|0); + $22 = ($21|0)!=(0); + if (!($22)) { + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 16|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = (_sqlite3ExprImpliesExpr($23,$26,$27)|0); + $29 = ($28|0)!=(0); + if (!($29)) { + break; } - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 68|0); - $26 = HEAP8[$25>>0]|0; - $27 = (($26) + -1)<<24>>24; - HEAP8[$25>>0] = $27; - $28 = $26 << 24 >> 24; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 120|0); - $31 = (($30) + ($28<<2)|0); - $32 = HEAP32[$31>>2]|0; - _releasePageNotNull($32); - } - } else { - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 52|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0); - $37 = HEAP32[$1>>2]|0; - if ($36) { - $38 = ((($37)) + 66|0); - HEAP8[$38>>0] = 0; - HEAP32[$0>>2] = 0; - $128 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($128|0); - } - $39 = HEAP32[$37>>2]|0; - $40 = ((($39)) + 4|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 52|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 120|0); - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 65|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = (_getAndInitPage($41,$44,$46,0,$50)|0); - HEAP32[$rc>>2] = $51; - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)!=(0); - $54 = HEAP32[$1>>2]|0; - if (!($53)) { - $57 = ((($54)) + 68|0); - HEAP8[$57>>0] = 0; - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 120|0); - $60 = HEAP32[$59>>2]|0; - $61 = ((($60)) + 2|0); - $62 = HEAP8[$61>>0]|0; - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 69|0); - HEAP8[$64>>0] = $62; - break; } - $55 = ((($54)) + 66|0); - HEAP8[$55>>0] = 0; - $56 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $56; - $128 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($128|0); + HEAP32[$3>>2] = 1; + $51 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($51|0); } } while(0); - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 120|0); - $67 = HEAP32[$66>>2]|0; - HEAP32[$pRoot>>2] = $67; - $68 = HEAP32[$pRoot>>2]|0; - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - $71 = ($70|0)==(0); - if (!($71)) { - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 72|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($74|0)==(0|0); - $76 = $75&1; - $77 = HEAP32[$pRoot>>2]|0; - $78 = ((($77)) + 2|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = ($76|0)!=($80|0); - if (!($81)) { - $83 = HEAP32[$1>>2]|0; - $84 = ((($83)) + 80|0); - HEAP16[$84>>1] = 0; - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 16|0); - $87 = ((($86)) + 18|0); - HEAP16[$87>>1] = 0; - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 64|0); - $90 = HEAP8[$89>>0]|0; - $91 = $90&255; - $92 = $91 & -15; - $93 = $92&255; - HEAP8[$89>>0] = $93; - $94 = HEAP32[$pRoot>>2]|0; - $95 = ((($94)) + 18|0); - $96 = HEAP16[$95>>1]|0; - $97 = $96&65535; - $98 = ($97|0)>(0); - do { - if ($98) { - $99 = HEAP32[$1>>2]|0; - $100 = ((($99)) + 66|0); - HEAP8[$100>>0] = 1; - } else { - $101 = HEAP32[$pRoot>>2]|0; - $102 = ((($101)) + 4|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)!=(0); - if ($104) { - $125 = HEAP32[$1>>2]|0; - $126 = ((($125)) + 66|0); - HEAP8[$126>>0] = 0; - break; - } - $105 = HEAP32[$pRoot>>2]|0; - $106 = ((($105)) + 84|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)!=(1); - if (!($108)) { - $110 = HEAP32[$pRoot>>2]|0; - $111 = ((($110)) + 5|0); - $112 = HEAP8[$111>>0]|0; - $113 = $112&255; - $114 = (($113) + 8)|0; - $115 = HEAP32[$pRoot>>2]|0; - $116 = ((($115)) + 56|0); - $117 = HEAP32[$116>>2]|0; - $118 = (($117) + ($114)|0); - $119 = (_sqlite3Get4byte($118)|0); - HEAP32[$subpage>>2] = $119; - $120 = HEAP32[$1>>2]|0; - $121 = ((($120)) + 66|0); - HEAP8[$121>>0] = 1; - $122 = HEAP32[$1>>2]|0; - $123 = HEAP32[$subpage>>2]|0; - $124 = (_moveToChild($122,$123)|0); - HEAP32[$rc>>2] = $124; - break; - } - $109 = (_sqlite3CorruptError(63147)|0); - HEAP32[$0>>2] = $109; - $128 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($128|0); + $30 = HEAP32[$5>>2]|0; + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32|0)==(35); + if ($33) { + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = (_sqlite3ExprCompare($36,$39,$40)|0); + $42 = ($41|0)==(0); + if ($42) { + $43 = HEAP32[$4>>2]|0; + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = ($45|0)!=(34); + if ($46) { + $47 = HEAP32[$4>>2]|0; + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = ($49|0)!=(29); + if ($50) { + HEAP32[$3>>2] = 1; + $51 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($51|0); } - } while(0); - $127 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $127; - $128 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($128|0); + } } } - $82 = (_sqlite3CorruptError(63136)|0); - HEAP32[$0>>2] = $82; - $128 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($128|0); + HEAP32[$3>>2] = 0; + $51 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($51|0); } -function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { - $pCur = $pCur|0; - $offset = $offset|0; - $amt = $amt|0; - $pBuf = $pBuf|0; - $eOp = $eOp|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $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, $a = 0; - var $a1 = 0, $aNew = 0, $aPayload = 0, $iIdx = 0, $nOvfl = 0, $nextPage = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $ovflSize = 0, $pBt = 0, $pDbPage = 0, $pPage = 0, $rc = 0, label = 0, sp = 0; +function _allocateIndexInfo($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $3 = sp + 56|0; - $4 = sp + 52|0; - $5 = sp + 48|0; - $aPayload = sp + 44|0; - $rc = sp + 40|0; - $iIdx = sp + 36|0; - $pPage = sp + 32|0; - $pBt = sp + 28|0; - $a = sp + 24|0; - $ovflSize = sp + 20|0; - $nextPage = sp + 16|0; - $nOvfl = sp + 12|0; - $aNew = sp + 8|0; - $a1 = sp + 4|0; - $pDbPage = sp; - HEAP32[$1>>2] = $pCur; - HEAP32[$2>>2] = $offset; - HEAP32[$3>>2] = $amt; - HEAP32[$4>>2] = $pBuf; - HEAP32[$5>>2] = $eOp; - HEAP32[$rc>>2] = 0; - HEAP32[$iIdx>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 68|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 120|0); - $12 = (($11) + ($9<<2)|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pPage>>2] = $13; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pBt>>2] = $16; - $17 = HEAP32[$1>>2]|0; - _getCellInfo($17); - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 16|0); - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$aPayload>>2] = $21; - $22 = HEAP32[$aPayload>>2]|0; - $23 = HEAP32[$pPage>>2]|0; - $24 = ((($23)) + 56|0); - $25 = HEAP32[$24>>2]|0; - $26 = $22; - $27 = $25; - $28 = (($26) - ($27))|0; - $29 = HEAP32[$pBt>>2]|0; - $30 = ((($29)) + 36|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 16|0); - $34 = ((($33)) + 16|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35&65535; - $37 = (($31) - ($36))|0; - $38 = ($28>>>0)>($37>>>0); - if ($38) { - $39 = (_sqlite3CorruptError(62723)|0); - HEAP32[$0>>2] = $39; - $278 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($278|0); + STACKTOP = STACKTOP + 96|0; + $vararg_buffer = sp + 8|0; + $7 = sp + 80|0; + $8 = sp + 76|0; + $9 = sp + 72|0; + $10 = sp; + $11 = sp + 68|0; + $12 = sp + 64|0; + $13 = sp + 60|0; + $14 = sp + 56|0; + $15 = sp + 52|0; + $16 = sp + 48|0; + $17 = sp + 44|0; + $18 = sp + 40|0; + $19 = sp + 36|0; + $20 = sp + 32|0; + $21 = sp + 28|0; + $22 = sp + 24|0; + $23 = sp + 84|0; + $24 = sp + 20|0; + $25 = sp + 16|0; + $26 = sp + 86|0; + $27 = sp + 12|0; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + $28 = $10; + $29 = $28; + HEAP32[$29>>2] = $2; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + HEAP16[$23>>1] = 0; + HEAP32[$16>>2] = 0; + HEAP32[$14>>2] = 0; + $32 = HEAP32[$9>>2]|0; + $33 = ((($32)) + 20|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$20>>2] = $34; + while(1) { + $35 = HEAP32[$14>>2]|0; + $36 = HEAP32[$9>>2]|0; + $37 = ((($36)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($35|0)<($38|0); + if (!($39)) { + break; + } + $40 = HEAP32[$20>>2]|0; + $41 = ((($40)) + 20|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$11>>2]|0; + $44 = ((($43)) + 44|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($42|0)!=($45|0); + if (!($46)) { + $47 = HEAP32[$20>>2]|0; + $48 = ((($47)) + 32|0); + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $10; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = $51 & $57; + $62 = $54 & $60; + $63 = ($61|0)!=(0); + $64 = ($62|0)!=(0); + $65 = $63 | $64; + if (!($65)) { + $66 = HEAP32[$20>>2]|0; + $67 = ((($66)) + 12|0); + $68 = HEAP16[$67>>1]|0; + $69 = $68&65535; + $70 = $69 & -2433; + $71 = ($70|0)==(0); + if (!($71)) { + $72 = HEAP32[$20>>2]|0; + $73 = ((($72)) + 10|0); + $74 = HEAP16[$73>>1]|0; + $75 = $74&65535; + $76 = $75 & 0; + $77 = ($76|0)!=(0); + if (!($77)) { + $78 = HEAP32[$16>>2]|0; + $79 = (($78) + 1)|0; + HEAP32[$16>>2] = $79; + } + } + } + } + $80 = HEAP32[$14>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$14>>2] = $81; + $82 = HEAP32[$20>>2]|0; + $83 = ((($82)) + 48|0); + HEAP32[$20>>2] = $83; } - $40 = HEAP32[$2>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 16|0); - $43 = ((($42)) + 16|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = ($40>>>0)<($45>>>0); - if ($46) { - $47 = HEAP32[$3>>2]|0; - HEAP32[$a>>2] = $47; - $48 = HEAP32[$a>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = (($48) + ($49))|0; - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 16|0); - $53 = ((($52)) + 16|0); - $54 = HEAP16[$53>>1]|0; - $55 = $54&65535; - $56 = ($50>>>0)>($55>>>0); - if ($56) { - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 16|0); - $59 = ((($58)) + 16|0); - $60 = HEAP16[$59>>1]|0; - $61 = $60&65535; - $62 = HEAP32[$2>>2]|0; - $63 = (($61) - ($62))|0; - HEAP32[$a>>2] = $63; + HEAP32[$21>>2] = 0; + $84 = HEAP32[$12>>2]|0; + $85 = ($84|0)!=(0|0); + if ($85) { + $86 = HEAP32[$12>>2]|0; + $87 = HEAP32[$86>>2]|0; + HEAP32[$24>>2] = $87; + HEAP32[$14>>2] = 0; + while(1) { + $88 = HEAP32[$14>>2]|0; + $89 = HEAP32[$24>>2]|0; + $90 = ($88|0)<($89|0); + if (!($90)) { + break; + } + $91 = HEAP32[$12>>2]|0; + $92 = ((($91)) + 4|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$14>>2]|0; + $95 = (($93) + (($94*20)|0)|0); + $96 = HEAP32[$95>>2]|0; + HEAP32[$25>>2] = $96; + $97 = HEAP32[$25>>2]|0; + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $100 = ($99|0)!=(152); + if ($100) { + break; + } + $101 = HEAP32[$25>>2]|0; + $102 = ((($101)) + 28|0); + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$11>>2]|0; + $105 = ((($104)) + 44|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($103|0)!=($106|0); + if ($107) { + break; + } + $108 = HEAP32[$14>>2]|0; + $109 = (($108) + 1)|0; + HEAP32[$14>>2] = $109; + } + $110 = HEAP32[$14>>2]|0; + $111 = HEAP32[$24>>2]|0; + $112 = ($110|0)==($111|0); + if ($112) { + $113 = HEAP32[$24>>2]|0; + HEAP32[$21>>2] = $113; } - $64 = HEAP32[$2>>2]|0; - $65 = HEAP32[$aPayload>>2]|0; - $66 = (($65) + ($64)|0); - $67 = HEAP32[$4>>2]|0; - $68 = HEAP32[$a>>2]|0; - $69 = HEAP32[$5>>2]|0; - $70 = $69 & 1; - $71 = HEAP32[$pPage>>2]|0; - $72 = ((($71)) + 72|0); - $73 = HEAP32[$72>>2]|0; - $74 = (_copyPayload($66,$67,$68,$70,$73)|0); - HEAP32[$rc>>2] = $74; - HEAP32[$2>>2] = 0; - $75 = HEAP32[$a>>2]|0; - $76 = HEAP32[$4>>2]|0; - $77 = (($76) + ($75)|0); - HEAP32[$4>>2] = $77; - $78 = HEAP32[$a>>2]|0; - $79 = HEAP32[$3>>2]|0; - $80 = (($79) - ($78))|0; - HEAP32[$3>>2] = $80; - } else { - $81 = HEAP32[$1>>2]|0; - $82 = ((($81)) + 16|0); - $83 = ((($82)) + 16|0); - $84 = HEAP16[$83>>1]|0; - $85 = $84&65535; - $86 = HEAP32[$2>>2]|0; - $87 = (($86) - ($85))|0; - HEAP32[$2>>2] = $87; } - $88 = HEAP32[$rc>>2]|0; - $89 = ($88|0)==(0); - $90 = HEAP32[$3>>2]|0; - $91 = ($90>>>0)>(0); - $or$cond = $89 & $91; - L12: do { - if ($or$cond) { - $92 = HEAP32[$pBt>>2]|0; - $93 = ((($92)) + 36|0); - $94 = HEAP32[$93>>2]|0; - $95 = (($94) - 4)|0; - HEAP32[$ovflSize>>2] = $95; - $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 16|0); - $98 = ((($97)) + 16|0); - $99 = HEAP16[$98>>1]|0; - $100 = $99&65535; - $101 = HEAP32[$aPayload>>2]|0; - $102 = (($101) + ($100)|0); - $103 = (_sqlite3Get4byte($102)|0); - HEAP32[$nextPage>>2] = $103; - $104 = HEAP32[$5>>2]|0; - $105 = ($104|0)!=(2); - if ($105) { - $106 = HEAP32[$1>>2]|0; - $107 = ((($106)) + 64|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = $109 & 4; - $111 = ($110|0)==(0); - if ($111) { - $112 = HEAP32[$1>>2]|0; - $113 = ((($112)) + 16|0); - $114 = ((($113)) + 12|0); - $115 = HEAP32[$114>>2]|0; - $116 = HEAP32[$1>>2]|0; - $117 = ((($116)) + 16|0); - $118 = ((($117)) + 16|0); - $119 = HEAP16[$118>>1]|0; - $120 = $119&65535; - $121 = (($115) - ($120))|0; - $122 = HEAP32[$ovflSize>>2]|0; - $123 = (($121) + ($122))|0; - $124 = (($123) - 1)|0; - $125 = HEAP32[$ovflSize>>2]|0; - $126 = (($124>>>0) / ($125>>>0))&-1; - HEAP32[$nOvfl>>2] = $126; - $127 = HEAP32[$nOvfl>>2]|0; - $128 = HEAP32[$1>>2]|0; - $129 = ((($128)) + 56|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($127|0)>($130|0); - do { - if ($131) { - $132 = HEAP32[$1>>2]|0; - $133 = ((($132)) + 12|0); - $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$nOvfl>>2]|0; - $136 = $135<<1; - $137 = $136<<2; - $138 = (_sqlite3Realloc($134,$137,0)|0); - HEAP32[$aNew>>2] = $138; - $139 = HEAP32[$aNew>>2]|0; - $140 = ($139|0)==(0|0); - if ($140) { - HEAP32[$rc>>2] = 7; - break; - } else { - $141 = HEAP32[$nOvfl>>2]|0; - $142 = $141<<1; - $143 = HEAP32[$1>>2]|0; - $144 = ((($143)) + 56|0); - HEAP32[$144>>2] = $142; - $145 = HEAP32[$aNew>>2]|0; - $146 = HEAP32[$1>>2]|0; - $147 = ((($146)) + 12|0); - HEAP32[$147>>2] = $145; - break; + $114 = HEAP32[$8>>2]|0; + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$16>>2]|0; + $117 = ($116*20)|0; + $118 = (72 + ($117))|0; + $119 = HEAP32[$21>>2]|0; + $120 = $119<<3; + $121 = (($118) + ($120))|0; + $122 = (_sqlite3DbMallocZero($115,$121,0)|0); + HEAP32[$22>>2] = $122; + $123 = HEAP32[$22>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { + $125 = HEAP32[$8>>2]|0; + _sqlite3ErrorMsg($125,22481,$vararg_buffer); + HEAP32[$7>>2] = 0; + $296 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($296|0); + } + $126 = HEAP32[$22>>2]|0; + $127 = ((($126)) + 72|0); + HEAP32[$17>>2] = $127; + $128 = HEAP32[$17>>2]|0; + $129 = HEAP32[$16>>2]|0; + $130 = (($128) + (($129*12)|0)|0); + HEAP32[$18>>2] = $130; + $131 = HEAP32[$18>>2]|0; + $132 = HEAP32[$21>>2]|0; + $133 = (($131) + ($132<<3)|0); + HEAP32[$19>>2] = $133; + $134 = HEAP32[$16>>2]|0; + $135 = HEAP32[$22>>2]|0; + HEAP32[$135>>2] = $134; + $136 = HEAP32[$21>>2]|0; + $137 = HEAP32[$22>>2]|0; + $138 = ((($137)) + 8|0); + HEAP32[$138>>2] = $136; + $139 = HEAP32[$17>>2]|0; + $140 = HEAP32[$22>>2]|0; + $141 = ((($140)) + 4|0); + HEAP32[$141>>2] = $139; + $142 = HEAP32[$18>>2]|0; + $143 = HEAP32[$22>>2]|0; + $144 = ((($143)) + 12|0); + HEAP32[$144>>2] = $142; + $145 = HEAP32[$19>>2]|0; + $146 = HEAP32[$22>>2]|0; + $147 = ((($146)) + 16|0); + HEAP32[$147>>2] = $145; + HEAP32[$15>>2] = 0; + HEAP32[$14>>2] = 0; + $148 = HEAP32[$9>>2]|0; + $149 = ((($148)) + 20|0); + $150 = HEAP32[$149>>2]|0; + HEAP32[$20>>2] = $150; + while(1) { + $151 = HEAP32[$14>>2]|0; + $152 = HEAP32[$9>>2]|0; + $153 = ((($152)) + 12|0); + $154 = HEAP32[$153>>2]|0; + $155 = ($151|0)<($154|0); + if (!($155)) { + break; + } + $156 = HEAP32[$20>>2]|0; + $157 = ((($156)) + 20|0); + $158 = HEAP32[$157>>2]|0; + $159 = HEAP32[$11>>2]|0; + $160 = ((($159)) + 44|0); + $161 = HEAP32[$160>>2]|0; + $162 = ($158|0)!=($161|0); + if (!($162)) { + $163 = HEAP32[$20>>2]|0; + $164 = ((($163)) + 32|0); + $165 = $164; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $171 = $10; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = $167 & $173; + $178 = $170 & $176; + $179 = ($177|0)!=(0); + $180 = ($178|0)!=(0); + $181 = $179 | $180; + if (!($181)) { + $182 = HEAP32[$20>>2]|0; + $183 = ((($182)) + 12|0); + $184 = HEAP16[$183>>1]|0; + $185 = $184&65535; + $186 = $185 & -2433; + $187 = ($186|0)==(0); + if (!($187)) { + $188 = HEAP32[$20>>2]|0; + $189 = ((($188)) + 10|0); + $190 = HEAP16[$189>>1]|0; + $191 = $190&65535; + $192 = $191 & 0; + $193 = ($192|0)!=(0); + if (!($193)) { + $194 = HEAP32[$20>>2]|0; + $195 = ((($194)) + 28|0); + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$17>>2]|0; + $198 = HEAP32[$15>>2]|0; + $199 = (($197) + (($198*12)|0)|0); + HEAP32[$199>>2] = $196; + $200 = HEAP32[$14>>2]|0; + $201 = HEAP32[$17>>2]|0; + $202 = HEAP32[$15>>2]|0; + $203 = (($201) + (($202*12)|0)|0); + $204 = ((($203)) + 8|0); + HEAP32[$204>>2] = $200; + $205 = HEAP32[$20>>2]|0; + $206 = ((($205)) + 12|0); + $207 = HEAP16[$206>>1]|0; + $208 = $207&255; + $209 = $208&255; + $210 = $209 & 8191; + $211 = $210&255; + HEAP8[$26>>0] = $211; + $212 = HEAP8[$26>>0]|0; + $213 = $212&255; + $214 = ($213|0)==(1); + $$ = $214 ? 2 : $211; + HEAP8[$26>>0] = $$; + $215 = HEAP8[$26>>0]|0; + $216 = $215&255; + $217 = ($216|0)==(64); + if ($217) { + $218 = HEAP32[$20>>2]|0; + $219 = ((($218)) + 15|0); + $220 = HEAP8[$219>>0]|0; + HEAP8[$26>>0] = $220; + } + $221 = HEAP8[$26>>0]|0; + $222 = HEAP32[$17>>2]|0; + $223 = HEAP32[$15>>2]|0; + $224 = (($222) + (($223*12)|0)|0); + $225 = ((($224)) + 4|0); + HEAP8[$225>>0] = $221; + $226 = HEAP8[$26>>0]|0; + $227 = $226&255; + $228 = $227 & 60; + $229 = ($228|0)!=(0); + if ($229) { + $230 = HEAP32[$20>>2]|0; + $231 = HEAP32[$230>>2]|0; + $232 = ((($231)) + 16|0); + $233 = HEAP32[$232>>2]|0; + $234 = (_sqlite3ExprIsVector($233)|0); + $235 = ($234|0)!=(0); + if ($235) { + $236 = HEAP32[$14>>2]|0; + $237 = ($236|0)<(16); + if ($237) { + $238 = HEAP32[$14>>2]|0; + $239 = 1 << $238; + $240 = HEAP16[$23>>1]|0; + $241 = $240&65535; + $242 = $241 | $239; + $243 = $242&65535; + HEAP16[$23>>1] = $243; + } + $244 = HEAP8[$26>>0]|0; + $245 = $244&255; + $246 = ($245|0)==(16); + if ($246) { + $247 = HEAP32[$17>>2]|0; + $248 = HEAP32[$15>>2]|0; + $249 = (($247) + (($248*12)|0)|0); + $250 = ((($249)) + 4|0); + HEAP8[$250>>0] = 8; + } + $251 = HEAP8[$26>>0]|0; + $252 = $251&255; + $253 = ($252|0)==(4); + if ($253) { + $254 = HEAP32[$17>>2]|0; + $255 = HEAP32[$15>>2]|0; + $256 = (($254) + (($255*12)|0)|0); + $257 = ((($256)) + 4|0); + HEAP8[$257>>0] = 32; + } } } - } while(0); - $148 = HEAP32[$rc>>2]|0; - $149 = ($148|0)==(0); - if ($149) { - $150 = HEAP32[$1>>2]|0; - $151 = ((($150)) + 12|0); - $152 = HEAP32[$151>>2]|0; - $153 = HEAP32[$nOvfl>>2]|0; - $154 = $153<<2; - _memset(($152|0),0,($154|0))|0; - $155 = HEAP32[$1>>2]|0; - $156 = ((($155)) + 64|0); - $157 = HEAP8[$156>>0]|0; - $158 = $157&255; - $159 = $158 | 4; - $160 = $159&255; - HEAP8[$156>>0] = $160; + $258 = HEAP32[$15>>2]|0; + $259 = (($258) + 1)|0; + HEAP32[$15>>2] = $259; } } } - $161 = HEAP32[$1>>2]|0; - $162 = ((($161)) + 64|0); - $163 = HEAP8[$162>>0]|0; - $164 = $163&255; - $165 = $164 & 4; - $166 = ($165|0)!=(0); - if ($166) { - $167 = HEAP32[$2>>2]|0; - $168 = HEAP32[$ovflSize>>2]|0; - $169 = (($167>>>0) / ($168>>>0))&-1; - $170 = HEAP32[$1>>2]|0; - $171 = ((($170)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = (($172) + ($169<<2)|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)!=(0); - if ($175) { - $176 = HEAP32[$2>>2]|0; - $177 = HEAP32[$ovflSize>>2]|0; - $178 = (($176>>>0) / ($177>>>0))&-1; - HEAP32[$iIdx>>2] = $178; - $179 = HEAP32[$iIdx>>2]|0; - $180 = HEAP32[$1>>2]|0; - $181 = ((($180)) + 12|0); - $182 = HEAP32[$181>>2]|0; - $183 = (($182) + ($179<<2)|0); - $184 = HEAP32[$183>>2]|0; - HEAP32[$nextPage>>2] = $184; - $185 = HEAP32[$2>>2]|0; - $186 = HEAP32[$ovflSize>>2]|0; - $187 = (($185>>>0) % ($186>>>0))&-1; - HEAP32[$2>>2] = $187; - } + } + $260 = HEAP32[$14>>2]|0; + $261 = (($260) + 1)|0; + HEAP32[$14>>2] = $261; + $262 = HEAP32[$20>>2]|0; + $263 = ((($262)) + 48|0); + HEAP32[$20>>2] = $263; + } + HEAP32[$14>>2] = 0; + while(1) { + $264 = HEAP32[$14>>2]|0; + $265 = HEAP32[$21>>2]|0; + $266 = ($264|0)<($265|0); + if (!($266)) { + break; + } + $267 = HEAP32[$12>>2]|0; + $268 = ((($267)) + 4|0); + $269 = HEAP32[$268>>2]|0; + $270 = HEAP32[$14>>2]|0; + $271 = (($269) + (($270*20)|0)|0); + $272 = HEAP32[$271>>2]|0; + HEAP32[$27>>2] = $272; + $273 = HEAP32[$27>>2]|0; + $274 = ((($273)) + 32|0); + $275 = HEAP16[$274>>1]|0; + $276 = $275 << 16 >> 16; + $277 = HEAP32[$18>>2]|0; + $278 = HEAP32[$14>>2]|0; + $279 = (($277) + ($278<<3)|0); + HEAP32[$279>>2] = $276; + $280 = HEAP32[$12>>2]|0; + $281 = ((($280)) + 4|0); + $282 = HEAP32[$281>>2]|0; + $283 = HEAP32[$14>>2]|0; + $284 = (($282) + (($283*20)|0)|0); + $285 = ((($284)) + 12|0); + $286 = HEAP8[$285>>0]|0; + $287 = HEAP32[$18>>2]|0; + $288 = HEAP32[$14>>2]|0; + $289 = (($287) + ($288<<3)|0); + $290 = ((($289)) + 4|0); + HEAP8[$290>>0] = $286; + $291 = HEAP32[$14>>2]|0; + $292 = (($291) + 1)|0; + HEAP32[$14>>2] = $292; + } + $293 = HEAP16[$23>>1]|0; + $294 = HEAP32[$13>>2]|0; + HEAP16[$294>>1] = $293; + $295 = HEAP32[$22>>2]|0; + HEAP32[$7>>2] = $295; + $296 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($296|0); +} +function _whereLoopAddVirtualOne($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; + var $39 = 0, $390 = 0, $391 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer = sp + 16|0; + $9 = sp + 88|0; + $10 = sp + 84|0; + $11 = sp + 8|0; + $12 = sp; + $13 = sp + 94|0; + $14 = sp + 80|0; + $15 = sp + 92|0; + $16 = sp + 76|0; + $17 = sp + 72|0; + $18 = sp + 68|0; + $19 = sp + 64|0; + $20 = sp + 60|0; + $21 = sp + 56|0; + $22 = sp + 52|0; + $23 = sp + 48|0; + $24 = sp + 44|0; + $25 = sp + 40|0; + $26 = sp + 36|0; + $27 = sp + 32|0; + $28 = sp + 28|0; + $29 = sp + 24|0; + $30 = sp + 20|0; + HEAP32[$10>>2] = $0; + $31 = $11; + $32 = $31; + HEAP32[$32>>2] = $1; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $2; + $35 = $12; + $36 = $35; + HEAP32[$36>>2] = $3; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $4; + HEAP16[$13>>1] = $5; + HEAP32[$14>>2] = $6; + HEAP16[$15>>1] = $7; + HEAP32[$16>>2] = $8; + $39 = HEAP32[$10>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$17>>2] = $41; + $42 = HEAP32[$14>>2]|0; + $43 = ((($42)) + 16|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$19>>2] = $44; + HEAP32[$22>>2] = 0; + $45 = HEAP32[$10>>2]|0; + $46 = ((($45)) + 12|0); + $47 = HEAP32[$46>>2]|0; + HEAP32[$23>>2] = $47; + $48 = HEAP32[$10>>2]|0; + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$49>>2]|0; + HEAP32[$24>>2] = $50; + $51 = HEAP32[$10>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = ((($54)) + 8|0); + $56 = HEAP32[$23>>2]|0; + $57 = ((($56)) + 16|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = (($55) + (($59*72)|0)|0); + HEAP32[$25>>2] = $60; + $61 = HEAP32[$14>>2]|0; + $62 = HEAP32[$61>>2]|0; + HEAP32[$26>>2] = $62; + $63 = HEAP32[$16>>2]|0; + HEAP32[$63>>2] = 0; + $64 = $11; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$23>>2]|0; + $71 = $70; + $72 = $71; + HEAP32[$72>>2] = $66; + $73 = (($71) + 4)|0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = HEAP32[$14>>2]|0; + $76 = ((($75)) + 4|0); + $77 = HEAP32[$76>>2]|0; + HEAP32[$18>>2] = $77; + HEAP32[$20>>2] = 0; + while(1) { + $78 = HEAP32[$20>>2]|0; + $79 = HEAP32[$26>>2]|0; + $80 = ($78|0)<($79|0); + if (!($80)) { + break; + } + $81 = HEAP32[$17>>2]|0; + $82 = ((($81)) + 20|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$18>>2]|0; + $85 = ((($84)) + 8|0); + $86 = HEAP32[$85>>2]|0; + $87 = (($83) + (($86*48)|0)|0); + HEAP32[$27>>2] = $87; + $88 = HEAP32[$18>>2]|0; + $89 = ((($88)) + 5|0); + HEAP8[$89>>0] = 0; + $90 = HEAP32[$27>>2]|0; + $91 = ((($90)) + 32|0); + $92 = $91; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (($92) + 4)|0; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = $12; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (($98) + 4)|0; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = $94 & $100; + $105 = $97 & $103; + $106 = HEAP32[$27>>2]|0; + $107 = ((($106)) + 32|0); + $108 = $107; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (($108) + 4)|0; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = ($104|0)==($110|0); + $115 = ($105|0)==($113|0); + $116 = $114 & $115; + if ($116) { + $117 = HEAP32[$27>>2]|0; + $118 = ((($117)) + 12|0); + $119 = HEAP16[$118>>1]|0; + $120 = $119&65535; + $121 = HEAP16[$13>>1]|0; + $122 = $121&65535; + $123 = $120 & $122; + $124 = ($123|0)==(0); + if ($124) { + $125 = HEAP32[$18>>2]|0; + $126 = ((($125)) + 5|0); + HEAP8[$126>>0] = 1; } - while(1) { - $188 = HEAP32[$rc>>2]|0; - $189 = ($188|0)==(0); - $190 = HEAP32[$3>>2]|0; - $191 = ($190>>>0)>(0); - $or$cond3 = $189 & $191; - $192 = HEAP32[$nextPage>>2]|0; - $193 = ($192|0)!=(0); - $or$cond7 = $or$cond3 & $193; - if (!($or$cond7)) { - break L12; + } + $127 = HEAP32[$20>>2]|0; + $128 = (($127) + 1)|0; + HEAP32[$20>>2] = $128; + $129 = HEAP32[$18>>2]|0; + $130 = ((($129)) + 12|0); + HEAP32[$18>>2] = $130; + } + $131 = HEAP32[$19>>2]|0; + $132 = HEAP32[$26>>2]|0; + $133 = $132<<3; + _memset(($131|0),0,($133|0))|0; + $134 = HEAP32[$14>>2]|0; + $135 = ((($134)) + 24|0); + HEAP32[$135>>2] = 0; + $136 = HEAP32[$14>>2]|0; + $137 = ((($136)) + 20|0); + HEAP32[$137>>2] = 0; + $138 = HEAP32[$14>>2]|0; + $139 = ((($138)) + 32|0); + HEAP32[$139>>2] = 0; + $140 = HEAP32[$14>>2]|0; + $141 = ((($140)) + 40|0); + HEAPF64[$141>>3] = 4.9999999999999998E+98; + $142 = HEAP32[$14>>2]|0; + $143 = ((($142)) + 48|0); + $144 = $143; + $145 = $144; + HEAP32[$145>>2] = 25; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = 0; + $148 = HEAP32[$14>>2]|0; + $149 = ((($148)) + 56|0); + HEAP32[$149>>2] = 0; + $150 = HEAP32[$25>>2]|0; + $151 = ((($150)) + 56|0); + $152 = $151; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = HEAP32[$14>>2]|0; + $159 = ((($158)) + 64|0); + $160 = $159; + $161 = $160; + HEAP32[$161>>2] = $154; + $162 = (($160) + 4)|0; + $163 = $162; + HEAP32[$163>>2] = $157; + $164 = HEAP32[$24>>2]|0; + $165 = HEAP32[$25>>2]|0; + $166 = ((($165)) + 16|0); + $167 = HEAP32[$166>>2]|0; + $168 = HEAP32[$14>>2]|0; + $169 = (_vtabBestIndex($164,$167,$168)|0); + HEAP32[$22>>2] = $169; + $170 = HEAP32[$22>>2]|0; + $171 = ($170|0)!=(0); + if ($171) { + $172 = HEAP32[$22>>2]|0; + HEAP32[$9>>2] = $172; + $391 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($391|0); + } + HEAP32[$21>>2] = -1; + HEAP32[$20>>2] = 0; + while(1) { + $173 = HEAP32[$20>>2]|0; + $174 = HEAP32[$26>>2]|0; + $175 = ($173|0)<($174|0); + $176 = HEAP32[$23>>2]|0; + if (!($175)) { + break; + } + $177 = ((($176)) + 48|0); + $178 = HEAP32[$177>>2]|0; + $179 = HEAP32[$20>>2]|0; + $180 = (($178) + ($179<<2)|0); + HEAP32[$180>>2] = 0; + $181 = HEAP32[$20>>2]|0; + $182 = (($181) + 1)|0; + HEAP32[$20>>2] = $182; + } + $183 = ((($176)) + 24|0); + $184 = ((($183)) + 6|0); + HEAP16[$184>>1] = 0; + $185 = HEAP32[$14>>2]|0; + $186 = ((($185)) + 4|0); + $187 = HEAP32[$186>>2]|0; + HEAP32[$18>>2] = $187; + HEAP32[$20>>2] = 0; + while(1) { + $188 = HEAP32[$20>>2]|0; + $189 = HEAP32[$26>>2]|0; + $190 = ($188|0)<($189|0); + if (!($190)) { + break; + } + $191 = HEAP32[$19>>2]|0; + $192 = HEAP32[$20>>2]|0; + $193 = (($191) + ($192<<3)|0); + $194 = HEAP32[$193>>2]|0; + $195 = (($194) - 1)|0; + HEAP32[$28>>2] = $195; + $196 = ($195|0)>=(0); + if ($196) { + $197 = HEAP32[$18>>2]|0; + $198 = ((($197)) + 8|0); + $199 = HEAP32[$198>>2]|0; + HEAP32[$30>>2] = $199; + $200 = HEAP32[$28>>2]|0; + $201 = HEAP32[$26>>2]|0; + $202 = ($200|0)>=($201|0); + $203 = HEAP32[$30>>2]|0; + $204 = ($203|0)<(0); + $or$cond = $202 | $204; + if ($or$cond) { + label = 19; + break; + } + $205 = HEAP32[$30>>2]|0; + $206 = HEAP32[$17>>2]|0; + $207 = ((($206)) + 12|0); + $208 = HEAP32[$207>>2]|0; + $209 = ($205|0)>=($208|0); + if ($209) { + label = 19; + break; + } + $210 = HEAP32[$23>>2]|0; + $211 = ((($210)) + 48|0); + $212 = HEAP32[$211>>2]|0; + $213 = HEAP32[$28>>2]|0; + $214 = (($212) + ($213<<2)|0); + $215 = HEAP32[$214>>2]|0; + $216 = ($215|0)!=(0|0); + if ($216) { + label = 19; + break; + } + $217 = HEAP32[$18>>2]|0; + $218 = ((($217)) + 5|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = ($220|0)==(0); + if ($221) { + label = 19; + break; + } + $228 = HEAP32[$17>>2]|0; + $229 = ((($228)) + 20|0); + $230 = HEAP32[$229>>2]|0; + $231 = HEAP32[$30>>2]|0; + $232 = (($230) + (($231*48)|0)|0); + HEAP32[$29>>2] = $232; + $233 = HEAP32[$29>>2]|0; + $234 = ((($233)) + 32|0); + $235 = $234; + $236 = $235; + $237 = HEAP32[$236>>2]|0; + $238 = (($235) + 4)|0; + $239 = $238; + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[$23>>2]|0; + $242 = $241; + $243 = $242; + $244 = HEAP32[$243>>2]|0; + $245 = (($242) + 4)|0; + $246 = $245; + $247 = HEAP32[$246>>2]|0; + $248 = $244 | $237; + $249 = $247 | $240; + $250 = $241; + $251 = $250; + HEAP32[$251>>2] = $248; + $252 = (($250) + 4)|0; + $253 = $252; + HEAP32[$253>>2] = $249; + $254 = HEAP32[$29>>2]|0; + $255 = HEAP32[$23>>2]|0; + $256 = ((($255)) + 48|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[$28>>2]|0; + $259 = (($257) + ($258<<2)|0); + HEAP32[$259>>2] = $254; + $260 = HEAP32[$28>>2]|0; + $261 = HEAP32[$21>>2]|0; + $262 = ($260|0)>($261|0); + if ($262) { + $263 = HEAP32[$28>>2]|0; + HEAP32[$21>>2] = $263; + } + $264 = HEAP32[$28>>2]|0; + $265 = ($264|0)<(16); + if ($265) { + $266 = HEAP32[$19>>2]|0; + $267 = HEAP32[$20>>2]|0; + $268 = (($266) + ($267<<3)|0); + $269 = ((($268)) + 4|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + $272 = ($271|0)!=(0); + if ($272) { + $273 = HEAP32[$28>>2]|0; + $274 = 1 << $273; + $275 = HEAP32[$23>>2]|0; + $276 = ((($275)) + 24|0); + $277 = ((($276)) + 6|0); + $278 = HEAP16[$277>>1]|0; + $279 = $278&65535; + $280 = $279 | $274; + $281 = $280&65535; + HEAP16[$277>>1] = $281; } - $194 = HEAP32[$1>>2]|0; - $195 = ((($194)) + 64|0); - $196 = HEAP8[$195>>0]|0; - $197 = $196&255; - $198 = $197 & 4; - $199 = ($198|0)!=(0); - if ($199) { - $200 = HEAP32[$nextPage>>2]|0; - $201 = HEAP32[$iIdx>>2]|0; - $202 = HEAP32[$1>>2]|0; - $203 = ((($202)) + 12|0); - $204 = HEAP32[$203>>2]|0; - $205 = (($204) + ($201<<2)|0); - HEAP32[$205>>2] = $200; - } - $206 = HEAP32[$2>>2]|0; - $207 = HEAP32[$ovflSize>>2]|0; - $208 = ($206>>>0)>=($207>>>0); - if ($208) { - $209 = HEAP32[$iIdx>>2]|0; - $210 = (($209) + 1)|0; - $211 = HEAP32[$1>>2]|0; - $212 = ((($211)) + 12|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($213) + ($210<<2)|0); - $215 = HEAP32[$214>>2]|0; - $216 = ($215|0)!=(0); - if ($216) { - $217 = HEAP32[$iIdx>>2]|0; - $218 = (($217) + 1)|0; - $219 = HEAP32[$1>>2]|0; - $220 = ((($219)) + 12|0); - $221 = HEAP32[$220>>2]|0; - $222 = (($221) + ($218<<2)|0); - $223 = HEAP32[$222>>2]|0; - HEAP32[$nextPage>>2] = $223; - } else { - $224 = HEAP32[$pBt>>2]|0; - $225 = HEAP32[$nextPage>>2]|0; - $226 = (_getOverflowPage($224,$225,0,$nextPage)|0); - HEAP32[$rc>>2] = $226; - } - $227 = HEAP32[$ovflSize>>2]|0; - $228 = HEAP32[$2>>2]|0; - $229 = (($228) - ($227))|0; - HEAP32[$2>>2] = $229; - } else { - $230 = HEAP32[$3>>2]|0; - HEAP32[$a1>>2] = $230; - $231 = HEAP32[$a1>>2]|0; - $232 = HEAP32[$2>>2]|0; - $233 = (($231) + ($232))|0; - $234 = HEAP32[$ovflSize>>2]|0; - $235 = ($233>>>0)>($234>>>0); - if ($235) { - $236 = HEAP32[$ovflSize>>2]|0; - $237 = HEAP32[$2>>2]|0; - $238 = (($236) - ($237))|0; - HEAP32[$a1>>2] = $238; - } - $239 = HEAP32[$pBt>>2]|0; - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[$nextPage>>2]|0; - $242 = HEAP32[$5>>2]|0; - $243 = $242 & 1; - $244 = ($243|0)==(0); - $245 = $244 ? 2 : 0; - $246 = (_sqlite3PagerGet($240,$241,$pDbPage,$245)|0); - HEAP32[$rc>>2] = $246; - $247 = HEAP32[$rc>>2]|0; - $248 = ($247|0)==(0); - if ($248) { - $249 = HEAP32[$pDbPage>>2]|0; - $250 = (_sqlite3PagerGetData($249)|0); - HEAP32[$aPayload>>2] = $250; - $251 = HEAP32[$aPayload>>2]|0; - $252 = (_sqlite3Get4byte($251)|0); - HEAP32[$nextPage>>2] = $252; - $253 = HEAP32[$2>>2]|0; - $254 = (($253) + 4)|0; - $255 = HEAP32[$aPayload>>2]|0; - $256 = (($255) + ($254)|0); - $257 = HEAP32[$4>>2]|0; - $258 = HEAP32[$a1>>2]|0; - $259 = HEAP32[$5>>2]|0; - $260 = $259 & 1; - $261 = HEAP32[$pDbPage>>2]|0; - $262 = (_copyPayload($256,$257,$258,$260,$261)|0); - HEAP32[$rc>>2] = $262; - $263 = HEAP32[$pDbPage>>2]|0; - _sqlite3PagerUnref($263); - HEAP32[$2>>2] = 0; - } - $264 = HEAP32[$a1>>2]|0; - $265 = HEAP32[$3>>2]|0; - $266 = (($265) - ($264))|0; - HEAP32[$3>>2] = $266; - $267 = HEAP32[$a1>>2]|0; - $268 = HEAP32[$4>>2]|0; - $269 = (($268) + ($267)|0); - HEAP32[$4>>2] = $269; - } - $270 = HEAP32[$iIdx>>2]|0; - $271 = (($270) + 1)|0; - HEAP32[$iIdx>>2] = $271; + } + $282 = HEAP32[$29>>2]|0; + $283 = ((($282)) + 12|0); + $284 = HEAP16[$283>>1]|0; + $285 = $284&65535; + $286 = $285 & 1; + $287 = ($286|0)!=(0); + if ($287) { + $288 = HEAP32[$14>>2]|0; + $289 = ((($288)) + 32|0); + HEAP32[$289>>2] = 0; + $290 = HEAP32[$14>>2]|0; + $291 = ((($290)) + 56|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -2; + HEAP32[$291>>2] = $293; + $294 = HEAP32[$16>>2]|0; + HEAP32[$294>>2] = 1; + } + } + $295 = HEAP32[$20>>2]|0; + $296 = (($295) + 1)|0; + HEAP32[$20>>2] = $296; + $297 = HEAP32[$18>>2]|0; + $298 = ((($297)) + 12|0); + HEAP32[$18>>2] = $298; + } + if ((label|0) == 19) { + HEAP32[$22>>2] = 1; + $222 = HEAP32[$24>>2]|0; + $223 = HEAP32[$25>>2]|0; + $224 = ((($223)) + 16|0); + $225 = HEAP32[$224>>2]|0; + $226 = HEAP32[$225>>2]|0; + HEAP32[$vararg_buffer>>2] = $226; + _sqlite3ErrorMsg($222,34420,$vararg_buffer); + $227 = HEAP32[$22>>2]|0; + HEAP32[$9>>2] = $227; + $391 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($391|0); + } + $299 = HEAP16[$15>>1]|0; + $300 = $299&65535; + $301 = $300 ^ -1; + $302 = HEAP32[$23>>2]|0; + $303 = ((($302)) + 24|0); + $304 = ((($303)) + 6|0); + $305 = HEAP16[$304>>1]|0; + $306 = $305&65535; + $307 = $306 & $301; + $308 = $307&65535; + HEAP16[$304>>1] = $308; + $309 = HEAP32[$21>>2]|0; + $310 = (($309) + 1)|0; + $311 = $310&65535; + $312 = HEAP32[$23>>2]|0; + $313 = ((($312)) + 40|0); + HEAP16[$313>>1] = $311; + $314 = HEAP32[$14>>2]|0; + $315 = ((($314)) + 20|0); + $316 = HEAP32[$315>>2]|0; + $317 = HEAP32[$23>>2]|0; + $318 = ((($317)) + 24|0); + HEAP32[$318>>2] = $316; + $319 = HEAP32[$14>>2]|0; + $320 = ((($319)) + 28|0); + $321 = HEAP32[$320>>2]|0; + $322 = $321&255; + $323 = HEAP32[$23>>2]|0; + $324 = ((($323)) + 24|0); + $325 = ((($324)) + 4|0); + HEAP8[$325>>0] = $322; + $326 = HEAP32[$14>>2]|0; + $327 = ((($326)) + 28|0); + HEAP32[$327>>2] = 0; + $328 = HEAP32[$14>>2]|0; + $329 = ((($328)) + 24|0); + $330 = HEAP32[$329>>2]|0; + $331 = HEAP32[$23>>2]|0; + $332 = ((($331)) + 24|0); + $333 = ((($332)) + 8|0); + HEAP32[$333>>2] = $330; + $334 = HEAP32[$14>>2]|0; + $335 = ((($334)) + 32|0); + $336 = HEAP32[$335>>2]|0; + $337 = ($336|0)!=(0); + if ($337) { + $338 = HEAP32[$14>>2]|0; + $339 = ((($338)) + 8|0); + $340 = HEAP32[$339>>2]|0; + $342 = $340; + } else { + $342 = 0; + } + $341 = $342&255; + $343 = HEAP32[$23>>2]|0; + $344 = ((($343)) + 24|0); + $345 = ((($344)) + 5|0); + HEAP8[$345>>0] = $341; + $346 = HEAP32[$23>>2]|0; + $347 = ((($346)) + 18|0); + HEAP16[$347>>1] = 0; + $348 = HEAP32[$14>>2]|0; + $349 = ((($348)) + 40|0); + $350 = +HEAPF64[$349>>3]; + $351 = (_sqlite3LogEstFromDouble($350)|0); + $352 = HEAP32[$23>>2]|0; + $353 = ((($352)) + 20|0); + HEAP16[$353>>1] = $351; + $354 = HEAP32[$14>>2]|0; + $355 = ((($354)) + 48|0); + $356 = $355; + $357 = $356; + $358 = HEAP32[$357>>2]|0; + $359 = (($356) + 4)|0; + $360 = $359; + $361 = HEAP32[$360>>2]|0; + $362 = (_sqlite3LogEst($358,$361)|0); + $363 = HEAP32[$23>>2]|0; + $364 = ((($363)) + 22|0); + HEAP16[$364>>1] = $362; + $365 = HEAP32[$14>>2]|0; + $366 = ((($365)) + 56|0); + $367 = HEAP32[$366>>2]|0; + $368 = $367 & 1; + $369 = ($368|0)!=(0); + $370 = HEAP32[$23>>2]|0; + $371 = ((($370)) + 36|0); + $372 = HEAP32[$371>>2]|0; + $373 = $372 & -4097; + $374 = $372 | 4096; + $$sink = $369 ? $374 : $373; + HEAP32[$371>>2] = $$sink; + $375 = HEAP32[$10>>2]|0; + $376 = HEAP32[$23>>2]|0; + $377 = (_whereLoopInsert($375,$376)|0); + HEAP32[$22>>2] = $377; + $378 = HEAP32[$23>>2]|0; + $379 = ((($378)) + 24|0); + $380 = ((($379)) + 4|0); + $381 = HEAP8[$380>>0]|0; + $382 = ($381<<24>>24)!=(0); + if ($382) { + $383 = HEAP32[$23>>2]|0; + $384 = ((($383)) + 24|0); + $385 = ((($384)) + 8|0); + $386 = HEAP32[$385>>2]|0; + _sqlite3_free($386); + $387 = HEAP32[$23>>2]|0; + $388 = ((($387)) + 24|0); + $389 = ((($388)) + 4|0); + HEAP8[$389>>0] = 0; + } + $390 = HEAP32[$22>>2]|0; + HEAP32[$9>>2] = $390; + $391 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($391|0); +} +function _vtabBestIndex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = (_sqlite3GetVTable($9,$10)|0); + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $13; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = (FUNCTION_TABLE_iii[$17 & 255]($18,$19)|0); + HEAP32[$7>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = ($21|0)!=(0); + do { + if ($22) { + $23 = HEAP32[$7>>2]|0; + $24 = ($23|0)==(7); + if ($24) { + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$25>>2]|0; + _sqlite3OomFault($26); + break; + } + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0|0); + $31 = HEAP32[$3>>2]|0; + if ($30) { + $34 = HEAP32[$6>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$vararg_buffer1>>2] = $36; + _sqlite3ErrorMsg($31,21240,$vararg_buffer1); + break; + } else { + $32 = HEAP32[$7>>2]|0; + $33 = (_sqlite3ErrStr($32)|0); + HEAP32[$vararg_buffer>>2] = $33; + _sqlite3ErrorMsg($31,21240,$vararg_buffer); + break; } } } while(0); - $272 = HEAP32[$rc>>2]|0; - $273 = ($272|0)==(0); - $274 = HEAP32[$3>>2]|0; - $275 = ($274>>>0)>(0); - $or$cond5 = $273 & $275; - if ($or$cond5) { - $276 = (_sqlite3CorruptError(62880)|0); - HEAP32[$0>>2] = $276; - $278 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($278|0); + $37 = HEAP32[$6>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + _sqlite3_free($39); + $40 = HEAP32[$6>>2]|0; + $41 = ((($40)) + 8|0); + HEAP32[$41>>2] = 0; + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 36|0); + $44 = HEAP32[$43>>2]|0; + STACKTOP = sp;return ($44|0); +} +function _sqlite3LogEstFromDouble($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, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 18|0; + $2 = sp + 8|0; + $3 = sp; + $4 = sp + 16|0; + HEAPF64[$2>>3] = $0; + $5 = +HEAPF64[$2>>3]; + $6 = $5 <= 1.0; + if ($6) { + HEAP16[$1>>1] = 0; + $28 = HEAP16[$1>>1]|0; + STACKTOP = sp;return ($28|0); + } + $7 = +HEAPF64[$2>>3]; + $8 = $7 <= 2.0E+9; + if ($8) { + $9 = +HEAPF64[$2>>3]; + $10 = (~~$9)>>>0; + $11 = +Math_abs($9) >= 1.0 ? $9 > 0.0 ? (~~+Math_min(+Math_floor($9 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($9 - +(~~$9 >>> 0)) / 4294967296.0) >>> 0 : 0; + $12 = (_sqlite3LogEst($10,$11)|0); + HEAP16[$1>>1] = $12; + $28 = HEAP16[$1>>1]|0; + STACKTOP = sp;return ($28|0); } else { - $277 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $277; - $278 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($278|0); + ;HEAP32[$3>>2]=HEAP32[$2>>2]|0;HEAP32[$3+4>>2]=HEAP32[$2+4>>2]|0; + $13 = $3; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (_bitshift64Lshr(($15|0),($18|0),52)|0); + $20 = tempRet0; + $21 = (_i64Subtract(($19|0),($20|0),1022,0)|0); + $22 = tempRet0; + $23 = $21&65535; + HEAP16[$4>>1] = $23; + $24 = HEAP16[$4>>1]|0; + $25 = $24 << 16 >> 16; + $26 = ($25*10)|0; + $27 = $26&65535; + HEAP16[$1>>1] = $27; + $28 = HEAP16[$1>>1]|0; + STACKTOP = sp;return ($28|0); } return (0)|0; } -function _getCellInfo($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iPage = 0, label = 0, sp = 0; +function _findIndexCol($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $iPage = sp; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = ((($2)) + 18|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = ($5|0)==(0); - if (!($6)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $15 = HEAP32[$9>>2]|0; + $16 = ((($15)) + 32|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$10>>2]|0; + $19 = (($17) + ($18<<2)|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$12>>2] = $20; + HEAP32[$11>>2] = 0; + while(1) { + $21 = HEAP32[$11>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ($21|0)<($23|0); + if (!($24)) { + label = 10; + break; + } + $25 = HEAP32[$7>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$11>>2]|0; + $29 = (($27) + (($28*20)|0)|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3ExprSkipCollate($30)|0); + HEAP32[$13>>2] = $31; + $32 = HEAP32[$13>>2]|0; + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = ($34|0)==(152); + if ($35) { + $36 = HEAP32[$13>>2]|0; + $37 = ((($36)) + 32|0); + $38 = HEAP16[$37>>1]|0; + $39 = $38 << 16 >> 16; + $40 = HEAP32[$9>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$10>>2]|0; + $44 = (($42) + ($43<<1)|0); + $45 = HEAP16[$44>>1]|0; + $46 = $45 << 16 >> 16; + $47 = ($39|0)==($46|0); + if ($47) { + $48 = HEAP32[$13>>2]|0; + $49 = ((($48)) + 28|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$8>>2]|0; + $52 = ($50|0)==($51|0); + if ($52) { + $53 = HEAP32[$6>>2]|0; + $54 = HEAP32[$7>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$11>>2]|0; + $58 = (($56) + (($57*20)|0)|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3ExprCollSeq($53,$59)|0); + HEAP32[$14>>2] = $60; + $61 = HEAP32[$14>>2]|0; + $62 = ($61|0)!=(0|0); + if ($62) { + $63 = HEAP32[$14>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$12>>2]|0; + $66 = (_sqlite3StrICmp($64,$65)|0); + $67 = (0)==($66|0); + if ($67) { + label = 8; + break; + } + } + } + } + } + $69 = HEAP32[$11>>2]|0; + $70 = (($69) + 1)|0; + HEAP32[$11>>2] = $70; } - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 68|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - HEAP32[$iPage>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 64|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = $14 | 2; - $16 = $15&255; - HEAP8[$12>>0] = $16; - $17 = HEAP32[$iPage>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 120|0); - $20 = (($19) + ($17<<2)|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$iPage>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 80|0); - $25 = (($24) + ($22<<1)|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26&65535; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 16|0); - _btreeParseCell($21,$27,$29); - STACKTOP = sp;return; + if ((label|0) == 8) { + $68 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $68; + $71 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($71|0); + } + else if ((label|0) == 10) { + HEAP32[$5>>2] = -1; + $71 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($71|0); + } + return (0)|0; } -function _copyPayload($pPayload,$pBuf,$nByte,$eOp,$pDbPage) { - $pPayload = $pPayload|0; - $pBuf = $pBuf|0; - $nByte = $nByte|0; - $eOp = $eOp|0; - $pDbPage = $pDbPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $rc = 0, label = 0, sp = 0; +function _exprAnalyze($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink5$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $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; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; + var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; + var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; + var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; + var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0; + var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0; + var $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; + var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0; + var $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0; + var $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0; + var $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0; + var $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0; + var $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0; + var $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0; + var $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0; + var $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0; + var $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0; + var $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0; + var $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0; + var $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0; + var $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0; + var $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0; + var $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0; + var $893 = 0, $894 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pPayload; - HEAP32[$2>>2] = $pBuf; - HEAP32[$3>>2] = $nByte; - HEAP32[$4>>2] = $eOp; - HEAP32[$5>>2] = $pDbPage; - $6 = HEAP32[$4>>2]|0; - $7 = ($6|0)!=(0); + STACKTOP = STACKTOP + 256|0; + $3 = sp + 228|0; + $4 = sp + 224|0; + $5 = sp + 220|0; + $6 = sp + 216|0; + $7 = sp + 212|0; + $8 = sp + 208|0; + $9 = sp + 204|0; + $10 = sp + 40|0; + $11 = sp + 32|0; + $12 = sp + 24|0; + $13 = sp + 200|0; + $14 = sp + 196|0; + $15 = sp + 192|0; + $16 = sp + 188|0; + $17 = sp + 184|0; + $18 = sp + 180|0; + $19 = sp + 240|0; + $20 = sp + 16|0; + $21 = sp + 176|0; + $22 = sp + 172|0; + $23 = sp + 168|0; + $24 = sp + 164|0; + $25 = sp + 236|0; + $26 = sp + 160|0; + $27 = sp + 156|0; + $28 = sp + 234|0; + $29 = sp + 152|0; + $30 = sp + 148|0; + $31 = sp + 144|0; + $32 = sp + 140|0; + $33 = sp + 136|0; + $34 = sp + 132|0; + $35 = sp + 128|0; + $36 = sp + 124|0; + $37 = sp + 120|0; + $38 = sp + 116|0; + $39 = sp + 112|0; + $40 = sp + 108|0; + $41 = sp + 232|0; + $42 = sp + 104|0; + $43 = sp + 239|0; + $44 = sp + 238|0; + $45 = sp + 100|0; + $46 = sp + 96|0; + $47 = sp + 92|0; + $48 = sp + 88|0; + $49 = sp + 84|0; + $50 = sp + 8|0; + $51 = sp; + $52 = sp + 80|0; + $53 = sp + 76|0; + $54 = sp + 72|0; + $55 = sp + 68|0; + $56 = sp + 64|0; + $57 = sp + 60|0; + $58 = sp + 56|0; + $59 = sp + 52|0; + $60 = sp + 48|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $61 = HEAP32[$4>>2]|0; + $62 = HEAP32[$61>>2]|0; + HEAP32[$6>>2] = $62; + $63 = $12; + $64 = $63; + HEAP32[$64>>2] = 0; + $65 = (($63) + 4)|0; + $66 = $65; + HEAP32[$66>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + $67 = HEAP32[$6>>2]|0; + $68 = HEAP32[$67>>2]|0; + HEAP32[$17>>2] = $68; + $69 = HEAP32[$17>>2]|0; + $70 = HEAP32[$69>>2]|0; + HEAP32[$18>>2] = $70; + $71 = HEAP32[$18>>2]|0; + $72 = ((($71)) + 69|0); + $73 = HEAP8[$72>>0]|0; + $74 = ($73<<24>>24)!=(0); + if ($74) { + STACKTOP = sp;return; + } + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 20|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$5>>2]|0; + $79 = (($77) + (($78*48)|0)|0); + HEAP32[$7>>2] = $79; + $80 = HEAP32[$6>>2]|0; + $81 = ((($80)) + 488|0); + HEAP32[$8>>2] = $81; + $82 = HEAP32[$7>>2]|0; + $83 = HEAP32[$82>>2]|0; + HEAP32[$9>>2] = $83; + $84 = HEAP32[$8>>2]|0; + $85 = HEAP32[$9>>2]|0; + $86 = ((($85)) + 12|0); + $87 = HEAP32[$86>>2]|0; + $88 = (_sqlite3WhereExprUsage($84,$87)|0); + $89 = tempRet0; + $90 = $10; + $91 = $90; + HEAP32[$91>>2] = $88; + $92 = (($90) + 4)|0; + $93 = $92; + HEAP32[$93>>2] = $89; + $94 = HEAP32[$9>>2]|0; + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + HEAP32[$16>>2] = $96; + $97 = HEAP32[$16>>2]|0; + $98 = ($97|0)==(33); do { - if ($7) { - $8 = HEAP32[$5>>2]|0; - $9 = (_sqlite3PagerWrite($8)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)!=(0); - if (!($11)) { - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$3>>2]|0; - _memcpy(($13|0),($14|0),($15|0))|0; + if ($98) { + $99 = HEAP32[$17>>2]|0; + $100 = HEAP32[$9>>2]|0; + $101 = (_sqlite3ExprCheckIN($99,$100)|0); + $102 = ($101|0)!=(0); + if ($102) { + STACKTOP = sp;return; + } + $103 = HEAP32[$9>>2]|0; + $104 = ((($103)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 2048; + $107 = ($106|0)!=(0); + $108 = HEAP32[$8>>2]|0; + $109 = HEAP32[$9>>2]|0; + $110 = ((($109)) + 20|0); + if ($107) { + $111 = HEAP32[$110>>2]|0; + $112 = (_exprSelectUsage($108,$111)|0); + $113 = tempRet0; + $114 = HEAP32[$7>>2]|0; + $$sink5$sink = $114;$132 = $112;$135 = $113; + break; + } else { + $115 = HEAP32[$110>>2]|0; + $116 = (_sqlite3WhereExprListUsage($108,$115)|0); + $117 = tempRet0; + $118 = HEAP32[$7>>2]|0; + $$sink5$sink = $118;$132 = $116;$135 = $117; break; } - $12 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $12; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); } else { - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$3>>2]|0; - _memcpy(($16|0),($17|0),($18|0))|0; + $119 = HEAP32[$16>>2]|0; + $120 = ($119|0)==(34); + if ($120) { + $121 = HEAP32[$7>>2]|0; + $$sink5$sink = $121;$132 = 0;$135 = 0; + break; + } else { + $122 = HEAP32[$8>>2]|0; + $123 = HEAP32[$9>>2]|0; + $124 = ((($123)) + 16|0); + $125 = HEAP32[$124>>2]|0; + $126 = (_sqlite3WhereExprUsage($122,$125)|0); + $127 = tempRet0; + $128 = HEAP32[$7>>2]|0; + $$sink5$sink = $128;$132 = $126;$135 = $127; + break; + } } } while(0); - HEAP32[$0>>2] = 0; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); -} -function _getOverflowPage($pBt,$ovfl,$ppPage,$pPgnoNext) { - $pBt = $pBt|0; - $ovfl = $ovfl|0; - $ppPage = $ppPage|0; - $pPgnoNext = $pPgnoNext|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $eType = 0, $iGuess = 0, $next = 0, $pPage = 0, $pgno = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $next = sp + 16|0; - $pPage = sp + 12|0; - $rc = sp + 8|0; - $pgno = sp + 4|0; - $iGuess = sp; - $eType = sp + 36|0; - HEAP32[$0>>2] = $pBt; - HEAP32[$1>>2] = $ovfl; - HEAP32[$2>>2] = $ppPage; - HEAP32[$3>>2] = $pPgnoNext; - HEAP32[$next>>2] = 0; - HEAP32[$pPage>>2] = 0; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 17|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 1)|0; - HEAP32[$iGuess>>2] = $9; - while(1) { - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$iGuess>>2]|0; - $12 = (_ptrmapPageno($10,$11)|0); - $13 = HEAP32[$iGuess>>2]|0; - $14 = ($12|0)==($13|0); - if ($14) { - $64 = 1; - } else { - $15 = HEAP32[$iGuess>>2]|0; - $16 = HEAP32[1536>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 32|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($16>>>0) / ($19>>>0))&-1; - $21 = (($20) + 1)|0; - $22 = ($15|0)==($21|0); - $64 = $22; + $129 = ((($$sink5$sink)) + 32|0); + $130 = $129; + $131 = $130; + HEAP32[$131>>2] = $132; + $133 = (($130) + 4)|0; + $134 = $133; + HEAP32[$134>>2] = $135; + $136 = HEAP32[$8>>2]|0; + $137 = HEAP32[$9>>2]|0; + $138 = (_sqlite3WhereExprUsage($136,$137)|0); + $139 = tempRet0; + $140 = $11; + $141 = $140; + HEAP32[$141>>2] = $138; + $142 = (($140) + 4)|0; + $143 = $142; + HEAP32[$143>>2] = $139; + $144 = HEAP32[$9>>2]|0; + $145 = ((($144)) + 4|0); + $146 = HEAP32[$145>>2]|0; + $147 = $146 & 1; + $148 = ($147|0)!=(0); + if ($148) { + $149 = HEAP32[$8>>2]|0; + $150 = HEAP32[$9>>2]|0; + $151 = ((($150)) + 36|0); + $152 = HEAP16[$151>>1]|0; + $153 = $152 << 16 >> 16; + $154 = (_sqlite3WhereGetMask($149,$153)|0); + $155 = tempRet0; + $156 = $20; + $157 = $156; + HEAP32[$157>>2] = $154; + $158 = (($156) + 4)|0; + $159 = $158; + HEAP32[$159>>2] = $155; + $160 = $20; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = (($160) + 4)|0; + $164 = $163; + $165 = HEAP32[$164>>2]|0; + $166 = $11; + $167 = $166; + $168 = HEAP32[$167>>2]|0; + $169 = (($166) + 4)|0; + $170 = $169; + $171 = HEAP32[$170>>2]|0; + $172 = $168 | $162; + $173 = $171 | $165; + $174 = $11; + $175 = $174; + HEAP32[$175>>2] = $172; + $176 = (($174) + 4)|0; + $177 = $176; + HEAP32[$177>>2] = $173; + $178 = $20; + $179 = $178; + $180 = HEAP32[$179>>2]|0; + $181 = (($178) + 4)|0; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = (_i64Subtract(($180|0),($183|0),1,0)|0); + $185 = tempRet0; + $186 = $12; + $187 = $186; + HEAP32[$187>>2] = $184; + $188 = (($186) + 4)|0; + $189 = $188; + HEAP32[$189>>2] = $185; + } + $190 = $11; + $191 = $190; + $192 = HEAP32[$191>>2]|0; + $193 = (($190) + 4)|0; + $194 = $193; + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$7>>2]|0; + $197 = ((($196)) + 40|0); + $198 = $197; + $199 = $198; + HEAP32[$199>>2] = $192; + $200 = (($198) + 4)|0; + $201 = $200; + HEAP32[$201>>2] = $195; + $202 = HEAP32[$7>>2]|0; + $203 = ((($202)) + 20|0); + HEAP32[$203>>2] = -1; + $204 = HEAP32[$7>>2]|0; + $205 = ((($204)) + 16|0); + HEAP32[$205>>2] = -1; + $206 = HEAP32[$7>>2]|0; + $207 = ((($206)) + 12|0); + HEAP16[$207>>1] = 0; + $208 = HEAP32[$16>>2]|0; + $209 = (_allowedOp($208)|0); + $210 = ($209|0)!=(0); + $211 = HEAP32[$9>>2]|0; + L20: do { + if ($210) { + $212 = ((($211)) + 12|0); + $213 = HEAP32[$212>>2]|0; + $214 = (_sqlite3ExprSkipCollate($213)|0); + HEAP32[$23>>2] = $214; + $215 = HEAP32[$9>>2]|0; + $216 = ((($215)) + 16|0); + $217 = HEAP32[$216>>2]|0; + $218 = (_sqlite3ExprSkipCollate($217)|0); + HEAP32[$24>>2] = $218; + $219 = HEAP32[$7>>2]|0; + $220 = ((($219)) + 32|0); + $221 = $220; + $222 = $221; + $223 = HEAP32[$222>>2]|0; + $224 = (($221) + 4)|0; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = $10; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = (($227) + 4)|0; + $231 = $230; + $232 = HEAP32[$231>>2]|0; + $233 = $223 & $229; + $234 = $226 & $232; + $235 = ($233|0)==(0); + $236 = ($234|0)==(0); + $237 = $235 & $236; + $238 = $237 ? 8191 : 2048; + $239 = $238&65535; + HEAP16[$25>>1] = $239; + $240 = HEAP32[$7>>2]|0; + $241 = ((($240)) + 24|0); + $242 = HEAP32[$241>>2]|0; + $243 = ($242|0)>(0); + if ($243) { + $244 = HEAP32[$23>>2]|0; + $245 = ((($244)) + 20|0); + $246 = HEAP32[$245>>2]|0; + $247 = ((($246)) + 4|0); + $248 = HEAP32[$247>>2]|0; + $249 = HEAP32[$7>>2]|0; + $250 = ((($249)) + 24|0); + $251 = HEAP32[$250>>2]|0; + $252 = (($251) - 1)|0; + $253 = (($248) + (($252*20)|0)|0); + $254 = HEAP32[$253>>2]|0; + HEAP32[$23>>2] = $254; } - $23 = HEAP32[$iGuess>>2]|0; - if (!($64)) { - break; + $255 = HEAP32[$3>>2]|0; + $256 = HEAP32[$16>>2]|0; + $257 = $10; + $258 = $257; + $259 = HEAP32[$258>>2]|0; + $260 = (($257) + 4)|0; + $261 = $260; + $262 = HEAP32[$261>>2]|0; + $263 = HEAP32[$23>>2]|0; + $264 = (_exprMightBeIndexed($255,$256,$259,$262,$263,$21,$22)|0); + $265 = ($264|0)!=(0); + if ($265) { + $266 = HEAP32[$21>>2]|0; + $267 = HEAP32[$7>>2]|0; + $268 = ((($267)) + 20|0); + HEAP32[$268>>2] = $266; + $269 = HEAP32[$22>>2]|0; + $270 = HEAP32[$7>>2]|0; + $271 = ((($270)) + 28|0); + HEAP32[$271>>2] = $269; + $272 = HEAP32[$16>>2]|0; + $273 = (_operatorMask($272)|0); + $274 = $273&65535; + $275 = HEAP16[$25>>1]|0; + $276 = $275&65535; + $277 = $274 & $276; + $278 = $277&65535; + $279 = HEAP32[$7>>2]|0; + $280 = ((($279)) + 12|0); + HEAP16[$280>>1] = $278; + } + $281 = HEAP32[$16>>2]|0; + $282 = ($281|0)==(29); + if ($282) { + $283 = HEAP32[$7>>2]|0; + $284 = ((($283)) + 10|0); + $285 = HEAP16[$284>>1]|0; + $286 = $285&65535; + $287 = $286 | 2048; + $288 = $287&65535; + HEAP16[$284>>1] = $288; + } + $289 = HEAP32[$24>>2]|0; + $290 = ($289|0)!=(0|0); + if ($290) { + $291 = HEAP32[$3>>2]|0; + $292 = HEAP32[$16>>2]|0; + $293 = HEAP32[$7>>2]|0; + $294 = ((($293)) + 32|0); + $295 = $294; + $296 = $295; + $297 = HEAP32[$296>>2]|0; + $298 = (($295) + 4)|0; + $299 = $298; + $300 = HEAP32[$299>>2]|0; + $301 = HEAP32[$24>>2]|0; + $302 = (_exprMightBeIndexed($291,$292,$297,$300,$301,$21,$22)|0); + $303 = ($302|0)!=(0); + if ($303) { + HEAP16[$28>>1] = 0; + $304 = HEAP32[$7>>2]|0; + $305 = ((($304)) + 20|0); + $306 = HEAP32[$305>>2]|0; + $307 = ($306|0)>=(0); + if ($307) { + $308 = HEAP32[$18>>2]|0; + $309 = HEAP32[$9>>2]|0; + $310 = (_sqlite3ExprDup($308,$309,0)|0); + HEAP32[$27>>2] = $310; + $311 = HEAP32[$18>>2]|0; + $312 = ((($311)) + 69|0); + $313 = HEAP8[$312>>0]|0; + $314 = ($313<<24>>24)!=(0); + if ($314) { + $315 = HEAP32[$18>>2]|0; + $316 = HEAP32[$27>>2]|0; + _sqlite3ExprDelete($315,$316); + STACKTOP = sp;return; + } + $317 = HEAP32[$4>>2]|0; + $318 = HEAP32[$27>>2]|0; + $319 = (_whereClauseInsert($317,$318,3)|0); + HEAP32[$29>>2] = $319; + $320 = HEAP32[$29>>2]|0; + $321 = ($320|0)==(0); + if ($321) { + STACKTOP = sp;return; + } + $322 = HEAP32[$4>>2]|0; + $323 = ((($322)) + 20|0); + $324 = HEAP32[$323>>2]|0; + $325 = HEAP32[$29>>2]|0; + $326 = (($324) + (($325*48)|0)|0); + HEAP32[$26>>2] = $326; + $327 = HEAP32[$4>>2]|0; + $328 = HEAP32[$29>>2]|0; + $329 = HEAP32[$5>>2]|0; + _markTermAsChild($327,$328,$329); + $330 = HEAP32[$16>>2]|0; + $331 = ($330|0)==(29); + if ($331) { + $332 = HEAP32[$26>>2]|0; + $333 = ((($332)) + 10|0); + $334 = HEAP16[$333>>1]|0; + $335 = $334&65535; + $336 = $335 | 2048; + $337 = $336&65535; + HEAP16[$333>>1] = $337; + } + $338 = HEAP32[$4>>2]|0; + $339 = ((($338)) + 20|0); + $340 = HEAP32[$339>>2]|0; + $341 = HEAP32[$5>>2]|0; + $342 = (($340) + (($341*48)|0)|0); + HEAP32[$7>>2] = $342; + $343 = HEAP32[$7>>2]|0; + $344 = ((($343)) + 10|0); + $345 = HEAP16[$344>>1]|0; + $346 = $345&65535; + $347 = $346 | 8; + $348 = $347&65535; + HEAP16[$344>>1] = $348; + $349 = HEAP32[$17>>2]|0; + $350 = HEAP32[$27>>2]|0; + $351 = (_termIsEquivalence($349,$350)|0); + $352 = ($351|0)!=(0); + if ($352) { + $353 = HEAP32[$7>>2]|0; + $354 = ((($353)) + 12|0); + $355 = HEAP16[$354>>1]|0; + $356 = $355&65535; + $357 = $356 | 2048; + $358 = $357&65535; + HEAP16[$354>>1] = $358; + HEAP16[$28>>1] = 2048; + } + } else { + $359 = HEAP32[$9>>2]|0; + HEAP32[$27>>2] = $359; + $360 = HEAP32[$7>>2]|0; + HEAP32[$26>>2] = $360; + } + $361 = HEAP32[$17>>2]|0; + $362 = HEAP32[$27>>2]|0; + _exprCommute($361,$362); + $363 = HEAP32[$21>>2]|0; + $364 = HEAP32[$26>>2]|0; + $365 = ((($364)) + 20|0); + HEAP32[$365>>2] = $363; + $366 = HEAP32[$22>>2]|0; + $367 = HEAP32[$26>>2]|0; + $368 = ((($367)) + 28|0); + HEAP32[$368>>2] = $366; + $369 = $10; + $370 = $369; + $371 = HEAP32[$370>>2]|0; + $372 = (($369) + 4)|0; + $373 = $372; + $374 = HEAP32[$373>>2]|0; + $375 = $12; + $376 = $375; + $377 = HEAP32[$376>>2]|0; + $378 = (($375) + 4)|0; + $379 = $378; + $380 = HEAP32[$379>>2]|0; + $381 = $371 | $377; + $382 = $374 | $380; + $383 = HEAP32[$26>>2]|0; + $384 = ((($383)) + 32|0); + $385 = $384; + $386 = $385; + HEAP32[$386>>2] = $381; + $387 = (($385) + 4)|0; + $388 = $387; + HEAP32[$388>>2] = $382; + $389 = $11; + $390 = $389; + $391 = HEAP32[$390>>2]|0; + $392 = (($389) + 4)|0; + $393 = $392; + $394 = HEAP32[$393>>2]|0; + $395 = HEAP32[$26>>2]|0; + $396 = ((($395)) + 40|0); + $397 = $396; + $398 = $397; + HEAP32[$398>>2] = $391; + $399 = (($397) + 4)|0; + $400 = $399; + HEAP32[$400>>2] = $394; + $401 = HEAP32[$27>>2]|0; + $402 = HEAP8[$401>>0]|0; + $403 = $402&255; + $404 = (_operatorMask($403)|0); + $405 = $404&65535; + $406 = HEAP16[$28>>1]|0; + $407 = $406&65535; + $408 = (($405) + ($407))|0; + $409 = HEAP16[$25>>1]|0; + $410 = $409&65535; + $411 = $408 & $410; + $412 = $411&65535; + $413 = HEAP32[$26>>2]|0; + $414 = ((($413)) + 12|0); + HEAP16[$414>>1] = $412; + } + } + } else { + $415 = HEAP8[$211>>0]|0; + $416 = $415&255; + $417 = ($416|0)==(32); + if ($417) { + $418 = HEAP32[$4>>2]|0; + $419 = ((($418)) + 8|0); + $420 = HEAP8[$419>>0]|0; + $421 = $420&255; + $422 = ($421|0)==(28); + if ($422) { + $423 = HEAP32[$9>>2]|0; + $424 = ((($423)) + 20|0); + $425 = HEAP32[$424>>2]|0; + HEAP32[$30>>2] = $425; + HEAP32[$31>>2] = 0; + while(1) { + $426 = HEAP32[$31>>2]|0; + $427 = ($426|0)<(2); + if (!($427)) { + break L20; + } + $428 = HEAP32[$17>>2]|0; + $429 = HEAP32[$31>>2]|0; + $430 = (34446 + ($429)|0); + $431 = HEAP8[$430>>0]|0; + $432 = $431&255; + $433 = HEAP32[$18>>2]|0; + $434 = HEAP32[$9>>2]|0; + $435 = ((($434)) + 12|0); + $436 = HEAP32[$435>>2]|0; + $437 = (_sqlite3ExprDup($433,$436,0)|0); + $438 = HEAP32[$18>>2]|0; + $439 = HEAP32[$30>>2]|0; + $440 = ((($439)) + 4|0); + $441 = HEAP32[$440>>2]|0; + $442 = HEAP32[$31>>2]|0; + $443 = (($441) + (($442*20)|0)|0); + $444 = HEAP32[$443>>2]|0; + $445 = (_sqlite3ExprDup($438,$444,0)|0); + $446 = (_sqlite3PExpr($428,$432,$437,$445,0)|0); + HEAP32[$32>>2] = $446; + $447 = HEAP32[$32>>2]|0; + $448 = HEAP32[$9>>2]|0; + _transferJoinMarkings($447,$448); + $449 = HEAP32[$4>>2]|0; + $450 = HEAP32[$32>>2]|0; + $451 = (_whereClauseInsert($449,$450,3)|0); + HEAP32[$33>>2] = $451; + $452 = HEAP32[$3>>2]|0; + $453 = HEAP32[$4>>2]|0; + $454 = HEAP32[$33>>2]|0; + _exprAnalyze($452,$453,$454); + $455 = HEAP32[$4>>2]|0; + $456 = ((($455)) + 20|0); + $457 = HEAP32[$456>>2]|0; + $458 = HEAP32[$5>>2]|0; + $459 = (($457) + (($458*48)|0)|0); + HEAP32[$7>>2] = $459; + $460 = HEAP32[$4>>2]|0; + $461 = HEAP32[$33>>2]|0; + $462 = HEAP32[$5>>2]|0; + _markTermAsChild($460,$461,$462); + $463 = HEAP32[$31>>2]|0; + $464 = (($463) + 1)|0; + HEAP32[$31>>2] = $464; + } + } + } + $465 = HEAP32[$9>>2]|0; + $466 = HEAP8[$465>>0]|0; + $467 = $466&255; + $468 = ($467|0)==(27); + if ($468) { + $469 = HEAP32[$3>>2]|0; + $470 = HEAP32[$4>>2]|0; + $471 = HEAP32[$5>>2]|0; + _exprAnalyzeOrTerm($469,$470,$471); + $472 = HEAP32[$4>>2]|0; + $473 = ((($472)) + 20|0); + $474 = HEAP32[$473>>2]|0; + $475 = HEAP32[$5>>2]|0; + $476 = (($474) + (($475*48)|0)|0); + HEAP32[$7>>2] = $476; } - $24 = (($23) + 1)|0; - HEAP32[$iGuess>>2] = $24; } - $25 = HEAP32[$0>>2]|0; - $26 = (_btreePagecount($25)|0); - $27 = ($23>>>0)<=($26>>>0); - if ($27) { - $28 = HEAP32[$0>>2]|0; - $29 = HEAP32[$iGuess>>2]|0; - $30 = (_ptrmapGet($28,$29,$eType,$pgno)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$rc>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $33 = HEAP8[$eType>>0]|0; - $34 = $33&255; - $35 = ($34|0)==(4); - if ($35) { - $36 = HEAP32[$pgno>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = ($36|0)==($37|0); - if ($38) { - $39 = HEAP32[$iGuess>>2]|0; - HEAP32[$next>>2] = $39; - HEAP32[$rc>>2] = 101; + } while(0); + $477 = HEAP32[$4>>2]|0; + $478 = ((($477)) + 8|0); + $479 = HEAP8[$478>>0]|0; + $480 = $479&255; + $481 = ($480|0)==(28); + if ($481) { + $482 = HEAP32[$17>>2]|0; + $483 = HEAP32[$9>>2]|0; + $484 = (_isLikeOrGlob($482,$483,$13,$14,$15)|0); + $485 = ($484|0)!=(0); + if ($485) { + HEAP16[$41>>1] = 259; + $486 = HEAP32[$9>>2]|0; + $487 = ((($486)) + 20|0); + $488 = HEAP32[$487>>2]|0; + $489 = ((($488)) + 4|0); + $490 = HEAP32[$489>>2]|0; + $491 = ((($490)) + 20|0); + $492 = HEAP32[$491>>2]|0; + HEAP32[$34>>2] = $492; + $493 = HEAP32[$18>>2]|0; + $494 = HEAP32[$13>>2]|0; + $495 = (_sqlite3ExprDup($493,$494,0)|0); + HEAP32[$35>>2] = $495; + $496 = HEAP32[$15>>2]|0; + $497 = ($496|0)!=(0); + L61: do { + if ($497) { + $498 = HEAP32[$17>>2]|0; + $499 = HEAP32[$498>>2]|0; + $500 = ((($499)) + 69|0); + $501 = HEAP8[$500>>0]|0; + $502 = ($501<<24>>24)!=(0); + if (!($502)) { + $503 = HEAP32[$7>>2]|0; + $504 = ((($503)) + 10|0); + $505 = HEAP16[$504>>1]|0; + $506 = $505&65535; + $507 = $506 | 1024; + $508 = $507&65535; + HEAP16[$504>>1] = $508; + HEAP32[$42>>2] = 0; + while(1) { + $509 = HEAP32[$13>>2]|0; + $510 = ((($509)) + 8|0); + $511 = HEAP32[$510>>2]|0; + $512 = HEAP32[$42>>2]|0; + $513 = (($511) + ($512)|0); + $514 = HEAP8[$513>>0]|0; + HEAP8[$43>>0] = $514; + $515 = $514 << 24 >> 24; + $516 = ($515|0)!=(0); + if (!($516)) { + break L61; + } + $517 = HEAP8[$43>>0]|0; + $518 = $517 << 24 >> 24; + $519 = HEAP8[$43>>0]|0; + $520 = $519&255; + $521 = (20063 + ($520)|0); + $522 = HEAP8[$521>>0]|0; + $523 = $522&255; + $524 = $523 & 32; + $525 = $524 ^ -1; + $526 = $518 & $525; + $527 = $526&255; + $528 = HEAP32[$13>>2]|0; + $529 = ((($528)) + 8|0); + $530 = HEAP32[$529>>2]|0; + $531 = HEAP32[$42>>2]|0; + $532 = (($530) + ($531)|0); + HEAP8[$532>>0] = $527; + $533 = HEAP8[$43>>0]|0; + $534 = $533&255; + $535 = (20458 + ($534)|0); + $536 = HEAP8[$535>>0]|0; + $537 = HEAP32[$35>>2]|0; + $538 = ((($537)) + 8|0); + $539 = HEAP32[$538>>2]|0; + $540 = HEAP32[$42>>2]|0; + $541 = (($539) + ($540)|0); + HEAP8[$541>>0] = $536; + $542 = HEAP32[$42>>2]|0; + $543 = (($542) + 1)|0; + HEAP32[$42>>2] = $543; + } + } + } + } while(0); + $544 = HEAP32[$18>>2]|0; + $545 = ((($544)) + 69|0); + $546 = HEAP8[$545>>0]|0; + $547 = ($546<<24>>24)!=(0); + if (!($547)) { + $548 = HEAP32[$35>>2]|0; + $549 = ((($548)) + 8|0); + $550 = HEAP32[$549>>2]|0; + $551 = HEAP32[$35>>2]|0; + $552 = ((($551)) + 8|0); + $553 = HEAP32[$552>>2]|0; + $554 = (_sqlite3Strlen30($553)|0); + $555 = (($554) - 1)|0; + $556 = (($550) + ($555)|0); + HEAP32[$45>>2] = $556; + $557 = HEAP32[$45>>2]|0; + $558 = HEAP8[$557>>0]|0; + HEAP8[$44>>0] = $558; + $559 = HEAP32[$15>>2]|0; + $560 = ($559|0)!=(0); + if ($560) { + $561 = HEAP8[$44>>0]|0; + $562 = $561&255; + $563 = ($562|0)==(64); + if ($563) { + HEAP32[$14>>2] = 0; + } + $564 = HEAP8[$44>>0]|0; + $565 = $564&255; + $566 = (20458 + ($565)|0); + $567 = HEAP8[$566>>0]|0; + HEAP8[$44>>0] = $567; + } + $568 = HEAP8[$44>>0]|0; + $569 = $568&255; + $570 = (($569) + 1)|0; + $571 = $570&255; + $572 = HEAP32[$45>>2]|0; + HEAP8[$572>>0] = $571; + } + $573 = HEAP32[$15>>2]|0; + $574 = ($573|0)!=(0); + $575 = $574 ? 34448 : 34455; + HEAP32[$40>>2] = $575; + $576 = HEAP32[$18>>2]|0; + $577 = HEAP32[$34>>2]|0; + $578 = (_sqlite3ExprDup($576,$577,0)|0); + HEAP32[$36>>2] = $578; + $579 = HEAP32[$17>>2]|0; + $580 = HEAP32[$17>>2]|0; + $581 = HEAP32[$36>>2]|0; + $582 = HEAP32[$40>>2]|0; + $583 = (_sqlite3ExprAddCollateString($580,$581,$582)|0); + $584 = HEAP32[$13>>2]|0; + $585 = (_sqlite3PExpr($579,41,$583,$584,0)|0); + HEAP32[$36>>2] = $585; + $586 = HEAP32[$36>>2]|0; + $587 = HEAP32[$9>>2]|0; + _transferJoinMarkings($586,$587); + $588 = HEAP32[$4>>2]|0; + $589 = HEAP32[$36>>2]|0; + $590 = (_whereClauseInsert($588,$589,259)|0); + HEAP32[$38>>2] = $590; + $591 = HEAP32[$3>>2]|0; + $592 = HEAP32[$4>>2]|0; + $593 = HEAP32[$38>>2]|0; + _exprAnalyze($591,$592,$593); + $594 = HEAP32[$18>>2]|0; + $595 = HEAP32[$34>>2]|0; + $596 = (_sqlite3ExprDup($594,$595,0)|0); + HEAP32[$37>>2] = $596; + $597 = HEAP32[$17>>2]|0; + $598 = HEAP32[$17>>2]|0; + $599 = HEAP32[$37>>2]|0; + $600 = HEAP32[$40>>2]|0; + $601 = (_sqlite3ExprAddCollateString($598,$599,$600)|0); + $602 = HEAP32[$35>>2]|0; + $603 = (_sqlite3PExpr($597,40,$601,$602,0)|0); + HEAP32[$37>>2] = $603; + $604 = HEAP32[$37>>2]|0; + $605 = HEAP32[$9>>2]|0; + _transferJoinMarkings($604,$605); + $606 = HEAP32[$4>>2]|0; + $607 = HEAP32[$37>>2]|0; + $608 = (_whereClauseInsert($606,$607,259)|0); + HEAP32[$39>>2] = $608; + $609 = HEAP32[$3>>2]|0; + $610 = HEAP32[$4>>2]|0; + $611 = HEAP32[$39>>2]|0; + _exprAnalyze($609,$610,$611); + $612 = HEAP32[$4>>2]|0; + $613 = ((($612)) + 20|0); + $614 = HEAP32[$613>>2]|0; + $615 = HEAP32[$5>>2]|0; + $616 = (($614) + (($615*48)|0)|0); + HEAP32[$7>>2] = $616; + $617 = HEAP32[$14>>2]|0; + $618 = ($617|0)!=(0); + if ($618) { + $619 = HEAP32[$4>>2]|0; + $620 = HEAP32[$38>>2]|0; + $621 = HEAP32[$5>>2]|0; + _markTermAsChild($619,$620,$621); + $622 = HEAP32[$4>>2]|0; + $623 = HEAP32[$39>>2]|0; + $624 = HEAP32[$5>>2]|0; + _markTermAsChild($622,$623,$624); + } + } + } + $625 = HEAP32[$4>>2]|0; + $626 = ((($625)) + 8|0); + $627 = HEAP8[$626>>0]|0; + $628 = $627&255; + $629 = ($628|0)==(28); + if ($629) { + $630 = HEAP32[$9>>2]|0; + $631 = (_isMatchOfColumn($630,$19)|0); + $632 = ($631|0)!=(0); + if ($632) { + $633 = HEAP32[$9>>2]|0; + $634 = ((($633)) + 20|0); + $635 = HEAP32[$634>>2]|0; + $636 = ((($635)) + 4|0); + $637 = HEAP32[$636>>2]|0; + $638 = HEAP32[$637>>2]|0; + HEAP32[$47>>2] = $638; + $639 = HEAP32[$9>>2]|0; + $640 = ((($639)) + 20|0); + $641 = HEAP32[$640>>2]|0; + $642 = ((($641)) + 4|0); + $643 = HEAP32[$642>>2]|0; + $644 = ((($643)) + 20|0); + $645 = HEAP32[$644>>2]|0; + HEAP32[$48>>2] = $645; + $646 = HEAP32[$8>>2]|0; + $647 = HEAP32[$47>>2]|0; + $648 = (_sqlite3WhereExprUsage($646,$647)|0); + $649 = tempRet0; + $650 = $51; + $651 = $650; + HEAP32[$651>>2] = $648; + $652 = (($650) + 4)|0; + $653 = $652; + HEAP32[$653>>2] = $649; + $654 = HEAP32[$8>>2]|0; + $655 = HEAP32[$48>>2]|0; + $656 = (_sqlite3WhereExprUsage($654,$655)|0); + $657 = tempRet0; + $658 = $50; + $659 = $658; + HEAP32[$659>>2] = $656; + $660 = (($658) + 4)|0; + $661 = $660; + HEAP32[$661>>2] = $657; + $662 = $51; + $663 = $662; + $664 = HEAP32[$663>>2]|0; + $665 = (($662) + 4)|0; + $666 = $665; + $667 = HEAP32[$666>>2]|0; + $668 = $50; + $669 = $668; + $670 = HEAP32[$669>>2]|0; + $671 = (($668) + 4)|0; + $672 = $671; + $673 = HEAP32[$672>>2]|0; + $674 = $664 & $670; + $675 = $667 & $673; + $676 = ($674|0)==(0); + $677 = ($675|0)==(0); + $678 = $676 & $677; + if ($678) { + $679 = HEAP32[$17>>2]|0; + $680 = HEAP32[$18>>2]|0; + $681 = HEAP32[$47>>2]|0; + $682 = (_sqlite3ExprDup($680,$681,0)|0); + $683 = (_sqlite3PExpr($679,30,0,$682,0)|0); + HEAP32[$52>>2] = $683; + $684 = HEAP32[$4>>2]|0; + $685 = HEAP32[$52>>2]|0; + $686 = (_whereClauseInsert($684,$685,3)|0); + HEAP32[$46>>2] = $686; + $687 = HEAP32[$4>>2]|0; + $688 = ((($687)) + 20|0); + $689 = HEAP32[$688>>2]|0; + $690 = HEAP32[$46>>2]|0; + $691 = (($689) + (($690*48)|0)|0); + HEAP32[$49>>2] = $691; + $692 = $51; + $693 = $692; + $694 = HEAP32[$693>>2]|0; + $695 = (($692) + 4)|0; + $696 = $695; + $697 = HEAP32[$696>>2]|0; + $698 = HEAP32[$49>>2]|0; + $699 = ((($698)) + 32|0); + $700 = $699; + $701 = $700; + HEAP32[$701>>2] = $694; + $702 = (($700) + 4)|0; + $703 = $702; + HEAP32[$703>>2] = $697; + $704 = HEAP32[$48>>2]|0; + $705 = ((($704)) + 28|0); + $706 = HEAP32[$705>>2]|0; + $707 = HEAP32[$49>>2]|0; + $708 = ((($707)) + 20|0); + HEAP32[$708>>2] = $706; + $709 = HEAP32[$48>>2]|0; + $710 = ((($709)) + 32|0); + $711 = HEAP16[$710>>1]|0; + $712 = $711 << 16 >> 16; + $713 = HEAP32[$49>>2]|0; + $714 = ((($713)) + 28|0); + HEAP32[$714>>2] = $712; + $715 = HEAP32[$49>>2]|0; + $716 = ((($715)) + 12|0); + HEAP16[$716>>1] = 64; + $717 = HEAP8[$19>>0]|0; + $718 = HEAP32[$49>>2]|0; + $719 = ((($718)) + 15|0); + HEAP8[$719>>0] = $717; + $720 = HEAP32[$4>>2]|0; + $721 = HEAP32[$46>>2]|0; + $722 = HEAP32[$5>>2]|0; + _markTermAsChild($720,$721,$722); + $723 = HEAP32[$4>>2]|0; + $724 = ((($723)) + 20|0); + $725 = HEAP32[$724>>2]|0; + $726 = HEAP32[$5>>2]|0; + $727 = (($725) + (($726*48)|0)|0); + HEAP32[$7>>2] = $727; + $728 = HEAP32[$7>>2]|0; + $729 = ((($728)) + 10|0); + $730 = HEAP16[$729>>1]|0; + $731 = $730&65535; + $732 = $731 | 8; + $733 = $732&65535; + HEAP16[$729>>1] = $733; + $734 = HEAP32[$7>>2]|0; + $735 = ((($734)) + 40|0); + $736 = $735; + $737 = $736; + $738 = HEAP32[$737>>2]|0; + $739 = (($736) + 4)|0; + $740 = $739; + $741 = HEAP32[$740>>2]|0; + $742 = HEAP32[$49>>2]|0; + $743 = ((($742)) + 40|0); + $744 = $743; + $745 = $744; + HEAP32[$745>>2] = $738; + $746 = (($744) + 4)|0; + $747 = $746; + HEAP32[$747>>2] = $741; + } + } + } + $748 = HEAP32[$4>>2]|0; + $749 = ((($748)) + 8|0); + $750 = HEAP8[$749>>0]|0; + $751 = $750&255; + $752 = ($751|0)==(28); + do { + if ($752) { + $753 = HEAP32[$9>>2]|0; + $754 = HEAP8[$753>>0]|0; + $755 = $754&255; + $756 = ($755|0)==(37); + if (!($756)) { + $757 = HEAP32[$9>>2]|0; + $758 = HEAP8[$757>>0]|0; + $759 = $758&255; + $760 = ($759|0)==(29); + if (!($760)) { + break; + } + } + $761 = HEAP32[$9>>2]|0; + $762 = ((($761)) + 12|0); + $763 = HEAP32[$762>>2]|0; + $764 = (_sqlite3ExprIsVector($763)|0); + $765 = ($764|0)!=(0); + if ($765) { + $766 = HEAP32[$9>>2]|0; + $767 = ((($766)) + 12|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($768)) + 4|0); + $770 = HEAP32[$769>>2]|0; + $771 = $770 & 2048; + $772 = ($771|0)==(0); + if (!($772)) { + $773 = HEAP32[$9>>2]|0; + $774 = ((($773)) + 16|0); + $775 = HEAP32[$774>>2]|0; + $776 = ((($775)) + 4|0); + $777 = HEAP32[$776>>2]|0; + $778 = $777 & 2048; + $779 = ($778|0)==(0); + if (!($779)) { + break; } } + $780 = HEAP32[$9>>2]|0; + $781 = ((($780)) + 12|0); + $782 = HEAP32[$781>>2]|0; + $783 = (_sqlite3ExprVectorSize($782)|0); + HEAP32[$53>>2] = $783; + HEAP32[$54>>2] = 0; + while(1) { + $784 = HEAP32[$54>>2]|0; + $785 = HEAP32[$53>>2]|0; + $786 = ($784|0)<($785|0); + if (!($786)) { + break; + } + $787 = HEAP32[$17>>2]|0; + $788 = HEAP32[$9>>2]|0; + $789 = ((($788)) + 12|0); + $790 = HEAP32[$789>>2]|0; + $791 = HEAP32[$54>>2]|0; + $792 = (_sqlite3ExprForVectorField($787,$790,$791)|0); + HEAP32[$57>>2] = $792; + $793 = HEAP32[$17>>2]|0; + $794 = HEAP32[$9>>2]|0; + $795 = ((($794)) + 16|0); + $796 = HEAP32[$795>>2]|0; + $797 = HEAP32[$54>>2]|0; + $798 = (_sqlite3ExprForVectorField($793,$796,$797)|0); + HEAP32[$58>>2] = $798; + $799 = HEAP32[$17>>2]|0; + $800 = HEAP32[$9>>2]|0; + $801 = HEAP8[$800>>0]|0; + $802 = $801&255; + $803 = HEAP32[$57>>2]|0; + $804 = HEAP32[$58>>2]|0; + $805 = (_sqlite3PExpr($799,$802,$803,$804,0)|0); + HEAP32[$56>>2] = $805; + $806 = HEAP32[$56>>2]|0; + $807 = HEAP32[$9>>2]|0; + _transferJoinMarkings($806,$807); + $808 = HEAP32[$4>>2]|0; + $809 = HEAP32[$56>>2]|0; + $810 = (_whereClauseInsert($808,$809,1)|0); + HEAP32[$55>>2] = $810; + $811 = HEAP32[$3>>2]|0; + $812 = HEAP32[$4>>2]|0; + $813 = HEAP32[$55>>2]|0; + _exprAnalyze($811,$812,$813); + $814 = HEAP32[$54>>2]|0; + $815 = (($814) + 1)|0; + HEAP32[$54>>2] = $815; + } + $816 = HEAP32[$4>>2]|0; + $817 = ((($816)) + 20|0); + $818 = HEAP32[$817>>2]|0; + $819 = HEAP32[$5>>2]|0; + $820 = (($818) + (($819*48)|0)|0); + HEAP32[$7>>2] = $820; + $821 = HEAP32[$7>>2]|0; + $822 = ((($821)) + 10|0); + HEAP16[$822>>1] = 6; + $823 = HEAP32[$7>>2]|0; + $824 = ((($823)) + 12|0); + HEAP16[$824>>1] = 0; } } - } - $40 = HEAP32[$rc>>2]|0; - $41 = ($40|0)==(0); - if ($41) { - $42 = HEAP32[$0>>2]|0; - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$2>>2]|0; - $45 = ($44|0)==(0|0); - $46 = $45 ? 2 : 0; - $47 = (_btreeGetPage($42,$43,$pPage,$46)|0); - HEAP32[$rc>>2] = $47; - $48 = HEAP32[$rc>>2]|0; - $49 = ($48|0)==(0); - if ($49) { - $50 = HEAP32[$pPage>>2]|0; - $51 = ((($50)) + 56|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_sqlite3Get4byte($52)|0); - HEAP32[$next>>2] = $53; + } while(0); + $825 = HEAP32[$4>>2]|0; + $826 = ((($825)) + 8|0); + $827 = HEAP8[$826>>0]|0; + $828 = $827&255; + $829 = ($828|0)==(28); + L98: do { + if ($829) { + $830 = HEAP32[$9>>2]|0; + $831 = HEAP8[$830>>0]|0; + $832 = $831&255; + $833 = ($832|0)==(33); + if ($833) { + $834 = HEAP32[$7>>2]|0; + $835 = ((($834)) + 24|0); + $836 = HEAP32[$835>>2]|0; + $837 = ($836|0)==(0); + if ($837) { + $838 = HEAP32[$9>>2]|0; + $839 = ((($838)) + 12|0); + $840 = HEAP32[$839>>2]|0; + $841 = HEAP8[$840>>0]|0; + $842 = $841&255; + $843 = ($842|0)==(158); + if ($843) { + $844 = HEAP32[$9>>2]|0; + $845 = ((($844)) + 20|0); + $846 = HEAP32[$845>>2]|0; + $847 = ((($846)) + 48|0); + $848 = HEAP32[$847>>2]|0; + $849 = ($848|0)==(0|0); + if ($849) { + HEAP32[$59>>2] = 0; + while(1) { + $850 = HEAP32[$59>>2]|0; + $851 = HEAP32[$9>>2]|0; + $852 = ((($851)) + 12|0); + $853 = HEAP32[$852>>2]|0; + $854 = (_sqlite3ExprVectorSize($853)|0); + $855 = ($850|0)<($854|0); + if (!($855)) { + break L98; + } + $856 = HEAP32[$4>>2]|0; + $857 = HEAP32[$9>>2]|0; + $858 = (_whereClauseInsert($856,$857,2)|0); + HEAP32[$60>>2] = $858; + $859 = HEAP32[$59>>2]|0; + $860 = (($859) + 1)|0; + $861 = HEAP32[$4>>2]|0; + $862 = ((($861)) + 20|0); + $863 = HEAP32[$862>>2]|0; + $864 = HEAP32[$60>>2]|0; + $865 = (($863) + (($864*48)|0)|0); + $866 = ((($865)) + 24|0); + HEAP32[$866>>2] = $860; + $867 = HEAP32[$3>>2]|0; + $868 = HEAP32[$4>>2]|0; + $869 = HEAP32[$60>>2]|0; + _exprAnalyze($867,$868,$869); + $870 = HEAP32[$4>>2]|0; + $871 = HEAP32[$60>>2]|0; + $872 = HEAP32[$5>>2]|0; + _markTermAsChild($870,$871,$872); + $873 = HEAP32[$59>>2]|0; + $874 = (($873) + 1)|0; + HEAP32[$59>>2] = $874; + } + } + } + } + } } - } - $54 = HEAP32[$next>>2]|0; - $55 = HEAP32[$3>>2]|0; - HEAP32[$55>>2] = $54; - $56 = HEAP32[$2>>2]|0; - $57 = ($56|0)!=(0|0); - $58 = HEAP32[$pPage>>2]|0; - if ($57) { - $59 = HEAP32[$2>>2]|0; - HEAP32[$59>>2] = $58; - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)==(101); - $62 = HEAP32[$rc>>2]|0; - $63 = $61 ? 0 : $62; - STACKTOP = sp;return ($63|0); - } else { - _releasePage($58); - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)==(101); - $62 = HEAP32[$rc>>2]|0; - $63 = $61 ? 0 : $62; - STACKTOP = sp;return ($63|0); - } - return (0)|0; + } while(0); + $875 = $12; + $876 = $875; + $877 = HEAP32[$876>>2]|0; + $878 = (($875) + 4)|0; + $879 = $878; + $880 = HEAP32[$879>>2]|0; + $881 = HEAP32[$7>>2]|0; + $882 = ((($881)) + 32|0); + $883 = $882; + $884 = $883; + $885 = HEAP32[$884>>2]|0; + $886 = (($883) + 4)|0; + $887 = $886; + $888 = HEAP32[$887>>2]|0; + $889 = $885 | $877; + $890 = $888 | $880; + $891 = $882; + $892 = $891; + HEAP32[$892>>2] = $889; + $893 = (($891) + 4)|0; + $894 = $893; + HEAP32[$894>>2] = $890; + STACKTOP = sp;return; } -function _ptrmapPageno($pBt,$pgno) { - $pBt = $pBt|0; - $pgno = $pgno|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iPtrMap = 0, $nPagesPerMapPage = 0, $ret = 0, label = 0, sp = 0; +function _allowedOp($0) { + $0 = $0|0; + var $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, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $nPagesPerMapPage = sp + 8|0; - $iPtrMap = sp + 4|0; - $ret = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$2>>2] = $pgno; - $3 = HEAP32[$2>>2]|0; - $4 = ($3>>>0)<(2); - if ($4) { - HEAP32[$0>>2] = 0; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); - } - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7>>>0) / 5)&-1; - $9 = (($8) + 1)|0; - HEAP32[$nPagesPerMapPage>>2] = $9; - $10 = HEAP32[$2>>2]|0; - $11 = (($10) - 2)|0; - $12 = HEAP32[$nPagesPerMapPage>>2]|0; - $13 = (($11>>>0) / ($12>>>0))&-1; - HEAP32[$iPtrMap>>2] = $13; - $14 = HEAP32[$iPtrMap>>2]|0; - $15 = HEAP32[$nPagesPerMapPage>>2]|0; - $16 = Math_imul($14, $15)|0; - $17 = (($16) + 2)|0; - HEAP32[$ret>>2] = $17; - $18 = HEAP32[$ret>>2]|0; - $19 = HEAP32[1536>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 32|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($19>>>0) / ($22>>>0))&-1; - $24 = (($23) + 1)|0; - $25 = ($18|0)==($24|0); - if ($25) { - $26 = HEAP32[$ret>>2]|0; - $27 = (($26) + 1)|0; - HEAP32[$ret>>2] = $27; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(33); + if ($3) { + $13 = 1; + } else { + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)>=(37); + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)<=(41); + $or$cond = $5 & $7; + $8 = HEAP32[$1>>2]|0; + $9 = ($8|0)==(34); + $or$cond3 = $or$cond | $9; + if ($or$cond3) { + $13 = 1; + } else { + $10 = HEAP32[$1>>2]|0; + $11 = ($10|0)==(29); + $13 = $11; + } } - $28 = HEAP32[$ret>>2]|0; - HEAP32[$0>>2] = $28; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); + $12 = $13&1; + STACKTOP = sp;return ($12|0); } -function _ptrmapGet($pBt,$key,$pEType,$pPgno) { - $pBt = $pBt|0; - $key = $key|0; - $pEType = $pEType|0; - $pPgno = $pPgno|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $iPtrmap = 0, $offset = 0, $pDbPage = 0, $pPtrmap = 0, $rc = 0, label = 0, sp = 0; +function _exprMightBeIndexed($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $pDbPage = sp + 16|0; - $iPtrmap = sp + 12|0; - $pPtrmap = sp + 8|0; - $offset = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$2>>2] = $key; - HEAP32[$3>>2] = $pEType; - HEAP32[$4>>2] = $pPgno; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = (_ptrmapPageno($5,$6)|0); - HEAP32[$iPtrmap>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$iPtrmap>>2]|0; - $11 = (_sqlite3PagerGet($9,$10,$pDbPage,0)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $14; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + $17 = $10; + $18 = $17; + HEAP32[$18>>2] = $2; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + $21 = HEAP32[$11>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)==(158); + $25 = HEAP32[$9>>2]|0; + $26 = ($25|0)>=(38); + $or$cond = $24 & $26; + $27 = HEAP32[$9>>2]|0; + $28 = ($27|0)<=(41); + $or$cond3 = $or$cond & $28; + if ($or$cond3) { + $29 = HEAP32[$11>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$33>>2]|0; + HEAP32[$11>>2] = $34; } - $15 = HEAP32[$pDbPage>>2]|0; - $16 = (_sqlite3PagerGetData($15)|0); - HEAP32[$pPtrmap>>2] = $16; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$iPtrmap>>2]|0; - $19 = (($17) - ($18))|0; - $20 = (($19) - 1)|0; - $21 = ($20*5)|0; - HEAP32[$offset>>2] = $21; - $22 = HEAP32[$offset>>2]|0; - $23 = ($22|0)<(0); - if ($23) { - $24 = HEAP32[$pDbPage>>2]|0; - _sqlite3PagerUnref($24); - $25 = (_sqlite3CorruptError(59240)|0); - HEAP32[$0>>2] = $25; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); + $35 = HEAP32[$11>>2]|0; + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = ($37|0)==(152); + if ($38) { + $39 = HEAP32[$11>>2]|0; + $40 = ((($39)) + 28|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$12>>2]|0; + HEAP32[$42>>2] = $41; + $43 = HEAP32[$11>>2]|0; + $44 = ((($43)) + 32|0); + $45 = HEAP16[$44>>1]|0; + $46 = $45 << 16 >> 16; + $47 = HEAP32[$13>>2]|0; + HEAP32[$47>>2] = $46; + HEAP32[$7>>2] = 1; + $155 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($155|0); } - $26 = HEAP32[$offset>>2]|0; - $27 = HEAP32[$pPtrmap>>2]|0; - $28 = (($27) + ($26)|0); - $29 = HEAP8[$28>>0]|0; - $30 = HEAP32[$3>>2]|0; - HEAP8[$30>>0] = $29; - $31 = HEAP32[$4>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { - $33 = HEAP32[$offset>>2]|0; - $34 = (($33) + 1)|0; - $35 = HEAP32[$pPtrmap>>2]|0; - $36 = (($35) + ($34)|0); - $37 = (_sqlite3Get4byte($36)|0); - $38 = HEAP32[$4>>2]|0; - HEAP32[$38>>2] = $37; + $48 = $10; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = ($50|0)==(0); + $55 = ($53|0)==(0); + $56 = $54 & $55; + if ($56) { + HEAP32[$7>>2] = 0; + $155 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($155|0); } - $39 = HEAP32[$pDbPage>>2]|0; - _sqlite3PagerUnref($39); - $40 = HEAP32[$3>>2]|0; - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = ($42|0)<(1); - if (!($43)) { - $44 = HEAP32[$3>>2]|0; - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $47 = ($46|0)>(5); - if (!($47)) { - HEAP32[$0>>2] = 0; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); + $57 = $10; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = $10; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (($63) + 4)|0; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (_i64Subtract(($65|0),($68|0),1,0)|0); + $70 = tempRet0; + $71 = $59 & $69; + $72 = $62 & $70; + $73 = ($71|0)!=(0); + $74 = ($72|0)!=(0); + $75 = $73 | $74; + if ($75) { + HEAP32[$7>>2] = 0; + $155 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($155|0); + } + HEAP32[$15>>2] = 0; + while(1) { + $76 = $10; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = ($81>>>0)>(0); + $83 = ($78>>>0)>(1); + $84 = ($81|0)==(0); + $85 = $84 & $83; + $86 = $82 | $85; + if (!($86)) { + break; } + $87 = HEAP32[$15>>2]|0; + $88 = (($87) + 1)|0; + HEAP32[$15>>2] = $88; + $89 = $10; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (_bitshift64Lshr(($91|0),($94|0),1)|0); + $96 = tempRet0; + $97 = $10; + $98 = $97; + HEAP32[$98>>2] = $95; + $99 = (($97) + 4)|0; + $100 = $99; + HEAP32[$100>>2] = $96; } - $48 = (_sqlite3CorruptError(59248)|0); - HEAP32[$0>>2] = $48; - $49 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($49|0); + $101 = HEAP32[$8>>2]|0; + $102 = ((($101)) + 8|0); + $103 = HEAP32[$15>>2]|0; + $104 = (($102) + (($103*72)|0)|0); + $105 = ((($104)) + 44|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$16>>2] = $106; + $107 = HEAP32[$8>>2]|0; + $108 = ((($107)) + 8|0); + $109 = HEAP32[$15>>2]|0; + $110 = (($108) + (($109*72)|0)|0); + $111 = ((($110)) + 16|0); + $112 = HEAP32[$111>>2]|0; + $113 = ((($112)) + 8|0); + $114 = HEAP32[$113>>2]|0; + HEAP32[$14>>2] = $114; + L20: while(1) { + $115 = HEAP32[$14>>2]|0; + $116 = ($115|0)!=(0|0); + if (!($116)) { + label = 22; + break; + } + $117 = HEAP32[$14>>2]|0; + $118 = ((($117)) + 40|0); + $119 = HEAP32[$118>>2]|0; + $120 = ($119|0)==(0|0); + L23: do { + if (!($120)) { + HEAP32[$15>>2] = 0; + while(1) { + $121 = HEAP32[$15>>2]|0; + $122 = HEAP32[$14>>2]|0; + $123 = ((($122)) + 50|0); + $124 = HEAP16[$123>>1]|0; + $125 = $124&65535; + $126 = ($121|0)<($125|0); + if (!($126)) { + break L23; + } + $127 = HEAP32[$14>>2]|0; + $128 = ((($127)) + 4|0); + $129 = HEAP32[$128>>2]|0; + $130 = HEAP32[$15>>2]|0; + $131 = (($129) + ($130<<1)|0); + $132 = HEAP16[$131>>1]|0; + $133 = $132 << 16 >> 16; + $134 = ($133|0)!=(-2); + if (!($134)) { + $135 = HEAP32[$11>>2]|0; + $136 = HEAP32[$14>>2]|0; + $137 = ((($136)) + 40|0); + $138 = HEAP32[$137>>2]|0; + $139 = ((($138)) + 4|0); + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$15>>2]|0; + $142 = (($140) + (($141*20)|0)|0); + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$16>>2]|0; + $145 = (_sqlite3ExprCompare($135,$143,$144)|0); + $146 = ($145|0)==(0); + if ($146) { + label = 19; + break L20; + } + } + $150 = HEAP32[$15>>2]|0; + $151 = (($150) + 1)|0; + HEAP32[$15>>2] = $151; + } + } + } while(0); + $152 = HEAP32[$14>>2]|0; + $153 = ((($152)) + 20|0); + $154 = HEAP32[$153>>2]|0; + HEAP32[$14>>2] = $154; + } + if ((label|0) == 19) { + $147 = HEAP32[$16>>2]|0; + $148 = HEAP32[$12>>2]|0; + HEAP32[$148>>2] = $147; + $149 = HEAP32[$13>>2]|0; + HEAP32[$149>>2] = -2; + HEAP32[$7>>2] = 1; + $155 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($155|0); + } + else if ((label|0) == 22) { + HEAP32[$7>>2] = 0; + $155 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($155|0); + } + return (0)|0; } -function _btreeGetPage($pBt,$pgno,$ppPage,$flags) { - $pBt = $pBt|0; - $pgno = $pgno|0; - $ppPage = $ppPage|0; - $flags = $flags|0; - var $0 = 0, $1 = 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, $pDbPage = 0; - var $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $rc = sp + 4|0; - $pDbPage = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $ppPage; - HEAP32[$4>>2] = $flags; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$4>>2]|0; - $9 = (_sqlite3PagerGet($6,$7,$pDbPage,$8)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)!=(0); - if ($11) { - $12 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $12; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } else { - $13 = HEAP32[$pDbPage>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = (_btreePageFromDbPage($13,$14,$15)|0); - $17 = HEAP32[$3>>2]|0; - HEAP32[$17>>2] = $16; - HEAP32[$0>>2] = 0; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } - return (0)|0; -} -function _btreeParseCell($pPage,$iCell,$pInfo) { - $pPage = $pPage|0; - $iCell = $iCell|0; - $pInfo = $pInfo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, label = 0, sp = 0; +function _operatorMask($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $iCell; - HEAP32[$2>>2] = $pInfo; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 80|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 56|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 20|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = HEAP32[$1>>2]|0; - $15 = $14<<1; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 64|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($15)|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = $21 << 8; - $23 = HEAP32[$1>>2]|0; - $24 = $23<<1; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 64|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + ($24)|0); - $29 = ((($28)) + 1|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = $22 | $31; - $33 = $13 & $32; - $34 = (($9) + ($33)|0); - $35 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_viii[$5 & 255]($6,$34,$35); - STACKTOP = sp;return; -} -function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { - $nKey1 = $nKey1|0; - $pKey1 = $pKey1|0; - $pPKey2 = $pPKey2|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aKey = 0, $lhs = 0, $res = 0, $serial_type = 0, $v = 0, $x = 0, $y = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $aKey = sp + 36|0; - $serial_type = sp + 32|0; - $res = sp + 28|0; - $y = sp + 24|0; - $x = sp + 16|0; - $v = sp + 8|0; - $lhs = sp; - HEAP32[$1>>2] = $nKey1; - HEAP32[$2>>2] = $pKey1; - HEAP32[$3>>2] = $pPKey2; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = $6 & 63; - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + ($7)|0); - HEAP32[$aKey>>2] = $9; - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - HEAP32[$serial_type>>2] = $13; - $14 = HEAP32[$serial_type>>2]|0; - do { - switch ($14|0) { - case 1: { - $15 = HEAP32[$aKey>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16 << 24 >> 24; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = $lhs; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - break; - } - case 2: { - $24 = HEAP32[$aKey>>2]|0; - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = $26<<8; - $28 = HEAP32[$aKey>>2]|0; - $29 = ((($28)) + 1|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = $27 | $31; - $33 = ($32|0)<(0); - $34 = $33 << 31 >> 31; - $35 = $lhs; - $36 = $35; - HEAP32[$36>>2] = $32; - $37 = (($35) + 4)|0; - $38 = $37; - HEAP32[$38>>2] = $34; - break; - } - case 3: { - $39 = HEAP32[$aKey>>2]|0; - $40 = HEAP8[$39>>0]|0; - $41 = $40 << 24 >> 24; - $42 = $41<<16; - $43 = HEAP32[$aKey>>2]|0; - $44 = ((($43)) + 1|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $47 = $46 << 8; - $48 = $42 | $47; - $49 = HEAP32[$aKey>>2]|0; - $50 = ((($49)) + 2|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = $48 | $52; - $54 = ($53|0)<(0); - $55 = $54 << 31 >> 31; - $56 = $lhs; - $57 = $56; - HEAP32[$57>>2] = $53; - $58 = (($56) + 4)|0; - $59 = $58; - HEAP32[$59>>2] = $55; - break; - } - case 4: { - $60 = HEAP32[$aKey>>2]|0; - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = $62 << 24; - $64 = HEAP32[$aKey>>2]|0; - $65 = ((($64)) + 1|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = $67 << 16; - $69 = $63 | $68; - $70 = HEAP32[$aKey>>2]|0; - $71 = ((($70)) + 2|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = $73 << 8; - $75 = $69 | $74; - $76 = HEAP32[$aKey>>2]|0; - $77 = ((($76)) + 3|0); - $78 = HEAP8[$77>>0]|0; - $79 = $78&255; - $80 = $75 | $79; - HEAP32[$y>>2] = $80; - $81 = HEAP32[$y>>2]|0; - $82 = ($81|0)<(0); - $83 = $82 << 31 >> 31; - $84 = $lhs; - $85 = $84; - HEAP32[$85>>2] = $81; - $86 = (($84) + 4)|0; - $87 = $86; - HEAP32[$87>>2] = $83; - break; - } - case 5: { - $88 = HEAP32[$aKey>>2]|0; - $89 = ((($88)) + 2|0); - $90 = HEAP8[$89>>0]|0; - $91 = $90&255; - $92 = $91 << 24; - $93 = HEAP32[$aKey>>2]|0; - $94 = ((($93)) + 2|0); - $95 = ((($94)) + 1|0); - $96 = HEAP8[$95>>0]|0; - $97 = $96&255; - $98 = $97 << 16; - $99 = $92 | $98; - $100 = HEAP32[$aKey>>2]|0; - $101 = ((($100)) + 2|0); - $102 = ((($101)) + 2|0); - $103 = HEAP8[$102>>0]|0; - $104 = $103&255; - $105 = $104 << 8; - $106 = $99 | $105; - $107 = HEAP32[$aKey>>2]|0; - $108 = ((($107)) + 2|0); - $109 = ((($108)) + 3|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110&255; - $112 = $106 | $111; - $113 = HEAP32[$aKey>>2]|0; - $114 = HEAP8[$113>>0]|0; - $115 = $114 << 24 >> 24; - $116 = $115<<8; - $117 = HEAP32[$aKey>>2]|0; - $118 = ((($117)) + 1|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119&255; - $121 = $116 | $120; - $122 = ($121|0)<(0); - $123 = $122 << 31 >> 31; - $124 = (___muldi3(0,1,($121|0),($123|0))|0); - $125 = tempRet0; - $126 = (_i64Add(($112|0),0,($124|0),($125|0))|0); - $127 = tempRet0; - $128 = $lhs; - $129 = $128; - HEAP32[$129>>2] = $126; - $130 = (($128) + 4)|0; - $131 = $130; - HEAP32[$131>>2] = $127; - break; - } - case 6: { - $132 = HEAP32[$aKey>>2]|0; - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = $134 << 24; - $136 = HEAP32[$aKey>>2]|0; - $137 = ((($136)) + 1|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $140 = $139 << 16; - $141 = $135 | $140; - $142 = HEAP32[$aKey>>2]|0; - $143 = ((($142)) + 2|0); - $144 = HEAP8[$143>>0]|0; - $145 = $144&255; - $146 = $145 << 8; - $147 = $141 | $146; - $148 = HEAP32[$aKey>>2]|0; - $149 = ((($148)) + 3|0); - $150 = HEAP8[$149>>0]|0; - $151 = $150&255; - $152 = $147 | $151; - $153 = $x; - $154 = $153; - HEAP32[$154>>2] = $152; - $155 = (($153) + 4)|0; - $156 = $155; - HEAP32[$156>>2] = 0; - $157 = $x; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = HEAP32[$aKey>>2]|0; - $164 = ((($163)) + 4|0); - $165 = HEAP8[$164>>0]|0; - $166 = $165&255; - $167 = $166 << 24; - $168 = HEAP32[$aKey>>2]|0; - $169 = ((($168)) + 4|0); - $170 = ((($169)) + 1|0); - $171 = HEAP8[$170>>0]|0; - $172 = $171&255; - $173 = $172 << 16; - $174 = $167 | $173; - $175 = HEAP32[$aKey>>2]|0; - $176 = ((($175)) + 4|0); - $177 = ((($176)) + 2|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $180 = $179 << 8; - $181 = $174 | $180; - $182 = HEAP32[$aKey>>2]|0; - $183 = ((($182)) + 4|0); - $184 = ((($183)) + 3|0); - $185 = HEAP8[$184>>0]|0; - $186 = $185&255; - $187 = $181 | $186; - $188 = $x; - $189 = $188; - HEAP32[$189>>2] = $187; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $159; - $192 = $x; - $193 = $192; - $194 = HEAP32[$193>>2]|0; - $195 = (($192) + 4)|0; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = $lhs; - $199 = $198; - HEAP32[$199>>2] = $194; - $200 = (($198) + 4)|0; - $201 = $200; - HEAP32[$201>>2] = $197; - break; - } - case 8: { - $202 = $lhs; - $203 = $202; - HEAP32[$203>>2] = 0; - $204 = (($202) + 4)|0; - $205 = $204; - HEAP32[$205>>2] = 0; - break; - } - case 9: { - $206 = $lhs; - $207 = $206; - HEAP32[$207>>2] = 1; - $208 = (($206) + 4)|0; - $209 = $208; - HEAP32[$209>>2] = 0; - break; - } - case 7: case 0: { - $210 = HEAP32[$1>>2]|0; - $211 = HEAP32[$2>>2]|0; - $212 = HEAP32[$3>>2]|0; - $213 = (_sqlite3VdbeRecordCompare($210,$211,$212)|0); - HEAP32[$0>>2] = $213; - $288 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($288|0); - break; - } - default: { - $214 = HEAP32[$1>>2]|0; - $215 = HEAP32[$2>>2]|0; - $216 = HEAP32[$3>>2]|0; - $217 = (_sqlite3VdbeRecordCompare($214,$215,$216)|0); - HEAP32[$0>>2] = $217; - $288 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($288|0); - } - } - } while(0); - $218 = HEAP32[$3>>2]|0; - $219 = ((($218)) + 4|0); - $220 = HEAP32[$219>>2]|0; - $221 = $220; - $222 = $221; - $223 = HEAP32[$222>>2]|0; - $224 = (($221) + 4)|0; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = $v; - $228 = $227; - HEAP32[$228>>2] = $223; - $229 = (($227) + 4)|0; - $230 = $229; - HEAP32[$230>>2] = $226; - $231 = $v; - $232 = $231; - $233 = HEAP32[$232>>2]|0; - $234 = (($231) + 4)|0; - $235 = $234; - $236 = HEAP32[$235>>2]|0; - $237 = $lhs; - $238 = $237; - $239 = HEAP32[$238>>2]|0; - $240 = (($237) + 4)|0; - $241 = $240; - $242 = HEAP32[$241>>2]|0; - $243 = ($236|0)>($242|0); - $244 = ($233>>>0)>($239>>>0); - $245 = ($236|0)==($242|0); - $246 = $245 & $244; - $247 = $243 | $246; + $1 = sp; + $2 = sp + 4|0; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(33); do { - if ($247) { - $248 = HEAP32[$3>>2]|0; - $249 = ((($248)) + 12|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250 << 24 >> 24; - HEAP32[$res>>2] = $251; + if ($4) { + HEAP16[$2>>1] = 1; } else { - $252 = $v; - $253 = $252; - $254 = HEAP32[$253>>2]|0; - $255 = (($252) + 4)|0; - $256 = $255; - $257 = HEAP32[$256>>2]|0; - $258 = $lhs; - $259 = $258; - $260 = HEAP32[$259>>2]|0; - $261 = (($258) + 4)|0; - $262 = $261; - $263 = HEAP32[$262>>2]|0; - $264 = ($257|0)<($263|0); - $265 = ($254>>>0)<($260>>>0); - $266 = ($257|0)==($263|0); - $267 = $266 & $265; - $268 = $264 | $267; - $269 = HEAP32[$3>>2]|0; - if ($268) { - $270 = ((($269)) + 13|0); - $271 = HEAP8[$270>>0]|0; - $272 = $271 << 24 >> 24; - HEAP32[$res>>2] = $272; + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)==(34); + if ($6) { + HEAP16[$2>>1] = 256; break; } - $273 = ((($269)) + 8|0); - $274 = HEAP16[$273>>1]|0; - $275 = $274&65535; - $276 = ($275|0)>(1); - if ($276) { - $277 = HEAP32[$1>>2]|0; - $278 = HEAP32[$2>>2]|0; - $279 = HEAP32[$3>>2]|0; - $280 = (_sqlite3VdbeRecordCompareWithSkip($277,$278,$279,1)|0); - HEAP32[$res>>2] = $280; + $7 = HEAP32[$1>>2]|0; + $8 = ($7|0)==(29); + if ($8) { + HEAP16[$2>>1] = 128; break; } else { - $281 = HEAP32[$3>>2]|0; - $282 = ((($281)) + 10|0); - $283 = HEAP8[$282>>0]|0; - $284 = $283 << 24 >> 24; - HEAP32[$res>>2] = $284; - $285 = HEAP32[$3>>2]|0; - $286 = ((($285)) + 14|0); - HEAP8[$286>>0] = 1; + $9 = HEAP32[$1>>2]|0; + $10 = (($9) - 37)|0; + $11 = 2 << $10; + $12 = $11&65535; + HEAP16[$2>>1] = $12; break; } } } while(0); - $287 = HEAP32[$res>>2]|0; - HEAP32[$0>>2] = $287; - $288 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($288|0); -} -function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { - $nKey1 = $nKey1|0; - $pKey1 = $pKey1|0; - $pPKey2 = $pPKey2|0; - var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aKey1 = 0, $nCmp = 0, $nStr = 0, $res = 0, $serial_type = 0, $szHdr = 0, label = 0, sp = 0; + $13 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($13|0); +} +function _whereClauseInsert($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $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, $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, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; + STACKTOP = STACKTOP + 32|0; $3 = sp + 24|0; - $aKey1 = sp + 20|0; - $serial_type = sp + 16|0; - $res = sp + 12|0; - $nCmp = sp + 8|0; - $nStr = sp + 4|0; - $szHdr = sp; - HEAP32[$1>>2] = $nKey1; - HEAP32[$2>>2] = $pKey1; - HEAP32[$3>>2] = $pPKey2; - $4 = HEAP32[$2>>2]|0; - HEAP32[$aKey1>>2] = $4; - $5 = HEAP32[$aKey1>>2]|0; - $6 = ((($5)) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)<(128); - $10 = HEAP32[$aKey1>>2]|0; - $11 = ((($10)) + 1|0); - if ($9) { - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - HEAP32[$serial_type>>2] = $13; - } else { - (_sqlite3GetVarint32($11,$serial_type)|0); - } - $14 = HEAP32[$serial_type>>2]|0; - $15 = ($14|0)<(12); + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 28|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP16[$6>>1] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($13|0)>=($16|0); do { - if ($15) { - $16 = HEAP32[$3>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18 << 24 >> 24; - HEAP32[$res>>2] = $19; - } else { - $20 = HEAP32[$serial_type>>2]|0; - $21 = $20 & 1; - $22 = ($21|0)!=(0); - if (!($22)) { - $23 = HEAP32[$3>>2]|0; - $24 = ((($23)) + 13|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - HEAP32[$res>>2] = $26; - break; - } - $27 = HEAP32[$aKey1>>2]|0; - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - HEAP32[$szHdr>>2] = $29; - $30 = HEAP32[$serial_type>>2]|0; - $31 = (($30) - 12)|0; - $32 = (($31|0) / 2)&-1; - HEAP32[$nStr>>2] = $32; - $33 = HEAP32[$szHdr>>2]|0; - $34 = HEAP32[$nStr>>2]|0; - $35 = (($33) + ($34))|0; - $36 = HEAP32[$1>>2]|0; - $37 = ($35|0)>($36|0); - if ($37) { - $38 = (_sqlite3CorruptError(74742)|0); - $39 = $38&255; - $40 = HEAP32[$3>>2]|0; - $41 = ((($40)) + 11|0); - HEAP8[$41>>0] = $39; - HEAP32[$0>>2] = 0; - $111 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($111|0); - } - $42 = HEAP32[$3>>2]|0; - $43 = ((($42)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$nStr>>2]|0; - $48 = ($46|0)<($47|0); - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = ((($49)) + 4|0); - $51 = HEAP32[$50>>2]|0; + if ($17) { + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 20|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$9>>2] = $20; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$23>>2]|0; + HEAP32[$10>>2] = $24; + $25 = HEAP32[$10>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28*48)|0; + $30 = $29<<1; + $31 = (_sqlite3DbMallocRawNN($25,$30,0)|0); + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 20|0); + HEAP32[$33>>2] = $31; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 20|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0|0); + if (!($37)) { + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 20|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$9>>2]|0; + $51 = HEAP32[$4>>2]|0; $52 = ((($51)) + 12|0); $53 = HEAP32[$52>>2]|0; - $55 = $53; - } else { - $54 = HEAP32[$nStr>>2]|0; - $55 = $54; - } - HEAP32[$nCmp>>2] = $55; - $56 = HEAP32[$szHdr>>2]|0; - $57 = HEAP32[$aKey1>>2]|0; - $58 = (($57) + ($56)|0); - $59 = HEAP32[$3>>2]|0; - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = ((($61)) + 16|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$nCmp>>2]|0; - $65 = (_memcmp($58,$63,$64)|0); - HEAP32[$res>>2] = $65; - $66 = HEAP32[$res>>2]|0; - $67 = ($66|0)==(0); - if (!($67)) { - $101 = HEAP32[$res>>2]|0; - $102 = ($101|0)>(0); - $103 = HEAP32[$3>>2]|0; - if ($102) { - $104 = ((($103)) + 13|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105 << 24 >> 24; - HEAP32[$res>>2] = $106; - break; - } else { - $107 = ((($103)) + 12|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108 << 24 >> 24; - HEAP32[$res>>2] = $109; - break; + $54 = ($53*48)|0; + _memcpy(($49|0),($50|0),($54|0))|0; + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$4>>2]|0; + $57 = ((($56)) + 24|0); + $58 = ($55|0)!=($57|0); + if ($58) { + $59 = HEAP32[$10>>2]|0; + $60 = HEAP32[$9>>2]|0; + _sqlite3DbFree($59,$60); } + $61 = HEAP32[$10>>2]|0; + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 20|0); + $64 = HEAP32[$63>>2]|0; + $65 = (_sqlite3DbMallocSize($61,$64)|0); + $66 = (($65>>>0) / 48)&-1; + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 16|0); + HEAP32[$68>>2] = $66; + break; } - $68 = HEAP32[$nStr>>2]|0; - $69 = HEAP32[$3>>2]|0; - $70 = ((($69)) + 4|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 12|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($68) - ($73))|0; - HEAP32[$res>>2] = $74; - $75 = HEAP32[$res>>2]|0; - $76 = ($75|0)==(0); - if ($76) { - $77 = HEAP32[$3>>2]|0; - $78 = ((($77)) + 8|0); - $79 = HEAP16[$78>>1]|0; - $80 = $79&65535; - $81 = ($80|0)>(1); - if ($81) { - $82 = HEAP32[$1>>2]|0; - $83 = HEAP32[$2>>2]|0; - $84 = HEAP32[$3>>2]|0; - $85 = (_sqlite3VdbeRecordCompareWithSkip($82,$83,$84,1)|0); - HEAP32[$res>>2] = $85; - break; - } else { - $86 = HEAP32[$3>>2]|0; - $87 = ((($86)) + 10|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88 << 24 >> 24; - HEAP32[$res>>2] = $89; - $90 = HEAP32[$3>>2]|0; - $91 = ((($90)) + 14|0); - HEAP8[$91>>0] = 1; - break; - } - } else { - $92 = HEAP32[$res>>2]|0; - $93 = ($92|0)>(0); - $94 = HEAP32[$3>>2]|0; - if ($93) { - $95 = ((($94)) + 13|0); - $96 = HEAP8[$95>>0]|0; - $97 = $96 << 24 >> 24; - HEAP32[$res>>2] = $97; - break; - } else { - $98 = ((($94)) + 12|0); - $99 = HEAP8[$98>>0]|0; - $100 = $99 << 24 >> 24; - HEAP32[$res>>2] = $100; - break; - } + $38 = HEAP16[$6>>1]|0; + $39 = $38&65535; + $40 = $39 & 1; + $41 = ($40|0)!=(0); + if ($41) { + $42 = HEAP32[$10>>2]|0; + $43 = HEAP32[$5>>2]|0; + _sqlite3ExprDelete($42,$43); } + $44 = HEAP32[$9>>2]|0; + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 20|0); + HEAP32[$46>>2] = $44; + HEAP32[$3>>2] = 0; + $110 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($110|0); } } while(0); - $110 = HEAP32[$res>>2]|0; - HEAP32[$0>>2] = $110; - $111 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($111|0); + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$4>>2]|0; + $73 = ((($72)) + 12|0); + $74 = HEAP32[$73>>2]|0; + $75 = (($74) + 1)|0; + HEAP32[$73>>2] = $75; + HEAP32[$8>>2] = $74; + $76 = (($71) + (($74*48)|0)|0); + HEAP32[$7>>2] = $76; + $77 = HEAP32[$5>>2]|0; + $78 = ($77|0)!=(0|0); + if ($78) { + $79 = HEAP32[$5>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = $81 & 262144; + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$5>>2]|0; + $85 = ((($84)) + 28|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)<(0); + $88 = $87 << 31 >> 31; + $89 = (_sqlite3LogEst($86,$88)|0); + $90 = $89 << 16 >> 16; + $91 = (($90) - 270)|0; + $92 = $91&65535; + $93 = HEAP32[$7>>2]|0; + $$sink = $92;$$sink2 = $93; + } else { + label = 12; + } + } else { + label = 12; + } + if ((label|0) == 12) { + $94 = HEAP32[$7>>2]|0; + $$sink = 1;$$sink2 = $94; + } + $95 = ((($$sink2)) + 8|0); + HEAP16[$95>>1] = $$sink; + $96 = HEAP32[$5>>2]|0; + $97 = (_sqlite3ExprSkipCollate($96)|0); + $98 = HEAP32[$7>>2]|0; + HEAP32[$98>>2] = $97; + $99 = HEAP16[$6>>1]|0; + $100 = HEAP32[$7>>2]|0; + $101 = ((($100)) + 10|0); + HEAP16[$101>>1] = $99; + $102 = HEAP32[$4>>2]|0; + $103 = HEAP32[$7>>2]|0; + $104 = ((($103)) + 4|0); + HEAP32[$104>>2] = $102; + $105 = HEAP32[$7>>2]|0; + $106 = ((($105)) + 16|0); + HEAP32[$106>>2] = -1; + $107 = HEAP32[$7>>2]|0; + $108 = ((($107)) + 12|0); + dest=$108; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $109 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $109; + $110 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($110|0); } -function _sqlite3VdbeRecordCompare($nKey1,$pKey1,$pPKey2) { - $nKey1 = $nKey1|0; - $pKey1 = $pKey1|0; - $pPKey2 = $pPKey2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _markTermAsChild($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $nKey1; - HEAP32[$1>>2] = $pKey1; - HEAP32[$2>>2] = $pPKey2; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3VdbeRecordCompareWithSkip($3,$4,$5,0)|0); - STACKTOP = sp;return ($6|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = (($9) + (($10*48)|0)|0); + $12 = ((($11)) + 16|0); + HEAP32[$12>>2] = $6; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = (($15) + (($16*48)|0)|0); + $18 = ((($17)) + 8|0); + $19 = HEAP16[$18>>1]|0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = (($22) + (($23*48)|0)|0); + $25 = ((($24)) + 8|0); + HEAP16[$25>>1] = $19; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = (($28) + (($29*48)|0)|0); + $31 = ((($30)) + 14|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($32) + 1)<<24>>24; + HEAP8[$31>>0] = $33; + STACKTOP = sp;return; } -function _sqlite3VdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { - $nKey1 = $nKey1|0; - $pKey1 = $pKey1|0; - $pPKey2 = $pPKey2|0; - $bSkip = $bSkip|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0.0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $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.0, $85 = 0, $86 = 0, $87 = 0, $88 = 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, $aKey1 = 0, $d1 = 0, $i = 0, $idx1 = 0, $lhs = 0, $mem1 = 0, $nCmp = 0, $nCmp1 = 0; - var $nStr = 0, $pKeyInfo = 0, $pRhs = 0, $rc = 0, $rhs = 0, $s1 = 0, $serial_type = 0, $szHdr1 = 0, label = 0, sp = 0; +function _termIsEquivalence($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 124|0; - $1 = sp + 120|0; - $2 = sp + 116|0; - $3 = sp + 112|0; - $4 = sp + 108|0; - $d1 = sp + 104|0; - $i = sp + 100|0; - $szHdr1 = sp + 96|0; - $idx1 = sp + 92|0; - $rc = sp + 88|0; - $pRhs = sp + 84|0; - $pKeyInfo = sp + 80|0; - $aKey1 = sp + 76|0; - $mem1 = sp + 16|0; - $s1 = sp + 72|0; - $serial_type = sp + 68|0; - $lhs = sp + 8|0; - $rhs = sp; - $nCmp = sp + 64|0; - $nStr = sp + 60|0; - $nCmp1 = sp + 56|0; - HEAP32[$1>>2] = $nKey1; - HEAP32[$2>>2] = $pKey1; - HEAP32[$3>>2] = $pPKey2; - HEAP32[$4>>2] = $bSkip; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$3>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pRhs>>2] = $7; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$pKeyInfo>>2] = $9; - $10 = HEAP32[$2>>2]|0; - HEAP32[$aKey1>>2] = $10; - $11 = HEAP32[$4>>2]|0; - $12 = ($11|0)!=(0); - $13 = HEAP32[$aKey1>>2]|0; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 25|0; + $6 = sp + 24|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 64|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = $14 & 512; + $16 = ($15|0)==(0); + if (!($16)) { + HEAP32[$2>>2] = 0; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); + } + $17 = HEAP32[$4>>2]|0; + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)!=(37); + if ($20) { + $21 = HEAP32[$4>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)!=(29); + if ($24) { + HEAP32[$2>>2] = 0; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); + } + } + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = $27 & 1; + $29 = ($28|0)!=(0); + if ($29) { + HEAP32[$2>>2] = 0; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); + } + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = (_sqlite3ExprAffinity($32)|0); + HEAP8[$5>>0] = $33; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 16|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_sqlite3ExprAffinity($36)|0); + HEAP8[$6>>0] = $37; + $38 = HEAP8[$5>>0]|0; + $39 = $38 << 24 >> 24; + $40 = HEAP8[$6>>0]|0; + $41 = $40 << 24 >> 24; + $42 = ($39|0)!=($41|0); do { - if ($12) { - $14 = ((($13)) + 1|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)<(128); - $18 = HEAP32[$aKey1>>2]|0; - $19 = ((($18)) + 1|0); - if ($17) { - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - HEAP32[$s1>>2] = $21; - $25 = 1; + if ($42) { + $43 = HEAP8[$5>>0]|0; + $44 = $43 << 24 >> 24; + $45 = ($44|0)>=(67); + if ($45) { + $46 = HEAP8[$6>>0]|0; + $47 = $46 << 24 >> 24; + $48 = ($47|0)>=(67); + if ($48) { + break; + } + } + HEAP32[$2>>2] = 0; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); + } + } while(0); + $49 = HEAP32[$3>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$4>>2]|0; + $54 = ((($53)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_sqlite3BinaryCompareCollSeq($49,$52,$55)|0); + HEAP32[$7>>2] = $56; + $57 = HEAP32[$7>>2]|0; + $58 = ($57|0)==(0|0); + if (!($58)) { + $59 = HEAP32[$7>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = (_sqlite3StrICmp($60,34455)|0); + $62 = ($61|0)==(0); + if (!($62)) { + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = (_sqlite3ExprCollSeq($63,$66)|0); + HEAP32[$7>>2] = $67; + $68 = HEAP32[$7>>2]|0; + $69 = ($68|0)!=(0|0); + if ($69) { + $70 = HEAP32[$7>>2]|0; + $71 = HEAP32[$70>>2]|0; + $72 = $71; } else { - $22 = (_sqlite3GetVarint32($19,$s1)|0); - $23 = $22&255; - $25 = $23; - } - $24 = $25&255; - $26 = $24&255; - $27 = (1 + ($26))|0; - HEAP32[$idx1>>2] = $27; - $28 = HEAP32[$aKey1>>2]|0; - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - HEAP32[$szHdr1>>2] = $30; - $31 = HEAP32[$szHdr1>>2]|0; - $32 = HEAP32[$s1>>2]|0; - $33 = (_sqlite3VdbeSerialTypeLen($32)|0); - $34 = (($31) + ($33))|0; - HEAP32[$d1>>2] = $34; - HEAP32[$i>>2] = 1; - $35 = HEAP32[$pRhs>>2]|0; - $36 = ((($35)) + 40|0); - HEAP32[$pRhs>>2] = $36; - } else { - $37 = HEAP8[$13>>0]|0; - $38 = $37&255; - $39 = ($38|0)<(128); - $40 = HEAP32[$aKey1>>2]|0; - if ($39) { - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - HEAP32[$szHdr1>>2] = $42; - $46 = 1; + $72 = 0; + } + HEAP32[$8>>2] = $72; + $73 = HEAP32[$3>>2]|0; + $74 = HEAP32[$4>>2]|0; + $75 = ((($74)) + 16|0); + $76 = HEAP32[$75>>2]|0; + $77 = (_sqlite3ExprCollSeq($73,$76)|0); + HEAP32[$7>>2] = $77; + $78 = HEAP32[$7>>2]|0; + $79 = ($78|0)!=(0|0); + if ($79) { + $80 = HEAP32[$7>>2]|0; + $81 = HEAP32[$80>>2]|0; + $82 = $81; } else { - $43 = (_sqlite3GetVarint32($40,$szHdr1)|0); - $44 = $43&255; - $46 = $44; + $82 = 0; } - $45 = $46&255; - $47 = $45&255; - HEAP32[$idx1>>2] = $47; - $48 = HEAP32[$szHdr1>>2]|0; - HEAP32[$d1>>2] = $48; - $49 = HEAP32[$d1>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = ($49>>>0)>($50>>>0); - if (!($51)) { - HEAP32[$i>>2] = 0; + HEAP32[$9>>2] = $82; + $83 = HEAP32[$8>>2]|0; + $84 = HEAP32[$9>>2]|0; + $85 = (_sqlite3_stricmp($83,$84)|0); + $86 = ($85|0)==(0); + $87 = $86&1; + HEAP32[$2>>2] = $87; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); + } + } + HEAP32[$2>>2] = 1; + $88 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($88|0); +} +function _exprCommute($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp + 14|0; + $5 = sp + 12|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 256; + $13 = $12&65535; + HEAP16[$4>>1] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 & 256; + $20 = $19&65535; + HEAP16[$5>>1] = $20; + $21 = HEAP16[$4>>1]|0; + $22 = $21&65535; + $23 = HEAP16[$5>>1]|0; + $24 = $23&65535; + $25 = ($22|0)==($24|0); + do { + if ($25) { + $26 = HEAP16[$4>>1]|0; + $27 = ($26<<16>>16)!=(0); + if ($27) { + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 & -257; + HEAP32[$31>>2] = $33; break; } - $52 = (_sqlite3CorruptError(74452)|0); - $53 = $52&255; - $54 = HEAP32[$3>>2]|0; - $55 = ((($54)) + 11|0); - HEAP8[$55>>0] = $53; - HEAP32[$0>>2] = 0; - $391 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($391|0); + $34 = HEAP32[$2>>2]|0; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_sqlite3ExprCollSeq($34,$37)|0); + $39 = ($38|0)!=(0|0); + if ($39) { + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 12|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = $44 | 256; + HEAP32[$43>>2] = $45; + } } } while(0); - L16: while(1) { - $56 = HEAP32[$pRhs>>2]|0; - $57 = ((($56)) + 8|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58&65535; - $60 = $59 & 4; - $61 = ($60|0)!=(0); + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 16|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$6>>2] = $48; + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 16|0); + HEAP32[$53>>2] = $51; + $54 = HEAP32[$6>>2]|0; + $55 = HEAP32[$3>>2]|0; + $56 = ((($55)) + 12|0); + HEAP32[$56>>2] = $54; + $57 = HEAP32[$3>>2]|0; + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = ($59|0)>=(38); + if (!($60)) { + STACKTOP = sp;return; + } + $61 = HEAP32[$3>>2]|0; + $62 = HEAP8[$61>>0]|0; + $63 = $62&255; + $64 = (($63) - 38)|0; + $65 = $64 ^ 2; + $66 = (($65) + 38)|0; + $67 = $66&255; + $68 = HEAP32[$3>>2]|0; + HEAP8[$68>>0] = $67; + STACKTOP = sp;return; +} +function _transferJoinMarkings($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, $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 + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = $8 & 1; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = $12 | $9; + HEAP32[$11>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 36|0); + $16 = HEAP16[$15>>1]|0; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 36|0); + HEAP16[$18>>1] = $16; + STACKTOP = sp;return; +} +function _exprAnalyzeOrTerm($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; + var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; + var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; + var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0; + var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0; + var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0; + var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0; + var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; + var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0; + var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; + $3 = sp + 156|0; + $4 = sp + 152|0; + $5 = sp + 148|0; + $6 = sp + 144|0; + $7 = sp + 140|0; + $8 = sp + 136|0; + $9 = sp + 132|0; + $10 = sp + 128|0; + $11 = sp + 124|0; + $12 = sp + 120|0; + $13 = sp + 116|0; + $14 = sp + 112|0; + $15 = sp + 24|0; + $16 = sp + 16|0; + $17 = sp + 108|0; + $18 = sp + 104|0; + $19 = sp + 100|0; + $20 = sp + 96|0; + $21 = sp + 8|0; + $22 = sp; + $23 = sp + 92|0; + $24 = sp + 88|0; + $25 = sp + 84|0; + $26 = sp + 80|0; + $27 = sp + 76|0; + $28 = sp + 72|0; + $29 = sp + 68|0; + $30 = sp + 64|0; + $31 = sp + 60|0; + $32 = sp + 56|0; + $33 = sp + 52|0; + $34 = sp + 48|0; + $35 = sp + 44|0; + $36 = sp + 40|0; + $37 = sp + 36|0; + $38 = sp + 32|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $39 = HEAP32[$4>>2]|0; + $40 = HEAP32[$39>>2]|0; + HEAP32[$6>>2] = $40; + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$41>>2]|0; + HEAP32[$7>>2] = $42; + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$43>>2]|0; + HEAP32[$8>>2] = $44; + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$5>>2]|0; + $49 = (($47) + (($48*48)|0)|0); + HEAP32[$9>>2] = $49; + $50 = HEAP32[$9>>2]|0; + $51 = HEAP32[$50>>2]|0; + HEAP32[$10>>2] = $51; + $52 = HEAP32[$8>>2]|0; + $53 = (_sqlite3DbMallocZero($52,416,0)|0); + HEAP32[$14>>2] = $53; + $54 = HEAP32[$9>>2]|0; + $55 = ((($54)) + 28|0); + HEAP32[$55>>2] = $53; + $56 = HEAP32[$14>>2]|0; + $57 = ($56|0)==(0|0); + if ($57) { + STACKTOP = sp;return; + } + $58 = HEAP32[$9>>2]|0; + $59 = ((($58)) + 10|0); + $60 = HEAP16[$59>>1]|0; + $61 = $60&65535; + $62 = $61 | 16; + $63 = $62&65535; + HEAP16[$59>>1] = $63; + $64 = HEAP32[$14>>2]|0; + HEAP32[$12>>2] = $64; + $65 = HEAP32[$12>>2]|0; + $66 = ((($65)) + 24|0); + _memset(($66|0),0,384)|0; + $67 = HEAP32[$12>>2]|0; + $68 = HEAP32[$6>>2]|0; + _sqlite3WhereClauseInit($67,$68); + $69 = HEAP32[$12>>2]|0; + $70 = HEAP32[$10>>2]|0; + _sqlite3WhereSplit($69,$70,27); + $71 = HEAP32[$3>>2]|0; + $72 = HEAP32[$12>>2]|0; + _sqlite3WhereExprAnalyze($71,$72); + $73 = HEAP32[$8>>2]|0; + $74 = ((($73)) + 69|0); + $75 = HEAP8[$74>>0]|0; + $76 = ($75<<24>>24)!=(0); + if ($76) { + STACKTOP = sp;return; + } + $77 = $16; + $78 = $77; + HEAP32[$78>>2] = -1; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = -1; + $81 = $15; + $82 = $81; + HEAP32[$82>>2] = -1; + $83 = (($81) + 4)|0; + $84 = $83; + HEAP32[$84>>2] = -1; + $85 = HEAP32[$12>>2]|0; + $86 = ((($85)) + 12|0); + $87 = HEAP32[$86>>2]|0; + $88 = (($87) - 1)|0; + HEAP32[$11>>2] = $88; + $89 = HEAP32[$12>>2]|0; + $90 = ((($89)) + 20|0); + $91 = HEAP32[$90>>2]|0; + HEAP32[$13>>2] = $91; + while(1) { + $92 = HEAP32[$11>>2]|0; + $93 = ($92|0)>=(0); + $94 = $16; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = ($96|0)!=(0); + $101 = ($99|0)!=(0); + $102 = $100 | $101; + $103 = $93 ? $102 : 0; + if (!($103)) { + break; + } + $104 = HEAP32[$13>>2]|0; + $105 = ((($104)) + 12|0); + $106 = HEAP16[$105>>1]|0; + $107 = $106&65535; + $108 = $107 & 511; + $109 = ($108|0)==(0); do { - if ($61) { - $62 = HEAP32[$idx1>>2]|0; - $63 = HEAP32[$aKey1>>2]|0; - $64 = (($63) + ($62)|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - HEAP32[$serial_type>>2] = $66; - $67 = HEAP32[$serial_type>>2]|0; - $68 = ($67>>>0)>=(10); - if ($68) { - HEAP32[$rc>>2] = 1; - break; - } - $69 = HEAP32[$serial_type>>2]|0; - $70 = ($69|0)==(0); - if ($70) { - HEAP32[$rc>>2] = -1; - break; - } - $71 = HEAP32[$serial_type>>2]|0; - $72 = ($71|0)==(7); - if ($72) { - $73 = HEAP32[$d1>>2]|0; - $74 = HEAP32[$aKey1>>2]|0; - $75 = (($74) + ($73)|0); - $76 = HEAP32[$serial_type>>2]|0; - (_sqlite3VdbeSerialGet($75,$76,$mem1)|0); - $77 = HEAP32[$pRhs>>2]|0; - $78 = $77; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = +HEAPF64[$mem1>>3]; - $85 = (_sqlite3IntFloatCompare($80,$83,$84)|0); - $86 = (0 - ($85))|0; - HEAP32[$rc>>2] = $86; - break; - } - $87 = HEAP32[$serial_type>>2]|0; - $88 = HEAP32[$d1>>2]|0; - $89 = HEAP32[$aKey1>>2]|0; - $90 = (($89) + ($88)|0); - $91 = (_vdbeRecordDecodeInt($87,$90)|0); - $92 = tempRet0; - $93 = $lhs; - $94 = $93; - HEAP32[$94>>2] = $91; - $95 = (($93) + 4)|0; - $96 = $95; - HEAP32[$96>>2] = $92; - $97 = HEAP32[$pRhs>>2]|0; - $98 = $97; - $99 = $98; - $100 = HEAP32[$99>>2]|0; - $101 = (($98) + 4)|0; - $102 = $101; - $103 = HEAP32[$102>>2]|0; - $104 = $rhs; - $105 = $104; - HEAP32[$105>>2] = $100; - $106 = (($104) + 4)|0; - $107 = $106; - HEAP32[$107>>2] = $103; - $108 = $lhs; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (($108) + 4)|0; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = $rhs; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = (($114) + 4)|0; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = ($113|0)<($119|0); - $121 = ($110>>>0)<($116>>>0); - $122 = ($113|0)==($119|0); - $123 = $122 & $121; - $124 = $120 | $123; - if ($124) { - HEAP32[$rc>>2] = -1; - break; - } - $125 = $lhs; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = (($125) + 4)|0; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = $rhs; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = ($130|0)>($136|0); - $138 = ($127>>>0)>($133>>>0); - $139 = ($130|0)==($136|0); - $140 = $139 & $138; - $141 = $137 | $140; - if ($141) { - HEAP32[$rc>>2] = 1; + if ($109) { + $110 = $15; + $111 = $110; + HEAP32[$111>>2] = 0; + $112 = (($110) + 4)|0; + $113 = $112; + HEAP32[$113>>2] = 0; + $114 = HEAP32[$8>>2]|0; + $115 = (_sqlite3DbMallocRawNN($114,408,0)|0); + HEAP32[$17>>2] = $115; + $116 = HEAP32[$17>>2]|0; + $117 = ($116|0)!=(0|0); + if ($117) { + $118 = $21; + $119 = $118; + HEAP32[$119>>2] = 0; + $120 = (($118) + 4)|0; + $121 = $120; + HEAP32[$121>>2] = 0; + $122 = HEAP32[$17>>2]|0; + $123 = HEAP32[$13>>2]|0; + $124 = ((($123)) + 28|0); + HEAP32[$124>>2] = $122; + $125 = HEAP32[$13>>2]|0; + $126 = ((($125)) + 10|0); + $127 = HEAP16[$126>>1]|0; + $128 = $127&65535; + $129 = $128 | 32; + $130 = $129&65535; + HEAP16[$126>>1] = $130; + $131 = HEAP32[$13>>2]|0; + $132 = ((($131)) + 12|0); + HEAP16[$132>>1] = 1024; + $133 = HEAP32[$17>>2]|0; + HEAP32[$18>>2] = $133; + $134 = HEAP32[$18>>2]|0; + $135 = ((($134)) + 24|0); + _memset(($135|0),0,384)|0; + $136 = HEAP32[$18>>2]|0; + $137 = HEAP32[$4>>2]|0; + $138 = HEAP32[$137>>2]|0; + _sqlite3WhereClauseInit($136,$138); + $139 = HEAP32[$18>>2]|0; + $140 = HEAP32[$13>>2]|0; + $141 = HEAP32[$140>>2]|0; + _sqlite3WhereSplit($139,$141,28); + $142 = HEAP32[$3>>2]|0; + $143 = HEAP32[$18>>2]|0; + _sqlite3WhereExprAnalyze($142,$143); + $144 = HEAP32[$4>>2]|0; + $145 = HEAP32[$18>>2]|0; + $146 = ((($145)) + 4|0); + HEAP32[$146>>2] = $144; + $147 = HEAP32[$8>>2]|0; + $148 = ((($147)) + 69|0); + $149 = HEAP8[$148>>0]|0; + $150 = ($149<<24>>24)!=(0); + L13: do { + if (!($150)) { + HEAP32[$20>>2] = 0; + $151 = HEAP32[$18>>2]|0; + $152 = ((($151)) + 20|0); + $153 = HEAP32[$152>>2]|0; + HEAP32[$19>>2] = $153; + while(1) { + $154 = HEAP32[$20>>2]|0; + $155 = HEAP32[$18>>2]|0; + $156 = ((($155)) + 12|0); + $157 = HEAP32[$156>>2]|0; + $158 = ($154|0)<($157|0); + if (!($158)) { + break L13; + } + $159 = HEAP32[$19>>2]|0; + $160 = HEAP32[$159>>2]|0; + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = (_allowedOp($162)|0); + $164 = ($163|0)!=(0); + if ($164) { + label = 12; + } else { + $165 = HEAP32[$19>>2]|0; + $166 = ((($165)) + 12|0); + $167 = HEAP16[$166>>1]|0; + $168 = $167&65535; + $169 = ($168|0)==(64); + if ($169) { + label = 12; + } + } + if ((label|0) == 12) { + label = 0; + $170 = HEAP32[$6>>2]|0; + $171 = ((($170)) + 488|0); + $172 = HEAP32[$19>>2]|0; + $173 = ((($172)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = (_sqlite3WhereGetMask($171,$174)|0); + $176 = tempRet0; + $177 = $21; + $178 = $177; + $179 = HEAP32[$178>>2]|0; + $180 = (($177) + 4)|0; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = $179 | $175; + $184 = $182 | $176; + $185 = $21; + $186 = $185; + HEAP32[$186>>2] = $183; + $187 = (($185) + 4)|0; + $188 = $187; + HEAP32[$188>>2] = $184; + } + $189 = HEAP32[$20>>2]|0; + $190 = (($189) + 1)|0; + HEAP32[$20>>2] = $190; + $191 = HEAP32[$19>>2]|0; + $192 = ((($191)) + 48|0); + HEAP32[$19>>2] = $192; + } + } + } while(0); + $193 = $21; + $194 = $193; + $195 = HEAP32[$194>>2]|0; + $196 = (($193) + 4)|0; + $197 = $196; + $198 = HEAP32[$197>>2]|0; + $199 = $16; + $200 = $199; + $201 = HEAP32[$200>>2]|0; + $202 = (($199) + 4)|0; + $203 = $202; + $204 = HEAP32[$203>>2]|0; + $205 = $201 & $195; + $206 = $204 & $198; + $207 = $16; + $208 = $207; + HEAP32[$208>>2] = $205; + $209 = (($207) + 4)|0; + $210 = $209; + HEAP32[$210>>2] = $206; } } else { - $142 = HEAP32[$pRhs>>2]|0; - $143 = ((($142)) + 8|0); - $144 = HEAP16[$143>>1]|0; - $145 = $144&65535; - $146 = $145 & 8; - $147 = ($146|0)!=(0); - if ($147) { - $148 = HEAP32[$idx1>>2]|0; - $149 = HEAP32[$aKey1>>2]|0; - $150 = (($149) + ($148)|0); - $151 = HEAP8[$150>>0]|0; - $152 = $151&255; - HEAP32[$serial_type>>2] = $152; - $153 = HEAP32[$serial_type>>2]|0; - $154 = ($153>>>0)>=(10); - if ($154) { - HEAP32[$rc>>2] = 1; - break; - } - $155 = HEAP32[$serial_type>>2]|0; - $156 = ($155|0)==(0); - if ($156) { - HEAP32[$rc>>2] = -1; - break; - } - $157 = HEAP32[$d1>>2]|0; - $158 = HEAP32[$aKey1>>2]|0; - $159 = (($158) + ($157)|0); - $160 = HEAP32[$serial_type>>2]|0; - (_sqlite3VdbeSerialGet($159,$160,$mem1)|0); - $161 = HEAP32[$serial_type>>2]|0; - $162 = ($161|0)==(7); - if (!($162)) { - $171 = $mem1; - $172 = $171; - $173 = HEAP32[$172>>2]|0; - $174 = (($171) + 4)|0; - $175 = $174; - $176 = HEAP32[$175>>2]|0; - $177 = HEAP32[$pRhs>>2]|0; - $178 = +HEAPF64[$177>>3]; - $179 = (_sqlite3IntFloatCompare($173,$176,$178)|0); - HEAP32[$rc>>2] = $179; - break; - } - $163 = +HEAPF64[$mem1>>3]; - $164 = HEAP32[$pRhs>>2]|0; - $165 = +HEAPF64[$164>>3]; - $166 = $163 < $165; - if ($166) { - HEAP32[$rc>>2] = -1; - break; + $211 = HEAP32[$13>>2]|0; + $212 = ((($211)) + 10|0); + $213 = HEAP16[$212>>1]|0; + $214 = $213&65535; + $215 = $214 & 8; + $216 = ($215|0)!=(0); + if (!($216)) { + $217 = HEAP32[$6>>2]|0; + $218 = ((($217)) + 488|0); + $219 = HEAP32[$13>>2]|0; + $220 = ((($219)) + 20|0); + $221 = HEAP32[$220>>2]|0; + $222 = (_sqlite3WhereGetMask($218,$221)|0); + $223 = tempRet0; + $224 = $22; + $225 = $224; + HEAP32[$225>>2] = $222; + $226 = (($224) + 4)|0; + $227 = $226; + HEAP32[$227>>2] = $223; + $228 = HEAP32[$13>>2]|0; + $229 = ((($228)) + 10|0); + $230 = HEAP16[$229>>1]|0; + $231 = $230&65535; + $232 = $231 & 2; + $233 = ($232|0)!=(0); + if ($233) { + $234 = HEAP32[$12>>2]|0; + $235 = ((($234)) + 20|0); + $236 = HEAP32[$235>>2]|0; + $237 = HEAP32[$13>>2]|0; + $238 = ((($237)) + 16|0); + $239 = HEAP32[$238>>2]|0; + $240 = (($236) + (($239*48)|0)|0); + HEAP32[$23>>2] = $240; + $241 = HEAP32[$6>>2]|0; + $242 = ((($241)) + 488|0); + $243 = HEAP32[$23>>2]|0; + $244 = ((($243)) + 20|0); + $245 = HEAP32[$244>>2]|0; + $246 = (_sqlite3WhereGetMask($242,$245)|0); + $247 = tempRet0; + $248 = $22; + $249 = $248; + $250 = HEAP32[$249>>2]|0; + $251 = (($248) + 4)|0; + $252 = $251; + $253 = HEAP32[$252>>2]|0; + $254 = $250 | $246; + $255 = $253 | $247; + $256 = $22; + $257 = $256; + HEAP32[$257>>2] = $254; + $258 = (($256) + 4)|0; + $259 = $258; + HEAP32[$259>>2] = $255; } - $167 = +HEAPF64[$mem1>>3]; - $168 = HEAP32[$pRhs>>2]|0; - $169 = +HEAPF64[$168>>3]; - $170 = $167 > $169; - if (!($170)) { + $260 = $22; + $261 = $260; + $262 = HEAP32[$261>>2]|0; + $263 = (($260) + 4)|0; + $264 = $263; + $265 = HEAP32[$264>>2]|0; + $266 = $16; + $267 = $266; + $268 = HEAP32[$267>>2]|0; + $269 = (($266) + 4)|0; + $270 = $269; + $271 = HEAP32[$270>>2]|0; + $272 = $268 & $262; + $273 = $271 & $265; + $274 = $16; + $275 = $274; + HEAP32[$275>>2] = $272; + $276 = (($274) + 4)|0; + $277 = $276; + HEAP32[$277>>2] = $273; + $278 = HEAP32[$13>>2]|0; + $279 = ((($278)) + 12|0); + $280 = HEAP16[$279>>1]|0; + $281 = $280&65535; + $282 = $281 & 2; + $283 = ($282|0)==(0); + if ($283) { + $284 = $15; + $285 = $284; + HEAP32[$285>>2] = 0; + $286 = (($284) + 4)|0; + $287 = $286; + HEAP32[$287>>2] = 0; break; - } - HEAP32[$rc>>2] = 1; - break; - } - $180 = HEAP32[$pRhs>>2]|0; - $181 = ((($180)) + 8|0); - $182 = HEAP16[$181>>1]|0; - $183 = $182&65535; - $184 = $183 & 2; - $185 = ($184|0)!=(0); - if ($185) { - $186 = HEAP32[$idx1>>2]|0; - $187 = HEAP32[$aKey1>>2]|0; - $188 = (($187) + ($186)|0); - $189 = HEAP8[$188>>0]|0; - $190 = $189&255; - $191 = ($190|0)<(128); - $192 = HEAP32[$idx1>>2]|0; - $193 = HEAP32[$aKey1>>2]|0; - $194 = (($193) + ($192)|0); - if ($191) { - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - HEAP32[$serial_type>>2] = $196; } else { - (_sqlite3GetVarint32($194,$serial_type)|0); - } - $197 = HEAP32[$serial_type>>2]|0; - $198 = ($197>>>0)<(12); - if ($198) { - HEAP32[$rc>>2] = -1; - break; - } - $199 = HEAP32[$serial_type>>2]|0; - $200 = $199 & 1; - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$rc>>2] = 1; + $288 = $22; + $289 = $288; + $290 = HEAP32[$289>>2]|0; + $291 = (($288) + 4)|0; + $292 = $291; + $293 = HEAP32[$292>>2]|0; + $294 = $15; + $295 = $294; + $296 = HEAP32[$295>>2]|0; + $297 = (($294) + 4)|0; + $298 = $297; + $299 = HEAP32[$298>>2]|0; + $300 = $296 & $290; + $301 = $299 & $293; + $302 = $15; + $303 = $302; + HEAP32[$303>>2] = $300; + $304 = (($302) + 4)|0; + $305 = $304; + HEAP32[$305>>2] = $301; break; } - $202 = HEAP32[$serial_type>>2]|0; - $203 = (($202) - 12)|0; - $204 = (($203>>>0) / 2)&-1; - $205 = ((($mem1)) + 12|0); - HEAP32[$205>>2] = $204; - $206 = HEAP32[$d1>>2]|0; - $207 = ((($mem1)) + 12|0); - $208 = HEAP32[$207>>2]|0; - $209 = (($206) + ($208))|0; - $210 = HEAP32[$1>>2]|0; - $211 = ($209>>>0)>($210>>>0); - if ($211) { - label = 43; - break L16; - } - $216 = HEAP32[$i>>2]|0; - $217 = HEAP32[$pKeyInfo>>2]|0; - $218 = ((($217)) + 20|0); - $219 = (($218) + ($216<<2)|0); - $220 = HEAP32[$219>>2]|0; - $221 = ($220|0)!=(0|0); - if ($221) { - $222 = HEAP32[$pKeyInfo>>2]|0; - $223 = ((($222)) + 4|0); - $224 = HEAP8[$223>>0]|0; - $225 = ((($mem1)) + 10|0); - HEAP8[$225>>0] = $224; - $226 = HEAP32[$pKeyInfo>>2]|0; - $227 = ((($226)) + 12|0); - $228 = HEAP32[$227>>2]|0; - $229 = ((($mem1)) + 32|0); - HEAP32[$229>>2] = $228; - $230 = ((($mem1)) + 8|0); - HEAP16[$230>>1] = 2; - $231 = HEAP32[$d1>>2]|0; - $232 = HEAP32[$aKey1>>2]|0; - $233 = (($232) + ($231)|0); - $234 = ((($mem1)) + 16|0); - HEAP32[$234>>2] = $233; - $235 = HEAP32[$pRhs>>2]|0; - $236 = HEAP32[$i>>2]|0; - $237 = HEAP32[$pKeyInfo>>2]|0; - $238 = ((($237)) + 20|0); - $239 = (($238) + ($236<<2)|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[$3>>2]|0; - $242 = ((($241)) + 11|0); - $243 = (_vdbeCompareMemString($mem1,$235,$240,$242)|0); - HEAP32[$rc>>2] = $243; - break; + } + } + } while(0); + $306 = HEAP32[$11>>2]|0; + $307 = (($306) + -1)|0; + HEAP32[$11>>2] = $307; + $308 = HEAP32[$13>>2]|0; + $309 = ((($308)) + 48|0); + HEAP32[$13>>2] = $309; + } + $310 = $16; + $311 = $310; + $312 = HEAP32[$311>>2]|0; + $313 = (($310) + 4)|0; + $314 = $313; + $315 = HEAP32[$314>>2]|0; + $316 = HEAP32[$14>>2]|0; + $317 = ((($316)) + 408|0); + $318 = $317; + $319 = $318; + HEAP32[$319>>2] = $312; + $320 = (($318) + 4)|0; + $321 = $320; + HEAP32[$321>>2] = $315; + $322 = $16; + $323 = $322; + $324 = HEAP32[$323>>2]|0; + $325 = (($322) + 4)|0; + $326 = $325; + $327 = HEAP32[$326>>2]|0; + $328 = ($324|0)==(0); + $329 = ($327|0)==(0); + $330 = $328 & $329; + $331 = $330 ? 0 : 512; + $332 = $331&65535; + $333 = HEAP32[$9>>2]|0; + $334 = ((($333)) + 12|0); + HEAP16[$334>>1] = $332; + $335 = $16; + $336 = $335; + $337 = HEAP32[$336>>2]|0; + $338 = (($335) + 4)|0; + $339 = $338; + $340 = HEAP32[$339>>2]|0; + $341 = ($337|0)!=(0); + $342 = ($340|0)!=(0); + $343 = $341 | $342; + L34: do { + if ($343) { + $344 = HEAP32[$12>>2]|0; + $345 = ((($344)) + 12|0); + $346 = HEAP32[$345>>2]|0; + $347 = ($346|0)==(2); + if ($347) { + HEAP32[$24>>2] = 0; + L37: while(1) { + $348 = HEAP32[$12>>2]|0; + $349 = ((($348)) + 20|0); + $350 = HEAP32[$349>>2]|0; + $351 = HEAP32[$24>>2]|0; + $352 = (($351) + 1)|0; + HEAP32[$24>>2] = $352; + $353 = (_whereNthSubterm($350,$351)|0); + HEAP32[$25>>2] = $353; + $354 = ($353|0)!=(0|0); + if (!($354)) { + break L34; } - $244 = ((($mem1)) + 12|0); - $245 = HEAP32[$244>>2]|0; - $246 = HEAP32[$pRhs>>2]|0; - $247 = ((($246)) + 12|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($245|0)<($248|0); - if ($249) { - $250 = ((($mem1)) + 12|0); - $251 = HEAP32[$250>>2]|0; - $255 = $251; - } else { - $252 = HEAP32[$pRhs>>2]|0; - $253 = ((($252)) + 12|0); - $254 = HEAP32[$253>>2]|0; - $255 = $254; - } - HEAP32[$nCmp>>2] = $255; - $256 = HEAP32[$d1>>2]|0; - $257 = HEAP32[$aKey1>>2]|0; - $258 = (($257) + ($256)|0); - $259 = HEAP32[$pRhs>>2]|0; - $260 = ((($259)) + 16|0); - $261 = HEAP32[$260>>2]|0; - $262 = HEAP32[$nCmp>>2]|0; - $263 = (_memcmp($258,$261,$262)|0); - HEAP32[$rc>>2] = $263; - $264 = HEAP32[$rc>>2]|0; - $265 = ($264|0)==(0); - if (!($265)) { - break; + HEAP32[$26>>2] = 0; + while(1) { + $355 = HEAP32[$12>>2]|0; + $356 = ((($355)) + 20|0); + $357 = HEAP32[$356>>2]|0; + $358 = ((($357)) + 48|0); + $359 = HEAP32[$26>>2]|0; + $360 = (($359) + 1)|0; + HEAP32[$26>>2] = $360; + $361 = (_whereNthSubterm($358,$359)|0); + HEAP32[$27>>2] = $361; + $362 = ($361|0)!=(0|0); + if (!($362)) { + continue L37; + } + $363 = HEAP32[$3>>2]|0; + $364 = HEAP32[$4>>2]|0; + $365 = HEAP32[$25>>2]|0; + $366 = HEAP32[$27>>2]|0; + _whereCombineDisjuncts($363,$364,$365,$366); } - $266 = ((($mem1)) + 12|0); - $267 = HEAP32[$266>>2]|0; - $268 = HEAP32[$pRhs>>2]|0; - $269 = ((($268)) + 12|0); - $270 = HEAP32[$269>>2]|0; - $271 = (($267) - ($270))|0; - HEAP32[$rc>>2] = $271; - break; } - $272 = HEAP32[$pRhs>>2]|0; - $273 = ((($272)) + 8|0); - $274 = HEAP16[$273>>1]|0; - $275 = $274&65535; - $276 = $275 & 16; - $277 = ($276|0)!=(0); - $278 = HEAP32[$idx1>>2]|0; - $279 = HEAP32[$aKey1>>2]|0; - $280 = (($279) + ($278)|0); - $281 = HEAP8[$280>>0]|0; - $282 = $281&255; - if (!($277)) { - HEAP32[$serial_type>>2] = $282; - $347 = HEAP32[$serial_type>>2]|0; - $348 = ($347|0)!=(0); - $349 = $348&1; - HEAP32[$rc>>2] = $349; + } + } + } while(0); + $367 = $15; + $368 = $367; + $369 = HEAP32[$368>>2]|0; + $370 = (($367) + 4)|0; + $371 = $370; + $372 = HEAP32[$371>>2]|0; + $373 = ($369|0)!=(0); + $374 = ($372|0)!=(0); + $375 = $373 | $374; + if (!($375)) { + STACKTOP = sp;return; + } + HEAP32[$28>>2] = 0; + HEAP32[$29>>2] = -1; + HEAP32[$30>>2] = -1; + HEAP32[$31>>2] = 0; + HEAP32[$31>>2] = 0; + while(1) { + $376 = HEAP32[$31>>2]|0; + $377 = ($376|0)<(2); + if (!($377)) { + break; + } + $378 = HEAP32[$28>>2]|0; + $379 = ($378|0)!=(0); + $380 = $379 ^ 1; + if (!($380)) { + break; + } + $381 = HEAP32[$12>>2]|0; + $382 = ((($381)) + 20|0); + $383 = HEAP32[$382>>2]|0; + HEAP32[$13>>2] = $383; + $384 = HEAP32[$12>>2]|0; + $385 = ((($384)) + 12|0); + $386 = HEAP32[$385>>2]|0; + $387 = (($386) - 1)|0; + HEAP32[$11>>2] = $387; + while(1) { + $388 = HEAP32[$11>>2]|0; + $389 = ($388|0)>=(0); + if (!($389)) { + break; + } + $390 = HEAP32[$13>>2]|0; + $391 = ((($390)) + 10|0); + $392 = HEAP16[$391>>1]|0; + $393 = $392&65535; + $394 = $393 & -65; + $395 = $394&65535; + HEAP16[$391>>1] = $395; + $396 = HEAP32[$13>>2]|0; + $397 = ((($396)) + 20|0); + $398 = HEAP32[$397>>2]|0; + $399 = HEAP32[$30>>2]|0; + $400 = ($398|0)==($399|0); + if (!($400)) { + $401 = $15; + $402 = $401; + $403 = HEAP32[$402>>2]|0; + $404 = (($401) + 4)|0; + $405 = $404; + $406 = HEAP32[$405>>2]|0; + $407 = HEAP32[$6>>2]|0; + $408 = ((($407)) + 488|0); + $409 = HEAP32[$13>>2]|0; + $410 = ((($409)) + 20|0); + $411 = HEAP32[$410>>2]|0; + $412 = (_sqlite3WhereGetMask($408,$411)|0); + $413 = tempRet0; + $414 = $403 & $412; + $415 = $406 & $413; + $416 = ($414|0)==(0); + $417 = ($415|0)==(0); + $418 = $416 & $417; + if (!($418)) { + label = 37; break; } - $283 = ($282|0)<(128); - $284 = HEAP32[$idx1>>2]|0; - $285 = HEAP32[$aKey1>>2]|0; - $286 = (($285) + ($284)|0); - if ($283) { - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - HEAP32[$serial_type>>2] = $288; + } + $425 = HEAP32[$11>>2]|0; + $426 = (($425) + -1)|0; + HEAP32[$11>>2] = $426; + $427 = HEAP32[$13>>2]|0; + $428 = ((($427)) + 48|0); + HEAP32[$13>>2] = $428; + } + if ((label|0) == 37) { + label = 0; + $419 = HEAP32[$13>>2]|0; + $420 = ((($419)) + 28|0); + $421 = HEAP32[$420>>2]|0; + HEAP32[$29>>2] = $421; + $422 = HEAP32[$13>>2]|0; + $423 = ((($422)) + 20|0); + $424 = HEAP32[$423>>2]|0; + HEAP32[$30>>2] = $424; + } + $429 = HEAP32[$11>>2]|0; + $430 = ($429|0)<(0); + if ($430) { + break; + } + HEAP32[$28>>2] = 1; + while(1) { + $431 = HEAP32[$11>>2]|0; + $432 = ($431|0)>=(0); + $433 = HEAP32[$28>>2]|0; + $434 = ($433|0)!=(0); + $435 = $432 ? $434 : 0; + if (!($435)) { + break; + } + $436 = HEAP32[$13>>2]|0; + $437 = ((($436)) + 20|0); + $438 = HEAP32[$437>>2]|0; + $439 = HEAP32[$30>>2]|0; + $440 = ($438|0)!=($439|0); + $441 = HEAP32[$13>>2]|0; + do { + if ($440) { + $442 = ((($441)) + 10|0); + $443 = HEAP16[$442>>1]|0; + $444 = $443&65535; + $445 = $444 & -65; + $446 = $445&65535; + HEAP16[$442>>1] = $446; } else { - (_sqlite3GetVarint32($286,$serial_type)|0); - } - $289 = HEAP32[$serial_type>>2]|0; - $290 = ($289>>>0)<(12); - if (!($290)) { - $291 = HEAP32[$serial_type>>2]|0; - $292 = $291 & 1; - $293 = ($292|0)!=(0); - if (!($293)) { - $294 = HEAP32[$serial_type>>2]|0; - $295 = (($294) - 12)|0; - $296 = (($295>>>0) / 2)&-1; - HEAP32[$nStr>>2] = $296; - $297 = HEAP32[$d1>>2]|0; - $298 = HEAP32[$nStr>>2]|0; - $299 = (($297) + ($298))|0; - $300 = HEAP32[$1>>2]|0; - $301 = ($299>>>0)>($300>>>0); - if ($301) { - label = 59; - break L16; - } - $306 = HEAP32[$pRhs>>2]|0; - $307 = ((($306)) + 8|0); - $308 = HEAP16[$307>>1]|0; - $309 = $308&65535; - $310 = $309 & 16384; - $311 = ($310|0)!=(0); - if ($311) { - $312 = HEAP32[$d1>>2]|0; - $313 = HEAP32[$aKey1>>2]|0; - $314 = (($313) + ($312)|0); - $315 = HEAP32[$nStr>>2]|0; - $316 = (_isAllZero($314,$315)|0); - $317 = ($316|0)!=(0); - if ($317) { - $318 = HEAP32[$nStr>>2]|0; - $319 = HEAP32[$pRhs>>2]|0; - $320 = HEAP32[$319>>2]|0; - $321 = (($318) - ($320))|0; - HEAP32[$rc>>2] = $321; - break; - } else { - HEAP32[$rc>>2] = 1; - break; - } - } - $322 = HEAP32[$nStr>>2]|0; - $323 = HEAP32[$pRhs>>2]|0; - $324 = ((($323)) + 12|0); - $325 = HEAP32[$324>>2]|0; - $326 = ($322|0)<($325|0); - if ($326) { - $327 = HEAP32[$nStr>>2]|0; - $331 = $327; - } else { - $328 = HEAP32[$pRhs>>2]|0; - $329 = ((($328)) + 12|0); - $330 = HEAP32[$329>>2]|0; - $331 = $330; - } - HEAP32[$nCmp1>>2] = $331; - $332 = HEAP32[$d1>>2]|0; - $333 = HEAP32[$aKey1>>2]|0; - $334 = (($333) + ($332)|0); - $335 = HEAP32[$pRhs>>2]|0; - $336 = ((($335)) + 16|0); - $337 = HEAP32[$336>>2]|0; - $338 = HEAP32[$nCmp1>>2]|0; - $339 = (_memcmp($334,$337,$338)|0); - HEAP32[$rc>>2] = $339; - $340 = HEAP32[$rc>>2]|0; - $341 = ($340|0)==(0); - if (!($341)) { + $447 = ((($441)) + 28|0); + $448 = HEAP32[$447>>2]|0; + $449 = HEAP32[$29>>2]|0; + $450 = ($448|0)!=($449|0); + if ($450) { + HEAP32[$28>>2] = 0; + break; + } + $451 = HEAP32[$13>>2]|0; + $452 = HEAP32[$451>>2]|0; + $453 = ((($452)) + 16|0); + $454 = HEAP32[$453>>2]|0; + $455 = (_sqlite3ExprAffinity($454)|0); + $456 = $455 << 24 >> 24; + HEAP32[$33>>2] = $456; + $457 = HEAP32[$13>>2]|0; + $458 = HEAP32[$457>>2]|0; + $459 = ((($458)) + 12|0); + $460 = HEAP32[$459>>2]|0; + $461 = (_sqlite3ExprAffinity($460)|0); + $462 = $461 << 24 >> 24; + HEAP32[$32>>2] = $462; + $463 = HEAP32[$33>>2]|0; + $464 = ($463|0)!=(0); + if ($464) { + $465 = HEAP32[$33>>2]|0; + $466 = HEAP32[$32>>2]|0; + $467 = ($465|0)!=($466|0); + if ($467) { + HEAP32[$28>>2] = 0; break; } - $342 = HEAP32[$nStr>>2]|0; - $343 = HEAP32[$pRhs>>2]|0; - $344 = ((($343)) + 12|0); - $345 = HEAP32[$344>>2]|0; - $346 = (($342) - ($345))|0; - HEAP32[$rc>>2] = $346; - break; } + $468 = HEAP32[$13>>2]|0; + $469 = ((($468)) + 10|0); + $470 = HEAP16[$469>>1]|0; + $471 = $470&65535; + $472 = $471 | 64; + $473 = $472&65535; + HEAP16[$469>>1] = $473; } - HEAP32[$rc>>2] = -1; - } - } while(0); - $350 = HEAP32[$rc>>2]|0; - $351 = ($350|0)!=(0); - $352 = HEAP32[$i>>2]|0; - if ($351) { - label = 71; - break; - } - $362 = (($352) + 1)|0; - HEAP32[$i>>2] = $362; - $363 = HEAP32[$pRhs>>2]|0; - $364 = ((($363)) + 40|0); - HEAP32[$pRhs>>2] = $364; - $365 = HEAP32[$serial_type>>2]|0; - $366 = (_sqlite3VdbeSerialTypeLen($365)|0); - $367 = HEAP32[$d1>>2]|0; - $368 = (($367) + ($366))|0; - HEAP32[$d1>>2] = $368; - $369 = HEAP32[$serial_type>>2]|0; - $370 = (_sqlite3VarintLen($369,0)|0); - $371 = HEAP32[$idx1>>2]|0; - $372 = (($371) + ($370))|0; - HEAP32[$idx1>>2] = $372; - $373 = HEAP32[$idx1>>2]|0; - $374 = HEAP32[$szHdr1>>2]|0; - $375 = ($373>>>0)<($374>>>0); - if (!($375)) { - label = 77; - break; - } - $376 = HEAP32[$i>>2]|0; - $377 = HEAP32[$3>>2]|0; - $378 = ((($377)) + 8|0); - $379 = HEAP16[$378>>1]|0; - $380 = $379&65535; - $381 = ($376|0)<($380|0); - if (!($381)) { - label = 77; - break; - } - $382 = HEAP32[$d1>>2]|0; - $383 = HEAP32[$1>>2]|0; - $384 = ($382>>>0)<=($383>>>0); - if (!($384)) { - label = 77; + } while(0); + $474 = HEAP32[$11>>2]|0; + $475 = (($474) + -1)|0; + HEAP32[$11>>2] = $475; + $476 = HEAP32[$13>>2]|0; + $477 = ((($476)) + 48|0); + HEAP32[$13>>2] = $477; + } + $478 = HEAP32[$31>>2]|0; + $479 = (($478) + 1)|0; + HEAP32[$31>>2] = $479; + } + $480 = HEAP32[$28>>2]|0; + $481 = ($480|0)!=(0); + if (!($481)) { + STACKTOP = sp;return; + } + HEAP32[$35>>2] = 0; + HEAP32[$36>>2] = 0; + $482 = HEAP32[$12>>2]|0; + $483 = ((($482)) + 12|0); + $484 = HEAP32[$483>>2]|0; + $485 = (($484) - 1)|0; + HEAP32[$11>>2] = $485; + $486 = HEAP32[$12>>2]|0; + $487 = ((($486)) + 20|0); + $488 = HEAP32[$487>>2]|0; + HEAP32[$13>>2] = $488; + while(1) { + $489 = HEAP32[$11>>2]|0; + $490 = ($489|0)>=(0); + if (!($490)) { break; } + $491 = HEAP32[$13>>2]|0; + $492 = ((($491)) + 10|0); + $493 = HEAP16[$492>>1]|0; + $494 = $493&65535; + $495 = $494 & 64; + $496 = ($495|0)==(0); + if (!($496)) { + $497 = HEAP32[$8>>2]|0; + $498 = HEAP32[$13>>2]|0; + $499 = HEAP32[$498>>2]|0; + $500 = ((($499)) + 16|0); + $501 = HEAP32[$500>>2]|0; + $502 = (_sqlite3ExprDup($497,$501,0)|0); + HEAP32[$34>>2] = $502; + $503 = HEAP32[$6>>2]|0; + $504 = HEAP32[$503>>2]|0; + $505 = HEAP32[$35>>2]|0; + $506 = HEAP32[$34>>2]|0; + $507 = (_sqlite3ExprListAppend($504,$505,$506)|0); + HEAP32[$35>>2] = $507; + $508 = HEAP32[$13>>2]|0; + $509 = HEAP32[$508>>2]|0; + $510 = ((($509)) + 12|0); + $511 = HEAP32[$510>>2]|0; + HEAP32[$36>>2] = $511; + } + $512 = HEAP32[$11>>2]|0; + $513 = (($512) + -1)|0; + HEAP32[$11>>2] = $513; + $514 = HEAP32[$13>>2]|0; + $515 = ((($514)) + 48|0); + HEAP32[$13>>2] = $515; + } + $516 = HEAP32[$8>>2]|0; + $517 = HEAP32[$36>>2]|0; + $518 = (_sqlite3ExprDup($516,$517,0)|0); + HEAP32[$34>>2] = $518; + $519 = HEAP32[$7>>2]|0; + $520 = HEAP32[$34>>2]|0; + $521 = (_sqlite3PExpr($519,33,$520,0,0)|0); + HEAP32[$37>>2] = $521; + $522 = HEAP32[$37>>2]|0; + $523 = ($522|0)!=(0|0); + if ($523) { + $524 = HEAP32[$37>>2]|0; + $525 = HEAP32[$10>>2]|0; + _transferJoinMarkings($524,$525); + $526 = HEAP32[$35>>2]|0; + $527 = HEAP32[$37>>2]|0; + $528 = ((($527)) + 20|0); + HEAP32[$528>>2] = $526; + $529 = HEAP32[$4>>2]|0; + $530 = HEAP32[$37>>2]|0; + $531 = (_whereClauseInsert($529,$530,3)|0); + HEAP32[$38>>2] = $531; + $532 = HEAP32[$3>>2]|0; + $533 = HEAP32[$4>>2]|0; + $534 = HEAP32[$38>>2]|0; + _exprAnalyze($532,$533,$534); + $535 = HEAP32[$4>>2]|0; + $536 = ((($535)) + 20|0); + $537 = HEAP32[$536>>2]|0; + $538 = HEAP32[$5>>2]|0; + $539 = (($537) + (($538*48)|0)|0); + HEAP32[$9>>2] = $539; + $540 = HEAP32[$4>>2]|0; + $541 = HEAP32[$38>>2]|0; + $542 = HEAP32[$5>>2]|0; + _markTermAsChild($540,$541,$542); + } else { + $543 = HEAP32[$8>>2]|0; + $544 = HEAP32[$35>>2]|0; + _sqlite3ExprListDelete($543,$544); } - if ((label|0) == 43) { - $212 = (_sqlite3CorruptError(74527)|0); - $213 = $212&255; - $214 = HEAP32[$3>>2]|0; - $215 = ((($214)) + 11|0); - HEAP8[$215>>0] = $213; - HEAP32[$0>>2] = 0; - $391 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($391|0); - } - else if ((label|0) == 59) { - $302 = (_sqlite3CorruptError(74557)|0); - $303 = $302&255; - $304 = HEAP32[$3>>2]|0; - $305 = ((($304)) + 11|0); - HEAP8[$305>>0] = $303; - HEAP32[$0>>2] = 0; - $391 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($391|0); - } - else if ((label|0) == 71) { - $353 = HEAP32[$pKeyInfo>>2]|0; - $354 = ((($353)) + 16|0); - $355 = HEAP32[$354>>2]|0; - $356 = (($355) + ($352)|0); - $357 = HEAP8[$356>>0]|0; - $358 = ($357<<24>>24)!=(0); - if ($358) { - $359 = HEAP32[$rc>>2]|0; - $360 = (0 - ($359))|0; - HEAP32[$rc>>2] = $360; - } - $361 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $361; - $391 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($391|0); - } - else if ((label|0) == 77) { - $385 = HEAP32[$3>>2]|0; - $386 = ((($385)) + 14|0); - HEAP8[$386>>0] = 1; - $387 = HEAP32[$3>>2]|0; - $388 = ((($387)) + 10|0); - $389 = HEAP8[$388>>0]|0; - $390 = $389 << 24 >> 24; - HEAP32[$0>>2] = $390; - $391 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($391|0); - } - return (0)|0; + $545 = HEAP32[$9>>2]|0; + $546 = ((($545)) + 12|0); + HEAP16[$546>>1] = 4096; + STACKTOP = sp;return; } -function _sqlite3GetVarint32($p,$v) { - $p = $p|0; - $v = $v|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $a = 0, $b = 0, $n = 0, $v64 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 25|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $a = sp + 12|0; - $b = sp + 8|0; - $v64 = sp; - $n = sp + 24|0; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $v; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - HEAP32[$a>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 1|0); - HEAP32[$1>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - HEAP32[$b>>2] = $10; - $11 = HEAP32[$b>>2]|0; - $12 = $11 & 128; - $13 = ($12|0)!=(0); - if (!($13)) { - $14 = HEAP32[$a>>2]|0; - $15 = $14 & 127; - HEAP32[$a>>2] = $15; - $16 = HEAP32[$a>>2]|0; - $17 = $16 << 7; - HEAP32[$a>>2] = $17; - $18 = HEAP32[$a>>2]|0; - $19 = HEAP32[$b>>2]|0; - $20 = $18 | $19; - $21 = HEAP32[$2>>2]|0; - HEAP32[$21>>2] = $20; - HEAP8[$0>>0] = 2; - $72 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($72|0); - } - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 1|0); - HEAP32[$1>>2] = $23; - $24 = HEAP32[$a>>2]|0; - $25 = $24 << 14; - HEAP32[$a>>2] = $25; - $26 = HEAP32[$1>>2]|0; - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = HEAP32[$a>>2]|0; - $30 = $29 | $28; - HEAP32[$a>>2] = $30; - $31 = HEAP32[$a>>2]|0; - $32 = $31 & 128; - $33 = ($32|0)!=(0); - if (!($33)) { - $34 = HEAP32[$a>>2]|0; - $35 = $34 & 2080895; - HEAP32[$a>>2] = $35; - $36 = HEAP32[$b>>2]|0; - $37 = $36 & 127; - HEAP32[$b>>2] = $37; - $38 = HEAP32[$b>>2]|0; - $39 = $38 << 7; - HEAP32[$b>>2] = $39; - $40 = HEAP32[$a>>2]|0; - $41 = HEAP32[$b>>2]|0; - $42 = $40 | $41; - $43 = HEAP32[$2>>2]|0; - HEAP32[$43>>2] = $42; - HEAP8[$0>>0] = 3; - $72 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($72|0); - } - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + -2|0); - HEAP32[$1>>2] = $45; - $46 = HEAP32[$1>>2]|0; - $47 = (_sqlite3GetVarint($46,$v64)|0); - HEAP8[$n>>0] = $47; - $48 = $v64; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = $v64; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = ($50|0)!=($56|0); - $61 = (0)!=($59|0); - $62 = $60 | $61; - if ($62) { - $63 = HEAP32[$2>>2]|0; - HEAP32[$63>>2] = -1; - } else { - $64 = $v64; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (($64) + 4)|0; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$2>>2]|0; - HEAP32[$70>>2] = $66; - } - $71 = HEAP8[$n>>0]|0; - HEAP8[$0>>0] = $71; - $72 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($72|0); -} -function _sqlite3VdbeSerialTypeLen($serial_type) { - $serial_type = $serial_type|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 + 4|0; - $1 = sp; - HEAP32[$1>>2] = $serial_type; - $2 = HEAP32[$1>>2]|0; - $3 = ($2>>>0)>=(128); - $4 = HEAP32[$1>>2]|0; - if ($3) { - $5 = (($4) - 12)|0; - $6 = (($5>>>0) / 2)&-1; - HEAP32[$0>>2] = $6; - $10 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($10|0); - } else { - $7 = (35061 + ($4)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - HEAP32[$0>>2] = $9; - $10 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($10|0); - } - return (0)|0; -} -function _sqlite3VdbeSerialGet($buf,$serial_type,$pMem) { - $buf = $buf|0; - $serial_type = $serial_type|0; - $pMem = $pMem|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$1>>2] = $buf; - HEAP32[$2>>2] = $serial_type; - HEAP32[$3>>2] = $pMem; - $4 = HEAP32[$2>>2]|0; - switch ($4|0) { - case 0: case 11: case 10: { - $5 = HEAP32[$3>>2]|0; - $6 = ((($5)) + 8|0); - HEAP16[$6>>1] = 1; - HEAP32[$0>>2] = 0; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - break; - } - case 1: { - $7 = HEAP32[$1>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = HEAP32[$3>>2]|0; - $13 = $12; - $14 = $13; - HEAP32[$14>>2] = $9; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = HEAP32[$3>>2]|0; - $18 = ((($17)) + 8|0); - HEAP16[$18>>1] = 4; - HEAP32[$0>>2] = 1; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - break; - } - case 2: { - $19 = HEAP32[$1>>2]|0; - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = $21<<8; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = $22 | $26; - $28 = ($27|0)<(0); - $29 = $28 << 31 >> 31; - $30 = HEAP32[$3>>2]|0; - $31 = $30; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $29; - $35 = HEAP32[$3>>2]|0; - $36 = ((($35)) + 8|0); - HEAP16[$36>>1] = 4; - HEAP32[$0>>2] = 2; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - break; - } - case 3: { - $37 = HEAP32[$1>>2]|0; - $38 = HEAP8[$37>>0]|0; - $39 = $38 << 24 >> 24; - $40 = $39<<16; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 1|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = $44 << 8; - $46 = $40 | $45; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 2|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = $46 | $50; - $52 = ($51|0)<(0); - $53 = $52 << 31 >> 31; - $54 = HEAP32[$3>>2]|0; - $55 = $54; - $56 = $55; - HEAP32[$56>>2] = $51; - $57 = (($55) + 4)|0; - $58 = $57; - HEAP32[$58>>2] = $53; - $59 = HEAP32[$3>>2]|0; - $60 = ((($59)) + 8|0); - HEAP16[$60>>1] = 4; - HEAP32[$0>>2] = 3; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - break; - } - case 4: { - $61 = HEAP32[$1>>2]|0; - $62 = HEAP8[$61>>0]|0; - $63 = $62 << 24 >> 24; - $64 = $63<<24; - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 1|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - $69 = $68 << 16; - $70 = $64 | $69; - $71 = HEAP32[$1>>2]|0; - $72 = ((($71)) + 2|0); - $73 = HEAP8[$72>>0]|0; - $74 = $73&255; - $75 = $74 << 8; - $76 = $70 | $75; - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 3|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = $76 | $80; - $82 = ($81|0)<(0); - $83 = $82 << 31 >> 31; - $84 = HEAP32[$3>>2]|0; - $85 = $84; - $86 = $85; - HEAP32[$86>>2] = $81; - $87 = (($85) + 4)|0; - $88 = $87; - HEAP32[$88>>2] = $83; - $89 = HEAP32[$3>>2]|0; - $90 = ((($89)) + 8|0); - HEAP16[$90>>1] = 4; - HEAP32[$0>>2] = 4; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - break; - } - case 5: { - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 2|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $95 = $94 << 24; - $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 2|0); - $98 = ((($97)) + 1|0); - $99 = HEAP8[$98>>0]|0; - $100 = $99&255; - $101 = $100 << 16; - $102 = $95 | $101; - $103 = HEAP32[$1>>2]|0; - $104 = ((($103)) + 2|0); - $105 = ((($104)) + 2|0); - $106 = HEAP8[$105>>0]|0; - $107 = $106&255; - $108 = $107 << 8; - $109 = $102 | $108; - $110 = HEAP32[$1>>2]|0; - $111 = ((($110)) + 2|0); - $112 = ((($111)) + 3|0); - $113 = HEAP8[$112>>0]|0; - $114 = $113&255; - $115 = $109 | $114; - $116 = HEAP32[$1>>2]|0; - $117 = HEAP8[$116>>0]|0; - $118 = $117 << 24 >> 24; - $119 = $118<<8; - $120 = HEAP32[$1>>2]|0; - $121 = ((($120)) + 1|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = $119 | $123; - $125 = ($124|0)<(0); - $126 = $125 << 31 >> 31; - $127 = (___muldi3(0,1,($124|0),($126|0))|0); - $128 = tempRet0; - $129 = (_i64Add(($115|0),0,($127|0),($128|0))|0); - $130 = tempRet0; - $131 = HEAP32[$3>>2]|0; - $132 = $131; - $133 = $132; - HEAP32[$133>>2] = $129; - $134 = (($132) + 4)|0; - $135 = $134; - HEAP32[$135>>2] = $130; - $136 = HEAP32[$3>>2]|0; - $137 = ((($136)) + 8|0); - HEAP16[$137>>1] = 4; - HEAP32[$0>>2] = 6; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - break; - } - case 7: case 6: { - $138 = HEAP32[$1>>2]|0; - $139 = HEAP32[$2>>2]|0; - $140 = HEAP32[$3>>2]|0; - $141 = (_serialGet($138,$139,$140)|0); - HEAP32[$0>>2] = $141; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - break; - } - case 9: case 8: { - $142 = HEAP32[$2>>2]|0; - $143 = (($142) - 8)|0; - $144 = HEAP32[$3>>2]|0; - $145 = $144; - $146 = $145; - HEAP32[$146>>2] = $143; - $147 = (($145) + 4)|0; - $148 = $147; - HEAP32[$148>>2] = 0; - $149 = HEAP32[$3>>2]|0; - $150 = ((($149)) + 8|0); - HEAP16[$150>>1] = 4; - HEAP32[$0>>2] = 0; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - break; - } - default: { - $151 = HEAP32[$1>>2]|0; - $152 = HEAP32[$3>>2]|0; - $153 = ((($152)) + 16|0); - HEAP32[$153>>2] = $151; - $154 = HEAP32[$2>>2]|0; - $155 = (($154) - 12)|0; - $156 = (($155>>>0) / 2)&-1; - $157 = HEAP32[$3>>2]|0; - $158 = ((($157)) + 12|0); - HEAP32[$158>>2] = $156; - $159 = HEAP32[$2>>2]|0; - $160 = $159 & 1; - $161 = (14590 + ($160<<1)|0); - $162 = HEAP16[$161>>1]|0; - $163 = HEAP32[$3>>2]|0; - $164 = ((($163)) + 8|0); - HEAP16[$164>>1] = $162; - $165 = HEAP32[$3>>2]|0; - $166 = ((($165)) + 12|0); - $167 = HEAP32[$166>>2]|0; - HEAP32[$0>>2] = $167; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - } - } - return (0)|0; -} -function _sqlite3IntFloatCompare($0,$1,$r) { +function _isLikeOrGlob($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; - $r = +$r; - var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0, $8 = 0, $9 = 0.0, $or$cond = 0, $s = 0, $y = 0; - var label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $40 = 0, $41 = 0, $42 = 0, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 32|0; - $3 = sp + 24|0; - $4 = sp + 16|0; - $y = sp + 8|0; - $s = sp; - $5 = $3; - $6 = $5; + STACKTOP = STACKTOP + 96|0; + $5 = sp + 80|0; + $6 = sp + 76|0; + $7 = sp + 72|0; + $8 = sp + 68|0; + $9 = sp + 64|0; + $10 = sp + 60|0; + $11 = sp + 56|0; + $12 = sp + 52|0; + $13 = sp + 48|0; + $14 = sp + 44|0; + $15 = sp + 40|0; + $16 = sp + 36|0; + $17 = sp + 84|0; + $18 = sp + 32|0; + $19 = sp + 28|0; + $20 = sp + 24|0; + $21 = sp + 20|0; + $22 = sp + 16|0; + $23 = sp + 12|0; + $24 = sp + 8|0; + $25 = sp + 4|0; + $26 = sp; HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAPF64[$4>>3] = $r; - $9 = +HEAPF64[$4>>3]; - $10 = $9 < -9.2233720368547758E+18; - if ($10) { - HEAP32[$2>>2] = 1; - $78 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($78|0); - } - $11 = +HEAPF64[$4>>3]; - $12 = $11 > 9.2233720368547758E+18; - if ($12) { - HEAP32[$2>>2] = -1; - $78 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($78|0); - } - $13 = +HEAPF64[$4>>3]; - $14 = (~~$13)>>>0; - $15 = +Math_abs($13) >= 1.0 ? $13 > 0.0 ? (~~+Math_min(+Math_floor($13 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($13 - +(~~$13 >>> 0)) / 4294967296.0) >>> 0 : 0; - $16 = $y; - $17 = $16; - HEAP32[$17>>2] = $14; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - $20 = $3; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = $y; - $27 = $26; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = 0; + $27 = HEAP32[$6>>2]|0; $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = ($25|0)<($31|0); - $33 = ($22>>>0)<($28>>>0); - $34 = ($25|0)==($31|0); - $35 = $34 & $33; - $36 = $32 | $35; - if ($36) { - HEAP32[$2>>2] = -1; - $78 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($78|0); + HEAP32[$18>>2] = $28; + HEAP32[$19>>2] = 0; + $29 = HEAP32[$18>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$10>>2]|0; + $32 = (_sqlite3IsLikeFunction($29,$30,$31,$17)|0); + $33 = ($32|0)!=(0); + if (!($33)) { + HEAP32[$5>>2] = 0; + $188 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($188|0); } - $37 = $3; - $38 = $37; + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 20|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$14>>2] = $36; + $37 = HEAP32[$14>>2]|0; + $38 = ((($37)) + 4|0); $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = $y; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = (($43) + 4)|0; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = ($42|0)>($48|0); - $50 = ($39>>>0)>($45>>>0); - $51 = ($42|0)==($48|0); - $52 = $51 & $50; - $53 = $49 | $52; - if ($53) { - $54 = $y; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = ($56|0)==(0); - $61 = ($59|0)==(-2147483648); - $62 = $60 & $61; - $63 = +HEAPF64[$4>>3]; - $64 = $63 > 0.0; - $or$cond = $62 & $64; - if ($or$cond) { - HEAP32[$2>>2] = -1; - $78 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($78|0); - } else { - HEAP32[$2>>2] = 1; - $78 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($78|0); + $40 = ((($39)) + 20|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$13>>2] = $41; + $42 = HEAP32[$13>>2]|0; + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + $45 = ($44|0)!=(152); + if (!($45)) { + $46 = HEAP32[$13>>2]|0; + $47 = (_sqlite3ExprAffinity($46)|0); + $48 = $47 << 24 >> 24; + $49 = ($48|0)!=(66); + if (!($49)) { + $50 = HEAP32[$13>>2]|0; + $51 = ((($50)) + 44|0); + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 42|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55 & 16; + $57 = ($56|0)!=(0); + if (!($57)) { + $58 = HEAP32[$14>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$60>>2]|0; + $62 = (_sqlite3ExprSkipCollate($61)|0); + HEAP32[$12>>2] = $62; + $63 = HEAP32[$12>>2]|0; + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + HEAP32[$20>>2] = $65; + $66 = HEAP32[$20>>2]|0; + $67 = ($66|0)==(135); + if ($67) { + $68 = HEAP32[$6>>2]|0; + $69 = ((($68)) + 432|0); + $70 = HEAP32[$69>>2]|0; + HEAP32[$22>>2] = $70; + $71 = HEAP32[$12>>2]|0; + $72 = ((($71)) + 32|0); + $73 = HEAP16[$72>>1]|0; + $74 = $73 << 16 >> 16; + HEAP32[$23>>2] = $74; + $75 = HEAP32[$22>>2]|0; + $76 = HEAP32[$23>>2]|0; + $77 = (_sqlite3VdbeGetBoundValue($75,$76,65)|0); + HEAP32[$19>>2] = $77; + $78 = HEAP32[$19>>2]|0; + $79 = ($78|0)!=(0|0); + if ($79) { + $80 = HEAP32[$19>>2]|0; + $81 = (_sqlite3_value_type($80)|0); + $82 = ($81|0)==(3); + if ($82) { + $83 = HEAP32[$19>>2]|0; + $84 = (_sqlite3_value_text($83)|0); + HEAP32[$11>>2] = $84; + } + } + $85 = HEAP32[$6>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$23>>2]|0; + _sqlite3VdbeSetVarmask($87,$88); + } else { + $89 = HEAP32[$20>>2]|0; + $90 = ($89|0)==(97); + if ($90) { + $91 = HEAP32[$12>>2]|0; + $92 = ((($91)) + 8|0); + $93 = HEAP32[$92>>2]|0; + HEAP32[$11>>2] = $93; + } + } + $94 = HEAP32[$11>>2]|0; + $95 = ($94|0)!=(0|0); + do { + if ($95) { + HEAP32[$16>>2] = 0; + while(1) { + $96 = HEAP32[$11>>2]|0; + $97 = HEAP32[$16>>2]|0; + $98 = (($96) + ($97)|0); + $99 = HEAP8[$98>>0]|0; + $100 = $99 << 24 >> 24; + HEAP32[$15>>2] = $100; + $101 = ($100|0)!=(0); + if ($101) { + $102 = HEAP32[$15>>2]|0; + $103 = HEAP8[$17>>0]|0; + $104 = $103 << 24 >> 24; + $105 = ($102|0)!=($104|0); + if ($105) { + $106 = HEAP32[$15>>2]|0; + $107 = ((($17)) + 1|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108 << 24 >> 24; + $110 = ($106|0)!=($109|0); + if ($110) { + $111 = HEAP32[$15>>2]|0; + $112 = ((($17)) + 2|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113 << 24 >> 24; + $115 = ($111|0)!=($114|0); + $189 = $115; + } else { + $189 = 0; + } + } else { + $189 = 0; + } + } else { + $189 = 0; + } + $116 = HEAP32[$16>>2]|0; + if (!($189)) { + break; + } + $117 = (($116) + 1)|0; + HEAP32[$16>>2] = $117; + } + $118 = ($116|0)!=(0); + if ($118) { + $119 = HEAP32[$11>>2]|0; + $120 = HEAP32[$16>>2]|0; + $121 = (($120) - 1)|0; + $122 = (($119) + ($121)|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = (255)!=($124|0); + if ($125) { + $126 = HEAP32[$15>>2]|0; + $127 = HEAP8[$17>>0]|0; + $128 = $127 << 24 >> 24; + $129 = ($126|0)==($128|0); + if ($129) { + $130 = HEAP32[$11>>2]|0; + $131 = HEAP32[$16>>2]|0; + $132 = (($131) + 1)|0; + $133 = (($130) + ($132)|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134 << 24 >> 24; + $136 = ($135|0)==(0); + $138 = $136; + } else { + $138 = 0; + } + $137 = $138&1; + $139 = HEAP32[$9>>2]|0; + HEAP32[$139>>2] = $137; + $140 = HEAP32[$18>>2]|0; + $141 = HEAP32[$11>>2]|0; + $142 = (_sqlite3Expr($140,97,$141)|0); + HEAP32[$24>>2] = $142; + $143 = HEAP32[$24>>2]|0; + $144 = ($143|0)!=(0|0); + if ($144) { + $145 = HEAP32[$24>>2]|0; + $146 = ((($145)) + 8|0); + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$16>>2]|0; + $149 = (($147) + ($148)|0); + HEAP8[$149>>0] = 0; + } + $150 = HEAP32[$24>>2]|0; + $151 = HEAP32[$8>>2]|0; + HEAP32[$151>>2] = $150; + $152 = HEAP32[$20>>2]|0; + $153 = ($152|0)==(135); + if (!($153)) { + break; + } + $154 = HEAP32[$6>>2]|0; + $155 = ((($154)) + 8|0); + $156 = HEAP32[$155>>2]|0; + HEAP32[$25>>2] = $156; + $157 = HEAP32[$25>>2]|0; + $158 = HEAP32[$12>>2]|0; + $159 = ((($158)) + 32|0); + $160 = HEAP16[$159>>1]|0; + $161 = $160 << 16 >> 16; + _sqlite3VdbeSetVarmask($157,$161); + $162 = HEAP32[$9>>2]|0; + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)!=(0); + if (!($164)) { + break; + } + $165 = HEAP32[$12>>2]|0; + $166 = ((($165)) + 8|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($167)) + 1|0); + $169 = HEAP8[$168>>0]|0; + $170 = $169 << 24 >> 24; + $171 = ($170|0)!=(0); + if (!($171)) { + break; + } + $172 = HEAP32[$6>>2]|0; + $173 = (_sqlite3GetTempReg($172)|0); + HEAP32[$26>>2] = $173; + $174 = HEAP32[$6>>2]|0; + $175 = HEAP32[$12>>2]|0; + $176 = HEAP32[$26>>2]|0; + (_sqlite3ExprCodeTarget($174,$175,$176)|0); + $177 = HEAP32[$25>>2]|0; + $178 = HEAP32[$25>>2]|0; + $179 = (_sqlite3VdbeCurrentAddr($178)|0); + $180 = (($179) - 1)|0; + _sqlite3VdbeChangeP3($177,$180,0); + $181 = HEAP32[$6>>2]|0; + $182 = HEAP32[$26>>2]|0; + _sqlite3ReleaseTempReg($181,$182); + break; + } + } + HEAP32[$11>>2] = 0; + } + } while(0); + $183 = HEAP32[$11>>2]|0; + $184 = ($183|0)!=(0|0); + $185 = $184&1; + HEAP32[$21>>2] = $185; + $186 = HEAP32[$19>>2]|0; + _sqlite3ValueFree($186); + $187 = HEAP32[$21>>2]|0; + HEAP32[$5>>2] = $187; + $188 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($188|0); + } } } - $65 = $3; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (($65) + 4)|0; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (+($67>>>0)) + (4294967296.0*(+($70|0))); - HEAPF64[$s>>3] = $71; - $72 = +HEAPF64[$s>>3]; - $73 = +HEAPF64[$4>>3]; - $74 = $72 < $73; - if ($74) { - HEAP32[$2>>2] = -1; - $78 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($78|0); - } - $75 = +HEAPF64[$s>>3]; - $76 = +HEAPF64[$4>>3]; - $77 = $75 > $76; - if ($77) { - HEAP32[$2>>2] = 1; - $78 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($78|0); - } else { - HEAP32[$2>>2] = 0; - $78 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($78|0); - } - return (0)|0; + HEAP32[$5>>2] = 0; + $188 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($188|0); } -function _vdbeRecordDecodeInt($serial_type,$aKey) { - $serial_type = $serial_type|0; - $aKey = $aKey|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $x = 0, $y = 0, label = 0, sp = 0; +function _isMatchOfColumn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 8|0; - $1 = sp + 24|0; $2 = sp + 20|0; - $y = sp + 16|0; - $x = sp; - HEAP32[$1>>2] = $serial_type; - HEAP32[$2>>2] = $aKey; - $3 = HEAP32[$1>>2]|0; - switch ($3|0) { - case 1: case 0: { - $4 = HEAP32[$2>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5 << 24 >> 24; - $7 = ($6|0)<(0); - $8 = $7 << 31 >> 31; - $9 = $0; - $10 = $9; - HEAP32[$10>>2] = $6; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = $8; - break; - } - case 2: { - $13 = HEAP32[$2>>2]|0; - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = $15<<8; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $16 | $20; - $22 = ($21|0)<(0); - $23 = $22 << 31 >> 31; - $24 = $0; - $25 = $24; - HEAP32[$25>>2] = $21; - $26 = (($24) + 4)|0; - $27 = $26; - HEAP32[$27>>2] = $23; - break; - } - case 3: { - $28 = HEAP32[$2>>2]|0; - $29 = HEAP8[$28>>0]|0; - $30 = $29 << 24 >> 24; - $31 = $30<<16; - $32 = HEAP32[$2>>2]|0; - $33 = ((($32)) + 1|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = $35 << 8; - $37 = $31 | $36; - $38 = HEAP32[$2>>2]|0; - $39 = ((($38)) + 2|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = $37 | $41; - $43 = ($42|0)<(0); - $44 = $43 << 31 >> 31; - $45 = $0; - $46 = $45; - HEAP32[$46>>2] = $42; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $44; - break; - } - case 4: { - $49 = HEAP32[$2>>2]|0; - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = $51 << 24; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)!=(151); + if ($11) { + HEAP32[$2>>2] = 0; $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = $56 << 16; - $58 = $52 | $57; - $59 = HEAP32[$2>>2]|0; - $60 = ((($59)) + 2|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = $62 << 8; - $64 = $58 | $63; - $65 = HEAP32[$2>>2]|0; - $66 = ((($65)) + 3|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - $69 = $64 | $68; - HEAP32[$y>>2] = $69; - $70 = HEAP32[$y>>2]|0; - $71 = ($70|0)<(0); - $72 = $71 << 31 >> 31; - $73 = $0; - $74 = $73; - HEAP32[$74>>2] = $70; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = $72; - break; - } - case 5: { - $77 = HEAP32[$2>>2]|0; - $78 = ((($77)) + 2|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = $80 << 24; - $82 = HEAP32[$2>>2]|0; - $83 = ((($82)) + 2|0); - $84 = ((($83)) + 1|0); - $85 = HEAP8[$84>>0]|0; - $86 = $85&255; - $87 = $86 << 16; - $88 = $81 | $87; - $89 = HEAP32[$2>>2]|0; - $90 = ((($89)) + 2|0); - $91 = ((($90)) + 2|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = $93 << 8; - $95 = $88 | $94; - $96 = HEAP32[$2>>2]|0; - $97 = ((($96)) + 2|0); - $98 = ((($97)) + 3|0); - $99 = HEAP8[$98>>0]|0; - $100 = $99&255; - $101 = $95 | $100; - $102 = HEAP32[$2>>2]|0; - $103 = HEAP8[$102>>0]|0; - $104 = $103 << 24 >> 24; - $105 = $104<<8; - $106 = HEAP32[$2>>2]|0; - $107 = ((($106)) + 1|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = $105 | $109; - $111 = ($110|0)<(0); - $112 = $111 << 31 >> 31; - $113 = (___muldi3(0,1,($110|0),($112|0))|0); - $114 = tempRet0; - $115 = (_i64Add(($101|0),0,($113|0),($114|0))|0); - $116 = tempRet0; - $117 = $0; - $118 = $117; - HEAP32[$118>>2] = $115; - $119 = (($117) + 4)|0; - $120 = $119; - HEAP32[$120>>2] = $116; - break; - } - case 6: { - $121 = HEAP32[$2>>2]|0; - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = $123 << 24; - $125 = HEAP32[$2>>2]|0; - $126 = ((($125)) + 1|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $129 = $128 << 16; - $130 = $124 | $129; - $131 = HEAP32[$2>>2]|0; - $132 = ((($131)) + 2|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = $134 << 8; - $136 = $130 | $135; - $137 = HEAP32[$2>>2]|0; - $138 = ((($137)) + 3|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = $136 | $140; - $142 = $x; - $143 = $142; - HEAP32[$143>>2] = $141; - $144 = (($142) + 4)|0; - $145 = $144; - HEAP32[$145>>2] = 0; - $146 = $x; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = HEAP32[$2>>2]|0; - $153 = ((($152)) + 4|0); - $154 = HEAP8[$153>>0]|0; - $155 = $154&255; - $156 = $155 << 24; - $157 = HEAP32[$2>>2]|0; - $158 = ((($157)) + 4|0); - $159 = ((($158)) + 1|0); - $160 = HEAP8[$159>>0]|0; - $161 = $160&255; - $162 = $161 << 16; - $163 = $156 | $162; - $164 = HEAP32[$2>>2]|0; - $165 = ((($164)) + 4|0); - $166 = ((($165)) + 2|0); - $167 = HEAP8[$166>>0]|0; - $168 = $167&255; - $169 = $168 << 8; - $170 = $163 | $169; - $171 = HEAP32[$2>>2]|0; - $172 = ((($171)) + 4|0); - $173 = ((($172)) + 3|0); - $174 = HEAP8[$173>>0]|0; - $175 = $174&255; - $176 = $170 | $175; - $177 = $x; - $178 = $177; - HEAP32[$178>>2] = $176; - $179 = (($177) + 4)|0; - $180 = $179; - HEAP32[$180>>2] = $148; - $181 = $x; - $182 = $181; - $183 = HEAP32[$182>>2]|0; - $184 = (($181) + 4)|0; - $185 = $184; - $186 = HEAP32[$185>>2]|0; - $187 = $0; - $188 = $187; - HEAP32[$188>>2] = $183; - $189 = (($187) + 4)|0; - $190 = $189; - HEAP32[$190>>2] = $186; - break; - } - default: { - $191 = HEAP32[$1>>2]|0; - $192 = (($191) - 8)|0; - $193 = $0; - $194 = $193; - HEAP32[$194>>2] = $192; - $195 = (($193) + 4)|0; - $196 = $195; - HEAP32[$196>>2] = 0; - } - } - $197 = $0; - $198 = $197; - $199 = HEAP32[$198>>2]|0; - $200 = (($197) + 4)|0; - $201 = $200; - $202 = HEAP32[$201>>2]|0; - tempRet0 = ($202); - STACKTOP = sp;return ($199|0); -} -function _vdbeCompareMemString($pMem1,$pMem2,$pColl,$prcErr) { - $pMem1 = $pMem1|0; - $pMem2 = $pMem2|0; - $pColl = $pColl|0; - $prcErr = $prcErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $c1 = 0; - var $c2 = 0, $n1 = 0, $n2 = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $v1 = 0, $v2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $3 = sp + 104|0; - $4 = sp + 100|0; - $rc = sp + 96|0; - $v1 = sp + 92|0; - $v2 = sp + 88|0; - $n1 = sp + 84|0; - $n2 = sp + 80|0; - $c1 = sp + 40|0; - $c2 = sp; - HEAP32[$1>>2] = $pMem1; - HEAP32[$2>>2] = $pMem2; - HEAP32[$3>>2] = $pColl; - HEAP32[$4>>2] = $prcErr; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 10|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = HEAP32[$3>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($8|0)==($12|0); - if ($13) { - $14 = HEAP32[$3>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 16|0); - $31 = HEAP32[$30>>2]|0; - $32 = (FUNCTION_TABLE_iiiiii[$16 & 255]($19,$22,$25,$28,$31)|0); - HEAP32[$0>>2] = $32; - $78 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($78|0); + STACKTOP = sp;return ($53|0); } - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 32|0); - $35 = HEAP32[$34>>2]|0; - _sqlite3VdbeMemInit($c1,$35,1); - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 32|0); - $38 = HEAP32[$37>>2]|0; - _sqlite3VdbeMemInit($c2,$38,1); - $39 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemShallowCopy($c1,$39,4096); - $40 = HEAP32[$2>>2]|0; - _sqlite3VdbeMemShallowCopy($c2,$40,4096); - $41 = HEAP32[$3>>2]|0; - $42 = ((($41)) + 4|0); - $43 = HEAP8[$42>>0]|0; - $44 = (_sqlite3ValueText($c1,$43)|0); - HEAP32[$v1>>2] = $44; - $45 = HEAP32[$v1>>2]|0; - $46 = ($45|0)==(0|0); - $47 = ((($c1)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = $46 ? 0 : $48; - HEAP32[$n1>>2] = $49; - $50 = HEAP32[$3>>2]|0; - $51 = ((($50)) + 4|0); - $52 = HEAP8[$51>>0]|0; - $53 = (_sqlite3ValueText($c2,$52)|0); - HEAP32[$v2>>2] = $53; - $54 = HEAP32[$v2>>2]|0; - $55 = ($54|0)==(0|0); - $56 = ((($c2)) + 12|0); - $57 = HEAP32[$56>>2]|0; - $58 = $55 ? 0 : $57; - HEAP32[$n2>>2] = $58; - $59 = HEAP32[$3>>2]|0; - $60 = ((($59)) + 12|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$3>>2]|0; - $63 = ((($62)) + 8|0); - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$n1>>2]|0; - $66 = HEAP32[$v1>>2]|0; - $67 = HEAP32[$n2>>2]|0; - $68 = HEAP32[$v2>>2]|0; - $69 = (FUNCTION_TABLE_iiiiii[$61 & 255]($64,$65,$66,$67,$68)|0); - HEAP32[$rc>>2] = $69; - $70 = HEAP32[$v1>>2]|0; - $71 = ($70|0)==(0|0); - $72 = HEAP32[$v2>>2]|0; - $73 = ($72|0)==(0|0); - $or$cond = $71 | $73; - $74 = HEAP32[$4>>2]|0; - $75 = ($74|0)!=(0|0); - $or$cond3 = $or$cond & $75; - if ($or$cond3) { - $76 = HEAP32[$4>>2]|0; - HEAP8[$76>>0] = 7; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 20|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = ($15|0)==(0|0); + if (!($16)) { + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(2); + if (!($19)) { + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$6>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ($27|0)!=(152); + if (!($28)) { + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 44|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 42|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 & 16; + $36 = ($35|0)!=(0); + if ($36) { + HEAP32[$7>>2] = 0; + while(1) { + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)<(4); + if (!($38)) { + label = 14; + break; + } + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = (5512 + ($42<<3)|0); + $44 = HEAP32[$43>>2]|0; + $45 = (_sqlite3StrICmp($41,$44)|0); + $46 = ($45|0)==(0); + $47 = HEAP32[$7>>2]|0; + if ($46) { + label = 12; + break; + } + $52 = (($47) + 1)|0; + HEAP32[$7>>2] = $52; + } + if ((label|0) == 12) { + $48 = (5512 + ($47<<3)|0); + $49 = ((($48)) + 4|0); + $50 = HEAP8[$49>>0]|0; + $51 = HEAP32[$4>>2]|0; + HEAP8[$51>>0] = $50; + HEAP32[$2>>2] = 1; + $53 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($53|0); + } + else if ((label|0) == 14) { + HEAP32[$2>>2] = 0; + $53 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($53|0); + } + } + } + HEAP32[$2>>2] = 0; + $53 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($53|0); + } } - _sqlite3VdbeMemRelease($c1); - _sqlite3VdbeMemRelease($c2); - $77 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $77; - $78 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($78|0); + HEAP32[$2>>2] = 0; + $53 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($53|0); } -function _isAllZero($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 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, $i = 0, label = 0, sp = 0; +function _sqlite3ExprForVectorField($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $n; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = ($3|0)<($4|0); - if (!($5)) { - label = 6; - break; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)==(119); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = (_sqlite3PExpr($11,159,0,0,0)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + $38 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($38|0); } - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + ($6)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)!=(0); - if ($10) { - label = 4; - break; + $15 = HEAP32[$5>>2]|0; + $16 = $15&65535; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 32|0); + HEAP16[$18>>1] = $16; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 12|0); + HEAP32[$21>>2] = $19; + $38 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($38|0); + } else { + $22 = HEAP32[$4>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = ($24|0)==(158); + if ($25) { + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = (($30) + (($31*20)|0)|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$4>>2] = $33; } - $11 = HEAP32[$i>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[$i>>2] = $12; - } - if ((label|0) == 4) { - HEAP32[$0>>2] = 0; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); - } - else if ((label|0) == 6) { - HEAP32[$0>>2] = 1; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = (_sqlite3ExprDup($35,$36,0)|0); + HEAP32[$6>>2] = $37; + $38 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($38|0); } return (0)|0; } -function _sqlite3VarintLen($0,$1) { +function _sqlite3IsLikeFunction($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $i = 0, label = 0, sp = 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp; - $i = sp + 8|0; - $3 = $2; - $4 = $3; - HEAP32[$4>>2] = $0; - $5 = (($3) + 4)|0; - $6 = $5; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; HEAP32[$6>>2] = $1; - HEAP32[$i>>2] = 1; - while(1) { - $7 = $2; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (_bitshift64Lshr(($9|0),($12|0),7)|0); - $14 = tempRet0; - $15 = $2; - $16 = $15; - HEAP32[$16>>2] = $13; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = ($13|0)!=(0); - $20 = ($14|0)!=(0); - $21 = $19 | $20; - $22 = HEAP32[$i>>2]|0; - if (!($21)) { - break; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)!=(151); + if (!($13)) { + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 20|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(2); + if (!($22)) { + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3FindFunction($23,$26,2,1,0)|0); + HEAP32[$9>>2] = $27; + $28 = HEAP32[$9>>2]|0; + $29 = ($28|0)==(0|0); + if (!($29)) { + $30 = HEAP32[$9>>2]|0; + $31 = ((($30)) + 2|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32&65535; + $34 = $33 & 4; + $35 = ($34|0)==(0); + if (!($35)) { + $36 = HEAP32[$8>>2]|0; + $37 = HEAP32[$9>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + ;HEAP8[$36>>0]=HEAP8[$39>>0]|0;HEAP8[$36+1>>0]=HEAP8[$39+1>>0]|0;HEAP8[$36+2>>0]=HEAP8[$39+2>>0]|0; + $40 = HEAP32[$9>>2]|0; + $41 = ((($40)) + 2|0); + $42 = HEAP16[$41>>1]|0; + $43 = $42&65535; + $44 = $43 & 8; + $45 = ($44|0)==(0); + $46 = $45&1; + $47 = HEAP32[$7>>2]|0; + HEAP32[$47>>2] = $46; + HEAP32[$4>>2] = 1; + $48 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($48|0); + } + } + HEAP32[$4>>2] = 0; + $48 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($48|0); + } } - $23 = (($22) + 1)|0; - HEAP32[$i>>2] = $23; } - STACKTOP = sp;return ($22|0); + HEAP32[$4>>2] = 0; + $48 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($48|0); } -function _sqlite3VdbeMemInit($pMem,$db,$flags) { - $pMem = $pMem|0; - $db = $db|0; - $flags = $flags|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; +function _sqlite3VdbeGetBoundValue($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - $2 = sp + 8|0; - HEAP32[$0>>2] = $pMem; - HEAP32[$1>>2] = $db; - HEAP16[$2>>1] = $flags; - $3 = HEAP16[$2>>1]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - HEAP16[$5>>1] = $3; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 32|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 24|0); - HEAP32[$10>>2] = 0; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 20|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP8[$6>>0] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 116|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = (($14) - 1)|0; + $16 = (($13) + (($15*40)|0)|0); + HEAP32[$7>>2] = $16; + $17 = HEAP32[$7>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP16[$18>>1]|0; + $20 = $19&65535; + $21 = $20 & 1; + $22 = (0)==($21|0); + if ($22) { + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = (_sqlite3ValueNew($24)|0); + HEAP32[$8>>2] = $25; + $26 = HEAP32[$8>>2]|0; + $27 = ($26|0)!=(0|0); + if ($27) { + $28 = HEAP32[$8>>2]|0; + $29 = HEAP32[$7>>2]|0; + (_sqlite3VdbeMemCopy($28,$29)|0); + $30 = HEAP32[$8>>2]|0; + $31 = HEAP8[$6>>0]|0; + _sqlite3ValueApplyAffinity($30,$31,1); + } + $32 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $32; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); + } + } + HEAP32[$3>>2] = 0; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); } -function _sqlite3VdbeMemShallowCopy($pTo,$pFrom,$srcType) { - $pTo = $pTo|0; - $pFrom = $pFrom|0; - $srcType = $srcType|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3VdbeSetVarmask($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pTo; - HEAP32[$1>>2] = $pFrom; - HEAP32[$2>>2] = $srcType; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 9312; - $8 = ($7|0)!=(0); - $9 = HEAP32[$0>>2]|0; - if ($8) { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - _vdbeClrCopy($9,$10,$11); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(32); + if ($5) { + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 196|0); + HEAP32[$7>>2] = -1; STACKTOP = sp;return; - } - $12 = HEAP32[$1>>2]|0; - ;HEAP32[$9>>2]=HEAP32[$12>>2]|0;HEAP32[$9+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$12+16>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = $16 & 2048; - $18 = ($17|0)==(0); - if (!($18)) { + } else { + $8 = HEAP32[$3>>2]|0; + $9 = (($8) - 1)|0; + $10 = 1 << $9; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 196|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13 | $10; + HEAP32[$12>>2] = $14; STACKTOP = sp;return; } - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21&65535; - $23 = $22 & -7169; - $24 = $23&65535; - HEAP16[$20>>1] = $24; - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 8|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $30 = $29 | $25; - $31 = $30&65535; - HEAP16[$27>>1] = $31; - STACKTOP = sp;return; } -function _vdbeClrCopy($pTo,$pFrom,$eType) { - $pTo = $pTo|0; - $pFrom = $pFrom|0; - $eType = $eType|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _sqlite3VdbeChangeP3($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pTo; - HEAP32[$1>>2] = $pFrom; - HEAP32[$2>>2] = $eType; - $3 = HEAP32[$0>>2]|0; - _vdbeMemClearExternAndSetNull($3); - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - _sqlite3VdbeMemShallowCopy($4,$5,$6); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (_sqlite3VdbeGetOp($7,$8)|0); + $10 = ((($9)) + 12|0); + HEAP32[$10>>2] = $6; STACKTOP = sp;return; } -function _vdbeMemClearExternAndSetNull($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFrame = 0, label = 0, sp = 0; +function _whereNthSubterm($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $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; - $0 = sp + 4|0; - $pFrame = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 8192; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - (_sqlite3VdbeMemFinalize($7,$9)|0); + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + $9 = ($8|0)!=(1024); + $10 = HEAP32[$4>>2]|0; + if ($9) { + $11 = ($10|0)==(0); + $12 = HEAP32[$3>>2]|0; + $13 = $11 ? $12 : 0; + HEAP32[$2>>2] = $13; + $27 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($27|0); } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = $13 & 1024; - $15 = ($14|0)!=(0); - $16 = HEAP32[$0>>2]|0; - do { - if ($15) { - $17 = ((($16)) + 36|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 16|0); - $21 = HEAP32[$20>>2]|0; - FUNCTION_TABLE_vi[$18 & 255]($21); - } else { - $22 = ((($16)) + 8|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23&65535; - $25 = $24 & 32; - $26 = ($25|0)!=(0); - $27 = HEAP32[$0>>2]|0; - if ($26) { - $28 = HEAP32[$27>>2]|0; - _sqlite3RowSetClear($28); - break; - } - $29 = ((($27)) + 8|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $32 = $31 & 64; - $33 = ($32|0)!=(0); - if ($33) { - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$34>>2]|0; - HEAP32[$pFrame>>2] = $35; - $36 = HEAP32[$pFrame>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = ((($37)) + 188|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$pFrame>>2]|0; - $41 = ((($40)) + 4|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$pFrame>>2]|0; - $43 = HEAP32[$pFrame>>2]|0; - $44 = HEAP32[$43>>2]|0; - $45 = ((($44)) + 188|0); - HEAP32[$45>>2] = $42; - } - } - } while(0); - $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 8|0); - HEAP16[$47>>1] = 1; - STACKTOP = sp;return; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 28|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($10|0)<($18|0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 28|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = (($24) + (($25*48)|0)|0); + HEAP32[$2>>2] = $26; + $27 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($27|0); + } else { + HEAP32[$2>>2] = 0; + $27 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($27|0); + } + return (0)|0; } -function _sqlite3VdbeMemFinalize($pMem,$pFunc) { - $pMem = $pMem|0; - $pFunc = $pFunc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ctx = 0, $rc = 0, $t = 0, dest = 0, label = 0, sp = 0; - var src = 0, stop = 0; +function _whereCombineDisjuncts($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 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, $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 label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 80|0; - $1 = sp + 76|0; - $rc = sp + 72|0; - $ctx = sp + 40|0; - $t = sp; - HEAP32[$0>>2] = $pMem; - HEAP32[$1>>2] = $pFunc; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $33 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($33|0); - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $33 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($33|0); - } - ;HEAP32[$ctx>>2]=0|0;HEAP32[$ctx+4>>2]=0|0;HEAP32[$ctx+8>>2]=0|0;HEAP32[$ctx+12>>2]=0|0;HEAP32[$ctx+16>>2]=0|0;HEAP32[$ctx+20>>2]=0|0;HEAP32[$ctx+24>>2]=0|0;HEAP32[$ctx+28>>2]=0|0; - dest=$t; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $8 = ((($t)) + 8|0); - HEAP16[$8>>1] = 1; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($t)) + 32|0); - HEAP32[$12>>2] = $11; - HEAP32[$ctx>>2] = $t; - $13 = HEAP32[$0>>2]|0; - $14 = ((($ctx)) + 8|0); - HEAP32[$14>>2] = $13; - $15 = HEAP32[$1>>2]|0; - $16 = ((($ctx)) + 4|0); - HEAP32[$16>>2] = $15; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - FUNCTION_TABLE_vi[$19 & 255]($ctx); - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 24|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)>(0); - if ($23) { - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 32|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 20|0); - $29 = HEAP32[$28>>2]|0; - _sqlite3DbFree($26,$29); + STACKTOP = STACKTOP + 48|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 32|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $13 = HEAP32[$6>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + $17 = HEAP32[$7>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP16[$18>>1]|0; + $20 = $19&65535; + $21 = $16 | $20; + $22 = $21&65535; + HEAP16[$8>>1] = $22; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = $26 & 62; + $28 = ($27|0)==(0); + if ($28) { + STACKTOP = sp;return; } - $30 = HEAP32[$0>>2]|0; - dest=$30; src=$t; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $31 = ((($ctx)) + 20|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$rc>>2] = $32; - $33 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($33|0); -} -function _sqlite3RowSetClear($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $pChunk = 0, $pNextChunk = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pChunk = sp + 4|0; - $pNextChunk = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$pChunk>>2] = $2; + $29 = HEAP32[$7>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + $33 = $32 & 62; + $34 = ($33|0)==(0); + if ($34) { + STACKTOP = sp;return; + } + $35 = HEAP16[$8>>1]|0; + $36 = $35&65535; + $37 = $36 & 26; + $38 = HEAP16[$8>>1]|0; + $39 = $38&65535; + $40 = ($37|0)!=($39|0); + if ($40) { + $41 = HEAP16[$8>>1]|0; + $42 = $41&65535; + $43 = $42 & 38; + $44 = HEAP16[$8>>1]|0; + $45 = $44&65535; + $46 = ($43|0)!=($45|0); + if ($46) { + STACKTOP = sp;return; + } + } + $47 = HEAP32[$6>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3ExprCompare($50,$54,-1)|0); + $56 = ($55|0)!=(0); + if ($56) { + STACKTOP = sp;return; + } + $57 = HEAP32[$6>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = ((($58)) + 16|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$7>>2]|0; + $62 = HEAP32[$61>>2]|0; + $63 = ((($62)) + 16|0); + $64 = HEAP32[$63>>2]|0; + $65 = (_sqlite3ExprCompare($60,$64,-1)|0); + $66 = ($65|0)!=(0); + if ($66) { + STACKTOP = sp;return; + } + $67 = HEAP16[$8>>1]|0; + $68 = $67&65535; + $69 = HEAP16[$8>>1]|0; + $70 = $69&65535; + $71 = (($70) - 1)|0; + $72 = $68 & $71; + $73 = ($72|0)!=(0); + do { + if ($73) { + $74 = HEAP16[$8>>1]|0; + $75 = $74&65535; + $76 = $75 & 24; + $77 = ($76|0)!=(0); + if ($77) { + HEAP16[$8>>1] = 8; + break; + } else { + HEAP16[$8>>1] = 32; + break; + } + } + } while(0); + $78 = HEAP32[$5>>2]|0; + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$80>>2]|0; + HEAP32[$9>>2] = $81; + $82 = HEAP32[$9>>2]|0; + $83 = HEAP32[$6>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = (_sqlite3ExprDup($82,$84,0)|0); + HEAP32[$10>>2] = $85; + $86 = HEAP32[$10>>2]|0; + $87 = ($86|0)==(0|0); + if ($87) { + STACKTOP = sp;return; + } + HEAP32[$11>>2] = 37; while(1) { - $3 = HEAP32[$pChunk>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + $88 = HEAP16[$8>>1]|0; + $89 = $88&65535; + $90 = HEAP32[$11>>2]|0; + $91 = (($90) - 37)|0; + $92 = 2 << $91; + $93 = ($89|0)!=($92|0); + $94 = HEAP32[$11>>2]|0; + if (!($93)) { break; } - $5 = HEAP32[$pChunk>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$pNextChunk>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$pChunk>>2]|0; - _sqlite3DbFree($9,$10); - $11 = HEAP32[$pNextChunk>>2]|0; - HEAP32[$pChunk>>2] = $11; + $95 = (($94) + 1)|0; + HEAP32[$11>>2] = $95; } - $12 = HEAP32[$0>>2]|0; - HEAP32[$12>>2] = 0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 24|0); - HEAP16[$14>>1] = 0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 8|0); - HEAP32[$16>>2] = 0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 12|0); - HEAP32[$18>>2] = 0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 20|0); - HEAP32[$20>>2] = 0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 26|0); - HEAP16[$22>>1] = 1; + $96 = $94&255; + $97 = HEAP32[$10>>2]|0; + HEAP8[$97>>0] = $96; + $98 = HEAP32[$5>>2]|0; + $99 = HEAP32[$10>>2]|0; + $100 = (_whereClauseInsert($98,$99,3)|0); + HEAP32[$12>>2] = $100; + $101 = HEAP32[$4>>2]|0; + $102 = HEAP32[$5>>2]|0; + $103 = HEAP32[$12>>2]|0; + _exprAnalyze($101,$102,$103); STACKTOP = sp;return; } -function _serialGet($buf,$serial_type,$pMem) { - $buf = $buf|0; - $serial_type = $serial_type|0; - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $x = 0, $y = 0, label = 0, sp = 0; +function _checkConstraintUnchanged($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $x = sp; - $y = sp + 8|0; - HEAP32[$0>>2] = $buf; - HEAP32[$1>>2] = $serial_type; - HEAP32[$2>>2] = $pMem; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $5 << 24; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = $10 << 16; - $12 = $6 | $11; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 2|0); + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;HEAP32[$6+20>>2]=0|0;HEAP32[$6+24>>2]=0|0; + $7 = ((($6)) + 20|0); + HEAP8[$7>>0] = 0; + $8 = ((($6)) + 4|0); + HEAP32[$8>>2] = 208; + $9 = HEAP32[$4>>2]|0; + $10 = ((($6)) + 24|0); + HEAP32[$10>>2] = $9; + $11 = HEAP32[$3>>2]|0; + (_sqlite3WalkExpr($6,$11)|0); + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)!=(0); + if ($13) { + $19 = ((($6)) + 20|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)!=(0); + $22 = $21 ^ 1; + $23 = $22&1; + STACKTOP = sp;return ($23|0); + } + $14 = ((($6)) + 20|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; - $17 = $16 << 8; - $18 = $12 | $17; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 3|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = $18 | $22; - $24 = $x; - $25 = $24; - HEAP32[$25>>2] = $23; - $26 = (($24) + 4)|0; - $27 = $26; - HEAP32[$27>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = $31 << 24; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 4|0); - $35 = ((($34)) + 1|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = $37 << 16; - $39 = $32 | $38; - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 4|0); - $42 = ((($41)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = $44 << 8; - $46 = $39 | $45; - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 4|0); - $49 = ((($48)) + 3|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = $46 | $51; - HEAP32[$y>>2] = $52; - $53 = $x; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (($53) + 4)|0; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$y>>2]|0; - $60 = (_i64Add(0,($55|0),($59|0),0)|0); - $61 = tempRet0; - $62 = $x; - $63 = $62; - HEAP32[$63>>2] = $60; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - $66 = HEAP32[$1>>2]|0; - $67 = ($66|0)==(6); - if ($67) { - $68 = $x; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = HEAP32[$2>>2]|0; - $75 = $74; - $76 = $75; - HEAP32[$76>>2] = $70; - $77 = (($75) + 4)|0; - $78 = $77; - HEAP32[$78>>2] = $73; - $79 = HEAP32[$2>>2]|0; - $80 = ((($79)) + 8|0); - HEAP16[$80>>1] = 4; - STACKTOP = sp;return 8; - } else { - $81 = HEAP32[$2>>2]|0; - ;HEAP32[$81>>2]=HEAP32[$x>>2]|0;HEAP32[$81+4>>2]=HEAP32[$x+4>>2]|0; - $82 = HEAP32[$2>>2]|0; - $83 = +HEAPF64[$82>>3]; - $84 = (_sqlite3IsNaN($83)|0); - $85 = ($84|0)!=(0); - $86 = $85 ? 1 : 8; - $87 = $86&65535; - $88 = HEAP32[$2>>2]|0; - $89 = ((($88)) + 8|0); - HEAP16[$89>>1] = $87; - STACKTOP = sp;return 8; - } - return (0)|0; + $17 = $16 & -3; + $18 = $17&255; + HEAP8[$14>>0] = $18; + $19 = ((($6)) + 20|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)!=(0); + $22 = $21 ^ 1; + $23 = $22&1; + STACKTOP = sp;return ($23|0); } -function _sqlite3IsNaN($x) { - $x = +$x; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $rc = 0, $y = 0, $z = 0, label = 0, sp = 0; +function _sqlite3RowidConstraint($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $rc = sp + 24|0; - $y = sp + 8|0; - $z = sp; - HEAPF64[$0>>3] = $x; - $1 = +HEAPF64[$0>>3]; - HEAPF64[$y>>3] = $1; - $2 = +HEAPF64[$y>>3]; - HEAPF64[$z>>3] = $2; - $3 = +HEAPF64[$y>>3]; - $4 = +HEAPF64[$z>>3]; - $5 = $3 != $4; - $6 = $5&1; - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7|0); + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = ((($8)) + 32|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10 << 16 >> 16; + $12 = ($11|0)>=(0); + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + if ($12) { + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 32|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22 << 16 >> 16; + $24 = (($19) + ($23<<4)|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$vararg_buffer>>2] = $16; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $25; + $26 = (_sqlite3MPrintf($14,29580,$vararg_buffer)|0); + HEAP32[$6>>2] = $26; + HEAP32[$7>>2] = 1555; + $28 = HEAP32[$3>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$6>>2]|0; + _sqlite3HaltConstraint($28,$29,$30,$31,-1,2); + STACKTOP = sp;return; + } else { + HEAP32[$vararg_buffer2>>2] = $16; + $27 = (_sqlite3MPrintf($14,34647,$vararg_buffer2)|0); + HEAP32[$6>>2] = $27; + HEAP32[$7>>2] = 2579; + $28 = HEAP32[$3>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$6>>2]|0; + _sqlite3HaltConstraint($28,$29,$30,$31,-1,2); + STACKTOP = sp;return; + } } -function _btreeNext($pCur,$pRes) { - $pCur = $pCur|0; - $pRes = $pRes|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $idx = 0, $pPage = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3FkRequired($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $rc = sp + 8|0; - $idx = sp + 4|0; - $pPage = sp; - HEAP32[$1>>2] = $pCur; - HEAP32[$2>>2] = $pRes; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 66|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)!=(1); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 66|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)>=(3); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = (_btreeRestoreCursorPosition($13)|0); - $15 = $14; - } else { - $15 = 0; - } - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $18; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 66|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = (0)==($22|0); - if ($23) { - $24 = HEAP32[$2>>2]|0; - HEAP32[$24>>2] = 1; - HEAP32[$0>>2] = 0; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 60|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 66|0); - HEAP8[$30>>0] = 1; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 60|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)>(0); - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 60|0); - HEAP32[$36>>2] = 0; - if ($34) { - HEAP32[$0>>2] = 0; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13 & 524288; + $15 = ($14|0)!=(0); + L1: do { + if ($15) { + $16 = HEAP32[$7>>2]|0; + $17 = ($16|0)!=(0|0); + $18 = HEAP32[$6>>2]|0; + if (!($17)) { + $19 = (_sqlite3FkReferences($18)|0); + $20 = ($19|0)!=(0|0); + if ($20) { + $26 = 1; + } else { + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)!=(0|0); + $26 = $24; + } + $25 = $26&1; + HEAP32[$4>>2] = $25; + $52 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($52|0); + } + $27 = ((($18)) + 16|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$9>>2] = $28; + while(1) { + $29 = HEAP32[$9>>2]|0; + $30 = ($29|0)!=(0|0); + $31 = HEAP32[$6>>2]|0; + if (!($30)) { + break; + } + $32 = HEAP32[$9>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$8>>2]|0; + $35 = (_fkChildIsModified($31,$32,$33,$34)|0); + $36 = ($35|0)!=(0); + if ($36) { + label = 9; + break; + } + $37 = HEAP32[$9>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$9>>2] = $39; + } + if ((label|0) == 9) { + HEAP32[$4>>2] = 1; + $52 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($52|0); + } + $40 = (_sqlite3FkReferences($31)|0); + HEAP32[$9>>2] = $40; + while(1) { + $41 = HEAP32[$9>>2]|0; + $42 = ($41|0)!=(0|0); + if (!($42)) { + break L1; + } + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$9>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = HEAP32[$8>>2]|0; + $47 = (_fkParentIsModified($43,$44,$45,$46)|0); + $48 = ($47|0)!=(0); + if ($48) { + break; + } + $49 = HEAP32[$9>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$9>>2] = $51; } + HEAP32[$4>>2] = 1; + $52 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($52|0); } + } while(0); + HEAP32[$4>>2] = 0; + $52 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($52|0); +} +function _sqlite3MultiWrite($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 124|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + $7 = HEAP32[$1>>2]|0; + if ($6) { + $8 = ((($7)) + 124|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9; + } else { + $10 = $7; } - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 68|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39 << 24 >> 24; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 120|0); - $43 = (($42) + ($40<<2)|0); - $44 = HEAP32[$43>>2]|0; - HEAP32[$pPage>>2] = $44; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 68|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47 << 24 >> 24; - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 80|0); - $51 = (($50) + ($48<<1)|0); - $52 = HEAP16[$51>>1]|0; - $53 = (($52) + 1)<<16>>16; - HEAP16[$51>>1] = $53; - $54 = $53&65535; - HEAP32[$idx>>2] = $54; - $55 = HEAP32[$idx>>2]|0; - $56 = HEAP32[$pPage>>2]|0; - $57 = ((($56)) + 18|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58&65535; - $60 = ($55|0)>=($59|0); - $61 = HEAP32[$pPage>>2]|0; - $62 = ((($61)) + 4|0); - $63 = HEAP8[$62>>0]|0; - $64 = ($63<<24>>24)!=(0); - if (!($60)) { - if ($64) { - HEAP32[$0>>2] = 0; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } else { - $120 = HEAP32[$1>>2]|0; - $121 = (_moveToLeftmost($120)|0); - HEAP32[$0>>2] = $121; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } + HEAP32[$2>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 20|0); + HEAP8[$12>>0] = 1; + STACKTOP = sp;return; +} +function _sqlite3GenerateRowDelete($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + $10 = $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, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 52|0; + $18 = sp + 58|0; + $19 = sp + 57|0; + $20 = sp + 56|0; + $21 = sp + 24|0; + $22 = sp + 20|0; + $23 = sp + 16|0; + $24 = sp + 12|0; + $25 = sp + 55|0; + $26 = sp + 8|0; + $27 = sp + 4|0; + $28 = sp; + $29 = sp + 54|0; + HEAP32[$11>>2] = $0; + HEAP32[$12>>2] = $1; + HEAP32[$13>>2] = $2; + HEAP32[$14>>2] = $3; + HEAP32[$15>>2] = $4; + HEAP32[$16>>2] = $5; + HEAP16[$17>>1] = $6; + HEAP8[$18>>0] = $7; + HEAP8[$19>>0] = $8; + HEAP8[$20>>0] = $9; + HEAP32[$21>>2] = $10; + $30 = HEAP32[$11>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$22>>2] = $32; + HEAP32[$23>>2] = 0; + $33 = HEAP32[$22>>2]|0; + $34 = (_sqlite3VdbeMakeLabel($33)|0); + HEAP32[$24>>2] = $34; + $35 = HEAP32[$12>>2]|0; + $36 = ((($35)) + 42|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = $38 & 32; + $40 = ($39|0)==(0); + $41 = $40 ? 33 : 30; + $42 = $41&255; + HEAP8[$25>>0] = $42; + $43 = HEAP8[$20>>0]|0; + $44 = $43&255; + $45 = ($44|0)==(0); + if ($45) { + $46 = HEAP32[$22>>2]|0; + $47 = HEAP8[$25>>0]|0; + $48 = $47&255; + $49 = HEAP32[$14>>2]|0; + $50 = HEAP32[$24>>2]|0; + $51 = HEAP32[$16>>2]|0; + $52 = HEAP16[$17>>1]|0; + $53 = $52 << 16 >> 16; + (_sqlite3VdbeAddOp4Int($46,$48,$49,$50,$51,$53)|0); } - if (!($64)) { - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$pPage>>2]|0; - $67 = ((($66)) + 5|0); - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = (($69) + 8)|0; - $71 = HEAP32[$pPage>>2]|0; - $72 = ((($71)) + 56|0); + $54 = HEAP32[$11>>2]|0; + $55 = HEAP32[$12>>2]|0; + $56 = (_sqlite3FkRequired($54,$55,0,0)|0); + $57 = ($56|0)!=(0); + $58 = HEAP32[$13>>2]|0; + $59 = ($58|0)!=(0|0); + $or$cond = $57 | $59; + if ($or$cond) { + $60 = HEAP32[$11>>2]|0; + $61 = HEAP32[$13>>2]|0; + $62 = HEAP32[$12>>2]|0; + $63 = HEAP8[$19>>0]|0; + $64 = $63&255; + $65 = (_sqlite3TriggerColmask($60,$61,0,0,3,$62,$64)|0); + HEAP32[$26>>2] = $65; + $66 = HEAP32[$11>>2]|0; + $67 = HEAP32[$12>>2]|0; + $68 = (_sqlite3FkOldmask($66,$67)|0); + $69 = HEAP32[$26>>2]|0; + $70 = $69 | $68; + HEAP32[$26>>2] = $70; + $71 = HEAP32[$11>>2]|0; + $72 = ((($71)) + 44|0); $73 = HEAP32[$72>>2]|0; - $74 = (($73) + ($70)|0); - $75 = (_sqlite3Get4byte($74)|0); - $76 = (_moveToChild($65,$75)|0); - HEAP32[$rc>>2] = $76; - $77 = HEAP32[$rc>>2]|0; - $78 = ($77|0)!=(0); - if ($78) { - $79 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $79; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } else { - $80 = HEAP32[$1>>2]|0; - $81 = (_moveToLeftmost($80)|0); - HEAP32[$0>>2] = $81; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } + $74 = (($73) + 1)|0; + HEAP32[$23>>2] = $74; + $75 = HEAP32[$12>>2]|0; + $76 = ((($75)) + 34|0); + $77 = HEAP16[$76>>1]|0; + $78 = $77 << 16 >> 16; + $79 = (1 + ($78))|0; + $80 = HEAP32[$11>>2]|0; + $81 = ((($80)) + 44|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82) + ($79))|0; + HEAP32[$81>>2] = $83; + $84 = HEAP32[$22>>2]|0; + $85 = HEAP32[$16>>2]|0; + $86 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp2($84,84,$85,$86)|0); + HEAP32[$27>>2] = 0; + while(1) { + $87 = HEAP32[$27>>2]|0; + $88 = HEAP32[$12>>2]|0; + $89 = ((($88)) + 34|0); + $90 = HEAP16[$89>>1]|0; + $91 = $90 << 16 >> 16; + $92 = ($87|0)<($91|0); + if (!($92)) { + break; + } + $93 = HEAP32[$26>>2]|0; + $94 = ($93|0)==(-1); + if ($94) { + label = 9; + } else { + $95 = HEAP32[$27>>2]|0; + $96 = ($95|0)<=(31); + if ($96) { + $97 = HEAP32[$26>>2]|0; + $98 = HEAP32[$27>>2]|0; + $99 = 1 << $98; + $100 = $97 & $99; + $101 = ($100|0)!=(0); + if ($101) { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $102 = HEAP32[$22>>2]|0; + $103 = HEAP32[$12>>2]|0; + $104 = HEAP32[$14>>2]|0; + $105 = HEAP32[$27>>2]|0; + $106 = HEAP32[$23>>2]|0; + $107 = HEAP32[$27>>2]|0; + $108 = (($106) + ($107))|0; + $109 = (($108) + 1)|0; + _sqlite3ExprCodeGetColumnOfTable($102,$103,$104,$105,$109); + } + $110 = HEAP32[$27>>2]|0; + $111 = (($110) + 1)|0; + HEAP32[$27>>2] = $111; + } + $112 = HEAP32[$22>>2]|0; + $113 = (_sqlite3VdbeCurrentAddr($112)|0); + HEAP32[$28>>2] = $113; + $114 = HEAP32[$11>>2]|0; + $115 = HEAP32[$13>>2]|0; + $116 = HEAP32[$12>>2]|0; + $117 = HEAP32[$23>>2]|0; + $118 = HEAP8[$19>>0]|0; + $119 = $118&255; + $120 = HEAP32[$24>>2]|0; + _sqlite3CodeRowTrigger($114,$115,109,0,1,$116,$117,$119,$120); + $121 = HEAP32[$28>>2]|0; + $122 = HEAP32[$22>>2]|0; + $123 = (_sqlite3VdbeCurrentAddr($122)|0); + $124 = ($121|0)<($123|0); + if ($124) { + $125 = HEAP32[$22>>2]|0; + $126 = HEAP8[$25>>0]|0; + $127 = $126&255; + $128 = HEAP32[$14>>2]|0; + $129 = HEAP32[$24>>2]|0; + $130 = HEAP32[$16>>2]|0; + $131 = HEAP16[$17>>1]|0; + $132 = $131 << 16 >> 16; + (_sqlite3VdbeAddOp4Int($125,$127,$128,$129,$130,$132)|0); + } + $133 = HEAP32[$11>>2]|0; + $134 = HEAP32[$12>>2]|0; + $135 = HEAP32[$23>>2]|0; + _sqlite3FkCheck($133,$134,$135,0,0,0); + } + $136 = HEAP32[$12>>2]|0; + $137 = ((($136)) + 12|0); + $138 = HEAP32[$137>>2]|0; + $139 = ($138|0)==(0|0); + if (!($139)) { + $170 = HEAP32[$11>>2]|0; + $171 = HEAP32[$12>>2]|0; + $172 = HEAP32[$23>>2]|0; + _sqlite3FkActions($170,$171,0,$172,0,0); + $173 = HEAP32[$11>>2]|0; + $174 = HEAP32[$13>>2]|0; + $175 = HEAP32[$12>>2]|0; + $176 = HEAP32[$23>>2]|0; + $177 = HEAP8[$19>>0]|0; + $178 = $177&255; + $179 = HEAP32[$24>>2]|0; + _sqlite3CodeRowTrigger($173,$174,109,0,2,$175,$176,$178,$179); + $180 = HEAP32[$22>>2]|0; + $181 = HEAP32[$24>>2]|0; + _sqlite3VdbeResolveLabel($180,$181); + STACKTOP = sp;return; + } + HEAP8[$29>>0] = 0; + $140 = HEAP32[$11>>2]|0; + $141 = HEAP32[$12>>2]|0; + $142 = HEAP32[$14>>2]|0; + $143 = HEAP32[$15>>2]|0; + $144 = HEAP32[$21>>2]|0; + _sqlite3GenerateRowIndexDelete($140,$141,$142,$143,0,$144); + $145 = HEAP32[$22>>2]|0; + $146 = HEAP32[$14>>2]|0; + $147 = HEAP8[$18>>0]|0; + $148 = $147&255; + $149 = ($148|0)!=(0); + $150 = $149 ? 1 : 0; + (_sqlite3VdbeAddOp2($145,117,$146,$150)|0); + $151 = HEAP32[$22>>2]|0; + $152 = HEAP32[$12>>2]|0; + _sqlite3VdbeChangeP4($151,-1,$152,-20); + $153 = HEAP8[$20>>0]|0; + $154 = $153&255; + $155 = ($154|0)!=(0); + if ($155) { + $156 = HEAP32[$22>>2]|0; + _sqlite3VdbeChangeP5($156,4); + } + $157 = HEAP32[$21>>2]|0; + $158 = ($157|0)>=(0); + if ($158) { + $159 = HEAP32[$22>>2]|0; + $160 = HEAP32[$21>>2]|0; + (_sqlite3VdbeAddOp1($159,117,$160)|0); + } + $161 = HEAP8[$20>>0]|0; + $162 = $161&255; + $163 = ($162|0)==(2); + if ($163) { + $164 = HEAP8[$29>>0]|0; + $165 = $164&255; + $166 = $165 | 2; + $167 = $166&255; + HEAP8[$29>>0] = $167; + } + $168 = HEAP32[$22>>2]|0; + $169 = HEAP8[$29>>0]|0; + _sqlite3VdbeChangeP5($168,$169); + $170 = HEAP32[$11>>2]|0; + $171 = HEAP32[$12>>2]|0; + $172 = HEAP32[$23>>2]|0; + _sqlite3FkActions($170,$171,0,$172,0,0); + $173 = HEAP32[$11>>2]|0; + $174 = HEAP32[$13>>2]|0; + $175 = HEAP32[$12>>2]|0; + $176 = HEAP32[$23>>2]|0; + $177 = HEAP8[$19>>0]|0; + $178 = $177&255; + $179 = HEAP32[$24>>2]|0; + _sqlite3CodeRowTrigger($173,$174,109,0,2,$175,$176,$178,$179); + $180 = HEAP32[$22>>2]|0; + $181 = HEAP32[$24>>2]|0; + _sqlite3VdbeResolveLabel($180,$181); + STACKTOP = sp;return; +} +function _sqlite3GenerateRowIndexDelete($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$13>>2] = -1; + HEAP32[$16>>2] = 0; + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$17>>2] = $21; + $22 = HEAP32[$7>>2]|0; + $23 = ((($22)) + 42|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 & 32; + $27 = ($26|0)==(0); + if ($27) { + $30 = 0; + } else { + $28 = HEAP32[$7>>2]|0; + $29 = (_sqlite3PrimaryKeyIndex($28)|0); + $30 = $29; } + HEAP32[$18>>2] = $30; + HEAP32[$12>>2] = 0; + $31 = HEAP32[$7>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$15>>2] = $33; while(1) { - $82 = HEAP32[$1>>2]|0; - $83 = ((($82)) + 68|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84 << 24 >> 24; - $86 = ($85|0)==(0); - if ($86) { - label = 17; + $34 = HEAP32[$15>>2]|0; + $35 = ($34|0)!=(0|0); + if (!($35)) { break; } - $90 = HEAP32[$1>>2]|0; - _moveToParent($90); - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 68|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93 << 24 >> 24; - $95 = HEAP32[$1>>2]|0; - $96 = ((($95)) + 120|0); - $97 = (($96) + ($94<<2)|0); - $98 = HEAP32[$97>>2]|0; - HEAP32[$pPage>>2] = $98; - $99 = HEAP32[$1>>2]|0; - $100 = ((($99)) + 68|0); - $101 = HEAP8[$100>>0]|0; - $102 = $101 << 24 >> 24; - $103 = HEAP32[$1>>2]|0; - $104 = ((($103)) + 80|0); - $105 = (($104) + ($102<<1)|0); - $106 = HEAP16[$105>>1]|0; - $107 = $106&65535; - $108 = HEAP32[$pPage>>2]|0; - $109 = ((($108)) + 18|0); - $110 = HEAP16[$109>>1]|0; - $111 = $110&65535; - $112 = ($107|0)>=($111|0); - if (!($112)) { - break; + $36 = HEAP32[$10>>2]|0; + $37 = ($36|0)!=(0|0); + if ($37) { + $38 = HEAP32[$10>>2]|0; + $39 = HEAP32[$12>>2]|0; + $40 = (($38) + ($39<<2)|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)==(0); + if (!($42)) { + label = 7; + } + } else { + label = 7; } + if ((label|0) == 7) { + label = 0; + $43 = HEAP32[$15>>2]|0; + $44 = HEAP32[$18>>2]|0; + $45 = ($43|0)==($44|0); + if (!($45)) { + $46 = HEAP32[$9>>2]|0; + $47 = HEAP32[$12>>2]|0; + $48 = (($46) + ($47))|0; + $49 = HEAP32[$11>>2]|0; + $50 = ($48|0)==($49|0); + if (!($50)) { + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$15>>2]|0; + $53 = HEAP32[$8>>2]|0; + $54 = HEAP32[$16>>2]|0; + $55 = HEAP32[$13>>2]|0; + $56 = (_sqlite3GenerateIndexKey($51,$52,$53,0,1,$14,$54,$55)|0); + HEAP32[$13>>2] = $56; + $57 = HEAP32[$17>>2]|0; + $58 = HEAP32[$9>>2]|0; + $59 = HEAP32[$12>>2]|0; + $60 = (($58) + ($59))|0; + $61 = HEAP32[$13>>2]|0; + $62 = HEAP32[$15>>2]|0; + $63 = ((($62)) + 55|0); + $64 = HEAP8[$63>>0]|0; + $65 = ($64&255) >>> 3; + $66 = $65 & 1; + $67 = $66&255; + $68 = ($67|0)!=(0); + $69 = HEAP32[$15>>2]|0; + if ($68) { + $70 = ((($69)) + 50|0); + $71 = HEAP16[$70>>1]|0; + $$sink = $71; + } else { + $72 = ((($69)) + 52|0); + $73 = HEAP16[$72>>1]|0; + $$sink = $73; + } + $74 = $$sink&65535; + (_sqlite3VdbeAddOp3($57,127,$60,$61,$74)|0); + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$14>>2]|0; + _sqlite3ResolvePartIdxLabel($75,$76); + $77 = HEAP32[$15>>2]|0; + HEAP32[$16>>2] = $77; + } + } + } + $78 = HEAP32[$12>>2]|0; + $79 = (($78) + 1)|0; + HEAP32[$12>>2] = $79; + $80 = HEAP32[$15>>2]|0; + $81 = ((($80)) + 20|0); + $82 = HEAP32[$81>>2]|0; + HEAP32[$15>>2] = $82; } - if ((label|0) == 17) { - $87 = HEAP32[$2>>2]|0; - HEAP32[$87>>2] = 1; - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 66|0); - HEAP8[$89>>0] = 0; - HEAP32[$0>>2] = 0; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } - $113 = HEAP32[$pPage>>2]|0; - $114 = ((($113)) + 2|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($115<<24>>24)!=(0); - if ($116) { - $117 = HEAP32[$1>>2]|0; - $118 = HEAP32[$2>>2]|0; - $119 = (_sqlite3BtreeNext($117,$118)|0); - HEAP32[$0>>2] = $119; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } else { - HEAP32[$0>>2] = 0; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } - return (0)|0; + STACKTOP = sp;return; } -function _moveToLeftmost($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $pPage = 0, $pgno = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3TriggerColmask($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $pgno = sp + 8|0; - $rc = sp + 4|0; - $pPage = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$rc>>2] = 0; + STACKTOP = STACKTOP + 48|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + $18 = HEAP32[$9>>2]|0; + $19 = ($18|0)!=(0|0); + $20 = $19 ? 110 : 109; + HEAP32[$14>>2] = $20; + HEAP32[$15>>2] = 0; + $21 = HEAP32[$8>>2]|0; + HEAP32[$16>>2] = $21; while(1) { - $1 = HEAP32[$rc>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - label = 5; + $22 = HEAP32[$16>>2]|0; + $23 = ($22|0)!=(0|0); + if (!($23)) { break; } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 68|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5 << 24 >> 24; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 120|0); - $9 = (($8) + ($6<<2)|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pPage>>2] = $10; - $11 = ((($10)) + 4|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)!=(0); - $14 = $13 ^ 1; - if (!($14)) { - label = 5; - break; + $24 = HEAP32[$16>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = HEAP32[$14>>2]|0; + $29 = ($27|0)==($28|0); + if ($29) { + $30 = HEAP32[$11>>2]|0; + $31 = HEAP32[$16>>2]|0; + $32 = ((($31)) + 9|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $30 & $34; + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$16>>2]|0; + $38 = ((($37)) + 16|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$9>>2]|0; + $41 = (_checkColumnOverlap($39,$40)|0); + $42 = ($41|0)!=(0); + if ($42) { + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$16>>2]|0; + $45 = HEAP32[$12>>2]|0; + $46 = HEAP32[$13>>2]|0; + $47 = (_getRowTrigger($43,$44,$45,$46)|0); + HEAP32[$17>>2] = $47; + $48 = HEAP32[$17>>2]|0; + $49 = ($48|0)!=(0|0); + if ($49) { + $50 = HEAP32[$17>>2]|0; + $51 = ((($50)) + 16|0); + $52 = HEAP32[$10>>2]|0; + $53 = (($51) + ($52<<2)|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$15>>2]|0; + $56 = $55 | $54; + HEAP32[$15>>2] = $56; + } + } + } } - $15 = HEAP32[$pPage>>2]|0; - $16 = ((($15)) + 56|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$pPage>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 68|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24 << 24 >> 24; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 80|0); - $28 = (($27) + ($25<<1)|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = $30<<1; - $32 = HEAP32[$pPage>>2]|0; - $33 = ((($32)) + 64|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($31)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = $37 << 8; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 68|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 << 24 >> 24; - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 80|0); - $45 = (($44) + ($42<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = $47<<1; - $49 = HEAP32[$pPage>>2]|0; - $50 = ((($49)) + 64|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + ($48)|0); - $53 = ((($52)) + 1|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = $38 | $55; - $57 = $21 & $56; - $58 = (($17) + ($57)|0); - $59 = (_sqlite3Get4byte($58)|0); - HEAP32[$pgno>>2] = $59; - $60 = HEAP32[$0>>2]|0; - $61 = HEAP32[$pgno>>2]|0; - $62 = (_moveToChild($60,$61)|0); - HEAP32[$rc>>2] = $62; - } - if ((label|0) == 5) { - $63 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($63|0); + $57 = HEAP32[$16>>2]|0; + $58 = ((($57)) + 32|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$16>>2] = $59; } - return (0)|0; + $60 = HEAP32[$15>>2]|0; + STACKTOP = sp;return ($60|0); } -function _targetSrcList($pParse,$pStep) { - $pParse = $pParse|0; - $pStep = $pStep|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $iDb = 0, $or$cond = 0, $pSrc = 0, $zDb = 0, label = 0, sp = 0; +function _sqlite3FkOldmask($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $db = sp + 12|0; - $iDb = sp + 8|0; - $pSrc = sp + 4|0; - $zDb = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pStep; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$db>>2]|0; - $5 = (_sqlite3SrcListAppend($4,0,0,0)|0); - HEAP32[$pSrc>>2] = $5; - $6 = HEAP32[$pSrc>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $47 = HEAP32[$pSrc>>2]|0; - STACKTOP = sp;return ($47|0); - } - $8 = HEAP32[$db>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 12|0); + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 24|0); $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3DbStrDup($8,$11)|0); - $13 = HEAP32[$pSrc>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = (($14) - 1)|0; - $16 = HEAP32[$pSrc>>2]|0; - $17 = ((($16)) + 8|0); - $18 = (($17) + (($15*72)|0)|0); - $19 = ((($18)) + 8|0); - HEAP32[$19>>2] = $12; - $20 = HEAP32[$db>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($23)) + 20|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3SchemaToIndex($20,$25)|0); - HEAP32[$iDb>>2] = $26; - $27 = HEAP32[$iDb>>2]|0; - $28 = ($27|0)==(0); - $29 = HEAP32[$iDb>>2]|0; - $30 = ($29|0)>=(2); - $or$cond = $28 | $30; - if (!($or$cond)) { - $47 = HEAP32[$pSrc>>2]|0; - STACKTOP = sp;return ($47|0); - } - $31 = HEAP32[$iDb>>2]|0; - $32 = HEAP32[$db>>2]|0; - $33 = ((($32)) + 16|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($31<<4)|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$zDb>>2] = $36; - $37 = HEAP32[$db>>2]|0; - $38 = HEAP32[$zDb>>2]|0; - $39 = (_sqlite3DbStrDup($37,$38)|0); - $40 = HEAP32[$pSrc>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = (($41) - 1)|0; - $43 = HEAP32[$pSrc>>2]|0; - $44 = ((($43)) + 8|0); - $45 = (($44) + (($42*72)|0)|0); - $46 = ((($45)) + 4|0); - HEAP32[$46>>2] = $39; - $47 = HEAP32[$pSrc>>2]|0; - STACKTOP = sp;return ($47|0); -} -function _fkTriggerDelete($dbMem,$p) { - $dbMem = $dbMem|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pStep = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pStep = sp; - HEAP32[$0>>2] = $dbMem; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 28|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pStep>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$pStep>>2]|0; - $9 = ((($8)) + 16|0); - $10 = HEAP32[$9>>2]|0; - _sqlite3ExprDelete($7,$10); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$pStep>>2]|0; - $13 = ((($12)) + 20|0); - $14 = HEAP32[$13>>2]|0; - _sqlite3ExprListDelete($11,$14); - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$pStep>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3SelectDelete($15,$18); - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 12|0); - $22 = HEAP32[$21>>2]|0; - _sqlite3ExprDelete($19,$22); - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$1>>2]|0; - _sqlite3DbFree($23,$24); - STACKTOP = sp;return; -} -function _checkColumnOverlap($pIdList,$pEList) { - $pIdList = $pIdList|0; - $pEList = $pEList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $e = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $e = sp; - HEAP32[$1>>2] = $pIdList; - HEAP32[$2>>2] = $pEList; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - $5 = HEAP32[$2>>2]|0; - $6 = ($5|0)==(0|0); - $or$cond = $4 | $6; - if ($or$cond) { - HEAP32[$0>>2] = 1; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); + $12 = $11 & 524288; + $13 = ($12|0)!=(0); + if (!($13)) { + $82 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($82|0); } - HEAP32[$e>>2] = 0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$5>>2] = $16; while(1) { - $7 = HEAP32[$e>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = ($7|0)<($9|0); - if (!($10)) { - label = 8; + $17 = HEAP32[$5>>2]|0; + $18 = ($17|0)!=(0|0); + if (!($18)) { break; } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$e>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + (($12*20)|0)|0); - $17 = ((($16)) + 4|0); - $18 = HEAP32[$17>>2]|0; - $19 = (_sqlite3IdListIndex($11,$18)|0); - $20 = ($19|0)>=(0); - if ($20) { - label = 6; - break; + HEAP32[$6>>2] = 0; + while(1) { + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($19|0)<($22|0); + $24 = HEAP32[$5>>2]|0; + if (!($23)) { + break; + } + $25 = ((($24)) + 36|0); + $26 = HEAP32[$6>>2]|0; + $27 = (($25) + ($26<<3)|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)>(31); + if ($29) { + $38 = -1; + } else { + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 36|0); + $32 = HEAP32[$6>>2]|0; + $33 = (($31) + ($32<<3)|0); + $34 = HEAP32[$33>>2]|0; + $35 = 1 << $34; + $38 = $35; + } + $36 = HEAP32[$4>>2]|0; + $37 = $36 | $38; + HEAP32[$4>>2] = $37; + $39 = HEAP32[$6>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$6>>2] = $40; } - $21 = HEAP32[$e>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$e>>2] = $22; - } - if ((label|0) == 6) { - HEAP32[$0>>2] = 1; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); + $41 = ((($24)) + 4|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$5>>2] = $42; } - else if ((label|0) == 8) { - HEAP32[$0>>2] = 0; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); + $43 = HEAP32[$3>>2]|0; + $44 = (_sqlite3FkReferences($43)|0); + HEAP32[$5>>2] = $44; + while(1) { + $45 = HEAP32[$5>>2]|0; + $46 = ($45|0)!=(0|0); + if (!($46)) { + break; + } + HEAP32[$7>>2] = 0; + $47 = HEAP32[$2>>2]|0; + $48 = HEAP32[$3>>2]|0; + $49 = HEAP32[$5>>2]|0; + (_sqlite3FkLocateIndex($47,$48,$49,$7,0)|0); + $50 = HEAP32[$7>>2]|0; + $51 = ($50|0)!=(0|0); + L18: do { + if ($51) { + HEAP32[$6>>2] = 0; + while(1) { + $52 = HEAP32[$6>>2]|0; + $53 = HEAP32[$7>>2]|0; + $54 = ((($53)) + 50|0); + $55 = HEAP16[$54>>1]|0; + $56 = $55&65535; + $57 = ($52|0)<($56|0); + if (!($57)) { + break L18; + } + $58 = HEAP32[$7>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$6>>2]|0; + $62 = (($60) + ($61<<1)|0); + $63 = HEAP16[$62>>1]|0; + $64 = $63 << 16 >> 16; + $65 = ($64|0)>(31); + if ($65) { + $76 = -1; + } else { + $66 = HEAP32[$7>>2]|0; + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$6>>2]|0; + $70 = (($68) + ($69<<1)|0); + $71 = HEAP16[$70>>1]|0; + $72 = $71 << 16 >> 16; + $73 = 1 << $72; + $76 = $73; + } + $74 = HEAP32[$4>>2]|0; + $75 = $74 | $76; + HEAP32[$4>>2] = $75; + $77 = HEAP32[$6>>2]|0; + $78 = (($77) + 1)|0; + HEAP32[$6>>2] = $78; + } + } + } while(0); + $79 = HEAP32[$5>>2]|0; + $80 = ((($79)) + 12|0); + $81 = HEAP32[$80>>2]|0; + HEAP32[$5>>2] = $81; } - return (0)|0; + $82 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($82|0); } -function _checkConstraintExprNode($pWalker,$pExpr) { - $pWalker = $pWalker|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; +function _sqlite3FkActions($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pWalker; - HEAP32[$1>>2] = $pExpr; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(152); - if (!($5)) { - STACKTOP = sp;return 0; - } - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 32|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8 << 16 >> 16; - $10 = ($9|0)>=(0); - if (!($10)) { - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 20|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = $30 | 2; - $32 = $31&255; - HEAP8[$28>>0] = $32; - STACKTOP = sp;return 0; - } - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 32|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13 << 16 >> 16; - $15 = HEAP32[$0>>2]|0; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$14>>2]|0; $16 = ((($15)) + 24|0); $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($14<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)>=(0); - if (!($20)) { - STACKTOP = sp;return 0; - } - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 20|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 | 1; - $26 = $25&255; - HEAP8[$22>>0] = $26; - STACKTOP = sp;return 0; -} -function _xferCompatibleIndex($pDest,$pSrc) { - $pDest = $pDest|0; - $pSrc = $pSrc|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $pDest; - HEAP32[$2>>2] = $pSrc; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 50|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 50|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ($6|0)!=($10|0); - if ($11) { - HEAP32[$0>>2] = 0; - $107 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($107|0); - } - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 54|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 54|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($15|0)!=($19|0); - if ($20) { - HEAP32[$0>>2] = 0; - $107 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($107|0); + $18 = $17 & 524288; + $19 = ($18|0)!=(0); + if (!($19)) { + STACKTOP = sp;return; } - HEAP32[$i>>2] = 0; + $20 = HEAP32[$7>>2]|0; + $21 = (_sqlite3FkReferences($20)|0); + HEAP32[$12>>2] = $21; while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 50|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24&65535; - $26 = ($21|0)<($25|0); - if (!($26)) { - label = 17; - break; - } - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + ($27<<1)|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32 << 16 >> 16; - $34 = HEAP32[$i>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + ($34<<1)|0); - $39 = HEAP16[$38>>1]|0; - $40 = $39 << 16 >> 16; - $41 = ($33|0)!=($40|0); - if ($41) { - label = 8; + $22 = HEAP32[$12>>2]|0; + $23 = ($22|0)!=(0|0); + if (!($23)) { break; } - $42 = HEAP32[$i>>2]|0; - $43 = HEAP32[$2>>2]|0; - $44 = ((($43)) + 4|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($45) + ($42<<1)|0); - $47 = HEAP16[$46>>1]|0; - $48 = $47 << 16 >> 16; - $49 = ($48|0)==(-2); - if ($49) { - $50 = HEAP32[$i>>2]|0; - $51 = HEAP32[$2>>2]|0; - $52 = ((($51)) + 40|0); - $53 = HEAP32[$52>>2]|0; - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + (($50*20)|0)|0); - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$i>>2]|0; - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 40|0); - $61 = HEAP32[$60>>2]|0; - $62 = ((($61)) + 4|0); - $63 = HEAP32[$62>>2]|0; - $64 = (($63) + (($58*20)|0)|0); - $65 = HEAP32[$64>>2]|0; - $66 = (_sqlite3ExprCompare($57,$65,-1)|0); - $67 = ($66|0)!=(0); - if ($67) { - label = 11; - break; + $24 = HEAP32[$10>>2]|0; + $25 = ($24|0)==(0|0); + if ($25) { + label = 6; + } else { + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$12>>2]|0; + $28 = HEAP32[$10>>2]|0; + $29 = HEAP32[$11>>2]|0; + $30 = (_fkParentIsModified($26,$27,$28,$29)|0); + $31 = ($30|0)!=(0); + if ($31) { + label = 6; } } - $68 = HEAP32[$i>>2]|0; - $69 = HEAP32[$2>>2]|0; - $70 = ((($69)) + 28|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + ($68)|0); - $73 = HEAP8[$72>>0]|0; - $74 = $73&255; - $75 = HEAP32[$i>>2]|0; - $76 = HEAP32[$1>>2]|0; - $77 = ((($76)) + 28|0); - $78 = HEAP32[$77>>2]|0; - $79 = (($78) + ($75)|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = ($74|0)!=($81|0); - if ($82) { - label = 13; - break; - } - $83 = HEAP32[$i>>2]|0; - $84 = HEAP32[$2>>2]|0; - $85 = ((($84)) + 32|0); - $86 = HEAP32[$85>>2]|0; - $87 = (($86) + ($83<<2)|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$i>>2]|0; - $90 = HEAP32[$1>>2]|0; - $91 = ((($90)) + 32|0); - $92 = HEAP32[$91>>2]|0; - $93 = (($92) + ($89<<2)|0); - $94 = HEAP32[$93>>2]|0; - $95 = (_sqlite3_stricmp($88,$94)|0); - $96 = ($95|0)!=(0); - if ($96) { - label = 15; - break; - } - $97 = HEAP32[$i>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[$i>>2] = $98; - } - if ((label|0) == 8) { - HEAP32[$0>>2] = 0; - $107 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($107|0); - } - else if ((label|0) == 11) { - HEAP32[$0>>2] = 0; - $107 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($107|0); - } - else if ((label|0) == 13) { - HEAP32[$0>>2] = 0; - $107 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($107|0); - } - else if ((label|0) == 15) { - HEAP32[$0>>2] = 0; - $107 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($107|0); - } - else if ((label|0) == 17) { - $99 = HEAP32[$2>>2]|0; - $100 = ((($99)) + 36|0); - $101 = HEAP32[$100>>2]|0; - $102 = HEAP32[$1>>2]|0; - $103 = ((($102)) + 36|0); - $104 = HEAP32[$103>>2]|0; - $105 = (_sqlite3ExprCompare($101,$104,-1)|0); - $106 = ($105|0)!=(0); - if ($106) { - HEAP32[$0>>2] = 0; - $107 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($107|0); - } else { - HEAP32[$0>>2] = 1; - $107 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($107|0); + if ((label|0) == 6) { + label = 0; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$12>>2]|0; + $35 = HEAP32[$8>>2]|0; + $36 = (_fkActionTrigger($32,$33,$34,$35)|0); + HEAP32[$13>>2] = $36; + $37 = HEAP32[$13>>2]|0; + $38 = ($37|0)!=(0|0); + if ($38) { + $39 = HEAP32[$6>>2]|0; + $40 = HEAP32[$13>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$9>>2]|0; + _sqlite3CodeRowTriggerDirect($39,$40,$41,$42,2,0); + } } + $43 = HEAP32[$12>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$12>>2] = $45; } - return (0)|0; + STACKTOP = sp;return; } -function _sqlite3AuthContextPush($pParse,$pContext,$zContext) { - $pParse = $pParse|0; - $pContext = $pContext|0; - $zContext = $zContext|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pContext; - HEAP32[$2>>2] = $zContext; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - HEAP32[$5>>2] = $3; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 448|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - HEAP32[$9>>2] = $8; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 448|0); - HEAP32[$12>>2] = $10; - STACKTOP = sp;return; -} -function _sqlite3MaterializeView($pParse,$pView,$pWhere,$iCur) { - $pParse = $pParse|0; - $pView = $pView|0; - $pWhere = $pWhere|0; - $iCur = $iCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $dest = 0, $iDb = 0, $pFrom = 0, $pSel = 0, label = 0, sp = 0; +function _fkActionTrigger($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $$sink2 = 0, $$sink5 = 0, $$sink7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $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, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 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$cond = 0, $or$cond4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $dest = sp + 16|0; - $pSel = sp + 12|0; - $pFrom = sp + 8|0; - $db = sp + 4|0; - $iDb = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pView; - HEAP32[$2>>2] = $pWhere; - HEAP32[$3>>2] = $iCur; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$db>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 64|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_sqlite3SchemaToIndex($6,$9)|0); - HEAP32[$iDb>>2] = $10; - $11 = HEAP32[$db>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = (_sqlite3ExprDup($11,$12,0)|0); - HEAP32[$2>>2] = $13; - $14 = HEAP32[$db>>2]|0; - $15 = (_sqlite3SrcListAppend($14,0,0,0)|0); - HEAP32[$pFrom>>2] = $15; - $16 = HEAP32[$pFrom>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$db>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3DbStrDup($18,$20)|0); - $22 = HEAP32[$pFrom>>2]|0; - $23 = ((($22)) + 8|0); - $24 = ((($23)) + 8|0); - HEAP32[$24>>2] = $21; - $25 = HEAP32[$db>>2]|0; - $26 = HEAP32[$iDb>>2]|0; - $27 = HEAP32[$db>>2]|0; - $28 = ((($27)) + 16|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + ($26<<4)|0); - $31 = HEAP32[$30>>2]|0; - $32 = (_sqlite3DbStrDup($25,$31)|0); - $33 = HEAP32[$pFrom>>2]|0; - $34 = ((($33)) + 8|0); - $35 = ((($34)) + 4|0); - HEAP32[$35>>2] = $32; + STACKTOP = STACKTOP + 144|0; + $4 = sp + 136|0; + $5 = sp + 132|0; + $6 = sp + 128|0; + $7 = sp + 124|0; + $8 = sp + 120|0; + $9 = sp + 116|0; + $10 = sp + 112|0; + $11 = sp + 108|0; + $12 = sp + 104|0; + $13 = sp + 100|0; + $14 = sp + 96|0; + $15 = sp + 92|0; + $16 = sp + 88|0; + $17 = sp + 84|0; + $18 = sp + 80|0; + $19 = sp + 76|0; + $20 = sp + 72|0; + $21 = sp + 68|0; + $22 = sp + 64|0; + $23 = sp + 56|0; + $24 = sp + 48|0; + $25 = sp + 40|0; + $26 = sp + 32|0; + $27 = sp + 28|0; + $28 = sp + 24|0; + $29 = sp + 20|0; + $30 = sp + 16|0; + $31 = sp + 8|0; + $32 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$33>>2]|0; + HEAP32[$9>>2] = $34; + $35 = HEAP32[$8>>2]|0; + $36 = ($35|0)!=(0|0); + $37 = $36&1; + HEAP32[$12>>2] = $37; + $38 = HEAP32[$7>>2]|0; + $39 = ((($38)) + 25|0); + $40 = HEAP32[$12>>2]|0; + $41 = (($39) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + HEAP32[$10>>2] = $43; + $44 = HEAP32[$10>>2]|0; + $45 = ($44|0)==(6); + if ($45) { + $46 = HEAP32[$9>>2]|0; + $47 = ((($46)) + 24|0); + $48 = HEAP32[$47>>2]|0; + $49 = $48 & 33554432; + $50 = ($49|0)!=(0); + if ($50) { + HEAP32[$4>>2] = 0; + $301 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($301|0); + } } - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$pFrom>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = (_sqlite3SelectNew($36,0,$37,$38,0,0,0,131072,0,0)|0); - HEAP32[$pSel>>2] = $39; - $40 = HEAP32[$3>>2]|0; - _sqlite3SelectDestInit($dest,12,$40); - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$pSel>>2]|0; - (_sqlite3Select($41,$42,$dest)|0); - $43 = HEAP32[$db>>2]|0; - $44 = HEAP32[$pSel>>2]|0; - _sqlite3SelectDelete($43,$44); - STACKTOP = sp;return; -} -function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWhere,$onError) { - $pParse = $pParse|0; - $pSrc = $pSrc|0; - $pTab = $pTab|0; - $pChanges = $pChanges|0; - $pRowid = $pRowid|0; - $aXRef = $aXRef|0; - $pWhere = $pWhere|0; - $onError = $onError|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $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, $97 = 0, $98 = 0, $99 = 0, $aDummy = 0, $addr = 0, $bOnePass = 0, $db = 0, $ephemTab = 0, $i = 0, $iCsr = 0, $nArg = 0, $pVTab = 0, $pWInfo = 0, $regArg = 0, $regRec = 0, $regRowid = 0, $v = 0; - var label = 0, sp = 0; + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 28|0); + $53 = HEAP32[$12>>2]|0; + $54 = (($52) + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$11>>2] = $55; + $56 = HEAP32[$10>>2]|0; + $57 = ($56|0)==(0); + $58 = HEAP32[$11>>2]|0; + $59 = ($58|0)!=(0|0); + $or$cond = $57 | $59; + if (!($or$cond)) { + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + HEAP32[$18>>2] = 0; + HEAP32[$19>>2] = 0; + HEAP32[$20>>2] = 0; + HEAP32[$22>>2] = 0; + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$6>>2]|0; + $62 = HEAP32[$7>>2]|0; + $63 = (_sqlite3FkLocateIndex($60,$61,$62,$15,$16)|0); + $64 = ($63|0)!=(0); + if ($64) { + HEAP32[$4>>2] = 0; + $301 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($301|0); + } + HEAP32[$21>>2] = 0; + while(1) { + $65 = HEAP32[$21>>2]|0; + $66 = HEAP32[$7>>2]|0; + $67 = ((($66)) + 20|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($65|0)<($68|0); + if (!($69)) { + break; + } + ;HEAP32[$23>>2]=HEAP32[5544>>2]|0;HEAP32[$23+4>>2]=HEAP32[5544+4>>2]|0; + ;HEAP32[$24>>2]=HEAP32[5552>>2]|0;HEAP32[$24+4>>2]=HEAP32[5552+4>>2]|0; + $70 = HEAP32[$16>>2]|0; + $71 = ($70|0)!=(0|0); + if ($71) { + $72 = HEAP32[$16>>2]|0; + $73 = HEAP32[$21>>2]|0; + $74 = (($72) + ($73<<2)|0); + $$sink = $74; + } else { + $75 = HEAP32[$7>>2]|0; + $76 = ((($75)) + 36|0); + $$sink = $76; + } + $77 = HEAP32[$$sink>>2]|0; + HEAP32[$27>>2] = $77; + $78 = HEAP32[$6>>2]|0; + $79 = ((($78)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$15>>2]|0; + $82 = ($81|0)!=(0|0); + if ($82) { + $83 = HEAP32[$15>>2]|0; + $84 = ((($83)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$21>>2]|0; + $87 = (($85) + ($86<<1)|0); + $88 = HEAP16[$87>>1]|0; + $$sink2 = $88; + } else { + $89 = HEAP32[$6>>2]|0; + $90 = ((($89)) + 32|0); + $91 = HEAP16[$90>>1]|0; + $$sink2 = $91; + } + $92 = $$sink2 << 16 >> 16; + $93 = (($80) + ($92<<4)|0); + $94 = HEAP32[$93>>2]|0; + _sqlite3TokenInit($26,$94); + $95 = HEAP32[$7>>2]|0; + $96 = HEAP32[$95>>2]|0; + $97 = ((($96)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$27>>2]|0; + $100 = (($98) + ($99<<4)|0); + $101 = HEAP32[$100>>2]|0; + _sqlite3TokenInit($25,$101); + $102 = HEAP32[$5>>2]|0; + $103 = HEAP32[$5>>2]|0; + $104 = HEAP32[$9>>2]|0; + $105 = (_sqlite3ExprAlloc($104,55,$23,0)|0); + $106 = HEAP32[$9>>2]|0; + $107 = (_sqlite3ExprAlloc($106,55,$26,0)|0); + $108 = (_sqlite3PExpr($103,122,$105,$107,0)|0); + $109 = HEAP32[$9>>2]|0; + $110 = (_sqlite3ExprAlloc($109,55,$25,0)|0); + $111 = (_sqlite3PExpr($102,37,$108,$110,0)|0); + HEAP32[$28>>2] = $111; + $112 = HEAP32[$9>>2]|0; + $113 = HEAP32[$18>>2]|0; + $114 = HEAP32[$28>>2]|0; + $115 = (_sqlite3ExprAnd($112,$113,$114)|0); + HEAP32[$18>>2] = $115; + $116 = HEAP32[$8>>2]|0; + $117 = ($116|0)!=(0|0); + if ($117) { + $118 = HEAP32[$5>>2]|0; + $119 = HEAP32[$5>>2]|0; + $120 = HEAP32[$9>>2]|0; + $121 = (_sqlite3ExprAlloc($120,55,$23,0)|0); + $122 = HEAP32[$9>>2]|0; + $123 = (_sqlite3ExprAlloc($122,55,$26,0)|0); + $124 = (_sqlite3PExpr($119,122,$121,$123,0)|0); + $125 = HEAP32[$5>>2]|0; + $126 = HEAP32[$9>>2]|0; + $127 = (_sqlite3ExprAlloc($126,55,$24,0)|0); + $128 = HEAP32[$9>>2]|0; + $129 = (_sqlite3ExprAlloc($128,55,$26,0)|0); + $130 = (_sqlite3PExpr($125,122,$127,$129,0)|0); + $131 = (_sqlite3PExpr($118,29,$124,$130,0)|0); + HEAP32[$28>>2] = $131; + $132 = HEAP32[$9>>2]|0; + $133 = HEAP32[$22>>2]|0; + $134 = HEAP32[$28>>2]|0; + $135 = (_sqlite3ExprAnd($132,$133,$134)|0); + HEAP32[$22>>2] = $135; + } + $136 = HEAP32[$10>>2]|0; + $137 = ($136|0)!=(6); + if ($137) { + $138 = HEAP32[$10>>2]|0; + $139 = ($138|0)!=(9); + $140 = HEAP32[$8>>2]|0; + $141 = ($140|0)!=(0|0); + $or$cond4 = $139 | $141; + if ($or$cond4) { + $142 = HEAP32[$10>>2]|0; + $143 = ($142|0)==(9); + do { + if ($143) { + $144 = HEAP32[$5>>2]|0; + $145 = HEAP32[$9>>2]|0; + $146 = (_sqlite3ExprAlloc($145,55,$24,0)|0); + $147 = HEAP32[$9>>2]|0; + $148 = (_sqlite3ExprAlloc($147,55,$26,0)|0); + $149 = (_sqlite3PExpr($144,122,$146,$148,0)|0); + HEAP32[$29>>2] = $149; + } else { + $150 = HEAP32[$10>>2]|0; + $151 = ($150|0)==(8); + if (!($151)) { + $166 = HEAP32[$9>>2]|0; + $167 = (_sqlite3ExprAlloc($166,101,0,0)|0); + HEAP32[$29>>2] = $167; + break; + } + $152 = HEAP32[$7>>2]|0; + $153 = HEAP32[$152>>2]|0; + $154 = ((($153)) + 4|0); + $155 = HEAP32[$154>>2]|0; + $156 = HEAP32[$27>>2]|0; + $157 = (($155) + ($156<<4)|0); + $158 = ((($157)) + 4|0); + $159 = HEAP32[$158>>2]|0; + HEAP32[$30>>2] = $159; + $160 = HEAP32[$30>>2]|0; + $161 = ($160|0)!=(0|0); + $162 = HEAP32[$9>>2]|0; + if ($161) { + $163 = HEAP32[$30>>2]|0; + $164 = (_sqlite3ExprDup($162,$163,0)|0); + HEAP32[$29>>2] = $164; + break; + } else { + $165 = (_sqlite3ExprAlloc($162,101,0,0)|0); + HEAP32[$29>>2] = $165; + break; + } + } + } while(0); + $168 = HEAP32[$5>>2]|0; + $169 = HEAP32[$19>>2]|0; + $170 = HEAP32[$29>>2]|0; + $171 = (_sqlite3ExprListAppend($168,$169,$170)|0); + HEAP32[$19>>2] = $171; + $172 = HEAP32[$5>>2]|0; + $173 = HEAP32[$19>>2]|0; + _sqlite3ExprListSetName($172,$173,$25,0); + } + } + $174 = HEAP32[$21>>2]|0; + $175 = (($174) + 1)|0; + HEAP32[$21>>2] = $175; + } + $176 = HEAP32[$9>>2]|0; + $177 = HEAP32[$16>>2]|0; + _sqlite3DbFree($176,$177); + $178 = HEAP32[$7>>2]|0; + $179 = HEAP32[$178>>2]|0; + $180 = HEAP32[$179>>2]|0; + HEAP32[$13>>2] = $180; + $181 = HEAP32[$13>>2]|0; + $182 = (_sqlite3Strlen30($181)|0); + HEAP32[$14>>2] = $182; + $183 = HEAP32[$10>>2]|0; + $184 = ($183|0)==(6); + if ($184) { + $185 = HEAP32[$13>>2]|0; + HEAP32[$31>>2] = $185; + $186 = HEAP32[$14>>2]|0; + $187 = ((($31)) + 4|0); + HEAP32[$187>>2] = $186; + $188 = HEAP32[$9>>2]|0; + $189 = (_sqlite3Expr($188,83,25102)|0); + HEAP32[$32>>2] = $189; + $190 = HEAP32[$32>>2]|0; + $191 = ($190|0)!=(0|0); + if ($191) { + $192 = HEAP32[$32>>2]|0; + $193 = ((($192)) + 1|0); + HEAP8[$193>>0] = 2; + } + $194 = HEAP32[$5>>2]|0; + $195 = HEAP32[$5>>2]|0; + $196 = HEAP32[$32>>2]|0; + $197 = (_sqlite3ExprListAppend($195,0,$196)|0); + $198 = HEAP32[$9>>2]|0; + $199 = (_sqlite3SrcListAppend($198,0,$31,0)|0); + $200 = HEAP32[$18>>2]|0; + $201 = (_sqlite3SelectNew($194,$197,$199,$200,0,0,0,0,0,0)|0); + HEAP32[$20>>2] = $201; + HEAP32[$18>>2] = 0; + } + $202 = HEAP32[$9>>2]|0; + $203 = ((($202)) + 256|0); + $204 = HEAP32[$203>>2]|0; + $205 = (($204) + 1)|0; + HEAP32[$203>>2] = $205; + $206 = HEAP32[$9>>2]|0; + $207 = HEAP32[$14>>2]|0; + $208 = (72 + ($207))|0; + $209 = (($208) + 1)|0; + $210 = (_sqlite3DbMallocZero($206,$209,0)|0); + HEAP32[$11>>2] = $210; + $211 = HEAP32[$11>>2]|0; + $212 = ($211|0)!=(0|0); + if ($212) { + $213 = HEAP32[$11>>2]|0; + $214 = ((($213)) + 36|0); + $215 = HEAP32[$11>>2]|0; + $216 = ((($215)) + 28|0); + HEAP32[$216>>2] = $214; + HEAP32[$17>>2] = $214; + $217 = HEAP32[$17>>2]|0; + $218 = ((($217)) + 36|0); + $219 = HEAP32[$17>>2]|0; + $220 = ((($219)) + 12|0); + HEAP32[$220>>2] = $218; + $221 = HEAP32[$17>>2]|0; + $222 = ((($221)) + 12|0); + $223 = HEAP32[$222>>2]|0; + $224 = HEAP32[$13>>2]|0; + $225 = HEAP32[$14>>2]|0; + _memcpy(($223|0),($224|0),($225|0))|0; + $226 = HEAP32[$9>>2]|0; + $227 = HEAP32[$18>>2]|0; + $228 = (_sqlite3ExprDup($226,$227,1)|0); + $229 = HEAP32[$17>>2]|0; + $230 = ((($229)) + 16|0); + HEAP32[$230>>2] = $228; + $231 = HEAP32[$9>>2]|0; + $232 = HEAP32[$19>>2]|0; + $233 = (_sqlite3ExprListDup($231,$232,1)|0); + $234 = HEAP32[$17>>2]|0; + $235 = ((($234)) + 20|0); + HEAP32[$235>>2] = $233; + $236 = HEAP32[$9>>2]|0; + $237 = HEAP32[$20>>2]|0; + $238 = (_sqlite3SelectDup($236,$237,1)|0); + $239 = HEAP32[$17>>2]|0; + $240 = ((($239)) + 8|0); + HEAP32[$240>>2] = $238; + $241 = HEAP32[$22>>2]|0; + $242 = ($241|0)!=(0|0); + if ($242) { + $243 = HEAP32[$5>>2]|0; + $244 = HEAP32[$22>>2]|0; + $245 = (_sqlite3PExpr($243,19,$244,0,0)|0); + HEAP32[$22>>2] = $245; + $246 = HEAP32[$9>>2]|0; + $247 = HEAP32[$22>>2]|0; + $248 = (_sqlite3ExprDup($246,$247,1)|0); + $249 = HEAP32[$11>>2]|0; + $250 = ((($249)) + 12|0); + HEAP32[$250>>2] = $248; + } + } + $251 = HEAP32[$9>>2]|0; + $252 = ((($251)) + 256|0); + $253 = HEAP32[$252>>2]|0; + $254 = (($253) + -1)|0; + HEAP32[$252>>2] = $254; + $255 = HEAP32[$9>>2]|0; + $256 = HEAP32[$18>>2]|0; + _sqlite3ExprDelete($255,$256); + $257 = HEAP32[$9>>2]|0; + $258 = HEAP32[$22>>2]|0; + _sqlite3ExprDelete($257,$258); + $259 = HEAP32[$9>>2]|0; + $260 = HEAP32[$19>>2]|0; + _sqlite3ExprListDelete($259,$260); + $261 = HEAP32[$9>>2]|0; + $262 = HEAP32[$20>>2]|0; + _sqlite3SelectDelete($261,$262); + $263 = HEAP32[$9>>2]|0; + $264 = ((($263)) + 69|0); + $265 = HEAP8[$264>>0]|0; + $266 = $265&255; + $267 = ($266|0)==(1); + if ($267) { + $268 = HEAP32[$9>>2]|0; + $269 = HEAP32[$11>>2]|0; + _fkTriggerDelete($268,$269); + HEAP32[$4>>2] = 0; + $301 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($301|0); + } + $270 = HEAP32[$10>>2]|0; + switch ($270|0) { + case 6: { + $271 = HEAP32[$17>>2]|0; + $$sink5 = 119;$$sink7 = $271; + break; + } + case 9: { + $272 = HEAP32[$8>>2]|0; + $273 = ($272|0)!=(0|0); + if ($273) { + label = 41; + } else { + $274 = HEAP32[$17>>2]|0; + $$sink5 = 109;$$sink7 = $274; + } + break; + } + default: { + label = 41; + } + } + if ((label|0) == 41) { + $275 = HEAP32[$17>>2]|0; + $$sink5 = 110;$$sink7 = $275; + } + HEAP8[$$sink7>>0] = $$sink5; + $276 = HEAP32[$11>>2]|0; + $277 = HEAP32[$17>>2]|0; + $278 = ((($277)) + 4|0); + HEAP32[$278>>2] = $276; + $279 = HEAP32[$6>>2]|0; + $280 = ((($279)) + 64|0); + $281 = HEAP32[$280>>2]|0; + $282 = HEAP32[$11>>2]|0; + $283 = ((($282)) + 20|0); + HEAP32[$283>>2] = $281; + $284 = HEAP32[$6>>2]|0; + $285 = ((($284)) + 64|0); + $286 = HEAP32[$285>>2]|0; + $287 = HEAP32[$11>>2]|0; + $288 = ((($287)) + 24|0); + HEAP32[$288>>2] = $286; + $289 = HEAP32[$11>>2]|0; + $290 = HEAP32[$7>>2]|0; + $291 = ((($290)) + 28|0); + $292 = HEAP32[$12>>2]|0; + $293 = (($291) + ($292<<2)|0); + HEAP32[$293>>2] = $289; + $294 = HEAP32[$8>>2]|0; + $295 = ($294|0)!=(0|0); + $296 = $295 ? 110 : 109; + $297 = $296&255; + $298 = HEAP32[$11>>2]|0; + $299 = ((($298)) + 8|0); + HEAP8[$299>>0] = $297; + } + $300 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $300; + $301 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($301|0); +} +function _sqlite3CodeRowTriggerDirect($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 88|0; - $1 = sp + 84|0; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = sp + 64|0; - $7 = sp + 60|0; - $v = sp + 56|0; - $ephemTab = sp + 52|0; - $i = sp + 48|0; - $db = sp + 44|0; - $pVTab = sp + 40|0; - $pWInfo = sp + 36|0; - $nArg = sp + 32|0; - $regArg = sp + 28|0; - $regRec = sp + 24|0; - $regRowid = sp + 20|0; - $iCsr = sp + 16|0; - $aDummy = sp + 8|0; - $bOnePass = sp + 4|0; - $addr = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pSrc; - HEAP32[$2>>2] = $pTab; - HEAP32[$3>>2] = $pChanges; - HEAP32[$4>>2] = $pRowid; - HEAP32[$5>>2] = $aXRef; - HEAP32[$6>>2] = $pWhere; - HEAP32[$7>>2] = $onError; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$v>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - HEAP32[$db>>2] = $12; - $13 = HEAP32[$db>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (_sqlite3GetVTable($13,$14)|0); - HEAP32[$pVTab>>2] = $15; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 34|0); - $18 = HEAP16[$17>>1]|0; - $19 = $18 << 16 >> 16; - $20 = (2 + ($19))|0; - HEAP32[$nArg>>2] = $20; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 8|0); - $23 = ((($22)) + 44|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$iCsr>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 40|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$26>>2] = $28; - HEAP32[$ephemTab>>2] = $27; - $29 = HEAP32[$v>>2]|0; - $30 = HEAP32[$ephemTab>>2]|0; - $31 = HEAP32[$nArg>>2]|0; - $32 = (_sqlite3VdbeAddOp2($29,107,$30,$31)|0); - HEAP32[$addr>>2] = $32; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 44|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + 1)|0; - HEAP32[$regArg>>2] = $36; - $37 = HEAP32[$nArg>>2]|0; - $38 = HEAP32[$0>>2]|0; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $15 = HEAP32[$6>>2]|0; + $16 = (_sqlite3GetVdbe($15)|0); + HEAP32[$12>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$7>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$10>>2]|0; + $21 = (_getRowTrigger($17,$18,$19,$20)|0); + HEAP32[$13>>2] = $21; + $22 = HEAP32[$13>>2]|0; + $23 = ($22|0)!=(0|0); + if (!($23)) { + STACKTOP = sp;return; + } + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 24|0); + $30 = HEAP32[$29>>2]|0; + $31 = $30 & 262144; + $32 = (0)==($31|0); + $34 = $32; + } else { + $34 = 0; + } + $33 = $34&1; + HEAP32[$14>>2] = $33; + $35 = HEAP32[$12>>2]|0; + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$11>>2]|0; + $38 = HEAP32[$6>>2]|0; $39 = ((($38)) + 44|0); $40 = HEAP32[$39>>2]|0; - $41 = (($40) + ($37))|0; + $41 = (($40) + 1)|0; HEAP32[$39>>2] = $41; - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 44|0); + $42 = HEAP32[$13>>2]|0; + $43 = ((($42)) + 8|0); $44 = HEAP32[$43>>2]|0; - $45 = (($44) + 1)|0; - HEAP32[$43>>2] = $45; - HEAP32[$regRec>>2] = $45; - $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 44|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + 1)|0; - HEAP32[$47>>2] = $49; - HEAP32[$regRowid>>2] = $49; - $50 = HEAP32[$0>>2]|0; - $51 = HEAP32[$1>>2]|0; - $52 = HEAP32[$6>>2]|0; - $53 = (_sqlite3WhereBegin($50,$51,$52,0,0,4,0)|0); - HEAP32[$pWInfo>>2] = $53; - $54 = HEAP32[$pWInfo>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - STACKTOP = sp;return; - } - $56 = HEAP32[$v>>2]|0; - $57 = HEAP32[$iCsr>>2]|0; - $58 = HEAP32[$regArg>>2]|0; - (_sqlite3VdbeAddOp2($56,123,$57,$58)|0); - $59 = HEAP32[$4>>2]|0; - $60 = ($59|0)!=(0|0); - if ($60) { - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$4>>2]|0; - $63 = HEAP32[$regArg>>2]|0; - $64 = (($63) + 1)|0; - _sqlite3ExprCode($61,$62,$64); + (_sqlite3VdbeAddOp4($35,64,$36,$37,$41,$44,-18)|0); + $45 = HEAP32[$12>>2]|0; + $46 = HEAP32[$14>>2]|0; + $47 = $46&255; + _sqlite3VdbeChangeP5($45,$47); + STACKTOP = sp;return; +} +function _getRowTrigger($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 124|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + $14 = HEAP32[$4>>2]|0; + if ($13) { + $15 = ((($14)) + 124|0); + $16 = HEAP32[$15>>2]|0; + $17 = $16; } else { - $65 = HEAP32[$v>>2]|0; - $66 = HEAP32[$iCsr>>2]|0; - $67 = HEAP32[$regArg>>2]|0; - $68 = (($67) + 1)|0; - (_sqlite3VdbeAddOp2($65,123,$66,$68)|0); + $17 = $14; } - HEAP32[$i>>2] = 0; + HEAP32[$8>>2] = $17; + $18 = HEAP32[$8>>2]|0; + $19 = ((($18)) + 468|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$9>>2] = $20; while(1) { - $69 = HEAP32[$i>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = ((($70)) + 34|0); - $72 = HEAP16[$71>>1]|0; - $73 = $72 << 16 >> 16; - $74 = ($69|0)<($73|0); - if (!($74)) { + $21 = HEAP32[$9>>2]|0; + $22 = ($21|0)!=(0|0); + if (!($22)) { break; } - $75 = HEAP32[$i>>2]|0; - $76 = HEAP32[$5>>2]|0; - $77 = (($76) + ($75<<2)|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)>=(0); - if ($79) { - $80 = HEAP32[$0>>2]|0; - $81 = HEAP32[$i>>2]|0; - $82 = HEAP32[$5>>2]|0; - $83 = (($82) + ($81<<2)|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$3>>2]|0; - $86 = ((($85)) + 4|0); - $87 = HEAP32[$86>>2]|0; - $88 = (($87) + (($84*20)|0)|0); - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$regArg>>2]|0; - $91 = (($90) + 2)|0; - $92 = HEAP32[$i>>2]|0; - $93 = (($91) + ($92))|0; - _sqlite3ExprCode($80,$89,$93); - } else { - $94 = HEAP32[$v>>2]|0; - $95 = HEAP32[$iCsr>>2]|0; - $96 = HEAP32[$i>>2]|0; - $97 = HEAP32[$regArg>>2]|0; - $98 = (($97) + 2)|0; - $99 = HEAP32[$i>>2]|0; - $100 = (($98) + ($99))|0; - (_sqlite3VdbeAddOp3($94,156,$95,$96,$100)|0); - } - $101 = HEAP32[$i>>2]|0; - $102 = (($101) + 1)|0; - HEAP32[$i>>2] = $102; - } - $103 = HEAP32[$pWInfo>>2]|0; - $104 = (_sqlite3WhereOkOnePass($103,$aDummy)|0); - HEAP32[$bOnePass>>2] = $104; - $105 = HEAP32[$bOnePass>>2]|0; - $106 = ($105|0)!=(0); - $107 = HEAP32[$v>>2]|0; - if ($106) { - $108 = HEAP32[$addr>>2]|0; - (_sqlite3VdbeChangeToNoop($107,$108)|0); - $109 = HEAP32[$0>>2]|0; - $110 = ((($109)) + 124|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)==(0|0); - if ($112) { - $113 = HEAP32[$0>>2]|0; - $114 = ((($113)) + 20|0); - HEAP8[$114>>0] = 0; - } - } else { - $115 = HEAP32[$regArg>>2]|0; - $116 = HEAP32[$nArg>>2]|0; - $117 = HEAP32[$regRec>>2]|0; - (_sqlite3VdbeAddOp3($107,99,$115,$116,$117)|0); - $118 = HEAP32[$v>>2]|0; - $119 = HEAP32[$ephemTab>>2]|0; - $120 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($118,114,$119,$120)|0); - $121 = HEAP32[$v>>2]|0; - $122 = HEAP32[$ephemTab>>2]|0; - $123 = HEAP32[$regRec>>2]|0; - $124 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($121,115,$122,$123,$124)|0); - } - $125 = HEAP32[$bOnePass>>2]|0; - $126 = ($125|0)==(0); - L21: do { - if ($126) { - $127 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($127); - $128 = HEAP32[$v>>2]|0; - $129 = HEAP32[$ephemTab>>2]|0; - $130 = (_sqlite3VdbeAddOp1($128,57,$129)|0); - HEAP32[$addr>>2] = $130; - HEAP32[$i>>2] = 0; - while(1) { - $131 = HEAP32[$i>>2]|0; - $132 = HEAP32[$nArg>>2]|0; - $133 = ($131|0)<($132|0); - if (!($133)) { - break L21; - } - $134 = HEAP32[$v>>2]|0; - $135 = HEAP32[$ephemTab>>2]|0; - $136 = HEAP32[$i>>2]|0; - $137 = HEAP32[$regArg>>2]|0; - $138 = HEAP32[$i>>2]|0; - $139 = (($137) + ($138))|0; - (_sqlite3VdbeAddOp3($134,96,$135,$136,$139)|0); - $140 = HEAP32[$i>>2]|0; - $141 = (($140) + 1)|0; - HEAP32[$i>>2] = $141; + $23 = HEAP32[$9>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = ($24|0)!=($25|0); + if (!($26)) { + $27 = HEAP32[$9>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = ($29|0)!=($30|0); + if (!($31)) { + break; } } - } while(0); - $142 = HEAP32[$0>>2]|0; - $143 = HEAP32[$2>>2]|0; - _sqlite3VtabMakeWritable($142,$143); - $144 = HEAP32[$v>>2]|0; - $145 = HEAP32[$nArg>>2]|0; - $146 = HEAP32[$regArg>>2]|0; - $147 = HEAP32[$pVTab>>2]|0; - (_sqlite3VdbeAddOp4($144,12,0,$145,$146,$147,-10)|0); - $148 = HEAP32[$v>>2]|0; - $149 = HEAP32[$7>>2]|0; - $150 = ($149|0)==(10); - $151 = HEAP32[$7>>2]|0; - $152 = $150 ? 2 : $151; - $153 = $152&255; - _sqlite3VdbeChangeP5($148,$153); - $154 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($154); - $155 = HEAP32[$bOnePass>>2]|0; - $156 = ($155|0)==(0); - if ($156) { - $157 = HEAP32[$v>>2]|0; - $158 = HEAP32[$ephemTab>>2]|0; - $159 = HEAP32[$addr>>2]|0; - $160 = (($159) + 1)|0; - (_sqlite3VdbeAddOp2($157,7,$158,$160)|0); - $161 = HEAP32[$v>>2]|0; - $162 = HEAP32[$addr>>2]|0; - _sqlite3VdbeJumpHere($161,$162); - $163 = HEAP32[$v>>2]|0; - $164 = HEAP32[$ephemTab>>2]|0; - (_sqlite3VdbeAddOp2($163,111,$164,0)|0); - STACKTOP = sp;return; - } else { - $165 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($165); - STACKTOP = sp;return; + $32 = HEAP32[$9>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$9>>2] = $34; + } + $35 = HEAP32[$9>>2]|0; + $36 = ($35|0)!=(0|0); + if ($36) { + $42 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($42|0); } + $37 = HEAP32[$4>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = (_codeRowTrigger($37,$38,$39,$40)|0); + HEAP32[$9>>2] = $41; + $42 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($42|0); } -function _sqlite3WhereOkOnePass($pWInfo,$aiCur) { - $pWInfo = $pWInfo|0; - $aiCur = $aiCur|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _codeRowTrigger($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pWInfo; - HEAP32[$1>>2] = $aiCur; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 20|0); - ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 45|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - STACKTOP = sp;return ($8|0); + STACKTOP = STACKTOP + 96|0; + $vararg_buffer = sp; + $4 = sp + 84|0; + $5 = sp + 80|0; + $6 = sp + 76|0; + $7 = sp + 72|0; + $8 = sp + 68|0; + $9 = sp + 64|0; + $10 = sp + 60|0; + $11 = sp + 56|0; + $12 = sp + 52|0; + $13 = sp + 48|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 124|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + $22 = HEAP32[$5>>2]|0; + if ($21) { + $23 = ((($22)) + 124|0); + $24 = HEAP32[$23>>2]|0; + $25 = $24; + } else { + $25 = $22; + } + HEAP32[$9>>2] = $25; + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$26>>2]|0; + HEAP32[$10>>2] = $27; + HEAP32[$12>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$17>>2] = 0; + $28 = HEAP32[$10>>2]|0; + $29 = (_sqlite3DbMallocZero($28,24,0)|0); + HEAP32[$11>>2] = $29; + $30 = HEAP32[$11>>2]|0; + $31 = ($30|0)!=(0|0); + if (!($31)) { + HEAP32[$4>>2] = 0; + $173 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($173|0); + } + $32 = HEAP32[$9>>2]|0; + $33 = ((($32)) + 468|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$11>>2]|0; + $36 = ((($35)) + 4|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$11>>2]|0; + $38 = HEAP32[$9>>2]|0; + $39 = ((($38)) + 468|0); + HEAP32[$39>>2] = $37; + $40 = HEAP32[$10>>2]|0; + $41 = (_sqlite3DbMallocZero($40,24,0)|0); + HEAP32[$15>>2] = $41; + $42 = HEAP32[$11>>2]|0; + $43 = ((($42)) + 8|0); + HEAP32[$43>>2] = $41; + $44 = HEAP32[$15>>2]|0; + $45 = ($44|0)!=(0|0); + if (!($45)) { + HEAP32[$4>>2] = 0; + $173 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($173|0); + } + $46 = HEAP32[$9>>2]|0; + $47 = ((($46)) + 8|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$15>>2]|0; + _sqlite3VdbeLinkSubProgram($48,$49); + $50 = HEAP32[$6>>2]|0; + $51 = HEAP32[$11>>2]|0; + HEAP32[$51>>2] = $50; + $52 = HEAP32[$8>>2]|0; + $53 = HEAP32[$11>>2]|0; + $54 = ((($53)) + 12|0); + HEAP32[$54>>2] = $52; + $55 = HEAP32[$11>>2]|0; + $56 = ((($55)) + 16|0); + HEAP32[$56>>2] = -1; + $57 = HEAP32[$11>>2]|0; + $58 = ((($57)) + 16|0); + $59 = ((($58)) + 4|0); + HEAP32[$59>>2] = -1; + $60 = HEAP32[$10>>2]|0; + $61 = (_sqlite3DbMallocZero($60,480,0)|0); + HEAP32[$16>>2] = $61; + $62 = HEAP32[$16>>2]|0; + $63 = ($62|0)!=(0|0); + if (!($63)) { + HEAP32[$4>>2] = 0; + $173 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($173|0); + } + ;HEAP32[$14>>2]=0|0;HEAP32[$14+4>>2]=0|0;HEAP32[$14+8>>2]=0|0;HEAP32[$14+12>>2]=0|0;HEAP32[$14+16>>2]=0|0;HEAP32[$14+20>>2]=0|0;HEAP32[$14+24>>2]=0|0;HEAP32[$14+28>>2]=0|0; + $64 = HEAP32[$16>>2]|0; + HEAP32[$14>>2] = $64; + $65 = HEAP32[$10>>2]|0; + $66 = HEAP32[$16>>2]|0; + HEAP32[$66>>2] = $65; + $67 = HEAP32[$7>>2]|0; + $68 = HEAP32[$16>>2]|0; + $69 = ((($68)) + 128|0); + HEAP32[$69>>2] = $67; + $70 = HEAP32[$9>>2]|0; + $71 = HEAP32[$16>>2]|0; + $72 = ((($71)) + 124|0); + HEAP32[$72>>2] = $70; + $73 = HEAP32[$6>>2]|0; + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$16>>2]|0; + $76 = ((($75)) + 448|0); + HEAP32[$76>>2] = $74; + $77 = HEAP32[$6>>2]|0; + $78 = ((($77)) + 8|0); + $79 = HEAP8[$78>>0]|0; + $80 = HEAP32[$16>>2]|0; + $81 = ((($80)) + 148|0); + HEAP8[$81>>0] = $79; + $82 = HEAP32[$5>>2]|0; + $83 = ((($82)) + 136|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$16>>2]|0; + $86 = ((($85)) + 136|0); + HEAP32[$86>>2] = $84; + $87 = HEAP32[$16>>2]|0; + $88 = (_sqlite3GetVdbe($87)|0); + HEAP32[$13>>2] = $88; + $89 = HEAP32[$13>>2]|0; + $90 = ($89|0)!=(0|0); + if ($90) { + $91 = HEAP32[$13>>2]|0; + $92 = HEAP32[$10>>2]|0; + $93 = HEAP32[$6>>2]|0; + $94 = HEAP32[$93>>2]|0; + HEAP32[$vararg_buffer>>2] = $94; + $95 = (_sqlite3MPrintf($92,34505,$vararg_buffer)|0); + _sqlite3VdbeChangeP4($91,-1,$95,-1); + $96 = HEAP32[$6>>2]|0; + $97 = ((($96)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)!=(0|0); + if ($99) { + $100 = HEAP32[$10>>2]|0; + $101 = HEAP32[$6>>2]|0; + $102 = ((($101)) + 12|0); + $103 = HEAP32[$102>>2]|0; + $104 = (_sqlite3ExprDup($100,$103,0)|0); + HEAP32[$12>>2] = $104; + $105 = HEAP32[$12>>2]|0; + $106 = (_sqlite3ResolveExprNames($14,$105)|0); + $107 = (0)==($106|0); + if ($107) { + $108 = HEAP32[$10>>2]|0; + $109 = ((($108)) + 69|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110&255; + $112 = ($111|0)==(0); + if ($112) { + $113 = HEAP32[$13>>2]|0; + $114 = (_sqlite3VdbeMakeLabel($113)|0); + HEAP32[$17>>2] = $114; + $115 = HEAP32[$16>>2]|0; + $116 = HEAP32[$12>>2]|0; + $117 = HEAP32[$17>>2]|0; + _sqlite3ExprIfFalse($115,$116,$117,16); + } + } + $118 = HEAP32[$10>>2]|0; + $119 = HEAP32[$12>>2]|0; + _sqlite3ExprDelete($118,$119); + } + $120 = HEAP32[$16>>2]|0; + $121 = HEAP32[$6>>2]|0; + $122 = ((($121)) + 28|0); + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$8>>2]|0; + (_codeTriggerProgram($120,$123,$124)|0); + $125 = HEAP32[$17>>2]|0; + $126 = ($125|0)!=(0); + if ($126) { + $127 = HEAP32[$13>>2]|0; + $128 = HEAP32[$17>>2]|0; + _sqlite3VdbeResolveLabel($127,$128); + } + $129 = HEAP32[$13>>2]|0; + (_sqlite3VdbeAddOp0($129,75)|0); + $130 = HEAP32[$5>>2]|0; + $131 = HEAP32[$16>>2]|0; + _transferParseError($130,$131); + $132 = HEAP32[$10>>2]|0; + $133 = ((($132)) + 69|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134&255; + $136 = ($135|0)==(0); + if ($136) { + $137 = HEAP32[$13>>2]|0; + $138 = HEAP32[$15>>2]|0; + $139 = ((($138)) + 4|0); + $140 = HEAP32[$9>>2]|0; + $141 = ((($140)) + 108|0); + $142 = (_sqlite3VdbeTakeOpArray($137,$139,$141)|0); + $143 = HEAP32[$15>>2]|0; + HEAP32[$143>>2] = $142; + } + $144 = HEAP32[$16>>2]|0; + $145 = ((($144)) + 44|0); + $146 = HEAP32[$145>>2]|0; + $147 = HEAP32[$15>>2]|0; + $148 = ((($147)) + 8|0); + HEAP32[$148>>2] = $146; + $149 = HEAP32[$16>>2]|0; + $150 = ((($149)) + 40|0); + $151 = HEAP32[$150>>2]|0; + $152 = HEAP32[$15>>2]|0; + $153 = ((($152)) + 12|0); + HEAP32[$153>>2] = $151; + $154 = HEAP32[$6>>2]|0; + $155 = HEAP32[$15>>2]|0; + $156 = ((($155)) + 16|0); + HEAP32[$156>>2] = $154; + $157 = HEAP32[$16>>2]|0; + $158 = ((($157)) + 140|0); + $159 = HEAP32[$158>>2]|0; + $160 = HEAP32[$11>>2]|0; + $161 = ((($160)) + 16|0); + HEAP32[$161>>2] = $159; + $162 = HEAP32[$16>>2]|0; + $163 = ((($162)) + 144|0); + $164 = HEAP32[$163>>2]|0; + $165 = HEAP32[$11>>2]|0; + $166 = ((($165)) + 16|0); + $167 = ((($166)) + 4|0); + HEAP32[$167>>2] = $164; + $168 = HEAP32[$13>>2]|0; + _sqlite3VdbeDelete($168); + } + $169 = HEAP32[$16>>2]|0; + _sqlite3ParserReset($169); + $170 = HEAP32[$10>>2]|0; + $171 = HEAP32[$16>>2]|0; + _sqlite3DbFree($170,$171); + $172 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $172; + $173 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($173|0); } -function _sqlite3AuthContextPop($pContext) { - $pContext = $pContext|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3VdbeLinkSubProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pContext; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$0>>2]|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 200|0); $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 448|0); - HEAP32[$10>>2] = $6; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 4|0); - HEAP32[$12>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 20|0); + HEAP32[$8>>2] = $6; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 200|0); + HEAP32[$11>>2] = $9; STACKTOP = sp;return; } -function _sqlite3SrcListEnlarge($db,$pSrc,$nExtra,$iStart) { - $db = $db|0; - $pSrc = $pSrc|0; - $nExtra = $nExtra|0; - $iStart = $iStart|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0; - var $i = 0, $nAlloc = 0, $nGot = 0, $pNew = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _codeTriggerProgram($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $i = sp + 12|0; - $pNew = sp + 8|0; - $nAlloc = sp + 4|0; - $nGot = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pSrc; - HEAP32[$3>>2] = $nExtra; - HEAP32[$4>>2] = $iStart; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (($6) + ($7))|0; - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8>>>0)>($11>>>0); - do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$3>>2]|0; - $16 = (($14) + ($15))|0; - HEAP32[$nAlloc>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$nAlloc>>2]|0; - $20 = (($19) - 1)|0; - $21 = ($20*72)|0; - $22 = (80 + ($21))|0; - $23 = (_sqlite3DbRealloc($17,$18,$22,0)|0); - HEAP32[$pNew>>2] = $23; - $24 = HEAP32[$pNew>>2]|0; - $25 = ($24|0)==(0|0); - if (!($25)) { - $27 = HEAP32[$pNew>>2]|0; - HEAP32[$2>>2] = $27; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$pNew>>2]|0; - $30 = (_sqlite3DbMallocSize($28,$29)|0); - $31 = (($30) - 80)|0; - $32 = (($31>>>0) / 72)&-1; - $33 = (($32) + 1)|0; - HEAP32[$nGot>>2] = $33; - $34 = HEAP32[$nGot>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 4|0); - HEAP32[$36>>2] = $34; - break; - } - $26 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $26; - $79 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($79|0); - } - } while(0); - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = (($38) - 1)|0; - HEAP32[$i>>2] = $39; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 8|0; + $10 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$7>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$14>>2]|0; + HEAP32[$8>>2] = $15; + $16 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $16; while(1) { - $40 = HEAP32[$i>>2]|0; - $41 = HEAP32[$4>>2]|0; - $42 = ($40|0)>=($41|0); - if (!($42)) { + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)!=(0|0); + if (!($18)) { break; } - $43 = HEAP32[$i>>2]|0; - $44 = HEAP32[$3>>2]|0; - $45 = (($43) + ($44))|0; - $46 = HEAP32[$2>>2]|0; - $47 = ((($46)) + 8|0); - $48 = (($47) + (($45*72)|0)|0); - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$2>>2]|0; - $51 = ((($50)) + 8|0); - $52 = (($51) + (($49*72)|0)|0); - dest=$48; src=$52; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $53 = HEAP32[$i>>2]|0; - $54 = (($53) + -1)|0; - HEAP32[$i>>2] = $54; - } - $55 = HEAP32[$3>>2]|0; - $56 = HEAP32[$2>>2]|0; - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + ($55))|0; - HEAP32[$56>>2] = $58; - $59 = HEAP32[$4>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = ((($60)) + 8|0); - $62 = (($61) + (($59*72)|0)|0); - $63 = HEAP32[$3>>2]|0; - $64 = ($63*72)|0; - _memset(($62|0),0,($64|0))|0; - $65 = HEAP32[$4>>2]|0; - HEAP32[$i>>2] = $65; - while(1) { - $66 = HEAP32[$i>>2]|0; - $67 = HEAP32[$4>>2]|0; - $68 = HEAP32[$3>>2]|0; - $69 = (($67) + ($68))|0; - $70 = ($66|0)<($69|0); - if (!($70)) { + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(10); + if ($20) { + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $$sink = $23; + } else { + $24 = HEAP32[$5>>2]|0; + $25 = $24&255; + $$sink = $25; + } + $26 = $$sink&255; + $27 = $26&255; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 149|0); + HEAP8[$29>>0] = $27; + $30 = HEAP32[$6>>2]|0; + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + switch ($32|0) { + case 110: { + $33 = HEAP32[$3>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = (_targetSrcList($34,$35)|0); + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 20|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3ExprListDup($37,$40,0)|0); + $42 = HEAP32[$8>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = ((($43)) + 16|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_sqlite3ExprDup($42,$45,0)|0); + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 149|0); + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + _sqlite3Update($33,$36,$41,$46,$50); break; } - $71 = HEAP32[$i>>2]|0; - $72 = HEAP32[$2>>2]|0; - $73 = ((($72)) + 8|0); - $74 = (($73) + (($71*72)|0)|0); - $75 = ((($74)) + 44|0); - HEAP32[$75>>2] = -1; - $76 = HEAP32[$i>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[$i>>2] = $77; + case 108: { + $51 = HEAP32[$3>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = HEAP32[$6>>2]|0; + $54 = (_targetSrcList($52,$53)|0); + $55 = HEAP32[$8>>2]|0; + $56 = HEAP32[$6>>2]|0; + $57 = ((($56)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = (_sqlite3SelectDup($55,$58,0)|0); + $60 = HEAP32[$8>>2]|0; + $61 = HEAP32[$6>>2]|0; + $62 = ((($61)) + 24|0); + $63 = HEAP32[$62>>2]|0; + $64 = (_sqlite3IdListDup($60,$63)|0); + $65 = HEAP32[$3>>2]|0; + $66 = ((($65)) + 149|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + _sqlite3Insert($51,$54,$59,$64,$68); + break; + } + case 109: { + $69 = HEAP32[$3>>2]|0; + $70 = HEAP32[$3>>2]|0; + $71 = HEAP32[$6>>2]|0; + $72 = (_targetSrcList($70,$71)|0); + $73 = HEAP32[$8>>2]|0; + $74 = HEAP32[$6>>2]|0; + $75 = ((($74)) + 16|0); + $76 = HEAP32[$75>>2]|0; + $77 = (_sqlite3ExprDup($73,$76,0)|0); + _sqlite3DeleteFrom($69,$72,$77); + break; + } + default: { + $78 = HEAP32[$8>>2]|0; + $79 = HEAP32[$6>>2]|0; + $80 = ((($79)) + 8|0); + $81 = HEAP32[$80>>2]|0; + $82 = (_sqlite3SelectDup($78,$81,0)|0); + HEAP32[$10>>2] = $82; + _sqlite3SelectDestInit($9,4,0); + $83 = HEAP32[$3>>2]|0; + $84 = HEAP32[$10>>2]|0; + (_sqlite3Select($83,$84,$9)|0); + $85 = HEAP32[$8>>2]|0; + $86 = HEAP32[$10>>2]|0; + _sqlite3SelectDelete($85,$86); + } + } + $87 = HEAP32[$6>>2]|0; + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = ($89|0)!=(119); + if ($90) { + $91 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp0($91,118)|0); + } + $92 = HEAP32[$6>>2]|0; + $93 = ((($92)) + 28|0); + $94 = HEAP32[$93>>2]|0; + HEAP32[$6>>2] = $94; } - $78 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $78; - $79 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($79|0); + STACKTOP = sp;return 0; } -function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { - $pParse = $pParse|0; - $p = $p|0; - $iFrom = $iFrom|0; - $isAgg = $isAgg|0; - $subqueryIsAgg = $subqueryIsAgg|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $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, $db = 0, $i = 0, $iParent = 0, $ii = 0, $jointype = 0, $nSubSrc = 0, $or$cond = 0, $or$cond3 = 0, $pLimit = 0, $pList = 0, $pNew = 0, $pOffset = 0, $pOrderBy = 0, $pOrderBy1 = 0, $pParent = 0, $pPrior = 0, $pSrc = 0, $pSub = 0; - var $pSub1 = 0, $pSubSrc = 0, $pSubitem = 0, $pTabToDel = 0, $pToplevel = 0, $pWhere = 0, $zName = 0, $zSavedAuthContext = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _transferParseError($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 112|0; - $1 = sp + 108|0; - $2 = sp + 104|0; - $3 = sp + 100|0; - $4 = sp + 96|0; - $5 = sp + 92|0; - $zSavedAuthContext = sp + 88|0; - $pParent = sp + 84|0; - $pSub = sp + 80|0; - $pSub1 = sp + 76|0; - $pSrc = sp + 72|0; - $pSubSrc = sp + 68|0; - $pList = sp + 64|0; - $iParent = sp + 60|0; - $i = sp + 56|0; - $pWhere = sp + 52|0; - $pSubitem = sp + 48|0; - $db = sp + 44|0; - $ii = sp + 40|0; - $pNew = sp + 36|0; - $pOrderBy = sp + 32|0; - $pLimit = sp + 28|0; - $pOffset = sp + 24|0; - $pPrior = sp + 20|0; - $pTabToDel = sp + 16|0; - $pToplevel = sp + 12|0; - $nSubSrc = sp + 8|0; - $jointype = sp + 116|0; - $zName = sp + 4|0; - $pOrderBy1 = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $iFrom; - HEAP32[$4>>2] = $isAgg; - HEAP32[$5>>2] = $subqueryIsAgg; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 448|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$zSavedAuthContext>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$db>>2] = $10; - $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 64|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & 1; - $16 = ($15|0)!=(0); - if ($16) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 36|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + $8 = HEAP32[$3>>2]|0; + if ($7) { + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 4|0); + HEAP32[$12>>2] = $10; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 36|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 36|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 12|0); + HEAP32[$22>>2] = $20; + STACKTOP = sp;return; + } else { + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + _sqlite3DbFree($23,$26); + STACKTOP = sp;return; } +} +function _sqlite3VdbeTakeOpArray($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 88|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$5>>2]|0; + _resolveP2Values($10,$11); + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 136|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + HEAP32[$15>>2] = $14; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 88|0); + HEAP32[$17>>2] = 0; + $18 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($18|0); +} +function _resolveP2Values($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $13; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 76|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$7>>2] = $16; $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 28|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pSrc>>2] = $19; - $20 = HEAP32[$3>>2]|0; - $21 = HEAP32[$pSrc>>2]|0; - $22 = ((($21)) + 8|0); - $23 = (($22) + (($20*72)|0)|0); - HEAP32[$pSubitem>>2] = $23; - $24 = HEAP32[$pSubitem>>2]|0; - $25 = ((($24)) + 44|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$iParent>>2] = $26; - $27 = HEAP32[$pSubitem>>2]|0; - $28 = ((($27)) + 20|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$pSub>>2] = $29; - $30 = HEAP32[$5>>2]|0; - $31 = ($30|0)!=(0); - do { - if ($31) { - $32 = HEAP32[$4>>2]|0; - $33 = ($32|0)!=(0); - if ($33) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); + $18 = ((($17)) + 144|0); + $19 = HEAP16[$18>>1]|0; + $20 = $19 & -129; + $21 = $20 | 128; + HEAP16[$18>>1] = $21; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 144|0); + $24 = HEAP16[$23>>1]|0; + $25 = $24 & -257; + HEAP16[$23>>1] = $25; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 88|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 136|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) - 1)|0; + $33 = (($28) + (($32*20)|0)|0); + HEAP32[$5>>2] = $33; + while(1) { + $34 = HEAP32[$5>>2]|0; + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)<=(71); + if ($37) { + $38 = HEAP32[$5>>2]|0; + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + switch ($40|0) { + case 2: { + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)!=(0); + if ($44) { + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 144|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47 & -129; + HEAP16[$46>>1] = $48; + label = 6; + } else { + label = 6; + } + break; } - $34 = HEAP32[$pSrc>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)>(1); - if ($36) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); + case 0: case 1: { + label = 6; + break; } - $37 = HEAP32[$2>>2]|0; - $38 = ((($37)) + 32|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)!=(0|0); - if ($40) { - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 32|0); - $43 = HEAP32[$42>>2]|0; - $44 = ((($43)) + 4|0); - $45 = HEAP32[$44>>2]|0; - $46 = $45 & 2097152; - $47 = ($46|0)!=(0); - if (!($47)) { - label = 10; + case 9: case 10: case 8: { + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 144|0); + $56 = HEAP16[$55>>1]|0; + $57 = $56 & -129; + HEAP16[$55>>1] = $57; + $58 = HEAP32[$2>>2]|0; + $59 = ((($58)) + 144|0); + $60 = HEAP16[$59>>1]|0; + $61 = $60 & -257; + $62 = $61 | 256; + HEAP16[$59>>1] = $62; + break; + } + case 12: { + $63 = HEAP32[$5>>2]|0; + $64 = ((($63)) + 8|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$4>>2]|0; + $67 = ($65|0)>($66|0); + if ($67) { + $68 = HEAP32[$5>>2]|0; + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + HEAP32[$4>>2] = $70; } - } else { - label = 10; + break; } - if ((label|0) == 10) { - $48 = HEAP32[$2>>2]|0; - $49 = HEAP32[$48>>2]|0; - $50 = (_sqlite3ExprListFlags($49)|0); - $51 = $50 & 2097152; - $52 = ($51|0)!=(0); - if (!($52)) { - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 44|0); - $55 = HEAP32[$54>>2]|0; - $56 = (_sqlite3ExprListFlags($55)|0); - $57 = $56 & 2097152; - $58 = ($57|0)!=(0); - if (!($58)) { - break; - } + case 11: { + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + -20|0); + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + HEAP32[$8>>2] = $74; + $75 = HEAP32[$8>>2]|0; + $76 = HEAP32[$4>>2]|0; + $77 = ($75|0)>($76|0); + if ($77) { + $78 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $78; + } + break; + } + case 3: case 5: case 7: { + $79 = HEAP32[$5>>2]|0; + $80 = ((($79)) + 16|0); + HEAP32[$80>>2] = 209; + $81 = HEAP32[$5>>2]|0; + $82 = ((($81)) + 1|0); + HEAP8[$82>>0] = -19; + break; + } + case 4: case 6: { + $83 = HEAP32[$5>>2]|0; + $84 = ((($83)) + 16|0); + HEAP32[$84>>2] = 210; + $85 = HEAP32[$5>>2]|0; + $86 = ((($85)) + 1|0); + HEAP8[$86>>0] = -19; + break; + } + default: { + } + } + if ((label|0) == 6) { + label = 0; + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 144|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51 & -257; + $53 = $52 | 256; + HEAP16[$50>>1] = $53; + } + $87 = HEAP32[$5>>2]|0; + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = (32756 + ($89)|0); + $91 = HEAP8[$90>>0]|0; + $92 = $91&255; + $93 = $92 & 1; + $94 = ($93|0)!=(0); + if ($94) { + $95 = HEAP32[$5>>2]|0; + $96 = ((($95)) + 8|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)<(0); + if ($98) { + $99 = HEAP32[$7>>2]|0; + $100 = HEAP32[$5>>2]|0; + $101 = ((($100)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = (-1 - ($102))|0; + $104 = (($99) + ($103<<2)|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$5>>2]|0; + $107 = ((($106)) + 8|0); + HEAP32[$107>>2] = $105; } } - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); } - } while(0); - $59 = HEAP32[$pSub>>2]|0; - $60 = ((($59)) + 28|0); - $61 = HEAP32[$60>>2]|0; - HEAP32[$pSubSrc>>2] = $61; - $62 = HEAP32[$pSub>>2]|0; - $63 = ((($62)) + 56|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)!=(0|0); - if ($65) { - $66 = HEAP32[$2>>2]|0; - $67 = ((($66)) + 56|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($68|0)!=(0|0); - if ($69) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); + $108 = HEAP32[$5>>2]|0; + $109 = HEAP32[$2>>2]|0; + $110 = ((($109)) + 88|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($108|0)==($111|0); + if ($112) { + break; } + $113 = HEAP32[$5>>2]|0; + $114 = ((($113)) + -20|0); + HEAP32[$5>>2] = $114; } - $70 = HEAP32[$pSub>>2]|0; - $71 = ((($70)) + 60|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($72|0)!=(0|0); - if ($73) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - $74 = HEAP32[$2>>2]|0; - $75 = ((($74)) + 8|0); - $76 = HEAP32[$75>>2]|0; - $77 = $76 & 256; - $78 = ($77|0)!=(0); - if ($78) { - $79 = HEAP32[$pSub>>2]|0; - $80 = ((($79)) + 56|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)!=(0|0); - if ($82) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } + $115 = HEAP32[$2>>2]|0; + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$6>>2]|0; + $118 = ((($117)) + 76|0); + $119 = HEAP32[$118>>2]|0; + _sqlite3DbFree($116,$119); + $120 = HEAP32[$6>>2]|0; + $121 = ((($120)) + 76|0); + HEAP32[$121>>2] = 0; + $122 = HEAP32[$6>>2]|0; + $123 = ((($122)) + 72|0); + HEAP32[$123>>2] = 0; + $124 = HEAP32[$4>>2]|0; + $125 = HEAP32[$3>>2]|0; + HEAP32[$125>>2] = $124; + STACKTOP = sp;return; +} +function _sqlite3BtreeNext($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 16|0); + $8 = ((($7)) + 18|0); + HEAP16[$8>>1] = 0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 64|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 & -7; + $14 = $13&255; + HEAP8[$10>>0] = $14; + $15 = HEAP32[$4>>2]|0; + HEAP32[$15>>2] = 0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 66|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)!=(1); + $21 = HEAP32[$3>>2]|0; + if ($20) { + $22 = HEAP32[$4>>2]|0; + $23 = (_btreeNext($21,$22)|0); + HEAP32[$2>>2] = $23; + $64 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($64|0); } - $83 = HEAP32[$pSubSrc>>2]|0; - $84 = HEAP32[$83>>2]|0; - $85 = ($84|0)==(0); - if ($85) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); + $24 = ((($21)) + 120|0); + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 68|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($24) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$5>>2] = $30; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 80|0); + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 68|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35 << 24 >> 24; + $37 = (($32) + ($36<<1)|0); + $38 = HEAP16[$37>>1]|0; + $39 = (($38) + 1)<<16>>16; + HEAP16[$37>>1] = $39; + $40 = $39&65535; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 18|0); + $43 = HEAP16[$42>>1]|0; + $44 = $43&65535; + $45 = ($40|0)>=($44|0); + if ($45) { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 80|0); + $48 = HEAP32[$3>>2]|0; + $49 = ((($48)) + 68|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50 << 24 >> 24; + $52 = (($47) + ($51<<1)|0); + $53 = HEAP16[$52>>1]|0; + $54 = (($53) + -1)<<16>>16; + HEAP16[$52>>1] = $54; + $55 = HEAP32[$3>>2]|0; + $56 = HEAP32[$4>>2]|0; + $57 = (_btreeNext($55,$56)|0); + HEAP32[$2>>2] = $57; + $64 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($64|0); } - $86 = HEAP32[$pSub>>2]|0; - $87 = ((($86)) + 8|0); - $88 = HEAP32[$87>>2]|0; - $89 = $88 & 1; - $90 = ($89|0)!=(0); - if ($90) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); + $58 = HEAP32[$5>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP8[$59>>0]|0; + $61 = ($60<<24>>24)!=(0); + if ($61) { + HEAP32[$2>>2] = 0; + $64 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($64|0); + } else { + $62 = HEAP32[$3>>2]|0; + $63 = (_moveToLeftmost($62)|0); + HEAP32[$2>>2] = $63; + $64 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($64|0); } - $91 = HEAP32[$pSub>>2]|0; - $92 = ((($91)) + 56|0); - $93 = HEAP32[$92>>2]|0; - $94 = ($93|0)!=(0|0); - if ($94) { - $95 = HEAP32[$pSrc>>2]|0; - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)>(1); - $98 = HEAP32[$4>>2]|0; - $99 = ($98|0)!=(0); - $or$cond = $97 | $99; - if ($or$cond) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); + return (0)|0; +} +function _sqlite3BtreePrevious($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$4>>2]|0; + HEAP32[$5>>2] = 0; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 64|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 & -15; + $11 = $10&255; + HEAP8[$7>>0] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 16|0); + $14 = ((($13)) + 18|0); + HEAP16[$14>>1] = 0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 66|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)!=(1); + if (!($19)) { + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 80|0); + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 68|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24 << 24 >> 24; + $26 = (($21) + ($25<<1)|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27&65535; + $29 = ($28|0)==(0); + if (!($29)) { + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 120|0); + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 68|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34 << 24 >> 24; + $36 = (($31) + ($35<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = ($40|0)==(0); + if (!($41)) { + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 80|0); + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 68|0); + $49 = HEAP8[$48>>0]|0; + $50 = $49 << 24 >> 24; + $51 = (($46) + ($50<<1)|0); + $52 = HEAP16[$51>>1]|0; + $53 = (($52) + -1)<<16>>16; + HEAP16[$51>>1] = $53; + HEAP32[$2>>2] = 0; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); + } } } - $100 = HEAP32[$2>>2]|0; - $101 = ((($100)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = $102 & 1; - $104 = ($103|0)!=(0); - $105 = HEAP32[$5>>2]|0; - $106 = ($105|0)!=(0); - $or$cond3 = $104 & $106; - if ($or$cond3) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - $107 = HEAP32[$2>>2]|0; - $108 = ((($107)) + 44|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($109|0)!=(0|0); - if ($110) { - $111 = HEAP32[$pSub>>2]|0; - $112 = ((($111)) + 44|0); - $113 = HEAP32[$112>>2]|0; - $114 = ($113|0)!=(0|0); - if ($114) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - } - $115 = HEAP32[$4>>2]|0; - $116 = ($115|0)!=(0); - if ($116) { - $117 = HEAP32[$pSub>>2]|0; - $118 = ((($117)) + 44|0); - $119 = HEAP32[$118>>2]|0; - $120 = ($119|0)!=(0|0); - if ($120) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - } - $121 = HEAP32[$pSub>>2]|0; - $122 = ((($121)) + 56|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)!=(0|0); - if ($124) { - $125 = HEAP32[$2>>2]|0; - $126 = ((($125)) + 32|0); - $127 = HEAP32[$126>>2]|0; - $128 = ($127|0)!=(0|0); - if ($128) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - } - $129 = HEAP32[$pSub>>2]|0; - $130 = ((($129)) + 56|0); - $131 = HEAP32[$130>>2]|0; - $132 = ($131|0)!=(0|0); - if ($132) { - $133 = HEAP32[$2>>2]|0; - $134 = ((($133)) + 8|0); - $135 = HEAP32[$134>>2]|0; - $136 = $135 & 1; - $137 = ($136|0)!=(0); - if ($137) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - } - $138 = HEAP32[$pSub>>2]|0; - $139 = ((($138)) + 8|0); - $140 = HEAP32[$139>>2]|0; - $141 = $140 & 12288; - $142 = ($141|0)!=(0); - if ($142) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - $143 = HEAP32[$2>>2]|0; - $144 = ((($143)) + 8|0); - $145 = HEAP32[$144>>2]|0; - $146 = $145 & 8192; - $147 = ($146|0)!=(0); - if ($147) { - $148 = HEAP32[$pSub>>2]|0; - $149 = ((($148)) + 48|0); - $150 = HEAP32[$149>>2]|0; - $151 = ($150|0)!=(0|0); - if ($151) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - } - $152 = HEAP32[$pSubitem>>2]|0; - $153 = ((($152)) + 36|0); - $154 = HEAP8[$153>>0]|0; - $155 = $154&255; - $156 = $155 & 32; - $157 = ($156|0)!=(0); - if ($157) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - $158 = HEAP32[$pSub>>2]|0; - $159 = ((($158)) + 48|0); - $160 = HEAP32[$159>>2]|0; - $161 = ($160|0)!=(0|0); - L87: do { - if ($161) { - $162 = HEAP32[$pSub>>2]|0; - $163 = ((($162)) + 44|0); - $164 = HEAP32[$163>>2]|0; - $165 = ($164|0)!=(0|0); - if ($165) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - $166 = HEAP32[$4>>2]|0; - $167 = ($166|0)!=(0); - do { - if (!($167)) { - $168 = HEAP32[$2>>2]|0; - $169 = ((($168)) + 8|0); - $170 = HEAP32[$169>>2]|0; - $171 = $170 & 1; - $172 = ($171|0)!=(0); - if ($172) { - break; - } - $173 = HEAP32[$pSrc>>2]|0; - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)!=(1); - if ($175) { - break; - } - $176 = HEAP32[$pSub>>2]|0; - HEAP32[$pSub1>>2] = $176; - while(1) { - $177 = HEAP32[$pSub1>>2]|0; - $178 = ($177|0)!=(0|0); - if (!($178)) { - break; - } - $179 = HEAP32[$pSub1>>2]|0; - $180 = ((($179)) + 8|0); - $181 = HEAP32[$180>>2]|0; - $182 = $181 & 9; - $183 = ($182|0)!=(0); - if ($183) { - label = 62; - break; - } - $184 = HEAP32[$pSub1>>2]|0; - $185 = ((($184)) + 48|0); - $186 = HEAP32[$185>>2]|0; - $187 = ($186|0)!=(0|0); - if ($187) { - $188 = HEAP32[$pSub1>>2]|0; - $189 = ((($188)) + 4|0); - $190 = HEAP8[$189>>0]|0; - $191 = $190&255; - $192 = ($191|0)!=(116); - if ($192) { - label = 62; - break; - } - } - $193 = HEAP32[$pSub1>>2]|0; - $194 = ((($193)) + 28|0); - $195 = HEAP32[$194>>2]|0; - $196 = HEAP32[$195>>2]|0; - $197 = ($196|0)<(1); - if ($197) { - label = 62; - break; - } - $198 = HEAP32[$pSub1>>2]|0; - $199 = ((($198)) + 48|0); - $200 = HEAP32[$199>>2]|0; - HEAP32[$pSub1>>2] = $200; - } - if ((label|0) == 62) { - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - $201 = HEAP32[$2>>2]|0; - $202 = ((($201)) + 44|0); - $203 = HEAP32[$202>>2]|0; - $204 = ($203|0)!=(0|0); - if (!($204)) { - break L87; - } - HEAP32[$ii>>2] = 0; - while(1) { - $205 = HEAP32[$ii>>2]|0; - $206 = HEAP32[$2>>2]|0; - $207 = ((($206)) + 44|0); - $208 = HEAP32[$207>>2]|0; - $209 = HEAP32[$208>>2]|0; - $210 = ($205|0)<($209|0); - if (!($210)) { - break L87; - } - $211 = HEAP32[$ii>>2]|0; - $212 = HEAP32[$2>>2]|0; - $213 = ((($212)) + 44|0); - $214 = HEAP32[$213>>2]|0; - $215 = ((($214)) + 4|0); - $216 = HEAP32[$215>>2]|0; - $217 = (($216) + (($211*20)|0)|0); - $218 = ((($217)) + 16|0); - $219 = HEAP16[$218>>1]|0; - $220 = $219&65535; - $221 = ($220|0)==(0); - if ($221) { - break; - } - $222 = HEAP32[$ii>>2]|0; - $223 = (($222) + 1)|0; - HEAP32[$ii>>2] = $223; - } - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - } while(0); - HEAP32[$0>>2] = 0; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - } while(0); - $224 = HEAP32[$pSubitem>>2]|0; - $225 = ((($224)) + 8|0); - $226 = HEAP32[$225>>2]|0; - $227 = HEAP32[$1>>2]|0; - $228 = ((($227)) + 448|0); - HEAP32[$228>>2] = $226; - $229 = HEAP32[$1>>2]|0; - (_sqlite3AuthCheck($229,21,0,0,0)|0); - $230 = HEAP32[$zSavedAuthContext>>2]|0; - $231 = HEAP32[$1>>2]|0; - $232 = ((($231)) + 448|0); - HEAP32[$232>>2] = $230; - $233 = HEAP32[$pSub>>2]|0; - $234 = ((($233)) + 48|0); - $235 = HEAP32[$234>>2]|0; - HEAP32[$pSub>>2] = $235; - while(1) { - $236 = HEAP32[$pSub>>2]|0; - $237 = ($236|0)!=(0|0); - if (!($237)) { - break; - } - $238 = HEAP32[$2>>2]|0; - $239 = ((($238)) + 44|0); - $240 = HEAP32[$239>>2]|0; - HEAP32[$pOrderBy>>2] = $240; - $241 = HEAP32[$2>>2]|0; - $242 = ((($241)) + 56|0); - $243 = HEAP32[$242>>2]|0; - HEAP32[$pLimit>>2] = $243; - $244 = HEAP32[$2>>2]|0; - $245 = ((($244)) + 60|0); - $246 = HEAP32[$245>>2]|0; - HEAP32[$pOffset>>2] = $246; - $247 = HEAP32[$2>>2]|0; - $248 = ((($247)) + 48|0); - $249 = HEAP32[$248>>2]|0; - HEAP32[$pPrior>>2] = $249; - $250 = HEAP32[$2>>2]|0; - $251 = ((($250)) + 44|0); - HEAP32[$251>>2] = 0; - $252 = HEAP32[$2>>2]|0; - $253 = ((($252)) + 28|0); - HEAP32[$253>>2] = 0; - $254 = HEAP32[$2>>2]|0; - $255 = ((($254)) + 48|0); - HEAP32[$255>>2] = 0; - $256 = HEAP32[$2>>2]|0; - $257 = ((($256)) + 56|0); - HEAP32[$257>>2] = 0; - $258 = HEAP32[$2>>2]|0; - $259 = ((($258)) + 60|0); - HEAP32[$259>>2] = 0; - $260 = HEAP32[$db>>2]|0; - $261 = HEAP32[$2>>2]|0; - $262 = (_sqlite3SelectDup($260,$261,0)|0); - HEAP32[$pNew>>2] = $262; - $263 = HEAP32[$pOffset>>2]|0; - $264 = HEAP32[$2>>2]|0; - $265 = ((($264)) + 60|0); - HEAP32[$265>>2] = $263; - $266 = HEAP32[$pLimit>>2]|0; - $267 = HEAP32[$2>>2]|0; - $268 = ((($267)) + 56|0); - HEAP32[$268>>2] = $266; - $269 = HEAP32[$pOrderBy>>2]|0; - $270 = HEAP32[$2>>2]|0; - $271 = ((($270)) + 44|0); - HEAP32[$271>>2] = $269; - $272 = HEAP32[$pSrc>>2]|0; - $273 = HEAP32[$2>>2]|0; - $274 = ((($273)) + 28|0); - HEAP32[$274>>2] = $272; - $275 = HEAP32[$2>>2]|0; - $276 = ((($275)) + 4|0); - HEAP8[$276>>0] = 116; - $277 = HEAP32[$pNew>>2]|0; - $278 = ($277|0)==(0|0); - $279 = HEAP32[$pPrior>>2]|0; - if ($278) { - $280 = HEAP32[$2>>2]|0; - $281 = ((($280)) + 48|0); - HEAP32[$281>>2] = $279; - } else { - $282 = HEAP32[$pNew>>2]|0; - $283 = ((($282)) + 48|0); - HEAP32[$283>>2] = $279; - $284 = HEAP32[$pPrior>>2]|0; - $285 = ($284|0)!=(0|0); - if ($285) { - $286 = HEAP32[$pNew>>2]|0; - $287 = HEAP32[$pPrior>>2]|0; - $288 = ((($287)) + 52|0); - HEAP32[$288>>2] = $286; - } - $289 = HEAP32[$2>>2]|0; - $290 = HEAP32[$pNew>>2]|0; - $291 = ((($290)) + 52|0); - HEAP32[$291>>2] = $289; - $292 = HEAP32[$pNew>>2]|0; - $293 = HEAP32[$2>>2]|0; - $294 = ((($293)) + 48|0); - HEAP32[$294>>2] = $292; - } - $295 = HEAP32[$db>>2]|0; - $296 = ((($295)) + 69|0); - $297 = HEAP8[$296>>0]|0; - $298 = ($297<<24>>24)!=(0); - if ($298) { - label = 78; - break; - } - $299 = HEAP32[$pSub>>2]|0; - $300 = ((($299)) + 48|0); - $301 = HEAP32[$300>>2]|0; - HEAP32[$pSub>>2] = $301; - } - if ((label|0) == 78) { - HEAP32[$0>>2] = 1; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); - } - $302 = HEAP32[$pSubitem>>2]|0; - $303 = ((($302)) + 20|0); - $304 = HEAP32[$303>>2]|0; - HEAP32[$pSub1>>2] = $304; - HEAP32[$pSub>>2] = $304; - $305 = HEAP32[$db>>2]|0; - $306 = HEAP32[$pSubitem>>2]|0; - $307 = ((($306)) + 4|0); - $308 = HEAP32[$307>>2]|0; - _sqlite3DbFree($305,$308); - $309 = HEAP32[$db>>2]|0; - $310 = HEAP32[$pSubitem>>2]|0; - $311 = ((($310)) + 8|0); - $312 = HEAP32[$311>>2]|0; - _sqlite3DbFree($309,$312); - $313 = HEAP32[$db>>2]|0; - $314 = HEAP32[$pSubitem>>2]|0; - $315 = ((($314)) + 12|0); - $316 = HEAP32[$315>>2]|0; - _sqlite3DbFree($313,$316); - $317 = HEAP32[$pSubitem>>2]|0; - $318 = ((($317)) + 4|0); - HEAP32[$318>>2] = 0; - $319 = HEAP32[$pSubitem>>2]|0; - $320 = ((($319)) + 8|0); - HEAP32[$320>>2] = 0; - $321 = HEAP32[$pSubitem>>2]|0; - $322 = ((($321)) + 12|0); - HEAP32[$322>>2] = 0; - $323 = HEAP32[$pSubitem>>2]|0; - $324 = ((($323)) + 20|0); - HEAP32[$324>>2] = 0; - $325 = HEAP32[$pSubitem>>2]|0; - $326 = ((($325)) + 16|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)!=(0|0); - if ($328) { - $329 = HEAP32[$pSubitem>>2]|0; - $330 = ((($329)) + 16|0); - $331 = HEAP32[$330>>2]|0; - HEAP32[$pTabToDel>>2] = $331; - $332 = HEAP32[$pTabToDel>>2]|0; - $333 = ((($332)) + 36|0); - $334 = HEAP16[$333>>1]|0; - $335 = $334&65535; - $336 = ($335|0)==(1); - if ($336) { - $337 = HEAP32[$1>>2]|0; - $338 = ((($337)) + 124|0); - $339 = HEAP32[$338>>2]|0; - $340 = ($339|0)!=(0|0); - $341 = HEAP32[$1>>2]|0; - if ($340) { - $342 = ((($341)) + 124|0); - $343 = HEAP32[$342>>2]|0; - $344 = $343; - } else { - $344 = $341; - } - HEAP32[$pToplevel>>2] = $344; - $345 = HEAP32[$pToplevel>>2]|0; - $346 = ((($345)) + 464|0); - $347 = HEAP32[$346>>2]|0; - $348 = HEAP32[$pTabToDel>>2]|0; - $349 = ((($348)) + 68|0); - HEAP32[$349>>2] = $347; - $350 = HEAP32[$pTabToDel>>2]|0; - $351 = HEAP32[$pToplevel>>2]|0; - $352 = ((($351)) + 464|0); - HEAP32[$352>>2] = $350; + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$4>>2]|0; + $44 = (_btreePrevious($42,$43)|0); + HEAP32[$2>>2] = $44; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); +} +function _btreePrevious($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 66|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)!=(1); + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 66|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)>=(3); + if ($17) { + $18 = HEAP32[$3>>2]|0; + $19 = (_btreeRestoreCursorPosition($18)|0); + $20 = $19; } else { - $353 = HEAP32[$pTabToDel>>2]|0; - $354 = ((($353)) + 36|0); - $355 = HEAP16[$354>>1]|0; - $356 = (($355) + -1)<<16>>16; - HEAP16[$354>>1] = $356; + $20 = 0; } - $357 = HEAP32[$pSubitem>>2]|0; - $358 = ((($357)) + 16|0); - HEAP32[$358>>2] = 0; - } - $359 = HEAP32[$2>>2]|0; - HEAP32[$pParent>>2] = $359; - while(1) { - $360 = HEAP32[$pParent>>2]|0; - $361 = ($360|0)!=(0|0); - if (!($361)) { - break; + HEAP32[$5>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = ($21|0)!=(0); + if ($22) { + $23 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $23; + $146 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($146|0); } - HEAP8[$jointype>>0] = 0; - $362 = HEAP32[$pSub>>2]|0; - $363 = ((($362)) + 28|0); - $364 = HEAP32[$363>>2]|0; - HEAP32[$pSubSrc>>2] = $364; - $365 = HEAP32[$pSubSrc>>2]|0; - $366 = HEAP32[$365>>2]|0; - HEAP32[$nSubSrc>>2] = $366; - $367 = HEAP32[$pParent>>2]|0; - $368 = ((($367)) + 28|0); - $369 = HEAP32[$368>>2]|0; - HEAP32[$pSrc>>2] = $369; - $370 = HEAP32[$pSrc>>2]|0; - $371 = ($370|0)!=(0|0); - if ($371) { - $372 = HEAP32[$pSubitem>>2]|0; - $373 = ((($372)) + 36|0); - $374 = HEAP8[$373>>0]|0; - HEAP8[$jointype>>0] = $374; - } else { - $375 = HEAP32[$db>>2]|0; - $376 = (_sqlite3SrcListAppend($375,0,0,0)|0); - $377 = HEAP32[$pParent>>2]|0; - $378 = ((($377)) + 28|0); - HEAP32[$378>>2] = $376; - HEAP32[$pSrc>>2] = $376; - $379 = HEAP32[$pSrc>>2]|0; - $380 = ($379|0)==(0|0); - if ($380) { - break; - } + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 66|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (0)==($27|0); + if ($28) { + $29 = HEAP32[$4>>2]|0; + HEAP32[$29>>2] = 1; + HEAP32[$2>>2] = 0; + $146 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($146|0); } - $381 = HEAP32[$nSubSrc>>2]|0; - $382 = ($381|0)>(1); - if ($382) { - $383 = HEAP32[$db>>2]|0; - $384 = HEAP32[$pSrc>>2]|0; - $385 = HEAP32[$nSubSrc>>2]|0; - $386 = (($385) - 1)|0; - $387 = HEAP32[$3>>2]|0; - $388 = (($387) + 1)|0; - $389 = (_sqlite3SrcListEnlarge($383,$384,$386,$388)|0); - HEAP32[$pSrc>>2] = $389; - $390 = HEAP32[$pParent>>2]|0; - $391 = ((($390)) + 28|0); - HEAP32[$391>>2] = $389; - $392 = HEAP32[$db>>2]|0; - $393 = ((($392)) + 69|0); - $394 = HEAP8[$393>>0]|0; - $395 = ($394<<24>>24)!=(0); - if ($395) { - break; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 60|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 66|0); + HEAP8[$35>>0] = 1; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 60|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)<(0); + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 60|0); + HEAP32[$41>>2] = 0; + if ($39) { + HEAP32[$2>>2] = 0; + $146 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($146|0); } } - HEAP32[$i>>2] = 0; - while(1) { - $396 = HEAP32[$i>>2]|0; - $397 = HEAP32[$nSubSrc>>2]|0; - $398 = ($396|0)<($397|0); - if (!($398)) { - break; - } - $399 = HEAP32[$db>>2]|0; - $400 = HEAP32[$i>>2]|0; - $401 = HEAP32[$3>>2]|0; - $402 = (($400) + ($401))|0; - $403 = HEAP32[$pSrc>>2]|0; - $404 = ((($403)) + 8|0); - $405 = (($404) + (($402*72)|0)|0); - $406 = ((($405)) + 52|0); - $407 = HEAP32[$406>>2]|0; - _sqlite3IdListDelete($399,$407); - $408 = HEAP32[$i>>2]|0; - $409 = HEAP32[$3>>2]|0; - $410 = (($408) + ($409))|0; - $411 = HEAP32[$pSrc>>2]|0; - $412 = ((($411)) + 8|0); - $413 = (($412) + (($410*72)|0)|0); - $414 = HEAP32[$i>>2]|0; - $415 = HEAP32[$pSubSrc>>2]|0; - $416 = ((($415)) + 8|0); - $417 = (($416) + (($414*72)|0)|0); - dest=$413; src=$417; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $418 = HEAP32[$i>>2]|0; - $419 = HEAP32[$pSubSrc>>2]|0; - $420 = ((($419)) + 8|0); - $421 = (($420) + (($418*72)|0)|0); - dest=$421; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $422 = HEAP32[$i>>2]|0; - $423 = (($422) + 1)|0; - HEAP32[$i>>2] = $423; - } - $424 = HEAP8[$jointype>>0]|0; - $425 = HEAP32[$3>>2]|0; - $426 = HEAP32[$pSrc>>2]|0; - $427 = ((($426)) + 8|0); - $428 = (($427) + (($425*72)|0)|0); - $429 = ((($428)) + 36|0); - HEAP8[$429>>0] = $424; - $430 = HEAP32[$pParent>>2]|0; - $431 = HEAP32[$430>>2]|0; - HEAP32[$pList>>2] = $431; - HEAP32[$i>>2] = 0; - while(1) { - $432 = HEAP32[$i>>2]|0; - $433 = HEAP32[$pList>>2]|0; - $434 = HEAP32[$433>>2]|0; - $435 = ($432|0)<($434|0); - if (!($435)) { - break; - } - $436 = HEAP32[$i>>2]|0; - $437 = HEAP32[$pList>>2]|0; - $438 = ((($437)) + 4|0); - $439 = HEAP32[$438>>2]|0; - $440 = (($439) + (($436*20)|0)|0); - $441 = ((($440)) + 4|0); - $442 = HEAP32[$441>>2]|0; - $443 = ($442|0)==(0|0); - if ($443) { - $444 = HEAP32[$db>>2]|0; - $445 = HEAP32[$i>>2]|0; - $446 = HEAP32[$pList>>2]|0; - $447 = ((($446)) + 4|0); - $448 = HEAP32[$447>>2]|0; - $449 = (($448) + (($445*20)|0)|0); - $450 = ((($449)) + 8|0); - $451 = HEAP32[$450>>2]|0; - $452 = (_sqlite3DbStrDup($444,$451)|0); - HEAP32[$zName>>2] = $452; - $453 = HEAP32[$zName>>2]|0; - _sqlite3Dequote($453); - $454 = HEAP32[$zName>>2]|0; - $455 = HEAP32[$i>>2]|0; - $456 = HEAP32[$pList>>2]|0; - $457 = ((($456)) + 4|0); - $458 = HEAP32[$457>>2]|0; - $459 = (($458) + (($455*20)|0)|0); - $460 = ((($459)) + 4|0); - HEAP32[$460>>2] = $454; - } - $461 = HEAP32[$i>>2]|0; - $462 = (($461) + 1)|0; - HEAP32[$i>>2] = $462; - } - $463 = HEAP32[$pSub>>2]|0; - $464 = ((($463)) + 44|0); - $465 = HEAP32[$464>>2]|0; - $466 = ($465|0)!=(0|0); - if ($466) { - $467 = HEAP32[$pSub>>2]|0; - $468 = ((($467)) + 44|0); - $469 = HEAP32[$468>>2]|0; - HEAP32[$pOrderBy1>>2] = $469; - HEAP32[$i>>2] = 0; + } + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 120|0); + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 68|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($43) + ($47<<2)|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$6>>2] = $49; + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 4|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52<<24>>24)!=(0); + do { + if ($53) { while(1) { - $470 = HEAP32[$i>>2]|0; - $471 = HEAP32[$pOrderBy1>>2]|0; - $472 = HEAP32[$471>>2]|0; - $473 = ($470|0)<($472|0); - if (!($473)) { + $99 = HEAP32[$3>>2]|0; + $100 = ((($99)) + 80|0); + $101 = HEAP32[$3>>2]|0; + $102 = ((($101)) + 68|0); + $103 = HEAP8[$102>>0]|0; + $104 = $103 << 24 >> 24; + $105 = (($100) + ($104<<1)|0); + $106 = HEAP16[$105>>1]|0; + $107 = $106&65535; + $108 = ($107|0)==(0); + $109 = HEAP32[$3>>2]|0; + if (!($108)) { break; } - $474 = HEAP32[$i>>2]|0; - $475 = HEAP32[$pOrderBy1>>2]|0; - $476 = ((($475)) + 4|0); - $477 = HEAP32[$476>>2]|0; - $478 = (($477) + (($474*20)|0)|0); - $479 = ((($478)) + 16|0); - HEAP16[$479>>1] = 0; - $480 = HEAP32[$i>>2]|0; - $481 = (($480) + 1)|0; - HEAP32[$i>>2] = $481; - } - $482 = HEAP32[$pOrderBy1>>2]|0; - $483 = HEAP32[$pParent>>2]|0; - $484 = ((($483)) + 44|0); - HEAP32[$484>>2] = $482; - $485 = HEAP32[$pSub>>2]|0; - $486 = ((($485)) + 44|0); - HEAP32[$486>>2] = 0; - } - $487 = HEAP32[$db>>2]|0; - $488 = HEAP32[$pSub>>2]|0; - $489 = ((($488)) + 32|0); - $490 = HEAP32[$489>>2]|0; - $491 = (_sqlite3ExprDup($487,$490,0)|0); - HEAP32[$pWhere>>2] = $491; - $492 = HEAP32[$5>>2]|0; - $493 = ($492|0)!=(0); - if ($493) { - $494 = HEAP32[$pParent>>2]|0; - $495 = ((($494)) + 32|0); - $496 = HEAP32[$495>>2]|0; - $497 = HEAP32[$pParent>>2]|0; - $498 = ((($497)) + 40|0); - HEAP32[$498>>2] = $496; - $499 = HEAP32[$pWhere>>2]|0; - $500 = HEAP32[$pParent>>2]|0; - $501 = ((($500)) + 32|0); - HEAP32[$501>>2] = $499; - $502 = HEAP32[$db>>2]|0; - $503 = HEAP32[$db>>2]|0; - $504 = HEAP32[$pSub>>2]|0; - $505 = ((($504)) + 40|0); - $506 = HEAP32[$505>>2]|0; - $507 = (_sqlite3ExprDup($503,$506,0)|0); - $508 = HEAP32[$pParent>>2]|0; - $509 = ((($508)) + 40|0); - $510 = HEAP32[$509>>2]|0; - $511 = (_sqlite3ExprAnd($502,$507,$510)|0); - $512 = HEAP32[$pParent>>2]|0; - $513 = ((($512)) + 40|0); - HEAP32[$513>>2] = $511; - $514 = HEAP32[$db>>2]|0; - $515 = HEAP32[$pSub>>2]|0; - $516 = ((($515)) + 36|0); - $517 = HEAP32[$516>>2]|0; - $518 = (_sqlite3ExprListDup($514,$517,0)|0); - $519 = HEAP32[$pParent>>2]|0; - $520 = ((($519)) + 36|0); - HEAP32[$520>>2] = $518; - } else { - $521 = HEAP32[$db>>2]|0; - $522 = HEAP32[$pWhere>>2]|0; - $523 = HEAP32[$pParent>>2]|0; - $524 = ((($523)) + 32|0); - $525 = HEAP32[$524>>2]|0; - $526 = (_sqlite3ExprAnd($521,$522,$525)|0); - $527 = HEAP32[$pParent>>2]|0; - $528 = ((($527)) + 32|0); - HEAP32[$528>>2] = $526; - } - $529 = HEAP32[$db>>2]|0; - $530 = HEAP32[$pParent>>2]|0; - $531 = HEAP32[$iParent>>2]|0; - $532 = HEAP32[$pSub>>2]|0; - $533 = HEAP32[$532>>2]|0; - _substSelect($529,$530,$531,$533,0); - $534 = HEAP32[$pSub>>2]|0; - $535 = ((($534)) + 8|0); - $536 = HEAP32[$535>>2]|0; - $537 = $536 & 1; - $538 = HEAP32[$pParent>>2]|0; - $539 = ((($538)) + 8|0); - $540 = HEAP32[$539>>2]|0; - $541 = $540 | $537; - HEAP32[$539>>2] = $541; - $542 = HEAP32[$pSub>>2]|0; - $543 = ((($542)) + 56|0); - $544 = HEAP32[$543>>2]|0; - $545 = ($544|0)!=(0|0); - if ($545) { - $546 = HEAP32[$pSub>>2]|0; - $547 = ((($546)) + 56|0); - $548 = HEAP32[$547>>2]|0; - $549 = HEAP32[$pParent>>2]|0; - $550 = ((($549)) + 56|0); - HEAP32[$550>>2] = $548; - $551 = HEAP32[$pSub>>2]|0; - $552 = ((($551)) + 56|0); - HEAP32[$552>>2] = 0; - } - $553 = HEAP32[$pParent>>2]|0; - $554 = ((($553)) + 48|0); - $555 = HEAP32[$554>>2]|0; - HEAP32[$pParent>>2] = $555; - $556 = HEAP32[$pSub>>2]|0; - $557 = ((($556)) + 48|0); - $558 = HEAP32[$557>>2]|0; - HEAP32[$pSub>>2] = $558; - } - $559 = HEAP32[$db>>2]|0; - $560 = HEAP32[$pSub1>>2]|0; - _sqlite3SelectDelete($559,$560); - HEAP32[$0>>2] = 1; - $561 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($561|0); -} -function _multiSelect($pParse,$p,$pDest) { - $pParse = $pParse|0; - $p = $p|0; - $pDest = $pDest|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $addr = 0, $addr1 = 0, $addr7 = 0, $addr9 = 0, $apColl = 0, $db = 0, $dest = 0, $i = 0, $iBreak = 0, $iBreak3 = 0, $iCont = 0, $iCont2 = 0, $iStart = 0, $iStart4 = 0, $iSub1 = 0, $iSub2 = 0, $intersectdest = 0, $nCol = 0, $nLimit = 0; - var $op = 0, $or$cond = 0, $pDelete = 0, $pFirst = 0, $pFirst8 = 0, $pKeyInfo = 0, $pLimit = 0, $pLimit5 = 0, $pLoop = 0, $pOffset = 0, $pOffset6 = 0, $pPrior = 0, $priorOp = 0, $r1 = 0, $rc = 0, $tab1 = 0, $tab2 = 0, $unionTab = 0, $uniondest = 0, $v = 0; - var $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 240|0; - $1 = sp + 236|0; - $2 = sp + 232|0; - $3 = sp + 228|0; - $rc = sp + 224|0; - $pPrior = sp + 220|0; - $v = sp + 216|0; - $dest = sp + 192|0; - $pDelete = sp + 184|0; - $db = sp + 180|0; - $iSub1 = sp + 176|0; - $iSub2 = sp + 172|0; - $addr = sp + 168|0; - $nLimit = sp + 164|0; - $unionTab = sp + 160|0; - $op = sp + 244|0; - $priorOp = sp + 156|0; - $pLimit = sp + 152|0; - $pOffset = sp + 148|0; - $addr1 = sp + 144|0; - $uniondest = sp + 120|0; - $iCont = sp + 116|0; - $iBreak = sp + 112|0; - $iStart = sp + 108|0; - $pFirst = sp + 104|0; - $tab1 = sp + 100|0; - $tab2 = sp + 96|0; - $iCont2 = sp + 92|0; - $iBreak3 = sp + 88|0; - $iStart4 = sp + 84|0; - $pLimit5 = sp + 80|0; - $pOffset6 = sp + 76|0; - $addr7 = sp + 72|0; - $intersectdest = sp + 48|0; - $r1 = sp + 40|0; - $pFirst8 = sp + 36|0; - $i = sp + 32|0; - $pKeyInfo = sp + 28|0; - $pLoop = sp + 24|0; - $apColl = sp + 20|0; - $nCol = sp + 16|0; - $addr9 = sp + 12|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $pDest; - HEAP32[$rc>>2] = 0; - HEAP32[$pDelete>>2] = 0; - HEAP32[$iSub1>>2] = 0; - HEAP32[$iSub2>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 48|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pPrior>>2] = $8; - $9 = HEAP32[$3>>2]|0; - ;HEAP32[$dest>>2]=HEAP32[$9>>2]|0;HEAP32[$dest+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$dest+20>>2]=HEAP32[$9+20>>2]|0; - $10 = HEAP32[$pPrior>>2]|0; - $11 = ((($10)) + 44|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0|0); - L1: do { - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = (_selectOpName($18)|0); - HEAP32[$vararg_buffer>>2] = $19; - _sqlite3ErrorMsg($14,35831,$vararg_buffer); - HEAP32[$rc>>2] = 1; - } else { - $20 = HEAP32[$pPrior>>2]|0; - $21 = ((($20)) + 56|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)!=(0|0); - $24 = HEAP32[$1>>2]|0; - if ($23) { - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 4|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = (_selectOpName($28)|0); - HEAP32[$vararg_buffer2>>2] = $29; - _sqlite3ErrorMsg($24,35879,$vararg_buffer2); - HEAP32[$rc>>2] = 1; - break; - } - $30 = (_sqlite3GetVdbe($24)|0); - HEAP32[$v>>2] = $30; - $31 = HEAP8[$dest>>0]|0; - $32 = $31&255; - $33 = ($32|0)==(12); - if ($33) { - $34 = HEAP32[$v>>2]|0; - $35 = ((($dest)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$38>>2]|0; - (_sqlite3VdbeAddOp2($34,107,$36,$39)|0); - HEAP8[$dest>>0] = 14; - } - $40 = HEAP32[$2>>2]|0; - $41 = ((($40)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $42 & 1024; - $44 = ($43|0)!=(0); - if ($44) { - $45 = HEAP32[$1>>2]|0; - $46 = HEAP32[$2>>2]|0; - $47 = (_multiSelectValues($45,$46,$dest)|0); - HEAP32[$rc>>2] = $47; - break; - } - $48 = HEAP32[$2>>2]|0; - $49 = ((($48)) + 8|0); - $50 = HEAP32[$49>>2]|0; - $51 = $50 & 8192; - $52 = ($51|0)!=(0); - L13: do { - if ($52) { - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$2>>2]|0; - _generateWithRecursiveQuery($53,$54,$dest); - } else { - $55 = HEAP32[$2>>2]|0; - $56 = ((($55)) + 44|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)!=(0|0); - if ($58) { - $59 = HEAP32[$1>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = HEAP32[$3>>2]|0; - $62 = (_multiSelectOrderBy($59,$60,$61)|0); - HEAP32[$0>>2] = $62; - $560 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($560|0); - } - $63 = HEAP32[$2>>2]|0; - $64 = ((($63)) + 4|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - switch ($66|0) { - case 116: { - HEAP32[$addr>>2] = 0; - $67 = HEAP32[$2>>2]|0; - $68 = ((($67)) + 12|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$pPrior>>2]|0; - $71 = ((($70)) + 12|0); - HEAP32[$71>>2] = $69; - $72 = HEAP32[$2>>2]|0; - $73 = ((($72)) + 16|0); - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$pPrior>>2]|0; - $76 = ((($75)) + 16|0); - HEAP32[$76>>2] = $74; - $77 = HEAP32[$2>>2]|0; - $78 = ((($77)) + 56|0); - $79 = HEAP32[$78>>2]|0; - $80 = HEAP32[$pPrior>>2]|0; - $81 = ((($80)) + 56|0); - HEAP32[$81>>2] = $79; - $82 = HEAP32[$2>>2]|0; - $83 = ((($82)) + 60|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$pPrior>>2]|0; - $86 = ((($85)) + 60|0); - HEAP32[$86>>2] = $84; - $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 424|0); - $89 = HEAP32[$88>>2]|0; - HEAP32[$iSub1>>2] = $89; - $90 = HEAP32[$1>>2]|0; - $91 = HEAP32[$pPrior>>2]|0; - $92 = (_sqlite3Select($90,$91,$dest)|0); - HEAP32[$rc>>2] = $92; - $93 = HEAP32[$2>>2]|0; - $94 = ((($93)) + 56|0); - HEAP32[$94>>2] = 0; - $95 = HEAP32[$2>>2]|0; - $96 = ((($95)) + 60|0); - HEAP32[$96>>2] = 0; - $97 = HEAP32[$rc>>2]|0; - $98 = ($97|0)!=(0); - if ($98) { - break L1; - } - $99 = HEAP32[$2>>2]|0; - $100 = ((($99)) + 48|0); - HEAP32[$100>>2] = 0; - $101 = HEAP32[$pPrior>>2]|0; - $102 = ((($101)) + 12|0); - $103 = HEAP32[$102>>2]|0; - $104 = HEAP32[$2>>2]|0; - $105 = ((($104)) + 12|0); - HEAP32[$105>>2] = $103; - $106 = HEAP32[$pPrior>>2]|0; - $107 = ((($106)) + 16|0); - $108 = HEAP32[$107>>2]|0; - $109 = HEAP32[$2>>2]|0; - $110 = ((($109)) + 16|0); - HEAP32[$110>>2] = $108; - $111 = HEAP32[$2>>2]|0; - $112 = ((($111)) + 12|0); - $113 = HEAP32[$112>>2]|0; - $114 = ($113|0)!=(0); - if ($114) { - $115 = HEAP32[$v>>2]|0; - $116 = HEAP32[$2>>2]|0; - $117 = ((($116)) + 12|0); - $118 = HEAP32[$117>>2]|0; - $119 = (_sqlite3VdbeAddOp1($115,22,$118)|0); - HEAP32[$addr>>2] = $119; - $120 = HEAP32[$2>>2]|0; - $121 = ((($120)) + 16|0); - $122 = HEAP32[$121>>2]|0; - $123 = ($122|0)!=(0); - if ($123) { - $124 = HEAP32[$v>>2]|0; - $125 = HEAP32[$2>>2]|0; - $126 = ((($125)) + 12|0); - $127 = HEAP32[$126>>2]|0; - $128 = HEAP32[$2>>2]|0; - $129 = ((($128)) + 16|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + 1)|0; - $132 = HEAP32[$2>>2]|0; - $133 = ((($132)) + 16|0); - $134 = HEAP32[$133>>2]|0; - (_sqlite3VdbeAddOp3($124,146,$127,$131,$134)|0); - } - } - $135 = HEAP32[$1>>2]|0; - $136 = ((($135)) + 424|0); - $137 = HEAP32[$136>>2]|0; - HEAP32[$iSub2>>2] = $137; - $138 = HEAP32[$1>>2]|0; - $139 = HEAP32[$2>>2]|0; - $140 = (_sqlite3Select($138,$139,$dest)|0); - HEAP32[$rc>>2] = $140; - $141 = HEAP32[$2>>2]|0; - $142 = ((($141)) + 48|0); - $143 = HEAP32[$142>>2]|0; - HEAP32[$pDelete>>2] = $143; - $144 = HEAP32[$pPrior>>2]|0; - $145 = HEAP32[$2>>2]|0; - $146 = ((($145)) + 48|0); - HEAP32[$146>>2] = $144; - $147 = HEAP32[$2>>2]|0; - $148 = ((($147)) + 6|0); - $149 = HEAP16[$148>>1]|0; - $150 = HEAP32[$pPrior>>2]|0; - $151 = ((($150)) + 6|0); - $152 = HEAP16[$151>>1]|0; - $153 = (_sqlite3LogEstAdd($149,$152)|0); - $154 = HEAP32[$2>>2]|0; - $155 = ((($154)) + 6|0); - HEAP16[$155>>1] = $153; - $156 = HEAP32[$pPrior>>2]|0; - $157 = ((($156)) + 56|0); - $158 = HEAP32[$157>>2]|0; - $159 = ($158|0)!=(0|0); - if ($159) { - $160 = HEAP32[$pPrior>>2]|0; - $161 = ((($160)) + 56|0); - $162 = HEAP32[$161>>2]|0; - $163 = (_sqlite3ExprIsInteger($162,$nLimit)|0); - $164 = ($163|0)!=(0); - $165 = HEAP32[$nLimit>>2]|0; - $166 = ($165|0)>(0); - $or$cond = $164 & $166; - if ($or$cond) { - $167 = HEAP32[$2>>2]|0; - $168 = ((($167)) + 6|0); - $169 = HEAP16[$168>>1]|0; - $170 = $169 << 16 >> 16; - $171 = HEAP32[$nLimit>>2]|0; - $172 = ($171|0)<(0); - $173 = $172 << 31 >> 31; - $174 = (_sqlite3LogEst($171,$173)|0); - $175 = $174 << 16 >> 16; - $176 = ($170|0)>($175|0); - if ($176) { - $177 = HEAP32[$nLimit>>2]|0; - $178 = ($177|0)<(0); - $179 = $178 << 31 >> 31; - $180 = (_sqlite3LogEst($177,$179)|0); - $181 = HEAP32[$2>>2]|0; - $182 = ((($181)) + 6|0); - HEAP16[$182>>1] = $180; - } - } - } - $183 = HEAP32[$addr>>2]|0; - $184 = ($183|0)!=(0); - if (!($184)) { - break L13; - } - $185 = HEAP32[$v>>2]|0; - $186 = HEAP32[$addr>>2]|0; - _sqlite3VdbeJumpHere($185,$186); - break L13; - break; - } - case 115: case 117: { - HEAP8[$op>>0] = 0; - HEAP32[$priorOp>>2] = 1; - $187 = HEAP8[$dest>>0]|0; - $188 = $187&255; - $189 = HEAP32[$priorOp>>2]|0; - $190 = ($188|0)==($189|0); - if ($190) { - $191 = ((($dest)) + 8|0); - $192 = HEAP32[$191>>2]|0; - HEAP32[$unionTab>>2] = $192; - } else { - $193 = HEAP32[$1>>2]|0; - $194 = ((($193)) + 40|0); - $195 = HEAP32[$194>>2]|0; - $196 = (($195) + 1)|0; - HEAP32[$194>>2] = $196; - HEAP32[$unionTab>>2] = $195; - $197 = HEAP32[$v>>2]|0; - $198 = HEAP32[$unionTab>>2]|0; - $199 = (_sqlite3VdbeAddOp2($197,107,$198,0)|0); - HEAP32[$addr1>>2] = $199; - $200 = HEAP32[$addr1>>2]|0; - $201 = HEAP32[$2>>2]|0; - $202 = ((($201)) + 20|0); - HEAP32[$202>>2] = $200; - $203 = HEAP32[$2>>2]|0; - $204 = (_findRightmost($203)|0); - $205 = ((($204)) + 8|0); - $206 = HEAP32[$205>>2]|0; - $207 = $206 | 32; - HEAP32[$205>>2] = $207; - } - $208 = HEAP32[$priorOp>>2]|0; - $209 = HEAP32[$unionTab>>2]|0; - _sqlite3SelectDestInit($uniondest,$208,$209); - $210 = HEAP32[$1>>2]|0; - $211 = ((($210)) + 424|0); - $212 = HEAP32[$211>>2]|0; - HEAP32[$iSub1>>2] = $212; - $213 = HEAP32[$1>>2]|0; - $214 = HEAP32[$pPrior>>2]|0; - $215 = (_sqlite3Select($213,$214,$uniondest)|0); - HEAP32[$rc>>2] = $215; - $216 = HEAP32[$rc>>2]|0; - $217 = ($216|0)!=(0); - if ($217) { - break L1; - } - $218 = HEAP32[$2>>2]|0; - $219 = ((($218)) + 4|0); - $220 = HEAP8[$219>>0]|0; - $221 = $220&255; - $222 = ($221|0)==(117); - if ($222) { - HEAP8[$op>>0] = 2; - } else { - HEAP8[$op>>0] = 1; - } - $223 = HEAP32[$2>>2]|0; - $224 = ((($223)) + 48|0); - HEAP32[$224>>2] = 0; - $225 = HEAP32[$2>>2]|0; - $226 = ((($225)) + 56|0); - $227 = HEAP32[$226>>2]|0; - HEAP32[$pLimit>>2] = $227; - $228 = HEAP32[$2>>2]|0; - $229 = ((($228)) + 56|0); - HEAP32[$229>>2] = 0; - $230 = HEAP32[$2>>2]|0; - $231 = ((($230)) + 60|0); - $232 = HEAP32[$231>>2]|0; - HEAP32[$pOffset>>2] = $232; - $233 = HEAP32[$2>>2]|0; - $234 = ((($233)) + 60|0); - HEAP32[$234>>2] = 0; - $235 = HEAP8[$op>>0]|0; - HEAP8[$uniondest>>0] = $235; - $236 = HEAP32[$1>>2]|0; - $237 = ((($236)) + 424|0); - $238 = HEAP32[$237>>2]|0; - HEAP32[$iSub2>>2] = $238; - $239 = HEAP32[$1>>2]|0; - $240 = HEAP32[$2>>2]|0; - $241 = (_sqlite3Select($239,$240,$uniondest)|0); - HEAP32[$rc>>2] = $241; - $242 = HEAP32[$db>>2]|0; - $243 = HEAP32[$2>>2]|0; - $244 = ((($243)) + 44|0); - $245 = HEAP32[$244>>2]|0; - _sqlite3ExprListDelete($242,$245); - $246 = HEAP32[$2>>2]|0; - $247 = ((($246)) + 48|0); - $248 = HEAP32[$247>>2]|0; - HEAP32[$pDelete>>2] = $248; - $249 = HEAP32[$pPrior>>2]|0; - $250 = HEAP32[$2>>2]|0; - $251 = ((($250)) + 48|0); - HEAP32[$251>>2] = $249; - $252 = HEAP32[$2>>2]|0; - $253 = ((($252)) + 44|0); - HEAP32[$253>>2] = 0; - $254 = HEAP32[$2>>2]|0; - $255 = ((($254)) + 4|0); - $256 = HEAP8[$255>>0]|0; - $257 = $256&255; - $258 = ($257|0)==(115); - if ($258) { - $259 = HEAP32[$2>>2]|0; - $260 = ((($259)) + 6|0); - $261 = HEAP16[$260>>1]|0; - $262 = HEAP32[$pPrior>>2]|0; - $263 = ((($262)) + 6|0); - $264 = HEAP16[$263>>1]|0; - $265 = (_sqlite3LogEstAdd($261,$264)|0); - $266 = HEAP32[$2>>2]|0; - $267 = ((($266)) + 6|0); - HEAP16[$267>>1] = $265; - } - $268 = HEAP32[$db>>2]|0; - $269 = HEAP32[$2>>2]|0; - $270 = ((($269)) + 56|0); - $271 = HEAP32[$270>>2]|0; - _sqlite3ExprDelete($268,$271); - $272 = HEAP32[$pLimit>>2]|0; - $273 = HEAP32[$2>>2]|0; - $274 = ((($273)) + 56|0); - HEAP32[$274>>2] = $272; - $275 = HEAP32[$pOffset>>2]|0; - $276 = HEAP32[$2>>2]|0; - $277 = ((($276)) + 60|0); - HEAP32[$277>>2] = $275; - $278 = HEAP32[$2>>2]|0; - $279 = ((($278)) + 12|0); - HEAP32[$279>>2] = 0; - $280 = HEAP32[$2>>2]|0; - $281 = ((($280)) + 16|0); - HEAP32[$281>>2] = 0; - $282 = HEAP8[$dest>>0]|0; - $283 = $282&255; - $284 = HEAP32[$priorOp>>2]|0; - $285 = ($283|0)!=($284|0); - if (!($285)) { - break L13; - } - $286 = HEAP8[$dest>>0]|0; - $287 = $286&255; - $288 = ($287|0)==(9); - if ($288) { - $289 = HEAP32[$2>>2]|0; - HEAP32[$pFirst>>2] = $289; - while(1) { - $290 = HEAP32[$pFirst>>2]|0; - $291 = ((($290)) + 48|0); - $292 = HEAP32[$291>>2]|0; - $293 = ($292|0)!=(0|0); - if (!($293)) { - break; - } - $294 = HEAP32[$pFirst>>2]|0; - $295 = ((($294)) + 48|0); - $296 = HEAP32[$295>>2]|0; - HEAP32[$pFirst>>2] = $296; - } - $297 = HEAP32[$1>>2]|0; - $298 = HEAP32[$pFirst>>2]|0; - $299 = ((($298)) + 28|0); - $300 = HEAP32[$299>>2]|0; - $301 = HEAP32[$pFirst>>2]|0; - $302 = HEAP32[$301>>2]|0; - _generateColumnNames($297,$300,$302); - } - $303 = HEAP32[$v>>2]|0; - $304 = (_sqlite3VdbeMakeLabel($303)|0); - HEAP32[$iBreak>>2] = $304; - $305 = HEAP32[$v>>2]|0; - $306 = (_sqlite3VdbeMakeLabel($305)|0); - HEAP32[$iCont>>2] = $306; - $307 = HEAP32[$1>>2]|0; - $308 = HEAP32[$2>>2]|0; - $309 = HEAP32[$iBreak>>2]|0; - _computeLimitRegisters($307,$308,$309); - $310 = HEAP32[$v>>2]|0; - $311 = HEAP32[$unionTab>>2]|0; - $312 = HEAP32[$iBreak>>2]|0; - (_sqlite3VdbeAddOp2($310,57,$311,$312)|0); - $313 = HEAP32[$v>>2]|0; - $314 = (_sqlite3VdbeCurrentAddr($313)|0); - HEAP32[$iStart>>2] = $314; - $315 = HEAP32[$1>>2]|0; - $316 = HEAP32[$2>>2]|0; - $317 = HEAP32[$2>>2]|0; - $318 = HEAP32[$317>>2]|0; - $319 = HEAP32[$unionTab>>2]|0; - $320 = HEAP32[$iCont>>2]|0; - $321 = HEAP32[$iBreak>>2]|0; - _selectInnerLoop($315,$316,$318,$319,0,0,$dest,$320,$321); - $322 = HEAP32[$v>>2]|0; - $323 = HEAP32[$iCont>>2]|0; - _sqlite3VdbeResolveLabel($322,$323); - $324 = HEAP32[$v>>2]|0; - $325 = HEAP32[$unionTab>>2]|0; - $326 = HEAP32[$iStart>>2]|0; - (_sqlite3VdbeAddOp2($324,7,$325,$326)|0); - $327 = HEAP32[$v>>2]|0; - $328 = HEAP32[$iBreak>>2]|0; - _sqlite3VdbeResolveLabel($327,$328); - $329 = HEAP32[$v>>2]|0; - $330 = HEAP32[$unionTab>>2]|0; - (_sqlite3VdbeAddOp2($329,111,$330,0)|0); - break L13; - break; - } - default: { - $331 = HEAP32[$1>>2]|0; - $332 = ((($331)) + 40|0); - $333 = HEAP32[$332>>2]|0; - $334 = (($333) + 1)|0; - HEAP32[$332>>2] = $334; - HEAP32[$tab1>>2] = $333; - $335 = HEAP32[$1>>2]|0; - $336 = ((($335)) + 40|0); - $337 = HEAP32[$336>>2]|0; - $338 = (($337) + 1)|0; - HEAP32[$336>>2] = $338; - HEAP32[$tab2>>2] = $337; - $339 = HEAP32[$v>>2]|0; - $340 = HEAP32[$tab1>>2]|0; - $341 = (_sqlite3VdbeAddOp2($339,107,$340,0)|0); - HEAP32[$addr7>>2] = $341; - $342 = HEAP32[$addr7>>2]|0; - $343 = HEAP32[$2>>2]|0; - $344 = ((($343)) + 20|0); - HEAP32[$344>>2] = $342; - $345 = HEAP32[$2>>2]|0; - $346 = (_findRightmost($345)|0); - $347 = ((($346)) + 8|0); - $348 = HEAP32[$347>>2]|0; - $349 = $348 | 32; - HEAP32[$347>>2] = $349; - $350 = HEAP32[$tab1>>2]|0; - _sqlite3SelectDestInit($intersectdest,1,$350); - $351 = HEAP32[$1>>2]|0; - $352 = ((($351)) + 424|0); - $353 = HEAP32[$352>>2]|0; - HEAP32[$iSub1>>2] = $353; - $354 = HEAP32[$1>>2]|0; - $355 = HEAP32[$pPrior>>2]|0; - $356 = (_sqlite3Select($354,$355,$intersectdest)|0); - HEAP32[$rc>>2] = $356; - $357 = HEAP32[$rc>>2]|0; - $358 = ($357|0)!=(0); - if ($358) { - break L1; - } - $359 = HEAP32[$v>>2]|0; - $360 = HEAP32[$tab2>>2]|0; - $361 = (_sqlite3VdbeAddOp2($359,107,$360,0)|0); - HEAP32[$addr7>>2] = $361; - $362 = HEAP32[$addr7>>2]|0; - $363 = HEAP32[$2>>2]|0; - $364 = ((($363)) + 20|0); - $365 = ((($364)) + 4|0); - HEAP32[$365>>2] = $362; - $366 = HEAP32[$2>>2]|0; - $367 = ((($366)) + 48|0); - HEAP32[$367>>2] = 0; - $368 = HEAP32[$2>>2]|0; - $369 = ((($368)) + 56|0); - $370 = HEAP32[$369>>2]|0; - HEAP32[$pLimit5>>2] = $370; - $371 = HEAP32[$2>>2]|0; - $372 = ((($371)) + 56|0); - HEAP32[$372>>2] = 0; - $373 = HEAP32[$2>>2]|0; - $374 = ((($373)) + 60|0); - $375 = HEAP32[$374>>2]|0; - HEAP32[$pOffset6>>2] = $375; - $376 = HEAP32[$2>>2]|0; - $377 = ((($376)) + 60|0); - HEAP32[$377>>2] = 0; - $378 = HEAP32[$tab2>>2]|0; - $379 = ((($intersectdest)) + 8|0); - HEAP32[$379>>2] = $378; - $380 = HEAP32[$1>>2]|0; - $381 = ((($380)) + 424|0); - $382 = HEAP32[$381>>2]|0; - HEAP32[$iSub2>>2] = $382; - $383 = HEAP32[$1>>2]|0; - $384 = HEAP32[$2>>2]|0; - $385 = (_sqlite3Select($383,$384,$intersectdest)|0); - HEAP32[$rc>>2] = $385; - $386 = HEAP32[$2>>2]|0; - $387 = ((($386)) + 48|0); - $388 = HEAP32[$387>>2]|0; - HEAP32[$pDelete>>2] = $388; - $389 = HEAP32[$pPrior>>2]|0; - $390 = HEAP32[$2>>2]|0; - $391 = ((($390)) + 48|0); - HEAP32[$391>>2] = $389; - $392 = HEAP32[$2>>2]|0; - $393 = ((($392)) + 6|0); - $394 = HEAP16[$393>>1]|0; - $395 = $394 << 16 >> 16; - $396 = HEAP32[$pPrior>>2]|0; - $397 = ((($396)) + 6|0); - $398 = HEAP16[$397>>1]|0; - $399 = $398 << 16 >> 16; - $400 = ($395|0)>($399|0); - if ($400) { - $401 = HEAP32[$pPrior>>2]|0; - $402 = ((($401)) + 6|0); - $403 = HEAP16[$402>>1]|0; - $404 = HEAP32[$2>>2]|0; - $405 = ((($404)) + 6|0); - HEAP16[$405>>1] = $403; - } - $406 = HEAP32[$db>>2]|0; - $407 = HEAP32[$2>>2]|0; - $408 = ((($407)) + 56|0); - $409 = HEAP32[$408>>2]|0; - _sqlite3ExprDelete($406,$409); - $410 = HEAP32[$pLimit5>>2]|0; - $411 = HEAP32[$2>>2]|0; - $412 = ((($411)) + 56|0); - HEAP32[$412>>2] = $410; - $413 = HEAP32[$pOffset6>>2]|0; - $414 = HEAP32[$2>>2]|0; - $415 = ((($414)) + 60|0); - HEAP32[$415>>2] = $413; - $416 = HEAP8[$dest>>0]|0; - $417 = $416&255; - $418 = ($417|0)==(9); - if ($418) { - $419 = HEAP32[$2>>2]|0; - HEAP32[$pFirst8>>2] = $419; - while(1) { - $420 = HEAP32[$pFirst8>>2]|0; - $421 = ((($420)) + 48|0); - $422 = HEAP32[$421>>2]|0; - $423 = ($422|0)!=(0|0); - if (!($423)) { - break; - } - $424 = HEAP32[$pFirst8>>2]|0; - $425 = ((($424)) + 48|0); - $426 = HEAP32[$425>>2]|0; - HEAP32[$pFirst8>>2] = $426; - } - $427 = HEAP32[$1>>2]|0; - $428 = HEAP32[$pFirst8>>2]|0; - $429 = ((($428)) + 28|0); - $430 = HEAP32[$429>>2]|0; - $431 = HEAP32[$pFirst8>>2]|0; - $432 = HEAP32[$431>>2]|0; - _generateColumnNames($427,$430,$432); - } - $433 = HEAP32[$v>>2]|0; - $434 = (_sqlite3VdbeMakeLabel($433)|0); - HEAP32[$iBreak3>>2] = $434; - $435 = HEAP32[$v>>2]|0; - $436 = (_sqlite3VdbeMakeLabel($435)|0); - HEAP32[$iCont2>>2] = $436; - $437 = HEAP32[$1>>2]|0; - $438 = HEAP32[$2>>2]|0; - $439 = HEAP32[$iBreak3>>2]|0; - _computeLimitRegisters($437,$438,$439); - $440 = HEAP32[$v>>2]|0; - $441 = HEAP32[$tab1>>2]|0; - $442 = HEAP32[$iBreak3>>2]|0; - (_sqlite3VdbeAddOp2($440,57,$441,$442)|0); - $443 = HEAP32[$1>>2]|0; - $444 = (_sqlite3GetTempReg($443)|0); - HEAP32[$r1>>2] = $444; - $445 = HEAP32[$v>>2]|0; - $446 = HEAP32[$tab1>>2]|0; - $447 = HEAP32[$r1>>2]|0; - $448 = (_sqlite3VdbeAddOp2($445,121,$446,$447)|0); - HEAP32[$iStart4>>2] = $448; - $449 = HEAP32[$v>>2]|0; - $450 = HEAP32[$tab2>>2]|0; - $451 = HEAP32[$iCont2>>2]|0; - $452 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp4Int($449,30,$450,$451,$452,0)|0); - $453 = HEAP32[$1>>2]|0; - $454 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($453,$454); - $455 = HEAP32[$1>>2]|0; - $456 = HEAP32[$2>>2]|0; - $457 = HEAP32[$2>>2]|0; - $458 = HEAP32[$457>>2]|0; - $459 = HEAP32[$tab1>>2]|0; - $460 = HEAP32[$iCont2>>2]|0; - $461 = HEAP32[$iBreak3>>2]|0; - _selectInnerLoop($455,$456,$458,$459,0,0,$dest,$460,$461); - $462 = HEAP32[$v>>2]|0; - $463 = HEAP32[$iCont2>>2]|0; - _sqlite3VdbeResolveLabel($462,$463); - $464 = HEAP32[$v>>2]|0; - $465 = HEAP32[$tab1>>2]|0; - $466 = HEAP32[$iStart4>>2]|0; - (_sqlite3VdbeAddOp2($464,7,$465,$466)|0); - $467 = HEAP32[$v>>2]|0; - $468 = HEAP32[$iBreak3>>2]|0; - _sqlite3VdbeResolveLabel($467,$468); - $469 = HEAP32[$v>>2]|0; - $470 = HEAP32[$tab2>>2]|0; - (_sqlite3VdbeAddOp2($469,111,$470,0)|0); - $471 = HEAP32[$v>>2]|0; - $472 = HEAP32[$tab1>>2]|0; - (_sqlite3VdbeAddOp2($471,111,$472,0)|0); - break L13; - } - } + $110 = ((($109)) + 68|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111 << 24 >> 24; + $113 = ($112|0)==(0); + $114 = HEAP32[$3>>2]|0; + if ($113) { + label = 17; + break; } - } while(0); - $473 = HEAP32[$1>>2]|0; - $474 = HEAP32[$2>>2]|0; - $475 = ((($474)) + 4|0); - $476 = HEAP8[$475>>0]|0; - $477 = $476&255; - $478 = HEAP32[$iSub1>>2]|0; - $479 = HEAP32[$iSub2>>2]|0; - $480 = HEAP32[$2>>2]|0; - $481 = ((($480)) + 4|0); - $482 = HEAP8[$481>>0]|0; - $483 = $482&255; - $484 = ($483|0)!=(116); - $485 = $484&1; - _explainComposite($473,$477,$478,$479,$485); - $486 = HEAP32[$2>>2]|0; - $487 = ((($486)) + 8|0); - $488 = HEAP32[$487>>2]|0; - $489 = $488 & 32; - $490 = ($489|0)!=(0); - if ($490) { - $491 = HEAP32[$2>>2]|0; - $492 = HEAP32[$491>>2]|0; - $493 = HEAP32[$492>>2]|0; - HEAP32[$nCol>>2] = $493; - $494 = HEAP32[$db>>2]|0; - $495 = HEAP32[$nCol>>2]|0; - $496 = (_sqlite3KeyInfoAlloc($494,$495,1)|0); - HEAP32[$pKeyInfo>>2] = $496; - $497 = HEAP32[$pKeyInfo>>2]|0; - $498 = ($497|0)!=(0|0); - if (!($498)) { - HEAP32[$rc>>2] = 7; + _moveToParent($114); + } + if ((label|0) == 17) { + $115 = ((($114)) + 66|0); + HEAP8[$115>>0] = 0; + $116 = HEAP32[$4>>2]|0; + HEAP32[$116>>2] = 1; + HEAP32[$2>>2] = 0; + $146 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($146|0); + } + $117 = ((($109)) + 80|0); + $118 = HEAP32[$3>>2]|0; + $119 = ((($118)) + 68|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120 << 24 >> 24; + $122 = (($117) + ($121<<1)|0); + $123 = HEAP16[$122>>1]|0; + $124 = (($123) + -1)<<16>>16; + HEAP16[$122>>1] = $124; + $125 = HEAP32[$3>>2]|0; + $126 = ((($125)) + 120|0); + $127 = HEAP32[$3>>2]|0; + $128 = ((($127)) + 68|0); + $129 = HEAP8[$128>>0]|0; + $130 = $129 << 24 >> 24; + $131 = (($126) + ($130<<2)|0); + $132 = HEAP32[$131>>2]|0; + HEAP32[$6>>2] = $132; + $133 = HEAP32[$6>>2]|0; + $134 = ((($133)) + 2|0); + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = ($136|0)!=(0); + if ($137) { + $138 = HEAP32[$6>>2]|0; + $139 = ((($138)) + 4|0); + $140 = HEAP8[$139>>0]|0; + $141 = ($140<<24>>24)!=(0); + if (!($141)) { + $142 = HEAP32[$3>>2]|0; + $143 = HEAP32[$4>>2]|0; + $144 = (_sqlite3BtreePrevious($142,$143)|0); + HEAP32[$5>>2] = $144; break; } - HEAP32[$i>>2] = 0; - $499 = HEAP32[$pKeyInfo>>2]|0; - $500 = ((($499)) + 20|0); - HEAP32[$apColl>>2] = $500; - while(1) { - $501 = HEAP32[$i>>2]|0; - $502 = HEAP32[$nCol>>2]|0; - $503 = ($501|0)<($502|0); - if (!($503)) { - break; - } - $504 = HEAP32[$1>>2]|0; - $505 = HEAP32[$2>>2]|0; - $506 = HEAP32[$i>>2]|0; - $507 = (_multiSelectCollSeq($504,$505,$506)|0); - $508 = HEAP32[$apColl>>2]|0; - HEAP32[$508>>2] = $507; - $509 = HEAP32[$apColl>>2]|0; - $510 = HEAP32[$509>>2]|0; - $511 = (0|0)==($510|0); - if ($511) { - $512 = HEAP32[$db>>2]|0; - $513 = ((($512)) + 8|0); - $514 = HEAP32[$513>>2]|0; - $515 = HEAP32[$apColl>>2]|0; - HEAP32[$515>>2] = $514; - } - $516 = HEAP32[$i>>2]|0; - $517 = (($516) + 1)|0; - HEAP32[$i>>2] = $517; - $518 = HEAP32[$apColl>>2]|0; - $519 = ((($518)) + 4|0); - HEAP32[$apColl>>2] = $519; - } - $520 = HEAP32[$2>>2]|0; - HEAP32[$pLoop>>2] = $520; - while(1) { - $521 = HEAP32[$pLoop>>2]|0; - $522 = ($521|0)!=(0|0); - if (!($522)) { - break; - } - HEAP32[$i>>2] = 0; - while(1) { - $523 = HEAP32[$i>>2]|0; - $524 = ($523|0)<(2); - if (!($524)) { - break; - } - $525 = HEAP32[$i>>2]|0; - $526 = HEAP32[$pLoop>>2]|0; - $527 = ((($526)) + 20|0); - $528 = (($527) + ($525<<2)|0); - $529 = HEAP32[$528>>2]|0; - HEAP32[$addr9>>2] = $529; - $530 = HEAP32[$addr9>>2]|0; - $531 = ($530|0)<(0); - if ($531) { - break; - } - $532 = HEAP32[$v>>2]|0; - $533 = HEAP32[$addr9>>2]|0; - $534 = HEAP32[$nCol>>2]|0; - _sqlite3VdbeChangeP2($532,$533,$534); - $535 = HEAP32[$v>>2]|0; - $536 = HEAP32[$addr9>>2]|0; - $537 = HEAP32[$pKeyInfo>>2]|0; - $538 = (_sqlite3KeyInfoRef($537)|0); - _sqlite3VdbeChangeP4($535,$536,$538,-6); - $539 = HEAP32[$i>>2]|0; - $540 = HEAP32[$pLoop>>2]|0; - $541 = ((($540)) + 20|0); - $542 = (($541) + ($539<<2)|0); - HEAP32[$542>>2] = -1; - $543 = HEAP32[$i>>2]|0; - $544 = (($543) + 1)|0; - HEAP32[$i>>2] = $544; - } - $545 = HEAP32[$pLoop>>2]|0; - $546 = ((($545)) + 48|0); - $547 = HEAP32[$546>>2]|0; - HEAP32[$pLoop>>2] = $547; - } - $548 = HEAP32[$pKeyInfo>>2]|0; - _sqlite3KeyInfoUnref($548); } + HEAP32[$5>>2] = 0; + } else { + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 80|0); + $56 = HEAP32[$3>>2]|0; + $57 = ((($56)) + 68|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58 << 24 >> 24; + $60 = (($55) + ($59<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + HEAP32[$7>>2] = $62; + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$6>>2]|0; + $65 = ((($64)) + 56|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$6>>2]|0; + $68 = ((($67)) + 20|0); + $69 = HEAP16[$68>>1]|0; + $70 = $69&65535; + $71 = HEAP32[$6>>2]|0; + $72 = ((($71)) + 64|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$7>>2]|0; + $75 = $74<<1; + $76 = (($73) + ($75)|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = $78 << 8; + $80 = HEAP32[$6>>2]|0; + $81 = ((($80)) + 64|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$7>>2]|0; + $84 = $83<<1; + $85 = (($82) + ($84)|0); + $86 = ((($85)) + 1|0); + $87 = HEAP8[$86>>0]|0; + $88 = $87&255; + $89 = $79 | $88; + $90 = $70 & $89; + $91 = (($66) + ($90)|0); + $92 = (_sqlite3Get4byte($91)|0); + $93 = (_moveToChild($63,$92)|0); + HEAP32[$5>>2] = $93; + $94 = HEAP32[$5>>2]|0; + $95 = ($94|0)!=(0); + if (!($95)) { + $97 = HEAP32[$3>>2]|0; + $98 = (_moveToRightmost($97)|0); + HEAP32[$5>>2] = $98; + break; + } + $96 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $96; + $146 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($146|0); } } while(0); - $549 = ((($dest)) + 12|0); - $550 = HEAP32[$549>>2]|0; - $551 = HEAP32[$3>>2]|0; - $552 = ((($551)) + 12|0); - HEAP32[$552>>2] = $550; - $553 = ((($dest)) + 16|0); - $554 = HEAP32[$553>>2]|0; - $555 = HEAP32[$3>>2]|0; - $556 = ((($555)) + 16|0); - HEAP32[$556>>2] = $554; - $557 = HEAP32[$db>>2]|0; - $558 = HEAP32[$pDelete>>2]|0; - _sqlite3SelectDelete($557,$558); - $559 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $559; - $560 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($560|0); -} -function _sqlite3SelectExprHeight($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $nHeight = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $nHeight = sp; - HEAP32[$0>>2] = $p; - HEAP32[$nHeight>>2] = 0; - $1 = HEAP32[$0>>2]|0; - _heightOfSelect($1,$nHeight); - $2 = HEAP32[$nHeight>>2]|0; - STACKTOP = sp;return ($2|0); + $145 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $145; + $146 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($146|0); } -function _pushDownWhereTerms($db,$pSubq,$pWhere,$iCursor) { - $db = $db|0; - $pSubq = $pSubq|0; - $pWhere = $pWhere|0; - $iCursor = $iCursor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $nChng = 0, $pNew = 0, $pX = 0, label = 0, sp = 0; +function _btreeRestoreCursorPosition($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $pNew = sp + 8|0; - $nChng = sp + 4|0; - $pX = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pSubq; - HEAP32[$3>>2] = $pWhere; - HEAP32[$4>>2] = $iCursor; - HEAP32[$nChng>>2] = 0; - $5 = HEAP32[$3>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - HEAP32[$0>>2] = 0; - $72 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($72|0); - } - $7 = HEAP32[$2>>2]|0; - HEAP32[$pX>>2] = $7; - while(1) { - $8 = HEAP32[$pX>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - break; - } - $10 = HEAP32[$pX>>2]|0; - $11 = ((($10)) + 8|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 66|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(4); + $10 = HEAP32[$2>>2]|0; + if ($9) { + $11 = ((($10)) + 60|0); $12 = HEAP32[$11>>2]|0; - $13 = $12 & 8200; - $14 = ($13|0)!=(0); - if ($14) { - label = 6; - break; - } - $15 = HEAP32[$pX>>2]|0; - $16 = ((($15)) + 48|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$pX>>2] = $17; - } - if ((label|0) == 6) { - HEAP32[$0>>2] = 0; - $72 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($72|0); + HEAP32[$1>>2] = $12; + $51 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($51|0); } + $13 = ((($10)) + 66|0); + HEAP8[$13>>0] = 0; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 48|0); + $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 56|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - HEAP32[$0>>2] = 0; - $72 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($72|0); - } - while(1) { - $22 = HEAP32[$3>>2]|0; - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = ($24|0)==(28); - if (!($25)) { - break; - } - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$3>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$4>>2]|0; - $32 = (_pushDownWhereTerms($26,$27,$30,$31)|0); - $33 = HEAP32[$nChng>>2]|0; - $34 = (($33) + ($32))|0; - HEAP32[$nChng>>2] = $34; - $35 = HEAP32[$3>>2]|0; - $36 = ((($35)) + 12|0); + $19 = ((($18)) + 40|0); + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (_btreeMoveto($14,$17,$22,$25,0,$4)|0); + HEAP32[$3>>2] = $26; + $27 = HEAP32[$3>>2]|0; + $28 = ($27|0)==(0); + if ($28) { + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 48|0); + $31 = HEAP32[$30>>2]|0; + _sqlite3_free($31); + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 48|0); + HEAP32[$33>>2] = 0; + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 60|0); $37 = HEAP32[$36>>2]|0; - HEAP32[$3>>2] = $37; - } - $38 = HEAP32[$3>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = $40 & 1; - $42 = ($41|0)!=(0); - if ($42) { - HEAP32[$0>>2] = 0; - $72 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($72|0); - } - $43 = HEAP32[$3>>2]|0; - $44 = HEAP32[$4>>2]|0; - $45 = (_sqlite3ExprIsTableConstant($43,$44)|0); - $46 = ($45|0)!=(0); - L24: do { - if ($46) { - $47 = HEAP32[$nChng>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[$nChng>>2] = $48; - while(1) { - $49 = HEAP32[$2>>2]|0; - $50 = ($49|0)!=(0|0); - if (!($50)) { - break L24; - } - $51 = HEAP32[$1>>2]|0; - $52 = HEAP32[$3>>2]|0; - $53 = (_sqlite3ExprDup($51,$52,0)|0); - HEAP32[$pNew>>2] = $53; - $54 = HEAP32[$1>>2]|0; - $55 = HEAP32[$pNew>>2]|0; - $56 = HEAP32[$4>>2]|0; - $57 = HEAP32[$2>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = (_substExpr($54,$55,$56,$58)|0); - HEAP32[$pNew>>2] = $59; - $60 = HEAP32[$1>>2]|0; - $61 = HEAP32[$2>>2]|0; - $62 = ((($61)) + 32|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$pNew>>2]|0; - $65 = (_sqlite3ExprAnd($60,$63,$64)|0); - $66 = HEAP32[$2>>2]|0; - $67 = ((($66)) + 32|0); - HEAP32[$67>>2] = $65; - $68 = HEAP32[$2>>2]|0; - $69 = ((($68)) + 48|0); - $70 = HEAP32[$69>>2]|0; - HEAP32[$2>>2] = $70; + $38 = $37 | $34; + HEAP32[$36>>2] = $38; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 60|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)!=(0); + if ($42) { + $43 = HEAP32[$2>>2]|0; + $44 = ((($43)) + 66|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = ($46|0)==(1); + if ($47) { + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 66|0); + HEAP8[$49>>0] = 2; } } - } while(0); - $71 = HEAP32[$nChng>>2]|0; - HEAP32[$0>>2] = $71; - $72 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($72|0); + } + $50 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $50; + $51 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($51|0); } -function _sqlite3ClearTempRegCache($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _moveToChild($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 19|0); - HEAP8[$2>>0] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 28|0); - HEAP32[$4>>2] = 0; - STACKTOP = sp;return; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 68|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)>=(19); + if ($13) { + $14 = (_sqlite3CorruptError(63009)|0); + HEAP32[$2>>2] = $14; + $50 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($50|0); + } else { + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 16|0); + $17 = ((($16)) + 18|0); + HEAP16[$17>>1] = 0; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 64|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21 & -7; + $23 = $22&255; + HEAP8[$19>>0] = $23; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 68|0); + $26 = HEAP8[$25>>0]|0; + $27 = (($26) + 1)<<24>>24; + HEAP8[$25>>0] = $27; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 80|0); + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 68|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32 << 24 >> 24; + $34 = (($29) + ($33<<1)|0); + HEAP16[$34>>1] = 0; + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 120|0); + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 68|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41 << 24 >> 24; + $43 = (($38) + ($42<<2)|0); + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 65|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = (_getAndInitPage($35,$36,$43,$44,$48)|0); + HEAP32[$2>>2] = $49; + $50 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($50|0); + } + return (0)|0; } -function _keyInfoFromExprList($pParse,$pList,$iStart,$nExtra) { - $pParse = $pParse|0; - $pList = $pList|0; - $iStart = $iStart|0; - $nExtra = $nExtra|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $nExpr = 0; - var $pColl = 0, $pInfo = 0, $pItem = 0, label = 0, sp = 0; +function _moveToRightmost($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $nExpr = sp + 20|0; - $pInfo = sp + 16|0; - $pItem = sp + 12|0; - $db = sp + 8|0; - $i = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pList; - HEAP32[$2>>2] = $iStart; - HEAP32[$3>>2] = $nExtra; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$nExpr>>2] = $7; - $8 = HEAP32[$db>>2]|0; - $9 = HEAP32[$nExpr>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (($9) - ($10))|0; - $12 = HEAP32[$3>>2]|0; - $13 = (($12) + 1)|0; - $14 = (_sqlite3KeyInfoAlloc($8,$11,$13)|0); - HEAP32[$pInfo>>2] = $14; - $15 = HEAP32[$pInfo>>2]|0; - $16 = ($15|0)!=(0|0); - if (!($16)) { - $56 = HEAP32[$pInfo>>2]|0; - STACKTOP = sp;return ($56|0); - } - $17 = HEAP32[$2>>2]|0; - HEAP32[$i>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = (($20) + (($21*20)|0)|0); - HEAP32[$pItem>>2] = $22; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; while(1) { - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$nExpr>>2]|0; - $25 = ($23|0)<($24|0); - if (!($25)) { + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 120|0); + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 68|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($7) + ($11<<2)|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $13; + $14 = ((($13)) + 4|0); + $15 = HEAP8[$14>>0]|0; + $16 = ($15<<24>>24)!=(0); + $17 = $16 ^ 1; + $18 = HEAP32[$5>>2]|0; + if (!($17)) { + label = 5; break; } - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$pItem>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = (_sqlite3ExprCollSeq($26,$28)|0); - HEAP32[$pColl>>2] = $29; - $30 = HEAP32[$pColl>>2]|0; - $31 = ($30|0)!=(0|0); - if (!($31)) { - $32 = HEAP32[$db>>2]|0; - $33 = ((($32)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$pColl>>2] = $34; + $19 = ((($18)) + 56|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 5|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (($24) + 8)|0; + $26 = (($20) + ($25)|0); + $27 = (_sqlite3Get4byte($26)|0); + HEAP32[$3>>2] = $27; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 18|0); + $30 = HEAP16[$29>>1]|0; + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 80|0); + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 68|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35 << 24 >> 24; + $37 = (($32) + ($36<<1)|0); + HEAP16[$37>>1] = $30; + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$3>>2]|0; + $40 = (_moveToChild($38,$39)|0); + HEAP32[$4>>2] = $40; + $41 = HEAP32[$4>>2]|0; + $42 = ($41|0)!=(0); + if ($42) { + label = 4; + break; } - $35 = HEAP32[$pColl>>2]|0; - $36 = HEAP32[$i>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = (($36) - ($37))|0; - $39 = HEAP32[$pInfo>>2]|0; - $40 = ((($39)) + 20|0); - $41 = (($40) + ($38<<2)|0); - HEAP32[$41>>2] = $35; - $42 = HEAP32[$pItem>>2]|0; - $43 = ((($42)) + 12|0); - $44 = HEAP8[$43>>0]|0; - $45 = HEAP32[$i>>2]|0; - $46 = HEAP32[$2>>2]|0; - $47 = (($45) - ($46))|0; - $48 = HEAP32[$pInfo>>2]|0; - $49 = ((($48)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($47)|0); - HEAP8[$51>>0] = $44; - $52 = HEAP32[$i>>2]|0; - $53 = (($52) + 1)|0; - HEAP32[$i>>2] = $53; - $54 = HEAP32[$pItem>>2]|0; - $55 = ((($54)) + 20|0); - HEAP32[$pItem>>2] = $55; - } - $56 = HEAP32[$pInfo>>2]|0; - STACKTOP = sp;return ($56|0); -} -function _computeLimitRegisters($pParse,$p,$iBreak) { - $pParse = $pParse|0; - $p = $p|0; - $iBreak = $iBreak|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $iLimit = 0, $iOffset = 0, $n = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $v = sp + 12|0; - $iLimit = sp + 8|0; - $iOffset = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iBreak; - HEAP32[$v>>2] = 0; - HEAP32[$iLimit>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { - STACKTOP = sp;return; } - $7 = HEAP32[$0>>2]|0; - _sqlite3ExprCacheClear($7); - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 56|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - STACKTOP = sp;return; + if ((label|0) == 4) { + $43 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $43; + $56 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($56|0); } - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + 1)|0; - HEAP32[$13>>2] = $15; - HEAP32[$iLimit>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 12|0); - HEAP32[$17>>2] = $15; - $18 = HEAP32[$0>>2]|0; - $19 = (_sqlite3GetVdbe($18)|0); - HEAP32[$v>>2] = $19; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 56|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3ExprIsInteger($22,$n)|0); - $24 = ($23|0)!=(0); - do { - if ($24) { - $25 = HEAP32[$v>>2]|0; - $26 = HEAP32[$n>>2]|0; - $27 = HEAP32[$iLimit>>2]|0; - (_sqlite3VdbeAddOp2($25,76,$26,$27)|0); - $28 = HEAP32[$n>>2]|0; - $29 = ($28|0)==(0); - if ($29) { - $30 = HEAP32[$v>>2]|0; - $31 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($30,$31)|0); - break; - } - $32 = HEAP32[$n>>2]|0; - $33 = ($32|0)>=(0); - if ($33) { - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 6|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36 << 16 >> 16; - $38 = HEAP32[$n>>2]|0; - $39 = ($38|0)<(0); - $40 = $39 << 31 >> 31; - $41 = (_sqlite3LogEst($38,$40)|0); - $42 = $41 << 16 >> 16; - $43 = ($37|0)>($42|0); - if ($43) { - $44 = HEAP32[$n>>2]|0; - $45 = ($44|0)<(0); - $46 = $45 << 31 >> 31; - $47 = (_sqlite3LogEst($44,$46)|0); - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 6|0); - HEAP16[$49>>1] = $47; - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 8|0); - $52 = HEAP32[$51>>2]|0; - $53 = $52 | 16384; - HEAP32[$51>>2] = $53; - } - } - } else { - $54 = HEAP32[$0>>2]|0; - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 56|0); - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$iLimit>>2]|0; - _sqlite3ExprCode($54,$57,$58); - $59 = HEAP32[$v>>2]|0; - $60 = HEAP32[$iLimit>>2]|0; - (_sqlite3VdbeAddOp1($59,17,$60)|0); - $61 = HEAP32[$v>>2]|0; - $62 = HEAP32[$iLimit>>2]|0; - $63 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($61,22,$62,$63)|0); - } - } while(0); - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 60|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)!=(0|0); - if (!($67)) { - STACKTOP = sp;return; + else if ((label|0) == 5) { + $44 = ((($18)) + 18|0); + $45 = HEAP16[$44>>1]|0; + $46 = $45&65535; + $47 = (($46) - 1)|0; + $48 = $47&65535; + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 80|0); + $51 = HEAP32[$2>>2]|0; + $52 = ((($51)) + 68|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53 << 24 >> 24; + $55 = (($50) + ($54<<1)|0); + HEAP16[$55>>1] = $48; + HEAP32[$1>>2] = 0; + $56 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($56|0); } - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 44|0); - $70 = HEAP32[$69>>2]|0; - $71 = (($70) + 1)|0; - HEAP32[$69>>2] = $71; - HEAP32[$iOffset>>2] = $71; - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 16|0); - HEAP32[$73>>2] = $71; - $74 = HEAP32[$0>>2]|0; - $75 = ((($74)) + 44|0); - $76 = HEAP32[$75>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[$75>>2] = $77; - $78 = HEAP32[$0>>2]|0; - $79 = HEAP32[$1>>2]|0; - $80 = ((($79)) + 60|0); - $81 = HEAP32[$80>>2]|0; - $82 = HEAP32[$iOffset>>2]|0; - _sqlite3ExprCode($78,$81,$82); - $83 = HEAP32[$v>>2]|0; - $84 = HEAP32[$iOffset>>2]|0; - (_sqlite3VdbeAddOp1($83,17,$84)|0); - $85 = HEAP32[$v>>2]|0; - $86 = HEAP32[$iLimit>>2]|0; - $87 = HEAP32[$iOffset>>2]|0; - $88 = (($87) + 1)|0; - $89 = HEAP32[$iOffset>>2]|0; - (_sqlite3VdbeAddOp3($85,146,$86,$88,$89)|0); - STACKTOP = sp;return; + return (0)|0; } -function _sqlite3VdbeChangeOpcode($p,$addr,$iNewOpcode) { - $p = $p|0; - $addr = $addr|0; - $iNewOpcode = $iNewOpcode|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _moveToParent($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - $2 = sp + 8|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $addr; - HEAP8[$2>>0] = $iNewOpcode; - $3 = HEAP8[$2>>0]|0; - $4 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 16|0); + $4 = ((($3)) + 18|0); + HEAP16[$4>>1] = 0; $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3VdbeGetOp($4,$5)|0); - HEAP8[$6>>0] = $3; + $6 = ((($5)) + 64|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = $8 & -7; + $10 = $9&255; + HEAP8[$6>>0] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 120|0); + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 68|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($15) + -1)<<24>>24; + HEAP8[$14>>0] = $16; + $17 = $15 << 24 >> 24; + $18 = (($12) + ($17<<2)|0); + $19 = HEAP32[$18>>2]|0; + _releasePageNotNull($19); STACKTOP = sp;return; } -function _sqlite3WhereOutputRowCount($pWInfo) { - $pWInfo = $pWInfo|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _getAndInitPage($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWInfo; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 72|0); - $3 = HEAP16[$2>>1]|0; - STACKTOP = sp;return ($3|0); + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = (_btreePagecount($14)|0); + $16 = ($13>>>0)>($15>>>0); + L1: do { + if ($16) { + $17 = (_sqlite3CorruptError(60244)|0); + HEAP32[$11>>2] = $17; + } else { + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = HEAP32[$10>>2]|0; + $22 = (_sqlite3PagerGet($19,$20,$12,$21)|0); + HEAP32[$11>>2] = $22; + $23 = HEAP32[$11>>2]|0; + $24 = ($23|0)!=(0); + if (!($24)) { + $25 = HEAP32[$12>>2]|0; + $26 = (_sqlite3PagerGetExtra($25)|0); + $27 = HEAP32[$8>>2]|0; + HEAP32[$27>>2] = $26; + $28 = HEAP32[$8>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = ($31|0)==(0); + if ($32) { + $33 = HEAP32[$12>>2]|0; + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$6>>2]|0; + (_btreePageFromDbPage($33,$34,$35)|0); + $36 = HEAP32[$8>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = (_btreeInitPage($37)|0); + HEAP32[$11>>2] = $38; + $39 = HEAP32[$11>>2]|0; + $40 = ($39|0)!=(0); + if ($40) { + $41 = HEAP32[$8>>2]|0; + $42 = HEAP32[$41>>2]|0; + _releasePage($42); + break; + } + } + $43 = HEAP32[$9>>2]|0; + $44 = ($43|0)!=(0|0); + do { + if ($44) { + $45 = HEAP32[$8>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = ((($46)) + 18|0); + $48 = HEAP16[$47>>1]|0; + $49 = $48&65535; + $50 = ($49|0)<(1); + if (!($50)) { + $51 = HEAP32[$8>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 2|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = HEAP32[$9>>2]|0; + $57 = ((($56)) + 69|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = ($55|0)!=($59|0); + if (!($60)) { + break; + } + } + $61 = (_sqlite3CorruptError(60266)|0); + HEAP32[$11>>2] = $61; + $62 = HEAP32[$8>>2]|0; + $63 = HEAP32[$62>>2]|0; + _releasePage($63); + break L1; + } + } while(0); + HEAP32[$5>>2] = 0; + $71 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($71|0); + } + } + } while(0); + $64 = HEAP32[$9>>2]|0; + $65 = ($64|0)!=(0|0); + if ($65) { + $66 = HEAP32[$9>>2]|0; + $67 = ((($66)) + 68|0); + $68 = HEAP8[$67>>0]|0; + $69 = (($68) + -1)<<24>>24; + HEAP8[$67>>0] = $69; + } + $70 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $70; + $71 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($71|0); } -function _sqlite3WhereIsDistinct($pWInfo) { - $pWInfo = $pWInfo|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _btreeMoveto($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWInfo; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 47|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - STACKTOP = sp;return ($4|0); + STACKTOP = STACKTOP + 432|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 40|0; + $15 = sp + 8|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + $16 = $9; + $17 = $16; + HEAP32[$17>>2] = $2; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$15>>2] = 0; + $20 = HEAP32[$8>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$7>>2]|0; + $23 = ((($22)) + 72|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_sqlite3VdbeAllocUnpackedRecord($24,$14,384,$15)|0); + HEAP32[$13>>2] = $25; + $26 = HEAP32[$13>>2]|0; + $27 = ($26|0)==(0|0); + if ($27) { + HEAP32[$6>>2] = 7; + $71 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($71|0); + } + $28 = HEAP32[$7>>2]|0; + $29 = ((($28)) + 72|0); + $30 = HEAP32[$29>>2]|0; + $31 = $9; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[$13>>2]|0; + _sqlite3VdbeRecordUnpack($30,$33,$37,$38); + $39 = HEAP32[$13>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP16[$40>>1]|0; + $42 = $41&65535; + $43 = ($42|0)==(0); + if ($43) { + $44 = HEAP32[$7>>2]|0; + $45 = ((($44)) + 72|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($46)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$15>>2]|0; + _sqlite3DbFree($48,$49); + $50 = (_sqlite3CorruptError(59021)|0); + HEAP32[$6>>2] = $50; + $71 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($71|0); + } + } else { + HEAP32[$13>>2] = 0; + } + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$13>>2]|0; + $53 = $9; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$10>>2]|0; + $60 = HEAP32[$11>>2]|0; + $61 = (_sqlite3BtreeMovetoUnpacked($51,$52,$55,$58,$59,$60)|0); + HEAP32[$12>>2] = $61; + $62 = HEAP32[$15>>2]|0; + $63 = ($62|0)!=(0|0); + if ($63) { + $64 = HEAP32[$7>>2]|0; + $65 = ((($64)) + 72|0); + $66 = HEAP32[$65>>2]|0; + $67 = ((($66)) + 12|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$15>>2]|0; + _sqlite3DbFree($68,$69); + } + $70 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $70; + $71 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($71|0); } -function _sqlite3WhereIsOrdered($pWInfo) { - $pWInfo = $pWInfo|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3VdbeAllocUnpackedRecord($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, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWInfo; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 43|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3 << 24 >> 24; - STACKTOP = sp;return ($4|0); -} -function _sqlite3WhereOrderedInnerLoop($pWInfo) { - $pWInfo = $pWInfo|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWInfo; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 48|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - STACKTOP = sp;return ($4|0); -} -function _sqlite3WhereContinueLabel($pWInfo) { - $pWInfo = $pWInfo|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWInfo; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 28|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} -function _sqlite3WhereBreakLabel($pWInfo) { - $pWInfo = $pWInfo|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWInfo; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 32|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $12 = HEAP32[$6>>2]|0; + $13 = $12; + $14 = $13 & 7; + $15 = (8 - ($14))|0; + $16 = $15 & 7; + HEAP32[$10>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 6|0); + $19 = HEAP16[$18>>1]|0; + $20 = $19&65535; + $21 = (($20) + 1)|0; + $22 = ($21*40)|0; + $23 = (16 + ($22))|0; + HEAP32[$11>>2] = $23; + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[$10>>2]|0; + $27 = (($25) + ($26))|0; + $28 = ($24|0)>($27|0); + if ($28) { + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$11>>2]|0; + $33 = ($32|0)<(0); + $34 = $33 << 31 >> 31; + $35 = (_sqlite3DbMallocRaw($31,$32,$34)|0); + HEAP32[$9>>2] = $35; + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$8>>2]|0; + HEAP32[$37>>2] = $36; + $38 = HEAP32[$9>>2]|0; + $39 = ($38|0)!=(0|0); + if (!($39)) { + HEAP32[$4>>2] = 0; + $59 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($59|0); + } + } else { + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$10>>2]|0; + $42 = (($40) + ($41)|0); + HEAP32[$9>>2] = $42; + $43 = HEAP32[$8>>2]|0; + HEAP32[$43>>2] = 0; + } + $44 = HEAP32[$9>>2]|0; + $45 = ((($44)) + 16|0); + $46 = HEAP32[$9>>2]|0; + $47 = ((($46)) + 4|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$5>>2]|0; + $49 = HEAP32[$9>>2]|0; + HEAP32[$49>>2] = $48; + $50 = HEAP32[$5>>2]|0; + $51 = ((($50)) + 6|0); + $52 = HEAP16[$51>>1]|0; + $53 = $52&65535; + $54 = (($53) + 1)|0; + $55 = $54&65535; + $56 = HEAP32[$9>>2]|0; + $57 = ((($56)) + 8|0); + HEAP16[$57>>1] = $55; + $58 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $58; + $59 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($59|0); } -function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$iContinue,$iBreak) { - $pParse = $pParse|0; - $p = $p|0; - $pEList = $pEList|0; - $srcTab = $srcTab|0; - $pSort = $pSort|0; - $pDistinct = $pDistinct|0; - $pDest = $pDest|0; - $iContinue = $iContinue|0; - $iBreak = $iBreak|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $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, $addr = 0, $addrTest = 0, $eDest = 0; - var $ecelFlags = 0, $hasDistinct = 0, $i = 0, $iJump = 0, $iParm = 0, $nKey = 0, $nPrefixReg = 0, $nResultCol = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $pColl = 0, $pOp = 0, $pSO = 0, $r1 = 0, $r11 = 0, $r12 = 0, $r13 = 0, $r2 = 0, $r24 = 0; - var $r3 = 0, $regPrev = 0, $regResult = 0, $v = 0, label = 0, sp = 0; +function _sqlite3VdbeRecordUnpack($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, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $0 = sp + 124|0; - $1 = sp + 120|0; - $2 = sp + 116|0; - $3 = sp + 112|0; - $4 = sp + 108|0; - $5 = sp + 104|0; - $6 = sp + 100|0; - $7 = sp + 96|0; - $8 = sp + 92|0; - $v = sp + 88|0; - $i = sp + 84|0; - $hasDistinct = sp + 80|0; - $regResult = sp + 76|0; - $eDest = sp + 72|0; - $iParm = sp + 68|0; - $nResultCol = sp + 64|0; - $nPrefixReg = sp + 60|0; - $ecelFlags = sp + 128|0; - $pOp = sp + 56|0; - $iJump = sp + 52|0; - $regPrev = sp + 48|0; - $pColl = sp + 44|0; - $r1 = sp + 40|0; - $r11 = sp + 36|0; - $addr = sp + 32|0; - $r2 = sp + 28|0; - $r12 = sp + 24|0; - $nKey = sp + 20|0; - $r13 = sp + 16|0; - $r24 = sp + 12|0; - $r3 = sp + 8|0; - $addrTest = sp + 4|0; - $pSO = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pEList; - HEAP32[$3>>2] = $srcTab; - HEAP32[$4>>2] = $pSort; - HEAP32[$5>>2] = $pDistinct; - HEAP32[$6>>2] = $pDest; - HEAP32[$7>>2] = $iContinue; - HEAP32[$8>>2] = $iBreak; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$v>>2] = $11; - $12 = HEAP32[$6>>2]|0; - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - HEAP32[$eDest>>2] = $14; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 40|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; $15 = HEAP32[$6>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$iParm>>2] = $17; - HEAP32[$nPrefixReg>>2] = 0; - $18 = HEAP32[$5>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$5>>2]|0; - $21 = ((($20)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = $23; + HEAP32[$8>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$13>>2] = $18; + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 10|0); + HEAP8[$20>>0] = 0; + $21 = HEAP32[$8>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)<(128); + $25 = HEAP32[$8>>2]|0; + if ($24) { + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + HEAP32[$12>>2] = $27; + $31 = 1; } else { - $24 = 0; - } - HEAP32[$hasDistinct>>2] = $24; - $25 = HEAP32[$4>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$4>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==(0|0); - if ($29) { - HEAP32[$4>>2] = 0; + $28 = (_sqlite3GetVarint32($25,$12)|0); + $29 = $28&255; + $31 = $29; + } + $30 = $31&255; + $32 = $30&255; + HEAP32[$10>>2] = $32; + $33 = HEAP32[$12>>2]|0; + HEAP32[$9>>2] = $33; + HEAP16[$11>>1] = 0; + while(1) { + $34 = HEAP32[$10>>2]|0; + $35 = HEAP32[$12>>2]|0; + $36 = ($34>>>0)<($35>>>0); + if (!($36)) { + label = 11; + break; } - } - $30 = HEAP32[$4>>2]|0; - $31 = ($30|0)!=(0|0); - $32 = HEAP32[$hasDistinct>>2]|0; - $33 = ($32|0)!=(0); - $or$cond = $31 | $33; - if (!($or$cond)) { - $34 = HEAP32[$v>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 16|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$7>>2]|0; - _codeOffset($34,$37,$38); - } - $39 = HEAP32[$2>>2]|0; - $40 = HEAP32[$39>>2]|0; - HEAP32[$nResultCol>>2] = $40; - $41 = HEAP32[$6>>2]|0; - $42 = ((($41)) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)==(0); - if ($44) { - $45 = HEAP32[$4>>2]|0; - $46 = ($45|0)!=(0|0); - if ($46) { - $47 = HEAP32[$4>>2]|0; - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$48>>2]|0; - HEAP32[$nPrefixReg>>2] = $49; - $50 = HEAP32[$4>>2]|0; - $51 = ((($50)) + 28|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = $53 & 1; - $55 = ($54|0)!=(0); - if (!($55)) { - $56 = HEAP32[$nPrefixReg>>2]|0; - $57 = (($56) + 1)|0; - HEAP32[$nPrefixReg>>2] = $57; - } - $58 = HEAP32[$nPrefixReg>>2]|0; - $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 44|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($61) + ($58))|0; - HEAP32[$60>>2] = $62; + $37 = HEAP32[$9>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = ($37|0)<=($38|0); + if (!($39)) { + label = 11; + break; } - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 44|0); + $40 = HEAP32[$8>>2]|0; + $41 = HEAP32[$10>>2]|0; + $42 = (($40) + ($41)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + $45 = ($44|0)<(128); + $46 = HEAP32[$8>>2]|0; + $47 = HEAP32[$10>>2]|0; + $48 = (($46) + ($47)|0); + if ($45) { + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + HEAP32[$14>>2] = $50; + $54 = 1; + } else { + $51 = (_sqlite3GetVarint32($48,$14)|0); + $52 = $51&255; + $54 = $52; + } + $53 = $54&255; + $55 = $53&255; + $56 = HEAP32[$10>>2]|0; + $57 = (($56) + ($55))|0; + HEAP32[$10>>2] = $57; + $58 = HEAP32[$4>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP8[$59>>0]|0; + $61 = HEAP32[$13>>2]|0; + $62 = ((($61)) + 10|0); + HEAP8[$62>>0] = $60; + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 12|0); $65 = HEAP32[$64>>2]|0; - $66 = (($65) + 1)|0; - $67 = HEAP32[$6>>2]|0; - $68 = ((($67)) + 12|0); - HEAP32[$68>>2] = $66; - $69 = HEAP32[$nResultCol>>2]|0; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 44|0); - $72 = HEAP32[$71>>2]|0; - $73 = (($72) + ($69))|0; - HEAP32[$71>>2] = $73; - } else { - $74 = HEAP32[$6>>2]|0; - $75 = ((($74)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = HEAP32[$nResultCol>>2]|0; - $78 = (($76) + ($77))|0; - $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 44|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($78|0)>($81|0); - if ($82) { - $83 = HEAP32[$nResultCol>>2]|0; - $84 = HEAP32[$0>>2]|0; - $85 = ((($84)) + 44|0); - $86 = HEAP32[$85>>2]|0; - $87 = (($86) + ($83))|0; - HEAP32[$85>>2] = $87; + $66 = HEAP32[$13>>2]|0; + $67 = ((($66)) + 32|0); + HEAP32[$67>>2] = $65; + $68 = HEAP32[$13>>2]|0; + $69 = ((($68)) + 24|0); + HEAP32[$69>>2] = 0; + $70 = HEAP32[$13>>2]|0; + $71 = ((($70)) + 16|0); + HEAP32[$71>>2] = 0; + $72 = HEAP32[$8>>2]|0; + $73 = HEAP32[$9>>2]|0; + $74 = (($72) + ($73)|0); + $75 = HEAP32[$14>>2]|0; + $76 = HEAP32[$13>>2]|0; + $77 = (_sqlite3VdbeSerialGet($74,$75,$76)|0); + $78 = HEAP32[$9>>2]|0; + $79 = (($78) + ($77))|0; + HEAP32[$9>>2] = $79; + $80 = HEAP32[$13>>2]|0; + $81 = ((($80)) + 40|0); + HEAP32[$13>>2] = $81; + $82 = HEAP16[$11>>1]|0; + $83 = (($82) + 1)<<16>>16; + HEAP16[$11>>1] = $83; + $84 = $83&65535; + $85 = HEAP32[$7>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP16[$86>>1]|0; + $88 = $87&65535; + $89 = ($84|0)>=($88|0); + if ($89) { + label = 11; + break; } } - $88 = HEAP32[$nResultCol>>2]|0; - $89 = HEAP32[$6>>2]|0; - $90 = ((($89)) + 16|0); - HEAP32[$90>>2] = $88; - $91 = HEAP32[$6>>2]|0; - $92 = ((($91)) + 12|0); - $93 = HEAP32[$92>>2]|0; - HEAP32[$regResult>>2] = $93; - $94 = HEAP32[$3>>2]|0; - $95 = ($94|0)>=(0); - L22: do { - if ($95) { - HEAP32[$i>>2] = 0; - while(1) { - $96 = HEAP32[$i>>2]|0; - $97 = HEAP32[$nResultCol>>2]|0; - $98 = ($96|0)<($97|0); - if (!($98)) { - break L22; + if ((label|0) == 11) { + $90 = HEAP16[$11>>1]|0; + $91 = HEAP32[$7>>2]|0; + $92 = ((($91)) + 8|0); + HEAP16[$92>>1] = $90; + STACKTOP = sp;return; + } +} +function _sqlite3BtreeMovetoUnpacked($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; + var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; + var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; + var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; + var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + 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; + STACKTOP = STACKTOP + 96|0; + $6 = sp + 80|0; + $7 = sp + 76|0; + $8 = sp + 72|0; + $9 = sp + 8|0; + $10 = sp + 68|0; + $11 = sp + 64|0; + $12 = sp + 60|0; + $13 = sp + 56|0; + $14 = sp + 52|0; + $15 = sp + 48|0; + $16 = sp + 44|0; + $17 = sp + 40|0; + $18 = sp + 36|0; + $19 = sp + 32|0; + $20 = sp + 28|0; + $21 = sp; + $22 = sp + 24|0; + $23 = sp + 20|0; + $24 = sp + 16|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + $25 = $9; + $26 = $25; + HEAP32[$26>>2] = $2; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $29 = HEAP32[$8>>2]|0; + $30 = ($29|0)==(0|0); + if ($30) { + $31 = HEAP32[$7>>2]|0; + $32 = ((($31)) + 66|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = ($34|0)==(1); + if ($35) { + $36 = HEAP32[$7>>2]|0; + $37 = ((($36)) + 64|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = $39 & 2; + $41 = ($40|0)!=(0); + if ($41) { + $42 = HEAP32[$7>>2]|0; + $43 = ((($42)) + 16|0); + $44 = $43; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = $9; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = ($46|0)==($52|0); + $57 = ($49|0)==($55|0); + $58 = $56 & $57; + if ($58) { + $59 = HEAP32[$11>>2]|0; + HEAP32[$59>>2] = 0; + HEAP32[$6>>2] = 0; + $487 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($487|0); } - $99 = HEAP32[$v>>2]|0; - $100 = HEAP32[$3>>2]|0; - $101 = HEAP32[$i>>2]|0; - $102 = HEAP32[$regResult>>2]|0; - $103 = HEAP32[$i>>2]|0; - $104 = (($102) + ($103))|0; - (_sqlite3VdbeAddOp3($99,96,$100,$101,$104)|0); - $105 = HEAP32[$i>>2]|0; - $106 = (($105) + 1)|0; - HEAP32[$i>>2] = $106; - } - } else { - $107 = HEAP32[$eDest>>2]|0; - $108 = ($107|0)!=(3); - if ($108) { - $109 = HEAP32[$eDest>>2]|0; - $110 = ($109|0)==(10); - $111 = HEAP32[$eDest>>2]|0; - $112 = ($111|0)==(9); - $or$cond3 = $110 | $112; - $113 = HEAP32[$eDest>>2]|0; - $114 = ($113|0)==(13); - $or$cond5 = $or$cond3 | $114; - if ($or$cond5) { - HEAP8[$ecelFlags>>0] = 1; - } else { - HEAP8[$ecelFlags>>0] = 0; + $60 = HEAP32[$7>>2]|0; + $61 = ((($60)) + 64|0); + $62 = HEAP8[$61>>0]|0; + $63 = $62&255; + $64 = $63 & 8; + $65 = ($64|0)!=(0); + if ($65) { + $66 = HEAP32[$7>>2]|0; + $67 = ((($66)) + 16|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $9; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = ($73|0)<($79|0); + $81 = ($70>>>0)<($76>>>0); + $82 = ($73|0)==($79|0); + $83 = $82 & $81; + $84 = $80 | $83; + if ($84) { + $85 = HEAP32[$11>>2]|0; + HEAP32[$85>>2] = -1; + HEAP32[$6>>2] = 0; + $487 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($487|0); + } } - $115 = HEAP32[$0>>2]|0; - $116 = HEAP32[$2>>2]|0; - $117 = HEAP32[$regResult>>2]|0; - $118 = HEAP8[$ecelFlags>>0]|0; - (_sqlite3ExprCodeExprList($115,$116,$117,0,$118)|0); } } - } while(0); - $119 = HEAP32[$hasDistinct>>2]|0; - $120 = ($119|0)!=(0); - if ($120) { - $121 = HEAP32[$5>>2]|0; - $122 = ((($121)) + 1|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123&255; - switch ($124|0) { - case 2: { - $125 = HEAP32[$0>>2]|0; - $126 = ((($125)) + 44|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($127) + 1)|0; - HEAP32[$regPrev>>2] = $128; - $129 = HEAP32[$nResultCol>>2]|0; - $130 = HEAP32[$0>>2]|0; - $131 = ((($130)) + 44|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + ($129))|0; - HEAP32[$131>>2] = $133; - $134 = HEAP32[$v>>2]|0; - $135 = HEAP32[$5>>2]|0; - $136 = ((($135)) + 8|0); - $137 = HEAP32[$136>>2]|0; - (_sqlite3VdbeChangeToNoop($134,$137)|0); - $138 = HEAP32[$v>>2]|0; - $139 = HEAP32[$5>>2]|0; - $140 = ((($139)) + 8|0); - $141 = HEAP32[$140>>2]|0; - $142 = (_sqlite3VdbeGetOp($138,$141)|0); - HEAP32[$pOp>>2] = $142; - $143 = HEAP32[$pOp>>2]|0; - HEAP8[$143>>0] = 79; - $144 = HEAP32[$pOp>>2]|0; - $145 = ((($144)) + 4|0); - HEAP32[$145>>2] = 1; - $146 = HEAP32[$regPrev>>2]|0; - $147 = HEAP32[$pOp>>2]|0; - $148 = ((($147)) + 8|0); - HEAP32[$148>>2] = $146; - $149 = HEAP32[$v>>2]|0; - $150 = (_sqlite3VdbeCurrentAddr($149)|0); - $151 = HEAP32[$nResultCol>>2]|0; - $152 = (($150) + ($151))|0; - HEAP32[$iJump>>2] = $152; - HEAP32[$i>>2] = 0; - while(1) { - $153 = HEAP32[$i>>2]|0; - $154 = HEAP32[$nResultCol>>2]|0; - $155 = ($153|0)<($154|0); - if (!($155)) { + } + $86 = HEAP32[$8>>2]|0; + $87 = ($86|0)!=(0|0); + if ($87) { + $88 = HEAP32[$8>>2]|0; + $89 = (_sqlite3VdbeFindCompare($88)|0); + HEAP32[$13>>2] = $89; + $90 = HEAP32[$8>>2]|0; + $91 = ((($90)) + 11|0); + HEAP8[$91>>0] = 0; + } else { + HEAP32[$13>>2] = 0; + } + $92 = HEAP32[$7>>2]|0; + $93 = (_moveToRoot($92)|0); + HEAP32[$12>>2] = $93; + $94 = HEAP32[$12>>2]|0; + $95 = ($94|0)!=(0); + if ($95) { + $96 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $96; + $487 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($487|0); + } + $97 = HEAP32[$7>>2]|0; + $98 = ((($97)) + 66|0); + $99 = HEAP8[$98>>0]|0; + $100 = $99&255; + $101 = ($100|0)==(0); + if ($101) { + $102 = HEAP32[$11>>2]|0; + HEAP32[$102>>2] = -1; + HEAP32[$6>>2] = 0; + $487 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($487|0); + } + L24: while(1) { + $103 = HEAP32[$7>>2]|0; + $104 = ((($103)) + 120|0); + $105 = HEAP32[$7>>2]|0; + $106 = ((($105)) + 68|0); + $107 = HEAP8[$106>>0]|0; + $108 = $107 << 24 >> 24; + $109 = (($104) + ($108<<2)|0); + $110 = HEAP32[$109>>2]|0; + HEAP32[$19>>2] = $110; + HEAP32[$14>>2] = 0; + $111 = HEAP32[$19>>2]|0; + $112 = ((($111)) + 18|0); + $113 = HEAP16[$112>>1]|0; + $114 = $113&65535; + $115 = (($114) - 1)|0; + HEAP32[$15>>2] = $115; + $116 = HEAP32[$15>>2]|0; + $117 = HEAP32[$10>>2]|0; + $118 = (1 - ($117))|0; + $119 = $116 >> $118; + HEAP32[$16>>2] = $119; + $120 = HEAP32[$16>>2]|0; + $121 = $120&65535; + $122 = HEAP32[$7>>2]|0; + $123 = ((($122)) + 80|0); + $124 = HEAP32[$7>>2]|0; + $125 = ((($124)) + 68|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126 << 24 >> 24; + $128 = (($123) + ($127<<1)|0); + HEAP16[$128>>1] = $121; + $129 = HEAP32[$13>>2]|0; + $130 = ($129|0)==(0|0); + L26: do { + if ($130) { + while(1) { + $131 = HEAP32[$19>>2]|0; + $132 = ((($131)) + 68|0); + $133 = HEAP32[$132>>2]|0; + $134 = HEAP32[$19>>2]|0; + $135 = ((($134)) + 20|0); + $136 = HEAP16[$135>>1]|0; + $137 = $136&65535; + $138 = HEAP32[$19>>2]|0; + $139 = ((($138)) + 64|0); + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$16>>2]|0; + $142 = $141<<1; + $143 = (($140) + ($142)|0); + $144 = HEAP8[$143>>0]|0; + $145 = $144&255; + $146 = $145 << 8; + $147 = HEAP32[$19>>2]|0; + $148 = ((($147)) + 64|0); + $149 = HEAP32[$148>>2]|0; + $150 = HEAP32[$16>>2]|0; + $151 = $150<<1; + $152 = (($149) + ($151)|0); + $153 = ((($152)) + 1|0); + $154 = HEAP8[$153>>0]|0; + $155 = $154&255; + $156 = $146 | $155; + $157 = $137 & $156; + $158 = (($133) + ($157)|0); + HEAP32[$20>>2] = $158; + $159 = HEAP32[$19>>2]|0; + $160 = ((($159)) + 3|0); + $161 = HEAP8[$160>>0]|0; + $162 = ($161<<24>>24)!=(0); + L29: do { + if ($162) { + while(1) { + $163 = HEAP32[$20>>2]|0; + $164 = ((($163)) + 1|0); + HEAP32[$20>>2] = $164; + $165 = HEAP8[$163>>0]|0; + $166 = $165&255; + $167 = (128)<=($166|0); + if (!($167)) { + break L29; + } + $168 = HEAP32[$20>>2]|0; + $169 = HEAP32[$19>>2]|0; + $170 = ((($169)) + 60|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($168>>>0)>=($171>>>0); + if ($172) { + label = 20; + break L24; + } + } + } + } while(0); + $174 = HEAP32[$20>>2]|0; + (_sqlite3GetVarint($174,$21)|0); + $175 = $21; + $176 = $175; + $177 = HEAP32[$176>>2]|0; + $178 = (($175) + 4)|0; + $179 = $178; + $180 = HEAP32[$179>>2]|0; + $181 = $9; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = (($181) + 4)|0; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + $187 = ($180|0)<($186|0); + $188 = ($177>>>0)<($183>>>0); + $189 = ($180|0)==($186|0); + $190 = $189 & $188; + $191 = $187 | $190; + if ($191) { + $192 = HEAP32[$16>>2]|0; + $193 = (($192) + 1)|0; + HEAP32[$14>>2] = $193; + $194 = HEAP32[$14>>2]|0; + $195 = HEAP32[$15>>2]|0; + $196 = ($194|0)>($195|0); + if ($196) { + label = 23; + break; + } + } else { + $197 = $21; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = $9; + $204 = $203; + $205 = HEAP32[$204>>2]|0; + $206 = (($203) + 4)|0; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = ($202|0)>($208|0); + $210 = ($199>>>0)>($205>>>0); + $211 = ($202|0)==($208|0); + $212 = $211 & $210; + $213 = $209 | $212; + if (!($213)) { + label = 27; + break; + } + $214 = HEAP32[$16>>2]|0; + $215 = (($214) - 1)|0; + HEAP32[$15>>2] = $215; + $216 = HEAP32[$14>>2]|0; + $217 = HEAP32[$15>>2]|0; + $218 = ($216|0)>($217|0); + if ($218) { + label = 26; + break; + } + } + $252 = HEAP32[$14>>2]|0; + $253 = HEAP32[$15>>2]|0; + $254 = (($252) + ($253))|0; + $255 = $254 >> 1; + HEAP32[$16>>2] = $255; + } + if ((label|0) == 23) { + label = 0; + HEAP32[$17>>2] = -1; + label = 51; break; } - $156 = HEAP32[$0>>2]|0; - $157 = HEAP32[$i>>2]|0; - $158 = HEAP32[$2>>2]|0; - $159 = ((($158)) + 4|0); - $160 = HEAP32[$159>>2]|0; - $161 = (($160) + (($157*20)|0)|0); - $162 = HEAP32[$161>>2]|0; - $163 = (_sqlite3ExprCollSeq($156,$162)|0); - HEAP32[$pColl>>2] = $163; - $164 = HEAP32[$i>>2]|0; - $165 = HEAP32[$nResultCol>>2]|0; - $166 = (($165) - 1)|0; - $167 = ($164|0)<($166|0); - $168 = HEAP32[$v>>2]|0; - $169 = HEAP32[$regResult>>2]|0; - $170 = HEAP32[$i>>2]|0; - $171 = (($169) + ($170))|0; - if ($167) { - $172 = HEAP32[$iJump>>2]|0; - $173 = HEAP32[$regPrev>>2]|0; - $174 = HEAP32[$i>>2]|0; - $175 = (($173) + ($174))|0; - (_sqlite3VdbeAddOp3($168,36,$171,$172,$175)|0); - } else { - $176 = HEAP32[$7>>2]|0; - $177 = HEAP32[$regPrev>>2]|0; - $178 = HEAP32[$i>>2]|0; - $179 = (($177) + ($178))|0; - (_sqlite3VdbeAddOp3($168,37,$171,$176,$179)|0); - } - $180 = HEAP32[$v>>2]|0; - $181 = HEAP32[$pColl>>2]|0; - _sqlite3VdbeChangeP4($180,-1,$181,-4); - $182 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($182,-128); - $183 = HEAP32[$i>>2]|0; - $184 = (($183) + 1)|0; - HEAP32[$i>>2] = $184; - } - $185 = HEAP32[$v>>2]|0; - $186 = HEAP32[$regResult>>2]|0; - $187 = HEAP32[$regPrev>>2]|0; - $188 = HEAP32[$nResultCol>>2]|0; - $189 = (($188) - 1)|0; - (_sqlite3VdbeAddOp3($185,84,$186,$187,$189)|0); - break; + else if ((label|0) == 26) { + label = 0; + HEAP32[$17>>2] = 1; + label = 51; + break; + } + else if ((label|0) == 27) { + label = 0; + $219 = HEAP32[$7>>2]|0; + $220 = ((($219)) + 64|0); + $221 = HEAP8[$220>>0]|0; + $222 = $221&255; + $223 = $222 | 2; + $224 = $223&255; + HEAP8[$220>>0] = $224; + $225 = $21; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = (($225) + 4)|0; + $229 = $228; + $230 = HEAP32[$229>>2]|0; + $231 = HEAP32[$7>>2]|0; + $232 = ((($231)) + 16|0); + $233 = $232; + $234 = $233; + HEAP32[$234>>2] = $227; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $230; + $237 = HEAP32[$16>>2]|0; + $238 = $237&65535; + $239 = HEAP32[$7>>2]|0; + $240 = ((($239)) + 80|0); + $241 = HEAP32[$7>>2]|0; + $242 = ((($241)) + 68|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243 << 24 >> 24; + $245 = (($240) + ($244<<1)|0); + HEAP16[$245>>1] = $238; + $246 = HEAP32[$19>>2]|0; + $247 = ((($246)) + 4|0); + $248 = HEAP8[$247>>0]|0; + $249 = ($248<<24>>24)!=(0); + if ($249) { + label = 29; + break L24; + } + $250 = HEAP32[$16>>2]|0; + HEAP32[$14>>2] = $250; + break; + } + } else { + while(1) { + $256 = HEAP32[$19>>2]|0; + $257 = ((($256)) + 68|0); + $258 = HEAP32[$257>>2]|0; + $259 = HEAP32[$19>>2]|0; + $260 = ((($259)) + 20|0); + $261 = HEAP16[$260>>1]|0; + $262 = $261&65535; + $263 = HEAP32[$19>>2]|0; + $264 = ((($263)) + 64|0); + $265 = HEAP32[$264>>2]|0; + $266 = HEAP32[$16>>2]|0; + $267 = $266<<1; + $268 = (($265) + ($267)|0); + $269 = HEAP8[$268>>0]|0; + $270 = $269&255; + $271 = $270 << 8; + $272 = HEAP32[$19>>2]|0; + $273 = ((($272)) + 64|0); + $274 = HEAP32[$273>>2]|0; + $275 = HEAP32[$16>>2]|0; + $276 = $275<<1; + $277 = (($274) + ($276)|0); + $278 = ((($277)) + 1|0); + $279 = HEAP8[$278>>0]|0; + $280 = $279&255; + $281 = $271 | $280; + $282 = $262 & $281; + $283 = (($258) + ($282)|0); + HEAP32[$20>>2] = $283; + $284 = HEAP32[$20>>2]|0; + $285 = HEAP8[$284>>0]|0; + $286 = $285&255; + HEAP32[$22>>2] = $286; + $287 = HEAP32[$22>>2]|0; + $288 = HEAP32[$19>>2]|0; + $289 = ((($288)) + 7|0); + $290 = HEAP8[$289>>0]|0; + $291 = $290&255; + $292 = ($287|0)<=($291|0); + do { + if ($292) { + $293 = HEAP32[$13>>2]|0; + $294 = HEAP32[$22>>2]|0; + $295 = HEAP32[$20>>2]|0; + $296 = ((($295)) + 1|0); + $297 = HEAP32[$8>>2]|0; + $298 = (FUNCTION_TABLE_iiii[$293 & 255]($294,$296,$297)|0); + HEAP32[$17>>2] = $298; + } else { + $299 = HEAP32[$20>>2]|0; + $300 = ((($299)) + 1|0); + $301 = HEAP8[$300>>0]|0; + $302 = $301&255; + $303 = $302 & 128; + $304 = ($303|0)!=(0); + if (!($304)) { + $305 = HEAP32[$22>>2]|0; + $306 = $305 & 127; + $307 = $306 << 7; + $308 = HEAP32[$20>>2]|0; + $309 = ((($308)) + 1|0); + $310 = HEAP8[$309>>0]|0; + $311 = $310&255; + $312 = (($307) + ($311))|0; + HEAP32[$22>>2] = $312; + $313 = HEAP32[$19>>2]|0; + $314 = ((($313)) + 10|0); + $315 = HEAP16[$314>>1]|0; + $316 = $315&65535; + $317 = ($312|0)<=($316|0); + if ($317) { + $318 = HEAP32[$13>>2]|0; + $319 = HEAP32[$22>>2]|0; + $320 = HEAP32[$20>>2]|0; + $321 = ((($320)) + 2|0); + $322 = HEAP32[$8>>2]|0; + $323 = (FUNCTION_TABLE_iiii[$318 & 255]($319,$321,$322)|0); + HEAP32[$17>>2] = $323; + break; + } + } + $324 = HEAP32[$20>>2]|0; + $325 = HEAP32[$19>>2]|0; + $326 = ((($325)) + 6|0); + $327 = HEAP8[$326>>0]|0; + $328 = $327&255; + $329 = (0 - ($328))|0; + $330 = (($324) + ($329)|0); + HEAP32[$24>>2] = $330; + $331 = HEAP32[$19>>2]|0; + $332 = ((($331)) + 80|0); + $333 = HEAP32[$332>>2]|0; + $334 = HEAP32[$19>>2]|0; + $335 = HEAP32[$24>>2]|0; + $336 = HEAP32[$7>>2]|0; + $337 = ((($336)) + 16|0); + FUNCTION_TABLE_viii[$333 & 255]($334,$335,$337); + $338 = HEAP32[$7>>2]|0; + $339 = ((($338)) + 16|0); + $340 = $339; + $341 = $340; + $342 = HEAP32[$341>>2]|0; + $343 = (($340) + 4)|0; + $344 = $343; + $345 = HEAP32[$344>>2]|0; + HEAP32[$22>>2] = $342; + $346 = HEAP32[$22>>2]|0; + $347 = ($346|0)<(2); + if ($347) { + label = 37; + break L24; + } + $349 = HEAP32[$22>>2]|0; + $350 = (($349) + 18)|0; + $351 = ($350|0)<(0); + $352 = $351 << 31 >> 31; + $353 = (_sqlite3Malloc($350,$352)|0); + HEAP32[$23>>2] = $353; + $354 = HEAP32[$23>>2]|0; + $355 = ($354|0)==(0|0); + if ($355) { + label = 39; + break L24; + } + $356 = HEAP32[$16>>2]|0; + $357 = $356&65535; + $358 = HEAP32[$7>>2]|0; + $359 = ((($358)) + 80|0); + $360 = HEAP32[$7>>2]|0; + $361 = ((($360)) + 68|0); + $362 = HEAP8[$361>>0]|0; + $363 = $362 << 24 >> 24; + $364 = (($359) + ($363<<1)|0); + HEAP16[$364>>1] = $357; + $365 = HEAP32[$7>>2]|0; + $366 = HEAP32[$22>>2]|0; + $367 = HEAP32[$23>>2]|0; + $368 = (_accessPayload($365,0,$366,$367,2)|0); + HEAP32[$12>>2] = $368; + $369 = HEAP32[$12>>2]|0; + $370 = ($369|0)!=(0); + if ($370) { + label = 41; + break L24; + } + $372 = HEAP32[$13>>2]|0; + $373 = HEAP32[$22>>2]|0; + $374 = HEAP32[$23>>2]|0; + $375 = HEAP32[$8>>2]|0; + $376 = (FUNCTION_TABLE_iiii[$372 & 255]($373,$374,$375)|0); + HEAP32[$17>>2] = $376; + $377 = HEAP32[$23>>2]|0; + _sqlite3_free($377); + } + } while(0); + $378 = HEAP32[$17>>2]|0; + $379 = ($378|0)<(0); + if ($379) { + $380 = HEAP32[$16>>2]|0; + $381 = (($380) + 1)|0; + HEAP32[$14>>2] = $381; + } else { + $382 = HEAP32[$17>>2]|0; + $383 = ($382|0)>(0); + if (!($383)) { + label = 47; + break L24; + } + $384 = HEAP32[$16>>2]|0; + $385 = (($384) - 1)|0; + HEAP32[$15>>2] = $385; + } + $400 = HEAP32[$14>>2]|0; + $401 = HEAP32[$15>>2]|0; + $402 = ($400|0)>($401|0); + if ($402) { + label = 51; + break L26; + } + $403 = HEAP32[$14>>2]|0; + $404 = HEAP32[$15>>2]|0; + $405 = (($403) + ($404))|0; + $406 = $405 >> 1; + HEAP32[$16>>2] = $406; + } + } + } while(0); + if ((label|0) == 51) { + label = 0; + $407 = HEAP32[$19>>2]|0; + $408 = ((($407)) + 4|0); + $409 = HEAP8[$408>>0]|0; + $410 = ($409<<24>>24)!=(0); + if ($410) { + label = 52; + break; + } } - case 1: { - $190 = HEAP32[$v>>2]|0; - $191 = HEAP32[$5>>2]|0; - $192 = ((($191)) + 8|0); - $193 = HEAP32[$192>>2]|0; - (_sqlite3VdbeChangeToNoop($190,$193)|0); + $422 = HEAP32[$14>>2]|0; + $423 = HEAP32[$19>>2]|0; + $424 = ((($423)) + 18|0); + $425 = HEAP16[$424>>1]|0; + $426 = $425&65535; + $427 = ($422|0)>=($426|0); + $428 = HEAP32[$19>>2]|0; + $429 = ((($428)) + 56|0); + $430 = HEAP32[$429>>2]|0; + $431 = HEAP32[$19>>2]|0; + if ($427) { + $432 = ((($431)) + 5|0); + $433 = HEAP8[$432>>0]|0; + $434 = $433&255; + $435 = (($434) + 8)|0; + $436 = (($430) + ($435)|0); + $437 = (_sqlite3Get4byte($436)|0); + HEAP32[$18>>2] = $437; + } else { + $438 = ((($431)) + 20|0); + $439 = HEAP16[$438>>1]|0; + $440 = $439&65535; + $441 = HEAP32[$19>>2]|0; + $442 = ((($441)) + 64|0); + $443 = HEAP32[$442>>2]|0; + $444 = HEAP32[$14>>2]|0; + $445 = $444<<1; + $446 = (($443) + ($445)|0); + $447 = HEAP8[$446>>0]|0; + $448 = $447&255; + $449 = $448 << 8; + $450 = HEAP32[$19>>2]|0; + $451 = ((($450)) + 64|0); + $452 = HEAP32[$451>>2]|0; + $453 = HEAP32[$14>>2]|0; + $454 = $453<<1; + $455 = (($452) + ($454)|0); + $456 = ((($455)) + 1|0); + $457 = HEAP8[$456>>0]|0; + $458 = $457&255; + $459 = $449 | $458; + $460 = $440 & $459; + $461 = (($430) + ($460)|0); + $462 = (_sqlite3Get4byte($461)|0); + HEAP32[$18>>2] = $462; + } + $463 = HEAP32[$14>>2]|0; + $464 = $463&65535; + $465 = HEAP32[$7>>2]|0; + $466 = ((($465)) + 80|0); + $467 = HEAP32[$7>>2]|0; + $468 = ((($467)) + 68|0); + $469 = HEAP8[$468>>0]|0; + $470 = $469 << 24 >> 24; + $471 = (($466) + ($470<<1)|0); + HEAP16[$471>>1] = $464; + $472 = HEAP32[$7>>2]|0; + $473 = HEAP32[$18>>2]|0; + $474 = (_moveToChild($472,$473)|0); + HEAP32[$12>>2] = $474; + $475 = HEAP32[$12>>2]|0; + $476 = ($475|0)!=(0); + if ($476) { break; } - default: { - $194 = HEAP32[$0>>2]|0; - $195 = HEAP32[$5>>2]|0; - $196 = ((($195)) + 4|0); - $197 = HEAP32[$196>>2]|0; - $198 = HEAP32[$7>>2]|0; - $199 = HEAP32[$nResultCol>>2]|0; - $200 = HEAP32[$regResult>>2]|0; - _codeDistinct($194,$197,$198,$199,$200); + } + if ((label|0) == 20) { + $173 = (_sqlite3CorruptError(63387)|0); + HEAP32[$6>>2] = $173; + $487 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($487|0); + } + else if ((label|0) == 29) { + $251 = HEAP32[$11>>2]|0; + HEAP32[$251>>2] = 0; + HEAP32[$12>>2] = 0; + } + else if ((label|0) == 37) { + $348 = (_sqlite3CorruptError(63460)|0); + HEAP32[$12>>2] = $348; + } + else if ((label|0) == 39) { + HEAP32[$12>>2] = 7; + } + else if ((label|0) == 41) { + $371 = HEAP32[$23>>2]|0; + _sqlite3_free($371); + } + else if ((label|0) == 47) { + $386 = HEAP32[$11>>2]|0; + HEAP32[$386>>2] = 0; + HEAP32[$12>>2] = 0; + $387 = HEAP32[$16>>2]|0; + $388 = $387&65535; + $389 = HEAP32[$7>>2]|0; + $390 = ((($389)) + 80|0); + $391 = HEAP32[$7>>2]|0; + $392 = ((($391)) + 68|0); + $393 = HEAP8[$392>>0]|0; + $394 = $393 << 24 >> 24; + $395 = (($390) + ($394<<1)|0); + HEAP16[$395>>1] = $388; + $396 = HEAP32[$8>>2]|0; + $397 = ((($396)) + 11|0); + $398 = HEAP8[$397>>0]|0; + $399 = ($398<<24>>24)!=(0); + if ($399) { + HEAP32[$12>>2] = 11; + } + } + else if ((label|0) == 52) { + $411 = HEAP32[$16>>2]|0; + $412 = $411&65535; + $413 = HEAP32[$7>>2]|0; + $414 = ((($413)) + 80|0); + $415 = HEAP32[$7>>2]|0; + $416 = ((($415)) + 68|0); + $417 = HEAP8[$416>>0]|0; + $418 = $417 << 24 >> 24; + $419 = (($414) + ($418<<1)|0); + HEAP16[$419>>1] = $412; + $420 = HEAP32[$17>>2]|0; + $421 = HEAP32[$11>>2]|0; + HEAP32[$421>>2] = $420; + HEAP32[$12>>2] = 0; + } + $477 = HEAP32[$7>>2]|0; + $478 = ((($477)) + 16|0); + $479 = ((($478)) + 18|0); + HEAP16[$479>>1] = 0; + $480 = HEAP32[$7>>2]|0; + $481 = ((($480)) + 64|0); + $482 = HEAP8[$481>>0]|0; + $483 = $482&255; + $484 = $483 & -7; + $485 = $484&255; + HEAP8[$481>>0] = $485; + $486 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $486; + $487 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($487|0); +} +function _sqlite3VdbeFindCompare($0) { + $0 = $0|0; + var $$sink = 0, $$sink2 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 6|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + $14 = (($8) + ($13))|0; + $15 = ($14|0)<=(13); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP16[$19>>1]|0; + $21 = $20&65535; + HEAP32[$3>>2] = $21; + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = ($26<<24>>24)!=(0); + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 12|0); + if ($27) { + HEAP8[$29>>0] = 1; + $30 = HEAP32[$2>>2]|0; + $$sink = -1;$$sink2 = $30; + } else { + HEAP8[$29>>0] = -1; + $31 = HEAP32[$2>>2]|0; + $$sink = 1;$$sink2 = $31; } + $32 = ((($$sink2)) + 13|0); + HEAP8[$32>>0] = $$sink; + $33 = HEAP32[$3>>2]|0; + $34 = $33 & 4; + $35 = ($34|0)!=(0); + if ($35) { + HEAP32[$1>>2] = 158; + $44 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($44|0); } - $201 = HEAP32[$4>>2]|0; - $202 = ($201|0)==(0|0); - if ($202) { - $203 = HEAP32[$v>>2]|0; - $204 = HEAP32[$1>>2]|0; - $205 = ((($204)) + 16|0); - $206 = HEAP32[$205>>2]|0; - $207 = HEAP32[$7>>2]|0; - _codeOffset($203,$206,$207); + $36 = HEAP32[$3>>2]|0; + $37 = $36 & 25; + $38 = ($37|0)==(0); + if ($38) { + $39 = HEAP32[$2>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = ((($40)) + 20|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + HEAP32[$1>>2] = 159; + $44 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($44|0); + } + } + } + HEAP32[$1>>2] = 160; + $44 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($44|0); +} +function _moveToRoot($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 66|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)>=(3); + do { + if ($10) { + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 66|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(4); + $16 = HEAP32[$2>>2]|0; + if (!($15)) { + _sqlite3BtreeClearCursor($16); + break; + } + $17 = ((($16)) + 60|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$1>>2] = $18; + $132 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($132|0); + } + } while(0); + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 68|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21 << 24 >> 24; + $23 = ($22|0)>=(0); + L8: do { + if ($23) { + while(1) { + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 68|0); + $26 = HEAP8[$25>>0]|0; + $27 = ($26<<24>>24)!=(0); + if (!($27)) { + break L8; + } + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 120|0); + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 68|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($32) + -1)<<24>>24; + HEAP8[$31>>0] = $33; + $34 = $32 << 24 >> 24; + $35 = (($29) + ($34<<2)|0); + $36 = HEAP32[$35>>2]|0; + _releasePageNotNull($36); + } + } else { + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 52|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + $41 = HEAP32[$2>>2]|0; + if ($40) { + $42 = ((($41)) + 66|0); + HEAP8[$42>>0] = 0; + HEAP32[$1>>2] = 0; + $132 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($132|0); + } + $43 = HEAP32[$41>>2]|0; + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 52|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 120|0); + $51 = HEAP32[$2>>2]|0; + $52 = ((($51)) + 65|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = (_getAndInitPage($45,$48,$50,0,$54)|0); + HEAP32[$4>>2] = $55; + $56 = HEAP32[$4>>2]|0; + $57 = ($56|0)!=(0); + $58 = HEAP32[$2>>2]|0; + if (!($57)) { + $61 = ((($58)) + 68|0); + HEAP8[$61>>0] = 0; + $62 = HEAP32[$2>>2]|0; + $63 = ((($62)) + 120|0); + $64 = HEAP32[$63>>2]|0; + $65 = ((($64)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = HEAP32[$2>>2]|0; + $68 = ((($67)) + 69|0); + HEAP8[$68>>0] = $66; + break; + } + $59 = ((($58)) + 66|0); + HEAP8[$59>>0] = 0; + $60 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $60; + $132 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($132|0); + } + } while(0); + $69 = HEAP32[$2>>2]|0; + $70 = ((($69)) + 120|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$3>>2] = $71; + $72 = HEAP32[$3>>2]|0; + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = ($74|0)==(0); + if (!($75)) { + $76 = HEAP32[$2>>2]|0; + $77 = ((($76)) + 72|0); + $78 = HEAP32[$77>>2]|0; + $79 = ($78|0)==(0|0); + $80 = $79&1; + $81 = HEAP32[$3>>2]|0; + $82 = ((($81)) + 2|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = ($80|0)!=($84|0); + if (!($85)) { + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 80|0); + HEAP16[$88>>1] = 0; + $89 = HEAP32[$2>>2]|0; + $90 = ((($89)) + 16|0); + $91 = ((($90)) + 18|0); + HEAP16[$91>>1] = 0; + $92 = HEAP32[$2>>2]|0; + $93 = ((($92)) + 64|0); + $94 = HEAP8[$93>>0]|0; + $95 = $94&255; + $96 = $95 & -15; + $97 = $96&255; + HEAP8[$93>>0] = $97; + $98 = HEAP32[$3>>2]|0; + $99 = ((($98)) + 18|0); + $100 = HEAP16[$99>>1]|0; + $101 = $100&65535; + $102 = ($101|0)>(0); + do { + if ($102) { + $103 = HEAP32[$2>>2]|0; + $104 = ((($103)) + 66|0); + HEAP8[$104>>0] = 1; + } else { + $105 = HEAP32[$3>>2]|0; + $106 = ((($105)) + 4|0); + $107 = HEAP8[$106>>0]|0; + $108 = ($107<<24>>24)!=(0); + if ($108) { + $129 = HEAP32[$2>>2]|0; + $130 = ((($129)) + 66|0); + HEAP8[$130>>0] = 0; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = ((($109)) + 84|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)!=(1); + if (!($112)) { + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + 56|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$3>>2]|0; + $118 = ((($117)) + 5|0); + $119 = HEAP8[$118>>0]|0; + $120 = $119&255; + $121 = (($120) + 8)|0; + $122 = (($116) + ($121)|0); + $123 = (_sqlite3Get4byte($122)|0); + HEAP32[$5>>2] = $123; + $124 = HEAP32[$2>>2]|0; + $125 = ((($124)) + 66|0); + HEAP8[$125>>0] = 1; + $126 = HEAP32[$2>>2]|0; + $127 = HEAP32[$5>>2]|0; + $128 = (_moveToChild($126,$127)|0); + HEAP32[$4>>2] = $128; + break; + } + $113 = (_sqlite3CorruptError(63147)|0); + HEAP32[$1>>2] = $113; + $132 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($132|0); + } + } while(0); + $131 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $131; + $132 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($132|0); } } - $208 = HEAP32[$eDest>>2]|0; - L51: do { - switch ($208|0) { + $86 = (_sqlite3CorruptError(63136)|0); + HEAP32[$1>>2] = $86; + $132 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($132|0); +} +function _vdbeRecordCompareInt($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 16|0; + $12 = sp + 8|0; + $13 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $17 & 63; + $19 = (($14) + ($18)|0); + HEAP32[$7>>2] = $19; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + HEAP32[$8>>2] = $23; + $24 = HEAP32[$8>>2]|0; + do { + switch ($24|0) { case 1: { - $209 = HEAP32[$0>>2]|0; - $210 = (_sqlite3GetTempReg($209)|0); - HEAP32[$r1>>2] = $210; - $211 = HEAP32[$v>>2]|0; - $212 = HEAP32[$regResult>>2]|0; - $213 = HEAP32[$nResultCol>>2]|0; - $214 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($211,99,$212,$213,$214)|0); - $215 = HEAP32[$v>>2]|0; - $216 = HEAP32[$iParm>>2]|0; - $217 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp2($215,126,$216,$217)|0); - $218 = HEAP32[$0>>2]|0; - $219 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($218,$219); + $25 = HEAP32[$7>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($27|0)<(0); + $29 = $28 << 31 >> 31; + $30 = $13; + $31 = $30; + HEAP32[$31>>2] = $27; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; break; } case 2: { - $220 = HEAP32[$v>>2]|0; - $221 = HEAP32[$iParm>>2]|0; - $222 = HEAP32[$regResult>>2]|0; - $223 = HEAP32[$nResultCol>>2]|0; - (_sqlite3VdbeAddOp3($220,127,$221,$222,$223)|0); + $34 = HEAP32[$7>>2]|0; + $35 = HEAP8[$34>>0]|0; + $36 = $35 << 24 >> 24; + $37 = $36<<8; + $38 = HEAP32[$7>>2]|0; + $39 = ((($38)) + 1|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $37 | $41; + $43 = ($42|0)<(0); + $44 = $43 << 31 >> 31; + $45 = $13; + $46 = $45; + HEAP32[$46>>2] = $42; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $44; break; } - case 12: case 14: case 6: case 5: { - $224 = HEAP32[$0>>2]|0; - $225 = HEAP32[$nPrefixReg>>2]|0; - $226 = (($225) + 1)|0; - $227 = (_sqlite3GetTempRange($224,$226)|0); - HEAP32[$r11>>2] = $227; - $228 = HEAP32[$v>>2]|0; - $229 = HEAP32[$regResult>>2]|0; - $230 = HEAP32[$nResultCol>>2]|0; - $231 = HEAP32[$r11>>2]|0; - $232 = HEAP32[$nPrefixReg>>2]|0; - $233 = (($231) + ($232))|0; - (_sqlite3VdbeAddOp3($228,99,$229,$230,$233)|0); - $234 = HEAP32[$eDest>>2]|0; - $235 = ($234|0)==(6); - if ($235) { - $236 = HEAP32[$v>>2]|0; - $237 = (_sqlite3VdbeCurrentAddr($236)|0); - $238 = (($237) + 4)|0; - HEAP32[$addr>>2] = $238; - $239 = HEAP32[$v>>2]|0; - $240 = HEAP32[$iParm>>2]|0; - $241 = (($240) + 1)|0; - $242 = HEAP32[$addr>>2]|0; - $243 = HEAP32[$r11>>2]|0; - (_sqlite3VdbeAddOp4Int($239,31,$241,$242,$243,0)|0); - $244 = HEAP32[$v>>2]|0; - $245 = HEAP32[$iParm>>2]|0; - $246 = (($245) + 1)|0; - $247 = HEAP32[$r11>>2]|0; - (_sqlite3VdbeAddOp2($244,126,$246,$247)|0); - } - $248 = HEAP32[$4>>2]|0; - $249 = ($248|0)!=(0|0); - $250 = HEAP32[$0>>2]|0; - if ($249) { - $251 = HEAP32[$4>>2]|0; - $252 = HEAP32[$1>>2]|0; - $253 = HEAP32[$r11>>2]|0; - $254 = HEAP32[$nPrefixReg>>2]|0; - $255 = (($253) + ($254))|0; - $256 = HEAP32[$regResult>>2]|0; - $257 = HEAP32[$nPrefixReg>>2]|0; - _pushOntoSorter($250,$251,$252,$255,$256,1,$257); - } else { - $258 = (_sqlite3GetTempReg($250)|0); - HEAP32[$r2>>2] = $258; - $259 = HEAP32[$v>>2]|0; - $260 = HEAP32[$iParm>>2]|0; - $261 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp2($259,114,$260,$261)|0); - $262 = HEAP32[$v>>2]|0; - $263 = HEAP32[$iParm>>2]|0; - $264 = HEAP32[$r11>>2]|0; - $265 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp3($262,115,$263,$264,$265)|0); - $266 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($266,8); - $267 = HEAP32[$0>>2]|0; - $268 = HEAP32[$r2>>2]|0; - _sqlite3ReleaseTempReg($267,$268); - } - $269 = HEAP32[$0>>2]|0; - $270 = HEAP32[$r11>>2]|0; - $271 = HEAP32[$nPrefixReg>>2]|0; - $272 = (($271) + 1)|0; - _sqlite3ReleaseTempRange($269,$270,$272); + case 3: { + $49 = HEAP32[$7>>2]|0; + $50 = HEAP8[$49>>0]|0; + $51 = $50 << 24 >> 24; + $52 = $51<<16; + $53 = HEAP32[$7>>2]|0; + $54 = ((($53)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = $56 << 8; + $58 = $52 | $57; + $59 = HEAP32[$7>>2]|0; + $60 = ((($59)) + 2|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = $58 | $62; + $64 = ($63|0)<(0); + $65 = $64 << 31 >> 31; + $66 = $13; + $67 = $66; + HEAP32[$67>>2] = $63; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; break; } - case 11: { - $273 = HEAP32[$4>>2]|0; - $274 = ($273|0)!=(0|0); - $275 = HEAP32[$0>>2]|0; - if ($274) { - $276 = HEAP32[$4>>2]|0; - $277 = HEAP32[$1>>2]|0; - $278 = HEAP32[$regResult>>2]|0; - $279 = HEAP32[$regResult>>2]|0; - $280 = HEAP32[$nResultCol>>2]|0; - $281 = HEAP32[$nPrefixReg>>2]|0; - _pushOntoSorter($275,$276,$277,$278,$279,$280,$281); - break L51; - } else { - $282 = (_sqlite3GetTempReg($275)|0); - HEAP32[$r12>>2] = $282; - $283 = HEAP32[$v>>2]|0; - $284 = HEAP32[$regResult>>2]|0; - $285 = HEAP32[$nResultCol>>2]|0; - $286 = HEAP32[$r12>>2]|0; - $287 = HEAP32[$6>>2]|0; - $288 = ((($287)) + 4|0); - $289 = HEAP32[$288>>2]|0; - $290 = HEAP32[$nResultCol>>2]|0; - (_sqlite3VdbeAddOp4($283,99,$284,$285,$286,$289,$290)|0); - $291 = HEAP32[$0>>2]|0; - $292 = HEAP32[$regResult>>2]|0; - $293 = HEAP32[$nResultCol>>2]|0; - _sqlite3ExprCacheAffinityChange($291,$292,$293); - $294 = HEAP32[$v>>2]|0; - $295 = HEAP32[$iParm>>2]|0; - $296 = HEAP32[$r12>>2]|0; - (_sqlite3VdbeAddOp2($294,126,$295,$296)|0); - $297 = HEAP32[$0>>2]|0; - $298 = HEAP32[$r12>>2]|0; - _sqlite3ReleaseTempReg($297,$298); - break L51; - } + case 4: { + $70 = HEAP32[$7>>2]|0; + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = $72 << 24; + $74 = HEAP32[$7>>2]|0; + $75 = ((($74)) + 1|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = $77 << 16; + $79 = $73 | $78; + $80 = HEAP32[$7>>2]|0; + $81 = ((($80)) + 2|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 << 8; + $85 = $79 | $84; + $86 = HEAP32[$7>>2]|0; + $87 = ((($86)) + 3|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = $85 | $89; + HEAP32[$10>>2] = $90; + $91 = HEAP32[$10>>2]|0; + $92 = ($91|0)<(0); + $93 = $92 << 31 >> 31; + $94 = $13; + $95 = $94; + HEAP32[$95>>2] = $91; + $96 = (($94) + 4)|0; + $97 = $96; + HEAP32[$97>>2] = $93; break; } - case 3: { - $299 = HEAP32[$v>>2]|0; - $300 = HEAP32[$iParm>>2]|0; - (_sqlite3VdbeAddOp2($299,76,1,$300)|0); + case 5: { + $98 = HEAP32[$7>>2]|0; + $99 = ((($98)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100&255; + $102 = $101 << 24; + $103 = HEAP32[$7>>2]|0; + $104 = ((($103)) + 2|0); + $105 = ((($104)) + 1|0); + $106 = HEAP8[$105>>0]|0; + $107 = $106&255; + $108 = $107 << 16; + $109 = $102 | $108; + $110 = HEAP32[$7>>2]|0; + $111 = ((($110)) + 2|0); + $112 = ((($111)) + 2|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $115 = $114 << 8; + $116 = $109 | $115; + $117 = HEAP32[$7>>2]|0; + $118 = ((($117)) + 2|0); + $119 = ((($118)) + 3|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = $116 | $121; + $123 = HEAP32[$7>>2]|0; + $124 = HEAP8[$123>>0]|0; + $125 = $124 << 24 >> 24; + $126 = $125<<8; + $127 = HEAP32[$7>>2]|0; + $128 = ((($127)) + 1|0); + $129 = HEAP8[$128>>0]|0; + $130 = $129&255; + $131 = $126 | $130; + $132 = ($131|0)<(0); + $133 = $132 << 31 >> 31; + $134 = (___muldi3(0,1,($131|0),($133|0))|0); + $135 = tempRet0; + $136 = (_i64Add(($122|0),0,($134|0),($135|0))|0); + $137 = tempRet0; + $138 = $13; + $139 = $138; + HEAP32[$139>>2] = $136; + $140 = (($138) + 4)|0; + $141 = $140; + HEAP32[$141>>2] = $137; break; } - case 10: { - $301 = HEAP32[$4>>2]|0; - $302 = ($301|0)!=(0|0); - if ($302) { - $303 = HEAP32[$0>>2]|0; - $304 = HEAP32[$4>>2]|0; - $305 = HEAP32[$1>>2]|0; - $306 = HEAP32[$regResult>>2]|0; - $307 = HEAP32[$regResult>>2]|0; - $308 = HEAP32[$nResultCol>>2]|0; - $309 = HEAP32[$nPrefixReg>>2]|0; - _pushOntoSorter($303,$304,$305,$306,$307,$308,$309); - } + case 6: { + $142 = HEAP32[$7>>2]|0; + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $145 = $144 << 24; + $146 = HEAP32[$7>>2]|0; + $147 = ((($146)) + 1|0); + $148 = HEAP8[$147>>0]|0; + $149 = $148&255; + $150 = $149 << 16; + $151 = $145 | $150; + $152 = HEAP32[$7>>2]|0; + $153 = ((($152)) + 2|0); + $154 = HEAP8[$153>>0]|0; + $155 = $154&255; + $156 = $155 << 8; + $157 = $151 | $156; + $158 = HEAP32[$7>>2]|0; + $159 = ((($158)) + 3|0); + $160 = HEAP8[$159>>0]|0; + $161 = $160&255; + $162 = $157 | $161; + $163 = $11; + $164 = $163; + HEAP32[$164>>2] = $162; + $165 = (($163) + 4)|0; + $166 = $165; + HEAP32[$166>>2] = 0; + $167 = $11; + $168 = $167; + $169 = HEAP32[$168>>2]|0; + $170 = (($167) + 4)|0; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = HEAP32[$7>>2]|0; + $174 = ((($173)) + 4|0); + $175 = HEAP8[$174>>0]|0; + $176 = $175&255; + $177 = $176 << 24; + $178 = HEAP32[$7>>2]|0; + $179 = ((($178)) + 4|0); + $180 = ((($179)) + 1|0); + $181 = HEAP8[$180>>0]|0; + $182 = $181&255; + $183 = $182 << 16; + $184 = $177 | $183; + $185 = HEAP32[$7>>2]|0; + $186 = ((($185)) + 4|0); + $187 = ((($186)) + 2|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = $189 << 8; + $191 = $184 | $190; + $192 = HEAP32[$7>>2]|0; + $193 = ((($192)) + 4|0); + $194 = ((($193)) + 3|0); + $195 = HEAP8[$194>>0]|0; + $196 = $195&255; + $197 = $191 | $196; + $198 = $11; + $199 = $198; + HEAP32[$199>>2] = $197; + $200 = (($198) + 4)|0; + $201 = $200; + HEAP32[$201>>2] = $169; + $202 = $11; + $203 = $202; + $204 = HEAP32[$203>>2]|0; + $205 = (($202) + 4)|0; + $206 = $205; + $207 = HEAP32[$206>>2]|0; + $208 = $13; + $209 = $208; + HEAP32[$209>>2] = $204; + $210 = (($208) + 4)|0; + $211 = $210; + HEAP32[$211>>2] = $207; break; } - case 9: case 13: { - $310 = HEAP32[$4>>2]|0; - $311 = ($310|0)!=(0|0); - if ($311) { - $312 = HEAP32[$0>>2]|0; - $313 = HEAP32[$4>>2]|0; - $314 = HEAP32[$1>>2]|0; - $315 = HEAP32[$regResult>>2]|0; - $316 = HEAP32[$regResult>>2]|0; - $317 = HEAP32[$nResultCol>>2]|0; - $318 = HEAP32[$nPrefixReg>>2]|0; - _pushOntoSorter($312,$313,$314,$315,$316,$317,$318); - break L51; - } - $319 = HEAP32[$eDest>>2]|0; - $320 = ($319|0)==(13); - $321 = HEAP32[$v>>2]|0; - if ($320) { - $322 = HEAP32[$6>>2]|0; - $323 = ((($322)) + 8|0); - $324 = HEAP32[$323>>2]|0; - (_sqlite3VdbeAddOp1($321,16,$324)|0); - break L51; - } else { - $325 = HEAP32[$regResult>>2]|0; - $326 = HEAP32[$nResultCol>>2]|0; - (_sqlite3VdbeAddOp2($321,87,$325,$326)|0); - $327 = HEAP32[$0>>2]|0; - $328 = HEAP32[$regResult>>2]|0; - $329 = HEAP32[$nResultCol>>2]|0; - _sqlite3ExprCacheAffinityChange($327,$328,$329); - break L51; - } + case 8: { + $212 = $13; + $213 = $212; + HEAP32[$213>>2] = 0; + $214 = (($212) + 4)|0; + $215 = $214; + HEAP32[$215>>2] = 0; break; } - case 7: case 8: { - HEAP32[$addrTest>>2] = 0; - $330 = HEAP32[$6>>2]|0; - $331 = ((($330)) + 20|0); - $332 = HEAP32[$331>>2]|0; - HEAP32[$pSO>>2] = $332; - $333 = HEAP32[$pSO>>2]|0; - $334 = HEAP32[$333>>2]|0; - HEAP32[$nKey>>2] = $334; - $335 = HEAP32[$0>>2]|0; - $336 = (_sqlite3GetTempReg($335)|0); - HEAP32[$r13>>2] = $336; - $337 = HEAP32[$0>>2]|0; - $338 = HEAP32[$nKey>>2]|0; - $339 = (($338) + 2)|0; - $340 = (_sqlite3GetTempRange($337,$339)|0); - HEAP32[$r24>>2] = $340; - $341 = HEAP32[$r24>>2]|0; - $342 = HEAP32[$nKey>>2]|0; - $343 = (($341) + ($342))|0; - $344 = (($343) + 1)|0; - HEAP32[$r3>>2] = $344; - $345 = HEAP32[$eDest>>2]|0; - $346 = ($345|0)==(8); - if ($346) { - $347 = HEAP32[$v>>2]|0; - $348 = HEAP32[$iParm>>2]|0; - $349 = (($348) + 1)|0; - $350 = HEAP32[$regResult>>2]|0; - $351 = HEAP32[$nResultCol>>2]|0; - $352 = (_sqlite3VdbeAddOp4Int($347,31,$349,0,$350,$351)|0); - HEAP32[$addrTest>>2] = $352; - } - $353 = HEAP32[$v>>2]|0; - $354 = HEAP32[$regResult>>2]|0; - $355 = HEAP32[$nResultCol>>2]|0; - $356 = HEAP32[$r3>>2]|0; - (_sqlite3VdbeAddOp3($353,99,$354,$355,$356)|0); - $357 = HEAP32[$eDest>>2]|0; - $358 = ($357|0)==(8); - if ($358) { - $359 = HEAP32[$v>>2]|0; - $360 = HEAP32[$iParm>>2]|0; - $361 = (($360) + 1)|0; - $362 = HEAP32[$r3>>2]|0; - (_sqlite3VdbeAddOp2($359,126,$361,$362)|0); - $363 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($363,16); - } - HEAP32[$i>>2] = 0; - while(1) { - $364 = HEAP32[$i>>2]|0; - $365 = HEAP32[$nKey>>2]|0; - $366 = ($364|0)<($365|0); - $367 = HEAP32[$v>>2]|0; - if (!($366)) { - break; - } - $368 = HEAP32[$regResult>>2]|0; - $369 = HEAP32[$i>>2]|0; - $370 = HEAP32[$pSO>>2]|0; - $371 = ((($370)) + 4|0); - $372 = HEAP32[$371>>2]|0; - $373 = (($372) + (($369*20)|0)|0); - $374 = ((($373)) + 16|0); - $375 = HEAP16[$374>>1]|0; - $376 = $375&65535; - $377 = (($368) + ($376))|0; - $378 = (($377) - 1)|0; - $379 = HEAP32[$r24>>2]|0; - $380 = HEAP32[$i>>2]|0; - $381 = (($379) + ($380))|0; - (_sqlite3VdbeAddOp2($367,85,$378,$381)|0); - $382 = HEAP32[$i>>2]|0; - $383 = (($382) + 1)|0; - HEAP32[$i>>2] = $383; - } - $384 = HEAP32[$iParm>>2]|0; - $385 = HEAP32[$r24>>2]|0; - $386 = HEAP32[$nKey>>2]|0; - $387 = (($385) + ($386))|0; - (_sqlite3VdbeAddOp2($367,113,$384,$387)|0); - $388 = HEAP32[$v>>2]|0; - $389 = HEAP32[$r24>>2]|0; - $390 = HEAP32[$nKey>>2]|0; - $391 = (($390) + 2)|0; - $392 = HEAP32[$r13>>2]|0; - (_sqlite3VdbeAddOp3($388,99,$389,$391,$392)|0); - $393 = HEAP32[$v>>2]|0; - $394 = HEAP32[$iParm>>2]|0; - $395 = HEAP32[$r13>>2]|0; - (_sqlite3VdbeAddOp2($393,126,$394,$395)|0); - $396 = HEAP32[$addrTest>>2]|0; - $397 = ($396|0)!=(0); - if ($397) { - $398 = HEAP32[$v>>2]|0; - $399 = HEAP32[$addrTest>>2]|0; - _sqlite3VdbeJumpHere($398,$399); - } - $400 = HEAP32[$0>>2]|0; - $401 = HEAP32[$r13>>2]|0; - _sqlite3ReleaseTempReg($400,$401); - $402 = HEAP32[$0>>2]|0; - $403 = HEAP32[$r24>>2]|0; - $404 = HEAP32[$nKey>>2]|0; - $405 = (($404) + 2)|0; - _sqlite3ReleaseTempRange($402,$403,$405); + case 9: { + $216 = $13; + $217 = $216; + HEAP32[$217>>2] = 1; + $218 = (($216) + 4)|0; + $219 = $218; + HEAP32[$219>>2] = 0; + break; + } + case 7: case 0: { + $220 = HEAP32[$4>>2]|0; + $221 = HEAP32[$5>>2]|0; + $222 = HEAP32[$6>>2]|0; + $223 = (_sqlite3VdbeRecordCompare($220,$221,$222)|0); + HEAP32[$3>>2] = $223; + $298 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($298|0); break; } default: { + $224 = HEAP32[$4>>2]|0; + $225 = HEAP32[$5>>2]|0; + $226 = HEAP32[$6>>2]|0; + $227 = (_sqlite3VdbeRecordCompare($224,$225,$226)|0); + HEAP32[$3>>2] = $227; + $298 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($298|0); } } } while(0); - $406 = HEAP32[$4>>2]|0; - $407 = ($406|0)==(0|0); - if (!($407)) { - STACKTOP = sp;return; - } - $408 = HEAP32[$1>>2]|0; - $409 = ((($408)) + 12|0); - $410 = HEAP32[$409>>2]|0; - $411 = ($410|0)!=(0); - if (!($411)) { - STACKTOP = sp;return; - } - $412 = HEAP32[$v>>2]|0; - $413 = HEAP32[$1>>2]|0; - $414 = ((($413)) + 12|0); - $415 = HEAP32[$414>>2]|0; - $416 = HEAP32[$8>>2]|0; - (_sqlite3VdbeAddOp2($412,68,$415,$416)|0); - STACKTOP = sp;return; -} -function _sqlite3ExprAnalyzeAggList($pNC,$pList) { - $pNC = $pNC|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pItem = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pItem = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pNC; - HEAP32[$1>>2] = $pList; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pItem>>2] = $6; - HEAP32[$i>>2] = 0; - while(1) { - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = ($7|0)<($9|0); - if (!($10)) { - break; + $228 = HEAP32[$6>>2]|0; + $229 = ((($228)) + 4|0); + $230 = HEAP32[$229>>2]|0; + $231 = $230; + $232 = $231; + $233 = HEAP32[$232>>2]|0; + $234 = (($231) + 4)|0; + $235 = $234; + $236 = HEAP32[$235>>2]|0; + $237 = $12; + $238 = $237; + HEAP32[$238>>2] = $233; + $239 = (($237) + 4)|0; + $240 = $239; + HEAP32[$240>>2] = $236; + $241 = $12; + $242 = $241; + $243 = HEAP32[$242>>2]|0; + $244 = (($241) + 4)|0; + $245 = $244; + $246 = HEAP32[$245>>2]|0; + $247 = $13; + $248 = $247; + $249 = HEAP32[$248>>2]|0; + $250 = (($247) + 4)|0; + $251 = $250; + $252 = HEAP32[$251>>2]|0; + $253 = ($246|0)>($252|0); + $254 = ($243>>>0)>($249>>>0); + $255 = ($246|0)==($252|0); + $256 = $255 & $254; + $257 = $253 | $256; + do { + if ($257) { + $258 = HEAP32[$6>>2]|0; + $259 = ((($258)) + 12|0); + $260 = HEAP8[$259>>0]|0; + $261 = $260 << 24 >> 24; + HEAP32[$9>>2] = $261; + } else { + $262 = $12; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = (($262) + 4)|0; + $266 = $265; + $267 = HEAP32[$266>>2]|0; + $268 = $13; + $269 = $268; + $270 = HEAP32[$269>>2]|0; + $271 = (($268) + 4)|0; + $272 = $271; + $273 = HEAP32[$272>>2]|0; + $274 = ($267|0)<($273|0); + $275 = ($264>>>0)<($270>>>0); + $276 = ($267|0)==($273|0); + $277 = $276 & $275; + $278 = $274 | $277; + $279 = HEAP32[$6>>2]|0; + if ($278) { + $280 = ((($279)) + 13|0); + $281 = HEAP8[$280>>0]|0; + $282 = $281 << 24 >> 24; + HEAP32[$9>>2] = $282; + break; + } + $283 = ((($279)) + 8|0); + $284 = HEAP16[$283>>1]|0; + $285 = $284&65535; + $286 = ($285|0)>(1); + if ($286) { + $287 = HEAP32[$4>>2]|0; + $288 = HEAP32[$5>>2]|0; + $289 = HEAP32[$6>>2]|0; + $290 = (_sqlite3VdbeRecordCompareWithSkip($287,$288,$289,1)|0); + HEAP32[$9>>2] = $290; + break; + } else { + $291 = HEAP32[$6>>2]|0; + $292 = ((($291)) + 10|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293 << 24 >> 24; + HEAP32[$9>>2] = $294; + $295 = HEAP32[$6>>2]|0; + $296 = ((($295)) + 14|0); + HEAP8[$296>>0] = 1; + break; + } } - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$pItem>>2]|0; - $13 = HEAP32[$12>>2]|0; - _sqlite3ExprAnalyzeAggregates($11,$13); - $14 = HEAP32[$i>>2]|0; - $15 = (($14) + 1)|0; - HEAP32[$i>>2] = $15; - $16 = HEAP32[$pItem>>2]|0; - $17 = ((($16)) + 20|0); - HEAP32[$pItem>>2] = $17; - } - STACKTOP = sp;return; + } while(0); + $297 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $297; + $298 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($298|0); } -function _sqlite3ExprAnalyzeAggregates($pNC,$pExpr) { - $pNC = $pNC|0; - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $w = 0, label = 0, sp = 0; +function _vdbeRecordCompareString($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $w = sp; - HEAP32[$0>>2] = $pNC; - HEAP32[$1>>2] = $pExpr; - ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0;HEAP32[$w+24>>2]=0|0; - $2 = ((($w)) + 4|0); - HEAP32[$2>>2] = 203; - $3 = ((($w)) + 8|0); - HEAP32[$3>>2] = 204; - $4 = HEAP32[$0>>2]|0; - $5 = ((($w)) + 24|0); - HEAP32[$5>>2] = $4; - $6 = HEAP32[$1>>2]|0; - (_sqlite3WalkExpr($w,$6)|0); - STACKTOP = sp;return; -} -function _explainTempTable($pParse,$zUsage) { - $pParse = $pParse|0; - $zUsage = $zUsage|0; - var $0 = 0, $1 = 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, $v = 0; - var $vararg_buffer = 0, $zMsg = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 16|0; - $1 = sp + 12|0; - $v = sp + 8|0; - $zMsg = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $zUsage; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 409|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(2); - if (!($6)) { - STACKTOP = sp;return; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $13 = HEAP32[$5>>2]|0; + HEAP32[$7>>2] = $13; + $14 = HEAP32[$7>>2]|0; + $15 = ((($14)) + 1|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = ($17|0)<(128); + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 1|0); + if ($18) { + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + HEAP32[$8>>2] = $22; + } else { + (_sqlite3GetVarint32($20,$8)|0); } - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$v>>2] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $12; - $13 = (_sqlite3MPrintf($11,35808,$vararg_buffer)|0); - HEAP32[$zMsg>>2] = $13; - $14 = HEAP32[$v>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 420|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$zMsg>>2]|0; - (_sqlite3VdbeAddOp4($14,162,$17,0,0,$18,-1)|0); - STACKTOP = sp;return; + $23 = HEAP32[$8>>2]|0; + $24 = ($23|0)<(12); + do { + if ($24) { + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + HEAP32[$9>>2] = $28; + } else { + $29 = HEAP32[$8>>2]|0; + $30 = $29 & 1; + $31 = ($30|0)!=(0); + if (!($31)) { + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 13|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34 << 24 >> 24; + HEAP32[$9>>2] = $35; + break; + } + $36 = HEAP32[$7>>2]|0; + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + HEAP32[$12>>2] = $38; + $39 = HEAP32[$8>>2]|0; + $40 = (($39) - 12)|0; + $41 = (($40|0) / 2)&-1; + HEAP32[$11>>2] = $41; + $42 = HEAP32[$12>>2]|0; + $43 = HEAP32[$11>>2]|0; + $44 = (($42) + ($43))|0; + $45 = HEAP32[$4>>2]|0; + $46 = ($44|0)>($45|0); + if ($46) { + $47 = (_sqlite3CorruptError(74742)|0); + $48 = $47&255; + $49 = HEAP32[$6>>2]|0; + $50 = ((($49)) + 11|0); + HEAP8[$50>>0] = $48; + HEAP32[$3>>2] = 0; + $120 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($120|0); + } + $51 = HEAP32[$6>>2]|0; + $52 = ((($51)) + 4|0); + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$11>>2]|0; + $57 = ($55|0)<($56|0); + if ($57) { + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP32[$59>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $64 = $62; + } else { + $63 = HEAP32[$11>>2]|0; + $64 = $63; + } + HEAP32[$10>>2] = $64; + $65 = HEAP32[$7>>2]|0; + $66 = HEAP32[$12>>2]|0; + $67 = (($65) + ($66)|0); + $68 = HEAP32[$6>>2]|0; + $69 = ((($68)) + 4|0); + $70 = HEAP32[$69>>2]|0; + $71 = ((($70)) + 16|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$10>>2]|0; + $74 = (_memcmp($67,$72,$73)|0); + HEAP32[$9>>2] = $74; + $75 = HEAP32[$9>>2]|0; + $76 = ($75|0)==(0); + if (!($76)) { + $110 = HEAP32[$9>>2]|0; + $111 = ($110|0)>(0); + $112 = HEAP32[$6>>2]|0; + if ($111) { + $113 = ((($112)) + 13|0); + $114 = HEAP8[$113>>0]|0; + $115 = $114 << 24 >> 24; + HEAP32[$9>>2] = $115; + break; + } else { + $116 = ((($112)) + 12|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117 << 24 >> 24; + HEAP32[$9>>2] = $118; + break; + } + } + $77 = HEAP32[$11>>2]|0; + $78 = HEAP32[$6>>2]|0; + $79 = ((($78)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($80)) + 12|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($77) - ($82))|0; + HEAP32[$9>>2] = $83; + $84 = HEAP32[$9>>2]|0; + $85 = ($84|0)==(0); + if ($85) { + $86 = HEAP32[$6>>2]|0; + $87 = ((($86)) + 8|0); + $88 = HEAP16[$87>>1]|0; + $89 = $88&65535; + $90 = ($89|0)>(1); + if ($90) { + $91 = HEAP32[$4>>2]|0; + $92 = HEAP32[$5>>2]|0; + $93 = HEAP32[$6>>2]|0; + $94 = (_sqlite3VdbeRecordCompareWithSkip($91,$92,$93,1)|0); + HEAP32[$9>>2] = $94; + break; + } else { + $95 = HEAP32[$6>>2]|0; + $96 = ((($95)) + 10|0); + $97 = HEAP8[$96>>0]|0; + $98 = $97 << 24 >> 24; + HEAP32[$9>>2] = $98; + $99 = HEAP32[$6>>2]|0; + $100 = ((($99)) + 14|0); + HEAP8[$100>>0] = 1; + break; + } + } else { + $101 = HEAP32[$9>>2]|0; + $102 = ($101|0)>(0); + $103 = HEAP32[$6>>2]|0; + if ($102) { + $104 = ((($103)) + 13|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105 << 24 >> 24; + HEAP32[$9>>2] = $106; + break; + } else { + $107 = ((($103)) + 12|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108 << 24 >> 24; + HEAP32[$9>>2] = $109; + break; + } + } + } + } while(0); + $119 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $119; + $120 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($120|0); } -function _sqlite3WhereIsSorted($pWInfo) { - $pWInfo = $pWInfo|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3VdbeRecordCompare($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWInfo; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 44|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - STACKTOP = sp;return ($4|0); -} -function _sqlite3ExprCodeMove($pParse,$iFrom,$iTo,$nReg) { - $pParse = $pParse|0; - $iFrom = $iFrom|0; - $iTo = $iTo|0; - $nReg = $nReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iFrom; - HEAP32[$2>>2] = $iTo; - HEAP32[$3>>2] = $nReg; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($6,83,$7,$8,$9)|0); - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$3>>2]|0; - _sqlite3ExprCacheRemove($10,$11,$12); - STACKTOP = sp;return; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + $9 = (_sqlite3VdbeRecordCompareWithSkip($6,$7,$8,0)|0); + STACKTOP = sp;return ($9|0); } -function _updateAccumulator($pParse,$pAggInfo) { - $pParse = $pParse|0; - $pAggInfo = $pAggInfo|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 $addrHitTest = 0, $addrNext = 0, $i = 0, $j = 0, $nArg = 0, $pC = 0, $pColl = 0, $pF = 0, $pItem = 0, $pList = 0, $regAgg = 0, $regHit = 0, $v = 0, label = 0, sp = 0; +function _sqlite3VdbeRecordCompareWithSkip($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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.0, $184 = 0, $185 = 0.0, $186 = 0, $187 = 0.0, $188 = 0, $189 = 0.0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0.0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; + var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; + var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $v = sp + 48|0; - $i = sp + 44|0; - $regHit = sp + 40|0; - $addrHitTest = sp + 36|0; - $pF = sp + 32|0; - $pC = sp + 28|0; - $nArg = sp + 24|0; - $addrNext = sp + 20|0; - $regAgg = sp + 16|0; - $pList = sp + 12|0; - $pColl = sp + 8|0; - $pItem = sp + 4|0; - $j = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pAggInfo; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$v>>2] = $4; - HEAP32[$regHit>>2] = 0; - HEAP32[$addrHitTest>>2] = 0; - $5 = HEAP32[$1>>2]|0; - HEAP8[$5>>0] = 1; - HEAP32[$i>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 40|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pF>>2] = $8; - while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 44|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($9|0)<($12|0); - if (!($13)) { - break; - } - HEAP32[$addrNext>>2] = 0; - $14 = HEAP32[$pF>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 20|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$pList>>2] = $17; - $18 = HEAP32[$pList>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$pList>>2]|0; - $21 = HEAP32[$20>>2]|0; - HEAP32[$nArg>>2] = $21; - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$nArg>>2]|0; - $24 = (_sqlite3GetTempRange($22,$23)|0); - HEAP32[$regAgg>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$pList>>2]|0; - $27 = HEAP32[$regAgg>>2]|0; - (_sqlite3ExprCodeExprList($25,$26,$27,0,1)|0); + STACKTOP = STACKTOP + 128|0; + $4 = sp + 124|0; + $5 = sp + 120|0; + $6 = sp + 116|0; + $7 = sp + 112|0; + $8 = sp + 108|0; + $9 = sp + 104|0; + $10 = sp + 100|0; + $11 = sp + 96|0; + $12 = sp + 92|0; + $13 = sp + 88|0; + $14 = sp + 84|0; + $15 = sp + 80|0; + $16 = sp + 76|0; + $17 = sp + 16|0; + $18 = sp + 72|0; + $19 = sp + 68|0; + $20 = sp + 8|0; + $21 = sp; + $22 = sp + 64|0; + $23 = sp + 60|0; + $24 = sp + 56|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$13>>2] = 0; + $25 = HEAP32[$7>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$14>>2] = $27; + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$28>>2]|0; + HEAP32[$15>>2] = $29; + $30 = HEAP32[$6>>2]|0; + HEAP32[$16>>2] = $30; + $31 = HEAP32[$8>>2]|0; + $32 = ($31|0)!=(0); + $33 = HEAP32[$16>>2]|0; + do { + if ($32) { + $34 = ((($33)) + 1|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)<(128); + $38 = HEAP32[$16>>2]|0; + $39 = ((($38)) + 1|0); + if ($37) { + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + HEAP32[$18>>2] = $41; + $45 = 1; + } else { + $42 = (_sqlite3GetVarint32($39,$18)|0); + $43 = $42&255; + $45 = $43; + } + $44 = $45&255; + $46 = $44&255; + $47 = (1 + ($46))|0; + HEAP32[$12>>2] = $47; + $48 = HEAP32[$16>>2]|0; + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + HEAP32[$11>>2] = $50; + $51 = HEAP32[$11>>2]|0; + $52 = HEAP32[$18>>2]|0; + $53 = (_sqlite3VdbeSerialTypeLen($52)|0); + $54 = (($51) + ($53))|0; + HEAP32[$9>>2] = $54; + HEAP32[$10>>2] = 1; + $55 = HEAP32[$14>>2]|0; + $56 = ((($55)) + 40|0); + HEAP32[$14>>2] = $56; } else { - HEAP32[$nArg>>2] = 0; - HEAP32[$regAgg>>2] = 0; - } - $28 = HEAP32[$pF>>2]|0; - $29 = ((($28)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)>=(0); - if ($31) { - $32 = HEAP32[$v>>2]|0; - $33 = (_sqlite3VdbeMakeLabel($32)|0); - HEAP32[$addrNext>>2] = $33; - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$pF>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$addrNext>>2]|0; - $39 = HEAP32[$regAgg>>2]|0; - _codeDistinct($34,$37,$38,1,$39); + $57 = HEAP8[$33>>0]|0; + $58 = $57&255; + $59 = ($58|0)<(128); + $60 = HEAP32[$16>>2]|0; + if ($59) { + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + HEAP32[$11>>2] = $62; + $66 = 1; + } else { + $63 = (_sqlite3GetVarint32($60,$11)|0); + $64 = $63&255; + $66 = $64; + } + $65 = $66&255; + $67 = $65&255; + HEAP32[$12>>2] = $67; + $68 = HEAP32[$11>>2]|0; + HEAP32[$9>>2] = $68; + $69 = HEAP32[$9>>2]|0; + $70 = HEAP32[$5>>2]|0; + $71 = ($69>>>0)>($70>>>0); + if (!($71)) { + HEAP32[$10>>2] = 0; + break; + } + $72 = (_sqlite3CorruptError(74452)|0); + $73 = $72&255; + $74 = HEAP32[$7>>2]|0; + $75 = ((($74)) + 11|0); + HEAP8[$75>>0] = $73; + HEAP32[$4>>2] = 0; + $409 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($409|0); } - $40 = HEAP32[$pF>>2]|0; - $41 = ((($40)) + 4|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($42)) + 2|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = $45 & 32; - $47 = ($46|0)!=(0); - if ($47) { - HEAP32[$pColl>>2] = 0; - HEAP32[$j>>2] = 0; - $48 = HEAP32[$pList>>2]|0; - $49 = ((($48)) + 4|0); - $50 = HEAP32[$49>>2]|0; - HEAP32[$pItem>>2] = $50; - while(1) { - $51 = HEAP32[$pColl>>2]|0; - $52 = ($51|0)!=(0|0); - if ($52) { + } while(0); + L16: while(1) { + $76 = HEAP32[$14>>2]|0; + $77 = ((($76)) + 8|0); + $78 = HEAP16[$77>>1]|0; + $79 = $78&65535; + $80 = $79 & 4; + $81 = ($80|0)!=(0); + do { + if ($81) { + $82 = HEAP32[$16>>2]|0; + $83 = HEAP32[$12>>2]|0; + $84 = (($82) + ($83)|0); + $85 = HEAP8[$84>>0]|0; + $86 = $85&255; + HEAP32[$19>>2] = $86; + $87 = HEAP32[$19>>2]|0; + $88 = ($87>>>0)>=(10); + if ($88) { + HEAP32[$13>>2] = 1; break; } - $53 = HEAP32[$j>>2]|0; - $54 = HEAP32[$nArg>>2]|0; - $55 = ($53|0)<($54|0); - if (!($55)) { + $89 = HEAP32[$19>>2]|0; + $90 = ($89|0)==(0); + if ($90) { + HEAP32[$13>>2] = -1; break; } - $56 = HEAP32[$0>>2]|0; - $57 = HEAP32[$pItem>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = (_sqlite3ExprCollSeq($56,$58)|0); - HEAP32[$pColl>>2] = $59; - $60 = HEAP32[$j>>2]|0; - $61 = (($60) + 1)|0; - HEAP32[$j>>2] = $61; - $62 = HEAP32[$pItem>>2]|0; - $63 = ((($62)) + 20|0); - HEAP32[$pItem>>2] = $63; - } - $64 = HEAP32[$pColl>>2]|0; - $65 = ($64|0)!=(0|0); - if (!($65)) { - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$66>>2]|0; - $68 = ((($67)) + 8|0); - $69 = HEAP32[$68>>2]|0; - HEAP32[$pColl>>2] = $69; - } - $70 = HEAP32[$regHit>>2]|0; - $71 = ($70|0)==(0); - if ($71) { - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 36|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($74|0)!=(0); - if ($75) { - $76 = HEAP32[$0>>2]|0; - $77 = ((($76)) + 44|0); - $78 = HEAP32[$77>>2]|0; - $79 = (($78) + 1)|0; - HEAP32[$77>>2] = $79; - HEAP32[$regHit>>2] = $79; + $91 = HEAP32[$19>>2]|0; + $92 = ($91|0)==(7); + if ($92) { + $93 = HEAP32[$16>>2]|0; + $94 = HEAP32[$9>>2]|0; + $95 = (($93) + ($94)|0); + $96 = HEAP32[$19>>2]|0; + (_sqlite3VdbeSerialGet($95,$96,$17)|0); + $97 = HEAP32[$14>>2]|0; + $98 = $97; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (($98) + 4)|0; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = +HEAPF64[$17>>3]; + $105 = (_sqlite3IntFloatCompare($100,$103,$104)|0); + $106 = (0 - ($105))|0; + HEAP32[$13>>2] = $106; + break; } - } - $80 = HEAP32[$v>>2]|0; - $81 = HEAP32[$regHit>>2]|0; - $82 = HEAP32[$pColl>>2]|0; - (_sqlite3VdbeAddOp4($80,88,$81,0,0,$82,-4)|0); - } - $83 = HEAP32[$v>>2]|0; - $84 = HEAP32[$regAgg>>2]|0; - $85 = HEAP32[$pF>>2]|0; - $86 = ((($85)) + 8|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$pF>>2]|0; - $89 = ((($88)) + 4|0); - $90 = HEAP32[$89>>2]|0; - (_sqlite3VdbeAddOp4($83,147,0,$84,$87,$90,-5)|0); - $91 = HEAP32[$v>>2]|0; - $92 = HEAP32[$nArg>>2]|0; - $93 = $92&255; - _sqlite3VdbeChangeP5($91,$93); - $94 = HEAP32[$0>>2]|0; - $95 = HEAP32[$regAgg>>2]|0; - $96 = HEAP32[$nArg>>2]|0; - _sqlite3ExprCacheAffinityChange($94,$95,$96); - $97 = HEAP32[$0>>2]|0; - $98 = HEAP32[$regAgg>>2]|0; - $99 = HEAP32[$nArg>>2]|0; - _sqlite3ReleaseTempRange($97,$98,$99); - $100 = HEAP32[$addrNext>>2]|0; - $101 = ($100|0)!=(0); - if ($101) { - $102 = HEAP32[$v>>2]|0; - $103 = HEAP32[$addrNext>>2]|0; - _sqlite3VdbeResolveLabel($102,$103); - $104 = HEAP32[$0>>2]|0; - _sqlite3ExprCacheClear($104); - } - $105 = HEAP32[$i>>2]|0; - $106 = (($105) + 1)|0; - HEAP32[$i>>2] = $106; - $107 = HEAP32[$pF>>2]|0; - $108 = ((($107)) + 16|0); - HEAP32[$pF>>2] = $108; - } - $109 = HEAP32[$regHit>>2]|0; - $110 = ($109|0)!=(0); - if ($110) { - $111 = HEAP32[$v>>2]|0; - $112 = HEAP32[$regHit>>2]|0; - $113 = (_sqlite3VdbeAddOp1($111,21,$112)|0); - HEAP32[$addrHitTest>>2] = $113; - } - $114 = HEAP32[$0>>2]|0; - _sqlite3ExprCacheClear($114); - HEAP32[$i>>2] = 0; - $115 = HEAP32[$1>>2]|0; - $116 = ((($115)) + 28|0); - $117 = HEAP32[$116>>2]|0; - HEAP32[$pC>>2] = $117; - while(1) { - $118 = HEAP32[$i>>2]|0; - $119 = HEAP32[$1>>2]|0; - $120 = ((($119)) + 36|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($118|0)<($121|0); - if (!($122)) { - break; - } - $123 = HEAP32[$0>>2]|0; - $124 = HEAP32[$pC>>2]|0; - $125 = ((($124)) + 20|0); - $126 = HEAP32[$125>>2]|0; - $127 = HEAP32[$pC>>2]|0; - $128 = ((($127)) + 16|0); - $129 = HEAP32[$128>>2]|0; - _sqlite3ExprCode($123,$126,$129); - $130 = HEAP32[$i>>2]|0; - $131 = (($130) + 1)|0; - HEAP32[$i>>2] = $131; - $132 = HEAP32[$pC>>2]|0; - $133 = ((($132)) + 24|0); - HEAP32[$pC>>2] = $133; - } - $134 = HEAP32[$1>>2]|0; - HEAP8[$134>>0] = 0; - $135 = HEAP32[$0>>2]|0; - _sqlite3ExprCacheClear($135); - $136 = HEAP32[$addrHitTest>>2]|0; - $137 = ($136|0)!=(0); - if (!($137)) { - STACKTOP = sp;return; - } - $138 = HEAP32[$v>>2]|0; - $139 = HEAP32[$addrHitTest>>2]|0; - _sqlite3VdbeJumpHere($138,$139); - STACKTOP = sp;return; -} -function _finalizeAggFunctions($pParse,$pAggInfo) { - $pParse = $pParse|0; - $pAggInfo = $pAggInfo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pF = 0, $pList = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $v = sp + 12|0; - $i = sp + 8|0; - $pF = sp + 4|0; - $pList = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pAggInfo; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$v>>2] = $4; - HEAP32[$i>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 40|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pF>>2] = $7; - while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 44|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)<($11|0); - if (!($12)) { - break; - } - $13 = HEAP32[$pF>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 20|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pList>>2] = $16; - $17 = HEAP32[$v>>2]|0; - $18 = HEAP32[$pF>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$pList>>2]|0; - $22 = ($21|0)!=(0|0); - if ($22) { - $23 = HEAP32[$pList>>2]|0; - $24 = HEAP32[$23>>2]|0; - $28 = $24; - } else { - $28 = 0; - } - $25 = HEAP32[$pF>>2]|0; - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - (_sqlite3VdbeAddOp4($17,149,$20,$28,0,$27,-5)|0); - $29 = HEAP32[$i>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$i>>2] = $30; - $31 = HEAP32[$pF>>2]|0; - $32 = ((($31)) + 16|0); - HEAP32[$pF>>2] = $32; - } - STACKTOP = sp;return; -} -function _resetAccumulator($pParse,$pAggInfo) { - $pParse = $pParse|0; - $pAggInfo = $pAggInfo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, $nReg = 0, $pE = 0, $pFunc = 0, $pKeyInfo = 0, $v = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $v = sp + 24|0; - $i = sp + 20|0; - $pFunc = sp + 16|0; - $nReg = sp + 12|0; - $pE = sp + 8|0; - $pKeyInfo = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pAggInfo; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$v>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 44|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 32|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($7) + ($10))|0; - HEAP32[$nReg>>2] = $11; - $12 = HEAP32[$nReg>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - STACKTOP = sp;return; - } - $14 = HEAP32[$v>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP32[$19>>2]|0; - (_sqlite3VdbeAddOp3($14,79,0,$17,$20)|0); - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 40|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$pFunc>>2] = $23; - HEAP32[$i>>2] = 0; - while(1) { - $24 = HEAP32[$i>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 44|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($24|0)<($27|0); - if (!($28)) { - break; - } - $29 = HEAP32[$pFunc>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)>=(0); - do { - if ($32) { - $33 = HEAP32[$pFunc>>2]|0; - $34 = HEAP32[$33>>2]|0; - HEAP32[$pE>>2] = $34; - $35 = HEAP32[$pE>>2]|0; - $36 = ((($35)) + 20|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)==(0|0); - if (!($38)) { - $39 = HEAP32[$pE>>2]|0; - $40 = ((($39)) + 20|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)!=(1); - if (!($43)) { - $47 = HEAP32[$0>>2]|0; - $48 = HEAP32[$pE>>2]|0; - $49 = ((($48)) + 20|0); - $50 = HEAP32[$49>>2]|0; - $51 = (_keyInfoFromExprList($47,$50,0,0)|0); - HEAP32[$pKeyInfo>>2] = $51; - $52 = HEAP32[$v>>2]|0; - $53 = HEAP32[$pFunc>>2]|0; - $54 = ((($53)) + 12|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$pKeyInfo>>2]|0; - (_sqlite3VdbeAddOp4($52,107,$55,0,0,$56,-6)|0); + $107 = HEAP32[$19>>2]|0; + $108 = HEAP32[$16>>2]|0; + $109 = HEAP32[$9>>2]|0; + $110 = (($108) + ($109)|0); + $111 = (_vdbeRecordDecodeInt($107,$110)|0); + $112 = tempRet0; + $113 = $20; + $114 = $113; + HEAP32[$114>>2] = $111; + $115 = (($113) + 4)|0; + $116 = $115; + HEAP32[$116>>2] = $112; + $117 = HEAP32[$14>>2]|0; + $118 = $117; + $119 = $118; + $120 = HEAP32[$119>>2]|0; + $121 = (($118) + 4)|0; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = $21; + $125 = $124; + HEAP32[$125>>2] = $120; + $126 = (($124) + 4)|0; + $127 = $126; + HEAP32[$127>>2] = $123; + $128 = $20; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = (($128) + 4)|0; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = $21; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = (($134) + 4)|0; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = ($133|0)<($139|0); + $141 = ($130>>>0)<($136>>>0); + $142 = ($133|0)==($139|0); + $143 = $142 & $141; + $144 = $140 | $143; + if ($144) { + HEAP32[$13>>2] = -1; + break; + } + $145 = $20; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = $21; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = (($151) + 4)|0; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = ($150|0)>($156|0); + $158 = ($147>>>0)>($153>>>0); + $159 = ($150|0)==($156|0); + $160 = $159 & $158; + $161 = $157 | $160; + if ($161) { + HEAP32[$13>>2] = 1; + } + } else { + $162 = HEAP32[$14>>2]|0; + $163 = ((($162)) + 8|0); + $164 = HEAP16[$163>>1]|0; + $165 = $164&65535; + $166 = $165 & 8; + $167 = ($166|0)!=(0); + if ($167) { + $168 = HEAP32[$16>>2]|0; + $169 = HEAP32[$12>>2]|0; + $170 = (($168) + ($169)|0); + $171 = HEAP8[$170>>0]|0; + $172 = $171&255; + HEAP32[$19>>2] = $172; + $173 = HEAP32[$19>>2]|0; + $174 = ($173>>>0)>=(10); + if ($174) { + HEAP32[$13>>2] = 1; break; } - } - $44 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($44,35757,$vararg_buffer); - $45 = HEAP32[$pFunc>>2]|0; - $46 = ((($45)) + 12|0); - HEAP32[$46>>2] = -1; - } - } while(0); - $57 = HEAP32[$i>>2]|0; - $58 = (($57) + 1)|0; - HEAP32[$i>>2] = $58; - $59 = HEAP32[$pFunc>>2]|0; - $60 = ((($59)) + 16|0); - HEAP32[$pFunc>>2] = $60; - } - STACKTOP = sp;return; -} -function _isSimpleCount($p,$pAggInfo) { - $p = $p|0; - $pAggInfo = $pAggInfo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $pExpr = 0, $pTab = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $pTab = sp + 4|0; - $pExpr = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pAggInfo; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(1); - if (!($10)) { - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)!=(1); - if (!($15)) { - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 28|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = ((($19)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0|0); - if (!($22)) { - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 28|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($25)) + 8|0); - $27 = ((($26)) + 16|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$pTab>>2] = $28; - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$32>>2]|0; - HEAP32[$pExpr>>2] = $33; - $34 = HEAP32[$pTab>>2]|0; - $35 = ((($34)) + 42|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = $37 & 16; - $39 = ($38|0)!=(0); - if ($39) { - HEAP32[$0>>2] = 0; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); + $175 = HEAP32[$19>>2]|0; + $176 = ($175|0)==(0); + if ($176) { + HEAP32[$13>>2] = -1; + break; } - $40 = HEAP32[$pExpr>>2]|0; - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = ($42|0)!=(153); - if ($43) { - HEAP32[$0>>2] = 0; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); + $177 = HEAP32[$16>>2]|0; + $178 = HEAP32[$9>>2]|0; + $179 = (($177) + ($178)|0); + $180 = HEAP32[$19>>2]|0; + (_sqlite3VdbeSerialGet($179,$180,$17)|0); + $181 = HEAP32[$19>>2]|0; + $182 = ($181|0)==(7); + if (!($182)) { + $191 = $17; + $192 = $191; + $193 = HEAP32[$192>>2]|0; + $194 = (($191) + 4)|0; + $195 = $194; + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$14>>2]|0; + $198 = +HEAPF64[$197>>3]; + $199 = (_sqlite3IntFloatCompare($193,$196,$198)|0); + HEAP32[$13>>2] = $199; + break; } - $44 = HEAP32[$2>>2]|0; - $45 = ((($44)) + 44|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - HEAP32[$0>>2] = 0; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); + $183 = +HEAPF64[$17>>3]; + $184 = HEAP32[$14>>2]|0; + $185 = +HEAPF64[$184>>3]; + $186 = $183 < $185; + if ($186) { + HEAP32[$13>>2] = -1; + break; } - $48 = HEAP32[$2>>2]|0; - $49 = ((($48)) + 40|0); - $50 = HEAP32[$49>>2]|0; - $51 = ((($50)) + 4|0); - $52 = HEAP32[$51>>2]|0; - $53 = ((($52)) + 2|0); - $54 = HEAP16[$53>>1]|0; - $55 = $54&65535; - $56 = $55 & 256; - $57 = ($56|0)==(0); - if ($57) { - HEAP32[$0>>2] = 0; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); + $187 = +HEAPF64[$17>>3]; + $188 = HEAP32[$14>>2]|0; + $189 = +HEAPF64[$188>>3]; + $190 = $187 > $189; + if (!($190)) { + break; } - $58 = HEAP32[$pExpr>>2]|0; - $59 = ((($58)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = $60 & 16; - $62 = ($61|0)!=(0); - if ($62) { - HEAP32[$0>>2] = 0; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); + HEAP32[$13>>2] = 1; + break; + } + $200 = HEAP32[$14>>2]|0; + $201 = ((($200)) + 8|0); + $202 = HEAP16[$201>>1]|0; + $203 = $202&65535; + $204 = $203 & 2; + $205 = ($204|0)!=(0); + if ($205) { + $206 = HEAP32[$16>>2]|0; + $207 = HEAP32[$12>>2]|0; + $208 = (($206) + ($207)|0); + $209 = HEAP8[$208>>0]|0; + $210 = $209&255; + $211 = ($210|0)<(128); + $212 = HEAP32[$16>>2]|0; + $213 = HEAP32[$12>>2]|0; + $214 = (($212) + ($213)|0); + if ($211) { + $215 = HEAP8[$214>>0]|0; + $216 = $215&255; + HEAP32[$19>>2] = $216; } else { - $63 = HEAP32[$pTab>>2]|0; - HEAP32[$0>>2] = $63; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); + (_sqlite3GetVarint32($214,$19)|0); + } + $217 = HEAP32[$19>>2]|0; + $218 = ($217>>>0)<(12); + if ($218) { + HEAP32[$13>>2] = -1; + break; + } + $219 = HEAP32[$19>>2]|0; + $220 = $219 & 1; + $221 = ($220|0)!=(0); + if (!($221)) { + HEAP32[$13>>2] = 1; + break; + } + $222 = HEAP32[$19>>2]|0; + $223 = (($222) - 12)|0; + $224 = (($223>>>0) / 2)&-1; + $225 = ((($17)) + 12|0); + HEAP32[$225>>2] = $224; + $226 = HEAP32[$9>>2]|0; + $227 = ((($17)) + 12|0); + $228 = HEAP32[$227>>2]|0; + $229 = (($226) + ($228))|0; + $230 = HEAP32[$5>>2]|0; + $231 = ($229>>>0)>($230>>>0); + if ($231) { + label = 43; + break L16; + } + $236 = HEAP32[$15>>2]|0; + $237 = ((($236)) + 20|0); + $238 = HEAP32[$10>>2]|0; + $239 = (($237) + ($238<<2)|0); + $240 = HEAP32[$239>>2]|0; + $241 = ($240|0)!=(0|0); + if ($241) { + $242 = HEAP32[$15>>2]|0; + $243 = ((($242)) + 4|0); + $244 = HEAP8[$243>>0]|0; + $245 = ((($17)) + 10|0); + HEAP8[$245>>0] = $244; + $246 = HEAP32[$15>>2]|0; + $247 = ((($246)) + 12|0); + $248 = HEAP32[$247>>2]|0; + $249 = ((($17)) + 32|0); + HEAP32[$249>>2] = $248; + $250 = ((($17)) + 8|0); + HEAP16[$250>>1] = 2; + $251 = HEAP32[$16>>2]|0; + $252 = HEAP32[$9>>2]|0; + $253 = (($251) + ($252)|0); + $254 = ((($17)) + 16|0); + HEAP32[$254>>2] = $253; + $255 = HEAP32[$14>>2]|0; + $256 = HEAP32[$15>>2]|0; + $257 = ((($256)) + 20|0); + $258 = HEAP32[$10>>2]|0; + $259 = (($257) + ($258<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = HEAP32[$7>>2]|0; + $262 = ((($261)) + 11|0); + $263 = (_vdbeCompareMemString($17,$255,$260,$262)|0); + HEAP32[$13>>2] = $263; + break; + } + $264 = ((($17)) + 12|0); + $265 = HEAP32[$264>>2]|0; + $266 = HEAP32[$14>>2]|0; + $267 = ((($266)) + 12|0); + $268 = HEAP32[$267>>2]|0; + $269 = ($265|0)<($268|0); + $270 = HEAP32[$14>>2]|0; + $$sink1 = $269 ? $17 : $270; + $271 = ((($$sink1)) + 12|0); + $272 = HEAP32[$271>>2]|0; + HEAP32[$22>>2] = $272; + $273 = HEAP32[$16>>2]|0; + $274 = HEAP32[$9>>2]|0; + $275 = (($273) + ($274)|0); + $276 = HEAP32[$14>>2]|0; + $277 = ((($276)) + 16|0); + $278 = HEAP32[$277>>2]|0; + $279 = HEAP32[$22>>2]|0; + $280 = (_memcmp($275,$278,$279)|0); + HEAP32[$13>>2] = $280; + $281 = HEAP32[$13>>2]|0; + $282 = ($281|0)==(0); + if (!($282)) { + break; } + $283 = ((($17)) + 12|0); + $284 = HEAP32[$283>>2]|0; + $285 = HEAP32[$14>>2]|0; + $286 = ((($285)) + 12|0); + $287 = HEAP32[$286>>2]|0; + $288 = (($284) - ($287))|0; + HEAP32[$13>>2] = $288; + break; } - } - } - } - HEAP32[$0>>2] = 0; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); -} -function _explainSimpleCount($pParse,$pTab,$pIdx) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $pIdx = $pIdx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bCover = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $zEqp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $bCover = sp + 16|0; - $zEqp = sp + 12|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $pIdx; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 409|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(2); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)!=(0|0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 42|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = $13 & 32; - $15 = ($14|0)==(0); - if ($15) { - $24 = 1; - } else { - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 55|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18 & 3; - $20 = $19&255; - $21 = ($20|0)==(2); - $22 = $21 ^ 1; - $24 = $22; - } - } else { - $24 = 0; - } - $23 = $24&1; - HEAP32[$bCover>>2] = $23; - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$bCover>>2]|0; - $30 = ($29|0)!=(0); - $31 = $30 ? 35716 : 18402; - $32 = HEAP32[$bCover>>2]|0; - $33 = ($32|0)!=(0); - if ($33) { - $34 = HEAP32[$2>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = $35; - } else { - $36 = 18402; - } - HEAP32[$vararg_buffer>>2] = $28; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $31; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $36; - $37 = (_sqlite3MPrintf($26,35739,$vararg_buffer)|0); - HEAP32[$zEqp>>2] = $37; - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 420|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$zEqp>>2]|0; - (_sqlite3VdbeAddOp4($40,162,$43,0,0,$44,-1)|0); - STACKTOP = sp;return; -} -function _minMaxQuery($pAggInfo,$ppMinMax) { - $pAggInfo = $pAggInfo|0; - $ppMinMax = $ppMinMax|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $eRet = 0, $pEList = 0, $pExpr = 0, $zFunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $eRet = sp + 12|0; - $pExpr = sp + 8|0; - $pEList = sp + 4|0; - $zFunc = sp; - HEAP32[$0>>2] = $pAggInfo; - HEAP32[$1>>2] = $ppMinMax; - HEAP32[$eRet>>2] = 0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$2>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 44|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(1); - do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 40|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$pExpr>>2] = $10; - $11 = HEAP32[$pExpr>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pEList>>2] = $13; - $14 = HEAP32[$pEList>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$pEList>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(1); - if ($18) { - $19 = HEAP32[$pEList>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = ($24|0)==(154); - if ($25) { - $26 = HEAP32[$pExpr>>2]|0; - $27 = ((($26)) + 8|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$zFunc>>2] = $28; - $29 = HEAP32[$zFunc>>2]|0; - $30 = (_sqlite3StrICmp($29,35708)|0); - $31 = ($30|0)==(0); - if ($31) { - HEAP32[$eRet>>2] = 1; - $32 = HEAP32[$pEList>>2]|0; - $33 = HEAP32[$1>>2]|0; - HEAP32[$33>>2] = $32; - break; + $289 = HEAP32[$14>>2]|0; + $290 = ((($289)) + 8|0); + $291 = HEAP16[$290>>1]|0; + $292 = $291&65535; + $293 = $292 & 16; + $294 = ($293|0)!=(0); + $295 = HEAP32[$16>>2]|0; + $296 = HEAP32[$12>>2]|0; + $297 = (($295) + ($296)|0); + $298 = HEAP8[$297>>0]|0; + $299 = $298&255; + if (!($294)) { + HEAP32[$19>>2] = $299; + $364 = HEAP32[$19>>2]|0; + $365 = ($364|0)!=(0); + $366 = $365&1; + HEAP32[$13>>2] = $366; + break; + } + $300 = ($299|0)<(128); + $301 = HEAP32[$16>>2]|0; + $302 = HEAP32[$12>>2]|0; + $303 = (($301) + ($302)|0); + if ($300) { + $304 = HEAP8[$303>>0]|0; + $305 = $304&255; + HEAP32[$19>>2] = $305; + } else { + (_sqlite3GetVarint32($303,$19)|0); + } + $306 = HEAP32[$19>>2]|0; + $307 = ($306>>>0)<(12); + if (!($307)) { + $308 = HEAP32[$19>>2]|0; + $309 = $308 & 1; + $310 = ($309|0)!=(0); + if (!($310)) { + $311 = HEAP32[$19>>2]|0; + $312 = (($311) - 12)|0; + $313 = (($312>>>0) / 2)&-1; + HEAP32[$23>>2] = $313; + $314 = HEAP32[$9>>2]|0; + $315 = HEAP32[$23>>2]|0; + $316 = (($314) + ($315))|0; + $317 = HEAP32[$5>>2]|0; + $318 = ($316>>>0)>($317>>>0); + if ($318) { + label = 56; + break L16; + } + $323 = HEAP32[$14>>2]|0; + $324 = ((($323)) + 8|0); + $325 = HEAP16[$324>>1]|0; + $326 = $325&65535; + $327 = $326 & 16384; + $328 = ($327|0)!=(0); + if ($328) { + $329 = HEAP32[$16>>2]|0; + $330 = HEAP32[$9>>2]|0; + $331 = (($329) + ($330)|0); + $332 = HEAP32[$23>>2]|0; + $333 = (_isAllZero($331,$332)|0); + $334 = ($333|0)!=(0); + if ($334) { + $335 = HEAP32[$23>>2]|0; + $336 = HEAP32[$14>>2]|0; + $337 = HEAP32[$336>>2]|0; + $338 = (($335) - ($337))|0; + HEAP32[$13>>2] = $338; + break; + } else { + HEAP32[$13>>2] = 1; + break; + } + } + $339 = HEAP32[$23>>2]|0; + $340 = HEAP32[$14>>2]|0; + $341 = ((($340)) + 12|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($339|0)<($342|0); + if ($343) { + $344 = HEAP32[$23>>2]|0; + $348 = $344; + } else { + $345 = HEAP32[$14>>2]|0; + $346 = ((($345)) + 12|0); + $347 = HEAP32[$346>>2]|0; + $348 = $347; } - $34 = HEAP32[$zFunc>>2]|0; - $35 = (_sqlite3StrICmp($34,35712)|0); - $36 = ($35|0)==(0); - if ($36) { - HEAP32[$eRet>>2] = 2; - $37 = HEAP32[$pEList>>2]|0; - $38 = HEAP32[$1>>2]|0; - HEAP32[$38>>2] = $37; + HEAP32[$24>>2] = $348; + $349 = HEAP32[$16>>2]|0; + $350 = HEAP32[$9>>2]|0; + $351 = (($349) + ($350)|0); + $352 = HEAP32[$14>>2]|0; + $353 = ((($352)) + 16|0); + $354 = HEAP32[$353>>2]|0; + $355 = HEAP32[$24>>2]|0; + $356 = (_memcmp($351,$354,$355)|0); + HEAP32[$13>>2] = $356; + $357 = HEAP32[$13>>2]|0; + $358 = ($357|0)==(0); + if (!($358)) { + break; } + $359 = HEAP32[$23>>2]|0; + $360 = HEAP32[$14>>2]|0; + $361 = ((($360)) + 12|0); + $362 = HEAP32[$361>>2]|0; + $363 = (($359) - ($362))|0; + HEAP32[$13>>2] = $363; + break; } } + HEAP32[$13>>2] = -1; } - } - } while(0); - $39 = HEAP32[$eRet>>2]|0; - $40 = $39&255; - STACKTOP = sp;return ($40|0); -} -function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { - $pParse = $pParse|0; - $p = $p|0; - $pSort = $pSort|0; - $nColumn = $nColumn|0; - $pDest = $pDest|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $addr = 0, $addrBreak = 0, $addrContinue = 0, $addrOnce = 0, $bSeq = 0, $eDest = 0, $i = 0, $iParm = 0, $iSortTab = 0, $iTab = 0, $nKey = 0, $nSortData = 0, $or$cond = 0, $or$cond3 = 0, $pOrderBy = 0, $regRow = 0, $regRowid = 0, $regSortOut = 0, $v = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; - $3 = sp + 72|0; - $4 = sp + 68|0; - $v = sp + 64|0; - $addrBreak = sp + 60|0; - $addrContinue = sp + 56|0; - $addr = sp + 52|0; - $addrOnce = sp + 48|0; - $iTab = sp + 44|0; - $pOrderBy = sp + 40|0; - $eDest = sp + 36|0; - $iParm = sp + 32|0; - $regRow = sp + 28|0; - $regRowid = sp + 24|0; - $nKey = sp + 20|0; - $iSortTab = sp + 16|0; - $nSortData = sp + 12|0; - $i = sp + 8|0; - $bSeq = sp + 4|0; - $regSortOut = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pSort; - HEAP32[$3>>2] = $nColumn; - HEAP32[$4>>2] = $pDest; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$v>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 24|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$addrBreak>>2] = $10; - $11 = HEAP32[$v>>2]|0; - $12 = (_sqlite3VdbeMakeLabel($11)|0); - HEAP32[$addrContinue>>2] = $12; - HEAP32[$addrOnce>>2] = 0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$13>>2]|0; - HEAP32[$pOrderBy>>2] = $14; - $15 = HEAP32[$4>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - HEAP32[$eDest>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$iParm>>2] = $20; - $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 16|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$v>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 16|0); - $31 = HEAP32[$30>>2]|0; - (_sqlite3VdbeAddOp2($25,14,$28,$31)|0); - $32 = HEAP32[$v>>2]|0; - $33 = HEAP32[$addrBreak>>2]|0; - (_sqlite3VdbeGoto($32,$33)|0); - $34 = HEAP32[$v>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 16|0); - $37 = HEAP32[$36>>2]|0; - _sqlite3VdbeResolveLabel($34,$37); - } - $38 = HEAP32[$2>>2]|0; - $39 = ((($38)) + 8|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$iTab>>2] = $40; - $41 = HEAP32[$eDest>>2]|0; - $42 = ($41|0)==(9); - $43 = HEAP32[$eDest>>2]|0; - $44 = ($43|0)==(13); - $or$cond = $42 | $44; - $45 = HEAP32[$eDest>>2]|0; - $46 = ($45|0)==(10); - $or$cond3 = $or$cond | $46; - if ($or$cond3) { - HEAP32[$regRowid>>2] = 0; - $47 = HEAP32[$4>>2]|0; - $48 = ((($47)) + 12|0); - $49 = HEAP32[$48>>2]|0; - HEAP32[$regRow>>2] = $49; - $50 = HEAP32[$3>>2]|0; - HEAP32[$nSortData>>2] = $50; - } else { - $51 = HEAP32[$0>>2]|0; - $52 = (_sqlite3GetTempReg($51)|0); - HEAP32[$regRowid>>2] = $52; - $53 = HEAP32[$0>>2]|0; - $54 = HEAP32[$3>>2]|0; - $55 = (_sqlite3GetTempRange($53,$54)|0); - HEAP32[$regRow>>2] = $55; - $56 = HEAP32[$3>>2]|0; - HEAP32[$nSortData>>2] = $56; - } - $57 = HEAP32[$pOrderBy>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$2>>2]|0; - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($58) - ($61))|0; - HEAP32[$nKey>>2] = $62; - $63 = HEAP32[$2>>2]|0; - $64 = ((($63)) + 28|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = $66 & 1; - $68 = ($67|0)!=(0); - if ($68) { - $69 = HEAP32[$0>>2]|0; - $70 = ((($69)) + 44|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + 1)|0; - HEAP32[$70>>2] = $72; - HEAP32[$regSortOut>>2] = $72; - $73 = HEAP32[$0>>2]|0; - $74 = ((($73)) + 40|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($75) + 1)|0; - HEAP32[$74>>2] = $76; - HEAP32[$iSortTab>>2] = $75; - $77 = HEAP32[$2>>2]|0; - $78 = ((($77)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)!=(0); - if ($80) { - $81 = HEAP32[$v>>2]|0; - $82 = (_sqlite3VdbeAddOp0($81,20)|0); - HEAP32[$addrOnce>>2] = $82; - } - $83 = HEAP32[$v>>2]|0; - $84 = HEAP32[$iSortTab>>2]|0; - $85 = HEAP32[$regSortOut>>2]|0; - $86 = HEAP32[$nKey>>2]|0; - $87 = (($86) + 1)|0; - $88 = HEAP32[$nSortData>>2]|0; - $89 = (($87) + ($88))|0; - (_sqlite3VdbeAddOp3($83,110,$84,$85,$89)|0); - $90 = HEAP32[$addrOnce>>2]|0; - $91 = ($90|0)!=(0); - if ($91) { - $92 = HEAP32[$v>>2]|0; - $93 = HEAP32[$addrOnce>>2]|0; - _sqlite3VdbeJumpHere($92,$93); - } - $94 = HEAP32[$v>>2]|0; - $95 = HEAP32[$iTab>>2]|0; - $96 = HEAP32[$addrBreak>>2]|0; - $97 = (_sqlite3VdbeAddOp2($94,55,$95,$96)|0); - $98 = (1 + ($97))|0; - HEAP32[$addr>>2] = $98; - $99 = HEAP32[$v>>2]|0; - $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 16|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$addrContinue>>2]|0; - _codeOffset($99,$102,$103); - $104 = HEAP32[$v>>2]|0; - $105 = HEAP32[$iTab>>2]|0; - $106 = HEAP32[$regSortOut>>2]|0; - $107 = HEAP32[$iSortTab>>2]|0; - (_sqlite3VdbeAddOp3($104,120,$105,$106,$107)|0); - HEAP32[$bSeq>>2] = 0; - } else { - $108 = HEAP32[$v>>2]|0; - $109 = HEAP32[$iTab>>2]|0; - $110 = HEAP32[$addrBreak>>2]|0; - $111 = (_sqlite3VdbeAddOp2($108,56,$109,$110)|0); - $112 = (1 + ($111))|0; - HEAP32[$addr>>2] = $112; - $113 = HEAP32[$v>>2]|0; - $114 = HEAP32[$1>>2]|0; - $115 = ((($114)) + 16|0); - $116 = HEAP32[$115>>2]|0; - $117 = HEAP32[$addrContinue>>2]|0; - _codeOffset($113,$116,$117); - $118 = HEAP32[$iTab>>2]|0; - HEAP32[$iSortTab>>2] = $118; - HEAP32[$bSeq>>2] = 1; - } - HEAP32[$i>>2] = 0; - while(1) { - $119 = HEAP32[$i>>2]|0; - $120 = HEAP32[$nSortData>>2]|0; - $121 = ($119|0)<($120|0); - if (!($121)) { - break; - } - $122 = HEAP32[$v>>2]|0; - $123 = HEAP32[$iSortTab>>2]|0; - $124 = HEAP32[$nKey>>2]|0; - $125 = HEAP32[$bSeq>>2]|0; - $126 = (($124) + ($125))|0; - $127 = HEAP32[$i>>2]|0; - $128 = (($126) + ($127))|0; - $129 = HEAP32[$regRow>>2]|0; - $130 = HEAP32[$i>>2]|0; - $131 = (($129) + ($130))|0; - (_sqlite3VdbeAddOp3($122,96,$123,$128,$131)|0); - $132 = HEAP32[$i>>2]|0; - $133 = (($132) + 1)|0; - HEAP32[$i>>2] = $133; - } - $134 = HEAP32[$eDest>>2]|0; - L22: do { - switch ($134|0) { - case 12: { - $135 = HEAP32[$v>>2]|0; - $136 = HEAP32[$iParm>>2]|0; - $137 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($135,114,$136,$137)|0); - $138 = HEAP32[$v>>2]|0; - $139 = HEAP32[$iParm>>2]|0; - $140 = HEAP32[$regRow>>2]|0; - $141 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($138,115,$139,$140,$141)|0); - $142 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($142,8); - break; - } - case 11: { - $143 = HEAP32[$v>>2]|0; - $144 = HEAP32[$regRow>>2]|0; - $145 = HEAP32[$3>>2]|0; - $146 = HEAP32[$regRowid>>2]|0; - $147 = HEAP32[$4>>2]|0; - $148 = ((($147)) + 4|0); - $149 = HEAP32[$148>>2]|0; - $150 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp4($143,99,$144,$145,$146,$149,$150)|0); - $151 = HEAP32[$0>>2]|0; - $152 = HEAP32[$regRow>>2]|0; - $153 = HEAP32[$3>>2]|0; - _sqlite3ExprCacheAffinityChange($151,$152,$153); - $154 = HEAP32[$v>>2]|0; - $155 = HEAP32[$iParm>>2]|0; - $156 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($154,126,$155,$156)|0); + } while(0); + $367 = HEAP32[$13>>2]|0; + $368 = ($367|0)!=(0); + if ($368) { + label = 68; break; } - case 10: { + $379 = HEAP32[$10>>2]|0; + $380 = (($379) + 1)|0; + HEAP32[$10>>2] = $380; + $381 = HEAP32[$14>>2]|0; + $382 = ((($381)) + 40|0); + HEAP32[$14>>2] = $382; + $383 = HEAP32[$19>>2]|0; + $384 = (_sqlite3VdbeSerialTypeLen($383)|0); + $385 = HEAP32[$9>>2]|0; + $386 = (($385) + ($384))|0; + HEAP32[$9>>2] = $386; + $387 = HEAP32[$19>>2]|0; + $388 = (_sqlite3VarintLen($387,0)|0); + $389 = HEAP32[$12>>2]|0; + $390 = (($389) + ($388))|0; + HEAP32[$12>>2] = $390; + $391 = HEAP32[$12>>2]|0; + $392 = HEAP32[$11>>2]|0; + $393 = ($391>>>0)<($392>>>0); + if (!($393)) { + label = 74; + break; + } + $394 = HEAP32[$10>>2]|0; + $395 = HEAP32[$7>>2]|0; + $396 = ((($395)) + 8|0); + $397 = HEAP16[$396>>1]|0; + $398 = $397&65535; + $399 = ($394|0)<($398|0); + if (!($399)) { + label = 74; + break; + } + $400 = HEAP32[$9>>2]|0; + $401 = HEAP32[$5>>2]|0; + $402 = ($400>>>0)<=($401>>>0); + if (!($402)) { + label = 74; break; } - default: { - $157 = HEAP32[$eDest>>2]|0; - $158 = ($157|0)==(9); - $159 = HEAP32[$v>>2]|0; - $160 = HEAP32[$4>>2]|0; - if ($158) { - $161 = ((($160)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($159,87,$162,$163)|0); - $164 = HEAP32[$0>>2]|0; - $165 = HEAP32[$4>>2]|0; - $166 = ((($165)) + 12|0); - $167 = HEAP32[$166>>2]|0; - $168 = HEAP32[$3>>2]|0; - _sqlite3ExprCacheAffinityChange($164,$167,$168); - break L22; - } else { - $169 = ((($160)) + 8|0); - $170 = HEAP32[$169>>2]|0; - (_sqlite3VdbeAddOp1($159,16,$170)|0); - break L22; - } - } - } - } while(0); - $171 = HEAP32[$regRowid>>2]|0; - $172 = ($171|0)!=(0); - if ($172) { - $173 = HEAP32[$eDest>>2]|0; - $174 = ($173|0)==(11); - $175 = HEAP32[$0>>2]|0; - $176 = HEAP32[$regRow>>2]|0; - if ($174) { - $177 = HEAP32[$3>>2]|0; - _sqlite3ReleaseTempRange($175,$176,$177); - } else { - _sqlite3ReleaseTempReg($175,$176); - } - $178 = HEAP32[$0>>2]|0; - $179 = HEAP32[$regRowid>>2]|0; - _sqlite3ReleaseTempReg($178,$179); } - $180 = HEAP32[$v>>2]|0; - $181 = HEAP32[$addrContinue>>2]|0; - _sqlite3VdbeResolveLabel($180,$181); - $182 = HEAP32[$2>>2]|0; - $183 = ((($182)) + 28|0); - $184 = HEAP8[$183>>0]|0; - $185 = $184&255; - $186 = $185 & 1; - $187 = ($186|0)!=(0); - $188 = HEAP32[$v>>2]|0; - $189 = HEAP32[$iTab>>2]|0; - $190 = HEAP32[$addr>>2]|0; - if ($187) { - (_sqlite3VdbeAddOp2($188,3,$189,$190)|0); - } else { - (_sqlite3VdbeAddOp2($188,7,$189,$190)|0); + if ((label|0) == 43) { + $232 = (_sqlite3CorruptError(74527)|0); + $233 = $232&255; + $234 = HEAP32[$7>>2]|0; + $235 = ((($234)) + 11|0); + HEAP8[$235>>0] = $233; + HEAP32[$4>>2] = 0; + $409 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($409|0); } - $191 = HEAP32[$2>>2]|0; - $192 = ((($191)) + 12|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)!=(0); - if (!($194)) { - $199 = HEAP32[$v>>2]|0; - $200 = HEAP32[$addrBreak>>2]|0; - _sqlite3VdbeResolveLabel($199,$200); - STACKTOP = sp;return; + else if ((label|0) == 56) { + $319 = (_sqlite3CorruptError(74557)|0); + $320 = $319&255; + $321 = HEAP32[$7>>2]|0; + $322 = ((($321)) + 11|0); + HEAP8[$322>>0] = $320; + HEAP32[$4>>2] = 0; + $409 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($409|0); } - $195 = HEAP32[$v>>2]|0; - $196 = HEAP32[$2>>2]|0; - $197 = ((($196)) + 12|0); - $198 = HEAP32[$197>>2]|0; - (_sqlite3VdbeAddOp1($195,72,$198)|0); - $199 = HEAP32[$v>>2]|0; - $200 = HEAP32[$addrBreak>>2]|0; - _sqlite3VdbeResolveLabel($199,$200); - STACKTOP = sp;return; + else if ((label|0) == 68) { + $369 = HEAP32[$15>>2]|0; + $370 = ((($369)) + 16|0); + $371 = HEAP32[$370>>2]|0; + $372 = HEAP32[$10>>2]|0; + $373 = (($371) + ($372)|0); + $374 = HEAP8[$373>>0]|0; + $375 = ($374<<24>>24)!=(0); + if ($375) { + $376 = HEAP32[$13>>2]|0; + $377 = (0 - ($376))|0; + HEAP32[$13>>2] = $377; + } + $378 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $378; + $409 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($409|0); + } + else if ((label|0) == 74) { + $403 = HEAP32[$7>>2]|0; + $404 = ((($403)) + 14|0); + HEAP8[$404>>0] = 1; + $405 = HEAP32[$7>>2]|0; + $406 = ((($405)) + 10|0); + $407 = HEAP8[$406>>0]|0; + $408 = $407 << 24 >> 24; + HEAP32[$4>>2] = $408; + $409 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($409|0); + } + return (0)|0; } -function _generateColumnNames($pParse,$pTabList,$pEList) { - $pParse = $pParse|0; - $pTabList = $pTabList|0; - $pEList = $pEList|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $fullNames = 0, $i = 0, $iCol = 0, $j = 0, $or$cond = 0, $p = 0, $pTab = 0, $shortNames = 0, $v = 0, $vararg_buffer = 0; - var $vararg_buffer3 = 0, $vararg_ptr2 = 0, $z = 0, $zCol = 0, $zName = 0, $zName1 = 0, label = 0, sp = 0; +function _sqlite3GetVarint32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer3 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 72|0; - $1 = sp + 68|0; - $2 = sp + 64|0; - $v = sp + 60|0; - $i = sp + 56|0; - $j = sp + 52|0; - $db = sp + 48|0; - $fullNames = sp + 44|0; - $shortNames = sp + 40|0; - $p = sp + 36|0; - $zName = sp + 32|0; - $pTab = sp + 28|0; - $zCol = sp + 24|0; - $iCol = sp + 20|0; - $zName1 = sp + 16|0; - $z = sp + 12|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTabList; - HEAP32[$2>>2] = $pEList; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$v>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$db>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 409|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 25|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 24|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$3>>2]|0; $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)!=(0); - if ($11) { - STACKTOP = sp;return; - } - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 16|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)!=(0); - if ($16) { - STACKTOP = sp;return; + $11 = $10&255; + HEAP32[$5>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 1|0); + HEAP32[$3>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = $17 & 128; + $19 = ($18|0)!=(0); + if (!($19)) { + $20 = HEAP32[$5>>2]|0; + $21 = $20 & 127; + HEAP32[$5>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = $22 << 7; + HEAP32[$5>>2] = $23; + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$6>>2]|0; + $26 = $24 | $25; + $27 = HEAP32[$4>>2]|0; + HEAP32[$27>>2] = $26; + HEAP8[$2>>0] = 2; + $78 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($78|0); } - $17 = HEAP32[$db>>2]|0; - $18 = ((($17)) + 69|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)!=(0); - if ($21) { - STACKTOP = sp;return; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 1|0); + HEAP32[$3>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = $30 << 14; + HEAP32[$5>>2] = $31; + $32 = HEAP32[$3>>2]|0; + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = HEAP32[$5>>2]|0; + $36 = $35 | $34; + HEAP32[$5>>2] = $36; + $37 = HEAP32[$5>>2]|0; + $38 = $37 & 128; + $39 = ($38|0)!=(0); + if (!($39)) { + $40 = HEAP32[$5>>2]|0; + $41 = $40 & 2080895; + HEAP32[$5>>2] = $41; + $42 = HEAP32[$6>>2]|0; + $43 = $42 & 127; + HEAP32[$6>>2] = $43; + $44 = HEAP32[$6>>2]|0; + $45 = $44 << 7; + HEAP32[$6>>2] = $45; + $46 = HEAP32[$5>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = $46 | $47; + $49 = HEAP32[$4>>2]|0; + HEAP32[$49>>2] = $48; + HEAP8[$2>>0] = 3; + $78 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($78|0); } - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 16|0); - HEAP8[$23>>0] = 1; - $24 = HEAP32[$db>>2]|0; - $25 = ((($24)) + 24|0); - $26 = HEAP32[$25>>2]|0; - $27 = $26 & 4; - $28 = ($27|0)!=(0); - $29 = $28&1; - HEAP32[$fullNames>>2] = $29; - $30 = HEAP32[$db>>2]|0; - $31 = ((($30)) + 24|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 & 64; - $34 = ($33|0)!=(0); - $35 = $34&1; - HEAP32[$shortNames>>2] = $35; - $36 = HEAP32[$v>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$37>>2]|0; - _sqlite3VdbeSetNumCols($36,$38); - HEAP32[$i>>2] = 0; - while(1) { - $39 = HEAP32[$i>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = ($39|0)<($41|0); - if (!($42)) { - break; - } - $43 = HEAP32[$i>>2]|0; - $44 = HEAP32[$2>>2]|0; - $45 = ((($44)) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + (($43*20)|0)|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$p>>2] = $48; - $49 = HEAP32[$p>>2]|0; - $50 = ($49|0)==(0|0); - do { - if (!($50)) { - $51 = HEAP32[$i>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 4|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + (($51*20)|0)|0); - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)!=(0|0); - if ($58) { - $59 = HEAP32[$i>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = ((($60)) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) + (($59*20)|0)|0); - $64 = ((($63)) + 4|0); - $65 = HEAP32[$64>>2]|0; - HEAP32[$zName>>2] = $65; - $66 = HEAP32[$v>>2]|0; - $67 = HEAP32[$i>>2]|0; - $68 = HEAP32[$zName>>2]|0; - (_sqlite3VdbeSetColName($66,$67,0,$68,(-1))|0); - break; - } - $69 = HEAP32[$p>>2]|0; - $70 = HEAP8[$69>>0]|0; - $71 = $70&255; - $72 = ($71|0)==(152); - if (!($72)) { - $73 = HEAP32[$p>>2]|0; - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = ($75|0)==(154); - if (!($76)) { - $145 = HEAP32[$i>>2]|0; - $146 = HEAP32[$2>>2]|0; - $147 = ((($146)) + 4|0); - $148 = HEAP32[$147>>2]|0; - $149 = (($148) + (($145*20)|0)|0); - $150 = ((($149)) + 8|0); - $151 = HEAP32[$150>>2]|0; - HEAP32[$z>>2] = $151; - $152 = HEAP32[$z>>2]|0; - $153 = ($152|0)==(0|0); - $154 = HEAP32[$db>>2]|0; - if ($153) { - $155 = HEAP32[$i>>2]|0; - $156 = (($155) + 1)|0; - HEAP32[$vararg_buffer3>>2] = $156; - $157 = (_sqlite3MPrintf($154,35699,$vararg_buffer3)|0); - $160 = $157; - } else { - $158 = HEAP32[$z>>2]|0; - $159 = (_sqlite3DbStrDup($154,$158)|0); - $160 = $159; - } - HEAP32[$z>>2] = $160; - $161 = HEAP32[$v>>2]|0; - $162 = HEAP32[$i>>2]|0; - $163 = HEAP32[$z>>2]|0; - (_sqlite3VdbeSetColName($161,$162,0,$163,170)|0); - break; - } - } - $77 = HEAP32[$p>>2]|0; - $78 = ((($77)) + 32|0); - $79 = HEAP16[$78>>1]|0; - $80 = $79 << 16 >> 16; - HEAP32[$iCol>>2] = $80; - HEAP32[$j>>2] = 0; - while(1) { - $81 = HEAP32[$j>>2]|0; - $82 = HEAP32[$1>>2]|0; - $83 = HEAP32[$82>>2]|0; - $84 = ($81|0)<($83|0); - if (!($84)) { - break; - } - $85 = HEAP32[$j>>2]|0; - $86 = HEAP32[$1>>2]|0; - $87 = ((($86)) + 8|0); - $88 = (($87) + (($85*72)|0)|0); - $89 = ((($88)) + 44|0); - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$p>>2]|0; - $92 = ((($91)) + 28|0); - $93 = HEAP32[$92>>2]|0; - $94 = ($90|0)==($93|0); - if ($94) { - break; - } - $95 = HEAP32[$j>>2]|0; - $96 = (($95) + 1)|0; - HEAP32[$j>>2] = $96; - } - $97 = HEAP32[$j>>2]|0; - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 8|0); - $100 = (($99) + (($97*72)|0)|0); - $101 = ((($100)) + 16|0); - $102 = HEAP32[$101>>2]|0; - HEAP32[$pTab>>2] = $102; - $103 = HEAP32[$iCol>>2]|0; - $104 = ($103|0)<(0); - if ($104) { - $105 = HEAP32[$pTab>>2]|0; - $106 = ((($105)) + 32|0); - $107 = HEAP16[$106>>1]|0; - $108 = $107 << 16 >> 16; - HEAP32[$iCol>>2] = $108; - } - $109 = HEAP32[$iCol>>2]|0; - $110 = ($109|0)<(0); - if ($110) { - HEAP32[$zCol>>2] = 24745; - } else { - $111 = HEAP32[$iCol>>2]|0; - $112 = HEAP32[$pTab>>2]|0; - $113 = ((($112)) + 4|0); - $114 = HEAP32[$113>>2]|0; - $115 = (($114) + ($111<<4)|0); - $116 = HEAP32[$115>>2]|0; - HEAP32[$zCol>>2] = $116; - } - $117 = HEAP32[$shortNames>>2]|0; - $118 = ($117|0)!=(0); - $119 = HEAP32[$fullNames>>2]|0; - $120 = ($119|0)!=(0); - $or$cond = $118 | $120; - if (!($or$cond)) { - $121 = HEAP32[$v>>2]|0; - $122 = HEAP32[$i>>2]|0; - $123 = HEAP32[$db>>2]|0; - $124 = HEAP32[$i>>2]|0; - $125 = HEAP32[$2>>2]|0; - $126 = ((($125)) + 4|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($127) + (($124*20)|0)|0); - $129 = ((($128)) + 8|0); - $130 = HEAP32[$129>>2]|0; - $131 = (_sqlite3DbStrDup($123,$130)|0); - (_sqlite3VdbeSetColName($121,$122,0,$131,170)|0); - break; - } - $132 = HEAP32[$fullNames>>2]|0; - $133 = ($132|0)!=(0); - if ($133) { - HEAP32[$zName1>>2] = 0; - $134 = HEAP32[$db>>2]|0; - $135 = HEAP32[$pTab>>2]|0; - $136 = HEAP32[$135>>2]|0; - $137 = HEAP32[$zCol>>2]|0; - HEAP32[$vararg_buffer>>2] = $136; - $vararg_ptr2 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr2>>2] = $137; - $138 = (_sqlite3MPrintf($134,30161,$vararg_buffer)|0); - HEAP32[$zName1>>2] = $138; - $139 = HEAP32[$v>>2]|0; - $140 = HEAP32[$i>>2]|0; - $141 = HEAP32[$zName1>>2]|0; - (_sqlite3VdbeSetColName($139,$140,0,$141,170)|0); - break; - } else { - $142 = HEAP32[$v>>2]|0; - $143 = HEAP32[$i>>2]|0; - $144 = HEAP32[$zCol>>2]|0; - (_sqlite3VdbeSetColName($142,$143,0,$144,(-1))|0); - break; - } - } - } while(0); - $164 = HEAP32[$i>>2]|0; - $165 = (($164) + 1)|0; - HEAP32[$i>>2] = $165; - } - $166 = HEAP32[$0>>2]|0; - $167 = HEAP32[$1>>2]|0; - $168 = HEAP32[$2>>2]|0; - _generateColumnTypes($166,$167,$168); - STACKTOP = sp;return; -} -function _generateColumnTypes($pParse,$pTabList,$pEList) { - $pParse = $pParse|0; - $pTabList = $pTabList|0; - $pEList = $pEList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $sNC = 0, $v = 0, $zType = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $v = sp + 44|0; - $i = sp + 40|0; - $sNC = sp + 8|0; - $p = sp + 4|0; - $zType = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTabList; - HEAP32[$2>>2] = $pEList; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$v>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($sNC)) + 4|0); - HEAP32[$7>>2] = $6; - $8 = HEAP32[$0>>2]|0; - HEAP32[$sNC>>2] = $8; - HEAP32[$i>>2] = 0; - while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ($9|0)<($11|0); - if (!($12)) { - break; - } - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + (($13*20)|0)|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$p>>2] = $18; - $19 = HEAP32[$p>>2]|0; - $20 = (_columnTypeImpl($sNC,$19,0)|0); - HEAP32[$zType>>2] = $20; - $21 = HEAP32[$v>>2]|0; - $22 = HEAP32[$i>>2]|0; - $23 = HEAP32[$zType>>2]|0; - (_sqlite3VdbeSetColName($21,$22,1,$23,(-1))|0); - $24 = HEAP32[$i>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$i>>2] = $25; + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + -2|0); + HEAP32[$3>>2] = $51; + $52 = HEAP32[$3>>2]|0; + $53 = (_sqlite3GetVarint($52,$7)|0); + HEAP8[$8>>0] = $53; + $54 = $7; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = $7; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = ($56|0)!=($62|0); + $67 = (0)!=($65|0); + $68 = $66 | $67; + if ($68) { + $69 = HEAP32[$4>>2]|0; + HEAP32[$69>>2] = -1; + } else { + $70 = $7; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (($70) + 4)|0; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$4>>2]|0; + HEAP32[$76>>2] = $72; } - STACKTOP = sp;return; + $77 = HEAP8[$8>>0]|0; + HEAP8[$2>>0] = $77; + $78 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($78|0); } -function _codeOffset($v,$iOffset,$iContinue) { - $v = $v|0; - $iOffset = $iOffset|0; - $iContinue = $iContinue|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _sqlite3VdbeSerialTypeLen($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $iOffset; - HEAP32[$2>>2] = $iContinue; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - STACKTOP = sp;return; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3>>>0)>=(128); + $5 = HEAP32[$2>>2]|0; + if ($4) { + $6 = (($5) - 12)|0; + $7 = (($6>>>0) / 2)&-1; + HEAP32[$1>>2] = $7; + $11 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($11|0); + } else { + $8 = (34519 + ($5)|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + HEAP32[$1>>2] = $10; + $11 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($11|0); } - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp3($5,66,$6,$7,1)|0); - STACKTOP = sp;return; + return (0)|0; } -function _codeDistinct($pParse,$iTab,$addrRepeat,$N,$iMem) { - $pParse = $pParse|0; - $iTab = $iTab|0; - $addrRepeat = $addrRepeat|0; - $N = $N|0; - $iMem = $iMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r1 = 0, $v = 0, label = 0, sp = 0; +function _sqlite3VdbeSerialGet($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $3 = sp + 12|0; $4 = sp + 8|0; - $v = sp + 4|0; - $r1 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iTab; - HEAP32[$2>>2] = $addrRepeat; - HEAP32[$3>>2] = $N; - HEAP32[$4>>2] = $iMem; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$v>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = (_sqlite3GetTempReg($8)|0); - HEAP32[$r1>>2] = $9; - $10 = HEAP32[$v>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$4>>2]|0; - $14 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp4Int($10,31,$11,$12,$13,$14)|0); - $15 = HEAP32[$v>>2]|0; - $16 = HEAP32[$4>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($15,99,$16,$17,$18)|0); - $19 = HEAP32[$v>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp2($19,126,$20,$21)|0); - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($22,$23); - STACKTOP = sp;return; -} -function _analyzeAggregate($pWalker,$pExpr) { - $pWalker = $pWalker|0; - $pExpr = $pExpr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $enc = 0, $i = 0, $j = 0, $k = 0, $n = 0, $pAggInfo = 0, $pCol = 0, $pE = 0, $pGB = 0, $pItem = 0, $pItem1 = 0, $pNC = 0, $pParse = 0, $pSrcList = 0, $pTerm = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $i = sp + 52|0; - $pNC = sp + 48|0; - $pParse = sp + 44|0; - $pSrcList = sp + 40|0; - $pAggInfo = sp + 36|0; - $pItem = sp + 32|0; - $pCol = sp + 28|0; - $k = sp + 24|0; - $j = sp + 20|0; - $n = sp + 16|0; - $pGB = sp + 12|0; - $pTerm = sp + 8|0; - $pE = sp + 4|0; - $pItem1 = sp; - $enc = sp + 68|0; - HEAP32[$1>>2] = $pWalker; - HEAP32[$2>>2] = $pExpr; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 24|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pNC>>2] = $5; - $6 = HEAP32[$pNC>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$pParse>>2] = $7; - $8 = HEAP32[$pNC>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pSrcList>>2] = $10; - $11 = HEAP32[$pNC>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pAggInfo>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - switch ($16|0) { - case 152: case 154: { - $17 = HEAP32[$pSrcList>>2]|0; - $18 = ($17|0)!=(0|0); - L5: do { - if ($18) { - $19 = HEAP32[$pSrcList>>2]|0; - $20 = ((($19)) + 8|0); - HEAP32[$pItem>>2] = $20; - HEAP32[$i>>2] = 0; - while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$pSrcList>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = ($21|0)<($23|0); - if (!($24)) { - break L5; - } - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 28|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$pItem>>2]|0; - $29 = ((($28)) + 44|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($27|0)==($30|0); - if ($31) { - break; - } - $162 = HEAP32[$i>>2]|0; - $163 = (($162) + 1)|0; - HEAP32[$i>>2] = $163; - $164 = HEAP32[$pItem>>2]|0; - $165 = ((($164)) + 72|0); - HEAP32[$pItem>>2] = $165; - } - $32 = HEAP32[$pAggInfo>>2]|0; - $33 = ((($32)) + 28|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$pCol>>2] = $34; - HEAP32[$k>>2] = 0; - while(1) { - $35 = HEAP32[$k>>2]|0; - $36 = HEAP32[$pAggInfo>>2]|0; - $37 = ((($36)) + 32|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($35|0)<($38|0); - if (!($39)) { - break; - } - $40 = HEAP32[$pCol>>2]|0; - $41 = ((($40)) + 4|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$2>>2]|0; - $44 = ((($43)) + 28|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($42|0)==($45|0); - if ($46) { - $47 = HEAP32[$pCol>>2]|0; - $48 = ((($47)) + 8|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$2>>2]|0; - $51 = ((($50)) + 32|0); - $52 = HEAP16[$51>>1]|0; - $53 = $52 << 16 >> 16; - $54 = ($49|0)==($53|0); - if ($54) { - break; - } - } - $55 = HEAP32[$k>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$k>>2] = $56; - $57 = HEAP32[$pCol>>2]|0; - $58 = ((($57)) + 24|0); - HEAP32[$pCol>>2] = $58; - } - $59 = HEAP32[$k>>2]|0; - $60 = HEAP32[$pAggInfo>>2]|0; - $61 = ((($60)) + 32|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($59|0)>=($62|0); - if ($63) { - $64 = HEAP32[$pParse>>2]|0; - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$pAggInfo>>2]|0; - $67 = (_addAggInfoColumn($65,$66)|0); - HEAP32[$k>>2] = $67; - $68 = ($67|0)>=(0); - if ($68) { - $69 = HEAP32[$k>>2]|0; - $70 = HEAP32[$pAggInfo>>2]|0; - $71 = ((($70)) + 28|0); - $72 = HEAP32[$71>>2]|0; - $73 = (($72) + (($69*24)|0)|0); - HEAP32[$pCol>>2] = $73; - $74 = HEAP32[$2>>2]|0; - $75 = ((($74)) + 44|0); - $76 = HEAP32[$75>>2]|0; - $77 = HEAP32[$pCol>>2]|0; - HEAP32[$77>>2] = $76; - $78 = HEAP32[$2>>2]|0; - $79 = ((($78)) + 28|0); - $80 = HEAP32[$79>>2]|0; - $81 = HEAP32[$pCol>>2]|0; - $82 = ((($81)) + 4|0); - HEAP32[$82>>2] = $80; - $83 = HEAP32[$2>>2]|0; - $84 = ((($83)) + 32|0); - $85 = HEAP16[$84>>1]|0; - $86 = $85 << 16 >> 16; - $87 = HEAP32[$pCol>>2]|0; - $88 = ((($87)) + 8|0); - HEAP32[$88>>2] = $86; - $89 = HEAP32[$pParse>>2]|0; - $90 = ((($89)) + 44|0); - $91 = HEAP32[$90>>2]|0; - $92 = (($91) + 1)|0; - HEAP32[$90>>2] = $92; - $93 = HEAP32[$pCol>>2]|0; - $94 = ((($93)) + 16|0); - HEAP32[$94>>2] = $92; - $95 = HEAP32[$pCol>>2]|0; - $96 = ((($95)) + 12|0); - HEAP32[$96>>2] = -1; - $97 = HEAP32[$2>>2]|0; - $98 = HEAP32[$pCol>>2]|0; - $99 = ((($98)) + 20|0); - HEAP32[$99>>2] = $97; - $100 = HEAP32[$pAggInfo>>2]|0; - $101 = ((($100)) + 24|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102|0)!=(0|0); - L22: do { - if ($103) { - $104 = HEAP32[$pAggInfo>>2]|0; - $105 = ((($104)) + 24|0); - $106 = HEAP32[$105>>2]|0; - HEAP32[$pGB>>2] = $106; - $107 = HEAP32[$pGB>>2]|0; - $108 = ((($107)) + 4|0); - $109 = HEAP32[$108>>2]|0; - HEAP32[$pTerm>>2] = $109; - $110 = HEAP32[$pGB>>2]|0; - $111 = HEAP32[$110>>2]|0; - HEAP32[$n>>2] = $111; - HEAP32[$j>>2] = 0; - while(1) { - $112 = HEAP32[$j>>2]|0; - $113 = HEAP32[$n>>2]|0; - $114 = ($112|0)<($113|0); - if (!($114)) { - break L22; - } - $115 = HEAP32[$pTerm>>2]|0; - $116 = HEAP32[$115>>2]|0; - HEAP32[$pE>>2] = $116; - $117 = HEAP32[$pE>>2]|0; - $118 = HEAP8[$117>>0]|0; - $119 = $118&255; - $120 = ($119|0)==(152); - if ($120) { - $121 = HEAP32[$pE>>2]|0; - $122 = ((($121)) + 28|0); - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$2>>2]|0; - $125 = ((($124)) + 28|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($123|0)==($126|0); - if ($127) { - $128 = HEAP32[$pE>>2]|0; - $129 = ((($128)) + 32|0); - $130 = HEAP16[$129>>1]|0; - $131 = $130 << 16 >> 16; - $132 = HEAP32[$2>>2]|0; - $133 = ((($132)) + 32|0); - $134 = HEAP16[$133>>1]|0; - $135 = $134 << 16 >> 16; - $136 = ($131|0)==($135|0); - if ($136) { - break; - } - } - } - $140 = HEAP32[$j>>2]|0; - $141 = (($140) + 1)|0; - HEAP32[$j>>2] = $141; - $142 = HEAP32[$pTerm>>2]|0; - $143 = ((($142)) + 20|0); - HEAP32[$pTerm>>2] = $143; - } - $137 = HEAP32[$j>>2]|0; - $138 = HEAP32[$pCol>>2]|0; - $139 = ((($138)) + 12|0); - HEAP32[$139>>2] = $137; - } - } while(0); - $144 = HEAP32[$pCol>>2]|0; - $145 = ((($144)) + 12|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)<(0); - if ($147) { - $148 = HEAP32[$pAggInfo>>2]|0; - $149 = ((($148)) + 12|0); - $150 = HEAP32[$149>>2]|0; - $151 = (($150) + 1)|0; - HEAP32[$149>>2] = $151; - $152 = HEAP32[$pCol>>2]|0; - $153 = ((($152)) + 12|0); - HEAP32[$153>>2] = $150; - } - } - } - $154 = HEAP32[$pAggInfo>>2]|0; - $155 = HEAP32[$2>>2]|0; - $156 = ((($155)) + 40|0); - HEAP32[$156>>2] = $154; - $157 = HEAP32[$2>>2]|0; - HEAP8[$157>>0] = -102; - $158 = HEAP32[$k>>2]|0; - $159 = $158&65535; - $160 = HEAP32[$2>>2]|0; - $161 = ((($160)) + 34|0); - HEAP16[$161>>1] = $159; - } - } while(0); - HEAP32[$0>>2] = 1; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); + $5 = sp + 4|0; + $6 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $7 = HEAP32[$5>>2]|0; + switch ($7|0) { + case 0: case 11: case 10: { + $8 = HEAP32[$6>>2]|0; + $9 = ((($8)) + 8|0); + HEAP16[$9>>1] = 1; + HEAP32[$3>>2] = 0; + $171 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($171|0); break; } - case 153: { - $166 = HEAP32[$pNC>>2]|0; - $167 = ((($166)) + 28|0); - $168 = HEAP16[$167>>1]|0; - $169 = $168&65535; - $170 = $169 & 8; - $171 = ($170|0)==(0); - if ($171) { - $172 = HEAP32[$1>>2]|0; - $173 = ((($172)) + 16|0); - $174 = HEAP32[$173>>2]|0; - $175 = HEAP32[$2>>2]|0; - $176 = ((($175)) + 38|0); - $177 = HEAP8[$176>>0]|0; - $178 = $177&255; - $179 = ($174|0)==($178|0); - if ($179) { - $180 = HEAP32[$pAggInfo>>2]|0; - $181 = ((($180)) + 40|0); - $182 = HEAP32[$181>>2]|0; - HEAP32[$pItem1>>2] = $182; - HEAP32[$i>>2] = 0; - while(1) { - $183 = HEAP32[$i>>2]|0; - $184 = HEAP32[$pAggInfo>>2]|0; - $185 = ((($184)) + 44|0); - $186 = HEAP32[$185>>2]|0; - $187 = ($183|0)<($186|0); - if (!($187)) { - break; - } - $188 = HEAP32[$pItem1>>2]|0; - $189 = HEAP32[$188>>2]|0; - $190 = HEAP32[$2>>2]|0; - $191 = (_sqlite3ExprCompare($189,$190,-1)|0); - $192 = ($191|0)==(0); - if ($192) { - break; - } - $193 = HEAP32[$i>>2]|0; - $194 = (($193) + 1)|0; - HEAP32[$i>>2] = $194; - $195 = HEAP32[$pItem1>>2]|0; - $196 = ((($195)) + 16|0); - HEAP32[$pItem1>>2] = $196; - } - $197 = HEAP32[$i>>2]|0; - $198 = HEAP32[$pAggInfo>>2]|0; - $199 = ((($198)) + 44|0); - $200 = HEAP32[$199>>2]|0; - $201 = ($197|0)>=($200|0); - do { - if ($201) { - $202 = HEAP32[$pParse>>2]|0; - $203 = HEAP32[$202>>2]|0; - $204 = ((($203)) + 66|0); - $205 = HEAP8[$204>>0]|0; - HEAP8[$enc>>0] = $205; - $206 = HEAP32[$pParse>>2]|0; - $207 = HEAP32[$206>>2]|0; - $208 = HEAP32[$pAggInfo>>2]|0; - $209 = (_addAggInfoFunc($207,$208)|0); - HEAP32[$i>>2] = $209; - $210 = HEAP32[$i>>2]|0; - $211 = ($210|0)>=(0); - if ($211) { - $212 = HEAP32[$i>>2]|0; - $213 = HEAP32[$pAggInfo>>2]|0; - $214 = ((($213)) + 40|0); - $215 = HEAP32[$214>>2]|0; - $216 = (($215) + ($212<<4)|0); - HEAP32[$pItem1>>2] = $216; - $217 = HEAP32[$2>>2]|0; - $218 = HEAP32[$pItem1>>2]|0; - HEAP32[$218>>2] = $217; - $219 = HEAP32[$pParse>>2]|0; - $220 = ((($219)) + 44|0); - $221 = HEAP32[$220>>2]|0; - $222 = (($221) + 1)|0; - HEAP32[$220>>2] = $222; - $223 = HEAP32[$pItem1>>2]|0; - $224 = ((($223)) + 8|0); - HEAP32[$224>>2] = $222; - $225 = HEAP32[$pParse>>2]|0; - $226 = HEAP32[$225>>2]|0; - $227 = HEAP32[$2>>2]|0; - $228 = ((($227)) + 8|0); - $229 = HEAP32[$228>>2]|0; - $230 = HEAP32[$2>>2]|0; - $231 = ((($230)) + 20|0); - $232 = HEAP32[$231>>2]|0; - $233 = ($232|0)!=(0|0); - if ($233) { - $234 = HEAP32[$2>>2]|0; - $235 = ((($234)) + 20|0); - $236 = HEAP32[$235>>2]|0; - $237 = HEAP32[$236>>2]|0; - $239 = $237; - } else { - $239 = 0; - } - $238 = HEAP8[$enc>>0]|0; - $240 = (_sqlite3FindFunction($226,$229,$239,$238,0)|0); - $241 = HEAP32[$pItem1>>2]|0; - $242 = ((($241)) + 4|0); - HEAP32[$242>>2] = $240; - $243 = HEAP32[$2>>2]|0; - $244 = ((($243)) + 4|0); - $245 = HEAP32[$244>>2]|0; - $246 = $245 & 16; - $247 = ($246|0)!=(0); - if ($247) { - $248 = HEAP32[$pParse>>2]|0; - $249 = ((($248)) + 40|0); - $250 = HEAP32[$249>>2]|0; - $251 = (($250) + 1)|0; - HEAP32[$249>>2] = $251; - $252 = HEAP32[$pItem1>>2]|0; - $253 = ((($252)) + 12|0); - HEAP32[$253>>2] = $250; - break; - } else { - $254 = HEAP32[$pItem1>>2]|0; - $255 = ((($254)) + 12|0); - HEAP32[$255>>2] = -1; - break; - } - } - } - } while(0); - $256 = HEAP32[$i>>2]|0; - $257 = $256&65535; - $258 = HEAP32[$2>>2]|0; - $259 = ((($258)) + 34|0); - HEAP16[$259>>1] = $257; - $260 = HEAP32[$pAggInfo>>2]|0; - $261 = HEAP32[$2>>2]|0; - $262 = ((($261)) + 40|0); - HEAP32[$262>>2] = $260; - HEAP32[$0>>2] = 1; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); - } - } - HEAP32[$0>>2] = 0; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); + case 1: { + $10 = HEAP32[$4>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)<(0); + $14 = $13 << 31 >> 31; + $15 = HEAP32[$6>>2]|0; + $16 = $15; + $17 = $16; + HEAP32[$17>>2] = $12; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $14; + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 8|0); + HEAP16[$21>>1] = 4; + HEAP32[$3>>2] = 1; + $171 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($171|0); + break; + } + case 2: { + $22 = HEAP32[$4>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = $23 << 24 >> 24; + $25 = $24<<8; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $25 | $29; + $31 = ($30|0)<(0); + $32 = $31 << 31 >> 31; + $33 = HEAP32[$6>>2]|0; + $34 = $33; + $35 = $34; + HEAP32[$35>>2] = $30; + $36 = (($34) + 4)|0; + $37 = $36; + HEAP32[$37>>2] = $32; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 8|0); + HEAP16[$39>>1] = 4; + HEAP32[$3>>2] = 2; + $171 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($171|0); + break; + } + case 3: { + $40 = HEAP32[$4>>2]|0; + $41 = HEAP8[$40>>0]|0; + $42 = $41 << 24 >> 24; + $43 = $42<<16; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 1|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = $47 << 8; + $49 = $43 | $48; + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 2|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $49 | $53; + $55 = ($54|0)<(0); + $56 = $55 << 31 >> 31; + $57 = HEAP32[$6>>2]|0; + $58 = $57; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = HEAP32[$6>>2]|0; + $63 = ((($62)) + 8|0); + HEAP16[$63>>1] = 4; + HEAP32[$3>>2] = 3; + $171 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($171|0); + break; + } + case 4: { + $64 = HEAP32[$4>>2]|0; + $65 = HEAP8[$64>>0]|0; + $66 = $65 << 24 >> 24; + $67 = $66<<24; + $68 = HEAP32[$4>>2]|0; + $69 = ((($68)) + 1|0); + $70 = HEAP8[$69>>0]|0; + $71 = $70&255; + $72 = $71 << 16; + $73 = $67 | $72; + $74 = HEAP32[$4>>2]|0; + $75 = ((($74)) + 2|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = $77 << 8; + $79 = $73 | $78; + $80 = HEAP32[$4>>2]|0; + $81 = ((($80)) + 3|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $79 | $83; + $85 = ($84|0)<(0); + $86 = $85 << 31 >> 31; + $87 = HEAP32[$6>>2]|0; + $88 = $87; + $89 = $88; + HEAP32[$89>>2] = $84; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $86; + $92 = HEAP32[$6>>2]|0; + $93 = ((($92)) + 8|0); + HEAP16[$93>>1] = 4; + HEAP32[$3>>2] = 4; + $171 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($171|0); + break; + } + case 5: { + $94 = HEAP32[$4>>2]|0; + $95 = ((($94)) + 2|0); + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = $97 << 24; + $99 = HEAP32[$4>>2]|0; + $100 = ((($99)) + 2|0); + $101 = ((($100)) + 1|0); + $102 = HEAP8[$101>>0]|0; + $103 = $102&255; + $104 = $103 << 16; + $105 = $98 | $104; + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 2|0); + $108 = ((($107)) + 2|0); + $109 = HEAP8[$108>>0]|0; + $110 = $109&255; + $111 = $110 << 8; + $112 = $105 | $111; + $113 = HEAP32[$4>>2]|0; + $114 = ((($113)) + 2|0); + $115 = ((($114)) + 3|0); + $116 = HEAP8[$115>>0]|0; + $117 = $116&255; + $118 = $112 | $117; + $119 = HEAP32[$4>>2]|0; + $120 = HEAP8[$119>>0]|0; + $121 = $120 << 24 >> 24; + $122 = $121<<8; + $123 = HEAP32[$4>>2]|0; + $124 = ((($123)) + 1|0); + $125 = HEAP8[$124>>0]|0; + $126 = $125&255; + $127 = $122 | $126; + $128 = ($127|0)<(0); + $129 = $128 << 31 >> 31; + $130 = (___muldi3(0,1,($127|0),($129|0))|0); + $131 = tempRet0; + $132 = (_i64Add(($118|0),0,($130|0),($131|0))|0); + $133 = tempRet0; + $134 = HEAP32[$6>>2]|0; + $135 = $134; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $133; + $139 = HEAP32[$6>>2]|0; + $140 = ((($139)) + 8|0); + HEAP16[$140>>1] = 4; + HEAP32[$3>>2] = 6; + $171 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($171|0); + break; + } + case 7: case 6: { + $141 = HEAP32[$4>>2]|0; + $142 = HEAP32[$5>>2]|0; + $143 = HEAP32[$6>>2]|0; + $144 = (_serialGet($141,$142,$143)|0); + HEAP32[$3>>2] = $144; + $171 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($171|0); + break; + } + case 9: case 8: { + $145 = HEAP32[$5>>2]|0; + $146 = (($145) - 8)|0; + $147 = HEAP32[$6>>2]|0; + $148 = $147; + $149 = $148; + HEAP32[$149>>2] = $146; + $150 = (($148) + 4)|0; + $151 = $150; + HEAP32[$151>>2] = 0; + $152 = HEAP32[$6>>2]|0; + $153 = ((($152)) + 8|0); + HEAP16[$153>>1] = 4; + HEAP32[$3>>2] = 0; + $171 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($171|0); break; } default: { - HEAP32[$0>>2] = 0; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); + $154 = HEAP32[$4>>2]|0; + $155 = HEAP32[$6>>2]|0; + $156 = ((($155)) + 16|0); + HEAP32[$156>>2] = $154; + $157 = HEAP32[$5>>2]|0; + $158 = (($157) - 12)|0; + $159 = (($158>>>0) / 2)&-1; + $160 = HEAP32[$6>>2]|0; + $161 = ((($160)) + 12|0); + HEAP32[$161>>2] = $159; + $162 = HEAP32[$5>>2]|0; + $163 = $162 & 1; + $164 = (15238 + ($163<<1)|0); + $165 = HEAP16[$164>>1]|0; + $166 = HEAP32[$6>>2]|0; + $167 = ((($166)) + 8|0); + HEAP16[$167>>1] = $165; + $168 = HEAP32[$6>>2]|0; + $169 = ((($168)) + 12|0); + $170 = HEAP32[$169>>2]|0; + HEAP32[$3>>2] = $170; + $171 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($171|0); } } return (0)|0; } -function _analyzeAggregatesInSelect($pWalker,$pSelect) { - $pWalker = $pWalker|0; - $pSelect = $pSelect|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pWalker; - HEAP32[$1>>2] = $pSelect; - STACKTOP = sp;return 0; -} -function _addAggInfoColumn($db,$pInfo) { - $db = $db|0; - $pInfo = $pInfo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pInfo; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 32|0); - $8 = (_sqlite3ArrayAllocate($2,$5,24,$7,$i)|0); - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 28|0); - HEAP32[$10>>2] = $8; - $11 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($11|0); -} -function _addAggInfoFunc($db,$pInfo) { - $db = $db|0; - $pInfo = $pInfo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pInfo; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 44|0); - $8 = (_sqlite3ArrayAllocate($2,$5,16,$7,$i)|0); - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 40|0); - HEAP32[$10>>2] = $8; - $11 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($11|0); -} -function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$nPrefixReg) { - $pParse = $pParse|0; - $pSort = $pSort|0; - $pSelect = $pSelect|0; - $regData = $regData|0; - $regOrigData = $regOrigData|0; - $nData = $nData|0; - $nPrefixReg = $nPrefixReg|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $addrFirst = 0, $addrJmp = 0, $bSeq = 0, $iBrk = 0, $iLimit = 0, $nBase = 0, $nExpr = 0, $nKey = 0; - var $nOBSat = 0, $op = 0, $pKI = 0, $pOp = 0, $r1 = 0, $regBase = 0, $regPrevKey = 0, $regRecord = 0, $v = 0, label = 0, sp = 0; +function _vdbeRecordDecodeInt($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 96|0; - $1 = sp + 92|0; - $2 = sp + 88|0; - $3 = sp + 84|0; - $4 = sp + 80|0; - $5 = sp + 76|0; - $6 = sp + 72|0; - $v = sp + 68|0; - $bSeq = sp + 64|0; - $nExpr = sp + 60|0; - $nBase = sp + 56|0; - $regBase = sp + 52|0; - $regRecord = sp + 48|0; - $nOBSat = sp + 44|0; - $op = sp + 40|0; - $iLimit = sp + 36|0; - $regPrevKey = sp + 32|0; - $addrFirst = sp + 28|0; - $addrJmp = sp + 24|0; - $pOp = sp + 20|0; - $nKey = sp + 16|0; - $pKI = sp + 12|0; - $addr = sp + 8|0; - $r1 = sp + 4|0; - $iBrk = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pSort; - HEAP32[$2>>2] = $pSelect; - HEAP32[$3>>2] = $regData; - HEAP32[$4>>2] = $regOrigData; - HEAP32[$5>>2] = $nData; - HEAP32[$6>>2] = $nPrefixReg; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$v>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 28|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = $13 & 1; - $15 = ($14|0)==(0); - $16 = $15&1; - HEAP32[$bSeq>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$18>>2]|0; - HEAP32[$nExpr>>2] = $19; - $20 = HEAP32[$nExpr>>2]|0; - $21 = HEAP32[$bSeq>>2]|0; - $22 = (($20) + ($21))|0; - $23 = HEAP32[$5>>2]|0; - $24 = (($22) + ($23))|0; - HEAP32[$nBase>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 44|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$26>>2] = $28; - HEAP32[$regRecord>>2] = $28; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 4|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$nOBSat>>2] = $31; - $32 = HEAP32[$6>>2]|0; - $33 = ($32|0)!=(0); - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = HEAP32[$nExpr>>2]|0; - $36 = (($34) - ($35))|0; - $37 = HEAP32[$bSeq>>2]|0; - $38 = (($36) - ($37))|0; - HEAP32[$regBase>>2] = $38; - } else { - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 44|0); - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$regBase>>2] = $42; - $43 = HEAP32[$nBase>>2]|0; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 44|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + ($43))|0; - HEAP32[$45>>2] = $47; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 8|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + switch ($7|0) { + case 1: case 0: { + $8 = HEAP32[$4>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9 << 24 >> 24; + $11 = ($10|0)<(0); + $12 = $11 << 31 >> 31; + $13 = $2; + $14 = $13; + HEAP32[$14>>2] = $10; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + break; } - $48 = HEAP32[$2>>2]|0; - $49 = ((($48)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)!=(0); - $52 = HEAP32[$2>>2]|0; - if ($51) { - $53 = ((($52)) + 16|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + 1)|0; - $58 = $55; - } else { - $56 = ((($52)) + 12|0); - $57 = HEAP32[$56>>2]|0; - $58 = $57; + case 2: { + $17 = HEAP32[$4>>2]|0; + $18 = HEAP8[$17>>0]|0; + $19 = $18 << 24 >> 24; + $20 = $19<<8; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $20 | $24; + $26 = ($25|0)<(0); + $27 = $26 << 31 >> 31; + $28 = $2; + $29 = $28; + HEAP32[$29>>2] = $25; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = $27; + break; } - HEAP32[$iLimit>>2] = $58; - $59 = HEAP32[$v>>2]|0; - $60 = (_sqlite3VdbeMakeLabel($59)|0); - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 24|0); - HEAP32[$62>>2] = $60; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$regBase>>2]|0; - $67 = HEAP32[$4>>2]|0; - (_sqlite3ExprCodeExprList($63,$65,$66,$67,5)|0); - $68 = HEAP32[$bSeq>>2]|0; - $69 = ($68|0)!=(0); - if ($69) { - $70 = HEAP32[$v>>2]|0; - $71 = HEAP32[$1>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = HEAP32[$regBase>>2]|0; - $75 = HEAP32[$nExpr>>2]|0; - $76 = (($74) + ($75))|0; - (_sqlite3VdbeAddOp2($70,113,$73,$76)|0); + case 3: { + $32 = HEAP32[$4>>2]|0; + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = $34<<16; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 1|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = $39 << 8; + $41 = $35 | $40; + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 2|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = $41 | $45; + $47 = ($46|0)<(0); + $48 = $47 << 31 >> 31; + $49 = $2; + $50 = $49; + HEAP32[$50>>2] = $46; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = $48; + break; } - $77 = HEAP32[$6>>2]|0; - $78 = ($77|0)==(0); - if ($78) { - $79 = HEAP32[$0>>2]|0; - $80 = HEAP32[$3>>2]|0; - $81 = HEAP32[$regBase>>2]|0; - $82 = HEAP32[$nExpr>>2]|0; - $83 = (($81) + ($82))|0; - $84 = HEAP32[$bSeq>>2]|0; - $85 = (($83) + ($84))|0; - $86 = HEAP32[$5>>2]|0; - _sqlite3ExprCodeMove($79,$80,$85,$86); - } - $87 = HEAP32[$v>>2]|0; - $88 = HEAP32[$regBase>>2]|0; - $89 = HEAP32[$nOBSat>>2]|0; - $90 = (($88) + ($89))|0; - $91 = HEAP32[$nBase>>2]|0; - $92 = HEAP32[$nOBSat>>2]|0; - $93 = (($91) - ($92))|0; - $94 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp3($87,99,$90,$93,$94)|0); - $95 = HEAP32[$nOBSat>>2]|0; - $96 = ($95|0)>(0); - if ($96) { - $97 = HEAP32[$0>>2]|0; - $98 = ((($97)) + 44|0); - $99 = HEAP32[$98>>2]|0; - $100 = (($99) + 1)|0; - HEAP32[$regPrevKey>>2] = $100; - $101 = HEAP32[$1>>2]|0; - $102 = ((($101)) + 4|0); - $103 = HEAP32[$102>>2]|0; - $104 = HEAP32[$0>>2]|0; - $105 = ((($104)) + 44|0); - $106 = HEAP32[$105>>2]|0; - $107 = (($106) + ($103))|0; - HEAP32[$105>>2] = $107; - $108 = HEAP32[$nExpr>>2]|0; - $109 = HEAP32[$1>>2]|0; - $110 = ((($109)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = (($108) - ($111))|0; - $113 = HEAP32[$bSeq>>2]|0; - $114 = (($112) + ($113))|0; - HEAP32[$nKey>>2] = $114; - $115 = HEAP32[$bSeq>>2]|0; - $116 = ($115|0)!=(0); - $117 = HEAP32[$v>>2]|0; - if ($116) { - $118 = HEAP32[$regBase>>2]|0; - $119 = HEAP32[$nExpr>>2]|0; - $120 = (($118) + ($119))|0; - $121 = (_sqlite3VdbeAddOp1($117,22,$120)|0); - HEAP32[$addrFirst>>2] = $121; - } else { - $122 = HEAP32[$1>>2]|0; - $123 = ((($122)) + 8|0); - $124 = HEAP32[$123>>2]|0; - $125 = (_sqlite3VdbeAddOp1($117,109,$124)|0); - HEAP32[$addrFirst>>2] = $125; - } - $126 = HEAP32[$v>>2]|0; - $127 = HEAP32[$regPrevKey>>2]|0; - $128 = HEAP32[$regBase>>2]|0; - $129 = HEAP32[$1>>2]|0; - $130 = ((($129)) + 4|0); - $131 = HEAP32[$130>>2]|0; - (_sqlite3VdbeAddOp3($126,95,$127,$128,$131)|0); - $132 = HEAP32[$v>>2]|0; - $133 = HEAP32[$1>>2]|0; - $134 = ((($133)) + 20|0); - $135 = HEAP32[$134>>2]|0; - $136 = (_sqlite3VdbeGetOp($132,$135)|0); - HEAP32[$pOp>>2] = $136; - $137 = HEAP32[$0>>2]|0; - $138 = HEAP32[$137>>2]|0; - $139 = ((($138)) + 69|0); - $140 = HEAP8[$139>>0]|0; - $141 = ($140<<24>>24)!=(0); - if ($141) { - STACKTOP = sp;return; - } - $142 = HEAP32[$nKey>>2]|0; - $143 = HEAP32[$5>>2]|0; - $144 = (($142) + ($143))|0; - $145 = HEAP32[$pOp>>2]|0; - $146 = ((($145)) + 8|0); - HEAP32[$146>>2] = $144; - $147 = HEAP32[$pOp>>2]|0; - $148 = ((($147)) + 16|0); - $149 = HEAP32[$148>>2]|0; - HEAP32[$pKI>>2] = $149; - $150 = HEAP32[$pKI>>2]|0; - $151 = ((($150)) + 16|0); + case 4: { + $53 = HEAP32[$4>>2]|0; + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55 << 24; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 1|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = $60 << 16; + $62 = $56 | $61; + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 2|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = $66 << 8; + $68 = $62 | $67; + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 3|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = $68 | $72; + HEAP32[$5>>2] = $73; + $74 = HEAP32[$5>>2]|0; + $75 = ($74|0)<(0); + $76 = $75 << 31 >> 31; + $77 = $2; + $78 = $77; + HEAP32[$78>>2] = $74; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = $76; + break; + } + case 5: { + $81 = HEAP32[$4>>2]|0; + $82 = ((($81)) + 2|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = $84 << 24; + $86 = HEAP32[$4>>2]|0; + $87 = ((($86)) + 2|0); + $88 = ((($87)) + 1|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = $90 << 16; + $92 = $85 | $91; + $93 = HEAP32[$4>>2]|0; + $94 = ((($93)) + 2|0); + $95 = ((($94)) + 2|0); + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = $97 << 8; + $99 = $92 | $98; + $100 = HEAP32[$4>>2]|0; + $101 = ((($100)) + 2|0); + $102 = ((($101)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = $103&255; + $105 = $99 | $104; + $106 = HEAP32[$4>>2]|0; + $107 = HEAP8[$106>>0]|0; + $108 = $107 << 24 >> 24; + $109 = $108<<8; + $110 = HEAP32[$4>>2]|0; + $111 = ((($110)) + 1|0); + $112 = HEAP8[$111>>0]|0; + $113 = $112&255; + $114 = $109 | $113; + $115 = ($114|0)<(0); + $116 = $115 << 31 >> 31; + $117 = (___muldi3(0,1,($114|0),($116|0))|0); + $118 = tempRet0; + $119 = (_i64Add(($105|0),0,($117|0),($118|0))|0); + $120 = tempRet0; + $121 = $2; + $122 = $121; + HEAP32[$122>>2] = $119; + $123 = (($121) + 4)|0; + $124 = $123; + HEAP32[$124>>2] = $120; + break; + } + case 6: { + $125 = HEAP32[$4>>2]|0; + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = $127 << 24; + $129 = HEAP32[$4>>2]|0; + $130 = ((($129)) + 1|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 << 16; + $134 = $128 | $133; + $135 = HEAP32[$4>>2]|0; + $136 = ((($135)) + 2|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = $138 << 8; + $140 = $134 | $139; + $141 = HEAP32[$4>>2]|0; + $142 = ((($141)) + 3|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $145 = $140 | $144; + $146 = $6; + $147 = $146; + HEAP32[$147>>2] = $145; + $148 = (($146) + 4)|0; + $149 = $148; + HEAP32[$149>>2] = 0; + $150 = $6; + $151 = $150; $152 = HEAP32[$151>>2]|0; - $153 = HEAP32[$pKI>>2]|0; - $154 = ((($153)) + 6|0); - $155 = HEAP16[$154>>1]|0; - $156 = $155&65535; - _memset(($152|0),0,($156|0))|0; - $157 = HEAP32[$v>>2]|0; - $158 = HEAP32[$pKI>>2]|0; - _sqlite3VdbeChangeP4($157,-1,$158,-6); - $159 = HEAP32[$0>>2]|0; - $160 = HEAP32[$1>>2]|0; - $161 = HEAP32[$160>>2]|0; - $162 = HEAP32[$nOBSat>>2]|0; - $163 = HEAP32[$pKI>>2]|0; - $164 = ((($163)) + 8|0); - $165 = HEAP16[$164>>1]|0; - $166 = $165&65535; - $167 = (($166) - 1)|0; - $168 = (_keyInfoFromExprList($159,$161,$162,$167)|0); - $169 = HEAP32[$pOp>>2]|0; - $170 = ((($169)) + 16|0); - HEAP32[$170>>2] = $168; - $171 = HEAP32[$v>>2]|0; - $172 = (_sqlite3VdbeCurrentAddr($171)|0); - HEAP32[$addrJmp>>2] = $172; - $173 = HEAP32[$v>>2]|0; - $174 = HEAP32[$addrJmp>>2]|0; - $175 = (($174) + 1)|0; - $176 = HEAP32[$addrJmp>>2]|0; - $177 = (($176) + 1)|0; - (_sqlite3VdbeAddOp3($173,18,$175,0,$177)|0); - $178 = HEAP32[$v>>2]|0; - $179 = (_sqlite3VdbeMakeLabel($178)|0); - $180 = HEAP32[$1>>2]|0; - $181 = ((($180)) + 16|0); - HEAP32[$181>>2] = $179; - $182 = HEAP32[$0>>2]|0; - $183 = ((($182)) + 44|0); - $184 = HEAP32[$183>>2]|0; - $185 = (($184) + 1)|0; - HEAP32[$183>>2] = $185; - $186 = HEAP32[$1>>2]|0; - $187 = ((($186)) + 12|0); - HEAP32[$187>>2] = $185; - $188 = HEAP32[$v>>2]|0; - $189 = HEAP32[$1>>2]|0; - $190 = ((($189)) + 12|0); - $191 = HEAP32[$190>>2]|0; - $192 = HEAP32[$1>>2]|0; - $193 = ((($192)) + 16|0); - $194 = HEAP32[$193>>2]|0; - (_sqlite3VdbeAddOp2($188,14,$191,$194)|0); - $195 = HEAP32[$v>>2]|0; - $196 = HEAP32[$1>>2]|0; - $197 = ((($196)) + 8|0); - $198 = HEAP32[$197>>2]|0; - (_sqlite3VdbeAddOp1($195,133,$198)|0); - $199 = HEAP32[$iLimit>>2]|0; - $200 = ($199|0)!=(0); - if ($200) { - $201 = HEAP32[$v>>2]|0; - $202 = HEAP32[$iLimit>>2]|0; - $203 = HEAP32[$1>>2]|0; - $204 = ((($203)) + 24|0); - $205 = HEAP32[$204>>2]|0; - (_sqlite3VdbeAddOp2($201,22,$202,$205)|0); - } - $206 = HEAP32[$v>>2]|0; - $207 = HEAP32[$addrFirst>>2]|0; - _sqlite3VdbeJumpHere($206,$207); - $208 = HEAP32[$0>>2]|0; - $209 = HEAP32[$regBase>>2]|0; - $210 = HEAP32[$regPrevKey>>2]|0; - $211 = HEAP32[$1>>2]|0; - $212 = ((($211)) + 4|0); - $213 = HEAP32[$212>>2]|0; - _sqlite3ExprCodeMove($208,$209,$210,$213); - $214 = HEAP32[$v>>2]|0; - $215 = HEAP32[$addrJmp>>2]|0; - _sqlite3VdbeJumpHere($214,$215); + $153 = (($150) + 4)|0; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = HEAP32[$4>>2]|0; + $157 = ((($156)) + 4|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = $159 << 24; + $161 = HEAP32[$4>>2]|0; + $162 = ((($161)) + 4|0); + $163 = ((($162)) + 1|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164&255; + $166 = $165 << 16; + $167 = $160 | $166; + $168 = HEAP32[$4>>2]|0; + $169 = ((($168)) + 4|0); + $170 = ((($169)) + 2|0); + $171 = HEAP8[$170>>0]|0; + $172 = $171&255; + $173 = $172 << 8; + $174 = $167 | $173; + $175 = HEAP32[$4>>2]|0; + $176 = ((($175)) + 4|0); + $177 = ((($176)) + 3|0); + $178 = HEAP8[$177>>0]|0; + $179 = $178&255; + $180 = $174 | $179; + $181 = $6; + $182 = $181; + HEAP32[$182>>2] = $180; + $183 = (($181) + 4)|0; + $184 = $183; + HEAP32[$184>>2] = $152; + $185 = $6; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = (($185) + 4)|0; + $189 = $188; + $190 = HEAP32[$189>>2]|0; + $191 = $2; + $192 = $191; + HEAP32[$192>>2] = $187; + $193 = (($191) + 4)|0; + $194 = $193; + HEAP32[$194>>2] = $190; + break; } - $216 = HEAP32[$1>>2]|0; - $217 = ((($216)) + 28|0); - $218 = HEAP8[$217>>0]|0; - $219 = $218&255; - $220 = $219 & 1; - $221 = ($220|0)!=(0); - if ($221) { - HEAP32[$op>>2] = 125; - } else { - HEAP32[$op>>2] = 126; - } - $222 = HEAP32[$v>>2]|0; - $223 = HEAP32[$op>>2]|0; - $224 = HEAP32[$1>>2]|0; - $225 = ((($224)) + 8|0); - $226 = HEAP32[$225>>2]|0; - $227 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp2($222,$223,$226,$227)|0); - $228 = HEAP32[$iLimit>>2]|0; - $229 = ($228|0)!=(0); - if (!($229)) { - STACKTOP = sp;return; + default: { + $195 = HEAP32[$3>>2]|0; + $196 = (($195) - 8)|0; + $197 = $2; + $198 = $197; + HEAP32[$198>>2] = $196; + $199 = (($197) + 4)|0; + $200 = $199; + HEAP32[$200>>2] = 0; } - HEAP32[$r1>>2] = 0; - $230 = HEAP32[$v>>2]|0; - $231 = HEAP32[$iLimit>>2]|0; - $232 = (_sqlite3VdbeAddOp3($230,67,$231,0,1)|0); - HEAP32[$addr>>2] = $232; - $233 = HEAP32[$v>>2]|0; - $234 = HEAP32[$1>>2]|0; - $235 = ((($234)) + 8|0); - $236 = HEAP32[$235>>2]|0; - (_sqlite3VdbeAddOp1($233,53,$236)|0); - $237 = HEAP32[$1>>2]|0; - $238 = ((($237)) + 29|0); - $239 = HEAP8[$238>>0]|0; - $240 = ($239<<24>>24)!=(0); - if ($240) { - $241 = HEAP32[$0>>2]|0; - $242 = ((($241)) + 44|0); - $243 = HEAP32[$242>>2]|0; - $244 = (($243) + 1)|0; - HEAP32[$242>>2] = $244; - HEAP32[$r1>>2] = $244; - $245 = HEAP32[$v>>2]|0; - $246 = HEAP32[$1>>2]|0; - $247 = ((($246)) + 8|0); - $248 = HEAP32[$247>>2]|0; - $249 = HEAP32[$nExpr>>2]|0; - $250 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($245,96,$248,$249,$250)|0); - } - $251 = HEAP32[$v>>2]|0; - $252 = HEAP32[$1>>2]|0; - $253 = ((($252)) + 8|0); - $254 = HEAP32[$253>>2]|0; - (_sqlite3VdbeAddOp1($251,117,$254)|0); - $255 = HEAP32[$1>>2]|0; - $256 = ((($255)) + 29|0); - $257 = HEAP8[$256>>0]|0; - $258 = ($257<<24>>24)!=(0); - if ($258) { - $259 = HEAP32[$v>>2]|0; - $260 = (_sqlite3VdbeCurrentAddr($259)|0); - $261 = (($260) + 2)|0; - HEAP32[$iBrk>>2] = $261; - $262 = HEAP32[$v>>2]|0; - $263 = HEAP32[$regBase>>2]|0; - $264 = HEAP32[$nExpr>>2]|0; - $265 = (($263) + ($264))|0; - $266 = HEAP32[$iBrk>>2]|0; - $267 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($262,37,$265,$266,$267)|0); - $268 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($268,-128); - } - $269 = HEAP32[$v>>2]|0; - $270 = HEAP32[$addr>>2]|0; - _sqlite3VdbeJumpHere($269,$270); - STACKTOP = sp;return; + } + $201 = $2; + $202 = $201; + $203 = HEAP32[$202>>2]|0; + $204 = (($201) + 4)|0; + $205 = $204; + $206 = HEAP32[$205>>2]|0; + tempRet0 = ($206); + STACKTOP = sp;return ($203|0); } -function _substExpr($db,$pExpr,$iTable,$pEList) { - $db = $db|0; - $pExpr = $pExpr|0; - $iTable = $iTable|0; - $pEList = $pEList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $pNew = 0, label = 0, sp = 0; +function _sqlite3VarintLen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp; $3 = sp + 8|0; - $4 = sp + 4|0; - $pNew = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pExpr; - HEAP32[$3>>2] = $iTable; - HEAP32[$4>>2] = $pEList; - $5 = HEAP32[$2>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - HEAP32[$0>>2] = 0; - $69 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($69|0); - } - $7 = HEAP32[$2>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($9|0)==(152); - do { - if ($10) { - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$3>>2]|0; - $15 = ($13|0)==($14|0); - if ($15) { - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 32|0); - $18 = HEAP16[$17>>1]|0; - $19 = $18 << 16 >> 16; - $20 = ($19|0)<(0); - if ($20) { - $21 = HEAP32[$2>>2]|0; - HEAP8[$21>>0] = 101; - break; - } else { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 32|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25 << 16 >> 16; - $27 = HEAP32[$4>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + (($26*20)|0)|0); - $31 = HEAP32[$30>>2]|0; - $32 = (_sqlite3ExprDup($22,$31,0)|0); - HEAP32[$pNew>>2] = $32; - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$2>>2]|0; - _sqlite3ExprDelete($33,$34); - $35 = HEAP32[$pNew>>2]|0; - HEAP32[$2>>2] = $35; - break; - } - } else { - label = 8; - } - } else { - label = 8; - } - } while(0); - do { - if ((label|0) == 8) { - $36 = HEAP32[$1>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = ((($37)) + 12|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$3>>2]|0; - $41 = HEAP32[$4>>2]|0; - $42 = (_substExpr($36,$39,$40,$41)|0); - $43 = HEAP32[$2>>2]|0; - $44 = ((($43)) + 12|0); - HEAP32[$44>>2] = $42; - $45 = HEAP32[$1>>2]|0; - $46 = HEAP32[$2>>2]|0; - $47 = ((($46)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$3>>2]|0; - $50 = HEAP32[$4>>2]|0; - $51 = (_substExpr($45,$48,$49,$50)|0); - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 16|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$2>>2]|0; - $55 = ((($54)) + 4|0); - $56 = HEAP32[$55>>2]|0; - $57 = $56 & 2048; - $58 = ($57|0)!=(0); - $59 = HEAP32[$1>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = ((($60)) + 20|0); - if ($58) { - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$3>>2]|0; - $64 = HEAP32[$4>>2]|0; - _substSelect($59,$62,$63,$64,1); - break; - } else { - $65 = HEAP32[$61>>2]|0; - $66 = HEAP32[$3>>2]|0; - $67 = HEAP32[$4>>2]|0; - _substExprList($59,$65,$66,$67); - break; - } + $4 = $2; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + HEAP32[$3>>2] = 1; + while(1) { + $8 = $2; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (_bitshift64Lshr(($10|0),($13|0),7)|0); + $15 = tempRet0; + $16 = $2; + $17 = $16; + HEAP32[$17>>2] = $14; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $15; + $20 = ($14|0)!=(0); + $21 = ($15|0)!=(0); + $22 = $20 | $21; + $23 = HEAP32[$3>>2]|0; + if (!($22)) { + break; } - } while(0); - $68 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $68; - $69 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($69|0); + $24 = (($23) + 1)|0; + HEAP32[$3>>2] = $24; + } + STACKTOP = sp;return ($23|0); } -function _substSelect($db,$p,$iTable,$pEList,$doPrior) { - $db = $db|0; - $p = $p|0; - $iTable = $iTable|0; - $pEList = $pEList|0; - $doPrior = $doPrior|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $9 = 0, $i = 0, $pItem = 0, $pSrc = 0, label = 0, sp = 0; +function _serialGet($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $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.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = $10 << 24; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = $15 << 16; + $17 = $11 | $16; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 2|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21 << 8; + $23 = $17 | $22; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 3|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = $23 | $27; + $29 = $6; + $30 = $29; + HEAP32[$30>>2] = $28; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = 0; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 << 24; + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 4|0); + $40 = ((($39)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 << 16; + $44 = $37 | $43; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 4|0); + $47 = ((($46)) + 2|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = $49 << 8; + $51 = $44 | $50; + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 4|0); + $54 = ((($53)) + 3|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = $51 | $56; + HEAP32[$7>>2] = $57; + $58 = $6; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$7>>2]|0; + $65 = (_i64Add(0,($60|0),($64|0),0)|0); + $66 = tempRet0; + $67 = $6; + $68 = $67; + HEAP32[$68>>2] = $65; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + $71 = HEAP32[$4>>2]|0; + $72 = ($71|0)==(6); + if ($72) { + $73 = $6; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$5>>2]|0; + $80 = $79; + $81 = $80; + HEAP32[$81>>2] = $75; + $82 = (($80) + 4)|0; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = HEAP32[$5>>2]|0; + $$sink = 4;$$sink2 = $84; + $93 = ((($$sink2)) + 8|0); + HEAP16[$93>>1] = $$sink; + STACKTOP = sp;return 8; + } else { + $85 = HEAP32[$5>>2]|0; + ;HEAP32[$85>>2]=HEAP32[$6>>2]|0;HEAP32[$85+4>>2]=HEAP32[$6+4>>2]|0; + $86 = HEAP32[$5>>2]|0; + $87 = +HEAPF64[$86>>3]; + $88 = (_sqlite3IsNaN($87)|0); + $89 = ($88|0)!=(0); + $90 = $89 ? 1 : 8; + $91 = $90&65535; + $92 = HEAP32[$5>>2]|0; + $$sink = $91;$$sink2 = $92; + $93 = ((($$sink2)) + 8|0); + HEAP16[$93>>1] = $$sink; + STACKTOP = sp;return 8; + } + return (0)|0; +} +function _btreeNext($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $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, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; $2 = sp + 20|0; $3 = sp + 16|0; $4 = sp + 12|0; - $pSrc = sp + 8|0; - $pItem = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iTable; - HEAP32[$3>>2] = $pEList; - HEAP32[$4>>2] = $doPrior; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - STACKTOP = sp;return; - } - while(1) { - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - _substExprList($7,$9,$10,$11); - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 36|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$3>>2]|0; - _substExprList($12,$15,$16,$17); - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 44|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$3>>2]|0; - _substExprList($18,$21,$22,$23); - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 40|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$3>>2]|0; - $30 = (_substExpr($24,$27,$28,$29)|0); - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 40|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$0>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 32|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$3>>2]|0; - $39 = (_substExpr($33,$36,$37,$38)|0); - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 32|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 28|0); - $44 = HEAP32[$43>>2]|0; - HEAP32[$pSrc>>2] = $44; - $45 = HEAP32[$pSrc>>2]|0; - $46 = HEAP32[$45>>2]|0; - HEAP32[$i>>2] = $46; - $47 = HEAP32[$pSrc>>2]|0; - $48 = ((($47)) + 8|0); - HEAP32[$pItem>>2] = $48; - while(1) { - $49 = HEAP32[$i>>2]|0; - $50 = ($49|0)>(0); - if (!($50)) { - break; - } - $51 = HEAP32[$0>>2]|0; - $52 = HEAP32[$pItem>>2]|0; - $53 = ((($52)) + 20|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$2>>2]|0; - $56 = HEAP32[$3>>2]|0; - _substSelect($51,$54,$55,$56,1); - $57 = HEAP32[$pItem>>2]|0; - $58 = ((($57)) + 36|0); - $59 = ((($58)) + 1|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60&255) >>> 2; - $62 = $61 & 1; - $63 = $62&255; - $64 = ($63|0)!=(0); - if ($64) { - $65 = HEAP32[$0>>2]|0; - $66 = HEAP32[$pItem>>2]|0; - $67 = ((($66)) + 64|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$2>>2]|0; - $70 = HEAP32[$3>>2]|0; - _substExprList($65,$68,$69,$70); + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 66|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)!=(1); + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 66|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)>=(3); + if ($17) { + $18 = HEAP32[$3>>2]|0; + $19 = (_btreeRestoreCursorPosition($18)|0); + $20 = $19; + } else { + $20 = 0; + } + HEAP32[$5>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = ($21|0)!=(0); + if ($22) { + $23 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $23; + $127 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($127|0); + } + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 66|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (0)==($27|0); + if ($28) { + $29 = HEAP32[$4>>2]|0; + HEAP32[$29>>2] = 1; + HEAP32[$2>>2] = 0; + $127 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($127|0); + } + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 60|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 66|0); + HEAP8[$35>>0] = 1; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 60|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)>(0); + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 60|0); + HEAP32[$41>>2] = 0; + if ($39) { + HEAP32[$2>>2] = 0; + $127 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($127|0); } - $71 = HEAP32[$i>>2]|0; - $72 = (($71) + -1)|0; - HEAP32[$i>>2] = $72; - $73 = HEAP32[$pItem>>2]|0; - $74 = ((($73)) + 72|0); - HEAP32[$pItem>>2] = $74; } - $75 = HEAP32[$4>>2]|0; - $76 = ($75|0)!=(0); - if (!($76)) { - label = 9; + } + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 120|0); + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 68|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($43) + ($47<<2)|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$7>>2] = $49; + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 80|0); + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 68|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54 << 24 >> 24; + $56 = (($51) + ($55<<1)|0); + $57 = HEAP16[$56>>1]|0; + $58 = (($57) + 1)<<16>>16; + HEAP16[$56>>1] = $58; + $59 = $58&65535; + HEAP32[$6>>2] = $59; + $60 = HEAP32[$6>>2]|0; + $61 = HEAP32[$7>>2]|0; + $62 = ((($61)) + 18|0); + $63 = HEAP16[$62>>1]|0; + $64 = $63&65535; + $65 = ($60|0)>=($64|0); + $66 = HEAP32[$7>>2]|0; + $67 = ((($66)) + 4|0); + $68 = HEAP8[$67>>0]|0; + $69 = ($68<<24>>24)!=(0); + if (!($65)) { + if ($69) { + HEAP32[$2>>2] = 0; + $127 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($127|0); + } else { + $125 = HEAP32[$3>>2]|0; + $126 = (_moveToLeftmost($125)|0); + HEAP32[$2>>2] = $126; + $127 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($127|0); + } + } + if (!($69)) { + $70 = HEAP32[$3>>2]|0; + $71 = HEAP32[$7>>2]|0; + $72 = ((($71)) + 56|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$7>>2]|0; + $75 = ((($74)) + 5|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = (($77) + 8)|0; + $79 = (($73) + ($78)|0); + $80 = (_sqlite3Get4byte($79)|0); + $81 = (_moveToChild($70,$80)|0); + HEAP32[$5>>2] = $81; + $82 = HEAP32[$5>>2]|0; + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $84; + $127 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($127|0); + } else { + $85 = HEAP32[$3>>2]|0; + $86 = (_moveToLeftmost($85)|0); + HEAP32[$2>>2] = $86; + $127 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($127|0); + } + } + while(1) { + $87 = HEAP32[$3>>2]|0; + $88 = ((($87)) + 68|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89 << 24 >> 24; + $91 = ($90|0)==(0); + if ($91) { + label = 17; break; } - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 48|0); - $79 = HEAP32[$78>>2]|0; - HEAP32[$1>>2] = $79; - $80 = ($79|0)!=(0|0); - if (!($80)) { - label = 9; + $95 = HEAP32[$3>>2]|0; + _moveToParent($95); + $96 = HEAP32[$3>>2]|0; + $97 = ((($96)) + 120|0); + $98 = HEAP32[$3>>2]|0; + $99 = ((($98)) + 68|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $102 = (($97) + ($101<<2)|0); + $103 = HEAP32[$102>>2]|0; + HEAP32[$7>>2] = $103; + $104 = HEAP32[$3>>2]|0; + $105 = ((($104)) + 80|0); + $106 = HEAP32[$3>>2]|0; + $107 = ((($106)) + 68|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108 << 24 >> 24; + $110 = (($105) + ($109<<1)|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = HEAP32[$7>>2]|0; + $114 = ((($113)) + 18|0); + $115 = HEAP16[$114>>1]|0; + $116 = $115&65535; + $117 = ($112|0)>=($116|0); + if (!($117)) { break; } } - if ((label|0) == 9) { - STACKTOP = sp;return; + if ((label|0) == 17) { + $92 = HEAP32[$4>>2]|0; + HEAP32[$92>>2] = 1; + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 66|0); + HEAP8[$94>>0] = 0; + HEAP32[$2>>2] = 0; + $127 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($127|0); } + $118 = HEAP32[$7>>2]|0; + $119 = ((($118)) + 2|0); + $120 = HEAP8[$119>>0]|0; + $121 = ($120<<24>>24)!=(0); + if ($121) { + $122 = HEAP32[$3>>2]|0; + $123 = HEAP32[$4>>2]|0; + $124 = (_sqlite3BtreeNext($122,$123)|0); + HEAP32[$2>>2] = $124; + $127 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($127|0); + } else { + HEAP32[$2>>2] = 0; + $127 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($127|0); + } + return (0)|0; } -function _substExprList($db,$pList,$iTable,$pEList) { - $db = $db|0; - $pList = $pList|0; - $iTable = $iTable|0; - $pEList = $pEList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; +function _moveToLeftmost($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $1 = sp + 12|0; $2 = sp + 8|0; $3 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pList; - HEAP32[$2>>2] = $iTable; - HEAP32[$3>>2] = $pEList; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; + $4 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 0; while(1) { - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ($6|0)<($8|0); - if (!($9)) { + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + label = 5; break; } - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$i>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 4|0); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 120|0); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 68|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($8) + ($12<<2)|0); $14 = HEAP32[$13>>2]|0; - $15 = (($14) + (($11*20)|0)|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$3>>2]|0; - $19 = (_substExpr($10,$16,$17,$18)|0); - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + (($20*20)|0)|0); - HEAP32[$24>>2] = $19; - $25 = HEAP32[$i>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$i>>2] = $26; + HEAP32[$4>>2] = $14; + $15 = ((($14)) + 4|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + $18 = $17 ^ 1; + if (!($18)) { + label = 5; + break; + } + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 56|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP16[$23>>1]|0; + $25 = $24&65535; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 64|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 80|0); + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 68|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($30) + ($34<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37<<1; + $39 = (($28) + ($38)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $41 << 8; + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 64|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 80|0); + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 68|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50 << 24 >> 24; + $52 = (($47) + ($51<<1)|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = $54<<1; + $56 = (($45) + ($55)|0); + $57 = ((($56)) + 1|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = $42 | $59; + $61 = $25 & $60; + $62 = (($21) + ($61)|0); + $63 = (_sqlite3Get4byte($62)|0); + HEAP32[$2>>2] = $63; + $64 = HEAP32[$1>>2]|0; + $65 = HEAP32[$2>>2]|0; + $66 = (_moveToChild($64,$65)|0); + HEAP32[$3>>2] = $66; } - STACKTOP = sp;return; + if ((label|0) == 5) { + $67 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($67|0); + } + return (0)|0; } -function _multiSelectValues($pParse,$p,$pDest) { - $pParse = $pParse|0; - $p = $p|0; - $pDest = $pDest|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $nRow = 0, $pPrior = 0, $rc = 0, label = 0; - var sp = 0; +function _targetSrcList($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = (_sqlite3SrcListAppend($10,0,0,0)|0); + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + $53 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($53|0); + } + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3DbStrDup($14,$17)|0); + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = (($22) - 1)|0; + $24 = (($20) + (($23*72)|0)|0); + $25 = ((($24)) + 8|0); + HEAP32[$25>>2] = $18; + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3SchemaToIndex($26,$31)|0); + HEAP32[$5>>2] = $32; + $33 = HEAP32[$5>>2]|0; + $34 = ($33|0)==(0); + $35 = HEAP32[$5>>2]|0; + $36 = ($35|0)>=(2); + $or$cond = $34 | $36; + if (!($or$cond)) { + $53 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($53|0); + } + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 16|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$5>>2]|0; + $41 = (($39) + ($40<<4)|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$7>>2] = $42; + $43 = HEAP32[$4>>2]|0; + $44 = HEAP32[$7>>2]|0; + $45 = (_sqlite3DbStrDup($43,$44)|0); + $46 = HEAP32[$6>>2]|0; + $47 = ((($46)) + 8|0); + $48 = HEAP32[$6>>2]|0; + $49 = HEAP32[$48>>2]|0; + $50 = (($49) - 1)|0; + $51 = (($47) + (($50*72)|0)|0); + $52 = ((($51)) + 4|0); + HEAP32[$52>>2] = $45; + $53 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($53|0); +} +function _checkColumnOverlap($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; $2 = sp + 12|0; - $pPrior = sp + 8|0; - $nRow = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pDest; - HEAP32[$nRow>>2] = 1; - HEAP32[$rc>>2] = 0; - while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 48|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - break; - } - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 48|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$1>>2] = $9; - $10 = HEAP32[$nRow>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$nRow>>2] = $11; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0|0); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(0|0); + $or$cond = $7 | $9; + if ($or$cond) { + HEAP32[$2>>2] = 1; + $26 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($26|0); } + HEAP32[$5>>2] = 0; while(1) { - $12 = HEAP32[$1>>2]|0; - $13 = ($12|0)!=(0|0); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ($10|0)<($12|0); if (!($13)) { - label = 7; - break; - } - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 48|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pPrior>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 48|0); - HEAP32[$18>>2] = 0; - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = (_sqlite3Select($19,$20,$21)|0); - HEAP32[$rc>>2] = $22; - $23 = HEAP32[$pPrior>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 48|0); - HEAP32[$25>>2] = $23; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)!=(0); - if ($27) { - label = 7; + label = 8; break; } - $28 = HEAP32[$nRow>>2]|0; - $29 = $28&65535; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 6|0); - HEAP16[$31>>1] = $29; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 52|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$1>>2] = $34; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = (($17) + (($18*20)|0)|0); + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_sqlite3IdListIndex($14,$21)|0); + $23 = ($22|0)>=(0); + if ($23) { + label = 6; + break; + } + $24 = HEAP32[$5>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$5>>2] = $25; } - if ((label|0) == 7) { - $35 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($35|0); + if ((label|0) == 6) { + HEAP32[$2>>2] = 1; + $26 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($26|0); + } + else if ((label|0) == 8) { + HEAP32[$2>>2] = 0; + $26 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($26|0); } return (0)|0; } -function _generateWithRecursiveQuery($pParse,$p,$pDest) { - $pParse = $pParse|0; - $p = $p|0; - $pDest = $pDest|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $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, $addrBreak = 0, $addrCont = 0, $addrTop = 0, $destQueue = 0, $eDest = 0, $i = 0, $iCurrent = 0, $iDistinct = 0, $iQueue = 0, $nCol = 0, $pKeyInfo = 0, $pLimit = 0, $pOffset = 0, $pOrderBy = 0, $pSetup = 0, $pSrc = 0, $rc = 0, $regCurrent = 0; - var $regLimit = 0, $regOffset = 0, $v = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _checkConstraintExprNode($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink3 = 0, $$sink5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer = sp; - $0 = sp + 120|0; - $1 = sp + 116|0; - $2 = sp + 112|0; - $pSrc = sp + 108|0; - $nCol = sp + 104|0; - $v = sp + 100|0; - $pSetup = sp + 96|0; - $addrTop = sp + 92|0; - $addrCont = sp + 88|0; - $addrBreak = sp + 84|0; - $iCurrent = sp + 80|0; - $regCurrent = sp + 76|0; - $iQueue = sp + 72|0; - $iDistinct = sp + 68|0; - $eDest = sp + 64|0; - $destQueue = sp + 40|0; - $i = sp + 32|0; - $rc = sp + 28|0; - $pOrderBy = sp + 24|0; - $pLimit = sp + 20|0; - $pOffset = sp + 16|0; - $regLimit = sp + 12|0; - $regOffset = sp + 8|0; - $pKeyInfo = sp + 4|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pDest; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 28|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pSrc>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$nCol>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$v>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 48|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pSetup>>2] = $14; - HEAP32[$iCurrent>>2] = 0; - HEAP32[$iDistinct>>2] = 0; - HEAP32[$eDest>>2] = 5; - $15 = HEAP32[$0>>2]|0; - $16 = (_sqlite3AuthCheck($15,33,0,0,0)|0); - $17 = ($16|0)!=(0); - if ($17) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)==(152); + if (!($7)) { + STACKTOP = sp;return 0; } - $18 = HEAP32[$v>>2]|0; - $19 = (_sqlite3VdbeMakeLabel($18)|0); - HEAP32[$addrBreak>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = HEAP32[$addrBreak>>2]|0; - _computeLimitRegisters($20,$21,$22); - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 56|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pLimit>>2] = $25; - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 60|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$pOffset>>2] = $28; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$regLimit>>2] = $31; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 16|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$regOffset>>2] = $34; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 60|0); - HEAP32[$36>>2] = 0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 56|0); - HEAP32[$38>>2] = 0; - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 16|0); - HEAP32[$40>>2] = 0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 12|0); - HEAP32[$42>>2] = 0; - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 44|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$pOrderBy>>2] = $45; - HEAP32[$i>>2] = 0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 32|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10 << 16 >> 16; + $12 = ($11|0)>=(0); + $13 = HEAP32[$2>>2]|0; + do { + if ($12) { + $14 = ((($13)) + 24|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 32|0); + $18 = HEAP16[$17>>1]|0; + $19 = $18 << 16 >> 16; + $20 = (($15) + ($19<<2)|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)>=(0); + if ($22) { + $23 = HEAP32[$2>>2]|0; + $$sink3 = 1;$$sink5 = $23; + break; + } else { + STACKTOP = sp;return 0; + } + } else { + $$sink3 = 2;$$sink5 = $13; + } + } while(0); + $24 = ((($$sink5)) + 20|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = $26 | $$sink3; + $28 = $27&255; + HEAP8[$24>>0] = $28; + STACKTOP = sp;return 0; +} +function _xferCompatibleIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 50|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 50|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + $14 = ($9|0)!=($13|0); + if ($14) { + HEAP32[$2>>2] = 0; + $109 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($109|0); + } + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 54|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 54|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($18|0)!=($22|0); + if ($23) { + HEAP32[$2>>2] = 0; + $109 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($109|0); + } + HEAP32[$5>>2] = 0; while(1) { - $46 = HEAP32[$i>>2]|0; - $47 = HEAP32[$pSrc>>2]|0; - $48 = HEAP32[$47>>2]|0; - $49 = ($46|0)<($48|0); - if (!($49)) { + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 50|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27&65535; + $29 = ($24|0)<($28|0); + $30 = HEAP32[$4>>2]|0; + if (!($29)) { + label = 17; break; } - $50 = HEAP32[$i>>2]|0; - $51 = HEAP32[$pSrc>>2]|0; - $52 = ((($51)) + 8|0); - $53 = (($52) + (($50*72)|0)|0); - $54 = ((($53)) + 36|0); - $55 = ((($54)) + 1|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56&255) >>> 5; - $58 = $57 & 1; - $59 = $58&255; - $60 = ($59|0)!=(0); - $61 = HEAP32[$i>>2]|0; - if ($60) { - label = 5; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = (($32) + ($33<<1)|0); + $35 = HEAP16[$34>>1]|0; + $36 = $35 << 16 >> 16; + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$5>>2]|0; + $41 = (($39) + ($40<<1)|0); + $42 = HEAP16[$41>>1]|0; + $43 = $42 << 16 >> 16; + $44 = ($36|0)!=($43|0); + if ($44) { + label = 8; + break; + } + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$5>>2]|0; + $49 = (($47) + ($48<<1)|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50 << 16 >> 16; + $52 = ($51|0)==(-2); + if ($52) { + $53 = HEAP32[$4>>2]|0; + $54 = ((($53)) + 40|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$5>>2]|0; + $59 = (($57) + (($58*20)|0)|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$3>>2]|0; + $62 = ((($61)) + 40|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($63)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$5>>2]|0; + $67 = (($65) + (($66*20)|0)|0); + $68 = HEAP32[$67>>2]|0; + $69 = (_sqlite3ExprCompare($60,$68,-1)|0); + $70 = ($69|0)!=(0); + if ($70) { + label = 11; + break; + } + } + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$5>>2]|0; + $75 = (($73) + ($74)|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = HEAP32[$3>>2]|0; + $79 = ((($78)) + 28|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$5>>2]|0; + $82 = (($80) + ($81)|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = ($77|0)!=($84|0); + if ($85) { + label = 13; + break; + } + $86 = HEAP32[$4>>2]|0; + $87 = ((($86)) + 32|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$5>>2]|0; + $90 = (($88) + ($89<<2)|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$3>>2]|0; + $93 = ((($92)) + 32|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$5>>2]|0; + $96 = (($94) + ($95<<2)|0); + $97 = HEAP32[$96>>2]|0; + $98 = (_sqlite3_stricmp($91,$97)|0); + $99 = ($98|0)!=(0); + if ($99) { + label = 15; break; } - $67 = (($61) + 1)|0; - HEAP32[$i>>2] = $67; + $100 = HEAP32[$5>>2]|0; + $101 = (($100) + 1)|0; + HEAP32[$5>>2] = $101; } - if ((label|0) == 5) { - $62 = HEAP32[$pSrc>>2]|0; - $63 = ((($62)) + 8|0); - $64 = (($63) + (($61*72)|0)|0); - $65 = ((($64)) + 44|0); - $66 = HEAP32[$65>>2]|0; - HEAP32[$iCurrent>>2] = $66; + if ((label|0) == 8) { + HEAP32[$2>>2] = 0; + $109 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($109|0); } - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 40|0); - $70 = HEAP32[$69>>2]|0; - $71 = (($70) + 1)|0; - HEAP32[$69>>2] = $71; - HEAP32[$iQueue>>2] = $70; - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 4|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = ($75|0)==(115); - $77 = HEAP32[$pOrderBy>>2]|0; - $78 = ($77|0)!=(0|0); - if ($76) { - $79 = $78 ? 8 : 6; - HEAP32[$eDest>>2] = $79; - $80 = HEAP32[$0>>2]|0; - $81 = ((($80)) + 40|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82) + 1)|0; - HEAP32[$81>>2] = $83; - HEAP32[$iDistinct>>2] = $82; - } else { - $84 = $78 ? 7 : 5; - HEAP32[$eDest>>2] = $84; - } - $85 = HEAP32[$eDest>>2]|0; - $86 = HEAP32[$iQueue>>2]|0; - _sqlite3SelectDestInit($destQueue,$85,$86); - $87 = HEAP32[$0>>2]|0; - $88 = ((($87)) + 44|0); - $89 = HEAP32[$88>>2]|0; - $90 = (($89) + 1)|0; - HEAP32[$88>>2] = $90; - HEAP32[$regCurrent>>2] = $90; - $91 = HEAP32[$v>>2]|0; - $92 = HEAP32[$iCurrent>>2]|0; - $93 = HEAP32[$regCurrent>>2]|0; - $94 = HEAP32[$nCol>>2]|0; - (_sqlite3VdbeAddOp3($91,110,$92,$93,$94)|0); - $95 = HEAP32[$pOrderBy>>2]|0; - $96 = ($95|0)!=(0|0); - if ($96) { - $97 = HEAP32[$0>>2]|0; - $98 = HEAP32[$1>>2]|0; - $99 = (_multiSelectOrderByKeyInfo($97,$98,1)|0); - HEAP32[$pKeyInfo>>2] = $99; - $100 = HEAP32[$v>>2]|0; - $101 = HEAP32[$iQueue>>2]|0; - $102 = HEAP32[$pOrderBy>>2]|0; - $103 = HEAP32[$102>>2]|0; - $104 = (($103) + 2)|0; - $105 = HEAP32[$pKeyInfo>>2]|0; - (_sqlite3VdbeAddOp4($100,107,$101,$104,0,$105,-6)|0); - $106 = HEAP32[$pOrderBy>>2]|0; - $107 = ((($destQueue)) + 20|0); - HEAP32[$107>>2] = $106; - } else { - $108 = HEAP32[$v>>2]|0; - $109 = HEAP32[$iQueue>>2]|0; - $110 = HEAP32[$nCol>>2]|0; - (_sqlite3VdbeAddOp2($108,107,$109,$110)|0); + else if ((label|0) == 11) { + HEAP32[$2>>2] = 0; + $109 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($109|0); } - $111 = HEAP32[$iDistinct>>2]|0; - $112 = ($111|0)!=(0); - if ($112) { - $113 = HEAP32[$v>>2]|0; - $114 = HEAP32[$iDistinct>>2]|0; - $115 = (_sqlite3VdbeAddOp2($113,107,$114,0)|0); - $116 = HEAP32[$1>>2]|0; - $117 = ((($116)) + 20|0); - HEAP32[$117>>2] = $115; - $118 = HEAP32[$1>>2]|0; - $119 = ((($118)) + 8|0); - $120 = HEAP32[$119>>2]|0; - $121 = $120 | 32; - HEAP32[$119>>2] = $121; + else if ((label|0) == 13) { + HEAP32[$2>>2] = 0; + $109 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($109|0); } - $122 = HEAP32[$1>>2]|0; - $123 = ((($122)) + 44|0); - HEAP32[$123>>2] = 0; - $124 = HEAP32[$pSetup>>2]|0; - $125 = ((($124)) + 52|0); - HEAP32[$125>>2] = 0; - $126 = HEAP32[$0>>2]|0; - $127 = HEAP32[$pSetup>>2]|0; - $128 = (_sqlite3Select($126,$127,$destQueue)|0); - HEAP32[$rc>>2] = $128; - $129 = HEAP32[$1>>2]|0; - $130 = HEAP32[$pSetup>>2]|0; - $131 = ((($130)) + 52|0); - HEAP32[$131>>2] = $129; - $132 = HEAP32[$rc>>2]|0; - $133 = ($132|0)!=(0); - if (!($133)) { - $134 = HEAP32[$v>>2]|0; - $135 = HEAP32[$iQueue>>2]|0; - $136 = HEAP32[$addrBreak>>2]|0; - $137 = (_sqlite3VdbeAddOp2($134,57,$135,$136)|0); - HEAP32[$addrTop>>2] = $137; - $138 = HEAP32[$v>>2]|0; - $139 = HEAP32[$iCurrent>>2]|0; - (_sqlite3VdbeAddOp1($138,124,$139)|0); - $140 = HEAP32[$pOrderBy>>2]|0; - $141 = ($140|0)!=(0|0); - $142 = HEAP32[$v>>2]|0; - $143 = HEAP32[$iQueue>>2]|0; - if ($141) { - $144 = HEAP32[$pOrderBy>>2]|0; - $145 = HEAP32[$144>>2]|0; - $146 = (($145) + 1)|0; - $147 = HEAP32[$regCurrent>>2]|0; - (_sqlite3VdbeAddOp3($142,96,$143,$146,$147)|0); - } else { - $148 = HEAP32[$regCurrent>>2]|0; - (_sqlite3VdbeAddOp2($142,122,$143,$148)|0); - } - $149 = HEAP32[$v>>2]|0; - $150 = HEAP32[$iQueue>>2]|0; - (_sqlite3VdbeAddOp1($149,117,$150)|0); - $151 = HEAP32[$v>>2]|0; - $152 = (_sqlite3VdbeMakeLabel($151)|0); - HEAP32[$addrCont>>2] = $152; - $153 = HEAP32[$v>>2]|0; - $154 = HEAP32[$regOffset>>2]|0; - $155 = HEAP32[$addrCont>>2]|0; - _codeOffset($153,$154,$155); - $156 = HEAP32[$0>>2]|0; - $157 = HEAP32[$1>>2]|0; - $158 = HEAP32[$1>>2]|0; - $159 = HEAP32[$158>>2]|0; - $160 = HEAP32[$iCurrent>>2]|0; - $161 = HEAP32[$2>>2]|0; - $162 = HEAP32[$addrCont>>2]|0; - $163 = HEAP32[$addrBreak>>2]|0; - _selectInnerLoop($156,$157,$159,$160,0,0,$161,$162,$163); - $164 = HEAP32[$regLimit>>2]|0; - $165 = ($164|0)!=(0); - if ($165) { - $166 = HEAP32[$v>>2]|0; - $167 = HEAP32[$regLimit>>2]|0; - $168 = HEAP32[$addrBreak>>2]|0; - (_sqlite3VdbeAddOp2($166,68,$167,$168)|0); - } - $169 = HEAP32[$v>>2]|0; - $170 = HEAP32[$addrCont>>2]|0; - _sqlite3VdbeResolveLabel($169,$170); - $171 = HEAP32[$1>>2]|0; - $172 = ((($171)) + 8|0); - $173 = HEAP32[$172>>2]|0; - $174 = $173 & 8; - $175 = ($174|0)!=(0); - if ($175) { - $176 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($176,35980,$vararg_buffer); + else if ((label|0) == 15) { + HEAP32[$2>>2] = 0; + $109 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($109|0); + } + else if ((label|0) == 17) { + $102 = ((($30)) + 36|0); + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$3>>2]|0; + $105 = ((($104)) + 36|0); + $106 = HEAP32[$105>>2]|0; + $107 = (_sqlite3ExprCompare($103,$106,-1)|0); + $108 = ($107|0)!=(0); + if ($108) { + HEAP32[$2>>2] = 0; + $109 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($109|0); } else { - $177 = HEAP32[$1>>2]|0; - $178 = ((($177)) + 48|0); - HEAP32[$178>>2] = 0; - $179 = HEAP32[$0>>2]|0; - $180 = HEAP32[$1>>2]|0; - (_sqlite3Select($179,$180,$destQueue)|0); - $181 = HEAP32[$pSetup>>2]|0; - $182 = HEAP32[$1>>2]|0; - $183 = ((($182)) + 48|0); - HEAP32[$183>>2] = $181; - } - $184 = HEAP32[$v>>2]|0; - $185 = HEAP32[$addrTop>>2]|0; - (_sqlite3VdbeGoto($184,$185)|0); - $186 = HEAP32[$v>>2]|0; - $187 = HEAP32[$addrBreak>>2]|0; - _sqlite3VdbeResolveLabel($186,$187); - } - $188 = HEAP32[$0>>2]|0; - $189 = HEAP32[$188>>2]|0; - $190 = HEAP32[$1>>2]|0; - $191 = ((($190)) + 44|0); - $192 = HEAP32[$191>>2]|0; - _sqlite3ExprListDelete($189,$192); - $193 = HEAP32[$pOrderBy>>2]|0; - $194 = HEAP32[$1>>2]|0; - $195 = ((($194)) + 44|0); - HEAP32[$195>>2] = $193; - $196 = HEAP32[$pLimit>>2]|0; - $197 = HEAP32[$1>>2]|0; - $198 = ((($197)) + 56|0); - HEAP32[$198>>2] = $196; - $199 = HEAP32[$pOffset>>2]|0; - $200 = HEAP32[$1>>2]|0; - $201 = ((($200)) + 60|0); - HEAP32[$201>>2] = $199; + HEAP32[$2>>2] = 1; + $109 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($109|0); + } + } + return (0)|0; +} +function _sqlite3AuthContextPush($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 4|0); + HEAP32[$8>>2] = $6; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 448|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$4>>2]|0; + HEAP32[$12>>2] = $11; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 448|0); + HEAP32[$15>>2] = $13; STACKTOP = sp;return; } -function _multiSelectOrderBy($pParse,$p,$pDest) { - $pParse = $pParse|0; - $p = $p|0; - $pDest = $pDest|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $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, $aPermute = 0, $addr1 = 0, $addrAeqB = 0, $addrAgtB = 0, $addrAltB = 0, $addrEofA = 0, $addrEofA_noB = 0; - var $addrEofB = 0, $addrOutA = 0, $addrOutB = 0, $addrSelectA = 0, $addrSelectB = 0, $db = 0, $destA = 0, $destB = 0, $i = 0, $iSub1 = 0, $iSub2 = 0, $j = 0, $labelCmpr = 0, $labelEnd = 0, $nExpr = 0, $nOrderBy = 0, $op = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0; - var $or$cond7 = 0, $pFirst = 0, $pItem = 0, $pItem1 = 0, $pKeyDup = 0, $pKeyMerge = 0, $pNew = 0, $pOrderBy = 0, $pPrior = 0, $regAddrA = 0, $regAddrB = 0, $regLimitA = 0, $regLimitB = 0, $regOutA = 0, $regOutB = 0, $regPrev = 0, $savedLimit = 0, $savedOffset = 0, $v = 0, label = 0; - var sp = 0; +function _sqlite3MaterializeView($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $0 = sp + 220|0; - $1 = sp + 216|0; - $2 = sp + 212|0; - $3 = sp + 208|0; - $i = sp + 204|0; - $j = sp + 200|0; - $pPrior = sp + 196|0; - $v = sp + 192|0; - $destA = sp + 168|0; - $destB = sp + 144|0; - $regAddrA = sp + 140|0; - $regAddrB = sp + 136|0; - $addrSelectA = sp + 132|0; - $addrSelectB = sp + 128|0; - $regOutA = sp + 124|0; - $regOutB = sp + 120|0; - $addrOutA = sp + 116|0; - $addrOutB = sp + 112|0; - $addrEofA = sp + 108|0; - $addrEofA_noB = sp + 104|0; - $addrEofB = sp + 100|0; - $addrAltB = sp + 96|0; - $addrAeqB = sp + 92|0; - $addrAgtB = sp + 88|0; - $regLimitA = sp + 84|0; - $regLimitB = sp + 80|0; - $regPrev = sp + 76|0; - $savedLimit = sp + 72|0; - $savedOffset = sp + 68|0; - $labelCmpr = sp + 64|0; - $labelEnd = sp + 60|0; - $addr1 = sp + 56|0; - $op = sp + 52|0; - $pKeyDup = sp + 48|0; - $pKeyMerge = sp + 44|0; - $db = sp + 40|0; - $pOrderBy = sp + 36|0; - $nOrderBy = sp + 32|0; - $aPermute = sp + 28|0; - $iSub1 = sp + 24|0; - $iSub2 = sp + 20|0; - $pItem = sp + 16|0; - $pNew = sp + 12|0; - $pItem1 = sp + 8|0; - $nExpr = sp + 4|0; - $pFirst = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $pDest; - HEAP32[$addrOutB>>2] = 0; - HEAP32[$pKeyDup>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$v>>2] = $8; - $9 = HEAP32[$v>>2]|0; - $10 = (_sqlite3VdbeMakeLabel($9)|0); - HEAP32[$labelEnd>>2] = $10; - $11 = HEAP32[$v>>2]|0; - $12 = (_sqlite3VdbeMakeLabel($11)|0); - HEAP32[$labelCmpr>>2] = $12; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - HEAP32[$op>>2] = $16; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 48|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pPrior>>2] = $19; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 44|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$pOrderBy>>2] = $22; - $23 = HEAP32[$pOrderBy>>2]|0; - $24 = HEAP32[$23>>2]|0; - HEAP32[$nOrderBy>>2] = $24; - $25 = HEAP32[$op>>2]|0; - $26 = ($25|0)!=(116); - L1: do { - if ($26) { - HEAP32[$i>>2] = 1; - while(1) { - $27 = HEAP32[$db>>2]|0; - $28 = ((($27)) + 69|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = ($30|0)==(0); - if (!($31)) { - break L1; - } - $32 = HEAP32[$i>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = ($32|0)<=($35|0); - if (!($36)) { - break L1; - } - HEAP32[$j>>2] = 0; - $37 = HEAP32[$pOrderBy>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$pItem>>2] = $39; - while(1) { - $40 = HEAP32[$j>>2]|0; - $41 = HEAP32[$nOrderBy>>2]|0; - $42 = ($40|0)<($41|0); - if (!($42)) { - break; - } - $43 = HEAP32[$pItem>>2]|0; - $44 = ((($43)) + 16|0); - $45 = HEAP16[$44>>1]|0; - $46 = $45&65535; - $47 = HEAP32[$i>>2]|0; - $48 = ($46|0)==($47|0); - if ($48) { - break; - } - $49 = HEAP32[$j>>2]|0; - $50 = (($49) + 1)|0; - HEAP32[$j>>2] = $50; - $51 = HEAP32[$pItem>>2]|0; - $52 = ((($51)) + 20|0); - HEAP32[$pItem>>2] = $52; - } - $53 = HEAP32[$j>>2]|0; - $54 = HEAP32[$nOrderBy>>2]|0; - $55 = ($53|0)==($54|0); - if ($55) { - $56 = HEAP32[$db>>2]|0; - $57 = (_sqlite3Expr($56,134,0)|0); - HEAP32[$pNew>>2] = $57; - $58 = HEAP32[$pNew>>2]|0; - $59 = ($58|0)==(0|0); - if ($59) { - break; - } - $60 = HEAP32[$pNew>>2]|0; - $61 = ((($60)) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = $62 | 1024; - HEAP32[$61>>2] = $63; - $64 = HEAP32[$i>>2]|0; - $65 = HEAP32[$pNew>>2]|0; - $66 = ((($65)) + 8|0); - HEAP32[$66>>2] = $64; - $67 = HEAP32[$1>>2]|0; - $68 = HEAP32[$pOrderBy>>2]|0; - $69 = HEAP32[$pNew>>2]|0; - $70 = (_sqlite3ExprListAppend($67,$68,$69)|0); - HEAP32[$pOrderBy>>2] = $70; - $71 = HEAP32[$pOrderBy>>2]|0; - $72 = ($71|0)!=(0|0); - if ($72) { - $73 = HEAP32[$i>>2]|0; - $74 = $73&65535; - $75 = HEAP32[$nOrderBy>>2]|0; - $76 = (($75) + 1)|0; - HEAP32[$nOrderBy>>2] = $76; - $77 = HEAP32[$pOrderBy>>2]|0; - $78 = ((($77)) + 4|0); - $79 = HEAP32[$78>>2]|0; - $80 = (($79) + (($75*20)|0)|0); - $81 = ((($80)) + 16|0); - HEAP16[$81>>1] = $74; - } - } - $82 = HEAP32[$i>>2]|0; - $83 = (($82) + 1)|0; - HEAP32[$i>>2] = $83; - } - HEAP32[$0>>2] = 7; - $472 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($472|0); - } - } while(0); - $84 = HEAP32[$db>>2]|0; - $85 = HEAP32[$nOrderBy>>2]|0; - $86 = (($85) + 1)|0; - $87 = $86<<2; - $88 = (_sqlite3DbMallocRawNN($84,$87,0)|0); - HEAP32[$aPermute>>2] = $88; - $89 = HEAP32[$aPermute>>2]|0; - $90 = ($89|0)!=(0|0); - if ($90) { - $91 = HEAP32[$nOrderBy>>2]|0; - $92 = HEAP32[$aPermute>>2]|0; - HEAP32[$92>>2] = $91; - HEAP32[$i>>2] = 1; - $93 = HEAP32[$pOrderBy>>2]|0; - $94 = ((($93)) + 4|0); - $95 = HEAP32[$94>>2]|0; - HEAP32[$pItem1>>2] = $95; - while(1) { - $96 = HEAP32[$i>>2]|0; - $97 = HEAP32[$nOrderBy>>2]|0; - $98 = ($96|0)<=($97|0); - if (!($98)) { - break; - } - $99 = HEAP32[$pItem1>>2]|0; - $100 = ((($99)) + 16|0); - $101 = HEAP16[$100>>1]|0; - $102 = $101&65535; - $103 = (($102) - 1)|0; - $104 = HEAP32[$i>>2]|0; - $105 = HEAP32[$aPermute>>2]|0; - $106 = (($105) + ($104<<2)|0); - HEAP32[$106>>2] = $103; - $107 = HEAP32[$i>>2]|0; - $108 = (($107) + 1)|0; - HEAP32[$i>>2] = $108; - $109 = HEAP32[$pItem1>>2]|0; - $110 = ((($109)) + 20|0); - HEAP32[$pItem1>>2] = $110; - } - $111 = HEAP32[$1>>2]|0; - $112 = HEAP32[$2>>2]|0; - $113 = (_multiSelectOrderByKeyInfo($111,$112,1)|0); - HEAP32[$pKeyMerge>>2] = $113; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$11>>2] = $14; + $15 = HEAP32[$11>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 64|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3SchemaToIndex($15,$18)|0); + HEAP32[$12>>2] = $19; + $20 = HEAP32[$11>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = (_sqlite3ExprDup($20,$21,0)|0); + HEAP32[$6>>2] = $22; + $23 = HEAP32[$11>>2]|0; + $24 = (_sqlite3SrcListAppend($23,0,0,0)|0); + HEAP32[$10>>2] = $24; + $25 = HEAP32[$10>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$11>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = (_sqlite3DbStrDup($27,$29)|0); + $31 = HEAP32[$10>>2]|0; + $32 = ((($31)) + 8|0); + $33 = ((($32)) + 8|0); + HEAP32[$33>>2] = $30; + $34 = HEAP32[$11>>2]|0; + $35 = HEAP32[$11>>2]|0; + $36 = ((($35)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$12>>2]|0; + $39 = (($37) + ($38<<4)|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3DbStrDup($34,$40)|0); + $42 = HEAP32[$10>>2]|0; + $43 = ((($42)) + 8|0); + $44 = ((($43)) + 4|0); + HEAP32[$44>>2] = $41; + } + $45 = HEAP32[$4>>2]|0; + $46 = HEAP32[$10>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = (_sqlite3SelectNew($45,0,$46,$47,0,0,0,131072,0,0)|0); + HEAP32[$9>>2] = $48; + $49 = HEAP32[$7>>2]|0; + _sqlite3SelectDestInit($8,12,$49); + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$9>>2]|0; + (_sqlite3Select($50,$51,$8)|0); + $52 = HEAP32[$11>>2]|0; + $53 = HEAP32[$9>>2]|0; + _sqlite3SelectDelete($52,$53); + STACKTOP = sp;return; +} +function _updateVirtualTable($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + 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 label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $8 = sp + 88|0; + $9 = sp + 84|0; + $10 = sp + 80|0; + $11 = sp + 76|0; + $12 = sp + 72|0; + $13 = sp + 68|0; + $14 = sp + 64|0; + $15 = sp + 60|0; + $16 = sp + 56|0; + $17 = sp + 52|0; + $18 = sp + 48|0; + $19 = sp + 44|0; + $20 = sp + 40|0; + $21 = sp + 36|0; + $22 = sp + 32|0; + $23 = sp + 28|0; + $24 = sp + 24|0; + $25 = sp + 20|0; + $26 = sp + 16|0; + $27 = sp + 8|0; + $28 = sp + 4|0; + $29 = sp; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + HEAP32[$15>>2] = $7; + $30 = HEAP32[$8>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$16>>2] = $32; + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$33>>2]|0; + HEAP32[$19>>2] = $34; + $35 = HEAP32[$19>>2]|0; + $36 = HEAP32[$10>>2]|0; + $37 = (_sqlite3GetVTable($35,$36)|0); + HEAP32[$20>>2] = $37; + $38 = HEAP32[$10>>2]|0; + $39 = ((($38)) + 34|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40 << 16 >> 16; + $42 = (2 + ($41))|0; + HEAP32[$22>>2] = $42; + $43 = HEAP32[$9>>2]|0; + $44 = ((($43)) + 8|0); + $45 = ((($44)) + 44|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$26>>2] = $46; + $47 = HEAP32[$8>>2]|0; + $48 = ((($47)) + 40|0); + $49 = HEAP32[$48>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$48>>2] = $50; + HEAP32[$17>>2] = $49; + $51 = HEAP32[$16>>2]|0; + $52 = HEAP32[$17>>2]|0; + $53 = HEAP32[$22>>2]|0; + $54 = (_sqlite3VdbeAddOp2($51,107,$52,$53)|0); + HEAP32[$29>>2] = $54; + $55 = HEAP32[$8>>2]|0; + $56 = ((($55)) + 44|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($57) + 1)|0; + HEAP32[$23>>2] = $58; + $59 = HEAP32[$22>>2]|0; + $60 = HEAP32[$8>>2]|0; + $61 = ((($60)) + 44|0); + $62 = HEAP32[$61>>2]|0; + $63 = (($62) + ($59))|0; + HEAP32[$61>>2] = $63; + $64 = HEAP32[$8>>2]|0; + $65 = ((($64)) + 44|0); + $66 = HEAP32[$65>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$65>>2] = $67; + HEAP32[$24>>2] = $67; + $68 = HEAP32[$8>>2]|0; + $69 = ((($68)) + 44|0); + $70 = HEAP32[$69>>2]|0; + $71 = (($70) + 1)|0; + HEAP32[$69>>2] = $71; + HEAP32[$25>>2] = $71; + $72 = HEAP32[$8>>2]|0; + $73 = HEAP32[$9>>2]|0; + $74 = HEAP32[$14>>2]|0; + $75 = (_sqlite3WhereBegin($72,$73,$74,0,0,4,0)|0); + HEAP32[$21>>2] = $75; + $76 = HEAP32[$21>>2]|0; + $77 = ($76|0)==(0|0); + if ($77) { + STACKTOP = sp;return; + } + $78 = HEAP32[$16>>2]|0; + $79 = HEAP32[$26>>2]|0; + $80 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp2($78,123,$79,$80)|0); + $81 = HEAP32[$12>>2]|0; + $82 = ($81|0)!=(0|0); + if ($82) { + $83 = HEAP32[$8>>2]|0; + $84 = HEAP32[$12>>2]|0; + $85 = HEAP32[$23>>2]|0; + $86 = (($85) + 1)|0; + _sqlite3ExprCode($83,$84,$86); } else { - HEAP32[$pKeyMerge>>2] = 0; + $87 = HEAP32[$16>>2]|0; + $88 = HEAP32[$26>>2]|0; + $89 = HEAP32[$23>>2]|0; + $90 = (($89) + 1)|0; + (_sqlite3VdbeAddOp2($87,123,$88,$90)|0); } - $114 = HEAP32[$pOrderBy>>2]|0; - $115 = HEAP32[$2>>2]|0; - $116 = ((($115)) + 44|0); - HEAP32[$116>>2] = $114; - $117 = HEAP32[$1>>2]|0; - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$pOrderBy>>2]|0; - $120 = (_sqlite3ExprListDup($118,$119,0)|0); - $121 = HEAP32[$pPrior>>2]|0; - $122 = ((($121)) + 44|0); - HEAP32[$122>>2] = $120; - $123 = HEAP32[$op>>2]|0; - $124 = ($123|0)==(116); - L28: do { - if ($124) { - HEAP32[$regPrev>>2] = 0; - } else { - $125 = HEAP32[$2>>2]|0; - $126 = HEAP32[$125>>2]|0; - $127 = HEAP32[$126>>2]|0; - HEAP32[$nExpr>>2] = $127; - $128 = HEAP32[$1>>2]|0; - $129 = ((($128)) + 44|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + 1)|0; - HEAP32[$regPrev>>2] = $131; - $132 = HEAP32[$nExpr>>2]|0; - $133 = (($132) + 1)|0; - $134 = HEAP32[$1>>2]|0; - $135 = ((($134)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = (($136) + ($133))|0; - HEAP32[$135>>2] = $137; - $138 = HEAP32[$v>>2]|0; - $139 = HEAP32[$regPrev>>2]|0; - (_sqlite3VdbeAddOp2($138,76,0,$139)|0); - $140 = HEAP32[$db>>2]|0; - $141 = HEAP32[$nExpr>>2]|0; - $142 = (_sqlite3KeyInfoAlloc($140,$141,1)|0); - HEAP32[$pKeyDup>>2] = $142; - $143 = HEAP32[$pKeyDup>>2]|0; - $144 = ($143|0)!=(0|0); - if ($144) { - HEAP32[$i>>2] = 0; - while(1) { - $145 = HEAP32[$i>>2]|0; - $146 = HEAP32[$nExpr>>2]|0; - $147 = ($145|0)<($146|0); - if (!($147)) { - break L28; - } - $148 = HEAP32[$1>>2]|0; - $149 = HEAP32[$2>>2]|0; - $150 = HEAP32[$i>>2]|0; - $151 = (_multiSelectCollSeq($148,$149,$150)|0); - $152 = HEAP32[$i>>2]|0; - $153 = HEAP32[$pKeyDup>>2]|0; - $154 = ((($153)) + 20|0); - $155 = (($154) + ($152<<2)|0); - HEAP32[$155>>2] = $151; - $156 = HEAP32[$i>>2]|0; - $157 = HEAP32[$pKeyDup>>2]|0; - $158 = ((($157)) + 16|0); - $159 = HEAP32[$158>>2]|0; - $160 = (($159) + ($156)|0); - HEAP8[$160>>0] = 0; - $161 = HEAP32[$i>>2]|0; - $162 = (($161) + 1)|0; - HEAP32[$i>>2] = $162; - } - } + HEAP32[$18>>2] = 0; + while(1) { + $91 = HEAP32[$18>>2]|0; + $92 = HEAP32[$10>>2]|0; + $93 = ((($92)) + 34|0); + $94 = HEAP16[$93>>1]|0; + $95 = $94 << 16 >> 16; + $96 = ($91|0)<($95|0); + if (!($96)) { + break; } - } while(0); - $163 = HEAP32[$2>>2]|0; - $164 = ((($163)) + 48|0); - HEAP32[$164>>2] = 0; - $165 = HEAP32[$pPrior>>2]|0; - $166 = ((($165)) + 52|0); - HEAP32[$166>>2] = 0; - $167 = HEAP32[$1>>2]|0; - $168 = HEAP32[$2>>2]|0; - $169 = HEAP32[$2>>2]|0; - $170 = ((($169)) + 44|0); - $171 = HEAP32[$170>>2]|0; - (_sqlite3ResolveOrderGroupBy($167,$168,$171,29099)|0); - $172 = HEAP32[$pPrior>>2]|0; - $173 = ((($172)) + 48|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if ($175) { - $176 = HEAP32[$1>>2]|0; - $177 = HEAP32[$pPrior>>2]|0; - $178 = HEAP32[$pPrior>>2]|0; - $179 = ((($178)) + 44|0); - $180 = HEAP32[$179>>2]|0; - (_sqlite3ResolveOrderGroupBy($176,$177,$180,29099)|0); - } - $181 = HEAP32[$1>>2]|0; - $182 = HEAP32[$2>>2]|0; - $183 = HEAP32[$labelEnd>>2]|0; - _computeLimitRegisters($181,$182,$183); - $184 = HEAP32[$2>>2]|0; - $185 = ((($184)) + 12|0); - $186 = HEAP32[$185>>2]|0; - $187 = ($186|0)!=(0); - $188 = HEAP32[$op>>2]|0; - $189 = ($188|0)==(116); - $or$cond = $187 & $189; - if ($or$cond) { - $190 = HEAP32[$1>>2]|0; - $191 = ((($190)) + 44|0); - $192 = HEAP32[$191>>2]|0; - $193 = (($192) + 1)|0; - HEAP32[$191>>2] = $193; - HEAP32[$regLimitA>>2] = $193; - $194 = HEAP32[$1>>2]|0; - $195 = ((($194)) + 44|0); - $196 = HEAP32[$195>>2]|0; - $197 = (($196) + 1)|0; - HEAP32[$195>>2] = $197; - HEAP32[$regLimitB>>2] = $197; - $198 = HEAP32[$v>>2]|0; - $199 = HEAP32[$2>>2]|0; - $200 = ((($199)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)!=(0); - $203 = HEAP32[$2>>2]|0; - if ($202) { - $204 = ((($203)) + 16|0); - $205 = HEAP32[$204>>2]|0; - $206 = (($205) + 1)|0; - $210 = $206; + $97 = HEAP32[$13>>2]|0; + $98 = HEAP32[$18>>2]|0; + $99 = (($97) + ($98<<2)|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)>=(0); + if ($101) { + $102 = HEAP32[$8>>2]|0; + $103 = HEAP32[$11>>2]|0; + $104 = ((($103)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$13>>2]|0; + $107 = HEAP32[$18>>2]|0; + $108 = (($106) + ($107<<2)|0); + $109 = HEAP32[$108>>2]|0; + $110 = (($105) + (($109*20)|0)|0); + $111 = HEAP32[$110>>2]|0; + $112 = HEAP32[$23>>2]|0; + $113 = (($112) + 2)|0; + $114 = HEAP32[$18>>2]|0; + $115 = (($113) + ($114))|0; + _sqlite3ExprCode($102,$111,$115); } else { - $207 = ((($203)) + 12|0); - $208 = HEAP32[$207>>2]|0; - $210 = $208; - } - $209 = HEAP32[$regLimitA>>2]|0; - (_sqlite3VdbeAddOp2($198,84,$210,$209)|0); - $211 = HEAP32[$v>>2]|0; - $212 = HEAP32[$regLimitA>>2]|0; - $213 = HEAP32[$regLimitB>>2]|0; - (_sqlite3VdbeAddOp2($211,84,$212,$213)|0); - } else { - HEAP32[$regLimitB>>2] = 0; - HEAP32[$regLimitA>>2] = 0; - } - $214 = HEAP32[$db>>2]|0; - $215 = HEAP32[$2>>2]|0; - $216 = ((($215)) + 56|0); - $217 = HEAP32[$216>>2]|0; - _sqlite3ExprDelete($214,$217); - $218 = HEAP32[$2>>2]|0; - $219 = ((($218)) + 56|0); - HEAP32[$219>>2] = 0; - $220 = HEAP32[$db>>2]|0; - $221 = HEAP32[$2>>2]|0; - $222 = ((($221)) + 60|0); - $223 = HEAP32[$222>>2]|0; - _sqlite3ExprDelete($220,$223); - $224 = HEAP32[$2>>2]|0; - $225 = ((($224)) + 60|0); - HEAP32[$225>>2] = 0; - $226 = HEAP32[$1>>2]|0; - $227 = ((($226)) + 44|0); - $228 = HEAP32[$227>>2]|0; - $229 = (($228) + 1)|0; - HEAP32[$227>>2] = $229; - HEAP32[$regAddrA>>2] = $229; - $230 = HEAP32[$1>>2]|0; - $231 = ((($230)) + 44|0); - $232 = HEAP32[$231>>2]|0; - $233 = (($232) + 1)|0; - HEAP32[$231>>2] = $233; - HEAP32[$regAddrB>>2] = $233; - $234 = HEAP32[$1>>2]|0; - $235 = ((($234)) + 44|0); - $236 = HEAP32[$235>>2]|0; - $237 = (($236) + 1)|0; - HEAP32[$235>>2] = $237; - HEAP32[$regOutA>>2] = $237; - $238 = HEAP32[$1>>2]|0; - $239 = ((($238)) + 44|0); - $240 = HEAP32[$239>>2]|0; - $241 = (($240) + 1)|0; - HEAP32[$239>>2] = $241; - HEAP32[$regOutB>>2] = $241; - $242 = HEAP32[$regAddrA>>2]|0; - _sqlite3SelectDestInit($destA,13,$242); - $243 = HEAP32[$regAddrB>>2]|0; - _sqlite3SelectDestInit($destB,13,$243); - $244 = HEAP32[$v>>2]|0; - $245 = (_sqlite3VdbeCurrentAddr($244)|0); - $246 = (($245) + 1)|0; - HEAP32[$addrSelectA>>2] = $246; - $247 = HEAP32[$v>>2]|0; - $248 = HEAP32[$regAddrA>>2]|0; - $249 = HEAP32[$addrSelectA>>2]|0; - $250 = (_sqlite3VdbeAddOp3($247,15,$248,0,$249)|0); - HEAP32[$addr1>>2] = $250; - $251 = HEAP32[$regLimitA>>2]|0; - $252 = HEAP32[$pPrior>>2]|0; - $253 = ((($252)) + 12|0); - HEAP32[$253>>2] = $251; - $254 = HEAP32[$1>>2]|0; - $255 = ((($254)) + 424|0); - $256 = HEAP32[$255>>2]|0; - HEAP32[$iSub1>>2] = $256; - $257 = HEAP32[$1>>2]|0; - $258 = HEAP32[$pPrior>>2]|0; - (_sqlite3Select($257,$258,$destA)|0); - $259 = HEAP32[$v>>2]|0; - $260 = HEAP32[$regAddrA>>2]|0; - _sqlite3VdbeEndCoroutine($259,$260); - $261 = HEAP32[$v>>2]|0; - $262 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($261,$262); - $263 = HEAP32[$v>>2]|0; - $264 = (_sqlite3VdbeCurrentAddr($263)|0); - $265 = (($264) + 1)|0; - HEAP32[$addrSelectB>>2] = $265; - $266 = HEAP32[$v>>2]|0; - $267 = HEAP32[$regAddrB>>2]|0; - $268 = HEAP32[$addrSelectB>>2]|0; - $269 = (_sqlite3VdbeAddOp3($266,15,$267,0,$268)|0); - HEAP32[$addr1>>2] = $269; - $270 = HEAP32[$2>>2]|0; - $271 = ((($270)) + 12|0); - $272 = HEAP32[$271>>2]|0; - HEAP32[$savedLimit>>2] = $272; - $273 = HEAP32[$2>>2]|0; - $274 = ((($273)) + 16|0); - $275 = HEAP32[$274>>2]|0; - HEAP32[$savedOffset>>2] = $275; - $276 = HEAP32[$regLimitB>>2]|0; - $277 = HEAP32[$2>>2]|0; - $278 = ((($277)) + 12|0); - HEAP32[$278>>2] = $276; - $279 = HEAP32[$2>>2]|0; - $280 = ((($279)) + 16|0); - HEAP32[$280>>2] = 0; - $281 = HEAP32[$1>>2]|0; - $282 = ((($281)) + 424|0); - $283 = HEAP32[$282>>2]|0; - HEAP32[$iSub2>>2] = $283; - $284 = HEAP32[$1>>2]|0; - $285 = HEAP32[$2>>2]|0; - (_sqlite3Select($284,$285,$destB)|0); - $286 = HEAP32[$savedLimit>>2]|0; - $287 = HEAP32[$2>>2]|0; - $288 = ((($287)) + 12|0); - HEAP32[$288>>2] = $286; - $289 = HEAP32[$savedOffset>>2]|0; - $290 = HEAP32[$2>>2]|0; - $291 = ((($290)) + 16|0); - HEAP32[$291>>2] = $289; - $292 = HEAP32[$v>>2]|0; - $293 = HEAP32[$regAddrB>>2]|0; - _sqlite3VdbeEndCoroutine($292,$293); - $294 = HEAP32[$1>>2]|0; - $295 = HEAP32[$2>>2]|0; - $296 = HEAP32[$3>>2]|0; - $297 = HEAP32[$regOutA>>2]|0; - $298 = HEAP32[$regPrev>>2]|0; - $299 = HEAP32[$pKeyDup>>2]|0; - $300 = HEAP32[$labelEnd>>2]|0; - $301 = (_generateOutputSubroutine($294,$295,$destA,$296,$297,$298,$299,$300)|0); - HEAP32[$addrOutA>>2] = $301; - $302 = HEAP32[$op>>2]|0; - $303 = ($302|0)==(116); - $304 = HEAP32[$op>>2]|0; - $305 = ($304|0)==(115); - $or$cond3 = $303 | $305; - if ($or$cond3) { - $306 = HEAP32[$1>>2]|0; - $307 = HEAP32[$2>>2]|0; - $308 = HEAP32[$3>>2]|0; - $309 = HEAP32[$regOutB>>2]|0; - $310 = HEAP32[$regPrev>>2]|0; - $311 = HEAP32[$pKeyDup>>2]|0; - $312 = HEAP32[$labelEnd>>2]|0; - $313 = (_generateOutputSubroutine($306,$307,$destB,$308,$309,$310,$311,$312)|0); - HEAP32[$addrOutB>>2] = $313; - } - $314 = HEAP32[$pKeyDup>>2]|0; - _sqlite3KeyInfoUnref($314); - $315 = HEAP32[$op>>2]|0; - $316 = ($315|0)==(117); - $317 = HEAP32[$op>>2]|0; - $318 = ($317|0)==(118); - $or$cond5 = $316 | $318; - if ($or$cond5) { - $319 = HEAP32[$labelEnd>>2]|0; - HEAP32[$addrEofA>>2] = $319; - HEAP32[$addrEofA_noB>>2] = $319; - } else { - $320 = HEAP32[$v>>2]|0; - $321 = HEAP32[$regOutB>>2]|0; - $322 = HEAP32[$addrOutB>>2]|0; - $323 = (_sqlite3VdbeAddOp2($320,14,$321,$322)|0); - HEAP32[$addrEofA>>2] = $323; - $324 = HEAP32[$v>>2]|0; - $325 = HEAP32[$regAddrB>>2]|0; - $326 = HEAP32[$labelEnd>>2]|0; - $327 = (_sqlite3VdbeAddOp2($324,16,$325,$326)|0); - HEAP32[$addrEofA_noB>>2] = $327; - $328 = HEAP32[$v>>2]|0; - $329 = HEAP32[$addrEofA>>2]|0; - (_sqlite3VdbeGoto($328,$329)|0); - $330 = HEAP32[$2>>2]|0; - $331 = ((($330)) + 6|0); - $332 = HEAP16[$331>>1]|0; - $333 = HEAP32[$pPrior>>2]|0; - $334 = ((($333)) + 6|0); - $335 = HEAP16[$334>>1]|0; - $336 = (_sqlite3LogEstAdd($332,$335)|0); - $337 = HEAP32[$2>>2]|0; - $338 = ((($337)) + 6|0); - HEAP16[$338>>1] = $336; - } - $339 = HEAP32[$op>>2]|0; - $340 = ($339|0)==(118); - if ($340) { - $341 = HEAP32[$addrEofA>>2]|0; - HEAP32[$addrEofB>>2] = $341; - $342 = HEAP32[$2>>2]|0; - $343 = ((($342)) + 6|0); - $344 = HEAP16[$343>>1]|0; - $345 = $344 << 16 >> 16; - $346 = HEAP32[$pPrior>>2]|0; - $347 = ((($346)) + 6|0); - $348 = HEAP16[$347>>1]|0; - $349 = $348 << 16 >> 16; - $350 = ($345|0)>($349|0); - if ($350) { - $351 = HEAP32[$pPrior>>2]|0; - $352 = ((($351)) + 6|0); - $353 = HEAP16[$352>>1]|0; - $354 = HEAP32[$2>>2]|0; - $355 = ((($354)) + 6|0); - HEAP16[$355>>1] = $353; + $116 = HEAP32[$16>>2]|0; + $117 = HEAP32[$26>>2]|0; + $118 = HEAP32[$18>>2]|0; + $119 = HEAP32[$23>>2]|0; + $120 = (($119) + 2)|0; + $121 = HEAP32[$18>>2]|0; + $122 = (($120) + ($121))|0; + (_sqlite3VdbeAddOp3($116,156,$117,$118,$122)|0); + } + $123 = HEAP32[$18>>2]|0; + $124 = (($123) + 1)|0; + HEAP32[$18>>2] = $124; + } + $125 = HEAP32[$21>>2]|0; + $126 = (_sqlite3WhereOkOnePass($125,$27)|0); + HEAP32[$28>>2] = $126; + $127 = HEAP32[$28>>2]|0; + $128 = ($127|0)!=(0); + $129 = HEAP32[$16>>2]|0; + if ($128) { + $130 = HEAP32[$29>>2]|0; + (_sqlite3VdbeChangeToNoop($129,$130)|0); + $131 = HEAP32[$8>>2]|0; + $132 = ((($131)) + 124|0); + $133 = HEAP32[$132>>2]|0; + $134 = ($133|0)==(0|0); + if ($134) { + $135 = HEAP32[$8>>2]|0; + $136 = ((($135)) + 20|0); + HEAP8[$136>>0] = 0; } } else { - $356 = HEAP32[$v>>2]|0; - $357 = HEAP32[$regOutA>>2]|0; - $358 = HEAP32[$addrOutA>>2]|0; - $359 = (_sqlite3VdbeAddOp2($356,14,$357,$358)|0); - HEAP32[$addrEofB>>2] = $359; - $360 = HEAP32[$v>>2]|0; - $361 = HEAP32[$regAddrA>>2]|0; - $362 = HEAP32[$labelEnd>>2]|0; - (_sqlite3VdbeAddOp2($360,16,$361,$362)|0); - $363 = HEAP32[$v>>2]|0; - $364 = HEAP32[$addrEofB>>2]|0; - (_sqlite3VdbeGoto($363,$364)|0); - } - $365 = HEAP32[$v>>2]|0; - $366 = HEAP32[$regOutA>>2]|0; - $367 = HEAP32[$addrOutA>>2]|0; - $368 = (_sqlite3VdbeAddOp2($365,14,$366,$367)|0); - HEAP32[$addrAltB>>2] = $368; - $369 = HEAP32[$v>>2]|0; - $370 = HEAP32[$regAddrA>>2]|0; - $371 = HEAP32[$addrEofA>>2]|0; - (_sqlite3VdbeAddOp2($369,16,$370,$371)|0); - $372 = HEAP32[$v>>2]|0; - $373 = HEAP32[$labelCmpr>>2]|0; - (_sqlite3VdbeGoto($372,$373)|0); - $374 = HEAP32[$op>>2]|0; - $375 = ($374|0)==(116); - do { - if ($375) { - $376 = HEAP32[$addrAltB>>2]|0; - HEAP32[$addrAeqB>>2] = $376; - } else { - $377 = HEAP32[$op>>2]|0; - $378 = ($377|0)==(118); - if ($378) { - $379 = HEAP32[$addrAltB>>2]|0; - HEAP32[$addrAeqB>>2] = $379; - $380 = HEAP32[$addrAltB>>2]|0; - $381 = (($380) + 1)|0; - HEAP32[$addrAltB>>2] = $381; - break; - } else { - $382 = HEAP32[$v>>2]|0; - $383 = HEAP32[$regAddrA>>2]|0; - $384 = HEAP32[$addrEofA>>2]|0; - $385 = (_sqlite3VdbeAddOp2($382,16,$383,$384)|0); - HEAP32[$addrAeqB>>2] = $385; - $386 = HEAP32[$v>>2]|0; - $387 = HEAP32[$labelCmpr>>2]|0; - (_sqlite3VdbeGoto($386,$387)|0); - break; + $137 = HEAP32[$23>>2]|0; + $138 = HEAP32[$22>>2]|0; + $139 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp3($129,99,$137,$138,$139)|0); + $140 = HEAP32[$16>>2]|0; + $141 = HEAP32[$17>>2]|0; + $142 = HEAP32[$25>>2]|0; + (_sqlite3VdbeAddOp2($140,114,$141,$142)|0); + $143 = HEAP32[$16>>2]|0; + $144 = HEAP32[$17>>2]|0; + $145 = HEAP32[$24>>2]|0; + $146 = HEAP32[$25>>2]|0; + (_sqlite3VdbeAddOp3($143,115,$144,$145,$146)|0); + } + $147 = HEAP32[$28>>2]|0; + $148 = ($147|0)==(0); + L21: do { + if ($148) { + $149 = HEAP32[$21>>2]|0; + _sqlite3WhereEnd($149); + $150 = HEAP32[$16>>2]|0; + $151 = HEAP32[$17>>2]|0; + $152 = (_sqlite3VdbeAddOp1($150,57,$151)|0); + HEAP32[$29>>2] = $152; + HEAP32[$18>>2] = 0; + while(1) { + $153 = HEAP32[$18>>2]|0; + $154 = HEAP32[$22>>2]|0; + $155 = ($153|0)<($154|0); + if (!($155)) { + break L21; + } + $156 = HEAP32[$16>>2]|0; + $157 = HEAP32[$17>>2]|0; + $158 = HEAP32[$18>>2]|0; + $159 = HEAP32[$23>>2]|0; + $160 = HEAP32[$18>>2]|0; + $161 = (($159) + ($160))|0; + (_sqlite3VdbeAddOp3($156,96,$157,$158,$161)|0); + $162 = HEAP32[$18>>2]|0; + $163 = (($162) + 1)|0; + HEAP32[$18>>2] = $163; } } } while(0); - $388 = HEAP32[$v>>2]|0; - $389 = (_sqlite3VdbeCurrentAddr($388)|0); - HEAP32[$addrAgtB>>2] = $389; - $390 = HEAP32[$op>>2]|0; - $391 = ($390|0)==(116); - $392 = HEAP32[$op>>2]|0; - $393 = ($392|0)==(115); - $or$cond7 = $391 | $393; - if ($or$cond7) { - $394 = HEAP32[$v>>2]|0; - $395 = HEAP32[$regOutB>>2]|0; - $396 = HEAP32[$addrOutB>>2]|0; - (_sqlite3VdbeAddOp2($394,14,$395,$396)|0); - } - $397 = HEAP32[$v>>2]|0; - $398 = HEAP32[$regAddrB>>2]|0; - $399 = HEAP32[$addrEofB>>2]|0; - (_sqlite3VdbeAddOp2($397,16,$398,$399)|0); - $400 = HEAP32[$v>>2]|0; - $401 = HEAP32[$labelCmpr>>2]|0; - (_sqlite3VdbeGoto($400,$401)|0); - $402 = HEAP32[$v>>2]|0; - $403 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($402,$403); - $404 = HEAP32[$v>>2]|0; - $405 = HEAP32[$regAddrA>>2]|0; - $406 = HEAP32[$addrEofA_noB>>2]|0; - (_sqlite3VdbeAddOp2($404,16,$405,$406)|0); - $407 = HEAP32[$v>>2]|0; - $408 = HEAP32[$regAddrB>>2]|0; - $409 = HEAP32[$addrEofB>>2]|0; - (_sqlite3VdbeAddOp2($407,16,$408,$409)|0); - $410 = HEAP32[$v>>2]|0; - $411 = HEAP32[$labelCmpr>>2]|0; - _sqlite3VdbeResolveLabel($410,$411); - $412 = HEAP32[$v>>2]|0; - $413 = HEAP32[$aPermute>>2]|0; - (_sqlite3VdbeAddOp4($412,94,0,0,0,$413,-15)|0); - $414 = HEAP32[$v>>2]|0; - $415 = ((($destA)) + 12|0); - $416 = HEAP32[$415>>2]|0; - $417 = ((($destB)) + 12|0); - $418 = HEAP32[$417>>2]|0; - $419 = HEAP32[$nOrderBy>>2]|0; - $420 = HEAP32[$pKeyMerge>>2]|0; - (_sqlite3VdbeAddOp4($414,95,$416,$418,$419,$420,-6)|0); - $421 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($421,1); - $422 = HEAP32[$v>>2]|0; - $423 = HEAP32[$addrAltB>>2]|0; - $424 = HEAP32[$addrAeqB>>2]|0; - $425 = HEAP32[$addrAgtB>>2]|0; - (_sqlite3VdbeAddOp3($422,18,$423,$424,$425)|0); - $426 = HEAP32[$v>>2]|0; - $427 = HEAP32[$labelEnd>>2]|0; - _sqlite3VdbeResolveLabel($426,$427); - $428 = HEAP32[$3>>2]|0; - $429 = HEAP8[$428>>0]|0; - $430 = $429&255; - $431 = ($430|0)==(9); - if ($431) { - $432 = HEAP32[$pPrior>>2]|0; - HEAP32[$pFirst>>2] = $432; - while(1) { - $433 = HEAP32[$pFirst>>2]|0; - $434 = ((($433)) + 48|0); - $435 = HEAP32[$434>>2]|0; - $436 = ($435|0)!=(0|0); - if (!($436)) { - break; - } - $437 = HEAP32[$pFirst>>2]|0; - $438 = ((($437)) + 48|0); - $439 = HEAP32[$438>>2]|0; - HEAP32[$pFirst>>2] = $439; - } - $440 = HEAP32[$1>>2]|0; - $441 = HEAP32[$pFirst>>2]|0; - $442 = ((($441)) + 28|0); - $443 = HEAP32[$442>>2]|0; - $444 = HEAP32[$pFirst>>2]|0; - $445 = HEAP32[$444>>2]|0; - _generateColumnNames($440,$443,$445); - } - $446 = HEAP32[$2>>2]|0; - $447 = ((($446)) + 48|0); - $448 = HEAP32[$447>>2]|0; - $449 = ($448|0)!=(0|0); - if ($449) { - $450 = HEAP32[$db>>2]|0; - $451 = HEAP32[$2>>2]|0; - $452 = ((($451)) + 48|0); - $453 = HEAP32[$452>>2]|0; - _sqlite3SelectDelete($450,$453); - } - $454 = HEAP32[$pPrior>>2]|0; - $455 = HEAP32[$2>>2]|0; - $456 = ((($455)) + 48|0); - HEAP32[$456>>2] = $454; - $457 = HEAP32[$2>>2]|0; - $458 = HEAP32[$pPrior>>2]|0; - $459 = ((($458)) + 52|0); - HEAP32[$459>>2] = $457; - $460 = HEAP32[$1>>2]|0; - $461 = HEAP32[$2>>2]|0; - $462 = ((($461)) + 4|0); - $463 = HEAP8[$462>>0]|0; - $464 = $463&255; - $465 = HEAP32[$iSub1>>2]|0; - $466 = HEAP32[$iSub2>>2]|0; - _explainComposite($460,$464,$465,$466,0); - $467 = HEAP32[$1>>2]|0; - $468 = ((($467)) + 36|0); - $469 = HEAP32[$468>>2]|0; - $470 = ($469|0)!=(0); - $471 = $470&1; - HEAP32[$0>>2] = $471; - $472 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($472|0); -} -function _explainComposite($pParse,$op,$iSub1,$iSub2,$bUseTmp) { - $pParse = $pParse|0; - $op = $op|0; - $iSub1 = $iSub1|0; - $iSub2 = $iSub2|0; - $bUseTmp = $bUseTmp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $zMsg = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $v = sp + 20|0; - $zMsg = sp + 16|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $iSub1; - HEAP32[$3>>2] = $iSub2; - HEAP32[$4>>2] = $bUseTmp; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 409|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(2); - if (!($9)) { + $164 = HEAP32[$8>>2]|0; + $165 = HEAP32[$10>>2]|0; + _sqlite3VtabMakeWritable($164,$165); + $166 = HEAP32[$16>>2]|0; + $167 = HEAP32[$22>>2]|0; + $168 = HEAP32[$23>>2]|0; + $169 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp4($166,12,0,$167,$168,$169,-10)|0); + $170 = HEAP32[$16>>2]|0; + $171 = HEAP32[$15>>2]|0; + $172 = ($171|0)==(10); + $173 = HEAP32[$15>>2]|0; + $174 = $172 ? 2 : $173; + $175 = $174&255; + _sqlite3VdbeChangeP5($170,$175); + $176 = HEAP32[$8>>2]|0; + _sqlite3MayAbort($176); + $177 = HEAP32[$28>>2]|0; + $178 = ($177|0)==(0); + if ($178) { + $179 = HEAP32[$16>>2]|0; + $180 = HEAP32[$17>>2]|0; + $181 = HEAP32[$29>>2]|0; + $182 = (($181) + 1)|0; + (_sqlite3VdbeAddOp2($179,7,$180,$182)|0); + $183 = HEAP32[$16>>2]|0; + $184 = HEAP32[$29>>2]|0; + _sqlite3VdbeJumpHere($183,$184); + $185 = HEAP32[$16>>2]|0; + $186 = HEAP32[$17>>2]|0; + (_sqlite3VdbeAddOp2($185,111,$186,0)|0); + STACKTOP = sp;return; + } else { + $187 = HEAP32[$21>>2]|0; + _sqlite3WhereEnd($187); STACKTOP = sp;return; } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$v>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = HEAP32[$4>>2]|0; - $18 = ($17|0)!=(0); - $19 = $18 ? 35924 : 18402; - $20 = HEAP32[$1>>2]|0; - $21 = (_selectOpName($20)|0); - HEAP32[$vararg_buffer>>2] = $15; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $16; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $19; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $21; - $22 = (_sqlite3MPrintf($14,35943,$vararg_buffer)|0); - HEAP32[$zMsg>>2] = $22; - $23 = HEAP32[$v>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 420|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$zMsg>>2]|0; - (_sqlite3VdbeAddOp4($23,162,$26,0,0,$27,-1)|0); - STACKTOP = sp;return; } -function _multiSelectCollSeq($pParse,$p,$iCol) { - $pParse = $pParse|0; - $p = $p|0; - $iCol = $iCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRet = 0, label = 0, sp = 0; +function _sqlite3WhereOkOnePass($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 12|0; - $1 = sp + 8|0; $2 = sp + 4|0; - $pRet = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iCol; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 48|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 48|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = (_multiSelectCollSeq($7,$10,$11)|0); - HEAP32[$pRet>>2] = $12; - } else { - HEAP32[$pRet>>2] = 0; - } - $13 = HEAP32[$pRet>>2]|0; - $14 = ($13|0)==(0|0); - if (!($14)) { - $29 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($29|0); - } - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)<($18|0); - if (!($19)) { - $29 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($29|0); + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 20|0); + ;HEAP32[$4>>2]=HEAP32[$6>>2]|0;HEAP32[$4+4>>2]=HEAP32[$6+4>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 45|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + STACKTOP = sp;return ($10|0); +} +function _sqlite3AuthContextPop($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; } - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + (($21*20)|0)|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_sqlite3ExprCollSeq($20,$27)|0); - HEAP32[$pRet>>2] = $28; - $29 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($29|0); + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 448|0); + HEAP32[$11>>2] = $7; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 4|0); + HEAP32[$13>>2] = 0; + STACKTOP = sp;return; } -function _multiSelectOrderByKeyInfo($pParse,$p,$nExtra) { - $pParse = $pParse|0; - $p = $p|0; - $nExtra = $nExtra|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $db = 0; - var $i = 0, $nOrderBy = 0, $pColl = 0, $pItem = 0, $pOrderBy = 0, $pRet = 0, $pTerm = 0, label = 0, sp = 0; +function _sqlite3SrcListEnlarge($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, $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, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $pOrderBy = sp + 28|0; - $nOrderBy = sp + 24|0; - $db = sp + 20|0; - $pRet = sp + 16|0; - $i = sp + 12|0; - $pItem = sp + 8|0; - $pTerm = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $nExtra; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 44|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pOrderBy>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 44|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$nOrderBy>>2] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$10>>2]|0; - HEAP32[$db>>2] = $11; - $12 = HEAP32[$db>>2]|0; - $13 = HEAP32[$nOrderBy>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (($13) + ($14))|0; - $16 = (_sqlite3KeyInfoAlloc($12,$15,1)|0); - HEAP32[$pRet>>2] = $16; - $17 = HEAP32[$pRet>>2]|0; - $18 = ($17|0)!=(0|0); - if (!($18)) { - $78 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($78|0); - } - HEAP32[$i>>2] = 0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = (($14) + ($15))|0; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($16>>>0)>($19>>>0); + do { + if ($20) { + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = (($22) + ($23))|0; + HEAP32[$11>>2] = $24; + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$11>>2]|0; + $28 = (($27) - 1)|0; + $29 = ($28*72)|0; + $30 = (80 + ($29))|0; + $31 = (_sqlite3DbRealloc($25,$26,$30,0)|0); + HEAP32[$10>>2] = $31; + $32 = HEAP32[$10>>2]|0; + $33 = ($32|0)==(0|0); + if (!($33)) { + $35 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $35; + $36 = HEAP32[$5>>2]|0; + $37 = HEAP32[$10>>2]|0; + $38 = (_sqlite3DbMallocSize($36,$37)|0); + $39 = (($38) - 80)|0; + $40 = (($39>>>0) / 72)&-1; + $41 = (($40) + 1)|0; + HEAP32[$12>>2] = $41; + $42 = HEAP32[$12>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = ((($43)) + 4|0); + HEAP32[$44>>2] = $42; + break; + } + $34 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $34; + $86 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($86|0); + } + } while(0); + $45 = HEAP32[$6>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = (($46) - 1)|0; + HEAP32[$9>>2] = $47; while(1) { - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$nOrderBy>>2]|0; - $21 = ($19|0)<($20|0); - if (!($21)) { + $48 = HEAP32[$9>>2]|0; + $49 = HEAP32[$8>>2]|0; + $50 = ($48|0)>=($49|0); + if (!($50)) { break; } - $22 = HEAP32[$i>>2]|0; - $23 = HEAP32[$pOrderBy>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + (($22*20)|0)|0); - HEAP32[$pItem>>2] = $26; - $27 = HEAP32[$pItem>>2]|0; - $28 = HEAP32[$27>>2]|0; - HEAP32[$pTerm>>2] = $28; - $29 = HEAP32[$pTerm>>2]|0; - $30 = ((($29)) + 4|0); - $31 = HEAP32[$30>>2]|0; - $32 = $31 & 256; - $33 = ($32|0)!=(0); - $34 = HEAP32[$0>>2]|0; - if ($33) { - $35 = HEAP32[$pTerm>>2]|0; - $36 = (_sqlite3ExprCollSeq($34,$35)|0); - HEAP32[$pColl>>2] = $36; - } else { - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$pItem>>2]|0; - $39 = ((($38)) + 16|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40&65535; - $42 = (($41) - 1)|0; - $43 = (_multiSelectCollSeq($34,$37,$42)|0); - HEAP32[$pColl>>2] = $43; - $44 = HEAP32[$pColl>>2]|0; - $45 = ($44|0)==(0|0); - if ($45) { - $46 = HEAP32[$db>>2]|0; - $47 = ((($46)) + 8|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$pColl>>2] = $48; - } - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$pTerm>>2]|0; - $51 = HEAP32[$pColl>>2]|0; - $52 = HEAP32[$51>>2]|0; - $53 = (_sqlite3ExprAddCollateString($49,$50,$52)|0); - $54 = HEAP32[$i>>2]|0; - $55 = HEAP32[$pOrderBy>>2]|0; - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + (($54*20)|0)|0); - HEAP32[$58>>2] = $53; + $51 = HEAP32[$6>>2]|0; + $52 = ((($51)) + 8|0); + $53 = HEAP32[$9>>2]|0; + $54 = HEAP32[$7>>2]|0; + $55 = (($53) + ($54))|0; + $56 = (($52) + (($55*72)|0)|0); + $57 = HEAP32[$6>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$9>>2]|0; + $60 = (($58) + (($59*72)|0)|0); + dest=$56; src=$60; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $61 = HEAP32[$9>>2]|0; + $62 = (($61) + -1)|0; + HEAP32[$9>>2] = $62; + } + $63 = HEAP32[$7>>2]|0; + $64 = HEAP32[$6>>2]|0; + $65 = HEAP32[$64>>2]|0; + $66 = (($65) + ($63))|0; + HEAP32[$64>>2] = $66; + $67 = HEAP32[$6>>2]|0; + $68 = ((($67)) + 8|0); + $69 = HEAP32[$8>>2]|0; + $70 = (($68) + (($69*72)|0)|0); + $71 = HEAP32[$7>>2]|0; + $72 = ($71*72)|0; + _memset(($70|0),0,($72|0))|0; + $73 = HEAP32[$8>>2]|0; + HEAP32[$9>>2] = $73; + while(1) { + $74 = HEAP32[$9>>2]|0; + $75 = HEAP32[$8>>2]|0; + $76 = HEAP32[$7>>2]|0; + $77 = (($75) + ($76))|0; + $78 = ($74|0)<($77|0); + $79 = HEAP32[$6>>2]|0; + if (!($78)) { + break; } - $59 = HEAP32[$pColl>>2]|0; - $60 = HEAP32[$i>>2]|0; - $61 = HEAP32[$pRet>>2]|0; - $62 = ((($61)) + 20|0); - $63 = (($62) + ($60<<2)|0); - HEAP32[$63>>2] = $59; - $64 = HEAP32[$i>>2]|0; - $65 = HEAP32[$pOrderBy>>2]|0; - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + (($64*20)|0)|0); - $69 = ((($68)) + 12|0); - $70 = HEAP8[$69>>0]|0; - $71 = HEAP32[$i>>2]|0; - $72 = HEAP32[$pRet>>2]|0; - $73 = ((($72)) + 16|0); - $74 = HEAP32[$73>>2]|0; - $75 = (($74) + ($71)|0); - HEAP8[$75>>0] = $70; - $76 = HEAP32[$i>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[$i>>2] = $77; + $80 = ((($79)) + 8|0); + $81 = HEAP32[$9>>2]|0; + $82 = (($80) + (($81*72)|0)|0); + $83 = ((($82)) + 44|0); + HEAP32[$83>>2] = -1; + $84 = HEAP32[$9>>2]|0; + $85 = (($84) + 1)|0; + HEAP32[$9>>2] = $85; } - $78 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($78|0); + HEAP32[$4>>2] = $79; + $86 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($86|0); } -function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$pKeyInfo,$iBreak) { - $pParse = $pParse|0; - $p = $p|0; - $pIn = $pIn|0; - $pDest = $pDest|0; - $regReturn = $regReturn|0; - $regPrev = $regPrev|0; - $pKeyInfo = $pKeyInfo|0; - $iBreak = $iBreak|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; +function _flattenSubquery($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$sink = 0, $$sink5 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $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, $addr = 0, $addr1 = 0, $addr2 = 0, $iContinue = 0, $r1 = 0, $r11 = 0, $r2 = 0, $v = 0, label = 0, sp = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; + var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; + var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0; + var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0; + var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0; + var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0; + var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; + var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0; + var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0; + var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0; + var $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0; + var $588 = 0, $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, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $4 = sp + 48|0; - $5 = sp + 44|0; - $6 = sp + 40|0; - $7 = sp + 36|0; - $8 = sp + 32|0; - $v = sp + 28|0; - $iContinue = sp + 24|0; - $addr = sp + 20|0; - $addr1 = sp + 16|0; - $addr2 = sp + 12|0; - $r1 = sp + 8|0; - $r2 = sp + 4|0; - $r11 = sp; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $p; - HEAP32[$3>>2] = $pIn; - HEAP32[$4>>2] = $pDest; - HEAP32[$5>>2] = $regReturn; - HEAP32[$6>>2] = $regPrev; - HEAP32[$7>>2] = $pKeyInfo; - HEAP32[$8>>2] = $iBreak; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$v>>2] = $11; - $12 = HEAP32[$v>>2]|0; - $13 = (_sqlite3VdbeCurrentAddr($12)|0); - HEAP32[$addr>>2] = $13; - $14 = HEAP32[$v>>2]|0; - $15 = (_sqlite3VdbeMakeLabel($14)|0); - HEAP32[$iContinue>>2] = $15; - $16 = HEAP32[$6>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$v>>2]|0; - $19 = HEAP32[$6>>2]|0; - $20 = (_sqlite3VdbeAddOp1($18,22,$19)|0); - HEAP32[$addr1>>2] = $20; - $21 = HEAP32[$v>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = ((($22)) + 12|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$6>>2]|0; - $26 = (($25) + 1)|0; - $27 = HEAP32[$3>>2]|0; - $28 = ((($27)) + 16|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$7>>2]|0; - $31 = (_sqlite3KeyInfoRef($30)|0); - $32 = (_sqlite3VdbeAddOp4($21,95,$24,$26,$29,$31,-6)|0); - HEAP32[$addr2>>2] = $32; - $33 = HEAP32[$v>>2]|0; - $34 = HEAP32[$addr2>>2]|0; - $35 = (($34) + 2)|0; - $36 = HEAP32[$iContinue>>2]|0; - $37 = HEAP32[$addr2>>2]|0; - $38 = (($37) + 2)|0; - (_sqlite3VdbeAddOp3($33,18,$35,$36,$38)|0); - $39 = HEAP32[$v>>2]|0; - $40 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($39,$40); - $41 = HEAP32[$v>>2]|0; - $42 = HEAP32[$3>>2]|0; - $43 = ((($42)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$6>>2]|0; - $46 = (($45) + 1)|0; - $47 = HEAP32[$3>>2]|0; - $48 = ((($47)) + 16|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) - 1)|0; - (_sqlite3VdbeAddOp3($41,84,$44,$46,$50)|0); - $51 = HEAP32[$v>>2]|0; - $52 = HEAP32[$6>>2]|0; - (_sqlite3VdbeAddOp2($51,76,1,$52)|0); + STACKTOP = STACKTOP + 128|0; + $5 = sp + 112|0; + $6 = sp + 108|0; + $7 = sp + 104|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 92|0; + $11 = sp + 88|0; + $12 = sp + 84|0; + $13 = sp + 80|0; + $14 = sp + 76|0; + $15 = sp + 72|0; + $16 = sp + 68|0; + $17 = sp + 64|0; + $18 = sp + 60|0; + $19 = sp + 56|0; + $20 = sp + 52|0; + $21 = sp + 48|0; + $22 = sp + 44|0; + $23 = sp + 40|0; + $24 = sp + 36|0; + $25 = sp + 32|0; + $26 = sp + 28|0; + $27 = sp + 24|0; + $28 = sp + 20|0; + $29 = sp + 16|0; + $30 = sp + 12|0; + $31 = sp + 8|0; + $32 = sp + 116|0; + $33 = sp + 4|0; + $34 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 448|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$11>>2] = $37; + $38 = HEAP32[$6>>2]|0; + $39 = HEAP32[$38>>2]|0; + HEAP32[$22>>2] = $39; + $40 = HEAP32[$22>>2]|0; + $41 = ((($40)) + 64|0); + $42 = HEAP16[$41>>1]|0; + $43 = $42&65535; + $44 = $43 & 1; + $45 = ($44|0)!=(0); + if ($45) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); } - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$53>>2]|0; - $55 = ((($54)) + 69|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)!=(0); - if ($57) { - HEAP32[$0>>2] = 0; - $189 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($189|0); + $46 = HEAP32[$7>>2]|0; + $47 = ((($46)) + 28|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$15>>2] = $48; + $49 = HEAP32[$15>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP32[$8>>2]|0; + $52 = (($50) + (($51*72)|0)|0); + HEAP32[$21>>2] = $52; + $53 = HEAP32[$21>>2]|0; + $54 = ((($53)) + 44|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$18>>2] = $55; + $56 = HEAP32[$21>>2]|0; + $57 = ((($56)) + 20|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$13>>2] = $58; + $59 = HEAP32[$10>>2]|0; + $60 = ($59|0)!=(0); + do { + if ($60) { + $61 = HEAP32[$9>>2]|0; + $62 = ($61|0)!=(0); + if ($62) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } + $63 = HEAP32[$15>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = ($64|0)>(1); + if ($65) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } + $66 = HEAP32[$7>>2]|0; + $67 = ((($66)) + 32|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)!=(0|0); + if ($69) { + $70 = HEAP32[$7>>2]|0; + $71 = ((($70)) + 32|0); + $72 = HEAP32[$71>>2]|0; + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + $75 = $74 & 2097152; + $76 = ($75|0)!=(0); + if (!($76)) { + label = 10; + } + } else { + label = 10; + } + if ((label|0) == 10) { + $77 = HEAP32[$7>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = (_sqlite3ExprListFlags($78)|0); + $80 = $79 & 2097152; + $81 = ($80|0)!=(0); + if (!($81)) { + $82 = HEAP32[$7>>2]|0; + $83 = ((($82)) + 44|0); + $84 = HEAP32[$83>>2]|0; + $85 = (_sqlite3ExprListFlags($84)|0); + $86 = $85 & 2097152; + $87 = ($86|0)!=(0); + if (!($87)) { + break; + } + } + } + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } + } while(0); + $88 = HEAP32[$13>>2]|0; + $89 = ((($88)) + 28|0); + $90 = HEAP32[$89>>2]|0; + HEAP32[$16>>2] = $90; + $91 = HEAP32[$13>>2]|0; + $92 = ((($91)) + 56|0); + $93 = HEAP32[$92>>2]|0; + $94 = ($93|0)!=(0|0); + if ($94) { + $95 = HEAP32[$7>>2]|0; + $96 = ((($95)) + 56|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)!=(0|0); + if ($98) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } } - $58 = HEAP32[$v>>2]|0; - $59 = HEAP32[$2>>2]|0; - $60 = ((($59)) + 16|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$iContinue>>2]|0; - _codeOffset($58,$61,$62); - $63 = HEAP32[$4>>2]|0; - $64 = HEAP8[$63>>0]|0; - $65 = $64&255; - switch ($65|0) { - case 12: { - $66 = HEAP32[$1>>2]|0; - $67 = (_sqlite3GetTempReg($66)|0); - HEAP32[$r1>>2] = $67; - $68 = HEAP32[$1>>2]|0; - $69 = (_sqlite3GetTempReg($68)|0); - HEAP32[$r2>>2] = $69; - $70 = HEAP32[$v>>2]|0; - $71 = HEAP32[$3>>2]|0; - $72 = ((($71)) + 12|0); - $73 = HEAP32[$72>>2]|0; - $74 = HEAP32[$3>>2]|0; - $75 = ((($74)) + 16|0); - $76 = HEAP32[$75>>2]|0; - $77 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($70,99,$73,$76,$77)|0); - $78 = HEAP32[$v>>2]|0; - $79 = HEAP32[$4>>2]|0; - $80 = ((($79)) + 8|0); - $81 = HEAP32[$80>>2]|0; - $82 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp2($78,114,$81,$82)|0); - $83 = HEAP32[$v>>2]|0; - $84 = HEAP32[$4>>2]|0; - $85 = ((($84)) + 8|0); - $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[$r1>>2]|0; - $88 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp3($83,115,$86,$87,$88)|0); - $89 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($89,8); - $90 = HEAP32[$1>>2]|0; - $91 = HEAP32[$r2>>2]|0; - _sqlite3ReleaseTempReg($90,$91); - $92 = HEAP32[$1>>2]|0; - $93 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($92,$93); - break; + $99 = HEAP32[$13>>2]|0; + $100 = ((($99)) + 60|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)!=(0|0); + if ($102) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); } - case 11: { - $94 = HEAP32[$1>>2]|0; - $95 = (_sqlite3GetTempReg($94)|0); - HEAP32[$r11>>2] = $95; - $96 = HEAP32[$v>>2]|0; - $97 = HEAP32[$3>>2]|0; - $98 = ((($97)) + 12|0); - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$3>>2]|0; - $101 = ((($100)) + 16|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$r11>>2]|0; - $104 = HEAP32[$4>>2]|0; - $105 = ((($104)) + 4|0); - $106 = HEAP32[$105>>2]|0; - $107 = HEAP32[$3>>2]|0; - $108 = ((($107)) + 16|0); - $109 = HEAP32[$108>>2]|0; - (_sqlite3VdbeAddOp4($96,99,$99,$102,$103,$106,$109)|0); - $110 = HEAP32[$1>>2]|0; - $111 = HEAP32[$3>>2]|0; - $112 = ((($111)) + 12|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$3>>2]|0; - $115 = ((($114)) + 16|0); - $116 = HEAP32[$115>>2]|0; - _sqlite3ExprCacheAffinityChange($110,$113,$116); - $117 = HEAP32[$v>>2]|0; - $118 = HEAP32[$4>>2]|0; - $119 = ((($118)) + 8|0); - $120 = HEAP32[$119>>2]|0; - $121 = HEAP32[$r11>>2]|0; - (_sqlite3VdbeAddOp2($117,126,$120,$121)|0); - $122 = HEAP32[$1>>2]|0; - $123 = HEAP32[$r11>>2]|0; - _sqlite3ReleaseTempReg($122,$123); - break; + $103 = HEAP32[$7>>2]|0; + $104 = ((($103)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 256; + $107 = ($106|0)!=(0); + if ($107) { + $108 = HEAP32[$13>>2]|0; + $109 = ((($108)) + 56|0); + $110 = HEAP32[$109>>2]|0; + $111 = ($110|0)!=(0|0); + if ($111) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } } - case 10: { - $124 = HEAP32[$1>>2]|0; - $125 = HEAP32[$3>>2]|0; - $126 = ((($125)) + 12|0); - $127 = HEAP32[$126>>2]|0; - $128 = HEAP32[$4>>2]|0; - $129 = ((($128)) + 8|0); - $130 = HEAP32[$129>>2]|0; - _sqlite3ExprCodeMove($124,$127,$130,1); - break; + $112 = HEAP32[$16>>2]|0; + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)==(0); + if ($114) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); } - case 13: { - $131 = HEAP32[$4>>2]|0; - $132 = ((($131)) + 12|0); - $133 = HEAP32[$132>>2]|0; - $134 = ($133|0)==(0); - if ($134) { - $135 = HEAP32[$1>>2]|0; - $136 = HEAP32[$3>>2]|0; - $137 = ((($136)) + 16|0); - $138 = HEAP32[$137>>2]|0; - $139 = (_sqlite3GetTempRange($135,$138)|0); - $140 = HEAP32[$4>>2]|0; - $141 = ((($140)) + 12|0); - HEAP32[$141>>2] = $139; - $142 = HEAP32[$3>>2]|0; - $143 = ((($142)) + 16|0); - $144 = HEAP32[$143>>2]|0; - $145 = HEAP32[$4>>2]|0; - $146 = ((($145)) + 16|0); - HEAP32[$146>>2] = $144; - } - $147 = HEAP32[$1>>2]|0; - $148 = HEAP32[$3>>2]|0; - $149 = ((($148)) + 12|0); - $150 = HEAP32[$149>>2]|0; - $151 = HEAP32[$4>>2]|0; - $152 = ((($151)) + 12|0); - $153 = HEAP32[$152>>2]|0; - $154 = HEAP32[$3>>2]|0; - $155 = ((($154)) + 16|0); - $156 = HEAP32[$155>>2]|0; - _sqlite3ExprCodeMove($147,$150,$153,$156); - $157 = HEAP32[$v>>2]|0; - $158 = HEAP32[$4>>2]|0; - $159 = ((($158)) + 8|0); - $160 = HEAP32[$159>>2]|0; - (_sqlite3VdbeAddOp1($157,16,$160)|0); - break; + $115 = HEAP32[$13>>2]|0; + $116 = ((($115)) + 8|0); + $117 = HEAP32[$116>>2]|0; + $118 = $117 & 1; + $119 = ($118|0)!=(0); + if ($119) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); } - default: { - $161 = HEAP32[$v>>2]|0; - $162 = HEAP32[$3>>2]|0; - $163 = ((($162)) + 12|0); - $164 = HEAP32[$163>>2]|0; - $165 = HEAP32[$3>>2]|0; - $166 = ((($165)) + 16|0); - $167 = HEAP32[$166>>2]|0; - (_sqlite3VdbeAddOp2($161,87,$164,$167)|0); - $168 = HEAP32[$1>>2]|0; - $169 = HEAP32[$3>>2]|0; - $170 = ((($169)) + 12|0); - $171 = HEAP32[$170>>2]|0; - $172 = HEAP32[$3>>2]|0; - $173 = ((($172)) + 16|0); - $174 = HEAP32[$173>>2]|0; - _sqlite3ExprCacheAffinityChange($168,$171,$174); + $120 = HEAP32[$13>>2]|0; + $121 = ((($120)) + 56|0); + $122 = HEAP32[$121>>2]|0; + $123 = ($122|0)!=(0|0); + if ($123) { + $124 = HEAP32[$15>>2]|0; + $125 = HEAP32[$124>>2]|0; + $126 = ($125|0)>(1); + $127 = HEAP32[$9>>2]|0; + $128 = ($127|0)!=(0); + $or$cond = $126 | $128; + if ($or$cond) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } } + $129 = HEAP32[$7>>2]|0; + $130 = ((($129)) + 8|0); + $131 = HEAP32[$130>>2]|0; + $132 = $131 & 1; + $133 = ($132|0)!=(0); + $134 = HEAP32[$10>>2]|0; + $135 = ($134|0)!=(0); + $or$cond3 = $133 & $135; + if ($or$cond3) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); } - $175 = HEAP32[$2>>2]|0; - $176 = ((($175)) + 12|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)!=(0); - if ($178) { - $179 = HEAP32[$v>>2]|0; - $180 = HEAP32[$2>>2]|0; - $181 = ((($180)) + 12|0); - $182 = HEAP32[$181>>2]|0; - $183 = HEAP32[$8>>2]|0; - (_sqlite3VdbeAddOp2($179,68,$182,$183)|0); - } - $184 = HEAP32[$v>>2]|0; - $185 = HEAP32[$iContinue>>2]|0; - _sqlite3VdbeResolveLabel($184,$185); - $186 = HEAP32[$v>>2]|0; - $187 = HEAP32[$5>>2]|0; - (_sqlite3VdbeAddOp1($186,72,$187)|0); - $188 = HEAP32[$addr>>2]|0; - HEAP32[$0>>2] = $188; - $189 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($189|0); -} -function _sqlite3FkDropTable($pParse,$pName,$pTab) { - $pParse = $pParse|0; - $pName = $pName|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $db = 0, $iSkip = 0, $p = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $db = sp + 12|0; - $iSkip = sp + 8|0; - $v = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pName; - HEAP32[$2>>2] = $pTab; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 24|0); - $7 = HEAP32[$6>>2]|0; - $8 = $7 & 524288; - $9 = ($8|0)!=(0); - if (!($9)) { - STACKTOP = sp;return; + $136 = HEAP32[$7>>2]|0; + $137 = ((($136)) + 44|0); + $138 = HEAP32[$137>>2]|0; + $139 = ($138|0)!=(0|0); + if ($139) { + $140 = HEAP32[$13>>2]|0; + $141 = ((($140)) + 44|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)!=(0|0); + if ($143) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } } - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 42|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = $13 & 16; - $15 = ($14|0)!=(0); - if ($15) { - STACKTOP = sp;return; + $144 = HEAP32[$9>>2]|0; + $145 = ($144|0)!=(0); + if ($145) { + $146 = HEAP32[$13>>2]|0; + $147 = ((($146)) + 44|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)!=(0|0); + if ($149) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } } - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - STACKTOP = sp;return; + $150 = HEAP32[$13>>2]|0; + $151 = ((($150)) + 56|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)!=(0|0); + if ($153) { + $154 = HEAP32[$7>>2]|0; + $155 = ((($154)) + 32|0); + $156 = HEAP32[$155>>2]|0; + $157 = ($156|0)!=(0|0); + if ($157) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } } - HEAP32[$iSkip>>2] = 0; - $20 = HEAP32[$0>>2]|0; - $21 = (_sqlite3GetVdbe($20)|0); - HEAP32[$v>>2] = $21; - $22 = HEAP32[$2>>2]|0; - $23 = (_sqlite3FkReferences($22)|0); - $24 = ($23|0)==(0|0); - do { - if ($24) { - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 16|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$p>>2] = $27; - while(1) { - $28 = HEAP32[$p>>2]|0; - $29 = ($28|0)!=(0|0); - if (!($29)) { - break; - } - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 24|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = ($33|0)!=(0); - if ($34) { - break; - } - $35 = HEAP32[$db>>2]|0; - $36 = ((($35)) + 24|0); - $37 = HEAP32[$36>>2]|0; - $38 = $37 & 33554432; - $39 = ($38|0)!=(0); - if ($39) { - break; - } - $40 = HEAP32[$p>>2]|0; - $41 = ((($40)) + 4|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$p>>2] = $42; - } - $43 = HEAP32[$p>>2]|0; - $44 = ($43|0)!=(0|0); - if ($44) { - $45 = HEAP32[$v>>2]|0; - $46 = (_sqlite3VdbeMakeLabel($45)|0); - HEAP32[$iSkip>>2] = $46; - $47 = HEAP32[$v>>2]|0; - $48 = HEAP32[$iSkip>>2]|0; - (_sqlite3VdbeAddOp2($47,65,1,$48)|0); - break; - } else { - STACKTOP = sp;return; - } + $158 = HEAP32[$13>>2]|0; + $159 = ((($158)) + 56|0); + $160 = HEAP32[$159>>2]|0; + $161 = ($160|0)!=(0|0); + if ($161) { + $162 = HEAP32[$7>>2]|0; + $163 = ((($162)) + 8|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164 & 1; + $166 = ($165|0)!=(0); + if ($166) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); } - } while(0); - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 150|0); - HEAP8[$50>>0] = 1; - $51 = HEAP32[$0>>2]|0; - $52 = HEAP32[$db>>2]|0; - $53 = HEAP32[$1>>2]|0; - $54 = (_sqlite3SrcListDup($52,$53,0)|0); - _sqlite3DeleteFrom($51,$54,0); - $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 150|0); - HEAP8[$56>>0] = 0; - $57 = HEAP32[$db>>2]|0; - $58 = ((($57)) + 24|0); - $59 = HEAP32[$58>>2]|0; - $60 = $59 & 33554432; - $61 = ($60|0)==(0); - if ($61) { - $62 = HEAP32[$v>>2]|0; - $63 = HEAP32[$v>>2]|0; - $64 = (_sqlite3VdbeCurrentAddr($63)|0); - $65 = (($64) + 2)|0; - (_sqlite3VdbeAddOp2($62,65,0,$65)|0); - $66 = HEAP32[$0>>2]|0; - _sqlite3HaltConstraint($66,787,2,0,-2,4); - } - $67 = HEAP32[$iSkip>>2]|0; - $68 = ($67|0)!=(0); - if (!($68)) { - STACKTOP = sp;return; } - $69 = HEAP32[$v>>2]|0; - $70 = HEAP32[$iSkip>>2]|0; - _sqlite3VdbeResolveLabel($69,$70); - STACKTOP = sp;return; -} -function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $iDb = $iDb|0; - $isView = $isView|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $db = 0; - var $pDb = 0, $pTrigger = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $v = sp + 32|0; - $db = sp + 28|0; - $pTrigger = sp + 24|0; - $pDb = sp + 20|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $iDb; - HEAP32[$3>>2] = $isView; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($6<<4)|0); - HEAP32[$pDb>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3GetVdbe($11)|0); - HEAP32[$v>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$2>>2]|0; - _sqlite3BeginWriteOperation($13,1,$14); - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 42|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = $18 & 16; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($21,152)|0); + $167 = HEAP32[$13>>2]|0; + $168 = ((($167)) + 8|0); + $169 = HEAP32[$168>>2]|0; + $170 = $169 & 12288; + $171 = ($170|0)!=(0); + if ($171) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); } - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = (_sqlite3TriggerList($22,$23)|0); - HEAP32[$pTrigger>>2] = $24; - while(1) { - $25 = HEAP32[$pTrigger>>2]|0; - $26 = ($25|0)!=(0|0); - if (!($26)) { - break; + $172 = HEAP32[$7>>2]|0; + $173 = ((($172)) + 8|0); + $174 = HEAP32[$173>>2]|0; + $175 = $174 & 8192; + $176 = ($175|0)!=(0); + if ($176) { + $177 = HEAP32[$13>>2]|0; + $178 = ((($177)) + 48|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)!=(0|0); + if ($180) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); } - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$pTrigger>>2]|0; - _sqlite3DropTriggerPtr($27,$28); - $29 = HEAP32[$pTrigger>>2]|0; - $30 = ((($29)) + 32|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$pTrigger>>2] = $31; } - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 42|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = $35 & 8; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$pDb>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$41>>2]|0; - HEAP32[$vararg_buffer>>2] = $40; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $42; - _sqlite3NestedParse($38,36169,$vararg_buffer); + $181 = HEAP32[$21>>2]|0; + $182 = ((($181)) + 36|0); + $183 = HEAP8[$182>>0]|0; + $184 = $183&255; + $185 = $184 & 32; + $186 = ($185|0)!=(0); + if ($186) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); } - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$pDb>>2]|0; - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$2>>2]|0; - $47 = ($46|0)==(1); - $48 = $47 ? 19905 : 19924; - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$49>>2]|0; - HEAP32[$vararg_buffer2>>2] = $45; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $48; - $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); - HEAP32[$vararg_ptr6>>2] = $50; - _sqlite3NestedParse($43,36214,$vararg_buffer2); - $51 = HEAP32[$3>>2]|0; - $52 = ($51|0)!=(0); - if (!($52)) { - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 42|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = $56 & 16; - $58 = ($57|0)!=(0); - if (!($58)) { - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$1>>2]|0; - _destroyTable($59,$60); + $187 = HEAP32[$13>>2]|0; + $188 = ((($187)) + 48|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($189|0)!=(0|0); + L87: do { + if ($190) { + $191 = HEAP32[$13>>2]|0; + $192 = ((($191)) + 44|0); + $193 = HEAP32[$192>>2]|0; + $194 = ($193|0)!=(0|0); + if ($194) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } + $195 = HEAP32[$9>>2]|0; + $196 = ($195|0)!=(0); + do { + if (!($196)) { + $197 = HEAP32[$7>>2]|0; + $198 = ((($197)) + 8|0); + $199 = HEAP32[$198>>2]|0; + $200 = $199 & 1; + $201 = ($200|0)!=(0); + if ($201) { + break; + } + $202 = HEAP32[$15>>2]|0; + $203 = HEAP32[$202>>2]|0; + $204 = ($203|0)!=(1); + if ($204) { + break; + } + $205 = HEAP32[$13>>2]|0; + HEAP32[$14>>2] = $205; + while(1) { + $206 = HEAP32[$14>>2]|0; + $207 = ($206|0)!=(0|0); + if (!($207)) { + break; + } + $208 = HEAP32[$14>>2]|0; + $209 = ((($208)) + 8|0); + $210 = HEAP32[$209>>2]|0; + $211 = $210 & 9; + $212 = ($211|0)!=(0); + if ($212) { + label = 62; + break; + } + $213 = HEAP32[$14>>2]|0; + $214 = ((($213)) + 48|0); + $215 = HEAP32[$214>>2]|0; + $216 = ($215|0)!=(0|0); + if ($216) { + $217 = HEAP32[$14>>2]|0; + $218 = ((($217)) + 4|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = ($220|0)!=(116); + if ($221) { + label = 62; + break; + } + } + $222 = HEAP32[$14>>2]|0; + $223 = ((($222)) + 28|0); + $224 = HEAP32[$223>>2]|0; + $225 = HEAP32[$224>>2]|0; + $226 = ($225|0)<(1); + if ($226) { + label = 62; + break; + } + $227 = HEAP32[$14>>2]|0; + $228 = ((($227)) + 48|0); + $229 = HEAP32[$228>>2]|0; + HEAP32[$14>>2] = $229; + } + if ((label|0) == 62) { + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } + $230 = HEAP32[$7>>2]|0; + $231 = ((($230)) + 44|0); + $232 = HEAP32[$231>>2]|0; + $233 = ($232|0)!=(0|0); + if (!($233)) { + break L87; + } + HEAP32[$23>>2] = 0; + while(1) { + $234 = HEAP32[$23>>2]|0; + $235 = HEAP32[$7>>2]|0; + $236 = ((($235)) + 44|0); + $237 = HEAP32[$236>>2]|0; + $238 = HEAP32[$237>>2]|0; + $239 = ($234|0)<($238|0); + if (!($239)) { + break L87; + } + $240 = HEAP32[$7>>2]|0; + $241 = ((($240)) + 44|0); + $242 = HEAP32[$241>>2]|0; + $243 = ((($242)) + 4|0); + $244 = HEAP32[$243>>2]|0; + $245 = HEAP32[$23>>2]|0; + $246 = (($244) + (($245*20)|0)|0); + $247 = ((($246)) + 16|0); + $248 = HEAP16[$247>>1]|0; + $249 = $248&65535; + $250 = ($249|0)==(0); + if ($250) { + break; + } + $251 = HEAP32[$23>>2]|0; + $252 = (($251) + 1)|0; + HEAP32[$23>>2] = $252; + } + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } + } while(0); + HEAP32[$5>>2] = 0; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); } + } while(0); + $253 = HEAP32[$21>>2]|0; + $254 = ((($253)) + 8|0); + $255 = HEAP32[$254>>2]|0; + $256 = HEAP32[$6>>2]|0; + $257 = ((($256)) + 448|0); + HEAP32[$257>>2] = $255; + $258 = HEAP32[$6>>2]|0; + (_sqlite3AuthCheck($258,21,0,0,0)|0); + $259 = HEAP32[$11>>2]|0; + $260 = HEAP32[$6>>2]|0; + $261 = ((($260)) + 448|0); + HEAP32[$261>>2] = $259; + $262 = HEAP32[$13>>2]|0; + $263 = ((($262)) + 48|0); + $264 = HEAP32[$263>>2]|0; + HEAP32[$13>>2] = $264; + while(1) { + $265 = HEAP32[$13>>2]|0; + $266 = ($265|0)!=(0|0); + if (!($266)) { + break; + } + $267 = HEAP32[$7>>2]|0; + $268 = ((($267)) + 44|0); + $269 = HEAP32[$268>>2]|0; + HEAP32[$25>>2] = $269; + $270 = HEAP32[$7>>2]|0; + $271 = ((($270)) + 56|0); + $272 = HEAP32[$271>>2]|0; + HEAP32[$26>>2] = $272; + $273 = HEAP32[$7>>2]|0; + $274 = ((($273)) + 60|0); + $275 = HEAP32[$274>>2]|0; + HEAP32[$27>>2] = $275; + $276 = HEAP32[$7>>2]|0; + $277 = ((($276)) + 48|0); + $278 = HEAP32[$277>>2]|0; + HEAP32[$28>>2] = $278; + $279 = HEAP32[$7>>2]|0; + $280 = ((($279)) + 44|0); + HEAP32[$280>>2] = 0; + $281 = HEAP32[$7>>2]|0; + $282 = ((($281)) + 28|0); + HEAP32[$282>>2] = 0; + $283 = HEAP32[$7>>2]|0; + $284 = ((($283)) + 48|0); + HEAP32[$284>>2] = 0; + $285 = HEAP32[$7>>2]|0; + $286 = ((($285)) + 56|0); + HEAP32[$286>>2] = 0; + $287 = HEAP32[$7>>2]|0; + $288 = ((($287)) + 60|0); + HEAP32[$288>>2] = 0; + $289 = HEAP32[$22>>2]|0; + $290 = HEAP32[$7>>2]|0; + $291 = (_sqlite3SelectDup($289,$290,0)|0); + HEAP32[$24>>2] = $291; + $292 = HEAP32[$27>>2]|0; + $293 = HEAP32[$7>>2]|0; + $294 = ((($293)) + 60|0); + HEAP32[$294>>2] = $292; + $295 = HEAP32[$26>>2]|0; + $296 = HEAP32[$7>>2]|0; + $297 = ((($296)) + 56|0); + HEAP32[$297>>2] = $295; + $298 = HEAP32[$25>>2]|0; + $299 = HEAP32[$7>>2]|0; + $300 = ((($299)) + 44|0); + HEAP32[$300>>2] = $298; + $301 = HEAP32[$15>>2]|0; + $302 = HEAP32[$7>>2]|0; + $303 = ((($302)) + 28|0); + HEAP32[$303>>2] = $301; + $304 = HEAP32[$7>>2]|0; + $305 = ((($304)) + 4|0); + HEAP8[$305>>0] = 116; + $306 = HEAP32[$24>>2]|0; + $307 = ($306|0)==(0|0); + $308 = HEAP32[$28>>2]|0; + if ($307) { + $309 = HEAP32[$7>>2]|0; + $$sink = $308;$$sink5 = $309; + } else { + $310 = HEAP32[$24>>2]|0; + $311 = ((($310)) + 48|0); + HEAP32[$311>>2] = $308; + $312 = HEAP32[$28>>2]|0; + $313 = ($312|0)!=(0|0); + if ($313) { + $314 = HEAP32[$24>>2]|0; + $315 = HEAP32[$28>>2]|0; + $316 = ((($315)) + 52|0); + HEAP32[$316>>2] = $314; + } + $317 = HEAP32[$7>>2]|0; + $318 = HEAP32[$24>>2]|0; + $319 = ((($318)) + 52|0); + HEAP32[$319>>2] = $317; + $320 = HEAP32[$24>>2]|0; + $321 = HEAP32[$7>>2]|0; + $$sink = $320;$$sink5 = $321; + } + $322 = ((($$sink5)) + 48|0); + HEAP32[$322>>2] = $$sink; + $323 = HEAP32[$22>>2]|0; + $324 = ((($323)) + 69|0); + $325 = HEAP8[$324>>0]|0; + $326 = ($325<<24>>24)!=(0); + if ($326) { + label = 78; + break; + } + $327 = HEAP32[$13>>2]|0; + $328 = ((($327)) + 48|0); + $329 = HEAP32[$328>>2]|0; + HEAP32[$13>>2] = $329; } - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 42|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = $64 & 16; - $66 = ($65|0)!=(0); - if (!($66)) { - $71 = HEAP32[$v>>2]|0; - $72 = HEAP32[$2>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = HEAP32[$73>>2]|0; - (_sqlite3VdbeAddOp4($71,138,$72,0,0,$74,0)|0); - $75 = HEAP32[$0>>2]|0; - $76 = HEAP32[$2>>2]|0; - _sqlite3ChangeCookie($75,$76); - $77 = HEAP32[$db>>2]|0; - $78 = HEAP32[$2>>2]|0; - _sqliteViewResetAll($77,$78); - STACKTOP = sp;return; - } - $67 = HEAP32[$v>>2]|0; - $68 = HEAP32[$2>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = HEAP32[$69>>2]|0; - (_sqlite3VdbeAddOp4($67,154,$68,0,0,$70,0)|0); - $71 = HEAP32[$v>>2]|0; - $72 = HEAP32[$2>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = HEAP32[$73>>2]|0; - (_sqlite3VdbeAddOp4($71,138,$72,0,0,$74,0)|0); - $75 = HEAP32[$0>>2]|0; - $76 = HEAP32[$2>>2]|0; - _sqlite3ChangeCookie($75,$76); - $77 = HEAP32[$db>>2]|0; - $78 = HEAP32[$2>>2]|0; - _sqliteViewResetAll($77,$78); - STACKTOP = sp;return; -} -function _destroyTable($pParse,$pTab) { - $pParse = $pParse|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $iDb = 0, $iDestroyed = 0, $iIdx = 0, $iLargest = 0, $iTab = 0, $pIdx = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $iTab = sp + 20|0; - $iDestroyed = sp + 16|0; - $pIdx = sp + 12|0; - $iLargest = sp + 8|0; - $iIdx = sp + 4|0; - $iDb = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 28|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$iTab>>2] = $4; - HEAP32[$iDestroyed>>2] = 0; + if ((label|0) == 78) { + HEAP32[$5>>2] = 1; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); + } + $330 = HEAP32[$21>>2]|0; + $331 = ((($330)) + 20|0); + $332 = HEAP32[$331>>2]|0; + HEAP32[$14>>2] = $332; + HEAP32[$13>>2] = $332; + $333 = HEAP32[$22>>2]|0; + $334 = HEAP32[$21>>2]|0; + $335 = ((($334)) + 4|0); + $336 = HEAP32[$335>>2]|0; + _sqlite3DbFree($333,$336); + $337 = HEAP32[$22>>2]|0; + $338 = HEAP32[$21>>2]|0; + $339 = ((($338)) + 8|0); + $340 = HEAP32[$339>>2]|0; + _sqlite3DbFree($337,$340); + $341 = HEAP32[$22>>2]|0; + $342 = HEAP32[$21>>2]|0; + $343 = ((($342)) + 12|0); + $344 = HEAP32[$343>>2]|0; + _sqlite3DbFree($341,$344); + $345 = HEAP32[$21>>2]|0; + $346 = ((($345)) + 4|0); + HEAP32[$346>>2] = 0; + $347 = HEAP32[$21>>2]|0; + $348 = ((($347)) + 8|0); + HEAP32[$348>>2] = 0; + $349 = HEAP32[$21>>2]|0; + $350 = ((($349)) + 12|0); + HEAP32[$350>>2] = 0; + $351 = HEAP32[$21>>2]|0; + $352 = ((($351)) + 20|0); + HEAP32[$352>>2] = 0; + $353 = HEAP32[$21>>2]|0; + $354 = ((($353)) + 16|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)!=(0|0); + if ($356) { + $357 = HEAP32[$21>>2]|0; + $358 = ((($357)) + 16|0); + $359 = HEAP32[$358>>2]|0; + HEAP32[$29>>2] = $359; + $360 = HEAP32[$29>>2]|0; + $361 = ((($360)) + 36|0); + $362 = HEAP16[$361>>1]|0; + $363 = $362&65535; + $364 = ($363|0)==(1); + if ($364) { + $365 = HEAP32[$6>>2]|0; + $366 = ((($365)) + 124|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)!=(0|0); + $369 = HEAP32[$6>>2]|0; + if ($368) { + $370 = ((($369)) + 124|0); + $371 = HEAP32[$370>>2]|0; + $372 = $371; + } else { + $372 = $369; + } + HEAP32[$30>>2] = $372; + $373 = HEAP32[$30>>2]|0; + $374 = ((($373)) + 464|0); + $375 = HEAP32[$374>>2]|0; + $376 = HEAP32[$29>>2]|0; + $377 = ((($376)) + 68|0); + HEAP32[$377>>2] = $375; + $378 = HEAP32[$29>>2]|0; + $379 = HEAP32[$30>>2]|0; + $380 = ((($379)) + 464|0); + HEAP32[$380>>2] = $378; + } else { + $381 = HEAP32[$29>>2]|0; + $382 = ((($381)) + 36|0); + $383 = HEAP16[$382>>1]|0; + $384 = (($383) + -1)<<16>>16; + HEAP16[$382>>1] = $384; + } + $385 = HEAP32[$21>>2]|0; + $386 = ((($385)) + 16|0); + HEAP32[$386>>2] = 0; + } + $387 = HEAP32[$7>>2]|0; + HEAP32[$12>>2] = $387; while(1) { - HEAP32[$iLargest>>2] = 0; - $5 = HEAP32[$iDestroyed>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - label = 4; + $388 = HEAP32[$12>>2]|0; + $389 = ($388|0)!=(0|0); + if (!($389)) { + break; + } + HEAP8[$32>>0] = 0; + $390 = HEAP32[$13>>2]|0; + $391 = ((($390)) + 28|0); + $392 = HEAP32[$391>>2]|0; + HEAP32[$16>>2] = $392; + $393 = HEAP32[$16>>2]|0; + $394 = HEAP32[$393>>2]|0; + HEAP32[$31>>2] = $394; + $395 = HEAP32[$12>>2]|0; + $396 = ((($395)) + 28|0); + $397 = HEAP32[$396>>2]|0; + HEAP32[$15>>2] = $397; + $398 = HEAP32[$15>>2]|0; + $399 = ($398|0)!=(0|0); + if ($399) { + $400 = HEAP32[$21>>2]|0; + $401 = ((($400)) + 36|0); + $402 = HEAP8[$401>>0]|0; + HEAP8[$32>>0] = $402; } else { - $7 = HEAP32[$iTab>>2]|0; - $8 = HEAP32[$iDestroyed>>2]|0; - $9 = ($7|0)<($8|0); - if ($9) { - label = 4; + $403 = HEAP32[$22>>2]|0; + $404 = (_sqlite3SrcListAppend($403,0,0,0)|0); + $405 = HEAP32[$12>>2]|0; + $406 = ((($405)) + 28|0); + HEAP32[$406>>2] = $404; + HEAP32[$15>>2] = $404; + $407 = HEAP32[$15>>2]|0; + $408 = ($407|0)==(0|0); + if ($408) { + break; } } - if ((label|0) == 4) { - label = 0; - $10 = HEAP32[$iTab>>2]|0; - HEAP32[$iLargest>>2] = $10; + $409 = HEAP32[$31>>2]|0; + $410 = ($409|0)>(1); + if ($410) { + $411 = HEAP32[$22>>2]|0; + $412 = HEAP32[$15>>2]|0; + $413 = HEAP32[$31>>2]|0; + $414 = (($413) - 1)|0; + $415 = HEAP32[$8>>2]|0; + $416 = (($415) + 1)|0; + $417 = (_sqlite3SrcListEnlarge($411,$412,$414,$416)|0); + HEAP32[$15>>2] = $417; + $418 = HEAP32[$12>>2]|0; + $419 = ((($418)) + 28|0); + HEAP32[$419>>2] = $417; + $420 = HEAP32[$22>>2]|0; + $421 = ((($420)) + 69|0); + $422 = HEAP8[$421>>0]|0; + $423 = ($422<<24>>24)!=(0); + if ($423) { + break; + } } - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pIdx>>2] = $13; + HEAP32[$19>>2] = 0; while(1) { - $14 = HEAP32[$pIdx>>2]|0; - $15 = ($14|0)!=(0|0); - if (!($15)) { + $424 = HEAP32[$19>>2]|0; + $425 = HEAP32[$31>>2]|0; + $426 = ($424|0)<($425|0); + if (!($426)) { break; } - $16 = HEAP32[$pIdx>>2]|0; - $17 = ((($16)) + 44|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$iIdx>>2] = $18; - $19 = HEAP32[$iDestroyed>>2]|0; - $20 = ($19|0)==(0); - if ($20) { - label = 9; - } else { - $21 = HEAP32[$iIdx>>2]|0; - $22 = HEAP32[$iDestroyed>>2]|0; - $23 = ($21|0)<($22|0); - if ($23) { - label = 9; + $427 = HEAP32[$22>>2]|0; + $428 = HEAP32[$15>>2]|0; + $429 = ((($428)) + 8|0); + $430 = HEAP32[$19>>2]|0; + $431 = HEAP32[$8>>2]|0; + $432 = (($430) + ($431))|0; + $433 = (($429) + (($432*72)|0)|0); + $434 = ((($433)) + 52|0); + $435 = HEAP32[$434>>2]|0; + _sqlite3IdListDelete($427,$435); + $436 = HEAP32[$15>>2]|0; + $437 = ((($436)) + 8|0); + $438 = HEAP32[$19>>2]|0; + $439 = HEAP32[$8>>2]|0; + $440 = (($438) + ($439))|0; + $441 = (($437) + (($440*72)|0)|0); + $442 = HEAP32[$16>>2]|0; + $443 = ((($442)) + 8|0); + $444 = HEAP32[$19>>2]|0; + $445 = (($443) + (($444*72)|0)|0); + dest=$441; src=$445; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $446 = HEAP32[$16>>2]|0; + $447 = ((($446)) + 8|0); + $448 = HEAP32[$19>>2]|0; + $449 = (($447) + (($448*72)|0)|0); + dest=$449; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $450 = HEAP32[$19>>2]|0; + $451 = (($450) + 1)|0; + HEAP32[$19>>2] = $451; + } + $452 = HEAP8[$32>>0]|0; + $453 = HEAP32[$15>>2]|0; + $454 = ((($453)) + 8|0); + $455 = HEAP32[$8>>2]|0; + $456 = (($454) + (($455*72)|0)|0); + $457 = ((($456)) + 36|0); + HEAP8[$457>>0] = $452; + $458 = HEAP32[$12>>2]|0; + $459 = HEAP32[$458>>2]|0; + HEAP32[$17>>2] = $459; + HEAP32[$19>>2] = 0; + while(1) { + $460 = HEAP32[$19>>2]|0; + $461 = HEAP32[$17>>2]|0; + $462 = HEAP32[$461>>2]|0; + $463 = ($460|0)<($462|0); + if (!($463)) { + break; + } + $464 = HEAP32[$17>>2]|0; + $465 = ((($464)) + 4|0); + $466 = HEAP32[$465>>2]|0; + $467 = HEAP32[$19>>2]|0; + $468 = (($466) + (($467*20)|0)|0); + $469 = ((($468)) + 4|0); + $470 = HEAP32[$469>>2]|0; + $471 = ($470|0)==(0|0); + if ($471) { + $472 = HEAP32[$22>>2]|0; + $473 = HEAP32[$17>>2]|0; + $474 = ((($473)) + 4|0); + $475 = HEAP32[$474>>2]|0; + $476 = HEAP32[$19>>2]|0; + $477 = (($475) + (($476*20)|0)|0); + $478 = ((($477)) + 8|0); + $479 = HEAP32[$478>>2]|0; + $480 = (_sqlite3DbStrDup($472,$479)|0); + HEAP32[$33>>2] = $480; + $481 = HEAP32[$33>>2]|0; + _sqlite3Dequote($481); + $482 = HEAP32[$33>>2]|0; + $483 = HEAP32[$17>>2]|0; + $484 = ((($483)) + 4|0); + $485 = HEAP32[$484>>2]|0; + $486 = HEAP32[$19>>2]|0; + $487 = (($485) + (($486*20)|0)|0); + $488 = ((($487)) + 4|0); + HEAP32[$488>>2] = $482; + } + $489 = HEAP32[$19>>2]|0; + $490 = (($489) + 1)|0; + HEAP32[$19>>2] = $490; + } + $491 = HEAP32[$13>>2]|0; + $492 = ((($491)) + 44|0); + $493 = HEAP32[$492>>2]|0; + $494 = ($493|0)!=(0|0); + if ($494) { + $495 = HEAP32[$13>>2]|0; + $496 = ((($495)) + 44|0); + $497 = HEAP32[$496>>2]|0; + HEAP32[$34>>2] = $497; + HEAP32[$19>>2] = 0; + while(1) { + $498 = HEAP32[$19>>2]|0; + $499 = HEAP32[$34>>2]|0; + $500 = HEAP32[$499>>2]|0; + $501 = ($498|0)<($500|0); + $502 = HEAP32[$34>>2]|0; + if (!($501)) { + break; } + $503 = ((($502)) + 4|0); + $504 = HEAP32[$503>>2]|0; + $505 = HEAP32[$19>>2]|0; + $506 = (($504) + (($505*20)|0)|0); + $507 = ((($506)) + 16|0); + HEAP16[$507>>1] = 0; + $508 = HEAP32[$19>>2]|0; + $509 = (($508) + 1)|0; + HEAP32[$19>>2] = $509; + } + $510 = HEAP32[$12>>2]|0; + $511 = ((($510)) + 44|0); + HEAP32[$511>>2] = $502; + $512 = HEAP32[$13>>2]|0; + $513 = ((($512)) + 44|0); + HEAP32[$513>>2] = 0; + } + $514 = HEAP32[$22>>2]|0; + $515 = HEAP32[$13>>2]|0; + $516 = ((($515)) + 32|0); + $517 = HEAP32[$516>>2]|0; + $518 = (_sqlite3ExprDup($514,$517,0)|0); + HEAP32[$20>>2] = $518; + $519 = HEAP32[$10>>2]|0; + $520 = ($519|0)!=(0); + if ($520) { + $521 = HEAP32[$12>>2]|0; + $522 = ((($521)) + 32|0); + $523 = HEAP32[$522>>2]|0; + $524 = HEAP32[$12>>2]|0; + $525 = ((($524)) + 40|0); + HEAP32[$525>>2] = $523; + $526 = HEAP32[$20>>2]|0; + $527 = HEAP32[$12>>2]|0; + $528 = ((($527)) + 32|0); + HEAP32[$528>>2] = $526; + $529 = HEAP32[$22>>2]|0; + $530 = HEAP32[$22>>2]|0; + $531 = HEAP32[$13>>2]|0; + $532 = ((($531)) + 40|0); + $533 = HEAP32[$532>>2]|0; + $534 = (_sqlite3ExprDup($530,$533,0)|0); + $535 = HEAP32[$12>>2]|0; + $536 = ((($535)) + 40|0); + $537 = HEAP32[$536>>2]|0; + $538 = (_sqlite3ExprAnd($529,$534,$537)|0); + $539 = HEAP32[$12>>2]|0; + $540 = ((($539)) + 40|0); + HEAP32[$540>>2] = $538; + $541 = HEAP32[$22>>2]|0; + $542 = HEAP32[$13>>2]|0; + $543 = ((($542)) + 36|0); + $544 = HEAP32[$543>>2]|0; + $545 = (_sqlite3ExprListDup($541,$544,0)|0); + $546 = HEAP32[$12>>2]|0; + $547 = ((($546)) + 36|0); + HEAP32[$547>>2] = $545; + } else { + $548 = HEAP32[$22>>2]|0; + $549 = HEAP32[$20>>2]|0; + $550 = HEAP32[$12>>2]|0; + $551 = ((($550)) + 32|0); + $552 = HEAP32[$551>>2]|0; + $553 = (_sqlite3ExprAnd($548,$549,$552)|0); + $554 = HEAP32[$12>>2]|0; + $555 = ((($554)) + 32|0); + HEAP32[$555>>2] = $553; + } + $556 = HEAP32[$22>>2]|0; + $557 = HEAP32[$12>>2]|0; + $558 = HEAP32[$18>>2]|0; + $559 = HEAP32[$13>>2]|0; + $560 = HEAP32[$559>>2]|0; + _substSelect($556,$557,$558,$560,0); + $561 = HEAP32[$13>>2]|0; + $562 = ((($561)) + 8|0); + $563 = HEAP32[$562>>2]|0; + $564 = $563 & 1; + $565 = HEAP32[$12>>2]|0; + $566 = ((($565)) + 8|0); + $567 = HEAP32[$566>>2]|0; + $568 = $567 | $564; + HEAP32[$566>>2] = $568; + $569 = HEAP32[$13>>2]|0; + $570 = ((($569)) + 56|0); + $571 = HEAP32[$570>>2]|0; + $572 = ($571|0)!=(0|0); + if ($572) { + $573 = HEAP32[$13>>2]|0; + $574 = ((($573)) + 56|0); + $575 = HEAP32[$574>>2]|0; + $576 = HEAP32[$12>>2]|0; + $577 = ((($576)) + 56|0); + HEAP32[$577>>2] = $575; + $578 = HEAP32[$13>>2]|0; + $579 = ((($578)) + 56|0); + HEAP32[$579>>2] = 0; + } + $580 = HEAP32[$12>>2]|0; + $581 = ((($580)) + 48|0); + $582 = HEAP32[$581>>2]|0; + HEAP32[$12>>2] = $582; + $583 = HEAP32[$13>>2]|0; + $584 = ((($583)) + 48|0); + $585 = HEAP32[$584>>2]|0; + HEAP32[$13>>2] = $585; + } + $586 = HEAP32[$22>>2]|0; + $587 = HEAP32[$14>>2]|0; + _sqlite3SelectDelete($586,$587); + HEAP32[$5>>2] = 1; + $588 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($588|0); +} +function _multiSelect($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; + var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; + var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; + var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0; + var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0; + var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0; + var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0; + var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; + var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0; + var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0; + var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0; + var $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0; + var $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $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 $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 240|0; + $4 = sp + 236|0; + $5 = sp + 232|0; + $6 = sp + 228|0; + $7 = sp + 224|0; + $8 = sp + 220|0; + $9 = sp + 216|0; + $10 = sp + 192|0; + $11 = sp + 184|0; + $12 = sp + 180|0; + $13 = sp + 176|0; + $14 = sp + 172|0; + $15 = sp + 168|0; + $16 = sp + 164|0; + $17 = sp + 160|0; + $18 = sp + 244|0; + $19 = sp + 156|0; + $20 = sp + 152|0; + $21 = sp + 148|0; + $22 = sp + 144|0; + $23 = sp + 120|0; + $24 = sp + 116|0; + $25 = sp + 112|0; + $26 = sp + 108|0; + $27 = sp + 104|0; + $28 = sp + 100|0; + $29 = sp + 96|0; + $30 = sp + 92|0; + $31 = sp + 88|0; + $32 = sp + 84|0; + $33 = sp + 80|0; + $34 = sp + 76|0; + $35 = sp + 72|0; + $36 = sp + 48|0; + $37 = sp + 40|0; + $38 = sp + 36|0; + $39 = sp + 32|0; + $40 = sp + 28|0; + $41 = sp + 24|0; + $42 = sp + 20|0; + $43 = sp + 16|0; + $44 = sp + 12|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + $45 = HEAP32[$4>>2]|0; + $46 = HEAP32[$45>>2]|0; + HEAP32[$12>>2] = $46; + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 48|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$8>>2] = $49; + $50 = HEAP32[$6>>2]|0; + ;HEAP32[$10>>2]=HEAP32[$50>>2]|0;HEAP32[$10+4>>2]=HEAP32[$50+4>>2]|0;HEAP32[$10+8>>2]=HEAP32[$50+8>>2]|0;HEAP32[$10+12>>2]=HEAP32[$50+12>>2]|0;HEAP32[$10+16>>2]=HEAP32[$50+16>>2]|0;HEAP32[$10+20>>2]=HEAP32[$50+20>>2]|0; + $51 = HEAP32[$8>>2]|0; + $52 = ((($51)) + 44|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)!=(0|0); + L1: do { + if ($54) { + $55 = HEAP32[$4>>2]|0; + $56 = HEAP32[$5>>2]|0; + $57 = ((($56)) + 4|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = (_selectOpName($59)|0); + HEAP32[$vararg_buffer>>2] = $60; + _sqlite3ErrorMsg($55,35268,$vararg_buffer); + HEAP32[$7>>2] = 1; + } else { + $61 = HEAP32[$8>>2]|0; + $62 = ((($61)) + 56|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($63|0)!=(0|0); + $65 = HEAP32[$4>>2]|0; + if ($64) { + $66 = HEAP32[$5>>2]|0; + $67 = ((($66)) + 4|0); + $68 = HEAP8[$67>>0]|0; + $69 = $68&255; + $70 = (_selectOpName($69)|0); + HEAP32[$vararg_buffer2>>2] = $70; + _sqlite3ErrorMsg($65,35316,$vararg_buffer2); + HEAP32[$7>>2] = 1; + break; } - if ((label|0) == 9) { - label = 0; - $24 = HEAP32[$iIdx>>2]|0; - $25 = HEAP32[$iLargest>>2]|0; - $26 = ($24|0)>($25|0); - if ($26) { - $27 = HEAP32[$iIdx>>2]|0; - HEAP32[$iLargest>>2] = $27; + $71 = (_sqlite3GetVdbe($65)|0); + HEAP32[$9>>2] = $71; + $72 = HEAP8[$10>>0]|0; + $73 = $72&255; + $74 = ($73|0)==(12); + if ($74) { + $75 = HEAP32[$9>>2]|0; + $76 = ((($10)) + 8|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$5>>2]|0; + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$79>>2]|0; + (_sqlite3VdbeAddOp2($75,107,$77,$80)|0); + HEAP8[$10>>0] = 14; + } + $81 = HEAP32[$5>>2]|0; + $82 = ((($81)) + 8|0); + $83 = HEAP32[$82>>2]|0; + $84 = $83 & 1024; + $85 = ($84|0)!=(0); + if ($85) { + $86 = HEAP32[$4>>2]|0; + $87 = HEAP32[$5>>2]|0; + $88 = (_multiSelectValues($86,$87,$10)|0); + HEAP32[$7>>2] = $88; + break; + } + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + 8|0); + $91 = HEAP32[$90>>2]|0; + $92 = $91 & 8192; + $93 = ($92|0)!=(0); + L13: do { + if ($93) { + $94 = HEAP32[$4>>2]|0; + $95 = HEAP32[$5>>2]|0; + _generateWithRecursiveQuery($94,$95,$10); + } else { + $96 = HEAP32[$5>>2]|0; + $97 = ((($96)) + 44|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)!=(0|0); + if ($99) { + $100 = HEAP32[$4>>2]|0; + $101 = HEAP32[$5>>2]|0; + $102 = HEAP32[$6>>2]|0; + $103 = (_multiSelectOrderBy($100,$101,$102)|0); + HEAP32[$3>>2] = $103; + $601 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($601|0); + } + $104 = HEAP32[$5>>2]|0; + $105 = ((($104)) + 4|0); + $106 = HEAP8[$105>>0]|0; + $107 = $106&255; + switch ($107|0) { + case 116: { + HEAP32[$15>>2] = 0; + $108 = HEAP32[$5>>2]|0; + $109 = ((($108)) + 12|0); + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$8>>2]|0; + $112 = ((($111)) + 12|0); + HEAP32[$112>>2] = $110; + $113 = HEAP32[$5>>2]|0; + $114 = ((($113)) + 16|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$8>>2]|0; + $117 = ((($116)) + 16|0); + HEAP32[$117>>2] = $115; + $118 = HEAP32[$5>>2]|0; + $119 = ((($118)) + 56|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$8>>2]|0; + $122 = ((($121)) + 56|0); + HEAP32[$122>>2] = $120; + $123 = HEAP32[$5>>2]|0; + $124 = ((($123)) + 60|0); + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$8>>2]|0; + $127 = ((($126)) + 60|0); + HEAP32[$127>>2] = $125; + $128 = HEAP32[$4>>2]|0; + $129 = ((($128)) + 424|0); + $130 = HEAP32[$129>>2]|0; + HEAP32[$13>>2] = $130; + $131 = HEAP32[$4>>2]|0; + $132 = HEAP32[$8>>2]|0; + $133 = (_sqlite3Select($131,$132,$10)|0); + HEAP32[$7>>2] = $133; + $134 = HEAP32[$5>>2]|0; + $135 = ((($134)) + 56|0); + HEAP32[$135>>2] = 0; + $136 = HEAP32[$5>>2]|0; + $137 = ((($136)) + 60|0); + HEAP32[$137>>2] = 0; + $138 = HEAP32[$7>>2]|0; + $139 = ($138|0)!=(0); + if ($139) { + break L1; + } + $140 = HEAP32[$5>>2]|0; + $141 = ((($140)) + 48|0); + HEAP32[$141>>2] = 0; + $142 = HEAP32[$8>>2]|0; + $143 = ((($142)) + 12|0); + $144 = HEAP32[$143>>2]|0; + $145 = HEAP32[$5>>2]|0; + $146 = ((($145)) + 12|0); + HEAP32[$146>>2] = $144; + $147 = HEAP32[$8>>2]|0; + $148 = ((($147)) + 16|0); + $149 = HEAP32[$148>>2]|0; + $150 = HEAP32[$5>>2]|0; + $151 = ((($150)) + 16|0); + HEAP32[$151>>2] = $149; + $152 = HEAP32[$5>>2]|0; + $153 = ((($152)) + 12|0); + $154 = HEAP32[$153>>2]|0; + $155 = ($154|0)!=(0); + if ($155) { + $156 = HEAP32[$9>>2]|0; + $157 = HEAP32[$5>>2]|0; + $158 = ((($157)) + 12|0); + $159 = HEAP32[$158>>2]|0; + $160 = (_sqlite3VdbeAddOp1($156,22,$159)|0); + HEAP32[$15>>2] = $160; + $161 = HEAP32[$5>>2]|0; + $162 = ((($161)) + 16|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)!=(0); + if ($164) { + $165 = HEAP32[$9>>2]|0; + $166 = HEAP32[$5>>2]|0; + $167 = ((($166)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[$5>>2]|0; + $170 = ((($169)) + 16|0); + $171 = HEAP32[$170>>2]|0; + $172 = (($171) + 1)|0; + $173 = HEAP32[$5>>2]|0; + $174 = ((($173)) + 16|0); + $175 = HEAP32[$174>>2]|0; + (_sqlite3VdbeAddOp3($165,146,$168,$172,$175)|0); + } + } + $176 = HEAP32[$4>>2]|0; + $177 = ((($176)) + 424|0); + $178 = HEAP32[$177>>2]|0; + HEAP32[$14>>2] = $178; + $179 = HEAP32[$4>>2]|0; + $180 = HEAP32[$5>>2]|0; + $181 = (_sqlite3Select($179,$180,$10)|0); + HEAP32[$7>>2] = $181; + $182 = HEAP32[$5>>2]|0; + $183 = ((($182)) + 48|0); + $184 = HEAP32[$183>>2]|0; + HEAP32[$11>>2] = $184; + $185 = HEAP32[$8>>2]|0; + $186 = HEAP32[$5>>2]|0; + $187 = ((($186)) + 48|0); + HEAP32[$187>>2] = $185; + $188 = HEAP32[$5>>2]|0; + $189 = ((($188)) + 6|0); + $190 = HEAP16[$189>>1]|0; + $191 = HEAP32[$8>>2]|0; + $192 = ((($191)) + 6|0); + $193 = HEAP16[$192>>1]|0; + $194 = (_sqlite3LogEstAdd($190,$193)|0); + $195 = HEAP32[$5>>2]|0; + $196 = ((($195)) + 6|0); + HEAP16[$196>>1] = $194; + $197 = HEAP32[$8>>2]|0; + $198 = ((($197)) + 56|0); + $199 = HEAP32[$198>>2]|0; + $200 = ($199|0)!=(0|0); + if ($200) { + $201 = HEAP32[$8>>2]|0; + $202 = ((($201)) + 56|0); + $203 = HEAP32[$202>>2]|0; + $204 = (_sqlite3ExprIsInteger($203,$16)|0); + $205 = ($204|0)!=(0); + $206 = HEAP32[$16>>2]|0; + $207 = ($206|0)>(0); + $or$cond = $205 & $207; + if ($or$cond) { + $208 = HEAP32[$5>>2]|0; + $209 = ((($208)) + 6|0); + $210 = HEAP16[$209>>1]|0; + $211 = $210 << 16 >> 16; + $212 = HEAP32[$16>>2]|0; + $213 = ($212|0)<(0); + $214 = $213 << 31 >> 31; + $215 = (_sqlite3LogEst($212,$214)|0); + $216 = $215 << 16 >> 16; + $217 = ($211|0)>($216|0); + if ($217) { + $218 = HEAP32[$16>>2]|0; + $219 = ($218|0)<(0); + $220 = $219 << 31 >> 31; + $221 = (_sqlite3LogEst($218,$220)|0); + $222 = HEAP32[$5>>2]|0; + $223 = ((($222)) + 6|0); + HEAP16[$223>>1] = $221; + } + } + } + $224 = HEAP32[$15>>2]|0; + $225 = ($224|0)!=(0); + if (!($225)) { + break L13; + } + $226 = HEAP32[$9>>2]|0; + $227 = HEAP32[$15>>2]|0; + _sqlite3VdbeJumpHere($226,$227); + break L13; + break; + } + case 115: case 117: { + HEAP8[$18>>0] = 0; + HEAP32[$19>>2] = 1; + $228 = HEAP8[$10>>0]|0; + $229 = $228&255; + $230 = HEAP32[$19>>2]|0; + $231 = ($229|0)==($230|0); + if ($231) { + $232 = ((($10)) + 8|0); + $233 = HEAP32[$232>>2]|0; + HEAP32[$17>>2] = $233; + } else { + $234 = HEAP32[$4>>2]|0; + $235 = ((($234)) + 40|0); + $236 = HEAP32[$235>>2]|0; + $237 = (($236) + 1)|0; + HEAP32[$235>>2] = $237; + HEAP32[$17>>2] = $236; + $238 = HEAP32[$9>>2]|0; + $239 = HEAP32[$17>>2]|0; + $240 = (_sqlite3VdbeAddOp2($238,107,$239,0)|0); + HEAP32[$22>>2] = $240; + $241 = HEAP32[$22>>2]|0; + $242 = HEAP32[$5>>2]|0; + $243 = ((($242)) + 20|0); + HEAP32[$243>>2] = $241; + $244 = HEAP32[$5>>2]|0; + $245 = (_findRightmost($244)|0); + $246 = ((($245)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = $247 | 32; + HEAP32[$246>>2] = $248; + } + $249 = HEAP32[$19>>2]|0; + $250 = HEAP32[$17>>2]|0; + _sqlite3SelectDestInit($23,$249,$250); + $251 = HEAP32[$4>>2]|0; + $252 = ((($251)) + 424|0); + $253 = HEAP32[$252>>2]|0; + HEAP32[$13>>2] = $253; + $254 = HEAP32[$4>>2]|0; + $255 = HEAP32[$8>>2]|0; + $256 = (_sqlite3Select($254,$255,$23)|0); + HEAP32[$7>>2] = $256; + $257 = HEAP32[$7>>2]|0; + $258 = ($257|0)!=(0); + if ($258) { + break L1; + } + $259 = HEAP32[$5>>2]|0; + $260 = ((($259)) + 4|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $263 = ($262|0)==(117); + if ($263) { + HEAP8[$18>>0] = 2; + } else { + HEAP8[$18>>0] = 1; + } + $264 = HEAP32[$5>>2]|0; + $265 = ((($264)) + 48|0); + HEAP32[$265>>2] = 0; + $266 = HEAP32[$5>>2]|0; + $267 = ((($266)) + 56|0); + $268 = HEAP32[$267>>2]|0; + HEAP32[$20>>2] = $268; + $269 = HEAP32[$5>>2]|0; + $270 = ((($269)) + 56|0); + HEAP32[$270>>2] = 0; + $271 = HEAP32[$5>>2]|0; + $272 = ((($271)) + 60|0); + $273 = HEAP32[$272>>2]|0; + HEAP32[$21>>2] = $273; + $274 = HEAP32[$5>>2]|0; + $275 = ((($274)) + 60|0); + HEAP32[$275>>2] = 0; + $276 = HEAP8[$18>>0]|0; + HEAP8[$23>>0] = $276; + $277 = HEAP32[$4>>2]|0; + $278 = ((($277)) + 424|0); + $279 = HEAP32[$278>>2]|0; + HEAP32[$14>>2] = $279; + $280 = HEAP32[$4>>2]|0; + $281 = HEAP32[$5>>2]|0; + $282 = (_sqlite3Select($280,$281,$23)|0); + HEAP32[$7>>2] = $282; + $283 = HEAP32[$12>>2]|0; + $284 = HEAP32[$5>>2]|0; + $285 = ((($284)) + 44|0); + $286 = HEAP32[$285>>2]|0; + _sqlite3ExprListDelete($283,$286); + $287 = HEAP32[$5>>2]|0; + $288 = ((($287)) + 48|0); + $289 = HEAP32[$288>>2]|0; + HEAP32[$11>>2] = $289; + $290 = HEAP32[$8>>2]|0; + $291 = HEAP32[$5>>2]|0; + $292 = ((($291)) + 48|0); + HEAP32[$292>>2] = $290; + $293 = HEAP32[$5>>2]|0; + $294 = ((($293)) + 44|0); + HEAP32[$294>>2] = 0; + $295 = HEAP32[$5>>2]|0; + $296 = ((($295)) + 4|0); + $297 = HEAP8[$296>>0]|0; + $298 = $297&255; + $299 = ($298|0)==(115); + if ($299) { + $300 = HEAP32[$5>>2]|0; + $301 = ((($300)) + 6|0); + $302 = HEAP16[$301>>1]|0; + $303 = HEAP32[$8>>2]|0; + $304 = ((($303)) + 6|0); + $305 = HEAP16[$304>>1]|0; + $306 = (_sqlite3LogEstAdd($302,$305)|0); + $307 = HEAP32[$5>>2]|0; + $308 = ((($307)) + 6|0); + HEAP16[$308>>1] = $306; + } + $309 = HEAP32[$12>>2]|0; + $310 = HEAP32[$5>>2]|0; + $311 = ((($310)) + 56|0); + $312 = HEAP32[$311>>2]|0; + _sqlite3ExprDelete($309,$312); + $313 = HEAP32[$20>>2]|0; + $314 = HEAP32[$5>>2]|0; + $315 = ((($314)) + 56|0); + HEAP32[$315>>2] = $313; + $316 = HEAP32[$21>>2]|0; + $317 = HEAP32[$5>>2]|0; + $318 = ((($317)) + 60|0); + HEAP32[$318>>2] = $316; + $319 = HEAP32[$5>>2]|0; + $320 = ((($319)) + 12|0); + HEAP32[$320>>2] = 0; + $321 = HEAP32[$5>>2]|0; + $322 = ((($321)) + 16|0); + HEAP32[$322>>2] = 0; + $323 = HEAP8[$10>>0]|0; + $324 = $323&255; + $325 = HEAP32[$19>>2]|0; + $326 = ($324|0)!=($325|0); + if (!($326)) { + break L13; + } + $327 = HEAP8[$10>>0]|0; + $328 = $327&255; + $329 = ($328|0)==(9); + if ($329) { + $330 = HEAP32[$5>>2]|0; + HEAP32[$27>>2] = $330; + while(1) { + $331 = HEAP32[$27>>2]|0; + $332 = ((($331)) + 48|0); + $333 = HEAP32[$332>>2]|0; + $334 = ($333|0)!=(0|0); + if (!($334)) { + break; + } + $335 = HEAP32[$27>>2]|0; + $336 = ((($335)) + 48|0); + $337 = HEAP32[$336>>2]|0; + HEAP32[$27>>2] = $337; + } + $338 = HEAP32[$4>>2]|0; + $339 = HEAP32[$27>>2]|0; + $340 = ((($339)) + 28|0); + $341 = HEAP32[$340>>2]|0; + $342 = HEAP32[$27>>2]|0; + $343 = HEAP32[$342>>2]|0; + _generateColumnNames($338,$341,$343); + } + $344 = HEAP32[$9>>2]|0; + $345 = (_sqlite3VdbeMakeLabel($344)|0); + HEAP32[$25>>2] = $345; + $346 = HEAP32[$9>>2]|0; + $347 = (_sqlite3VdbeMakeLabel($346)|0); + HEAP32[$24>>2] = $347; + $348 = HEAP32[$4>>2]|0; + $349 = HEAP32[$5>>2]|0; + $350 = HEAP32[$25>>2]|0; + _computeLimitRegisters($348,$349,$350); + $351 = HEAP32[$9>>2]|0; + $352 = HEAP32[$17>>2]|0; + $353 = HEAP32[$25>>2]|0; + (_sqlite3VdbeAddOp2($351,57,$352,$353)|0); + $354 = HEAP32[$9>>2]|0; + $355 = (_sqlite3VdbeCurrentAddr($354)|0); + HEAP32[$26>>2] = $355; + $356 = HEAP32[$4>>2]|0; + $357 = HEAP32[$5>>2]|0; + $358 = HEAP32[$5>>2]|0; + $359 = HEAP32[$358>>2]|0; + $360 = HEAP32[$17>>2]|0; + $361 = HEAP32[$24>>2]|0; + $362 = HEAP32[$25>>2]|0; + _selectInnerLoop($356,$357,$359,$360,0,0,$10,$361,$362); + $363 = HEAP32[$9>>2]|0; + $364 = HEAP32[$24>>2]|0; + _sqlite3VdbeResolveLabel($363,$364); + $365 = HEAP32[$9>>2]|0; + $366 = HEAP32[$17>>2]|0; + $367 = HEAP32[$26>>2]|0; + (_sqlite3VdbeAddOp2($365,7,$366,$367)|0); + $368 = HEAP32[$9>>2]|0; + $369 = HEAP32[$25>>2]|0; + _sqlite3VdbeResolveLabel($368,$369); + $370 = HEAP32[$9>>2]|0; + $371 = HEAP32[$17>>2]|0; + (_sqlite3VdbeAddOp2($370,111,$371,0)|0); + break L13; + break; + } + default: { + $372 = HEAP32[$4>>2]|0; + $373 = ((($372)) + 40|0); + $374 = HEAP32[$373>>2]|0; + $375 = (($374) + 1)|0; + HEAP32[$373>>2] = $375; + HEAP32[$28>>2] = $374; + $376 = HEAP32[$4>>2]|0; + $377 = ((($376)) + 40|0); + $378 = HEAP32[$377>>2]|0; + $379 = (($378) + 1)|0; + HEAP32[$377>>2] = $379; + HEAP32[$29>>2] = $378; + $380 = HEAP32[$9>>2]|0; + $381 = HEAP32[$28>>2]|0; + $382 = (_sqlite3VdbeAddOp2($380,107,$381,0)|0); + HEAP32[$35>>2] = $382; + $383 = HEAP32[$35>>2]|0; + $384 = HEAP32[$5>>2]|0; + $385 = ((($384)) + 20|0); + HEAP32[$385>>2] = $383; + $386 = HEAP32[$5>>2]|0; + $387 = (_findRightmost($386)|0); + $388 = ((($387)) + 8|0); + $389 = HEAP32[$388>>2]|0; + $390 = $389 | 32; + HEAP32[$388>>2] = $390; + $391 = HEAP32[$28>>2]|0; + _sqlite3SelectDestInit($36,1,$391); + $392 = HEAP32[$4>>2]|0; + $393 = ((($392)) + 424|0); + $394 = HEAP32[$393>>2]|0; + HEAP32[$13>>2] = $394; + $395 = HEAP32[$4>>2]|0; + $396 = HEAP32[$8>>2]|0; + $397 = (_sqlite3Select($395,$396,$36)|0); + HEAP32[$7>>2] = $397; + $398 = HEAP32[$7>>2]|0; + $399 = ($398|0)!=(0); + if ($399) { + break L1; + } + $400 = HEAP32[$9>>2]|0; + $401 = HEAP32[$29>>2]|0; + $402 = (_sqlite3VdbeAddOp2($400,107,$401,0)|0); + HEAP32[$35>>2] = $402; + $403 = HEAP32[$35>>2]|0; + $404 = HEAP32[$5>>2]|0; + $405 = ((($404)) + 20|0); + $406 = ((($405)) + 4|0); + HEAP32[$406>>2] = $403; + $407 = HEAP32[$5>>2]|0; + $408 = ((($407)) + 48|0); + HEAP32[$408>>2] = 0; + $409 = HEAP32[$5>>2]|0; + $410 = ((($409)) + 56|0); + $411 = HEAP32[$410>>2]|0; + HEAP32[$33>>2] = $411; + $412 = HEAP32[$5>>2]|0; + $413 = ((($412)) + 56|0); + HEAP32[$413>>2] = 0; + $414 = HEAP32[$5>>2]|0; + $415 = ((($414)) + 60|0); + $416 = HEAP32[$415>>2]|0; + HEAP32[$34>>2] = $416; + $417 = HEAP32[$5>>2]|0; + $418 = ((($417)) + 60|0); + HEAP32[$418>>2] = 0; + $419 = HEAP32[$29>>2]|0; + $420 = ((($36)) + 8|0); + HEAP32[$420>>2] = $419; + $421 = HEAP32[$4>>2]|0; + $422 = ((($421)) + 424|0); + $423 = HEAP32[$422>>2]|0; + HEAP32[$14>>2] = $423; + $424 = HEAP32[$4>>2]|0; + $425 = HEAP32[$5>>2]|0; + $426 = (_sqlite3Select($424,$425,$36)|0); + HEAP32[$7>>2] = $426; + $427 = HEAP32[$5>>2]|0; + $428 = ((($427)) + 48|0); + $429 = HEAP32[$428>>2]|0; + HEAP32[$11>>2] = $429; + $430 = HEAP32[$8>>2]|0; + $431 = HEAP32[$5>>2]|0; + $432 = ((($431)) + 48|0); + HEAP32[$432>>2] = $430; + $433 = HEAP32[$5>>2]|0; + $434 = ((($433)) + 6|0); + $435 = HEAP16[$434>>1]|0; + $436 = $435 << 16 >> 16; + $437 = HEAP32[$8>>2]|0; + $438 = ((($437)) + 6|0); + $439 = HEAP16[$438>>1]|0; + $440 = $439 << 16 >> 16; + $441 = ($436|0)>($440|0); + if ($441) { + $442 = HEAP32[$8>>2]|0; + $443 = ((($442)) + 6|0); + $444 = HEAP16[$443>>1]|0; + $445 = HEAP32[$5>>2]|0; + $446 = ((($445)) + 6|0); + HEAP16[$446>>1] = $444; + } + $447 = HEAP32[$12>>2]|0; + $448 = HEAP32[$5>>2]|0; + $449 = ((($448)) + 56|0); + $450 = HEAP32[$449>>2]|0; + _sqlite3ExprDelete($447,$450); + $451 = HEAP32[$33>>2]|0; + $452 = HEAP32[$5>>2]|0; + $453 = ((($452)) + 56|0); + HEAP32[$453>>2] = $451; + $454 = HEAP32[$34>>2]|0; + $455 = HEAP32[$5>>2]|0; + $456 = ((($455)) + 60|0); + HEAP32[$456>>2] = $454; + $457 = HEAP8[$10>>0]|0; + $458 = $457&255; + $459 = ($458|0)==(9); + if ($459) { + $460 = HEAP32[$5>>2]|0; + HEAP32[$38>>2] = $460; + while(1) { + $461 = HEAP32[$38>>2]|0; + $462 = ((($461)) + 48|0); + $463 = HEAP32[$462>>2]|0; + $464 = ($463|0)!=(0|0); + if (!($464)) { + break; + } + $465 = HEAP32[$38>>2]|0; + $466 = ((($465)) + 48|0); + $467 = HEAP32[$466>>2]|0; + HEAP32[$38>>2] = $467; + } + $468 = HEAP32[$4>>2]|0; + $469 = HEAP32[$38>>2]|0; + $470 = ((($469)) + 28|0); + $471 = HEAP32[$470>>2]|0; + $472 = HEAP32[$38>>2]|0; + $473 = HEAP32[$472>>2]|0; + _generateColumnNames($468,$471,$473); + } + $474 = HEAP32[$9>>2]|0; + $475 = (_sqlite3VdbeMakeLabel($474)|0); + HEAP32[$31>>2] = $475; + $476 = HEAP32[$9>>2]|0; + $477 = (_sqlite3VdbeMakeLabel($476)|0); + HEAP32[$30>>2] = $477; + $478 = HEAP32[$4>>2]|0; + $479 = HEAP32[$5>>2]|0; + $480 = HEAP32[$31>>2]|0; + _computeLimitRegisters($478,$479,$480); + $481 = HEAP32[$9>>2]|0; + $482 = HEAP32[$28>>2]|0; + $483 = HEAP32[$31>>2]|0; + (_sqlite3VdbeAddOp2($481,57,$482,$483)|0); + $484 = HEAP32[$4>>2]|0; + $485 = (_sqlite3GetTempReg($484)|0); + HEAP32[$37>>2] = $485; + $486 = HEAP32[$9>>2]|0; + $487 = HEAP32[$28>>2]|0; + $488 = HEAP32[$37>>2]|0; + $489 = (_sqlite3VdbeAddOp2($486,121,$487,$488)|0); + HEAP32[$32>>2] = $489; + $490 = HEAP32[$9>>2]|0; + $491 = HEAP32[$29>>2]|0; + $492 = HEAP32[$30>>2]|0; + $493 = HEAP32[$37>>2]|0; + (_sqlite3VdbeAddOp4Int($490,30,$491,$492,$493,0)|0); + $494 = HEAP32[$4>>2]|0; + $495 = HEAP32[$37>>2]|0; + _sqlite3ReleaseTempReg($494,$495); + $496 = HEAP32[$4>>2]|0; + $497 = HEAP32[$5>>2]|0; + $498 = HEAP32[$5>>2]|0; + $499 = HEAP32[$498>>2]|0; + $500 = HEAP32[$28>>2]|0; + $501 = HEAP32[$30>>2]|0; + $502 = HEAP32[$31>>2]|0; + _selectInnerLoop($496,$497,$499,$500,0,0,$10,$501,$502); + $503 = HEAP32[$9>>2]|0; + $504 = HEAP32[$30>>2]|0; + _sqlite3VdbeResolveLabel($503,$504); + $505 = HEAP32[$9>>2]|0; + $506 = HEAP32[$28>>2]|0; + $507 = HEAP32[$32>>2]|0; + (_sqlite3VdbeAddOp2($505,7,$506,$507)|0); + $508 = HEAP32[$9>>2]|0; + $509 = HEAP32[$31>>2]|0; + _sqlite3VdbeResolveLabel($508,$509); + $510 = HEAP32[$9>>2]|0; + $511 = HEAP32[$29>>2]|0; + (_sqlite3VdbeAddOp2($510,111,$511,0)|0); + $512 = HEAP32[$9>>2]|0; + $513 = HEAP32[$28>>2]|0; + (_sqlite3VdbeAddOp2($512,111,$513,0)|0); + break L13; + } + } + } + } while(0); + $514 = HEAP32[$4>>2]|0; + $515 = HEAP32[$5>>2]|0; + $516 = ((($515)) + 4|0); + $517 = HEAP8[$516>>0]|0; + $518 = $517&255; + $519 = HEAP32[$13>>2]|0; + $520 = HEAP32[$14>>2]|0; + $521 = HEAP32[$5>>2]|0; + $522 = ((($521)) + 4|0); + $523 = HEAP8[$522>>0]|0; + $524 = $523&255; + $525 = ($524|0)!=(116); + $526 = $525&1; + _explainComposite($514,$518,$519,$520,$526); + $527 = HEAP32[$5>>2]|0; + $528 = ((($527)) + 8|0); + $529 = HEAP32[$528>>2]|0; + $530 = $529 & 32; + $531 = ($530|0)!=(0); + if ($531) { + $532 = HEAP32[$5>>2]|0; + $533 = HEAP32[$532>>2]|0; + $534 = HEAP32[$533>>2]|0; + HEAP32[$43>>2] = $534; + $535 = HEAP32[$12>>2]|0; + $536 = HEAP32[$43>>2]|0; + $537 = (_sqlite3KeyInfoAlloc($535,$536,1)|0); + HEAP32[$40>>2] = $537; + $538 = HEAP32[$40>>2]|0; + $539 = ($538|0)!=(0|0); + if (!($539)) { + HEAP32[$7>>2] = 7; + break; } + HEAP32[$39>>2] = 0; + $540 = HEAP32[$40>>2]|0; + $541 = ((($540)) + 20|0); + HEAP32[$42>>2] = $541; + while(1) { + $542 = HEAP32[$39>>2]|0; + $543 = HEAP32[$43>>2]|0; + $544 = ($542|0)<($543|0); + if (!($544)) { + break; + } + $545 = HEAP32[$4>>2]|0; + $546 = HEAP32[$5>>2]|0; + $547 = HEAP32[$39>>2]|0; + $548 = (_multiSelectCollSeq($545,$546,$547)|0); + $549 = HEAP32[$42>>2]|0; + HEAP32[$549>>2] = $548; + $550 = HEAP32[$42>>2]|0; + $551 = HEAP32[$550>>2]|0; + $552 = (0|0)==($551|0); + if ($552) { + $553 = HEAP32[$12>>2]|0; + $554 = ((($553)) + 8|0); + $555 = HEAP32[$554>>2]|0; + $556 = HEAP32[$42>>2]|0; + HEAP32[$556>>2] = $555; + } + $557 = HEAP32[$39>>2]|0; + $558 = (($557) + 1)|0; + HEAP32[$39>>2] = $558; + $559 = HEAP32[$42>>2]|0; + $560 = ((($559)) + 4|0); + HEAP32[$42>>2] = $560; + } + $561 = HEAP32[$5>>2]|0; + HEAP32[$41>>2] = $561; + while(1) { + $562 = HEAP32[$41>>2]|0; + $563 = ($562|0)!=(0|0); + if (!($563)) { + break; + } + HEAP32[$39>>2] = 0; + while(1) { + $564 = HEAP32[$39>>2]|0; + $565 = ($564|0)<(2); + if (!($565)) { + break; + } + $566 = HEAP32[$41>>2]|0; + $567 = ((($566)) + 20|0); + $568 = HEAP32[$39>>2]|0; + $569 = (($567) + ($568<<2)|0); + $570 = HEAP32[$569>>2]|0; + HEAP32[$44>>2] = $570; + $571 = HEAP32[$44>>2]|0; + $572 = ($571|0)<(0); + if ($572) { + break; + } + $573 = HEAP32[$9>>2]|0; + $574 = HEAP32[$44>>2]|0; + $575 = HEAP32[$43>>2]|0; + _sqlite3VdbeChangeP2($573,$574,$575); + $576 = HEAP32[$9>>2]|0; + $577 = HEAP32[$44>>2]|0; + $578 = HEAP32[$40>>2]|0; + $579 = (_sqlite3KeyInfoRef($578)|0); + _sqlite3VdbeChangeP4($576,$577,$579,-6); + $580 = HEAP32[$41>>2]|0; + $581 = ((($580)) + 20|0); + $582 = HEAP32[$39>>2]|0; + $583 = (($581) + ($582<<2)|0); + HEAP32[$583>>2] = -1; + $584 = HEAP32[$39>>2]|0; + $585 = (($584) + 1)|0; + HEAP32[$39>>2] = $585; + } + $586 = HEAP32[$41>>2]|0; + $587 = ((($586)) + 48|0); + $588 = HEAP32[$587>>2]|0; + HEAP32[$41>>2] = $588; + } + $589 = HEAP32[$40>>2]|0; + _sqlite3KeyInfoUnref($589); } - $28 = HEAP32[$pIdx>>2]|0; - $29 = ((($28)) + 20|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$pIdx>>2] = $30; - } - $31 = HEAP32[$iLargest>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - break; } - $33 = HEAP32[$0>>2]|0; - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 64|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_sqlite3SchemaToIndex($34,$37)|0); - HEAP32[$iDb>>2] = $38; - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$iLargest>>2]|0; - $41 = HEAP32[$iDb>>2]|0; - _destroyRootPage($39,$40,$41); - $42 = HEAP32[$iLargest>>2]|0; - HEAP32[$iDestroyed>>2] = $42; - } - STACKTOP = sp;return; -} -function _sqliteViewResetAll($db,$idx) { - $db = $db|0; - $idx = $idx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pTab = 0, label = 0, sp = 0; + } while(0); + $590 = ((($10)) + 12|0); + $591 = HEAP32[$590>>2]|0; + $592 = HEAP32[$6>>2]|0; + $593 = ((($592)) + 12|0); + HEAP32[$593>>2] = $591; + $594 = ((($10)) + 16|0); + $595 = HEAP32[$594>>2]|0; + $596 = HEAP32[$6>>2]|0; + $597 = ((($596)) + 16|0); + HEAP32[$597>>2] = $595; + $598 = HEAP32[$12>>2]|0; + $599 = HEAP32[$11>>2]|0; + _sqlite3SelectDelete($598,$599); + $600 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $600; + $601 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($601|0); +} +function _sqlite3SelectExprHeight($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $i = sp + 4|0; - $pTab = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $idx; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + ($2<<4)|0); - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 78|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11 & 2; - $13 = ($12|0)==(2); - if (!($13)) { - STACKTOP = sp;return; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $3 = HEAP32[$1>>2]|0; + _heightOfSelect($3,$2); + $4 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _pushDownWhereTerms($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, $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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$10>>2] = 0; + $12 = HEAP32[$7>>2]|0; + $13 = ($12|0)==(0|0); + if ($13) { + HEAP32[$4>>2] = 0; + $79 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($79|0); } - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($14<<4)|0); - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($20)) + 8|0); - $22 = ((($21)) + 8|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$i>>2] = $23; + $14 = HEAP32[$6>>2]|0; + HEAP32[$11>>2] = $14; while(1) { - $24 = HEAP32[$i>>2]|0; - $25 = ($24|0)!=(0|0); - if (!($25)) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { break; } - $26 = HEAP32[$i>>2]|0; - $27 = ((($26)) + 8|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$pTab>>2] = $28; - $29 = HEAP32[$pTab>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { - $33 = HEAP32[$0>>2]|0; - $34 = HEAP32[$pTab>>2]|0; - _sqlite3DeleteColumnNames($33,$34); - $35 = HEAP32[$pTab>>2]|0; - $36 = ((($35)) + 4|0); - HEAP32[$36>>2] = 0; - $37 = HEAP32[$pTab>>2]|0; - $38 = ((($37)) + 34|0); - HEAP16[$38>>1] = 0; + $17 = HEAP32[$11>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19 & 8200; + $21 = ($20|0)!=(0); + if ($21) { + label = 6; + break; } - $39 = HEAP32[$i>>2]|0; - $40 = HEAP32[$39>>2]|0; - HEAP32[$i>>2] = $40; + $22 = HEAP32[$11>>2]|0; + $23 = ((($22)) + 48|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$11>>2] = $24; } - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 16|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + ($41<<4)|0); - $46 = ((($45)) + 12|0); + if ((label|0) == 6) { + HEAP32[$4>>2] = 0; + $79 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($79|0); + } + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + HEAP32[$4>>2] = 0; + $79 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($79|0); + } + while(1) { + $29 = HEAP32[$7>>2]|0; + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = ($31|0)==(28); + if (!($32)) { + break; + } + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = ((($35)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$8>>2]|0; + $39 = (_pushDownWhereTerms($33,$34,$37,$38)|0); + $40 = HEAP32[$10>>2]|0; + $41 = (($40) + ($39))|0; + HEAP32[$10>>2] = $41; + $42 = HEAP32[$7>>2]|0; + $43 = ((($42)) + 12|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$7>>2] = $44; + } + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 4|0); $47 = HEAP32[$46>>2]|0; - $48 = ((($47)) + 78|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49&65535; - $51 = $50 & -3; - $52 = $51&65535; - HEAP16[$48>>1] = $52; - STACKTOP = sp;return; + $48 = $47 & 1; + $49 = ($48|0)!=(0); + if ($49) { + HEAP32[$4>>2] = 0; + $79 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($79|0); + } + $50 = HEAP32[$7>>2]|0; + $51 = HEAP32[$8>>2]|0; + $52 = (_sqlite3ExprIsTableConstant($50,$51)|0); + $53 = ($52|0)!=(0); + L24: do { + if ($53) { + $54 = HEAP32[$10>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$10>>2] = $55; + while(1) { + $56 = HEAP32[$6>>2]|0; + $57 = ($56|0)!=(0|0); + if (!($57)) { + break L24; + } + $58 = HEAP32[$5>>2]|0; + $59 = HEAP32[$7>>2]|0; + $60 = (_sqlite3ExprDup($58,$59,0)|0); + HEAP32[$9>>2] = $60; + $61 = HEAP32[$5>>2]|0; + $62 = HEAP32[$9>>2]|0; + $63 = HEAP32[$8>>2]|0; + $64 = HEAP32[$6>>2]|0; + $65 = HEAP32[$64>>2]|0; + $66 = (_substExpr($61,$62,$63,$65)|0); + HEAP32[$9>>2] = $66; + $67 = HEAP32[$5>>2]|0; + $68 = HEAP32[$6>>2]|0; + $69 = ((($68)) + 32|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$9>>2]|0; + $72 = (_sqlite3ExprAnd($67,$70,$71)|0); + $73 = HEAP32[$6>>2]|0; + $74 = ((($73)) + 32|0); + HEAP32[$74>>2] = $72; + $75 = HEAP32[$6>>2]|0; + $76 = ((($75)) + 48|0); + $77 = HEAP32[$76>>2]|0; + HEAP32[$6>>2] = $77; + } + } + } while(0); + $78 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $78; + $79 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($79|0); } -function _sqlite3DeleteColumnNames($db,$pTable) { - $db = $db|0; - $pTable = $pTable|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pCol = 0, label = 0, sp = 0; +function _sqlite3ClearTempRegCache($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $i = sp + 4|0; - $pCol = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTable; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pCol>>2] = $4; - $5 = ($4|0)!=(0|0); - if (!($5)) { - STACKTOP = sp;return; + $3 = ((($2)) + 19|0); + HEAP8[$3>>0] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 28|0); + HEAP32[$5>>2] = 0; + STACKTOP = sp;return; +} +function _keyInfoFromExprList($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$14>>2]|0; + HEAP32[$11>>2] = $15; + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$16>>2]|0; + HEAP32[$8>>2] = $17; + $18 = HEAP32[$11>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = (($19) - ($20))|0; + $22 = HEAP32[$7>>2]|0; + $23 = (($22) + 1)|0; + $24 = (_sqlite3KeyInfoAlloc($18,$21,$23)|0); + HEAP32[$9>>2] = $24; + $25 = HEAP32[$9>>2]|0; + $26 = ($25|0)!=(0|0); + if (!($26)) { + $66 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($66|0); } - HEAP32[$i>>2] = 0; + $27 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $27; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = (($30) + (($31*20)|0)|0); + HEAP32[$10>>2] = $32; while(1) { - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 34|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9 << 16 >> 16; - $11 = ($6|0)<($10|0); - $12 = HEAP32[$0>>2]|0; - if (!($11)) { + $33 = HEAP32[$12>>2]|0; + $34 = HEAP32[$8>>2]|0; + $35 = ($33|0)<($34|0); + if (!($35)) { break; } - $13 = HEAP32[$pCol>>2]|0; - $14 = HEAP32[$13>>2]|0; - _sqlite3DbFree($12,$14); - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$pCol>>2]|0; - $17 = ((($16)) + 4|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3ExprDelete($15,$18); - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$pCol>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - _sqlite3DbFree($19,$22); - $23 = HEAP32[$i>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$i>>2] = $24; - $25 = HEAP32[$pCol>>2]|0; - $26 = ((($25)) + 16|0); - HEAP32[$pCol>>2] = $26; + $36 = HEAP32[$4>>2]|0; + $37 = HEAP32[$10>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3ExprCollSeq($36,$38)|0); + HEAP32[$13>>2] = $39; + $40 = HEAP32[$13>>2]|0; + $41 = ($40|0)!=(0|0); + if (!($41)) { + $42 = HEAP32[$11>>2]|0; + $43 = ((($42)) + 8|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$13>>2] = $44; + } + $45 = HEAP32[$13>>2]|0; + $46 = HEAP32[$9>>2]|0; + $47 = ((($46)) + 20|0); + $48 = HEAP32[$12>>2]|0; + $49 = HEAP32[$6>>2]|0; + $50 = (($48) - ($49))|0; + $51 = (($47) + ($50<<2)|0); + HEAP32[$51>>2] = $45; + $52 = HEAP32[$10>>2]|0; + $53 = ((($52)) + 12|0); + $54 = HEAP8[$53>>0]|0; + $55 = HEAP32[$9>>2]|0; + $56 = ((($55)) + 16|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$12>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = (($58) - ($59))|0; + $61 = (($57) + ($60)|0); + HEAP8[$61>>0] = $54; + $62 = HEAP32[$12>>2]|0; + $63 = (($62) + 1)|0; + HEAP32[$12>>2] = $63; + $64 = HEAP32[$10>>2]|0; + $65 = ((($64)) + 20|0); + HEAP32[$10>>2] = $65; } - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - _sqlite3DbFree($12,$29); - STACKTOP = sp;return; + $66 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($66|0); } -function _sqlite3ResolveSelfReference($pParse,$pTab,$type,$pExpr,$pList) { - $pParse = $pParse|0; - $pTab = $pTab|0; - $type = $type|0; - $pExpr = $pExpr|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $sNC = 0, $sSrc = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _computeLimitRegisters($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $0 = sp + 128|0; - $1 = sp + 124|0; - $2 = sp + 120|0; - $3 = sp + 116|0; - $4 = sp + 112|0; - $sSrc = sp; - $sNC = sp + 80|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - HEAP32[$2>>2] = $type; - HEAP32[$3>>2] = $pExpr; - HEAP32[$4>>2] = $pList; - ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - dest=$sSrc; stop=dest+80|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - HEAP32[$sSrc>>2] = 1; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ((($sSrc)) + 8|0); - $8 = ((($7)) + 8|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$1>>2]|0; - $10 = ((($sSrc)) + 8|0); - $11 = ((($10)) + 16|0); - HEAP32[$11>>2] = $9; - $12 = ((($sSrc)) + 8|0); - $13 = ((($12)) + 44|0); - HEAP32[$13>>2] = -1; - $14 = HEAP32[$0>>2]|0; - HEAP32[$sNC>>2] = $14; - $15 = ((($sNC)) + 4|0); - HEAP32[$15>>2] = $sSrc; - $16 = HEAP32[$2>>2]|0; - $17 = $16&65535; - $18 = ((($sNC)) + 28|0); - HEAP16[$18>>1] = $17; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0); + if ($13) { + STACKTOP = sp;return; + } + $14 = HEAP32[$3>>2]|0; + _sqlite3ExprCacheClear($14); + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 56|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + if (!($18)) { + STACKTOP = sp;return; + } $19 = HEAP32[$3>>2]|0; - $20 = (_sqlite3ResolveExprNames($sNC,$19)|0); - $21 = ($20|0)==(0); - $22 = HEAP32[$4>>2]|0; - $23 = ($22|0)!=(0|0); - $or$cond = $21 & $23; - if (!($or$cond)) { + $20 = ((($19)) + 44|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$20>>2] = $22; + HEAP32[$7>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 12|0); + HEAP32[$24>>2] = $22; + $25 = HEAP32[$3>>2]|0; + $26 = (_sqlite3GetVdbe($25)|0); + HEAP32[$6>>2] = $26; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 56|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_sqlite3ExprIsInteger($29,$9)|0); + $31 = ($30|0)!=(0); + do { + if ($31) { + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$9>>2]|0; + $34 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp2($32,76,$33,$34)|0); + $35 = HEAP32[$9>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$5>>2]|0; + (_sqlite3VdbeGoto($37,$38)|0); + break; + } + $39 = HEAP32[$9>>2]|0; + $40 = ($39|0)>=(0); + if ($40) { + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 6|0); + $43 = HEAP16[$42>>1]|0; + $44 = $43 << 16 >> 16; + $45 = HEAP32[$9>>2]|0; + $46 = ($45|0)<(0); + $47 = $46 << 31 >> 31; + $48 = (_sqlite3LogEst($45,$47)|0); + $49 = $48 << 16 >> 16; + $50 = ($44|0)>($49|0); + if ($50) { + $51 = HEAP32[$9>>2]|0; + $52 = ($51|0)<(0); + $53 = $52 << 31 >> 31; + $54 = (_sqlite3LogEst($51,$53)|0); + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 6|0); + HEAP16[$56>>1] = $54; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + $60 = $59 | 16384; + HEAP32[$58>>2] = $60; + } + } + } else { + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 56|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$7>>2]|0; + _sqlite3ExprCode($61,$64,$65); + $66 = HEAP32[$6>>2]|0; + $67 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp1($66,17,$67)|0); + $68 = HEAP32[$6>>2]|0; + $69 = HEAP32[$7>>2]|0; + $70 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp2($68,22,$69,$70)|0); + } + } while(0); + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 60|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0|0); + if (!($74)) { STACKTOP = sp;return; } - $24 = HEAP32[$4>>2]|0; - (_sqlite3ResolveExprListNames($sNC,$24)|0); + $75 = HEAP32[$3>>2]|0; + $76 = ((($75)) + 44|0); + $77 = HEAP32[$76>>2]|0; + $78 = (($77) + 1)|0; + HEAP32[$76>>2] = $78; + HEAP32[$8>>2] = $78; + $79 = HEAP32[$4>>2]|0; + $80 = ((($79)) + 16|0); + HEAP32[$80>>2] = $78; + $81 = HEAP32[$3>>2]|0; + $82 = ((($81)) + 44|0); + $83 = HEAP32[$82>>2]|0; + $84 = (($83) + 1)|0; + HEAP32[$82>>2] = $84; + $85 = HEAP32[$3>>2]|0; + $86 = HEAP32[$4>>2]|0; + $87 = ((($86)) + 60|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$8>>2]|0; + _sqlite3ExprCode($85,$88,$89); + $90 = HEAP32[$6>>2]|0; + $91 = HEAP32[$8>>2]|0; + (_sqlite3VdbeAddOp1($90,17,$91)|0); + $92 = HEAP32[$6>>2]|0; + $93 = HEAP32[$7>>2]|0; + $94 = HEAP32[$8>>2]|0; + $95 = (($94) + 1)|0; + $96 = HEAP32[$8>>2]|0; + (_sqlite3VdbeAddOp3($92,146,$93,$95,$96)|0); STACKTOP = sp;return; } -function _sqlite3StringToId($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3VdbeChangeOpcode($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ($3|0)==(97); - $5 = HEAP32[$0>>2]|0; - if ($4) { - HEAP8[$5>>0] = 55; - STACKTOP = sp;return; - } + $3 = sp + 4|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP8[$5>>0] = $2; $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)==(53); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)==(97); - if (!($14)) { - STACKTOP = sp;return; - } - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - HEAP8[$17>>0] = 55; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (_sqlite3VdbeGetOp($7,$8)|0); + HEAP8[$9>>0] = $6; STACKTOP = sp;return; } -function _hasColumn($aiCol,$nCol,$x) { - $aiCol = $aiCol|0; - $nCol = $nCol|0; - $x = $x|0; - var $0 = 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, label = 0, sp = 0; +function _sqlite3WhereOutputRowCount($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$1>>2] = $aiCol; - HEAP32[$2>>2] = $nCol; - HEAP32[$3>>2] = $x; - while(1) { - $4 = HEAP32[$2>>2]|0; - $5 = (($4) + -1)|0; - HEAP32[$2>>2] = $5; - $6 = ($4|0)>(0); - if (!($6)) { - label = 5; - break; - } - $7 = HEAP32[$3>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 2|0); - HEAP32[$1>>2] = $9; - $10 = HEAP16[$8>>1]|0; - $11 = $10 << 16 >> 16; - $12 = ($7|0)==($11|0); - if ($12) { - label = 4; - break; - } - } - if ((label|0) == 4) { - HEAP32[$0>>2] = 1; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); - } - else if ((label|0) == 5) { - HEAP32[$0>>2] = 0; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); - } - return (0)|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 72|0); + $4 = HEAP16[$3>>1]|0; + STACKTOP = sp;return ($4|0); } -function _estimateIndexWidth($pIdx) { - $pIdx = $pIdx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $aCol = 0, $i = 0, $wIndex = 0, $x = 0, label = 0, sp = 0; +function _sqlite3WhereIsDistinct($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $wIndex = sp + 8|0; - $i = sp + 4|0; - $aCol = sp; - $x = sp + 16|0; - HEAP32[$0>>2] = $pIdx; - HEAP32[$wIndex>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$aCol>>2] = $5; - HEAP32[$i>>2] = 0; - while(1) { - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 52|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ($6|0)<($10|0); - if (!($11)) { - break; - } - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($12<<1)|0); - $17 = HEAP16[$16>>1]|0; - HEAP16[$x>>1] = $17; - $18 = HEAP16[$x>>1]|0; - $19 = $18 << 16 >> 16; - $20 = ($19|0)<(0); - if ($20) { - $35 = 1; - } else { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($21<<1)|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26 << 16 >> 16; - $28 = HEAP32[$aCol>>2]|0; - $29 = (($28) + ($27<<4)|0); - $30 = ((($29)) + 14|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $35 = $32; - } - $33 = HEAP32[$wIndex>>2]|0; - $34 = (($33) + ($35))|0; - HEAP32[$wIndex>>2] = $34; - $36 = HEAP32[$i>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$i>>2] = $37; - } - $38 = HEAP32[$wIndex>>2]|0; - $39 = $38<<2; - $40 = (_sqlite3LogEst($39,0)|0); - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 48|0); - HEAP16[$42>>1] = $40; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 47|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + STACKTOP = sp;return ($5|0); } -function _freeIndex($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3WhereIsOrdered($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - _sqlite3DeleteIndexSamples($2,$3); - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 36|0); - $7 = HEAP32[$6>>2]|0; - _sqlite3ExprDelete($4,$7); - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 40|0); - $11 = HEAP32[$10>>2]|0; - _sqlite3ExprListDelete($8,$11); - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 16|0); - $15 = HEAP32[$14>>2]|0; - _sqlite3DbFree($12,$15); - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 55|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18&255) >>> 4; - $20 = $19 & 1; - $21 = $20&255; - $22 = ($21|0)!=(0); - if (!($22)) { - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$1>>2]|0; - _sqlite3DbFree($27,$28); - STACKTOP = sp;return; - } - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 32|0); - $26 = HEAP32[$25>>2]|0; - _sqlite3DbFree($23,$26); - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$1>>2]|0; - _sqlite3DbFree($27,$28); - STACKTOP = sp;return; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 43|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4 << 24 >> 24; + STACKTOP = sp;return ($5|0); } -function _sqlite3DeleteIndexSamples($db,$pIdx) { - $db = $db|0; - $pIdx = $pIdx|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; +function _sqlite3WhereOrderedInnerLoop($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pIdx; - STACKTOP = sp;return; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 48|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + STACKTOP = sp;return ($5|0); } -function _sqlite3ExprIsConstantOrFunction($p,$isInit) { - $p = $p|0; - $isInit = $isInit|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _sqlite3WhereContinueLabel($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 4|0; - HEAP32[$0>>2] = $p; - HEAP8[$1>>0] = $isInit; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP8[$1>>0]|0; - $4 = $3&255; - $5 = (4 + ($4))|0; - $6 = (_exprIsConst($2,$5,0)|0); - STACKTOP = sp;return ($6|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 28|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _sqlite3WhereBreakLabel($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 32|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); } -function _convertToWithoutRowidTable($pParse,$pTab) { - $pParse = $pParse|0; - $pTab = $pTab|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; +function _selectInnerLoop($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $$sink8 = 0, $$sink9 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $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, $db = 0, $i = 0, $ipkToken = 0, $j = 0, $n = 0, $nPk = 0, $pIdx = 0; - var $pList = 0, $pPk = 0, $v = 0, label = 0, sp = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; + var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; + var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0; + var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 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, $or$cond5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $pIdx = sp + 44|0; - $pPk = sp + 40|0; - $nPk = sp + 36|0; - $i = sp + 32|0; - $j = sp + 28|0; - $db = sp + 24|0; - $v = sp + 20|0; - $pList = sp + 16|0; - $ipkToken = sp + 8|0; - $n = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTab; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$v>>2] = $6; - $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 148|0); - $9 = ((($8)) + 7|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)!=(0); - L1: do { - if (!($11)) { - HEAP32[$i>>2] = 0; - while(1) { - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 34|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15 << 16 >> 16; - $17 = ($12|0)<($16|0); - if (!($17)) { - break L1; - } - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($18<<4)|0); - $23 = ((($22)) + 15|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 & 1; - $27 = ($26|0)!=(0); - if ($27) { - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 4|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + ($28<<4)|0); - $33 = ((($32)) + 12|0); - HEAP8[$33>>0] = 2; - } - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$i>>2] = $35; - } + STACKTOP = STACKTOP + 144|0; + $9 = sp + 124|0; + $10 = sp + 120|0; + $11 = sp + 116|0; + $12 = sp + 112|0; + $13 = sp + 108|0; + $14 = sp + 104|0; + $15 = sp + 100|0; + $16 = sp + 96|0; + $17 = sp + 92|0; + $18 = sp + 88|0; + $19 = sp + 84|0; + $20 = sp + 80|0; + $21 = sp + 76|0; + $22 = sp + 72|0; + $23 = sp + 68|0; + $24 = sp + 64|0; + $25 = sp + 60|0; + $26 = sp + 128|0; + $27 = sp + 56|0; + $28 = sp + 52|0; + $29 = sp + 48|0; + $30 = sp + 44|0; + $31 = sp + 40|0; + $32 = sp + 36|0; + $33 = sp + 32|0; + $34 = sp + 28|0; + $35 = sp + 24|0; + $36 = sp + 20|0; + $37 = sp + 16|0; + $38 = sp + 12|0; + $39 = sp + 8|0; + $40 = sp + 4|0; + $41 = sp; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + HEAP32[$12>>2] = $3; + HEAP32[$13>>2] = $4; + HEAP32[$14>>2] = $5; + HEAP32[$15>>2] = $6; + HEAP32[$16>>2] = $7; + HEAP32[$17>>2] = $8; + $42 = HEAP32[$9>>2]|0; + $43 = ((($42)) + 8|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$18>>2] = $44; + $45 = HEAP32[$15>>2]|0; + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + HEAP32[$22>>2] = $47; + $48 = HEAP32[$15>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + HEAP32[$23>>2] = $50; + HEAP32[$25>>2] = 0; + $51 = HEAP32[$14>>2]|0; + $52 = ($51|0)!=(0|0); + if ($52) { + $53 = HEAP32[$14>>2]|0; + $54 = ((($53)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = $56; + } else { + $57 = 0; + } + HEAP32[$20>>2] = $57; + $58 = HEAP32[$13>>2]|0; + $59 = ($58|0)!=(0|0); + if ($59) { + $60 = HEAP32[$13>>2]|0; + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + HEAP32[$13>>2] = 0; } - } while(0); - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 410|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)!=(0); - if ($39) { - STACKTOP = sp;return; } - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 132|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)!=(0); - if ($43) { - $44 = HEAP32[$v>>2]|0; - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 132|0); - $47 = HEAP32[$46>>2]|0; - _sqlite3VdbeChangeOpcode($44,$47,-122); + $63 = HEAP32[$13>>2]|0; + $64 = ($63|0)!=(0|0); + $65 = HEAP32[$20>>2]|0; + $66 = ($65|0)!=(0); + $or$cond = $64 | $66; + if (!($or$cond)) { + $67 = HEAP32[$18>>2]|0; + $68 = HEAP32[$10>>2]|0; + $69 = ((($68)) + 16|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$16>>2]|0; + _codeOffset($67,$70,$71); } - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 32|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50 << 16 >> 16; - $52 = ($51|0)>=(0); - $53 = HEAP32[$1>>2]|0; - do { - if ($52) { - $54 = ((($53)) + 32|0); - $55 = HEAP16[$54>>1]|0; - $56 = $55 << 16 >> 16; - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = (($59) + ($56<<4)|0); - $61 = HEAP32[$60>>2]|0; - _sqlite3TokenInit($ipkToken,$61); - $62 = HEAP32[$0>>2]|0; - $63 = HEAP32[$db>>2]|0; - $64 = (_sqlite3ExprAlloc($63,55,$ipkToken,0)|0); - $65 = (_sqlite3ExprListAppend($62,0,$64)|0); - HEAP32[$pList>>2] = $65; - $66 = HEAP32[$pList>>2]|0; - $67 = ($66|0)==(0|0); - if ($67) { - STACKTOP = sp;return; - } - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 408|0); - $70 = HEAP8[$69>>0]|0; - $71 = HEAP32[$pList>>2]|0; - $72 = ((($71)) + 4|0); - $73 = HEAP32[$72>>2]|0; - $74 = ((($73)) + 12|0); - HEAP8[$74>>0] = $70; - $75 = HEAP32[$0>>2]|0; - $76 = HEAP32[$pList>>2]|0; - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 43|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - _sqlite3CreateIndex($75,0,0,0,$76,$80,0,0,0,0,2); - $81 = HEAP32[$db>>2]|0; - $82 = ((($81)) + 69|0); - $83 = HEAP8[$82>>0]|0; - $84 = ($83<<24>>24)!=(0); - if ($84) { - STACKTOP = sp;return; - } else { - $85 = HEAP32[$1>>2]|0; - $86 = (_sqlite3PrimaryKeyIndex($85)|0); - HEAP32[$pPk>>2] = $86; - $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 32|0); - HEAP16[$88>>1] = -1; - break; - } - } else { - $89 = (_sqlite3PrimaryKeyIndex($53)|0); - HEAP32[$pPk>>2] = $89; - $90 = HEAP32[$v>>2]|0; - $91 = ($90|0)!=(0|0); - if ($91) { - $92 = HEAP32[$v>>2]|0; - $93 = HEAP32[$pPk>>2]|0; - $94 = ((($93)) + 44|0); - $95 = HEAP32[$94>>2]|0; - _sqlite3VdbeChangeOpcode($92,$95,13); + $72 = HEAP32[$11>>2]|0; + $73 = HEAP32[$72>>2]|0; + HEAP32[$24>>2] = $73; + $74 = HEAP32[$15>>2]|0; + $75 = ((($74)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)==(0); + if ($77) { + $78 = HEAP32[$13>>2]|0; + $79 = ($78|0)!=(0|0); + if ($79) { + $80 = HEAP32[$13>>2]|0; + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$81>>2]|0; + HEAP32[$25>>2] = $82; + $83 = HEAP32[$13>>2]|0; + $84 = ((($83)) + 28|0); + $85 = HEAP8[$84>>0]|0; + $86 = $85&255; + $87 = $86 & 1; + $88 = ($87|0)!=(0); + if (!($88)) { + $89 = HEAP32[$25>>2]|0; + $90 = (($89) + 1)|0; + HEAP32[$25>>2] = $90; } - HEAP32[$j>>2] = 1; - HEAP32[$i>>2] = 1; + $91 = HEAP32[$25>>2]|0; + $92 = HEAP32[$9>>2]|0; + $93 = ((($92)) + 44|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + ($91))|0; + HEAP32[$93>>2] = $95; + } + $96 = HEAP32[$9>>2]|0; + $97 = ((($96)) + 44|0); + $98 = HEAP32[$97>>2]|0; + $99 = (($98) + 1)|0; + $100 = HEAP32[$15>>2]|0; + $101 = ((($100)) + 12|0); + HEAP32[$101>>2] = $99; + $102 = HEAP32[$24>>2]|0; + $103 = HEAP32[$9>>2]|0; + $$sink8 = $102;$$sink9 = $103; + label = 16; + } else { + $104 = HEAP32[$15>>2]|0; + $105 = ((($104)) + 12|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$24>>2]|0; + $108 = (($106) + ($107))|0; + $109 = HEAP32[$9>>2]|0; + $110 = ((($109)) + 44|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($108|0)>($111|0); + if ($112) { + $113 = HEAP32[$24>>2]|0; + $114 = HEAP32[$9>>2]|0; + $$sink8 = $113;$$sink9 = $114; + label = 16; + } + } + if ((label|0) == 16) { + $115 = ((($$sink9)) + 44|0); + $116 = HEAP32[$115>>2]|0; + $117 = (($116) + ($$sink8))|0; + HEAP32[$115>>2] = $117; + } + $118 = HEAP32[$24>>2]|0; + $119 = HEAP32[$15>>2]|0; + $120 = ((($119)) + 16|0); + HEAP32[$120>>2] = $118; + $121 = HEAP32[$15>>2]|0; + $122 = ((($121)) + 12|0); + $123 = HEAP32[$122>>2]|0; + HEAP32[$21>>2] = $123; + $124 = HEAP32[$12>>2]|0; + $125 = ($124|0)>=(0); + L24: do { + if ($125) { + HEAP32[$19>>2] = 0; while(1) { - $96 = HEAP32[$i>>2]|0; - $97 = HEAP32[$pPk>>2]|0; - $98 = ((($97)) + 50|0); - $99 = HEAP16[$98>>1]|0; - $100 = $99&65535; - $101 = ($96|0)<($100|0); - if (!($101)) { - break; + $126 = HEAP32[$19>>2]|0; + $127 = HEAP32[$24>>2]|0; + $128 = ($126|0)<($127|0); + if (!($128)) { + break L24; } - $102 = HEAP32[$pPk>>2]|0; - $103 = ((($102)) + 4|0); - $104 = HEAP32[$103>>2]|0; - $105 = HEAP32[$j>>2]|0; - $106 = HEAP32[$i>>2]|0; - $107 = HEAP32[$pPk>>2]|0; - $108 = ((($107)) + 4|0); - $109 = HEAP32[$108>>2]|0; - $110 = (($109) + ($106<<1)|0); - $111 = HEAP16[$110>>1]|0; - $112 = $111 << 16 >> 16; - $113 = (_hasColumn($104,$105,$112)|0); - $114 = ($113|0)!=(0); - if ($114) { - $115 = HEAP32[$pPk>>2]|0; - $116 = ((($115)) + 52|0); - $117 = HEAP16[$116>>1]|0; - $118 = (($117) + -1)<<16>>16; - HEAP16[$116>>1] = $118; + $129 = HEAP32[$18>>2]|0; + $130 = HEAP32[$12>>2]|0; + $131 = HEAP32[$19>>2]|0; + $132 = HEAP32[$21>>2]|0; + $133 = HEAP32[$19>>2]|0; + $134 = (($132) + ($133))|0; + (_sqlite3VdbeAddOp3($129,96,$130,$131,$134)|0); + $135 = HEAP32[$19>>2]|0; + $136 = (($135) + 1)|0; + HEAP32[$19>>2] = $136; + } + } else { + $137 = HEAP32[$22>>2]|0; + $138 = ($137|0)!=(3); + if ($138) { + $139 = HEAP32[$22>>2]|0; + $140 = ($139|0)==(10); + $141 = HEAP32[$22>>2]|0; + $142 = ($141|0)==(9); + $or$cond3 = $140 | $142; + $143 = HEAP32[$22>>2]|0; + $144 = ($143|0)==(13); + $or$cond5 = $or$cond3 | $144; + if ($or$cond5) { + HEAP8[$26>>0] = 1; } else { - $119 = HEAP32[$i>>2]|0; - $120 = HEAP32[$pPk>>2]|0; - $121 = ((($120)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = (($122) + ($119<<1)|0); - $124 = HEAP16[$123>>1]|0; - $125 = HEAP32[$j>>2]|0; - $126 = (($125) + 1)|0; - HEAP32[$j>>2] = $126; - $127 = HEAP32[$pPk>>2]|0; - $128 = ((($127)) + 4|0); - $129 = HEAP32[$128>>2]|0; - $130 = (($129) + ($125<<1)|0); - HEAP16[$130>>1] = $124; + HEAP8[$26>>0] = 0; } - $131 = HEAP32[$i>>2]|0; - $132 = (($131) + 1)|0; - HEAP32[$i>>2] = $132; + $145 = HEAP32[$9>>2]|0; + $146 = HEAP32[$11>>2]|0; + $147 = HEAP32[$21>>2]|0; + $148 = HEAP8[$26>>0]|0; + (_sqlite3ExprCodeExprList($145,$146,$147,0,$148)|0); } - $133 = HEAP32[$j>>2]|0; - $134 = $133&65535; - $135 = HEAP32[$pPk>>2]|0; - $136 = ((($135)) + 50|0); - HEAP16[$136>>1] = $134; } } while(0); - $137 = HEAP32[$pPk>>2]|0; - $138 = ((($137)) + 55|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139 & -33; - $141 = $140 | 32; - HEAP8[$138>>0] = $141; - $142 = HEAP32[$db>>2]|0; - $143 = ((($142)) + 148|0); - $144 = ((($143)) + 7|0); - $145 = HEAP8[$144>>0]|0; - $146 = ($145<<24>>24)!=(0); - if (!($146)) { - $147 = HEAP32[$pPk>>2]|0; - $148 = ((($147)) + 55|0); - $149 = HEAP8[$148>>0]|0; - $150 = $149 & -9; - $151 = $150 | 8; - HEAP8[$148>>0] = $151; - } - $152 = HEAP32[$pPk>>2]|0; - $153 = ((($152)) + 50|0); - $154 = HEAP16[$153>>1]|0; - $155 = $154&65535; - HEAP32[$nPk>>2] = $155; - $156 = HEAP32[$1>>2]|0; - $157 = ((($156)) + 28|0); - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$pPk>>2]|0; - $160 = ((($159)) + 44|0); - HEAP32[$160>>2] = $158; - $161 = HEAP32[$1>>2]|0; - $162 = ((($161)) + 8|0); - $163 = HEAP32[$162>>2]|0; - HEAP32[$pIdx>>2] = $163; - L40: while(1) { - $164 = HEAP32[$pIdx>>2]|0; - $165 = ($164|0)!=(0|0); - if (!($165)) { - break; - } - $166 = HEAP32[$pIdx>>2]|0; - $167 = ((($166)) + 55|0); - $168 = HEAP8[$167>>0]|0; - $169 = $168 & 3; - $170 = $169&255; - $171 = ($170|0)==(2); - L43: do { - if (!($171)) { - HEAP32[$n>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $172 = HEAP32[$i>>2]|0; - $173 = HEAP32[$nPk>>2]|0; - $174 = ($172|0)<($173|0); - if (!($174)) { - break; - } - $175 = HEAP32[$pIdx>>2]|0; - $176 = ((($175)) + 4|0); - $177 = HEAP32[$176>>2]|0; - $178 = HEAP32[$pIdx>>2]|0; - $179 = ((($178)) + 50|0); - $180 = HEAP16[$179>>1]|0; - $181 = $180&65535; - $182 = HEAP32[$i>>2]|0; - $183 = HEAP32[$pPk>>2]|0; - $184 = ((($183)) + 4|0); - $185 = HEAP32[$184>>2]|0; - $186 = (($185) + ($182<<1)|0); - $187 = HEAP16[$186>>1]|0; - $188 = $187 << 16 >> 16; - $189 = (_hasColumn($177,$181,$188)|0); - $190 = ($189|0)!=(0); - if (!($190)) { - $191 = HEAP32[$n>>2]|0; - $192 = (($191) + 1)|0; - HEAP32[$n>>2] = $192; - } - $193 = HEAP32[$i>>2]|0; - $194 = (($193) + 1)|0; - HEAP32[$i>>2] = $194; - } - $195 = HEAP32[$n>>2]|0; - $196 = ($195|0)==(0); - if ($196) { - $197 = HEAP32[$pIdx>>2]|0; - $198 = ((($197)) + 50|0); - $199 = HEAP16[$198>>1]|0; - $200 = HEAP32[$pIdx>>2]|0; - $201 = ((($200)) + 52|0); - HEAP16[$201>>1] = $199; + $149 = HEAP32[$20>>2]|0; + $150 = ($149|0)!=(0); + if ($150) { + $151 = HEAP32[$14>>2]|0; + $152 = ((($151)) + 1|0); + $153 = HEAP8[$152>>0]|0; + $154 = $153&255; + switch ($154|0) { + case 2: { + $155 = HEAP32[$9>>2]|0; + $156 = ((($155)) + 44|0); + $157 = HEAP32[$156>>2]|0; + $158 = (($157) + 1)|0; + HEAP32[$29>>2] = $158; + $159 = HEAP32[$24>>2]|0; + $160 = HEAP32[$9>>2]|0; + $161 = ((($160)) + 44|0); + $162 = HEAP32[$161>>2]|0; + $163 = (($162) + ($159))|0; + HEAP32[$161>>2] = $163; + $164 = HEAP32[$18>>2]|0; + $165 = HEAP32[$14>>2]|0; + $166 = ((($165)) + 8|0); + $167 = HEAP32[$166>>2]|0; + (_sqlite3VdbeChangeToNoop($164,$167)|0); + $168 = HEAP32[$18>>2]|0; + $169 = HEAP32[$14>>2]|0; + $170 = ((($169)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = (_sqlite3VdbeGetOp($168,$171)|0); + HEAP32[$27>>2] = $172; + $173 = HEAP32[$27>>2]|0; + HEAP8[$173>>0] = 79; + $174 = HEAP32[$27>>2]|0; + $175 = ((($174)) + 4|0); + HEAP32[$175>>2] = 1; + $176 = HEAP32[$29>>2]|0; + $177 = HEAP32[$27>>2]|0; + $178 = ((($177)) + 8|0); + HEAP32[$178>>2] = $176; + $179 = HEAP32[$18>>2]|0; + $180 = (_sqlite3VdbeCurrentAddr($179)|0); + $181 = HEAP32[$24>>2]|0; + $182 = (($180) + ($181))|0; + HEAP32[$28>>2] = $182; + HEAP32[$19>>2] = 0; + while(1) { + $183 = HEAP32[$19>>2]|0; + $184 = HEAP32[$24>>2]|0; + $185 = ($183|0)<($184|0); + if (!($185)) { break; } - $202 = HEAP32[$db>>2]|0; - $203 = HEAP32[$pIdx>>2]|0; - $204 = HEAP32[$pIdx>>2]|0; - $205 = ((($204)) + 50|0); - $206 = HEAP16[$205>>1]|0; - $207 = $206&65535; - $208 = HEAP32[$n>>2]|0; - $209 = (($207) + ($208))|0; - $210 = (_resizeIndexObject($202,$203,$209)|0); - $211 = ($210|0)!=(0); - if ($211) { - label = 50; - break L40; - } - HEAP32[$i>>2] = 0; - $212 = HEAP32[$pIdx>>2]|0; - $213 = ((($212)) + 50|0); - $214 = HEAP16[$213>>1]|0; - $215 = $214&65535; - HEAP32[$j>>2] = $215; - while(1) { - $216 = HEAP32[$i>>2]|0; - $217 = HEAP32[$nPk>>2]|0; - $218 = ($216|0)<($217|0); - if (!($218)) { - break L43; - } - $219 = HEAP32[$pIdx>>2]|0; - $220 = ((($219)) + 4|0); - $221 = HEAP32[$220>>2]|0; - $222 = HEAP32[$pIdx>>2]|0; - $223 = ((($222)) + 50|0); - $224 = HEAP16[$223>>1]|0; - $225 = $224&65535; - $226 = HEAP32[$i>>2]|0; - $227 = HEAP32[$pPk>>2]|0; - $228 = ((($227)) + 4|0); - $229 = HEAP32[$228>>2]|0; - $230 = (($229) + ($226<<1)|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231 << 16 >> 16; - $233 = (_hasColumn($221,$225,$232)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - $235 = HEAP32[$i>>2]|0; - $236 = HEAP32[$pPk>>2]|0; - $237 = ((($236)) + 4|0); - $238 = HEAP32[$237>>2]|0; - $239 = (($238) + ($235<<1)|0); - $240 = HEAP16[$239>>1]|0; - $241 = HEAP32[$j>>2]|0; - $242 = HEAP32[$pIdx>>2]|0; - $243 = ((($242)) + 4|0); - $244 = HEAP32[$243>>2]|0; - $245 = (($244) + ($241<<1)|0); - HEAP16[$245>>1] = $240; - $246 = HEAP32[$i>>2]|0; - $247 = HEAP32[$pPk>>2]|0; - $248 = ((($247)) + 32|0); - $249 = HEAP32[$248>>2]|0; - $250 = (($249) + ($246<<2)|0); - $251 = HEAP32[$250>>2]|0; - $252 = HEAP32[$j>>2]|0; - $253 = HEAP32[$pIdx>>2]|0; - $254 = ((($253)) + 32|0); - $255 = HEAP32[$254>>2]|0; - $256 = (($255) + ($252<<2)|0); - HEAP32[$256>>2] = $251; - $257 = HEAP32[$j>>2]|0; - $258 = (($257) + 1)|0; - HEAP32[$j>>2] = $258; - } - $259 = HEAP32[$i>>2]|0; - $260 = (($259) + 1)|0; - HEAP32[$i>>2] = $260; - } - } - } while(0); - $261 = HEAP32[$pIdx>>2]|0; - $262 = ((($261)) + 20|0); - $263 = HEAP32[$262>>2]|0; - HEAP32[$pIdx>>2] = $263; - } - if ((label|0) == 50) { - STACKTOP = sp;return; - } - $264 = HEAP32[$nPk>>2]|0; - $265 = HEAP32[$1>>2]|0; - $266 = ((($265)) + 34|0); - $267 = HEAP16[$266>>1]|0; - $268 = $267 << 16 >> 16; - $269 = ($264|0)<($268|0); - if (!($269)) { - $308 = HEAP32[$1>>2]|0; - $309 = ((($308)) + 34|0); - $310 = HEAP16[$309>>1]|0; - $311 = HEAP32[$pPk>>2]|0; - $312 = ((($311)) + 52|0); - HEAP16[$312>>1] = $310; - STACKTOP = sp;return; - } - $270 = HEAP32[$db>>2]|0; - $271 = HEAP32[$pPk>>2]|0; - $272 = HEAP32[$1>>2]|0; - $273 = ((($272)) + 34|0); - $274 = HEAP16[$273>>1]|0; - $275 = $274 << 16 >> 16; - $276 = (_resizeIndexObject($270,$271,$275)|0); - $277 = ($276|0)!=(0); - if ($277) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - $278 = HEAP32[$nPk>>2]|0; - HEAP32[$j>>2] = $278; - while(1) { - $279 = HEAP32[$i>>2]|0; - $280 = HEAP32[$1>>2]|0; - $281 = ((($280)) + 34|0); - $282 = HEAP16[$281>>1]|0; - $283 = $282 << 16 >> 16; - $284 = ($279|0)<($283|0); - if (!($284)) { + $186 = HEAP32[$9>>2]|0; + $187 = HEAP32[$11>>2]|0; + $188 = ((($187)) + 4|0); + $189 = HEAP32[$188>>2]|0; + $190 = HEAP32[$19>>2]|0; + $191 = (($189) + (($190*20)|0)|0); + $192 = HEAP32[$191>>2]|0; + $193 = (_sqlite3ExprCollSeq($186,$192)|0); + HEAP32[$30>>2] = $193; + $194 = HEAP32[$19>>2]|0; + $195 = HEAP32[$24>>2]|0; + $196 = (($195) - 1)|0; + $197 = ($194|0)<($196|0); + $198 = HEAP32[$18>>2]|0; + $199 = HEAP32[$21>>2]|0; + $200 = HEAP32[$19>>2]|0; + $201 = (($199) + ($200))|0; + if ($197) { + $202 = HEAP32[$28>>2]|0; + $203 = HEAP32[$29>>2]|0; + $204 = HEAP32[$19>>2]|0; + $205 = (($203) + ($204))|0; + (_sqlite3VdbeAddOp3($198,36,$201,$202,$205)|0); + } else { + $206 = HEAP32[$16>>2]|0; + $207 = HEAP32[$29>>2]|0; + $208 = HEAP32[$19>>2]|0; + $209 = (($207) + ($208))|0; + (_sqlite3VdbeAddOp3($198,37,$201,$206,$209)|0); + } + $210 = HEAP32[$18>>2]|0; + $211 = HEAP32[$30>>2]|0; + _sqlite3VdbeChangeP4($210,-1,$211,-4); + $212 = HEAP32[$18>>2]|0; + _sqlite3VdbeChangeP5($212,-128); + $213 = HEAP32[$19>>2]|0; + $214 = (($213) + 1)|0; + HEAP32[$19>>2] = $214; + } + $215 = HEAP32[$18>>2]|0; + $216 = HEAP32[$21>>2]|0; + $217 = HEAP32[$29>>2]|0; + $218 = HEAP32[$24>>2]|0; + $219 = (($218) - 1)|0; + (_sqlite3VdbeAddOp3($215,84,$216,$217,$219)|0); break; } - $285 = HEAP32[$pPk>>2]|0; - $286 = ((($285)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = HEAP32[$j>>2]|0; - $289 = HEAP32[$i>>2]|0; - $290 = (_hasColumn($287,$288,$289)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - $292 = HEAP32[$i>>2]|0; - $293 = $292&65535; - $294 = HEAP32[$j>>2]|0; - $295 = HEAP32[$pPk>>2]|0; - $296 = ((($295)) + 4|0); - $297 = HEAP32[$296>>2]|0; - $298 = (($297) + ($294<<1)|0); - HEAP16[$298>>1] = $293; - $299 = HEAP32[$j>>2]|0; - $300 = HEAP32[$pPk>>2]|0; - $301 = ((($300)) + 32|0); - $302 = HEAP32[$301>>2]|0; - $303 = (($302) + ($299<<2)|0); - HEAP32[$303>>2] = 34834; - $304 = HEAP32[$j>>2]|0; - $305 = (($304) + 1)|0; - HEAP32[$j>>2] = $305; - } - $306 = HEAP32[$i>>2]|0; - $307 = (($306) + 1)|0; - HEAP32[$i>>2] = $307; - } - STACKTOP = sp;return; -} -function _estimateTableWidth($pTab) { - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pTabCol = 0, $wTable = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $wTable = sp + 8|0; - $pTabCol = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pTab; - HEAP32[$wTable>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 34|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3 << 16 >> 16; - HEAP32[$i>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pTabCol>>2] = $7; - while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = ($8|0)>(0); - if (!($9)) { + case 1: { + $220 = HEAP32[$18>>2]|0; + $221 = HEAP32[$14>>2]|0; + $222 = ((($221)) + 8|0); + $223 = HEAP32[$222>>2]|0; + (_sqlite3VdbeChangeToNoop($220,$223)|0); break; } - $10 = HEAP32[$pTabCol>>2]|0; - $11 = ((($10)) + 14|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = HEAP32[$wTable>>2]|0; - $15 = (($14) + ($13))|0; - HEAP32[$wTable>>2] = $15; - $16 = HEAP32[$i>>2]|0; - $17 = (($16) + -1)|0; - HEAP32[$i>>2] = $17; - $18 = HEAP32[$pTabCol>>2]|0; - $19 = ((($18)) + 16|0); - HEAP32[$pTabCol>>2] = $19; - } - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 32|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22 << 16 >> 16; - $24 = ($23|0)<(0); - if (!($24)) { - $27 = HEAP32[$wTable>>2]|0; - $28 = $27<<2; - $29 = (_sqlite3LogEst($28,0)|0); - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 40|0); - HEAP16[$31>>1] = $29; - STACKTOP = sp;return; + default: { + $224 = HEAP32[$9>>2]|0; + $225 = HEAP32[$14>>2]|0; + $226 = ((($225)) + 4|0); + $227 = HEAP32[$226>>2]|0; + $228 = HEAP32[$16>>2]|0; + $229 = HEAP32[$24>>2]|0; + $230 = HEAP32[$21>>2]|0; + _codeDistinct($224,$227,$228,$229,$230); + } + } + $231 = HEAP32[$13>>2]|0; + $232 = ($231|0)==(0|0); + if ($232) { + $233 = HEAP32[$18>>2]|0; + $234 = HEAP32[$10>>2]|0; + $235 = ((($234)) + 16|0); + $236 = HEAP32[$235>>2]|0; + $237 = HEAP32[$16>>2]|0; + _codeOffset($233,$236,$237); + } } - $25 = HEAP32[$wTable>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$wTable>>2] = $26; - $27 = HEAP32[$wTable>>2]|0; - $28 = $27<<2; - $29 = (_sqlite3LogEst($28,0)|0); - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 40|0); - HEAP16[$31>>1] = $29; - STACKTOP = sp;return; -} -function _createTableStmt($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $i = 0, $k = 0, $len = 0, $n = 0, $pCol = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $zEnd = 0, $zSep = 0, $zSep2 = 0, $zStmt = 0, $zType = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $i = sp + 56|0; - $k = sp + 52|0; - $n = sp + 48|0; - $zStmt = sp + 44|0; - $zSep = sp + 40|0; - $zSep2 = sp + 36|0; - $zEnd = sp + 32|0; - $pCol = sp + 28|0; - $len = sp + 24|0; - $zType = sp + 20|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $p; - HEAP32[$n>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pCol>>2] = $5; - HEAP32[$i>>2] = 0; - while(1) { - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 34|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9 << 16 >> 16; - $11 = ($6|0)<($10|0); - if (!($11)) { + $238 = HEAP32[$22>>2]|0; + L53: do { + switch ($238|0) { + case 1: { + $239 = HEAP32[$9>>2]|0; + $240 = (_sqlite3GetTempReg($239)|0); + HEAP32[$31>>2] = $240; + $241 = HEAP32[$18>>2]|0; + $242 = HEAP32[$21>>2]|0; + $243 = HEAP32[$24>>2]|0; + $244 = HEAP32[$31>>2]|0; + (_sqlite3VdbeAddOp3($241,99,$242,$243,$244)|0); + $245 = HEAP32[$18>>2]|0; + $246 = HEAP32[$23>>2]|0; + $247 = HEAP32[$31>>2]|0; + (_sqlite3VdbeAddOp2($245,126,$246,$247)|0); + $248 = HEAP32[$9>>2]|0; + $249 = HEAP32[$31>>2]|0; + _sqlite3ReleaseTempReg($248,$249); break; } - $12 = HEAP32[$pCol>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (_identLength($13)|0); - $15 = (($14) + 5)|0; - $16 = HEAP32[$n>>2]|0; - $17 = (($16) + ($15))|0; - HEAP32[$n>>2] = $17; - $18 = HEAP32[$i>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$i>>2] = $19; - $20 = HEAP32[$pCol>>2]|0; - $21 = ((($20)) + 16|0); - HEAP32[$pCol>>2] = $21; - } - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = (_identLength($23)|0); - $25 = HEAP32[$n>>2]|0; - $26 = (($25) + ($24))|0; - HEAP32[$n>>2] = $26; - $27 = HEAP32[$n>>2]|0; - $28 = ($27|0)<(50); - if ($28) { - HEAP32[$zSep>>2] = 18402; - HEAP32[$zSep2>>2] = 34710; - HEAP32[$zEnd>>2] = 34706; - } else { - HEAP32[$zSep>>2] = 37369; - HEAP32[$zSep2>>2] = 37373; - HEAP32[$zEnd>>2] = 37378; - } - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 34|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31 << 16 >> 16; - $33 = ($32*6)|0; - $34 = (35 + ($33))|0; - $35 = HEAP32[$n>>2]|0; - $36 = (($35) + ($34))|0; - HEAP32[$n>>2] = $36; - $37 = HEAP32[$n>>2]|0; - $38 = ($37|0)<(0); - $39 = $38 << 31 >> 31; - $40 = (_sqlite3DbMallocRaw(0,$37,$39)|0); - HEAP32[$zStmt>>2] = $40; - $41 = HEAP32[$zStmt>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { - $43 = HEAP32[$1>>2]|0; - _sqlite3OomFault($43); - HEAP32[$0>>2] = 0; - $104 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($104|0); - } - $44 = HEAP32[$n>>2]|0; - $45 = HEAP32[$zStmt>>2]|0; - (_sqlite3_snprintf($44,$45,37381,$vararg_buffer)|0); - $46 = HEAP32[$zStmt>>2]|0; - $47 = (_sqlite3Strlen30($46)|0); - HEAP32[$k>>2] = $47; - $48 = HEAP32[$zStmt>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = HEAP32[$49>>2]|0; - _identPut($48,$k,$50); - $51 = HEAP32[$k>>2]|0; - $52 = (($51) + 1)|0; - HEAP32[$k>>2] = $52; - $53 = HEAP32[$zStmt>>2]|0; - $54 = (($53) + ($51)|0); - HEAP8[$54>>0] = 40; - $55 = HEAP32[$2>>2]|0; - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - HEAP32[$pCol>>2] = $57; - HEAP32[$i>>2] = 0; - while(1) { - $58 = HEAP32[$i>>2]|0; - $59 = HEAP32[$2>>2]|0; - $60 = ((($59)) + 34|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61 << 16 >> 16; - $63 = ($58|0)<($62|0); - $64 = HEAP32[$n>>2]|0; - $65 = HEAP32[$k>>2]|0; - $66 = (($64) - ($65))|0; - $67 = HEAP32[$k>>2]|0; - $68 = HEAP32[$zStmt>>2]|0; - $69 = (($68) + ($67)|0); - if (!($63)) { + case 2: { + $250 = HEAP32[$18>>2]|0; + $251 = HEAP32[$23>>2]|0; + $252 = HEAP32[$21>>2]|0; + $253 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp3($250,127,$251,$252,$253)|0); break; } - $70 = HEAP32[$zSep>>2]|0; - (_sqlite3_snprintf($66,$69,$70,$vararg_buffer1)|0); - $71 = HEAP32[$k>>2]|0; - $72 = HEAP32[$zStmt>>2]|0; - $73 = (($72) + ($71)|0); - $74 = (_sqlite3Strlen30($73)|0); - $75 = HEAP32[$k>>2]|0; - $76 = (($75) + ($74))|0; - HEAP32[$k>>2] = $76; - $77 = HEAP32[$zSep2>>2]|0; - HEAP32[$zSep>>2] = $77; - $78 = HEAP32[$zStmt>>2]|0; - $79 = HEAP32[$pCol>>2]|0; - $80 = HEAP32[$79>>2]|0; - _identPut($78,$k,$80); - $81 = HEAP32[$pCol>>2]|0; - $82 = ((($81)) + 13|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83 << 24 >> 24; - $85 = (($84) - 65)|0; - $86 = (5492 + ($85<<2)|0); - $87 = HEAP32[$86>>2]|0; - HEAP32[$zType>>2] = $87; - $88 = HEAP32[$zType>>2]|0; - $89 = (_sqlite3Strlen30($88)|0); - HEAP32[$len>>2] = $89; - $90 = HEAP32[$k>>2]|0; - $91 = HEAP32[$zStmt>>2]|0; - $92 = (($91) + ($90)|0); - $93 = HEAP32[$zType>>2]|0; - $94 = HEAP32[$len>>2]|0; - _memcpy(($92|0),($93|0),($94|0))|0; - $95 = HEAP32[$len>>2]|0; - $96 = HEAP32[$k>>2]|0; - $97 = (($96) + ($95))|0; - HEAP32[$k>>2] = $97; - $98 = HEAP32[$i>>2]|0; - $99 = (($98) + 1)|0; - HEAP32[$i>>2] = $99; - $100 = HEAP32[$pCol>>2]|0; - $101 = ((($100)) + 16|0); - HEAP32[$pCol>>2] = $101; - } - $102 = HEAP32[$zEnd>>2]|0; - HEAP32[$vararg_buffer3>>2] = $102; - (_sqlite3_snprintf($66,$69,18391,$vararg_buffer3)|0); - $103 = HEAP32[$zStmt>>2]|0; - HEAP32[$0>>2] = $103; - $104 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($104|0); -} -function _identLength($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $z; - HEAP32[$n>>2] = 0; - while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)!=(0); - if (!($3)) { + case 12: case 14: case 6: case 5: { + $254 = HEAP32[$9>>2]|0; + $255 = HEAP32[$25>>2]|0; + $256 = (($255) + 1)|0; + $257 = (_sqlite3GetTempRange($254,$256)|0); + HEAP32[$32>>2] = $257; + $258 = HEAP32[$18>>2]|0; + $259 = HEAP32[$21>>2]|0; + $260 = HEAP32[$24>>2]|0; + $261 = HEAP32[$32>>2]|0; + $262 = HEAP32[$25>>2]|0; + $263 = (($261) + ($262))|0; + (_sqlite3VdbeAddOp3($258,99,$259,$260,$263)|0); + $264 = HEAP32[$22>>2]|0; + $265 = ($264|0)==(6); + if ($265) { + $266 = HEAP32[$18>>2]|0; + $267 = (_sqlite3VdbeCurrentAddr($266)|0); + $268 = (($267) + 4)|0; + HEAP32[$33>>2] = $268; + $269 = HEAP32[$18>>2]|0; + $270 = HEAP32[$23>>2]|0; + $271 = (($270) + 1)|0; + $272 = HEAP32[$33>>2]|0; + $273 = HEAP32[$32>>2]|0; + (_sqlite3VdbeAddOp4Int($269,31,$271,$272,$273,0)|0); + $274 = HEAP32[$18>>2]|0; + $275 = HEAP32[$23>>2]|0; + $276 = (($275) + 1)|0; + $277 = HEAP32[$32>>2]|0; + (_sqlite3VdbeAddOp2($274,126,$276,$277)|0); + } + $278 = HEAP32[$13>>2]|0; + $279 = ($278|0)!=(0|0); + $280 = HEAP32[$9>>2]|0; + if ($279) { + $281 = HEAP32[$13>>2]|0; + $282 = HEAP32[$10>>2]|0; + $283 = HEAP32[$32>>2]|0; + $284 = HEAP32[$25>>2]|0; + $285 = (($283) + ($284))|0; + $286 = HEAP32[$21>>2]|0; + $287 = HEAP32[$25>>2]|0; + _pushOntoSorter($280,$281,$282,$285,$286,1,$287); + } else { + $288 = (_sqlite3GetTempReg($280)|0); + HEAP32[$34>>2] = $288; + $289 = HEAP32[$18>>2]|0; + $290 = HEAP32[$23>>2]|0; + $291 = HEAP32[$34>>2]|0; + (_sqlite3VdbeAddOp2($289,114,$290,$291)|0); + $292 = HEAP32[$18>>2]|0; + $293 = HEAP32[$23>>2]|0; + $294 = HEAP32[$32>>2]|0; + $295 = HEAP32[$34>>2]|0; + (_sqlite3VdbeAddOp3($292,115,$293,$294,$295)|0); + $296 = HEAP32[$18>>2]|0; + _sqlite3VdbeChangeP5($296,8); + $297 = HEAP32[$9>>2]|0; + $298 = HEAP32[$34>>2]|0; + _sqlite3ReleaseTempReg($297,$298); + } + $299 = HEAP32[$9>>2]|0; + $300 = HEAP32[$32>>2]|0; + $301 = HEAP32[$25>>2]|0; + $302 = (($301) + 1)|0; + _sqlite3ReleaseTempRange($299,$300,$302); break; } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5 << 24 >> 24; - $7 = ($6|0)==(34); - if ($7) { - $8 = HEAP32[$n>>2]|0; - $9 = (($8) + 1)|0; - HEAP32[$n>>2] = $9; + case 11: { + $303 = HEAP32[$13>>2]|0; + $304 = ($303|0)!=(0|0); + $305 = HEAP32[$9>>2]|0; + if ($304) { + $306 = HEAP32[$13>>2]|0; + $307 = HEAP32[$10>>2]|0; + $308 = HEAP32[$21>>2]|0; + $309 = HEAP32[$21>>2]|0; + $310 = HEAP32[$24>>2]|0; + $311 = HEAP32[$25>>2]|0; + _pushOntoSorter($305,$306,$307,$308,$309,$310,$311); + break L53; + } else { + $312 = (_sqlite3GetTempReg($305)|0); + HEAP32[$35>>2] = $312; + $313 = HEAP32[$18>>2]|0; + $314 = HEAP32[$21>>2]|0; + $315 = HEAP32[$24>>2]|0; + $316 = HEAP32[$35>>2]|0; + $317 = HEAP32[$15>>2]|0; + $318 = ((($317)) + 4|0); + $319 = HEAP32[$318>>2]|0; + $320 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp4($313,99,$314,$315,$316,$319,$320)|0); + $321 = HEAP32[$9>>2]|0; + $322 = HEAP32[$21>>2]|0; + $323 = HEAP32[$24>>2]|0; + _sqlite3ExprCacheAffinityChange($321,$322,$323); + $324 = HEAP32[$18>>2]|0; + $325 = HEAP32[$23>>2]|0; + $326 = HEAP32[$35>>2]|0; + (_sqlite3VdbeAddOp2($324,126,$325,$326)|0); + $327 = HEAP32[$9>>2]|0; + $328 = HEAP32[$35>>2]|0; + _sqlite3ReleaseTempReg($327,$328); + break L53; + } + break; } - $10 = HEAP32[$n>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$n>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 1|0); - HEAP32[$0>>2] = $13; - } - $14 = HEAP32[$n>>2]|0; - $15 = (($14) + 2)|0; - STACKTOP = sp;return ($15|0); -} -function _identPut($z,$pIdx,$zSignedIdent) { - $z = $z|0; - $pIdx = $pIdx|0; - $zSignedIdent = $zSignedIdent|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $j = 0, $needQuote = 0, $zIdent = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $zIdent = sp + 12|0; - $i = sp + 8|0; - $j = sp + 4|0; - $needQuote = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $pIdx; - HEAP32[$2>>2] = $zSignedIdent; - $3 = HEAP32[$2>>2]|0; - HEAP32[$zIdent>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$i>>2] = $5; - HEAP32[$j>>2] = 0; - while(1) { - $6 = HEAP32[$j>>2]|0; - $7 = HEAP32[$zIdent>>2]|0; - $8 = (($7) + ($6)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)!=(0); - if (!($10)) { + case 3: { + $329 = HEAP32[$18>>2]|0; + $330 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp2($329,76,1,$330)|0); break; } - $11 = HEAP32[$j>>2]|0; - $12 = HEAP32[$zIdent>>2]|0; - $13 = (($12) + ($11)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (18403 + ($15)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = $18 & 6; - $20 = ($19|0)!=(0); - if (!($20)) { - $21 = HEAP32[$j>>2]|0; - $22 = HEAP32[$zIdent>>2]|0; - $23 = (($22) + ($21)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = ($25|0)!=(95); - if ($26) { - break; + case 10: { + $331 = HEAP32[$13>>2]|0; + $332 = ($331|0)!=(0|0); + if ($332) { + $333 = HEAP32[$9>>2]|0; + $334 = HEAP32[$13>>2]|0; + $335 = HEAP32[$10>>2]|0; + $336 = HEAP32[$21>>2]|0; + $337 = HEAP32[$21>>2]|0; + $338 = HEAP32[$24>>2]|0; + $339 = HEAP32[$25>>2]|0; + _pushOntoSorter($333,$334,$335,$336,$337,$338,$339); } + break; } - $27 = HEAP32[$j>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$j>>2] = $28; - } - $29 = HEAP32[$zIdent>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = (18403 + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 & 4; - $36 = ($35|0)!=(0); - if ($36) { - $50 = 1; - } else { - $37 = HEAP32[$zIdent>>2]|0; - $38 = HEAP32[$j>>2]|0; - $39 = (_sqlite3KeywordCode($37,$38)|0); - $40 = ($39|0)!=(55); - if ($40) { - $50 = 1; - } else { - $41 = HEAP32[$j>>2]|0; - $42 = HEAP32[$zIdent>>2]|0; - $43 = (($42) + ($41)|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = ($45|0)!=(0); - if ($46) { - $50 = 1; + case 9: case 13: { + $340 = HEAP32[$13>>2]|0; + $341 = ($340|0)!=(0|0); + if ($341) { + $342 = HEAP32[$9>>2]|0; + $343 = HEAP32[$13>>2]|0; + $344 = HEAP32[$10>>2]|0; + $345 = HEAP32[$21>>2]|0; + $346 = HEAP32[$21>>2]|0; + $347 = HEAP32[$24>>2]|0; + $348 = HEAP32[$25>>2]|0; + _pushOntoSorter($342,$343,$344,$345,$346,$347,$348); + break L53; + } + $349 = HEAP32[$22>>2]|0; + $350 = ($349|0)==(13); + $351 = HEAP32[$18>>2]|0; + if ($350) { + $352 = HEAP32[$15>>2]|0; + $353 = ((($352)) + 8|0); + $354 = HEAP32[$353>>2]|0; + (_sqlite3VdbeAddOp1($351,16,$354)|0); + break L53; } else { - $47 = HEAP32[$j>>2]|0; - $48 = ($47|0)==(0); - $50 = $48; + $355 = HEAP32[$21>>2]|0; + $356 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp2($351,87,$355,$356)|0); + $357 = HEAP32[$9>>2]|0; + $358 = HEAP32[$21>>2]|0; + $359 = HEAP32[$24>>2]|0; + _sqlite3ExprCacheAffinityChange($357,$358,$359); + break L53; } + break; } - } - $49 = $50&1; - HEAP32[$needQuote>>2] = $49; - $51 = HEAP32[$needQuote>>2]|0; - $52 = ($51|0)!=(0); - if ($52) { - $53 = HEAP32[$i>>2]|0; - $54 = (($53) + 1)|0; - HEAP32[$i>>2] = $54; - $55 = HEAP32[$0>>2]|0; - $56 = (($55) + ($53)|0); - HEAP8[$56>>0] = 34; - } - HEAP32[$j>>2] = 0; - while(1) { - $57 = HEAP32[$j>>2]|0; - $58 = HEAP32[$zIdent>>2]|0; - $59 = (($58) + ($57)|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)!=(0); - if (!($61)) { + case 7: case 8: { + HEAP32[$40>>2] = 0; + $360 = HEAP32[$15>>2]|0; + $361 = ((($360)) + 20|0); + $362 = HEAP32[$361>>2]|0; + HEAP32[$41>>2] = $362; + $363 = HEAP32[$41>>2]|0; + $364 = HEAP32[$363>>2]|0; + HEAP32[$36>>2] = $364; + $365 = HEAP32[$9>>2]|0; + $366 = (_sqlite3GetTempReg($365)|0); + HEAP32[$37>>2] = $366; + $367 = HEAP32[$9>>2]|0; + $368 = HEAP32[$36>>2]|0; + $369 = (($368) + 2)|0; + $370 = (_sqlite3GetTempRange($367,$369)|0); + HEAP32[$38>>2] = $370; + $371 = HEAP32[$38>>2]|0; + $372 = HEAP32[$36>>2]|0; + $373 = (($371) + ($372))|0; + $374 = (($373) + 1)|0; + HEAP32[$39>>2] = $374; + $375 = HEAP32[$22>>2]|0; + $376 = ($375|0)==(8); + if ($376) { + $377 = HEAP32[$18>>2]|0; + $378 = HEAP32[$23>>2]|0; + $379 = (($378) + 1)|0; + $380 = HEAP32[$21>>2]|0; + $381 = HEAP32[$24>>2]|0; + $382 = (_sqlite3VdbeAddOp4Int($377,31,$379,0,$380,$381)|0); + HEAP32[$40>>2] = $382; + } + $383 = HEAP32[$18>>2]|0; + $384 = HEAP32[$21>>2]|0; + $385 = HEAP32[$24>>2]|0; + $386 = HEAP32[$39>>2]|0; + (_sqlite3VdbeAddOp3($383,99,$384,$385,$386)|0); + $387 = HEAP32[$22>>2]|0; + $388 = ($387|0)==(8); + if ($388) { + $389 = HEAP32[$18>>2]|0; + $390 = HEAP32[$23>>2]|0; + $391 = (($390) + 1)|0; + $392 = HEAP32[$39>>2]|0; + (_sqlite3VdbeAddOp2($389,126,$391,$392)|0); + $393 = HEAP32[$18>>2]|0; + _sqlite3VdbeChangeP5($393,16); + } + HEAP32[$19>>2] = 0; + while(1) { + $394 = HEAP32[$19>>2]|0; + $395 = HEAP32[$36>>2]|0; + $396 = ($394|0)<($395|0); + $397 = HEAP32[$18>>2]|0; + if (!($396)) { + break; + } + $398 = HEAP32[$21>>2]|0; + $399 = HEAP32[$41>>2]|0; + $400 = ((($399)) + 4|0); + $401 = HEAP32[$400>>2]|0; + $402 = HEAP32[$19>>2]|0; + $403 = (($401) + (($402*20)|0)|0); + $404 = ((($403)) + 16|0); + $405 = HEAP16[$404>>1]|0; + $406 = $405&65535; + $407 = (($398) + ($406))|0; + $408 = (($407) - 1)|0; + $409 = HEAP32[$38>>2]|0; + $410 = HEAP32[$19>>2]|0; + $411 = (($409) + ($410))|0; + (_sqlite3VdbeAddOp2($397,85,$408,$411)|0); + $412 = HEAP32[$19>>2]|0; + $413 = (($412) + 1)|0; + HEAP32[$19>>2] = $413; + } + $414 = HEAP32[$23>>2]|0; + $415 = HEAP32[$38>>2]|0; + $416 = HEAP32[$36>>2]|0; + $417 = (($415) + ($416))|0; + (_sqlite3VdbeAddOp2($397,113,$414,$417)|0); + $418 = HEAP32[$18>>2]|0; + $419 = HEAP32[$38>>2]|0; + $420 = HEAP32[$36>>2]|0; + $421 = (($420) + 2)|0; + $422 = HEAP32[$37>>2]|0; + (_sqlite3VdbeAddOp3($418,99,$419,$421,$422)|0); + $423 = HEAP32[$18>>2]|0; + $424 = HEAP32[$23>>2]|0; + $425 = HEAP32[$37>>2]|0; + (_sqlite3VdbeAddOp2($423,126,$424,$425)|0); + $426 = HEAP32[$40>>2]|0; + $427 = ($426|0)!=(0); + if ($427) { + $428 = HEAP32[$18>>2]|0; + $429 = HEAP32[$40>>2]|0; + _sqlite3VdbeJumpHere($428,$429); + } + $430 = HEAP32[$9>>2]|0; + $431 = HEAP32[$37>>2]|0; + _sqlite3ReleaseTempReg($430,$431); + $432 = HEAP32[$9>>2]|0; + $433 = HEAP32[$38>>2]|0; + $434 = HEAP32[$36>>2]|0; + $435 = (($434) + 2)|0; + _sqlite3ReleaseTempRange($432,$433,$435); break; } - $62 = HEAP32[$j>>2]|0; - $63 = HEAP32[$zIdent>>2]|0; - $64 = (($63) + ($62)|0); - $65 = HEAP8[$64>>0]|0; - $66 = HEAP32[$i>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$i>>2] = $67; - $68 = HEAP32[$0>>2]|0; - $69 = (($68) + ($66)|0); - HEAP8[$69>>0] = $65; - $70 = HEAP32[$j>>2]|0; - $71 = HEAP32[$zIdent>>2]|0; - $72 = (($71) + ($70)|0); - $73 = HEAP8[$72>>0]|0; - $74 = $73&255; - $75 = ($74|0)==(34); - if ($75) { - $76 = HEAP32[$i>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[$i>>2] = $77; - $78 = HEAP32[$0>>2]|0; - $79 = (($78) + ($76)|0); - HEAP8[$79>>0] = 34; + default: { } - $80 = HEAP32[$j>>2]|0; - $81 = (($80) + 1)|0; - HEAP32[$j>>2] = $81; + } + } while(0); + $436 = HEAP32[$13>>2]|0; + $437 = ($436|0)==(0|0); + if (!($437)) { + STACKTOP = sp;return; } - $82 = HEAP32[$needQuote>>2]|0; - $83 = ($82|0)!=(0); - if (!($83)) { - $88 = HEAP32[$i>>2]|0; - $89 = HEAP32[$0>>2]|0; - $90 = (($89) + ($88)|0); - HEAP8[$90>>0] = 0; - $91 = HEAP32[$i>>2]|0; - $92 = HEAP32[$1>>2]|0; - HEAP32[$92>>2] = $91; + $438 = HEAP32[$10>>2]|0; + $439 = ((($438)) + 12|0); + $440 = HEAP32[$439>>2]|0; + $441 = ($440|0)!=(0); + if (!($441)) { STACKTOP = sp;return; } - $84 = HEAP32[$i>>2]|0; - $85 = (($84) + 1)|0; - HEAP32[$i>>2] = $85; - $86 = HEAP32[$0>>2]|0; - $87 = (($86) + ($84)|0); - HEAP8[$87>>0] = 34; - $88 = HEAP32[$i>>2]|0; - $89 = HEAP32[$0>>2]|0; - $90 = (($89) + ($88)|0); - HEAP8[$90>>0] = 0; - $91 = HEAP32[$i>>2]|0; - $92 = HEAP32[$1>>2]|0; - HEAP32[$92>>2] = $91; + $442 = HEAP32[$18>>2]|0; + $443 = HEAP32[$10>>2]|0; + $444 = ((($443)) + 12|0); + $445 = HEAP32[$444>>2]|0; + $446 = HEAP32[$17>>2]|0; + (_sqlite3VdbeAddOp2($442,68,$445,$446)|0); STACKTOP = sp;return; } -function _resizeIndexObject($db,$pIdx,$N) { - $db = $db|0; - $pIdx = $pIdx|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $nByte = 0, $zExtra = 0, label = 0, sp = 0; +function _sqlite3ExprAnalyzeAggList($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 12|0; $3 = sp + 8|0; - $zExtra = sp + 4|0; - $nByte = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pIdx; - HEAP32[$3>>2] = $N; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 52|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = HEAP32[$3>>2]|0; - $9 = ($7|0)>=($8|0); - if ($9) { - HEAP32[$0>>2] = 0; - $71 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($71|0); + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + STACKTOP = sp;return; } - $10 = HEAP32[$3>>2]|0; - $11 = ($10*7)|0; - HEAP32[$nByte>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$nByte>>2]|0; - $14 = ($13|0)<(0); - $15 = $14 << 31 >> 31; - $16 = (_sqlite3DbMallocZero($12,$13,$15)|0); - HEAP32[$zExtra>>2] = $16; - $17 = HEAP32[$zExtra>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - HEAP32[$0>>2] = 7; - $71 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($71|0); - } else { - $19 = HEAP32[$zExtra>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 32|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 52|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = $26<<2; - _memcpy(($19|0),($22|0),($27|0))|0; - $28 = HEAP32[$zExtra>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 32|0); - HEAP32[$30>>2] = $28; - $31 = HEAP32[$3>>2]|0; - $32 = $31<<2; - $33 = HEAP32[$zExtra>>2]|0; - $34 = (($33) + ($32)|0); - HEAP32[$zExtra>>2] = $34; - $35 = HEAP32[$zExtra>>2]|0; - $36 = HEAP32[$2>>2]|0; - $37 = ((($36)) + 4|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 52|0); - $41 = HEAP16[$40>>1]|0; - $42 = $41&65535; - $43 = $42<<1; - _memcpy(($35|0),($38|0),($43|0))|0; - $44 = HEAP32[$zExtra>>2]|0; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 4|0); - HEAP32[$46>>2] = $44; - $47 = HEAP32[$3>>2]|0; - $48 = $47<<1; - $49 = HEAP32[$zExtra>>2]|0; - $50 = (($49) + ($48)|0); - HEAP32[$zExtra>>2] = $50; - $51 = HEAP32[$zExtra>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 28|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$2>>2]|0; - $56 = ((($55)) + 52|0); - $57 = HEAP16[$56>>1]|0; - $58 = $57&65535; - _memcpy(($51|0),($54|0),($58|0))|0; - $59 = HEAP32[$zExtra>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = ((($60)) + 28|0); - HEAP32[$61>>2] = $59; - $62 = HEAP32[$3>>2]|0; - $63 = $62&65535; - $64 = HEAP32[$2>>2]|0; - $65 = ((($64)) + 52|0); - HEAP16[$65>>1] = $63; - $66 = HEAP32[$2>>2]|0; - $67 = ((($66)) + 55|0); - $68 = HEAP8[$67>>0]|0; - $69 = $68 & -17; - $70 = $69 | 16; - HEAP8[$67>>0] = $70; - HEAP32[$0>>2] = 0; - $71 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($71|0); + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + HEAP32[$5>>2] = 0; + while(1) { + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)<($13|0); + if (!($14)) { + break; + } + $15 = HEAP32[$2>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + _sqlite3ExprAnalyzeAggregates($15,$17); + $18 = HEAP32[$5>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$5>>2] = $19; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 20|0); + HEAP32[$4>>2] = $21; } - return (0)|0; + STACKTOP = sp;return; } -function _sqlite3OpenMasterTable($p,$iDb) { - $p = $p|0; - $iDb = $iDb|0; - var $0 = 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, $v = 0, label = 0, sp = 0; +function _sqlite3ExprAnalyzeAggregates($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 8|0; - $1 = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iDb; - $2 = HEAP32[$0>>2]|0; - $3 = (_sqlite3GetVdbe($2)|0); - HEAP32[$v>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)==(1); - $8 = $7 ? 19905 : 19924; - _sqlite3TableLock($4,$5,1,1,$8); - $9 = HEAP32[$v>>2]|0; - $10 = HEAP32[$1>>2]|0; - (_sqlite3VdbeAddOp4Int($9,105,0,1,$10,5)|0); - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 40|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0); - if (!($14)) { - STACKTOP = sp;return; - } - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 40|0); - HEAP32[$16>>2] = 1; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0; + $5 = ((($4)) + 4|0); + HEAP32[$5>>2] = 211; + $6 = ((($4)) + 8|0); + HEAP32[$6>>2] = 212; + $7 = HEAP32[$2>>2]|0; + $8 = ((($4)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = HEAP32[$3>>2]|0; + (_sqlite3WalkExpr($4,$9)|0); STACKTOP = sp;return; } -function _codeTableLocks($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $p1 = 0, $pVdbe = 0, label = 0, sp = 0; +function _explainTempTable($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $i = sp + 12|0; - $pVdbe = sp + 8|0; - $p = sp + 4|0; - $p1 = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3GetVdbe($1)|0); - HEAP32[$pVdbe>>2] = $2; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 112|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<($6|0); - if (!($7)) { - break; - } - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 116|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + ($8<<4)|0); - HEAP32[$p>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = HEAP32[$13>>2]|0; - HEAP32[$p1>>2] = $14; - $15 = HEAP32[$pVdbe>>2]|0; - $16 = HEAP32[$p1>>2]|0; - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 12|0); - $26 = HEAP32[$25>>2]|0; - (_sqlite3VdbeAddOp4($15,151,$16,$19,$23,$26,-2)|0); - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$i>>2] = $28; + $vararg_buffer = sp; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 409|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)==(2); + if (!($10)) { + STACKTOP = sp;return; } + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $16; + $17 = (_sqlite3MPrintf($15,35245,$vararg_buffer)|0); + HEAP32[$5>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 420|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp4($18,162,$21,0,0,$22,-1)|0); STACKTOP = sp;return; } -function _sqlite3AutoincrementBegin($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $aOp = 0; - var $db = 0, $memId = 0, $p = 0, $pDb = 0, $v = 0, label = 0, sp = 0; +function _sqlite3WhereIsSorted($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $p = sp + 20|0; - $db = sp + 16|0; - $pDb = sp + 12|0; - $memId = sp + 8|0; - $v = sp + 4|0; - $aOp = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - HEAP32[$db>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$v>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 120|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$p>>2] = $8; - while(1) { - $9 = HEAP32[$p>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - label = 5; - break; - } - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$db>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($13<<4)|0); - HEAP32[$pDb>>2] = $17; - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$memId>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$pDb>>2]|0; - $26 = ((($25)) + 12|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($27)) + 72|0); - $29 = HEAP32[$28>>2]|0; - _sqlite3OpenTable($21,0,$24,$29,104); - $30 = HEAP32[$v>>2]|0; - $31 = HEAP32[$memId>>2]|0; - $32 = (($31) - 1)|0; - $33 = HEAP32[$p>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$35>>2]|0; - (_sqlite3VdbeLoadString($30,$32,$36)|0); - $37 = HEAP32[$v>>2]|0; - $38 = (_sqlite3VdbeAddOpList($37,10,37557,0)|0); - HEAP32[$aOp>>2] = $38; - $39 = HEAP32[$aOp>>2]|0; - $40 = ($39|0)==(0|0); - if ($40) { - label = 5; - break; - } - $41 = HEAP32[$memId>>2]|0; - $42 = HEAP32[$aOp>>2]|0; - $43 = ((($42)) + 8|0); - HEAP32[$43>>2] = $41; - $44 = HEAP32[$memId>>2]|0; - $45 = (($44) + 1)|0; - $46 = HEAP32[$aOp>>2]|0; - $47 = ((($46)) + 12|0); - HEAP32[$47>>2] = $45; - $48 = HEAP32[$memId>>2]|0; - $49 = HEAP32[$aOp>>2]|0; - $50 = ((($49)) + 40|0); - $51 = ((($50)) + 12|0); - HEAP32[$51>>2] = $48; - $52 = HEAP32[$memId>>2]|0; - $53 = (($52) - 1)|0; - $54 = HEAP32[$aOp>>2]|0; - $55 = ((($54)) + 60|0); - $56 = ((($55)) + 4|0); - HEAP32[$56>>2] = $53; - $57 = HEAP32[$memId>>2]|0; - $58 = HEAP32[$aOp>>2]|0; - $59 = ((($58)) + 60|0); - $60 = ((($59)) + 12|0); - HEAP32[$60>>2] = $57; - $61 = HEAP32[$aOp>>2]|0; - $62 = ((($61)) + 60|0); - $63 = ((($62)) + 3|0); - HEAP8[$63>>0] = 16; - $64 = HEAP32[$memId>>2]|0; - $65 = (($64) + 1)|0; - $66 = HEAP32[$aOp>>2]|0; - $67 = ((($66)) + 80|0); - $68 = ((($67)) + 8|0); - HEAP32[$68>>2] = $65; - $69 = HEAP32[$memId>>2]|0; - $70 = HEAP32[$aOp>>2]|0; - $71 = ((($70)) + 100|0); - $72 = ((($71)) + 12|0); - HEAP32[$72>>2] = $69; - $73 = HEAP32[$memId>>2]|0; - $74 = HEAP32[$aOp>>2]|0; - $75 = ((($74)) + 160|0); - $76 = ((($75)) + 8|0); - HEAP32[$76>>2] = $73; - $77 = HEAP32[$p>>2]|0; - $78 = HEAP32[$77>>2]|0; - HEAP32[$p>>2] = $78; - } - if ((label|0) == 5) { - STACKTOP = sp;return; - } + $3 = ((($2)) + 44|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + STACKTOP = sp;return ($5|0); } -function _logBadConnection($zType) { - $zType = $zType|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3ExprCodeMove($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - HEAP32[$0>>2] = $zType; - $1 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $1; - _sqlite3_log(21,39546,$vararg_buffer); + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp3($10,83,$11,$12,$13)|0); + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$7>>2]|0; + _sqlite3ExprCacheRemove($14,$15,$16); STACKTOP = sp;return; } -function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzTail) { - $db = $db|0; - $zSql = $zSql|0; - $nBytes = $nBytes|0; - $saveSqlFlag = $saveSqlFlag|0; - $pReprepare = $pReprepare|0; - $ppStmt = $ppStmt|0; - $pzTail = $pzTail|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iFirst = 0, $mx = 0, $mxLen = 0, $pBt = 0, $pT = 0, $pVdbe = 0, $rc = 0, $sParse = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0; - var $zDb = 0, $zErrMsg = 0, $zSqlCopy = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _updateAccumulator($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $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; + 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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 576|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 572|0; - $1 = sp + 568|0; - $2 = sp + 564|0; - $3 = sp + 560|0; - $4 = sp + 556|0; - $5 = sp + 552|0; - $6 = sp + 548|0; - $zErrMsg = sp + 544|0; - $rc = sp + 540|0; - $i = sp + 536|0; - $sParse = sp + 56|0; - $pBt = sp + 48|0; - $zDb = sp + 44|0; - $zSqlCopy = sp + 40|0; - $mxLen = sp + 36|0; - $iFirst = sp + 32|0; - $mx = sp + 28|0; - $pVdbe = sp + 24|0; - $pT = sp + 20|0; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zSql; - HEAP32[$2>>2] = $nBytes; - HEAP32[$3>>2] = $saveSqlFlag; - HEAP32[$4>>2] = $pReprepare; - HEAP32[$5>>2] = $ppStmt; - HEAP32[$6>>2] = $pzTail; - HEAP32[$zErrMsg>>2] = 0; - HEAP32[$rc>>2] = 0; - _memset(($sParse|0),0,152)|0; - $7 = ((($sParse)) + 400|0); - dest=$7; stop=dest+80|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $8 = HEAP32[$4>>2]|0; - $9 = ((($sParse)) + 432|0); - HEAP32[$9>>2] = $8; - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 56|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$4>>2] = $19; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + $20 = HEAP32[$3>>2]|0; + HEAP8[$20>>0] = 1; + HEAP32[$5>>2] = 0; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 40|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$8>>2] = $23; while(1) { - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)<($13|0); - if (!($14)) { + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 44|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($24|0)<($27|0); + if (!($28)) { break; } - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($15<<4)|0); - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$pBt>>2] = $21; - $22 = HEAP32[$pBt>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { - $24 = HEAP32[$pBt>>2]|0; - $25 = (_sqlite3BtreeSchemaLocked($24)|0); - HEAP32[$rc>>2] = $25; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)!=(0); - if ($27) { - label = 5; - break; - } + HEAP32[$11>>2] = 0; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 20|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$13>>2] = $32; + $33 = HEAP32[$13>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$13>>2]|0; + $36 = HEAP32[$35>>2]|0; + HEAP32[$10>>2] = $36; + $37 = HEAP32[$2>>2]|0; + $38 = HEAP32[$10>>2]|0; + $39 = (_sqlite3GetTempRange($37,$38)|0); + HEAP32[$12>>2] = $39; + $40 = HEAP32[$2>>2]|0; + $41 = HEAP32[$13>>2]|0; + $42 = HEAP32[$12>>2]|0; + (_sqlite3ExprCodeExprList($40,$41,$42,0,1)|0); + } else { + HEAP32[$10>>2] = 0; + HEAP32[$12>>2] = 0; } - $37 = HEAP32[$i>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$i>>2] = $38; - } - if ((label|0) == 5) { - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 16|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + ($28<<4)|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$zDb>>2] = $33; - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$rc>>2]|0; - $36 = HEAP32[$zDb>>2]|0; - HEAP32[$vararg_buffer>>2] = $36; - _sqlite3ErrorWithMsg($34,$35,39591,$vararg_buffer); - _sqlite3ParserReset($sParse); - $184 = HEAP32[$0>>2]|0; - $185 = HEAP32[$rc>>2]|0; - $186 = (_sqlite3ApiExit($184,$185)|0); - HEAP32[$rc>>2] = $186; - $187 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($187|0); - } - $39 = HEAP32[$0>>2]|0; - _sqlite3VtabUnlockList($39); - $40 = HEAP32[$0>>2]|0; - HEAP32[$sParse>>2] = $40; - $41 = HEAP32[$2>>2]|0; - $42 = ($41|0)>=(0); - do { - if ($42) { - $43 = HEAP32[$2>>2]|0; - $44 = ($43|0)==(0); - if (!($44)) { - $45 = HEAP32[$2>>2]|0; - $46 = (($45) - 1)|0; - $47 = HEAP32[$1>>2]|0; - $48 = (($47) + ($46)|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49 << 24 >> 24; - $51 = ($50|0)!=(0); - if (!($51)) { - label = 15; + $43 = HEAP32[$8>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)>=(0); + if ($46) { + $47 = HEAP32[$4>>2]|0; + $48 = (_sqlite3VdbeMakeLabel($47)|0); + HEAP32[$11>>2] = $48; + $49 = HEAP32[$2>>2]|0; + $50 = HEAP32[$8>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$11>>2]|0; + $54 = HEAP32[$12>>2]|0; + _codeDistinct($49,$52,$53,1,$54); + } + $55 = HEAP32[$8>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ((($57)) + 2|0); + $59 = HEAP16[$58>>1]|0; + $60 = $59&65535; + $61 = $60 & 32; + $62 = ($61|0)!=(0); + if ($62) { + HEAP32[$14>>2] = 0; + HEAP32[$16>>2] = 0; + $63 = HEAP32[$13>>2]|0; + $64 = ((($63)) + 4|0); + $65 = HEAP32[$64>>2]|0; + HEAP32[$15>>2] = $65; + while(1) { + $66 = HEAP32[$14>>2]|0; + $67 = ($66|0)!=(0|0); + if ($67) { break; } + $68 = HEAP32[$16>>2]|0; + $69 = HEAP32[$10>>2]|0; + $70 = ($68|0)<($69|0); + if (!($70)) { + break; + } + $71 = HEAP32[$2>>2]|0; + $72 = HEAP32[$15>>2]|0; + $73 = HEAP32[$72>>2]|0; + $74 = (_sqlite3ExprCollSeq($71,$73)|0); + HEAP32[$14>>2] = $74; + $75 = HEAP32[$16>>2]|0; + $76 = (($75) + 1)|0; + HEAP32[$16>>2] = $76; + $77 = HEAP32[$15>>2]|0; + $78 = ((($77)) + 20|0); + HEAP32[$15>>2] = $78; } - $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 96|0); - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - HEAP32[$mxLen>>2] = $55; - $56 = HEAP32[$2>>2]|0; - $57 = HEAP32[$mxLen>>2]|0; - $58 = ($56|0)>($57|0); - $59 = HEAP32[$0>>2]|0; - if ($58) { - _sqlite3ErrorWithMsg($59,18,39621,$vararg_buffer1); - $60 = HEAP32[$0>>2]|0; - $61 = (_sqlite3ApiExit($60,18)|0); - HEAP32[$rc>>2] = $61; - _sqlite3ParserReset($sParse); - $184 = HEAP32[$0>>2]|0; - $185 = HEAP32[$rc>>2]|0; - $186 = (_sqlite3ApiExit($184,$185)|0); - HEAP32[$rc>>2] = $186; - $187 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($187|0); - } - $62 = HEAP32[$1>>2]|0; - $63 = HEAP32[$2>>2]|0; - $64 = ($63|0)<(0); - $65 = $64 << 31 >> 31; - $66 = (_sqlite3DbStrNDup($59,$62,$63,$65)|0); - HEAP32[$zSqlCopy>>2] = $66; - $67 = HEAP32[$zSqlCopy>>2]|0; - $68 = ($67|0)!=(0|0); - if ($68) { - $69 = HEAP32[$zSqlCopy>>2]|0; - (_sqlite3RunParser($sParse,$69,$zErrMsg)|0); - $70 = ((($sParse)) + 436|0); - $71 = HEAP32[$70>>2]|0; - $72 = HEAP32[$zSqlCopy>>2]|0; - $73 = $71; - $74 = $72; - $75 = (($73) - ($74))|0; - $76 = HEAP32[$1>>2]|0; - $77 = (($76) + ($75)|0); - $78 = ((($sParse)) + 436|0); - HEAP32[$78>>2] = $77; - $79 = HEAP32[$0>>2]|0; - $80 = HEAP32[$zSqlCopy>>2]|0; - _sqlite3DbFree($79,$80); - break; - } else { + $79 = HEAP32[$14>>2]|0; + $80 = ($79|0)!=(0|0); + if (!($80)) { $81 = HEAP32[$2>>2]|0; - $82 = HEAP32[$1>>2]|0; - $83 = (($82) + ($81)|0); - $84 = ((($sParse)) + 436|0); - HEAP32[$84>>2] = $83; - break; + $82 = HEAP32[$81>>2]|0; + $83 = ((($82)) + 8|0); + $84 = HEAP32[$83>>2]|0; + HEAP32[$14>>2] = $84; } - } else { - label = 15; - } - } while(0); - if ((label|0) == 15) { - $85 = HEAP32[$1>>2]|0; - (_sqlite3RunParser($sParse,$85,$zErrMsg)|0); - } - $86 = ((($sParse)) + 12|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(101); - if ($88) { - $89 = ((($sParse)) + 12|0); - HEAP32[$89>>2] = 0; - } - $90 = ((($sParse)) + 17|0); - $91 = HEAP8[$90>>0]|0; - $92 = ($91<<24>>24)!=(0); - if ($92) { - _schemaIsValid($sParse); - } - $93 = HEAP32[$0>>2]|0; - $94 = ((($93)) + 69|0); - $95 = HEAP8[$94>>0]|0; - $96 = ($95<<24>>24)!=(0); - if ($96) { - $97 = ((($sParse)) + 12|0); - HEAP32[$97>>2] = 7; - } - $98 = HEAP32[$6>>2]|0; - $99 = ($98|0)!=(0|0); - if ($99) { - $100 = ((($sParse)) + 436|0); - $101 = HEAP32[$100>>2]|0; - $102 = HEAP32[$6>>2]|0; - HEAP32[$102>>2] = $101; - } - $103 = ((($sParse)) + 12|0); - $104 = HEAP32[$103>>2]|0; - HEAP32[$rc>>2] = $104; - $105 = HEAP32[$rc>>2]|0; - $106 = ($105|0)==(0); - L38: do { - if ($106) { - $107 = ((($sParse)) + 8|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)!=(0|0); - if ($109) { - $110 = ((($sParse)) + 409|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $113 = ($112|0)!=(0); - if ($113) { - $114 = ((($sParse)) + 409|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = ($116|0)==(2); - $118 = ((($sParse)) + 8|0); - $119 = HEAP32[$118>>2]|0; - if ($117) { - _sqlite3VdbeSetNumCols($119,4); - HEAP32[$iFirst>>2] = 8; - HEAP32[$mx>>2] = 12; - } else { - _sqlite3VdbeSetNumCols($119,8); - HEAP32[$iFirst>>2] = 0; - HEAP32[$mx>>2] = 8; - } - $120 = HEAP32[$iFirst>>2]|0; - HEAP32[$i>>2] = $120; - while(1) { - $121 = HEAP32[$i>>2]|0; - $122 = HEAP32[$mx>>2]|0; - $123 = ($121|0)<($122|0); - if (!($123)) { - break L38; - } - $124 = ((($sParse)) + 8|0); - $125 = HEAP32[$124>>2]|0; - $126 = HEAP32[$i>>2]|0; - $127 = HEAP32[$iFirst>>2]|0; - $128 = (($126) - ($127))|0; - $129 = HEAP32[$i>>2]|0; - $130 = (5524 + ($129<<2)|0); - $131 = HEAP32[$130>>2]|0; - (_sqlite3VdbeSetColName($125,$128,0,$131,0)|0); - $132 = HEAP32[$i>>2]|0; - $133 = (($132) + 1)|0; - HEAP32[$i>>2] = $133; - } + $85 = HEAP32[$6>>2]|0; + $86 = ($85|0)==(0); + if ($86) { + $87 = HEAP32[$3>>2]|0; + $88 = ((($87)) + 36|0); + $89 = HEAP32[$88>>2]|0; + $90 = ($89|0)!=(0); + if ($90) { + $91 = HEAP32[$2>>2]|0; + $92 = ((($91)) + 44|0); + $93 = HEAP32[$92>>2]|0; + $94 = (($93) + 1)|0; + HEAP32[$92>>2] = $94; + HEAP32[$6>>2] = $94; } } + $95 = HEAP32[$4>>2]|0; + $96 = HEAP32[$6>>2]|0; + $97 = HEAP32[$14>>2]|0; + (_sqlite3VdbeAddOp4($95,88,$96,0,0,$97,-4)|0); } - } while(0); - $134 = HEAP32[$0>>2]|0; - $135 = ((($134)) + 148|0); - $136 = ((($135)) + 5|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = ($138|0)==(0); - if ($139) { - $140 = ((($sParse)) + 8|0); - $141 = HEAP32[$140>>2]|0; - HEAP32[$pVdbe>>2] = $141; - $142 = HEAP32[$pVdbe>>2]|0; - $143 = HEAP32[$1>>2]|0; - $144 = ((($sParse)) + 436|0); - $145 = HEAP32[$144>>2]|0; - $146 = HEAP32[$1>>2]|0; - $147 = $145; - $148 = $146; - $149 = (($147) - ($148))|0; - $150 = HEAP32[$3>>2]|0; - _sqlite3VdbeSetSql($142,$143,$149,$150); - } - $151 = ((($sParse)) + 8|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)!=(0|0); - do { - if ($153) { - $154 = HEAP32[$rc>>2]|0; - $155 = ($154|0)!=(0); - if (!($155)) { - $156 = HEAP32[$0>>2]|0; - $157 = ((($156)) + 69|0); - $158 = HEAP8[$157>>0]|0; - $159 = $158&255; - $160 = ($159|0)!=(0); - if (!($160)) { - label = 39; - break; - } - } - $161 = ((($sParse)) + 8|0); - $162 = HEAP32[$161>>2]|0; - (_sqlite3VdbeFinalize($162)|0); - } else { - label = 39; + $98 = HEAP32[$4>>2]|0; + $99 = HEAP32[$12>>2]|0; + $100 = HEAP32[$8>>2]|0; + $101 = ((($100)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$8>>2]|0; + $104 = ((($103)) + 4|0); + $105 = HEAP32[$104>>2]|0; + (_sqlite3VdbeAddOp4($98,147,0,$99,$102,$105,-5)|0); + $106 = HEAP32[$4>>2]|0; + $107 = HEAP32[$10>>2]|0; + $108 = $107&255; + _sqlite3VdbeChangeP5($106,$108); + $109 = HEAP32[$2>>2]|0; + $110 = HEAP32[$12>>2]|0; + $111 = HEAP32[$10>>2]|0; + _sqlite3ExprCacheAffinityChange($109,$110,$111); + $112 = HEAP32[$2>>2]|0; + $113 = HEAP32[$12>>2]|0; + $114 = HEAP32[$10>>2]|0; + _sqlite3ReleaseTempRange($112,$113,$114); + $115 = HEAP32[$11>>2]|0; + $116 = ($115|0)!=(0); + if ($116) { + $117 = HEAP32[$4>>2]|0; + $118 = HEAP32[$11>>2]|0; + _sqlite3VdbeResolveLabel($117,$118); + $119 = HEAP32[$2>>2]|0; + _sqlite3ExprCacheClear($119); } - } while(0); - if ((label|0) == 39) { - $163 = ((($sParse)) + 8|0); - $164 = HEAP32[$163>>2]|0; - $165 = HEAP32[$5>>2]|0; - HEAP32[$165>>2] = $164; - } - $166 = HEAP32[$zErrMsg>>2]|0; - $167 = ($166|0)!=(0|0); - $168 = HEAP32[$0>>2]|0; - $169 = HEAP32[$rc>>2]|0; - if ($167) { - $170 = HEAP32[$zErrMsg>>2]|0; - HEAP32[$vararg_buffer3>>2] = $170; - _sqlite3ErrorWithMsg($168,$169,18391,$vararg_buffer3); - $171 = HEAP32[$0>>2]|0; - $172 = HEAP32[$zErrMsg>>2]|0; - _sqlite3DbFree($171,$172); - } else { - _sqlite3Error($168,$169); + $120 = HEAP32[$5>>2]|0; + $121 = (($120) + 1)|0; + HEAP32[$5>>2] = $121; + $122 = HEAP32[$8>>2]|0; + $123 = ((($122)) + 16|0); + HEAP32[$8>>2] = $123; } + $124 = HEAP32[$6>>2]|0; + $125 = ($124|0)!=(0); + if ($125) { + $126 = HEAP32[$4>>2]|0; + $127 = HEAP32[$6>>2]|0; + $128 = (_sqlite3VdbeAddOp1($126,21,$127)|0); + HEAP32[$7>>2] = $128; + } + $129 = HEAP32[$2>>2]|0; + _sqlite3ExprCacheClear($129); + HEAP32[$5>>2] = 0; + $130 = HEAP32[$3>>2]|0; + $131 = ((($130)) + 28|0); + $132 = HEAP32[$131>>2]|0; + HEAP32[$9>>2] = $132; while(1) { - $173 = ((($sParse)) + 468|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)!=(0|0); - if (!($175)) { + $133 = HEAP32[$5>>2]|0; + $134 = HEAP32[$3>>2]|0; + $135 = ((($134)) + 36|0); + $136 = HEAP32[$135>>2]|0; + $137 = ($133|0)<($136|0); + if (!($137)) { break; } - $176 = ((($sParse)) + 468|0); - $177 = HEAP32[$176>>2]|0; - HEAP32[$pT>>2] = $177; - $178 = HEAP32[$pT>>2]|0; - $179 = ((($178)) + 4|0); - $180 = HEAP32[$179>>2]|0; - $181 = ((($sParse)) + 468|0); - HEAP32[$181>>2] = $180; - $182 = HEAP32[$0>>2]|0; - $183 = HEAP32[$pT>>2]|0; - _sqlite3DbFree($182,$183); + $138 = HEAP32[$2>>2]|0; + $139 = HEAP32[$9>>2]|0; + $140 = ((($139)) + 20|0); + $141 = HEAP32[$140>>2]|0; + $142 = HEAP32[$9>>2]|0; + $143 = ((($142)) + 16|0); + $144 = HEAP32[$143>>2]|0; + _sqlite3ExprCode($138,$141,$144); + $145 = HEAP32[$5>>2]|0; + $146 = (($145) + 1)|0; + HEAP32[$5>>2] = $146; + $147 = HEAP32[$9>>2]|0; + $148 = ((($147)) + 24|0); + HEAP32[$9>>2] = $148; + } + $149 = HEAP32[$3>>2]|0; + HEAP8[$149>>0] = 0; + $150 = HEAP32[$2>>2]|0; + _sqlite3ExprCacheClear($150); + $151 = HEAP32[$7>>2]|0; + $152 = ($151|0)!=(0); + if (!($152)) { + STACKTOP = sp;return; } - _sqlite3ParserReset($sParse); - $184 = HEAP32[$0>>2]|0; - $185 = HEAP32[$rc>>2]|0; - $186 = (_sqlite3ApiExit($184,$185)|0); - HEAP32[$rc>>2] = $186; - $187 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($187|0); -} -function _sqlite3BtreeSchemaLocked($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($1); - $2 = HEAP32[$0>>2]|0; - $3 = (_querySharedCacheTableLock($2,1,1)|0); - HEAP32[$rc>>2] = $3; - $4 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($4|0); + $153 = HEAP32[$4>>2]|0; + $154 = HEAP32[$7>>2]|0; + _sqlite3VdbeJumpHere($153,$154); + STACKTOP = sp;return; } -function _schemaIsValid($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cookie = 0, $db = 0, $iDb = 0, $openedTransaction = 0, $or$cond = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; +function _finalizeAggFunctions($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $db = sp + 20|0; - $iDb = sp + 16|0; - $rc = sp + 12|0; - $cookie = sp + 8|0; - $openedTransaction = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$db>>2] = $2; - HEAP32[$iDb>>2] = 0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + HEAP32[$5>>2] = 0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 40|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $13; while(1) { - $3 = HEAP32[$iDb>>2]|0; - $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<($6|0); - if (!($7)) { - label = 14; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 44|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($14|0)<($17|0); + if (!($18)) { break; } - HEAP32[$openedTransaction>>2] = 0; - $8 = HEAP32[$iDb>>2]|0; - $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + ($8<<4)|0); - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pBt>>2] = $14; - $15 = HEAP32[$pBt>>2]|0; - $16 = ($15|0)==(0|0); - if (!($16)) { - $17 = HEAP32[$pBt>>2]|0; - $18 = (_sqlite3BtreeIsInReadTrans($17)|0); - $19 = ($18|0)!=(0); - if (!($19)) { - $20 = HEAP32[$pBt>>2]|0; - $21 = (_sqlite3BtreeBeginTrans($20,0)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)==(7); - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(3082); - $or$cond = $23 | $25; - if ($or$cond) { - $26 = HEAP32[$db>>2]|0; - _sqlite3OomFault($26); - } - $27 = HEAP32[$rc>>2]|0; - $28 = ($27|0)!=(0); - if ($28) { - label = 14; - break; - } - HEAP32[$openedTransaction>>2] = 1; - } - $29 = HEAP32[$pBt>>2]|0; - _sqlite3BtreeGetMeta($29,1,$cookie); - $30 = HEAP32[$cookie>>2]|0; - $31 = HEAP32[$iDb>>2]|0; - $32 = HEAP32[$db>>2]|0; - $33 = ((($32)) + 16|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($31<<4)|0); - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = ($30|0)!=($38|0); - if ($39) { - $40 = HEAP32[$db>>2]|0; - $41 = HEAP32[$iDb>>2]|0; - _sqlite3ResetOneSchema($40,$41); - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 12|0); - HEAP32[$43>>2] = 17; - } - $44 = HEAP32[$openedTransaction>>2]|0; - $45 = ($44|0)!=(0); - if ($45) { - $46 = HEAP32[$pBt>>2]|0; - (_sqlite3BtreeCommit($46)|0); - } + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$7>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$7>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$7>>2]|0; + $30 = HEAP32[$29>>2]|0; + $34 = $30; + } else { + $34 = 0; } - $47 = HEAP32[$iDb>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[$iDb>>2] = $48; - } - if ((label|0) == 14) { - STACKTOP = sp;return; + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + (_sqlite3VdbeAddOp4($23,149,$26,$34,0,$33,-5)|0); + $35 = HEAP32[$5>>2]|0; + $36 = (($35) + 1)|0; + HEAP32[$5>>2] = $36; + $37 = HEAP32[$6>>2]|0; + $38 = ((($37)) + 16|0); + HEAP32[$6>>2] = $38; } + STACKTOP = sp;return; } -function _sqlite3VdbeSetSql($p,$z,$n,$isPrepareV2) { - $p = $p|0; - $z = $z|0; - $n = $n|0; - $isPrepareV2 = $isPrepareV2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _resetAccumulator($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $isPrepareV2; - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - STACKTOP = sp;return; - } - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = (_sqlite3DbStrNDup($7,$8,$9,$11)|0); - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 176|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$3>>2]|0; - $16 = $15&255; - $17 = $16&255; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 144|0); - $20 = $17&65535; - $21 = HEAP16[$19>>1]|0; - $22 = $20 & 1; - $23 = ($22 << 9)&65535; - $24 = $21 & -513; - $25 = $24 | $23; - HEAP16[$19>>1] = $25; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 44|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 32|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($15) + ($18))|0; + HEAP32[$7>>2] = $19; + $20 = HEAP32[$7>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + STACKTOP = sp;return; + } + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + (_sqlite3VdbeAddOp3($22,79,0,$25,$28)|0); + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 40|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$6>>2] = $31; + HEAP32[$5>>2] = 0; + while(1) { + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($32|0)<($35|0); + if (!($36)) { + break; + } + $37 = HEAP32[$6>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)>=(0); + do { + if ($40) { + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$41>>2]|0; + HEAP32[$8>>2] = $42; + $43 = HEAP32[$8>>2]|0; + $44 = ((($43)) + 20|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(0|0); + if (!($46)) { + $47 = HEAP32[$8>>2]|0; + $48 = ((($47)) + 20|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)!=(1); + if (!($51)) { + $55 = HEAP32[$2>>2]|0; + $56 = HEAP32[$8>>2]|0; + $57 = ((($56)) + 20|0); + $58 = HEAP32[$57>>2]|0; + $59 = (_keyInfoFromExprList($55,$58,0,0)|0); + HEAP32[$9>>2] = $59; + $60 = HEAP32[$4>>2]|0; + $61 = HEAP32[$6>>2]|0; + $62 = ((($61)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$9>>2]|0; + (_sqlite3VdbeAddOp4($60,107,$63,0,0,$64,-6)|0); + break; + } + } + $52 = HEAP32[$2>>2]|0; + _sqlite3ErrorMsg($52,35194,$vararg_buffer); + $53 = HEAP32[$6>>2]|0; + $54 = ((($53)) + 12|0); + HEAP32[$54>>2] = -1; + } + } while(0); + $65 = HEAP32[$5>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$5>>2] = $66; + $67 = HEAP32[$6>>2]|0; + $68 = ((($67)) + 16|0); + HEAP32[$6>>2] = $68; + } STACKTOP = sp;return; } -function _querySharedCacheTableLock($p,$iTab,$eLock) { - $p = $p|0; - $iTab = $iTab|0; - $eLock = $eLock|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $pIter = 0, label = 0, sp = 0; +function _isSimpleCount($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 20|0; - $pBt = sp + 4|0; - $pIter = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iTab; - HEAP8[$3>>0] = $eLock; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pBt>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 9|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)!=(0); + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 32|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); if (!($10)) { - HEAP32[$0>>2] = 0; - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); - } - $11 = HEAP32[$pBt>>2]|0; - $12 = ((($11)) + 76|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ($13|0)!=($14|0); - if ($15) { - $16 = HEAP32[$pBt>>2]|0; - $17 = ((($16)) + 22|0); - $18 = HEAP16[$17>>1]|0; - $19 = $18&65535; - $20 = $19 & 32; - $21 = ($20|0)!=(0); - if ($21) { - HEAP32[$0>>2] = 262; - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); - } - } - $22 = HEAP32[$pBt>>2]|0; - $23 = ((($22)) + 72|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$pIter>>2] = $24; - while(1) { - $25 = HEAP32[$pIter>>2]|0; - $26 = ($25|0)!=(0|0); - if (!($26)) { - label = 15; - break; - } - $27 = HEAP32[$pIter>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = ($28|0)!=($29|0); - if ($30) { - $31 = HEAP32[$pIter>>2]|0; - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = ($33|0)==($34|0); - if ($35) { - $36 = HEAP32[$pIter>>2]|0; - $37 = ((($36)) + 8|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = HEAP8[$3>>0]|0; - $41 = $40&255; - $42 = ($39|0)!=($41|0); - if ($42) { - break; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(1); + if (!($14)) { + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 28|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(1); + if (!($19)) { + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 28|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 8|0); + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0|0); + if (!($26)) { + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 28|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($29)) + 8|0); + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$5>>2] = $32; + $33 = HEAP32[$3>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$36>>2]|0; + HEAP32[$6>>2] = $37; + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 42|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $41 & 16; + $43 = ($42|0)!=(0); + if ($43) { + HEAP32[$2>>2] = 0; + $68 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($68|0); + } + $44 = HEAP32[$6>>2]|0; + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = ($46|0)!=(153); + if ($47) { + HEAP32[$2>>2] = 0; + $68 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($68|0); + } + $48 = HEAP32[$4>>2]|0; + $49 = ((($48)) + 44|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + HEAP32[$2>>2] = 0; + $68 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($68|0); + } + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 40|0); + $54 = HEAP32[$53>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = ((($56)) + 2|0); + $58 = HEAP16[$57>>1]|0; + $59 = $58&65535; + $60 = $59 & 256; + $61 = ($60|0)==(0); + if ($61) { + HEAP32[$2>>2] = 0; + $68 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($68|0); + } + $62 = HEAP32[$6>>2]|0; + $63 = ((($62)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = $64 & 16; + $66 = ($65|0)!=(0); + if ($66) { + HEAP32[$2>>2] = 0; + $68 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($68|0); + } else { + $67 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $67; + $68 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($68|0); + } } } } - $52 = HEAP32[$pIter>>2]|0; - $53 = ((($52)) + 12|0); - $54 = HEAP32[$53>>2]|0; - HEAP32[$pIter>>2] = $54; } - if ((label|0) == 15) { - HEAP32[$0>>2] = 0; - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); + HEAP32[$2>>2] = 0; + $68 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($68|0); +} +function _explainSimpleCount($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 409|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(2); + if (!($12)) { + STACKTOP = sp;return; } - $43 = HEAP8[$3>>0]|0; - $44 = $43&255; - $45 = ($44|0)==(2); - if ($45) { - $46 = HEAP32[$pBt>>2]|0; - $47 = ((($46)) + 22|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = $49 | 64; - $51 = $50&65535; - HEAP16[$47>>1] = $51; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 42|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = $18 & 32; + $20 = ($19|0)==(0); + if ($20) { + $29 = 1; + } else { + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 55|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23 & 3; + $25 = $24&255; + $26 = ($25|0)==(2); + $27 = $26 ^ 1; + $29 = $27; + } + } else { + $29 = 0; } - HEAP32[$0>>2] = 262; - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); + $28 = $29&1; + HEAP32[$6>>2] = $28; + $30 = HEAP32[$3>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = ($34|0)!=(0); + $36 = $35 ? 35153 : 55752; + $37 = HEAP32[$6>>2]|0; + $38 = ($37|0)!=(0); + if ($38) { + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = $40; + } else { + $41 = 55752; + } + HEAP32[$vararg_buffer>>2] = $33; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $36; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $41; + $42 = (_sqlite3MPrintf($31,35176,$vararg_buffer)|0); + HEAP32[$7>>2] = $42; + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 8|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 420|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp4($45,162,$48,0,0,$49,-1)|0); + STACKTOP = sp;return; } -function _saveAllCursors($pBt,$iRoot,$pExcept) { - $pBt = $pBt|0; - $iRoot = $iRoot|0; - $pExcept = $pExcept|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $p = 0, label = 0, sp = 0; +function _minMaxQuery($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$2>>2] = $iRoot; - HEAP32[$3>>2] = $pExcept; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$p>>2] = $6; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $8 = HEAP32[$3>>2]|0; + HEAP32[$8>>2] = 0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 44|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(1); + do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 40|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$5>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$6>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(1); + if ($24) { + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP8[$28>>0]|0; + $30 = $29&255; + $31 = ($30|0)==(154); + if ($31) { + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$7>>2] = $34; + $35 = HEAP32[$7>>2]|0; + $36 = (_sqlite3StrICmp($35,21770)|0); + $37 = ($36|0)==(0); + if ($37) { + HEAP32[$4>>2] = 1; + $38 = HEAP32[$6>>2]|0; + $39 = HEAP32[$3>>2]|0; + HEAP32[$39>>2] = $38; + break; + } + $40 = HEAP32[$7>>2]|0; + $41 = (_sqlite3StrICmp($40,21774)|0); + $42 = ($41|0)==(0); + if ($42) { + HEAP32[$4>>2] = 2; + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$3>>2]|0; + HEAP32[$44>>2] = $43; + } + } + } + } + } + } while(0); + $45 = HEAP32[$4>>2]|0; + $46 = $45&255; + STACKTOP = sp;return ($46|0); +} +function _generateSortTail($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $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$cond3 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $5 = sp + 84|0; + $6 = sp + 80|0; + $7 = sp + 76|0; + $8 = sp + 72|0; + $9 = sp + 68|0; + $10 = sp + 64|0; + $11 = sp + 60|0; + $12 = sp + 56|0; + $13 = sp + 52|0; + $14 = sp + 48|0; + $15 = sp + 44|0; + $16 = sp + 40|0; + $17 = sp + 36|0; + $18 = sp + 32|0; + $19 = sp + 28|0; + $20 = sp + 24|0; + $21 = sp + 20|0; + $22 = sp + 16|0; + $23 = sp + 12|0; + $24 = sp + 8|0; + $25 = sp + 4|0; + $26 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$10>>2] = $29; + $30 = HEAP32[$7>>2]|0; + $31 = ((($30)) + 24|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$11>>2] = $32; + $33 = HEAP32[$10>>2]|0; + $34 = (_sqlite3VdbeMakeLabel($33)|0); + HEAP32[$12>>2] = $34; + HEAP32[$14>>2] = 0; + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$35>>2]|0; + HEAP32[$16>>2] = $36; + $37 = HEAP32[$9>>2]|0; + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + HEAP32[$17>>2] = $39; + $40 = HEAP32[$9>>2]|0; + $41 = ((($40)) + 8|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$18>>2] = $42; + $43 = HEAP32[$7>>2]|0; + $44 = ((($43)) + 16|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)!=(0); + if ($46) { + $47 = HEAP32[$10>>2]|0; + $48 = HEAP32[$7>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + (_sqlite3VdbeAddOp2($47,14,$50,$53)|0); + $54 = HEAP32[$10>>2]|0; + $55 = HEAP32[$11>>2]|0; + (_sqlite3VdbeGoto($54,$55)|0); + $56 = HEAP32[$10>>2]|0; + $57 = HEAP32[$7>>2]|0; + $58 = ((($57)) + 16|0); + $59 = HEAP32[$58>>2]|0; + _sqlite3VdbeResolveLabel($56,$59); + } + $60 = HEAP32[$7>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$15>>2] = $62; + $63 = HEAP32[$17>>2]|0; + $64 = ($63|0)==(9); + $65 = HEAP32[$17>>2]|0; + $66 = ($65|0)==(13); + $or$cond = $64 | $66; + $67 = HEAP32[$17>>2]|0; + $68 = ($67|0)==(10); + $or$cond3 = $or$cond | $68; + if ($or$cond3) { + HEAP32[$20>>2] = 0; + $69 = HEAP32[$9>>2]|0; + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$19>>2] = $71; + $72 = HEAP32[$8>>2]|0; + HEAP32[$23>>2] = $72; + } else { + $73 = HEAP32[$5>>2]|0; + $74 = (_sqlite3GetTempReg($73)|0); + HEAP32[$20>>2] = $74; + $75 = HEAP32[$5>>2]|0; + $76 = HEAP32[$8>>2]|0; + $77 = (_sqlite3GetTempRange($75,$76)|0); + HEAP32[$19>>2] = $77; + $78 = HEAP32[$8>>2]|0; + HEAP32[$23>>2] = $78; + } + $79 = HEAP32[$16>>2]|0; + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$7>>2]|0; + $82 = ((($81)) + 4|0); + $83 = HEAP32[$82>>2]|0; + $84 = (($80) - ($83))|0; + HEAP32[$21>>2] = $84; + $85 = HEAP32[$7>>2]|0; + $86 = ((($85)) + 28|0); + $87 = HEAP8[$86>>0]|0; + $88 = $87&255; + $89 = $88 & 1; + $90 = ($89|0)!=(0); + if ($90) { + $91 = HEAP32[$5>>2]|0; + $92 = ((($91)) + 44|0); + $93 = HEAP32[$92>>2]|0; + $94 = (($93) + 1)|0; + HEAP32[$92>>2] = $94; + HEAP32[$26>>2] = $94; + $95 = HEAP32[$5>>2]|0; + $96 = ((($95)) + 40|0); + $97 = HEAP32[$96>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[$96>>2] = $98; + HEAP32[$22>>2] = $97; + $99 = HEAP32[$7>>2]|0; + $100 = ((($99)) + 16|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)!=(0); + if ($102) { + $103 = HEAP32[$10>>2]|0; + $104 = (_sqlite3VdbeAddOp0($103,20)|0); + HEAP32[$14>>2] = $104; + } + $105 = HEAP32[$10>>2]|0; + $106 = HEAP32[$22>>2]|0; + $107 = HEAP32[$26>>2]|0; + $108 = HEAP32[$21>>2]|0; + $109 = (($108) + 1)|0; + $110 = HEAP32[$23>>2]|0; + $111 = (($109) + ($110))|0; + (_sqlite3VdbeAddOp3($105,110,$106,$107,$111)|0); + $112 = HEAP32[$14>>2]|0; + $113 = ($112|0)!=(0); + if ($113) { + $114 = HEAP32[$10>>2]|0; + $115 = HEAP32[$14>>2]|0; + _sqlite3VdbeJumpHere($114,$115); + } + $116 = HEAP32[$10>>2]|0; + $117 = HEAP32[$15>>2]|0; + $118 = HEAP32[$11>>2]|0; + $119 = (_sqlite3VdbeAddOp2($116,55,$117,$118)|0); + $120 = (1 + ($119))|0; + HEAP32[$13>>2] = $120; + $121 = HEAP32[$10>>2]|0; + $122 = HEAP32[$6>>2]|0; + $123 = ((($122)) + 16|0); + $124 = HEAP32[$123>>2]|0; + $125 = HEAP32[$12>>2]|0; + _codeOffset($121,$124,$125); + $126 = HEAP32[$10>>2]|0; + $127 = HEAP32[$15>>2]|0; + $128 = HEAP32[$26>>2]|0; + $129 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp3($126,120,$127,$128,$129)|0); + HEAP32[$25>>2] = 0; + } else { + $130 = HEAP32[$10>>2]|0; + $131 = HEAP32[$15>>2]|0; + $132 = HEAP32[$11>>2]|0; + $133 = (_sqlite3VdbeAddOp2($130,56,$131,$132)|0); + $134 = (1 + ($133))|0; + HEAP32[$13>>2] = $134; + $135 = HEAP32[$10>>2]|0; + $136 = HEAP32[$6>>2]|0; + $137 = ((($136)) + 16|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$12>>2]|0; + _codeOffset($135,$138,$139); + $140 = HEAP32[$15>>2]|0; + HEAP32[$22>>2] = $140; + HEAP32[$25>>2] = 1; + } + HEAP32[$24>>2] = 0; while(1) { - $7 = HEAP32[$p>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { + $141 = HEAP32[$24>>2]|0; + $142 = HEAP32[$23>>2]|0; + $143 = ($141|0)<($142|0); + if (!($143)) { break; } - $9 = HEAP32[$p>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = ($9|0)!=($10|0); - if ($11) { - $12 = HEAP32[$2>>2]|0; - $13 = (0)==($12|0); - if ($13) { - break; - } - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 52|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ($16|0)==($17|0); - if ($18) { - break; + $144 = HEAP32[$10>>2]|0; + $145 = HEAP32[$22>>2]|0; + $146 = HEAP32[$21>>2]|0; + $147 = HEAP32[$25>>2]|0; + $148 = (($146) + ($147))|0; + $149 = HEAP32[$24>>2]|0; + $150 = (($148) + ($149))|0; + $151 = HEAP32[$19>>2]|0; + $152 = HEAP32[$24>>2]|0; + $153 = (($151) + ($152))|0; + (_sqlite3VdbeAddOp3($144,96,$145,$150,$153)|0); + $154 = HEAP32[$24>>2]|0; + $155 = (($154) + 1)|0; + HEAP32[$24>>2] = $155; + } + $156 = HEAP32[$17>>2]|0; + L22: do { + switch ($156|0) { + case 12: { + $157 = HEAP32[$10>>2]|0; + $158 = HEAP32[$18>>2]|0; + $159 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp2($157,114,$158,$159)|0); + $160 = HEAP32[$10>>2]|0; + $161 = HEAP32[$18>>2]|0; + $162 = HEAP32[$19>>2]|0; + $163 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp3($160,115,$161,$162,$163)|0); + $164 = HEAP32[$10>>2]|0; + _sqlite3VdbeChangeP5($164,8); + break; + } + case 11: { + $165 = HEAP32[$10>>2]|0; + $166 = HEAP32[$19>>2]|0; + $167 = HEAP32[$8>>2]|0; + $168 = HEAP32[$20>>2]|0; + $169 = HEAP32[$9>>2]|0; + $170 = ((($169)) + 4|0); + $171 = HEAP32[$170>>2]|0; + $172 = HEAP32[$8>>2]|0; + (_sqlite3VdbeAddOp4($165,99,$166,$167,$168,$171,$172)|0); + $173 = HEAP32[$5>>2]|0; + $174 = HEAP32[$19>>2]|0; + $175 = HEAP32[$8>>2]|0; + _sqlite3ExprCacheAffinityChange($173,$174,$175); + $176 = HEAP32[$10>>2]|0; + $177 = HEAP32[$18>>2]|0; + $178 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp2($176,126,$177,$178)|0); + break; + } + case 10: { + break; + } + default: { + $179 = HEAP32[$17>>2]|0; + $180 = ($179|0)==(9); + $181 = HEAP32[$10>>2]|0; + $182 = HEAP32[$9>>2]|0; + if ($180) { + $183 = ((($182)) + 12|0); + $184 = HEAP32[$183>>2]|0; + $185 = HEAP32[$8>>2]|0; + (_sqlite3VdbeAddOp2($181,87,$184,$185)|0); + $186 = HEAP32[$5>>2]|0; + $187 = HEAP32[$9>>2]|0; + $188 = ((($187)) + 12|0); + $189 = HEAP32[$188>>2]|0; + $190 = HEAP32[$8>>2]|0; + _sqlite3ExprCacheAffinityChange($186,$189,$190); + break L22; + } else { + $191 = ((($182)) + 8|0); + $192 = HEAP32[$191>>2]|0; + (_sqlite3VdbeAddOp1($181,16,$192)|0); + break L22; } } - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$p>>2] = $21; - } - $22 = HEAP32[$p>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { - $24 = HEAP32[$p>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$3>>2]|0; - $27 = (_saveCursorsOnList($24,$25,$26)|0); - HEAP32[$0>>2] = $27; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); + } + } while(0); + $193 = HEAP32[$20>>2]|0; + $194 = ($193|0)!=(0); + if ($194) { + $195 = HEAP32[$17>>2]|0; + $196 = ($195|0)==(11); + $197 = HEAP32[$5>>2]|0; + $198 = HEAP32[$19>>2]|0; + if ($196) { + $199 = HEAP32[$8>>2]|0; + _sqlite3ReleaseTempRange($197,$198,$199); + } else { + _sqlite3ReleaseTempReg($197,$198); + } + $200 = HEAP32[$5>>2]|0; + $201 = HEAP32[$20>>2]|0; + _sqlite3ReleaseTempReg($200,$201); + } + $202 = HEAP32[$10>>2]|0; + $203 = HEAP32[$12>>2]|0; + _sqlite3VdbeResolveLabel($202,$203); + $204 = HEAP32[$7>>2]|0; + $205 = ((($204)) + 28|0); + $206 = HEAP8[$205>>0]|0; + $207 = $206&255; + $208 = $207 & 1; + $209 = ($208|0)!=(0); + $210 = HEAP32[$10>>2]|0; + $211 = HEAP32[$15>>2]|0; + $212 = HEAP32[$13>>2]|0; + if ($209) { + (_sqlite3VdbeAddOp2($210,3,$211,$212)|0); + } else { + (_sqlite3VdbeAddOp2($210,7,$211,$212)|0); } - $28 = HEAP32[$3>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$3>>2]|0; - $31 = ((($30)) + 64|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $33 & -33; - $35 = $34&255; - HEAP8[$31>>0] = $35; + $213 = HEAP32[$7>>2]|0; + $214 = ((($213)) + 12|0); + $215 = HEAP32[$214>>2]|0; + $216 = ($215|0)!=(0); + if (!($216)) { + $221 = HEAP32[$10>>2]|0; + $222 = HEAP32[$11>>2]|0; + _sqlite3VdbeResolveLabel($221,$222); + STACKTOP = sp;return; } - HEAP32[$0>>2] = 0; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); + $217 = HEAP32[$10>>2]|0; + $218 = HEAP32[$7>>2]|0; + $219 = ((($218)) + 12|0); + $220 = HEAP32[$219>>2]|0; + (_sqlite3VdbeAddOp1($217,72,$220)|0); + $221 = HEAP32[$10>>2]|0; + $222 = HEAP32[$11>>2]|0; + _sqlite3VdbeResolveLabel($221,$222); + STACKTOP = sp;return; } -function _saveCursorsOnList($p,$iRoot,$pExcept) { - $p = $p|0; - $iRoot = $iRoot|0; - $pExcept = $pExcept|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $rc = 0, label = 0, sp = 0; +function _generateColumnNames($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $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$cond = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iRoot; - HEAP32[$3>>2] = $pExcept; - L1: while(1) { - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$3>>2]|0; - $6 = ($4|0)!=($5|0); + STACKTOP = STACKTOP + 80|0; + $vararg_buffer3 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 72|0; + $4 = sp + 68|0; + $5 = sp + 64|0; + $6 = sp + 60|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp + 36|0; + $13 = sp + 32|0; + $14 = sp + 28|0; + $15 = sp + 24|0; + $16 = sp + 20|0; + $17 = sp + 16|0; + $18 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$6>>2] = $21; + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$9>>2] = $23; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 409|0); + $26 = HEAP8[$25>>0]|0; + $27 = ($26<<24>>24)!=(0); + if ($27) { + STACKTOP = sp;return; + } + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = ($31|0)!=(0); + if ($32) { + STACKTOP = sp;return; + } + $33 = HEAP32[$9>>2]|0; + $34 = ((($33)) + 69|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)!=(0); + if ($37) { + STACKTOP = sp;return; + } + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 16|0); + HEAP8[$39>>0] = 1; + $40 = HEAP32[$9>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = $42 & 4; + $44 = ($43|0)!=(0); + $45 = $44&1; + HEAP32[$10>>2] = $45; + $46 = HEAP32[$9>>2]|0; + $47 = ((($46)) + 24|0); + $48 = HEAP32[$47>>2]|0; + $49 = $48 & 64; + $50 = ($49|0)!=(0); + $51 = $50&1; + HEAP32[$11>>2] = $51; + $52 = HEAP32[$6>>2]|0; + $53 = HEAP32[$5>>2]|0; + $54 = HEAP32[$53>>2]|0; + _sqlite3VdbeSetNumCols($52,$54); + HEAP32[$7>>2] = 0; + while(1) { + $55 = HEAP32[$7>>2]|0; + $56 = HEAP32[$5>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = ($55|0)<($57|0); + if (!($58)) { + break; + } + $59 = HEAP32[$5>>2]|0; + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$7>>2]|0; + $63 = (($61) + (($62*20)|0)|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$12>>2] = $64; + $65 = HEAP32[$12>>2]|0; + $66 = ($65|0)==(0|0); do { - if ($6) { - $7 = HEAP32[$2>>2]|0; - $8 = (0)==($7|0); - if (!($8)) { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 52|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = ($11|0)==($12|0); - if (!($13)) { + if (!($66)) { + $67 = HEAP32[$5>>2]|0; + $68 = ((($67)) + 4|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$7>>2]|0; + $71 = (($69) + (($70*20)|0)|0); + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0|0); + if ($74) { + $75 = HEAP32[$5>>2]|0; + $76 = ((($75)) + 4|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$7>>2]|0; + $79 = (($77) + (($78*20)|0)|0); + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + HEAP32[$13>>2] = $81; + $82 = HEAP32[$6>>2]|0; + $83 = HEAP32[$7>>2]|0; + $84 = HEAP32[$13>>2]|0; + (_sqlite3VdbeSetColName($82,$83,0,$84,(-1))|0); + break; + } + $85 = HEAP32[$12>>2]|0; + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = ($87|0)==(152); + if (!($88)) { + $89 = HEAP32[$12>>2]|0; + $90 = HEAP8[$89>>0]|0; + $91 = $90&255; + $92 = ($91|0)==(154); + if (!($92)) { + $161 = HEAP32[$5>>2]|0; + $162 = ((($161)) + 4|0); + $163 = HEAP32[$162>>2]|0; + $164 = HEAP32[$7>>2]|0; + $165 = (($163) + (($164*20)|0)|0); + $166 = ((($165)) + 8|0); + $167 = HEAP32[$166>>2]|0; + HEAP32[$18>>2] = $167; + $168 = HEAP32[$18>>2]|0; + $169 = ($168|0)==(0|0); + $170 = HEAP32[$9>>2]|0; + if ($169) { + $171 = HEAP32[$7>>2]|0; + $172 = (($171) + 1)|0; + HEAP32[$vararg_buffer3>>2] = $172; + $173 = (_sqlite3MPrintf($170,35144,$vararg_buffer3)|0); + $176 = $173; + } else { + $174 = HEAP32[$18>>2]|0; + $175 = (_sqlite3DbStrDup($170,$174)|0); + $176 = $175; + } + HEAP32[$18>>2] = $176; + $177 = HEAP32[$6>>2]|0; + $178 = HEAP32[$7>>2]|0; + $179 = HEAP32[$18>>2]|0; + (_sqlite3VdbeSetColName($177,$178,0,$179,191)|0); break; } } - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 66|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = ($17|0)==(1); - if (!($18)) { - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 66|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)==(2); - if (!($23)) { - $29 = HEAP32[$1>>2]|0; - _btreeReleaseAllCursorPages($29); + $93 = HEAP32[$12>>2]|0; + $94 = ((($93)) + 32|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95 << 16 >> 16; + HEAP32[$16>>2] = $96; + HEAP32[$8>>2] = 0; + while(1) { + $97 = HEAP32[$8>>2]|0; + $98 = HEAP32[$4>>2]|0; + $99 = HEAP32[$98>>2]|0; + $100 = ($97|0)<($99|0); + if (!($100)) { + break; + } + $101 = HEAP32[$4>>2]|0; + $102 = ((($101)) + 8|0); + $103 = HEAP32[$8>>2]|0; + $104 = (($102) + (($103*72)|0)|0); + $105 = ((($104)) + 44|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$12>>2]|0; + $108 = ((($107)) + 28|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($106|0)==($109|0); + if ($110) { break; } + $111 = HEAP32[$8>>2]|0; + $112 = (($111) + 1)|0; + HEAP32[$8>>2] = $112; } - $24 = HEAP32[$1>>2]|0; - $25 = (_saveCursorPosition($24)|0); - HEAP32[$rc>>2] = $25; - $26 = HEAP32[$rc>>2]|0; - $27 = (0)!=($26|0); - if ($27) { - label = 8; - break L1; + $113 = HEAP32[$4>>2]|0; + $114 = ((($113)) + 8|0); + $115 = HEAP32[$8>>2]|0; + $116 = (($114) + (($115*72)|0)|0); + $117 = ((($116)) + 16|0); + $118 = HEAP32[$117>>2]|0; + HEAP32[$14>>2] = $118; + $119 = HEAP32[$16>>2]|0; + $120 = ($119|0)<(0); + if ($120) { + $121 = HEAP32[$14>>2]|0; + $122 = ((($121)) + 32|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123 << 16 >> 16; + HEAP32[$16>>2] = $124; + } + $125 = HEAP32[$16>>2]|0; + $126 = ($125|0)<(0); + if ($126) { + HEAP32[$15>>2] = 26001; + } else { + $127 = HEAP32[$14>>2]|0; + $128 = ((($127)) + 4|0); + $129 = HEAP32[$128>>2]|0; + $130 = HEAP32[$16>>2]|0; + $131 = (($129) + ($130<<4)|0); + $132 = HEAP32[$131>>2]|0; + HEAP32[$15>>2] = $132; + } + $133 = HEAP32[$11>>2]|0; + $134 = ($133|0)!=(0); + $135 = HEAP32[$10>>2]|0; + $136 = ($135|0)!=(0); + $or$cond = $134 | $136; + if (!($or$cond)) { + $137 = HEAP32[$6>>2]|0; + $138 = HEAP32[$7>>2]|0; + $139 = HEAP32[$9>>2]|0; + $140 = HEAP32[$5>>2]|0; + $141 = ((($140)) + 4|0); + $142 = HEAP32[$141>>2]|0; + $143 = HEAP32[$7>>2]|0; + $144 = (($142) + (($143*20)|0)|0); + $145 = ((($144)) + 8|0); + $146 = HEAP32[$145>>2]|0; + $147 = (_sqlite3DbStrDup($139,$146)|0); + (_sqlite3VdbeSetColName($137,$138,0,$147,191)|0); + break; + } + $148 = HEAP32[$10>>2]|0; + $149 = ($148|0)!=(0); + if ($149) { + HEAP32[$17>>2] = 0; + $150 = HEAP32[$9>>2]|0; + $151 = HEAP32[$14>>2]|0; + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$15>>2]|0; + HEAP32[$vararg_buffer>>2] = $152; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $153; + $154 = (_sqlite3MPrintf($150,29580,$vararg_buffer)|0); + HEAP32[$17>>2] = $154; + $155 = HEAP32[$6>>2]|0; + $156 = HEAP32[$7>>2]|0; + $157 = HEAP32[$17>>2]|0; + (_sqlite3VdbeSetColName($155,$156,0,$157,191)|0); + break; + } else { + $158 = HEAP32[$6>>2]|0; + $159 = HEAP32[$7>>2]|0; + $160 = HEAP32[$15>>2]|0; + (_sqlite3VdbeSetColName($158,$159,0,$160,(-1))|0); + break; } } } while(0); - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 8|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$1>>2] = $32; - $33 = HEAP32[$1>>2]|0; - $34 = ($33|0)!=(0|0); - if (!($34)) { - label = 11; + $180 = HEAP32[$7>>2]|0; + $181 = (($180) + 1)|0; + HEAP32[$7>>2] = $181; + } + $182 = HEAP32[$3>>2]|0; + $183 = HEAP32[$4>>2]|0; + $184 = HEAP32[$5>>2]|0; + _generateColumnTypes($182,$183,$184); + STACKTOP = sp;return; +} +function _generateColumnTypes($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $13; + $14 = HEAP32[$4>>2]|0; + $15 = ((($8)) + 4|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$3>>2]|0; + HEAP32[$8>>2] = $16; + HEAP32[$7>>2] = 0; + while(1) { + $17 = HEAP32[$7>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ($17|0)<($19|0); + if (!($20)) { break; } + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$7>>2]|0; + $25 = (($23) + (($24*20)|0)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$9>>2] = $26; + $27 = HEAP32[$9>>2]|0; + $28 = (_columnTypeImpl($8,$27,0)|0); + HEAP32[$10>>2] = $28; + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$10>>2]|0; + (_sqlite3VdbeSetColName($29,$30,1,$31,(-1))|0); + $32 = HEAP32[$7>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$7>>2] = $33; } - if ((label|0) == 8) { - $28 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $28; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - else if ((label|0) == 11) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - return (0)|0; + STACKTOP = sp;return; } -function _saveCursorPosition($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _codeOffset($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 66|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(2); - $6 = HEAP32[$0>>2]|0; - if ($5) { - $7 = ((($6)) + 66|0); - HEAP8[$7>>0] = 1; - } else { - $8 = ((($6)) + 60|0); - HEAP32[$8>>2] = 0; - } - $9 = HEAP32[$0>>2]|0; - $10 = (_saveCursorKey($9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)==(0); - if ($12) { - $13 = HEAP32[$0>>2]|0; - _btreeReleaseAllCursorPages($13); - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 66|0); - HEAP8[$15>>0] = 3; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)>(0); + if (!($7)) { + STACKTOP = sp;return; } - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 64|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 & -15; - $21 = $20&255; - HEAP8[$17>>0] = $21; - $22 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($22|0); + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp3($8,66,$9,$10,1)|0); + STACKTOP = sp;return; } -function _btreeReleaseAllCursorPages($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i = 0, label = 0, sp = 0; +function _codeDistinct($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$i>>2] = 0; - while(1) { - $1 = HEAP32[$i>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 68|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $6 = ($1|0)<=($5|0); - if (!($6)) { - break; - } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 120|0); - $10 = (($9) + ($7<<2)|0); - $11 = HEAP32[$10>>2]|0; - _releasePage($11); - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 120|0); - $15 = (($14) + ($12<<2)|0); - HEAP32[$15>>2] = 0; - $16 = HEAP32[$i>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$i>>2] = $17; - } - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 68|0); - HEAP8[$19>>0] = -1; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$10>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = (_sqlite3GetTempReg($15)|0); + HEAP32[$11>>2] = $16; + $17 = HEAP32[$10>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = HEAP32[$9>>2]|0; + $21 = HEAP32[$8>>2]|0; + (_sqlite3VdbeAddOp4Int($17,31,$18,$19,$20,$21)|0); + $22 = HEAP32[$10>>2]|0; + $23 = HEAP32[$9>>2]|0; + $24 = HEAP32[$8>>2]|0; + $25 = HEAP32[$11>>2]|0; + (_sqlite3VdbeAddOp3($22,99,$23,$24,$25)|0); + $26 = HEAP32[$10>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$11>>2]|0; + (_sqlite3VdbeAddOp2($26,126,$27,$28)|0); + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$11>>2]|0; + _sqlite3ReleaseTempReg($29,$30); STACKTOP = sp;return; } -function _saveCursorKey($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pKey = 0, $rc = 0, label = 0, sp = 0; +function _analyzeAggregate($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $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 label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $pKey = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 69|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - $5 = HEAP32[$0>>2]|0; - if ($4) { - $6 = (_sqlite3BtreeIntegerKey($5)|0); - $7 = tempRet0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 40|0); - $10 = $9; - $11 = $10; - HEAP32[$11>>2] = $6; - $12 = (($10) + 4)|0; - $13 = $12; - HEAP32[$13>>2] = $7; - $48 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($48|0); + STACKTOP = STACKTOP + 80|0; + $2 = sp + 64|0; + $3 = sp + 60|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + $19 = sp + 68|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$6>>2] = $22; + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$23>>2]|0; + HEAP32[$7>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$8>>2] = $27; + $28 = HEAP32[$6>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$9>>2] = $30; + $31 = HEAP32[$4>>2]|0; + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + switch ($33|0) { + case 152: case 154: { + $34 = HEAP32[$8>>2]|0; + $35 = ($34|0)!=(0|0); + L5: do { + if ($35) { + $36 = HEAP32[$8>>2]|0; + $37 = ((($36)) + 8|0); + HEAP32[$10>>2] = $37; + HEAP32[$5>>2] = 0; + while(1) { + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$8>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = ($38|0)<($40|0); + if (!($41)) { + break L5; + } + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 28|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$10>>2]|0; + $46 = ((($45)) + 44|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($44|0)==($47|0); + if ($48) { + break; + } + $179 = HEAP32[$5>>2]|0; + $180 = (($179) + 1)|0; + HEAP32[$5>>2] = $180; + $181 = HEAP32[$10>>2]|0; + $182 = ((($181)) + 72|0); + HEAP32[$10>>2] = $182; + } + $49 = HEAP32[$9>>2]|0; + $50 = ((($49)) + 28|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$11>>2] = $51; + HEAP32[$12>>2] = 0; + while(1) { + $52 = HEAP32[$12>>2]|0; + $53 = HEAP32[$9>>2]|0; + $54 = ((($53)) + 32|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($52|0)<($55|0); + if (!($56)) { + break; + } + $57 = HEAP32[$11>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 28|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($59|0)==($62|0); + if ($63) { + $64 = HEAP32[$11>>2]|0; + $65 = ((($64)) + 8|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 32|0); + $69 = HEAP16[$68>>1]|0; + $70 = $69 << 16 >> 16; + $71 = ($66|0)==($70|0); + if ($71) { + break; + } + } + $72 = HEAP32[$12>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$12>>2] = $73; + $74 = HEAP32[$11>>2]|0; + $75 = ((($74)) + 24|0); + HEAP32[$11>>2] = $75; + } + $76 = HEAP32[$12>>2]|0; + $77 = HEAP32[$9>>2]|0; + $78 = ((($77)) + 32|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($76|0)>=($79|0); + if ($80) { + $81 = HEAP32[$7>>2]|0; + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$9>>2]|0; + $84 = (_addAggInfoColumn($82,$83)|0); + HEAP32[$12>>2] = $84; + $85 = ($84|0)>=(0); + if ($85) { + $86 = HEAP32[$9>>2]|0; + $87 = ((($86)) + 28|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$12>>2]|0; + $90 = (($88) + (($89*24)|0)|0); + HEAP32[$11>>2] = $90; + $91 = HEAP32[$4>>2]|0; + $92 = ((($91)) + 44|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$11>>2]|0; + HEAP32[$94>>2] = $93; + $95 = HEAP32[$4>>2]|0; + $96 = ((($95)) + 28|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$11>>2]|0; + $99 = ((($98)) + 4|0); + HEAP32[$99>>2] = $97; + $100 = HEAP32[$4>>2]|0; + $101 = ((($100)) + 32|0); + $102 = HEAP16[$101>>1]|0; + $103 = $102 << 16 >> 16; + $104 = HEAP32[$11>>2]|0; + $105 = ((($104)) + 8|0); + HEAP32[$105>>2] = $103; + $106 = HEAP32[$7>>2]|0; + $107 = ((($106)) + 44|0); + $108 = HEAP32[$107>>2]|0; + $109 = (($108) + 1)|0; + HEAP32[$107>>2] = $109; + $110 = HEAP32[$11>>2]|0; + $111 = ((($110)) + 16|0); + HEAP32[$111>>2] = $109; + $112 = HEAP32[$11>>2]|0; + $113 = ((($112)) + 12|0); + HEAP32[$113>>2] = -1; + $114 = HEAP32[$4>>2]|0; + $115 = HEAP32[$11>>2]|0; + $116 = ((($115)) + 20|0); + HEAP32[$116>>2] = $114; + $117 = HEAP32[$9>>2]|0; + $118 = ((($117)) + 24|0); + $119 = HEAP32[$118>>2]|0; + $120 = ($119|0)!=(0|0); + L22: do { + if ($120) { + $121 = HEAP32[$9>>2]|0; + $122 = ((($121)) + 24|0); + $123 = HEAP32[$122>>2]|0; + HEAP32[$15>>2] = $123; + $124 = HEAP32[$15>>2]|0; + $125 = ((($124)) + 4|0); + $126 = HEAP32[$125>>2]|0; + HEAP32[$16>>2] = $126; + $127 = HEAP32[$15>>2]|0; + $128 = HEAP32[$127>>2]|0; + HEAP32[$14>>2] = $128; + HEAP32[$13>>2] = 0; + while(1) { + $129 = HEAP32[$13>>2]|0; + $130 = HEAP32[$14>>2]|0; + $131 = ($129|0)<($130|0); + if (!($131)) { + break L22; + } + $132 = HEAP32[$16>>2]|0; + $133 = HEAP32[$132>>2]|0; + HEAP32[$17>>2] = $133; + $134 = HEAP32[$17>>2]|0; + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = ($136|0)==(152); + if ($137) { + $138 = HEAP32[$17>>2]|0; + $139 = ((($138)) + 28|0); + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$4>>2]|0; + $142 = ((($141)) + 28|0); + $143 = HEAP32[$142>>2]|0; + $144 = ($140|0)==($143|0); + if ($144) { + $145 = HEAP32[$17>>2]|0; + $146 = ((($145)) + 32|0); + $147 = HEAP16[$146>>1]|0; + $148 = $147 << 16 >> 16; + $149 = HEAP32[$4>>2]|0; + $150 = ((($149)) + 32|0); + $151 = HEAP16[$150>>1]|0; + $152 = $151 << 16 >> 16; + $153 = ($148|0)==($152|0); + if ($153) { + break; + } + } + } + $157 = HEAP32[$13>>2]|0; + $158 = (($157) + 1)|0; + HEAP32[$13>>2] = $158; + $159 = HEAP32[$16>>2]|0; + $160 = ((($159)) + 20|0); + HEAP32[$16>>2] = $160; + } + $154 = HEAP32[$13>>2]|0; + $155 = HEAP32[$11>>2]|0; + $156 = ((($155)) + 12|0); + HEAP32[$156>>2] = $154; + } + } while(0); + $161 = HEAP32[$11>>2]|0; + $162 = ((($161)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)<(0); + if ($164) { + $165 = HEAP32[$9>>2]|0; + $166 = ((($165)) + 12|0); + $167 = HEAP32[$166>>2]|0; + $168 = (($167) + 1)|0; + HEAP32[$166>>2] = $168; + $169 = HEAP32[$11>>2]|0; + $170 = ((($169)) + 12|0); + HEAP32[$170>>2] = $167; + } + } + } + $171 = HEAP32[$9>>2]|0; + $172 = HEAP32[$4>>2]|0; + $173 = ((($172)) + 40|0); + HEAP32[$173>>2] = $171; + $174 = HEAP32[$4>>2]|0; + HEAP8[$174>>0] = -102; + $175 = HEAP32[$12>>2]|0; + $176 = $175&65535; + $177 = HEAP32[$4>>2]|0; + $178 = ((($177)) + 34|0); + HEAP16[$178>>1] = $176; + } + } while(0); + HEAP32[$2>>2] = 1; + $279 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($279|0); + break; } - $14 = (_sqlite3BtreePayloadSize($5)|0); - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 40|0); - $17 = $16; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = 0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 40|0); - $23 = $22; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (_sqlite3Malloc($25,$28)|0); - HEAP32[$pKey>>2] = $29; - $30 = HEAP32[$pKey>>2]|0; - $31 = ($30|0)!=(0|0); - if (!($31)) { - HEAP32[$rc>>2] = 7; - $48 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($48|0); + case 153: { + $183 = HEAP32[$6>>2]|0; + $184 = ((($183)) + 28|0); + $185 = HEAP16[$184>>1]|0; + $186 = $185&65535; + $187 = $186 & 8; + $188 = ($187|0)==(0); + if ($188) { + $189 = HEAP32[$3>>2]|0; + $190 = ((($189)) + 16|0); + $191 = HEAP32[$190>>2]|0; + $192 = HEAP32[$4>>2]|0; + $193 = ((($192)) + 38|0); + $194 = HEAP8[$193>>0]|0; + $195 = $194&255; + $196 = ($191|0)==($195|0); + if ($196) { + $197 = HEAP32[$9>>2]|0; + $198 = ((($197)) + 40|0); + $199 = HEAP32[$198>>2]|0; + HEAP32[$18>>2] = $199; + HEAP32[$5>>2] = 0; + while(1) { + $200 = HEAP32[$5>>2]|0; + $201 = HEAP32[$9>>2]|0; + $202 = ((($201)) + 44|0); + $203 = HEAP32[$202>>2]|0; + $204 = ($200|0)<($203|0); + if (!($204)) { + break; + } + $205 = HEAP32[$18>>2]|0; + $206 = HEAP32[$205>>2]|0; + $207 = HEAP32[$4>>2]|0; + $208 = (_sqlite3ExprCompare($206,$207,-1)|0); + $209 = ($208|0)==(0); + if ($209) { + break; + } + $210 = HEAP32[$5>>2]|0; + $211 = (($210) + 1)|0; + HEAP32[$5>>2] = $211; + $212 = HEAP32[$18>>2]|0; + $213 = ((($212)) + 16|0); + HEAP32[$18>>2] = $213; + } + $214 = HEAP32[$5>>2]|0; + $215 = HEAP32[$9>>2]|0; + $216 = ((($215)) + 44|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($214|0)>=($217|0); + if ($218) { + $219 = HEAP32[$7>>2]|0; + $220 = HEAP32[$219>>2]|0; + $221 = ((($220)) + 66|0); + $222 = HEAP8[$221>>0]|0; + HEAP8[$19>>0] = $222; + $223 = HEAP32[$7>>2]|0; + $224 = HEAP32[$223>>2]|0; + $225 = HEAP32[$9>>2]|0; + $226 = (_addAggInfoFunc($224,$225)|0); + HEAP32[$5>>2] = $226; + $227 = HEAP32[$5>>2]|0; + $228 = ($227|0)>=(0); + if ($228) { + $229 = HEAP32[$9>>2]|0; + $230 = ((($229)) + 40|0); + $231 = HEAP32[$230>>2]|0; + $232 = HEAP32[$5>>2]|0; + $233 = (($231) + ($232<<4)|0); + HEAP32[$18>>2] = $233; + $234 = HEAP32[$4>>2]|0; + $235 = HEAP32[$18>>2]|0; + HEAP32[$235>>2] = $234; + $236 = HEAP32[$7>>2]|0; + $237 = ((($236)) + 44|0); + $238 = HEAP32[$237>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$237>>2] = $239; + $240 = HEAP32[$18>>2]|0; + $241 = ((($240)) + 8|0); + HEAP32[$241>>2] = $239; + $242 = HEAP32[$7>>2]|0; + $243 = HEAP32[$242>>2]|0; + $244 = HEAP32[$4>>2]|0; + $245 = ((($244)) + 8|0); + $246 = HEAP32[$245>>2]|0; + $247 = HEAP32[$4>>2]|0; + $248 = ((($247)) + 20|0); + $249 = HEAP32[$248>>2]|0; + $250 = ($249|0)!=(0|0); + if ($250) { + $251 = HEAP32[$4>>2]|0; + $252 = ((($251)) + 20|0); + $253 = HEAP32[$252>>2]|0; + $254 = HEAP32[$253>>2]|0; + $256 = $254; + } else { + $256 = 0; + } + $255 = HEAP8[$19>>0]|0; + $257 = (_sqlite3FindFunction($243,$246,$256,$255,0)|0); + $258 = HEAP32[$18>>2]|0; + $259 = ((($258)) + 4|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$4>>2]|0; + $261 = ((($260)) + 4|0); + $262 = HEAP32[$261>>2]|0; + $263 = $262 & 16; + $264 = ($263|0)!=(0); + if ($264) { + $265 = HEAP32[$7>>2]|0; + $266 = ((($265)) + 40|0); + $267 = HEAP32[$266>>2]|0; + $268 = (($267) + 1)|0; + HEAP32[$266>>2] = $268; + $269 = HEAP32[$18>>2]|0; + $$sink = $267;$$sink2 = $269; + } else { + $270 = HEAP32[$18>>2]|0; + $$sink = -1;$$sink2 = $270; + } + $271 = ((($$sink2)) + 12|0); + HEAP32[$271>>2] = $$sink; + } + } + $272 = HEAP32[$5>>2]|0; + $273 = $272&65535; + $274 = HEAP32[$4>>2]|0; + $275 = ((($274)) + 34|0); + HEAP16[$275>>1] = $273; + $276 = HEAP32[$9>>2]|0; + $277 = HEAP32[$4>>2]|0; + $278 = ((($277)) + 40|0); + HEAP32[$278>>2] = $276; + HEAP32[$2>>2] = 1; + $279 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($279|0); + } + } + HEAP32[$2>>2] = 0; + $279 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($279|0); + break; + } + default: { + HEAP32[$2>>2] = 0; + $279 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($279|0); } - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 40|0); - $35 = $34; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$pKey>>2]|0; - $42 = (_sqlite3BtreeKey($32,0,$37,$41)|0); - HEAP32[$rc>>2] = $42; - $43 = HEAP32[$rc>>2]|0; - $44 = ($43|0)==(0); - $45 = HEAP32[$pKey>>2]|0; - if ($44) { - $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 48|0); - HEAP32[$47>>2] = $45; - $48 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($48|0); - } else { - _sqlite3_free($45); - $48 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($48|0); } return (0)|0; } -function _sqlite3BtreeIntegerKey($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - _getCellInfo($1); - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 16|0); - $4 = $3; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = (($4) + 4)|0; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - tempRet0 = ($9); - STACKTOP = sp;return ($6|0); -} -function _sqlite3BtreePayloadSize($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - _getCellInfo($1); - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 16|0); - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($5|0); -} -function _sqlite3BtreeKey($pCur,$offset,$amt,$pBuf) { - $pCur = $pCur|0; - $offset = $offset|0; - $amt = $amt|0; - $pBuf = $pBuf|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _analyzeAggregatesInSelect($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; $2 = sp + 4|0; $3 = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$1>>2] = $offset; - HEAP32[$2>>2] = $amt; - HEAP32[$3>>2] = $pBuf; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (_accessPayload($4,$5,$6,$7,0)|0); - STACKTOP = sp;return ($8|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + STACKTOP = sp;return 0; } -function _sqlite3BtreeEnterCursor($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _addAggInfoColumn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - _sqlite3BtreeEnter($2); - STACKTOP = sp;return; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 28|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 32|0); + $11 = (_sqlite3ArrayAllocate($5,$8,24,$10,$4)|0); + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 28|0); + HEAP32[$13>>2] = $11; + $14 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($14|0); } -function _sqlite3BtreeIncrblobCursor($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _addAggInfoFunc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 64|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = $4 | 16; - $6 = $5&255; - HEAP8[$2>>0] = $6; - $7 = HEAP32[$0>>2]|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 40|0); $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 11|0); - HEAP8[$9>>0] = 1; - STACKTOP = sp;return; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 44|0); + $11 = (_sqlite3ArrayAllocate($5,$8,16,$10,$4)|0); + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 40|0); + HEAP32[$13>>2] = $11; + $14 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($14|0); } -function _allocSpace($p,$pBuf,$nByte) { - $p = $p|0; - $pBuf = $pBuf|0; - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _pushOntoSorter($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pBuf; - HEAP32[$2>>2] = $nByte; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - if (!($4)) { - $27 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($27|0); + STACKTOP = STACKTOP + 112|0; + $7 = sp + 96|0; + $8 = sp + 92|0; + $9 = sp + 88|0; + $10 = sp + 84|0; + $11 = sp + 80|0; + $12 = sp + 76|0; + $13 = sp + 72|0; + $14 = sp + 68|0; + $15 = sp + 64|0; + $16 = sp + 60|0; + $17 = sp + 56|0; + $18 = sp + 52|0; + $19 = sp + 48|0; + $20 = sp + 44|0; + $21 = sp + 40|0; + $22 = sp + 36|0; + $23 = sp + 32|0; + $24 = sp + 28|0; + $25 = sp + 24|0; + $26 = sp + 20|0; + $27 = sp + 16|0; + $28 = sp + 12|0; + $29 = sp + 8|0; + $30 = sp + 4|0; + $31 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + $32 = HEAP32[$7>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$14>>2] = $34; + $35 = HEAP32[$8>>2]|0; + $36 = ((($35)) + 28|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = $38 & 1; + $40 = ($39|0)==(0); + $41 = $40&1; + HEAP32[$15>>2] = $41; + $42 = HEAP32[$8>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$43>>2]|0; + HEAP32[$16>>2] = $44; + $45 = HEAP32[$16>>2]|0; + $46 = HEAP32[$15>>2]|0; + $47 = (($45) + ($46))|0; + $48 = HEAP32[$12>>2]|0; + $49 = (($47) + ($48))|0; + HEAP32[$17>>2] = $49; + $50 = HEAP32[$7>>2]|0; + $51 = ((($50)) + 44|0); + $52 = HEAP32[$51>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$51>>2] = $53; + HEAP32[$19>>2] = $53; + $54 = HEAP32[$8>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + HEAP32[$20>>2] = $56; + $57 = HEAP32[$13>>2]|0; + $58 = ($57|0)!=(0); + if ($58) { + $59 = HEAP32[$10>>2]|0; + $60 = HEAP32[$16>>2]|0; + $61 = (($59) - ($60))|0; + $62 = HEAP32[$15>>2]|0; + $63 = (($61) - ($62))|0; + HEAP32[$18>>2] = $63; + } else { + $64 = HEAP32[$7>>2]|0; + $65 = ((($64)) + 44|0); + $66 = HEAP32[$65>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$18>>2] = $67; + $68 = HEAP32[$17>>2]|0; + $69 = HEAP32[$7>>2]|0; + $70 = ((($69)) + 44|0); + $71 = HEAP32[$70>>2]|0; + $72 = (($71) + ($68))|0; + HEAP32[$70>>2] = $72; } - $5 = HEAP32[$2>>2]|0; - $6 = (($5) + 7)|0; - $7 = $6 & -8; - HEAP32[$2>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)<=($11|0); - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$0>>2]|0; - if ($12) { - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) - ($13))|0; - HEAP32[$15>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($20)|0); - HEAP32[$1>>2] = $23; - $27 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($27|0); + $73 = HEAP32[$9>>2]|0; + $74 = ((($73)) + 16|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($75|0)!=(0); + $77 = HEAP32[$9>>2]|0; + if ($76) { + $78 = ((($77)) + 16|0); + $79 = HEAP32[$78>>2]|0; + $80 = (($79) + 1)|0; + $83 = $80; } else { - $24 = ((($14)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($13))|0; - HEAP32[$24>>2] = $26; - $27 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($27|0); + $81 = ((($77)) + 12|0); + $82 = HEAP32[$81>>2]|0; + $83 = $82; } - return (0)|0; -} -function _vdbeChangeP4Full($p,$pOp,$zP4,$n) { - $p = $p|0; - $pOp = $pOp|0; - $zP4 = $zP4|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pOp; - HEAP32[$2>>2] = $zP4; - HEAP32[$3>>2] = $n; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12 << 24 >> 24; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - _freeP4($9,$13,$16); - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 1|0); - HEAP8[$18>>0] = 0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 16|0); - HEAP32[$20>>2] = 0; + HEAP32[$22>>2] = $83; + $84 = HEAP32[$14>>2]|0; + $85 = (_sqlite3VdbeMakeLabel($84)|0); + $86 = HEAP32[$8>>2]|0; + $87 = ((($86)) + 24|0); + HEAP32[$87>>2] = $85; + $88 = HEAP32[$7>>2]|0; + $89 = HEAP32[$8>>2]|0; + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$18>>2]|0; + $92 = HEAP32[$11>>2]|0; + (_sqlite3ExprCodeExprList($88,$90,$91,$92,5)|0); + $93 = HEAP32[$15>>2]|0; + $94 = ($93|0)!=(0); + if ($94) { + $95 = HEAP32[$14>>2]|0; + $96 = HEAP32[$8>>2]|0; + $97 = ((($96)) + 8|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$18>>2]|0; + $100 = HEAP32[$16>>2]|0; + $101 = (($99) + ($100))|0; + (_sqlite3VdbeAddOp2($95,113,$98,$101)|0); } - $21 = HEAP32[$3>>2]|0; - $22 = ($21|0)<(0); - if ($22) { - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 88|0); - $27 = HEAP32[$26>>2]|0; - $28 = $24; - $29 = $27; - $30 = (($28) - ($29))|0; - $31 = (($30|0) / 20)&-1; - $32 = HEAP32[$2>>2]|0; - $33 = HEAP32[$3>>2]|0; - _sqlite3VdbeChangeP4($23,$31,$32,$33); + $102 = HEAP32[$13>>2]|0; + $103 = ($102|0)==(0); + if ($103) { + $104 = HEAP32[$7>>2]|0; + $105 = HEAP32[$10>>2]|0; + $106 = HEAP32[$18>>2]|0; + $107 = HEAP32[$16>>2]|0; + $108 = (($106) + ($107))|0; + $109 = HEAP32[$15>>2]|0; + $110 = (($108) + ($109))|0; + $111 = HEAP32[$12>>2]|0; + _sqlite3ExprCodeMove($104,$105,$110,$111); + } + $112 = HEAP32[$14>>2]|0; + $113 = HEAP32[$18>>2]|0; + $114 = HEAP32[$20>>2]|0; + $115 = (($113) + ($114))|0; + $116 = HEAP32[$17>>2]|0; + $117 = HEAP32[$20>>2]|0; + $118 = (($116) - ($117))|0; + $119 = HEAP32[$19>>2]|0; + (_sqlite3VdbeAddOp3($112,99,$115,$118,$119)|0); + $120 = HEAP32[$20>>2]|0; + $121 = ($120|0)>(0); + if ($121) { + $122 = HEAP32[$7>>2]|0; + $123 = ((($122)) + 44|0); + $124 = HEAP32[$123>>2]|0; + $125 = (($124) + 1)|0; + HEAP32[$23>>2] = $125; + $126 = HEAP32[$8>>2]|0; + $127 = ((($126)) + 4|0); + $128 = HEAP32[$127>>2]|0; + $129 = HEAP32[$7>>2]|0; + $130 = ((($129)) + 44|0); + $131 = HEAP32[$130>>2]|0; + $132 = (($131) + ($128))|0; + HEAP32[$130>>2] = $132; + $133 = HEAP32[$16>>2]|0; + $134 = HEAP32[$8>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = (($133) - ($136))|0; + $138 = HEAP32[$15>>2]|0; + $139 = (($137) + ($138))|0; + HEAP32[$27>>2] = $139; + $140 = HEAP32[$15>>2]|0; + $141 = ($140|0)!=(0); + $142 = HEAP32[$14>>2]|0; + if ($141) { + $143 = HEAP32[$18>>2]|0; + $144 = HEAP32[$16>>2]|0; + $145 = (($143) + ($144))|0; + $146 = (_sqlite3VdbeAddOp1($142,22,$145)|0); + HEAP32[$24>>2] = $146; + } else { + $147 = HEAP32[$8>>2]|0; + $148 = ((($147)) + 8|0); + $149 = HEAP32[$148>>2]|0; + $150 = (_sqlite3VdbeAddOp1($142,109,$149)|0); + HEAP32[$24>>2] = $150; + } + $151 = HEAP32[$14>>2]|0; + $152 = HEAP32[$23>>2]|0; + $153 = HEAP32[$18>>2]|0; + $154 = HEAP32[$8>>2]|0; + $155 = ((($154)) + 4|0); + $156 = HEAP32[$155>>2]|0; + (_sqlite3VdbeAddOp3($151,95,$152,$153,$156)|0); + $157 = HEAP32[$14>>2]|0; + $158 = HEAP32[$8>>2]|0; + $159 = ((($158)) + 20|0); + $160 = HEAP32[$159>>2]|0; + $161 = (_sqlite3VdbeGetOp($157,$160)|0); + HEAP32[$26>>2] = $161; + $162 = HEAP32[$7>>2]|0; + $163 = HEAP32[$162>>2]|0; + $164 = ((($163)) + 69|0); + $165 = HEAP8[$164>>0]|0; + $166 = ($165<<24>>24)!=(0); + if ($166) { + STACKTOP = sp;return; + } + $167 = HEAP32[$27>>2]|0; + $168 = HEAP32[$12>>2]|0; + $169 = (($167) + ($168))|0; + $170 = HEAP32[$26>>2]|0; + $171 = ((($170)) + 8|0); + HEAP32[$171>>2] = $169; + $172 = HEAP32[$26>>2]|0; + $173 = ((($172)) + 16|0); + $174 = HEAP32[$173>>2]|0; + HEAP32[$28>>2] = $174; + $175 = HEAP32[$28>>2]|0; + $176 = ((($175)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = HEAP32[$28>>2]|0; + $179 = ((($178)) + 6|0); + $180 = HEAP16[$179>>1]|0; + $181 = $180&65535; + _memset(($177|0),0,($181|0))|0; + $182 = HEAP32[$14>>2]|0; + $183 = HEAP32[$28>>2]|0; + _sqlite3VdbeChangeP4($182,-1,$183,-6); + $184 = HEAP32[$7>>2]|0; + $185 = HEAP32[$8>>2]|0; + $186 = HEAP32[$185>>2]|0; + $187 = HEAP32[$20>>2]|0; + $188 = HEAP32[$28>>2]|0; + $189 = ((($188)) + 8|0); + $190 = HEAP16[$189>>1]|0; + $191 = $190&65535; + $192 = (($191) - 1)|0; + $193 = (_keyInfoFromExprList($184,$186,$187,$192)|0); + $194 = HEAP32[$26>>2]|0; + $195 = ((($194)) + 16|0); + HEAP32[$195>>2] = $193; + $196 = HEAP32[$14>>2]|0; + $197 = (_sqlite3VdbeCurrentAddr($196)|0); + HEAP32[$25>>2] = $197; + $198 = HEAP32[$14>>2]|0; + $199 = HEAP32[$25>>2]|0; + $200 = (($199) + 1)|0; + $201 = HEAP32[$25>>2]|0; + $202 = (($201) + 1)|0; + (_sqlite3VdbeAddOp3($198,18,$200,0,$202)|0); + $203 = HEAP32[$14>>2]|0; + $204 = (_sqlite3VdbeMakeLabel($203)|0); + $205 = HEAP32[$8>>2]|0; + $206 = ((($205)) + 16|0); + HEAP32[$206>>2] = $204; + $207 = HEAP32[$7>>2]|0; + $208 = ((($207)) + 44|0); + $209 = HEAP32[$208>>2]|0; + $210 = (($209) + 1)|0; + HEAP32[$208>>2] = $210; + $211 = HEAP32[$8>>2]|0; + $212 = ((($211)) + 12|0); + HEAP32[$212>>2] = $210; + $213 = HEAP32[$14>>2]|0; + $214 = HEAP32[$8>>2]|0; + $215 = ((($214)) + 12|0); + $216 = HEAP32[$215>>2]|0; + $217 = HEAP32[$8>>2]|0; + $218 = ((($217)) + 16|0); + $219 = HEAP32[$218>>2]|0; + (_sqlite3VdbeAddOp2($213,14,$216,$219)|0); + $220 = HEAP32[$14>>2]|0; + $221 = HEAP32[$8>>2]|0; + $222 = ((($221)) + 8|0); + $223 = HEAP32[$222>>2]|0; + (_sqlite3VdbeAddOp1($220,133,$223)|0); + $224 = HEAP32[$22>>2]|0; + $225 = ($224|0)!=(0); + if ($225) { + $226 = HEAP32[$14>>2]|0; + $227 = HEAP32[$22>>2]|0; + $228 = HEAP32[$8>>2]|0; + $229 = ((($228)) + 24|0); + $230 = HEAP32[$229>>2]|0; + (_sqlite3VdbeAddOp2($226,22,$227,$230)|0); + } + $231 = HEAP32[$14>>2]|0; + $232 = HEAP32[$24>>2]|0; + _sqlite3VdbeJumpHere($231,$232); + $233 = HEAP32[$7>>2]|0; + $234 = HEAP32[$18>>2]|0; + $235 = HEAP32[$23>>2]|0; + $236 = HEAP32[$8>>2]|0; + $237 = ((($236)) + 4|0); + $238 = HEAP32[$237>>2]|0; + _sqlite3ExprCodeMove($233,$234,$235,$238); + $239 = HEAP32[$14>>2]|0; + $240 = HEAP32[$25>>2]|0; + _sqlite3VdbeJumpHere($239,$240); + } + $241 = HEAP32[$8>>2]|0; + $242 = ((($241)) + 28|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $244 & 1; + $246 = ($245|0)!=(0); + if ($246) { + HEAP32[$21>>2] = 125; + } else { + HEAP32[$21>>2] = 126; + } + $247 = HEAP32[$14>>2]|0; + $248 = HEAP32[$21>>2]|0; + $249 = HEAP32[$8>>2]|0; + $250 = ((($249)) + 8|0); + $251 = HEAP32[$250>>2]|0; + $252 = HEAP32[$19>>2]|0; + (_sqlite3VdbeAddOp2($247,$248,$251,$252)|0); + $253 = HEAP32[$22>>2]|0; + $254 = ($253|0)!=(0); + if (!($254)) { STACKTOP = sp;return; } - $34 = HEAP32[$3>>2]|0; - $35 = ($34|0)==(0); - if ($35) { - $36 = HEAP32[$2>>2]|0; - $37 = (_sqlite3Strlen30($36)|0); - HEAP32[$3>>2] = $37; + HEAP32[$30>>2] = 0; + $255 = HEAP32[$14>>2]|0; + $256 = HEAP32[$22>>2]|0; + $257 = (_sqlite3VdbeAddOp3($255,67,$256,0,1)|0); + HEAP32[$29>>2] = $257; + $258 = HEAP32[$14>>2]|0; + $259 = HEAP32[$8>>2]|0; + $260 = ((($259)) + 8|0); + $261 = HEAP32[$260>>2]|0; + (_sqlite3VdbeAddOp1($258,53,$261)|0); + $262 = HEAP32[$8>>2]|0; + $263 = ((($262)) + 29|0); + $264 = HEAP8[$263>>0]|0; + $265 = ($264<<24>>24)!=(0); + if ($265) { + $266 = HEAP32[$7>>2]|0; + $267 = ((($266)) + 44|0); + $268 = HEAP32[$267>>2]|0; + $269 = (($268) + 1)|0; + HEAP32[$267>>2] = $269; + HEAP32[$30>>2] = $269; + $270 = HEAP32[$14>>2]|0; + $271 = HEAP32[$8>>2]|0; + $272 = ((($271)) + 8|0); + $273 = HEAP32[$272>>2]|0; + $274 = HEAP32[$16>>2]|0; + $275 = HEAP32[$30>>2]|0; + (_sqlite3VdbeAddOp3($270,96,$273,$274,$275)|0); } - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = HEAP32[$3>>2]|0; - $42 = ($41|0)<(0); - $43 = $42 << 31 >> 31; - $44 = (_sqlite3DbStrNDup($39,$40,$41,$43)|0); - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 16|0); - HEAP32[$46>>2] = $44; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 1|0); - HEAP8[$48>>0] = -1; - STACKTOP = sp;return; -} -function _sqlite3VtabLock($pVTab) { - $pVTab = $pVTab|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVTab; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 1)|0; - HEAP32[$2>>2] = $4; + $276 = HEAP32[$14>>2]|0; + $277 = HEAP32[$8>>2]|0; + $278 = ((($277)) + 8|0); + $279 = HEAP32[$278>>2]|0; + (_sqlite3VdbeAddOp1($276,117,$279)|0); + $280 = HEAP32[$8>>2]|0; + $281 = ((($280)) + 29|0); + $282 = HEAP8[$281>>0]|0; + $283 = ($282<<24>>24)!=(0); + if ($283) { + $284 = HEAP32[$14>>2]|0; + $285 = (_sqlite3VdbeCurrentAddr($284)|0); + $286 = (($285) + 2)|0; + HEAP32[$31>>2] = $286; + $287 = HEAP32[$14>>2]|0; + $288 = HEAP32[$18>>2]|0; + $289 = HEAP32[$16>>2]|0; + $290 = (($288) + ($289))|0; + $291 = HEAP32[$31>>2]|0; + $292 = HEAP32[$30>>2]|0; + (_sqlite3VdbeAddOp3($287,37,$290,$291,$292)|0); + $293 = HEAP32[$14>>2]|0; + _sqlite3VdbeChangeP5($293,-128); + } + $294 = HEAP32[$14>>2]|0; + $295 = HEAP32[$29>>2]|0; + _sqlite3VdbeJumpHere($294,$295); STACKTOP = sp;return; } -function _sqlite3BtreeSharable($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 9|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - STACKTOP = sp;return ($4|0); -} -function _sqlite3VtabEponymousTableInit($pParse,$pMod) { - $pParse = $pParse|0; - $pMod = $pMod|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $db = 0, $pModule = 0, $pTab = 0, $rc = 0, $vararg_buffer = 0, $zErr = 0, label = 0, sp = 0; +function _substExpr($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, $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, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $pModule = sp + 20|0; - $pTab = sp + 16|0; - $zErr = sp + 12|0; - $rc = sp + 8|0; - $db = sp + 4|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pMod; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pModule>>2] = $4; - HEAP32[$zErr>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - HEAP32[$0>>2] = 1; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = HEAP32[$6>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + HEAP32[$4>>2] = 0; + $74 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($74|0); } - $11 = HEAP32[$pModule>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$pModule>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$pModule>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($17|0)!=($20|0); - if ($21) { - HEAP32[$0>>2] = 0; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); + $12 = HEAP32[$6>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(152); + do { + if ($15) { + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = ($18|0)==($19|0); + if ($20) { + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 32|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23 << 16 >> 16; + $25 = ($24|0)<(0); + if ($25) { + $26 = HEAP32[$6>>2]|0; + HEAP8[$26>>0] = 101; + break; + } else { + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 32|0); + $33 = HEAP16[$32>>1]|0; + $34 = $33 << 16 >> 16; + $35 = (($30) + (($34*20)|0)|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_sqlite3ExprDup($27,$36,0)|0); + HEAP32[$9>>2] = $37; + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$6>>2]|0; + _sqlite3ExprDelete($38,$39); + $40 = HEAP32[$9>>2]|0; + HEAP32[$6>>2] = $40; + break; + } + } else { + label = 8; + } + } else { + label = 8; } - } - $22 = HEAP32[$db>>2]|0; - $23 = (_sqlite3DbMallocZero($22,72,0)|0); - HEAP32[$pTab>>2] = $23; - $24 = HEAP32[$pTab>>2]|0; - $25 = ($24|0)==(0|0); - if ($25) { - HEAP32[$0>>2] = 0; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } - $26 = HEAP32[$db>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = (_sqlite3DbStrDup($26,$29)|0); - $31 = HEAP32[$pTab>>2]|0; - HEAP32[$31>>2] = $30; - $32 = HEAP32[$pTab>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(0|0); - if ($34) { - $35 = HEAP32[$db>>2]|0; - $36 = HEAP32[$pTab>>2]|0; - _sqlite3DbFree($35,$36); - HEAP32[$0>>2] = 0; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } - $37 = HEAP32[$pTab>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = ((($38)) + 16|0); - HEAP32[$39>>2] = $37; - $40 = HEAP32[$pTab>>2]|0; - $41 = ((($40)) + 36|0); - HEAP16[$41>>1] = 1; - $42 = HEAP32[$db>>2]|0; - $43 = ((($42)) + 16|0); - $44 = HEAP32[$43>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$pTab>>2]|0; - $48 = ((($47)) + 64|0); - HEAP32[$48>>2] = $46; - $49 = HEAP32[$pTab>>2]|0; - $50 = ((($49)) + 42|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = $52 | 16; - $54 = $53&255; - HEAP8[$50>>0] = $54; - $55 = HEAP32[$pTab>>2]|0; - $56 = ((($55)) + 48|0); - HEAP32[$56>>2] = 0; - $57 = HEAP32[$pTab>>2]|0; - $58 = ((($57)) + 32|0); - HEAP16[$58>>1] = -1; - $59 = HEAP32[$db>>2]|0; - $60 = HEAP32[$pTab>>2]|0; - $61 = HEAP32[$db>>2]|0; - $62 = HEAP32[$pTab>>2]|0; - $63 = HEAP32[$62>>2]|0; - $64 = (_sqlite3DbStrDup($61,$63)|0); - _addModuleArgument($59,$60,$64); - $65 = HEAP32[$db>>2]|0; - $66 = HEAP32[$pTab>>2]|0; - _addModuleArgument($65,$66,0); - $67 = HEAP32[$db>>2]|0; - $68 = HEAP32[$pTab>>2]|0; - $69 = HEAP32[$db>>2]|0; - $70 = HEAP32[$pTab>>2]|0; - $71 = HEAP32[$70>>2]|0; - $72 = (_sqlite3DbStrDup($69,$71)|0); - _addModuleArgument($67,$68,$72); - $73 = HEAP32[$db>>2]|0; - $74 = HEAP32[$pTab>>2]|0; - $75 = HEAP32[$2>>2]|0; - $76 = HEAP32[$pModule>>2]|0; - $77 = ((($76)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = (_vtabCallConstructor($73,$74,$75,$78,$zErr)|0); - HEAP32[$rc>>2] = $79; - $80 = HEAP32[$rc>>2]|0; - $81 = ($80|0)!=(0); - if ($81) { - $82 = HEAP32[$1>>2]|0; - $83 = HEAP32[$zErr>>2]|0; - HEAP32[$vararg_buffer>>2] = $83; - _sqlite3ErrorMsg($82,18391,$vararg_buffer); - $84 = HEAP32[$db>>2]|0; - $85 = HEAP32[$zErr>>2]|0; - _sqlite3DbFree($84,$85); - $86 = HEAP32[$db>>2]|0; - $87 = HEAP32[$2>>2]|0; - _sqlite3VtabEponymousTableClear($86,$87); - HEAP32[$0>>2] = 0; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } else { - HEAP32[$0>>2] = 1; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } - return (0)|0; + } while(0); + do { + if ((label|0) == 8) { + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = HEAP32[$8>>2]|0; + $47 = (_substExpr($41,$44,$45,$46)|0); + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 12|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$7>>2]|0; + $55 = HEAP32[$8>>2]|0; + $56 = (_substExpr($50,$53,$54,$55)|0); + $57 = HEAP32[$6>>2]|0; + $58 = ((($57)) + 16|0); + HEAP32[$58>>2] = $56; + $59 = HEAP32[$6>>2]|0; + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61 & 2048; + $63 = ($62|0)!=(0); + $64 = HEAP32[$5>>2]|0; + $65 = HEAP32[$6>>2]|0; + $66 = ((($65)) + 20|0); + if ($63) { + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$7>>2]|0; + $69 = HEAP32[$8>>2]|0; + _substSelect($64,$67,$68,$69,1); + break; + } else { + $70 = HEAP32[$66>>2]|0; + $71 = HEAP32[$7>>2]|0; + $72 = HEAP32[$8>>2]|0; + _substExprList($64,$70,$71,$72); + break; + } + } + } while(0); + $73 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $73; + $74 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($74|0); } -function _sqlite3VtabEponymousTableClear($db,$pMod) { - $db = $db|0; - $pMod = $pMod|0; - var $0 = 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, $pTab = 0, label = 0, sp = 0; +function _substSelect($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pTab = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pMod; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pTab>>2] = $4; - $5 = HEAP32[$pTab>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { STACKTOP = sp;return; } - $7 = HEAP32[$pTab>>2]|0; - $8 = ((($7)) + 42|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = $10 | 2; - $12 = $11&255; - HEAP8[$8>>0] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$pTab>>2]|0; - _sqlite3DeleteTable($13,$14); - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 16|0); - HEAP32[$16>>2] = 0; - STACKTOP = sp;return; -} -function _findNextHostParameter($zSql,$pnToken) { - $zSql = $zSql|0; - $pnToken = $pnToken|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $nTotal = 0; - var $tokenType = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $tokenType = sp + 8|0; - $nTotal = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $zSql; - HEAP32[$1>>2] = $pnToken; - HEAP32[$nTotal>>2] = 0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$2>>2] = 0; while(1) { - $3 = HEAP32[$0>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if (!($5)) { - label = 6; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$7>>2]|0; + $19 = HEAP32[$8>>2]|0; + _substExprList($15,$17,$18,$19); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 36|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$8>>2]|0; + _substExprList($20,$23,$24,$25); + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 44|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$8>>2]|0; + _substExprList($26,$29,$30,$31); + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = ((($33)) + 40|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$8>>2]|0; + $38 = (_substExpr($32,$35,$36,$37)|0); + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 40|0); + HEAP32[$40>>2] = $38; + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 32|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = HEAP32[$8>>2]|0; + $47 = (_substExpr($41,$44,$45,$46)|0); + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 32|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 28|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$10>>2] = $52; + $53 = HEAP32[$10>>2]|0; + $54 = HEAP32[$53>>2]|0; + HEAP32[$12>>2] = $54; + $55 = HEAP32[$10>>2]|0; + $56 = ((($55)) + 8|0); + HEAP32[$11>>2] = $56; + while(1) { + $57 = HEAP32[$12>>2]|0; + $58 = ($57|0)>(0); + if (!($58)) { + break; + } + $59 = HEAP32[$5>>2]|0; + $60 = HEAP32[$11>>2]|0; + $61 = ((($60)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$7>>2]|0; + $64 = HEAP32[$8>>2]|0; + _substSelect($59,$62,$63,$64,1); + $65 = HEAP32[$11>>2]|0; + $66 = ((($65)) + 36|0); + $67 = ((($66)) + 1|0); + $68 = HEAP8[$67>>0]|0; + $69 = ($68&255) >>> 2; + $70 = $69 & 1; + $71 = $70&255; + $72 = ($71|0)!=(0); + if ($72) { + $73 = HEAP32[$5>>2]|0; + $74 = HEAP32[$11>>2]|0; + $75 = ((($74)) + 64|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$7>>2]|0; + $78 = HEAP32[$8>>2]|0; + _substExprList($73,$76,$77,$78); + } + $79 = HEAP32[$12>>2]|0; + $80 = (($79) + -1)|0; + HEAP32[$12>>2] = $80; + $81 = HEAP32[$11>>2]|0; + $82 = ((($81)) + 72|0); + HEAP32[$11>>2] = $82; + } + $83 = HEAP32[$9>>2]|0; + $84 = ($83|0)!=(0); + if (!($84)) { + label = 9; break; } - $6 = HEAP32[$0>>2]|0; - $7 = (_sqlite3GetToken($6,$tokenType)|0); - HEAP32[$n>>2] = $7; - $8 = HEAP32[$tokenType>>2]|0; - $9 = ($8|0)==(135); - $10 = HEAP32[$n>>2]|0; - if ($9) { + $85 = HEAP32[$6>>2]|0; + $86 = ((($85)) + 48|0); + $87 = HEAP32[$86>>2]|0; + HEAP32[$6>>2] = $87; + $88 = ($87|0)!=(0|0); + if (!($88)) { + label = 9; break; } - $12 = HEAP32[$nTotal>>2]|0; - $13 = (($12) + ($10))|0; - HEAP32[$nTotal>>2] = $13; - $14 = HEAP32[$n>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + ($14)|0); - HEAP32[$0>>2] = $16; } - if ((label|0) == 6) { - $17 = HEAP32[$nTotal>>2]|0; - STACKTOP = sp;return ($17|0); + if ((label|0) == 9) { + STACKTOP = sp;return; } - $11 = HEAP32[$1>>2]|0; - HEAP32[$11>>2] = $10; - $17 = HEAP32[$nTotal>>2]|0; - STACKTOP = sp;return ($17|0); } -function _sqlite3VdbeMemMove($pTo,$pFrom) { - $pTo = $pTo|0; - $pFrom = $pFrom|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _substExprList($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pTo; - HEAP32[$1>>2] = $pFrom; - $2 = HEAP32[$0>>2]|0; - _sqlite3VdbeMemRelease($2); - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - dest=$3; src=$4; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 8|0); - HEAP16[$6>>1] = 1; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 24|0); + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + STACKTOP = sp;return; + } HEAP32[$8>>2] = 0; + while(1) { + $11 = HEAP32[$8>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)<($13|0); + if (!($14)) { + break; + } + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = (($18) + (($19*20)|0)|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = (_substExpr($15,$21,$22,$23)|0); + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = (($27) + (($28*20)|0)|0); + HEAP32[$29>>2] = $24; + $30 = HEAP32[$8>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$8>>2] = $31; + } STACKTOP = sp;return; } -function _columnNullValue() { - var label = 0, sp = 0; - sp = STACKTOP; - return (320|0); -} -function _sqlite3VdbeSwap($pA,$pB) { - $pA = $pA|0; - $pB = $pB|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTmp = 0, $tmp = 0, $zTmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $0 = sp + 220|0; - $1 = sp + 216|0; - $tmp = sp; - $pTmp = sp + 212|0; - $zTmp = sp + 208|0; - HEAP32[$0>>2] = $pA; - HEAP32[$1>>2] = $pB; - $2 = HEAP32[$0>>2]|0; - _memcpy(($tmp|0),($2|0),208)|0; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - _memcpy(($3|0),($4|0),208)|0; - $5 = HEAP32[$1>>2]|0; - _memcpy(($5|0),($tmp|0),208)|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pTmp>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 8|0); - HEAP32[$13>>2] = $11; - $14 = HEAP32[$pTmp>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 8|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pTmp>>2] = $19; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 4|0); - HEAP32[$24>>2] = $22; - $25 = HEAP32[$pTmp>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 4|0); - HEAP32[$27>>2] = $25; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 176|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$zTmp>>2] = $30; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 176|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 176|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$zTmp>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 176|0); - HEAP32[$38>>2] = $36; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 144|0); - $41 = HEAP16[$40>>1]|0; - $42 = ($41&65535) >>> 9; - $43 = $42 & 1; - $44 = $43&65535; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 144|0); - $47 = $44&65535; - $48 = HEAP16[$46>>1]|0; - $49 = $47 & 1; - $50 = ($49 << 9)&65535; - $51 = $48 & -513; - $52 = $51 | $50; - HEAP16[$46>>1] = $52; - STACKTOP = sp;return; -} -function _sqlite3VdbeResetStepResult($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 40|0); - HEAP32[$2>>2] = 0; - STACKTOP = sp;return; -} -function _sqlite3OsCurrentTimeInt64($pVfs,$pTimeOut) { - $pVfs = $pVfs|0; - $pTimeOut = $pTimeOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, $rc = 0, label = 0, sp = 0; +function _multiSelectValues($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $rc = sp + 8|0; - $r = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $pTimeOut; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>=(2); - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 72|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 72|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = (FUNCTION_TABLE_iii[$11 & 255]($12,$13)|0); - HEAP32[$rc>>2] = $14; - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$7>>2] = 1; + HEAP32[$8>>2] = 0; + while(1) { + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 48|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0|0); + if ($12) { + break; } + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 48|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$4>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = (($16) + 1)|0; + HEAP32[$7>>2] = $17; } - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 64|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = (FUNCTION_TABLE_iii[$17 & 255]($18,$r)|0); - HEAP32[$rc>>2] = $19; - $20 = +HEAPF64[$r>>3]; - $21 = $20 * 8.64E+7; - $22 = (~~$21)>>>0; - $23 = +Math_abs($21) >= 1.0 ? $21 > 0.0 ? (~~+Math_min(+Math_floor($21 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($21 - +(~~$21 >>> 0)) / 4294967296.0) >>> 0 : 0; - $24 = HEAP32[$1>>2]|0; - $25 = $24; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $23; - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); + while(1) { + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + label = 7; + break; + } + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 48|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$6>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 48|0); + HEAP32[$24>>2] = 0; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$5>>2]|0; + $28 = (_sqlite3Select($25,$26,$27)|0); + HEAP32[$8>>2] = $28; + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 48|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$8>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + label = 7; + break; + } + $34 = HEAP32[$7>>2]|0; + $35 = $34&65535; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 6|0); + HEAP16[$37>>1] = $35; + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 52|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$4>>2] = $40; + } + if ((label|0) == 7) { + $41 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($41|0); + } + return (0)|0; } -function _sqlite3VdbeList($p) { - $p = $p|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; +function _generateWithRecursiveQuery($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $apSub = 0, $db = 0, $i = 0, $j = 0, $j1 = 0, $nByte = 0, $nRow = 0, $nSub = 0, $pMem = 0, $pOp = 0, $pSub = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $zP4 = 0, label = 0; - var sp = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer2 = sp + 8|0; + STACKTOP = STACKTOP + 128|0; $vararg_buffer = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $nRow = sp + 60|0; - $nSub = sp + 56|0; - $apSub = sp + 52|0; - $pSub = sp + 48|0; - $db = sp + 44|0; - $i = sp + 40|0; - $rc = sp + 36|0; - $pMem = sp + 32|0; - $zP4 = sp + 28|0; - $pOp = sp + 24|0; - $j = sp + 20|0; - $nByte = sp + 16|0; - $j1 = sp + 12|0; - HEAP32[$1>>2] = $p; - HEAP32[$nSub>>2] = 0; - HEAP32[$apSub>>2] = 0; - HEAP32[$pSub>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 92|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 40|0); - HEAP32[$pMem>>2] = $7; - $8 = HEAP32[$pMem>>2]|0; - _releaseMemArray($8,8); - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 104|0); - HEAP32[$10>>2] = 0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 40|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(7); - if ($14) { - $15 = HEAP32[$db>>2]|0; - _sqlite3OomFault($15); - HEAP32[$0>>2] = 1; - $343 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($343|0); + $3 = sp + 120|0; + $4 = sp + 116|0; + $5 = sp + 112|0; + $6 = sp + 108|0; + $7 = sp + 104|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 92|0; + $11 = sp + 88|0; + $12 = sp + 84|0; + $13 = sp + 80|0; + $14 = sp + 76|0; + $15 = sp + 72|0; + $16 = sp + 68|0; + $17 = sp + 64|0; + $18 = sp + 40|0; + $19 = sp + 32|0; + $20 = sp + 28|0; + $21 = sp + 24|0; + $22 = sp + 20|0; + $23 = sp + 16|0; + $24 = sp + 12|0; + $25 = sp + 8|0; + $26 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 28|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$6>>2] = $29; + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$31>>2]|0; + HEAP32[$7>>2] = $32; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$8>>2] = $35; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 48|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$9>>2] = $38; + HEAP32[$13>>2] = 0; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 5; + $39 = HEAP32[$3>>2]|0; + $40 = (_sqlite3AuthCheck($39,33,0,0,0)|0); + $41 = ($40|0)!=(0); + if ($41) { + STACKTOP = sp;return; } - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 136|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$nRow>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 144|0); - $21 = HEAP16[$20>>1]|0; - $22 = ($21&65535) >>> 2; - $23 = $22 & 3; - $24 = $23&65535; - $25 = ($24|0)==(1); - L5: do { - if ($25) { - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 92|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 360|0); - HEAP32[$pSub>>2] = $29; - $30 = HEAP32[$pSub>>2]|0; - $31 = ((($30)) + 8|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32&65535; - $34 = $33 & 16; - $35 = ($34|0)!=(0); - if ($35) { - $36 = HEAP32[$pSub>>2]|0; - $37 = ((($36)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38>>>0) / 4)&-1; - HEAP32[$nSub>>2] = $39; - $40 = HEAP32[$pSub>>2]|0; - $41 = ((($40)) + 16|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$apSub>>2] = $42; - } - HEAP32[$i>>2] = 0; - while(1) { - $43 = HEAP32[$i>>2]|0; - $44 = HEAP32[$nSub>>2]|0; - $45 = ($43|0)<($44|0); - if (!($45)) { - break L5; - } - $46 = HEAP32[$i>>2]|0; - $47 = HEAP32[$apSub>>2]|0; - $48 = (($47) + ($46<<2)|0); - $49 = HEAP32[$48>>2]|0; - $50 = ((($49)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$nRow>>2]|0; - $53 = (($52) + ($51))|0; - HEAP32[$nRow>>2] = $53; - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; - } - } - } while(0); + $42 = HEAP32[$8>>2]|0; + $43 = (_sqlite3VdbeMakeLabel($42)|0); + HEAP32[$12>>2] = $43; + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$4>>2]|0; + $46 = HEAP32[$12>>2]|0; + _computeLimitRegisters($44,$45,$46); + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 56|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$22>>2] = $49; + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 60|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$23>>2] = $52; + $53 = HEAP32[$4>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$24>>2] = $55; + $56 = HEAP32[$4>>2]|0; + $57 = ((($56)) + 16|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$25>>2] = $58; + $59 = HEAP32[$4>>2]|0; + $60 = ((($59)) + 60|0); + HEAP32[$60>>2] = 0; + $61 = HEAP32[$4>>2]|0; + $62 = ((($61)) + 56|0); + HEAP32[$62>>2] = 0; + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 16|0); + HEAP32[$64>>2] = 0; + $65 = HEAP32[$4>>2]|0; + $66 = ((($65)) + 12|0); + HEAP32[$66>>2] = 0; + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 44|0); + $69 = HEAP32[$68>>2]|0; + HEAP32[$21>>2] = $69; + HEAP32[$19>>2] = 0; while(1) { - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 36|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[$57>>2] = $59; - HEAP32[$i>>2] = $58; - $60 = HEAP32[$i>>2]|0; - $61 = HEAP32[$nRow>>2]|0; - $62 = ($60|0)<($61|0); - if (!($62)) { - break; - } - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 144|0); - $65 = HEAP16[$64>>1]|0; - $66 = ($65&65535) >>> 2; - $67 = $66 & 3; - $68 = $67&65535; - $69 = ($68|0)==(2); - if (!($69)) { + $70 = HEAP32[$19>>2]|0; + $71 = HEAP32[$6>>2]|0; + $72 = HEAP32[$71>>2]|0; + $73 = ($70|0)<($72|0); + if (!($73)) { break; } - $70 = HEAP32[$i>>2]|0; - $71 = HEAP32[$1>>2]|0; - $72 = ((($71)) + 88|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73) + (($70*20)|0)|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = ($76|0)!=(162); - if (!($77)) { + $74 = HEAP32[$6>>2]|0; + $75 = ((($74)) + 8|0); + $76 = HEAP32[$19>>2]|0; + $77 = (($75) + (($76*72)|0)|0); + $78 = ((($77)) + 36|0); + $79 = ((($78)) + 1|0); + $80 = HEAP8[$79>>0]|0; + $81 = ($80&255) >>> 5; + $82 = $81 & 1; + $83 = $82&255; + $84 = ($83|0)!=(0); + if ($84) { + label = 5; break; } + $91 = HEAP32[$19>>2]|0; + $92 = (($91) + 1)|0; + HEAP32[$19>>2] = $92; } - $78 = HEAP32[$i>>2]|0; - $79 = HEAP32[$nRow>>2]|0; - $80 = ($78|0)>=($79|0); - do { - if ($80) { - $81 = HEAP32[$1>>2]|0; - $82 = ((($81)) + 40|0); - HEAP32[$82>>2] = 0; - HEAP32[$rc>>2] = 101; + if ((label|0) == 5) { + $85 = HEAP32[$6>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP32[$19>>2]|0; + $88 = (($86) + (($87*72)|0)|0); + $89 = ((($88)) + 44|0); + $90 = HEAP32[$89>>2]|0; + HEAP32[$13>>2] = $90; + } + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 40|0); + $95 = HEAP32[$94>>2]|0; + $96 = (($95) + 1)|0; + HEAP32[$94>>2] = $96; + HEAP32[$15>>2] = $95; + $97 = HEAP32[$4>>2]|0; + $98 = ((($97)) + 4|0); + $99 = HEAP8[$98>>0]|0; + $100 = $99&255; + $101 = ($100|0)==(115); + $102 = HEAP32[$21>>2]|0; + $103 = ($102|0)!=(0|0); + if ($101) { + $104 = $103 ? 8 : 6; + HEAP32[$17>>2] = $104; + $105 = HEAP32[$3>>2]|0; + $106 = ((($105)) + 40|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + 1)|0; + HEAP32[$106>>2] = $108; + HEAP32[$16>>2] = $107; + } else { + $109 = $103 ? 7 : 5; + HEAP32[$17>>2] = $109; + } + $110 = HEAP32[$17>>2]|0; + $111 = HEAP32[$15>>2]|0; + _sqlite3SelectDestInit($18,$110,$111); + $112 = HEAP32[$3>>2]|0; + $113 = ((($112)) + 44|0); + $114 = HEAP32[$113>>2]|0; + $115 = (($114) + 1)|0; + HEAP32[$113>>2] = $115; + HEAP32[$14>>2] = $115; + $116 = HEAP32[$8>>2]|0; + $117 = HEAP32[$13>>2]|0; + $118 = HEAP32[$14>>2]|0; + $119 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp3($116,110,$117,$118,$119)|0); + $120 = HEAP32[$21>>2]|0; + $121 = ($120|0)!=(0|0); + if ($121) { + $122 = HEAP32[$3>>2]|0; + $123 = HEAP32[$4>>2]|0; + $124 = (_multiSelectOrderByKeyInfo($122,$123,1)|0); + HEAP32[$26>>2] = $124; + $125 = HEAP32[$8>>2]|0; + $126 = HEAP32[$15>>2]|0; + $127 = HEAP32[$21>>2]|0; + $128 = HEAP32[$127>>2]|0; + $129 = (($128) + 2)|0; + $130 = HEAP32[$26>>2]|0; + (_sqlite3VdbeAddOp4($125,107,$126,$129,0,$130,-6)|0); + $131 = HEAP32[$21>>2]|0; + $132 = ((($18)) + 20|0); + HEAP32[$132>>2] = $131; + } else { + $133 = HEAP32[$8>>2]|0; + $134 = HEAP32[$15>>2]|0; + $135 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp2($133,107,$134,$135)|0); + } + $136 = HEAP32[$16>>2]|0; + $137 = ($136|0)!=(0); + if ($137) { + $138 = HEAP32[$8>>2]|0; + $139 = HEAP32[$16>>2]|0; + $140 = (_sqlite3VdbeAddOp2($138,107,$139,0)|0); + $141 = HEAP32[$4>>2]|0; + $142 = ((($141)) + 20|0); + HEAP32[$142>>2] = $140; + $143 = HEAP32[$4>>2]|0; + $144 = ((($143)) + 8|0); + $145 = HEAP32[$144>>2]|0; + $146 = $145 | 32; + HEAP32[$144>>2] = $146; + } + $147 = HEAP32[$4>>2]|0; + $148 = ((($147)) + 44|0); + HEAP32[$148>>2] = 0; + $149 = HEAP32[$9>>2]|0; + $150 = ((($149)) + 52|0); + HEAP32[$150>>2] = 0; + $151 = HEAP32[$3>>2]|0; + $152 = HEAP32[$9>>2]|0; + $153 = (_sqlite3Select($151,$152,$18)|0); + HEAP32[$20>>2] = $153; + $154 = HEAP32[$4>>2]|0; + $155 = HEAP32[$9>>2]|0; + $156 = ((($155)) + 52|0); + HEAP32[$156>>2] = $154; + $157 = HEAP32[$20>>2]|0; + $158 = ($157|0)!=(0); + if (!($158)) { + $159 = HEAP32[$8>>2]|0; + $160 = HEAP32[$15>>2]|0; + $161 = HEAP32[$12>>2]|0; + $162 = (_sqlite3VdbeAddOp2($159,57,$160,$161)|0); + HEAP32[$10>>2] = $162; + $163 = HEAP32[$8>>2]|0; + $164 = HEAP32[$13>>2]|0; + (_sqlite3VdbeAddOp1($163,124,$164)|0); + $165 = HEAP32[$21>>2]|0; + $166 = ($165|0)!=(0|0); + $167 = HEAP32[$8>>2]|0; + $168 = HEAP32[$15>>2]|0; + if ($166) { + $169 = HEAP32[$21>>2]|0; + $170 = HEAP32[$169>>2]|0; + $171 = (($170) + 1)|0; + $172 = HEAP32[$14>>2]|0; + (_sqlite3VdbeAddOp3($167,96,$168,$171,$172)|0); } else { - $83 = HEAP32[$db>>2]|0; - $84 = ((($83)) + 248|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 40|0); - HEAP32[$88>>2] = 9; - HEAP32[$rc>>2] = 1; - $89 = HEAP32[$1>>2]|0; - $90 = HEAP32[$1>>2]|0; - $91 = ((($90)) + 40|0); - $92 = HEAP32[$91>>2]|0; - $93 = (_sqlite3ErrStr($92)|0); - _sqlite3VdbeError($89,$93,$vararg_buffer); - break; - } - $94 = HEAP32[$i>>2]|0; - $95 = HEAP32[$1>>2]|0; - $96 = ((($95)) + 136|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($94|0)<($97|0); - if ($98) { - $99 = HEAP32[$i>>2]|0; - $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 88|0); - $102 = HEAP32[$101>>2]|0; - $103 = (($102) + (($99*20)|0)|0); - HEAP32[$pOp>>2] = $103; - } else { - $104 = HEAP32[$1>>2]|0; - $105 = ((($104)) + 136|0); - $106 = HEAP32[$105>>2]|0; - $107 = HEAP32[$i>>2]|0; - $108 = (($107) - ($106))|0; - HEAP32[$i>>2] = $108; - HEAP32[$j>>2] = 0; + $173 = HEAP32[$14>>2]|0; + (_sqlite3VdbeAddOp2($167,122,$168,$173)|0); + } + $174 = HEAP32[$8>>2]|0; + $175 = HEAP32[$15>>2]|0; + (_sqlite3VdbeAddOp1($174,117,$175)|0); + $176 = HEAP32[$8>>2]|0; + $177 = (_sqlite3VdbeMakeLabel($176)|0); + HEAP32[$11>>2] = $177; + $178 = HEAP32[$8>>2]|0; + $179 = HEAP32[$25>>2]|0; + $180 = HEAP32[$11>>2]|0; + _codeOffset($178,$179,$180); + $181 = HEAP32[$3>>2]|0; + $182 = HEAP32[$4>>2]|0; + $183 = HEAP32[$4>>2]|0; + $184 = HEAP32[$183>>2]|0; + $185 = HEAP32[$13>>2]|0; + $186 = HEAP32[$5>>2]|0; + $187 = HEAP32[$11>>2]|0; + $188 = HEAP32[$12>>2]|0; + _selectInnerLoop($181,$182,$184,$185,0,0,$186,$187,$188); + $189 = HEAP32[$24>>2]|0; + $190 = ($189|0)!=(0); + if ($190) { + $191 = HEAP32[$8>>2]|0; + $192 = HEAP32[$24>>2]|0; + $193 = HEAP32[$12>>2]|0; + (_sqlite3VdbeAddOp2($191,68,$192,$193)|0); + } + $194 = HEAP32[$8>>2]|0; + $195 = HEAP32[$11>>2]|0; + _sqlite3VdbeResolveLabel($194,$195); + $196 = HEAP32[$4>>2]|0; + $197 = ((($196)) + 8|0); + $198 = HEAP32[$197>>2]|0; + $199 = $198 & 8; + $200 = ($199|0)!=(0); + if ($200) { + $201 = HEAP32[$3>>2]|0; + _sqlite3ErrorMsg($201,35417,$vararg_buffer); + } else { + $202 = HEAP32[$4>>2]|0; + $203 = ((($202)) + 48|0); + HEAP32[$203>>2] = 0; + $204 = HEAP32[$3>>2]|0; + $205 = HEAP32[$4>>2]|0; + (_sqlite3Select($204,$205,$18)|0); + $206 = HEAP32[$9>>2]|0; + $207 = HEAP32[$4>>2]|0; + $208 = ((($207)) + 48|0); + HEAP32[$208>>2] = $206; + } + $209 = HEAP32[$8>>2]|0; + $210 = HEAP32[$10>>2]|0; + (_sqlite3VdbeGoto($209,$210)|0); + $211 = HEAP32[$8>>2]|0; + $212 = HEAP32[$12>>2]|0; + _sqlite3VdbeResolveLabel($211,$212); + } + $213 = HEAP32[$3>>2]|0; + $214 = HEAP32[$213>>2]|0; + $215 = HEAP32[$4>>2]|0; + $216 = ((($215)) + 44|0); + $217 = HEAP32[$216>>2]|0; + _sqlite3ExprListDelete($214,$217); + $218 = HEAP32[$21>>2]|0; + $219 = HEAP32[$4>>2]|0; + $220 = ((($219)) + 44|0); + HEAP32[$220>>2] = $218; + $221 = HEAP32[$22>>2]|0; + $222 = HEAP32[$4>>2]|0; + $223 = ((($222)) + 56|0); + HEAP32[$223>>2] = $221; + $224 = HEAP32[$23>>2]|0; + $225 = HEAP32[$4>>2]|0; + $226 = ((($225)) + 60|0); + HEAP32[$226>>2] = $224; + STACKTOP = sp;return; +} +function _multiSelectOrderBy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; + var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; + var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; + var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0; + var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0; + var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0; + var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0; + var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; + var $515 = 0, $516 = 0, $517 = 0, $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 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224|0; + $3 = sp + 220|0; + $4 = sp + 216|0; + $5 = sp + 212|0; + $6 = sp + 208|0; + $7 = sp + 204|0; + $8 = sp + 200|0; + $9 = sp + 196|0; + $10 = sp + 192|0; + $11 = sp + 168|0; + $12 = sp + 144|0; + $13 = sp + 140|0; + $14 = sp + 136|0; + $15 = sp + 132|0; + $16 = sp + 128|0; + $17 = sp + 124|0; + $18 = sp + 120|0; + $19 = sp + 116|0; + $20 = sp + 112|0; + $21 = sp + 108|0; + $22 = sp + 104|0; + $23 = sp + 100|0; + $24 = sp + 96|0; + $25 = sp + 92|0; + $26 = sp + 88|0; + $27 = sp + 84|0; + $28 = sp + 80|0; + $29 = sp + 76|0; + $30 = sp + 72|0; + $31 = sp + 68|0; + $32 = sp + 64|0; + $33 = sp + 60|0; + $34 = sp + 56|0; + $35 = sp + 52|0; + $36 = sp + 48|0; + $37 = sp + 44|0; + $38 = sp + 40|0; + $39 = sp + 36|0; + $40 = sp + 32|0; + $41 = sp + 28|0; + $42 = sp + 24|0; + $43 = sp + 20|0; + $44 = sp + 16|0; + $45 = sp + 12|0; + $46 = sp + 8|0; + $47 = sp + 4|0; + $48 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$20>>2] = 0; + HEAP32[$36>>2] = 0; + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$49>>2]|0; + HEAP32[$38>>2] = $50; + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 8|0); + $53 = HEAP32[$52>>2]|0; + HEAP32[$10>>2] = $53; + $54 = HEAP32[$10>>2]|0; + $55 = (_sqlite3VdbeMakeLabel($54)|0); + HEAP32[$33>>2] = $55; + $56 = HEAP32[$10>>2]|0; + $57 = (_sqlite3VdbeMakeLabel($56)|0); + HEAP32[$32>>2] = $57; + $58 = HEAP32[$5>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + HEAP32[$35>>2] = $61; + $62 = HEAP32[$5>>2]|0; + $63 = ((($62)) + 48|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$9>>2] = $64; + $65 = HEAP32[$5>>2]|0; + $66 = ((($65)) + 44|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$39>>2] = $67; + $68 = HEAP32[$39>>2]|0; + $69 = HEAP32[$68>>2]|0; + HEAP32[$40>>2] = $69; + $70 = HEAP32[$35>>2]|0; + $71 = ($70|0)!=(116); + L1: do { + if ($71) { + HEAP32[$7>>2] = 1; + while(1) { + $72 = HEAP32[$38>>2]|0; + $73 = ((($72)) + 69|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + $76 = ($75|0)==(0); + if (!($76)) { + break L1; + } + $77 = HEAP32[$7>>2]|0; + $78 = HEAP32[$5>>2]|0; + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$79>>2]|0; + $81 = ($77|0)<=($80|0); + if (!($81)) { + break L1; + } + HEAP32[$8>>2] = 0; + $82 = HEAP32[$39>>2]|0; + $83 = ((($82)) + 4|0); + $84 = HEAP32[$83>>2]|0; + HEAP32[$44>>2] = $84; while(1) { - $109 = HEAP32[$i>>2]|0; - $110 = HEAP32[$j>>2]|0; - $111 = HEAP32[$apSub>>2]|0; - $112 = (($111) + ($110<<2)|0); - $113 = HEAP32[$112>>2]|0; - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($109|0)>=($115|0); - if (!($116)) { + $85 = HEAP32[$8>>2]|0; + $86 = HEAP32[$40>>2]|0; + $87 = ($85|0)<($86|0); + if (!($87)) { break; } - $117 = HEAP32[$j>>2]|0; - $118 = HEAP32[$apSub>>2]|0; - $119 = (($118) + ($117<<2)|0); - $120 = HEAP32[$119>>2]|0; - $121 = ((($120)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = HEAP32[$i>>2]|0; - $124 = (($123) - ($122))|0; - HEAP32[$i>>2] = $124; - $125 = HEAP32[$j>>2]|0; - $126 = (($125) + 1)|0; - HEAP32[$j>>2] = $126; - } - $127 = HEAP32[$i>>2]|0; - $128 = HEAP32[$j>>2]|0; - $129 = HEAP32[$apSub>>2]|0; - $130 = (($129) + ($128<<2)|0); - $131 = HEAP32[$130>>2]|0; - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + (($127*20)|0)|0); - HEAP32[$pOp>>2] = $133; - } - $134 = HEAP32[$1>>2]|0; - $135 = ((($134)) + 144|0); - $136 = HEAP16[$135>>1]|0; - $137 = ($136&65535) >>> 2; - $138 = $137 & 3; - $139 = $138&65535; - $140 = ($139|0)==(1); - if ($140) { - $141 = HEAP32[$pMem>>2]|0; - $142 = ((($141)) + 8|0); - HEAP16[$142>>1] = 4; - $143 = HEAP32[$i>>2]|0; - $144 = ($143|0)<(0); - $145 = $144 << 31 >> 31; - $146 = HEAP32[$pMem>>2]|0; - $147 = $146; - $148 = $147; - HEAP32[$148>>2] = $143; - $149 = (($147) + 4)|0; - $150 = $149; - HEAP32[$150>>2] = $145; - $151 = HEAP32[$pMem>>2]|0; - $152 = ((($151)) + 40|0); - HEAP32[$pMem>>2] = $152; - $153 = HEAP32[$pMem>>2]|0; - $154 = ((($153)) + 8|0); - HEAP16[$154>>1] = 2562; - $155 = HEAP32[$pOp>>2]|0; - $156 = HEAP8[$155>>0]|0; - $157 = $156&255; - $158 = (_sqlite3OpcodeName($157)|0); - $159 = HEAP32[$pMem>>2]|0; - $160 = ((($159)) + 16|0); - HEAP32[$160>>2] = $158; - $161 = HEAP32[$pMem>>2]|0; - $162 = ((($161)) + 16|0); - $163 = HEAP32[$162>>2]|0; - $164 = (_sqlite3Strlen30($163)|0); - $165 = HEAP32[$pMem>>2]|0; - $166 = ((($165)) + 12|0); - HEAP32[$166>>2] = $164; - $167 = HEAP32[$pMem>>2]|0; - $168 = ((($167)) + 10|0); - HEAP8[$168>>0] = 1; - $169 = HEAP32[$pMem>>2]|0; - $170 = ((($169)) + 40|0); - HEAP32[$pMem>>2] = $170; - $171 = HEAP32[$pOp>>2]|0; - $172 = ((($171)) + 1|0); - $173 = HEAP8[$172>>0]|0; - $174 = $173 << 24 >> 24; - $175 = ($174|0)==(-18); - if ($175) { - $176 = HEAP32[$nSub>>2]|0; - $177 = (($176) + 1)|0; - $178 = $177<<2; - HEAP32[$nByte>>2] = $178; - HEAP32[$j1>>2] = 0; - while(1) { - $179 = HEAP32[$j1>>2]|0; - $180 = HEAP32[$nSub>>2]|0; - $181 = ($179|0)<($180|0); - if (!($181)) { - break; - } - $182 = HEAP32[$j1>>2]|0; - $183 = HEAP32[$apSub>>2]|0; - $184 = (($183) + ($182<<2)|0); - $185 = HEAP32[$184>>2]|0; - $186 = HEAP32[$pOp>>2]|0; - $187 = ((($186)) + 16|0); - $188 = HEAP32[$187>>2]|0; - $189 = ($185|0)==($188|0); - if ($189) { - break; - } - $190 = HEAP32[$j1>>2]|0; - $191 = (($190) + 1)|0; - HEAP32[$j1>>2] = $191; + $88 = HEAP32[$44>>2]|0; + $89 = ((($88)) + 16|0); + $90 = HEAP16[$89>>1]|0; + $91 = $90&65535; + $92 = HEAP32[$7>>2]|0; + $93 = ($91|0)==($92|0); + if ($93) { + break; } - $192 = HEAP32[$j1>>2]|0; - $193 = HEAP32[$nSub>>2]|0; - $194 = ($192|0)==($193|0); - if ($194) { - $195 = HEAP32[$pSub>>2]|0; - $196 = HEAP32[$nByte>>2]|0; - $197 = HEAP32[$nSub>>2]|0; - $198 = ($197|0)!=(0); - $199 = $198&1; - $200 = (_sqlite3VdbeMemGrow($195,$196,$199)|0); - $201 = (0)==($200|0); - if ($201) { - $202 = HEAP32[$pSub>>2]|0; - $203 = ((($202)) + 16|0); - $204 = HEAP32[$203>>2]|0; - HEAP32[$apSub>>2] = $204; - $205 = HEAP32[$pOp>>2]|0; - $206 = ((($205)) + 16|0); - $207 = HEAP32[$206>>2]|0; - $208 = HEAP32[$nSub>>2]|0; - $209 = (($208) + 1)|0; - HEAP32[$nSub>>2] = $209; - $210 = HEAP32[$apSub>>2]|0; - $211 = (($210) + ($208<<2)|0); - HEAP32[$211>>2] = $207; - $212 = HEAP32[$pSub>>2]|0; - $213 = ((($212)) + 8|0); - $214 = HEAP16[$213>>1]|0; - $215 = $214&65535; - $216 = $215 | 16; - $217 = $216&65535; - HEAP16[$213>>1] = $217; - $218 = HEAP32[$nSub>>2]|0; - $219 = $218<<2; - $220 = HEAP32[$pSub>>2]|0; - $221 = ((($220)) + 12|0); - HEAP32[$221>>2] = $219; - } + $94 = HEAP32[$8>>2]|0; + $95 = (($94) + 1)|0; + HEAP32[$8>>2] = $95; + $96 = HEAP32[$44>>2]|0; + $97 = ((($96)) + 20|0); + HEAP32[$44>>2] = $97; + } + $98 = HEAP32[$8>>2]|0; + $99 = HEAP32[$40>>2]|0; + $100 = ($98|0)==($99|0); + if ($100) { + $101 = HEAP32[$38>>2]|0; + $102 = (_sqlite3Expr($101,134,0)|0); + HEAP32[$45>>2] = $102; + $103 = HEAP32[$45>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + break; + } + $105 = HEAP32[$45>>2]|0; + $106 = ((($105)) + 4|0); + $107 = HEAP32[$106>>2]|0; + $108 = $107 | 1024; + HEAP32[$106>>2] = $108; + $109 = HEAP32[$7>>2]|0; + $110 = HEAP32[$45>>2]|0; + $111 = ((($110)) + 8|0); + HEAP32[$111>>2] = $109; + $112 = HEAP32[$4>>2]|0; + $113 = HEAP32[$39>>2]|0; + $114 = HEAP32[$45>>2]|0; + $115 = (_sqlite3ExprListAppend($112,$113,$114)|0); + HEAP32[$39>>2] = $115; + $116 = HEAP32[$39>>2]|0; + $117 = ($116|0)!=(0|0); + if ($117) { + $118 = HEAP32[$7>>2]|0; + $119 = $118&65535; + $120 = HEAP32[$39>>2]|0; + $121 = ((($120)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$40>>2]|0; + $124 = (($123) + 1)|0; + HEAP32[$40>>2] = $124; + $125 = (($122) + (($123*20)|0)|0); + $126 = ((($125)) + 16|0); + HEAP16[$126>>1] = $119; } } + $127 = HEAP32[$7>>2]|0; + $128 = (($127) + 1)|0; + HEAP32[$7>>2] = $128; } - $222 = HEAP32[$pMem>>2]|0; - $223 = ((($222)) + 8|0); - HEAP16[$223>>1] = 4; - $224 = HEAP32[$pOp>>2]|0; - $225 = ((($224)) + 4|0); - $226 = HEAP32[$225>>2]|0; - $227 = ($226|0)<(0); - $228 = $227 << 31 >> 31; - $229 = HEAP32[$pMem>>2]|0; - $230 = $229; - $231 = $230; - HEAP32[$231>>2] = $226; - $232 = (($230) + 4)|0; - $233 = $232; - HEAP32[$233>>2] = $228; - $234 = HEAP32[$pMem>>2]|0; - $235 = ((($234)) + 40|0); - HEAP32[$pMem>>2] = $235; - $236 = HEAP32[$pMem>>2]|0; - $237 = ((($236)) + 8|0); - HEAP16[$237>>1] = 4; - $238 = HEAP32[$pOp>>2]|0; - $239 = ((($238)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = ($240|0)<(0); - $242 = $241 << 31 >> 31; - $243 = HEAP32[$pMem>>2]|0; - $244 = $243; - $245 = $244; - HEAP32[$245>>2] = $240; - $246 = (($244) + 4)|0; - $247 = $246; - HEAP32[$247>>2] = $242; - $248 = HEAP32[$pMem>>2]|0; - $249 = ((($248)) + 40|0); - HEAP32[$pMem>>2] = $249; - $250 = HEAP32[$pMem>>2]|0; - $251 = ((($250)) + 8|0); - HEAP16[$251>>1] = 4; - $252 = HEAP32[$pOp>>2]|0; - $253 = ((($252)) + 12|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)<(0); - $256 = $255 << 31 >> 31; - $257 = HEAP32[$pMem>>2]|0; - $258 = $257; - $259 = $258; - HEAP32[$259>>2] = $254; - $260 = (($258) + 4)|0; - $261 = $260; - HEAP32[$261>>2] = $256; - $262 = HEAP32[$pMem>>2]|0; - $263 = ((($262)) + 40|0); - HEAP32[$pMem>>2] = $263; - $264 = HEAP32[$pMem>>2]|0; - $265 = (_sqlite3VdbeMemClearAndResize($264,100)|0); - $266 = ($265|0)!=(0); - if ($266) { - HEAP32[$0>>2] = 1; - $343 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($343|0); - } - $267 = HEAP32[$pMem>>2]|0; - $268 = ((($267)) + 8|0); - HEAP16[$268>>1] = 514; - $269 = HEAP32[$pOp>>2]|0; - $270 = HEAP32[$pMem>>2]|0; - $271 = ((($270)) + 16|0); - $272 = HEAP32[$271>>2]|0; - $273 = HEAP32[$pMem>>2]|0; - $274 = ((($273)) + 24|0); - $275 = HEAP32[$274>>2]|0; - $276 = (_displayP4($269,$272,$275)|0); - HEAP32[$zP4>>2] = $276; - $277 = HEAP32[$zP4>>2]|0; - $278 = HEAP32[$pMem>>2]|0; - $279 = ((($278)) + 16|0); - $280 = HEAP32[$279>>2]|0; - $281 = ($277|0)!=($280|0); - $282 = HEAP32[$pMem>>2]|0; - if ($281) { - $283 = ((($282)) + 12|0); - HEAP32[$283>>2] = 0; - $284 = HEAP32[$pMem>>2]|0; - $285 = HEAP32[$zP4>>2]|0; - (_sqlite3VdbeMemSetStr($284,$285,-1,1,0)|0); - } else { - $286 = ((($282)) + 16|0); - $287 = HEAP32[$286>>2]|0; - $288 = (_sqlite3Strlen30($287)|0); - $289 = HEAP32[$pMem>>2]|0; - $290 = ((($289)) + 12|0); - HEAP32[$290>>2] = $288; - $291 = HEAP32[$pMem>>2]|0; - $292 = ((($291)) + 10|0); - HEAP8[$292>>0] = 1; + HEAP32[$3>>2] = 7; + $517 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($517|0); + } + } while(0); + $129 = HEAP32[$38>>2]|0; + $130 = HEAP32[$40>>2]|0; + $131 = (($130) + 1)|0; + $132 = $131<<2; + $133 = (_sqlite3DbMallocRawNN($129,$132,0)|0); + HEAP32[$41>>2] = $133; + $134 = HEAP32[$41>>2]|0; + $135 = ($134|0)!=(0|0); + if ($135) { + $136 = HEAP32[$40>>2]|0; + $137 = HEAP32[$41>>2]|0; + HEAP32[$137>>2] = $136; + HEAP32[$7>>2] = 1; + $138 = HEAP32[$39>>2]|0; + $139 = ((($138)) + 4|0); + $140 = HEAP32[$139>>2]|0; + HEAP32[$46>>2] = $140; + while(1) { + $141 = HEAP32[$7>>2]|0; + $142 = HEAP32[$40>>2]|0; + $143 = ($141|0)<=($142|0); + if (!($143)) { + break; } - $293 = HEAP32[$pMem>>2]|0; - $294 = ((($293)) + 40|0); - HEAP32[$pMem>>2] = $294; - $295 = HEAP32[$1>>2]|0; - $296 = ((($295)) + 144|0); - $297 = HEAP16[$296>>1]|0; - $298 = ($297&65535) >>> 2; - $299 = $298 & 3; - $300 = $299&65535; - $301 = ($300|0)==(1); - do { - if ($301) { - $302 = HEAP32[$pMem>>2]|0; - $303 = (_sqlite3VdbeMemClearAndResize($302,4)|0); - $304 = ($303|0)!=(0); - if (!($304)) { - $305 = HEAP32[$pMem>>2]|0; - $306 = ((($305)) + 8|0); - HEAP16[$306>>1] = 514; - $307 = HEAP32[$pMem>>2]|0; - $308 = ((($307)) + 12|0); - HEAP32[$308>>2] = 2; - $309 = HEAP32[$pMem>>2]|0; - $310 = ((($309)) + 16|0); - $311 = HEAP32[$310>>2]|0; - $312 = HEAP32[$pOp>>2]|0; - $313 = ((($312)) + 3|0); - $314 = HEAP8[$313>>0]|0; - $315 = $314&255; - HEAP32[$vararg_buffer2>>2] = $315; - (_sqlite3_snprintf(3,$311,41910,$vararg_buffer2)|0); - $316 = HEAP32[$pMem>>2]|0; - $317 = ((($316)) + 10|0); - HEAP8[$317>>0] = 1; - $318 = HEAP32[$pMem>>2]|0; - $319 = ((($318)) + 40|0); - HEAP32[$pMem>>2] = $319; - $320 = HEAP32[$pMem>>2]|0; - $321 = ((($320)) + 8|0); - HEAP16[$321>>1] = 1; - break; + $144 = HEAP32[$46>>2]|0; + $145 = ((($144)) + 16|0); + $146 = HEAP16[$145>>1]|0; + $147 = $146&65535; + $148 = (($147) - 1)|0; + $149 = HEAP32[$41>>2]|0; + $150 = HEAP32[$7>>2]|0; + $151 = (($149) + ($150<<2)|0); + HEAP32[$151>>2] = $148; + $152 = HEAP32[$7>>2]|0; + $153 = (($152) + 1)|0; + HEAP32[$7>>2] = $153; + $154 = HEAP32[$46>>2]|0; + $155 = ((($154)) + 20|0); + HEAP32[$46>>2] = $155; + } + $156 = HEAP32[$4>>2]|0; + $157 = HEAP32[$5>>2]|0; + $158 = (_multiSelectOrderByKeyInfo($156,$157,1)|0); + HEAP32[$37>>2] = $158; + } else { + HEAP32[$37>>2] = 0; + } + $159 = HEAP32[$39>>2]|0; + $160 = HEAP32[$5>>2]|0; + $161 = ((($160)) + 44|0); + HEAP32[$161>>2] = $159; + $162 = HEAP32[$4>>2]|0; + $163 = HEAP32[$162>>2]|0; + $164 = HEAP32[$39>>2]|0; + $165 = (_sqlite3ExprListDup($163,$164,0)|0); + $166 = HEAP32[$9>>2]|0; + $167 = ((($166)) + 44|0); + HEAP32[$167>>2] = $165; + $168 = HEAP32[$35>>2]|0; + $169 = ($168|0)==(116); + L28: do { + if ($169) { + HEAP32[$29>>2] = 0; + } else { + $170 = HEAP32[$5>>2]|0; + $171 = HEAP32[$170>>2]|0; + $172 = HEAP32[$171>>2]|0; + HEAP32[$47>>2] = $172; + $173 = HEAP32[$4>>2]|0; + $174 = ((($173)) + 44|0); + $175 = HEAP32[$174>>2]|0; + $176 = (($175) + 1)|0; + HEAP32[$29>>2] = $176; + $177 = HEAP32[$47>>2]|0; + $178 = (($177) + 1)|0; + $179 = HEAP32[$4>>2]|0; + $180 = ((($179)) + 44|0); + $181 = HEAP32[$180>>2]|0; + $182 = (($181) + ($178))|0; + HEAP32[$180>>2] = $182; + $183 = HEAP32[$10>>2]|0; + $184 = HEAP32[$29>>2]|0; + (_sqlite3VdbeAddOp2($183,76,0,$184)|0); + $185 = HEAP32[$38>>2]|0; + $186 = HEAP32[$47>>2]|0; + $187 = (_sqlite3KeyInfoAlloc($185,$186,1)|0); + HEAP32[$36>>2] = $187; + $188 = HEAP32[$36>>2]|0; + $189 = ($188|0)!=(0|0); + if ($189) { + HEAP32[$7>>2] = 0; + while(1) { + $190 = HEAP32[$7>>2]|0; + $191 = HEAP32[$47>>2]|0; + $192 = ($190|0)<($191|0); + if (!($192)) { + break L28; } - HEAP32[$0>>2] = 1; - $343 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($343|0); + $193 = HEAP32[$4>>2]|0; + $194 = HEAP32[$5>>2]|0; + $195 = HEAP32[$7>>2]|0; + $196 = (_multiSelectCollSeq($193,$194,$195)|0); + $197 = HEAP32[$36>>2]|0; + $198 = ((($197)) + 20|0); + $199 = HEAP32[$7>>2]|0; + $200 = (($198) + ($199<<2)|0); + HEAP32[$200>>2] = $196; + $201 = HEAP32[$36>>2]|0; + $202 = ((($201)) + 16|0); + $203 = HEAP32[$202>>2]|0; + $204 = HEAP32[$7>>2]|0; + $205 = (($203) + ($204)|0); + HEAP8[$205>>0] = 0; + $206 = HEAP32[$7>>2]|0; + $207 = (($206) + 1)|0; + HEAP32[$7>>2] = $207; } - } while(0); - $322 = HEAP32[$1>>2]|0; - $323 = ((($322)) + 144|0); - $324 = HEAP16[$323>>1]|0; - $325 = ($324&65535) >>> 2; - $326 = $325 & 3; - $327 = $326&65535; - $328 = (($327) - 1)|0; - $329 = $328<<2; - $330 = (8 - ($329))|0; - $331 = $330&65535; - $332 = HEAP32[$1>>2]|0; - $333 = ((($332)) + 140|0); - HEAP16[$333>>1] = $331; - $334 = HEAP32[$1>>2]|0; - $335 = ((($334)) + 92|0); - $336 = HEAP32[$335>>2]|0; - $337 = ((($336)) + 40|0); - $338 = HEAP32[$1>>2]|0; - $339 = ((($338)) + 104|0); - HEAP32[$339>>2] = $337; - $340 = HEAP32[$1>>2]|0; - $341 = ((($340)) + 40|0); - HEAP32[$341>>2] = 0; - HEAP32[$rc>>2] = 100; + } } } while(0); - $342 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $342; - $343 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($343|0); -} -function _sqlite3VdbeExec($p) { - $p = $p|0; - var $$old = 0, $$old27 = 0, $0 = 0, $1 = 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, $1011 = 0, $1012 = 0; - var $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, $103 = 0, $1030 = 0; - var $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, $1048 = 0, $1049 = 0; - var $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, $1066 = 0, $1067 = 0; - var $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, $1084 = 0, $1085 = 0; - var $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0; - var $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0; - var $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0.0, $1138 = 0, $1139 = 0.0; - var $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0.0, $1144 = 0.0, $1145 = 0.0, $1146 = 0.0, $1147 = 0.0, $1148 = 0.0, $1149 = 0.0, $115 = 0, $1150 = 0.0, $1151 = 0.0, $1152 = 0.0, $1153 = 0, $1154 = 0.0, $1155 = 0.0, $1156 = 0.0, $1157 = 0.0; - var $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0.0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0; - var $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0; - var $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0.0, $1208 = 0.0, $1209 = 0, $121 = 0, $1210 = 0; - var $1211 = 0.0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0; - var $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0; - var $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0; - var $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0; - var $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0; - var $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0; - var $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0; - var $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0; - var $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0; - var $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0; - var $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0; - var $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0; - var $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0; - var $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0; - var $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0; - var $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0; - var $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0; - var $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0; - var $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0; - var $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0; - var $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0; - var $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0; - var $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0; - var $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0; - var $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0; - var $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0; - var $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0; - var $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0; - var $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0; - var $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0; - var $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0; - var $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0; - var $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0; - var $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0; - var $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0; - var $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0; - var $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0; - var $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0; - var $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0; - var $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0; - var $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0; - var $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0; - var $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0; - var $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0; - var $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0; - var $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0; - var $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0; - var $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0; - var $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0; - var $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0; - var $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0; - var $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0; - var $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0; - var $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0; - var $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0; - var $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0; - var $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0; - var $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0.0, $2253 = 0, $2254 = 0, $2255 = 0; - var $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0; - var $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0; - var $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0; - var $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0; - var $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0; - var $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0; - var $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0; - var $2382 = 0, $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0; - var $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0; - var $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0; - var $2436 = 0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0; - var $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0; - var $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0; - var $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0; - var $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0; - var $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0; - var $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0; - var $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0; - var $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0; - var $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0; - var $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0; - var $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0; - var $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0; - var $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0; - var $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0; - var $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0; - var $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0; - var $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0; - var $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0; - var $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0; - var $2797 = 0, $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0; - var $2814 = 0, $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0; - var $2832 = 0, $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0; - var $2850 = 0, $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0; - var $2869 = 0, $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0; - var $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0; - var $2904 = 0, $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0; - var $2922 = 0, $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0; - var $2940 = 0, $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0; - var $2959 = 0, $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0; - var $2977 = 0, $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0; - var $2995 = 0, $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0; - var $3011 = 0, $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0; - var $303 = 0, $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0, $3046 = 0, $3047 = 0; - var $3048 = 0, $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0; - var $3066 = 0, $3067 = 0, $3068 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0, $3081 = 0, $3082 = 0, $3083 = 0; - var $3084 = 0, $3085 = 0, $3086 = 0, $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $310 = 0, $3100 = 0; - var $3101 = 0, $3102 = 0, $3103 = 0, $3104 = 0, $3105 = 0, $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0, $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0; - var $312 = 0, $3120 = 0, $3121 = 0, $3122 = 0, $3123 = 0, $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0, $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0, $3135 = 0, $3136 = 0, $3137 = 0; - var $3138 = 0, $3139 = 0, $314 = 0, $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0, $3155 = 0; - var $3156 = 0, $3157 = 0, $3158 = 0, $3159 = 0, $316 = 0, $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0, $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0, $3171 = 0, $3172 = 0, $3173 = 0; - var $3174 = 0, $3175 = 0, $3176 = 0, $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0; - var $3192 = 0, $3193 = 0, $3194 = 0, $3195 = 0, $3196 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0, $3207 = 0, $3208 = 0, $3209 = 0; - var $321 = 0, $3210 = 0, $3211 = 0, $3212 = 0, $3213 = 0, $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0, $3225 = 0, $3226 = 0, $3227 = 0; - var $3228 = 0, $3229 = 0, $323 = 0, $3230 = 0, $3231 = 0, $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0, $3243 = 0, $3244 = 0, $3245 = 0; - var $3246 = 0, $3247 = 0, $3248 = 0, $3249 = 0, $325 = 0, $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0, $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0; - var $3264 = 0, $3265 = 0, $3266 = 0, $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0, $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0, $328 = 0, $3280 = 0, $3281 = 0; - var $3282 = 0, $3283 = 0, $3284 = 0, $3285 = 0, $3286 = 0, $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $33 = 0; - var $330 = 0, $3300 = 0, $3301 = 0, $3302 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0, $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3316 = 0, $3317 = 0; - var $3318 = 0, $3319 = 0, $332 = 0, $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0, $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3334 = 0, $3335 = 0; - var $3336 = 0, $3337 = 0, $3338 = 0, $3339 = 0, $334 = 0, $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0, $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0, $3351 = 0, $3352 = 0, $3353 = 0; - var $3354 = 0, $3355 = 0, $3356 = 0, $3357 = 0, $3358 = 0, $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0, $337 = 0, $3370 = 0, $3371 = 0; - var $3372 = 0, $3373 = 0, $3374 = 0, $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0, $3388 = 0, $3389 = 0, $339 = 0; - var $3390 = 0, $3391 = 0, $3392 = 0, $3393 = 0, $3394 = 0, $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0, $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0; - var $3408 = 0, $3409 = 0, $341 = 0, $3410 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0, $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0, $3423 = 0, $3424 = 0, $3425 = 0; - var $3426 = 0, $3427 = 0, $3428 = 0, $3429 = 0, $343 = 0, $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0, $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0, $3441 = 0, $3442 = 0, $3443 = 0; - var $3444 = 0, $3445 = 0, $3446 = 0, $3447 = 0, $3448 = 0, $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3460 = 0, $3461 = 0; - var $3462 = 0, $3463 = 0, $3464 = 0, $3465 = 0, $3466 = 0, $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $348 = 0; - var $3480 = 0, $3481 = 0, $3482 = 0, $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0, $3496 = 0, $3497 = 0, $3498 = 0; - var $3499 = 0, $35 = 0, $350 = 0, $3500 = 0, $3501 = 0, $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0, $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0, $3513 = 0, $3514 = 0, $3515 = 0; - var $3516 = 0, $3517 = 0, $3518 = 0, $3519 = 0, $352 = 0, $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0, $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0, $3531 = 0, $3532 = 0, $3533 = 0; - var $3534 = 0, $3535 = 0, $3536 = 0, $3537 = 0, $3538 = 0, $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0, $355 = 0, $3550 = 0, $3551 = 0; - var $3552 = 0, $3553 = 0, $3554 = 0, $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0; - var $3570 = 0, $3571 = 0, $3572 = 0, $3573 = 0, $3574 = 0, $3575 = 0, $3576 = 0, $3577 = 0, $3578 = 0, $3579 = 0, $358 = 0, $3580 = 0, $3581 = 0, $3582 = 0, $3583 = 0, $3584 = 0, $3585 = 0, $3586 = 0, $3587 = 0, $3588 = 0; - var $3589 = 0, $359 = 0, $3590 = 0, $3591 = 0, $3592 = 0, $3593 = 0, $3594 = 0, $3595 = 0, $3596 = 0, $3597 = 0, $3598 = 0, $3599 = 0, $36 = 0, $360 = 0, $3600 = 0, $3601 = 0, $3602 = 0, $3603 = 0, $3604 = 0, $3605 = 0; - var $3606 = 0, $3607 = 0, $3608 = 0, $3609 = 0, $361 = 0, $3610 = 0, $3611 = 0, $3612 = 0, $3613 = 0, $3614 = 0, $3615 = 0, $3616 = 0, $3617 = 0, $3618 = 0, $3619 = 0, $362 = 0, $3620 = 0, $3621 = 0, $3622 = 0, $3623 = 0; - var $3624 = 0, $3625 = 0, $3626 = 0, $3627 = 0, $3628 = 0, $3629 = 0, $363 = 0, $3630 = 0, $3631 = 0, $3632 = 0, $3633 = 0, $3634 = 0, $3635 = 0, $3636 = 0, $3637 = 0, $3638 = 0, $3639 = 0, $364 = 0, $3640 = 0, $3641 = 0; - var $3642 = 0, $3643 = 0, $3644 = 0, $3645 = 0, $3646 = 0, $3647 = 0, $3648 = 0, $3649 = 0, $365 = 0, $3650 = 0, $3651 = 0, $3652 = 0, $3653 = 0, $3654 = 0, $3655 = 0, $3656 = 0, $3657 = 0, $3658 = 0, $3659 = 0, $366 = 0; - var $3660 = 0, $3661 = 0, $3662 = 0, $3663 = 0, $3664 = 0, $3665 = 0, $3666 = 0, $3667 = 0, $3668 = 0, $3669 = 0, $367 = 0, $3670 = 0, $3671 = 0, $3672 = 0, $3673 = 0, $3674 = 0, $3675 = 0, $3676 = 0, $3677 = 0, $3678 = 0; - var $3679 = 0, $368 = 0, $3680 = 0, $3681 = 0, $3682 = 0, $3683 = 0, $3684 = 0, $3685 = 0, $3686 = 0, $3687 = 0, $3688 = 0, $3689 = 0, $369 = 0, $3690 = 0, $3691 = 0, $3692 = 0, $3693 = 0, $3694 = 0, $3695 = 0, $3696 = 0; - var $3697 = 0, $3698 = 0, $3699 = 0, $37 = 0, $370 = 0, $3700 = 0, $3701 = 0, $3702 = 0, $3703 = 0, $3704 = 0, $3705 = 0, $3706 = 0, $3707 = 0, $3708 = 0, $3709 = 0, $371 = 0, $3710 = 0, $3711 = 0, $3712 = 0, $3713 = 0; - var $3714 = 0, $3715 = 0, $3716 = 0, $3717 = 0, $3718 = 0, $3719 = 0, $372 = 0, $3720 = 0, $3721 = 0, $3722 = 0, $3723 = 0, $3724 = 0, $3725 = 0, $3726 = 0, $3727 = 0, $3728 = 0, $3729 = 0, $373 = 0, $3730 = 0, $3731 = 0; - var $3732 = 0, $3733 = 0, $3734 = 0, $3735 = 0, $3736 = 0, $3737 = 0, $3738 = 0, $3739 = 0, $374 = 0, $3740 = 0, $3741 = 0, $3742 = 0, $3743 = 0, $3744 = 0, $3745 = 0, $3746 = 0, $3747 = 0, $3748 = 0, $3749 = 0, $375 = 0; - var $3750 = 0, $3751 = 0, $3752 = 0, $3753 = 0, $3754 = 0, $3755 = 0, $3756 = 0, $3757 = 0, $3758 = 0, $3759 = 0, $376 = 0, $3760 = 0, $3761 = 0, $3762 = 0, $3763 = 0, $3764 = 0, $3765 = 0, $3766 = 0, $3767 = 0, $3768 = 0; - var $3769 = 0, $377 = 0, $3770 = 0, $3771 = 0, $3772 = 0, $3773 = 0, $3774 = 0, $3775 = 0, $3776 = 0, $3777 = 0, $3778 = 0, $3779 = 0, $378 = 0, $3780 = 0, $3781 = 0, $3782 = 0, $3783 = 0, $3784 = 0, $3785 = 0, $3786 = 0; - var $3787 = 0, $3788 = 0, $3789 = 0, $379 = 0, $3790 = 0, $3791 = 0, $3792 = 0, $3793 = 0, $3794 = 0, $3795 = 0, $3796 = 0, $3797 = 0, $3798 = 0, $3799 = 0, $38 = 0, $380 = 0, $3800 = 0, $3801 = 0, $3802 = 0, $3803 = 0; - var $3804 = 0, $3805 = 0, $3806 = 0, $3807 = 0, $3808 = 0, $3809 = 0, $381 = 0, $3810 = 0, $3811 = 0, $3812 = 0, $3813 = 0, $3814 = 0, $3815 = 0, $3816 = 0, $3817 = 0, $3818 = 0, $3819 = 0, $382 = 0, $3820 = 0, $3821 = 0; - var $3822 = 0, $3823 = 0, $3824 = 0, $3825 = 0, $3826 = 0, $3827 = 0, $3828 = 0, $3829 = 0, $383 = 0, $3830 = 0, $3831 = 0, $3832 = 0, $3833 = 0, $3834 = 0, $3835 = 0, $3836 = 0, $3837 = 0, $3838 = 0, $3839 = 0, $384 = 0; - var $3840 = 0, $3841 = 0, $3842 = 0, $3843 = 0, $3844 = 0, $3845 = 0, $3846 = 0, $3847 = 0, $3848 = 0, $3849 = 0, $385 = 0, $3850 = 0, $3851 = 0, $3852 = 0, $3853 = 0, $3854 = 0, $3855 = 0, $3856 = 0, $3857 = 0, $3858 = 0; - var $3859 = 0, $386 = 0, $3860 = 0, $3861 = 0, $3862 = 0, $3863 = 0, $3864 = 0, $3865 = 0, $3866 = 0, $3867 = 0, $3868 = 0, $3869 = 0, $387 = 0, $3870 = 0, $3871 = 0, $3872 = 0, $3873 = 0, $3874 = 0, $3875 = 0, $3876 = 0; - var $3877 = 0, $3878 = 0, $3879 = 0, $388 = 0, $3880 = 0, $3881 = 0, $3882 = 0, $3883 = 0, $3884 = 0, $3885 = 0, $3886 = 0, $3887 = 0, $3888 = 0, $3889 = 0, $389 = 0, $3890 = 0, $3891 = 0, $3892 = 0, $3893 = 0, $3894 = 0; - var $3895 = 0, $3896 = 0, $3897 = 0, $3898 = 0, $3899 = 0, $39 = 0, $390 = 0, $3900 = 0, $3901 = 0, $3902 = 0, $3903 = 0, $3904 = 0, $3905 = 0, $3906 = 0, $3907 = 0, $3908 = 0, $3909 = 0, $391 = 0, $3910 = 0, $3911 = 0; - var $3912 = 0, $3913 = 0, $3914 = 0, $3915 = 0, $3916 = 0, $3917 = 0, $3918 = 0, $3919 = 0, $392 = 0, $3920 = 0, $3921 = 0, $3922 = 0, $3923 = 0, $3924 = 0, $3925 = 0, $3926 = 0, $3927 = 0, $3928 = 0, $3929 = 0, $393 = 0; - var $3930 = 0, $3931 = 0, $3932 = 0, $3933 = 0, $3934 = 0, $3935 = 0, $3936 = 0, $3937 = 0, $3938 = 0, $3939 = 0, $394 = 0, $3940 = 0, $3941 = 0, $3942 = 0, $3943 = 0, $3944 = 0, $3945 = 0, $3946 = 0, $3947 = 0, $3948 = 0; - var $3949 = 0, $395 = 0, $3950 = 0, $3951 = 0, $3952 = 0, $3953 = 0, $3954 = 0, $3955 = 0, $3956 = 0, $3957 = 0, $3958 = 0, $3959 = 0, $396 = 0, $3960 = 0, $3961 = 0, $3962 = 0, $3963 = 0, $3964 = 0, $3965 = 0, $3966 = 0; - var $3967 = 0, $3968 = 0, $3969 = 0, $397 = 0, $3970 = 0, $3971 = 0, $3972 = 0, $3973 = 0, $3974 = 0, $3975 = 0, $3976 = 0, $3977 = 0, $3978 = 0, $3979 = 0, $398 = 0, $3980 = 0, $3981 = 0, $3982 = 0, $3983 = 0, $3984 = 0; - var $3985 = 0, $3986 = 0, $3987 = 0, $3988 = 0, $3989 = 0, $399 = 0, $3990 = 0, $3991 = 0, $3992 = 0, $3993 = 0, $3994 = 0, $3995 = 0, $3996 = 0, $3997 = 0, $3998 = 0, $3999 = 0, $4 = 0, $40 = 0, $400 = 0, $4000 = 0; - var $4001 = 0, $4002 = 0, $4003 = 0, $4004 = 0, $4005 = 0, $4006 = 0, $4007 = 0, $4008 = 0, $4009 = 0, $401 = 0, $4010 = 0, $4011 = 0, $4012 = 0, $4013 = 0, $4014 = 0, $4015 = 0, $4016 = 0, $4017 = 0, $4018 = 0, $4019 = 0; - var $402 = 0, $4020 = 0, $4021 = 0, $4022 = 0, $4023 = 0, $4024 = 0, $4025 = 0.0, $4026 = 0, $4027 = 0, $4028 = 0, $4029 = 0, $403 = 0, $4030 = 0, $4031 = 0, $4032 = 0.0, $4033 = 0, $4034 = 0, $4035 = 0, $4036 = 0, $4037 = 0; - var $4038 = 0, $4039 = 0, $404 = 0, $4040 = 0.0, $4041 = 0, $4042 = 0, $4043 = 0, $4044 = 0, $4045 = 0, $4046 = 0, $4047 = 0.0, $4048 = 0, $4049 = 0, $405 = 0.0, $4050 = 0, $4051 = 0, $4052 = 0, $4053 = 0, $4054 = 0, $4055 = 0; - var $4056 = 0, $4057 = 0, $4058 = 0, $4059 = 0, $406 = 0, $4060 = 0, $4061 = 0, $4062 = 0, $4063 = 0, $4064 = 0, $4065 = 0, $4066 = 0, $4067 = 0, $4068 = 0, $4069 = 0, $407 = 0, $4070 = 0, $4071 = 0, $4072 = 0, $4073 = 0; - var $4074 = 0, $4075 = 0, $4076 = 0, $4077 = 0, $4078 = 0, $4079 = 0, $408 = 0, $4080 = 0, $4081 = 0, $4082 = 0, $4083 = 0, $4084 = 0, $4085 = 0, $4086 = 0, $4087 = 0, $4088 = 0, $4089 = 0, $409 = 0, $4090 = 0, $4091 = 0; - var $4092 = 0, $4093 = 0, $4094 = 0, $4095 = 0, $4096 = 0, $4097 = 0, $4098 = 0, $4099 = 0, $41 = 0, $410 = 0, $4100 = 0, $4101 = 0, $4102 = 0, $4103 = 0, $4104 = 0, $4105 = 0, $4106 = 0, $4107 = 0, $4108 = 0, $4109 = 0; - var $411 = 0, $4110 = 0, $4111 = 0, $4112 = 0, $4113 = 0, $4114 = 0, $4115 = 0, $4116 = 0, $4117 = 0, $4118 = 0, $4119 = 0, $412 = 0, $4120 = 0, $4121 = 0, $4122 = 0, $4123 = 0, $4124 = 0, $4125 = 0, $4126 = 0, $4127 = 0; - var $4128 = 0, $4129 = 0, $413 = 0, $4130 = 0, $4131 = 0, $4132 = 0, $4133 = 0, $4134 = 0, $4135 = 0, $4136 = 0, $4137 = 0, $4138 = 0, $4139 = 0, $414 = 0, $4140 = 0, $4141 = 0, $4142 = 0, $4143 = 0, $4144 = 0, $4145 = 0; - var $4146 = 0, $4147 = 0, $4148 = 0, $4149 = 0, $415 = 0, $4150 = 0, $4151 = 0, $4152 = 0, $4153 = 0, $4154 = 0, $4155 = 0, $4156 = 0, $4157 = 0, $4158 = 0, $4159 = 0, $416 = 0, $4160 = 0, $4161 = 0, $4162 = 0, $4163 = 0; - var $4164 = 0, $4165 = 0, $4166 = 0, $4167 = 0, $4168 = 0, $4169 = 0, $417 = 0, $4170 = 0, $4171 = 0, $4172 = 0, $4173 = 0, $4174 = 0, $4175 = 0, $4176 = 0, $4177 = 0, $4178 = 0, $4179 = 0, $418 = 0, $4180 = 0, $4181 = 0; - var $4182 = 0, $4183 = 0, $4184 = 0, $4185 = 0, $4186 = 0, $4187 = 0, $4188 = 0, $4189 = 0, $419 = 0, $4190 = 0, $4191 = 0, $4192 = 0, $4193 = 0, $4194 = 0, $4195 = 0, $4196 = 0, $4197 = 0, $4198 = 0, $4199 = 0, $42 = 0; - var $420 = 0, $4200 = 0, $4201 = 0, $4202 = 0, $4203 = 0, $4204 = 0, $4205 = 0, $4206 = 0, $4207 = 0, $4208 = 0, $4209 = 0, $421 = 0, $4210 = 0, $4211 = 0, $4212 = 0, $4213 = 0, $4214 = 0, $4215 = 0, $4216 = 0, $4217 = 0; - var $4218 = 0, $4219 = 0, $422 = 0, $4220 = 0, $4221 = 0, $4222 = 0, $4223 = 0, $4224 = 0, $4225 = 0, $4226 = 0, $4227 = 0, $4228 = 0, $4229 = 0, $423 = 0, $4230 = 0, $4231 = 0, $4232 = 0, $4233 = 0, $4234 = 0, $4235 = 0; - var $4236 = 0, $4237 = 0, $4238 = 0, $4239 = 0, $424 = 0, $4240 = 0, $4241 = 0, $4242 = 0, $4243 = 0, $4244 = 0, $4245 = 0, $4246 = 0, $4247 = 0, $4248 = 0, $4249 = 0, $425 = 0, $4250 = 0, $4251 = 0, $4252 = 0, $4253 = 0; - var $4254 = 0, $4255 = 0, $4256 = 0, $4257 = 0, $4258 = 0, $4259 = 0, $426 = 0, $4260 = 0, $4261 = 0, $4262 = 0, $4263 = 0, $4264 = 0, $4265 = 0, $4266 = 0, $4267 = 0, $4268 = 0, $4269 = 0, $427 = 0, $4270 = 0, $4271 = 0; - var $4272 = 0, $4273 = 0, $4274 = 0, $4275 = 0, $4276 = 0, $4277 = 0, $4278 = 0, $4279 = 0, $428 = 0, $4280 = 0, $4281 = 0, $4282 = 0, $4283 = 0, $4284 = 0, $4285 = 0, $4286 = 0, $4287 = 0, $4288 = 0, $4289 = 0, $429 = 0; - var $4290 = 0, $4291 = 0, $4292 = 0, $4293 = 0, $4294 = 0, $4295 = 0, $4296 = 0, $4297 = 0, $4298 = 0, $4299 = 0, $43 = 0, $430 = 0, $4300 = 0, $4301 = 0, $4302 = 0, $4303 = 0, $4304 = 0, $4305 = 0, $4306 = 0, $4307 = 0; - var $4308 = 0, $4309 = 0, $431 = 0, $4310 = 0, $4311 = 0, $4312 = 0, $4313 = 0, $4314 = 0, $4315 = 0, $4316 = 0, $4317 = 0, $4318 = 0, $4319 = 0, $432 = 0, $4320 = 0, $4321 = 0, $4322 = 0, $4323 = 0, $4324 = 0, $4325 = 0; - var $4326 = 0, $4327 = 0, $4328 = 0, $4329 = 0, $433 = 0, $4330 = 0, $4331 = 0, $4332 = 0, $4333 = 0, $4334 = 0, $4335 = 0, $4336 = 0, $4337 = 0, $4338 = 0, $4339 = 0, $434 = 0, $4340 = 0, $4341 = 0, $4342 = 0, $4343 = 0; - var $4344 = 0, $4345 = 0, $4346 = 0, $4347 = 0, $4348 = 0, $4349 = 0, $435 = 0, $4350 = 0, $4351 = 0, $4352 = 0, $4353 = 0, $4354 = 0, $4355 = 0, $4356 = 0, $4357 = 0, $4358 = 0, $4359 = 0, $436 = 0, $4360 = 0, $4361 = 0; - var $4362 = 0, $4363 = 0, $4364 = 0, $4365 = 0, $4366 = 0, $4367 = 0, $4368 = 0, $4369 = 0, $437 = 0, $4370 = 0, $4371 = 0, $4372 = 0, $4373 = 0, $4374 = 0, $4375 = 0, $4376 = 0, $4377 = 0, $4378 = 0, $4379 = 0, $438 = 0; - var $4380 = 0, $4381 = 0, $4382 = 0, $4383 = 0, $4384 = 0, $4385 = 0, $4386 = 0, $4387 = 0, $4388 = 0, $4389 = 0, $439 = 0, $4390 = 0, $4391 = 0, $4392 = 0, $4393 = 0, $4394 = 0, $4395 = 0, $4396 = 0, $4397 = 0, $4398 = 0; - var $4399 = 0, $44 = 0, $440 = 0, $4400 = 0, $4401 = 0, $4402 = 0, $4403 = 0, $4404 = 0, $4405 = 0, $4406 = 0, $4407 = 0, $4408 = 0, $4409 = 0, $441 = 0, $4410 = 0, $4411 = 0, $4412 = 0, $4413 = 0, $4414 = 0, $4415 = 0; - var $4416 = 0, $4417 = 0, $4418 = 0, $4419 = 0, $442 = 0, $4420 = 0, $4421 = 0, $4422 = 0, $4423 = 0, $4424 = 0, $4425 = 0, $4426 = 0, $4427 = 0, $4428 = 0, $4429 = 0, $443 = 0, $4430 = 0, $4431 = 0, $4432 = 0, $4433 = 0; - var $4434 = 0, $4435 = 0, $4436 = 0, $4437 = 0, $4438 = 0, $4439 = 0, $444 = 0, $4440 = 0, $4441 = 0, $4442 = 0, $4443 = 0, $4444 = 0, $4445 = 0, $4446 = 0, $4447 = 0, $4448 = 0, $4449 = 0, $445 = 0, $4450 = 0, $4451 = 0; - var $4452 = 0, $4453 = 0, $4454 = 0, $4455 = 0, $4456 = 0, $4457 = 0, $4458 = 0, $4459 = 0, $446 = 0, $4460 = 0, $4461 = 0, $4462 = 0, $4463 = 0, $4464 = 0, $4465 = 0, $4466 = 0, $4467 = 0, $4468 = 0, $4469 = 0, $447 = 0; - var $4470 = 0, $4471 = 0, $4472 = 0, $4473 = 0, $4474 = 0, $4475 = 0, $4476 = 0, $4477 = 0, $4478 = 0, $4479 = 0, $448 = 0, $4480 = 0, $4481 = 0, $4482 = 0, $4483 = 0, $4484 = 0, $4485 = 0, $4486 = 0, $4487 = 0, $4488 = 0; - var $4489 = 0, $449 = 0, $4490 = 0, $4491 = 0, $4492 = 0, $4493 = 0, $4494 = 0, $4495 = 0, $4496 = 0, $4497 = 0, $4498 = 0, $4499 = 0, $45 = 0, $450 = 0, $4500 = 0, $4501 = 0, $4502 = 0, $4503 = 0, $4504 = 0, $4505 = 0; - var $4506 = 0, $4507 = 0, $4508 = 0, $4509 = 0, $451 = 0, $4510 = 0, $4511 = 0, $4512 = 0, $4513 = 0, $4514 = 0, $4515 = 0, $4516 = 0, $4517 = 0, $4518 = 0, $4519 = 0, $452 = 0, $4520 = 0, $4521 = 0, $4522 = 0, $4523 = 0; - var $4524 = 0, $4525 = 0, $4526 = 0, $4527 = 0, $4528 = 0, $4529 = 0, $453 = 0, $4530 = 0, $4531 = 0, $4532 = 0, $4533 = 0, $4534 = 0, $4535 = 0, $4536 = 0, $4537 = 0, $4538 = 0, $4539 = 0, $454 = 0, $4540 = 0, $4541 = 0; - var $4542 = 0, $4543 = 0, $4544 = 0, $4545 = 0, $4546 = 0, $4547 = 0, $4548 = 0, $4549 = 0, $455 = 0, $4550 = 0, $4551 = 0, $4552 = 0, $4553 = 0, $4554 = 0, $4555 = 0, $4556 = 0, $4557 = 0, $4558 = 0, $4559 = 0, $456 = 0; - var $4560 = 0, $4561 = 0, $4562 = 0, $4563 = 0, $4564 = 0, $4565 = 0, $4566 = 0, $4567 = 0, $4568 = 0, $4569 = 0, $457 = 0, $4570 = 0, $4571 = 0, $4572 = 0, $4573 = 0, $4574 = 0, $4575 = 0, $4576 = 0, $4577 = 0, $4578 = 0; - var $4579 = 0, $458 = 0, $4580 = 0, $4581 = 0, $4582 = 0, $4583 = 0, $4584 = 0, $4585 = 0, $4586 = 0, $4587 = 0, $4588 = 0, $4589 = 0, $459 = 0, $4590 = 0, $4591 = 0, $4592 = 0, $4593 = 0, $4594 = 0, $4595 = 0, $4596 = 0; - var $4597 = 0, $4598 = 0, $4599 = 0, $46 = 0, $460 = 0, $4600 = 0, $4601 = 0, $4602 = 0, $4603 = 0, $4604 = 0, $4605 = 0, $4606 = 0, $4607 = 0, $4608 = 0, $4609 = 0, $461 = 0, $4610 = 0, $4611 = 0, $4612 = 0, $4613 = 0; - var $4614 = 0, $4615 = 0, $4616 = 0, $4617 = 0, $4618 = 0, $4619 = 0, $462 = 0, $4620 = 0, $4621 = 0, $4622 = 0, $4623 = 0, $4624 = 0, $4625 = 0, $4626 = 0, $4627 = 0, $4628 = 0, $4629 = 0, $463 = 0, $4630 = 0, $4631 = 0; - var $4632 = 0, $4633 = 0, $4634 = 0, $4635 = 0, $4636 = 0, $4637 = 0, $4638 = 0, $4639 = 0, $464 = 0, $4640 = 0, $4641 = 0, $4642 = 0, $4643 = 0, $4644 = 0, $4645 = 0, $4646 = 0, $4647 = 0, $4648 = 0, $4649 = 0, $465 = 0; - var $4650 = 0, $4651 = 0, $4652 = 0, $4653 = 0, $4654 = 0, $4655 = 0, $4656 = 0, $4657 = 0, $4658 = 0, $4659 = 0, $466 = 0, $4660 = 0, $4661 = 0, $4662 = 0, $4663 = 0, $4664 = 0, $4665 = 0, $4666 = 0, $4667 = 0, $4668 = 0; - var $4669 = 0, $467 = 0, $4670 = 0, $4671 = 0, $4672 = 0, $4673 = 0, $4674 = 0, $4675 = 0, $4676 = 0, $4677 = 0, $4678 = 0, $4679 = 0, $468 = 0, $4680 = 0, $4681 = 0, $4682 = 0, $4683 = 0, $4684 = 0, $4685 = 0, $4686 = 0; - var $4687 = 0, $4688 = 0, $4689 = 0, $469 = 0, $4690 = 0, $4691 = 0, $4692 = 0, $4693 = 0, $4694 = 0, $4695 = 0, $4696 = 0, $4697 = 0, $4698 = 0, $4699 = 0, $47 = 0, $470 = 0, $4700 = 0, $4701 = 0, $4702 = 0, $4703 = 0; - var $4704 = 0, $4705 = 0, $4706 = 0, $4707 = 0, $4708 = 0, $4709 = 0, $471 = 0, $4710 = 0, $4711 = 0, $4712 = 0, $4713 = 0, $4714 = 0, $4715 = 0, $4716 = 0, $4717 = 0, $4718 = 0, $4719 = 0, $472 = 0, $4720 = 0, $4721 = 0; - var $4722 = 0, $4723 = 0, $4724 = 0, $4725 = 0, $4726 = 0, $4727 = 0, $4728 = 0, $4729 = 0, $473 = 0, $4730 = 0, $4731 = 0, $4732 = 0, $4733 = 0, $4734 = 0, $4735 = 0, $4736 = 0, $4737 = 0, $4738 = 0, $4739 = 0, $474 = 0; - var $4740 = 0, $4741 = 0, $4742 = 0, $4743 = 0, $4744 = 0, $4745 = 0, $4746 = 0, $4747 = 0, $4748 = 0, $4749 = 0, $475 = 0, $4750 = 0, $4751 = 0, $4752 = 0, $4753 = 0, $4754 = 0, $4755 = 0, $4756 = 0, $4757 = 0, $4758 = 0; - var $4759 = 0, $476 = 0, $4760 = 0, $4761 = 0, $4762 = 0, $4763 = 0, $4764 = 0, $4765 = 0, $4766 = 0, $4767 = 0, $4768 = 0, $4769 = 0, $477 = 0, $4770 = 0, $4771 = 0, $4772 = 0, $4773 = 0, $4774 = 0, $4775 = 0, $4776 = 0; - var $4777 = 0, $4778 = 0, $4779 = 0, $478 = 0, $4780 = 0, $4781 = 0, $4782 = 0, $4783 = 0, $4784 = 0, $4785 = 0, $4786 = 0, $4787 = 0, $4788 = 0, $4789 = 0, $479 = 0, $4790 = 0, $4791 = 0, $4792 = 0, $4793 = 0, $4794 = 0; - var $4795 = 0, $4796 = 0, $4797 = 0, $4798 = 0, $4799 = 0, $48 = 0, $480 = 0, $4800 = 0, $4801 = 0, $4802 = 0, $4803 = 0, $4804 = 0, $4805 = 0, $4806 = 0, $4807 = 0, $4808 = 0, $4809 = 0, $481 = 0, $4810 = 0, $4811 = 0; - var $4812 = 0, $4813 = 0, $4814 = 0, $4815 = 0, $4816 = 0, $4817 = 0, $4818 = 0, $4819 = 0, $482 = 0, $4820 = 0, $4821 = 0, $4822 = 0, $4823 = 0, $4824 = 0, $4825 = 0, $4826 = 0, $4827 = 0, $4828 = 0, $4829 = 0, $483 = 0; - var $4830 = 0, $4831 = 0, $4832 = 0, $4833 = 0, $4834 = 0, $4835 = 0, $4836 = 0, $4837 = 0, $4838 = 0, $4839 = 0, $484 = 0, $4840 = 0, $4841 = 0, $4842 = 0, $4843 = 0, $4844 = 0, $4845 = 0, $4846 = 0, $4847 = 0, $4848 = 0; - var $4849 = 0, $485 = 0, $4850 = 0, $4851 = 0, $4852 = 0, $4853 = 0, $4854 = 0, $4855 = 0, $4856 = 0, $4857 = 0, $4858 = 0, $4859 = 0, $486 = 0, $4860 = 0, $4861 = 0, $4862 = 0, $4863 = 0, $4864 = 0, $4865 = 0, $4866 = 0; - var $4867 = 0, $4868 = 0, $4869 = 0, $487 = 0, $4870 = 0, $4871 = 0, $4872 = 0, $4873 = 0, $4874 = 0, $4875 = 0, $4876 = 0, $4877 = 0, $4878 = 0, $4879 = 0, $488 = 0, $4880 = 0, $4881 = 0, $4882 = 0, $4883 = 0, $4884 = 0; - var $4885 = 0, $4886 = 0, $4887 = 0, $4888 = 0, $4889 = 0, $489 = 0, $4890 = 0, $4891 = 0, $4892 = 0, $4893 = 0, $4894 = 0, $4895 = 0, $4896 = 0, $4897 = 0, $4898 = 0, $4899 = 0, $49 = 0, $490 = 0, $4900 = 0, $4901 = 0; - var $4902 = 0, $4903 = 0, $4904 = 0, $4905 = 0, $4906 = 0, $4907 = 0, $4908 = 0, $4909 = 0, $491 = 0, $4910 = 0, $4911 = 0, $4912 = 0, $4913 = 0, $4914 = 0, $4915 = 0, $4916 = 0, $4917 = 0, $4918 = 0, $4919 = 0, $492 = 0; - var $4920 = 0, $4921 = 0, $4922 = 0, $4923 = 0, $4924 = 0, $4925 = 0, $4926 = 0, $4927 = 0, $4928 = 0, $4929 = 0, $493 = 0, $4930 = 0, $4931 = 0, $4932 = 0, $4933 = 0, $4934 = 0, $4935 = 0, $4936 = 0, $4937 = 0, $4938 = 0; - var $4939 = 0, $494 = 0, $4940 = 0, $4941 = 0, $4942 = 0, $4943 = 0, $4944 = 0, $4945 = 0, $4946 = 0, $4947 = 0, $4948 = 0, $4949 = 0, $495 = 0, $4950 = 0, $4951 = 0, $4952 = 0, $4953 = 0, $4954 = 0, $4955 = 0, $4956 = 0; - var $4957 = 0, $4958 = 0, $4959 = 0, $496 = 0, $4960 = 0, $4961 = 0, $4962 = 0, $4963 = 0, $4964 = 0, $4965 = 0, $4966 = 0, $4967 = 0, $4968 = 0, $4969 = 0, $497 = 0, $4970 = 0, $4971 = 0, $4972 = 0, $4973 = 0, $4974 = 0; - var $4975 = 0, $4976 = 0, $4977 = 0, $4978 = 0, $4979 = 0, $498 = 0, $4980 = 0, $4981 = 0, $4982 = 0, $4983 = 0, $4984 = 0, $4985 = 0, $4986 = 0, $4987 = 0, $4988 = 0, $4989 = 0, $499 = 0, $4990 = 0, $4991 = 0, $4992 = 0; - var $4993 = 0, $4994 = 0, $4995 = 0, $4996 = 0, $4997 = 0, $4998 = 0, $4999 = 0, $5 = 0, $50 = 0, $500 = 0, $5000 = 0, $5001 = 0, $5002 = 0, $5003 = 0, $5004 = 0, $5005 = 0, $5006 = 0, $5007 = 0, $5008 = 0, $5009 = 0; - var $501 = 0, $5010 = 0, $5011 = 0, $5012 = 0, $5013 = 0, $5014 = 0, $5015 = 0, $5016 = 0, $5017 = 0, $5018 = 0, $5019 = 0, $502 = 0, $5020 = 0, $5021 = 0, $5022 = 0, $5023 = 0, $5024 = 0, $5025 = 0, $5026 = 0, $5027 = 0; - var $5028 = 0, $5029 = 0, $503 = 0, $5030 = 0, $5031 = 0, $5032 = 0, $5033 = 0, $5034 = 0, $5035 = 0, $5036 = 0, $5037 = 0, $5038 = 0, $5039 = 0, $504 = 0, $5040 = 0, $5041 = 0, $5042 = 0, $5043 = 0, $5044 = 0, $5045 = 0; - var $5046 = 0, $5047 = 0, $5048 = 0, $5049 = 0, $505 = 0, $5050 = 0, $5051 = 0, $5052 = 0, $5053 = 0, $5054 = 0, $5055 = 0, $5056 = 0, $5057 = 0, $5058 = 0, $5059 = 0, $506 = 0, $5060 = 0, $5061 = 0, $5062 = 0, $5063 = 0; - var $5064 = 0, $5065 = 0, $5066 = 0, $5067 = 0, $5068 = 0, $5069 = 0, $507 = 0, $5070 = 0, $5071 = 0, $5072 = 0, $5073 = 0, $5074 = 0, $5075 = 0, $5076 = 0, $5077 = 0, $5078 = 0, $5079 = 0, $508 = 0, $5080 = 0, $5081 = 0; - var $5082 = 0, $5083 = 0, $5084 = 0, $5085 = 0, $5086 = 0, $5087 = 0, $5088 = 0, $5089 = 0, $509 = 0, $5090 = 0, $5091 = 0, $5092 = 0, $5093 = 0, $5094 = 0, $5095 = 0, $5096 = 0, $5097 = 0, $5098 = 0, $5099 = 0, $51 = 0; - var $510 = 0, $5100 = 0, $5101 = 0, $5102 = 0, $5103 = 0, $5104 = 0, $5105 = 0, $5106 = 0, $5107 = 0, $5108 = 0, $5109 = 0, $511 = 0, $5110 = 0, $5111 = 0, $5112 = 0, $5113 = 0, $5114 = 0, $5115 = 0, $5116 = 0, $5117 = 0; - var $5118 = 0, $5119 = 0, $512 = 0, $5120 = 0, $5121 = 0, $5122 = 0, $5123 = 0, $5124 = 0, $5125 = 0, $5126 = 0, $5127 = 0, $5128 = 0, $5129 = 0, $513 = 0, $5130 = 0, $5131 = 0, $5132 = 0, $5133 = 0, $5134 = 0, $5135 = 0; - var $5136 = 0, $5137 = 0, $5138 = 0, $5139 = 0, $514 = 0, $5140 = 0, $5141 = 0, $5142 = 0, $5143 = 0, $5144 = 0, $5145 = 0, $5146 = 0, $5147 = 0, $5148 = 0, $5149 = 0, $515 = 0, $5150 = 0, $5151 = 0, $5152 = 0, $5153 = 0; - var $5154 = 0, $5155 = 0, $5156 = 0, $5157 = 0, $5158 = 0, $5159 = 0, $516 = 0, $5160 = 0, $5161 = 0, $5162 = 0, $5163 = 0, $5164 = 0, $5165 = 0, $5166 = 0, $5167 = 0, $5168 = 0, $5169 = 0, $517 = 0, $5170 = 0, $5171 = 0; - var $5172 = 0, $5173 = 0, $5174 = 0, $5175 = 0, $5176 = 0, $5177 = 0, $5178 = 0, $5179 = 0, $518 = 0, $5180 = 0, $5181 = 0, $5182 = 0, $5183 = 0, $5184 = 0, $5185 = 0, $5186 = 0, $5187 = 0, $5188 = 0, $5189 = 0, $519 = 0; - var $5190 = 0, $5191 = 0, $5192 = 0, $5193 = 0, $5194 = 0, $5195 = 0, $5196 = 0, $5197 = 0, $5198 = 0, $5199 = 0, $52 = 0, $520 = 0, $5200 = 0, $5201 = 0, $5202 = 0, $5203 = 0, $5204 = 0, $5205 = 0, $5206 = 0, $5207 = 0; - var $5208 = 0, $5209 = 0, $521 = 0, $5210 = 0, $5211 = 0, $5212 = 0, $5213 = 0, $5214 = 0, $5215 = 0, $5216 = 0, $5217 = 0, $5218 = 0, $5219 = 0, $522 = 0, $5220 = 0, $5221 = 0, $5222 = 0, $5223 = 0, $5224 = 0, $5225 = 0; - var $5226 = 0, $5227 = 0, $5228 = 0, $5229 = 0, $523 = 0, $5230 = 0, $5231 = 0, $5232 = 0, $5233 = 0, $5234 = 0, $5235 = 0, $5236 = 0, $5237 = 0, $5238 = 0, $5239 = 0, $524 = 0, $5240 = 0, $5241 = 0, $5242 = 0, $5243 = 0; - var $5244 = 0, $5245 = 0, $5246 = 0, $5247 = 0, $5248 = 0, $5249 = 0, $525 = 0, $5250 = 0, $5251 = 0, $5252 = 0, $5253 = 0, $5254 = 0, $5255 = 0, $5256 = 0, $5257 = 0, $5258 = 0, $5259 = 0, $526 = 0, $5260 = 0, $5261 = 0; - var $5262 = 0, $5263 = 0, $5264 = 0, $5265 = 0, $5266 = 0, $5267 = 0, $5268 = 0, $5269 = 0, $527 = 0, $5270 = 0, $5271 = 0, $5272 = 0, $5273 = 0, $5274 = 0, $5275 = 0, $5276 = 0, $5277 = 0, $5278 = 0, $5279 = 0, $528 = 0; - var $5280 = 0, $5281 = 0, $5282 = 0, $5283 = 0, $5284 = 0, $5285 = 0, $5286 = 0, $5287 = 0, $5288 = 0, $5289 = 0, $529 = 0, $5290 = 0, $5291 = 0, $5292 = 0, $5293 = 0, $5294 = 0, $5295 = 0, $5296 = 0, $5297 = 0, $5298 = 0; - var $5299 = 0, $53 = 0, $530 = 0, $5300 = 0, $5301 = 0, $5302 = 0, $5303 = 0, $5304 = 0, $5305 = 0, $5306 = 0, $5307 = 0, $5308 = 0, $5309 = 0, $531 = 0, $5310 = 0, $5311 = 0, $5312 = 0, $5313 = 0, $5314 = 0, $5315 = 0; - var $5316 = 0, $5317 = 0, $5318 = 0, $5319 = 0, $532 = 0, $5320 = 0, $5321 = 0, $5322 = 0, $5323 = 0, $5324 = 0, $5325 = 0, $5326 = 0, $5327 = 0, $5328 = 0, $5329 = 0, $533 = 0, $5330 = 0, $5331 = 0, $5332 = 0, $5333 = 0; - var $5334 = 0, $5335 = 0, $5336 = 0, $5337 = 0, $5338 = 0, $5339 = 0, $534 = 0, $5340 = 0, $5341 = 0, $5342 = 0, $5343 = 0, $5344 = 0, $5345 = 0, $5346 = 0, $5347 = 0, $5348 = 0, $5349 = 0, $535 = 0, $5350 = 0, $5351 = 0; - var $5352 = 0, $5353 = 0, $5354 = 0, $5355 = 0, $5356 = 0, $5357 = 0, $5358 = 0, $5359 = 0, $536 = 0, $5360 = 0, $5361 = 0, $5362 = 0, $5363 = 0, $5364 = 0, $5365 = 0, $5366 = 0, $5367 = 0, $5368 = 0, $5369 = 0, $537 = 0; - var $5370 = 0, $5371 = 0, $5372 = 0, $5373 = 0, $5374 = 0, $5375 = 0, $5376 = 0, $5377 = 0, $5378 = 0, $5379 = 0, $538 = 0, $5380 = 0, $5381 = 0, $5382 = 0, $5383 = 0, $5384 = 0, $5385 = 0, $5386 = 0, $5387 = 0, $5388 = 0; - var $5389 = 0, $539 = 0, $5390 = 0, $5391 = 0, $5392 = 0, $5393 = 0, $5394 = 0, $5395 = 0, $5396 = 0, $5397 = 0, $5398 = 0, $5399 = 0, $54 = 0, $540 = 0, $5400 = 0, $5401 = 0, $5402 = 0, $5403 = 0, $5404 = 0, $5405 = 0; - var $5406 = 0, $5407 = 0, $5408 = 0, $5409 = 0, $541 = 0, $5410 = 0, $5411 = 0, $5412 = 0, $5413 = 0, $5414 = 0, $5415 = 0, $5416 = 0, $5417 = 0, $5418 = 0, $5419 = 0, $542 = 0, $5420 = 0, $5421 = 0, $5422 = 0, $5423 = 0; - var $5424 = 0, $5425 = 0, $5426 = 0, $5427 = 0, $5428 = 0, $5429 = 0, $543 = 0, $5430 = 0, $5431 = 0, $5432 = 0, $5433 = 0, $5434 = 0, $5435 = 0, $5436 = 0, $5437 = 0, $5438 = 0, $5439 = 0, $544 = 0, $5440 = 0, $5441 = 0; - var $5442 = 0, $5443 = 0, $5444 = 0, $5445 = 0, $5446 = 0, $5447 = 0, $5448 = 0, $5449 = 0, $545 = 0, $5450 = 0, $5451 = 0, $5452 = 0, $5453 = 0, $5454 = 0, $5455 = 0, $5456 = 0, $5457 = 0, $5458 = 0, $5459 = 0, $546 = 0; - var $5460 = 0, $5461 = 0, $5462 = 0, $5463 = 0, $5464 = 0, $5465 = 0, $5466 = 0, $5467 = 0, $5468 = 0, $5469 = 0, $547 = 0, $5470 = 0, $5471 = 0, $5472 = 0, $5473 = 0, $5474 = 0, $5475 = 0, $5476 = 0, $5477 = 0, $5478 = 0; - var $5479 = 0, $548 = 0, $5480 = 0, $5481 = 0, $5482 = 0, $5483 = 0, $5484 = 0, $5485 = 0, $5486 = 0, $5487 = 0, $5488 = 0, $5489 = 0, $549 = 0, $5490 = 0, $5491 = 0, $5492 = 0, $5493 = 0, $5494 = 0, $5495 = 0, $5496 = 0; - var $5497 = 0, $5498 = 0, $5499 = 0, $55 = 0, $550 = 0, $5500 = 0, $5501 = 0, $5502 = 0, $5503 = 0, $5504 = 0, $5505 = 0, $5506 = 0, $5507 = 0, $5508 = 0, $5509 = 0, $551 = 0, $5510 = 0, $5511 = 0, $5512 = 0, $5513 = 0; - var $5514 = 0, $5515 = 0, $5516 = 0, $5517 = 0, $5518 = 0, $5519 = 0, $552 = 0, $5520 = 0, $5521 = 0, $5522 = 0, $5523 = 0, $5524 = 0, $5525 = 0, $5526 = 0, $5527 = 0, $5528 = 0, $5529 = 0, $553 = 0, $5530 = 0, $5531 = 0; - var $5532 = 0, $5533 = 0, $5534 = 0, $5535 = 0, $5536 = 0, $5537 = 0, $5538 = 0, $5539 = 0, $554 = 0, $5540 = 0, $5541 = 0, $5542 = 0, $5543 = 0, $5544 = 0, $5545 = 0, $5546 = 0, $5547 = 0, $5548 = 0, $5549 = 0, $555 = 0; - var $5550 = 0, $5551 = 0, $5552 = 0, $5553 = 0, $5554 = 0, $5555 = 0, $5556 = 0, $5557 = 0, $5558 = 0, $5559 = 0, $556 = 0, $5560 = 0, $5561 = 0, $5562 = 0, $5563 = 0, $5564 = 0, $5565 = 0, $5566 = 0, $5567 = 0, $5568 = 0; - var $5569 = 0, $557 = 0, $5570 = 0, $5571 = 0, $5572 = 0, $5573 = 0, $5574 = 0, $5575 = 0, $5576 = 0, $5577 = 0, $5578 = 0, $5579 = 0, $558 = 0, $5580 = 0, $5581 = 0, $5582 = 0, $5583 = 0, $5584 = 0, $5585 = 0, $5586 = 0; - var $5587 = 0, $5588 = 0, $5589 = 0, $559 = 0, $5590 = 0, $5591 = 0, $5592 = 0, $5593 = 0, $5594 = 0, $5595 = 0, $5596 = 0, $5597 = 0, $5598 = 0, $5599 = 0, $56 = 0, $560 = 0, $5600 = 0, $5601 = 0, $5602 = 0, $5603 = 0; - var $5604 = 0, $5605 = 0, $5606 = 0, $5607 = 0, $5608 = 0, $5609 = 0, $561 = 0, $5610 = 0, $5611 = 0, $5612 = 0, $5613 = 0, $5614 = 0, $5615 = 0, $5616 = 0, $5617 = 0, $5618 = 0, $5619 = 0, $562 = 0, $5620 = 0, $5621 = 0; - var $5622 = 0, $5623 = 0, $5624 = 0, $5625 = 0, $5626 = 0, $5627 = 0, $5628 = 0, $5629 = 0, $563 = 0, $5630 = 0, $5631 = 0, $5632 = 0, $5633 = 0, $5634 = 0, $5635 = 0, $5636 = 0, $5637 = 0, $5638 = 0, $5639 = 0, $564 = 0; - var $5640 = 0, $5641 = 0, $5642 = 0, $5643 = 0, $5644 = 0, $5645 = 0, $5646 = 0, $5647 = 0, $5648 = 0, $5649 = 0, $565 = 0, $5650 = 0, $5651 = 0, $5652 = 0, $5653 = 0, $5654 = 0, $5655 = 0, $5656 = 0, $5657 = 0, $5658 = 0; - var $5659 = 0, $566 = 0, $5660 = 0, $5661 = 0, $5662 = 0, $5663 = 0, $5664 = 0, $5665 = 0, $5666 = 0, $5667 = 0, $5668 = 0, $5669 = 0, $567 = 0, $5670 = 0, $5671 = 0, $5672 = 0, $5673 = 0, $5674 = 0, $5675 = 0, $5676 = 0; - var $5677 = 0, $5678 = 0, $5679 = 0, $568 = 0, $5680 = 0, $5681 = 0, $5682 = 0, $5683 = 0, $5684 = 0, $5685 = 0, $5686 = 0, $5687 = 0, $5688 = 0, $5689 = 0, $569 = 0, $5690 = 0, $5691 = 0, $5692 = 0, $5693 = 0, $5694 = 0; - var $5695 = 0, $5696 = 0, $5697 = 0, $5698 = 0, $5699 = 0, $57 = 0, $570 = 0, $5700 = 0, $5701 = 0, $5702 = 0, $5703 = 0, $5704 = 0, $5705 = 0, $5706 = 0, $5707 = 0, $5708 = 0, $5709 = 0, $571 = 0, $5710 = 0, $5711 = 0; - var $5712 = 0, $5713 = 0, $5714 = 0, $5715 = 0, $5716 = 0, $5717 = 0, $5718 = 0, $5719 = 0, $572 = 0, $5720 = 0, $5721 = 0, $5722 = 0, $5723 = 0, $5724 = 0, $5725 = 0, $5726 = 0, $5727 = 0, $5728 = 0, $5729 = 0, $573 = 0; - var $5730 = 0, $5731 = 0, $5732 = 0, $5733 = 0, $5734 = 0, $5735 = 0, $5736 = 0, $5737 = 0, $5738 = 0, $5739 = 0, $574 = 0, $5740 = 0, $5741 = 0, $5742 = 0, $5743 = 0, $5744 = 0, $5745 = 0, $5746 = 0, $5747 = 0, $5748 = 0; - var $5749 = 0, $575 = 0, $5750 = 0, $5751 = 0, $5752 = 0, $5753 = 0, $5754 = 0, $5755 = 0, $5756 = 0, $5757 = 0, $5758 = 0, $5759 = 0, $576 = 0, $5760 = 0, $5761 = 0, $5762 = 0, $5763 = 0, $5764 = 0, $5765 = 0, $5766 = 0; - var $5767 = 0, $5768 = 0, $5769 = 0, $577 = 0, $5770 = 0, $5771 = 0, $5772 = 0, $5773 = 0, $5774 = 0, $5775 = 0, $5776 = 0, $5777 = 0, $5778 = 0, $5779 = 0, $578 = 0, $5780 = 0, $5781 = 0, $5782 = 0, $5783 = 0, $5784 = 0; - var $5785 = 0, $5786 = 0, $5787 = 0, $5788 = 0, $5789 = 0, $579 = 0, $5790 = 0, $5791 = 0, $5792 = 0, $5793 = 0, $5794 = 0, $5795 = 0, $5796 = 0, $5797 = 0, $5798 = 0, $5799 = 0, $58 = 0, $580 = 0, $5800 = 0, $5801 = 0; - var $5802 = 0, $5803 = 0, $5804 = 0, $5805 = 0, $5806 = 0, $5807 = 0, $5808 = 0, $5809 = 0, $581 = 0, $5810 = 0, $5811 = 0, $5812 = 0, $5813 = 0, $5814 = 0, $5815 = 0, $5816 = 0, $5817 = 0, $5818 = 0, $5819 = 0, $582 = 0; - var $5820 = 0, $5821 = 0, $5822 = 0, $5823 = 0, $5824 = 0, $5825 = 0, $5826 = 0, $5827 = 0, $5828 = 0, $5829 = 0, $583 = 0, $5830 = 0, $5831 = 0, $5832 = 0, $5833 = 0, $5834 = 0, $5835 = 0, $5836 = 0, $5837 = 0, $5838 = 0; - var $5839 = 0, $584 = 0, $5840 = 0, $5841 = 0, $5842 = 0, $5843 = 0, $5844 = 0, $5845 = 0, $5846 = 0, $5847 = 0, $5848 = 0, $5849 = 0, $585 = 0, $5850 = 0, $5851 = 0, $5852 = 0, $5853 = 0, $5854 = 0, $5855 = 0, $5856 = 0; - var $5857 = 0, $5858 = 0, $5859 = 0, $586 = 0, $5860 = 0, $5861 = 0, $5862 = 0, $5863 = 0, $5864 = 0, $5865 = 0, $5866 = 0, $5867 = 0, $5868 = 0, $5869 = 0, $587 = 0, $5870 = 0, $5871 = 0, $5872 = 0, $5873 = 0, $5874 = 0; - var $5875 = 0, $5876 = 0, $5877 = 0, $5878 = 0, $5879 = 0, $588 = 0, $5880 = 0, $5881 = 0, $5882 = 0, $5883 = 0, $5884 = 0, $5885 = 0, $5886 = 0, $5887 = 0, $5888 = 0, $5889 = 0, $589 = 0, $5890 = 0, $5891 = 0, $5892 = 0; - var $5893 = 0, $5894 = 0, $5895 = 0, $5896 = 0, $5897 = 0, $5898 = 0, $5899 = 0, $59 = 0, $590 = 0, $5900 = 0, $5901 = 0, $5902 = 0, $5903 = 0, $5904 = 0, $5905 = 0, $5906 = 0, $5907 = 0, $5908 = 0, $5909 = 0, $591 = 0; - var $5910 = 0, $5911 = 0, $5912 = 0, $5913 = 0, $5914 = 0, $5915 = 0, $5916 = 0, $5917 = 0, $5918 = 0, $5919 = 0, $592 = 0, $5920 = 0, $5921 = 0, $5922 = 0, $5923 = 0, $5924 = 0, $5925 = 0, $5926 = 0, $5927 = 0, $5928 = 0; - var $5929 = 0, $593 = 0, $5930 = 0, $5931 = 0, $5932 = 0, $5933 = 0, $5934 = 0, $5935 = 0, $5936 = 0, $5937 = 0, $5938 = 0, $5939 = 0, $594 = 0, $5940 = 0, $5941 = 0, $5942 = 0, $5943 = 0, $5944 = 0, $5945 = 0, $5946 = 0; - var $5947 = 0, $5948 = 0, $5949 = 0, $595 = 0, $5950 = 0, $5951 = 0, $5952 = 0, $5953 = 0, $5954 = 0, $5955 = 0, $5956 = 0, $5957 = 0, $5958 = 0, $5959 = 0, $596 = 0, $5960 = 0, $5961 = 0, $5962 = 0, $5963 = 0, $5964 = 0; - var $5965 = 0, $5966 = 0, $5967 = 0, $5968 = 0, $5969 = 0, $597 = 0, $5970 = 0, $5971 = 0, $5972 = 0, $5973 = 0, $5974 = 0, $5975 = 0, $5976 = 0, $5977 = 0, $5978 = 0, $5979 = 0, $598 = 0, $5980 = 0, $5981 = 0, $5982 = 0; - var $5983 = 0, $5984 = 0, $5985 = 0, $5986 = 0, $5987 = 0, $5988 = 0, $5989 = 0, $599 = 0, $5990 = 0, $5991 = 0, $5992 = 0, $5993 = 0, $5994 = 0, $5995 = 0, $5996 = 0, $5997 = 0, $5998 = 0, $5999 = 0, $6 = 0, $60 = 0; - var $600 = 0, $6000 = 0, $6001 = 0, $6002 = 0, $6003 = 0, $6004 = 0, $6005 = 0, $6006 = 0, $6007 = 0, $6008 = 0, $6009 = 0, $601 = 0, $6010 = 0, $6011 = 0, $6012 = 0, $6013 = 0, $6014 = 0, $6015 = 0, $6016 = 0, $6017 = 0; - var $6018 = 0, $6019 = 0, $602 = 0, $6020 = 0, $6021 = 0, $6022 = 0, $6023 = 0, $6024 = 0, $6025 = 0, $6026 = 0, $6027 = 0, $6028 = 0, $6029 = 0, $603 = 0, $6030 = 0, $6031 = 0, $6032 = 0, $6033 = 0, $6034 = 0, $6035 = 0; - var $6036 = 0, $6037 = 0, $6038 = 0, $6039 = 0, $604 = 0, $6040 = 0, $6041 = 0, $6042 = 0, $6043 = 0, $6044 = 0, $6045 = 0, $6046 = 0, $6047 = 0, $6048 = 0, $6049 = 0, $605 = 0, $6050 = 0, $6051 = 0, $6052 = 0, $6053 = 0; - var $6054 = 0, $6055 = 0, $6056 = 0, $6057 = 0, $6058 = 0, $6059 = 0, $606 = 0, $6060 = 0, $6061 = 0, $6062 = 0, $6063 = 0, $6064 = 0, $6065 = 0, $6066 = 0, $6067 = 0, $6068 = 0, $6069 = 0, $607 = 0, $6070 = 0, $6071 = 0; - var $6072 = 0, $6073 = 0, $6074 = 0, $6075 = 0, $6076 = 0, $6077 = 0, $6078 = 0, $6079 = 0, $608 = 0, $6080 = 0, $6081 = 0, $6082 = 0, $6083 = 0, $6084 = 0, $6085 = 0, $6086 = 0, $6087 = 0, $6088 = 0, $6089 = 0, $609 = 0; - var $6090 = 0, $6091 = 0, $6092 = 0, $6093 = 0, $6094 = 0, $6095 = 0, $6096 = 0, $6097 = 0, $6098 = 0, $6099 = 0, $61 = 0, $610 = 0, $6100 = 0, $6101 = 0, $6102 = 0, $6103 = 0, $6104 = 0, $6105 = 0, $6106 = 0, $6107 = 0; - var $6108 = 0, $6109 = 0, $611 = 0, $6110 = 0, $6111 = 0, $6112 = 0, $6113 = 0, $6114 = 0, $6115 = 0, $6116 = 0, $6117 = 0, $6118 = 0, $6119 = 0, $612 = 0, $6120 = 0, $6121 = 0, $6122 = 0, $6123 = 0, $6124 = 0, $6125 = 0; - var $6126 = 0, $6127 = 0, $6128 = 0, $6129 = 0, $613 = 0, $6130 = 0, $6131 = 0, $6132 = 0, $6133 = 0, $6134 = 0, $6135 = 0, $6136 = 0, $6137 = 0, $6138 = 0, $6139 = 0, $614 = 0, $6140 = 0, $6141 = 0, $6142 = 0, $6143 = 0; - var $6144 = 0, $6145 = 0, $6146 = 0, $6147 = 0, $6148 = 0, $6149 = 0, $615 = 0, $6150 = 0, $6151 = 0, $6152 = 0, $6153 = 0, $6154 = 0, $6155 = 0, $6156 = 0, $6157 = 0, $6158 = 0, $6159 = 0, $616 = 0, $6160 = 0, $6161 = 0; - var $6162 = 0, $6163 = 0, $6164 = 0, $6165 = 0, $6166 = 0, $6167 = 0, $6168 = 0, $6169 = 0, $617 = 0, $6170 = 0, $6171 = 0, $6172 = 0, $6173 = 0, $6174 = 0, $6175 = 0, $6176 = 0, $6177 = 0, $6178 = 0, $6179 = 0, $618 = 0; - var $6180 = 0, $6181 = 0, $6182 = 0, $6183 = 0, $6184 = 0, $6185 = 0, $6186 = 0, $6187 = 0, $6188 = 0, $6189 = 0, $619 = 0, $6190 = 0, $6191 = 0, $6192 = 0, $6193 = 0, $6194 = 0, $6195 = 0, $6196 = 0, $6197 = 0, $6198 = 0; - var $6199 = 0, $62 = 0, $620 = 0, $6200 = 0, $6201 = 0, $6202 = 0, $6203 = 0, $6204 = 0, $6205 = 0, $6206 = 0, $6207 = 0, $6208 = 0, $6209 = 0, $621 = 0, $6210 = 0, $6211 = 0, $6212 = 0, $6213 = 0, $6214 = 0, $6215 = 0; - var $6216 = 0, $6217 = 0, $6218 = 0, $6219 = 0, $622 = 0, $6220 = 0, $6221 = 0, $6222 = 0, $6223 = 0, $6224 = 0, $6225 = 0, $6226 = 0, $6227 = 0, $6228 = 0, $6229 = 0, $623 = 0, $6230 = 0, $6231 = 0, $6232 = 0, $6233 = 0; - var $6234 = 0, $6235 = 0, $6236 = 0, $6237 = 0, $6238 = 0, $6239 = 0, $624 = 0, $6240 = 0, $6241 = 0, $6242 = 0, $6243 = 0, $6244 = 0, $6245 = 0, $6246 = 0, $6247 = 0, $6248 = 0, $6249 = 0, $625 = 0, $6250 = 0, $6251 = 0; - var $6252 = 0, $6253 = 0, $6254 = 0, $6255 = 0, $6256 = 0, $6257 = 0, $6258 = 0, $6259 = 0, $626 = 0, $6260 = 0, $6261 = 0, $6262 = 0, $6263 = 0, $6264 = 0, $6265 = 0, $6266 = 0, $6267 = 0, $6268 = 0, $6269 = 0, $627 = 0; - var $6270 = 0, $6271 = 0, $6272 = 0, $6273 = 0, $6274 = 0, $6275 = 0, $6276 = 0, $6277 = 0, $6278 = 0, $6279 = 0, $628 = 0, $6280 = 0, $6281 = 0, $6282 = 0, $6283 = 0, $6284 = 0, $6285 = 0, $6286 = 0, $6287 = 0, $6288 = 0; - var $6289 = 0, $629 = 0, $6290 = 0, $6291 = 0, $6292 = 0, $6293 = 0, $6294 = 0, $6295 = 0, $6296 = 0, $6297 = 0, $6298 = 0, $6299 = 0, $63 = 0, $630 = 0, $6300 = 0, $6301 = 0, $6302 = 0, $6303 = 0, $6304 = 0, $6305 = 0; - var $6306 = 0, $6307 = 0, $6308 = 0, $6309 = 0, $631 = 0, $6310 = 0, $6311 = 0, $6312 = 0, $6313 = 0, $6314 = 0, $6315 = 0, $6316 = 0, $6317 = 0, $6318 = 0, $6319 = 0, $632 = 0, $6320 = 0, $6321 = 0, $6322 = 0, $6323 = 0; - var $6324 = 0, $6325 = 0, $6326 = 0, $6327 = 0, $6328 = 0, $6329 = 0, $633 = 0, $6330 = 0, $6331 = 0, $6332 = 0, $6333 = 0, $6334 = 0, $6335 = 0, $6336 = 0, $6337 = 0, $6338 = 0, $6339 = 0, $634 = 0, $6340 = 0, $6341 = 0; - var $6342 = 0, $6343 = 0, $6344 = 0, $6345 = 0, $6346 = 0, $6347 = 0, $6348 = 0, $6349 = 0, $635 = 0, $6350 = 0, $6351 = 0, $6352 = 0, $6353 = 0, $6354 = 0, $6355 = 0, $6356 = 0, $6357 = 0, $6358 = 0, $6359 = 0, $636 = 0; - var $6360 = 0, $6361 = 0, $6362 = 0, $6363 = 0, $6364 = 0, $6365 = 0, $6366 = 0, $6367 = 0, $6368 = 0, $6369 = 0, $637 = 0, $6370 = 0, $6371 = 0, $6372 = 0, $6373 = 0, $6374 = 0, $6375 = 0, $6376 = 0, $6377 = 0, $6378 = 0; - var $6379 = 0, $638 = 0, $6380 = 0, $6381 = 0, $6382 = 0, $6383 = 0, $6384 = 0, $6385 = 0, $6386 = 0, $6387 = 0, $6388 = 0, $6389 = 0, $639 = 0, $6390 = 0, $6391 = 0, $6392 = 0, $6393 = 0, $6394 = 0, $6395 = 0, $6396 = 0; - var $6397 = 0, $6398 = 0, $6399 = 0, $64 = 0, $640 = 0, $6400 = 0, $6401 = 0, $6402 = 0, $6403 = 0, $6404 = 0, $6405 = 0, $6406 = 0, $6407 = 0, $6408 = 0, $6409 = 0, $641 = 0, $6410 = 0, $6411 = 0, $6412 = 0, $6413 = 0; - var $6414 = 0, $6415 = 0, $6416 = 0, $6417 = 0, $6418 = 0, $6419 = 0, $642 = 0, $6420 = 0, $6421 = 0, $6422 = 0, $6423 = 0, $6424 = 0, $6425 = 0, $6426 = 0, $6427 = 0, $6428 = 0, $6429 = 0, $643 = 0, $6430 = 0, $6431 = 0; - var $6432 = 0, $6433 = 0, $6434 = 0, $6435 = 0, $6436 = 0, $6437 = 0, $6438 = 0, $6439 = 0, $644 = 0, $6440 = 0, $6441 = 0, $6442 = 0, $6443 = 0, $6444 = 0, $6445 = 0, $6446 = 0, $6447 = 0, $6448 = 0, $6449 = 0, $645 = 0; - var $6450 = 0, $6451 = 0, $6452 = 0, $6453 = 0, $6454 = 0, $6455 = 0, $6456 = 0, $6457 = 0, $6458 = 0, $6459 = 0, $646 = 0, $6460 = 0, $6461 = 0, $6462 = 0, $6463 = 0, $6464 = 0, $6465 = 0, $6466 = 0, $6467 = 0, $6468 = 0; - var $6469 = 0, $647 = 0, $6470 = 0, $6471 = 0, $6472 = 0, $6473 = 0, $6474 = 0, $6475 = 0, $6476 = 0, $6477 = 0, $6478 = 0, $6479 = 0, $648 = 0, $6480 = 0, $6481 = 0, $6482 = 0, $6483 = 0, $6484 = 0, $6485 = 0, $6486 = 0; - var $6487 = 0, $6488 = 0, $6489 = 0, $649 = 0, $6490 = 0, $6491 = 0, $6492 = 0, $6493 = 0, $6494 = 0, $6495 = 0, $6496 = 0, $6497 = 0, $6498 = 0, $6499 = 0, $65 = 0, $650 = 0, $6500 = 0, $6501 = 0, $6502 = 0, $6503 = 0; - var $6504 = 0, $6505 = 0, $6506 = 0, $6507 = 0, $6508 = 0, $6509 = 0, $651 = 0, $6510 = 0, $6511 = 0, $6512 = 0, $6513 = 0, $6514 = 0, $6515 = 0, $6516 = 0, $6517 = 0, $6518 = 0, $6519 = 0, $652 = 0, $6520 = 0, $6521 = 0; - var $6522 = 0, $6523 = 0, $6524 = 0, $6525 = 0, $6526 = 0, $6527 = 0, $6528 = 0, $6529 = 0, $653 = 0, $6530 = 0, $6531 = 0, $6532 = 0, $6533 = 0, $6534 = 0, $6535 = 0, $6536 = 0, $6537 = 0, $6538 = 0, $6539 = 0, $654 = 0; - var $6540 = 0, $6541 = 0, $6542 = 0, $6543 = 0, $6544 = 0, $6545 = 0, $6546 = 0, $6547 = 0, $6548 = 0, $6549 = 0, $655 = 0, $6550 = 0, $6551 = 0, $6552 = 0, $6553 = 0, $6554 = 0, $6555 = 0, $6556 = 0, $6557 = 0, $6558 = 0; - var $6559 = 0, $656 = 0, $6560 = 0, $6561 = 0, $6562 = 0, $6563 = 0, $6564 = 0, $6565 = 0, $6566 = 0, $6567 = 0, $6568 = 0, $6569 = 0, $657 = 0, $6570 = 0, $6571 = 0, $6572 = 0, $6573 = 0, $6574 = 0, $6575 = 0, $6576 = 0; - var $6577 = 0, $6578 = 0, $6579 = 0, $658 = 0, $6580 = 0, $6581 = 0, $6582 = 0, $6583 = 0, $6584 = 0, $6585 = 0, $6586 = 0, $6587 = 0, $6588 = 0, $6589 = 0, $659 = 0, $6590 = 0, $6591 = 0, $6592 = 0, $6593 = 0, $6594 = 0; - var $6595 = 0, $6596 = 0, $6597 = 0, $6598 = 0, $6599 = 0, $66 = 0, $660 = 0, $6600 = 0, $6601 = 0, $6602 = 0, $6603 = 0, $6604 = 0, $6605 = 0, $6606 = 0, $6607 = 0, $6608 = 0, $6609 = 0, $661 = 0, $6610 = 0, $6611 = 0; - var $6612 = 0, $6613 = 0, $6614 = 0, $6615 = 0, $6616 = 0, $6617 = 0, $6618 = 0, $6619 = 0, $662 = 0, $6620 = 0, $6621 = 0, $6622 = 0, $6623 = 0, $6624 = 0, $6625 = 0, $6626 = 0, $6627 = 0, $6628 = 0, $6629 = 0, $663 = 0; - var $6630 = 0, $6631 = 0, $6632 = 0, $6633 = 0, $6634 = 0, $6635 = 0, $6636 = 0, $6637 = 0, $6638 = 0, $6639 = 0, $664 = 0, $6640 = 0, $6641 = 0, $6642 = 0, $6643 = 0, $6644 = 0, $6645 = 0, $6646 = 0, $6647 = 0, $6648 = 0; - var $6649 = 0, $665 = 0, $6650 = 0, $6651 = 0, $6652 = 0, $6653 = 0, $6654 = 0, $6655 = 0, $6656 = 0, $6657 = 0, $6658 = 0, $6659 = 0, $666 = 0, $6660 = 0, $6661 = 0, $6662 = 0, $6663 = 0, $6664 = 0, $6665 = 0, $6666 = 0; - var $6667 = 0, $6668 = 0, $6669 = 0, $667 = 0, $6670 = 0, $6671 = 0, $6672 = 0, $6673 = 0, $6674 = 0, $6675 = 0, $6676 = 0, $6677 = 0, $6678 = 0, $6679 = 0, $668 = 0, $6680 = 0, $6681 = 0, $6682 = 0, $6683 = 0, $6684 = 0; - var $6685 = 0, $6686 = 0, $6687 = 0, $6688 = 0, $6689 = 0, $669 = 0, $6690 = 0, $6691 = 0, $6692 = 0, $6693 = 0, $6694 = 0, $6695 = 0, $6696 = 0, $6697 = 0, $6698 = 0, $6699 = 0, $67 = 0, $670 = 0, $6700 = 0, $6701 = 0; - var $6702 = 0, $6703 = 0, $6704 = 0, $6705 = 0, $6706 = 0, $6707 = 0, $6708 = 0, $6709 = 0, $671 = 0, $6710 = 0, $6711 = 0, $6712 = 0, $6713 = 0, $6714 = 0, $6715 = 0, $6716 = 0, $6717 = 0, $6718 = 0, $6719 = 0, $672 = 0; - var $6720 = 0, $6721 = 0, $6722 = 0, $6723 = 0, $6724 = 0, $6725 = 0, $6726 = 0, $6727 = 0, $6728 = 0, $6729 = 0, $673 = 0, $6730 = 0, $6731 = 0, $6732 = 0, $6733 = 0, $6734 = 0, $6735 = 0, $6736 = 0, $6737 = 0, $6738 = 0; - var $6739 = 0, $674 = 0, $6740 = 0, $6741 = 0, $6742 = 0, $6743 = 0, $6744 = 0, $6745 = 0, $6746 = 0, $6747 = 0, $6748 = 0, $6749 = 0, $675 = 0, $6750 = 0, $6751 = 0, $6752 = 0, $6753 = 0, $6754 = 0, $6755 = 0, $6756 = 0; - var $6757 = 0, $6758 = 0, $6759 = 0, $676 = 0, $6760 = 0, $6761 = 0, $6762 = 0, $6763 = 0, $6764 = 0, $6765 = 0, $6766 = 0, $6767 = 0, $6768 = 0, $6769 = 0, $677 = 0, $6770 = 0, $6771 = 0, $6772 = 0, $6773 = 0, $6774 = 0; - var $6775 = 0, $6776 = 0, $6777 = 0, $6778 = 0, $6779 = 0, $678 = 0, $6780 = 0, $6781 = 0, $6782 = 0, $6783 = 0, $6784 = 0, $6785 = 0, $6786 = 0, $6787 = 0, $6788 = 0, $6789 = 0, $679 = 0, $6790 = 0, $6791 = 0, $6792 = 0; - var $6793 = 0, $6794 = 0, $6795 = 0, $6796 = 0, $6797 = 0, $6798 = 0, $6799 = 0, $68 = 0, $680 = 0, $6800 = 0, $6801 = 0, $6802 = 0, $6803 = 0, $6804 = 0, $6805 = 0, $6806 = 0, $6807 = 0, $6808 = 0, $6809 = 0, $681 = 0; - var $6810 = 0, $6811 = 0, $6812 = 0, $6813 = 0, $6814 = 0, $6815 = 0, $6816 = 0, $6817 = 0, $6818 = 0, $6819 = 0, $682 = 0, $6820 = 0, $6821 = 0, $6822 = 0, $6823 = 0, $6824 = 0, $6825 = 0, $6826 = 0, $6827 = 0, $6828 = 0; - var $6829 = 0, $683 = 0, $6830 = 0, $6831 = 0, $6832 = 0, $6833 = 0, $6834 = 0, $6835 = 0, $6836 = 0, $6837 = 0, $6838 = 0, $6839 = 0, $684 = 0, $6840 = 0, $6841 = 0, $6842 = 0, $6843 = 0, $6844 = 0, $6845 = 0, $6846 = 0; - var $6847 = 0, $6848 = 0, $6849 = 0, $685 = 0, $6850 = 0, $6851 = 0, $6852 = 0, $6853 = 0, $6854 = 0, $6855 = 0, $6856 = 0, $6857 = 0, $6858 = 0, $6859 = 0, $686 = 0, $6860 = 0, $6861 = 0, $6862 = 0, $6863 = 0, $6864 = 0; - var $6865 = 0, $6866 = 0, $6867 = 0, $6868 = 0, $6869 = 0, $687 = 0, $6870 = 0, $6871 = 0, $6872 = 0, $6873 = 0, $6874 = 0, $6875 = 0, $6876 = 0, $6877 = 0, $6878 = 0, $6879 = 0, $688 = 0, $6880 = 0, $6881 = 0, $6882 = 0; - var $6883 = 0, $6884 = 0, $6885 = 0, $6886 = 0, $6887 = 0, $6888 = 0, $6889 = 0, $689 = 0, $6890 = 0, $6891 = 0, $6892 = 0, $6893 = 0, $6894 = 0, $6895 = 0, $6896 = 0, $6897 = 0, $6898 = 0, $6899 = 0, $69 = 0, $690 = 0; - var $6900 = 0, $6901 = 0, $6902 = 0, $6903 = 0, $6904 = 0, $6905 = 0, $6906 = 0, $6907 = 0, $6908 = 0, $6909 = 0, $691 = 0, $6910 = 0, $6911 = 0, $6912 = 0, $6913 = 0, $6914 = 0, $6915 = 0, $6916 = 0, $6917 = 0, $6918 = 0; - var $6919 = 0, $692 = 0, $6920 = 0, $6921 = 0, $6922 = 0, $6923 = 0, $6924 = 0, $6925 = 0, $6926 = 0, $6927 = 0, $6928 = 0, $6929 = 0, $693 = 0, $6930 = 0, $6931 = 0, $6932 = 0, $6933 = 0, $6934 = 0, $6935 = 0, $6936 = 0; - var $6937 = 0, $6938 = 0, $6939 = 0, $694 = 0, $6940 = 0, $6941 = 0, $6942 = 0, $6943 = 0, $6944 = 0, $6945 = 0, $6946 = 0, $6947 = 0, $6948 = 0, $6949 = 0, $695 = 0, $6950 = 0, $6951 = 0, $6952 = 0, $6953 = 0, $6954 = 0; - var $6955 = 0, $6956 = 0, $6957 = 0, $6958 = 0, $6959 = 0, $696 = 0, $6960 = 0, $6961 = 0, $6962 = 0, $6963 = 0, $6964 = 0, $6965 = 0, $6966 = 0, $6967 = 0, $6968 = 0, $6969 = 0, $697 = 0, $6970 = 0, $6971 = 0, $6972 = 0; - var $6973 = 0, $6974 = 0, $6975 = 0, $6976 = 0, $6977 = 0, $6978 = 0, $6979 = 0, $698 = 0, $6980 = 0, $6981 = 0, $6982 = 0, $6983 = 0, $6984 = 0, $6985 = 0, $6986 = 0, $6987 = 0, $6988 = 0, $6989 = 0, $699 = 0, $6990 = 0; - var $6991 = 0, $6992 = 0, $6993 = 0, $6994 = 0, $6995 = 0, $6996 = 0, $6997 = 0, $6998 = 0, $6999 = 0, $7 = 0, $70 = 0, $700 = 0, $7000 = 0, $7001 = 0, $7002 = 0, $7003 = 0, $7004 = 0, $7005 = 0, $7006 = 0, $7007 = 0; - var $7008 = 0, $7009 = 0, $701 = 0, $7010 = 0, $7011 = 0, $7012 = 0, $7013 = 0, $7014 = 0, $7015 = 0, $7016 = 0, $7017 = 0, $7018 = 0, $7019 = 0, $702 = 0, $7020 = 0, $7021 = 0, $7022 = 0, $7023 = 0, $7024 = 0, $7025 = 0; - var $7026 = 0, $7027 = 0, $7028 = 0, $7029 = 0, $703 = 0, $7030 = 0, $7031 = 0, $7032 = 0, $7033 = 0, $7034 = 0, $7035 = 0, $7036 = 0, $7037 = 0, $7038 = 0, $7039 = 0, $704 = 0, $7040 = 0, $7041 = 0, $7042 = 0, $7043 = 0; - var $7044 = 0, $7045 = 0, $7046 = 0, $7047 = 0, $7048 = 0, $7049 = 0, $705 = 0, $7050 = 0, $7051 = 0, $7052 = 0, $7053 = 0, $7054 = 0, $7055 = 0, $7056 = 0, $7057 = 0, $7058 = 0, $7059 = 0, $706 = 0, $7060 = 0, $7061 = 0; - var $7062 = 0, $7063 = 0, $7064 = 0, $7065 = 0, $7066 = 0, $7067 = 0, $7068 = 0, $7069 = 0, $707 = 0, $7070 = 0, $7071 = 0, $7072 = 0, $7073 = 0, $7074 = 0, $7075 = 0, $7076 = 0, $7077 = 0, $7078 = 0, $7079 = 0, $708 = 0; - var $7080 = 0, $7081 = 0, $7082 = 0, $7083 = 0, $7084 = 0, $7085 = 0, $7086 = 0, $7087 = 0, $7088 = 0, $7089 = 0, $709 = 0, $7090 = 0, $7091 = 0, $7092 = 0, $7093 = 0, $7094 = 0, $7095 = 0, $7096 = 0, $7097 = 0, $7098 = 0; - var $7099 = 0, $71 = 0, $710 = 0, $7100 = 0, $7101 = 0, $7102 = 0, $7103 = 0, $7104 = 0, $7105 = 0, $7106 = 0, $7107 = 0, $7108 = 0, $7109 = 0, $711 = 0, $7110 = 0, $7111 = 0, $7112 = 0, $7113 = 0, $7114 = 0, $7115 = 0; - var $7116 = 0, $7117 = 0, $7118 = 0, $7119 = 0, $712 = 0, $7120 = 0, $7121 = 0, $7122 = 0, $7123 = 0, $7124 = 0, $7125 = 0, $7126 = 0, $7127 = 0, $7128 = 0, $7129 = 0, $713 = 0, $7130 = 0, $7131 = 0, $7132 = 0, $7133 = 0; - var $7134 = 0, $7135 = 0, $7136 = 0, $7137 = 0, $7138 = 0, $7139 = 0, $714 = 0, $7140 = 0, $7141 = 0, $7142 = 0, $7143 = 0, $7144 = 0, $7145 = 0, $7146 = 0, $7147 = 0, $7148 = 0, $7149 = 0, $715 = 0, $7150 = 0, $7151 = 0; - var $7152 = 0, $7153 = 0, $7154 = 0, $7155 = 0, $7156 = 0, $7157 = 0, $7158 = 0, $7159 = 0, $716 = 0, $7160 = 0, $7161 = 0, $7162 = 0, $7163 = 0, $7164 = 0, $7165 = 0, $7166 = 0, $7167 = 0, $7168 = 0, $7169 = 0, $717 = 0; - var $7170 = 0, $7171 = 0, $7172 = 0, $7173 = 0, $7174 = 0, $7175 = 0, $7176 = 0, $7177 = 0, $7178 = 0, $7179 = 0, $718 = 0, $7180 = 0, $7181 = 0, $7182 = 0, $7183 = 0, $7184 = 0, $7185 = 0, $7186 = 0, $7187 = 0, $7188 = 0; - var $7189 = 0, $719 = 0, $7190 = 0, $7191 = 0, $7192 = 0, $7193 = 0, $7194 = 0, $7195 = 0, $7196 = 0, $7197 = 0, $7198 = 0, $7199 = 0, $72 = 0, $720 = 0, $7200 = 0, $7201 = 0, $7202 = 0, $7203 = 0, $7204 = 0, $7205 = 0; - var $7206 = 0, $7207 = 0, $7208 = 0, $7209 = 0, $721 = 0, $7210 = 0, $7211 = 0, $7212 = 0, $7213 = 0, $7214 = 0, $7215 = 0, $7216 = 0, $7217 = 0, $7218 = 0, $7219 = 0, $722 = 0, $7220 = 0, $7221 = 0, $7222 = 0, $7223 = 0; - var $7224 = 0, $7225 = 0, $7226 = 0, $7227 = 0, $7228 = 0, $7229 = 0, $723 = 0, $7230 = 0, $7231 = 0, $7232 = 0, $7233 = 0, $7234 = 0, $7235 = 0, $7236 = 0, $7237 = 0, $7238 = 0, $7239 = 0, $724 = 0, $7240 = 0, $7241 = 0; - var $7242 = 0, $7243 = 0, $7244 = 0, $7245 = 0, $7246 = 0, $7247 = 0, $7248 = 0, $7249 = 0, $725 = 0, $7250 = 0, $7251 = 0, $7252 = 0, $7253 = 0, $7254 = 0, $7255 = 0, $7256 = 0, $7257 = 0, $7258 = 0, $7259 = 0, $726 = 0; - var $7260 = 0, $7261 = 0, $7262 = 0, $7263 = 0, $7264 = 0, $7265 = 0, $7266 = 0, $7267 = 0, $7268 = 0, $7269 = 0, $727 = 0, $7270 = 0, $7271 = 0, $7272 = 0, $7273 = 0, $7274 = 0, $7275 = 0, $7276 = 0, $7277 = 0, $7278 = 0; - var $7279 = 0, $728 = 0, $7280 = 0, $7281 = 0, $7282 = 0, $7283 = 0, $7284 = 0, $7285 = 0, $7286 = 0, $7287 = 0, $7288 = 0, $7289 = 0, $729 = 0, $7290 = 0, $7291 = 0, $7292 = 0, $7293 = 0, $7294 = 0, $7295 = 0, $7296 = 0; - var $7297 = 0, $7298 = 0, $7299 = 0, $73 = 0, $730 = 0, $7300 = 0, $7301 = 0, $7302 = 0, $7303 = 0, $7304 = 0, $7305 = 0, $7306 = 0, $7307 = 0, $7308 = 0, $7309 = 0, $731 = 0, $7310 = 0, $7311 = 0, $7312 = 0, $7313 = 0; - var $7314 = 0, $7315 = 0, $7316 = 0, $7317 = 0, $7318 = 0, $7319 = 0, $732 = 0, $7320 = 0, $7321 = 0, $7322 = 0, $7323 = 0, $7324 = 0, $7325 = 0, $7326 = 0, $7327 = 0, $7328 = 0, $7329 = 0, $733 = 0, $7330 = 0, $7331 = 0; - var $7332 = 0, $7333 = 0, $7334 = 0, $7335 = 0, $7336 = 0, $7337 = 0, $7338 = 0, $7339 = 0, $734 = 0, $7340 = 0, $7341 = 0, $7342 = 0, $7343 = 0, $7344 = 0, $7345 = 0, $7346 = 0, $7347 = 0, $7348 = 0, $7349 = 0, $735 = 0; - var $7350 = 0, $7351 = 0, $7352 = 0, $7353 = 0, $7354 = 0, $7355 = 0, $7356 = 0, $7357 = 0, $7358 = 0, $7359 = 0, $736 = 0, $7360 = 0, $7361 = 0, $7362 = 0, $7363 = 0, $7364 = 0, $7365 = 0, $7366 = 0, $7367 = 0, $7368 = 0; - var $7369 = 0, $737 = 0, $7370 = 0, $7371 = 0, $7372 = 0, $7373 = 0, $7374 = 0, $7375 = 0, $7376 = 0, $7377 = 0, $7378 = 0, $7379 = 0, $738 = 0, $7380 = 0, $7381 = 0, $7382 = 0, $7383 = 0, $7384 = 0, $7385 = 0, $7386 = 0; - var $7387 = 0, $7388 = 0, $7389 = 0, $739 = 0, $7390 = 0, $7391 = 0, $7392 = 0, $7393 = 0, $7394 = 0, $7395 = 0, $7396 = 0, $7397 = 0, $7398 = 0, $7399 = 0, $74 = 0, $740 = 0, $7400 = 0, $7401 = 0, $7402 = 0, $7403 = 0; - var $7404 = 0, $7405 = 0, $7406 = 0, $7407 = 0, $7408 = 0, $7409 = 0, $741 = 0, $7410 = 0, $7411 = 0, $7412 = 0, $7413 = 0, $7414 = 0, $7415 = 0, $7416 = 0, $7417 = 0, $7418 = 0, $7419 = 0, $742 = 0, $7420 = 0, $7421 = 0; - var $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0; - var $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0; - var $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0; - var $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0; - var $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0; - var $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0; - var $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0; - var $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0; - var $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0; - var $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0; - var $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0; - var $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0; - var $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0; - var $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0; - var $996 = 0, $997 = 0, $998 = 0, $999 = 0, $aMem = 0, $aOffset = 0, $aOp = 0, $aPermute = 0, $aRes = 0, $aRoot = 0, $aTempRec = 0, $affinity = 0, $alreadyExists = 0, $apArg = 0, $apArg126 = 0, $avail = 0, $bIntint = 0, $bRev = 0, $c = 0, $cAff = 0; - var $cnt = 0, $cnt42 = 0, $db = 0, $desiredAutoCommit = 0, $eNew = 0, $eOld = 0, $encoding = 0, $eqOnly = 0, $exists = 0, $file_format = 0, $flags = 0, $flags1 = 0, $flags3 = 0, $flags80 = 0, $i = 0, $i111 = 0, $i12 = 0, $i124 = 0, $i129 = 0, $i15 = 0; - var $i3 = 0, $i8 = 0, $i91 = 0, $i96 = 0, $iA = 0, $iA5 = 0, $iB = 0, $iB6 = 0, $iCompare = 0, $iCookie = 0, $iDb = 0, $iDb23 = 0, $iDb77 = 0, $iDb82 = 0, $iGen = 0, $iKey = 0, $iKey39 = 0, $iMeta = 0, $iMeta19 = 0, $iMoved = 0; - var $iPrior = 0, $iQuery = 0, $iRollback = 0, $iSavepoint = 0, $iSet = 0, $idx = 0, $ii = 0, $ii32 = 0, $initData = 0, $isSchemaChange = 0, $isTransaction = 0, $isWriteLock = 0, $j = 0, $lastRowid = 0, $len = 0, $len16 = 0, $n = 0, $n1 = 0, $n2 = 0, $n55 = 0; - var $n7 = 0, $n89 = 0, $nArg = 0, $nArg123 = 0, $nByte = 0, $nByte13 = 0, $nByte83 = 0, $nChange = 0, $nChange$ = 0, $nData = 0, $nEntry = 0, $nErr = 0, $nField = 0, $nField20 = 0, $nField31 = 0, $nHdr = 0, $nKeyCol = 0, $nMem = 0, $nName = 0, $nProgressLimit = 0; - var $nRoot = 0, $nVarint = 0, $nVmStep = 0, $nZero = 0, $newMax = 0, $nullFlag = 0, $oc = 0, $offset = 0, $offset64 = 0, $op = 0, $op46 = 0, $opflags = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond18 = 0, $or$cond21 = 0, $or$cond24 = 0; - var $or$cond26 = 0, $or$cond28 = 0, $or$cond3 = 0, $or$cond31 = 0, $or$cond6 = 0, $or$cond8 = 0, $p1 = 0, $p1100 = 0, $p118 = 0, $p19 = 0, $p2 = 0, $p210 = 0, $p211 = 0, $p222 = 0, $pArgc = 0, $pBt = 0, $pBt128 = 0, $pBt98 = 0, $pBt99 = 0, $pC = 0; - var $pC27 = 0, $pC30 = 0, $pC33 = 0, $pC36 = 0, $pC40 = 0, $pC45 = 0, $pC47 = 0, $pC50 = 0, $pC52 = 0, $pC53 = 0, $pC56 = 0, $pC58 = 0, $pC59 = 0, $pC62 = 0, $pC65 = 0, $pC67 = 0, $pC69 = 0, $pC73 = 0, $pC74 = 0, $pC78 = 0; - var $pCaller = 0, $pColl = 0, $pCrsr = 0, $pCrsr17 = 0, $pCrsr37 = 0, $pCrsr54 = 0, $pCrsr60 = 0, $pCrsr63 = 0, $pCrsr70 = 0, $pCtx = 0, $pCtx4 = 0, $pCtx90 = 0, $pCtx92 = 0, $pCur = 0, $pCur103 = 0, $pCur109 = 0, $pCur115 = 0, $pCur119 = 0, $pCx = 0, $pCx26 = 0; - var $pCx28 = 0, $pData = 0, $pData0 = 0, $pDb = 0, $pDb24 = 0, $pDb81 = 0, $pDest = 0, $pDest114 = 0, $pEnd = 0, $pFrame = 0, $pFrame44 = 0, $pFrame85 = 0, $pFrame87 = 0, $pFrame88 = 0, $pFree = 0, $pIdxKey = 0, $pIn = 0, $pIn1 = 0, $pIn2 = 0, $pIn3 = 0; - var $pKey = 0, $pKeyInfo = 0, $pKeyInfo21 = 0, $pKeyInfo25 = 0, $pLast = 0, $pMem = 0, $pMem43 = 0, $pMem84 = 0, $pMem93 = 0, $pMem95 = 0, $pMem97 = 0, $pModule = 0, $pModule105 = 0, $pModule106 = 0, $pModule113 = 0, $pModule117 = 0, $pModule122 = 0, $pName = 0, $pNew = 0, $pOp = 0; - var $pOut = 0, $pPager = 0, $pProgram = 0, $pQuery = 0, $pRec = 0, $pReg = 0, $pRt = 0, $pSavepoint = 0, $pTab = 0, $pTab49 = 0, $pTabCur = 0, $pTmp = 0, $pVCur = 0, $pVCur107 = 0, $pVTab = 0, $pVar = 0, $pVtab = 0, $pVtab104 = 0, $pVtab108 = 0, $pVtab112 = 0; - var $pVtab116 = 0, $pVtab120 = 0, $pVtab121 = 0, $pX = 0, $pX127 = 0, $pcDest = 0, $pcx = 0, $pgno = 0, $pgno79 = 0, $pnErr = 0, $r = 0, $r35 = 0, $r72 = 0, $r76 = 0, $rA = 0, $rB = 0, $rc = 0, $res = 0, $res110 = 0, $res118 = 0; - var $res2 = 0, $res29 = 0, $res34 = 0, $res38 = 0, $res41 = 0, $res51 = 0, $res61 = 0, $res64 = 0, $res66 = 0, $res71 = 0, $res75 = 0, $resetSchemaOnFault = 0, $rowid = 0, $rowid125 = 0, $sContext = 0, $sMem = 0, $sMem102 = 0, $seekResult = 0, $serial_type = 0, $t = 0; - var $t86 = 0, $t94 = 0, $takeJump = 0, $type1 = 0, $type2 = 0, $uA = 0, $v = 0, $v1 = 0, $v2 = 0, $v57 = 0, $val = 0, $vararg_buffer = 0, $vararg_buffer32 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer44 = 0, $vararg_buffer47 = 0, $vararg_buffer49 = 0, $vararg_buffer52 = 0, $vararg_buffer54 = 0; - var $vararg_buffer56 = 0, $vararg_buffer58 = 0, $vararg_buffer63 = 0, $vararg_buffer65 = 0, $vararg_buffer68 = 0, $vararg_buffer71 = 0, $vararg_buffer74 = 0, $vararg_buffer77 = 0, $vararg_buffer80 = 0, $vararg_buffer85 = 0, $vararg_buffer87 = 0, $vararg_buffer89 = 0, $vararg_ptr35 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr61 = 0, $vararg_ptr62 = 0, $vararg_ptr83 = 0, $vararg_ptr84 = 0, $vtabOnConflict = 0; - var $wrFlag = 0, $x = 0, $x130 = 0, $x68 = 0, $z = 0, $z101 = 0, $z131 = 0, $zAffinity = 0, $zAffinity14 = 0, $zData = 0, $zDb = 0, $zDb48 = 0, $zEndHdr = 0, $zFilename = 0, $zHdr = 0, $zMaster = 0, $zName = 0, $zNewRecord = 0, $zSql = 0, $zTab = 0; - var $zTrace = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1872|0; - $vararg_buffer89 = sp + 536|0; - $vararg_buffer87 = sp + 528|0; - $vararg_buffer85 = sp + 520|0; - $vararg_buffer80 = sp + 504|0; - $vararg_buffer77 = sp + 496|0; - $vararg_buffer74 = sp + 488|0; - $vararg_buffer71 = sp + 480|0; - $vararg_buffer68 = sp + 472|0; - $vararg_buffer65 = sp + 464|0; - $vararg_buffer63 = sp + 456|0; - $vararg_buffer58 = sp + 440|0; - $vararg_buffer56 = sp + 432|0; - $vararg_buffer54 = sp + 424|0; - $vararg_buffer52 = sp + 416|0; - $vararg_buffer49 = sp + 408|0; - $vararg_buffer47 = sp + 400|0; - $vararg_buffer44 = sp + 392|0; - $vararg_buffer39 = sp + 376|0; - $vararg_buffer36 = sp + 368|0; - $vararg_buffer32 = sp + 360|0; - $vararg_buffer = sp + 352|0; - $0 = sp + 1656|0; - $aOp = sp + 1652|0; - $pOp = sp + 1648|0; - $rc = sp + 1644|0; - $db = sp + 1640|0; - $resetSchemaOnFault = sp + 1862|0; - $encoding = sp + 1861|0; - $iCompare = sp + 1636|0; - $nVmStep = sp + 1632|0; - $nProgressLimit = sp + 1628|0; - $aMem = sp + 1624|0; - $pIn1 = sp + 1620|0; - $pIn2 = sp + 1616|0; - $pIn3 = sp + 1612|0; - $pOut = sp + 1608|0; - $aPermute = sp + 1604|0; - $lastRowid = sp + 344|0; - $iPrior = sp + 1600|0; - $pCaller = sp + 1596|0; - $pcDest = sp + 1592|0; - $pFrame = sp + 1588|0; - $pcx = sp + 1584|0; - $cnt = sp + 1580|0; - $nullFlag = sp + 1670|0; - $pVar = sp + 1576|0; - $n = sp + 1572|0; - $p1 = sp + 1568|0; - $p2 = sp + 1564|0; - $n1 = sp + 1560|0; - $pMem = sp + 1556|0; - $i = sp + 1552|0; - $nByte = sp + 336|0; - $bIntint = sp + 1860|0; - $flags = sp + 1668|0; - $type1 = sp + 1666|0; - $type2 = sp + 1664|0; - $iA = sp + 328|0; - $iB = sp + 320|0; - $rA = sp + 312|0; - $rB = sp + 304|0; - $n2 = sp + 1548|0; - $pCtx = sp + 1544|0; - $i3 = sp + 1540|0; - $pCtx4 = sp + 1536|0; - $iA5 = sp + 296|0; - $uA = sp + 288|0; - $iB6 = sp + 280|0; - $op = sp + 1859|0; - $res = sp + 1532|0; - $res2 = sp + 1528|0; - $affinity = sp + 1858|0; - $flags1 = sp + 1662|0; - $flags3 = sp + 1660|0; - $n7 = sp + 1524|0; - $i8 = sp + 1520|0; - $p19 = sp + 1516|0; - $p210 = sp + 1512|0; - $pKeyInfo = sp + 1508|0; - $idx = sp + 1504|0; - $pColl = sp + 1500|0; - $bRev = sp + 1496|0; - $v1 = sp + 1492|0; - $v2 = sp + 1488|0; - $c = sp + 1484|0; - $p211 = sp + 1480|0; - $pC = sp + 1476|0; - $pCrsr = sp + 1472|0; - $aOffset = sp + 1468|0; - $len = sp + 1464|0; - $i12 = sp + 1460|0; - $pDest = sp + 1456|0; - $sMem = sp + 240|0; - $zData = sp + 1452|0; - $zHdr = sp + 1448|0; - $zEndHdr = sp + 1444|0; - $offset = sp + 1440|0; - $offset64 = sp + 232|0; - $avail = sp + 1436|0; - $t = sp + 1432|0; - $pReg = sp + 1428|0; - $zAffinity = sp + 1424|0; - $cAff = sp + 1857|0; - $zNewRecord = sp + 1420|0; - $pRec = sp + 1416|0; - $nData = sp + 224|0; - $nHdr = sp + 1412|0; - $nByte13 = sp + 216|0; - $nZero = sp + 208|0; - $nVarint = sp + 1408|0; - $serial_type = sp + 1404|0; - $pData0 = sp + 1400|0; - $pLast = sp + 1396|0; - $nField = sp + 1392|0; - $zAffinity14 = sp + 1388|0; - $file_format = sp + 1384|0; - $i15 = sp + 1380|0; - $j = sp + 1376|0; - $len16 = sp + 1372|0; - $nEntry = sp + 200|0; - $pCrsr17 = sp + 1368|0; - $p118 = sp + 1364|0; - $zName = sp + 1360|0; - $nName = sp + 1356|0; - $pNew = sp + 1352|0; - $pSavepoint = sp + 1348|0; - $pTmp = sp + 1344|0; - $iSavepoint = sp + 1340|0; - $ii = sp + 1336|0; - $isTransaction = sp + 1332|0; - $isSchemaChange = sp + 1328|0; - $desiredAutoCommit = sp + 1324|0; - $iRollback = sp + 1320|0; - $pBt = sp + 1316|0; - $iMeta = sp + 1312|0; - $iGen = sp + 1308|0; - $iMeta19 = sp + 1304|0; - $iDb = sp + 1300|0; - $iCookie = sp + 1296|0; - $pDb = sp + 1292|0; - $nField20 = sp + 1288|0; - $pKeyInfo21 = sp + 1284|0; - $p222 = sp + 1280|0; - $iDb23 = sp + 1276|0; - $wrFlag = sp + 1272|0; - $pX = sp + 1268|0; - $pCur = sp + 1264|0; - $pDb24 = sp + 1260|0; - $pCx = sp + 1256|0; - $pKeyInfo25 = sp + 1252|0; - $pgno = sp + 1248|0; - $pCx26 = sp + 1244|0; - $pC27 = sp + 1240|0; - $pCx28 = sp + 1236|0; - $res29 = sp + 1232|0; - $oc = sp + 1228|0; - $pC30 = sp + 1224|0; - $r = sp + 1208|0; - $nField31 = sp + 1200|0; - $iKey = sp + 192|0; - $eqOnly = sp + 1196|0; - $alreadyExists = sp + 1192|0; - $takeJump = sp + 1188|0; - $ii32 = sp + 1184|0; - $pC33 = sp + 1180|0; - $res34 = sp + 1176|0; - $pFree = sp + 1172|0; - $pIdxKey = sp + 1168|0; - $r35 = sp + 1152|0; - $aTempRec = sp + 1674|0; - $pC36 = sp + 1148|0; - $pCrsr37 = sp + 1144|0; - $res38 = sp + 1140|0; - $iKey39 = sp + 184|0; - $v = sp + 176|0; - $pC40 = sp + 1136|0; - $res41 = sp + 1132|0; - $cnt42 = sp + 1128|0; - $pMem43 = sp + 1124|0; - $pFrame44 = sp + 1120|0; - $pData = sp + 1116|0; - $pKey = sp + 1112|0; - $pC45 = sp + 1108|0; - $seekResult = sp + 1104|0; - $zDb = sp + 1100|0; - $pTab = sp + 1096|0; - $op46 = sp + 1092|0; - $x = sp + 144|0; - $pC47 = sp + 1088|0; - $zDb48 = sp + 1084|0; - $pTab49 = sp + 1080|0; - $opflags = sp + 1076|0; - $pC50 = sp + 1072|0; - $res51 = sp + 1068|0; - $nKeyCol = sp + 1064|0; - $pC52 = sp + 1060|0; - $pC53 = sp + 1056|0; - $pCrsr54 = sp + 1052|0; - $n55 = sp + 1048|0; - $pC56 = sp + 1044|0; - $v57 = sp + 136|0; - $pVtab = sp + 1040|0; - $pModule = sp + 1036|0; - $pC58 = sp + 1032|0; - $pC59 = sp + 1028|0; - $pCrsr60 = sp + 1024|0; - $res61 = sp + 1020|0; - $pC62 = sp + 1016|0; - $pCrsr63 = sp + 1012|0; - $res64 = sp + 1008|0; - $pC65 = sp + 1004|0; - $res66 = sp + 1000|0; - $pC67 = sp + 996|0; - $x68 = sp + 104|0; - $pC69 = sp + 992|0; - $pCrsr70 = sp + 988|0; - $res71 = sp + 984|0; - $r72 = sp + 968|0; - $pC73 = sp + 964|0; - $pTabCur = sp + 960|0; - $rowid = sp + 96|0; - $pC74 = sp + 956|0; - $res75 = sp + 952|0; - $r76 = sp + 936|0; - $iMoved = sp + 932|0; - $iDb77 = sp + 928|0; - $nChange = sp + 924|0; - $pC78 = sp + 920|0; - $pgno79 = sp + 916|0; - $flags80 = sp + 912|0; - $pDb81 = sp + 908|0; - $iDb82 = sp + 904|0; - $zMaster = sp + 900|0; - $zSql = sp + 896|0; - $initData = sp + 880|0; - $nRoot = sp + 872|0; - $aRoot = sp + 868|0; - $nErr = sp + 864|0; - $z = sp + 860|0; - $pnErr = sp + 856|0; - $val = sp + 88|0; - $iSet = sp + 852|0; - $exists = sp + 848|0; - $nMem = sp + 844|0; - $nByte83 = sp + 840|0; - $pRt = sp + 836|0; - $pMem84 = sp + 832|0; - $pEnd = sp + 828|0; - $pFrame85 = sp + 824|0; - $pProgram = sp + 820|0; - $t86 = sp + 816|0; - $pFrame87 = sp + 812|0; - $pIn = sp + 808|0; - $pFrame88 = sp + 804|0; - $n89 = sp + 800|0; - $pCtx90 = sp + 796|0; - $i91 = sp + 792|0; - $pCtx92 = sp + 788|0; - $pMem93 = sp + 784|0; - $t94 = sp + 48|0; - $pMem95 = sp + 780|0; - $i96 = sp + 776|0; - $aRes = sp + 764|0; - $pMem97 = sp + 760|0; - $pBt98 = sp + 756|0; - $pPager = sp + 752|0; - $eNew = sp + 748|0; - $eOld = sp + 744|0; - $zFilename = sp + 740|0; - $pBt99 = sp + 736|0; - $isWriteLock = sp + 1673|0; - $p1100 = sp + 732|0; - $z101 = sp + 728|0; - $pVTab = sp + 724|0; - $sMem102 = sp + 8|0; - $zTab = sp + 720|0; - $pCur103 = sp + 716|0; - $pVCur = sp + 712|0; - $pVtab104 = sp + 708|0; - $pModule105 = sp + 704|0; - $nArg = sp + 700|0; - $iQuery = sp + 696|0; - $pModule106 = sp + 692|0; - $pQuery = sp + 688|0; - $pArgc = sp + 684|0; - $pVCur107 = sp + 680|0; - $pVtab108 = sp + 676|0; - $pCur109 = sp + 672|0; - $res110 = sp + 668|0; - $i111 = sp + 664|0; - $apArg = sp + 660|0; - $pVtab112 = sp + 656|0; - $pModule113 = sp + 652|0; - $pDest114 = sp + 648|0; - $sContext = sp + 616|0; - $pCur115 = sp + 612|0; - $pVtab116 = sp + 608|0; - $pModule117 = sp + 604|0; - $res118 = sp + 600|0; - $pCur119 = sp + 596|0; - $pVtab120 = sp + 592|0; - $pName = sp + 588|0; - $pVtab121 = sp + 584|0; - $pModule122 = sp + 580|0; - $nArg123 = sp + 576|0; - $i124 = sp + 572|0; - $rowid125 = sp; - $apArg126 = sp + 568|0; - $pX127 = sp + 564|0; - $vtabOnConflict = sp + 1672|0; - $newMax = sp + 560|0; - $pBt128 = sp + 556|0; - $zTrace = sp + 552|0; - $i129 = sp + 548|0; - $x130 = sp + 544|0; - $z131 = sp + 540|0; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 88|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$aOp>>2] = $3; - $4 = HEAP32[$aOp>>2]|0; - HEAP32[$pOp>>2] = $4; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - HEAP8[$resetSchemaOnFault>>0] = 0; - $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 66|0); - $9 = HEAP8[$8>>0]|0; - HEAP8[$encoding>>0] = $9; - HEAP32[$iCompare>>2] = 0; - HEAP32[$nVmStep>>2] = 0; - HEAP32[$nProgressLimit>>2] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 92|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$aMem>>2] = $12; - HEAP32[$pIn1>>2] = 0; - HEAP32[$pIn2>>2] = 0; - HEAP32[$pIn3>>2] = 0; - HEAP32[$pOut>>2] = 0; - HEAP32[$aPermute>>2] = 0; - $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 32|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $lastRowid; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = HEAP32[$0>>2]|0; - _sqlite3VdbeEnter($25); - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 40|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==(7); - L1: do { - if ($29) { - label = 889; + $208 = HEAP32[$5>>2]|0; + $209 = ((($208)) + 48|0); + HEAP32[$209>>2] = 0; + $210 = HEAP32[$9>>2]|0; + $211 = ((($210)) + 52|0); + HEAP32[$211>>2] = 0; + $212 = HEAP32[$4>>2]|0; + $213 = HEAP32[$5>>2]|0; + $214 = HEAP32[$5>>2]|0; + $215 = ((($214)) + 44|0); + $216 = HEAP32[$215>>2]|0; + (_sqlite3ResolveOrderGroupBy($212,$213,$216,28515)|0); + $217 = HEAP32[$9>>2]|0; + $218 = ((($217)) + 48|0); + $219 = HEAP32[$218>>2]|0; + $220 = ($219|0)==(0|0); + if ($220) { + $221 = HEAP32[$4>>2]|0; + $222 = HEAP32[$9>>2]|0; + $223 = HEAP32[$9>>2]|0; + $224 = ((($223)) + 44|0); + $225 = HEAP32[$224>>2]|0; + (_sqlite3ResolveOrderGroupBy($221,$222,$225,28515)|0); + } + $226 = HEAP32[$4>>2]|0; + $227 = HEAP32[$5>>2]|0; + $228 = HEAP32[$33>>2]|0; + _computeLimitRegisters($226,$227,$228); + $229 = HEAP32[$5>>2]|0; + $230 = ((($229)) + 12|0); + $231 = HEAP32[$230>>2]|0; + $232 = ($231|0)!=(0); + $233 = HEAP32[$35>>2]|0; + $234 = ($233|0)==(116); + $or$cond = $232 & $234; + if ($or$cond) { + $235 = HEAP32[$4>>2]|0; + $236 = ((($235)) + 44|0); + $237 = HEAP32[$236>>2]|0; + $238 = (($237) + 1)|0; + HEAP32[$236>>2] = $238; + HEAP32[$27>>2] = $238; + $239 = HEAP32[$4>>2]|0; + $240 = ((($239)) + 44|0); + $241 = HEAP32[$240>>2]|0; + $242 = (($241) + 1)|0; + HEAP32[$240>>2] = $242; + HEAP32[$28>>2] = $242; + $243 = HEAP32[$10>>2]|0; + $244 = HEAP32[$5>>2]|0; + $245 = ((($244)) + 16|0); + $246 = HEAP32[$245>>2]|0; + $247 = ($246|0)!=(0); + $248 = HEAP32[$5>>2]|0; + if ($247) { + $249 = ((($248)) + 16|0); + $250 = HEAP32[$249>>2]|0; + $251 = (($250) + 1)|0; + $255 = $251; } else { - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 40|0); - HEAP32[$31>>2] = 0; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 56|0); - $34 = $33; - $35 = $34; - HEAP32[$35>>2] = 0; - $36 = (($34) + 4)|0; - $37 = $36; - HEAP32[$37>>2] = 0; - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 104|0); - HEAP32[$39>>2] = 0; - $40 = HEAP32[$db>>2]|0; - $41 = ((($40)) + 380|0); - $42 = ((($41)) + 8|0); - HEAP32[$42>>2] = 0; - $43 = HEAP32[$db>>2]|0; - $44 = ((($43)) + 248|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)!=(0); - L3: do { - if (!($46)) { - $47 = HEAP32[$db>>2]|0; - $48 = ((($47)) + 304|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)!=(0|0); - if ($50) { - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 156|0); - $53 = ((($52)) + 16|0); - $54 = HEAP32[$53>>2]|0; - HEAP32[$iPrior>>2] = $54; - $55 = HEAP32[$db>>2]|0; - $56 = ((($55)) + 312|0); - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$iPrior>>2]|0; - $59 = HEAP32[$db>>2]|0; - $60 = ((($59)) + 312|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($58>>>0) % ($61>>>0))&-1; - $63 = (($57) - ($62))|0; - HEAP32[$nProgressLimit>>2] = $63; - } - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 36|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$aOp>>2]|0; - $68 = (($67) + (($66*20)|0)|0); - HEAP32[$pOp>>2] = $68; - L8: while(1) { - $69 = HEAP32[$nVmStep>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$nVmStep>>2] = $70; - $71 = HEAP32[$pOp>>2]|0; - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - L10: do { - switch ($73|0) { - case 87: { - label = 64; - break L8; - break; - } + $252 = ((($248)) + 12|0); + $253 = HEAP32[$252>>2]|0; + $255 = $253; + } + $254 = HEAP32[$27>>2]|0; + (_sqlite3VdbeAddOp2($243,84,$255,$254)|0); + $256 = HEAP32[$10>>2]|0; + $257 = HEAP32[$27>>2]|0; + $258 = HEAP32[$28>>2]|0; + (_sqlite3VdbeAddOp2($256,84,$257,$258)|0); + } else { + HEAP32[$28>>2] = 0; + HEAP32[$27>>2] = 0; + } + $259 = HEAP32[$38>>2]|0; + $260 = HEAP32[$5>>2]|0; + $261 = ((($260)) + 56|0); + $262 = HEAP32[$261>>2]|0; + _sqlite3ExprDelete($259,$262); + $263 = HEAP32[$5>>2]|0; + $264 = ((($263)) + 56|0); + HEAP32[$264>>2] = 0; + $265 = HEAP32[$38>>2]|0; + $266 = HEAP32[$5>>2]|0; + $267 = ((($266)) + 60|0); + $268 = HEAP32[$267>>2]|0; + _sqlite3ExprDelete($265,$268); + $269 = HEAP32[$5>>2]|0; + $270 = ((($269)) + 60|0); + HEAP32[$270>>2] = 0; + $271 = HEAP32[$4>>2]|0; + $272 = ((($271)) + 44|0); + $273 = HEAP32[$272>>2]|0; + $274 = (($273) + 1)|0; + HEAP32[$272>>2] = $274; + HEAP32[$13>>2] = $274; + $275 = HEAP32[$4>>2]|0; + $276 = ((($275)) + 44|0); + $277 = HEAP32[$276>>2]|0; + $278 = (($277) + 1)|0; + HEAP32[$276>>2] = $278; + HEAP32[$14>>2] = $278; + $279 = HEAP32[$4>>2]|0; + $280 = ((($279)) + 44|0); + $281 = HEAP32[$280>>2]|0; + $282 = (($281) + 1)|0; + HEAP32[$280>>2] = $282; + HEAP32[$17>>2] = $282; + $283 = HEAP32[$4>>2]|0; + $284 = ((($283)) + 44|0); + $285 = HEAP32[$284>>2]|0; + $286 = (($285) + 1)|0; + HEAP32[$284>>2] = $286; + HEAP32[$18>>2] = $286; + $287 = HEAP32[$13>>2]|0; + _sqlite3SelectDestInit($11,13,$287); + $288 = HEAP32[$14>>2]|0; + _sqlite3SelectDestInit($12,13,$288); + $289 = HEAP32[$10>>2]|0; + $290 = (_sqlite3VdbeCurrentAddr($289)|0); + $291 = (($290) + 1)|0; + HEAP32[$15>>2] = $291; + $292 = HEAP32[$10>>2]|0; + $293 = HEAP32[$13>>2]|0; + $294 = HEAP32[$15>>2]|0; + $295 = (_sqlite3VdbeAddOp3($292,15,$293,0,$294)|0); + HEAP32[$34>>2] = $295; + $296 = HEAP32[$27>>2]|0; + $297 = HEAP32[$9>>2]|0; + $298 = ((($297)) + 12|0); + HEAP32[$298>>2] = $296; + $299 = HEAP32[$4>>2]|0; + $300 = ((($299)) + 424|0); + $301 = HEAP32[$300>>2]|0; + HEAP32[$42>>2] = $301; + $302 = HEAP32[$4>>2]|0; + $303 = HEAP32[$9>>2]|0; + (_sqlite3Select($302,$303,$11)|0); + $304 = HEAP32[$10>>2]|0; + $305 = HEAP32[$13>>2]|0; + _sqlite3VdbeEndCoroutine($304,$305); + $306 = HEAP32[$10>>2]|0; + $307 = HEAP32[$34>>2]|0; + _sqlite3VdbeJumpHere($306,$307); + $308 = HEAP32[$10>>2]|0; + $309 = (_sqlite3VdbeCurrentAddr($308)|0); + $310 = (($309) + 1)|0; + HEAP32[$16>>2] = $310; + $311 = HEAP32[$10>>2]|0; + $312 = HEAP32[$14>>2]|0; + $313 = HEAP32[$16>>2]|0; + $314 = (_sqlite3VdbeAddOp3($311,15,$312,0,$313)|0); + HEAP32[$34>>2] = $314; + $315 = HEAP32[$5>>2]|0; + $316 = ((($315)) + 12|0); + $317 = HEAP32[$316>>2]|0; + HEAP32[$30>>2] = $317; + $318 = HEAP32[$5>>2]|0; + $319 = ((($318)) + 16|0); + $320 = HEAP32[$319>>2]|0; + HEAP32[$31>>2] = $320; + $321 = HEAP32[$28>>2]|0; + $322 = HEAP32[$5>>2]|0; + $323 = ((($322)) + 12|0); + HEAP32[$323>>2] = $321; + $324 = HEAP32[$5>>2]|0; + $325 = ((($324)) + 16|0); + HEAP32[$325>>2] = 0; + $326 = HEAP32[$4>>2]|0; + $327 = ((($326)) + 424|0); + $328 = HEAP32[$327>>2]|0; + HEAP32[$43>>2] = $328; + $329 = HEAP32[$4>>2]|0; + $330 = HEAP32[$5>>2]|0; + (_sqlite3Select($329,$330,$12)|0); + $331 = HEAP32[$30>>2]|0; + $332 = HEAP32[$5>>2]|0; + $333 = ((($332)) + 12|0); + HEAP32[$333>>2] = $331; + $334 = HEAP32[$31>>2]|0; + $335 = HEAP32[$5>>2]|0; + $336 = ((($335)) + 16|0); + HEAP32[$336>>2] = $334; + $337 = HEAP32[$10>>2]|0; + $338 = HEAP32[$14>>2]|0; + _sqlite3VdbeEndCoroutine($337,$338); + $339 = HEAP32[$4>>2]|0; + $340 = HEAP32[$5>>2]|0; + $341 = HEAP32[$6>>2]|0; + $342 = HEAP32[$17>>2]|0; + $343 = HEAP32[$29>>2]|0; + $344 = HEAP32[$36>>2]|0; + $345 = HEAP32[$33>>2]|0; + $346 = (_generateOutputSubroutine($339,$340,$11,$341,$342,$343,$344,$345)|0); + HEAP32[$19>>2] = $346; + $347 = HEAP32[$35>>2]|0; + $348 = ($347|0)==(116); + $349 = HEAP32[$35>>2]|0; + $350 = ($349|0)==(115); + $or$cond3 = $348 | $350; + if ($or$cond3) { + $351 = HEAP32[$4>>2]|0; + $352 = HEAP32[$5>>2]|0; + $353 = HEAP32[$6>>2]|0; + $354 = HEAP32[$18>>2]|0; + $355 = HEAP32[$29>>2]|0; + $356 = HEAP32[$36>>2]|0; + $357 = HEAP32[$33>>2]|0; + $358 = (_generateOutputSubroutine($351,$352,$12,$353,$354,$355,$356,$357)|0); + HEAP32[$20>>2] = $358; + } + $359 = HEAP32[$36>>2]|0; + _sqlite3KeyInfoUnref($359); + $360 = HEAP32[$35>>2]|0; + $361 = ($360|0)==(117); + $362 = HEAP32[$35>>2]|0; + $363 = ($362|0)==(118); + $or$cond5 = $361 | $363; + if ($or$cond5) { + $364 = HEAP32[$33>>2]|0; + HEAP32[$21>>2] = $364; + HEAP32[$22>>2] = $364; + } else { + $365 = HEAP32[$10>>2]|0; + $366 = HEAP32[$18>>2]|0; + $367 = HEAP32[$20>>2]|0; + $368 = (_sqlite3VdbeAddOp2($365,14,$366,$367)|0); + HEAP32[$21>>2] = $368; + $369 = HEAP32[$10>>2]|0; + $370 = HEAP32[$14>>2]|0; + $371 = HEAP32[$33>>2]|0; + $372 = (_sqlite3VdbeAddOp2($369,16,$370,$371)|0); + HEAP32[$22>>2] = $372; + $373 = HEAP32[$10>>2]|0; + $374 = HEAP32[$21>>2]|0; + (_sqlite3VdbeGoto($373,$374)|0); + $375 = HEAP32[$5>>2]|0; + $376 = ((($375)) + 6|0); + $377 = HEAP16[$376>>1]|0; + $378 = HEAP32[$9>>2]|0; + $379 = ((($378)) + 6|0); + $380 = HEAP16[$379>>1]|0; + $381 = (_sqlite3LogEstAdd($377,$380)|0); + $382 = HEAP32[$5>>2]|0; + $383 = ((($382)) + 6|0); + HEAP16[$383>>1] = $381; + } + $384 = HEAP32[$35>>2]|0; + $385 = ($384|0)==(118); + if ($385) { + $386 = HEAP32[$21>>2]|0; + HEAP32[$23>>2] = $386; + $387 = HEAP32[$5>>2]|0; + $388 = ((($387)) + 6|0); + $389 = HEAP16[$388>>1]|0; + $390 = $389 << 16 >> 16; + $391 = HEAP32[$9>>2]|0; + $392 = ((($391)) + 6|0); + $393 = HEAP16[$392>>1]|0; + $394 = $393 << 16 >> 16; + $395 = ($390|0)>($394|0); + if ($395) { + $396 = HEAP32[$9>>2]|0; + $397 = ((($396)) + 6|0); + $398 = HEAP16[$397>>1]|0; + $399 = HEAP32[$5>>2]|0; + $400 = ((($399)) + 6|0); + HEAP16[$400>>1] = $398; + } + } else { + $401 = HEAP32[$10>>2]|0; + $402 = HEAP32[$17>>2]|0; + $403 = HEAP32[$19>>2]|0; + $404 = (_sqlite3VdbeAddOp2($401,14,$402,$403)|0); + HEAP32[$23>>2] = $404; + $405 = HEAP32[$10>>2]|0; + $406 = HEAP32[$13>>2]|0; + $407 = HEAP32[$33>>2]|0; + (_sqlite3VdbeAddOp2($405,16,$406,$407)|0); + $408 = HEAP32[$10>>2]|0; + $409 = HEAP32[$23>>2]|0; + (_sqlite3VdbeGoto($408,$409)|0); + } + $410 = HEAP32[$10>>2]|0; + $411 = HEAP32[$17>>2]|0; + $412 = HEAP32[$19>>2]|0; + $413 = (_sqlite3VdbeAddOp2($410,14,$411,$412)|0); + HEAP32[$24>>2] = $413; + $414 = HEAP32[$10>>2]|0; + $415 = HEAP32[$13>>2]|0; + $416 = HEAP32[$21>>2]|0; + (_sqlite3VdbeAddOp2($414,16,$415,$416)|0); + $417 = HEAP32[$10>>2]|0; + $418 = HEAP32[$32>>2]|0; + (_sqlite3VdbeGoto($417,$418)|0); + $419 = HEAP32[$35>>2]|0; + $420 = ($419|0)==(116); + do { + if ($420) { + $421 = HEAP32[$24>>2]|0; + HEAP32[$25>>2] = $421; + } else { + $422 = HEAP32[$35>>2]|0; + $423 = ($422|0)==(118); + if ($423) { + $424 = HEAP32[$24>>2]|0; + HEAP32[$25>>2] = $424; + $425 = HEAP32[$24>>2]|0; + $426 = (($425) + 1)|0; + HEAP32[$24>>2] = $426; + break; + } else { + $427 = HEAP32[$10>>2]|0; + $428 = HEAP32[$13>>2]|0; + $429 = HEAP32[$21>>2]|0; + $430 = (_sqlite3VdbeAddOp2($427,16,$428,$429)|0); + HEAP32[$25>>2] = $430; + $431 = HEAP32[$10>>2]|0; + $432 = HEAP32[$32>>2]|0; + (_sqlite3VdbeGoto($431,$432)|0); + break; + } + } + } while(0); + $433 = HEAP32[$10>>2]|0; + $434 = (_sqlite3VdbeCurrentAddr($433)|0); + HEAP32[$26>>2] = $434; + $435 = HEAP32[$35>>2]|0; + $436 = ($435|0)==(116); + $437 = HEAP32[$35>>2]|0; + $438 = ($437|0)==(115); + $or$cond7 = $436 | $438; + if ($or$cond7) { + $439 = HEAP32[$10>>2]|0; + $440 = HEAP32[$18>>2]|0; + $441 = HEAP32[$20>>2]|0; + (_sqlite3VdbeAddOp2($439,14,$440,$441)|0); + } + $442 = HEAP32[$10>>2]|0; + $443 = HEAP32[$14>>2]|0; + $444 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp2($442,16,$443,$444)|0); + $445 = HEAP32[$10>>2]|0; + $446 = HEAP32[$32>>2]|0; + (_sqlite3VdbeGoto($445,$446)|0); + $447 = HEAP32[$10>>2]|0; + $448 = HEAP32[$34>>2]|0; + _sqlite3VdbeJumpHere($447,$448); + $449 = HEAP32[$10>>2]|0; + $450 = HEAP32[$13>>2]|0; + $451 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp2($449,16,$450,$451)|0); + $452 = HEAP32[$10>>2]|0; + $453 = HEAP32[$14>>2]|0; + $454 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp2($452,16,$453,$454)|0); + $455 = HEAP32[$10>>2]|0; + $456 = HEAP32[$32>>2]|0; + _sqlite3VdbeResolveLabel($455,$456); + $457 = HEAP32[$10>>2]|0; + $458 = HEAP32[$41>>2]|0; + (_sqlite3VdbeAddOp4($457,94,0,0,0,$458,-15)|0); + $459 = HEAP32[$10>>2]|0; + $460 = ((($11)) + 12|0); + $461 = HEAP32[$460>>2]|0; + $462 = ((($12)) + 12|0); + $463 = HEAP32[$462>>2]|0; + $464 = HEAP32[$40>>2]|0; + $465 = HEAP32[$37>>2]|0; + (_sqlite3VdbeAddOp4($459,95,$461,$463,$464,$465,-6)|0); + $466 = HEAP32[$10>>2]|0; + _sqlite3VdbeChangeP5($466,1); + $467 = HEAP32[$10>>2]|0; + $468 = HEAP32[$24>>2]|0; + $469 = HEAP32[$25>>2]|0; + $470 = HEAP32[$26>>2]|0; + (_sqlite3VdbeAddOp3($467,18,$468,$469,$470)|0); + $471 = HEAP32[$10>>2]|0; + $472 = HEAP32[$33>>2]|0; + _sqlite3VdbeResolveLabel($471,$472); + $473 = HEAP32[$6>>2]|0; + $474 = HEAP8[$473>>0]|0; + $475 = $474&255; + $476 = ($475|0)==(9); + if ($476) { + $477 = HEAP32[$9>>2]|0; + HEAP32[$48>>2] = $477; + while(1) { + $478 = HEAP32[$48>>2]|0; + $479 = ((($478)) + 48|0); + $480 = HEAP32[$479>>2]|0; + $481 = ($480|0)!=(0|0); + if (!($481)) { + break; + } + $482 = HEAP32[$48>>2]|0; + $483 = ((($482)) + 48|0); + $484 = HEAP32[$483>>2]|0; + HEAP32[$48>>2] = $484; + } + $485 = HEAP32[$4>>2]|0; + $486 = HEAP32[$48>>2]|0; + $487 = ((($486)) + 28|0); + $488 = HEAP32[$487>>2]|0; + $489 = HEAP32[$48>>2]|0; + $490 = HEAP32[$489>>2]|0; + _generateColumnNames($485,$488,$490); + } + $491 = HEAP32[$5>>2]|0; + $492 = ((($491)) + 48|0); + $493 = HEAP32[$492>>2]|0; + $494 = ($493|0)!=(0|0); + if ($494) { + $495 = HEAP32[$38>>2]|0; + $496 = HEAP32[$5>>2]|0; + $497 = ((($496)) + 48|0); + $498 = HEAP32[$497>>2]|0; + _sqlite3SelectDelete($495,$498); + } + $499 = HEAP32[$9>>2]|0; + $500 = HEAP32[$5>>2]|0; + $501 = ((($500)) + 48|0); + HEAP32[$501>>2] = $499; + $502 = HEAP32[$5>>2]|0; + $503 = HEAP32[$9>>2]|0; + $504 = ((($503)) + 52|0); + HEAP32[$504>>2] = $502; + $505 = HEAP32[$4>>2]|0; + $506 = HEAP32[$5>>2]|0; + $507 = ((($506)) + 4|0); + $508 = HEAP8[$507>>0]|0; + $509 = $508&255; + $510 = HEAP32[$42>>2]|0; + $511 = HEAP32[$43>>2]|0; + _explainComposite($505,$509,$510,$511,0); + $512 = HEAP32[$4>>2]|0; + $513 = ((($512)) + 36|0); + $514 = HEAP32[$513>>2]|0; + $515 = ($514|0)!=(0); + $516 = $515&1; + HEAP32[$3>>2] = $516; + $517 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($517|0); +} +function _explainComposite($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 409|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==(2); + if (!($16)) { + STACKTOP = sp;return; + } + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$10>>2] = $19; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[$9>>2]|0; + $25 = ($24|0)!=(0); + $26 = $25 ? 35361 : 55752; + $27 = HEAP32[$6>>2]|0; + $28 = (_selectOpName($27)|0); + HEAP32[$vararg_buffer>>2] = $22; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $23; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $26; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $28; + $29 = (_sqlite3MPrintf($21,35380,$vararg_buffer)|0); + HEAP32[$11>>2] = $29; + $30 = HEAP32[$10>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 420|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$11>>2]|0; + (_sqlite3VdbeAddOp4($30,162,$33,0,0,$34,-1)|0); + STACKTOP = sp;return; +} +function _multiSelectCollSeq($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 48|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 48|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = (_multiSelectCollSeq($11,$14,$15)|0); + HEAP32[$6>>2] = $16; + } else { + HEAP32[$6>>2] = 0; + } + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)==(0|0); + if (!($18)) { + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); + } + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = ($19|0)<($22|0); + if (!($23)) { + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); + } + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = (($28) + (($29*20)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3ExprCollSeq($24,$31)|0); + HEAP32[$6>>2] = $32; + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); +} +function _multiSelectOrderByKeyInfo($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 44|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 44|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + HEAP32[$7>>2] = $20; + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$8>>2] = $22; + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = (($24) + ($25))|0; + $27 = (_sqlite3KeyInfoAlloc($23,$26,1)|0); + HEAP32[$9>>2] = $27; + $28 = HEAP32[$9>>2]|0; + $29 = ($28|0)!=(0|0); + if (!($29)) { + $89 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($89|0); + } + HEAP32[$10>>2] = 0; + while(1) { + $30 = HEAP32[$10>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = ($30|0)<($31|0); + if (!($32)) { + break; + } + $33 = HEAP32[$6>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$10>>2]|0; + $37 = (($35) + (($36*20)|0)|0); + HEAP32[$11>>2] = $37; + $38 = HEAP32[$11>>2]|0; + $39 = HEAP32[$38>>2]|0; + HEAP32[$12>>2] = $39; + $40 = HEAP32[$12>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = $42 & 256; + $44 = ($43|0)!=(0); + $45 = HEAP32[$3>>2]|0; + if ($44) { + $46 = HEAP32[$12>>2]|0; + $47 = (_sqlite3ExprCollSeq($45,$46)|0); + HEAP32[$13>>2] = $47; + } else { + $48 = HEAP32[$4>>2]|0; + $49 = HEAP32[$11>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51&65535; + $53 = (($52) - 1)|0; + $54 = (_multiSelectCollSeq($45,$48,$53)|0); + HEAP32[$13>>2] = $54; + $55 = HEAP32[$13>>2]|0; + $56 = ($55|0)==(0|0); + if ($56) { + $57 = HEAP32[$8>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$13>>2] = $59; + } + $60 = HEAP32[$3>>2]|0; + $61 = HEAP32[$12>>2]|0; + $62 = HEAP32[$13>>2]|0; + $63 = HEAP32[$62>>2]|0; + $64 = (_sqlite3ExprAddCollateString($60,$61,$63)|0); + $65 = HEAP32[$6>>2]|0; + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$10>>2]|0; + $69 = (($67) + (($68*20)|0)|0); + HEAP32[$69>>2] = $64; + } + $70 = HEAP32[$13>>2]|0; + $71 = HEAP32[$9>>2]|0; + $72 = ((($71)) + 20|0); + $73 = HEAP32[$10>>2]|0; + $74 = (($72) + ($73<<2)|0); + HEAP32[$74>>2] = $70; + $75 = HEAP32[$6>>2]|0; + $76 = ((($75)) + 4|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$10>>2]|0; + $79 = (($77) + (($78*20)|0)|0); + $80 = ((($79)) + 12|0); + $81 = HEAP8[$80>>0]|0; + $82 = HEAP32[$9>>2]|0; + $83 = ((($82)) + 16|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$10>>2]|0; + $86 = (($84) + ($85)|0); + HEAP8[$86>>0] = $81; + $87 = HEAP32[$10>>2]|0; + $88 = (($87) + 1)|0; + HEAP32[$10>>2] = $88; + } + $89 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($89|0); +} +function _generateOutputSubroutine($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $8 = sp + 64|0; + $9 = sp + 60|0; + $10 = sp + 56|0; + $11 = sp + 52|0; + $12 = sp + 48|0; + $13 = sp + 44|0; + $14 = sp + 40|0; + $15 = sp + 36|0; + $16 = sp + 32|0; + $17 = sp + 28|0; + $18 = sp + 24|0; + $19 = sp + 20|0; + $20 = sp + 16|0; + $21 = sp + 12|0; + $22 = sp + 8|0; + $23 = sp + 4|0; + $24 = sp; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + HEAP32[$12>>2] = $3; + HEAP32[$13>>2] = $4; + HEAP32[$14>>2] = $5; + HEAP32[$15>>2] = $6; + HEAP32[$16>>2] = $7; + $25 = HEAP32[$9>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$17>>2] = $27; + $28 = HEAP32[$17>>2]|0; + $29 = (_sqlite3VdbeCurrentAddr($28)|0); + HEAP32[$19>>2] = $29; + $30 = HEAP32[$17>>2]|0; + $31 = (_sqlite3VdbeMakeLabel($30)|0); + HEAP32[$18>>2] = $31; + $32 = HEAP32[$14>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$17>>2]|0; + $35 = HEAP32[$14>>2]|0; + $36 = (_sqlite3VdbeAddOp1($34,22,$35)|0); + HEAP32[$20>>2] = $36; + $37 = HEAP32[$17>>2]|0; + $38 = HEAP32[$11>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$14>>2]|0; + $42 = (($41) + 1)|0; + $43 = HEAP32[$11>>2]|0; + $44 = ((($43)) + 16|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$15>>2]|0; + $47 = (_sqlite3KeyInfoRef($46)|0); + $48 = (_sqlite3VdbeAddOp4($37,95,$40,$42,$45,$47,-6)|0); + HEAP32[$21>>2] = $48; + $49 = HEAP32[$17>>2]|0; + $50 = HEAP32[$21>>2]|0; + $51 = (($50) + 2)|0; + $52 = HEAP32[$18>>2]|0; + $53 = HEAP32[$21>>2]|0; + $54 = (($53) + 2)|0; + (_sqlite3VdbeAddOp3($49,18,$51,$52,$54)|0); + $55 = HEAP32[$17>>2]|0; + $56 = HEAP32[$20>>2]|0; + _sqlite3VdbeJumpHere($55,$56); + $57 = HEAP32[$17>>2]|0; + $58 = HEAP32[$11>>2]|0; + $59 = ((($58)) + 12|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$14>>2]|0; + $62 = (($61) + 1)|0; + $63 = HEAP32[$11>>2]|0; + $64 = ((($63)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = (($65) - 1)|0; + (_sqlite3VdbeAddOp3($57,84,$60,$62,$66)|0); + $67 = HEAP32[$17>>2]|0; + $68 = HEAP32[$14>>2]|0; + (_sqlite3VdbeAddOp2($67,76,1,$68)|0); + } + $69 = HEAP32[$9>>2]|0; + $70 = HEAP32[$69>>2]|0; + $71 = ((($70)) + 69|0); + $72 = HEAP8[$71>>0]|0; + $73 = ($72<<24>>24)!=(0); + if ($73) { + HEAP32[$8>>2] = 0; + $205 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($205|0); + } + $74 = HEAP32[$17>>2]|0; + $75 = HEAP32[$10>>2]|0; + $76 = ((($75)) + 16|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$18>>2]|0; + _codeOffset($74,$77,$78); + $79 = HEAP32[$12>>2]|0; + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + switch ($81|0) { + case 12: { + $82 = HEAP32[$9>>2]|0; + $83 = (_sqlite3GetTempReg($82)|0); + HEAP32[$22>>2] = $83; + $84 = HEAP32[$9>>2]|0; + $85 = (_sqlite3GetTempReg($84)|0); + HEAP32[$23>>2] = $85; + $86 = HEAP32[$17>>2]|0; + $87 = HEAP32[$11>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$11>>2]|0; + $91 = ((($90)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$22>>2]|0; + (_sqlite3VdbeAddOp3($86,99,$89,$92,$93)|0); + $94 = HEAP32[$17>>2]|0; + $95 = HEAP32[$12>>2]|0; + $96 = ((($95)) + 8|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp2($94,114,$97,$98)|0); + $99 = HEAP32[$17>>2]|0; + $100 = HEAP32[$12>>2]|0; + $101 = ((($100)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$22>>2]|0; + $104 = HEAP32[$23>>2]|0; + (_sqlite3VdbeAddOp3($99,115,$102,$103,$104)|0); + $105 = HEAP32[$17>>2]|0; + _sqlite3VdbeChangeP5($105,8); + $106 = HEAP32[$9>>2]|0; + $107 = HEAP32[$23>>2]|0; + _sqlite3ReleaseTempReg($106,$107); + $108 = HEAP32[$9>>2]|0; + $109 = HEAP32[$22>>2]|0; + _sqlite3ReleaseTempReg($108,$109); + break; + } + case 11: { + $110 = HEAP32[$9>>2]|0; + $111 = (_sqlite3GetTempReg($110)|0); + HEAP32[$24>>2] = $111; + $112 = HEAP32[$17>>2]|0; + $113 = HEAP32[$11>>2]|0; + $114 = ((($113)) + 12|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$11>>2]|0; + $117 = ((($116)) + 16|0); + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$24>>2]|0; + $120 = HEAP32[$12>>2]|0; + $121 = ((($120)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$11>>2]|0; + $124 = ((($123)) + 16|0); + $125 = HEAP32[$124>>2]|0; + (_sqlite3VdbeAddOp4($112,99,$115,$118,$119,$122,$125)|0); + $126 = HEAP32[$9>>2]|0; + $127 = HEAP32[$11>>2]|0; + $128 = ((($127)) + 12|0); + $129 = HEAP32[$128>>2]|0; + $130 = HEAP32[$11>>2]|0; + $131 = ((($130)) + 16|0); + $132 = HEAP32[$131>>2]|0; + _sqlite3ExprCacheAffinityChange($126,$129,$132); + $133 = HEAP32[$17>>2]|0; + $134 = HEAP32[$12>>2]|0; + $135 = ((($134)) + 8|0); + $136 = HEAP32[$135>>2]|0; + $137 = HEAP32[$24>>2]|0; + (_sqlite3VdbeAddOp2($133,126,$136,$137)|0); + $138 = HEAP32[$9>>2]|0; + $139 = HEAP32[$24>>2]|0; + _sqlite3ReleaseTempReg($138,$139); + break; + } + case 10: { + $140 = HEAP32[$9>>2]|0; + $141 = HEAP32[$11>>2]|0; + $142 = ((($141)) + 12|0); + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$12>>2]|0; + $145 = ((($144)) + 8|0); + $146 = HEAP32[$145>>2]|0; + _sqlite3ExprCodeMove($140,$143,$146,1); + break; + } + case 13: { + $147 = HEAP32[$12>>2]|0; + $148 = ((($147)) + 12|0); + $149 = HEAP32[$148>>2]|0; + $150 = ($149|0)==(0); + if ($150) { + $151 = HEAP32[$9>>2]|0; + $152 = HEAP32[$11>>2]|0; + $153 = ((($152)) + 16|0); + $154 = HEAP32[$153>>2]|0; + $155 = (_sqlite3GetTempRange($151,$154)|0); + $156 = HEAP32[$12>>2]|0; + $157 = ((($156)) + 12|0); + HEAP32[$157>>2] = $155; + $158 = HEAP32[$11>>2]|0; + $159 = ((($158)) + 16|0); + $160 = HEAP32[$159>>2]|0; + $161 = HEAP32[$12>>2]|0; + $162 = ((($161)) + 16|0); + HEAP32[$162>>2] = $160; + } + $163 = HEAP32[$9>>2]|0; + $164 = HEAP32[$11>>2]|0; + $165 = ((($164)) + 12|0); + $166 = HEAP32[$165>>2]|0; + $167 = HEAP32[$12>>2]|0; + $168 = ((($167)) + 12|0); + $169 = HEAP32[$168>>2]|0; + $170 = HEAP32[$11>>2]|0; + $171 = ((($170)) + 16|0); + $172 = HEAP32[$171>>2]|0; + _sqlite3ExprCodeMove($163,$166,$169,$172); + $173 = HEAP32[$17>>2]|0; + $174 = HEAP32[$12>>2]|0; + $175 = ((($174)) + 8|0); + $176 = HEAP32[$175>>2]|0; + (_sqlite3VdbeAddOp1($173,16,$176)|0); + break; + } + default: { + $177 = HEAP32[$17>>2]|0; + $178 = HEAP32[$11>>2]|0; + $179 = ((($178)) + 12|0); + $180 = HEAP32[$179>>2]|0; + $181 = HEAP32[$11>>2]|0; + $182 = ((($181)) + 16|0); + $183 = HEAP32[$182>>2]|0; + (_sqlite3VdbeAddOp2($177,87,$180,$183)|0); + $184 = HEAP32[$9>>2]|0; + $185 = HEAP32[$11>>2]|0; + $186 = ((($185)) + 12|0); + $187 = HEAP32[$186>>2]|0; + $188 = HEAP32[$11>>2]|0; + $189 = ((($188)) + 16|0); + $190 = HEAP32[$189>>2]|0; + _sqlite3ExprCacheAffinityChange($184,$187,$190); + } + } + $191 = HEAP32[$10>>2]|0; + $192 = ((($191)) + 12|0); + $193 = HEAP32[$192>>2]|0; + $194 = ($193|0)!=(0); + if ($194) { + $195 = HEAP32[$17>>2]|0; + $196 = HEAP32[$10>>2]|0; + $197 = ((($196)) + 12|0); + $198 = HEAP32[$197>>2]|0; + $199 = HEAP32[$16>>2]|0; + (_sqlite3VdbeAddOp2($195,68,$198,$199)|0); + } + $200 = HEAP32[$17>>2]|0; + $201 = HEAP32[$18>>2]|0; + _sqlite3VdbeResolveLabel($200,$201); + $202 = HEAP32[$17>>2]|0; + $203 = HEAP32[$13>>2]|0; + (_sqlite3VdbeAddOp1($202,72,$203)|0); + $204 = HEAP32[$19>>2]|0; + HEAP32[$8>>2] = $204; + $205 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($205|0); +} +function _sqlite3FkDropTable($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$13>>2]|0; + $15 = $14 & 524288; + $16 = ($15|0)!=(0); + if (!($16)) { + STACKTOP = sp;return; + } + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 42|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 & 16; + $22 = ($21|0)!=(0); + if ($22) { + STACKTOP = sp;return; + } + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + STACKTOP = sp;return; + } + HEAP32[$7>>2] = 0; + $27 = HEAP32[$3>>2]|0; + $28 = (_sqlite3GetVdbe($27)|0); + HEAP32[$8>>2] = $28; + $29 = HEAP32[$5>>2]|0; + $30 = (_sqlite3FkReferences($29)|0); + $31 = ($30|0)==(0|0); + do { + if ($31) { + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 16|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$9>>2] = $34; + while(1) { + $35 = HEAP32[$9>>2]|0; + $36 = ($35|0)!=(0|0); + if (!($36)) { + break; + } + $37 = HEAP32[$9>>2]|0; + $38 = ((($37)) + 24|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = ($40|0)!=(0); + if ($41) { + break; + } + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 24|0); + $44 = HEAP32[$43>>2]|0; + $45 = $44 & 33554432; + $46 = ($45|0)!=(0); + if ($46) { + break; + } + $47 = HEAP32[$9>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$9>>2] = $49; + } + $50 = HEAP32[$9>>2]|0; + $51 = ($50|0)!=(0|0); + if ($51) { + $52 = HEAP32[$8>>2]|0; + $53 = (_sqlite3VdbeMakeLabel($52)|0); + HEAP32[$7>>2] = $53; + $54 = HEAP32[$8>>2]|0; + $55 = HEAP32[$7>>2]|0; + (_sqlite3VdbeAddOp2($54,65,1,$55)|0); + break; + } else { + STACKTOP = sp;return; + } + } + } while(0); + $56 = HEAP32[$3>>2]|0; + $57 = ((($56)) + 150|0); + HEAP8[$57>>0] = 1; + $58 = HEAP32[$3>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$4>>2]|0; + $61 = (_sqlite3SrcListDup($59,$60,0)|0); + _sqlite3DeleteFrom($58,$61,0); + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 150|0); + HEAP8[$63>>0] = 0; + $64 = HEAP32[$6>>2]|0; + $65 = ((($64)) + 24|0); + $66 = HEAP32[$65>>2]|0; + $67 = $66 & 33554432; + $68 = ($67|0)==(0); + if ($68) { + $69 = HEAP32[$8>>2]|0; + $70 = HEAP32[$8>>2]|0; + $71 = (_sqlite3VdbeCurrentAddr($70)|0); + $72 = (($71) + 2)|0; + (_sqlite3VdbeAddOp2($69,65,0,$72)|0); + $73 = HEAP32[$3>>2]|0; + _sqlite3HaltConstraint($73,787,2,0,-2,4); + } + $74 = HEAP32[$7>>2]|0; + $75 = ($74|0)!=(0); + if (!($75)) { + STACKTOP = sp;return; + } + $76 = HEAP32[$8>>2]|0; + $77 = HEAP32[$7>>2]|0; + _sqlite3VdbeResolveLabel($76,$77); + STACKTOP = sp;return; +} +function _sqlite3CodeDropTable($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, $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, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$9>>2] = $13; + $14 = HEAP32[$9>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$6>>2]|0; + $18 = (($16) + ($17<<4)|0); + HEAP32[$11>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = (_sqlite3GetVdbe($19)|0); + HEAP32[$8>>2] = $20; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$6>>2]|0; + _sqlite3BeginWriteOperation($21,1,$22); + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 42|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = $26 & 16; + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$8>>2]|0; + (_sqlite3VdbeAddOp0($29,152)|0); + } + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = (_sqlite3TriggerList($30,$31)|0); + HEAP32[$10>>2] = $32; + while(1) { + $33 = HEAP32[$10>>2]|0; + $34 = ($33|0)!=(0|0); + if (!($34)) { + break; + } + $35 = HEAP32[$4>>2]|0; + $36 = HEAP32[$10>>2]|0; + _sqlite3DropTriggerPtr($35,$36); + $37 = HEAP32[$10>>2]|0; + $38 = ((($37)) + 32|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$10>>2] = $39; + } + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 42|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = $43 & 8; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$4>>2]|0; + $47 = HEAP32[$11>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = HEAP32[$49>>2]|0; + HEAP32[$vararg_buffer>>2] = $48; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $50; + _sqlite3NestedParse($46,35606,$vararg_buffer); + } + $51 = HEAP32[$4>>2]|0; + $52 = HEAP32[$11>>2]|0; + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ($54|0)==(1); + $56 = $55 ? 26433 : 26452; + $57 = HEAP32[$5>>2]|0; + $58 = HEAP32[$57>>2]|0; + HEAP32[$vararg_buffer2>>2] = $53; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $56; + $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); + HEAP32[$vararg_ptr6>>2] = $58; + _sqlite3NestedParse($51,35651,$vararg_buffer2); + $59 = HEAP32[$7>>2]|0; + $60 = ($59|0)!=(0); + if (!($60)) { + $61 = HEAP32[$5>>2]|0; + $62 = ((($61)) + 42|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = $64 & 16; + $66 = ($65|0)!=(0); + if (!($66)) { + $67 = HEAP32[$4>>2]|0; + $68 = HEAP32[$5>>2]|0; + _destroyTable($67,$68); + } + } + $69 = HEAP32[$5>>2]|0; + $70 = ((($69)) + 42|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = $72 & 16; + $74 = ($73|0)!=(0); + if (!($74)) { + $79 = HEAP32[$8>>2]|0; + $80 = HEAP32[$6>>2]|0; + $81 = HEAP32[$5>>2]|0; + $82 = HEAP32[$81>>2]|0; + (_sqlite3VdbeAddOp4($79,138,$80,0,0,$82,0)|0); + $83 = HEAP32[$4>>2]|0; + $84 = HEAP32[$6>>2]|0; + _sqlite3ChangeCookie($83,$84); + $85 = HEAP32[$9>>2]|0; + $86 = HEAP32[$6>>2]|0; + _sqliteViewResetAll($85,$86); + STACKTOP = sp;return; + } + $75 = HEAP32[$8>>2]|0; + $76 = HEAP32[$6>>2]|0; + $77 = HEAP32[$5>>2]|0; + $78 = HEAP32[$77>>2]|0; + (_sqlite3VdbeAddOp4($75,154,$76,0,0,$78,0)|0); + $79 = HEAP32[$8>>2]|0; + $80 = HEAP32[$6>>2]|0; + $81 = HEAP32[$5>>2]|0; + $82 = HEAP32[$81>>2]|0; + (_sqlite3VdbeAddOp4($79,138,$80,0,0,$82,0)|0); + $83 = HEAP32[$4>>2]|0; + $84 = HEAP32[$6>>2]|0; + _sqlite3ChangeCookie($83,$84); + $85 = HEAP32[$9>>2]|0; + $86 = HEAP32[$6>>2]|0; + _sqliteViewResetAll($85,$86); + STACKTOP = sp;return; +} +function _destroyTable($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 28|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $12; + HEAP32[$5>>2] = 0; + while(1) { + HEAP32[$7>>2] = 0; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + label = 4; + } else { + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = ($15|0)<($16|0); + if ($17) { + label = 4; + } + } + if ((label|0) == 4) { + label = 0; + $18 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $18; + } + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$6>>2] = $21; + while(1) { + $22 = HEAP32[$6>>2]|0; + $23 = ($22|0)!=(0|0); + if (!($23)) { + break; + } + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 44|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$8>>2] = $26; + $27 = HEAP32[$5>>2]|0; + $28 = ($27|0)==(0); + if ($28) { + label = 9; + } else { + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = ($29|0)<($30|0); + if ($31) { + label = 9; + } + } + if ((label|0) == 9) { + label = 0; + $32 = HEAP32[$8>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = ($32|0)>($33|0); + if ($34) { + $35 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $35; + } + } + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 20|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$6>>2] = $38; + } + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + break; + } + $41 = HEAP32[$2>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 64|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_sqlite3SchemaToIndex($42,$45)|0); + HEAP32[$9>>2] = $46; + $47 = HEAP32[$2>>2]|0; + $48 = HEAP32[$7>>2]|0; + $49 = HEAP32[$9>>2]|0; + _destroyRootPage($47,$48,$49); + $50 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $50; + } + STACKTOP = sp;return; +} +function _sqliteViewResetAll($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (($8) + ($9<<4)|0); + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 78|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = $15 & 2; + $17 = ($16|0)==(2); + if (!($17)) { + STACKTOP = sp;return; + } + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 16|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = (($20) + ($21<<4)|0); + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 8|0); + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$4>>2] = $27; + while(1) { + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if (!($29)) { + break; + } + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$5>>2] = $32; + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)!=(0|0); + if ($36) { + $37 = HEAP32[$2>>2]|0; + $38 = HEAP32[$5>>2]|0; + _sqlite3DeleteColumnNames($37,$38); + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 4|0); + HEAP32[$40>>2] = 0; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 34|0); + HEAP16[$42>>1] = 0; + } + $43 = HEAP32[$4>>2]|0; + $44 = HEAP32[$43>>2]|0; + HEAP32[$4>>2] = $44; + } + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$3>>2]|0; + $49 = (($47) + ($48<<4)|0); + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($51)) + 78|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = $54 & -3; + $56 = $55&65535; + HEAP16[$52>>1] = $56; + STACKTOP = sp;return; +} +function _sqlite3BtreeIsReadonly($0) { + $0 = $0|0; + var $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; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 22|0); + $6 = HEAP16[$5>>1]|0; + $7 = $6&65535; + $8 = $7 & 1; + $9 = ($8|0)!=(0); + $10 = $9&1; + STACKTOP = sp;return ($10|0); +} +function _sqlite3ResolveSelfReference($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; + $5 = sp + 128|0; + $6 = sp + 124|0; + $7 = sp + 120|0; + $8 = sp + 116|0; + $9 = sp + 112|0; + $10 = sp; + $11 = sp + 80|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + ;HEAP32[$11>>2]=0|0;HEAP32[$11+4>>2]=0|0;HEAP32[$11+8>>2]=0|0;HEAP32[$11+12>>2]=0|0;HEAP32[$11+16>>2]=0|0;HEAP32[$11+20>>2]=0|0;HEAP32[$11+24>>2]=0|0;HEAP32[$11+28>>2]=0|0; + dest=$10; stop=dest+80|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$10>>2] = 1; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = ((($10)) + 8|0); + $15 = ((($14)) + 8|0); + HEAP32[$15>>2] = $13; + $16 = HEAP32[$6>>2]|0; + $17 = ((($10)) + 8|0); + $18 = ((($17)) + 16|0); + HEAP32[$18>>2] = $16; + $19 = ((($10)) + 8|0); + $20 = ((($19)) + 44|0); + HEAP32[$20>>2] = -1; + $21 = HEAP32[$5>>2]|0; + HEAP32[$11>>2] = $21; + $22 = ((($11)) + 4|0); + HEAP32[$22>>2] = $10; + $23 = HEAP32[$7>>2]|0; + $24 = $23&65535; + $25 = ((($11)) + 28|0); + HEAP16[$25>>1] = $24; + $26 = HEAP32[$8>>2]|0; + $27 = (_sqlite3ResolveExprNames($11,$26)|0); + $28 = ($27|0)==(0); + $29 = HEAP32[$9>>2]|0; + $30 = ($29|0)!=(0|0); + $or$cond = $28 & $30; + if (!($or$cond)) { + STACKTOP = sp;return; + } + $31 = HEAP32[$9>>2]|0; + (_sqlite3ResolveExprListNames($11,$31)|0); + STACKTOP = sp;return; +} +function _sqlite3StringToId($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, $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; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = ($4|0)==(97); + $6 = HEAP32[$1>>2]|0; + if ($5) { + HEAP8[$6>>0] = 55; + STACKTOP = sp;return; + } + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(53); + if (!($9)) { + STACKTOP = sp;return; + } + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(97); + if (!($15)) { + STACKTOP = sp;return; + } + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + HEAP8[$18>>0] = 55; + STACKTOP = sp;return; +} +function _hasColumn($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + while(1) { + $7 = HEAP32[$5>>2]|0; + $8 = (($7) + -1)|0; + HEAP32[$5>>2] = $8; + $9 = ($7|0)>(0); + if (!($9)) { + label = 5; + break; + } + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 2|0); + HEAP32[$4>>2] = $12; + $13 = HEAP16[$11>>1]|0; + $14 = $13 << 16 >> 16; + $15 = ($10|0)==($14|0); + if ($15) { + label = 4; + break; + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = 1; + $16 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($16|0); + } + else if ((label|0) == 5) { + HEAP32[$3>>2] = 0; + $16 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($16|0); + } + return (0)|0; +} +function _estimateIndexWidth($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + $5 = sp + 16|0; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + HEAP32[$3>>2] = 0; + while(1) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 52|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = ($11|0)<($15|0); + if (!($16)) { + break; + } + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = (($19) + ($20<<1)|0); + $22 = HEAP16[$21>>1]|0; + HEAP16[$5>>1] = $22; + $23 = HEAP16[$5>>1]|0; + $24 = $23 << 16 >> 16; + $25 = ($24|0)<(0); + if ($25) { + $40 = 1; + } else { + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = (($29) + ($30<<1)|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32 << 16 >> 16; + $34 = (($26) + ($33<<4)|0); + $35 = ((($34)) + 14|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $40 = $37; + } + $38 = HEAP32[$2>>2]|0; + $39 = (($38) + ($40))|0; + HEAP32[$2>>2] = $39; + $41 = HEAP32[$3>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$3>>2] = $42; + } + $43 = HEAP32[$2>>2]|0; + $44 = $43<<2; + $45 = (_sqlite3LogEst($44,0)|0); + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 48|0); + HEAP16[$47>>1] = $45; + STACKTOP = sp;return; +} +function _sqlite3ExprIsConstantOrFunction($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp; + $3 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP8[$3>>0] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP8[$3>>0]|0; + $6 = $5&255; + $7 = (4 + ($6))|0; + $8 = (_exprIsConst($4,$7,0)|0); + STACKTOP = sp;return ($8|0); +} +function _convertToWithoutRowidTable($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 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; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 52|0; + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 8|0; + $13 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + HEAP32[$9>>2] = $15; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$10>>2] = $18; + $19 = HEAP32[$9>>2]|0; + $20 = ((($19)) + 148|0); + $21 = ((($20)) + 7|0); + $22 = HEAP8[$21>>0]|0; + $23 = ($22<<24>>24)!=(0); + L1: do { + if (!($23)) { + HEAP32[$7>>2] = 0; + while(1) { + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 34|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27 << 16 >> 16; + $29 = ($24|0)<($28|0); + if (!($29)) { + break L1; + } + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = (($32) + ($33<<4)|0); + $35 = ((($34)) + 15|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = $37 & 1; + $39 = ($38|0)!=(0); + if ($39) { + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$7>>2]|0; + $44 = (($42) + ($43<<4)|0); + $45 = ((($44)) + 12|0); + HEAP8[$45>>0] = 2; + } + $46 = HEAP32[$7>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$7>>2] = $47; + } + } + } while(0); + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 410|0); + $50 = HEAP8[$49>>0]|0; + $51 = ($50<<24>>24)!=(0); + if ($51) { + STACKTOP = sp;return; + } + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 132|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)!=(0); + if ($55) { + $56 = HEAP32[$10>>2]|0; + $57 = HEAP32[$2>>2]|0; + $58 = ((($57)) + 132|0); + $59 = HEAP32[$58>>2]|0; + _sqlite3VdbeChangeOpcode($56,$59,-122); + } + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 32|0); + $62 = HEAP16[$61>>1]|0; + $63 = $62 << 16 >> 16; + $64 = ($63|0)>=(0); + $65 = HEAP32[$3>>2]|0; + do { + if ($64) { + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$3>>2]|0; + $69 = ((($68)) + 32|0); + $70 = HEAP16[$69>>1]|0; + $71 = $70 << 16 >> 16; + $72 = (($67) + ($71<<4)|0); + $73 = HEAP32[$72>>2]|0; + _sqlite3TokenInit($12,$73); + $74 = HEAP32[$2>>2]|0; + $75 = HEAP32[$9>>2]|0; + $76 = (_sqlite3ExprAlloc($75,55,$12,0)|0); + $77 = (_sqlite3ExprListAppend($74,0,$76)|0); + HEAP32[$11>>2] = $77; + $78 = HEAP32[$11>>2]|0; + $79 = ($78|0)==(0|0); + if ($79) { + STACKTOP = sp;return; + } + $80 = HEAP32[$2>>2]|0; + $81 = ((($80)) + 408|0); + $82 = HEAP8[$81>>0]|0; + $83 = HEAP32[$11>>2]|0; + $84 = ((($83)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($85)) + 12|0); + HEAP8[$86>>0] = $82; + $87 = HEAP32[$2>>2]|0; + $88 = HEAP32[$11>>2]|0; + $89 = HEAP32[$3>>2]|0; + $90 = ((($89)) + 43|0); + $91 = HEAP8[$90>>0]|0; + $92 = $91&255; + _sqlite3CreateIndex($87,0,0,0,$88,$92,0,0,0,0,2); + $93 = HEAP32[$9>>2]|0; + $94 = ((($93)) + 69|0); + $95 = HEAP8[$94>>0]|0; + $96 = ($95<<24>>24)!=(0); + if ($96) { + STACKTOP = sp;return; + } else { + $97 = HEAP32[$3>>2]|0; + $98 = (_sqlite3PrimaryKeyIndex($97)|0); + HEAP32[$5>>2] = $98; + $99 = HEAP32[$3>>2]|0; + $100 = ((($99)) + 32|0); + HEAP16[$100>>1] = -1; + break; + } + } else { + $101 = (_sqlite3PrimaryKeyIndex($65)|0); + HEAP32[$5>>2] = $101; + $102 = HEAP32[$10>>2]|0; + $103 = ($102|0)!=(0|0); + if ($103) { + $104 = HEAP32[$10>>2]|0; + $105 = HEAP32[$5>>2]|0; + $106 = ((($105)) + 44|0); + $107 = HEAP32[$106>>2]|0; + _sqlite3VdbeChangeOpcode($104,$107,13); + } + HEAP32[$8>>2] = 1; + HEAP32[$7>>2] = 1; + while(1) { + $108 = HEAP32[$7>>2]|0; + $109 = HEAP32[$5>>2]|0; + $110 = ((($109)) + 50|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = ($108|0)<($112|0); + if (!($113)) { + break; + } + $114 = HEAP32[$5>>2]|0; + $115 = ((($114)) + 4|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$8>>2]|0; + $118 = HEAP32[$5>>2]|0; + $119 = ((($118)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$7>>2]|0; + $122 = (($120) + ($121<<1)|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123 << 16 >> 16; + $125 = (_hasColumn($116,$117,$124)|0); + $126 = ($125|0)!=(0); + $127 = HEAP32[$5>>2]|0; + if ($126) { + $128 = ((($127)) + 52|0); + $129 = HEAP16[$128>>1]|0; + $130 = (($129) + -1)<<16>>16; + HEAP16[$128>>1] = $130; + } else { + $131 = ((($127)) + 4|0); + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$7>>2]|0; + $134 = (($132) + ($133<<1)|0); + $135 = HEAP16[$134>>1]|0; + $136 = HEAP32[$5>>2]|0; + $137 = ((($136)) + 4|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$8>>2]|0; + $140 = (($139) + 1)|0; + HEAP32[$8>>2] = $140; + $141 = (($138) + ($139<<1)|0); + HEAP16[$141>>1] = $135; + } + $142 = HEAP32[$7>>2]|0; + $143 = (($142) + 1)|0; + HEAP32[$7>>2] = $143; + } + $144 = HEAP32[$8>>2]|0; + $145 = $144&65535; + $146 = HEAP32[$5>>2]|0; + $147 = ((($146)) + 50|0); + HEAP16[$147>>1] = $145; + } + } while(0); + $148 = HEAP32[$5>>2]|0; + $149 = ((($148)) + 55|0); + $150 = HEAP8[$149>>0]|0; + $151 = $150 & -33; + $152 = $151 | 32; + HEAP8[$149>>0] = $152; + $153 = HEAP32[$9>>2]|0; + $154 = ((($153)) + 148|0); + $155 = ((($154)) + 7|0); + $156 = HEAP8[$155>>0]|0; + $157 = ($156<<24>>24)!=(0); + if (!($157)) { + $158 = HEAP32[$5>>2]|0; + $159 = ((($158)) + 55|0); + $160 = HEAP8[$159>>0]|0; + $161 = $160 & -9; + $162 = $161 | 8; + HEAP8[$159>>0] = $162; + } + $163 = HEAP32[$5>>2]|0; + $164 = ((($163)) + 50|0); + $165 = HEAP16[$164>>1]|0; + $166 = $165&65535; + HEAP32[$6>>2] = $166; + $167 = HEAP32[$3>>2]|0; + $168 = ((($167)) + 28|0); + $169 = HEAP32[$168>>2]|0; + $170 = HEAP32[$5>>2]|0; + $171 = ((($170)) + 44|0); + HEAP32[$171>>2] = $169; + $172 = HEAP32[$3>>2]|0; + $173 = ((($172)) + 8|0); + $174 = HEAP32[$173>>2]|0; + HEAP32[$4>>2] = $174; + L40: while(1) { + $175 = HEAP32[$4>>2]|0; + $176 = ($175|0)!=(0|0); + if (!($176)) { + break; + } + $177 = HEAP32[$4>>2]|0; + $178 = ((($177)) + 55|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179 & 3; + $181 = $180&255; + $182 = ($181|0)==(2); + L43: do { + if (!($182)) { + HEAP32[$13>>2] = 0; + HEAP32[$7>>2] = 0; + while(1) { + $183 = HEAP32[$7>>2]|0; + $184 = HEAP32[$6>>2]|0; + $185 = ($183|0)<($184|0); + if (!($185)) { + break; + } + $186 = HEAP32[$4>>2]|0; + $187 = ((($186)) + 4|0); + $188 = HEAP32[$187>>2]|0; + $189 = HEAP32[$4>>2]|0; + $190 = ((($189)) + 50|0); + $191 = HEAP16[$190>>1]|0; + $192 = $191&65535; + $193 = HEAP32[$5>>2]|0; + $194 = ((($193)) + 4|0); + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$7>>2]|0; + $197 = (($195) + ($196<<1)|0); + $198 = HEAP16[$197>>1]|0; + $199 = $198 << 16 >> 16; + $200 = (_hasColumn($188,$192,$199)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + $202 = HEAP32[$13>>2]|0; + $203 = (($202) + 1)|0; + HEAP32[$13>>2] = $203; + } + $204 = HEAP32[$7>>2]|0; + $205 = (($204) + 1)|0; + HEAP32[$7>>2] = $205; + } + $206 = HEAP32[$13>>2]|0; + $207 = ($206|0)==(0); + if ($207) { + $208 = HEAP32[$4>>2]|0; + $209 = ((($208)) + 50|0); + $210 = HEAP16[$209>>1]|0; + $211 = HEAP32[$4>>2]|0; + $212 = ((($211)) + 52|0); + HEAP16[$212>>1] = $210; + break; + } + $213 = HEAP32[$9>>2]|0; + $214 = HEAP32[$4>>2]|0; + $215 = HEAP32[$4>>2]|0; + $216 = ((($215)) + 50|0); + $217 = HEAP16[$216>>1]|0; + $218 = $217&65535; + $219 = HEAP32[$13>>2]|0; + $220 = (($218) + ($219))|0; + $221 = (_resizeIndexObject($213,$214,$220)|0); + $222 = ($221|0)!=(0); + if ($222) { + label = 50; + break L40; + } + HEAP32[$7>>2] = 0; + $223 = HEAP32[$4>>2]|0; + $224 = ((($223)) + 50|0); + $225 = HEAP16[$224>>1]|0; + $226 = $225&65535; + HEAP32[$8>>2] = $226; + while(1) { + $227 = HEAP32[$7>>2]|0; + $228 = HEAP32[$6>>2]|0; + $229 = ($227|0)<($228|0); + if (!($229)) { + break L43; + } + $230 = HEAP32[$4>>2]|0; + $231 = ((($230)) + 4|0); + $232 = HEAP32[$231>>2]|0; + $233 = HEAP32[$4>>2]|0; + $234 = ((($233)) + 50|0); + $235 = HEAP16[$234>>1]|0; + $236 = $235&65535; + $237 = HEAP32[$5>>2]|0; + $238 = ((($237)) + 4|0); + $239 = HEAP32[$238>>2]|0; + $240 = HEAP32[$7>>2]|0; + $241 = (($239) + ($240<<1)|0); + $242 = HEAP16[$241>>1]|0; + $243 = $242 << 16 >> 16; + $244 = (_hasColumn($232,$236,$243)|0); + $245 = ($244|0)!=(0); + if (!($245)) { + $246 = HEAP32[$5>>2]|0; + $247 = ((($246)) + 4|0); + $248 = HEAP32[$247>>2]|0; + $249 = HEAP32[$7>>2]|0; + $250 = (($248) + ($249<<1)|0); + $251 = HEAP16[$250>>1]|0; + $252 = HEAP32[$4>>2]|0; + $253 = ((($252)) + 4|0); + $254 = HEAP32[$253>>2]|0; + $255 = HEAP32[$8>>2]|0; + $256 = (($254) + ($255<<1)|0); + HEAP16[$256>>1] = $251; + $257 = HEAP32[$5>>2]|0; + $258 = ((($257)) + 32|0); + $259 = HEAP32[$258>>2]|0; + $260 = HEAP32[$7>>2]|0; + $261 = (($259) + ($260<<2)|0); + $262 = HEAP32[$261>>2]|0; + $263 = HEAP32[$4>>2]|0; + $264 = ((($263)) + 32|0); + $265 = HEAP32[$264>>2]|0; + $266 = HEAP32[$8>>2]|0; + $267 = (($265) + ($266<<2)|0); + HEAP32[$267>>2] = $262; + $268 = HEAP32[$8>>2]|0; + $269 = (($268) + 1)|0; + HEAP32[$8>>2] = $269; + } + $270 = HEAP32[$7>>2]|0; + $271 = (($270) + 1)|0; + HEAP32[$7>>2] = $271; + } + } + } while(0); + $272 = HEAP32[$4>>2]|0; + $273 = ((($272)) + 20|0); + $274 = HEAP32[$273>>2]|0; + HEAP32[$4>>2] = $274; + } + if ((label|0) == 50) { + STACKTOP = sp;return; + } + $275 = HEAP32[$6>>2]|0; + $276 = HEAP32[$3>>2]|0; + $277 = ((($276)) + 34|0); + $278 = HEAP16[$277>>1]|0; + $279 = $278 << 16 >> 16; + $280 = ($275|0)<($279|0); + if (!($280)) { + $319 = HEAP32[$3>>2]|0; + $320 = ((($319)) + 34|0); + $321 = HEAP16[$320>>1]|0; + $322 = HEAP32[$5>>2]|0; + $323 = ((($322)) + 52|0); + HEAP16[$323>>1] = $321; + STACKTOP = sp;return; + } + $281 = HEAP32[$9>>2]|0; + $282 = HEAP32[$5>>2]|0; + $283 = HEAP32[$3>>2]|0; + $284 = ((($283)) + 34|0); + $285 = HEAP16[$284>>1]|0; + $286 = $285 << 16 >> 16; + $287 = (_resizeIndexObject($281,$282,$286)|0); + $288 = ($287|0)!=(0); + if ($288) { + STACKTOP = sp;return; + } + HEAP32[$7>>2] = 0; + $289 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $289; + while(1) { + $290 = HEAP32[$7>>2]|0; + $291 = HEAP32[$3>>2]|0; + $292 = ((($291)) + 34|0); + $293 = HEAP16[$292>>1]|0; + $294 = $293 << 16 >> 16; + $295 = ($290|0)<($294|0); + if (!($295)) { + break; + } + $296 = HEAP32[$5>>2]|0; + $297 = ((($296)) + 4|0); + $298 = HEAP32[$297>>2]|0; + $299 = HEAP32[$8>>2]|0; + $300 = HEAP32[$7>>2]|0; + $301 = (_hasColumn($298,$299,$300)|0); + $302 = ($301|0)!=(0); + if (!($302)) { + $303 = HEAP32[$7>>2]|0; + $304 = $303&65535; + $305 = HEAP32[$5>>2]|0; + $306 = ((($305)) + 4|0); + $307 = HEAP32[$306>>2]|0; + $308 = HEAP32[$8>>2]|0; + $309 = (($307) + ($308<<1)|0); + HEAP16[$309>>1] = $304; + $310 = HEAP32[$5>>2]|0; + $311 = ((($310)) + 32|0); + $312 = HEAP32[$311>>2]|0; + $313 = HEAP32[$8>>2]|0; + $314 = (($312) + ($313<<2)|0); + HEAP32[$314>>2] = 34455; + $315 = HEAP32[$8>>2]|0; + $316 = (($315) + 1)|0; + HEAP32[$8>>2] = $316; + } + $317 = HEAP32[$7>>2]|0; + $318 = (($317) + 1)|0; + HEAP32[$7>>2] = $318; + } + STACKTOP = sp;return; +} +function _estimateTableWidth($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 34|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7 << 16 >> 16; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $11; + while(1) { + $12 = HEAP32[$4>>2]|0; + $13 = ($12|0)>(0); + if (!($13)) { + break; + } + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 14|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = HEAP32[$2>>2]|0; + $19 = (($18) + ($17))|0; + HEAP32[$2>>2] = $19; + $20 = HEAP32[$4>>2]|0; + $21 = (($20) + -1)|0; + HEAP32[$4>>2] = $21; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 16|0); + HEAP32[$3>>2] = $23; + } + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 32|0); + $26 = HEAP16[$25>>1]|0; + $27 = $26 << 16 >> 16; + $28 = ($27|0)<(0); + if (!($28)) { + $31 = HEAP32[$2>>2]|0; + $32 = $31<<2; + $33 = (_sqlite3LogEst($32,0)|0); + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 40|0); + HEAP16[$35>>1] = $33; + STACKTOP = sp;return; + } + $29 = HEAP32[$2>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$2>>2] = $30; + $31 = HEAP32[$2>>2]|0; + $32 = $31<<2; + $33 = (_sqlite3LogEst($32,0)|0); + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 40|0); + HEAP16[$35>>1] = $33; + STACKTOP = sp;return; +} +function _createTableStmt($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0; + var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 68|0; + $3 = sp + 64|0; + $4 = sp + 60|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$7>>2] = 0; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$12>>2] = $17; + HEAP32[$5>>2] = 0; + while(1) { + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 34|0); + $21 = HEAP16[$20>>1]|0; + $22 = $21 << 16 >> 16; + $23 = ($18|0)<($22|0); + if (!($23)) { + break; + } + $24 = HEAP32[$12>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = (_identLength($25)|0); + $27 = (($26) + 5)|0; + $28 = HEAP32[$7>>2]|0; + $29 = (($28) + ($27))|0; + HEAP32[$7>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$5>>2] = $31; + $32 = HEAP32[$12>>2]|0; + $33 = ((($32)) + 16|0); + HEAP32[$12>>2] = $33; + } + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = (_identLength($35)|0); + $37 = HEAP32[$7>>2]|0; + $38 = (($37) + ($36))|0; + HEAP32[$7>>2] = $38; + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)<(50); + if ($40) { + HEAP32[$9>>2] = 55752; + HEAP32[$10>>2] = 22226; + HEAP32[$11>>2] = 34322; + } else { + HEAP32[$9>>2] = 36806; + HEAP32[$10>>2] = 36810; + HEAP32[$11>>2] = 36815; + } + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 34|0); + $43 = HEAP16[$42>>1]|0; + $44 = $43 << 16 >> 16; + $45 = ($44*6)|0; + $46 = (35 + ($45))|0; + $47 = HEAP32[$7>>2]|0; + $48 = (($47) + ($46))|0; + HEAP32[$7>>2] = $48; + $49 = HEAP32[$7>>2]|0; + $50 = ($49|0)<(0); + $51 = $50 << 31 >> 31; + $52 = (_sqlite3DbMallocRaw(0,$49,$51)|0); + HEAP32[$8>>2] = $52; + $53 = HEAP32[$8>>2]|0; + $54 = ($53|0)==(0|0); + if ($54) { + $55 = HEAP32[$3>>2]|0; + _sqlite3OomFault($55); + HEAP32[$2>>2] = 0; + $116 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($116|0); + } + $56 = HEAP32[$7>>2]|0; + $57 = HEAP32[$8>>2]|0; + (_sqlite3_snprintf($56,$57,36818,$vararg_buffer)|0); + $58 = HEAP32[$8>>2]|0; + $59 = (_sqlite3Strlen30($58)|0); + HEAP32[$6>>2] = $59; + $60 = HEAP32[$8>>2]|0; + $61 = HEAP32[$4>>2]|0; + $62 = HEAP32[$61>>2]|0; + _identPut($60,$6,$62); + $63 = HEAP32[$8>>2]|0; + $64 = HEAP32[$6>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$6>>2] = $65; + $66 = (($63) + ($64)|0); + HEAP8[$66>>0] = 40; + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 4|0); + $69 = HEAP32[$68>>2]|0; + HEAP32[$12>>2] = $69; + HEAP32[$5>>2] = 0; + while(1) { + $70 = HEAP32[$5>>2]|0; + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 34|0); + $73 = HEAP16[$72>>1]|0; + $74 = $73 << 16 >> 16; + $75 = ($70|0)<($74|0); + $76 = HEAP32[$7>>2]|0; + $77 = HEAP32[$6>>2]|0; + $78 = (($76) - ($77))|0; + $79 = HEAP32[$8>>2]|0; + $80 = HEAP32[$6>>2]|0; + $81 = (($79) + ($80)|0); + if (!($75)) { + break; + } + $82 = HEAP32[$9>>2]|0; + (_sqlite3_snprintf($78,$81,$82,$vararg_buffer1)|0); + $83 = HEAP32[$8>>2]|0; + $84 = HEAP32[$6>>2]|0; + $85 = (($83) + ($84)|0); + $86 = (_sqlite3Strlen30($85)|0); + $87 = HEAP32[$6>>2]|0; + $88 = (($87) + ($86))|0; + HEAP32[$6>>2] = $88; + $89 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $89; + $90 = HEAP32[$8>>2]|0; + $91 = HEAP32[$12>>2]|0; + $92 = HEAP32[$91>>2]|0; + _identPut($90,$6,$92); + $93 = HEAP32[$12>>2]|0; + $94 = ((($93)) + 13|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95 << 24 >> 24; + $97 = (($96) - 65)|0; + $98 = (5560 + ($97<<2)|0); + $99 = HEAP32[$98>>2]|0; + HEAP32[$14>>2] = $99; + $100 = HEAP32[$14>>2]|0; + $101 = (_sqlite3Strlen30($100)|0); + HEAP32[$13>>2] = $101; + $102 = HEAP32[$8>>2]|0; + $103 = HEAP32[$6>>2]|0; + $104 = (($102) + ($103)|0); + $105 = HEAP32[$14>>2]|0; + $106 = HEAP32[$13>>2]|0; + _memcpy(($104|0),($105|0),($106|0))|0; + $107 = HEAP32[$13>>2]|0; + $108 = HEAP32[$6>>2]|0; + $109 = (($108) + ($107))|0; + HEAP32[$6>>2] = $109; + $110 = HEAP32[$5>>2]|0; + $111 = (($110) + 1)|0; + HEAP32[$5>>2] = $111; + $112 = HEAP32[$12>>2]|0; + $113 = ((($112)) + 16|0); + HEAP32[$12>>2] = $113; + } + $114 = HEAP32[$11>>2]|0; + HEAP32[$vararg_buffer3>>2] = $114; + (_sqlite3_snprintf($78,$81,21240,$vararg_buffer3)|0); + $115 = HEAP32[$8>>2]|0; + HEAP32[$2>>2] = $115; + $116 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($116|0); +} +function _identLength($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)!=(0); + if (!($5)) { + break; + } + $6 = HEAP32[$1>>2]|0; + $7 = HEAP8[$6>>0]|0; + $8 = $7 << 24 >> 24; + $9 = ($8|0)==(34); + if ($9) { + $10 = HEAP32[$2>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$2>>2] = $11; + } + $12 = HEAP32[$2>>2]|0; + $13 = (($12) + 1)|0; + HEAP32[$2>>2] = $13; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 1|0); + HEAP32[$1>>2] = $15; + } + $16 = HEAP32[$2>>2]|0; + $17 = (($16) + 2)|0; + STACKTOP = sp;return ($17|0); +} +function _identPut($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$7>>2] = $12; + HEAP32[$8>>2] = 0; + while(1) { + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = (($13) + ($14)|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if (!($17)) { + break; + } + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = (($18) + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = (20063 + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 & 6; + $27 = ($26|0)!=(0); + if (!($27)) { + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$8>>2]|0; + $30 = (($28) + ($29)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32|0)!=(95); + if ($33) { + break; + } + } + $34 = HEAP32[$8>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$8>>2] = $35; + } + $36 = HEAP32[$6>>2]|0; + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (20063 + ($38)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $41 & 4; + $43 = ($42|0)!=(0); + if ($43) { + $57 = 1; + } else { + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$8>>2]|0; + $46 = (_sqlite3KeywordCode($44,$45)|0); + $47 = ($46|0)!=(55); + if ($47) { + $57 = 1; + } else { + $48 = HEAP32[$6>>2]|0; + $49 = HEAP32[$8>>2]|0; + $50 = (($48) + ($49)|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = ($52|0)!=(0); + if ($53) { + $57 = 1; + } else { + $54 = HEAP32[$8>>2]|0; + $55 = ($54|0)==(0); + $57 = $55; + } + } + } + $56 = $57&1; + HEAP32[$9>>2] = $56; + $58 = HEAP32[$9>>2]|0; + $59 = ($58|0)!=(0); + if ($59) { + $60 = HEAP32[$3>>2]|0; + $61 = HEAP32[$7>>2]|0; + $62 = (($61) + 1)|0; + HEAP32[$7>>2] = $62; + $63 = (($60) + ($61)|0); + HEAP8[$63>>0] = 34; + } + HEAP32[$8>>2] = 0; + while(1) { + $64 = HEAP32[$6>>2]|0; + $65 = HEAP32[$8>>2]|0; + $66 = (($64) + ($65)|0); + $67 = HEAP8[$66>>0]|0; + $68 = ($67<<24>>24)!=(0); + if (!($68)) { + break; + } + $69 = HEAP32[$6>>2]|0; + $70 = HEAP32[$8>>2]|0; + $71 = (($69) + ($70)|0); + $72 = HEAP8[$71>>0]|0; + $73 = HEAP32[$3>>2]|0; + $74 = HEAP32[$7>>2]|0; + $75 = (($74) + 1)|0; + HEAP32[$7>>2] = $75; + $76 = (($73) + ($74)|0); + HEAP8[$76>>0] = $72; + $77 = HEAP32[$6>>2]|0; + $78 = HEAP32[$8>>2]|0; + $79 = (($77) + ($78)|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ($81|0)==(34); + if ($82) { + $83 = HEAP32[$3>>2]|0; + $84 = HEAP32[$7>>2]|0; + $85 = (($84) + 1)|0; + HEAP32[$7>>2] = $85; + $86 = (($83) + ($84)|0); + HEAP8[$86>>0] = 34; + } + $87 = HEAP32[$8>>2]|0; + $88 = (($87) + 1)|0; + HEAP32[$8>>2] = $88; + } + $89 = HEAP32[$9>>2]|0; + $90 = ($89|0)!=(0); + if (!($90)) { + $95 = HEAP32[$3>>2]|0; + $96 = HEAP32[$7>>2]|0; + $97 = (($95) + ($96)|0); + HEAP8[$97>>0] = 0; + $98 = HEAP32[$7>>2]|0; + $99 = HEAP32[$4>>2]|0; + HEAP32[$99>>2] = $98; + STACKTOP = sp;return; + } + $91 = HEAP32[$3>>2]|0; + $92 = HEAP32[$7>>2]|0; + $93 = (($92) + 1)|0; + HEAP32[$7>>2] = $93; + $94 = (($91) + ($92)|0); + HEAP8[$94>>0] = 34; + $95 = HEAP32[$3>>2]|0; + $96 = HEAP32[$7>>2]|0; + $97 = (($95) + ($96)|0); + HEAP8[$97>>0] = 0; + $98 = HEAP32[$7>>2]|0; + $99 = HEAP32[$4>>2]|0; + HEAP32[$99>>2] = $98; + STACKTOP = sp;return; +} +function _sqlite3KeywordCode($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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 55; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + (_keywordCode($5,$6,$4)|0); + $7 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _resizeIndexObject($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$5>>2]|0; + $10 = ((($9)) + 52|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = HEAP32[$6>>2]|0; + $14 = ($12|0)>=($13|0); + if ($14) { + HEAP32[$3>>2] = 0; + $76 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($76|0); + } + $15 = HEAP32[$6>>2]|0; + $16 = ($15*7)|0; + HEAP32[$8>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)<(0); + $20 = $19 << 31 >> 31; + $21 = (_sqlite3DbMallocZero($17,$18,$20)|0); + HEAP32[$7>>2] = $21; + $22 = HEAP32[$7>>2]|0; + $23 = ($22|0)==(0|0); + if ($23) { + HEAP32[$3>>2] = 7; + $76 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($76|0); + } else { + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 32|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 52|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $32 = $31<<2; + _memcpy(($24|0),($27|0),($32|0))|0; + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = ((($34)) + 32|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$6>>2]|0; + $37 = $36<<2; + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + ($37)|0); + HEAP32[$7>>2] = $39; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 52|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = $47<<1; + _memcpy(($40|0),($43|0),($48|0))|0; + $49 = HEAP32[$7>>2]|0; + $50 = HEAP32[$5>>2]|0; + $51 = ((($50)) + 4|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$6>>2]|0; + $53 = $52<<1; + $54 = HEAP32[$7>>2]|0; + $55 = (($54) + ($53)|0); + HEAP32[$7>>2] = $55; + $56 = HEAP32[$7>>2]|0; + $57 = HEAP32[$5>>2]|0; + $58 = ((($57)) + 28|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$5>>2]|0; + $61 = ((($60)) + 52|0); + $62 = HEAP16[$61>>1]|0; + $63 = $62&65535; + _memcpy(($56|0),($59|0),($63|0))|0; + $64 = HEAP32[$7>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = ((($65)) + 28|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$6>>2]|0; + $68 = $67&65535; + $69 = HEAP32[$5>>2]|0; + $70 = ((($69)) + 52|0); + HEAP16[$70>>1] = $68; + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + 55|0); + $73 = HEAP8[$72>>0]|0; + $74 = $73 & -17; + $75 = $74 | 16; + HEAP8[$72>>0] = $75; + HEAP32[$3>>2] = 0; + $76 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($76|0); + } + return (0)|0; +} +function _sqlite3OpenMasterTable($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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = (_sqlite3GetVdbe($5)|0); + HEAP32[$4>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)==(1); + $11 = $10 ? 26433 : 26452; + _sqlite3TableLock($7,$8,1,1,$11); + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp4Int($12,105,0,1,$13,5)|0); + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 40|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + STACKTOP = sp;return; + } + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 40|0); + HEAP32[$19>>2] = 1; + STACKTOP = sp;return; +} +function _codeTableLocks($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + $6 = HEAP32[$1>>2]|0; + $7 = (_sqlite3GetVdbe($6)|0); + HEAP32[$3>>2] = $7; + HEAP32[$2>>2] = 0; + while(1) { + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 112|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)<($11|0); + if (!($12)) { + break; + } + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 116|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = (($15) + ($16<<4)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$5>>2] = $19; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + (_sqlite3VdbeAddOp4($20,151,$21,$24,$28,$31,-2)|0); + $32 = HEAP32[$2>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$2>>2] = $33; + } + STACKTOP = sp;return; +} +function _sqlite3AutoincrementBegin($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$1>>2] = $0; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $12; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 120|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$2>>2] = $15; + while(1) { + $16 = HEAP32[$2>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + label = 5; + break; + } + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 16|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 8|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($20) + ($23<<4)|0); + HEAP32[$4>>2] = $24; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$5>>2] = $27; + $28 = HEAP32[$1>>2]|0; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 72|0); + $36 = HEAP32[$35>>2]|0; + _sqlite3OpenTable($28,0,$31,$36,104); + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = (($38) - 1)|0; + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$42>>2]|0; + (_sqlite3VdbeLoadString($37,$39,$43)|0); + $44 = HEAP32[$6>>2]|0; + $45 = (_sqlite3VdbeAddOpList($44,10,36994,0)|0); + HEAP32[$7>>2] = $45; + $46 = HEAP32[$7>>2]|0; + $47 = ($46|0)==(0|0); + if ($47) { + label = 5; + break; + } + $48 = HEAP32[$5>>2]|0; + $49 = HEAP32[$7>>2]|0; + $50 = ((($49)) + 8|0); + HEAP32[$50>>2] = $48; + $51 = HEAP32[$5>>2]|0; + $52 = (($51) + 1)|0; + $53 = HEAP32[$7>>2]|0; + $54 = ((($53)) + 12|0); + HEAP32[$54>>2] = $52; + $55 = HEAP32[$5>>2]|0; + $56 = HEAP32[$7>>2]|0; + $57 = ((($56)) + 40|0); + $58 = ((($57)) + 12|0); + HEAP32[$58>>2] = $55; + $59 = HEAP32[$5>>2]|0; + $60 = (($59) - 1)|0; + $61 = HEAP32[$7>>2]|0; + $62 = ((($61)) + 60|0); + $63 = ((($62)) + 4|0); + HEAP32[$63>>2] = $60; + $64 = HEAP32[$5>>2]|0; + $65 = HEAP32[$7>>2]|0; + $66 = ((($65)) + 60|0); + $67 = ((($66)) + 12|0); + HEAP32[$67>>2] = $64; + $68 = HEAP32[$7>>2]|0; + $69 = ((($68)) + 60|0); + $70 = ((($69)) + 3|0); + HEAP8[$70>>0] = 16; + $71 = HEAP32[$5>>2]|0; + $72 = (($71) + 1)|0; + $73 = HEAP32[$7>>2]|0; + $74 = ((($73)) + 80|0); + $75 = ((($74)) + 8|0); + HEAP32[$75>>2] = $72; + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$7>>2]|0; + $78 = ((($77)) + 100|0); + $79 = ((($78)) + 12|0); + HEAP32[$79>>2] = $76; + $80 = HEAP32[$5>>2]|0; + $81 = HEAP32[$7>>2]|0; + $82 = ((($81)) + 160|0); + $83 = ((($82)) + 8|0); + HEAP32[$83>>2] = $80; + $84 = HEAP32[$2>>2]|0; + $85 = HEAP32[$84>>2]|0; + HEAP32[$2>>2] = $85; + } + if ((label|0) == 5) { + STACKTOP = sp;return; + } +} +function _sqlite3VdbeMakeReady($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 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; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 400|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15 << 16 >> 16; + HEAP32[$5>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 44|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$6>>2] = $19; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 40|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$7>>2] = $22; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 108|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$8>>2] = $25; + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = (($27) + ($26))|0; + HEAP32[$6>>2] = $28; + $29 = HEAP32[$7>>2]|0; + $30 = ($29|0)==(0); + $31 = HEAP32[$6>>2]|0; + $32 = ($31|0)>(0); + $or$cond = $30 & $32; + if ($or$cond) { + $33 = HEAP32[$6>>2]|0; + $34 = (($33) + 1)|0; + HEAP32[$6>>2] = $34; + } + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 136|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37*20)|0; + $39 = (($38) + 7)|0; + $40 = $39 & -8; + HEAP32[$9>>2] = $40; + $41 = HEAP32[$2>>2]|0; + $42 = ((($41)) + 88|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$9>>2]|0; + $45 = (($43) + ($44)|0); + HEAP32[$10>>2] = $45; + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 52|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$9>>2]|0; + $50 = (($48) - ($49))|0; + $51 = $50 & -8; + $52 = ((($10)) + 4|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$2>>2]|0; + _resolveP2Values($53,$8); + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 20|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = ($57|0)!=(0); + if ($58) { + $59 = HEAP32[$3>>2]|0; + $60 = ((($59)) + 21|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62|0)!=(0); + $65 = $63; + } else { + $65 = 0; + } + $64 = $65&1; + $66 = $64&255; + $67 = $66&255; + $68 = HEAP32[$2>>2]|0; + $69 = ((($68)) + 144|0); + $70 = $67&65535; + $71 = HEAP16[$69>>1]|0; + $72 = $70 & 1; + $73 = ($72 << 6)&65535; + $74 = $71 & -65; + $75 = $74 | $73; + HEAP16[$69>>1] = $75; + $76 = HEAP32[$3>>2]|0; + $77 = ((($76)) + 409|0); + $78 = HEAP8[$77>>0]|0; + $79 = $78&255; + $80 = ($79|0)!=(0); + $81 = HEAP32[$6>>2]|0; + $82 = ($81|0)<(10); + $or$cond3 = $80 & $82; + if ($or$cond3) { + HEAP32[$6>>2] = 10; + } + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 144|0); + $85 = HEAP16[$84>>1]|0; + $86 = $85 & -2; + HEAP16[$84>>1] = $86; + while(1) { + $87 = ((($10)) + 8|0); + HEAP32[$87>>2] = 0; + $88 = HEAP32[$2>>2]|0; + $89 = ((($88)) + 92|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$6>>2]|0; + $92 = ($91*40)|0; + $93 = (_allocSpace($10,$90,$92)|0); + $94 = HEAP32[$2>>2]|0; + $95 = ((($94)) + 92|0); + HEAP32[$95>>2] = $93; + $96 = HEAP32[$2>>2]|0; + $97 = ((($96)) + 116|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$5>>2]|0; + $100 = ($99*40)|0; + $101 = (_allocSpace($10,$98,$100)|0); + $102 = HEAP32[$2>>2]|0; + $103 = ((($102)) + 116|0); + HEAP32[$103>>2] = $101; + $104 = HEAP32[$2>>2]|0; + $105 = ((($104)) + 96|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$8>>2]|0; + $108 = $107<<2; + $109 = (_allocSpace($10,$106,$108)|0); + $110 = HEAP32[$2>>2]|0; + $111 = ((($110)) + 96|0); + HEAP32[$111>>2] = $109; + $112 = HEAP32[$2>>2]|0; + $113 = ((($112)) + 112|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$7>>2]|0; + $116 = $115<<2; + $117 = (_allocSpace($10,$114,$116)|0); + $118 = HEAP32[$2>>2]|0; + $119 = ((($118)) + 112|0); + HEAP32[$119>>2] = $117; + $120 = ((($10)) + 8|0); + $121 = HEAP32[$120>>2]|0; + $122 = ($121|0)==(0); + if ($122) { + break; + } + $123 = HEAP32[$4>>2]|0; + $124 = ((($10)) + 8|0); + $125 = HEAP32[$124>>2]|0; + $126 = ($125|0)<(0); + $127 = $126 << 31 >> 31; + $128 = (_sqlite3DbMallocRawNN($123,$125,$127)|0); + $129 = HEAP32[$2>>2]|0; + $130 = ((($129)) + 180|0); + HEAP32[$130>>2] = $128; + HEAP32[$10>>2] = $128; + $131 = ((($10)) + 8|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($10)) + 4|0); + HEAP32[$133>>2] = $132; + $134 = HEAP32[$4>>2]|0; + $135 = ((($134)) + 69|0); + $136 = HEAP8[$135>>0]|0; + $137 = ($136<<24>>24)!=(0); + $138 = $137 ^ 1; + if (!($138)) { + break; + } + } + $139 = HEAP32[$3>>2]|0; + $140 = ((($139)) + 404|0); + $141 = HEAP32[$140>>2]|0; + $142 = $141&65535; + $143 = HEAP32[$2>>2]|0; + $144 = ((($143)) + 18|0); + HEAP16[$144>>1] = $142; + $145 = HEAP32[$3>>2]|0; + $146 = ((($145)) + 428|0); + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$2>>2]|0; + $149 = ((($148)) + 120|0); + HEAP32[$149>>2] = $147; + $150 = HEAP32[$3>>2]|0; + $151 = ((($150)) + 404|0); + HEAP32[$151>>2] = 0; + $152 = HEAP32[$3>>2]|0; + $153 = ((($152)) + 428|0); + HEAP32[$153>>2] = 0; + $154 = HEAP32[$3>>2]|0; + $155 = ((($154)) + 409|0); + $156 = HEAP8[$155>>0]|0; + $157 = $156&255; + $158 = HEAP32[$2>>2]|0; + $159 = ((($158)) + 144|0); + $160 = $157&65535; + $161 = HEAP16[$159>>1]|0; + $162 = $160 & 3; + $163 = ($162 << 2)&65535; + $164 = $161 & -13; + $165 = $164 | $163; + HEAP16[$159>>1] = $165; + $166 = HEAP32[$4>>2]|0; + $167 = ((($166)) + 69|0); + $168 = HEAP8[$167>>0]|0; + $169 = ($168<<24>>24)!=(0); + if ($169) { + $170 = HEAP32[$2>>2]|0; + $171 = ((($170)) + 16|0); + HEAP16[$171>>1] = 0; + $172 = HEAP32[$2>>2]|0; + $173 = ((($172)) + 28|0); + HEAP32[$173>>2] = 0; + $174 = HEAP32[$2>>2]|0; + $175 = ((($174)) + 24|0); + HEAP32[$175>>2] = 0; + $201 = HEAP32[$2>>2]|0; + _sqlite3VdbeRewind($201); + STACKTOP = sp;return; + } else { + $176 = HEAP32[$7>>2]|0; + $177 = HEAP32[$2>>2]|0; + $178 = ((($177)) + 28|0); + HEAP32[$178>>2] = $176; + $179 = HEAP32[$5>>2]|0; + $180 = $179&65535; + $181 = HEAP32[$2>>2]|0; + $182 = ((($181)) + 16|0); + HEAP16[$182>>1] = $180; + $183 = HEAP32[$2>>2]|0; + $184 = ((($183)) + 116|0); + $185 = HEAP32[$184>>2]|0; + $186 = HEAP32[$5>>2]|0; + $187 = HEAP32[$4>>2]|0; + _initMemArray($185,$186,$187,1); + $188 = HEAP32[$6>>2]|0; + $189 = HEAP32[$2>>2]|0; + $190 = ((($189)) + 24|0); + HEAP32[$190>>2] = $188; + $191 = HEAP32[$2>>2]|0; + $192 = ((($191)) + 92|0); + $193 = HEAP32[$192>>2]|0; + $194 = HEAP32[$6>>2]|0; + $195 = HEAP32[$4>>2]|0; + _initMemArray($193,$194,$195,128); + $196 = HEAP32[$2>>2]|0; + $197 = ((($196)) + 112|0); + $198 = HEAP32[$197>>2]|0; + $199 = HEAP32[$7>>2]|0; + $200 = $199<<2; + _memset(($198|0),0,($200|0))|0; + $201 = HEAP32[$2>>2]|0; + _sqlite3VdbeRewind($201); + STACKTOP = sp;return; + } +} +function _allocSpace($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)==(0|0); + if (!($7)) { + $30 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($30|0); + } + $8 = HEAP32[$5>>2]|0; + $9 = (($8) + 7)|0; + $10 = $9 & -8; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($11|0)<=($14|0); + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$3>>2]|0; + if ($15) { + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($19) - ($16))|0; + HEAP32[$18>>2] = $20; + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($22) + ($25)|0); + HEAP32[$4>>2] = $26; + $30 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($30|0); + } else { + $27 = ((($17)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + ($16))|0; + HEAP32[$27>>2] = $29; + $30 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($30|0); + } + return (0)|0; +} +function _sqlite3VdbeList($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 68|0; + $2 = sp + 64|0; + $3 = sp + 60|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + HEAP32[$2>>2] = $0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 0; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$16>>2]|0; + HEAP32[$7>>2] = $17; + HEAP32[$9>>2] = 0; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 92|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 40|0); + HEAP32[$10>>2] = $21; + $22 = HEAP32[$10>>2]|0; + _releaseMemArray($22,8); + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 104|0); + HEAP32[$24>>2] = 0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 40|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(7); + if ($28) { + $29 = HEAP32[$7>>2]|0; + _sqlite3OomFault($29); + HEAP32[$1>>2] = 1; + $352 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($352|0); + } + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 136|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$3>>2] = $32; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 144|0); + $35 = HEAP16[$34>>1]|0; + $36 = ($35&65535) >>> 2; + $37 = $36 & 3; + $38 = $37&65535; + $39 = ($38|0)==(1); + L5: do { + if ($39) { + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 92|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 360|0); + HEAP32[$6>>2] = $43; + $44 = HEAP32[$6>>2]|0; + $45 = ((($44)) + 8|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = $47 & 16; + $49 = ($48|0)!=(0); + if ($49) { + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = (($52>>>0) / 4)&-1; + HEAP32[$4>>2] = $53; + $54 = HEAP32[$6>>2]|0; + $55 = ((($54)) + 16|0); + $56 = HEAP32[$55>>2]|0; + HEAP32[$5>>2] = $56; + } + HEAP32[$8>>2] = 0; + while(1) { + $57 = HEAP32[$8>>2]|0; + $58 = HEAP32[$4>>2]|0; + $59 = ($57|0)<($58|0); + if (!($59)) { + break L5; + } + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$8>>2]|0; + $62 = (($60) + ($61<<2)|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($63)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$3>>2]|0; + $67 = (($66) + ($65))|0; + HEAP32[$3>>2] = $67; + $68 = HEAP32[$8>>2]|0; + $69 = (($68) + 1)|0; + HEAP32[$8>>2] = $69; + } + } + } while(0); + while(1) { + $70 = HEAP32[$2>>2]|0; + $71 = ((($70)) + 36|0); + $72 = HEAP32[$71>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$71>>2] = $73; + HEAP32[$8>>2] = $72; + $74 = HEAP32[$8>>2]|0; + $75 = HEAP32[$3>>2]|0; + $76 = ($74|0)<($75|0); + if (!($76)) { + break; + } + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 144|0); + $79 = HEAP16[$78>>1]|0; + $80 = ($79&65535) >>> 2; + $81 = $80 & 3; + $82 = $81&65535; + $83 = ($82|0)==(2); + if (!($83)) { + break; + } + $84 = HEAP32[$2>>2]|0; + $85 = ((($84)) + 88|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$8>>2]|0; + $88 = (($86) + (($87*20)|0)|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = ($90|0)!=(162); + if (!($91)) { + break; + } + } + $92 = HEAP32[$8>>2]|0; + $93 = HEAP32[$3>>2]|0; + $94 = ($92|0)>=($93|0); + do { + if ($94) { + $95 = HEAP32[$2>>2]|0; + $96 = ((($95)) + 40|0); + HEAP32[$96>>2] = 0; + HEAP32[$9>>2] = 101; + } else { + $97 = HEAP32[$7>>2]|0; + $98 = ((($97)) + 248|0); + $99 = HEAP32[$98>>2]|0; + $100 = ($99|0)!=(0); + if ($100) { + $101 = HEAP32[$2>>2]|0; + $102 = ((($101)) + 40|0); + HEAP32[$102>>2] = 9; + HEAP32[$9>>2] = 1; + $103 = HEAP32[$2>>2]|0; + $104 = HEAP32[$2>>2]|0; + $105 = ((($104)) + 40|0); + $106 = HEAP32[$105>>2]|0; + $107 = (_sqlite3ErrStr($106)|0); + _sqlite3VdbeError($103,$107,$vararg_buffer); + break; + } + $108 = HEAP32[$8>>2]|0; + $109 = HEAP32[$2>>2]|0; + $110 = ((($109)) + 136|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($108|0)<($111|0); + $113 = HEAP32[$2>>2]|0; + if ($112) { + $114 = ((($113)) + 88|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$8>>2]|0; + $117 = (($115) + (($116*20)|0)|0); + HEAP32[$12>>2] = $117; + } else { + $118 = ((($113)) + 136|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$8>>2]|0; + $121 = (($120) - ($119))|0; + HEAP32[$8>>2] = $121; + HEAP32[$13>>2] = 0; + while(1) { + $122 = HEAP32[$8>>2]|0; + $123 = HEAP32[$5>>2]|0; + $124 = HEAP32[$13>>2]|0; + $125 = (($123) + ($124<<2)|0); + $126 = HEAP32[$125>>2]|0; + $127 = ((($126)) + 4|0); + $128 = HEAP32[$127>>2]|0; + $129 = ($122|0)>=($128|0); + $130 = HEAP32[$5>>2]|0; + $131 = HEAP32[$13>>2]|0; + $132 = (($130) + ($131<<2)|0); + $133 = HEAP32[$132>>2]|0; + if (!($129)) { + break; + } + $134 = ((($133)) + 4|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$8>>2]|0; + $137 = (($136) - ($135))|0; + HEAP32[$8>>2] = $137; + $138 = HEAP32[$13>>2]|0; + $139 = (($138) + 1)|0; + HEAP32[$13>>2] = $139; + } + $140 = HEAP32[$133>>2]|0; + $141 = HEAP32[$8>>2]|0; + $142 = (($140) + (($141*20)|0)|0); + HEAP32[$12>>2] = $142; + } + $143 = HEAP32[$2>>2]|0; + $144 = ((($143)) + 144|0); + $145 = HEAP16[$144>>1]|0; + $146 = ($145&65535) >>> 2; + $147 = $146 & 3; + $148 = $147&65535; + $149 = ($148|0)==(1); + if ($149) { + $150 = HEAP32[$10>>2]|0; + $151 = ((($150)) + 8|0); + HEAP16[$151>>1] = 4; + $152 = HEAP32[$8>>2]|0; + $153 = ($152|0)<(0); + $154 = $153 << 31 >> 31; + $155 = HEAP32[$10>>2]|0; + $156 = $155; + $157 = $156; + HEAP32[$157>>2] = $152; + $158 = (($156) + 4)|0; + $159 = $158; + HEAP32[$159>>2] = $154; + $160 = HEAP32[$10>>2]|0; + $161 = ((($160)) + 40|0); + HEAP32[$10>>2] = $161; + $162 = HEAP32[$10>>2]|0; + $163 = ((($162)) + 8|0); + HEAP16[$163>>1] = 2562; + $164 = HEAP32[$12>>2]|0; + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = (_sqlite3OpcodeName($166)|0); + $168 = HEAP32[$10>>2]|0; + $169 = ((($168)) + 16|0); + HEAP32[$169>>2] = $167; + $170 = HEAP32[$10>>2]|0; + $171 = ((($170)) + 16|0); + $172 = HEAP32[$171>>2]|0; + $173 = (_sqlite3Strlen30($172)|0); + $174 = HEAP32[$10>>2]|0; + $175 = ((($174)) + 12|0); + HEAP32[$175>>2] = $173; + $176 = HEAP32[$10>>2]|0; + $177 = ((($176)) + 10|0); + HEAP8[$177>>0] = 1; + $178 = HEAP32[$10>>2]|0; + $179 = ((($178)) + 40|0); + HEAP32[$10>>2] = $179; + $180 = HEAP32[$12>>2]|0; + $181 = ((($180)) + 1|0); + $182 = HEAP8[$181>>0]|0; + $183 = $182 << 24 >> 24; + $184 = ($183|0)==(-18); + if ($184) { + $185 = HEAP32[$4>>2]|0; + $186 = (($185) + 1)|0; + $187 = $186<<2; + HEAP32[$14>>2] = $187; + HEAP32[$15>>2] = 0; + while(1) { + $188 = HEAP32[$15>>2]|0; + $189 = HEAP32[$4>>2]|0; + $190 = ($188|0)<($189|0); + if (!($190)) { + break; + } + $191 = HEAP32[$5>>2]|0; + $192 = HEAP32[$15>>2]|0; + $193 = (($191) + ($192<<2)|0); + $194 = HEAP32[$193>>2]|0; + $195 = HEAP32[$12>>2]|0; + $196 = ((($195)) + 16|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($194|0)==($197|0); + if ($198) { + break; + } + $199 = HEAP32[$15>>2]|0; + $200 = (($199) + 1)|0; + HEAP32[$15>>2] = $200; + } + $201 = HEAP32[$15>>2]|0; + $202 = HEAP32[$4>>2]|0; + $203 = ($201|0)==($202|0); + if ($203) { + $204 = HEAP32[$6>>2]|0; + $205 = HEAP32[$14>>2]|0; + $206 = HEAP32[$4>>2]|0; + $207 = ($206|0)!=(0); + $208 = $207&1; + $209 = (_sqlite3VdbeMemGrow($204,$205,$208)|0); + $210 = (0)==($209|0); + if ($210) { + $211 = HEAP32[$6>>2]|0; + $212 = ((($211)) + 16|0); + $213 = HEAP32[$212>>2]|0; + HEAP32[$5>>2] = $213; + $214 = HEAP32[$12>>2]|0; + $215 = ((($214)) + 16|0); + $216 = HEAP32[$215>>2]|0; + $217 = HEAP32[$5>>2]|0; + $218 = HEAP32[$4>>2]|0; + $219 = (($218) + 1)|0; + HEAP32[$4>>2] = $219; + $220 = (($217) + ($218<<2)|0); + HEAP32[$220>>2] = $216; + $221 = HEAP32[$6>>2]|0; + $222 = ((($221)) + 8|0); + $223 = HEAP16[$222>>1]|0; + $224 = $223&65535; + $225 = $224 | 16; + $226 = $225&65535; + HEAP16[$222>>1] = $226; + $227 = HEAP32[$4>>2]|0; + $228 = $227<<2; + $229 = HEAP32[$6>>2]|0; + $230 = ((($229)) + 12|0); + HEAP32[$230>>2] = $228; + } + } + } + } + $231 = HEAP32[$10>>2]|0; + $232 = ((($231)) + 8|0); + HEAP16[$232>>1] = 4; + $233 = HEAP32[$12>>2]|0; + $234 = ((($233)) + 4|0); + $235 = HEAP32[$234>>2]|0; + $236 = ($235|0)<(0); + $237 = $236 << 31 >> 31; + $238 = HEAP32[$10>>2]|0; + $239 = $238; + $240 = $239; + HEAP32[$240>>2] = $235; + $241 = (($239) + 4)|0; + $242 = $241; + HEAP32[$242>>2] = $237; + $243 = HEAP32[$10>>2]|0; + $244 = ((($243)) + 40|0); + HEAP32[$10>>2] = $244; + $245 = HEAP32[$10>>2]|0; + $246 = ((($245)) + 8|0); + HEAP16[$246>>1] = 4; + $247 = HEAP32[$12>>2]|0; + $248 = ((($247)) + 8|0); + $249 = HEAP32[$248>>2]|0; + $250 = ($249|0)<(0); + $251 = $250 << 31 >> 31; + $252 = HEAP32[$10>>2]|0; + $253 = $252; + $254 = $253; + HEAP32[$254>>2] = $249; + $255 = (($253) + 4)|0; + $256 = $255; + HEAP32[$256>>2] = $251; + $257 = HEAP32[$10>>2]|0; + $258 = ((($257)) + 40|0); + HEAP32[$10>>2] = $258; + $259 = HEAP32[$10>>2]|0; + $260 = ((($259)) + 8|0); + HEAP16[$260>>1] = 4; + $261 = HEAP32[$12>>2]|0; + $262 = ((($261)) + 12|0); + $263 = HEAP32[$262>>2]|0; + $264 = ($263|0)<(0); + $265 = $264 << 31 >> 31; + $266 = HEAP32[$10>>2]|0; + $267 = $266; + $268 = $267; + HEAP32[$268>>2] = $263; + $269 = (($267) + 4)|0; + $270 = $269; + HEAP32[$270>>2] = $265; + $271 = HEAP32[$10>>2]|0; + $272 = ((($271)) + 40|0); + HEAP32[$10>>2] = $272; + $273 = HEAP32[$10>>2]|0; + $274 = (_sqlite3VdbeMemClearAndResize($273,100)|0); + $275 = ($274|0)!=(0); + if ($275) { + HEAP32[$1>>2] = 1; + $352 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($352|0); + } + $276 = HEAP32[$10>>2]|0; + $277 = ((($276)) + 8|0); + HEAP16[$277>>1] = 514; + $278 = HEAP32[$12>>2]|0; + $279 = HEAP32[$10>>2]|0; + $280 = ((($279)) + 16|0); + $281 = HEAP32[$280>>2]|0; + $282 = HEAP32[$10>>2]|0; + $283 = ((($282)) + 24|0); + $284 = HEAP32[$283>>2]|0; + $285 = (_displayP4($278,$281,$284)|0); + HEAP32[$11>>2] = $285; + $286 = HEAP32[$11>>2]|0; + $287 = HEAP32[$10>>2]|0; + $288 = ((($287)) + 16|0); + $289 = HEAP32[$288>>2]|0; + $290 = ($286|0)!=($289|0); + $291 = HEAP32[$10>>2]|0; + if ($290) { + $292 = ((($291)) + 12|0); + HEAP32[$292>>2] = 0; + $293 = HEAP32[$10>>2]|0; + $294 = HEAP32[$11>>2]|0; + (_sqlite3VdbeMemSetStr($293,$294,-1,1,0)|0); + } else { + $295 = ((($291)) + 16|0); + $296 = HEAP32[$295>>2]|0; + $297 = (_sqlite3Strlen30($296)|0); + $298 = HEAP32[$10>>2]|0; + $299 = ((($298)) + 12|0); + HEAP32[$299>>2] = $297; + $300 = HEAP32[$10>>2]|0; + $301 = ((($300)) + 10|0); + HEAP8[$301>>0] = 1; + } + $302 = HEAP32[$10>>2]|0; + $303 = ((($302)) + 40|0); + HEAP32[$10>>2] = $303; + $304 = HEAP32[$2>>2]|0; + $305 = ((($304)) + 144|0); + $306 = HEAP16[$305>>1]|0; + $307 = ($306&65535) >>> 2; + $308 = $307 & 3; + $309 = $308&65535; + $310 = ($309|0)==(1); + do { + if ($310) { + $311 = HEAP32[$10>>2]|0; + $312 = (_sqlite3VdbeMemClearAndResize($311,4)|0); + $313 = ($312|0)!=(0); + if (!($313)) { + $314 = HEAP32[$10>>2]|0; + $315 = ((($314)) + 8|0); + HEAP16[$315>>1] = 514; + $316 = HEAP32[$10>>2]|0; + $317 = ((($316)) + 12|0); + HEAP32[$317>>2] = 2; + $318 = HEAP32[$10>>2]|0; + $319 = ((($318)) + 16|0); + $320 = HEAP32[$319>>2]|0; + $321 = HEAP32[$12>>2]|0; + $322 = ((($321)) + 3|0); + $323 = HEAP8[$322>>0]|0; + $324 = $323&255; + HEAP32[$vararg_buffer2>>2] = $324; + (_sqlite3_snprintf(3,$320,40683,$vararg_buffer2)|0); + $325 = HEAP32[$10>>2]|0; + $326 = ((($325)) + 10|0); + HEAP8[$326>>0] = 1; + $327 = HEAP32[$10>>2]|0; + $328 = ((($327)) + 40|0); + HEAP32[$10>>2] = $328; + $329 = HEAP32[$10>>2]|0; + $330 = ((($329)) + 8|0); + HEAP16[$330>>1] = 1; + break; + } + HEAP32[$1>>2] = 1; + $352 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($352|0); + } + } while(0); + $331 = HEAP32[$2>>2]|0; + $332 = ((($331)) + 144|0); + $333 = HEAP16[$332>>1]|0; + $334 = ($333&65535) >>> 2; + $335 = $334 & 3; + $336 = $335&65535; + $337 = (($336) - 1)|0; + $338 = $337<<2; + $339 = (8 - ($338))|0; + $340 = $339&65535; + $341 = HEAP32[$2>>2]|0; + $342 = ((($341)) + 140|0); + HEAP16[$342>>1] = $340; + $343 = HEAP32[$2>>2]|0; + $344 = ((($343)) + 92|0); + $345 = HEAP32[$344>>2]|0; + $346 = ((($345)) + 40|0); + $347 = HEAP32[$2>>2]|0; + $348 = ((($347)) + 104|0); + HEAP32[$348>>2] = $346; + $349 = HEAP32[$2>>2]|0; + $350 = ((($349)) + 40|0); + HEAP32[$350>>2] = 0; + HEAP32[$9>>2] = 100; + } + } while(0); + $351 = HEAP32[$9>>2]|0; + HEAP32[$1>>2] = $351; + $352 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($352|0); +} +function _sqlite3VdbeExec($0) { + $0 = $0|0; + var $$ = 0, $$old = 0, $$old47 = 0, $$sink = 0, $$sink13 = 0, $$sink15 = 0, $$sink27 = 0, $$sink29 = 0, $$sink33 = 0, $$sink38 = 0, $$sink38$sink42 = 0, $$sink49 = 0, $$sink5 = 0, $$sink51 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0; + var $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0; + var $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0; + var $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0; + var $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0; + var $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0; + var $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0; + var $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0; + var $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0; + var $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0; + var $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0; + var $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0; + var $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0; + var $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0; + var $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0; + var $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0; + var $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0; + var $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0; + var $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0; + var $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0; + var $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0; + var $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0; + var $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0; + var $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0; + var $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0.0, $1433 = 0, $1434 = 0.0, $1435 = 0; + var $1436 = 0, $1437 = 0, $1438 = 0.0, $1439 = 0.0, $144 = 0, $1440 = 0.0, $1441 = 0.0, $1442 = 0.0, $1443 = 0.0, $1444 = 0.0, $1445 = 0.0, $1446 = 0.0, $1447 = 0.0, $1448 = 0, $1449 = 0.0, $145 = 0, $1450 = 0.0, $1451 = 0.0, $1452 = 0.0, $1453 = 0; + var $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0.0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0; + var $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0; + var $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0.0, $1503 = 0.0, $1504 = 0, $1505 = 0, $1506 = 0.0, $1507 = 0; + var $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0; + var $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0; + var $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0; + var $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0; + var $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0; + var $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0; + var $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0; + var $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0; + var $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0; + var $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0; + var $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0; + var $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0; + var $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0; + var $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0; + var $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0; + var $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0; + var $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0; + var $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0; + var $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0; + var $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0; + var $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0; + var $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0; + var $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0; + var $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0; + var $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0; + var $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0; + var $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0; + var $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0; + var $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0; + var $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0; + var $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0; + var $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0; + var $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0; + var $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0; + var $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0; + var $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0; + var $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0; + var $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0; + var $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0; + var $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0; + var $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0; + var $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0; + var $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0; + var $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0; + var $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0; + var $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0; + var $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0; + var $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0; + var $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0; + var $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0; + var $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0; + var $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0; + var $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0; + var $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0; + var $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0; + var $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0; + var $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0; + var $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0.0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0; + var $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0; + var $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0; + var $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0; + var $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0; + var $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0; + var $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0; + var $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0; + var $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0; + var $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0; + var $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0; + var $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0; + var $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0; + var $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0; + var $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0; + var $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0; + var $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0; + var $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0; + var $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0; + var $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0; + var $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0; + var $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0; + var $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0; + var $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0; + var $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0; + var $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0; + var $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0; + var $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0; + var $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0, $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0; + var $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0, $3068 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0; + var $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0, $3081 = 0, $3082 = 0, $3083 = 0, $3084 = 0, $3085 = 0, $3086 = 0, $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0; + var $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $310 = 0, $3100 = 0, $3101 = 0, $3102 = 0, $3103 = 0, $3104 = 0, $3105 = 0, $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0; + var $311 = 0, $3110 = 0, $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0, $312 = 0, $3120 = 0, $3121 = 0, $3122 = 0, $3123 = 0, $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0; + var $3128 = 0, $3129 = 0, $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0, $3135 = 0, $3136 = 0, $3137 = 0, $3138 = 0, $3139 = 0, $314 = 0, $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0; + var $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0, $3157 = 0, $3158 = 0, $3159 = 0, $316 = 0, $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0; + var $3164 = 0, $3165 = 0, $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0, $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0, $3175 = 0, $3176 = 0, $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0; + var $3182 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0, $3193 = 0, $3194 = 0, $3195 = 0, $3196 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0; + var $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0, $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0, $3210 = 0, $3211 = 0, $3212 = 0, $3213 = 0, $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0; + var $3218 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0, $3225 = 0, $3226 = 0, $3227 = 0, $3228 = 0, $3229 = 0, $323 = 0, $3230 = 0, $3231 = 0, $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0; + var $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0, $3243 = 0, $3244 = 0, $3245 = 0, $3246 = 0, $3247 = 0, $3248 = 0, $3249 = 0, $325 = 0, $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0; + var $3254 = 0, $3255 = 0, $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0, $3264 = 0, $3265 = 0, $3266 = 0, $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0; + var $3272 = 0, $3273 = 0, $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0, $328 = 0, $3280 = 0, $3281 = 0, $3282 = 0, $3283 = 0, $3284 = 0, $3285 = 0, $3286 = 0, $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0; + var $3290 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $33 = 0, $330 = 0, $3300 = 0, $3301 = 0, $3302 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0; + var $3308 = 0, $3309 = 0, $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3316 = 0, $3317 = 0, $3318 = 0, $3319 = 0, $332 = 0, $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0; + var $3326 = 0, $3327 = 0, $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3334 = 0, $3335 = 0, $3336 = 0, $3337 = 0, $3338 = 0, $3339 = 0, $334 = 0, $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0; + var $3344 = 0, $3345 = 0, $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0, $3351 = 0, $3352 = 0, $3353 = 0, $3354 = 0, $3355 = 0, $3356 = 0, $3357 = 0, $3358 = 0, $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0; + var $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0, $337 = 0, $3370 = 0, $3371 = 0, $3372 = 0, $3373 = 0, $3374 = 0, $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0; + var $3380 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0, $3388 = 0, $3389 = 0, $339 = 0, $3390 = 0, $3391 = 0, $3392 = 0, $3393 = 0, $3394 = 0, $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0; + var $3399 = 0, $34 = 0, $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0, $3408 = 0, $3409 = 0, $341 = 0, $3410 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0; + var $3416 = 0, $3417 = 0, $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0, $3423 = 0, $3424 = 0, $3425 = 0, $3426 = 0, $3427 = 0, $3428 = 0, $3429 = 0, $343 = 0, $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0; + var $3434 = 0, $3435 = 0, $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0, $3441 = 0, $3442 = 0, $3443 = 0, $3444 = 0, $3445 = 0, $3446 = 0, $3447 = 0, $3448 = 0, $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0; + var $3452 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3460 = 0, $3461 = 0, $3462 = 0, $3463 = 0, $3464 = 0, $3465 = 0, $3466 = 0, $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0; + var $3470 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $348 = 0, $3480 = 0, $3481 = 0, $3482 = 0, $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0; + var $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0, $3496 = 0, $3497 = 0, $3498 = 0, $3499 = 0, $35 = 0, $350 = 0, $3500 = 0, $3501 = 0, $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0; + var $3506 = 0, $3507 = 0, $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0, $3513 = 0, $3514 = 0, $3515 = 0, $3516 = 0, $3517 = 0, $3518 = 0, $3519 = 0, $352 = 0, $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0; + var $3524 = 0, $3525 = 0, $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0, $3531 = 0, $3532 = 0, $3533 = 0, $3534 = 0, $3535 = 0, $3536 = 0, $3537 = 0, $3538 = 0, $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0; + var $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0, $355 = 0, $3550 = 0, $3551 = 0, $3552 = 0, $3553 = 0, $3554 = 0, $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0; + var $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0, $3571 = 0, $3572 = 0, $3573 = 0, $3574 = 0, $3575 = 0, $3576 = 0, $3577 = 0, $3578 = 0; + var $3579 = 0, $358 = 0, $3580 = 0, $3581 = 0, $3582 = 0, $3583 = 0, $3584 = 0, $3585 = 0, $3586 = 0, $3587 = 0, $3588 = 0, $3589 = 0, $359 = 0, $3590 = 0, $3591 = 0, $3592 = 0, $3593 = 0, $3594 = 0, $3595 = 0, $3596 = 0; + var $3597 = 0, $3598 = 0, $3599 = 0, $36 = 0, $360 = 0, $3600 = 0, $3601 = 0, $3602 = 0, $3603 = 0, $3604 = 0, $3605 = 0, $3606 = 0, $3607 = 0, $3608 = 0, $3609 = 0, $361 = 0, $3610 = 0, $3611 = 0, $3612 = 0, $3613 = 0; + var $3614 = 0, $3615 = 0, $3616 = 0, $3617 = 0, $3618 = 0, $3619 = 0, $362 = 0, $3620 = 0, $3621 = 0, $3622 = 0, $3623 = 0, $3624 = 0, $3625 = 0, $3626 = 0, $3627 = 0, $3628 = 0, $3629 = 0, $363 = 0, $3630 = 0, $3631 = 0; + var $3632 = 0, $3633 = 0, $3634 = 0, $3635 = 0, $3636 = 0, $3637 = 0, $3638 = 0, $3639 = 0, $364 = 0, $3640 = 0, $3641 = 0, $3642 = 0, $3643 = 0, $3644 = 0, $3645 = 0, $3646 = 0, $3647 = 0, $3648 = 0, $3649 = 0, $365 = 0; + var $3650 = 0, $3651 = 0, $3652 = 0, $3653 = 0, $3654 = 0, $3655 = 0, $3656 = 0, $3657 = 0, $3658 = 0, $3659 = 0, $366 = 0, $3660 = 0, $3661 = 0, $3662 = 0, $3663 = 0, $3664 = 0, $3665 = 0, $3666 = 0, $3667 = 0, $3668 = 0; + var $3669 = 0, $367 = 0, $3670 = 0, $3671 = 0, $3672 = 0, $3673 = 0, $3674 = 0, $3675 = 0, $3676 = 0, $3677 = 0, $3678 = 0, $3679 = 0, $368 = 0, $3680 = 0, $3681 = 0, $3682 = 0, $3683 = 0, $3684 = 0, $3685 = 0, $3686 = 0; + var $3687 = 0, $3688 = 0, $3689 = 0, $369 = 0, $3690 = 0, $3691 = 0, $3692 = 0, $3693 = 0, $3694 = 0, $3695 = 0, $3696 = 0, $3697 = 0, $3698 = 0, $3699 = 0, $37 = 0, $370 = 0, $3700 = 0, $3701 = 0, $3702 = 0, $3703 = 0; + var $3704 = 0, $3705 = 0, $3706 = 0, $3707 = 0, $3708 = 0, $3709 = 0, $371 = 0, $3710 = 0, $3711 = 0, $3712 = 0, $3713 = 0, $3714 = 0, $3715 = 0, $3716 = 0, $3717 = 0, $3718 = 0, $3719 = 0, $372 = 0, $3720 = 0, $3721 = 0; + var $3722 = 0, $3723 = 0, $3724 = 0, $3725 = 0, $3726 = 0, $3727 = 0, $3728 = 0, $3729 = 0, $373 = 0, $3730 = 0, $3731 = 0, $3732 = 0, $3733 = 0, $3734 = 0, $3735 = 0, $3736 = 0, $3737 = 0, $3738 = 0, $3739 = 0, $374 = 0; + var $3740 = 0, $3741 = 0, $3742 = 0, $3743 = 0, $3744 = 0, $3745 = 0, $3746 = 0, $3747 = 0, $3748 = 0, $3749 = 0, $375 = 0, $3750 = 0, $3751 = 0, $3752 = 0, $3753 = 0, $3754 = 0, $3755 = 0, $3756 = 0, $3757 = 0, $3758 = 0; + var $3759 = 0, $376 = 0, $3760 = 0, $3761 = 0, $3762 = 0, $3763 = 0, $3764 = 0, $3765 = 0, $3766 = 0, $3767 = 0, $3768 = 0, $3769 = 0, $377 = 0, $3770 = 0, $3771 = 0, $3772 = 0, $3773 = 0, $3774 = 0, $3775 = 0, $3776 = 0; + var $3777 = 0, $3778 = 0, $3779 = 0, $378 = 0, $3780 = 0, $3781 = 0, $3782 = 0, $3783 = 0, $3784 = 0, $3785 = 0, $3786 = 0, $3787 = 0, $3788 = 0, $3789 = 0, $379 = 0, $3790 = 0, $3791 = 0, $3792 = 0, $3793 = 0, $3794 = 0; + var $3795 = 0, $3796 = 0, $3797 = 0, $3798 = 0, $3799 = 0, $38 = 0, $380 = 0, $3800 = 0, $3801 = 0, $3802 = 0, $3803 = 0, $3804 = 0, $3805 = 0, $3806 = 0, $3807 = 0, $3808 = 0, $3809 = 0, $381 = 0, $3810 = 0, $3811 = 0; + var $3812 = 0, $3813 = 0, $3814 = 0, $3815 = 0, $3816 = 0, $3817 = 0, $3818 = 0, $3819 = 0, $382 = 0, $3820 = 0, $3821 = 0, $3822 = 0, $3823 = 0, $3824 = 0, $3825 = 0, $3826 = 0, $3827 = 0, $3828 = 0, $3829 = 0, $383 = 0; + var $3830 = 0, $3831 = 0, $3832 = 0, $3833 = 0, $3834 = 0, $3835 = 0, $3836 = 0, $3837 = 0, $3838 = 0, $3839 = 0, $384 = 0, $3840 = 0, $3841 = 0, $3842 = 0, $3843 = 0, $3844 = 0, $3845 = 0, $3846 = 0, $3847 = 0, $3848 = 0; + var $3849 = 0, $385 = 0, $3850 = 0, $3851 = 0, $3852 = 0, $3853 = 0, $3854 = 0, $3855 = 0, $3856 = 0, $3857 = 0, $3858 = 0, $3859 = 0, $386 = 0, $3860 = 0, $3861 = 0, $3862 = 0, $3863 = 0, $3864 = 0, $3865 = 0, $3866 = 0; + var $3867 = 0, $3868 = 0, $3869 = 0, $387 = 0, $3870 = 0, $3871 = 0, $3872 = 0, $3873 = 0, $3874 = 0, $3875 = 0, $3876 = 0, $3877 = 0, $3878 = 0, $3879 = 0, $388 = 0, $3880 = 0, $3881 = 0, $3882 = 0, $3883 = 0, $3884 = 0; + var $3885 = 0, $3886 = 0, $3887 = 0, $3888 = 0, $3889 = 0, $389 = 0, $3890 = 0, $3891 = 0, $3892 = 0, $3893 = 0, $3894 = 0, $3895 = 0, $3896 = 0, $3897 = 0, $3898 = 0, $3899 = 0, $39 = 0, $390 = 0, $3900 = 0, $3901 = 0; + var $3902 = 0, $3903 = 0, $3904 = 0, $3905 = 0, $3906 = 0, $3907 = 0, $3908 = 0, $3909 = 0, $391 = 0, $3910 = 0, $3911 = 0, $3912 = 0, $3913 = 0, $3914 = 0, $3915 = 0, $3916 = 0, $3917 = 0, $3918 = 0, $3919 = 0, $392 = 0; + var $3920 = 0, $3921 = 0, $3922 = 0, $3923 = 0, $3924 = 0, $3925 = 0, $3926 = 0, $3927 = 0, $3928 = 0, $3929 = 0, $393 = 0, $3930 = 0, $3931 = 0, $3932 = 0, $3933 = 0, $3934 = 0, $3935 = 0, $3936 = 0, $3937 = 0, $3938 = 0; + var $3939 = 0, $394 = 0, $3940 = 0, $3941 = 0, $3942 = 0, $3943 = 0, $3944 = 0, $3945 = 0, $3946 = 0, $3947 = 0, $3948 = 0, $3949 = 0, $395 = 0, $3950 = 0, $3951 = 0, $3952 = 0, $3953 = 0, $3954 = 0, $3955 = 0, $3956 = 0; + var $3957 = 0, $3958 = 0, $3959 = 0, $396 = 0, $3960 = 0, $3961 = 0, $3962 = 0, $3963 = 0, $3964 = 0, $3965 = 0, $3966 = 0, $3967 = 0, $3968 = 0, $3969 = 0, $397 = 0, $3970 = 0, $3971 = 0, $3972 = 0, $3973 = 0, $3974 = 0; + var $3975 = 0, $3976 = 0, $3977 = 0, $3978 = 0, $3979 = 0, $398 = 0, $3980 = 0, $3981 = 0, $3982 = 0, $3983 = 0, $3984 = 0, $3985 = 0, $3986 = 0, $3987 = 0, $3988 = 0, $3989 = 0, $399 = 0, $3990 = 0, $3991 = 0, $3992 = 0; + var $3993 = 0, $3994 = 0, $3995 = 0, $3996 = 0, $3997 = 0, $3998 = 0, $3999 = 0, $4 = 0, $40 = 0, $400 = 0, $4000 = 0, $4001 = 0, $4002 = 0, $4003 = 0, $4004 = 0, $4005 = 0, $4006 = 0, $4007 = 0, $4008 = 0, $4009 = 0; + var $401 = 0, $4010 = 0, $4011 = 0, $4012 = 0, $4013 = 0, $4014 = 0, $4015 = 0, $4016 = 0, $4017 = 0, $4018 = 0, $4019 = 0, $402 = 0, $4020 = 0, $4021 = 0, $4022 = 0, $4023 = 0, $4024 = 0, $4025 = 0, $4026 = 0, $4027 = 0; + var $4028 = 0, $4029 = 0, $403 = 0, $4030 = 0, $4031 = 0, $4032 = 0, $4033 = 0, $4034 = 0, $4035 = 0, $4036 = 0, $4037 = 0, $4038 = 0, $4039 = 0, $404 = 0, $4040 = 0, $4041 = 0, $4042 = 0, $4043 = 0, $4044 = 0, $4045 = 0; + var $4046 = 0, $4047 = 0, $4048 = 0, $4049 = 0, $405 = 0, $4050 = 0, $4051 = 0, $4052 = 0, $4053 = 0, $4054 = 0, $4055 = 0, $4056 = 0, $4057 = 0, $4058 = 0, $4059 = 0, $406 = 0, $4060 = 0, $4061 = 0, $4062 = 0, $4063 = 0; + var $4064 = 0, $4065 = 0, $4066 = 0, $4067 = 0, $4068 = 0, $4069 = 0, $407 = 0, $4070 = 0, $4071 = 0, $4072 = 0, $4073 = 0, $4074 = 0, $4075 = 0, $4076 = 0, $4077 = 0, $4078 = 0, $4079 = 0, $408 = 0, $4080 = 0, $4081 = 0; + var $4082 = 0, $4083 = 0, $4084 = 0, $4085 = 0, $4086 = 0, $4087 = 0, $4088 = 0, $4089 = 0, $409 = 0, $4090 = 0, $4091 = 0, $4092 = 0, $4093 = 0, $4094 = 0, $4095 = 0, $4096 = 0, $4097 = 0, $4098 = 0, $4099 = 0, $41 = 0; + var $410 = 0, $4100 = 0, $4101 = 0, $4102 = 0, $4103 = 0, $4104 = 0, $4105 = 0, $4106 = 0, $4107 = 0, $4108 = 0, $4109 = 0, $411 = 0, $4110 = 0, $4111 = 0, $4112 = 0, $4113 = 0, $4114 = 0, $4115 = 0, $4116 = 0, $4117 = 0; + var $4118 = 0, $4119 = 0, $412 = 0, $4120 = 0, $4121 = 0, $4122 = 0, $4123 = 0, $4124 = 0, $4125 = 0, $4126 = 0, $4127 = 0, $4128 = 0, $4129 = 0, $413 = 0, $4130 = 0, $4131 = 0, $4132 = 0, $4133 = 0, $4134 = 0, $4135 = 0; + var $4136 = 0, $4137 = 0, $4138 = 0, $4139 = 0, $414 = 0, $4140 = 0, $4141 = 0, $4142 = 0, $4143 = 0, $4144 = 0, $4145 = 0, $4146 = 0, $4147 = 0, $4148 = 0, $4149 = 0, $415 = 0, $4150 = 0, $4151 = 0, $4152 = 0, $4153 = 0; + var $4154 = 0, $4155 = 0, $4156 = 0, $4157 = 0, $4158 = 0, $4159 = 0, $416 = 0, $4160 = 0, $4161 = 0, $4162 = 0, $4163 = 0, $4164 = 0, $4165 = 0, $4166 = 0, $4167 = 0, $4168 = 0, $4169 = 0, $417 = 0, $4170 = 0, $4171 = 0; + var $4172 = 0, $4173 = 0, $4174 = 0, $4175 = 0, $4176 = 0, $4177 = 0, $4178 = 0, $4179 = 0, $418 = 0, $4180 = 0, $4181 = 0, $4182 = 0, $4183 = 0, $4184 = 0, $4185 = 0, $4186 = 0, $4187 = 0, $4188 = 0, $4189 = 0, $419 = 0; + var $4190 = 0, $4191 = 0, $4192 = 0, $4193 = 0, $4194 = 0, $4195 = 0, $4196 = 0, $4197 = 0, $4198 = 0, $4199 = 0, $42 = 0, $420 = 0, $4200 = 0, $4201 = 0, $4202 = 0, $4203 = 0, $4204 = 0, $4205 = 0, $4206 = 0, $4207 = 0; + var $4208 = 0, $4209 = 0, $421 = 0, $4210 = 0, $4211 = 0, $4212 = 0, $4213 = 0, $4214 = 0, $4215 = 0, $4216 = 0, $4217 = 0, $4218 = 0, $4219 = 0, $422 = 0, $4220 = 0, $4221 = 0, $4222 = 0, $4223 = 0, $4224 = 0, $4225 = 0; + var $4226 = 0, $4227 = 0, $4228 = 0, $4229 = 0, $423 = 0, $4230 = 0, $4231 = 0, $4232 = 0, $4233 = 0, $4234 = 0, $4235 = 0, $4236 = 0, $4237 = 0, $4238 = 0, $4239 = 0, $424 = 0, $4240 = 0, $4241 = 0, $4242 = 0, $4243 = 0; + var $4244 = 0, $4245 = 0, $4246 = 0, $4247 = 0, $4248 = 0, $4249 = 0, $425 = 0, $4250 = 0, $4251 = 0, $4252 = 0, $4253 = 0, $4254 = 0, $4255 = 0, $4256 = 0, $4257 = 0, $4258 = 0, $4259 = 0, $426 = 0, $4260 = 0, $4261 = 0; + var $4262 = 0, $4263 = 0, $4264 = 0, $4265 = 0, $4266 = 0, $4267 = 0, $4268 = 0, $4269 = 0, $427 = 0, $4270 = 0, $4271 = 0, $4272 = 0, $4273 = 0, $4274 = 0, $4275 = 0, $4276 = 0, $4277 = 0, $4278 = 0, $4279 = 0, $428 = 0; + var $4280 = 0, $4281 = 0, $4282 = 0, $4283 = 0, $4284 = 0, $4285 = 0, $4286 = 0, $4287 = 0, $4288 = 0, $4289 = 0, $429 = 0, $4290 = 0, $4291 = 0, $4292 = 0, $4293 = 0, $4294 = 0, $4295 = 0, $4296 = 0, $4297 = 0, $4298 = 0; + var $4299 = 0, $43 = 0, $430 = 0, $4300 = 0, $4301 = 0, $4302 = 0, $4303 = 0, $4304 = 0, $4305 = 0, $4306 = 0, $4307 = 0, $4308 = 0, $4309 = 0, $431 = 0, $4310 = 0, $4311 = 0, $4312 = 0, $4313 = 0, $4314 = 0, $4315 = 0; + var $4316 = 0, $4317 = 0.0, $4318 = 0, $4319 = 0, $432 = 0, $4320 = 0, $4321 = 0, $4322 = 0, $4323 = 0, $4324 = 0.0, $4325 = 0, $4326 = 0, $4327 = 0, $4328 = 0, $4329 = 0, $433 = 0, $4330 = 0, $4331 = 0, $4332 = 0.0, $4333 = 0; + var $4334 = 0, $4335 = 0, $4336 = 0, $4337 = 0, $4338 = 0, $4339 = 0.0, $434 = 0, $4340 = 0, $4341 = 0, $4342 = 0, $4343 = 0, $4344 = 0, $4345 = 0, $4346 = 0, $4347 = 0, $4348 = 0, $4349 = 0, $435 = 0, $4350 = 0, $4351 = 0; + var $4352 = 0, $4353 = 0, $4354 = 0, $4355 = 0, $4356 = 0, $4357 = 0, $4358 = 0, $4359 = 0, $436 = 0, $4360 = 0, $4361 = 0, $4362 = 0, $4363 = 0, $4364 = 0, $4365 = 0, $4366 = 0, $4367 = 0, $4368 = 0, $4369 = 0, $437 = 0; + var $4370 = 0, $4371 = 0, $4372 = 0, $4373 = 0, $4374 = 0, $4375 = 0, $4376 = 0, $4377 = 0, $4378 = 0, $4379 = 0, $438 = 0, $4380 = 0, $4381 = 0, $4382 = 0, $4383 = 0, $4384 = 0, $4385 = 0, $4386 = 0, $4387 = 0, $4388 = 0; + var $4389 = 0, $439 = 0, $4390 = 0, $4391 = 0, $4392 = 0, $4393 = 0, $4394 = 0, $4395 = 0, $4396 = 0, $4397 = 0, $4398 = 0, $4399 = 0, $44 = 0, $440 = 0, $4400 = 0, $4401 = 0, $4402 = 0, $4403 = 0, $4404 = 0, $4405 = 0; + var $4406 = 0, $4407 = 0, $4408 = 0, $4409 = 0, $441 = 0, $4410 = 0, $4411 = 0, $4412 = 0, $4413 = 0, $4414 = 0, $4415 = 0, $4416 = 0, $4417 = 0, $4418 = 0, $4419 = 0, $442 = 0, $4420 = 0, $4421 = 0, $4422 = 0, $4423 = 0; + var $4424 = 0, $4425 = 0, $4426 = 0, $4427 = 0, $4428 = 0, $4429 = 0, $443 = 0, $4430 = 0, $4431 = 0, $4432 = 0, $4433 = 0, $4434 = 0, $4435 = 0, $4436 = 0, $4437 = 0, $4438 = 0, $4439 = 0, $444 = 0, $4440 = 0, $4441 = 0; + var $4442 = 0, $4443 = 0, $4444 = 0, $4445 = 0, $4446 = 0, $4447 = 0, $4448 = 0, $4449 = 0, $445 = 0, $4450 = 0, $4451 = 0, $4452 = 0, $4453 = 0, $4454 = 0, $4455 = 0, $4456 = 0, $4457 = 0, $4458 = 0, $4459 = 0, $446 = 0; + var $4460 = 0, $4461 = 0, $4462 = 0, $4463 = 0, $4464 = 0, $4465 = 0, $4466 = 0, $4467 = 0, $4468 = 0, $4469 = 0, $447 = 0, $4470 = 0, $4471 = 0, $4472 = 0, $4473 = 0, $4474 = 0, $4475 = 0, $4476 = 0, $4477 = 0, $4478 = 0; + var $4479 = 0, $448 = 0, $4480 = 0, $4481 = 0, $4482 = 0, $4483 = 0, $4484 = 0, $4485 = 0, $4486 = 0, $4487 = 0, $4488 = 0, $4489 = 0, $449 = 0, $4490 = 0, $4491 = 0, $4492 = 0, $4493 = 0, $4494 = 0, $4495 = 0, $4496 = 0; + var $4497 = 0, $4498 = 0, $4499 = 0, $45 = 0, $450 = 0, $4500 = 0, $4501 = 0, $4502 = 0, $4503 = 0, $4504 = 0, $4505 = 0, $4506 = 0, $4507 = 0, $4508 = 0, $4509 = 0, $451 = 0, $4510 = 0, $4511 = 0, $4512 = 0, $4513 = 0; + var $4514 = 0, $4515 = 0, $4516 = 0, $4517 = 0, $4518 = 0, $4519 = 0, $452 = 0, $4520 = 0, $4521 = 0, $4522 = 0, $4523 = 0, $4524 = 0, $4525 = 0, $4526 = 0, $4527 = 0, $4528 = 0, $4529 = 0, $453 = 0, $4530 = 0, $4531 = 0; + var $4532 = 0, $4533 = 0, $4534 = 0, $4535 = 0, $4536 = 0, $4537 = 0, $4538 = 0, $4539 = 0, $454 = 0, $4540 = 0, $4541 = 0, $4542 = 0, $4543 = 0, $4544 = 0, $4545 = 0, $4546 = 0, $4547 = 0, $4548 = 0, $4549 = 0, $455 = 0; + var $4550 = 0, $4551 = 0, $4552 = 0, $4553 = 0, $4554 = 0, $4555 = 0, $4556 = 0, $4557 = 0, $4558 = 0, $4559 = 0, $456 = 0, $4560 = 0, $4561 = 0, $4562 = 0, $4563 = 0, $4564 = 0, $4565 = 0, $4566 = 0, $4567 = 0, $4568 = 0; + var $4569 = 0, $457 = 0, $4570 = 0, $4571 = 0, $4572 = 0, $4573 = 0, $4574 = 0, $4575 = 0, $4576 = 0, $4577 = 0, $4578 = 0, $4579 = 0, $458 = 0, $4580 = 0, $4581 = 0, $4582 = 0, $4583 = 0, $4584 = 0, $4585 = 0, $4586 = 0; + var $4587 = 0, $4588 = 0, $4589 = 0, $459 = 0, $4590 = 0, $4591 = 0, $4592 = 0, $4593 = 0, $4594 = 0, $4595 = 0, $4596 = 0, $4597 = 0, $4598 = 0, $4599 = 0, $46 = 0, $460 = 0, $4600 = 0, $4601 = 0, $4602 = 0, $4603 = 0; + var $4604 = 0, $4605 = 0, $4606 = 0, $4607 = 0, $4608 = 0, $4609 = 0, $461 = 0, $4610 = 0, $4611 = 0, $4612 = 0, $4613 = 0, $4614 = 0, $4615 = 0, $4616 = 0, $4617 = 0, $4618 = 0, $4619 = 0, $462 = 0, $4620 = 0, $4621 = 0; + var $4622 = 0, $4623 = 0, $4624 = 0, $4625 = 0, $4626 = 0, $4627 = 0, $4628 = 0, $4629 = 0, $463 = 0, $4630 = 0, $4631 = 0, $4632 = 0, $4633 = 0, $4634 = 0, $4635 = 0, $4636 = 0, $4637 = 0, $4638 = 0, $4639 = 0, $464 = 0; + var $4640 = 0, $4641 = 0, $4642 = 0, $4643 = 0, $4644 = 0, $4645 = 0, $4646 = 0, $4647 = 0, $4648 = 0, $4649 = 0, $465 = 0, $4650 = 0, $4651 = 0, $4652 = 0, $4653 = 0, $4654 = 0, $4655 = 0, $4656 = 0, $4657 = 0, $4658 = 0; + var $4659 = 0, $466 = 0, $4660 = 0, $4661 = 0, $4662 = 0, $4663 = 0, $4664 = 0, $4665 = 0, $4666 = 0, $4667 = 0, $4668 = 0, $4669 = 0, $467 = 0, $4670 = 0, $4671 = 0, $4672 = 0, $4673 = 0, $4674 = 0, $4675 = 0, $4676 = 0; + var $4677 = 0, $4678 = 0, $4679 = 0, $468 = 0, $4680 = 0, $4681 = 0, $4682 = 0, $4683 = 0, $4684 = 0, $4685 = 0, $4686 = 0, $4687 = 0, $4688 = 0, $4689 = 0, $469 = 0, $4690 = 0, $4691 = 0, $4692 = 0, $4693 = 0, $4694 = 0; + var $4695 = 0, $4696 = 0, $4697 = 0, $4698 = 0, $4699 = 0, $47 = 0, $470 = 0, $4700 = 0, $4701 = 0, $4702 = 0, $4703 = 0, $4704 = 0, $4705 = 0, $4706 = 0, $4707 = 0, $4708 = 0, $4709 = 0, $471 = 0, $4710 = 0, $4711 = 0; + var $4712 = 0, $4713 = 0, $4714 = 0, $4715 = 0, $4716 = 0, $4717 = 0, $4718 = 0, $4719 = 0, $472 = 0, $4720 = 0, $4721 = 0, $4722 = 0, $4723 = 0, $4724 = 0, $4725 = 0, $4726 = 0, $4727 = 0, $4728 = 0, $4729 = 0, $473 = 0; + var $4730 = 0, $4731 = 0, $4732 = 0, $4733 = 0, $4734 = 0, $4735 = 0, $4736 = 0, $4737 = 0, $4738 = 0, $4739 = 0, $474 = 0, $4740 = 0, $4741 = 0, $4742 = 0, $4743 = 0, $4744 = 0, $4745 = 0, $4746 = 0, $4747 = 0, $4748 = 0; + var $4749 = 0, $475 = 0, $4750 = 0, $4751 = 0, $4752 = 0, $4753 = 0, $4754 = 0, $4755 = 0, $4756 = 0, $4757 = 0, $4758 = 0, $4759 = 0, $476 = 0, $4760 = 0, $4761 = 0, $4762 = 0, $4763 = 0, $4764 = 0, $4765 = 0, $4766 = 0; + var $4767 = 0, $4768 = 0, $4769 = 0, $477 = 0, $4770 = 0, $4771 = 0, $4772 = 0, $4773 = 0, $4774 = 0, $4775 = 0, $4776 = 0, $4777 = 0, $4778 = 0, $4779 = 0, $478 = 0, $4780 = 0, $4781 = 0, $4782 = 0, $4783 = 0, $4784 = 0; + var $4785 = 0, $4786 = 0, $4787 = 0, $4788 = 0, $4789 = 0, $479 = 0, $4790 = 0, $4791 = 0, $4792 = 0, $4793 = 0, $4794 = 0, $4795 = 0, $4796 = 0, $4797 = 0, $4798 = 0, $4799 = 0, $48 = 0, $480 = 0, $4800 = 0, $4801 = 0; + var $4802 = 0, $4803 = 0, $4804 = 0, $4805 = 0, $4806 = 0, $4807 = 0, $4808 = 0, $4809 = 0, $481 = 0, $4810 = 0, $4811 = 0, $4812 = 0, $4813 = 0, $4814 = 0, $4815 = 0, $4816 = 0, $4817 = 0, $4818 = 0, $4819 = 0, $482 = 0; + var $4820 = 0, $4821 = 0, $4822 = 0, $4823 = 0, $4824 = 0, $4825 = 0, $4826 = 0, $4827 = 0, $4828 = 0, $4829 = 0, $483 = 0, $4830 = 0, $4831 = 0, $4832 = 0, $4833 = 0, $4834 = 0, $4835 = 0, $4836 = 0, $4837 = 0, $4838 = 0; + var $4839 = 0, $484 = 0, $4840 = 0, $4841 = 0, $4842 = 0, $4843 = 0, $4844 = 0, $4845 = 0, $4846 = 0, $4847 = 0, $4848 = 0, $4849 = 0, $485 = 0, $4850 = 0, $4851 = 0, $4852 = 0, $4853 = 0, $4854 = 0, $4855 = 0, $4856 = 0; + var $4857 = 0, $4858 = 0, $4859 = 0, $486 = 0, $4860 = 0, $4861 = 0, $4862 = 0, $4863 = 0, $4864 = 0, $4865 = 0, $4866 = 0, $4867 = 0, $4868 = 0, $4869 = 0, $487 = 0, $4870 = 0, $4871 = 0, $4872 = 0, $4873 = 0, $4874 = 0; + var $4875 = 0, $4876 = 0, $4877 = 0, $4878 = 0, $4879 = 0, $488 = 0, $4880 = 0, $4881 = 0, $4882 = 0, $4883 = 0, $4884 = 0, $4885 = 0, $4886 = 0, $4887 = 0, $4888 = 0, $4889 = 0, $489 = 0, $4890 = 0, $4891 = 0, $4892 = 0; + var $4893 = 0, $4894 = 0, $4895 = 0, $4896 = 0, $4897 = 0, $4898 = 0, $4899 = 0, $49 = 0, $490 = 0, $4900 = 0, $4901 = 0, $4902 = 0, $4903 = 0, $4904 = 0, $4905 = 0, $4906 = 0, $4907 = 0, $4908 = 0, $4909 = 0, $491 = 0; + var $4910 = 0, $4911 = 0, $4912 = 0, $4913 = 0, $4914 = 0, $4915 = 0, $4916 = 0, $4917 = 0, $4918 = 0, $4919 = 0, $492 = 0, $4920 = 0, $4921 = 0, $4922 = 0, $4923 = 0, $4924 = 0, $4925 = 0, $4926 = 0, $4927 = 0, $4928 = 0; + var $4929 = 0, $493 = 0, $4930 = 0, $4931 = 0, $4932 = 0, $4933 = 0, $4934 = 0, $4935 = 0, $4936 = 0, $4937 = 0, $4938 = 0, $4939 = 0, $494 = 0, $4940 = 0, $4941 = 0, $4942 = 0, $4943 = 0, $4944 = 0, $4945 = 0, $4946 = 0; + var $4947 = 0, $4948 = 0, $4949 = 0, $495 = 0, $4950 = 0, $4951 = 0, $4952 = 0, $4953 = 0, $4954 = 0, $4955 = 0, $4956 = 0, $4957 = 0, $4958 = 0, $4959 = 0, $496 = 0, $4960 = 0, $4961 = 0, $4962 = 0, $4963 = 0, $4964 = 0; + var $4965 = 0, $4966 = 0, $4967 = 0, $4968 = 0, $4969 = 0, $497 = 0, $4970 = 0, $4971 = 0, $4972 = 0, $4973 = 0, $4974 = 0, $4975 = 0, $4976 = 0, $4977 = 0, $4978 = 0, $4979 = 0, $498 = 0, $4980 = 0, $4981 = 0, $4982 = 0; + var $4983 = 0, $4984 = 0, $4985 = 0, $4986 = 0, $4987 = 0, $4988 = 0, $4989 = 0, $499 = 0, $4990 = 0, $4991 = 0, $4992 = 0, $4993 = 0, $4994 = 0, $4995 = 0, $4996 = 0, $4997 = 0, $4998 = 0, $4999 = 0, $5 = 0, $50 = 0; + var $500 = 0, $5000 = 0, $5001 = 0, $5002 = 0, $5003 = 0, $5004 = 0, $5005 = 0, $5006 = 0, $5007 = 0, $5008 = 0, $5009 = 0, $501 = 0, $5010 = 0, $5011 = 0, $5012 = 0, $5013 = 0, $5014 = 0, $5015 = 0, $5016 = 0, $5017 = 0; + var $5018 = 0, $5019 = 0, $502 = 0, $5020 = 0, $5021 = 0, $5022 = 0, $5023 = 0, $5024 = 0, $5025 = 0, $5026 = 0, $5027 = 0, $5028 = 0, $5029 = 0, $503 = 0, $5030 = 0, $5031 = 0, $5032 = 0, $5033 = 0, $5034 = 0, $5035 = 0; + var $5036 = 0, $5037 = 0, $5038 = 0, $5039 = 0, $504 = 0, $5040 = 0, $5041 = 0, $5042 = 0, $5043 = 0, $5044 = 0, $5045 = 0, $5046 = 0, $5047 = 0, $5048 = 0, $5049 = 0, $505 = 0, $5050 = 0, $5051 = 0, $5052 = 0, $5053 = 0; + var $5054 = 0, $5055 = 0, $5056 = 0, $5057 = 0, $5058 = 0, $5059 = 0, $506 = 0, $5060 = 0, $5061 = 0, $5062 = 0, $5063 = 0, $5064 = 0, $5065 = 0, $5066 = 0, $5067 = 0, $5068 = 0, $5069 = 0, $507 = 0, $5070 = 0, $5071 = 0; + var $5072 = 0, $5073 = 0, $5074 = 0, $5075 = 0, $5076 = 0, $5077 = 0, $5078 = 0, $5079 = 0, $508 = 0, $5080 = 0, $5081 = 0, $5082 = 0, $5083 = 0, $5084 = 0, $5085 = 0, $5086 = 0, $5087 = 0, $5088 = 0, $5089 = 0, $509 = 0; + var $5090 = 0, $5091 = 0, $5092 = 0, $5093 = 0, $5094 = 0, $5095 = 0, $5096 = 0, $5097 = 0, $5098 = 0, $5099 = 0, $51 = 0, $510 = 0, $5100 = 0, $5101 = 0, $5102 = 0, $5103 = 0, $5104 = 0, $5105 = 0, $5106 = 0, $5107 = 0; + var $5108 = 0, $5109 = 0, $511 = 0, $5110 = 0, $5111 = 0, $5112 = 0, $5113 = 0, $5114 = 0, $5115 = 0, $5116 = 0, $5117 = 0, $5118 = 0, $5119 = 0, $512 = 0, $5120 = 0, $5121 = 0, $5122 = 0, $5123 = 0, $5124 = 0, $5125 = 0; + var $5126 = 0, $5127 = 0, $5128 = 0, $5129 = 0, $513 = 0, $5130 = 0, $5131 = 0, $5132 = 0, $5133 = 0, $5134 = 0, $5135 = 0, $5136 = 0, $5137 = 0, $5138 = 0, $5139 = 0, $514 = 0, $5140 = 0, $5141 = 0, $5142 = 0, $5143 = 0; + var $5144 = 0, $5145 = 0, $5146 = 0, $5147 = 0, $5148 = 0, $5149 = 0, $515 = 0, $5150 = 0, $5151 = 0, $5152 = 0, $5153 = 0, $5154 = 0, $5155 = 0, $5156 = 0, $5157 = 0, $5158 = 0, $5159 = 0, $516 = 0, $5160 = 0, $5161 = 0; + var $5162 = 0, $5163 = 0, $5164 = 0, $5165 = 0, $5166 = 0, $5167 = 0, $5168 = 0, $5169 = 0, $517 = 0, $5170 = 0, $5171 = 0, $5172 = 0, $5173 = 0, $5174 = 0, $5175 = 0, $5176 = 0, $5177 = 0, $5178 = 0, $5179 = 0, $518 = 0; + var $5180 = 0, $5181 = 0, $5182 = 0, $5183 = 0, $5184 = 0, $5185 = 0, $5186 = 0, $5187 = 0, $5188 = 0, $5189 = 0, $519 = 0, $5190 = 0, $5191 = 0, $5192 = 0, $5193 = 0, $5194 = 0, $5195 = 0, $5196 = 0, $5197 = 0, $5198 = 0; + var $5199 = 0, $52 = 0, $520 = 0, $5200 = 0, $5201 = 0, $5202 = 0, $5203 = 0, $5204 = 0, $5205 = 0, $5206 = 0, $5207 = 0, $5208 = 0, $5209 = 0, $521 = 0, $5210 = 0, $5211 = 0, $5212 = 0, $5213 = 0, $5214 = 0, $5215 = 0; + var $5216 = 0, $5217 = 0, $5218 = 0, $5219 = 0, $522 = 0, $5220 = 0, $5221 = 0, $5222 = 0, $5223 = 0, $5224 = 0, $5225 = 0, $5226 = 0, $5227 = 0, $5228 = 0, $5229 = 0, $523 = 0, $5230 = 0, $5231 = 0, $5232 = 0, $5233 = 0; + var $5234 = 0, $5235 = 0, $5236 = 0, $5237 = 0, $5238 = 0, $5239 = 0, $524 = 0, $5240 = 0, $5241 = 0, $5242 = 0, $5243 = 0, $5244 = 0, $5245 = 0, $5246 = 0, $5247 = 0, $5248 = 0, $5249 = 0, $525 = 0, $5250 = 0, $5251 = 0; + var $5252 = 0, $5253 = 0, $5254 = 0, $5255 = 0, $5256 = 0, $5257 = 0, $5258 = 0, $5259 = 0, $526 = 0, $5260 = 0, $5261 = 0, $5262 = 0, $5263 = 0, $5264 = 0, $5265 = 0, $5266 = 0, $5267 = 0, $5268 = 0, $5269 = 0, $527 = 0; + var $5270 = 0, $5271 = 0, $5272 = 0, $5273 = 0, $5274 = 0, $5275 = 0, $5276 = 0, $5277 = 0, $5278 = 0, $5279 = 0, $528 = 0, $5280 = 0, $5281 = 0, $5282 = 0, $5283 = 0, $5284 = 0, $5285 = 0, $5286 = 0, $5287 = 0, $5288 = 0; + var $5289 = 0, $529 = 0, $5290 = 0, $5291 = 0, $5292 = 0, $5293 = 0, $5294 = 0, $5295 = 0, $5296 = 0, $5297 = 0, $5298 = 0, $5299 = 0, $53 = 0, $530 = 0, $5300 = 0, $5301 = 0, $5302 = 0, $5303 = 0, $5304 = 0, $5305 = 0; + var $5306 = 0, $5307 = 0, $5308 = 0, $5309 = 0, $531 = 0, $5310 = 0, $5311 = 0, $5312 = 0, $5313 = 0, $5314 = 0, $5315 = 0, $5316 = 0, $5317 = 0, $5318 = 0, $5319 = 0, $532 = 0, $5320 = 0, $5321 = 0, $5322 = 0, $5323 = 0; + var $5324 = 0, $5325 = 0, $5326 = 0, $5327 = 0, $5328 = 0, $5329 = 0, $533 = 0, $5330 = 0, $5331 = 0, $5332 = 0, $5333 = 0, $5334 = 0, $5335 = 0, $5336 = 0, $5337 = 0, $5338 = 0, $5339 = 0, $534 = 0, $5340 = 0, $5341 = 0; + var $5342 = 0, $5343 = 0, $5344 = 0, $5345 = 0, $5346 = 0, $5347 = 0, $5348 = 0, $5349 = 0, $535 = 0, $5350 = 0, $5351 = 0, $5352 = 0, $5353 = 0, $5354 = 0, $5355 = 0, $5356 = 0, $5357 = 0, $5358 = 0, $5359 = 0, $536 = 0; + var $5360 = 0, $5361 = 0, $5362 = 0, $5363 = 0, $5364 = 0, $5365 = 0, $5366 = 0, $5367 = 0, $5368 = 0, $5369 = 0, $537 = 0, $5370 = 0, $5371 = 0, $5372 = 0, $5373 = 0, $5374 = 0, $5375 = 0, $5376 = 0, $5377 = 0, $5378 = 0; + var $5379 = 0, $538 = 0, $5380 = 0, $5381 = 0, $5382 = 0, $5383 = 0, $5384 = 0, $5385 = 0, $5386 = 0, $5387 = 0, $5388 = 0, $5389 = 0, $539 = 0, $5390 = 0, $5391 = 0, $5392 = 0, $5393 = 0, $5394 = 0, $5395 = 0, $5396 = 0; + var $5397 = 0, $5398 = 0, $5399 = 0, $54 = 0, $540 = 0, $5400 = 0, $5401 = 0, $5402 = 0, $5403 = 0, $5404 = 0, $5405 = 0, $5406 = 0, $5407 = 0, $5408 = 0, $5409 = 0, $541 = 0, $5410 = 0, $5411 = 0, $5412 = 0, $5413 = 0; + var $5414 = 0, $5415 = 0, $5416 = 0, $5417 = 0, $5418 = 0, $5419 = 0, $542 = 0, $5420 = 0, $5421 = 0, $5422 = 0, $5423 = 0, $5424 = 0, $5425 = 0, $5426 = 0, $5427 = 0, $5428 = 0, $5429 = 0, $543 = 0, $5430 = 0, $5431 = 0; + var $5432 = 0, $5433 = 0, $5434 = 0, $5435 = 0, $5436 = 0, $5437 = 0, $5438 = 0, $5439 = 0, $544 = 0, $5440 = 0, $5441 = 0, $5442 = 0, $5443 = 0, $5444 = 0, $5445 = 0, $5446 = 0, $5447 = 0, $5448 = 0, $5449 = 0, $545 = 0; + var $5450 = 0, $5451 = 0, $5452 = 0, $5453 = 0, $5454 = 0, $5455 = 0, $5456 = 0, $5457 = 0, $5458 = 0, $5459 = 0, $546 = 0, $5460 = 0, $5461 = 0, $5462 = 0, $5463 = 0, $5464 = 0, $5465 = 0, $5466 = 0, $5467 = 0, $5468 = 0; + var $5469 = 0, $547 = 0, $5470 = 0, $5471 = 0, $5472 = 0, $5473 = 0, $5474 = 0, $5475 = 0, $5476 = 0, $5477 = 0, $5478 = 0, $5479 = 0, $548 = 0, $5480 = 0, $5481 = 0, $5482 = 0, $5483 = 0, $5484 = 0, $5485 = 0, $5486 = 0; + var $5487 = 0, $5488 = 0, $5489 = 0, $549 = 0, $5490 = 0, $5491 = 0, $5492 = 0, $5493 = 0, $5494 = 0, $5495 = 0, $5496 = 0, $5497 = 0, $5498 = 0, $5499 = 0, $55 = 0, $550 = 0, $5500 = 0, $5501 = 0, $5502 = 0, $5503 = 0; + var $5504 = 0, $5505 = 0, $5506 = 0, $5507 = 0, $5508 = 0, $5509 = 0, $551 = 0, $5510 = 0, $5511 = 0, $5512 = 0, $5513 = 0, $5514 = 0, $5515 = 0, $5516 = 0, $5517 = 0, $5518 = 0, $5519 = 0, $552 = 0, $5520 = 0, $5521 = 0; + var $5522 = 0, $5523 = 0, $5524 = 0, $5525 = 0, $5526 = 0, $5527 = 0, $5528 = 0, $5529 = 0, $553 = 0, $5530 = 0, $5531 = 0, $5532 = 0, $5533 = 0, $5534 = 0, $5535 = 0, $5536 = 0, $5537 = 0, $5538 = 0, $5539 = 0, $554 = 0; + var $5540 = 0, $5541 = 0, $5542 = 0, $5543 = 0, $5544 = 0, $5545 = 0, $5546 = 0, $5547 = 0, $5548 = 0, $5549 = 0, $555 = 0, $5550 = 0, $5551 = 0, $5552 = 0, $5553 = 0, $5554 = 0, $5555 = 0, $5556 = 0, $5557 = 0, $5558 = 0; + var $5559 = 0, $556 = 0, $5560 = 0, $5561 = 0, $5562 = 0, $5563 = 0, $5564 = 0, $5565 = 0, $5566 = 0, $5567 = 0, $5568 = 0, $5569 = 0, $557 = 0, $5570 = 0, $5571 = 0, $5572 = 0, $5573 = 0, $5574 = 0, $5575 = 0, $5576 = 0; + var $5577 = 0, $5578 = 0, $5579 = 0, $558 = 0, $5580 = 0, $5581 = 0, $5582 = 0, $5583 = 0, $5584 = 0, $5585 = 0, $5586 = 0, $5587 = 0, $5588 = 0, $5589 = 0, $559 = 0, $5590 = 0, $5591 = 0, $5592 = 0, $5593 = 0, $5594 = 0; + var $5595 = 0, $5596 = 0, $5597 = 0, $5598 = 0, $5599 = 0, $56 = 0, $560 = 0, $5600 = 0, $5601 = 0, $5602 = 0, $5603 = 0, $5604 = 0, $5605 = 0, $5606 = 0, $5607 = 0, $5608 = 0, $5609 = 0, $561 = 0, $5610 = 0, $5611 = 0; + var $5612 = 0, $5613 = 0, $5614 = 0, $5615 = 0, $5616 = 0, $5617 = 0, $5618 = 0, $5619 = 0, $562 = 0, $5620 = 0, $5621 = 0, $5622 = 0, $5623 = 0, $5624 = 0, $5625 = 0, $5626 = 0, $5627 = 0, $5628 = 0, $5629 = 0, $563 = 0; + var $5630 = 0, $5631 = 0, $5632 = 0, $5633 = 0, $5634 = 0, $5635 = 0, $5636 = 0, $5637 = 0, $5638 = 0, $5639 = 0, $564 = 0, $5640 = 0, $5641 = 0, $5642 = 0, $5643 = 0, $5644 = 0, $5645 = 0, $5646 = 0, $5647 = 0, $5648 = 0; + var $5649 = 0, $565 = 0, $5650 = 0, $5651 = 0, $5652 = 0, $5653 = 0, $5654 = 0, $5655 = 0, $5656 = 0, $5657 = 0, $5658 = 0, $5659 = 0, $566 = 0, $5660 = 0, $5661 = 0, $5662 = 0, $5663 = 0, $5664 = 0, $5665 = 0, $5666 = 0; + var $5667 = 0, $5668 = 0, $5669 = 0, $567 = 0, $5670 = 0, $5671 = 0, $5672 = 0, $5673 = 0, $5674 = 0, $5675 = 0, $5676 = 0, $5677 = 0, $5678 = 0, $5679 = 0, $568 = 0, $5680 = 0, $5681 = 0, $5682 = 0, $5683 = 0, $5684 = 0; + var $5685 = 0, $5686 = 0, $5687 = 0, $5688 = 0, $5689 = 0, $569 = 0, $5690 = 0, $5691 = 0, $5692 = 0, $5693 = 0, $5694 = 0, $5695 = 0, $5696 = 0, $5697 = 0, $5698 = 0, $5699 = 0, $57 = 0, $570 = 0, $5700 = 0, $5701 = 0; + var $5702 = 0, $5703 = 0, $5704 = 0, $5705 = 0, $5706 = 0, $5707 = 0, $5708 = 0, $5709 = 0, $571 = 0, $5710 = 0, $5711 = 0, $5712 = 0, $5713 = 0, $5714 = 0, $5715 = 0, $5716 = 0, $5717 = 0, $5718 = 0, $5719 = 0, $572 = 0; + var $5720 = 0, $5721 = 0, $5722 = 0, $5723 = 0, $5724 = 0, $5725 = 0, $5726 = 0, $5727 = 0, $5728 = 0, $5729 = 0, $573 = 0, $5730 = 0, $5731 = 0, $5732 = 0, $5733 = 0, $5734 = 0, $5735 = 0, $5736 = 0, $5737 = 0, $5738 = 0; + var $5739 = 0, $574 = 0, $5740 = 0, $5741 = 0, $5742 = 0, $5743 = 0, $5744 = 0, $5745 = 0, $5746 = 0, $5747 = 0, $5748 = 0, $5749 = 0, $575 = 0, $5750 = 0, $5751 = 0, $5752 = 0, $5753 = 0, $5754 = 0, $5755 = 0, $5756 = 0; + var $5757 = 0, $5758 = 0, $5759 = 0, $576 = 0, $5760 = 0, $5761 = 0, $5762 = 0, $5763 = 0, $5764 = 0, $5765 = 0, $5766 = 0, $5767 = 0, $5768 = 0, $5769 = 0, $577 = 0, $5770 = 0, $5771 = 0, $5772 = 0, $5773 = 0, $5774 = 0; + var $5775 = 0, $5776 = 0, $5777 = 0, $5778 = 0, $5779 = 0, $578 = 0, $5780 = 0, $5781 = 0, $5782 = 0, $5783 = 0, $5784 = 0, $5785 = 0, $5786 = 0, $5787 = 0, $5788 = 0, $5789 = 0, $579 = 0, $5790 = 0, $5791 = 0, $5792 = 0; + var $5793 = 0, $5794 = 0, $5795 = 0, $5796 = 0, $5797 = 0, $5798 = 0, $5799 = 0, $58 = 0, $580 = 0, $5800 = 0, $5801 = 0, $5802 = 0, $5803 = 0, $5804 = 0, $5805 = 0, $5806 = 0, $5807 = 0, $5808 = 0, $5809 = 0, $581 = 0; + var $5810 = 0, $5811 = 0, $5812 = 0, $5813 = 0, $5814 = 0, $5815 = 0, $5816 = 0, $5817 = 0, $5818 = 0, $5819 = 0, $582 = 0, $5820 = 0, $5821 = 0, $5822 = 0, $5823 = 0, $5824 = 0, $5825 = 0, $5826 = 0, $5827 = 0, $5828 = 0; + var $5829 = 0, $583 = 0, $5830 = 0, $5831 = 0, $5832 = 0, $5833 = 0, $5834 = 0, $5835 = 0, $5836 = 0, $5837 = 0, $5838 = 0, $5839 = 0, $584 = 0, $5840 = 0, $5841 = 0, $5842 = 0, $5843 = 0, $5844 = 0, $5845 = 0, $5846 = 0; + var $5847 = 0, $5848 = 0, $5849 = 0, $585 = 0, $5850 = 0, $5851 = 0, $5852 = 0, $5853 = 0, $5854 = 0, $5855 = 0, $5856 = 0, $5857 = 0, $5858 = 0, $5859 = 0, $586 = 0, $5860 = 0, $5861 = 0, $5862 = 0, $5863 = 0, $5864 = 0; + var $5865 = 0, $5866 = 0, $5867 = 0, $5868 = 0, $5869 = 0, $587 = 0, $5870 = 0, $5871 = 0, $5872 = 0, $5873 = 0, $5874 = 0, $5875 = 0, $5876 = 0, $5877 = 0, $5878 = 0, $5879 = 0, $588 = 0, $5880 = 0, $5881 = 0, $5882 = 0; + var $5883 = 0, $5884 = 0, $5885 = 0, $5886 = 0, $5887 = 0, $5888 = 0, $5889 = 0, $589 = 0, $5890 = 0, $5891 = 0, $5892 = 0, $5893 = 0, $5894 = 0, $5895 = 0, $5896 = 0, $5897 = 0, $5898 = 0, $5899 = 0, $59 = 0, $590 = 0; + var $5900 = 0, $5901 = 0, $5902 = 0, $5903 = 0, $5904 = 0, $5905 = 0, $5906 = 0, $5907 = 0, $5908 = 0, $5909 = 0, $591 = 0, $5910 = 0, $5911 = 0, $5912 = 0, $5913 = 0, $5914 = 0, $5915 = 0, $5916 = 0, $5917 = 0, $5918 = 0; + var $5919 = 0, $592 = 0, $5920 = 0, $5921 = 0, $5922 = 0, $5923 = 0, $5924 = 0, $5925 = 0, $5926 = 0, $5927 = 0, $5928 = 0, $5929 = 0, $593 = 0, $5930 = 0, $5931 = 0, $5932 = 0, $5933 = 0, $5934 = 0, $5935 = 0, $5936 = 0; + var $5937 = 0, $5938 = 0, $5939 = 0, $594 = 0, $5940 = 0, $5941 = 0, $5942 = 0, $5943 = 0, $5944 = 0, $5945 = 0, $5946 = 0, $5947 = 0, $5948 = 0, $5949 = 0, $595 = 0, $5950 = 0, $5951 = 0, $5952 = 0, $5953 = 0, $5954 = 0; + var $5955 = 0, $5956 = 0, $5957 = 0, $5958 = 0, $5959 = 0, $596 = 0, $5960 = 0, $5961 = 0, $5962 = 0, $5963 = 0, $5964 = 0, $5965 = 0, $5966 = 0, $5967 = 0, $5968 = 0, $5969 = 0, $597 = 0, $5970 = 0, $5971 = 0, $5972 = 0; + var $5973 = 0, $5974 = 0, $5975 = 0, $5976 = 0, $5977 = 0, $5978 = 0, $5979 = 0, $598 = 0, $5980 = 0, $5981 = 0, $5982 = 0, $5983 = 0, $5984 = 0, $5985 = 0, $5986 = 0, $5987 = 0, $5988 = 0, $5989 = 0, $599 = 0, $5990 = 0; + var $5991 = 0, $5992 = 0, $5993 = 0, $5994 = 0, $5995 = 0, $5996 = 0, $5997 = 0, $5998 = 0, $5999 = 0, $6 = 0, $60 = 0, $600 = 0, $6000 = 0, $6001 = 0, $6002 = 0, $6003 = 0, $6004 = 0, $6005 = 0, $6006 = 0, $6007 = 0; + var $6008 = 0, $6009 = 0, $601 = 0, $6010 = 0, $6011 = 0, $6012 = 0, $6013 = 0, $6014 = 0, $6015 = 0, $6016 = 0, $6017 = 0, $6018 = 0, $6019 = 0, $602 = 0, $6020 = 0, $6021 = 0, $6022 = 0, $6023 = 0, $6024 = 0, $6025 = 0; + var $6026 = 0, $6027 = 0, $6028 = 0, $6029 = 0, $603 = 0, $6030 = 0, $6031 = 0, $6032 = 0, $6033 = 0, $6034 = 0, $6035 = 0, $6036 = 0, $6037 = 0, $6038 = 0, $6039 = 0, $604 = 0, $6040 = 0, $6041 = 0, $6042 = 0, $6043 = 0; + var $6044 = 0, $6045 = 0, $6046 = 0, $6047 = 0, $6048 = 0, $6049 = 0, $605 = 0, $6050 = 0, $6051 = 0, $6052 = 0, $6053 = 0, $6054 = 0, $6055 = 0, $6056 = 0, $6057 = 0, $6058 = 0, $6059 = 0, $606 = 0, $6060 = 0, $6061 = 0; + var $6062 = 0, $6063 = 0, $6064 = 0, $6065 = 0, $6066 = 0, $6067 = 0, $6068 = 0, $6069 = 0, $607 = 0, $6070 = 0, $6071 = 0, $6072 = 0, $6073 = 0, $6074 = 0, $6075 = 0, $6076 = 0, $6077 = 0, $6078 = 0, $6079 = 0, $608 = 0; + var $6080 = 0, $6081 = 0, $6082 = 0, $6083 = 0, $6084 = 0, $6085 = 0, $6086 = 0, $6087 = 0, $6088 = 0, $6089 = 0, $609 = 0, $6090 = 0, $6091 = 0, $6092 = 0, $6093 = 0, $6094 = 0, $6095 = 0, $6096 = 0, $6097 = 0, $6098 = 0; + var $6099 = 0, $61 = 0, $610 = 0, $6100 = 0, $6101 = 0, $6102 = 0, $6103 = 0, $6104 = 0, $6105 = 0, $6106 = 0, $6107 = 0, $6108 = 0, $6109 = 0, $611 = 0, $6110 = 0, $6111 = 0, $6112 = 0, $6113 = 0, $6114 = 0, $6115 = 0; + var $6116 = 0, $6117 = 0, $6118 = 0, $6119 = 0, $612 = 0, $6120 = 0, $6121 = 0, $6122 = 0, $6123 = 0, $6124 = 0, $6125 = 0, $6126 = 0, $6127 = 0, $6128 = 0, $6129 = 0, $613 = 0, $6130 = 0, $6131 = 0, $6132 = 0, $6133 = 0; + var $6134 = 0, $6135 = 0, $6136 = 0, $6137 = 0, $6138 = 0, $6139 = 0, $614 = 0, $6140 = 0, $6141 = 0, $6142 = 0, $6143 = 0, $6144 = 0, $6145 = 0, $6146 = 0, $6147 = 0, $6148 = 0, $6149 = 0, $615 = 0, $6150 = 0, $6151 = 0; + var $6152 = 0, $6153 = 0, $6154 = 0, $6155 = 0, $6156 = 0, $6157 = 0, $6158 = 0, $6159 = 0, $616 = 0, $6160 = 0, $6161 = 0, $6162 = 0, $6163 = 0, $6164 = 0, $6165 = 0, $6166 = 0, $6167 = 0, $6168 = 0, $6169 = 0, $617 = 0; + var $6170 = 0, $6171 = 0, $6172 = 0, $6173 = 0, $6174 = 0, $6175 = 0, $6176 = 0, $6177 = 0, $6178 = 0, $6179 = 0, $618 = 0, $6180 = 0, $6181 = 0, $6182 = 0, $6183 = 0, $6184 = 0, $6185 = 0, $6186 = 0, $6187 = 0, $6188 = 0; + var $6189 = 0, $619 = 0, $6190 = 0, $6191 = 0, $6192 = 0, $6193 = 0, $6194 = 0, $6195 = 0, $6196 = 0, $6197 = 0, $6198 = 0, $6199 = 0, $62 = 0, $620 = 0, $6200 = 0, $6201 = 0, $6202 = 0, $6203 = 0, $6204 = 0, $6205 = 0; + var $6206 = 0, $6207 = 0, $6208 = 0, $6209 = 0, $621 = 0, $6210 = 0, $6211 = 0, $6212 = 0, $6213 = 0, $6214 = 0, $6215 = 0, $6216 = 0, $6217 = 0, $6218 = 0, $6219 = 0, $622 = 0, $6220 = 0, $6221 = 0, $6222 = 0, $6223 = 0; + var $6224 = 0, $6225 = 0, $6226 = 0, $6227 = 0, $6228 = 0, $6229 = 0, $623 = 0, $6230 = 0, $6231 = 0, $6232 = 0, $6233 = 0, $6234 = 0, $6235 = 0, $6236 = 0, $6237 = 0, $6238 = 0, $6239 = 0, $624 = 0, $6240 = 0, $6241 = 0; + var $6242 = 0, $6243 = 0, $6244 = 0, $6245 = 0, $6246 = 0, $6247 = 0, $6248 = 0, $6249 = 0, $625 = 0, $6250 = 0, $6251 = 0, $6252 = 0, $6253 = 0, $6254 = 0, $6255 = 0, $6256 = 0, $6257 = 0, $6258 = 0, $6259 = 0, $626 = 0; + var $6260 = 0, $6261 = 0, $6262 = 0, $6263 = 0, $6264 = 0, $6265 = 0, $6266 = 0, $6267 = 0, $6268 = 0, $6269 = 0, $627 = 0, $6270 = 0, $6271 = 0, $6272 = 0, $6273 = 0, $6274 = 0, $6275 = 0, $6276 = 0, $6277 = 0, $6278 = 0; + var $6279 = 0, $628 = 0, $6280 = 0, $6281 = 0, $6282 = 0, $6283 = 0, $6284 = 0, $6285 = 0, $6286 = 0, $6287 = 0, $6288 = 0, $6289 = 0, $629 = 0, $6290 = 0, $6291 = 0, $6292 = 0, $6293 = 0, $6294 = 0, $6295 = 0, $6296 = 0; + var $6297 = 0, $6298 = 0, $6299 = 0, $63 = 0, $630 = 0, $6300 = 0, $6301 = 0, $6302 = 0, $6303 = 0, $6304 = 0, $6305 = 0, $6306 = 0, $6307 = 0, $6308 = 0, $6309 = 0, $631 = 0, $6310 = 0, $6311 = 0, $6312 = 0, $6313 = 0; + var $6314 = 0, $6315 = 0, $6316 = 0, $6317 = 0, $6318 = 0, $6319 = 0, $632 = 0, $6320 = 0, $6321 = 0, $6322 = 0, $6323 = 0, $6324 = 0, $6325 = 0, $6326 = 0, $6327 = 0, $6328 = 0, $6329 = 0, $633 = 0, $6330 = 0, $6331 = 0; + var $6332 = 0, $6333 = 0, $6334 = 0, $6335 = 0, $6336 = 0, $6337 = 0, $6338 = 0, $6339 = 0, $634 = 0, $6340 = 0, $6341 = 0, $6342 = 0, $6343 = 0, $6344 = 0, $6345 = 0, $6346 = 0, $6347 = 0, $6348 = 0, $6349 = 0, $635 = 0; + var $6350 = 0, $6351 = 0, $6352 = 0, $6353 = 0, $6354 = 0, $6355 = 0, $6356 = 0, $6357 = 0, $6358 = 0, $6359 = 0, $636 = 0, $6360 = 0, $6361 = 0, $6362 = 0, $6363 = 0, $6364 = 0, $6365 = 0, $6366 = 0, $6367 = 0, $6368 = 0; + var $6369 = 0, $637 = 0, $6370 = 0, $6371 = 0, $6372 = 0, $6373 = 0, $6374 = 0, $6375 = 0, $6376 = 0, $6377 = 0, $6378 = 0, $6379 = 0, $638 = 0, $6380 = 0, $6381 = 0, $6382 = 0, $6383 = 0, $6384 = 0, $6385 = 0, $6386 = 0; + var $6387 = 0, $6388 = 0, $6389 = 0, $639 = 0, $6390 = 0, $6391 = 0, $6392 = 0, $6393 = 0, $6394 = 0, $6395 = 0, $6396 = 0, $6397 = 0, $6398 = 0, $6399 = 0, $64 = 0, $640 = 0, $6400 = 0, $6401 = 0, $6402 = 0, $6403 = 0; + var $6404 = 0, $6405 = 0, $6406 = 0, $6407 = 0, $6408 = 0, $6409 = 0, $641 = 0, $6410 = 0, $6411 = 0, $6412 = 0, $6413 = 0, $6414 = 0, $6415 = 0, $6416 = 0, $6417 = 0, $6418 = 0, $6419 = 0, $642 = 0, $6420 = 0, $6421 = 0; + var $6422 = 0, $6423 = 0, $6424 = 0, $6425 = 0, $6426 = 0, $6427 = 0, $6428 = 0, $6429 = 0, $643 = 0, $6430 = 0, $6431 = 0, $6432 = 0, $6433 = 0, $6434 = 0, $6435 = 0, $6436 = 0, $6437 = 0, $6438 = 0, $6439 = 0, $644 = 0; + var $6440 = 0, $6441 = 0, $6442 = 0, $6443 = 0, $6444 = 0, $6445 = 0, $6446 = 0, $6447 = 0, $6448 = 0, $6449 = 0, $645 = 0, $6450 = 0, $6451 = 0, $6452 = 0, $6453 = 0, $6454 = 0, $6455 = 0, $6456 = 0, $6457 = 0, $6458 = 0; + var $6459 = 0, $646 = 0, $6460 = 0, $6461 = 0, $6462 = 0, $6463 = 0, $6464 = 0, $6465 = 0, $6466 = 0, $6467 = 0, $6468 = 0, $6469 = 0, $647 = 0, $6470 = 0, $6471 = 0, $6472 = 0, $6473 = 0, $6474 = 0, $6475 = 0, $6476 = 0; + var $6477 = 0, $6478 = 0, $6479 = 0, $648 = 0, $6480 = 0, $6481 = 0, $6482 = 0, $6483 = 0, $6484 = 0, $6485 = 0, $6486 = 0, $6487 = 0, $6488 = 0, $6489 = 0, $649 = 0, $6490 = 0, $6491 = 0, $6492 = 0, $6493 = 0, $6494 = 0; + var $6495 = 0, $6496 = 0, $6497 = 0, $6498 = 0, $6499 = 0, $65 = 0, $650 = 0, $6500 = 0, $6501 = 0, $6502 = 0, $6503 = 0, $6504 = 0, $6505 = 0, $6506 = 0, $6507 = 0, $6508 = 0, $6509 = 0, $651 = 0, $6510 = 0, $6511 = 0; + var $6512 = 0, $6513 = 0, $6514 = 0, $6515 = 0, $6516 = 0, $6517 = 0, $6518 = 0, $6519 = 0, $652 = 0, $6520 = 0, $6521 = 0, $6522 = 0, $6523 = 0, $6524 = 0, $6525 = 0, $6526 = 0, $6527 = 0, $6528 = 0, $6529 = 0, $653 = 0; + var $6530 = 0, $6531 = 0, $6532 = 0, $6533 = 0, $6534 = 0, $6535 = 0, $6536 = 0, $6537 = 0, $6538 = 0, $6539 = 0, $654 = 0, $6540 = 0, $6541 = 0, $6542 = 0, $6543 = 0, $6544 = 0, $6545 = 0, $6546 = 0, $6547 = 0, $6548 = 0; + var $6549 = 0, $655 = 0, $6550 = 0, $6551 = 0, $6552 = 0, $6553 = 0, $6554 = 0, $6555 = 0, $6556 = 0, $6557 = 0, $6558 = 0, $6559 = 0, $656 = 0, $6560 = 0, $6561 = 0, $6562 = 0, $6563 = 0, $6564 = 0, $6565 = 0, $6566 = 0; + var $6567 = 0, $6568 = 0, $6569 = 0, $657 = 0, $6570 = 0, $6571 = 0, $6572 = 0, $6573 = 0, $6574 = 0, $6575 = 0, $6576 = 0, $6577 = 0, $6578 = 0, $6579 = 0, $658 = 0, $6580 = 0, $6581 = 0, $6582 = 0, $6583 = 0, $6584 = 0; + var $6585 = 0, $6586 = 0, $6587 = 0, $6588 = 0, $6589 = 0, $659 = 0, $6590 = 0, $6591 = 0, $6592 = 0, $6593 = 0, $6594 = 0, $6595 = 0, $6596 = 0, $6597 = 0, $6598 = 0, $6599 = 0, $66 = 0, $660 = 0, $6600 = 0, $6601 = 0; + var $6602 = 0, $6603 = 0, $6604 = 0, $6605 = 0, $6606 = 0, $6607 = 0, $6608 = 0, $6609 = 0, $661 = 0, $6610 = 0, $6611 = 0, $6612 = 0, $6613 = 0, $6614 = 0, $6615 = 0, $6616 = 0, $6617 = 0, $6618 = 0, $6619 = 0, $662 = 0; + var $6620 = 0, $6621 = 0, $6622 = 0, $6623 = 0, $6624 = 0, $6625 = 0, $6626 = 0, $6627 = 0, $6628 = 0, $6629 = 0, $663 = 0, $6630 = 0, $6631 = 0, $6632 = 0, $6633 = 0, $6634 = 0, $6635 = 0, $6636 = 0, $6637 = 0, $6638 = 0; + var $6639 = 0, $664 = 0, $6640 = 0, $6641 = 0, $6642 = 0, $6643 = 0, $6644 = 0, $6645 = 0, $6646 = 0, $6647 = 0, $6648 = 0, $6649 = 0, $665 = 0, $6650 = 0, $6651 = 0, $6652 = 0, $6653 = 0, $6654 = 0, $6655 = 0, $6656 = 0; + var $6657 = 0, $6658 = 0, $6659 = 0, $666 = 0, $6660 = 0, $6661 = 0, $6662 = 0, $6663 = 0, $6664 = 0, $6665 = 0, $6666 = 0, $6667 = 0, $6668 = 0, $6669 = 0, $667 = 0, $6670 = 0, $6671 = 0, $6672 = 0, $6673 = 0, $6674 = 0; + var $6675 = 0, $6676 = 0, $6677 = 0, $6678 = 0, $6679 = 0, $668 = 0, $6680 = 0, $6681 = 0, $6682 = 0, $6683 = 0, $6684 = 0, $6685 = 0, $6686 = 0, $6687 = 0, $6688 = 0, $6689 = 0, $669 = 0, $6690 = 0, $6691 = 0, $6692 = 0; + var $6693 = 0, $6694 = 0, $6695 = 0, $6696 = 0, $6697 = 0, $6698 = 0, $6699 = 0, $67 = 0, $670 = 0, $6700 = 0, $6701 = 0, $6702 = 0, $6703 = 0, $6704 = 0, $6705 = 0, $6706 = 0, $6707 = 0, $6708 = 0, $6709 = 0, $671 = 0; + var $6710 = 0, $6711 = 0, $6712 = 0, $6713 = 0, $6714 = 0, $6715 = 0, $6716 = 0, $6717 = 0, $6718 = 0, $6719 = 0, $672 = 0, $6720 = 0, $6721 = 0, $6722 = 0, $6723 = 0, $6724 = 0, $6725 = 0, $6726 = 0, $6727 = 0, $6728 = 0; + var $6729 = 0, $673 = 0, $6730 = 0, $6731 = 0, $6732 = 0, $6733 = 0, $6734 = 0, $6735 = 0, $6736 = 0, $6737 = 0, $6738 = 0, $6739 = 0, $674 = 0, $6740 = 0, $6741 = 0, $6742 = 0, $6743 = 0, $6744 = 0, $6745 = 0, $6746 = 0; + var $6747 = 0, $6748 = 0, $6749 = 0, $675 = 0, $6750 = 0, $6751 = 0, $6752 = 0, $6753 = 0, $6754 = 0, $6755 = 0, $6756 = 0, $6757 = 0, $6758 = 0, $6759 = 0, $676 = 0, $6760 = 0, $6761 = 0, $6762 = 0, $6763 = 0, $6764 = 0; + var $6765 = 0, $6766 = 0, $6767 = 0, $6768 = 0, $6769 = 0, $677 = 0, $6770 = 0, $6771 = 0, $6772 = 0, $6773 = 0, $6774 = 0, $6775 = 0, $6776 = 0, $6777 = 0, $6778 = 0, $6779 = 0, $678 = 0, $6780 = 0, $6781 = 0, $6782 = 0; + var $6783 = 0, $6784 = 0, $6785 = 0, $6786 = 0, $6787 = 0, $6788 = 0, $6789 = 0, $679 = 0, $6790 = 0, $6791 = 0, $6792 = 0, $6793 = 0, $6794 = 0, $6795 = 0, $6796 = 0, $6797 = 0, $6798 = 0, $6799 = 0, $68 = 0, $680 = 0; + var $6800 = 0, $6801 = 0, $6802 = 0, $6803 = 0, $6804 = 0, $6805 = 0, $6806 = 0, $6807 = 0, $6808 = 0, $6809 = 0, $681 = 0, $6810 = 0, $6811 = 0, $6812 = 0, $6813 = 0, $6814 = 0, $6815 = 0, $6816 = 0, $6817 = 0, $6818 = 0; + var $6819 = 0, $682 = 0, $6820 = 0, $6821 = 0, $6822 = 0, $6823 = 0, $6824 = 0, $6825 = 0, $6826 = 0, $6827 = 0, $6828 = 0, $6829 = 0, $683 = 0, $6830 = 0, $6831 = 0, $6832 = 0, $6833 = 0, $6834 = 0, $6835 = 0, $6836 = 0; + var $6837 = 0, $6838 = 0, $6839 = 0, $684 = 0, $6840 = 0, $6841 = 0, $6842 = 0, $6843 = 0, $6844 = 0, $6845 = 0, $6846 = 0, $6847 = 0, $6848 = 0, $6849 = 0, $685 = 0, $6850 = 0, $6851 = 0, $6852 = 0, $6853 = 0, $6854 = 0; + var $6855 = 0, $6856 = 0, $6857 = 0, $6858 = 0, $6859 = 0, $686 = 0, $6860 = 0, $6861 = 0, $6862 = 0, $6863 = 0, $6864 = 0, $6865 = 0, $6866 = 0, $6867 = 0, $6868 = 0, $6869 = 0, $687 = 0, $6870 = 0, $6871 = 0, $6872 = 0; + var $6873 = 0, $6874 = 0, $6875 = 0, $6876 = 0, $6877 = 0, $6878 = 0, $6879 = 0, $688 = 0, $6880 = 0, $6881 = 0, $6882 = 0, $6883 = 0, $6884 = 0, $6885 = 0, $6886 = 0, $6887 = 0, $6888 = 0, $6889 = 0, $689 = 0, $6890 = 0; + var $6891 = 0, $6892 = 0, $6893 = 0, $6894 = 0, $6895 = 0, $6896 = 0, $6897 = 0, $6898 = 0, $6899 = 0, $69 = 0, $690 = 0, $6900 = 0, $6901 = 0, $6902 = 0, $6903 = 0, $6904 = 0, $6905 = 0, $6906 = 0, $6907 = 0, $6908 = 0; + var $6909 = 0, $691 = 0, $6910 = 0, $6911 = 0, $6912 = 0, $6913 = 0, $6914 = 0, $6915 = 0, $6916 = 0, $6917 = 0, $6918 = 0, $6919 = 0, $692 = 0, $6920 = 0, $6921 = 0, $6922 = 0, $6923 = 0, $6924 = 0, $6925 = 0, $6926 = 0; + var $6927 = 0, $6928 = 0, $6929 = 0, $693 = 0, $6930 = 0, $6931 = 0, $6932 = 0, $6933 = 0, $6934 = 0, $6935 = 0, $6936 = 0, $6937 = 0, $6938 = 0, $6939 = 0, $694 = 0, $6940 = 0, $6941 = 0, $6942 = 0, $6943 = 0, $6944 = 0; + var $6945 = 0, $6946 = 0, $6947 = 0, $6948 = 0, $6949 = 0, $695 = 0, $6950 = 0, $6951 = 0, $6952 = 0, $6953 = 0, $6954 = 0, $6955 = 0, $6956 = 0, $6957 = 0, $6958 = 0, $6959 = 0, $696 = 0, $6960 = 0, $6961 = 0, $6962 = 0; + var $6963 = 0, $6964 = 0, $6965 = 0, $6966 = 0, $6967 = 0, $6968 = 0, $6969 = 0, $697 = 0, $6970 = 0, $6971 = 0, $6972 = 0, $6973 = 0, $6974 = 0, $6975 = 0, $6976 = 0, $6977 = 0, $6978 = 0, $6979 = 0, $698 = 0, $6980 = 0; + var $6981 = 0, $6982 = 0, $6983 = 0, $6984 = 0, $6985 = 0, $6986 = 0, $6987 = 0, $6988 = 0, $6989 = 0, $699 = 0, $6990 = 0, $6991 = 0, $6992 = 0, $6993 = 0, $6994 = 0, $6995 = 0, $6996 = 0, $6997 = 0, $6998 = 0, $6999 = 0; + var $7 = 0, $70 = 0, $700 = 0.0, $7000 = 0, $7001 = 0, $7002 = 0, $7003 = 0, $7004 = 0, $7005 = 0, $7006 = 0, $7007 = 0, $7008 = 0, $7009 = 0, $701 = 0, $7010 = 0, $7011 = 0, $7012 = 0, $7013 = 0, $7014 = 0, $7015 = 0; + var $7016 = 0, $7017 = 0, $7018 = 0, $7019 = 0, $702 = 0, $7020 = 0, $7021 = 0, $7022 = 0, $7023 = 0, $7024 = 0, $7025 = 0, $7026 = 0, $7027 = 0, $7028 = 0, $7029 = 0, $703 = 0, $7030 = 0, $7031 = 0, $7032 = 0, $7033 = 0; + var $7034 = 0, $7035 = 0, $7036 = 0, $7037 = 0, $7038 = 0, $7039 = 0, $704 = 0, $7040 = 0, $7041 = 0, $7042 = 0, $7043 = 0, $7044 = 0, $7045 = 0, $7046 = 0, $7047 = 0, $7048 = 0, $7049 = 0, $705 = 0, $7050 = 0, $7051 = 0; + var $7052 = 0, $7053 = 0, $7054 = 0, $7055 = 0, $7056 = 0, $7057 = 0, $7058 = 0, $7059 = 0, $706 = 0, $7060 = 0, $7061 = 0, $7062 = 0, $7063 = 0, $7064 = 0, $7065 = 0, $7066 = 0, $7067 = 0, $7068 = 0, $7069 = 0, $707 = 0; + var $7070 = 0, $7071 = 0, $7072 = 0, $7073 = 0, $7074 = 0, $7075 = 0, $7076 = 0, $7077 = 0, $7078 = 0, $7079 = 0, $708 = 0, $7080 = 0, $7081 = 0, $7082 = 0, $7083 = 0, $7084 = 0, $7085 = 0, $7086 = 0, $7087 = 0, $7088 = 0; + var $7089 = 0, $709 = 0, $7090 = 0, $7091 = 0, $7092 = 0, $7093 = 0, $7094 = 0, $7095 = 0, $7096 = 0, $7097 = 0, $7098 = 0, $7099 = 0, $71 = 0, $710 = 0, $7100 = 0, $7101 = 0, $7102 = 0, $7103 = 0, $7104 = 0, $7105 = 0; + var $7106 = 0, $7107 = 0, $7108 = 0, $7109 = 0, $711 = 0, $7110 = 0, $7111 = 0, $7112 = 0, $7113 = 0, $7114 = 0, $7115 = 0, $7116 = 0, $7117 = 0, $7118 = 0, $7119 = 0, $712 = 0, $7120 = 0, $7121 = 0, $7122 = 0, $7123 = 0; + var $7124 = 0, $7125 = 0, $7126 = 0, $7127 = 0, $7128 = 0, $7129 = 0, $713 = 0, $7130 = 0, $7131 = 0, $7132 = 0, $7133 = 0, $7134 = 0, $7135 = 0, $7136 = 0, $7137 = 0, $7138 = 0, $7139 = 0, $714 = 0, $7140 = 0, $7141 = 0; + var $7142 = 0, $7143 = 0, $7144 = 0, $7145 = 0, $7146 = 0, $7147 = 0, $7148 = 0, $7149 = 0, $715 = 0, $7150 = 0, $7151 = 0, $7152 = 0, $7153 = 0, $7154 = 0, $7155 = 0, $7156 = 0, $7157 = 0, $7158 = 0, $7159 = 0, $716 = 0; + var $7160 = 0, $7161 = 0, $7162 = 0, $7163 = 0, $7164 = 0, $7165 = 0, $7166 = 0, $7167 = 0, $7168 = 0, $7169 = 0, $717 = 0, $7170 = 0, $7171 = 0, $7172 = 0, $7173 = 0, $7174 = 0, $7175 = 0, $7176 = 0, $7177 = 0, $7178 = 0; + var $7179 = 0, $718 = 0, $7180 = 0, $7181 = 0, $7182 = 0, $7183 = 0, $7184 = 0, $7185 = 0, $7186 = 0, $7187 = 0, $7188 = 0, $7189 = 0, $719 = 0, $7190 = 0, $7191 = 0, $7192 = 0, $7193 = 0, $7194 = 0, $7195 = 0, $7196 = 0; + var $7197 = 0, $7198 = 0, $7199 = 0, $72 = 0, $720 = 0, $7200 = 0, $7201 = 0, $7202 = 0, $7203 = 0, $7204 = 0, $7205 = 0, $7206 = 0, $7207 = 0, $7208 = 0, $7209 = 0, $721 = 0, $7210 = 0, $7211 = 0, $7212 = 0, $7213 = 0; + var $7214 = 0, $7215 = 0, $7216 = 0, $7217 = 0, $7218 = 0, $7219 = 0, $722 = 0, $7220 = 0, $7221 = 0, $7222 = 0, $7223 = 0, $7224 = 0, $7225 = 0, $7226 = 0, $7227 = 0, $7228 = 0, $7229 = 0, $723 = 0, $7230 = 0, $7231 = 0; + var $7232 = 0, $7233 = 0, $7234 = 0, $7235 = 0, $7236 = 0, $7237 = 0, $7238 = 0, $7239 = 0, $724 = 0, $7240 = 0, $7241 = 0, $7242 = 0, $7243 = 0, $7244 = 0, $7245 = 0, $7246 = 0, $7247 = 0, $7248 = 0, $7249 = 0, $725 = 0; + var $7250 = 0, $7251 = 0, $7252 = 0, $7253 = 0, $7254 = 0, $7255 = 0, $7256 = 0, $7257 = 0, $7258 = 0, $7259 = 0, $726 = 0, $7260 = 0, $7261 = 0, $7262 = 0, $7263 = 0, $7264 = 0, $7265 = 0, $7266 = 0, $7267 = 0, $7268 = 0; + var $7269 = 0, $727 = 0, $7270 = 0, $7271 = 0, $7272 = 0, $7273 = 0, $7274 = 0, $7275 = 0, $7276 = 0, $7277 = 0, $7278 = 0, $7279 = 0, $728 = 0, $7280 = 0, $7281 = 0, $7282 = 0, $7283 = 0, $7284 = 0, $7285 = 0, $7286 = 0; + var $7287 = 0, $7288 = 0, $7289 = 0, $729 = 0, $7290 = 0, $7291 = 0, $7292 = 0, $7293 = 0, $7294 = 0, $7295 = 0, $7296 = 0, $7297 = 0, $7298 = 0, $7299 = 0, $73 = 0, $730 = 0, $7300 = 0, $7301 = 0, $7302 = 0, $7303 = 0; + var $7304 = 0, $7305 = 0, $7306 = 0, $7307 = 0, $7308 = 0, $7309 = 0, $731 = 0, $7310 = 0, $7311 = 0, $7312 = 0, $7313 = 0, $7314 = 0, $7315 = 0, $7316 = 0, $7317 = 0, $7318 = 0, $7319 = 0, $732 = 0, $7320 = 0, $7321 = 0; + var $7322 = 0, $7323 = 0, $7324 = 0, $7325 = 0, $7326 = 0, $7327 = 0, $7328 = 0, $7329 = 0, $733 = 0, $7330 = 0, $7331 = 0, $7332 = 0, $7333 = 0, $7334 = 0, $7335 = 0, $7336 = 0, $7337 = 0, $7338 = 0, $7339 = 0, $734 = 0; + var $7340 = 0, $7341 = 0, $7342 = 0, $7343 = 0, $7344 = 0, $7345 = 0, $7346 = 0, $7347 = 0, $7348 = 0, $7349 = 0, $735 = 0, $7350 = 0, $7351 = 0, $7352 = 0, $7353 = 0, $7354 = 0, $7355 = 0, $7356 = 0, $7357 = 0, $7358 = 0; + var $7359 = 0, $736 = 0, $7360 = 0, $7361 = 0, $7362 = 0, $7363 = 0, $7364 = 0, $7365 = 0, $7366 = 0, $7367 = 0, $7368 = 0, $7369 = 0, $737 = 0, $7370 = 0, $7371 = 0, $7372 = 0, $7373 = 0, $7374 = 0, $7375 = 0, $7376 = 0; + var $7377 = 0, $7378 = 0, $7379 = 0, $738 = 0, $7380 = 0, $7381 = 0, $7382 = 0, $7383 = 0, $7384 = 0, $7385 = 0, $7386 = 0, $7387 = 0, $7388 = 0, $7389 = 0, $739 = 0, $7390 = 0, $7391 = 0, $7392 = 0, $7393 = 0, $7394 = 0; + var $7395 = 0, $7396 = 0, $7397 = 0, $7398 = 0, $7399 = 0, $74 = 0, $740 = 0, $7400 = 0, $7401 = 0, $7402 = 0, $7403 = 0, $7404 = 0, $7405 = 0, $7406 = 0, $7407 = 0, $7408 = 0, $7409 = 0, $741 = 0, $7410 = 0, $7411 = 0; + var $7412 = 0, $7413 = 0, $7414 = 0, $7415 = 0, $7416 = 0, $7417 = 0, $7418 = 0, $7419 = 0, $742 = 0, $7420 = 0, $7421 = 0, $7422 = 0, $7423 = 0, $7424 = 0, $7425 = 0, $7426 = 0, $7427 = 0, $7428 = 0, $7429 = 0, $743 = 0; + var $7430 = 0, $7431 = 0, $7432 = 0, $7433 = 0, $7434 = 0, $7435 = 0, $7436 = 0, $7437 = 0, $7438 = 0, $7439 = 0, $744 = 0, $7440 = 0, $7441 = 0, $7442 = 0, $7443 = 0, $7444 = 0, $7445 = 0, $7446 = 0, $7447 = 0, $7448 = 0; + var $7449 = 0, $745 = 0, $7450 = 0, $7451 = 0, $7452 = 0, $7453 = 0, $7454 = 0, $7455 = 0, $7456 = 0, $7457 = 0, $7458 = 0, $7459 = 0, $746 = 0, $7460 = 0, $7461 = 0, $7462 = 0, $7463 = 0, $7464 = 0, $7465 = 0, $7466 = 0; + var $7467 = 0, $7468 = 0, $7469 = 0, $747 = 0, $7470 = 0, $7471 = 0, $7472 = 0, $7473 = 0, $7474 = 0, $7475 = 0, $7476 = 0, $7477 = 0, $7478 = 0, $7479 = 0, $748 = 0, $7480 = 0, $7481 = 0, $7482 = 0, $7483 = 0, $7484 = 0; + var $7485 = 0, $7486 = 0, $7487 = 0, $7488 = 0, $7489 = 0, $749 = 0, $7490 = 0, $7491 = 0, $7492 = 0, $7493 = 0, $7494 = 0, $7495 = 0, $7496 = 0, $7497 = 0, $7498 = 0, $7499 = 0, $75 = 0, $750 = 0, $7500 = 0, $7501 = 0; + var $7502 = 0, $7503 = 0, $7504 = 0, $7505 = 0, $7506 = 0, $7507 = 0, $7508 = 0, $7509 = 0, $751 = 0, $7510 = 0, $7511 = 0, $7512 = 0, $7513 = 0, $7514 = 0, $7515 = 0, $7516 = 0, $7517 = 0, $7518 = 0, $7519 = 0, $752 = 0; + var $7520 = 0, $7521 = 0, $7522 = 0, $7523 = 0, $7524 = 0, $7525 = 0, $7526 = 0, $7527 = 0, $7528 = 0, $7529 = 0, $753 = 0, $7530 = 0, $7531 = 0, $7532 = 0, $7533 = 0, $7534 = 0, $7535 = 0, $7536 = 0, $7537 = 0, $7538 = 0; + var $7539 = 0, $754 = 0, $7540 = 0, $7541 = 0, $7542 = 0, $7543 = 0, $7544 = 0, $7545 = 0, $7546 = 0, $7547 = 0, $7548 = 0, $7549 = 0, $755 = 0, $7550 = 0, $7551 = 0, $7552 = 0, $7553 = 0, $7554 = 0, $7555 = 0, $7556 = 0; + var $7557 = 0, $7558 = 0, $7559 = 0, $756 = 0, $7560 = 0, $7561 = 0, $7562 = 0, $7563 = 0, $7564 = 0, $7565 = 0, $7566 = 0, $7567 = 0, $7568 = 0, $7569 = 0, $757 = 0, $7570 = 0, $7571 = 0, $7572 = 0, $7573 = 0, $7574 = 0; + var $7575 = 0, $7576 = 0, $7577 = 0, $7578 = 0, $7579 = 0, $758 = 0, $7580 = 0, $7581 = 0, $7582 = 0, $7583 = 0, $7584 = 0, $7585 = 0, $7586 = 0, $7587 = 0, $7588 = 0, $7589 = 0, $759 = 0, $7590 = 0, $7591 = 0, $7592 = 0; + var $7593 = 0, $7594 = 0, $7595 = 0, $7596 = 0, $7597 = 0, $7598 = 0, $7599 = 0, $76 = 0, $760 = 0, $7600 = 0, $7601 = 0, $7602 = 0, $7603 = 0, $7604 = 0, $7605 = 0, $7606 = 0, $7607 = 0, $7608 = 0, $7609 = 0, $761 = 0; + var $7610 = 0, $7611 = 0, $7612 = 0, $7613 = 0, $7614 = 0, $7615 = 0, $7616 = 0, $7617 = 0, $7618 = 0, $7619 = 0, $762 = 0, $7620 = 0, $7621 = 0, $7622 = 0, $7623 = 0, $7624 = 0, $7625 = 0, $7626 = 0, $7627 = 0, $7628 = 0; + var $7629 = 0, $763 = 0, $7630 = 0, $7631 = 0, $7632 = 0, $7633 = 0, $7634 = 0, $7635 = 0, $7636 = 0, $7637 = 0, $7638 = 0, $7639 = 0, $764 = 0, $7640 = 0, $7641 = 0, $7642 = 0, $7643 = 0, $7644 = 0, $7645 = 0, $7646 = 0; + var $7647 = 0, $7648 = 0, $7649 = 0, $765 = 0, $7650 = 0, $7651 = 0, $7652 = 0, $7653 = 0, $7654 = 0, $7655 = 0, $7656 = 0, $7657 = 0, $7658 = 0, $7659 = 0, $766 = 0, $7660 = 0, $7661 = 0, $7662 = 0, $7663 = 0, $7664 = 0; + var $7665 = 0, $7666 = 0, $7667 = 0, $7668 = 0, $7669 = 0, $767 = 0, $7670 = 0, $7671 = 0, $7672 = 0, $7673 = 0, $7674 = 0, $7675 = 0, $7676 = 0, $7677 = 0, $7678 = 0, $7679 = 0, $768 = 0, $7680 = 0, $7681 = 0, $7682 = 0; + var $7683 = 0, $7684 = 0, $7685 = 0, $7686 = 0, $7687 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0; + var $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0; + var $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0; + var $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0; + var $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0; + var $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0; + var $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0; + var $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0; + var $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0; + var $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0; + var $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0; + var $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0; + var $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0; + var $999 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond17 = 0, $or$cond19 = 0, $or$cond21 = 0, $or$cond23 = 0, $or$cond3 = 0, $or$cond32 = 0, $or$cond44 = 0, $or$cond46 = 0, $or$cond48 = 0, $or$cond54 = 0, $or$cond8 = 0, $vararg_buffer = 0, $vararg_buffer100 = 0, $vararg_buffer103 = 0, $vararg_buffer108 = 0, $vararg_buffer110 = 0; + var $vararg_buffer112 = 0, $vararg_buffer55 = 0, $vararg_buffer59 = 0, $vararg_buffer62 = 0, $vararg_buffer67 = 0, $vararg_buffer70 = 0, $vararg_buffer72 = 0, $vararg_buffer75 = 0, $vararg_buffer77 = 0, $vararg_buffer79 = 0, $vararg_buffer81 = 0, $vararg_buffer86 = 0, $vararg_buffer88 = 0, $vararg_buffer91 = 0, $vararg_buffer94 = 0, $vararg_buffer97 = 0, $vararg_ptr106 = 0, $vararg_ptr107 = 0, $vararg_ptr58 = 0, $vararg_ptr65 = 0; + var $vararg_ptr66 = 0, $vararg_ptr84 = 0, $vararg_ptr85 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1872|0; + $vararg_buffer112 = sp + 536|0; + $vararg_buffer110 = sp + 528|0; + $vararg_buffer108 = sp + 520|0; + $vararg_buffer103 = sp + 504|0; + $vararg_buffer100 = sp + 496|0; + $vararg_buffer97 = sp + 488|0; + $vararg_buffer94 = sp + 480|0; + $vararg_buffer91 = sp + 472|0; + $vararg_buffer88 = sp + 464|0; + $vararg_buffer86 = sp + 456|0; + $vararg_buffer81 = sp + 440|0; + $vararg_buffer79 = sp + 432|0; + $vararg_buffer77 = sp + 424|0; + $vararg_buffer75 = sp + 416|0; + $vararg_buffer72 = sp + 408|0; + $vararg_buffer70 = sp + 400|0; + $vararg_buffer67 = sp + 392|0; + $vararg_buffer62 = sp + 376|0; + $vararg_buffer59 = sp + 368|0; + $vararg_buffer55 = sp + 360|0; + $vararg_buffer = sp + 352|0; + $1 = sp + 1656|0; + $2 = sp + 1652|0; + $3 = sp + 1648|0; + $4 = sp + 1644|0; + $5 = sp + 1640|0; + $6 = sp + 1862|0; + $7 = sp + 1861|0; + $8 = sp + 1636|0; + $9 = sp + 1632|0; + $10 = sp + 1628|0; + $11 = sp + 1624|0; + $12 = sp + 1620|0; + $13 = sp + 1616|0; + $14 = sp + 1612|0; + $15 = sp + 1608|0; + $16 = sp + 1604|0; + $17 = sp + 344|0; + $18 = sp + 1600|0; + $19 = sp + 1596|0; + $20 = sp + 1592|0; + $21 = sp + 1588|0; + $22 = sp + 1584|0; + $23 = sp + 1580|0; + $24 = sp + 1670|0; + $25 = sp + 1576|0; + $26 = sp + 1572|0; + $27 = sp + 1568|0; + $28 = sp + 1564|0; + $29 = sp + 1560|0; + $30 = sp + 1556|0; + $31 = sp + 1552|0; + $32 = sp + 336|0; + $33 = sp + 1860|0; + $34 = sp + 1668|0; + $35 = sp + 1666|0; + $36 = sp + 1664|0; + $37 = sp + 328|0; + $38 = sp + 320|0; + $39 = sp + 312|0; + $40 = sp + 304|0; + $41 = sp + 1548|0; + $42 = sp + 1544|0; + $43 = sp + 1540|0; + $44 = sp + 1536|0; + $45 = sp + 296|0; + $46 = sp + 288|0; + $47 = sp + 280|0; + $48 = sp + 1859|0; + $49 = sp + 1532|0; + $50 = sp + 1528|0; + $51 = sp + 1858|0; + $52 = sp + 1662|0; + $53 = sp + 1660|0; + $54 = sp + 1524|0; + $55 = sp + 1520|0; + $56 = sp + 1516|0; + $57 = sp + 1512|0; + $58 = sp + 1508|0; + $59 = sp + 1504|0; + $60 = sp + 1500|0; + $61 = sp + 1496|0; + $62 = sp + 1492|0; + $63 = sp + 1488|0; + $64 = sp + 1484|0; + $65 = sp + 1480|0; + $66 = sp + 1476|0; + $67 = sp + 1472|0; + $68 = sp + 1468|0; + $69 = sp + 1464|0; + $70 = sp + 1460|0; + $71 = sp + 1456|0; + $72 = sp + 240|0; + $73 = sp + 1452|0; + $74 = sp + 1448|0; + $75 = sp + 1444|0; + $76 = sp + 1440|0; + $77 = sp + 232|0; + $78 = sp + 1436|0; + $79 = sp + 1432|0; + $80 = sp + 1428|0; + $81 = sp + 1424|0; + $82 = sp + 1857|0; + $83 = sp + 1420|0; + $84 = sp + 1416|0; + $85 = sp + 224|0; + $86 = sp + 1412|0; + $87 = sp + 216|0; + $88 = sp + 208|0; + $89 = sp + 1408|0; + $90 = sp + 1404|0; + $91 = sp + 1400|0; + $92 = sp + 1396|0; + $93 = sp + 1392|0; + $94 = sp + 1388|0; + $95 = sp + 1384|0; + $96 = sp + 1380|0; + $97 = sp + 1376|0; + $98 = sp + 1372|0; + $99 = sp + 200|0; + $100 = sp + 1368|0; + $101 = sp + 1364|0; + $102 = sp + 1360|0; + $103 = sp + 1356|0; + $104 = sp + 1352|0; + $105 = sp + 1348|0; + $106 = sp + 1344|0; + $107 = sp + 1340|0; + $108 = sp + 1336|0; + $109 = sp + 1332|0; + $110 = sp + 1328|0; + $111 = sp + 1324|0; + $112 = sp + 1320|0; + $113 = sp + 1316|0; + $114 = sp + 1312|0; + $115 = sp + 1308|0; + $116 = sp + 1304|0; + $117 = sp + 1300|0; + $118 = sp + 1296|0; + $119 = sp + 1292|0; + $120 = sp + 1288|0; + $121 = sp + 1284|0; + $122 = sp + 1280|0; + $123 = sp + 1276|0; + $124 = sp + 1272|0; + $125 = sp + 1268|0; + $126 = sp + 1264|0; + $127 = sp + 1260|0; + $128 = sp + 1256|0; + $129 = sp + 1252|0; + $130 = sp + 1248|0; + $131 = sp + 1244|0; + $132 = sp + 1240|0; + $133 = sp + 1236|0; + $134 = sp + 1232|0; + $135 = sp + 1228|0; + $136 = sp + 1224|0; + $137 = sp + 1208|0; + $138 = sp + 1200|0; + $139 = sp + 192|0; + $140 = sp + 1196|0; + $141 = sp + 1192|0; + $142 = sp + 1188|0; + $143 = sp + 1184|0; + $144 = sp + 1180|0; + $145 = sp + 1176|0; + $146 = sp + 1172|0; + $147 = sp + 1168|0; + $148 = sp + 1152|0; + $149 = sp + 1674|0; + $150 = sp + 1148|0; + $151 = sp + 1144|0; + $152 = sp + 1140|0; + $153 = sp + 184|0; + $154 = sp + 176|0; + $155 = sp + 1136|0; + $156 = sp + 1132|0; + $157 = sp + 1128|0; + $158 = sp + 1124|0; + $159 = sp + 1120|0; + $160 = sp + 1116|0; + $161 = sp + 1112|0; + $162 = sp + 1108|0; + $163 = sp + 1104|0; + $164 = sp + 1100|0; + $165 = sp + 1096|0; + $166 = sp + 1092|0; + $167 = sp + 144|0; + $168 = sp + 1088|0; + $169 = sp + 1084|0; + $170 = sp + 1080|0; + $171 = sp + 1076|0; + $172 = sp + 1072|0; + $173 = sp + 1068|0; + $174 = sp + 1064|0; + $175 = sp + 1060|0; + $176 = sp + 1056|0; + $177 = sp + 1052|0; + $178 = sp + 1048|0; + $179 = sp + 1044|0; + $180 = sp + 136|0; + $181 = sp + 1040|0; + $182 = sp + 1036|0; + $183 = sp + 1032|0; + $184 = sp + 1028|0; + $185 = sp + 1024|0; + $186 = sp + 1020|0; + $187 = sp + 1016|0; + $188 = sp + 1012|0; + $189 = sp + 1008|0; + $190 = sp + 1004|0; + $191 = sp + 1000|0; + $192 = sp + 996|0; + $193 = sp + 104|0; + $194 = sp + 992|0; + $195 = sp + 988|0; + $196 = sp + 984|0; + $197 = sp + 968|0; + $198 = sp + 964|0; + $199 = sp + 960|0; + $200 = sp + 96|0; + $201 = sp + 956|0; + $202 = sp + 952|0; + $203 = sp + 936|0; + $204 = sp + 932|0; + $205 = sp + 928|0; + $206 = sp + 924|0; + $207 = sp + 920|0; + $208 = sp + 916|0; + $209 = sp + 912|0; + $210 = sp + 908|0; + $211 = sp + 904|0; + $212 = sp + 900|0; + $213 = sp + 896|0; + $214 = sp + 880|0; + $215 = sp + 872|0; + $216 = sp + 868|0; + $217 = sp + 864|0; + $218 = sp + 860|0; + $219 = sp + 856|0; + $220 = sp + 88|0; + $221 = sp + 852|0; + $222 = sp + 848|0; + $223 = sp + 844|0; + $224 = sp + 840|0; + $225 = sp + 836|0; + $226 = sp + 832|0; + $227 = sp + 828|0; + $228 = sp + 824|0; + $229 = sp + 820|0; + $230 = sp + 816|0; + $231 = sp + 812|0; + $232 = sp + 808|0; + $233 = sp + 804|0; + $234 = sp + 800|0; + $235 = sp + 796|0; + $236 = sp + 792|0; + $237 = sp + 788|0; + $238 = sp + 784|0; + $239 = sp + 48|0; + $240 = sp + 780|0; + $241 = sp + 776|0; + $242 = sp + 764|0; + $243 = sp + 760|0; + $244 = sp + 756|0; + $245 = sp + 752|0; + $246 = sp + 748|0; + $247 = sp + 744|0; + $248 = sp + 740|0; + $249 = sp + 736|0; + $250 = sp + 1673|0; + $251 = sp + 732|0; + $252 = sp + 728|0; + $253 = sp + 724|0; + $254 = sp + 8|0; + $255 = sp + 720|0; + $256 = sp + 716|0; + $257 = sp + 712|0; + $258 = sp + 708|0; + $259 = sp + 704|0; + $260 = sp + 700|0; + $261 = sp + 696|0; + $262 = sp + 692|0; + $263 = sp + 688|0; + $264 = sp + 684|0; + $265 = sp + 680|0; + $266 = sp + 676|0; + $267 = sp + 672|0; + $268 = sp + 668|0; + $269 = sp + 664|0; + $270 = sp + 660|0; + $271 = sp + 656|0; + $272 = sp + 652|0; + $273 = sp + 648|0; + $274 = sp + 616|0; + $275 = sp + 612|0; + $276 = sp + 608|0; + $277 = sp + 604|0; + $278 = sp + 600|0; + $279 = sp + 596|0; + $280 = sp + 592|0; + $281 = sp + 588|0; + $282 = sp + 584|0; + $283 = sp + 580|0; + $284 = sp + 576|0; + $285 = sp + 572|0; + $286 = sp; + $287 = sp + 568|0; + $288 = sp + 564|0; + $289 = sp + 1672|0; + $290 = sp + 560|0; + $291 = sp + 556|0; + $292 = sp + 552|0; + $293 = sp + 548|0; + $294 = sp + 544|0; + $295 = sp + 540|0; + HEAP32[$1>>2] = $0; + $296 = HEAP32[$1>>2]|0; + $297 = ((($296)) + 88|0); + $298 = HEAP32[$297>>2]|0; + HEAP32[$2>>2] = $298; + $299 = HEAP32[$2>>2]|0; + HEAP32[$3>>2] = $299; + HEAP32[$4>>2] = 0; + $300 = HEAP32[$1>>2]|0; + $301 = HEAP32[$300>>2]|0; + HEAP32[$5>>2] = $301; + HEAP8[$6>>0] = 0; + $302 = HEAP32[$5>>2]|0; + $303 = ((($302)) + 66|0); + $304 = HEAP8[$303>>0]|0; + HEAP8[$7>>0] = $304; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + $305 = HEAP32[$1>>2]|0; + $306 = ((($305)) + 92|0); + $307 = HEAP32[$306>>2]|0; + HEAP32[$11>>2] = $307; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + $308 = HEAP32[$5>>2]|0; + $309 = ((($308)) + 32|0); + $310 = $309; + $311 = $310; + $312 = HEAP32[$311>>2]|0; + $313 = (($310) + 4)|0; + $314 = $313; + $315 = HEAP32[$314>>2]|0; + $316 = $17; + $317 = $316; + HEAP32[$317>>2] = $312; + $318 = (($316) + 4)|0; + $319 = $318; + HEAP32[$319>>2] = $315; + $320 = HEAP32[$1>>2]|0; + _sqlite3VdbeEnter($320); + $321 = HEAP32[$1>>2]|0; + $322 = ((($321)) + 40|0); + $323 = HEAP32[$322>>2]|0; + $324 = ($323|0)==(7); + L1: do { + if ($324) { + label = 887; + } else { + $325 = HEAP32[$1>>2]|0; + $326 = ((($325)) + 40|0); + HEAP32[$326>>2] = 0; + $327 = HEAP32[$1>>2]|0; + $328 = ((($327)) + 56|0); + $329 = $328; + $330 = $329; + HEAP32[$330>>2] = 0; + $331 = (($329) + 4)|0; + $332 = $331; + HEAP32[$332>>2] = 0; + $333 = HEAP32[$1>>2]|0; + $334 = ((($333)) + 104|0); + HEAP32[$334>>2] = 0; + $335 = HEAP32[$5>>2]|0; + $336 = ((($335)) + 380|0); + $337 = ((($336)) + 8|0); + HEAP32[$337>>2] = 0; + $338 = HEAP32[$5>>2]|0; + $339 = ((($338)) + 248|0); + $340 = HEAP32[$339>>2]|0; + $341 = ($340|0)!=(0); + L3: do { + if (!($341)) { + $342 = HEAP32[$5>>2]|0; + $343 = ((($342)) + 304|0); + $344 = HEAP32[$343>>2]|0; + $345 = ($344|0)!=(0|0); + if ($345) { + $346 = HEAP32[$1>>2]|0; + $347 = ((($346)) + 156|0); + $348 = ((($347)) + 16|0); + $349 = HEAP32[$348>>2]|0; + HEAP32[$18>>2] = $349; + $350 = HEAP32[$5>>2]|0; + $351 = ((($350)) + 312|0); + $352 = HEAP32[$351>>2]|0; + $353 = HEAP32[$18>>2]|0; + $354 = HEAP32[$5>>2]|0; + $355 = ((($354)) + 312|0); + $356 = HEAP32[$355>>2]|0; + $357 = (($353>>>0) % ($356>>>0))&-1; + $358 = (($352) - ($357))|0; + HEAP32[$10>>2] = $358; + } + $359 = HEAP32[$2>>2]|0; + $360 = HEAP32[$1>>2]|0; + $361 = ((($360)) + 36|0); + $362 = HEAP32[$361>>2]|0; + $363 = (($359) + (($362*20)|0)|0); + HEAP32[$3>>2] = $363; + L8: while(1) { + $364 = HEAP32[$9>>2]|0; + $365 = (($364) + 1)|0; + HEAP32[$9>>2] = $365; + $366 = HEAP32[$3>>2]|0; + $367 = HEAP8[$366>>0]|0; + $368 = $367&255; + L10: do { + switch ($368|0) { + case 87: { + label = 64; + break L8; + break; + } case 1: { - label = 393; + label = 395; break L8; break; } - case 13: { - label = 7; - break; + case 13: { + label = 7; + break; + } + case 14: { + $405 = HEAP32[$11>>2]|0; + $406 = HEAP32[$3>>2]|0; + $407 = ((($406)) + 4|0); + $408 = HEAP32[$407>>2]|0; + $409 = (($405) + (($408*40)|0)|0); + HEAP32[$12>>2] = $409; + $410 = HEAP32[$12>>2]|0; + $411 = ((($410)) + 8|0); + HEAP16[$411>>1] = 4; + $412 = HEAP32[$3>>2]|0; + $413 = HEAP32[$2>>2]|0; + $414 = $412; + $415 = $413; + $416 = (($414) - ($415))|0; + $417 = (($416|0) / 20)&-1; + $418 = ($417|0)<(0); + $419 = $418 << 31 >> 31; + $420 = HEAP32[$12>>2]|0; + $421 = $420; + $422 = $421; + HEAP32[$422>>2] = $417; + $423 = (($421) + 4)|0; + $424 = $423; + HEAP32[$424>>2] = $419; + label = 14; + break; + } + case 72: { + $431 = HEAP32[$11>>2]|0; + $432 = HEAP32[$3>>2]|0; + $433 = ((($432)) + 4|0); + $434 = HEAP32[$433>>2]|0; + $435 = (($431) + (($434*40)|0)|0); + HEAP32[$12>>2] = $435; + $436 = HEAP32[$2>>2]|0; + $437 = HEAP32[$12>>2]|0; + $438 = $437; + $439 = $438; + $440 = HEAP32[$439>>2]|0; + $441 = (($438) + 4)|0; + $442 = $441; + $443 = HEAP32[$442>>2]|0; + $444 = (($436) + (($440*20)|0)|0); + HEAP32[$3>>2] = $444; + $445 = HEAP32[$12>>2]|0; + $446 = ((($445)) + 8|0); + HEAP16[$446>>1] = 128; + break; + } + case 15: { + $447 = HEAP32[$11>>2]|0; + $448 = HEAP32[$3>>2]|0; + $449 = ((($448)) + 4|0); + $450 = HEAP32[$449>>2]|0; + $451 = (($447) + (($450*40)|0)|0); + HEAP32[$15>>2] = $451; + $452 = HEAP32[$3>>2]|0; + $453 = ((($452)) + 12|0); + $454 = HEAP32[$453>>2]|0; + $455 = (($454) - 1)|0; + $456 = ($455|0)<(0); + $457 = $456 << 31 >> 31; + $458 = HEAP32[$15>>2]|0; + $459 = $458; + $460 = $459; + HEAP32[$460>>2] = $455; + $461 = (($459) + 4)|0; + $462 = $461; + HEAP32[$462>>2] = $457; + $463 = HEAP32[$15>>2]|0; + $464 = ((($463)) + 8|0); + HEAP16[$464>>1] = 4; + $465 = HEAP32[$3>>2]|0; + $466 = ((($465)) + 8|0); + $467 = HEAP32[$466>>2]|0; + $468 = ($467|0)!=(0); + if ($468) { + label = 14; + } + break; + } + case 73: { + $469 = HEAP32[$11>>2]|0; + $470 = HEAP32[$3>>2]|0; + $471 = ((($470)) + 4|0); + $472 = HEAP32[$471>>2]|0; + $473 = (($469) + (($472*40)|0)|0); + HEAP32[$12>>2] = $473; + $474 = HEAP32[$2>>2]|0; + $475 = HEAP32[$12>>2]|0; + $476 = $475; + $477 = $476; + $478 = HEAP32[$477>>2]|0; + $479 = (($476) + 4)|0; + $480 = $479; + $481 = HEAP32[$480>>2]|0; + $482 = (($474) + (($478*20)|0)|0); + HEAP32[$19>>2] = $482; + $483 = HEAP32[$2>>2]|0; + $484 = HEAP32[$19>>2]|0; + $485 = ((($484)) + 8|0); + $486 = HEAP32[$485>>2]|0; + $487 = (($486) - 1)|0; + $488 = (($483) + (($487*20)|0)|0); + HEAP32[$3>>2] = $488; + $489 = HEAP32[$12>>2]|0; + $490 = ((($489)) + 8|0); + HEAP16[$490>>1] = 128; + break; + } + case 16: { + $491 = HEAP32[$11>>2]|0; + $492 = HEAP32[$3>>2]|0; + $493 = ((($492)) + 4|0); + $494 = HEAP32[$493>>2]|0; + $495 = (($491) + (($494*40)|0)|0); + HEAP32[$12>>2] = $495; + $496 = HEAP32[$12>>2]|0; + $497 = ((($496)) + 8|0); + HEAP16[$497>>1] = 4; + $498 = HEAP32[$12>>2]|0; + $499 = $498; + $500 = $499; + $501 = HEAP32[$500>>2]|0; + $502 = (($499) + 4)|0; + $503 = $502; + $504 = HEAP32[$503>>2]|0; + HEAP32[$20>>2] = $501; + $505 = HEAP32[$3>>2]|0; + $506 = HEAP32[$2>>2]|0; + $507 = $505; + $508 = $506; + $509 = (($507) - ($508))|0; + $510 = (($509|0) / 20)&-1; + $511 = ($510|0)<(0); + $512 = $511 << 31 >> 31; + $513 = HEAP32[$12>>2]|0; + $514 = $513; + $515 = $514; + HEAP32[$515>>2] = $510; + $516 = (($514) + 4)|0; + $517 = $516; + HEAP32[$517>>2] = $512; + $518 = HEAP32[$2>>2]|0; + $519 = HEAP32[$20>>2]|0; + $520 = (($518) + (($519*20)|0)|0); + HEAP32[$3>>2] = $520; + break; + } + case 74: { + $521 = HEAP32[$11>>2]|0; + $522 = HEAP32[$3>>2]|0; + $523 = ((($522)) + 12|0); + $524 = HEAP32[$523>>2]|0; + $525 = (($521) + (($524*40)|0)|0); + HEAP32[$14>>2] = $525; + $526 = HEAP32[$14>>2]|0; + $527 = ((($526)) + 8|0); + $528 = HEAP16[$527>>1]|0; + $529 = $528&65535; + $530 = $529 & 1; + $531 = ($530|0)==(0); + if (!($531)) { + label = 20; + } + break; + } + case 75: { + label = 20; + break; + } + case 76: { + $662 = HEAP32[$1>>2]|0; + $663 = HEAP32[$3>>2]|0; + $664 = (_out2Prerelease($662,$663)|0); + HEAP32[$15>>2] = $664; + $665 = HEAP32[$3>>2]|0; + $666 = ((($665)) + 4|0); + $667 = HEAP32[$666>>2]|0; + $668 = ($667|0)<(0); + $669 = $668 << 31 >> 31; + $670 = HEAP32[$15>>2]|0; + $671 = $670; + $672 = $671; + HEAP32[$672>>2] = $667; + $673 = (($671) + 4)|0; + $674 = $673; + HEAP32[$674>>2] = $669; + break; + } + case 77: { + $675 = HEAP32[$1>>2]|0; + $676 = HEAP32[$3>>2]|0; + $677 = (_out2Prerelease($675,$676)|0); + HEAP32[$15>>2] = $677; + $678 = HEAP32[$3>>2]|0; + $679 = ((($678)) + 16|0); + $680 = HEAP32[$679>>2]|0; + $681 = $680; + $682 = $681; + $683 = HEAP32[$682>>2]|0; + $684 = (($681) + 4)|0; + $685 = $684; + $686 = HEAP32[$685>>2]|0; + $687 = HEAP32[$15>>2]|0; + $688 = $687; + $689 = $688; + HEAP32[$689>>2] = $683; + $690 = (($688) + 4)|0; + $691 = $690; + HEAP32[$691>>2] = $686; + break; + } + case 132: { + $692 = HEAP32[$1>>2]|0; + $693 = HEAP32[$3>>2]|0; + $694 = (_out2Prerelease($692,$693)|0); + HEAP32[$15>>2] = $694; + $695 = HEAP32[$15>>2]|0; + $696 = ((($695)) + 8|0); + HEAP16[$696>>1] = 8; + $697 = HEAP32[$3>>2]|0; + $698 = ((($697)) + 16|0); + $699 = HEAP32[$698>>2]|0; + $700 = +HEAPF64[$699>>3]; + $701 = HEAP32[$15>>2]|0; + HEAPF64[$701>>3] = $700; + break; + } + case 97: { + $702 = HEAP32[$1>>2]|0; + $703 = HEAP32[$3>>2]|0; + $704 = (_out2Prerelease($702,$703)|0); + HEAP32[$15>>2] = $704; + $705 = HEAP32[$3>>2]|0; + HEAP8[$705>>0] = 78; + $706 = HEAP32[$3>>2]|0; + $707 = ((($706)) + 16|0); + $708 = HEAP32[$707>>2]|0; + $709 = (_sqlite3Strlen30($708)|0); + $710 = HEAP32[$3>>2]|0; + $711 = ((($710)) + 4|0); + HEAP32[$711>>2] = $709; + $712 = HEAP8[$7>>0]|0; + $713 = $712&255; + $714 = ($713|0)!=(1); + if ($714) { + $715 = HEAP32[$15>>2]|0; + $716 = HEAP32[$3>>2]|0; + $717 = ((($716)) + 16|0); + $718 = HEAP32[$717>>2]|0; + $719 = (_sqlite3VdbeMemSetStr($715,$718,-1,1,0)|0); + HEAP32[$4>>2] = $719; + $720 = HEAP32[$15>>2]|0; + $721 = HEAP8[$7>>0]|0; + $722 = $721&255; + $723 = (_sqlite3VdbeChangeEncoding($720,$722)|0); + $724 = (0)!=($723|0); + if ($724) { + label = 887; + break L1; + } + $725 = HEAP32[$15>>2]|0; + $726 = ((($725)) + 24|0); + HEAP32[$726>>2] = 0; + $727 = HEAP32[$15>>2]|0; + $728 = ((($727)) + 8|0); + $729 = HEAP16[$728>>1]|0; + $730 = $729&65535; + $731 = $730 | 2048; + $732 = $731&65535; + HEAP16[$728>>1] = $732; + $733 = HEAP32[$3>>2]|0; + $734 = ((($733)) + 1|0); + $735 = HEAP8[$734>>0]|0; + $736 = $735 << 24 >> 24; + $737 = ($736|0)==(-1); + if ($737) { + $738 = HEAP32[$5>>2]|0; + $739 = HEAP32[$3>>2]|0; + $740 = ((($739)) + 16|0); + $741 = HEAP32[$740>>2]|0; + _sqlite3DbFree($738,$741); + } + $742 = HEAP32[$3>>2]|0; + $743 = ((($742)) + 1|0); + HEAP8[$743>>0] = -1; + $744 = HEAP32[$15>>2]|0; + $745 = ((($744)) + 16|0); + $746 = HEAP32[$745>>2]|0; + $747 = HEAP32[$3>>2]|0; + $748 = ((($747)) + 16|0); + HEAP32[$748>>2] = $746; + $749 = HEAP32[$15>>2]|0; + $750 = ((($749)) + 12|0); + $751 = HEAP32[$750>>2]|0; + $752 = HEAP32[$3>>2]|0; + $753 = ((($752)) + 4|0); + HEAP32[$753>>2] = $751; + } + $754 = HEAP32[$3>>2]|0; + $755 = ((($754)) + 4|0); + $756 = HEAP32[$755>>2]|0; + $757 = HEAP32[$5>>2]|0; + $758 = ((($757)) + 96|0); + $759 = HEAP32[$758>>2]|0; + $760 = ($756|0)>($759|0); + if ($760) { + label = 886; + break L8; + } else { + label = 43; + } + break; + } + case 78: { + label = 43; + break; + } + case 79: { + $804 = HEAP32[$1>>2]|0; + $805 = HEAP32[$3>>2]|0; + $806 = (_out2Prerelease($804,$805)|0); + HEAP32[$15>>2] = $806; + $807 = HEAP32[$3>>2]|0; + $808 = ((($807)) + 12|0); + $809 = HEAP32[$808>>2]|0; + $810 = HEAP32[$3>>2]|0; + $811 = ((($810)) + 8|0); + $812 = HEAP32[$811>>2]|0; + $813 = (($809) - ($812))|0; + HEAP32[$23>>2] = $813; + $814 = HEAP32[$3>>2]|0; + $815 = ((($814)) + 4|0); + $816 = HEAP32[$815>>2]|0; + $817 = ($816|0)!=(0); + $818 = $817 ? 257 : 1; + $819 = $818&65535; + HEAP16[$24>>1] = $819; + $820 = HEAP32[$15>>2]|0; + $821 = ((($820)) + 8|0); + HEAP16[$821>>1] = $819; + $822 = HEAP32[$15>>2]|0; + $823 = ((($822)) + 12|0); + HEAP32[$823>>2] = 0; + while(1) { + $824 = HEAP32[$23>>2]|0; + $825 = ($824|0)>(0); + if (!($825)) { + break L10; + } + $826 = HEAP32[$15>>2]|0; + $827 = ((($826)) + 40|0); + HEAP32[$15>>2] = $827; + $828 = HEAP32[$15>>2]|0; + _sqlite3VdbeMemSetNull($828); + $829 = HEAP16[$24>>1]|0; + $830 = HEAP32[$15>>2]|0; + $831 = ((($830)) + 8|0); + HEAP16[$831>>1] = $829; + $832 = HEAP32[$15>>2]|0; + $833 = ((($832)) + 12|0); + HEAP32[$833>>2] = 0; + $834 = HEAP32[$23>>2]|0; + $835 = (($834) + -1)|0; + HEAP32[$23>>2] = $835; + } + break; + } + case 80: { + $836 = HEAP32[$11>>2]|0; + $837 = HEAP32[$3>>2]|0; + $838 = ((($837)) + 4|0); + $839 = HEAP32[$838>>2]|0; + $840 = (($836) + (($839*40)|0)|0); + HEAP32[$15>>2] = $840; + $841 = HEAP32[$15>>2]|0; + $842 = ((($841)) + 8|0); + $843 = HEAP16[$842>>1]|0; + $844 = $843&65535; + $845 = $844 | 1; + $846 = $845 & -129; + $847 = $846&65535; + $848 = HEAP32[$15>>2]|0; + $849 = ((($848)) + 8|0); + HEAP16[$849>>1] = $847; + break; + } + case 81: { + $850 = HEAP32[$1>>2]|0; + $851 = HEAP32[$3>>2]|0; + $852 = (_out2Prerelease($850,$851)|0); + HEAP32[$15>>2] = $852; + $853 = HEAP32[$15>>2]|0; + $854 = HEAP32[$3>>2]|0; + $855 = ((($854)) + 16|0); + $856 = HEAP32[$855>>2]|0; + $857 = HEAP32[$3>>2]|0; + $858 = ((($857)) + 4|0); + $859 = HEAP32[$858>>2]|0; + (_sqlite3VdbeMemSetStr($853,$856,$859,0,0)|0); + $860 = HEAP8[$7>>0]|0; + $861 = HEAP32[$15>>2]|0; + $862 = ((($861)) + 10|0); + HEAP8[$862>>0] = $860; + break; + } + case 82: { + $863 = HEAP32[$1>>2]|0; + $864 = ((($863)) + 116|0); + $865 = HEAP32[$864>>2]|0; + $866 = HEAP32[$3>>2]|0; + $867 = ((($866)) + 4|0); + $868 = HEAP32[$867>>2]|0; + $869 = (($868) - 1)|0; + $870 = (($865) + (($869*40)|0)|0); + HEAP32[$25>>2] = $870; + $871 = HEAP32[$25>>2]|0; + $872 = (_sqlite3VdbeMemTooBig($871)|0); + $873 = ($872|0)!=(0); + if ($873) { + label = 886; + break L8; + } + $874 = HEAP32[$1>>2]|0; + $875 = HEAP32[$3>>2]|0; + $876 = (_out2Prerelease($874,$875)|0); + HEAP32[$15>>2] = $876; + $877 = HEAP32[$15>>2]|0; + $878 = HEAP32[$25>>2]|0; + _sqlite3VdbeMemShallowCopy($877,$878,2048); + break; + } + case 83: { + $879 = HEAP32[$3>>2]|0; + $880 = ((($879)) + 12|0); + $881 = HEAP32[$880>>2]|0; + HEAP32[$26>>2] = $881; + $882 = HEAP32[$3>>2]|0; + $883 = ((($882)) + 4|0); + $884 = HEAP32[$883>>2]|0; + HEAP32[$27>>2] = $884; + $885 = HEAP32[$3>>2]|0; + $886 = ((($885)) + 8|0); + $887 = HEAP32[$886>>2]|0; + HEAP32[$28>>2] = $887; + $888 = HEAP32[$11>>2]|0; + $889 = HEAP32[$27>>2]|0; + $890 = (($888) + (($889*40)|0)|0); + HEAP32[$12>>2] = $890; + $891 = HEAP32[$11>>2]|0; + $892 = HEAP32[$28>>2]|0; + $893 = (($891) + (($892*40)|0)|0); + HEAP32[$15>>2] = $893; + while(1) { + $894 = HEAP32[$15>>2]|0; + $895 = HEAP32[$12>>2]|0; + _sqlite3VdbeMemMove($894,$895); + $896 = HEAP32[$15>>2]|0; + $897 = ((($896)) + 8|0); + $898 = HEAP16[$897>>1]|0; + $899 = $898&65535; + $900 = $899 & 4096; + $901 = ($900|0)!=(0); + if ($901) { + $902 = HEAP32[$15>>2]|0; + $903 = (_sqlite3VdbeMemMakeWriteable($902)|0); + $904 = ($903|0)!=(0); + if ($904) { + label = 887; + break L1; + } + } + $905 = HEAP32[$12>>2]|0; + $906 = ((($905)) + 40|0); + HEAP32[$12>>2] = $906; + $907 = HEAP32[$15>>2]|0; + $908 = ((($907)) + 40|0); + HEAP32[$15>>2] = $908; + $909 = HEAP32[$26>>2]|0; + $910 = (($909) + -1)|0; + HEAP32[$26>>2] = $910; + $911 = ($910|0)!=(0); + if (!($911)) { + break; + } + } + break; + } + case 84: { + $912 = HEAP32[$3>>2]|0; + $913 = ((($912)) + 12|0); + $914 = HEAP32[$913>>2]|0; + HEAP32[$29>>2] = $914; + $915 = HEAP32[$11>>2]|0; + $916 = HEAP32[$3>>2]|0; + $917 = ((($916)) + 4|0); + $918 = HEAP32[$917>>2]|0; + $919 = (($915) + (($918*40)|0)|0); + HEAP32[$12>>2] = $919; + $920 = HEAP32[$11>>2]|0; + $921 = HEAP32[$3>>2]|0; + $922 = ((($921)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $924 = (($920) + (($923*40)|0)|0); + HEAP32[$15>>2] = $924; + while(1) { + $925 = HEAP32[$15>>2]|0; + $926 = HEAP32[$12>>2]|0; + _sqlite3VdbeMemShallowCopy($925,$926,4096); + $927 = HEAP32[$15>>2]|0; + $928 = ((($927)) + 8|0); + $929 = HEAP16[$928>>1]|0; + $930 = $929&65535; + $931 = $930 & 4096; + $932 = ($931|0)!=(0); + if ($932) { + $933 = HEAP32[$15>>2]|0; + $934 = (_sqlite3VdbeMemMakeWriteable($933)|0); + $935 = ($934|0)!=(0); + if ($935) { + label = 887; + break L1; + } + } + $936 = HEAP32[$29>>2]|0; + $937 = (($936) + -1)|0; + HEAP32[$29>>2] = $937; + $938 = ($936|0)==(0); + if ($938) { + break L10; + } + $939 = HEAP32[$15>>2]|0; + $940 = ((($939)) + 40|0); + HEAP32[$15>>2] = $940; + $941 = HEAP32[$12>>2]|0; + $942 = ((($941)) + 40|0); + HEAP32[$12>>2] = $942; + } + break; + } + case 85: { + $943 = HEAP32[$11>>2]|0; + $944 = HEAP32[$3>>2]|0; + $945 = ((($944)) + 4|0); + $946 = HEAP32[$945>>2]|0; + $947 = (($943) + (($946*40)|0)|0); + HEAP32[$12>>2] = $947; + $948 = HEAP32[$11>>2]|0; + $949 = HEAP32[$3>>2]|0; + $950 = ((($949)) + 8|0); + $951 = HEAP32[$950>>2]|0; + $952 = (($948) + (($951*40)|0)|0); + HEAP32[$15>>2] = $952; + $953 = HEAP32[$15>>2]|0; + $954 = HEAP32[$12>>2]|0; + _sqlite3VdbeMemShallowCopy($953,$954,4096); + break; + } + case 86: { + $955 = HEAP32[$11>>2]|0; + $956 = HEAP32[$3>>2]|0; + $957 = ((($956)) + 4|0); + $958 = HEAP32[$957>>2]|0; + $959 = (($955) + (($958*40)|0)|0); + HEAP32[$12>>2] = $959; + $960 = HEAP32[$11>>2]|0; + $961 = HEAP32[$3>>2]|0; + $962 = ((($961)) + 8|0); + $963 = HEAP32[$962>>2]|0; + $964 = (($960) + (($963*40)|0)|0); + HEAP32[$15>>2] = $964; + $965 = HEAP32[$15>>2]|0; + $966 = HEAP32[$12>>2]|0; + $967 = $966; + $968 = $967; + $969 = HEAP32[$968>>2]|0; + $970 = (($967) + 4)|0; + $971 = $970; + $972 = HEAP32[$971>>2]|0; + _sqlite3VdbeMemSetInt64($965,$969,$972); + break; + } + case 52: { + $1056 = HEAP32[$11>>2]|0; + $1057 = HEAP32[$3>>2]|0; + $1058 = ((($1057)) + 4|0); + $1059 = HEAP32[$1058>>2]|0; + $1060 = (($1056) + (($1059*40)|0)|0); + HEAP32[$12>>2] = $1060; + $1061 = HEAP32[$11>>2]|0; + $1062 = HEAP32[$3>>2]|0; + $1063 = ((($1062)) + 8|0); + $1064 = HEAP32[$1063>>2]|0; + $1065 = (($1061) + (($1064*40)|0)|0); + HEAP32[$13>>2] = $1065; + $1066 = HEAP32[$11>>2]|0; + $1067 = HEAP32[$3>>2]|0; + $1068 = ((($1067)) + 12|0); + $1069 = HEAP32[$1068>>2]|0; + $1070 = (($1066) + (($1069*40)|0)|0); + HEAP32[$15>>2] = $1070; + $1071 = HEAP32[$12>>2]|0; + $1072 = ((($1071)) + 8|0); + $1073 = HEAP16[$1072>>1]|0; + $1074 = $1073&65535; + $1075 = HEAP32[$13>>2]|0; + $1076 = ((($1075)) + 8|0); + $1077 = HEAP16[$1076>>1]|0; + $1078 = $1077&65535; + $1079 = $1074 | $1078; + $1080 = $1079 & 1; + $1081 = ($1080|0)!=(0); + if ($1081) { + $1082 = HEAP32[$15>>2]|0; + _sqlite3VdbeMemSetNull($1082); + break L10; + } + $1083 = HEAP32[$12>>2]|0; + $1084 = ((($1083)) + 8|0); + $1085 = HEAP16[$1084>>1]|0; + $1086 = $1085&65535; + $1087 = $1086 & 16384; + $1088 = ($1087|0)!=(0); + if ($1088) { + $1089 = HEAP32[$12>>2]|0; + $1090 = (_sqlite3VdbeMemExpandBlob($1089)|0); + $1091 = ($1090|0)!=(0); + if ($1091) { + label = 887; + break L1; + } + } + $1092 = HEAP32[$13>>2]|0; + $1093 = ((($1092)) + 8|0); + $1094 = HEAP16[$1093>>1]|0; + $1095 = $1094&65535; + $1096 = $1095 & 16384; + $1097 = ($1096|0)!=(0); + if ($1097) { + $1098 = HEAP32[$13>>2]|0; + $1099 = (_sqlite3VdbeMemExpandBlob($1098)|0); + $1100 = ($1099|0)!=(0); + if ($1100) { + label = 887; + break L1; + } + } + $1101 = HEAP32[$12>>2]|0; + $1102 = ((($1101)) + 8|0); + $1103 = HEAP16[$1102>>1]|0; + $1104 = $1103&65535; + $1105 = $1104 & 18; + $1106 = ($1105|0)==(0); + if ($1106) { + $1107 = HEAP32[$12>>2]|0; + $1108 = HEAP8[$7>>0]|0; + $1109 = (_sqlite3VdbeMemStringify($1107,$1108,0)|0); + $1110 = ($1109|0)!=(0); + if ($1110) { + label = 887; + break L1; + } + } + $1111 = HEAP32[$13>>2]|0; + $1112 = ((($1111)) + 8|0); + $1113 = HEAP16[$1112>>1]|0; + $1114 = $1113&65535; + $1115 = $1114 & 18; + $1116 = ($1115|0)==(0); + if ($1116) { + $1117 = HEAP32[$13>>2]|0; + $1118 = HEAP8[$7>>0]|0; + $1119 = (_sqlite3VdbeMemStringify($1117,$1118,0)|0); + $1120 = ($1119|0)!=(0); + if ($1120) { + label = 887; + break L1; + } + } + $1121 = HEAP32[$12>>2]|0; + $1122 = ((($1121)) + 12|0); + $1123 = HEAP32[$1122>>2]|0; + $1124 = HEAP32[$13>>2]|0; + $1125 = ((($1124)) + 12|0); + $1126 = HEAP32[$1125>>2]|0; + $1127 = (($1123) + ($1126))|0; + $1128 = ($1127|0)<(0); + $1129 = $1128 << 31 >> 31; + $1130 = $32; + $1131 = $1130; + HEAP32[$1131>>2] = $1127; + $1132 = (($1130) + 4)|0; + $1133 = $1132; + HEAP32[$1133>>2] = $1129; + $1134 = $32; + $1135 = $1134; + $1136 = HEAP32[$1135>>2]|0; + $1137 = (($1134) + 4)|0; + $1138 = $1137; + $1139 = HEAP32[$1138>>2]|0; + $1140 = HEAP32[$5>>2]|0; + $1141 = ((($1140)) + 96|0); + $1142 = HEAP32[$1141>>2]|0; + $1143 = ($1142|0)<(0); + $1144 = $1143 << 31 >> 31; + $1145 = ($1139|0)>($1144|0); + $1146 = ($1136>>>0)>($1142>>>0); + $1147 = ($1139|0)==($1144|0); + $1148 = $1147 & $1146; + $1149 = $1145 | $1148; + if ($1149) { + label = 886; + break L8; + } + $1150 = HEAP32[$15>>2]|0; + $1151 = $32; + $1152 = $1151; + $1153 = HEAP32[$1152>>2]|0; + $1154 = (($1151) + 4)|0; + $1155 = $1154; + $1156 = HEAP32[$1155>>2]|0; + $1157 = (($1153) + 2)|0; + $1158 = HEAP32[$15>>2]|0; + $1159 = HEAP32[$13>>2]|0; + $1160 = ($1158|0)==($1159|0); + $1161 = $1160&1; + $1162 = (_sqlite3VdbeMemGrow($1150,$1157,$1161)|0); + $1163 = ($1162|0)!=(0); + if ($1163) { + label = 887; + break L1; + } + $1164 = HEAP32[$15>>2]|0; + $1165 = ((($1164)) + 8|0); + $1166 = HEAP16[$1165>>1]|0; + $1167 = $1166&65535; + $1168 = $1167 & -49664; + $1169 = $1168 | 2; + $1170 = $1169&65535; + $1171 = HEAP32[$15>>2]|0; + $1172 = ((($1171)) + 8|0); + HEAP16[$1172>>1] = $1170; + $1173 = HEAP32[$15>>2]|0; + $1174 = HEAP32[$13>>2]|0; + $1175 = ($1173|0)!=($1174|0); + if ($1175) { + $1176 = HEAP32[$15>>2]|0; + $1177 = ((($1176)) + 16|0); + $1178 = HEAP32[$1177>>2]|0; + $1179 = HEAP32[$13>>2]|0; + $1180 = ((($1179)) + 16|0); + $1181 = HEAP32[$1180>>2]|0; + $1182 = HEAP32[$13>>2]|0; + $1183 = ((($1182)) + 12|0); + $1184 = HEAP32[$1183>>2]|0; + _memcpy(($1178|0),($1181|0),($1184|0))|0; + } + $1185 = HEAP32[$15>>2]|0; + $1186 = ((($1185)) + 16|0); + $1187 = HEAP32[$1186>>2]|0; + $1188 = HEAP32[$13>>2]|0; + $1189 = ((($1188)) + 12|0); + $1190 = HEAP32[$1189>>2]|0; + $1191 = (($1187) + ($1190)|0); + $1192 = HEAP32[$12>>2]|0; + $1193 = ((($1192)) + 16|0); + $1194 = HEAP32[$1193>>2]|0; + $1195 = HEAP32[$12>>2]|0; + $1196 = ((($1195)) + 12|0); + $1197 = HEAP32[$1196>>2]|0; + _memcpy(($1191|0),($1194|0),($1197|0))|0; + $1198 = HEAP32[$15>>2]|0; + $1199 = ((($1198)) + 16|0); + $1200 = HEAP32[$1199>>2]|0; + $1201 = $32; + $1202 = $1201; + $1203 = HEAP32[$1202>>2]|0; + $1204 = (($1201) + 4)|0; + $1205 = $1204; + $1206 = HEAP32[$1205>>2]|0; + $1207 = (($1200) + ($1203)|0); + HEAP8[$1207>>0] = 0; + $1208 = HEAP32[$15>>2]|0; + $1209 = ((($1208)) + 16|0); + $1210 = HEAP32[$1209>>2]|0; + $1211 = $32; + $1212 = $1211; + $1213 = HEAP32[$1212>>2]|0; + $1214 = (($1211) + 4)|0; + $1215 = $1214; + $1216 = HEAP32[$1215>>2]|0; + $1217 = (_i64Add(($1213|0),($1216|0),1,0)|0); + $1218 = tempRet0; + $1219 = (($1210) + ($1217)|0); + HEAP8[$1219>>0] = 0; + $1220 = HEAP32[$15>>2]|0; + $1221 = ((($1220)) + 8|0); + $1222 = HEAP16[$1221>>1]|0; + $1223 = $1222&65535; + $1224 = $1223 | 512; + $1225 = $1224&65535; + HEAP16[$1221>>1] = $1225; + $1226 = $32; + $1227 = $1226; + $1228 = HEAP32[$1227>>2]|0; + $1229 = (($1226) + 4)|0; + $1230 = $1229; + $1231 = HEAP32[$1230>>2]|0; + $1232 = HEAP32[$15>>2]|0; + $1233 = ((($1232)) + 12|0); + HEAP32[$1233>>2] = $1228; + $1234 = HEAP8[$7>>0]|0; + $1235 = HEAP32[$15>>2]|0; + $1236 = ((($1235)) + 10|0); + HEAP8[$1236>>0] = $1234; + break; + } + case 51: case 50: case 49: case 48: case 47: { + $1237 = HEAP32[$11>>2]|0; + $1238 = HEAP32[$3>>2]|0; + $1239 = ((($1238)) + 4|0); + $1240 = HEAP32[$1239>>2]|0; + $1241 = (($1237) + (($1240*40)|0)|0); + HEAP32[$12>>2] = $1241; + $1242 = HEAP32[$12>>2]|0; + $1243 = (_numericType($1242)|0); + HEAP16[$35>>1] = $1243; + $1244 = HEAP32[$11>>2]|0; + $1245 = HEAP32[$3>>2]|0; + $1246 = ((($1245)) + 8|0); + $1247 = HEAP32[$1246>>2]|0; + $1248 = (($1244) + (($1247*40)|0)|0); + HEAP32[$13>>2] = $1248; + $1249 = HEAP32[$13>>2]|0; + $1250 = (_numericType($1249)|0); + HEAP16[$36>>1] = $1250; + $1251 = HEAP32[$11>>2]|0; + $1252 = HEAP32[$3>>2]|0; + $1253 = ((($1252)) + 12|0); + $1254 = HEAP32[$1253>>2]|0; + $1255 = (($1251) + (($1254*40)|0)|0); + HEAP32[$15>>2] = $1255; + $1256 = HEAP32[$12>>2]|0; + $1257 = ((($1256)) + 8|0); + $1258 = HEAP16[$1257>>1]|0; + $1259 = $1258&65535; + $1260 = HEAP32[$13>>2]|0; + $1261 = ((($1260)) + 8|0); + $1262 = HEAP16[$1261>>1]|0; + $1263 = $1262&65535; + $1264 = $1259 | $1263; + $1265 = $1264&65535; + HEAP16[$34>>1] = $1265; + $1266 = HEAP16[$34>>1]|0; + $1267 = $1266&65535; + $1268 = $1267 & 1; + $1269 = ($1268|0)!=(0); + L73: do { + if (!($1269)) { + $1270 = HEAP16[$35>>1]|0; + $1271 = $1270&65535; + $1272 = HEAP16[$36>>1]|0; + $1273 = $1272&65535; + $1274 = $1271 & $1273; + $1275 = $1274 & 4; + $1276 = ($1275|0)!=(0); + L75: do { + if ($1276) { + $1277 = HEAP32[$12>>2]|0; + $1278 = $1277; + $1279 = $1278; + $1280 = HEAP32[$1279>>2]|0; + $1281 = (($1278) + 4)|0; + $1282 = $1281; + $1283 = HEAP32[$1282>>2]|0; + $1284 = $37; + $1285 = $1284; + HEAP32[$1285>>2] = $1280; + $1286 = (($1284) + 4)|0; + $1287 = $1286; + HEAP32[$1287>>2] = $1283; + $1288 = HEAP32[$13>>2]|0; + $1289 = $1288; + $1290 = $1289; + $1291 = HEAP32[$1290>>2]|0; + $1292 = (($1289) + 4)|0; + $1293 = $1292; + $1294 = HEAP32[$1293>>2]|0; + $1295 = $38; + $1296 = $1295; + HEAP32[$1296>>2] = $1291; + $1297 = (($1295) + 4)|0; + $1298 = $1297; + HEAP32[$1298>>2] = $1294; + HEAP8[$33>>0] = 1; + $1299 = HEAP32[$3>>2]|0; + $1300 = HEAP8[$1299>>0]|0; + $1301 = $1300&255; + switch ($1301|0) { + case 47: { + $1302 = $37; + $1303 = $1302; + $1304 = HEAP32[$1303>>2]|0; + $1305 = (($1302) + 4)|0; + $1306 = $1305; + $1307 = HEAP32[$1306>>2]|0; + $1308 = (_sqlite3AddInt64($38,$1304,$1307)|0); + $1309 = ($1308|0)!=(0); + if ($1309) { + break L75; + } + break; + } + case 48: { + $1310 = $37; + $1311 = $1310; + $1312 = HEAP32[$1311>>2]|0; + $1313 = (($1310) + 4)|0; + $1314 = $1313; + $1315 = HEAP32[$1314>>2]|0; + $1316 = (_sqlite3SubInt64($38,$1312,$1315)|0); + $1317 = ($1316|0)!=(0); + if ($1317) { + break L75; + } + break; + } + case 49: { + $1318 = $37; + $1319 = $1318; + $1320 = HEAP32[$1319>>2]|0; + $1321 = (($1318) + 4)|0; + $1322 = $1321; + $1323 = HEAP32[$1322>>2]|0; + $1324 = (_sqlite3MulInt64($38,$1320,$1323)|0); + $1325 = ($1324|0)!=(0); + if ($1325) { + break L75; + } + break; + } + case 50: { + $1326 = $37; + $1327 = $1326; + $1328 = HEAP32[$1327>>2]|0; + $1329 = (($1326) + 4)|0; + $1330 = $1329; + $1331 = HEAP32[$1330>>2]|0; + $1332 = ($1328|0)==(0); + $1333 = ($1331|0)==(0); + $1334 = $1332 & $1333; + if ($1334) { + break L73; + } + $1335 = $37; + $1336 = $1335; + $1337 = HEAP32[$1336>>2]|0; + $1338 = (($1335) + 4)|0; + $1339 = $1338; + $1340 = HEAP32[$1339>>2]|0; + $1341 = ($1337|0)==(-1); + $1342 = ($1340|0)==(-1); + $1343 = $1341 & $1342; + $1344 = $38; + $1345 = $1344; + $1346 = HEAP32[$1345>>2]|0; + $1347 = (($1344) + 4)|0; + $1348 = $1347; + $1349 = HEAP32[$1348>>2]|0; + $1350 = ($1346|0)==(0); + $1351 = ($1349|0)==(-2147483648); + $1352 = $1350 & $1351; + $or$cond = $1343 & $1352; + if ($or$cond) { + break L75; + } + $1353 = $37; + $1354 = $1353; + $1355 = HEAP32[$1354>>2]|0; + $1356 = (($1353) + 4)|0; + $1357 = $1356; + $1358 = HEAP32[$1357>>2]|0; + $1359 = $38; + $1360 = $1359; + $1361 = HEAP32[$1360>>2]|0; + $1362 = (($1359) + 4)|0; + $1363 = $1362; + $1364 = HEAP32[$1363>>2]|0; + $1365 = (___divdi3(($1361|0),($1364|0),($1355|0),($1358|0))|0); + $1366 = tempRet0; + $1367 = $38; + $1368 = $1367; + HEAP32[$1368>>2] = $1365; + $1369 = (($1367) + 4)|0; + $1370 = $1369; + HEAP32[$1370>>2] = $1366; + break; + } + default: { + $1371 = $37; + $1372 = $1371; + $1373 = HEAP32[$1372>>2]|0; + $1374 = (($1371) + 4)|0; + $1375 = $1374; + $1376 = HEAP32[$1375>>2]|0; + $1377 = ($1373|0)==(0); + $1378 = ($1376|0)==(0); + $1379 = $1377 & $1378; + if ($1379) { + break L73; + } + $1380 = $37; + $1381 = $1380; + $1382 = HEAP32[$1381>>2]|0; + $1383 = (($1380) + 4)|0; + $1384 = $1383; + $1385 = HEAP32[$1384>>2]|0; + $1386 = ($1382|0)==(-1); + $1387 = ($1385|0)==(-1); + $1388 = $1386 & $1387; + if ($1388) { + $1389 = $37; + $1390 = $1389; + HEAP32[$1390>>2] = 1; + $1391 = (($1389) + 4)|0; + $1392 = $1391; + HEAP32[$1392>>2] = 0; + } + $1393 = $37; + $1394 = $1393; + $1395 = HEAP32[$1394>>2]|0; + $1396 = (($1393) + 4)|0; + $1397 = $1396; + $1398 = HEAP32[$1397>>2]|0; + $1399 = $38; + $1400 = $1399; + $1401 = HEAP32[$1400>>2]|0; + $1402 = (($1399) + 4)|0; + $1403 = $1402; + $1404 = HEAP32[$1403>>2]|0; + $1405 = (___remdi3(($1401|0),($1404|0),($1395|0),($1398|0))|0); + $1406 = tempRet0; + $1407 = $38; + $1408 = $1407; + HEAP32[$1408>>2] = $1405; + $1409 = (($1407) + 4)|0; + $1410 = $1409; + HEAP32[$1410>>2] = $1406; + } + } + $1411 = $38; + $1412 = $1411; + $1413 = HEAP32[$1412>>2]|0; + $1414 = (($1411) + 4)|0; + $1415 = $1414; + $1416 = HEAP32[$1415>>2]|0; + $1417 = HEAP32[$15>>2]|0; + $1418 = $1417; + $1419 = $1418; + HEAP32[$1419>>2] = $1413; + $1420 = (($1418) + 4)|0; + $1421 = $1420; + HEAP32[$1421>>2] = $1416; + $1422 = HEAP32[$15>>2]|0; + $1423 = ((($1422)) + 8|0); + $1424 = HEAP16[$1423>>1]|0; + $1425 = $1424&65535; + $1426 = $1425 & -49664; + $1427 = $1426 | 4; + $1428 = $1427&65535; + $1429 = HEAP32[$15>>2]|0; + $1430 = ((($1429)) + 8|0); + HEAP16[$1430>>1] = $1428; + break L10; + } else { + HEAP8[$33>>0] = 0; + } + } while(0); + $1431 = HEAP32[$12>>2]|0; + $1432 = (+_sqlite3VdbeRealValue($1431)); + HEAPF64[$39>>3] = $1432; + $1433 = HEAP32[$13>>2]|0; + $1434 = (+_sqlite3VdbeRealValue($1433)); + HEAPF64[$40>>3] = $1434; + $1435 = HEAP32[$3>>2]|0; + $1436 = HEAP8[$1435>>0]|0; + $1437 = $1436&255; + switch ($1437|0) { + case 47: { + $1438 = +HEAPF64[$39>>3]; + $1439 = +HEAPF64[$40>>3]; + $1440 = $1439 + $1438; + HEAPF64[$40>>3] = $1440; + break; + } + case 48: { + $1441 = +HEAPF64[$39>>3]; + $1442 = +HEAPF64[$40>>3]; + $1443 = $1442 - $1441; + HEAPF64[$40>>3] = $1443; + break; + } + case 49: { + $1444 = +HEAPF64[$39>>3]; + $1445 = +HEAPF64[$40>>3]; + $1446 = $1445 * $1444; + HEAPF64[$40>>3] = $1446; + break; + } + case 50: { + $1447 = +HEAPF64[$39>>3]; + $1448 = $1447 == 0.0; + if ($1448) { + break L73; + } + $1449 = +HEAPF64[$39>>3]; + $1450 = +HEAPF64[$40>>3]; + $1451 = $1450 / $1449; + HEAPF64[$40>>3] = $1451; + break; + } + default: { + $1452 = +HEAPF64[$39>>3]; + $1453 = (~~$1452)>>>0; + $1454 = +Math_abs($1452) >= 1.0 ? $1452 > 0.0 ? (~~+Math_min(+Math_floor($1452 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1452 - +(~~$1452 >>> 0)) / 4294967296.0) >>> 0 : 0; + $1455 = $37; + $1456 = $1455; + HEAP32[$1456>>2] = $1453; + $1457 = (($1455) + 4)|0; + $1458 = $1457; + HEAP32[$1458>>2] = $1454; + $1459 = +HEAPF64[$40>>3]; + $1460 = (~~$1459)>>>0; + $1461 = +Math_abs($1459) >= 1.0 ? $1459 > 0.0 ? (~~+Math_min(+Math_floor($1459 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1459 - +(~~$1459 >>> 0)) / 4294967296.0) >>> 0 : 0; + $1462 = $38; + $1463 = $1462; + HEAP32[$1463>>2] = $1460; + $1464 = (($1462) + 4)|0; + $1465 = $1464; + HEAP32[$1465>>2] = $1461; + $1466 = $37; + $1467 = $1466; + $1468 = HEAP32[$1467>>2]|0; + $1469 = (($1466) + 4)|0; + $1470 = $1469; + $1471 = HEAP32[$1470>>2]|0; + $1472 = ($1468|0)==(0); + $1473 = ($1471|0)==(0); + $1474 = $1472 & $1473; + if ($1474) { + break L73; + } + $1475 = $37; + $1476 = $1475; + $1477 = HEAP32[$1476>>2]|0; + $1478 = (($1475) + 4)|0; + $1479 = $1478; + $1480 = HEAP32[$1479>>2]|0; + $1481 = ($1477|0)==(-1); + $1482 = ($1480|0)==(-1); + $1483 = $1481 & $1482; + if ($1483) { + $1484 = $37; + $1485 = $1484; + HEAP32[$1485>>2] = 1; + $1486 = (($1484) + 4)|0; + $1487 = $1486; + HEAP32[$1487>>2] = 0; + } + $1488 = $38; + $1489 = $1488; + $1490 = HEAP32[$1489>>2]|0; + $1491 = (($1488) + 4)|0; + $1492 = $1491; + $1493 = HEAP32[$1492>>2]|0; + $1494 = $37; + $1495 = $1494; + $1496 = HEAP32[$1495>>2]|0; + $1497 = (($1494) + 4)|0; + $1498 = $1497; + $1499 = HEAP32[$1498>>2]|0; + $1500 = (___remdi3(($1490|0),($1493|0),($1496|0),($1499|0))|0); + $1501 = tempRet0; + $1502 = (+($1500>>>0)) + (4294967296.0*(+($1501|0))); + HEAPF64[$40>>3] = $1502; + } + } + $1503 = +HEAPF64[$40>>3]; + $1504 = (_sqlite3IsNaN($1503)|0); + $1505 = ($1504|0)!=(0); + if (!($1505)) { + $1506 = +HEAPF64[$40>>3]; + $1507 = HEAP32[$15>>2]|0; + HEAPF64[$1507>>3] = $1506; + $1508 = HEAP32[$15>>2]|0; + $1509 = ((($1508)) + 8|0); + $1510 = HEAP16[$1509>>1]|0; + $1511 = $1510&65535; + $1512 = $1511 & -49664; + $1513 = $1512 | 8; + $1514 = $1513&65535; + $1515 = HEAP32[$15>>2]|0; + $1516 = ((($1515)) + 8|0); + HEAP16[$1516>>1] = $1514; + $1517 = HEAP16[$35>>1]|0; + $1518 = $1517&65535; + $1519 = HEAP16[$36>>1]|0; + $1520 = $1519&65535; + $1521 = $1518 | $1520; + $1522 = $1521 & 8; + $1523 = ($1522|0)!=(0); + $1524 = HEAP8[$33>>0]|0; + $1525 = ($1524<<24>>24)!=(0); + $or$cond3 = $1523 | $1525; + if ($or$cond3) { + break L10; + } + $1526 = HEAP32[$15>>2]|0; + _sqlite3VdbeIntegerAffinity($1526); + break L10; + } + } + } while(0); + $1527 = HEAP32[$15>>2]|0; + _sqlite3VdbeMemSetNull($1527); + break; + } + case 88: { + $1528 = HEAP32[$3>>2]|0; + $1529 = ((($1528)) + 4|0); + $1530 = HEAP32[$1529>>2]|0; + $1531 = ($1530|0)!=(0); + if ($1531) { + $1532 = HEAP32[$11>>2]|0; + $1533 = HEAP32[$3>>2]|0; + $1534 = ((($1533)) + 4|0); + $1535 = HEAP32[$1534>>2]|0; + $1536 = (($1532) + (($1535*40)|0)|0); + _sqlite3VdbeMemSetInt64($1536,0,0); + } + break; + } + case 89: { + $1537 = HEAP32[$3>>2]|0; + $1538 = ((($1537)) + 3|0); + $1539 = HEAP8[$1538>>0]|0; + $1540 = $1539&255; + HEAP32[$41>>2] = $1540; + $1541 = HEAP32[$5>>2]|0; + $1542 = HEAP32[$41>>2]|0; + $1543 = (($1542) - 1)|0; + $1544 = $1543<<2; + $1545 = (32 + ($1544))|0; + $1546 = (_sqlite3DbMallocRawNN($1541,$1545,0)|0); + HEAP32[$42>>2] = $1546; + $1547 = HEAP32[$42>>2]|0; + $1548 = ($1547|0)==(0|0); + if ($1548) { + label = 887; + break L1; + } + $1549 = HEAP32[$42>>2]|0; + HEAP32[$1549>>2] = 0; + $1550 = HEAP32[$3>>2]|0; + $1551 = ((($1550)) + 16|0); + $1552 = HEAP32[$1551>>2]|0; + $1553 = HEAP32[$42>>2]|0; + $1554 = ((($1553)) + 4|0); + HEAP32[$1554>>2] = $1552; + $1555 = HEAP32[$3>>2]|0; + $1556 = HEAP32[$2>>2]|0; + $1557 = $1555; + $1558 = $1556; + $1559 = (($1557) - ($1558))|0; + $1560 = (($1559|0) / 20)&-1; + $1561 = HEAP32[$42>>2]|0; + $1562 = ((($1561)) + 16|0); + HEAP32[$1562>>2] = $1560; + $1563 = HEAP32[$1>>2]|0; + $1564 = HEAP32[$42>>2]|0; + $1565 = ((($1564)) + 12|0); + HEAP32[$1565>>2] = $1563; + $1566 = HEAP32[$41>>2]|0; + $1567 = $1566&255; + $1568 = HEAP32[$42>>2]|0; + $1569 = ((($1568)) + 26|0); + HEAP8[$1569>>0] = $1567; + $1570 = HEAP32[$3>>2]|0; + $1571 = ((($1570)) + 1|0); + HEAP8[$1571>>0] = -21; + $1572 = HEAP32[$42>>2]|0; + $1573 = HEAP32[$3>>2]|0; + $1574 = ((($1573)) + 16|0); + HEAP32[$1574>>2] = $1572; + $1575 = HEAP32[$3>>2]|0; + HEAP8[$1575>>0] = 90; + label = 126; + break; + } + case 90: { + label = 126; + break; + } + case 46: case 45: case 44: case 43: { + $1699 = HEAP32[$11>>2]|0; + $1700 = HEAP32[$3>>2]|0; + $1701 = ((($1700)) + 4|0); + $1702 = HEAP32[$1701>>2]|0; + $1703 = (($1699) + (($1702*40)|0)|0); + HEAP32[$12>>2] = $1703; + $1704 = HEAP32[$11>>2]|0; + $1705 = HEAP32[$3>>2]|0; + $1706 = ((($1705)) + 8|0); + $1707 = HEAP32[$1706>>2]|0; + $1708 = (($1704) + (($1707*40)|0)|0); + HEAP32[$13>>2] = $1708; + $1709 = HEAP32[$11>>2]|0; + $1710 = HEAP32[$3>>2]|0; + $1711 = ((($1710)) + 12|0); + $1712 = HEAP32[$1711>>2]|0; + $1713 = (($1709) + (($1712*40)|0)|0); + HEAP32[$15>>2] = $1713; + $1714 = HEAP32[$12>>2]|0; + $1715 = ((($1714)) + 8|0); + $1716 = HEAP16[$1715>>1]|0; + $1717 = $1716&65535; + $1718 = HEAP32[$13>>2]|0; + $1719 = ((($1718)) + 8|0); + $1720 = HEAP16[$1719>>1]|0; + $1721 = $1720&65535; + $1722 = $1717 | $1721; + $1723 = $1722 & 1; + $1724 = ($1723|0)!=(0); + if ($1724) { + $1725 = HEAP32[$15>>2]|0; + _sqlite3VdbeMemSetNull($1725); + break L10; + } + $1726 = HEAP32[$13>>2]|0; + $1727 = (_sqlite3VdbeIntValue($1726)|0); + $1728 = tempRet0; + $1729 = $45; + $1730 = $1729; + HEAP32[$1730>>2] = $1727; + $1731 = (($1729) + 4)|0; + $1732 = $1731; + HEAP32[$1732>>2] = $1728; + $1733 = HEAP32[$12>>2]|0; + $1734 = (_sqlite3VdbeIntValue($1733)|0); + $1735 = tempRet0; + $1736 = $47; + $1737 = $1736; + HEAP32[$1737>>2] = $1734; + $1738 = (($1736) + 4)|0; + $1739 = $1738; + HEAP32[$1739>>2] = $1735; + $1740 = HEAP32[$3>>2]|0; + $1741 = HEAP8[$1740>>0]|0; + HEAP8[$48>>0] = $1741; + $1742 = HEAP8[$48>>0]|0; + $1743 = $1742&255; + $1744 = ($1743|0)==(43); + do { + if ($1744) { + $1745 = $47; + $1746 = $1745; + $1747 = HEAP32[$1746>>2]|0; + $1748 = (($1745) + 4)|0; + $1749 = $1748; + $1750 = HEAP32[$1749>>2]|0; + $1751 = $45; + $1752 = $1751; + $1753 = HEAP32[$1752>>2]|0; + $1754 = (($1751) + 4)|0; + $1755 = $1754; + $1756 = HEAP32[$1755>>2]|0; + $1757 = $1753 & $1747; + $1758 = $1756 & $1750; + $1759 = $45; + $1760 = $1759; + HEAP32[$1760>>2] = $1757; + $1761 = (($1759) + 4)|0; + $1762 = $1761; + HEAP32[$1762>>2] = $1758; + } else { + $1763 = HEAP8[$48>>0]|0; + $1764 = $1763&255; + $1765 = ($1764|0)==(44); + $1766 = $47; + $1767 = $1766; + $1768 = HEAP32[$1767>>2]|0; + $1769 = (($1766) + 4)|0; + $1770 = $1769; + $1771 = HEAP32[$1770>>2]|0; + if ($1765) { + $1772 = $45; + $1773 = $1772; + $1774 = HEAP32[$1773>>2]|0; + $1775 = (($1772) + 4)|0; + $1776 = $1775; + $1777 = HEAP32[$1776>>2]|0; + $1778 = $1774 | $1768; + $1779 = $1777 | $1771; + $1780 = $45; + $1781 = $1780; + HEAP32[$1781>>2] = $1778; + $1782 = (($1780) + 4)|0; + $1783 = $1782; + HEAP32[$1783>>2] = $1779; + break; + } + $1784 = ($1768|0)!=(0); + $1785 = ($1771|0)!=(0); + $1786 = $1784 | $1785; + if ($1786) { + $1787 = $47; + $1788 = $1787; + $1789 = HEAP32[$1788>>2]|0; + $1790 = (($1787) + 4)|0; + $1791 = $1790; + $1792 = HEAP32[$1791>>2]|0; + $1793 = ($1792|0)<(0); + if ($1793) { + $1794 = HEAP8[$48>>0]|0; + $1795 = $1794&255; + $1796 = (91 - ($1795))|0; + $1797 = $1796&255; + HEAP8[$48>>0] = $1797; + $1798 = $47; + $1799 = $1798; + $1800 = HEAP32[$1799>>2]|0; + $1801 = (($1798) + 4)|0; + $1802 = $1801; + $1803 = HEAP32[$1802>>2]|0; + $1804 = ($1803|0)>(-1); + $1805 = ($1800>>>0)>(4294967232); + $1806 = ($1803|0)==(-1); + $1807 = $1806 & $1805; + $1808 = $1804 | $1807; + $1809 = $47; + $1810 = $1809; + $1811 = HEAP32[$1810>>2]|0; + $1812 = (($1809) + 4)|0; + $1813 = $1812; + $1814 = HEAP32[$1813>>2]|0; + $1815 = (_i64Subtract(0,0,($1811|0),($1814|0))|0); + $1816 = tempRet0; + $1817 = $1808 ? $1815 : 64; + $1818 = $1808 ? $1816 : 0; + $1819 = $47; + $1820 = $1819; + HEAP32[$1820>>2] = $1817; + $1821 = (($1819) + 4)|0; + $1822 = $1821; + HEAP32[$1822>>2] = $1818; + } + $1823 = $47; + $1824 = $1823; + $1825 = HEAP32[$1824>>2]|0; + $1826 = (($1823) + 4)|0; + $1827 = $1826; + $1828 = HEAP32[$1827>>2]|0; + $1829 = ($1828|0)>(0); + $1830 = ($1825>>>0)>=(64); + $1831 = ($1828|0)==(0); + $1832 = $1831 & $1830; + $1833 = $1829 | $1832; + if ($1833) { + $1834 = $45; + $1835 = $1834; + $1836 = HEAP32[$1835>>2]|0; + $1837 = (($1834) + 4)|0; + $1838 = $1837; + $1839 = HEAP32[$1838>>2]|0; + $1840 = ($1839|0)>(0); + $1841 = ($1836>>>0)>=(0); + $1842 = ($1839|0)==(0); + $1843 = $1842 & $1841; + $1844 = $1840 | $1843; + if ($1844) { + $1849 = 1; + } else { + $1845 = HEAP8[$48>>0]|0; + $1846 = $1845&255; + $1847 = ($1846|0)==(45); + $1849 = $1847; + } + $1848 = $1849 ? 0 : -1; + $1850 = ($1848|0)<(0); + $1851 = $1850 << 31 >> 31; + $1852 = $45; + $1853 = $1852; + HEAP32[$1853>>2] = $1848; + $1854 = (($1852) + 4)|0; + $1855 = $1854; + HEAP32[$1855>>2] = $1851; + break; + } + ;HEAP32[$46>>2]=HEAP32[$45>>2]|0;HEAP32[$46+4>>2]=HEAP32[$45+4>>2]|0; + $1856 = HEAP8[$48>>0]|0; + $1857 = $1856&255; + $1858 = ($1857|0)==(45); + $1859 = $47; + $1860 = $1859; + $1861 = HEAP32[$1860>>2]|0; + $1862 = (($1859) + 4)|0; + $1863 = $1862; + $1864 = HEAP32[$1863>>2]|0; + $1865 = $46; + $1866 = $1865; + $1867 = HEAP32[$1866>>2]|0; + $1868 = (($1865) + 4)|0; + $1869 = $1868; + $1870 = HEAP32[$1869>>2]|0; + if ($1858) { + $1871 = (_bitshift64Shl(($1867|0),($1870|0),($1861|0))|0); + $1872 = tempRet0; + $1873 = $46; + $1874 = $1873; + HEAP32[$1874>>2] = $1871; + $1875 = (($1873) + 4)|0; + $1876 = $1875; + HEAP32[$1876>>2] = $1872; + } else { + $1877 = (_bitshift64Lshr(($1867|0),($1870|0),($1861|0))|0); + $1878 = tempRet0; + $1879 = $46; + $1880 = $1879; + HEAP32[$1880>>2] = $1877; + $1881 = (($1879) + 4)|0; + $1882 = $1881; + HEAP32[$1882>>2] = $1878; + $1883 = $45; + $1884 = $1883; + $1885 = HEAP32[$1884>>2]|0; + $1886 = (($1883) + 4)|0; + $1887 = $1886; + $1888 = HEAP32[$1887>>2]|0; + $1889 = ($1888|0)<(0); + if ($1889) { + $1890 = $47; + $1891 = $1890; + $1892 = HEAP32[$1891>>2]|0; + $1893 = (($1890) + 4)|0; + $1894 = $1893; + $1895 = HEAP32[$1894>>2]|0; + $1896 = (_i64Subtract(64,0,($1892|0),($1895|0))|0); + $1897 = tempRet0; + $1898 = (_bitshift64Shl(-1,-1,($1896|0))|0); + $1899 = tempRet0; + $1900 = $46; + $1901 = $1900; + $1902 = HEAP32[$1901>>2]|0; + $1903 = (($1900) + 4)|0; + $1904 = $1903; + $1905 = HEAP32[$1904>>2]|0; + $1906 = $1902 | $1898; + $1907 = $1905 | $1899; + $1908 = $46; + $1909 = $1908; + HEAP32[$1909>>2] = $1906; + $1910 = (($1908) + 4)|0; + $1911 = $1910; + HEAP32[$1911>>2] = $1907; + } + } + ;HEAP32[$45>>2]=HEAP32[$46>>2]|0;HEAP32[$45+4>>2]=HEAP32[$46+4>>2]|0; + } + } + } while(0); + $1912 = $45; + $1913 = $1912; + $1914 = HEAP32[$1913>>2]|0; + $1915 = (($1912) + 4)|0; + $1916 = $1915; + $1917 = HEAP32[$1916>>2]|0; + $1918 = HEAP32[$15>>2]|0; + $1919 = $1918; + $1920 = $1919; + HEAP32[$1920>>2] = $1914; + $1921 = (($1919) + 4)|0; + $1922 = $1921; + HEAP32[$1922>>2] = $1917; + $1923 = HEAP32[$15>>2]|0; + $1924 = ((($1923)) + 8|0); + $1925 = HEAP16[$1924>>1]|0; + $1926 = $1925&65535; + $1927 = $1926 & -49664; + $1928 = $1927 | 4; + $1929 = $1928&65535; + $1930 = HEAP32[$15>>2]|0; + $1931 = ((($1930)) + 8|0); + HEAP16[$1931>>1] = $1929; + break; + } + case 91: { + $1932 = HEAP32[$11>>2]|0; + $1933 = HEAP32[$3>>2]|0; + $1934 = ((($1933)) + 4|0); + $1935 = HEAP32[$1934>>2]|0; + $1936 = (($1932) + (($1935*40)|0)|0); + HEAP32[$12>>2] = $1936; + $1937 = HEAP32[$12>>2]|0; + (_sqlite3VdbeMemIntegerify($1937)|0); + $1938 = HEAP32[$3>>2]|0; + $1939 = ((($1938)) + 8|0); + $1940 = HEAP32[$1939>>2]|0; + $1941 = ($1940|0)<(0); + $1942 = $1941 << 31 >> 31; + $1943 = HEAP32[$12>>2]|0; + $1944 = $1943; + $1945 = $1944; + $1946 = HEAP32[$1945>>2]|0; + $1947 = (($1944) + 4)|0; + $1948 = $1947; + $1949 = HEAP32[$1948>>2]|0; + $1950 = (_i64Add(($1946|0),($1949|0),($1940|0),($1942|0))|0); + $1951 = tempRet0; + $1952 = $1943; + $1953 = $1952; + HEAP32[$1953>>2] = $1950; + $1954 = (($1952) + 4)|0; + $1955 = $1954; + HEAP32[$1955>>2] = $1951; + break; + } + case 17: { + $1956 = HEAP32[$11>>2]|0; + $1957 = HEAP32[$3>>2]|0; + $1958 = ((($1957)) + 4|0); + $1959 = HEAP32[$1958>>2]|0; + $1960 = (($1956) + (($1959*40)|0)|0); + HEAP32[$12>>2] = $1960; + $1961 = HEAP32[$12>>2]|0; + $1962 = ((($1961)) + 8|0); + $1963 = HEAP16[$1962>>1]|0; + $1964 = $1963&65535; + $1965 = $1964 & 4; + $1966 = ($1965|0)==(0); + if ($1966) { + $1967 = HEAP32[$12>>2]|0; + $1968 = HEAP8[$7>>0]|0; + _applyAffinity($1967,67,$1968); + $1969 = HEAP32[$12>>2]|0; + $1970 = ((($1969)) + 8|0); + $1971 = HEAP16[$1970>>1]|0; + $1972 = $1971&65535; + $1973 = $1972 & 4; + $1974 = ($1973|0)==(0); + if ($1974) { + $1975 = HEAP32[$3>>2]|0; + $1976 = ((($1975)) + 8|0); + $1977 = HEAP32[$1976>>2]|0; + $1978 = ($1977|0)==(0); + if ($1978) { + label = 159; + break L8; + } else { + label = 14; + break L10; + } + } + } + $1979 = HEAP32[$12>>2]|0; + $1980 = ((($1979)) + 8|0); + $1981 = HEAP16[$1980>>1]|0; + $1982 = $1981&65535; + $1983 = $1982 & -49664; + $1984 = $1983 | 4; + $1985 = $1984&65535; + $1986 = HEAP32[$12>>2]|0; + $1987 = ((($1986)) + 8|0); + HEAP16[$1987>>1] = $1985; + break; + } + case 92: { + $1988 = HEAP32[$11>>2]|0; + $1989 = HEAP32[$3>>2]|0; + $1990 = ((($1989)) + 4|0); + $1991 = HEAP32[$1990>>2]|0; + $1992 = (($1988) + (($1991*40)|0)|0); + HEAP32[$12>>2] = $1992; + $1993 = HEAP32[$12>>2]|0; + $1994 = ((($1993)) + 8|0); + $1995 = HEAP16[$1994>>1]|0; + $1996 = $1995&65535; + $1997 = $1996 & 4; + $1998 = ($1997|0)!=(0); + if ($1998) { + $1999 = HEAP32[$12>>2]|0; + (_sqlite3VdbeMemRealify($1999)|0); + } + break; + } + case 93: { + $2000 = HEAP32[$11>>2]|0; + $2001 = HEAP32[$3>>2]|0; + $2002 = ((($2001)) + 4|0); + $2003 = HEAP32[$2002>>2]|0; + $2004 = (($2000) + (($2003*40)|0)|0); + HEAP32[$12>>2] = $2004; + $2005 = HEAP32[$12>>2]|0; + $2006 = ((($2005)) + 8|0); + $2007 = HEAP16[$2006>>1]|0; + $2008 = $2007&65535; + $2009 = $2008 & 16384; + $2010 = ($2009|0)!=(0); + if ($2010) { + $2011 = HEAP32[$12>>2]|0; + $2012 = (_sqlite3VdbeMemExpandBlob($2011)|0); + $2013 = $2012; + } else { + $2013 = 0; + } + HEAP32[$4>>2] = $2013; + $2014 = HEAP32[$12>>2]|0; + $2015 = HEAP32[$3>>2]|0; + $2016 = ((($2015)) + 8|0); + $2017 = HEAP32[$2016>>2]|0; + $2018 = $2017&255; + $2019 = HEAP8[$7>>0]|0; + _sqlite3VdbeMemCast($2014,$2018,$2019); + $2020 = HEAP32[$4>>2]|0; + $2021 = ($2020|0)!=(0); + if ($2021) { + break L1; + } + break; + } + case 41: case 38: case 39: case 40: case 36: case 37: { + $2022 = HEAP32[$11>>2]|0; + $2023 = HEAP32[$3>>2]|0; + $2024 = ((($2023)) + 4|0); + $2025 = HEAP32[$2024>>2]|0; + $2026 = (($2022) + (($2025*40)|0)|0); + HEAP32[$12>>2] = $2026; + $2027 = HEAP32[$11>>2]|0; + $2028 = HEAP32[$3>>2]|0; + $2029 = ((($2028)) + 12|0); + $2030 = HEAP32[$2029>>2]|0; + $2031 = (($2027) + (($2030*40)|0)|0); + HEAP32[$14>>2] = $2031; + $2032 = HEAP32[$12>>2]|0; + $2033 = ((($2032)) + 8|0); + $2034 = HEAP16[$2033>>1]|0; + HEAP16[$52>>1] = $2034; + $2035 = HEAP32[$14>>2]|0; + $2036 = ((($2035)) + 8|0); + $2037 = HEAP16[$2036>>1]|0; + HEAP16[$53>>1] = $2037; + $2038 = HEAP16[$52>>1]|0; + $2039 = $2038&65535; + $2040 = HEAP16[$53>>1]|0; + $2041 = $2040&65535; + $2042 = $2039 | $2041; + $2043 = $2042 & 1; + $2044 = ($2043|0)!=(0); + $2045 = HEAP32[$3>>2]|0; + $2046 = ((($2045)) + 3|0); + $2047 = HEAP8[$2046>>0]|0; + $2048 = $2047&255; + do { + if ($2044) { + $2049 = $2048 & 128; + $2050 = ($2049|0)!=(0); + if (!($2050)) { + $2063 = HEAP32[$3>>2]|0; + $2064 = ((($2063)) + 3|0); + $2065 = HEAP8[$2064>>0]|0; + $2066 = $2065&255; + $2067 = $2066 & 32; + $2068 = ($2067|0)!=(0); + if ($2068) { + $2069 = HEAP32[$11>>2]|0; + $2070 = HEAP32[$3>>2]|0; + $2071 = ((($2070)) + 8|0); + $2072 = HEAP32[$2071>>2]|0; + $2073 = (($2069) + (($2072*40)|0)|0); + HEAP32[$15>>2] = $2073; + HEAP32[$8>>2] = 1; + $2074 = HEAP32[$15>>2]|0; + $2075 = ((($2074)) + 8|0); + $2076 = HEAP16[$2075>>1]|0; + $2077 = $2076&65535; + $2078 = $2077 & -49664; + $2079 = $2078 | 1; + $2080 = $2079&65535; + $2081 = HEAP32[$15>>2]|0; + $2082 = ((($2081)) + 8|0); + HEAP16[$2082>>1] = $2080; + break L10; + } else { + $2083 = HEAP32[$3>>2]|0; + $2084 = ((($2083)) + 3|0); + $2085 = HEAP8[$2084>>0]|0; + $2086 = $2085&255; + $2087 = $2086 & 16; + $2088 = ($2087|0)!=(0); + if ($2088) { + label = 14; + break L10; + } else { + break L10; + } + } + } + $2051 = HEAP16[$52>>1]|0; + $2052 = $2051&65535; + $2053 = $2052 & 1; + $2054 = ($2053|0)!=(0); + if ($2054) { + $2055 = HEAP16[$53>>1]|0; + $2056 = $2055&65535; + $2057 = $2056 & 1; + $2058 = ($2057|0)!=(0); + if ($2058) { + $2059 = HEAP16[$53>>1]|0; + $2060 = $2059&65535; + $2061 = $2060 & 256; + $2062 = ($2061|0)==(0); + if ($2062) { + HEAP32[$49>>2] = 0; + break; + } + } + } + HEAP32[$49>>2] = 1; + } else { + $2089 = $2048 & 71; + $2090 = $2089&255; + HEAP8[$51>>0] = $2090; + $2091 = HEAP8[$51>>0]|0; + $2092 = $2091 << 24 >> 24; + $2093 = ($2092|0)>=(67); + if ($2093) { + $2094 = HEAP16[$52>>1]|0; + $2095 = $2094&65535; + $2096 = HEAP16[$53>>1]|0; + $2097 = $2096&65535; + $2098 = $2095 | $2097; + $2099 = $2098 & 2; + $2100 = ($2099|0)!=(0); + if ($2100) { + $2101 = HEAP16[$52>>1]|0; + $2102 = $2101&65535; + $2103 = $2102 & 14; + $2104 = ($2103|0)==(2); + if ($2104) { + $2105 = HEAP32[$12>>2]|0; + _applyNumericAffinity($2105,0); + $2106 = HEAP32[$14>>2]|0; + $2107 = ((($2106)) + 8|0); + $2108 = HEAP16[$2107>>1]|0; + HEAP16[$53>>1] = $2108; + } + $2109 = HEAP16[$53>>1]|0; + $2110 = $2109&65535; + $2111 = $2110 & 14; + $2112 = ($2111|0)==(2); + if ($2112) { + $2113 = HEAP32[$14>>2]|0; + _applyNumericAffinity($2113,0); + } + } + $2114 = HEAP32[$12>>2]|0; + $2115 = ((($2114)) + 8|0); + $2116 = HEAP16[$2115>>1]|0; + $2117 = $2116&65535; + $2118 = HEAP32[$14>>2]|0; + $2119 = ((($2118)) + 8|0); + $2120 = HEAP16[$2119>>1]|0; + $2121 = $2120&65535; + $2122 = $2117 & $2121; + $2123 = $2122 & 4; + $2124 = ($2123|0)!=(0); + if ($2124) { + $2125 = HEAP32[$14>>2]|0; + $2126 = $2125; + $2127 = $2126; + $2128 = HEAP32[$2127>>2]|0; + $2129 = (($2126) + 4)|0; + $2130 = $2129; + $2131 = HEAP32[$2130>>2]|0; + $2132 = HEAP32[$12>>2]|0; + $2133 = $2132; + $2134 = $2133; + $2135 = HEAP32[$2134>>2]|0; + $2136 = (($2133) + 4)|0; + $2137 = $2136; + $2138 = HEAP32[$2137>>2]|0; + $2139 = ($2131|0)>($2138|0); + $2140 = ($2128>>>0)>($2135>>>0); + $2141 = ($2131|0)==($2138|0); + $2142 = $2141 & $2140; + $2143 = $2139 | $2142; + if ($2143) { + HEAP32[$49>>2] = 1; + break; + } + $2144 = HEAP32[$14>>2]|0; + $2145 = $2144; + $2146 = $2145; + $2147 = HEAP32[$2146>>2]|0; + $2148 = (($2145) + 4)|0; + $2149 = $2148; + $2150 = HEAP32[$2149>>2]|0; + $2151 = HEAP32[$12>>2]|0; + $2152 = $2151; + $2153 = $2152; + $2154 = HEAP32[$2153>>2]|0; + $2155 = (($2152) + 4)|0; + $2156 = $2155; + $2157 = HEAP32[$2156>>2]|0; + $2158 = ($2150|0)<($2157|0); + $2159 = ($2147>>>0)<($2154>>>0); + $2160 = ($2150|0)==($2157|0); + $2161 = $2160 & $2159; + $2162 = $2158 | $2161; + if ($2162) { + HEAP32[$49>>2] = -1; + break; + } else { + HEAP32[$49>>2] = 0; + break; + } + } + } else { + $2163 = HEAP8[$51>>0]|0; + $2164 = $2163 << 24 >> 24; + $2165 = ($2164|0)==(66); + if ($2165) { + $2166 = HEAP16[$52>>1]|0; + $2167 = $2166&65535; + $2168 = $2167 & 2; + $2169 = ($2168|0)==(0); + if ($2169) { + $2170 = HEAP16[$52>>1]|0; + $2171 = $2170&65535; + $2172 = $2171 & 12; + $2173 = ($2172|0)!=(0); + if ($2173) { + $2174 = HEAP32[$12>>2]|0; + $2175 = HEAP8[$7>>0]|0; + (_sqlite3VdbeMemStringify($2174,$2175,1)|0); + $2176 = HEAP32[$12>>2]|0; + $2177 = ((($2176)) + 8|0); + $2178 = HEAP16[$2177>>1]|0; + $2179 = $2178&65535; + $2180 = $2179 & -33280; + $2181 = HEAP16[$52>>1]|0; + $2182 = $2181&65535; + $2183 = $2182 & 33279; + $2184 = $2180 | $2183; + $2185 = $2184&65535; + HEAP16[$52>>1] = $2185; + } + } + $2186 = HEAP16[$53>>1]|0; + $2187 = $2186&65535; + $2188 = $2187 & 2; + $2189 = ($2188|0)==(0); + if ($2189) { + $2190 = HEAP16[$53>>1]|0; + $2191 = $2190&65535; + $2192 = $2191 & 12; + $2193 = ($2192|0)!=(0); + if ($2193) { + $2194 = HEAP32[$14>>2]|0; + $2195 = HEAP8[$7>>0]|0; + (_sqlite3VdbeMemStringify($2194,$2195,1)|0); + $2196 = HEAP32[$14>>2]|0; + $2197 = ((($2196)) + 8|0); + $2198 = HEAP16[$2197>>1]|0; + $2199 = $2198&65535; + $2200 = $2199 & -33280; + $2201 = HEAP16[$53>>1]|0; + $2202 = $2201&65535; + $2203 = $2202 & 33279; + $2204 = $2200 | $2203; + $2205 = $2204&65535; + HEAP16[$53>>1] = $2205; + } + } + } + } + $2206 = HEAP32[$14>>2]|0; + $2207 = HEAP32[$12>>2]|0; + $2208 = HEAP32[$3>>2]|0; + $2209 = ((($2208)) + 16|0); + $2210 = HEAP32[$2209>>2]|0; + $2211 = (_sqlite3MemCompare($2206,$2207,$2210)|0); + HEAP32[$49>>2] = $2211; + } + } while(0); + $2212 = HEAP32[$3>>2]|0; + $2213 = HEAP8[$2212>>0]|0; + $2214 = $2213&255; + switch ($2214|0) { + case 37: { + $2215 = HEAP32[$49>>2]|0; + $2216 = ($2215|0)==(0); + $2217 = $2216&1; + HEAP32[$50>>2] = $2217; + break; + } + case 36: { + $2218 = HEAP32[$49>>2]|0; + HEAP32[$50>>2] = $2218; + break; + } + case 40: { + $2219 = HEAP32[$49>>2]|0; + $2220 = ($2219|0)<(0); + $2221 = $2220&1; + HEAP32[$50>>2] = $2221; + break; + } + case 39: { + $2222 = HEAP32[$49>>2]|0; + $2223 = ($2222|0)<=(0); + $2224 = $2223&1; + HEAP32[$50>>2] = $2224; + break; + } + case 38: { + $2225 = HEAP32[$49>>2]|0; + $2226 = ($2225|0)>(0); + $2227 = $2226&1; + HEAP32[$50>>2] = $2227; + break; + } + default: { + $2228 = HEAP32[$49>>2]|0; + $2229 = ($2228|0)>=(0); + $2230 = $2229&1; + HEAP32[$50>>2] = $2230; + } + } + $2231 = HEAP16[$52>>1]|0; + $2232 = HEAP32[$12>>2]|0; + $2233 = ((($2232)) + 8|0); + HEAP16[$2233>>1] = $2231; + $2234 = HEAP16[$53>>1]|0; + $2235 = HEAP32[$14>>2]|0; + $2236 = ((($2235)) + 8|0); + HEAP16[$2236>>1] = $2234; + $2237 = HEAP32[$3>>2]|0; + $2238 = ((($2237)) + 3|0); + $2239 = HEAP8[$2238>>0]|0; + $2240 = $2239&255; + $2241 = $2240 & 32; + $2242 = ($2241|0)!=(0); + if (!($2242)) { + $2282 = HEAP32[$50>>2]|0; + $2283 = ($2282|0)!=(0); + if ($2283) { + label = 14; + break L10; + } else { + break L10; + } + } + $2243 = HEAP32[$11>>2]|0; + $2244 = HEAP32[$3>>2]|0; + $2245 = ((($2244)) + 8|0); + $2246 = HEAP32[$2245>>2]|0; + $2247 = (($2243) + (($2246*40)|0)|0); + HEAP32[$15>>2] = $2247; + $2248 = HEAP32[$49>>2]|0; + HEAP32[$8>>2] = $2248; + $2249 = HEAP32[$50>>2]|0; + $2250 = ($2249|0)!=(0); + $2251 = $2250&1; + HEAP32[$50>>2] = $2251; + $2252 = HEAP32[$3>>2]|0; + $2253 = ((($2252)) + 3|0); + $2254 = HEAP8[$2253>>0]|0; + $2255 = $2254&255; + $2256 = $2255 & 8; + $2257 = ($2256|0)!=(0); + if ($2257) { + $2258 = HEAP32[$3>>2]|0; + $2259 = HEAP8[$2258>>0]|0; + $2260 = $2259&255; + $2261 = ($2260|0)==(37); + $2262 = $2261&1; + $2263 = HEAP32[$50>>2]|0; + $2264 = ($2262|0)==($2263|0); + if ($2264) { + break L10; + } + } + $2265 = HEAP32[$15>>2]|0; + $2266 = ((($2265)) + 8|0); + $2267 = HEAP16[$2266>>1]|0; + $2268 = $2267&65535; + $2269 = $2268 & -49664; + $2270 = $2269 | 4; + $2271 = $2270&65535; + $2272 = HEAP32[$15>>2]|0; + $2273 = ((($2272)) + 8|0); + HEAP16[$2273>>1] = $2271; + $2274 = HEAP32[$50>>2]|0; + $2275 = ($2274|0)<(0); + $2276 = $2275 << 31 >> 31; + $2277 = HEAP32[$15>>2]|0; + $2278 = $2277; + $2279 = $2278; + HEAP32[$2279>>2] = $2274; + $2280 = (($2278) + 4)|0; + $2281 = $2280; + HEAP32[$2281>>2] = $2276; + break; + } + case 42: { + $2284 = HEAP32[$8>>2]|0; + $2285 = ($2284|0)!=(0); + if ($2285) { + label = 14; + } + break; + } + case 94: { + $2286 = HEAP32[$3>>2]|0; + $2287 = ((($2286)) + 16|0); + $2288 = HEAP32[$2287>>2]|0; + $2289 = ((($2288)) + 4|0); + HEAP32[$16>>2] = $2289; + break; + } + case 95: { + $2290 = HEAP32[$3>>2]|0; + $2291 = ((($2290)) + 3|0); + $2292 = HEAP8[$2291>>0]|0; + $2293 = $2292&255; + $2294 = $2293 & 1; + $2295 = ($2294|0)==(0); + if ($2295) { + HEAP32[$16>>2] = 0; + } + $2296 = HEAP32[$3>>2]|0; + $2297 = ((($2296)) + 12|0); + $2298 = HEAP32[$2297>>2]|0; + HEAP32[$54>>2] = $2298; + $2299 = HEAP32[$3>>2]|0; + $2300 = ((($2299)) + 16|0); + $2301 = HEAP32[$2300>>2]|0; + HEAP32[$58>>2] = $2301; + $2302 = HEAP32[$3>>2]|0; + $2303 = ((($2302)) + 4|0); + $2304 = HEAP32[$2303>>2]|0; + HEAP32[$56>>2] = $2304; + $2305 = HEAP32[$3>>2]|0; + $2306 = ((($2305)) + 8|0); + $2307 = HEAP32[$2306>>2]|0; + HEAP32[$57>>2] = $2307; + HEAP32[$55>>2] = 0; + while(1) { + $2308 = HEAP32[$55>>2]|0; + $2309 = HEAP32[$54>>2]|0; + $2310 = ($2308|0)<($2309|0); + if (!($2310)) { + break; + } + $2311 = HEAP32[$16>>2]|0; + $2312 = ($2311|0)!=(0|0); + if ($2312) { + $2313 = HEAP32[$16>>2]|0; + $2314 = HEAP32[$55>>2]|0; + $2315 = (($2313) + ($2314<<2)|0); + $2316 = HEAP32[$2315>>2]|0; + $2318 = $2316; + } else { + $2317 = HEAP32[$55>>2]|0; + $2318 = $2317; + } + HEAP32[$59>>2] = $2318; + $2319 = HEAP32[$58>>2]|0; + $2320 = ((($2319)) + 20|0); + $2321 = HEAP32[$55>>2]|0; + $2322 = (($2320) + ($2321<<2)|0); + $2323 = HEAP32[$2322>>2]|0; + HEAP32[$60>>2] = $2323; + $2324 = HEAP32[$58>>2]|0; + $2325 = ((($2324)) + 16|0); + $2326 = HEAP32[$2325>>2]|0; + $2327 = HEAP32[$55>>2]|0; + $2328 = (($2326) + ($2327)|0); + $2329 = HEAP8[$2328>>0]|0; + $2330 = $2329&255; + HEAP32[$61>>2] = $2330; + $2331 = HEAP32[$11>>2]|0; + $2332 = HEAP32[$56>>2]|0; + $2333 = HEAP32[$59>>2]|0; + $2334 = (($2332) + ($2333))|0; + $2335 = (($2331) + (($2334*40)|0)|0); + $2336 = HEAP32[$11>>2]|0; + $2337 = HEAP32[$57>>2]|0; + $2338 = HEAP32[$59>>2]|0; + $2339 = (($2337) + ($2338))|0; + $2340 = (($2336) + (($2339*40)|0)|0); + $2341 = HEAP32[$60>>2]|0; + $2342 = (_sqlite3MemCompare($2335,$2340,$2341)|0); + HEAP32[$8>>2] = $2342; + $2343 = HEAP32[$8>>2]|0; + $2344 = ($2343|0)!=(0); + if ($2344) { + label = 218; + break; + } + $2349 = HEAP32[$55>>2]|0; + $2350 = (($2349) + 1)|0; + HEAP32[$55>>2] = $2350; + } + if ((label|0) == 218) { + label = 0; + $2345 = HEAP32[$61>>2]|0; + $2346 = ($2345|0)!=(0); + if ($2346) { + $2347 = HEAP32[$8>>2]|0; + $2348 = (0 - ($2347))|0; + HEAP32[$8>>2] = $2348; + } + } + HEAP32[$16>>2] = 0; + break; + } + case 18: { + $2351 = HEAP32[$8>>2]|0; + $2352 = ($2351|0)<(0); + if ($2352) { + $2353 = HEAP32[$2>>2]|0; + $2354 = HEAP32[$3>>2]|0; + $2355 = ((($2354)) + 4|0); + $2356 = HEAP32[$2355>>2]|0; + $2357 = (($2356) - 1)|0; + $2358 = (($2353) + (($2357*20)|0)|0); + HEAP32[$3>>2] = $2358; + break L10; + } + $2359 = HEAP32[$8>>2]|0; + $2360 = ($2359|0)==(0); + $2361 = HEAP32[$2>>2]|0; + $2362 = HEAP32[$3>>2]|0; + if ($2360) { + $2363 = ((($2362)) + 8|0); + $2364 = HEAP32[$2363>>2]|0; + $2365 = (($2364) - 1)|0; + $2366 = (($2361) + (($2365*20)|0)|0); + HEAP32[$3>>2] = $2366; + break L10; + } else { + $2367 = ((($2362)) + 12|0); + $2368 = HEAP32[$2367>>2]|0; + $2369 = (($2368) - 1)|0; + $2370 = (($2361) + (($2369*20)|0)|0); + HEAP32[$3>>2] = $2370; + break L10; + } + break; + } + case 27: case 28: { + $2371 = HEAP32[$11>>2]|0; + $2372 = HEAP32[$3>>2]|0; + $2373 = ((($2372)) + 4|0); + $2374 = HEAP32[$2373>>2]|0; + $2375 = (($2371) + (($2374*40)|0)|0); + HEAP32[$12>>2] = $2375; + $2376 = HEAP32[$12>>2]|0; + $2377 = ((($2376)) + 8|0); + $2378 = HEAP16[$2377>>1]|0; + $2379 = $2378&65535; + $2380 = $2379 & 1; + $2381 = ($2380|0)!=(0); + if ($2381) { + HEAP32[$62>>2] = 2; + } else { + $2382 = HEAP32[$12>>2]|0; + $2383 = (_sqlite3VdbeIntValue($2382)|0); + $2384 = tempRet0; + $2385 = ($2383|0)!=(0); + $2386 = ($2384|0)!=(0); + $2387 = $2385 | $2386; + $2388 = $2387&1; + HEAP32[$62>>2] = $2388; + } + $2389 = HEAP32[$11>>2]|0; + $2390 = HEAP32[$3>>2]|0; + $2391 = ((($2390)) + 8|0); + $2392 = HEAP32[$2391>>2]|0; + $2393 = (($2389) + (($2392*40)|0)|0); + HEAP32[$13>>2] = $2393; + $2394 = HEAP32[$13>>2]|0; + $2395 = ((($2394)) + 8|0); + $2396 = HEAP16[$2395>>1]|0; + $2397 = $2396&65535; + $2398 = $2397 & 1; + $2399 = ($2398|0)!=(0); + if ($2399) { + HEAP32[$63>>2] = 2; + } else { + $2400 = HEAP32[$13>>2]|0; + $2401 = (_sqlite3VdbeIntValue($2400)|0); + $2402 = tempRet0; + $2403 = ($2401|0)!=(0); + $2404 = ($2402|0)!=(0); + $2405 = $2403 | $2404; + $2406 = $2405&1; + HEAP32[$63>>2] = $2406; + } + $2407 = HEAP32[$3>>2]|0; + $2408 = HEAP8[$2407>>0]|0; + $2409 = $2408&255; + $2410 = ($2409|0)==(28); + $2411 = HEAP32[$62>>2]|0; + $2412 = ($2411*3)|0; + $2413 = HEAP32[$63>>2]|0; + $2414 = (($2412) + ($2413))|0; + if ($2410) { + $2415 = (38780 + ($2414)|0); + $2416 = HEAP8[$2415>>0]|0; + $2417 = $2416&255; + HEAP32[$62>>2] = $2417; + } else { + $2418 = (38789 + ($2414)|0); + $2419 = HEAP8[$2418>>0]|0; + $2420 = $2419&255; + HEAP32[$62>>2] = $2420; + } + $2421 = HEAP32[$11>>2]|0; + $2422 = HEAP32[$3>>2]|0; + $2423 = ((($2422)) + 12|0); + $2424 = HEAP32[$2423>>2]|0; + $2425 = (($2421) + (($2424*40)|0)|0); + HEAP32[$15>>2] = $2425; + $2426 = HEAP32[$62>>2]|0; + $2427 = ($2426|0)==(2); + if ($2427) { + $2428 = HEAP32[$15>>2]|0; + $2429 = ((($2428)) + 8|0); + $2430 = HEAP16[$2429>>1]|0; + $2431 = $2430&65535; + $2432 = $2431 & -49664; + $2433 = $2432 | 1; + $2434 = $2433&65535; + $2435 = HEAP32[$15>>2]|0; + $$sink = $2434;$$sink5 = $2435; + } else { + $2436 = HEAP32[$62>>2]|0; + $2437 = ($2436|0)<(0); + $2438 = $2437 << 31 >> 31; + $2439 = HEAP32[$15>>2]|0; + $2440 = $2439; + $2441 = $2440; + HEAP32[$2441>>2] = $2436; + $2442 = (($2440) + 4)|0; + $2443 = $2442; + HEAP32[$2443>>2] = $2438; + $2444 = HEAP32[$15>>2]|0; + $2445 = ((($2444)) + 8|0); + $2446 = HEAP16[$2445>>1]|0; + $2447 = $2446&65535; + $2448 = $2447 & -49664; + $2449 = $2448 | 4; + $2450 = $2449&65535; + $2451 = HEAP32[$15>>2]|0; + $$sink = $2450;$$sink5 = $2451; + } + $2452 = ((($$sink5)) + 8|0); + HEAP16[$2452>>1] = $$sink; + break; + } + case 19: { + $2453 = HEAP32[$11>>2]|0; + $2454 = HEAP32[$3>>2]|0; + $2455 = ((($2454)) + 4|0); + $2456 = HEAP32[$2455>>2]|0; + $2457 = (($2453) + (($2456*40)|0)|0); + HEAP32[$12>>2] = $2457; + $2458 = HEAP32[$11>>2]|0; + $2459 = HEAP32[$3>>2]|0; + $2460 = ((($2459)) + 8|0); + $2461 = HEAP32[$2460>>2]|0; + $2462 = (($2458) + (($2461*40)|0)|0); + HEAP32[$15>>2] = $2462; + $2463 = HEAP32[$15>>2]|0; + _sqlite3VdbeMemSetNull($2463); + $2464 = HEAP32[$12>>2]|0; + $2465 = ((($2464)) + 8|0); + $2466 = HEAP16[$2465>>1]|0; + $2467 = $2466&65535; + $2468 = $2467 & 1; + $2469 = ($2468|0)==(0); + if ($2469) { + $2470 = HEAP32[$15>>2]|0; + $2471 = ((($2470)) + 8|0); + HEAP16[$2471>>1] = 4; + $2472 = HEAP32[$12>>2]|0; + $2473 = (_sqlite3VdbeIntValue($2472)|0); + $2474 = tempRet0; + $2475 = ($2473|0)!=(0); + $2476 = ($2474|0)!=(0); + $2477 = $2475 | $2476; + $2478 = $2477 ^ 1; + $2479 = $2478&1; + $2480 = ($2479|0)<(0); + $2481 = $2480 << 31 >> 31; + $2482 = HEAP32[$15>>2]|0; + $2483 = $2482; + $2484 = $2483; + HEAP32[$2484>>2] = $2479; + $2485 = (($2483) + 4)|0; + $2486 = $2485; + HEAP32[$2486>>2] = $2481; + } + break; + } + case 54: { + $2487 = HEAP32[$11>>2]|0; + $2488 = HEAP32[$3>>2]|0; + $2489 = ((($2488)) + 4|0); + $2490 = HEAP32[$2489>>2]|0; + $2491 = (($2487) + (($2490*40)|0)|0); + HEAP32[$12>>2] = $2491; + $2492 = HEAP32[$11>>2]|0; + $2493 = HEAP32[$3>>2]|0; + $2494 = ((($2493)) + 8|0); + $2495 = HEAP32[$2494>>2]|0; + $2496 = (($2492) + (($2495*40)|0)|0); + HEAP32[$15>>2] = $2496; + $2497 = HEAP32[$15>>2]|0; + _sqlite3VdbeMemSetNull($2497); + $2498 = HEAP32[$12>>2]|0; + $2499 = ((($2498)) + 8|0); + $2500 = HEAP16[$2499>>1]|0; + $2501 = $2500&65535; + $2502 = $2501 & 1; + $2503 = ($2502|0)==(0); + if ($2503) { + $2504 = HEAP32[$15>>2]|0; + $2505 = ((($2504)) + 8|0); + HEAP16[$2505>>1] = 4; + $2506 = HEAP32[$12>>2]|0; + $2507 = (_sqlite3VdbeIntValue($2506)|0); + $2508 = tempRet0; + $2509 = $2507 ^ -1; + $2510 = $2508 ^ -1; + $2511 = HEAP32[$15>>2]|0; + $2512 = $2511; + $2513 = $2512; + HEAP32[$2513>>2] = $2509; + $2514 = (($2512) + 4)|0; + $2515 = $2514; + HEAP32[$2515>>2] = $2510; + } + break; + } + case 20: { + $2516 = HEAP32[$1>>2]|0; + $2517 = ((($2516)) + 88|0); + $2518 = HEAP32[$2517>>2]|0; + $2519 = ((($2518)) + 4|0); + $2520 = HEAP32[$2519>>2]|0; + $2521 = HEAP32[$3>>2]|0; + $2522 = ((($2521)) + 4|0); + $2523 = HEAP32[$2522>>2]|0; + $2524 = ($2520|0)==($2523|0); + if ($2524) { + label = 14; + } else { + $2525 = HEAP32[$1>>2]|0; + $2526 = ((($2525)) + 88|0); + $2527 = HEAP32[$2526>>2]|0; + $2528 = ((($2527)) + 4|0); + $2529 = HEAP32[$2528>>2]|0; + $2530 = HEAP32[$3>>2]|0; + $2531 = ((($2530)) + 4|0); + HEAP32[$2531>>2] = $2529; + } + break; + } + case 22: case 21: { + $2532 = HEAP32[$11>>2]|0; + $2533 = HEAP32[$3>>2]|0; + $2534 = ((($2533)) + 4|0); + $2535 = HEAP32[$2534>>2]|0; + $2536 = (($2532) + (($2535*40)|0)|0); + HEAP32[$12>>2] = $2536; + $2537 = HEAP32[$12>>2]|0; + $2538 = ((($2537)) + 8|0); + $2539 = HEAP16[$2538>>1]|0; + $2540 = $2539&65535; + $2541 = $2540 & 1; + $2542 = ($2541|0)!=(0); + if ($2542) { + $2543 = HEAP32[$3>>2]|0; + $2544 = ((($2543)) + 12|0); + $2545 = HEAP32[$2544>>2]|0; + HEAP32[$64>>2] = $2545; + } else { + $2546 = HEAP32[$12>>2]|0; + $2547 = (+_sqlite3VdbeRealValue($2546)); + $2548 = $2547 != 0.0; + $2549 = $2548&1; + HEAP32[$64>>2] = $2549; + $2550 = HEAP32[$3>>2]|0; + $2551 = HEAP8[$2550>>0]|0; + $2552 = $2551&255; + $2553 = ($2552|0)==(22); + if ($2553) { + $2554 = HEAP32[$64>>2]|0; + $2555 = ($2554|0)!=(0); + $2556 = $2555 ^ 1; + $2557 = $2556&1; + HEAP32[$64>>2] = $2557; + } + } + $2558 = HEAP32[$64>>2]|0; + $2559 = ($2558|0)!=(0); + if ($2559) { + label = 14; + } + break; + } + case 34: { + $2560 = HEAP32[$11>>2]|0; + $2561 = HEAP32[$3>>2]|0; + $2562 = ((($2561)) + 4|0); + $2563 = HEAP32[$2562>>2]|0; + $2564 = (($2560) + (($2563*40)|0)|0); + HEAP32[$12>>2] = $2564; + $2565 = HEAP32[$12>>2]|0; + $2566 = ((($2565)) + 8|0); + $2567 = HEAP16[$2566>>1]|0; + $2568 = $2567&65535; + $2569 = $2568 & 1; + $2570 = ($2569|0)!=(0); + if ($2570) { + label = 14; + } + break; + } + case 35: { + $2571 = HEAP32[$11>>2]|0; + $2572 = HEAP32[$3>>2]|0; + $2573 = ((($2572)) + 4|0); + $2574 = HEAP32[$2573>>2]|0; + $2575 = (($2571) + (($2574*40)|0)|0); + HEAP32[$12>>2] = $2575; + $2576 = HEAP32[$12>>2]|0; + $2577 = ((($2576)) + 8|0); + $2578 = HEAP16[$2577>>1]|0; + $2579 = $2578&65535; + $2580 = $2579 & 1; + $2581 = ($2580|0)==(0); + if ($2581) { + label = 14; + } + break; + } + case 96: { + $2582 = HEAP32[$1>>2]|0; + $2583 = ((($2582)) + 112|0); + $2584 = HEAP32[$2583>>2]|0; + $2585 = HEAP32[$3>>2]|0; + $2586 = ((($2585)) + 4|0); + $2587 = HEAP32[$2586>>2]|0; + $2588 = (($2584) + ($2587<<2)|0); + $2589 = HEAP32[$2588>>2]|0; + HEAP32[$66>>2] = $2589; + $2590 = HEAP32[$3>>2]|0; + $2591 = ((($2590)) + 8|0); + $2592 = HEAP32[$2591>>2]|0; + HEAP32[$65>>2] = $2592; + $2593 = (_sqlite3VdbeCursorMoveto($66,$65)|0); + HEAP32[$4>>2] = $2593; + $2594 = HEAP32[$4>>2]|0; + $2595 = ($2594|0)!=(0); + if ($2595) { + break L1; + } + $2596 = HEAP32[$11>>2]|0; + $2597 = HEAP32[$3>>2]|0; + $2598 = ((($2597)) + 12|0); + $2599 = HEAP32[$2598>>2]|0; + $2600 = (($2596) + (($2599*40)|0)|0); + HEAP32[$71>>2] = $2600; + $2601 = HEAP32[$66>>2]|0; + $2602 = ((($2601)) + 76|0); + $2603 = HEAP32[$2602>>2]|0; + HEAP32[$68>>2] = $2603; + $2604 = HEAP32[$66>>2]|0; + $2605 = ((($2604)) + 16|0); + $2606 = HEAP32[$2605>>2]|0; + HEAP32[$67>>2] = $2606; + $2607 = HEAP32[$66>>2]|0; + $2608 = ((($2607)) + 56|0); + $2609 = HEAP32[$2608>>2]|0; + $2610 = HEAP32[$1>>2]|0; + $2611 = ((($2610)) + 32|0); + $2612 = HEAP32[$2611>>2]|0; + $2613 = ($2609|0)!=($2612|0); + do { + if ($2613) { + $2614 = HEAP32[$66>>2]|0; + $2615 = ((($2614)) + 2|0); + $2616 = HEAP8[$2615>>0]|0; + $2617 = ($2616<<24>>24)!=(0); + do { + if ($2617) { + $2618 = HEAP32[$66>>2]|0; + $2619 = HEAP8[$2618>>0]|0; + $2620 = $2619&255; + $2621 = ($2620|0)==(3); + if ($2621) { + $2622 = HEAP32[$11>>2]|0; + $2623 = HEAP32[$66>>2]|0; + $2624 = ((($2623)) + 16|0); + $2625 = HEAP32[$2624>>2]|0; + $2626 = (($2622) + (($2625*40)|0)|0); + HEAP32[$80>>2] = $2626; + $2627 = HEAP32[$80>>2]|0; + $2628 = ((($2627)) + 12|0); + $2629 = HEAP32[$2628>>2]|0; + HEAP32[$78>>2] = $2629; + $2630 = HEAP32[$66>>2]|0; + $2631 = ((($2630)) + 64|0); + HEAP32[$2631>>2] = $2629; + $2632 = HEAP32[$66>>2]|0; + $2633 = ((($2632)) + 60|0); + HEAP32[$2633>>2] = $2629; + $2634 = HEAP32[$80>>2]|0; + $2635 = ((($2634)) + 16|0); + $2636 = HEAP32[$2635>>2]|0; + $2637 = HEAP32[$66>>2]|0; + $2638 = ((($2637)) + 72|0); + HEAP32[$2638>>2] = $2636; + break; + } else { + $2639 = HEAP32[$71>>2]|0; + _sqlite3VdbeMemSetNull($2639); + break L10; + } + } else { + $2640 = HEAP32[$67>>2]|0; + $2641 = (_sqlite3BtreePayloadSize($2640)|0); + $2642 = HEAP32[$66>>2]|0; + $2643 = ((($2642)) + 60|0); + HEAP32[$2643>>2] = $2641; + $2644 = HEAP32[$67>>2]|0; + $2645 = (_sqlite3BtreePayloadFetch($2644,$78)|0); + $2646 = HEAP32[$66>>2]|0; + $2647 = ((($2646)) + 72|0); + HEAP32[$2647>>2] = $2645; + $2648 = HEAP32[$66>>2]|0; + $2649 = ((($2648)) + 60|0); + $2650 = HEAP32[$2649>>2]|0; + $2651 = HEAP32[$78>>2]|0; + $2652 = ($2650>>>0)<=($2651>>>0); + $2653 = HEAP32[$66>>2]|0; + $2654 = ((($2653)) + 60|0); + $2655 = HEAP32[$2654>>2]|0; + if ($2652) { + $2656 = HEAP32[$66>>2]|0; + $2657 = ((($2656)) + 64|0); + HEAP32[$2657>>2] = $2655; + break; + } + $2658 = HEAP32[$5>>2]|0; + $2659 = ((($2658)) + 96|0); + $2660 = HEAP32[$2659>>2]|0; + $2661 = ($2655>>>0)>($2660>>>0); + if ($2661) { + label = 886; + break L8; + } + $2662 = HEAP32[$78>>2]|0; + $2663 = HEAP32[$66>>2]|0; + $2664 = ((($2663)) + 64|0); + HEAP32[$2664>>2] = $2662; + } + } while(0); + $2665 = HEAP32[$1>>2]|0; + $2666 = ((($2665)) + 32|0); + $2667 = HEAP32[$2666>>2]|0; + $2668 = HEAP32[$66>>2]|0; + $2669 = ((($2668)) + 56|0); + HEAP32[$2669>>2] = $2667; + $2670 = HEAP32[$66>>2]|0; + $2671 = ((($2670)) + 72|0); + $2672 = HEAP32[$2671>>2]|0; + $2673 = HEAP8[$2672>>0]|0; + $2674 = $2673&255; + $2675 = ($2674|0)<(128); + $2676 = HEAP32[$66>>2]|0; + $2677 = ((($2676)) + 72|0); + $2678 = HEAP32[$2677>>2]|0; + if ($2675) { + $2679 = HEAP8[$2678>>0]|0; + $2680 = $2679&255; + HEAP32[$76>>2] = $2680; + $2684 = 1; + } else { + $2681 = (_sqlite3GetVarint32($2678,$76)|0); + $2682 = $2681&255; + $2684 = $2682; + } + $2683 = $2684&255; + $2685 = $2683&255; + $2686 = HEAP32[$66>>2]|0; + $2687 = ((($2686)) + 68|0); + HEAP32[$2687>>2] = $2685; + $2688 = HEAP32[$66>>2]|0; + $2689 = ((($2688)) + 14|0); + HEAP16[$2689>>1] = 0; + $2690 = HEAP32[$76>>2]|0; + $2691 = HEAP32[$68>>2]|0; + HEAP32[$2691>>2] = $2690; + $2692 = HEAP32[$78>>2]|0; + $2693 = HEAP32[$76>>2]|0; + $2694 = ($2692>>>0)<($2693>>>0); + if ($2694) { + $2695 = HEAP32[$66>>2]|0; + $2696 = ((($2695)) + 72|0); + HEAP32[$2696>>2] = 0; + $2697 = HEAP32[$66>>2]|0; + $2698 = ((($2697)) + 64|0); + HEAP32[$2698>>2] = 0; + $2699 = HEAP32[$76>>2]|0; + $2700 = ($2699>>>0)>(98307); + if ($2700) { + label = 269; + break L8; + } + $2701 = HEAP32[$76>>2]|0; + $2702 = HEAP32[$66>>2]|0; + $2703 = ((($2702)) + 60|0); + $2704 = HEAP32[$2703>>2]|0; + $2705 = ($2701>>>0)>($2704>>>0); + if ($2705) { + label = 269; + break L8; + } else { + label = 272; + break; + } + } else { + $2707 = HEAP32[$76>>2]|0; + $2708 = ($2707>>>0)>(0); + if (!($2708)) { + label = 272; + break; + } + $2709 = HEAP32[$66>>2]|0; + $2710 = ((($2709)) + 72|0); + $2711 = HEAP32[$2710>>2]|0; + HEAP32[$73>>2] = $2711; + label = 278; + break; + } + } else { + label = 272; + } + } while(0); + do { + if ((label|0) == 272) { + label = 0; + $2712 = HEAP32[$66>>2]|0; + $2713 = ((($2712)) + 14|0); + $2714 = HEAP16[$2713>>1]|0; + $2715 = $2714&65535; + $2716 = HEAP32[$65>>2]|0; + $2717 = ($2715|0)<=($2716|0); + $2718 = HEAP32[$66>>2]|0; + if (!($2717)) { + $2894 = ((($2718)) + 80|0); + $2895 = HEAP32[$65>>2]|0; + $2896 = (($2894) + ($2895<<2)|0); + $2897 = HEAP32[$2896>>2]|0; + HEAP32[$79>>2] = $2897; + break; + } + $2719 = ((($2718)) + 68|0); + $2720 = HEAP32[$2719>>2]|0; + $2721 = HEAP32[$68>>2]|0; + $2722 = HEAP32[$2721>>2]|0; + $2723 = ($2720>>>0)<($2722>>>0); + if (!($2723)) { + HEAP32[$79>>2] = 0; + label = 294; + break; + } + $2724 = HEAP32[$66>>2]|0; + $2725 = ((($2724)) + 72|0); + $2726 = HEAP32[$2725>>2]|0; + $2727 = ($2726|0)==(0|0); + if (!($2727)) { + $2742 = HEAP32[$66>>2]|0; + $2743 = ((($2742)) + 72|0); + $2744 = HEAP32[$2743>>2]|0; + HEAP32[$73>>2] = $2744; + label = 278; + break; + } + dest=$72; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $2728 = HEAP32[$67>>2]|0; + $2729 = HEAP32[$68>>2]|0; + $2730 = HEAP32[$2729>>2]|0; + $2731 = HEAP32[$66>>2]|0; + $2732 = ((($2731)) + 4|0); + $2733 = HEAP8[$2732>>0]|0; + $2734 = ($2733<<24>>24)!=(0); + $2735 = $2734 ^ 1; + $2736 = $2735&1; + $2737 = (_sqlite3VdbeMemFromBtree($2728,0,$2730,$2736,$72)|0); + HEAP32[$4>>2] = $2737; + $2738 = HEAP32[$4>>2]|0; + $2739 = ($2738|0)!=(0); + if ($2739) { + break L1; + } + $2740 = ((($72)) + 16|0); + $2741 = HEAP32[$2740>>2]|0; + HEAP32[$73>>2] = $2741; + label = 278; + } + } while(0); + if ((label|0) == 278) { + label = 0; + $2745 = HEAP32[$66>>2]|0; + $2746 = ((($2745)) + 14|0); + $2747 = HEAP16[$2746>>1]|0; + $2748 = $2747&65535; + HEAP32[$70>>2] = $2748; + $2749 = HEAP32[$68>>2]|0; + $2750 = HEAP32[$70>>2]|0; + $2751 = (($2749) + ($2750<<2)|0); + $2752 = HEAP32[$2751>>2]|0; + $2753 = $77; + $2754 = $2753; + HEAP32[$2754>>2] = $2752; + $2755 = (($2753) + 4)|0; + $2756 = $2755; + HEAP32[$2756>>2] = 0; + $2757 = HEAP32[$73>>2]|0; + $2758 = HEAP32[$66>>2]|0; + $2759 = ((($2758)) + 68|0); + $2760 = HEAP32[$2759>>2]|0; + $2761 = (($2757) + ($2760)|0); + HEAP32[$74>>2] = $2761; + $2762 = HEAP32[$73>>2]|0; + $2763 = HEAP32[$68>>2]|0; + $2764 = HEAP32[$2763>>2]|0; + $2765 = (($2762) + ($2764)|0); + HEAP32[$75>>2] = $2765; + while(1) { + $2766 = HEAP32[$74>>2]|0; + $2767 = HEAP8[$2766>>0]|0; + $2768 = $2767&255; + HEAP32[$79>>2] = $2768; + $2769 = ($2768>>>0)<(128); + $2770 = HEAP32[$74>>2]|0; + if ($2769) { + $2771 = ((($2770)) + 1|0); + HEAP32[$74>>2] = $2771; + $2772 = HEAP32[$79>>2]|0; + $2773 = $2772&255; + $2774 = (_sqlite3VdbeOneByteSerialTypeLen($2773)|0); + $2775 = $2774&255; + $2776 = $77; + $2777 = $2776; + $2778 = HEAP32[$2777>>2]|0; + $2779 = (($2776) + 4)|0; + $2780 = $2779; + $2781 = HEAP32[$2780>>2]|0; + $2782 = (_i64Add(($2778|0),($2781|0),($2775|0),0)|0); + $2783 = tempRet0; + $2784 = $77; + $2785 = $2784; + HEAP32[$2785>>2] = $2782; + $2786 = (($2784) + 4)|0; + $2787 = $2786; + HEAP32[$2787>>2] = $2783; + } else { + $2788 = (_sqlite3GetVarint32($2770,$79)|0); + $2789 = $2788&255; + $2790 = HEAP32[$74>>2]|0; + $2791 = (($2790) + ($2789)|0); + HEAP32[$74>>2] = $2791; + $2792 = HEAP32[$79>>2]|0; + $2793 = (_sqlite3VdbeSerialTypeLen($2792)|0); + $2794 = $77; + $2795 = $2794; + $2796 = HEAP32[$2795>>2]|0; + $2797 = (($2794) + 4)|0; + $2798 = $2797; + $2799 = HEAP32[$2798>>2]|0; + $2800 = (_i64Add(($2796|0),($2799|0),($2793|0),0)|0); + $2801 = tempRet0; + $2802 = $77; + $2803 = $2802; + HEAP32[$2803>>2] = $2800; + $2804 = (($2802) + 4)|0; + $2805 = $2804; + HEAP32[$2805>>2] = $2801; + } + $2806 = HEAP32[$79>>2]|0; + $2807 = HEAP32[$66>>2]|0; + $2808 = ((($2807)) + 80|0); + $2809 = HEAP32[$70>>2]|0; + $2810 = (($2809) + 1)|0; + HEAP32[$70>>2] = $2810; + $2811 = (($2808) + ($2809<<2)|0); + HEAP32[$2811>>2] = $2806; + $2812 = $77; + $2813 = $2812; + $2814 = HEAP32[$2813>>2]|0; + $2815 = (($2812) + 4)|0; + $2816 = $2815; + $2817 = HEAP32[$2816>>2]|0; + $2818 = HEAP32[$68>>2]|0; + $2819 = HEAP32[$70>>2]|0; + $2820 = (($2818) + ($2819<<2)|0); + HEAP32[$2820>>2] = $2814; + $2821 = HEAP32[$70>>2]|0; + $2822 = HEAP32[$65>>2]|0; + $2823 = ($2821|0)<=($2822|0); + if (!($2823)) { + break; + } + $2824 = HEAP32[$74>>2]|0; + $2825 = HEAP32[$75>>2]|0; + $2826 = ($2824>>>0)<($2825>>>0); + if (!($2826)) { + break; + } + } + $2827 = HEAP32[$74>>2]|0; + $2828 = HEAP32[$75>>2]|0; + $2829 = ($2827>>>0)>=($2828>>>0); + if ($2829) { + $2830 = HEAP32[$74>>2]|0; + $2831 = HEAP32[$75>>2]|0; + $2832 = ($2830>>>0)>($2831>>>0); + if ($2832) { + label = 288; + break L8; + } + $2833 = $77; + $2834 = $2833; + $2835 = HEAP32[$2834>>2]|0; + $2836 = (($2833) + 4)|0; + $2837 = $2836; + $2838 = HEAP32[$2837>>2]|0; + $2839 = HEAP32[$66>>2]|0; + $2840 = ((($2839)) + 60|0); + $2841 = HEAP32[$2840>>2]|0; + $2842 = ($2835|0)!=($2841|0); + $2843 = ($2838|0)!=(0); + $2844 = $2842 | $2843; + if ($2844) { + label = 288; + break L8; + } + } + $2845 = $77; + $2846 = $2845; + $2847 = HEAP32[$2846>>2]|0; + $2848 = (($2845) + 4)|0; + $2849 = $2848; + $2850 = HEAP32[$2849>>2]|0; + $2851 = HEAP32[$66>>2]|0; + $2852 = ((($2851)) + 60|0); + $2853 = HEAP32[$2852>>2]|0; + $2854 = ($2850>>>0)>(0); + $2855 = ($2847>>>0)>($2853>>>0); + $2856 = ($2850|0)==(0); + $2857 = $2856 & $2855; + $2858 = $2854 | $2857; + if ($2858) { + label = 288; + break L8; + } + $2864 = HEAP32[$70>>2]|0; + $2865 = $2864&65535; + $2866 = HEAP32[$66>>2]|0; + $2867 = ((($2866)) + 14|0); + HEAP16[$2867>>1] = $2865; + $2868 = HEAP32[$74>>2]|0; + $2869 = HEAP32[$73>>2]|0; + $2870 = $2868; + $2871 = $2869; + $2872 = (($2870) - ($2871))|0; + $2873 = HEAP32[$66>>2]|0; + $2874 = ((($2873)) + 68|0); + HEAP32[$2874>>2] = $2872; + $2875 = HEAP32[$66>>2]|0; + $2876 = ((($2875)) + 72|0); + $2877 = HEAP32[$2876>>2]|0; + $2878 = ($2877|0)==(0|0); + if ($2878) { + _sqlite3VdbeMemRelease($72); + label = 294; + } else { + label = 294; + } + } + if ((label|0) == 294) { + label = 0; + $2879 = HEAP32[$66>>2]|0; + $2880 = ((($2879)) + 14|0); + $2881 = HEAP16[$2880>>1]|0; + $2882 = $2881&65535; + $2883 = HEAP32[$65>>2]|0; + $2884 = ($2882|0)<=($2883|0); + if ($2884) { + $2885 = HEAP32[$3>>2]|0; + $2886 = ((($2885)) + 1|0); + $2887 = HEAP8[$2886>>0]|0; + $2888 = $2887 << 24 >> 24; + $2889 = ($2888|0)==(-8); + $2890 = HEAP32[$71>>2]|0; + if ($2889) { + $2891 = HEAP32[$3>>2]|0; + $2892 = ((($2891)) + 16|0); + $2893 = HEAP32[$2892>>2]|0; + _sqlite3VdbeMemShallowCopy($2890,$2893,2048); + break L10; + } else { + _sqlite3VdbeMemSetNull($2890); + break L10; + } + } + } + $2898 = HEAP32[$71>>2]|0; + $2899 = ((($2898)) + 8|0); + $2900 = HEAP16[$2899>>1]|0; + $2901 = $2900&65535; + $2902 = $2901 & 9312; + $2903 = ($2902|0)!=(0); + if ($2903) { + $2904 = HEAP32[$71>>2]|0; + _sqlite3VdbeMemSetNull($2904); + } + $2905 = HEAP32[$66>>2]|0; + $2906 = ((($2905)) + 64|0); + $2907 = HEAP32[$2906>>2]|0; + $2908 = HEAP32[$68>>2]|0; + $2909 = HEAP32[$65>>2]|0; + $2910 = (($2909) + 1)|0; + $2911 = (($2908) + ($2910<<2)|0); + $2912 = HEAP32[$2911>>2]|0; + $2913 = ($2907>>>0)>=($2912>>>0); + if ($2913) { + $2914 = HEAP32[$66>>2]|0; + $2915 = ((($2914)) + 72|0); + $2916 = HEAP32[$2915>>2]|0; + $2917 = HEAP32[$68>>2]|0; + $2918 = HEAP32[$65>>2]|0; + $2919 = (($2917) + ($2918<<2)|0); + $2920 = HEAP32[$2919>>2]|0; + $2921 = (($2916) + ($2920)|0); + HEAP32[$73>>2] = $2921; + $2922 = HEAP32[$79>>2]|0; + $2923 = ($2922>>>0)<(12); + if ($2923) { + $2924 = HEAP32[$73>>2]|0; + $2925 = HEAP32[$79>>2]|0; + $2926 = HEAP32[$71>>2]|0; + (_sqlite3VdbeSerialGet($2924,$2925,$2926)|0); + break L10; + } + $2927 = HEAP32[$79>>2]|0; + $2928 = (($2927) - 12)|0; + $2929 = (($2928>>>0) / 2)&-1; + HEAP32[$69>>2] = $2929; + $2930 = HEAP32[$71>>2]|0; + $2931 = ((($2930)) + 12|0); + HEAP32[$2931>>2] = $2929; + $2932 = HEAP8[$7>>0]|0; + $2933 = HEAP32[$71>>2]|0; + $2934 = ((($2933)) + 10|0); + HEAP8[$2934>>0] = $2932; + $2935 = HEAP32[$71>>2]|0; + $2936 = ((($2935)) + 24|0); + $2937 = HEAP32[$2936>>2]|0; + $2938 = HEAP32[$69>>2]|0; + $2939 = (($2938) + 2)|0; + $2940 = ($2937|0)<($2939|0); + $2941 = HEAP32[$71>>2]|0; + if ($2940) { + $2942 = ((($2941)) + 8|0); + HEAP16[$2942>>1] = 1; + $2943 = HEAP32[$71>>2]|0; + $2944 = HEAP32[$69>>2]|0; + $2945 = (($2944) + 2)|0; + $2946 = (_sqlite3VdbeMemGrow($2943,$2945,0)|0); + $2947 = ($2946|0)!=(0); + if ($2947) { + label = 887; + break L1; + } + } else { + $2948 = ((($2941)) + 20|0); + $2949 = HEAP32[$2948>>2]|0; + $2950 = HEAP32[$71>>2]|0; + $2951 = ((($2950)) + 16|0); + HEAP32[$2951>>2] = $2949; + } + $2952 = HEAP32[$71>>2]|0; + $2953 = ((($2952)) + 16|0); + $2954 = HEAP32[$2953>>2]|0; + $2955 = HEAP32[$73>>2]|0; + $2956 = HEAP32[$69>>2]|0; + _memcpy(($2954|0),($2955|0),($2956|0))|0; + $2957 = HEAP32[$71>>2]|0; + $2958 = ((($2957)) + 16|0); + $2959 = HEAP32[$2958>>2]|0; + $2960 = HEAP32[$69>>2]|0; + $2961 = (($2959) + ($2960)|0); + HEAP8[$2961>>0] = 0; + $2962 = HEAP32[$71>>2]|0; + $2963 = ((($2962)) + 16|0); + $2964 = HEAP32[$2963>>2]|0; + $2965 = HEAP32[$69>>2]|0; + $2966 = (($2965) + 1)|0; + $2967 = (($2964) + ($2966)|0); + HEAP8[$2967>>0] = 0; + $2968 = HEAP32[$79>>2]|0; + $2969 = $2968 & 1; + $2970 = (17066 + ($2969<<1)|0); + $2971 = HEAP16[$2970>>1]|0; + $2972 = HEAP32[$71>>2]|0; + $2973 = ((($2972)) + 8|0); + HEAP16[$2973>>1] = $2971; + break L10; + } + $2974 = HEAP8[$7>>0]|0; + $2975 = HEAP32[$71>>2]|0; + $2976 = ((($2975)) + 10|0); + HEAP8[$2976>>0] = $2974; + $2977 = HEAP32[$3>>2]|0; + $2978 = ((($2977)) + 3|0); + $2979 = HEAP8[$2978>>0]|0; + $2980 = $2979&255; + $2981 = $2980 & 192; + $2982 = ($2981|0)!=(0); + do { + if ($2982) { + $2983 = HEAP32[$79>>2]|0; + $2984 = ($2983>>>0)>=(12); + if ($2984) { + $2985 = HEAP32[$79>>2]|0; + $2986 = $2985 & 1; + $2987 = ($2986|0)==(0); + if ($2987) { + break; + } + } + $2988 = HEAP32[$3>>2]|0; + $2989 = ((($2988)) + 3|0); + $2990 = HEAP8[$2989>>0]|0; + $2991 = $2990&255; + $2992 = $2991 & 128; + $2993 = ($2992|0)!=(0); + if (!($2993)) { + label = 312; + } + } else { + label = 312; + } + } while(0); + if ((label|0) == 312) { + label = 0; + $2994 = HEAP32[$79>>2]|0; + $2995 = (_sqlite3VdbeSerialTypeLen($2994)|0); + HEAP32[$69>>2] = $2995; + $2996 = ($2995|0)==(0); + if (!($2996)) { + $2999 = HEAP32[$67>>2]|0; + $3000 = HEAP32[$68>>2]|0; + $3001 = HEAP32[$65>>2]|0; + $3002 = (($3000) + ($3001<<2)|0); + $3003 = HEAP32[$3002>>2]|0; + $3004 = HEAP32[$69>>2]|0; + $3005 = HEAP32[$66>>2]|0; + $3006 = ((($3005)) + 4|0); + $3007 = HEAP8[$3006>>0]|0; + $3008 = ($3007<<24>>24)!=(0); + $3009 = $3008 ^ 1; + $3010 = $3009&1; + $3011 = HEAP32[$71>>2]|0; + $3012 = (_sqlite3VdbeMemFromBtree($2999,$3003,$3004,$3010,$3011)|0); + HEAP32[$4>>2] = $3012; + $3013 = HEAP32[$4>>2]|0; + $3014 = ($3013|0)!=(0); + if ($3014) { + break L1; + } + $3015 = HEAP32[$71>>2]|0; + $3016 = ((($3015)) + 16|0); + $3017 = HEAP32[$3016>>2]|0; + $3018 = HEAP32[$79>>2]|0; + $3019 = HEAP32[$71>>2]|0; + (_sqlite3VdbeSerialGet($3017,$3018,$3019)|0); + $3020 = HEAP32[$71>>2]|0; + $3021 = ((($3020)) + 8|0); + $3022 = HEAP16[$3021>>1]|0; + $3023 = $3022&65535; + $3024 = $3023 & -4097; + $3025 = $3024&65535; + HEAP16[$3021>>1] = $3025; + break L10; + } + } + $2997 = HEAP32[$79>>2]|0; + $2998 = HEAP32[$71>>2]|0; + (_sqlite3VdbeSerialGet(56041,$2997,$2998)|0); + break; + } + case 98: { + $3026 = HEAP32[$3>>2]|0; + $3027 = ((($3026)) + 16|0); + $3028 = HEAP32[$3027>>2]|0; + HEAP32[$81>>2] = $3028; + $3029 = HEAP32[$11>>2]|0; + $3030 = HEAP32[$3>>2]|0; + $3031 = ((($3030)) + 4|0); + $3032 = HEAP32[$3031>>2]|0; + $3033 = (($3029) + (($3032*40)|0)|0); + HEAP32[$12>>2] = $3033; + while(1) { + $3034 = HEAP32[$81>>2]|0; + $3035 = ((($3034)) + 1|0); + HEAP32[$81>>2] = $3035; + $3036 = HEAP8[$3034>>0]|0; + HEAP8[$82>>0] = $3036; + $3037 = $3036 << 24 >> 24; + $3038 = ($3037|0)!=(0); + if (!($3038)) { + break L10; + } + $3039 = HEAP32[$12>>2]|0; + $3040 = HEAP8[$82>>0]|0; + $3041 = HEAP8[$7>>0]|0; + _applyAffinity($3039,$3040,$3041); + $3042 = HEAP32[$12>>2]|0; + $3043 = ((($3042)) + 40|0); + HEAP32[$12>>2] = $3043; + } + break; + } + case 99: { + $3044 = $85; + $3045 = $3044; + HEAP32[$3045>>2] = 0; + $3046 = (($3044) + 4)|0; + $3047 = $3046; + HEAP32[$3047>>2] = 0; + HEAP32[$86>>2] = 0; + $3048 = $88; + $3049 = $3048; + HEAP32[$3049>>2] = 0; + $3050 = (($3048) + 4)|0; + $3051 = $3050; + HEAP32[$3051>>2] = 0; + $3052 = HEAP32[$3>>2]|0; + $3053 = ((($3052)) + 4|0); + $3054 = HEAP32[$3053>>2]|0; + HEAP32[$93>>2] = $3054; + $3055 = HEAP32[$3>>2]|0; + $3056 = ((($3055)) + 16|0); + $3057 = HEAP32[$3056>>2]|0; + HEAP32[$94>>2] = $3057; + $3058 = HEAP32[$11>>2]|0; + $3059 = HEAP32[$93>>2]|0; + $3060 = (($3058) + (($3059*40)|0)|0); + HEAP32[$91>>2] = $3060; + $3061 = HEAP32[$3>>2]|0; + $3062 = ((($3061)) + 8|0); + $3063 = HEAP32[$3062>>2]|0; + HEAP32[$93>>2] = $3063; + $3064 = HEAP32[$91>>2]|0; + $3065 = HEAP32[$93>>2]|0; + $3066 = (($3065) - 1)|0; + $3067 = (($3064) + (($3066*40)|0)|0); + HEAP32[$92>>2] = $3067; + $3068 = HEAP32[$1>>2]|0; + $3069 = ((($3068)) + 143|0); + $3070 = HEAP8[$3069>>0]|0; + $3071 = $3070&255; + HEAP32[$95>>2] = $3071; + $3072 = HEAP32[$11>>2]|0; + $3073 = HEAP32[$3>>2]|0; + $3074 = ((($3073)) + 12|0); + $3075 = HEAP32[$3074>>2]|0; + $3076 = (($3072) + (($3075*40)|0)|0); + HEAP32[$15>>2] = $3076; + $3077 = HEAP32[$94>>2]|0; + $3078 = ($3077|0)!=(0|0); + if ($3078) { + $3079 = HEAP32[$91>>2]|0; + HEAP32[$84>>2] = $3079; + while(1) { + $3080 = HEAP32[$84>>2]|0; + $3081 = ((($3080)) + 40|0); + HEAP32[$84>>2] = $3081; + $3082 = HEAP32[$94>>2]|0; + $3083 = ((($3082)) + 1|0); + HEAP32[$94>>2] = $3083; + $3084 = HEAP8[$3082>>0]|0; + $3085 = HEAP8[$7>>0]|0; + _applyAffinity($3080,$3084,$3085); + $3086 = HEAP32[$94>>2]|0; + $3087 = HEAP8[$3086>>0]|0; + $3088 = ($3087<<24>>24)!=(0); + if (!($3088)) { + break; + } + } + } + $3089 = HEAP32[$92>>2]|0; + HEAP32[$84>>2] = $3089; + while(1) { + $3090 = HEAP32[$84>>2]|0; + $3091 = HEAP32[$95>>2]|0; + $3092 = (_sqlite3VdbeSerialType($3090,$3091,$98)|0); + HEAP32[$90>>2] = $3092; + $3093 = HEAP32[$84>>2]|0; + $3094 = ((($3093)) + 28|0); + HEAP32[$3094>>2] = $3092; + $3095 = HEAP32[$84>>2]|0; + $3096 = ((($3095)) + 8|0); + $3097 = HEAP16[$3096>>1]|0; + $3098 = $3097&65535; + $3099 = $3098 & 16384; + $3100 = ($3099|0)!=(0); + do { + if ($3100) { + $3101 = $85; + $3102 = $3101; + $3103 = HEAP32[$3102>>2]|0; + $3104 = (($3101) + 4)|0; + $3105 = $3104; + $3106 = HEAP32[$3105>>2]|0; + $3107 = ($3103|0)!=(0); + $3108 = ($3106|0)!=(0); + $3109 = $3107 | $3108; + $3110 = HEAP32[$84>>2]|0; + if ($3109) { + $3111 = (_sqlite3VdbeMemExpandBlob($3110)|0); + $3112 = ($3111|0)!=(0); + if ($3112) { + label = 887; + break L1; + } else { + break; + } + } else { + $3113 = HEAP32[$3110>>2]|0; + $3114 = ($3113|0)<(0); + $3115 = $3114 << 31 >> 31; + $3116 = $88; + $3117 = $3116; + $3118 = HEAP32[$3117>>2]|0; + $3119 = (($3116) + 4)|0; + $3120 = $3119; + $3121 = HEAP32[$3120>>2]|0; + $3122 = (_i64Add(($3118|0),($3121|0),($3113|0),($3115|0))|0); + $3123 = tempRet0; + $3124 = $88; + $3125 = $3124; + HEAP32[$3125>>2] = $3122; + $3126 = (($3124) + 4)|0; + $3127 = $3126; + HEAP32[$3127>>2] = $3123; + $3128 = HEAP32[$84>>2]|0; + $3129 = HEAP32[$3128>>2]|0; + $3130 = HEAP32[$98>>2]|0; + $3131 = (($3130) - ($3129))|0; + HEAP32[$98>>2] = $3131; + break; + } + } + } while(0); + $3132 = HEAP32[$98>>2]|0; + $3133 = $85; + $3134 = $3133; + $3135 = HEAP32[$3134>>2]|0; + $3136 = (($3133) + 4)|0; + $3137 = $3136; + $3138 = HEAP32[$3137>>2]|0; + $3139 = (_i64Add(($3135|0),($3138|0),($3132|0),0)|0); + $3140 = tempRet0; + $3141 = $85; + $3142 = $3141; + HEAP32[$3142>>2] = $3139; + $3143 = (($3141) + 4)|0; + $3144 = $3143; + HEAP32[$3144>>2] = $3140; + $3145 = HEAP32[$90>>2]|0; + $3146 = ($3145>>>0)<=(127); + if ($3146) { + $3151 = 1; + } else { + $3147 = HEAP32[$90>>2]|0; + $3148 = (_sqlite3VarintLen($3147,0)|0); + $3151 = $3148; + } + $3149 = HEAP32[$86>>2]|0; + $3150 = (($3149) + ($3151))|0; + HEAP32[$86>>2] = $3150; + $3152 = HEAP32[$84>>2]|0; + $3153 = HEAP32[$91>>2]|0; + $3154 = ($3152|0)==($3153|0); + if ($3154) { + break; + } + $3155 = HEAP32[$84>>2]|0; + $3156 = ((($3155)) + -40|0); + HEAP32[$84>>2] = $3156; + } + $3157 = HEAP32[$86>>2]|0; + $3158 = ($3157|0)<=(126); + $3159 = HEAP32[$86>>2]|0; + if ($3158) { + $3160 = (($3159) + 1)|0; + HEAP32[$86>>2] = $3160; + } else { + $3161 = ($3159|0)<(0); + $3162 = $3161 << 31 >> 31; + $3163 = (_sqlite3VarintLen($3159,$3162)|0); + HEAP32[$89>>2] = $3163; + $3164 = HEAP32[$89>>2]|0; + $3165 = HEAP32[$86>>2]|0; + $3166 = (($3165) + ($3164))|0; + HEAP32[$86>>2] = $3166; + $3167 = HEAP32[$89>>2]|0; + $3168 = HEAP32[$86>>2]|0; + $3169 = ($3168|0)<(0); + $3170 = $3169 << 31 >> 31; + $3171 = (_sqlite3VarintLen($3168,$3170)|0); + $3172 = ($3167|0)<($3171|0); + if ($3172) { + $3173 = HEAP32[$86>>2]|0; + $3174 = (($3173) + 1)|0; + HEAP32[$86>>2] = $3174; + } + } + $3175 = HEAP32[$86>>2]|0; + $3176 = ($3175|0)<(0); + $3177 = $3176 << 31 >> 31; + $3178 = $85; + $3179 = $3178; + $3180 = HEAP32[$3179>>2]|0; + $3181 = (($3178) + 4)|0; + $3182 = $3181; + $3183 = HEAP32[$3182>>2]|0; + $3184 = (_i64Add(($3175|0),($3177|0),($3180|0),($3183|0))|0); + $3185 = tempRet0; + $3186 = $87; + $3187 = $3186; + HEAP32[$3187>>2] = $3184; + $3188 = (($3186) + 4)|0; + $3189 = $3188; + HEAP32[$3189>>2] = $3185; + $3190 = $87; + $3191 = $3190; + $3192 = HEAP32[$3191>>2]|0; + $3193 = (($3190) + 4)|0; + $3194 = $3193; + $3195 = HEAP32[$3194>>2]|0; + $3196 = $88; + $3197 = $3196; + $3198 = HEAP32[$3197>>2]|0; + $3199 = (($3196) + 4)|0; + $3200 = $3199; + $3201 = HEAP32[$3200>>2]|0; + $3202 = (_i64Add(($3192|0),($3195|0),($3198|0),($3201|0))|0); + $3203 = tempRet0; + $3204 = HEAP32[$5>>2]|0; + $3205 = ((($3204)) + 96|0); + $3206 = HEAP32[$3205>>2]|0; + $3207 = ($3206|0)<(0); + $3208 = $3207 << 31 >> 31; + $3209 = ($3203|0)>($3208|0); + $3210 = ($3202>>>0)>($3206>>>0); + $3211 = ($3203|0)==($3208|0); + $3212 = $3211 & $3210; + $3213 = $3209 | $3212; + if ($3213) { + label = 886; + break L8; + } + $3214 = HEAP32[$15>>2]|0; + $3215 = $87; + $3216 = $3215; + $3217 = HEAP32[$3216>>2]|0; + $3218 = (($3215) + 4)|0; + $3219 = $3218; + $3220 = HEAP32[$3219>>2]|0; + $3221 = (_sqlite3VdbeMemClearAndResize($3214,$3217)|0); + $3222 = ($3221|0)!=(0); + if ($3222) { + label = 887; + break L1; + } + $3223 = HEAP32[$15>>2]|0; + $3224 = ((($3223)) + 16|0); + $3225 = HEAP32[$3224>>2]|0; + HEAP32[$83>>2] = $3225; + $3226 = HEAP32[$86>>2]|0; + $3227 = ($3226>>>0)<(128); + if ($3227) { + $3228 = HEAP32[$86>>2]|0; + $3229 = $3228&255; + $3230 = HEAP32[$83>>2]|0; + HEAP8[$3230>>0] = $3229; + $3237 = 1; + } else { + $3231 = HEAP32[$83>>2]|0; + $3232 = HEAP32[$86>>2]|0; + $3233 = ($3232|0)<(0); + $3234 = $3233 << 31 >> 31; + $3235 = (_sqlite3PutVarint($3231,$3232,$3234)|0); + $3237 = $3235; + } + $3236 = $3237&255; + $3238 = $3236&255; + HEAP32[$96>>2] = $3238; + $3239 = HEAP32[$86>>2]|0; + HEAP32[$97>>2] = $3239; + $3240 = HEAP32[$91>>2]|0; + HEAP32[$84>>2] = $3240; + while(1) { + $3241 = HEAP32[$84>>2]|0; + $3242 = ((($3241)) + 28|0); + $3243 = HEAP32[$3242>>2]|0; + HEAP32[$90>>2] = $3243; + $3244 = HEAP32[$90>>2]|0; + $3245 = ($3244>>>0)<(128); + if ($3245) { + $3246 = HEAP32[$90>>2]|0; + $3247 = $3246&255; + $3248 = HEAP32[$83>>2]|0; + $3249 = HEAP32[$96>>2]|0; + $3250 = (($3248) + ($3249)|0); + HEAP8[$3250>>0] = $3247; + $3257 = 1; + } else { + $3251 = HEAP32[$83>>2]|0; + $3252 = HEAP32[$96>>2]|0; + $3253 = (($3251) + ($3252)|0); + $3254 = HEAP32[$90>>2]|0; + $3255 = (_sqlite3PutVarint($3253,$3254,0)|0); + $3257 = $3255; + } + $3256 = $3257&255; + $3258 = $3256&255; + $3259 = HEAP32[$96>>2]|0; + $3260 = (($3259) + ($3258))|0; + HEAP32[$96>>2] = $3260; + $3261 = HEAP32[$83>>2]|0; + $3262 = HEAP32[$97>>2]|0; + $3263 = (($3261) + ($3262)|0); + $3264 = HEAP32[$84>>2]|0; + $3265 = HEAP32[$90>>2]|0; + $3266 = (_sqlite3VdbeSerialPut($3263,$3264,$3265)|0); + $3267 = HEAP32[$97>>2]|0; + $3268 = (($3267) + ($3266))|0; + HEAP32[$97>>2] = $3268; + $3269 = HEAP32[$84>>2]|0; + $3270 = ((($3269)) + 40|0); + HEAP32[$84>>2] = $3270; + $3271 = HEAP32[$92>>2]|0; + $3272 = ($3270>>>0)<=($3271>>>0); + if (!($3272)) { + break; + } + } + $3273 = $87; + $3274 = $3273; + $3275 = HEAP32[$3274>>2]|0; + $3276 = (($3273) + 4)|0; + $3277 = $3276; + $3278 = HEAP32[$3277>>2]|0; + $3279 = HEAP32[$15>>2]|0; + $3280 = ((($3279)) + 12|0); + HEAP32[$3280>>2] = $3275; + $3281 = HEAP32[$15>>2]|0; + $3282 = ((($3281)) + 8|0); + HEAP16[$3282>>1] = 16; + $3283 = $88; + $3284 = $3283; + $3285 = HEAP32[$3284>>2]|0; + $3286 = (($3283) + 4)|0; + $3287 = $3286; + $3288 = HEAP32[$3287>>2]|0; + $3289 = ($3285|0)!=(0); + $3290 = ($3288|0)!=(0); + $3291 = $3289 | $3290; + if ($3291) { + $3292 = $88; + $3293 = $3292; + $3294 = HEAP32[$3293>>2]|0; + $3295 = (($3292) + 4)|0; + $3296 = $3295; + $3297 = HEAP32[$3296>>2]|0; + $3298 = HEAP32[$15>>2]|0; + HEAP32[$3298>>2] = $3294; + $3299 = HEAP32[$15>>2]|0; + $3300 = ((($3299)) + 8|0); + $3301 = HEAP16[$3300>>1]|0; + $3302 = $3301&65535; + $3303 = $3302 | 16384; + $3304 = $3303&65535; + HEAP16[$3300>>1] = $3304; + } + $3305 = HEAP32[$15>>2]|0; + $3306 = ((($3305)) + 10|0); + HEAP8[$3306>>0] = 1; + break; + } + case 100: { + $3307 = HEAP32[$1>>2]|0; + $3308 = ((($3307)) + 112|0); + $3309 = HEAP32[$3308>>2]|0; + $3310 = HEAP32[$3>>2]|0; + $3311 = ((($3310)) + 4|0); + $3312 = HEAP32[$3311>>2]|0; + $3313 = (($3309) + ($3312<<2)|0); + $3314 = HEAP32[$3313>>2]|0; + $3315 = ((($3314)) + 16|0); + $3316 = HEAP32[$3315>>2]|0; + HEAP32[$100>>2] = $3316; + $3317 = $99; + $3318 = $3317; + HEAP32[$3318>>2] = 0; + $3319 = (($3317) + 4)|0; + $3320 = $3319; + HEAP32[$3320>>2] = 0; + $3321 = HEAP32[$100>>2]|0; + $3322 = (_sqlite3BtreeCount($3321,$99)|0); + HEAP32[$4>>2] = $3322; + $3323 = HEAP32[$4>>2]|0; + $3324 = ($3323|0)!=(0); + if ($3324) { + break L1; + } + $3325 = HEAP32[$1>>2]|0; + $3326 = HEAP32[$3>>2]|0; + $3327 = (_out2Prerelease($3325,$3326)|0); + HEAP32[$15>>2] = $3327; + $3328 = $99; + $3329 = $3328; + $3330 = HEAP32[$3329>>2]|0; + $3331 = (($3328) + 4)|0; + $3332 = $3331; + $3333 = HEAP32[$3332>>2]|0; + $3334 = HEAP32[$15>>2]|0; + $3335 = $3334; + $3336 = $3335; + HEAP32[$3336>>2] = $3330; + $3337 = (($3335) + 4)|0; + $3338 = $3337; + HEAP32[$3338>>2] = $3333; + break; + } + case 0: { + $3339 = HEAP32[$3>>2]|0; + $3340 = ((($3339)) + 4|0); + $3341 = HEAP32[$3340>>2]|0; + HEAP32[$101>>2] = $3341; + $3342 = HEAP32[$3>>2]|0; + $3343 = ((($3342)) + 16|0); + $3344 = HEAP32[$3343>>2]|0; + HEAP32[$102>>2] = $3344; + $3345 = HEAP32[$101>>2]|0; + $3346 = ($3345|0)==(0); + do { + if ($3346) { + $3347 = HEAP32[$5>>2]|0; + $3348 = ((($3347)) + 164|0); + $3349 = HEAP32[$3348>>2]|0; + $3350 = ($3349|0)>(0); + if ($3350) { + $3351 = HEAP32[$1>>2]|0; + _sqlite3VdbeError($3351,38798,$vararg_buffer70); + HEAP32[$4>>2] = 5; + break; + } + $3352 = HEAP32[$102>>2]|0; + $3353 = (_sqlite3Strlen30($3352)|0); + HEAP32[$103>>2] = $3353; + $3354 = HEAP32[$5>>2]|0; + $3355 = HEAP32[$5>>2]|0; + $3356 = ((($3355)) + 436|0); + $3357 = HEAP32[$3356>>2]|0; + $3358 = HEAP32[$5>>2]|0; + $3359 = ((($3358)) + 432|0); + $3360 = HEAP32[$3359>>2]|0; + $3361 = (($3357) + ($3360))|0; + $3362 = (_sqlite3VtabSavepoint($3354,0,$3361)|0); + HEAP32[$4>>2] = $3362; + $3363 = HEAP32[$4>>2]|0; + $3364 = ($3363|0)!=(0); + if ($3364) { + break L1; + } + $3365 = HEAP32[$5>>2]|0; + $3366 = HEAP32[$103>>2]|0; + $3367 = (32 + ($3366))|0; + $3368 = (($3367) + 1)|0; + $3369 = (_sqlite3DbMallocRawNN($3365,$3368,0)|0); + HEAP32[$104>>2] = $3369; + $3370 = HEAP32[$104>>2]|0; + $3371 = ($3370|0)!=(0|0); + if ($3371) { + $3372 = HEAP32[$104>>2]|0; + $3373 = ((($3372)) + 32|0); + $3374 = HEAP32[$104>>2]|0; + HEAP32[$3374>>2] = $3373; + $3375 = HEAP32[$104>>2]|0; + $3376 = HEAP32[$3375>>2]|0; + $3377 = HEAP32[$102>>2]|0; + $3378 = HEAP32[$103>>2]|0; + $3379 = (($3378) + 1)|0; + _memcpy(($3376|0),($3377|0),($3379|0))|0; + $3380 = HEAP32[$5>>2]|0; + $3381 = ((($3380)) + 67|0); + $3382 = HEAP8[$3381>>0]|0; + $3383 = ($3382<<24>>24)!=(0); + $3384 = HEAP32[$5>>2]|0; + if ($3383) { + $3385 = ((($3384)) + 67|0); + HEAP8[$3385>>0] = 0; + $3386 = HEAP32[$5>>2]|0; + $3387 = ((($3386)) + 75|0); + HEAP8[$3387>>0] = 1; + } else { + $3388 = ((($3384)) + 432|0); + $3389 = HEAP32[$3388>>2]|0; + $3390 = (($3389) + 1)|0; + HEAP32[$3388>>2] = $3390; + } + $3391 = HEAP32[$5>>2]|0; + $3392 = ((($3391)) + 424|0); + $3393 = HEAP32[$3392>>2]|0; + $3394 = HEAP32[$104>>2]|0; + $3395 = ((($3394)) + 24|0); + HEAP32[$3395>>2] = $3393; + $3396 = HEAP32[$104>>2]|0; + $3397 = HEAP32[$5>>2]|0; + $3398 = ((($3397)) + 424|0); + HEAP32[$3398>>2] = $3396; + $3399 = HEAP32[$5>>2]|0; + $3400 = ((($3399)) + 440|0); + $3401 = $3400; + $3402 = $3401; + $3403 = HEAP32[$3402>>2]|0; + $3404 = (($3401) + 4)|0; + $3405 = $3404; + $3406 = HEAP32[$3405>>2]|0; + $3407 = HEAP32[$104>>2]|0; + $3408 = ((($3407)) + 8|0); + $3409 = $3408; + $3410 = $3409; + HEAP32[$3410>>2] = $3403; + $3411 = (($3409) + 4)|0; + $3412 = $3411; + HEAP32[$3412>>2] = $3406; + $3413 = HEAP32[$5>>2]|0; + $3414 = ((($3413)) + 448|0); + $3415 = $3414; + $3416 = $3415; + $3417 = HEAP32[$3416>>2]|0; + $3418 = (($3415) + 4)|0; + $3419 = $3418; + $3420 = HEAP32[$3419>>2]|0; + $3421 = HEAP32[$104>>2]|0; + $3422 = ((($3421)) + 16|0); + $3423 = $3422; + $3424 = $3423; + HEAP32[$3424>>2] = $3417; + $3425 = (($3423) + 4)|0; + $3426 = $3425; + HEAP32[$3426>>2] = $3420; + } + } else { + HEAP32[$107>>2] = 0; + $3427 = HEAP32[$5>>2]|0; + $3428 = ((($3427)) + 424|0); + $3429 = HEAP32[$3428>>2]|0; + HEAP32[$105>>2] = $3429; + while(1) { + $3430 = HEAP32[$105>>2]|0; + $3431 = ($3430|0)!=(0|0); + if (!($3431)) { + break; + } + $3432 = HEAP32[$105>>2]|0; + $3433 = HEAP32[$3432>>2]|0; + $3434 = HEAP32[$102>>2]|0; + $3435 = (_sqlite3StrICmp($3433,$3434)|0); + $3436 = ($3435|0)!=(0); + if (!($3436)) { + break; + } + $3437 = HEAP32[$107>>2]|0; + $3438 = (($3437) + 1)|0; + HEAP32[$107>>2] = $3438; + $3439 = HEAP32[$105>>2]|0; + $3440 = ((($3439)) + 24|0); + $3441 = HEAP32[$3440>>2]|0; + HEAP32[$105>>2] = $3441; + } + $3442 = HEAP32[$105>>2]|0; + $3443 = ($3442|0)!=(0|0); + if (!($3443)) { + $3444 = HEAP32[$1>>2]|0; + $3445 = HEAP32[$102>>2]|0; + HEAP32[$vararg_buffer72>>2] = $3445; + _sqlite3VdbeError($3444,38849,$vararg_buffer72); + HEAP32[$4>>2] = 1; + break; + } + $3446 = HEAP32[$5>>2]|0; + $3447 = ((($3446)) + 164|0); + $3448 = HEAP32[$3447>>2]|0; + $3449 = ($3448|0)>(0); + $3450 = HEAP32[$101>>2]|0; + $3451 = ($3450|0)==(1); + $or$cond8 = $3449 & $3451; + if ($or$cond8) { + $3452 = HEAP32[$1>>2]|0; + _sqlite3VdbeError($3452,38871,$vararg_buffer75); + HEAP32[$4>>2] = 5; + break; + } + $3453 = HEAP32[$105>>2]|0; + $3454 = ((($3453)) + 24|0); + $3455 = HEAP32[$3454>>2]|0; + $3456 = ($3455|0)==(0|0); + if ($3456) { + $3457 = HEAP32[$5>>2]|0; + $3458 = ((($3457)) + 75|0); + $3459 = HEAP8[$3458>>0]|0; + $3460 = $3459&255; + $3461 = ($3460|0)!=(0); + $3463 = $3461; + } else { + $3463 = 0; + } + $3462 = $3463&1; + HEAP32[$109>>2] = $3462; + $3464 = HEAP32[$109>>2]|0; + $3465 = ($3464|0)!=(0); + $3466 = HEAP32[$101>>2]|0; + $3467 = ($3466|0)==(1); + $or$cond10 = $3465 & $3467; + if ($or$cond10) { + $3468 = HEAP32[$1>>2]|0; + $3469 = (_sqlite3VdbeCheckFk($3468,1)|0); + HEAP32[$4>>2] = $3469; + $3470 = ($3469|0)!=(0); + if ($3470) { + label = 885; + break L8; + } + $3471 = HEAP32[$5>>2]|0; + $3472 = ((($3471)) + 67|0); + HEAP8[$3472>>0] = 1; + $3473 = HEAP32[$1>>2]|0; + $3474 = (_sqlite3VdbeHalt($3473)|0); + $3475 = ($3474|0)==(5); + if ($3475) { + label = 372; + break L8; + } + $3488 = HEAP32[$5>>2]|0; + $3489 = ((($3488)) + 75|0); + HEAP8[$3489>>0] = 0; + $3490 = HEAP32[$1>>2]|0; + $3491 = ((($3490)) + 40|0); + $3492 = HEAP32[$3491>>2]|0; + HEAP32[$4>>2] = $3492; + } else { + $3493 = HEAP32[$5>>2]|0; + $3494 = ((($3493)) + 432|0); + $3495 = HEAP32[$3494>>2]|0; + $3496 = HEAP32[$107>>2]|0; + $3497 = (($3495) - ($3496))|0; + $3498 = (($3497) - 1)|0; + HEAP32[$107>>2] = $3498; + $3499 = HEAP32[$101>>2]|0; + $3500 = ($3499|0)==(2); + L420: do { + if ($3500) { + $3501 = HEAP32[$5>>2]|0; + $3502 = ((($3501)) + 24|0); + $3503 = HEAP32[$3502>>2]|0; + $3504 = $3503 & 2; + $3505 = ($3504|0)!=(0); + $3506 = $3505&1; + HEAP32[$110>>2] = $3506; + HEAP32[$108>>2] = 0; + while(1) { + $3507 = HEAP32[$108>>2]|0; + $3508 = HEAP32[$5>>2]|0; + $3509 = ((($3508)) + 20|0); + $3510 = HEAP32[$3509>>2]|0; + $3511 = ($3507|0)<($3510|0); + if (!($3511)) { + break L420; + } + $3512 = HEAP32[$5>>2]|0; + $3513 = ((($3512)) + 16|0); + $3514 = HEAP32[$3513>>2]|0; + $3515 = HEAP32[$108>>2]|0; + $3516 = (($3514) + ($3515<<4)|0); + $3517 = ((($3516)) + 4|0); + $3518 = HEAP32[$3517>>2]|0; + $3519 = HEAP32[$110>>2]|0; + $3520 = ($3519|0)==(0); + $3521 = $3520&1; + $3522 = (_sqlite3BtreeTripAllCursors($3518,516,$3521)|0); + HEAP32[$4>>2] = $3522; + $3523 = HEAP32[$4>>2]|0; + $3524 = ($3523|0)!=(0); + if ($3524) { + break L1; + } + $3525 = HEAP32[$108>>2]|0; + $3526 = (($3525) + 1)|0; + HEAP32[$108>>2] = $3526; + } + } else { + HEAP32[$110>>2] = 0; + } + } while(0); + HEAP32[$108>>2] = 0; + while(1) { + $3527 = HEAP32[$108>>2]|0; + $3528 = HEAP32[$5>>2]|0; + $3529 = ((($3528)) + 20|0); + $3530 = HEAP32[$3529>>2]|0; + $3531 = ($3527|0)<($3530|0); + if (!($3531)) { + break; + } + $3532 = HEAP32[$5>>2]|0; + $3533 = ((($3532)) + 16|0); + $3534 = HEAP32[$3533>>2]|0; + $3535 = HEAP32[$108>>2]|0; + $3536 = (($3534) + ($3535<<4)|0); + $3537 = ((($3536)) + 4|0); + $3538 = HEAP32[$3537>>2]|0; + $3539 = HEAP32[$101>>2]|0; + $3540 = HEAP32[$107>>2]|0; + $3541 = (_sqlite3BtreeSavepoint($3538,$3539,$3540)|0); + HEAP32[$4>>2] = $3541; + $3542 = HEAP32[$4>>2]|0; + $3543 = ($3542|0)!=(0); + if ($3543) { + break L1; + } + $3544 = HEAP32[$108>>2]|0; + $3545 = (($3544) + 1)|0; + HEAP32[$108>>2] = $3545; + } + $3546 = HEAP32[$110>>2]|0; + $3547 = ($3546|0)!=(0); + if ($3547) { + $3548 = HEAP32[$5>>2]|0; + _sqlite3ExpirePreparedStatements($3548); + $3549 = HEAP32[$5>>2]|0; + _sqlite3ResetAllSchemasOfConnection($3549); + $3550 = HEAP32[$5>>2]|0; + $3551 = ((($3550)) + 24|0); + $3552 = HEAP32[$3551>>2]|0; + $3553 = $3552 | 2; + $3554 = HEAP32[$5>>2]|0; + $3555 = ((($3554)) + 24|0); + HEAP32[$3555>>2] = $3553; + } + } + while(1) { + $3556 = HEAP32[$5>>2]|0; + $3557 = ((($3556)) + 424|0); + $3558 = HEAP32[$3557>>2]|0; + $3559 = HEAP32[$105>>2]|0; + $3560 = ($3558|0)!=($3559|0); + if (!($3560)) { + break; + } + $3561 = HEAP32[$5>>2]|0; + $3562 = ((($3561)) + 424|0); + $3563 = HEAP32[$3562>>2]|0; + HEAP32[$106>>2] = $3563; + $3564 = HEAP32[$106>>2]|0; + $3565 = ((($3564)) + 24|0); + $3566 = HEAP32[$3565>>2]|0; + $3567 = HEAP32[$5>>2]|0; + $3568 = ((($3567)) + 424|0); + HEAP32[$3568>>2] = $3566; + $3569 = HEAP32[$5>>2]|0; + $3570 = HEAP32[$106>>2]|0; + _sqlite3DbFree($3569,$3570); + $3571 = HEAP32[$5>>2]|0; + $3572 = ((($3571)) + 432|0); + $3573 = HEAP32[$3572>>2]|0; + $3574 = (($3573) + -1)|0; + HEAP32[$3572>>2] = $3574; + } + $3575 = HEAP32[$101>>2]|0; + $3576 = ($3575|0)==(1); + $3577 = HEAP32[$105>>2]|0; + if ($3576) { + $3578 = ((($3577)) + 24|0); + $3579 = HEAP32[$3578>>2]|0; + $3580 = HEAP32[$5>>2]|0; + $3581 = ((($3580)) + 424|0); + HEAP32[$3581>>2] = $3579; + $3582 = HEAP32[$5>>2]|0; + $3583 = HEAP32[$105>>2]|0; + _sqlite3DbFree($3582,$3583); + $3584 = HEAP32[$109>>2]|0; + $3585 = ($3584|0)!=(0); + if (!($3585)) { + $3586 = HEAP32[$5>>2]|0; + $3587 = ((($3586)) + 432|0); + $3588 = HEAP32[$3587>>2]|0; + $3589 = (($3588) + -1)|0; + HEAP32[$3587>>2] = $3589; + } + } else { + $3590 = ((($3577)) + 8|0); + $3591 = $3590; + $3592 = $3591; + $3593 = HEAP32[$3592>>2]|0; + $3594 = (($3591) + 4)|0; + $3595 = $3594; + $3596 = HEAP32[$3595>>2]|0; + $3597 = HEAP32[$5>>2]|0; + $3598 = ((($3597)) + 440|0); + $3599 = $3598; + $3600 = $3599; + HEAP32[$3600>>2] = $3593; + $3601 = (($3599) + 4)|0; + $3602 = $3601; + HEAP32[$3602>>2] = $3596; + $3603 = HEAP32[$105>>2]|0; + $3604 = ((($3603)) + 16|0); + $3605 = $3604; + $3606 = $3605; + $3607 = HEAP32[$3606>>2]|0; + $3608 = (($3605) + 4)|0; + $3609 = $3608; + $3610 = HEAP32[$3609>>2]|0; + $3611 = HEAP32[$5>>2]|0; + $3612 = ((($3611)) + 448|0); + $3613 = $3612; + $3614 = $3613; + HEAP32[$3614>>2] = $3607; + $3615 = (($3613) + 4)|0; + $3616 = $3615; + HEAP32[$3616>>2] = $3610; + } + $3617 = HEAP32[$109>>2]|0; + $3618 = ($3617|0)==(0); + $3619 = HEAP32[$101>>2]|0; + $3620 = ($3619|0)==(2); + $or$cond12 = $3618 | $3620; + if ($or$cond12) { + $3621 = HEAP32[$5>>2]|0; + $3622 = HEAP32[$101>>2]|0; + $3623 = HEAP32[$107>>2]|0; + $3624 = (_sqlite3VtabSavepoint($3621,$3622,$3623)|0); + HEAP32[$4>>2] = $3624; + $3625 = HEAP32[$4>>2]|0; + $3626 = ($3625|0)!=(0); + $3627 = HEAP32[$4>>2]|0; + $3628 = ($3627|0)!=(0); + $or$cond48 = $3626 | $3628; + if ($or$cond48) { + break L1; + } else { + break L10; + } + } + } + } while(0); + $$old = HEAP32[$4>>2]|0; + $$old47 = ($$old|0)!=(0); + if ($$old47) { + break L1; + } + break; + } + case 2: { + $3689 = HEAP32[$3>>2]|0; + $3690 = ((($3689)) + 8|0); + $3691 = HEAP32[$3690>>2]|0; + $3692 = ($3691|0)!=(0); + if ($3692) { + $3693 = HEAP32[$5>>2]|0; + $3694 = ((($3693)) + 24|0); + $3695 = HEAP32[$3694>>2]|0; + $3696 = $3695 & 67108864; + $3697 = ($3696|0)!=(0); + if ($3697) { + label = 413; + break L8; + } + } + $3698 = HEAP32[$5>>2]|0; + $3699 = ((($3698)) + 16|0); + $3700 = HEAP32[$3699>>2]|0; + $3701 = HEAP32[$3>>2]|0; + $3702 = ((($3701)) + 4|0); + $3703 = HEAP32[$3702>>2]|0; + $3704 = (($3700) + ($3703<<4)|0); + $3705 = ((($3704)) + 4|0); + $3706 = HEAP32[$3705>>2]|0; + HEAP32[$113>>2] = $3706; + $3707 = HEAP32[$113>>2]|0; + $3708 = ($3707|0)!=(0|0); + if ($3708) { + $3709 = HEAP32[$113>>2]|0; + $3710 = HEAP32[$3>>2]|0; + $3711 = ((($3710)) + 8|0); + $3712 = HEAP32[$3711>>2]|0; + $3713 = (_sqlite3BtreeBeginTrans($3709,$3712)|0); + HEAP32[$4>>2] = $3713; + $3714 = HEAP32[$4>>2]|0; + $3715 = ($3714|0)!=(0); + if ($3715) { + label = 416; + break L8; + } + $3730 = HEAP32[$3>>2]|0; + $3731 = ((($3730)) + 8|0); + $3732 = HEAP32[$3731>>2]|0; + $3733 = ($3732|0)!=(0); + do { + if ($3733) { + $3734 = HEAP32[$1>>2]|0; + $3735 = ((($3734)) + 144|0); + $3736 = HEAP16[$3735>>1]|0; + $3737 = ($3736&65535) >>> 6; + $3738 = $3737 & 1; + $3739 = $3738&65535; + $3740 = ($3739|0)!=(0); + if ($3740) { + $3741 = HEAP32[$5>>2]|0; + $3742 = ((($3741)) + 67|0); + $3743 = HEAP8[$3742>>0]|0; + $3744 = $3743&255; + $3745 = ($3744|0)==(0); + if (!($3745)) { + $3746 = HEAP32[$5>>2]|0; + $3747 = ((($3746)) + 160|0); + $3748 = HEAP32[$3747>>2]|0; + $3749 = ($3748|0)>(1); + if (!($3749)) { + break; + } + } + $3750 = HEAP32[$1>>2]|0; + $3751 = ((($3750)) + 48|0); + $3752 = HEAP32[$3751>>2]|0; + $3753 = ($3752|0)==(0); + if ($3753) { + $3754 = HEAP32[$5>>2]|0; + $3755 = ((($3754)) + 436|0); + $3756 = HEAP32[$3755>>2]|0; + $3757 = (($3756) + 1)|0; + HEAP32[$3755>>2] = $3757; + $3758 = HEAP32[$5>>2]|0; + $3759 = ((($3758)) + 432|0); + $3760 = HEAP32[$3759>>2]|0; + $3761 = HEAP32[$5>>2]|0; + $3762 = ((($3761)) + 436|0); + $3763 = HEAP32[$3762>>2]|0; + $3764 = (($3760) + ($3763))|0; + $3765 = HEAP32[$1>>2]|0; + $3766 = ((($3765)) + 48|0); + HEAP32[$3766>>2] = $3764; + } + $3767 = HEAP32[$5>>2]|0; + $3768 = HEAP32[$1>>2]|0; + $3769 = ((($3768)) + 48|0); + $3770 = HEAP32[$3769>>2]|0; + $3771 = (($3770) - 1)|0; + $3772 = (_sqlite3VtabSavepoint($3767,0,$3771)|0); + HEAP32[$4>>2] = $3772; + $3773 = HEAP32[$4>>2]|0; + $3774 = ($3773|0)==(0); + if ($3774) { + $3775 = HEAP32[$113>>2]|0; + $3776 = HEAP32[$1>>2]|0; + $3777 = ((($3776)) + 48|0); + $3778 = HEAP32[$3777>>2]|0; + $3779 = (_sqlite3BtreeBeginStmt($3775,$3778)|0); + HEAP32[$4>>2] = $3779; + } + $3780 = HEAP32[$5>>2]|0; + $3781 = ((($3780)) + 440|0); + $3782 = $3781; + $3783 = $3782; + $3784 = HEAP32[$3783>>2]|0; + $3785 = (($3782) + 4)|0; + $3786 = $3785; + $3787 = HEAP32[$3786>>2]|0; + $3788 = HEAP32[$1>>2]|0; + $3789 = ((($3788)) + 72|0); + $3790 = $3789; + $3791 = $3790; + HEAP32[$3791>>2] = $3784; + $3792 = (($3790) + 4)|0; + $3793 = $3792; + HEAP32[$3793>>2] = $3787; + $3794 = HEAP32[$5>>2]|0; + $3795 = ((($3794)) + 448|0); + $3796 = $3795; + $3797 = $3796; + $3798 = HEAP32[$3797>>2]|0; + $3799 = (($3796) + 4)|0; + $3800 = $3799; + $3801 = HEAP32[$3800>>2]|0; + $3802 = HEAP32[$1>>2]|0; + $3803 = ((($3802)) + 80|0); + $3804 = $3803; + $3805 = $3804; + HEAP32[$3805>>2] = $3798; + $3806 = (($3804) + 4)|0; + $3807 = $3806; + HEAP32[$3807>>2] = $3801; + } + } + } while(0); + $3808 = HEAP32[$113>>2]|0; + _sqlite3BtreeGetMeta($3808,1,$114); + $3809 = HEAP32[$5>>2]|0; + $3810 = ((($3809)) + 16|0); + $3811 = HEAP32[$3810>>2]|0; + $3812 = HEAP32[$3>>2]|0; + $3813 = ((($3812)) + 4|0); + $3814 = HEAP32[$3813>>2]|0; + $3815 = (($3811) + ($3814<<4)|0); + $3816 = ((($3815)) + 12|0); + $3817 = HEAP32[$3816>>2]|0; + $3818 = ((($3817)) + 4|0); + $3819 = HEAP32[$3818>>2]|0; + HEAP32[$115>>2] = $3819; + } else { + HEAP32[$114>>2] = 0; + HEAP32[$115>>2] = 0; + } + $3820 = HEAP32[$3>>2]|0; + $3821 = ((($3820)) + 3|0); + $3822 = HEAP8[$3821>>0]|0; + $3823 = $3822&255; + $3824 = ($3823|0)!=(0); + do { + if ($3824) { + $3825 = HEAP32[$114>>2]|0; + $3826 = HEAP32[$3>>2]|0; + $3827 = ((($3826)) + 12|0); + $3828 = HEAP32[$3827>>2]|0; + $3829 = ($3825|0)!=($3828|0); + if (!($3829)) { + $3830 = HEAP32[$115>>2]|0; + $3831 = HEAP32[$3>>2]|0; + $3832 = ((($3831)) + 16|0); + $3833 = HEAP32[$3832>>2]|0; + $3834 = ($3830|0)!=($3833|0); + if (!($3834)) { + break; + } + } + $3835 = HEAP32[$5>>2]|0; + $3836 = HEAP32[$1>>2]|0; + $3837 = ((($3836)) + 108|0); + $3838 = HEAP32[$3837>>2]|0; + _sqlite3DbFree($3835,$3838); + $3839 = HEAP32[$5>>2]|0; + $3840 = (_sqlite3DbStrDup($3839,22704)|0); + $3841 = HEAP32[$1>>2]|0; + $3842 = ((($3841)) + 108|0); + HEAP32[$3842>>2] = $3840; + $3843 = HEAP32[$5>>2]|0; + $3844 = ((($3843)) + 16|0); + $3845 = HEAP32[$3844>>2]|0; + $3846 = HEAP32[$3>>2]|0; + $3847 = ((($3846)) + 4|0); + $3848 = HEAP32[$3847>>2]|0; + $3849 = (($3845) + ($3848<<4)|0); + $3850 = ((($3849)) + 12|0); + $3851 = HEAP32[$3850>>2]|0; + $3852 = HEAP32[$3851>>2]|0; + $3853 = HEAP32[$114>>2]|0; + $3854 = ($3852|0)!=($3853|0); + if ($3854) { + $3855 = HEAP32[$5>>2]|0; + $3856 = HEAP32[$3>>2]|0; + $3857 = ((($3856)) + 4|0); + $3858 = HEAP32[$3857>>2]|0; + _sqlite3ResetOneSchema($3855,$3858); + } + $3859 = HEAP32[$1>>2]|0; + $3860 = ((($3859)) + 144|0); + $3861 = HEAP16[$3860>>1]|0; + $3862 = $3861 & -2; + $3863 = $3862 | 1; + HEAP16[$3860>>1] = $3863; + HEAP32[$4>>2] = 17; + } + } while(0); + $3864 = HEAP32[$4>>2]|0; + $3865 = ($3864|0)!=(0); + if ($3865) { + break L1; + } + break; + } + case 101: { + $3866 = HEAP32[$3>>2]|0; + $3867 = ((($3866)) + 4|0); + $3868 = HEAP32[$3867>>2]|0; + HEAP32[$117>>2] = $3868; + $3869 = HEAP32[$3>>2]|0; + $3870 = ((($3869)) + 12|0); + $3871 = HEAP32[$3870>>2]|0; + HEAP32[$118>>2] = $3871; + $3872 = HEAP32[$5>>2]|0; + $3873 = ((($3872)) + 16|0); + $3874 = HEAP32[$3873>>2]|0; + $3875 = HEAP32[$117>>2]|0; + $3876 = (($3874) + ($3875<<4)|0); + $3877 = ((($3876)) + 4|0); + $3878 = HEAP32[$3877>>2]|0; + $3879 = HEAP32[$118>>2]|0; + _sqlite3BtreeGetMeta($3878,$3879,$116); + $3880 = HEAP32[$1>>2]|0; + $3881 = HEAP32[$3>>2]|0; + $3882 = (_out2Prerelease($3880,$3881)|0); + HEAP32[$15>>2] = $3882; + $3883 = HEAP32[$116>>2]|0; + $3884 = ($3883|0)<(0); + $3885 = $3884 << 31 >> 31; + $3886 = HEAP32[$15>>2]|0; + $3887 = $3886; + $3888 = $3887; + HEAP32[$3888>>2] = $3883; + $3889 = (($3887) + 4)|0; + $3890 = $3889; + HEAP32[$3890>>2] = $3885; + break; + } + case 102: { + $3891 = HEAP32[$5>>2]|0; + $3892 = ((($3891)) + 16|0); + $3893 = HEAP32[$3892>>2]|0; + $3894 = HEAP32[$3>>2]|0; + $3895 = ((($3894)) + 4|0); + $3896 = HEAP32[$3895>>2]|0; + $3897 = (($3893) + ($3896<<4)|0); + HEAP32[$119>>2] = $3897; + $3898 = HEAP32[$119>>2]|0; + $3899 = ((($3898)) + 4|0); + $3900 = HEAP32[$3899>>2]|0; + $3901 = HEAP32[$3>>2]|0; + $3902 = ((($3901)) + 8|0); + $3903 = HEAP32[$3902>>2]|0; + $3904 = HEAP32[$3>>2]|0; + $3905 = ((($3904)) + 12|0); + $3906 = HEAP32[$3905>>2]|0; + $3907 = (_sqlite3BtreeUpdateMeta($3900,$3903,$3906)|0); + HEAP32[$4>>2] = $3907; + $3908 = HEAP32[$3>>2]|0; + $3909 = ((($3908)) + 8|0); + $3910 = HEAP32[$3909>>2]|0; + $3911 = ($3910|0)==(1); + $3912 = HEAP32[$3>>2]|0; + if ($3911) { + $3913 = ((($3912)) + 12|0); + $3914 = HEAP32[$3913>>2]|0; + $3915 = HEAP32[$119>>2]|0; + $3916 = ((($3915)) + 12|0); + $3917 = HEAP32[$3916>>2]|0; + HEAP32[$3917>>2] = $3914; + $3918 = HEAP32[$5>>2]|0; + $3919 = ((($3918)) + 24|0); + $3920 = HEAP32[$3919>>2]|0; + $3921 = $3920 | 2; + HEAP32[$3919>>2] = $3921; + } else { + $3922 = ((($3912)) + 8|0); + $3923 = HEAP32[$3922>>2]|0; + $3924 = ($3923|0)==(2); + if ($3924) { + $3925 = HEAP32[$3>>2]|0; + $3926 = ((($3925)) + 12|0); + $3927 = HEAP32[$3926>>2]|0; + $3928 = $3927&255; + $3929 = HEAP32[$119>>2]|0; + $3930 = ((($3929)) + 12|0); + $3931 = HEAP32[$3930>>2]|0; + $3932 = ((($3931)) + 76|0); + HEAP8[$3932>>0] = $3928; + } + } + $3933 = HEAP32[$3>>2]|0; + $3934 = ((($3933)) + 4|0); + $3935 = HEAP32[$3934>>2]|0; + $3936 = ($3935|0)==(1); + if ($3936) { + $3937 = HEAP32[$5>>2]|0; + _sqlite3ExpirePreparedStatements($3937); + $3938 = HEAP32[$1>>2]|0; + $3939 = ((($3938)) + 144|0); + $3940 = HEAP16[$3939>>1]|0; + $3941 = $3940 & -2; + HEAP16[$3939>>1] = $3941; + } + $3942 = HEAP32[$4>>2]|0; + $3943 = ($3942|0)!=(0); + if ($3943) { + break L1; + } + break; + } + case 103: { + $3944 = HEAP32[$1>>2]|0; + $3945 = ((($3944)) + 112|0); + $3946 = HEAP32[$3945>>2]|0; + $3947 = HEAP32[$3>>2]|0; + $3948 = ((($3947)) + 4|0); + $3949 = HEAP32[$3948>>2]|0; + $3950 = (($3946) + ($3949<<2)|0); + $3951 = HEAP32[$3950>>2]|0; + HEAP32[$126>>2] = $3951; + $3952 = HEAP32[$126>>2]|0; + $3953 = ($3952|0)!=(0|0); + if ($3953) { + $3954 = HEAP32[$126>>2]|0; + $3955 = ((($3954)) + 8|0); + $3956 = HEAP32[$3955>>2]|0; + $3957 = HEAP32[$3>>2]|0; + $3958 = ((($3957)) + 8|0); + $3959 = HEAP32[$3958>>2]|0; + $3960 = ($3956|0)==($3959|0); + if ($3960) { + label = 460; + } else { + label = 446; + } + } else { + label = 446; + } + break; + } + case 105: case 104: { + label = 446; + break; + } + case 107: case 106: { + $4099 = HEAP32[$1>>2]|0; + $4100 = HEAP32[$3>>2]|0; + $4101 = ((($4100)) + 4|0); + $4102 = HEAP32[$4101>>2]|0; + $4103 = HEAP32[$3>>2]|0; + $4104 = ((($4103)) + 8|0); + $4105 = HEAP32[$4104>>2]|0; + $4106 = (_allocateCursor($4099,$4102,$4105,-1,0)|0); + HEAP32[$128>>2] = $4106; + $4107 = HEAP32[$128>>2]|0; + $4108 = ($4107|0)==(0|0); + if ($4108) { + label = 887; + break L1; + } + $4109 = HEAP32[$128>>2]|0; + $4110 = ((($4109)) + 2|0); + HEAP8[$4110>>0] = 1; + $4111 = HEAP32[$128>>2]|0; + $4112 = ((($4111)) + 5|0); + $4113 = HEAP8[$4112>>0]|0; + $4114 = $4113 & -2; + $4115 = $4114 | 1; + HEAP8[$4112>>0] = $4115; + $4116 = HEAP32[$5>>2]|0; + $4117 = HEAP32[$4116>>2]|0; + $4118 = HEAP32[$5>>2]|0; + $4119 = HEAP32[$128>>2]|0; + $4120 = ((($4119)) + 20|0); + $4121 = HEAP32[$3>>2]|0; + $4122 = ((($4121)) + 3|0); + $4123 = HEAP8[$4122>>0]|0; + $4124 = $4123&255; + $4125 = 5 | $4124; + $4126 = (_sqlite3BtreeOpen($4117,0,$4118,$4120,$4125,1054)|0); + HEAP32[$4>>2] = $4126; + $4127 = HEAP32[$4>>2]|0; + $4128 = ($4127|0)==(0); + if ($4128) { + $4129 = HEAP32[$128>>2]|0; + $4130 = ((($4129)) + 20|0); + $4131 = HEAP32[$4130>>2]|0; + $4132 = (_sqlite3BtreeBeginTrans($4131,1)|0); + HEAP32[$4>>2] = $4132; + } + $4133 = HEAP32[$4>>2]|0; + $4134 = ($4133|0)==(0); + if ($4134) { + $4135 = HEAP32[$3>>2]|0; + $4136 = ((($4135)) + 16|0); + $4137 = HEAP32[$4136>>2]|0; + HEAP32[$129>>2] = $4137; + $4138 = ($4137|0)!=(0|0); + $4139 = HEAP32[$128>>2]|0; + $4140 = ((($4139)) + 20|0); + $4141 = HEAP32[$4140>>2]|0; + if ($4138) { + $4142 = HEAP32[$3>>2]|0; + $4143 = ((($4142)) + 3|0); + $4144 = HEAP8[$4143>>0]|0; + $4145 = $4144&255; + $4146 = 2 | $4145; + $4147 = (_sqlite3BtreeCreateTable($4141,$130,$4146)|0); + HEAP32[$4>>2] = $4147; + $4148 = HEAP32[$4>>2]|0; + $4149 = ($4148|0)==(0); + if ($4149) { + $4150 = HEAP32[$129>>2]|0; + $4151 = HEAP32[$128>>2]|0; + $4152 = ((($4151)) + 24|0); + HEAP32[$4152>>2] = $4150; + $4153 = HEAP32[$128>>2]|0; + $4154 = ((($4153)) + 20|0); + $4155 = HEAP32[$4154>>2]|0; + $4156 = HEAP32[$130>>2]|0; + $4157 = HEAP32[$129>>2]|0; + $4158 = HEAP32[$128>>2]|0; + $4159 = ((($4158)) + 16|0); + $4160 = HEAP32[$4159>>2]|0; + $4161 = (_sqlite3BtreeCursor($4155,$4156,4,$4157,$4160)|0); + HEAP32[$4>>2] = $4161; + } + $4162 = HEAP32[$128>>2]|0; + $$sink13 = 0;$$sink15 = $4162; + } else { + $4163 = HEAP32[$128>>2]|0; + $4164 = ((($4163)) + 16|0); + $4165 = HEAP32[$4164>>2]|0; + $4166 = (_sqlite3BtreeCursor($4141,1,4,0,$4165)|0); + HEAP32[$4>>2] = $4166; + $4167 = HEAP32[$128>>2]|0; + $$sink13 = 1;$$sink15 = $4167; + } + $4168 = ((($$sink15)) + 4|0); + HEAP8[$4168>>0] = $$sink13; + } + $4169 = HEAP32[$4>>2]|0; + $4170 = ($4169|0)!=(0); + if ($4170) { + break L1; + } + $4171 = HEAP32[$3>>2]|0; + $4172 = ((($4171)) + 3|0); + $4173 = HEAP8[$4172>>0]|0; + $4174 = $4173&255; + $4175 = ($4174|0)!=(8); + $4176 = $4175&1; + $4177 = HEAP32[$128>>2]|0; + $4178 = ((($4177)) + 5|0); + $4179 = $4176&255; + $4180 = HEAP8[$4178>>0]|0; + $4181 = $4179 & 1; + $4182 = ($4181 << 2)&255; + $4183 = $4180 & -5; + $4184 = $4183 | $4182; + HEAP8[$4178>>0] = $4184; + break; + } + case 108: { + $4185 = HEAP32[$1>>2]|0; + $4186 = HEAP32[$3>>2]|0; + $4187 = ((($4186)) + 4|0); + $4188 = HEAP32[$4187>>2]|0; + $4189 = HEAP32[$3>>2]|0; + $4190 = ((($4189)) + 8|0); + $4191 = HEAP32[$4190>>2]|0; + $4192 = (_allocateCursor($4185,$4188,$4191,-1,1)|0); + HEAP32[$131>>2] = $4192; + $4193 = HEAP32[$131>>2]|0; + $4194 = ($4193|0)==(0|0); + if ($4194) { + label = 887; + break L1; + } + $4195 = HEAP32[$3>>2]|0; + $4196 = ((($4195)) + 16|0); + $4197 = HEAP32[$4196>>2]|0; + $4198 = HEAP32[$131>>2]|0; + $4199 = ((($4198)) + 24|0); + HEAP32[$4199>>2] = $4197; + $4200 = HEAP32[$5>>2]|0; + $4201 = HEAP32[$3>>2]|0; + $4202 = ((($4201)) + 12|0); + $4203 = HEAP32[$4202>>2]|0; + $4204 = HEAP32[$131>>2]|0; + $4205 = (_sqlite3VdbeSorterInit($4200,$4203,$4204)|0); + HEAP32[$4>>2] = $4205; + $4206 = HEAP32[$4>>2]|0; + $4207 = ($4206|0)!=(0); + if ($4207) { + break L1; + } + break; + } + case 109: { + $4208 = HEAP32[$1>>2]|0; + $4209 = ((($4208)) + 112|0); + $4210 = HEAP32[$4209>>2]|0; + $4211 = HEAP32[$3>>2]|0; + $4212 = ((($4211)) + 4|0); + $4213 = HEAP32[$4212>>2]|0; + $4214 = (($4210) + ($4213<<2)|0); + $4215 = HEAP32[$4214>>2]|0; + HEAP32[$132>>2] = $4215; + $4216 = HEAP32[$132>>2]|0; + $4217 = ((($4216)) + 32|0); + $4218 = $4217; + $4219 = $4218; + $4220 = HEAP32[$4219>>2]|0; + $4221 = (($4218) + 4)|0; + $4222 = $4221; + $4223 = HEAP32[$4222>>2]|0; + $4224 = (_i64Add(($4220|0),($4223|0),1,0)|0); + $4225 = tempRet0; + $4226 = $4217; + $4227 = $4226; + HEAP32[$4227>>2] = $4224; + $4228 = (($4226) + 4)|0; + $4229 = $4228; + HEAP32[$4229>>2] = $4225; + $4230 = ($4220|0)==(0); + $4231 = ($4223|0)==(0); + $4232 = $4230 & $4231; + if ($4232) { + label = 14; + } + break; + } + case 110: { + $4233 = HEAP32[$1>>2]|0; + $4234 = HEAP32[$3>>2]|0; + $4235 = ((($4234)) + 4|0); + $4236 = HEAP32[$4235>>2]|0; + $4237 = HEAP32[$3>>2]|0; + $4238 = ((($4237)) + 12|0); + $4239 = HEAP32[$4238>>2]|0; + $4240 = (_allocateCursor($4233,$4236,$4239,-1,3)|0); + HEAP32[$133>>2] = $4240; + $4241 = HEAP32[$133>>2]|0; + $4242 = ($4241|0)==(0|0); + if ($4242) { + label = 887; + break L1; + } + $4243 = HEAP32[$133>>2]|0; + $4244 = ((($4243)) + 2|0); + HEAP8[$4244>>0] = 1; + $4245 = HEAP32[$3>>2]|0; + $4246 = ((($4245)) + 8|0); + $4247 = HEAP32[$4246>>2]|0; + $4248 = HEAP32[$133>>2]|0; + $4249 = ((($4248)) + 16|0); + HEAP32[$4249>>2] = $4247; + $4250 = HEAP32[$133>>2]|0; + $4251 = ((($4250)) + 4|0); + HEAP8[$4251>>0] = 1; + break; + } + case 111: { + $4252 = HEAP32[$1>>2]|0; + $4253 = HEAP32[$1>>2]|0; + $4254 = ((($4253)) + 112|0); + $4255 = HEAP32[$4254>>2]|0; + $4256 = HEAP32[$3>>2]|0; + $4257 = ((($4256)) + 4|0); + $4258 = HEAP32[$4257>>2]|0; + $4259 = (($4255) + ($4258<<2)|0); + $4260 = HEAP32[$4259>>2]|0; + _sqlite3VdbeFreeCursor($4252,$4260); + $4261 = HEAP32[$1>>2]|0; + $4262 = ((($4261)) + 112|0); + $4263 = HEAP32[$4262>>2]|0; + $4264 = HEAP32[$3>>2]|0; + $4265 = ((($4264)) + 4|0); + $4266 = HEAP32[$4265>>2]|0; + $4267 = (($4263) + ($4266<<2)|0); + HEAP32[$4267>>2] = 0; + break; + } + case 26: case 25: case 24: case 23: { + $4268 = HEAP32[$1>>2]|0; + $4269 = ((($4268)) + 112|0); + $4270 = HEAP32[$4269>>2]|0; + $4271 = HEAP32[$3>>2]|0; + $4272 = ((($4271)) + 4|0); + $4273 = HEAP32[$4272>>2]|0; + $4274 = (($4270) + ($4273<<2)|0); + $4275 = HEAP32[$4274>>2]|0; + HEAP32[$136>>2] = $4275; + $4276 = HEAP32[$3>>2]|0; + $4277 = HEAP8[$4276>>0]|0; + $4278 = $4277&255; + HEAP32[$135>>2] = $4278; + HEAP32[$140>>2] = 0; + $4279 = HEAP32[$136>>2]|0; + $4280 = ((($4279)) + 2|0); + HEAP8[$4280>>0] = 0; + $4281 = HEAP32[$136>>2]|0; + $4282 = ((($4281)) + 4|0); + $4283 = HEAP8[$4282>>0]|0; + $4284 = ($4283<<24>>24)!=(0); + if ($4284) { + $4285 = HEAP32[$11>>2]|0; + $4286 = HEAP32[$3>>2]|0; + $4287 = ((($4286)) + 12|0); + $4288 = HEAP32[$4287>>2]|0; + $4289 = (($4285) + (($4288*40)|0)|0); + HEAP32[$14>>2] = $4289; + $4290 = HEAP32[$14>>2]|0; + $4291 = ((($4290)) + 8|0); + $4292 = HEAP16[$4291>>1]|0; + $4293 = $4292&65535; + $4294 = $4293 & 14; + $4295 = ($4294|0)==(2); + if ($4295) { + $4296 = HEAP32[$14>>2]|0; + _applyNumericAffinity($4296,0); + } + $4297 = HEAP32[$14>>2]|0; + $4298 = (_sqlite3VdbeIntValue($4297)|0); + $4299 = tempRet0; + $4300 = $139; + $4301 = $4300; + HEAP32[$4301>>2] = $4298; + $4302 = (($4300) + 4)|0; + $4303 = $4302; + HEAP32[$4303>>2] = $4299; + $4304 = HEAP32[$14>>2]|0; + $4305 = ((($4304)) + 8|0); + $4306 = HEAP16[$4305>>1]|0; + $4307 = $4306&65535; + $4308 = $4307 & 4; + $4309 = ($4308|0)==(0); + do { + if ($4309) { + $4310 = HEAP32[$14>>2]|0; + $4311 = ((($4310)) + 8|0); + $4312 = HEAP16[$4311>>1]|0; + $4313 = $4312&65535; + $4314 = $4313 & 8; + $4315 = ($4314|0)==(0); + if ($4315) { + label = 14; + break L10; + } + $4316 = HEAP32[$14>>2]|0; + $4317 = +HEAPF64[$4316>>3]; + $4318 = $139; + $4319 = $4318; + $4320 = HEAP32[$4319>>2]|0; + $4321 = (($4318) + 4)|0; + $4322 = $4321; + $4323 = HEAP32[$4322>>2]|0; + $4324 = (+($4320>>>0)) + (4294967296.0*(+($4323|0))); + $4325 = $4317 < $4324; + if ($4325) { + $4326 = HEAP32[$135>>2]|0; + $4327 = $4326 & 1; + $4328 = ($4327|0)==(0); + if (!($4328)) { + break; + } + $4329 = HEAP32[$135>>2]|0; + $4330 = (($4329) + -1)|0; + HEAP32[$135>>2] = $4330; + break; + } + $4331 = HEAP32[$14>>2]|0; + $4332 = +HEAPF64[$4331>>3]; + $4333 = $139; + $4334 = $4333; + $4335 = HEAP32[$4334>>2]|0; + $4336 = (($4333) + 4)|0; + $4337 = $4336; + $4338 = HEAP32[$4337>>2]|0; + $4339 = (+($4335>>>0)) + (4294967296.0*(+($4338|0))); + $4340 = $4332 > $4339; + if ($4340) { + $4341 = HEAP32[$135>>2]|0; + $4342 = $4341 & 1; + $4343 = ($4342|0)==(1); + if ($4343) { + $4344 = HEAP32[$135>>2]|0; + $4345 = (($4344) + 1)|0; + HEAP32[$135>>2] = $4345; + } + } + } + } while(0); + $4346 = HEAP32[$136>>2]|0; + $4347 = ((($4346)) + 16|0); + $4348 = HEAP32[$4347>>2]|0; + $4349 = $139; + $4350 = $4349; + $4351 = HEAP32[$4350>>2]|0; + $4352 = (($4349) + 4)|0; + $4353 = $4352; + $4354 = HEAP32[$4353>>2]|0; + $4355 = (_sqlite3BtreeMovetoUnpacked($4348,0,$4351,$4354,0,$134)|0); + HEAP32[$4>>2] = $4355; + $4356 = $139; + $4357 = $4356; + $4358 = HEAP32[$4357>>2]|0; + $4359 = (($4356) + 4)|0; + $4360 = $4359; + $4361 = HEAP32[$4360>>2]|0; + $4362 = HEAP32[$136>>2]|0; + $4363 = ((($4362)) + 40|0); + $4364 = $4363; + $4365 = $4364; + HEAP32[$4365>>2] = $4358; + $4366 = (($4364) + 4)|0; + $4367 = $4366; + HEAP32[$4367>>2] = $4361; + $4368 = HEAP32[$4>>2]|0; + $4369 = ($4368|0)!=(0); + if ($4369) { + break L1; + } else { + label = 496; + } + } else { + $4370 = HEAP32[$136>>2]|0; + $4371 = ((($4370)) + 16|0); + $4372 = HEAP32[$4371>>2]|0; + $4373 = (_sqlite3BtreeCursorHasHint($4372,2)|0); + $4374 = ($4373|0)!=(0); + if ($4374) { + HEAP32[$140>>2] = 1; + } + $4375 = HEAP32[$3>>2]|0; + $4376 = ((($4375)) + 16|0); + $4377 = HEAP32[$4376>>2]|0; + HEAP32[$138>>2] = $4377; + $4378 = HEAP32[$136>>2]|0; + $4379 = ((($4378)) + 24|0); + $4380 = HEAP32[$4379>>2]|0; + HEAP32[$137>>2] = $4380; + $4381 = HEAP32[$138>>2]|0; + $4382 = $4381&65535; + $4383 = ((($137)) + 8|0); + HEAP16[$4383>>1] = $4382; + $4384 = HEAP32[$135>>2]|0; + $4385 = (($4384) - 23)|0; + $4386 = 1 & $4385; + $4387 = ($4386|0)!=(0); + $4388 = $4387 ? -1 : 1; + $4389 = $4388&255; + $4390 = ((($137)) + 10|0); + HEAP8[$4390>>0] = $4389; + $4391 = HEAP32[$11>>2]|0; + $4392 = HEAP32[$3>>2]|0; + $4393 = ((($4392)) + 12|0); + $4394 = HEAP32[$4393>>2]|0; + $4395 = (($4391) + (($4394*40)|0)|0); + $4396 = ((($137)) + 4|0); + HEAP32[$4396>>2] = $4395; + $4397 = ((($137)) + 14|0); + HEAP8[$4397>>0] = 0; + $4398 = HEAP32[$136>>2]|0; + $4399 = ((($4398)) + 16|0); + $4400 = HEAP32[$4399>>2]|0; + $4401 = (_sqlite3BtreeMovetoUnpacked($4400,$137,0,0,0,$134)|0); + HEAP32[$4>>2] = $4401; + $4402 = HEAP32[$4>>2]|0; + $4403 = ($4402|0)!=(0); + if ($4403) { + break L1; + } + $4404 = HEAP32[$140>>2]|0; + $4405 = ($4404|0)!=(0); + if ($4405) { + $4406 = ((($137)) + 14|0); + $4407 = HEAP8[$4406>>0]|0; + $4408 = $4407&255; + $4409 = ($4408|0)==(0); + if (!($4409)) { + label = 496; + } + } else { + label = 496; + } + } + do { + if ((label|0) == 496) { + label = 0; + $4410 = HEAP32[$136>>2]|0; + $4411 = ((($4410)) + 3|0); + HEAP8[$4411>>0] = 0; + $4412 = HEAP32[$136>>2]|0; + $4413 = ((($4412)) + 56|0); + HEAP32[$4413>>2] = 0; + $4414 = HEAP32[$135>>2]|0; + $4415 = ($4414|0)>=(25); + $4416 = HEAP32[$134>>2]|0; + if ($4415) { + $4417 = ($4416|0)<(0); + if (!($4417)) { + $4418 = HEAP32[$134>>2]|0; + $4419 = ($4418|0)==(0); + $4420 = HEAP32[$135>>2]|0; + $4421 = ($4420|0)==(26); + $or$cond17 = $4419 & $4421; + if (!($or$cond17)) { + HEAP32[$134>>2] = 0; + break; + } + } + HEAP32[$134>>2] = 0; + $4422 = HEAP32[$136>>2]|0; + $4423 = ((($4422)) + 16|0); + $4424 = HEAP32[$4423>>2]|0; + $4425 = (_sqlite3BtreeNext($4424,$134)|0); + HEAP32[$4>>2] = $4425; + $4426 = HEAP32[$4>>2]|0; + $4427 = ($4426|0)!=(0); + if ($4427) { + break L1; + } else { + break; + } + } else { + $4428 = ($4416|0)>(0); + if (!($4428)) { + $4429 = HEAP32[$134>>2]|0; + $4430 = ($4429|0)==(0); + $4431 = HEAP32[$135>>2]|0; + $4432 = ($4431|0)==(23); + $or$cond19 = $4430 & $4432; + if (!($or$cond19)) { + $4439 = HEAP32[$136>>2]|0; + $4440 = ((($4439)) + 16|0); + $4441 = HEAP32[$4440>>2]|0; + $4442 = (_sqlite3BtreeEof($4441)|0); + HEAP32[$134>>2] = $4442; + break; + } + } + HEAP32[$134>>2] = 0; + $4433 = HEAP32[$136>>2]|0; + $4434 = ((($4433)) + 16|0); + $4435 = HEAP32[$4434>>2]|0; + $4436 = (_sqlite3BtreePrevious($4435,$134)|0); + HEAP32[$4>>2] = $4436; + $4437 = HEAP32[$4>>2]|0; + $4438 = ($4437|0)!=(0); + if ($4438) { + break L1; + } else { + break; + } + } + } + } while(0); + $4443 = HEAP32[$134>>2]|0; + $4444 = ($4443|0)!=(0); + if ($4444) { + label = 14; + } else { + $4445 = HEAP32[$140>>2]|0; + $4446 = ($4445|0)!=(0); + if ($4446) { + $4447 = HEAP32[$3>>2]|0; + $4448 = ((($4447)) + 20|0); + HEAP32[$3>>2] = $4448; + } + } + break; + } + case 31: case 30: case 29: { + $4449 = HEAP32[$1>>2]|0; + $4450 = ((($4449)) + 112|0); + $4451 = HEAP32[$4450>>2]|0; + $4452 = HEAP32[$3>>2]|0; + $4453 = ((($4452)) + 4|0); + $4454 = HEAP32[$4453>>2]|0; + $4455 = (($4451) + ($4454<<2)|0); + $4456 = HEAP32[$4455>>2]|0; + HEAP32[$144>>2] = $4456; + $4457 = HEAP32[$11>>2]|0; + $4458 = HEAP32[$3>>2]|0; + $4459 = ((($4458)) + 12|0); + $4460 = HEAP32[$4459>>2]|0; + $4461 = (($4457) + (($4460*40)|0)|0); + HEAP32[$14>>2] = $4461; + HEAP32[$146>>2] = 0; + $4462 = HEAP32[$3>>2]|0; + $4463 = ((($4462)) + 16|0); + $4464 = HEAP32[$4463>>2]|0; + $4465 = ($4464|0)>(0); + $4466 = HEAP32[$144>>2]|0; + $4467 = ((($4466)) + 24|0); + $4468 = HEAP32[$4467>>2]|0; + if ($4465) { + HEAP32[$148>>2] = $4468; + $4469 = HEAP32[$3>>2]|0; + $4470 = ((($4469)) + 16|0); + $4471 = HEAP32[$4470>>2]|0; + $4472 = $4471&65535; + $4473 = ((($148)) + 8|0); + HEAP16[$4473>>1] = $4472; + $4474 = HEAP32[$14>>2]|0; + $4475 = ((($148)) + 4|0); + HEAP32[$4475>>2] = $4474; + HEAP32[$147>>2] = $148; + } else { + $4476 = (_sqlite3VdbeAllocUnpackedRecord($4468,$149,183,$146)|0); + HEAP32[$147>>2] = $4476; + $4477 = HEAP32[$147>>2]|0; + $4478 = ($4477|0)==(0|0); + if ($4478) { + label = 887; + break L1; + } + $4479 = HEAP32[$14>>2]|0; + $4480 = ((($4479)) + 8|0); + $4481 = HEAP16[$4480>>1]|0; + $4482 = $4481&65535; + $4483 = $4482 & 16384; + $4484 = ($4483|0)!=(0); + if ($4484) { + $4485 = HEAP32[$14>>2]|0; + (_sqlite3VdbeMemExpandBlob($4485)|0); + } + $4486 = HEAP32[$144>>2]|0; + $4487 = ((($4486)) + 24|0); + $4488 = HEAP32[$4487>>2]|0; + $4489 = HEAP32[$14>>2]|0; + $4490 = ((($4489)) + 12|0); + $4491 = HEAP32[$4490>>2]|0; + $4492 = HEAP32[$14>>2]|0; + $4493 = ((($4492)) + 16|0); + $4494 = HEAP32[$4493>>2]|0; + $4495 = HEAP32[$147>>2]|0; + _sqlite3VdbeRecordUnpack($4488,$4491,$4494,$4495); + } + $4496 = HEAP32[$147>>2]|0; + $4497 = ((($4496)) + 10|0); + HEAP8[$4497>>0] = 0; + HEAP32[$142>>2] = 0; + $4498 = HEAP32[$3>>2]|0; + $4499 = HEAP8[$4498>>0]|0; + $4500 = $4499&255; + $4501 = ($4500|0)==(29); + L557: do { + if ($4501) { + HEAP32[$143>>2] = 0; + while(1) { + $4502 = HEAP32[$143>>2]|0; + $4503 = HEAP32[$147>>2]|0; + $4504 = ((($4503)) + 8|0); + $4505 = HEAP16[$4504>>1]|0; + $4506 = $4505&65535; + $4507 = ($4502|0)<($4506|0); + if (!($4507)) { + break L557; + } + $4508 = HEAP32[$147>>2]|0; + $4509 = ((($4508)) + 4|0); + $4510 = HEAP32[$4509>>2]|0; + $4511 = HEAP32[$143>>2]|0; + $4512 = (($4510) + (($4511*40)|0)|0); + $4513 = ((($4512)) + 8|0); + $4514 = HEAP16[$4513>>1]|0; + $4515 = $4514&65535; + $4516 = $4515 & 1; + $4517 = ($4516|0)!=(0); + if ($4517) { + break; + } + $4518 = HEAP32[$143>>2]|0; + $4519 = (($4518) + 1)|0; + HEAP32[$143>>2] = $4519; + } + HEAP32[$142>>2] = 1; + } + } while(0); + $4520 = HEAP32[$144>>2]|0; + $4521 = ((($4520)) + 16|0); + $4522 = HEAP32[$4521>>2]|0; + $4523 = HEAP32[$147>>2]|0; + $4524 = (_sqlite3BtreeMovetoUnpacked($4522,$4523,0,0,0,$145)|0); + HEAP32[$4>>2] = $4524; + $4525 = HEAP32[$5>>2]|0; + $4526 = HEAP32[$146>>2]|0; + _sqlite3DbFree($4525,$4526); + $4527 = HEAP32[$4>>2]|0; + $4528 = ($4527|0)!=(0); + if ($4528) { + break L1; + } + $4529 = HEAP32[$145>>2]|0; + $4530 = HEAP32[$144>>2]|0; + $4531 = ((($4530)) + 28|0); + HEAP32[$4531>>2] = $4529; + $4532 = HEAP32[$145>>2]|0; + $4533 = ($4532|0)==(0); + $4534 = $4533&1; + HEAP32[$141>>2] = $4534; + $4535 = HEAP32[$141>>2]|0; + $4536 = (1 - ($4535))|0; + $4537 = $4536&255; + $4538 = HEAP32[$144>>2]|0; + $4539 = ((($4538)) + 2|0); + HEAP8[$4539>>0] = $4537; + $4540 = HEAP32[$144>>2]|0; + $4541 = ((($4540)) + 3|0); + HEAP8[$4541>>0] = 0; + $4542 = HEAP32[$144>>2]|0; + $4543 = ((($4542)) + 56|0); + HEAP32[$4543>>2] = 0; + $4544 = HEAP32[$3>>2]|0; + $4545 = HEAP8[$4544>>0]|0; + $4546 = $4545&255; + $4547 = ($4546|0)==(31); + if ($4547) { + $4548 = HEAP32[$141>>2]|0; + $4549 = ($4548|0)!=(0); + if ($4549) { + label = 14; + break L10; + } else { + break L10; + } + } else { + $4550 = HEAP32[$142>>2]|0; + $4551 = ($4550|0)==(0); + $4552 = HEAP32[$141>>2]|0; + $4553 = ($4552|0)!=(0); + $or$cond21 = $4551 & $4553; + if ($or$cond21) { + break L10; + } else { + label = 14; + break L10; + } + } + break; + } + case 32: { + $4554 = HEAP32[$11>>2]|0; + $4555 = HEAP32[$3>>2]|0; + $4556 = ((($4555)) + 12|0); + $4557 = HEAP32[$4556>>2]|0; + $4558 = (($4554) + (($4557*40)|0)|0); + HEAP32[$14>>2] = $4558; + $4559 = HEAP32[$14>>2]|0; + $4560 = ((($4559)) + 8|0); + $4561 = HEAP16[$4560>>1]|0; + $4562 = $4561&65535; + $4563 = $4562 & 4; + $4564 = ($4563|0)==(0); + if ($4564) { + $4565 = HEAP32[$14>>2]|0; + $4566 = HEAP8[$7>>0]|0; + _applyAffinity($4565,67,$4566); + $4567 = HEAP32[$14>>2]|0; + $4568 = ((($4567)) + 8|0); + $4569 = HEAP16[$4568>>1]|0; + $4570 = $4569&65535; + $4571 = $4570 & 4; + $4572 = ($4571|0)==(0); + if ($4572) { + label = 14; + } else { + label = 526; + } + } else { + label = 526; + } + break; + } + case 33: { + label = 526; + break; + } + case 113: { + $4638 = HEAP32[$1>>2]|0; + $4639 = HEAP32[$3>>2]|0; + $4640 = (_out2Prerelease($4638,$4639)|0); + HEAP32[$15>>2] = $4640; + $4641 = HEAP32[$1>>2]|0; + $4642 = ((($4641)) + 112|0); + $4643 = HEAP32[$4642>>2]|0; + $4644 = HEAP32[$3>>2]|0; + $4645 = ((($4644)) + 4|0); + $4646 = HEAP32[$4645>>2]|0; + $4647 = (($4643) + ($4646<<2)|0); + $4648 = HEAP32[$4647>>2]|0; + $4649 = ((($4648)) + 32|0); + $4650 = $4649; + $4651 = $4650; + $4652 = HEAP32[$4651>>2]|0; + $4653 = (($4650) + 4)|0; + $4654 = $4653; + $4655 = HEAP32[$4654>>2]|0; + $4656 = (_i64Add(($4652|0),($4655|0),1,0)|0); + $4657 = tempRet0; + $4658 = $4649; + $4659 = $4658; + HEAP32[$4659>>2] = $4656; + $4660 = (($4658) + 4)|0; + $4661 = $4660; + HEAP32[$4661>>2] = $4657; + $4662 = HEAP32[$15>>2]|0; + $4663 = $4662; + $4664 = $4663; + HEAP32[$4664>>2] = $4652; + $4665 = (($4663) + 4)|0; + $4666 = $4665; + HEAP32[$4666>>2] = $4655; + break; + } + case 114: { + $4667 = $154; + $4668 = $4667; + HEAP32[$4668>>2] = 0; + $4669 = (($4667) + 4)|0; + $4670 = $4669; + HEAP32[$4670>>2] = 0; + HEAP32[$156>>2] = 0; + $4671 = HEAP32[$1>>2]|0; + $4672 = HEAP32[$3>>2]|0; + $4673 = (_out2Prerelease($4671,$4672)|0); + HEAP32[$15>>2] = $4673; + $4674 = HEAP32[$1>>2]|0; + $4675 = ((($4674)) + 112|0); + $4676 = HEAP32[$4675>>2]|0; + $4677 = HEAP32[$3>>2]|0; + $4678 = ((($4677)) + 4|0); + $4679 = HEAP32[$4678>>2]|0; + $4680 = (($4676) + ($4679<<2)|0); + $4681 = HEAP32[$4680>>2]|0; + HEAP32[$155>>2] = $4681; + $4682 = HEAP32[$155>>2]|0; + $4683 = ((($4682)) + 5|0); + $4684 = HEAP8[$4683>>0]|0; + $4685 = ($4684&255) >>> 1; + $4686 = $4685 & 1; + $4687 = $4686&255; + $4688 = ($4687|0)!=(0); + do { + if (!($4688)) { + $4689 = HEAP32[$155>>2]|0; + $4690 = ((($4689)) + 16|0); + $4691 = HEAP32[$4690>>2]|0; + $4692 = (_sqlite3BtreeLast($4691,$156)|0); + HEAP32[$4>>2] = $4692; + $4693 = HEAP32[$4>>2]|0; + $4694 = ($4693|0)!=(0); + if ($4694) { + break L1; + } + $4695 = HEAP32[$156>>2]|0; + $4696 = ($4695|0)!=(0); + if ($4696) { + $4697 = $154; + $4698 = $4697; + HEAP32[$4698>>2] = 1; + $4699 = (($4697) + 4)|0; + $4700 = $4699; + HEAP32[$4700>>2] = 0; + break; + } + $4701 = HEAP32[$155>>2]|0; + $4702 = ((($4701)) + 16|0); + $4703 = HEAP32[$4702>>2]|0; + $4704 = (_sqlite3BtreeIntegerKey($4703)|0); + $4705 = tempRet0; + $4706 = $154; + $4707 = $4706; + HEAP32[$4707>>2] = $4704; + $4708 = (($4706) + 4)|0; + $4709 = $4708; + HEAP32[$4709>>2] = $4705; + $4710 = $154; + $4711 = $4710; + $4712 = HEAP32[$4711>>2]|0; + $4713 = (($4710) + 4)|0; + $4714 = $4713; + $4715 = HEAP32[$4714>>2]|0; + $4716 = ($4715|0)>(2147483647); + $4717 = ($4712>>>0)>=(4294967295); + $4718 = ($4715|0)==(2147483647); + $4719 = $4718 & $4717; + $4720 = $4716 | $4719; + if ($4720) { + $4721 = HEAP32[$155>>2]|0; + $4722 = ((($4721)) + 5|0); + $4723 = HEAP8[$4722>>0]|0; + $4724 = $4723 & -3; + $4725 = $4724 | 2; + HEAP8[$4722>>0] = $4725; + break; + } else { + $4726 = $154; + $4727 = $4726; + $4728 = HEAP32[$4727>>2]|0; + $4729 = (($4726) + 4)|0; + $4730 = $4729; + $4731 = HEAP32[$4730>>2]|0; + $4732 = (_i64Add(($4728|0),($4731|0),1,0)|0); + $4733 = tempRet0; + $4734 = $154; + $4735 = $4734; + HEAP32[$4735>>2] = $4732; + $4736 = (($4734) + 4)|0; + $4737 = $4736; + HEAP32[$4737>>2] = $4733; + break; + } + } + } while(0); + $4738 = HEAP32[$3>>2]|0; + $4739 = ((($4738)) + 12|0); + $4740 = HEAP32[$4739>>2]|0; + $4741 = ($4740|0)!=(0); + if ($4741) { + $4742 = HEAP32[$1>>2]|0; + $4743 = ((($4742)) + 184|0); + $4744 = HEAP32[$4743>>2]|0; + $4745 = ($4744|0)!=(0|0); + if ($4745) { + $4746 = HEAP32[$1>>2]|0; + $4747 = ((($4746)) + 184|0); + $4748 = HEAP32[$4747>>2]|0; + HEAP32[$159>>2] = $4748; + while(1) { + $4749 = HEAP32[$159>>2]|0; + $4750 = ((($4749)) + 4|0); + $4751 = HEAP32[$4750>>2]|0; + $4752 = ($4751|0)!=(0|0); + $4753 = HEAP32[$159>>2]|0; + if (!($4752)) { + break; + } + $4754 = ((($4753)) + 4|0); + $4755 = HEAP32[$4754>>2]|0; + HEAP32[$159>>2] = $4755; + } + $4756 = ((($4753)) + 16|0); + $4757 = HEAP32[$4756>>2]|0; + $4758 = HEAP32[$3>>2]|0; + $4759 = ((($4758)) + 12|0); + $4760 = HEAP32[$4759>>2]|0; + $4761 = (($4757) + (($4760*40)|0)|0); + HEAP32[$158>>2] = $4761; + } else { + $4762 = HEAP32[$11>>2]|0; + $4763 = HEAP32[$3>>2]|0; + $4764 = ((($4763)) + 12|0); + $4765 = HEAP32[$4764>>2]|0; + $4766 = (($4762) + (($4765*40)|0)|0); + HEAP32[$158>>2] = $4766; + } + $4767 = HEAP32[$158>>2]|0; + (_sqlite3VdbeMemIntegerify($4767)|0); + $4768 = HEAP32[$158>>2]|0; + $4769 = $4768; + $4770 = $4769; + $4771 = HEAP32[$4770>>2]|0; + $4772 = (($4769) + 4)|0; + $4773 = $4772; + $4774 = HEAP32[$4773>>2]|0; + $4775 = ($4771|0)==(-1); + $4776 = ($4774|0)==(2147483647); + $4777 = $4775 & $4776; + if ($4777) { + label = 547; + break L8; + } + $4778 = HEAP32[$155>>2]|0; + $4779 = ((($4778)) + 5|0); + $4780 = HEAP8[$4779>>0]|0; + $4781 = ($4780&255) >>> 1; + $4782 = $4781 & 1; + $4783 = $4782&255; + $4784 = ($4783|0)!=(0); + if ($4784) { + label = 547; + break L8; + } + $4785 = $154; + $4786 = $4785; + $4787 = HEAP32[$4786>>2]|0; + $4788 = (($4785) + 4)|0; + $4789 = $4788; + $4790 = HEAP32[$4789>>2]|0; + $4791 = HEAP32[$158>>2]|0; + $4792 = $4791; + $4793 = $4792; + $4794 = HEAP32[$4793>>2]|0; + $4795 = (($4792) + 4)|0; + $4796 = $4795; + $4797 = HEAP32[$4796>>2]|0; + $4798 = (_i64Add(($4794|0),($4797|0),1,0)|0); + $4799 = tempRet0; + $4800 = ($4790|0)<($4799|0); + $4801 = ($4787>>>0)<($4798>>>0); + $4802 = ($4790|0)==($4799|0); + $4803 = $4802 & $4801; + $4804 = $4800 | $4803; + if ($4804) { + $4805 = HEAP32[$158>>2]|0; + $4806 = $4805; + $4807 = $4806; + $4808 = HEAP32[$4807>>2]|0; + $4809 = (($4806) + 4)|0; + $4810 = $4809; + $4811 = HEAP32[$4810>>2]|0; + $4812 = (_i64Add(($4808|0),($4811|0),1,0)|0); + $4813 = tempRet0; + $4814 = $154; + $4815 = $4814; + HEAP32[$4815>>2] = $4812; + $4816 = (($4814) + 4)|0; + $4817 = $4816; + HEAP32[$4817>>2] = $4813; + } + $4818 = $154; + $4819 = $4818; + $4820 = HEAP32[$4819>>2]|0; + $4821 = (($4818) + 4)|0; + $4822 = $4821; + $4823 = HEAP32[$4822>>2]|0; + $4824 = HEAP32[$158>>2]|0; + $4825 = $4824; + $4826 = $4825; + HEAP32[$4826>>2] = $4820; + $4827 = (($4825) + 4)|0; + $4828 = $4827; + HEAP32[$4828>>2] = $4823; + } + $4829 = HEAP32[$155>>2]|0; + $4830 = ((($4829)) + 5|0); + $4831 = HEAP8[$4830>>0]|0; + $4832 = ($4831&255) >>> 1; + $4833 = $4832 & 1; + $4834 = $4833&255; + $4835 = ($4834|0)!=(0); + if ($4835) { + HEAP32[$157>>2] = 0; + while(1) { + _sqlite3_randomness(8,$154); + $4836 = $154; + $4837 = $4836; + $4838 = HEAP32[$4837>>2]|0; + $4839 = (($4836) + 4)|0; + $4840 = $4839; + $4841 = HEAP32[$4840>>2]|0; + $4842 = $4841 & 1073741823; + $4843 = $154; + $4844 = $4843; + HEAP32[$4844>>2] = $4838; + $4845 = (($4843) + 4)|0; + $4846 = $4845; + HEAP32[$4846>>2] = $4842; + $4847 = $154; + $4848 = $4847; + $4849 = HEAP32[$4848>>2]|0; + $4850 = (($4847) + 4)|0; + $4851 = $4850; + $4852 = HEAP32[$4851>>2]|0; + $4853 = (_i64Add(($4849|0),($4852|0),1,0)|0); + $4854 = tempRet0; + $4855 = $154; + $4856 = $4855; + HEAP32[$4856>>2] = $4853; + $4857 = (($4855) + 4)|0; + $4858 = $4857; + HEAP32[$4858>>2] = $4854; + $4859 = HEAP32[$155>>2]|0; + $4860 = ((($4859)) + 16|0); + $4861 = HEAP32[$4860>>2]|0; + $4862 = $154; + $4863 = $4862; + $4864 = HEAP32[$4863>>2]|0; + $4865 = (($4862) + 4)|0; + $4866 = $4865; + $4867 = HEAP32[$4866>>2]|0; + $4868 = (_sqlite3BtreeMovetoUnpacked($4861,0,$4864,$4867,0,$156)|0); + HEAP32[$4>>2] = $4868; + $4869 = ($4868|0)==(0); + $4870 = HEAP32[$156>>2]|0; + $4871 = ($4870|0)==(0); + $or$cond23 = $4869 & $4871; + if (!($or$cond23)) { + break; + } + $4872 = HEAP32[$157>>2]|0; + $4873 = (($4872) + 1)|0; + HEAP32[$157>>2] = $4873; + $4874 = ($4873|0)<(100); + if (!($4874)) { + break; + } + } + $4875 = HEAP32[$4>>2]|0; + $4876 = ($4875|0)!=(0); + if ($4876) { + break L1; + } + $4877 = HEAP32[$156>>2]|0; + $4878 = ($4877|0)==(0); + if ($4878) { + label = 557; + break L8; + } + } + $4879 = HEAP32[$155>>2]|0; + $4880 = ((($4879)) + 3|0); + HEAP8[$4880>>0] = 0; + $4881 = HEAP32[$155>>2]|0; + $4882 = ((($4881)) + 56|0); + HEAP32[$4882>>2] = 0; + $4883 = $154; + $4884 = $4883; + $4885 = HEAP32[$4884>>2]|0; + $4886 = (($4883) + 4)|0; + $4887 = $4886; + $4888 = HEAP32[$4887>>2]|0; + $4889 = HEAP32[$15>>2]|0; + $4890 = $4889; + $4891 = $4890; + HEAP32[$4891>>2] = $4885; + $4892 = (($4890) + 4)|0; + $4893 = $4892; + HEAP32[$4893>>2] = $4888; + break; + } + case 116: case 115: { + HEAP32[$166>>2] = 0; + $4894 = HEAP32[$11>>2]|0; + $4895 = HEAP32[$3>>2]|0; + $4896 = ((($4895)) + 8|0); + $4897 = HEAP32[$4896>>2]|0; + $4898 = (($4894) + (($4897*40)|0)|0); + HEAP32[$160>>2] = $4898; + $4899 = HEAP32[$1>>2]|0; + $4900 = ((($4899)) + 112|0); + $4901 = HEAP32[$4900>>2]|0; + $4902 = HEAP32[$3>>2]|0; + $4903 = ((($4902)) + 4|0); + $4904 = HEAP32[$4903>>2]|0; + $4905 = (($4901) + ($4904<<2)|0); + $4906 = HEAP32[$4905>>2]|0; + HEAP32[$162>>2] = $4906; + $4907 = HEAP32[$3>>2]|0; + $4908 = HEAP8[$4907>>0]|0; + $4909 = $4908&255; + $4910 = ($4909|0)==(115); + if ($4910) { + $4911 = HEAP32[$11>>2]|0; + $4912 = HEAP32[$3>>2]|0; + $4913 = ((($4912)) + 12|0); + $4914 = HEAP32[$4913>>2]|0; + $4915 = (($4911) + (($4914*40)|0)|0); + HEAP32[$161>>2] = $4915; + $4916 = HEAP32[$161>>2]|0; + $4917 = $4916; + $4918 = $4917; + $4919 = HEAP32[$4918>>2]|0; + $4920 = (($4917) + 4)|0; + $4921 = $4920; + $4922 = HEAP32[$4921>>2]|0; + $4931 = $4919;$4934 = $4922; + } else { + $4923 = HEAP32[$3>>2]|0; + $4924 = ((($4923)) + 12|0); + $4925 = HEAP32[$4924>>2]|0; + $4926 = ($4925|0)<(0); + $4927 = $4926 << 31 >> 31; + $4931 = $4925;$4934 = $4927; + } + $4928 = ((($167)) + 8|0); + $4929 = $4928; + $4930 = $4929; + HEAP32[$4930>>2] = $4931; + $4932 = (($4929) + 4)|0; + $4933 = $4932; + HEAP32[$4933>>2] = $4934; + $4935 = HEAP32[$3>>2]|0; + $4936 = ((($4935)) + 1|0); + $4937 = HEAP8[$4936>>0]|0; + $4938 = $4937 << 24 >> 24; + $4939 = ($4938|0)==(-20); + if ($4939) { + $4940 = HEAP32[$5>>2]|0; + $4941 = ((($4940)) + 220|0); + $4942 = HEAP32[$4941>>2]|0; + $4943 = ($4942|0)!=(0|0); + if ($4943) { + $4944 = HEAP32[$5>>2]|0; + $4945 = ((($4944)) + 16|0); + $4946 = HEAP32[$4945>>2]|0; + $4947 = HEAP32[$162>>2]|0; + $4948 = ((($4947)) + 1|0); + $4949 = HEAP8[$4948>>0]|0; + $4950 = $4949 << 24 >> 24; + $4951 = (($4946) + ($4950<<4)|0); + $4952 = HEAP32[$4951>>2]|0; + HEAP32[$164>>2] = $4952; + $4953 = HEAP32[$3>>2]|0; + $4954 = ((($4953)) + 16|0); + $4955 = HEAP32[$4954>>2]|0; + HEAP32[$165>>2] = $4955; + $4956 = HEAP32[$3>>2]|0; + $4957 = ((($4956)) + 3|0); + $4958 = HEAP8[$4957>>0]|0; + $4959 = $4958&255; + $4960 = $4959 & 4; + $4961 = ($4960|0)!=(0); + $4962 = $4961 ? 23 : 18; + HEAP32[$166>>2] = $4962; + } else { + label = 565; + } + } else { + label = 565; + } + if ((label|0) == 565) { + label = 0; + HEAP32[$165>>2] = 0; + HEAP32[$164>>2] = 0; + } + $4963 = HEAP32[$3>>2]|0; + $4964 = ((($4963)) + 3|0); + $4965 = HEAP8[$4964>>0]|0; + $4966 = $4965&255; + $4967 = $4966 & 1; + $4968 = ($4967|0)!=(0); + if ($4968) { + $4969 = HEAP32[$1>>2]|0; + $4970 = ((($4969)) + 44|0); + $4971 = HEAP32[$4970>>2]|0; + $4972 = (($4971) + 1)|0; + HEAP32[$4970>>2] = $4972; + } + $4973 = HEAP32[$3>>2]|0; + $4974 = ((($4973)) + 3|0); + $4975 = HEAP8[$4974>>0]|0; + $4976 = $4975&255; + $4977 = $4976 & 2; + $4978 = ($4977|0)!=(0); + if ($4978) { + $4979 = ((($167)) + 8|0); + $4980 = $4979; + $4981 = $4980; + $4982 = HEAP32[$4981>>2]|0; + $4983 = (($4980) + 4)|0; + $4984 = $4983; + $4985 = HEAP32[$4984>>2]|0; + $4986 = $17; + $4987 = $4986; + HEAP32[$4987>>2] = $4982; + $4988 = (($4986) + 4)|0; + $4989 = $4988; + HEAP32[$4989>>2] = $4985; + $4990 = HEAP32[$5>>2]|0; + $4991 = ((($4990)) + 32|0); + $4992 = $4991; + $4993 = $4992; + HEAP32[$4993>>2] = $4982; + $4994 = (($4992) + 4)|0; + $4995 = $4994; + HEAP32[$4995>>2] = $4985; + } + $4996 = HEAP32[$160>>2]|0; + $4997 = ((($4996)) + 8|0); + $4998 = HEAP16[$4997>>1]|0; + $4999 = $4998&65535; + $5000 = $4999 & 1; + $5001 = ($5000|0)!=(0); + if ($5001) { + $5002 = ((($167)) + 16|0); + HEAP32[$5002>>2] = 0; + $$sink27 = 0; + } else { + $5003 = HEAP32[$160>>2]|0; + $5004 = ((($5003)) + 16|0); + $5005 = HEAP32[$5004>>2]|0; + $5006 = ((($167)) + 16|0); + HEAP32[$5006>>2] = $5005; + $5007 = HEAP32[$160>>2]|0; + $5008 = ((($5007)) + 12|0); + $5009 = HEAP32[$5008>>2]|0; + $$sink27 = $5009; + } + $5010 = ((($167)) + 20|0); + HEAP32[$5010>>2] = $$sink27; + $5011 = HEAP32[$3>>2]|0; + $5012 = ((($5011)) + 3|0); + $5013 = HEAP8[$5012>>0]|0; + $5014 = $5013&255; + $5015 = $5014 & 16; + $5016 = ($5015|0)!=(0); + if ($5016) { + $5017 = HEAP32[$162>>2]|0; + $5018 = ((($5017)) + 28|0); + $5019 = HEAP32[$5018>>2]|0; + $5020 = $5019; + } else { + $5020 = 0; + } + HEAP32[$163>>2] = $5020; + $5021 = HEAP32[$160>>2]|0; + $5022 = ((($5021)) + 8|0); + $5023 = HEAP16[$5022>>1]|0; + $5024 = $5023&65535; + $5025 = $5024 & 16384; + $5026 = ($5025|0)!=(0); + if ($5026) { + $5027 = HEAP32[$160>>2]|0; + $5028 = HEAP32[$5027>>2]|0; + $$sink29 = $5028; + } else { + $$sink29 = 0; + } + $5029 = ((($167)) + 24|0); + HEAP32[$5029>>2] = $$sink29; + HEAP32[$167>>2] = 0; + $5030 = HEAP32[$162>>2]|0; + $5031 = ((($5030)) + 16|0); + $5032 = HEAP32[$5031>>2]|0; + $5033 = HEAP32[$3>>2]|0; + $5034 = ((($5033)) + 3|0); + $5035 = HEAP8[$5034>>0]|0; + $5036 = $5035&255; + $5037 = $5036 & 8; + $5038 = ($5037|0)!=(0); + $5039 = $5038&1; + $5040 = HEAP32[$163>>2]|0; + $5041 = (_sqlite3BtreeInsert($5032,$167,$5039,$5040)|0); + HEAP32[$4>>2] = $5041; + $5042 = HEAP32[$162>>2]|0; + $5043 = ((($5042)) + 3|0); + HEAP8[$5043>>0] = 0; + $5044 = HEAP32[$162>>2]|0; + $5045 = ((($5044)) + 56|0); + HEAP32[$5045>>2] = 0; + $5046 = HEAP32[$4>>2]|0; + $5047 = ($5046|0)!=(0); + if ($5047) { + break L1; + } + $5048 = HEAP32[$5>>2]|0; + $5049 = ((($5048)) + 220|0); + $5050 = HEAP32[$5049>>2]|0; + $5051 = ($5050|0)!=(0|0); + $5052 = HEAP32[$166>>2]|0; + $5053 = ($5052|0)!=(0); + $or$cond32 = $5051 & $5053; + if ($or$cond32) { + $5054 = HEAP32[$5>>2]|0; + $5055 = ((($5054)) + 220|0); + $5056 = HEAP32[$5055>>2]|0; + $5057 = HEAP32[$5>>2]|0; + $5058 = ((($5057)) + 216|0); + $5059 = HEAP32[$5058>>2]|0; + $5060 = HEAP32[$166>>2]|0; + $5061 = HEAP32[$164>>2]|0; + $5062 = HEAP32[$165>>2]|0; + $5063 = HEAP32[$5062>>2]|0; + $5064 = ((($167)) + 8|0); + $5065 = $5064; + $5066 = $5065; + $5067 = HEAP32[$5066>>2]|0; + $5068 = (($5065) + 4)|0; + $5069 = $5068; + $5070 = HEAP32[$5069>>2]|0; + FUNCTION_TABLE_viiiiii[$5056 & 255]($5059,$5060,$5061,$5063,$5067,$5070); + } + break; + } + case 117: { + $5071 = HEAP32[$3>>2]|0; + $5072 = ((($5071)) + 8|0); + $5073 = HEAP32[$5072>>2]|0; + HEAP32[$171>>2] = $5073; + $5074 = HEAP32[$1>>2]|0; + $5075 = ((($5074)) + 112|0); + $5076 = HEAP32[$5075>>2]|0; + $5077 = HEAP32[$3>>2]|0; + $5078 = ((($5077)) + 4|0); + $5079 = HEAP32[$5078>>2]|0; + $5080 = (($5076) + ($5079<<2)|0); + $5081 = HEAP32[$5080>>2]|0; + HEAP32[$168>>2] = $5081; + $5082 = HEAP32[$3>>2]|0; + $5083 = ((($5082)) + 1|0); + $5084 = HEAP8[$5083>>0]|0; + $5085 = $5084 << 24 >> 24; + $5086 = ($5085|0)==(-20); + if ($5086) { + $5087 = HEAP32[$5>>2]|0; + $5088 = ((($5087)) + 220|0); + $5089 = HEAP32[$5088>>2]|0; + $5090 = ($5089|0)!=(0|0); + if ($5090) { + $5091 = HEAP32[$5>>2]|0; + $5092 = ((($5091)) + 16|0); + $5093 = HEAP32[$5092>>2]|0; + $5094 = HEAP32[$168>>2]|0; + $5095 = ((($5094)) + 1|0); + $5096 = HEAP8[$5095>>0]|0; + $5097 = $5096 << 24 >> 24; + $5098 = (($5093) + ($5097<<4)|0); + $5099 = HEAP32[$5098>>2]|0; + HEAP32[$169>>2] = $5099; + $5100 = HEAP32[$3>>2]|0; + $5101 = ((($5100)) + 16|0); + $5102 = HEAP32[$5101>>2]|0; + HEAP32[$170>>2] = $5102; + $5103 = HEAP32[$3>>2]|0; + $5104 = ((($5103)) + 3|0); + $5105 = HEAP8[$5104>>0]|0; + $5106 = $5105&255; + $5107 = $5106 & 2; + $5108 = ($5107|0)!=(0); + if ($5108) { + $5109 = HEAP32[$168>>2]|0; + $5110 = ((($5109)) + 4|0); + $5111 = HEAP8[$5110>>0]|0; + $5112 = $5111&255; + $5113 = ($5112|0)!=(0); + if ($5113) { + $5114 = HEAP32[$168>>2]|0; + $5115 = ((($5114)) + 16|0); + $5116 = HEAP32[$5115>>2]|0; + $5117 = (_sqlite3BtreeIntegerKey($5116)|0); + $5118 = tempRet0; + $5119 = HEAP32[$168>>2]|0; + $5120 = ((($5119)) + 40|0); + $5121 = $5120; + $5122 = $5121; + HEAP32[$5122>>2] = $5117; + $5123 = (($5121) + 4)|0; + $5124 = $5123; + HEAP32[$5124>>2] = $5118; + } + } + } else { + label = 585; + } + } else { + label = 585; + } + if ((label|0) == 585) { + label = 0; + HEAP32[$169>>2] = 0; + HEAP32[$170>>2] = 0; + } + $5125 = HEAP32[$168>>2]|0; + $5126 = ((($5125)) + 16|0); + $5127 = HEAP32[$5126>>2]|0; + $5128 = HEAP32[$3>>2]|0; + $5129 = ((($5128)) + 3|0); + $5130 = HEAP8[$5129>>0]|0; + $5131 = (_sqlite3BtreeDelete($5127,$5130)|0); + HEAP32[$4>>2] = $5131; + $5132 = HEAP32[$168>>2]|0; + $5133 = ((($5132)) + 56|0); + HEAP32[$5133>>2] = 0; + $5134 = HEAP32[$4>>2]|0; + $5135 = ($5134|0)!=(0); + if ($5135) { + break L1; + } + $5136 = HEAP32[$171>>2]|0; + $5137 = $5136 & 1; + $5138 = ($5137|0)!=(0); + if ($5138) { + $5139 = HEAP32[$1>>2]|0; + $5140 = ((($5139)) + 44|0); + $5141 = HEAP32[$5140>>2]|0; + $5142 = (($5141) + 1)|0; + HEAP32[$5140>>2] = $5142; + $5143 = HEAP32[$5>>2]|0; + $5144 = ((($5143)) + 220|0); + $5145 = HEAP32[$5144>>2]|0; + $5146 = ($5145|0)!=(0|0); + if ($5146) { + $5147 = HEAP32[$170>>2]|0; + $5148 = ((($5147)) + 42|0); + $5149 = HEAP8[$5148>>0]|0; + $5150 = $5149&255; + $5151 = $5150 & 32; + $5152 = ($5151|0)==(0); + if ($5152) { + $5153 = HEAP32[$5>>2]|0; + $5154 = ((($5153)) + 220|0); + $5155 = HEAP32[$5154>>2]|0; + $5156 = HEAP32[$5>>2]|0; + $5157 = ((($5156)) + 216|0); + $5158 = HEAP32[$5157>>2]|0; + $5159 = HEAP32[$169>>2]|0; + $5160 = HEAP32[$170>>2]|0; + $5161 = HEAP32[$5160>>2]|0; + $5162 = HEAP32[$168>>2]|0; + $5163 = ((($5162)) + 40|0); + $5164 = $5163; + $5165 = $5164; + $5166 = HEAP32[$5165>>2]|0; + $5167 = (($5164) + 4)|0; + $5168 = $5167; + $5169 = HEAP32[$5168>>2]|0; + FUNCTION_TABLE_viiiiii[$5155 & 255]($5158,9,$5159,$5161,$5166,$5169); + } + } + } + break; + } + case 118: { + $5170 = HEAP32[$5>>2]|0; + $5171 = HEAP32[$1>>2]|0; + $5172 = ((($5171)) + 44|0); + $5173 = HEAP32[$5172>>2]|0; + _sqlite3VdbeSetChanges($5170,$5173); + $5174 = HEAP32[$1>>2]|0; + $5175 = ((($5174)) + 44|0); + HEAP32[$5175>>2] = 0; + break; + } + case 119: { + $5176 = HEAP32[$1>>2]|0; + $5177 = ((($5176)) + 112|0); + $5178 = HEAP32[$5177>>2]|0; + $5179 = HEAP32[$3>>2]|0; + $5180 = ((($5179)) + 4|0); + $5181 = HEAP32[$5180>>2]|0; + $5182 = (($5178) + ($5181<<2)|0); + $5183 = HEAP32[$5182>>2]|0; + HEAP32[$172>>2] = $5183; + $5184 = HEAP32[$11>>2]|0; + $5185 = HEAP32[$3>>2]|0; + $5186 = ((($5185)) + 12|0); + $5187 = HEAP32[$5186>>2]|0; + $5188 = (($5184) + (($5187*40)|0)|0); + HEAP32[$14>>2] = $5188; + $5189 = HEAP32[$3>>2]|0; + $5190 = ((($5189)) + 16|0); + $5191 = HEAP32[$5190>>2]|0; + HEAP32[$174>>2] = $5191; + HEAP32[$173>>2] = 0; + $5192 = HEAP32[$172>>2]|0; + $5193 = HEAP32[$14>>2]|0; + $5194 = HEAP32[$174>>2]|0; + $5195 = (_sqlite3VdbeSorterCompare($5192,$5193,$5194,$173)|0); + HEAP32[$4>>2] = $5195; + $5196 = HEAP32[$4>>2]|0; + $5197 = ($5196|0)!=(0); + if ($5197) { + break L1; + } + $5198 = HEAP32[$173>>2]|0; + $5199 = ($5198|0)!=(0); + if ($5199) { + label = 14; + } + break; + } + case 120: { + $5200 = HEAP32[$11>>2]|0; + $5201 = HEAP32[$3>>2]|0; + $5202 = ((($5201)) + 8|0); + $5203 = HEAP32[$5202>>2]|0; + $5204 = (($5200) + (($5203*40)|0)|0); + HEAP32[$15>>2] = $5204; + $5205 = HEAP32[$1>>2]|0; + $5206 = ((($5205)) + 112|0); + $5207 = HEAP32[$5206>>2]|0; + $5208 = HEAP32[$3>>2]|0; + $5209 = ((($5208)) + 4|0); + $5210 = HEAP32[$5209>>2]|0; + $5211 = (($5207) + ($5210<<2)|0); + $5212 = HEAP32[$5211>>2]|0; + HEAP32[$175>>2] = $5212; + $5213 = HEAP32[$175>>2]|0; + $5214 = HEAP32[$15>>2]|0; + $5215 = (_sqlite3VdbeSorterRowkey($5213,$5214)|0); + HEAP32[$4>>2] = $5215; + $5216 = HEAP32[$4>>2]|0; + $5217 = ($5216|0)!=(0); + if ($5217) { + break L1; + } + $5218 = HEAP32[$1>>2]|0; + $5219 = ((($5218)) + 112|0); + $5220 = HEAP32[$5219>>2]|0; + $5221 = HEAP32[$3>>2]|0; + $5222 = ((($5221)) + 12|0); + $5223 = HEAP32[$5222>>2]|0; + $5224 = (($5220) + ($5223<<2)|0); + $5225 = HEAP32[$5224>>2]|0; + $5226 = ((($5225)) + 56|0); + HEAP32[$5226>>2] = 0; + break; + } + case 122: case 121: { + $5227 = HEAP32[$11>>2]|0; + $5228 = HEAP32[$3>>2]|0; + $5229 = ((($5228)) + 8|0); + $5230 = HEAP32[$5229>>2]|0; + $5231 = (($5227) + (($5230*40)|0)|0); + HEAP32[$15>>2] = $5231; + $5232 = HEAP32[$1>>2]|0; + $5233 = ((($5232)) + 112|0); + $5234 = HEAP32[$5233>>2]|0; + $5235 = HEAP32[$3>>2]|0; + $5236 = ((($5235)) + 4|0); + $5237 = HEAP32[$5236>>2]|0; + $5238 = (($5234) + ($5237<<2)|0); + $5239 = HEAP32[$5238>>2]|0; + HEAP32[$176>>2] = $5239; + $5240 = HEAP32[$176>>2]|0; + $5241 = ((($5240)) + 16|0); + $5242 = HEAP32[$5241>>2]|0; + HEAP32[$177>>2] = $5242; + $5243 = HEAP32[$177>>2]|0; + $5244 = (_sqlite3BtreePayloadSize($5243)|0); + HEAP32[$178>>2] = $5244; + $5245 = HEAP32[$178>>2]|0; + $5246 = HEAP32[$5>>2]|0; + $5247 = ((($5246)) + 96|0); + $5248 = HEAP32[$5247>>2]|0; + $5249 = ($5245>>>0)>($5248>>>0); + if ($5249) { + label = 886; + break L8; + } + $5250 = HEAP32[$15>>2]|0; + $5251 = HEAP32[$178>>2]|0; + $5252 = ($5251>>>0)>(32); + $5253 = HEAP32[$178>>2]|0; + $5254 = $5252 ? $5253 : 32; + $5255 = (_sqlite3VdbeMemClearAndResize($5250,$5254)|0); + $5256 = ($5255|0)!=(0); + if ($5256) { + label = 887; + break L1; + } + $5257 = HEAP32[$178>>2]|0; + $5258 = HEAP32[$15>>2]|0; + $5259 = ((($5258)) + 12|0); + HEAP32[$5259>>2] = $5257; + $5260 = HEAP32[$15>>2]|0; + $5261 = ((($5260)) + 8|0); + $5262 = HEAP16[$5261>>1]|0; + $5263 = $5262&65535; + $5264 = $5263 & -49664; + $5265 = $5264 | 16; + $5266 = $5265&65535; + $5267 = HEAP32[$15>>2]|0; + $5268 = ((($5267)) + 8|0); + HEAP16[$5268>>1] = $5266; + $5269 = HEAP32[$176>>2]|0; + $5270 = ((($5269)) + 4|0); + $5271 = HEAP8[$5270>>0]|0; + $5272 = $5271&255; + $5273 = ($5272|0)==(0); + $5274 = HEAP32[$177>>2]|0; + $5275 = HEAP32[$178>>2]|0; + $5276 = HEAP32[$15>>2]|0; + $5277 = ((($5276)) + 16|0); + $5278 = HEAP32[$5277>>2]|0; + if ($5273) { + $5279 = (_sqlite3BtreeKey($5274,0,$5275,$5278)|0); + HEAP32[$4>>2] = $5279; + } else { + $5280 = (_sqlite3BtreeData($5274,0,$5275,$5278)|0); + HEAP32[$4>>2] = $5280; + } + $5281 = HEAP32[$4>>2]|0; + $5282 = ($5281|0)!=(0); + if ($5282) { + break L1; + } + $5283 = HEAP32[$15>>2]|0; + $5284 = ((($5283)) + 10|0); + HEAP8[$5284>>0] = 1; + break; + } + case 123: { + $5285 = HEAP32[$1>>2]|0; + $5286 = HEAP32[$3>>2]|0; + $5287 = (_out2Prerelease($5285,$5286)|0); + HEAP32[$15>>2] = $5287; + $5288 = HEAP32[$1>>2]|0; + $5289 = ((($5288)) + 112|0); + $5290 = HEAP32[$5289>>2]|0; + $5291 = HEAP32[$3>>2]|0; + $5292 = ((($5291)) + 4|0); + $5293 = HEAP32[$5292>>2]|0; + $5294 = (($5290) + ($5293<<2)|0); + $5295 = HEAP32[$5294>>2]|0; + HEAP32[$179>>2] = $5295; + $5296 = HEAP32[$179>>2]|0; + $5297 = ((($5296)) + 2|0); + $5298 = HEAP8[$5297>>0]|0; + $5299 = ($5298<<24>>24)!=(0); + if ($5299) { + $5300 = HEAP32[$15>>2]|0; + $5301 = ((($5300)) + 8|0); + HEAP16[$5301>>1] = 1; + break L10; + } + $5302 = HEAP32[$179>>2]|0; + $5303 = ((($5302)) + 3|0); + $5304 = HEAP8[$5303>>0]|0; + $5305 = ($5304<<24>>24)!=(0); + $5306 = HEAP32[$179>>2]|0; + do { + if ($5305) { + $5307 = ((($5306)) + 40|0); + $5308 = $5307; + $5309 = $5308; + $5310 = HEAP32[$5309>>2]|0; + $5311 = (($5308) + 4)|0; + $5312 = $5311; + $5313 = HEAP32[$5312>>2]|0; + $5314 = $180; + $5315 = $5314; + HEAP32[$5315>>2] = $5310; + $5316 = (($5314) + 4)|0; + $5317 = $5316; + HEAP32[$5317>>2] = $5313; + } else { + $5318 = HEAP8[$5306>>0]|0; + $5319 = $5318&255; + $5320 = ($5319|0)==(2); + $5321 = HEAP32[$179>>2]|0; + if ($5320) { + $5322 = ((($5321)) + 16|0); + $5323 = HEAP32[$5322>>2]|0; + $5324 = HEAP32[$5323>>2]|0; + HEAP32[$181>>2] = $5324; + $5325 = HEAP32[$181>>2]|0; + $5326 = HEAP32[$5325>>2]|0; + HEAP32[$182>>2] = $5326; + $5327 = HEAP32[$182>>2]|0; + $5328 = ((($5327)) + 48|0); + $5329 = HEAP32[$5328>>2]|0; + $5330 = HEAP32[$179>>2]|0; + $5331 = ((($5330)) + 16|0); + $5332 = HEAP32[$5331>>2]|0; + $5333 = (FUNCTION_TABLE_iii[$5329 & 255]($5332,$180)|0); + HEAP32[$4>>2] = $5333; + $5334 = HEAP32[$1>>2]|0; + $5335 = HEAP32[$181>>2]|0; + _sqlite3VtabImportErrmsg($5334,$5335); + $5336 = HEAP32[$4>>2]|0; + $5337 = ($5336|0)!=(0); + if ($5337) { + break L1; + } else { + break; + } + } + $5338 = (_sqlite3VdbeCursorRestore($5321)|0); + HEAP32[$4>>2] = $5338; + $5339 = HEAP32[$4>>2]|0; + $5340 = ($5339|0)!=(0); + if ($5340) { + break L1; + } + $5341 = HEAP32[$179>>2]|0; + $5342 = ((($5341)) + 2|0); + $5343 = HEAP8[$5342>>0]|0; + $5344 = ($5343<<24>>24)!=(0); + if ($5344) { + $5345 = HEAP32[$15>>2]|0; + $5346 = ((($5345)) + 8|0); + HEAP16[$5346>>1] = 1; + break L10; + } else { + $5347 = HEAP32[$179>>2]|0; + $5348 = ((($5347)) + 16|0); + $5349 = HEAP32[$5348>>2]|0; + $5350 = (_sqlite3BtreeIntegerKey($5349)|0); + $5351 = tempRet0; + $5352 = $180; + $5353 = $5352; + HEAP32[$5353>>2] = $5350; + $5354 = (($5352) + 4)|0; + $5355 = $5354; + HEAP32[$5355>>2] = $5351; + break; + } + } + } while(0); + $5356 = $180; + $5357 = $5356; + $5358 = HEAP32[$5357>>2]|0; + $5359 = (($5356) + 4)|0; + $5360 = $5359; + $5361 = HEAP32[$5360>>2]|0; + $5362 = HEAP32[$15>>2]|0; + $5363 = $5362; + $5364 = $5363; + HEAP32[$5364>>2] = $5358; + $5365 = (($5363) + 4)|0; + $5366 = $5365; + HEAP32[$5366>>2] = $5361; + break; + } + case 124: { + $5367 = HEAP32[$1>>2]|0; + $5368 = ((($5367)) + 112|0); + $5369 = HEAP32[$5368>>2]|0; + $5370 = HEAP32[$3>>2]|0; + $5371 = ((($5370)) + 4|0); + $5372 = HEAP32[$5371>>2]|0; + $5373 = (($5369) + ($5372<<2)|0); + $5374 = HEAP32[$5373>>2]|0; + HEAP32[$183>>2] = $5374; + $5375 = HEAP32[$183>>2]|0; + $5376 = ((($5375)) + 2|0); + HEAP8[$5376>>0] = 1; + $5377 = HEAP32[$183>>2]|0; + $5378 = ((($5377)) + 56|0); + HEAP32[$5378>>2] = 0; + $5379 = HEAP32[$183>>2]|0; + $5380 = HEAP8[$5379>>0]|0; + $5381 = $5380&255; + $5382 = ($5381|0)==(0); + if ($5382) { + $5383 = HEAP32[$183>>2]|0; + $5384 = ((($5383)) + 16|0); + $5385 = HEAP32[$5384>>2]|0; + _sqlite3BtreeClearCursor($5385); + } + break; + } + case 53: { + $5386 = HEAP32[$1>>2]|0; + $5387 = ((($5386)) + 112|0); + $5388 = HEAP32[$5387>>2]|0; + $5389 = HEAP32[$3>>2]|0; + $5390 = ((($5389)) + 4|0); + $5391 = HEAP32[$5390>>2]|0; + $5392 = (($5388) + ($5391<<2)|0); + $5393 = HEAP32[$5392>>2]|0; + HEAP32[$184>>2] = $5393; + $5394 = HEAP32[$184>>2]|0; + $5395 = ((($5394)) + 16|0); + $5396 = HEAP32[$5395>>2]|0; + HEAP32[$185>>2] = $5396; + HEAP32[$186>>2] = 0; + $5397 = HEAP32[$185>>2]|0; + $5398 = (_sqlite3BtreeLast($5397,$186)|0); + HEAP32[$4>>2] = $5398; + $5399 = HEAP32[$186>>2]|0; + $5400 = $5399&255; + $5401 = HEAP32[$184>>2]|0; + $5402 = ((($5401)) + 2|0); + HEAP8[$5402>>0] = $5400; + $5403 = HEAP32[$184>>2]|0; + $5404 = ((($5403)) + 3|0); + HEAP8[$5404>>0] = 0; + $5405 = HEAP32[$184>>2]|0; + $5406 = ((($5405)) + 56|0); + HEAP32[$5406>>2] = 0; + $5407 = HEAP32[$3>>2]|0; + $5408 = ((($5407)) + 12|0); + $5409 = HEAP32[$5408>>2]|0; + $5410 = HEAP32[$184>>2]|0; + $5411 = ((($5410)) + 28|0); + HEAP32[$5411>>2] = $5409; + $5412 = HEAP32[$4>>2]|0; + $5413 = ($5412|0)!=(0); + if ($5413) { + break L1; + } + $5414 = HEAP32[$3>>2]|0; + $5415 = ((($5414)) + 8|0); + $5416 = HEAP32[$5415>>2]|0; + $5417 = ($5416|0)>(0); + $5418 = HEAP32[$186>>2]|0; + $5419 = ($5418|0)!=(0); + $or$cond54 = $5417 & $5419; + if ($or$cond54) { + label = 14; + } + break; + } + case 56: case 55: { + $5420 = HEAP32[$1>>2]|0; + $5421 = ((($5420)) + 156|0); + $5422 = ((($5421)) + 8|0); + $5423 = HEAP32[$5422>>2]|0; + $5424 = (($5423) + 1)|0; + HEAP32[$5422>>2] = $5424; + label = 619; + break; + } + case 57: { + label = 619; + break; + } + case 3: { + $5455 = HEAP32[$1>>2]|0; + $5456 = ((($5455)) + 112|0); + $5457 = HEAP32[$5456>>2]|0; + $5458 = HEAP32[$3>>2]|0; + $5459 = ((($5458)) + 4|0); + $5460 = HEAP32[$5459>>2]|0; + $5461 = (($5457) + ($5460<<2)|0); + $5462 = HEAP32[$5461>>2]|0; + HEAP32[$190>>2] = $5462; + HEAP32[$191>>2] = 0; + $5463 = HEAP32[$5>>2]|0; + $5464 = HEAP32[$190>>2]|0; + $5465 = (_sqlite3VdbeSorterNext($5463,$5464,$191)|0); + HEAP32[$4>>2] = $5465; + label = 627; + break; + } + case 5: case 4: { + $5466 = HEAP32[$1>>2]|0; + $5467 = ((($5466)) + 112|0); + $5468 = HEAP32[$5467>>2]|0; + $5469 = HEAP32[$3>>2]|0; + $5470 = ((($5469)) + 4|0); + $5471 = HEAP32[$5470>>2]|0; + $5472 = (($5468) + ($5471<<2)|0); + $5473 = HEAP32[$5472>>2]|0; + $5474 = ($5473|0)==(0|0); + if (!($5474)) { + label = 626; + } + break; + } + case 7: case 6: { + label = 626; + break; + } + case 126: case 125: { + $5510 = HEAP32[$1>>2]|0; + $5511 = ((($5510)) + 112|0); + $5512 = HEAP32[$5511>>2]|0; + $5513 = HEAP32[$3>>2]|0; + $5514 = ((($5513)) + 4|0); + $5515 = HEAP32[$5514>>2]|0; + $5516 = (($5512) + ($5515<<2)|0); + $5517 = HEAP32[$5516>>2]|0; + HEAP32[$192>>2] = $5517; + $5518 = HEAP32[$11>>2]|0; + $5519 = HEAP32[$3>>2]|0; + $5520 = ((($5519)) + 8|0); + $5521 = HEAP32[$5520>>2]|0; + $5522 = (($5518) + (($5521*40)|0)|0); + HEAP32[$13>>2] = $5522; + $5523 = HEAP32[$3>>2]|0; + $5524 = ((($5523)) + 3|0); + $5525 = HEAP8[$5524>>0]|0; + $5526 = $5525&255; + $5527 = $5526 & 1; + $5528 = ($5527|0)!=(0); + if ($5528) { + $5529 = HEAP32[$1>>2]|0; + $5530 = ((($5529)) + 44|0); + $5531 = HEAP32[$5530>>2]|0; + $5532 = (($5531) + 1)|0; + HEAP32[$5530>>2] = $5532; + } + $5533 = HEAP32[$13>>2]|0; + $5534 = ((($5533)) + 8|0); + $5535 = HEAP16[$5534>>1]|0; + $5536 = $5535&65535; + $5537 = $5536 & 16384; + $5538 = ($5537|0)!=(0); + if ($5538) { + $5539 = HEAP32[$13>>2]|0; + $5540 = (_sqlite3VdbeMemExpandBlob($5539)|0); + $5541 = $5540; + } else { + $5541 = 0; + } + HEAP32[$4>>2] = $5541; + $5542 = HEAP32[$4>>2]|0; + $5543 = ($5542|0)!=(0); + if ($5543) { + break L1; + } + $5544 = HEAP32[$3>>2]|0; + $5545 = HEAP8[$5544>>0]|0; + $5546 = $5545&255; + $5547 = ($5546|0)==(125); + if ($5547) { + $5548 = HEAP32[$192>>2]|0; + $5549 = HEAP32[$13>>2]|0; + $5550 = (_sqlite3VdbeSorterWrite($5548,$5549)|0); + HEAP32[$4>>2] = $5550; + } else { + $5551 = HEAP32[$13>>2]|0; + $5552 = ((($5551)) + 12|0); + $5553 = HEAP32[$5552>>2]|0; + $5554 = ($5553|0)<(0); + $5555 = $5554 << 31 >> 31; + $5556 = ((($193)) + 8|0); + $5557 = $5556; + $5558 = $5557; + HEAP32[$5558>>2] = $5553; + $5559 = (($5557) + 4)|0; + $5560 = $5559; + HEAP32[$5560>>2] = $5555; + $5561 = HEAP32[$13>>2]|0; + $5562 = ((($5561)) + 16|0); + $5563 = HEAP32[$5562>>2]|0; + HEAP32[$193>>2] = $5563; + $5564 = HEAP32[$192>>2]|0; + $5565 = ((($5564)) + 16|0); + $5566 = HEAP32[$5565>>2]|0; + $5567 = HEAP32[$3>>2]|0; + $5568 = ((($5567)) + 12|0); + $5569 = HEAP32[$5568>>2]|0; + $5570 = HEAP32[$3>>2]|0; + $5571 = ((($5570)) + 3|0); + $5572 = HEAP8[$5571>>0]|0; + $5573 = $5572&255; + $5574 = $5573 & 16; + $5575 = ($5574|0)!=(0); + if ($5575) { + $5576 = HEAP32[$192>>2]|0; + $5577 = ((($5576)) + 28|0); + $5578 = HEAP32[$5577>>2]|0; + $5579 = $5578; + } else { + $5579 = 0; + } + $5580 = (_sqlite3BtreeInsert($5566,$193,$5569,$5579)|0); + HEAP32[$4>>2] = $5580; + $5581 = HEAP32[$192>>2]|0; + $5582 = ((($5581)) + 56|0); + HEAP32[$5582>>2] = 0; + } + $5583 = HEAP32[$4>>2]|0; + $5584 = ($5583|0)!=(0); + if ($5584) { + break L1; + } + break; + } + case 127: { + $5585 = HEAP32[$1>>2]|0; + $5586 = ((($5585)) + 112|0); + $5587 = HEAP32[$5586>>2]|0; + $5588 = HEAP32[$3>>2]|0; + $5589 = ((($5588)) + 4|0); + $5590 = HEAP32[$5589>>2]|0; + $5591 = (($5587) + ($5590<<2)|0); + $5592 = HEAP32[$5591>>2]|0; + HEAP32[$194>>2] = $5592; + $5593 = HEAP32[$194>>2]|0; + $5594 = ((($5593)) + 16|0); + $5595 = HEAP32[$5594>>2]|0; + HEAP32[$195>>2] = $5595; + $5596 = HEAP32[$194>>2]|0; + $5597 = ((($5596)) + 24|0); + $5598 = HEAP32[$5597>>2]|0; + HEAP32[$197>>2] = $5598; + $5599 = HEAP32[$3>>2]|0; + $5600 = ((($5599)) + 12|0); + $5601 = HEAP32[$5600>>2]|0; + $5602 = $5601&65535; + $5603 = ((($197)) + 8|0); + HEAP16[$5603>>1] = $5602; + $5604 = ((($197)) + 10|0); + HEAP8[$5604>>0] = 0; + $5605 = HEAP32[$11>>2]|0; + $5606 = HEAP32[$3>>2]|0; + $5607 = ((($5606)) + 8|0); + $5608 = HEAP32[$5607>>2]|0; + $5609 = (($5605) + (($5608*40)|0)|0); + $5610 = ((($197)) + 4|0); + HEAP32[$5610>>2] = $5609; + $5611 = HEAP32[$195>>2]|0; + $5612 = (_sqlite3BtreeMovetoUnpacked($5611,$197,0,0,0,$196)|0); + HEAP32[$4>>2] = $5612; + $5613 = HEAP32[$4>>2]|0; + $5614 = ($5613|0)!=(0); + if ($5614) { + break L1; + } + $5615 = HEAP32[$196>>2]|0; + $5616 = ($5615|0)==(0); + if ($5616) { + $5617 = HEAP32[$195>>2]|0; + $5618 = (_sqlite3BtreeDelete($5617,4)|0); + HEAP32[$4>>2] = $5618; + $5619 = HEAP32[$4>>2]|0; + $5620 = ($5619|0)!=(0); + if ($5620) { + break L1; + } + } + $5621 = HEAP32[$194>>2]|0; + $5622 = ((($5621)) + 56|0); + HEAP32[$5622>>2] = 0; + break; + } + case 129: case 128: { + $5623 = HEAP32[$1>>2]|0; + $5624 = ((($5623)) + 112|0); + $5625 = HEAP32[$5624>>2]|0; + $5626 = HEAP32[$3>>2]|0; + $5627 = ((($5626)) + 4|0); + $5628 = HEAP32[$5627>>2]|0; + $5629 = (($5625) + ($5628<<2)|0); + $5630 = HEAP32[$5629>>2]|0; + HEAP32[$198>>2] = $5630; + $5631 = HEAP32[$198>>2]|0; + $5632 = (_sqlite3VdbeCursorRestore($5631)|0); + HEAP32[$4>>2] = $5632; + $5633 = HEAP32[$4>>2]|0; + $5634 = ($5633|0)!=(0); + if ($5634) { + break L1; + } + $5635 = HEAP32[$198>>2]|0; + $5636 = ((($5635)) + 2|0); + $5637 = HEAP8[$5636>>0]|0; + $5638 = ($5637<<24>>24)!=(0); + if ($5638) { + $5701 = HEAP32[$11>>2]|0; + $5702 = HEAP32[$3>>2]|0; + $5703 = ((($5702)) + 8|0); + $5704 = HEAP32[$5703>>2]|0; + $5705 = (($5701) + (($5704*40)|0)|0); + _sqlite3VdbeMemSetNull($5705); + break L10; + } + $5639 = $200; + $5640 = $5639; + HEAP32[$5640>>2] = 0; + $5641 = (($5639) + 4)|0; + $5642 = $5641; + HEAP32[$5642>>2] = 0; + $5643 = HEAP32[$5>>2]|0; + $5644 = HEAP32[$198>>2]|0; + $5645 = ((($5644)) + 16|0); + $5646 = HEAP32[$5645>>2]|0; + $5647 = (_sqlite3VdbeIdxRowid($5643,$5646,$200)|0); + HEAP32[$4>>2] = $5647; + $5648 = HEAP32[$4>>2]|0; + $5649 = ($5648|0)!=(0); + if ($5649) { + break L1; + } + $5650 = HEAP32[$3>>2]|0; + $5651 = HEAP8[$5650>>0]|0; + $5652 = $5651&255; + $5653 = ($5652|0)==(128); + $5654 = HEAP32[$1>>2]|0; + if ($5653) { + $5655 = ((($5654)) + 112|0); + $5656 = HEAP32[$5655>>2]|0; + $5657 = HEAP32[$3>>2]|0; + $5658 = ((($5657)) + 12|0); + $5659 = HEAP32[$5658>>2]|0; + $5660 = (($5656) + ($5659<<2)|0); + $5661 = HEAP32[$5660>>2]|0; + HEAP32[$199>>2] = $5661; + $5662 = HEAP32[$199>>2]|0; + $5663 = ((($5662)) + 2|0); + HEAP8[$5663>>0] = 0; + $5664 = $200; + $5665 = $5664; + $5666 = HEAP32[$5665>>2]|0; + $5667 = (($5664) + 4)|0; + $5668 = $5667; + $5669 = HEAP32[$5668>>2]|0; + $5670 = HEAP32[$199>>2]|0; + $5671 = ((($5670)) + 40|0); + $5672 = $5671; + $5673 = $5672; + HEAP32[$5673>>2] = $5666; + $5674 = (($5672) + 4)|0; + $5675 = $5674; + HEAP32[$5675>>2] = $5669; + $5676 = HEAP32[$199>>2]|0; + $5677 = ((($5676)) + 3|0); + HEAP8[$5677>>0] = 1; + $5678 = HEAP32[$3>>2]|0; + $5679 = ((($5678)) + 16|0); + $5680 = HEAP32[$5679>>2]|0; + $5681 = HEAP32[$199>>2]|0; + $5682 = ((($5681)) + 52|0); + HEAP32[$5682>>2] = $5680; + $5683 = HEAP32[$198>>2]|0; + $5684 = HEAP32[$199>>2]|0; + $5685 = ((($5684)) + 48|0); + HEAP32[$5685>>2] = $5683; + break L10; + } else { + $5686 = HEAP32[$3>>2]|0; + $5687 = (_out2Prerelease($5654,$5686)|0); + HEAP32[$15>>2] = $5687; + $5688 = $200; + $5689 = $5688; + $5690 = HEAP32[$5689>>2]|0; + $5691 = (($5688) + 4)|0; + $5692 = $5691; + $5693 = HEAP32[$5692>>2]|0; + $5694 = HEAP32[$15>>2]|0; + $5695 = $5694; + $5696 = $5695; + HEAP32[$5696>>2] = $5690; + $5697 = (($5695) + 4)|0; + $5698 = $5697; + HEAP32[$5698>>2] = $5693; + $5699 = HEAP32[$15>>2]|0; + $5700 = ((($5699)) + 8|0); + HEAP16[$5700>>1] = 4; + break L10; + } + break; + } + case 61: case 60: case 59: case 58: { + $5706 = HEAP32[$1>>2]|0; + $5707 = ((($5706)) + 112|0); + $5708 = HEAP32[$5707>>2]|0; + $5709 = HEAP32[$3>>2]|0; + $5710 = ((($5709)) + 4|0); + $5711 = HEAP32[$5710>>2]|0; + $5712 = (($5708) + ($5711<<2)|0); + $5713 = HEAP32[$5712>>2]|0; + HEAP32[$201>>2] = $5713; + $5714 = HEAP32[$201>>2]|0; + $5715 = ((($5714)) + 24|0); + $5716 = HEAP32[$5715>>2]|0; + HEAP32[$203>>2] = $5716; + $5717 = HEAP32[$3>>2]|0; + $5718 = ((($5717)) + 16|0); + $5719 = HEAP32[$5718>>2]|0; + $5720 = $5719&65535; + $5721 = ((($203)) + 8|0); + HEAP16[$5721>>1] = $5720; + $5722 = HEAP32[$3>>2]|0; + $5723 = HEAP8[$5722>>0]|0; + $5724 = $5723&255; + $5725 = ($5724|0)<(60); + $5726 = ((($203)) + 10|0); + $$sink33 = $5725 ? -1 : 0; + HEAP8[$5726>>0] = $$sink33; + $5727 = HEAP32[$11>>2]|0; + $5728 = HEAP32[$3>>2]|0; + $5729 = ((($5728)) + 12|0); + $5730 = HEAP32[$5729>>2]|0; + $5731 = (($5727) + (($5730*40)|0)|0); + $5732 = ((($203)) + 4|0); + HEAP32[$5732>>2] = $5731; + HEAP32[$202>>2] = 0; + $5733 = HEAP32[$5>>2]|0; + $5734 = HEAP32[$201>>2]|0; + $5735 = (_sqlite3VdbeIdxKeyCompare($5733,$5734,$203,$202)|0); + HEAP32[$4>>2] = $5735; + $5736 = HEAP32[$3>>2]|0; + $5737 = HEAP8[$5736>>0]|0; + $5738 = $5737&255; + $5739 = $5738 & 1; + $5740 = ($5739|0)==(0); + $5741 = HEAP32[$202>>2]|0; + if ($5740) { + $5742 = (0 - ($5741))|0; + HEAP32[$202>>2] = $5742; + } else { + $5743 = (($5741) + 1)|0; + HEAP32[$202>>2] = $5743; + } + $5744 = HEAP32[$4>>2]|0; + $5745 = ($5744|0)!=(0); + if ($5745) { + break L1; + } + $5746 = HEAP32[$202>>2]|0; + $5747 = ($5746|0)>(0); + if ($5747) { + label = 14; + } + break; + } + case 130: { + $5748 = HEAP32[$1>>2]|0; + $5749 = HEAP32[$3>>2]|0; + $5750 = (_out2Prerelease($5748,$5749)|0); + HEAP32[$15>>2] = $5750; + $5751 = HEAP32[$15>>2]|0; + $5752 = ((($5751)) + 8|0); + HEAP16[$5752>>1] = 1; + $5753 = HEAP32[$5>>2]|0; + $5754 = ((($5753)) + 160|0); + $5755 = HEAP32[$5754>>2]|0; + $5756 = HEAP32[$5>>2]|0; + $5757 = ((($5756)) + 172|0); + $5758 = HEAP32[$5757>>2]|0; + $5759 = (($5758) + 1)|0; + $5760 = ($5755|0)>($5759|0); + if ($5760) { + label = 659; + break L8; + } + $5763 = HEAP32[$3>>2]|0; + $5764 = ((($5763)) + 12|0); + $5765 = HEAP32[$5764>>2]|0; + HEAP32[$205>>2] = $5765; + HEAP32[$204>>2] = 0; + $5766 = HEAP32[$5>>2]|0; + $5767 = ((($5766)) + 16|0); + $5768 = HEAP32[$5767>>2]|0; + $5769 = HEAP32[$205>>2]|0; + $5770 = (($5768) + ($5769<<4)|0); + $5771 = ((($5770)) + 4|0); + $5772 = HEAP32[$5771>>2]|0; + $5773 = HEAP32[$3>>2]|0; + $5774 = ((($5773)) + 4|0); + $5775 = HEAP32[$5774>>2]|0; + $5776 = (_sqlite3BtreeDropTable($5772,$5775,$204)|0); + HEAP32[$4>>2] = $5776; + $5777 = HEAP32[$15>>2]|0; + $5778 = ((($5777)) + 8|0); + HEAP16[$5778>>1] = 4; + $5779 = HEAP32[$204>>2]|0; + $5780 = ($5779|0)<(0); + $5781 = $5780 << 31 >> 31; + $5782 = HEAP32[$15>>2]|0; + $5783 = $5782; + $5784 = $5783; + HEAP32[$5784>>2] = $5779; + $5785 = (($5783) + 4)|0; + $5786 = $5785; + HEAP32[$5786>>2] = $5781; + $5787 = HEAP32[$4>>2]|0; + $5788 = ($5787|0)!=(0); + if ($5788) { + break L1; + } + $5789 = HEAP32[$204>>2]|0; + $5790 = ($5789|0)!=(0); + if ($5790) { + $5791 = HEAP32[$5>>2]|0; + $5792 = HEAP32[$205>>2]|0; + $5793 = HEAP32[$204>>2]|0; + $5794 = HEAP32[$3>>2]|0; + $5795 = ((($5794)) + 4|0); + $5796 = HEAP32[$5795>>2]|0; + _sqlite3RootPageMoved($5791,$5792,$5793,$5796); + $5797 = HEAP32[$205>>2]|0; + $5798 = (($5797) + 1)|0; + $5799 = $5798&255; + HEAP8[$6>>0] = $5799; + } + break; + } + case 131: { + HEAP32[$206>>2] = 0; + $5800 = HEAP32[$5>>2]|0; + $5801 = ((($5800)) + 16|0); + $5802 = HEAP32[$5801>>2]|0; + $5803 = HEAP32[$3>>2]|0; + $5804 = ((($5803)) + 8|0); + $5805 = HEAP32[$5804>>2]|0; + $5806 = (($5802) + ($5805<<4)|0); + $5807 = ((($5806)) + 4|0); + $5808 = HEAP32[$5807>>2]|0; + $5809 = HEAP32[$3>>2]|0; + $5810 = ((($5809)) + 4|0); + $5811 = HEAP32[$5810>>2]|0; + $5812 = HEAP32[$3>>2]|0; + $5813 = ((($5812)) + 12|0); + $5814 = HEAP32[$5813>>2]|0; + $5815 = ($5814|0)!=(0); + $$ = $5815 ? $206 : 0; + $5816 = (_sqlite3BtreeClearTable($5808,$5811,$$)|0); + HEAP32[$4>>2] = $5816; + $5817 = HEAP32[$3>>2]|0; + $5818 = ((($5817)) + 12|0); + $5819 = HEAP32[$5818>>2]|0; + $5820 = ($5819|0)!=(0); + if ($5820) { + $5821 = HEAP32[$206>>2]|0; + $5822 = HEAP32[$1>>2]|0; + $5823 = ((($5822)) + 44|0); + $5824 = HEAP32[$5823>>2]|0; + $5825 = (($5824) + ($5821))|0; + HEAP32[$5823>>2] = $5825; + $5826 = HEAP32[$3>>2]|0; + $5827 = ((($5826)) + 12|0); + $5828 = HEAP32[$5827>>2]|0; + $5829 = ($5828|0)>(0); + if ($5829) { + $5830 = HEAP32[$206>>2]|0; + $5831 = ($5830|0)<(0); + $5832 = $5831 << 31 >> 31; + $5833 = HEAP32[$11>>2]|0; + $5834 = HEAP32[$3>>2]|0; + $5835 = ((($5834)) + 12|0); + $5836 = HEAP32[$5835>>2]|0; + $5837 = (($5833) + (($5836*40)|0)|0); + $5838 = $5837; + $5839 = $5838; + $5840 = HEAP32[$5839>>2]|0; + $5841 = (($5838) + 4)|0; + $5842 = $5841; + $5843 = HEAP32[$5842>>2]|0; + $5844 = (_i64Add(($5840|0),($5843|0),($5830|0),($5832|0))|0); + $5845 = tempRet0; + $5846 = $5837; + $5847 = $5846; + HEAP32[$5847>>2] = $5844; + $5848 = (($5846) + 4)|0; + $5849 = $5848; + HEAP32[$5849>>2] = $5845; + } + } + $5850 = HEAP32[$4>>2]|0; + $5851 = ($5850|0)!=(0); + if ($5851) { + break L1; + } + break; + } + case 133: { + $5852 = HEAP32[$1>>2]|0; + $5853 = ((($5852)) + 112|0); + $5854 = HEAP32[$5853>>2]|0; + $5855 = HEAP32[$3>>2]|0; + $5856 = ((($5855)) + 4|0); + $5857 = HEAP32[$5856>>2]|0; + $5858 = (($5854) + ($5857<<2)|0); + $5859 = HEAP32[$5858>>2]|0; + HEAP32[$207>>2] = $5859; + $5860 = HEAP32[$207>>2]|0; + $5861 = HEAP8[$5860>>0]|0; + $5862 = $5861&255; + $5863 = ($5862|0)==(1); + if ($5863) { + $5864 = HEAP32[$5>>2]|0; + $5865 = HEAP32[$207>>2]|0; + $5866 = ((($5865)) + 16|0); + $5867 = HEAP32[$5866>>2]|0; + _sqlite3VdbeSorterReset($5864,$5867); + break L10; + } else { + $5868 = HEAP32[$207>>2]|0; + $5869 = ((($5868)) + 16|0); + $5870 = HEAP32[$5869>>2]|0; + $5871 = (_sqlite3BtreeClearTableOfCursor($5870)|0); + HEAP32[$4>>2] = $5871; + $5872 = HEAP32[$4>>2]|0; + $5873 = ($5872|0)!=(0); + if ($5873) { + break L1; + } else { + break L10; + } + } + break; + } + case 135: case 134: { + $5874 = HEAP32[$1>>2]|0; + $5875 = HEAP32[$3>>2]|0; + $5876 = (_out2Prerelease($5874,$5875)|0); + HEAP32[$15>>2] = $5876; + HEAP32[$208>>2] = 0; + $5877 = HEAP32[$5>>2]|0; + $5878 = ((($5877)) + 16|0); + $5879 = HEAP32[$5878>>2]|0; + $5880 = HEAP32[$3>>2]|0; + $5881 = ((($5880)) + 4|0); + $5882 = HEAP32[$5881>>2]|0; + $5883 = (($5879) + ($5882<<4)|0); + HEAP32[$210>>2] = $5883; + $5884 = HEAP32[$3>>2]|0; + $5885 = HEAP8[$5884>>0]|0; + $5886 = $5885&255; + $5887 = ($5886|0)==(135); + if ($5887) { + HEAP32[$209>>2] = 1; + } else { + HEAP32[$209>>2] = 2; + } + $5888 = HEAP32[$210>>2]|0; + $5889 = ((($5888)) + 4|0); + $5890 = HEAP32[$5889>>2]|0; + $5891 = HEAP32[$209>>2]|0; + $5892 = (_sqlite3BtreeCreateTable($5890,$208,$5891)|0); + HEAP32[$4>>2] = $5892; + $5893 = HEAP32[$4>>2]|0; + $5894 = ($5893|0)!=(0); + if ($5894) { + break L1; + } + $5895 = HEAP32[$208>>2]|0; + $5896 = ($5895|0)<(0); + $5897 = $5896 << 31 >> 31; + $5898 = HEAP32[$15>>2]|0; + $5899 = $5898; + $5900 = $5899; + HEAP32[$5900>>2] = $5895; + $5901 = (($5899) + 4)|0; + $5902 = $5901; + HEAP32[$5902>>2] = $5897; + break; + } + case 136: { + $5903 = HEAP32[$3>>2]|0; + $5904 = ((($5903)) + 4|0); + $5905 = HEAP32[$5904>>2]|0; + HEAP32[$211>>2] = $5905; + $5906 = HEAP32[$211>>2]|0; + $5907 = ($5906|0)==(1); + $5908 = $5907 ? 26433 : 26452; + HEAP32[$212>>2] = $5908; + $5909 = HEAP32[$5>>2]|0; + HEAP32[$214>>2] = $5909; + $5910 = HEAP32[$3>>2]|0; + $5911 = ((($5910)) + 4|0); + $5912 = HEAP32[$5911>>2]|0; + $5913 = ((($214)) + 8|0); + HEAP32[$5913>>2] = $5912; + $5914 = HEAP32[$1>>2]|0; + $5915 = ((($5914)) + 108|0); + $5916 = ((($214)) + 4|0); + HEAP32[$5916>>2] = $5915; + $5917 = HEAP32[$5>>2]|0; + $5918 = HEAP32[$5>>2]|0; + $5919 = ((($5918)) + 16|0); + $5920 = HEAP32[$5919>>2]|0; + $5921 = HEAP32[$211>>2]|0; + $5922 = (($5920) + ($5921<<4)|0); + $5923 = HEAP32[$5922>>2]|0; + $5924 = HEAP32[$212>>2]|0; + $5925 = HEAP32[$3>>2]|0; + $5926 = ((($5925)) + 16|0); + $5927 = HEAP32[$5926>>2]|0; + HEAP32[$vararg_buffer81>>2] = $5923; + $vararg_ptr84 = ((($vararg_buffer81)) + 4|0); + HEAP32[$vararg_ptr84>>2] = $5924; + $vararg_ptr85 = ((($vararg_buffer81)) + 8|0); + HEAP32[$vararg_ptr85>>2] = $5927; + $5928 = (_sqlite3MPrintf($5917,39112,$vararg_buffer81)|0); + HEAP32[$213>>2] = $5928; + $5929 = HEAP32[$213>>2]|0; + $5930 = ($5929|0)==(0|0); + if ($5930) { + HEAP32[$4>>2] = 7; + } else { + $5931 = HEAP32[$5>>2]|0; + $5932 = ((($5931)) + 148|0); + $5933 = ((($5932)) + 5|0); + HEAP8[$5933>>0] = 1; + $5934 = ((($214)) + 12|0); + HEAP32[$5934>>2] = 0; + $5935 = HEAP32[$5>>2]|0; + $5936 = HEAP32[$213>>2]|0; + $5937 = (_sqlite3_exec($5935,$5936,146,$214,0)|0); + HEAP32[$4>>2] = $5937; + $5938 = HEAP32[$4>>2]|0; + $5939 = ($5938|0)==(0); + if ($5939) { + $5940 = ((($214)) + 12|0); + $5941 = HEAP32[$5940>>2]|0; + HEAP32[$4>>2] = $5941; + } + $5942 = HEAP32[$5>>2]|0; + $5943 = HEAP32[$213>>2]|0; + _sqlite3DbFree($5942,$5943); + $5944 = HEAP32[$5>>2]|0; + $5945 = ((($5944)) + 148|0); + $5946 = ((($5945)) + 5|0); + HEAP8[$5946>>0] = 0; + } + $5947 = HEAP32[$4>>2]|0; + $5948 = ($5947|0)!=(0); + if ($5948) { + label = 681; + break L8; + } + break; + } + case 137: { + $5952 = HEAP32[$5>>2]|0; + $5953 = HEAP32[$3>>2]|0; + $5954 = ((($5953)) + 4|0); + $5955 = HEAP32[$5954>>2]|0; + $5956 = (_sqlite3AnalysisLoad($5952,$5955)|0); + HEAP32[$4>>2] = $5956; + $5957 = HEAP32[$4>>2]|0; + $5958 = ($5957|0)!=(0); + if ($5958) { + break L1; + } + break; + } + case 138: { + $5959 = HEAP32[$5>>2]|0; + $5960 = HEAP32[$3>>2]|0; + $5961 = ((($5960)) + 4|0); + $5962 = HEAP32[$5961>>2]|0; + $5963 = HEAP32[$3>>2]|0; + $5964 = ((($5963)) + 16|0); + $5965 = HEAP32[$5964>>2]|0; + _sqlite3UnlinkAndDeleteTable($5959,$5962,$5965); + break; + } + case 139: { + $5966 = HEAP32[$5>>2]|0; + $5967 = HEAP32[$3>>2]|0; + $5968 = ((($5967)) + 4|0); + $5969 = HEAP32[$5968>>2]|0; + $5970 = HEAP32[$3>>2]|0; + $5971 = ((($5970)) + 16|0); + $5972 = HEAP32[$5971>>2]|0; + _sqlite3UnlinkAndDeleteIndex($5966,$5969,$5972); + break; + } + case 140: { + $5973 = HEAP32[$5>>2]|0; + $5974 = HEAP32[$3>>2]|0; + $5975 = ((($5974)) + 4|0); + $5976 = HEAP32[$5975>>2]|0; + $5977 = HEAP32[$3>>2]|0; + $5978 = ((($5977)) + 16|0); + $5979 = HEAP32[$5978>>2]|0; + _sqlite3UnlinkAndDeleteTrigger($5973,$5976,$5979); + break; + } + case 141: { + $5980 = HEAP32[$3>>2]|0; + $5981 = ((($5980)) + 8|0); + $5982 = HEAP32[$5981>>2]|0; + HEAP32[$215>>2] = $5982; + $5983 = HEAP32[$3>>2]|0; + $5984 = ((($5983)) + 16|0); + $5985 = HEAP32[$5984>>2]|0; + HEAP32[$216>>2] = $5985; + $5986 = HEAP32[$11>>2]|0; + $5987 = HEAP32[$3>>2]|0; + $5988 = ((($5987)) + 12|0); + $5989 = HEAP32[$5988>>2]|0; + $5990 = (($5986) + (($5989*40)|0)|0); + HEAP32[$219>>2] = $5990; + $5991 = HEAP32[$11>>2]|0; + $5992 = HEAP32[$3>>2]|0; + $5993 = ((($5992)) + 4|0); + $5994 = HEAP32[$5993>>2]|0; + $5995 = (($5991) + (($5994*40)|0)|0); + HEAP32[$12>>2] = $5995; + $5996 = HEAP32[$5>>2]|0; + $5997 = ((($5996)) + 16|0); + $5998 = HEAP32[$5997>>2]|0; + $5999 = HEAP32[$3>>2]|0; + $6000 = ((($5999)) + 3|0); + $6001 = HEAP8[$6000>>0]|0; + $6002 = $6001&255; + $6003 = (($5998) + ($6002<<4)|0); + $6004 = ((($6003)) + 4|0); + $6005 = HEAP32[$6004>>2]|0; + $6006 = HEAP32[$216>>2]|0; + $6007 = HEAP32[$215>>2]|0; + $6008 = HEAP32[$219>>2]|0; + $6009 = $6008; + $6010 = $6009; + $6011 = HEAP32[$6010>>2]|0; + $6012 = (($6009) + 4)|0; + $6013 = $6012; + $6014 = HEAP32[$6013>>2]|0; + $6015 = (_sqlite3BtreeIntegrityCheck($6005,$6006,$6007,$6011,$217)|0); + HEAP32[$218>>2] = $6015; + $6016 = HEAP32[$217>>2]|0; + $6017 = ($6016|0)<(0); + $6018 = $6017 << 31 >> 31; + $6019 = HEAP32[$219>>2]|0; + $6020 = $6019; + $6021 = $6020; + $6022 = HEAP32[$6021>>2]|0; + $6023 = (($6020) + 4)|0; + $6024 = $6023; + $6025 = HEAP32[$6024>>2]|0; + $6026 = (_i64Subtract(($6022|0),($6025|0),($6016|0),($6018|0))|0); + $6027 = tempRet0; + $6028 = $6019; + $6029 = $6028; + HEAP32[$6029>>2] = $6026; + $6030 = (($6028) + 4)|0; + $6031 = $6030; + HEAP32[$6031>>2] = $6027; + $6032 = HEAP32[$12>>2]|0; + _sqlite3VdbeMemSetNull($6032); + $6033 = HEAP32[$217>>2]|0; + $6034 = ($6033|0)==(0); + if (!($6034)) { + $6035 = HEAP32[$218>>2]|0; + $6036 = ($6035|0)==(0|0); + if ($6036) { + label = 887; + break L1; + } + $6037 = HEAP32[$12>>2]|0; + $6038 = HEAP32[$218>>2]|0; + (_sqlite3VdbeMemSetStr($6037,$6038,-1,1,157)|0); + } + $6039 = HEAP32[$12>>2]|0; + $6040 = HEAP8[$7>>0]|0; + $6041 = $6040&255; + (_sqlite3VdbeChangeEncoding($6039,$6041)|0); + break; + } + case 142: { + $6042 = HEAP32[$11>>2]|0; + $6043 = HEAP32[$3>>2]|0; + $6044 = ((($6043)) + 4|0); + $6045 = HEAP32[$6044>>2]|0; + $6046 = (($6042) + (($6045*40)|0)|0); + HEAP32[$12>>2] = $6046; + $6047 = HEAP32[$11>>2]|0; + $6048 = HEAP32[$3>>2]|0; + $6049 = ((($6048)) + 8|0); + $6050 = HEAP32[$6049>>2]|0; + $6051 = (($6047) + (($6050*40)|0)|0); + HEAP32[$13>>2] = $6051; + $6052 = HEAP32[$12>>2]|0; + $6053 = ((($6052)) + 8|0); + $6054 = HEAP16[$6053>>1]|0; + $6055 = $6054&65535; + $6056 = $6055 & 32; + $6057 = ($6056|0)==(0); + if ($6057) { + $6058 = HEAP32[$12>>2]|0; + _sqlite3VdbeMemSetRowSet($6058); + $6059 = HEAP32[$12>>2]|0; + $6060 = ((($6059)) + 8|0); + $6061 = HEAP16[$6060>>1]|0; + $6062 = $6061&65535; + $6063 = $6062 & 32; + $6064 = ($6063|0)==(0); + if ($6064) { + label = 887; + break L1; + } + } + $6065 = HEAP32[$12>>2]|0; + $6066 = HEAP32[$6065>>2]|0; + $6067 = HEAP32[$13>>2]|0; + $6068 = $6067; + $6069 = $6068; + $6070 = HEAP32[$6069>>2]|0; + $6071 = (($6068) + 4)|0; + $6072 = $6071; + $6073 = HEAP32[$6072>>2]|0; + _sqlite3RowSetInsert($6066,$6070,$6073); + break; + } + case 62: { + $6074 = HEAP32[$11>>2]|0; + $6075 = HEAP32[$3>>2]|0; + $6076 = ((($6075)) + 4|0); + $6077 = HEAP32[$6076>>2]|0; + $6078 = (($6074) + (($6077*40)|0)|0); + HEAP32[$12>>2] = $6078; + $6079 = HEAP32[$12>>2]|0; + $6080 = ((($6079)) + 8|0); + $6081 = HEAP16[$6080>>1]|0; + $6082 = $6081&65535; + $6083 = $6082 & 32; + $6084 = ($6083|0)==(0); + if (!($6084)) { + $6085 = HEAP32[$12>>2]|0; + $6086 = HEAP32[$6085>>2]|0; + $6087 = (_sqlite3RowSetNext($6086,$220)|0); + $6088 = ($6087|0)==(0); + if (!($6088)) { + $6090 = HEAP32[$11>>2]|0; + $6091 = HEAP32[$3>>2]|0; + $6092 = ((($6091)) + 12|0); + $6093 = HEAP32[$6092>>2]|0; + $6094 = (($6090) + (($6093*40)|0)|0); + $6095 = $220; + $6096 = $6095; + $6097 = HEAP32[$6096>>2]|0; + $6098 = (($6095) + 4)|0; + $6099 = $6098; + $6100 = HEAP32[$6099>>2]|0; + _sqlite3VdbeMemSetInt64($6094,$6097,$6100); + label = 8; + break L10; + } + } + $6089 = HEAP32[$12>>2]|0; + _sqlite3VdbeMemSetNull($6089); + label = 7; + break; + } + case 63: { + $6101 = HEAP32[$11>>2]|0; + $6102 = HEAP32[$3>>2]|0; + $6103 = ((($6102)) + 4|0); + $6104 = HEAP32[$6103>>2]|0; + $6105 = (($6101) + (($6104*40)|0)|0); + HEAP32[$12>>2] = $6105; + $6106 = HEAP32[$11>>2]|0; + $6107 = HEAP32[$3>>2]|0; + $6108 = ((($6107)) + 12|0); + $6109 = HEAP32[$6108>>2]|0; + $6110 = (($6106) + (($6109*40)|0)|0); + HEAP32[$14>>2] = $6110; + $6111 = HEAP32[$3>>2]|0; + $6112 = ((($6111)) + 16|0); + $6113 = HEAP32[$6112>>2]|0; + HEAP32[$221>>2] = $6113; + $6114 = HEAP32[$12>>2]|0; + $6115 = ((($6114)) + 8|0); + $6116 = HEAP16[$6115>>1]|0; + $6117 = $6116&65535; + $6118 = $6117 & 32; + $6119 = ($6118|0)==(0); + if ($6119) { + $6120 = HEAP32[$12>>2]|0; + _sqlite3VdbeMemSetRowSet($6120); + $6121 = HEAP32[$12>>2]|0; + $6122 = ((($6121)) + 8|0); + $6123 = HEAP16[$6122>>1]|0; + $6124 = $6123&65535; + $6125 = $6124 & 32; + $6126 = ($6125|0)==(0); + if ($6126) { + label = 887; + break L1; + } + } + $6127 = HEAP32[$221>>2]|0; + $6128 = ($6127|0)!=(0); + if ($6128) { + $6129 = HEAP32[$12>>2]|0; + $6130 = HEAP32[$6129>>2]|0; + $6131 = HEAP32[$221>>2]|0; + $6132 = HEAP32[$14>>2]|0; + $6133 = $6132; + $6134 = $6133; + $6135 = HEAP32[$6134>>2]|0; + $6136 = (($6133) + 4)|0; + $6137 = $6136; + $6138 = HEAP32[$6137>>2]|0; + $6139 = (_sqlite3RowSetTest($6130,$6131,$6135,$6138)|0); + HEAP32[$222>>2] = $6139; + $6140 = HEAP32[$222>>2]|0; + $6141 = ($6140|0)!=(0); + if ($6141) { + label = 14; + break L10; + } + } + $6142 = HEAP32[$221>>2]|0; + $6143 = ($6142|0)>=(0); + if ($6143) { + $6144 = HEAP32[$12>>2]|0; + $6145 = HEAP32[$6144>>2]|0; + $6146 = HEAP32[$14>>2]|0; + $6147 = $6146; + $6148 = $6147; + $6149 = HEAP32[$6148>>2]|0; + $6150 = (($6147) + 4)|0; + $6151 = $6150; + $6152 = HEAP32[$6151>>2]|0; + _sqlite3RowSetInsert($6145,$6149,$6152); + } + break; + } + case 64: { + $6153 = HEAP32[$3>>2]|0; + $6154 = ((($6153)) + 16|0); + $6155 = HEAP32[$6154>>2]|0; + HEAP32[$229>>2] = $6155; + $6156 = HEAP32[$11>>2]|0; + $6157 = HEAP32[$3>>2]|0; + $6158 = ((($6157)) + 12|0); + $6159 = HEAP32[$6158>>2]|0; + $6160 = (($6156) + (($6159*40)|0)|0); + HEAP32[$225>>2] = $6160; + $6161 = HEAP32[$3>>2]|0; + $6162 = ((($6161)) + 3|0); + $6163 = HEAP8[$6162>>0]|0; + $6164 = ($6163<<24>>24)!=(0); + if ($6164) { + $6165 = HEAP32[$229>>2]|0; + $6166 = ((($6165)) + 16|0); + $6167 = HEAP32[$6166>>2]|0; + HEAP32[$230>>2] = $6167; + $6168 = HEAP32[$1>>2]|0; + $6169 = ((($6168)) + 184|0); + $6170 = HEAP32[$6169>>2]|0; + HEAP32[$228>>2] = $6170; + while(1) { + $6171 = HEAP32[$228>>2]|0; + $6172 = ($6171|0)!=(0|0); + if (!($6172)) { + break; + } + $6173 = HEAP32[$228>>2]|0; + $6174 = ((($6173)) + 24|0); + $6175 = HEAP32[$6174>>2]|0; + $6176 = HEAP32[$230>>2]|0; + $6177 = ($6175|0)!=($6176|0); + if (!($6177)) { + break; + } + $6178 = HEAP32[$228>>2]|0; + $6179 = ((($6178)) + 4|0); + $6180 = HEAP32[$6179>>2]|0; + HEAP32[$228>>2] = $6180; + } + $6181 = HEAP32[$228>>2]|0; + $6182 = ($6181|0)!=(0|0); + if ($6182) { + break L10; + } + } + $6183 = HEAP32[$1>>2]|0; + $6184 = ((($6183)) + 192|0); + $6185 = HEAP32[$6184>>2]|0; + $6186 = HEAP32[$5>>2]|0; + $6187 = ((($6186)) + 96|0); + $6188 = ((($6187)) + 40|0); + $6189 = HEAP32[$6188>>2]|0; + $6190 = ($6185|0)>=($6189|0); + if ($6190) { + label = 710; + break L8; + } + $6192 = HEAP32[$225>>2]|0; + $6193 = ((($6192)) + 8|0); + $6194 = HEAP16[$6193>>1]|0; + $6195 = $6194&65535; + $6196 = $6195 & 64; + $6197 = ($6196|0)==(0); + L782: do { + if ($6197) { + $6198 = HEAP32[$229>>2]|0; + $6199 = ((($6198)) + 8|0); + $6200 = HEAP32[$6199>>2]|0; + $6201 = HEAP32[$229>>2]|0; + $6202 = ((($6201)) + 12|0); + $6203 = HEAP32[$6202>>2]|0; + $6204 = (($6200) + ($6203))|0; + HEAP32[$223>>2] = $6204; + $6205 = HEAP32[$229>>2]|0; + $6206 = ((($6205)) + 12|0); + $6207 = HEAP32[$6206>>2]|0; + $6208 = ($6207|0)==(0); + if ($6208) { + $6209 = HEAP32[$223>>2]|0; + $6210 = (($6209) + 1)|0; + HEAP32[$223>>2] = $6210; + } + $6211 = HEAP32[$223>>2]|0; + $6212 = ($6211*40)|0; + $6213 = (80 + ($6212))|0; + $6214 = HEAP32[$229>>2]|0; + $6215 = ((($6214)) + 12|0); + $6216 = HEAP32[$6215>>2]|0; + $6217 = $6216<<2; + $6218 = (($6213) + ($6217))|0; + HEAP32[$224>>2] = $6218; + $6219 = HEAP32[$5>>2]|0; + $6220 = HEAP32[$224>>2]|0; + $6221 = ($6220|0)<(0); + $6222 = $6221 << 31 >> 31; + $6223 = (_sqlite3DbMallocZero($6219,$6220,$6222)|0); + HEAP32[$228>>2] = $6223; + $6224 = HEAP32[$228>>2]|0; + $6225 = ($6224|0)!=(0|0); + if (!($6225)) { + label = 887; + break L1; + } + $6226 = HEAP32[$225>>2]|0; + _sqlite3VdbeMemRelease($6226); + $6227 = HEAP32[$225>>2]|0; + $6228 = ((($6227)) + 8|0); + HEAP16[$6228>>1] = 64; + $6229 = HEAP32[$228>>2]|0; + $6230 = HEAP32[$225>>2]|0; + HEAP32[$6230>>2] = $6229; + $6231 = HEAP32[$1>>2]|0; + $6232 = HEAP32[$228>>2]|0; + HEAP32[$6232>>2] = $6231; + $6233 = HEAP32[$223>>2]|0; + $6234 = HEAP32[$228>>2]|0; + $6235 = ((($6234)) + 60|0); + HEAP32[$6235>>2] = $6233; + $6236 = HEAP32[$229>>2]|0; + $6237 = ((($6236)) + 12|0); + $6238 = HEAP32[$6237>>2]|0; + $6239 = HEAP32[$228>>2]|0; + $6240 = ((($6239)) + 64|0); + HEAP32[$6240>>2] = $6238; + $6241 = HEAP32[$3>>2]|0; + $6242 = HEAP32[$2>>2]|0; + $6243 = $6241; + $6244 = $6242; + $6245 = (($6243) - ($6244))|0; + $6246 = (($6245|0) / 20)&-1; + $6247 = HEAP32[$228>>2]|0; + $6248 = ((($6247)) + 48|0); + HEAP32[$6248>>2] = $6246; + $6249 = HEAP32[$1>>2]|0; + $6250 = ((($6249)) + 92|0); + $6251 = HEAP32[$6250>>2]|0; + $6252 = HEAP32[$228>>2]|0; + $6253 = ((($6252)) + 16|0); + HEAP32[$6253>>2] = $6251; + $6254 = HEAP32[$1>>2]|0; + $6255 = ((($6254)) + 24|0); + $6256 = HEAP32[$6255>>2]|0; + $6257 = HEAP32[$228>>2]|0; + $6258 = ((($6257)) + 56|0); + HEAP32[$6258>>2] = $6256; + $6259 = HEAP32[$1>>2]|0; + $6260 = ((($6259)) + 112|0); + $6261 = HEAP32[$6260>>2]|0; + $6262 = HEAP32[$228>>2]|0; + $6263 = ((($6262)) + 20|0); + HEAP32[$6263>>2] = $6261; + $6264 = HEAP32[$1>>2]|0; + $6265 = ((($6264)) + 28|0); + $6266 = HEAP32[$6265>>2]|0; + $6267 = HEAP32[$228>>2]|0; + $6268 = ((($6267)) + 44|0); + HEAP32[$6268>>2] = $6266; + $6269 = HEAP32[$1>>2]|0; + $6270 = ((($6269)) + 88|0); + $6271 = HEAP32[$6270>>2]|0; + $6272 = HEAP32[$228>>2]|0; + $6273 = ((($6272)) + 8|0); + HEAP32[$6273>>2] = $6271; + $6274 = HEAP32[$1>>2]|0; + $6275 = ((($6274)) + 136|0); + $6276 = HEAP32[$6275>>2]|0; + $6277 = HEAP32[$228>>2]|0; + $6278 = ((($6277)) + 52|0); + HEAP32[$6278>>2] = $6276; + $6279 = HEAP32[$229>>2]|0; + $6280 = ((($6279)) + 16|0); + $6281 = HEAP32[$6280>>2]|0; + $6282 = HEAP32[$228>>2]|0; + $6283 = ((($6282)) + 24|0); + HEAP32[$6283>>2] = $6281; + $6284 = HEAP32[$228>>2]|0; + $6285 = ((($6284)) + 80|0); + $6286 = HEAP32[$228>>2]|0; + $6287 = ((($6286)) + 60|0); + $6288 = HEAP32[$6287>>2]|0; + $6289 = (($6285) + (($6288*40)|0)|0); + HEAP32[$227>>2] = $6289; + $6290 = HEAP32[$228>>2]|0; + $6291 = ((($6290)) + 80|0); + HEAP32[$226>>2] = $6291; + while(1) { + $6292 = HEAP32[$226>>2]|0; + $6293 = HEAP32[$227>>2]|0; + $6294 = ($6292|0)!=($6293|0); + if (!($6294)) { + break L782; + } + $6295 = HEAP32[$226>>2]|0; + $6296 = ((($6295)) + 8|0); + HEAP16[$6296>>1] = 128; + $6297 = HEAP32[$5>>2]|0; + $6298 = HEAP32[$226>>2]|0; + $6299 = ((($6298)) + 32|0); + HEAP32[$6299>>2] = $6297; + $6300 = HEAP32[$226>>2]|0; + $6301 = ((($6300)) + 40|0); + HEAP32[$226>>2] = $6301; + } + } else { + $6302 = HEAP32[$225>>2]|0; + $6303 = HEAP32[$6302>>2]|0; + HEAP32[$228>>2] = $6303; + } + } while(0); + $6304 = HEAP32[$1>>2]|0; + $6305 = ((($6304)) + 192|0); + $6306 = HEAP32[$6305>>2]|0; + $6307 = (($6306) + 1)|0; + HEAP32[$6305>>2] = $6307; + $6308 = HEAP32[$1>>2]|0; + $6309 = ((($6308)) + 184|0); + $6310 = HEAP32[$6309>>2]|0; + $6311 = HEAP32[$228>>2]|0; + $6312 = ((($6311)) + 4|0); + HEAP32[$6312>>2] = $6310; + $6313 = $17; + $6314 = $6313; + $6315 = HEAP32[$6314>>2]|0; + $6316 = (($6313) + 4)|0; + $6317 = $6316; + $6318 = HEAP32[$6317>>2]|0; + $6319 = HEAP32[$228>>2]|0; + $6320 = ((($6319)) + 32|0); + $6321 = $6320; + $6322 = $6321; + HEAP32[$6322>>2] = $6315; + $6323 = (($6321) + 4)|0; + $6324 = $6323; + HEAP32[$6324>>2] = $6318; + $6325 = HEAP32[$1>>2]|0; + $6326 = ((($6325)) + 44|0); + $6327 = HEAP32[$6326>>2]|0; + $6328 = HEAP32[$228>>2]|0; + $6329 = ((($6328)) + 68|0); + HEAP32[$6329>>2] = $6327; + $6330 = HEAP32[$1>>2]|0; + $6331 = HEAP32[$6330>>2]|0; + $6332 = ((($6331)) + 88|0); + $6333 = HEAP32[$6332>>2]|0; + $6334 = HEAP32[$228>>2]|0; + $6335 = ((($6334)) + 72|0); + HEAP32[$6335>>2] = $6333; + $6336 = HEAP32[$1>>2]|0; + $6337 = ((($6336)) + 204|0); + $6338 = HEAP32[$6337>>2]|0; + $6339 = HEAP32[$228>>2]|0; + $6340 = ((($6339)) + 40|0); + HEAP32[$6340>>2] = $6338; + $6341 = HEAP32[$1>>2]|0; + $6342 = ((($6341)) + 204|0); + HEAP32[$6342>>2] = 0; + $6343 = HEAP32[$1>>2]|0; + $6344 = ((($6343)) + 44|0); + HEAP32[$6344>>2] = 0; + $6345 = HEAP32[$228>>2]|0; + $6346 = HEAP32[$1>>2]|0; + $6347 = ((($6346)) + 184|0); + HEAP32[$6347>>2] = $6345; + $6348 = HEAP32[$228>>2]|0; + $6349 = ((($6348)) + 80|0); + HEAP32[$11>>2] = $6349; + $6350 = HEAP32[$1>>2]|0; + $6351 = ((($6350)) + 92|0); + HEAP32[$6351>>2] = $6349; + $6352 = HEAP32[$228>>2]|0; + $6353 = ((($6352)) + 60|0); + $6354 = HEAP32[$6353>>2]|0; + $6355 = HEAP32[$1>>2]|0; + $6356 = ((($6355)) + 24|0); + HEAP32[$6356>>2] = $6354; + $6357 = HEAP32[$228>>2]|0; + $6358 = ((($6357)) + 64|0); + $6359 = HEAP32[$6358>>2]|0; + $6360 = $6359&65535; + $6361 = $6360&65535; + $6362 = HEAP32[$1>>2]|0; + $6363 = ((($6362)) + 28|0); + HEAP32[$6363>>2] = $6361; + $6364 = HEAP32[$11>>2]|0; + $6365 = HEAP32[$1>>2]|0; + $6366 = ((($6365)) + 24|0); + $6367 = HEAP32[$6366>>2]|0; + $6368 = (($6364) + (($6367*40)|0)|0); + $6369 = HEAP32[$1>>2]|0; + $6370 = ((($6369)) + 112|0); + HEAP32[$6370>>2] = $6368; + $6371 = HEAP32[$229>>2]|0; + $6372 = HEAP32[$6371>>2]|0; + HEAP32[$2>>2] = $6372; + $6373 = HEAP32[$1>>2]|0; + $6374 = ((($6373)) + 88|0); + HEAP32[$6374>>2] = $6372; + $6375 = HEAP32[$229>>2]|0; + $6376 = ((($6375)) + 4|0); + $6377 = HEAP32[$6376>>2]|0; + $6378 = HEAP32[$1>>2]|0; + $6379 = ((($6378)) + 136|0); + HEAP32[$6379>>2] = $6377; + $6380 = HEAP32[$2>>2]|0; + $6381 = ((($6380)) + -20|0); + HEAP32[$3>>2] = $6381; + break; + } + case 143: { + $6382 = HEAP32[$1>>2]|0; + $6383 = HEAP32[$3>>2]|0; + $6384 = (_out2Prerelease($6382,$6383)|0); + HEAP32[$15>>2] = $6384; + $6385 = HEAP32[$1>>2]|0; + $6386 = ((($6385)) + 184|0); + $6387 = HEAP32[$6386>>2]|0; + HEAP32[$231>>2] = $6387; + $6388 = HEAP32[$231>>2]|0; + $6389 = ((($6388)) + 16|0); + $6390 = HEAP32[$6389>>2]|0; + $6391 = HEAP32[$3>>2]|0; + $6392 = ((($6391)) + 4|0); + $6393 = HEAP32[$6392>>2]|0; + $6394 = HEAP32[$231>>2]|0; + $6395 = ((($6394)) + 8|0); + $6396 = HEAP32[$6395>>2]|0; + $6397 = HEAP32[$231>>2]|0; + $6398 = ((($6397)) + 48|0); + $6399 = HEAP32[$6398>>2]|0; + $6400 = (($6396) + (($6399*20)|0)|0); + $6401 = ((($6400)) + 4|0); + $6402 = HEAP32[$6401>>2]|0; + $6403 = (($6393) + ($6402))|0; + $6404 = (($6390) + (($6403*40)|0)|0); + HEAP32[$232>>2] = $6404; + $6405 = HEAP32[$15>>2]|0; + $6406 = HEAP32[$232>>2]|0; + _sqlite3VdbeMemShallowCopy($6405,$6406,4096); + break; + } + case 144: { + $6407 = HEAP32[$5>>2]|0; + $6408 = ((($6407)) + 24|0); + $6409 = HEAP32[$6408>>2]|0; + $6410 = $6409 & 33554432; + $6411 = ($6410|0)!=(0); + $6412 = HEAP32[$3>>2]|0; + if ($6411) { + $6413 = ((($6412)) + 8|0); + $6414 = HEAP32[$6413>>2]|0; + $6415 = ($6414|0)<(0); + $6416 = $6415 << 31 >> 31; + $6417 = HEAP32[$5>>2]|0; + $6418 = ((($6417)) + 448|0); + $$sink38$sink42 = $6418;$6437 = $6414;$6438 = $6416; + } else { + $6419 = ((($6412)) + 4|0); + $6420 = HEAP32[$6419>>2]|0; + $6421 = ($6420|0)!=(0); + $6422 = HEAP32[$3>>2]|0; + $6423 = ((($6422)) + 8|0); + $6424 = HEAP32[$6423>>2]|0; + $6425 = ($6424|0)<(0); + $6426 = $6425 << 31 >> 31; + $6427 = HEAP32[$1>>2]|0; + $6428 = ((($6427)) + 64|0); + $6429 = HEAP32[$5>>2]|0; + $6430 = ((($6429)) + 440|0); + $$sink38 = $6421 ? $6430 : $6428; + $$sink38$sink42 = $$sink38;$6437 = $6424;$6438 = $6426; + } + $6431 = $$sink38$sink42; + $6432 = $6431; + $6433 = HEAP32[$6432>>2]|0; + $6434 = (($6431) + 4)|0; + $6435 = $6434; + $6436 = HEAP32[$6435>>2]|0; + $6439 = (_i64Add(($6433|0),($6436|0),($6437|0),($6438|0))|0); + $6440 = tempRet0; + $6441 = $$sink38$sink42; + $6442 = $6441; + HEAP32[$6442>>2] = $6439; + $6443 = (($6441) + 4)|0; + $6444 = $6443; + HEAP32[$6444>>2] = $6440; + break; + } + case 65: { + $6445 = HEAP32[$3>>2]|0; + $6446 = ((($6445)) + 4|0); + $6447 = HEAP32[$6446>>2]|0; + $6448 = ($6447|0)!=(0); + if ($6448) { + $6449 = HEAP32[$5>>2]|0; + $6450 = ((($6449)) + 440|0); + $6451 = $6450; + $6452 = $6451; + $6453 = HEAP32[$6452>>2]|0; + $6454 = (($6451) + 4)|0; + $6455 = $6454; + $6456 = HEAP32[$6455>>2]|0; + $6457 = ($6453|0)==(0); + $6458 = ($6456|0)==(0); + $6459 = $6457 & $6458; + if (!($6459)) { + break L10; + } + $6460 = HEAP32[$5>>2]|0; + $6461 = ((($6460)) + 448|0); + $6462 = $6461; + $6463 = $6462; + $6464 = HEAP32[$6463>>2]|0; + $6465 = (($6462) + 4)|0; + $6466 = $6465; + $6467 = HEAP32[$6466>>2]|0; + $6468 = ($6464|0)==(0); + $6469 = ($6467|0)==(0); + $6470 = $6468 & $6469; + if ($6470) { + label = 14; + break L10; + } else { + break L10; + } + } else { + $6471 = HEAP32[$1>>2]|0; + $6472 = ((($6471)) + 64|0); + $6473 = $6472; + $6474 = $6473; + $6475 = HEAP32[$6474>>2]|0; + $6476 = (($6473) + 4)|0; + $6477 = $6476; + $6478 = HEAP32[$6477>>2]|0; + $6479 = ($6475|0)==(0); + $6480 = ($6478|0)==(0); + $6481 = $6479 & $6480; + if (!($6481)) { + break L10; + } + $6482 = HEAP32[$5>>2]|0; + $6483 = ((($6482)) + 448|0); + $6484 = $6483; + $6485 = $6484; + $6486 = HEAP32[$6485>>2]|0; + $6487 = (($6484) + 4)|0; + $6488 = $6487; + $6489 = HEAP32[$6488>>2]|0; + $6490 = ($6486|0)==(0); + $6491 = ($6489|0)==(0); + $6492 = $6490 & $6491; + if ($6492) { + label = 14; + break L10; + } else { + break L10; + } + } + break; + } + case 145: { + $6493 = HEAP32[$1>>2]|0; + $6494 = ((($6493)) + 184|0); + $6495 = HEAP32[$6494>>2]|0; + $6496 = ($6495|0)!=(0|0); + if ($6496) { + $6497 = HEAP32[$1>>2]|0; + $6498 = ((($6497)) + 184|0); + $6499 = HEAP32[$6498>>2]|0; + HEAP32[$233>>2] = $6499; + while(1) { + $6500 = HEAP32[$233>>2]|0; + $6501 = ((($6500)) + 4|0); + $6502 = HEAP32[$6501>>2]|0; + $6503 = ($6502|0)!=(0|0); + $6504 = HEAP32[$233>>2]|0; + if (!($6503)) { + break; + } + $6505 = ((($6504)) + 4|0); + $6506 = HEAP32[$6505>>2]|0; + HEAP32[$233>>2] = $6506; + } + $6507 = ((($6504)) + 16|0); + $6508 = HEAP32[$6507>>2]|0; + $6509 = HEAP32[$3>>2]|0; + $6510 = ((($6509)) + 4|0); + $6511 = HEAP32[$6510>>2]|0; + $6512 = (($6508) + (($6511*40)|0)|0); + HEAP32[$12>>2] = $6512; + } else { + $6513 = HEAP32[$11>>2]|0; + $6514 = HEAP32[$3>>2]|0; + $6515 = ((($6514)) + 4|0); + $6516 = HEAP32[$6515>>2]|0; + $6517 = (($6513) + (($6516*40)|0)|0); + HEAP32[$12>>2] = $6517; + } + $6518 = HEAP32[$12>>2]|0; + (_sqlite3VdbeMemIntegerify($6518)|0); + $6519 = HEAP32[$11>>2]|0; + $6520 = HEAP32[$3>>2]|0; + $6521 = ((($6520)) + 8|0); + $6522 = HEAP32[$6521>>2]|0; + $6523 = (($6519) + (($6522*40)|0)|0); + HEAP32[$13>>2] = $6523; + $6524 = HEAP32[$13>>2]|0; + (_sqlite3VdbeMemIntegerify($6524)|0); + $6525 = HEAP32[$12>>2]|0; + $6526 = $6525; + $6527 = $6526; + $6528 = HEAP32[$6527>>2]|0; + $6529 = (($6526) + 4)|0; + $6530 = $6529; + $6531 = HEAP32[$6530>>2]|0; + $6532 = HEAP32[$13>>2]|0; + $6533 = $6532; + $6534 = $6533; + $6535 = HEAP32[$6534>>2]|0; + $6536 = (($6533) + 4)|0; + $6537 = $6536; + $6538 = HEAP32[$6537>>2]|0; + $6539 = ($6531|0)<($6538|0); + $6540 = ($6528>>>0)<($6535>>>0); + $6541 = ($6531|0)==($6538|0); + $6542 = $6541 & $6540; + $6543 = $6539 | $6542; + if ($6543) { + $6544 = HEAP32[$13>>2]|0; + $6545 = $6544; + $6546 = $6545; + $6547 = HEAP32[$6546>>2]|0; + $6548 = (($6545) + 4)|0; + $6549 = $6548; + $6550 = HEAP32[$6549>>2]|0; + $6551 = HEAP32[$12>>2]|0; + $6552 = $6551; + $6553 = $6552; + HEAP32[$6553>>2] = $6547; + $6554 = (($6552) + 4)|0; + $6555 = $6554; + HEAP32[$6555>>2] = $6550; + } + break; + } + case 66: { + $6556 = HEAP32[$11>>2]|0; + $6557 = HEAP32[$3>>2]|0; + $6558 = ((($6557)) + 4|0); + $6559 = HEAP32[$6558>>2]|0; + $6560 = (($6556) + (($6559*40)|0)|0); + HEAP32[$12>>2] = $6560; + $6561 = HEAP32[$12>>2]|0; + $6562 = $6561; + $6563 = $6562; + $6564 = HEAP32[$6563>>2]|0; + $6565 = (($6562) + 4)|0; + $6566 = $6565; + $6567 = HEAP32[$6566>>2]|0; + $6568 = ($6567|0)>(0); + $6569 = ($6564>>>0)>(0); + $6570 = ($6567|0)==(0); + $6571 = $6570 & $6569; + $6572 = $6568 | $6571; + if ($6572) { + $6573 = HEAP32[$3>>2]|0; + $6574 = ((($6573)) + 12|0); + $6575 = HEAP32[$6574>>2]|0; + $6576 = ($6575|0)<(0); + $6577 = $6576 << 31 >> 31; + $6578 = HEAP32[$12>>2]|0; + $6579 = $6578; + $6580 = $6579; + $6581 = HEAP32[$6580>>2]|0; + $6582 = (($6579) + 4)|0; + $6583 = $6582; + $6584 = HEAP32[$6583>>2]|0; + $6585 = (_i64Subtract(($6581|0),($6584|0),($6575|0),($6577|0))|0); + $6586 = tempRet0; + $6587 = $6578; + $6588 = $6587; + HEAP32[$6588>>2] = $6585; + $6589 = (($6587) + 4)|0; + $6590 = $6589; + HEAP32[$6590>>2] = $6586; + label = 14; + } + break; + } + case 146: { + $6591 = HEAP32[$11>>2]|0; + $6592 = HEAP32[$3>>2]|0; + $6593 = ((($6592)) + 4|0); + $6594 = HEAP32[$6593>>2]|0; + $6595 = (($6591) + (($6594*40)|0)|0); + HEAP32[$12>>2] = $6595; + $6596 = HEAP32[$11>>2]|0; + $6597 = HEAP32[$3>>2]|0; + $6598 = ((($6597)) + 12|0); + $6599 = HEAP32[$6598>>2]|0; + $6600 = (($6596) + (($6599*40)|0)|0); + HEAP32[$14>>2] = $6600; + $6601 = HEAP32[$1>>2]|0; + $6602 = HEAP32[$3>>2]|0; + $6603 = (_out2Prerelease($6601,$6602)|0); + HEAP32[$15>>2] = $6603; + $6604 = HEAP32[$12>>2]|0; + $6605 = $6604; + $6606 = $6605; + $6607 = HEAP32[$6606>>2]|0; + $6608 = (($6605) + 4)|0; + $6609 = $6608; + $6610 = HEAP32[$6609>>2]|0; + $6611 = ($6610|0)<(0); + $6612 = ($6607>>>0)<=(0); + $6613 = ($6610|0)==(0); + $6614 = $6613 & $6612; + $6615 = $6611 | $6614; + if ($6615) { + $6649 = -1;$6652 = -1; + } else { + $6616 = HEAP32[$12>>2]|0; + $6617 = $6616; + $6618 = $6617; + $6619 = HEAP32[$6618>>2]|0; + $6620 = (($6617) + 4)|0; + $6621 = $6620; + $6622 = HEAP32[$6621>>2]|0; + $6623 = HEAP32[$14>>2]|0; + $6624 = $6623; + $6625 = $6624; + $6626 = HEAP32[$6625>>2]|0; + $6627 = (($6624) + 4)|0; + $6628 = $6627; + $6629 = HEAP32[$6628>>2]|0; + $6630 = ($6629|0)>(0); + $6631 = ($6626>>>0)>(0); + $6632 = ($6629|0)==(0); + $6633 = $6632 & $6631; + $6634 = $6630 | $6633; + if ($6634) { + $6635 = HEAP32[$14>>2]|0; + $6636 = $6635; + $6637 = $6636; + $6638 = HEAP32[$6637>>2]|0; + $6639 = (($6636) + 4)|0; + $6640 = $6639; + $6641 = HEAP32[$6640>>2]|0; + $6642 = $6638;$6643 = $6641; + } else { + $6642 = 0;$6643 = 0; + } + $6644 = (_i64Add(($6619|0),($6622|0),($6642|0),($6643|0))|0); + $6645 = tempRet0; + $6649 = $6644;$6652 = $6645; + } + $6646 = HEAP32[$15>>2]|0; + $6647 = $6646; + $6648 = $6647; + HEAP32[$6648>>2] = $6649; + $6650 = (($6647) + 4)|0; + $6651 = $6650; + HEAP32[$6651>>2] = $6652; + break; + } + case 67: { + $6653 = HEAP32[$11>>2]|0; + $6654 = HEAP32[$3>>2]|0; + $6655 = ((($6654)) + 4|0); + $6656 = HEAP32[$6655>>2]|0; + $6657 = (($6653) + (($6656*40)|0)|0); + HEAP32[$12>>2] = $6657; + $6658 = HEAP32[$12>>2]|0; + $6659 = $6658; + $6660 = $6659; + $6661 = HEAP32[$6660>>2]|0; + $6662 = (($6659) + 4)|0; + $6663 = $6662; + $6664 = HEAP32[$6663>>2]|0; + $6665 = ($6661|0)!=(0); + $6666 = ($6664|0)!=(0); + $6667 = $6665 | $6666; + if ($6667) { + $6668 = HEAP32[$3>>2]|0; + $6669 = ((($6668)) + 12|0); + $6670 = HEAP32[$6669>>2]|0; + $6671 = ($6670|0)<(0); + $6672 = $6671 << 31 >> 31; + $6673 = HEAP32[$12>>2]|0; + $6674 = $6673; + $6675 = $6674; + $6676 = HEAP32[$6675>>2]|0; + $6677 = (($6674) + 4)|0; + $6678 = $6677; + $6679 = HEAP32[$6678>>2]|0; + $6680 = (_i64Subtract(($6676|0),($6679|0),($6670|0),($6672|0))|0); + $6681 = tempRet0; + $6682 = $6673; + $6683 = $6682; + HEAP32[$6683>>2] = $6680; + $6684 = (($6682) + 4)|0; + $6685 = $6684; + HEAP32[$6685>>2] = $6681; + label = 14; + } + break; + } + case 68: { + $6686 = HEAP32[$11>>2]|0; + $6687 = HEAP32[$3>>2]|0; + $6688 = ((($6687)) + 4|0); + $6689 = HEAP32[$6688>>2]|0; + $6690 = (($6686) + (($6689*40)|0)|0); + HEAP32[$12>>2] = $6690; + $6691 = HEAP32[$12>>2]|0; + $6692 = $6691; + $6693 = $6692; + $6694 = HEAP32[$6693>>2]|0; + $6695 = (($6692) + 4)|0; + $6696 = $6695; + $6697 = HEAP32[$6696>>2]|0; + $6698 = (_i64Add(($6694|0),($6697|0),-1,-1)|0); + $6699 = tempRet0; + $6700 = $6691; + $6701 = $6700; + HEAP32[$6701>>2] = $6698; + $6702 = (($6700) + 4)|0; + $6703 = $6702; + HEAP32[$6703>>2] = $6699; + $6704 = HEAP32[$12>>2]|0; + $6705 = $6704; + $6706 = $6705; + $6707 = HEAP32[$6706>>2]|0; + $6708 = (($6705) + 4)|0; + $6709 = $6708; + $6710 = HEAP32[$6709>>2]|0; + $6711 = ($6707|0)==(0); + $6712 = ($6710|0)==(0); + $6713 = $6711 & $6712; + if ($6713) { + label = 14; + } + break; + } + case 147: { + $6714 = HEAP32[$3>>2]|0; + $6715 = ((($6714)) + 3|0); + $6716 = HEAP8[$6715>>0]|0; + $6717 = $6716&255; + HEAP32[$234>>2] = $6717; + $6718 = HEAP32[$5>>2]|0; + $6719 = HEAP32[$234>>2]|0; + $6720 = (($6719) - 1)|0; + $6721 = $6720<<2; + $6722 = (32 + ($6721))|0; + $6723 = (_sqlite3DbMallocRawNN($6718,$6722,0)|0); + HEAP32[$235>>2] = $6723; + $6724 = HEAP32[$235>>2]|0; + $6725 = ($6724|0)==(0|0); + if ($6725) { + label = 887; + break L1; + } + $6726 = HEAP32[$235>>2]|0; + $6727 = ((($6726)) + 8|0); + HEAP32[$6727>>2] = 0; + $6728 = HEAP32[$3>>2]|0; + $6729 = ((($6728)) + 16|0); + $6730 = HEAP32[$6729>>2]|0; + $6731 = HEAP32[$235>>2]|0; + $6732 = ((($6731)) + 4|0); + HEAP32[$6732>>2] = $6730; + $6733 = HEAP32[$3>>2]|0; + $6734 = HEAP32[$2>>2]|0; + $6735 = $6733; + $6736 = $6734; + $6737 = (($6735) - ($6736))|0; + $6738 = (($6737|0) / 20)&-1; + $6739 = HEAP32[$235>>2]|0; + $6740 = ((($6739)) + 16|0); + HEAP32[$6740>>2] = $6738; + $6741 = HEAP32[$1>>2]|0; + $6742 = HEAP32[$235>>2]|0; + $6743 = ((($6742)) + 12|0); + HEAP32[$6743>>2] = $6741; + $6744 = HEAP32[$234>>2]|0; + $6745 = $6744&255; + $6746 = HEAP32[$235>>2]|0; + $6747 = ((($6746)) + 26|0); + HEAP8[$6747>>0] = $6745; + $6748 = HEAP32[$3>>2]|0; + $6749 = ((($6748)) + 1|0); + HEAP8[$6749>>0] = -21; + $6750 = HEAP32[$235>>2]|0; + $6751 = HEAP32[$3>>2]|0; + $6752 = ((($6751)) + 16|0); + HEAP32[$6752>>2] = $6750; + $6753 = HEAP32[$3>>2]|0; + HEAP8[$6753>>0] = -108; + label = 750; + break; + } + case 148: { + label = 750; + break; + } + case 149: { + $6840 = HEAP32[$11>>2]|0; + $6841 = HEAP32[$3>>2]|0; + $6842 = ((($6841)) + 4|0); + $6843 = HEAP32[$6842>>2]|0; + $6844 = (($6840) + (($6843*40)|0)|0); + HEAP32[$240>>2] = $6844; + $6845 = HEAP32[$240>>2]|0; + $6846 = HEAP32[$3>>2]|0; + $6847 = ((($6846)) + 16|0); + $6848 = HEAP32[$6847>>2]|0; + $6849 = (_sqlite3VdbeMemFinalize($6845,$6848)|0); + HEAP32[$4>>2] = $6849; + $6850 = HEAP32[$4>>2]|0; + $6851 = ($6850|0)!=(0); + if ($6851) { + label = 762; + break L8; + } + $6855 = HEAP32[$240>>2]|0; + $6856 = HEAP8[$7>>0]|0; + $6857 = $6856&255; + (_sqlite3VdbeChangeEncoding($6855,$6857)|0); + $6858 = HEAP32[$240>>2]|0; + $6859 = (_sqlite3VdbeMemTooBig($6858)|0); + $6860 = ($6859|0)!=(0); + if ($6860) { + label = 886; + break L8; + } + break; + } + case 8: { + HEAP32[$242>>2] = 0; + $6861 = ((($242)) + 8|0); + HEAP32[$6861>>2] = -1; + $6862 = ((($242)) + 4|0); + HEAP32[$6862>>2] = -1; + $6863 = HEAP32[$5>>2]|0; + $6864 = HEAP32[$3>>2]|0; + $6865 = ((($6864)) + 4|0); + $6866 = HEAP32[$6865>>2]|0; + $6867 = HEAP32[$3>>2]|0; + $6868 = ((($6867)) + 8|0); + $6869 = HEAP32[$6868>>2]|0; + $6870 = ((($242)) + 4|0); + $6871 = ((($242)) + 8|0); + $6872 = (_sqlite3Checkpoint($6863,$6866,$6869,$6870,$6871)|0); + HEAP32[$4>>2] = $6872; + $6873 = HEAP32[$4>>2]|0; + $6874 = ($6873|0)!=(0); + if ($6874) { + $6875 = HEAP32[$4>>2]|0; + $6876 = ($6875|0)!=(5); + if ($6876) { + break L1; + } + HEAP32[$4>>2] = 0; + HEAP32[$242>>2] = 1; + } + HEAP32[$241>>2] = 0; + $6877 = HEAP32[$11>>2]|0; + $6878 = HEAP32[$3>>2]|0; + $6879 = ((($6878)) + 12|0); + $6880 = HEAP32[$6879>>2]|0; + $6881 = (($6877) + (($6880*40)|0)|0); + HEAP32[$243>>2] = $6881; + while(1) { + $6882 = HEAP32[$241>>2]|0; + $6883 = ($6882|0)<(3); + if (!($6883)) { + break L10; + } + $6884 = HEAP32[$243>>2]|0; + $6885 = HEAP32[$241>>2]|0; + $6886 = (($242) + ($6885<<2)|0); + $6887 = HEAP32[$6886>>2]|0; + $6888 = ($6887|0)<(0); + $6889 = $6888 << 31 >> 31; + _sqlite3VdbeMemSetInt64($6884,$6887,$6889); + $6890 = HEAP32[$241>>2]|0; + $6891 = (($6890) + 1)|0; + HEAP32[$241>>2] = $6891; + $6892 = HEAP32[$243>>2]|0; + $6893 = ((($6892)) + 40|0); + HEAP32[$243>>2] = $6893; + } + break; + } + case 9: { + $6894 = HEAP32[$1>>2]|0; + $6895 = HEAP32[$3>>2]|0; + $6896 = (_out2Prerelease($6894,$6895)|0); + HEAP32[$15>>2] = $6896; + $6897 = HEAP32[$3>>2]|0; + $6898 = ((($6897)) + 12|0); + $6899 = HEAP32[$6898>>2]|0; + HEAP32[$246>>2] = $6899; + $6900 = HEAP32[$5>>2]|0; + $6901 = ((($6900)) + 16|0); + $6902 = HEAP32[$6901>>2]|0; + $6903 = HEAP32[$3>>2]|0; + $6904 = ((($6903)) + 4|0); + $6905 = HEAP32[$6904>>2]|0; + $6906 = (($6902) + ($6905<<4)|0); + $6907 = ((($6906)) + 4|0); + $6908 = HEAP32[$6907>>2]|0; + HEAP32[$244>>2] = $6908; + $6909 = HEAP32[$244>>2]|0; + $6910 = (_sqlite3BtreePager($6909)|0); + HEAP32[$245>>2] = $6910; + $6911 = HEAP32[$245>>2]|0; + $6912 = (_sqlite3PagerGetJournalMode($6911)|0); + HEAP32[$247>>2] = $6912; + $6913 = HEAP32[$246>>2]|0; + $6914 = ($6913|0)==(-1); + if ($6914) { + $6915 = HEAP32[$247>>2]|0; + HEAP32[$246>>2] = $6915; + } + $6916 = HEAP32[$245>>2]|0; + $6917 = (_sqlite3PagerOkToChangeJournalMode($6916)|0); + $6918 = ($6917|0)!=(0); + if (!($6918)) { + $6919 = HEAP32[$247>>2]|0; + HEAP32[$246>>2] = $6919; + } + $6920 = HEAP32[$245>>2]|0; + $6921 = (_sqlite3PagerFilename($6920,1)|0); + HEAP32[$248>>2] = $6921; + $6922 = HEAP32[$246>>2]|0; + $6923 = ($6922|0)==(5); + do { + if ($6923) { + $6924 = HEAP32[$248>>2]|0; + $6925 = (_sqlite3Strlen30($6924)|0); + $6926 = ($6925|0)==(0); + if (!($6926)) { + $6927 = HEAP32[$245>>2]|0; + $6928 = (_sqlite3PagerWalSupported($6927)|0); + $6929 = ($6928|0)!=(0); + if ($6929) { + break; + } + } + $6930 = HEAP32[$247>>2]|0; + HEAP32[$246>>2] = $6930; + } + } while(0); + $6931 = HEAP32[$246>>2]|0; + $6932 = HEAP32[$247>>2]|0; + $6933 = ($6931|0)!=($6932|0); + if ($6933) { + $6934 = HEAP32[$247>>2]|0; + $6935 = ($6934|0)==(5); + $6936 = HEAP32[$246>>2]|0; + $6937 = ($6936|0)==(5); + $or$cond44 = $6935 | $6937; + if ($or$cond44) { + $6938 = HEAP32[$5>>2]|0; + $6939 = ((($6938)) + 67|0); + $6940 = HEAP8[$6939>>0]|0; + $6941 = ($6940<<24>>24)!=(0); + if (!($6941)) { + label = 782; + break L8; + } + $6942 = HEAP32[$5>>2]|0; + $6943 = ((($6942)) + 160|0); + $6944 = HEAP32[$6943>>2]|0; + $6945 = ($6944|0)>(1); + if ($6945) { + label = 782; + break L8; + } + $6950 = HEAP32[$247>>2]|0; + $6951 = ($6950|0)==(5); + if ($6951) { + $6952 = HEAP32[$245>>2]|0; + $6953 = (_sqlite3PagerCloseWal($6952)|0); + HEAP32[$4>>2] = $6953; + $6954 = HEAP32[$4>>2]|0; + $6955 = ($6954|0)==(0); + if ($6955) { + $6956 = HEAP32[$245>>2]|0; + $6957 = HEAP32[$246>>2]|0; + (_sqlite3PagerSetJournalMode($6956,$6957)|0); + } + } else { + $6958 = HEAP32[$247>>2]|0; + $6959 = ($6958|0)==(4); + if ($6959) { + $6960 = HEAP32[$245>>2]|0; + (_sqlite3PagerSetJournalMode($6960,2)|0); + } + } + $6961 = HEAP32[$4>>2]|0; + $6962 = ($6961|0)==(0); + if ($6962) { + $6963 = HEAP32[$244>>2]|0; + $6964 = HEAP32[$246>>2]|0; + $6965 = ($6964|0)==(5); + $6966 = $6965 ? 2 : 1; + $6967 = (_sqlite3BtreeSetVersion($6963,$6966)|0); + HEAP32[$4>>2] = $6967; + } + } + } + $6968 = HEAP32[$4>>2]|0; + $6969 = ($6968|0)!=(0); + if ($6969) { + $6970 = HEAP32[$247>>2]|0; + HEAP32[$246>>2] = $6970; + } + $6971 = HEAP32[$245>>2]|0; + $6972 = HEAP32[$246>>2]|0; + $6973 = (_sqlite3PagerSetJournalMode($6971,$6972)|0); + HEAP32[$246>>2] = $6973; + $6974 = HEAP32[$15>>2]|0; + $6975 = ((($6974)) + 8|0); + HEAP16[$6975>>1] = 2562; + $6976 = HEAP32[$246>>2]|0; + $6977 = (_sqlite3JournalModename($6976)|0); + $6978 = HEAP32[$15>>2]|0; + $6979 = ((($6978)) + 16|0); + HEAP32[$6979>>2] = $6977; + $6980 = HEAP32[$15>>2]|0; + $6981 = ((($6980)) + 16|0); + $6982 = HEAP32[$6981>>2]|0; + $6983 = (_sqlite3Strlen30($6982)|0); + $6984 = HEAP32[$15>>2]|0; + $6985 = ((($6984)) + 12|0); + HEAP32[$6985>>2] = $6983; + $6986 = HEAP32[$15>>2]|0; + $6987 = ((($6986)) + 10|0); + HEAP8[$6987>>0] = 1; + $6988 = HEAP32[$15>>2]|0; + $6989 = HEAP8[$7>>0]|0; + $6990 = $6989&255; + (_sqlite3VdbeChangeEncoding($6988,$6990)|0); + $6991 = HEAP32[$4>>2]|0; + $6992 = ($6991|0)!=(0); + if ($6992) { + break L1; + } + break; + } + case 10: { + $6993 = HEAP32[$1>>2]|0; + $6994 = ((($6993)) + 108|0); + $6995 = HEAP32[$5>>2]|0; + $6996 = HEAP32[$3>>2]|0; + $6997 = ((($6996)) + 4|0); + $6998 = HEAP32[$6997>>2]|0; + $6999 = (_sqlite3RunVacuum($6994,$6995,$6998)|0); + HEAP32[$4>>2] = $6999; + $7000 = HEAP32[$4>>2]|0; + $7001 = ($7000|0)!=(0); + if ($7001) { + break L1; + } + break; + } + case 69: { + $7002 = HEAP32[$5>>2]|0; + $7003 = ((($7002)) + 16|0); + $7004 = HEAP32[$7003>>2]|0; + $7005 = HEAP32[$3>>2]|0; + $7006 = ((($7005)) + 4|0); + $7007 = HEAP32[$7006>>2]|0; + $7008 = (($7004) + ($7007<<4)|0); + $7009 = ((($7008)) + 4|0); + $7010 = HEAP32[$7009>>2]|0; + HEAP32[$249>>2] = $7010; + $7011 = HEAP32[$249>>2]|0; + $7012 = (_sqlite3BtreeIncrVacuum($7011)|0); + HEAP32[$4>>2] = $7012; + $7013 = HEAP32[$4>>2]|0; + $7014 = ($7013|0)!=(0); + if ($7014) { + $7015 = HEAP32[$4>>2]|0; + $7016 = ($7015|0)!=(101); + if ($7016) { + break L1; + } + HEAP32[$4>>2] = 0; + label = 14; + } + break; + } + case 150: { + $7017 = HEAP32[$3>>2]|0; + $7018 = ((($7017)) + 4|0); + $7019 = HEAP32[$7018>>2]|0; + $7020 = ($7019|0)!=(0); + if ($7020) { + $7022 = HEAP32[$1>>2]|0; + $7023 = ((($7022)) + 144|0); + $7024 = HEAP16[$7023>>1]|0; + $7025 = $7024 & -2; + $7026 = $7025 | 1; + HEAP16[$7023>>1] = $7026; + break L10; + } else { + $7021 = HEAP32[$5>>2]|0; + _sqlite3ExpirePreparedStatements($7021); + break L10; + } + break; + } + case 151: { + $7027 = HEAP32[$3>>2]|0; + $7028 = ((($7027)) + 12|0); + $7029 = HEAP32[$7028>>2]|0; + $7030 = $7029&255; + HEAP8[$250>>0] = $7030; + $7031 = HEAP8[$250>>0]|0; + $7032 = $7031&255; + $7033 = ($7032|0)!=(0); + if (!($7033)) { + $7034 = HEAP32[$5>>2]|0; + $7035 = ((($7034)) + 24|0); + $7036 = HEAP32[$7035>>2]|0; + $7037 = $7036 & 16384; + $7038 = (0)==($7037|0); + if (!($7038)) { + break L10; + } + } + $7039 = HEAP32[$3>>2]|0; + $7040 = ((($7039)) + 4|0); + $7041 = HEAP32[$7040>>2]|0; + HEAP32[$251>>2] = $7041; + $7042 = HEAP32[$5>>2]|0; + $7043 = ((($7042)) + 16|0); + $7044 = HEAP32[$7043>>2]|0; + $7045 = HEAP32[$251>>2]|0; + $7046 = (($7044) + ($7045<<4)|0); + $7047 = ((($7046)) + 4|0); + $7048 = HEAP32[$7047>>2]|0; + $7049 = HEAP32[$3>>2]|0; + $7050 = ((($7049)) + 8|0); + $7051 = HEAP32[$7050>>2]|0; + $7052 = HEAP8[$250>>0]|0; + $7053 = (_sqlite3BtreeLockTable($7048,$7051,$7052)|0); + HEAP32[$4>>2] = $7053; + $7054 = HEAP32[$4>>2]|0; + $7055 = ($7054|0)!=(0); + if ($7055) { + label = 803; + break L8; + } + break; + } + case 152: { + $7064 = HEAP32[$3>>2]|0; + $7065 = ((($7064)) + 16|0); + $7066 = HEAP32[$7065>>2]|0; + HEAP32[$253>>2] = $7066; + $7067 = HEAP32[$5>>2]|0; + $7068 = HEAP32[$253>>2]|0; + $7069 = (_sqlite3VtabBegin($7067,$7068)|0); + HEAP32[$4>>2] = $7069; + $7070 = HEAP32[$253>>2]|0; + $7071 = ($7070|0)!=(0|0); + if ($7071) { + $7072 = HEAP32[$1>>2]|0; + $7073 = HEAP32[$253>>2]|0; + $7074 = ((($7073)) + 8|0); + $7075 = HEAP32[$7074>>2]|0; + _sqlite3VtabImportErrmsg($7072,$7075); + } + $7076 = HEAP32[$4>>2]|0; + $7077 = ($7076|0)!=(0); + if ($7077) { + break L1; + } + break; + } + case 153: { + dest=$254; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $7078 = HEAP32[$5>>2]|0; + $7079 = ((($254)) + 32|0); + HEAP32[$7079>>2] = $7078; + $7080 = HEAP32[$11>>2]|0; + $7081 = HEAP32[$3>>2]|0; + $7082 = ((($7081)) + 8|0); + $7083 = HEAP32[$7082>>2]|0; + $7084 = (($7080) + (($7083*40)|0)|0); + $7085 = (_sqlite3VdbeMemCopy($254,$7084)|0); + HEAP32[$4>>2] = $7085; + $7086 = (_sqlite3_value_text($254)|0); + HEAP32[$255>>2] = $7086; + $7087 = HEAP32[$255>>2]|0; + $7088 = ($7087|0)!=(0|0); + if ($7088) { + $7089 = HEAP32[$5>>2]|0; + $7090 = HEAP32[$3>>2]|0; + $7091 = ((($7090)) + 4|0); + $7092 = HEAP32[$7091>>2]|0; + $7093 = HEAP32[$255>>2]|0; + $7094 = HEAP32[$1>>2]|0; + $7095 = ((($7094)) + 108|0); + $7096 = (_sqlite3VtabCallCreate($7089,$7092,$7093,$7095)|0); + HEAP32[$4>>2] = $7096; + } + _sqlite3VdbeMemRelease($254); + $7097 = HEAP32[$4>>2]|0; + $7098 = ($7097|0)!=(0); + if ($7098) { + break L1; + } + break; + } + case 154: { + $7099 = HEAP32[$5>>2]|0; + $7100 = ((($7099)) + 172|0); + $7101 = HEAP32[$7100>>2]|0; + $7102 = (($7101) + 1)|0; + HEAP32[$7100>>2] = $7102; + $7103 = HEAP32[$5>>2]|0; + $7104 = HEAP32[$3>>2]|0; + $7105 = ((($7104)) + 4|0); + $7106 = HEAP32[$7105>>2]|0; + $7107 = HEAP32[$3>>2]|0; + $7108 = ((($7107)) + 16|0); + $7109 = HEAP32[$7108>>2]|0; + $7110 = (_sqlite3VtabCallDestroy($7103,$7106,$7109)|0); + HEAP32[$4>>2] = $7110; + $7111 = HEAP32[$5>>2]|0; + $7112 = ((($7111)) + 172|0); + $7113 = HEAP32[$7112>>2]|0; + $7114 = (($7113) + -1)|0; + HEAP32[$7112>>2] = $7114; + $7115 = HEAP32[$4>>2]|0; + $7116 = ($7115|0)!=(0); + if ($7116) { + break L1; + } + break; + } + case 155: { + HEAP32[$256>>2] = 0; + HEAP32[$257>>2] = 0; + $7117 = HEAP32[$3>>2]|0; + $7118 = ((($7117)) + 16|0); + $7119 = HEAP32[$7118>>2]|0; + $7120 = ((($7119)) + 8|0); + $7121 = HEAP32[$7120>>2]|0; + HEAP32[$258>>2] = $7121; + $7122 = HEAP32[$258>>2]|0; + $7123 = ($7122|0)==(0|0); + if ($7123) { + label = 814; + break L8; + } + $7124 = HEAP32[$258>>2]|0; + $7125 = HEAP32[$7124>>2]|0; + $7126 = ($7125|0)==(0|0); + if ($7126) { + label = 814; + break L8; + } + $7127 = HEAP32[$258>>2]|0; + $7128 = HEAP32[$7127>>2]|0; + HEAP32[$259>>2] = $7128; + $7129 = HEAP32[$259>>2]|0; + $7130 = ((($7129)) + 24|0); + $7131 = HEAP32[$7130>>2]|0; + $7132 = HEAP32[$258>>2]|0; + $7133 = (FUNCTION_TABLE_iii[$7131 & 255]($7132,$257)|0); + HEAP32[$4>>2] = $7133; + $7134 = HEAP32[$1>>2]|0; + $7135 = HEAP32[$258>>2]|0; + _sqlite3VtabImportErrmsg($7134,$7135); + $7136 = HEAP32[$4>>2]|0; + $7137 = ($7136|0)!=(0); + if ($7137) { + break L1; + } + $7138 = HEAP32[$258>>2]|0; + $7139 = HEAP32[$257>>2]|0; + HEAP32[$7139>>2] = $7138; + $7140 = HEAP32[$1>>2]|0; + $7141 = HEAP32[$3>>2]|0; + $7142 = ((($7141)) + 4|0); + $7143 = HEAP32[$7142>>2]|0; + $7144 = (_allocateCursor($7140,$7143,0,-1,2)|0); + HEAP32[$256>>2] = $7144; + $7145 = HEAP32[$256>>2]|0; + $7146 = ($7145|0)!=(0|0); + if (!($7146)) { + label = 818; + break L8; + } + $7147 = HEAP32[$257>>2]|0; + $7148 = HEAP32[$256>>2]|0; + $7149 = ((($7148)) + 16|0); + HEAP32[$7149>>2] = $7147; + $7150 = HEAP32[$258>>2]|0; + $7151 = ((($7150)) + 4|0); + $7152 = HEAP32[$7151>>2]|0; + $7153 = (($7152) + 1)|0; + HEAP32[$7151>>2] = $7153; + break; + } + case 11: { + $7158 = HEAP32[$11>>2]|0; + $7159 = HEAP32[$3>>2]|0; + $7160 = ((($7159)) + 12|0); + $7161 = HEAP32[$7160>>2]|0; + $7162 = (($7158) + (($7161*40)|0)|0); + HEAP32[$263>>2] = $7162; + $7163 = HEAP32[$263>>2]|0; + $7164 = ((($7163)) + 40|0); + HEAP32[$264>>2] = $7164; + $7165 = HEAP32[$1>>2]|0; + $7166 = ((($7165)) + 112|0); + $7167 = HEAP32[$7166>>2]|0; + $7168 = HEAP32[$3>>2]|0; + $7169 = ((($7168)) + 4|0); + $7170 = HEAP32[$7169>>2]|0; + $7171 = (($7167) + ($7170<<2)|0); + $7172 = HEAP32[$7171>>2]|0; + HEAP32[$267>>2] = $7172; + $7173 = HEAP32[$267>>2]|0; + $7174 = ((($7173)) + 16|0); + $7175 = HEAP32[$7174>>2]|0; + HEAP32[$265>>2] = $7175; + $7176 = HEAP32[$265>>2]|0; + $7177 = HEAP32[$7176>>2]|0; + HEAP32[$266>>2] = $7177; + $7178 = HEAP32[$266>>2]|0; + $7179 = HEAP32[$7178>>2]|0; + HEAP32[$262>>2] = $7179; + $7180 = HEAP32[$264>>2]|0; + $7181 = $7180; + $7182 = $7181; + $7183 = HEAP32[$7182>>2]|0; + $7184 = (($7181) + 4)|0; + $7185 = $7184; + $7186 = HEAP32[$7185>>2]|0; + HEAP32[$260>>2] = $7183; + $7187 = HEAP32[$263>>2]|0; + $7188 = $7187; + $7189 = $7188; + $7190 = HEAP32[$7189>>2]|0; + $7191 = (($7188) + 4)|0; + $7192 = $7191; + $7193 = HEAP32[$7192>>2]|0; + HEAP32[$261>>2] = $7190; + HEAP32[$268>>2] = 0; + $7194 = HEAP32[$1>>2]|0; + $7195 = ((($7194)) + 96|0); + $7196 = HEAP32[$7195>>2]|0; + HEAP32[$270>>2] = $7196; + HEAP32[$269>>2] = 0; + while(1) { + $7197 = HEAP32[$269>>2]|0; + $7198 = HEAP32[$260>>2]|0; + $7199 = ($7197|0)<($7198|0); + if (!($7199)) { + break; + } + $7200 = HEAP32[$264>>2]|0; + $7201 = HEAP32[$269>>2]|0; + $7202 = (($7201) + 1)|0; + $7203 = (($7200) + (($7202*40)|0)|0); + $7204 = HEAP32[$270>>2]|0; + $7205 = HEAP32[$269>>2]|0; + $7206 = (($7204) + ($7205<<2)|0); + HEAP32[$7206>>2] = $7203; + $7207 = HEAP32[$269>>2]|0; + $7208 = (($7207) + 1)|0; + HEAP32[$269>>2] = $7208; + } + $7209 = HEAP32[$262>>2]|0; + $7210 = ((($7209)) + 32|0); + $7211 = HEAP32[$7210>>2]|0; + $7212 = HEAP32[$265>>2]|0; + $7213 = HEAP32[$261>>2]|0; + $7214 = HEAP32[$3>>2]|0; + $7215 = ((($7214)) + 16|0); + $7216 = HEAP32[$7215>>2]|0; + $7217 = HEAP32[$260>>2]|0; + $7218 = HEAP32[$270>>2]|0; + $7219 = (FUNCTION_TABLE_iiiiii[$7211 & 255]($7212,$7213,$7216,$7217,$7218)|0); + HEAP32[$4>>2] = $7219; + $7220 = HEAP32[$1>>2]|0; + $7221 = HEAP32[$266>>2]|0; + _sqlite3VtabImportErrmsg($7220,$7221); + $7222 = HEAP32[$4>>2]|0; + $7223 = ($7222|0)!=(0); + if ($7223) { + break L1; + } + $7224 = HEAP32[$262>>2]|0; + $7225 = ((($7224)) + 40|0); + $7226 = HEAP32[$7225>>2]|0; + $7227 = HEAP32[$265>>2]|0; + $7228 = (FUNCTION_TABLE_ii[$7226 & 255]($7227)|0); + HEAP32[$268>>2] = $7228; + $7229 = HEAP32[$267>>2]|0; + $7230 = ((($7229)) + 2|0); + HEAP8[$7230>>0] = 0; + $7231 = HEAP32[$268>>2]|0; + $7232 = ($7231|0)!=(0); + if ($7232) { + label = 14; + } + break; + } + case 156: { + $7233 = HEAP32[$1>>2]|0; + $7234 = ((($7233)) + 112|0); + $7235 = HEAP32[$7234>>2]|0; + $7236 = HEAP32[$3>>2]|0; + $7237 = ((($7236)) + 4|0); + $7238 = HEAP32[$7237>>2]|0; + $7239 = (($7235) + ($7238<<2)|0); + $7240 = HEAP32[$7239>>2]|0; + HEAP32[$275>>2] = $7240; + $7241 = HEAP32[$11>>2]|0; + $7242 = HEAP32[$3>>2]|0; + $7243 = ((($7242)) + 12|0); + $7244 = HEAP32[$7243>>2]|0; + $7245 = (($7241) + (($7244*40)|0)|0); + HEAP32[$273>>2] = $7245; + $7246 = HEAP32[$275>>2]|0; + $7247 = ((($7246)) + 2|0); + $7248 = HEAP8[$7247>>0]|0; + $7249 = ($7248<<24>>24)!=(0); + if ($7249) { + $7250 = HEAP32[$273>>2]|0; + _sqlite3VdbeMemSetNull($7250); + break L10; + } + $7251 = HEAP32[$275>>2]|0; + $7252 = ((($7251)) + 16|0); + $7253 = HEAP32[$7252>>2]|0; + $7254 = HEAP32[$7253>>2]|0; + HEAP32[$271>>2] = $7254; + $7255 = HEAP32[$271>>2]|0; + $7256 = HEAP32[$7255>>2]|0; + HEAP32[$272>>2] = $7256; + ;HEAP32[$274>>2]=0|0;HEAP32[$274+4>>2]=0|0;HEAP32[$274+8>>2]=0|0;HEAP32[$274+12>>2]=0|0;HEAP32[$274+16>>2]=0|0;HEAP32[$274+20>>2]=0|0;HEAP32[$274+24>>2]=0|0;HEAP32[$274+28>>2]=0|0; + $7257 = HEAP32[$273>>2]|0; + HEAP32[$274>>2] = $7257; + $7258 = HEAP32[$273>>2]|0; + $7259 = ((($7258)) + 8|0); + $7260 = HEAP16[$7259>>1]|0; + $7261 = $7260&65535; + $7262 = $7261 & -49664; + $7263 = $7262 | 1; + $7264 = $7263&65535; + $7265 = HEAP32[$273>>2]|0; + $7266 = ((($7265)) + 8|0); + HEAP16[$7266>>1] = $7264; + $7267 = HEAP32[$272>>2]|0; + $7268 = ((($7267)) + 44|0); + $7269 = HEAP32[$7268>>2]|0; + $7270 = HEAP32[$275>>2]|0; + $7271 = ((($7270)) + 16|0); + $7272 = HEAP32[$7271>>2]|0; + $7273 = HEAP32[$3>>2]|0; + $7274 = ((($7273)) + 8|0); + $7275 = HEAP32[$7274>>2]|0; + $7276 = (FUNCTION_TABLE_iiii[$7269 & 255]($7272,$274,$7275)|0); + HEAP32[$4>>2] = $7276; + $7277 = HEAP32[$1>>2]|0; + $7278 = HEAP32[$271>>2]|0; + _sqlite3VtabImportErrmsg($7277,$7278); + $7279 = ((($274)) + 20|0); + $7280 = HEAP32[$7279>>2]|0; + $7281 = ($7280|0)!=(0); + if ($7281) { + $7282 = ((($274)) + 20|0); + $7283 = HEAP32[$7282>>2]|0; + HEAP32[$4>>2] = $7283; + } + $7284 = HEAP32[$273>>2]|0; + $7285 = HEAP8[$7>>0]|0; + $7286 = $7285&255; + (_sqlite3VdbeChangeEncoding($7284,$7286)|0); + $7287 = HEAP32[$273>>2]|0; + $7288 = (_sqlite3VdbeMemTooBig($7287)|0); + $7289 = ($7288|0)!=(0); + if ($7289) { + label = 886; + break L8; + } + $7290 = HEAP32[$4>>2]|0; + $7291 = ($7290|0)!=(0); + if ($7291) { + break L1; + } + break; + } + case 70: { + HEAP32[$278>>2] = 0; + $7292 = HEAP32[$1>>2]|0; + $7293 = ((($7292)) + 112|0); + $7294 = HEAP32[$7293>>2]|0; + $7295 = HEAP32[$3>>2]|0; + $7296 = ((($7295)) + 4|0); + $7297 = HEAP32[$7296>>2]|0; + $7298 = (($7294) + ($7297<<2)|0); + $7299 = HEAP32[$7298>>2]|0; + HEAP32[$279>>2] = $7299; + $7300 = HEAP32[$279>>2]|0; + $7301 = ((($7300)) + 2|0); + $7302 = HEAP8[$7301>>0]|0; + $7303 = ($7302<<24>>24)!=(0); + if (!($7303)) { + $7304 = HEAP32[$279>>2]|0; + $7305 = ((($7304)) + 16|0); + $7306 = HEAP32[$7305>>2]|0; + $7307 = HEAP32[$7306>>2]|0; + HEAP32[$276>>2] = $7307; + $7308 = HEAP32[$276>>2]|0; + $7309 = HEAP32[$7308>>2]|0; + HEAP32[$277>>2] = $7309; + $7310 = HEAP32[$277>>2]|0; + $7311 = ((($7310)) + 36|0); + $7312 = HEAP32[$7311>>2]|0; + $7313 = HEAP32[$279>>2]|0; + $7314 = ((($7313)) + 16|0); + $7315 = HEAP32[$7314>>2]|0; + $7316 = (FUNCTION_TABLE_ii[$7312 & 255]($7315)|0); + HEAP32[$4>>2] = $7316; + $7317 = HEAP32[$1>>2]|0; + $7318 = HEAP32[$276>>2]|0; + _sqlite3VtabImportErrmsg($7317,$7318); + $7319 = HEAP32[$4>>2]|0; + $7320 = ($7319|0)!=(0); + if ($7320) { + break L1; + } + $7321 = HEAP32[$277>>2]|0; + $7322 = ((($7321)) + 40|0); + $7323 = HEAP32[$7322>>2]|0; + $7324 = HEAP32[$279>>2]|0; + $7325 = ((($7324)) + 16|0); + $7326 = HEAP32[$7325>>2]|0; + $7327 = (FUNCTION_TABLE_ii[$7323 & 255]($7326)|0); + HEAP32[$278>>2] = $7327; + $7328 = HEAP32[$278>>2]|0; + $7329 = ($7328|0)!=(0); + if ($7329) { + label = 8; + } else { + label = 7; + } + } + break; + } + case 157: { + $7330 = HEAP32[$3>>2]|0; + $7331 = ((($7330)) + 16|0); + $7332 = HEAP32[$7331>>2]|0; + $7333 = ((($7332)) + 8|0); + $7334 = HEAP32[$7333>>2]|0; + HEAP32[$280>>2] = $7334; + $7335 = HEAP32[$11>>2]|0; + $7336 = HEAP32[$3>>2]|0; + $7337 = ((($7336)) + 4|0); + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7335) + (($7338*40)|0)|0); + HEAP32[$281>>2] = $7339; + $7340 = HEAP32[$281>>2]|0; + $7341 = (_sqlite3VdbeChangeEncoding($7340,1)|0); + HEAP32[$4>>2] = $7341; + $7342 = HEAP32[$4>>2]|0; + $7343 = ($7342|0)!=(0); + if ($7343) { + break L1; + } + $7344 = HEAP32[$280>>2]|0; + $7345 = HEAP32[$7344>>2]|0; + $7346 = ((($7345)) + 76|0); + $7347 = HEAP32[$7346>>2]|0; + $7348 = HEAP32[$280>>2]|0; + $7349 = HEAP32[$281>>2]|0; + $7350 = ((($7349)) + 16|0); + $7351 = HEAP32[$7350>>2]|0; + $7352 = (FUNCTION_TABLE_iii[$7347 & 255]($7348,$7351)|0); + HEAP32[$4>>2] = $7352; + $7353 = HEAP32[$1>>2]|0; + $7354 = HEAP32[$280>>2]|0; + _sqlite3VtabImportErrmsg($7353,$7354); + $7355 = HEAP32[$1>>2]|0; + $7356 = ((($7355)) + 144|0); + $7357 = HEAP16[$7356>>1]|0; + $7358 = $7357 & -2; + HEAP16[$7356>>1] = $7358; + $7359 = HEAP32[$4>>2]|0; + $7360 = ($7359|0)!=(0); + if ($7360) { + break L1; + } + break; + } + case 12: { + $7361 = HEAP32[$3>>2]|0; + $7362 = ((($7361)) + 16|0); + $7363 = HEAP32[$7362>>2]|0; + $7364 = ((($7363)) + 8|0); + $7365 = HEAP32[$7364>>2]|0; + HEAP32[$282>>2] = $7365; + $7366 = HEAP32[$282>>2]|0; + $7367 = ($7366|0)==(0|0); + if ($7367) { + label = 837; + break L8; + } + $7368 = HEAP32[$282>>2]|0; + $7369 = HEAP32[$7368>>2]|0; + $7370 = ($7369|0)==(0|0); + if ($7370) { + label = 837; + break L8; + } + $7371 = HEAP32[$282>>2]|0; + $7372 = HEAP32[$7371>>2]|0; + HEAP32[$283>>2] = $7372; + $7373 = HEAP32[$3>>2]|0; + $7374 = ((($7373)) + 8|0); + $7375 = HEAP32[$7374>>2]|0; + HEAP32[$284>>2] = $7375; + $7376 = HEAP32[$283>>2]|0; + $7377 = ((($7376)) + 52|0); + $7378 = HEAP32[$7377>>2]|0; + $7379 = ($7378|0)!=(0|0); + if ($7379) { + $7380 = HEAP32[$5>>2]|0; + $7381 = ((($7380)) + 74|0); + $7382 = HEAP8[$7381>>0]|0; + HEAP8[$289>>0] = $7382; + $7383 = HEAP32[$1>>2]|0; + $7384 = ((($7383)) + 96|0); + $7385 = HEAP32[$7384>>2]|0; + HEAP32[$287>>2] = $7385; + $7386 = HEAP32[$11>>2]|0; + $7387 = HEAP32[$3>>2]|0; + $7388 = ((($7387)) + 12|0); + $7389 = HEAP32[$7388>>2]|0; + $7390 = (($7386) + (($7389*40)|0)|0); + HEAP32[$288>>2] = $7390; + HEAP32[$285>>2] = 0; + while(1) { + $7391 = HEAP32[$285>>2]|0; + $7392 = HEAP32[$284>>2]|0; + $7393 = ($7391|0)<($7392|0); + if (!($7393)) { + break; + } + $7394 = HEAP32[$288>>2]|0; + $7395 = HEAP32[$287>>2]|0; + $7396 = HEAP32[$285>>2]|0; + $7397 = (($7395) + ($7396<<2)|0); + HEAP32[$7397>>2] = $7394; + $7398 = HEAP32[$288>>2]|0; + $7399 = ((($7398)) + 40|0); + HEAP32[$288>>2] = $7399; + $7400 = HEAP32[$285>>2]|0; + $7401 = (($7400) + 1)|0; + HEAP32[$285>>2] = $7401; + } + $7402 = HEAP32[$3>>2]|0; + $7403 = ((($7402)) + 3|0); + $7404 = HEAP8[$7403>>0]|0; + $7405 = HEAP32[$5>>2]|0; + $7406 = ((($7405)) + 74|0); + HEAP8[$7406>>0] = $7404; + $7407 = HEAP32[$283>>2]|0; + $7408 = ((($7407)) + 52|0); + $7409 = HEAP32[$7408>>2]|0; + $7410 = HEAP32[$282>>2]|0; + $7411 = HEAP32[$284>>2]|0; + $7412 = HEAP32[$287>>2]|0; + $7413 = (FUNCTION_TABLE_iiiii[$7409 & 255]($7410,$7411,$7412,$286)|0); + HEAP32[$4>>2] = $7413; + $7414 = HEAP8[$289>>0]|0; + $7415 = HEAP32[$5>>2]|0; + $7416 = ((($7415)) + 74|0); + HEAP8[$7416>>0] = $7414; + $7417 = HEAP32[$1>>2]|0; + $7418 = HEAP32[$282>>2]|0; + _sqlite3VtabImportErrmsg($7417,$7418); + $7419 = HEAP32[$4>>2]|0; + $7420 = ($7419|0)==(0); + if ($7420) { + $7421 = HEAP32[$3>>2]|0; + $7422 = ((($7421)) + 4|0); + $7423 = HEAP32[$7422>>2]|0; + $7424 = ($7423|0)!=(0); + if ($7424) { + $7425 = $286; + $7426 = $7425; + $7427 = HEAP32[$7426>>2]|0; + $7428 = (($7425) + 4)|0; + $7429 = $7428; + $7430 = HEAP32[$7429>>2]|0; + $7431 = $17; + $7432 = $7431; + HEAP32[$7432>>2] = $7427; + $7433 = (($7431) + 4)|0; + $7434 = $7433; + HEAP32[$7434>>2] = $7430; + $7435 = HEAP32[$5>>2]|0; + $7436 = ((($7435)) + 32|0); + $7437 = $7436; + $7438 = $7437; + HEAP32[$7438>>2] = $7427; + $7439 = (($7437) + 4)|0; + $7440 = $7439; + HEAP32[$7440>>2] = $7430; + } + } + $7441 = HEAP32[$4>>2]|0; + $7442 = $7441 & 255; + $7443 = ($7442|0)==(19); + do { + if ($7443) { + $7444 = HEAP32[$3>>2]|0; + $7445 = ((($7444)) + 16|0); + $7446 = HEAP32[$7445>>2]|0; + $7447 = ((($7446)) + 16|0); + $7448 = HEAP8[$7447>>0]|0; + $7449 = $7448&255; + $7450 = ($7449|0)!=(0); + if ($7450) { + $7451 = HEAP32[$3>>2]|0; + $7452 = ((($7451)) + 3|0); + $7453 = HEAP8[$7452>>0]|0; + $7454 = $7453&255; + $7455 = ($7454|0)==(4); + if ($7455) { + HEAP32[$4>>2] = 0; + break; + } + $7456 = HEAP32[$3>>2]|0; + $7457 = ((($7456)) + 3|0); + $7458 = HEAP8[$7457>>0]|0; + $7459 = $7458&255; + $7460 = ($7459|0)==(5); + if ($7460) { + $7466 = 2; + } else { + $7461 = HEAP32[$3>>2]|0; + $7462 = ((($7461)) + 3|0); + $7463 = HEAP8[$7462>>0]|0; + $7464 = $7463&255; + $7466 = $7464; + } + $7465 = $7466&255; + $7467 = HEAP32[$1>>2]|0; + $7468 = ((($7467)) + 142|0); + HEAP8[$7468>>0] = $7465; + } else { + label = 852; + } + } else { + label = 852; + } + } while(0); + if ((label|0) == 852) { + label = 0; + $7469 = HEAP32[$1>>2]|0; + $7470 = ((($7469)) + 44|0); + $7471 = HEAP32[$7470>>2]|0; + $7472 = (($7471) + 1)|0; + HEAP32[$7470>>2] = $7472; + } + $7473 = HEAP32[$4>>2]|0; + $7474 = ($7473|0)!=(0); + if ($7474) { + break L1; + } + } + break; + } + case 158: { + $7475 = HEAP32[$1>>2]|0; + $7476 = HEAP32[$3>>2]|0; + $7477 = (_out2Prerelease($7475,$7476)|0); + HEAP32[$15>>2] = $7477; + $7478 = HEAP32[$5>>2]|0; + $7479 = ((($7478)) + 16|0); + $7480 = HEAP32[$7479>>2]|0; + $7481 = HEAP32[$3>>2]|0; + $7482 = ((($7481)) + 4|0); + $7483 = HEAP32[$7482>>2]|0; + $7484 = (($7480) + ($7483<<4)|0); + $7485 = ((($7484)) + 4|0); + $7486 = HEAP32[$7485>>2]|0; + $7487 = (_sqlite3BtreeLastPage($7486)|0); + $7488 = HEAP32[$15>>2]|0; + $7489 = $7488; + $7490 = $7489; + HEAP32[$7490>>2] = $7487; + $7491 = (($7489) + 4)|0; + $7492 = $7491; + HEAP32[$7492>>2] = 0; + break; + } + case 159: { + $7493 = HEAP32[$1>>2]|0; + $7494 = HEAP32[$3>>2]|0; + $7495 = (_out2Prerelease($7493,$7494)|0); + HEAP32[$15>>2] = $7495; + $7496 = HEAP32[$5>>2]|0; + $7497 = ((($7496)) + 16|0); + $7498 = HEAP32[$7497>>2]|0; + $7499 = HEAP32[$3>>2]|0; + $7500 = ((($7499)) + 4|0); + $7501 = HEAP32[$7500>>2]|0; + $7502 = (($7498) + ($7501<<4)|0); + $7503 = ((($7502)) + 4|0); + $7504 = HEAP32[$7503>>2]|0; + HEAP32[$291>>2] = $7504; + HEAP32[$290>>2] = 0; + $7505 = HEAP32[$3>>2]|0; + $7506 = ((($7505)) + 12|0); + $7507 = HEAP32[$7506>>2]|0; + $7508 = ($7507|0)!=(0); + if ($7508) { + $7509 = HEAP32[$291>>2]|0; + $7510 = (_sqlite3BtreeLastPage($7509)|0); + HEAP32[$290>>2] = $7510; + $7511 = HEAP32[$290>>2]|0; + $7512 = HEAP32[$3>>2]|0; + $7513 = ((($7512)) + 12|0); + $7514 = HEAP32[$7513>>2]|0; + $7515 = ($7511>>>0)<($7514>>>0); + if ($7515) { + $7516 = HEAP32[$3>>2]|0; + $7517 = ((($7516)) + 12|0); + $7518 = HEAP32[$7517>>2]|0; + HEAP32[$290>>2] = $7518; + } + } + $7519 = HEAP32[$291>>2]|0; + $7520 = HEAP32[$290>>2]|0; + $7521 = (_sqlite3BtreeMaxPageCount($7519,$7520)|0); + $7522 = ($7521|0)<(0); + $7523 = $7522 << 31 >> 31; + $7524 = HEAP32[$15>>2]|0; + $7525 = $7524; + $7526 = $7525; + HEAP32[$7526>>2] = $7521; + $7527 = (($7525) + 4)|0; + $7528 = $7527; + HEAP32[$7528>>2] = $7523; + break; + } + case 71: { + $7529 = HEAP32[$5>>2]|0; + $7530 = ((($7529)) + 76|0); + $7531 = HEAP8[$7530>>0]|0; + $7532 = $7531&255; + $7533 = $7532 & 129; + $7534 = ($7533|0)!=(0); + do { + if ($7534) { + $7535 = HEAP32[$1>>2]|0; + $7536 = ((($7535)) + 144|0); + $7537 = HEAP16[$7536>>1]|0; + $7538 = ($7537&65535) >>> 1; + $7539 = $7538 & 1; + $7540 = $7539&65535; + $7541 = ($7540|0)!=(0); + if (!($7541)) { + $7542 = HEAP32[$3>>2]|0; + $7543 = ((($7542)) + 16|0); + $7544 = HEAP32[$7543>>2]|0; + $7545 = ($7544|0)!=(0|0); + if ($7545) { + $7546 = HEAP32[$3>>2]|0; + $7547 = ((($7546)) + 16|0); + $7548 = HEAP32[$7547>>2]|0; + $7552 = $7548; + } else { + $7549 = HEAP32[$1>>2]|0; + $7550 = ((($7549)) + 176|0); + $7551 = HEAP32[$7550>>2]|0; + $7552 = $7551; + } + HEAP32[$292>>2] = $7552; + $7553 = ($7552|0)!=(0|0); + if ($7553) { + $7554 = HEAP32[$5>>2]|0; + $7555 = ((($7554)) + 76|0); + $7556 = HEAP8[$7555>>0]|0; + $7557 = $7556&255; + $7558 = $7557 & 128; + $7559 = ($7558|0)!=(0); + $7560 = HEAP32[$5>>2]|0; + $7561 = ((($7560)) + 184|0); + $7562 = HEAP32[$7561>>2]|0; + if ($7559) { + HEAP32[$294>>2] = $7562; + $7563 = HEAP32[$1>>2]|0; + $7564 = HEAP32[$292>>2]|0; + $7565 = (_sqlite3VdbeExpandSql($7563,$7564)|0); + HEAP32[$295>>2] = $7565; + $7566 = HEAP32[$294>>2]|0; + $7567 = HEAP32[$5>>2]|0; + $7568 = ((($7567)) + 188|0); + $7569 = HEAP32[$7568>>2]|0; + $7570 = HEAP32[$295>>2]|0; + FUNCTION_TABLE_vii[$7566 & 255]($7569,$7570); + $7571 = HEAP32[$295>>2]|0; + _sqlite3_free($7571); + break; + } else { + $7572 = HEAP32[$5>>2]|0; + $7573 = ((($7572)) + 188|0); + $7574 = HEAP32[$7573>>2]|0; + $7575 = HEAP32[$1>>2]|0; + $7576 = HEAP32[$292>>2]|0; + (FUNCTION_TABLE_iiiii[$7562 & 255](1,$7574,$7575,$7576)|0); + break; + } + } + } + } + } while(0); + $7577 = HEAP32[$3>>2]|0; + $7578 = ((($7577)) + 4|0); + $7579 = HEAP32[$7578>>2]|0; + $7580 = HEAP32[(280)>>2]|0; + $7581 = ($7579|0)>=($7580|0); + if ($7581) { + HEAP32[$293>>2] = 1; + while(1) { + $7582 = HEAP32[$293>>2]|0; + $7583 = HEAP32[$1>>2]|0; + $7584 = ((($7583)) + 136|0); + $7585 = HEAP32[$7584>>2]|0; + $7586 = ($7582|0)<($7585|0); + if (!($7586)) { + break; + } + $7587 = HEAP32[$1>>2]|0; + $7588 = ((($7587)) + 88|0); + $7589 = HEAP32[$7588>>2]|0; + $7590 = HEAP32[$293>>2]|0; + $7591 = (($7589) + (($7590*20)|0)|0); + $7592 = HEAP8[$7591>>0]|0; + $7593 = $7592&255; + $7594 = ($7593|0)==(20); + if ($7594) { + $7595 = HEAP32[$1>>2]|0; + $7596 = ((($7595)) + 88|0); + $7597 = HEAP32[$7596>>2]|0; + $7598 = HEAP32[$293>>2]|0; + $7599 = (($7597) + (($7598*20)|0)|0); + $7600 = ((($7599)) + 4|0); + HEAP32[$7600>>2] = 0; + } + $7601 = HEAP32[$293>>2]|0; + $7602 = (($7601) + 1)|0; + HEAP32[$293>>2] = $7602; + } + $7603 = HEAP32[$3>>2]|0; + $7604 = ((($7603)) + 4|0); + HEAP32[$7604>>2] = 0; + } + $7605 = HEAP32[$3>>2]|0; + $7606 = ((($7605)) + 4|0); + $7607 = HEAP32[$7606>>2]|0; + $7608 = (($7607) + 1)|0; + HEAP32[$7606>>2] = $7608; + label = 14; + break; + } + default: { + } + } + } while(0); + do { + if ((label|0) == 20) { + label = 0; + $532 = HEAP32[$3>>2]|0; + $533 = HEAP32[$2>>2]|0; + $534 = $532; + $535 = $533; + $536 = (($534) - ($535))|0; + $537 = (($536|0) / 20)&-1; + HEAP32[$22>>2] = $537; + $538 = HEAP32[$3>>2]|0; + $539 = ((($538)) + 4|0); + $540 = HEAP32[$539>>2]|0; + $541 = ($540|0)==(0); + if (!($541)) { + label = 25; + break L8; + } + $542 = HEAP32[$1>>2]|0; + $543 = ((($542)) + 184|0); + $544 = HEAP32[$543>>2]|0; + $545 = ($544|0)!=(0|0); + if (!($545)) { + label = 25; + break L8; + } + $546 = HEAP32[$1>>2]|0; + $547 = ((($546)) + 184|0); + $548 = HEAP32[$547>>2]|0; + HEAP32[$21>>2] = $548; + $549 = HEAP32[$21>>2]|0; + $550 = ((($549)) + 4|0); + $551 = HEAP32[$550>>2]|0; + $552 = HEAP32[$1>>2]|0; + $553 = ((($552)) + 184|0); + HEAP32[$553>>2] = $551; + $554 = HEAP32[$1>>2]|0; + $555 = ((($554)) + 192|0); + $556 = HEAP32[$555>>2]|0; + $557 = (($556) + -1)|0; + HEAP32[$555>>2] = $557; + $558 = HEAP32[$5>>2]|0; + $559 = HEAP32[$1>>2]|0; + $560 = ((($559)) + 44|0); + $561 = HEAP32[$560>>2]|0; + _sqlite3VdbeSetChanges($558,$561); + $562 = HEAP32[$21>>2]|0; + $563 = (_sqlite3VdbeFrameRestore($562)|0); + HEAP32[$22>>2] = $563; + $564 = HEAP32[$5>>2]|0; + $565 = ((($564)) + 32|0); + $566 = $565; + $567 = $566; + $568 = HEAP32[$567>>2]|0; + $569 = (($566) + 4)|0; + $570 = $569; + $571 = HEAP32[$570>>2]|0; + $572 = $17; + $573 = $572; + HEAP32[$573>>2] = $568; + $574 = (($572) + 4)|0; + $575 = $574; + HEAP32[$575>>2] = $571; + $576 = HEAP32[$3>>2]|0; + $577 = ((($576)) + 8|0); + $578 = HEAP32[$577>>2]|0; + $579 = ($578|0)==(4); + if ($579) { + $580 = HEAP32[$1>>2]|0; + $581 = ((($580)) + 88|0); + $582 = HEAP32[$581>>2]|0; + $583 = HEAP32[$22>>2]|0; + $584 = (($582) + (($583*20)|0)|0); + $585 = ((($584)) + 8|0); + $586 = HEAP32[$585>>2]|0; + $587 = (($586) - 1)|0; + HEAP32[$22>>2] = $587; + } + $588 = HEAP32[$1>>2]|0; + $589 = ((($588)) + 88|0); + $590 = HEAP32[$589>>2]|0; + HEAP32[$2>>2] = $590; + $591 = HEAP32[$1>>2]|0; + $592 = ((($591)) + 92|0); + $593 = HEAP32[$592>>2]|0; + HEAP32[$11>>2] = $593; + $594 = HEAP32[$2>>2]|0; + $595 = HEAP32[$22>>2]|0; + $596 = (($594) + (($595*20)|0)|0); + HEAP32[$3>>2] = $596; + } + else if ((label|0) == 43) { + label = 0; + $761 = HEAP32[$1>>2]|0; + $762 = HEAP32[$3>>2]|0; + $763 = (_out2Prerelease($761,$762)|0); + HEAP32[$15>>2] = $763; + $764 = HEAP32[$15>>2]|0; + $765 = ((($764)) + 8|0); + HEAP16[$765>>1] = 2562; + $766 = HEAP32[$3>>2]|0; + $767 = ((($766)) + 16|0); + $768 = HEAP32[$767>>2]|0; + $769 = HEAP32[$15>>2]|0; + $770 = ((($769)) + 16|0); + HEAP32[$770>>2] = $768; + $771 = HEAP32[$3>>2]|0; + $772 = ((($771)) + 4|0); + $773 = HEAP32[$772>>2]|0; + $774 = HEAP32[$15>>2]|0; + $775 = ((($774)) + 12|0); + HEAP32[$775>>2] = $773; + $776 = HEAP8[$7>>0]|0; + $777 = HEAP32[$15>>2]|0; + $778 = ((($777)) + 10|0); + HEAP8[$778>>0] = $776; + $779 = HEAP32[$3>>2]|0; + $780 = ((($779)) + 12|0); + $781 = HEAP32[$780>>2]|0; + $782 = ($781|0)>(0); + if ($782) { + $783 = HEAP32[$11>>2]|0; + $784 = HEAP32[$3>>2]|0; + $785 = ((($784)) + 12|0); + $786 = HEAP32[$785>>2]|0; + $787 = (($783) + (($786*40)|0)|0); + HEAP32[$14>>2] = $787; + $788 = HEAP32[$14>>2]|0; + $789 = $788; + $790 = $789; + $791 = HEAP32[$790>>2]|0; + $792 = (($789) + 4)|0; + $793 = $792; + $794 = HEAP32[$793>>2]|0; + $795 = HEAP32[$3>>2]|0; + $796 = ((($795)) + 3|0); + $797 = HEAP8[$796>>0]|0; + $798 = $797&255; + $799 = ($791|0)==($798|0); + $800 = ($794|0)==(0); + $801 = $799 & $800; + if ($801) { + $802 = HEAP32[$15>>2]|0; + $803 = ((($802)) + 8|0); + HEAP16[$803>>1] = 2576; + } + } + } + else if ((label|0) == 126) { + label = 0; + $1576 = HEAP32[$3>>2]|0; + $1577 = ((($1576)) + 16|0); + $1578 = HEAP32[$1577>>2]|0; + HEAP32[$44>>2] = $1578; + $1579 = HEAP32[$11>>2]|0; + $1580 = HEAP32[$3>>2]|0; + $1581 = ((($1580)) + 12|0); + $1582 = HEAP32[$1581>>2]|0; + $1583 = (($1579) + (($1582*40)|0)|0); + HEAP32[$15>>2] = $1583; + $1584 = HEAP32[$44>>2]|0; + $1585 = HEAP32[$1584>>2]|0; + $1586 = HEAP32[$15>>2]|0; + $1587 = ($1585|0)!=($1586|0); + L977: do { + if ($1587) { + $1588 = HEAP32[$15>>2]|0; + $1589 = HEAP32[$44>>2]|0; + HEAP32[$1589>>2] = $1588; + $1590 = HEAP32[$44>>2]|0; + $1591 = ((($1590)) + 26|0); + $1592 = HEAP8[$1591>>0]|0; + $1593 = $1592&255; + $1594 = (($1593) - 1)|0; + HEAP32[$43>>2] = $1594; + while(1) { + $1595 = HEAP32[$43>>2]|0; + $1596 = ($1595|0)>=(0); + if (!($1596)) { + break L977; + } + $1597 = HEAP32[$11>>2]|0; + $1598 = HEAP32[$3>>2]|0; + $1599 = ((($1598)) + 8|0); + $1600 = HEAP32[$1599>>2]|0; + $1601 = HEAP32[$43>>2]|0; + $1602 = (($1600) + ($1601))|0; + $1603 = (($1597) + (($1602*40)|0)|0); + $1604 = HEAP32[$44>>2]|0; + $1605 = ((($1604)) + 28|0); + $1606 = HEAP32[$43>>2]|0; + $1607 = (($1605) + ($1606<<2)|0); + HEAP32[$1607>>2] = $1603; + $1608 = HEAP32[$43>>2]|0; + $1609 = (($1608) + -1)|0; + HEAP32[$43>>2] = $1609; + } + } + } while(0); + $1610 = HEAP32[$44>>2]|0; + $1611 = HEAP32[$1610>>2]|0; + $1612 = ((($1611)) + 8|0); + $1613 = HEAP16[$1612>>1]|0; + $1614 = $1613&65535; + $1615 = $1614 & -49664; + $1616 = $1615 | 1; + $1617 = $1616&65535; + $1618 = HEAP32[$44>>2]|0; + $1619 = HEAP32[$1618>>2]|0; + $1620 = ((($1619)) + 8|0); + HEAP16[$1620>>1] = $1617; + $1621 = HEAP32[$44>>2]|0; + $1622 = ((($1621)) + 25|0); + HEAP8[$1622>>0] = 0; + $1623 = $17; + $1624 = $1623; + $1625 = HEAP32[$1624>>2]|0; + $1626 = (($1623) + 4)|0; + $1627 = $1626; + $1628 = HEAP32[$1627>>2]|0; + $1629 = HEAP32[$5>>2]|0; + $1630 = ((($1629)) + 32|0); + $1631 = $1630; + $1632 = $1631; + HEAP32[$1632>>2] = $1625; + $1633 = (($1631) + 4)|0; + $1634 = $1633; + HEAP32[$1634>>2] = $1628; + $1635 = HEAP32[$44>>2]|0; + $1636 = ((($1635)) + 4|0); + $1637 = HEAP32[$1636>>2]|0; + $1638 = ((($1637)) + 12|0); + $1639 = HEAP32[$1638>>2]|0; + $1640 = HEAP32[$44>>2]|0; + $1641 = HEAP32[$44>>2]|0; + $1642 = ((($1641)) + 26|0); + $1643 = HEAP8[$1642>>0]|0; + $1644 = $1643&255; + $1645 = HEAP32[$44>>2]|0; + $1646 = ((($1645)) + 28|0); + FUNCTION_TABLE_viii[$1639 & 255]($1640,$1644,$1646); + $1647 = HEAP32[$5>>2]|0; + $1648 = ((($1647)) + 32|0); + $1649 = $1648; + $1650 = $1649; + $1651 = HEAP32[$1650>>2]|0; + $1652 = (($1649) + 4)|0; + $1653 = $1652; + $1654 = HEAP32[$1653>>2]|0; + $1655 = $17; + $1656 = $1655; + HEAP32[$1656>>2] = $1651; + $1657 = (($1655) + 4)|0; + $1658 = $1657; + HEAP32[$1658>>2] = $1654; + $1659 = HEAP32[$44>>2]|0; + $1660 = ((($1659)) + 25|0); + $1661 = HEAP8[$1660>>0]|0; + $1662 = ($1661<<24>>24)!=(0); + if ($1662) { + $1663 = HEAP32[$44>>2]|0; + $1664 = ((($1663)) + 20|0); + $1665 = HEAP32[$1664>>2]|0; + $1666 = ($1665|0)!=(0); + if ($1666) { + $1667 = HEAP32[$1>>2]|0; + $1668 = HEAP32[$44>>2]|0; + $1669 = HEAP32[$1668>>2]|0; + $1670 = (_sqlite3_value_text($1669)|0); + HEAP32[$vararg_buffer67>>2] = $1670; + _sqlite3VdbeError($1667,21240,$vararg_buffer67); + $1671 = HEAP32[$44>>2]|0; + $1672 = ((($1671)) + 20|0); + $1673 = HEAP32[$1672>>2]|0; + HEAP32[$4>>2] = $1673; + } + $1674 = HEAP32[$5>>2]|0; + $1675 = HEAP32[$1>>2]|0; + $1676 = ((($1675)) + 204|0); + $1677 = HEAP32[$44>>2]|0; + $1678 = ((($1677)) + 16|0); + $1679 = HEAP32[$1678>>2]|0; + $1680 = HEAP32[$3>>2]|0; + $1681 = ((($1680)) + 4|0); + $1682 = HEAP32[$1681>>2]|0; + _sqlite3VdbeDeleteAuxData($1674,$1676,$1679,$1682); + $1683 = HEAP32[$4>>2]|0; + $1684 = ($1683|0)!=(0); + if ($1684) { + break L1; + } + } + $1685 = HEAP32[$15>>2]|0; + $1686 = ((($1685)) + 8|0); + $1687 = HEAP16[$1686>>1]|0; + $1688 = $1687&65535; + $1689 = $1688 & 18; + $1690 = ($1689|0)!=(0); + if ($1690) { + $1691 = HEAP32[$44>>2]|0; + $1692 = HEAP32[$1691>>2]|0; + $1693 = HEAP8[$7>>0]|0; + $1694 = $1693&255; + (_sqlite3VdbeChangeEncoding($1692,$1694)|0); + $1695 = HEAP32[$44>>2]|0; + $1696 = HEAP32[$1695>>2]|0; + $1697 = (_sqlite3VdbeMemTooBig($1696)|0); + $1698 = ($1697|0)!=(0); + if ($1698) { + label = 886; + break L8; + } + } + } + else if ((label|0) == 446) { + label = 0; + $3961 = HEAP32[$1>>2]|0; + $3962 = ((($3961)) + 144|0); + $3963 = HEAP16[$3962>>1]|0; + $3964 = $3963 & 1; + $3965 = $3964&65535; + $3966 = ($3965|0)!=(0); + if ($3966) { + label = 447; + break L8; + } + HEAP32[$120>>2] = 0; + HEAP32[$121>>2] = 0; + $3967 = HEAP32[$3>>2]|0; + $3968 = ((($3967)) + 8|0); + $3969 = HEAP32[$3968>>2]|0; + HEAP32[$122>>2] = $3969; + $3970 = HEAP32[$3>>2]|0; + $3971 = ((($3970)) + 12|0); + $3972 = HEAP32[$3971>>2]|0; + HEAP32[$123>>2] = $3972; + $3973 = HEAP32[$5>>2]|0; + $3974 = ((($3973)) + 16|0); + $3975 = HEAP32[$3974>>2]|0; + $3976 = HEAP32[$123>>2]|0; + $3977 = (($3975) + ($3976<<4)|0); + HEAP32[$127>>2] = $3977; + $3978 = HEAP32[$127>>2]|0; + $3979 = ((($3978)) + 4|0); + $3980 = HEAP32[$3979>>2]|0; + HEAP32[$125>>2] = $3980; + $3981 = HEAP32[$3>>2]|0; + $3982 = HEAP8[$3981>>0]|0; + $3983 = $3982&255; + $3984 = ($3983|0)==(105); + if ($3984) { + $3985 = HEAP32[$3>>2]|0; + $3986 = ((($3985)) + 3|0); + $3987 = HEAP8[$3986>>0]|0; + $3988 = $3987&255; + $3989 = $3988 & 8; + $3990 = 4 | $3989; + HEAP32[$124>>2] = $3990; + $3991 = HEAP32[$127>>2]|0; + $3992 = ((($3991)) + 12|0); + $3993 = HEAP32[$3992>>2]|0; + $3994 = ((($3993)) + 76|0); + $3995 = HEAP8[$3994>>0]|0; + $3996 = $3995&255; + $3997 = HEAP32[$1>>2]|0; + $3998 = ((($3997)) + 143|0); + $3999 = HEAP8[$3998>>0]|0; + $4000 = $3999&255; + $4001 = ($3996|0)<($4000|0); + if ($4001) { + $4002 = HEAP32[$127>>2]|0; + $4003 = ((($4002)) + 12|0); + $4004 = HEAP32[$4003>>2]|0; + $4005 = ((($4004)) + 76|0); + $4006 = HEAP8[$4005>>0]|0; + $4007 = HEAP32[$1>>2]|0; + $4008 = ((($4007)) + 143|0); + HEAP8[$4008>>0] = $4006; + } + } else { + HEAP32[$124>>2] = 0; + } + $4009 = HEAP32[$3>>2]|0; + $4010 = ((($4009)) + 3|0); + $4011 = HEAP8[$4010>>0]|0; + $4012 = $4011&255; + $4013 = $4012 & 16; + $4014 = ($4013|0)!=(0); + if ($4014) { + $4015 = HEAP32[$11>>2]|0; + $4016 = HEAP32[$122>>2]|0; + $4017 = (($4015) + (($4016*40)|0)|0); + HEAP32[$13>>2] = $4017; + $4018 = HEAP32[$13>>2]|0; + (_sqlite3VdbeMemIntegerify($4018)|0); + $4019 = HEAP32[$13>>2]|0; + $4020 = $4019; + $4021 = $4020; + $4022 = HEAP32[$4021>>2]|0; + $4023 = (($4020) + 4)|0; + $4024 = $4023; + $4025 = HEAP32[$4024>>2]|0; + HEAP32[$122>>2] = $4022; + } + $4026 = HEAP32[$3>>2]|0; + $4027 = ((($4026)) + 1|0); + $4028 = HEAP8[$4027>>0]|0; + $4029 = $4028 << 24 >> 24; + $4030 = ($4029|0)==(-6); + $4031 = HEAP32[$3>>2]|0; + if ($4030) { + $4032 = ((($4031)) + 16|0); + $4033 = HEAP32[$4032>>2]|0; + HEAP32[$121>>2] = $4033; + $4034 = HEAP32[$121>>2]|0; + $4035 = ((($4034)) + 6|0); + $4036 = HEAP16[$4035>>1]|0; + $4037 = $4036&65535; + $4038 = HEAP32[$121>>2]|0; + $4039 = ((($4038)) + 8|0); + $4040 = HEAP16[$4039>>1]|0; + $4041 = $4040&65535; + $4042 = (($4037) + ($4041))|0; + HEAP32[$120>>2] = $4042; + } else { + $4043 = ((($4031)) + 1|0); + $4044 = HEAP8[$4043>>0]|0; + $4045 = $4044 << 24 >> 24; + $4046 = ($4045|0)==(-14); + if ($4046) { + $4047 = HEAP32[$3>>2]|0; + $4048 = ((($4047)) + 16|0); + $4049 = HEAP32[$4048>>2]|0; + HEAP32[$120>>2] = $4049; + } + } + $4050 = HEAP32[$1>>2]|0; + $4051 = HEAP32[$3>>2]|0; + $4052 = ((($4051)) + 4|0); + $4053 = HEAP32[$4052>>2]|0; + $4054 = HEAP32[$120>>2]|0; + $4055 = HEAP32[$123>>2]|0; + $4056 = (_allocateCursor($4050,$4053,$4054,$4055,0)|0); + HEAP32[$126>>2] = $4056; + $4057 = HEAP32[$126>>2]|0; + $4058 = ($4057|0)==(0|0); + if ($4058) { + label = 887; + break L1; + } + $4059 = HEAP32[$126>>2]|0; + $4060 = ((($4059)) + 2|0); + HEAP8[$4060>>0] = 1; + $4061 = HEAP32[$126>>2]|0; + $4062 = ((($4061)) + 5|0); + $4063 = HEAP8[$4062>>0]|0; + $4064 = $4063 & -5; + $4065 = $4064 | 4; + HEAP8[$4062>>0] = $4065; + $4066 = HEAP32[$122>>2]|0; + $4067 = HEAP32[$126>>2]|0; + $4068 = ((($4067)) + 8|0); + HEAP32[$4068>>2] = $4066; + $4069 = HEAP32[$125>>2]|0; + $4070 = HEAP32[$122>>2]|0; + $4071 = HEAP32[$124>>2]|0; + $4072 = HEAP32[$121>>2]|0; + $4073 = HEAP32[$126>>2]|0; + $4074 = ((($4073)) + 16|0); + $4075 = HEAP32[$4074>>2]|0; + $4076 = (_sqlite3BtreeCursor($4069,$4070,$4071,$4072,$4075)|0); + HEAP32[$4>>2] = $4076; + $4077 = HEAP32[$121>>2]|0; + $4078 = HEAP32[$126>>2]|0; + $4079 = ((($4078)) + 24|0); + HEAP32[$4079>>2] = $4077; + $4080 = HEAP32[$3>>2]|0; + $4081 = ((($4080)) + 1|0); + $4082 = HEAP8[$4081>>0]|0; + $4083 = $4082 << 24 >> 24; + $4084 = ($4083|0)!=(-6); + $4085 = $4084&1; + $4086 = $4085&255; + $4087 = HEAP32[$126>>2]|0; + $4088 = ((($4087)) + 4|0); + HEAP8[$4088>>0] = $4086; + label = 460; + } + else if ((label|0) == 526) { + label = 0; + $4573 = HEAP32[$11>>2]|0; + $4574 = HEAP32[$3>>2]|0; + $4575 = ((($4574)) + 12|0); + $4576 = HEAP32[$4575>>2]|0; + $4577 = (($4573) + (($4576*40)|0)|0); + HEAP32[$14>>2] = $4577; + $4578 = HEAP32[$1>>2]|0; + $4579 = ((($4578)) + 112|0); + $4580 = HEAP32[$4579>>2]|0; + $4581 = HEAP32[$3>>2]|0; + $4582 = ((($4581)) + 4|0); + $4583 = HEAP32[$4582>>2]|0; + $4584 = (($4580) + ($4583<<2)|0); + $4585 = HEAP32[$4584>>2]|0; + HEAP32[$150>>2] = $4585; + $4586 = HEAP32[$150>>2]|0; + $4587 = ((($4586)) + 16|0); + $4588 = HEAP32[$4587>>2]|0; + HEAP32[$151>>2] = $4588; + HEAP32[$152>>2] = 0; + $4589 = HEAP32[$14>>2]|0; + $4590 = $4589; + $4591 = $4590; + $4592 = HEAP32[$4591>>2]|0; + $4593 = (($4590) + 4)|0; + $4594 = $4593; + $4595 = HEAP32[$4594>>2]|0; + $4596 = $153; + $4597 = $4596; + HEAP32[$4597>>2] = $4592; + $4598 = (($4596) + 4)|0; + $4599 = $4598; + HEAP32[$4599>>2] = $4595; + $4600 = HEAP32[$151>>2]|0; + $4601 = $153; + $4602 = $4601; + $4603 = HEAP32[$4602>>2]|0; + $4604 = (($4601) + 4)|0; + $4605 = $4604; + $4606 = HEAP32[$4605>>2]|0; + $4607 = (_sqlite3BtreeMovetoUnpacked($4600,0,$4603,$4606,0,$152)|0); + HEAP32[$4>>2] = $4607; + $4608 = $153; + $4609 = $4608; + $4610 = HEAP32[$4609>>2]|0; + $4611 = (($4608) + 4)|0; + $4612 = $4611; + $4613 = HEAP32[$4612>>2]|0; + $4614 = HEAP32[$150>>2]|0; + $4615 = ((($4614)) + 40|0); + $4616 = $4615; + $4617 = $4616; + HEAP32[$4617>>2] = $4610; + $4618 = (($4616) + 4)|0; + $4619 = $4618; + HEAP32[$4619>>2] = $4613; + $4620 = HEAP32[$150>>2]|0; + $4621 = ((($4620)) + 2|0); + HEAP8[$4621>>0] = 0; + $4622 = HEAP32[$150>>2]|0; + $4623 = ((($4622)) + 56|0); + HEAP32[$4623>>2] = 0; + $4624 = HEAP32[$150>>2]|0; + $4625 = ((($4624)) + 3|0); + HEAP8[$4625>>0] = 0; + $4626 = HEAP32[$152>>2]|0; + $4627 = HEAP32[$150>>2]|0; + $4628 = ((($4627)) + 28|0); + HEAP32[$4628>>2] = $4626; + $4629 = HEAP32[$152>>2]|0; + $4630 = ($4629|0)!=(0); + if ($4630) { + $4631 = HEAP32[$3>>2]|0; + $4632 = ((($4631)) + 8|0); + $4633 = HEAP32[$4632>>2]|0; + $4634 = ($4633|0)==(0); + if (!($4634)) { + label = 14; + break; + } + $4635 = (_sqlite3CorruptError(81458)|0); + HEAP32[$4>>2] = $4635; + } + $4636 = HEAP32[$4>>2]|0; + $4637 = ($4636|0)!=(0); + if ($4637) { + break L1; + } + } + else if ((label|0) == 619) { + label = 0; + $5425 = HEAP32[$1>>2]|0; + $5426 = ((($5425)) + 112|0); + $5427 = HEAP32[$5426>>2]|0; + $5428 = HEAP32[$3>>2]|0; + $5429 = ((($5428)) + 4|0); + $5430 = HEAP32[$5429>>2]|0; + $5431 = (($5427) + ($5430<<2)|0); + $5432 = HEAP32[$5431>>2]|0; + HEAP32[$187>>2] = $5432; + HEAP32[$189>>2] = 1; + $5433 = HEAP32[$187>>2]|0; + $5434 = HEAP8[$5433>>0]|0; + $5435 = $5434&255; + $5436 = ($5435|0)==(1); + $5437 = HEAP32[$187>>2]|0; + if ($5436) { + $5438 = (_sqlite3VdbeSorterRewind($5437,$189)|0); + HEAP32[$4>>2] = $5438; + } else { + $5439 = ((($5437)) + 16|0); + $5440 = HEAP32[$5439>>2]|0; + HEAP32[$188>>2] = $5440; + $5441 = HEAP32[$188>>2]|0; + $5442 = (_sqlite3BtreeFirst($5441,$189)|0); + HEAP32[$4>>2] = $5442; + $5443 = HEAP32[$187>>2]|0; + $5444 = ((($5443)) + 3|0); + HEAP8[$5444>>0] = 0; + $5445 = HEAP32[$187>>2]|0; + $5446 = ((($5445)) + 56|0); + HEAP32[$5446>>2] = 0; + } + $5447 = HEAP32[$4>>2]|0; + $5448 = ($5447|0)!=(0); + if ($5448) { + break L1; + } + $5449 = HEAP32[$189>>2]|0; + $5450 = $5449&255; + $5451 = HEAP32[$187>>2]|0; + $5452 = ((($5451)) + 2|0); + HEAP8[$5452>>0] = $5450; + $5453 = HEAP32[$189>>2]|0; + $5454 = ($5453|0)!=(0); + if ($5454) { + label = 14; + } + } + else if ((label|0) == 626) { + label = 0; + $5475 = HEAP32[$1>>2]|0; + $5476 = ((($5475)) + 112|0); + $5477 = HEAP32[$5476>>2]|0; + $5478 = HEAP32[$3>>2]|0; + $5479 = ((($5478)) + 4|0); + $5480 = HEAP32[$5479>>2]|0; + $5481 = (($5477) + ($5480<<2)|0); + $5482 = HEAP32[$5481>>2]|0; + HEAP32[$190>>2] = $5482; + $5483 = HEAP32[$3>>2]|0; + $5484 = ((($5483)) + 12|0); + $5485 = HEAP32[$5484>>2]|0; + HEAP32[$191>>2] = $5485; + $5486 = HEAP32[$3>>2]|0; + $5487 = ((($5486)) + 16|0); + $5488 = HEAP32[$5487>>2]|0; + $5489 = HEAP32[$190>>2]|0; + $5490 = ((($5489)) + 16|0); + $5491 = HEAP32[$5490>>2]|0; + $5492 = (FUNCTION_TABLE_iii[$5488 & 255]($5491,$191)|0); + HEAP32[$4>>2] = $5492; + label = 627; + } + else if ((label|0) == 750) { + label = 0; + $6754 = HEAP32[$3>>2]|0; + $6755 = ((($6754)) + 16|0); + $6756 = HEAP32[$6755>>2]|0; + HEAP32[$237>>2] = $6756; + $6757 = HEAP32[$11>>2]|0; + $6758 = HEAP32[$3>>2]|0; + $6759 = ((($6758)) + 12|0); + $6760 = HEAP32[$6759>>2]|0; + $6761 = (($6757) + (($6760*40)|0)|0); + HEAP32[$238>>2] = $6761; + $6762 = HEAP32[$237>>2]|0; + $6763 = ((($6762)) + 8|0); + $6764 = HEAP32[$6763>>2]|0; + $6765 = HEAP32[$238>>2]|0; + $6766 = ($6764|0)!=($6765|0); + L1019: do { + if ($6766) { + $6767 = HEAP32[$238>>2]|0; + $6768 = HEAP32[$237>>2]|0; + $6769 = ((($6768)) + 8|0); + HEAP32[$6769>>2] = $6767; + $6770 = HEAP32[$237>>2]|0; + $6771 = ((($6770)) + 26|0); + $6772 = HEAP8[$6771>>0]|0; + $6773 = $6772&255; + $6774 = (($6773) - 1)|0; + HEAP32[$236>>2] = $6774; + while(1) { + $6775 = HEAP32[$236>>2]|0; + $6776 = ($6775|0)>=(0); + if (!($6776)) { + break L1019; + } + $6777 = HEAP32[$11>>2]|0; + $6778 = HEAP32[$3>>2]|0; + $6779 = ((($6778)) + 8|0); + $6780 = HEAP32[$6779>>2]|0; + $6781 = HEAP32[$236>>2]|0; + $6782 = (($6780) + ($6781))|0; + $6783 = (($6777) + (($6782*40)|0)|0); + $6784 = HEAP32[$237>>2]|0; + $6785 = ((($6784)) + 28|0); + $6786 = HEAP32[$236>>2]|0; + $6787 = (($6785) + ($6786<<2)|0); + HEAP32[$6787>>2] = $6783; + $6788 = HEAP32[$236>>2]|0; + $6789 = (($6788) + -1)|0; + HEAP32[$236>>2] = $6789; + } + } + } while(0); + $6790 = HEAP32[$238>>2]|0; + $6791 = ((($6790)) + 12|0); + $6792 = HEAP32[$6791>>2]|0; + $6793 = (($6792) + 1)|0; + HEAP32[$6791>>2] = $6793; + $6794 = HEAP32[$5>>2]|0; + _sqlite3VdbeMemInit($239,$6794,1); + $6795 = HEAP32[$237>>2]|0; + HEAP32[$6795>>2] = $239; + $6796 = HEAP32[$237>>2]|0; + $6797 = ((($6796)) + 25|0); + HEAP8[$6797>>0] = 0; + $6798 = HEAP32[$237>>2]|0; + $6799 = ((($6798)) + 24|0); + HEAP8[$6799>>0] = 0; + $6800 = HEAP32[$237>>2]|0; + $6801 = ((($6800)) + 4|0); + $6802 = HEAP32[$6801>>2]|0; + $6803 = ((($6802)) + 12|0); + $6804 = HEAP32[$6803>>2]|0; + $6805 = HEAP32[$237>>2]|0; + $6806 = HEAP32[$237>>2]|0; + $6807 = ((($6806)) + 26|0); + $6808 = HEAP8[$6807>>0]|0; + $6809 = $6808&255; + $6810 = HEAP32[$237>>2]|0; + $6811 = ((($6810)) + 28|0); + FUNCTION_TABLE_viii[$6804 & 255]($6805,$6809,$6811); + $6812 = HEAP32[$237>>2]|0; + $6813 = ((($6812)) + 25|0); + $6814 = HEAP8[$6813>>0]|0; + $6815 = ($6814<<24>>24)!=(0); + if ($6815) { + $6816 = HEAP32[$237>>2]|0; + $6817 = ((($6816)) + 20|0); + $6818 = HEAP32[$6817>>2]|0; + $6819 = ($6818|0)!=(0); + if ($6819) { + $6820 = HEAP32[$1>>2]|0; + $6821 = (_sqlite3_value_text($239)|0); + HEAP32[$vararg_buffer88>>2] = $6821; + _sqlite3VdbeError($6820,21240,$vararg_buffer88); + $6822 = HEAP32[$237>>2]|0; + $6823 = ((($6822)) + 20|0); + $6824 = HEAP32[$6823>>2]|0; + HEAP32[$4>>2] = $6824; + } + _sqlite3VdbeMemRelease($239); + $6825 = HEAP32[$4>>2]|0; + $6826 = ($6825|0)!=(0); + if ($6826) { + break L1; + } + } + $6827 = HEAP32[$237>>2]|0; + $6828 = ((($6827)) + 24|0); + $6829 = HEAP8[$6828>>0]|0; + $6830 = ($6829<<24>>24)!=(0); + if ($6830) { + $6831 = HEAP32[$3>>2]|0; + $6832 = ((($6831)) + -20|0); + $6833 = ((($6832)) + 4|0); + $6834 = HEAP32[$6833>>2]|0; + HEAP32[$236>>2] = $6834; + $6835 = HEAP32[$236>>2]|0; + $6836 = ($6835|0)!=(0); + if ($6836) { + $6837 = HEAP32[$11>>2]|0; + $6838 = HEAP32[$236>>2]|0; + $6839 = (($6837) + (($6838*40)|0)|0); + _sqlite3VdbeMemSetInt64($6839,1,0); + } + } + } + } while(0); + do { + if ((label|0) == 14) { + label = 0; + $425 = HEAP32[$2>>2]|0; + $426 = HEAP32[$3>>2]|0; + $427 = ((($426)) + 8|0); + $428 = HEAP32[$427>>2]|0; + $429 = (($428) - 1)|0; + $430 = (($425) + (($429*20)|0)|0); + HEAP32[$3>>2] = $430; + } + else if ((label|0) == 460) { + label = 0; + $4089 = HEAP32[$126>>2]|0; + $4090 = ((($4089)) + 16|0); + $4091 = HEAP32[$4090>>2]|0; + $4092 = HEAP32[$3>>2]|0; + $4093 = ((($4092)) + 3|0); + $4094 = HEAP8[$4093>>0]|0; + $4095 = $4094&255; + $4096 = $4095 & 3; + _sqlite3BtreeCursorHintFlags($4091,$4096); + $4097 = HEAP32[$4>>2]|0; + $4098 = ($4097|0)!=(0); + if ($4098) { + break L1; + } + } + else if ((label|0) == 627) { + label = 0; + $5493 = HEAP32[$190>>2]|0; + $5494 = ((($5493)) + 56|0); + HEAP32[$5494>>2] = 0; + $5495 = HEAP32[$4>>2]|0; + $5496 = ($5495|0)!=(0); + if ($5496) { + break L1; + } + $5497 = HEAP32[$191>>2]|0; + $5498 = ($5497|0)==(0); + $5499 = HEAP32[$190>>2]|0; + $5500 = ((($5499)) + 2|0); + if ($5498) { + HEAP8[$5500>>0] = 0; + $5501 = HEAP32[$1>>2]|0; + $5502 = ((($5501)) + 156|0); + $5503 = HEAP32[$3>>2]|0; + $5504 = ((($5503)) + 3|0); + $5505 = HEAP8[$5504>>0]|0; + $5506 = $5505&255; + $5507 = (($5502) + ($5506<<2)|0); + $5508 = HEAP32[$5507>>2]|0; + $5509 = (($5508) + 1)|0; + HEAP32[$5507>>2] = $5509; + label = 7; + break; + } else { + HEAP8[$5500>>0] = 1; + label = 8; + break; + } + } + } while(0); + if ((label|0) == 7) { + label = 0; + $369 = HEAP32[$2>>2]|0; + $370 = HEAP32[$3>>2]|0; + $371 = ((($370)) + 8|0); + $372 = HEAP32[$371>>2]|0; + $373 = (($372) - 1)|0; + $374 = (($369) + (($373*20)|0)|0); + HEAP32[$3>>2] = $374; + label = 8; + } + if ((label|0) == 8) { + label = 0; + $375 = HEAP32[$5>>2]|0; + $376 = ((($375)) + 248|0); + $377 = HEAP32[$376>>2]|0; + $378 = ($377|0)!=(0); + if ($378) { + break L3; + } + $379 = HEAP32[$5>>2]|0; + $380 = ((($379)) + 304|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)!=(0|0); + if ($382) { + $383 = HEAP32[$9>>2]|0; + $384 = HEAP32[$10>>2]|0; + $385 = ($383>>>0)>=($384>>>0); + if ($385) { + $386 = HEAP32[$9>>2]|0; + $387 = HEAP32[$5>>2]|0; + $388 = ((($387)) + 312|0); + $389 = HEAP32[$388>>2]|0; + $390 = (($386) + ($389))|0; + $391 = HEAP32[$9>>2]|0; + $392 = HEAP32[$5>>2]|0; + $393 = ((($392)) + 312|0); + $394 = HEAP32[$393>>2]|0; + $395 = (($391>>>0) % ($394>>>0))&-1; + $396 = (($390) - ($395))|0; + HEAP32[$10>>2] = $396; + $397 = HEAP32[$5>>2]|0; + $398 = ((($397)) + 304|0); + $399 = HEAP32[$398>>2]|0; + $400 = HEAP32[$5>>2]|0; + $401 = ((($400)) + 308|0); + $402 = HEAP32[$401>>2]|0; + $403 = (FUNCTION_TABLE_ii[$399 & 255]($402)|0); + $404 = ($403|0)!=(0); + if ($404) { + label = 12; + break; + } + } + } + } + $7609 = HEAP32[$3>>2]|0; + $7610 = ((($7609)) + 20|0); + HEAP32[$3>>2] = $7610; + } + switch (label|0) { + case 12: { + HEAP32[$4>>2] = 9; + break L1; + break; + } + case 25: { + $597 = HEAP32[$3>>2]|0; + $598 = ((($597)) + 4|0); + $599 = HEAP32[$598>>2]|0; + $600 = HEAP32[$1>>2]|0; + $601 = ((($600)) + 40|0); + HEAP32[$601>>2] = $599; + $602 = HEAP32[$3>>2]|0; + $603 = ((($602)) + 8|0); + $604 = HEAP32[$603>>2]|0; + $605 = $604&255; + $606 = HEAP32[$1>>2]|0; + $607 = ((($606)) + 142|0); + HEAP8[$607>>0] = $605; + $608 = HEAP32[$22>>2]|0; + $609 = HEAP32[$1>>2]|0; + $610 = ((($609)) + 36|0); + HEAP32[$610>>2] = $608; + $611 = HEAP32[$1>>2]|0; + $612 = ((($611)) + 40|0); + $613 = HEAP32[$612>>2]|0; + $614 = ($613|0)!=(0); + if ($614) { + $615 = HEAP32[$3>>2]|0; + $616 = ((($615)) + 3|0); + $617 = HEAP8[$616>>0]|0; + $618 = ($617<<24>>24)!=(0); + $619 = HEAP32[$1>>2]|0; + $620 = HEAP32[$3>>2]|0; + if ($618) { + $621 = ((($620)) + 3|0); + $622 = HEAP8[$621>>0]|0; + $623 = $622&255; + $624 = (($623) - 1)|0; + $625 = (5592 + ($624<<2)|0); + $626 = HEAP32[$625>>2]|0; + HEAP32[$vararg_buffer>>2] = $626; + _sqlite3VdbeError($619,38728,$vararg_buffer); + $627 = HEAP32[$3>>2]|0; + $628 = ((($627)) + 16|0); + $629 = HEAP32[$628>>2]|0; + $630 = ($629|0)!=(0|0); + if ($630) { + $631 = HEAP32[$5>>2]|0; + $632 = HEAP32[$1>>2]|0; + $633 = ((($632)) + 108|0); + $634 = HEAP32[$633>>2]|0; + $635 = HEAP32[$3>>2]|0; + $636 = ((($635)) + 16|0); + $637 = HEAP32[$636>>2]|0; + HEAP32[$vararg_buffer55>>2] = $634; + $vararg_ptr58 = ((($vararg_buffer55)) + 4|0); + HEAP32[$vararg_ptr58>>2] = $637; + $638 = (_sqlite3MPrintf($631,38749,$vararg_buffer55)|0); + $639 = HEAP32[$1>>2]|0; + $640 = ((($639)) + 108|0); + HEAP32[$640>>2] = $638; + } + } else { + $641 = ((($620)) + 16|0); + $642 = HEAP32[$641>>2]|0; + HEAP32[$vararg_buffer59>>2] = $642; + _sqlite3VdbeError($619,21240,$vararg_buffer59); + } + $643 = HEAP32[$3>>2]|0; + $644 = ((($643)) + 4|0); + $645 = HEAP32[$644>>2]|0; + $646 = HEAP32[$22>>2]|0; + $647 = HEAP32[$1>>2]|0; + $648 = ((($647)) + 176|0); + $649 = HEAP32[$648>>2]|0; + $650 = HEAP32[$1>>2]|0; + $651 = ((($650)) + 108|0); + $652 = HEAP32[$651>>2]|0; + HEAP32[$vararg_buffer62>>2] = $646; + $vararg_ptr65 = ((($vararg_buffer62)) + 4|0); + HEAP32[$vararg_ptr65>>2] = $649; + $vararg_ptr66 = ((($vararg_buffer62)) + 8|0); + HEAP32[$vararg_ptr66>>2] = $652; + _sqlite3_log($645,38756,$vararg_buffer62); + } + $653 = HEAP32[$1>>2]|0; + $654 = (_sqlite3VdbeHalt($653)|0); + HEAP32[$4>>2] = $654; + $655 = HEAP32[$4>>2]|0; + $656 = ($655|0)==(5); + $657 = HEAP32[$1>>2]|0; + $658 = ((($657)) + 40|0); + if ($656) { + HEAP32[$658>>2] = 5; + $7653 = $17; + $7654 = $7653; + $7655 = HEAP32[$7654>>2]|0; + $7656 = (($7653) + 4)|0; + $7657 = $7656; + $7658 = HEAP32[$7657>>2]|0; + $7659 = HEAP32[$5>>2]|0; + $7660 = ((($7659)) + 32|0); + $7661 = $7660; + $7662 = $7661; + HEAP32[$7662>>2] = $7655; + $7663 = (($7661) + 4)|0; + $7664 = $7663; + HEAP32[$7664>>2] = $7658; + $7665 = HEAP32[$9>>2]|0; + $7666 = HEAP32[$1>>2]|0; + $7667 = ((($7666)) + 156|0); + $7668 = ((($7667)) + 16|0); + $7669 = HEAP32[$7668>>2]|0; + $7670 = (($7669) + ($7665))|0; + HEAP32[$7668>>2] = $7670; + $7671 = HEAP32[$1>>2]|0; + _sqlite3VdbeLeave($7671); + $7672 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7672|0); + } else { + $659 = HEAP32[$658>>2]|0; + $660 = ($659|0)!=(0); + $661 = $660 ? 1 : 101; + HEAP32[$4>>2] = $661; + $7653 = $17; + $7654 = $7653; + $7655 = HEAP32[$7654>>2]|0; + $7656 = (($7653) + 4)|0; + $7657 = $7656; + $7658 = HEAP32[$7657>>2]|0; + $7659 = HEAP32[$5>>2]|0; + $7660 = ((($7659)) + 32|0); + $7661 = $7660; + $7662 = $7661; + HEAP32[$7662>>2] = $7655; + $7663 = (($7661) + 4)|0; + $7664 = $7663; + HEAP32[$7664>>2] = $7658; + $7665 = HEAP32[$9>>2]|0; + $7666 = HEAP32[$1>>2]|0; + $7667 = ((($7666)) + 156|0); + $7668 = ((($7667)) + 16|0); + $7669 = HEAP32[$7668>>2]|0; + $7670 = (($7669) + ($7665))|0; + HEAP32[$7668>>2] = $7670; + $7671 = HEAP32[$1>>2]|0; + _sqlite3VdbeLeave($7671); + $7672 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7672|0); + } + break; + } + case 64: { + $973 = HEAP32[$5>>2]|0; + $974 = ((($973)) + 304|0); + $975 = HEAP32[$974>>2]|0; + $976 = ($975|0)!=(0|0); + if ($976) { + $977 = HEAP32[$9>>2]|0; + $978 = HEAP32[$10>>2]|0; + $979 = ($977>>>0)>=($978>>>0); + if ($979) { + $980 = HEAP32[$5>>2]|0; + $981 = ((($980)) + 304|0); + $982 = HEAP32[$981>>2]|0; + $983 = HEAP32[$5>>2]|0; + $984 = ((($983)) + 308|0); + $985 = HEAP32[$984>>2]|0; + $986 = (FUNCTION_TABLE_ii[$982 & 255]($985)|0); + $987 = ($986|0)!=(0); + if ($987) { + HEAP32[$4>>2] = 9; + break L1; + } + } + } + $988 = HEAP32[$1>>2]|0; + $989 = (_sqlite3VdbeCheckFk($988,0)|0); + HEAP32[$4>>2] = $989; + $990 = (0)!=($989|0); + if ($990) { + break L1; + } + $991 = HEAP32[$1>>2]|0; + $992 = (_sqlite3VdbeCloseStatement($991,1)|0); + HEAP32[$4>>2] = $992; + $993 = HEAP32[$1>>2]|0; + $994 = ((($993)) + 32|0); + $995 = HEAP32[$994>>2]|0; + $996 = (($995) + 2)|0; + $997 = $996 | 1; + $998 = HEAP32[$1>>2]|0; + $999 = ((($998)) + 32|0); + HEAP32[$999>>2] = $997; + $1000 = HEAP32[$11>>2]|0; + $1001 = HEAP32[$3>>2]|0; + $1002 = ((($1001)) + 4|0); + $1003 = HEAP32[$1002>>2]|0; + $1004 = (($1000) + (($1003*40)|0)|0); + $1005 = HEAP32[$1>>2]|0; + $1006 = ((($1005)) + 104|0); + HEAP32[$1006>>2] = $1004; + HEAP32[$30>>2] = $1004; + HEAP32[$31>>2] = 0; + while(1) { + $1007 = HEAP32[$31>>2]|0; + $1008 = HEAP32[$3>>2]|0; + $1009 = ((($1008)) + 8|0); + $1010 = HEAP32[$1009>>2]|0; + $1011 = ($1007|0)<($1010|0); + if (!($1011)) { + break; + } + $1012 = HEAP32[$30>>2]|0; + $1013 = HEAP32[$31>>2]|0; + $1014 = (($1012) + (($1013*40)|0)|0); + $1015 = ((($1014)) + 8|0); + $1016 = HEAP16[$1015>>1]|0; + $1017 = $1016&65535; + $1018 = $1017 & 4096; + $1019 = ($1018|0)!=(0); + if ($1019) { + $1020 = HEAP32[$30>>2]|0; + $1021 = HEAP32[$31>>2]|0; + $1022 = (($1020) + (($1021*40)|0)|0); + $1023 = (_sqlite3VdbeMemMakeWriteable($1022)|0); + $1024 = ($1023|0)!=(0); + if ($1024) { + label = 887; + break L1; + } + } + $1025 = HEAP32[$30>>2]|0; + $1026 = HEAP32[$31>>2]|0; + $1027 = (($1025) + (($1026*40)|0)|0); + (_sqlite3VdbeMemNulTerminate($1027)|0); + $1028 = HEAP32[$31>>2]|0; + $1029 = (($1028) + 1)|0; + HEAP32[$31>>2] = $1029; + } + $1030 = HEAP32[$5>>2]|0; + $1031 = ((($1030)) + 69|0); + $1032 = HEAP8[$1031>>0]|0; + $1033 = ($1032<<24>>24)!=(0); + if ($1033) { + label = 887; + break L1; + } + $1034 = HEAP32[$5>>2]|0; + $1035 = ((($1034)) + 76|0); + $1036 = HEAP8[$1035>>0]|0; + $1037 = $1036&255; + $1038 = $1037 & 4; + $1039 = ($1038|0)!=(0); + if ($1039) { + $1040 = HEAP32[$5>>2]|0; + $1041 = ((($1040)) + 184|0); + $1042 = HEAP32[$1041>>2]|0; + $1043 = HEAP32[$5>>2]|0; + $1044 = ((($1043)) + 188|0); + $1045 = HEAP32[$1044>>2]|0; + $1046 = HEAP32[$1>>2]|0; + (FUNCTION_TABLE_iiiii[$1042 & 255](4,$1045,$1046,0)|0); + } + $1047 = HEAP32[$3>>2]|0; + $1048 = HEAP32[$2>>2]|0; + $1049 = $1047; + $1050 = $1048; + $1051 = (($1049) - ($1050))|0; + $1052 = (($1051|0) / 20)&-1; + $1053 = (($1052) + 1)|0; + $1054 = HEAP32[$1>>2]|0; + $1055 = ((($1054)) + 36|0); + HEAP32[$1055>>2] = $1053; + HEAP32[$4>>2] = 100; + $7653 = $17; + $7654 = $7653; + $7655 = HEAP32[$7654>>2]|0; + $7656 = (($7653) + 4)|0; + $7657 = $7656; + $7658 = HEAP32[$7657>>2]|0; + $7659 = HEAP32[$5>>2]|0; + $7660 = ((($7659)) + 32|0); + $7661 = $7660; + $7662 = $7661; + HEAP32[$7662>>2] = $7655; + $7663 = (($7661) + 4)|0; + $7664 = $7663; + HEAP32[$7664>>2] = $7658; + $7665 = HEAP32[$9>>2]|0; + $7666 = HEAP32[$1>>2]|0; + $7667 = ((($7666)) + 156|0); + $7668 = ((($7667)) + 16|0); + $7669 = HEAP32[$7668>>2]|0; + $7670 = (($7669) + ($7665))|0; + HEAP32[$7668>>2] = $7670; + $7671 = HEAP32[$1>>2]|0; + _sqlite3VdbeLeave($7671); + $7672 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7672|0); + break; + } + case 159: { + HEAP32[$4>>2] = 20; + break L1; + break; + } + case 269: { + $2706 = (_sqlite3CorruptError(79835)|0); + HEAP32[$4>>2] = $2706; + break L1; + break; + } + case 288: { + $2859 = HEAP32[$66>>2]|0; + $2860 = ((($2859)) + 72|0); + $2861 = HEAP32[$2860>>2]|0; + $2862 = ($2861|0)==(0|0); + if ($2862) { + _sqlite3VdbeMemRelease($72); + } + $2863 = (_sqlite3CorruptError(79894)|0); + HEAP32[$4>>2] = $2863; + break L1; + break; + } + case 372: { + $3476 = HEAP32[$3>>2]|0; + $3477 = HEAP32[$2>>2]|0; + $3478 = $3476; + $3479 = $3477; + $3480 = (($3478) - ($3479))|0; + $3481 = (($3480|0) / 20)&-1; + $3482 = HEAP32[$1>>2]|0; + $3483 = ((($3482)) + 36|0); + HEAP32[$3483>>2] = $3481; + $3484 = HEAP32[$5>>2]|0; + $3485 = ((($3484)) + 67|0); + HEAP8[$3485>>0] = 0; + HEAP32[$4>>2] = 5; + $3486 = HEAP32[$1>>2]|0; + $3487 = ((($3486)) + 40|0); + HEAP32[$3487>>2] = 5; + $7653 = $17; + $7654 = $7653; + $7655 = HEAP32[$7654>>2]|0; + $7656 = (($7653) + 4)|0; + $7657 = $7656; + $7658 = HEAP32[$7657>>2]|0; + $7659 = HEAP32[$5>>2]|0; + $7660 = ((($7659)) + 32|0); + $7661 = $7660; + $7662 = $7661; + HEAP32[$7662>>2] = $7655; + $7663 = (($7661) + 4)|0; + $7664 = $7663; + HEAP32[$7664>>2] = $7658; + $7665 = HEAP32[$9>>2]|0; + $7666 = HEAP32[$1>>2]|0; + $7667 = ((($7666)) + 156|0); + $7668 = ((($7667)) + 16|0); + $7669 = HEAP32[$7668>>2]|0; + $7670 = (($7669) + ($7665))|0; + HEAP32[$7668>>2] = $7670; + $7671 = HEAP32[$1>>2]|0; + _sqlite3VdbeLeave($7671); + $7672 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7672|0); + break; + } + case 395: { + $3629 = HEAP32[$3>>2]|0; + $3630 = ((($3629)) + 4|0); + $3631 = HEAP32[$3630>>2]|0; + HEAP32[$111>>2] = $3631; + $3632 = HEAP32[$3>>2]|0; + $3633 = ((($3632)) + 8|0); + $3634 = HEAP32[$3633>>2]|0; + HEAP32[$112>>2] = $3634; + $3635 = HEAP32[$111>>2]|0; + $3636 = HEAP32[$5>>2]|0; + $3637 = ((($3636)) + 67|0); + $3638 = HEAP8[$3637>>0]|0; + $3639 = $3638&255; + $3640 = ($3635|0)!=($3639|0); + if (!($3640)) { + $3682 = HEAP32[$1>>2]|0; + $3683 = HEAP32[$111>>2]|0; + $3684 = ($3683|0)!=(0); + if ($3684) { + $3685 = HEAP32[$112>>2]|0; + $3686 = ($3685|0)!=(0); + $3687 = $3686 ? 38980 : 39023; + $3688 = $3687; + } else { + $3688 = 39064; + } + _sqlite3VdbeError($3682,$3688,$vararg_buffer79); + HEAP32[$4>>2] = 1; + break L1; + } + $3641 = HEAP32[$112>>2]|0; + $3642 = ($3641|0)!=(0); + do { + if ($3642) { + $3643 = HEAP32[$5>>2]|0; + _sqlite3RollbackAll($3643,516); + $3644 = HEAP32[$5>>2]|0; + $$sink49 = 1;$$sink51 = $3644; + } else { + $3645 = HEAP32[$111>>2]|0; + $3646 = ($3645|0)!=(0); + if ($3646) { + $3647 = HEAP32[$5>>2]|0; + $3648 = ((($3647)) + 164|0); + $3649 = HEAP32[$3648>>2]|0; + $3650 = ($3649|0)>(0); + if ($3650) { + $3651 = HEAP32[$1>>2]|0; + _sqlite3VdbeError($3651,38925,$vararg_buffer77); + HEAP32[$4>>2] = 5; + break L1; + } + } + $3652 = HEAP32[$1>>2]|0; + $3653 = (_sqlite3VdbeCheckFk($3652,1)|0); + HEAP32[$4>>2] = $3653; + $3654 = ($3653|0)!=(0); + if ($3654) { + $7653 = $17; + $7654 = $7653; + $7655 = HEAP32[$7654>>2]|0; + $7656 = (($7653) + 4)|0; + $7657 = $7656; + $7658 = HEAP32[$7657>>2]|0; + $7659 = HEAP32[$5>>2]|0; + $7660 = ((($7659)) + 32|0); + $7661 = $7660; + $7662 = $7661; + HEAP32[$7662>>2] = $7655; + $7663 = (($7661) + 4)|0; + $7664 = $7663; + HEAP32[$7664>>2] = $7658; + $7665 = HEAP32[$9>>2]|0; + $7666 = HEAP32[$1>>2]|0; + $7667 = ((($7666)) + 156|0); + $7668 = ((($7667)) + 16|0); + $7669 = HEAP32[$7668>>2]|0; + $7670 = (($7669) + ($7665))|0; + HEAP32[$7668>>2] = $7670; + $7671 = HEAP32[$1>>2]|0; + _sqlite3VdbeLeave($7671); + $7672 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7672|0); + } else { + $3655 = HEAP32[$111>>2]|0; + $3656 = $3655&255; + $3657 = HEAP32[$5>>2]|0; + $$sink49 = $3656;$$sink51 = $3657; + break; + } + } + } while(0); + $3658 = ((($$sink51)) + 67|0); + HEAP8[$3658>>0] = $$sink49; + $3659 = HEAP32[$1>>2]|0; + $3660 = (_sqlite3VdbeHalt($3659)|0); + $3661 = ($3660|0)==(5); + if ($3661) { + $3662 = HEAP32[$3>>2]|0; + $3663 = HEAP32[$2>>2]|0; + $3664 = $3662; + $3665 = $3663; + $3666 = (($3664) - ($3665))|0; + $3667 = (($3666|0) / 20)&-1; + $3668 = HEAP32[$1>>2]|0; + $3669 = ((($3668)) + 36|0); + HEAP32[$3669>>2] = $3667; + $3670 = HEAP32[$111>>2]|0; + $3671 = (1 - ($3670))|0; + $3672 = $3671&255; + $3673 = HEAP32[$5>>2]|0; + $3674 = ((($3673)) + 67|0); + HEAP8[$3674>>0] = $3672; + HEAP32[$4>>2] = 5; + $3675 = HEAP32[$1>>2]|0; + $3676 = ((($3675)) + 40|0); + HEAP32[$3676>>2] = 5; + $7653 = $17; + $7654 = $7653; + $7655 = HEAP32[$7654>>2]|0; + $7656 = (($7653) + 4)|0; + $7657 = $7656; + $7658 = HEAP32[$7657>>2]|0; + $7659 = HEAP32[$5>>2]|0; + $7660 = ((($7659)) + 32|0); + $7661 = $7660; + $7662 = $7661; + HEAP32[$7662>>2] = $7655; + $7663 = (($7661) + 4)|0; + $7664 = $7663; + HEAP32[$7664>>2] = $7658; + $7665 = HEAP32[$9>>2]|0; + $7666 = HEAP32[$1>>2]|0; + $7667 = ((($7666)) + 156|0); + $7668 = ((($7667)) + 16|0); + $7669 = HEAP32[$7668>>2]|0; + $7670 = (($7669) + ($7665))|0; + HEAP32[$7668>>2] = $7670; + $7671 = HEAP32[$1>>2]|0; + _sqlite3VdbeLeave($7671); + $7672 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7672|0); + } + $3677 = HEAP32[$5>>2]|0; + _sqlite3CloseSavepoints($3677); + $3678 = HEAP32[$1>>2]|0; + $3679 = ((($3678)) + 40|0); + $3680 = HEAP32[$3679>>2]|0; + $3681 = ($3680|0)==(0); + if ($3681) { + HEAP32[$4>>2] = 101; + $7653 = $17; + $7654 = $7653; + $7655 = HEAP32[$7654>>2]|0; + $7656 = (($7653) + 4)|0; + $7657 = $7656; + $7658 = HEAP32[$7657>>2]|0; + $7659 = HEAP32[$5>>2]|0; + $7660 = ((($7659)) + 32|0); + $7661 = $7660; + $7662 = $7661; + HEAP32[$7662>>2] = $7655; + $7663 = (($7661) + 4)|0; + $7664 = $7663; + HEAP32[$7664>>2] = $7658; + $7665 = HEAP32[$9>>2]|0; + $7666 = HEAP32[$1>>2]|0; + $7667 = ((($7666)) + 156|0); + $7668 = ((($7667)) + 16|0); + $7669 = HEAP32[$7668>>2]|0; + $7670 = (($7669) + ($7665))|0; + HEAP32[$7668>>2] = $7670; + $7671 = HEAP32[$1>>2]|0; + _sqlite3VdbeLeave($7671); + $7672 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7672|0); + } else { + HEAP32[$4>>2] = 1; + $7653 = $17; + $7654 = $7653; + $7655 = HEAP32[$7654>>2]|0; + $7656 = (($7653) + 4)|0; + $7657 = $7656; + $7658 = HEAP32[$7657>>2]|0; + $7659 = HEAP32[$5>>2]|0; + $7660 = ((($7659)) + 32|0); + $7661 = $7660; + $7662 = $7661; + HEAP32[$7662>>2] = $7655; + $7663 = (($7661) + 4)|0; + $7664 = $7663; + HEAP32[$7664>>2] = $7658; + $7665 = HEAP32[$9>>2]|0; + $7666 = HEAP32[$1>>2]|0; + $7667 = ((($7666)) + 156|0); + $7668 = ((($7667)) + 16|0); + $7669 = HEAP32[$7668>>2]|0; + $7670 = (($7669) + ($7665))|0; + HEAP32[$7668>>2] = $7670; + $7671 = HEAP32[$1>>2]|0; + _sqlite3VdbeLeave($7671); + $7672 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7672|0); + } + break; + } + case 413: { + HEAP32[$4>>2] = 8; + break L1; + break; + } + case 416: { + $3716 = HEAP32[$4>>2]|0; + $3717 = $3716 & 255; + $3718 = ($3717|0)==(5); + if (!($3718)) { + break L1; + } + $3719 = HEAP32[$3>>2]|0; + $3720 = HEAP32[$2>>2]|0; + $3721 = $3719; + $3722 = $3720; + $3723 = (($3721) - ($3722))|0; + $3724 = (($3723|0) / 20)&-1; + $3725 = HEAP32[$1>>2]|0; + $3726 = ((($3725)) + 36|0); + HEAP32[$3726>>2] = $3724; + $3727 = HEAP32[$4>>2]|0; + $3728 = HEAP32[$1>>2]|0; + $3729 = ((($3728)) + 40|0); + HEAP32[$3729>>2] = $3727; + $7653 = $17; + $7654 = $7653; + $7655 = HEAP32[$7654>>2]|0; + $7656 = (($7653) + 4)|0; + $7657 = $7656; + $7658 = HEAP32[$7657>>2]|0; + $7659 = HEAP32[$5>>2]|0; + $7660 = ((($7659)) + 32|0); + $7661 = $7660; + $7662 = $7661; + HEAP32[$7662>>2] = $7655; + $7663 = (($7661) + 4)|0; + $7664 = $7663; + HEAP32[$7664>>2] = $7658; + $7665 = HEAP32[$9>>2]|0; + $7666 = HEAP32[$1>>2]|0; + $7667 = ((($7666)) + 156|0); + $7668 = ((($7667)) + 16|0); + $7669 = HEAP32[$7668>>2]|0; + $7670 = (($7669) + ($7665))|0; + HEAP32[$7668>>2] = $7670; + $7671 = HEAP32[$1>>2]|0; + _sqlite3VdbeLeave($7671); + $7672 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7672|0); + break; + } + case 447: { + HEAP32[$4>>2] = 516; + break L1; + break; + } + case 547: { + HEAP32[$4>>2] = 13; + break L1; + break; + } + case 557: { + HEAP32[$4>>2] = 13; + break L1; + break; + } + case 659: { + HEAP32[$4>>2] = 6; + $5761 = HEAP32[$1>>2]|0; + $5762 = ((($5761)) + 142|0); + HEAP8[$5762>>0] = 2; + break L1; + break; + } + case 681: { + $5949 = HEAP32[$5>>2]|0; + _sqlite3ResetAllSchemasOfConnection($5949); + $5950 = HEAP32[$4>>2]|0; + $5951 = ($5950|0)==(7); + if ($5951) { + label = 887; + break L1; + } else { + break L1; + } + break; + } + case 710: { + HEAP32[$4>>2] = 1; + $6191 = HEAP32[$1>>2]|0; + _sqlite3VdbeError($6191,39176,$vararg_buffer86); + break L1; + break; + } + case 762: { + $6852 = HEAP32[$1>>2]|0; + $6853 = HEAP32[$240>>2]|0; + $6854 = (_sqlite3_value_text($6853)|0); + HEAP32[$vararg_buffer91>>2] = $6854; + _sqlite3VdbeError($6852,21240,$vararg_buffer91); + break L1; + break; + } + case 782: { + HEAP32[$4>>2] = 1; + $6946 = HEAP32[$1>>2]|0; + $6947 = HEAP32[$246>>2]|0; + $6948 = ($6947|0)==(5); + $6949 = $6948 ? 39213 : 39218; + HEAP32[$vararg_buffer94>>2] = $6949; + _sqlite3VdbeError($6946,39225,$vararg_buffer94); + break L1; + break; + } + case 803: { + $7056 = HEAP32[$4>>2]|0; + $7057 = $7056 & 255; + $7058 = ($7057|0)==(6); + if (!($7058)) { + break L1; + } + $7059 = HEAP32[$3>>2]|0; + $7060 = ((($7059)) + 16|0); + $7061 = HEAP32[$7060>>2]|0; + HEAP32[$252>>2] = $7061; + $7062 = HEAP32[$1>>2]|0; + $7063 = HEAP32[$252>>2]|0; + HEAP32[$vararg_buffer97>>2] = $7063; + _sqlite3VdbeError($7062,39277,$vararg_buffer97); + break L1; + break; + } + case 814: { + HEAP32[$4>>2] = 6; + break L1; + break; + } + case 818: { + $7154 = HEAP32[$259>>2]|0; + $7155 = ((($7154)) + 28|0); + $7156 = HEAP32[$7155>>2]|0; + $7157 = HEAP32[$257>>2]|0; + (FUNCTION_TABLE_ii[$7156 & 255]($7157)|0); + label = 887; + break L1; + break; + } + case 837: { + HEAP32[$4>>2] = 6; + break L1; + break; + } + case 885: { + $7653 = $17; + $7654 = $7653; + $7655 = HEAP32[$7654>>2]|0; + $7656 = (($7653) + 4)|0; + $7657 = $7656; + $7658 = HEAP32[$7657>>2]|0; + $7659 = HEAP32[$5>>2]|0; + $7660 = ((($7659)) + 32|0); + $7661 = $7660; + $7662 = $7661; + HEAP32[$7662>>2] = $7655; + $7663 = (($7661) + 4)|0; + $7664 = $7663; + HEAP32[$7664>>2] = $7658; + $7665 = HEAP32[$9>>2]|0; + $7666 = HEAP32[$1>>2]|0; + $7667 = ((($7666)) + 156|0); + $7668 = ((($7667)) + 16|0); + $7669 = HEAP32[$7668>>2]|0; + $7670 = (($7669) + ($7665))|0; + HEAP32[$7668>>2] = $7670; + $7671 = HEAP32[$1>>2]|0; + _sqlite3VdbeLeave($7671); + $7672 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7672|0); + break; + } + case 886: { + $7673 = HEAP32[$1>>2]|0; + _sqlite3VdbeError($7673,22203,$vararg_buffer108); + HEAP32[$4>>2] = 18; + break L1; + break; + } + } + } + } while(0); + $7676 = HEAP32[$5>>2]|0; + $7677 = ((($7676)) + 69|0); + $7678 = HEAP8[$7677>>0]|0; + $7679 = $7678&255; + $7680 = ($7679|0)!=(0); + $7681 = $7680 ? 7 : 9; + HEAP32[$4>>2] = $7681; + $7682 = HEAP32[$4>>2]|0; + $7683 = HEAP32[$1>>2]|0; + $7684 = ((($7683)) + 40|0); + HEAP32[$7684>>2] = $7682; + $7685 = HEAP32[$1>>2]|0; + $7686 = HEAP32[$4>>2]|0; + $7687 = (_sqlite3ErrStr($7686)|0); + HEAP32[$vararg_buffer112>>2] = $7687; + _sqlite3VdbeError($7685,21240,$vararg_buffer112); + } + } while(0); + if ((label|0) == 887) { + $7674 = HEAP32[$5>>2]|0; + _sqlite3OomFault($7674); + $7675 = HEAP32[$1>>2]|0; + _sqlite3VdbeError($7675,22481,$vararg_buffer110); + HEAP32[$4>>2] = 7; + } + $7611 = HEAP32[$5>>2]|0; + $7612 = ((($7611)) + 69|0); + $7613 = HEAP8[$7612>>0]|0; + $7614 = ($7613<<24>>24)!=(0); + if ($7614) { + HEAP32[$4>>2] = 7; + } + $7615 = HEAP32[$1>>2]|0; + $7616 = ((($7615)) + 108|0); + $7617 = HEAP32[$7616>>2]|0; + $7618 = ($7617|0)==(0|0); + $7619 = HEAP32[$4>>2]|0; + $7620 = ($7619|0)!=(3082); + $or$cond46 = $7618 & $7620; + if ($or$cond46) { + $7621 = HEAP32[$1>>2]|0; + $7622 = HEAP32[$4>>2]|0; + $7623 = (_sqlite3ErrStr($7622)|0); + HEAP32[$vararg_buffer100>>2] = $7623; + _sqlite3VdbeError($7621,21240,$vararg_buffer100); + } + $7624 = HEAP32[$4>>2]|0; + $7625 = HEAP32[$1>>2]|0; + $7626 = ((($7625)) + 40|0); + HEAP32[$7626>>2] = $7624; + $7627 = HEAP32[$5>>2]|0; + $7628 = HEAP32[$4>>2]|0; + _sqlite3SystemError($7627,$7628); + $7629 = HEAP32[$4>>2]|0; + $7630 = HEAP32[$3>>2]|0; + $7631 = HEAP32[$2>>2]|0; + $7632 = $7630; + $7633 = $7631; + $7634 = (($7632) - ($7633))|0; + $7635 = (($7634|0) / 20)&-1; + $7636 = HEAP32[$1>>2]|0; + $7637 = ((($7636)) + 176|0); + $7638 = HEAP32[$7637>>2]|0; + $7639 = HEAP32[$1>>2]|0; + $7640 = ((($7639)) + 108|0); + $7641 = HEAP32[$7640>>2]|0; + HEAP32[$vararg_buffer103>>2] = $7635; + $vararg_ptr106 = ((($vararg_buffer103)) + 4|0); + HEAP32[$vararg_ptr106>>2] = $7638; + $vararg_ptr107 = ((($vararg_buffer103)) + 8|0); + HEAP32[$vararg_ptr107>>2] = $7641; + _sqlite3_log($7629,39306,$vararg_buffer103); + $7642 = HEAP32[$1>>2]|0; + (_sqlite3VdbeHalt($7642)|0); + $7643 = HEAP32[$4>>2]|0; + $7644 = ($7643|0)==(3082); + if ($7644) { + $7645 = HEAP32[$5>>2]|0; + _sqlite3OomFault($7645); + } + HEAP32[$4>>2] = 1; + $7646 = HEAP8[$6>>0]|0; + $7647 = $7646&255; + $7648 = ($7647|0)>(0); + if (!($7648)) { + $7653 = $17; + $7654 = $7653; + $7655 = HEAP32[$7654>>2]|0; + $7656 = (($7653) + 4)|0; + $7657 = $7656; + $7658 = HEAP32[$7657>>2]|0; + $7659 = HEAP32[$5>>2]|0; + $7660 = ((($7659)) + 32|0); + $7661 = $7660; + $7662 = $7661; + HEAP32[$7662>>2] = $7655; + $7663 = (($7661) + 4)|0; + $7664 = $7663; + HEAP32[$7664>>2] = $7658; + $7665 = HEAP32[$9>>2]|0; + $7666 = HEAP32[$1>>2]|0; + $7667 = ((($7666)) + 156|0); + $7668 = ((($7667)) + 16|0); + $7669 = HEAP32[$7668>>2]|0; + $7670 = (($7669) + ($7665))|0; + HEAP32[$7668>>2] = $7670; + $7671 = HEAP32[$1>>2]|0; + _sqlite3VdbeLeave($7671); + $7672 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7672|0); + } + $7649 = HEAP32[$5>>2]|0; + $7650 = HEAP8[$6>>0]|0; + $7651 = $7650&255; + $7652 = (($7651) - 1)|0; + _sqlite3ResetOneSchema($7649,$7652); + $7653 = $17; + $7654 = $7653; + $7655 = HEAP32[$7654>>2]|0; + $7656 = (($7653) + 4)|0; + $7657 = $7656; + $7658 = HEAP32[$7657>>2]|0; + $7659 = HEAP32[$5>>2]|0; + $7660 = ((($7659)) + 32|0); + $7661 = $7660; + $7662 = $7661; + HEAP32[$7662>>2] = $7655; + $7663 = (($7661) + 4)|0; + $7664 = $7663; + HEAP32[$7664>>2] = $7658; + $7665 = HEAP32[$9>>2]|0; + $7666 = HEAP32[$1>>2]|0; + $7667 = ((($7666)) + 156|0); + $7668 = ((($7667)) + 16|0); + $7669 = HEAP32[$7668>>2]|0; + $7670 = (($7669) + ($7665))|0; + HEAP32[$7668>>2] = $7670; + $7671 = HEAP32[$1>>2]|0; + _sqlite3VdbeLeave($7671); + $7672 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($7672|0); +} +function _doWalCallbacks($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + HEAP32[$3>>2] = 0; + while(1) { + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($6|0)<($9|0); + if (!($10)) { + break; + } + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = (($13) + ($14<<4)|0); + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + _sqlite3BtreeEnter($20); + $21 = HEAP32[$4>>2]|0; + $22 = (_sqlite3BtreePager($21)|0); + $23 = (_sqlite3PagerWalCallback($22)|0); + HEAP32[$5>>2] = $23; + $24 = HEAP32[$4>>2]|0; + _sqlite3BtreeLeave($24); + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 224|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)!=(0|0); + $29 = HEAP32[$5>>2]|0; + $30 = ($29|0)>(0); + $or$cond = $28 & $30; + $31 = HEAP32[$2>>2]|0; + $32 = ($31|0)==(0); + $or$cond3 = $or$cond & $32; + if ($or$cond3) { + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 224|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 228|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$1>>2]|0; + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 16|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$3>>2]|0; + $44 = (($42) + ($43<<4)|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$5>>2]|0; + $47 = (FUNCTION_TABLE_iiiii[$35 & 255]($38,$39,$45,$46)|0); + HEAP32[$2>>2] = $47; + } + } + $48 = HEAP32[$3>>2]|0; + $49 = (($48) + 1)|0; + HEAP32[$3>>2] = $49; + } + $50 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($50|0); +} +function _sqlite3PagerWalCallback($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 216|0); + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3WalCallback($4)|0); + STACKTOP = sp;return ($5|0); +} +function _sqlite3WalCallback($0) { + $0 = $0|0; + var $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; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + $10 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($10|0); + } + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 12|0); + HEAP32[$9>>2] = 0; + $10 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($10|0); +} +function _out2Prerelease($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($8) + (($11*40)|0)|0); + HEAP32[$5>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + $17 = $16 & 9312; + $18 = ($17|0)!=(0); + $19 = HEAP32[$5>>2]|0; + if ($18) { + $20 = (_out2PrereleaseWithClear($19)|0); + HEAP32[$2>>2] = $20; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); + } else { + $21 = ((($19)) + 8|0); + HEAP16[$21>>1] = 4; + $22 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $22; + $23 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($23|0); + } + return (0)|0; +} +function _sqlite3VdbeMemTooBig($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP16[$5>>1]|0; + $7 = $6&65535; + $8 = $7 & 18; + $9 = ($8|0)!=(0); + if (!($9)) { + HEAP32[$1>>2] = 0; + $31 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($31|0); + } + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$3>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + $17 = $16 & 16384; + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP32[$2>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = (($21) + ($20))|0; + HEAP32[$3>>2] = $22; + } + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 32|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($26)) + 96|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($23|0)>($28|0); + $30 = $29&1; + HEAP32[$1>>2] = $30; + $31 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($31|0); +} +function _numericType($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = $6 & 12; + $8 = ($7|0)!=(0); + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + do { + if ($8) { + $13 = $12 & 12; + $14 = $13&65535; + HEAP16[$1>>1] = $14; + } else { + $15 = $12 & 18; + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$2>>2]|0; + $18 = (_computeNumericType($17)|0); + HEAP16[$1>>1] = $18; + break; + } else { + HEAP16[$1>>1] = 0; + break; + } + } + } while(0); + $19 = HEAP16[$1>>1]|0; + STACKTOP = sp;return ($19|0); +} +function _sqlite3SubInt64($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$4>>2] = $0; + $6 = $5; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = $5; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = ($12|0)==(0); + $17 = ($15|0)==(-2147483648); + $18 = $16 & $17; + $19 = HEAP32[$4>>2]|0; + if (!($18)) { + $50 = $5; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (_i64Subtract(0,0,($52|0),($55|0))|0); + $57 = tempRet0; + $58 = (_sqlite3AddInt64($19,$56,$57)|0); + HEAP32[$3>>2] = $58; + $59 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($59|0); + } + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)>(0); + $27 = ($22>>>0)>=(0); + $28 = ($25|0)==(0); + $29 = $28 & $27; + $30 = $26 | $29; + if ($30) { + HEAP32[$3>>2] = 1; + $59 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($59|0); + } else { + $31 = $5; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (_i64Subtract(($40|0),($43|0),($33|0),($36|0))|0); + $45 = tempRet0; + $46 = $37; + $47 = $46; + HEAP32[$47>>2] = $44; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + HEAP32[$3>>2] = 0; + $59 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($59|0); + } + return (0)|0; +} +function _sqlite3MulInt64($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$4>>2] = $0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = $11; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = $6; + $19 = $18; + HEAP32[$19>>2] = $14; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = $5; + $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; + do { + if ($32) { + $33 = $6; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = $5; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (___divdi3(-1,2147483647,($41|0),($44|0))|0); + $46 = tempRet0; + $47 = ($38|0)>($46|0); + $48 = ($35>>>0)>($45>>>0); + $49 = ($38|0)==($46|0); + $50 = $49 & $48; + $51 = $47 | $50; + if ($51) { + HEAP32[$3>>2] = 1; + $175 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($175|0); + } + $52 = $6; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $5; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (___divdi3(0,-2147483648,($60|0),($63|0))|0); + $65 = tempRet0; + $66 = ($57|0)<($65|0); + $67 = ($54>>>0)<($64>>>0); + $68 = ($57|0)==($65|0); + $69 = $68 & $67; + $70 = $66 | $69; + if ($70) { + HEAP32[$3>>2] = 1; + $175 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($175|0); + } + } else { + $71 = $5; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)<(0); + if ($77) { + $78 = $6; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)>(0); + $85 = ($80>>>0)>(0); + $86 = ($83|0)==(0); + $87 = $86 & $85; + $88 = $84 | $87; + if ($88) { + $89 = $5; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = $6; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (___divdi3(0,-2147483648,($97|0),($100|0))|0); + $102 = tempRet0; + $103 = ($94|0)<($102|0); + $104 = ($91>>>0)<($101>>>0); + $105 = ($94|0)==($102|0); + $106 = $105 & $104; + $107 = $103 | $106; + if (!($107)) { + break; + } + HEAP32[$3>>2] = 1; + $175 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($175|0); + } + $108 = $6; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (($108) + 4)|0; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)<(0); + if ($114) { + $115 = $5; + $116 = $115; + $117 = HEAP32[$116>>2]|0; + $118 = (($115) + 4)|0; + $119 = $118; + $120 = HEAP32[$119>>2]|0; + $121 = ($117|0)==(0); + $122 = ($120|0)==(-2147483648); + $123 = $121 & $122; + if ($123) { + HEAP32[$3>>2] = 1; + $175 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($175|0); + } + $124 = $6; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (($124) + 4)|0; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = ($126|0)==(0); + $131 = ($129|0)==(-2147483648); + $132 = $130 & $131; + if ($132) { + HEAP32[$3>>2] = 1; + $175 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($175|0); + } + $133 = $6; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (($133) + 4)|0; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (_i64Subtract(0,0,($135|0),($138|0))|0); + $140 = tempRet0; + $141 = $5; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = (($141) + 4)|0; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (_i64Subtract(0,0,($143|0),($146|0))|0); + $148 = tempRet0; + $149 = (___divdi3(-1,2147483647,($147|0),($148|0))|0); + $150 = tempRet0; + $151 = ($140|0)>($150|0); + $152 = ($139>>>0)>($149>>>0); + $153 = ($140|0)==($150|0); + $154 = $153 & $152; + $155 = $151 | $154; + if ($155) { + HEAP32[$3>>2] = 1; + $175 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($175|0); + } + } + } + } + } while(0); + $156 = $6; + $157 = $156; + $158 = HEAP32[$157>>2]|0; + $159 = (($156) + 4)|0; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = $5; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = (($162) + 4)|0; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (___muldi3(($158|0),($161|0),($164|0),($167|0))|0); + $169 = tempRet0; + $170 = HEAP32[$4>>2]|0; + $171 = $170; + $172 = $171; + HEAP32[$172>>2] = $168; + $173 = (($171) + 4)|0; + $174 = $173; + HEAP32[$174>>2] = $169; + HEAP32[$3>>2] = 0; + $175 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($175|0); +} +function _sqlite3VdbeCursorMoveto($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $8; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(0); + do { + if ($12) { + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 3|0); + $15 = HEAP8[$14>>0]|0; + $16 = ($15<<24>>24)!=(0); + $17 = HEAP32[$5>>2]|0; + if (!($16)) { + $39 = ((($17)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3BtreeCursorHasMoved($40)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + break; + } + $43 = HEAP32[$5>>2]|0; + $44 = (_handleMovedCursor($43)|0); + HEAP32[$2>>2] = $44; + $45 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($45|0); + } + $18 = ((($17)) + 52|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(0|0); + if ($20) { + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 52|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = (1 + ($25))|0; + $27 = (($23) + ($26<<2)|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$6>>2] = $28; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 48|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$3>>2]|0; + HEAP32[$33>>2] = $32; + $34 = HEAP32[$6>>2]|0; + $35 = (($34) - 1)|0; + $36 = HEAP32[$4>>2]|0; + HEAP32[$36>>2] = $35; + HEAP32[$2>>2] = 0; + $45 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($45|0); + } + } + $37 = HEAP32[$5>>2]|0; + $38 = (_handleDeferredMoveto($37)|0); + HEAP32[$2>>2] = $38; + $45 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($45|0); + } + } while(0); + HEAP32[$2>>2] = 0; + $45 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($45|0); +} +function _sqlite3BtreePayloadFetch($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_fetchPayload($4,$5)|0); + STACKTOP = sp;return ($6|0); +} +function _sqlite3VdbeMemFromBtree($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = 0; + $13 = HEAP32[$5>>2]|0; + $14 = (_sqlite3BtreePayloadFetch($13,$11)|0); + HEAP32[$10>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = (($15) + ($16))|0; + $18 = HEAP32[$11>>2]|0; + $19 = ($17>>>0)<=($18>>>0); + if ($19) { + $20 = HEAP32[$10>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = (($20) + ($21)|0); + $23 = HEAP32[$9>>2]|0; + $24 = ((($23)) + 16|0); + HEAP32[$24>>2] = $22; + $25 = HEAP32[$9>>2]|0; + $26 = ((($25)) + 8|0); + HEAP16[$26>>1] = 4112; + $27 = HEAP32[$7>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 12|0); + HEAP32[$29>>2] = $27; + $36 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($36|0); + } else { + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$9>>2]|0; + $35 = (_vdbeMemFromBtreeResize($30,$31,$32,$33,$34)|0); + HEAP32[$12>>2] = $35; + $36 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($36|0); + } + return (0)|0; +} +function _sqlite3VdbeOneByteSerialTypeLen($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP8[$1>>0] = $0; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = (34519 + ($3)|0); + $5 = HEAP8[$4>>0]|0; + STACKTOP = sp;return ($5|0); +} +function _sqlite3VdbeSerialType($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 8|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = $15 & 1; + $17 = ($16|0)!=(0); + if ($17) { + $18 = HEAP32[$6>>2]|0; + HEAP32[$18>>2] = 0; + HEAP32[$3>>2] = 0; + $165 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($165|0); + } + $19 = HEAP32[$7>>2]|0; + $20 = $19 & 4; + $21 = ($20|0)!=(0); + if (!($21)) { + $141 = HEAP32[$7>>2]|0; + $142 = $141 & 8; + $143 = ($142|0)!=(0); + if ($143) { + $144 = HEAP32[$6>>2]|0; + HEAP32[$144>>2] = 8; + HEAP32[$3>>2] = 7; + $165 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($165|0); + } + $145 = HEAP32[$4>>2]|0; + $146 = ((($145)) + 12|0); + $147 = HEAP32[$146>>2]|0; + HEAP32[$8>>2] = $147; + $148 = HEAP32[$7>>2]|0; + $149 = $148 & 16384; + $150 = ($149|0)!=(0); + if ($150) { + $151 = HEAP32[$4>>2]|0; + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$8>>2]|0; + $154 = (($153) + ($152))|0; + HEAP32[$8>>2] = $154; + } + $155 = HEAP32[$8>>2]|0; + $156 = HEAP32[$6>>2]|0; + HEAP32[$156>>2] = $155; + $157 = HEAP32[$8>>2]|0; + $158 = $157<<1; + $159 = (($158) + 12)|0; + $160 = HEAP32[$7>>2]|0; + $161 = $160 & 2; + $162 = ($161|0)!=(0); + $163 = $162&1; + $164 = (($159) + ($163))|0; + HEAP32[$3>>2] = $164; + $165 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($165|0); + } + $22 = HEAP32[$4>>2]|0; + $23 = $22; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $9; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $33 = $9; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)<(0); + $40 = $9; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + if ($39) { + $46 = $42 ^ -1; + $47 = $45 ^ -1; + $48 = $10; + $49 = $48; + HEAP32[$49>>2] = $46; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + } else { + $52 = $10; + $53 = $52; + HEAP32[$53>>2] = $42; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $45; + } + $56 = $10; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = ($61>>>0)<(0); + $63 = ($58>>>0)<=(127); + $64 = ($61|0)==(0); + $65 = $64 & $63; + $66 = $62 | $65; + if ($66) { + $67 = $9; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = $69 & 1; + $74 = $9; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = ($73|0)==($76|0); + $81 = (0)==($79|0); + $82 = $80 & $81; + $83 = HEAP32[$5>>2]|0; + $84 = ($83|0)>=(4); + $or$cond = $82 & $84; + $85 = HEAP32[$6>>2]|0; + if ($or$cond) { + HEAP32[$85>>2] = 0; + $86 = $10; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (8 + ($88))|0; + HEAP32[$3>>2] = $92; + $165 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($165|0); + } else { + HEAP32[$85>>2] = 1; + HEAP32[$3>>2] = 1; + $165 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($165|0); + } + } + $93 = $10; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = ($98>>>0)<(0); + $100 = ($95>>>0)<=(32767); + $101 = ($98|0)==(0); + $102 = $101 & $100; + $103 = $99 | $102; + if ($103) { + $104 = HEAP32[$6>>2]|0; + HEAP32[$104>>2] = 2; + HEAP32[$3>>2] = 2; + $165 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($165|0); + } + $105 = $10; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = ($110>>>0)<(0); + $112 = ($107>>>0)<=(8388607); + $113 = ($110|0)==(0); + $114 = $113 & $112; + $115 = $111 | $114; + if ($115) { + $116 = HEAP32[$6>>2]|0; + HEAP32[$116>>2] = 3; + HEAP32[$3>>2] = 3; + $165 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($165|0); + } + $117 = $10; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = ($122>>>0)<(0); + $124 = ($119>>>0)<=(2147483647); + $125 = ($122|0)==(0); + $126 = $125 & $124; + $127 = $123 | $126; + if ($127) { + $128 = HEAP32[$6>>2]|0; + HEAP32[$128>>2] = 4; + HEAP32[$3>>2] = 4; + $165 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($165|0); + } + $129 = $10; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = ($134>>>0)<(32767); + $136 = ($131>>>0)<=(4294967295); + $137 = ($134|0)==(32767); + $138 = $137 & $136; + $139 = $135 | $138; + $140 = HEAP32[$6>>2]|0; + if ($139) { + HEAP32[$140>>2] = 6; + HEAP32[$3>>2] = 5; + $165 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($165|0); + } else { + HEAP32[$140>>2] = 8; + HEAP32[$3>>2] = 6; + $165 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($165|0); + } + return (0)|0; +} +function _sqlite3PutVarint($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$4>>2] = $0; + $6 = $5; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = $5; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = ($15>>>0)<(0); + $17 = ($12>>>0)<=(127); + $18 = ($15|0)==(0); + $19 = $18 & $17; + $20 = $16 | $19; + $21 = $5; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + if ($20) { + $27 = $23 & 127; + $28 = $27&255; + $29 = HEAP32[$4>>2]|0; + HEAP8[$29>>0] = $28; + HEAP32[$3>>2] = 1; + $65 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($65|0); + } + $30 = ($26>>>0)<(0); + $31 = ($23>>>0)<=(16383); + $32 = ($26|0)==(0); + $33 = $32 & $31; + $34 = $30 | $33; + if ($34) { + $35 = $5; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (_bitshift64Lshr(($37|0),($40|0),7)|0); + $42 = tempRet0; + $43 = $41 & 127; + $44 = $43 | 128; + $45 = $44&255; + $46 = HEAP32[$4>>2]|0; + HEAP8[$46>>0] = $45; + $47 = $5; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = $49 & 127; + $54 = $53&255; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 1|0); + HEAP8[$56>>0] = $54; + HEAP32[$3>>2] = 2; + $65 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($65|0); + } else { + $57 = HEAP32[$4>>2]|0; + $58 = $5; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (_putVarint64($57,$60,$63)|0); + HEAP32[$3>>2] = $64; + $65 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($65|0); + } + return (0)|0; +} +function _sqlite3VdbeSerialPut($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp; + $9 = sp + 8|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $10 = HEAP32[$6>>2]|0; + $11 = ($10>>>0)<=(7); + $12 = HEAP32[$6>>2]|0; + $13 = ($12>>>0)>(0); + $or$cond = $11 & $13; + $14 = HEAP32[$6>>2]|0; + if ($or$cond) { + $15 = ($14|0)==(7); + if ($15) { + $16 = HEAP32[$5>>2]|0; + ;HEAP32[$8>>2]=HEAP32[$16>>2]|0;HEAP32[$8+4>>2]=HEAP32[$16+4>>2]|0; + } else { + $17 = HEAP32[$5>>2]|0; + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $8; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + } + $28 = HEAP32[$6>>2]|0; + $29 = (34519 + ($28)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + HEAP32[$9>>2] = $31; + HEAP32[$7>>2] = $31; + while(1) { + $32 = $8; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = $34 & 255; + $39 = $38&255; + $40 = HEAP32[$4>>2]|0; + $41 = HEAP32[$9>>2]|0; + $42 = (($41) + -1)|0; + HEAP32[$9>>2] = $42; + $43 = (($40) + ($42)|0); + HEAP8[$43>>0] = $39; + $44 = $8; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (_bitshift64Lshr(($46|0),($49|0),8)|0); + $51 = tempRet0; + $52 = $8; + $53 = $52; + HEAP32[$53>>2] = $50; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $56 = HEAP32[$9>>2]|0; + $57 = ($56|0)!=(0); + if (!($57)) { + break; + } + } + $58 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $58; + $71 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($71|0); + } else { + $59 = ($14>>>0)>=(12); + if (!($59)) { + HEAP32[$3>>2] = 0; + $71 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($71|0); + } + $60 = HEAP32[$5>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$7>>2] = $62; + $63 = HEAP32[$7>>2]|0; + $64 = ($63>>>0)>(0); + if ($64) { + $65 = HEAP32[$4>>2]|0; + $66 = HEAP32[$5>>2]|0; + $67 = ((($66)) + 16|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$7>>2]|0; + _memcpy(($65|0),($68|0),($69|0))|0; + } + $70 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $70; + $71 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($71|0); + } + return (0)|0; +} +function _sqlite3BtreeCount($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $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; + 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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = $5; + $10 = $9; + HEAP32[$10>>2] = 0; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = 0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 52|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + $17 = HEAP32[$4>>2]|0; + $18 = $17; + $19 = $18; + HEAP32[$19>>2] = 0; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = 0; + HEAP32[$2>>2] = 0; + $174 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($174|0); + } + $22 = HEAP32[$3>>2]|0; + $23 = (_moveToRoot($22)|0); + HEAP32[$6>>2] = $23; + L5: while(1) { + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)==(0); + if (!($25)) { + label = 16; + break; + } + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 120|0); + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 68|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30 << 24 >> 24; + $32 = (($27) + ($31<<2)|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$8>>2] = $33; + $34 = HEAP32[$8>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = ($37|0)!=(0); + if ($38) { + label = 7; + } else { + $39 = HEAP32[$8>>2]|0; + $40 = ((($39)) + 2|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)!=(0); + if (!($42)) { + label = 7; + } + } + if ((label|0) == 7) { + label = 0; + $43 = HEAP32[$8>>2]|0; + $44 = ((($43)) + 18|0); + $45 = HEAP16[$44>>1]|0; + $46 = $45&65535; + $47 = $5; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (_i64Add(($49|0),($52|0),($46|0),0)|0); + $54 = tempRet0; + $55 = $5; + $56 = $55; + HEAP32[$56>>2] = $53; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $54; + } + $59 = HEAP32[$8>>2]|0; + $60 = ((($59)) + 4|0); + $61 = HEAP8[$60>>0]|0; + $62 = ($61<<24>>24)!=(0); + if ($62) { + while(1) { + $63 = HEAP32[$3>>2]|0; + $64 = ((($63)) + 68|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65 << 24 >> 24; + $67 = ($66|0)==(0); + if ($67) { + label = 10; + break L5; + } + $81 = HEAP32[$3>>2]|0; + _moveToParent($81); + $82 = HEAP32[$3>>2]|0; + $83 = ((($82)) + 80|0); + $84 = HEAP32[$3>>2]|0; + $85 = ((($84)) + 68|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86 << 24 >> 24; + $88 = (($83) + ($87<<1)|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89&65535; + $91 = HEAP32[$3>>2]|0; + $92 = ((($91)) + 120|0); + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 68|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95 << 24 >> 24; + $97 = (($92) + ($96<<2)|0); + $98 = HEAP32[$97>>2]|0; + $99 = ((($98)) + 18|0); + $100 = HEAP16[$99>>1]|0; + $101 = $100&65535; + $102 = ($90|0)>=($101|0); + if (!($102)) { + break; + } + } + $103 = HEAP32[$3>>2]|0; + $104 = ((($103)) + 80|0); + $105 = HEAP32[$3>>2]|0; + $106 = ((($105)) + 68|0); + $107 = HEAP8[$106>>0]|0; + $108 = $107 << 24 >> 24; + $109 = (($104) + ($108<<1)|0); + $110 = HEAP16[$109>>1]|0; + $111 = (($110) + 1)<<16>>16; + HEAP16[$109>>1] = $111; + $112 = HEAP32[$3>>2]|0; + $113 = ((($112)) + 120|0); + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + 68|0); + $116 = HEAP8[$115>>0]|0; + $117 = $116 << 24 >> 24; + $118 = (($113) + ($117<<2)|0); + $119 = HEAP32[$118>>2]|0; + HEAP32[$8>>2] = $119; + } + $120 = HEAP32[$3>>2]|0; + $121 = ((($120)) + 80|0); + $122 = HEAP32[$3>>2]|0; + $123 = ((($122)) + 68|0); + $124 = HEAP8[$123>>0]|0; + $125 = $124 << 24 >> 24; + $126 = (($121) + ($125<<1)|0); + $127 = HEAP16[$126>>1]|0; + $128 = $127&65535; + HEAP32[$7>>2] = $128; + $129 = HEAP32[$7>>2]|0; + $130 = HEAP32[$8>>2]|0; + $131 = ((($130)) + 18|0); + $132 = HEAP16[$131>>1]|0; + $133 = $132&65535; + $134 = ($129|0)==($133|0); + $135 = HEAP32[$3>>2]|0; + $136 = HEAP32[$8>>2]|0; + $137 = ((($136)) + 56|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$8>>2]|0; + if ($134) { + $140 = ((($139)) + 5|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + $143 = (($142) + 8)|0; + $144 = (($138) + ($143)|0); + $145 = (_sqlite3Get4byte($144)|0); + $146 = (_moveToChild($135,$145)|0); + HEAP32[$6>>2] = $146; + continue; + } else { + $147 = ((($139)) + 20|0); + $148 = HEAP16[$147>>1]|0; + $149 = $148&65535; + $150 = HEAP32[$8>>2]|0; + $151 = ((($150)) + 64|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$7>>2]|0; + $154 = $153<<1; + $155 = (($152) + ($154)|0); + $156 = HEAP8[$155>>0]|0; + $157 = $156&255; + $158 = $157 << 8; + $159 = HEAP32[$8>>2]|0; + $160 = ((($159)) + 64|0); + $161 = HEAP32[$160>>2]|0; + $162 = HEAP32[$7>>2]|0; + $163 = $162<<1; + $164 = (($161) + ($163)|0); + $165 = ((($164)) + 1|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $168 = $158 | $167; + $169 = $149 & $168; + $170 = (($138) + ($169)|0); + $171 = (_sqlite3Get4byte($170)|0); + $172 = (_moveToChild($135,$171)|0); + HEAP32[$6>>2] = $172; + continue; + } + } + if ((label|0) == 10) { + $68 = $5; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$4>>2]|0; + $75 = $74; + $76 = $75; + HEAP32[$76>>2] = $70; + $77 = (($75) + 4)|0; + $78 = $77; + HEAP32[$78>>2] = $73; + $79 = HEAP32[$3>>2]|0; + $80 = (_moveToRoot($79)|0); + HEAP32[$2>>2] = $80; + $174 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($174|0); + } + else if ((label|0) == 16) { + $173 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $173; + $174 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($174|0); + } + return (0)|0; +} +function _sqlite3BtreeBeginStmt($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $8; + $9 = HEAP32[$2>>2]|0; + _sqlite3BtreeEnter($9); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (_sqlite3PagerOpenSavepoint($11,$12)|0); + HEAP32[$4>>2] = $13; + $14 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($14); + $15 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _allocateCursor($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 28|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP8[$9>>0] = $4; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)>(0); + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 92|0); + $17 = HEAP32[$16>>2]|0; + if ($14) { + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 24|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = (($20) - ($21))|0; + $23 = (($17) + (($22*40)|0)|0); + $24 = $23; + } else { + $24 = $17; + } + HEAP32[$10>>2] = $24; + HEAP32[$12>>2] = 0; + $25 = HEAP32[$7>>2]|0; + $26 = $25<<3; + $27 = (88 + ($26))|0; + $28 = HEAP8[$9>>0]|0; + $29 = $28&255; + $30 = ($29|0)==(0); + if ($30) { + $31 = (_sqlite3BtreeCursorSize()|0); + $33 = $31; + } else { + $33 = 0; + } + $32 = (($27) + ($33))|0; + HEAP32[$11>>2] = $32; + $34 = HEAP32[$5>>2]|0; + $35 = ((($34)) + 112|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$6>>2]|0; + $38 = (($36) + ($37<<2)|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)!=(0|0); + if ($40) { + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = ((($42)) + 112|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$6>>2]|0; + $46 = (($44) + ($45<<2)|0); + $47 = HEAP32[$46>>2]|0; + _sqlite3VdbeFreeCursor($41,$47); + $48 = HEAP32[$5>>2]|0; + $49 = ((($48)) + 112|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = (($50) + ($51<<2)|0); + HEAP32[$52>>2] = 0; + } + $53 = HEAP32[$10>>2]|0; + $54 = HEAP32[$11>>2]|0; + $55 = (_sqlite3VdbeMemClearAndResize($53,$54)|0); + $56 = (0)==($55|0); + if (!($56)) { + $97 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($97|0); + } + $57 = HEAP32[$10>>2]|0; + $58 = ((($57)) + 16|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$12>>2] = $59; + $60 = HEAP32[$5>>2]|0; + $61 = ((($60)) + 112|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$6>>2]|0; + $64 = (($62) + ($63<<2)|0); + HEAP32[$64>>2] = $59; + $65 = HEAP32[$12>>2]|0; + dest=$65; stop=dest+88|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $66 = HEAP8[$9>>0]|0; + $67 = HEAP32[$12>>2]|0; + HEAP8[$67>>0] = $66; + $68 = HEAP32[$8>>2]|0; + $69 = $68&255; + $70 = HEAP32[$12>>2]|0; + $71 = ((($70)) + 1|0); + HEAP8[$71>>0] = $69; + $72 = HEAP32[$7>>2]|0; + $73 = $72&65535; + $74 = HEAP32[$12>>2]|0; + $75 = ((($74)) + 12|0); + HEAP16[$75>>1] = $73; + $76 = HEAP32[$12>>2]|0; + $77 = ((($76)) + 80|0); + $78 = HEAP32[$7>>2]|0; + $79 = (($77) + ($78<<2)|0); + $80 = HEAP32[$12>>2]|0; + $81 = ((($80)) + 76|0); + HEAP32[$81>>2] = $79; + $82 = HEAP8[$9>>0]|0; + $83 = $82&255; + $84 = ($83|0)==(0); + if (!($84)) { + $97 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($97|0); + } + $85 = HEAP32[$10>>2]|0; + $86 = ((($85)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$7>>2]|0; + $89 = $88<<3; + $90 = (88 + ($89))|0; + $91 = (($87) + ($90)|0); + $92 = HEAP32[$12>>2]|0; + $93 = ((($92)) + 16|0); + HEAP32[$93>>2] = $91; + $94 = HEAP32[$12>>2]|0; + $95 = ((($94)) + 16|0); + $96 = HEAP32[$95>>2]|0; + _sqlite3BtreeCursorZero($96); + $97 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($97|0); +} +function _sqlite3BtreeCursor($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $11 = HEAP32[$6>>2]|0; + $12 = ($11|0)<(1); + if ($12) { + $13 = (_sqlite3CorruptError(62410)|0); + HEAP32[$10>>2] = $13; + $22 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($22|0); + } else { + $14 = HEAP32[$5>>2]|0; + _sqlite3BtreeEnter($14); + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = HEAP32[$7>>2]|0; + $18 = HEAP32[$8>>2]|0; + $19 = HEAP32[$9>>2]|0; + $20 = (_btreeCursor($15,$16,$17,$18,$19)|0); + HEAP32[$10>>2] = $20; + $21 = HEAP32[$5>>2]|0; + _sqlite3BtreeLeave($21); + $22 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($22|0); + } + return (0)|0; +} +function _sqlite3BtreeCursorHintFlags($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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = $4&255; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 67|0); + HEAP8[$7>>0] = $5; + STACKTOP = sp;return; +} +function _sqlite3BtreeCreateTable($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($7); + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (_btreeCreateTable($8,$9,$10)|0); + HEAP32[$6>>2] = $11; + $12 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($12); + $13 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _sqlite3VdbeSorterInit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $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$cond3 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp; + $16 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$12>>2] = 0; + $17 = HEAP32[$3>>2]|0; + $18 = (_sqlite3TempInMemory($17)|0); + $19 = ($18|0)!=(0); + $20 = HEAP32[(12)>>2]|0; + $21 = ($20|0)==(0); + $or$cond = $19 | $21; + if ($or$cond) { + HEAP32[$13>>2] = 0; + } else { + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 96|0); + $24 = ((($23)) + 44|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$13>>2] = $25; + } + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 24|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 6|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $32 = (($31) - 1)|0; + $33 = $32<<2; + $34 = (24 + ($33))|0; + HEAP32[$10>>2] = $34; + $35 = HEAP32[$13>>2]|0; + $36 = ($35*72)|0; + $37 = (136 + ($36))|0; + HEAP32[$11>>2] = $37; + $38 = HEAP32[$3>>2]|0; + $39 = HEAP32[$11>>2]|0; + $40 = HEAP32[$10>>2]|0; + $41 = (($39) + ($40))|0; + $42 = ($41|0)<(0); + $43 = $42 << 31 >> 31; + $44 = (_sqlite3DbMallocZero($38,$41,$43)|0); + HEAP32[$8>>2] = $44; + $45 = HEAP32[$8>>2]|0; + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 16|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$8>>2]|0; + $49 = ($48|0)==(0|0); + if ($49) { + HEAP32[$12>>2] = 7; + $259 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($259|0); + } + $50 = HEAP32[$8>>2]|0; + $51 = HEAP32[$11>>2]|0; + $52 = (($50) + ($51)|0); + HEAP32[$9>>2] = $52; + $53 = HEAP32[$8>>2]|0; + $54 = ((($53)) + 28|0); + HEAP32[$54>>2] = $52; + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$5>>2]|0; + $57 = ((($56)) + 24|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$10>>2]|0; + _memcpy(($55|0),($58|0),($59|0))|0; + $60 = HEAP32[$9>>2]|0; + $61 = ((($60)) + 12|0); + HEAP32[$61>>2] = 0; + $62 = HEAP32[$4>>2]|0; + $63 = ($62|0)!=(0); + $64 = HEAP32[$13>>2]|0; + $65 = ($64|0)==(0); + $or$cond3 = $63 & $65; + if ($or$cond3) { + $66 = HEAP32[$9>>2]|0; + $67 = ((($66)) + 6|0); + $68 = HEAP16[$67>>1]|0; + $69 = $68&65535; + $70 = HEAP32[$4>>2]|0; + $71 = (($69) - ($70))|0; + $72 = HEAP32[$9>>2]|0; + $73 = ((($72)) + 8|0); + $74 = HEAP16[$73>>1]|0; + $75 = $74&65535; + $76 = (($75) + ($71))|0; + $77 = $76&65535; + HEAP16[$73>>1] = $77; + $78 = HEAP32[$4>>2]|0; + $79 = $78&65535; + $80 = HEAP32[$9>>2]|0; + $81 = ((($80)) + 6|0); + HEAP16[$81>>1] = $79; + } + $82 = HEAP32[$3>>2]|0; + $83 = ((($82)) + 16|0); + $84 = HEAP32[$83>>2]|0; + $85 = ((($84)) + 4|0); + $86 = HEAP32[$85>>2]|0; + $87 = (_sqlite3BtreeGetPageSize($86)|0); + HEAP32[$6>>2] = $87; + $88 = HEAP32[$8>>2]|0; + $89 = ((($88)) + 12|0); + HEAP32[$89>>2] = $87; + $90 = HEAP32[$13>>2]|0; + $91 = (($90) + 1)|0; + $92 = $91&255; + $93 = HEAP32[$8>>2]|0; + $94 = ((($93)) + 59|0); + HEAP8[$94>>0] = $92; + $95 = HEAP32[$13>>2]|0; + $96 = (($95) - 1)|0; + $97 = $96&255; + $98 = HEAP32[$8>>2]|0; + $99 = ((($98)) + 58|0); + HEAP8[$99>>0] = $97; + $100 = HEAP32[$8>>2]|0; + $101 = ((($100)) + 59|0); + $102 = HEAP8[$101>>0]|0; + $103 = $102&255; + $104 = ($103|0)>(1); + $105 = $104&1; + $106 = $105&255; + $107 = HEAP32[$8>>2]|0; + $108 = ((($107)) + 57|0); + HEAP8[$108>>0] = $106; + $109 = HEAP32[$3>>2]|0; + $110 = HEAP32[$8>>2]|0; + $111 = ((($110)) + 24|0); + HEAP32[$111>>2] = $109; + HEAP32[$7>>2] = 0; + while(1) { + $112 = HEAP32[$7>>2]|0; + $113 = HEAP32[$8>>2]|0; + $114 = ((($113)) + 59|0); + $115 = HEAP8[$114>>0]|0; + $116 = $115&255; + $117 = ($112|0)<($116|0); + if (!($117)) { + break; + } + $118 = HEAP32[$8>>2]|0; + $119 = ((($118)) + 64|0); + $120 = HEAP32[$7>>2]|0; + $121 = (($119) + (($120*72)|0)|0); + HEAP32[$14>>2] = $121; + $122 = HEAP32[$8>>2]|0; + $123 = HEAP32[$14>>2]|0; + $124 = ((($123)) + 8|0); + HEAP32[$124>>2] = $122; + $125 = HEAP32[$7>>2]|0; + $126 = (($125) + 1)|0; + HEAP32[$7>>2] = $126; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_sqlite3TempInMemory($127)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + $130 = HEAP32[(232)>>2]|0; + HEAP32[$16>>2] = $130; + $131 = HEAP32[$16>>2]|0; + $132 = HEAP32[$6>>2]|0; + $133 = Math_imul($131, $132)|0; + $134 = HEAP32[$8>>2]|0; + HEAP32[$134>>2] = $133; + $135 = HEAP32[$3>>2]|0; + $136 = ((($135)) + 16|0); + $137 = HEAP32[$136>>2]|0; + $138 = ((($137)) + 12|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($139)) + 80|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)<(0); + $143 = $142 << 31 >> 31; + $144 = $15; + $145 = $144; + HEAP32[$145>>2] = $141; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = $15; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = (($148) + 4)|0; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)<(0); + $155 = $15; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = (($155) + 4)|0; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + if ($154) { + $161 = (___muldi3(($157|0),($160|0),-1024,-1)|0); + $162 = tempRet0; + $163 = $15; + $164 = $163; + HEAP32[$164>>2] = $161; + $165 = (($163) + 4)|0; + $166 = $165; + HEAP32[$166>>2] = $162; + } else { + $167 = HEAP32[$6>>2]|0; + $168 = ($167|0)<(0); + $169 = $168 << 31 >> 31; + $170 = (___muldi3(($157|0),($160|0),($167|0),($169|0))|0); + $171 = tempRet0; + $172 = $15; + $173 = $172; + HEAP32[$173>>2] = $170; + $174 = (($172) + 4)|0; + $175 = $174; + HEAP32[$175>>2] = $171; + } + $176 = $15; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = (($176) + 4)|0; + $180 = $179; + $181 = HEAP32[$180>>2]|0; + $182 = ($181|0)<(0); + $183 = ($178>>>0)<(536870912); + $184 = ($181|0)==(0); + $185 = $184 & $183; + $186 = $182 | $185; + $187 = $15; + $188 = $187; + $189 = HEAP32[$188>>2]|0; + $190 = (($187) + 4)|0; + $191 = $190; + $192 = HEAP32[$191>>2]|0; + $193 = $186 ? $189 : 536870912; + $194 = $186 ? $192 : 0; + $195 = $15; + $196 = $195; + HEAP32[$196>>2] = $193; + $197 = (($195) + 4)|0; + $198 = $197; + HEAP32[$198>>2] = $194; + $199 = HEAP32[$8>>2]|0; + $200 = HEAP32[$199>>2]|0; + $201 = $15; + $202 = $201; + $203 = HEAP32[$202>>2]|0; + $204 = (($201) + 4)|0; + $205 = $204; + $206 = HEAP32[$205>>2]|0; + $207 = ($200|0)>($203|0); + if ($207) { + $208 = HEAP32[$8>>2]|0; + $209 = HEAP32[$208>>2]|0; + $218 = $209; + } else { + $210 = $15; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $218 = $212; + } + $216 = HEAP32[$8>>2]|0; + $217 = ((($216)) + 4|0); + HEAP32[$217>>2] = $218; + $219 = HEAP32[(200)>>2]|0; + $220 = ($219|0)==(0|0); + if ($220) { + $221 = HEAP32[$6>>2]|0; + $222 = HEAP32[$8>>2]|0; + $223 = ((($222)) + 52|0); + HEAP32[$223>>2] = $221; + $224 = HEAP32[$6>>2]|0; + $225 = ($224|0)<(0); + $226 = $225 << 31 >> 31; + $227 = (_sqlite3Malloc($224,$226)|0); + $228 = HEAP32[$8>>2]|0; + $229 = ((($228)) + 36|0); + $230 = ((($229)) + 4|0); + HEAP32[$230>>2] = $227; + $231 = HEAP32[$8>>2]|0; + $232 = ((($231)) + 36|0); + $233 = ((($232)) + 4|0); + $234 = HEAP32[$233>>2]|0; + $235 = ($234|0)!=(0|0); + if (!($235)) { + HEAP32[$12>>2] = 7; + } + } + } + $236 = HEAP32[$9>>2]|0; + $237 = ((($236)) + 6|0); + $238 = HEAP16[$237>>1]|0; + $239 = $238&65535; + $240 = HEAP32[$9>>2]|0; + $241 = ((($240)) + 8|0); + $242 = HEAP16[$241>>1]|0; + $243 = $242&65535; + $244 = (($239) + ($243))|0; + $245 = ($244|0)<(13); + if (!($245)) { + $259 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($259|0); + } + $246 = HEAP32[$9>>2]|0; + $247 = ((($246)) + 20|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)==(0|0); + if (!($249)) { + $250 = HEAP32[$9>>2]|0; + $251 = ((($250)) + 20|0); + $252 = HEAP32[$251>>2]|0; + $253 = HEAP32[$3>>2]|0; + $254 = ((($253)) + 8|0); + $255 = HEAP32[$254>>2]|0; + $256 = ($252|0)==($255|0); + if (!($256)) { + $259 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($259|0); + } + } + $257 = HEAP32[$8>>2]|0; + $258 = ((($257)) + 60|0); + HEAP8[$258>>0] = 3; + $259 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($259|0); +} +function _sqlite3BtreeCursorHasHint($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 67|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = HEAP32[$3>>2]|0; + $9 = $7 & $8; + $10 = ($9|0)!=(0); + $11 = $10&1; + STACKTOP = sp;return ($11|0); +} +function _sqlite3BtreeEof($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 66|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = (1)!=($5|0); + $7 = $6&1; + STACKTOP = sp;return ($7|0); +} +function _sqlite3BtreeLast($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 66|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = (1)==($9|0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 64|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = $14 & 8; + $16 = ($15|0)!=(0); + if ($16) { + HEAP32[$2>>2] = 0; + $39 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($39|0); + } + } + $17 = HEAP32[$3>>2]|0; + $18 = (_moveToRoot($17)|0); + HEAP32[$5>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(0); + do { + if ($20) { + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 66|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (0)==($24|0); + $26 = HEAP32[$4>>2]|0; + if ($25) { + HEAP32[$26>>2] = 1; + break; + } else { + HEAP32[$26>>2] = 0; + $27 = HEAP32[$3>>2]|0; + $28 = (_moveToRightmost($27)|0); + HEAP32[$5>>2] = $28; + $29 = HEAP32[$5>>2]|0; + $30 = ($29|0)==(0); + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 64|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 & -9; + $36 = $34 | 8; + $$sink1 = $30 ? $36 : $35; + $37 = $$sink1&255; + HEAP8[$32>>0] = $37; + break; + } + } + } while(0); + $38 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $38; + $39 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($39|0); +} +function _sqlite3BtreeInsert($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $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, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + $18 = sp + 56|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $19 = HEAP32[$8>>2]|0; + HEAP32[$10>>2] = $19; + HEAP32[$11>>2] = 0; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$14>>2] = $21; + $22 = HEAP32[$14>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$15>>2] = $24; + HEAP32[$17>>2] = 0; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 66|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = ($28|0)==(4); + $30 = HEAP32[$5>>2]|0; + if ($29) { + $31 = ((($30)) + 60|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$4>>2] = $32; + $259 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($259|0); + } + $33 = ((($30)) + 64|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = $35 & 32; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$15>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 52|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = (_saveAllCursors($38,$41,$42)|0); + HEAP32[$9>>2] = $43; + $44 = HEAP32[$9>>2]|0; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $46; + $259 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($259|0); + } + } + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 72|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0|0); + do { + if ($50) { + $51 = HEAP32[$14>>2]|0; + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 8|0); + $54 = $53; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + _invalidateIncrblobCursors($51,$56,$59,0); + $60 = HEAP32[$5>>2]|0; + $61 = ((($60)) + 64|0); + $62 = HEAP8[$61>>0]|0; + $63 = $62&255; + $64 = $63 & 2; + $65 = ($64|0)!=(0); + if ($65) { + $66 = HEAP32[$6>>2]|0; + $67 = ((($66)) + 8|0); + $68 = $67; + $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[$5>>2]|0; + $80 = ((($79)) + 16|0); + $81 = $80; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$6>>2]|0; + $88 = ((($87)) + 8|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (_i64Subtract(($91|0),($94|0),1,0)|0); + $96 = tempRet0; + $97 = ($83|0)==($95|0); + $98 = ($86|0)==($96|0); + $99 = $97 & $98; + if ($99) { + HEAP32[$10>>2] = -1; + break; + } + } + } + $100 = HEAP32[$10>>2]|0; + $101 = ($100|0)==(0); + if ($101) { + $102 = HEAP32[$5>>2]|0; + $103 = HEAP32[$6>>2]|0; + $104 = ((($103)) + 8|0); + $105 = $104; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$7>>2]|0; + $112 = (_sqlite3BtreeMovetoUnpacked($102,0,$107,$110,$111,$10)|0); + HEAP32[$9>>2] = $112; + $113 = HEAP32[$9>>2]|0; + $114 = ($113|0)!=(0); + if ($114) { + $115 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $115; + $259 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($259|0); + } + } + } else { + $116 = HEAP32[$10>>2]|0; + $117 = ($116|0)==(0); + if ($117) { + $118 = HEAP32[$5>>2]|0; + $119 = HEAP32[$6>>2]|0; + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$6>>2]|0; + $122 = ((($121)) + 8|0); + $123 = $122; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = (($123) + 4)|0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = HEAP32[$7>>2]|0; + $130 = (_btreeMoveto($118,$120,$125,$128,$129,$10)|0); + HEAP32[$9>>2] = $130; + $131 = HEAP32[$9>>2]|0; + $132 = ($131|0)!=(0); + if ($132) { + $133 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $133; + $259 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($259|0); + } + } + } + } while(0); + $134 = HEAP32[$5>>2]|0; + $135 = ((($134)) + 120|0); + $136 = HEAP32[$5>>2]|0; + $137 = ((($136)) + 68|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138 << 24 >> 24; + $140 = (($135) + ($139<<2)|0); + $141 = HEAP32[$140>>2]|0; + HEAP32[$13>>2] = $141; + $142 = HEAP32[$15>>2]|0; + $143 = ((($142)) + 80|0); + $144 = HEAP32[$143>>2]|0; + HEAP32[$17>>2] = $144; + $145 = HEAP32[$13>>2]|0; + $146 = HEAP32[$17>>2]|0; + $147 = HEAP32[$6>>2]|0; + $148 = (_fillInCell($145,$146,$147,$11)|0); + HEAP32[$9>>2] = $148; + $149 = HEAP32[$9>>2]|0; + $150 = ($149|0)!=(0); + do { + if (!($150)) { + $151 = HEAP32[$5>>2]|0; + $152 = ((($151)) + 80|0); + $153 = HEAP32[$5>>2]|0; + $154 = ((($153)) + 68|0); + $155 = HEAP8[$154>>0]|0; + $156 = $155 << 24 >> 24; + $157 = (($152) + ($156<<1)|0); + $158 = HEAP16[$157>>1]|0; + $159 = $158&65535; + HEAP32[$12>>2] = $159; + $160 = HEAP32[$10>>2]|0; + $161 = ($160|0)==(0); + if ($161) { + $162 = HEAP32[$13>>2]|0; + $163 = ((($162)) + 72|0); + $164 = HEAP32[$163>>2]|0; + $165 = (_sqlite3PagerWrite($164)|0); + HEAP32[$9>>2] = $165; + $166 = HEAP32[$9>>2]|0; + $167 = ($166|0)!=(0); + if ($167) { + break; + } + $168 = HEAP32[$13>>2]|0; + $169 = ((($168)) + 56|0); + $170 = HEAP32[$169>>2]|0; + $171 = HEAP32[$13>>2]|0; + $172 = ((($171)) + 20|0); + $173 = HEAP16[$172>>1]|0; + $174 = $173&65535; + $175 = HEAP32[$13>>2]|0; + $176 = ((($175)) + 64|0); + $177 = HEAP32[$176>>2]|0; + $178 = HEAP32[$12>>2]|0; + $179 = $178<<1; + $180 = (($177) + ($179)|0); + $181 = HEAP8[$180>>0]|0; + $182 = $181&255; + $183 = $182 << 8; + $184 = HEAP32[$13>>2]|0; + $185 = ((($184)) + 64|0); + $186 = HEAP32[$185>>2]|0; + $187 = HEAP32[$12>>2]|0; + $188 = $187<<1; + $189 = (($186) + ($188)|0); + $190 = ((($189)) + 1|0); + $191 = HEAP8[$190>>0]|0; + $192 = $191&255; + $193 = $183 | $192; + $194 = $174 & $193; + $195 = (($170) + ($194)|0); + HEAP32[$16>>2] = $195; + $196 = HEAP32[$13>>2]|0; + $197 = ((($196)) + 4|0); + $198 = HEAP8[$197>>0]|0; + $199 = ($198<<24>>24)!=(0); + if (!($199)) { + $200 = HEAP32[$17>>2]|0; + $201 = HEAP32[$16>>2]|0; + ;HEAP8[$200>>0]=HEAP8[$201>>0]|0;HEAP8[$200+1>>0]=HEAP8[$201+1>>0]|0;HEAP8[$200+2>>0]=HEAP8[$201+2>>0]|0;HEAP8[$200+3>>0]=HEAP8[$201+3>>0]|0; + } + $202 = HEAP32[$13>>2]|0; + $203 = HEAP32[$16>>2]|0; + $204 = (_clearCell($202,$203,$18)|0); + HEAP32[$9>>2] = $204; + $205 = HEAP32[$13>>2]|0; + $206 = HEAP32[$12>>2]|0; + $207 = HEAP16[$18>>1]|0; + $208 = $207&65535; + _dropCell($205,$206,$208,$9); + $209 = HEAP32[$9>>2]|0; + $210 = ($209|0)!=(0); + if ($210) { + break; + } + } else { + $211 = HEAP32[$10>>2]|0; + $212 = ($211|0)<(0); + if ($212) { + $213 = HEAP32[$13>>2]|0; + $214 = ((($213)) + 18|0); + $215 = HEAP16[$214>>1]|0; + $216 = $215&65535; + $217 = ($216|0)>(0); + if ($217) { + $218 = HEAP32[$5>>2]|0; + $219 = ((($218)) + 80|0); + $220 = HEAP32[$5>>2]|0; + $221 = ((($220)) + 68|0); + $222 = HEAP8[$221>>0]|0; + $223 = $222 << 24 >> 24; + $224 = (($219) + ($223<<1)|0); + $225 = HEAP16[$224>>1]|0; + $226 = (($225) + 1)<<16>>16; + HEAP16[$224>>1] = $226; + $227 = $226&65535; + HEAP32[$12>>2] = $227; + } + } + } + $228 = HEAP32[$13>>2]|0; + $229 = HEAP32[$12>>2]|0; + $230 = HEAP32[$17>>2]|0; + $231 = HEAP32[$11>>2]|0; + _insertCell($228,$229,$230,$231,0,0,$9); + $232 = HEAP32[$5>>2]|0; + $233 = ((($232)) + 16|0); + $234 = ((($233)) + 18|0); + HEAP16[$234>>1] = 0; + $235 = HEAP32[$13>>2]|0; + $236 = ((($235)) + 1|0); + $237 = HEAP8[$236>>0]|0; + $238 = ($237<<24>>24)!=(0); + if ($238) { + $239 = HEAP32[$5>>2]|0; + $240 = ((($239)) + 64|0); + $241 = HEAP8[$240>>0]|0; + $242 = $241&255; + $243 = $242 & -3; + $244 = $243&255; + HEAP8[$240>>0] = $244; + $245 = HEAP32[$5>>2]|0; + $246 = (_balance($245)|0); + HEAP32[$9>>2] = $246; + $247 = HEAP32[$5>>2]|0; + $248 = ((($247)) + 120|0); + $249 = HEAP32[$5>>2]|0; + $250 = ((($249)) + 68|0); + $251 = HEAP8[$250>>0]|0; + $252 = $251 << 24 >> 24; + $253 = (($248) + ($252<<2)|0); + $254 = HEAP32[$253>>2]|0; + $255 = ((($254)) + 1|0); + HEAP8[$255>>0] = 0; + $256 = HEAP32[$5>>2]|0; + $257 = ((($256)) + 66|0); + HEAP8[$257>>0] = 0; + } + } + } while(0); + $258 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $258; + $259 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($259|0); +} +function _sqlite3BtreeDelete($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + 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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 56|0; + $3 = sp + 52|0; + $4 = sp + 63|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 60|0; + $13 = sp + 20|0; + $14 = sp + 62|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + $19 = sp; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$5>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$6>>2] = $24; + HEAP32[$13>>2] = 0; + $25 = HEAP8[$4>>0]|0; + $26 = $25&255; + $27 = $26 & 2; + $28 = $27&255; + HEAP8[$14>>0] = $28; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 68|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31 << 24 >> 24; + HEAP32[$11>>2] = $32; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 80|0); + $35 = HEAP32[$11>>2]|0; + $36 = (($34) + ($35<<1)|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37&65535; + HEAP32[$10>>2] = $38; + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 120|0); + $41 = HEAP32[$11>>2]|0; + $42 = (($40) + ($41<<2)|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$8>>2] = $43; + $44 = HEAP32[$8>>2]|0; + $45 = ((($44)) + 56|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$8>>2]|0; + $48 = ((($47)) + 20|0); + $49 = HEAP16[$48>>1]|0; + $50 = $49&65535; + $51 = HEAP32[$8>>2]|0; + $52 = ((($51)) + 64|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$10>>2]|0; + $55 = $54<<1; + $56 = (($53) + ($55)|0); + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = $58 << 8; + $60 = HEAP32[$8>>2]|0; + $61 = ((($60)) + 64|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$10>>2]|0; + $64 = $63<<1; + $65 = (($62) + ($64)|0); + $66 = ((($65)) + 1|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $59 | $68; + $70 = $50 & $69; + $71 = (($46) + ($70)|0); + HEAP32[$9>>2] = $71; + $72 = HEAP8[$14>>0]|0; + $73 = ($72<<24>>24)!=(0); + do { + if ($73) { + $74 = HEAP32[$8>>2]|0; + $75 = ((($74)) + 4|0); + $76 = HEAP8[$75>>0]|0; + $77 = ($76<<24>>24)!=(0); + if ($77) { + $78 = HEAP32[$8>>2]|0; + $79 = ((($78)) + 16|0); + $80 = HEAP16[$79>>1]|0; + $81 = $80&65535; + $82 = HEAP32[$8>>2]|0; + $83 = HEAP32[$9>>2]|0; + $84 = (_cellSizePtr($82,$83)|0); + $85 = $84&65535; + $86 = (($81) + ($85))|0; + $87 = (($86) + 2)|0; + $88 = HEAP32[$6>>2]|0; + $89 = ((($88)) + 36|0); + $90 = HEAP32[$89>>2]|0; + $91 = $90<<1; + $92 = (($91>>>0) / 3)&-1; + $93 = ($87|0)>($92|0); + if (!($93)) { + HEAP32[$13>>2] = 1; + break; + } + } + $94 = HEAP32[$3>>2]|0; + $95 = (_saveCursorKey($94)|0); + HEAP32[$7>>2] = $95; + $96 = HEAP32[$7>>2]|0; + $97 = ($96|0)!=(0); + if ($97) { + $98 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $98; + $306 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($306|0); + } + } + } while(0); + $99 = HEAP32[$8>>2]|0; + $100 = ((($99)) + 4|0); + $101 = HEAP8[$100>>0]|0; + $102 = ($101<<24>>24)!=(0); + if (!($102)) { + HEAP32[$15>>2] = 0; + $103 = HEAP32[$3>>2]|0; + $104 = (_sqlite3BtreePrevious($103,$15)|0); + HEAP32[$7>>2] = $104; + $105 = HEAP32[$7>>2]|0; + $106 = ($105|0)!=(0); + if ($106) { + $107 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $107; + $306 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($306|0); + } + } + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + 64|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110&255; + $112 = $111 & 32; + $113 = ($112|0)!=(0); + if ($113) { + $114 = HEAP32[$6>>2]|0; + $115 = HEAP32[$3>>2]|0; + $116 = ((($115)) + 52|0); + $117 = HEAP32[$116>>2]|0; + $118 = HEAP32[$3>>2]|0; + $119 = (_saveAllCursors($114,$117,$118)|0); + HEAP32[$7>>2] = $119; + $120 = HEAP32[$7>>2]|0; + $121 = ($120|0)!=(0); + if ($121) { + $122 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $122; + $306 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($306|0); + } + } + $123 = HEAP32[$3>>2]|0; + $124 = ((($123)) + 72|0); + $125 = HEAP32[$124>>2]|0; + $126 = ($125|0)==(0|0); + if ($126) { + $127 = HEAP32[$5>>2]|0; + $128 = HEAP32[$3>>2]|0; + $129 = ((($128)) + 16|0); + $130 = $129; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + _invalidateIncrblobCursors($127,$132,$135,0); + } + $136 = HEAP32[$8>>2]|0; + $137 = ((($136)) + 72|0); + $138 = HEAP32[$137>>2]|0; + $139 = (_sqlite3PagerWrite($138)|0); + HEAP32[$7>>2] = $139; + $140 = HEAP32[$7>>2]|0; + $141 = ($140|0)!=(0); + if ($141) { + $142 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $142; + $306 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($306|0); + } + $143 = HEAP32[$8>>2]|0; + $144 = HEAP32[$9>>2]|0; + $145 = (_clearCell($143,$144,$12)|0); + HEAP32[$7>>2] = $145; + $146 = HEAP32[$8>>2]|0; + $147 = HEAP32[$10>>2]|0; + $148 = HEAP16[$12>>1]|0; + $149 = $148&65535; + _dropCell($146,$147,$149,$7); + $150 = HEAP32[$7>>2]|0; + $151 = ($150|0)!=(0); + if ($151) { + $152 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $152; + $306 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($306|0); + } + $153 = HEAP32[$8>>2]|0; + $154 = ((($153)) + 4|0); + $155 = HEAP8[$154>>0]|0; + $156 = ($155<<24>>24)!=(0); + if (!($156)) { + $157 = HEAP32[$3>>2]|0; + $158 = ((($157)) + 120|0); + $159 = HEAP32[$3>>2]|0; + $160 = ((($159)) + 68|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161 << 24 >> 24; + $163 = (($158) + ($162<<2)|0); + $164 = HEAP32[$163>>2]|0; + HEAP32[$16>>2] = $164; + $165 = HEAP32[$3>>2]|0; + $166 = ((($165)) + 120|0); + $167 = HEAP32[$11>>2]|0; + $168 = (($167) + 1)|0; + $169 = (($166) + ($168<<2)|0); + $170 = HEAP32[$169>>2]|0; + $171 = ((($170)) + 84|0); + $172 = HEAP32[$171>>2]|0; + HEAP32[$18>>2] = $172; + $173 = HEAP32[$16>>2]|0; + $174 = ((($173)) + 56|0); + $175 = HEAP32[$174>>2]|0; + $176 = HEAP32[$16>>2]|0; + $177 = ((($176)) + 20|0); + $178 = HEAP16[$177>>1]|0; + $179 = $178&65535; + $180 = HEAP32[$16>>2]|0; + $181 = ((($180)) + 64|0); + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$16>>2]|0; + $184 = ((($183)) + 18|0); + $185 = HEAP16[$184>>1]|0; + $186 = $185&65535; + $187 = (($186) - 1)|0; + $188 = $187<<1; + $189 = (($182) + ($188)|0); + $190 = HEAP8[$189>>0]|0; + $191 = $190&255; + $192 = $191 << 8; + $193 = HEAP32[$16>>2]|0; + $194 = ((($193)) + 64|0); + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$16>>2]|0; + $197 = ((($196)) + 18|0); + $198 = HEAP16[$197>>1]|0; + $199 = $198&65535; + $200 = (($199) - 1)|0; + $201 = $200<<1; + $202 = (($195) + ($201)|0); + $203 = ((($202)) + 1|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204&255; + $206 = $192 | $205; + $207 = $179 & $206; + $208 = (($175) + ($207)|0); + HEAP32[$9>>2] = $208; + $209 = HEAP32[$9>>2]|0; + $210 = HEAP32[$16>>2]|0; + $211 = ((($210)) + 56|0); + $212 = HEAP32[$211>>2]|0; + $213 = ((($212)) + 4|0); + $214 = ($209>>>0)<($213>>>0); + if ($214) { + $215 = (_sqlite3CorruptError(66449)|0); + HEAP32[$2>>2] = $215; + $306 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($306|0); + } + $216 = HEAP32[$16>>2]|0; + $217 = ((($216)) + 76|0); + $218 = HEAP32[$217>>2]|0; + $219 = HEAP32[$16>>2]|0; + $220 = HEAP32[$9>>2]|0; + $221 = (FUNCTION_TABLE_iii[$218 & 255]($219,$220)|0); + $222 = $221&65535; + HEAP32[$17>>2] = $222; + $223 = HEAP32[$6>>2]|0; + $224 = ((($223)) + 80|0); + $225 = HEAP32[$224>>2]|0; + HEAP32[$19>>2] = $225; + $226 = HEAP32[$16>>2]|0; + $227 = ((($226)) + 72|0); + $228 = HEAP32[$227>>2]|0; + $229 = (_sqlite3PagerWrite($228)|0); + HEAP32[$7>>2] = $229; + $230 = HEAP32[$7>>2]|0; + $231 = ($230|0)==(0); + if ($231) { + $232 = HEAP32[$8>>2]|0; + $233 = HEAP32[$10>>2]|0; + $234 = HEAP32[$9>>2]|0; + $235 = ((($234)) + -4|0); + $236 = HEAP32[$17>>2]|0; + $237 = (($236) + 4)|0; + $238 = HEAP32[$19>>2]|0; + $239 = HEAP32[$18>>2]|0; + _insertCell($232,$233,$235,$237,$238,$239,$7); + } + $240 = HEAP32[$16>>2]|0; + $241 = HEAP32[$16>>2]|0; + $242 = ((($241)) + 18|0); + $243 = HEAP16[$242>>1]|0; + $244 = $243&65535; + $245 = (($244) - 1)|0; + $246 = HEAP32[$17>>2]|0; + _dropCell($240,$245,$246,$7); + $247 = HEAP32[$7>>2]|0; + $248 = ($247|0)!=(0); + if ($248) { + $249 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $249; + $306 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($306|0); + } + } + $250 = HEAP32[$3>>2]|0; + $251 = (_balance($250)|0); + HEAP32[$7>>2] = $251; + $252 = HEAP32[$7>>2]|0; + $253 = ($252|0)==(0); + if ($253) { + $254 = HEAP32[$3>>2]|0; + $255 = ((($254)) + 68|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256 << 24 >> 24; + $258 = HEAP32[$11>>2]|0; + $259 = ($257|0)>($258|0); + if ($259) { + while(1) { + $260 = HEAP32[$3>>2]|0; + $261 = ((($260)) + 68|0); + $262 = HEAP8[$261>>0]|0; + $263 = $262 << 24 >> 24; + $264 = HEAP32[$11>>2]|0; + $265 = ($263|0)>($264|0); + $266 = HEAP32[$3>>2]|0; + if (!($265)) { + break; + } + $267 = ((($266)) + 120|0); + $268 = HEAP32[$3>>2]|0; + $269 = ((($268)) + 68|0); + $270 = HEAP8[$269>>0]|0; + $271 = (($270) + -1)<<24>>24; + HEAP8[$269>>0] = $271; + $272 = $270 << 24 >> 24; + $273 = (($267) + ($272<<2)|0); + $274 = HEAP32[$273>>2]|0; + _releasePage($274); + } + $275 = (_balance($266)|0); + HEAP32[$7>>2] = $275; + } + } + $276 = HEAP32[$7>>2]|0; + $277 = ($276|0)==(0); + do { + if ($277) { + $278 = HEAP32[$13>>2]|0; + $279 = ($278|0)!=(0); + $280 = HEAP32[$3>>2]|0; + if (!($279)) { + $300 = (_moveToRoot($280)|0); + HEAP32[$7>>2] = $300; + $301 = HEAP8[$14>>0]|0; + $302 = ($301<<24>>24)!=(0); + if (!($302)) { + break; + } + $303 = HEAP32[$3>>2]|0; + $304 = ((($303)) + 66|0); + HEAP8[$304>>0] = 3; + break; + } + $281 = ((($280)) + 66|0); + HEAP8[$281>>0] = 2; + $282 = HEAP32[$10>>2]|0; + $283 = HEAP32[$8>>2]|0; + $284 = ((($283)) + 18|0); + $285 = HEAP16[$284>>1]|0; + $286 = $285&65535; + $287 = ($282|0)>=($286|0); + $288 = HEAP32[$3>>2]|0; + $289 = ((($288)) + 60|0); + if ($287) { + HEAP32[$289>>2] = -1; + $290 = HEAP32[$8>>2]|0; + $291 = ((($290)) + 18|0); + $292 = HEAP16[$291>>1]|0; + $293 = $292&65535; + $294 = (($293) - 1)|0; + $295 = $294&65535; + $296 = HEAP32[$3>>2]|0; + $297 = ((($296)) + 80|0); + $298 = HEAP32[$11>>2]|0; + $299 = (($297) + ($298<<1)|0); + HEAP16[$299>>1] = $295; + break; + } else { + HEAP32[$289>>2] = 1; + break; + } + } + } while(0); + $305 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $305; + $306 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($306|0); +} +function _sqlite3VdbeSorterCompare($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$9>>2] = $18; + $19 = HEAP32[$9>>2]|0; + $20 = ((($19)) + 32|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$10>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 24|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$11>>2] = $24; + $25 = HEAP32[$10>>2]|0; + $26 = ($25|0)==(0|0); + do { + if ($26) { + $27 = HEAP32[$11>>2]|0; + $28 = (_sqlite3VdbeAllocUnpackedRecord($27,0,0,$15)|0); + $29 = HEAP32[$9>>2]|0; + $30 = ((($29)) + 32|0); + HEAP32[$30>>2] = $28; + HEAP32[$10>>2] = $28; + $31 = HEAP32[$10>>2]|0; + $32 = ($31|0)==(0|0); + if (!($32)) { + $33 = HEAP32[$7>>2]|0; + $34 = $33&65535; + $35 = HEAP32[$10>>2]|0; + $36 = ((($35)) + 8|0); + HEAP16[$36>>1] = $34; + break; + } + HEAP32[$4>>2] = 7; + $68 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($68|0); + } + } while(0); + $37 = HEAP32[$9>>2]|0; + $38 = (_vdbeSorterRowkey($37,$14)|0); + HEAP32[$13>>2] = $38; + $39 = HEAP32[$11>>2]|0; + $40 = HEAP32[$14>>2]|0; + $41 = HEAP32[$13>>2]|0; + $42 = HEAP32[$10>>2]|0; + _sqlite3VdbeRecordUnpack($39,$40,$41,$42); + HEAP32[$12>>2] = 0; + while(1) { + $43 = HEAP32[$12>>2]|0; + $44 = HEAP32[$7>>2]|0; + $45 = ($43|0)<($44|0); + if (!($45)) { + label = 10; + break; + } + $46 = HEAP32[$10>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$12>>2]|0; + $50 = (($48) + (($49*40)|0)|0); + $51 = ((($50)) + 8|0); + $52 = HEAP16[$51>>1]|0; + $53 = $52&65535; + $54 = $53 & 1; + $55 = ($54|0)!=(0); + if ($55) { + label = 8; + break; + } + $57 = HEAP32[$12>>2]|0; + $58 = (($57) + 1)|0; + HEAP32[$12>>2] = $58; + } + if ((label|0) == 8) { + $56 = HEAP32[$8>>2]|0; + HEAP32[$56>>2] = -1; + HEAP32[$4>>2] = 0; + $68 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($68|0); + } + else if ((label|0) == 10) { + $59 = HEAP32[$6>>2]|0; + $60 = ((($59)) + 12|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$6>>2]|0; + $63 = ((($62)) + 16|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$10>>2]|0; + $66 = (_sqlite3VdbeRecordCompare($61,$64,$65)|0); + $67 = HEAP32[$8>>2]|0; + HEAP32[$67>>2] = $66; + HEAP32[$4>>2] = 0; + $68 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($68|0); + } + return (0)|0; +} +function _sqlite3VdbeSorterRowkey($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$5>>2]|0; + $12 = (_vdbeSorterRowkey($11,$7)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = (_sqlite3VdbeMemClearAndResize($13,$14)|0); + $16 = ($15|0)!=(0); + if ($16) { + HEAP32[$2>>2] = 7; + $34 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($34|0); + } else { + $17 = HEAP32[$7>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 12|0); + HEAP32[$19>>2] = $17; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = $23 & -49664; + $25 = $24 | 16; + $26 = $25&65535; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 8|0); + HEAP16[$28>>1] = $26; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 16|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$7>>2]|0; + _memcpy(($31|0),($32|0),($33|0))|0; + HEAP32[$2>>2] = 0; + $34 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($34|0); + } + return (0)|0; +} +function _sqlite3BtreeData($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 66|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)==(0); + if ($14) { + HEAP32[$4>>2] = 4; + $31 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($31|0); + } + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 66|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)>=(3); + if ($19) { + $20 = HEAP32[$5>>2]|0; + $21 = (_btreeRestoreCursorPosition($20)|0); + $22 = $21; + } else { + $22 = 0; + } + HEAP32[$9>>2] = $22; + $23 = HEAP32[$9>>2]|0; + $24 = ($23|0)==(0); + if ($24) { + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$7>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = (_accessPayload($25,$26,$27,$28,0)|0); + HEAP32[$9>>2] = $29; + } + $30 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $30; + $31 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($31|0); +} +function _sqlite3VdbeCursorRestore($0) { + $0 = $0|0; + var $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; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 16|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_sqlite3BtreeCursorHasMoved($5)|0); + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$2>>2]|0; + $9 = (_handleMovedCursor($8)|0); + HEAP32[$1>>2] = $9; + $10 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($10|0); + } else { + HEAP32[$1>>2] = 0; + $10 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($10|0); + } + return (0)|0; +} +function _sqlite3VdbeSorterRewind($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$6>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$5>>2] = $9; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 56|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)==(0); + $15 = HEAP32[$5>>2]|0; + if (!($14)) { + $26 = (_vdbeSorterFlushPMA($15)|0); + HEAP32[$6>>2] = $26; + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = (_vdbeSorterJoinAll($27,$28)|0); + HEAP32[$6>>2] = $29; + $30 = HEAP32[$6>>2]|0; + $31 = ($30|0)==(0); + if ($31) { + $32 = HEAP32[$5>>2]|0; + $33 = (_vdbeSorterSetupMerge($32)|0); + HEAP32[$6>>2] = $33; + $34 = HEAP32[$4>>2]|0; + HEAP32[$34>>2] = 0; + } + $35 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $35; + $36 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($36|0); + } + $16 = ((($15)) + 36|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + $19 = HEAP32[$4>>2]|0; + if ($18) { + HEAP32[$19>>2] = 0; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 64|0); + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 36|0); + $24 = (_vdbeSorterSort($21,$23)|0); + HEAP32[$6>>2] = $24; + } else { + HEAP32[$19>>2] = 1; + } + $25 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $25; + $36 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($36|0); +} +function _sqlite3BtreeFirst($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, $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 + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = (_moveToRoot($5)|0); + HEAP32[$4>>2] = $6; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)==(0); + do { + if ($8) { + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 66|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)==(0); + $14 = HEAP32[$3>>2]|0; + if ($13) { + HEAP32[$14>>2] = 1; + break; + } else { + HEAP32[$14>>2] = 0; + $15 = HEAP32[$2>>2]|0; + $16 = (_moveToLeftmost($15)|0); + HEAP32[$4>>2] = $16; + break; + } + } + } while(0); + $17 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _sqlite3VdbeSorterNext($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 56|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)!=(0); + $16 = HEAP32[$6>>2]|0; + if (!($15)) { + $36 = ((($16)) + 36|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$8>>2] = $37; + $38 = HEAP32[$8>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = ((($41)) + 36|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$8>>2]|0; + $44 = ((($43)) + 4|0); + HEAP32[$44>>2] = 0; + $45 = HEAP32[$6>>2]|0; + $46 = ((($45)) + 36|0); + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==(0|0); + if ($49) { + $50 = HEAP32[$3>>2]|0; + $51 = HEAP32[$8>>2]|0; + _vdbeSorterRecordFree($50,$51); + } + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 36|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)!=(0|0); + $56 = $55 ^ 1; + $57 = $56&1; + $58 = HEAP32[$5>>2]|0; + HEAP32[$58>>2] = $57; + HEAP32[$7>>2] = 0; + $59 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($59|0); + } + $17 = ((($16)) + 57|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)!=(0); + $20 = HEAP32[$6>>2]|0; + if ($19) { + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_vdbePmaReaderNext($22)|0); + HEAP32[$7>>2] = $23; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 16|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($26)) + 24|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0|0); + $30 = $29&1; + $31 = HEAP32[$5>>2]|0; + HEAP32[$31>>2] = $30; + $59 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($59|0); + } else { + $32 = ((($20)) + 20|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = (_vdbeMergeEngineStep($33,$34)|0); + HEAP32[$7>>2] = $35; + $59 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($59|0); + } + return (0)|0; +} +function _sqlite3VdbeSorterWrite($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 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; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 52|0; + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$6>>2] = 0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$5>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = ($24|0)<(128); + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 1|0); + if ($25) { + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + HEAP32[$11>>2] = $31; + } else { + (_sqlite3GetVarint32($29,$11)|0); + } + $32 = HEAP32[$11>>2]|0; + $33 = ($32|0)>(0); + $34 = HEAP32[$11>>2]|0; + $35 = ($34|0)<(10); + $or$cond = $33 & $35; + $36 = HEAP32[$11>>2]|0; + $37 = ($36|0)!=(7); + $or$cond3 = $or$cond & $37; + do { + if ($or$cond3) { + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 60|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $41 & 1; + $43 = $42&255; + HEAP8[$39>>0] = $43; + } else { + $44 = HEAP32[$11>>2]|0; + $45 = ($44|0)>(10); + if ($45) { + $46 = HEAP32[$11>>2]|0; + $47 = $46 & 1; + $48 = ($47|0)!=(0); + if ($48) { + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 60|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = $52 & 2; + $54 = $53&255; + HEAP8[$50>>0] = $54; + break; + } + } + $55 = HEAP32[$5>>2]|0; + $56 = ((($55)) + 60|0); + HEAP8[$56>>0] = 0; + } + } while(0); + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = (($59) + 8)|0; + HEAP32[$9>>2] = $60; + $61 = HEAP32[$4>>2]|0; + $62 = ((($61)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)<(0); + $68 = $67 << 31 >> 31; + $69 = (_sqlite3VarintLen($66,$68)|0); + $70 = (($63) + ($69))|0; + HEAP32[$10>>2] = $70; + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0); + if ($74) { + $75 = HEAP32[$5>>2]|0; + $76 = ((($75)) + 36|0); + $77 = ((($76)) + 4|0); + $78 = HEAP32[$77>>2]|0; + $79 = ($78|0)!=(0|0); + $80 = HEAP32[$5>>2]|0; + if ($79) { + $81 = ((($80)) + 48|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$5>>2]|0; + $85 = ((($84)) + 48|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$9>>2]|0; + $88 = (($86) + ($87))|0; + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($88|0)>($91|0); + $94 = $92; + } else { + $94 = 0; + } + $93 = $94&1; + HEAP32[$8>>2] = $93; + } else { + $95 = ((($80)) + 36|0); + $96 = ((($95)) + 8|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$5>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($97|0)>($100|0); + if ($101) { + $112 = 1; + } else { + $102 = HEAP32[$5>>2]|0; + $103 = ((($102)) + 36|0); + $104 = ((($103)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$5>>2]|0; + $107 = HEAP32[$106>>2]|0; + $108 = ($105|0)>($107|0); + if ($108) { + $109 = (_sqlite3HeapNearlyFull()|0); + $110 = ($109|0)!=(0); + $112 = $110; + } else { + $112 = 0; + } + } + $111 = $112&1; + HEAP32[$8>>2] = $111; + } + $113 = HEAP32[$8>>2]|0; + $114 = ($113|0)!=(0); + if ($114) { + $115 = HEAP32[$5>>2]|0; + $116 = (_vdbeSorterFlushPMA($115)|0); + HEAP32[$6>>2] = $116; + $117 = HEAP32[$5>>2]|0; + $118 = ((($117)) + 36|0); + $119 = ((($118)) + 8|0); + HEAP32[$119>>2] = 0; + $120 = HEAP32[$5>>2]|0; + $121 = ((($120)) + 48|0); + HEAP32[$121>>2] = 0; + } + } + $122 = HEAP32[$10>>2]|0; + $123 = HEAP32[$5>>2]|0; + $124 = ((($123)) + 36|0); + $125 = ((($124)) + 8|0); + $126 = HEAP32[$125>>2]|0; + $127 = (($126) + ($122))|0; + HEAP32[$125>>2] = $127; + $128 = HEAP32[$10>>2]|0; + $129 = HEAP32[$5>>2]|0; + $130 = ((($129)) + 8|0); + $131 = HEAP32[$130>>2]|0; + $132 = ($128|0)>($131|0); + if ($132) { + $133 = HEAP32[$10>>2]|0; + $134 = HEAP32[$5>>2]|0; + $135 = ((($134)) + 8|0); + HEAP32[$135>>2] = $133; + } + $136 = HEAP32[$5>>2]|0; + $137 = ((($136)) + 36|0); + $138 = ((($137)) + 4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)!=(0|0); + do { + if ($140) { + $141 = HEAP32[$5>>2]|0; + $142 = ((($141)) + 48|0); + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$9>>2]|0; + $145 = (($143) + ($144))|0; + HEAP32[$12>>2] = $145; + $146 = HEAP32[$12>>2]|0; + $147 = HEAP32[$5>>2]|0; + $148 = ((($147)) + 52|0); + $149 = HEAP32[$148>>2]|0; + $150 = ($146|0)>($149|0); + do { + if ($150) { + $151 = HEAP32[$5>>2]|0; + $152 = ((($151)) + 36|0); + $153 = HEAP32[$152>>2]|0; + $154 = HEAP32[$5>>2]|0; + $155 = ((($154)) + 36|0); + $156 = ((($155)) + 4|0); + $157 = HEAP32[$156>>2]|0; + $158 = $153; + $159 = $157; + $160 = (($158) - ($159))|0; + HEAP32[$14>>2] = $160; + $161 = HEAP32[$5>>2]|0; + $162 = ((($161)) + 52|0); + $163 = HEAP32[$162>>2]|0; + $164 = $163<<1; + HEAP32[$15>>2] = $164; + while(1) { + $165 = HEAP32[$15>>2]|0; + $166 = HEAP32[$12>>2]|0; + $167 = ($165|0)<($166|0); + $168 = HEAP32[$15>>2]|0; + if (!($167)) { + break; + } + $169 = $168<<1; + HEAP32[$15>>2] = $169; + } + $170 = HEAP32[$5>>2]|0; + $171 = ((($170)) + 4|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($168|0)>($172|0); + if ($173) { + $174 = HEAP32[$5>>2]|0; + $175 = ((($174)) + 4|0); + $176 = HEAP32[$175>>2]|0; + HEAP32[$15>>2] = $176; + } + $177 = HEAP32[$15>>2]|0; + $178 = HEAP32[$12>>2]|0; + $179 = ($177|0)<($178|0); + if ($179) { + $180 = HEAP32[$12>>2]|0; + HEAP32[$15>>2] = $180; + } + $181 = HEAP32[$5>>2]|0; + $182 = ((($181)) + 36|0); + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = HEAP32[$15>>2]|0; + $186 = ($185|0)<(0); + $187 = $186 << 31 >> 31; + $188 = (_sqlite3Realloc($184,$185,$187)|0); + HEAP32[$13>>2] = $188; + $189 = HEAP32[$13>>2]|0; + $190 = ($189|0)!=(0|0); + if ($190) { + $191 = HEAP32[$13>>2]|0; + $192 = HEAP32[$14>>2]|0; + $193 = (($191) + ($192)|0); + $194 = HEAP32[$5>>2]|0; + $195 = ((($194)) + 36|0); + HEAP32[$195>>2] = $193; + $196 = HEAP32[$13>>2]|0; + $197 = HEAP32[$5>>2]|0; + $198 = ((($197)) + 36|0); + $199 = ((($198)) + 4|0); + HEAP32[$199>>2] = $196; + $200 = HEAP32[$15>>2]|0; + $201 = HEAP32[$5>>2]|0; + $202 = ((($201)) + 52|0); + HEAP32[$202>>2] = $200; + break; + } + HEAP32[$2>>2] = 7; + $261 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($261|0); + } + } while(0); + $203 = HEAP32[$5>>2]|0; + $204 = ((($203)) + 36|0); + $205 = ((($204)) + 4|0); + $206 = HEAP32[$205>>2]|0; + $207 = HEAP32[$5>>2]|0; + $208 = ((($207)) + 48|0); + $209 = HEAP32[$208>>2]|0; + $210 = (($206) + ($209)|0); + HEAP32[$7>>2] = $210; + $211 = HEAP32[$9>>2]|0; + $212 = (($211) + 7)|0; + $213 = $212 & -8; + $214 = HEAP32[$5>>2]|0; + $215 = ((($214)) + 48|0); + $216 = HEAP32[$215>>2]|0; + $217 = (($216) + ($213))|0; + HEAP32[$215>>2] = $217; + $218 = HEAP32[$5>>2]|0; + $219 = ((($218)) + 36|0); + $220 = HEAP32[$219>>2]|0; + $221 = ($220|0)!=(0|0); + if ($221) { + $222 = HEAP32[$5>>2]|0; + $223 = ((($222)) + 36|0); + $224 = HEAP32[$223>>2]|0; + $225 = HEAP32[$5>>2]|0; + $226 = ((($225)) + 36|0); + $227 = ((($226)) + 4|0); + $228 = HEAP32[$227>>2]|0; + $229 = $224; + $230 = $228; + $231 = (($229) - ($230))|0; + $232 = HEAP32[$7>>2]|0; + $233 = ((($232)) + 4|0); + HEAP32[$233>>2] = $231; + } + } else { + $234 = HEAP32[$9>>2]|0; + $235 = ($234|0)<(0); + $236 = $235 << 31 >> 31; + $237 = (_sqlite3Malloc($234,$236)|0); + HEAP32[$7>>2] = $237; + $238 = HEAP32[$7>>2]|0; + $239 = ($238|0)==(0|0); + if (!($239)) { + $240 = HEAP32[$5>>2]|0; + $241 = ((($240)) + 36|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[$7>>2]|0; + $244 = ((($243)) + 4|0); + HEAP32[$244>>2] = $242; + break; + } + HEAP32[$2>>2] = 7; + $261 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($261|0); + } + } while(0); + $245 = HEAP32[$7>>2]|0; + $246 = ((($245)) + 8|0); + $247 = HEAP32[$4>>2]|0; + $248 = ((($247)) + 16|0); + $249 = HEAP32[$248>>2]|0; + $250 = HEAP32[$4>>2]|0; + $251 = ((($250)) + 12|0); + $252 = HEAP32[$251>>2]|0; + _memcpy(($246|0),($249|0),($252|0))|0; + $253 = HEAP32[$4>>2]|0; + $254 = ((($253)) + 12|0); + $255 = HEAP32[$254>>2]|0; + $256 = HEAP32[$7>>2]|0; + HEAP32[$256>>2] = $255; + $257 = HEAP32[$7>>2]|0; + $258 = HEAP32[$5>>2]|0; + $259 = ((($258)) + 36|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $260; + $261 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($261|0); +} +function _sqlite3VdbeIdxRowid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 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, $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; + STACKTOP = STACKTOP + 128|0; + $3 = sp + 116|0; + $4 = sp + 112|0; + $5 = sp + 108|0; + $6 = sp + 104|0; + $7 = sp + 80|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 92|0; + $11 = sp + 88|0; + $12 = sp + 40|0; + $13 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $14 = $7; + $15 = $14; + HEAP32[$15>>2] = 0; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = 0; + $18 = HEAP32[$5>>2]|0; + $19 = (_sqlite3BtreePayloadSize($18)|0); + $20 = $7; + $21 = $20; + HEAP32[$21>>2] = $19; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = 0; + $24 = HEAP32[$4>>2]|0; + _sqlite3VdbeMemInit($12,$24,0); + $25 = HEAP32[$5>>2]|0; + $26 = $7; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3VdbeMemFromBtree($25,0,$28,1,$12)|0); + HEAP32[$8>>2] = $32; + $33 = HEAP32[$8>>2]|0; + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $35; + $102 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($102|0); + } + $36 = ((($12)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = ($39|0)<(128); + $41 = ((($12)) + 16|0); + $42 = HEAP32[$41>>2]|0; + if ($40) { + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + HEAP32[$9>>2] = $44; + } else { + (_sqlite3GetVarint32($42,$9)|0); + } + $45 = HEAP32[$9>>2]|0; + $46 = ($45>>>0)<(3); + if (!($46)) { + $47 = HEAP32[$9>>2]|0; + $48 = ((($12)) + 12|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($47|0)>($49|0); + if (!($50)) { + $51 = ((($12)) + 16|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$9>>2]|0; + $54 = (($53) - 1)|0; + $55 = (($52) + ($54)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = ($57|0)<(128); + $59 = ((($12)) + 16|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$9>>2]|0; + $62 = (($61) - 1)|0; + $63 = (($60) + ($62)|0); + if ($58) { + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + HEAP32[$10>>2] = $65; + } else { + (_sqlite3GetVarint32($63,$10)|0); + } + $66 = HEAP32[$10>>2]|0; + $67 = ($66>>>0)<(1); + $68 = HEAP32[$10>>2]|0; + $69 = ($68>>>0)>(9); + $or$cond = $67 | $69; + $70 = HEAP32[$10>>2]|0; + $71 = ($70|0)==(7); + $or$cond3 = $or$cond | $71; + if (!($or$cond3)) { + $72 = HEAP32[$10>>2]|0; + $73 = (34519 + ($72)|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + HEAP32[$11>>2] = $75; + $76 = ((($12)) + 12|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$9>>2]|0; + $79 = HEAP32[$11>>2]|0; + $80 = (($78) + ($79))|0; + $81 = ($77>>>0)<($80>>>0); + if (!($81)) { + $82 = ((($12)) + 16|0); + $83 = HEAP32[$82>>2]|0; + $84 = ((($12)) + 12|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$11>>2]|0; + $87 = (($85) - ($86))|0; + $88 = (($83) + ($87)|0); + $89 = HEAP32[$10>>2]|0; + (_sqlite3VdbeSerialGet($88,$89,$13)|0); + $90 = $13; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = (($90) + 4)|0; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$6>>2]|0; + $97 = $96; + $98 = $97; + HEAP32[$98>>2] = $92; + $99 = (($97) + 4)|0; + $100 = $99; + HEAP32[$100>>2] = $95; + _sqlite3VdbeMemRelease($12); + HEAP32[$3>>2] = 0; + $102 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($102|0); + } + } + } + } + _sqlite3VdbeMemRelease($12); + $101 = (_sqlite3CorruptError(74890)|0); + HEAP32[$3>>2] = $101; + $102 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($102|0); +} +function _sqlite3VdbeIdxKeyCompare($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, $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, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = sp + 64|0; + $7 = sp + 60|0; + $8 = sp + 56|0; + $9 = sp + 40|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $13 = $9; + $14 = $13; + HEAP32[$14>>2] = 0; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = 0; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$11>>2] = $19; + $20 = HEAP32[$11>>2]|0; + $21 = (_sqlite3BtreePayloadSize($20)|0); + $22 = $9; + $23 = $22; + HEAP32[$23>>2] = $21; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = 0; + $26 = $9; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<(0); + $33 = ($28>>>0)<=(0); + $34 = ($31|0)==(0); + $35 = $34 & $33; + $36 = $32 | $35; + $37 = $9; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)>(0); + $44 = ($39>>>0)>(2147483647); + $45 = ($42|0)==(0); + $46 = $45 & $44; + $47 = $43 | $46; + $or$cond = $36 | $47; + if ($or$cond) { + $48 = HEAP32[$8>>2]|0; + HEAP32[$48>>2] = 0; + $49 = (_sqlite3CorruptError(74923)|0); + HEAP32[$4>>2] = $49; + $69 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($69|0); + } + $50 = HEAP32[$5>>2]|0; + _sqlite3VdbeMemInit($12,$50,0); + $51 = HEAP32[$11>>2]|0; + $52 = $9; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (_sqlite3VdbeMemFromBtree($51,0,$54,1,$12)|0); + HEAP32[$10>>2] = $58; + $59 = HEAP32[$10>>2]|0; + $60 = ($59|0)!=(0); + if ($60) { + $61 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $61; + $69 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($69|0); + } else { + $62 = ((($12)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($12)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$7>>2]|0; + $67 = (_sqlite3VdbeRecordCompare($63,$65,$66)|0); + $68 = HEAP32[$8>>2]|0; + HEAP32[$68>>2] = $67; + _sqlite3VdbeMemRelease($12); + HEAP32[$4>>2] = 0; + $69 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($69|0); + } + return (0)|0; +} +function _sqlite3BtreeDropTable($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($7); + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (_btreeDropTable($8,$9,$10)|0); + HEAP32[$6>>2] = $11; + $12 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($12); + $13 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _sqlite3RootPageMoved($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = (($15) + ($16<<4)|0); + HEAP32[$10>>2] = $17; + $18 = HEAP32[$10>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 8|0); + HEAP32[$9>>2] = $21; + $22 = HEAP32[$9>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$8>>2] = $24; + while(1) { + $25 = HEAP32[$8>>2]|0; + $26 = ($25|0)!=(0|0); + if (!($26)) { + break; + } + $27 = HEAP32[$8>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$11>>2] = $29; + $30 = HEAP32[$11>>2]|0; + $31 = ((($30)) + 28|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = ($32|0)==($33|0); + if ($34) { + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = ((($36)) + 28|0); + HEAP32[$37>>2] = $35; + } + $38 = HEAP32[$8>>2]|0; + $39 = HEAP32[$38>>2]|0; + HEAP32[$8>>2] = $39; + } + $40 = HEAP32[$10>>2]|0; + $41 = ((($40)) + 12|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 24|0); + HEAP32[$9>>2] = $43; + $44 = HEAP32[$9>>2]|0; + $45 = ((($44)) + 8|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$8>>2] = $46; + while(1) { + $47 = HEAP32[$8>>2]|0; + $48 = ($47|0)!=(0|0); + if (!($48)) { + break; + } + $49 = HEAP32[$8>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$12>>2] = $51; + $52 = HEAP32[$12>>2]|0; + $53 = ((($52)) + 44|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$6>>2]|0; + $56 = ($54|0)==($55|0); + if ($56) { + $57 = HEAP32[$7>>2]|0; + $58 = HEAP32[$12>>2]|0; + $59 = ((($58)) + 44|0); + HEAP32[$59>>2] = $57; + } + $60 = HEAP32[$8>>2]|0; + $61 = HEAP32[$60>>2]|0; + HEAP32[$8>>2] = $61; + } + STACKTOP = sp;return; +} +function _sqlite3BtreeClearTable($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$7>>2] = $10; + $11 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($11); + $12 = HEAP32[$7>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = (_saveAllCursors($12,$13,0)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = (0)==($15|0); + if (!($16)) { + $22 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($22); + $23 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($23|0); + } + $17 = HEAP32[$3>>2]|0; + _invalidateIncrblobCursors($17,0,0,1); + $18 = HEAP32[$7>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = (_clearDatabasePage($18,$19,0,$20)|0); + HEAP32[$6>>2] = $21; + $22 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($22); + $23 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($23|0); +} +function _sqlite3BtreeClearTableOfCursor($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 52|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3BtreeClearTable($3,$6,0)|0); + STACKTOP = sp;return ($7|0); +} +function _sqlite3UnlinkAndDeleteTable($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = (($10) + ($11<<4)|0); + HEAP32[$7>>2] = $12; + $13 = HEAP32[$7>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$5>>2]|0; + $18 = (_sqlite3HashInsert($16,$17,0)|0); + HEAP32[$6>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$6>>2]|0; + _sqlite3DeleteTable($19,$20); + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 24|0); + $23 = HEAP32[$22>>2]|0; + $24 = $23 | 2; + HEAP32[$22>>2] = $24; + STACKTOP = sp;return; +} +function _sqlite3UnlinkAndDeleteIndex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = (($11) + ($12<<4)|0); + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 24|0); + HEAP32[$7>>2] = $16; + $17 = HEAP32[$7>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = (_sqlite3HashInsert($17,$18,0)|0); + HEAP32[$6>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { + $63 = HEAP32[$3>>2]|0; + $64 = ((($63)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = $65 | 2; + HEAP32[$64>>2] = $66; + STACKTOP = sp;return; + } + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = ($26|0)==($27|0); + $29 = HEAP32[$6>>2]|0; + if ($28) { + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 8|0); + HEAP32[$35>>2] = $31; + } else { + $36 = ((($29)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$8>>2] = $39; + while(1) { + $40 = HEAP32[$8>>2]|0; + $41 = ($40|0)!=(0|0); + if ($41) { + $42 = HEAP32[$8>>2]|0; + $43 = ((($42)) + 20|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$6>>2]|0; + $46 = ($44|0)!=($45|0); + $67 = $46; + } else { + $67 = 0; + } + $47 = HEAP32[$8>>2]|0; + if (!($67)) { + break; + } + $48 = ((($47)) + 20|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$8>>2] = $49; + } + $50 = ($47|0)!=(0|0); + if ($50) { + $51 = HEAP32[$8>>2]|0; + $52 = ((($51)) + 20|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ($53|0)==($54|0); + if ($55) { + $56 = HEAP32[$6>>2]|0; + $57 = ((($56)) + 20|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$8>>2]|0; + $60 = ((($59)) + 20|0); + HEAP32[$60>>2] = $58; + } + } + } + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$6>>2]|0; + _freeIndex($61,$62); + $63 = HEAP32[$3>>2]|0; + $64 = ((($63)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = $65 | 2; + HEAP32[$64>>2] = $66; + STACKTOP = sp;return; +} +function _sqlite3UnlinkAndDeleteTrigger($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = (($12) + ($13<<4)|0); + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 40|0); + HEAP32[$7>>2] = $17; + $18 = HEAP32[$7>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = (_sqlite3HashInsert($18,$19,0)|0); + HEAP32[$6>>2] = $20; + $21 = HEAP32[$6>>2]|0; + $22 = ($21|0)!=(0|0); + if (!($22)) { + STACKTOP = sp;return; + } + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 24|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($25|0)==($28|0); + if ($29) { + $30 = HEAP32[$6>>2]|0; + $31 = (_tableOfTrigger($30)|0); + HEAP32[$8>>2] = $31; + $32 = HEAP32[$8>>2]|0; + $33 = ((($32)) + 60|0); + HEAP32[$9>>2] = $33; + while(1) { + $34 = HEAP32[$9>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$6>>2]|0; + $37 = ($35|0)!=($36|0); + $38 = HEAP32[$9>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = ((($39)) + 32|0); + if (!($37)) { + break; + } + HEAP32[$9>>2] = $40; + } + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$9>>2]|0; + HEAP32[$42>>2] = $41; + } + $43 = HEAP32[$3>>2]|0; + $44 = HEAP32[$6>>2]|0; + _sqlite3DeleteTrigger($43,$44); + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 24|0); + $47 = HEAP32[$46>>2]|0; + $48 = $47 | 2; + HEAP32[$46>>2] = $48; + STACKTOP = sp;return; +} +function _sqlite3BtreeIntegrityCheck($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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, $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; + $vararg_buffer2 = sp + 16|0; + $vararg_buffer = sp + 8|0; + $5 = sp + 124|0; + $6 = sp + 120|0; + $7 = sp + 116|0; + $8 = sp + 112|0; + $9 = sp + 108|0; + $10 = sp + 104|0; + $11 = sp + 32|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 128|0; + $15 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$12>>2] = $18; + $19 = HEAP32[$12>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 24|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$13>>2] = $23; + $24 = HEAP32[$5>>2]|0; + _sqlite3BtreeEnter($24); + $25 = HEAP32[$12>>2]|0; + HEAP32[$11>>2] = $25; + $26 = HEAP32[$12>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = ((($11)) + 4|0); + HEAP32[$28>>2] = $27; + $29 = HEAP32[$11>>2]|0; + $30 = (_btreePagecount($29)|0); + $31 = ((($11)) + 12|0); + HEAP32[$31>>2] = $30; + $32 = HEAP32[$8>>2]|0; + $33 = ((($11)) + 16|0); + HEAP32[$33>>2] = $32; + $34 = ((($11)) + 20|0); + HEAP32[$34>>2] = 0; + $35 = ((($11)) + 24|0); + HEAP32[$35>>2] = 0; + $36 = ((($11)) + 28|0); + HEAP32[$36>>2] = 0; + $37 = ((($11)) + 32|0); + HEAP32[$37>>2] = 0; + $38 = ((($11)) + 36|0); + HEAP32[$38>>2] = 0; + $39 = ((($11)) + 8|0); + HEAP32[$39>>2] = 0; + $40 = ((($11)) + 68|0); + HEAP32[$40>>2] = 0; + $41 = ((($11)) + 40|0); + _sqlite3StrAccumInit($41,0,$14,100,1000000000); + $42 = ((($11)) + 40|0); + $43 = ((($42)) + 25|0); + HEAP8[$43>>0] = 1; + $44 = ((($11)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(0); + L1: do { + if (!($46)) { + $47 = ((($11)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = (($48>>>0) / 8)&-1; + $50 = (($49) + 1)|0; + $51 = (_sqlite3MallocZero($50,0)|0); + $52 = ((($11)) + 8|0); + HEAP32[$52>>2] = $51; + $53 = ((($11)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)!=(0|0); + if (!($55)) { + $56 = ((($11)) + 24|0); + HEAP32[$56>>2] = 1; + break; + } + $57 = HEAP32[$12>>2]|0; + $58 = ((($57)) + 32|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3PageMalloc($59)|0); + $61 = ((($11)) + 68|0); + HEAP32[$61>>2] = $60; + $62 = ((($11)) + 68|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $65 = ((($11)) + 24|0); + HEAP32[$65>>2] = 1; + break; + } + $66 = HEAP32[482]|0; + $67 = HEAP32[$12>>2]|0; + $68 = ((($67)) + 32|0); + $69 = HEAP32[$68>>2]|0; + $70 = (($66>>>0) / ($69>>>0))&-1; + $71 = (($70) + 1)|0; + HEAP32[$10>>2] = $71; + $72 = HEAP32[$10>>2]|0; + $73 = ((($11)) + 12|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($72>>>0)<=($74>>>0); + if ($75) { + $76 = HEAP32[$10>>2]|0; + _setPageReferenced($11,$76); + } + $77 = ((($11)) + 28|0); + HEAP32[$77>>2] = 39948; + $78 = HEAP32[$12>>2]|0; + $79 = ((($78)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($80)) + 56|0); + $82 = HEAP32[$81>>2]|0; + $83 = ((($82)) + 32|0); + $84 = (_sqlite3Get4byte($83)|0); + $85 = HEAP32[$12>>2]|0; + $86 = ((($85)) + 12|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($87)) + 56|0); + $89 = HEAP32[$88>>2]|0; + $90 = ((($89)) + 36|0); + $91 = (_sqlite3Get4byte($90)|0); + _checkList($11,1,$84,$91); + $92 = ((($11)) + 28|0); + HEAP32[$92>>2] = 0; + $93 = HEAP32[$12>>2]|0; + $94 = ((($93)) + 4|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($95)) + 24|0); + $97 = HEAP32[$96>>2]|0; + $98 = $97 & -536870913; + HEAP32[$96>>2] = $98; + HEAP32[$10>>2] = 0; + while(1) { + $99 = HEAP32[$10>>2]|0; + $100 = HEAP32[$7>>2]|0; + $101 = ($99|0)<($100|0); + if (!($101)) { + break; + } + $102 = ((($11)) + 16|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)!=(0); + if (!($104)) { + break; + } + $105 = HEAP32[$6>>2]|0; + $106 = HEAP32[$10>>2]|0; + $107 = (($105) + ($106<<2)|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==(0); + if (!($109)) { + $110 = HEAP32[$12>>2]|0; + $111 = ((($110)) + 17|0); + $112 = HEAP8[$111>>0]|0; + $113 = $112&255; + $114 = ($113|0)!=(0); + if ($114) { + $115 = HEAP32[$6>>2]|0; + $116 = HEAP32[$10>>2]|0; + $117 = (($115) + ($116<<2)|0); + $118 = HEAP32[$117>>2]|0; + $119 = ($118|0)>(1); + if ($119) { + $120 = HEAP32[$6>>2]|0; + $121 = HEAP32[$10>>2]|0; + $122 = (($120) + ($121<<2)|0); + $123 = HEAP32[$122>>2]|0; + _checkPtrmap($11,$123,1,0); + } + } + $124 = HEAP32[$6>>2]|0; + $125 = HEAP32[$10>>2]|0; + $126 = (($124) + ($125<<2)|0); + $127 = HEAP32[$126>>2]|0; + (_checkTreePage($11,$127,$15,-1,2147483647)|0); + } + $128 = HEAP32[$10>>2]|0; + $129 = (($128) + 1)|0; + HEAP32[$10>>2] = $129; + } + $130 = HEAP32[$13>>2]|0; + $131 = HEAP32[$12>>2]|0; + $132 = ((($131)) + 4|0); + $133 = HEAP32[$132>>2]|0; + $134 = ((($133)) + 24|0); + HEAP32[$134>>2] = $130; + HEAP32[$10>>2] = 1; + while(1) { + $135 = HEAP32[$10>>2]|0; + $136 = ((($11)) + 12|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($135>>>0)<=($137>>>0); + if (!($138)) { + break L1; + } + $139 = ((($11)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $141 = ($140|0)!=(0); + if (!($141)) { + break L1; + } + $142 = HEAP32[$10>>2]|0; + $143 = (_getPageReferenced($11,$142)|0); + $144 = ($143|0)==(0); + do { + if ($144) { + $145 = HEAP32[$12>>2]|0; + $146 = HEAP32[$10>>2]|0; + $147 = (_ptrmapPageno($145,$146)|0); + $148 = HEAP32[$10>>2]|0; + $149 = ($147|0)!=($148|0); + if (!($149)) { + $150 = HEAP32[$12>>2]|0; + $151 = ((($150)) + 17|0); + $152 = HEAP8[$151>>0]|0; + $153 = ($152<<24>>24)!=(0); + if ($153) { + break; + } + } + $154 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer>>2] = $154; + _checkAppendMsg($11,39964,$vararg_buffer); + } + } while(0); + $155 = HEAP32[$10>>2]|0; + $156 = (_getPageReferenced($11,$155)|0); + $157 = ($156|0)!=(0); + if ($157) { + $158 = HEAP32[$12>>2]|0; + $159 = HEAP32[$10>>2]|0; + $160 = (_ptrmapPageno($158,$159)|0); + $161 = HEAP32[$10>>2]|0; + $162 = ($160|0)==($161|0); + if ($162) { + $163 = HEAP32[$12>>2]|0; + $164 = ((($163)) + 17|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = ($166|0)!=(0); + if ($167) { + $168 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer2>>2] = $168; + _checkAppendMsg($11,39986,$vararg_buffer2); + } + } + } + $169 = HEAP32[$10>>2]|0; + $170 = (($169) + 1)|0; + HEAP32[$10>>2] = $170; + } + } + } while(0); + $171 = ((($11)) + 68|0); + $172 = HEAP32[$171>>2]|0; + _sqlite3PageFree($172); + $173 = ((($11)) + 8|0); + $174 = HEAP32[$173>>2]|0; + _sqlite3_free($174); + $175 = ((($11)) + 24|0); + $176 = HEAP32[$175>>2]|0; + $177 = ($176|0)!=(0); + if ($177) { + $178 = ((($11)) + 40|0); + _sqlite3StrAccumReset($178); + $179 = ((($11)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = (($180) + 1)|0; + HEAP32[$179>>2] = $181; + } + $182 = ((($11)) + 20|0); + $183 = HEAP32[$182>>2]|0; + $184 = HEAP32[$9>>2]|0; + HEAP32[$184>>2] = $183; + $185 = ((($11)) + 20|0); + $186 = HEAP32[$185>>2]|0; + $187 = ($186|0)==(0); + if (!($187)) { + $189 = HEAP32[$5>>2]|0; + _sqlite3BtreeLeave($189); + $190 = ((($11)) + 40|0); + $191 = (_sqlite3StrAccumFinish($190)|0); + STACKTOP = sp;return ($191|0); + } + $188 = ((($11)) + 40|0); + _sqlite3StrAccumReset($188); + $189 = HEAP32[$5>>2]|0; + _sqlite3BtreeLeave($189); + $190 = ((($11)) + 40|0); + $191 = (_sqlite3StrAccumFinish($190)|0); + STACKTOP = sp;return ($191|0); +} +function _sqlite3VdbeMemSetRowSet($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 32|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$1>>2]|0; + _sqlite3VdbeMemRelease($6); + $7 = HEAP32[$2>>2]|0; + $8 = (_sqlite3DbMallocRawNN($7,64,0)|0); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 20|0); + HEAP32[$10>>2] = $8; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 69|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($13<<24>>24)!=(0); + if ($14) { + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 8|0); + HEAP16[$16>>1] = 1; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 24|0); + HEAP32[$18>>2] = 0; + STACKTOP = sp;return; + } else { + $19 = HEAP32[$2>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3DbMallocSize($19,$22)|0); + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 24|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$2>>2]|0; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 20|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 24|0); + $32 = HEAP32[$31>>2]|0; + $33 = (_sqlite3RowSetInit($26,$29,$32)|0); + $34 = HEAP32[$1>>2]|0; + HEAP32[$34>>2] = $33; + $35 = HEAP32[$1>>2]|0; + $36 = ((($35)) + 8|0); + HEAP16[$36>>1] = 32; + STACKTOP = sp;return; + } +} +function _sqlite3RowSetInsert($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp; + $5 = sp + 12|0; + $6 = sp + 8|0; + HEAP32[$3>>2] = $0; + $7 = $4; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = HEAP32[$3>>2]|0; + $12 = (_rowSetEntryAlloc($11)|0); + HEAP32[$5>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + STACKTOP = sp;return; + } + $15 = $4; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = $21; + $23 = $22; + HEAP32[$23>>2] = $17; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 8|0); + HEAP32[$27>>2] = 0; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$6>>2] = $30; + $31 = HEAP32[$6>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = $4; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = $39; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = ($38|0)<($45|0); + $47 = ($35>>>0)<=($42>>>0); + $48 = ($38|0)==($45|0); + $49 = $48 & $47; + $50 = $46 | $49; + if ($50) { + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 26|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = $54 & -2; + $56 = $55&65535; + HEAP16[$52>>1] = $56; + } + $57 = HEAP32[$5>>2]|0; + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + 8|0); + HEAP32[$59>>2] = $57; + } else { + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$3>>2]|0; + $62 = ((($61)) + 8|0); + HEAP32[$62>>2] = $60; + } + $63 = HEAP32[$5>>2]|0; + $64 = HEAP32[$3>>2]|0; + $65 = ((($64)) + 12|0); + HEAP32[$65>>2] = $63; + STACKTOP = sp;return; +} +function _sqlite3RowSetNext($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 26|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + $9 = $8 & 2; + $10 = ($9|0)==(0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 26|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = $14 & 1; + $16 = ($15|0)==(0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_rowSetEntrySort($19)|0); + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 8|0); + HEAP32[$22>>2] = $20; + } + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 26|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = $26 | 3; + $28 = $27&65535; + HEAP16[$24>>1] = $28; + } + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)!=(0|0); + if (!($32)) { + HEAP32[$2>>2] = 0; + $59 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($59|0); + } + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$4>>2]|0; + $43 = $42; + $44 = $43; + HEAP32[$44>>2] = $38; + $45 = (($43) + 4)|0; + $46 = $45; + HEAP32[$46>>2] = $41; + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 8|0); + HEAP32[$53>>2] = $51; + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56|0)==(0|0); + if ($57) { + $58 = HEAP32[$3>>2]|0; + _sqlite3RowSetClear($58); + } + HEAP32[$2>>2] = 1; + $59 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($59|0); +} +function _sqlite3RowSetTest($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + $13 = $7; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $3; + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 28|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($17|0)!=($20|0); + if ($21) { + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$8>>2] = $24; + $25 = HEAP32[$8>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 20|0); + HEAP32[$10>>2] = $28; + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 26|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + $33 = $32 & 1; + $34 = ($33|0)==(0); + if ($34) { + $35 = HEAP32[$8>>2]|0; + $36 = (_rowSetEntrySort($35)|0); + HEAP32[$8>>2] = $36; + } + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 20|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$9>>2] = $39; + while(1) { + $40 = HEAP32[$9>>2]|0; + $41 = ($40|0)!=(0|0); + if (!($41)) { + break; + } + $42 = HEAP32[$9>>2]|0; + $43 = ((($42)) + 8|0); + HEAP32[$10>>2] = $43; + $44 = HEAP32[$9>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)==(0|0); + if ($47) { + label = 8; + break; + } + $52 = HEAP32[$9>>2]|0; + $53 = ((($52)) + 12|0); + $54 = HEAP32[$53>>2]|0; + _rowSetTreeToList($54,$11,$12); + $55 = HEAP32[$9>>2]|0; + $56 = ((($55)) + 12|0); + HEAP32[$56>>2] = 0; + $57 = HEAP32[$11>>2]|0; + $58 = HEAP32[$8>>2]|0; + $59 = (_rowSetEntryMerge($57,$58)|0); + HEAP32[$8>>2] = $59; + $60 = HEAP32[$9>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$9>>2] = $62; + } + if ((label|0) == 8) { + $48 = HEAP32[$8>>2]|0; + $49 = (_rowSetListToTree($48)|0); + $50 = HEAP32[$9>>2]|0; + $51 = ((($50)) + 12|0); + HEAP32[$51>>2] = $49; + } + $63 = HEAP32[$9>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $65 = HEAP32[$5>>2]|0; + $66 = (_rowSetEntryAlloc($65)|0); + HEAP32[$9>>2] = $66; + $67 = HEAP32[$10>>2]|0; + HEAP32[$67>>2] = $66; + $68 = HEAP32[$9>>2]|0; + $69 = ($68|0)!=(0|0); + if ($69) { + $70 = HEAP32[$9>>2]|0; + $71 = $70; + $72 = $71; + HEAP32[$72>>2] = 0; + $73 = (($71) + 4)|0; + $74 = $73; + HEAP32[$74>>2] = 0; + $75 = HEAP32[$9>>2]|0; + $76 = ((($75)) + 8|0); + HEAP32[$76>>2] = 0; + $77 = HEAP32[$8>>2]|0; + $78 = (_rowSetListToTree($77)|0); + $79 = HEAP32[$9>>2]|0; + $80 = ((($79)) + 12|0); + HEAP32[$80>>2] = $78; + } + } + $81 = HEAP32[$5>>2]|0; + $82 = ((($81)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = HEAP32[$5>>2]|0; + $84 = ((($83)) + 12|0); + HEAP32[$84>>2] = 0; + $85 = HEAP32[$5>>2]|0; + $86 = ((($85)) + 26|0); + $87 = HEAP16[$86>>1]|0; + $88 = $87&65535; + $89 = $88 | 1; + $90 = $89&65535; + HEAP16[$86>>1] = $90; + } + $91 = HEAP32[$6>>2]|0; + $92 = HEAP32[$5>>2]|0; + $93 = ((($92)) + 28|0); + HEAP32[$93>>2] = $91; + } + $94 = HEAP32[$5>>2]|0; + $95 = ((($94)) + 20|0); + $96 = HEAP32[$95>>2]|0; + HEAP32[$9>>2] = $96; + L21: while(1) { + $97 = HEAP32[$9>>2]|0; + $98 = ($97|0)!=(0|0); + if (!($98)) { + label = 25; + break; + } + $99 = HEAP32[$9>>2]|0; + $100 = ((($99)) + 12|0); + $101 = HEAP32[$100>>2]|0; + HEAP32[$8>>2] = $101; + while(1) { + $102 = HEAP32[$8>>2]|0; + $103 = ($102|0)!=(0|0); + if (!($103)) { + break; + } + $104 = HEAP32[$8>>2]|0; + $105 = $104; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = $7; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (($111) + 4)|0; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = ($110|0)<($116|0); + $118 = ($107>>>0)<($113>>>0); + $119 = ($110|0)==($116|0); + $120 = $119 & $118; + $121 = $117 | $120; + $122 = HEAP32[$8>>2]|0; + if ($121) { + $123 = ((($122)) + 8|0); + $124 = HEAP32[$123>>2]|0; + HEAP32[$8>>2] = $124; + continue; + } + $125 = $122; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = (($125) + 4)|0; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = $7; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (($131) + 4)|0; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = ($130|0)>($136|0); + $138 = ($127>>>0)>($133>>>0); + $139 = ($130|0)==($136|0); + $140 = $139 & $138; + $141 = $137 | $140; + if (!($141)) { + label = 23; + break L21; + } + $142 = HEAP32[$8>>2]|0; + $143 = ((($142)) + 12|0); + $144 = HEAP32[$143>>2]|0; + HEAP32[$8>>2] = $144; + } + $145 = HEAP32[$9>>2]|0; + $146 = ((($145)) + 8|0); + $147 = HEAP32[$146>>2]|0; + HEAP32[$9>>2] = $147; + } + if ((label|0) == 23) { + HEAP32[$4>>2] = 1; + $148 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($148|0); + } + else if ((label|0) == 25) { + HEAP32[$4>>2] = 0; + $148 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($148|0); + } + return (0)|0; +} +function _sqlite3PagerOkToChangeJournalMode($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, $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; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 17|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)>=(3); + if ($7) { + HEAP32[$1>>2] = 0; + $26 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($26|0); + } + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 68|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 80|0); + $15 = $14; + $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) { + HEAP32[$1>>2] = 0; + $26 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($26|0); + } + } + HEAP32[$1>>2] = 1; + $26 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($26|0); +} +function _sqlite3PagerCloseWal($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 216|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + HEAP32[$3>>2] = 0; + $8 = HEAP32[$1>>2]|0; + $9 = (_pagerLockDb($8,1)|0); + HEAP32[$2>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ($10|0)==(0); + if ($11) { + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 220|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3OsAccess($13,$16,0,$3)|0); + HEAP32[$2>>2] = $17; + } + $18 = HEAP32[$2>>2]|0; + $19 = ($18|0)==(0); + $20 = HEAP32[$3>>2]|0; + $21 = ($20|0)!=(0); + $or$cond = $19 & $21; + if ($or$cond) { + $22 = HEAP32[$1>>2]|0; + $23 = (_pagerOpenWal($22)|0); + HEAP32[$2>>2] = $23; + } + } + $24 = HEAP32[$2>>2]|0; + $25 = ($24|0)==(0); + if (!($25)) { + $58 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($58|0); + } + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 216|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)!=(0|0); + if (!($29)) { + $58 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($58|0); + } + $30 = HEAP32[$1>>2]|0; + $31 = (_pagerExclusiveLock($30)|0); + HEAP32[$2>>2] = $31; + $32 = HEAP32[$2>>2]|0; + $33 = ($32|0)==(0); + if (!($33)) { + $58 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($58|0); + } + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 216|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 10|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 160|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 208|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_sqlite3WalClose($36,$40,$43,$46)|0); + HEAP32[$2>>2] = $47; + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 216|0); + HEAP32[$49>>2] = 0; + $50 = HEAP32[$1>>2]|0; + _pagerFixMaplimit($50); + $51 = HEAP32[$2>>2]|0; + $52 = ($51|0)!=(0); + if (!($52)) { + $58 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($58|0); + } + $53 = HEAP32[$1>>2]|0; + $54 = ((($53)) + 4|0); + $55 = HEAP8[$54>>0]|0; + $56 = ($55<<24>>24)!=(0); + if ($56) { + $58 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($58|0); + } + $57 = HEAP32[$1>>2]|0; + (_pagerUnlockDb($57,1)|0); + $58 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($58|0); +} +function _sqlite3PagerSetJournalMode($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 16|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 5|0); + $9 = HEAP8[$8>>0]|0; + HEAP8[$4>>0] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)!=(0); + if ($13) { + $14 = HEAP32[$3>>2]|0; + $15 = ($14|0)!=(4); + $16 = HEAP32[$3>>2]|0; + $17 = ($16|0)!=(2); + $or$cond = $15 & $17; + if ($or$cond) { + $18 = HEAP8[$4>>0]|0; + $19 = $18&255; + HEAP32[$3>>2] = $19; + } + } + $20 = HEAP32[$3>>2]|0; + $21 = HEAP8[$4>>0]|0; + $22 = $21&255; + $23 = ($20|0)!=($22|0); + do { + if ($23) { + $24 = HEAP32[$3>>2]|0; + $25 = $24&255; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 5|0); + HEAP8[$27>>0] = $25; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP8[$29>>0]|0; + $31 = ($30<<24>>24)!=(0); + if (!($31)) { + $32 = HEAP8[$4>>0]|0; + $33 = $32&255; + $34 = $33 & 5; + $35 = ($34|0)==(1); + if ($35) { + $36 = HEAP32[$3>>2]|0; + $37 = $36 & 1; + $38 = ($37|0)==(0); + if ($38) { + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 68|0); + $41 = HEAP32[$40>>2]|0; + _sqlite3OsClose($41); + $42 = HEAP32[$2>>2]|0; + $43 = ((($42)) + 18|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = ($45|0)>=(2); + if ($46) { + $47 = HEAP32[$2>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 180|0); + $51 = HEAP32[$50>>2]|0; + (_sqlite3OsDelete($48,$51,0)|0); + break; + } + HEAP32[$5>>2] = 0; + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 17|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + HEAP32[$6>>2] = $55; + $56 = HEAP32[$6>>2]|0; + $57 = ($56|0)==(0); + if ($57) { + $58 = HEAP32[$2>>2]|0; + $59 = (_sqlite3PagerSharedLock($58)|0); + HEAP32[$5>>2] = $59; + } + $60 = HEAP32[$2>>2]|0; + $61 = ((($60)) + 17|0); + $62 = HEAP8[$61>>0]|0; + $63 = $62&255; + $64 = ($63|0)==(1); + if ($64) { + $65 = HEAP32[$2>>2]|0; + $66 = (_pagerLockDb($65,2)|0); + HEAP32[$5>>2] = $66; + } + $67 = HEAP32[$5>>2]|0; + $68 = ($67|0)==(0); + if ($68) { + $69 = HEAP32[$2>>2]|0; + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$2>>2]|0; + $72 = ((($71)) + 180|0); + $73 = HEAP32[$72>>2]|0; + (_sqlite3OsDelete($70,$73,0)|0); + } + $74 = HEAP32[$5>>2]|0; + $75 = ($74|0)==(0); + $76 = HEAP32[$6>>2]|0; + $77 = ($76|0)==(1); + $or$cond3 = $75 & $77; + if ($or$cond3) { + $78 = HEAP32[$2>>2]|0; + (_pagerUnlockDb($78,1)|0); + break; + } + $79 = HEAP32[$6>>2]|0; + $80 = ($79|0)==(0); + if (!($80)) { + break; + } + $81 = HEAP32[$2>>2]|0; + _pager_unlock($81); + break; + } + } + } + $82 = HEAP32[$3>>2]|0; + $83 = ($82|0)==(2); + if ($83) { + $84 = HEAP32[$2>>2]|0; + $85 = ((($84)) + 68|0); + $86 = HEAP32[$85>>2]|0; + _sqlite3OsClose($86); + } + } + } while(0); + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 5|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + STACKTOP = sp;return ($90|0); +} +function _sqlite3RunVacuum($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 92|0; + $4 = sp + 88|0; + $5 = sp + 84|0; + $6 = sp + 80|0; + $7 = sp + 76|0; + $8 = sp + 72|0; + $9 = sp + 68|0; + $10 = sp + 64|0; + $11 = sp + 60|0; + $12 = sp + 56|0; + $13 = sp + 96|0; + $14 = sp + 52|0; + $15 = sp + 48|0; + $16 = sp + 44|0; + $17 = sp + 40|0; + $18 = sp + 36|0; + $19 = sp + 32|0; + $20 = sp + 28|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + HEAP32[$14>>2] = 0; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 67|0); + $23 = HEAP8[$22>>0]|0; + $24 = ($23<<24>>24)!=(0); + if (!($24)) { + $25 = HEAP32[$4>>2]|0; + $26 = HEAP32[$5>>2]|0; + _sqlite3SetString($25,$26,39372); + HEAP32[$3>>2] = 1; + $257 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($257|0); + } + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 156|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)>(1); + if ($30) { + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$5>>2]|0; + _sqlite3SetString($31,$32,39412); + HEAP32[$3>>2] = 1; + $257 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($257|0); + } + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 24|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$10>>2] = $35; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 88|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$11>>2] = $38; + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 92|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$12>>2] = $41; + $42 = HEAP32[$5>>2]|0; + $43 = ((($42)) + 76|0); + $44 = HEAP8[$43>>0]|0; + HEAP8[$13>>0] = $44; + $45 = HEAP32[$5>>2]|0; + $46 = ((($45)) + 24|0); + $47 = HEAP32[$46>>2]|0; + $48 = $47 | 270542848; + HEAP32[$46>>2] = $48; + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = $51 & -655489; + HEAP32[$50>>2] = $52; + $53 = HEAP32[$5>>2]|0; + $54 = ((($53)) + 76|0); + HEAP8[$54>>0] = 0; + $55 = HEAP32[$5>>2]|0; + $56 = ((($55)) + 16|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$6>>2]|0; + $59 = (($57) + ($58<<4)|0); + $60 = HEAP32[$59>>2]|0; + HEAP32[$18>>2] = $60; + $61 = HEAP32[$5>>2]|0; + $62 = ((($61)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$6>>2]|0; + $65 = (($63) + ($64<<4)|0); + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$8>>2] = $67; + $68 = HEAP32[$8>>2]|0; + $69 = (_sqlite3BtreePager($68)|0); + $70 = (_sqlite3PagerIsMemdb($69)|0); + HEAP32[$15>>2] = $70; + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + 20|0); + $73 = HEAP32[$72>>2]|0; + HEAP32[$17>>2] = $73; + $74 = HEAP32[$5>>2]|0; + $75 = HEAP32[$4>>2]|0; + $76 = (_execSql($74,$75,39455)|0); + HEAP32[$7>>2] = $76; + $77 = HEAP32[$7>>2]|0; + $78 = ($77|0)!=(0); + L9: do { + if (!($78)) { + $79 = HEAP32[$5>>2]|0; + $80 = ((($79)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$17>>2]|0; + $83 = (($81) + ($82<<4)|0); + HEAP32[$14>>2] = $83; + $84 = HEAP32[$14>>2]|0; + $85 = ((($84)) + 4|0); + $86 = HEAP32[$85>>2]|0; + HEAP32[$9>>2] = $86; + $87 = HEAP32[$9>>2]|0; + (_sqlite3BtreeCommit($87)|0); + $88 = HEAP32[$8>>2]|0; + $89 = (_sqlite3BtreeGetOptimalReserve($88)|0); + HEAP32[$16>>2] = $89; + $90 = HEAP32[$9>>2]|0; + $91 = HEAP32[$5>>2]|0; + $92 = ((($91)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$6>>2]|0; + $95 = (($93) + ($94<<4)|0); + $96 = ((($95)) + 12|0); + $97 = HEAP32[$96>>2]|0; + $98 = ((($97)) + 80|0); + $99 = HEAP32[$98>>2]|0; + (_sqlite3BtreeSetCacheSize($90,$99)|0); + $100 = HEAP32[$9>>2]|0; + $101 = HEAP32[$8>>2]|0; + $102 = (_sqlite3BtreeSetSpillSize($101,0)|0); + (_sqlite3BtreeSetSpillSize($100,$102)|0); + $103 = HEAP32[$9>>2]|0; + (_sqlite3BtreeSetPagerFlags($103,33)|0); + $104 = HEAP32[$5>>2]|0; + $105 = HEAP32[$4>>2]|0; + $106 = (_execSql($104,$105,36964)|0); + HEAP32[$7>>2] = $106; + $107 = HEAP32[$7>>2]|0; + $108 = ($107|0)!=(0); + if (!($108)) { + $109 = HEAP32[$8>>2]|0; + $110 = (_sqlite3BtreeBeginTrans($109,2)|0); + HEAP32[$7>>2] = $110; + $111 = HEAP32[$7>>2]|0; + $112 = ($111|0)!=(0); + if (!($112)) { + $113 = HEAP32[$8>>2]|0; + $114 = (_sqlite3BtreePager($113)|0); + $115 = (_sqlite3PagerGetJournalMode($114)|0); + $116 = ($115|0)==(5); + if ($116) { + $117 = HEAP32[$5>>2]|0; + $118 = ((($117)) + 80|0); + HEAP32[$118>>2] = 0; + } + $119 = HEAP32[$9>>2]|0; + $120 = HEAP32[$8>>2]|0; + $121 = (_sqlite3BtreeGetPageSize($120)|0); + $122 = HEAP32[$16>>2]|0; + $123 = (_sqlite3BtreeSetPageSize($119,$121,$122,0)|0); + $124 = ($123|0)!=(0); + do { + if (!($124)) { + $125 = HEAP32[$15>>2]|0; + $126 = ($125|0)!=(0); + if (!($126)) { + $127 = HEAP32[$9>>2]|0; + $128 = HEAP32[$5>>2]|0; + $129 = ((($128)) + 80|0); + $130 = HEAP32[$129>>2]|0; + $131 = HEAP32[$16>>2]|0; + $132 = (_sqlite3BtreeSetPageSize($127,$130,$131,0)|0); + $133 = ($132|0)!=(0); + if ($133) { + break; + } + } + $134 = HEAP32[$5>>2]|0; + $135 = ((($134)) + 69|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ($137|0)!=(0); + if (!($138)) { + $139 = HEAP32[$9>>2]|0; + $140 = HEAP32[$5>>2]|0; + $141 = ((($140)) + 72|0); + $142 = HEAP8[$141>>0]|0; + $143 = $142 << 24 >> 24; + $144 = ($143|0)>=(0); + if ($144) { + $145 = HEAP32[$5>>2]|0; + $146 = ((($145)) + 72|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147 << 24 >> 24; + $151 = $148; + } else { + $149 = HEAP32[$8>>2]|0; + $150 = (_sqlite3BtreeGetAutoVacuum($149)|0); + $151 = $150; + } + (_sqlite3BtreeSetAutoVacuum($139,$151)|0); + $152 = HEAP32[$17>>2]|0; + $153 = $152&255; + $154 = HEAP32[$5>>2]|0; + $155 = ((($154)) + 148|0); + $156 = ((($155)) + 4|0); + HEAP8[$156>>0] = $153; + $157 = HEAP32[$5>>2]|0; + $158 = HEAP32[$4>>2]|0; + $159 = HEAP32[$18>>2]|0; + HEAP32[$vararg_buffer>>2] = $159; + $160 = (_execSqlF($157,$158,39476,$vararg_buffer)|0); + HEAP32[$7>>2] = $160; + $161 = HEAP32[$7>>2]|0; + $162 = ($161|0)!=(0); + if ($162) { + break L9; + } + $163 = HEAP32[$5>>2]|0; + $164 = HEAP32[$4>>2]|0; + $165 = HEAP32[$18>>2]|0; + HEAP32[$vararg_buffer1>>2] = $165; + $166 = (_execSqlF($163,$164,39584,$vararg_buffer1)|0); + HEAP32[$7>>2] = $166; + $167 = HEAP32[$7>>2]|0; + $168 = ($167|0)!=(0); + if ($168) { + break L9; + } + $169 = HEAP32[$5>>2]|0; + $170 = ((($169)) + 148|0); + $171 = ((($170)) + 4|0); + HEAP8[$171>>0] = 0; + $172 = HEAP32[$5>>2]|0; + $173 = HEAP32[$4>>2]|0; + $174 = HEAP32[$18>>2]|0; + HEAP32[$vararg_buffer4>>2] = $174; + $175 = (_execSqlF($172,$173,39657,$vararg_buffer4)|0); + HEAP32[$7>>2] = $175; + $176 = HEAP32[$5>>2]|0; + $177 = ((($176)) + 24|0); + $178 = HEAP32[$177>>2]|0; + $179 = $178 & -268435457; + HEAP32[$177>>2] = $179; + $180 = HEAP32[$7>>2]|0; + $181 = ($180|0)!=(0); + if ($181) { + break L9; + } + $182 = HEAP32[$5>>2]|0; + $183 = HEAP32[$4>>2]|0; + $184 = HEAP32[$18>>2]|0; + HEAP32[$vararg_buffer7>>2] = $184; + $185 = (_execSqlF($182,$183,39808,$vararg_buffer7)|0); + HEAP32[$7>>2] = $185; + $186 = HEAP32[$7>>2]|0; + $187 = ($186|0)!=(0); + if ($187) { + break L9; + } + HEAP32[$20>>2] = 0; + while(1) { + $188 = HEAP32[$20>>2]|0; + $189 = ($188|0)<(10); + $190 = HEAP32[$8>>2]|0; + if (!($189)) { + break; + } + $191 = HEAP32[$20>>2]|0; + $192 = (39938 + ($191)|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + _sqlite3BtreeGetMeta($190,$194,$19); + $195 = HEAP32[$9>>2]|0; + $196 = HEAP32[$20>>2]|0; + $197 = (39938 + ($196)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $200 = HEAP32[$19>>2]|0; + $201 = HEAP32[$20>>2]|0; + $202 = (($201) + 1)|0; + $203 = (39938 + ($202)|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204&255; + $206 = (($200) + ($205))|0; + $207 = (_sqlite3BtreeUpdateMeta($195,$199,$206)|0); + HEAP32[$7>>2] = $207; + $208 = HEAP32[$7>>2]|0; + $209 = ($208|0)!=(0); + if ($209) { + break L9; + } + $210 = HEAP32[$20>>2]|0; + $211 = (($210) + 2)|0; + HEAP32[$20>>2] = $211; + } + $212 = HEAP32[$9>>2]|0; + $213 = (_sqlite3BtreeCopyFile($190,$212)|0); + HEAP32[$7>>2] = $213; + $214 = HEAP32[$7>>2]|0; + $215 = ($214|0)!=(0); + if ($215) { + break L9; + } + $216 = HEAP32[$9>>2]|0; + $217 = (_sqlite3BtreeCommit($216)|0); + HEAP32[$7>>2] = $217; + $218 = HEAP32[$7>>2]|0; + $219 = ($218|0)!=(0); + if ($219) { + break L9; + } + $220 = HEAP32[$8>>2]|0; + $221 = HEAP32[$9>>2]|0; + $222 = (_sqlite3BtreeGetAutoVacuum($221)|0); + (_sqlite3BtreeSetAutoVacuum($220,$222)|0); + $223 = HEAP32[$8>>2]|0; + $224 = HEAP32[$9>>2]|0; + $225 = (_sqlite3BtreeGetPageSize($224)|0); + $226 = HEAP32[$16>>2]|0; + $227 = (_sqlite3BtreeSetPageSize($223,$225,$226,1)|0); + HEAP32[$7>>2] = $227; + break L9; + } + } + } while(0); + HEAP32[$7>>2] = 7; + } + } + } + } while(0); + $228 = HEAP32[$5>>2]|0; + $229 = ((($228)) + 148|0); + $230 = ((($229)) + 4|0); + HEAP8[$230>>0] = 0; + $231 = HEAP32[$10>>2]|0; + $232 = HEAP32[$5>>2]|0; + $233 = ((($232)) + 24|0); + HEAP32[$233>>2] = $231; + $234 = HEAP32[$11>>2]|0; + $235 = HEAP32[$5>>2]|0; + $236 = ((($235)) + 88|0); + HEAP32[$236>>2] = $234; + $237 = HEAP32[$12>>2]|0; + $238 = HEAP32[$5>>2]|0; + $239 = ((($238)) + 92|0); + HEAP32[$239>>2] = $237; + $240 = HEAP8[$13>>0]|0; + $241 = HEAP32[$5>>2]|0; + $242 = ((($241)) + 76|0); + HEAP8[$242>>0] = $240; + $243 = HEAP32[$8>>2]|0; + (_sqlite3BtreeSetPageSize($243,-1,-1,1)|0); + $244 = HEAP32[$5>>2]|0; + $245 = ((($244)) + 67|0); + HEAP8[$245>>0] = 1; + $246 = HEAP32[$14>>2]|0; + $247 = ($246|0)!=(0|0); + if ($247) { + $248 = HEAP32[$14>>2]|0; + $249 = ((($248)) + 4|0); + $250 = HEAP32[$249>>2]|0; + (_sqlite3BtreeClose($250)|0); + $251 = HEAP32[$14>>2]|0; + $252 = ((($251)) + 4|0); + HEAP32[$252>>2] = 0; + $253 = HEAP32[$14>>2]|0; + $254 = ((($253)) + 12|0); + HEAP32[$254>>2] = 0; + } + $255 = HEAP32[$5>>2]|0; + _sqlite3ResetAllSchemasOfConnection($255); + $256 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $256; + $257 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($257|0); +} +function _sqlite3BtreeIncrVacuum($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$1>>2] = $0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $9; + $10 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnter($10); + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 17|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($13<<24>>24)!=(0); + do { + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = (_btreePagecount($15)|0); + HEAP32[$4>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 56|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 36|0); + $23 = (_sqlite3Get4byte($22)|0); + HEAP32[$5>>2] = $23; + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = (_finalDbSize($24,$25,$26)|0); + HEAP32[$6>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$6>>2]|0; + $30 = ($28>>>0)<($29>>>0); + if ($30) { + $31 = (_sqlite3CorruptError(61866)|0); + HEAP32[$2>>2] = $31; + break; + } + $32 = HEAP32[$5>>2]|0; + $33 = ($32>>>0)>(0); + if (!($33)) { + HEAP32[$2>>2] = 101; + break; + } + $34 = HEAP32[$3>>2]|0; + $35 = (_saveAllCursors($34,0,0)|0); + HEAP32[$2>>2] = $35; + $36 = HEAP32[$2>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $38 = HEAP32[$3>>2]|0; + _invalidateAllOverflowCache($38); + $39 = HEAP32[$3>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$4>>2]|0; + $42 = (_incrVacuumStep($39,$40,$41,0)|0); + HEAP32[$2>>2] = $42; + } + $43 = HEAP32[$2>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 12|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($47)) + 72|0); + $49 = HEAP32[$48>>2]|0; + $50 = (_sqlite3PagerWrite($49)|0); + HEAP32[$2>>2] = $50; + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 56|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($55)) + 28|0); + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 44|0); + $59 = HEAP32[$58>>2]|0; + _sqlite3Put4byte($56,$59); + } + } else { + HEAP32[$2>>2] = 101; + } + } while(0); + $60 = HEAP32[$1>>2]|0; + _sqlite3BtreeLeave($60); + $61 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($61|0); +} +function _sqlite3BtreeLockTable($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 + 8|0; + $4 = sp + 4|0; + $5 = sp + 13|0; + $6 = sp; + $7 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP8[$5>>0] = $2; + HEAP32[$6>>2] = 0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 9|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)!=(0); + if (!($11)) { + $28 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($28|0); + } + $12 = HEAP8[$5>>0]|0; + $13 = $12&255; + $14 = (1 + ($13))|0; + $15 = $14&255; + HEAP8[$7>>0] = $15; + $16 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($16); + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP8[$7>>0]|0; + $20 = (_querySharedCacheTableLock($17,$18,$19)|0); + HEAP32[$6>>2] = $20; + $21 = HEAP32[$6>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP8[$7>>0]|0; + $26 = (_setSharedCacheTableLock($23,$24,$25)|0); + HEAP32[$6>>2] = $26; + } + $27 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($27); + $28 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($28|0); +} +function _sqlite3VtabBegin($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 316|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)>(0); + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 340|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$2>>2] = 6; + $82 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($82|0); + } + } + $17 = HEAP32[$4>>2]|0; + $18 = ($17|0)!=(0|0); + if (!($18)) { + HEAP32[$2>>2] = 0; + $82 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($82|0); + } + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$6>>2] = $22; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 56|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + HEAP32[$7>>2] = 0; + while(1) { + $27 = HEAP32[$7>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 316|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($27|0)<($30|0); + $32 = HEAP32[$3>>2]|0; + if (!($31)) { + break; + } + $33 = ((($32)) + 340|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = (($34) + ($35<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = ($37|0)==($38|0); + if ($39) { + label = 10; + break; + } + $40 = HEAP32[$7>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$7>>2] = $41; + } + if ((label|0) == 10) { + HEAP32[$2>>2] = 0; + $82 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($82|0); + } + $42 = (_growVTrans($32)|0); + HEAP32[$5>>2] = $42; + $43 = HEAP32[$5>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$6>>2]|0; + $46 = ((($45)) + 56|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$4>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = (FUNCTION_TABLE_ii[$47 & 255]($50)|0); + HEAP32[$5>>2] = $51; + $52 = HEAP32[$5>>2]|0; + $53 = ($52|0)==(0); + if ($53) { + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 436|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 432|0); + $59 = HEAP32[$58>>2]|0; + $60 = (($56) + ($59))|0; + HEAP32[$8>>2] = $60; + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$4>>2]|0; + _addToVTrans($61,$62); + $63 = HEAP32[$8>>2]|0; + $64 = ($63|0)!=(0); + if ($64) { + $65 = HEAP32[$6>>2]|0; + $66 = ((($65)) + 80|0); + $67 = HEAP32[$66>>2]|0; + $68 = ($67|0)!=(0|0); + if ($68) { + $69 = HEAP32[$8>>2]|0; + $70 = HEAP32[$4>>2]|0; + $71 = ((($70)) + 20|0); + HEAP32[$71>>2] = $69; + $72 = HEAP32[$6>>2]|0; + $73 = ((($72)) + 80|0); + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 8|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$8>>2]|0; + $79 = (($78) - 1)|0; + $80 = (FUNCTION_TABLE_iii[$74 & 255]($77,$79)|0); + HEAP32[$5>>2] = $80; + } + } + } + } + } + $81 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $81; + $82 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($82|0); +} +function _sqlite3VtabCallCreate($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = (($16) + ($17<<4)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3FindTable($12,$13,$19)|0); + HEAP32[$9>>2] = $20; + $21 = HEAP32[$9>>2]|0; + $22 = ((($21)) + 52|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$23>>2]|0; + HEAP32[$11>>2] = $24; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 320|0); + $27 = HEAP32[$11>>2]|0; + $28 = (_sqlite3HashFind($26,$27)|0); + HEAP32[$10>>2] = $28; + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)==(0|0); + if ($30) { + label = 4; + } else { + $31 = HEAP32[$10>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + label = 4; + } else { + $36 = HEAP32[$10>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 20|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0|0); + if ($40) { + label = 4; + } else { + $45 = HEAP32[$4>>2]|0; + $46 = HEAP32[$9>>2]|0; + $47 = HEAP32[$10>>2]|0; + $48 = HEAP32[$10>>2]|0; + $49 = HEAP32[$48>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$7>>2]|0; + $53 = (_vtabCallConstructor($45,$46,$47,$51,$52)|0); + HEAP32[$8>>2] = $53; + } + } + } + if ((label|0) == 4) { + $41 = HEAP32[$4>>2]|0; + $42 = HEAP32[$11>>2]|0; + HEAP32[$vararg_buffer>>2] = $42; + $43 = (_sqlite3MPrintf($41,30050,$vararg_buffer)|0); + $44 = HEAP32[$7>>2]|0; + HEAP32[$44>>2] = $43; + HEAP32[$8>>2] = 1; + } + $54 = HEAP32[$8>>2]|0; + $55 = ($54|0)==(0); + if (!($55)) { + $68 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($68|0); + } + $56 = HEAP32[$4>>2]|0; + $57 = HEAP32[$9>>2]|0; + $58 = (_sqlite3GetVTable($56,$57)|0); + $59 = ($58|0)!=(0|0); + if (!($59)) { + $68 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($68|0); + } + $60 = HEAP32[$4>>2]|0; + $61 = (_growVTrans($60)|0); + HEAP32[$8>>2] = $61; + $62 = HEAP32[$8>>2]|0; + $63 = ($62|0)==(0); + if (!($63)) { + $68 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($68|0); + } + $64 = HEAP32[$4>>2]|0; + $65 = HEAP32[$4>>2]|0; + $66 = HEAP32[$9>>2]|0; + $67 = (_sqlite3GetVTable($65,$66)|0); + _addToVTrans($64,$67); + $68 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($68|0); +} +function _sqlite3VtabCallDestroy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = (($15) + ($16<<4)|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3FindTable($11,$12,$18)|0); + HEAP32[$8>>2] = $19; + $20 = HEAP32[$8>>2]|0; + $21 = ($20|0)!=(0|0); + do { + if ($21) { + $22 = HEAP32[$8>>2]|0; + $23 = ((($22)) + 56|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)!=(0|0); + if ($25) { + $26 = HEAP32[$8>>2]|0; + $27 = ((($26)) + 56|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$9>>2] = $28; + while(1) { + $29 = HEAP32[$9>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { + label = 8; + break; + } + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)>(0); + if ($36) { + label = 6; + break; + } + $37 = HEAP32[$9>>2]|0; + $38 = ((($37)) + 24|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$9>>2] = $39; + } + if ((label|0) == 6) { + HEAP32[$3>>2] = 6; + $62 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($62|0); + } + else if ((label|0) == 8) { + $40 = HEAP32[$4>>2]|0; + $41 = HEAP32[$8>>2]|0; + $42 = (_vtabDisconnectAll($40,$41)|0); + HEAP32[$9>>2] = $42; + $43 = HEAP32[$9>>2]|0; + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = ((($46)) + 20|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$10>>2] = $48; + $49 = HEAP32[$10>>2]|0; + $50 = HEAP32[$9>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = (FUNCTION_TABLE_ii[$49 & 255]($52)|0); + HEAP32[$7>>2] = $53; + $54 = HEAP32[$7>>2]|0; + $55 = ($54|0)==(0); + if (!($55)) { + break; + } + $56 = HEAP32[$9>>2]|0; + $57 = ((($56)) + 8|0); + HEAP32[$57>>2] = 0; + $58 = HEAP32[$8>>2]|0; + $59 = ((($58)) + 56|0); + HEAP32[$59>>2] = 0; + $60 = HEAP32[$9>>2]|0; + _sqlite3VtabUnlock($60); + break; + } + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $61; + $62 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($62|0); +} +function _sqlite3BtreeMaxPageCount($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + _sqlite3BtreeEnter($5); + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = (_sqlite3PagerMaxPageCount($9,$10)|0); + HEAP32[$4>>2] = $11; + $12 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($12); + $13 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _sqlite3VdbeExpandSql($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; + $vararg_buffer11 = sp + 72|0; + $vararg_buffer8 = sp + 64|0; + $vararg_buffer4 = sp + 56|0; + $vararg_buffer1 = sp + 48|0; + $vararg_buffer = sp + 40|0; + $2 = sp + 148|0; + $3 = sp + 144|0; + $4 = sp + 140|0; + $5 = sp + 136|0; + $6 = sp + 132|0; + $7 = sp + 128|0; + $8 = sp + 124|0; + $9 = sp + 120|0; + $10 = sp + 116|0; + $11 = sp + 88|0; + $12 = sp; + $13 = sp + 156|0; + $14 = sp + 84|0; + $15 = sp + 80|0; + $16 = sp + 152|0; + $17 = sp + 76|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 1; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$4>>2] = $19; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 96|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3StrAccumInit($11,0,$13,100,$22); + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 168|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)>(1); + L1: do { + if ($26) { + while(1) { + $27 = HEAP32[$3>>2]|0; + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)!=(0); + if (!($29)) { + break L1; + } + $30 = HEAP32[$3>>2]|0; + HEAP32[$14>>2] = $30; + while(1) { + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 1|0); + HEAP32[$3>>2] = $32; + $33 = HEAP8[$31>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($34|0)!=(10); + if (!($35)) { + break; + } + $36 = HEAP32[$3>>2]|0; + $37 = HEAP8[$36>>0]|0; + $38 = $37 << 24 >> 24; + $39 = ($38|0)!=(0); + if (!($39)) { + break; + } + } + _sqlite3StrAccumAppend($11,39338,3); + $40 = HEAP32[$14>>2]|0; + $41 = HEAP32[$3>>2]|0; + $42 = HEAP32[$14>>2]|0; + $43 = $41; + $44 = $42; + $45 = (($43) - ($44))|0; + _sqlite3StrAccumAppend($11,$40,$45); + } + } else { + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 16|0); + $48 = HEAP16[$47>>1]|0; + $49 = $48 << 16 >> 16; + $50 = ($49|0)==(0); + if ($50) { + $51 = HEAP32[$3>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = (_sqlite3Strlen30($52)|0); + _sqlite3StrAccumAppend($11,$51,$53); + break; + } + while(1) { + $54 = HEAP32[$3>>2]|0; + $55 = HEAP8[$54>>0]|0; + $56 = ($55<<24>>24)!=(0); + if (!($56)) { + break L1; + } + $57 = HEAP32[$3>>2]|0; + $58 = (_findNextHostParameter($57,$8)|0); + HEAP32[$7>>2] = $58; + $59 = HEAP32[$3>>2]|0; + $60 = HEAP32[$7>>2]|0; + _sqlite3StrAccumAppend($11,$59,$60); + $61 = HEAP32[$7>>2]|0; + $62 = HEAP32[$3>>2]|0; + $63 = (($62) + ($61)|0); + HEAP32[$3>>2] = $63; + $64 = HEAP32[$8>>2]|0; + $65 = ($64|0)==(0); + if ($65) { + break L1; + } + $66 = HEAP32[$3>>2]|0; + $67 = HEAP8[$66>>0]|0; + $68 = $67 << 24 >> 24; + $69 = ($68|0)==(63); + do { + if ($69) { + $70 = HEAP32[$8>>2]|0; + $71 = ($70|0)>(1); + if ($71) { + $72 = HEAP32[$3>>2]|0; + $73 = ((($72)) + 1|0); + (_sqlite3GetInt32($73,$5)|0); + break; + } else { + $74 = HEAP32[$6>>2]|0; + HEAP32[$5>>2] = $74; + break; + } + } else { + $75 = HEAP32[$2>>2]|0; + $76 = HEAP32[$3>>2]|0; + $77 = HEAP32[$8>>2]|0; + $78 = (_sqlite3VdbeParameterIndex($75,$76,$77)|0); + HEAP32[$5>>2] = $78; + } + } while(0); + $79 = HEAP32[$8>>2]|0; + $80 = HEAP32[$3>>2]|0; + $81 = (($80) + ($79)|0); + HEAP32[$3>>2] = $81; + $82 = HEAP32[$5>>2]|0; + $83 = (($82) + 1)|0; + HEAP32[$6>>2] = $83; + $84 = HEAP32[$2>>2]|0; + $85 = ((($84)) + 116|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$5>>2]|0; + $88 = (($87) - 1)|0; + $89 = (($86) + (($88*40)|0)|0); + HEAP32[$10>>2] = $89; + $90 = HEAP32[$10>>2]|0; + $91 = ((($90)) + 8|0); + $92 = HEAP16[$91>>1]|0; + $93 = $92&65535; + $94 = $93 & 1; + $95 = ($94|0)!=(0); + if ($95) { + _sqlite3StrAccumAppend($11,20953,4); + continue; + } + $96 = HEAP32[$10>>2]|0; + $97 = ((($96)) + 8|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = $99 & 4; + $101 = ($100|0)!=(0); + $102 = HEAP32[$10>>2]|0; + if ($101) { + $103 = $102; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = $vararg_buffer; + $110 = $109; + HEAP32[$110>>2] = $105; + $111 = (($109) + 4)|0; + $112 = $111; + HEAP32[$112>>2] = $108; + _sqlite3XPrintf($11,22191,$vararg_buffer); + continue; + } + $113 = ((($102)) + 8|0); + $114 = HEAP16[$113>>1]|0; + $115 = $114&65535; + $116 = $115 & 8; + $117 = ($116|0)!=(0); + $118 = HEAP32[$10>>2]|0; + if ($117) { + $119 = +HEAPF64[$118>>3]; + HEAPF64[$vararg_buffer1>>3] = $119; + _sqlite3XPrintf($11,22196,$vararg_buffer1); + continue; + } + $120 = ((($118)) + 8|0); + $121 = HEAP16[$120>>1]|0; + $122 = $121&65535; + $123 = $122 & 2; + $124 = ($123|0)!=(0); + if ($124) { + $125 = HEAP32[$4>>2]|0; + $126 = ((($125)) + 66|0); + $127 = HEAP8[$126>>0]|0; + HEAP8[$16>>0] = $127; + $128 = HEAP8[$16>>0]|0; + $129 = $128&255; + $130 = ($129|0)!=(1); + if ($130) { + dest=$12; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $131 = HEAP32[$4>>2]|0; + $132 = ((($12)) + 32|0); + HEAP32[$132>>2] = $131; + $133 = HEAP32[$10>>2]|0; + $134 = ((($133)) + 16|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$10>>2]|0; + $137 = ((($136)) + 12|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP8[$16>>0]|0; + (_sqlite3VdbeMemSetStr($12,$135,$138,$139,0)|0); + $140 = (_sqlite3VdbeChangeEncoding($12,1)|0); + $141 = (7)==($140|0); + if ($141) { + $142 = ((($11)) + 24|0); + HEAP8[$142>>0] = 1; + $143 = ((($11)) + 16|0); + HEAP32[$143>>2] = 0; + } + HEAP32[$10>>2] = $12; + } + $144 = HEAP32[$10>>2]|0; + $145 = ((($144)) + 12|0); + $146 = HEAP32[$145>>2]|0; + HEAP32[$15>>2] = $146; + $147 = HEAP32[$15>>2]|0; + $148 = HEAP32[$10>>2]|0; + $149 = ((($148)) + 16|0); + $150 = HEAP32[$149>>2]|0; + HEAP32[$vararg_buffer4>>2] = $147; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $150; + _sqlite3XPrintf($11,39342,$vararg_buffer4); + $151 = HEAP8[$16>>0]|0; + $152 = $151&255; + $153 = ($152|0)!=(1); + if (!($153)) { + continue; + } + _sqlite3VdbeMemRelease($12); + continue; + } else { + $154 = HEAP32[$10>>2]|0; + $155 = ((($154)) + 8|0); + $156 = HEAP16[$155>>1]|0; + $157 = $156&65535; + $158 = $157 & 16384; + $159 = ($158|0)!=(0); + if ($159) { + $160 = HEAP32[$10>>2]|0; + $161 = HEAP32[$160>>2]|0; + HEAP32[$vararg_buffer8>>2] = $161; + _sqlite3XPrintf($11,39349,$vararg_buffer8); + continue; + } + _sqlite3StrAccumAppend($11,39362,2); + $162 = HEAP32[$10>>2]|0; + $163 = ((($162)) + 12|0); + $164 = HEAP32[$163>>2]|0; + HEAP32[$17>>2] = $164; + HEAP32[$9>>2] = 0; + while(1) { + $165 = HEAP32[$9>>2]|0; + $166 = HEAP32[$17>>2]|0; + $167 = ($165|0)<($166|0); + if (!($167)) { + break; + } + $168 = HEAP32[$10>>2]|0; + $169 = ((($168)) + 16|0); + $170 = HEAP32[$169>>2]|0; + $171 = HEAP32[$9>>2]|0; + $172 = (($170) + ($171)|0); + $173 = HEAP8[$172>>0]|0; + $174 = $173 << 24 >> 24; + $175 = $174 & 255; + HEAP32[$vararg_buffer11>>2] = $175; + _sqlite3XPrintf($11,39365,$vararg_buffer11); + $176 = HEAP32[$9>>2]|0; + $177 = (($176) + 1)|0; + HEAP32[$9>>2] = $177; + } + _sqlite3StrAccumAppend($11,39370,1); + continue; + } + } + } + } while(0); + $178 = ((($11)) + 24|0); + $179 = HEAP8[$178>>0]|0; + $180 = ($179<<24>>24)!=(0); + if (!($180)) { + $181 = (_sqlite3StrAccumFinish($11)|0); + STACKTOP = sp;return ($181|0); + } + _sqlite3StrAccumReset($11); + $181 = (_sqlite3StrAccumFinish($11)|0); + STACKTOP = sp;return ($181|0); +} +function _findNextHostParameter($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 0; + $7 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = 0; + while(1) { + $8 = HEAP32[$2>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + if (!($10)) { + label = 6; + break; + } + $11 = HEAP32[$2>>2]|0; + $12 = (_sqlite3GetToken($11,$4)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(135); + $15 = HEAP32[$6>>2]|0; + if ($14) { + break; + } + $17 = HEAP32[$5>>2]|0; + $18 = (($17) + ($15))|0; + HEAP32[$5>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = (($20) + ($19)|0); + HEAP32[$2>>2] = $21; + } + if ((label|0) == 6) { + $22 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($22|0); + } + $16 = HEAP32[$3>>2]|0; + HEAP32[$16>>2] = $15; + $22 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($22|0); +} +function _sqlite3VdbeParameterIndex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + HEAP32[$3>>2] = 0; + $42 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($42|0); + } + $11 = HEAP32[$5>>2]|0; + $12 = ($11|0)!=(0|0); + L5: do { + if ($12) { + HEAP32[$7>>2] = 0; + while(1) { + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 18|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16 << 16 >> 16; + $18 = ($13|0)<($17|0); + if (!($18)) { + break L5; + } + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 120|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = (($21) + ($22<<2)|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$8>>2] = $24; + $25 = HEAP32[$8>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$6>>2]|0; + $30 = (_strncmp($27,$28,$29)|0); + $31 = ($30|0)==(0); + if ($31) { + $32 = HEAP32[$8>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = (($32) + ($33)|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35 << 24 >> 24; + $37 = ($36|0)==(0); + if ($37) { + break; + } + } + } + $40 = HEAP32[$7>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$7>>2] = $41; + } + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$3>>2] = $39; + $42 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($42|0); + } + } while(0); + HEAP32[$3>>2] = 0; + $42 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($42|0); +} +function _sqlite3PagerMaxPageCount($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(0); + if ($5) { + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 164|0); + HEAP32[$8>>2] = $6; + } + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 164|0); + $11 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _growVTrans($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 316|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8|0) % 5)&-1; + $10 = ($9|0)==(0); + do { + if ($10) { + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 316|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + 5)|0; + $15 = $14<<2; + HEAP32[$5>>2] = $15; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 340|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = ($20|0)<(0); + $22 = $21 << 31 >> 31; + $23 = (_sqlite3DbRealloc($16,$19,$20,$22)|0); + HEAP32[$4>>2] = $23; + $24 = HEAP32[$4>>2]|0; + $25 = ($24|0)!=(0|0); + if ($25) { + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 316|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($26) + ($29<<2)|0); + ;HEAP32[$30>>2]=0|0;HEAP32[$30+4>>2]=0|0;HEAP32[$30+8>>2]=0|0;HEAP32[$30+12>>2]=0|0;HEAP32[$30+16>>2]=0|0; + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 340|0); + HEAP32[$33>>2] = $31; + break; + } + HEAP32[$1>>2] = 7; + $34 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($34|0); + } + } while(0); + HEAP32[$1>>2] = 0; + $34 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($34|0); +} +function _addToVTrans($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 340|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 316|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = (($7) + ($10<<2)|0); + HEAP32[$12>>2] = $4; + $13 = HEAP32[$3>>2]|0; + _sqlite3VtabLock($13); + STACKTOP = sp;return; +} +function _setSharedCacheTableLock($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 24|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP8[$6>>0] = $2; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$7>>2] = $12; + HEAP32[$8>>2] = 0; + $13 = HEAP32[$7>>2]|0; + $14 = ((($13)) + 72|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$9>>2] = $15; + while(1) { + $16 = HEAP32[$9>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + break; + } + $18 = HEAP32[$9>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = ($20|0)==($21|0); + if ($22) { + $23 = HEAP32[$9>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = ($24|0)==($25|0); + if ($26) { + label = 5; + break; + } + } + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$9>>2] = $30; + } + if ((label|0) == 5) { + $27 = HEAP32[$9>>2]|0; + HEAP32[$8>>2] = $27; + } + $31 = HEAP32[$8>>2]|0; + $32 = ($31|0)!=(0|0); + do { + if (!($32)) { + $33 = (_sqlite3MallocZero(16,0)|0); + HEAP32[$8>>2] = $33; + $34 = HEAP32[$8>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = HEAP32[$5>>2]|0; + $37 = HEAP32[$8>>2]|0; + $38 = ((($37)) + 4|0); + HEAP32[$38>>2] = $36; + $39 = HEAP32[$4>>2]|0; + $40 = HEAP32[$8>>2]|0; + HEAP32[$40>>2] = $39; + $41 = HEAP32[$7>>2]|0; + $42 = ((($41)) + 72|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = ((($44)) + 12|0); + HEAP32[$45>>2] = $43; + $46 = HEAP32[$8>>2]|0; + $47 = HEAP32[$7>>2]|0; + $48 = ((($47)) + 72|0); + HEAP32[$48>>2] = $46; + break; + } + HEAP32[$3>>2] = 7; + $59 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($59|0); + } + } while(0); + $49 = HEAP8[$6>>0]|0; + $50 = $49&255; + $51 = HEAP32[$8>>2]|0; + $52 = ((($51)) + 8|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = ($50|0)>($54|0); + if ($55) { + $56 = HEAP8[$6>>0]|0; + $57 = HEAP32[$8>>2]|0; + $58 = ((($57)) + 8|0); + HEAP8[$58>>0] = $56; + } + HEAP32[$3>>2] = 0; + $59 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($59|0); +} +function _execSql($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = (_sqlite3_prepare_v2($10,$11,-1,$7,0)|0); + HEAP32[$8>>2] = $12; + $13 = HEAP32[$8>>2]|0; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $15; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); + } + while(1) { + $16 = HEAP32[$7>>2]|0; + $17 = (_sqlite3_step($16)|0); + HEAP32[$8>>2] = $17; + $18 = (100)==($17|0); + if (!($18)) { + break; + } + $19 = HEAP32[$7>>2]|0; + $20 = (_sqlite3_column_text($19,0)|0); + HEAP32[$9>>2] = $20; + $21 = HEAP32[$9>>2]|0; + $22 = ($21|0)!=(0|0); + if (!($22)) { + continue; + } + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$9>>2]|0; + $26 = (_execSql($23,$24,$25)|0); + HEAP32[$8>>2] = $26; + $27 = HEAP32[$8>>2]|0; + $28 = ($27|0)!=(0); + if ($28) { + break; + } + } + $29 = HEAP32[$8>>2]|0; + $30 = ($29|0)==(101); + if ($30) { + HEAP32[$8>>2] = 0; + } + $31 = HEAP32[$8>>2]|0; + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = (_sqlite3_errmsg($35)|0); + _sqlite3SetString($33,$34,$36); + } + $37 = HEAP32[$7>>2]|0; + (_sqlite3_finalize($37)|0); + $38 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $38; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); +} +function _sqlite3BtreeGetOptimalReserve($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnter($3); + $4 = HEAP32[$1>>2]|0; + $5 = (_sqlite3BtreeGetReserveNoMutex($4)|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$1>>2]|0; + _sqlite3BtreeLeave($6); + $7 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _execSqlF($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$8>>2] = $varargs; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = (_sqlite3VMPrintf($10,$11,$8)|0); + HEAP32[$7>>2] = $12; + $13 = HEAP32[$7>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + HEAP32[$3>>2] = 7; + $22 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($22|0); + } else { + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$7>>2]|0; + $18 = (_execSql($15,$16,$17)|0); + HEAP32[$9>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$7>>2]|0; + _sqlite3DbFree($19,$20); + $21 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $21; + $22 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($22|0); + } + return (0)|0; +} +function _sqlite3BtreeCopyFile($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0; + var sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $2 = sp + 68|0; + $3 = sp + 64|0; + $4 = sp + 60|0; + $5 = sp + 56|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$2>>2]|0; + _sqlite3BtreeEnter($8); + $9 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($9); + $10 = HEAP32[$2>>2]|0; + $11 = (_sqlite3BtreePager($10)|0); + $12 = (_sqlite3PagerFile($11)|0); + HEAP32[$5>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$3>>2]|0; + $17 = (_sqlite3BtreeGetPageSize($16)|0); + $18 = ($17|0)<(0); + $19 = $18 << 31 >> 31; + $20 = HEAP32[$3>>2]|0; + $21 = (_sqlite3BtreeLastPage($20)|0); + $22 = (___muldi3(($17|0),($19|0),($21|0),0)|0); + $23 = tempRet0; + $24 = $7; + $25 = $24; + HEAP32[$25>>2] = $22; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = HEAP32[$5>>2]|0; + $29 = (_sqlite3OsFileControl($28,11,$7)|0); + HEAP32[$4>>2] = $29; + $30 = HEAP32[$4>>2]|0; + $31 = ($30|0)==(12); + $$ = $31 ? 0 : $29; + HEAP32[$4>>2] = $$; + $32 = HEAP32[$4>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + $56 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($56); + $57 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($57); + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); + } + } + dest=$6; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = ((($6)) + 20|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$3>>2]|0; + $38 = ((($6)) + 24|0); + HEAP32[$38>>2] = $37; + $39 = HEAP32[$2>>2]|0; + $40 = ((($6)) + 4|0); + HEAP32[$40>>2] = $39; + $41 = ((($6)) + 16|0); + HEAP32[$41>>2] = 1; + (_sqlite3_backup_step($6,2147483647)|0); + $42 = (_sqlite3_backup_finish($6)|0); + HEAP32[$4>>2] = $42; + $43 = HEAP32[$4>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($47)) + 22|0); + $49 = HEAP16[$48>>1]|0; + $50 = $49&65535; + $51 = $50 & -3; + $52 = $51&65535; + HEAP16[$48>>1] = $52; + $56 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($56); + $57 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($57); + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); + } else { + $53 = ((($6)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3BtreePager($54)|0); + _sqlite3PagerClearCache($55); + $56 = HEAP32[$3>>2]|0; + _sqlite3BtreeLeave($56); + $57 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($57); + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); + } + return (0)|0; +} +function _sqlite3PagerClearCache($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 13|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = HEAP32[$1>>2]|0; + _pager_reset($7); + STACKTOP = sp;return; +} +function _sqlite3BtreeGetReserveNoMutex($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 36|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($7) - ($12))|0; + HEAP32[$2>>2] = $13; + $14 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($14|0); +} +function _rowSetEntrySort($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 176|0; + $1 = sp + 168|0; + $2 = sp + 164|0; + $3 = sp + 160|0; + $4 = sp; + HEAP32[$1>>2] = $0; + _memset(($4|0),0,160)|0; + while(1) { + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + break; + } + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 8|0); + HEAP32[$11>>2] = 0; + HEAP32[$2>>2] = 0; + while(1) { + $12 = HEAP32[$2>>2]|0; + $13 = (($4) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0|0); + if (!($15)) { + break; + } + $16 = HEAP32[$2>>2]|0; + $17 = (($4) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = (_rowSetEntryMerge($18,$19)|0); + HEAP32[$1>>2] = $20; + $21 = HEAP32[$2>>2]|0; + $22 = (($4) + ($21<<2)|0); + HEAP32[$22>>2] = 0; + $23 = HEAP32[$2>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$2>>2] = $24; + } + $25 = HEAP32[$1>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = (($4) + ($26<<2)|0); + HEAP32[$27>>2] = $25; + $28 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $28; + } + $29 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $29; + HEAP32[$2>>2] = 1; + while(1) { + $30 = HEAP32[$2>>2]|0; + $31 = ($30>>>0)<(40); + if (!($31)) { + break; + } + $32 = HEAP32[$2>>2]|0; + $33 = (($4) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0|0); + if (!($35)) { + $36 = HEAP32[$1>>2]|0; + $37 = ($36|0)!=(0|0); + if ($37) { + $38 = HEAP32[$1>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = (($4) + ($39<<2)|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_rowSetEntryMerge($38,$41)|0); + $46 = $42; + } else { + $43 = HEAP32[$2>>2]|0; + $44 = (($4) + ($43<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = $45; + } + HEAP32[$1>>2] = $46; + } + $47 = HEAP32[$2>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$2>>2] = $48; + } + $49 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($49|0); +} +function _rowSetListToTree($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $5; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$1>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 8|0); + HEAP32[$10>>2] = 0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 12|0); + HEAP32[$12>>2] = 0; + HEAP32[$2>>2] = 1; + while(1) { + $13 = HEAP32[$1>>2]|0; + $14 = ($13|0)!=(0|0); + $15 = HEAP32[$3>>2]|0; + if (!($14)) { + break; + } + HEAP32[$4>>2] = $15; + $16 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$1>>2] = $19; + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 12|0); + HEAP32[$22>>2] = $20; + $23 = HEAP32[$2>>2]|0; + $24 = (_rowSetNDeepTree($1,$23)|0); + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 8|0); + HEAP32[$26>>2] = $24; + $27 = HEAP32[$2>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$2>>2] = $28; + } + STACKTOP = sp;return ($15|0); +} +function _rowSetTreeToList($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + $11 = HEAP32[$3>>2]|0; + if ($10) { + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$4>>2]|0; + _rowSetTreeToList($13,$14,$6); + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 8|0); + HEAP32[$17>>2] = $15; + } else { + $18 = HEAP32[$4>>2]|0; + HEAP32[$18>>2] = $11; + } + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + $23 = HEAP32[$3>>2]|0; + if ($22) { + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$5>>2]|0; + _rowSetTreeToList($25,$27,$28); + STACKTOP = sp;return; + } else { + $29 = HEAP32[$5>>2]|0; + HEAP32[$29>>2] = $23; + STACKTOP = sp;return; + } +} +function _rowSetEntryMerge($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp; + $5 = sp + 16|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = $4; + while(1) { + $6 = HEAP32[$2>>2]|0; + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = $13; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = ($12|0)<($19|0); + $21 = ($9>>>0)<=($16>>>0); + $22 = ($12|0)==($19|0); + $23 = $22 & $21; + $24 = $20 | $23; + if (!($24)) { + $54 = HEAP32[$3>>2]|0; + $55 = HEAP32[$5>>2]|0; + $56 = ((($55)) + 8|0); + HEAP32[$56>>2] = $54; + HEAP32[$5>>2] = $54; + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$3>>2] = $59; + $60 = HEAP32[$3>>2]|0; + $61 = ($60|0)==(0|0); + if ($61) { + label = 8; + break; + } else { + continue; + } + } + $25 = HEAP32[$2>>2]|0; + $26 = $25; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = $32; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = ($31|0)<($38|0); + $40 = ($28>>>0)<($35>>>0); + $41 = ($31|0)==($38|0); + $42 = $41 & $40; + $43 = $39 | $42; + if ($43) { + $44 = HEAP32[$2>>2]|0; + $45 = HEAP32[$5>>2]|0; + $46 = ((($45)) + 8|0); + HEAP32[$46>>2] = $44; + HEAP32[$5>>2] = $44; + } + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$2>>2] = $49; + $50 = HEAP32[$2>>2]|0; + $51 = ($50|0)==(0|0); + if ($51) { + label = 6; + break; + } + } + if ((label|0) == 6) { + $52 = HEAP32[$3>>2]|0; + $53 = HEAP32[$5>>2]|0; + $$sink = $52;$$sink2 = $53; + $64 = ((($$sink2)) + 8|0); + HEAP32[$64>>2] = $$sink; + $65 = ((($4)) + 8|0); + $66 = HEAP32[$65>>2]|0; + STACKTOP = sp;return ($66|0); + } + else if ((label|0) == 8) { + $62 = HEAP32[$2>>2]|0; + $63 = HEAP32[$5>>2]|0; + $$sink = $62;$$sink2 = $63; + $64 = ((($$sink2)) + 8|0); + HEAP32[$64>>2] = $$sink; + $65 = ((($4)) + 8|0); + $66 = HEAP32[$65>>2]|0; + STACKTOP = sp;return ($66|0); + } + return (0)|0; +} +function _rowSetEntryAlloc($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 24|0); + $6 = HEAP16[$5>>1]|0; + $7 = $6&65535; + $8 = ($7|0)==(0); + do { + if ($8) { + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3DbMallocRawNN($11,1016,0)|0); + HEAP32[$3>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)==(0|0); + if (!($14)) { + $15 = HEAP32[$2>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + HEAP32[$17>>2] = $16; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$2>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 16|0); + HEAP32[$23>>2] = $21; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 24|0); + HEAP16[$25>>1] = 63; + break; + } + HEAP32[$1>>2] = 0; + $34 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($34|0); + } + } while(0); + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 24|0); + $28 = HEAP16[$27>>1]|0; + $29 = (($28) + -1)<<16>>16; + HEAP16[$27>>1] = $29; + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + $33 = ((($32)) + 16|0); + HEAP32[$31>>2] = $33; + HEAP32[$1>>2] = $32; + $34 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($34|0); +} +function _rowSetNDeepTree($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + HEAP32[$2>>2] = 0; + $43 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($43|0); + } + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)>(1); + $12 = HEAP32[$3>>2]|0; + do { + if ($11) { + $13 = HEAP32[$4>>2]|0; + $14 = (($13) - 1)|0; + $15 = (_rowSetNDeepTree($12,$14)|0); + HEAP32[$6>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$16>>2]|0; + HEAP32[$5>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ($18|0)==(0|0); + $20 = HEAP32[$6>>2]|0; + if (!($19)) { + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 12|0); + HEAP32[$22>>2] = $20; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$3>>2]|0; + HEAP32[$26>>2] = $25; + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$4>>2]|0; + $29 = (($28) - 1)|0; + $30 = (_rowSetNDeepTree($27,$29)|0); + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 8|0); + HEAP32[$32>>2] = $30; + break; + } + HEAP32[$2>>2] = $20; + $43 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($43|0); + } else { + $33 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $33; + $34 = HEAP32[$5>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$3>>2]|0; + HEAP32[$37>>2] = $36; + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 8|0); + HEAP32[$39>>2] = 0; + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 12|0); + HEAP32[$41>>2] = 0; + } + } while(0); + $42 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $42; + $43 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($43|0); +} +function _sqlite3RowSetInit($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $7; + $8 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = 0; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = ((($10)) + 4|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 8|0); + HEAP32[$13>>2] = 0; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 12|0); + HEAP32[$15>>2] = 0; + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 20|0); + HEAP32[$17>>2] = 0; + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 32|0); + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 16|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$5>>2]|0; + $23 = (($22) - 32)|0; + $24 = (($23>>>0) / 16)&-1; + $25 = $24&65535; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 24|0); + HEAP16[$27>>1] = $25; + $28 = HEAP32[$6>>2]|0; + $29 = ((($28)) + 26|0); + HEAP16[$29>>1] = 1; + $30 = HEAP32[$6>>2]|0; + $31 = ((($30)) + 28|0); + HEAP32[$31>>2] = 0; + $32 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _setPageReferenced($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = $4 & 7; + $6 = 1 << $5; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = (($10>>>0) / 8)&-1; + $12 = (($9) + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = $14 | $6; + $16 = $15&255; + HEAP8[$12>>0] = $16; + STACKTOP = sp;return; +} +function _checkList($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $4 = sp + 76|0; + $5 = sp + 72|0; + $6 = sp + 68|0; + $7 = sp + 64|0; + $8 = sp + 60|0; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $15 = HEAP32[$7>>2]|0; + HEAP32[$9>>2] = $15; + $16 = HEAP32[$6>>2]|0; + HEAP32[$10>>2] = $16; + while(1) { + $17 = HEAP32[$7>>2]|0; + $18 = (($17) + -1)|0; + HEAP32[$7>>2] = $18; + $19 = ($17|0)>(0); + if (!($19)) { + label = 25; + break; + } + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0); + if (!($23)) { + label = 25; + break; + } + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)<(1); + $26 = HEAP32[$4>>2]|0; + if ($25) { + label = 5; + break; + } + $31 = HEAP32[$6>>2]|0; + $32 = (_checkRef($26,$31)|0); + $33 = ($32|0)!=(0); + if ($33) { + label = 25; + break; + } + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$6>>2]|0; + $38 = (_sqlite3PagerGet($36,$37,$11,0)|0); + $39 = ($38|0)!=(0); + if ($39) { + label = 8; + break; + } + $42 = HEAP32[$11>>2]|0; + $43 = (_sqlite3PagerGetData($42)|0); + HEAP32[$12>>2] = $43; + $44 = HEAP32[$5>>2]|0; + $45 = ($44|0)!=(0); + do { + if ($45) { + $46 = HEAP32[$12>>2]|0; + $47 = ((($46)) + 4|0); + $48 = (_sqlite3Get4byte($47)|0); + HEAP32[$13>>2] = $48; + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = ((($50)) + 17|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52<<24>>24)!=(0); + if ($53) { + $54 = HEAP32[$4>>2]|0; + $55 = HEAP32[$6>>2]|0; + _checkPtrmap($54,$55,2,0); + } + $56 = HEAP32[$13>>2]|0; + $57 = HEAP32[$4>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = ((($58)) + 36|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($60|0) / 4)&-1; + $62 = (($61) - 2)|0; + $63 = ($56|0)>($62|0); + if ($63) { + $64 = HEAP32[$4>>2]|0; + $65 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer7>>2] = $65; + _checkAppendMsg($64,40564,$vararg_buffer7); + $66 = HEAP32[$7>>2]|0; + $67 = (($66) + -1)|0; + HEAP32[$7>>2] = $67; + break; + } + HEAP32[$8>>2] = 0; + while(1) { + $68 = HEAP32[$8>>2]|0; + $69 = HEAP32[$13>>2]|0; + $70 = ($68|0)<($69|0); + if (!($70)) { + break; + } + $71 = HEAP32[$12>>2]|0; + $72 = HEAP32[$8>>2]|0; + $73 = $72<<2; + $74 = (8 + ($73))|0; + $75 = (($71) + ($74)|0); + $76 = (_sqlite3Get4byte($75)|0); + HEAP32[$14>>2] = $76; + $77 = HEAP32[$4>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = ((($78)) + 17|0); + $80 = HEAP8[$79>>0]|0; + $81 = ($80<<24>>24)!=(0); + if ($81) { + $82 = HEAP32[$4>>2]|0; + $83 = HEAP32[$14>>2]|0; + _checkPtrmap($82,$83,2,0); + } + $84 = HEAP32[$4>>2]|0; + $85 = HEAP32[$14>>2]|0; + (_checkRef($84,$85)|0); + $86 = HEAP32[$8>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$8>>2] = $87; + } + $88 = HEAP32[$13>>2]|0; + $89 = HEAP32[$7>>2]|0; + $90 = (($89) - ($88))|0; + HEAP32[$7>>2] = $90; + } else { + $91 = HEAP32[$4>>2]|0; + $92 = HEAP32[$91>>2]|0; + $93 = ((($92)) + 17|0); + $94 = HEAP8[$93>>0]|0; + $95 = $94&255; + $96 = ($95|0)!=(0); + $97 = HEAP32[$7>>2]|0; + $98 = ($97|0)>(0); + $or$cond = $96 & $98; + if ($or$cond) { + $99 = HEAP32[$12>>2]|0; + $100 = (_sqlite3Get4byte($99)|0); + HEAP32[$8>>2] = $100; + $101 = HEAP32[$4>>2]|0; + $102 = HEAP32[$8>>2]|0; + $103 = HEAP32[$6>>2]|0; + _checkPtrmap($101,$102,4,$103); + } + } + } while(0); + $104 = HEAP32[$12>>2]|0; + $105 = (_sqlite3Get4byte($104)|0); + HEAP32[$6>>2] = $105; + $106 = HEAP32[$11>>2]|0; + _sqlite3PagerUnref($106); + $107 = HEAP32[$5>>2]|0; + $108 = ($107|0)!=(0); + if (!($108)) { + continue; + } + $109 = HEAP32[$7>>2]|0; + $110 = HEAP32[$6>>2]|0; + $111 = ($110|0)!=(0); + $112 = $111&1; + $113 = ($109|0)<($112|0); + if (!($113)) { + continue; + } + $114 = HEAP32[$4>>2]|0; + _checkAppendMsg($114,40603,$vararg_buffer10); + } + if ((label|0) == 5) { + $27 = HEAP32[$7>>2]|0; + $28 = (($27) + 1)|0; + $29 = HEAP32[$9>>2]|0; + $30 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer>>2] = $28; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $29; + $vararg_ptr3 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr3>>2] = $30; + _checkAppendMsg($26,40485,$vararg_buffer); + STACKTOP = sp;return; + } + else if ((label|0) == 8) { + $40 = HEAP32[$4>>2]|0; + $41 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer4>>2] = $41; + _checkAppendMsg($40,40542,$vararg_buffer4); + STACKTOP = sp;return; + } + else if ((label|0) == 25) { + STACKTOP = sp;return; + } +} +function _checkPtrmap($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0; + var $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 49|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 48|0; + $10 = sp + 28|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP8[$6>>0] = $2; + HEAP32[$7>>2] = $3; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (_ptrmapGet($12,$13,$9,$10)|0); + HEAP32[$8>>2] = $14; + $15 = HEAP32[$8>>2]|0; + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$8>>2]|0; + $18 = ($17|0)==(7); + $19 = HEAP32[$8>>2]|0; + $20 = ($19|0)==(3082); + $or$cond = $18 | $20; + if ($or$cond) { + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 24|0); + HEAP32[$22>>2] = 1; + } + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $24; + _checkAppendMsg($23,40402,$vararg_buffer); + STACKTOP = sp;return; + } + $25 = HEAP8[$9>>0]|0; + $26 = $25&255; + $27 = HEAP8[$6>>0]|0; + $28 = $27&255; + $29 = ($26|0)!=($28|0); + if (!($29)) { + $30 = HEAP32[$10>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = ($30|0)!=($31|0); + if (!($32)) { + STACKTOP = sp;return; + } + } + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP8[$6>>0]|0; + $36 = $35&255; + $37 = HEAP32[$7>>2]|0; + $38 = HEAP8[$9>>0]|0; + $39 = $38&255; + $40 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer2>>2] = $34; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $36; + $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); + HEAP32[$vararg_ptr6>>2] = $37; + $vararg_ptr7 = ((($vararg_buffer2)) + 12|0); + HEAP32[$vararg_ptr7>>2] = $39; + $vararg_ptr8 = ((($vararg_buffer2)) + 16|0); + HEAP32[$vararg_ptr8>>2] = $40; + _checkAppendMsg($33,40431,$vararg_buffer2); + STACKTOP = sp;return; +} +function _checkTreePage($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; + var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; + var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; + var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; + var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0; + var $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0; + var $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0; + var $535 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr19 = 0; + var $vararg_ptr23 = 0, $vararg_ptr24 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; + $vararg_buffer20 = sp + 96|0; + $vararg_buffer16 = sp + 88|0; + $vararg_buffer14 = sp + 80|0; + $vararg_buffer11 = sp + 72|0; + $vararg_buffer9 = sp + 64|0; + $vararg_buffer4 = sp + 48|0; + $vararg_buffer1 = sp + 40|0; + $vararg_buffer = sp + 32|0; + $5 = sp + 240|0; + $6 = sp + 236|0; + $7 = sp + 232|0; + $8 = sp + 228|0; + $9 = sp + 24|0; + $10 = sp + 224|0; + $11 = sp + 220|0; + $12 = sp + 216|0; + $13 = sp + 212|0; + $14 = sp + 208|0; + $15 = sp + 204|0; + $16 = sp + 200|0; + $17 = sp + 196|0; + $18 = sp + 192|0; + $19 = sp + 188|0; + $20 = sp + 184|0; + $21 = sp + 180|0; + $22 = sp + 176|0; + $23 = sp + 172|0; + $24 = sp + 168|0; + $25 = sp + 164|0; + $26 = sp + 160|0; + $27 = sp + 156|0; + $28 = sp + 152|0; + $29 = sp + 148|0; + $30 = sp + 144|0; + $31 = sp + 140|0; + $32 = sp + 136|0; + $33 = sp + 132|0; + $34 = sp + 128|0; + $35 = sp + 244|0; + $36 = sp; + $37 = sp + 124|0; + $38 = sp + 120|0; + $39 = sp + 116|0; + $40 = sp + 112|0; + $41 = sp + 108|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + $42 = $9; + $43 = $42; + HEAP32[$43>>2] = $3; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $4; + HEAP32[$10>>2] = 0; + HEAP32[$13>>2] = -1; + HEAP32[$20>>2] = 1; + HEAP32[$21>>2] = 1; + HEAP32[$29>>2] = 0; + HEAP32[$31>>2] = 0; + $46 = HEAP32[$6>>2]|0; + $47 = ((($46)) + 28|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$32>>2] = $48; + $49 = HEAP32[$6>>2]|0; + $50 = ((($49)) + 32|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$33>>2] = $51; + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 36|0); + $54 = HEAP32[$53>>2]|0; + HEAP32[$34>>2] = $54; + HEAP8[$35>>0] = 0; + $55 = HEAP32[$6>>2]|0; + $56 = HEAP32[$55>>2]|0; + HEAP32[$25>>2] = $56; + $57 = HEAP32[$25>>2]|0; + $58 = ((($57)) + 36|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$27>>2] = $59; + $60 = HEAP32[$7>>2]|0; + $61 = ($60|0)==(0); + if ($61) { + HEAP32[$5>>2] = 0; + $535 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($535|0); + } + $62 = HEAP32[$6>>2]|0; + $63 = HEAP32[$7>>2]|0; + $64 = (_checkRef($62,$63)|0); + $65 = ($64|0)!=(0); + if ($65) { + HEAP32[$5>>2] = 0; + $535 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($535|0); + } + $66 = HEAP32[$6>>2]|0; + $67 = ((($66)) + 28|0); + HEAP32[$67>>2] = 40022; + $68 = HEAP32[$7>>2]|0; + $69 = HEAP32[$6>>2]|0; + $70 = ((($69)) + 32|0); + HEAP32[$70>>2] = $68; + $71 = HEAP32[$25>>2]|0; + $72 = HEAP32[$7>>2]|0; + $73 = (_btreeGetPage($71,$72,$10,0)|0); + HEAP32[$12>>2] = $73; + $74 = ($73|0)!=(0); + do { + if ($74) { + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$12>>2]|0; + HEAP32[$vararg_buffer>>2] = $76; + _checkAppendMsg($75,40032,$vararg_buffer); + } else { + $77 = HEAP32[$10>>2]|0; + $78 = HEAP8[$77>>0]|0; + HEAP8[$35>>0] = $78; + $79 = HEAP32[$10>>2]|0; + HEAP8[$79>>0] = 0; + $80 = HEAP32[$10>>2]|0; + $81 = (_btreeInitPage($80)|0); + HEAP32[$12>>2] = $81; + $82 = ($81|0)!=(0); + if ($82) { + $83 = HEAP32[$6>>2]|0; + $84 = HEAP32[$12>>2]|0; + HEAP32[$vararg_buffer1>>2] = $84; + _checkAppendMsg($83,40070,$vararg_buffer1); + break; + } + $85 = HEAP32[$10>>2]|0; + $86 = ((($85)) + 56|0); + $87 = HEAP32[$86>>2]|0; + HEAP32[$22>>2] = $87; + $88 = HEAP32[$10>>2]|0; + $89 = ((($88)) + 5|0); + $90 = HEAP8[$89>>0]|0; + $91 = $90&255; + HEAP32[$17>>2] = $91; + $92 = HEAP32[$6>>2]|0; + $93 = ((($92)) + 28|0); + HEAP32[$93>>2] = 40108; + $94 = HEAP32[$22>>2]|0; + $95 = HEAP32[$17>>2]|0; + $96 = (($95) + 5)|0; + $97 = (($94) + ($96)|0); + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $100 = $99 << 8; + $101 = HEAP32[$22>>2]|0; + $102 = HEAP32[$17>>2]|0; + $103 = (($102) + 5)|0; + $104 = (($101) + ($103)|0); + $105 = ((($104)) + 1|0); + $106 = HEAP8[$105>>0]|0; + $107 = $106&255; + $108 = $100 | $107; + $109 = (($108) - 1)|0; + $110 = $109 & 65535; + $111 = (($110) + 1)|0; + HEAP32[$28>>2] = $111; + $112 = HEAP32[$22>>2]|0; + $113 = HEAP32[$17>>2]|0; + $114 = (($113) + 3)|0; + $115 = (($112) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = $116&255; + $118 = $117 << 8; + $119 = HEAP32[$22>>2]|0; + $120 = HEAP32[$17>>2]|0; + $121 = (($120) + 3)|0; + $122 = (($119) + ($121)|0); + $123 = ((($122)) + 1|0); + $124 = HEAP8[$123>>0]|0; + $125 = $124&255; + $126 = $118 | $125; + HEAP32[$19>>2] = $126; + $127 = HEAP32[$17>>2]|0; + $128 = (($127) + 12)|0; + $129 = HEAP32[$10>>2]|0; + $130 = ((($129)) + 4|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132<<2; + $134 = (($128) - ($133))|0; + HEAP32[$18>>2] = $134; + $135 = HEAP32[$22>>2]|0; + $136 = HEAP32[$18>>2]|0; + $137 = HEAP32[$19>>2]|0; + $138 = (($137) - 1)|0; + $139 = $138<<1; + $140 = (($136) + ($139))|0; + $141 = (($135) + ($140)|0); + HEAP32[$24>>2] = $141; + $142 = HEAP32[$10>>2]|0; + $143 = ((($142)) + 4|0); + $144 = HEAP8[$143>>0]|0; + $145 = ($144<<24>>24)!=(0); + if ($145) { + $169 = HEAP32[$6>>2]|0; + $170 = ((($169)) + 68|0); + $171 = HEAP32[$170>>2]|0; + HEAP32[$29>>2] = $171; + $172 = HEAP32[$29>>2]|0; + HEAP32[$172>>2] = 0; + } else { + $146 = HEAP32[$22>>2]|0; + $147 = HEAP32[$17>>2]|0; + $148 = (($147) + 8)|0; + $149 = (($146) + ($148)|0); + $150 = (_sqlite3Get4byte($149)|0); + HEAP32[$15>>2] = $150; + $151 = HEAP32[$25>>2]|0; + $152 = ((($151)) + 17|0); + $153 = HEAP8[$152>>0]|0; + $154 = ($153<<24>>24)!=(0); + if ($154) { + $155 = HEAP32[$6>>2]|0; + $156 = ((($155)) + 28|0); + HEAP32[$156>>2] = 40134; + $157 = HEAP32[$6>>2]|0; + $158 = HEAP32[$15>>2]|0; + $159 = HEAP32[$7>>2]|0; + _checkPtrmap($157,$158,5,$159); + } + $160 = HEAP32[$6>>2]|0; + $161 = HEAP32[$15>>2]|0; + $162 = $9; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = (($162) + 4)|0; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (_checkTreePage($160,$161,$9,$164,$167)|0); + HEAP32[$13>>2] = $168; + HEAP32[$21>>2] = 0; + } + $173 = HEAP32[$19>>2]|0; + $174 = (($173) - 1)|0; + HEAP32[$11>>2] = $174; + while(1) { + $175 = HEAP32[$11>>2]|0; + $176 = ($175|0)>=(0); + if (!($176)) { + break; + } + $177 = HEAP32[$6>>2]|0; + $178 = ((($177)) + 16|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)!=(0); + if (!($180)) { + break; + } + $181 = HEAP32[$11>>2]|0; + $182 = HEAP32[$6>>2]|0; + $183 = ((($182)) + 36|0); + HEAP32[$183>>2] = $181; + $184 = HEAP32[$24>>2]|0; + $185 = HEAP8[$184>>0]|0; + $186 = $185&255; + $187 = $186 << 8; + $188 = HEAP32[$24>>2]|0; + $189 = ((($188)) + 1|0); + $190 = HEAP8[$189>>0]|0; + $191 = $190&255; + $192 = $187 | $191; + HEAP32[$26>>2] = $192; + $193 = HEAP32[$24>>2]|0; + $194 = ((($193)) + -2|0); + HEAP32[$24>>2] = $194; + $195 = HEAP32[$26>>2]|0; + $196 = HEAP32[$28>>2]|0; + $197 = ($195>>>0)<($196>>>0); + do { + if ($197) { + label = 19; + } else { + $198 = HEAP32[$26>>2]|0; + $199 = HEAP32[$27>>2]|0; + $200 = (($199) - 4)|0; + $201 = ($198>>>0)>($200>>>0); + if ($201) { + label = 19; + } else { + $207 = HEAP32[$22>>2]|0; + $208 = HEAP32[$26>>2]|0; + $209 = (($207) + ($208)|0); + HEAP32[$23>>2] = $209; + $210 = HEAP32[$10>>2]|0; + $211 = ((($210)) + 80|0); + $212 = HEAP32[$211>>2]|0; + $213 = HEAP32[$10>>2]|0; + $214 = HEAP32[$23>>2]|0; + FUNCTION_TABLE_viii[$212 & 255]($213,$214,$36); + $215 = HEAP32[$26>>2]|0; + $216 = ((($36)) + 18|0); + $217 = HEAP16[$216>>1]|0; + $218 = $217&65535; + $219 = (($215) + ($218))|0; + $220 = HEAP32[$27>>2]|0; + $221 = ($219>>>0)>($220>>>0); + if ($221) { + $222 = HEAP32[$6>>2]|0; + _checkAppendMsg($222,40192,$vararg_buffer9); + HEAP32[$20>>2] = 0; + break; + } + $223 = HEAP32[$10>>2]|0; + $224 = ((($223)) + 2|0); + $225 = HEAP8[$224>>0]|0; + $226 = ($225<<24>>24)!=(0); + if ($226) { + $227 = HEAP32[$21>>2]|0; + $228 = ($227|0)!=(0); + $229 = $36; + $230 = $229; + $231 = HEAP32[$230>>2]|0; + $232 = (($229) + 4)|0; + $233 = $232; + $234 = HEAP32[$233>>2]|0; + $235 = $9; + $236 = $235; + $237 = HEAP32[$236>>2]|0; + $238 = (($235) + 4)|0; + $239 = $238; + $240 = HEAP32[$239>>2]|0; + if ($228) { + $241 = ($234|0)>($240|0); + $242 = ($231>>>0)>($237>>>0); + $243 = ($234|0)==($240|0); + $244 = $243 & $242; + $245 = $241 | $244; + if ($245) { + label = 26; + } + } else { + $246 = ($234|0)>($240|0); + $247 = ($231>>>0)>=($237>>>0); + $248 = ($234|0)==($240|0); + $249 = $248 & $247; + $250 = $246 | $249; + if ($250) { + label = 26; + } + } + if ((label|0) == 26) { + label = 0; + $251 = HEAP32[$6>>2]|0; + $252 = $36; + $253 = $252; + $254 = HEAP32[$253>>2]|0; + $255 = (($252) + 4)|0; + $256 = $255; + $257 = HEAP32[$256>>2]|0; + $258 = $vararg_buffer11; + $259 = $258; + HEAP32[$259>>2] = $254; + $260 = (($258) + 4)|0; + $261 = $260; + HEAP32[$261>>2] = $257; + _checkAppendMsg($251,40216,$vararg_buffer11); + } + $262 = $36; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = (($262) + 4)|0; + $266 = $265; + $267 = HEAP32[$266>>2]|0; + $268 = $9; + $269 = $268; + HEAP32[$269>>2] = $264; + $270 = (($268) + 4)|0; + $271 = $270; + HEAP32[$271>>2] = $267; + } + $272 = ((($36)) + 12|0); + $273 = HEAP32[$272>>2]|0; + $274 = ((($36)) + 16|0); + $275 = HEAP16[$274>>1]|0; + $276 = $275&65535; + $277 = ($273>>>0)>($276>>>0); + if ($277) { + $278 = ((($36)) + 12|0); + $279 = HEAP32[$278>>2]|0; + $280 = ((($36)) + 16|0); + $281 = HEAP16[$280>>1]|0; + $282 = $281&65535; + $283 = (($279) - ($282))|0; + $284 = HEAP32[$27>>2]|0; + $285 = (($283) + ($284))|0; + $286 = (($285) - 5)|0; + $287 = HEAP32[$27>>2]|0; + $288 = (($287) - 4)|0; + $289 = (($286>>>0) / ($288>>>0))&-1; + HEAP32[$37>>2] = $289; + $290 = HEAP32[$23>>2]|0; + $291 = ((($36)) + 18|0); + $292 = HEAP16[$291>>1]|0; + $293 = $292&65535; + $294 = (($293) - 4)|0; + $295 = (($290) + ($294)|0); + $296 = (_sqlite3Get4byte($295)|0); + HEAP32[$38>>2] = $296; + $297 = HEAP32[$25>>2]|0; + $298 = ((($297)) + 17|0); + $299 = HEAP8[$298>>0]|0; + $300 = ($299<<24>>24)!=(0); + if ($300) { + $301 = HEAP32[$6>>2]|0; + $302 = HEAP32[$38>>2]|0; + $303 = HEAP32[$7>>2]|0; + _checkPtrmap($301,$302,3,$303); + } + $304 = HEAP32[$6>>2]|0; + $305 = HEAP32[$38>>2]|0; + $306 = HEAP32[$37>>2]|0; + _checkList($304,0,$305,$306); + } + $307 = HEAP32[$10>>2]|0; + $308 = ((($307)) + 4|0); + $309 = HEAP8[$308>>0]|0; + $310 = ($309<<24>>24)!=(0); + if ($310) { + $334 = HEAP32[$29>>2]|0; + $335 = HEAP32[$26>>2]|0; + $336 = $335 << 16; + $337 = HEAP32[$26>>2]|0; + $338 = ((($36)) + 18|0); + $339 = HEAP16[$338>>1]|0; + $340 = $339&65535; + $341 = (($337) + ($340))|0; + $342 = (($341) - 1)|0; + $343 = $336 | $342; + _btreeHeapInsert($334,$343); + break; + } + $311 = HEAP32[$23>>2]|0; + $312 = (_sqlite3Get4byte($311)|0); + HEAP32[$15>>2] = $312; + $313 = HEAP32[$25>>2]|0; + $314 = ((($313)) + 17|0); + $315 = HEAP8[$314>>0]|0; + $316 = ($315<<24>>24)!=(0); + if ($316) { + $317 = HEAP32[$6>>2]|0; + $318 = HEAP32[$15>>2]|0; + $319 = HEAP32[$7>>2]|0; + _checkPtrmap($317,$318,5,$319); + } + $320 = HEAP32[$6>>2]|0; + $321 = HEAP32[$15>>2]|0; + $322 = $9; + $323 = $322; + $324 = HEAP32[$323>>2]|0; + $325 = (($322) + 4)|0; + $326 = $325; + $327 = HEAP32[$326>>2]|0; + $328 = (_checkTreePage($320,$321,$9,$324,$327)|0); + HEAP32[$14>>2] = $328; + HEAP32[$21>>2] = 0; + $329 = HEAP32[$14>>2]|0; + $330 = HEAP32[$13>>2]|0; + $331 = ($329|0)!=($330|0); + if ($331) { + $332 = HEAP32[$6>>2]|0; + _checkAppendMsg($332,40240,$vararg_buffer14); + $333 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $333; + } + } + } + } while(0); + if ((label|0) == 19) { + label = 0; + $202 = HEAP32[$6>>2]|0; + $203 = HEAP32[$26>>2]|0; + $204 = HEAP32[$28>>2]|0; + $205 = HEAP32[$27>>2]|0; + $206 = (($205) - 4)|0; + HEAP32[$vararg_buffer4>>2] = $203; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $204; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $206; + _checkAppendMsg($202,40162,$vararg_buffer4); + HEAP32[$20>>2] = 0; + } + $344 = HEAP32[$11>>2]|0; + $345 = (($344) + -1)|0; + HEAP32[$11>>2] = $345; + } + $346 = $9; + $347 = $346; + $348 = HEAP32[$347>>2]|0; + $349 = (($346) + 4)|0; + $350 = $349; + $351 = HEAP32[$350>>2]|0; + $352 = HEAP32[$8>>2]|0; + $353 = $352; + $354 = $353; + HEAP32[$354>>2] = $348; + $355 = (($353) + 4)|0; + $356 = $355; + HEAP32[$356>>2] = $351; + $357 = HEAP32[$6>>2]|0; + $358 = ((($357)) + 28|0); + HEAP32[$358>>2] = 0; + $359 = HEAP32[$20>>2]|0; + $360 = ($359|0)!=(0); + if ($360) { + $361 = HEAP32[$6>>2]|0; + $362 = ((($361)) + 16|0); + $363 = HEAP32[$362>>2]|0; + $364 = ($363|0)>(0); + if ($364) { + $365 = HEAP32[$10>>2]|0; + $366 = ((($365)) + 4|0); + $367 = HEAP8[$366>>0]|0; + $368 = ($367<<24>>24)!=(0); + L60: do { + if (!($368)) { + $369 = HEAP32[$6>>2]|0; + $370 = ((($369)) + 68|0); + $371 = HEAP32[$370>>2]|0; + HEAP32[$29>>2] = $371; + $372 = HEAP32[$29>>2]|0; + HEAP32[$372>>2] = 0; + $373 = HEAP32[$19>>2]|0; + $374 = (($373) - 1)|0; + HEAP32[$11>>2] = $374; + while(1) { + $375 = HEAP32[$11>>2]|0; + $376 = ($375|0)>=(0); + if (!($376)) { + break L60; + } + $377 = HEAP32[$22>>2]|0; + $378 = HEAP32[$18>>2]|0; + $379 = HEAP32[$11>>2]|0; + $380 = $379<<1; + $381 = (($378) + ($380))|0; + $382 = (($377) + ($381)|0); + $383 = HEAP8[$382>>0]|0; + $384 = $383&255; + $385 = $384 << 8; + $386 = HEAP32[$22>>2]|0; + $387 = HEAP32[$18>>2]|0; + $388 = HEAP32[$11>>2]|0; + $389 = $388<<1; + $390 = (($387) + ($389))|0; + $391 = (($386) + ($390)|0); + $392 = ((($391)) + 1|0); + $393 = HEAP8[$392>>0]|0; + $394 = $393&255; + $395 = $385 | $394; + HEAP32[$26>>2] = $395; + $396 = HEAP32[$10>>2]|0; + $397 = ((($396)) + 76|0); + $398 = HEAP32[$397>>2]|0; + $399 = HEAP32[$10>>2]|0; + $400 = HEAP32[$22>>2]|0; + $401 = HEAP32[$26>>2]|0; + $402 = (($400) + ($401)|0); + $403 = (FUNCTION_TABLE_iii[$398 & 255]($399,$402)|0); + $404 = $403&65535; + HEAP32[$39>>2] = $404; + $405 = HEAP32[$29>>2]|0; + $406 = HEAP32[$26>>2]|0; + $407 = $406 << 16; + $408 = HEAP32[$26>>2]|0; + $409 = HEAP32[$39>>2]|0; + $410 = (($408) + ($409))|0; + $411 = (($410) - 1)|0; + $412 = $407 | $411; + _btreeHeapInsert($405,$412); + $413 = HEAP32[$11>>2]|0; + $414 = (($413) + -1)|0; + HEAP32[$11>>2] = $414; + } + } + } while(0); + $415 = HEAP32[$22>>2]|0; + $416 = HEAP32[$17>>2]|0; + $417 = (($416) + 1)|0; + $418 = (($415) + ($417)|0); + $419 = HEAP8[$418>>0]|0; + $420 = $419&255; + $421 = $420 << 8; + $422 = HEAP32[$22>>2]|0; + $423 = HEAP32[$17>>2]|0; + $424 = (($423) + 1)|0; + $425 = (($422) + ($424)|0); + $426 = ((($425)) + 1|0); + $427 = HEAP8[$426>>0]|0; + $428 = $427&255; + $429 = $421 | $428; + HEAP32[$11>>2] = $429; + while(1) { + $430 = HEAP32[$11>>2]|0; + $431 = ($430|0)>(0); + if (!($431)) { + break; + } + $432 = HEAP32[$22>>2]|0; + $433 = HEAP32[$11>>2]|0; + $434 = (($433) + 2)|0; + $435 = (($432) + ($434)|0); + $436 = HEAP8[$435>>0]|0; + $437 = $436&255; + $438 = $437 << 8; + $439 = HEAP32[$22>>2]|0; + $440 = HEAP32[$11>>2]|0; + $441 = (($440) + 2)|0; + $442 = (($439) + ($441)|0); + $443 = ((($442)) + 1|0); + $444 = HEAP8[$443>>0]|0; + $445 = $444&255; + $446 = $438 | $445; + HEAP32[$40>>2] = $446; + $447 = HEAP32[$29>>2]|0; + $448 = HEAP32[$11>>2]|0; + $449 = $448 << 16; + $450 = HEAP32[$11>>2]|0; + $451 = HEAP32[$40>>2]|0; + $452 = (($450) + ($451))|0; + $453 = (($452) - 1)|0; + $454 = $449 | $453; + _btreeHeapInsert($447,$454); + $455 = HEAP32[$22>>2]|0; + $456 = HEAP32[$11>>2]|0; + $457 = (($455) + ($456)|0); + $458 = HEAP8[$457>>0]|0; + $459 = $458&255; + $460 = $459 << 8; + $461 = HEAP32[$22>>2]|0; + $462 = HEAP32[$11>>2]|0; + $463 = (($461) + ($462)|0); + $464 = ((($463)) + 1|0); + $465 = HEAP8[$464>>0]|0; + $466 = $465&255; + $467 = $460 | $466; + HEAP32[$41>>2] = $467; + $468 = HEAP32[$41>>2]|0; + HEAP32[$11>>2] = $468; + } + HEAP32[$16>>2] = 0; + $469 = HEAP32[$28>>2]|0; + $470 = (($469) - 1)|0; + HEAP32[$31>>2] = $470; + while(1) { + $471 = HEAP32[$29>>2]|0; + $472 = (_btreeHeapPull($471,$30)|0); + $473 = ($472|0)!=(0); + if (!($473)) { + break; + } + $474 = HEAP32[$31>>2]|0; + $475 = $474 & 65535; + $476 = HEAP32[$30>>2]|0; + $477 = $476 >>> 16; + $478 = ($475>>>0)>=($477>>>0); + if ($478) { + label = 51; + break; + } + $483 = HEAP32[$30>>2]|0; + $484 = $483 >>> 16; + $485 = HEAP32[$31>>2]|0; + $486 = $485 & 65535; + $487 = (($484) - ($486))|0; + $488 = (($487) - 1)|0; + $489 = HEAP32[$16>>2]|0; + $490 = (($489) + ($488))|0; + HEAP32[$16>>2] = $490; + $491 = HEAP32[$30>>2]|0; + HEAP32[$31>>2] = $491; + } + if ((label|0) == 51) { + $479 = HEAP32[$6>>2]|0; + $480 = HEAP32[$30>>2]|0; + $481 = $480 >>> 16; + $482 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer16>>2] = $481; + $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); + HEAP32[$vararg_ptr19>>2] = $482; + _checkAppendMsg($479,40265,$vararg_buffer16); + } + $492 = HEAP32[$27>>2]|0; + $493 = HEAP32[$31>>2]|0; + $494 = $493 & 65535; + $495 = (($492) - ($494))|0; + $496 = (($495) - 1)|0; + $497 = HEAP32[$16>>2]|0; + $498 = (($497) + ($496))|0; + HEAP32[$16>>2] = $498; + $499 = HEAP32[$29>>2]|0; + $500 = HEAP32[$499>>2]|0; + $501 = ($500|0)==(0); + if ($501) { + $502 = HEAP32[$16>>2]|0; + $503 = HEAP32[$22>>2]|0; + $504 = HEAP32[$17>>2]|0; + $505 = (($504) + 7)|0; + $506 = (($503) + ($505)|0); + $507 = HEAP8[$506>>0]|0; + $508 = $507&255; + $509 = ($502|0)!=($508|0); + if ($509) { + $510 = HEAP32[$6>>2]|0; + $511 = HEAP32[$16>>2]|0; + $512 = HEAP32[$22>>2]|0; + $513 = HEAP32[$17>>2]|0; + $514 = (($513) + 7)|0; + $515 = (($512) + ($514)|0); + $516 = HEAP8[$515>>0]|0; + $517 = $516&255; + $518 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer20>>2] = $511; + $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); + HEAP32[$vararg_ptr23>>2] = $517; + $vararg_ptr24 = ((($vararg_buffer20)) + 8|0); + HEAP32[$vararg_ptr24>>2] = $518; + _checkAppendMsg($510,40302,$vararg_buffer20); + } + } + } + } + } + } while(0); + $519 = HEAP32[$20>>2]|0; + $520 = ($519|0)!=(0); + if (!($520)) { + $521 = HEAP8[$35>>0]|0; + $522 = HEAP32[$10>>2]|0; + HEAP8[$522>>0] = $521; + } + $523 = HEAP32[$10>>2]|0; + _releasePage($523); + $524 = HEAP32[$32>>2]|0; + $525 = HEAP32[$6>>2]|0; + $526 = ((($525)) + 28|0); + HEAP32[$526>>2] = $524; + $527 = HEAP32[$33>>2]|0; + $528 = HEAP32[$6>>2]|0; + $529 = ((($528)) + 32|0); + HEAP32[$529>>2] = $527; + $530 = HEAP32[$34>>2]|0; + $531 = HEAP32[$6>>2]|0; + $532 = ((($531)) + 36|0); + HEAP32[$532>>2] = $530; + $533 = HEAP32[$13>>2]|0; + $534 = (($533) + 1)|0; + HEAP32[$5>>2] = $534; + $535 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($535|0); +} +function _getPageReferenced($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = (($7>>>0) / 8)&-1; + $9 = (($6) + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = HEAP32[$3>>2]|0; + $13 = $12 & 7; + $14 = 1 << $13; + $15 = $11 & $14; + STACKTOP = sp;return ($15|0); +} +function _checkAppendMsg($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0); + if (!($8)) { + STACKTOP = sp;return; + } + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + -1)|0; + HEAP32[$10>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + 1)|0; + HEAP32[$14>>2] = $16; + HEAP32[$4>>2] = $varargs; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 40|0); + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0); + if ($21) { + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 40|0); + _sqlite3StrAccumAppend($23,40020,1); + } + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0|0); + if ($27) { + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 40|0); + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 28|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 32|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 36|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$vararg_buffer>>2] = $35; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $38; + _sqlite3XPrintf($29,$32,$vararg_buffer); + } + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 40|0); + $41 = HEAP32[$3>>2]|0; + _sqlite3VXPrintf($40,$41,$4); + $42 = HEAP32[$2>>2]|0; + $43 = ((($42)) + 40|0); + $44 = ((($43)) + 24|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = ($46|0)==(1); + if (!($47)) { + STACKTOP = sp;return; + } + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 24|0); + HEAP32[$49>>2] = 1; + STACKTOP = sp;return; +} +function _checkRef($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + do { + if ($6) { + HEAP32[$2>>2] = 1; + } else { + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($7>>>0)>($10>>>0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$4>>2]|0; + if ($11) { + HEAP32[$vararg_buffer>>2] = $13; + _checkAppendMsg($12,40354,$vararg_buffer); + HEAP32[$2>>2] = 1; + break; + } + $14 = (_getPageReferenced($12,$13)|0); + $15 = ($14|0)!=(0); + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$4>>2]|0; + if ($15) { + HEAP32[$vararg_buffer1>>2] = $17; + _checkAppendMsg($16,40377,$vararg_buffer1); + HEAP32[$2>>2] = 1; + break; + } else { + _setPageReferenced($16,$17); + HEAP32[$2>>2] = 0; + break; + } + } + } while(0); + $18 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($18|0); +} +function _btreeHeapInsert($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (($7) + 1)|0; + HEAP32[$6>>2] = $8; + HEAP32[$5>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = (($10) + ($11<<2)|0); + HEAP32[$12>>2] = $9; + while(1) { + $13 = HEAP32[$5>>2]|0; + $14 = (($13>>>0) / 2)&-1; + HEAP32[$4>>2] = $14; + $15 = ($14>>>0)>(0); + if (!($15)) { + label = 5; + break; + } + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = (($16) + ($17<<2)|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = (($20) + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($19>>>0)>($23>>>0); + if (!($24)) { + label = 5; + break; + } + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = (($25) + ($26<<2)|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$3>>2] = $28; + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = (($29) + ($30<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = (($33) + ($34<<2)|0); + HEAP32[$35>>2] = $32; + $36 = HEAP32[$3>>2]|0; + $37 = HEAP32[$2>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = (($37) + ($38<<2)|0); + HEAP32[$39>>2] = $36; + $40 = HEAP32[$4>>2]|0; + HEAP32[$5>>2] = $40; + } + if ((label|0) == 5) { + STACKTOP = sp;return; + } +} +function _btreeHeapPull($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ($9|0)==(0); + if ($10) { + HEAP32[$2>>2] = 0; + $69 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($69|0); + } + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$4>>2]|0; + HEAP32[$14>>2] = $13; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = (($15) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 4|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = (($21) + ($22<<2)|0); + HEAP32[$23>>2] = -1; + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + -1)|0; + HEAP32[$24>>2] = $26; + HEAP32[$6>>2] = 1; + while(1) { + $27 = HEAP32[$6>>2]|0; + $28 = $27<<1; + HEAP32[$5>>2] = $28; + $29 = HEAP32[$3>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ($28>>>0)<=($30>>>0); + if (!($31)) { + break; + } + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = (($32) + ($33<<2)|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = HEAP32[$5>>2]|0; + $38 = (($37) + 1)|0; + $39 = (($36) + ($38<<2)|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($35>>>0)>($40>>>0); + if ($41) { + $42 = HEAP32[$5>>2]|0; + $43 = (($42) + 1)|0; + HEAP32[$5>>2] = $43; + } + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$6>>2]|0; + $46 = (($44) + ($45<<2)|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$3>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = (($48) + ($49<<2)|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($47>>>0)<($51>>>0); + if ($52) { + break; + } + $53 = HEAP32[$3>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = (($53) + ($54<<2)|0); + $56 = HEAP32[$55>>2]|0; + HEAP32[$7>>2] = $56; + $57 = HEAP32[$3>>2]|0; + $58 = HEAP32[$5>>2]|0; + $59 = (($57) + ($58<<2)|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$6>>2]|0; + $63 = (($61) + ($62<<2)|0); + HEAP32[$63>>2] = $60; + $64 = HEAP32[$7>>2]|0; + $65 = HEAP32[$3>>2]|0; + $66 = HEAP32[$5>>2]|0; + $67 = (($65) + ($66<<2)|0); + HEAP32[$67>>2] = $64; + $68 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $68; + } + HEAP32[$2>>2] = 1; + $69 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($69|0); +} +function _invalidateIncrblobCursors($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp; + $6 = sp + 12|0; + $7 = sp + 8|0; + HEAP32[$4>>2] = $0; + $8 = $5; + $9 = $8; + HEAP32[$9>>2] = $1; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $2; + HEAP32[$6>>2] = $3; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 11|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==(0); + if ($16) { + STACKTOP = sp;return; + } + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 11|0); + HEAP8[$18>>0] = 0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 8|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$7>>2] = $23; + while(1) { + $24 = HEAP32[$7>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { + break; + } + $26 = HEAP32[$7>>2]|0; + $27 = ((($26)) + 64|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 & 16; + $31 = ($30|0)!=(0); + do { + if ($31) { + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 11|0); + HEAP8[$33>>0] = 1; + $34 = HEAP32[$6>>2]|0; + $35 = ($34|0)!=(0); + if (!($35)) { + $36 = HEAP32[$7>>2]|0; + $37 = ((($36)) + 16|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = $5; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = ($40|0)==($46|0); + $51 = ($43|0)==($49|0); + $52 = $50 & $51; + if (!($52)) { + break; + } + } + $53 = HEAP32[$7>>2]|0; + $54 = ((($53)) + 66|0); + HEAP8[$54>>0] = 0; + } + } while(0); + $55 = HEAP32[$7>>2]|0; + $56 = ((($55)) + 8|0); + $57 = HEAP32[$56>>2]|0; + HEAP32[$7>>2] = $57; + } + STACKTOP = sp;return; +} +function _clearDatabasePage($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + $14 = sp + 40|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = (_btreePagecount($16)|0); + $18 = ($15>>>0)>($17>>>0); + if ($18) { + $19 = (_sqlite3CorruptError(66688)|0); + HEAP32[$4>>2] = $19; + $133 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($133|0); + } + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = (_getAndInitPage($20,$21,$9,0,0)|0); + HEAP32[$10>>2] = $22; + $23 = HEAP32[$10>>2]|0; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $25; + $133 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($133|0); + } + $26 = HEAP32[$9>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)!=(0); + L9: do { + if ($29) { + $30 = (_sqlite3CorruptError(66693)|0); + HEAP32[$10>>2] = $30; + } else { + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 8|0); + HEAP8[$32>>0] = 1; + $33 = HEAP32[$9>>2]|0; + $34 = ((($33)) + 5|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + HEAP32[$13>>2] = $36; + HEAP32[$12>>2] = 0; + while(1) { + $37 = HEAP32[$12>>2]|0; + $38 = HEAP32[$9>>2]|0; + $39 = ((($38)) + 18|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40&65535; + $42 = ($37|0)<($41|0); + $43 = HEAP32[$9>>2]|0; + if (!($42)) { + break; + } + $44 = ((($43)) + 56|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$9>>2]|0; + $47 = ((($46)) + 20|0); + $48 = HEAP16[$47>>1]|0; + $49 = $48&65535; + $50 = HEAP32[$9>>2]|0; + $51 = ((($50)) + 64|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$12>>2]|0; + $54 = $53<<1; + $55 = (($52) + ($54)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $57 << 8; + $59 = HEAP32[$9>>2]|0; + $60 = ((($59)) + 64|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$12>>2]|0; + $63 = $62<<1; + $64 = (($61) + ($63)|0); + $65 = ((($64)) + 1|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = $58 | $67; + $69 = $49 & $68; + $70 = (($45) + ($69)|0); + HEAP32[$11>>2] = $70; + $71 = HEAP32[$9>>2]|0; + $72 = ((($71)) + 4|0); + $73 = HEAP8[$72>>0]|0; + $74 = ($73<<24>>24)!=(0); + if (!($74)) { + $75 = HEAP32[$5>>2]|0; + $76 = HEAP32[$11>>2]|0; + $77 = (_sqlite3Get4byte($76)|0); + $78 = HEAP32[$8>>2]|0; + $79 = (_clearDatabasePage($75,$77,1,$78)|0); + HEAP32[$10>>2] = $79; + $80 = HEAP32[$10>>2]|0; + $81 = ($80|0)!=(0); + if ($81) { + break L9; + } + } + $82 = HEAP32[$9>>2]|0; + $83 = HEAP32[$11>>2]|0; + $84 = (_clearCell($82,$83,$14)|0); + HEAP32[$10>>2] = $84; + $85 = HEAP32[$10>>2]|0; + $86 = ($85|0)!=(0); + if ($86) { + break L9; + } + $87 = HEAP32[$12>>2]|0; + $88 = (($87) + 1)|0; + HEAP32[$12>>2] = $88; + } + $89 = ((($43)) + 4|0); + $90 = HEAP8[$89>>0]|0; + $91 = ($90<<24>>24)!=(0); + if ($91) { + $104 = HEAP32[$8>>2]|0; + $105 = ($104|0)!=(0|0); + if ($105) { + $106 = HEAP32[$9>>2]|0; + $107 = ((($106)) + 18|0); + $108 = HEAP16[$107>>1]|0; + $109 = $108&65535; + $110 = HEAP32[$8>>2]|0; + $111 = HEAP32[$110>>2]|0; + $112 = (($111) + ($109))|0; + HEAP32[$110>>2] = $112; + } + } else { + $92 = HEAP32[$5>>2]|0; + $93 = HEAP32[$9>>2]|0; + $94 = ((($93)) + 56|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$13>>2]|0; + $97 = (($96) + 8)|0; + $98 = (($95) + ($97)|0); + $99 = (_sqlite3Get4byte($98)|0); + $100 = HEAP32[$8>>2]|0; + $101 = (_clearDatabasePage($92,$99,1,$100)|0); + HEAP32[$10>>2] = $101; + $102 = HEAP32[$10>>2]|0; + $103 = ($102|0)!=(0); + if ($103) { + break; + } + } + $113 = HEAP32[$7>>2]|0; + $114 = ($113|0)!=(0); + $115 = HEAP32[$9>>2]|0; + if ($114) { + _freePage($115,$10); + break; + } + $116 = ((($115)) + 72|0); + $117 = HEAP32[$116>>2]|0; + $118 = (_sqlite3PagerWrite($117)|0); + HEAP32[$10>>2] = $118; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[$9>>2]|0; + $121 = HEAP32[$9>>2]|0; + $122 = ((($121)) + 56|0); + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$13>>2]|0; + $125 = (($123) + ($124)|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = $127 | 8; + _zeroPage($120,$128); + } + } + } while(0); + $129 = HEAP32[$9>>2]|0; + $130 = ((($129)) + 8|0); + HEAP8[$130>>0] = 0; + $131 = HEAP32[$9>>2]|0; + _releasePage($131); + $132 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $132; + $133 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($133|0); +} +function _clearCell($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $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, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $3 = sp + 64|0; + $4 = sp + 60|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + $14 = sp + 24|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 52|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$7>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 80|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$5>>2]|0; + FUNCTION_TABLE_viii[$20 & 255]($21,$22,$8); + $23 = ((($8)) + 18|0); + $24 = HEAP16[$23>>1]|0; + $25 = HEAP32[$6>>2]|0; + HEAP16[$25>>1] = $24; + $26 = ((($8)) + 16|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27&65535; + $29 = ((($8)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($28|0)==($30|0); + if ($31) { + HEAP32[$3>>2] = 0; + $113 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($113|0); + } + $32 = HEAP32[$5>>2]|0; + $33 = ((($8)) + 18|0); + $34 = HEAP16[$33>>1]|0; + $35 = $34&65535; + $36 = (($32) + ($35)|0); + $37 = ((($36)) + -1|0); + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 56|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 20|0); + $43 = HEAP16[$42>>1]|0; + $44 = $43&65535; + $45 = (($40) + ($44)|0); + $46 = ($37>>>0)>($45>>>0); + if ($46) { + $47 = (_sqlite3CorruptError(64249)|0); + HEAP32[$3>>2] = $47; + $113 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($113|0); + } + $48 = HEAP32[$5>>2]|0; + $49 = ((($8)) + 18|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = (($48) + ($51)|0); + $53 = ((($52)) + -4|0); + $54 = (_sqlite3Get4byte($53)|0); + HEAP32[$9>>2] = $54; + $55 = HEAP32[$7>>2]|0; + $56 = ((($55)) + 36|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($57) - 4)|0; + HEAP32[$12>>2] = $58; + $59 = ((($8)) + 12|0); + $60 = HEAP32[$59>>2]|0; + $61 = ((($8)) + 16|0); + $62 = HEAP16[$61>>1]|0; + $63 = $62&65535; + $64 = (($60) - ($63))|0; + $65 = HEAP32[$12>>2]|0; + $66 = (($64) + ($65))|0; + $67 = (($66) - 1)|0; + $68 = HEAP32[$12>>2]|0; + $69 = (($67>>>0) / ($68>>>0))&-1; + HEAP32[$11>>2] = $69; + while(1) { + $70 = HEAP32[$11>>2]|0; + $71 = (($70) + -1)|0; + HEAP32[$11>>2] = $71; + $72 = ($70|0)!=(0); + if (!($72)) { + label = 23; + break; + } + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + $73 = HEAP32[$9>>2]|0; + $74 = ($73>>>0)<(2); + if ($74) { + label = 9; + break; + } + $75 = HEAP32[$9>>2]|0; + $76 = HEAP32[$7>>2]|0; + $77 = (_btreePagecount($76)|0); + $78 = ($75>>>0)>($77>>>0); + if ($78) { + label = 9; + break; + } + $80 = HEAP32[$11>>2]|0; + $81 = ($80|0)!=(0); + if ($81) { + $82 = HEAP32[$7>>2]|0; + $83 = HEAP32[$9>>2]|0; + $84 = (_getOverflowPage($82,$83,$14,$13)|0); + HEAP32[$10>>2] = $84; + $85 = HEAP32[$10>>2]|0; + $86 = ($85|0)!=(0); + if ($86) { + label = 12; + break; + } + } + $88 = HEAP32[$14>>2]|0; + $89 = ($88|0)!=(0|0); + if ($89) { + label = 15; + } else { + $90 = HEAP32[$7>>2]|0; + $91 = HEAP32[$9>>2]|0; + $92 = (_btreePageLookup($90,$91)|0); + HEAP32[$14>>2] = $92; + $93 = ($92|0)!=(0|0); + if ($93) { + label = 15; + } else { + label = 17; + } + } + if ((label|0) == 15) { + label = 0; + $94 = HEAP32[$14>>2]|0; + $95 = ((($94)) + 72|0); + $96 = HEAP32[$95>>2]|0; + $97 = (_sqlite3PagerPageRefcount($96)|0); + $98 = ($97|0)!=(1); + if ($98) { + $99 = (_sqlite3CorruptError(64285)|0); + HEAP32[$10>>2] = $99; + } else { + label = 17; + } + } + if ((label|0) == 17) { + label = 0; + $100 = HEAP32[$7>>2]|0; + $101 = HEAP32[$14>>2]|0; + $102 = HEAP32[$9>>2]|0; + $103 = (_freePage2($100,$101,$102)|0); + HEAP32[$10>>2] = $103; + } + $104 = HEAP32[$14>>2]|0; + $105 = ($104|0)!=(0|0); + if ($105) { + $106 = HEAP32[$14>>2]|0; + $107 = ((($106)) + 72|0); + $108 = HEAP32[$107>>2]|0; + _sqlite3PagerUnref($108); + } + $109 = HEAP32[$10>>2]|0; + $110 = ($109|0)!=(0); + if ($110) { + label = 21; + break; + } + $112 = HEAP32[$13>>2]|0; + HEAP32[$9>>2] = $112; + } + if ((label|0) == 9) { + $79 = (_sqlite3CorruptError(64265)|0); + HEAP32[$3>>2] = $79; + $113 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($113|0); + } + else if ((label|0) == 12) { + $87 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $87; + $113 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($113|0); + } + else if ((label|0) == 21) { + $111 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $111; + $113 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($113|0); + } + else if ((label|0) == 23) { + HEAP32[$3>>2] = 0; + $113 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($113|0); + } + return (0)|0; +} +function _freePage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 52|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 84|0); + $13 = HEAP32[$12>>2]|0; + $14 = (_freePage2($9,$10,$13)|0); + $15 = HEAP32[$3>>2]|0; + HEAP32[$15>>2] = $14; + STACKTOP = sp;return; +} +function _freePage2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $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; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$9>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ($17>>>0)<(2); + if ($18) { + $19 = (_sqlite3CorruptError(64103)|0); + HEAP32[$3>>2] = $19; + $176 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($176|0); + } + $20 = HEAP32[$5>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = $22; + $23 = HEAP32[$10>>2]|0; + $24 = ((($23)) + 72|0); + $25 = HEAP32[$24>>2]|0; + _sqlite3PagerRef($25); + } else { + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = (_btreePageLookup($26,$27)|0); + HEAP32[$10>>2] = $28; + } + $29 = HEAP32[$9>>2]|0; + $30 = ((($29)) + 72|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3PagerWrite($31)|0); + HEAP32[$11>>2] = $32; + $33 = HEAP32[$11>>2]|0; + $34 = ($33|0)!=(0); + do { + if (!($34)) { + $35 = HEAP32[$9>>2]|0; + $36 = ((($35)) + 56|0); + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 36|0); + $39 = (_sqlite3Get4byte($38)|0); + HEAP32[$12>>2] = $39; + $40 = HEAP32[$9>>2]|0; + $41 = ((($40)) + 56|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 36|0); + $44 = HEAP32[$12>>2]|0; + $45 = (($44) + 1)|0; + _sqlite3Put4byte($43,$45); + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 22|0); + $48 = HEAP16[$47>>1]|0; + $49 = $48&65535; + $50 = $49 & 4; + $51 = ($50|0)!=(0); + if ($51) { + $52 = HEAP32[$10>>2]|0; + $53 = ($52|0)!=(0|0); + if (!($53)) { + $54 = HEAP32[$4>>2]|0; + $55 = HEAP32[$6>>2]|0; + $56 = (_btreeGetPage($54,$55,$10,0)|0); + HEAP32[$11>>2] = $56; + $57 = ($56|0)!=(0); + if ($57) { + break; + } + } + $58 = HEAP32[$10>>2]|0; + $59 = ((($58)) + 72|0); + $60 = HEAP32[$59>>2]|0; + $61 = (_sqlite3PagerWrite($60)|0); + HEAP32[$11>>2] = $61; + $62 = ($61|0)!=(0); + if ($62) { + break; + } + $63 = HEAP32[$10>>2]|0; + $64 = ((($63)) + 56|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$10>>2]|0; + $67 = ((($66)) + 52|0); + $68 = HEAP32[$67>>2]|0; + $69 = ((($68)) + 32|0); + $70 = HEAP32[$69>>2]|0; + _memset(($65|0),0,($70|0))|0; + } + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 17|0); + $73 = HEAP8[$72>>0]|0; + $74 = ($73<<24>>24)!=(0); + if ($74) { + $75 = HEAP32[$4>>2]|0; + $76 = HEAP32[$6>>2]|0; + _ptrmapPut($75,$76,2,0,$11); + $77 = HEAP32[$11>>2]|0; + $78 = ($77|0)!=(0); + if ($78) { + break; + } + } + $79 = HEAP32[$12>>2]|0; + $80 = ($79|0)!=(0); + if ($80) { + $81 = HEAP32[$9>>2]|0; + $82 = ((($81)) + 56|0); + $83 = HEAP32[$82>>2]|0; + $84 = ((($83)) + 32|0); + $85 = (_sqlite3Get4byte($84)|0); + HEAP32[$8>>2] = $85; + $86 = HEAP32[$4>>2]|0; + $87 = HEAP32[$8>>2]|0; + $88 = (_btreeGetPage($86,$87,$7,0)|0); + HEAP32[$11>>2] = $88; + $89 = HEAP32[$11>>2]|0; + $90 = ($89|0)!=(0); + if ($90) { + break; + } + $91 = HEAP32[$7>>2]|0; + $92 = ((($91)) + 56|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($93)) + 4|0); + $95 = (_sqlite3Get4byte($94)|0); + HEAP32[$13>>2] = $95; + $96 = HEAP32[$13>>2]|0; + $97 = HEAP32[$4>>2]|0; + $98 = ((($97)) + 36|0); + $99 = HEAP32[$98>>2]|0; + $100 = (($99>>>0) / 4)&-1; + $101 = (($100) - 2)|0; + $102 = ($96>>>0)>($101>>>0); + if ($102) { + $103 = (_sqlite3CorruptError(64156)|0); + HEAP32[$11>>2] = $103; + break; + } + $104 = HEAP32[$13>>2]|0; + $105 = HEAP32[$4>>2]|0; + $106 = ((($105)) + 36|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107>>>0) / 4)&-1; + $109 = (($108) - 8)|0; + $110 = ($104>>>0)<($109>>>0); + if ($110) { + $111 = HEAP32[$7>>2]|0; + $112 = ((($111)) + 72|0); + $113 = HEAP32[$112>>2]|0; + $114 = (_sqlite3PagerWrite($113)|0); + HEAP32[$11>>2] = $114; + $115 = HEAP32[$11>>2]|0; + $116 = ($115|0)==(0); + if (!($116)) { + break; + } + $117 = HEAP32[$7>>2]|0; + $118 = ((($117)) + 56|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($119)) + 4|0); + $121 = HEAP32[$13>>2]|0; + $122 = (($121) + 1)|0; + _sqlite3Put4byte($120,$122); + $123 = HEAP32[$7>>2]|0; + $124 = ((($123)) + 56|0); + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$13>>2]|0; + $127 = $126<<2; + $128 = (8 + ($127))|0; + $129 = (($125) + ($128)|0); + $130 = HEAP32[$6>>2]|0; + _sqlite3Put4byte($129,$130); + $131 = HEAP32[$10>>2]|0; + $132 = ($131|0)!=(0|0); + if ($132) { + $133 = HEAP32[$4>>2]|0; + $134 = ((($133)) + 22|0); + $135 = HEAP16[$134>>1]|0; + $136 = $135&65535; + $137 = $136 & 4; + $138 = ($137|0)==(0); + if ($138) { + $139 = HEAP32[$10>>2]|0; + $140 = ((($139)) + 72|0); + $141 = HEAP32[$140>>2]|0; + _sqlite3PagerDontWrite($141); + } + } + $142 = HEAP32[$4>>2]|0; + $143 = HEAP32[$6>>2]|0; + $144 = (_btreeSetHasContent($142,$143)|0); + HEAP32[$11>>2] = $144; + break; + } + } + $145 = HEAP32[$10>>2]|0; + $146 = ($145|0)==(0|0); + if ($146) { + $147 = HEAP32[$4>>2]|0; + $148 = HEAP32[$6>>2]|0; + $149 = (_btreeGetPage($147,$148,$10,0)|0); + HEAP32[$11>>2] = $149; + $150 = (0)!=($149|0); + if ($150) { + break; + } + } + $151 = HEAP32[$10>>2]|0; + $152 = ((($151)) + 72|0); + $153 = HEAP32[$152>>2]|0; + $154 = (_sqlite3PagerWrite($153)|0); + HEAP32[$11>>2] = $154; + $155 = HEAP32[$11>>2]|0; + $156 = ($155|0)!=(0); + if (!($156)) { + $157 = HEAP32[$10>>2]|0; + $158 = ((($157)) + 56|0); + $159 = HEAP32[$158>>2]|0; + $160 = HEAP32[$8>>2]|0; + _sqlite3Put4byte($159,$160); + $161 = HEAP32[$10>>2]|0; + $162 = ((($161)) + 56|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($163)) + 4|0); + _sqlite3Put4byte($164,0); + $165 = HEAP32[$9>>2]|0; + $166 = ((($165)) + 56|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($167)) + 32|0); + $169 = HEAP32[$6>>2]|0; + _sqlite3Put4byte($168,$169); + } + } + } while(0); + $170 = HEAP32[$10>>2]|0; + $171 = ($170|0)!=(0|0); + if ($171) { + $172 = HEAP32[$10>>2]|0; + HEAP8[$172>>0] = 0; + } + $173 = HEAP32[$10>>2]|0; + _releasePage($173); + $174 = HEAP32[$7>>2]|0; + _releasePage($174); + $175 = HEAP32[$11>>2]|0; + HEAP32[$3>>2] = $175; + $176 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($176|0); +} +function _sqlite3PagerRef($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3PcacheRef($2); + STACKTOP = sp;return; +} +function _btreePageLookup($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (_sqlite3PagerLookup($7,$8)|0); + HEAP32[$5>>2] = $9; + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = (_btreePageFromDbPage($12,$13,$14)|0); + HEAP32[$2>>2] = $15; + $16 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($16|0); + } else { + HEAP32[$2>>2] = 0; + $16 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($16|0); + } + return (0)|0; +} +function _sqlite3PagerDontWrite($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 16|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 13|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)!=(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + $14 = $13 & 2; + $15 = ($14|0)!=(0); + if (!($15)) { + STACKTOP = sp;return; + } + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 104|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + STACKTOP = sp;return; + } + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = $23 | 16; + $25 = $24&65535; + HEAP16[$21>>1] = $25; + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 24|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28&65535; + $30 = $29 & -5; + $31 = $30&65535; + HEAP16[$27>>1] = $31; + STACKTOP = sp;return; +} +function _btreeSetHasContent($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 60|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 44|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3BitvecCreate($11)|0); + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 60|0); + HEAP32[$14>>2] = $12; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 60|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + if (!($18)) { + HEAP32[$4>>2] = 7; + } + } + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)==(0); + if (!($20)) { + $32 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($32|0); + } + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 60|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_sqlite3BitvecSize($24)|0); + $26 = ($21>>>0)<=($25>>>0); + if (!($26)) { + $32 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($32|0); + } + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 60|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = (_sqlite3BitvecSet($29,$30)|0); + HEAP32[$4>>2] = $31; + $32 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _sqlite3PcacheRef($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 26|0); + $4 = HEAP16[$3>>1]|0; + $5 = (($4) + 1)<<16>>16; + HEAP16[$3>>1] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 28|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _btreeDropTable($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$8>>2] = 0; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$9>>2] = $14; + $15 = HEAP32[$9>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + HEAP32[$3>>2] = 262; + $96 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($96|0); + } + $19 = HEAP32[$5>>2]|0; + $20 = ($19>>>0)<(2); + if ($20) { + $21 = (_sqlite3CorruptError(66814)|0); + HEAP32[$3>>2] = $21; + $96 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($96|0); + } + $22 = HEAP32[$9>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = (_btreeGetPage($22,$23,$8,0)|0); + HEAP32[$7>>2] = $24; + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $27; + $96 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($96|0); + } + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = (_sqlite3BtreeClearTable($28,$29,0)|0); + HEAP32[$7>>2] = $30; + $31 = HEAP32[$7>>2]|0; + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$8>>2]|0; + _releasePage($33); + $34 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $34; + $96 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($96|0); + } + $35 = HEAP32[$6>>2]|0; + HEAP32[$35>>2] = 0; + $36 = HEAP32[$9>>2]|0; + $37 = ((($36)) + 17|0); + $38 = HEAP8[$37>>0]|0; + $39 = ($38<<24>>24)!=(0); + if ($39) { + $40 = HEAP32[$4>>2]|0; + _sqlite3BtreeGetMeta($40,4,$10); + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$10>>2]|0; + $43 = ($41|0)==($42|0); + $44 = HEAP32[$8>>2]|0; + do { + if ($43) { + _freePage($44,$7); + $45 = HEAP32[$8>>2]|0; + _releasePage($45); + $46 = HEAP32[$7>>2]|0; + $47 = ($46|0)!=(0); + if ($47) { + $48 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $48; + $96 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($96|0); + } + } else { + _releasePage($44); + $49 = HEAP32[$9>>2]|0; + $50 = HEAP32[$10>>2]|0; + $51 = (_btreeGetPage($49,$50,$11,0)|0); + HEAP32[$7>>2] = $51; + $52 = HEAP32[$7>>2]|0; + $53 = ($52|0)!=(0); + if ($53) { + $54 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $54; + $96 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($96|0); + } + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$11>>2]|0; + $57 = HEAP32[$5>>2]|0; + $58 = (_relocatePage($55,$56,1,0,$57,0)|0); + HEAP32[$7>>2] = $58; + $59 = HEAP32[$11>>2]|0; + _releasePage($59); + $60 = HEAP32[$7>>2]|0; + $61 = ($60|0)!=(0); + if ($61) { + $62 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $62; + $96 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($96|0); + } + HEAP32[$11>>2] = 0; + $63 = HEAP32[$9>>2]|0; + $64 = HEAP32[$10>>2]|0; + $65 = (_btreeGetPage($63,$64,$11,0)|0); + HEAP32[$7>>2] = $65; + $66 = HEAP32[$11>>2]|0; + _freePage($66,$7); + $67 = HEAP32[$11>>2]|0; + _releasePage($67); + $68 = HEAP32[$7>>2]|0; + $69 = ($68|0)!=(0); + if (!($69)) { + $71 = HEAP32[$10>>2]|0; + $72 = HEAP32[$6>>2]|0; + HEAP32[$72>>2] = $71; + break; + } + $70 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $70; + $96 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($96|0); + } + } while(0); + $73 = HEAP32[$10>>2]|0; + $74 = (($73) + -1)|0; + HEAP32[$10>>2] = $74; + while(1) { + $75 = HEAP32[$10>>2]|0; + $76 = HEAP32[482]|0; + $77 = HEAP32[$9>>2]|0; + $78 = ((($77)) + 32|0); + $79 = HEAP32[$78>>2]|0; + $80 = (($76>>>0) / ($79>>>0))&-1; + $81 = (($80) + 1)|0; + $82 = ($75|0)==($81|0); + if (!($82)) { + $83 = HEAP32[$9>>2]|0; + $84 = HEAP32[$10>>2]|0; + $85 = (_ptrmapPageno($83,$84)|0); + $86 = HEAP32[$10>>2]|0; + $87 = ($85|0)==($86|0); + if (!($87)) { + break; + } + } + $88 = HEAP32[$10>>2]|0; + $89 = (($88) + -1)|0; + HEAP32[$10>>2] = $89; + } + $90 = HEAP32[$4>>2]|0; + $91 = HEAP32[$10>>2]|0; + $92 = (_sqlite3BtreeUpdateMeta($90,4,$91)|0); + HEAP32[$7>>2] = $92; + } else { + $93 = HEAP32[$8>>2]|0; + _freePage($93,$7); + $94 = HEAP32[$8>>2]|0; + _releasePage($94); + } + $95 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $95; + $96 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($96|0); +} +function _vdbeSorterFlushPMA($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $12 = 0; + var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $1 = sp + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + HEAP32[$5>>2] = 0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 59|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = (($13) - 1)|0; + HEAP32[$6>>2] = $14; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 56|0); + HEAP8[$16>>0] = 1; + HEAP32[$4>>2] = 0; + while(1) { + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = ($17|0)<($18|0); + if (!($19)) { + break; + } + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 58|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = HEAP32[$4>>2]|0; + $25 = (($23) + ($24))|0; + $26 = (($25) + 1)|0; + $27 = HEAP32[$6>>2]|0; + $28 = (($26|0) % ($27|0))&-1; + HEAP32[$7>>2] = $28; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 64|0); + $31 = HEAP32[$7>>2]|0; + $32 = (($30) + (($31*72)|0)|0); + HEAP32[$5>>2] = $32; + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$5>>2]|0; + $38 = (_vdbeSorterJoinThread($37)|0); + HEAP32[$3>>2] = $38; + } + $39 = HEAP32[$3>>2]|0; + $40 = ($39|0)!=(0); + if ($40) { + break; + } + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + break; + } + $44 = HEAP32[$4>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$4>>2] = $45; + } + $46 = HEAP32[$3>>2]|0; + $47 = ($46|0)==(0); + do { + if ($47) { + $48 = HEAP32[$4>>2]|0; + $49 = HEAP32[$6>>2]|0; + $50 = ($48|0)==($49|0); + if ($50) { + $51 = HEAP32[$2>>2]|0; + $52 = ((($51)) + 64|0); + $53 = HEAP32[$6>>2]|0; + $54 = (($52) + (($53*72)|0)|0); + $55 = HEAP32[$2>>2]|0; + $56 = ((($55)) + 36|0); + $57 = (_vdbeSorterListToPMA($54,$56)|0); + HEAP32[$3>>2] = $57; + break; + } + $58 = HEAP32[$5>>2]|0; + $59 = ((($58)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + HEAP32[$8>>2] = $61; + $62 = HEAP32[$5>>2]|0; + HEAP32[$9>>2] = $62; + $63 = HEAP32[$5>>2]|0; + $64 = HEAP32[$2>>2]|0; + $65 = ((($64)) + 64|0); + $66 = $63; + $67 = $65; + $68 = (($66) - ($67))|0; + $69 = (($68|0) / 72)&-1; + $70 = $69&255; + $71 = HEAP32[$2>>2]|0; + $72 = ((($71)) + 58|0); + HEAP8[$72>>0] = $70; + $73 = HEAP32[$5>>2]|0; + $74 = ((($73)) + 16|0); + $75 = HEAP32[$2>>2]|0; + $76 = ((($75)) + 36|0); + ;HEAP32[$74>>2]=HEAP32[$76>>2]|0;HEAP32[$74+4>>2]=HEAP32[$76+4>>2]|0;HEAP32[$74+8>>2]=HEAP32[$76+8>>2]|0; + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 36|0); + HEAP32[$78>>2] = 0; + $79 = HEAP32[$2>>2]|0; + $80 = ((($79)) + 36|0); + $81 = ((($80)) + 8|0); + HEAP32[$81>>2] = 0; + $82 = HEAP32[$8>>2]|0; + $83 = ($82|0)!=(0|0); + if ($83) { + $84 = HEAP32[$8>>2]|0; + $85 = HEAP32[$2>>2]|0; + $86 = ((($85)) + 36|0); + $87 = ((($86)) + 4|0); + HEAP32[$87>>2] = $84; + $88 = HEAP32[$8>>2]|0; + $89 = (_sqlite3MallocSize($88)|0); + $90 = HEAP32[$2>>2]|0; + $91 = ((($90)) + 52|0); + HEAP32[$91>>2] = $89; + } else { + $92 = HEAP32[$2>>2]|0; + $93 = ((($92)) + 36|0); + $94 = ((($93)) + 4|0); + $95 = HEAP32[$94>>2]|0; + $96 = ($95|0)!=(0|0); + if ($96) { + $97 = HEAP32[$2>>2]|0; + $98 = ((($97)) + 52|0); + $99 = HEAP32[$98>>2]|0; + $100 = ($99|0)<(0); + $101 = $100 << 31 >> 31; + $102 = (_sqlite3Malloc($99,$101)|0); + $103 = HEAP32[$2>>2]|0; + $104 = ((($103)) + 36|0); + $105 = ((($104)) + 4|0); + HEAP32[$105>>2] = $102; + $106 = HEAP32[$2>>2]|0; + $107 = ((($106)) + 36|0); + $108 = ((($107)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)!=(0|0); + if (!($110)) { + HEAP32[$1>>2] = 7; + $115 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($115|0); + } + } + } + $111 = HEAP32[$5>>2]|0; + $112 = HEAP32[$9>>2]|0; + $113 = (_vdbeSorterCreateThread($111,194,$112)|0); + HEAP32[$3>>2] = $113; + } + } while(0); + $114 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $114; + $115 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($115|0); +} +function _vdbeSorterListToPMA($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0; + var dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 60|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp; + $7 = sp + 44|0; + $8 = sp + 40|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $13; + HEAP32[$5>>2] = 0; + dest=$6; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 40|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0|0); + if ($17) { + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 40|0); + $21 = (_vdbeSorterOpenTempFile($18,0,0,$20)|0); + HEAP32[$5>>2] = $21; + } + $22 = HEAP32[$5>>2]|0; + $23 = ($22|0)==(0); + if ($23) { + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = (_vdbeSorterSort($24,$25)|0); + HEAP32[$5>>2] = $26; + } + $27 = HEAP32[$5>>2]|0; + $28 = ($27|0)==(0); + if (!($28)) { + $81 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($81|0); + } + HEAP32[$8>>2] = 0; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 40|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 40|0); + $39 = ((($38)) + 8|0); + $40 = $39; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + _vdbePmaWriterInit($31,$6,$36,$42,$45); + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 28|0); + $48 = HEAP32[$47>>2]|0; + $49 = (($48) + 1)|0; + HEAP32[$47>>2] = $49; + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)<(0); + $54 = $53 << 31 >> 31; + _vdbePmaWriteVarint($6,$52,$54); + $55 = HEAP32[$3>>2]|0; + $56 = HEAP32[$55>>2]|0; + HEAP32[$7>>2] = $56; + while(1) { + $57 = HEAP32[$7>>2]|0; + $58 = ($57|0)!=(0|0); + $59 = HEAP32[$7>>2]|0; + if (!($58)) { + break; + } + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + HEAP32[$8>>2] = $61; + $62 = HEAP32[$7>>2]|0; + $63 = HEAP32[$62>>2]|0; + $64 = ($63|0)<(0); + $65 = $64 << 31 >> 31; + _vdbePmaWriteVarint($6,$63,$65); + $66 = HEAP32[$7>>2]|0; + $67 = ((($66)) + 8|0); + $68 = HEAP32[$7>>2]|0; + $69 = HEAP32[$68>>2]|0; + _vdbePmaWriteBlob($6,$67,$69); + $70 = HEAP32[$3>>2]|0; + $71 = ((($70)) + 4|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($72|0)==(0|0); + if ($73) { + $74 = HEAP32[$7>>2]|0; + _sqlite3_free($74); + } + $75 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $75; + } + $76 = HEAP32[$3>>2]|0; + HEAP32[$76>>2] = $59; + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 40|0); + $79 = ((($78)) + 8|0); + $80 = (_vdbePmaWriterFinish($6,$79)|0); + HEAP32[$5>>2] = $80; + $81 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($81|0); +} +function _vdbeSorterFlushThread($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 16|0); + $8 = (_vdbeSorterListToPMA($5,$7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 4|0); + HEAP32[$10>>2] = 1; + $11 = HEAP32[$3>>2]|0; + $12 = $11; + STACKTOP = sp;return ($12|0); +} +function _vdbeSorterCreateThread($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + $9 = (_sqlite3ThreadCreate($6,$7,$8)|0); + STACKTOP = sp;return ($9|0); +} +function _sqlite3ThreadCreate($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$4>>2]|0; + HEAP32[$9>>2] = 0; + $10 = (_sqlite3Malloc(20,0)|0); + HEAP32[$7>>2] = $10; + $11 = HEAP32[$7>>2]|0; + $12 = ($11|0)==(0|0); + if ($12) { + HEAP32[$3>>2] = 7; + $37 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($37|0); + } + $13 = HEAP32[$7>>2]|0; + ;HEAP32[$13>>2]=0|0;HEAP32[$13+4>>2]=0|0;HEAP32[$13+8>>2]=0|0;HEAP32[$13+12>>2]=0|0;HEAP32[$13+16>>2]=0|0; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = ((($15)) + 12|0); + HEAP32[$16>>2] = $14; + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$7>>2]|0; + $19 = ((($18)) + 16|0); + HEAP32[$19>>2] = $17; + $20 = (_sqlite3FaultSim(200)|0); + $21 = ($20|0)!=(0); + if ($21) { + HEAP32[$8>>2] = 1; + } else { + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = (_pthread_create(($22|0),(0|0),($23|0),($24|0))|0); + HEAP32[$8>>2] = $25; + } + $26 = HEAP32[$8>>2]|0; + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$7>>2]|0; + $29 = ((($28)) + 4|0); + HEAP32[$29>>2] = 1; + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = (FUNCTION_TABLE_ii[$30 & 255]($31)|0); + $33 = HEAP32[$7>>2]|0; + $34 = ((($33)) + 8|0); + HEAP32[$34>>2] = $32; + } + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$4>>2]|0; + HEAP32[$36>>2] = $35; + HEAP32[$3>>2] = 0; + $37 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($37|0); +} +function _vdbeSorterOpenTempFile($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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp; + HEAP32[$5>>2] = $0; + $10 = $6; + $11 = $10; + HEAP32[$11>>2] = $1; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $2; + HEAP32[$7>>2] = $3; + $14 = (_sqlite3FaultSim(202)|0); + $15 = ($14|0)!=(0); + if ($15) { + HEAP32[$4>>2] = 3338; + $29 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($29|0); + } + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$7>>2]|0; + $19 = (_sqlite3OsOpenMalloc($17,0,$18,4126,$8)|0); + HEAP32[$8>>2] = $19; + $20 = HEAP32[$8>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + $22 = $9; + $23 = $22; + HEAP32[$23>>2] = 0; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = 0; + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$26>>2]|0; + _sqlite3OsFileControlHint($27,18,$9); + } + $28 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $28; + $29 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($29|0); +} +function _vdbeSorterSort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $10 = HEAP32[$3>>2]|0; + $11 = (_vdbeSortAllocUnpacked($10)|0); + HEAP32[$8>>2] = $11; + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$8>>2]|0; + HEAP32[$2>>2] = $14; + $102 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($102|0); + } + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$7>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_vdbeSorterGetCompare($19)|0); + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 32|0); + HEAP32[$22>>2] = $20; + $23 = (_sqlite3MallocZero(256,0)|0); + HEAP32[$6>>2] = $23; + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { + HEAP32[$2>>2] = 7; + $102 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($102|0); + } + while(1) { + $26 = HEAP32[$7>>2]|0; + $27 = ($26|0)!=(0|0); + if (!($27)) { + break; + } + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0|0); + $32 = HEAP32[$7>>2]|0; + do { + if ($31) { + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($32|0)==($35|0); + if ($36) { + HEAP32[$9>>2] = 0; + break; + } else { + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = (($39) + ($42)|0); + HEAP32[$9>>2] = $43; + break; + } + } else { + $44 = ((($32)) + 4|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$9>>2] = $45; + } + } while(0); + $46 = HEAP32[$7>>2]|0; + $47 = ((($46)) + 4|0); + HEAP32[$47>>2] = 0; + HEAP32[$5>>2] = 0; + while(1) { + $48 = HEAP32[$6>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = (($48) + ($49<<2)|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)!=(0|0); + if (!($52)) { + break; + } + $53 = HEAP32[$3>>2]|0; + $54 = HEAP32[$7>>2]|0; + $55 = HEAP32[$6>>2]|0; + $56 = HEAP32[$5>>2]|0; + $57 = (($55) + ($56<<2)|0); + $58 = HEAP32[$57>>2]|0; + $59 = (_vdbeSorterMerge($53,$54,$58)|0); + HEAP32[$7>>2] = $59; + $60 = HEAP32[$6>>2]|0; + $61 = HEAP32[$5>>2]|0; + $62 = (($60) + ($61<<2)|0); + HEAP32[$62>>2] = 0; + $63 = HEAP32[$5>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$5>>2] = $64; + } + $65 = HEAP32[$7>>2]|0; + $66 = HEAP32[$6>>2]|0; + $67 = HEAP32[$5>>2]|0; + $68 = (($66) + ($67<<2)|0); + HEAP32[$68>>2] = $65; + $69 = HEAP32[$9>>2]|0; + HEAP32[$7>>2] = $69; + } + HEAP32[$7>>2] = 0; + HEAP32[$5>>2] = 0; + while(1) { + $70 = HEAP32[$5>>2]|0; + $71 = ($70|0)<(64); + if (!($71)) { + break; + } + $72 = HEAP32[$6>>2]|0; + $73 = HEAP32[$5>>2]|0; + $74 = (($72) + ($73<<2)|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($75|0)==(0|0); + if (!($76)) { + $77 = HEAP32[$7>>2]|0; + $78 = ($77|0)!=(0|0); + if ($78) { + $79 = HEAP32[$3>>2]|0; + $80 = HEAP32[$7>>2]|0; + $81 = HEAP32[$6>>2]|0; + $82 = HEAP32[$5>>2]|0; + $83 = (($81) + ($82<<2)|0); + $84 = HEAP32[$83>>2]|0; + $85 = (_vdbeSorterMerge($79,$80,$84)|0); + $90 = $85; + } else { + $86 = HEAP32[$6>>2]|0; + $87 = HEAP32[$5>>2]|0; + $88 = (($86) + ($87<<2)|0); + $89 = HEAP32[$88>>2]|0; + $90 = $89; + } + HEAP32[$7>>2] = $90; + } + $91 = HEAP32[$5>>2]|0; + $92 = (($91) + 1)|0; + HEAP32[$5>>2] = $92; + } + $93 = HEAP32[$7>>2]|0; + $94 = HEAP32[$4>>2]|0; + HEAP32[$94>>2] = $93; + $95 = HEAP32[$6>>2]|0; + _sqlite3_free($95); + $96 = HEAP32[$3>>2]|0; + $97 = ((($96)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = ((($98)) + 11|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100&255; + HEAP32[$2>>2] = $101; + $102 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($102|0); +} +function _vdbePmaWriterInit($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $7 = 0, $8 = 0, $9 = 0; + var dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + $9 = $8; + $10 = $9; + HEAP32[$10>>2] = $3; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $4; + $13 = HEAP32[$6>>2]|0; + dest=$13; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $14 = HEAP32[$7>>2]|0; + $15 = ($14|0)<(0); + $16 = $15 << 31 >> 31; + $17 = (_sqlite3Malloc($14,$16)|0); + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 4|0); + HEAP32[$19>>2] = $17; + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $25 = $8; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = ($31|0)<(0); + $33 = $32 << 31 >> 31; + $34 = (___remdi3(($27|0),($30|0),($31|0),($33|0))|0); + $35 = tempRet0; + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 12|0); + HEAP32[$37>>2] = $34; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 16|0); + HEAP32[$39>>2] = $34; + $40 = $8; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$6>>2]|0; + $47 = ((($46)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)<(0); + $50 = $49 << 31 >> 31; + $51 = (_i64Subtract(($42|0),($45|0),($48|0),($50|0))|0); + $52 = tempRet0; + $53 = HEAP32[$6>>2]|0; + $54 = ((($53)) + 24|0); + $55 = $54; + $56 = $55; + HEAP32[$56>>2] = $51; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $52; + $59 = HEAP32[$7>>2]|0; + $60 = HEAP32[$6>>2]|0; + $61 = ((($60)) + 8|0); + HEAP32[$61>>2] = $59; + $62 = HEAP32[$5>>2]|0; + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 32|0); + HEAP32[$64>>2] = $62; + STACKTOP = sp;return; + } else { + $24 = HEAP32[$6>>2]|0; + HEAP32[$24>>2] = 7; + STACKTOP = sp;return; + } +} +function _vdbePmaWriteVarint($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; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 12|0; + $4 = sp; + $5 = sp + 8|0; + $6 = sp + 16|0; + HEAP32[$3>>2] = $0; + $7 = $4; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = $4; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3PutVarint($6,$13,$16)|0); + HEAP32[$5>>2] = $17; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$5>>2]|0; + _vdbePmaWriteBlob($18,$6,$19); + STACKTOP = sp;return; +} +function _vdbePmaWriteBlob($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $12 = 0, $13 = 0; + var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $8; + while(1) { + $9 = HEAP32[$6>>2]|0; + $10 = ($9|0)>(0); + if (!($10)) { + label = 9; + break; + } + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + label = 9; + break; + } + $14 = HEAP32[$6>>2]|0; + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($18) - ($21))|0; + $23 = ($15|0)>($22|0); + if ($23) { + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($26) - ($29))|0; + HEAP32[$7>>2] = $30; + } + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 16|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($33) + ($36)|0); + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = (($39) - ($40))|0; + $42 = (($38) + ($41)|0); + $43 = HEAP32[$7>>2]|0; + _memcpy(($37|0),($42|0),($43|0))|0; + $44 = HEAP32[$7>>2]|0; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = (($47) + ($44))|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($51|0)==($54|0); + if ($55) { + $56 = HEAP32[$3>>2]|0; + $57 = ((($56)) + 32|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$3>>2]|0; + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 12|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($61) + ($64)|0); + $66 = HEAP32[$3>>2]|0; + $67 = ((($66)) + 16|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + $72 = (($68) - ($71))|0; + $73 = HEAP32[$3>>2]|0; + $74 = ((($73)) + 24|0); + $75 = $74; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$3>>2]|0; + $82 = ((($81)) + 12|0); + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)<(0); + $85 = $84 << 31 >> 31; + $86 = (_i64Add(($77|0),($80|0),($83|0),($85|0))|0); + $87 = tempRet0; + $88 = (_sqlite3OsWrite($58,$65,$72,$86,$87)|0); + $89 = HEAP32[$3>>2]|0; + HEAP32[$89>>2] = $88; + $90 = HEAP32[$3>>2]|0; + $91 = ((($90)) + 16|0); + HEAP32[$91>>2] = 0; + $92 = HEAP32[$3>>2]|0; + $93 = ((($92)) + 12|0); + HEAP32[$93>>2] = 0; + $94 = HEAP32[$3>>2]|0; + $95 = ((($94)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)<(0); + $98 = $97 << 31 >> 31; + $99 = HEAP32[$3>>2]|0; + $100 = ((($99)) + 24|0); + $101 = $100; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = (($101) + 4)|0; + $105 = $104; + $106 = HEAP32[$105>>2]|0; + $107 = (_i64Add(($103|0),($106|0),($96|0),($98|0))|0); + $108 = tempRet0; + $109 = $100; + $110 = $109; + HEAP32[$110>>2] = $107; + $111 = (($109) + 4)|0; + $112 = $111; + HEAP32[$112>>2] = $108; + } + $113 = HEAP32[$7>>2]|0; + $114 = HEAP32[$6>>2]|0; + $115 = (($114) - ($113))|0; + HEAP32[$6>>2] = $115; + } + if ((label|0) == 9) { + STACKTOP = sp;return; + } +} +function _vdbePmaWriterFinish($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, dest = 0, label = 0; + var sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($14|0)>($17|0); + if ($18) { + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 32|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($24) + ($27)|0); + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 16|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($31) - ($34))|0; + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)<(0); + $48 = $47 << 31 >> 31; + $49 = (_i64Add(($40|0),($43|0),($46|0),($48|0))|0); + $50 = tempRet0; + $51 = (_sqlite3OsWrite($21,$28,$35,$49,$50)|0); + $52 = HEAP32[$2>>2]|0; + HEAP32[$52>>2] = $51; + } + } + } + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 24|0); + $55 = $54; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$2>>2]|0; + $62 = ((($61)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($63|0)<(0); + $65 = $64 << 31 >> 31; + $66 = (_i64Add(($57|0),($60|0),($63|0),($65|0))|0); + $67 = tempRet0; + $68 = HEAP32[$3>>2]|0; + $69 = $68; + $70 = $69; + HEAP32[$70>>2] = $66; + $71 = (($69) + 4)|0; + $72 = $71; + HEAP32[$72>>2] = $67; + $73 = HEAP32[$2>>2]|0; + $74 = ((($73)) + 4|0); + $75 = HEAP32[$74>>2]|0; + _sqlite3_free($75); + $76 = HEAP32[$2>>2]|0; + $77 = HEAP32[$76>>2]|0; + HEAP32[$4>>2] = $77; + $78 = HEAP32[$2>>2]|0; + dest=$78; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $79 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($79|0); +} +function _vdbeSortAllocUnpacked($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0|0); + do { + if ($7) { + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3VdbeAllocUnpackedRecord($12,0,0,$3)|0); + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 12|0); + HEAP32[$15>>2] = $13; + $16 = HEAP32[$3>>2]|0; + $17 = ($16|0)==(0|0); + if (!($17)) { + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 28|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 6|0); + $24 = HEAP16[$23>>1]|0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($27)) + 8|0); + HEAP16[$28>>1] = $24; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 11|0); + HEAP8[$32>>0] = 0; + break; + } + HEAP32[$1>>2] = 7; + $33 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($33|0); + } + } while(0); + HEAP32[$1>>2] = 0; + $33 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($33|0); +} +function _vdbeSorterGetCompare($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 60|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)==(1); + do { + if ($7) { + HEAP32[$1>>2] = 145; + } else { + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 60|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(2); + if ($12) { + HEAP32[$1>>2] = 146; + break; + } else { + HEAP32[$1>>2] = 147; + break; + } + } + } while(0); + $13 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _vdbeSorterMerge($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $6; + HEAP32[$8>>2] = 0; + while(1) { + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 32|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = (FUNCTION_TABLE_iiiiiii[$12 & 255]($13,$8,$15,$17,$19,$21)|0); + HEAP32[$9>>2] = $22; + $23 = HEAP32[$9>>2]|0; + $24 = ($23|0)<=(0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + $26 = HEAP32[$7>>2]|0; + HEAP32[$26>>2] = $25; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 4|0); + HEAP32[$7>>2] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$4>>2] = $31; + $32 = HEAP32[$4>>2]|0; + $33 = ($32|0)==(0|0); + if ($33) { + label = 4; + break; + } else { + continue; + } + } else { + $36 = HEAP32[$5>>2]|0; + $37 = HEAP32[$7>>2]|0; + HEAP32[$37>>2] = $36; + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 4|0); + HEAP32[$7>>2] = $39; + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$5>>2] = $42; + HEAP32[$8>>2] = 0; + $43 = HEAP32[$5>>2]|0; + $44 = ($43|0)==(0|0); + if ($44) { + label = 6; + break; + } else { + continue; + } + } + } + if ((label|0) == 4) { + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$7>>2]|0; + HEAP32[$35>>2] = $34; + $47 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($47|0); + } + else if ((label|0) == 6) { + $45 = HEAP32[$4>>2]|0; + $46 = HEAP32[$7>>2]|0; + HEAP32[$46>>2] = $45; + $47 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($47|0); + } + return (0)|0; +} +function _vdbeSorterCompareInt($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + $19 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $20 = HEAP32[$8>>2]|0; + HEAP32[$12>>2] = $20; + $21 = HEAP32[$10>>2]|0; + HEAP32[$13>>2] = $21; + $22 = HEAP32[$12>>2]|0; + $23 = ((($22)) + 1|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + HEAP32[$14>>2] = $25; + $26 = HEAP32[$13>>2]|0; + $27 = ((($26)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + HEAP32[$15>>2] = $29; + $30 = HEAP32[$12>>2]|0; + $31 = HEAP32[$12>>2]|0; + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = (($30) + ($33)|0); + HEAP32[$16>>2] = $34; + $35 = HEAP32[$13>>2]|0; + $36 = HEAP32[$13>>2]|0; + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($35) + ($38)|0); + HEAP32[$17>>2] = $39; + $40 = HEAP32[$14>>2]|0; + $41 = ($40|0)>(7); + $42 = HEAP32[$15>>2]|0; + $43 = ($42|0)>(7); + $or$cond = $41 & $43; + $44 = HEAP32[$14>>2]|0; + $45 = HEAP32[$15>>2]|0; + L1: do { + if ($or$cond) { + $46 = (($44) - ($45))|0; + HEAP32[$18>>2] = $46; + } else { + $47 = ($44|0)==($45|0); + if ($47) { + $48 = HEAP32[$16>>2]|0; + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + $51 = HEAP32[$17>>2]|0; + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $50 ^ $53; + $55 = $54 & 128; + $56 = ($55|0)!=(0); + if ($56) { + $57 = HEAP32[$16>>2]|0; + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = $59 & 128; + $61 = ($60|0)!=(0); + $62 = $61 ? -1 : 1; + HEAP32[$18>>2] = $62; + break; + } + HEAP32[$18>>2] = 0; + HEAP32[$19>>2] = 0; + while(1) { + $63 = HEAP32[$19>>2]|0; + $64 = HEAP32[$14>>2]|0; + $65 = (40642 + ($64)|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = ($63|0)<($67|0); + if (!($68)) { + break L1; + } + $69 = HEAP32[$16>>2]|0; + $70 = HEAP32[$19>>2]|0; + $71 = (($69) + ($70)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = HEAP32[$17>>2]|0; + $75 = HEAP32[$19>>2]|0; + $76 = (($74) + ($75)|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = (($73) - ($78))|0; + HEAP32[$18>>2] = $79; + $80 = ($79|0)!=(0); + if ($80) { + break L1; + } + $81 = HEAP32[$19>>2]|0; + $82 = (($81) + 1)|0; + HEAP32[$19>>2] = $82; + } + } + $83 = HEAP32[$15>>2]|0; + $84 = ($83|0)>(7); + do { + if ($84) { + HEAP32[$18>>2] = 1; + } else { + $85 = HEAP32[$14>>2]|0; + $86 = ($85|0)>(7); + if ($86) { + HEAP32[$18>>2] = -1; + break; + } else { + $87 = HEAP32[$14>>2]|0; + $88 = HEAP32[$15>>2]|0; + $89 = (($87) - ($88))|0; + HEAP32[$18>>2] = $89; + break; + } + } + } while(0); + $90 = HEAP32[$18>>2]|0; + $91 = ($90|0)>(0); + if ($91) { + $92 = HEAP32[$16>>2]|0; + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $95 = $94 & 128; + $96 = ($95|0)!=(0); + if (!($96)) { + break; + } + HEAP32[$18>>2] = -1; + break; + } else { + $97 = HEAP32[$17>>2]|0; + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $100 = $99 & 128; + $101 = ($100|0)!=(0); + if (!($101)) { + break; + } + HEAP32[$18>>2] = 1; + break; + } + } + } while(0); + $102 = HEAP32[$18>>2]|0; + $103 = ($102|0)==(0); + $104 = HEAP32[$6>>2]|0; + $105 = ((($104)) + 8|0); + $106 = HEAP32[$105>>2]|0; + $107 = ((($106)) + 28|0); + $108 = HEAP32[$107>>2]|0; + if ($103) { + $109 = ((($108)) + 6|0); + $110 = HEAP16[$109>>1]|0; + $111 = $110&65535; + $112 = ($111|0)>(1); + if (!($112)) { + $126 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($126|0); + } + $113 = HEAP32[$6>>2]|0; + $114 = HEAP32[$7>>2]|0; + $115 = HEAP32[$8>>2]|0; + $116 = HEAP32[$9>>2]|0; + $117 = HEAP32[$10>>2]|0; + $118 = HEAP32[$11>>2]|0; + $119 = (_vdbeSorterCompareTail($113,$114,$115,$116,$117,$118)|0); + HEAP32[$18>>2] = $119; + $126 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($126|0); + } else { + $120 = ((($108)) + 16|0); + $121 = HEAP32[$120>>2]|0; + $122 = HEAP8[$121>>0]|0; + $123 = ($122<<24>>24)!=(0); + if (!($123)) { + $126 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($126|0); + } + $124 = HEAP32[$18>>2]|0; + $125 = Math_imul($124, -1)|0; + HEAP32[$18>>2] = $125; + $126 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($126|0); + } + return (0)|0; +} +function _vdbeSorterCompareText($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $19 = HEAP32[$8>>2]|0; + HEAP32[$12>>2] = $19; + $20 = HEAP32[$10>>2]|0; + HEAP32[$13>>2] = $20; + $21 = HEAP32[$12>>2]|0; + $22 = HEAP32[$12>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (($21) + ($24)|0); + HEAP32[$14>>2] = $25; + $26 = HEAP32[$13>>2]|0; + $27 = HEAP32[$13>>2]|0; + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (($26) + ($29)|0); + HEAP32[$15>>2] = $30; + $31 = HEAP32[$12>>2]|0; + $32 = ((($31)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = ($34|0)<(128); + $36 = HEAP32[$12>>2]|0; + $37 = ((($36)) + 1|0); + if ($35) { + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + HEAP32[$16>>2] = $39; + } else { + (_sqlite3GetVarint32($37,$16)|0); + } + $40 = HEAP32[$16>>2]|0; + $41 = (($40) - 13)|0; + $42 = (($41|0) / 2)&-1; + HEAP32[$16>>2] = $42; + $43 = HEAP32[$13>>2]|0; + $44 = ((($43)) + 1|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = ($46|0)<(128); + $48 = HEAP32[$13>>2]|0; + $49 = ((($48)) + 1|0); + if ($47) { + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + HEAP32[$17>>2] = $51; + } else { + (_sqlite3GetVarint32($49,$17)|0); + } + $52 = HEAP32[$17>>2]|0; + $53 = (($52) - 13)|0; + $54 = (($53|0) / 2)&-1; + HEAP32[$17>>2] = $54; + $55 = HEAP32[$14>>2]|0; + $56 = HEAP32[$15>>2]|0; + $57 = HEAP32[$16>>2]|0; + $58 = HEAP32[$17>>2]|0; + $59 = ($57|0)<($58|0); + $60 = HEAP32[$16>>2]|0; + $61 = HEAP32[$17>>2]|0; + $62 = $59 ? $60 : $61; + $63 = (_memcmp($55,$56,$62)|0); + HEAP32[$18>>2] = $63; + $64 = HEAP32[$18>>2]|0; + $65 = ($64|0)==(0); + if ($65) { + $66 = HEAP32[$16>>2]|0; + $67 = HEAP32[$17>>2]|0; + $68 = (($66) - ($67))|0; + HEAP32[$18>>2] = $68; + } + $69 = HEAP32[$18>>2]|0; + $70 = ($69|0)==(0); + $71 = HEAP32[$6>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($73)) + 28|0); + $75 = HEAP32[$74>>2]|0; + if ($70) { + $76 = ((($75)) + 6|0); + $77 = HEAP16[$76>>1]|0; + $78 = $77&65535; + $79 = ($78|0)>(1); + if (!($79)) { + $93 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($93|0); + } + $80 = HEAP32[$6>>2]|0; + $81 = HEAP32[$7>>2]|0; + $82 = HEAP32[$8>>2]|0; + $83 = HEAP32[$9>>2]|0; + $84 = HEAP32[$10>>2]|0; + $85 = HEAP32[$11>>2]|0; + $86 = (_vdbeSorterCompareTail($80,$81,$82,$83,$84,$85)|0); + HEAP32[$18>>2] = $86; + $93 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($93|0); + } else { + $87 = ((($75)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP8[$88>>0]|0; + $90 = ($89<<24>>24)!=(0); + if (!($90)) { + $93 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($93|0); + } + $91 = HEAP32[$18>>2]|0; + $92 = Math_imul($91, -1)|0; + HEAP32[$18>>2] = $92; + $93 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($93|0); + } + return (0)|0; +} +function _vdbeSorterCompare($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $13 = HEAP32[$6>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$12>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0); + if ($18) { + $28 = HEAP32[$9>>2]|0; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$12>>2]|0; + $31 = (_sqlite3VdbeRecordCompare($28,$29,$30)|0); + STACKTOP = sp;return ($31|0); + } + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 28|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$10>>2]|0; + $26 = HEAP32[$12>>2]|0; + _sqlite3VdbeRecordUnpack($23,$24,$25,$26); + $27 = HEAP32[$7>>2]|0; + HEAP32[$27>>2] = 1; + $28 = HEAP32[$9>>2]|0; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$12>>2]|0; + $31 = (_sqlite3VdbeRecordCompare($28,$29,$30)|0); + STACKTOP = sp;return ($31|0); +} +function _vdbeSorterCompareTail($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $13 = HEAP32[$6>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$12>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0); + if (!($18)) { + $28 = HEAP32[$9>>2]|0; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$12>>2]|0; + $31 = (_sqlite3VdbeRecordCompareWithSkip($28,$29,$30,1)|0); + STACKTOP = sp;return ($31|0); + } + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 28|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$10>>2]|0; + $26 = HEAP32[$12>>2]|0; + _sqlite3VdbeRecordUnpack($23,$24,$25,$26); + $27 = HEAP32[$7>>2]|0; + HEAP32[$27>>2] = 1; + $28 = HEAP32[$9>>2]|0; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$12>>2]|0; + $31 = (_sqlite3VdbeRecordCompareWithSkip($28,$29,$30,1)|0); + STACKTOP = sp;return ($31|0); +} +function _vdbePmaReaderNext($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp; + $5 = sp + 12|0; + $6 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + $7 = $4; + $8 = $7; + HEAP32[$8>>2] = 0; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 0; + $11 = HEAP32[$2>>2]|0; + $12 = $11; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 8|0); + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = ($17|0)>($25|0); + $27 = ($14>>>0)>=($22>>>0); + $28 = ($17|0)==($25|0); + $29 = $28 & $27; + $30 = $26 | $29; + if ($30) { + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 48|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$5>>2] = $33; + HEAP32[$6>>2] = 1; + $34 = HEAP32[$5>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = HEAP32[$5>>2]|0; + $37 = (_vdbeIncrSwap($36)|0); + HEAP32[$3>>2] = $37; + $38 = HEAP32[$3>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 20|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + $44 = HEAP32[$5>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$2>>2]|0; + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 32|0); + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 8|0); + $51 = $50; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (_vdbePmaReaderSeek($45,$46,$48,$53,$56)|0); + HEAP32[$3>>2] = $57; + HEAP32[$6>>2] = 0; + } + } + } + $58 = HEAP32[$6>>2]|0; + $59 = ($58|0)!=(0); + if ($59) { + $60 = HEAP32[$2>>2]|0; + _vdbePmaReaderClear($60); + $61 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $61; + $87 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($87|0); + } + } + $62 = HEAP32[$3>>2]|0; + $63 = ($62|0)==(0); + if ($63) { + $64 = HEAP32[$2>>2]|0; + $65 = (_vdbePmaReadVarint($64,$4)|0); + HEAP32[$3>>2] = $65; + } + $66 = HEAP32[$3>>2]|0; + $67 = ($66|0)==(0); + if ($67) { + $68 = $4; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$2>>2]|0; + $75 = ((($74)) + 20|0); + HEAP32[$75>>2] = $70; + $76 = HEAP32[$2>>2]|0; + $77 = $4; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + 4)|0; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 32|0); + $85 = (_vdbePmaReadBlob($76,$79,$84)|0); + HEAP32[$3>>2] = $85; + } + $86 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $86; + $87 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($87|0); +} +function _vdbeMergeEngineStep($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$5>>2] = $16; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$6>>2] = $19; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = (($22) + (($23*56)|0)|0); + $25 = (_vdbePmaReaderNext($24)|0); + HEAP32[$4>>2] = $25; + $26 = HEAP32[$4>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + HEAP32[$10>>2] = 0; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = $31 & 65534; + $33 = (($30) + (($32*56)|0)|0); + HEAP32[$8>>2] = $33; + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$5>>2]|0; + $38 = $37 | 1; + $39 = (($36) + (($38*56)|0)|0); + HEAP32[$9>>2] = $39; + $40 = HEAP32[$2>>2]|0; + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = (($41) + ($42))|0; + $44 = (($43|0) / 2)&-1; + HEAP32[$7>>2] = $44; + while(1) { + $45 = HEAP32[$7>>2]|0; + $46 = ($45|0)>(0); + if (!($46)) { + break; + } + $47 = HEAP32[$8>>2]|0; + $48 = ((($47)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0|0); + do { + if ($50) { + HEAP32[$11>>2] = 1; + } else { + $51 = HEAP32[$9>>2]|0; + $52 = ((($51)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==(0|0); + if ($54) { + HEAP32[$11>>2] = -1; + break; + } else { + $55 = HEAP32[$6>>2]|0; + $56 = ((($55)) + 32|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$6>>2]|0; + $59 = HEAP32[$8>>2]|0; + $60 = ((($59)) + 32|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$8>>2]|0; + $63 = ((($62)) + 20|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$9>>2]|0; + $66 = ((($65)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$9>>2]|0; + $69 = ((($68)) + 20|0); + $70 = HEAP32[$69>>2]|0; + $71 = (FUNCTION_TABLE_iiiiiii[$57 & 255]($58,$10,$61,$64,$67,$70)|0); + HEAP32[$11>>2] = $71; + break; + } + } + } while(0); + $72 = HEAP32[$11>>2]|0; + $73 = ($72|0)<(0); + do { + if ($73) { + label = 12; + } else { + $74 = HEAP32[$11>>2]|0; + $75 = ($74|0)==(0); + if ($75) { + $76 = HEAP32[$8>>2]|0; + $77 = HEAP32[$9>>2]|0; + $78 = ($76>>>0)<($77>>>0); + if ($78) { + label = 12; + break; + } + } + $103 = HEAP32[$8>>2]|0; + $104 = ((($103)) + 24|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105|0)!=(0|0); + if ($106) { + HEAP32[$10>>2] = 0; + } + $107 = HEAP32[$9>>2]|0; + $108 = HEAP32[$2>>2]|0; + $109 = ((($108)) + 12|0); + $110 = HEAP32[$109>>2]|0; + $111 = $107; + $112 = $110; + $113 = (($111) - ($112))|0; + $114 = (($113|0) / 56)&-1; + $115 = HEAP32[$2>>2]|0; + $116 = ((($115)) + 8|0); + $117 = HEAP32[$116>>2]|0; + $118 = HEAP32[$7>>2]|0; + $119 = (($117) + ($118<<2)|0); + HEAP32[$119>>2] = $114; + $120 = HEAP32[$2>>2]|0; + $121 = ((($120)) + 12|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$2>>2]|0; + $124 = ((($123)) + 8|0); + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$7>>2]|0; + $127 = $126 ^ 1; + $128 = (($125) + ($127<<2)|0); + $129 = HEAP32[$128>>2]|0; + $130 = (($122) + (($129*56)|0)|0); + HEAP32[$8>>2] = $130; + } + } while(0); + if ((label|0) == 12) { + label = 0; + $79 = HEAP32[$8>>2]|0; + $80 = HEAP32[$2>>2]|0; + $81 = ((($80)) + 12|0); + $82 = HEAP32[$81>>2]|0; + $83 = $79; + $84 = $82; + $85 = (($83) - ($84))|0; + $86 = (($85|0) / 56)&-1; + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 8|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$7>>2]|0; + $91 = (($89) + ($90<<2)|0); + HEAP32[$91>>2] = $86; + $92 = HEAP32[$2>>2]|0; + $93 = ((($92)) + 12|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$2>>2]|0; + $96 = ((($95)) + 8|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$7>>2]|0; + $99 = $98 ^ 1; + $100 = (($97) + ($99<<2)|0); + $101 = HEAP32[$100>>2]|0; + $102 = (($94) + (($101*56)|0)|0); + HEAP32[$9>>2] = $102; + HEAP32[$10>>2] = 0; + } + $131 = HEAP32[$7>>2]|0; + $132 = (($131|0) / 2)&-1; + HEAP32[$7>>2] = $132; + } + $133 = HEAP32[$2>>2]|0; + $134 = ((($133)) + 12|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$2>>2]|0; + $137 = ((($136)) + 8|0); + $138 = HEAP32[$137>>2]|0; + $139 = ((($138)) + 4|0); + $140 = HEAP32[$139>>2]|0; + $141 = (($135) + (($140*56)|0)|0); + $142 = ((($141)) + 24|0); + $143 = HEAP32[$142>>2]|0; + $144 = ($143|0)==(0|0); + $145 = $144&1; + $146 = HEAP32[$3>>2]|0; + HEAP32[$146>>2] = $145; + } + $147 = HEAP32[$4>>2]|0; + $148 = ($147|0)==(0); + if ($148) { + $149 = HEAP32[$6>>2]|0; + $150 = ((($149)) + 12|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 11|0); + $153 = HEAP8[$152>>0]|0; + $154 = $153&255; + $156 = $154; + STACKTOP = sp;return ($156|0); + } else { + $155 = HEAP32[$4>>2]|0; + $156 = $155; + STACKTOP = sp;return ($156|0); + } + return (0)|0; +} +function _vdbeIncrSwap($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 24|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = HEAP32[$1>>2]|0; + if (!($7)) { + $48 = (_vdbeIncrPopulate($8)|0); + HEAP32[$2>>2] = $48; + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 32|0); + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 32|0); + $53 = ((($52)) + 16|0); + ;HEAP32[$50>>2]=HEAP32[$53>>2]|0;HEAP32[$50+4>>2]=HEAP32[$53+4>>2]|0;HEAP32[$50+8>>2]=HEAP32[$53+8>>2]|0;HEAP32[$50+12>>2]=HEAP32[$53+12>>2]|0; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 32|0); + $56 = ((($55)) + 8|0); + $57 = $56; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 8|0); + $65 = $64; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (($65) + 4)|0; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = ($59|0)==($67|0); + $72 = ($62|0)==($70|0); + $73 = $71 & $72; + if (!($73)) { + $76 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($76|0); + } + $74 = HEAP32[$1>>2]|0; + $75 = ((($74)) + 20|0); + HEAP32[$75>>2] = 1; + $76 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($76|0); + } + $9 = HEAP32[$8>>2]|0; + $10 = (_vdbeSorterJoinThread($9)|0); + HEAP32[$2>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = ($11|0)==(0); + if ($12) { + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 32|0); + ;HEAP32[$3>>2]=HEAP32[$14>>2]|0;HEAP32[$3+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[$14+12>>2]|0; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 32|0); + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 32|0); + $19 = ((($18)) + 16|0); + ;HEAP32[$16>>2]=HEAP32[$19>>2]|0;HEAP32[$16+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$16+8>>2]=HEAP32[$19+8>>2]|0;HEAP32[$16+12>>2]=HEAP32[$19+12>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 32|0); + $22 = ((($21)) + 16|0); + ;HEAP32[$22>>2]=HEAP32[$3>>2]|0;HEAP32[$22+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$22+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$22+12>>2]=HEAP32[$3+12>>2]|0; + } + $23 = HEAP32[$2>>2]|0; + $24 = ($23|0)==(0); + if (!($24)) { + $76 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($76|0); + } + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 32|0); + $27 = ((($26)) + 8|0); + $28 = $27; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 8|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = ($30|0)==($38|0); + $43 = ($33|0)==($41|0); + $44 = $42 & $43; + $45 = HEAP32[$1>>2]|0; + if ($44) { + $46 = ((($45)) + 20|0); + HEAP32[$46>>2] = 1; + $76 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($76|0); + } else { + $47 = (_vdbeIncrBgPopulate($45)|0); + HEAP32[$2>>2] = $47; + $76 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($76|0); + } + return (0)|0; +} +function _vdbePmaReaderSeek($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + $14 = $9; + $15 = $14; + HEAP32[$15>>2] = $3; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $4; + HEAP32[$10>>2] = 0; + $18 = (_sqlite3FaultSim(201)|0); + $19 = ($18|0)!=(0); + if ($19) { + HEAP32[$5>>2] = 266; + $173 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($173|0); + } + $20 = HEAP32[$7>>2]|0; + $21 = ((($20)) + 44|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $24 = HEAP32[$7>>2]|0; + $25 = ((($24)) + 24|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$7>>2]|0; + $28 = ((($27)) + 44|0); + $29 = HEAP32[$28>>2]|0; + (_sqlite3OsUnfetch($26,0,0,$29)|0); + $30 = HEAP32[$7>>2]|0; + $31 = ((($30)) + 44|0); + HEAP32[$31>>2] = 0; + } + $32 = $9; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$7>>2]|0; + $39 = $38; + $40 = $39; + HEAP32[$40>>2] = $34; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $37; + $43 = HEAP32[$8>>2]|0; + $44 = ((($43)) + 8|0); + $45 = $44; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 8|0); + $53 = $52; + $54 = $53; + HEAP32[$54>>2] = $47; + $55 = (($53) + 4)|0; + $56 = $55; + HEAP32[$56>>2] = $50; + $57 = HEAP32[$8>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$7>>2]|0; + $60 = ((($59)) + 24|0); + HEAP32[$60>>2] = $58; + $61 = HEAP32[$6>>2]|0; + $62 = HEAP32[$8>>2]|0; + $63 = HEAP32[$7>>2]|0; + $64 = ((($63)) + 44|0); + $65 = (_vdbeSorterMapFile($61,$62,$64)|0); + HEAP32[$10>>2] = $65; + $66 = HEAP32[$10>>2]|0; + $67 = ($66|0)==(0); + if ($67) { + $68 = HEAP32[$7>>2]|0; + $69 = ((($68)) + 44|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)==(0|0); + if ($71) { + $72 = HEAP32[$6>>2]|0; + $73 = ((($72)) + 8|0); + $74 = HEAP32[$73>>2]|0; + $75 = ((($74)) + 12|0); + $76 = HEAP32[$75>>2]|0; + HEAP32[$11>>2] = $76; + $77 = HEAP32[$7>>2]|0; + $78 = $77; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$11>>2]|0; + $85 = ($84|0)<(0); + $86 = $85 << 31 >> 31; + $87 = (___remdi3(($80|0),($83|0),($84|0),($86|0))|0); + $88 = tempRet0; + HEAP32[$12>>2] = $87; + $89 = HEAP32[$7>>2]|0; + $90 = ((($89)) + 36|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)==(0|0); + if ($92) { + $93 = HEAP32[$11>>2]|0; + $94 = ($93|0)<(0); + $95 = $94 << 31 >> 31; + $96 = (_sqlite3Malloc($93,$95)|0); + $97 = HEAP32[$7>>2]|0; + $98 = ((($97)) + 36|0); + HEAP32[$98>>2] = $96; + $99 = HEAP32[$7>>2]|0; + $100 = ((($99)) + 36|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)==(0|0); + if ($102) { + HEAP32[$10>>2] = 7; + } + $103 = HEAP32[$11>>2]|0; + $104 = HEAP32[$7>>2]|0; + $105 = ((($104)) + 40|0); + HEAP32[$105>>2] = $103; + } + $106 = HEAP32[$10>>2]|0; + $107 = ($106|0)==(0); + $108 = HEAP32[$12>>2]|0; + $109 = ($108|0)!=(0); + $or$cond = $107 & $109; + if ($or$cond) { + $110 = HEAP32[$11>>2]|0; + $111 = HEAP32[$12>>2]|0; + $112 = (($110) - ($111))|0; + HEAP32[$13>>2] = $112; + $113 = HEAP32[$7>>2]|0; + $114 = $113; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (($114) + 4)|0; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$13>>2]|0; + $121 = ($120|0)<(0); + $122 = $121 << 31 >> 31; + $123 = (_i64Add(($116|0),($119|0),($120|0),($122|0))|0); + $124 = tempRet0; + $125 = HEAP32[$7>>2]|0; + $126 = ((($125)) + 8|0); + $127 = $126; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = ($124|0)>($132|0); + $134 = ($123>>>0)>($129>>>0); + $135 = ($124|0)==($132|0); + $136 = $135 & $134; + $137 = $133 | $136; + if ($137) { + $138 = HEAP32[$7>>2]|0; + $139 = ((($138)) + 8|0); + $140 = $139; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$7>>2]|0; + $147 = $146; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = (($147) + 4)|0; + $151 = $150; + $152 = HEAP32[$151>>2]|0; + $153 = (_i64Subtract(($142|0),($145|0),($149|0),($152|0))|0); + $154 = tempRet0; + HEAP32[$13>>2] = $153; + } + $155 = HEAP32[$7>>2]|0; + $156 = ((($155)) + 24|0); + $157 = HEAP32[$156>>2]|0; + $158 = HEAP32[$7>>2]|0; + $159 = ((($158)) + 36|0); + $160 = HEAP32[$159>>2]|0; + $161 = HEAP32[$12>>2]|0; + $162 = (($160) + ($161)|0); + $163 = HEAP32[$13>>2]|0; + $164 = HEAP32[$7>>2]|0; + $165 = $164; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $171 = (_sqlite3OsRead($157,$162,$163,$167,$170)|0); + HEAP32[$10>>2] = $171; + } + } + } + $172 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $172; + $173 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($173|0); +} +function _vdbePmaReadVarint($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $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; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 32|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 44|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + $14 = HEAP32[$3>>2]|0; + do { + if ($13) { + $15 = ((($14)) + 44|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($16) + ($20)|0); + $25 = HEAP32[$4>>2]|0; + $26 = (_sqlite3GetVarint($24,$25)|0); + $27 = $26&255; + $28 = HEAP32[$3>>2]|0; + $29 = $28; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (_i64Add(($31|0),($34|0),($27|0),0)|0); + $36 = tempRet0; + $37 = $28; + $38 = $37; + HEAP32[$38>>2] = $35; + $39 = (($37) + 4)|0; + $40 = $39; + HEAP32[$40>>2] = $36; + } else { + $41 = $14; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 40|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)<(0); + $51 = $50 << 31 >> 31; + $52 = (___remdi3(($43|0),($46|0),($49|0),($51|0))|0); + $53 = tempRet0; + HEAP32[$5>>2] = $52; + $54 = HEAP32[$5>>2]|0; + $55 = ($54|0)!=(0); + if ($55) { + $56 = HEAP32[$3>>2]|0; + $57 = ((($56)) + 40|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$5>>2]|0; + $60 = (($58) - ($59))|0; + $61 = ($60|0)>=(9); + if ($61) { + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 36|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = (($64) + ($65)|0); + $67 = HEAP32[$4>>2]|0; + $68 = (_sqlite3GetVarint($66,$67)|0); + $69 = $68&255; + $70 = HEAP32[$3>>2]|0; + $71 = $70; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (_i64Add(($73|0),($76|0),($69|0),0)|0); + $78 = tempRet0; + $79 = $70; + $80 = $79; + HEAP32[$80>>2] = $77; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + break; + } + } + HEAP32[$8>>2] = 0; + while(1) { + $83 = HEAP32[$3>>2]|0; + $84 = (_vdbePmaReadBlob($83,1,$7)|0); + HEAP32[$9>>2] = $84; + $85 = HEAP32[$9>>2]|0; + $86 = ($85|0)!=(0); + if ($86) { + break; + } + $88 = HEAP32[$7>>2]|0; + $89 = HEAP8[$88>>0]|0; + $90 = HEAP32[$8>>2]|0; + $91 = (($90) + 1)|0; + HEAP32[$8>>2] = $91; + $92 = $90 & 15; + $93 = (($6) + ($92)|0); + HEAP8[$93>>0] = $89; + $94 = HEAP32[$7>>2]|0; + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = $96 & 128; + $98 = ($97|0)!=(0); + if (!($98)) { + label = 10; + break; + } + } + if ((label|0) == 10) { + $99 = HEAP32[$4>>2]|0; + (_sqlite3GetVarint($6,$99)|0); + break; + } + $87 = HEAP32[$9>>2]|0; + HEAP32[$2>>2] = $87; + $100 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($100|0); + } + } while(0); + HEAP32[$2>>2] = 0; + $100 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($100|0); +} +function _vdbePmaReadBlob($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 44|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(0|0); + $21 = HEAP32[$4>>2]|0; + if ($20) { + $22 = ((($21)) + 44|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($23) + ($27)|0); + $32 = HEAP32[$6>>2]|0; + HEAP32[$32>>2] = $31; + $33 = HEAP32[$5>>2]|0; + $34 = ($33|0)<(0); + $35 = $34 << 31 >> 31; + $36 = HEAP32[$4>>2]|0; + $37 = $36; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (_i64Add(($39|0),($42|0),($33|0),($35|0))|0); + $44 = tempRet0; + $45 = $36; + $46 = $45; + HEAP32[$46>>2] = $43; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $44; + HEAP32[$3>>2] = 0; + $253 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($253|0); + } + $49 = $21; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 40|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)<(0); + $59 = $58 << 31 >> 31; + $60 = (___remdi3(($51|0),($54|0),($57|0),($59|0))|0); + $61 = tempRet0; + HEAP32[$7>>2] = $60; + $62 = HEAP32[$7>>2]|0; + $63 = ($62|0)==(0); + if ($63) { + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 8|0); + $66 = $65; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$4>>2]|0; + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (_i64Subtract(($68|0),($71|0),($75|0),($78|0))|0); + $80 = tempRet0; + $81 = HEAP32[$4>>2]|0; + $82 = ((($81)) + 40|0); + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)<(0); + $85 = $84 << 31 >> 31; + $86 = ($80|0)>($85|0); + $87 = ($79>>>0)>($83>>>0); + $88 = ($80|0)==($85|0); + $89 = $88 & $87; + $90 = $86 | $89; + $91 = HEAP32[$4>>2]|0; + if ($90) { + $92 = ((($91)) + 40|0); + $93 = HEAP32[$92>>2]|0; + HEAP32[$9>>2] = $93; + } else { + $94 = ((($91)) + 8|0); + $95 = $94; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$4>>2]|0; + $102 = $101; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = (($102) + 4)|0; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (_i64Subtract(($97|0),($100|0),($104|0),($107|0))|0); + $109 = tempRet0; + HEAP32[$9>>2] = $108; + } + $110 = HEAP32[$4>>2]|0; + $111 = ((($110)) + 24|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$4>>2]|0; + $114 = ((($113)) + 36|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$9>>2]|0; + $117 = HEAP32[$4>>2]|0; + $118 = $117; + $119 = $118; + $120 = HEAP32[$119>>2]|0; + $121 = (($118) + 4)|0; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = (_sqlite3OsRead($112,$115,$116,$120,$123)|0); + HEAP32[$10>>2] = $124; + $125 = HEAP32[$10>>2]|0; + $126 = ($125|0)!=(0); + if ($126) { + $127 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $127; + $253 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($253|0); + } + } + $128 = HEAP32[$4>>2]|0; + $129 = ((($128)) + 40|0); + $130 = HEAP32[$129>>2]|0; + $131 = HEAP32[$7>>2]|0; + $132 = (($130) - ($131))|0; + HEAP32[$8>>2] = $132; + $133 = HEAP32[$5>>2]|0; + $134 = HEAP32[$8>>2]|0; + $135 = ($133|0)<=($134|0); + $136 = HEAP32[$4>>2]|0; + do { + if ($135) { + $137 = ((($136)) + 36|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$7>>2]|0; + $140 = (($138) + ($139)|0); + $141 = HEAP32[$6>>2]|0; + HEAP32[$141>>2] = $140; + $142 = HEAP32[$5>>2]|0; + $143 = ($142|0)<(0); + $144 = $143 << 31 >> 31; + $145 = HEAP32[$4>>2]|0; + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (_i64Add(($148|0),($151|0),($142|0),($144|0))|0); + $153 = tempRet0; + $154 = $145; + $155 = $154; + HEAP32[$155>>2] = $152; + $156 = (($154) + 4)|0; + $157 = $156; + HEAP32[$157>>2] = $153; + } else { + $158 = ((($136)) + 16|0); + $159 = HEAP32[$158>>2]|0; + $160 = HEAP32[$5>>2]|0; + $161 = ($159|0)<($160|0); + do { + if ($161) { + $162 = HEAP32[$4>>2]|0; + $163 = ((($162)) + 16|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164<<1; + $166 = (128)>($165|0); + if ($166) { + $171 = 128; + } else { + $167 = HEAP32[$4>>2]|0; + $168 = ((($167)) + 16|0); + $169 = HEAP32[$168>>2]|0; + $170 = $169<<1; + $171 = $170; + } + HEAP32[$13>>2] = $171; + while(1) { + $172 = HEAP32[$5>>2]|0; + $173 = HEAP32[$13>>2]|0; + $174 = ($172|0)>($173|0); + if (!($174)) { + break; + } + $175 = HEAP32[$13>>2]|0; + $176 = $175<<1; + HEAP32[$13>>2] = $176; + } + $177 = HEAP32[$4>>2]|0; + $178 = ((($177)) + 28|0); + $179 = HEAP32[$178>>2]|0; + $180 = HEAP32[$13>>2]|0; + $181 = ($180|0)<(0); + $182 = $181 << 31 >> 31; + $183 = (_sqlite3Realloc($179,$180,$182)|0); + HEAP32[$12>>2] = $183; + $184 = HEAP32[$12>>2]|0; + $185 = ($184|0)!=(0|0); + if ($185) { + $186 = HEAP32[$13>>2]|0; + $187 = HEAP32[$4>>2]|0; + $188 = ((($187)) + 16|0); + HEAP32[$188>>2] = $186; + $189 = HEAP32[$12>>2]|0; + $190 = HEAP32[$4>>2]|0; + $191 = ((($190)) + 28|0); + HEAP32[$191>>2] = $189; + break; + } + HEAP32[$3>>2] = 7; + $253 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($253|0); + } + } while(0); + $192 = HEAP32[$4>>2]|0; + $193 = ((($192)) + 28|0); + $194 = HEAP32[$193>>2]|0; + $195 = HEAP32[$4>>2]|0; + $196 = ((($195)) + 36|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$7>>2]|0; + $199 = (($197) + ($198)|0); + $200 = HEAP32[$8>>2]|0; + _memcpy(($194|0),($199|0),($200|0))|0; + $201 = HEAP32[$8>>2]|0; + $202 = ($201|0)<(0); + $203 = $202 << 31 >> 31; + $204 = HEAP32[$4>>2]|0; + $205 = $204; + $206 = $205; + $207 = HEAP32[$206>>2]|0; + $208 = (($205) + 4)|0; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (_i64Add(($207|0),($210|0),($201|0),($203|0))|0); + $212 = tempRet0; + $213 = $204; + $214 = $213; + HEAP32[$214>>2] = $211; + $215 = (($213) + 4)|0; + $216 = $215; + HEAP32[$216>>2] = $212; + $217 = HEAP32[$5>>2]|0; + $218 = HEAP32[$8>>2]|0; + $219 = (($217) - ($218))|0; + HEAP32[$11>>2] = $219; + while(1) { + $220 = HEAP32[$11>>2]|0; + $221 = ($220|0)>(0); + if (!($221)) { + label = 27; + break; + } + $222 = HEAP32[$11>>2]|0; + HEAP32[$15>>2] = $222; + $223 = HEAP32[$11>>2]|0; + $224 = HEAP32[$4>>2]|0; + $225 = ((($224)) + 40|0); + $226 = HEAP32[$225>>2]|0; + $227 = ($223|0)>($226|0); + if ($227) { + $228 = HEAP32[$4>>2]|0; + $229 = ((($228)) + 40|0); + $230 = HEAP32[$229>>2]|0; + HEAP32[$15>>2] = $230; + } + $231 = HEAP32[$4>>2]|0; + $232 = HEAP32[$15>>2]|0; + $233 = (_vdbePmaReadBlob($231,$232,$16)|0); + HEAP32[$14>>2] = $233; + $234 = HEAP32[$14>>2]|0; + $235 = ($234|0)!=(0); + if ($235) { + break; + } + $237 = HEAP32[$4>>2]|0; + $238 = ((($237)) + 28|0); + $239 = HEAP32[$238>>2]|0; + $240 = HEAP32[$5>>2]|0; + $241 = HEAP32[$11>>2]|0; + $242 = (($240) - ($241))|0; + $243 = (($239) + ($242)|0); + $244 = HEAP32[$16>>2]|0; + $245 = HEAP32[$15>>2]|0; + _memcpy(($243|0),($244|0),($245|0))|0; + $246 = HEAP32[$15>>2]|0; + $247 = HEAP32[$11>>2]|0; + $248 = (($247) - ($246))|0; + HEAP32[$11>>2] = $248; + } + if ((label|0) == 27) { + $249 = HEAP32[$4>>2]|0; + $250 = ((($249)) + 28|0); + $251 = HEAP32[$250>>2]|0; + $252 = HEAP32[$6>>2]|0; + HEAP32[$252>>2] = $251; + break; + } + $236 = HEAP32[$14>>2]|0; + HEAP32[$3>>2] = $236; + $253 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($253|0); + } + } while(0); + HEAP32[$3>>2] = 0; + $253 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($253|0); +} +function _vdbeSorterMapFile($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 8|0); + $10 = $9; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 24|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 144|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)<(0); + $24 = $23 << 31 >> 31; + $25 = ($15|0)<($24|0); + $26 = ($12>>>0)<=($22>>>0); + $27 = ($15|0)==($24|0); + $28 = $27 & $26; + $29 = $25 | $28; + if (!($29)) { + $47 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($47|0); + } + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$30>>2]|0; + HEAP32[$7>>2] = $31; + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)>=(3); + if (!($35)) { + $47 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($47|0); + } + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 8|0); + $39 = $38; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$5>>2]|0; + $46 = (_sqlite3OsFetch($36,0,0,$41,$45)|0); + HEAP32[$6>>2] = $46; + $47 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($47|0); +} +function _vdbeIncrBgPopulate($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = (_vdbeSorterCreateThread($5,195,$6)|0); + STACKTOP = sp;return ($7|0); +} +function _vdbeIncrPopulate($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $1 = sp + 88|0; + $2 = sp + 84|0; + $3 = sp + 80|0; + $4 = sp + 48|0; + $5 = sp + 76|0; + $6 = sp + 72|0; + $7 = sp + 68|0; + $8 = sp + 8|0; + $9 = sp + 64|0; + $10 = sp + 60|0; + $11 = sp + 56|0; + $12 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 8|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $4; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 32|0); + $27 = ((($26)) + 16|0); + HEAP32[$5>>2] = $27; + $28 = HEAP32[$1>>2]|0; + $29 = HEAP32[$28>>2]|0; + HEAP32[$6>>2] = $29; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$7>>2] = $32; + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = $4; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + _vdbePmaWriterInit($34,$8,$39,$42,$45); + while(1) { + $46 = HEAP32[$2>>2]|0; + $47 = ($46|0)==(0); + if (!($47)) { + break; + } + $48 = HEAP32[$7>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + $56 = (($50) + (($55*56)|0)|0); + HEAP32[$10>>2] = $56; + $57 = HEAP32[$10>>2]|0; + $58 = ((($57)) + 20|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$11>>2] = $59; + $60 = ((($8)) + 24|0); + $61 = $60; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = ((($8)) + 16|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)<(0); + $70 = $69 << 31 >> 31; + $71 = (_i64Add(($63|0),($66|0),($68|0),($70|0))|0); + $72 = tempRet0; + $73 = $12; + $74 = $73; + HEAP32[$74>>2] = $71; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; + $77 = HEAP32[$10>>2]|0; + $78 = ((($77)) + 24|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)==(0|0); + if ($80) { + break; + } + $81 = $12; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$11>>2]|0; + $88 = ($87|0)<(0); + $89 = $88 << 31 >> 31; + $90 = (_i64Add(($83|0),($86|0),($87|0),($89|0))|0); + $91 = tempRet0; + $92 = HEAP32[$11>>2]|0; + $93 = ($92|0)<(0); + $94 = $93 << 31 >> 31; + $95 = (_sqlite3VarintLen($92,$94)|0); + $96 = ($95|0)<(0); + $97 = $96 << 31 >> 31; + $98 = (_i64Add(($90|0),($91|0),($95|0),($97|0))|0); + $99 = tempRet0; + $100 = $4; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$1>>2]|0; + $107 = ((($106)) + 16|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)<(0); + $110 = $109 << 31 >> 31; + $111 = (_i64Add(($102|0),($105|0),($108|0),($110|0))|0); + $112 = tempRet0; + $113 = ($99|0)>($112|0); + $114 = ($98>>>0)>($111>>>0); + $115 = ($99|0)==($112|0); + $116 = $115 & $114; + $117 = $113 | $116; + if ($117) { + break; + } + $118 = HEAP32[$11>>2]|0; + $119 = ($118|0)<(0); + $120 = $119 << 31 >> 31; + _vdbePmaWriteVarint($8,$118,$120); + $121 = HEAP32[$10>>2]|0; + $122 = ((($121)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$11>>2]|0; + _vdbePmaWriteBlob($8,$123,$124); + $125 = HEAP32[$1>>2]|0; + $126 = ((($125)) + 4|0); + $127 = HEAP32[$126>>2]|0; + $128 = (_vdbeMergeEngineStep($127,$9)|0); + HEAP32[$2>>2] = $128; + } + $129 = HEAP32[$5>>2]|0; + $130 = ((($129)) + 8|0); + $131 = (_vdbePmaWriterFinish($8,$130)|0); + HEAP32[$3>>2] = $131; + $132 = HEAP32[$2>>2]|0; + $133 = ($132|0)==(0); + if (!($133)) { + $135 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($135|0); + } + $134 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $134; + $135 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($135|0); +} +function _vdbeIncrPopulateThread($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = (_vdbeIncrPopulate($5)|0); + $7 = $6; + HEAP32[$3>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 4|0); + HEAP32[$10>>2] = 1; + $11 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _vdbeSorterSetupMerge($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $1 = sp + 44|0; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$1>>2] = $0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 64|0); + HEAP32[$3>>2] = $14; + HEAP32[$4>>2] = 0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 24|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$5>>2] = $19; + $20 = HEAP32[$1>>2]|0; + $21 = (_vdbeSorterGetCompare($20)|0); + HEAP32[$7>>2] = $21; + HEAP32[$6>>2] = 0; + while(1) { + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 59|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($22|0)<($26|0); + if (!($27)) { + break; + } + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 64|0); + $31 = HEAP32[$6>>2]|0; + $32 = (($30) + (($31*72)|0)|0); + $33 = ((($32)) + 32|0); + HEAP32[$33>>2] = $28; + $34 = HEAP32[$6>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$6>>2] = $35; + } + $36 = HEAP32[$1>>2]|0; + $37 = (_vdbeSorterMergeTreeBuild($36,$4)|0); + HEAP32[$2>>2] = $37; + $38 = HEAP32[$2>>2]|0; + $39 = ($38|0)==(0); + do { + if ($39) { + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 57|0); + $42 = HEAP8[$41>>0]|0; + $43 = ($42<<24>>24)!=(0); + if (!($43)) { + $114 = HEAP32[$3>>2]|0; + $115 = HEAP32[$4>>2]|0; + $116 = (_vdbeMergeEngineInit($114,$115,0)|0); + HEAP32[$2>>2] = $116; + $117 = HEAP32[$4>>2]|0; + $118 = HEAP32[$1>>2]|0; + $119 = ((($118)) + 20|0); + HEAP32[$119>>2] = $117; + HEAP32[$4>>2] = 0; + break; + } + HEAP32[$9>>2] = 0; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 64|0); + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 59|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = (($49) - 1)|0; + $51 = (($45) + (($50*72)|0)|0); + HEAP32[$10>>2] = $51; + $52 = HEAP32[$10>>2]|0; + $53 = (_vdbeSortAllocUnpacked($52)|0); + HEAP32[$2>>2] = $53; + $54 = HEAP32[$2>>2]|0; + $55 = ($54|0)==(0); + if ($55) { + $56 = HEAP32[$5>>2]|0; + $57 = (_sqlite3DbMallocZero($56,56,0)|0); + HEAP32[$9>>2] = $57; + $58 = HEAP32[$9>>2]|0; + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 16|0); + HEAP32[$60>>2] = $58; + $61 = HEAP32[$9>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + HEAP32[$2>>2] = 7; + } + } + $63 = HEAP32[$2>>2]|0; + $64 = ($63|0)==(0); + if ($64) { + $65 = HEAP32[$10>>2]|0; + $66 = HEAP32[$4>>2]|0; + $67 = HEAP32[$9>>2]|0; + $68 = ((($67)) + 48|0); + $69 = (_vdbeIncrMergerNew($65,$66,$68)|0); + HEAP32[$2>>2] = $69; + $70 = HEAP32[$2>>2]|0; + $71 = ($70|0)==(0); + L16: do { + if ($71) { + $72 = HEAP32[$9>>2]|0; + $73 = ((($72)) + 48|0); + $74 = HEAP32[$73>>2]|0; + _vdbeIncrMergerSetThreads($74); + HEAP32[$8>>2] = 0; + while(1) { + $75 = HEAP32[$8>>2]|0; + $76 = HEAP32[$1>>2]|0; + $77 = ((($76)) + 59|0); + $78 = HEAP8[$77>>0]|0; + $79 = $78&255; + $80 = (($79) - 1)|0; + $81 = ($75|0)<($80|0); + if (!($81)) { + break; + } + $82 = HEAP32[$4>>2]|0; + $83 = ((($82)) + 12|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($84) + (($85*56)|0)|0); + $87 = ((($86)) + 48|0); + $88 = HEAP32[$87>>2]|0; + HEAP32[$11>>2] = $88; + $89 = ($88|0)!=(0|0); + if ($89) { + $90 = HEAP32[$11>>2]|0; + _vdbeIncrMergerSetThreads($90); + } + $91 = HEAP32[$8>>2]|0; + $92 = (($91) + 1)|0; + HEAP32[$8>>2] = $92; + } + HEAP32[$8>>2] = 0; + while(1) { + $93 = HEAP32[$2>>2]|0; + $94 = ($93|0)==(0); + if (!($94)) { + break L16; + } + $95 = HEAP32[$8>>2]|0; + $96 = HEAP32[$1>>2]|0; + $97 = ((($96)) + 59|0); + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $100 = ($95|0)<($99|0); + if (!($100)) { + break L16; + } + $101 = HEAP32[$4>>2]|0; + $102 = ((($101)) + 12|0); + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$8>>2]|0; + $105 = (($103) + (($104*56)|0)|0); + HEAP32[$12>>2] = $105; + $106 = HEAP32[$12>>2]|0; + $107 = (_vdbePmaReaderIncrInit($106,1)|0); + HEAP32[$2>>2] = $107; + $108 = HEAP32[$8>>2]|0; + $109 = (($108) + 1)|0; + HEAP32[$8>>2] = $109; + } + } + } while(0); + HEAP32[$4>>2] = 0; + } + $110 = HEAP32[$2>>2]|0; + $111 = ($110|0)==(0); + if ($111) { + $112 = HEAP32[$9>>2]|0; + $113 = (_vdbePmaReaderIncrMergeInit($112,2)|0); + HEAP32[$2>>2] = $113; + } + } + } while(0); + $120 = HEAP32[$2>>2]|0; + $121 = ($120|0)!=(0); + if (!($121)) { + $123 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($123|0); + } + $122 = HEAP32[$4>>2]|0; + _vdbeMergeEngineFree($122); + $123 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($123|0); +} +function _vdbeSorterMergeTreeBuild($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 52|0; + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 59|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)>(1); + if ($19) { + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 59|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = (_vdbeMergeEngineNew($23)|0); + HEAP32[$4>>2] = $24; + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + HEAP32[$5>>2] = 7; + } + } + HEAP32[$6>>2] = 0; + while(1) { + $27 = HEAP32[$5>>2]|0; + $28 = ($27|0)==(0); + if (!($28)) { + break; + } + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 59|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = ($29|0)<($33|0); + if (!($34)) { + break; + } + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 64|0); + $37 = HEAP32[$6>>2]|0; + $38 = (($36) + (($37*72)|0)|0); + HEAP32[$7>>2] = $38; + $39 = HEAP32[$7>>2]|0; + $40 = ((($39)) + 28|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)!=(0); + do { + if ($42) { + HEAP32[$8>>2] = 0; + $43 = HEAP32[$7>>2]|0; + $44 = ((($43)) + 28|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_vdbeSorterTreeDepth($45)|0); + HEAP32[$9>>2] = $46; + $47 = $10; + $48 = $47; + HEAP32[$48>>2] = 0; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = 0; + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 28|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)<=(16); + L11: do { + if ($54) { + $55 = HEAP32[$7>>2]|0; + $56 = HEAP32[$7>>2]|0; + $57 = ((($56)) + 28|0); + $58 = HEAP32[$57>>2]|0; + $59 = (_vdbeMergeEngineLevel0($55,$58,$10,$8)|0); + HEAP32[$5>>2] = $59; + } else { + HEAP32[$12>>2] = 0; + $60 = (_vdbeMergeEngineNew(16)|0); + HEAP32[$8>>2] = $60; + $61 = HEAP32[$8>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + HEAP32[$5>>2] = 7; + } + HEAP32[$11>>2] = 0; + while(1) { + $63 = HEAP32[$11>>2]|0; + $64 = HEAP32[$7>>2]|0; + $65 = ((($64)) + 28|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($63|0)<($66|0); + $68 = HEAP32[$5>>2]|0; + $69 = ($68|0)==(0); + $70 = $67 ? $69 : 0; + if (!($70)) { + break L11; + } + HEAP32[$13>>2] = 0; + $71 = HEAP32[$7>>2]|0; + $72 = ((($71)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$11>>2]|0; + $75 = (($73) - ($74))|0; + $76 = ($75|0)<(16); + if ($76) { + $77 = HEAP32[$7>>2]|0; + $78 = ((($77)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$11>>2]|0; + $81 = (($79) - ($80))|0; + $82 = $81; + } else { + $82 = 16; + } + HEAP32[$14>>2] = $82; + $83 = HEAP32[$7>>2]|0; + $84 = HEAP32[$14>>2]|0; + $85 = (_vdbeMergeEngineLevel0($83,$84,$10,$13)|0); + HEAP32[$5>>2] = $85; + $86 = HEAP32[$5>>2]|0; + $87 = ($86|0)==(0); + if ($87) { + $88 = HEAP32[$7>>2]|0; + $89 = HEAP32[$9>>2]|0; + $90 = HEAP32[$12>>2]|0; + $91 = (($90) + 1)|0; + HEAP32[$12>>2] = $91; + $92 = HEAP32[$8>>2]|0; + $93 = HEAP32[$13>>2]|0; + $94 = (_vdbeSorterAddToTree($88,$89,$90,$92,$93)|0); + HEAP32[$5>>2] = $94; + } + $95 = HEAP32[$11>>2]|0; + $96 = (($95) + 16)|0; + HEAP32[$11>>2] = $96; + } + } + } while(0); + $97 = HEAP32[$5>>2]|0; + $98 = ($97|0)==(0); + if (!($98)) { + $111 = HEAP32[$8>>2]|0; + _vdbeMergeEngineFree($111); + break; + } + $99 = HEAP32[$4>>2]|0; + $100 = ($99|0)!=(0|0); + if ($100) { + $101 = HEAP32[$7>>2]|0; + $102 = HEAP32[$8>>2]|0; + $103 = HEAP32[$4>>2]|0; + $104 = ((($103)) + 12|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$6>>2]|0; + $107 = (($105) + (($106*56)|0)|0); + $108 = ((($107)) + 48|0); + $109 = (_vdbeIncrMergerNew($101,$102,$108)|0); + HEAP32[$5>>2] = $109; + break; + } else { + $110 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $110; + break; + } + } + } while(0); + $112 = HEAP32[$6>>2]|0; + $113 = (($112) + 1)|0; + HEAP32[$6>>2] = $113; + } + $114 = HEAP32[$5>>2]|0; + $115 = ($114|0)!=(0); + if (!($115)) { + $117 = HEAP32[$4>>2]|0; + $118 = HEAP32[$3>>2]|0; + HEAP32[$118>>2] = $117; + $119 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($119|0); + } + $116 = HEAP32[$4>>2]|0; + _vdbeMergeEngineFree($116); + HEAP32[$4>>2] = 0; + $117 = HEAP32[$4>>2]|0; + $118 = HEAP32[$3>>2]|0; + HEAP32[$118>>2] = $117; + $119 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($119|0); +} +function _vdbeIncrMergerNew($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $8 = (_sqlite3FaultSim(100)|0); + $9 = ($8|0)!=(0); + if ($9) { + $12 = 0; + } else { + $10 = (_sqlite3MallocZero(64,0)|0); + $12 = $10; + } + $11 = HEAP32[$5>>2]|0; + HEAP32[$11>>2] = $12; + HEAP32[$7>>2] = $12; + $13 = HEAP32[$7>>2]|0; + $14 = ($13|0)!=(0|0); + $15 = HEAP32[$4>>2]|0; + if (!($14)) { + _vdbeMergeEngineFree($15); + HEAP32[$6>>2] = 7; + $65 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($65|0); + } + $16 = HEAP32[$7>>2]|0; + $17 = ((($16)) + 4|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$7>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + 9)|0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($30|0) / 2)&-1; + $32 = ($25|0)>($31|0); + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + if ($32) { + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($37) + 9)|0; + $44 = $38; + } else { + $39 = ((($35)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (($40|0) / 2)&-1; + $44 = $41; + } + $42 = HEAP32[$7>>2]|0; + $43 = ((($42)) + 16|0); + HEAP32[$43>>2] = $44; + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)<(0); + $49 = $48 << 31 >> 31; + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 56|0); + $52 = ((($51)) + 8|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (_i64Add(($55|0),($58|0),($47|0),($49|0))|0); + $60 = tempRet0; + $61 = $52; + $62 = $61; + HEAP32[$62>>2] = $59; + $63 = (($61) + 4)|0; + $64 = $63; + HEAP32[$64>>2] = $60; + $65 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($65|0); +} +function _vdbeIncrMergerSetThreads($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + HEAP32[$3>>2] = 1; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 16|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)<(0); + $8 = $7 << 31 >> 31; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 56|0); + $12 = ((($11)) + 8|0); + $13 = $12; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (_i64Subtract(($15|0),($18|0),($6|0),($8|0))|0); + $20 = tempRet0; + $21 = $12; + $22 = $21; + HEAP32[$22>>2] = $19; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + STACKTOP = sp;return; +} +function _vdbePmaReaderIncrInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 48|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + HEAP32[$5>>2] = 0; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + $23 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($23|0); + } + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0); + $16 = HEAP32[$2>>2]|0; + if ($15) { + HEAP32[$6>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = (_vdbeSorterCreateThread($18,196,$19)|0); + HEAP32[$5>>2] = $20; + $23 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($23|0); + } else { + $21 = HEAP32[$3>>2]|0; + $22 = (_vdbePmaReaderIncrMergeInit($16,$21)|0); + HEAP32[$5>>2] = $22; + $23 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($23|0); + } + return (0)|0; +} +function _vdbePmaReaderIncrMergeInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 48|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $13; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 24|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$7>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$3>>2]|0; + $24 = (_vdbeMergeEngineInit($19,$22,$23)|0); + HEAP32[$4>>2] = $24; + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)==(0); + do { + if ($26) { + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$8>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 24|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$8>>2]|0; + $36 = ($35|0)<(0); + $37 = $36 << 31 >> 31; + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 32|0); + $40 = (_vdbeSorterOpenTempFile($34,$35,$37,$39)|0); + HEAP32[$4>>2] = $40; + $41 = HEAP32[$4>>2]|0; + $42 = ($41|0)==(0); + if (!($42)) { + break; + } + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = ($44|0)<(0); + $46 = $45 << 31 >> 31; + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 32|0); + $49 = ((($48)) + 16|0); + $50 = (_vdbeSorterOpenTempFile($43,$44,$46,$49)|0); + HEAP32[$4>>2] = $50; + break; + } + $51 = HEAP32[$6>>2]|0; + $52 = ((($51)) + 56|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==(0|0); + if ($54) { + $55 = HEAP32[$7>>2]|0; + $56 = HEAP32[$6>>2]|0; + $57 = ((($56)) + 56|0); + $58 = ((($57)) + 8|0); + $59 = $58; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$6>>2]|0; + $66 = ((($65)) + 56|0); + $67 = (_vdbeSorterOpenTempFile($55,$61,$64,$66)|0); + HEAP32[$4>>2] = $67; + $68 = HEAP32[$6>>2]|0; + $69 = ((($68)) + 56|0); + $70 = ((($69)) + 8|0); + $71 = $70; + $72 = $71; + HEAP32[$72>>2] = 0; + $73 = (($71) + 4)|0; + $74 = $73; + HEAP32[$74>>2] = 0; + } + $75 = HEAP32[$4>>2]|0; + $76 = ($75|0)==(0); + if ($76) { + $77 = HEAP32[$6>>2]|0; + $78 = ((($77)) + 56|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$5>>2]|0; + $81 = ((($80)) + 32|0); + $82 = ((($81)) + 16|0); + HEAP32[$82>>2] = $79; + $83 = HEAP32[$6>>2]|0; + $84 = ((($83)) + 56|0); + $85 = ((($84)) + 8|0); + $86 = $85; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$5>>2]|0; + $93 = ((($92)) + 8|0); + $94 = $93; + $95 = $94; + HEAP32[$95>>2] = $88; + $96 = (($94) + 4)|0; + $97 = $96; + HEAP32[$97>>2] = $91; + $98 = HEAP32[$8>>2]|0; + $99 = ($98|0)<(0); + $100 = $99 << 31 >> 31; + $101 = HEAP32[$6>>2]|0; + $102 = ((($101)) + 56|0); + $103 = ((($102)) + 8|0); + $104 = $103; + $105 = $104; + $106 = HEAP32[$105>>2]|0; + $107 = (($104) + 4)|0; + $108 = $107; + $109 = HEAP32[$108>>2]|0; + $110 = (_i64Add(($106|0),($109|0),($98|0),($100|0))|0); + $111 = tempRet0; + $112 = $103; + $113 = $112; + HEAP32[$113>>2] = $110; + $114 = (($112) + 4)|0; + $115 = $114; + HEAP32[$115>>2] = $111; + } + } + } while(0); + $116 = HEAP32[$4>>2]|0; + $117 = ($116|0)==(0); + if ($117) { + $118 = HEAP32[$5>>2]|0; + $119 = ((($118)) + 24|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)!=(0); + if ($121) { + $122 = HEAP32[$5>>2]|0; + $123 = (_vdbeIncrPopulate($122)|0); + HEAP32[$4>>2] = $123; + } + } + $124 = HEAP32[$4>>2]|0; + $125 = ($124|0)==(0); + $126 = HEAP32[$3>>2]|0; + $127 = ($126|0)!=(1); + $or$cond = $125 & $127; + if (!($or$cond)) { + $130 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($130|0); + } + $128 = HEAP32[$2>>2]|0; + $129 = (_vdbePmaReaderNext($128)|0); + HEAP32[$4>>2] = $129; + $130 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($130|0); +} +function _vdbeMergeEngineInit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 4|0); + HEAP32[$14>>2] = $12; + HEAP32[$8>>2] = 0; + while(1) { + $15 = HEAP32[$8>>2]|0; + $16 = HEAP32[$9>>2]|0; + $17 = ($15|0)<($16|0); + if (!($17)) { + break; + } + $18 = HEAP32[$6>>2]|0; + $19 = ($18|0)==(2); + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + if ($19) { + $23 = HEAP32[$9>>2]|0; + $24 = HEAP32[$8>>2]|0; + $25 = (($23) - ($24))|0; + $26 = (($25) - 1)|0; + $27 = (($22) + (($26*56)|0)|0); + $28 = (_vdbePmaReaderNext($27)|0); + HEAP32[$7>>2] = $28; + } else { + $29 = HEAP32[$8>>2]|0; + $30 = (($22) + (($29*56)|0)|0); + $31 = (_vdbePmaReaderIncrInit($30,0)|0); + HEAP32[$7>>2] = $31; + } + $32 = HEAP32[$7>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + label = 7; + break; + } + $35 = HEAP32[$8>>2]|0; + $36 = (($35) + 1)|0; + HEAP32[$8>>2] = $36; + } + if ((label|0) == 7) { + $34 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $34; + $52 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($52|0); + } + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = (($38) - 1)|0; + HEAP32[$8>>2] = $39; + while(1) { + $40 = HEAP32[$8>>2]|0; + $41 = ($40|0)>(0); + if (!($41)) { + break; + } + $42 = HEAP32[$5>>2]|0; + $43 = HEAP32[$8>>2]|0; + _vdbeMergeEngineCompare($42,$43); + $44 = HEAP32[$8>>2]|0; + $45 = (($44) + -1)|0; + HEAP32[$8>>2] = $45; + } + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ((($48)) + 11|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + HEAP32[$3>>2] = $51; + $52 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($52|0); +} +function _vdbeMergeEngineCompare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (($14|0) / 2)&-1; + $16 = ($12|0)>=($15|0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (($19|0) / 2)&-1; + $21 = (($17) - ($20))|0; + $22 = $21<<1; + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$5>>2] = $24; + } else { + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = $28<<1; + $30 = (($27) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$4>>2] = $31; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$3>>2]|0; + $36 = $35<<1; + $37 = (($36) + 1)|0; + $38 = (($34) + ($37<<2)|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$5>>2] = $39; + } + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 12|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$4>>2]|0; + $44 = (($42) + (($43*56)|0)|0); + HEAP32[$7>>2] = $44; + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 12|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$5>>2]|0; + $49 = (($47) + (($48*56)|0)|0); + HEAP32[$8>>2] = $49; + $50 = HEAP32[$7>>2]|0; + $51 = ((($50)) + 24|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)==(0|0); + do { + if ($53) { + $54 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $54; + } else { + $55 = HEAP32[$8>>2]|0; + $56 = ((($55)) + 24|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + $59 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $59; + break; + } + $60 = HEAP32[$2>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$9>>2] = $62; + HEAP32[$10>>2] = 0; + $63 = HEAP32[$9>>2]|0; + $64 = ((($63)) + 32|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$9>>2]|0; + $67 = HEAP32[$7>>2]|0; + $68 = ((($67)) + 32|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$7>>2]|0; + $71 = ((($70)) + 20|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$8>>2]|0; + $74 = ((($73)) + 32|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$8>>2]|0; + $77 = ((($76)) + 20|0); + $78 = HEAP32[$77>>2]|0; + $79 = (FUNCTION_TABLE_iiiiiii[$65 & 255]($66,$10,$69,$72,$75,$78)|0); + HEAP32[$11>>2] = $79; + $80 = HEAP32[$11>>2]|0; + $81 = ($80|0)<=(0); + if ($81) { + $82 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $82; + break; + } else { + $83 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $83; + break; + } + } + } while(0); + $84 = HEAP32[$6>>2]|0; + $85 = HEAP32[$2>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$3>>2]|0; + $89 = (($87) + ($88<<2)|0); + HEAP32[$89>>2] = $84; + STACKTOP = sp;return; +} +function _vdbePmaReaderBgIncrInit($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = (_vdbePmaReaderIncrMergeInit($5,1)|0); + $7 = $6; + HEAP32[$3>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 48|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 4|0); + HEAP32[$12>>2] = 1; + $13 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _vdbeMergeEngineNew($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 2; + while(1) { + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ($5|0)<($6|0); + $8 = HEAP32[$2>>2]|0; + if (!($7)) { + break; + } + $9 = HEAP32[$2>>2]|0; + $10 = (($9) + ($8))|0; + HEAP32[$2>>2] = $10; + } + $11 = ($8*60)|0; + $12 = (16 + ($11))|0; + HEAP32[$3>>2] = $12; + $13 = (_sqlite3FaultSim(100)|0); + $14 = ($13|0)!=(0); + if ($14) { + $19 = 0; + } else { + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)<(0); + $17 = $16 << 31 >> 31; + $18 = (_sqlite3MallocZero($15,$17)|0); + $19 = $18; + } + HEAP32[$4>>2] = $19; + $20 = HEAP32[$4>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { + $37 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($37|0); + } + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$4>>2]|0; + HEAP32[$23>>2] = $22; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 4|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 12|0); + HEAP32[$29>>2] = $27; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = (($32) + (($33*56)|0)|0); + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 8|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($37|0); +} +function _vdbeSorterTreeDepth($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = 16; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = 0; + while(1) { + $8 = $3; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ($14|0)<(0); + $16 = $15 << 31 >> 31; + $17 = ($13|0)<($16|0); + $18 = ($10>>>0)<($14>>>0); + $19 = ($13|0)==($16|0); + $20 = $19 & $18; + $21 = $17 | $20; + if (!($21)) { + break; + } + $22 = $3; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (___muldi3(($24|0),($27|0),16,0)|0); + $29 = tempRet0; + $30 = $3; + $31 = $30; + HEAP32[$31>>2] = $28; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $34 = HEAP32[$2>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$2>>2] = $35; + } + $36 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($36|0); +} +function _vdbeMergeEngineLevel0($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, $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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 8|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp; + $13 = sp + 16|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $14 = HEAP32[$6>>2]|0; + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $9; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + HEAP32[$11>>2] = 0; + $25 = HEAP32[$5>>2]|0; + $26 = (_vdbeMergeEngineNew($25)|0); + HEAP32[$8>>2] = $26; + $27 = HEAP32[$7>>2]|0; + HEAP32[$27>>2] = $26; + $28 = HEAP32[$8>>2]|0; + $29 = ($28|0)==(0|0); + if ($29) { + HEAP32[$11>>2] = 7; + } + HEAP32[$10>>2] = 0; + while(1) { + $30 = HEAP32[$10>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = ($30|0)<($31|0); + $33 = HEAP32[$11>>2]|0; + $34 = ($33|0)==(0); + $35 = $32 ? $34 : 0; + if (!($35)) { + break; + } + $36 = $12; + $37 = $36; + HEAP32[$37>>2] = 0; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = 0; + $40 = HEAP32[$8>>2]|0; + $41 = ((($40)) + 12|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$10>>2]|0; + $44 = (($42) + (($43*56)|0)|0); + HEAP32[$13>>2] = $44; + $45 = HEAP32[$4>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 40|0); + $48 = $9; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$13>>2]|0; + $55 = (_vdbePmaReaderInit($45,$47,$50,$53,$54,$12)|0); + HEAP32[$11>>2] = $55; + $56 = HEAP32[$13>>2]|0; + $57 = ((($56)) + 8|0); + $58 = $57; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = $9; + $65 = $64; + HEAP32[$65>>2] = $60; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = $63; + $68 = HEAP32[$10>>2]|0; + $69 = (($68) + 1)|0; + HEAP32[$10>>2] = $69; + } + $70 = HEAP32[$11>>2]|0; + $71 = ($70|0)!=(0); + if (!($71)) { + $74 = $9; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$6>>2]|0; + $81 = $80; + $82 = $81; + HEAP32[$82>>2] = $76; + $83 = (($81) + 4)|0; + $84 = $83; + HEAP32[$84>>2] = $79; + $85 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($85|0); + } + $72 = HEAP32[$8>>2]|0; + _vdbeMergeEngineFree($72); + $73 = HEAP32[$7>>2]|0; + HEAP32[$73>>2] = 0; + $74 = $9; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$6>>2]|0; + $81 = $80; + $82 = $81; + HEAP32[$82>>2] = $76; + $83 = (($81) + 4)|0; + $84 = $83; + HEAP32[$84>>2] = $79; + $85 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($85|0); +} +function _vdbeSorterAddToTree($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 1; + $18 = HEAP32[$8>>2]|0; + HEAP32[$13>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$9>>2]|0; + $21 = (_vdbeIncrMergerNew($19,$20,$14)|0); + HEAP32[$10>>2] = $21; + HEAP32[$12>>2] = 1; + while(1) { + $22 = HEAP32[$12>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = ($22|0)<($23|0); + if (!($24)) { + break; + } + $25 = HEAP32[$11>>2]|0; + $26 = $25<<4; + HEAP32[$11>>2] = $26; + $27 = HEAP32[$12>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$12>>2] = $28; + } + HEAP32[$12>>2] = 1; + while(1) { + $29 = HEAP32[$12>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = ($29|0)<($30|0); + $32 = HEAP32[$10>>2]|0; + $33 = ($32|0)==(0); + $34 = $31 ? $33 : 0; + if (!($34)) { + break; + } + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = (($35|0) / ($36|0))&-1; + $38 = (($37|0) % 16)&-1; + HEAP32[$15>>2] = $38; + $39 = HEAP32[$13>>2]|0; + $40 = ((($39)) + 12|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$15>>2]|0; + $43 = (($41) + (($42*56)|0)|0); + HEAP32[$16>>2] = $43; + $44 = HEAP32[$16>>2]|0; + $45 = ((($44)) + 48|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)==(0|0); + do { + if ($47) { + $48 = (_vdbeMergeEngineNew(16)|0); + HEAP32[$17>>2] = $48; + $49 = HEAP32[$17>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + HEAP32[$10>>2] = 7; + break; + } else { + $51 = HEAP32[$5>>2]|0; + $52 = HEAP32[$17>>2]|0; + $53 = HEAP32[$16>>2]|0; + $54 = ((($53)) + 48|0); + $55 = (_vdbeIncrMergerNew($51,$52,$54)|0); + HEAP32[$10>>2] = $55; + break; + } + } + } while(0); + $56 = HEAP32[$10>>2]|0; + $57 = ($56|0)==(0); + if ($57) { + $58 = HEAP32[$16>>2]|0; + $59 = ((($58)) + 48|0); + $60 = HEAP32[$59>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$13>>2] = $62; + $63 = HEAP32[$11>>2]|0; + $64 = (($63|0) / 16)&-1; + HEAP32[$11>>2] = $64; + } + $65 = HEAP32[$12>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$12>>2] = $66; + } + $67 = HEAP32[$10>>2]|0; + $68 = ($67|0)==(0); + $69 = HEAP32[$14>>2]|0; + if ($68) { + $70 = HEAP32[$13>>2]|0; + $71 = ((($70)) + 12|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$7>>2]|0; + $74 = (($73|0) % 16)&-1; + $75 = (($72) + (($74*56)|0)|0); + $76 = ((($75)) + 48|0); + HEAP32[$76>>2] = $69; + $77 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($77|0); + } else { + _vdbeIncrFree($69); + $77 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($77|0); + } + return (0)|0; +} +function _vdbePmaReaderInit($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 8|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + $13 = $8; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = $5; + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = $8; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (_vdbePmaReaderSeek($17,$18,$19,$22,$25)|0); + HEAP32[$11>>2] = $26; + $27 = HEAP32[$11>>2]|0; + $28 = ($27|0)==(0); + if ($28) { + $29 = $12; + $30 = $29; + HEAP32[$30>>2] = 0; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = 0; + $33 = HEAP32[$9>>2]|0; + $34 = (_vdbePmaReadVarint($33,$12)|0); + HEAP32[$11>>2] = $34; + $35 = HEAP32[$9>>2]|0; + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = $12; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (_i64Add(($38|0),($41|0),($44|0),($47|0))|0); + $49 = tempRet0; + $50 = HEAP32[$9>>2]|0; + $51 = ((($50)) + 8|0); + $52 = $51; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $49; + $56 = $12; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$10>>2]|0; + $63 = $62; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (($63) + 4)|0; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (_i64Add(($65|0),($68|0),($58|0),($61|0))|0); + $70 = tempRet0; + $71 = $62; + $72 = $71; + HEAP32[$72>>2] = $69; + $73 = (($71) + 4)|0; + $74 = $73; + HEAP32[$74>>2] = $70; + } + $75 = HEAP32[$11>>2]|0; + $76 = ($75|0)==(0); + if (!($76)) { + $79 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($79|0); + } + $77 = HEAP32[$9>>2]|0; + $78 = (_vdbePmaReaderNext($77)|0); + HEAP32[$11>>2] = $78; + $79 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($79|0); +} +function _sqlite3BtreeCursorHasMoved($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 66|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)!=(1); + $7 = $6&1; + STACKTOP = sp;return ($7|0); +} +function _handleMovedCursor($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 16|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3BtreeCursorRestore($6,$2)|0); + HEAP32[$3>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 56|0); + HEAP32[$9>>2] = 0; + $10 = HEAP32[$2>>2]|0; + $11 = ($10|0)!=(0); + if (!($11)) { + $14 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($14|0); + } + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 2|0); + HEAP8[$13>>0] = 1; + $14 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($14|0); +} +function _sqlite3BtreeCursorRestore($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 66|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)>=(3); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = (_btreeRestoreCursorPosition($11)|0); + $13 = $12; + } else { + $13 = 0; + } + HEAP32[$5>>2] = $13; + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)!=(0); + if ($15) { + $16 = HEAP32[$4>>2]|0; + HEAP32[$16>>2] = 1; + $17 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $17; + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); + } else { + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 66|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($21|0)!=(1); + $23 = HEAP32[$4>>2]|0; + $$sink = $22 ? 1 : 0; + HEAP32[$23>>2] = $$sink; + HEAP32[$2>>2] = 0; + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); + } + return (0)|0; +} +function _vdbeSorterRowkey($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 56|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)!=(0); + $10 = HEAP32[$2>>2]|0; + if (!($9)) { + $36 = ((($10)) + 36|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$3>>2]|0; + HEAP32[$39>>2] = $38; + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 36|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 8|0); + HEAP32[$4>>2] = $43; + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); + } + $11 = ((($10)) + 57|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)!=(0); + $14 = HEAP32[$2>>2]|0; + if ($13) { + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$5>>2] = $16; + } else { + $17 = ((($14)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($20) + (($27*56)|0)|0); + HEAP32[$5>>2] = $28; + } + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$3>>2]|0; + HEAP32[$32>>2] = $31; + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 32|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$4>>2] = $35; + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); +} +function _dropCell($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0); + if ($15) { + STACKTOP = sp;return; + } + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 56|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$9>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 64|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = $22<<1; + $24 = (($21) + ($23)|0); + HEAP32[$10>>2] = $24; + $25 = HEAP32[$10>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = $27 << 8; + $29 = HEAP32[$10>>2]|0; + $30 = ((($29)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $28 | $32; + HEAP32[$8>>2] = $33; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 5|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + HEAP32[$12>>2] = $37; + $38 = HEAP32[$8>>2]|0; + $39 = HEAP32[$9>>2]|0; + $40 = HEAP32[$12>>2]|0; + $41 = (($40) + 5)|0; + $42 = (($39) + ($41)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + $45 = $44 << 8; + $46 = HEAP32[$9>>2]|0; + $47 = HEAP32[$12>>2]|0; + $48 = (($47) + 5)|0; + $49 = (($46) + ($48)|0); + $50 = ((($49)) + 1|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = $45 | $52; + $54 = ($38>>>0)<($53>>>0); + if (!($54)) { + $55 = HEAP32[$8>>2]|0; + $56 = HEAP32[$6>>2]|0; + $57 = (($55) + ($56))|0; + $58 = HEAP32[$4>>2]|0; + $59 = ((($58)) + 52|0); + $60 = HEAP32[$59>>2]|0; + $61 = ((($60)) + 36|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($57>>>0)>($62>>>0); + if (!($63)) { + $66 = HEAP32[$4>>2]|0; + $67 = HEAP32[$8>>2]|0; + $68 = $67&65535; + $69 = HEAP32[$6>>2]|0; + $70 = $69&65535; + $71 = (_freeSpace($66,$68,$70)|0); + HEAP32[$11>>2] = $71; + $72 = HEAP32[$11>>2]|0; + $73 = ($72|0)!=(0); + if ($73) { + $74 = HEAP32[$11>>2]|0; + $75 = HEAP32[$7>>2]|0; + HEAP32[$75>>2] = $74; + STACKTOP = sp;return; + } + $76 = HEAP32[$4>>2]|0; + $77 = ((($76)) + 18|0); + $78 = HEAP16[$77>>1]|0; + $79 = (($78) + -1)<<16>>16; + HEAP16[$77>>1] = $79; + $80 = HEAP32[$4>>2]|0; + $81 = ((($80)) + 18|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = ($83|0)==(0); + if ($84) { + $85 = HEAP32[$9>>2]|0; + $86 = HEAP32[$12>>2]|0; + $87 = (($86) + 1)|0; + $88 = (($85) + ($87)|0); + ;HEAP8[$88>>0]=0|0;HEAP8[$88+1>>0]=0|0;HEAP8[$88+2>>0]=0|0;HEAP8[$88+3>>0]=0|0; + $89 = HEAP32[$9>>2]|0; + $90 = HEAP32[$12>>2]|0; + $91 = (($90) + 7)|0; + $92 = (($89) + ($91)|0); + HEAP8[$92>>0] = 0; + $93 = HEAP32[$4>>2]|0; + $94 = ((($93)) + 52|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($95)) + 36|0); + $97 = HEAP32[$96>>2]|0; + $98 = $97 >>> 8; + $99 = $98&255; + $100 = HEAP32[$9>>2]|0; + $101 = HEAP32[$12>>2]|0; + $102 = (($101) + 5)|0; + $103 = (($100) + ($102)|0); + HEAP8[$103>>0] = $99; + $104 = HEAP32[$4>>2]|0; + $105 = ((($104)) + 52|0); + $106 = HEAP32[$105>>2]|0; + $107 = ((($106)) + 36|0); + $108 = HEAP32[$107>>2]|0; + $109 = $108&255; + $110 = HEAP32[$9>>2]|0; + $111 = HEAP32[$12>>2]|0; + $112 = (($111) + 5)|0; + $113 = (($110) + ($112)|0); + $114 = ((($113)) + 1|0); + HEAP8[$114>>0] = $109; + $115 = HEAP32[$4>>2]|0; + $116 = ((($115)) + 52|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($117)) + 36|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$4>>2]|0; + $121 = ((($120)) + 5|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $124 = (($119) - ($123))|0; + $125 = HEAP32[$4>>2]|0; + $126 = ((($125)) + 6|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $129 = (($124) - ($128))|0; + $130 = (($129) - 8)|0; + $131 = $130&65535; + $132 = HEAP32[$4>>2]|0; + $133 = ((($132)) + 16|0); + HEAP16[$133>>1] = $131; + STACKTOP = sp;return; + } else { + $134 = HEAP32[$10>>2]|0; + $135 = HEAP32[$10>>2]|0; + $136 = ((($135)) + 2|0); + $137 = HEAP32[$4>>2]|0; + $138 = ((($137)) + 18|0); + $139 = HEAP16[$138>>1]|0; + $140 = $139&65535; + $141 = HEAP32[$5>>2]|0; + $142 = (($140) - ($141))|0; + $143 = $142<<1; + _memmove(($134|0),($136|0),($143|0))|0; + $144 = HEAP32[$4>>2]|0; + $145 = ((($144)) + 18|0); + $146 = HEAP16[$145>>1]|0; + $147 = $146&65535; + $148 = $147 >> 8; + $149 = $148&255; + $150 = HEAP32[$9>>2]|0; + $151 = HEAP32[$12>>2]|0; + $152 = (($151) + 3)|0; + $153 = (($150) + ($152)|0); + HEAP8[$153>>0] = $149; + $154 = HEAP32[$4>>2]|0; + $155 = ((($154)) + 18|0); + $156 = HEAP16[$155>>1]|0; + $157 = $156&255; + $158 = HEAP32[$9>>2]|0; + $159 = HEAP32[$12>>2]|0; + $160 = (($159) + 3)|0; + $161 = (($158) + ($160)|0); + $162 = ((($161)) + 1|0); + HEAP8[$162>>0] = $157; + $163 = HEAP32[$4>>2]|0; + $164 = ((($163)) + 16|0); + $165 = HEAP16[$164>>1]|0; + $166 = $165&65535; + $167 = (($166) + 2)|0; + $168 = $167&65535; + HEAP16[$164>>1] = $168; + STACKTOP = sp;return; + } + } + } + $64 = (_sqlite3CorruptError(64508)|0); + $65 = HEAP32[$7>>2]|0; + HEAP32[$65>>2] = $64; + STACKTOP = sp;return; +} +function _insertCell($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + HEAP32[$14>>2] = 0; + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)!=(0); + if (!($23)) { + $24 = HEAP32[$10>>2]|0; + $25 = (($24) + 2)|0; + $26 = HEAP32[$7>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28&65535; + $30 = ($25|0)>($29|0); + if (!($30)) { + $57 = HEAP32[$7>>2]|0; + $58 = ((($57)) + 72|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3PagerWrite($59)|0); + HEAP32[$18>>2] = $60; + $61 = HEAP32[$18>>2]|0; + $62 = ($61|0)!=(0); + if ($62) { + $63 = HEAP32[$18>>2]|0; + $64 = HEAP32[$13>>2]|0; + HEAP32[$64>>2] = $63; + STACKTOP = sp;return; + } + $65 = HEAP32[$7>>2]|0; + $66 = ((($65)) + 56|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$16>>2] = $67; + $68 = HEAP32[$7>>2]|0; + $69 = HEAP32[$10>>2]|0; + $70 = (_allocateSpace($68,$69,$14)|0); + HEAP32[$18>>2] = $70; + $71 = HEAP32[$18>>2]|0; + $72 = ($71|0)!=(0); + if ($72) { + $73 = HEAP32[$18>>2]|0; + $74 = HEAP32[$13>>2]|0; + HEAP32[$74>>2] = $73; + STACKTOP = sp;return; + } + $75 = HEAP32[$10>>2]|0; + $76 = (2 + ($75))|0; + $77 = $76&65535; + $78 = $77&65535; + $79 = HEAP32[$7>>2]|0; + $80 = ((($79)) + 16|0); + $81 = HEAP16[$80>>1]|0; + $82 = $81&65535; + $83 = (($82) - ($78))|0; + $84 = $83&65535; + HEAP16[$80>>1] = $84; + $85 = HEAP32[$16>>2]|0; + $86 = HEAP32[$14>>2]|0; + $87 = (($85) + ($86)|0); + $88 = HEAP32[$9>>2]|0; + $89 = HEAP32[$10>>2]|0; + _memcpy(($87|0),($88|0),($89|0))|0; + $90 = HEAP32[$12>>2]|0; + $91 = ($90|0)!=(0); + if ($91) { + $92 = HEAP32[$16>>2]|0; + $93 = HEAP32[$14>>2]|0; + $94 = (($92) + ($93)|0); + $95 = HEAP32[$12>>2]|0; + _sqlite3Put4byte($94,$95); + } + $96 = HEAP32[$7>>2]|0; + $97 = ((($96)) + 64|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$8>>2]|0; + $100 = $99<<1; + $101 = (($98) + ($100)|0); + HEAP32[$17>>2] = $101; + $102 = HEAP32[$17>>2]|0; + $103 = ((($102)) + 2|0); + $104 = HEAP32[$17>>2]|0; + $105 = HEAP32[$7>>2]|0; + $106 = ((($105)) + 18|0); + $107 = HEAP16[$106>>1]|0; + $108 = $107&65535; + $109 = HEAP32[$8>>2]|0; + $110 = (($108) - ($109))|0; + $111 = $110<<1; + _memmove(($103|0),($104|0),($111|0))|0; + $112 = HEAP32[$14>>2]|0; + $113 = $112 >> 8; + $114 = $113&255; + $115 = HEAP32[$17>>2]|0; + HEAP8[$115>>0] = $114; + $116 = HEAP32[$14>>2]|0; + $117 = $116&255; + $118 = HEAP32[$17>>2]|0; + $119 = ((($118)) + 1|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[$7>>2]|0; + $121 = ((($120)) + 18|0); + $122 = HEAP16[$121>>1]|0; + $123 = (($122) + 1)<<16>>16; + HEAP16[$121>>1] = $123; + $124 = HEAP32[$16>>2]|0; + $125 = HEAP32[$7>>2]|0; + $126 = ((($125)) + 5|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $129 = (($128) + 4)|0; + $130 = (($124) + ($129)|0); + $131 = HEAP8[$130>>0]|0; + $132 = (($131) + 1)<<24>>24; + HEAP8[$130>>0] = $132; + $133 = $132&255; + $134 = ($133|0)==(0); + if ($134) { + $135 = HEAP32[$16>>2]|0; + $136 = HEAP32[$7>>2]|0; + $137 = ((($136)) + 5|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = (($139) + 3)|0; + $141 = (($135) + ($140)|0); + $142 = HEAP8[$141>>0]|0; + $143 = (($142) + 1)<<24>>24; + HEAP8[$141>>0] = $143; + } + $144 = HEAP32[$7>>2]|0; + $145 = ((($144)) + 52|0); + $146 = HEAP32[$145>>2]|0; + $147 = ((($146)) + 17|0); + $148 = HEAP8[$147>>0]|0; + $149 = ($148<<24>>24)!=(0); + if (!($149)) { + STACKTOP = sp;return; + } + $150 = HEAP32[$7>>2]|0; + $151 = HEAP32[$9>>2]|0; + $152 = HEAP32[$13>>2]|0; + _ptrmapPutOvflPtr($150,$151,$152); + STACKTOP = sp;return; + } + } + $31 = HEAP32[$11>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = HEAP32[$11>>2]|0; + $34 = HEAP32[$9>>2]|0; + $35 = HEAP32[$10>>2]|0; + _memcpy(($33|0),($34|0),($35|0))|0; + $36 = HEAP32[$11>>2]|0; + HEAP32[$9>>2] = $36; + } + $37 = HEAP32[$12>>2]|0; + $38 = ($37|0)!=(0); + if ($38) { + $39 = HEAP32[$9>>2]|0; + $40 = HEAP32[$12>>2]|0; + _sqlite3Put4byte($39,$40); + } + $41 = HEAP32[$7>>2]|0; + $42 = ((($41)) + 1|0); + $43 = HEAP8[$42>>0]|0; + $44 = (($43) + 1)<<24>>24; + HEAP8[$42>>0] = $44; + $45 = $43&255; + HEAP32[$15>>2] = $45; + $46 = HEAP32[$9>>2]|0; + $47 = HEAP32[$7>>2]|0; + $48 = ((($47)) + 32|0); + $49 = HEAP32[$15>>2]|0; + $50 = (($48) + ($49<<2)|0); + HEAP32[$50>>2] = $46; + $51 = HEAP32[$8>>2]|0; + $52 = $51&65535; + $53 = HEAP32[$7>>2]|0; + $54 = ((($53)) + 22|0); + $55 = HEAP32[$15>>2]|0; + $56 = (($54) + ($55<<1)|0); + HEAP16[$56>>1] = $52; + STACKTOP = sp;return; +} +function _balance($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $1 = sp + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 36|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 36|0); + $15 = HEAP32[$14>>2]|0; + $16 = $15<<1; + $17 = (($16>>>0) / 3)&-1; + HEAP32[$3>>2] = $17; + HEAP32[$5>>2] = 0; + while(1) { + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 68|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20 << 24 >> 24; + HEAP32[$6>>2] = $21; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 120|0); + $24 = HEAP32[$6>>2]|0; + $25 = (($23) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$7>>2] = $26; + $27 = HEAP32[$6>>2]|0; + $28 = ($27|0)==(0); + $29 = HEAP32[$7>>2]|0; + $30 = ((($29)) + 1|0); + $31 = HEAP8[$30>>0]|0; + if ($28) { + $32 = ($31<<24>>24)!=(0); + if (!($32)) { + break; + } + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 120|0); + $36 = ((($35)) + 4|0); + $37 = (_balance_deeper($33,$36)|0); + HEAP32[$2>>2] = $37; + $38 = HEAP32[$2>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 68|0); + HEAP8[$41>>0] = 1; + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 80|0); + HEAP16[$43>>1] = 0; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 80|0); + $46 = ((($45)) + 2|0); + HEAP16[$46>>1] = 0; + } + } else { + $47 = $31&255; + $48 = ($47|0)==(0); + if ($48) { + $49 = HEAP32[$7>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51&65535; + $53 = HEAP32[$3>>2]|0; + $54 = ($52|0)<=($53|0); + if ($54) { + break; + } + } + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 120|0); + $57 = HEAP32[$6>>2]|0; + $58 = (($57) - 1)|0; + $59 = (($56) + ($58<<2)|0); + $60 = HEAP32[$59>>2]|0; + HEAP32[$8>>2] = $60; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 80|0); + $63 = HEAP32[$6>>2]|0; + $64 = (($63) - 1)|0; + $65 = (($62) + ($64<<1)|0); + $66 = HEAP16[$65>>1]|0; + $67 = $66&65535; + HEAP32[$9>>2] = $67; + $68 = HEAP32[$8>>2]|0; + $69 = ((($68)) + 72|0); + $70 = HEAP32[$69>>2]|0; + $71 = (_sqlite3PagerWrite($70)|0); + HEAP32[$2>>2] = $71; + $72 = HEAP32[$2>>2]|0; + $73 = ($72|0)==(0); + do { + if ($73) { + $74 = HEAP32[$7>>2]|0; + $75 = ((($74)) + 3|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = ($77|0)!=(0); + if ($78) { + $79 = HEAP32[$7>>2]|0; + $80 = ((($79)) + 1|0); + $81 = HEAP8[$80>>0]|0; + $82 = $81&255; + $83 = ($82|0)==(1); + if ($83) { + $84 = HEAP32[$7>>2]|0; + $85 = ((($84)) + 22|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = HEAP32[$7>>2]|0; + $89 = ((($88)) + 18|0); + $90 = HEAP16[$89>>1]|0; + $91 = $90&65535; + $92 = ($87|0)==($91|0); + if ($92) { + $93 = HEAP32[$8>>2]|0; + $94 = ((($93)) + 84|0); + $95 = HEAP32[$94>>2]|0; + $96 = ($95|0)!=(1); + if ($96) { + $97 = HEAP32[$8>>2]|0; + $98 = ((($97)) + 18|0); + $99 = HEAP16[$98>>1]|0; + $100 = $99&65535; + $101 = HEAP32[$9>>2]|0; + $102 = ($100|0)==($101|0); + if ($102) { + $103 = HEAP32[$8>>2]|0; + $104 = HEAP32[$7>>2]|0; + $105 = (_balance_quick($103,$104,$4)|0); + HEAP32[$2>>2] = $105; + break; + } + } + } + } + } + $106 = HEAP32[$1>>2]|0; + $107 = ((($106)) + 4|0); + $108 = HEAP32[$107>>2]|0; + $109 = ((($108)) + 32|0); + $110 = HEAP32[$109>>2]|0; + $111 = (_sqlite3PageMalloc($110)|0); + HEAP32[$10>>2] = $111; + $112 = HEAP32[$8>>2]|0; + $113 = HEAP32[$9>>2]|0; + $114 = HEAP32[$10>>2]|0; + $115 = HEAP32[$6>>2]|0; + $116 = ($115|0)==(1); + $117 = $116&1; + $118 = HEAP32[$1>>2]|0; + $119 = ((($118)) + 67|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = $121 & 1; + $123 = (_balance_nonroot($112,$113,$114,$117,$122)|0); + HEAP32[$2>>2] = $123; + $124 = HEAP32[$5>>2]|0; + $125 = ($124|0)!=(0|0); + if ($125) { + $126 = HEAP32[$5>>2]|0; + _sqlite3PageFree($126); + } + $127 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $127; + } + } while(0); + $128 = HEAP32[$7>>2]|0; + $129 = ((($128)) + 1|0); + HEAP8[$129>>0] = 0; + $130 = HEAP32[$7>>2]|0; + _releasePage($130); + $131 = HEAP32[$1>>2]|0; + $132 = ((($131)) + 68|0); + $133 = HEAP8[$132>>0]|0; + $134 = (($133) + -1)<<24>>24; + HEAP8[$132>>0] = $134; + } + $135 = HEAP32[$2>>2]|0; + $136 = ($135|0)==(0); + if (!($136)) { + break; + } + } + $137 = HEAP32[$5>>2]|0; + $138 = ($137|0)!=(0|0); + if (!($138)) { + $140 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($140|0); + } + $139 = HEAP32[$5>>2]|0; + _sqlite3PageFree($139); + $140 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($140|0); +} +function _balance_deeper($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 52|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$8>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 72|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3PagerWrite($14)|0); + HEAP32[$5>>2] = $15; + $16 = HEAP32[$5>>2]|0; + $17 = ($16|0)==(0); + if ($17) { + $18 = HEAP32[$8>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 84|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_allocateBtreePage($18,$6,$7,$21,0)|0); + HEAP32[$5>>2] = $22; + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$6>>2]|0; + _copyNodeContent($23,$24,$5); + $25 = HEAP32[$8>>2]|0; + $26 = ((($25)) + 17|0); + $27 = HEAP8[$26>>0]|0; + $28 = ($27<<24>>24)!=(0); + if ($28) { + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 84|0); + $33 = HEAP32[$32>>2]|0; + _ptrmapPut($29,$30,5,$33,$5); + } + } + $34 = HEAP32[$5>>2]|0; + $35 = ($34|0)!=(0); + if ($35) { + $36 = HEAP32[$4>>2]|0; + HEAP32[$36>>2] = 0; + $37 = HEAP32[$6>>2]|0; + _releasePage($37); + $38 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $38; + $81 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($81|0); + } else { + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 22|0); + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 22|0); + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 1|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = $46<<1; + _memcpy(($40|0),($42|0),($47|0))|0; + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 32|0); + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 32|0); + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 1|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55<<2; + _memcpy(($49|0),($51|0),($56|0))|0; + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 1|0); + $59 = HEAP8[$58>>0]|0; + $60 = HEAP32[$6>>2]|0; + $61 = ((($60)) + 1|0); + HEAP8[$61>>0] = $59; + $62 = HEAP32[$3>>2]|0; + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 56|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = $67 & -9; + _zeroPage($62,$68); + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 56|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$3>>2]|0; + $73 = ((($72)) + 5|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + $76 = (($75) + 8)|0; + $77 = (($71) + ($76)|0); + $78 = HEAP32[$7>>2]|0; + _sqlite3Put4byte($77,$78); + $79 = HEAP32[$6>>2]|0; + $80 = HEAP32[$4>>2]|0; + HEAP32[$80>>2] = $79; + HEAP32[$2>>2] = 0; + $81 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($81|0); + } + return (0)|0; +} +function _balance_quick($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp + 44|0; + $14 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 52|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$7>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 18|0); + $20 = HEAP16[$19>>1]|0; + $21 = $20&65535; + $22 = ($21|0)==(0); + if ($22) { + $23 = (_sqlite3CorruptError(65006)|0); + HEAP32[$3>>2] = $23; + $166 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($166|0); + } + $24 = HEAP32[$7>>2]|0; + $25 = (_allocateBtreePage($24,$8,$10,0,0)|0); + HEAP32[$9>>2] = $25; + $26 = HEAP32[$9>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = HEAP32[$6>>2]|0; + $29 = ((($28)) + 4|0); + HEAP32[$11>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 32|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$12>>2] = $32; + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 76|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$5>>2]|0; + $37 = HEAP32[$12>>2]|0; + $38 = (FUNCTION_TABLE_iii[$35 & 255]($36,$37)|0); + HEAP16[$13>>1] = $38; + $39 = HEAP32[$8>>2]|0; + _zeroPage($39,13); + $40 = HEAP32[$8>>2]|0; + $41 = (_rebuildPage($40,1,$12,$13)|0); + HEAP32[$9>>2] = $41; + $42 = HEAP32[$9>>2]|0; + $43 = ($42|0)!=(0); + if ($43) { + $44 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $44; + $166 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($166|0); + } + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 36|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = ((($48)) + 14|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = (($47) - ($51))|0; + $53 = (($52) - 2)|0; + $54 = HEAP16[$13>>1]|0; + $55 = $54&65535; + $56 = (($53) - ($55))|0; + $57 = $56&65535; + $58 = HEAP32[$8>>2]|0; + $59 = ((($58)) + 16|0); + HEAP16[$59>>1] = $57; + $60 = HEAP32[$7>>2]|0; + $61 = ((($60)) + 17|0); + $62 = HEAP8[$61>>0]|0; + $63 = ($62<<24>>24)!=(0); + if ($63) { + $64 = HEAP32[$7>>2]|0; + $65 = HEAP32[$10>>2]|0; + $66 = HEAP32[$4>>2]|0; + $67 = ((($66)) + 84|0); + $68 = HEAP32[$67>>2]|0; + _ptrmapPut($64,$65,5,$68,$9); + $69 = HEAP16[$13>>1]|0; + $70 = $69&65535; + $71 = HEAP32[$8>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP16[$72>>1]|0; + $74 = $73&65535; + $75 = ($70|0)>($74|0); + if ($75) { + $76 = HEAP32[$8>>2]|0; + $77 = HEAP32[$12>>2]|0; + _ptrmapPutOvflPtr($76,$77,$9); + } + } + $78 = HEAP32[$5>>2]|0; + $79 = ((($78)) + 56|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$5>>2]|0; + $82 = ((($81)) + 20|0); + $83 = HEAP16[$82>>1]|0; + $84 = $83&65535; + $85 = HEAP32[$5>>2]|0; + $86 = ((($85)) + 64|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$5>>2]|0; + $89 = ((($88)) + 18|0); + $90 = HEAP16[$89>>1]|0; + $91 = $90&65535; + $92 = (($91) - 1)|0; + $93 = $92<<1; + $94 = (($87) + ($93)|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = $96 << 8; + $98 = HEAP32[$5>>2]|0; + $99 = ((($98)) + 64|0); + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$5>>2]|0; + $102 = ((($101)) + 18|0); + $103 = HEAP16[$102>>1]|0; + $104 = $103&65535; + $105 = (($104) - 1)|0; + $106 = $105<<1; + $107 = (($100) + ($106)|0); + $108 = ((($107)) + 1|0); + $109 = HEAP8[$108>>0]|0; + $110 = $109&255; + $111 = $97 | $110; + $112 = $84 & $111; + $113 = (($80) + ($112)|0); + HEAP32[$12>>2] = $113; + $114 = HEAP32[$12>>2]|0; + $115 = ((($114)) + 9|0); + HEAP32[$14>>2] = $115; + while(1) { + $116 = HEAP32[$12>>2]|0; + $117 = ((($116)) + 1|0); + HEAP32[$12>>2] = $117; + $118 = HEAP8[$116>>0]|0; + $119 = $118&255; + $120 = $119 & 128; + $121 = ($120|0)!=(0); + if (!($121)) { + break; + } + $122 = HEAP32[$12>>2]|0; + $123 = HEAP32[$14>>2]|0; + $124 = ($122>>>0)<($123>>>0); + if (!($124)) { + break; + } + } + $125 = HEAP32[$12>>2]|0; + $126 = ((($125)) + 9|0); + HEAP32[$14>>2] = $126; + while(1) { + $127 = HEAP32[$12>>2]|0; + $128 = ((($127)) + 1|0); + HEAP32[$12>>2] = $128; + $129 = HEAP8[$127>>0]|0; + $130 = HEAP32[$11>>2]|0; + $131 = ((($130)) + 1|0); + HEAP32[$11>>2] = $131; + HEAP8[$130>>0] = $129; + $132 = $129&255; + $133 = $132 & 128; + $134 = ($133|0)!=(0); + if (!($134)) { + break; + } + $135 = HEAP32[$12>>2]|0; + $136 = HEAP32[$14>>2]|0; + $137 = ($135>>>0)<($136>>>0); + if (!($137)) { + break; + } + } + $138 = HEAP32[$9>>2]|0; + $139 = ($138|0)==(0); + if ($139) { + $140 = HEAP32[$4>>2]|0; + $141 = HEAP32[$4>>2]|0; + $142 = ((($141)) + 18|0); + $143 = HEAP16[$142>>1]|0; + $144 = $143&65535; + $145 = HEAP32[$6>>2]|0; + $146 = HEAP32[$11>>2]|0; + $147 = HEAP32[$6>>2]|0; + $148 = $146; + $149 = $147; + $150 = (($148) - ($149))|0; + $151 = HEAP32[$5>>2]|0; + $152 = ((($151)) + 84|0); + $153 = HEAP32[$152>>2]|0; + _insertCell($140,$144,$145,$150,0,$153,$9); + } + $154 = HEAP32[$4>>2]|0; + $155 = ((($154)) + 56|0); + $156 = HEAP32[$155>>2]|0; + $157 = HEAP32[$4>>2]|0; + $158 = ((($157)) + 5|0); + $159 = HEAP8[$158>>0]|0; + $160 = $159&255; + $161 = (($160) + 8)|0; + $162 = (($156) + ($161)|0); + $163 = HEAP32[$10>>2]|0; + _sqlite3Put4byte($162,$163); + $164 = HEAP32[$8>>2]|0; + _releasePage($164); + } + $165 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $165; + $166 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($166|0); +} +function _balance_nonroot($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$sink = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0; + var $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, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0; + var $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, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0; + var $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, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0; + var $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, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0; + var $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0; + var $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0; + var $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0; + var $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0; + var $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0; + var $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0; + var $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0; + var $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0; + var $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0; + var $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0; + var $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0; + var $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0; + var $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0; + var $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0; + var $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0; + var $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0; + var $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0; + var $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0; + var $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0; + var $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0; + var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0; + var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0; + var $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0; + var $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0; + var $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, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0; + var $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, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; + var $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, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0; + var $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, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; + var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; + var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; + var $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, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; + var $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, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0; + var $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0; + var $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0; + var $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0; + var $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0; + var $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0; + var $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; + var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; + var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; + var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; + var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; + var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; + var $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0; + var $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0; + var $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0; + var $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0; + var $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0; + var $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0; + var $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0; + var $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0; + var $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0; + var $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0; + var $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0; + var $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0; + var $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0; + var $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0; + var $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0; + var $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0; + var $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0; + var $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0; + var $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0; + var $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0; + var $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0; + var $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0; + var $996 = 0, $997 = 0, $998 = 0, $999 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; + $5 = sp + 412|0; + $6 = sp + 408|0; + $7 = sp + 404|0; + $8 = sp + 400|0; + $9 = sp + 396|0; + $10 = sp + 392|0; + $11 = sp + 388|0; + $12 = sp + 384|0; + $13 = sp + 380|0; + $14 = sp + 376|0; + $15 = sp + 372|0; + $16 = sp + 368|0; + $17 = sp + 364|0; + $18 = sp + 360|0; + $19 = sp + 356|0; + $20 = sp + 430|0; + $21 = sp + 352|0; + $22 = sp + 348|0; + $23 = sp + 344|0; + $24 = sp + 340|0; + $25 = sp + 336|0; + $26 = sp + 332|0; + $27 = sp + 320|0; + $28 = sp + 300|0; + $29 = sp + 296|0; + $30 = sp + 288|0; + $31 = sp + 264|0; + $32 = sp + 244|0; + $33 = sp + 224|0; + $34 = sp + 220|0; + $35 = sp + 216|0; + $36 = sp + 432|0; + $37 = sp + 196|0; + $38 = sp + 176|0; + $39 = sp + 420|0; + $40 = sp + 160|0; + $41 = sp + 152|0; + $42 = sp + 148|0; + $43 = sp + 144|0; + $44 = sp + 140|0; + $45 = sp + 418|0; + $46 = sp + 136|0; + $47 = sp + 132|0; + $48 = sp + 416|0; + $49 = sp + 128|0; + $50 = sp + 124|0; + $51 = sp + 120|0; + $52 = sp + 116|0; + $53 = sp + 112|0; + $54 = sp + 108|0; + $55 = sp + 104|0; + $56 = sp + 100|0; + $57 = sp + 96|0; + $58 = sp + 92|0; + $59 = sp + 88|0; + $60 = sp + 84|0; + $61 = sp + 80|0; + $62 = sp + 76|0; + $63 = sp + 72|0; + $64 = sp + 68|0; + $65 = sp + 64|0; + $66 = sp + 60|0; + $67 = sp + 56|0; + $68 = sp + 52|0; + $69 = sp + 48|0; + $70 = sp + 44|0; + $71 = sp; + $72 = sp + 40|0; + $73 = sp + 36|0; + $74 = sp + 32|0; + $75 = sp + 28|0; + $76 = sp + 24|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$19>>2] = 0; + HEAP32[$24>>2] = 0; + HEAP32[$25>>2] = 0; + ;HEAP8[$36>>0]=0|0;HEAP8[$36+1>>0]=0|0;HEAP8[$36+2>>0]=0|0;HEAP8[$36+3>>0]=0|0;HEAP8[$36+4>>0]=0|0; + HEAP32[$40>>2] = 0; + $77 = ((($40)) + 8|0); + HEAP32[$77>>2] = 0; + $78 = HEAP32[$6>>2]|0; + $79 = ((($78)) + 52|0); + $80 = HEAP32[$79>>2]|0; + HEAP32[$11>>2] = $80; + $81 = HEAP32[$8>>2]|0; + $82 = ($81|0)!=(0|0); + if (!($82)) { + HEAP32[$5>>2] = 7; + $1447 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($1447|0); + } + $83 = HEAP32[$6>>2]|0; + $84 = ((($83)) + 1|0); + $85 = HEAP8[$84>>0]|0; + $86 = $85&255; + $87 = HEAP32[$6>>2]|0; + $88 = ((($87)) + 18|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89&65535; + $91 = (($86) + ($90))|0; + HEAP32[$15>>2] = $91; + $92 = HEAP32[$15>>2]|0; + $93 = ($92|0)<(2); + if ($93) { + HEAP32[$18>>2] = 0; + } else { + $94 = HEAP32[$7>>2]|0; + $95 = ($94|0)==(0); + do { + if ($95) { + HEAP32[$18>>2] = 0; + } else { + $96 = HEAP32[$7>>2]|0; + $97 = HEAP32[$15>>2]|0; + $98 = ($96|0)==($97|0); + if ($98) { + $99 = HEAP32[$15>>2]|0; + $100 = (($99) - 2)|0; + $101 = HEAP32[$10>>2]|0; + $102 = (($100) + ($101))|0; + HEAP32[$18>>2] = $102; + break; + } else { + $103 = HEAP32[$7>>2]|0; + $104 = (($103) - 1)|0; + HEAP32[$18>>2] = $104; + break; + } + } + } while(0); + $105 = HEAP32[$10>>2]|0; + $106 = (2 - ($105))|0; + HEAP32[$15>>2] = $106; + } + $107 = HEAP32[$15>>2]|0; + $108 = (($107) + 1)|0; + HEAP32[$14>>2] = $108; + $109 = HEAP32[$15>>2]|0; + $110 = HEAP32[$18>>2]|0; + $111 = (($109) + ($110))|0; + $112 = HEAP32[$6>>2]|0; + $113 = ((($112)) + 1|0); + $114 = HEAP8[$113>>0]|0; + $115 = $114&255; + $116 = (($111) - ($115))|0; + $117 = HEAP32[$6>>2]|0; + $118 = ((($117)) + 18|0); + $119 = HEAP16[$118>>1]|0; + $120 = $119&65535; + $121 = ($116|0)==($120|0); + $122 = HEAP32[$6>>2]|0; + $123 = ((($122)) + 56|0); + $124 = HEAP32[$123>>2]|0; + $125 = HEAP32[$6>>2]|0; + if ($121) { + $126 = ((($125)) + 5|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $129 = (($128) + 8)|0; + $130 = (($124) + ($129)|0); + HEAP32[$29>>2] = $130; + } else { + $131 = ((($125)) + 20|0); + $132 = HEAP16[$131>>1]|0; + $133 = $132&65535; + $134 = HEAP32[$6>>2]|0; + $135 = ((($134)) + 64|0); + $136 = HEAP32[$135>>2]|0; + $137 = HEAP32[$15>>2]|0; + $138 = HEAP32[$18>>2]|0; + $139 = (($137) + ($138))|0; + $140 = HEAP32[$6>>2]|0; + $141 = ((($140)) + 1|0); + $142 = HEAP8[$141>>0]|0; + $143 = $142&255; + $144 = (($139) - ($143))|0; + $145 = $144<<1; + $146 = (($136) + ($145)|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; + $149 = $148 << 8; + $150 = HEAP32[$6>>2]|0; + $151 = ((($150)) + 64|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$15>>2]|0; + $154 = HEAP32[$18>>2]|0; + $155 = (($153) + ($154))|0; + $156 = HEAP32[$6>>2]|0; + $157 = ((($156)) + 1|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = (($155) - ($159))|0; + $161 = $160<<1; + $162 = (($152) + ($161)|0); + $163 = ((($162)) + 1|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164&255; + $166 = $149 | $165; + $167 = $133 & $166; + $168 = (($124) + ($167)|0); + HEAP32[$29>>2] = $168; + } + $169 = HEAP32[$29>>2]|0; + $170 = (_sqlite3Get4byte($169)|0); + HEAP32[$35>>2] = $170; + while(1) { + $171 = HEAP32[$11>>2]|0; + $172 = HEAP32[$35>>2]|0; + $173 = HEAP32[$15>>2]|0; + $174 = (($27) + ($173<<2)|0); + $175 = (_getAndInitPage($171,$172,$174,0,0)|0); + HEAP32[$19>>2] = $175; + $176 = HEAP32[$19>>2]|0; + $177 = ($176|0)!=(0); + if ($177) { + label = 16; + break; + } + $181 = HEAP32[$15>>2]|0; + $182 = (($27) + ($181<<2)|0); + $183 = HEAP32[$182>>2]|0; + $184 = ((($183)) + 18|0); + $185 = HEAP16[$184>>1]|0; + $186 = $185&65535; + $187 = (1 + ($186))|0; + $188 = HEAP32[$15>>2]|0; + $189 = (($27) + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ((($190)) + 1|0); + $192 = HEAP8[$191>>0]|0; + $193 = $192&255; + $194 = (($187) + ($193))|0; + $195 = HEAP32[$12>>2]|0; + $196 = (($195) + ($194))|0; + HEAP32[$12>>2] = $196; + $197 = HEAP32[$15>>2]|0; + $198 = (($197) + -1)|0; + HEAP32[$15>>2] = $198; + $199 = ($197|0)==(0); + if ($199) { + label = 26; + break; + } + $200 = HEAP32[$15>>2]|0; + $201 = HEAP32[$18>>2]|0; + $202 = (($200) + ($201))|0; + $203 = HEAP32[$6>>2]|0; + $204 = ((($203)) + 22|0); + $205 = HEAP16[$204>>1]|0; + $206 = $205&65535; + $207 = ($202|0)==($206|0); + if ($207) { + $208 = HEAP32[$6>>2]|0; + $209 = ((($208)) + 1|0); + $210 = HEAP8[$209>>0]|0; + $211 = $210&255; + $212 = ($211|0)!=(0); + if ($212) { + $213 = HEAP32[$6>>2]|0; + $214 = ((($213)) + 32|0); + $215 = HEAP32[$214>>2]|0; + $216 = HEAP32[$15>>2]|0; + $217 = (($30) + ($216<<2)|0); + HEAP32[$217>>2] = $215; + $218 = HEAP32[$15>>2]|0; + $219 = (($30) + ($218<<2)|0); + $220 = HEAP32[$219>>2]|0; + $221 = (_sqlite3Get4byte($220)|0); + HEAP32[$35>>2] = $221; + $222 = HEAP32[$6>>2]|0; + $223 = ((($222)) + 76|0); + $224 = HEAP32[$223>>2]|0; + $225 = HEAP32[$6>>2]|0; + $226 = HEAP32[$15>>2]|0; + $227 = (($30) + ($226<<2)|0); + $228 = HEAP32[$227>>2]|0; + $229 = (FUNCTION_TABLE_iii[$224 & 255]($225,$228)|0); + $230 = $229&65535; + $231 = HEAP32[$15>>2]|0; + $232 = (($33) + ($231<<2)|0); + HEAP32[$232>>2] = $230; + $233 = HEAP32[$6>>2]|0; + $234 = ((($233)) + 1|0); + HEAP8[$234>>0] = 0; + continue; + } + } + $235 = HEAP32[$6>>2]|0; + $236 = ((($235)) + 56|0); + $237 = HEAP32[$236>>2]|0; + $238 = HEAP32[$6>>2]|0; + $239 = ((($238)) + 20|0); + $240 = HEAP16[$239>>1]|0; + $241 = $240&65535; + $242 = HEAP32[$6>>2]|0; + $243 = ((($242)) + 64|0); + $244 = HEAP32[$243>>2]|0; + $245 = HEAP32[$15>>2]|0; + $246 = HEAP32[$18>>2]|0; + $247 = (($245) + ($246))|0; + $248 = HEAP32[$6>>2]|0; + $249 = ((($248)) + 1|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = (($247) - ($251))|0; + $253 = $252<<1; + $254 = (($244) + ($253)|0); + $255 = HEAP8[$254>>0]|0; + $256 = $255&255; + $257 = $256 << 8; + $258 = HEAP32[$6>>2]|0; + $259 = ((($258)) + 64|0); + $260 = HEAP32[$259>>2]|0; + $261 = HEAP32[$15>>2]|0; + $262 = HEAP32[$18>>2]|0; + $263 = (($261) + ($262))|0; + $264 = HEAP32[$6>>2]|0; + $265 = ((($264)) + 1|0); + $266 = HEAP8[$265>>0]|0; + $267 = $266&255; + $268 = (($263) - ($267))|0; + $269 = $268<<1; + $270 = (($260) + ($269)|0); + $271 = ((($270)) + 1|0); + $272 = HEAP8[$271>>0]|0; + $273 = $272&255; + $274 = $257 | $273; + $275 = $241 & $274; + $276 = (($237) + ($275)|0); + $277 = HEAP32[$15>>2]|0; + $278 = (($30) + ($277<<2)|0); + HEAP32[$278>>2] = $276; + $279 = HEAP32[$15>>2]|0; + $280 = (($30) + ($279<<2)|0); + $281 = HEAP32[$280>>2]|0; + $282 = (_sqlite3Get4byte($281)|0); + HEAP32[$35>>2] = $282; + $283 = HEAP32[$6>>2]|0; + $284 = ((($283)) + 76|0); + $285 = HEAP32[$284>>2]|0; + $286 = HEAP32[$6>>2]|0; + $287 = HEAP32[$15>>2]|0; + $288 = (($30) + ($287<<2)|0); + $289 = HEAP32[$288>>2]|0; + $290 = (FUNCTION_TABLE_iii[$285 & 255]($286,$289)|0); + $291 = $290&65535; + $292 = HEAP32[$15>>2]|0; + $293 = (($33) + ($292<<2)|0); + HEAP32[$293>>2] = $291; + $294 = HEAP32[$11>>2]|0; + $295 = ((($294)) + 22|0); + $296 = HEAP16[$295>>1]|0; + $297 = $296&65535; + $298 = $297 & 4; + $299 = ($298|0)!=(0); + if ($299) { + $300 = HEAP32[$15>>2]|0; + $301 = (($30) + ($300<<2)|0); + $302 = HEAP32[$301>>2]|0; + $303 = $302; + $304 = HEAP32[$6>>2]|0; + $305 = ((($304)) + 56|0); + $306 = HEAP32[$305>>2]|0; + $307 = $306; + $308 = (($303) - ($307))|0; + HEAP32[$41>>2] = $308; + $309 = HEAP32[$41>>2]|0; + $310 = HEAP32[$15>>2]|0; + $311 = (($33) + ($310<<2)|0); + $312 = HEAP32[$311>>2]|0; + $313 = (($309) + ($312))|0; + $314 = HEAP32[$11>>2]|0; + $315 = ((($314)) + 36|0); + $316 = HEAP32[$315>>2]|0; + $317 = ($313|0)>($316|0); + if ($317) { + label = 23; + break; + } + $322 = HEAP32[$8>>2]|0; + $323 = HEAP32[$41>>2]|0; + $324 = (($322) + ($323)|0); + $325 = HEAP32[$15>>2]|0; + $326 = (($30) + ($325<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = HEAP32[$15>>2]|0; + $329 = (($33) + ($328<<2)|0); + $330 = HEAP32[$329>>2]|0; + _memcpy(($324|0),($327|0),($330|0))|0; + $331 = HEAP32[$8>>2]|0; + $332 = HEAP32[$15>>2]|0; + $333 = (($30) + ($332<<2)|0); + $334 = HEAP32[$333>>2]|0; + $335 = HEAP32[$6>>2]|0; + $336 = ((($335)) + 56|0); + $337 = HEAP32[$336>>2]|0; + $338 = $334; + $339 = $337; + $340 = (($338) - ($339))|0; + $341 = (($331) + ($340)|0); + $342 = HEAP32[$15>>2]|0; + $343 = (($30) + ($342<<2)|0); + HEAP32[$343>>2] = $341; + } + $344 = HEAP32[$6>>2]|0; + $345 = HEAP32[$15>>2]|0; + $346 = HEAP32[$18>>2]|0; + $347 = (($345) + ($346))|0; + $348 = HEAP32[$6>>2]|0; + $349 = ((($348)) + 1|0); + $350 = HEAP8[$349>>0]|0; + $351 = $350&255; + $352 = (($347) - ($351))|0; + $353 = HEAP32[$15>>2]|0; + $354 = (($33) + ($353<<2)|0); + $355 = HEAP32[$354>>2]|0; + _dropCell($344,$352,$355,$19); + } + L32: do { + if ((label|0) == 16) { + $178 = HEAP32[$15>>2]|0; + $179 = (($178) + 1)|0; + $180 = $179<<2; + _memset(($27|0),0,($180|0))|0; + } + else if ((label|0) == 23) { + $318 = (_sqlite3CorruptError(65347)|0); + HEAP32[$19>>2] = $318; + $319 = HEAP32[$15>>2]|0; + $320 = (($319) + 1)|0; + $321 = $320<<2; + _memset(($27|0),0,($321|0))|0; + } + else if ((label|0) == 26) { + $356 = HEAP32[$12>>2]|0; + $357 = (($356) + 3)|0; + $358 = $357 & -4; + HEAP32[$12>>2] = $358; + $359 = HEAP32[$12>>2]|0; + $360 = $359<<2; + $361 = HEAP32[$12>>2]|0; + $362 = $361<<1; + $363 = (($360) + ($362))|0; + $364 = HEAP32[$11>>2]|0; + $365 = ((($364)) + 32|0); + $366 = HEAP32[$365>>2]|0; + $367 = (($363) + ($366))|0; + HEAP32[$26>>2] = $367; + $368 = HEAP32[$26>>2]|0; + $369 = (_sqlite3ScratchMalloc($368)|0); + $370 = ((($40)) + 8|0); + HEAP32[$370>>2] = $369; + $371 = ((($40)) + 8|0); + $372 = HEAP32[$371>>2]|0; + $373 = ($372|0)==(0|0); + if ($373) { + HEAP32[$19>>2] = 7; + break; + } + $374 = ((($40)) + 8|0); + $375 = HEAP32[$374>>2]|0; + $376 = HEAP32[$12>>2]|0; + $377 = (($375) + ($376<<2)|0); + $378 = ((($40)) + 12|0); + HEAP32[$378>>2] = $377; + $379 = ((($40)) + 12|0); + $380 = HEAP32[$379>>2]|0; + $381 = HEAP32[$12>>2]|0; + $382 = (($380) + ($381<<1)|0); + HEAP32[$34>>2] = $382; + $383 = HEAP32[$27>>2]|0; + $384 = ((($40)) + 4|0); + HEAP32[$384>>2] = $383; + $385 = ((($40)) + 4|0); + $386 = HEAP32[$385>>2]|0; + $387 = ((($386)) + 4|0); + $388 = HEAP8[$387>>0]|0; + $389 = $388&255; + $390 = $389<<2; + $391 = $390&65535; + HEAP16[$20>>1] = $391; + $392 = ((($40)) + 4|0); + $393 = HEAP32[$392>>2]|0; + $394 = ((($393)) + 3|0); + $395 = HEAP8[$394>>0]|0; + $396 = $395&255; + HEAP32[$21>>2] = $396; + HEAP32[$15>>2] = 0; + while(1) { + $397 = HEAP32[$15>>2]|0; + $398 = HEAP32[$14>>2]|0; + $399 = ($397|0)<($398|0); + if (!($399)) { + break; + } + $400 = HEAP32[$15>>2]|0; + $401 = (($27) + ($400<<2)|0); + $402 = HEAP32[$401>>2]|0; + HEAP32[$42>>2] = $402; + $403 = HEAP32[$42>>2]|0; + $404 = ((($403)) + 18|0); + $405 = HEAP16[$404>>1]|0; + $406 = $405&65535; + HEAP32[$43>>2] = $406; + $407 = HEAP32[$42>>2]|0; + $408 = ((($407)) + 56|0); + $409 = HEAP32[$408>>2]|0; + HEAP32[$44>>2] = $409; + $410 = HEAP32[$42>>2]|0; + $411 = ((($410)) + 20|0); + $412 = HEAP16[$411>>1]|0; + HEAP16[$45>>1] = $412; + $413 = HEAP32[$44>>2]|0; + $414 = HEAP32[$42>>2]|0; + $415 = ((($414)) + 14|0); + $416 = HEAP16[$415>>1]|0; + $417 = $416&65535; + $418 = (($413) + ($417)|0); + HEAP32[$46>>2] = $418; + $419 = HEAP32[$42>>2]|0; + $420 = ((($419)) + 56|0); + $421 = HEAP32[$420>>2]|0; + $422 = HEAP8[$421>>0]|0; + $423 = $422&255; + $424 = HEAP32[$27>>2]|0; + $425 = ((($424)) + 56|0); + $426 = HEAP32[$425>>2]|0; + $427 = HEAP8[$426>>0]|0; + $428 = $427&255; + $429 = ($423|0)!=($428|0); + if ($429) { + label = 31; + break; + } + $431 = ((($40)) + 12|0); + $432 = HEAP32[$431>>2]|0; + $433 = HEAP32[$40>>2]|0; + $434 = (($432) + ($433<<1)|0); + $435 = HEAP32[$43>>2]|0; + $436 = HEAP32[$42>>2]|0; + $437 = ((($436)) + 1|0); + $438 = HEAP8[$437>>0]|0; + $439 = $438&255; + $440 = (($435) + ($439))|0; + $441 = $440<<1; + _memset(($434|0),0,($441|0))|0; + $442 = HEAP32[$42>>2]|0; + $443 = ((($442)) + 1|0); + $444 = HEAP8[$443>>0]|0; + $445 = $444&255; + $446 = ($445|0)>(0); + L43: do { + if ($446) { + $447 = HEAP32[$42>>2]|0; + $448 = ((($447)) + 22|0); + $449 = HEAP16[$448>>1]|0; + $450 = $449&65535; + HEAP32[$43>>2] = $450; + HEAP32[$16>>2] = 0; + while(1) { + $451 = HEAP32[$16>>2]|0; + $452 = HEAP32[$43>>2]|0; + $453 = ($451|0)<($452|0); + if (!($453)) { + break; + } + $454 = HEAP32[$44>>2]|0; + $455 = HEAP16[$45>>1]|0; + $456 = $455&65535; + $457 = HEAP32[$46>>2]|0; + $458 = HEAP8[$457>>0]|0; + $459 = $458&255; + $460 = $459 << 8; + $461 = HEAP32[$46>>2]|0; + $462 = ((($461)) + 1|0); + $463 = HEAP8[$462>>0]|0; + $464 = $463&255; + $465 = $460 | $464; + $466 = $456 & $465; + $467 = (($454) + ($466)|0); + $468 = ((($40)) + 8|0); + $469 = HEAP32[$468>>2]|0; + $470 = HEAP32[$40>>2]|0; + $471 = (($469) + ($470<<2)|0); + HEAP32[$471>>2] = $467; + $472 = HEAP32[$46>>2]|0; + $473 = ((($472)) + 2|0); + HEAP32[$46>>2] = $473; + $474 = HEAP32[$40>>2]|0; + $475 = (($474) + 1)|0; + HEAP32[$40>>2] = $475; + $476 = HEAP32[$16>>2]|0; + $477 = (($476) + 1)|0; + HEAP32[$16>>2] = $477; + } + HEAP32[$17>>2] = 0; + while(1) { + $478 = HEAP32[$17>>2]|0; + $479 = HEAP32[$42>>2]|0; + $480 = ((($479)) + 1|0); + $481 = HEAP8[$480>>0]|0; + $482 = $481&255; + $483 = ($478|0)<($482|0); + if (!($483)) { + break L43; + } + $484 = HEAP32[$42>>2]|0; + $485 = ((($484)) + 32|0); + $486 = HEAP32[$17>>2]|0; + $487 = (($485) + ($486<<2)|0); + $488 = HEAP32[$487>>2]|0; + $489 = ((($40)) + 8|0); + $490 = HEAP32[$489>>2]|0; + $491 = HEAP32[$40>>2]|0; + $492 = (($490) + ($491<<2)|0); + HEAP32[$492>>2] = $488; + $493 = HEAP32[$40>>2]|0; + $494 = (($493) + 1)|0; + HEAP32[$40>>2] = $494; + $495 = HEAP32[$17>>2]|0; + $496 = (($495) + 1)|0; + HEAP32[$17>>2] = $496; + } + } + } while(0); + $497 = HEAP32[$44>>2]|0; + $498 = HEAP32[$42>>2]|0; + $499 = ((($498)) + 14|0); + $500 = HEAP16[$499>>1]|0; + $501 = $500&65535; + $502 = (($497) + ($501)|0); + $503 = HEAP32[$42>>2]|0; + $504 = ((($503)) + 18|0); + $505 = HEAP16[$504>>1]|0; + $506 = $505&65535; + $507 = $506<<1; + $508 = (($502) + ($507)|0); + HEAP32[$47>>2] = $508; + while(1) { + $509 = HEAP32[$46>>2]|0; + $510 = HEAP32[$47>>2]|0; + $511 = ($509>>>0)<($510>>>0); + if (!($511)) { + break; + } + $512 = HEAP32[$44>>2]|0; + $513 = HEAP16[$45>>1]|0; + $514 = $513&65535; + $515 = HEAP32[$46>>2]|0; + $516 = HEAP8[$515>>0]|0; + $517 = $516&255; + $518 = $517 << 8; + $519 = HEAP32[$46>>2]|0; + $520 = ((($519)) + 1|0); + $521 = HEAP8[$520>>0]|0; + $522 = $521&255; + $523 = $518 | $522; + $524 = $514 & $523; + $525 = (($512) + ($524)|0); + $526 = ((($40)) + 8|0); + $527 = HEAP32[$526>>2]|0; + $528 = HEAP32[$40>>2]|0; + $529 = (($527) + ($528<<2)|0); + HEAP32[$529>>2] = $525; + $530 = HEAP32[$46>>2]|0; + $531 = ((($530)) + 2|0); + HEAP32[$46>>2] = $531; + $532 = HEAP32[$40>>2]|0; + $533 = (($532) + 1)|0; + HEAP32[$40>>2] = $533; + } + $534 = HEAP32[$40>>2]|0; + $535 = HEAP32[$15>>2]|0; + $536 = (($32) + ($535<<2)|0); + HEAP32[$536>>2] = $534; + $537 = HEAP32[$15>>2]|0; + $538 = HEAP32[$14>>2]|0; + $539 = (($538) - 1)|0; + $540 = ($537|0)>=($539|0); + $541 = HEAP32[$21>>2]|0; + $542 = ($541|0)!=(0); + $or$cond = $540 | $542; + if (!($or$cond)) { + $543 = HEAP32[$15>>2]|0; + $544 = (($33) + ($543<<2)|0); + $545 = HEAP32[$544>>2]|0; + $546 = $545&65535; + HEAP16[$48>>1] = $546; + $547 = HEAP16[$48>>1]|0; + $548 = ((($40)) + 12|0); + $549 = HEAP32[$548>>2]|0; + $550 = HEAP32[$40>>2]|0; + $551 = (($549) + ($550<<1)|0); + HEAP16[$551>>1] = $547; + $552 = HEAP32[$34>>2]|0; + $553 = HEAP32[$24>>2]|0; + $554 = (($552) + ($553)|0); + HEAP32[$49>>2] = $554; + $555 = HEAP16[$48>>1]|0; + $556 = $555&65535; + $557 = HEAP32[$24>>2]|0; + $558 = (($557) + ($556))|0; + HEAP32[$24>>2] = $558; + $559 = HEAP32[$49>>2]|0; + $560 = HEAP32[$15>>2]|0; + $561 = (($30) + ($560<<2)|0); + $562 = HEAP32[$561>>2]|0; + $563 = HEAP16[$48>>1]|0; + $564 = $563&65535; + _memcpy(($559|0),($562|0),($564|0))|0; + $565 = HEAP32[$49>>2]|0; + $566 = HEAP16[$20>>1]|0; + $567 = $566&65535; + $568 = (($565) + ($567)|0); + $569 = ((($40)) + 8|0); + $570 = HEAP32[$569>>2]|0; + $571 = HEAP32[$40>>2]|0; + $572 = (($570) + ($571<<2)|0); + HEAP32[$572>>2] = $568; + $573 = ((($40)) + 12|0); + $574 = HEAP32[$573>>2]|0; + $575 = HEAP32[$40>>2]|0; + $576 = (($574) + ($575<<1)|0); + $577 = HEAP16[$576>>1]|0; + $578 = $577&65535; + $579 = HEAP16[$20>>1]|0; + $580 = $579&65535; + $581 = (($578) - ($580))|0; + $582 = $581&65535; + $583 = ((($40)) + 12|0); + $584 = HEAP32[$583>>2]|0; + $585 = HEAP32[$40>>2]|0; + $586 = (($584) + ($585<<1)|0); + HEAP16[$586>>1] = $582; + $587 = HEAP32[$42>>2]|0; + $588 = ((($587)) + 4|0); + $589 = HEAP8[$588>>0]|0; + $590 = ($589<<24>>24)!=(0); + L59: do { + if ($590) { + while(1) { + $600 = ((($40)) + 12|0); + $601 = HEAP32[$600>>2]|0; + $602 = HEAP32[$40>>2]|0; + $603 = (($601) + ($602<<1)|0); + $604 = HEAP16[$603>>1]|0; + $605 = $604&65535; + $606 = ($605|0)<(4); + if (!($606)) { + break L59; + } + $607 = HEAP32[$34>>2]|0; + $608 = HEAP32[$24>>2]|0; + $609 = (($608) + 1)|0; + HEAP32[$24>>2] = $609; + $610 = (($607) + ($608)|0); + HEAP8[$610>>0] = 0; + $611 = ((($40)) + 12|0); + $612 = HEAP32[$611>>2]|0; + $613 = HEAP32[$40>>2]|0; + $614 = (($612) + ($613<<1)|0); + $615 = HEAP16[$614>>1]|0; + $616 = (($615) + 1)<<16>>16; + HEAP16[$614>>1] = $616; + } + } else { + $591 = ((($40)) + 8|0); + $592 = HEAP32[$591>>2]|0; + $593 = HEAP32[$40>>2]|0; + $594 = (($592) + ($593<<2)|0); + $595 = HEAP32[$594>>2]|0; + $596 = HEAP32[$42>>2]|0; + $597 = ((($596)) + 56|0); + $598 = HEAP32[$597>>2]|0; + $599 = ((($598)) + 8|0); + ;HEAP8[$595>>0]=HEAP8[$599>>0]|0;HEAP8[$595+1>>0]=HEAP8[$599+1>>0]|0;HEAP8[$595+2>>0]=HEAP8[$599+2>>0]|0;HEAP8[$595+3>>0]=HEAP8[$599+3>>0]|0; + } + } while(0); + $617 = HEAP32[$40>>2]|0; + $618 = (($617) + 1)|0; + HEAP32[$40>>2] = $618; + } + $619 = HEAP32[$15>>2]|0; + $620 = (($619) + 1)|0; + HEAP32[$15>>2] = $620; + } + if ((label|0) == 31) { + $430 = (_sqlite3CorruptError(65414)|0); + HEAP32[$19>>2] = $430; + break; + } + $621 = HEAP32[$11>>2]|0; + $622 = ((($621)) + 36|0); + $623 = HEAP32[$622>>2]|0; + $624 = (($623) - 12)|0; + $625 = HEAP16[$20>>1]|0; + $626 = $625&65535; + $627 = (($624) + ($626))|0; + HEAP32[$22>>2] = $627; + HEAP32[$15>>2] = 0; + while(1) { + $628 = HEAP32[$15>>2]|0; + $629 = HEAP32[$14>>2]|0; + $630 = ($628|0)<($629|0); + if (!($630)) { + break; + } + $631 = HEAP32[$15>>2]|0; + $632 = (($27) + ($631<<2)|0); + $633 = HEAP32[$632>>2]|0; + HEAP32[$50>>2] = $633; + $634 = HEAP32[$22>>2]|0; + $635 = HEAP32[$50>>2]|0; + $636 = ((($635)) + 16|0); + $637 = HEAP16[$636>>1]|0; + $638 = $637&65535; + $639 = (($634) - ($638))|0; + $640 = HEAP32[$15>>2]|0; + $641 = (($33) + ($640<<2)|0); + HEAP32[$641>>2] = $639; + $642 = HEAP32[$15>>2]|0; + $643 = (($33) + ($642<<2)|0); + $644 = HEAP32[$643>>2]|0; + $645 = ($644|0)<(0); + if ($645) { + label = 52; + break; + } + HEAP32[$16>>2] = 0; + while(1) { + $647 = HEAP32[$16>>2]|0; + $648 = HEAP32[$50>>2]|0; + $649 = ((($648)) + 1|0); + $650 = HEAP8[$649>>0]|0; + $651 = $650&255; + $652 = ($647|0)<($651|0); + if (!($652)) { + break; + } + $653 = HEAP32[$50>>2]|0; + $654 = ((($653)) + 76|0); + $655 = HEAP32[$654>>2]|0; + $656 = HEAP32[$50>>2]|0; + $657 = HEAP32[$50>>2]|0; + $658 = ((($657)) + 32|0); + $659 = HEAP32[$16>>2]|0; + $660 = (($658) + ($659<<2)|0); + $661 = HEAP32[$660>>2]|0; + $662 = (FUNCTION_TABLE_iii[$655 & 255]($656,$661)|0); + $663 = $662&65535; + $664 = (2 + ($663))|0; + $665 = HEAP32[$15>>2]|0; + $666 = (($33) + ($665<<2)|0); + $667 = HEAP32[$666>>2]|0; + $668 = (($667) + ($664))|0; + HEAP32[$666>>2] = $668; + $669 = HEAP32[$16>>2]|0; + $670 = (($669) + 1)|0; + HEAP32[$16>>2] = $670; + } + $671 = HEAP32[$15>>2]|0; + $672 = (($32) + ($671<<2)|0); + $673 = HEAP32[$672>>2]|0; + $674 = HEAP32[$15>>2]|0; + $675 = (($31) + ($674<<2)|0); + HEAP32[$675>>2] = $673; + $676 = HEAP32[$15>>2]|0; + $677 = (($676) + 1)|0; + HEAP32[$15>>2] = $677; + } + if ((label|0) == 52) { + $646 = (_sqlite3CorruptError(65512)|0); + HEAP32[$19>>2] = $646; + break; + } + $678 = HEAP32[$14>>2]|0; + HEAP32[$17>>2] = $678; + HEAP32[$15>>2] = 0; + L80: while(1) { + $679 = HEAP32[$15>>2]|0; + $680 = HEAP32[$17>>2]|0; + $681 = ($679|0)<($680|0); + if (!($681)) { + label = 83; + break; + } + while(1) { + $682 = HEAP32[$15>>2]|0; + $683 = (($33) + ($682<<2)|0); + $684 = HEAP32[$683>>2]|0; + $685 = HEAP32[$22>>2]|0; + $686 = ($684|0)>($685|0); + if (!($686)) { + break; + } + $687 = HEAP32[$15>>2]|0; + $688 = (($687) + 1)|0; + $689 = HEAP32[$17>>2]|0; + $690 = ($688|0)>=($689|0); + if ($690) { + $691 = HEAP32[$15>>2]|0; + $692 = (($691) + 2)|0; + HEAP32[$17>>2] = $692; + $693 = HEAP32[$17>>2]|0; + $694 = ($693|0)>(5); + if ($694) { + label = 62; + break L80; + } + $696 = HEAP32[$17>>2]|0; + $697 = (($696) - 1)|0; + $698 = (($33) + ($697<<2)|0); + HEAP32[$698>>2] = 0; + $699 = HEAP32[$40>>2]|0; + $700 = HEAP32[$17>>2]|0; + $701 = (($700) - 1)|0; + $702 = (($31) + ($701<<2)|0); + HEAP32[$702>>2] = $699; + } + $703 = HEAP32[$15>>2]|0; + $704 = (($31) + ($703<<2)|0); + $705 = HEAP32[$704>>2]|0; + $706 = (($705) - 1)|0; + $707 = (_cachedCellSize($40,$706)|0); + $708 = $707&65535; + $709 = (2 + ($708))|0; + HEAP32[$51>>2] = $709; + $710 = HEAP32[$51>>2]|0; + $711 = HEAP32[$15>>2]|0; + $712 = (($33) + ($711<<2)|0); + $713 = HEAP32[$712>>2]|0; + $714 = (($713) - ($710))|0; + HEAP32[$712>>2] = $714; + $715 = HEAP32[$21>>2]|0; + $716 = ($715|0)!=(0); + do { + if (!($716)) { + $717 = HEAP32[$15>>2]|0; + $718 = (($31) + ($717<<2)|0); + $719 = HEAP32[$718>>2]|0; + $720 = HEAP32[$40>>2]|0; + $721 = ($719|0)<($720|0); + if ($721) { + $722 = HEAP32[$15>>2]|0; + $723 = (($31) + ($722<<2)|0); + $724 = HEAP32[$723>>2]|0; + $725 = (_cachedCellSize($40,$724)|0); + $726 = $725&65535; + $727 = (2 + ($726))|0; + HEAP32[$51>>2] = $727; + break; + } else { + HEAP32[$51>>2] = 0; + break; + } + } + } while(0); + $728 = HEAP32[$51>>2]|0; + $729 = HEAP32[$15>>2]|0; + $730 = (($729) + 1)|0; + $731 = (($33) + ($730<<2)|0); + $732 = HEAP32[$731>>2]|0; + $733 = (($732) + ($728))|0; + HEAP32[$731>>2] = $733; + $734 = HEAP32[$15>>2]|0; + $735 = (($31) + ($734<<2)|0); + $736 = HEAP32[$735>>2]|0; + $737 = (($736) + -1)|0; + HEAP32[$735>>2] = $737; + } + while(1) { + $738 = HEAP32[$15>>2]|0; + $739 = (($31) + ($738<<2)|0); + $740 = HEAP32[$739>>2]|0; + $741 = HEAP32[$40>>2]|0; + $742 = ($740|0)<($741|0); + if (!($742)) { + break; + } + $743 = HEAP32[$15>>2]|0; + $744 = (($31) + ($743<<2)|0); + $745 = HEAP32[$744>>2]|0; + $746 = (_cachedCellSize($40,$745)|0); + $747 = $746&65535; + $748 = (2 + ($747))|0; + HEAP32[$51>>2] = $748; + $749 = HEAP32[$15>>2]|0; + $750 = (($33) + ($749<<2)|0); + $751 = HEAP32[$750>>2]|0; + $752 = HEAP32[$51>>2]|0; + $753 = (($751) + ($752))|0; + $754 = HEAP32[$22>>2]|0; + $755 = ($753|0)>($754|0); + if ($755) { + break; + } + $756 = HEAP32[$51>>2]|0; + $757 = HEAP32[$15>>2]|0; + $758 = (($33) + ($757<<2)|0); + $759 = HEAP32[$758>>2]|0; + $760 = (($759) + ($756))|0; + HEAP32[$758>>2] = $760; + $761 = HEAP32[$15>>2]|0; + $762 = (($31) + ($761<<2)|0); + $763 = HEAP32[$762>>2]|0; + $764 = (($763) + 1)|0; + HEAP32[$762>>2] = $764; + $765 = HEAP32[$21>>2]|0; + $766 = ($765|0)!=(0); + do { + if (!($766)) { + $767 = HEAP32[$15>>2]|0; + $768 = (($31) + ($767<<2)|0); + $769 = HEAP32[$768>>2]|0; + $770 = HEAP32[$40>>2]|0; + $771 = ($769|0)<($770|0); + if ($771) { + $772 = HEAP32[$15>>2]|0; + $773 = (($31) + ($772<<2)|0); + $774 = HEAP32[$773>>2]|0; + $775 = (_cachedCellSize($40,$774)|0); + $776 = $775&65535; + $777 = (2 + ($776))|0; + HEAP32[$51>>2] = $777; + break; + } else { + HEAP32[$51>>2] = 0; + break; + } + } + } while(0); + $778 = HEAP32[$51>>2]|0; + $779 = HEAP32[$15>>2]|0; + $780 = (($779) + 1)|0; + $781 = (($33) + ($780<<2)|0); + $782 = HEAP32[$781>>2]|0; + $783 = (($782) - ($778))|0; + HEAP32[$781>>2] = $783; + } + $784 = HEAP32[$15>>2]|0; + $785 = (($31) + ($784<<2)|0); + $786 = HEAP32[$785>>2]|0; + $787 = HEAP32[$40>>2]|0; + $788 = ($786|0)>=($787|0); + $789 = HEAP32[$15>>2]|0; + if ($788) { + $790 = (($789) + 1)|0; + HEAP32[$17>>2] = $790; + } else { + $791 = (($31) + ($789<<2)|0); + $792 = HEAP32[$791>>2]|0; + $793 = HEAP32[$15>>2]|0; + $794 = ($793|0)>(0); + if ($794) { + $795 = HEAP32[$15>>2]|0; + $796 = (($795) - 1)|0; + $797 = (($31) + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $800 = $798; + } else { + $800 = 0; + } + $799 = ($792|0)<=($800|0); + if ($799) { + label = 81; + break; + } + } + $802 = HEAP32[$15>>2]|0; + $803 = (($802) + 1)|0; + HEAP32[$15>>2] = $803; + } + if ((label|0) == 62) { + $695 = (_sqlite3CorruptError(65524)|0); + HEAP32[$19>>2] = $695; + break; + } + else if ((label|0) == 81) { + $801 = (_sqlite3CorruptError(65557)|0); + HEAP32[$19>>2] = $801; + break; + } + else if ((label|0) == 83) { + $804 = HEAP32[$17>>2]|0; + $805 = (($804) - 1)|0; + HEAP32[$15>>2] = $805; + while(1) { + $806 = HEAP32[$15>>2]|0; + $807 = ($806|0)>(0); + if (!($807)) { + break; + } + $808 = HEAP32[$15>>2]|0; + $809 = (($33) + ($808<<2)|0); + $810 = HEAP32[$809>>2]|0; + HEAP32[$52>>2] = $810; + $811 = HEAP32[$15>>2]|0; + $812 = (($811) - 1)|0; + $813 = (($33) + ($812<<2)|0); + $814 = HEAP32[$813>>2]|0; + HEAP32[$53>>2] = $814; + $815 = HEAP32[$15>>2]|0; + $816 = (($815) - 1)|0; + $817 = (($31) + ($816<<2)|0); + $818 = HEAP32[$817>>2]|0; + $819 = (($818) - 1)|0; + HEAP32[$54>>2] = $819; + $820 = HEAP32[$54>>2]|0; + $821 = (($820) + 1)|0; + $822 = HEAP32[$21>>2]|0; + $823 = (($821) - ($822))|0; + HEAP32[$55>>2] = $823; + $824 = HEAP32[$55>>2]|0; + (_cachedCellSize($40,$824)|0); + while(1) { + $825 = HEAP32[$54>>2]|0; + (_cachedCellSize($40,$825)|0); + $826 = HEAP32[$52>>2]|0; + $827 = ($826|0)!=(0); + if ($827) { + $828 = HEAP32[$10>>2]|0; + $829 = ($828|0)!=(0); + if ($829) { + break; + } + $830 = HEAP32[$52>>2]|0; + $831 = ((($40)) + 12|0); + $832 = HEAP32[$831>>2]|0; + $833 = HEAP32[$55>>2]|0; + $834 = (($832) + ($833<<1)|0); + $835 = HEAP16[$834>>1]|0; + $836 = $835&65535; + $837 = (($830) + ($836))|0; + $838 = (($837) + 2)|0; + $839 = HEAP32[$53>>2]|0; + $840 = ((($40)) + 12|0); + $841 = HEAP32[$840>>2]|0; + $842 = HEAP32[$54>>2]|0; + $843 = (($841) + ($842<<1)|0); + $844 = HEAP16[$843>>1]|0; + $845 = $844&65535; + $846 = HEAP32[$15>>2]|0; + $847 = HEAP32[$17>>2]|0; + $848 = (($847) - 1)|0; + $849 = ($846|0)==($848|0); + $850 = $849 ? 0 : 2; + $851 = (($845) + ($850))|0; + $852 = (($839) - ($851))|0; + $853 = ($838|0)>($852|0); + if ($853) { + break; + } + } + $854 = ((($40)) + 12|0); + $855 = HEAP32[$854>>2]|0; + $856 = HEAP32[$55>>2]|0; + $857 = (($855) + ($856<<1)|0); + $858 = HEAP16[$857>>1]|0; + $859 = $858&65535; + $860 = (($859) + 2)|0; + $861 = HEAP32[$52>>2]|0; + $862 = (($861) + ($860))|0; + HEAP32[$52>>2] = $862; + $863 = ((($40)) + 12|0); + $864 = HEAP32[$863>>2]|0; + $865 = HEAP32[$54>>2]|0; + $866 = (($864) + ($865<<1)|0); + $867 = HEAP16[$866>>1]|0; + $868 = $867&65535; + $869 = (($868) + 2)|0; + $870 = HEAP32[$53>>2]|0; + $871 = (($870) - ($869))|0; + HEAP32[$53>>2] = $871; + $872 = HEAP32[$54>>2]|0; + $873 = HEAP32[$15>>2]|0; + $874 = (($873) - 1)|0; + $875 = (($31) + ($874<<2)|0); + HEAP32[$875>>2] = $872; + $876 = HEAP32[$54>>2]|0; + $877 = (($876) + -1)|0; + HEAP32[$54>>2] = $877; + $878 = HEAP32[$55>>2]|0; + $879 = (($878) + -1)|0; + HEAP32[$55>>2] = $879; + $880 = HEAP32[$54>>2]|0; + $881 = ($880|0)>=(0); + if (!($881)) { + break; + } + } + $882 = HEAP32[$52>>2]|0; + $883 = HEAP32[$15>>2]|0; + $884 = (($33) + ($883<<2)|0); + HEAP32[$884>>2] = $882; + $885 = HEAP32[$53>>2]|0; + $886 = HEAP32[$15>>2]|0; + $887 = (($886) - 1)|0; + $888 = (($33) + ($887<<2)|0); + HEAP32[$888>>2] = $885; + $889 = HEAP32[$15>>2]|0; + $890 = (($889) - 1)|0; + $891 = (($31) + ($890<<2)|0); + $892 = HEAP32[$891>>2]|0; + $893 = HEAP32[$15>>2]|0; + $894 = ($893|0)>(1); + if ($894) { + $895 = HEAP32[$15>>2]|0; + $896 = (($895) - 2)|0; + $897 = (($31) + ($896<<2)|0); + $898 = HEAP32[$897>>2]|0; + $900 = $898; + } else { + $900 = 0; + } + $899 = ($892|0)<=($900|0); + if ($899) { + label = 93; + break; + } + $902 = HEAP32[$15>>2]|0; + $903 = (($902) + -1)|0; + HEAP32[$15>>2] = $903; + } + if ((label|0) == 93) { + $901 = (_sqlite3CorruptError(65599)|0); + HEAP32[$19>>2] = $901; + break; + } + $904 = HEAP32[$27>>2]|0; + $905 = ((($904)) + 56|0); + $906 = HEAP32[$905>>2]|0; + $907 = HEAP8[$906>>0]|0; + $908 = $907&255; + HEAP32[$23>>2] = $908; + HEAP32[$15>>2] = 0; + while(1) { + $909 = HEAP32[$15>>2]|0; + $910 = HEAP32[$17>>2]|0; + $911 = ($909|0)<($910|0); + if (!($911)) { + break; + } + $912 = HEAP32[$15>>2]|0; + $913 = HEAP32[$14>>2]|0; + $914 = ($912|0)<($913|0); + if ($914) { + $915 = HEAP32[$15>>2]|0; + $916 = (($27) + ($915<<2)|0); + $917 = HEAP32[$916>>2]|0; + $918 = HEAP32[$15>>2]|0; + $919 = (($28) + ($918<<2)|0); + HEAP32[$919>>2] = $917; + HEAP32[$56>>2] = $917; + $920 = HEAP32[$15>>2]|0; + $921 = (($27) + ($920<<2)|0); + HEAP32[$921>>2] = 0; + $922 = HEAP32[$56>>2]|0; + $923 = ((($922)) + 72|0); + $924 = HEAP32[$923>>2]|0; + $925 = (_sqlite3PagerWrite($924)|0); + HEAP32[$19>>2] = $925; + $926 = HEAP32[$13>>2]|0; + $927 = (($926) + 1)|0; + HEAP32[$13>>2] = $927; + $928 = HEAP32[$19>>2]|0; + $929 = ($928|0)!=(0); + if ($929) { + break L32; + } + } else { + $930 = HEAP32[$11>>2]|0; + $931 = HEAP32[$10>>2]|0; + $932 = ($931|0)!=(0); + $933 = HEAP32[$35>>2]|0; + $934 = $932 ? 1 : $933; + $935 = (_allocateBtreePage($930,$56,$35,$934,0)|0); + HEAP32[$19>>2] = $935; + $936 = HEAP32[$19>>2]|0; + $937 = ($936|0)!=(0); + if ($937) { + break L32; + } + $938 = HEAP32[$56>>2]|0; + $939 = HEAP32[$23>>2]|0; + _zeroPage($938,$939); + $940 = HEAP32[$56>>2]|0; + $941 = HEAP32[$15>>2]|0; + $942 = (($28) + ($941<<2)|0); + HEAP32[$942>>2] = $940; + $943 = HEAP32[$13>>2]|0; + $944 = (($943) + 1)|0; + HEAP32[$13>>2] = $944; + $945 = HEAP32[$40>>2]|0; + $946 = HEAP32[$15>>2]|0; + $947 = (($32) + ($946<<2)|0); + HEAP32[$947>>2] = $945; + $948 = HEAP32[$11>>2]|0; + $949 = ((($948)) + 17|0); + $950 = HEAP8[$949>>0]|0; + $951 = ($950<<24>>24)!=(0); + if ($951) { + $952 = HEAP32[$11>>2]|0; + $953 = HEAP32[$56>>2]|0; + $954 = ((($953)) + 84|0); + $955 = HEAP32[$954>>2]|0; + $956 = HEAP32[$6>>2]|0; + $957 = ((($956)) + 84|0); + $958 = HEAP32[$957>>2]|0; + _ptrmapPut($952,$955,5,$958,$19); + $959 = HEAP32[$19>>2]|0; + $960 = ($959|0)!=(0); + if ($960) { + break L32; + } + } + } + $961 = HEAP32[$15>>2]|0; + $962 = (($961) + 1)|0; + HEAP32[$15>>2] = $962; + } + HEAP32[$15>>2] = 0; + L142: while(1) { + $963 = HEAP32[$15>>2]|0; + $964 = HEAP32[$13>>2]|0; + $965 = ($963|0)<($964|0); + if (!($965)) { + break; + } + $966 = HEAP32[$15>>2]|0; + $967 = (($28) + ($966<<2)|0); + $968 = HEAP32[$967>>2]|0; + $969 = ((($968)) + 84|0); + $970 = HEAP32[$969>>2]|0; + $971 = HEAP32[$15>>2]|0; + $972 = (($37) + ($971<<2)|0); + HEAP32[$972>>2] = $970; + $973 = HEAP32[$15>>2]|0; + $974 = (($38) + ($973<<2)|0); + HEAP32[$974>>2] = $970; + $975 = HEAP32[$15>>2]|0; + $976 = (($28) + ($975<<2)|0); + $977 = HEAP32[$976>>2]|0; + $978 = ((($977)) + 72|0); + $979 = HEAP32[$978>>2]|0; + $980 = ((($979)) + 24|0); + $981 = HEAP16[$980>>1]|0; + $982 = HEAP32[$15>>2]|0; + $983 = (($39) + ($982<<1)|0); + HEAP16[$983>>1] = $981; + HEAP32[$16>>2] = 0; + while(1) { + $984 = HEAP32[$16>>2]|0; + $985 = HEAP32[$15>>2]|0; + $986 = ($984|0)<($985|0); + if (!($986)) { + break; + } + $987 = HEAP32[$16>>2]|0; + $988 = (($37) + ($987<<2)|0); + $989 = HEAP32[$988>>2]|0; + $990 = HEAP32[$15>>2]|0; + $991 = (($37) + ($990<<2)|0); + $992 = HEAP32[$991>>2]|0; + $993 = ($989|0)==($992|0); + if ($993) { + label = 108; + break L142; + } + $995 = HEAP32[$16>>2]|0; + $996 = (($995) + 1)|0; + HEAP32[$16>>2] = $996; + } + $997 = HEAP32[$15>>2]|0; + $998 = (($997) + 1)|0; + HEAP32[$15>>2] = $998; + } + if ((label|0) == 108) { + $994 = (_sqlite3CorruptError(65673)|0); + HEAP32[$19>>2] = $994; + break; + } + HEAP32[$15>>2] = 0; + while(1) { + $999 = HEAP32[$15>>2]|0; + $1000 = HEAP32[$13>>2]|0; + $1001 = ($999|0)<($1000|0); + if (!($1001)) { + break; + } + HEAP32[$57>>2] = 0; + HEAP32[$16>>2] = 1; + while(1) { + $1002 = HEAP32[$16>>2]|0; + $1003 = HEAP32[$13>>2]|0; + $1004 = ($1002|0)<($1003|0); + if (!($1004)) { + break; + } + $1005 = HEAP32[$16>>2]|0; + $1006 = (($38) + ($1005<<2)|0); + $1007 = HEAP32[$1006>>2]|0; + $1008 = HEAP32[$57>>2]|0; + $1009 = (($38) + ($1008<<2)|0); + $1010 = HEAP32[$1009>>2]|0; + $1011 = ($1007>>>0)<($1010>>>0); + if ($1011) { + $1012 = HEAP32[$16>>2]|0; + HEAP32[$57>>2] = $1012; + } + $1013 = HEAP32[$16>>2]|0; + $1014 = (($1013) + 1)|0; + HEAP32[$16>>2] = $1014; + } + $1015 = HEAP32[$57>>2]|0; + $1016 = (($38) + ($1015<<2)|0); + $1017 = HEAP32[$1016>>2]|0; + HEAP32[$35>>2] = $1017; + $1018 = HEAP32[$57>>2]|0; + $1019 = (($38) + ($1018<<2)|0); + HEAP32[$1019>>2] = -1; + $1020 = HEAP32[$57>>2]|0; + $1021 = HEAP32[$15>>2]|0; + $1022 = ($1020|0)!=($1021|0); + if ($1022) { + $1023 = HEAP32[$57>>2]|0; + $1024 = HEAP32[$15>>2]|0; + $1025 = ($1023|0)>($1024|0); + if ($1025) { + $1026 = HEAP32[$57>>2]|0; + $1027 = (($28) + ($1026<<2)|0); + $1028 = HEAP32[$1027>>2]|0; + $1029 = ((($1028)) + 72|0); + $1030 = HEAP32[$1029>>2]|0; + $1031 = HEAP32[$11>>2]|0; + $1032 = ((($1031)) + 44|0); + $1033 = HEAP32[$1032>>2]|0; + $1034 = HEAP32[$57>>2]|0; + $1035 = (($1033) + ($1034))|0; + $1036 = (($1035) + 1)|0; + _sqlite3PagerRekey($1030,$1036,0); + } + $1037 = HEAP32[$15>>2]|0; + $1038 = (($28) + ($1037<<2)|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = ((($1039)) + 72|0); + $1041 = HEAP32[$1040>>2]|0; + $1042 = HEAP32[$35>>2]|0; + $1043 = HEAP32[$57>>2]|0; + $1044 = (($39) + ($1043<<1)|0); + $1045 = HEAP16[$1044>>1]|0; + _sqlite3PagerRekey($1041,$1042,$1045); + $1046 = HEAP32[$35>>2]|0; + $1047 = HEAP32[$15>>2]|0; + $1048 = (($28) + ($1047<<2)|0); + $1049 = HEAP32[$1048>>2]|0; + $1050 = ((($1049)) + 84|0); + HEAP32[$1050>>2] = $1046; + } + $1051 = HEAP32[$15>>2]|0; + $1052 = (($1051) + 1)|0; + HEAP32[$15>>2] = $1052; + } + $1053 = HEAP32[$29>>2]|0; + $1054 = HEAP32[$13>>2]|0; + $1055 = (($1054) - 1)|0; + $1056 = (($28) + ($1055<<2)|0); + $1057 = HEAP32[$1056>>2]|0; + $1058 = ((($1057)) + 84|0); + $1059 = HEAP32[$1058>>2]|0; + _sqlite3Put4byte($1053,$1059); + $1060 = HEAP32[$23>>2]|0; + $1061 = $1060 & 8; + $1062 = ($1061|0)==(0); + if ($1062) { + $1063 = HEAP32[$14>>2]|0; + $1064 = HEAP32[$13>>2]|0; + $1065 = ($1063|0)!=($1064|0); + if ($1065) { + $1066 = HEAP32[$13>>2]|0; + $1067 = HEAP32[$14>>2]|0; + $1068 = ($1066|0)>($1067|0); + $1069 = $1068 ? $28 : $27; + $1070 = HEAP32[$14>>2]|0; + $1071 = (($1070) - 1)|0; + $1072 = (($1069) + ($1071<<2)|0); + $1073 = HEAP32[$1072>>2]|0; + HEAP32[$58>>2] = $1073; + $1074 = HEAP32[$13>>2]|0; + $1075 = (($1074) - 1)|0; + $1076 = (($28) + ($1075<<2)|0); + $1077 = HEAP32[$1076>>2]|0; + $1078 = ((($1077)) + 56|0); + $1079 = HEAP32[$1078>>2]|0; + $1080 = ((($1079)) + 8|0); + $1081 = HEAP32[$58>>2]|0; + $1082 = ((($1081)) + 56|0); + $1083 = HEAP32[$1082>>2]|0; + $1084 = ((($1083)) + 8|0); + ;HEAP8[$1080>>0]=HEAP8[$1084>>0]|0;HEAP8[$1080+1>>0]=HEAP8[$1084+1>>0]|0;HEAP8[$1080+2>>0]=HEAP8[$1084+2>>0]|0;HEAP8[$1080+3>>0]=HEAP8[$1084+3>>0]|0; + } + } + $1085 = HEAP32[$11>>2]|0; + $1086 = ((($1085)) + 17|0); + $1087 = HEAP8[$1086>>0]|0; + $1088 = ($1087<<24>>24)!=(0); + L174: do { + if ($1088) { + $1089 = HEAP32[$28>>2]|0; + HEAP32[$59>>2] = $1089; + $1090 = HEAP32[$59>>2]|0; + $1091 = ((($1090)) + 56|0); + $1092 = HEAP32[$1091>>2]|0; + HEAP32[$60>>2] = $1092; + $1093 = HEAP32[$59>>2]|0; + $1094 = ((($1093)) + 18|0); + $1095 = HEAP16[$1094>>1]|0; + $1096 = $1095&65535; + $1097 = HEAP32[$59>>2]|0; + $1098 = ((($1097)) + 1|0); + $1099 = HEAP8[$1098>>0]|0; + $1100 = $1099&255; + $1101 = (($1096) + ($1100))|0; + HEAP32[$61>>2] = $1101; + $1102 = HEAP32[$11>>2]|0; + $1103 = ((($1102)) + 36|0); + $1104 = HEAP32[$1103>>2]|0; + HEAP32[$62>>2] = $1104; + HEAP32[$63>>2] = 0; + HEAP32[$64>>2] = 0; + HEAP32[$15>>2] = 0; + while(1) { + $1105 = HEAP32[$15>>2]|0; + $1106 = HEAP32[$40>>2]|0; + $1107 = ($1105|0)<($1106|0); + if (!($1107)) { + break L174; + } + $1108 = ((($40)) + 8|0); + $1109 = HEAP32[$1108>>2]|0; + $1110 = HEAP32[$15>>2]|0; + $1111 = (($1109) + ($1110<<2)|0); + $1112 = HEAP32[$1111>>2]|0; + HEAP32[$65>>2] = $1112; + $1113 = HEAP32[$15>>2]|0; + $1114 = HEAP32[$61>>2]|0; + $1115 = ($1113|0)==($1114|0); + if ($1115) { + $1116 = HEAP32[$64>>2]|0; + $1117 = (($1116) + 1)|0; + HEAP32[$64>>2] = $1117; + $1118 = HEAP32[$13>>2]|0; + $1119 = ($1117|0)<($1118|0); + $1120 = HEAP32[$64>>2]|0; + $1121 = (($27) + ($1120<<2)|0); + $1122 = (($28) + ($1120<<2)|0); + $$sink = $1119 ? $1122 : $1121; + $1123 = HEAP32[$$sink>>2]|0; + HEAP32[$66>>2] = $1123; + $1124 = HEAP32[$66>>2]|0; + $1125 = ((($1124)) + 18|0); + $1126 = HEAP16[$1125>>1]|0; + $1127 = $1126&65535; + $1128 = HEAP32[$66>>2]|0; + $1129 = ((($1128)) + 1|0); + $1130 = HEAP8[$1129>>0]|0; + $1131 = $1130&255; + $1132 = (($1127) + ($1131))|0; + $1133 = HEAP32[$21>>2]|0; + $1134 = ($1133|0)!=(0); + $1135 = $1134 ^ 1; + $1136 = $1135&1; + $1137 = (($1132) + ($1136))|0; + $1138 = HEAP32[$61>>2]|0; + $1139 = (($1138) + ($1137))|0; + HEAP32[$61>>2] = $1139; + $1140 = HEAP32[$66>>2]|0; + $1141 = ((($1140)) + 56|0); + $1142 = HEAP32[$1141>>2]|0; + HEAP32[$60>>2] = $1142; + } + $1143 = HEAP32[$15>>2]|0; + $1144 = HEAP32[$63>>2]|0; + $1145 = (($31) + ($1144<<2)|0); + $1146 = HEAP32[$1145>>2]|0; + $1147 = ($1143|0)==($1146|0); + if ($1147) { + $1148 = HEAP32[$63>>2]|0; + $1149 = (($1148) + 1)|0; + HEAP32[$63>>2] = $1149; + $1150 = (($28) + ($1149<<2)|0); + $1151 = HEAP32[$1150>>2]|0; + HEAP32[$59>>2] = $1151; + $1152 = HEAP32[$21>>2]|0; + $1153 = ($1152|0)!=(0); + if ($1153) { + label = 133; + } + } else { + label = 133; + } + do { + if ((label|0) == 133) { + label = 0; + $1154 = HEAP32[$64>>2]|0; + $1155 = HEAP32[$13>>2]|0; + $1156 = ($1154|0)>=($1155|0); + if (!($1156)) { + $1157 = HEAP32[$59>>2]|0; + $1158 = ((($1157)) + 84|0); + $1159 = HEAP32[$1158>>2]|0; + $1160 = HEAP32[$64>>2]|0; + $1161 = (($37) + ($1160<<2)|0); + $1162 = HEAP32[$1161>>2]|0; + $1163 = ($1159|0)!=($1162|0); + if (!($1163)) { + $1164 = HEAP32[$65>>2]|0; + $1165 = $1164; + $1166 = HEAP32[$60>>2]|0; + $1167 = $1166; + $1168 = ($1165>>>0)>=($1167>>>0); + if ($1168) { + $1169 = HEAP32[$65>>2]|0; + $1170 = $1169; + $1171 = HEAP32[$60>>2]|0; + $1172 = HEAP32[$62>>2]|0; + $1173 = (($1171) + ($1172)|0); + $1174 = $1173; + $1175 = ($1170>>>0)<($1174>>>0); + if ($1175) { + break; + } + } + } + } + $1176 = HEAP16[$20>>1]|0; + $1177 = ($1176<<16>>16)!=(0); + if (!($1177)) { + $1178 = HEAP32[$11>>2]|0; + $1179 = HEAP32[$65>>2]|0; + $1180 = (_sqlite3Get4byte($1179)|0); + $1181 = HEAP32[$59>>2]|0; + $1182 = ((($1181)) + 84|0); + $1183 = HEAP32[$1182>>2]|0; + _ptrmapPut($1178,$1180,5,$1183,$19); + } + $1184 = HEAP32[$15>>2]|0; + $1185 = (_cachedCellSize($40,$1184)|0); + $1186 = $1185&65535; + $1187 = HEAP32[$59>>2]|0; + $1188 = ((($1187)) + 12|0); + $1189 = HEAP16[$1188>>1]|0; + $1190 = $1189&65535; + $1191 = ($1186|0)>($1190|0); + if ($1191) { + $1192 = HEAP32[$59>>2]|0; + $1193 = HEAP32[$65>>2]|0; + _ptrmapPutOvflPtr($1192,$1193,$19); + } + $1194 = HEAP32[$19>>2]|0; + $1195 = ($1194|0)!=(0); + if ($1195) { + break L32; + } + } + } while(0); + $1196 = HEAP32[$15>>2]|0; + $1197 = (($1196) + 1)|0; + HEAP32[$15>>2] = $1197; + } + } + } while(0); + HEAP32[$15>>2] = 0; + while(1) { + $1198 = HEAP32[$15>>2]|0; + $1199 = HEAP32[$13>>2]|0; + $1200 = (($1199) - 1)|0; + $1201 = ($1198|0)<($1200|0); + if (!($1201)) { + break; + } + $1202 = HEAP32[$15>>2]|0; + $1203 = (($28) + ($1202<<2)|0); + $1204 = HEAP32[$1203>>2]|0; + HEAP32[$70>>2] = $1204; + $1205 = HEAP32[$15>>2]|0; + $1206 = (($31) + ($1205<<2)|0); + $1207 = HEAP32[$1206>>2]|0; + HEAP32[$16>>2] = $1207; + $1208 = ((($40)) + 8|0); + $1209 = HEAP32[$1208>>2]|0; + $1210 = HEAP32[$16>>2]|0; + $1211 = (($1209) + ($1210<<2)|0); + $1212 = HEAP32[$1211>>2]|0; + HEAP32[$67>>2] = $1212; + $1213 = ((($40)) + 12|0); + $1214 = HEAP32[$1213>>2]|0; + $1215 = HEAP32[$16>>2]|0; + $1216 = (($1214) + ($1215<<1)|0); + $1217 = HEAP16[$1216>>1]|0; + $1218 = $1217&65535; + $1219 = HEAP16[$20>>1]|0; + $1220 = $1219&65535; + $1221 = (($1218) + ($1220))|0; + HEAP32[$69>>2] = $1221; + $1222 = HEAP32[$8>>2]|0; + $1223 = HEAP32[$25>>2]|0; + $1224 = (($1222) + ($1223)|0); + HEAP32[$68>>2] = $1224; + $1225 = HEAP32[$70>>2]|0; + $1226 = ((($1225)) + 4|0); + $1227 = HEAP8[$1226>>0]|0; + $1228 = ($1227<<24>>24)!=(0); + do { + if ($1228) { + $1234 = HEAP32[$21>>2]|0; + $1235 = ($1234|0)!=(0); + if ($1235) { + $1236 = HEAP32[$16>>2]|0; + $1237 = (($1236) + -1)|0; + HEAP32[$16>>2] = $1237; + $1238 = HEAP32[$70>>2]|0; + $1239 = ((($1238)) + 80|0); + $1240 = HEAP32[$1239>>2]|0; + $1241 = HEAP32[$70>>2]|0; + $1242 = ((($40)) + 8|0); + $1243 = HEAP32[$1242>>2]|0; + $1244 = HEAP32[$16>>2]|0; + $1245 = (($1243) + ($1244<<2)|0); + $1246 = HEAP32[$1245>>2]|0; + FUNCTION_TABLE_viii[$1240 & 255]($1241,$1246,$71); + $1247 = HEAP32[$68>>2]|0; + HEAP32[$67>>2] = $1247; + $1248 = HEAP32[$67>>2]|0; + $1249 = ((($1248)) + 4|0); + $1250 = $71; + $1251 = $1250; + $1252 = HEAP32[$1251>>2]|0; + $1253 = (($1250) + 4)|0; + $1254 = $1253; + $1255 = HEAP32[$1254>>2]|0; + $1256 = (_sqlite3PutVarint($1249,$1252,$1255)|0); + $1257 = (4 + ($1256))|0; + HEAP32[$69>>2] = $1257; + HEAP32[$68>>2] = 0; + break; + } + $1258 = HEAP32[$67>>2]|0; + $1259 = ((($1258)) + -4|0); + HEAP32[$67>>2] = $1259; + $1260 = ((($40)) + 12|0); + $1261 = HEAP32[$1260>>2]|0; + $1262 = HEAP32[$16>>2]|0; + $1263 = (($1261) + ($1262<<1)|0); + $1264 = HEAP16[$1263>>1]|0; + $1265 = $1264&65535; + $1266 = ($1265|0)==(4); + if ($1266) { + $1267 = HEAP32[$6>>2]|0; + $1268 = ((($1267)) + 76|0); + $1269 = HEAP32[$1268>>2]|0; + $1270 = HEAP32[$6>>2]|0; + $1271 = HEAP32[$67>>2]|0; + $1272 = (FUNCTION_TABLE_iii[$1269 & 255]($1270,$1271)|0); + $1273 = $1272&65535; + HEAP32[$69>>2] = $1273; + } + } else { + $1229 = HEAP32[$70>>2]|0; + $1230 = ((($1229)) + 56|0); + $1231 = HEAP32[$1230>>2]|0; + $1232 = ((($1231)) + 8|0); + $1233 = HEAP32[$67>>2]|0; + ;HEAP8[$1232>>0]=HEAP8[$1233>>0]|0;HEAP8[$1232+1>>0]=HEAP8[$1233+1>>0]|0;HEAP8[$1232+2>>0]=HEAP8[$1233+2>>0]|0;HEAP8[$1232+3>>0]=HEAP8[$1233+3>>0]|0; + } + } while(0); + $1274 = HEAP32[$69>>2]|0; + $1275 = HEAP32[$25>>2]|0; + $1276 = (($1275) + ($1274))|0; + HEAP32[$25>>2] = $1276; + $1277 = HEAP32[$6>>2]|0; + $1278 = HEAP32[$18>>2]|0; + $1279 = HEAP32[$15>>2]|0; + $1280 = (($1278) + ($1279))|0; + $1281 = HEAP32[$67>>2]|0; + $1282 = HEAP32[$69>>2]|0; + $1283 = HEAP32[$68>>2]|0; + $1284 = HEAP32[$70>>2]|0; + $1285 = ((($1284)) + 84|0); + $1286 = HEAP32[$1285>>2]|0; + _insertCell($1277,$1280,$1281,$1282,$1283,$1286,$19); + $1287 = HEAP32[$19>>2]|0; + $1288 = ($1287|0)!=(0); + if ($1288) { + break L32; + } + $1289 = HEAP32[$15>>2]|0; + $1290 = (($1289) + 1)|0; + HEAP32[$15>>2] = $1290; + } + $1291 = HEAP32[$13>>2]|0; + $1292 = (1 - ($1291))|0; + HEAP32[$15>>2] = $1292; + while(1) { + $1293 = HEAP32[$15>>2]|0; + $1294 = HEAP32[$13>>2]|0; + $1295 = ($1293|0)<($1294|0); + if (!($1295)) { + break; + } + $1296 = HEAP32[$15>>2]|0; + $1297 = ($1296|0)<(0); + $1298 = HEAP32[$15>>2]|0; + $1299 = (0 - ($1298))|0; + $1300 = $1297 ? $1299 : $1298; + HEAP32[$72>>2] = $1300; + $1301 = HEAP32[$72>>2]|0; + $1302 = (($36) + ($1301)|0); + $1303 = HEAP8[$1302>>0]|0; + $1304 = ($1303<<24>>24)!=(0); + do { + if (!($1304)) { + $1305 = HEAP32[$15>>2]|0; + $1306 = ($1305|0)>=(0); + if (!($1306)) { + $1307 = HEAP32[$72>>2]|0; + $1308 = (($1307) - 1)|0; + $1309 = (($32) + ($1308<<2)|0); + $1310 = HEAP32[$1309>>2]|0; + $1311 = HEAP32[$72>>2]|0; + $1312 = (($1311) - 1)|0; + $1313 = (($31) + ($1312<<2)|0); + $1314 = HEAP32[$1313>>2]|0; + $1315 = ($1310|0)>=($1314|0); + if (!($1315)) { + break; + } + } + $1316 = HEAP32[$72>>2]|0; + $1317 = ($1316|0)==(0); + if ($1317) { + HEAP32[$74>>2] = 0; + HEAP32[$73>>2] = 0; + $1318 = HEAP32[$31>>2]|0; + HEAP32[$75>>2] = $1318; + } else { + $1319 = HEAP32[$72>>2]|0; + $1320 = HEAP32[$14>>2]|0; + $1321 = ($1319|0)<($1320|0); + if ($1321) { + $1322 = HEAP32[$72>>2]|0; + $1323 = (($1322) - 1)|0; + $1324 = (($32) + ($1323<<2)|0); + $1325 = HEAP32[$1324>>2]|0; + $1326 = HEAP32[$21>>2]|0; + $1327 = ($1326|0)!=(0); + $1328 = $1327 ^ 1; + $1329 = $1328&1; + $1330 = (($1325) + ($1329))|0; + $1332 = $1330; + } else { + $1331 = HEAP32[$40>>2]|0; + $1332 = $1331; + } + HEAP32[$74>>2] = $1332; + $1333 = HEAP32[$72>>2]|0; + $1334 = (($1333) - 1)|0; + $1335 = (($31) + ($1334<<2)|0); + $1336 = HEAP32[$1335>>2]|0; + $1337 = HEAP32[$21>>2]|0; + $1338 = ($1337|0)!=(0); + $1339 = $1338 ^ 1; + $1340 = $1339&1; + $1341 = (($1336) + ($1340))|0; + HEAP32[$73>>2] = $1341; + $1342 = HEAP32[$72>>2]|0; + $1343 = (($31) + ($1342<<2)|0); + $1344 = HEAP32[$1343>>2]|0; + $1345 = HEAP32[$73>>2]|0; + $1346 = (($1344) - ($1345))|0; + HEAP32[$75>>2] = $1346; + } + $1347 = HEAP32[$72>>2]|0; + $1348 = (($28) + ($1347<<2)|0); + $1349 = HEAP32[$1348>>2]|0; + $1350 = HEAP32[$74>>2]|0; + $1351 = HEAP32[$73>>2]|0; + $1352 = HEAP32[$75>>2]|0; + $1353 = (_editPage($1349,$1350,$1351,$1352,$40)|0); + HEAP32[$19>>2] = $1353; + $1354 = HEAP32[$19>>2]|0; + $1355 = ($1354|0)!=(0); + if ($1355) { + break L32; + } + $1356 = HEAP32[$72>>2]|0; + $1357 = (($36) + ($1356)|0); + $1358 = HEAP8[$1357>>0]|0; + $1359 = (($1358) + 1)<<24>>24; + HEAP8[$1357>>0] = $1359; + $1360 = HEAP32[$22>>2]|0; + $1361 = HEAP32[$72>>2]|0; + $1362 = (($33) + ($1361<<2)|0); + $1363 = HEAP32[$1362>>2]|0; + $1364 = (($1360) - ($1363))|0; + $1365 = $1364&65535; + $1366 = HEAP32[$72>>2]|0; + $1367 = (($28) + ($1366<<2)|0); + $1368 = HEAP32[$1367>>2]|0; + $1369 = ((($1368)) + 16|0); + HEAP16[$1369>>1] = $1365; + } + } while(0); + $1370 = HEAP32[$15>>2]|0; + $1371 = (($1370) + 1)|0; + HEAP32[$15>>2] = $1371; + } + $1372 = HEAP32[$9>>2]|0; + $1373 = ($1372|0)!=(0); + if ($1373) { + $1374 = HEAP32[$6>>2]|0; + $1375 = ((($1374)) + 18|0); + $1376 = HEAP16[$1375>>1]|0; + $1377 = $1376&65535; + $1378 = ($1377|0)==(0); + if ($1378) { + $1379 = HEAP32[$6>>2]|0; + $1380 = ((($1379)) + 5|0); + $1381 = HEAP8[$1380>>0]|0; + $1382 = $1381&255; + $1383 = HEAP32[$28>>2]|0; + $1384 = ((($1383)) + 16|0); + $1385 = HEAP16[$1384>>1]|0; + $1386 = $1385&65535; + $1387 = ($1382|0)<=($1386|0); + if ($1387) { + $1388 = HEAP32[$28>>2]|0; + $1389 = (_defragmentPage($1388)|0); + HEAP32[$19>>2] = $1389; + $1390 = HEAP32[$28>>2]|0; + $1391 = HEAP32[$6>>2]|0; + _copyNodeContent($1390,$1391,$19); + $1392 = HEAP32[$28>>2]|0; + _freePage($1392,$19); + } else { + label = 171; + } + } else { + label = 171; + } + } else { + label = 171; + } + L235: do { + if ((label|0) == 171) { + $1393 = HEAP32[$11>>2]|0; + $1394 = ((($1393)) + 17|0); + $1395 = HEAP8[$1394>>0]|0; + $1396 = $1395&255; + $1397 = ($1396|0)==(0); + $1398 = HEAP16[$20>>1]|0; + $1399 = ($1398<<16>>16)!=(0); + $or$cond3 = $1397 | $1399; + if (!($or$cond3)) { + HEAP32[$15>>2] = 0; + while(1) { + $1400 = HEAP32[$15>>2]|0; + $1401 = HEAP32[$13>>2]|0; + $1402 = ($1400|0)<($1401|0); + if (!($1402)) { + break L235; + } + $1403 = HEAP32[$15>>2]|0; + $1404 = (($28) + ($1403<<2)|0); + $1405 = HEAP32[$1404>>2]|0; + $1406 = ((($1405)) + 56|0); + $1407 = HEAP32[$1406>>2]|0; + $1408 = ((($1407)) + 8|0); + $1409 = (_sqlite3Get4byte($1408)|0); + HEAP32[$76>>2] = $1409; + $1410 = HEAP32[$11>>2]|0; + $1411 = HEAP32[$76>>2]|0; + $1412 = HEAP32[$15>>2]|0; + $1413 = (($28) + ($1412<<2)|0); + $1414 = HEAP32[$1413>>2]|0; + $1415 = ((($1414)) + 84|0); + $1416 = HEAP32[$1415>>2]|0; + _ptrmapPut($1410,$1411,5,$1416,$19); + $1417 = HEAP32[$15>>2]|0; + $1418 = (($1417) + 1)|0; + HEAP32[$15>>2] = $1418; + } + } + } + } while(0); + $1419 = HEAP32[$13>>2]|0; + HEAP32[$15>>2] = $1419; + while(1) { + $1420 = HEAP32[$15>>2]|0; + $1421 = HEAP32[$14>>2]|0; + $1422 = ($1420|0)<($1421|0); + if (!($1422)) { + break L32; + } + $1423 = HEAP32[$15>>2]|0; + $1424 = (($27) + ($1423<<2)|0); + $1425 = HEAP32[$1424>>2]|0; + _freePage($1425,$19); + $1426 = HEAP32[$15>>2]|0; + $1427 = (($1426) + 1)|0; + HEAP32[$15>>2] = $1427; + } + } + } + } while(0); + $1428 = ((($40)) + 8|0); + $1429 = HEAP32[$1428>>2]|0; + _sqlite3ScratchFree($1429); + HEAP32[$15>>2] = 0; + while(1) { + $1430 = HEAP32[$15>>2]|0; + $1431 = HEAP32[$14>>2]|0; + $1432 = ($1430|0)<($1431|0); + if (!($1432)) { + break; + } + $1433 = HEAP32[$15>>2]|0; + $1434 = (($27) + ($1433<<2)|0); + $1435 = HEAP32[$1434>>2]|0; + _releasePage($1435); + $1436 = HEAP32[$15>>2]|0; + $1437 = (($1436) + 1)|0; + HEAP32[$15>>2] = $1437; + } + HEAP32[$15>>2] = 0; + while(1) { + $1438 = HEAP32[$15>>2]|0; + $1439 = HEAP32[$13>>2]|0; + $1440 = ($1438|0)<($1439|0); + if (!($1440)) { + break; + } + $1441 = HEAP32[$15>>2]|0; + $1442 = (($28) + ($1441<<2)|0); + $1443 = HEAP32[$1442>>2]|0; + _releasePage($1443); + $1444 = HEAP32[$15>>2]|0; + $1445 = (($1444) + 1)|0; + HEAP32[$15>>2] = $1445; + } + $1446 = HEAP32[$19>>2]|0; + HEAP32[$5>>2] = $1446; + $1447 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($1447|0); +} +function _sqlite3ScratchMalloc($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[13620]|0; + _sqlite3_mutex_enter($3); + $4 = HEAP32[$1>>2]|0; + _sqlite3StatusHighwater(8,$4); + $5 = HEAP32[(54504)>>2]|0; + $6 = ($5|0)!=(0); + if ($6) { + $7 = HEAP32[(204)>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = ($7|0)>=($8|0); + if ($9) { + $10 = HEAP32[(54500)>>2]|0; + HEAP32[$2>>2] = $10; + $11 = HEAP32[(54500)>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[(54500)>>2] = $12; + $13 = HEAP32[(54504)>>2]|0; + $14 = (($13) + -1)|0; + HEAP32[(54504)>>2] = $14; + _sqlite3StatusUp(3,1); + $15 = HEAP32[13620]|0; + _sqlite3_mutex_leave($15); + $29 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($29|0); + } + } + $16 = HEAP32[13620]|0; + _sqlite3_mutex_leave($16); + $17 = HEAP32[$1>>2]|0; + $18 = ($17|0)<(0); + $19 = $18 << 31 >> 31; + $20 = (_sqlite3Malloc($17,$19)|0); + HEAP32[$2>>2] = $20; + $21 = HEAP32[2]|0; + $22 = ($21|0)!=(0); + $23 = HEAP32[$2>>2]|0; + $24 = ($23|0)!=(0|0); + $or$cond = $22 & $24; + if (!($or$cond)) { + $29 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($29|0); + } + $25 = HEAP32[13620]|0; + _sqlite3_mutex_enter($25); + $26 = HEAP32[$2>>2]|0; + $27 = (_sqlite3MallocSize($26)|0); + _sqlite3StatusUp(4,$27); + $28 = HEAP32[13620]|0; + _sqlite3_mutex_leave($28); + $29 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($29|0); +} +function _cachedCellSize($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 + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (($7) + ($8<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = ($10<<16>>16)!=(0); + $12 = HEAP32[$3>>2]|0; + if ($11) { + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (($14) + ($15<<1)|0); + $17 = HEAP16[$16>>1]|0; + HEAP16[$2>>1] = $17; + $20 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($20|0); + } else { + $18 = HEAP32[$4>>2]|0; + $19 = (_computeCellSize($12,$18)|0); + HEAP16[$2>>1] = $19; + $20 = HEAP16[$2>>1]|0; + STACKTOP = sp;return ($20|0); + } + return (0)|0; +} +function _sqlite3PagerRekey($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 4|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP16[$5>>1] = $2; + $6 = HEAP16[$5>>1]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 24|0); + HEAP16[$8>>1] = $6; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$4>>2]|0; + _sqlite3PcacheMove($9,$10); + STACKTOP = sp;return; +} +function _editPage($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $5 = sp + 68|0; + $6 = sp + 64|0; + $7 = sp + 60|0; + $8 = sp + 56|0; + $9 = sp + 52|0; + $10 = sp + 48|0; + $11 = sp + 44|0; + $12 = sp + 40|0; + $13 = sp + 36|0; + $14 = sp + 32|0; + $15 = sp + 28|0; + $16 = sp + 24|0; + $17 = sp + 20|0; + $18 = sp + 16|0; + $19 = sp + 12|0; + $20 = sp + 8|0; + $21 = sp + 4|0; + $22 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 56|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$11>>2] = $25; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 5|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + HEAP32[$12>>2] = $29; + $30 = HEAP32[$6>>2]|0; + $31 = ((($30)) + 64|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$9>>2]|0; + $34 = $33<<1; + $35 = (($32) + ($34)|0); + HEAP32[$13>>2] = $35; + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 18|0); + $38 = HEAP16[$37>>1]|0; + $39 = $38&65535; + HEAP32[$14>>2] = $39; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = ((($41)) + 18|0); + $43 = HEAP16[$42>>1]|0; + $44 = $43&65535; + $45 = (($40) + ($44))|0; + $46 = HEAP32[$6>>2]|0; + $47 = ((($46)) + 1|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = (($45) + ($49))|0; + HEAP32[$18>>2] = $50; + $51 = HEAP32[$8>>2]|0; + $52 = HEAP32[$9>>2]|0; + $53 = (($51) + ($52))|0; + HEAP32[$19>>2] = $53; + $54 = HEAP32[$7>>2]|0; + $55 = HEAP32[$8>>2]|0; + $56 = ($54|0)<($55|0); + if ($56) { + $57 = HEAP32[$6>>2]|0; + $58 = HEAP32[$7>>2]|0; + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$7>>2]|0; + $61 = (($59) - ($60))|0; + $62 = HEAP32[$10>>2]|0; + $63 = (_pageFreeArray($57,$58,$61,$62)|0); + HEAP32[$20>>2] = $63; + $64 = HEAP32[$6>>2]|0; + $65 = ((($64)) + 64|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$6>>2]|0; + $68 = ((($67)) + 64|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$20>>2]|0; + $71 = $70<<1; + $72 = (($69) + ($71)|0); + $73 = HEAP32[$14>>2]|0; + $74 = $73<<1; + _memmove(($66|0),($72|0),($74|0))|0; + $75 = HEAP32[$20>>2]|0; + $76 = HEAP32[$14>>2]|0; + $77 = (($76) - ($75))|0; + HEAP32[$14>>2] = $77; + } + $78 = HEAP32[$19>>2]|0; + $79 = HEAP32[$18>>2]|0; + $80 = ($78|0)<($79|0); + if ($80) { + $81 = HEAP32[$6>>2]|0; + $82 = HEAP32[$19>>2]|0; + $83 = HEAP32[$18>>2]|0; + $84 = HEAP32[$19>>2]|0; + $85 = (($83) - ($84))|0; + $86 = HEAP32[$10>>2]|0; + $87 = (_pageFreeArray($81,$82,$85,$86)|0); + $88 = HEAP32[$14>>2]|0; + $89 = (($88) - ($87))|0; + HEAP32[$14>>2] = $89; + } + $90 = HEAP32[$11>>2]|0; + $91 = HEAP32[$11>>2]|0; + $92 = HEAP32[$12>>2]|0; + $93 = (($92) + 5)|0; + $94 = (($91) + ($93)|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = $96 << 8; + $98 = HEAP32[$11>>2]|0; + $99 = HEAP32[$12>>2]|0; + $100 = (($99) + 5)|0; + $101 = (($98) + ($100)|0); + $102 = ((($101)) + 1|0); + $103 = HEAP8[$102>>0]|0; + $104 = $103&255; + $105 = $97 | $104; + $106 = (($105) - 1)|0; + $107 = $106 & 65535; + $108 = (($107) + 1)|0; + $109 = (($90) + ($108)|0); + HEAP32[$15>>2] = $109; + $110 = HEAP32[$15>>2]|0; + $111 = HEAP32[$13>>2]|0; + $112 = ($110>>>0)<($111>>>0); + L7: do { + if (!($112)) { + $113 = HEAP32[$8>>2]|0; + $114 = HEAP32[$7>>2]|0; + $115 = ($113|0)<($114|0); + if ($115) { + $116 = HEAP32[$9>>2]|0; + $117 = HEAP32[$7>>2]|0; + $118 = HEAP32[$8>>2]|0; + $119 = (($117) - ($118))|0; + $120 = ($116|0)<($119|0); + if ($120) { + $121 = HEAP32[$9>>2]|0; + $125 = $121; + } else { + $122 = HEAP32[$7>>2]|0; + $123 = HEAP32[$8>>2]|0; + $124 = (($122) - ($123))|0; + $125 = $124; + } + HEAP32[$21>>2] = $125; + $126 = HEAP32[$6>>2]|0; + $127 = ((($126)) + 64|0); + $128 = HEAP32[$127>>2]|0; + HEAP32[$16>>2] = $128; + $129 = HEAP32[$16>>2]|0; + $130 = HEAP32[$21>>2]|0; + $131 = $130<<1; + $132 = (($129) + ($131)|0); + $133 = HEAP32[$16>>2]|0; + $134 = HEAP32[$14>>2]|0; + $135 = $134<<1; + _memmove(($132|0),($133|0),($135|0))|0; + $136 = HEAP32[$6>>2]|0; + $137 = HEAP32[$13>>2]|0; + $138 = HEAP32[$16>>2]|0; + $139 = HEAP32[$8>>2]|0; + $140 = HEAP32[$21>>2]|0; + $141 = HEAP32[$10>>2]|0; + $142 = (_pageInsertArray($136,$137,$15,$138,$139,$140,$141)|0); + $143 = ($142|0)!=(0); + if ($143) { + break; + } + $144 = HEAP32[$21>>2]|0; + $145 = HEAP32[$14>>2]|0; + $146 = (($145) + ($144))|0; + HEAP32[$14>>2] = $146; + } + HEAP32[$17>>2] = 0; + while(1) { + $147 = HEAP32[$17>>2]|0; + $148 = HEAP32[$6>>2]|0; + $149 = ((($148)) + 1|0); + $150 = HEAP8[$149>>0]|0; + $151 = $150&255; + $152 = ($147|0)<($151|0); + if (!($152)) { + break; + } + $153 = HEAP32[$7>>2]|0; + $154 = HEAP32[$6>>2]|0; + $155 = ((($154)) + 22|0); + $156 = HEAP32[$17>>2]|0; + $157 = (($155) + ($156<<1)|0); + $158 = HEAP16[$157>>1]|0; + $159 = $158&65535; + $160 = (($153) + ($159))|0; + $161 = HEAP32[$8>>2]|0; + $162 = (($160) - ($161))|0; + HEAP32[$22>>2] = $162; + $163 = HEAP32[$22>>2]|0; + $164 = ($163|0)>=(0); + if ($164) { + $165 = HEAP32[$22>>2]|0; + $166 = HEAP32[$9>>2]|0; + $167 = ($165|0)<($166|0); + if ($167) { + $168 = HEAP32[$6>>2]|0; + $169 = ((($168)) + 64|0); + $170 = HEAP32[$169>>2]|0; + $171 = HEAP32[$22>>2]|0; + $172 = $171<<1; + $173 = (($170) + ($172)|0); + HEAP32[$16>>2] = $173; + $174 = HEAP32[$16>>2]|0; + $175 = ((($174)) + 2|0); + $176 = HEAP32[$16>>2]|0; + $177 = HEAP32[$14>>2]|0; + $178 = HEAP32[$22>>2]|0; + $179 = (($177) - ($178))|0; + $180 = $179<<1; + _memmove(($175|0),($176|0),($180|0))|0; + $181 = HEAP32[$14>>2]|0; + $182 = (($181) + 1)|0; + HEAP32[$14>>2] = $182; + $183 = HEAP32[$6>>2]|0; + $184 = HEAP32[$13>>2]|0; + $185 = HEAP32[$16>>2]|0; + $186 = HEAP32[$22>>2]|0; + $187 = HEAP32[$8>>2]|0; + $188 = (($186) + ($187))|0; + $189 = HEAP32[$10>>2]|0; + $190 = (_pageInsertArray($183,$184,$15,$185,$188,1,$189)|0); + $191 = ($190|0)!=(0); + if ($191) { + break L7; + } + } + } + $192 = HEAP32[$17>>2]|0; + $193 = (($192) + 1)|0; + HEAP32[$17>>2] = $193; + } + $194 = HEAP32[$6>>2]|0; + $195 = ((($194)) + 64|0); + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$14>>2]|0; + $198 = $197<<1; + $199 = (($196) + ($198)|0); + HEAP32[$16>>2] = $199; + $200 = HEAP32[$6>>2]|0; + $201 = HEAP32[$13>>2]|0; + $202 = HEAP32[$16>>2]|0; + $203 = HEAP32[$8>>2]|0; + $204 = HEAP32[$14>>2]|0; + $205 = (($203) + ($204))|0; + $206 = HEAP32[$9>>2]|0; + $207 = HEAP32[$14>>2]|0; + $208 = (($206) - ($207))|0; + $209 = HEAP32[$10>>2]|0; + $210 = (_pageInsertArray($200,$201,$15,$202,$205,$208,$209)|0); + $211 = ($210|0)!=(0); + if (!($211)) { + $212 = HEAP32[$9>>2]|0; + $213 = $212&65535; + $214 = HEAP32[$6>>2]|0; + $215 = ((($214)) + 18|0); + HEAP16[$215>>1] = $213; + $216 = HEAP32[$6>>2]|0; + $217 = ((($216)) + 1|0); + HEAP8[$217>>0] = 0; + $218 = HEAP32[$6>>2]|0; + $219 = ((($218)) + 18|0); + $220 = HEAP16[$219>>1]|0; + $221 = $220&65535; + $222 = $221 >> 8; + $223 = $222&255; + $224 = HEAP32[$11>>2]|0; + $225 = HEAP32[$12>>2]|0; + $226 = (($225) + 3)|0; + $227 = (($224) + ($226)|0); + HEAP8[$227>>0] = $223; + $228 = HEAP32[$6>>2]|0; + $229 = ((($228)) + 18|0); + $230 = HEAP16[$229>>1]|0; + $231 = $230&255; + $232 = HEAP32[$11>>2]|0; + $233 = HEAP32[$12>>2]|0; + $234 = (($233) + 3)|0; + $235 = (($232) + ($234)|0); + $236 = ((($235)) + 1|0); + HEAP8[$236>>0] = $231; + $237 = HEAP32[$15>>2]|0; + $238 = HEAP32[$11>>2]|0; + $239 = $237; + $240 = $238; + $241 = (($239) - ($240))|0; + $242 = $241 >> 8; + $243 = $242&255; + $244 = HEAP32[$11>>2]|0; + $245 = HEAP32[$12>>2]|0; + $246 = (($245) + 5)|0; + $247 = (($244) + ($246)|0); + HEAP8[$247>>0] = $243; + $248 = HEAP32[$15>>2]|0; + $249 = HEAP32[$11>>2]|0; + $250 = $248; + $251 = $249; + $252 = (($250) - ($251))|0; + $253 = $252&255; + $254 = HEAP32[$11>>2]|0; + $255 = HEAP32[$12>>2]|0; + $256 = (($255) + 5)|0; + $257 = (($254) + ($256)|0); + $258 = ((($257)) + 1|0); + HEAP8[$258>>0] = $253; + HEAP32[$5>>2] = 0; + $275 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($275|0); + } + } + } while(0); + $259 = HEAP32[$10>>2]|0; + $260 = HEAP32[$8>>2]|0; + $261 = HEAP32[$9>>2]|0; + _populateCellCache($259,$260,$261); + $262 = HEAP32[$6>>2]|0; + $263 = HEAP32[$9>>2]|0; + $264 = HEAP32[$10>>2]|0; + $265 = ((($264)) + 8|0); + $266 = HEAP32[$265>>2]|0; + $267 = HEAP32[$8>>2]|0; + $268 = (($266) + ($267<<2)|0); + $269 = HEAP32[$10>>2]|0; + $270 = ((($269)) + 12|0); + $271 = HEAP32[$270>>2]|0; + $272 = HEAP32[$8>>2]|0; + $273 = (($271) + ($272<<1)|0); + $274 = (_rebuildPage($262,$263,$268,$273)|0); + HEAP32[$5>>2] = $274; + $275 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($275|0); +} +function _defragmentPage($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $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, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $1 = sp + 64|0; + $2 = sp + 60|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$12>>2] = 0; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 56|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$11>>2] = $20; + HEAP32[$13>>2] = $20; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 5|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + HEAP32[$5>>2] = $24; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 14|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27&65535; + HEAP32[$8>>2] = $28; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 18|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + HEAP32[$10>>2] = $32; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 52|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 36|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$7>>2] = $37; + $38 = HEAP32[$7>>2]|0; + HEAP32[$9>>2] = $38; + $39 = HEAP32[$8>>2]|0; + $40 = HEAP32[$10>>2]|0; + $41 = $40<<1; + $42 = (($39) + ($41))|0; + HEAP32[$14>>2] = $42; + $43 = HEAP32[$7>>2]|0; + $44 = (($43) - 4)|0; + HEAP32[$15>>2] = $44; + HEAP32[$3>>2] = 0; + while(1) { + $45 = HEAP32[$3>>2]|0; + $46 = HEAP32[$10>>2]|0; + $47 = ($45|0)<($46|0); + if (!($47)) { + label = 14; + break; + } + $48 = HEAP32[$11>>2]|0; + $49 = HEAP32[$8>>2]|0; + $50 = HEAP32[$3>>2]|0; + $51 = $50<<1; + $52 = (($49) + ($51))|0; + $53 = (($48) + ($52)|0); + HEAP32[$16>>2] = $53; + $54 = HEAP32[$16>>2]|0; + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = $56 << 8; + $58 = HEAP32[$16>>2]|0; + $59 = ((($58)) + 1|0); + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = $57 | $61; + HEAP32[$4>>2] = $62; + $63 = HEAP32[$4>>2]|0; + $64 = HEAP32[$14>>2]|0; + $65 = ($63|0)<($64|0); + if ($65) { + label = 5; + break; + } + $66 = HEAP32[$4>>2]|0; + $67 = HEAP32[$15>>2]|0; + $68 = ($66|0)>($67|0); + if ($68) { + label = 5; + break; + } + $70 = HEAP32[$2>>2]|0; + $71 = ((($70)) + 76|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$2>>2]|0; + $74 = HEAP32[$13>>2]|0; + $75 = HEAP32[$4>>2]|0; + $76 = (($74) + ($75)|0); + $77 = (FUNCTION_TABLE_iii[$72 & 255]($73,$76)|0); + $78 = $77&65535; + HEAP32[$6>>2] = $78; + $79 = HEAP32[$6>>2]|0; + $80 = HEAP32[$9>>2]|0; + $81 = (($80) - ($79))|0; + HEAP32[$9>>2] = $81; + $82 = HEAP32[$9>>2]|0; + $83 = HEAP32[$14>>2]|0; + $84 = ($82|0)<($83|0); + if ($84) { + label = 8; + break; + } + $85 = HEAP32[$4>>2]|0; + $86 = HEAP32[$6>>2]|0; + $87 = (($85) + ($86))|0; + $88 = HEAP32[$7>>2]|0; + $89 = ($87|0)>($88|0); + if ($89) { + label = 8; + break; + } + $91 = HEAP32[$9>>2]|0; + $92 = $91 >> 8; + $93 = $92&255; + $94 = HEAP32[$16>>2]|0; + HEAP8[$94>>0] = $93; + $95 = HEAP32[$9>>2]|0; + $96 = $95&255; + $97 = HEAP32[$16>>2]|0; + $98 = ((($97)) + 1|0); + HEAP8[$98>>0] = $96; + $99 = HEAP32[$12>>2]|0; + $100 = ($99|0)==(0|0); + if ($100) { + $101 = HEAP32[$9>>2]|0; + $102 = HEAP32[$4>>2]|0; + $103 = ($101|0)==($102|0); + if (!($103)) { + $104 = HEAP32[$2>>2]|0; + $105 = ((($104)) + 52|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$106>>2]|0; + $108 = (_sqlite3PagerTempSpace($107)|0); + HEAP32[$12>>2] = $108; + $109 = HEAP32[$11>>2]|0; + $110 = HEAP32[$5>>2]|0; + $111 = (($110) + 5)|0; + $112 = (($109) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $115 = $114 << 8; + $116 = HEAP32[$11>>2]|0; + $117 = HEAP32[$5>>2]|0; + $118 = (($117) + 5)|0; + $119 = (($116) + ($118)|0); + $120 = ((($119)) + 1|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = $115 | $122; + HEAP32[$17>>2] = $123; + $124 = HEAP32[$12>>2]|0; + $125 = HEAP32[$17>>2]|0; + $126 = (($124) + ($125)|0); + $127 = HEAP32[$11>>2]|0; + $128 = HEAP32[$17>>2]|0; + $129 = (($127) + ($128)|0); + $130 = HEAP32[$9>>2]|0; + $131 = HEAP32[$6>>2]|0; + $132 = (($130) + ($131))|0; + $133 = HEAP32[$17>>2]|0; + $134 = (($132) - ($133))|0; + _memcpy(($126|0),($129|0),($134|0))|0; + $135 = HEAP32[$12>>2]|0; + HEAP32[$13>>2] = $135; + label = 12; + } + } else { + label = 12; + } + if ((label|0) == 12) { + label = 0; + $136 = HEAP32[$11>>2]|0; + $137 = HEAP32[$9>>2]|0; + $138 = (($136) + ($137)|0); + $139 = HEAP32[$13>>2]|0; + $140 = HEAP32[$4>>2]|0; + $141 = (($139) + ($140)|0); + $142 = HEAP32[$6>>2]|0; + _memcpy(($138|0),($141|0),($142|0))|0; + } + $143 = HEAP32[$3>>2]|0; + $144 = (($143) + 1)|0; + HEAP32[$3>>2] = $144; + } + if ((label|0) == 5) { + $69 = (_sqlite3CorruptError(59617)|0); + HEAP32[$1>>2] = $69; + $186 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($186|0); + } + else if ((label|0) == 8) { + $90 = (_sqlite3CorruptError(59623)|0); + HEAP32[$1>>2] = $90; + $186 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($186|0); + } + else if ((label|0) == 14) { + $145 = HEAP32[$9>>2]|0; + $146 = $145 >> 8; + $147 = $146&255; + $148 = HEAP32[$11>>2]|0; + $149 = HEAP32[$5>>2]|0; + $150 = (($149) + 5)|0; + $151 = (($148) + ($150)|0); + HEAP8[$151>>0] = $147; + $152 = HEAP32[$9>>2]|0; + $153 = $152&255; + $154 = HEAP32[$11>>2]|0; + $155 = HEAP32[$5>>2]|0; + $156 = (($155) + 5)|0; + $157 = (($154) + ($156)|0); + $158 = ((($157)) + 1|0); + HEAP8[$158>>0] = $153; + $159 = HEAP32[$11>>2]|0; + $160 = HEAP32[$5>>2]|0; + $161 = (($160) + 1)|0; + $162 = (($159) + ($161)|0); + HEAP8[$162>>0] = 0; + $163 = HEAP32[$11>>2]|0; + $164 = HEAP32[$5>>2]|0; + $165 = (($164) + 2)|0; + $166 = (($163) + ($165)|0); + HEAP8[$166>>0] = 0; + $167 = HEAP32[$11>>2]|0; + $168 = HEAP32[$5>>2]|0; + $169 = (($168) + 7)|0; + $170 = (($167) + ($169)|0); + HEAP8[$170>>0] = 0; + $171 = HEAP32[$11>>2]|0; + $172 = HEAP32[$14>>2]|0; + $173 = (($171) + ($172)|0); + $174 = HEAP32[$9>>2]|0; + $175 = HEAP32[$14>>2]|0; + $176 = (($174) - ($175))|0; + _memset(($173|0),0,($176|0))|0; + $177 = HEAP32[$9>>2]|0; + $178 = HEAP32[$14>>2]|0; + $179 = (($177) - ($178))|0; + $180 = HEAP32[$2>>2]|0; + $181 = ((($180)) + 16|0); + $182 = HEAP16[$181>>1]|0; + $183 = $182&65535; + $184 = ($179|0)!=($183|0); + if ($184) { + $185 = (_sqlite3CorruptError(59647)|0); + HEAP32[$1>>2] = $185; + $186 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($186|0); + } else { + HEAP32[$1>>2] = 0; + $186 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($186|0); + } + } + return (0)|0; +} +function _copyNodeContent($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + STACKTOP = sp;return; + } + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 52|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$6>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 56|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$7>>2] = $21; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$8>>2] = $24; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 5|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + HEAP32[$9>>2] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 84|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(1); + $33 = $32 ? 100 : 0; + HEAP32[$10>>2] = $33; + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$9>>2]|0; + $36 = (($35) + 5)|0; + $37 = (($34) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = $39 << 8; + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$9>>2]|0; + $43 = (($42) + 5)|0; + $44 = (($41) + ($43)|0); + $45 = ((($44)) + 1|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = $40 | $47; + HEAP32[$12>>2] = $48; + $49 = HEAP32[$8>>2]|0; + $50 = HEAP32[$12>>2]|0; + $51 = (($49) + ($50)|0); + $52 = HEAP32[$7>>2]|0; + $53 = HEAP32[$12>>2]|0; + $54 = (($52) + ($53)|0); + $55 = HEAP32[$6>>2]|0; + $56 = ((($55)) + 36|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$12>>2]|0; + $59 = (($57) - ($58))|0; + _memcpy(($51|0),($54|0),($59|0))|0; + $60 = HEAP32[$8>>2]|0; + $61 = HEAP32[$10>>2]|0; + $62 = (($60) + ($61)|0); + $63 = HEAP32[$7>>2]|0; + $64 = HEAP32[$9>>2]|0; + $65 = (($63) + ($64)|0); + $66 = HEAP32[$3>>2]|0; + $67 = ((($66)) + 14|0); + $68 = HEAP16[$67>>1]|0; + $69 = $68&65535; + $70 = HEAP32[$3>>2]|0; + $71 = ((($70)) + 18|0); + $72 = HEAP16[$71>>1]|0; + $73 = $72&65535; + $74 = $73<<1; + $75 = (($69) + ($74))|0; + _memcpy(($62|0),($65|0),($75|0))|0; + $76 = HEAP32[$4>>2]|0; + HEAP8[$76>>0] = 0; + $77 = HEAP32[$4>>2]|0; + $78 = (_btreeInitPage($77)|0); + HEAP32[$11>>2] = $78; + $79 = HEAP32[$11>>2]|0; + $80 = ($79|0)!=(0); + if ($80) { + $81 = HEAP32[$11>>2]|0; + $82 = HEAP32[$5>>2]|0; + HEAP32[$82>>2] = $81; + STACKTOP = sp;return; + } + $83 = HEAP32[$6>>2]|0; + $84 = ((($83)) + 17|0); + $85 = HEAP8[$84>>0]|0; + $86 = ($85<<24>>24)!=(0); + if (!($86)) { + STACKTOP = sp;return; + } + $87 = HEAP32[$4>>2]|0; + $88 = (_setChildPtrmaps($87)|0); + $89 = HEAP32[$5>>2]|0; + HEAP32[$89>>2] = $88; + STACKTOP = sp;return; +} +function _sqlite3ScratchFree($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$1>>2]|0; + $7 = $6; + $8 = HEAP32[(200)>>2]|0; + $9 = $8; + $10 = ($7>>>0)>=($9>>>0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = $11; + $13 = HEAP32[(54496)>>2]|0; + $14 = $13; + $15 = ($12>>>0)<($14>>>0); + if ($15) { + $16 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $16; + $17 = HEAP32[13620]|0; + _sqlite3_mutex_enter($17); + $18 = HEAP32[(54500)>>2]|0; + $19 = HEAP32[$2>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$2>>2]|0; + HEAP32[(54500)>>2] = $20; + $21 = HEAP32[(54504)>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[(54504)>>2] = $22; + _sqlite3StatusDown(3,1); + $23 = HEAP32[13620]|0; + _sqlite3_mutex_leave($23); + STACKTOP = sp;return; + } + } + $24 = HEAP32[2]|0; + $25 = ($24|0)!=(0); + if ($25) { + $26 = HEAP32[$1>>2]|0; + $27 = (_sqlite3MallocSize($26)|0); + HEAP32[$3>>2] = $27; + $28 = HEAP32[13620]|0; + _sqlite3_mutex_enter($28); + $29 = HEAP32[$3>>2]|0; + _sqlite3StatusDown(4,$29); + $30 = HEAP32[$3>>2]|0; + _sqlite3StatusDown(0,$30); + _sqlite3StatusDown(9,1); + $31 = HEAP32[(52)>>2]|0; + $32 = HEAP32[$1>>2]|0; + FUNCTION_TABLE_vi[$31 & 255]($32); + $33 = HEAP32[13620]|0; + _sqlite3_mutex_leave($33); + STACKTOP = sp;return; + } else { + $34 = HEAP32[(52)>>2]|0; + $35 = HEAP32[$1>>2]|0; + FUNCTION_TABLE_vi[$34 & 255]($35); + STACKTOP = sp;return; + } +} +function _sqlite3PagerTempSpace($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 208|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _pageFreeArray($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 56|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$9>>2] = $21; + $22 = HEAP32[$9>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 52|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($22) + ($27)|0); + HEAP32[$10>>2] = $28; + $29 = HEAP32[$9>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 5|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = (($33) + 8)|0; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 6|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($34) + ($38))|0; + $40 = (($29) + ($39)|0); + HEAP32[$11>>2] = $40; + HEAP32[$12>>2] = 0; + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = (($41) + ($42))|0; + HEAP32[$14>>2] = $43; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + $44 = HEAP32[$6>>2]|0; + HEAP32[$13>>2] = $44; + while(1) { + $45 = HEAP32[$13>>2]|0; + $46 = HEAP32[$14>>2]|0; + $47 = ($45|0)<($46|0); + if (!($47)) { + break; + } + $48 = HEAP32[$8>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$13>>2]|0; + $52 = (($50) + ($51<<2)|0); + $53 = HEAP32[$52>>2]|0; + HEAP32[$17>>2] = $53; + $54 = HEAP32[$17>>2]|0; + $55 = $54; + $56 = HEAP32[$11>>2]|0; + $57 = $56; + $58 = ($55>>>0)>=($57>>>0); + if ($58) { + $59 = HEAP32[$17>>2]|0; + $60 = $59; + $61 = HEAP32[$10>>2]|0; + $62 = $61; + $63 = ($60>>>0)<($62>>>0); + if ($63) { + $64 = HEAP32[$8>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$13>>2]|0; + $68 = (($66) + ($67<<1)|0); + $69 = HEAP16[$68>>1]|0; + $70 = $69&65535; + HEAP32[$18>>2] = $70; + $71 = HEAP32[$15>>2]|0; + $72 = HEAP32[$17>>2]|0; + $73 = HEAP32[$18>>2]|0; + $74 = (($72) + ($73)|0); + $75 = ($71|0)!=($74|0); + if ($75) { + $76 = HEAP32[$15>>2]|0; + $77 = ($76|0)!=(0|0); + if ($77) { + $78 = HEAP32[$5>>2]|0; + $79 = HEAP32[$15>>2]|0; + $80 = HEAP32[$9>>2]|0; + $81 = $79; + $82 = $80; + $83 = (($81) - ($82))|0; + $84 = $83&65535; + $85 = HEAP32[$16>>2]|0; + $86 = $85&65535; + (_freeSpace($78,$84,$86)|0); + } + $87 = HEAP32[$17>>2]|0; + HEAP32[$15>>2] = $87; + $88 = HEAP32[$18>>2]|0; + HEAP32[$16>>2] = $88; + $89 = HEAP32[$15>>2]|0; + $90 = HEAP32[$18>>2]|0; + $91 = (($89) + ($90)|0); + $92 = HEAP32[$10>>2]|0; + $93 = ($91>>>0)>($92>>>0); + if ($93) { + label = 9; + break; + } + } else { + $94 = HEAP32[$17>>2]|0; + HEAP32[$15>>2] = $94; + $95 = HEAP32[$18>>2]|0; + $96 = HEAP32[$16>>2]|0; + $97 = (($96) + ($95))|0; + HEAP32[$16>>2] = $97; + } + $98 = HEAP32[$12>>2]|0; + $99 = (($98) + 1)|0; + HEAP32[$12>>2] = $99; + } + } + $100 = HEAP32[$13>>2]|0; + $101 = (($100) + 1)|0; + HEAP32[$13>>2] = $101; + } + if ((label|0) == 9) { + HEAP32[$4>>2] = 0; + $114 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($114|0); + } + $102 = HEAP32[$15>>2]|0; + $103 = ($102|0)!=(0|0); + if ($103) { + $104 = HEAP32[$5>>2]|0; + $105 = HEAP32[$15>>2]|0; + $106 = HEAP32[$9>>2]|0; + $107 = $105; + $108 = $106; + $109 = (($107) - ($108))|0; + $110 = $109&65535; + $111 = HEAP32[$16>>2]|0; + $112 = $111&65535; + (_freeSpace($104,$110,$112)|0); + } + $113 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $113; + $114 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($114|0); +} +function _pageInsertArray($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp + 36|0; + $13 = sp + 32|0; + $14 = sp + 28|0; + $15 = sp + 24|0; + $16 = sp + 20|0; + $17 = sp + 16|0; + $18 = sp + 12|0; + $19 = sp + 8|0; + $20 = sp + 4|0; + $21 = sp; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + $22 = HEAP32[$8>>2]|0; + $23 = ((($22)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$16>>2] = $24; + $25 = HEAP32[$10>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$17>>2] = $26; + $27 = HEAP32[$12>>2]|0; + $28 = HEAP32[$13>>2]|0; + $29 = (($27) + ($28))|0; + HEAP32[$18>>2] = $29; + $30 = HEAP32[$12>>2]|0; + HEAP32[$15>>2] = $30; + while(1) { + $31 = HEAP32[$15>>2]|0; + $32 = HEAP32[$18>>2]|0; + $33 = ($31|0)<($32|0); + if (!($33)) { + label = 10; + break; + } + $34 = HEAP32[$14>>2]|0; + $35 = HEAP32[$15>>2]|0; + $36 = (_cachedCellSize($34,$35)|0); + $37 = $36&65535; + HEAP32[$19>>2] = $37; + $38 = HEAP32[$16>>2]|0; + $39 = ((($38)) + 1|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($41|0)==(0); + if ($42) { + $43 = HEAP32[$16>>2]|0; + $44 = ((($43)) + 2|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = ($46|0)==(0); + if ($47) { + label = 6; + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + label = 0; + $48 = HEAP32[$8>>2]|0; + $49 = HEAP32[$19>>2]|0; + $50 = (_pageFindSlot($48,$49,$20)|0); + HEAP32[$21>>2] = $50; + $51 = ($50|0)==(0|0); + if ($51) { + label = 6; + } + } + if ((label|0) == 6) { + label = 0; + $52 = HEAP32[$17>>2]|0; + $53 = HEAP32[$9>>2]|0; + $54 = $52; + $55 = $53; + $56 = (($54) - ($55))|0; + $57 = HEAP32[$19>>2]|0; + $58 = ($56|0)<($57|0); + if ($58) { + label = 7; + break; + } + $59 = HEAP32[$19>>2]|0; + $60 = HEAP32[$17>>2]|0; + $61 = (0 - ($59))|0; + $62 = (($60) + ($61)|0); + HEAP32[$17>>2] = $62; + $63 = HEAP32[$17>>2]|0; + HEAP32[$21>>2] = $63; + } + $64 = HEAP32[$21>>2]|0; + $65 = HEAP32[$14>>2]|0; + $66 = ((($65)) + 8|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$15>>2]|0; + $69 = (($67) + ($68<<2)|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$19>>2]|0; + _memmove(($64|0),($70|0),($71|0))|0; + $72 = HEAP32[$21>>2]|0; + $73 = HEAP32[$16>>2]|0; + $74 = $72; + $75 = $73; + $76 = (($74) - ($75))|0; + $77 = $76 >> 8; + $78 = $77&255; + $79 = HEAP32[$11>>2]|0; + HEAP8[$79>>0] = $78; + $80 = HEAP32[$21>>2]|0; + $81 = HEAP32[$16>>2]|0; + $82 = $80; + $83 = $81; + $84 = (($82) - ($83))|0; + $85 = $84&255; + $86 = HEAP32[$11>>2]|0; + $87 = ((($86)) + 1|0); + HEAP8[$87>>0] = $85; + $88 = HEAP32[$11>>2]|0; + $89 = ((($88)) + 2|0); + HEAP32[$11>>2] = $89; + $90 = HEAP32[$15>>2]|0; + $91 = (($90) + 1)|0; + HEAP32[$15>>2] = $91; + } + if ((label|0) == 7) { + HEAP32[$7>>2] = 1; + $94 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($94|0); + } + else if ((label|0) == 10) { + $92 = HEAP32[$17>>2]|0; + $93 = HEAP32[$10>>2]|0; + HEAP32[$93>>2] = $92; + HEAP32[$7>>2] = 0; + $94 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($94|0); + } + return (0)|0; +} +function _populateCellCache($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + while(1) { + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)>(0); + if (!($7)) { + break; + } + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = (($10) + ($11<<1)|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = ($14|0)==(0); + if ($15) { + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 76|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$4>>2]|0; + $28 = (($26) + ($27<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = (FUNCTION_TABLE_iii[$20 & 255]($23,$29)|0); + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = (($33) + ($34<<1)|0); + HEAP16[$35>>1] = $30; + } + $36 = HEAP32[$4>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$4>>2] = $37; + $38 = HEAP32[$5>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$5>>2] = $39; + } + STACKTOP = sp;return; +} +function _rebuildPage($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 5|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + HEAP32[$9>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$10>>2] = $24; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 52|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($27)) + 36|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$11>>2] = $29; + $30 = HEAP32[$10>>2]|0; + $31 = HEAP32[$11>>2]|0; + $32 = (($30) + ($31)|0); + HEAP32[$12>>2] = $32; + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 64|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$14>>2] = $35; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 52|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = (_sqlite3PagerTempSpace($39)|0); + HEAP32[$15>>2] = $40; + $41 = HEAP32[$10>>2]|0; + $42 = HEAP32[$9>>2]|0; + $43 = (($42) + 5)|0; + $44 = (($41) + ($43)|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = $46 << 8; + $48 = HEAP32[$10>>2]|0; + $49 = HEAP32[$9>>2]|0; + $50 = (($49) + 5)|0; + $51 = (($48) + ($50)|0); + $52 = ((($51)) + 1|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = $47 | $54; + HEAP32[$13>>2] = $55; + $56 = HEAP32[$15>>2]|0; + $57 = HEAP32[$13>>2]|0; + $58 = (($56) + ($57)|0); + $59 = HEAP32[$10>>2]|0; + $60 = HEAP32[$13>>2]|0; + $61 = (($59) + ($60)|0); + $62 = HEAP32[$11>>2]|0; + $63 = HEAP32[$13>>2]|0; + $64 = (($62) - ($63))|0; + _memcpy(($58|0),($61|0),($64|0))|0; + $65 = HEAP32[$12>>2]|0; + HEAP32[$16>>2] = $65; + HEAP32[$13>>2] = 0; + while(1) { + $66 = HEAP32[$13>>2]|0; + $67 = HEAP32[$6>>2]|0; + $68 = ($66|0)<($67|0); + if (!($68)) { + label = 9; + break; + } + $69 = HEAP32[$7>>2]|0; + $70 = HEAP32[$13>>2]|0; + $71 = (($69) + ($70<<2)|0); + $72 = HEAP32[$71>>2]|0; + HEAP32[$17>>2] = $72; + $73 = HEAP32[$17>>2]|0; + $74 = $73; + $75 = HEAP32[$10>>2]|0; + $76 = $75; + $77 = ($74>>>0)>=($76>>>0); + if ($77) { + $78 = HEAP32[$17>>2]|0; + $79 = $78; + $80 = HEAP32[$12>>2]|0; + $81 = $80; + $82 = ($79>>>0)<($81>>>0); + if ($82) { + $83 = HEAP32[$15>>2]|0; + $84 = HEAP32[$17>>2]|0; + $85 = HEAP32[$10>>2]|0; + $86 = $84; + $87 = $85; + $88 = (($86) - ($87))|0; + $89 = (($83) + ($88)|0); + HEAP32[$17>>2] = $89; + } + } + $90 = HEAP32[$8>>2]|0; + $91 = HEAP32[$13>>2]|0; + $92 = (($90) + ($91<<1)|0); + $93 = HEAP16[$92>>1]|0; + $94 = $93&65535; + $95 = HEAP32[$16>>2]|0; + $96 = (0 - ($94))|0; + $97 = (($95) + ($96)|0); + HEAP32[$16>>2] = $97; + $98 = HEAP32[$16>>2]|0; + $99 = HEAP32[$10>>2]|0; + $100 = $98; + $101 = $99; + $102 = (($100) - ($101))|0; + $103 = $102 >> 8; + $104 = $103&255; + $105 = HEAP32[$14>>2]|0; + HEAP8[$105>>0] = $104; + $106 = HEAP32[$16>>2]|0; + $107 = HEAP32[$10>>2]|0; + $108 = $106; + $109 = $107; + $110 = (($108) - ($109))|0; + $111 = $110&255; + $112 = HEAP32[$14>>2]|0; + $113 = ((($112)) + 1|0); + HEAP8[$113>>0] = $111; + $114 = HEAP32[$14>>2]|0; + $115 = ((($114)) + 2|0); + HEAP32[$14>>2] = $115; + $116 = HEAP32[$16>>2]|0; + $117 = HEAP32[$14>>2]|0; + $118 = ($116>>>0)<($117>>>0); + if ($118) { + label = 7; + break; + } + $120 = HEAP32[$16>>2]|0; + $121 = HEAP32[$17>>2]|0; + $122 = HEAP32[$8>>2]|0; + $123 = HEAP32[$13>>2]|0; + $124 = (($122) + ($123<<1)|0); + $125 = HEAP16[$124>>1]|0; + $126 = $125&65535; + _memcpy(($120|0),($121|0),($126|0))|0; + $127 = HEAP32[$13>>2]|0; + $128 = (($127) + 1)|0; + HEAP32[$13>>2] = $128; + } + if ((label|0) == 7) { + $119 = (_sqlite3CorruptError(64716)|0); + HEAP32[$4>>2] = $119; + $189 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($189|0); + } + else if ((label|0) == 9) { + $129 = HEAP32[$6>>2]|0; + $130 = $129&65535; + $131 = HEAP32[$5>>2]|0; + $132 = ((($131)) + 18|0); + HEAP16[$132>>1] = $130; + $133 = HEAP32[$5>>2]|0; + $134 = ((($133)) + 1|0); + HEAP8[$134>>0] = 0; + $135 = HEAP32[$10>>2]|0; + $136 = HEAP32[$9>>2]|0; + $137 = (($136) + 1)|0; + $138 = (($135) + ($137)|0); + HEAP8[$138>>0] = 0; + $139 = HEAP32[$10>>2]|0; + $140 = HEAP32[$9>>2]|0; + $141 = (($140) + 1)|0; + $142 = (($139) + ($141)|0); + $143 = ((($142)) + 1|0); + HEAP8[$143>>0] = 0; + $144 = HEAP32[$5>>2]|0; + $145 = ((($144)) + 18|0); + $146 = HEAP16[$145>>1]|0; + $147 = $146&65535; + $148 = $147 >> 8; + $149 = $148&255; + $150 = HEAP32[$10>>2]|0; + $151 = HEAP32[$9>>2]|0; + $152 = (($151) + 3)|0; + $153 = (($150) + ($152)|0); + HEAP8[$153>>0] = $149; + $154 = HEAP32[$5>>2]|0; + $155 = ((($154)) + 18|0); + $156 = HEAP16[$155>>1]|0; + $157 = $156&255; + $158 = HEAP32[$10>>2]|0; + $159 = HEAP32[$9>>2]|0; + $160 = (($159) + 3)|0; + $161 = (($158) + ($160)|0); + $162 = ((($161)) + 1|0); + HEAP8[$162>>0] = $157; + $163 = HEAP32[$16>>2]|0; + $164 = HEAP32[$10>>2]|0; + $165 = $163; + $166 = $164; + $167 = (($165) - ($166))|0; + $168 = $167 >> 8; + $169 = $168&255; + $170 = HEAP32[$10>>2]|0; + $171 = HEAP32[$9>>2]|0; + $172 = (($171) + 5)|0; + $173 = (($170) + ($172)|0); + HEAP8[$173>>0] = $169; + $174 = HEAP32[$16>>2]|0; + $175 = HEAP32[$10>>2]|0; + $176 = $174; + $177 = $175; + $178 = (($176) - ($177))|0; + $179 = $178&255; + $180 = HEAP32[$10>>2]|0; + $181 = HEAP32[$9>>2]|0; + $182 = (($181) + 5)|0; + $183 = (($180) + ($182)|0); + $184 = ((($183)) + 1|0); + HEAP8[$184>>0] = $179; + $185 = HEAP32[$10>>2]|0; + $186 = HEAP32[$9>>2]|0; + $187 = (($186) + 7)|0; + $188 = (($185) + ($187)|0); + HEAP8[$188>>0] = 0; + HEAP32[$4>>2] = 0; + $189 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($189|0); + } + return (0)|0; +} +function _pageFindSlot($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $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, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 5|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + HEAP32[$7>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 56|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$9>>2] = $22; + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[$9>>2]|0; + $25 = (($23) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = $27 << 8; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = (($29) + ($30)|0); + $32 = ((($31)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $28 | $34; + HEAP32[$10>>2] = $35; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 52|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($38)) + 36|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$12>>2] = $40; + while(1) { + $41 = HEAP32[$10>>2]|0; + $42 = HEAP32[$12>>2]|0; + $43 = (($42) - 4)|0; + $44 = ($41|0)>($43|0); + if ($44) { + label = 4; + break; + } + $45 = HEAP32[$10>>2]|0; + $46 = HEAP32[$9>>2]|0; + $47 = (($46) + 4)|0; + $48 = ($45|0)<($47|0); + if ($48) { + label = 4; + break; + } + $51 = HEAP32[$8>>2]|0; + $52 = HEAP32[$10>>2]|0; + $53 = (($52) + 2)|0; + $54 = (($51) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = $56 << 8; + $58 = HEAP32[$8>>2]|0; + $59 = HEAP32[$10>>2]|0; + $60 = (($59) + 2)|0; + $61 = (($58) + ($60)|0); + $62 = ((($61)) + 1|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = $57 | $64; + HEAP32[$13>>2] = $65; + $66 = HEAP32[$13>>2]|0; + $67 = HEAP32[$5>>2]|0; + $68 = (($66) - ($67))|0; + HEAP32[$11>>2] = $68; + $69 = ($68|0)>=(0); + $70 = HEAP32[$10>>2]|0; + if ($69) { + label = 6; + break; + } + HEAP32[$9>>2] = $70; + $134 = HEAP32[$8>>2]|0; + $135 = HEAP32[$10>>2]|0; + $136 = (($134) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = $138 << 8; + $140 = HEAP32[$8>>2]|0; + $141 = HEAP32[$10>>2]|0; + $142 = (($140) + ($141)|0); + $143 = ((($142)) + 1|0); + $144 = HEAP8[$143>>0]|0; + $145 = $144&255; + $146 = $139 | $145; + HEAP32[$10>>2] = $146; + $147 = HEAP32[$10>>2]|0; + $148 = ($147|0)!=(0); + if (!($148)) { + label = 16; + break; + } + } + if ((label|0) == 4) { + $49 = (_sqlite3CorruptError(59680)|0); + $50 = HEAP32[$6>>2]|0; + HEAP32[$50>>2] = $49; + HEAP32[$3>>2] = 0; + $149 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($149|0); + } + else if ((label|0) == 6) { + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 14|0); + $73 = HEAP16[$72>>1]|0; + $74 = $73&65535; + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 18|0); + $77 = HEAP16[$76>>1]|0; + $78 = $77&65535; + $79 = $78<<1; + $80 = (($74) + ($79))|0; + $81 = ($70|0)<($80|0); + if (!($81)) { + $82 = HEAP32[$13>>2]|0; + $83 = HEAP32[$10>>2]|0; + $84 = (($82) + ($83))|0; + $85 = HEAP32[$12>>2]|0; + $86 = ($84|0)>($85|0); + if (!($86)) { + $89 = HEAP32[$11>>2]|0; + $90 = ($89|0)<(4); + do { + if ($90) { + $91 = HEAP32[$8>>2]|0; + $92 = HEAP32[$7>>2]|0; + $93 = (($92) + 7)|0; + $94 = (($91) + ($93)|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = ($96|0)>(57); + if (!($97)) { + $98 = HEAP32[$8>>2]|0; + $99 = HEAP32[$9>>2]|0; + $100 = (($98) + ($99)|0); + $101 = HEAP32[$8>>2]|0; + $102 = HEAP32[$10>>2]|0; + $103 = (($101) + ($102)|0); + ;HEAP8[$100>>0]=HEAP8[$103>>0]|0;HEAP8[$100+1>>0]=HEAP8[$103+1>>0]|0; + $104 = HEAP32[$11>>2]|0; + $105 = $104&255; + $106 = $105&255; + $107 = HEAP32[$8>>2]|0; + $108 = HEAP32[$7>>2]|0; + $109 = (($108) + 7)|0; + $110 = (($107) + ($109)|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $113 = (($112) + ($106))|0; + $114 = $113&255; + HEAP8[$110>>0] = $114; + break; + } + HEAP32[$3>>2] = 0; + $149 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($149|0); + } else { + $115 = HEAP32[$11>>2]|0; + $116 = $115 >> 8; + $117 = $116&255; + $118 = HEAP32[$8>>2]|0; + $119 = HEAP32[$10>>2]|0; + $120 = (($119) + 2)|0; + $121 = (($118) + ($120)|0); + HEAP8[$121>>0] = $117; + $122 = HEAP32[$11>>2]|0; + $123 = $122&255; + $124 = HEAP32[$8>>2]|0; + $125 = HEAP32[$10>>2]|0; + $126 = (($125) + 2)|0; + $127 = (($124) + ($126)|0); + $128 = ((($127)) + 1|0); + HEAP8[$128>>0] = $123; + } + } while(0); + $129 = HEAP32[$8>>2]|0; + $130 = HEAP32[$10>>2]|0; + $131 = HEAP32[$11>>2]|0; + $132 = (($130) + ($131))|0; + $133 = (($129) + ($132)|0); + HEAP32[$3>>2] = $133; + $149 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($149|0); + } + } + $87 = (_sqlite3CorruptError(59691)|0); + $88 = HEAP32[$6>>2]|0; + HEAP32[$88>>2] = $87; + HEAP32[$3>>2] = 0; + $149 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($149|0); + } + else if ((label|0) == 16) { + HEAP32[$3>>2] = 0; + $149 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($149|0); + } + return (0)|0; +} +function _freeSpace($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $$sink3 = 0, $$sink4 = 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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 32|0; + $6 = sp + 30|0; + $7 = sp + 28|0; + $8 = sp + 26|0; + $9 = sp + 35|0; + $10 = sp + 34|0; + $11 = sp + 24|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$4>>2] = $0; + HEAP16[$5>>1] = $1; + HEAP16[$6>>1] = $2; + HEAP8[$10>>0] = 0; + $16 = HEAP16[$6>>1]|0; + HEAP16[$11>>1] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 52|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 36|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) - 4)|0; + HEAP32[$12>>2] = $22; + $23 = HEAP16[$5>>1]|0; + $24 = $23&65535; + $25 = HEAP16[$6>>1]|0; + $26 = $25&65535; + $27 = (($24) + ($26))|0; + HEAP32[$13>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 56|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$14>>2] = $30; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 52|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($33)) + 22|0); + $35 = HEAP16[$34>>1]|0; + $36 = $35&65535; + $37 = $36 & 4; + $38 = ($37|0)!=(0); + if ($38) { + $39 = HEAP32[$14>>2]|0; + $40 = HEAP16[$5>>1]|0; + $41 = $40&65535; + $42 = (($39) + ($41)|0); + $43 = HEAP16[$6>>1]|0; + $44 = $43&65535; + _memset(($42|0),0,($44|0))|0; + } + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 5|0); + $47 = HEAP8[$46>>0]|0; + HEAP8[$9>>0] = $47; + $48 = HEAP8[$9>>0]|0; + $49 = $48&255; + $50 = (($49) + 1)|0; + $51 = $50&65535; + HEAP16[$7>>1] = $51; + $52 = HEAP32[$14>>2]|0; + $53 = HEAP16[$7>>1]|0; + $54 = $53&65535; + $55 = (($54) + 1)|0; + $56 = (($52) + ($55)|0); + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = ($58|0)==(0); + if ($59) { + $60 = HEAP32[$14>>2]|0; + $61 = HEAP16[$7>>1]|0; + $62 = $61&65535; + $63 = (($60) + ($62)|0); + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + $66 = ($65|0)==(0); + if ($66) { + HEAP16[$8>>1] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + do { + if ((label|0) == 6) { + while(1) { + label = 0; + $67 = HEAP32[$14>>2]|0; + $68 = HEAP16[$7>>1]|0; + $69 = $68&65535; + $70 = (($67) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = $72 << 8; + $74 = HEAP32[$14>>2]|0; + $75 = HEAP16[$7>>1]|0; + $76 = $75&65535; + $77 = (($74) + ($76)|0); + $78 = ((($77)) + 1|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = $73 | $80; + $82 = $81&65535; + HEAP16[$8>>1] = $82; + $83 = $82&65535; + $84 = HEAP16[$5>>1]|0; + $85 = $84&65535; + $86 = ($83|0)<($85|0); + if (!($86)) { + break; + } + $87 = HEAP16[$8>>1]|0; + $88 = $87&65535; + $89 = HEAP16[$7>>1]|0; + $90 = $89&65535; + $91 = (($90) + 4)|0; + $92 = ($88|0)<($91|0); + $93 = HEAP16[$8>>1]|0; + if ($92) { + label = 8; + break; + } + HEAP16[$7>>1] = $93; + label = 6; + } + if ((label|0) == 8) { + $94 = $93&65535; + $95 = ($94|0)==(0); + if (!($95)) { + $96 = (_sqlite3CorruptError(59854)|0); + HEAP32[$3>>2] = $96; + $354 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($354|0); + } + } + $97 = HEAP16[$8>>1]|0; + $98 = $97&65535; + $99 = HEAP32[$12>>2]|0; + $100 = ($98>>>0)>($99>>>0); + if ($100) { + $101 = (_sqlite3CorruptError(59858)|0); + HEAP32[$3>>2] = $101; + $354 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($354|0); + } + $102 = HEAP16[$8>>1]|0; + $103 = $102&65535; + $104 = ($103|0)!=(0); + do { + if ($104) { + $105 = HEAP32[$13>>2]|0; + $106 = (($105) + 3)|0; + $107 = HEAP16[$8>>1]|0; + $108 = $107&65535; + $109 = ($106>>>0)>=($108>>>0); + if ($109) { + $110 = HEAP16[$8>>1]|0; + $111 = $110&65535; + $112 = HEAP32[$13>>2]|0; + $113 = (($111) - ($112))|0; + $114 = $113&255; + HEAP8[$10>>0] = $114; + $115 = HEAP32[$13>>2]|0; + $116 = HEAP16[$8>>1]|0; + $117 = $116&65535; + $118 = ($115>>>0)>($117>>>0); + if ($118) { + $119 = (_sqlite3CorruptError(59869)|0); + HEAP32[$3>>2] = $119; + $354 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($354|0); + } + $120 = HEAP16[$8>>1]|0; + $121 = $120&65535; + $122 = HEAP32[$14>>2]|0; + $123 = HEAP16[$8>>1]|0; + $124 = $123&65535; + $125 = (($124) + 2)|0; + $126 = (($122) + ($125)|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $129 = $128 << 8; + $130 = HEAP32[$14>>2]|0; + $131 = HEAP16[$8>>1]|0; + $132 = $131&65535; + $133 = (($132) + 2)|0; + $134 = (($130) + ($133)|0); + $135 = ((($134)) + 1|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = $129 | $137; + $139 = (($121) + ($138))|0; + HEAP32[$13>>2] = $139; + $140 = HEAP32[$13>>2]|0; + $141 = HEAP32[$4>>2]|0; + $142 = ((($141)) + 52|0); + $143 = HEAP32[$142>>2]|0; + $144 = ((($143)) + 36|0); + $145 = HEAP32[$144>>2]|0; + $146 = ($140>>>0)>($145>>>0); + if (!($146)) { + $148 = HEAP32[$13>>2]|0; + $149 = HEAP16[$5>>1]|0; + $150 = $149&65535; + $151 = (($148) - ($150))|0; + $152 = $151&65535; + HEAP16[$6>>1] = $152; + $153 = HEAP32[$14>>2]|0; + $154 = HEAP16[$8>>1]|0; + $155 = $154&65535; + $156 = (($153) + ($155)|0); + $157 = HEAP8[$156>>0]|0; + $158 = $157&255; + $159 = $158 << 8; + $160 = HEAP32[$14>>2]|0; + $161 = HEAP16[$8>>1]|0; + $162 = $161&65535; + $163 = (($160) + ($162)|0); + $164 = ((($163)) + 1|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = $159 | $166; + $168 = $167&65535; + HEAP16[$8>>1] = $168; + break; + } + $147 = (_sqlite3CorruptError(59871)|0); + HEAP32[$3>>2] = $147; + $354 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($354|0); + } + } + } while(0); + $169 = HEAP16[$7>>1]|0; + $170 = $169&65535; + $171 = HEAP8[$9>>0]|0; + $172 = $171&255; + $173 = (($172) + 1)|0; + $174 = ($170|0)>($173|0); + do { + if ($174) { + $175 = HEAP16[$7>>1]|0; + $176 = $175&65535; + $177 = HEAP32[$14>>2]|0; + $178 = HEAP16[$7>>1]|0; + $179 = $178&65535; + $180 = (($179) + 2)|0; + $181 = (($177) + ($180)|0); + $182 = HEAP8[$181>>0]|0; + $183 = $182&255; + $184 = $183 << 8; + $185 = HEAP32[$14>>2]|0; + $186 = HEAP16[$7>>1]|0; + $187 = $186&65535; + $188 = (($187) + 2)|0; + $189 = (($185) + ($188)|0); + $190 = ((($189)) + 1|0); + $191 = HEAP8[$190>>0]|0; + $192 = $191&255; + $193 = $184 | $192; + $194 = (($176) + ($193))|0; + HEAP32[$15>>2] = $194; + $195 = HEAP32[$15>>2]|0; + $196 = (($195) + 3)|0; + $197 = HEAP16[$5>>1]|0; + $198 = $197&65535; + $199 = ($196|0)>=($198|0); + if ($199) { + $200 = HEAP32[$15>>2]|0; + $201 = HEAP16[$5>>1]|0; + $202 = $201&65535; + $203 = ($200|0)>($202|0); + if (!($203)) { + $205 = HEAP16[$5>>1]|0; + $206 = $205&65535; + $207 = HEAP32[$15>>2]|0; + $208 = (($206) - ($207))|0; + $209 = HEAP8[$10>>0]|0; + $210 = $209&255; + $211 = (($210) + ($208))|0; + $212 = $211&255; + HEAP8[$10>>0] = $212; + $213 = HEAP32[$13>>2]|0; + $214 = HEAP16[$7>>1]|0; + $215 = $214&65535; + $216 = (($213) - ($215))|0; + $217 = $216&65535; + HEAP16[$6>>1] = $217; + $218 = HEAP16[$7>>1]|0; + HEAP16[$5>>1] = $218; + break; + } + $204 = (_sqlite3CorruptError(59883)|0); + HEAP32[$3>>2] = $204; + $354 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($354|0); + } + } + } while(0); + $219 = HEAP8[$10>>0]|0; + $220 = $219&255; + $221 = HEAP32[$14>>2]|0; + $222 = HEAP8[$9>>0]|0; + $223 = $222&255; + $224 = (($223) + 7)|0; + $225 = (($221) + ($224)|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $228 = ($220|0)>($227|0); + if (!($228)) { + $230 = HEAP8[$10>>0]|0; + $231 = $230&255; + $232 = HEAP32[$14>>2]|0; + $233 = HEAP8[$9>>0]|0; + $234 = $233&255; + $235 = (($234) + 7)|0; + $236 = (($232) + ($235)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($238) - ($231))|0; + $240 = $239&255; + HEAP8[$236>>0] = $240; + break; + } + $229 = (_sqlite3CorruptError(59889)|0); + HEAP32[$3>>2] = $229; + $354 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($354|0); + } + } while(0); + $241 = HEAP16[$5>>1]|0; + $242 = $241&65535; + $243 = HEAP32[$14>>2]|0; + $244 = HEAP8[$9>>0]|0; + $245 = $244&255; + $246 = (($245) + 5)|0; + $247 = (($243) + ($246)|0); + $248 = HEAP8[$247>>0]|0; + $249 = $248&255; + $250 = $249 << 8; + $251 = HEAP32[$14>>2]|0; + $252 = HEAP8[$9>>0]|0; + $253 = $252&255; + $254 = (($253) + 5)|0; + $255 = (($251) + ($254)|0); + $256 = ((($255)) + 1|0); + $257 = HEAP8[$256>>0]|0; + $258 = $257&255; + $259 = $250 | $258; + $260 = ($242|0)==($259|0); + do { + if ($260) { + $261 = HEAP16[$7>>1]|0; + $262 = $261&65535; + $263 = HEAP8[$9>>0]|0; + $264 = $263&255; + $265 = (($264) + 1)|0; + $266 = ($262|0)!=($265|0); + if (!($266)) { + $268 = HEAP16[$8>>1]|0; + $269 = $268&65535; + $270 = $269 >> 8; + $271 = $270&255; + $272 = HEAP32[$14>>2]|0; + $273 = HEAP8[$9>>0]|0; + $274 = $273&255; + $275 = (($274) + 1)|0; + $276 = (($272) + ($275)|0); + HEAP8[$276>>0] = $271; + $277 = HEAP16[$8>>1]|0; + $278 = $277&255; + $279 = HEAP32[$14>>2]|0; + $280 = HEAP8[$9>>0]|0; + $281 = $280&255; + $282 = (($281) + 1)|0; + $283 = (($279) + ($282)|0); + $284 = ((($283)) + 1|0); + HEAP8[$284>>0] = $278; + $285 = HEAP32[$13>>2]|0; + $286 = $285 >>> 8; + $287 = $286&255; + $288 = HEAP32[$14>>2]|0; + $289 = HEAP8[$9>>0]|0; + $290 = $289&255; + $291 = (($290) + 5)|0; + $292 = (($288) + ($291)|0); + HEAP8[$292>>0] = $287; + $293 = HEAP32[$13>>2]|0; + $294 = $293&255; + $295 = HEAP32[$14>>2]|0; + $296 = HEAP8[$9>>0]|0; + $297 = $296&255; + $298 = (($297) + 5)|0; + $$sink = $294;$$sink3 = $295;$$sink4 = $298; + break; + } + $267 = (_sqlite3CorruptError(59896)|0); + HEAP32[$3>>2] = $267; + $354 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($354|0); + } else { + $299 = HEAP16[$5>>1]|0; + $300 = $299&65535; + $301 = $300 >> 8; + $302 = $301&255; + $303 = HEAP32[$14>>2]|0; + $304 = HEAP16[$7>>1]|0; + $305 = $304&65535; + $306 = (($303) + ($305)|0); + HEAP8[$306>>0] = $302; + $307 = HEAP16[$5>>1]|0; + $308 = $307&255; + $309 = HEAP32[$14>>2]|0; + $310 = HEAP16[$7>>1]|0; + $311 = $310&65535; + $312 = (($309) + ($311)|0); + $313 = ((($312)) + 1|0); + HEAP8[$313>>0] = $308; + $314 = HEAP16[$8>>1]|0; + $315 = $314&65535; + $316 = $315 >> 8; + $317 = $316&255; + $318 = HEAP32[$14>>2]|0; + $319 = HEAP16[$5>>1]|0; + $320 = $319&65535; + $321 = (($318) + ($320)|0); + HEAP8[$321>>0] = $317; + $322 = HEAP16[$8>>1]|0; + $323 = $322&255; + $324 = HEAP32[$14>>2]|0; + $325 = HEAP16[$5>>1]|0; + $326 = $325&65535; + $327 = (($324) + ($326)|0); + $328 = ((($327)) + 1|0); + HEAP8[$328>>0] = $323; + $329 = HEAP16[$6>>1]|0; + $330 = $329&65535; + $331 = $330 >> 8; + $332 = $331&255; + $333 = HEAP32[$14>>2]|0; + $334 = HEAP16[$5>>1]|0; + $335 = $334&65535; + $336 = (($335) + 2)|0; + $337 = (($333) + ($336)|0); + HEAP8[$337>>0] = $332; + $338 = HEAP16[$6>>1]|0; + $339 = $338&255; + $340 = HEAP32[$14>>2]|0; + $341 = HEAP16[$5>>1]|0; + $342 = $341&65535; + $343 = (($342) + 2)|0; + $$sink = $339;$$sink3 = $340;$$sink4 = $343; + } + } while(0); + $344 = (($$sink3) + ($$sink4)|0); + $345 = ((($344)) + 1|0); + HEAP8[$345>>0] = $$sink; + $346 = HEAP16[$11>>1]|0; + $347 = $346&65535; + $348 = HEAP32[$4>>2]|0; + $349 = ((($348)) + 16|0); + $350 = HEAP16[$349>>1]|0; + $351 = $350&65535; + $352 = (($351) + ($347))|0; + $353 = $352&65535; + HEAP16[$349>>1] = $353; + HEAP32[$3>>2] = 0; + $354 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($354|0); +} +function _computeCellSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 76|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = (($14) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = (FUNCTION_TABLE_iii[$8 & 255]($11,$17)|0); + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = (($21) + ($22<<1)|0); + HEAP16[$23>>1] = $18; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = (($26) + ($27<<1)|0); + $29 = HEAP16[$28>>1]|0; + STACKTOP = sp;return ($29|0); +} +function _allocateSpace($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; + 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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 5|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + HEAP32[$7>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 56|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$8>>2] = $19; + HEAP32[$10>>2] = 0; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 14|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 18|0); + $26 = HEAP16[$25>>1]|0; + $27 = $26&65535; + $28 = $27<<1; + $29 = (($23) + ($28))|0; + HEAP32[$11>>2] = $29; + $30 = HEAP32[$8>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = (($31) + 5)|0; + $33 = (($30) + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = $35 << 8; + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + 5)|0; + $40 = (($37) + ($39)|0); + $41 = ((($40)) + 1|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = $36 | $43; + HEAP32[$9>>2] = $44; + $45 = HEAP32[$11>>2]|0; + $46 = HEAP32[$9>>2]|0; + $47 = ($45|0)>($46|0); + do { + if ($47) { + $48 = HEAP32[$9>>2]|0; + $49 = ($48|0)==(0); + if ($49) { + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 52|0); + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 36|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==(65536); + if ($55) { + HEAP32[$9>>2] = 65536; + break; + } + } + $56 = (_sqlite3CorruptError(59758)|0); + HEAP32[$3>>2] = $56; + $137 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($137|0); + } + } while(0); + $57 = HEAP32[$8>>2]|0; + $58 = HEAP32[$7>>2]|0; + $59 = (($58) + 2)|0; + $60 = (($57) + ($59)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62|0)!=(0); + if ($63) { + label = 8; + } else { + $64 = HEAP32[$8>>2]|0; + $65 = HEAP32[$7>>2]|0; + $66 = (($65) + 1)|0; + $67 = (($64) + ($66)|0); + $68 = HEAP8[$67>>0]|0; + $69 = $68&255; + $70 = ($69|0)!=(0); + if ($70) { + label = 8; + } + } + if ((label|0) == 8) { + $71 = HEAP32[$11>>2]|0; + $72 = (($71) + 2)|0; + $73 = HEAP32[$9>>2]|0; + $74 = ($72|0)<=($73|0); + if ($74) { + $75 = HEAP32[$4>>2]|0; + $76 = HEAP32[$5>>2]|0; + $77 = (_pageFindSlot($75,$76,$10)|0); + HEAP32[$12>>2] = $77; + $78 = HEAP32[$12>>2]|0; + $79 = ($78|0)!=(0|0); + if ($79) { + $80 = HEAP32[$12>>2]|0; + $81 = HEAP32[$8>>2]|0; + $82 = $80; + $83 = $81; + $84 = (($82) - ($83))|0; + $85 = HEAP32[$6>>2]|0; + HEAP32[$85>>2] = $84; + HEAP32[$3>>2] = 0; + $137 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($137|0); + } + $86 = HEAP32[$10>>2]|0; + $87 = ($86|0)!=(0); + if ($87) { + $88 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $88; + $137 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($137|0); + } + } + } + $89 = HEAP32[$11>>2]|0; + $90 = (($89) + 2)|0; + $91 = HEAP32[$5>>2]|0; + $92 = (($90) + ($91))|0; + $93 = HEAP32[$9>>2]|0; + $94 = ($92|0)>($93|0); + do { + if ($94) { + $95 = HEAP32[$4>>2]|0; + $96 = (_defragmentPage($95)|0); + HEAP32[$10>>2] = $96; + $97 = HEAP32[$10>>2]|0; + $98 = ($97|0)!=(0); + if (!($98)) { + $100 = HEAP32[$8>>2]|0; + $101 = HEAP32[$7>>2]|0; + $102 = (($101) + 5)|0; + $103 = (($100) + ($102)|0); + $104 = HEAP8[$103>>0]|0; + $105 = $104&255; + $106 = $105 << 8; + $107 = HEAP32[$8>>2]|0; + $108 = HEAP32[$7>>2]|0; + $109 = (($108) + 5)|0; + $110 = (($107) + ($109)|0); + $111 = ((($110)) + 1|0); + $112 = HEAP8[$111>>0]|0; + $113 = $112&255; + $114 = $106 | $113; + $115 = (($114) - 1)|0; + $116 = $115 & 65535; + $117 = (($116) + 1)|0; + HEAP32[$9>>2] = $117; + break; + } + $99 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $99; + $137 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($137|0); + } + } while(0); + $118 = HEAP32[$5>>2]|0; + $119 = HEAP32[$9>>2]|0; + $120 = (($119) - ($118))|0; + HEAP32[$9>>2] = $120; + $121 = HEAP32[$9>>2]|0; + $122 = $121 >> 8; + $123 = $122&255; + $124 = HEAP32[$8>>2]|0; + $125 = HEAP32[$7>>2]|0; + $126 = (($125) + 5)|0; + $127 = (($124) + ($126)|0); + HEAP8[$127>>0] = $123; + $128 = HEAP32[$9>>2]|0; + $129 = $128&255; + $130 = HEAP32[$8>>2]|0; + $131 = HEAP32[$7>>2]|0; + $132 = (($131) + 5)|0; + $133 = (($130) + ($132)|0); + $134 = ((($133)) + 1|0); + HEAP8[$134>>0] = $129; + $135 = HEAP32[$9>>2]|0; + $136 = HEAP32[$6>>2]|0; + HEAP32[$136>>2] = $135; + HEAP32[$3>>2] = 0; + $137 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($137|0); +} +function _fillInCell($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $4 = sp + 76|0; + $5 = sp + 72|0; + $6 = sp + 68|0; + $7 = sp + 64|0; + $8 = sp + 60|0; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 24|0; + $18 = sp + 20|0; + $19 = sp + 16|0; + $20 = sp + 12|0; + $21 = sp + 8|0; + $22 = sp + 4|0; + $23 = sp; + $24 = sp + 80|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$19>>2] = $27; + HEAP32[$20>>2] = 0; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 6|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + HEAP32[$21>>2] = $31; + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ($34<<24>>24)!=(0); + $36 = HEAP32[$7>>2]|0; + if ($35) { + $37 = ((($36)) + 20|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$7>>2]|0; + $40 = ((($39)) + 24|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($38) + ($41))|0; + HEAP32[$9>>2] = $42; + $43 = HEAP32[$7>>2]|0; + $44 = ((($43)) + 16|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$10>>2] = $45; + $46 = HEAP32[$7>>2]|0; + $47 = ((($46)) + 20|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$11>>2] = $48; + $49 = HEAP32[$9>>2]|0; + $50 = ($49>>>0)<(128); + if ($50) { + $51 = HEAP32[$9>>2]|0; + $52 = $51&255; + $53 = HEAP32[$6>>2]|0; + $54 = HEAP32[$21>>2]|0; + $55 = (($53) + ($54)|0); + HEAP8[$55>>0] = $52; + $64 = 1; + } else { + $56 = HEAP32[$6>>2]|0; + $57 = HEAP32[$21>>2]|0; + $58 = (($56) + ($57)|0); + $59 = HEAP32[$9>>2]|0; + $60 = ($59|0)<(0); + $61 = $60 << 31 >> 31; + $62 = (_sqlite3PutVarint($58,$59,$61)|0); + $64 = $62; + } + $63 = $64&255; + $65 = $63&255; + $66 = HEAP32[$21>>2]|0; + $67 = (($66) + ($65))|0; + HEAP32[$21>>2] = $67; + $68 = HEAP32[$6>>2]|0; + $69 = HEAP32[$21>>2]|0; + $70 = (($68) + ($69)|0); + $71 = HEAP32[$7>>2]|0; + $72 = ((($71)) + 8|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (_sqlite3PutVarint($70,$75,$78)|0); + $80 = HEAP32[$21>>2]|0; + $81 = (($80) + ($79))|0; + HEAP32[$21>>2] = $81; + } else { + $82 = ((($36)) + 8|0); + $83 = $82; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + HEAP32[$9>>2] = $85; + HEAP32[$11>>2] = $85; + $89 = HEAP32[$7>>2]|0; + $90 = HEAP32[$89>>2]|0; + HEAP32[$10>>2] = $90; + $91 = HEAP32[$9>>2]|0; + $92 = ($91>>>0)<(128); + if ($92) { + $93 = HEAP32[$9>>2]|0; + $94 = $93&255; + $95 = HEAP32[$6>>2]|0; + $96 = HEAP32[$21>>2]|0; + $97 = (($95) + ($96)|0); + HEAP8[$97>>0] = $94; + $106 = 1; + } else { + $98 = HEAP32[$6>>2]|0; + $99 = HEAP32[$21>>2]|0; + $100 = (($98) + ($99)|0); + $101 = HEAP32[$9>>2]|0; + $102 = ($101|0)<(0); + $103 = $102 << 31 >> 31; + $104 = (_sqlite3PutVarint($100,$101,$103)|0); + $106 = $104; + } + $105 = $106&255; + $107 = $105&255; + $108 = HEAP32[$21>>2]|0; + $109 = (($108) + ($107))|0; + HEAP32[$21>>2] = $109; + } + $110 = HEAP32[$9>>2]|0; + $111 = HEAP32[$5>>2]|0; + $112 = ((($111)) + 10|0); + $113 = HEAP16[$112>>1]|0; + $114 = $113&65535; + $115 = ($110|0)<=($114|0); + if ($115) { + $116 = HEAP32[$21>>2]|0; + $117 = HEAP32[$9>>2]|0; + $118 = (($116) + ($117))|0; + HEAP32[$12>>2] = $118; + $119 = HEAP32[$12>>2]|0; + $120 = ($119|0)<(4); + $$ = $120 ? 4 : $118; + HEAP32[$12>>2] = $$; + $121 = HEAP32[$12>>2]|0; + $122 = HEAP32[$8>>2]|0; + HEAP32[$122>>2] = $121; + $123 = HEAP32[$9>>2]|0; + HEAP32[$14>>2] = $123; + $124 = HEAP32[$6>>2]|0; + HEAP32[$17>>2] = $124; + } else { + $125 = HEAP32[$5>>2]|0; + $126 = ((($125)) + 12|0); + $127 = HEAP16[$126>>1]|0; + $128 = $127&65535; + HEAP32[$22>>2] = $128; + $129 = HEAP32[$22>>2]|0; + $130 = HEAP32[$9>>2]|0; + $131 = HEAP32[$22>>2]|0; + $132 = (($130) - ($131))|0; + $133 = HEAP32[$5>>2]|0; + $134 = ((($133)) + 52|0); + $135 = HEAP32[$134>>2]|0; + $136 = ((($135)) + 36|0); + $137 = HEAP32[$136>>2]|0; + $138 = (($137) - 4)|0; + $139 = (($132>>>0) % ($138>>>0))&-1; + $140 = (($129) + ($139))|0; + HEAP32[$12>>2] = $140; + $141 = HEAP32[$12>>2]|0; + $142 = HEAP32[$5>>2]|0; + $143 = ((($142)) + 10|0); + $144 = HEAP16[$143>>1]|0; + $145 = $144&65535; + $146 = ($141|0)>($145|0); + if ($146) { + $147 = HEAP32[$22>>2]|0; + HEAP32[$12>>2] = $147; + } + $148 = HEAP32[$12>>2]|0; + HEAP32[$14>>2] = $148; + $149 = HEAP32[$12>>2]|0; + $150 = HEAP32[$21>>2]|0; + $151 = (($149) + ($150))|0; + $152 = (($151) + 4)|0; + $153 = HEAP32[$8>>2]|0; + HEAP32[$153>>2] = $152; + $154 = HEAP32[$6>>2]|0; + $155 = HEAP32[$21>>2]|0; + $156 = HEAP32[$12>>2]|0; + $157 = (($155) + ($156))|0; + $158 = (($154) + ($157)|0); + HEAP32[$17>>2] = $158; + } + $159 = HEAP32[$6>>2]|0; + $160 = HEAP32[$21>>2]|0; + $161 = (($159) + ($160)|0); + HEAP32[$18>>2] = $161; + while(1) { + $162 = HEAP32[$9>>2]|0; + $163 = ($162|0)>(0); + if (!($163)) { + label = 35; + break; + } + $164 = HEAP32[$14>>2]|0; + $165 = ($164|0)==(0); + if ($165) { + $166 = HEAP32[$20>>2]|0; + HEAP32[$23>>2] = $166; + $167 = HEAP32[$19>>2]|0; + $168 = ((($167)) + 17|0); + $169 = HEAP8[$168>>0]|0; + $170 = ($169<<24>>24)!=(0); + if ($170) { + while(1) { + $171 = HEAP32[$20>>2]|0; + $172 = (($171) + 1)|0; + HEAP32[$20>>2] = $172; + $173 = HEAP32[$19>>2]|0; + $174 = HEAP32[$20>>2]|0; + $175 = (_ptrmapPageno($173,$174)|0); + $176 = HEAP32[$20>>2]|0; + $177 = ($175|0)==($176|0); + if ($177) { + continue; + } + $178 = HEAP32[$20>>2]|0; + $179 = HEAP32[482]|0; + $180 = HEAP32[$19>>2]|0; + $181 = ((($180)) + 32|0); + $182 = HEAP32[$181>>2]|0; + $183 = (($179>>>0) / ($182>>>0))&-1; + $184 = (($183) + 1)|0; + $185 = ($178|0)==($184|0); + if (!($185)) { + break; + } + } + } + $186 = HEAP32[$19>>2]|0; + $187 = HEAP32[$20>>2]|0; + $188 = (_allocateBtreePage($186,$15,$20,$187,0)|0); + HEAP32[$13>>2] = $188; + $189 = HEAP32[$19>>2]|0; + $190 = ((($189)) + 17|0); + $191 = HEAP8[$190>>0]|0; + $192 = $191&255; + $193 = ($192|0)!=(0); + $194 = HEAP32[$13>>2]|0; + $195 = ($194|0)==(0); + $or$cond = $193 & $195; + if ($or$cond) { + $196 = HEAP32[$23>>2]|0; + $197 = ($196|0)!=(0); + $198 = $197 ? 4 : 3; + $199 = $198&255; + HEAP8[$24>>0] = $199; + $200 = HEAP32[$19>>2]|0; + $201 = HEAP32[$20>>2]|0; + $202 = HEAP8[$24>>0]|0; + $203 = HEAP32[$23>>2]|0; + _ptrmapPut($200,$201,$202,$203,$13); + $204 = HEAP32[$13>>2]|0; + $205 = ($204|0)!=(0); + if ($205) { + $206 = HEAP32[$15>>2]|0; + _releasePage($206); + } + } + $207 = HEAP32[$13>>2]|0; + $208 = ($207|0)!=(0); + if ($208) { + label = 25; + break; + } + $211 = HEAP32[$17>>2]|0; + $212 = HEAP32[$20>>2]|0; + _sqlite3Put4byte($211,$212); + $213 = HEAP32[$16>>2]|0; + _releasePage($213); + $214 = HEAP32[$15>>2]|0; + HEAP32[$16>>2] = $214; + $215 = HEAP32[$15>>2]|0; + $216 = ((($215)) + 56|0); + $217 = HEAP32[$216>>2]|0; + HEAP32[$17>>2] = $217; + $218 = HEAP32[$17>>2]|0; + _sqlite3Put4byte($218,0); + $219 = HEAP32[$15>>2]|0; + $220 = ((($219)) + 56|0); + $221 = HEAP32[$220>>2]|0; + $222 = ((($221)) + 4|0); + HEAP32[$18>>2] = $222; + $223 = HEAP32[$19>>2]|0; + $224 = ((($223)) + 36|0); + $225 = HEAP32[$224>>2]|0; + $226 = (($225) - 4)|0; + HEAP32[$14>>2] = $226; + } + $227 = HEAP32[$9>>2]|0; + HEAP32[$12>>2] = $227; + $228 = HEAP32[$12>>2]|0; + $229 = HEAP32[$14>>2]|0; + $230 = ($228|0)>($229|0); + if ($230) { + $231 = HEAP32[$14>>2]|0; + HEAP32[$12>>2] = $231; + } + $232 = HEAP32[$11>>2]|0; + $233 = ($232|0)>(0); + if ($233) { + $234 = HEAP32[$12>>2]|0; + $235 = HEAP32[$11>>2]|0; + $236 = ($234|0)>($235|0); + if ($236) { + $237 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $237; + } + $238 = HEAP32[$18>>2]|0; + $239 = HEAP32[$10>>2]|0; + $240 = HEAP32[$12>>2]|0; + _memcpy(($238|0),($239|0),($240|0))|0; + } else { + $241 = HEAP32[$18>>2]|0; + $242 = HEAP32[$12>>2]|0; + _memset(($241|0),0,($242|0))|0; + } + $243 = HEAP32[$12>>2]|0; + $244 = HEAP32[$9>>2]|0; + $245 = (($244) - ($243))|0; + HEAP32[$9>>2] = $245; + $246 = HEAP32[$12>>2]|0; + $247 = HEAP32[$18>>2]|0; + $248 = (($247) + ($246)|0); + HEAP32[$18>>2] = $248; + $249 = HEAP32[$12>>2]|0; + $250 = HEAP32[$10>>2]|0; + $251 = (($250) + ($249)|0); + HEAP32[$10>>2] = $251; + $252 = HEAP32[$12>>2]|0; + $253 = HEAP32[$11>>2]|0; + $254 = (($253) - ($252))|0; + HEAP32[$11>>2] = $254; + $255 = HEAP32[$12>>2]|0; + $256 = HEAP32[$14>>2]|0; + $257 = (($256) - ($255))|0; + HEAP32[$14>>2] = $257; + } + if ((label|0) == 25) { + $209 = HEAP32[$16>>2]|0; + _releasePage($209); + $210 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $210; + $259 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($259|0); + } + else if ((label|0) == 35) { + $258 = HEAP32[$16>>2]|0; + _releasePage($258); + HEAP32[$4>>2] = 0; + $259 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($259|0); + } + return (0)|0; +} +function _btreeCreateTable($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $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, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp + 48|0; + $15 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$7>>2] = $18; + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 17|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)!=(0); + $23 = HEAP32[$7>>2]|0; + if ($22) { + _invalidateAllOverflowCache($23); + $24 = HEAP32[$4>>2]|0; + _sqlite3BtreeGetMeta($24,4,$9); + $25 = HEAP32[$9>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$9>>2] = $26; + while(1) { + $27 = HEAP32[$9>>2]|0; + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$9>>2]|0; + $30 = (_ptrmapPageno($28,$29)|0); + $31 = ($27|0)==($30|0); + if (!($31)) { + $32 = HEAP32[$9>>2]|0; + $33 = HEAP32[482]|0; + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 32|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($33>>>0) / ($36>>>0))&-1; + $38 = (($37) + 1)|0; + $39 = ($32|0)==($38|0); + if (!($39)) { + break; + } + } + $40 = HEAP32[$9>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$9>>2] = $41; + } + $42 = HEAP32[$7>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = (_allocateBtreePage($42,$13,$12,$43,1)|0); + HEAP32[$10>>2] = $44; + $45 = HEAP32[$10>>2]|0; + $46 = ($45|0)!=(0); + if ($46) { + $47 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $47; + $129 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($129|0); + } + $48 = HEAP32[$12>>2]|0; + $49 = HEAP32[$9>>2]|0; + $50 = ($48|0)!=($49|0); + if ($50) { + HEAP8[$14>>0] = 0; + HEAP32[$15>>2] = 0; + $51 = HEAP32[$7>>2]|0; + $52 = (_saveAllCursors($51,0,0)|0); + HEAP32[$10>>2] = $52; + $53 = HEAP32[$13>>2]|0; + _releasePage($53); + $54 = HEAP32[$10>>2]|0; + $55 = ($54|0)!=(0); + if ($55) { + $56 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $56; + $129 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($129|0); + } + $57 = HEAP32[$7>>2]|0; + $58 = HEAP32[$9>>2]|0; + $59 = (_btreeGetPage($57,$58,$8,0)|0); + HEAP32[$10>>2] = $59; + $60 = HEAP32[$10>>2]|0; + $61 = ($60|0)!=(0); + if ($61) { + $62 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $62; + $129 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($129|0); + } + $63 = HEAP32[$7>>2]|0; + $64 = HEAP32[$9>>2]|0; + $65 = (_ptrmapGet($63,$64,$14,$15)|0); + HEAP32[$10>>2] = $65; + $66 = HEAP8[$14>>0]|0; + $67 = $66&255; + $68 = ($67|0)==(1); + if ($68) { + label = 15; + } else { + $69 = HEAP8[$14>>0]|0; + $70 = $69&255; + $71 = ($70|0)==(2); + if ($71) { + label = 15; + } + } + if ((label|0) == 15) { + $72 = (_sqlite3CorruptError(66598)|0); + HEAP32[$10>>2] = $72; + } + $73 = HEAP32[$10>>2]|0; + $74 = ($73|0)!=(0); + if ($74) { + $75 = HEAP32[$8>>2]|0; + _releasePage($75); + $76 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $76; + $129 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($129|0); + } + $77 = HEAP32[$7>>2]|0; + $78 = HEAP32[$8>>2]|0; + $79 = HEAP8[$14>>0]|0; + $80 = HEAP32[$15>>2]|0; + $81 = HEAP32[$12>>2]|0; + $82 = (_relocatePage($77,$78,$79,$80,$81,0)|0); + HEAP32[$10>>2] = $82; + $83 = HEAP32[$8>>2]|0; + _releasePage($83); + $84 = HEAP32[$10>>2]|0; + $85 = ($84|0)!=(0); + if ($85) { + $86 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $86; + $129 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($129|0); + } + $87 = HEAP32[$7>>2]|0; + $88 = HEAP32[$9>>2]|0; + $89 = (_btreeGetPage($87,$88,$8,0)|0); + HEAP32[$10>>2] = $89; + $90 = HEAP32[$10>>2]|0; + $91 = ($90|0)!=(0); + if ($91) { + $92 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $92; + $129 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($129|0); + } + $93 = HEAP32[$8>>2]|0; + $94 = ((($93)) + 72|0); + $95 = HEAP32[$94>>2]|0; + $96 = (_sqlite3PagerWrite($95)|0); + HEAP32[$10>>2] = $96; + $97 = HEAP32[$10>>2]|0; + $98 = ($97|0)!=(0); + if ($98) { + $99 = HEAP32[$8>>2]|0; + _releasePage($99); + $100 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $100; + $129 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($129|0); + } + } else { + $101 = HEAP32[$13>>2]|0; + HEAP32[$8>>2] = $101; + } + $102 = HEAP32[$7>>2]|0; + $103 = HEAP32[$9>>2]|0; + _ptrmapPut($102,$103,1,0,$10); + $104 = HEAP32[$10>>2]|0; + $105 = ($104|0)!=(0); + if ($105) { + $106 = HEAP32[$8>>2]|0; + _releasePage($106); + $107 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $107; + $129 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($129|0); + } + $108 = HEAP32[$4>>2]|0; + $109 = HEAP32[$9>>2]|0; + $110 = (_sqlite3BtreeUpdateMeta($108,4,$109)|0); + HEAP32[$10>>2] = $110; + $111 = HEAP32[$10>>2]|0; + $112 = ($111|0)!=(0); + if ($112) { + $113 = HEAP32[$8>>2]|0; + _releasePage($113); + $114 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $114; + $129 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($129|0); + } + } else { + $115 = (_allocateBtreePage($23,$8,$9,1,0)|0); + HEAP32[$10>>2] = $115; + $116 = HEAP32[$10>>2]|0; + $117 = ($116|0)!=(0); + if ($117) { + $118 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $118; + $129 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($129|0); + } + } + $119 = HEAP32[$6>>2]|0; + $120 = $119 & 1; + $121 = ($120|0)!=(0); + if ($121) { + HEAP32[$11>>2] = 13; + } else { + HEAP32[$11>>2] = 10; + } + $122 = HEAP32[$8>>2]|0; + $123 = HEAP32[$11>>2]|0; + _zeroPage($122,$123); + $124 = HEAP32[$8>>2]|0; + $125 = ((($124)) + 72|0); + $126 = HEAP32[$125>>2]|0; + _sqlite3PagerUnref($126); + $127 = HEAP32[$9>>2]|0; + $128 = HEAP32[$5>>2]|0; + HEAP32[$128>>2] = $127; + HEAP32[$3>>2] = 0; + $129 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($129|0); +} +function _btreeCursor($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $13 = HEAP32[$6>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$11>>2] = $15; + $16 = HEAP32[$8>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + $18 = HEAP32[$11>>2]|0; + _allocateTempSpace($18); + $19 = HEAP32[$11>>2]|0; + $20 = ((($19)) + 80|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0|0); + if ($22) { + HEAP32[$5>>2] = 7; + $88 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($88|0); + } + } + $23 = HEAP32[$7>>2]|0; + $24 = ($23|0)==(1); + if ($24) { + $25 = HEAP32[$11>>2]|0; + $26 = (_btreePagecount($25)|0); + $27 = ($26|0)==(0); + if ($27) { + HEAP32[$7>>2] = 0; + } + } + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$10>>2]|0; + $30 = ((($29)) + 52|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$10>>2]|0; + $32 = ((($31)) + 68|0); + HEAP8[$32>>0] = -1; + $33 = HEAP32[$9>>2]|0; + $34 = HEAP32[$10>>2]|0; + $35 = ((($34)) + 72|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$6>>2]|0; + $37 = HEAP32[$10>>2]|0; + HEAP32[$37>>2] = $36; + $38 = HEAP32[$11>>2]|0; + $39 = HEAP32[$10>>2]|0; + $40 = ((($39)) + 4|0); + HEAP32[$40>>2] = $38; + $41 = HEAP32[$8>>2]|0; + $42 = ($41|0)!=(0); + $43 = $42 ? 1 : 0; + $44 = $43&255; + $45 = HEAP32[$10>>2]|0; + $46 = ((($45)) + 64|0); + HEAP8[$46>>0] = $44; + $47 = HEAP32[$8>>2]|0; + $48 = ($47|0)!=(0); + $49 = $48 ? 0 : 2; + $50 = $49&255; + $51 = HEAP32[$10>>2]|0; + $52 = ((($51)) + 65|0); + HEAP8[$52>>0] = $50; + $53 = HEAP32[$11>>2]|0; + $54 = ((($53)) + 8|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$12>>2] = $55; + while(1) { + $56 = HEAP32[$12>>2]|0; + $57 = ($56|0)!=(0|0); + if (!($57)) { + break; + } + $58 = HEAP32[$12>>2]|0; + $59 = ((($58)) + 52|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$7>>2]|0; + $62 = ($60|0)==($61|0); + if ($62) { + $63 = HEAP32[$12>>2]|0; + $64 = ((($63)) + 64|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = $66 | 32; + $68 = $67&255; + HEAP8[$64>>0] = $68; + $69 = HEAP32[$10>>2]|0; + $70 = ((($69)) + 64|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = $72 | 32; + $74 = $73&255; + HEAP8[$70>>0] = $74; + } + $75 = HEAP32[$12>>2]|0; + $76 = ((($75)) + 8|0); + $77 = HEAP32[$76>>2]|0; + HEAP32[$12>>2] = $77; + } + $78 = HEAP32[$11>>2]|0; + $79 = ((($78)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$10>>2]|0; + $82 = ((($81)) + 8|0); + HEAP32[$82>>2] = $80; + $83 = HEAP32[$10>>2]|0; + $84 = HEAP32[$11>>2]|0; + $85 = ((($84)) + 8|0); + HEAP32[$85>>2] = $83; + $86 = HEAP32[$10>>2]|0; + $87 = ((($86)) + 66|0); + HEAP8[$87>>0] = 0; + HEAP32[$5>>2] = 0; + $88 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($88|0); +} +function _allocateTempSpace($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 80|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if ($5) { + STACKTOP = sp;return; + } + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 32|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3PageMalloc($8)|0); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 80|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 80|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0|0); + if (!($15)) { + STACKTOP = sp;return; + } + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 80|0); + $18 = HEAP32[$17>>2]|0; + ;HEAP8[$18>>0]=0|0;HEAP8[$18+1>>0]=0|0;HEAP8[$18+2>>0]=0|0;HEAP8[$18+3>>0]=0|0;HEAP8[$18+4>>0]=0|0;HEAP8[$18+5>>0]=0|0;HEAP8[$18+6>>0]=0|0;HEAP8[$18+7>>0]=0|0; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 80|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 4|0); + HEAP32[$20>>2] = $22; + STACKTOP = sp;return; +} +function _sqlite3BtreeCursorSize() { + var label = 0, sp = 0; + sp = STACKTOP; + return 200; +} +function _sqlite3BtreeCursorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _putVarint64($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 28|0; + HEAP32[$4>>2] = $0; + $10 = $5; + $11 = $10; + HEAP32[$11>>2] = $1; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $2; + $14 = $5; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = $19 & -16777216; + $21 = (0)!=(0); + $22 = ($20|0)!=(0); + $23 = $21 | $22; + if ($23) { + $24 = $5; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $26&255; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 8|0); + HEAP8[$32>>0] = $30; + $33 = $5; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (_bitshift64Lshr(($35|0),($38|0),8)|0); + $40 = tempRet0; + $41 = $5; + $42 = $41; + HEAP32[$42>>2] = $39; + $43 = (($41) + 4)|0; + $44 = $43; + HEAP32[$44>>2] = $40; + HEAP32[$6>>2] = 7; + while(1) { + $45 = HEAP32[$6>>2]|0; + $46 = ($45|0)>=(0); + if (!($46)) { + break; + } + $47 = $5; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = $49 & 127; + $54 = $53 | 128; + $55 = $54&255; + $56 = HEAP32[$4>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = (($56) + ($57)|0); + HEAP8[$58>>0] = $55; + $59 = $5; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (_bitshift64Lshr(($61|0),($64|0),7)|0); + $66 = tempRet0; + $67 = $5; + $68 = $67; + HEAP32[$68>>2] = $65; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + $71 = HEAP32[$6>>2]|0; + $72 = (($71) + -1)|0; + HEAP32[$6>>2] = $72; + } + HEAP32[$3>>2] = 9; + $125 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($125|0); + } + HEAP32[$8>>2] = 0; + while(1) { + $73 = $5; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $75 & 127; + $80 = $79 | 128; + $81 = $80&255; + $82 = HEAP32[$8>>2]|0; + $83 = (($82) + 1)|0; + HEAP32[$8>>2] = $83; + $84 = (($9) + ($82)|0); + HEAP8[$84>>0] = $81; + $85 = $5; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (_bitshift64Lshr(($87|0),($90|0),7)|0); + $92 = tempRet0; + $93 = $5; + $94 = $93; + HEAP32[$94>>2] = $91; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $5; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = ($99|0)!=(0); + $104 = ($102|0)!=(0); + $105 = $103 | $104; + if (!($105)) { + break; + } + } + $106 = HEAP8[$9>>0]|0; + $107 = $106&255; + $108 = $107 & 127; + $109 = $108&255; + HEAP8[$9>>0] = $109; + HEAP32[$6>>2] = 0; + $110 = HEAP32[$8>>2]|0; + $111 = (($110) - 1)|0; + HEAP32[$7>>2] = $111; + while(1) { + $112 = HEAP32[$7>>2]|0; + $113 = ($112|0)>=(0); + if (!($113)) { + break; + } + $114 = HEAP32[$7>>2]|0; + $115 = (($9) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = HEAP32[$4>>2]|0; + $118 = HEAP32[$6>>2]|0; + $119 = (($117) + ($118)|0); + HEAP8[$119>>0] = $116; + $120 = HEAP32[$7>>2]|0; + $121 = (($120) + -1)|0; + HEAP32[$7>>2] = $121; + $122 = HEAP32[$6>>2]|0; + $123 = (($122) + 1)|0; + HEAP32[$6>>2] = $123; + } + $124 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $124; + $125 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($125|0); +} +function _vdbeMemFromBtreeResize($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $11 = HEAP32[$9>>2]|0; + $12 = ((($11)) + 8|0); + HEAP16[$12>>1] = 1; + $13 = HEAP32[$9>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = (($14) + 2)|0; + $16 = (_sqlite3VdbeMemClearAndResize($13,$15)|0); + HEAP32[$10>>2] = $16; + $17 = (0)==($16|0); + if (!($17)) { + $46 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($46|0); + } + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)!=(0); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$9>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + if ($19) { + $26 = (_sqlite3BtreeKey($20,$21,$22,$25)|0); + HEAP32[$10>>2] = $26; + } else { + $27 = (_sqlite3BtreeData($20,$21,$22,$25)|0); + HEAP32[$10>>2] = $27; + } + $28 = HEAP32[$10>>2]|0; + $29 = ($28|0)==(0); + $30 = HEAP32[$9>>2]|0; + if ($29) { + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = (($32) + ($33)|0); + HEAP8[$34>>0] = 0; + $35 = HEAP32[$9>>2]|0; + $36 = ((($35)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + 1)|0; + $40 = (($37) + ($39)|0); + HEAP8[$40>>0] = 0; + $41 = HEAP32[$9>>2]|0; + $42 = ((($41)) + 8|0); + HEAP16[$42>>1] = 528; + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$9>>2]|0; + $45 = ((($44)) + 12|0); + HEAP32[$45>>2] = $43; + $46 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($46|0); + } else { + _sqlite3VdbeMemRelease($30); + $46 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($46|0); + } + return (0)|0; +} +function _fetchPayload($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 120|0); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 68|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9 << 24 >> 24; + $11 = (($6) + ($10<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 16|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = $14; + $20 = $18; + $21 = (($19) - ($20))|0; + HEAP32[$4>>2] = $21; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 16|0); + $24 = ((($23)) + 16|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = HEAP32[$4>>2]|0; + $28 = ($26>>>0)<($27>>>0); + if ($28) { + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 16|0); + $31 = ((($30)) + 16|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32&65535; + HEAP32[$4>>2] = $33; + } + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$3>>2]|0; + HEAP32[$35>>2] = $34; + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 16|0); + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + STACKTOP = sp;return ($39|0); +} +function _handleDeferredMoveto($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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 40|0); + $10 = $9; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3BtreeMovetoUnpacked($7,0,$12,$15,0,$3)|0); + HEAP32[$4>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $19; + $27 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($27|0); + } + $20 = HEAP32[$3>>2]|0; + $21 = ($20|0)!=(0); + if ($21) { + $22 = (_sqlite3CorruptError(73491)|0); + HEAP32[$1>>2] = $22; + $27 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($27|0); + } else { + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 3|0); + HEAP8[$24>>0] = 0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 56|0); + HEAP32[$26>>2] = 0; + HEAP32[$1>>2] = 0; + $27 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($27|0); + } + return (0)|0; +} +function _computeNumericType($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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 16|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 10|0); + $12 = HEAP8[$11>>0]|0; + $13 = (_sqlite3AtoF($5,$6,$9,$12)|0); + $14 = ($13|0)==(0); + if ($14) { + HEAP16[$1>>1] = 0; + $27 = HEAP16[$1>>1]|0; + STACKTOP = sp;return ($27|0); + } + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 10|0); + $24 = HEAP8[$23>>0]|0; + $25 = (_sqlite3Atoi64($17,$18,$21,$24)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP16[$1>>1] = 4; + $27 = HEAP16[$1>>1]|0; + STACKTOP = sp;return ($27|0); + } else { + HEAP16[$1>>1] = 8; + $27 = HEAP16[$1>>1]|0; + STACKTOP = sp;return ($27|0); + } + return (0)|0; +} +function _out2PrereleaseWithClear($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3VdbeMemSetNull($2); + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + HEAP16[$4>>1] = 4; + $5 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _sqlite3OpcodeName($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (5608 + ($2<<2)|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _displayP4($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0.0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 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, $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.0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer18 = 0, $vararg_buffer21 = 0, $vararg_buffer24 = 0, $vararg_buffer27 = 0, $vararg_buffer30 = 0, $vararg_buffer33 = 0; + var $vararg_buffer35 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; + $vararg_buffer35 = sp + 96|0; + $vararg_buffer33 = sp + 88|0; + $vararg_buffer30 = sp + 80|0; + $vararg_buffer27 = sp + 72|0; + $vararg_buffer24 = sp + 64|0; + $vararg_buffer21 = sp + 56|0; + $vararg_buffer18 = sp + 48|0; + $vararg_buffer15 = sp + 40|0; + $vararg_buffer12 = sp + 32|0; + $vararg_buffer8 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 184|0; + $4 = sp + 180|0; + $5 = sp + 176|0; + $6 = sp + 172|0; + $7 = sp + 144|0; + $8 = sp + 140|0; + $9 = sp + 136|0; + $10 = sp + 132|0; + $11 = sp + 128|0; + $12 = sp + 124|0; + $13 = sp + 120|0; + $14 = sp + 116|0; + $15 = sp + 112|0; + $16 = sp + 108|0; + $17 = sp + 104|0; + $18 = sp + 100|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $19 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $19; + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$5>>2]|0; + _sqlite3StrAccumInit($7,0,$20,$21,0); + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 1|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24 << 24 >> 24; + L1: do { + switch ($25|0) { + case -6: { + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$9>>2] = $28; + $29 = HEAP32[$9>>2]|0; + $30 = ((($29)) + 6|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + HEAP32[$vararg_buffer>>2] = $32; + _sqlite3XPrintf($7,40688,$vararg_buffer); + HEAP32[$8>>2] = 0; + while(1) { + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$9>>2]|0; + $35 = ((($34)) + 6|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = ($33|0)<($37|0); + if (!($38)) { + break; + } + $39 = HEAP32[$9>>2]|0; + $40 = ((($39)) + 20|0); + $41 = HEAP32[$8>>2]|0; + $42 = (($40) + ($41<<2)|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$10>>2] = $43; + $44 = HEAP32[$10>>2]|0; + $45 = ($44|0)!=(0|0); + if ($45) { + $46 = HEAP32[$10>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = $47; + } else { + $48 = 55752; + } + HEAP32[$11>>2] = $48; + $49 = HEAP32[$11>>2]|0; + $50 = (_strcmp($49,34455)|0); + $51 = ($50|0)==(0); + $$ = $51 ? 40693 : $48; + HEAP32[$11>>2] = $$; + $52 = HEAP32[$9>>2]|0; + $53 = ((($52)) + 16|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$8>>2]|0; + $56 = (($54) + ($55)|0); + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = ($58|0)!=(0); + $60 = $59 ? 27684 : 55752; + $61 = HEAP32[$11>>2]|0; + HEAP32[$vararg_buffer1>>2] = $60; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $61; + _sqlite3XPrintf($7,40695,$vararg_buffer1); + $62 = HEAP32[$8>>2]|0; + $63 = (($62) + 1)|0; + HEAP32[$8>>2] = $63; + } + _sqlite3StrAccumAppend($7,34322,1); + break; + } + case -4: { + $64 = HEAP32[$3>>2]|0; + $65 = ((($64)) + 16|0); + $66 = HEAP32[$65>>2]|0; + HEAP32[$12>>2] = $66; + $67 = HEAP32[$12>>2]|0; + $68 = HEAP32[$67>>2]|0; + HEAP32[$vararg_buffer5>>2] = $68; + _sqlite3XPrintf($7,40701,$vararg_buffer5); + break; + } + case -5: { + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 16|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$13>>2] = $71; + $72 = HEAP32[$13>>2]|0; + $73 = ((($72)) + 20|0); + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$13>>2]|0; + $76 = HEAP8[$75>>0]|0; + $77 = $76 << 24 >> 24; + HEAP32[$vararg_buffer8>>2] = $74; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $77; + _sqlite3XPrintf($7,40709,$vararg_buffer8); + break; + } + case -13: { + $78 = HEAP32[$3>>2]|0; + $79 = ((($78)) + 16|0); + $80 = HEAP32[$79>>2]|0; + $81 = $80; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = $vararg_buffer12; + $88 = $87; + HEAP32[$88>>2] = $83; + $89 = (($87) + 4)|0; + $90 = $89; + HEAP32[$90>>2] = $86; + _sqlite3XPrintf($7,22191,$vararg_buffer12); + break; + } + case -14: { + $91 = HEAP32[$3>>2]|0; + $92 = ((($91)) + 16|0); + $93 = HEAP32[$92>>2]|0; + HEAP32[$vararg_buffer15>>2] = $93; + _sqlite3XPrintf($7,40716,$vararg_buffer15); + break; + } + case -12: { + $94 = HEAP32[$3>>2]|0; + $95 = ((($94)) + 16|0); + $96 = HEAP32[$95>>2]|0; + $97 = +HEAPF64[$96>>3]; + HEAPF64[$vararg_buffer18>>3] = $97; + _sqlite3XPrintf($7,23122,$vararg_buffer18); + break; + } + case -8: { + $98 = HEAP32[$3>>2]|0; + $99 = ((($98)) + 16|0); + $100 = HEAP32[$99>>2]|0; + HEAP32[$14>>2] = $100; + $101 = HEAP32[$14>>2]|0; + $102 = ((($101)) + 8|0); + $103 = HEAP16[$102>>1]|0; + $104 = $103&65535; + $105 = $104 & 2; + $106 = ($105|0)!=(0); + $107 = HEAP32[$14>>2]|0; + if ($106) { + $108 = ((($107)) + 16|0); + $109 = HEAP32[$108>>2]|0; + HEAP32[$6>>2] = $109; + break L1; + } + $110 = ((($107)) + 8|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = $112 & 4; + $114 = ($113|0)!=(0); + $115 = HEAP32[$14>>2]|0; + if ($114) { + $116 = $115; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = $vararg_buffer21; + $123 = $122; + HEAP32[$123>>2] = $118; + $124 = (($122) + 4)|0; + $125 = $124; + HEAP32[$125>>2] = $121; + _sqlite3XPrintf($7,22191,$vararg_buffer21); + break L1; + } + $126 = ((($115)) + 8|0); + $127 = HEAP16[$126>>1]|0; + $128 = $127&65535; + $129 = $128 & 8; + $130 = ($129|0)!=(0); + $131 = HEAP32[$14>>2]|0; + if ($130) { + $132 = +HEAPF64[$131>>3]; + HEAPF64[$vararg_buffer24>>3] = $132; + _sqlite3XPrintf($7,23122,$vararg_buffer24); + break L1; + } + $133 = ((($131)) + 8|0); + $134 = HEAP16[$133>>1]|0; + $135 = $134&65535; + $136 = $135 & 1; + $137 = ($136|0)!=(0); + if ($137) { + HEAP32[$6>>2] = 20953; + break L1; + } else { + HEAP32[$6>>2] = 40719; + break L1; + } + break; + } + case -10: { + $138 = HEAP32[$3>>2]|0; + $139 = ((($138)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $141 = ((($140)) + 8|0); + $142 = HEAP32[$141>>2]|0; + HEAP32[$15>>2] = $142; + $143 = HEAP32[$15>>2]|0; + HEAP32[$vararg_buffer27>>2] = $143; + _sqlite3XPrintf($7,40726,$vararg_buffer27); + break; + } + case -15: { + $144 = HEAP32[$3>>2]|0; + $145 = ((($144)) + 16|0); + $146 = HEAP32[$145>>2]|0; + HEAP32[$17>>2] = $146; + $147 = HEAP32[$17>>2]|0; + $148 = HEAP32[$147>>2]|0; + HEAP32[$18>>2] = $148; + HEAP32[$16>>2] = 1; + while(1) { + $149 = HEAP32[$16>>2]|0; + $150 = HEAP32[$18>>2]|0; + $151 = ($149|0)<($150|0); + if (!($151)) { + break; + } + $152 = HEAP32[$17>>2]|0; + $153 = HEAP32[$16>>2]|0; + $154 = (($152) + ($153<<2)|0); + $155 = HEAP32[$154>>2]|0; + HEAP32[$vararg_buffer30>>2] = $155; + _sqlite3XPrintf($7,40734,$vararg_buffer30); + $156 = HEAP32[$16>>2]|0; + $157 = (($156) + 1)|0; + HEAP32[$16>>2] = $157; + } + $158 = HEAP32[$4>>2]|0; + HEAP8[$158>>0] = 91; + _sqlite3StrAccumAppend($7,40738,1); + break; + } + case -18: { + _sqlite3XPrintf($7,40740,$vararg_buffer33); + break; + } + case -19: { + $159 = HEAP32[$4>>2]|0; + HEAP8[$159>>0] = 0; + break; + } + case -20: { + $160 = HEAP32[$3>>2]|0; + $161 = ((($160)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = HEAP32[$162>>2]|0; + HEAP32[$vararg_buffer35>>2] = $163; + _sqlite3XPrintf($7,21240,$vararg_buffer35); + break; + } + default: { + $164 = HEAP32[$3>>2]|0; + $165 = ((($164)) + 16|0); + $166 = HEAP32[$165>>2]|0; + HEAP32[$6>>2] = $166; + $167 = HEAP32[$6>>2]|0; + $168 = ($167|0)==(0|0); + if ($168) { + $169 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $169; + $170 = HEAP32[$4>>2]|0; + HEAP8[$170>>0] = 0; + } + } + } + } while(0); + (_sqlite3StrAccumFinish($7)|0); + $171 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($171|0); +} +function _sqlite3_data_count($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + HEAP32[$3>>2] = $4; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 104|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0|0); + if (!($10)) { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 140|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + HEAP32[$1>>2] = $14; + $15 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($15|0); + } + } + HEAP32[$1>>2] = 0; + $15 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _sqlite3_column_blob($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_columnMem($5,$6)|0); + $8 = (_sqlite3_value_blob($7)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + _columnMallocFailure($9); + $10 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($10|0); +} +function _sqlite3_column_bytes($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_columnMem($5,$6)|0); + $8 = (_sqlite3_value_bytes($7)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + _columnMallocFailure($9); + $10 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($10|0); +} +function _sqlite3_column_double($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_columnMem($5,$6)|0); + $8 = (+_sqlite3_value_double($7)); + HEAPF64[$4>>3] = $8; + $9 = HEAP32[$2>>2]|0; + _columnMallocFailure($9); + $10 = +HEAPF64[$4>>3]; + STACKTOP = sp;return (+$10); +} +function _sqlite3_column_int($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_columnMem($5,$6)|0); + $8 = (_sqlite3_value_int($7)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + _columnMallocFailure($9); + $10 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($10|0); +} +function _sqlite3_column_int64($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 + 12|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_columnMem($5,$6)|0); + $8 = (_sqlite3_value_int64($7)|0); + $9 = tempRet0; + $10 = $4; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = HEAP32[$2>>2]|0; + _columnMallocFailure($14); + $15 = $4; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + tempRet0 = ($20); + STACKTOP = sp;return ($17|0); +} +function _sqlite3_column_value($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $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; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_columnMem($5,$6)|0); + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10&65535; + $12 = $11 & 2048; + $13 = ($12|0)!=(0); + if (!($13)) { + $26 = HEAP32[$2>>2]|0; + _columnMallocFailure($26); + $27 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($27|0); + } + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = $17 & -2049; + $19 = $18&65535; + HEAP16[$15>>1] = $19; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = $23 | 4096; + $25 = $24&65535; + HEAP16[$21>>1] = $25; + $26 = HEAP32[$2>>2]|0; + _columnMallocFailure($26); + $27 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($27|0); +} +function _sqlite3_bind_blob($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$7>>2]|0; + $13 = HEAP32[$8>>2]|0; + $14 = HEAP32[$9>>2]|0; + $15 = (_bindText($10,$11,$12,$13,$14,0)|0); + STACKTOP = sp;return ($15|0); +} +function _bindText($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 32|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP8[$11>>0] = $5; + $15 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $15; + $16 = HEAP32[$12>>2]|0; + $17 = HEAP32[$7>>2]|0; + $18 = (_vdbeUnbind($16,$17)|0); + HEAP32[$14>>2] = $18; + $19 = HEAP32[$14>>2]|0; + $20 = ($19|0)==(0); + if (!($20)) { + $58 = HEAP32[$10>>2]|0; + $59 = ($58|0)!=(0|0); + $60 = HEAP32[$10>>2]|0; + $61 = ($60|0)!=((-1)|0); + $or$cond = $59 & $61; + if (!($or$cond)) { + $64 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($64|0); + } + $62 = HEAP32[$10>>2]|0; + $63 = HEAP32[$8>>2]|0; + FUNCTION_TABLE_vi[$62 & 255]($63); + $64 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($64|0); + } + $21 = HEAP32[$8>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$12>>2]|0; + $24 = ((($23)) + 116|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$7>>2]|0; + $27 = (($26) - 1)|0; + $28 = (($25) + (($27*40)|0)|0); + HEAP32[$13>>2] = $28; + $29 = HEAP32[$13>>2]|0; + $30 = HEAP32[$8>>2]|0; + $31 = HEAP32[$9>>2]|0; + $32 = HEAP8[$11>>0]|0; + $33 = HEAP32[$10>>2]|0; + $34 = (_sqlite3VdbeMemSetStr($29,$30,$31,$32,$33)|0); + HEAP32[$14>>2] = $34; + $35 = HEAP32[$14>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $37 = HEAP8[$11>>0]|0; + $38 = $37&255; + $39 = ($38|0)!=(0); + if ($39) { + $40 = HEAP32[$13>>2]|0; + $41 = HEAP32[$12>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 66|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = (_sqlite3VdbeChangeEncoding($40,$45)|0); + HEAP32[$14>>2] = $46; + } + } + $47 = HEAP32[$12>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$14>>2]|0; + _sqlite3Error($48,$49); + $50 = HEAP32[$12>>2]|0; + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$14>>2]|0; + $53 = (_sqlite3ApiExit($51,$52)|0); + HEAP32[$14>>2] = $53; + } + $54 = HEAP32[$12>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = ((($55)) + 12|0); + $57 = HEAP32[$56>>2]|0; + _sqlite3_mutex_leave($57); + $64 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($64|0); +} +function _vdbeUnbind($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = (_vdbeSafetyNotNull($6)|0); + $8 = ($7|0)!=(0); + if ($8) { + $9 = (_sqlite3MisuseError(76348)|0); + HEAP32[$2>>2] = $9; + $83 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($83|0); + } + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + _sqlite3_mutex_enter($13); + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(770837923); + if (!($17)) { + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 36|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)>=(0); + if (!($21)) { + $32 = HEAP32[$4>>2]|0; + $33 = ($32|0)<(1); + if (!($33)) { + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 16|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37 << 16 >> 16; + $39 = ($34|0)>($38|0); + if (!($39)) { + $46 = HEAP32[$4>>2]|0; + $47 = (($46) + -1)|0; + HEAP32[$4>>2] = $47; + $48 = HEAP32[$3>>2]|0; + $49 = ((($48)) + 116|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$4>>2]|0; + $52 = (($50) + (($51*40)|0)|0); + HEAP32[$5>>2] = $52; + $53 = HEAP32[$5>>2]|0; + _sqlite3VdbeMemRelease($53); + $54 = HEAP32[$5>>2]|0; + $55 = ((($54)) + 8|0); + HEAP16[$55>>1] = 1; + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$56>>2]|0; + _sqlite3Error($57,0); + $58 = HEAP32[$3>>2]|0; + $59 = ((($58)) + 144|0); + $60 = HEAP16[$59>>1]|0; + $61 = ($60&65535) >>> 9; + $62 = $61 & 1; + $63 = $62&65535; + $64 = ($63|0)!=(0); + do { + if ($64) { + $65 = HEAP32[$4>>2]|0; + $66 = ($65|0)<(32); + if ($66) { + $67 = HEAP32[$3>>2]|0; + $68 = ((($67)) + 196|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$4>>2]|0; + $71 = 1 << $70; + $72 = $69 & $71; + $73 = ($72|0)!=(0); + if (!($73)) { + label = 12; + } + } else { + label = 12; + } + if ((label|0) == 12) { + $74 = HEAP32[$3>>2]|0; + $75 = ((($74)) + 196|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)==(-1); + if (!($77)) { + break; + } + } + $78 = HEAP32[$3>>2]|0; + $79 = ((($78)) + 144|0); + $80 = HEAP16[$79>>1]|0; + $81 = $80 & -2; + $82 = $81 | 1; + HEAP16[$79>>1] = $82; + } + } while(0); + HEAP32[$2>>2] = 0; + $83 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($83|0); + } + } + $40 = HEAP32[$3>>2]|0; + $41 = HEAP32[$40>>2]|0; + _sqlite3Error($41,25); + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + _sqlite3_mutex_leave($45); + HEAP32[$2>>2] = 25; + $83 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($83|0); + } + } + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$22>>2]|0; + _sqlite3Error($23,21); + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + _sqlite3_mutex_leave($27); + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 176|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$vararg_buffer>>2] = $30; + _sqlite3_log(21,42145,$vararg_buffer); + $31 = (_sqlite3MisuseError(76356)|0); + HEAP32[$2>>2] = $31; + $83 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($83|0); +} +function _sqlite3_bind_double($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp; + $6 = sp + 12|0; + $7 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAPF64[$5>>3] = $2; + $8 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $8; + $9 = HEAP32[$7>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = (_vdbeUnbind($9,$10)|0); + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $25 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($25|0); + } + $14 = HEAP32[$7>>2]|0; + $15 = ((($14)) + 116|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = (($17) - 1)|0; + $19 = (($16) + (($18*40)|0)|0); + $20 = +HEAPF64[$5>>3]; + _sqlite3VdbeMemSetDouble($19,$20); + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + _sqlite3_mutex_leave($24); + $25 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($25|0); +} +function _sqlite3_bind_int($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; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)<(0); + $10 = $9 << 31 >> 31; + $11 = (_sqlite3_bind_int64($6,$7,$8,$10)|0); + STACKTOP = sp;return ($11|0); +} +function _sqlite3_bind_int64($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $9 = $6; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $3; + $13 = HEAP32[$4>>2]|0; + HEAP32[$8>>2] = $13; + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = (_vdbeUnbind($14,$15)|0); + HEAP32[$7>>2] = $16; + $17 = HEAP32[$7>>2]|0; + $18 = ($17|0)==(0); + if (!($18)) { + $35 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($35|0); + } + $19 = HEAP32[$8>>2]|0; + $20 = ((($19)) + 116|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = (($22) - 1)|0; + $24 = (($21) + (($23*40)|0)|0); + $25 = $6; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + _sqlite3VdbeMemSetInt64($24,$27,$30); + $31 = HEAP32[$8>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + _sqlite3_mutex_leave($34); + $35 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($35|0); +} +function _sqlite3_bind_null($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + HEAP32[$5>>2] = $6; + $7 = HEAP32[$5>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = (_vdbeUnbind($7,$8)|0); + HEAP32[$4>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)==(0); + if (!($11)) { + $16 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($16|0); + } + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + _sqlite3_mutex_leave($15); + $16 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($16|0); +} +function _sqlite3_bind_text($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$7>>2]|0; + $13 = HEAP32[$8>>2]|0; + $14 = HEAP32[$9>>2]|0; + $15 = (_bindText($10,$11,$12,$13,$14,1)|0); + STACKTOP = sp;return ($15|0); +} +function _sqlite3_bind_value($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, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + $8 = (_sqlite3_value_type($7)|0); + switch ($8|0) { + case 1: { + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = $11; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3_bind_int64($9,$10,$14,$17)|0); + HEAP32[$6>>2] = $18; + $56 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($56|0); + break; + } + case 2: { + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = +HEAPF64[$21>>3]; + $23 = (_sqlite3_bind_double($19,$20,$22)|0); + HEAP32[$6>>2] = $23; + $56 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($56|0); + break; + } + case 4: { + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP16[$25>>1]|0; + $27 = $26&65535; + $28 = $27 & 16384; + $29 = ($28|0)!=(0); + $30 = HEAP32[$3>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$5>>2]|0; + if ($29) { + $33 = HEAP32[$32>>2]|0; + $34 = (_sqlite3_bind_zeroblob($30,$31,$33)|0); + HEAP32[$6>>2] = $34; + $56 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($56|0); + } else { + $35 = ((($32)) + 16|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = (_sqlite3_bind_blob($30,$31,$36,$39,(-1))|0); + HEAP32[$6>>2] = $40; + $56 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($56|0); + } + break; + } + case 3: { + $41 = HEAP32[$3>>2]|0; + $42 = HEAP32[$4>>2]|0; + $43 = HEAP32[$5>>2]|0; + $44 = ((($43)) + 16|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 10|0); + $51 = HEAP8[$50>>0]|0; + $52 = (_bindText($41,$42,$45,$48,(-1),$51)|0); + HEAP32[$6>>2] = $52; + $56 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($56|0); + break; + } + default: { + $53 = HEAP32[$3>>2]|0; + $54 = HEAP32[$4>>2]|0; + $55 = (_sqlite3_bind_null($53,$54)|0); + HEAP32[$6>>2] = $55; + $56 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($56|0); + } + } + return (0)|0; +} +function _sqlite3_bind_zeroblob($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $8; + $9 = HEAP32[$7>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = (_vdbeUnbind($9,$10)|0); + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $25 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($25|0); + } + $14 = HEAP32[$7>>2]|0; + $15 = ((($14)) + 116|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = (($17) - 1)|0; + $19 = (($16) + (($18*40)|0)|0); + $20 = HEAP32[$5>>2]|0; + _sqlite3VdbeMemSetZeroBlob($19,$20); + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + _sqlite3_mutex_leave($24); + $25 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($25|0); +} +function _sqlite3_bind_parameter_count($0) { + $0 = $0|0; + var $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; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $10 = 0; + STACKTOP = sp;return ($10|0); + } + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 16|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8 << 16 >> 16; + $10 = $9; + STACKTOP = sp;return ($10|0); +} +function _sqlite3_bind_parameter_index($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_sqlite3Strlen30($6)|0); + $8 = (_sqlite3VdbeParameterIndex($4,$5,$7)|0); + STACKTOP = sp;return ($8|0); +} +function _sqlite3_blob_open($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; + var $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; + $vararg_buffer13 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer4 = sp + 24|0; + $vararg_buffer1 = sp + 16|0; + $vararg_buffer = sp + 8|0; + $8 = sp + 132|0; + $9 = sp + 128|0; + $10 = sp + 124|0; + $11 = sp + 120|0; + $12 = sp; + $13 = sp + 116|0; + $14 = sp + 112|0; + $15 = sp + 108|0; + $16 = sp + 104|0; + $17 = sp + 100|0; + $18 = sp + 96|0; + $19 = sp + 92|0; + $20 = sp + 88|0; + $21 = sp + 84|0; + $22 = sp + 80|0; + $23 = sp + 76|0; + $24 = sp + 72|0; + $25 = sp + 68|0; + $26 = sp + 64|0; + $27 = sp + 60|0; + $28 = sp + 56|0; + $29 = sp + 52|0; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + $30 = $12; + $31 = $30; + HEAP32[$31>>2] = $4; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $5; + HEAP32[$13>>2] = $6; + HEAP32[$14>>2] = $7; + HEAP32[$15>>2] = 0; + HEAP32[$17>>2] = 0; + HEAP32[$18>>2] = 0; + HEAP32[$20>>2] = 0; + HEAP32[$21>>2] = 0; + $34 = HEAP32[$14>>2]|0; + HEAP32[$34>>2] = 0; + $35 = HEAP32[$13>>2]|0; + $36 = ($35|0)!=(0); + $37 = $36 ^ 1; + $38 = $37 ^ 1; + $39 = $38&1; + HEAP32[$13>>2] = $39; + $40 = HEAP32[$8>>2]|0; + $41 = ((($40)) + 12|0); + $42 = HEAP32[$41>>2]|0; + _sqlite3_mutex_enter($42); + $43 = HEAP32[$8>>2]|0; + $44 = (_sqlite3DbMallocZero($43,36,0)|0); + HEAP32[$21>>2] = $44; + $45 = HEAP32[$21>>2]|0; + $46 = ($45|0)!=(0|0); + L1: do { + if ($46) { + $47 = HEAP32[$8>>2]|0; + $48 = (_sqlite3DbMallocRaw($47,480,0)|0); + HEAP32[$20>>2] = $48; + $49 = HEAP32[$20>>2]|0; + $50 = ($49|0)!=(0|0); + if ($50) { + while(1) { + $51 = HEAP32[$20>>2]|0; + _memset(($51|0),0,480)|0; + $52 = HEAP32[$8>>2]|0; + $53 = HEAP32[$20>>2]|0; + HEAP32[$53>>2] = $52; + $54 = HEAP32[$8>>2]|0; + $55 = HEAP32[$18>>2]|0; + _sqlite3DbFree($54,$55); + HEAP32[$18>>2] = 0; + $56 = HEAP32[$8>>2]|0; + _sqlite3BtreeEnterAll($56); + $57 = HEAP32[$20>>2]|0; + $58 = HEAP32[$10>>2]|0; + $59 = HEAP32[$9>>2]|0; + $60 = (_sqlite3LocateTable($57,0,$58,$59)|0); + HEAP32[$19>>2] = $60; + $61 = HEAP32[$19>>2]|0; + $62 = ($61|0)!=(0|0); + if ($62) { + $63 = HEAP32[$19>>2]|0; + $64 = ((($63)) + 42|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = $66 & 16; + $68 = ($67|0)!=(0); + if ($68) { + HEAP32[$19>>2] = 0; + $69 = HEAP32[$20>>2]|0; + $70 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer>>2] = $70; + _sqlite3ErrorMsg($69,42185,$vararg_buffer); + } + } + $71 = HEAP32[$19>>2]|0; + $72 = ($71|0)!=(0|0); + if ($72) { + $73 = HEAP32[$19>>2]|0; + $74 = ((($73)) + 42|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = $76 & 32; + $78 = ($77|0)==(0); + if (!($78)) { + HEAP32[$19>>2] = 0; + $79 = HEAP32[$20>>2]|0; + $80 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer1>>2] = $80; + _sqlite3ErrorMsg($79,42215,$vararg_buffer1); + } + } + $81 = HEAP32[$19>>2]|0; + $82 = ($81|0)!=(0|0); + if ($82) { + $83 = HEAP32[$19>>2]|0; + $84 = ((($83)) + 12|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)!=(0|0); + if ($86) { + HEAP32[$19>>2] = 0; + $87 = HEAP32[$20>>2]|0; + $88 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer4>>2] = $88; + _sqlite3ErrorMsg($87,42251,$vararg_buffer4); + } + } + $89 = HEAP32[$19>>2]|0; + $90 = ($89|0)!=(0|0); + if (!($90)) { + label = 13; + break; + } + $103 = HEAP32[$19>>2]|0; + $104 = HEAP32[$21>>2]|0; + $105 = ((($104)) + 32|0); + HEAP32[$105>>2] = $103; + $106 = HEAP32[$8>>2]|0; + $107 = ((($106)) + 16|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$8>>2]|0; + $110 = HEAP32[$19>>2]|0; + $111 = ((($110)) + 64|0); + $112 = HEAP32[$111>>2]|0; + $113 = (_sqlite3SchemaToIndex($109,$112)|0); + $114 = (($108) + ($113<<4)|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$21>>2]|0; + $117 = ((($116)) + 28|0); + HEAP32[$117>>2] = $115; + HEAP32[$16>>2] = 0; + while(1) { + $118 = HEAP32[$16>>2]|0; + $119 = HEAP32[$19>>2]|0; + $120 = ((($119)) + 34|0); + $121 = HEAP16[$120>>1]|0; + $122 = $121 << 16 >> 16; + $123 = ($118|0)<($122|0); + if (!($123)) { + break; + } + $124 = HEAP32[$19>>2]|0; + $125 = ((($124)) + 4|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$16>>2]|0; + $128 = (($126) + ($127<<4)|0); + $129 = HEAP32[$128>>2]|0; + $130 = HEAP32[$11>>2]|0; + $131 = (_sqlite3StrICmp($129,$130)|0); + $132 = ($131|0)==(0); + if ($132) { + break; + } + $133 = HEAP32[$16>>2]|0; + $134 = (($133) + 1)|0; + HEAP32[$16>>2] = $134; + } + $135 = HEAP32[$16>>2]|0; + $136 = HEAP32[$19>>2]|0; + $137 = ((($136)) + 34|0); + $138 = HEAP16[$137>>1]|0; + $139 = $138 << 16 >> 16; + $140 = ($135|0)==($139|0); + if ($140) { + label = 21; + break; + } + $147 = HEAP32[$13>>2]|0; + $148 = ($147|0)!=(0); + if ($148) { + HEAP32[$22>>2] = 0; + $149 = HEAP32[$8>>2]|0; + $150 = ((($149)) + 24|0); + $151 = HEAP32[$150>>2]|0; + $152 = $151 & 524288; + $153 = ($152|0)!=(0); + L26: do { + if ($153) { + $154 = HEAP32[$19>>2]|0; + $155 = ((($154)) + 16|0); + $156 = HEAP32[$155>>2]|0; + HEAP32[$24>>2] = $156; + while(1) { + $157 = HEAP32[$24>>2]|0; + $158 = ($157|0)!=(0|0); + if (!($158)) { + break L26; + } + HEAP32[$25>>2] = 0; + while(1) { + $159 = HEAP32[$25>>2]|0; + $160 = HEAP32[$24>>2]|0; + $161 = ((($160)) + 20|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($159|0)<($162|0); + $164 = HEAP32[$24>>2]|0; + if (!($163)) { + break; + } + $165 = ((($164)) + 36|0); + $166 = HEAP32[$25>>2]|0; + $167 = (($165) + ($166<<3)|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[$16>>2]|0; + $170 = ($168|0)==($169|0); + if ($170) { + HEAP32[$22>>2] = 42293; + } + $171 = HEAP32[$25>>2]|0; + $172 = (($171) + 1)|0; + HEAP32[$25>>2] = $172; + } + $173 = ((($164)) + 4|0); + $174 = HEAP32[$173>>2]|0; + HEAP32[$24>>2] = $174; + } + } + } while(0); + $175 = HEAP32[$19>>2]|0; + $176 = ((($175)) + 8|0); + $177 = HEAP32[$176>>2]|0; + HEAP32[$23>>2] = $177; + while(1) { + $178 = HEAP32[$23>>2]|0; + $179 = ($178|0)!=(0|0); + if (!($179)) { + break; + } + HEAP32[$26>>2] = 0; + while(1) { + $180 = HEAP32[$26>>2]|0; + $181 = HEAP32[$23>>2]|0; + $182 = ((($181)) + 50|0); + $183 = HEAP16[$182>>1]|0; + $184 = $183&65535; + $185 = ($180|0)<($184|0); + $186 = HEAP32[$23>>2]|0; + if (!($185)) { + break; + } + $187 = ((($186)) + 4|0); + $188 = HEAP32[$187>>2]|0; + $189 = HEAP32[$26>>2]|0; + $190 = (($188) + ($189<<1)|0); + $191 = HEAP16[$190>>1]|0; + $192 = $191 << 16 >> 16; + $193 = HEAP32[$16>>2]|0; + $194 = ($192|0)==($193|0); + if ($194) { + label = 38; + } else { + $195 = HEAP32[$23>>2]|0; + $196 = ((($195)) + 4|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$26>>2]|0; + $199 = (($197) + ($198<<1)|0); + $200 = HEAP16[$199>>1]|0; + $201 = $200 << 16 >> 16; + $202 = ($201|0)==(-2); + if ($202) { + label = 38; + } + } + if ((label|0) == 38) { + label = 0; + HEAP32[$22>>2] = 42305; + } + $203 = HEAP32[$26>>2]|0; + $204 = (($203) + 1)|0; + HEAP32[$26>>2] = $204; + } + $205 = ((($186)) + 20|0); + $206 = HEAP32[$205>>2]|0; + HEAP32[$23>>2] = $206; + } + $207 = HEAP32[$22>>2]|0; + $208 = ($207|0)!=(0|0); + if ($208) { + label = 42; + break; + } + } + $215 = HEAP32[$20>>2]|0; + $216 = (_sqlite3VdbeCreate($215)|0); + $217 = HEAP32[$21>>2]|0; + $218 = ((($217)) + 20|0); + HEAP32[$218>>2] = $216; + $219 = HEAP32[$21>>2]|0; + $220 = ((($219)) + 20|0); + $221 = HEAP32[$220>>2]|0; + $222 = ($221|0)!=(0|0); + if ($222) { + $223 = HEAP32[$21>>2]|0; + $224 = ((($223)) + 20|0); + $225 = HEAP32[$224>>2]|0; + HEAP32[$27>>2] = $225; + $226 = HEAP32[$8>>2]|0; + $227 = HEAP32[$19>>2]|0; + $228 = ((($227)) + 64|0); + $229 = HEAP32[$228>>2]|0; + $230 = (_sqlite3SchemaToIndex($226,$229)|0); + HEAP32[$28>>2] = $230; + $231 = HEAP32[$27>>2]|0; + $232 = HEAP32[$28>>2]|0; + $233 = HEAP32[$13>>2]|0; + $234 = HEAP32[$19>>2]|0; + $235 = ((($234)) + 64|0); + $236 = HEAP32[$235>>2]|0; + $237 = HEAP32[$236>>2]|0; + $238 = HEAP32[$19>>2]|0; + $239 = ((($238)) + 64|0); + $240 = HEAP32[$239>>2]|0; + $241 = ((($240)) + 4|0); + $242 = HEAP32[$241>>2]|0; + (_sqlite3VdbeAddOp4Int($231,2,$232,$233,$237,$242)|0); + $243 = HEAP32[$27>>2]|0; + _sqlite3VdbeChangeP5($243,1); + $244 = HEAP32[$27>>2]|0; + $245 = (_sqlite3VdbeAddOpList($244,9,42347,0)|0); + HEAP32[$29>>2] = $245; + $246 = HEAP32[$27>>2]|0; + $247 = HEAP32[$28>>2]|0; + _sqlite3VdbeUsesBtree($246,$247); + $248 = HEAP32[$8>>2]|0; + $249 = ((($248)) + 69|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = ($251|0)==(0); + if ($252) { + $253 = HEAP32[$28>>2]|0; + $254 = HEAP32[$29>>2]|0; + $255 = ((($254)) + 4|0); + HEAP32[$255>>2] = $253; + $256 = HEAP32[$19>>2]|0; + $257 = ((($256)) + 28|0); + $258 = HEAP32[$257>>2]|0; + $259 = HEAP32[$29>>2]|0; + $260 = ((($259)) + 8|0); + HEAP32[$260>>2] = $258; + $261 = HEAP32[$13>>2]|0; + $262 = HEAP32[$29>>2]|0; + $263 = ((($262)) + 12|0); + HEAP32[$263>>2] = $261; + $264 = HEAP32[$27>>2]|0; + $265 = HEAP32[$19>>2]|0; + $266 = HEAP32[$265>>2]|0; + _sqlite3VdbeChangeP4($264,1,$266,0); + } + $267 = HEAP32[$8>>2]|0; + $268 = ((($267)) + 69|0); + $269 = HEAP8[$268>>0]|0; + $270 = $269&255; + $271 = ($270|0)==(0); + if ($271) { + $272 = HEAP32[$13>>2]|0; + $273 = ($272|0)!=(0); + if ($273) { + $274 = HEAP32[$29>>2]|0; + $275 = ((($274)) + 20|0); + HEAP8[$275>>0] = 105; + } + $276 = HEAP32[$19>>2]|0; + $277 = ((($276)) + 28|0); + $278 = HEAP32[$277>>2]|0; + $279 = HEAP32[$29>>2]|0; + $280 = ((($279)) + 20|0); + $281 = ((($280)) + 8|0); + HEAP32[$281>>2] = $278; + $282 = HEAP32[$28>>2]|0; + $283 = HEAP32[$29>>2]|0; + $284 = ((($283)) + 20|0); + $285 = ((($284)) + 12|0); + HEAP32[$285>>2] = $282; + $286 = HEAP32[$29>>2]|0; + $287 = ((($286)) + 20|0); + $288 = ((($287)) + 1|0); + HEAP8[$288>>0] = -14; + $289 = HEAP32[$19>>2]|0; + $290 = ((($289)) + 34|0); + $291 = HEAP16[$290>>1]|0; + $292 = $291 << 16 >> 16; + $293 = (($292) + 1)|0; + $294 = HEAP32[$29>>2]|0; + $295 = ((($294)) + 20|0); + $296 = ((($295)) + 16|0); + HEAP32[$296>>2] = $293; + $297 = HEAP32[$19>>2]|0; + $298 = ((($297)) + 34|0); + $299 = HEAP16[$298>>1]|0; + $300 = $299 << 16 >> 16; + $301 = HEAP32[$29>>2]|0; + $302 = ((($301)) + 80|0); + $303 = ((($302)) + 8|0); + HEAP32[$303>>2] = $300; + $304 = HEAP32[$20>>2]|0; + $305 = ((($304)) + 400|0); + HEAP16[$305>>1] = 1; + $306 = HEAP32[$20>>2]|0; + $307 = ((($306)) + 44|0); + HEAP32[$307>>2] = 1; + $308 = HEAP32[$20>>2]|0; + $309 = ((($308)) + 40|0); + HEAP32[$309>>2] = 1; + $310 = HEAP32[$27>>2]|0; + $311 = HEAP32[$20>>2]|0; + _sqlite3VdbeMakeReady($310,$311); + } + } + $312 = HEAP32[$13>>2]|0; + $313 = HEAP32[$21>>2]|0; + HEAP32[$313>>2] = $312; + $314 = HEAP32[$16>>2]|0; + $315 = HEAP32[$21>>2]|0; + $316 = ((($315)) + 12|0); + HEAP32[$316>>2] = $314; + $317 = HEAP32[$8>>2]|0; + $318 = HEAP32[$21>>2]|0; + $319 = ((($318)) + 24|0); + HEAP32[$319>>2] = $317; + $320 = HEAP32[$8>>2]|0; + _sqlite3BtreeLeaveAll($320); + $321 = HEAP32[$8>>2]|0; + $322 = ((($321)) + 69|0); + $323 = HEAP8[$322>>0]|0; + $324 = ($323<<24>>24)!=(0); + if ($324) { + break L1; + } + $325 = HEAP32[$21>>2]|0; + $326 = ((($325)) + 20|0); + $327 = HEAP32[$326>>2]|0; + $328 = $12; + $329 = $328; + $330 = HEAP32[$329>>2]|0; + $331 = (($328) + 4)|0; + $332 = $331; + $333 = HEAP32[$332>>2]|0; + (_sqlite3_bind_int64($327,1,$330,$333)|0); + $334 = HEAP32[$21>>2]|0; + $335 = $12; + $336 = $335; + $337 = HEAP32[$336>>2]|0; + $338 = (($335) + 4)|0; + $339 = $338; + $340 = HEAP32[$339>>2]|0; + $341 = (_blobSeekToRow($334,$337,$340,$18)|0); + HEAP32[$17>>2] = $341; + $342 = HEAP32[$15>>2]|0; + $343 = (($342) + 1)|0; + HEAP32[$15>>2] = $343; + $344 = ($343|0)<(50); + $345 = HEAP32[$17>>2]|0; + $346 = ($345|0)==(17); + $347 = $344 ? $346 : 0; + if (!($347)) { + break L1; + } + } + if ((label|0) == 13) { + $91 = HEAP32[$20>>2]|0; + $92 = ((($91)) + 4|0); + $93 = HEAP32[$92>>2]|0; + $94 = ($93|0)!=(0|0); + if ($94) { + $95 = HEAP32[$8>>2]|0; + $96 = HEAP32[$18>>2]|0; + _sqlite3DbFree($95,$96); + $97 = HEAP32[$20>>2]|0; + $98 = ((($97)) + 4|0); + $99 = HEAP32[$98>>2]|0; + HEAP32[$18>>2] = $99; + $100 = HEAP32[$20>>2]|0; + $101 = ((($100)) + 4|0); + HEAP32[$101>>2] = 0; + } + HEAP32[$17>>2] = 1; + $102 = HEAP32[$8>>2]|0; + _sqlite3BtreeLeaveAll($102); + break; + } + else if ((label|0) == 21) { + $141 = HEAP32[$8>>2]|0; + $142 = HEAP32[$18>>2]|0; + _sqlite3DbFree($141,$142); + $143 = HEAP32[$8>>2]|0; + $144 = HEAP32[$11>>2]|0; + HEAP32[$vararg_buffer7>>2] = $144; + $145 = (_sqlite3MPrintf($143,42272,$vararg_buffer7)|0); + HEAP32[$18>>2] = $145; + HEAP32[$17>>2] = 1; + $146 = HEAP32[$8>>2]|0; + _sqlite3BtreeLeaveAll($146); + break; + } + else if ((label|0) == 42) { + $209 = HEAP32[$8>>2]|0; + $210 = HEAP32[$18>>2]|0; + _sqlite3DbFree($209,$210); + $211 = HEAP32[$8>>2]|0; + $212 = HEAP32[$22>>2]|0; + HEAP32[$vararg_buffer10>>2] = $212; + $213 = (_sqlite3MPrintf($211,42313,$vararg_buffer10)|0); + HEAP32[$18>>2] = $213; + HEAP32[$17>>2] = 1; + $214 = HEAP32[$8>>2]|0; + _sqlite3BtreeLeaveAll($214); + break; + } + } + } + } while(0); + $348 = HEAP32[$17>>2]|0; + $349 = ($348|0)==(0); + if ($349) { + $350 = HEAP32[$8>>2]|0; + $351 = ((($350)) + 69|0); + $352 = HEAP8[$351>>0]|0; + $353 = $352&255; + $354 = ($353|0)==(0); + if ($354) { + $355 = HEAP32[$21>>2]|0; + $356 = HEAP32[$14>>2]|0; + HEAP32[$356>>2] = $355; + $368 = HEAP32[$8>>2]|0; + $369 = HEAP32[$17>>2]|0; + $370 = HEAP32[$18>>2]|0; + $371 = ($370|0)!=(0|0); + $372 = $371 ? 21240 : 0; + $373 = HEAP32[$18>>2]|0; + HEAP32[$vararg_buffer13>>2] = $373; + _sqlite3ErrorWithMsg($368,$369,$372,$vararg_buffer13); + $374 = HEAP32[$8>>2]|0; + $375 = HEAP32[$18>>2]|0; + _sqlite3DbFree($374,$375); + $376 = HEAP32[$20>>2]|0; + _sqlite3ParserReset($376); + $377 = HEAP32[$8>>2]|0; + $378 = HEAP32[$20>>2]|0; + _sqlite3DbFree($377,$378); + $379 = HEAP32[$8>>2]|0; + $380 = HEAP32[$17>>2]|0; + $381 = (_sqlite3ApiExit($379,$380)|0); + HEAP32[$17>>2] = $381; + $382 = HEAP32[$8>>2]|0; + $383 = ((($382)) + 12|0); + $384 = HEAP32[$383>>2]|0; + _sqlite3_mutex_leave($384); + $385 = HEAP32[$17>>2]|0; + STACKTOP = sp;return ($385|0); + } + } + $357 = HEAP32[$21>>2]|0; + $358 = ($357|0)!=(0|0); + if ($358) { + $359 = HEAP32[$21>>2]|0; + $360 = ((($359)) + 20|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)!=(0|0); + if ($362) { + $363 = HEAP32[$21>>2]|0; + $364 = ((($363)) + 20|0); + $365 = HEAP32[$364>>2]|0; + (_sqlite3VdbeFinalize($365)|0); + } + } + $366 = HEAP32[$8>>2]|0; + $367 = HEAP32[$21>>2]|0; + _sqlite3DbFree($366,$367); + $368 = HEAP32[$8>>2]|0; + $369 = HEAP32[$17>>2]|0; + $370 = HEAP32[$18>>2]|0; + $371 = ($370|0)!=(0|0); + $372 = $371 ? 21240 : 0; + $373 = HEAP32[$18>>2]|0; + HEAP32[$vararg_buffer13>>2] = $373; + _sqlite3ErrorWithMsg($368,$369,$372,$vararg_buffer13); + $374 = HEAP32[$8>>2]|0; + $375 = HEAP32[$18>>2]|0; + _sqlite3DbFree($374,$375); + $376 = HEAP32[$20>>2]|0; + _sqlite3ParserReset($376); + $377 = HEAP32[$8>>2]|0; + $378 = HEAP32[$20>>2]|0; + _sqlite3DbFree($377,$378); + $379 = HEAP32[$8>>2]|0; + $380 = HEAP32[$17>>2]|0; + $381 = (_sqlite3ApiExit($379,$380)|0); + HEAP32[$17>>2] = $381; + $382 = HEAP32[$8>>2]|0; + $383 = ((($382)) + 12|0); + $384 = HEAP32[$383>>2]|0; + _sqlite3_mutex_leave($384); + $385 = HEAP32[$17>>2]|0; + STACKTOP = sp;return ($385|0); +} +function _blobSeekToRow($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer4 = sp + 24|0; + $vararg_buffer1 = sp + 16|0; + $vararg_buffer = sp + 8|0; + $4 = sp + 52|0; + $5 = sp; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + HEAP32[$4>>2] = $0; + $12 = $5; + $13 = $12; + HEAP32[$13>>2] = $1; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $2; + HEAP32[$6>>2] = $3; + HEAP32[$8>>2] = 0; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$9>>2] = $18; + $19 = $5; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$9>>2]|0; + $26 = ((($25)) + 116|0); + $27 = HEAP32[$26>>2]|0; + $28 = $27; + $29 = $28; + HEAP32[$29>>2] = $21; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = $24; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_sqlite3_step($34)|0); + HEAP32[$7>>2] = $35; + $36 = HEAP32[$7>>2]|0; + $37 = ($36|0)==(100); + do { + if ($37) { + $38 = HEAP32[$9>>2]|0; + $39 = ((($38)) + 112|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$40>>2]|0; + HEAP32[$10>>2] = $41; + $42 = HEAP32[$10>>2]|0; + $43 = ((($42)) + 80|0); + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($43) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$11>>2] = $48; + $49 = HEAP32[$11>>2]|0; + $50 = ($49>>>0)<(12); + if (!($50)) { + $66 = HEAP32[$10>>2]|0; + $67 = ((($66)) + 80|0); + $68 = HEAP32[$4>>2]|0; + $69 = ((($68)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$10>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP16[$72>>1]|0; + $74 = $73 << 16 >> 16; + $75 = (($70) + ($74))|0; + $76 = (($67) + ($75<<2)|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 8|0); + HEAP32[$79>>2] = $77; + $80 = HEAP32[$11>>2]|0; + $81 = (_sqlite3VdbeSerialTypeLen($80)|0); + $82 = HEAP32[$4>>2]|0; + $83 = ((($82)) + 4|0); + HEAP32[$83>>2] = $81; + $84 = HEAP32[$10>>2]|0; + $85 = ((($84)) + 16|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$4>>2]|0; + $88 = ((($87)) + 16|0); + HEAP32[$88>>2] = $86; + $89 = HEAP32[$4>>2]|0; + $90 = ((($89)) + 16|0); + $91 = HEAP32[$90>>2]|0; + _sqlite3BtreeIncrblobCursor($91); + break; + } + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$11>>2]|0; + $55 = ($54|0)==(0); + if ($55) { + $59 = 23015; + } else { + $56 = HEAP32[$11>>2]|0; + $57 = ($56|0)==(7); + $58 = $57 ? 23005 : 22992; + $59 = $58; + } + HEAP32[$vararg_buffer>>2] = $59; + $60 = (_sqlite3MPrintf($53,42383,$vararg_buffer)|0); + HEAP32[$8>>2] = $60; + HEAP32[$7>>2] = 1; + $61 = HEAP32[$4>>2]|0; + $62 = ((($61)) + 20|0); + $63 = HEAP32[$62>>2]|0; + (_sqlite3_finalize($63)|0); + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 20|0); + HEAP32[$65>>2] = 0; + } + } while(0); + $92 = HEAP32[$7>>2]|0; + $93 = ($92|0)==(100); + if ($93) { + HEAP32[$7>>2] = 0; + $125 = HEAP32[$8>>2]|0; + $126 = HEAP32[$6>>2]|0; + HEAP32[$126>>2] = $125; + $127 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($127|0); + } + $94 = HEAP32[$4>>2]|0; + $95 = ((($94)) + 20|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)!=(0|0); + if (!($97)) { + $125 = HEAP32[$8>>2]|0; + $126 = HEAP32[$6>>2]|0; + HEAP32[$126>>2] = $125; + $127 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($127|0); + } + $98 = HEAP32[$4>>2]|0; + $99 = ((($98)) + 20|0); + $100 = HEAP32[$99>>2]|0; + $101 = (_sqlite3_finalize($100)|0); + HEAP32[$7>>2] = $101; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 20|0); + HEAP32[$103>>2] = 0; + $104 = HEAP32[$7>>2]|0; + $105 = ($104|0)==(0); + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 24|0); + $108 = HEAP32[$107>>2]|0; + if ($105) { + $109 = $5; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $vararg_buffer1; + $116 = $115; + HEAP32[$116>>2] = $111; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + $119 = (_sqlite3MPrintf($108,42412,$vararg_buffer1)|0); + HEAP32[$8>>2] = $119; + HEAP32[$7>>2] = 1; + $125 = HEAP32[$8>>2]|0; + $126 = HEAP32[$6>>2]|0; + HEAP32[$126>>2] = $125; + $127 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($127|0); + } else { + $120 = HEAP32[$4>>2]|0; + $121 = ((($120)) + 24|0); + $122 = HEAP32[$121>>2]|0; + $123 = (_sqlite3_errmsg($122)|0); + HEAP32[$vararg_buffer4>>2] = $123; + $124 = (_sqlite3MPrintf($108,21240,$vararg_buffer4)|0); + HEAP32[$8>>2] = $124; + $125 = HEAP32[$8>>2]|0; + $126 = HEAP32[$6>>2]|0; + HEAP32[$126>>2] = $125; + $127 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($127|0); + } + return (0)|0; +} +function _sqlite3BtreeIncrblobCursor($0) { + $0 = $0|0; + var $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; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 64|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = $5 | 16; + $7 = $6&255; + HEAP8[$3>>0] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 11|0); + HEAP8[$10>>0] = 1; + STACKTOP = sp;return; +} +function _sqlite3_blob_close($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + if ($7) { + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + _sqlite3_mutex_enter($13); + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_finalize($16)|0); + HEAP32[$3>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$2>>2]|0; + _sqlite3DbFree($18,$19); + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3_mutex_leave($22); + $23 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($23|0); + } else { + HEAP32[$3>>2] = 0; + $23 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($23|0); + } + return (0)|0; +} +function _sqlite3_blob_read($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$7>>2]|0; + $12 = (_blobReadWrite($8,$9,$10,$11,148)|0); + STACKTOP = sp;return ($12|0); +} +function _blobReadWrite($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $15 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $15; + $16 = HEAP32[$12>>2]|0; + $17 = ($16|0)==(0|0); + if ($17) { + $18 = (_sqlite3MisuseError(84716)|0); + HEAP32[$5>>2] = $18; + $87 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($87|0); + } + $19 = HEAP32[$12>>2]|0; + $20 = ((($19)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$14>>2] = $21; + $22 = HEAP32[$14>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + _sqlite3_mutex_enter($24); + $25 = HEAP32[$12>>2]|0; + $26 = ((($25)) + 20|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$13>>2] = $27; + $28 = HEAP32[$8>>2]|0; + $29 = ($28|0)<(0); + $30 = HEAP32[$9>>2]|0; + $31 = ($30|0)<(0); + $or$cond = $29 | $31; + do { + if ($or$cond) { + label = 5; + } else { + $32 = HEAP32[$9>>2]|0; + $33 = ($32|0)<(0); + $34 = $33 << 31 >> 31; + $35 = HEAP32[$8>>2]|0; + $36 = ($35|0)<(0); + $37 = $36 << 31 >> 31; + $38 = (_i64Add(($32|0),($34|0),($35|0),($37|0))|0); + $39 = tempRet0; + $40 = HEAP32[$12>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)<(0); + $44 = $43 << 31 >> 31; + $45 = ($39|0)>($44|0); + $46 = ($38>>>0)>($42>>>0); + $47 = ($39|0)==($44|0); + $48 = $47 & $46; + $49 = $45 | $48; + if ($49) { + label = 5; + } else { + $50 = HEAP32[$13>>2]|0; + $51 = ($50|0)==(0|0); + if ($51) { + HEAP32[$11>>2] = 4; + break; + } + $52 = HEAP32[$12>>2]|0; + $53 = ((($52)) + 16|0); + $54 = HEAP32[$53>>2]|0; + _sqlite3BtreeEnterCursor($54); + $55 = HEAP32[$10>>2]|0; + $56 = HEAP32[$12>>2]|0; + $57 = ((($56)) + 16|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$9>>2]|0; + $60 = HEAP32[$12>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = (($59) + ($62))|0; + $64 = HEAP32[$8>>2]|0; + $65 = HEAP32[$7>>2]|0; + $66 = (FUNCTION_TABLE_iiiii[$55 & 255]($58,$63,$64,$65)|0); + HEAP32[$11>>2] = $66; + $67 = HEAP32[$12>>2]|0; + $68 = ((($67)) + 16|0); + $69 = HEAP32[$68>>2]|0; + _sqlite3BtreeLeaveCursor($69); + $70 = HEAP32[$11>>2]|0; + $71 = ($70|0)==(4); + if ($71) { + $72 = HEAP32[$13>>2]|0; + (_sqlite3VdbeFinalize($72)|0); + $73 = HEAP32[$12>>2]|0; + $74 = ((($73)) + 20|0); + HEAP32[$74>>2] = 0; + break; + } else { + $75 = HEAP32[$11>>2]|0; + $76 = HEAP32[$13>>2]|0; + $77 = ((($76)) + 40|0); + HEAP32[$77>>2] = $75; + break; + } + } + } + } while(0); + if ((label|0) == 5) { + HEAP32[$11>>2] = 1; + } + $78 = HEAP32[$14>>2]|0; + $79 = HEAP32[$11>>2]|0; + _sqlite3Error($78,$79); + $80 = HEAP32[$14>>2]|0; + $81 = HEAP32[$11>>2]|0; + $82 = (_sqlite3ApiExit($80,$81)|0); + HEAP32[$11>>2] = $82; + $83 = HEAP32[$14>>2]|0; + $84 = ((($83)) + 12|0); + $85 = HEAP32[$84>>2]|0; + _sqlite3_mutex_leave($85); + $86 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $86; + $87 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($87|0); +} +function _sqlite3BtreeEnterCursor($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + _sqlite3BtreeEnter($3); + STACKTOP = sp;return; +} +function _sqlite3BtreeLeaveCursor($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + _sqlite3BtreeLeave($3); + STACKTOP = sp;return; +} +function _sqlite3_blob_write($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$7>>2]|0; + $12 = (_blobReadWrite($8,$9,$10,$11,149)|0); + STACKTOP = sp;return ($12|0); +} +function _sqlite3BtreePutData($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 66|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)>=(3); + if ($14) { + $15 = HEAP32[$5>>2]|0; + $16 = (_btreeRestoreCursorPosition($15)|0); + $17 = $16; + } else { + $17 = 0; + } + HEAP32[$9>>2] = $17; + $18 = HEAP32[$9>>2]|0; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $20; + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); + } + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 66|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = ($24|0)!=(1); + if ($25) { + HEAP32[$4>>2] = 4; + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); + } + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 52|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$5>>2]|0; + (_saveAllCursors($28,$31,$32)|0); + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 64|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 & 1; + $38 = ($37|0)==(0); + if ($38) { + HEAP32[$4>>2] = 8; + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); + } else { + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$8>>2]|0; + $43 = (_accessPayload($39,$40,$41,$42,1)|0); + HEAP32[$4>>2] = $43; + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); + } + return (0)|0; +} +function _sqlite3_blob_bytes($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $13 = 0; + STACKTOP = sp;return ($13|0); + } + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + $13 = 0; + STACKTOP = sp;return ($13|0); + } + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = $12; + STACKTOP = sp;return ($13|0); +} +function _sqlite3_blob_reopen($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp + 8|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + HEAP32[$4>>2] = $0; + $10 = $5; + $11 = $10; + HEAP32[$11>>2] = $1; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $2; + $14 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ($15|0)==(0|0); + if ($16) { + $17 = (_sqlite3MisuseError(84814)|0); + HEAP32[$3>>2] = $17; + $53 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($53|0); + } + $18 = HEAP32[$7>>2]|0; + $19 = ((($18)) + 24|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$8>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + _sqlite3_mutex_enter($23); + $24 = HEAP32[$7>>2]|0; + $25 = ((($24)) + 20|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if ($27) { + HEAP32[$6>>2] = 4; + } else { + $28 = HEAP32[$7>>2]|0; + $29 = $5; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (_blobSeekToRow($28,$31,$34,$9)|0); + HEAP32[$6>>2] = $35; + $36 = HEAP32[$6>>2]|0; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$8>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = HEAP32[$9>>2]|0; + $41 = ($40|0)!=(0|0); + $42 = $41 ? 21240 : 0; + $43 = HEAP32[$9>>2]|0; + HEAP32[$vararg_buffer>>2] = $43; + _sqlite3ErrorWithMsg($38,$39,$42,$vararg_buffer); + $44 = HEAP32[$8>>2]|0; + $45 = HEAP32[$9>>2]|0; + _sqlite3DbFree($44,$45); + } + } + $46 = HEAP32[$8>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = (_sqlite3ApiExit($46,$47)|0); + HEAP32[$6>>2] = $48; + $49 = HEAP32[$8>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + _sqlite3_mutex_leave($51); + $52 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $52; + $53 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($53|0); +} +function _sqlite3_create_module($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$7>>2]|0; + $12 = (_createModule($8,$9,$10,$11,0)|0); + STACKTOP = sp;return ($12|0); +} +function _createModule($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = 0; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + _sqlite3_mutex_enter($17); + $18 = HEAP32[$6>>2]|0; + $19 = (_sqlite3Strlen30($18)|0); + HEAP32[$11>>2] = $19; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 320|0); + $22 = HEAP32[$6>>2]|0; + $23 = (_sqlite3HashFind($21,$22)|0); + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = (_sqlite3MisuseError(122590)|0); + HEAP32[$10>>2] = $25; + } else { + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$11>>2]|0; + $28 = (20 + ($27))|0; + $29 = (($28) + 1)|0; + $30 = (_sqlite3DbMallocRawNN($26,$29,0)|0); + HEAP32[$12>>2] = $30; + $31 = HEAP32[$12>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = HEAP32[$12>>2]|0; + $34 = ((($33)) + 20|0); + HEAP32[$14>>2] = $34; + $35 = HEAP32[$14>>2]|0; + $36 = HEAP32[$6>>2]|0; + $37 = HEAP32[$11>>2]|0; + $38 = (($37) + 1)|0; + _memcpy(($35|0),($36|0),($38|0))|0; + $39 = HEAP32[$14>>2]|0; + $40 = HEAP32[$12>>2]|0; + $41 = ((($40)) + 4|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$7>>2]|0; + $43 = HEAP32[$12>>2]|0; + HEAP32[$43>>2] = $42; + $44 = HEAP32[$8>>2]|0; + $45 = HEAP32[$12>>2]|0; + $46 = ((($45)) + 8|0); + HEAP32[$46>>2] = $44; + $47 = HEAP32[$9>>2]|0; + $48 = HEAP32[$12>>2]|0; + $49 = ((($48)) + 12|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$12>>2]|0; + $51 = ((($50)) + 16|0); + HEAP32[$51>>2] = 0; + $52 = HEAP32[$5>>2]|0; + $53 = ((($52)) + 320|0); + $54 = HEAP32[$14>>2]|0; + $55 = HEAP32[$12>>2]|0; + $56 = (_sqlite3HashInsert($53,$54,$55)|0); + HEAP32[$13>>2] = $56; + $57 = HEAP32[$13>>2]|0; + $58 = ($57|0)!=(0|0); + if ($58) { + $59 = HEAP32[$5>>2]|0; + _sqlite3OomFault($59); + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$13>>2]|0; + _sqlite3DbFree($60,$61); + } + } + } + $62 = HEAP32[$5>>2]|0; + $63 = HEAP32[$10>>2]|0; + $64 = (_sqlite3ApiExit($62,$63)|0); + HEAP32[$10>>2] = $64; + $65 = HEAP32[$10>>2]|0; + $66 = ($65|0)!=(0); + $67 = HEAP32[$9>>2]|0; + $68 = ($67|0)!=(0|0); + $or$cond = $66 & $68; + if (!($or$cond)) { + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + _sqlite3_mutex_leave($73); + $74 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($74|0); + } + $69 = HEAP32[$9>>2]|0; + $70 = HEAP32[$8>>2]|0; + FUNCTION_TABLE_vi[$69 & 255]($70); + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + _sqlite3_mutex_leave($73); + $74 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($74|0); +} +function _sqlite3_create_module_v2($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$7>>2]|0; + $13 = HEAP32[$8>>2]|0; + $14 = HEAP32[$9>>2]|0; + $15 = (_createModule($10,$11,$12,$13,$14)|0); + STACKTOP = sp;return ($15|0); +} +function _sqlite3_declare_vtab($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$7>>2] = 0; + HEAP32[$9>>2] = 0; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3_mutex_enter($14); + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 336|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$5>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0); + if (!($23)) { + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$8>>2] = $31; + $32 = HEAP32[$3>>2]|0; + $33 = (_sqlite3DbMallocZero($32,480,0)|0); + HEAP32[$6>>2] = $33; + $34 = HEAP32[$6>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$7>>2] = 7; + } else { + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 410|0); + HEAP8[$37>>0] = 1; + $38 = HEAP32[$3>>2]|0; + $39 = HEAP32[$6>>2]|0; + HEAP32[$39>>2] = $38; + $40 = HEAP32[$6>>2]|0; + $41 = ((($40)) + 136|0); + HEAP32[$41>>2] = 1; + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$4>>2]|0; + $44 = (_sqlite3RunParser($42,$43,$9)|0); + $45 = (0)==($44|0); + if ($45) { + $46 = HEAP32[$6>>2]|0; + $47 = ((($46)) + 440|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)!=(0|0); + if ($49) { + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 69|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52<<24>>24)!=(0); + if ($53) { + label = 18; + } else { + $54 = HEAP32[$6>>2]|0; + $55 = ((($54)) + 440|0); + $56 = HEAP32[$55>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)!=(0|0); + if ($59) { + label = 18; + } else { + $60 = HEAP32[$6>>2]|0; + $61 = ((($60)) + 440|0); + $62 = HEAP32[$61>>2]|0; + $63 = ((($62)) + 42|0); + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + $66 = $65 & 16; + $67 = ($66|0)==(0); + if ($67) { + $68 = HEAP32[$8>>2]|0; + $69 = ((($68)) + 4|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)!=(0|0); + if (!($71)) { + $72 = HEAP32[$6>>2]|0; + $73 = ((($72)) + 440|0); + $74 = HEAP32[$73>>2]|0; + HEAP32[$10>>2] = $74; + $75 = HEAP32[$10>>2]|0; + $76 = ((($75)) + 4|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$8>>2]|0; + $79 = ((($78)) + 4|0); + HEAP32[$79>>2] = $77; + $80 = HEAP32[$10>>2]|0; + $81 = ((($80)) + 34|0); + $82 = HEAP16[$81>>1]|0; + $83 = HEAP32[$8>>2]|0; + $84 = ((($83)) + 34|0); + HEAP16[$84>>1] = $82; + $85 = HEAP32[$10>>2]|0; + $86 = ((($85)) + 42|0); + $87 = HEAP8[$86>>0]|0; + $88 = $87&255; + $89 = $88 & 96; + $90 = HEAP32[$8>>2]|0; + $91 = ((($90)) + 42|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = $93 | $89; + $95 = $94&255; + HEAP8[$91>>0] = $95; + $96 = HEAP32[$10>>2]|0; + $97 = ((($96)) + 34|0); + HEAP16[$97>>1] = 0; + $98 = HEAP32[$10>>2]|0; + $99 = ((($98)) + 4|0); + HEAP32[$99>>2] = 0; + $100 = HEAP32[$10>>2]|0; + $101 = ((($100)) + 42|0); + $102 = HEAP8[$101>>0]|0; + $103 = $102&255; + $104 = $103 & 32; + $105 = ($104|0)==(0); + if (!($105)) { + $106 = HEAP32[$5>>2]|0; + $107 = HEAP32[$106>>2]|0; + $108 = ((($107)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = HEAP32[$109>>2]|0; + $111 = ((($110)) + 52|0); + $112 = HEAP32[$111>>2]|0; + $113 = ($112|0)!=(0|0); + if ($113) { + HEAP32[$7>>2] = 1; + } + } + $114 = HEAP32[$10>>2]|0; + $115 = ((($114)) + 8|0); + $116 = HEAP32[$115>>2]|0; + HEAP32[$11>>2] = $116; + $117 = HEAP32[$11>>2]|0; + $118 = ($117|0)!=(0|0); + if ($118) { + $119 = HEAP32[$11>>2]|0; + $120 = HEAP32[$8>>2]|0; + $121 = ((($120)) + 8|0); + HEAP32[$121>>2] = $119; + $122 = HEAP32[$10>>2]|0; + $123 = ((($122)) + 8|0); + HEAP32[$123>>2] = 0; + $124 = HEAP32[$8>>2]|0; + $125 = HEAP32[$11>>2]|0; + $126 = ((($125)) + 12|0); + HEAP32[$126>>2] = $124; + } + } + $127 = HEAP32[$5>>2]|0; + $128 = ((($127)) + 12|0); + HEAP32[$128>>2] = 1; + } else { + label = 18; + } + } + } + } else { + label = 18; + } + } else { + label = 18; + } + if ((label|0) == 18) { + $129 = HEAP32[$3>>2]|0; + $130 = HEAP32[$9>>2]|0; + $131 = ($130|0)!=(0|0); + $132 = $131 ? 21240 : 0; + $133 = HEAP32[$9>>2]|0; + HEAP32[$vararg_buffer>>2] = $133; + _sqlite3ErrorWithMsg($129,1,$132,$vararg_buffer); + $134 = HEAP32[$3>>2]|0; + $135 = HEAP32[$9>>2]|0; + _sqlite3DbFree($134,$135); + HEAP32[$7>>2] = 1; + } + $136 = HEAP32[$6>>2]|0; + $137 = ((($136)) + 410|0); + HEAP8[$137>>0] = 0; + $138 = HEAP32[$6>>2]|0; + $139 = ((($138)) + 8|0); + $140 = HEAP32[$139>>2]|0; + $141 = ($140|0)!=(0|0); + if ($141) { + $142 = HEAP32[$6>>2]|0; + $143 = ((($142)) + 8|0); + $144 = HEAP32[$143>>2]|0; + (_sqlite3VdbeFinalize($144)|0); + } + $145 = HEAP32[$3>>2]|0; + $146 = HEAP32[$6>>2]|0; + $147 = ((($146)) + 440|0); + $148 = HEAP32[$147>>2]|0; + _sqlite3DeleteTable($145,$148); + $149 = HEAP32[$6>>2]|0; + _sqlite3ParserReset($149); + $150 = HEAP32[$3>>2]|0; + $151 = HEAP32[$6>>2]|0; + _sqlite3DbFree($150,$151); + } + $152 = HEAP32[$3>>2]|0; + $153 = HEAP32[$7>>2]|0; + $154 = (_sqlite3ApiExit($152,$153)|0); + HEAP32[$7>>2] = $154; + $155 = HEAP32[$3>>2]|0; + $156 = ((($155)) + 12|0); + $157 = HEAP32[$156>>2]|0; + _sqlite3_mutex_leave($157); + $158 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $158; + $159 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($159|0); + } + } + $24 = HEAP32[$3>>2]|0; + _sqlite3Error($24,21); + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + _sqlite3_mutex_leave($27); + $28 = (_sqlite3MisuseError(123278)|0); + HEAP32[$2>>2] = $28; + $159 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($159|0); +} +function _sqlite3_vtab_on_conflict($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 74|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = (($5) - 1)|0; + $7 = (42432 + ($6)|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + STACKTOP = sp;return ($9|0); +} +function _sqlite3_vtab_config($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $cond = 0; + var $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + _sqlite3_mutex_enter($10); + HEAP32[$4>>2] = $varargs; + $11 = HEAP32[$3>>2]|0; + $cond = ($11|0)==(1); + do { + if ($cond) { + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 336|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = ($15|0)!=(0|0); + if ($16) { + $arglist_current = HEAP32[$4>>2]|0; + $18 = $arglist_current; + $19 = ((0) + 4|0); + $expanded2 = $19; + $expanded = (($expanded2) - 1)|0; + $20 = (($18) + ($expanded))|0; + $21 = ((0) + 4|0); + $expanded6 = $21; + $expanded5 = (($expanded6) - 1)|0; + $expanded4 = $expanded5 ^ -1; + $22 = $20 & $expanded4; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $arglist_next = ((($23)) + 4|0); + HEAP32[$4>>2] = $arglist_next; + HEAP32[$7>>2] = $24; + $25 = HEAP32[$7>>2]|0; + $26 = $25&255; + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 16|0); + HEAP8[$29>>0] = $26; + break; + } else { + $17 = (_sqlite3MisuseError(123749)|0); + HEAP32[$5>>2] = $17; + break; + } + } else { + $30 = (_sqlite3MisuseError(123757)|0); + HEAP32[$5>>2] = $30; + } + } while(0); + $31 = HEAP32[$5>>2]|0; + $32 = ($31|0)!=(0); + if (!($32)) { + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + _sqlite3_mutex_leave($37); + $38 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($38|0); + } + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$5>>2]|0; + _sqlite3Error($33,$34); + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + _sqlite3_mutex_leave($37); + $38 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($38|0); +} +function _sqlite3_libversion_number() { + var label = 0, sp = 0; + sp = STACKTOP; + return 3015001; +} +function _sqlite3_db_config($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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_current11 = 0, $arglist_current14 = 0, $arglist_current2 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0; + var $expanded10 = 0, $expanded12 = 0, $expanded13 = 0, $expanded14 = 0, $expanded16 = 0, $expanded17 = 0, $expanded19 = 0, $expanded20 = 0, $expanded21 = 0, $expanded23 = 0, $expanded24 = 0, $expanded26 = 0, $expanded27 = 0, $expanded28 = 0, $expanded3 = 0, $expanded30 = 0, $expanded31 = 0, $expanded33 = 0, $expanded34 = 0, $expanded35 = 0; + var $expanded37 = 0, $expanded38 = 0, $expanded40 = 0, $expanded41 = 0, $expanded42 = 0, $expanded5 = 0, $expanded6 = 0, $expanded7 = 0, $expanded9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $2 = sp + 76|0; + $3 = sp + 72|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = $varargs; + $19 = HEAP32[$3>>2]|0; + switch ($19|0) { + case 1000: { + $arglist_current = HEAP32[$4>>2]|0; + $20 = $arglist_current; + $21 = ((0) + 4|0); + $expanded3 = $21; + $expanded = (($expanded3) - 1)|0; + $22 = (($20) + ($expanded))|0; + $23 = ((0) + 4|0); + $expanded7 = $23; + $expanded6 = (($expanded7) - 1)|0; + $expanded5 = $expanded6 ^ -1; + $24 = $22 & $expanded5; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $arglist_next = ((($25)) + 4|0); + HEAP32[$4>>2] = $arglist_next; + HEAP32[$6>>2] = $26; + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$30>>2] = $27; + HEAP32[$5>>2] = 0; + $128 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($128|0); + break; + } + case 1001: { + $arglist_current2 = HEAP32[$4>>2]|0; + $31 = $arglist_current2; + $32 = ((0) + 4|0); + $expanded10 = $32; + $expanded9 = (($expanded10) - 1)|0; + $33 = (($31) + ($expanded9))|0; + $34 = ((0) + 4|0); + $expanded14 = $34; + $expanded13 = (($expanded14) - 1)|0; + $expanded12 = $expanded13 ^ -1; + $35 = $33 & $expanded12; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $arglist_next3 = ((($36)) + 4|0); + HEAP32[$4>>2] = $arglist_next3; + HEAP32[$8>>2] = $37; + $38 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $38; + $arglist_current5 = HEAP32[$4>>2]|0; + $39 = $arglist_current5; + $40 = ((0) + 4|0); + $expanded17 = $40; + $expanded16 = (($expanded17) - 1)|0; + $41 = (($39) + ($expanded16))|0; + $42 = ((0) + 4|0); + $expanded21 = $42; + $expanded20 = (($expanded21) - 1)|0; + $expanded19 = $expanded20 ^ -1; + $43 = $41 & $expanded19; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $arglist_next6 = ((($44)) + 4|0); + HEAP32[$4>>2] = $arglist_next6; + HEAP32[$10>>2] = $45; + $46 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $46; + $arglist_current8 = HEAP32[$4>>2]|0; + $47 = $arglist_current8; + $48 = ((0) + 4|0); + $expanded24 = $48; + $expanded23 = (($expanded24) - 1)|0; + $49 = (($47) + ($expanded23))|0; + $50 = ((0) + 4|0); + $expanded28 = $50; + $expanded27 = (($expanded28) - 1)|0; + $expanded26 = $expanded27 ^ -1; + $51 = $49 & $expanded26; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $arglist_next9 = ((($52)) + 4|0); + HEAP32[$4>>2] = $arglist_next9; + HEAP32[$12>>2] = $53; + $54 = HEAP32[$12>>2]|0; + HEAP32[$11>>2] = $54; + $55 = HEAP32[$2>>2]|0; + $56 = HEAP32[$7>>2]|0; + $57 = HEAP32[$9>>2]|0; + $58 = HEAP32[$11>>2]|0; + $59 = (_setupLookaside($55,$56,$57,$58)|0); + HEAP32[$5>>2] = $59; + $128 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($128|0); + break; + } + default: { + HEAP32[$5>>2] = 1; + HEAP32[$13>>2] = 0; + while(1) { + $60 = HEAP32[$13>>2]|0; + $61 = ($60>>>0)<(4); + if (!($61)) { + label = 17; + break; + } + $62 = HEAP32[$13>>2]|0; + $63 = (6260 + ($62<<3)|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$3>>2]|0; + $66 = ($64|0)==($65|0); + if ($66) { + break; + } + $126 = HEAP32[$13>>2]|0; + $127 = (($126) + 1)|0; + HEAP32[$13>>2] = $127; + } + if ((label|0) == 17) { + $128 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($128|0); + } + $arglist_current11 = HEAP32[$4>>2]|0; + $67 = $arglist_current11; + $68 = ((0) + 4|0); + $expanded31 = $68; + $expanded30 = (($expanded31) - 1)|0; + $69 = (($67) + ($expanded30))|0; + $70 = ((0) + 4|0); + $expanded35 = $70; + $expanded34 = (($expanded35) - 1)|0; + $expanded33 = $expanded34 ^ -1; + $71 = $69 & $expanded33; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $arglist_next12 = ((($72)) + 4|0); + HEAP32[$4>>2] = $arglist_next12; + HEAP32[$15>>2] = $73; + $74 = HEAP32[$15>>2]|0; + HEAP32[$14>>2] = $74; + $arglist_current14 = HEAP32[$4>>2]|0; + $75 = $arglist_current14; + $76 = ((0) + 4|0); + $expanded38 = $76; + $expanded37 = (($expanded38) - 1)|0; + $77 = (($75) + ($expanded37))|0; + $78 = ((0) + 4|0); + $expanded42 = $78; + $expanded41 = (($expanded42) - 1)|0; + $expanded40 = $expanded41 ^ -1; + $79 = $77 & $expanded40; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $arglist_next15 = ((($80)) + 4|0); + HEAP32[$4>>2] = $arglist_next15; + HEAP32[$17>>2] = $81; + $82 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $82; + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 24|0); + $85 = HEAP32[$84>>2]|0; + HEAP32[$18>>2] = $85; + $86 = HEAP32[$14>>2]|0; + $87 = ($86|0)>(0); + if ($87) { + $88 = HEAP32[$13>>2]|0; + $89 = (6260 + ($88<<3)|0); + $90 = ((($89)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$2>>2]|0; + $93 = ((($92)) + 24|0); + $94 = HEAP32[$93>>2]|0; + $95 = $94 | $91; + HEAP32[$93>>2] = $95; + } else { + $96 = HEAP32[$14>>2]|0; + $97 = ($96|0)==(0); + if ($97) { + $98 = HEAP32[$13>>2]|0; + $99 = (6260 + ($98<<3)|0); + $100 = ((($99)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 ^ -1; + $103 = HEAP32[$2>>2]|0; + $104 = ((($103)) + 24|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & $102; + HEAP32[$104>>2] = $106; + } + } + $107 = HEAP32[$18>>2]|0; + $108 = HEAP32[$2>>2]|0; + $109 = ((($108)) + 24|0); + $110 = HEAP32[$109>>2]|0; + $111 = ($107|0)!=($110|0); + if ($111) { + $112 = HEAP32[$2>>2]|0; + _sqlite3ExpirePreparedStatements($112); + } + $113 = HEAP32[$16>>2]|0; + $114 = ($113|0)!=(0|0); + if ($114) { + $115 = HEAP32[$2>>2]|0; + $116 = ((($115)) + 24|0); + $117 = HEAP32[$116>>2]|0; + $118 = HEAP32[$13>>2]|0; + $119 = (6260 + ($118<<3)|0); + $120 = ((($119)) + 4|0); + $121 = HEAP32[$120>>2]|0; + $122 = $117 & $121; + $123 = ($122|0)!=(0); + $124 = $123&1; + $125 = HEAP32[$16>>2]|0; + HEAP32[$125>>2] = $124; + } + HEAP32[$5>>2] = 0; + $128 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($128|0); + } + } + return (0)|0; +} +function _setupLookaside($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$sink = 0, $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 256|0); + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)!=(0); + if ($16) { + HEAP32[$4>>2] = 5; + $108 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($108|0); + } + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 256|0); + $19 = ((($18)) + 6|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)!=(0); + if ($21) { + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 256|0); + $24 = ((($23)) + 32|0); + $25 = HEAP32[$24>>2]|0; + _sqlite3_free($25); + } + $26 = HEAP32[$7>>2]|0; + $27 = $26 & -8; + HEAP32[$7>>2] = $27; + $28 = HEAP32[$7>>2]|0; + $29 = ($28|0)<=(4); + $$ = $29 ? 0 : $27; + HEAP32[$7>>2] = $$; + $30 = HEAP32[$8>>2]|0; + $31 = ($30|0)<(0); + if ($31) { + HEAP32[$8>>2] = 0; + } + $32 = HEAP32[$7>>2]|0; + $33 = ($32|0)==(0); + $34 = HEAP32[$8>>2]|0; + $35 = ($34|0)==(0); + $or$cond = $33 | $35; + do { + if ($or$cond) { + HEAP32[$7>>2] = 0; + HEAP32[$9>>2] = 0; + } else { + $36 = HEAP32[$6>>2]|0; + $37 = ($36|0)==(0|0); + if (!($37)) { + $50 = HEAP32[$6>>2]|0; + HEAP32[$9>>2] = $50; + break; + } + _sqlite3BeginBenignMalloc(); + $38 = HEAP32[$7>>2]|0; + $39 = HEAP32[$8>>2]|0; + $40 = Math_imul($38, $39)|0; + $41 = ($40|0)<(0); + $42 = $41 << 31 >> 31; + $43 = (_sqlite3Malloc($40,$42)|0); + HEAP32[$9>>2] = $43; + _sqlite3EndBenignMalloc(); + $44 = HEAP32[$9>>2]|0; + $45 = ($44|0)!=(0|0); + if ($45) { + $46 = HEAP32[$9>>2]|0; + $47 = (_sqlite3MallocSize($46)|0); + $48 = HEAP32[$7>>2]|0; + $49 = (($47|0) / ($48|0))&-1; + HEAP32[$8>>2] = $49; + } + } + } while(0); + $51 = HEAP32[$9>>2]|0; + $52 = HEAP32[$5>>2]|0; + $53 = ((($52)) + 256|0); + $54 = ((($53)) + 32|0); + HEAP32[$54>>2] = $51; + $55 = HEAP32[$5>>2]|0; + $56 = ((($55)) + 256|0); + $57 = ((($56)) + 28|0); + HEAP32[$57>>2] = 0; + $58 = HEAP32[$7>>2]|0; + $59 = $58&65535; + $60 = HEAP32[$5>>2]|0; + $61 = ((($60)) + 256|0); + $62 = ((($61)) + 4|0); + HEAP16[$62>>1] = $59; + $63 = HEAP32[$9>>2]|0; + $64 = ($63|0)!=(0|0); + if ($64) { + $65 = HEAP32[$9>>2]|0; + HEAP32[$11>>2] = $65; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) - 1)|0; + HEAP32[$10>>2] = $67; + while(1) { + $68 = HEAP32[$10>>2]|0; + $69 = ($68|0)>=(0); + if (!($69)) { + break; + } + $70 = HEAP32[$5>>2]|0; + $71 = ((($70)) + 256|0); + $72 = ((($71)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$11>>2]|0; + HEAP32[$74>>2] = $73; + $75 = HEAP32[$11>>2]|0; + $76 = HEAP32[$5>>2]|0; + $77 = ((($76)) + 256|0); + $78 = ((($77)) + 28|0); + HEAP32[$78>>2] = $75; + $79 = HEAP32[$11>>2]|0; + $80 = HEAP32[$7>>2]|0; + $81 = (($79) + ($80)|0); + HEAP32[$11>>2] = $81; + $82 = HEAP32[$10>>2]|0; + $83 = (($82) + -1)|0; + HEAP32[$10>>2] = $83; + } + $84 = HEAP32[$11>>2]|0; + $85 = HEAP32[$5>>2]|0; + $86 = ((($85)) + 256|0); + $87 = ((($86)) + 36|0); + HEAP32[$87>>2] = $84; + $88 = HEAP32[$5>>2]|0; + $89 = ((($88)) + 256|0); + HEAP32[$89>>2] = 0; + $90 = HEAP32[$6>>2]|0; + $91 = ($90|0)==(0|0); + $92 = $91 ? 1 : 0; + $93 = $92&255; + $94 = HEAP32[$5>>2]|0; + $$sink = $93;$$sink4 = $94; + } else { + $95 = HEAP32[$5>>2]|0; + $96 = HEAP32[$5>>2]|0; + $97 = ((($96)) + 256|0); + $98 = ((($97)) + 32|0); + HEAP32[$98>>2] = $95; + $99 = HEAP32[$5>>2]|0; + $100 = HEAP32[$5>>2]|0; + $101 = ((($100)) + 256|0); + $102 = ((($101)) + 36|0); + HEAP32[$102>>2] = $99; + $103 = HEAP32[$5>>2]|0; + $104 = ((($103)) + 256|0); + HEAP32[$104>>2] = 1; + $105 = HEAP32[$5>>2]|0; + $$sink = 0;$$sink4 = $105; + } + $106 = ((($$sink4)) + 256|0); + $107 = ((($106)) + 6|0); + HEAP8[$107>>0] = $$sink; + HEAP32[$4>>2] = 0; + $108 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($108|0); +} +function _sqlite3_close($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_sqlite3Close($2,0)|0); + STACKTOP = sp;return ($3|0); +} +function _sqlite3Close($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + HEAP32[$2>>2] = 0; + $41 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($41|0); + } + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3SafetyCheckSickOrOk($7)|0); + $9 = ($8|0)!=(0); + if (!($9)) { + $10 = (_sqlite3MisuseError(138867)|0); + HEAP32[$2>>2] = $10; + $41 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($41|0); + } + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + _sqlite3_mutex_enter($13); + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 76|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $17 & 8; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 184|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 188|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$3>>2]|0; + (FUNCTION_TABLE_iiiii[$22 & 255](8,$25,$26,0)|0); + } + $27 = HEAP32[$3>>2]|0; + _disconnectAllVtab($27); + $28 = HEAP32[$3>>2]|0; + (_sqlite3VtabRollback($28)|0); + $29 = HEAP32[$4>>2]|0; + $30 = ($29|0)!=(0); + if (!($30)) { + $31 = HEAP32[$3>>2]|0; + $32 = (_connectionIsBusy($31)|0); + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$3>>2]|0; + _sqlite3ErrorWithMsg($34,5,42442,$vararg_buffer); + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + _sqlite3_mutex_leave($37); + HEAP32[$2>>2] = 5; + $41 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($41|0); + } + } + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 84|0); + HEAP32[$39>>2] = 1691352191; + $40 = HEAP32[$3>>2]|0; + _sqlite3LeaveMutexAndCloseZombie($40); + HEAP32[$2>>2] = 0; + $41 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($41|0); +} +function _disconnectAllVtab($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$1>>2] = $0; + $7 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnterAll($7); + HEAP32[$2>>2] = 0; + while(1) { + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)<($11|0); + $13 = HEAP32[$1>>2]|0; + if (!($12)) { + break; + } + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = (($15) + ($16<<4)|0); + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$4>>2] = $19; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = (($22) + ($23<<4)|0); + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0|0); + L4: do { + if ($27) { + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 8|0); + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$3>>2] = $31; + while(1) { + $32 = HEAP32[$3>>2]|0; + $33 = ($32|0)!=(0|0); + if (!($33)) { + break L4; + } + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$5>>2] = $36; + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 42|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $40 & 16; + $42 = ($41|0)!=(0); + if ($42) { + $43 = HEAP32[$1>>2]|0; + $44 = HEAP32[$5>>2]|0; + _sqlite3VtabDisconnect($43,$44); + } + $45 = HEAP32[$3>>2]|0; + $46 = HEAP32[$45>>2]|0; + HEAP32[$3>>2] = $46; + } + } + } while(0); + $47 = HEAP32[$2>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$2>>2] = $48; + } + $49 = ((($13)) + 320|0); + $50 = ((($49)) + 8|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$3>>2] = $51; + while(1) { + $52 = HEAP32[$3>>2]|0; + $53 = ($52|0)!=(0|0); + if (!($53)) { + break; + } + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 8|0); + $56 = HEAP32[$55>>2]|0; + HEAP32[$6>>2] = $56; + $57 = HEAP32[$6>>2]|0; + $58 = ((($57)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)!=(0|0); + if ($60) { + $61 = HEAP32[$1>>2]|0; + $62 = HEAP32[$6>>2]|0; + $63 = ((($62)) + 16|0); + $64 = HEAP32[$63>>2]|0; + _sqlite3VtabDisconnect($61,$64); + } + $65 = HEAP32[$3>>2]|0; + $66 = HEAP32[$65>>2]|0; + HEAP32[$3>>2] = $66; + } + $67 = HEAP32[$1>>2]|0; + _sqlite3VtabUnlockList($67); + $68 = HEAP32[$1>>2]|0; + _sqlite3BtreeLeaveAll($68); + STACKTOP = sp;return; +} +function _sqlite3VtabDisconnect($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 56|0); + HEAP32[$4>>2] = $7; + while(1) { + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + label = 6; + break; + } + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = ($13|0)==($14|0); + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + if ($15) { + break; + } + $23 = ((($17)) + 24|0); + HEAP32[$4>>2] = $23; + } + if ((label|0) == 6) { + STACKTOP = sp;return; + } + HEAP32[$5>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 24|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + HEAP32[$21>>2] = $20; + $22 = HEAP32[$5>>2]|0; + _sqlite3VtabUnlock($22); + STACKTOP = sp;return; +} +function _sqlite3_close_v2($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_sqlite3Close($2,1)|0); + STACKTOP = sp;return ($3|0); +} +function _sqlite3_create_function($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $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, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + HEAP32[$15>>2] = $7; + $16 = HEAP32[$8>>2]|0; + $17 = HEAP32[$9>>2]|0; + $18 = HEAP32[$10>>2]|0; + $19 = HEAP32[$11>>2]|0; + $20 = HEAP32[$12>>2]|0; + $21 = HEAP32[$13>>2]|0; + $22 = HEAP32[$14>>2]|0; + $23 = HEAP32[$15>>2]|0; + $24 = (_sqlite3_create_function_v2($16,$17,$18,$19,$20,$21,$22,$23,0)|0); + STACKTOP = sp;return ($24|0); +} +function _sqlite3_create_function_v2($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + $19 = sp; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + HEAP32[$12>>2] = $3; + HEAP32[$13>>2] = $4; + HEAP32[$14>>2] = $5; + HEAP32[$15>>2] = $6; + HEAP32[$16>>2] = $7; + HEAP32[$17>>2] = $8; + HEAP32[$18>>2] = 1; + HEAP32[$19>>2] = 0; + $20 = HEAP32[$9>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3_mutex_enter($22); + $23 = HEAP32[$17>>2]|0; + $24 = ($23|0)!=(0|0); + do { + if ($24) { + $25 = HEAP32[$9>>2]|0; + $26 = (_sqlite3DbMallocZero($25,12,0)|0); + HEAP32[$19>>2] = $26; + $27 = HEAP32[$19>>2]|0; + $28 = ($27|0)!=(0|0); + $29 = HEAP32[$17>>2]|0; + if ($28) { + $31 = HEAP32[$19>>2]|0; + $32 = ((($31)) + 4|0); + HEAP32[$32>>2] = $29; + $33 = HEAP32[$13>>2]|0; + $34 = HEAP32[$19>>2]|0; + $35 = ((($34)) + 8|0); + HEAP32[$35>>2] = $33; + label = 5; + break; + } else { + $30 = HEAP32[$13>>2]|0; + FUNCTION_TABLE_vi[$29 & 255]($30); + break; + } + } else { + label = 5; + } + } while(0); + if ((label|0) == 5) { + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$10>>2]|0; + $38 = HEAP32[$11>>2]|0; + $39 = HEAP32[$12>>2]|0; + $40 = HEAP32[$13>>2]|0; + $41 = HEAP32[$14>>2]|0; + $42 = HEAP32[$15>>2]|0; + $43 = HEAP32[$16>>2]|0; + $44 = HEAP32[$19>>2]|0; + $45 = (_sqlite3CreateFunc($36,$37,$38,$39,$40,$41,$42,$43,$44)|0); + HEAP32[$18>>2] = $45; + $46 = HEAP32[$19>>2]|0; + $47 = ($46|0)!=(0|0); + if ($47) { + $48 = HEAP32[$19>>2]|0; + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + $51 = HEAP32[$17>>2]|0; + $52 = HEAP32[$13>>2]|0; + FUNCTION_TABLE_vi[$51 & 255]($52); + $53 = HEAP32[$9>>2]|0; + $54 = HEAP32[$19>>2]|0; + _sqlite3DbFree($53,$54); + } + } + } + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$18>>2]|0; + $57 = (_sqlite3ApiExit($55,$56)|0); + HEAP32[$18>>2] = $57; + $58 = HEAP32[$9>>2]|0; + $59 = ((($58)) + 12|0); + $60 = HEAP32[$59>>2]|0; + _sqlite3_mutex_leave($60); + $61 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($61|0); +} +function _sqlite3_overload_function($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + _sqlite3_mutex_enter($9); + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = (_sqlite3FindFunction($10,$11,$12,1,0)|0); + $14 = ($13|0)==(0|0); + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = (_sqlite3CreateFunc($15,$16,$17,1,0,232,0,0,0)|0); + HEAP32[$6>>2] = $18; + } + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = (_sqlite3ApiExit($19,$20)|0); + HEAP32[$6>>2] = $21; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + _sqlite3_mutex_leave($24); + $25 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($25|0); +} +function _sqlite3InvalidFunction($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, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer>>2] = $13; + $14 = (_sqlite3_mprintf(42510,$vararg_buffer)|0); + HEAP32[$7>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$7>>2]|0; + _sqlite3_result_error($15,$16,-1); + $17 = HEAP32[$7>>2]|0; + _sqlite3_free($17); + STACKTOP = sp;return; +} +function _sqlite3_errcode($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + if ($4) { + $5 = HEAP32[$2>>2]|0; + $6 = (_sqlite3SafetyCheckSickOrOk($5)|0); + $7 = ($6|0)!=(0); + if (!($7)) { + $8 = (_sqlite3MisuseError(140115)|0); + HEAP32[$1>>2] = $8; + $23 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($23|0); + } + } + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 69|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)!=(0); + if (!($15)) { + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 52|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 56|0); + $21 = HEAP32[$20>>2]|0; + $22 = $18 & $21; + HEAP32[$1>>2] = $22; + $23 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($23|0); + } + } + HEAP32[$1>>2] = 7; + $23 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($23|0); +} +function _sqlite3_open($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_openDatabase($4,$5,6,0)|0); + STACKTOP = sp;return ($6|0); +} +function _openDatabase($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + $14 = HEAP32[$6>>2]|0; + HEAP32[$14>>2] = 0; + $15 = (_sqlite3_initialize()|0); + HEAP32[$10>>2] = $15; + $16 = HEAP32[$10>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + $18 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $18; + $270 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($270|0); + } + $19 = HEAP32[$7>>2]|0; + $20 = $19 & 7; + $21 = 1 << $20; + $22 = $21 & 70; + $23 = ($22|0)==(0); + if ($23) { + $24 = (_sqlite3MisuseError(140621)|0); + HEAP32[$4>>2] = $24; + $270 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($270|0); + } + $25 = HEAP32[(12)>>2]|0; + $26 = ($25|0)==(0); + do { + if ($26) { + HEAP32[$11>>2] = 0; + } else { + $27 = HEAP32[$7>>2]|0; + $28 = $27 & 32768; + $29 = ($28|0)!=(0); + if ($29) { + HEAP32[$11>>2] = 0; + break; + } + $30 = HEAP32[$7>>2]|0; + $31 = $30 & 65536; + $32 = ($31|0)!=(0); + if ($32) { + HEAP32[$11>>2] = 1; + break; + } else { + $33 = HEAP32[(16)>>2]|0; + HEAP32[$11>>2] = $33; + break; + } + } + } while(0); + $34 = HEAP32[$7>>2]|0; + $35 = $34 & 262144; + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$7>>2]|0; + $38 = $37 & -131073; + HEAP32[$7>>2] = $38; + } else { + $39 = HEAP32[(228)>>2]|0; + $40 = ($39|0)!=(0); + if ($40) { + $41 = HEAP32[$7>>2]|0; + $42 = $41 | 131072; + HEAP32[$7>>2] = $42; + } + } + $43 = HEAP32[$7>>2]|0; + $44 = $43 & -655129; + HEAP32[$7>>2] = $44; + $45 = (_sqlite3MallocZero(464,0)|0); + HEAP32[$9>>2] = $45; + $46 = HEAP32[$9>>2]|0; + $47 = ($46|0)==(0|0); + do { + if (!($47)) { + $48 = HEAP32[$11>>2]|0; + $49 = ($48|0)!=(0); + if ($49) { + $50 = (_sqlite3MutexAlloc(1)|0); + $51 = HEAP32[$9>>2]|0; + $52 = ((($51)) + 12|0); + HEAP32[$52>>2] = $50; + $53 = HEAP32[$9>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)==(0|0); + if ($56) { + $57 = HEAP32[$9>>2]|0; + _sqlite3_free($57); + HEAP32[$9>>2] = 0; + break; + } + } + $58 = HEAP32[$9>>2]|0; + $59 = ((($58)) + 12|0); + $60 = HEAP32[$59>>2]|0; + _sqlite3_mutex_enter($60); + $61 = HEAP32[$9>>2]|0; + $62 = ((($61)) + 56|0); + HEAP32[$62>>2] = 255; + $63 = HEAP32[$9>>2]|0; + $64 = ((($63)) + 20|0); + HEAP32[$64>>2] = 2; + $65 = HEAP32[$9>>2]|0; + $66 = ((($65)) + 84|0); + HEAP32[$66>>2] = -264537850; + $67 = HEAP32[$9>>2]|0; + $68 = ((($67)) + 392|0); + $69 = HEAP32[$9>>2]|0; + $70 = ((($69)) + 16|0); + HEAP32[$70>>2] = $68; + $71 = HEAP32[$9>>2]|0; + $72 = ((($71)) + 96|0); + dest=$72; src=5440; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $73 = HEAP32[$9>>2]|0; + $74 = ((($73)) + 96|0); + $75 = ((($74)) + 44|0); + HEAP32[$75>>2] = 0; + $76 = HEAP32[$9>>2]|0; + $77 = ((($76)) + 67|0); + HEAP8[$77>>0] = 1; + $78 = HEAP32[$9>>2]|0; + $79 = ((($78)) + 72|0); + HEAP8[$79>>0] = -1; + $80 = (184); + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (($80) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$9>>2]|0; + $87 = ((($86)) + 40|0); + $88 = $87; + $89 = $88; + HEAP32[$89>>2] = $82; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $85; + $92 = HEAP32[$9>>2]|0; + $93 = ((($92)) + 80|0); + HEAP32[$93>>2] = 0; + $94 = HEAP32[$9>>2]|0; + $95 = ((($94)) + 144|0); + HEAP32[$95>>2] = 2147483647; + $96 = HEAP32[$9>>2]|0; + $97 = ((($96)) + 24|0); + $98 = HEAP32[$97>>2]|0; + $99 = $98 | 17825888; + HEAP32[$97>>2] = $99; + $100 = HEAP32[$9>>2]|0; + $101 = ((($100)) + 364|0); + _sqlite3HashInit($101); + $102 = HEAP32[$9>>2]|0; + $103 = ((($102)) + 320|0); + _sqlite3HashInit($103); + $104 = HEAP32[$9>>2]|0; + (_createCollation($104,34455,1,0,147,0)|0); + $105 = HEAP32[$9>>2]|0; + (_createCollation($105,34455,3,0,147,0)|0); + $106 = HEAP32[$9>>2]|0; + (_createCollation($106,34455,2,0,147,0)|0); + $107 = HEAP32[$9>>2]|0; + (_createCollation($107,34448,1,0,148,0)|0); + $108 = HEAP32[$9>>2]|0; + (_createCollation($108,42561,1,(1),147,0)|0); + $109 = HEAP32[$9>>2]|0; + $110 = ((($109)) + 69|0); + $111 = HEAP8[$110>>0]|0; + $112 = ($111<<24>>24)!=(0); + if (!($112)) { + $113 = HEAP32[$9>>2]|0; + $114 = (_sqlite3FindCollSeq($113,1,34455,0)|0); + $115 = HEAP32[$9>>2]|0; + $116 = ((($115)) + 8|0); + HEAP32[$116>>2] = $114; + $117 = HEAP32[$7>>2]|0; + $118 = HEAP32[$9>>2]|0; + $119 = ((($118)) + 48|0); + HEAP32[$119>>2] = $117; + $120 = HEAP32[$8>>2]|0; + $121 = HEAP32[$5>>2]|0; + $122 = HEAP32[$9>>2]|0; + $123 = (_sqlite3ParseUri($120,$121,$7,$122,$12,$13)|0); + HEAP32[$10>>2] = $123; + $124 = HEAP32[$10>>2]|0; + $125 = ($124|0)!=(0); + if ($125) { + $126 = HEAP32[$10>>2]|0; + $127 = ($126|0)==(7); + if ($127) { + $128 = HEAP32[$9>>2]|0; + _sqlite3OomFault($128); + } + $129 = HEAP32[$9>>2]|0; + $130 = HEAP32[$10>>2]|0; + $131 = HEAP32[$13>>2]|0; + $132 = ($131|0)!=(0|0); + $133 = $132 ? 21240 : 0; + $134 = HEAP32[$13>>2]|0; + HEAP32[$vararg_buffer>>2] = $134; + _sqlite3ErrorWithMsg($129,$130,$133,$vararg_buffer); + $135 = HEAP32[$13>>2]|0; + _sqlite3_free($135); + break; + } + $136 = HEAP32[$9>>2]|0; + $137 = HEAP32[$136>>2]|0; + $138 = HEAP32[$12>>2]|0; + $139 = HEAP32[$9>>2]|0; + $140 = HEAP32[$9>>2]|0; + $141 = ((($140)) + 16|0); + $142 = HEAP32[$141>>2]|0; + $143 = ((($142)) + 4|0); + $144 = HEAP32[$7>>2]|0; + $145 = $144 | 256; + $146 = (_sqlite3BtreeOpen($137,$138,$139,$143,0,$145)|0); + HEAP32[$10>>2] = $146; + $147 = HEAP32[$10>>2]|0; + $148 = ($147|0)!=(0); + if ($148) { + $149 = HEAP32[$10>>2]|0; + $150 = ($149|0)==(3082); + if ($150) { + HEAP32[$10>>2] = 7; + } + $151 = HEAP32[$9>>2]|0; + $152 = HEAP32[$10>>2]|0; + _sqlite3Error($151,$152); + break; + } + $153 = HEAP32[$9>>2]|0; + $154 = ((($153)) + 16|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($155)) + 4|0); + $157 = HEAP32[$156>>2]|0; + _sqlite3BtreeEnter($157); + $158 = HEAP32[$9>>2]|0; + $159 = HEAP32[$9>>2]|0; + $160 = ((($159)) + 16|0); + $161 = HEAP32[$160>>2]|0; + $162 = ((($161)) + 4|0); + $163 = HEAP32[$162>>2]|0; + $164 = (_sqlite3SchemaGet($158,$163)|0); + $165 = HEAP32[$9>>2]|0; + $166 = ((($165)) + 16|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($167)) + 12|0); + HEAP32[$168>>2] = $164; + $169 = HEAP32[$9>>2]|0; + $170 = ((($169)) + 69|0); + $171 = HEAP8[$170>>0]|0; + $172 = ($171<<24>>24)!=(0); + if (!($172)) { + $173 = HEAP32[$9>>2]|0; + $174 = ((($173)) + 16|0); + $175 = HEAP32[$174>>2]|0; + $176 = ((($175)) + 12|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($177)) + 77|0); + $179 = HEAP8[$178>>0]|0; + $180 = HEAP32[$9>>2]|0; + $181 = ((($180)) + 66|0); + HEAP8[$181>>0] = $179; + } + $182 = HEAP32[$9>>2]|0; + $183 = ((($182)) + 16|0); + $184 = HEAP32[$183>>2]|0; + $185 = ((($184)) + 4|0); + $186 = HEAP32[$185>>2]|0; + _sqlite3BtreeLeave($186); + $187 = HEAP32[$9>>2]|0; + $188 = (_sqlite3SchemaGet($187,0)|0); + $189 = HEAP32[$9>>2]|0; + $190 = ((($189)) + 16|0); + $191 = HEAP32[$190>>2]|0; + $192 = ((($191)) + 16|0); + $193 = ((($192)) + 12|0); + HEAP32[$193>>2] = $188; + $194 = HEAP32[$9>>2]|0; + $195 = ((($194)) + 16|0); + $196 = HEAP32[$195>>2]|0; + HEAP32[$196>>2] = 42567; + $197 = HEAP32[$9>>2]|0; + $198 = ((($197)) + 16|0); + $199 = HEAP32[$198>>2]|0; + $200 = ((($199)) + 8|0); + HEAP8[$200>>0] = 3; + $201 = HEAP32[$9>>2]|0; + $202 = ((($201)) + 16|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($203)) + 16|0); + HEAP32[$204>>2] = 42437; + $205 = HEAP32[$9>>2]|0; + $206 = ((($205)) + 16|0); + $207 = HEAP32[$206>>2]|0; + $208 = ((($207)) + 16|0); + $209 = ((($208)) + 8|0); + HEAP8[$209>>0] = 1; + $210 = HEAP32[$9>>2]|0; + $211 = ((($210)) + 84|0); + HEAP32[$211>>2] = -1607883113; + $212 = HEAP32[$9>>2]|0; + $213 = ((($212)) + 69|0); + $214 = HEAP8[$213>>0]|0; + $215 = ($214<<24>>24)!=(0); + if (!($215)) { + $216 = HEAP32[$9>>2]|0; + _sqlite3Error($216,0); + $217 = HEAP32[$9>>2]|0; + _sqlite3RegisterPerConnectionBuiltinFunctions($217); + $218 = HEAP32[$9>>2]|0; + $219 = (_sqlite3_errcode($218)|0); + HEAP32[$10>>2] = $219; + $220 = HEAP32[$9>>2]|0; + $221 = ((($220)) + 69|0); + $222 = HEAP8[$221>>0]|0; + $223 = ($222<<24>>24)==(0); + $224 = HEAP32[$10>>2]|0; + $225 = ($224|0)==(0); + $or$cond = $223 & $225; + if ($or$cond) { + $226 = HEAP32[$9>>2]|0; + $227 = (_sqlite3Fts5Init($226)|0); + HEAP32[$10>>2] = $227; + } + $228 = HEAP32[$10>>2]|0; + $229 = ($228|0)==(0); + if ($229) { + $230 = HEAP32[$9>>2]|0; + _sqlite3AutoLoadExtensions($230); + $231 = HEAP32[$9>>2]|0; + $232 = (_sqlite3_errcode($231)|0); + HEAP32[$10>>2] = $232; + $233 = HEAP32[$10>>2]|0; + $234 = ($233|0)!=(0); + if ($234) { + break; + } + } + $235 = HEAP32[$9>>2]|0; + $236 = ((($235)) + 69|0); + $237 = HEAP8[$236>>0]|0; + $238 = ($237<<24>>24)==(0); + $239 = HEAP32[$10>>2]|0; + $240 = ($239|0)==(0); + $or$cond3 = $238 & $240; + if ($or$cond3) { + $241 = HEAP32[$9>>2]|0; + $242 = (_sqlite3Fts3Init($241)|0); + HEAP32[$10>>2] = $242; + } + $243 = HEAP32[$10>>2]|0; + $244 = ($243|0)!=(0); + if ($244) { + $245 = HEAP32[$9>>2]|0; + $246 = HEAP32[$10>>2]|0; + _sqlite3Error($245,$246); + } + $247 = HEAP32[$9>>2]|0; + $248 = HEAP32[(36)>>2]|0; + $249 = HEAP32[(40)>>2]|0; + (_setupLookaside($247,0,$248,$249)|0); + $250 = HEAP32[$9>>2]|0; + (_sqlite3_wal_autocheckpoint($250,1000)|0); + } + } + } + } while(0); + $251 = HEAP32[$9>>2]|0; + $252 = ($251|0)!=(0|0); + if ($252) { + $253 = HEAP32[$9>>2]|0; + $254 = ((($253)) + 12|0); + $255 = HEAP32[$254>>2]|0; + _sqlite3_mutex_leave($255); + } + $256 = HEAP32[$9>>2]|0; + $257 = (_sqlite3_errcode($256)|0); + HEAP32[$10>>2] = $257; + $258 = HEAP32[$10>>2]|0; + $259 = ($258|0)==(7); + if ($259) { + $260 = HEAP32[$9>>2]|0; + (_sqlite3_close($260)|0); + HEAP32[$9>>2] = 0; + } else { + $261 = HEAP32[$10>>2]|0; + $262 = ($261|0)!=(0); + if ($262) { + $263 = HEAP32[$9>>2]|0; + $264 = ((($263)) + 84|0); + HEAP32[$264>>2] = 1266094736; + } + } + $265 = HEAP32[$9>>2]|0; + $266 = HEAP32[$6>>2]|0; + HEAP32[$266>>2] = $265; + $267 = HEAP32[$12>>2]|0; + _sqlite3_free($267); + $268 = HEAP32[$10>>2]|0; + $269 = $268 & 255; + HEAP32[$4>>2] = $269; + $270 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($270|0); +} +function _binCollFunc($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$8>>2]|0; + $14 = ($12|0)<($13|0); + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$8>>2]|0; + $17 = $14 ? $15 : $16; + HEAP32[$11>>2] = $17; + $18 = HEAP32[$7>>2]|0; + $19 = HEAP32[$9>>2]|0; + $20 = HEAP32[$11>>2]|0; + $21 = (_memcmp($18,$19,$20)|0); + HEAP32[$10>>2] = $21; + $22 = HEAP32[$10>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + $45 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($45|0); + } + $24 = HEAP32[$5>>2]|0; + $25 = ($24|0)!=(0|0); + if ($25) { + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$11>>2]|0; + $28 = (($26) + ($27)|0); + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$11>>2]|0; + $31 = (($29) - ($30))|0; + $32 = (_allSpaces($28,$31)|0); + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$9>>2]|0; + $35 = HEAP32[$11>>2]|0; + $36 = (($34) + ($35)|0); + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[$11>>2]|0; + $39 = (($37) - ($38))|0; + $40 = (_allSpaces($36,$39)|0); + $41 = ($40|0)!=(0); + if ($41) { + $45 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($45|0); + } + } + } + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$8>>2]|0; + $44 = (($42) - ($43))|0; + HEAP32[$10>>2] = $44; + $45 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($45|0); +} +function _createCollation($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 48|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP8[$9>>0] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $18 = HEAP8[$9>>0]|0; + $19 = $18&255; + HEAP32[$14>>2] = $19; + $20 = HEAP32[$14>>2]|0; + $21 = ($20|0)==(4); + $22 = HEAP32[$14>>2]|0; + $23 = ($22|0)==(8); + $or$cond = $21 | $23; + if ($or$cond) { + $24 = HEAP8[936]|0; + $25 = $24 << 24 >> 24; + $26 = ($25|0)==(0); + $27 = $26 ? 3 : 2; + HEAP32[$14>>2] = $27; + } + $28 = HEAP32[$14>>2]|0; + $29 = ($28|0)<(1); + $30 = HEAP32[$14>>2]|0; + $31 = ($30|0)>(3); + $or$cond3 = $29 | $31; + if ($or$cond3) { + $32 = (_sqlite3MisuseError(140172)|0); + HEAP32[$6>>2] = $32; + $113 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($113|0); + } + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$14>>2]|0; + $35 = $34&255; + $36 = HEAP32[$8>>2]|0; + $37 = (_sqlite3FindCollSeq($33,$35,$36,0)|0); + HEAP32[$13>>2] = $37; + $38 = HEAP32[$13>>2]|0; + $39 = ($38|0)!=(0|0); + L8: do { + if ($39) { + $40 = HEAP32[$13>>2]|0; + $41 = ((($40)) + 12|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + $44 = HEAP32[$7>>2]|0; + $45 = ((($44)) + 156|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)!=(0); + $48 = HEAP32[$7>>2]|0; + if ($47) { + _sqlite3ErrorWithMsg($48,5,52503,$vararg_buffer); + HEAP32[$6>>2] = 5; + $113 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($113|0); + } + _sqlite3ExpirePreparedStatements($48); + $49 = HEAP32[$13>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = $52 & -9; + $54 = HEAP32[$14>>2]|0; + $55 = ($53|0)==($54|0); + if ($55) { + $56 = HEAP32[$7>>2]|0; + $57 = ((($56)) + 364|0); + $58 = HEAP32[$8>>2]|0; + $59 = (_sqlite3HashFind($57,$58)|0); + HEAP32[$15>>2] = $59; + HEAP32[$16>>2] = 0; + while(1) { + $60 = HEAP32[$16>>2]|0; + $61 = ($60|0)<(3); + if (!($61)) { + break L8; + } + $62 = HEAP32[$15>>2]|0; + $63 = HEAP32[$16>>2]|0; + $64 = (($62) + (($63*20)|0)|0); + HEAP32[$17>>2] = $64; + $65 = HEAP32[$17>>2]|0; + $66 = ((($65)) + 4|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = HEAP32[$13>>2]|0; + $70 = ((($69)) + 4|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = ($68|0)==($72|0); + if ($73) { + $74 = HEAP32[$17>>2]|0; + $75 = ((($74)) + 16|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)!=(0|0); + if ($77) { + $78 = HEAP32[$17>>2]|0; + $79 = ((($78)) + 16|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$17>>2]|0; + $82 = ((($81)) + 8|0); + $83 = HEAP32[$82>>2]|0; + FUNCTION_TABLE_vi[$80 & 255]($83); + } + $84 = HEAP32[$17>>2]|0; + $85 = ((($84)) + 12|0); + HEAP32[$85>>2] = 0; + } + $86 = HEAP32[$16>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$16>>2] = $87; + } + } + } + } + } while(0); + $88 = HEAP32[$7>>2]|0; + $89 = HEAP32[$14>>2]|0; + $90 = $89&255; + $91 = HEAP32[$8>>2]|0; + $92 = (_sqlite3FindCollSeq($88,$90,$91,1)|0); + HEAP32[$13>>2] = $92; + $93 = HEAP32[$13>>2]|0; + $94 = ($93|0)==(0|0); + if ($94) { + HEAP32[$6>>2] = 7; + $113 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($113|0); + } else { + $95 = HEAP32[$11>>2]|0; + $96 = HEAP32[$13>>2]|0; + $97 = ((($96)) + 12|0); + HEAP32[$97>>2] = $95; + $98 = HEAP32[$10>>2]|0; + $99 = HEAP32[$13>>2]|0; + $100 = ((($99)) + 8|0); + HEAP32[$100>>2] = $98; + $101 = HEAP32[$12>>2]|0; + $102 = HEAP32[$13>>2]|0; + $103 = ((($102)) + 16|0); + HEAP32[$103>>2] = $101; + $104 = HEAP32[$14>>2]|0; + $105 = HEAP8[$9>>0]|0; + $106 = $105&255; + $107 = $106 & 8; + $108 = $104 | $107; + $109 = $108&255; + $110 = HEAP32[$13>>2]|0; + $111 = ((($110)) + 4|0); + HEAP8[$111>>0] = $109; + $112 = HEAP32[$7>>2]|0; + _sqlite3Error($112,0); + HEAP32[$6>>2] = 0; + $113 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($113|0); + } + return (0)|0; +} +function _nocaseCollatingFunc($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $11 = HEAP32[$7>>2]|0; + $12 = HEAP32[$9>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = ($13|0)<($14|0); + $16 = HEAP32[$6>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = $15 ? $16 : $17; + $19 = (_sqlite3_strnicmp($11,$12,$18)|0); + HEAP32[$10>>2] = $19; + $20 = HEAP32[$10>>2]|0; + $21 = (0)==($20|0); + if (!($21)) { + $25 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($25|0); + } + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$8>>2]|0; + $24 = (($22) - ($23))|0; + HEAP32[$10>>2] = $24; + $25 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($25|0); +} +function _sqlite3RegisterPerConnectionBuiltinFunctions($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_overload_function($3,52497,2)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(7); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = HEAP32[$1>>2]|0; + _sqlite3OomFault($7); + STACKTOP = sp;return; +} +function _sqlite3Fts5Init($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_fts5Init($2)|0); + STACKTOP = sp;return ($3|0); +} +function _sqlite3AutoLoadExtensions($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, $4 = 0, $5 = 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; + $1 = sp + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 1; + $9 = HEAP32[13792]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + HEAP32[$2>>2] = 0; + while(1) { + $11 = HEAP32[$3>>2]|0; + $12 = ($11|0)!=(0); + if (!($12)) { + break; + } + $13 = (_sqlite3MutexAlloc(2)|0); + HEAP32[$7>>2] = $13; + HEAP32[$8>>2] = 0; + $14 = HEAP32[$7>>2]|0; + _sqlite3_mutex_enter($14); + $15 = HEAP32[$2>>2]|0; + $16 = HEAP32[13792]|0; + $17 = ($15>>>0)>=($16>>>0); + if ($17) { + HEAP32[$5>>2] = 0; + HEAP32[$3>>2] = 0; + } else { + $18 = HEAP32[(55172)>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = (($18) + ($19<<2)|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$5>>2] = $21; + } + $22 = HEAP32[$7>>2]|0; + _sqlite3_mutex_leave($22); + HEAP32[$6>>2] = 0; + $23 = HEAP32[$5>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$1>>2]|0; + $27 = HEAP32[$8>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$25 & 255]($26,$6,$27)|0); + HEAP32[$4>>2] = $28; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$1>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer>>2] = $32; + _sqlite3ErrorWithMsg($30,$31,47691,$vararg_buffer); + HEAP32[$3>>2] = 0; + } + } + $33 = HEAP32[$6>>2]|0; + _sqlite3_free($33); + $34 = HEAP32[$2>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$2>>2] = $35; + } + STACKTOP = sp;return; +} +function _sqlite3Fts3Init($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + _sqlite3Fts3UnicodeTokenizer($7); + $8 = HEAP32[$2>>2]|0; + $9 = (_sqlite3Fts3InitAux($8)|0); + HEAP32[$3>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $12; + $71 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($71|0); + } + _sqlite3Fts3SimpleTokenizerModule($5); + _sqlite3Fts3PorterTokenizerModule($6); + $13 = (_sqlite3_malloc(20)|0); + HEAP32[$4>>2] = $13; + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$4>>2]|0; + _sqlite3Fts3HashInit($16,1,1); + } else { + HEAP32[$3>>2] = 7; + } + $17 = HEAP32[$3>>2]|0; + $18 = ($17|0)==(0); + do { + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = (_sqlite3Fts3HashInsert($19,42572,7,$20)|0); + $22 = ($21|0)!=(0|0); + if (!($22)) { + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = (_sqlite3Fts3HashInsert($23,42579,7,$24)|0); + $26 = ($25|0)!=(0|0); + if (!($26)) { + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$7>>2]|0; + $29 = (_sqlite3Fts3HashInsert($27,42586,10,$28)|0); + $30 = ($29|0)!=(0|0); + if (!($30)) { + break; + } + } + } + HEAP32[$3>>2] = 7; + } + } while(0); + $31 = HEAP32[$3>>2]|0; + $32 = (0)==($31|0); + if ($32) { + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = (_sqlite3Fts3InitHashTable($33,$34,42596)|0); + HEAP32[$3>>2] = $35; + $36 = (0)==($35|0); + if ($36) { + $37 = HEAP32[$2>>2]|0; + $38 = (_sqlite3_overload_function($37,42611,-1)|0); + HEAP32[$3>>2] = $38; + $39 = (0)==($38|0); + if ($39) { + $40 = HEAP32[$2>>2]|0; + $41 = (_sqlite3_overload_function($40,42619,1)|0); + HEAP32[$3>>2] = $41; + $42 = (0)==($41|0); + if ($42) { + $43 = HEAP32[$2>>2]|0; + $44 = (_sqlite3_overload_function($43,42627,1)|0); + HEAP32[$3>>2] = $44; + $45 = (0)==($44|0); + if ($45) { + $46 = HEAP32[$2>>2]|0; + $47 = (_sqlite3_overload_function($46,42627,2)|0); + HEAP32[$3>>2] = $47; + $48 = (0)==($47|0); + if ($48) { + $49 = HEAP32[$2>>2]|0; + $50 = (_sqlite3_overload_function($49,42637,1)|0); + HEAP32[$3>>2] = $50; + $51 = (0)==($50|0); + if ($51) { + $52 = HEAP32[$2>>2]|0; + $53 = HEAP32[$4>>2]|0; + $54 = (_sqlite3_create_module_v2($52,42646,6292,$53,161)|0); + HEAP32[$3>>2] = $54; + $55 = HEAP32[$3>>2]|0; + $56 = ($55|0)==(0); + if ($56) { + $57 = HEAP32[$2>>2]|0; + $58 = HEAP32[$4>>2]|0; + $59 = (_sqlite3_create_module_v2($57,42651,6292,$58,0)|0); + HEAP32[$3>>2] = $59; + } + $60 = HEAP32[$3>>2]|0; + $61 = ($60|0)==(0); + if ($61) { + $62 = HEAP32[$2>>2]|0; + $63 = HEAP32[$4>>2]|0; + $64 = (_sqlite3Fts3InitTok($62,$63)|0); + HEAP32[$3>>2] = $64; + } + $65 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $65; + $71 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($71|0); + } + } + } + } + } + } + } + $66 = HEAP32[$4>>2]|0; + $67 = ($66|0)!=(0|0); + if ($67) { + $68 = HEAP32[$4>>2]|0; + _sqlite3Fts3HashClear($68); + $69 = HEAP32[$4>>2]|0; + _sqlite3_free($69); + } + $70 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $70; + $71 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($71|0); +} +function _sqlite3Fts3UnicodeTokenizer($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = 6912; + STACKTOP = sp;return; +} +function _sqlite3Fts3InitAux($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_create_module($3,47509,6820,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _sqlite3Fts3SimpleTokenizerModule($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = 6792; + STACKTOP = sp;return; +} +function _sqlite3Fts3PorterTokenizerModule($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = 6764; + STACKTOP = sp;return; +} +function _sqlite3Fts3HashInit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp; + $4 = sp + 5|0; + $5 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + HEAP8[$5>>0] = $2; + $6 = HEAP8[$4>>0]|0; + $7 = HEAP32[$3>>2]|0; + HEAP8[$7>>0] = $6; + $8 = HEAP8[$5>>0]|0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 1|0); + HEAP8[$10>>0] = $8; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 4|0); + HEAP32[$14>>2] = 0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 12|0); + HEAP32[$16>>2] = 0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 16|0); + HEAP32[$18>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3Fts3HashInsert($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; + $18 = (_ftsHashFunction($17)|0); + HEAP32[$13>>2] = $18; + $19 = HEAP32[$13>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$7>>2]|0; + $22 = (FUNCTION_TABLE_iii[$19 & 255]($20,$21)|0); + HEAP32[$9>>2] = $22; + $23 = HEAP32[$9>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($26) - 1)|0; + $28 = $23 & $27; + HEAP32[$10>>2] = $28; + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$10>>2]|0; + $33 = (_fts3FindElementByHash($29,$30,$31,$32)|0); + HEAP32[$11>>2] = $33; + $34 = HEAP32[$11>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = HEAP32[$11>>2]|0; + $37 = ((($36)) + 8|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$14>>2] = $38; + $39 = HEAP32[$8>>2]|0; + $40 = ($39|0)==(0|0); + if ($40) { + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$11>>2]|0; + $43 = HEAP32[$10>>2]|0; + _fts3RemoveElementByHash($41,$42,$43); + } else { + $44 = HEAP32[$8>>2]|0; + $45 = HEAP32[$11>>2]|0; + $46 = ((($45)) + 8|0); + HEAP32[$46>>2] = $44; + } + $47 = HEAP32[$14>>2]|0; + HEAP32[$4>>2] = $47; + $125 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($125|0); + } + $48 = HEAP32[$8>>2]|0; + $49 = ($48|0)==(0|0); + if ($49) { + HEAP32[$4>>2] = 0; + $125 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($125|0); + } + $50 = HEAP32[$5>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)==(0); + if ($53) { + $54 = HEAP32[$5>>2]|0; + $55 = (_fts3Rehash($54,8)|0); + $56 = ($55|0)!=(0); + if (!($56)) { + label = 10; + } + } else { + label = 10; + } + do { + if ((label|0) == 10) { + $57 = HEAP32[$5>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$5>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($59|0)>=($62|0); + if ($63) { + $64 = HEAP32[$5>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = ((($65)) + 12|0); + $67 = HEAP32[$66>>2]|0; + $68 = $67<<1; + $69 = (_fts3Rehash($64,$68)|0); + $70 = ($69|0)!=(0); + if ($70) { + break; + } + } + $74 = (_fts3HashMalloc(20)|0); + HEAP32[$12>>2] = $74; + $75 = HEAP32[$12>>2]|0; + $76 = ($75|0)==(0|0); + if ($76) { + $77 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $77; + $125 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($125|0); + } + $78 = HEAP32[$5>>2]|0; + $79 = ((($78)) + 1|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80 << 24 >> 24; + $82 = ($81|0)!=(0); + $83 = HEAP32[$6>>2]|0; + $84 = ($83|0)!=(0|0); + $or$cond = $82 & $84; + do { + if ($or$cond) { + $85 = HEAP32[$7>>2]|0; + $86 = (_fts3HashMalloc($85)|0); + $87 = HEAP32[$12>>2]|0; + $88 = ((($87)) + 12|0); + HEAP32[$88>>2] = $86; + $89 = HEAP32[$12>>2]|0; + $90 = ((($89)) + 12|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)==(0|0); + $93 = HEAP32[$12>>2]|0; + if (!($92)) { + $95 = ((($93)) + 12|0); + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$6>>2]|0; + $98 = HEAP32[$7>>2]|0; + _memcpy(($96|0),($97|0),($98|0))|0; + break; + } + _fts3HashFree($93); + $94 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $94; + $125 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($125|0); + } else { + $99 = HEAP32[$6>>2]|0; + $100 = HEAP32[$12>>2]|0; + $101 = ((($100)) + 12|0); + HEAP32[$101>>2] = $99; + } + } while(0); + $102 = HEAP32[$7>>2]|0; + $103 = HEAP32[$12>>2]|0; + $104 = ((($103)) + 16|0); + HEAP32[$104>>2] = $102; + $105 = HEAP32[$5>>2]|0; + $106 = ((($105)) + 4|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + 1)|0; + HEAP32[$106>>2] = $108; + $109 = HEAP32[$9>>2]|0; + $110 = HEAP32[$5>>2]|0; + $111 = ((($110)) + 12|0); + $112 = HEAP32[$111>>2]|0; + $113 = (($112) - 1)|0; + $114 = $109 & $113; + HEAP32[$10>>2] = $114; + $115 = HEAP32[$5>>2]|0; + $116 = HEAP32[$5>>2]|0; + $117 = ((($116)) + 16|0); + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$10>>2]|0; + $120 = (($118) + ($119<<3)|0); + $121 = HEAP32[$12>>2]|0; + _fts3HashInsertElement($115,$120,$121); + $122 = HEAP32[$8>>2]|0; + $123 = HEAP32[$12>>2]|0; + $124 = ((($123)) + 8|0); + HEAP32[$124>>2] = $122; + HEAP32[$4>>2] = 0; + $125 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($125|0); + } + } while(0); + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + 4|0); + HEAP32[$72>>2] = 0; + $73 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $73; + $125 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($125|0); +} +function _sqlite3Fts3InitHashTable($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $9 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $9; + HEAP32[$8>>2] = 5; + $10 = HEAP32[$6>>2]|0; + $11 = (0)==($10|0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = (_sqlite3_create_function($12,$13,1,5,$14,233,0,0)|0); + HEAP32[$6>>2] = $15; + } + $16 = HEAP32[$6>>2]|0; + $17 = (0)==($16|0); + if (!($17)) { + $22 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($22|0); + } + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = (_sqlite3_create_function($18,$19,2,5,$20,233,0,0)|0); + HEAP32[$6>>2] = $21; + $22 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($22|0); +} +function _hashDestroy($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + _sqlite3Fts3HashClear($4); + $5 = HEAP32[$2>>2]|0; + _sqlite3_free($5); + STACKTOP = sp;return; +} +function _sqlite3Fts3InitTok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_sqlite3_create_module($5,42656,6384,$6)|0); + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($8|0); +} +function _sqlite3Fts3HashClear($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 8|0); + HEAP32[$8>>2] = 0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + _fts3HashFree($11); + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 16|0); + HEAP32[$13>>2] = 0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 12|0); + HEAP32[$15>>2] = 0; + while(1) { + $16 = HEAP32[$2>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + break; + } + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$3>>2] = $19; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + _fts3HashFree($31); + } + } + $32 = HEAP32[$2>>2]|0; + _fts3HashFree($32); + $33 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $33; + } + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 4|0); + HEAP32[$35>>2] = 0; + STACKTOP = sp;return; +} +function _fts3HashFree($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3_free($2); + STACKTOP = sp;return; +} +function _fts3tokConnectMethod($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + $14 = sp + 24|0; + $15 = sp + 20|0; + $16 = sp + 16|0; + $17 = sp + 12|0; + $18 = sp + 8|0; + $19 = sp + 4|0; + $20 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$17>>2] = 0; + $21 = HEAP32[$7>>2]|0; + $22 = (_sqlite3_declare_vtab($21,42669)|0); + HEAP32[$16>>2] = $22; + $23 = HEAP32[$16>>2]|0; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $25; + $80 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($80|0); + } + $26 = HEAP32[$9>>2]|0; + $27 = (($26) - 3)|0; + HEAP32[$18>>2] = $27; + $28 = HEAP32[$18>>2]|0; + $29 = HEAP32[$10>>2]|0; + $30 = ((($29)) + 12|0); + $31 = (_fts3tokDequoteArray($28,$30,$17)|0); + HEAP32[$16>>2] = $31; + $32 = HEAP32[$16>>2]|0; + $33 = ($32|0)==(0); + if ($33) { + $34 = HEAP32[$18>>2]|0; + $35 = ($34|0)<(1); + if ($35) { + HEAP32[$19>>2] = 42572; + } else { + $36 = HEAP32[$17>>2]|0; + $37 = HEAP32[$36>>2]|0; + HEAP32[$19>>2] = $37; + } + $38 = HEAP32[$8>>2]|0; + $39 = HEAP32[$19>>2]|0; + $40 = HEAP32[$12>>2]|0; + $41 = (_fts3tokQueryTokenizer($38,$39,$14,$40)|0); + HEAP32[$16>>2] = $41; + } + $42 = HEAP32[$16>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + $44 = HEAP32[$17>>2]|0; + $45 = ((($44)) + 4|0); + HEAP32[$20>>2] = $45; + $46 = HEAP32[$14>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$18>>2]|0; + $50 = ($49|0)>(1); + $51 = HEAP32[$18>>2]|0; + $52 = (($51) - 1)|0; + $53 = $50 ? $52 : 0; + $54 = HEAP32[$20>>2]|0; + $55 = (FUNCTION_TABLE_iiii[$48 & 255]($53,$54,$15)|0); + HEAP32[$16>>2] = $55; + } + $56 = HEAP32[$16>>2]|0; + $57 = ($56|0)==(0); + if ($57) { + $58 = (_sqlite3_malloc(20)|0); + HEAP32[$13>>2] = $58; + $59 = HEAP32[$13>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + HEAP32[$16>>2] = 7; + } + } + $61 = HEAP32[$16>>2]|0; + $62 = ($61|0)==(0); + if ($62) { + $63 = HEAP32[$13>>2]|0; + ;HEAP32[$63>>2]=0|0;HEAP32[$63+4>>2]=0|0;HEAP32[$63+8>>2]=0|0;HEAP32[$63+12>>2]=0|0;HEAP32[$63+16>>2]=0|0; + $64 = HEAP32[$14>>2]|0; + $65 = HEAP32[$13>>2]|0; + $66 = ((($65)) + 12|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$15>>2]|0; + $68 = HEAP32[$13>>2]|0; + $69 = ((($68)) + 16|0); + HEAP32[$69>>2] = $67; + $70 = HEAP32[$13>>2]|0; + $71 = HEAP32[$11>>2]|0; + HEAP32[$71>>2] = $70; + } else { + $72 = HEAP32[$15>>2]|0; + $73 = ($72|0)!=(0|0); + if ($73) { + $74 = HEAP32[$14>>2]|0; + $75 = ((($74)) + 8|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_ii[$76 & 255]($77)|0); + } + } + $78 = HEAP32[$17>>2]|0; + _sqlite3_free($78); + $79 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $79; + $80 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($80|0); +} +function _fts3tokBestIndexMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + while(1) { + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($6|0)<($8|0); + $10 = HEAP32[$4>>2]|0; + if (!($9)) { + label = 8; + break; + } + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (($12) + (($13*12)|0)|0); + $15 = ((($14)) + 5|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = (($21) + (($22*12)|0)|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = (($28) + (($29*12)|0)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = ($33|0)==(2); + if ($34) { + label = 6; + break; + } + } + } + $50 = HEAP32[$5>>2]|0; + $51 = (($50) + 1)|0; + HEAP32[$5>>2] = $51; + } + if ((label|0) == 6) { + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 20|0); + HEAP32[$36>>2] = 1; + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 16|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$5>>2]|0; + $41 = (($39) + ($40<<3)|0); + HEAP32[$41>>2] = 1; + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 16|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$5>>2]|0; + $46 = (($44) + ($45<<3)|0); + $47 = ((($46)) + 4|0); + HEAP8[$47>>0] = 1; + $48 = HEAP32[$4>>2]|0; + $49 = ((($48)) + 40|0); + HEAPF64[$49>>3] = 1.0; + HEAP32[$2>>2] = 0; + $53 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($53|0); + } + else if ((label|0) == 8) { + $52 = ((($10)) + 20|0); + HEAP32[$52>>2] = 0; + HEAP32[$2>>2] = 0; + $53 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($53|0); + } + return (0)|0; +} +function _fts3tokDisconnectMethod($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + (FUNCTION_TABLE_ii[$8 & 255]($11)|0); + $12 = HEAP32[$2>>2]|0; + _sqlite3_free($12); + STACKTOP = sp;return 0; +} +function _fts3tokOpenMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = (_sqlite3_malloc(36)|0); + HEAP32[$5>>2] = $6; + $7 = HEAP32[$5>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + HEAP32[$2>>2] = 7; + $12 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($12|0); + } else { + $9 = HEAP32[$5>>2]|0; + dest=$9; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$4>>2]|0; + HEAP32[$11>>2] = $10; + HEAP32[$2>>2] = 0; + $12 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($12|0); + } + return (0)|0; +} +function _fts3tokCloseMethod($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + _fts3tokResetCursor($4); + $5 = HEAP32[$2>>2]|0; + _sqlite3_free($5); + STACKTOP = sp;return 0; +} +function _fts3tokFilterMethod($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = 1; + $16 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$13>>2] = $18; + $19 = HEAP32[$12>>2]|0; + _fts3tokResetCursor($19); + $20 = HEAP32[$7>>2]|0; + $21 = ($20|0)==(1); + do { + if ($21) { + $22 = HEAP32[$10>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3_value_text($23)|0); + HEAP32[$14>>2] = $24; + $25 = HEAP32[$10>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3_value_bytes($26)|0); + HEAP32[$15>>2] = $27; + $28 = HEAP32[$15>>2]|0; + $29 = (($28) + 1)|0; + $30 = (_sqlite3_malloc($29)|0); + $31 = HEAP32[$12>>2]|0; + $32 = ((($31)) + 4|0); + HEAP32[$32>>2] = $30; + $33 = HEAP32[$12>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + if ($36) { + HEAP32[$11>>2] = 7; + break; + } + $37 = HEAP32[$12>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$14>>2]|0; + $41 = HEAP32[$15>>2]|0; + _memcpy(($39|0),($40|0),($41|0))|0; + $42 = HEAP32[$12>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$15>>2]|0; + $46 = (($44) + ($45)|0); + HEAP8[$46>>0] = 0; + $47 = HEAP32[$13>>2]|0; + $48 = ((($47)) + 12|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$13>>2]|0; + $53 = ((($52)) + 16|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$12>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$15>>2]|0; + $59 = HEAP32[$12>>2]|0; + $60 = ((($59)) + 8|0); + $61 = (FUNCTION_TABLE_iiiii[$51 & 255]($54,$57,$58,$60)|0); + HEAP32[$11>>2] = $61; + $62 = HEAP32[$11>>2]|0; + $63 = ($62|0)==(0); + if ($63) { + $64 = HEAP32[$13>>2]|0; + $65 = ((($64)) + 16|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$12>>2]|0; + $68 = ((($67)) + 8|0); + $69 = HEAP32[$68>>2]|0; + HEAP32[$69>>2] = $66; + } + } + } while(0); + $70 = HEAP32[$11>>2]|0; + $71 = ($70|0)!=(0); + if ($71) { + $72 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $72; + $75 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($75|0); + } else { + $73 = HEAP32[$6>>2]|0; + $74 = (_fts3tokNextMethod($73)|0); + HEAP32[$5>>2] = $74; + $75 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($75|0); + } + return (0)|0; +} +function _fts3tokNextMethod($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 24|0); + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 28|0); + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 32|0); + $30 = (FUNCTION_TABLE_iiiiiii[$16 & 255]($19,$21,$23,$25,$27,$29)|0); + HEAP32[$4>>2] = $30; + $31 = HEAP32[$4>>2]|0; + $32 = ($31|0)!=(0); + if (!($32)) { + $36 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($36|0); + } + $33 = HEAP32[$2>>2]|0; + _fts3tokResetCursor($33); + $34 = HEAP32[$4>>2]|0; + $35 = ($34|0)==(101); + if (!($35)) { + $36 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($36|0); + } + HEAP32[$4>>2] = 0; + $36 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($36|0); +} +function _fts3tokEofMethod($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 16|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0|0); + $8 = $7&1; + STACKTOP = sp;return ($8|0); +} +function _fts3tokColumnMethod($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + HEAP32[$6>>2] = $7; + $8 = HEAP32[$5>>2]|0; + switch ($8|0) { + case 0: { + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + _sqlite3_result_text($9,$12,-1,(-1)); + STACKTOP = sp;return 0; + break; + } + case 1: { + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3_result_text($13,$16,$19,(-1)); + STACKTOP = sp;return 0; + break; + } + case 2: { + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 24|0); + $23 = HEAP32[$22>>2]|0; + _sqlite3_result_int($20,$23); + STACKTOP = sp;return 0; + break; + } + case 3: { + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 28|0); + $27 = HEAP32[$26>>2]|0; + _sqlite3_result_int($24,$27); + STACKTOP = sp;return 0; + break; + } + default: { + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 32|0); + $31 = HEAP32[$30>>2]|0; + _sqlite3_result_int($28,$31); + STACKTOP = sp;return 0; + } + } + return (0)|0; +} +function _fts3tokRowidMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)<(0); + $10 = $9 << 31 >> 31; + $11 = HEAP32[$3>>2]|0; + $12 = $11; + $13 = $12; + HEAP32[$13>>2] = $8; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $10; + STACKTOP = sp;return 0; +} +function _fts3tokResetCursor($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if ($6) { + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_ii[$13 & 255]($16)|0); + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 8|0); + HEAP32[$18>>2] = 0; + } + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + _sqlite3_free($21); + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 4|0); + HEAP32[$23>>2] = 0; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 16|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 20|0); + HEAP32[$27>>2] = 0; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 24|0); + HEAP32[$29>>2] = 0; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 28|0); + HEAP32[$31>>2] = 0; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 32|0); + HEAP32[$33>>2] = 0; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 12|0); + HEAP32[$35>>2] = 0; + STACKTOP = sp;return; +} +function _fts3tokDequoteArray($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $12 = HEAP32[$3>>2]|0; + $13 = ($12|0)==(0); + if ($13) { + $14 = HEAP32[$5>>2]|0; + HEAP32[$14>>2] = 0; + $65 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($65|0); + } + HEAP32[$8>>2] = 0; + HEAP32[$7>>2] = 0; + while(1) { + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = ($15|0)<($16|0); + if (!($17)) { + break; + } + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = (($18) + ($19<<2)|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_strlen($21)|0); + $23 = (($22) + 1)|0; + $24 = HEAP32[$8>>2]|0; + $25 = (($24) + ($23))|0; + HEAP32[$8>>2] = $25; + $26 = HEAP32[$7>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$7>>2] = $27; + } + $28 = HEAP32[$3>>2]|0; + $29 = $28<<2; + $30 = HEAP32[$8>>2]|0; + $31 = (($29) + ($30))|0; + $32 = (_sqlite3_malloc($31)|0); + HEAP32[$9>>2] = $32; + $33 = HEAP32[$5>>2]|0; + HEAP32[$33>>2] = $32; + $34 = HEAP32[$9>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$6>>2] = 7; + $65 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($65|0); + } + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$3>>2]|0; + $38 = (($36) + ($37<<2)|0); + HEAP32[$10>>2] = $38; + HEAP32[$7>>2] = 0; + while(1) { + $39 = HEAP32[$7>>2]|0; + $40 = HEAP32[$3>>2]|0; + $41 = ($39|0)<($40|0); + if (!($41)) { + break; + } + $42 = HEAP32[$4>>2]|0; + $43 = HEAP32[$7>>2]|0; + $44 = (($42) + ($43<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_strlen($45)|0); + HEAP32[$11>>2] = $46; + $47 = HEAP32[$10>>2]|0; + $48 = HEAP32[$9>>2]|0; + $49 = HEAP32[$7>>2]|0; + $50 = (($48) + ($49<<2)|0); + HEAP32[$50>>2] = $47; + $51 = HEAP32[$10>>2]|0; + $52 = HEAP32[$4>>2]|0; + $53 = HEAP32[$7>>2]|0; + $54 = (($52) + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$11>>2]|0; + $57 = (($56) + 1)|0; + _memcpy(($51|0),($55|0),($57|0))|0; + $58 = HEAP32[$10>>2]|0; + _sqlite3Fts3Dequote($58); + $59 = HEAP32[$11>>2]|0; + $60 = (($59) + 1)|0; + $61 = HEAP32[$10>>2]|0; + $62 = (($61) + ($60)|0); + HEAP32[$10>>2] = $62; + $63 = HEAP32[$7>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$7>>2] = $64; + } + $65 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($65|0); +} +function _fts3tokQueryTokenizer($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $11 = HEAP32[$6>>2]|0; + $12 = (_strlen($11)|0); + HEAP32[$10>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$10>>2]|0; + $16 = (($15) + 1)|0; + $17 = (_sqlite3Fts3HashFind($13,$14,$16)|0); + HEAP32[$9>>2] = $17; + $18 = HEAP32[$9>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $22 = HEAP32[$9>>2]|0; + $23 = HEAP32[$7>>2]|0; + HEAP32[$23>>2] = $22; + HEAP32[$4>>2] = 0; + $24 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($24|0); + } else { + $20 = HEAP32[$8>>2]|0; + $21 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer>>2] = $21; + _sqlite3Fts3ErrMsg($20,42720,$vararg_buffer); + HEAP32[$4>>2] = 1; + $24 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($24|0); + } + return (0)|0; +} +function _sqlite3Fts3HashFind($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = (_sqlite3Fts3HashFindElem($7,$8,$9)|0); + HEAP32[$6>>2] = $10; + $11 = HEAP32[$6>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + $16 = 0; + STACKTOP = sp;return ($16|0); + } + $13 = HEAP32[$6>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = $15; + STACKTOP = sp;return ($16|0); +} +function _sqlite3Fts3ErrMsg($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + _sqlite3_free($6); + HEAP32[$4>>2] = $varargs; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3_vmprintf($7,$4)|0); + $9 = HEAP32[$2>>2]|0; + HEAP32[$9>>2] = $8; + STACKTOP = sp;return; +} +function _sqlite3Fts3HashFindElem($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)==(0|0); + if (!($10)) { + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0|0); + if (!($14)) { + $15 = HEAP32[$4>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; + $18 = (_ftsHashFunction($17)|0); + HEAP32[$8>>2] = $18; + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = (FUNCTION_TABLE_iii[$19 & 255]($20,$21)|0); + HEAP32[$7>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$6>>2]|0; + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($29) - 1)|0; + $31 = $26 & $30; + $32 = (_fts3FindElementByHash($23,$24,$25,$31)|0); + HEAP32[$3>>2] = $32; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); + } + } + HEAP32[$3>>2] = 0; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); +} +function _ftsHashFunction($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(1); + if ($4) { + HEAP32[$1>>2] = 213; + } else { + HEAP32[$1>>2] = 214; + } + $5 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _fts3FindElementByHash($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)!=(0|0); + L1: do { + if ($16) { + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$8>>2]|0; + $21 = (($19) + ($20<<3)|0); + HEAP32[$12>>2] = $21; + $22 = HEAP32[$12>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$9>>2] = $24; + $25 = HEAP32[$12>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$10>>2] = $26; + $27 = HEAP32[$5>>2]|0; + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = (_ftsCompareFunction($29)|0); + HEAP32[$11>>2] = $30; + while(1) { + $31 = HEAP32[$10>>2]|0; + $32 = (($31) + -1)|0; + HEAP32[$10>>2] = $32; + $33 = ($31|0)!=(0); + $34 = HEAP32[$9>>2]|0; + $35 = ($34|0)!=(0|0); + $36 = $33 ? $35 : 0; + if (!($36)) { + break L1; + } + $37 = HEAP32[$11>>2]|0; + $38 = HEAP32[$9>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$9>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = (FUNCTION_TABLE_iiiii[$37 & 255]($40,$43,$44,$45)|0); + $47 = ($46|0)==(0); + $48 = HEAP32[$9>>2]|0; + if ($47) { + break; + } + $49 = HEAP32[$48>>2]|0; + HEAP32[$9>>2] = $49; + } + HEAP32[$4>>2] = $48; + $50 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($50|0); + } + } while(0); + HEAP32[$4>>2] = 0; + $50 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($50|0); +} +function _ftsCompareFunction($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(1); + if ($4) { + HEAP32[$1>>2] = 150; + } else { + HEAP32[$1>>2] = 151; + } + $5 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _fts3StrCompare($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $9 = HEAP32[$6>>2]|0; + $10 = HEAP32[$8>>2]|0; + $11 = ($9|0)!=($10|0); + if ($11) { + HEAP32[$4>>2] = 1; + $16 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($16|0); + } else { + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = (_strncmp($12,$13,$14)|0); + HEAP32[$4>>2] = $15; + $16 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($16|0); + } + return (0)|0; +} +function _fts3BinCompare($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $9 = HEAP32[$6>>2]|0; + $10 = HEAP32[$8>>2]|0; + $11 = ($9|0)!=($10|0); + if ($11) { + HEAP32[$4>>2] = 1; + $16 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($16|0); + } else { + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = (_memcmp($12,$13,$14)|0); + HEAP32[$4>>2] = $15; + $16 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($16|0); + } + return (0)|0; +} +function _fts3StrHash($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $6; + HEAP32[$5>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = ($7|0)<=(0); + if ($8) { + $9 = HEAP32[$4>>2]|0; + $10 = (_strlen($9)|0); + HEAP32[$3>>2] = $10; + } + while(1) { + $11 = HEAP32[$3>>2]|0; + $12 = ($11|0)>(0); + $13 = HEAP32[$5>>2]|0; + if (!($12)) { + break; + } + $14 = $13 << 3; + $15 = HEAP32[$5>>2]|0; + $16 = $14 ^ $15; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 1|0); + HEAP32[$4>>2] = $18; + $19 = HEAP8[$17>>0]|0; + $20 = $19 << 24 >> 24; + $21 = $16 ^ $20; + HEAP32[$5>>2] = $21; + $22 = HEAP32[$3>>2]|0; + $23 = (($22) + -1)|0; + HEAP32[$3>>2] = $23; + } + $24 = $13 & 2147483647; + STACKTOP = sp;return ($24|0); +} +function _fts3BinHash($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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$2>>2]|0; + HEAP32[$5>>2] = $6; + while(1) { + $7 = HEAP32[$3>>2]|0; + $8 = (($7) + -1)|0; + HEAP32[$3>>2] = $8; + $9 = ($7|0)>(0); + $10 = HEAP32[$4>>2]|0; + if (!($9)) { + break; + } + $11 = $10 << 3; + $12 = HEAP32[$4>>2]|0; + $13 = $11 ^ $12; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 1|0); + HEAP32[$5>>2] = $15; + $16 = HEAP8[$14>>0]|0; + $17 = $16 << 24 >> 24; + $18 = $13 ^ $17; + HEAP32[$4>>2] = $18; + } + $19 = $10 & 2147483647; + STACKTOP = sp;return ($19|0); +} +function _sqlite3Fts3Dequote($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 12|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP8[$5>>0]|0; + HEAP8[$2>>0] = $6; + $7 = HEAP8[$2>>0]|0; + $8 = $7 << 24 >> 24; + $9 = ($8|0)==(91); + if (!($9)) { + $10 = HEAP8[$2>>0]|0; + $11 = $10 << 24 >> 24; + $12 = ($11|0)==(39); + if (!($12)) { + $13 = HEAP8[$2>>0]|0; + $14 = $13 << 24 >> 24; + $15 = ($14|0)==(34); + if (!($15)) { + $16 = HEAP8[$2>>0]|0; + $17 = $16 << 24 >> 24; + $18 = ($17|0)==(96); + if (!($18)) { + STACKTOP = sp;return; + } + } + } + } + HEAP32[$3>>2] = 1; + HEAP32[$4>>2] = 0; + $19 = HEAP8[$2>>0]|0; + $20 = $19 << 24 >> 24; + $21 = ($20|0)==(91); + if ($21) { + HEAP8[$2>>0] = 93; + } + while(1) { + $22 = HEAP32[$1>>2]|0; + $23 = HEAP32[$3>>2]|0; + $24 = (($22) + ($23)|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)!=(0); + if (!($26)) { + break; + } + $27 = HEAP32[$1>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = (($27) + ($28)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30 << 24 >> 24; + $32 = HEAP8[$2>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($31|0)==($33|0); + $35 = HEAP32[$1>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = (($36) + 1)|0; + if (!($34)) { + HEAP32[$3>>2] = $37; + $51 = (($35) + ($36)|0); + $52 = HEAP8[$51>>0]|0; + $53 = HEAP32[$1>>2]|0; + $54 = HEAP32[$4>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$4>>2] = $55; + $56 = (($53) + ($54)|0); + HEAP8[$56>>0] = $52; + continue; + } + $38 = (($35) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39 << 24 >> 24; + $41 = HEAP8[$2>>0]|0; + $42 = $41 << 24 >> 24; + $43 = ($40|0)!=($42|0); + if ($43) { + break; + } + $44 = HEAP8[$2>>0]|0; + $45 = HEAP32[$1>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$4>>2] = $47; + $48 = (($45) + ($46)|0); + HEAP8[$48>>0] = $44; + $49 = HEAP32[$3>>2]|0; + $50 = (($49) + 2)|0; + HEAP32[$3>>2] = $50; + } + $57 = HEAP32[$1>>2]|0; + $58 = HEAP32[$4>>2]|0; + $59 = (($57) + ($58)|0); + HEAP8[$59>>0] = 0; + STACKTOP = sp;return; +} +function _fts3CreateMethod($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$9>>2]|0; + $16 = HEAP32[$10>>2]|0; + $17 = HEAP32[$11>>2]|0; + $18 = (_fts3InitVtab(1,$12,$13,$14,$15,$16,$17)|0); + STACKTOP = sp;return ($18|0); +} +function _fts3ConnectMethod($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$9>>2]|0; + $16 = HEAP32[$10>>2]|0; + $17 = HEAP32[$11>>2]|0; + $18 = (_fts3InitVtab(0,$12,$13,$14,$15,$16,$17)|0); + STACKTOP = sp;return ($18|0); +} +function _fts3BestIndexMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $15 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $15; + HEAP32[$7>>2] = -1; + HEAP32[$8>>2] = -1; + HEAP32[$9>>2] = -1; + HEAP32[$10>>2] = -1; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 20|0); + HEAP32[$17>>2] = 0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 40|0); + HEAPF64[$19>>3] = 5.0E+6; + HEAP32[$6>>2] = 0; + L1: while(1) { + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = ($20|0)<($22|0); + $24 = HEAP32[$4>>2]|0; + if (!($23)) { + break; + } + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = (($26) + (($27*12)|0)|0); + HEAP32[$13>>2] = $28; + $29 = HEAP32[$13>>2]|0; + $30 = ((($29)) + 5|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32|0)==(0); + $34 = HEAP32[$13>>2]|0; + L4: do { + if ($33) { + $35 = ((($34)) + 4|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = ($37|0)==(64); + if ($38) { + label = 5; + break L1; + } + } else { + $44 = HEAP32[$34>>2]|0; + $45 = ($44|0)<(0); + if ($45) { + $54 = 1; + } else { + $46 = HEAP32[$13>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$5>>2]|0; + $49 = ((($48)) + 24|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + 1)|0; + $52 = ($47|0)==($51|0); + $54 = $52; + } + $53 = $54&1; + HEAP32[$12>>2] = $53; + $55 = HEAP32[$7>>2]|0; + $56 = ($55|0)<(0); + if ($56) { + $57 = HEAP32[$13>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = ($60|0)==(2); + $62 = HEAP32[$12>>2]|0; + $63 = ($62|0)!=(0); + $or$cond = $61 & $63; + if ($or$cond) { + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 20|0); + HEAP32[$65>>2] = 1; + $66 = HEAP32[$4>>2]|0; + $67 = ((($66)) + 40|0); + HEAPF64[$67>>3] = 1.0; + $68 = HEAP32[$6>>2]|0; + HEAP32[$7>>2] = $68; + } + } + $69 = HEAP32[$13>>2]|0; + $70 = ((($69)) + 4|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = ($72|0)==(64); + if ($73) { + $74 = HEAP32[$13>>2]|0; + $75 = HEAP32[$74>>2]|0; + $76 = ($75|0)>=(0); + if ($76) { + $77 = HEAP32[$13>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$5>>2]|0; + $80 = ((($79)) + 24|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($78|0)<=($81|0); + if ($82) { + $83 = HEAP32[$13>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = (2 + ($84))|0; + $86 = HEAP32[$4>>2]|0; + $87 = ((($86)) + 20|0); + HEAP32[$87>>2] = $85; + $88 = HEAP32[$4>>2]|0; + $89 = ((($88)) + 40|0); + HEAPF64[$89>>3] = 2.0; + $90 = HEAP32[$6>>2]|0; + HEAP32[$7>>2] = $90; + } + } + } + $91 = HEAP32[$13>>2]|0; + $92 = ((($91)) + 4|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $95 = ($94|0)==(2); + if ($95) { + $96 = HEAP32[$13>>2]|0; + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$5>>2]|0; + $99 = ((($98)) + 24|0); + $100 = HEAP32[$99>>2]|0; + $101 = (($100) + 2)|0; + $102 = ($97|0)==($101|0); + if ($102) { + $103 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $103; + } + } + $104 = HEAP32[$12>>2]|0; + $105 = ($104|0)!=(0); + if ($105) { + $106 = HEAP32[$13>>2]|0; + $107 = ((($106)) + 4|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (($109) - 4)|0; + $111 = $110 >>> 2; + $112 = $110 << 30; + $113 = $111 | $112; + switch ($113|0) { + case 0: case 7: { + $114 = HEAP32[$6>>2]|0; + HEAP32[$9>>2] = $114; + break L4; + break; + } + case 3: case 1: { + $115 = HEAP32[$6>>2]|0; + HEAP32[$10>>2] = $115; + break L4; + break; + } + default: { + break L4; + } + } + } + } + } while(0); + $116 = HEAP32[$6>>2]|0; + $117 = (($116) + 1)|0; + HEAP32[$6>>2] = $117; + } + if ((label|0) == 5) { + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 20|0); + HEAP32[$40>>2] = 0; + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 40|0); + HEAPF64[$42>>3] = 1.0000000000000001E+50; + $43 = HEAP32[$4>>2]|0; + _fts3SetEstimatedRows($43,0,262144); + HEAP32[$2>>2] = 0; + $201 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($201|0); + } + $118 = ((($24)) + 20|0); + $119 = HEAP32[$118>>2]|0; + $120 = ($119|0)==(1); + if ($120) { + $121 = HEAP32[$4>>2]|0; + _fts3SetUniqueFlag($121); + } + HEAP32[$11>>2] = 1; + $122 = HEAP32[$7>>2]|0; + $123 = ($122|0)>=(0); + if ($123) { + $124 = HEAP32[$11>>2]|0; + $125 = (($124) + 1)|0; + HEAP32[$11>>2] = $125; + $126 = HEAP32[$4>>2]|0; + $127 = ((($126)) + 16|0); + $128 = HEAP32[$127>>2]|0; + $129 = HEAP32[$7>>2]|0; + $130 = (($128) + ($129<<3)|0); + HEAP32[$130>>2] = $124; + $131 = HEAP32[$4>>2]|0; + $132 = ((($131)) + 16|0); + $133 = HEAP32[$132>>2]|0; + $134 = HEAP32[$7>>2]|0; + $135 = (($133) + ($134<<3)|0); + $136 = ((($135)) + 4|0); + HEAP8[$136>>0] = 1; + } + $137 = HEAP32[$8>>2]|0; + $138 = ($137|0)>=(0); + if ($138) { + $139 = HEAP32[$4>>2]|0; + $140 = ((($139)) + 20|0); + $141 = HEAP32[$140>>2]|0; + $142 = $141 | 65536; + HEAP32[$140>>2] = $142; + $143 = HEAP32[$11>>2]|0; + $144 = (($143) + 1)|0; + HEAP32[$11>>2] = $144; + $145 = HEAP32[$4>>2]|0; + $146 = ((($145)) + 16|0); + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$8>>2]|0; + $149 = (($147) + ($148<<3)|0); + HEAP32[$149>>2] = $143; + } + $150 = HEAP32[$9>>2]|0; + $151 = ($150|0)>=(0); + if ($151) { + $152 = HEAP32[$4>>2]|0; + $153 = ((($152)) + 20|0); + $154 = HEAP32[$153>>2]|0; + $155 = $154 | 131072; + HEAP32[$153>>2] = $155; + $156 = HEAP32[$11>>2]|0; + $157 = (($156) + 1)|0; + HEAP32[$11>>2] = $157; + $158 = HEAP32[$4>>2]|0; + $159 = ((($158)) + 16|0); + $160 = HEAP32[$159>>2]|0; + $161 = HEAP32[$9>>2]|0; + $162 = (($160) + ($161<<3)|0); + HEAP32[$162>>2] = $156; + } + $163 = HEAP32[$10>>2]|0; + $164 = ($163|0)>=(0); + if ($164) { + $165 = HEAP32[$4>>2]|0; + $166 = ((($165)) + 20|0); + $167 = HEAP32[$166>>2]|0; + $168 = $167 | 262144; + HEAP32[$166>>2] = $168; + $169 = HEAP32[$11>>2]|0; + $170 = (($169) + 1)|0; + HEAP32[$11>>2] = $170; + $171 = HEAP32[$4>>2]|0; + $172 = ((($171)) + 16|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[$10>>2]|0; + $175 = (($173) + ($174<<3)|0); + HEAP32[$175>>2] = $169; + } + $176 = HEAP32[$4>>2]|0; + $177 = ((($176)) + 8|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(1); + do { + if ($179) { + $180 = HEAP32[$4>>2]|0; + $181 = ((($180)) + 12|0); + $182 = HEAP32[$181>>2]|0; + HEAP32[$14>>2] = $182; + $183 = HEAP32[$14>>2]|0; + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)<(0); + if (!($185)) { + $186 = HEAP32[$14>>2]|0; + $187 = HEAP32[$186>>2]|0; + $188 = HEAP32[$5>>2]|0; + $189 = ((($188)) + 24|0); + $190 = HEAP32[$189>>2]|0; + $191 = (($190) + 1)|0; + $192 = ($187|0)==($191|0); + if (!($192)) { + break; + } + } + $193 = HEAP32[$14>>2]|0; + $194 = ((($193)) + 4|0); + $195 = HEAP8[$194>>0]|0; + $196 = ($195<<24>>24)!=(0); + $197 = HEAP32[$4>>2]|0; + $198 = ((($197)) + 24|0); + $$sink = $196 ? 45749 : 45754; + HEAP32[$198>>2] = $$sink; + $199 = HEAP32[$4>>2]|0; + $200 = ((($199)) + 32|0); + HEAP32[$200>>2] = 1; + } + } while(0); + HEAP32[$2>>2] = 0; + $201 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($201|0); +} +function _fts3DisconnectMethod($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $4; + HEAP32[$3>>2] = 0; + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)<(40); + $7 = HEAP32[$2>>2]|0; + if (!($6)) { + break; + } + $8 = ((($7)) + 56|0); + $9 = HEAP32[$3>>2]|0; + $10 = (($8) + ($9<<2)|0); + $11 = HEAP32[$10>>2]|0; + (_sqlite3_finalize($11)|0); + $12 = HEAP32[$3>>2]|0; + $13 = (($12) + 1)|0; + HEAP32[$3>>2] = $13; + } + $14 = ((($7)) + 240|0); + $15 = HEAP32[$14>>2]|0; + _sqlite3_free($15); + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 216|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3_free($18); + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 220|0); + $21 = HEAP32[$20>>2]|0; + _sqlite3_free($21); + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 40|0); + $24 = HEAP32[$23>>2]|0; + _sqlite3_free($24); + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 44|0); + $27 = HEAP32[$26>>2]|0; + _sqlite3_free($27); + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 36|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 36|0); + $36 = HEAP32[$35>>2]|0; + (FUNCTION_TABLE_ii[$33 & 255]($36)|0); + $37 = HEAP32[$2>>2]|0; + _sqlite3_free($37); + STACKTOP = sp;return 0; +} +function _fts3DestroyMethod($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer14 = sp + 32|0; + $vararg_buffer10 = sp + 24|0; + $vararg_buffer6 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 56|0; + $2 = sp + 52|0; + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + HEAP32[$1>>2] = $0; + $6 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $6; + HEAP32[$3>>2] = 0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 40|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0|0); + if ($16) { + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 20|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$vararg_buffer>>2] = $18; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $21; + _fts3DbExec($3,$17,45949,$vararg_buffer); + } + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 20|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$vararg_buffer2>>2] = $23; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $26; + _fts3DbExec($3,$22,45986,$vararg_buffer2); + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$vararg_buffer6>>2] = $28; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $31; + _fts3DbExec($3,$27,46024,$vararg_buffer6); + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 20|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$vararg_buffer10>>2] = $33; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $36; + _fts3DbExec($3,$32,46060,$vararg_buffer10); + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 20|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$vararg_buffer14>>2] = $38; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $41; + _fts3DbExec($3,$37,46097,$vararg_buffer14); + $42 = HEAP32[$3>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + $44 = HEAP32[$1>>2]|0; + $45 = (_fts3DisconnectMethod($44)|0); + $47 = $45; + STACKTOP = sp;return ($47|0); + } else { + $46 = HEAP32[$3>>2]|0; + $47 = $46; + STACKTOP = sp;return ($47|0); + } + return (0)|0; +} +function _fts3OpenMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = (_sqlite3_malloc(96)|0); + HEAP32[$5>>2] = $6; + $7 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $6; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)!=(0|0); + if ($9) { + $10 = HEAP32[$5>>2]|0; + dest=$10; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$2>>2] = 0; + $11 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($11|0); + } else { + HEAP32[$2>>2] = 7; + $11 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($11|0); + } + return (0)|0; +} +function _fts3CloseMethod($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP32[$5>>2]|0; + (_sqlite3_finalize($6)|0); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + _sqlite3Fts3ExprFree($9); + $10 = HEAP32[$2>>2]|0; + _sqlite3Fts3FreeDeferredTokens($10); + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 44|0); + $13 = HEAP32[$12>>2]|0; + _sqlite3_free($13); + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 92|0); + $16 = HEAP32[$15>>2]|0; + _sqlite3Fts3MIBufferFree($16); + $17 = HEAP32[$2>>2]|0; + _sqlite3_free($17); + STACKTOP = sp;return 0; +} +function _fts3FilterMethod($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $40 = 0, $41 = 0, $42 = 0, $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$cond = 0, $or$cond5 = 0, $vararg_buffer = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer9 = sp + 32|0; + $vararg_buffer = sp; + $5 = sp + 108|0; + $6 = sp + 104|0; + $7 = sp + 100|0; + $8 = sp + 96|0; + $9 = sp + 92|0; + $10 = sp + 88|0; + $11 = sp + 84|0; + $12 = sp + 80|0; + $13 = sp + 76|0; + $14 = sp + 72|0; + $15 = sp + 68|0; + $16 = sp + 64|0; + $17 = sp + 60|0; + $18 = sp + 56|0; + $19 = sp + 52|0; + $20 = sp + 48|0; + $21 = sp + 44|0; + $22 = sp + 40|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = 0; + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$23>>2]|0; + HEAP32[$14>>2] = $24; + $25 = HEAP32[$6>>2]|0; + HEAP32[$15>>2] = $25; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + HEAP32[$18>>2] = 0; + HEAP32[$19>>2] = 0; + $26 = HEAP32[$7>>2]|0; + $27 = $26 & 65535; + HEAP32[$13>>2] = $27; + HEAP32[$20>>2] = 0; + $28 = HEAP32[$13>>2]|0; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$10>>2]|0; + $31 = HEAP32[$20>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$20>>2] = $32; + $33 = (($30) + ($31<<2)|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$16>>2] = $34; + } + $35 = HEAP32[$7>>2]|0; + $36 = $35 & 65536; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$10>>2]|0; + $39 = HEAP32[$20>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$20>>2] = $40; + $41 = (($38) + ($39<<2)|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$17>>2] = $42; + } + $43 = HEAP32[$7>>2]|0; + $44 = $43 & 131072; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$10>>2]|0; + $47 = HEAP32[$20>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$20>>2] = $48; + $49 = (($46) + ($47<<2)|0); + $50 = HEAP32[$49>>2]|0; + HEAP32[$18>>2] = $50; + } + $51 = HEAP32[$7>>2]|0; + $52 = $51 & 262144; + $53 = ($52|0)!=(0); + if ($53) { + $54 = HEAP32[$10>>2]|0; + $55 = HEAP32[$20>>2]|0; + $56 = (($55) + 1)|0; + HEAP32[$20>>2] = $56; + $57 = (($54) + ($55<<2)|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$19>>2] = $58; + } + $59 = HEAP32[$15>>2]|0; + $60 = ((($59)) + 8|0); + $61 = HEAP32[$60>>2]|0; + (_sqlite3_finalize($61)|0); + $62 = HEAP32[$15>>2]|0; + $63 = ((($62)) + 44|0); + $64 = HEAP32[$63>>2]|0; + _sqlite3_free($64); + $65 = HEAP32[$15>>2]|0; + $66 = ((($65)) + 92|0); + $67 = HEAP32[$66>>2]|0; + _sqlite3Fts3MIBufferFree($67); + $68 = HEAP32[$15>>2]|0; + $69 = ((($68)) + 12|0); + $70 = HEAP32[$69>>2]|0; + _sqlite3Fts3ExprFree($70); + $71 = HEAP32[$6>>2]|0; + $72 = ((($71)) + 4|0); + dest=$72; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $73 = HEAP32[$18>>2]|0; + $74 = (_fts3DocidRange($73,0,-2147483648)|0); + $75 = tempRet0; + $76 = HEAP32[$15>>2]|0; + $77 = ((($76)) + 72|0); + $78 = $77; + $79 = $78; + HEAP32[$79>>2] = $74; + $80 = (($78) + 4)|0; + $81 = $80; + HEAP32[$81>>2] = $75; + $82 = HEAP32[$19>>2]|0; + $83 = (_fts3DocidRange($82,-1,2147483647)|0); + $84 = tempRet0; + $85 = HEAP32[$15>>2]|0; + $86 = ((($85)) + 80|0); + $87 = $86; + $88 = $87; + HEAP32[$88>>2] = $83; + $89 = (($87) + 4)|0; + $90 = $89; + HEAP32[$90>>2] = $84; + $91 = HEAP32[$8>>2]|0; + $92 = ($91|0)!=(0|0); + if ($92) { + $93 = HEAP32[$8>>2]|0; + $94 = HEAP8[$93>>0]|0; + $95 = $94 << 24 >> 24; + $96 = ($95|0)==(68); + $97 = $96&1; + $98 = $97&255; + $99 = HEAP32[$15>>2]|0; + $$sink = $98;$$sink2 = $99; + } else { + $100 = HEAP32[$14>>2]|0; + $101 = ((($100)) + 231|0); + $102 = HEAP8[$101>>0]|0; + $103 = HEAP32[$15>>2]|0; + $$sink = $102;$$sink2 = $103; + } + $104 = ((($$sink2)) + 52|0); + HEAP8[$104>>0] = $$sink; + $105 = HEAP32[$13>>2]|0; + $106 = $105&65535; + $107 = HEAP32[$15>>2]|0; + $108 = ((($107)) + 4|0); + HEAP16[$108>>1] = $106; + $109 = HEAP32[$13>>2]|0; + $110 = ($109|0)!=(1); + $111 = HEAP32[$13>>2]|0; + $112 = ($111|0)!=(0); + $or$cond = $110 & $112; + do { + if ($or$cond) { + $113 = HEAP32[$13>>2]|0; + $114 = (($113) - 2)|0; + HEAP32[$21>>2] = $114; + $115 = HEAP32[$16>>2]|0; + $116 = (_sqlite3_value_text($115)|0); + HEAP32[$22>>2] = $116; + $117 = HEAP32[$22>>2]|0; + $118 = ($117|0)==(0|0); + if ($118) { + $119 = HEAP32[$16>>2]|0; + $120 = (_sqlite3_value_type($119)|0); + $121 = ($120|0)!=(5); + if ($121) { + HEAP32[$5>>2] = 7; + $247 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($247|0); + } + } + $122 = HEAP32[$15>>2]|0; + $123 = ((($122)) + 16|0); + HEAP32[$123>>2] = 0; + $124 = HEAP32[$17>>2]|0; + $125 = ($124|0)!=(0|0); + if ($125) { + $126 = HEAP32[$17>>2]|0; + $127 = (_sqlite3_value_int($126)|0); + $128 = HEAP32[$15>>2]|0; + $129 = ((($128)) + 16|0); + HEAP32[$129>>2] = $127; + } + $130 = HEAP32[$14>>2]|0; + $131 = ((($130)) + 36|0); + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$15>>2]|0; + $134 = ((($133)) + 16|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$14>>2]|0; + $137 = ((($136)) + 28|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$14>>2]|0; + $140 = ((($139)) + 228|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + $143 = HEAP32[$14>>2]|0; + $144 = ((($143)) + 24|0); + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$21>>2]|0; + $147 = HEAP32[$22>>2]|0; + $148 = HEAP32[$15>>2]|0; + $149 = ((($148)) + 12|0); + $150 = HEAP32[$14>>2]|0; + $151 = ((($150)) + 8|0); + $152 = (_sqlite3Fts3ExprParse($132,$135,$138,$142,$145,$146,$147,-1,$149,$151)|0); + HEAP32[$11>>2] = $152; + $153 = HEAP32[$11>>2]|0; + $154 = ($153|0)!=(0); + if ($154) { + $155 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $155; + $247 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($247|0); + } + $156 = HEAP32[$15>>2]|0; + $157 = (_fts3EvalStart($156)|0); + HEAP32[$11>>2] = $157; + $158 = HEAP32[$14>>2]|0; + _sqlite3Fts3SegmentsClose($158); + $159 = HEAP32[$11>>2]|0; + $160 = ($159|0)!=(0); + if (!($160)) { + $162 = HEAP32[$15>>2]|0; + $163 = ((($162)) + 44|0); + $164 = HEAP32[$163>>2]|0; + $165 = HEAP32[$15>>2]|0; + $166 = ((($165)) + 40|0); + HEAP32[$166>>2] = $164; + $167 = HEAP32[$15>>2]|0; + $168 = ((($167)) + 32|0); + $169 = $168; + $170 = $169; + HEAP32[$170>>2] = 0; + $171 = (($169) + 4)|0; + $172 = $171; + HEAP32[$172>>2] = 0; + break; + } + $161 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $161; + $247 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($247|0); + } + } while(0); + $173 = HEAP32[$13>>2]|0; + $174 = ($173|0)==(0); + do { + if ($174) { + $175 = HEAP32[$18>>2]|0; + $176 = ($175|0)!=(0|0); + $177 = HEAP32[$19>>2]|0; + $178 = ($177|0)!=(0|0); + $or$cond5 = $176 | $178; + $179 = HEAP32[$14>>2]|0; + $180 = ((($179)) + 216|0); + $181 = HEAP32[$180>>2]|0; + $182 = HEAP32[$15>>2]|0; + if ($or$cond5) { + $183 = ((($182)) + 72|0); + $184 = $183; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + $187 = (($184) + 4)|0; + $188 = $187; + $189 = HEAP32[$188>>2]|0; + $190 = HEAP32[$15>>2]|0; + $191 = ((($190)) + 80|0); + $192 = $191; + $193 = $192; + $194 = HEAP32[$193>>2]|0; + $195 = (($192) + 4)|0; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$15>>2]|0; + $199 = ((($198)) + 52|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200&255; + $202 = ($201|0)!=(0); + $203 = $202 ? 45749 : 45754; + HEAP32[$vararg_buffer>>2] = $181; + $vararg_ptr6 = ((($vararg_buffer)) + 8|0); + $204 = $vararg_ptr6; + $205 = $204; + HEAP32[$205>>2] = $186; + $206 = (($204) + 4)|0; + $207 = $206; + HEAP32[$207>>2] = $189; + $vararg_ptr7 = ((($vararg_buffer)) + 16|0); + $208 = $vararg_ptr7; + $209 = $208; + HEAP32[$209>>2] = $194; + $210 = (($208) + 4)|0; + $211 = $210; + HEAP32[$211>>2] = $197; + $vararg_ptr8 = ((($vararg_buffer)) + 24|0); + HEAP32[$vararg_ptr8>>2] = $203; + $212 = (_sqlite3_mprintf(45758,$vararg_buffer)|0); + HEAP32[$12>>2] = $212; + } else { + $213 = ((($182)) + 52|0); + $214 = HEAP8[$213>>0]|0; + $215 = $214&255; + $216 = ($215|0)!=(0); + $217 = $216 ? 45749 : 45754; + HEAP32[$vararg_buffer9>>2] = $181; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $217; + $218 = (_sqlite3_mprintf(45820,$vararg_buffer9)|0); + HEAP32[$12>>2] = $218; + } + $219 = HEAP32[$12>>2]|0; + $220 = ($219|0)!=(0|0); + if ($220) { + $221 = HEAP32[$14>>2]|0; + $222 = ((($221)) + 12|0); + $223 = HEAP32[$222>>2]|0; + $224 = HEAP32[$12>>2]|0; + $225 = HEAP32[$15>>2]|0; + $226 = ((($225)) + 8|0); + $227 = (_sqlite3_prepare_v2($223,$224,-1,$226,0)|0); + HEAP32[$11>>2] = $227; + $228 = HEAP32[$12>>2]|0; + _sqlite3_free($228); + break; + } else { + HEAP32[$11>>2] = 7; + break; + } + } else { + $229 = HEAP32[$13>>2]|0; + $230 = ($229|0)==(1); + if ($230) { + $231 = HEAP32[$15>>2]|0; + $232 = HEAP32[$15>>2]|0; + $233 = ((($232)) + 8|0); + $234 = (_fts3CursorSeekStmt($231,$233)|0); + HEAP32[$11>>2] = $234; + $235 = HEAP32[$11>>2]|0; + $236 = ($235|0)==(0); + if ($236) { + $237 = HEAP32[$15>>2]|0; + $238 = ((($237)) + 8|0); + $239 = HEAP32[$238>>2]|0; + $240 = HEAP32[$16>>2]|0; + $241 = (_sqlite3_bind_value($239,1,$240)|0); + HEAP32[$11>>2] = $241; + } + } + } + } while(0); + $242 = HEAP32[$11>>2]|0; + $243 = ($242|0)!=(0); + if ($243) { + $244 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $244; + $247 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($247|0); + } else { + $245 = HEAP32[$6>>2]|0; + $246 = (_fts3NextMethod($245)|0); + HEAP32[$5>>2] = $246; + $247 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($247|0); + } + return (0)|0; +} +function _fts3NextMethod($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $4; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7 << 16 >> 16; + $9 = ($8|0)==(1); + if (!($9)) { + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12 << 16 >> 16; + $14 = ($13|0)==(0); + if (!($14)) { + $36 = HEAP32[$1>>2]|0; + $37 = (_fts3EvalNext($36)|0); + HEAP32[$2>>2] = $37; + $38 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($38|0); + } + } + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3_step($17)|0); + $19 = (100)!=($18|0); + $20 = HEAP32[$3>>2]|0; + if ($19) { + $21 = ((($20)) + 6|0); + HEAP8[$21>>0] = 1; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_sqlite3_reset($24)|0); + HEAP32[$2>>2] = $25; + $38 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($38|0); + } else { + $26 = ((($20)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3_column_int64($27,0)|0); + $29 = tempRet0; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 32|0); + $32 = $31; + $33 = $32; + HEAP32[$33>>2] = $28; + $34 = (($32) + 4)|0; + $35 = $34; + HEAP32[$35>>2] = $29; + HEAP32[$2>>2] = 0; + $38 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($38|0); + } + return (0)|0; +} +function _fts3EofMethod($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 6|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + STACKTOP = sp;return ($5|0); +} +function _fts3ColumnMethod($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $10 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $10; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$8>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + 1)|0; + $18 = ($13|0)==($17|0); + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = ((($20)) + 32|0); + $22 = $21; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + _sqlite3_result_int64($19,$24,$27); + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); + } + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$8>>2]|0; + $30 = ((($29)) + 24|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($28|0)==($31|0); + if ($32) { + $33 = HEAP32[$4>>2]|0; + _sqlite3_result_blob($33,$7,4,(-1)); + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); + } + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$8>>2]|0; + $36 = ((($35)) + 24|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($37) + 2)|0; + $39 = ($34|0)==($38|0); + if ($39) { + $40 = HEAP32[$7>>2]|0; + $41 = ((($40)) + 12|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + $44 = HEAP32[$4>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)<(0); + $49 = $48 << 31 >> 31; + _sqlite3_result_int64($44,$47,$49); + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); + } + } + $50 = HEAP32[$7>>2]|0; + $51 = (_fts3CursorSeek(0,$50)|0); + HEAP32[$6>>2] = $51; + $52 = HEAP32[$6>>2]|0; + $53 = ($52|0)==(0); + if (!($53)) { + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); + } + $54 = HEAP32[$5>>2]|0; + $55 = HEAP32[$8>>2]|0; + $56 = ((($55)) + 24|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($57) + 2)|0; + $59 = ($54|0)==($58|0); + if ($59) { + HEAP32[$9>>2] = 0; + $60 = HEAP32[$8>>2]|0; + $61 = ((($60)) + 44|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)!=(0|0); + if ($63) { + $64 = HEAP32[$7>>2]|0; + $65 = ((($64)) + 8|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$8>>2]|0; + $68 = ((($67)) + 24|0); + $69 = HEAP32[$68>>2]|0; + $70 = (($69) + 1)|0; + $71 = (_sqlite3_column_int($66,$70)|0); + HEAP32[$9>>2] = $71; + } + $72 = HEAP32[$4>>2]|0; + $73 = HEAP32[$9>>2]|0; + _sqlite3_result_int($72,$73); + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); + } else { + $74 = HEAP32[$7>>2]|0; + $75 = ((($74)) + 8|0); + $76 = HEAP32[$75>>2]|0; + $77 = (_sqlite3_data_count($76)|0); + $78 = HEAP32[$5>>2]|0; + $79 = (($78) + 1)|0; + $80 = ($77|0)>($79|0); + if (!($80)) { + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); + } + $81 = HEAP32[$4>>2]|0; + $82 = HEAP32[$7>>2]|0; + $83 = ((($82)) + 8|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$5>>2]|0; + $86 = (($85) + 1)|0; + $87 = (_sqlite3_column_value($84,$86)|0); + _sqlite3_result_value($81,$87); + $88 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($88|0); + } + return (0)|0; +} +function _fts3RowidMethod($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, $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 + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + $7 = ((($6)) + 32|0); + $8 = $7; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = $14; + $16 = $15; + HEAP32[$16>>2] = $10; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $13; + STACKTOP = sp;return 0; +} +function _fts3UpdateMethod($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$7>>2]|0; + $12 = (_sqlite3Fts3UpdateMethod($8,$9,$10,$11)|0); + STACKTOP = sp;return ($12|0); +} +function _fts3BeginMethod($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 52|0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = (_fts3SetHasStat($6)|0); + STACKTOP = sp;return ($7|0); +} +function _fts3SyncMethod($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 64; + $7 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = (_sqlite3Fts3PendingTermsFlush($8)|0); + HEAP32[$4>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)==(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 52|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14>>>0)>(4); + if ($15) { + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(255); + if ($23) { + HEAP32[$5>>2] = 0; + $24 = HEAP32[$3>>2]|0; + $25 = (_sqlite3Fts3MaxLevel($24,$5)|0); + HEAP32[$4>>2] = $25; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 52|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = Math_imul($28, $29)|0; + HEAP32[$6>>2] = $30; + $31 = HEAP32[$6>>2]|0; + $32 = (($31|0) / 2)&-1; + $33 = HEAP32[$6>>2]|0; + $34 = (($33) + ($32))|0; + HEAP32[$6>>2] = $34; + $35 = HEAP32[$6>>2]|0; + $36 = ($35|0)>(64); + if ($36) { + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 48|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_sqlite3Fts3Incrmerge($37,$38,$41)|0); + HEAP32[$4>>2] = $42; + } + } + } + } + } + $43 = HEAP32[$3>>2]|0; + _sqlite3Fts3SegmentsClose($43); + $44 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($44|0); +} +function _fts3CommitMethod($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + STACKTOP = sp;return 0; +} +function _fts3RollbackMethod($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + _sqlite3Fts3PendingTermsClear($4); + STACKTOP = sp;return 0; +} +function _fts3FindFunctionMethod($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 8|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + ;HEAP32[$11>>2]=HEAP32[6636>>2]|0;HEAP32[$11+4>>2]=HEAP32[6636+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[6636+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[6636+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[6636+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[6636+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[6636+24>>2]|0;HEAP32[$11+28>>2]=HEAP32[6636+28>>2]|0; + HEAP32[$12>>2] = 0; + while(1) { + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)<(4); + if (!($14)) { + label = 6; + break; + } + $15 = HEAP32[$8>>2]|0; + $16 = HEAP32[$12>>2]|0; + $17 = (($11) + ($16<<3)|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_strcmp($15,$18)|0); + $20 = ($19|0)==(0); + $21 = HEAP32[$12>>2]|0; + if ($20) { + label = 4; + break; + } + $26 = (($21) + 1)|0; + HEAP32[$12>>2] = $26; + } + if ((label|0) == 4) { + $22 = (($11) + ($21<<3)|0); + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$9>>2]|0; + HEAP32[$25>>2] = $24; + HEAP32[$5>>2] = 1; + $27 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($27|0); + } + else if ((label|0) == 6) { + HEAP32[$5>>2] = 0; + $27 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($27|0); + } + return (0)|0; +} +function _fts3RenameMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer18 = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr21 = 0; + var $vararg_ptr22 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer18 = sp + 64|0; + $vararg_buffer13 = sp + 48|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 92|0; + $3 = sp + 88|0; + $4 = sp + 84|0; + $5 = sp + 80|0; + $6 = sp + 76|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = (_fts3SetHasStat($11)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + $16 = (_sqlite3Fts3PendingTermsFlush($15)|0); + HEAP32[$6>>2] = $16; + } + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 40|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0|0); + if ($20) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 20|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $24; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $27; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $28; + _fts3DbExec($6,$21,42742,$vararg_buffer); + } + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 230|0); + $31 = HEAP8[$30>>0]|0; + $32 = ($31<<24>>24)!=(0); + if ($32) { + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 16|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 20|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer3>>2] = $36; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $39; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $40; + _fts3DbExec($6,$33,42795,$vararg_buffer3); + } + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 229|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)!=(0); + if ($44) { + $45 = HEAP32[$5>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 16|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 20|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer8>>2] = $48; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $51; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $52; + _fts3DbExec($6,$45,42848,$vararg_buffer8); + } + $53 = HEAP32[$5>>2]|0; + $54 = HEAP32[$4>>2]|0; + $55 = ((($54)) + 16|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 20|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer13>>2] = $56; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $59; + $vararg_ptr17 = ((($vararg_buffer13)) + 8|0); + HEAP32[$vararg_ptr17>>2] = $60; + _fts3DbExec($6,$53,42895,$vararg_buffer13); + $61 = HEAP32[$5>>2]|0; + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 16|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$4>>2]|0; + $66 = ((($65)) + 20|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer18>>2] = $64; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $67; + $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); + HEAP32[$vararg_ptr22>>2] = $68; + _fts3DbExec($6,$61,42949,$vararg_buffer18); + $69 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($69|0); +} +function _fts3SavepointMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 232|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(0); + if (!($9)) { + $12 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($12|0); + } + $10 = HEAP32[$2>>2]|0; + $11 = (_fts3SyncMethod($10)|0); + HEAP32[$4>>2] = $11; + $12 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($12|0); +} +function _fts3ReleaseMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + STACKTOP = sp;return 0; +} +function _fts3RollbackToMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + _sqlite3Fts3PendingTermsClear($6); + STACKTOP = sp;return 0; +} +function _sqlite3Fts3PendingTermsClear($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + while(1) { + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 248|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($6|0)<($9|0); + $11 = HEAP32[$1>>2]|0; + if (!($10)) { + break; + } + $12 = ((($11)) + 252|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = (($13) + (($14*24)|0)|0); + $16 = ((($15)) + 4|0); + HEAP32[$4>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$3>>2] = $19; + while(1) { + $20 = HEAP32[$3>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { + break; + } + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$5>>2] = $24; + $25 = HEAP32[$5>>2]|0; + _fts3PendingListDelete($25); + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$26>>2]|0; + HEAP32[$3>>2] = $27; + } + $28 = HEAP32[$4>>2]|0; + _sqlite3Fts3HashClear($28); + $29 = HEAP32[$2>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$2>>2] = $30; + } + $31 = ((($11)) + 260|0); + HEAP32[$31>>2] = 0; + STACKTOP = sp;return; +} +function _fts3PendingListDelete($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3_free($2); + STACKTOP = sp;return; +} +function _fts3SetHasStat($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, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 229|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)==(2); + if (!($11)) { + $42 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($42|0); + } + HEAP32[$3>>2] = 45306; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer>>2] = $15; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $18; + $19 = (_sqlite3_mprintf($12,$vararg_buffer)|0); + HEAP32[$4>>2] = $19; + $20 = HEAP32[$4>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { + HEAP32[$2>>2] = 7; + $42 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($42|0); + } + HEAP32[$5>>2] = 0; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = (_sqlite3_prepare_v2($24,$25,-1,$5,0)|0); + HEAP32[$2>>2] = $26; + $27 = HEAP32[$2>>2]|0; + $28 = ($27|0)==(0); + if ($28) { + $29 = HEAP32[$5>>2]|0; + $30 = (_sqlite3_step($29)|0); + $31 = ($30|0)==(100); + $32 = $31&1; + HEAP32[$6>>2] = $32; + $33 = HEAP32[$5>>2]|0; + $34 = (_sqlite3_finalize($33)|0); + HEAP32[$2>>2] = $34; + $35 = HEAP32[$2>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $37 = HEAP32[$6>>2]|0; + $38 = $37&255; + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 229|0); + HEAP8[$40>>0] = $38; + } + } + $41 = HEAP32[$4>>2]|0; + _sqlite3_free($41); + $42 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($42|0); +} +function _sqlite3Fts3PendingTermsFlush($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + HEAP32[$3>>2] = 0; + while(1) { + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 248|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($7|0)<($10|0); + $63 = $11; + } else { + $63 = 0; + } + $12 = HEAP32[$1>>2]|0; + if (!($63)) { + break; + } + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 272|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = (_fts3SegmentMerge($12,$15,$16,-1)|0); + HEAP32[$2>>2] = $17; + $18 = HEAP32[$2>>2]|0; + $19 = ($18|0)==(101); + $$ = $19 ? 0 : $17; + HEAP32[$2>>2] = $$; + $20 = HEAP32[$3>>2]|0; + $21 = (($20) + 1)|0; + HEAP32[$3>>2] = $21; + } + _sqlite3Fts3PendingTermsClear($12); + $22 = HEAP32[$2>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); + } + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 229|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ($27|0)!=(0); + if (!($28)) { + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); + } + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 48|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(255); + if (!($32)) { + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); + } + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 52|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35>>>0)>(0); + if (!($36)) { + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); + } + HEAP32[$4>>2] = 0; + $37 = HEAP32[$1>>2]|0; + $38 = (_fts3SqlStmt($37,22,$4,0)|0); + HEAP32[$2>>2] = $38; + $39 = HEAP32[$2>>2]|0; + $40 = ($39|0)==(0); + if (!($40)) { + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); + } + $41 = HEAP32[$4>>2]|0; + (_sqlite3_bind_int($41,1,2)|0); + $42 = HEAP32[$4>>2]|0; + $43 = (_sqlite3_step($42)|0); + HEAP32[$2>>2] = $43; + $44 = HEAP32[$2>>2]|0; + $45 = ($44|0)==(100); + if ($45) { + $46 = HEAP32[$4>>2]|0; + $47 = (_sqlite3_column_int($46,0)|0); + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 48|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 48|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)==(1); + if ($53) { + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 48|0); + HEAP32[$55>>2] = 8; + } + } else { + $56 = HEAP32[$2>>2]|0; + $57 = ($56|0)==(101); + if ($57) { + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 48|0); + HEAP32[$59>>2] = 0; + } + } + $60 = HEAP32[$4>>2]|0; + $61 = (_sqlite3_reset($60)|0); + HEAP32[$2>>2] = $61; + $62 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($62|0); +} +function _fts3DbExec($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|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; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0); + if ($10) { + STACKTOP = sp;return; + } + HEAP32[$6>>2] = $varargs; + $11 = HEAP32[$5>>2]|0; + $12 = (_sqlite3_vmprintf($11,$6)|0); + HEAP32[$7>>2] = $12; + $13 = HEAP32[$7>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + $15 = HEAP32[$3>>2]|0; + HEAP32[$15>>2] = 7; + STACKTOP = sp;return; + } else { + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$7>>2]|0; + $18 = (_sqlite3_exec($16,$17,0,0,0)|0); + $19 = HEAP32[$3>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$7>>2]|0; + _sqlite3_free($20); + STACKTOP = sp;return; + } +} +function _fts3SegmentMerge($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$old = 0, $$old1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $4 = sp + 120|0; + $5 = sp + 116|0; + $6 = sp + 112|0; + $7 = sp + 108|0; + $8 = sp + 104|0; + $9 = sp + 100|0; + $10 = sp + 8|0; + $11 = sp + 96|0; + $12 = sp + 80|0; + $13 = sp + 24|0; + $14 = sp + 16|0; + $15 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$9>>2] = 0; + $16 = $10; + $17 = $16; + HEAP32[$17>>2] = 0; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$14>>2] = 0; + $20 = $15; + $21 = $20; + HEAP32[$21>>2] = 0; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = 0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$7>>2]|0; + $28 = (_sqlite3Fts3SegReaderCursor($24,$25,$26,$27,0,0,1,0,$13)|0); + HEAP32[$8>>2] = $28; + $29 = HEAP32[$8>>2]|0; + $30 = ($29|0)!=(0); + do { + if (!($30)) { + $31 = ((($13)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0); + if (!($33)) { + $34 = HEAP32[$7>>2]|0; + $35 = ($34|0)!=(-1); + if ($35) { + $36 = HEAP32[$4>>2]|0; + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = (_fts3SegmentMaxLevel($36,$37,$38,$15)|0); + HEAP32[$8>>2] = $39; + $40 = HEAP32[$8>>2]|0; + $41 = ($40|0)!=(0); + if ($41) { + break; + } + } + $42 = HEAP32[$7>>2]|0; + $43 = ($42|0)==(-2); + if ($43) { + $44 = ((($13)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(1); + if ($46) { + $47 = HEAP32[$13>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = ((($48)) + 56|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)!=(0|0); + $52 = $51&1; + $53 = (0)==($52|0); + if ($53) { + HEAP32[$8>>2] = 101; + break; + } + } + $54 = $15; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = $10; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + HEAP32[$14>>2] = 1; + } else { + $64 = HEAP32[$4>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = HEAP32[$6>>2]|0; + $67 = HEAP32[$7>>2]|0; + $68 = (($67) + 1)|0; + $69 = (_getAbsoluteLevel($64,$65,$66,$68)|0); + $70 = tempRet0; + $71 = $10; + $72 = $71; + HEAP32[$72>>2] = $69; + $73 = (($71) + 4)|0; + $74 = $73; + HEAP32[$74>>2] = $70; + $75 = HEAP32[$4>>2]|0; + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$6>>2]|0; + $78 = HEAP32[$7>>2]|0; + $79 = (($78) + 1)|0; + $80 = (_fts3AllocateSegdirIdx($75,$76,$77,$79,$9)|0); + HEAP32[$8>>2] = $80; + $81 = HEAP32[$7>>2]|0; + $82 = ($81|0)!=(-1); + if ($82) { + $83 = $10; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $15; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = ($88|0)>($94|0); + $96 = ($85>>>0)>($91>>>0); + $97 = ($88|0)==($94|0); + $98 = $97 & $96; + $99 = $95 | $98; + $101 = $99; + } else { + $101 = 0; + } + $100 = $101&1; + HEAP32[$14>>2] = $100; + } + $102 = HEAP32[$8>>2]|0; + $103 = ($102|0)!=(0); + if (!($103)) { + ;HEAP32[$12>>2]=0|0;HEAP32[$12+4>>2]=0|0;HEAP32[$12+8>>2]=0|0;HEAP32[$12+12>>2]=0|0; + $104 = ((($12)) + 12|0); + HEAP32[$104>>2] = 1; + $105 = HEAP32[$14>>2]|0; + $106 = ($105|0)!=(0); + $107 = $106 ? 2 : 0; + $108 = ((($12)) + 12|0); + $109 = HEAP32[$108>>2]|0; + $110 = $109 | $107; + HEAP32[$108>>2] = $110; + $111 = HEAP32[$4>>2]|0; + $112 = (_sqlite3Fts3SegReaderStart($111,$13,$12)|0); + HEAP32[$8>>2] = $112; + while(1) { + $113 = HEAP32[$8>>2]|0; + $114 = (0)==($113|0); + if (!($114)) { + break; + } + $115 = HEAP32[$4>>2]|0; + $116 = (_sqlite3Fts3SegReaderStep($115,$13)|0); + HEAP32[$8>>2] = $116; + $117 = HEAP32[$8>>2]|0; + $118 = ($117|0)!=(100); + if ($118) { + break; + } + $119 = HEAP32[$4>>2]|0; + $120 = ((($13)) + 40|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($13)) + 44|0); + $123 = HEAP32[$122>>2]|0; + $124 = ((($13)) + 48|0); + $125 = HEAP32[$124>>2]|0; + $126 = ((($13)) + 52|0); + $127 = HEAP32[$126>>2]|0; + $128 = (_fts3SegWriterAdd($119,$11,1,$121,$123,$125,$127)|0); + HEAP32[$8>>2] = $128; + } + $129 = HEAP32[$8>>2]|0; + $130 = ($129|0)!=(0); + if (!($130)) { + $131 = HEAP32[$7>>2]|0; + $132 = ($131|0)!=(-1); + if ($132) { + $133 = HEAP32[$4>>2]|0; + $134 = HEAP32[$5>>2]|0; + $135 = HEAP32[$6>>2]|0; + $136 = HEAP32[$7>>2]|0; + $137 = HEAP32[$13>>2]|0; + $138 = ((($13)) + 4|0); + $139 = HEAP32[$138>>2]|0; + $140 = (_fts3DeleteSegdir($133,$134,$135,$136,$137,$139)|0); + HEAP32[$8>>2] = $140; + $141 = HEAP32[$8>>2]|0; + $142 = ($141|0)==(0); + $143 = HEAP32[$11>>2]|0; + $144 = ($143|0)!=(0|0); + $or$cond = $142 & $144; + if (!($or$cond)) { + break; + } + } else { + $$old = HEAP32[$11>>2]|0; + $$old1 = ($$old|0)!=(0|0); + if (!($$old1)) { + break; + } + } + $145 = HEAP32[$4>>2]|0; + $146 = HEAP32[$11>>2]|0; + $147 = $10; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = (($147) + 4)|0; + $151 = $150; + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$9>>2]|0; + $154 = (_fts3SegWriterFlush($145,$146,$149,$152,$153)|0); + HEAP32[$8>>2] = $154; + $155 = HEAP32[$8>>2]|0; + $156 = ($155|0)==(0); + if ($156) { + $157 = HEAP32[$7>>2]|0; + $158 = ($157|0)==(-1); + if (!($158)) { + $159 = $10; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = $15; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $171 = ($164|0)<($170|0); + $172 = ($161>>>0)<($167>>>0); + $173 = ($164|0)==($170|0); + $174 = $173 & $172; + $175 = $171 | $174; + if (!($175)) { + break; + } + } + $176 = HEAP32[$4>>2]|0; + $177 = $10; + $178 = $177; + $179 = HEAP32[$178>>2]|0; + $180 = (($177) + 4)|0; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$11>>2]|0; + $184 = ((($183)) + 56|0); + $185 = $184; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = (($185) + 4)|0; + $189 = $188; + $190 = HEAP32[$189>>2]|0; + $191 = (_fts3PromoteSegments($176,$179,$182,$187,$190)|0); + HEAP32[$8>>2] = $191; + } + } + } + } + } + } while(0); + $192 = HEAP32[$11>>2]|0; + _fts3SegWriterFree($192); + _sqlite3Fts3SegReaderFinish($13); + $193 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($193|0); +} +function _fts3SqlStmt($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, $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 $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $4 = sp + 228|0; + $5 = sp + 224|0; + $6 = sp + 220|0; + $7 = sp + 216|0; + $8 = sp + 56|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp + 36|0; + $13 = sp + 32|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + _memcpy(($8|0),(6476|0),160)|0; + HEAP32[$9>>2] = 0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 56|0); + $16 = HEAP32[$5>>2]|0; + $17 = (($15) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$10>>2] = $18; + $19 = HEAP32[$10>>2]|0; + $20 = ($19|0)!=(0|0); + do { + if (!($20)) { + $21 = HEAP32[$5>>2]|0; + $22 = ($21|0)==(18); + $23 = HEAP32[$5>>2]|0; + do { + if ($22) { + $24 = (($8) + ($23<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 220|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$vararg_buffer>>2] = $28; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $31; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $34; + $35 = (_sqlite3_mprintf($25,$vararg_buffer)|0); + HEAP32[$11>>2] = $35; + } else { + $36 = ($23|0)==(7); + $37 = HEAP32[$5>>2]|0; + $38 = (($8) + ($37<<2)|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$4>>2]|0; + if ($36) { + $41 = ((($40)) + 216|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$vararg_buffer3>>2] = $42; + $43 = (_sqlite3_mprintf($39,$vararg_buffer3)|0); + HEAP32[$11>>2] = $43; + break; + } else { + $44 = ((($40)) + 16|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 20|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$vararg_buffer6>>2] = $45; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $48; + $49 = (_sqlite3_mprintf($39,$vararg_buffer6)|0); + HEAP32[$11>>2] = $49; + break; + } + } + } while(0); + $50 = HEAP32[$11>>2]|0; + $51 = ($50|0)!=(0|0); + if ($51) { + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$11>>2]|0; + $56 = (_sqlite3_prepare_v2($54,$55,-1,$10,0)|0); + HEAP32[$9>>2] = $56; + $57 = HEAP32[$11>>2]|0; + _sqlite3_free($57); + $58 = HEAP32[$10>>2]|0; + $59 = HEAP32[$4>>2]|0; + $60 = ((($59)) + 56|0); + $61 = HEAP32[$5>>2]|0; + $62 = (($60) + ($61<<2)|0); + HEAP32[$62>>2] = $58; + break; + } else { + HEAP32[$9>>2] = 7; + break; + } + } + } while(0); + $63 = HEAP32[$7>>2]|0; + $64 = ($63|0)!=(0|0); + if (!($64)) { + $82 = HEAP32[$10>>2]|0; + $83 = HEAP32[$6>>2]|0; + HEAP32[$83>>2] = $82; + $84 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($84|0); + } + $65 = HEAP32[$10>>2]|0; + $66 = (_sqlite3_bind_parameter_count($65)|0); + HEAP32[$13>>2] = $66; + HEAP32[$12>>2] = 0; + while(1) { + $67 = HEAP32[$9>>2]|0; + $68 = ($67|0)==(0); + if (!($68)) { + label = 15; + break; + } + $69 = HEAP32[$12>>2]|0; + $70 = HEAP32[$13>>2]|0; + $71 = ($69|0)<($70|0); + if (!($71)) { + label = 15; + break; + } + $72 = HEAP32[$10>>2]|0; + $73 = HEAP32[$12>>2]|0; + $74 = (($73) + 1)|0; + $75 = HEAP32[$7>>2]|0; + $76 = HEAP32[$12>>2]|0; + $77 = (($75) + ($76<<2)|0); + $78 = HEAP32[$77>>2]|0; + $79 = (_sqlite3_bind_value($72,$74,$78)|0); + HEAP32[$9>>2] = $79; + $80 = HEAP32[$12>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$12>>2] = $81; + } + if ((label|0) == 15) { + $82 = HEAP32[$10>>2]|0; + $83 = HEAP32[$6>>2]|0; + HEAP32[$83>>2] = $82; + $84 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($84|0); + } + return (0)|0; +} +function _sqlite3Fts3SegReaderCursor($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $9 = 0; + var dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + HEAP32[$12>>2] = $3; + HEAP32[$13>>2] = $4; + HEAP32[$14>>2] = $5; + HEAP32[$15>>2] = $6; + HEAP32[$16>>2] = $7; + HEAP32[$17>>2] = $8; + $18 = HEAP32[$17>>2]|0; + dest=$18; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[$9>>2]|0; + $20 = HEAP32[$10>>2]|0; + $21 = HEAP32[$11>>2]|0; + $22 = HEAP32[$12>>2]|0; + $23 = HEAP32[$13>>2]|0; + $24 = HEAP32[$14>>2]|0; + $25 = HEAP32[$15>>2]|0; + $26 = HEAP32[$16>>2]|0; + $27 = HEAP32[$17>>2]|0; + $28 = (_fts3SegReaderCursor($19,$20,$21,$22,$23,$24,$25,$26,$27)|0); + STACKTOP = sp;return ($28|0); +} +function _fts3SegmentMaxLevel($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $11 = HEAP32[$5>>2]|0; + $12 = (_fts3SqlStmt($11,15,$9,0)|0); + HEAP32[$10>>2] = $12; + $13 = HEAP32[$10>>2]|0; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $15; + $41 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($41|0); + } + $16 = HEAP32[$9>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = (_getAbsoluteLevel($17,$18,$19,0)|0); + $21 = tempRet0; + (_sqlite3_bind_int64($16,1,$20,$21)|0); + $22 = HEAP32[$9>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$7>>2]|0; + $26 = (_getAbsoluteLevel($23,$24,$25,1023)|0); + $27 = tempRet0; + (_sqlite3_bind_int64($22,2,$26,$27)|0); + $28 = HEAP32[$9>>2]|0; + $29 = (_sqlite3_step($28)|0); + $30 = (100)==($29|0); + if ($30) { + $31 = HEAP32[$9>>2]|0; + $32 = (_sqlite3_column_int64($31,0)|0); + $33 = tempRet0; + $34 = HEAP32[$8>>2]|0; + $35 = $34; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $33; + } + $39 = HEAP32[$9>>2]|0; + $40 = (_sqlite3_reset($39)|0); + HEAP32[$4>>2] = $40; + $41 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($41|0); +} +function _getAbsoluteLevel($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)<(0); + $11 = $10 << 31 >> 31; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 248|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + $16 = $15 << 31 >> 31; + $17 = (___muldi3(($9|0),($11|0),($14|0),($16|0))|0); + $18 = tempRet0; + $19 = HEAP32[$6>>2]|0; + $20 = ($19|0)<(0); + $21 = $20 << 31 >> 31; + $22 = (_i64Add(($17|0),($18|0),($19|0),($21|0))|0); + $23 = tempRet0; + $24 = (___muldi3(($22|0),($23|0),1024,0)|0); + $25 = tempRet0; + $26 = $8; + $27 = $26; + HEAP32[$27>>2] = $24; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $25; + $30 = $8; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = ($36|0)<(0); + $38 = $37 << 31 >> 31; + $39 = (_i64Add(($32|0),($35|0),($36|0),($38|0))|0); + $40 = tempRet0; + tempRet0 = ($40); + STACKTOP = sp;return ($39|0); +} +function _fts3AllocateSegdirIdx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$12>>2] = 0; + $13 = HEAP32[$5>>2]|0; + $14 = (_fts3SqlStmt($13,8,$11,0)|0); + HEAP32[$10>>2] = $14; + $15 = HEAP32[$10>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = HEAP32[$8>>2]|0; + $22 = (_getAbsoluteLevel($18,$19,$20,$21)|0); + $23 = tempRet0; + (_sqlite3_bind_int64($17,1,$22,$23)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (_sqlite3_step($24)|0); + $26 = (100)==($25|0); + if ($26) { + $27 = HEAP32[$11>>2]|0; + $28 = (_sqlite3_column_int($27,0)|0); + HEAP32[$12>>2] = $28; + } + $29 = HEAP32[$11>>2]|0; + $30 = (_sqlite3_reset($29)|0); + HEAP32[$10>>2] = $30; + } + $31 = HEAP32[$10>>2]|0; + $32 = ($31|0)==(0); + if (!($32)) { + $43 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($43|0); + } + $33 = HEAP32[$12>>2]|0; + $34 = ($33|0)>=(16); + if ($34) { + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$6>>2]|0; + $37 = HEAP32[$7>>2]|0; + $38 = HEAP32[$8>>2]|0; + $39 = (_fts3SegmentMerge($35,$36,$37,$38)|0); + HEAP32[$10>>2] = $39; + $40 = HEAP32[$9>>2]|0; + HEAP32[$40>>2] = 0; + $43 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($43|0); + } else { + $41 = HEAP32[$12>>2]|0; + $42 = HEAP32[$9>>2]|0; + HEAP32[$42>>2] = $41; + $43 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($43|0); + } + return (0)|0; +} +function _sqlite3Fts3SegReaderStart($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 12|0); + HEAP32[$8>>2] = $6; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_fts3SegReaderStart($9,$10,$12,$15)|0); + STACKTOP = sp;return ($16|0); +} +function _sqlite3Fts3SegReaderStep($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; + var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; + var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; + var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; + var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; + var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; + var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $2 = sp + 120|0; + $3 = sp + 116|0; + $4 = sp + 112|0; + $5 = sp + 108|0; + $6 = sp + 104|0; + $7 = sp + 100|0; + $8 = sp + 96|0; + $9 = sp + 92|0; + $10 = sp + 88|0; + $11 = sp + 84|0; + $12 = sp + 80|0; + $13 = sp + 76|0; + $14 = sp + 72|0; + $15 = sp + 68|0; + $16 = sp + 64|0; + $17 = sp + 60|0; + $18 = sp + 56|0; + $19 = sp + 52|0; + $20 = sp + 16|0; + $21 = sp + 48|0; + $22 = sp + 44|0; + $23 = sp + 40|0; + $24 = sp + 36|0; + $25 = sp + 8|0; + $26 = sp; + $27 = sp + 32|0; + $28 = sp + 28|0; + $29 = sp + 24|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + $35 = $34 & 2; + HEAP32[$6>>2] = $35; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP32[$39>>2]|0; + $41 = $40 & 1; + HEAP32[$7>>2] = $41; + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = $46 & 4; + HEAP32[$8>>2] = $47; + $48 = HEAP32[$4>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 & 8; + HEAP32[$9>>2] = $53; + $54 = HEAP32[$4>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 & 16; + HEAP32[$10>>2] = $59; + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = ((($62)) + 12|0); + $64 = HEAP32[$63>>2]|0; + $65 = $64 & 32; + HEAP32[$11>>2] = $65; + $66 = HEAP32[$4>>2]|0; + $67 = HEAP32[$66>>2]|0; + HEAP32[$12>>2] = $67; + $68 = HEAP32[$4>>2]|0; + $69 = ((($68)) + 4|0); + $70 = HEAP32[$69>>2]|0; + HEAP32[$13>>2] = $70; + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + HEAP32[$14>>2] = $73; + $74 = HEAP32[$3>>2]|0; + $75 = ((($74)) + 231|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = ($77|0)!=(0); + $79 = $78 ? 215 : 216; + HEAP32[$15>>2] = $79; + $80 = HEAP32[$4>>2]|0; + $81 = ((($80)) + 4|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)==(0); + if ($83) { + HEAP32[$2>>2] = 0; + $500 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($500|0); + } + L4: while(1) { + HEAP32[$17>>2] = 0; + while(1) { + $84 = HEAP32[$17>>2]|0; + $85 = HEAP32[$4>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($84|0)<($87|0); + $89 = HEAP32[$12>>2]|0; + if (!($88)) { + break; + } + $90 = HEAP32[$17>>2]|0; + $91 = (($89) + ($90<<2)|0); + $92 = HEAP32[$91>>2]|0; + HEAP32[$18>>2] = $92; + $93 = HEAP32[$18>>2]|0; + $94 = ((($93)) + 4|0); + $95 = HEAP8[$94>>0]|0; + $96 = ($95<<24>>24)!=(0); + if ($96) { + $97 = HEAP32[$18>>2]|0; + _fts3SegReaderSetEof($97); + } else { + $98 = HEAP32[$3>>2]|0; + $99 = HEAP32[$18>>2]|0; + $100 = (_fts3SegReaderNext($98,$99,0)|0); + HEAP32[$5>>2] = $100; + } + $101 = HEAP32[$5>>2]|0; + $102 = ($101|0)!=(0); + if ($102) { + label = 9; + break L4; + } + $104 = HEAP32[$17>>2]|0; + $105 = (($104) + 1)|0; + HEAP32[$17>>2] = $105; + } + $106 = HEAP32[$13>>2]|0; + $107 = HEAP32[$4>>2]|0; + $108 = ((($107)) + 8|0); + $109 = HEAP32[$108>>2]|0; + _fts3SegReaderSort($89,$106,$109,217); + $110 = HEAP32[$4>>2]|0; + $111 = ((($110)) + 8|0); + HEAP32[$111>>2] = 0; + $112 = HEAP32[$12>>2]|0; + $113 = HEAP32[$112>>2]|0; + $114 = ((($113)) + 40|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + label = 61; + break; + } + $117 = HEAP32[$12>>2]|0; + $118 = HEAP32[$117>>2]|0; + $119 = ((($118)) + 60|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$4>>2]|0; + $122 = ((($121)) + 44|0); + HEAP32[$122>>2] = $120; + $123 = HEAP32[$12>>2]|0; + $124 = HEAP32[$123>>2]|0; + $125 = ((($124)) + 64|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$4>>2]|0; + $128 = ((($127)) + 40|0); + HEAP32[$128>>2] = $126; + $129 = HEAP32[$14>>2]|0; + $130 = HEAP32[$129>>2]|0; + $131 = ($130|0)==(0|0); + $132 = HEAP32[$10>>2]|0; + $133 = ($132|0)!=(0); + $or$cond = $131 | $133; + if (!($or$cond)) { + $134 = HEAP32[$4>>2]|0; + $135 = ((($134)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = HEAP32[$14>>2]|0; + $138 = ((($137)) + 4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($136|0)<($139|0); + if ($140) { + label = 61; + break; + } + $141 = HEAP32[$9>>2]|0; + $142 = ($141|0)!=(0); + if (!($142)) { + $143 = HEAP32[$4>>2]|0; + $144 = ((($143)) + 44|0); + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$14>>2]|0; + $147 = ((($146)) + 4|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($145|0)>($148|0); + if ($149) { + label = 61; + break; + } + } + $150 = HEAP32[$4>>2]|0; + $151 = ((($150)) + 40|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$14>>2]|0; + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$14>>2]|0; + $156 = ((($155)) + 4|0); + $157 = HEAP32[$156>>2]|0; + $158 = (_memcmp($152,$154,$157)|0); + $159 = ($158|0)!=(0); + if ($159) { + label = 61; + break; + } + } + HEAP32[$16>>2] = 1; + while(1) { + $160 = HEAP32[$16>>2]|0; + $161 = HEAP32[$13>>2]|0; + $162 = ($160|0)<($161|0); + if ($162) { + $163 = HEAP32[$12>>2]|0; + $164 = HEAP32[$16>>2]|0; + $165 = (($163) + ($164<<2)|0); + $166 = HEAP32[$165>>2]|0; + $167 = ((($166)) + 40|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)!=(0|0); + if ($169) { + $170 = HEAP32[$12>>2]|0; + $171 = HEAP32[$16>>2]|0; + $172 = (($170) + ($171<<2)|0); + $173 = HEAP32[$172>>2]|0; + $174 = ((($173)) + 60|0); + $175 = HEAP32[$174>>2]|0; + $176 = HEAP32[$4>>2]|0; + $177 = ((($176)) + 44|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($175|0)==($178|0); + if ($179) { + $180 = HEAP32[$4>>2]|0; + $181 = ((($180)) + 40|0); + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$12>>2]|0; + $184 = HEAP32[$16>>2]|0; + $185 = (($183) + ($184<<2)|0); + $186 = HEAP32[$185>>2]|0; + $187 = ((($186)) + 64|0); + $188 = HEAP32[$187>>2]|0; + $189 = HEAP32[$4>>2]|0; + $190 = ((($189)) + 44|0); + $191 = HEAP32[$190>>2]|0; + $192 = (_memcmp($182,$188,$191)|0); + $193 = (0)==($192|0); + $501 = $193; + } else { + $501 = 0; + } + } else { + $501 = 0; + } + } else { + $501 = 0; + } + $194 = HEAP32[$16>>2]|0; + if (!($501)) { + break; + } + $195 = (($194) + 1)|0; + HEAP32[$16>>2] = $195; + } + $196 = ($194|0)!=(1); + $197 = HEAP32[$6>>2]|0; + $198 = ($197|0)!=(0); + $or$cond3 = $196 | $198; + $199 = HEAP32[$11>>2]|0; + $200 = ($199|0)!=(0); + $or$cond5 = $or$cond3 | $200; + do { + if ($or$cond5) { + label = 32; + } else { + $201 = HEAP32[$3>>2]|0; + $202 = ((($201)) + 231|0); + $203 = HEAP8[$202>>0]|0; + $204 = $203&255; + $205 = ($204|0)==(0); + if (!($205)) { + $206 = HEAP32[$12>>2]|0; + $207 = HEAP32[$206>>2]|0; + $208 = ((($207)) + 56|0); + $209 = HEAP32[$208>>2]|0; + $210 = ($209|0)!=(0|0); + $211 = $210&1; + $212 = ($211|0)==(0); + if (!($212)) { + label = 32; + break; + } + } + $213 = HEAP32[$12>>2]|0; + $214 = HEAP32[$213>>2]|0; + $215 = ((($214)) + 76|0); + $216 = HEAP32[$215>>2]|0; + $217 = HEAP32[$4>>2]|0; + $218 = ((($217)) + 52|0); + HEAP32[$218>>2] = $216; + $219 = HEAP32[$12>>2]|0; + $220 = HEAP32[$219>>2]|0; + $221 = ((($220)) + 56|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)!=(0|0); + if ($223) { + $224 = HEAP32[$4>>2]|0; + $225 = HEAP32[$12>>2]|0; + $226 = HEAP32[$225>>2]|0; + $227 = ((($226)) + 72|0); + $228 = HEAP32[$227>>2]|0; + $229 = HEAP32[$4>>2]|0; + $230 = ((($229)) + 52|0); + $231 = HEAP32[$230>>2]|0; + $232 = (_fts3MsrBufferData($224,$228,$231)|0); + HEAP32[$5>>2] = $232; + $233 = HEAP32[$4>>2]|0; + $234 = ((($233)) + 16|0); + $235 = HEAP32[$234>>2]|0; + $236 = HEAP32[$4>>2]|0; + $$sink = $235;$$sink7 = $236; + } else { + $237 = HEAP32[$12>>2]|0; + $238 = HEAP32[$237>>2]|0; + $239 = ((($238)) + 72|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[$4>>2]|0; + $$sink = $240;$$sink7 = $241; + } + $242 = ((($$sink7)) + 48|0); + HEAP32[$242>>2] = $$sink; + $243 = HEAP32[$5>>2]|0; + $244 = ($243|0)==(0); + if ($244) { + HEAP32[$5>>2] = 100; + } + } + } while(0); + if ((label|0) == 32) { + label = 0; + HEAP32[$19>>2] = 0; + $245 = $20; + $246 = $245; + HEAP32[$246>>2] = 0; + $247 = (($245) + 4)|0; + $248 = $247; + HEAP32[$248>>2] = 0; + HEAP32[$17>>2] = 0; + while(1) { + $249 = HEAP32[$17>>2]|0; + $250 = HEAP32[$16>>2]|0; + $251 = ($249|0)<($250|0); + if (!($251)) { + break; + } + $252 = HEAP32[$3>>2]|0; + $253 = HEAP32[$12>>2]|0; + $254 = HEAP32[$17>>2]|0; + $255 = (($253) + ($254<<2)|0); + $256 = HEAP32[$255>>2]|0; + (_fts3SegReaderFirstDocid($252,$256)|0); + $257 = HEAP32[$17>>2]|0; + $258 = (($257) + 1)|0; + HEAP32[$17>>2] = $258; + } + $259 = HEAP32[$12>>2]|0; + $260 = HEAP32[$16>>2]|0; + $261 = HEAP32[$16>>2]|0; + $262 = HEAP32[$15>>2]|0; + _fts3SegReaderSort($259,$260,$261,$262); + while(1) { + $263 = HEAP32[$12>>2]|0; + $264 = HEAP32[$263>>2]|0; + $265 = ((($264)) + 80|0); + $266 = HEAP32[$265>>2]|0; + $267 = ($266|0)!=(0|0); + if (!($267)) { + break; + } + HEAP32[$22>>2] = 0; + HEAP32[$23>>2] = 0; + $268 = HEAP32[$12>>2]|0; + $269 = HEAP32[$268>>2]|0; + $270 = ((($269)) + 88|0); + $271 = $270; + $272 = $271; + $273 = HEAP32[$272>>2]|0; + $274 = (($271) + 4)|0; + $275 = $274; + $276 = HEAP32[$275>>2]|0; + $277 = $25; + $278 = $277; + HEAP32[$278>>2] = $273; + $279 = (($277) + 4)|0; + $280 = $279; + HEAP32[$280>>2] = $276; + $281 = HEAP32[$3>>2]|0; + $282 = HEAP32[$12>>2]|0; + $283 = HEAP32[$282>>2]|0; + (_fts3SegReaderNextDocid($281,$283,$22,$23)|0); + HEAP32[$21>>2] = 1; + while(1) { + $284 = HEAP32[$21>>2]|0; + $285 = HEAP32[$16>>2]|0; + $286 = ($284|0)<($285|0); + if (!($286)) { + break; + } + $287 = HEAP32[$12>>2]|0; + $288 = HEAP32[$21>>2]|0; + $289 = (($287) + ($288<<2)|0); + $290 = HEAP32[$289>>2]|0; + $291 = ((($290)) + 80|0); + $292 = HEAP32[$291>>2]|0; + $293 = ($292|0)!=(0|0); + if (!($293)) { + break; + } + $294 = HEAP32[$12>>2]|0; + $295 = HEAP32[$21>>2]|0; + $296 = (($294) + ($295<<2)|0); + $297 = HEAP32[$296>>2]|0; + $298 = ((($297)) + 88|0); + $299 = $298; + $300 = $299; + $301 = HEAP32[$300>>2]|0; + $302 = (($299) + 4)|0; + $303 = $302; + $304 = HEAP32[$303>>2]|0; + $305 = $25; + $306 = $305; + $307 = HEAP32[$306>>2]|0; + $308 = (($305) + 4)|0; + $309 = $308; + $310 = HEAP32[$309>>2]|0; + $311 = ($301|0)==($307|0); + $312 = ($304|0)==($310|0); + $313 = $311 & $312; + if (!($313)) { + break; + } + $314 = HEAP32[$3>>2]|0; + $315 = HEAP32[$12>>2]|0; + $316 = HEAP32[$21>>2]|0; + $317 = (($315) + ($316<<2)|0); + $318 = HEAP32[$317>>2]|0; + (_fts3SegReaderNextDocid($314,$318,0,0)|0); + $319 = HEAP32[$21>>2]|0; + $320 = (($319) + 1)|0; + HEAP32[$21>>2] = $320; + } + $321 = HEAP32[$8>>2]|0; + $322 = ($321|0)!=(0); + if ($322) { + $323 = HEAP32[$14>>2]|0; + $324 = ((($323)) + 8|0); + $325 = HEAP32[$324>>2]|0; + _fts3ColumnFilter($325,0,$22,$23); + } + $326 = HEAP32[$6>>2]|0; + $327 = ($326|0)==(0); + $328 = HEAP32[$23>>2]|0; + $329 = ($328|0)>(0); + $or$cond10 = $327 | $329; + do { + if ($or$cond10) { + $330 = HEAP32[$3>>2]|0; + $331 = ((($330)) + 231|0); + $332 = HEAP8[$331>>0]|0; + $333 = $332&255; + $334 = ($333|0)!=(0); + $335 = HEAP32[$19>>2]|0; + $336 = ($335|0)>(0); + $or$cond12 = $334 & $336; + if ($or$cond12) { + $337 = $20; + $338 = $337; + $339 = HEAP32[$338>>2]|0; + $340 = (($337) + 4)|0; + $341 = $340; + $342 = HEAP32[$341>>2]|0; + $343 = $25; + $344 = $343; + $345 = HEAP32[$344>>2]|0; + $346 = (($343) + 4)|0; + $347 = $346; + $348 = HEAP32[$347>>2]|0; + $349 = (_i64Subtract(($339|0),($342|0),($345|0),($348|0))|0); + $350 = tempRet0; + $351 = $26; + $352 = $351; + HEAP32[$352>>2] = $349; + $353 = (($351) + 4)|0; + $354 = $353; + HEAP32[$354>>2] = $350; + } else { + $355 = $25; + $356 = $355; + $357 = HEAP32[$356>>2]|0; + $358 = (($355) + 4)|0; + $359 = $358; + $360 = HEAP32[$359>>2]|0; + $361 = $20; + $362 = $361; + $363 = HEAP32[$362>>2]|0; + $364 = (($361) + 4)|0; + $365 = $364; + $366 = HEAP32[$365>>2]|0; + $367 = (_i64Subtract(($357|0),($360|0),($363|0),($366|0))|0); + $368 = tempRet0; + $369 = $26; + $370 = $369; + HEAP32[$370>>2] = $367; + $371 = (($369) + 4)|0; + $372 = $371; + HEAP32[$372>>2] = $368; + } + $373 = $26; + $374 = $373; + $375 = HEAP32[$374>>2]|0; + $376 = (($373) + 4)|0; + $377 = $376; + $378 = HEAP32[$377>>2]|0; + $379 = (_sqlite3Fts3VarintLen($375,$378)|0); + $380 = HEAP32[$7>>2]|0; + $381 = ($380|0)!=(0); + $382 = HEAP32[$23>>2]|0; + $383 = (($382) + 1)|0; + $384 = $381 ? $383 : 0; + $385 = (($379) + ($384))|0; + HEAP32[$24>>2] = $385; + $386 = HEAP32[$19>>2]|0; + $387 = HEAP32[$24>>2]|0; + $388 = (($386) + ($387))|0; + $389 = HEAP32[$4>>2]|0; + $390 = ((($389)) + 20|0); + $391 = HEAP32[$390>>2]|0; + $392 = ($388|0)>($391|0); + if ($392) { + $393 = HEAP32[$19>>2]|0; + $394 = HEAP32[$24>>2]|0; + $395 = (($393) + ($394))|0; + $396 = $395<<1; + $397 = HEAP32[$4>>2]|0; + $398 = ((($397)) + 20|0); + HEAP32[$398>>2] = $396; + $399 = HEAP32[$4>>2]|0; + $400 = ((($399)) + 16|0); + $401 = HEAP32[$400>>2]|0; + $402 = HEAP32[$4>>2]|0; + $403 = ((($402)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = (_sqlite3_realloc($401,$404)|0); + HEAP32[$27>>2] = $405; + $406 = HEAP32[$27>>2]|0; + $407 = ($406|0)!=(0|0); + if (!($407)) { + label = 50; + break L4; + } + $408 = HEAP32[$27>>2]|0; + $409 = HEAP32[$4>>2]|0; + $410 = ((($409)) + 16|0); + HEAP32[$410>>2] = $408; + } + $411 = HEAP32[$11>>2]|0; + $412 = ($411|0)!=(0); + $413 = HEAP32[$4>>2]|0; + $414 = ((($413)) + 16|0); + $415 = HEAP32[$414>>2]|0; + $416 = HEAP32[$19>>2]|0; + $417 = (($415) + ($416)|0); + if ($412) { + HEAP32[$28>>2] = $417; + $418 = $26; + $419 = $418; + $420 = HEAP32[$419>>2]|0; + $421 = (($418) + 4)|0; + $422 = $421; + $423 = HEAP32[$422>>2]|0; + $424 = HEAP32[$22>>2]|0; + $425 = HEAP32[$23>>2]|0; + $426 = HEAP32[$28>>2]|0; + $427 = (_sqlite3Fts3FirstFilter($420,$423,$424,$425,$426)|0); + HEAP32[$29>>2] = $427; + $428 = HEAP32[$29>>2]|0; + $429 = ($428|0)!=(0); + if (!($429)) { + break; + } + $430 = $25; + $431 = $430; + $432 = HEAP32[$431>>2]|0; + $433 = (($430) + 4)|0; + $434 = $433; + $435 = HEAP32[$434>>2]|0; + $436 = $20; + $437 = $436; + HEAP32[$437>>2] = $432; + $438 = (($436) + 4)|0; + $439 = $438; + HEAP32[$439>>2] = $435; + $440 = HEAP32[$29>>2]|0; + $441 = HEAP32[$19>>2]|0; + $442 = (($441) + ($440))|0; + HEAP32[$19>>2] = $442; + break; + } else { + $443 = $26; + $444 = $443; + $445 = HEAP32[$444>>2]|0; + $446 = (($443) + 4)|0; + $447 = $446; + $448 = HEAP32[$447>>2]|0; + $449 = (_sqlite3Fts3PutVarint($417,$445,$448)|0); + $450 = HEAP32[$19>>2]|0; + $451 = (($450) + ($449))|0; + HEAP32[$19>>2] = $451; + $452 = $25; + $453 = $452; + $454 = HEAP32[$453>>2]|0; + $455 = (($452) + 4)|0; + $456 = $455; + $457 = HEAP32[$456>>2]|0; + $458 = $20; + $459 = $458; + HEAP32[$459>>2] = $454; + $460 = (($458) + 4)|0; + $461 = $460; + HEAP32[$461>>2] = $457; + $462 = HEAP32[$7>>2]|0; + $463 = ($462|0)!=(0); + if (!($463)) { + break; + } + $464 = HEAP32[$4>>2]|0; + $465 = ((($464)) + 16|0); + $466 = HEAP32[$465>>2]|0; + $467 = HEAP32[$19>>2]|0; + $468 = (($466) + ($467)|0); + $469 = HEAP32[$22>>2]|0; + $470 = HEAP32[$23>>2]|0; + _memcpy(($468|0),($469|0),($470|0))|0; + $471 = HEAP32[$23>>2]|0; + $472 = HEAP32[$19>>2]|0; + $473 = (($472) + ($471))|0; + HEAP32[$19>>2] = $473; + $474 = HEAP32[$4>>2]|0; + $475 = ((($474)) + 16|0); + $476 = HEAP32[$475>>2]|0; + $477 = HEAP32[$19>>2]|0; + $478 = (($477) + 1)|0; + HEAP32[$19>>2] = $478; + $479 = (($476) + ($477)|0); + HEAP8[$479>>0] = 0; + break; + } + } + } while(0); + $480 = HEAP32[$12>>2]|0; + $481 = HEAP32[$16>>2]|0; + $482 = HEAP32[$21>>2]|0; + $483 = HEAP32[$15>>2]|0; + _fts3SegReaderSort($480,$481,$482,$483); + } + $484 = HEAP32[$19>>2]|0; + $485 = ($484|0)>(0); + if ($485) { + $486 = HEAP32[$4>>2]|0; + $487 = ((($486)) + 16|0); + $488 = HEAP32[$487>>2]|0; + $489 = HEAP32[$4>>2]|0; + $490 = ((($489)) + 48|0); + HEAP32[$490>>2] = $488; + $491 = HEAP32[$19>>2]|0; + $492 = HEAP32[$4>>2]|0; + $493 = ((($492)) + 52|0); + HEAP32[$493>>2] = $491; + HEAP32[$5>>2] = 100; + } + } + $494 = HEAP32[$16>>2]|0; + $495 = HEAP32[$4>>2]|0; + $496 = ((($495)) + 8|0); + HEAP32[$496>>2] = $494; + $497 = HEAP32[$5>>2]|0; + $498 = ($497|0)==(0); + if (!($498)) { + label = 61; + break; + } + } + if ((label|0) == 9) { + $103 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $103; + $500 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($500|0); + } + else if ((label|0) == 50) { + HEAP32[$2>>2] = 7; + $500 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($500|0); + } + else if ((label|0) == 61) { + $499 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $499; + $500 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($500|0); + } + return (0)|0; +} +function _fts3SegWriterAdd($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $7 = sp + 68|0; + $8 = sp + 64|0; + $9 = sp + 60|0; + $10 = sp + 56|0; + $11 = sp + 52|0; + $12 = sp + 48|0; + $13 = sp + 44|0; + $14 = sp + 40|0; + $15 = sp + 36|0; + $16 = sp + 32|0; + $17 = sp + 28|0; + $18 = sp + 24|0; + $19 = sp + 20|0; + $20 = sp + 16|0; + $21 = sp + 12|0; + $22 = sp + 8|0; + $23 = sp + 4|0; + $24 = sp; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + $25 = HEAP32[$9>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$19>>2] = $26; + $27 = HEAP32[$19>>2]|0; + $28 = ($27|0)!=(0|0); + if (!($28)) { + $29 = (_sqlite3_malloc(64)|0); + HEAP32[$19>>2] = $29; + $30 = HEAP32[$19>>2]|0; + $31 = ($30|0)!=(0|0); + if (!($31)) { + HEAP32[$7>>2] = 7; + $310 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($310|0); + } + $32 = HEAP32[$19>>2]|0; + dest=$32; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $33 = HEAP32[$19>>2]|0; + $34 = HEAP32[$9>>2]|0; + HEAP32[$34>>2] = $33; + $35 = HEAP32[$8>>2]|0; + $36 = ((($35)) + 224|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_sqlite3_malloc($37)|0); + $39 = HEAP32[$19>>2]|0; + $40 = ((($39)) + 48|0); + HEAP32[$40>>2] = $38; + $41 = HEAP32[$19>>2]|0; + $42 = ((($41)) + 48|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)!=(0|0); + if (!($44)) { + HEAP32[$7>>2] = 7; + $310 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($310|0); + } + $45 = HEAP32[$8>>2]|0; + $46 = ((($45)) + 224|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$19>>2]|0; + $49 = ((($48)) + 40|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$8>>2]|0; + $51 = (_fts3SqlStmt($50,10,$21,0)|0); + HEAP32[$20>>2] = $51; + $52 = HEAP32[$20>>2]|0; + $53 = ($52|0)!=(0); + if ($53) { + $54 = HEAP32[$20>>2]|0; + HEAP32[$7>>2] = $54; + $310 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($310|0); + } + $55 = HEAP32[$21>>2]|0; + $56 = (_sqlite3_step($55)|0); + $57 = (100)==($56|0); + if ($57) { + $58 = HEAP32[$21>>2]|0; + $59 = (_sqlite3_column_int64($58,0)|0); + $60 = tempRet0; + $61 = HEAP32[$19>>2]|0; + $62 = ((($61)) + 16|0); + $63 = $62; + $64 = $63; + HEAP32[$64>>2] = $59; + $65 = (($63) + 4)|0; + $66 = $65; + HEAP32[$66>>2] = $60; + $67 = HEAP32[$19>>2]|0; + $68 = ((($67)) + 16|0); + $69 = $68; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$19>>2]|0; + $76 = ((($75)) + 8|0); + $77 = $76; + $78 = $77; + HEAP32[$78>>2] = $71; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = $74; + } + $81 = HEAP32[$21>>2]|0; + $82 = (_sqlite3_reset($81)|0); + HEAP32[$20>>2] = $82; + $83 = HEAP32[$20>>2]|0; + $84 = ($83|0)!=(0); + if ($84) { + $85 = HEAP32[$20>>2]|0; + HEAP32[$7>>2] = $85; + $310 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($310|0); + } + } + $86 = HEAP32[$19>>2]|0; + $87 = ((($86)) + 44|0); + $88 = HEAP32[$87>>2]|0; + HEAP32[$18>>2] = $88; + $89 = HEAP32[$19>>2]|0; + $90 = ((($89)) + 24|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$19>>2]|0; + $93 = ((($92)) + 28|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$11>>2]|0; + $96 = HEAP32[$12>>2]|0; + $97 = (_fts3PrefixCompress($91,$94,$95,$96)|0); + HEAP32[$15>>2] = $97; + $98 = HEAP32[$12>>2]|0; + $99 = HEAP32[$15>>2]|0; + $100 = (($98) - ($99))|0; + HEAP32[$16>>2] = $100; + $101 = HEAP32[$15>>2]|0; + $102 = ($101|0)<(0); + $103 = $102 << 31 >> 31; + $104 = (_sqlite3Fts3VarintLen($101,$103)|0); + $105 = HEAP32[$16>>2]|0; + $106 = ($105|0)<(0); + $107 = $106 << 31 >> 31; + $108 = (_sqlite3Fts3VarintLen($105,$107)|0); + $109 = (($104) + ($108))|0; + $110 = HEAP32[$16>>2]|0; + $111 = (($109) + ($110))|0; + $112 = HEAP32[$14>>2]|0; + $113 = ($112|0)<(0); + $114 = $113 << 31 >> 31; + $115 = (_sqlite3Fts3VarintLen($112,$114)|0); + $116 = (($111) + ($115))|0; + $117 = HEAP32[$14>>2]|0; + $118 = (($116) + ($117))|0; + HEAP32[$17>>2] = $118; + $119 = HEAP32[$18>>2]|0; + $120 = ($119|0)>(0); + do { + if ($120) { + $121 = HEAP32[$18>>2]|0; + $122 = HEAP32[$17>>2]|0; + $123 = (($121) + ($122))|0; + $124 = HEAP32[$8>>2]|0; + $125 = ((($124)) + 224|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($123|0)>($126|0); + if ($127) { + $128 = HEAP32[$8>>2]|0; + $129 = HEAP32[$19>>2]|0; + $130 = ((($129)) + 16|0); + $131 = $130; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (($131) + 4)|0; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = (_i64Add(($133|0),($136|0),1,0)|0); + $138 = tempRet0; + $139 = $130; + $140 = $139; + HEAP32[$140>>2] = $137; + $141 = (($139) + 4)|0; + $142 = $141; + HEAP32[$142>>2] = $138; + $143 = HEAP32[$19>>2]|0; + $144 = ((($143)) + 48|0); + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$18>>2]|0; + $147 = (_fts3WriteSegment($128,$133,$136,$145,$146)|0); + HEAP32[$22>>2] = $147; + $148 = HEAP32[$22>>2]|0; + $149 = ($148|0)!=(0); + if ($149) { + $150 = HEAP32[$22>>2]|0; + HEAP32[$7>>2] = $150; + $310 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($310|0); + } + $151 = HEAP32[$8>>2]|0; + $152 = ((($151)) + 52|0); + $153 = HEAP32[$152>>2]|0; + $154 = (($153) + 1)|0; + HEAP32[$152>>2] = $154; + $155 = HEAP32[$8>>2]|0; + $156 = HEAP32[$19>>2]|0; + $157 = HEAP32[$10>>2]|0; + $158 = HEAP32[$11>>2]|0; + $159 = HEAP32[$15>>2]|0; + $160 = (($159) + 1)|0; + $161 = (_fts3NodeAddTerm($155,$156,$157,$158,$160)|0); + HEAP32[$22>>2] = $161; + $162 = HEAP32[$22>>2]|0; + $163 = ($162|0)!=(0); + if (!($163)) { + HEAP32[$18>>2] = 0; + $165 = HEAP32[$19>>2]|0; + $166 = ((($165)) + 28|0); + HEAP32[$166>>2] = 0; + HEAP32[$15>>2] = 0; + $167 = HEAP32[$12>>2]|0; + HEAP32[$16>>2] = $167; + $168 = HEAP32[$12>>2]|0; + $169 = ($168|0)<(0); + $170 = $169 << 31 >> 31; + $171 = (_sqlite3Fts3VarintLen($168,$170)|0); + $172 = (1 + ($171))|0; + $173 = HEAP32[$12>>2]|0; + $174 = (($172) + ($173))|0; + $175 = HEAP32[$14>>2]|0; + $176 = ($175|0)<(0); + $177 = $176 << 31 >> 31; + $178 = (_sqlite3Fts3VarintLen($175,$177)|0); + $179 = (($174) + ($178))|0; + $180 = HEAP32[$14>>2]|0; + $181 = (($179) + ($180))|0; + HEAP32[$17>>2] = $181; + break; + } + $164 = HEAP32[$22>>2]|0; + HEAP32[$7>>2] = $164; + $310 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($310|0); + } + } + } while(0); + $182 = HEAP32[$17>>2]|0; + $183 = ($182|0)<(0); + $184 = $183 << 31 >> 31; + $185 = HEAP32[$19>>2]|0; + $186 = ((($185)) + 56|0); + $187 = $186; + $188 = $187; + $189 = HEAP32[$188>>2]|0; + $190 = (($187) + 4)|0; + $191 = $190; + $192 = HEAP32[$191>>2]|0; + $193 = (_i64Add(($189|0),($192|0),($182|0),($184|0))|0); + $194 = tempRet0; + $195 = $186; + $196 = $195; + HEAP32[$196>>2] = $193; + $197 = (($195) + 4)|0; + $198 = $197; + HEAP32[$198>>2] = $194; + $199 = HEAP32[$17>>2]|0; + $200 = HEAP32[$19>>2]|0; + $201 = ((($200)) + 40|0); + $202 = HEAP32[$201>>2]|0; + $203 = ($199|0)>($202|0); + do { + if ($203) { + $204 = HEAP32[$19>>2]|0; + $205 = ((($204)) + 48|0); + $206 = HEAP32[$205>>2]|0; + $207 = HEAP32[$17>>2]|0; + $208 = (_sqlite3_realloc($206,$207)|0); + HEAP32[$23>>2] = $208; + $209 = HEAP32[$23>>2]|0; + $210 = ($209|0)!=(0|0); + if ($210) { + $211 = HEAP32[$23>>2]|0; + $212 = HEAP32[$19>>2]|0; + $213 = ((($212)) + 48|0); + HEAP32[$213>>2] = $211; + $214 = HEAP32[$17>>2]|0; + $215 = HEAP32[$19>>2]|0; + $216 = ((($215)) + 40|0); + HEAP32[$216>>2] = $214; + break; + } + HEAP32[$7>>2] = 7; + $310 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($310|0); + } + } while(0); + $217 = HEAP32[$19>>2]|0; + $218 = ((($217)) + 48|0); + $219 = HEAP32[$218>>2]|0; + $220 = HEAP32[$18>>2]|0; + $221 = (($219) + ($220)|0); + $222 = HEAP32[$15>>2]|0; + $223 = ($222|0)<(0); + $224 = $223 << 31 >> 31; + $225 = (_sqlite3Fts3PutVarint($221,$222,$224)|0); + $226 = HEAP32[$18>>2]|0; + $227 = (($226) + ($225))|0; + HEAP32[$18>>2] = $227; + $228 = HEAP32[$19>>2]|0; + $229 = ((($228)) + 48|0); + $230 = HEAP32[$229>>2]|0; + $231 = HEAP32[$18>>2]|0; + $232 = (($230) + ($231)|0); + $233 = HEAP32[$16>>2]|0; + $234 = ($233|0)<(0); + $235 = $234 << 31 >> 31; + $236 = (_sqlite3Fts3PutVarint($232,$233,$235)|0); + $237 = HEAP32[$18>>2]|0; + $238 = (($237) + ($236))|0; + HEAP32[$18>>2] = $238; + $239 = HEAP32[$19>>2]|0; + $240 = ((($239)) + 48|0); + $241 = HEAP32[$240>>2]|0; + $242 = HEAP32[$18>>2]|0; + $243 = (($241) + ($242)|0); + $244 = HEAP32[$11>>2]|0; + $245 = HEAP32[$15>>2]|0; + $246 = (($244) + ($245)|0); + $247 = HEAP32[$16>>2]|0; + _memcpy(($243|0),($246|0),($247|0))|0; + $248 = HEAP32[$16>>2]|0; + $249 = HEAP32[$18>>2]|0; + $250 = (($249) + ($248))|0; + HEAP32[$18>>2] = $250; + $251 = HEAP32[$19>>2]|0; + $252 = ((($251)) + 48|0); + $253 = HEAP32[$252>>2]|0; + $254 = HEAP32[$18>>2]|0; + $255 = (($253) + ($254)|0); + $256 = HEAP32[$14>>2]|0; + $257 = ($256|0)<(0); + $258 = $257 << 31 >> 31; + $259 = (_sqlite3Fts3PutVarint($255,$256,$258)|0); + $260 = HEAP32[$18>>2]|0; + $261 = (($260) + ($259))|0; + HEAP32[$18>>2] = $261; + $262 = HEAP32[$19>>2]|0; + $263 = ((($262)) + 48|0); + $264 = HEAP32[$263>>2]|0; + $265 = HEAP32[$18>>2]|0; + $266 = (($264) + ($265)|0); + $267 = HEAP32[$13>>2]|0; + $268 = HEAP32[$14>>2]|0; + _memcpy(($266|0),($267|0),($268|0))|0; + $269 = HEAP32[$18>>2]|0; + $270 = HEAP32[$14>>2]|0; + $271 = (($269) + ($270))|0; + $272 = HEAP32[$19>>2]|0; + $273 = ((($272)) + 44|0); + HEAP32[$273>>2] = $271; + $274 = HEAP32[$10>>2]|0; + $275 = ($274|0)!=(0); + if ($275) { + $276 = HEAP32[$12>>2]|0; + $277 = HEAP32[$19>>2]|0; + $278 = ((($277)) + 32|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($276|0)>($279|0); + do { + if ($280) { + $281 = HEAP32[$19>>2]|0; + $282 = ((($281)) + 36|0); + $283 = HEAP32[$282>>2]|0; + $284 = HEAP32[$12>>2]|0; + $285 = $284<<1; + $286 = (_sqlite3_realloc($283,$285)|0); + HEAP32[$24>>2] = $286; + $287 = HEAP32[$24>>2]|0; + $288 = ($287|0)!=(0|0); + if ($288) { + $289 = HEAP32[$12>>2]|0; + $290 = $289<<1; + $291 = HEAP32[$19>>2]|0; + $292 = ((($291)) + 32|0); + HEAP32[$292>>2] = $290; + $293 = HEAP32[$24>>2]|0; + $294 = HEAP32[$19>>2]|0; + $295 = ((($294)) + 36|0); + HEAP32[$295>>2] = $293; + $296 = HEAP32[$24>>2]|0; + $297 = HEAP32[$19>>2]|0; + $298 = ((($297)) + 24|0); + HEAP32[$298>>2] = $296; + break; + } + HEAP32[$7>>2] = 7; + $310 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($310|0); + } + } while(0); + $299 = HEAP32[$19>>2]|0; + $300 = ((($299)) + 24|0); + $301 = HEAP32[$300>>2]|0; + $302 = HEAP32[$11>>2]|0; + $303 = HEAP32[$12>>2]|0; + _memcpy(($301|0),($302|0),($303|0))|0; + } else { + $304 = HEAP32[$11>>2]|0; + $305 = HEAP32[$19>>2]|0; + $306 = ((($305)) + 24|0); + HEAP32[$306>>2] = $304; + } + $307 = HEAP32[$12>>2]|0; + $308 = HEAP32[$19>>2]|0; + $309 = ((($308)) + 28|0); + HEAP32[$309>>2] = $307; + HEAP32[$7>>2] = 0; + $310 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($310|0); +} +function _fts3DeleteSegdir($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $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, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$14>>2] = 0; + while(1) { + $16 = HEAP32[$13>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + break; + } + $18 = HEAP32[$14>>2]|0; + $19 = HEAP32[$12>>2]|0; + $20 = ($18|0)<($19|0); + if (!($20)) { + break; + } + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$11>>2]|0; + $23 = HEAP32[$14>>2]|0; + $24 = (($22) + ($23<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = (_fts3DeleteSegment($21,$25)|0); + HEAP32[$13>>2] = $26; + $27 = HEAP32[$14>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$14>>2] = $28; + } + $29 = HEAP32[$13>>2]|0; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $31; + $66 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($66|0); + } + $32 = HEAP32[$10>>2]|0; + $33 = ($32|0)==(-2); + $34 = HEAP32[$7>>2]|0; + if ($33) { + $35 = (_fts3SqlStmt($34,26,$15,0)|0); + HEAP32[$13>>2] = $35; + $36 = HEAP32[$13>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $38 = HEAP32[$15>>2]|0; + $39 = HEAP32[$7>>2]|0; + $40 = HEAP32[$8>>2]|0; + $41 = HEAP32[$9>>2]|0; + $42 = (_getAbsoluteLevel($39,$40,$41,0)|0); + $43 = tempRet0; + (_sqlite3_bind_int64($38,1,$42,$43)|0); + $44 = HEAP32[$15>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = HEAP32[$8>>2]|0; + $47 = HEAP32[$9>>2]|0; + $48 = (_getAbsoluteLevel($45,$46,$47,1023)|0); + $49 = tempRet0; + (_sqlite3_bind_int64($44,2,$48,$49)|0); + } + } else { + $50 = (_fts3SqlStmt($34,16,$15,0)|0); + HEAP32[$13>>2] = $50; + $51 = HEAP32[$13>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$15>>2]|0; + $54 = HEAP32[$7>>2]|0; + $55 = HEAP32[$8>>2]|0; + $56 = HEAP32[$9>>2]|0; + $57 = HEAP32[$10>>2]|0; + $58 = (_getAbsoluteLevel($54,$55,$56,$57)|0); + $59 = tempRet0; + (_sqlite3_bind_int64($53,1,$58,$59)|0); + } + } + $60 = HEAP32[$13>>2]|0; + $61 = ($60|0)==(0); + if ($61) { + $62 = HEAP32[$15>>2]|0; + (_sqlite3_step($62)|0); + $63 = HEAP32[$15>>2]|0; + $64 = (_sqlite3_reset($63)|0); + HEAP32[$13>>2] = $64; + } + $65 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $65; + $66 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($66|0); +} +function _fts3SegWriterFlush($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $40 = 0, $41 = 0, $42 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 16|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 8|0; + $11 = sp; + $12 = sp + 28|0; + $13 = sp + 24|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + $14 = $7; + $15 = $14; + HEAP32[$15>>2] = $2; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $3; + HEAP32[$8>>2] = $4; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(0|0); + if (!($20)) { + $122 = HEAP32[$5>>2]|0; + $123 = $7; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = (($123) + 4)|0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = HEAP32[$8>>2]|0; + $130 = HEAP32[$6>>2]|0; + $131 = ((($130)) + 56|0); + $132 = $131; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = (($132) + 4)|0; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = HEAP32[$6>>2]|0; + $139 = ((($138)) + 48|0); + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$6>>2]|0; + $142 = ((($141)) + 44|0); + $143 = HEAP32[$142>>2]|0; + $144 = (_fts3WriteSegdir($122,$125,$128,$129,0,0,0,0,0,0,$134,$137,$140,$143)|0); + HEAP32[$9>>2] = $144; + $145 = HEAP32[$5>>2]|0; + $146 = ((($145)) + 52|0); + $147 = HEAP32[$146>>2]|0; + $148 = (($147) + 1)|0; + HEAP32[$146>>2] = $148; + $149 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($149|0); + } + $21 = $10; + $22 = $21; + HEAP32[$22>>2] = 0; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 16|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $11; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 16|0); + $40 = $39; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (_i64Add(($42|0),($45|0),1,0)|0); + $47 = tempRet0; + $48 = $39; + $49 = $48; + HEAP32[$49>>2] = $46; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 48|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$6>>2]|0; + $56 = ((($55)) + 44|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_fts3WriteSegment($37,$42,$45,$54,$57)|0); + HEAP32[$9>>2] = $58; + $59 = HEAP32[$9>>2]|0; + $60 = ($59|0)==(0); + if ($60) { + $61 = HEAP32[$5>>2]|0; + $62 = HEAP32[$6>>2]|0; + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$6>>2]|0; + $65 = ((($64)) + 8|0); + $66 = $65; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$6>>2]|0; + $73 = ((($72)) + 16|0); + $74 = $73; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (_fts3NodeWrite($61,$63,1,$68,$71,$76,$79,$10,$12,$13)|0); + HEAP32[$9>>2] = $80; + } + $81 = HEAP32[$9>>2]|0; + $82 = ($81|0)==(0); + if (!($82)) { + $145 = HEAP32[$5>>2]|0; + $146 = ((($145)) + 52|0); + $147 = HEAP32[$146>>2]|0; + $148 = (($147) + 1)|0; + HEAP32[$146>>2] = $148; + $149 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($149|0); + } + $83 = HEAP32[$5>>2]|0; + $84 = $7; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (($84) + 4)|0; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$8>>2]|0; + $91 = HEAP32[$6>>2]|0; + $92 = ((($91)) + 8|0); + $93 = $92; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = $11; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = (($99) + 4)|0; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = $10; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$6>>2]|0; + $112 = ((($111)) + 56|0); + $113 = $112; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = (($113) + 4)|0; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$12>>2]|0; + $120 = HEAP32[$13>>2]|0; + $121 = (_fts3WriteSegdir($83,$86,$89,$90,$95,$98,$101,$104,$107,$110,$115,$118,$119,$120)|0); + HEAP32[$9>>2] = $121; + $145 = HEAP32[$5>>2]|0; + $146 = ((($145)) + 52|0); + $147 = HEAP32[$146>>2]|0; + $148 = (($147) + 1)|0; + HEAP32[$146>>2] = $148; + $149 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($149|0); +} +function _fts3PromoteSegments($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $40 = 0, $41 = 0, $42 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $5 = sp + 72|0; + $6 = sp + 40|0; + $7 = sp + 32|0; + $8 = sp + 68|0; + $9 = sp + 64|0; + $10 = sp + 60|0; + $11 = sp + 24|0; + $12 = sp + 16|0; + $13 = sp + 8|0; + $14 = sp; + $15 = sp + 56|0; + $16 = sp + 52|0; + $17 = sp + 48|0; + HEAP32[$5>>2] = $0; + $18 = $6; + $19 = $18; + HEAP32[$19>>2] = $1; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $2; + $22 = $7; + $23 = $22; + HEAP32[$23>>2] = $3; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $4; + HEAP32[$8>>2] = 0; + $26 = HEAP32[$5>>2]|0; + $27 = (_fts3SqlStmt($26,37,$9,0)|0); + HEAP32[$8>>2] = $27; + $28 = HEAP32[$8>>2]|0; + $29 = ($28|0)==(0); + if (!($29)) { + $169 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($169|0); + } + HEAP32[$10>>2] = 0; + $30 = $6; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (___divdi3(($32|0),($35|0),1024,0)|0); + $37 = tempRet0; + $38 = (_i64Add(($36|0),($37|0),1,0)|0); + $39 = tempRet0; + $40 = (___muldi3(($38|0),($39|0),1024,0)|0); + $41 = tempRet0; + $42 = (_i64Subtract(($40|0),($41|0),1,0)|0); + $43 = tempRet0; + $44 = $11; + $45 = $44; + HEAP32[$45>>2] = $42; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + $48 = $7; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (___muldi3(($50|0),($53|0),3,0)|0); + $55 = tempRet0; + $56 = (___divdi3(($54|0),($55|0),2,0)|0); + $57 = tempRet0; + $58 = $12; + $59 = $58; + HEAP32[$59>>2] = $56; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = HEAP32[$9>>2]|0; + $63 = $6; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (($63) + 4)|0; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (_i64Add(($65|0),($68|0),1,0)|0); + $70 = tempRet0; + (_sqlite3_bind_int64($62,1,$69,$70)|0); + $71 = HEAP32[$9>>2]|0; + $72 = $11; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + (_sqlite3_bind_int64($71,2,$74,$77)|0); + while(1) { + $78 = HEAP32[$9>>2]|0; + $79 = (_sqlite3_step($78)|0); + $80 = (100)==($79|0); + if (!($80)) { + break; + } + $81 = $13; + $82 = $81; + HEAP32[$82>>2] = 0; + $83 = (($81) + 4)|0; + $84 = $83; + HEAP32[$84>>2] = 0; + $85 = HEAP32[$9>>2]|0; + _fts3ReadEndBlockField($85,2,$14,$13); + $86 = $13; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)<(0); + $93 = ($88>>>0)<=(0); + $94 = ($91|0)==(0); + $95 = $94 & $93; + $96 = $92 | $95; + if ($96) { + label = 6; + break; + } + $97 = $13; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $12; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = ($102|0)>($108|0); + $110 = ($99>>>0)>($105>>>0); + $111 = ($102|0)==($108|0); + $112 = $111 & $110; + $113 = $109 | $112; + if ($113) { + label = 6; + break; + } + HEAP32[$10>>2] = 1; + } + if ((label|0) == 6) { + HEAP32[$10>>2] = 0; + } + $114 = HEAP32[$9>>2]|0; + $115 = (_sqlite3_reset($114)|0); + HEAP32[$8>>2] = $115; + $116 = HEAP32[$10>>2]|0; + $117 = ($116|0)!=(0); + if (!($117)) { + $169 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($169|0); + } + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + $118 = HEAP32[$8>>2]|0; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[$5>>2]|0; + $121 = (_fts3SqlStmt($120,38,$16,0)|0); + HEAP32[$8>>2] = $121; + } + $122 = HEAP32[$8>>2]|0; + $123 = ($122|0)==(0); + if ($123) { + $124 = HEAP32[$5>>2]|0; + $125 = (_fts3SqlStmt($124,39,$17,0)|0); + HEAP32[$8>>2] = $125; + } + $126 = HEAP32[$8>>2]|0; + $127 = ($126|0)==(0); + L21: do { + if ($127) { + $128 = HEAP32[$9>>2]|0; + $129 = $6; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + (_sqlite3_bind_int64($128,1,$131,$134)|0); + while(1) { + $135 = HEAP32[$9>>2]|0; + $136 = (_sqlite3_step($135)|0); + $137 = (100)==($136|0); + if (!($137)) { + break L21; + } + $138 = HEAP32[$16>>2]|0; + $139 = HEAP32[$15>>2]|0; + $140 = (($139) + 1)|0; + HEAP32[$15>>2] = $140; + (_sqlite3_bind_int($138,1,$139)|0); + $141 = HEAP32[$16>>2]|0; + $142 = HEAP32[$9>>2]|0; + $143 = (_sqlite3_column_int($142,0)|0); + (_sqlite3_bind_int($141,2,$143)|0); + $144 = HEAP32[$16>>2]|0; + $145 = HEAP32[$9>>2]|0; + $146 = (_sqlite3_column_int($145,1)|0); + (_sqlite3_bind_int($144,3,$146)|0); + $147 = HEAP32[$16>>2]|0; + (_sqlite3_step($147)|0); + $148 = HEAP32[$16>>2]|0; + $149 = (_sqlite3_reset($148)|0); + HEAP32[$8>>2] = $149; + $150 = HEAP32[$8>>2]|0; + $151 = ($150|0)!=(0); + if ($151) { + break; + } + } + $152 = HEAP32[$9>>2]|0; + (_sqlite3_reset($152)|0); + } + } while(0); + $153 = HEAP32[$8>>2]|0; + $154 = ($153|0)==(0); + if ($154) { + $155 = HEAP32[$9>>2]|0; + $156 = (_sqlite3_reset($155)|0); + HEAP32[$8>>2] = $156; + } + $157 = HEAP32[$8>>2]|0; + $158 = ($157|0)==(0); + if (!($158)) { + $169 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($169|0); + } + $159 = HEAP32[$17>>2]|0; + $160 = $6; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = (($160) + 4)|0; + $164 = $163; + $165 = HEAP32[$164>>2]|0; + (_sqlite3_bind_int64($159,1,$162,$165)|0); + $166 = HEAP32[$17>>2]|0; + (_sqlite3_step($166)|0); + $167 = HEAP32[$17>>2]|0; + $168 = (_sqlite3_reset($167)|0); + HEAP32[$8>>2] = $168; + $169 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($169|0); +} +function _fts3SegWriterFree($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + STACKTOP = sp;return; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 48|0); + $6 = HEAP32[$5>>2]|0; + _sqlite3_free($6); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 36|0); + $9 = HEAP32[$8>>2]|0; + _sqlite3_free($9); + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$10>>2]|0; + _fts3NodeFree($11); + $12 = HEAP32[$1>>2]|0; + _sqlite3_free($12); + STACKTOP = sp;return; +} +function _sqlite3Fts3SegReaderFinish($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; + } + HEAP32[$2>>2] = 0; + while(1) { + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($5|0)<($8|0); + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$10>>2]|0; + if (!($9)) { + break; + } + $12 = HEAP32[$2>>2]|0; + $13 = (($11) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3Fts3SegReaderFree($14); + $15 = HEAP32[$2>>2]|0; + $16 = (($15) + 1)|0; + HEAP32[$2>>2] = $16; + } + _sqlite3_free($11); + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3_free($19); + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 4|0); + HEAP32[$21>>2] = 0; + $22 = HEAP32[$1>>2]|0; + HEAP32[$22>>2] = 0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 16|0); + HEAP32[$24>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3Fts3SegReaderFree($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + $22 = HEAP32[$1>>2]|0; + _sqlite3_free($22); + STACKTOP = sp;return; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 56|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 64|0); + $10 = HEAP32[$9>>2]|0; + _sqlite3_free($10); + } + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 5|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)!=(0); + if (!($15)) { + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 40|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3_free($18); + } + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 52|0); + $21 = HEAP32[$20>>2]|0; + (_sqlite3_blob_close($21)|0); + $22 = HEAP32[$1>>2]|0; + _sqlite3_free($22); + STACKTOP = sp;return; +} +function _fts3NodeFree($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + _fts3NodeFree($10); + while(1) { + $11 = HEAP32[$2>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + break; + } + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$3>>2] = $15; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 36|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 40|0); + $21 = ($18|0)!=($20|0); + if ($21) { + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 36|0); + $24 = HEAP32[$23>>2]|0; + _sqlite3_free($24); + } + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 28|0); + $27 = HEAP32[$26>>2]|0; + _sqlite3_free($27); + $28 = HEAP32[$2>>2]|0; + _sqlite3_free($28); + $29 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $29; + } + STACKTOP = sp;return; +} +function _fts3ReadEndBlockField($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (_sqlite3_column_text($12,$13)|0); + HEAP32[$8>>2] = $14; + $15 = HEAP32[$8>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { + STACKTOP = sp;return; + } + HEAP32[$10>>2] = 1; + $17 = $11; + $18 = $17; + HEAP32[$18>>2] = 0; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = 0; + HEAP32[$9>>2] = 0; + while(1) { + $21 = HEAP32[$8>>2]|0; + $22 = HEAP32[$9>>2]|0; + $23 = (($21) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = ($25|0)>=(48); + if ($26) { + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = (($27) + ($28)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = ($31|0)<=(57); + $128 = $32; + } else { + $128 = 0; + } + $33 = $11; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + if (!($128)) { + break; + } + $39 = (___muldi3(($35|0),($38|0),10,0)|0); + $40 = tempRet0; + $41 = HEAP32[$8>>2]|0; + $42 = HEAP32[$9>>2]|0; + $43 = (($41) + ($42)|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = (($45) - 48)|0; + $47 = ($46|0)<(0); + $48 = $47 << 31 >> 31; + $49 = (_i64Add(($39|0),($40|0),($46|0),($48|0))|0); + $50 = tempRet0; + $51 = $11; + $52 = $51; + HEAP32[$52>>2] = $49; + $53 = (($51) + 4)|0; + $54 = $53; + HEAP32[$54>>2] = $50; + $55 = HEAP32[$9>>2]|0; + $56 = (($55) + 1)|0; + HEAP32[$9>>2] = $56; + } + $57 = HEAP32[$6>>2]|0; + $58 = $57; + $59 = $58; + HEAP32[$59>>2] = $35; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $38; + while(1) { + $62 = HEAP32[$8>>2]|0; + $63 = HEAP32[$9>>2]|0; + $64 = (($62) + ($63)|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = ($66|0)==(32); + if (!($67)) { + break; + } + $68 = HEAP32[$9>>2]|0; + $69 = (($68) + 1)|0; + HEAP32[$9>>2] = $69; + } + $70 = $11; + $71 = $70; + HEAP32[$71>>2] = 0; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = 0; + $74 = HEAP32[$8>>2]|0; + $75 = HEAP32[$9>>2]|0; + $76 = (($74) + ($75)|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = ($78|0)==(45); + if ($79) { + $80 = HEAP32[$9>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$9>>2] = $81; + HEAP32[$10>>2] = -1; + } + while(1) { + $82 = HEAP32[$8>>2]|0; + $83 = HEAP32[$9>>2]|0; + $84 = (($82) + ($83)|0); + $85 = HEAP8[$84>>0]|0; + $86 = $85&255; + $87 = ($86|0)>=(48); + if ($87) { + $88 = HEAP32[$8>>2]|0; + $89 = HEAP32[$9>>2]|0; + $90 = (($88) + ($89)|0); + $91 = HEAP8[$90>>0]|0; + $92 = $91&255; + $93 = ($92|0)<=(57); + $129 = $93; + } else { + $129 = 0; + } + $94 = $11; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + if (!($129)) { + break; + } + $100 = (___muldi3(($96|0),($99|0),10,0)|0); + $101 = tempRet0; + $102 = HEAP32[$8>>2]|0; + $103 = HEAP32[$9>>2]|0; + $104 = (($102) + ($103)|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + $107 = (($106) - 48)|0; + $108 = ($107|0)<(0); + $109 = $108 << 31 >> 31; + $110 = (_i64Add(($100|0),($101|0),($107|0),($109|0))|0); + $111 = tempRet0; + $112 = $11; + $113 = $112; + HEAP32[$113>>2] = $110; + $114 = (($112) + 4)|0; + $115 = $114; + HEAP32[$115>>2] = $111; + $116 = HEAP32[$9>>2]|0; + $117 = (($116) + 1)|0; + HEAP32[$9>>2] = $117; + } + $118 = HEAP32[$10>>2]|0; + $119 = ($118|0)<(0); + $120 = $119 << 31 >> 31; + $121 = (___muldi3(($96|0),($99|0),($118|0),($120|0))|0); + $122 = tempRet0; + $123 = HEAP32[$7>>2]|0; + $124 = $123; + $125 = $124; + HEAP32[$125>>2] = $121; + $126 = (($124) + 4)|0; + $127 = $126; + HEAP32[$127>>2] = $122; + STACKTOP = sp;return; +} +function _fts3WriteSegment($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + HEAP32[$5>>2] = $0; + $11 = $6; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = $4; + $15 = HEAP32[$5>>2]|0; + $16 = (_fts3SqlStmt($15,9,$9,0)|0); + HEAP32[$10>>2] = $16; + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(0); + if (!($18)) { + $32 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($32|0); + } + $19 = HEAP32[$9>>2]|0; + $20 = $6; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + (_sqlite3_bind_int64($19,1,$22,$25)|0); + $26 = HEAP32[$9>>2]|0; + $27 = HEAP32[$7>>2]|0; + $28 = HEAP32[$8>>2]|0; + (_sqlite3_bind_blob($26,2,$27,$28,0)|0); + $29 = HEAP32[$9>>2]|0; + (_sqlite3_step($29)|0); + $30 = HEAP32[$9>>2]|0; + $31 = (_sqlite3_reset($30)|0); + HEAP32[$10>>2] = $31; + $32 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _fts3NodeWrite($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $10 = sp + 72|0; + $11 = sp + 68|0; + $12 = sp + 64|0; + $13 = sp + 24|0; + $14 = sp + 16|0; + $15 = sp + 60|0; + $16 = sp + 56|0; + $17 = sp + 52|0; + $18 = sp + 48|0; + $19 = sp + 44|0; + $20 = sp + 40|0; + $21 = sp + 8|0; + $22 = sp; + $23 = sp + 36|0; + $24 = sp + 32|0; + HEAP32[$10>>2] = $0; + HEAP32[$11>>2] = $1; + HEAP32[$12>>2] = $2; + $25 = $13; + $26 = $25; + HEAP32[$26>>2] = $3; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $4; + $29 = $14; + $30 = $29; + HEAP32[$30>>2] = $5; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $6; + HEAP32[$15>>2] = $7; + HEAP32[$16>>2] = $8; + HEAP32[$17>>2] = $9; + HEAP32[$18>>2] = 0; + $33 = HEAP32[$11>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)!=(0|0); + if (!($35)) { + $36 = HEAP32[$11>>2]|0; + $37 = HEAP32[$12>>2]|0; + $38 = $13; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (_fts3TreeFinishNode($36,$37,$40,$43)|0); + HEAP32[$19>>2] = $44; + $45 = $14; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (_i64Subtract(($47|0),($50|0),1,0)|0); + $52 = tempRet0; + $53 = HEAP32[$15>>2]|0; + $54 = $53; + $55 = $54; + HEAP32[$55>>2] = $51; + $56 = (($54) + 4)|0; + $57 = $56; + HEAP32[$57>>2] = $52; + $58 = HEAP32[$11>>2]|0; + $59 = ((($58)) + 32|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$19>>2]|0; + $62 = (($60) - ($61))|0; + $63 = HEAP32[$17>>2]|0; + HEAP32[$63>>2] = $62; + $64 = HEAP32[$11>>2]|0; + $65 = ((($64)) + 36|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$19>>2]|0; + $68 = (($66) + ($67)|0); + $69 = HEAP32[$16>>2]|0; + HEAP32[$69>>2] = $68; + $182 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($182|0); + } + $70 = $14; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (($70) + 4)|0; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = $21; + $77 = $76; + HEAP32[$77>>2] = $72; + $78 = (($76) + 4)|0; + $79 = $78; + HEAP32[$79>>2] = $75; + $80 = $13; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (($80) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = $22; + $87 = $86; + HEAP32[$87>>2] = $82; + $88 = (($86) + 4)|0; + $89 = $88; + HEAP32[$89>>2] = $85; + $90 = HEAP32[$11>>2]|0; + $91 = ((($90)) + 8|0); + $92 = HEAP32[$91>>2]|0; + HEAP32[$20>>2] = $92; + while(1) { + $93 = HEAP32[$20>>2]|0; + $94 = ($93|0)!=(0|0); + $95 = HEAP32[$18>>2]|0; + $96 = ($95|0)==(0); + $97 = $94 ? $96 : 0; + if (!($97)) { + break; + } + $98 = HEAP32[$20>>2]|0; + $99 = HEAP32[$12>>2]|0; + $100 = $22; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (_fts3TreeFinishNode($98,$99,$102,$105)|0); + HEAP32[$23>>2] = $106; + $107 = HEAP32[$20>>2]|0; + $108 = ((($107)) + 32|0); + $109 = HEAP32[$108>>2]|0; + $110 = HEAP32[$23>>2]|0; + $111 = (($109) - ($110))|0; + HEAP32[$24>>2] = $111; + $112 = HEAP32[$10>>2]|0; + $113 = $21; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = (($113) + 4)|0; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$20>>2]|0; + $120 = ((($119)) + 36|0); + $121 = HEAP32[$120>>2]|0; + $122 = HEAP32[$23>>2]|0; + $123 = (($121) + ($122)|0); + $124 = HEAP32[$24>>2]|0; + $125 = (_fts3WriteSegment($112,$115,$118,$123,$124)|0); + HEAP32[$18>>2] = $125; + $126 = $21; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = (($126) + 4)|0; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (_i64Add(($128|0),($131|0),1,0)|0); + $133 = tempRet0; + $134 = $21; + $135 = $134; + HEAP32[$135>>2] = $132; + $136 = (($134) + 4)|0; + $137 = $136; + HEAP32[$137>>2] = $133; + $138 = HEAP32[$20>>2]|0; + $139 = ((($138)) + 12|0); + $140 = HEAP32[$139>>2]|0; + $141 = (($140) + 1)|0; + $142 = ($141|0)<(0); + $143 = $142 << 31 >> 31; + $144 = $22; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = (_i64Add(($146|0),($149|0),($141|0),($143|0))|0); + $151 = tempRet0; + $152 = $22; + $153 = $152; + HEAP32[$153>>2] = $150; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + $156 = HEAP32[$20>>2]|0; + $157 = ((($156)) + 4|0); + $158 = HEAP32[$157>>2]|0; + HEAP32[$20>>2] = $158; + } + $159 = HEAP32[$18>>2]|0; + $160 = ($159|0)==(0); + if (!($160)) { + $182 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($182|0); + } + $161 = HEAP32[$10>>2]|0; + $162 = HEAP32[$11>>2]|0; + $163 = HEAP32[$162>>2]|0; + $164 = HEAP32[$12>>2]|0; + $165 = (($164) + 1)|0; + $166 = $14; + $167 = $166; + $168 = HEAP32[$167>>2]|0; + $169 = (($166) + 4)|0; + $170 = $169; + $171 = HEAP32[$170>>2]|0; + $172 = $21; + $173 = $172; + $174 = HEAP32[$173>>2]|0; + $175 = (($172) + 4)|0; + $176 = $175; + $177 = HEAP32[$176>>2]|0; + $178 = HEAP32[$15>>2]|0; + $179 = HEAP32[$16>>2]|0; + $180 = HEAP32[$17>>2]|0; + $181 = (_fts3NodeWrite($161,$163,$165,$168,$171,$174,$177,$178,$179,$180)|0); + HEAP32[$18>>2] = $181; + $182 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($182|0); +} +function _fts3WriteSegdir($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + $10 = $10|0; + $11 = $11|0; + $12 = $12|0; + $13 = $13|0; + var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0; + var $120 = 0, $121 = 0, $122 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer = sp + 40|0; + $14 = sp + 84|0; + $15 = sp + 80|0; + $16 = sp + 32|0; + $17 = sp + 76|0; + $18 = sp + 24|0; + $19 = sp + 16|0; + $20 = sp + 8|0; + $21 = sp; + $22 = sp + 72|0; + $23 = sp + 68|0; + $24 = sp + 64|0; + $25 = sp + 60|0; + $26 = sp + 56|0; + HEAP32[$15>>2] = $0; + $27 = $16; + $28 = $27; + HEAP32[$28>>2] = $1; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $2; + HEAP32[$17>>2] = $3; + $31 = $18; + $32 = $31; + HEAP32[$32>>2] = $4; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $5; + $35 = $19; + $36 = $35; + HEAP32[$36>>2] = $6; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $7; + $39 = $20; + $40 = $39; + HEAP32[$40>>2] = $8; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $9; + $43 = $21; + $44 = $43; + HEAP32[$44>>2] = $10; + $45 = (($43) + 4)|0; + $46 = $45; + HEAP32[$46>>2] = $11; + HEAP32[$22>>2] = $12; + HEAP32[$23>>2] = $13; + $47 = HEAP32[$15>>2]|0; + $48 = (_fts3SqlStmt($47,11,$24,0)|0); + HEAP32[$25>>2] = $48; + $49 = HEAP32[$25>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + $51 = HEAP32[$24>>2]|0; + $52 = $16; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + (_sqlite3_bind_int64($51,1,$54,$57)|0); + $58 = HEAP32[$24>>2]|0; + $59 = HEAP32[$17>>2]|0; + (_sqlite3_bind_int($58,2,$59)|0); + $60 = HEAP32[$24>>2]|0; + $61 = $18; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + (_sqlite3_bind_int64($60,3,$63,$66)|0); + $67 = HEAP32[$24>>2]|0; + $68 = $19; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + (_sqlite3_bind_int64($67,4,$70,$73)|0); + $74 = $21; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = ($76|0)==(0); + $81 = ($79|0)==(0); + $82 = $80 & $81; + do { + if ($82) { + $83 = HEAP32[$24>>2]|0; + $84 = $20; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (($84) + 4)|0; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + (_sqlite3_bind_int64($83,5,$86,$89)|0); + } else { + $90 = $20; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = (($90) + 4)|0; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = $21; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (($96) + 4)|0; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = $vararg_buffer; + $103 = $102; + HEAP32[$103>>2] = $92; + $104 = (($102) + 4)|0; + $105 = $104; + HEAP32[$105>>2] = $95; + $vararg_ptr1 = ((($vararg_buffer)) + 8|0); + $106 = $vararg_ptr1; + $107 = $106; + HEAP32[$107>>2] = $98; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $101; + $110 = (_sqlite3_mprintf(45278,$vararg_buffer)|0); + HEAP32[$26>>2] = $110; + $111 = HEAP32[$26>>2]|0; + $112 = ($111|0)!=(0|0); + if ($112) { + $113 = HEAP32[$24>>2]|0; + $114 = HEAP32[$26>>2]|0; + (_sqlite3_bind_text($113,5,$114,-1,157)|0); + break; + } + HEAP32[$14>>2] = 7; + $122 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($122|0); + } + } while(0); + $115 = HEAP32[$24>>2]|0; + $116 = HEAP32[$22>>2]|0; + $117 = HEAP32[$23>>2]|0; + (_sqlite3_bind_blob($115,6,$116,$117,0)|0); + $118 = HEAP32[$24>>2]|0; + (_sqlite3_step($118)|0); + $119 = HEAP32[$24>>2]|0; + $120 = (_sqlite3_reset($119)|0); + HEAP32[$25>>2] = $120; + } + $121 = HEAP32[$25>>2]|0; + HEAP32[$14>>2] = $121; + $122 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($122|0); +} +function _fts3TreeFinishNode($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $8 = $6; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $3; + $12 = $6; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3Fts3VarintLen($14,$17)|0); + $19 = (10 - ($18))|0; + HEAP32[$7>>2] = $19; + $20 = HEAP32[$5>>2]|0; + $21 = $20&255; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 36|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$7>>2]|0; + $26 = (($24) + ($25)|0); + HEAP8[$26>>0] = $21; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 36|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = (($30) + 1)|0; + $32 = (($29) + ($31)|0); + $33 = $6; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + (_sqlite3Fts3PutVarint($32,$35,$38)|0); + $39 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($39|0); +} +function _sqlite3Fts3VarintLen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp; + $3 = sp + 8|0; + $4 = $2; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + HEAP32[$3>>2] = 0; + while(1) { + $8 = HEAP32[$3>>2]|0; + $9 = (($8) + 1)|0; + HEAP32[$3>>2] = $9; + $10 = $2; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (_bitshift64Lshr(($12|0),($15|0),7)|0); + $17 = tempRet0; + $18 = $2; + $19 = $18; + HEAP32[$19>>2] = $16; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = $2; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = ($24|0)!=(0); + $29 = ($27|0)!=(0); + $30 = $28 | $29; + if (!($30)) { + break; + } + } + $31 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($31|0); +} +function _sqlite3Fts3PutVarint($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 8|0; + $5 = sp + 16|0; + $6 = sp; + HEAP32[$3>>2] = $0; + $7 = $4; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $11; + $12 = $4; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = $6; + $19 = $18; + HEAP32[$19>>2] = $14; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $17; + while(1) { + $22 = $6; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = $24 & 127; + $29 = $28 | 128; + $30 = $29&255; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 1|0); + HEAP32[$5>>2] = $32; + HEAP8[$31>>0] = $30; + $33 = $6; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (_bitshift64Lshr(($35|0),($38|0),7)|0); + $40 = tempRet0; + $41 = $6; + $42 = $41; + HEAP32[$42>>2] = $39; + $43 = (($41) + 4)|0; + $44 = $43; + HEAP32[$44>>2] = $40; + $45 = $6; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = ($47|0)!=(0); + $52 = ($50|0)!=(0); + $53 = $51 | $52; + if (!($53)) { + break; + } + } + $54 = HEAP32[$5>>2]|0; + $55 = ((($54)) + -1|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $57 & 127; + $59 = $58&255; + HEAP8[$55>>0] = $59; + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$3>>2]|0; + $62 = $60; + $63 = $61; + $64 = (($62) - ($63))|0; + STACKTOP = sp;return ($64|0); +} +function _fts3DeleteSegment($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 8|0); + $8 = $7; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = ($10|0)!=(0); + $15 = ($13|0)!=(0); + $16 = $14 | $15; + if (!($16)) { + $42 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($42|0); + } + $17 = HEAP32[$2>>2]|0; + $18 = (_fts3SqlStmt($17,17,$5,0)|0); + HEAP32[$4>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)==(0); + if (!($20)) { + $42 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($42|0); + } + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 8|0); + $24 = $23; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + (_sqlite3_bind_int64($21,1,$26,$29)|0); + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 24|0); + $33 = $32; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + (_sqlite3_bind_int64($30,2,$35,$38)|0); + $39 = HEAP32[$5>>2]|0; + (_sqlite3_step($39)|0); + $40 = HEAP32[$5>>2]|0; + $41 = (_sqlite3_reset($40)|0); + HEAP32[$4>>2] = $41; + $42 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($42|0); +} +function _fts3PrefixCompress($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + while(1) { + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = ($9|0)<($10|0); + if (!($11)) { + label = 5; + break; + } + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$8>>2]|0; + $14 = (($12) + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$8>>2]|0; + $19 = (($17) + ($18)|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($16|0)==($21|0); + if (!($22)) { + label = 5; + break; + } + $23 = HEAP32[$8>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$8>>2] = $24; + } + if ((label|0) == 5) { + $25 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($25|0); + } + return (0)|0; +} +function _fts3NodeAddTerm($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $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, dest = 0, label = 0; + var sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + $19 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $20 = HEAP32[$7>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$11>>2] = $21; + $22 = HEAP32[$11>>2]|0; + $23 = ($22|0)!=(0|0); + do { + if ($23) { + $24 = HEAP32[$11>>2]|0; + $25 = ((($24)) + 32|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$14>>2] = $26; + $27 = HEAP32[$14>>2]|0; + HEAP32[$15>>2] = $27; + $28 = HEAP32[$11>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$11>>2]|0; + $32 = ((($31)) + 20|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$9>>2]|0; + $35 = HEAP32[$10>>2]|0; + $36 = (_fts3PrefixCompress($30,$33,$34,$35)|0); + HEAP32[$16>>2] = $36; + $37 = HEAP32[$10>>2]|0; + $38 = HEAP32[$16>>2]|0; + $39 = (($37) - ($38))|0; + HEAP32[$17>>2] = $39; + $40 = HEAP32[$16>>2]|0; + $41 = ($40|0)<(0); + $42 = $41 << 31 >> 31; + $43 = (_sqlite3Fts3VarintLen($40,$42)|0); + $44 = HEAP32[$17>>2]|0; + $45 = ($44|0)<(0); + $46 = $45 << 31 >> 31; + $47 = (_sqlite3Fts3VarintLen($44,$46)|0); + $48 = (($43) + ($47))|0; + $49 = HEAP32[$17>>2]|0; + $50 = (($48) + ($49))|0; + $51 = HEAP32[$15>>2]|0; + $52 = (($51) + ($50))|0; + HEAP32[$15>>2] = $52; + $53 = HEAP32[$15>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ((($54)) + 224|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($53|0)<=($56|0); + if (!($57)) { + $58 = HEAP32[$11>>2]|0; + $59 = ((($58)) + 16|0); + $60 = HEAP32[$59>>2]|0; + $61 = ($60|0)!=(0|0); + if ($61) { + break; + } + } + $62 = HEAP32[$15>>2]|0; + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 224|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($62|0)>($65|0); + if ($66) { + $67 = HEAP32[$15>>2]|0; + $68 = (_sqlite3_malloc($67)|0); + $69 = HEAP32[$11>>2]|0; + $70 = ((($69)) + 36|0); + HEAP32[$70>>2] = $68; + $71 = HEAP32[$11>>2]|0; + $72 = ((($71)) + 36|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0|0); + if (!($74)) { + HEAP32[$5>>2] = 7; + $220 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($220|0); + } + } + $75 = HEAP32[$11>>2]|0; + $76 = ((($75)) + 16|0); + $77 = HEAP32[$76>>2]|0; + $78 = ($77|0)!=(0|0); + if ($78) { + $79 = HEAP32[$11>>2]|0; + $80 = ((($79)) + 36|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$14>>2]|0; + $83 = (($81) + ($82)|0); + $84 = HEAP32[$16>>2]|0; + $85 = ($84|0)<(0); + $86 = $85 << 31 >> 31; + $87 = (_sqlite3Fts3PutVarint($83,$84,$86)|0); + $88 = HEAP32[$14>>2]|0; + $89 = (($88) + ($87))|0; + HEAP32[$14>>2] = $89; + } + $90 = HEAP32[$11>>2]|0; + $91 = ((($90)) + 36|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$14>>2]|0; + $94 = (($92) + ($93)|0); + $95 = HEAP32[$17>>2]|0; + $96 = ($95|0)<(0); + $97 = $96 << 31 >> 31; + $98 = (_sqlite3Fts3PutVarint($94,$95,$97)|0); + $99 = HEAP32[$14>>2]|0; + $100 = (($99) + ($98))|0; + HEAP32[$14>>2] = $100; + $101 = HEAP32[$11>>2]|0; + $102 = ((($101)) + 36|0); + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$14>>2]|0; + $105 = (($103) + ($104)|0); + $106 = HEAP32[$9>>2]|0; + $107 = HEAP32[$16>>2]|0; + $108 = (($106) + ($107)|0); + $109 = HEAP32[$17>>2]|0; + _memcpy(($105|0),($108|0),($109|0))|0; + $110 = HEAP32[$14>>2]|0; + $111 = HEAP32[$17>>2]|0; + $112 = (($110) + ($111))|0; + $113 = HEAP32[$11>>2]|0; + $114 = ((($113)) + 32|0); + HEAP32[$114>>2] = $112; + $115 = HEAP32[$11>>2]|0; + $116 = ((($115)) + 12|0); + $117 = HEAP32[$116>>2]|0; + $118 = (($117) + 1)|0; + HEAP32[$116>>2] = $118; + $119 = HEAP32[$8>>2]|0; + $120 = ($119|0)!=(0); + if ($120) { + $121 = HEAP32[$11>>2]|0; + $122 = ((($121)) + 24|0); + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$10>>2]|0; + $125 = ($123|0)<($124|0); + do { + if ($125) { + $126 = HEAP32[$11>>2]|0; + $127 = ((($126)) + 28|0); + $128 = HEAP32[$127>>2]|0; + $129 = HEAP32[$10>>2]|0; + $130 = $129<<1; + $131 = (_sqlite3_realloc($128,$130)|0); + HEAP32[$18>>2] = $131; + $132 = HEAP32[$18>>2]|0; + $133 = ($132|0)!=(0|0); + if ($133) { + $134 = HEAP32[$10>>2]|0; + $135 = $134<<1; + $136 = HEAP32[$11>>2]|0; + $137 = ((($136)) + 24|0); + HEAP32[$137>>2] = $135; + $138 = HEAP32[$18>>2]|0; + $139 = HEAP32[$11>>2]|0; + $140 = ((($139)) + 28|0); + HEAP32[$140>>2] = $138; + break; + } + HEAP32[$5>>2] = 7; + $220 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($220|0); + } + } while(0); + $141 = HEAP32[$11>>2]|0; + $142 = ((($141)) + 28|0); + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$11>>2]|0; + $145 = ((($144)) + 16|0); + HEAP32[$145>>2] = $143; + $146 = HEAP32[$11>>2]|0; + $147 = ((($146)) + 16|0); + $148 = HEAP32[$147>>2]|0; + $149 = HEAP32[$9>>2]|0; + $150 = HEAP32[$10>>2]|0; + _memcpy(($148|0),($149|0),($150|0))|0; + $151 = HEAP32[$10>>2]|0; + $152 = HEAP32[$11>>2]|0; + $$sink = $151;$$sink2 = $152; + } else { + $153 = HEAP32[$9>>2]|0; + $154 = HEAP32[$11>>2]|0; + $155 = ((($154)) + 16|0); + HEAP32[$155>>2] = $153; + $156 = HEAP32[$10>>2]|0; + $157 = HEAP32[$11>>2]|0; + $$sink = $156;$$sink2 = $157; + } + $158 = ((($$sink2)) + 20|0); + HEAP32[$158>>2] = $$sink; + HEAP32[$5>>2] = 0; + $220 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($220|0); + } + } while(0); + $159 = HEAP32[$6>>2]|0; + $160 = ((($159)) + 224|0); + $161 = HEAP32[$160>>2]|0; + $162 = (40 + ($161))|0; + $163 = (_sqlite3_malloc($162)|0); + HEAP32[$13>>2] = $163; + $164 = HEAP32[$13>>2]|0; + $165 = ($164|0)!=(0|0); + if (!($165)) { + HEAP32[$5>>2] = 7; + $220 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($220|0); + } + $166 = HEAP32[$13>>2]|0; + dest=$166; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $167 = HEAP32[$13>>2]|0; + $168 = ((($167)) + 32|0); + HEAP32[$168>>2] = 11; + $169 = HEAP32[$13>>2]|0; + $170 = ((($169)) + 40|0); + $171 = HEAP32[$13>>2]|0; + $172 = ((($171)) + 36|0); + HEAP32[$172>>2] = $170; + $173 = HEAP32[$11>>2]|0; + $174 = ($173|0)!=(0|0); + if ($174) { + $175 = HEAP32[$11>>2]|0; + $176 = HEAP32[$175>>2]|0; + HEAP32[$19>>2] = $176; + $177 = HEAP32[$6>>2]|0; + $178 = HEAP32[$8>>2]|0; + $179 = HEAP32[$9>>2]|0; + $180 = HEAP32[$10>>2]|0; + $181 = (_fts3NodeAddTerm($177,$19,$178,$179,$180)|0); + HEAP32[$12>>2] = $181; + $182 = HEAP32[$11>>2]|0; + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + $185 = HEAP32[$19>>2]|0; + $186 = HEAP32[$11>>2]|0; + HEAP32[$186>>2] = $185; + } + $187 = HEAP32[$13>>2]|0; + $188 = HEAP32[$11>>2]|0; + $189 = ((($188)) + 4|0); + HEAP32[$189>>2] = $187; + $190 = HEAP32[$11>>2]|0; + $191 = ((($190)) + 8|0); + $192 = HEAP32[$191>>2]|0; + $193 = HEAP32[$13>>2]|0; + $194 = ((($193)) + 8|0); + HEAP32[$194>>2] = $192; + $195 = HEAP32[$19>>2]|0; + $196 = HEAP32[$13>>2]|0; + HEAP32[$196>>2] = $195; + $197 = HEAP32[$11>>2]|0; + $198 = ((($197)) + 28|0); + $199 = HEAP32[$198>>2]|0; + $200 = HEAP32[$13>>2]|0; + $201 = ((($200)) + 28|0); + HEAP32[$201>>2] = $199; + $202 = HEAP32[$11>>2]|0; + $203 = ((($202)) + 24|0); + $204 = HEAP32[$203>>2]|0; + $205 = HEAP32[$13>>2]|0; + $206 = ((($205)) + 24|0); + HEAP32[$206>>2] = $204; + $207 = HEAP32[$11>>2]|0; + $208 = ((($207)) + 28|0); + HEAP32[$208>>2] = 0; + } else { + $209 = HEAP32[$13>>2]|0; + $210 = HEAP32[$13>>2]|0; + $211 = ((($210)) + 8|0); + HEAP32[$211>>2] = $209; + $212 = HEAP32[$6>>2]|0; + $213 = HEAP32[$8>>2]|0; + $214 = HEAP32[$9>>2]|0; + $215 = HEAP32[$10>>2]|0; + $216 = (_fts3NodeAddTerm($212,$13,$213,$214,$215)|0); + HEAP32[$12>>2] = $216; + } + $217 = HEAP32[$13>>2]|0; + $218 = HEAP32[$7>>2]|0; + HEAP32[$218>>2] = $217; + $219 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $219; + $220 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($220|0); +} +function _fts3SegReaderDoclistCmpRev($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 80|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + $9 = $8&1; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 80|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0|0); + $14 = $13&1; + $15 = (($9) - ($14))|0; + HEAP32[$4>>2] = $15; + $16 = HEAP32[$4>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $64 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($64|0); + } + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 88|0); + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 88|0); + $28 = $27; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = ($22|0)==($30|0); + $35 = ($25|0)==($33|0); + $36 = $34 & $35; + if ($36) { + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) - ($40))|0; + HEAP32[$4>>2] = $41; + $64 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($64|0); + } else { + $42 = HEAP32[$2>>2]|0; + $43 = ((($42)) + 88|0); + $44 = $43; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 88|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = ($49|0)<($57|0); + $59 = ($46>>>0)<($54>>>0); + $60 = ($49|0)==($57|0); + $61 = $60 & $59; + $62 = $58 | $61; + $63 = $62 ? 1 : -1; + HEAP32[$4>>2] = $63; + $64 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($64|0); + } + return (0)|0; +} +function _fts3SegReaderDoclistCmp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 80|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + $9 = $8&1; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 80|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0|0); + $14 = $13&1; + $15 = (($9) - ($14))|0; + HEAP32[$4>>2] = $15; + $16 = HEAP32[$4>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $64 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($64|0); + } + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 88|0); + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 88|0); + $28 = $27; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = ($22|0)==($30|0); + $35 = ($25|0)==($33|0); + $36 = $34 & $35; + if ($36) { + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) - ($40))|0; + HEAP32[$4>>2] = $41; + $64 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($64|0); + } else { + $42 = HEAP32[$2>>2]|0; + $43 = ((($42)) + 88|0); + $44 = $43; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 88|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = ($49|0)>($57|0); + $59 = ($46>>>0)>($54>>>0); + $60 = ($49|0)==($57|0); + $61 = $60 & $59; + $62 = $58 | $61; + $63 = $62 ? 1 : -1; + HEAP32[$4>>2] = $63; + $64 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($64|0); + } + return (0)|0; +} +function _fts3SegReaderSetEof($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 5|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)!=(0); + if ($6) { + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 40|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; + } + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 40|0); + $9 = HEAP32[$8>>2]|0; + _sqlite3_free($9); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 52|0); + $12 = HEAP32[$11>>2]|0; + (_sqlite3_blob_close($12)|0); + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 52|0); + HEAP32[$14>>2] = 0; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 40|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; +} +function _fts3SegReaderNext($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 72|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(0|0); + $21 = HEAP32[$5>>2]|0; + if ($20) { + $24 = ((($21)) + 72|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 76|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($25) + ($28)|0); + HEAP32[$8>>2] = $29; + } else { + $22 = ((($21)) + 40|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$8>>2] = $23; + } + $30 = HEAP32[$8>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$8>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 40|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 44|0); + $38 = HEAP32[$37>>2]|0; + $39 = (($35) + ($38)|0); + $40 = ($32>>>0)>=($39>>>0); + if ($40) { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 56|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)!=(0|0); + $45 = HEAP32[$5>>2]|0; + if ($44) { + $46 = ((($45)) + 56|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$47>>2]|0; + HEAP32[$11>>2] = $48; + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 40|0); + $51 = HEAP32[$50>>2]|0; + _sqlite3_free($51); + $52 = HEAP32[$5>>2]|0; + $53 = ((($52)) + 40|0); + HEAP32[$53>>2] = 0; + $54 = HEAP32[$11>>2]|0; + $55 = ($54|0)!=(0|0); + do { + if ($55) { + $56 = HEAP32[$11>>2]|0; + $57 = ((($56)) + 8|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$13>>2] = $58; + $59 = HEAP32[$13>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = (($60) + 1)|0; + HEAP32[$14>>2] = $61; + $62 = HEAP32[$11>>2]|0; + $63 = ((($62)) + 12|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = ((($65)) + 64|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$11>>2]|0; + $68 = ((($67)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$5>>2]|0; + $71 = ((($70)) + 60|0); + HEAP32[$71>>2] = $69; + $72 = HEAP32[$14>>2]|0; + $73 = (_sqlite3_malloc($72)|0); + HEAP32[$12>>2] = $73; + $74 = HEAP32[$12>>2]|0; + $75 = ($74|0)!=(0|0); + if ($75) { + $76 = HEAP32[$12>>2]|0; + $77 = HEAP32[$13>>2]|0; + $78 = ((($77)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$14>>2]|0; + _memcpy(($76|0),($79|0),($80|0))|0; + $81 = HEAP32[$14>>2]|0; + $82 = HEAP32[$5>>2]|0; + $83 = ((($82)) + 76|0); + HEAP32[$83>>2] = $81; + $84 = HEAP32[$5>>2]|0; + $85 = ((($84)) + 44|0); + HEAP32[$85>>2] = $81; + $86 = HEAP32[$12>>2]|0; + $87 = HEAP32[$5>>2]|0; + $88 = ((($87)) + 72|0); + HEAP32[$88>>2] = $86; + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + 40|0); + HEAP32[$90>>2] = $86; + $91 = HEAP32[$5>>2]|0; + $92 = ((($91)) + 56|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($93)) + 4|0); + HEAP32[$92>>2] = $94; + break; + } + HEAP32[$3>>2] = 7; + $306 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($306|0); + } + } while(0); + HEAP32[$3>>2] = 0; + $306 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($306|0); + } + _fts3SegReaderSetEof($45); + $95 = HEAP32[$5>>2]|0; + $96 = ((($95)) + 32|0); + $97 = $96; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$5>>2]|0; + $104 = ((($103)) + 16|0); + $105 = $104; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = ($102|0)>($110|0); + $112 = ($99>>>0)>=($107>>>0); + $113 = ($102|0)==($110|0); + $114 = $113 & $112; + $115 = $111 | $114; + if ($115) { + HEAP32[$3>>2] = 0; + $306 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($306|0); + } + $116 = HEAP32[$4>>2]|0; + $117 = HEAP32[$5>>2]|0; + $118 = ((($117)) + 32|0); + $119 = $118; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = (($119) + 4)|0; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = (_i64Add(($121|0),($124|0),1,0)|0); + $126 = tempRet0; + $127 = $118; + $128 = $127; + HEAP32[$128>>2] = $125; + $129 = (($127) + 4)|0; + $130 = $129; + HEAP32[$130>>2] = $126; + $131 = HEAP32[$5>>2]|0; + $132 = ((($131)) + 40|0); + $133 = HEAP32[$5>>2]|0; + $134 = ((($133)) + 44|0); + $135 = HEAP32[$6>>2]|0; + $136 = ($135|0)!=(0); + $137 = HEAP32[$5>>2]|0; + $138 = ((($137)) + 48|0); + $139 = $136 ? $138 : 0; + $140 = (_sqlite3Fts3ReadBlock($116,$125,$126,$132,$134,$139)|0); + HEAP32[$7>>2] = $140; + $141 = HEAP32[$7>>2]|0; + $142 = ($141|0)!=(0); + if ($142) { + $143 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $143; + $306 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($306|0); + } + $144 = HEAP32[$6>>2]|0; + $145 = ($144|0)!=(0); + if ($145) { + $146 = HEAP32[$5>>2]|0; + $147 = ((($146)) + 48|0); + $148 = HEAP32[$147>>2]|0; + $149 = HEAP32[$5>>2]|0; + $150 = ((($149)) + 44|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($148|0)<($151|0); + if ($152) { + $153 = HEAP32[$4>>2]|0; + $154 = ((($153)) + 244|0); + $155 = HEAP32[$154>>2]|0; + $156 = HEAP32[$5>>2]|0; + $157 = ((($156)) + 52|0); + HEAP32[$157>>2] = $155; + $158 = HEAP32[$4>>2]|0; + $159 = ((($158)) + 244|0); + HEAP32[$159>>2] = 0; + } + } + $160 = HEAP32[$5>>2]|0; + $161 = ((($160)) + 40|0); + $162 = HEAP32[$161>>2]|0; + HEAP32[$8>>2] = $162; + } + $163 = HEAP32[$5>>2]|0; + $164 = HEAP32[$8>>2]|0; + $165 = (_fts3SegReaderRequire($163,$164,20)|0); + HEAP32[$7>>2] = $165; + $166 = HEAP32[$7>>2]|0; + $167 = ($166|0)!=(0); + if ($167) { + $168 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $168; + $306 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($306|0); + } + $169 = HEAP32[$8>>2]|0; + $170 = HEAP8[$169>>0]|0; + $171 = $170&255; + $172 = $171 & 128; + $173 = ($172|0)!=(0); + $174 = HEAP32[$8>>2]|0; + if ($173) { + $175 = (_sqlite3Fts3GetVarint32($174,$9)|0); + $180 = $175; + } else { + $176 = HEAP8[$174>>0]|0; + $177 = $176&255; + HEAP32[$9>>2] = $177; + $180 = 1; + } + $178 = HEAP32[$8>>2]|0; + $179 = (($178) + ($180)|0); + HEAP32[$8>>2] = $179; + $181 = HEAP32[$8>>2]|0; + $182 = HEAP8[$181>>0]|0; + $183 = $182&255; + $184 = $183 & 128; + $185 = ($184|0)!=(0); + $186 = HEAP32[$8>>2]|0; + if ($185) { + $187 = (_sqlite3Fts3GetVarint32($186,$10)|0); + $192 = $187; + } else { + $188 = HEAP8[$186>>0]|0; + $189 = $188&255; + HEAP32[$10>>2] = $189; + $192 = 1; + } + $190 = HEAP32[$8>>2]|0; + $191 = (($190) + ($192)|0); + HEAP32[$8>>2] = $191; + $193 = HEAP32[$9>>2]|0; + $194 = ($193|0)<(0); + $195 = HEAP32[$10>>2]|0; + $196 = ($195|0)<=(0); + $or$cond = $194 | $196; + if (!($or$cond)) { + $197 = HEAP32[$8>>2]|0; + $198 = HEAP32[$10>>2]|0; + $199 = (($197) + ($198)|0); + $200 = HEAP32[$5>>2]|0; + $201 = ((($200)) + 40|0); + $202 = HEAP32[$201>>2]|0; + $203 = HEAP32[$5>>2]|0; + $204 = ((($203)) + 44|0); + $205 = HEAP32[$204>>2]|0; + $206 = (($202) + ($205)|0); + $207 = ($199>>>0)>($206>>>0); + if (!($207)) { + $208 = HEAP32[$9>>2]|0; + $209 = HEAP32[$10>>2]|0; + $210 = (($208) + ($209))|0; + $211 = HEAP32[$5>>2]|0; + $212 = ((($211)) + 68|0); + $213 = HEAP32[$212>>2]|0; + $214 = ($210|0)>($213|0); + do { + if ($214) { + $215 = HEAP32[$9>>2]|0; + $216 = HEAP32[$10>>2]|0; + $217 = (($215) + ($216))|0; + $218 = $217<<1; + HEAP32[$15>>2] = $218; + $219 = HEAP32[$5>>2]|0; + $220 = ((($219)) + 64|0); + $221 = HEAP32[$220>>2]|0; + $222 = HEAP32[$15>>2]|0; + $223 = (_sqlite3_realloc($221,$222)|0); + HEAP32[$16>>2] = $223; + $224 = HEAP32[$16>>2]|0; + $225 = ($224|0)!=(0|0); + if ($225) { + $226 = HEAP32[$16>>2]|0; + $227 = HEAP32[$5>>2]|0; + $228 = ((($227)) + 64|0); + HEAP32[$228>>2] = $226; + $229 = HEAP32[$15>>2]|0; + $230 = HEAP32[$5>>2]|0; + $231 = ((($230)) + 68|0); + HEAP32[$231>>2] = $229; + break; + } + HEAP32[$3>>2] = 7; + $306 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($306|0); + } + } while(0); + $232 = HEAP32[$5>>2]|0; + $233 = HEAP32[$8>>2]|0; + $234 = HEAP32[$10>>2]|0; + $235 = (($234) + 10)|0; + $236 = (_fts3SegReaderRequire($232,$233,$235)|0); + HEAP32[$7>>2] = $236; + $237 = HEAP32[$7>>2]|0; + $238 = ($237|0)!=(0); + if ($238) { + $239 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $239; + $306 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($306|0); + } + $240 = HEAP32[$5>>2]|0; + $241 = ((($240)) + 64|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[$9>>2]|0; + $244 = (($242) + ($243)|0); + $245 = HEAP32[$8>>2]|0; + $246 = HEAP32[$10>>2]|0; + _memcpy(($244|0),($245|0),($246|0))|0; + $247 = HEAP32[$9>>2]|0; + $248 = HEAP32[$10>>2]|0; + $249 = (($247) + ($248))|0; + $250 = HEAP32[$5>>2]|0; + $251 = ((($250)) + 60|0); + HEAP32[$251>>2] = $249; + $252 = HEAP32[$10>>2]|0; + $253 = HEAP32[$8>>2]|0; + $254 = (($253) + ($252)|0); + HEAP32[$8>>2] = $254; + $255 = HEAP32[$8>>2]|0; + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = $257 & 128; + $259 = ($258|0)!=(0); + $260 = HEAP32[$8>>2]|0; + if ($259) { + $261 = HEAP32[$5>>2]|0; + $262 = ((($261)) + 76|0); + $263 = (_sqlite3Fts3GetVarint32($260,$262)|0); + $270 = $263; + } else { + $264 = HEAP8[$260>>0]|0; + $265 = $264&255; + $266 = HEAP32[$5>>2]|0; + $267 = ((($266)) + 76|0); + HEAP32[$267>>2] = $265; + $270 = 1; + } + $268 = HEAP32[$8>>2]|0; + $269 = (($268) + ($270)|0); + HEAP32[$8>>2] = $269; + $271 = HEAP32[$8>>2]|0; + $272 = HEAP32[$5>>2]|0; + $273 = ((($272)) + 72|0); + HEAP32[$273>>2] = $271; + $274 = HEAP32[$5>>2]|0; + $275 = ((($274)) + 80|0); + HEAP32[$275>>2] = 0; + $276 = HEAP32[$5>>2]|0; + $277 = ((($276)) + 72|0); + $278 = HEAP32[$277>>2]|0; + $279 = HEAP32[$5>>2]|0; + $280 = ((($279)) + 76|0); + $281 = HEAP32[$280>>2]|0; + $282 = (($278) + ($281)|0); + $283 = HEAP32[$5>>2]|0; + $284 = ((($283)) + 40|0); + $285 = HEAP32[$284>>2]|0; + $286 = HEAP32[$5>>2]|0; + $287 = ((($286)) + 44|0); + $288 = HEAP32[$287>>2]|0; + $289 = (($285) + ($288)|0); + $290 = ($282>>>0)>($289>>>0); + do { + if (!($290)) { + $291 = HEAP32[$5>>2]|0; + $292 = ((($291)) + 48|0); + $293 = HEAP32[$292>>2]|0; + $294 = ($293|0)==(0); + if ($294) { + $295 = HEAP32[$5>>2]|0; + $296 = ((($295)) + 72|0); + $297 = HEAP32[$296>>2]|0; + $298 = HEAP32[$5>>2]|0; + $299 = ((($298)) + 76|0); + $300 = HEAP32[$299>>2]|0; + $301 = (($300) - 1)|0; + $302 = (($297) + ($301)|0); + $303 = HEAP8[$302>>0]|0; + $304 = $303 << 24 >> 24; + $305 = ($304|0)!=(0); + if ($305) { + break; + } + } + HEAP32[$3>>2] = 0; + $306 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($306|0); + } + } while(0); + HEAP32[$3>>2] = 267; + $306 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($306|0); + } + } + HEAP32[$3>>2] = 267; + $306 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($306|0); +} +function _fts3SegReaderCmp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 40|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0|0); + if ($9) { + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 40|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + if ($13) { + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 60|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($16) - ($19))|0; + HEAP32[$5>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = ($21|0)<(0); + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 64|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 64|0); + $28 = HEAP32[$27>>2]|0; + if ($22) { + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 60|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_memcmp($25,$28,$31)|0); + HEAP32[$4>>2] = $32; + } else { + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 60|0); + $35 = HEAP32[$34>>2]|0; + $36 = (_memcmp($25,$28,$35)|0); + HEAP32[$4>>2] = $36; + } + $37 = HEAP32[$4>>2]|0; + $38 = ($37|0)==(0); + if ($38) { + $39 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $39; + } + } else { + label = 8; + } + } else { + label = 8; + } + if ((label|0) == 8) { + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 40|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==(0|0); + $44 = $43&1; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 40|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0|0); + $49 = $48&1; + $50 = (($44) - ($49))|0; + HEAP32[$4>>2] = $50; + } + $51 = HEAP32[$4>>2]|0; + $52 = ($51|0)==(0); + if (!($52)) { + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); + } + $53 = HEAP32[$3>>2]|0; + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$2>>2]|0; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) - ($56))|0; + HEAP32[$4>>2] = $57; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); +} +function _fts3SegReaderSort($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = ($11|0)==($12|0); + if ($13) { + $14 = HEAP32[$6>>2]|0; + $15 = (($14) + -1)|0; + HEAP32[$6>>2] = $15; + } + $16 = HEAP32[$6>>2]|0; + $17 = (($16) - 1)|0; + HEAP32[$8>>2] = $17; + while(1) { + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)>=(0); + if (!($19)) { + break; + } + $20 = HEAP32[$8>>2]|0; + HEAP32[$9>>2] = $20; + while(1) { + $21 = HEAP32[$9>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = (($22) - 1)|0; + $24 = ($21|0)<($23|0); + if (!($24)) { + break; + } + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$9>>2]|0; + $28 = (($26) + ($27<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$9>>2]|0; + $32 = (($31) + 1)|0; + $33 = (($30) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (FUNCTION_TABLE_iii[$25 & 255]($29,$34)|0); + $36 = ($35|0)<(0); + if ($36) { + break; + } + $37 = HEAP32[$4>>2]|0; + $38 = HEAP32[$9>>2]|0; + $39 = (($38) + 1)|0; + $40 = (($37) + ($39<<2)|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$10>>2] = $41; + $42 = HEAP32[$4>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = (($42) + ($43<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = HEAP32[$9>>2]|0; + $48 = (($47) + 1)|0; + $49 = (($46) + ($48<<2)|0); + HEAP32[$49>>2] = $45; + $50 = HEAP32[$10>>2]|0; + $51 = HEAP32[$4>>2]|0; + $52 = HEAP32[$9>>2]|0; + $53 = (($51) + ($52<<2)|0); + HEAP32[$53>>2] = $50; + $54 = HEAP32[$9>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$9>>2] = $55; + } + $56 = HEAP32[$8>>2]|0; + $57 = (($56) + -1)|0; + HEAP32[$8>>2] = $57; + } + STACKTOP = sp;return; +} +function _fts3MsrBufferData($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$6>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)>($11|0); + do { + if ($12) { + $13 = HEAP32[$6>>2]|0; + $14 = $13<<1; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 20|0); + HEAP32[$16>>2] = $14; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3_realloc($19,$22)|0); + HEAP32[$7>>2] = $23; + $24 = HEAP32[$7>>2]|0; + $25 = ($24|0)!=(0|0); + if ($25) { + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 16|0); + HEAP32[$28>>2] = $26; + break; + } + HEAP32[$3>>2] = 7; + $34 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($34|0); + } + } while(0); + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 16|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$6>>2]|0; + _memcpy(($31|0),($32|0),($33|0))|0; + HEAP32[$3>>2] = 0; + $34 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($34|0); +} +function _fts3SegReaderFirstDocid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp + 16|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 231|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 56|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + HEAP8[$5>>0] = 0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 88|0); + $18 = $17; + $19 = $18; + HEAP32[$19>>2] = 0; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = 0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 84|0); + HEAP32[$23>>2] = 0; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 72|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 76|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 80|0); + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 88|0); + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 84|0); + _sqlite3Fts3DoclistPrev(0,$26,$29,$31,$33,$35,$5); + $56 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($56|0); + } + } + $36 = HEAP32[$3>>2]|0; + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 72|0); + $39 = HEAP32[$38>>2]|0; + $40 = (_fts3SegReaderRequire($36,$39,10)|0); + HEAP32[$4>>2] = $40; + $41 = HEAP32[$4>>2]|0; + $42 = ($41|0)==(0); + if (!($42)) { + $56 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($56|0); + } + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 72|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 88|0); + $48 = (_sqlite3Fts3GetVarint($45,$47)|0); + HEAP32[$6>>2] = $48; + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 72|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$6>>2]|0; + $53 = (($51) + ($52)|0); + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 80|0); + HEAP32[$55>>2] = $53; + $56 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($56|0); +} +function _fts3SegReaderNextDocid($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $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, $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 label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 41|0; + $12 = sp + 40|0; + $13 = sp + 8|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = 0; + $15 = HEAP32[$6>>2]|0; + $16 = ((($15)) + 80|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$10>>2] = $17; + HEAP8[$11>>0] = 0; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 231|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($21|0)!=(0); + if ($22) { + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 56|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + HEAP8[$12>>0] = 0; + $27 = HEAP32[$7>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 80|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$7>>2]|0; + HEAP32[$32>>2] = $31; + $33 = HEAP32[$6>>2]|0; + $34 = ((($33)) + 84|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) - 1)|0; + $37 = HEAP32[$8>>2]|0; + HEAP32[$37>>2] = $36; + } + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 72|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = ((($41)) + 76|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$6>>2]|0; + $45 = ((($44)) + 88|0); + $46 = HEAP32[$6>>2]|0; + $47 = ((($46)) + 84|0); + _sqlite3Fts3DoclistPrev(0,$40,$43,$10,$45,$47,$12); + $48 = HEAP8[$12>>0]|0; + $49 = ($48<<24>>24)!=(0); + $50 = HEAP32[$10>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$6>>2]|0; + $$sink2 = $49 ? $52 : $51; + $$sink = $49 ? 0 : $50; + $53 = ((($$sink2)) + 80|0); + HEAP32[$53>>2] = $$sink; + } else { + label = 6; + } + } else { + label = 6; + } + do { + if ((label|0) == 6) { + $54 = HEAP32[$6>>2]|0; + $55 = ((($54)) + 72|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = ((($57)) + 76|0); + $59 = HEAP32[$58>>2]|0; + $60 = (($56) + ($59)|0); + HEAP32[$13>>2] = $60; + while(1) { + while(1) { + $61 = HEAP32[$10>>2]|0; + $62 = HEAP8[$61>>0]|0; + $63 = $62 << 24 >> 24; + $64 = HEAP8[$11>>0]|0; + $65 = $64 << 24 >> 24; + $66 = $63 | $65; + $67 = ($66|0)!=(0); + if (!($67)) { + break; + } + $68 = HEAP32[$10>>2]|0; + $69 = ((($68)) + 1|0); + HEAP32[$10>>2] = $69; + $70 = HEAP8[$68>>0]|0; + $71 = $70 << 24 >> 24; + $72 = $71 & 128; + $73 = $72&255; + HEAP8[$11>>0] = $73; + } + $74 = HEAP32[$6>>2]|0; + $75 = ((($74)) + 52|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)==(0|0); + if ($77) { + break; + } + $78 = HEAP32[$10>>2]|0; + $79 = HEAP32[$6>>2]|0; + $80 = ((($79)) + 40|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$6>>2]|0; + $83 = ((($82)) + 48|0); + $84 = HEAP32[$83>>2]|0; + $85 = (($81) + ($84)|0); + $86 = ($78>>>0)<($85>>>0); + if ($86) { + break; + } + $87 = HEAP32[$6>>2]|0; + $88 = (_fts3SegReaderIncrRead($87)|0); + HEAP32[$9>>2] = $88; + $89 = HEAP32[$9>>2]|0; + $90 = ($89|0)!=(0); + if ($90) { + label = 13; + break; + } + } + if ((label|0) == 13) { + $91 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $91; + $160 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($160|0); + } + $92 = HEAP32[$10>>2]|0; + $93 = ((($92)) + 1|0); + HEAP32[$10>>2] = $93; + $94 = HEAP32[$7>>2]|0; + $95 = ($94|0)!=(0|0); + if ($95) { + $96 = HEAP32[$6>>2]|0; + $97 = ((($96)) + 80|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$7>>2]|0; + HEAP32[$99>>2] = $98; + $100 = HEAP32[$10>>2]|0; + $101 = HEAP32[$6>>2]|0; + $102 = ((($101)) + 80|0); + $103 = HEAP32[$102>>2]|0; + $104 = $100; + $105 = $103; + $106 = (($104) - ($105))|0; + $107 = (($106) - 1)|0; + $108 = HEAP32[$8>>2]|0; + HEAP32[$108>>2] = $107; + } + while(1) { + $109 = HEAP32[$10>>2]|0; + $110 = HEAP32[$13>>2]|0; + $111 = ($109>>>0)<($110>>>0); + if ($111) { + $112 = HEAP32[$10>>2]|0; + $113 = HEAP8[$112>>0]|0; + $114 = $113 << 24 >> 24; + $115 = ($114|0)==(0); + $161 = $115; + } else { + $161 = 0; + } + $116 = HEAP32[$10>>2]|0; + if (!($161)) { + break; + } + $117 = ((($116)) + 1|0); + HEAP32[$10>>2] = $117; + } + $118 = HEAP32[$13>>2]|0; + $119 = ($116>>>0)>=($118>>>0); + $120 = HEAP32[$6>>2]|0; + if ($119) { + $121 = ((($120)) + 80|0); + HEAP32[$121>>2] = 0; + break; + } + $122 = HEAP32[$10>>2]|0; + $123 = (_fts3SegReaderRequire($120,$122,10)|0); + HEAP32[$9>>2] = $123; + $124 = HEAP32[$9>>2]|0; + $125 = ($124|0)==(0); + if ($125) { + $126 = HEAP32[$10>>2]|0; + $127 = HEAP32[$10>>2]|0; + $128 = (_sqlite3Fts3GetVarint($127,$14)|0); + $129 = (($126) + ($128)|0); + $130 = HEAP32[$6>>2]|0; + $131 = ((($130)) + 80|0); + HEAP32[$131>>2] = $129; + $132 = HEAP32[$5>>2]|0; + $133 = ((($132)) + 231|0); + $134 = HEAP8[$133>>0]|0; + $135 = ($134<<24>>24)!=(0); + $136 = $14; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = HEAP32[$6>>2]|0; + $143 = ((($142)) + 88|0); + $144 = $143; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = (_i64Add(($146|0),($149|0),($138|0),($141|0))|0); + $151 = tempRet0; + $152 = (_i64Subtract(($146|0),($149|0),($138|0),($141|0))|0); + $153 = tempRet0; + $154 = $135 ? $152 : $150; + $155 = $135 ? $153 : $151; + $156 = $143; + $157 = $156; + HEAP32[$157>>2] = $154; + $158 = (($156) + 4)|0; + $159 = $158; + HEAP32[$159>>2] = $155; + } + } + } while(0); + HEAP32[$4>>2] = 0; + $160 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($160|0); +} +function _fts3ColumnFilter($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, $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; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + $13 = sp + 36|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$14>>2]|0; + HEAP32[$8>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = HEAP32[$16>>2]|0; + HEAP32[$9>>2] = $17; + $18 = HEAP32[$8>>2]|0; + $19 = HEAP32[$9>>2]|0; + $20 = (($18) + ($19)|0); + HEAP32[$10>>2] = $20; + HEAP32[$11>>2] = 0; + $21 = HEAP32[$8>>2]|0; + HEAP32[$12>>2] = $21; + while(1) { + HEAP8[$13>>0] = 0; + while(1) { + $22 = HEAP32[$12>>2]|0; + $23 = HEAP32[$10>>2]|0; + $24 = ($22>>>0)<($23>>>0); + if (!($24)) { + break; + } + $25 = HEAP8[$13>>0]|0; + $26 = $25 << 24 >> 24; + $27 = HEAP32[$12>>2]|0; + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = $26 | $29; + $31 = $30 & 254; + $32 = ($31|0)!=(0); + if (!($32)) { + break; + } + $33 = HEAP32[$12>>2]|0; + $34 = ((($33)) + 1|0); + HEAP32[$12>>2] = $34; + $35 = HEAP8[$33>>0]|0; + $36 = $35 << 24 >> 24; + $37 = $36 & 128; + $38 = $37&255; + HEAP8[$13>>0] = $38; + } + $39 = HEAP32[$4>>2]|0; + $40 = HEAP32[$11>>2]|0; + $41 = ($39|0)==($40|0); + $42 = HEAP32[$12>>2]|0; + $43 = HEAP32[$8>>2]|0; + $44 = $42; + $45 = $43; + $46 = (($44) - ($45))|0; + if ($41) { + label = 7; + break; + } + $47 = HEAP32[$9>>2]|0; + $48 = (($47) - ($46))|0; + HEAP32[$9>>2] = $48; + $49 = HEAP32[$12>>2]|0; + HEAP32[$8>>2] = $49; + $50 = HEAP32[$9>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + break; + } + $52 = HEAP32[$8>>2]|0; + $53 = ((($52)) + 1|0); + HEAP32[$12>>2] = $53; + $54 = HEAP32[$12>>2]|0; + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = $56 & 128; + $58 = ($57|0)!=(0); + $59 = HEAP32[$12>>2]|0; + if ($58) { + $60 = (_sqlite3Fts3GetVarint32($59,$11)|0); + $65 = $60; + } else { + $61 = HEAP8[$59>>0]|0; + $62 = $61&255; + HEAP32[$11>>2] = $62; + $65 = 1; + } + $63 = HEAP32[$12>>2]|0; + $64 = (($63) + ($65)|0); + HEAP32[$12>>2] = $64; + } + if ((label|0) == 7) { + HEAP32[$9>>2] = $46; + } + $66 = HEAP32[$5>>2]|0; + $67 = ($66|0)!=(0); + if (!($67)) { + $83 = HEAP32[$8>>2]|0; + $84 = HEAP32[$6>>2]|0; + HEAP32[$84>>2] = $83; + $85 = HEAP32[$9>>2]|0; + $86 = HEAP32[$7>>2]|0; + HEAP32[$86>>2] = $85; + STACKTOP = sp;return; + } + $68 = HEAP32[$8>>2]|0; + $69 = HEAP32[$9>>2]|0; + $70 = (($68) + ($69)|0); + $71 = HEAP32[$10>>2]|0; + $72 = ($70|0)!=($71|0); + if (!($72)) { + $83 = HEAP32[$8>>2]|0; + $84 = HEAP32[$6>>2]|0; + HEAP32[$84>>2] = $83; + $85 = HEAP32[$9>>2]|0; + $86 = HEAP32[$7>>2]|0; + HEAP32[$86>>2] = $85; + STACKTOP = sp;return; + } + $73 = HEAP32[$8>>2]|0; + $74 = HEAP32[$9>>2]|0; + $75 = (($73) + ($74)|0); + $76 = HEAP32[$10>>2]|0; + $77 = HEAP32[$8>>2]|0; + $78 = HEAP32[$9>>2]|0; + $79 = (($77) + ($78)|0); + $80 = $76; + $81 = $79; + $82 = (($80) - ($81))|0; + _memset(($75|0),0,($82|0))|0; + $83 = HEAP32[$8>>2]|0; + $84 = HEAP32[$6>>2]|0; + HEAP32[$84>>2] = $83; + $85 = HEAP32[$9>>2]|0; + $86 = HEAP32[$7>>2]|0; + HEAP32[$86>>2] = $85; + STACKTOP = sp;return; +} +function _sqlite3Fts3FirstFilter($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $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; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 8|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp; + $14 = $5; + $15 = $14; + HEAP32[$15>>2] = $0; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = $4; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + $18 = HEAP32[$6>>2]|0; + HEAP32[$11>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = (($19) + ($20)|0); + HEAP32[$12>>2] = $21; + $22 = HEAP32[$11>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = $23 << 24 >> 24; + $25 = ($24|0)!=(1); + if ($25) { + $26 = HEAP32[$11>>2]|0; + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = ($28|0)==(2); + if ($29) { + $30 = HEAP32[$8>>2]|0; + $31 = HEAP32[$9>>2]|0; + $32 = (($30) + ($31)|0); + $33 = $5; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3Fts3PutVarint($32,$35,$38)|0); + $40 = HEAP32[$9>>2]|0; + $41 = (($40) + ($39))|0; + HEAP32[$9>>2] = $41; + $42 = HEAP32[$8>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$9>>2] = $44; + $45 = (($42) + ($43)|0); + HEAP8[$45>>0] = 2; + HEAP32[$10>>2] = 1; + } + _fts3ColumnlistCopy(0,$11); + } + while(1) { + $46 = HEAP32[$11>>2]|0; + $47 = HEAP32[$12>>2]|0; + $48 = ($46>>>0)<($47>>>0); + if (!($48)) { + break; + } + $49 = HEAP32[$11>>2]|0; + $50 = HEAP8[$49>>0]|0; + $51 = $50 << 24 >> 24; + $52 = ($51|0)==(1); + if (!($52)) { + break; + } + $53 = HEAP32[$11>>2]|0; + $54 = ((($53)) + 1|0); + HEAP32[$11>>2] = $54; + $55 = HEAP32[$11>>2]|0; + $56 = (_sqlite3Fts3GetVarint($55,$13)|0); + $57 = HEAP32[$11>>2]|0; + $58 = (($57) + ($56)|0); + HEAP32[$11>>2] = $58; + $59 = HEAP32[$11>>2]|0; + $60 = HEAP8[$59>>0]|0; + $61 = $60 << 24 >> 24; + $62 = ($61|0)==(2); + if ($62) { + $63 = HEAP32[$10>>2]|0; + $64 = ($63|0)==(0); + if ($64) { + $65 = HEAP32[$8>>2]|0; + $66 = HEAP32[$9>>2]|0; + $67 = (($65) + ($66)|0); + $68 = $5; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (_sqlite3Fts3PutVarint($67,$70,$73)|0); + $75 = HEAP32[$9>>2]|0; + $76 = (($75) + ($74))|0; + HEAP32[$9>>2] = $76; + HEAP32[$10>>2] = 1; + } + $77 = HEAP32[$8>>2]|0; + $78 = HEAP32[$9>>2]|0; + $79 = (($78) + 1)|0; + HEAP32[$9>>2] = $79; + $80 = (($77) + ($78)|0); + HEAP8[$80>>0] = 1; + $81 = HEAP32[$8>>2]|0; + $82 = HEAP32[$9>>2]|0; + $83 = (($81) + ($82)|0); + $84 = $13; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (($84) + 4)|0; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (_sqlite3Fts3PutVarint($83,$86,$89)|0); + $91 = HEAP32[$9>>2]|0; + $92 = (($91) + ($90))|0; + HEAP32[$9>>2] = $92; + $93 = HEAP32[$8>>2]|0; + $94 = HEAP32[$9>>2]|0; + $95 = (($94) + 1)|0; + HEAP32[$9>>2] = $95; + $96 = (($93) + ($94)|0); + HEAP8[$96>>0] = 2; + } + _fts3ColumnlistCopy(0,$11); + } + $97 = HEAP32[$10>>2]|0; + $98 = ($97|0)!=(0); + if (!($98)) { + $103 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($103|0); + } + $99 = HEAP32[$8>>2]|0; + $100 = HEAP32[$9>>2]|0; + $101 = (($100) + 1)|0; + HEAP32[$9>>2] = $101; + $102 = (($99) + ($100)|0); + HEAP8[$102>>0] = 0; + $103 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($103|0); +} +function _fts3ColumnlistCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 20|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + HEAP8[$5>>0] = 0; + while(1) { + $10 = HEAP32[$4>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = HEAP8[$5>>0]|0; + $14 = $13 << 24 >> 24; + $15 = $12 | $14; + $16 = 254 & $15; + $17 = ($16|0)!=(0); + if (!($17)) { + break; + } + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 1|0); + HEAP32[$4>>2] = $19; + $20 = HEAP8[$18>>0]|0; + $21 = $20 << 24 >> 24; + $22 = $21 & 128; + $23 = $22&255; + HEAP8[$5>>0] = $23; + } + $24 = HEAP32[$2>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { + $43 = HEAP32[$4>>2]|0; + $44 = HEAP32[$3>>2]|0; + HEAP32[$44>>2] = $43; + STACKTOP = sp;return; + } + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = $26; + $30 = $28; + $31 = (($29) - ($30))|0; + HEAP32[$6>>2] = $31; + $32 = HEAP32[$2>>2]|0; + $33 = HEAP32[$32>>2]|0; + HEAP32[$7>>2] = $33; + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$3>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$6>>2]|0; + _memcpy(($34|0),($36|0),($37|0))|0; + $38 = HEAP32[$6>>2]|0; + $39 = HEAP32[$7>>2]|0; + $40 = (($39) + ($38)|0); + HEAP32[$7>>2] = $40; + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$2>>2]|0; + HEAP32[$42>>2] = $41; + $43 = HEAP32[$4>>2]|0; + $44 = HEAP32[$3>>2]|0; + HEAP32[$44>>2] = $43; + STACKTOP = sp;return; +} +function _sqlite3Fts3GetVarint($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 8|0; + $8 = sp + 16|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $10 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 1|0); + HEAP32[$3>>2] = $12; + $13 = HEAP8[$11>>0]|0; + $14 = $13 << 24 >> 24; + HEAP32[$6>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = $15 & 128; + $17 = ($16|0)==(0); + $18 = HEAP32[$6>>2]|0; + if ($17) { + $19 = HEAP32[$4>>2]|0; + $20 = $19; + $21 = $20; + HEAP32[$21>>2] = $18; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = 0; + HEAP32[$2>>2] = 1; + $139 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($139|0); + } + $24 = $18 & 127; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 1|0); + HEAP32[$3>>2] = $26; + $27 = HEAP8[$25>>0]|0; + $28 = $27 << 24 >> 24; + $29 = $28 << 7; + $30 = $24 | $29; + HEAP32[$6>>2] = $30; + $31 = HEAP32[$6>>2]|0; + $32 = $31 & 16384; + $33 = ($32|0)==(0); + $34 = HEAP32[$6>>2]|0; + if ($33) { + $35 = HEAP32[$4>>2]|0; + $36 = $35; + $37 = $36; + HEAP32[$37>>2] = $34; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = 0; + HEAP32[$2>>2] = 2; + $139 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($139|0); + } + $40 = $34 & 16383; + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 1|0); + HEAP32[$3>>2] = $42; + $43 = HEAP8[$41>>0]|0; + $44 = $43 << 24 >> 24; + $45 = $44 << 14; + $46 = $40 | $45; + HEAP32[$6>>2] = $46; + $47 = HEAP32[$6>>2]|0; + $48 = $47 & 2097152; + $49 = ($48|0)==(0); + $50 = HEAP32[$6>>2]|0; + if ($49) { + $51 = HEAP32[$4>>2]|0; + $52 = $51; + $53 = $52; + HEAP32[$53>>2] = $50; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = 0; + HEAP32[$2>>2] = 3; + $139 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($139|0); + } + $56 = $50 & 2097151; + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 1|0); + HEAP32[$3>>2] = $58; + $59 = HEAP8[$57>>0]|0; + $60 = $59 << 24 >> 24; + $61 = $60 << 21; + $62 = $56 | $61; + HEAP32[$6>>2] = $62; + $63 = HEAP32[$6>>2]|0; + $64 = $63 & 268435456; + $65 = ($64|0)==(0); + $66 = HEAP32[$6>>2]|0; + if ($65) { + $67 = HEAP32[$4>>2]|0; + $68 = $67; + $69 = $68; + HEAP32[$69>>2] = $66; + $70 = (($68) + 4)|0; + $71 = $70; + HEAP32[$71>>2] = 0; + HEAP32[$2>>2] = 4; + $139 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($139|0); + } + $72 = $66 & 268435455; + $73 = $7; + $74 = $73; + HEAP32[$74>>2] = $72; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = 0; + HEAP32[$8>>2] = 28; + while(1) { + $77 = HEAP32[$8>>2]|0; + $78 = ($77|0)<=(63); + if (!($78)) { + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = ((($79)) + 1|0); + HEAP32[$3>>2] = $80; + $81 = HEAP8[$79>>0]|0; + $82 = $81 << 24 >> 24; + $83 = ($82|0)<(0); + $84 = $83 << 31 >> 31; + $85 = $9; + $86 = $85; + HEAP32[$86>>2] = $82; + $87 = (($85) + 4)|0; + $88 = $87; + HEAP32[$88>>2] = $84; + $89 = $9; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = $91 & 127; + $96 = HEAP32[$8>>2]|0; + $97 = (_bitshift64Shl(($95|0),0,($96|0))|0); + $98 = tempRet0; + $99 = $7; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = (($99) + 4)|0; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = (_i64Add(($101|0),($104|0),($97|0),($98|0))|0); + $106 = tempRet0; + $107 = $7; + $108 = $107; + HEAP32[$108>>2] = $105; + $109 = (($107) + 4)|0; + $110 = $109; + HEAP32[$110>>2] = $106; + $111 = $9; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (($111) + 4)|0; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = $113 & 128; + $118 = ($117|0)==(0); + $119 = (0)==(0); + $120 = $118 & $119; + if ($120) { + break; + } + $121 = HEAP32[$8>>2]|0; + $122 = (($121) + 7)|0; + HEAP32[$8>>2] = $122; + } + $123 = $7; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = (($123) + 4)|0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = HEAP32[$4>>2]|0; + $130 = $129; + $131 = $130; + HEAP32[$131>>2] = $125; + $132 = (($130) + 4)|0; + $133 = $132; + HEAP32[$133>>2] = $128; + $134 = HEAP32[$3>>2]|0; + $135 = HEAP32[$5>>2]|0; + $136 = $134; + $137 = $135; + $138 = (($136) - ($137))|0; + HEAP32[$2>>2] = $138; + $139 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($139|0); +} +function _sqlite3Fts3GetVarint32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 1|0); + HEAP32[$3>>2] = $7; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + HEAP32[$5>>2] = $9; + $10 = HEAP32[$5>>2]|0; + $11 = $10 & 127; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 1|0); + HEAP32[$3>>2] = $13; + $14 = HEAP8[$12>>0]|0; + $15 = $14 << 24 >> 24; + $16 = $15 << 7; + $17 = $11 | $16; + HEAP32[$5>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = $18 & 16384; + $20 = ($19|0)==(0); + $21 = HEAP32[$5>>2]|0; + if ($20) { + $22 = HEAP32[$4>>2]|0; + HEAP32[$22>>2] = $21; + HEAP32[$2>>2] = 2; + $56 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($56|0); + } + $23 = $21 & 16383; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 1|0); + HEAP32[$3>>2] = $25; + $26 = HEAP8[$24>>0]|0; + $27 = $26 << 24 >> 24; + $28 = $27 << 14; + $29 = $23 | $28; + HEAP32[$5>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = $30 & 2097152; + $32 = ($31|0)==(0); + $33 = HEAP32[$5>>2]|0; + if ($32) { + $34 = HEAP32[$4>>2]|0; + HEAP32[$34>>2] = $33; + HEAP32[$2>>2] = 3; + $56 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($56|0); + } + $35 = $33 & 2097151; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 1|0); + HEAP32[$3>>2] = $37; + $38 = HEAP8[$36>>0]|0; + $39 = $38 << 24 >> 24; + $40 = $39 << 21; + $41 = $35 | $40; + HEAP32[$5>>2] = $41; + $42 = HEAP32[$5>>2]|0; + $43 = $42 & 268435456; + $44 = ($43|0)==(0); + $45 = HEAP32[$5>>2]|0; + if ($44) { + $46 = HEAP32[$4>>2]|0; + HEAP32[$46>>2] = $45; + HEAP32[$2>>2] = 4; + $56 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($56|0); + } else { + $47 = $45 & 268435455; + HEAP32[$5>>2] = $47; + $48 = HEAP32[$5>>2]|0; + $49 = HEAP32[$3>>2]|0; + $50 = HEAP8[$49>>0]|0; + $51 = $50 << 24 >> 24; + $52 = $51 & 15; + $53 = $52 << 28; + $54 = $48 | $53; + $55 = HEAP32[$4>>2]|0; + HEAP32[$55>>2] = $54; + HEAP32[$2>>2] = 5; + $56 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($56|0); + } + return (0)|0; +} +function _sqlite3Fts3DoclistPrev($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $7 = sp + 76|0; + $8 = sp + 72|0; + $9 = sp + 68|0; + $10 = sp + 64|0; + $11 = sp + 60|0; + $12 = sp + 56|0; + $13 = sp + 52|0; + $14 = sp + 48|0; + $15 = sp + 16|0; + $16 = sp + 44|0; + $17 = sp + 40|0; + $18 = sp + 36|0; + $19 = sp + 32|0; + $20 = sp + 8|0; + $21 = sp + 28|0; + $22 = sp; + $23 = sp + 24|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + $24 = HEAP32[$10>>2]|0; + $25 = HEAP32[$24>>2]|0; + HEAP32[$14>>2] = $25; + $26 = HEAP32[$14>>2]|0; + $27 = ($26|0)==(0|0); + if (!($27)) { + $98 = HEAP32[$7>>2]|0; + $99 = ($98|0)!=(0); + $100 = $99 ? -1 : 1; + HEAP32[$21>>2] = $100; + $101 = HEAP32[$8>>2]|0; + _fts3GetReverseVarint($14,$101,$22); + $102 = HEAP32[$21>>2]|0; + $103 = ($102|0)<(0); + $104 = $103 << 31 >> 31; + $105 = $22; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (___muldi3(($102|0),($104|0),($107|0),($110|0))|0); + $112 = tempRet0; + $113 = HEAP32[$11>>2]|0; + $114 = $113; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (($114) + 4)|0; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (_i64Subtract(($116|0),($119|0),($111|0),($112|0))|0); + $121 = tempRet0; + $122 = $113; + $123 = $122; + HEAP32[$123>>2] = $120; + $124 = (($122) + 4)|0; + $125 = $124; + HEAP32[$125>>2] = $121; + $126 = HEAP32[$14>>2]|0; + $127 = HEAP32[$8>>2]|0; + $128 = ($126|0)==($127|0); + if ($128) { + $129 = HEAP32[$13>>2]|0; + HEAP8[$129>>0] = 1; + } else { + $130 = HEAP32[$14>>2]|0; + HEAP32[$23>>2] = $130; + $131 = HEAP32[$8>>2]|0; + _fts3ReversePoslist($131,$14); + $132 = HEAP32[$23>>2]|0; + $133 = HEAP32[$14>>2]|0; + $134 = $132; + $135 = $133; + $136 = (($134) - ($135))|0; + $137 = HEAP32[$12>>2]|0; + HEAP32[$137>>2] = $136; + } + $138 = HEAP32[$14>>2]|0; + $139 = HEAP32[$10>>2]|0; + HEAP32[$139>>2] = $138; + STACKTOP = sp;return; + } + $28 = $15; + $29 = $28; + HEAP32[$29>>2] = 0; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = 0; + HEAP32[$16>>2] = 0; + $32 = HEAP32[$8>>2]|0; + HEAP32[$17>>2] = $32; + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$9>>2]|0; + $35 = (($33) + ($34)|0); + HEAP32[$18>>2] = $35; + HEAP32[$19>>2] = 1; + while(1) { + $36 = HEAP32[$17>>2]|0; + $37 = HEAP32[$18>>2]|0; + $38 = ($36>>>0)<($37>>>0); + if (!($38)) { + break; + } + $39 = HEAP32[$17>>2]|0; + $40 = (_sqlite3Fts3GetVarint($39,$20)|0); + $41 = HEAP32[$17>>2]|0; + $42 = (($41) + ($40)|0); + HEAP32[$17>>2] = $42; + $43 = HEAP32[$19>>2]|0; + $44 = ($43|0)<(0); + $45 = $44 << 31 >> 31; + $46 = $20; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (___muldi3(($43|0),($45|0),($48|0),($51|0))|0); + $53 = tempRet0; + $54 = $15; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (_i64Add(($56|0),($59|0),($52|0),($53|0))|0); + $61 = tempRet0; + $62 = $15; + $63 = $62; + HEAP32[$63>>2] = $60; + $64 = (($62) + 4)|0; + $65 = $64; + HEAP32[$65>>2] = $61; + $66 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $66; + _fts3PoslistCopy(0,$17); + while(1) { + $67 = HEAP32[$17>>2]|0; + $68 = HEAP32[$18>>2]|0; + $69 = ($67>>>0)<($68>>>0); + if (!($69)) { + break; + } + $70 = HEAP32[$17>>2]|0; + $71 = HEAP8[$70>>0]|0; + $72 = $71 << 24 >> 24; + $73 = ($72|0)==(0); + if (!($73)) { + break; + } + $74 = HEAP32[$17>>2]|0; + $75 = ((($74)) + 1|0); + HEAP32[$17>>2] = $75; + } + $76 = HEAP32[$7>>2]|0; + $77 = ($76|0)!=(0); + $78 = $77 ? -1 : 1; + HEAP32[$19>>2] = $78; + } + $79 = HEAP32[$18>>2]|0; + $80 = HEAP32[$16>>2]|0; + $81 = $79; + $82 = $80; + $83 = (($81) - ($82))|0; + $84 = HEAP32[$12>>2]|0; + HEAP32[$84>>2] = $83; + $85 = HEAP32[$16>>2]|0; + $86 = HEAP32[$10>>2]|0; + HEAP32[$86>>2] = $85; + $87 = $15; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$11>>2]|0; + $94 = $93; + $95 = $94; + HEAP32[$95>>2] = $89; + $96 = (($94) + 4)|0; + $97 = $96; + HEAP32[$97>>2] = $92; + STACKTOP = sp;return; +} +function _fts3SegReaderIncrRead($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 44|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 48|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($6) - ($9))|0; + $11 = ($10|0)<(4096); + if ($11) { + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 48|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($14) - ($17))|0; + $19 = $18; + } else { + $19 = 4096; + } + HEAP32[$2>>2] = $19; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 40|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 48|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($25) + ($28)|0); + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 48|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sqlite3_blob_read($22,$29,$30,$33)|0); + HEAP32[$3>>2] = $34; + $35 = HEAP32[$3>>2]|0; + $36 = ($35|0)==(0); + if (!($36)) { + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); + } + $37 = HEAP32[$2>>2]|0; + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 48|0); + $40 = HEAP32[$39>>2]|0; + $41 = (($40) + ($37))|0; + HEAP32[$39>>2] = $41; + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 48|0); + $47 = HEAP32[$46>>2]|0; + $48 = (($44) + ($47)|0); + dest=$48; stop=dest+20|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 48|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + 44|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($51|0)==($54|0); + if (!($55)) { + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); + } + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 52|0); + $58 = HEAP32[$57>>2]|0; + (_sqlite3_blob_close($58)|0); + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 52|0); + HEAP32[$60>>2] = 0; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 48|0); + HEAP32[$62>>2] = 0; + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); +} +function _fts3SegReaderRequire($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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + while(1) { + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 52|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + $11 = HEAP32[$6>>2]|0; + $12 = ($11|0)==(0); + $or$cond = $10 & $12; + if (!($or$cond)) { + label = 5; + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 40|0); + $16 = HEAP32[$15>>2]|0; + $17 = $13; + $18 = $16; + $19 = (($17) - ($18))|0; + $20 = HEAP32[$5>>2]|0; + $21 = (($19) + ($20))|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 48|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($21|0)>($24|0); + if (!($25)) { + label = 5; + break; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_fts3SegReaderIncrRead($26)|0); + HEAP32[$6>>2] = $27; + } + if ((label|0) == 5) { + $28 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($28|0); + } + return (0)|0; +} +function _fts3PoslistCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 20|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + HEAP8[$5>>0] = 0; + while(1) { + $10 = HEAP32[$4>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = HEAP8[$5>>0]|0; + $14 = $13 << 24 >> 24; + $15 = $12 | $14; + $16 = ($15|0)!=(0); + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 1|0); + HEAP32[$4>>2] = $18; + if (!($16)) { + break; + } + $19 = HEAP8[$17>>0]|0; + $20 = $19 << 24 >> 24; + $21 = $20 & 128; + $22 = $21&255; + HEAP8[$5>>0] = $22; + } + $23 = HEAP32[$2>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { + $42 = HEAP32[$4>>2]|0; + $43 = HEAP32[$3>>2]|0; + HEAP32[$43>>2] = $42; + STACKTOP = sp;return; + } + $25 = HEAP32[$4>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = $25; + $29 = $27; + $30 = (($28) - ($29))|0; + HEAP32[$6>>2] = $30; + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$31>>2]|0; + HEAP32[$7>>2] = $32; + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$6>>2]|0; + _memcpy(($33|0),($35|0),($36|0))|0; + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + ($37)|0); + HEAP32[$7>>2] = $39; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$2>>2]|0; + HEAP32[$41>>2] = $40; + $42 = HEAP32[$4>>2]|0; + $43 = HEAP32[$3>>2]|0; + HEAP32[$43>>2] = $42; + STACKTOP = sp;return; +} +function _fts3GetReverseVarint($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + -2|0); + HEAP32[$7>>2] = $10; + while(1) { + $11 = HEAP32[$7>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = ($11>>>0)>=($12>>>0); + if (!($13)) { + break; + } + $14 = HEAP32[$7>>2]|0; + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = $16 & 128; + $18 = ($17|0)!=(0); + if (!($18)) { + break; + } + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + -1|0); + HEAP32[$7>>2] = $20; + } + $21 = HEAP32[$7>>2]|0; + $22 = ((($21)) + 1|0); + HEAP32[$7>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$3>>2]|0; + HEAP32[$24>>2] = $23; + $25 = HEAP32[$7>>2]|0; + (_sqlite3Fts3GetVarint($25,$6)|0); + $26 = $6; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = $32; + $34 = $33; + HEAP32[$34>>2] = $28; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $31; + STACKTOP = sp;return; +} +function _fts3ReversePoslist($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + $5 = sp + 12|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + -2|0); + HEAP32[$4>>2] = $8; + HEAP8[$5>>0] = 0; + while(1) { + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ($9>>>0)>($10>>>0); + if (!($11)) { + break; + } + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + -1|0); + HEAP32[$4>>2] = $13; + $14 = HEAP8[$12>>0]|0; + HEAP8[$5>>0] = $14; + $15 = $14 << 24 >> 24; + $16 = ($15|0)==(0); + if (!($16)) { + break; + } + } + while(1) { + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ($17>>>0)>($18>>>0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + $21 = HEAP8[$20>>0]|0; + $22 = $21 << 24 >> 24; + $23 = $22 & 128; + $24 = HEAP8[$5>>0]|0; + $25 = $24 << 24 >> 24; + $26 = $23 | $25; + $27 = ($26|0)!=(0); + $51 = $27; + } else { + $51 = 0; + } + $28 = HEAP32[$4>>2]|0; + if (!($51)) { + break; + } + $29 = ((($28)) + -1|0); + HEAP32[$4>>2] = $29; + $30 = HEAP8[$28>>0]|0; + HEAP8[$5>>0] = $30; + } + $31 = HEAP32[$2>>2]|0; + $32 = ($28>>>0)>($31>>>0); + if ($32) { + label = 11; + } else { + $33 = HEAP8[$5>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($34|0)==(0); + if ($35) { + $36 = HEAP32[$3>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 2|0); + $40 = ($37>>>0)>($39>>>0); + if ($40) { + label = 11; + } + } + } + if ((label|0) == 11) { + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 2|0); + HEAP32[$4>>2] = $42; + } + while(1) { + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 1|0); + HEAP32[$4>>2] = $44; + $45 = HEAP8[$43>>0]|0; + $46 = $45 << 24 >> 24; + $47 = $46 & 128; + $48 = ($47|0)!=(0); + if (!($48)) { + break; + } + } + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$3>>2]|0; + HEAP32[$50>>2] = $49; + STACKTOP = sp;return; +} +function _sqlite3Fts3ReadBlock($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $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 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp + 8|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + HEAP32[$7>>2] = $0; + $15 = $8; + $16 = $15; + HEAP32[$16>>2] = $1; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 244|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + $23 = HEAP32[$7>>2]|0; + if ($22) { + $24 = ((($23)) + 244|0); + $25 = HEAP32[$24>>2]|0; + $26 = $8; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3_blob_reopen($25,$28,$31)|0); + HEAP32[$12>>2] = $32; + } else { + $33 = ((($23)) + 240|0); + $34 = HEAP32[$33>>2]|0; + $35 = (0|0)==($34|0); + if ($35) { + $36 = HEAP32[$7>>2]|0; + $37 = ((($36)) + 20|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$vararg_buffer>>2] = $38; + $39 = (_sqlite3_mprintf(45288,$vararg_buffer)|0); + $40 = HEAP32[$7>>2]|0; + $41 = ((($40)) + 240|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$7>>2]|0; + $43 = ((($42)) + 240|0); + $44 = HEAP32[$43>>2]|0; + $45 = (0|0)==($44|0); + if ($45) { + HEAP32[$6>>2] = 7; + $100 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($100|0); + } + } + $46 = HEAP32[$7>>2]|0; + $47 = ((($46)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$7>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$7>>2]|0; + $53 = ((($52)) + 240|0); + $54 = HEAP32[$53>>2]|0; + $55 = $8; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$7>>2]|0; + $62 = ((($61)) + 244|0); + $63 = (_sqlite3_blob_open($48,$51,$54,45300,$57,$60,0,$62)|0); + HEAP32[$12>>2] = $63; + } + $64 = HEAP32[$12>>2]|0; + $65 = ($64|0)==(0); + if ($65) { + $66 = HEAP32[$7>>2]|0; + $67 = ((($66)) + 244|0); + $68 = HEAP32[$67>>2]|0; + $69 = (_sqlite3_blob_bytes($68)|0); + HEAP32[$13>>2] = $69; + $70 = HEAP32[$13>>2]|0; + $71 = HEAP32[$10>>2]|0; + HEAP32[$71>>2] = $70; + $72 = HEAP32[$9>>2]|0; + $73 = ($72|0)!=(0|0); + if ($73) { + $74 = HEAP32[$13>>2]|0; + $75 = (($74) + 20)|0; + $76 = (_sqlite3_malloc($75)|0); + HEAP32[$14>>2] = $76; + $77 = HEAP32[$14>>2]|0; + $78 = ($77|0)!=(0|0); + if ($78) { + $79 = HEAP32[$11>>2]|0; + $80 = ($79|0)!=(0|0); + $81 = HEAP32[$13>>2]|0; + $82 = ($81|0)>(16384); + $or$cond = $80 & $82; + if ($or$cond) { + HEAP32[$13>>2] = 4096; + $83 = HEAP32[$13>>2]|0; + $84 = HEAP32[$11>>2]|0; + HEAP32[$84>>2] = $83; + } + $85 = HEAP32[$7>>2]|0; + $86 = ((($85)) + 244|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$14>>2]|0; + $89 = HEAP32[$13>>2]|0; + $90 = (_sqlite3_blob_read($87,$88,$89,0)|0); + HEAP32[$12>>2] = $90; + $91 = HEAP32[$14>>2]|0; + $92 = HEAP32[$13>>2]|0; + $93 = (($91) + ($92)|0); + dest=$93; stop=dest+20|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $94 = HEAP32[$12>>2]|0; + $95 = ($94|0)!=(0); + if ($95) { + $96 = HEAP32[$14>>2]|0; + _sqlite3_free($96); + HEAP32[$14>>2] = 0; + } + } else { + HEAP32[$12>>2] = 7; + } + $97 = HEAP32[$14>>2]|0; + $98 = HEAP32[$9>>2]|0; + HEAP32[$98>>2] = $97; + } + } + $99 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $99; + $100 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($100|0); +} +function _fts3SegReaderStart($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$10>>2] = $16; + HEAP32[$9>>2] = 0; + L1: while(1) { + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if (!($20)) { + label = 12; + break; + } + $21 = HEAP32[$9>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($21|0)<($24|0); + if (!($25)) { + label = 12; + break; + } + HEAP32[$11>>2] = 0; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = (($27) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$12>>2] = $30; + while(1) { + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$12>>2]|0; + $33 = (_fts3SegReaderNext($31,$32,0)|0); + HEAP32[$13>>2] = $33; + $34 = HEAP32[$13>>2]|0; + $35 = ($34|0)!=(0); + if ($35) { + label = 6; + break L1; + } + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)!=(0|0); + if (!($38)) { + break; + } + $39 = HEAP32[$12>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$8>>2]|0; + $42 = (_fts3SegReaderTermCmp($39,$40,$41)|0); + HEAP32[$11>>2] = $42; + $43 = ($42|0)<(0); + if (!($43)) { + break; + } + } + $44 = HEAP32[$12>>2]|0; + $45 = ((($44)) + 4|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($47|0)!=(0); + $49 = HEAP32[$11>>2]|0; + $50 = ($49|0)!=(0); + $or$cond = $48 & $50; + if ($or$cond) { + $51 = HEAP32[$12>>2]|0; + _fts3SegReaderSetEof($51); + } + $52 = HEAP32[$9>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$9>>2] = $53; + } + if ((label|0) == 6) { + $36 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $36; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); + } + else if ((label|0) == 12) { + $54 = HEAP32[$6>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$10>>2]|0; + $57 = HEAP32[$10>>2]|0; + _fts3SegReaderSort($55,$56,$57,217); + HEAP32[$4>>2] = 0; + $58 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($58|0); + } + return (0)|0; +} +function _fts3SegReaderTermCmp($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 40|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); + } + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 60|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = ($13|0)>($14|0); + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 64|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$4>>2]|0; + if ($15) { + $20 = HEAP32[$5>>2]|0; + $21 = (_memcmp($18,$19,$20)|0); + HEAP32[$6>>2] = $21; + } else { + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 60|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_memcmp($18,$19,$24)|0); + HEAP32[$6>>2] = $25; + } + $26 = HEAP32[$6>>2]|0; + $27 = ($26|0)==(0); + if (!($27)) { + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); + } + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 60|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = (($30) - ($31))|0; + HEAP32[$6>>2] = $32; + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); +} +function _fts3SegReaderCursor($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $9 = sp + 88|0; + $10 = sp + 84|0; + $11 = sp + 80|0; + $12 = sp + 76|0; + $13 = sp + 72|0; + $14 = sp + 68|0; + $15 = sp + 64|0; + $16 = sp + 60|0; + $17 = sp + 56|0; + $18 = sp + 52|0; + $19 = sp + 48|0; + $20 = sp + 44|0; + $21 = sp + 40|0; + $22 = sp + 36|0; + $23 = sp + 16|0; + $24 = sp + 8|0; + $25 = sp; + $26 = sp + 32|0; + $27 = sp + 28|0; + $28 = sp + 24|0; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + HEAP32[$12>>2] = $3; + HEAP32[$13>>2] = $4; + HEAP32[$14>>2] = $5; + HEAP32[$15>>2] = $6; + HEAP32[$16>>2] = $7; + HEAP32[$17>>2] = $8; + HEAP32[$18>>2] = 0; + HEAP32[$19>>2] = 0; + $29 = HEAP32[$12>>2]|0; + $30 = ($29|0)<(0); + if ($30) { + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 252|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + HEAP32[$21>>2] = 0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = HEAP32[$13>>2]|0; + $38 = HEAP32[$14>>2]|0; + $39 = HEAP32[$15>>2]|0; + $40 = ($39|0)!=(0); + $41 = HEAP32[$16>>2]|0; + $42 = ($41|0)!=(0); + $43 = $40 ? 1 : $42; + $44 = $43&1; + $45 = (_sqlite3Fts3SegReaderPending($35,$36,$37,$38,$44,$21)|0); + HEAP32[$18>>2] = $45; + $46 = HEAP32[$18>>2]|0; + $47 = ($46|0)==(0); + $48 = HEAP32[$21>>2]|0; + $49 = ($48|0)!=(0|0); + $or$cond = $47 & $49; + if ($or$cond) { + $50 = HEAP32[$17>>2]|0; + $51 = HEAP32[$21>>2]|0; + $52 = (_fts3SegReaderCursorAppend($50,$51)|0); + HEAP32[$18>>2] = $52; + } + } + } + $53 = HEAP32[$12>>2]|0; + $54 = ($53|0)!=(-1); + L6: do { + if ($54) { + $55 = HEAP32[$18>>2]|0; + $56 = ($55|0)==(0); + if ($56) { + $57 = HEAP32[$9>>2]|0; + $58 = HEAP32[$10>>2]|0; + $59 = HEAP32[$11>>2]|0; + $60 = HEAP32[$12>>2]|0; + $61 = (_sqlite3Fts3AllSegdirs($57,$58,$59,$60,$19)|0); + HEAP32[$18>>2] = $61; + } + while(1) { + $62 = HEAP32[$18>>2]|0; + $63 = ($62|0)==(0); + if (!($63)) { + break L6; + } + $64 = HEAP32[$19>>2]|0; + $65 = (_sqlite3_step($64)|0); + HEAP32[$18>>2] = $65; + $66 = (100)==($65|0); + if (!($66)) { + break L6; + } + HEAP32[$22>>2] = 0; + $67 = HEAP32[$19>>2]|0; + $68 = (_sqlite3_column_int64($67,1)|0); + $69 = tempRet0; + $70 = $23; + $71 = $70; + HEAP32[$71>>2] = $68; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = HEAP32[$19>>2]|0; + $75 = (_sqlite3_column_int64($74,2)|0); + $76 = tempRet0; + $77 = $24; + $78 = $77; + HEAP32[$78>>2] = $75; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = $76; + $81 = HEAP32[$19>>2]|0; + $82 = (_sqlite3_column_int64($81,3)|0); + $83 = tempRet0; + $84 = $25; + $85 = $84; + HEAP32[$85>>2] = $82; + $86 = (($84) + 4)|0; + $87 = $86; + HEAP32[$87>>2] = $83; + $88 = HEAP32[$19>>2]|0; + $89 = (_sqlite3_column_bytes($88,4)|0); + HEAP32[$26>>2] = $89; + $90 = HEAP32[$19>>2]|0; + $91 = (_sqlite3_column_blob($90,4)|0); + HEAP32[$27>>2] = $91; + $92 = $23; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (($92) + 4)|0; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = ($94|0)!=(0); + $99 = ($97|0)!=(0); + $100 = $98 | $99; + $101 = HEAP32[$13>>2]|0; + $102 = ($101|0)!=(0|0); + $or$cond3 = $100 & $102; + if ($or$cond3) { + $103 = HEAP32[$15>>2]|0; + $104 = ($103|0)!=(0); + $$ = $104 ? $24 : 0; + HEAP32[$28>>2] = $$; + $105 = HEAP32[$9>>2]|0; + $106 = HEAP32[$13>>2]|0; + $107 = HEAP32[$14>>2]|0; + $108 = HEAP32[$27>>2]|0; + $109 = HEAP32[$26>>2]|0; + $110 = HEAP32[$28>>2]|0; + $111 = (_fts3SelectLeaf($105,$106,$107,$108,$109,$23,$110)|0); + HEAP32[$18>>2] = $111; + $112 = HEAP32[$18>>2]|0; + $113 = ($112|0)!=(0); + if ($113) { + break L6; + } + $114 = HEAP32[$15>>2]|0; + $115 = ($114|0)==(0); + $116 = HEAP32[$16>>2]|0; + $117 = ($116|0)==(0); + $or$cond5 = $115 & $117; + if ($or$cond5) { + $118 = $23; + $119 = $118; + $120 = HEAP32[$119>>2]|0; + $121 = (($118) + 4)|0; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = $24; + $125 = $124; + HEAP32[$125>>2] = $120; + $126 = (($124) + 4)|0; + $127 = $126; + HEAP32[$127>>2] = $123; + } + } + $128 = HEAP32[$17>>2]|0; + $129 = ((($128)) + 4|0); + $130 = HEAP32[$129>>2]|0; + $131 = (($130) + 1)|0; + $132 = HEAP32[$15>>2]|0; + $133 = ($132|0)==(0); + $134 = HEAP32[$16>>2]|0; + $135 = ($134|0)==(0); + $136 = $133 ? $135 : 0; + $137 = $136&1; + $138 = $23; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = $24; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $25; + $151 = $150; + $152 = HEAP32[$151>>2]|0; + $153 = (($150) + 4)|0; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = HEAP32[$27>>2]|0; + $157 = HEAP32[$26>>2]|0; + $158 = (_sqlite3Fts3SegReaderNew($131,$137,$140,$143,$146,$149,$152,$155,$156,$157,$22)|0); + HEAP32[$18>>2] = $158; + $159 = HEAP32[$18>>2]|0; + $160 = ($159|0)!=(0); + if ($160) { + break L6; + } + $161 = HEAP32[$17>>2]|0; + $162 = HEAP32[$22>>2]|0; + $163 = (_fts3SegReaderCursorAppend($161,$162)|0); + HEAP32[$18>>2] = $163; + } + } + } while(0); + $164 = HEAP32[$19>>2]|0; + $165 = (_sqlite3_reset($164)|0); + HEAP32[$20>>2] = $165; + $166 = HEAP32[$18>>2]|0; + $167 = ($166|0)==(101); + if (!($167)) { + $169 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($169|0); + } + $168 = HEAP32[$20>>2]|0; + HEAP32[$18>>2] = $168; + $169 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($169|0); +} +function _sqlite3Fts3SegReaderPending($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $6 = sp + 64|0; + $7 = sp + 60|0; + $8 = sp + 56|0; + $9 = sp + 52|0; + $10 = sp + 48|0; + $11 = sp + 44|0; + $12 = sp + 40|0; + $13 = sp + 36|0; + $14 = sp + 32|0; + $15 = sp + 28|0; + $16 = sp + 24|0; + $17 = sp + 20|0; + $18 = sp + 16|0; + $19 = sp + 12|0; + $20 = sp + 8|0; + $21 = sp + 4|0; + $22 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$12>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 252|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$7>>2]|0; + $27 = (($25) + (($26*24)|0)|0); + $28 = ((($27)) + 4|0); + HEAP32[$17>>2] = $28; + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)!=(0); + if ($30) { + HEAP32[$18>>2] = 0; + $31 = HEAP32[$17>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$13>>2] = $33; + while(1) { + $34 = HEAP32[$13>>2]|0; + $35 = ($34|0)!=(0|0); + if (!($35)) { + break; + } + $36 = HEAP32[$13>>2]|0; + $37 = ((($36)) + 12|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$19>>2] = $38; + $39 = HEAP32[$13>>2]|0; + $40 = ((($39)) + 16|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$20>>2] = $41; + $42 = HEAP32[$9>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + label = 7; + } else { + $44 = HEAP32[$20>>2]|0; + $45 = HEAP32[$9>>2]|0; + $46 = ($44|0)>=($45|0); + if ($46) { + $47 = HEAP32[$19>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = HEAP32[$9>>2]|0; + $50 = (_memcmp($47,$48,$49)|0); + $51 = (0)==($50|0); + if ($51) { + label = 7; + } + } + } + if ((label|0) == 7) { + label = 0; + $52 = HEAP32[$15>>2]|0; + $53 = HEAP32[$18>>2]|0; + $54 = ($52|0)==($53|0); + if ($54) { + $55 = HEAP32[$18>>2]|0; + $56 = (($55) + 16)|0; + HEAP32[$18>>2] = $56; + $57 = HEAP32[$14>>2]|0; + $58 = HEAP32[$18>>2]|0; + $59 = $58<<2; + $60 = (_sqlite3_realloc($57,$59)|0); + HEAP32[$21>>2] = $60; + $61 = HEAP32[$21>>2]|0; + $62 = ($61|0)!=(0|0); + if (!($62)) { + label = 9; + break; + } + $63 = HEAP32[$21>>2]|0; + HEAP32[$14>>2] = $63; + } + $64 = HEAP32[$13>>2]|0; + $65 = HEAP32[$14>>2]|0; + $66 = HEAP32[$15>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$15>>2] = $67; + $68 = (($65) + ($66<<2)|0); + HEAP32[$68>>2] = $64; + } + $69 = HEAP32[$13>>2]|0; + $70 = HEAP32[$69>>2]|0; + HEAP32[$13>>2] = $70; + } + if ((label|0) == 9) { + HEAP32[$16>>2] = 7; + HEAP32[$15>>2] = 0; + } + $71 = HEAP32[$15>>2]|0; + $72 = ($71|0)>(1); + if ($72) { + $73 = HEAP32[$14>>2]|0; + $74 = HEAP32[$15>>2]|0; + _qsort($73,$74,4,218); + } + } else { + $75 = HEAP32[$17>>2]|0; + $76 = HEAP32[$8>>2]|0; + $77 = HEAP32[$9>>2]|0; + $78 = (_sqlite3Fts3HashFindElem($75,$76,$77)|0); + HEAP32[$13>>2] = $78; + $79 = HEAP32[$13>>2]|0; + $80 = ($79|0)!=(0|0); + if ($80) { + HEAP32[$14>>2] = $13; + HEAP32[$15>>2] = 1; + } + } + $81 = HEAP32[$15>>2]|0; + $82 = ($81|0)>(0); + do { + if ($82) { + $83 = HEAP32[$15>>2]|0; + $84 = (($83) + 1)|0; + $85 = $84<<2; + $86 = (96 + ($85))|0; + HEAP32[$22>>2] = $86; + $87 = HEAP32[$22>>2]|0; + $88 = (_sqlite3_malloc($87)|0); + HEAP32[$12>>2] = $88; + $89 = HEAP32[$12>>2]|0; + $90 = ($89|0)!=(0|0); + if ($90) { + $91 = HEAP32[$12>>2]|0; + $92 = HEAP32[$22>>2]|0; + _memset(($91|0),0,($92|0))|0; + $93 = HEAP32[$12>>2]|0; + HEAP32[$93>>2] = 2147483647; + $94 = HEAP32[$12>>2]|0; + $95 = ((($94)) + 96|0); + $96 = HEAP32[$12>>2]|0; + $97 = ((($96)) + 56|0); + HEAP32[$97>>2] = $95; + $98 = HEAP32[$12>>2]|0; + $99 = ((($98)) + 56|0); + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$14>>2]|0; + $102 = HEAP32[$15>>2]|0; + $103 = $102<<2; + _memcpy(($100|0),($101|0),($103|0))|0; + break; + } else { + HEAP32[$16>>2] = 7; + break; + } + } + } while(0); + $104 = HEAP32[$10>>2]|0; + $105 = ($104|0)!=(0); + if (!($105)) { + $107 = HEAP32[$12>>2]|0; + $108 = HEAP32[$11>>2]|0; + HEAP32[$108>>2] = $107; + $109 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($109|0); + } + $106 = HEAP32[$14>>2]|0; + _sqlite3_free($106); + $107 = HEAP32[$12>>2]|0; + $108 = HEAP32[$11>>2]|0; + HEAP32[$108>>2] = $107; + $109 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($109|0); +} +function _fts3SegReaderCursorAppend($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9|0) % 16)&-1; + $11 = ($10|0)==(0); + do { + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + 16)|0; + $16 = $15<<2; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = (_sqlite3_realloc($18,$19)|0); + HEAP32[$5>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$3>>2]|0; + HEAP32[$25>>2] = $24; + break; + } + $23 = HEAP32[$4>>2]|0; + _sqlite3Fts3SegReaderFree($23); + HEAP32[$2>>2] = 7; + $34 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($34|0); + } + } while(0); + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$30>>2] = $32; + $33 = (($28) + ($31<<2)|0); + HEAP32[$33>>2] = $26; + HEAP32[$2>>2] = 0; + $34 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($34|0); +} +function _sqlite3Fts3AllSegdirs($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$11>>2] = 0; + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)<(0); + $14 = HEAP32[$5>>2]|0; + if ($13) { + $15 = (_fts3SqlStmt($14,13,$11,0)|0); + HEAP32[$10>>2] = $15; + $16 = HEAP32[$10>>2]|0; + $17 = ($16|0)==(0); + if ($17) { + $18 = HEAP32[$11>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$7>>2]|0; + $22 = (_getAbsoluteLevel($19,$20,$21,0)|0); + $23 = tempRet0; + (_sqlite3_bind_int64($18,1,$22,$23)|0); + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$7>>2]|0; + $28 = (_getAbsoluteLevel($25,$26,$27,1023)|0); + $29 = tempRet0; + (_sqlite3_bind_int64($24,2,$28,$29)|0); + } + } else { + $30 = (_fts3SqlStmt($14,12,$11,0)|0); + HEAP32[$10>>2] = $30; + $31 = HEAP32[$10>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $33 = HEAP32[$11>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$8>>2]|0; + $38 = (_getAbsoluteLevel($34,$35,$36,$37)|0); + $39 = tempRet0; + (_sqlite3_bind_int64($33,1,$38,$39)|0); + } + } + $40 = HEAP32[$11>>2]|0; + $41 = HEAP32[$9>>2]|0; + HEAP32[$41>>2] = $40; + $42 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($42|0); +} +function _fts3SelectLeaf($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $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, $or$cond = 0, $or$cond3 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + HEAP32[$14>>2] = 0; + $18 = HEAP32[$10>>2]|0; + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 & 128; + $22 = ($21|0)!=(0); + $23 = HEAP32[$10>>2]|0; + if ($22) { + (_sqlite3Fts3GetVarint32($23,$15)|0); + } else { + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + HEAP32[$15>>2] = $25; + } + $26 = HEAP32[$8>>2]|0; + $27 = HEAP32[$9>>2]|0; + $28 = HEAP32[$10>>2]|0; + $29 = HEAP32[$11>>2]|0; + $30 = HEAP32[$12>>2]|0; + $31 = HEAP32[$13>>2]|0; + $32 = (_fts3ScanInteriorNode($26,$27,$28,$29,$30,$31)|0); + HEAP32[$14>>2] = $32; + $33 = HEAP32[$14>>2]|0; + $34 = ($33|0)==(0); + $35 = HEAP32[$15>>2]|0; + $36 = ($35|0)>(1); + $or$cond = $34 & $36; + if (!($or$cond)) { + $102 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($102|0); + } + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + $37 = HEAP32[$12>>2]|0; + $38 = ($37|0)!=(0|0); + $39 = HEAP32[$13>>2]|0; + $40 = ($39|0)!=(0|0); + $or$cond3 = $38 & $40; + if ($or$cond3) { + $41 = HEAP32[$12>>2]|0; + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$13>>2]|0; + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = ($44|0)!=($51|0); + $56 = ($47|0)!=($54|0); + $57 = $55 | $56; + if ($57) { + $58 = HEAP32[$7>>2]|0; + $59 = HEAP32[$12>>2]|0; + $60 = $59; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (_sqlite3Fts3ReadBlock($58,$62,$65,$16,$17,0)|0); + HEAP32[$14>>2] = $66; + $67 = HEAP32[$14>>2]|0; + $68 = ($67|0)==(0); + if ($68) { + $69 = HEAP32[$7>>2]|0; + $70 = HEAP32[$8>>2]|0; + $71 = HEAP32[$9>>2]|0; + $72 = HEAP32[$16>>2]|0; + $73 = HEAP32[$17>>2]|0; + $74 = HEAP32[$12>>2]|0; + $75 = (_fts3SelectLeaf($69,$70,$71,$72,$73,$74,0)|0); + HEAP32[$14>>2] = $75; + } + $76 = HEAP32[$16>>2]|0; + _sqlite3_free($76); + HEAP32[$12>>2] = 0; + HEAP32[$16>>2] = 0; + } + } + $77 = HEAP32[$14>>2]|0; + $78 = ($77|0)==(0); + if ($78) { + $79 = HEAP32[$7>>2]|0; + $80 = HEAP32[$12>>2]|0; + $81 = ($80|0)!=(0|0); + $82 = HEAP32[$13>>2]|0; + $83 = HEAP32[$12>>2]|0; + $$sink = $81 ? $83 : $82; + $84 = $$sink; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (($84) + 4)|0; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (_sqlite3Fts3ReadBlock($79,$86,$89,$16,$17,0)|0); + HEAP32[$14>>2] = $90; + } + $91 = HEAP32[$14>>2]|0; + $92 = ($91|0)==(0); + if ($92) { + $93 = HEAP32[$7>>2]|0; + $94 = HEAP32[$8>>2]|0; + $95 = HEAP32[$9>>2]|0; + $96 = HEAP32[$16>>2]|0; + $97 = HEAP32[$17>>2]|0; + $98 = HEAP32[$12>>2]|0; + $99 = HEAP32[$13>>2]|0; + $100 = (_fts3SelectLeaf($93,$94,$95,$96,$97,$98,$99)|0); + HEAP32[$14>>2] = $100; + } + $101 = HEAP32[$16>>2]|0; + _sqlite3_free($101); + $102 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($102|0); +} +function _sqlite3Fts3SegReaderNew($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + $10 = $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $11 = sp + 52|0; + $12 = sp + 48|0; + $13 = sp + 44|0; + $14 = sp + 16|0; + $15 = sp + 8|0; + $16 = sp; + $17 = sp + 40|0; + $18 = sp + 36|0; + $19 = sp + 32|0; + $20 = sp + 28|0; + $21 = sp + 24|0; + HEAP32[$12>>2] = $0; + HEAP32[$13>>2] = $1; + $22 = $14; + $23 = $22; + HEAP32[$23>>2] = $2; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $3; + $26 = $15; + $27 = $26; + HEAP32[$27>>2] = $4; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $5; + $30 = $16; + $31 = $30; + HEAP32[$31>>2] = $6; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $7; + HEAP32[$17>>2] = $8; + HEAP32[$18>>2] = $9; + HEAP32[$19>>2] = $10; + HEAP32[$21>>2] = 0; + $34 = $14; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = ($36|0)==(0); + $41 = ($39|0)==(0); + $42 = $40 & $41; + if ($42) { + $43 = HEAP32[$18>>2]|0; + $44 = (($43) + 20)|0; + HEAP32[$21>>2] = $44; + } + $45 = HEAP32[$21>>2]|0; + $46 = (96 + ($45))|0; + $47 = (_sqlite3_malloc($46)|0); + HEAP32[$20>>2] = $47; + $48 = HEAP32[$20>>2]|0; + $49 = ($48|0)!=(0|0); + if (!($49)) { + HEAP32[$11>>2] = 7; + $132 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($132|0); + } + $50 = HEAP32[$20>>2]|0; + dest=$50; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $51 = HEAP32[$12>>2]|0; + $52 = HEAP32[$20>>2]|0; + HEAP32[$52>>2] = $51; + $53 = HEAP32[$13>>2]|0; + $54 = ($53|0)!=(0); + $55 = $54&1; + $56 = $55&255; + $57 = HEAP32[$20>>2]|0; + $58 = ((($57)) + 4|0); + HEAP8[$58>>0] = $56; + $59 = $14; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$20>>2]|0; + $66 = ((($65)) + 8|0); + $67 = $66; + $68 = $67; + HEAP32[$68>>2] = $61; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $64; + $71 = $15; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$20>>2]|0; + $78 = ((($77)) + 16|0); + $79 = $78; + $80 = $79; + HEAP32[$80>>2] = $73; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $76; + $83 = $16; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$20>>2]|0; + $90 = ((($89)) + 24|0); + $91 = $90; + $92 = $91; + HEAP32[$92>>2] = $85; + $93 = (($91) + 4)|0; + $94 = $93; + HEAP32[$94>>2] = $88; + $95 = HEAP32[$21>>2]|0; + $96 = ($95|0)!=(0); + if ($96) { + $97 = HEAP32[$20>>2]|0; + $98 = ((($97)) + 96|0); + $99 = HEAP32[$20>>2]|0; + $100 = ((($99)) + 40|0); + HEAP32[$100>>2] = $98; + $101 = HEAP32[$20>>2]|0; + $102 = ((($101)) + 5|0); + HEAP8[$102>>0] = 1; + $103 = HEAP32[$18>>2]|0; + $104 = HEAP32[$20>>2]|0; + $105 = ((($104)) + 44|0); + HEAP32[$105>>2] = $103; + $106 = HEAP32[$20>>2]|0; + $107 = ((($106)) + 40|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$17>>2]|0; + $110 = HEAP32[$18>>2]|0; + _memcpy(($108|0),($109|0),($110|0))|0; + $111 = HEAP32[$20>>2]|0; + $112 = ((($111)) + 40|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$18>>2]|0; + $115 = (($113) + ($114)|0); + dest=$115; stop=dest+20|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + } else { + $116 = $14; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = (_i64Subtract(($118|0),($121|0),1,0)|0); + $123 = tempRet0; + $124 = HEAP32[$20>>2]|0; + $125 = ((($124)) + 32|0); + $126 = $125; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $123; + } + $130 = HEAP32[$20>>2]|0; + $131 = HEAP32[$19>>2]|0; + HEAP32[$131>>2] = $130; + HEAP32[$11>>2] = 0; + $132 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($132|0); +} +function _fts3ScanInteriorNode($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $6 = sp + 76|0; + $7 = sp + 72|0; + $8 = sp + 68|0; + $9 = sp + 64|0; + $10 = sp + 60|0; + $11 = sp + 56|0; + $12 = sp + 52|0; + $13 = sp + 48|0; + $14 = sp + 44|0; + $15 = sp + 40|0; + $16 = sp + 36|0; + $17 = sp + 32|0; + $18 = sp + 28|0; + $19 = sp; + $20 = sp + 24|0; + $21 = sp + 20|0; + $22 = sp + 16|0; + $23 = sp + 12|0; + $24 = sp + 8|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = 0; + $25 = HEAP32[$9>>2]|0; + HEAP32[$14>>2] = $25; + $26 = HEAP32[$14>>2]|0; + $27 = HEAP32[$10>>2]|0; + $28 = (($26) + ($27)|0); + HEAP32[$15>>2] = $28; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + HEAP32[$18>>2] = 1; + $29 = HEAP32[$14>>2]|0; + $30 = (_sqlite3Fts3GetVarint($29,$19)|0); + $31 = HEAP32[$14>>2]|0; + $32 = (($31) + ($30)|0); + HEAP32[$14>>2] = $32; + $33 = HEAP32[$14>>2]|0; + $34 = (_sqlite3Fts3GetVarint($33,$19)|0); + $35 = HEAP32[$14>>2]|0; + $36 = (($35) + ($34)|0); + HEAP32[$14>>2] = $36; + $37 = HEAP32[$14>>2]|0; + $38 = HEAP32[$15>>2]|0; + $39 = ($37>>>0)>($38>>>0); + if ($39) { + HEAP32[$6>>2] = 267; + $193 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($193|0); + } + while(1) { + $40 = HEAP32[$14>>2]|0; + $41 = HEAP32[$15>>2]|0; + $42 = ($40>>>0)<($41>>>0); + if (!($42)) { + label = 28; + break; + } + $43 = HEAP32[$11>>2]|0; + $44 = ($43|0)!=(0|0); + $45 = HEAP32[$12>>2]|0; + $46 = ($45|0)!=(0|0); + $47 = $44 ? 1 : $46; + if (!($47)) { + label = 28; + break; + } + HEAP32[$22>>2] = 0; + $48 = HEAP32[$18>>2]|0; + $49 = ($48|0)!=(0); + if (!($49)) { + $50 = HEAP32[$14>>2]|0; + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = $52 & 128; + $54 = ($53|0)!=(0); + $55 = HEAP32[$14>>2]|0; + if ($54) { + $56 = (_sqlite3Fts3GetVarint32($55,$22)|0); + $61 = $56; + } else { + $57 = HEAP8[$55>>0]|0; + $58 = $57&255; + HEAP32[$22>>2] = $58; + $61 = 1; + } + $59 = HEAP32[$14>>2]|0; + $60 = (($59) + ($61)|0); + HEAP32[$14>>2] = $60; + } + HEAP32[$18>>2] = 0; + $62 = HEAP32[$14>>2]|0; + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = $64 & 128; + $66 = ($65|0)!=(0); + $67 = HEAP32[$14>>2]|0; + if ($66) { + $68 = (_sqlite3Fts3GetVarint32($67,$21)|0); + $73 = $68; + } else { + $69 = HEAP8[$67>>0]|0; + $70 = $69&255; + HEAP32[$21>>2] = $70; + $73 = 1; + } + $71 = HEAP32[$14>>2]|0; + $72 = (($71) + ($73)|0); + HEAP32[$14>>2] = $72; + $74 = HEAP32[$22>>2]|0; + $75 = ($74|0)<(0); + $76 = HEAP32[$21>>2]|0; + $77 = ($76|0)<(0); + $or$cond = $75 | $77; + if ($or$cond) { + label = 15; + break; + } + $78 = HEAP32[$14>>2]|0; + $79 = HEAP32[$21>>2]|0; + $80 = (($78) + ($79)|0); + $81 = HEAP32[$15>>2]|0; + $82 = ($80>>>0)>($81>>>0); + if ($82) { + label = 15; + break; + } + $83 = HEAP32[$22>>2]|0; + $84 = HEAP32[$21>>2]|0; + $85 = (($83) + ($84))|0; + $86 = HEAP32[$17>>2]|0; + $87 = ($85|0)>($86|0); + if ($87) { + $88 = HEAP32[$22>>2]|0; + $89 = HEAP32[$21>>2]|0; + $90 = (($88) + ($89))|0; + $91 = $90<<1; + HEAP32[$17>>2] = $91; + $92 = HEAP32[$16>>2]|0; + $93 = HEAP32[$17>>2]|0; + $94 = (_sqlite3_realloc($92,$93)|0); + HEAP32[$24>>2] = $94; + $95 = HEAP32[$24>>2]|0; + $96 = ($95|0)!=(0|0); + if (!($96)) { + label = 18; + break; + } + $97 = HEAP32[$24>>2]|0; + HEAP32[$16>>2] = $97; + } + $98 = HEAP32[$16>>2]|0; + $99 = HEAP32[$22>>2]|0; + $100 = (($98) + ($99)|0); + $101 = HEAP32[$14>>2]|0; + $102 = HEAP32[$21>>2]|0; + _memcpy(($100|0),($101|0),($102|0))|0; + $103 = HEAP32[$22>>2]|0; + $104 = HEAP32[$21>>2]|0; + $105 = (($103) + ($104))|0; + HEAP32[$23>>2] = $105; + $106 = HEAP32[$21>>2]|0; + $107 = HEAP32[$14>>2]|0; + $108 = (($107) + ($106)|0); + HEAP32[$14>>2] = $108; + $109 = HEAP32[$7>>2]|0; + $110 = HEAP32[$16>>2]|0; + $111 = HEAP32[$23>>2]|0; + $112 = HEAP32[$8>>2]|0; + $113 = ($111|0)>($112|0); + $114 = HEAP32[$8>>2]|0; + $115 = HEAP32[$23>>2]|0; + $116 = $113 ? $114 : $115; + $117 = (_memcmp($109,$110,$116)|0); + HEAP32[$20>>2] = $117; + $118 = HEAP32[$11>>2]|0; + $119 = ($118|0)!=(0|0); + do { + if ($119) { + $120 = HEAP32[$20>>2]|0; + $121 = ($120|0)<(0); + if (!($121)) { + $122 = HEAP32[$20>>2]|0; + $123 = ($122|0)==(0); + if (!($123)) { + break; + } + $124 = HEAP32[$23>>2]|0; + $125 = HEAP32[$8>>2]|0; + $126 = ($124|0)>($125|0); + if (!($126)) { + break; + } + } + $127 = $19; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$11>>2]|0; + $134 = $133; + $135 = $134; + HEAP32[$135>>2] = $129; + $136 = (($134) + 4)|0; + $137 = $136; + HEAP32[$137>>2] = $132; + HEAP32[$11>>2] = 0; + } + } while(0); + $138 = HEAP32[$12>>2]|0; + $139 = ($138|0)!=(0|0); + $140 = HEAP32[$20>>2]|0; + $141 = ($140|0)<(0); + $or$cond3 = $139 & $141; + if ($or$cond3) { + $142 = $19; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = (($142) + 4)|0; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$12>>2]|0; + $149 = $148; + $150 = $149; + HEAP32[$150>>2] = $144; + $151 = (($149) + 4)|0; + $152 = $151; + HEAP32[$152>>2] = $147; + HEAP32[$12>>2] = 0; + } + $153 = $19; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = (($153) + 4)|0; + $157 = $156; + $158 = HEAP32[$157>>2]|0; + $159 = (_i64Add(($155|0),($158|0),1,0)|0); + $160 = tempRet0; + $161 = $19; + $162 = $161; + HEAP32[$162>>2] = $159; + $163 = (($161) + 4)|0; + $164 = $163; + HEAP32[$164>>2] = $160; + } + if ((label|0) == 15) { + HEAP32[$13>>2] = 267; + } + else if ((label|0) == 18) { + HEAP32[$13>>2] = 7; + } + else if ((label|0) == 28) { + $165 = HEAP32[$11>>2]|0; + $166 = ($165|0)!=(0|0); + if ($166) { + $167 = $19; + $168 = $167; + $169 = HEAP32[$168>>2]|0; + $170 = (($167) + 4)|0; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = HEAP32[$11>>2]|0; + $174 = $173; + $175 = $174; + HEAP32[$175>>2] = $169; + $176 = (($174) + 4)|0; + $177 = $176; + HEAP32[$177>>2] = $172; + } + $178 = HEAP32[$12>>2]|0; + $179 = ($178|0)!=(0|0); + if ($179) { + $180 = $19; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = (($180) + 4)|0; + $184 = $183; + $185 = HEAP32[$184>>2]|0; + $186 = HEAP32[$12>>2]|0; + $187 = $186; + $188 = $187; + HEAP32[$188>>2] = $182; + $189 = (($187) + 4)|0; + $190 = $189; + HEAP32[$190>>2] = $185; + } + } + $191 = HEAP32[$16>>2]|0; + _sqlite3_free($191); + $192 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $192; + $193 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($193|0); +} +function _fts3CompareElemByTerm($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$5>>2] = $17; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$6>>2] = $21; + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$7>>2] = $25; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$7>>2]|0; + $28 = ($26|0)<($27|0); + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = $28 ? $29 : $30; + HEAP32[$8>>2] = $31; + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$8>>2]|0; + $35 = (_memcmp($32,$33,$34)|0); + HEAP32[$9>>2] = $35; + $36 = HEAP32[$9>>2]|0; + $37 = ($36|0)==(0); + if (!($37)) { + $41 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($41|0); + } + $38 = HEAP32[$6>>2]|0; + $39 = HEAP32[$7>>2]|0; + $40 = (($38) - ($39))|0; + HEAP32[$9>>2] = $40; + $41 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($41|0); +} +function _fts3SnippetFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$7>>2] = 45552; + HEAP32[$8>>2] = 45556; + HEAP32[$9>>2] = 45561; + HEAP32[$10>>2] = -1; + HEAP32[$11>>2] = 15; + $12 = HEAP32[$4>>2]|0; + $13 = ($12|0)>(6); + $14 = HEAP32[$3>>2]|0; + if ($13) { + _sqlite3_result_error($14,45572,-1); + STACKTOP = sp;return; + } + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_fts3FunctionArg($14,42611,$16,$6)|0); + $18 = ($17|0)!=(0); + if ($18) { + STACKTOP = sp;return; + } + $19 = HEAP32[$4>>2]|0; + switch ($19|0) { + case 6: { + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3_value_int($22)|0); + HEAP32[$11>>2] = $23; + label = 6; + break; + } + case 5: { + label = 6; + break; + } + case 4: { + label = 7; + break; + } + case 3: { + label = 8; + break; + } + case 2: { + label = 9; + break; + } + default: { + } + } + if ((label|0) == 6) { + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 16|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3_value_int($26)|0); + HEAP32[$10>>2] = $27; + label = 7; + } + if ((label|0) == 7) { + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_value_text($30)|0); + HEAP32[$9>>2] = $31; + label = 8; + } + if ((label|0) == 8) { + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_sqlite3_value_text($34)|0); + HEAP32[$8>>2] = $35; + label = 9; + } + if ((label|0) == 9) { + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3_value_text($38)|0); + HEAP32[$7>>2] = $39; + } + $40 = HEAP32[$9>>2]|0; + $41 = ($40|0)!=(0|0); + $42 = HEAP32[$8>>2]|0; + $43 = ($42|0)!=(0|0); + $or$cond = $41 & $43; + $44 = HEAP32[$7>>2]|0; + $45 = ($44|0)!=(0|0); + $or$cond3 = $or$cond & $45; + if (!($or$cond3)) { + $46 = HEAP32[$3>>2]|0; + _sqlite3_result_error_nomem($46); + STACKTOP = sp;return; + } + $47 = HEAP32[$11>>2]|0; + $48 = ($47|0)==(0); + $49 = HEAP32[$3>>2]|0; + if ($48) { + _sqlite3_result_text($49,55752,-1,0); + STACKTOP = sp;return; + } + $50 = HEAP32[$6>>2]|0; + $51 = (_fts3CursorSeek($49,$50)|0); + $52 = (0)==($51|0); + if (!($52)) { + STACKTOP = sp;return; + } + $53 = HEAP32[$3>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = HEAP32[$7>>2]|0; + $56 = HEAP32[$8>>2]|0; + $57 = HEAP32[$9>>2]|0; + $58 = HEAP32[$10>>2]|0; + $59 = HEAP32[$11>>2]|0; + _sqlite3Fts3Snippet($53,$54,$55,$56,$57,$58,$59); + STACKTOP = sp;return; +} +function _fts3OffsetsFunc($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; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = (_fts3FunctionArg($7,42619,$9,$6)|0); + $11 = ($10|0)!=(0); + if ($11) { + STACKTOP = sp;return; + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = (_fts3CursorSeek($12,$13)|0); + $15 = (0)==($14|0); + if (!($15)) { + STACKTOP = sp;return; + } + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$6>>2]|0; + _sqlite3Fts3Offsets($16,$17); + STACKTOP = sp;return; +} +function _fts3OptimizeFunc($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_fts3FunctionArg($9,42637,$11,$8)|0); + $13 = ($12|0)!=(0); + if ($13) { + STACKTOP = sp;return; + } + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$14>>2]|0; + HEAP32[$7>>2] = $15; + $16 = HEAP32[$7>>2]|0; + $17 = (_sqlite3Fts3Optimize($16)|0); + HEAP32[$6>>2] = $17; + $18 = HEAP32[$6>>2]|0; + switch ($18|0) { + case 0: { + $19 = HEAP32[$3>>2]|0; + _sqlite3_result_text($19,45456,-1,0); + STACKTOP = sp;return; + break; + } + case 101: { + $20 = HEAP32[$3>>2]|0; + _sqlite3_result_text($20,45472,-1,0); + STACKTOP = sp;return; + break; + } + default: { + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$6>>2]|0; + _sqlite3_result_error_code($21,$22); + STACKTOP = sp;return; + } + } +} +function _fts3MatchinfoFunc($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = (_fts3FunctionArg($8,42627,$10,$6)|0); + $12 = (0)==($11|0); + if (!($12)) { + STACKTOP = sp;return; + } + HEAP32[$7>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)>(1); + if ($14) { + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3_value_text($17)|0); + HEAP32[$7>>2] = $18; + } + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$7>>2]|0; + _sqlite3Fts3Matchinfo($19,$20,$21); + STACKTOP = sp;return; +} +function _fts3FunctionArg($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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $11 = HEAP32[$7>>2]|0; + $12 = (_sqlite3_value_type($11)|0); + $13 = ($12|0)!=(4); + if (!($13)) { + $14 = HEAP32[$7>>2]|0; + $15 = (_sqlite3_value_bytes($14)|0); + $16 = ($15|0)!=(4); + if (!($16)) { + $22 = HEAP32[$7>>2]|0; + $23 = (_sqlite3_value_blob($22)|0); + ;HEAP8[$9>>0]=HEAP8[$23>>0]|0;HEAP8[$9+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$9+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$9+3>>0]=HEAP8[$23+3>>0]|0; + $24 = HEAP32[$9>>2]|0; + $25 = HEAP32[$8>>2]|0; + HEAP32[$25>>2] = $24; + HEAP32[$4>>2] = 0; + $26 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($26|0); + } + } + $17 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer>>2] = $17; + $18 = (_sqlite3_mprintf(45427,$vararg_buffer)|0); + HEAP32[$10>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$10>>2]|0; + _sqlite3_result_error($19,$20,-1); + $21 = HEAP32[$10>>2]|0; + _sqlite3_free($21); + HEAP32[$4>>2] = 1; + $26 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($26|0); +} +function _sqlite3Fts3Matchinfo($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; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$5>>2]|0; + HEAP32[$7>>2] = $12; + } else { + HEAP32[$7>>2] = 45362; + } + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)!=(0|0); + $17 = HEAP32[$3>>2]|0; + if ($16) { + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$7>>2]|0; + _fts3GetMatchinfo($17,$18,$19); + $20 = HEAP32[$6>>2]|0; + _sqlite3Fts3SegmentsClose($20); + STACKTOP = sp;return; + } else { + _sqlite3_result_blob($17,55752,0,0); + STACKTOP = sp;return; + } +} +function _fts3GetMatchinfo($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = sp; + $7 = sp + 64|0; + $8 = sp + 60|0; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + HEAP32[$7>>2] = $17; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;HEAP32[$6+20>>2]=0|0;HEAP32[$6+24>>2]=0|0;HEAP32[$6+28>>2]=0|0; + $18 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $18; + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($6)) + 4|0); + HEAP32[$22>>2] = $21; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 92|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 92|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = (_strcmp($31,$32)|0); + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 92|0); + $37 = HEAP32[$36>>2]|0; + _sqlite3Fts3MIBufferFree($37); + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 92|0); + HEAP32[$39>>2] = 0; + } + } + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 92|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + HEAP32[$12>>2] = 0; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_fts3ExprPhraseCount($46)|0); + $48 = HEAP32[$4>>2]|0; + $49 = ((($48)) + 20|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 20|0); + $52 = HEAP32[$51>>2]|0; + $53 = ((($6)) + 8|0); + HEAP32[$53>>2] = $52; + HEAP32[$13>>2] = 0; + while(1) { + $54 = HEAP32[$5>>2]|0; + $55 = HEAP32[$13>>2]|0; + $56 = (($54) + ($55)|0); + $57 = HEAP8[$56>>0]|0; + $58 = ($57<<24>>24)!=(0); + if (!($58)) { + break; + } + HEAP32[$14>>2] = 0; + $59 = HEAP32[$7>>2]|0; + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$13>>2]|0; + $62 = (($60) + ($61)|0); + $63 = HEAP8[$62>>0]|0; + $64 = (_fts3MatchinfoCheck($59,$63,$14)|0); + $65 = ($64|0)!=(0); + if ($65) { + label = 8; + break; + } + $69 = HEAP32[$5>>2]|0; + $70 = HEAP32[$13>>2]|0; + $71 = (($69) + ($70)|0); + $72 = HEAP8[$71>>0]|0; + $73 = (_fts3MatchinfoSize($6,$72)|0); + $74 = HEAP32[$12>>2]|0; + $75 = (($74) + ($73))|0; + HEAP32[$12>>2] = $75; + $76 = HEAP32[$13>>2]|0; + $77 = (($76) + 1)|0; + HEAP32[$13>>2] = $77; + } + if ((label|0) == 8) { + $66 = HEAP32[$3>>2]|0; + $67 = HEAP32[$14>>2]|0; + _sqlite3_result_error($66,$67,-1); + $68 = HEAP32[$14>>2]|0; + _sqlite3_free($68); + STACKTOP = sp;return; + } + $78 = HEAP32[$12>>2]|0; + $79 = HEAP32[$5>>2]|0; + $80 = (_fts3MIBufferNew($78,$79)|0); + $81 = HEAP32[$4>>2]|0; + $82 = ((($81)) + 92|0); + HEAP32[$82>>2] = $80; + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 92|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)!=(0|0); + if (!($86)) { + HEAP32[$8>>2] = 7; + } + $87 = HEAP32[$4>>2]|0; + $88 = ((($87)) + 88|0); + HEAP32[$88>>2] = 1; + HEAP32[$9>>2] = 1; + } + $89 = HEAP32[$8>>2]|0; + $90 = ($89|0)==(0); + if ($90) { + $91 = HEAP32[$4>>2]|0; + $92 = ((($91)) + 92|0); + $93 = HEAP32[$92>>2]|0; + $94 = (_fts3MIBufferAlloc($93,$10)|0); + HEAP32[$11>>2] = $94; + $95 = HEAP32[$11>>2]|0; + $96 = ($95|0)==(0|0); + if ($96) { + HEAP32[$8>>2] = 7; + } + } + $97 = HEAP32[$8>>2]|0; + $98 = ($97|0)==(0); + if ($98) { + $99 = HEAP32[$10>>2]|0; + $100 = ((($6)) + 28|0); + HEAP32[$100>>2] = $99; + $101 = HEAP32[$4>>2]|0; + $102 = ((($101)) + 20|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($6)) + 8|0); + HEAP32[$104>>2] = $103; + $105 = HEAP32[$4>>2]|0; + $106 = HEAP32[$9>>2]|0; + $107 = HEAP32[$5>>2]|0; + $108 = (_fts3MatchinfoValues($105,$106,$6,$107)|0); + HEAP32[$8>>2] = $108; + $109 = HEAP32[$9>>2]|0; + $110 = ($109|0)!=(0); + if ($110) { + $111 = HEAP32[$4>>2]|0; + $112 = ((($111)) + 92|0); + $113 = HEAP32[$112>>2]|0; + _fts3MIBufferSetGlobal($113); + } + } + $114 = HEAP32[$8>>2]|0; + $115 = ($114|0)!=(0); + if (!($115)) { + $122 = HEAP32[$4>>2]|0; + $123 = ((($122)) + 92|0); + $124 = HEAP32[$123>>2]|0; + $125 = ((($124)) + 4|0); + $126 = HEAP32[$125>>2]|0; + $127 = $126<<2; + HEAP32[$15>>2] = $127; + $128 = HEAP32[$3>>2]|0; + $129 = HEAP32[$10>>2]|0; + $130 = HEAP32[$15>>2]|0; + $131 = HEAP32[$11>>2]|0; + _sqlite3_result_blob($128,$129,$130,$131); + STACKTOP = sp;return; + } + $116 = HEAP32[$3>>2]|0; + $117 = HEAP32[$8>>2]|0; + _sqlite3_result_error_code($116,$117); + $118 = HEAP32[$11>>2]|0; + $119 = ($118|0)!=(0|0); + if (!($119)) { + STACKTOP = sp;return; + } + $120 = HEAP32[$11>>2]|0; + $121 = HEAP32[$10>>2]|0; + FUNCTION_TABLE_vi[$120 & 255]($121); + STACKTOP = sp;return; +} +function _sqlite3Fts3SegmentsClose($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 244|0); + $4 = HEAP32[$3>>2]|0; + (_sqlite3_blob_close($4)|0); + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 244|0); + HEAP32[$6>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3Fts3MIBufferFree($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + STACKTOP = sp;return; + } + $4 = HEAP32[$1>>2]|0; + HEAP8[$4>>0] = 0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($7|0)==(0); + if (!($8)) { + STACKTOP = sp;return; + } + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)==(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 2|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = ($17|0)==(0); + if (!($18)) { + STACKTOP = sp;return; + } + $19 = HEAP32[$1>>2]|0; + _sqlite3_free($19); + STACKTOP = sp;return; +} +function _fts3ExprPhraseCount($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $3 = HEAP32[$1>>2]|0; + (_fts3ExprIterate($3,161,$2)|0); + $4 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _fts3MatchinfoCheck($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 16|0; + $6 = sp + 4|0; + HEAP32[$4>>2] = $0; + HEAP8[$5>>0] = $1; + HEAP32[$6>>2] = $2; + $7 = HEAP8[$5>>0]|0; + $8 = $7 << 24 >> 24; + $9 = ($8|0)==(112); + do { + if (!($9)) { + $10 = HEAP8[$5>>0]|0; + $11 = $10 << 24 >> 24; + $12 = ($11|0)==(99); + if (!($12)) { + $13 = HEAP8[$5>>0]|0; + $14 = $13 << 24 >> 24; + $15 = ($14|0)==(110); + if ($15) { + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 228|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)!=(0); + if ($20) { + break; + } + } + $21 = HEAP8[$5>>0]|0; + $22 = $21 << 24 >> 24; + $23 = ($22|0)==(97); + if ($23) { + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 228|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ($27|0)!=(0); + if ($28) { + break; + } + } + $29 = HEAP8[$5>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($30|0)==(108); + if ($31) { + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 230|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = ($35|0)!=(0); + if ($36) { + break; + } + } + $37 = HEAP8[$5>>0]|0; + $38 = $37 << 24 >> 24; + $39 = ($38|0)==(115); + if (!($39)) { + $40 = HEAP8[$5>>0]|0; + $41 = $40 << 24 >> 24; + $42 = ($41|0)==(120); + if (!($42)) { + $43 = HEAP8[$5>>0]|0; + $44 = $43 << 24 >> 24; + $45 = ($44|0)==(121); + if (!($45)) { + $46 = HEAP8[$5>>0]|0; + $47 = $46 << 24 >> 24; + $48 = ($47|0)==(98); + if (!($48)) { + $49 = HEAP32[$6>>2]|0; + $50 = HEAP8[$5>>0]|0; + $51 = $50 << 24 >> 24; + HEAP32[$vararg_buffer>>2] = $51; + _sqlite3Fts3ErrMsg($49,45392,$vararg_buffer); + HEAP32[$3>>2] = 1; + $52 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($52|0); + } + } + } + } + } + } + } while(0); + HEAP32[$3>>2] = 0; + $52 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($52|0); +} +function _fts3MatchinfoSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP8[$3>>0] = $1; + $5 = HEAP8[$3>>0]|0; + $6 = $5 << 24 >> 24; + switch ($6|0) { + case 99: case 112: case 110: { + HEAP32[$4>>2] = 1; + break; + } + case 115: case 108: case 97: { + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + break; + } + case 121: { + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = Math_imul($12, $15)|0; + HEAP32[$4>>2] = $16; + break; + } + case 98: { + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + 31)|0; + $24 = (($23|0) / 32)&-1; + $25 = Math_imul($19, $24)|0; + HEAP32[$4>>2] = $25; + break; + } + default: { + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + $32 = Math_imul($28, $31)|0; + $33 = ($32*3)|0; + HEAP32[$4>>2] = $33; + } + } + $34 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($34|0); +} +function _fts3MIBufferNew($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = $7<<1; + $9 = (($8) + 1)|0; + $10 = $9<<2; + $11 = (($10) + 20)|0; + HEAP32[$5>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = (_strlen($12)|0); + HEAP32[$6>>2] = $13; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = (($14) + ($15))|0; + $17 = (($16) + 1)|0; + $18 = (_sqlite3_malloc($17)|0); + HEAP32[$4>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)!=(0|0); + if (!($20)) { + $59 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($59|0); + } + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$5>>2]|0; + _memset(($21|0),0,($22|0))|0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 16|0); + $25 = ((($24)) + 4|0); + $26 = HEAP32[$4>>2]|0; + $27 = $25; + $28 = $26; + $29 = (($27) - ($28))|0; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 16|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 16|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$2>>2]|0; + $36 = (($35) + 1)|0; + $37 = $36<<2; + $38 = (($34) + ($37))|0; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 16|0); + $41 = HEAP32[$2>>2]|0; + $42 = (1 + ($41))|0; + $43 = (($40) + ($42<<2)|0); + HEAP32[$43>>2] = $38; + $44 = HEAP32[$2>>2]|0; + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 4|0); + HEAP32[$46>>2] = $44; + $47 = HEAP32[$4>>2]|0; + $48 = HEAP32[$5>>2]|0; + $49 = (($47) + ($48)|0); + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 12|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$3>>2]|0; + $56 = HEAP32[$6>>2]|0; + $57 = (($56) + 1)|0; + _memcpy(($54|0),($55|0),($57|0))|0; + $58 = HEAP32[$4>>2]|0; + HEAP8[$58>>0] = 1; + $59 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($59|0); +} +function _fts3MIBufferAlloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)==(0); + $11 = HEAP32[$2>>2]|0; + do { + if ($10) { + $12 = ((($11)) + 1|0); + HEAP8[$12>>0] = 1; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 16|0); + $15 = ((($14)) + 4|0); + HEAP32[$5>>2] = $15; + HEAP32[$4>>2] = 162; + } else { + $16 = ((($11)) + 2|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)==(0); + $20 = HEAP32[$2>>2]|0; + if ($19) { + $21 = ((($20)) + 2|0); + HEAP8[$21>>0] = 1; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($26) + 2)|0; + $28 = (($23) + ($27<<2)|0); + HEAP32[$5>>2] = $28; + HEAP32[$4>>2] = 162; + break; + } + $29 = ((($20)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = $30<<2; + $32 = (_sqlite3_malloc($31)|0); + HEAP32[$5>>2] = $32; + $33 = HEAP32[$5>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + HEAP32[$4>>2] = 157; + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)!=(0); + if ($38) { + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 16|0); + $42 = ((($41)) + 4|0); + $43 = HEAP32[$2>>2]|0; + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = $45<<2; + _memcpy(($39|0),($42|0),($46|0))|0; + } + } + } + } while(0); + $47 = HEAP32[$5>>2]|0; + $48 = HEAP32[$3>>2]|0; + HEAP32[$48>>2] = $47; + $49 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($49|0); +} +function _fts3MatchinfoValues($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $4 = sp + 92|0; + $5 = sp + 88|0; + $6 = sp + 84|0; + $7 = sp + 80|0; + $8 = sp + 76|0; + $9 = sp + 72|0; + $10 = sp + 68|0; + $11 = sp + 64|0; + $12 = sp + 24|0; + $13 = sp + 16|0; + $14 = sp + 60|0; + $15 = sp + 56|0; + $16 = sp + 52|0; + $17 = sp + 8|0; + $18 = sp + 48|0; + $19 = sp + 44|0; + $20 = sp + 40|0; + $21 = sp; + $22 = sp + 36|0; + $23 = sp + 32|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$24>>2]|0; + HEAP32[$10>>2] = $25; + HEAP32[$11>>2] = 0; + HEAP32[$9>>2] = 0; + while(1) { + $26 = HEAP32[$8>>2]|0; + $27 = ($26|0)==(0); + if (!($27)) { + label = 31; + break; + } + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$9>>2]|0; + $30 = (($28) + ($29)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31 << 24 >> 24; + $33 = ($32|0)!=(0); + if (!($33)) { + label = 31; + break; + } + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$9>>2]|0; + $36 = (($34) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 24|0); + HEAP8[$39>>0] = $37; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$9>>2]|0; + $42 = (($40) + ($41)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43 << 24 >> 24; + L5: do { + switch ($44|0) { + case 112: { + $45 = HEAP32[$5>>2]|0; + $46 = ($45|0)!=(0); + if ($46) { + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 28|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$52>>2] = $49; + } + break; + } + case 99: { + $53 = HEAP32[$5>>2]|0; + $54 = ($53|0)!=(0); + if ($54) { + $55 = HEAP32[$6>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + 28|0); + $60 = HEAP32[$59>>2]|0; + HEAP32[$60>>2] = $57; + } + break; + } + case 110: { + $61 = HEAP32[$5>>2]|0; + $62 = ($61|0)!=(0); + if ($62) { + $63 = $12; + $64 = $63; + HEAP32[$64>>2] = 0; + $65 = (($63) + 4)|0; + $66 = $65; + HEAP32[$66>>2] = 0; + $67 = HEAP32[$10>>2]|0; + $68 = (_fts3MatchinfoSelectDoctotal($67,$11,$12,0)|0); + HEAP32[$8>>2] = $68; + $69 = $12; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$6>>2]|0; + $76 = ((($75)) + 28|0); + $77 = HEAP32[$76>>2]|0; + HEAP32[$77>>2] = $71; + } + break; + } + case 97: { + $78 = HEAP32[$5>>2]|0; + $79 = ($78|0)!=(0); + if ($79) { + $80 = HEAP32[$10>>2]|0; + $81 = (_fts3MatchinfoSelectDoctotal($80,$11,$13,$14)|0); + HEAP32[$8>>2] = $81; + $82 = HEAP32[$8>>2]|0; + $83 = ($82|0)==(0); + if ($83) { + HEAP32[$15>>2] = 0; + while(1) { + $84 = HEAP32[$15>>2]|0; + $85 = HEAP32[$6>>2]|0; + $86 = ((($85)) + 4|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($84|0)<($87|0); + if (!($88)) { + break L5; + } + $89 = HEAP32[$14>>2]|0; + $90 = (_sqlite3Fts3GetVarint($89,$17)|0); + $91 = HEAP32[$14>>2]|0; + $92 = (($91) + ($90)|0); + HEAP32[$14>>2] = $92; + $93 = $17; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = $13; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = (($99) + 4)|0; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = (___divdi3(($101|0),($104|0),2,0)|0); + $106 = tempRet0; + $107 = (_i64Add(($95|0),0,($105|0),($106|0))|0); + $108 = tempRet0; + $109 = $13; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = (___divdi3(($107|0),($108|0),($111|0),($114|0))|0); + $116 = tempRet0; + HEAP32[$16>>2] = $115; + $117 = HEAP32[$16>>2]|0; + $118 = HEAP32[$6>>2]|0; + $119 = ((($118)) + 28|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$15>>2]|0; + $122 = (($120) + ($121<<2)|0); + HEAP32[$122>>2] = $117; + $123 = HEAP32[$15>>2]|0; + $124 = (($123) + 1)|0; + HEAP32[$15>>2] = $124; + } + } + } + break; + } + case 108: { + HEAP32[$18>>2] = 0; + $125 = HEAP32[$10>>2]|0; + $126 = HEAP32[$4>>2]|0; + $127 = ((($126)) + 32|0); + $128 = $127; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = (($128) + 4)|0; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (_sqlite3Fts3SelectDocsize($125,$130,$133,$18)|0); + HEAP32[$8>>2] = $134; + $135 = HEAP32[$8>>2]|0; + $136 = ($135|0)==(0); + L27: do { + if ($136) { + $137 = HEAP32[$18>>2]|0; + $138 = (_sqlite3_column_blob($137,0)|0); + HEAP32[$20>>2] = $138; + HEAP32[$19>>2] = 0; + while(1) { + $139 = HEAP32[$19>>2]|0; + $140 = HEAP32[$6>>2]|0; + $141 = ((($140)) + 4|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($139|0)<($142|0); + if (!($143)) { + break L27; + } + $144 = HEAP32[$20>>2]|0; + $145 = (_sqlite3Fts3GetVarint($144,$21)|0); + $146 = HEAP32[$20>>2]|0; + $147 = (($146) + ($145)|0); + HEAP32[$20>>2] = $147; + $148 = $21; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = (($148) + 4)|0; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = HEAP32[$6>>2]|0; + $155 = ((($154)) + 28|0); + $156 = HEAP32[$155>>2]|0; + $157 = HEAP32[$19>>2]|0; + $158 = (($156) + ($157<<2)|0); + HEAP32[$158>>2] = $150; + $159 = HEAP32[$19>>2]|0; + $160 = (($159) + 1)|0; + HEAP32[$19>>2] = $160; + } + } + } while(0); + $161 = HEAP32[$18>>2]|0; + (_sqlite3_reset($161)|0); + break; + } + case 115: { + $162 = HEAP32[$4>>2]|0; + $163 = (_fts3ExprLoadDoclists($162,0,0)|0); + HEAP32[$8>>2] = $163; + $164 = HEAP32[$8>>2]|0; + $165 = ($164|0)==(0); + if ($165) { + $166 = HEAP32[$4>>2]|0; + $167 = HEAP32[$6>>2]|0; + $168 = (_fts3MatchinfoLcs($166,$167)|0); + HEAP32[$8>>2] = $168; + } + break; + } + case 121: case 98: { + $169 = HEAP32[$6>>2]|0; + $170 = HEAP32[$7>>2]|0; + $171 = HEAP32[$9>>2]|0; + $172 = (($170) + ($171)|0); + $173 = HEAP8[$172>>0]|0; + $174 = (_fts3MatchinfoSize($169,$173)|0); + $175 = $174<<2; + HEAP32[$22>>2] = $175; + $176 = HEAP32[$6>>2]|0; + $177 = ((($176)) + 28|0); + $178 = HEAP32[$177>>2]|0; + $179 = HEAP32[$22>>2]|0; + _memset(($178|0),0,($179|0))|0; + $180 = HEAP32[$4>>2]|0; + $181 = ((($180)) + 12|0); + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$6>>2]|0; + _fts3ExprLHitGather($182,$183); + break; + } + default: { + $184 = HEAP32[$4>>2]|0; + $185 = ((($184)) + 12|0); + $186 = HEAP32[$185>>2]|0; + HEAP32[$23>>2] = $186; + $187 = HEAP32[$4>>2]|0; + $188 = (_fts3ExprLoadDoclists($187,0,0)|0); + HEAP32[$8>>2] = $188; + $189 = HEAP32[$8>>2]|0; + $190 = ($189|0)!=(0); + if (!($190)) { + $191 = HEAP32[$5>>2]|0; + $192 = ($191|0)!=(0); + if ($192) { + $193 = HEAP32[$4>>2]|0; + $194 = ((($193)) + 24|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($195|0)!=(0|0); + if ($196) { + $197 = HEAP32[$10>>2]|0; + $198 = HEAP32[$6>>2]|0; + $199 = ((($198)) + 16|0); + $200 = (_fts3MatchinfoSelectDoctotal($197,$11,$199,0)|0); + HEAP32[$8>>2] = $200; + $201 = HEAP32[$8>>2]|0; + $202 = ($201|0)!=(0); + if ($202) { + break L5; + } + } + $203 = HEAP32[$23>>2]|0; + $204 = HEAP32[$6>>2]|0; + $205 = (_fts3ExprIterate($203,162,$204)|0); + HEAP32[$8>>2] = $205; + $206 = HEAP32[$4>>2]|0; + (_sqlite3Fts3EvalTestDeferred($206,$8)|0); + $207 = HEAP32[$8>>2]|0; + $208 = ($207|0)!=(0); + if ($208) { + break L5; + } + } + $209 = HEAP32[$23>>2]|0; + $210 = HEAP32[$6>>2]|0; + (_fts3ExprIterate($209,163,$210)|0); + } + } + } + } while(0); + $211 = HEAP32[$6>>2]|0; + $212 = HEAP32[$7>>2]|0; + $213 = HEAP32[$9>>2]|0; + $214 = (($212) + ($213)|0); + $215 = HEAP8[$214>>0]|0; + $216 = (_fts3MatchinfoSize($211,$215)|0); + $217 = HEAP32[$6>>2]|0; + $218 = ((($217)) + 28|0); + $219 = HEAP32[$218>>2]|0; + $220 = (($219) + ($216<<2)|0); + HEAP32[$218>>2] = $220; + $221 = HEAP32[$9>>2]|0; + $222 = (($221) + 1)|0; + HEAP32[$9>>2] = $222; + } + if ((label|0) == 31) { + $223 = HEAP32[$11>>2]|0; + (_sqlite3_reset($223)|0); + $224 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($224|0); + } + return (0)|0; +} +function _fts3MIBufferSetGlobal($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + HEAP32[$3>>2] = 1; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 16|0); + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (2 + ($8))|0; + $10 = (($5) + ($9<<2)|0); + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 16|0); + $13 = ((($12)) + 4|0); + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = $16<<2; + _memcpy(($10|0),($13|0),($17|0))|0; + STACKTOP = sp;return; +} +function _fts3MatchinfoSelectDoctotal($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp; + $12 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0|0); + if (!($15)) { + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$6>>2]|0; + $18 = (_sqlite3Fts3SelectDoctotal($16,$17)|0); + HEAP32[$12>>2] = $18; + $19 = HEAP32[$12>>2]|0; + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $21; + $54 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($54|0); + } + } + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$9>>2] = $23; + $24 = HEAP32[$9>>2]|0; + $25 = (_sqlite3_column_blob($24,0)|0); + HEAP32[$10>>2] = $25; + $26 = HEAP32[$10>>2]|0; + $27 = (_sqlite3Fts3GetVarint($26,$11)|0); + $28 = HEAP32[$10>>2]|0; + $29 = (($28) + ($27)|0); + HEAP32[$10>>2] = $29; + $30 = $11; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = ($32|0)==(0); + $37 = ($35|0)==(0); + $38 = $36 & $37; + if ($38) { + HEAP32[$4>>2] = 267; + $54 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($54|0); + } + $39 = $11; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = $45; + $47 = $46; + HEAP32[$47>>2] = $41; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = 0; + $50 = HEAP32[$8>>2]|0; + $51 = ($50|0)!=(0|0); + if ($51) { + $52 = HEAP32[$10>>2]|0; + $53 = HEAP32[$8>>2]|0; + HEAP32[$53>>2] = $52; + } + HEAP32[$4>>2] = 0; + $54 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($54|0); +} +function _sqlite3Fts3SelectDocsize($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp; + $6 = sp + 8|0; + HEAP32[$4>>2] = $0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + HEAP32[$6>>2] = $3; + $11 = HEAP32[$4>>2]|0; + $12 = $5; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = (_fts3SelectDocsize($11,$14,$17,$18)|0); + STACKTOP = sp;return ($19|0); +} +function _fts3ExprLoadDoclists($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0; + $8 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_fts3ExprIterate($11,164,$7)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = ((($7)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$4>>2]|0; + HEAP32[$17>>2] = $16; + } + $18 = HEAP32[$5>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + $23 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($23|0); + } + $20 = ((($7)) + 8|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$5>>2]|0; + HEAP32[$22>>2] = $21; + $23 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($23|0); +} +function _fts3MatchinfoLcs($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 56|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$8>>2] = 0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19<<4; + $21 = (_sqlite3_malloc($20)|0); + HEAP32[$5>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ($22|0)!=(0|0); + if (!($23)) { + HEAP32[$2>>2] = 7; + $149 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($149|0); + } + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 20|0); + $27 = HEAP32[$26>>2]|0; + $28 = $27<<4; + _memset(($24|0),0,($28|0))|0; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$5>>2]|0; + (_fts3ExprIterate($31,165,$32)|0); + HEAP32[$6>>2] = 0; + while(1) { + $33 = HEAP32[$6>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($33|0)<($36|0); + if (!($37)) { + break; + } + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = (($38) + ($39<<4)|0); + HEAP32[$9>>2] = $40; + $41 = HEAP32[$9>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 20|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($44)) + 64|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$8>>2]|0; + $48 = (($47) - ($46))|0; + HEAP32[$8>>2] = $48; + $49 = HEAP32[$8>>2]|0; + $50 = HEAP32[$9>>2]|0; + $51 = ((($50)) + 4|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$6>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$6>>2] = $53; + } + HEAP32[$7>>2] = 0; + L9: while(1) { + $54 = HEAP32[$7>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($54|0)<($57|0); + if (!($58)) { + label = 33; + break; + } + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$6>>2] = 0; + while(1) { + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($59|0)<($62|0); + if (!($63)) { + break; + } + $64 = HEAP32[$5>>2]|0; + $65 = HEAP32[$6>>2]|0; + $66 = (($64) + ($65<<4)|0); + HEAP32[$13>>2] = $66; + $67 = HEAP32[$3>>2]|0; + $68 = HEAP32[$13>>2]|0; + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$7>>2]|0; + $71 = HEAP32[$13>>2]|0; + $72 = ((($71)) + 8|0); + $73 = (_sqlite3Fts3EvalPhrasePoslist($67,$69,$70,$72)|0); + HEAP32[$12>>2] = $73; + $74 = HEAP32[$12>>2]|0; + $75 = ($74|0)!=(0); + if ($75) { + label = 11; + break L9; + } + $77 = HEAP32[$13>>2]|0; + $78 = ((($77)) + 8|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0|0); + if ($80) { + $81 = HEAP32[$13>>2]|0; + $82 = ((($81)) + 4|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$13>>2]|0; + $85 = ((($84)) + 12|0); + HEAP32[$85>>2] = $83; + $86 = HEAP32[$5>>2]|0; + $87 = HEAP32[$6>>2]|0; + $88 = (($86) + ($87<<4)|0); + (_fts3LcsIteratorAdvance($88)|0); + $89 = HEAP32[$11>>2]|0; + $90 = (($89) + 1)|0; + HEAP32[$11>>2] = $90; + } + $91 = HEAP32[$6>>2]|0; + $92 = (($91) + 1)|0; + HEAP32[$6>>2] = $92; + } + while(1) { + $93 = HEAP32[$11>>2]|0; + $94 = ($93|0)>(0); + if (!($94)) { + break; + } + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$6>>2] = 0; + while(1) { + $95 = HEAP32[$6>>2]|0; + $96 = HEAP32[$4>>2]|0; + $97 = ((($96)) + 8|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($95|0)<($98|0); + if (!($99)) { + break; + } + $100 = HEAP32[$5>>2]|0; + $101 = HEAP32[$6>>2]|0; + $102 = (($100) + ($101<<4)|0); + HEAP32[$16>>2] = $102; + $103 = HEAP32[$16>>2]|0; + $104 = ((($103)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105|0)==(0|0); + if ($106) { + HEAP32[$15>>2] = 0; + } else { + $107 = HEAP32[$14>>2]|0; + $108 = ($107|0)==(0|0); + if ($108) { + label = 22; + } else { + $109 = HEAP32[$16>>2]|0; + $110 = ((($109)) + 12|0); + $111 = HEAP32[$110>>2]|0; + $112 = HEAP32[$14>>2]|0; + $113 = ((($112)) + 12|0); + $114 = HEAP32[$113>>2]|0; + $115 = ($111|0)<($114|0); + if ($115) { + label = 22; + } + } + if ((label|0) == 22) { + label = 0; + $116 = HEAP32[$16>>2]|0; + HEAP32[$14>>2] = $116; + } + $117 = HEAP32[$15>>2]|0; + $118 = ($117|0)==(0); + if ($118) { + label = 25; + } else { + $119 = HEAP32[$16>>2]|0; + $120 = ((($119)) + 12|0); + $121 = HEAP32[$120>>2]|0; + $122 = HEAP32[$16>>2]|0; + $123 = ((($122)) + -16|0); + $124 = ((($123)) + 12|0); + $125 = HEAP32[$124>>2]|0; + $126 = ($121|0)==($125|0); + if ($126) { + label = 25; + } else { + HEAP32[$15>>2] = 1; + } + } + if ((label|0) == 25) { + label = 0; + $127 = HEAP32[$15>>2]|0; + $128 = (($127) + 1)|0; + HEAP32[$15>>2] = $128; + } + $129 = HEAP32[$15>>2]|0; + $130 = HEAP32[$10>>2]|0; + $131 = ($129|0)>($130|0); + if ($131) { + $132 = HEAP32[$15>>2]|0; + HEAP32[$10>>2] = $132; + } + } + $133 = HEAP32[$6>>2]|0; + $134 = (($133) + 1)|0; + HEAP32[$6>>2] = $134; + } + $135 = HEAP32[$14>>2]|0; + $136 = (_fts3LcsIteratorAdvance($135)|0); + $137 = ($136|0)!=(0); + if (!($137)) { + continue; + } + $138 = HEAP32[$11>>2]|0; + $139 = (($138) + -1)|0; + HEAP32[$11>>2] = $139; + } + $140 = HEAP32[$10>>2]|0; + $141 = HEAP32[$4>>2]|0; + $142 = ((($141)) + 28|0); + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$7>>2]|0; + $145 = (($143) + ($144<<2)|0); + HEAP32[$145>>2] = $140; + $146 = HEAP32[$7>>2]|0; + $147 = (($146) + 1)|0; + HEAP32[$7>>2] = $147; + } + if ((label|0) == 11) { + $76 = HEAP32[$12>>2]|0; + HEAP32[$2>>2] = $76; + $149 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($149|0); + } + else if ((label|0) == 33) { + $148 = HEAP32[$5>>2]|0; + _sqlite3_free($148); + HEAP32[$2>>2] = 0; + $149 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($149|0); + } + return (0)|0; +} +function _fts3ExprLHitGather($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 32|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($7|0)==(0); + if (!($8)) { + STACKTOP = sp;return; + } + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 24|0); + $11 = $10; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 32|0); + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = ($13|0)==($22|0); + $27 = ($16|0)==($25|0); + $28 = $26 & $27; + if (!($28)) { + STACKTOP = sp;return; + } + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)!=(0|0); + $33 = HEAP32[$2>>2]|0; + if ($32) { + $34 = ((($33)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$3>>2]|0; + _fts3ExprLHitGather($35,$36); + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 16|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$3>>2]|0; + _fts3ExprLHitGather($39,$40); + STACKTOP = sp;return; + } else { + $41 = HEAP32[$3>>2]|0; + _fts3ExprLHits($33,$41); + STACKTOP = sp;return; + } +} +function _fts3ExprGlobalHitsCb($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, $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; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $7; + $8 = HEAP32[$6>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = ((($11)) + 28|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = ($14*3)|0; + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = Math_imul($15, $18)|0; + $20 = (($13) + ($19<<2)|0); + $21 = (_sqlite3Fts3EvalPhraseStats($9,$10,$20)|0); + STACKTOP = sp;return ($21|0); +} +function _fts3ExprIterate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = (_fts3ExprIterate2($7,$6,$8,$9)|0); + STACKTOP = sp;return ($10|0); +} +function _sqlite3Fts3EvalTestDeferred($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + HEAP32[$5>>2] = 0; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(0); + if (!($9)) { + $30 = HEAP32[$4>>2]|0; + $31 = ($30|0)==(0); + $32 = HEAP32[$5>>2]|0; + $33 = ($32|0)!=(0); + $34 = $31 ? $33 : 0; + $35 = $34&1; + STACKTOP = sp;return ($35|0); + } + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + if ($13) { + $14 = HEAP32[$2>>2]|0; + $15 = (_fts3CursorSeek(0,$14)|0); + HEAP32[$4>>2] = $15; + $16 = HEAP32[$4>>2]|0; + $17 = ($16|0)==(0); + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = (_sqlite3Fts3CacheDeferredDoclists($18)|0); + HEAP32[$4>>2] = $19; + } + } + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + $24 = (_fts3EvalTestExpr($20,$23,$4)|0); + $25 = (0)==($24|0); + $26 = $25&1; + HEAP32[$5>>2] = $26; + $27 = HEAP32[$2>>2]|0; + _sqlite3Fts3FreeDeferredDoclists($27); + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$3>>2]|0; + HEAP32[$29>>2] = $28; + $30 = HEAP32[$4>>2]|0; + $31 = ($30|0)==(0); + $32 = HEAP32[$5>>2]|0; + $33 = ($32|0)!=(0); + $34 = $31 ? $33 : 0; + $35 = $34&1; + STACKTOP = sp;return ($35|0); +} +function _fts3ExprLocalHitsCb($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $$sink2 = 0, $$sink4 = 0, $$sink6 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $11 = HEAP32[$5>>2]|0; + HEAP32[$7>>2] = $11; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = Math_imul($12, $15)|0; + $17 = ($16*3)|0; + HEAP32[$8>>2] = $17; + HEAP32[$9>>2] = 0; + while(1) { + $18 = HEAP32[$9>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($18|0)<($21|0); + $23 = HEAP32[$6>>2]|0; + $24 = ($23|0)==(0); + $25 = $22 ? $24 : 0; + if (!($25)) { + break; + } + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = HEAP32[$9>>2]|0; + $30 = (_sqlite3Fts3EvalPhrasePoslist($27,$28,$29,$10)|0); + HEAP32[$6>>2] = $30; + $31 = HEAP32[$10>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = (_fts3ColumnlistCount($10)|0); + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 28|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[$9>>2]|0; + $$sink = $33;$$sink2 = $36;$$sink4 = $37;$$sink6 = $38; + } else { + $39 = HEAP32[$7>>2]|0; + $40 = ((($39)) + 28|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$8>>2]|0; + $43 = HEAP32[$9>>2]|0; + $$sink = 0;$$sink2 = $41;$$sink4 = $42;$$sink6 = $43; + } + $44 = ($$sink6*3)|0; + $45 = (($$sink4) + ($44))|0; + $46 = (($$sink2) + ($45<<2)|0); + HEAP32[$46>>2] = $$sink; + $47 = HEAP32[$9>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$9>>2] = $48; + } + $49 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($49|0); +} +function _sqlite3Fts3EvalPhrasePoslist($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$old = 0, $$old4 = 0, $$old5 = 0, $$old6 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $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, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $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$cond = 0, $or$cond7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $4 = sp + 80|0; + $5 = sp + 76|0; + $6 = sp + 72|0; + $7 = sp + 68|0; + $8 = sp + 64|0; + $9 = sp + 60|0; + $10 = sp + 56|0; + $11 = sp + 52|0; + $12 = sp + 48|0; + $13 = sp; + $14 = sp + 44|0; + $15 = sp + 40|0; + $16 = sp + 36|0; + $17 = sp + 85|0; + $18 = sp + 32|0; + $19 = sp + 28|0; + $20 = sp + 24|0; + $21 = sp + 20|0; + $22 = sp + 84|0; + $23 = sp + 16|0; + $24 = sp + 12|0; + $25 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$9>>2] = $28; + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$10>>2] = $30; + $31 = HEAP32[$8>>2]|0; + HEAP32[$31>>2] = 0; + $32 = HEAP32[$9>>2]|0; + $33 = ((($32)) + 68|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$10>>2]|0; + $36 = ((($35)) + 24|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)<($37|0); + if ($38) { + $39 = HEAP32[$9>>2]|0; + $40 = ((($39)) + 68|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = ($41|0)!=($42|0); + if ($43) { + HEAP32[$4>>2] = 0; + $384 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($384|0); + } + } + $44 = HEAP32[$6>>2]|0; + $45 = ((($44)) + 24|0); + $46 = $45; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $13; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $56 = HEAP32[$9>>2]|0; + $57 = ((($56)) + 28|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$11>>2] = $58; + $59 = $13; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = ((($65)) + 32|0); + $67 = $66; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = ($61|0)!=($69|0); + $74 = ($64|0)!=($72|0); + $75 = $73 | $74; + if ($75) { + label = 6; + } else { + $76 = HEAP32[$6>>2]|0; + $77 = ((($76)) + 32|0); + $78 = HEAP8[$77>>0]|0; + $79 = $78&255; + $80 = ($79|0)!=(0); + if ($80) { + label = 6; + } + } + do { + if ((label|0) == 6) { + HEAP32[$14>>2] = 0; + $81 = HEAP32[$10>>2]|0; + $82 = ((($81)) + 231|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + HEAP32[$15>>2] = $84; + HEAP32[$16>>2] = 0; + HEAP8[$17>>0] = 0; + $85 = HEAP32[$6>>2]|0; + HEAP32[$19>>2] = $85; + $86 = HEAP32[$6>>2]|0; + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + HEAP32[$18>>2] = $88; + while(1) { + $89 = HEAP32[$18>>2]|0; + $90 = ($89|0)!=(0|0); + if (!($90)) { + break; + } + $91 = HEAP32[$18>>2]|0; + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(4); + if ($93) { + HEAP32[$16>>2] = 1; + } + $94 = HEAP32[$18>>2]|0; + $95 = HEAP32[$94>>2]|0; + $96 = ($95|0)==(1); + if ($96) { + $97 = HEAP32[$18>>2]|0; + HEAP32[$19>>2] = $97; + } + $98 = HEAP32[$18>>2]|0; + $99 = ((($98)) + 32|0); + $100 = HEAP8[$99>>0]|0; + $101 = ($100<<24>>24)!=(0); + if ($101) { + HEAP8[$17>>0] = 1; + } + $102 = HEAP32[$18>>2]|0; + $103 = ((($102)) + 8|0); + $104 = HEAP32[$103>>2]|0; + HEAP32[$18>>2] = $104; + } + $105 = HEAP32[$16>>2]|0; + $106 = ($105|0)==(0); + if ($106) { + HEAP32[$4>>2] = 0; + $384 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($384|0); + } + $107 = HEAP32[$9>>2]|0; + $108 = ((($107)) + 40|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)!=(0); + L27: do { + if ($110) { + $111 = HEAP32[$19>>2]|0; + $112 = ((($111)) + 32|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + HEAP32[$21>>2] = $114; + $115 = HEAP32[$5>>2]|0; + $116 = HEAP32[$19>>2]|0; + _fts3EvalRestart($115,$116,$14); + L29: while(1) { + $$old = HEAP32[$14>>2]|0; + $$old4 = ($$old|0)==(0); + if (!($$old4)) { + break L27; + } + while(1) { + $117 = HEAP32[$19>>2]|0; + $118 = ((($117)) + 32|0); + $119 = HEAP8[$118>>0]|0; + $120 = ($119<<24>>24)!=(0); + $121 = $120 ^ 1; + if (!($121)) { + break L27; + } + $122 = HEAP32[$5>>2]|0; + $123 = HEAP32[$19>>2]|0; + _fts3EvalNextRow($122,$123,$14); + $124 = HEAP32[$21>>2]|0; + $125 = ($124|0)==(0); + if (!($125)) { + continue L29; + } + $126 = HEAP32[$19>>2]|0; + $127 = ((($126)) + 24|0); + $128 = $127; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = (($128) + 4)|0; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = $13; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = (($134) + 4)|0; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = ($130|0)!=($136|0); + $141 = ($133|0)!=($139|0); + $142 = $140 | $141; + $143 = HEAP32[$14>>2]|0; + $144 = ($143|0)==(0); + $or$cond = $142 & $144; + if (!($or$cond)) { + break L27; + } + } + } + } + } while(0); + $145 = HEAP8[$17>>0]|0; + $146 = ($145<<24>>24)!=(0); + $147 = HEAP32[$14>>2]|0; + $148 = ($147|0)==(0); + $or$cond7 = $146 & $148; + L36: do { + if ($or$cond7) { + while(1) { + $149 = HEAP32[$19>>2]|0; + $150 = ((($149)) + 32|0); + $151 = HEAP8[$150>>0]|0; + $152 = ($151<<24>>24)!=(0); + $153 = $152 ^ 1; + if (!($153)) { + break L36; + } + $154 = HEAP32[$5>>2]|0; + $155 = HEAP32[$19>>2]|0; + _fts3EvalNextRow($154,$155,$14); + $$old5 = HEAP32[$14>>2]|0; + $$old6 = ($$old5|0)==(0); + if (!($$old6)) { + break; + } + } + } + } while(0); + $156 = HEAP32[$14>>2]|0; + $157 = ($156|0)!=(0); + if ($157) { + $158 = HEAP32[$14>>2]|0; + HEAP32[$4>>2] = $158; + $384 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($384|0); + } + HEAP32[$20>>2] = 1; + $159 = HEAP32[$19>>2]|0; + HEAP32[$18>>2] = $159; + while(1) { + $160 = HEAP32[$18>>2]|0; + $161 = ($160|0)!=(0|0); + if (!($161)) { + break; + } + HEAP8[$22>>0] = 0; + $162 = HEAP32[$18>>2]|0; + HEAP32[$23>>2] = $162; + $163 = HEAP32[$23>>2]|0; + $164 = HEAP32[$163>>2]|0; + $165 = ($164|0)==(1); + if ($165) { + $166 = HEAP32[$23>>2]|0; + $167 = ((($166)) + 16|0); + $168 = HEAP32[$167>>2]|0; + HEAP32[$23>>2] = $168; + } + $169 = HEAP32[$23>>2]|0; + $170 = ((($169)) + 20|0); + $171 = HEAP32[$170>>2]|0; + HEAP32[$24>>2] = $171; + $172 = HEAP32[$24>>2]|0; + $173 = ((($172)) + 48|0); + $174 = HEAP32[$173>>2]|0; + HEAP32[$11>>2] = $174; + $175 = HEAP32[$24>>2]|0; + $176 = ((($175)) + 56|0); + $177 = $176; + $178 = $177; + $179 = HEAP32[$178>>2]|0; + $180 = (($177) + 4)|0; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = $13; + $184 = $183; + HEAP32[$184>>2] = $179; + $185 = (($183) + 4)|0; + $186 = $185; + HEAP32[$186>>2] = $182; + $187 = HEAP32[$5>>2]|0; + $188 = ((($187)) + 52|0); + $189 = HEAP8[$188>>0]|0; + $190 = $189&255; + $191 = HEAP32[$15>>2]|0; + $192 = ($190|0)==($191|0); + $193 = HEAP32[$24>>2]|0; + $194 = ((($193)) + 4|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($195|0)!=(0); + L51: do { + if ($192) { + if ($196) { + $197 = HEAP32[$11>>2]|0; + $198 = HEAP32[$24>>2]|0; + $199 = HEAP32[$198>>2]|0; + $200 = HEAP32[$24>>2]|0; + $201 = ((($200)) + 4|0); + $202 = HEAP32[$201>>2]|0; + $203 = (($199) + ($202)|0); + $204 = ($197>>>0)>=($203>>>0); + $206 = $204; + } else { + $206 = 1; + } + $205 = $206&1; + $207 = $205&255; + HEAP8[$22>>0] = $207; + while(1) { + $208 = HEAP32[$11>>2]|0; + $209 = ($208|0)==(0|0); + if (!($209)) { + $210 = HEAP32[$15>>2]|0; + $211 = ($210|0)!=(0); + $212 = $211 ? -1 : 1; + $213 = ($212|0)<(0); + $214 = $213 << 31 >> 31; + $215 = $13; + $216 = $215; + $217 = HEAP32[$216>>2]|0; + $218 = (($215) + 4)|0; + $219 = $218; + $220 = HEAP32[$219>>2]|0; + $221 = HEAP32[$5>>2]|0; + $222 = ((($221)) + 32|0); + $223 = $222; + $224 = $223; + $225 = HEAP32[$224>>2]|0; + $226 = (($223) + 4)|0; + $227 = $226; + $228 = HEAP32[$227>>2]|0; + $229 = (_i64Subtract(($217|0),($220|0),($225|0),($228|0))|0); + $230 = tempRet0; + (___muldi3(($212|0),($214|0),($229|0),($230|0))|0); + $231 = tempRet0; + $232 = ($231|0)<(0); + if (!($232)) { + break L51; + } + } + $233 = HEAP8[$22>>0]|0; + $234 = $233&255; + $235 = ($234|0)==(0); + if (!($235)) { + break L51; + } + $236 = HEAP32[$15>>2]|0; + $237 = HEAP32[$24>>2]|0; + $238 = HEAP32[$237>>2]|0; + $239 = HEAP32[$24>>2]|0; + $240 = ((($239)) + 4|0); + $241 = HEAP32[$240>>2]|0; + _sqlite3Fts3DoclistNext($236,$238,$241,$11,$13,$22); + } + } else { + if ($196) { + $242 = HEAP32[$11>>2]|0; + $243 = ($242|0)!=(0|0); + if ($243) { + $244 = HEAP32[$11>>2]|0; + $245 = HEAP32[$24>>2]|0; + $246 = HEAP32[$245>>2]|0; + $247 = ($244>>>0)<=($246>>>0); + $249 = $247; + } else { + $249 = 0; + } + } else { + $249 = 1; + } + $248 = $249&1; + $250 = $248&255; + HEAP8[$22>>0] = $250; + while(1) { + $251 = HEAP32[$11>>2]|0; + $252 = ($251|0)==(0|0); + if (!($252)) { + $253 = HEAP32[$15>>2]|0; + $254 = ($253|0)!=(0); + $255 = $254 ? -1 : 1; + $256 = ($255|0)<(0); + $257 = $256 << 31 >> 31; + $258 = $13; + $259 = $258; + $260 = HEAP32[$259>>2]|0; + $261 = (($258) + 4)|0; + $262 = $261; + $263 = HEAP32[$262>>2]|0; + $264 = HEAP32[$5>>2]|0; + $265 = ((($264)) + 32|0); + $266 = $265; + $267 = $266; + $268 = HEAP32[$267>>2]|0; + $269 = (($266) + 4)|0; + $270 = $269; + $271 = HEAP32[$270>>2]|0; + $272 = (_i64Subtract(($260|0),($263|0),($268|0),($271|0))|0); + $273 = tempRet0; + $274 = (___muldi3(($255|0),($257|0),($272|0),($273|0))|0); + $275 = tempRet0; + $276 = ($275|0)>(0); + $277 = ($274>>>0)>(0); + $278 = ($275|0)==(0); + $279 = $278 & $277; + $280 = $276 | $279; + if (!($280)) { + break L51; + } + } + $281 = HEAP8[$22>>0]|0; + $282 = $281&255; + $283 = ($282|0)==(0); + if (!($283)) { + break L51; + } + $284 = HEAP32[$15>>2]|0; + $285 = HEAP32[$24>>2]|0; + $286 = HEAP32[$285>>2]|0; + $287 = HEAP32[$24>>2]|0; + $288 = ((($287)) + 4|0); + $289 = HEAP32[$288>>2]|0; + _sqlite3Fts3DoclistPrev($284,$286,$289,$11,$13,$25,$22); + } + } + } while(0); + $290 = HEAP32[$11>>2]|0; + $291 = HEAP32[$24>>2]|0; + $292 = ((($291)) + 48|0); + HEAP32[$292>>2] = $290; + $293 = $13; + $294 = $293; + $295 = HEAP32[$294>>2]|0; + $296 = (($293) + 4)|0; + $297 = $296; + $298 = HEAP32[$297>>2]|0; + $299 = HEAP32[$24>>2]|0; + $300 = ((($299)) + 56|0); + $301 = $300; + $302 = $301; + HEAP32[$302>>2] = $295; + $303 = (($301) + 4)|0; + $304 = $303; + HEAP32[$304>>2] = $298; + $305 = HEAP8[$22>>0]|0; + $306 = $305&255; + $307 = ($306|0)!=(0); + if ($307) { + label = 50; + } else { + $308 = $13; + $309 = $308; + $310 = HEAP32[$309>>2]|0; + $311 = (($308) + 4)|0; + $312 = $311; + $313 = HEAP32[$312>>2]|0; + $314 = HEAP32[$5>>2]|0; + $315 = ((($314)) + 32|0); + $316 = $315; + $317 = $316; + $318 = HEAP32[$317>>2]|0; + $319 = (($316) + 4)|0; + $320 = $319; + $321 = HEAP32[$320>>2]|0; + $322 = ($310|0)!=($318|0); + $323 = ($313|0)!=($321|0); + $324 = $322 | $323; + if ($324) { + label = 50; + } + } + if ((label|0) == 50) { + label = 0; + HEAP32[$20>>2] = 0; + } + $325 = HEAP32[$18>>2]|0; + $326 = ((($325)) + 12|0); + $327 = HEAP32[$326>>2]|0; + HEAP32[$18>>2] = $327; + } + $328 = HEAP32[$20>>2]|0; + $329 = ($328|0)!=(0); + if ($329) { + $330 = HEAP32[$9>>2]|0; + $331 = ((($330)) + 48|0); + $332 = HEAP32[$331>>2]|0; + HEAP32[$11>>2] = $332; + break; + } else { + HEAP32[$11>>2] = 0; + break; + } + } + } while(0); + $333 = HEAP32[$11>>2]|0; + $334 = ($333|0)==(0|0); + if ($334) { + HEAP32[$4>>2] = 0; + $384 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($384|0); + } + $335 = HEAP32[$11>>2]|0; + $336 = HEAP8[$335>>0]|0; + $337 = $336 << 24 >> 24; + $338 = ($337|0)==(1); + if ($338) { + $339 = HEAP32[$11>>2]|0; + $340 = ((($339)) + 1|0); + HEAP32[$11>>2] = $340; + $341 = HEAP32[$11>>2]|0; + $342 = HEAP8[$341>>0]|0; + $343 = $342&255; + $344 = $343 & 128; + $345 = ($344|0)!=(0); + $346 = HEAP32[$11>>2]|0; + if ($345) { + $347 = (_sqlite3Fts3GetVarint32($346,$12)|0); + $352 = $347; + } else { + $348 = HEAP8[$346>>0]|0; + $349 = $348&255; + HEAP32[$12>>2] = $349; + $352 = 1; + } + $350 = HEAP32[$11>>2]|0; + $351 = (($350) + ($352)|0); + HEAP32[$11>>2] = $351; + } else { + HEAP32[$12>>2] = 0; + } + while(1) { + $353 = HEAP32[$12>>2]|0; + $354 = HEAP32[$7>>2]|0; + $355 = ($353|0)<($354|0); + if (!($355)) { + break; + } + _fts3ColumnlistCopy(0,$11); + $356 = HEAP32[$11>>2]|0; + $357 = HEAP8[$356>>0]|0; + $358 = $357 << 24 >> 24; + $359 = ($358|0)==(0); + if ($359) { + label = 65; + break; + } + $360 = HEAP32[$11>>2]|0; + $361 = ((($360)) + 1|0); + HEAP32[$11>>2] = $361; + $362 = HEAP32[$11>>2]|0; + $363 = HEAP8[$362>>0]|0; + $364 = $363&255; + $365 = $364 & 128; + $366 = ($365|0)!=(0); + $367 = HEAP32[$11>>2]|0; + if ($366) { + $368 = (_sqlite3Fts3GetVarint32($367,$12)|0); + $373 = $368; + } else { + $369 = HEAP8[$367>>0]|0; + $370 = $369&255; + HEAP32[$12>>2] = $370; + $373 = 1; + } + $371 = HEAP32[$11>>2]|0; + $372 = (($371) + ($373)|0); + HEAP32[$11>>2] = $372; + } + if ((label|0) == 65) { + HEAP32[$4>>2] = 0; + $384 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($384|0); + } + $374 = HEAP32[$11>>2]|0; + $375 = HEAP8[$374>>0]|0; + $376 = $375 << 24 >> 24; + $377 = ($376|0)==(0); + if ($377) { + HEAP32[$11>>2] = 0; + } + $378 = HEAP32[$7>>2]|0; + $379 = HEAP32[$12>>2]|0; + $380 = ($378|0)==($379|0); + $381 = HEAP32[$11>>2]|0; + $382 = $380 ? $381 : 0; + $383 = HEAP32[$8>>2]|0; + HEAP32[$383>>2] = $382; + HEAP32[$4>>2] = 0; + $384 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($384|0); +} +function _fts3ColumnlistCount($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, $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; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp + 12|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; + HEAP8[$3>>0] = 0; + HEAP32[$4>>2] = 0; + while(1) { + $7 = HEAP32[$2>>2]|0; + $8 = HEAP8[$7>>0]|0; + $9 = $8 << 24 >> 24; + $10 = HEAP8[$3>>0]|0; + $11 = $10 << 24 >> 24; + $12 = $9 | $11; + $13 = 254 & $12; + $14 = ($13|0)!=(0); + $15 = HEAP32[$2>>2]|0; + if (!($14)) { + break; + } + $16 = ((($15)) + 1|0); + HEAP32[$2>>2] = $16; + $17 = HEAP8[$15>>0]|0; + $18 = $17 << 24 >> 24; + $19 = $18 & 128; + $20 = $19&255; + HEAP8[$3>>0] = $20; + $21 = HEAP8[$3>>0]|0; + $22 = ($21<<24>>24)!=(0); + if ($22) { + continue; + } + $23 = HEAP32[$4>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$4>>2] = $24; + } + $25 = HEAP32[$1>>2]|0; + HEAP32[$25>>2] = $15; + $26 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($26|0); +} +function _fts3EvalRestart($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 20|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$6>>2]|0; + _fts3EvalInvalidatePoslist($19); + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 40|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0); + if ($23) { + HEAP32[$7>>2] = 0; + while(1) { + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 64|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($24|0)<($27|0); + if (!($28)) { + break; + } + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 72|0); + $31 = HEAP32[$7>>2]|0; + $32 = (($30) + (($31*24)|0)|0); + HEAP32[$8>>2] = $32; + $33 = HEAP32[$8>>2]|0; + $34 = ((($33)) + 20|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)!=(0|0); + if ($36) { + $37 = HEAP32[$8>>2]|0; + $38 = ((($37)) + 20|0); + $39 = HEAP32[$38>>2]|0; + (_sqlite3Fts3MsrIncrRestart($39)|0); + } + $40 = HEAP32[$7>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$7>>2] = $41; + } + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = (_fts3EvalPhraseStart($42,0,$43)|0); + $45 = HEAP32[$5>>2]|0; + HEAP32[$45>>2] = $44; + } + $46 = HEAP32[$6>>2]|0; + $47 = ((($46)) + 8|0); + HEAP32[$47>>2] = 0; + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 16|0); + $50 = $49; + $51 = $50; + HEAP32[$51>>2] = 0; + $52 = (($50) + 4)|0; + $53 = $52; + HEAP32[$53>>2] = 0; + $54 = HEAP32[$6>>2]|0; + $55 = ((($54)) + 48|0); + HEAP32[$55>>2] = 0; + } + $56 = HEAP32[$4>>2]|0; + $57 = ((($56)) + 24|0); + $58 = $57; + $59 = $58; + HEAP32[$59>>2] = 0; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = 0; + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 32|0); + HEAP8[$63>>0] = 0; + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 33|0); + HEAP8[$65>>0] = 0; + $66 = HEAP32[$3>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 12|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$5>>2]|0; + _fts3EvalRestart($66,$69,$70); + $71 = HEAP32[$3>>2]|0; + $72 = HEAP32[$4>>2]|0; + $73 = ((($72)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$5>>2]|0; + _fts3EvalRestart($71,$74,$75); + STACKTOP = sp;return; +} +function _fts3EvalNextRow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink10 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $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; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; + var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; + var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 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$cond6 = 0, $or$cond8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $3 = sp + 64|0; + $4 = sp + 60|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 8|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + $14 = sp; + $15 = sp + 24|0; + $16 = sp + 20|0; + $17 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if (!($20)) { + STACKTOP = sp;return; + } + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 52|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + HEAP32[$6>>2] = $24; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 33|0); + HEAP8[$26>>0] = 1; + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$27>>2]|0; + switch ($28|0) { + case 3: case 1: { + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$7>>2] = $31; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 16|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$8>>2] = $34; + $35 = HEAP32[$7>>2]|0; + $36 = ((($35)) + 34|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)!=(0); + if ($38) { + $39 = HEAP32[$3>>2]|0; + $40 = HEAP32[$8>>2]|0; + $41 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($39,$40,$41); + $42 = HEAP32[$8>>2]|0; + $43 = ((($42)) + 24|0); + $44 = $43; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 24|0); + $52 = $51; + $53 = $52; + HEAP32[$53>>2] = $46; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $49; + $56 = HEAP32[$8>>2]|0; + $57 = ((($56)) + 32|0); + $58 = HEAP8[$57>>0]|0; + $59 = HEAP32[$4>>2]|0; + $60 = ((($59)) + 32|0); + HEAP8[$60>>0] = $58; + STACKTOP = sp;return; + } + $61 = HEAP32[$8>>2]|0; + $62 = ((($61)) + 34|0); + $63 = HEAP8[$62>>0]|0; + $64 = ($63<<24>>24)!=(0); + $65 = HEAP32[$3>>2]|0; + $66 = HEAP32[$7>>2]|0; + $67 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($65,$66,$67); + if ($64) { + $68 = HEAP32[$7>>2]|0; + $69 = ((($68)) + 24|0); + $70 = $69; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (($70) + 4)|0; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$4>>2]|0; + $77 = ((($76)) + 24|0); + $78 = $77; + $79 = $78; + HEAP32[$79>>2] = $72; + $80 = (($78) + 4)|0; + $81 = $80; + HEAP32[$81>>2] = $75; + $82 = HEAP32[$7>>2]|0; + $83 = ((($82)) + 32|0); + $84 = HEAP8[$83>>0]|0; + $85 = HEAP32[$4>>2]|0; + $86 = ((($85)) + 32|0); + HEAP8[$86>>0] = $84; + STACKTOP = sp;return; + } + $87 = HEAP32[$3>>2]|0; + $88 = HEAP32[$8>>2]|0; + $89 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($87,$88,$89); + while(1) { + $90 = HEAP32[$7>>2]|0; + $91 = ((($90)) + 32|0); + $92 = HEAP8[$91>>0]|0; + $93 = ($92<<24>>24)!=(0); + if ($93) { + break; + } + $94 = HEAP32[$8>>2]|0; + $95 = ((($94)) + 32|0); + $96 = HEAP8[$95>>0]|0; + $97 = ($96<<24>>24)!=(0); + if ($97) { + break; + } + $98 = HEAP32[$5>>2]|0; + $99 = HEAP32[$98>>2]|0; + $100 = ($99|0)==(0); + if (!($100)) { + break; + } + $101 = HEAP32[$6>>2]|0; + $102 = ($101|0)!=(0); + $103 = $102 ? -1 : 1; + $104 = ($103|0)<(0); + $105 = $104 << 31 >> 31; + $106 = HEAP32[$7>>2]|0; + $107 = ((($106)) + 24|0); + $108 = $107; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (($108) + 4)|0; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$8>>2]|0; + $115 = ((($114)) + 24|0); + $116 = $115; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = (_i64Subtract(($110|0),($113|0),($118|0),($121|0))|0); + $123 = tempRet0; + $124 = (___muldi3(($103|0),($105|0),($122|0),($123|0))|0); + $125 = tempRet0; + $126 = $9; + $127 = $126; + HEAP32[$127>>2] = $124; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + $130 = $9; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = ($132|0)==(0); + $137 = ($135|0)==(0); + $138 = $136 & $137; + if ($138) { + break; + } + $139 = $9; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = (($139) + 4)|0; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = ($144|0)<(0); + $146 = HEAP32[$3>>2]|0; + if ($145) { + $147 = HEAP32[$7>>2]|0; + $148 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($146,$147,$148); + continue; + } else { + $149 = HEAP32[$8>>2]|0; + $150 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($146,$149,$150); + continue; + } + } + $151 = HEAP32[$7>>2]|0; + $152 = ((($151)) + 24|0); + $153 = $152; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = (($153) + 4)|0; + $157 = $156; + $158 = HEAP32[$157>>2]|0; + $159 = HEAP32[$4>>2]|0; + $160 = ((($159)) + 24|0); + $161 = $160; + $162 = $161; + HEAP32[$162>>2] = $155; + $163 = (($161) + 4)|0; + $164 = $163; + HEAP32[$164>>2] = $158; + $165 = HEAP32[$7>>2]|0; + $166 = ((($165)) + 32|0); + $167 = HEAP8[$166>>0]|0; + $168 = $167&255; + $169 = ($168|0)!=(0); + if ($169) { + $176 = 1; + } else { + $170 = HEAP32[$8>>2]|0; + $171 = ((($170)) + 32|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = ($173|0)!=(0); + $176 = $174; + } + $175 = $176&1; + $177 = $175&255; + $178 = HEAP32[$4>>2]|0; + $179 = ((($178)) + 32|0); + HEAP8[$179>>0] = $177; + $180 = HEAP32[$4>>2]|0; + $181 = HEAP32[$180>>2]|0; + $182 = ($181|0)==(1); + if (!($182)) { + STACKTOP = sp;return; + } + $183 = HEAP32[$4>>2]|0; + $184 = ((($183)) + 32|0); + $185 = HEAP8[$184>>0]|0; + $186 = $185&255; + $187 = ($186|0)!=(0); + if (!($187)) { + STACKTOP = sp;return; + } + $188 = HEAP32[$8>>2]|0; + $189 = ((($188)) + 20|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($190|0)!=(0|0); + L35: do { + if ($191) { + $192 = HEAP32[$8>>2]|0; + $193 = ((($192)) + 20|0); + $194 = HEAP32[$193>>2]|0; + $195 = HEAP32[$194>>2]|0; + $196 = ($195|0)!=(0|0); + if ($196) { + $197 = HEAP32[$8>>2]|0; + $198 = ((($197)) + 20|0); + $199 = HEAP32[$198>>2]|0; + HEAP32[$10>>2] = $199; + while(1) { + $200 = HEAP32[$5>>2]|0; + $201 = HEAP32[$200>>2]|0; + $202 = ($201|0)==(0); + if (!($202)) { + break L35; + } + $203 = HEAP32[$8>>2]|0; + $204 = ((($203)) + 32|0); + $205 = HEAP8[$204>>0]|0; + $206 = $205&255; + $207 = ($206|0)==(0); + if (!($207)) { + break L35; + } + $208 = HEAP32[$10>>2]|0; + $209 = ((($208)) + 28|0); + $210 = HEAP32[$209>>2]|0; + $211 = HEAP32[$10>>2]|0; + $212 = ((($211)) + 32|0); + $213 = HEAP32[$212>>2]|0; + _memset(($210|0),0,($213|0))|0; + $214 = HEAP32[$3>>2]|0; + $215 = HEAP32[$8>>2]|0; + $216 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($214,$215,$216); + } + } + } + } while(0); + $217 = HEAP32[$7>>2]|0; + $218 = ((($217)) + 20|0); + $219 = HEAP32[$218>>2]|0; + $220 = ($219|0)!=(0|0); + if (!($220)) { + STACKTOP = sp;return; + } + $221 = HEAP32[$7>>2]|0; + $222 = ((($221)) + 20|0); + $223 = HEAP32[$222>>2]|0; + $224 = HEAP32[$223>>2]|0; + $225 = ($224|0)!=(0|0); + if (!($225)) { + STACKTOP = sp;return; + } + $226 = HEAP32[$7>>2]|0; + $227 = ((($226)) + 20|0); + $228 = HEAP32[$227>>2]|0; + HEAP32[$11>>2] = $228; + while(1) { + $229 = HEAP32[$5>>2]|0; + $230 = HEAP32[$229>>2]|0; + $231 = ($230|0)==(0); + if (!($231)) { + label = 54; + break; + } + $232 = HEAP32[$7>>2]|0; + $233 = ((($232)) + 32|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234&255; + $236 = ($235|0)==(0); + if (!($236)) { + label = 54; + break; + } + $237 = HEAP32[$11>>2]|0; + $238 = ((($237)) + 28|0); + $239 = HEAP32[$238>>2]|0; + $240 = HEAP32[$11>>2]|0; + $241 = ((($240)) + 32|0); + $242 = HEAP32[$241>>2]|0; + _memset(($239|0),0,($242|0))|0; + $243 = HEAP32[$3>>2]|0; + $244 = HEAP32[$7>>2]|0; + $245 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($243,$244,$245); + } + if ((label|0) == 54) { + STACKTOP = sp;return; + } + break; + } + case 4: { + $246 = HEAP32[$4>>2]|0; + $247 = ((($246)) + 12|0); + $248 = HEAP32[$247>>2]|0; + HEAP32[$12>>2] = $248; + $249 = HEAP32[$4>>2]|0; + $250 = ((($249)) + 16|0); + $251 = HEAP32[$250>>2]|0; + HEAP32[$13>>2] = $251; + $252 = HEAP32[$6>>2]|0; + $253 = ($252|0)!=(0); + $254 = $253 ? -1 : 1; + $255 = ($254|0)<(0); + $256 = $255 << 31 >> 31; + $257 = HEAP32[$12>>2]|0; + $258 = ((($257)) + 24|0); + $259 = $258; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = HEAP32[$13>>2]|0; + $266 = ((($265)) + 24|0); + $267 = $266; + $268 = $267; + $269 = HEAP32[$268>>2]|0; + $270 = (($267) + 4)|0; + $271 = $270; + $272 = HEAP32[$271>>2]|0; + $273 = (_i64Subtract(($261|0),($264|0),($269|0),($272|0))|0); + $274 = tempRet0; + $275 = (___muldi3(($254|0),($256|0),($273|0),($274|0))|0); + $276 = tempRet0; + $277 = $14; + $278 = $277; + HEAP32[$278>>2] = $275; + $279 = (($277) + 4)|0; + $280 = $279; + HEAP32[$280>>2] = $276; + $281 = HEAP32[$13>>2]|0; + $282 = ((($281)) + 32|0); + $283 = HEAP8[$282>>0]|0; + $284 = $283&255; + $285 = ($284|0)!=(0); + do { + if ($285) { + label = 33; + } else { + $286 = HEAP32[$12>>2]|0; + $287 = ((($286)) + 32|0); + $288 = HEAP8[$287>>0]|0; + $289 = $288&255; + $290 = ($289|0)==(0); + $291 = $14; + $292 = $291; + $293 = HEAP32[$292>>2]|0; + $294 = (($291) + 4)|0; + $295 = $294; + $296 = HEAP32[$295>>2]|0; + $297 = ($296|0)<(0); + $or$cond = $290 & $297; + if ($or$cond) { + label = 33; + } else { + $301 = HEAP32[$12>>2]|0; + $302 = ((($301)) + 32|0); + $303 = HEAP8[$302>>0]|0; + $304 = $303&255; + $305 = ($304|0)!=(0); + if (!($305)) { + $306 = HEAP32[$13>>2]|0; + $307 = ((($306)) + 32|0); + $308 = HEAP8[$307>>0]|0; + $309 = $308&255; + $310 = ($309|0)==(0); + $311 = $14; + $312 = $311; + $313 = HEAP32[$312>>2]|0; + $314 = (($311) + 4)|0; + $315 = $314; + $316 = HEAP32[$315>>2]|0; + $317 = ($316|0)>(0); + $318 = ($313>>>0)>(0); + $319 = ($316|0)==(0); + $320 = $319 & $318; + $321 = $317 | $320; + $or$cond6 = $310 & $321; + if (!($or$cond6)) { + $325 = HEAP32[$3>>2]|0; + $326 = HEAP32[$12>>2]|0; + $327 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($325,$326,$327); + $328 = HEAP32[$3>>2]|0; + $329 = HEAP32[$13>>2]|0; + $330 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($328,$329,$330); + break; + } + } + $322 = HEAP32[$3>>2]|0; + $323 = HEAP32[$13>>2]|0; + $324 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($322,$323,$324); + } + } + } while(0); + if ((label|0) == 33) { + $298 = HEAP32[$3>>2]|0; + $299 = HEAP32[$12>>2]|0; + $300 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($298,$299,$300); + } + $331 = HEAP32[$12>>2]|0; + $332 = ((($331)) + 32|0); + $333 = HEAP8[$332>>0]|0; + $334 = $333&255; + $335 = ($334|0)!=(0); + if ($335) { + $336 = HEAP32[$13>>2]|0; + $337 = ((($336)) + 32|0); + $338 = HEAP8[$337>>0]|0; + $339 = $338&255; + $340 = ($339|0)!=(0); + $342 = $340; + } else { + $342 = 0; + } + $341 = $342&1; + $343 = $341&255; + $344 = HEAP32[$4>>2]|0; + $345 = ((($344)) + 32|0); + HEAP8[$345>>0] = $343; + $346 = HEAP32[$6>>2]|0; + $347 = ($346|0)!=(0); + $348 = $347 ? -1 : 1; + $349 = ($348|0)<(0); + $350 = $349 << 31 >> 31; + $351 = HEAP32[$12>>2]|0; + $352 = ((($351)) + 24|0); + $353 = $352; + $354 = $353; + $355 = HEAP32[$354>>2]|0; + $356 = (($353) + 4)|0; + $357 = $356; + $358 = HEAP32[$357>>2]|0; + $359 = HEAP32[$13>>2]|0; + $360 = ((($359)) + 24|0); + $361 = $360; + $362 = $361; + $363 = HEAP32[$362>>2]|0; + $364 = (($361) + 4)|0; + $365 = $364; + $366 = HEAP32[$365>>2]|0; + $367 = (_i64Subtract(($355|0),($358|0),($363|0),($366|0))|0); + $368 = tempRet0; + $369 = (___muldi3(($348|0),($350|0),($367|0),($368|0))|0); + $370 = tempRet0; + $371 = $14; + $372 = $371; + HEAP32[$372>>2] = $369; + $373 = (($371) + 4)|0; + $374 = $373; + HEAP32[$374>>2] = $370; + $375 = HEAP32[$13>>2]|0; + $376 = ((($375)) + 32|0); + $377 = HEAP8[$376>>0]|0; + $378 = $377&255; + $379 = ($378|0)!=(0); + if ($379) { + label = 42; + } else { + $380 = HEAP32[$12>>2]|0; + $381 = ((($380)) + 32|0); + $382 = HEAP8[$381>>0]|0; + $383 = $382&255; + $384 = ($383|0)==(0); + $385 = $14; + $386 = $385; + $387 = HEAP32[$386>>2]|0; + $388 = (($385) + 4)|0; + $389 = $388; + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)<(0); + $or$cond8 = $384 & $391; + if ($or$cond8) { + label = 42; + } else { + $401 = HEAP32[$13>>2]|0; + $402 = ((($401)) + 24|0); + $403 = $402; + $404 = $403; + $405 = HEAP32[$404>>2]|0; + $406 = (($403) + 4)|0; + $407 = $406; + $408 = HEAP32[$407>>2]|0; + $409 = HEAP32[$4>>2]|0; + $$sink10 = $409;$413 = $405;$416 = $408; + } + } + if ((label|0) == 42) { + $392 = HEAP32[$12>>2]|0; + $393 = ((($392)) + 24|0); + $394 = $393; + $395 = $394; + $396 = HEAP32[$395>>2]|0; + $397 = (($394) + 4)|0; + $398 = $397; + $399 = HEAP32[$398>>2]|0; + $400 = HEAP32[$4>>2]|0; + $$sink10 = $400;$413 = $396;$416 = $399; + } + $410 = ((($$sink10)) + 24|0); + $411 = $410; + $412 = $411; + HEAP32[$412>>2] = $413; + $414 = (($411) + 4)|0; + $415 = $414; + HEAP32[$415>>2] = $416; + STACKTOP = sp;return; + break; + } + case 2: { + $417 = HEAP32[$4>>2]|0; + $418 = ((($417)) + 12|0); + $419 = HEAP32[$418>>2]|0; + HEAP32[$15>>2] = $419; + $420 = HEAP32[$4>>2]|0; + $421 = ((($420)) + 16|0); + $422 = HEAP32[$421>>2]|0; + HEAP32[$16>>2] = $422; + $423 = HEAP32[$16>>2]|0; + $424 = ((($423)) + 33|0); + $425 = HEAP8[$424>>0]|0; + $426 = $425&255; + $427 = ($426|0)==(0); + if ($427) { + $428 = HEAP32[$3>>2]|0; + $429 = HEAP32[$16>>2]|0; + $430 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($428,$429,$430); + } + $431 = HEAP32[$3>>2]|0; + $432 = HEAP32[$15>>2]|0; + $433 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($431,$432,$433); + $434 = HEAP32[$15>>2]|0; + $435 = ((($434)) + 32|0); + $436 = HEAP8[$435>>0]|0; + $437 = $436&255; + $438 = ($437|0)==(0); + L81: do { + if ($438) { + while(1) { + $439 = HEAP32[$5>>2]|0; + $440 = HEAP32[$439>>2]|0; + $441 = ($440|0)!=(0); + if ($441) { + break L81; + } + $442 = HEAP32[$16>>2]|0; + $443 = ((($442)) + 32|0); + $444 = HEAP8[$443>>0]|0; + $445 = ($444<<24>>24)!=(0); + if ($445) { + break L81; + } + $446 = HEAP32[$6>>2]|0; + $447 = ($446|0)!=(0); + $448 = $447 ? -1 : 1; + $449 = ($448|0)<(0); + $450 = $449 << 31 >> 31; + $451 = HEAP32[$15>>2]|0; + $452 = ((($451)) + 24|0); + $453 = $452; + $454 = $453; + $455 = HEAP32[$454>>2]|0; + $456 = (($453) + 4)|0; + $457 = $456; + $458 = HEAP32[$457>>2]|0; + $459 = HEAP32[$16>>2]|0; + $460 = ((($459)) + 24|0); + $461 = $460; + $462 = $461; + $463 = HEAP32[$462>>2]|0; + $464 = (($461) + 4)|0; + $465 = $464; + $466 = HEAP32[$465>>2]|0; + $467 = (_i64Subtract(($455|0),($458|0),($463|0),($466|0))|0); + $468 = tempRet0; + $469 = (___muldi3(($448|0),($450|0),($467|0),($468|0))|0); + $470 = tempRet0; + $471 = ($470|0)>(0); + $472 = ($469>>>0)>(0); + $473 = ($470|0)==(0); + $474 = $473 & $472; + $475 = $471 | $474; + if (!($475)) { + break L81; + } + $476 = HEAP32[$3>>2]|0; + $477 = HEAP32[$16>>2]|0; + $478 = HEAP32[$5>>2]|0; + _fts3EvalNextRow($476,$477,$478); + } + } + } while(0); + $479 = HEAP32[$15>>2]|0; + $480 = ((($479)) + 24|0); + $481 = $480; + $482 = $481; + $483 = HEAP32[$482>>2]|0; + $484 = (($481) + 4)|0; + $485 = $484; + $486 = HEAP32[$485>>2]|0; + $487 = HEAP32[$4>>2]|0; + $488 = ((($487)) + 24|0); + $489 = $488; + $490 = $489; + HEAP32[$490>>2] = $483; + $491 = (($489) + 4)|0; + $492 = $491; + HEAP32[$492>>2] = $486; + $493 = HEAP32[$15>>2]|0; + $494 = ((($493)) + 32|0); + $495 = HEAP8[$494>>0]|0; + $496 = HEAP32[$4>>2]|0; + $497 = ((($496)) + 32|0); + HEAP8[$497>>0] = $495; + STACKTOP = sp;return; + break; + } + default: { + $498 = HEAP32[$4>>2]|0; + $499 = ((($498)) + 20|0); + $500 = HEAP32[$499>>2]|0; + HEAP32[$17>>2] = $500; + $501 = HEAP32[$17>>2]|0; + _fts3EvalInvalidatePoslist($501); + $502 = HEAP32[$3>>2]|0; + $503 = HEAP32[$17>>2]|0; + $504 = HEAP32[$4>>2]|0; + $505 = ((($504)) + 32|0); + $506 = (_fts3EvalPhraseNext($502,$503,$505)|0); + $507 = HEAP32[$5>>2]|0; + HEAP32[$507>>2] = $506; + $508 = HEAP32[$17>>2]|0; + $509 = ((($508)) + 16|0); + $510 = $509; + $511 = $510; + $512 = HEAP32[$511>>2]|0; + $513 = (($510) + 4)|0; + $514 = $513; + $515 = HEAP32[$514>>2]|0; + $516 = HEAP32[$4>>2]|0; + $517 = ((($516)) + 24|0); + $518 = $517; + $519 = $518; + HEAP32[$519>>2] = $512; + $520 = (($518) + 4)|0; + $521 = $520; + HEAP32[$521>>2] = $515; + STACKTOP = sp;return; + } + } +} +function _sqlite3Fts3DoclistNext($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $14 = HEAP32[$9>>2]|0; + $15 = HEAP32[$14>>2]|0; + HEAP32[$12>>2] = $15; + $16 = HEAP32[$12>>2]|0; + $17 = ($16|0)==(0|0); + if ($17) { + $18 = HEAP32[$7>>2]|0; + HEAP32[$12>>2] = $18; + $19 = HEAP32[$12>>2]|0; + $20 = HEAP32[$10>>2]|0; + $21 = (_sqlite3Fts3GetVarint($19,$20)|0); + $22 = HEAP32[$12>>2]|0; + $23 = (($22) + ($21)|0); + HEAP32[$12>>2] = $23; + $70 = HEAP32[$12>>2]|0; + $71 = HEAP32[$9>>2]|0; + HEAP32[$71>>2] = $70; + STACKTOP = sp;return; + } + _fts3PoslistCopy(0,$12); + while(1) { + $24 = HEAP32[$12>>2]|0; + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[$8>>2]|0; + $27 = (($25) + ($26)|0); + $28 = ($24>>>0)<($27>>>0); + if ($28) { + $29 = HEAP32[$12>>2]|0; + $30 = HEAP8[$29>>0]|0; + $31 = $30 << 24 >> 24; + $32 = ($31|0)==(0); + $72 = $32; + } else { + $72 = 0; + } + $33 = HEAP32[$12>>2]|0; + if (!($72)) { + break; + } + $34 = ((($33)) + 1|0); + HEAP32[$12>>2] = $34; + } + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$8>>2]|0; + $37 = (($35) + ($36)|0); + $38 = ($33>>>0)>=($37>>>0); + if ($38) { + $39 = HEAP32[$11>>2]|0; + HEAP8[$39>>0] = 1; + $70 = HEAP32[$12>>2]|0; + $71 = HEAP32[$9>>2]|0; + HEAP32[$71>>2] = $70; + STACKTOP = sp;return; + } else { + $40 = HEAP32[$12>>2]|0; + $41 = (_sqlite3Fts3GetVarint($40,$13)|0); + $42 = HEAP32[$12>>2]|0; + $43 = (($42) + ($41)|0); + HEAP32[$12>>2] = $43; + $44 = HEAP32[$6>>2]|0; + $45 = ($44|0)!=(0); + $46 = $45 ? -1 : 1; + $47 = ($46|0)<(0); + $48 = $47 << 31 >> 31; + $49 = $13; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (___muldi3(($46|0),($48|0),($51|0),($54|0))|0); + $56 = tempRet0; + $57 = HEAP32[$10>>2]|0; + $58 = $57; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (_i64Add(($60|0),($63|0),($55|0),($56|0))|0); + $65 = tempRet0; + $66 = $57; + $67 = $66; + HEAP32[$67>>2] = $64; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; + $70 = HEAP32[$12>>2]|0; + $71 = HEAP32[$9>>2]|0; + HEAP32[$71>>2] = $70; + STACKTOP = sp;return; + } +} +function _fts3EvalInvalidatePoslist($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0); + if ($5) { + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 28|0); + $8 = HEAP32[$7>>2]|0; + _sqlite3_free($8); + } + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 28|0); + HEAP32[$10>>2] = 0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 32|0); + HEAP32[$12>>2] = 0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 24|0); + HEAP32[$14>>2] = 0; + STACKTOP = sp;return; +} +function _fts3EvalPhraseNext($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $9 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$8>>2] = $11; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 40|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0); + $16 = HEAP32[$3>>2]|0; + if ($15) { + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = (_fts3EvalIncrPhraseNext($16,$17,$18)|0); + HEAP32[$6>>2] = $19; + $56 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($56|0); + } + $20 = ((($16)) + 52|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = HEAP32[$8>>2]|0; + $24 = ((($23)) + 231|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($22|0)!=($26|0); + if ($27) { + $28 = HEAP32[$7>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0); + if ($31) { + $32 = HEAP32[$8>>2]|0; + $33 = ((($32)) + 231|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$7>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP32[$7>>2]|0; + $44 = ((($43)) + 16|0); + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 32|0); + $47 = HEAP32[$5>>2]|0; + _sqlite3Fts3DoclistPrev($35,$37,$40,$42,$44,$46,$47); + $48 = HEAP32[$7>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 28|0); + HEAP32[$52>>2] = $50; + $56 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($56|0); + } + } + $53 = HEAP32[$8>>2]|0; + $54 = HEAP32[$7>>2]|0; + $55 = HEAP32[$5>>2]|0; + _fts3EvalDlPhraseNext($53,$54,$55); + $56 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($56|0); +} +function _fts3EvalIncrPhraseNext($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $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, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; + $3 = sp + 172|0; + $4 = sp + 168|0; + $5 = sp + 164|0; + $6 = sp + 160|0; + $7 = sp + 156|0; + $8 = sp + 152|0; + $9 = sp + 148|0; + $10 = sp + 176|0; + $11 = sp + 144|0; + $12 = sp + 8|0; + $13 = sp + 140|0; + $14 = sp; + $15 = sp + 136|0; + $16 = sp + 132|0; + $17 = sp + 128|0; + $18 = sp + 124|0; + $19 = sp + 120|0; + $20 = sp + 116|0; + $21 = sp + 112|0; + $22 = sp + 108|0; + $23 = sp + 104|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + $24 = HEAP32[$5>>2]|0; + HEAP32[$8>>2] = $24; + $25 = HEAP32[$4>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$9>>2] = $26; + HEAP8[$10>>0] = 0; + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 64|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)==(1); + if ($30) { + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 72|0); + $38 = ((($37)) + 20|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$8>>2]|0; + $41 = ((($40)) + 16|0); + $42 = HEAP32[$8>>2]|0; + $43 = ((($42)) + 28|0); + $44 = HEAP32[$8>>2]|0; + $45 = ((($44)) + 32|0); + $46 = (_sqlite3Fts3MsrIncrNext($35,$39,$41,$43,$45)|0); + HEAP32[$7>>2] = $46; + $47 = HEAP32[$8>>2]|0; + $48 = ((($47)) + 28|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + HEAP8[$10>>0] = 1; + } + } else { + label = 5; + } + } else { + label = 5; + } + L5: do { + if ((label|0) == 5) { + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 52|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + HEAP32[$11>>2] = $54; + dest=$12; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + while(1) { + $55 = HEAP8[$10>>0]|0; + $56 = $55&255; + $57 = ($56|0)==(0); + if (!($57)) { + break L5; + } + HEAP32[$13>>2] = 0; + $58 = $14; + $59 = $58; + HEAP32[$59>>2] = 0; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = 0; + HEAP32[$15>>2] = 0; + while(1) { + $62 = HEAP32[$7>>2]|0; + $63 = ($62|0)==(0); + if (!($63)) { + break; + } + $64 = HEAP32[$15>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = ((($65)) + 64|0); + $67 = HEAP32[$66>>2]|0; + $68 = ($64|0)<($67|0); + if (!($68)) { + break; + } + $69 = HEAP8[$10>>0]|0; + $70 = $69&255; + $71 = ($70|0)==(0); + if (!($71)) { + break; + } + $72 = HEAP32[$9>>2]|0; + $73 = HEAP32[$5>>2]|0; + $74 = HEAP32[$15>>2]|0; + $75 = HEAP32[$15>>2]|0; + $76 = (($12) + (($75*24)|0)|0); + $77 = (_incrPhraseTokenNext($72,$73,$74,$76,$10)|0); + HEAP32[$7>>2] = $77; + $78 = HEAP32[$15>>2]|0; + $79 = (($12) + (($78*24)|0)|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($80|0)==(0); + do { + if ($81) { + $82 = HEAP32[$13>>2]|0; + $83 = ($82|0)==(0); + if (!($83)) { + $84 = HEAP32[$11>>2]|0; + $85 = ($84|0)!=(0); + $86 = $85 ? -1 : 1; + $87 = ($86|0)<(0); + $88 = $87 << 31 >> 31; + $89 = $14; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$15>>2]|0; + $96 = (($12) + (($95*24)|0)|0); + $97 = ((($96)) + 8|0); + $98 = $97; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (($98) + 4)|0; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = (_i64Subtract(($91|0),($94|0),($100|0),($103|0))|0); + $105 = tempRet0; + (___muldi3(($86|0),($88|0),($104|0),($105|0))|0); + $106 = tempRet0; + $107 = ($106|0)<(0); + if (!($107)) { + break; + } + } + $108 = HEAP32[$15>>2]|0; + $109 = (($12) + (($108*24)|0)|0); + $110 = ((($109)) + 8|0); + $111 = $110; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (($111) + 4)|0; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = $14; + $118 = $117; + HEAP32[$118>>2] = $113; + $119 = (($117) + 4)|0; + $120 = $119; + HEAP32[$120>>2] = $116; + HEAP32[$13>>2] = 1; + } + } while(0); + $121 = HEAP32[$15>>2]|0; + $122 = (($121) + 1)|0; + HEAP32[$15>>2] = $122; + } + HEAP32[$15>>2] = 0; + while(1) { + $123 = HEAP32[$15>>2]|0; + $124 = HEAP32[$5>>2]|0; + $125 = ((($124)) + 64|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($123|0)<($126|0); + if (!($127)) { + break; + } + while(1) { + $128 = HEAP32[$7>>2]|0; + $129 = ($128|0)==(0); + if (!($129)) { + break; + } + $130 = HEAP8[$10>>0]|0; + $131 = $130&255; + $132 = ($131|0)==(0); + if (!($132)) { + break; + } + $133 = HEAP32[$15>>2]|0; + $134 = (($12) + (($133*24)|0)|0); + $135 = HEAP32[$134>>2]|0; + $136 = ($135|0)==(0); + if (!($136)) { + break; + } + $137 = HEAP32[$11>>2]|0; + $138 = ($137|0)!=(0); + $139 = $138 ? -1 : 1; + $140 = ($139|0)<(0); + $141 = $140 << 31 >> 31; + $142 = HEAP32[$15>>2]|0; + $143 = (($12) + (($142*24)|0)|0); + $144 = ((($143)) + 8|0); + $145 = $144; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = $14; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = (($151) + 4)|0; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (_i64Subtract(($147|0),($150|0),($153|0),($156|0))|0); + $158 = tempRet0; + (___muldi3(($139|0),($141|0),($157|0),($158|0))|0); + $159 = tempRet0; + $160 = ($159|0)<(0); + if (!($160)) { + break; + } + $161 = HEAP32[$9>>2]|0; + $162 = HEAP32[$5>>2]|0; + $163 = HEAP32[$15>>2]|0; + $164 = HEAP32[$15>>2]|0; + $165 = (($12) + (($164*24)|0)|0); + $166 = (_incrPhraseTokenNext($161,$162,$163,$165,$10)|0); + HEAP32[$7>>2] = $166; + $167 = HEAP32[$11>>2]|0; + $168 = ($167|0)!=(0); + $169 = $168 ? -1 : 1; + $170 = ($169|0)<(0); + $171 = $170 << 31 >> 31; + $172 = HEAP32[$15>>2]|0; + $173 = (($12) + (($172*24)|0)|0); + $174 = ((($173)) + 8|0); + $175 = $174; + $176 = $175; + $177 = HEAP32[$176>>2]|0; + $178 = (($175) + 4)|0; + $179 = $178; + $180 = HEAP32[$179>>2]|0; + $181 = $14; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = (($181) + 4)|0; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + $187 = (_i64Subtract(($177|0),($180|0),($183|0),($186|0))|0); + $188 = tempRet0; + $189 = (___muldi3(($169|0),($171|0),($187|0),($188|0))|0); + $190 = tempRet0; + $191 = ($190|0)>(0); + $192 = ($189>>>0)>(0); + $193 = ($190|0)==(0); + $194 = $193 & $192; + $195 = $191 | $194; + if (!($195)) { + continue; + } + $196 = HEAP32[$15>>2]|0; + $197 = (($12) + (($196*24)|0)|0); + $198 = ((($197)) + 8|0); + $199 = $198; + $200 = $199; + $201 = HEAP32[$200>>2]|0; + $202 = (($199) + 4)|0; + $203 = $202; + $204 = HEAP32[$203>>2]|0; + $205 = $14; + $206 = $205; + HEAP32[$206>>2] = $201; + $207 = (($205) + 4)|0; + $208 = $207; + HEAP32[$208>>2] = $204; + HEAP32[$15>>2] = 0; + } + $209 = HEAP32[$15>>2]|0; + $210 = (($209) + 1)|0; + HEAP32[$15>>2] = $210; + } + $211 = HEAP8[$10>>0]|0; + $212 = $211&255; + $213 = ($212|0)==(0); + if (!($213)) { + continue; + } + HEAP32[$16>>2] = 0; + $214 = HEAP32[$5>>2]|0; + $215 = ((($214)) + 64|0); + $216 = HEAP32[$215>>2]|0; + $217 = (($216) - 1)|0; + $218 = (($12) + (($217*24)|0)|0); + $219 = ((($218)) + 20|0); + $220 = HEAP32[$219>>2]|0; + HEAP32[$17>>2] = $220; + $221 = HEAP32[$17>>2]|0; + $222 = (($221) + 1)|0; + $223 = (_sqlite3_malloc($222)|0); + HEAP32[$18>>2] = $223; + $224 = HEAP32[$18>>2]|0; + $225 = ($224|0)!=(0|0); + if (!($225)) { + break; + } + $226 = HEAP32[$18>>2]|0; + $227 = HEAP32[$5>>2]|0; + $228 = ((($227)) + 64|0); + $229 = HEAP32[$228>>2]|0; + $230 = (($229) - 1)|0; + $231 = (($12) + (($230*24)|0)|0); + $232 = ((($231)) + 16|0); + $233 = HEAP32[$232>>2]|0; + $234 = HEAP32[$17>>2]|0; + $235 = (($234) + 1)|0; + _memcpy(($226|0),($233|0),($235|0))|0; + HEAP32[$15>>2] = 0; + while(1) { + $236 = HEAP32[$15>>2]|0; + $237 = HEAP32[$5>>2]|0; + $238 = ((($237)) + 64|0); + $239 = HEAP32[$238>>2]|0; + $240 = (($239) - 1)|0; + $241 = ($236|0)<($240|0); + if (!($241)) { + break; + } + $242 = HEAP32[$15>>2]|0; + $243 = (($12) + (($242*24)|0)|0); + $244 = HEAP32[$243>>2]|0; + $245 = ($244|0)==(0); + if ($245) { + $246 = HEAP32[$15>>2]|0; + $247 = (($12) + (($246*24)|0)|0); + $248 = ((($247)) + 16|0); + $249 = HEAP32[$248>>2]|0; + HEAP32[$19>>2] = $249; + $250 = HEAP32[$18>>2]|0; + HEAP32[$20>>2] = $250; + $251 = HEAP32[$18>>2]|0; + HEAP32[$21>>2] = $251; + $252 = HEAP32[$5>>2]|0; + $253 = ((($252)) + 64|0); + $254 = HEAP32[$253>>2]|0; + $255 = (($254) - 1)|0; + $256 = HEAP32[$15>>2]|0; + $257 = (($255) - ($256))|0; + HEAP32[$22>>2] = $257; + $258 = HEAP32[$22>>2]|0; + $259 = (_fts3PoslistPhraseMerge($21,$258,0,1,$19,$20)|0); + HEAP32[$23>>2] = $259; + $260 = HEAP32[$23>>2]|0; + $261 = ($260|0)==(0); + if ($261) { + break; + } + $262 = HEAP32[$21>>2]|0; + $263 = HEAP32[$18>>2]|0; + $264 = $262; + $265 = $263; + $266 = (($264) - ($265))|0; + HEAP32[$16>>2] = $266; + } + $267 = HEAP32[$15>>2]|0; + $268 = (($267) + 1)|0; + HEAP32[$15>>2] = $268; + } + $269 = HEAP32[$15>>2]|0; + $270 = HEAP32[$5>>2]|0; + $271 = ((($270)) + 64|0); + $272 = HEAP32[$271>>2]|0; + $273 = (($272) - 1)|0; + $274 = ($269|0)==($273|0); + if ($274) { + label = 35; + break; + } + $295 = HEAP32[$18>>2]|0; + _sqlite3_free($295); + } + if ((label|0) == 35) { + $275 = $14; + $276 = $275; + $277 = HEAP32[$276>>2]|0; + $278 = (($275) + 4)|0; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = HEAP32[$8>>2]|0; + $282 = ((($281)) + 16|0); + $283 = $282; + $284 = $283; + HEAP32[$284>>2] = $277; + $285 = (($283) + 4)|0; + $286 = $285; + HEAP32[$286>>2] = $280; + $287 = HEAP32[$18>>2]|0; + $288 = HEAP32[$8>>2]|0; + $289 = ((($288)) + 28|0); + HEAP32[$289>>2] = $287; + $290 = HEAP32[$16>>2]|0; + $291 = HEAP32[$8>>2]|0; + $292 = ((($291)) + 32|0); + HEAP32[$292>>2] = $290; + $293 = HEAP32[$8>>2]|0; + $294 = ((($293)) + 24|0); + HEAP32[$294>>2] = 1; + break; + } + HEAP32[$3>>2] = 7; + $299 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($299|0); + } + } while(0); + $296 = HEAP8[$10>>0]|0; + $297 = HEAP32[$6>>2]|0; + HEAP8[$297>>0] = $296; + $298 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $298; + $299 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($299|0); +} +function _fts3EvalDlPhraseNext($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $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; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($10) + ($13)|0); + HEAP32[$7>>2] = $14; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + $19 = HEAP32[$4>>2]|0; + if ($18) { + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$6>>2] = $21; + } else { + $22 = HEAP32[$19>>2]|0; + HEAP32[$6>>2] = $22; + } + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$7>>2]|0; + $25 = ($23>>>0)>=($24>>>0); + if ($25) { + $26 = HEAP32[$5>>2]|0; + HEAP8[$26>>0] = 1; + STACKTOP = sp;return; + } + $27 = HEAP32[$6>>2]|0; + $28 = (_sqlite3Fts3GetVarint($27,$8)|0); + $29 = HEAP32[$6>>2]|0; + $30 = (($29) + ($28)|0); + HEAP32[$6>>2] = $30; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 231|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = ($34|0)==(0); + if ($35) { + label = 8; + } else { + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(0|0); + if ($39) { + label = 8; + } else { + $60 = $8; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$4>>2]|0; + $67 = ((($66)) + 16|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (_i64Subtract(($70|0),($73|0),($62|0),($65|0))|0); + $75 = tempRet0; + $76 = $67; + $77 = $76; + HEAP32[$77>>2] = $74; + $78 = (($76) + 4)|0; + $79 = $78; + HEAP32[$79>>2] = $75; + } + } + if ((label|0) == 8) { + $40 = $8; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 16|0); + $48 = $47; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (_i64Add(($50|0),($53|0),($42|0),($45|0))|0); + $55 = tempRet0; + $56 = $47; + $57 = $56; + HEAP32[$57>>2] = $54; + $58 = (($56) + 4)|0; + $59 = $58; + HEAP32[$59>>2] = $55; + } + $80 = HEAP32[$6>>2]|0; + $81 = HEAP32[$4>>2]|0; + $82 = ((($81)) + 28|0); + HEAP32[$82>>2] = $80; + _fts3PoslistCopy(0,$6); + $83 = HEAP32[$6>>2]|0; + $84 = HEAP32[$4>>2]|0; + $85 = ((($84)) + 28|0); + $86 = HEAP32[$85>>2]|0; + $87 = $83; + $88 = $86; + $89 = (($87) - ($88))|0; + $90 = HEAP32[$4>>2]|0; + $91 = ((($90)) + 32|0); + HEAP32[$91>>2] = $89; + while(1) { + $92 = HEAP32[$6>>2]|0; + $93 = HEAP32[$7>>2]|0; + $94 = ($92>>>0)<($93>>>0); + if ($94) { + $95 = HEAP32[$6>>2]|0; + $96 = HEAP8[$95>>0]|0; + $97 = $96 << 24 >> 24; + $98 = ($97|0)==(0); + $104 = $98; + } else { + $104 = 0; + } + $99 = HEAP32[$6>>2]|0; + if (!($104)) { + break; + } + $100 = ((($99)) + 1|0); + HEAP32[$6>>2] = $100; + } + $101 = HEAP32[$4>>2]|0; + $102 = ((($101)) + 8|0); + HEAP32[$102>>2] = $99; + $103 = HEAP32[$5>>2]|0; + HEAP8[$103>>0] = 0; + STACKTOP = sp;return; +} +function _sqlite3Fts3MsrIncrNext($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $40 = 0, $41 = 0, $42 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + $14 = sp + 24|0; + $15 = sp + 20|0; + $16 = sp + 16|0; + $17 = sp + 12|0; + $18 = sp + 8|0; + $19 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $20 = HEAP32[$7>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$11>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$23>>2]|0; + HEAP32[$12>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 231|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = ($28|0)!=(0); + $30 = $29 ? 215 : 216; + HEAP32[$13>>2] = $30; + $31 = HEAP32[$11>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $33 = HEAP32[$9>>2]|0; + HEAP32[$33>>2] = 0; + HEAP32[$5>>2] = 0; + $149 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($149|0); + } + while(1) { + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$35>>2]|0; + HEAP32[$14>>2] = $36; + $37 = HEAP32[$14>>2]|0; + $38 = ((($37)) + 80|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0|0); + if ($40) { + label = 4; + break; + } + $42 = HEAP32[$12>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = ((($43)) + 88|0); + $45 = $44; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = $19; + $52 = $51; + HEAP32[$52>>2] = $47; + $53 = (($51) + 4)|0; + $54 = $53; + HEAP32[$54>>2] = $50; + $55 = HEAP32[$6>>2]|0; + $56 = HEAP32[$12>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = (_fts3SegReaderNextDocid($55,$57,$16,$17)|0); + HEAP32[$15>>2] = $58; + HEAP32[$18>>2] = 1; + while(1) { + $59 = HEAP32[$15>>2]|0; + $60 = ($59|0)==(0); + if (!($60)) { + break; + } + $61 = HEAP32[$18>>2]|0; + $62 = HEAP32[$11>>2]|0; + $63 = ($61|0)<($62|0); + if (!($63)) { + break; + } + $64 = HEAP32[$12>>2]|0; + $65 = HEAP32[$18>>2]|0; + $66 = (($64) + ($65<<2)|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($67)) + 80|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)!=(0|0); + if (!($70)) { + break; + } + $71 = HEAP32[$12>>2]|0; + $72 = HEAP32[$18>>2]|0; + $73 = (($71) + ($72<<2)|0); + $74 = HEAP32[$73>>2]|0; + $75 = ((($74)) + 88|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $19; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = ($78|0)==($84|0); + $89 = ($81|0)==($87|0); + $90 = $88 & $89; + if (!($90)) { + break; + } + $91 = HEAP32[$6>>2]|0; + $92 = HEAP32[$12>>2]|0; + $93 = HEAP32[$18>>2]|0; + $94 = (($92) + ($93<<2)|0); + $95 = HEAP32[$94>>2]|0; + $96 = (_fts3SegReaderNextDocid($91,$95,0,0)|0); + HEAP32[$15>>2] = $96; + $97 = HEAP32[$18>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[$18>>2] = $98; + } + $99 = HEAP32[$15>>2]|0; + $100 = ($99|0)!=(0); + if ($100) { + label = 12; + break; + } + $102 = HEAP32[$7>>2]|0; + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$11>>2]|0; + $105 = HEAP32[$18>>2]|0; + $106 = HEAP32[$13>>2]|0; + _fts3SegReaderSort($103,$104,$105,$106); + $107 = HEAP32[$17>>2]|0; + $108 = ($107|0)>(0); + if ($108) { + $109 = HEAP32[$12>>2]|0; + $110 = HEAP32[$109>>2]|0; + $111 = ((($110)) + 56|0); + $112 = HEAP32[$111>>2]|0; + $113 = ($112|0)!=(0|0); + if ($113) { + $114 = HEAP32[$7>>2]|0; + $115 = HEAP32[$16>>2]|0; + $116 = HEAP32[$17>>2]|0; + $117 = (($116) + 1)|0; + $118 = (_fts3MsrBufferData($114,$115,$117)|0); + HEAP32[$15>>2] = $118; + $119 = HEAP32[$15>>2]|0; + $120 = ($119|0)!=(0); + if ($120) { + label = 16; + break; + } + $122 = HEAP32[$7>>2]|0; + $123 = ((($122)) + 16|0); + $124 = HEAP32[$123>>2]|0; + HEAP32[$16>>2] = $124; + } + } + $125 = HEAP32[$7>>2]|0; + $126 = ((($125)) + 24|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)>=(0); + if ($128) { + $129 = HEAP32[$7>>2]|0; + $130 = ((($129)) + 24|0); + $131 = HEAP32[$130>>2]|0; + _fts3ColumnFilter($131,1,$16,$17); + } + $132 = HEAP32[$17>>2]|0; + $133 = ($132|0)>(0); + if ($133) { + label = 21; + break; + } + } + if ((label|0) == 4) { + $41 = HEAP32[$9>>2]|0; + HEAP32[$41>>2] = 0; + } + else if ((label|0) == 12) { + $101 = HEAP32[$15>>2]|0; + HEAP32[$5>>2] = $101; + $149 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($149|0); + } + else if ((label|0) == 16) { + $121 = HEAP32[$15>>2]|0; + HEAP32[$5>>2] = $121; + $149 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($149|0); + } + else if ((label|0) == 21) { + $134 = HEAP32[$16>>2]|0; + $135 = HEAP32[$9>>2]|0; + HEAP32[$135>>2] = $134; + $136 = $19; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = HEAP32[$8>>2]|0; + $143 = $142; + $144 = $143; + HEAP32[$144>>2] = $138; + $145 = (($143) + 4)|0; + $146 = $145; + HEAP32[$146>>2] = $141; + $147 = HEAP32[$17>>2]|0; + $148 = HEAP32[$10>>2]|0; + HEAP32[$148>>2] = $147; + } + HEAP32[$5>>2] = 0; + $149 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($149|0); +} +function _incrPhraseTokenNext($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = 0; + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = ($14|0)==($15|0); + if ($16) { + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$9>>2]|0; + _fts3EvalDlPhraseNext($17,$18,$19); + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 28|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$8>>2]|0; + $24 = ((($23)) + 16|0); + HEAP32[$24>>2] = $22; + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 32|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 20|0); + HEAP32[$29>>2] = $27; + $30 = HEAP32[$6>>2]|0; + $31 = ((($30)) + 16|0); + $32 = $31; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$8>>2]|0; + $39 = ((($38)) + 8|0); + $40 = $39; + $41 = $40; + HEAP32[$41>>2] = $34; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $37; + $69 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($69|0); + } + $44 = HEAP32[$6>>2]|0; + $45 = ((($44)) + 72|0); + $46 = HEAP32[$7>>2]|0; + $47 = (($45) + (($46*24)|0)|0); + HEAP32[$11>>2] = $47; + $48 = HEAP32[$11>>2]|0; + $49 = ((($48)) + 20|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)!=(0|0); + if (!($51)) { + $68 = HEAP32[$8>>2]|0; + HEAP32[$68>>2] = 1; + $69 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($69|0); + } + $52 = HEAP32[$5>>2]|0; + $53 = HEAP32[$11>>2]|0; + $54 = ((($53)) + 20|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$8>>2]|0; + $57 = ((($56)) + 8|0); + $58 = HEAP32[$8>>2]|0; + $59 = ((($58)) + 16|0); + $60 = HEAP32[$8>>2]|0; + $61 = ((($60)) + 20|0); + $62 = (_sqlite3Fts3MsrIncrNext($52,$55,$57,$59,$61)|0); + HEAP32[$10>>2] = $62; + $63 = HEAP32[$8>>2]|0; + $64 = ((($63)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $69 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($69|0); + } + $67 = HEAP32[$9>>2]|0; + HEAP8[$67>>0] = 1; + $69 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($69|0); +} +function _fts3PoslistPhraseMerge($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $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; + STACKTOP = STACKTOP + 96|0; + $6 = sp + 80|0; + $7 = sp + 76|0; + $8 = sp + 72|0; + $9 = sp + 68|0; + $10 = sp + 64|0; + $11 = sp + 60|0; + $12 = sp + 56|0; + $13 = sp + 52|0; + $14 = sp + 48|0; + $15 = sp + 44|0; + $16 = sp + 40|0; + $17 = sp + 36|0; + $18 = sp + 32|0; + $19 = sp + 24|0; + $20 = sp + 16|0; + $21 = sp + 8|0; + $22 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$23>>2]|0; + HEAP32[$13>>2] = $24; + $25 = HEAP32[$11>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$14>>2] = $26; + $27 = HEAP32[$12>>2]|0; + $28 = HEAP32[$27>>2]|0; + HEAP32[$15>>2] = $28; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + $29 = HEAP32[$14>>2]|0; + $30 = HEAP8[$29>>0]|0; + $31 = $30 << 24 >> 24; + $32 = ($31|0)==(1); + if ($32) { + $33 = HEAP32[$14>>2]|0; + $34 = ((($33)) + 1|0); + HEAP32[$14>>2] = $34; + $35 = HEAP32[$14>>2]|0; + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = $37 & 128; + $39 = ($38|0)!=(0); + $40 = HEAP32[$14>>2]|0; + if ($39) { + $41 = (_sqlite3Fts3GetVarint32($40,$16)|0); + $46 = $41; + } else { + $42 = HEAP8[$40>>0]|0; + $43 = $42&255; + HEAP32[$16>>2] = $43; + $46 = 1; + } + $44 = HEAP32[$14>>2]|0; + $45 = (($44) + ($46)|0); + HEAP32[$14>>2] = $45; + } + $47 = HEAP32[$15>>2]|0; + $48 = HEAP8[$47>>0]|0; + $49 = $48 << 24 >> 24; + $50 = ($49|0)==(1); + if ($50) { + $51 = HEAP32[$15>>2]|0; + $52 = ((($51)) + 1|0); + HEAP32[$15>>2] = $52; + $53 = HEAP32[$15>>2]|0; + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55 & 128; + $57 = ($56|0)!=(0); + $58 = HEAP32[$15>>2]|0; + if ($57) { + $59 = (_sqlite3Fts3GetVarint32($58,$17)|0); + $64 = $59; + } else { + $60 = HEAP8[$58>>0]|0; + $61 = $60&255; + HEAP32[$17>>2] = $61; + $64 = 1; + } + $62 = HEAP32[$15>>2]|0; + $63 = (($62) + ($64)|0); + HEAP32[$15>>2] = $63; + } + while(1) { + $65 = HEAP32[$16>>2]|0; + $66 = HEAP32[$17>>2]|0; + $67 = ($65|0)==($66|0); + if (!($67)) { + $331 = HEAP32[$16>>2]|0; + $332 = HEAP32[$17>>2]|0; + $333 = ($331|0)<($332|0); + if ($333) { + _fts3ColumnlistCopy(0,$14); + $334 = HEAP32[$14>>2]|0; + $335 = HEAP8[$334>>0]|0; + $336 = $335 << 24 >> 24; + $337 = (0)==($336|0); + if ($337) { + break; + } + $338 = HEAP32[$14>>2]|0; + $339 = ((($338)) + 1|0); + HEAP32[$14>>2] = $339; + $340 = HEAP32[$14>>2]|0; + $341 = HEAP8[$340>>0]|0; + $342 = $341&255; + $343 = $342 & 128; + $344 = ($343|0)!=(0); + $345 = HEAP32[$14>>2]|0; + if ($344) { + $346 = (_sqlite3Fts3GetVarint32($345,$16)|0); + $351 = $346; + } else { + $347 = HEAP8[$345>>0]|0; + $348 = $347&255; + HEAP32[$16>>2] = $348; + $351 = 1; + } + $349 = HEAP32[$14>>2]|0; + $350 = (($349) + ($351)|0); + HEAP32[$14>>2] = $350; + continue; + } else { + _fts3ColumnlistCopy(0,$15); + $352 = HEAP32[$15>>2]|0; + $353 = HEAP8[$352>>0]|0; + $354 = $353 << 24 >> 24; + $355 = (0)==($354|0); + if ($355) { + break; + } + $356 = HEAP32[$15>>2]|0; + $357 = ((($356)) + 1|0); + HEAP32[$15>>2] = $357; + $358 = HEAP32[$15>>2]|0; + $359 = HEAP8[$358>>0]|0; + $360 = $359&255; + $361 = $360 & 128; + $362 = ($361|0)!=(0); + $363 = HEAP32[$15>>2]|0; + if ($362) { + $364 = (_sqlite3Fts3GetVarint32($363,$17)|0); + $369 = $364; + } else { + $365 = HEAP8[$363>>0]|0; + $366 = $365&255; + HEAP32[$17>>2] = $366; + $369 = 1; + } + $367 = HEAP32[$15>>2]|0; + $368 = (($367) + ($369)|0); + HEAP32[$15>>2] = $368; + continue; + } + } + $68 = HEAP32[$13>>2]|0; + HEAP32[$18>>2] = $68; + $69 = $19; + $70 = $69; + HEAP32[$70>>2] = 0; + $71 = (($69) + 4)|0; + $72 = $71; + HEAP32[$72>>2] = 0; + $73 = $20; + $74 = $73; + HEAP32[$74>>2] = 0; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = 0; + $77 = $21; + $78 = $77; + HEAP32[$78>>2] = 0; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = 0; + $81 = HEAP32[$16>>2]|0; + $82 = ($81|0)!=(0); + if ($82) { + $83 = HEAP32[$13>>2]|0; + $84 = ((($83)) + 1|0); + HEAP32[$13>>2] = $84; + HEAP8[$83>>0] = 1; + $85 = HEAP32[$13>>2]|0; + $86 = HEAP32[$16>>2]|0; + $87 = ($86|0)<(0); + $88 = $87 << 31 >> 31; + $89 = (_sqlite3Fts3PutVarint($85,$86,$88)|0); + $90 = HEAP32[$13>>2]|0; + $91 = (($90) + ($89)|0); + HEAP32[$13>>2] = $91; + } + _fts3GetDeltaVarint($14,$20); + $92 = $20; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (($92) + 4)|0; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (_i64Subtract(($94|0),($97|0),2,0)|0); + $99 = tempRet0; + $100 = $20; + $101 = $100; + HEAP32[$101>>2] = $98; + $102 = (($100) + 4)|0; + $103 = $102; + HEAP32[$103>>2] = $99; + _fts3GetDeltaVarint($15,$21); + $104 = $21; + $105 = $104; + $106 = HEAP32[$105>>2]|0; + $107 = (($104) + 4)|0; + $108 = $107; + $109 = HEAP32[$108>>2]|0; + $110 = (_i64Subtract(($106|0),($109|0),2,0)|0); + $111 = tempRet0; + $112 = $21; + $113 = $112; + HEAP32[$113>>2] = $110; + $114 = (($112) + 4)|0; + $115 = $114; + HEAP32[$115>>2] = $111; + while(1) { + $116 = $21; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = $20; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = (($122) + 4)|0; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$8>>2]|0; + $129 = ($128|0)<(0); + $130 = $129 << 31 >> 31; + $131 = (_i64Add(($124|0),($127|0),($128|0),($130|0))|0); + $132 = tempRet0; + $133 = ($118|0)==($131|0); + $134 = ($121|0)==($132|0); + $135 = $133 & $134; + if ($135) { + label = 19; + } else { + $136 = HEAP32[$10>>2]|0; + $137 = ($136|0)==(0); + if ($137) { + $138 = $21; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = $20; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = ($143|0)>($149|0); + $151 = ($140>>>0)>($146>>>0); + $152 = ($143|0)==($149|0); + $153 = $152 & $151; + $154 = $150 | $153; + if ($154) { + $155 = $21; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = (($155) + 4)|0; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = $20; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = HEAP32[$8>>2]|0; + $168 = ($167|0)<(0); + $169 = $168 << 31 >> 31; + $170 = (_i64Add(($163|0),($166|0),($167|0),($169|0))|0); + $171 = tempRet0; + $172 = ($160|0)<($171|0); + $173 = ($157>>>0)<=($170>>>0); + $174 = ($160|0)==($171|0); + $175 = $174 & $173; + $176 = $172 | $175; + if ($176) { + label = 19; + } + } + } + } + if ((label|0) == 19) { + label = 0; + $177 = HEAP32[$9>>2]|0; + $178 = ($177|0)!=(0); + $179 = $20; + $180 = $179; + $181 = HEAP32[$180>>2]|0; + $182 = (($179) + 4)|0; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = $21; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = (($185) + 4)|0; + $189 = $188; + $190 = HEAP32[$189>>2]|0; + $191 = $178 ? $181 : $187; + $192 = $178 ? $184 : $190; + $193 = $22; + $194 = $193; + HEAP32[$194>>2] = $191; + $195 = (($193) + 4)|0; + $196 = $195; + HEAP32[$196>>2] = $192; + $197 = $22; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = (_i64Add(($199|0),($202|0),2,0)|0); + $204 = tempRet0; + _fts3PutDeltaVarint($13,$19,$203,$204); + $205 = $19; + $206 = $205; + $207 = HEAP32[$206>>2]|0; + $208 = (($205) + 4)|0; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (_i64Subtract(($207|0),($210|0),2,0)|0); + $212 = tempRet0; + $213 = $19; + $214 = $213; + HEAP32[$214>>2] = $211; + $215 = (($213) + 4)|0; + $216 = $215; + HEAP32[$216>>2] = $212; + HEAP32[$18>>2] = 0; + } + $217 = HEAP32[$9>>2]|0; + $218 = ($217|0)!=(0); + if ($218) { + label = 22; + } else { + $219 = $21; + $220 = $219; + $221 = HEAP32[$220>>2]|0; + $222 = (($219) + 4)|0; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = $20; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = (($225) + 4)|0; + $229 = $228; + $230 = HEAP32[$229>>2]|0; + $231 = HEAP32[$8>>2]|0; + $232 = ($231|0)<(0); + $233 = $232 << 31 >> 31; + $234 = (_i64Add(($227|0),($230|0),($231|0),($233|0))|0); + $235 = tempRet0; + $236 = ($224|0)<($235|0); + $237 = ($221>>>0)<=($234>>>0); + $238 = ($224|0)==($235|0); + $239 = $238 & $237; + $240 = $236 | $239; + if (!($240)) { + label = 22; + } + } + if ((label|0) == 22) { + label = 0; + $241 = $21; + $242 = $241; + $243 = HEAP32[$242>>2]|0; + $244 = (($241) + 4)|0; + $245 = $244; + $246 = HEAP32[$245>>2]|0; + $247 = $20; + $248 = $247; + $249 = HEAP32[$248>>2]|0; + $250 = (($247) + 4)|0; + $251 = $250; + $252 = HEAP32[$251>>2]|0; + $253 = ($246|0)<($252|0); + $254 = ($243>>>0)<=($249>>>0); + $255 = ($246|0)==($252|0); + $256 = $255 & $254; + $257 = $253 | $256; + if (!($257)) { + $275 = HEAP32[$14>>2]|0; + $276 = HEAP8[$275>>0]|0; + $277 = $276 << 24 >> 24; + $278 = $277 & 254; + $279 = ($278|0)==(0); + if ($279) { + break; + } + _fts3GetDeltaVarint($14,$20); + $280 = $20; + $281 = $280; + $282 = HEAP32[$281>>2]|0; + $283 = (($280) + 4)|0; + $284 = $283; + $285 = HEAP32[$284>>2]|0; + $286 = (_i64Subtract(($282|0),($285|0),2,0)|0); + $287 = tempRet0; + $288 = $20; + $289 = $288; + HEAP32[$289>>2] = $286; + $290 = (($288) + 4)|0; + $291 = $290; + HEAP32[$291>>2] = $287; + continue; + } + } + $258 = HEAP32[$15>>2]|0; + $259 = HEAP8[$258>>0]|0; + $260 = $259 << 24 >> 24; + $261 = $260 & 254; + $262 = ($261|0)==(0); + if ($262) { + break; + } + _fts3GetDeltaVarint($15,$21); + $263 = $21; + $264 = $263; + $265 = HEAP32[$264>>2]|0; + $266 = (($263) + 4)|0; + $267 = $266; + $268 = HEAP32[$267>>2]|0; + $269 = (_i64Subtract(($265|0),($268|0),2,0)|0); + $270 = tempRet0; + $271 = $21; + $272 = $271; + HEAP32[$272>>2] = $269; + $273 = (($271) + 4)|0; + $274 = $273; + HEAP32[$274>>2] = $270; + } + $292 = HEAP32[$18>>2]|0; + $293 = ($292|0)!=(0|0); + if ($293) { + $294 = HEAP32[$18>>2]|0; + HEAP32[$13>>2] = $294; + } + _fts3ColumnlistCopy(0,$14); + _fts3ColumnlistCopy(0,$15); + $295 = HEAP32[$14>>2]|0; + $296 = HEAP8[$295>>0]|0; + $297 = $296 << 24 >> 24; + $298 = (0)==($297|0); + if ($298) { + break; + } + $299 = HEAP32[$15>>2]|0; + $300 = HEAP8[$299>>0]|0; + $301 = $300 << 24 >> 24; + $302 = (0)==($301|0); + if ($302) { + break; + } + $303 = HEAP32[$14>>2]|0; + $304 = ((($303)) + 1|0); + HEAP32[$14>>2] = $304; + $305 = HEAP32[$14>>2]|0; + $306 = HEAP8[$305>>0]|0; + $307 = $306&255; + $308 = $307 & 128; + $309 = ($308|0)!=(0); + $310 = HEAP32[$14>>2]|0; + if ($309) { + $311 = (_sqlite3Fts3GetVarint32($310,$16)|0); + $316 = $311; + } else { + $312 = HEAP8[$310>>0]|0; + $313 = $312&255; + HEAP32[$16>>2] = $313; + $316 = 1; + } + $314 = HEAP32[$14>>2]|0; + $315 = (($314) + ($316)|0); + HEAP32[$14>>2] = $315; + $317 = HEAP32[$15>>2]|0; + $318 = ((($317)) + 1|0); + HEAP32[$15>>2] = $318; + $319 = HEAP32[$15>>2]|0; + $320 = HEAP8[$319>>0]|0; + $321 = $320&255; + $322 = $321 & 128; + $323 = ($322|0)!=(0); + $324 = HEAP32[$15>>2]|0; + if ($323) { + $325 = (_sqlite3Fts3GetVarint32($324,$17)|0); + $330 = $325; + } else { + $326 = HEAP8[$324>>0]|0; + $327 = $326&255; + HEAP32[$17>>2] = $327; + $330 = 1; + } + $328 = HEAP32[$15>>2]|0; + $329 = (($328) + ($330)|0); + HEAP32[$15>>2] = $329; + } + _fts3PoslistCopy(0,$15); + _fts3PoslistCopy(0,$14); + $370 = HEAP32[$14>>2]|0; + $371 = HEAP32[$11>>2]|0; + HEAP32[$371>>2] = $370; + $372 = HEAP32[$15>>2]|0; + $373 = HEAP32[$12>>2]|0; + HEAP32[$373>>2] = $372; + $374 = HEAP32[$7>>2]|0; + $375 = HEAP32[$374>>2]|0; + $376 = HEAP32[$13>>2]|0; + $377 = ($375|0)==($376|0); + if ($377) { + HEAP32[$6>>2] = 0; + $382 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($382|0); + } else { + $378 = HEAP32[$13>>2]|0; + $379 = ((($378)) + 1|0); + HEAP32[$13>>2] = $379; + HEAP8[$378>>0] = 0; + $380 = HEAP32[$13>>2]|0; + $381 = HEAP32[$7>>2]|0; + HEAP32[$381>>2] = $380; + HEAP32[$6>>2] = 1; + $382 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($382|0); + } + return (0)|0; +} +function _fts3GetDeltaVarint($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3Fts3GetVarint($6,$4)|0); + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + ($7)|0); + HEAP32[$8>>2] = $10; + $11 = $4; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (_i64Add(($20|0),($23|0),($13|0),($16|0))|0); + $25 = tempRet0; + $26 = $17; + $27 = $26; + HEAP32[$27>>2] = $24; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $25; + STACKTOP = sp;return; +} +function _fts3PutDeltaVarint($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $7 = $6; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = $6; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (_i64Subtract(($15|0),($18|0),($22|0),($25|0))|0); + $27 = tempRet0; + $28 = (_sqlite3Fts3PutVarint($12,$26,$27)|0); + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = (($30) + ($28)|0); + HEAP32[$29>>2] = $31; + $32 = $6; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = $38; + $40 = $39; + HEAP32[$40>>2] = $34; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $37; + STACKTOP = sp;return; +} +function _sqlite3Fts3MsrIncrRestart($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 28|0); + HEAP32[$6>>2] = 1; + HEAP32[$2>>2] = 0; + while(1) { + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($7|0)<($10|0); + if (!($11)) { + break; + } + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = (($13) + ($14<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 80|0); + HEAP32[$17>>2] = 0; + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = (($19) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 84|0); + HEAP32[$23>>2] = 0; + $24 = HEAP32[$1>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = (($25) + ($26<<2)|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 88|0); + $30 = $29; + $31 = $30; + HEAP32[$31>>2] = 0; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = 0; + $34 = HEAP32[$2>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$2>>2] = $35; + } + STACKTOP = sp;return 0; +} +function _fts3EvalPhraseStart($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $$sink3 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $16; + HEAP32[$7>>2] = 0; + HEAP32[$9>>2] = 0; + $17 = HEAP32[$4>>2]|0; + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 52|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 231|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($22|0)==($26|0); + if ($27) { + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 64|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)<=(4); + if ($31) { + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 64|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)>(0); + $37 = $35; + } else { + $37 = 0; + } + } else { + $37 = 0; + } + } else { + $37 = 0; + } + $36 = $37&1; + HEAP32[$10>>2] = $36; + HEAP32[$8>>2] = 0; + while(1) { + $38 = HEAP32[$10>>2]|0; + $39 = ($38|0)==(1); + if (!($39)) { + break; + } + $40 = HEAP32[$8>>2]|0; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 64|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($40|0)<($43|0); + if (!($44)) { + break; + } + $45 = HEAP32[$5>>2]|0; + $46 = ((($45)) + 72|0); + $47 = HEAP32[$8>>2]|0; + $48 = (($46) + (($47*24)|0)|0); + HEAP32[$11>>2] = $48; + $49 = HEAP32[$11>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)!=(0); + if ($52) { + label = 11; + } else { + $53 = HEAP32[$11>>2]|0; + $54 = ((($53)) + 20|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)!=(0|0); + if ($56) { + $57 = HEAP32[$11>>2]|0; + $58 = ((($57)) + 20|0); + $59 = HEAP32[$58>>2]|0; + $60 = ((($59)) + 36|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)!=(0); + if (!($62)) { + label = 11; + } + } + } + if ((label|0) == 11) { + label = 0; + HEAP32[$10>>2] = 0; + } + $63 = HEAP32[$11>>2]|0; + $64 = ((($63)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)!=(0|0); + if ($66) { + HEAP32[$9>>2] = 1; + } + $67 = HEAP32[$8>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$8>>2] = $68; + } + $69 = HEAP32[$10>>2]|0; + $70 = ($69|0)!=(0); + $71 = HEAP32[$9>>2]|0; + $72 = ($71|0)!=(0); + $or$cond = $70 & $72; + if (!($or$cond)) { + $111 = HEAP32[$3>>2]|0; + $112 = HEAP32[$5>>2]|0; + $113 = (_fts3EvalPhraseLoad($111,$112)|0); + HEAP32[$7>>2] = $113; + $114 = HEAP32[$5>>2]|0; + $$sink = 0;$$sink3 = $114; + $115 = ((($$sink3)) + 40|0); + HEAP32[$115>>2] = $$sink; + $116 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($116|0); + } + $73 = HEAP32[$5>>2]|0; + $74 = ((($73)) + 68|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$6>>2]|0; + $77 = ((($76)) + 24|0); + $78 = HEAP32[$77>>2]|0; + $79 = ($75|0)>=($78|0); + if ($79) { + $83 = -1; + } else { + $80 = HEAP32[$5>>2]|0; + $81 = ((($80)) + 68|0); + $82 = HEAP32[$81>>2]|0; + $83 = $82; + } + HEAP32[$12>>2] = $83; + HEAP32[$8>>2] = 0; + while(1) { + $84 = HEAP32[$7>>2]|0; + $85 = ($84|0)==(0); + if ($85) { + $86 = HEAP32[$8>>2]|0; + $87 = HEAP32[$5>>2]|0; + $88 = ((($87)) + 64|0); + $89 = HEAP32[$88>>2]|0; + $90 = ($86|0)<($89|0); + $117 = $90; + } else { + $117 = 0; + } + $91 = HEAP32[$5>>2]|0; + if (!($117)) { + $$sink = 1;$$sink3 = $91; + break; + } + $92 = ((($91)) + 72|0); + $93 = HEAP32[$8>>2]|0; + $94 = (($92) + (($93*24)|0)|0); + HEAP32[$13>>2] = $94; + $95 = HEAP32[$13>>2]|0; + $96 = ((($95)) + 20|0); + $97 = HEAP32[$96>>2]|0; + HEAP32[$14>>2] = $97; + $98 = HEAP32[$14>>2]|0; + $99 = ($98|0)!=(0|0); + if ($99) { + $100 = HEAP32[$6>>2]|0; + $101 = HEAP32[$14>>2]|0; + $102 = HEAP32[$12>>2]|0; + $103 = HEAP32[$13>>2]|0; + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$13>>2]|0; + $106 = ((($105)) + 4|0); + $107 = HEAP32[$106>>2]|0; + $108 = (_sqlite3Fts3MsrIncrStart($100,$101,$102,$104,$107)|0); + HEAP32[$7>>2] = $108; + } + $109 = HEAP32[$8>>2]|0; + $110 = (($109) + 1)|0; + HEAP32[$8>>2] = $110; + } + $115 = ((($$sink3)) + 40|0); + HEAP32[$115>>2] = $$sink; + $116 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($116|0); +} +function _sqlite3Fts3MsrIncrStart($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $16 = HEAP32[$7>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$13>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 231|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)!=(0); + $24 = $23 ? 215 : 216; + HEAP32[$14>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$9>>2]|0; + $28 = HEAP32[$10>>2]|0; + $29 = (_fts3SegReaderStart($25,$26,$27,$28)|0); + HEAP32[$12>>2] = $29; + $30 = HEAP32[$12>>2]|0; + $31 = ($30|0)!=(0); + if ($31) { + $32 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $32; + $80 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($80|0); + } + HEAP32[$11>>2] = 0; + while(1) { + $33 = HEAP32[$11>>2]|0; + $34 = HEAP32[$13>>2]|0; + $35 = ($33|0)<($34|0); + if (!($35)) { + break; + } + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$11>>2]|0; + $39 = (($37) + ($38<<2)|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$15>>2] = $40; + $41 = HEAP32[$15>>2]|0; + $42 = ((($41)) + 40|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)!=(0|0); + if (!($44)) { + break; + } + $45 = HEAP32[$15>>2]|0; + $46 = HEAP32[$9>>2]|0; + $47 = HEAP32[$10>>2]|0; + $48 = (_fts3SegReaderTermCmp($45,$46,$47)|0); + $49 = ($48|0)!=(0); + if ($49) { + break; + } + $50 = HEAP32[$11>>2]|0; + $51 = (($50) + 1)|0; + HEAP32[$11>>2] = $51; + } + $52 = HEAP32[$11>>2]|0; + $53 = HEAP32[$7>>2]|0; + $54 = ((($53)) + 8|0); + HEAP32[$54>>2] = $52; + HEAP32[$11>>2] = 0; + while(1) { + $55 = HEAP32[$11>>2]|0; + $56 = HEAP32[$7>>2]|0; + $57 = ((($56)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($55|0)<($58|0); + if (!($59)) { + label = 13; + break; + } + $60 = HEAP32[$6>>2]|0; + $61 = HEAP32[$7>>2]|0; + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$11>>2]|0; + $64 = (($62) + ($63<<2)|0); + $65 = HEAP32[$64>>2]|0; + $66 = (_fts3SegReaderFirstDocid($60,$65)|0); + HEAP32[$12>>2] = $66; + $67 = HEAP32[$12>>2]|0; + $68 = ($67|0)!=(0); + if ($68) { + label = 11; + break; + } + $70 = HEAP32[$11>>2]|0; + $71 = (($70) + 1)|0; + HEAP32[$11>>2] = $71; + } + if ((label|0) == 11) { + $69 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $69; + $80 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($80|0); + } + else if ((label|0) == 13) { + $72 = HEAP32[$7>>2]|0; + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$11>>2]|0; + $75 = HEAP32[$11>>2]|0; + $76 = HEAP32[$14>>2]|0; + _fts3SegReaderSort($73,$74,$75,$76); + $77 = HEAP32[$8>>2]|0; + $78 = HEAP32[$7>>2]|0; + $79 = ((($78)) + 24|0); + HEAP32[$79>>2] = $77; + HEAP32[$5>>2] = 0; + $80 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($80|0); + } + return (0)|0; +} +function _fts3EvalPhraseLoad($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $11; + HEAP32[$6>>2] = 0; + HEAP32[$5>>2] = 0; + while(1) { + $12 = HEAP32[$6>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + label = 8; + break; + } + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 64|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($14|0)<($17|0); + if (!($18)) { + label = 8; + break; + } + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 72|0); + $21 = HEAP32[$5>>2]|0; + $22 = (($20) + (($21*24)|0)|0); + HEAP32[$7>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 68|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_fts3TermSelect($27,$28,$31,$8,$9)|0); + HEAP32[$6>>2] = $32; + $33 = HEAP32[$6>>2]|0; + $34 = ($33|0)==(0); + if ($34) { + $35 = HEAP32[$4>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$9>>2]|0; + $39 = HEAP32[$8>>2]|0; + $40 = (_fts3EvalPhraseMergeToken($35,$36,$37,$38,$39)|0); + HEAP32[$6>>2] = $40; + } + } + $41 = HEAP32[$5>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$5>>2] = $42; + } + if ((label|0) == 8) { + $43 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($43|0); + } + return (0)|0; +} +function _fts3TermSelect($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $9 = 0; + var dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; + $5 = sp + 176|0; + $6 = sp + 172|0; + $7 = sp + 168|0; + $8 = sp + 164|0; + $9 = sp + 160|0; + $10 = sp + 156|0; + $11 = sp + 152|0; + $12 = sp + 24|0; + $13 = sp + 8|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $15 = HEAP32[$6>>2]|0; + $16 = ((($15)) + 20|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$11>>2] = $17; + dest=$12; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0); + $22 = $21 ? 8 : 0; + $23 = 3 | $22; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0); + $28 = $27 ? 32 : 0; + $29 = $23 | $28; + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 24|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($30|0)<($33|0); + $35 = $34 ? 4 : 0; + $36 = $29 | $35; + $37 = ((($13)) + 12|0); + HEAP32[$37>>2] = $36; + $38 = HEAP32[$7>>2]|0; + $39 = ((($13)) + 8|0); + HEAP32[$39>>2] = $38; + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$40>>2]|0; + HEAP32[$13>>2] = $41; + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($13)) + 4|0); + HEAP32[$45>>2] = $44; + $46 = HEAP32[$5>>2]|0; + $47 = HEAP32[$11>>2]|0; + $48 = (_sqlite3Fts3SegReaderStart($46,$47,$13)|0); + HEAP32[$10>>2] = $48; + while(1) { + $49 = HEAP32[$10>>2]|0; + $50 = (0)==($49|0); + if (!($50)) { + break; + } + $51 = HEAP32[$5>>2]|0; + $52 = HEAP32[$11>>2]|0; + $53 = (_sqlite3Fts3SegReaderStep($51,$52)|0); + HEAP32[$10>>2] = $53; + $54 = (100)==($53|0); + if (!($54)) { + break; + } + $55 = HEAP32[$5>>2]|0; + $56 = HEAP32[$11>>2]|0; + $57 = ((($56)) + 48|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$11>>2]|0; + $60 = ((($59)) + 52|0); + $61 = HEAP32[$60>>2]|0; + $62 = (_fts3TermSelectMerge($55,$12,$58,$61)|0); + HEAP32[$10>>2] = $62; + } + $63 = HEAP32[$10>>2]|0; + $64 = ($63|0)==(0); + if ($64) { + $65 = HEAP32[$5>>2]|0; + $66 = (_fts3TermSelectFinishMerge($65,$12)|0); + HEAP32[$10>>2] = $66; + } + $67 = HEAP32[$10>>2]|0; + $68 = ($67|0)==(0); + if ($68) { + $69 = HEAP32[$12>>2]|0; + $70 = HEAP32[$9>>2]|0; + HEAP32[$70>>2] = $69; + $71 = ((($12)) + 64|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$8>>2]|0; + HEAP32[$73>>2] = $72; + $81 = HEAP32[$11>>2]|0; + _fts3SegReaderCursorFree($81); + $82 = HEAP32[$6>>2]|0; + $83 = ((($82)) + 20|0); + HEAP32[$83>>2] = 0; + $84 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($84|0); + } + HEAP32[$14>>2] = 0; + while(1) { + $74 = HEAP32[$14>>2]|0; + $75 = ($74|0)<(16); + if (!($75)) { + break; + } + $76 = HEAP32[$14>>2]|0; + $77 = (($12) + ($76<<2)|0); + $78 = HEAP32[$77>>2]|0; + _sqlite3_free($78); + $79 = HEAP32[$14>>2]|0; + $80 = (($79) + 1)|0; + HEAP32[$14>>2] = $80; + } + $81 = HEAP32[$11>>2]|0; + _fts3SegReaderCursorFree($81); + $82 = HEAP32[$6>>2]|0; + $83 = ((($82)) + 20|0); + HEAP32[$83>>2] = 0; + $84 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($84|0); +} +function _fts3EvalPhraseMergeToken($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = 0; + $16 = HEAP32[$8>>2]|0; + $17 = ($16|0)==(0|0); + $18 = HEAP32[$6>>2]|0; + do { + if ($17) { + $19 = HEAP32[$18>>2]|0; + _sqlite3_free($19); + $20 = HEAP32[$6>>2]|0; + HEAP32[$20>>2] = 0; + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 4|0); + HEAP32[$22>>2] = 0; + } else { + $23 = ((($18)) + 44|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)<(0); + if ($25) { + $26 = HEAP32[$8>>2]|0; + $27 = HEAP32[$6>>2]|0; + HEAP32[$27>>2] = $26; + $28 = HEAP32[$9>>2]|0; + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 4|0); + HEAP32[$30>>2] = $28; + break; + } + $31 = HEAP32[$6>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0|0); + if ($33) { + $34 = HEAP32[$8>>2]|0; + _sqlite3_free($34); + break; + } + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 44|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$7>>2]|0; + $39 = ($37|0)<($38|0); + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$40>>2]|0; + if ($39) { + HEAP32[$11>>2] = $41; + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$13>>2] = $44; + $45 = HEAP32[$8>>2]|0; + HEAP32[$12>>2] = $45; + $46 = HEAP32[$9>>2]|0; + HEAP32[$14>>2] = $46; + $47 = HEAP32[$7>>2]|0; + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 44|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($47) - ($50))|0; + HEAP32[$15>>2] = $51; + } else { + HEAP32[$12>>2] = $41; + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + HEAP32[$14>>2] = $54; + $55 = HEAP32[$8>>2]|0; + HEAP32[$11>>2] = $55; + $56 = HEAP32[$9>>2]|0; + HEAP32[$13>>2] = $56; + $57 = HEAP32[$6>>2]|0; + $58 = ((($57)) + 44|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$7>>2]|0; + $61 = (($59) - ($60))|0; + HEAP32[$15>>2] = $61; + } + $62 = HEAP32[$5>>2]|0; + $63 = ((($62)) + 231|0); + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + $66 = HEAP32[$15>>2]|0; + $67 = HEAP32[$11>>2]|0; + $68 = HEAP32[$13>>2]|0; + $69 = (_fts3DoclistPhraseMerge($65,$66,$67,$68,$12,$14)|0); + HEAP32[$10>>2] = $69; + $70 = HEAP32[$11>>2]|0; + _sqlite3_free($70); + $71 = HEAP32[$12>>2]|0; + $72 = HEAP32[$6>>2]|0; + HEAP32[$72>>2] = $71; + $73 = HEAP32[$14>>2]|0; + $74 = HEAP32[$6>>2]|0; + $75 = ((($74)) + 4|0); + HEAP32[$75>>2] = $73; + } + } while(0); + $76 = HEAP32[$7>>2]|0; + $77 = HEAP32[$6>>2]|0; + $78 = ((($77)) + 44|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($76|0)>($79|0); + if (!($80)) { + $84 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($84|0); + } + $81 = HEAP32[$7>>2]|0; + $82 = HEAP32[$6>>2]|0; + $83 = ((($82)) + 44|0); + HEAP32[$83>>2] = $81; + $84 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($84|0); +} +function _fts3DoclistPhraseMerge($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $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; + STACKTOP = STACKTOP + 112|0; + $6 = sp + 104|0; + $7 = sp + 100|0; + $8 = sp + 96|0; + $9 = sp + 92|0; + $10 = sp + 88|0; + $11 = sp + 84|0; + $12 = sp + 80|0; + $13 = sp + 32|0; + $14 = sp + 24|0; + $15 = sp + 16|0; + $16 = sp + 76|0; + $17 = sp + 72|0; + $18 = sp + 68|0; + $19 = sp + 64|0; + $20 = sp + 60|0; + $21 = sp + 56|0; + $22 = sp + 52|0; + $23 = sp + 48|0; + $24 = sp + 8|0; + $25 = sp + 44|0; + $26 = sp; + $27 = sp + 40|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $28 = $13; + $29 = $28; + HEAP32[$29>>2] = 0; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = 0; + $32 = $14; + $33 = $32; + HEAP32[$33>>2] = 0; + $34 = (($32) + 4)|0; + $35 = $34; + HEAP32[$35>>2] = 0; + $36 = $15; + $37 = $36; + HEAP32[$37>>2] = 0; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = 0; + $40 = HEAP32[$11>>2]|0; + $41 = HEAP32[$40>>2]|0; + HEAP32[$16>>2] = $41; + $42 = HEAP32[$9>>2]|0; + $43 = HEAP32[$10>>2]|0; + $44 = (($42) + ($43)|0); + HEAP32[$17>>2] = $44; + $45 = HEAP32[$16>>2]|0; + $46 = HEAP32[$12>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + ($47)|0); + HEAP32[$18>>2] = $48; + $49 = HEAP32[$9>>2]|0; + HEAP32[$19>>2] = $49; + $50 = HEAP32[$16>>2]|0; + HEAP32[$20>>2] = $50; + HEAP32[$22>>2] = 0; + $51 = HEAP32[$7>>2]|0; + $52 = ($51|0)!=(0); + if ($52) { + $53 = HEAP32[$12>>2]|0; + $54 = HEAP32[$53>>2]|0; + $55 = (($54) + 10)|0; + $56 = (_sqlite3_malloc($55)|0); + HEAP32[$23>>2] = $56; + $57 = HEAP32[$23>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + HEAP32[$6>>2] = 7; + $162 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($162|0); + } + } else { + $59 = HEAP32[$16>>2]|0; + HEAP32[$23>>2] = $59; + } + $60 = HEAP32[$23>>2]|0; + HEAP32[$21>>2] = $60; + $61 = HEAP32[$17>>2]|0; + _fts3GetDeltaVarint3($19,$61,0,$13); + $62 = HEAP32[$18>>2]|0; + _fts3GetDeltaVarint3($20,$62,0,$14); + while(1) { + $63 = HEAP32[$19>>2]|0; + $64 = ($63|0)!=(0|0); + $65 = HEAP32[$20>>2]|0; + $66 = ($65|0)!=(0|0); + $67 = $64 ? $66 : 0; + if (!($67)) { + break; + } + $68 = HEAP32[$7>>2]|0; + $69 = ($68|0)!=(0); + $70 = $69 ? -1 : 1; + $71 = ($70|0)<(0); + $72 = $71 << 31 >> 31; + $73 = $13; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $14; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = (($79) + 4)|0; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (_i64Subtract(($75|0),($78|0),($81|0),($84|0))|0); + $86 = tempRet0; + $87 = (___muldi3(($70|0),($72|0),($85|0),($86|0))|0); + $88 = tempRet0; + $89 = $24; + $90 = $89; + HEAP32[$90>>2] = $87; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = $24; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = ($95|0)==(0); + $100 = ($98|0)==(0); + $101 = $99 & $100; + if ($101) { + $102 = HEAP32[$21>>2]|0; + HEAP32[$25>>2] = $102; + $103 = $15; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = $26; + $110 = $109; + HEAP32[$110>>2] = $105; + $111 = (($109) + 4)|0; + $112 = $111; + HEAP32[$112>>2] = $108; + $113 = HEAP32[$22>>2]|0; + HEAP32[$27>>2] = $113; + $114 = HEAP32[$7>>2]|0; + $115 = $13; + $116 = $115; + $117 = HEAP32[$116>>2]|0; + $118 = (($115) + 4)|0; + $119 = $118; + $120 = HEAP32[$119>>2]|0; + _fts3PutDeltaVarint3($21,$114,$15,$22,$117,$120); + $121 = HEAP32[$8>>2]|0; + $122 = (_fts3PoslistPhraseMerge($21,$121,0,1,$19,$20)|0); + $123 = (0)==($122|0); + if ($123) { + $124 = HEAP32[$25>>2]|0; + HEAP32[$21>>2] = $124; + $125 = $26; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = (($125) + 4)|0; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = $15; + $132 = $131; + HEAP32[$132>>2] = $127; + $133 = (($131) + 4)|0; + $134 = $133; + HEAP32[$134>>2] = $130; + $135 = HEAP32[$27>>2]|0; + HEAP32[$22>>2] = $135; + } + $136 = HEAP32[$17>>2]|0; + $137 = HEAP32[$7>>2]|0; + _fts3GetDeltaVarint3($19,$136,$137,$13); + $138 = HEAP32[$18>>2]|0; + $139 = HEAP32[$7>>2]|0; + _fts3GetDeltaVarint3($20,$138,$139,$14); + continue; + } else { + $140 = $24; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = ($145|0)<(0); + if ($146) { + _fts3PoslistCopy(0,$19); + $147 = HEAP32[$17>>2]|0; + $148 = HEAP32[$7>>2]|0; + _fts3GetDeltaVarint3($19,$147,$148,$13); + continue; + } else { + _fts3PoslistCopy(0,$20); + $149 = HEAP32[$18>>2]|0; + $150 = HEAP32[$7>>2]|0; + _fts3GetDeltaVarint3($20,$149,$150,$14); + continue; + } + } + } + $151 = HEAP32[$21>>2]|0; + $152 = HEAP32[$23>>2]|0; + $153 = $151; + $154 = $152; + $155 = (($153) - ($154))|0; + $156 = HEAP32[$12>>2]|0; + HEAP32[$156>>2] = $155; + $157 = HEAP32[$7>>2]|0; + $158 = ($157|0)!=(0); + if ($158) { + $159 = HEAP32[$16>>2]|0; + _sqlite3_free($159); + $160 = HEAP32[$23>>2]|0; + $161 = HEAP32[$11>>2]|0; + HEAP32[$161>>2] = $160; + } + HEAP32[$6>>2] = 0; + $162 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($162|0); +} +function _fts3GetDeltaVarint3($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = ($10>>>0)>=($11>>>0); + $13 = HEAP32[$4>>2]|0; + if ($12) { + HEAP32[$13>>2] = 0; + STACKTOP = sp;return; + } else { + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3Fts3GetVarint($14,$8)|0); + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + ($15)|0); + HEAP32[$16>>2] = $18; + $19 = HEAP32[$6>>2]|0; + $20 = ($19|0)!=(0); + $21 = $8; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$7>>2]|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),($23|0),($26|0))|0); + $35 = tempRet0; + $36 = (_i64Subtract(($30|0),($33|0),($23|0),($26|0))|0); + $37 = tempRet0; + $38 = $20 ? $36 : $34; + $39 = $20 ? $37 : $35; + $40 = $27; + $41 = $40; + HEAP32[$41>>2] = $38; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + STACKTOP = sp;return; + } +} +function _fts3PutDeltaVarint3($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 8|0; + $11 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + $12 = $10; + $13 = $12; + HEAP32[$13>>2] = $4; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $5; + $16 = HEAP32[$7>>2]|0; + $17 = ($16|0)==(0); + if ($17) { + label = 3; + } else { + $18 = HEAP32[$9>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + label = 3; + } else { + $40 = HEAP32[$8>>2]|0; + $41 = $40; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = $10; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (_i64Subtract(($43|0),($46|0),($49|0),($52|0))|0); + $54 = tempRet0; + $55 = $11; + $56 = $55; + HEAP32[$56>>2] = $53; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $54; + } + } + if ((label|0) == 3) { + $21 = $10; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$8>>2]|0; + $28 = $27; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (_i64Subtract(($23|0),($26|0),($30|0),($33|0))|0); + $35 = tempRet0; + $36 = $11; + $37 = $36; + HEAP32[$37>>2] = $34; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = $35; + } + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = $11; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (_sqlite3Fts3PutVarint($60,$63,$66)|0); + $68 = HEAP32[$6>>2]|0; + $69 = HEAP32[$68>>2]|0; + $70 = (($69) + ($67)|0); + HEAP32[$68>>2] = $70; + $71 = $10; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$8>>2]|0; + $78 = $77; + $79 = $78; + HEAP32[$79>>2] = $73; + $80 = (($78) + 4)|0; + $81 = $80; + HEAP32[$81>>2] = $76; + $82 = HEAP32[$9>>2]|0; + HEAP32[$82>>2] = 1; + STACKTOP = sp;return; +} +function _fts3TermSelectMerge($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, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0|0); + L1: do { + if ($17) { + $18 = HEAP32[$8>>2]|0; + $19 = (($18) + 10)|0; + $20 = (($19) + 1)|0; + $21 = (_sqlite3_malloc($20)|0); + $22 = HEAP32[$6>>2]|0; + HEAP32[$22>>2] = $21; + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 64|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$8>>2]|0; + _memcpy(($30|0),($31|0),($32|0))|0; + break; + } + HEAP32[$4>>2] = 7; + $98 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($98|0); + } else { + $33 = HEAP32[$7>>2]|0; + HEAP32[$9>>2] = $33; + $34 = HEAP32[$8>>2]|0; + HEAP32[$10>>2] = $34; + HEAP32[$11>>2] = 0; + while(1) { + $35 = HEAP32[$11>>2]|0; + $36 = ($35|0)<(16); + if (!($36)) { + break L1; + } + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$11>>2]|0; + $39 = (($37) + ($38<<2)|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)==(0|0); + if ($41) { + label = 8; + break; + } + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 231|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$10>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = HEAP32[$11>>2]|0; + $59 = (($57) + ($58<<2)|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$6>>2]|0; + $62 = ((($61)) + 64|0); + $63 = HEAP32[$11>>2]|0; + $64 = (($62) + ($63<<2)|0); + $65 = HEAP32[$64>>2]|0; + $66 = (_fts3DoclistOrMerge($54,$55,$56,$60,$65,$12,$13)|0); + HEAP32[$14>>2] = $66; + $67 = HEAP32[$14>>2]|0; + $68 = ($67|0)!=(0); + $69 = HEAP32[$9>>2]|0; + $70 = HEAP32[$7>>2]|0; + $71 = ($69|0)!=($70|0); + if ($68) { + break; + } + if ($71) { + $74 = HEAP32[$9>>2]|0; + _sqlite3_free($74); + } + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$11>>2]|0; + $77 = (($75) + ($76<<2)|0); + $78 = HEAP32[$77>>2]|0; + _sqlite3_free($78); + $79 = HEAP32[$6>>2]|0; + $80 = HEAP32[$11>>2]|0; + $81 = (($79) + ($80<<2)|0); + HEAP32[$81>>2] = 0; + $82 = HEAP32[$12>>2]|0; + HEAP32[$9>>2] = $82; + $83 = HEAP32[$13>>2]|0; + HEAP32[$10>>2] = $83; + $84 = HEAP32[$11>>2]|0; + $85 = (($84) + 1)|0; + $86 = ($85|0)==(16); + if ($86) { + $87 = HEAP32[$9>>2]|0; + $88 = HEAP32[$6>>2]|0; + $89 = HEAP32[$11>>2]|0; + $90 = (($88) + ($89<<2)|0); + HEAP32[$90>>2] = $87; + $91 = HEAP32[$10>>2]|0; + $92 = HEAP32[$6>>2]|0; + $93 = ((($92)) + 64|0); + $94 = HEAP32[$11>>2]|0; + $95 = (($93) + ($94<<2)|0); + HEAP32[$95>>2] = $91; + } + $96 = HEAP32[$11>>2]|0; + $97 = (($96) + 1)|0; + HEAP32[$11>>2] = $97; + } + if ((label|0) == 8) { + $42 = HEAP32[$9>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$11>>2]|0; + $45 = (($43) + ($44<<2)|0); + HEAP32[$45>>2] = $42; + $46 = HEAP32[$10>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + 64|0); + $49 = HEAP32[$11>>2]|0; + $50 = (($48) + ($49<<2)|0); + HEAP32[$50>>2] = $46; + break; + } + if ($71) { + $72 = HEAP32[$9>>2]|0; + _sqlite3_free($72); + } + $73 = HEAP32[$14>>2]|0; + HEAP32[$4>>2] = $73; + $98 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($98|0); + } + } while(0); + HEAP32[$4>>2] = 0; + $98 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($98|0); +} +function _fts3TermSelectFinishMerge($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + L1: while(1) { + $11 = HEAP32[$7>>2]|0; + $12 = ($11|0)<(16); + if (!($12)) { + label = 10; + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = (($13) + ($14<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0|0); + do { + if ($17) { + $18 = HEAP32[$5>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$7>>2]|0; + $22 = (($20) + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$5>>2] = $23; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 64|0); + $26 = HEAP32[$7>>2]|0; + $27 = (($25) + ($26<<2)|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$6>>2] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = (($29) + ($30<<2)|0); + HEAP32[$31>>2] = 0; + break; + } + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 231|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = HEAP32[$4>>2]|0; + $37 = HEAP32[$7>>2]|0; + $38 = (($36) + ($37<<2)|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 64|0); + $42 = HEAP32[$7>>2]|0; + $43 = (($41) + ($42<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$5>>2]|0; + $46 = HEAP32[$6>>2]|0; + $47 = (_fts3DoclistOrMerge($35,$39,$44,$45,$46,$9,$8)|0); + HEAP32[$10>>2] = $47; + $48 = HEAP32[$10>>2]|0; + $49 = ($48|0)!=(0); + if ($49) { + label = 7; + break L1; + } + $52 = HEAP32[$4>>2]|0; + $53 = HEAP32[$7>>2]|0; + $54 = (($52) + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + _sqlite3_free($55); + $56 = HEAP32[$5>>2]|0; + _sqlite3_free($56); + $57 = HEAP32[$4>>2]|0; + $58 = HEAP32[$7>>2]|0; + $59 = (($57) + ($58<<2)|0); + HEAP32[$59>>2] = 0; + $60 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $60; + $61 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $61; + } + } while(0); + $62 = HEAP32[$7>>2]|0; + $63 = (($62) + 1)|0; + HEAP32[$7>>2] = $63; + } + if ((label|0) == 7) { + $50 = HEAP32[$5>>2]|0; + _sqlite3_free($50); + $51 = HEAP32[$10>>2]|0; + HEAP32[$2>>2] = $51; + $69 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($69|0); + } + else if ((label|0) == 10) { + $64 = HEAP32[$5>>2]|0; + $65 = HEAP32[$4>>2]|0; + HEAP32[$65>>2] = $64; + $66 = HEAP32[$6>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 64|0); + HEAP32[$68>>2] = $66; + HEAP32[$2>>2] = 0; + $69 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($69|0); + } + return (0)|0; +} +function _fts3SegReaderCursorFree($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3Fts3SegReaderFinish($2); + $3 = HEAP32[$1>>2]|0; + _sqlite3_free($3); + STACKTOP = sp;return; +} +function _fts3DoclistOrMerge($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $7 = sp + 88|0; + $8 = sp + 84|0; + $9 = sp + 80|0; + $10 = sp + 76|0; + $11 = sp + 72|0; + $12 = sp + 68|0; + $13 = sp + 64|0; + $14 = sp + 60|0; + $15 = sp + 24|0; + $16 = sp + 16|0; + $17 = sp + 8|0; + $18 = sp + 56|0; + $19 = sp + 52|0; + $20 = sp + 48|0; + $21 = sp + 44|0; + $22 = sp + 40|0; + $23 = sp + 36|0; + $24 = sp + 32|0; + $25 = sp; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + $26 = $15; + $27 = $26; + HEAP32[$27>>2] = 0; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = 0; + $30 = $16; + $31 = $30; + HEAP32[$31>>2] = 0; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = 0; + $34 = $17; + $35 = $34; + HEAP32[$35>>2] = 0; + $36 = (($34) + 4)|0; + $37 = $36; + HEAP32[$37>>2] = 0; + $38 = HEAP32[$9>>2]|0; + $39 = HEAP32[$10>>2]|0; + $40 = (($38) + ($39)|0); + HEAP32[$18>>2] = $40; + $41 = HEAP32[$11>>2]|0; + $42 = HEAP32[$12>>2]|0; + $43 = (($41) + ($42)|0); + HEAP32[$19>>2] = $43; + $44 = HEAP32[$9>>2]|0; + HEAP32[$20>>2] = $44; + $45 = HEAP32[$11>>2]|0; + HEAP32[$21>>2] = $45; + HEAP32[$24>>2] = 0; + $46 = HEAP32[$13>>2]|0; + HEAP32[$46>>2] = 0; + $47 = HEAP32[$14>>2]|0; + HEAP32[$47>>2] = 0; + $48 = HEAP32[$10>>2]|0; + $49 = HEAP32[$12>>2]|0; + $50 = (($48) + ($49))|0; + $51 = (($50) + 10)|0; + $52 = (($51) - 1)|0; + $53 = (_sqlite3_malloc($52)|0); + HEAP32[$23>>2] = $53; + $54 = HEAP32[$23>>2]|0; + $55 = ($54|0)!=(0|0); + if (!($55)) { + HEAP32[$7>>2] = 7; + $150 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($150|0); + } + $56 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $56; + $57 = HEAP32[$18>>2]|0; + _fts3GetDeltaVarint3($20,$57,0,$15); + $58 = HEAP32[$19>>2]|0; + _fts3GetDeltaVarint3($21,$58,0,$16); + while(1) { + $59 = HEAP32[$20>>2]|0; + $60 = ($59|0)!=(0|0); + $61 = HEAP32[$21>>2]|0; + $62 = ($61|0)!=(0|0); + $63 = $60 ? 1 : $62; + if (!($63)) { + break; + } + $64 = HEAP32[$8>>2]|0; + $65 = ($64|0)!=(0); + $66 = $65 ? -1 : 1; + $67 = ($66|0)<(0); + $68 = $67 << 31 >> 31; + $69 = $15; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = $16; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (_i64Subtract(($71|0),($74|0),($77|0),($80|0))|0); + $82 = tempRet0; + $83 = (___muldi3(($66|0),($68|0),($81|0),($82|0))|0); + $84 = tempRet0; + $85 = $25; + $86 = $85; + HEAP32[$86>>2] = $83; + $87 = (($85) + 4)|0; + $88 = $87; + HEAP32[$88>>2] = $84; + $89 = HEAP32[$21>>2]|0; + $90 = ($89|0)!=(0|0); + $91 = HEAP32[$20>>2]|0; + $92 = ($91|0)!=(0|0); + $or$cond = $90 & $92; + $93 = $25; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = ($95|0)==(0); + $100 = ($98|0)==(0); + $101 = $99 & $100; + $or$cond3 = $or$cond & $101; + if ($or$cond3) { + $102 = HEAP32[$8>>2]|0; + $103 = $15; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + _fts3PutDeltaVarint3($22,$102,$17,$24,$105,$108); + _fts3PoslistMerge($22,$20,$21); + $109 = HEAP32[$18>>2]|0; + $110 = HEAP32[$8>>2]|0; + _fts3GetDeltaVarint3($20,$109,$110,$15); + $111 = HEAP32[$19>>2]|0; + $112 = HEAP32[$8>>2]|0; + _fts3GetDeltaVarint3($21,$111,$112,$16); + continue; + } + $113 = HEAP32[$21>>2]|0; + $114 = ($113|0)!=(0|0); + if ($114) { + $115 = HEAP32[$20>>2]|0; + $116 = ($115|0)!=(0|0); + $117 = $25; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = ($122|0)<(0); + $or$cond5 = $116 & $123; + if (!($or$cond5)) { + $133 = HEAP32[$8>>2]|0; + $134 = $16; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = (($134) + 4)|0; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + _fts3PutDeltaVarint3($22,$133,$17,$24,$136,$139); + _fts3PoslistCopy($22,$21); + $140 = HEAP32[$19>>2]|0; + $141 = HEAP32[$8>>2]|0; + _fts3GetDeltaVarint3($21,$140,$141,$16); + continue; + } + } + $124 = HEAP32[$8>>2]|0; + $125 = $15; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = (($125) + 4)|0; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + _fts3PutDeltaVarint3($22,$124,$17,$24,$127,$130); + _fts3PoslistCopy($22,$20); + $131 = HEAP32[$18>>2]|0; + $132 = HEAP32[$8>>2]|0; + _fts3GetDeltaVarint3($20,$131,$132,$15); + } + $142 = HEAP32[$23>>2]|0; + $143 = HEAP32[$13>>2]|0; + HEAP32[$143>>2] = $142; + $144 = HEAP32[$22>>2]|0; + $145 = HEAP32[$23>>2]|0; + $146 = $144; + $147 = $145; + $148 = (($146) - ($147))|0; + $149 = HEAP32[$14>>2]|0; + HEAP32[$149>>2] = $148; + HEAP32[$7>>2] = 0; + $150 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($150|0); +} +function _fts3PoslistMerge($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 16|0; + $12 = sp + 8|0; + $13 = sp; + $14 = sp + 24|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$7>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$19>>2]|0; + HEAP32[$8>>2] = $20; + L1: while(1) { + $21 = HEAP32[$7>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = ($23|0)!=(0); + if (!($24)) { + $25 = HEAP32[$8>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($27|0)!=(0); + if (!($28)) { + break; + } + } + $29 = HEAP32[$7>>2]|0; + $30 = HEAP8[$29>>0]|0; + $31 = $30 << 24 >> 24; + $32 = ($31|0)==(1); + $33 = HEAP32[$7>>2]|0; + do { + if ($32) { + $34 = ((($33)) + 1|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 & 128; + $38 = ($37|0)!=(0); + $39 = HEAP32[$7>>2]|0; + $40 = ((($39)) + 1|0); + if ($38) { + (_sqlite3Fts3GetVarint32($40,$9)|0); + break; + } else { + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + HEAP32[$9>>2] = $42; + break; + } + } else { + $43 = HEAP8[$33>>0]|0; + $44 = $43 << 24 >> 24; + $45 = ($44|0)==(0); + if ($45) { + HEAP32[$9>>2] = 2147483647; + break; + } else { + HEAP32[$9>>2] = 0; + break; + } + } + } while(0); + $46 = HEAP32[$8>>2]|0; + $47 = HEAP8[$46>>0]|0; + $48 = $47 << 24 >> 24; + $49 = ($48|0)==(1); + $50 = HEAP32[$8>>2]|0; + do { + if ($49) { + $51 = ((($50)) + 1|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $53 & 128; + $55 = ($54|0)!=(0); + $56 = HEAP32[$8>>2]|0; + $57 = ((($56)) + 1|0); + if ($55) { + (_sqlite3Fts3GetVarint32($57,$10)|0); + break; + } else { + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + HEAP32[$10>>2] = $59; + break; + } + } else { + $60 = HEAP8[$50>>0]|0; + $61 = $60 << 24 >> 24; + $62 = ($61|0)==(0); + if ($62) { + HEAP32[$10>>2] = 2147483647; + break; + } else { + HEAP32[$10>>2] = 0; + break; + } + } + } while(0); + $63 = HEAP32[$9>>2]|0; + $64 = HEAP32[$10>>2]|0; + $65 = ($63|0)==($64|0); + if (!($65)) { + $180 = HEAP32[$9>>2]|0; + $181 = HEAP32[$10>>2]|0; + $182 = ($180|0)<($181|0); + if ($182) { + $183 = HEAP32[$9>>2]|0; + $184 = (_fts3PutColNumber($6,$183)|0); + $185 = HEAP32[$7>>2]|0; + $186 = (($185) + ($184)|0); + HEAP32[$7>>2] = $186; + _fts3ColumnlistCopy($6,$7); + continue; + } else { + $187 = HEAP32[$10>>2]|0; + $188 = (_fts3PutColNumber($6,$187)|0); + $189 = HEAP32[$8>>2]|0; + $190 = (($189) + ($188)|0); + HEAP32[$8>>2] = $190; + _fts3ColumnlistCopy($6,$8); + continue; + } + } + $66 = $11; + $67 = $66; + HEAP32[$67>>2] = 0; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = 0; + $70 = $12; + $71 = $70; + HEAP32[$71>>2] = 0; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = 0; + $74 = $13; + $75 = $74; + HEAP32[$75>>2] = 0; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = 0; + $78 = HEAP32[$9>>2]|0; + $79 = (_fts3PutColNumber($6,$78)|0); + HEAP32[$14>>2] = $79; + $80 = HEAP32[$14>>2]|0; + $81 = HEAP32[$7>>2]|0; + $82 = (($81) + ($80)|0); + HEAP32[$7>>2] = $82; + $83 = HEAP32[$14>>2]|0; + $84 = HEAP32[$8>>2]|0; + $85 = (($84) + ($83)|0); + HEAP32[$8>>2] = $85; + _fts3GetDeltaVarint($7,$11); + _fts3GetDeltaVarint($8,$12); + while(1) { + $86 = $11; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = $12; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (($92) + 4)|0; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = ($91|0)<($97|0); + $99 = ($88>>>0)<($94>>>0); + $100 = ($91|0)==($97|0); + $101 = $100 & $99; + $102 = $98 | $101; + $103 = $11; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = $12; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $102 ? $105 : $111; + $116 = $102 ? $108 : $114; + _fts3PutDeltaVarint($6,$13,$115,$116); + $117 = $13; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (_i64Subtract(($119|0),($122|0),2,0)|0); + $124 = tempRet0; + $125 = $13; + $126 = $125; + HEAP32[$126>>2] = $123; + $127 = (($125) + 4)|0; + $128 = $127; + HEAP32[$128>>2] = $124; + $129 = $11; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = $12; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (($135) + 4)|0; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = ($131|0)==($137|0); + $142 = ($134|0)==($140|0); + $143 = $141 & $142; + do { + if ($143) { + _fts3ReadNextPos($7,$11); + _fts3ReadNextPos($8,$12); + } else { + $144 = $11; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $12; + $151 = $150; + $152 = HEAP32[$151>>2]|0; + $153 = (($150) + 4)|0; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = ($149|0)<($155|0); + $157 = ($146>>>0)<($152>>>0); + $158 = ($149|0)==($155|0); + $159 = $158 & $157; + $160 = $156 | $159; + if ($160) { + _fts3ReadNextPos($7,$11); + break; + } else { + _fts3ReadNextPos($8,$12); + break; + } + } + } while(0); + $161 = $11; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = ($163|0)!=(2147483647); + $168 = ($166|0)!=(0); + $169 = $167 | $168; + $170 = $12; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = (($170) + 4)|0; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = ($172|0)!=(2147483647); + $177 = ($175|0)!=(0); + $178 = $176 | $177; + $179 = $169 ? 1 : $178; + if (!($179)) { + continue L1; + } + } + } + $191 = HEAP32[$6>>2]|0; + $192 = ((($191)) + 1|0); + HEAP32[$6>>2] = $192; + HEAP8[$191>>0] = 0; + $193 = HEAP32[$6>>2]|0; + $194 = HEAP32[$3>>2]|0; + HEAP32[$194>>2] = $193; + $195 = HEAP32[$7>>2]|0; + $196 = ((($195)) + 1|0); + $197 = HEAP32[$4>>2]|0; + HEAP32[$197>>2] = $196; + $198 = HEAP32[$8>>2]|0; + $199 = ((($198)) + 1|0); + $200 = HEAP32[$5>>2]|0; + HEAP32[$200>>2] = $199; + STACKTOP = sp;return; +} +function _fts3PutColNumber($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)!=(0); + if (!($7)) { + $22 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($22|0); + } + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$5>>2] = $9; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 1|0); + $12 = HEAP32[$3>>2]|0; + $13 = ($12|0)<(0); + $14 = $13 << 31 >> 31; + $15 = (_sqlite3Fts3PutVarint($11,$12,$14)|0); + $16 = (1 + ($15))|0; + HEAP32[$4>>2] = $16; + $17 = HEAP32[$5>>2]|0; + HEAP8[$17>>0] = 1; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = (($18) + ($19)|0); + $21 = HEAP32[$2>>2]|0; + HEAP32[$21>>2] = $20; + $22 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($22|0); +} +function _fts3ReadNextPos($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = HEAP8[$5>>0]|0; + $7 = $6 << 24 >> 24; + $8 = $7 & 254; + $9 = ($8|0)!=(0); + if ($9) { + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + _fts3GetDeltaVarint($10,$11); + $12 = HEAP32[$3>>2]|0; + $13 = $12; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (_i64Subtract(($15|0),($18|0),2,0)|0); + $20 = tempRet0; + $21 = $12; + $22 = $21; + HEAP32[$22>>2] = $19; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + STACKTOP = sp;return; + } else { + $25 = HEAP32[$3>>2]|0; + $26 = $25; + $27 = $26; + HEAP32[$27>>2] = 2147483647; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = 0; + STACKTOP = sp;return; + } +} +function _fts3CursorSeek($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 7|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + if ($10) { + HEAP32[$6>>2] = 0; + $11 = HEAP32[$4>>2]|0; + $12 = (_fts3CursorSeekStmt($11,$6)|0); + HEAP32[$5>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 32|0); + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + (_sqlite3_bind_int64($17,1,$22,$25)|0); + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 7|0); + HEAP8[$27>>0] = 0; + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_step($30)|0); + $32 = (100)==($31|0); + if ($32) { + HEAP32[$2>>2] = 0; + $53 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($53|0); + } + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = (_sqlite3_reset($35)|0); + HEAP32[$5>>2] = $36; + $37 = HEAP32[$5>>2]|0; + $38 = ($37|0)==(0); + if ($38) { + $39 = HEAP32[$4>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = ((($40)) + 40|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + HEAP32[$5>>2] = 267; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 6|0); + HEAP8[$45>>0] = 1; + } + } + } + } + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)!=(0); + $48 = HEAP32[$3>>2]|0; + $49 = ($48|0)!=(0|0); + $or$cond = $47 & $49; + if ($or$cond) { + $50 = HEAP32[$3>>2]|0; + $51 = HEAP32[$5>>2]|0; + _sqlite3_result_error_code($50,$51); + } + $52 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $52; + $53 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($53|0); +} +function _sqlite3Fts3CacheDeferredDoclists($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $1 = sp + 64|0; + $2 = sp + 60|0; + $3 = sp + 56|0; + $4 = sp; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 24|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(0|0); + if (!($20)) { + $167 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($167|0); + } + $21 = HEAP32[$1>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$6>>2] = $22; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 36|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$7>>2] = $25; + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$26>>2]|0; + HEAP32[$8>>2] = $27; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_column_int64($30,0)|0); + $32 = tempRet0; + $33 = $4; + $34 = $33; + HEAP32[$34>>2] = $31; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + HEAP32[$3>>2] = 0; + while(1) { + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($37|0)<($40|0); + $42 = HEAP32[$2>>2]|0; + $43 = ($42|0)==(0); + $44 = $41 ? $43 : 0; + if (!($44)) { + break; + } + $45 = HEAP32[$6>>2]|0; + $46 = ((($45)) + 32|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$3>>2]|0; + $49 = (($47) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$1>>2]|0; + $54 = ((($53)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$3>>2]|0; + $57 = (($56) + 1)|0; + $58 = (_sqlite3_column_text($55,$57)|0); + HEAP32[$9>>2] = $58; + HEAP32[$10>>2] = 0; + $59 = HEAP32[$7>>2]|0; + $60 = HEAP32[$1>>2]|0; + $61 = ((($60)) + 16|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$9>>2]|0; + $64 = (_sqlite3Fts3OpenTokenizer($59,$62,$63,-1,$10)|0); + HEAP32[$2>>2] = $64; + L9: while(1) { + $65 = HEAP32[$2>>2]|0; + $66 = ($65|0)==(0); + if (!($66)) { + break; + } + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + $67 = HEAP32[$8>>2]|0; + $68 = ((($67)) + 20|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$10>>2]|0; + $71 = (FUNCTION_TABLE_iiiiiii[$69 & 255]($70,$11,$12,$13,$14,$15)|0); + HEAP32[$2>>2] = $71; + $72 = HEAP32[$1>>2]|0; + $73 = ((($72)) + 24|0); + $74 = HEAP32[$73>>2]|0; + HEAP32[$5>>2] = $74; + while(1) { + $75 = HEAP32[$5>>2]|0; + $76 = ($75|0)!=(0|0); + $77 = HEAP32[$2>>2]|0; + $78 = ($77|0)==(0); + $79 = $76 ? $78 : 0; + if (!($79)) { + continue L9; + } + $80 = HEAP32[$5>>2]|0; + $81 = HEAP32[$80>>2]|0; + HEAP32[$16>>2] = $81; + $82 = HEAP32[$5>>2]|0; + $83 = ((($82)) + 4|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$6>>2]|0; + $86 = ((($85)) + 24|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($84|0)>=($87|0); + if ($88) { + label = 11; + } else { + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$3>>2]|0; + $93 = ($91|0)==($92|0); + if ($93) { + label = 11; + } + } + do { + if ((label|0) == 11) { + label = 0; + $94 = HEAP32[$16>>2]|0; + $95 = ((($94)) + 12|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)==(0); + $98 = HEAP32[$15>>2]|0; + $99 = ($98|0)==(0); + $or$cond = $97 | $99; + if ($or$cond) { + $100 = HEAP32[$16>>2]|0; + $101 = ((($100)) + 4|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$12>>2]|0; + $104 = ($102|0)==($103|0); + if (!($104)) { + $105 = HEAP32[$16>>2]|0; + $106 = ((($105)) + 8|0); + $107 = HEAP32[$106>>2]|0; + $108 = ($107|0)!=(0); + if (!($108)) { + break; + } + $109 = HEAP32[$16>>2]|0; + $110 = ((($109)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = HEAP32[$12>>2]|0; + $113 = ($111|0)<($112|0); + if (!($113)) { + break; + } + } + $114 = HEAP32[$11>>2]|0; + $115 = HEAP32[$16>>2]|0; + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$16>>2]|0; + $118 = ((($117)) + 4|0); + $119 = HEAP32[$118>>2]|0; + $120 = (_memcmp($114,$116,$119)|0); + $121 = (0)==($120|0); + if ($121) { + $122 = HEAP32[$5>>2]|0; + $123 = ((($122)) + 12|0); + $124 = $4; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (($124) + 4)|0; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = HEAP32[$3>>2]|0; + $131 = ($130|0)<(0); + $132 = $131 << 31 >> 31; + $133 = HEAP32[$15>>2]|0; + $134 = ($133|0)<(0); + $135 = $134 << 31 >> 31; + (_fts3PendingListAppend($123,$126,$129,$130,$132,$133,$135,$2)|0); + } + } + } + } while(0); + $136 = HEAP32[$5>>2]|0; + $137 = ((($136)) + 8|0); + $138 = HEAP32[$137>>2]|0; + HEAP32[$5>>2] = $138; + } + } + $139 = HEAP32[$10>>2]|0; + $140 = ($139|0)!=(0|0); + if ($140) { + $141 = HEAP32[$8>>2]|0; + $142 = ((($141)) + 16|0); + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$10>>2]|0; + (FUNCTION_TABLE_ii[$143 & 255]($144)|0); + } + $145 = HEAP32[$2>>2]|0; + $146 = ($145|0)==(101); + if ($146) { + HEAP32[$2>>2] = 0; + } + } + $147 = HEAP32[$3>>2]|0; + $148 = (($147) + 1)|0; + HEAP32[$3>>2] = $148; + } + $149 = HEAP32[$1>>2]|0; + $150 = ((($149)) + 24|0); + $151 = HEAP32[$150>>2]|0; + HEAP32[$5>>2] = $151; + while(1) { + $152 = HEAP32[$5>>2]|0; + $153 = ($152|0)!=(0|0); + $154 = HEAP32[$2>>2]|0; + $155 = ($154|0)==(0); + $156 = $153 ? $155 : 0; + if (!($156)) { + break; + } + $157 = HEAP32[$5>>2]|0; + $158 = ((($157)) + 12|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)!=(0|0); + if ($160) { + $161 = HEAP32[$5>>2]|0; + $162 = ((($161)) + 12|0); + $163 = (_fts3PendingListAppendVarint($162,0,0)|0); + HEAP32[$2>>2] = $163; + } + $164 = HEAP32[$5>>2]|0; + $165 = ((($164)) + 8|0); + $166 = HEAP32[$165>>2]|0; + HEAP32[$5>>2] = $166; + } + $167 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($167|0); +} +function _fts3EvalTestExpr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 1; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $225 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($225|0); + } + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$14>>2]|0; + switch ($15|0) { + case 3: case 1: { + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = (_fts3EvalTestExpr($16,$19,$20)|0); + $22 = ($21|0)!=(0); + if ($22) { + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 16|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$5>>2]|0; + $28 = (_fts3EvalTestExpr($23,$26,$27)|0); + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = (_fts3EvalNearTest($30,$31)|0); + $33 = ($32|0)!=(0); + $35 = $33; + } else { + $35 = 0; + } + } else { + $35 = 0; + } + $34 = $35&1; + HEAP32[$6>>2] = $34; + $36 = HEAP32[$6>>2]|0; + $37 = ($36|0)==(0); + if (!($37)) { + $225 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($225|0); + } + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(1); + if (!($40)) { + $225 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($225|0); + } + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)==(0|0); + if (!($44)) { + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)!=(1); + if (!($49)) { + $225 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($225|0); + } + } + $50 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $50; + while(1) { + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 20|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==(0|0); + $55 = HEAP32[$7>>2]|0; + if (!($54)) { + break; + } + $56 = ((($55)) + 16|0); + $57 = HEAP32[$56>>2]|0; + $58 = ((($57)) + 24|0); + $59 = $58; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$3>>2]|0; + $66 = ((($65)) + 32|0); + $67 = $66; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = ($61|0)==($69|0); + $74 = ($64|0)==($72|0); + $75 = $73 & $74; + if ($75) { + $76 = HEAP32[$7>>2]|0; + $77 = ((($76)) + 16|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($78)) + 20|0); + $80 = HEAP32[$79>>2]|0; + _fts3EvalInvalidatePoslist($80); + } + $81 = HEAP32[$7>>2]|0; + $82 = ((($81)) + 12|0); + $83 = HEAP32[$82>>2]|0; + HEAP32[$7>>2] = $83; + } + $84 = ((($55)) + 24|0); + $85 = $84; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$3>>2]|0; + $92 = ((($91)) + 32|0); + $93 = $92; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = ($87|0)==($95|0); + $100 = ($90|0)==($98|0); + $101 = $99 & $100; + if (!($101)) { + $225 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($225|0); + } + $102 = HEAP32[$7>>2]|0; + $103 = ((($102)) + 20|0); + $104 = HEAP32[$103>>2]|0; + _fts3EvalInvalidatePoslist($104); + $225 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($225|0); + break; + } + case 4: { + $105 = HEAP32[$3>>2]|0; + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$5>>2]|0; + $110 = (_fts3EvalTestExpr($105,$108,$109)|0); + HEAP32[$8>>2] = $110; + $111 = HEAP32[$3>>2]|0; + $112 = HEAP32[$4>>2]|0; + $113 = ((($112)) + 16|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$5>>2]|0; + $116 = (_fts3EvalTestExpr($111,$114,$115)|0); + HEAP32[$9>>2] = $116; + $117 = HEAP32[$8>>2]|0; + $118 = ($117|0)!=(0); + $119 = HEAP32[$9>>2]|0; + $120 = ($119|0)!=(0); + $121 = $118 ? 1 : $120; + $122 = $121&1; + HEAP32[$6>>2] = $122; + $225 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($225|0); + break; + } + case 2: { + $123 = HEAP32[$3>>2]|0; + $124 = HEAP32[$4>>2]|0; + $125 = ((($124)) + 12|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$5>>2]|0; + $128 = (_fts3EvalTestExpr($123,$126,$127)|0); + $129 = ($128|0)!=(0); + if ($129) { + $130 = HEAP32[$3>>2]|0; + $131 = HEAP32[$4>>2]|0; + $132 = ((($131)) + 16|0); + $133 = HEAP32[$132>>2]|0; + $134 = HEAP32[$5>>2]|0; + $135 = (_fts3EvalTestExpr($130,$133,$134)|0); + $136 = ($135|0)!=(0); + $137 = $136 ^ 1; + $139 = $137; + } else { + $139 = 0; + } + $138 = $139&1; + HEAP32[$6>>2] = $138; + $225 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($225|0); + break; + } + default: { + $140 = HEAP32[$3>>2]|0; + $141 = ((($140)) + 24|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)!=(0|0); + do { + if ($143) { + $144 = HEAP32[$4>>2]|0; + $145 = ((($144)) + 24|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = HEAP32[$3>>2]|0; + $153 = ((($152)) + 32|0); + $154 = $153; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (($154) + 4)|0; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = ($148|0)==($156|0); + $161 = ($151|0)==($159|0); + $162 = $160 & $161; + if (!($162)) { + $163 = HEAP32[$4>>2]|0; + $164 = ((($163)) + 34|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = ($166|0)!=(0); + if (!($167)) { + break; + } + } + $168 = HEAP32[$4>>2]|0; + $169 = ((($168)) + 20|0); + $170 = HEAP32[$169>>2]|0; + HEAP32[$10>>2] = $170; + $171 = HEAP32[$4>>2]|0; + $172 = ((($171)) + 34|0); + $173 = HEAP8[$172>>0]|0; + $174 = ($173<<24>>24)!=(0); + if ($174) { + $175 = HEAP32[$10>>2]|0; + _fts3EvalInvalidatePoslist($175); + } + $176 = HEAP32[$3>>2]|0; + $177 = HEAP32[$10>>2]|0; + $178 = (_fts3EvalDeferredPhrase($176,$177)|0); + $179 = HEAP32[$5>>2]|0; + HEAP32[$179>>2] = $178; + $180 = HEAP32[$10>>2]|0; + $181 = ((($180)) + 28|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182|0)!=(0|0); + $184 = $183&1; + HEAP32[$6>>2] = $184; + $185 = HEAP32[$3>>2]|0; + $186 = ((($185)) + 32|0); + $187 = $186; + $188 = $187; + $189 = HEAP32[$188>>2]|0; + $190 = (($187) + 4)|0; + $191 = $190; + $192 = HEAP32[$191>>2]|0; + $193 = HEAP32[$4>>2]|0; + $194 = ((($193)) + 24|0); + $195 = $194; + $196 = $195; + HEAP32[$196>>2] = $189; + $197 = (($195) + 4)|0; + $198 = $197; + HEAP32[$198>>2] = $192; + $225 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($225|0); + } + } while(0); + $199 = HEAP32[$4>>2]|0; + $200 = ((($199)) + 32|0); + $201 = HEAP8[$200>>0]|0; + $202 = $201&255; + $203 = ($202|0)==(0); + if ($203) { + $204 = HEAP32[$4>>2]|0; + $205 = ((($204)) + 24|0); + $206 = $205; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = (($206) + 4)|0; + $210 = $209; + $211 = HEAP32[$210>>2]|0; + $212 = HEAP32[$3>>2]|0; + $213 = ((($212)) + 32|0); + $214 = $213; + $215 = $214; + $216 = HEAP32[$215>>2]|0; + $217 = (($214) + 4)|0; + $218 = $217; + $219 = HEAP32[$218>>2]|0; + $220 = ($208|0)==($216|0); + $221 = ($211|0)==($219|0); + $222 = $220 & $221; + $224 = $222; + } else { + $224 = 0; + } + $223 = $224&1; + HEAP32[$6>>2] = $223; + $225 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($225|0); + } + } + return (0)|0; +} +function _sqlite3Fts3FreeDeferredDoclists($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 24|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + while(1) { + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + break; + } + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + _fts3PendingListDelete($10); + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 12|0); + HEAP32[$12>>2] = 0; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$2>>2] = $15; + } + STACKTOP = sp;return; +} +function _fts3EvalNearTest($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 44|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 1; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0); + if (!($16)) { + $143 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($143|0); + } + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(1); + if (!($19)) { + $143 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($143|0); + } + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 32|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)==(0); + if (!($24)) { + $143 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($143|0); + } + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0|0); + if (!($28)) { + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(1); + if (!($33)) { + $143 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($143|0); + } + } + HEAP32[$6>>2] = 0; + $34 = HEAP32[$2>>2]|0; + HEAP32[$5>>2] = $34; + while(1) { + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)!=(0|0); + $39 = HEAP32[$5>>2]|0; + if (!($38)) { + break; + } + $40 = ((($39)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($41)) + 20|0); + $43 = HEAP32[$42>>2]|0; + $44 = ((($43)) + 32|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$6>>2]|0; + $47 = (($46) + ($45))|0; + HEAP32[$6>>2] = $47; + $48 = HEAP32[$5>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + HEAP32[$5>>2] = $50; + } + $51 = ((($39)) + 20|0); + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 32|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$6>>2]|0; + $56 = (($55) + ($54))|0; + HEAP32[$6>>2] = $56; + $57 = HEAP32[$6>>2]|0; + $58 = ($57|0)==(0); + if ($58) { + HEAP32[$4>>2] = 0; + $143 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($143|0); + } + $59 = HEAP32[$6>>2]|0; + $60 = $59<<1; + $61 = (_sqlite3_malloc($60)|0); + HEAP32[$7>>2] = $61; + $62 = HEAP32[$7>>2]|0; + $63 = ($62|0)!=(0|0); + L22: do { + if ($63) { + $65 = HEAP32[$5>>2]|0; + $66 = ((($65)) + 20|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($67)) + 28|0); + $69 = HEAP32[$68>>2]|0; + HEAP32[$8>>2] = $69; + $70 = HEAP32[$5>>2]|0; + $71 = ((($70)) + 20|0); + $72 = HEAP32[$71>>2]|0; + $73 = ((($72)) + 64|0); + $74 = HEAP32[$73>>2]|0; + HEAP32[$9>>2] = $74; + $75 = HEAP32[$5>>2]|0; + $76 = ((($75)) + 8|0); + $77 = HEAP32[$76>>2]|0; + HEAP32[$5>>2] = $77; + while(1) { + $78 = HEAP32[$4>>2]|0; + $79 = ($78|0)!=(0); + $80 = HEAP32[$5>>2]|0; + $81 = ($80|0)!=(0|0); + $or$cond = $79 & $81; + if (!($or$cond)) { + break; + } + $82 = HEAP32[$5>>2]|0; + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)==(1); + if (!($84)) { + break; + } + $85 = HEAP32[$5>>2]|0; + $86 = ((($85)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($87)) + 20|0); + $89 = HEAP32[$88>>2]|0; + HEAP32[$10>>2] = $89; + $90 = HEAP32[$5>>2]|0; + $91 = ((($90)) + 4|0); + $92 = HEAP32[$91>>2]|0; + HEAP32[$11>>2] = $92; + $93 = HEAP32[$11>>2]|0; + $94 = HEAP32[$7>>2]|0; + $95 = HEAP32[$10>>2]|0; + $96 = (_fts3EvalNearTrim($93,$94,$8,$9,$95)|0); + HEAP32[$4>>2] = $96; + $97 = HEAP32[$5>>2]|0; + $98 = ((($97)) + 8|0); + $99 = HEAP32[$98>>2]|0; + HEAP32[$5>>2] = $99; + } + $100 = HEAP32[$2>>2]|0; + $101 = ((($100)) + 16|0); + $102 = HEAP32[$101>>2]|0; + $103 = ((($102)) + 20|0); + $104 = HEAP32[$103>>2]|0; + $105 = ((($104)) + 28|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$8>>2] = $106; + $107 = HEAP32[$2>>2]|0; + $108 = ((($107)) + 16|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($109)) + 20|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($111)) + 64|0); + $113 = HEAP32[$112>>2]|0; + HEAP32[$9>>2] = $113; + $114 = HEAP32[$2>>2]|0; + $115 = ((($114)) + 12|0); + $116 = HEAP32[$115>>2]|0; + HEAP32[$5>>2] = $116; + while(1) { + $117 = HEAP32[$5>>2]|0; + $118 = ($117|0)!=(0|0); + $119 = HEAP32[$4>>2]|0; + $120 = ($119|0)!=(0); + $121 = $118 ? $120 : 0; + if (!($121)) { + break L22; + } + $122 = HEAP32[$5>>2]|0; + $123 = ((($122)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ((($124)) + 4|0); + $126 = HEAP32[$125>>2]|0; + HEAP32[$12>>2] = $126; + $127 = HEAP32[$5>>2]|0; + $128 = HEAP32[$127>>2]|0; + $129 = ($128|0)==(1); + $130 = HEAP32[$5>>2]|0; + if ($129) { + $131 = ((($130)) + 16|0); + $132 = HEAP32[$131>>2]|0; + $$sink2 = $132; + } else { + $$sink2 = $130; + } + $133 = ((($$sink2)) + 20|0); + $134 = HEAP32[$133>>2]|0; + HEAP32[$13>>2] = $134; + $135 = HEAP32[$12>>2]|0; + $136 = HEAP32[$7>>2]|0; + $137 = HEAP32[$13>>2]|0; + $138 = (_fts3EvalNearTrim($135,$136,$8,$9,$137)|0); + HEAP32[$4>>2] = $138; + $139 = HEAP32[$5>>2]|0; + $140 = ((($139)) + 12|0); + $141 = HEAP32[$140>>2]|0; + HEAP32[$5>>2] = $141; + } + } else { + $64 = HEAP32[$3>>2]|0; + HEAP32[$64>>2] = 7; + HEAP32[$4>>2] = 0; + } + } while(0); + $142 = HEAP32[$7>>2]|0; + _sqlite3_free($142); + $143 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($143|0); +} +function _fts3EvalDeferredPhrase($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink3 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $2 = sp + 76|0; + $3 = sp + 72|0; + $4 = sp + 68|0; + $5 = sp + 64|0; + $6 = sp + 60|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp + 36|0; + $13 = sp + 32|0; + $14 = sp + 28|0; + $15 = sp + 24|0; + $16 = sp + 20|0; + $17 = sp + 16|0; + $18 = sp + 12|0; + $19 = sp + 8|0; + $20 = sp + 4|0; + $21 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = -1; + HEAP32[$5>>2] = 0; + while(1) { + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 64|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($22|0)<($25|0); + if (!($26)) { + label = 14; + break; + } + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 72|0); + $29 = HEAP32[$5>>2]|0; + $30 = (($28) + (($29*24)|0)|0); + HEAP32[$9>>2] = $30; + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 16|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$10>>2] = $33; + $34 = HEAP32[$10>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = HEAP32[$10>>2]|0; + $37 = (_sqlite3Fts3DeferredTokenList($36,$11,$12)|0); + HEAP32[$13>>2] = $37; + $38 = HEAP32[$13>>2]|0; + $39 = ($38|0)!=(0); + if ($39) { + label = 5; + break; + } + $41 = HEAP32[$11>>2]|0; + $42 = ($41|0)==(0|0); + $43 = HEAP32[$6>>2]|0; + if ($42) { + label = 7; + break; + } + $48 = ($43|0)==(0|0); + $49 = HEAP32[$11>>2]|0; + if ($48) { + HEAP32[$6>>2] = $49; + $50 = HEAP32[$12>>2]|0; + HEAP32[$7>>2] = $50; + } else { + HEAP32[$14>>2] = $49; + $51 = HEAP32[$6>>2]|0; + HEAP32[$15>>2] = $51; + $52 = HEAP32[$14>>2]|0; + HEAP32[$16>>2] = $52; + $53 = HEAP32[$5>>2]|0; + $54 = HEAP32[$8>>2]|0; + $55 = (($53) - ($54))|0; + (_fts3PoslistPhraseMerge($14,$55,0,1,$15,$16)|0); + $56 = HEAP32[$6>>2]|0; + _sqlite3_free($56); + $57 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $57; + $58 = HEAP32[$14>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = $58; + $61 = $59; + $62 = (($60) - ($61))|0; + HEAP32[$7>>2] = $62; + $63 = HEAP32[$7>>2]|0; + $64 = ($63|0)==(0); + if ($64) { + label = 11; + break; + } + } + $70 = HEAP32[$5>>2]|0; + HEAP32[$8>>2] = $70; + } + $71 = HEAP32[$5>>2]|0; + $72 = (($71) + 1)|0; + HEAP32[$5>>2] = $72; + } + if ((label|0) == 5) { + $40 = HEAP32[$13>>2]|0; + HEAP32[$2>>2] = $40; + $147 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($147|0); + } + else if ((label|0) == 7) { + _sqlite3_free($43); + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 32|0); + HEAP32[$47>>2] = 0; + HEAP32[$2>>2] = 0; + $147 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($147|0); + } + else if ((label|0) == 11) { + $65 = HEAP32[$6>>2]|0; + _sqlite3_free($65); + $66 = HEAP32[$4>>2]|0; + $67 = ((($66)) + 28|0); + HEAP32[$67>>2] = 0; + $68 = HEAP32[$4>>2]|0; + $69 = ((($68)) + 32|0); + HEAP32[$69>>2] = 0; + HEAP32[$2>>2] = 0; + $147 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($147|0); + } + else if ((label|0) == 14) { + $73 = HEAP32[$8>>2]|0; + $74 = ($73|0)>=(0); + do { + if ($74) { + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 44|0); + $77 = HEAP32[$76>>2]|0; + HEAP32[$17>>2] = $77; + $78 = HEAP32[$17>>2]|0; + $79 = ($78|0)<(0); + if ($79) { + $80 = HEAP32[$6>>2]|0; + $81 = HEAP32[$4>>2]|0; + $82 = ((($81)) + 28|0); + HEAP32[$82>>2] = $80; + $83 = HEAP32[$7>>2]|0; + $84 = HEAP32[$4>>2]|0; + $85 = ((($84)) + 32|0); + HEAP32[$85>>2] = $83; + $86 = HEAP32[$3>>2]|0; + $87 = ((($86)) + 32|0); + $88 = $87; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$4>>2]|0; + $95 = ((($94)) + 16|0); + $96 = $95; + $97 = $96; + HEAP32[$97>>2] = $90; + $98 = (($96) + 4)|0; + $99 = $98; + HEAP32[$99>>2] = $93; + $100 = HEAP32[$4>>2]|0; + $101 = ((($100)) + 24|0); + HEAP32[$101>>2] = 1; + break; + } + $102 = HEAP32[$17>>2]|0; + $103 = HEAP32[$8>>2]|0; + $104 = ($102|0)>($103|0); + if ($104) { + $105 = HEAP32[$6>>2]|0; + HEAP32[$19>>2] = $105; + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 28|0); + $108 = HEAP32[$107>>2]|0; + HEAP32[$20>>2] = $108; + $109 = HEAP32[$17>>2]|0; + $110 = HEAP32[$8>>2]|0; + $111 = (($109) - ($110))|0; + HEAP32[$18>>2] = $111; + } else { + $112 = HEAP32[$4>>2]|0; + $113 = ((($112)) + 28|0); + $114 = HEAP32[$113>>2]|0; + HEAP32[$19>>2] = $114; + $115 = HEAP32[$6>>2]|0; + HEAP32[$20>>2] = $115; + $116 = HEAP32[$8>>2]|0; + $117 = HEAP32[$17>>2]|0; + $118 = (($116) - ($117))|0; + HEAP32[$18>>2] = $118; + } + $119 = HEAP32[$7>>2]|0; + $120 = (($119) + 8)|0; + $121 = (_sqlite3_malloc($120)|0); + HEAP32[$21>>2] = $121; + $122 = HEAP32[$21>>2]|0; + $123 = ($122|0)!=(0|0); + if (!($123)) { + $124 = HEAP32[$6>>2]|0; + _sqlite3_free($124); + HEAP32[$2>>2] = 7; + $147 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($147|0); + } + $125 = HEAP32[$21>>2]|0; + $126 = HEAP32[$4>>2]|0; + $127 = ((($126)) + 28|0); + HEAP32[$127>>2] = $125; + $128 = HEAP32[$18>>2]|0; + $129 = (_fts3PoslistPhraseMerge($21,$128,0,1,$19,$20)|0); + $130 = ($129|0)!=(0); + if ($130) { + $131 = HEAP32[$4>>2]|0; + $132 = ((($131)) + 24|0); + HEAP32[$132>>2] = 1; + $133 = HEAP32[$21>>2]|0; + $134 = HEAP32[$4>>2]|0; + $135 = ((($134)) + 28|0); + $136 = HEAP32[$135>>2]|0; + $137 = $133; + $138 = $136; + $139 = (($137) - ($138))|0; + $140 = HEAP32[$4>>2]|0; + $$sink = $139;$$sink3 = $140; + } else { + $141 = HEAP32[$21>>2]|0; + _sqlite3_free($141); + $142 = HEAP32[$4>>2]|0; + $143 = ((($142)) + 28|0); + HEAP32[$143>>2] = 0; + $144 = HEAP32[$4>>2]|0; + $$sink = 0;$$sink3 = $144; + } + $145 = ((($$sink3)) + 32|0); + HEAP32[$145>>2] = $$sink; + $146 = HEAP32[$6>>2]|0; + _sqlite3_free($146); + } + } while(0); + HEAP32[$2>>2] = 0; + $147 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($147|0); + } + return (0)|0; +} +function _sqlite3Fts3DeferredTokenList($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $10 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = 0; + $11 = HEAP32[$6>>2]|0; + HEAP32[$11>>2] = 0; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$3>>2] = 0; + $48 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($48|0); + } + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_malloc($19)|0); + HEAP32[$7>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3Fts3GetVarint($27,$9)|0); + HEAP32[$8>>2] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = (($32) - ($33))|0; + $35 = HEAP32[$6>>2]|0; + HEAP32[$35>>2] = $34; + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$5>>2]|0; + HEAP32[$37>>2] = $36; + $38 = HEAP32[$7>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 12|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = (($43) + ($44)|0); + $46 = HEAP32[$6>>2]|0; + $47 = HEAP32[$46>>2]|0; + _memcpy(($38|0),($45|0),($47|0))|0; + HEAP32[$3>>2] = 0; + $48 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($48|0); + } else { + HEAP32[$3>>2] = 7; + $48 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($48|0); + } + return (0)|0; +} +function _fts3EvalNearTrim($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$9>>2]|0; + $18 = ((($17)) + 64|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($16) + ($19))|0; + HEAP32[$10>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + ($23))|0; + HEAP32[$11>>2] = $24; + $25 = HEAP32[$9>>2]|0; + $26 = ((($25)) + 28|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$14>>2] = $27; + HEAP32[$13>>2] = $27; + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$10>>2]|0; + $30 = HEAP32[$11>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = (_fts3PoslistNearMerge($14,$28,$29,$30,$31,$13)|0); + HEAP32[$15>>2] = $32; + $33 = HEAP32[$15>>2]|0; + $34 = ($33|0)!=(0); + if (!($34)) { + $64 = HEAP32[$15>>2]|0; + STACKTOP = sp;return ($64|0); + } + $35 = HEAP32[$14>>2]|0; + $36 = HEAP32[$9>>2]|0; + $37 = ((($36)) + 28|0); + $38 = HEAP32[$37>>2]|0; + $39 = $35; + $40 = $38; + $41 = (($39) - ($40))|0; + $42 = (($41) - 1)|0; + HEAP32[$12>>2] = $42; + $43 = HEAP32[$9>>2]|0; + $44 = ((($43)) + 28|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$12>>2]|0; + $47 = (($45) + ($46)|0); + $48 = HEAP32[$9>>2]|0; + $49 = ((($48)) + 32|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$12>>2]|0; + $52 = (($50) - ($51))|0; + _memset(($47|0),0,($52|0))|0; + $53 = HEAP32[$12>>2]|0; + $54 = HEAP32[$9>>2]|0; + $55 = ((($54)) + 32|0); + HEAP32[$55>>2] = $53; + $56 = HEAP32[$9>>2]|0; + $57 = ((($56)) + 28|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$7>>2]|0; + HEAP32[$59>>2] = $58; + $60 = HEAP32[$9>>2]|0; + $61 = ((($60)) + 64|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$8>>2]|0; + HEAP32[$63>>2] = $62; + $64 = HEAP32[$15>>2]|0; + STACKTOP = sp;return ($64|0); +} +function _fts3PoslistNearMerge($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $18 = HEAP32[$10>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$12>>2] = $19; + $20 = HEAP32[$11>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$13>>2] = $21; + $22 = HEAP32[$7>>2]|0; + HEAP32[$14>>2] = $22; + HEAP32[$17>>2] = 1; + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[$10>>2]|0; + $25 = HEAP32[$11>>2]|0; + (_fts3PoslistPhraseMerge($14,$23,0,0,$24,$25)|0); + $26 = HEAP32[$14>>2]|0; + HEAP32[$15>>2] = $26; + HEAP32[$16>>2] = $26; + $27 = HEAP32[$12>>2]|0; + $28 = HEAP32[$10>>2]|0; + HEAP32[$28>>2] = $27; + $29 = HEAP32[$13>>2]|0; + $30 = HEAP32[$11>>2]|0; + HEAP32[$30>>2] = $29; + $31 = HEAP32[$9>>2]|0; + $32 = HEAP32[$11>>2]|0; + $33 = HEAP32[$10>>2]|0; + (_fts3PoslistPhraseMerge($15,$31,1,0,$32,$33)|0); + $34 = HEAP32[$14>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = ($34|0)!=($35|0); + if ($36) { + $37 = HEAP32[$15>>2]|0; + $38 = HEAP32[$16>>2]|0; + $39 = ($37|0)!=($38|0); + if ($39) { + $40 = HEAP32[$6>>2]|0; + _fts3PoslistMerge($40,$7,$16); + $49 = HEAP32[$17>>2]|0; + STACKTOP = sp;return ($49|0); + } + } + $41 = HEAP32[$14>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = ($41|0)!=($42|0); + if ($43) { + $44 = HEAP32[$6>>2]|0; + _fts3PoslistCopy($44,$7); + $49 = HEAP32[$17>>2]|0; + STACKTOP = sp;return ($49|0); + } + $45 = HEAP32[$15>>2]|0; + $46 = HEAP32[$16>>2]|0; + $47 = ($45|0)!=($46|0); + if ($47) { + $48 = HEAP32[$6>>2]|0; + _fts3PoslistCopy($48,$16); + $49 = HEAP32[$17>>2]|0; + STACKTOP = sp;return ($49|0); + } else { + HEAP32[$17>>2] = 0; + $49 = HEAP32[$17>>2]|0; + STACKTOP = sp;return ($49|0); + } + return (0)|0; +} +function _sqlite3Fts3OpenTokenizer($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$10>>2] = $14; + HEAP32[$11>>2] = 0; + $15 = HEAP32[$10>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = HEAP32[$8>>2]|0; + $21 = (FUNCTION_TABLE_iiiii[$17 & 255]($18,$19,$20,$11)|0); + HEAP32[$12>>2] = $21; + $22 = HEAP32[$12>>2]|0; + $23 = ($22|0)==(0); + if ($23) { + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$11>>2]|0; + HEAP32[$25>>2] = $24; + $26 = HEAP32[$10>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)>=(1); + if ($28) { + $29 = HEAP32[$10>>2]|0; + $30 = ((($29)) + 24|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$11>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = (FUNCTION_TABLE_iii[$31 & 255]($32,$33)|0); + HEAP32[$12>>2] = $34; + $35 = HEAP32[$12>>2]|0; + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$10>>2]|0; + $38 = ((($37)) + 16|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$11>>2]|0; + (FUNCTION_TABLE_ii[$39 & 255]($40)|0); + HEAP32[$11>>2] = 0; + } + } + } + $41 = HEAP32[$11>>2]|0; + $42 = HEAP32[$9>>2]|0; + HEAP32[$42>>2] = $41; + $43 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($43|0); +} +function _fts3PendingListAppend($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 24|0; + $11 = sp + 16|0; + $12 = sp + 8|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp; + HEAP32[$9>>2] = $0; + $17 = $10; + $18 = $17; + HEAP32[$18>>2] = $1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $2; + $21 = $11; + $22 = $21; + HEAP32[$22>>2] = $3; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $4; + $25 = $12; + $26 = $25; + HEAP32[$26>>2] = $5; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $6; + HEAP32[$13>>2] = $7; + $29 = HEAP32[$9>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$14>>2] = $30; + HEAP32[$15>>2] = 0; + $31 = HEAP32[$14>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = HEAP32[$14>>2]|0; + $34 = ((($33)) + 16|0); + $35 = $34; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = $10; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = ($37|0)!=($43|0); + $48 = ($40|0)!=($46|0); + $49 = $47 | $48; + if ($49) { + label = 3; + } else { + label = 9; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $50 = $10; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$14>>2]|0; + $57 = ($56|0)!=(0|0); + if ($57) { + $58 = HEAP32[$14>>2]|0; + $59 = ((($58)) + 16|0); + $60 = $59; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = $62;$67 = $65; + } else { + $66 = 0;$67 = 0; + } + $68 = (_i64Subtract(($52|0),($55|0),($66|0),($67|0))|0); + $69 = tempRet0; + $70 = $16; + $71 = $70; + HEAP32[$71>>2] = $68; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = HEAP32[$14>>2]|0; + $75 = ($74|0)!=(0|0); + if ($75) { + $76 = HEAP32[$14>>2]|0; + $77 = HEAP32[$76>>2]|0; + $78 = (($77) + 1)|0; + HEAP32[$76>>2] = $78; + } + $79 = $16; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = (($79) + 4)|0; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (_fts3PendingListAppendVarint($14,$81,$84)|0); + HEAP32[$15>>2] = $85; + $86 = (0)!=($85|0); + if (!($86)) { + $87 = HEAP32[$14>>2]|0; + $88 = ((($87)) + 24|0); + $89 = $88; + $90 = $89; + HEAP32[$90>>2] = -1; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = -1; + $93 = HEAP32[$14>>2]|0; + $94 = ((($93)) + 32|0); + $95 = $94; + $96 = $95; + HEAP32[$96>>2] = 0; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = 0; + $99 = $10; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = (($99) + 4)|0; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$14>>2]|0; + $106 = ((($105)) + 16|0); + $107 = $106; + $108 = $107; + HEAP32[$108>>2] = $101; + $109 = (($107) + 4)|0; + $110 = $109; + HEAP32[$110>>2] = $104; + label = 9; + } + } + do { + if ((label|0) == 9) { + $111 = $11; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (($111) + 4)|0; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = ($116|0)>(0); + $118 = ($113>>>0)>(0); + $119 = ($116|0)==(0); + $120 = $119 & $118; + $121 = $117 | $120; + if ($121) { + $122 = HEAP32[$14>>2]|0; + $123 = ((($122)) + 24|0); + $124 = $123; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (($124) + 4)|0; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = $11; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = ($126|0)!=($132|0); + $137 = ($129|0)!=($135|0); + $138 = $136 | $137; + if ($138) { + $139 = (_fts3PendingListAppendVarint($14,1,0)|0); + HEAP32[$15>>2] = $139; + $140 = (0)!=($139|0); + if ($140) { + break; + } + $141 = $11; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = (($141) + 4)|0; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (_fts3PendingListAppendVarint($14,$143,$146)|0); + HEAP32[$15>>2] = $147; + $148 = (0)!=($147|0); + if ($148) { + break; + } + $149 = $11; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$14>>2]|0; + $156 = ((($155)) + 24|0); + $157 = $156; + $158 = $157; + HEAP32[$158>>2] = $151; + $159 = (($157) + 4)|0; + $160 = $159; + HEAP32[$160>>2] = $154; + $161 = HEAP32[$14>>2]|0; + $162 = ((($161)) + 32|0); + $163 = $162; + $164 = $163; + HEAP32[$164>>2] = 0; + $165 = (($163) + 4)|0; + $166 = $165; + HEAP32[$166>>2] = 0; + } + } + $167 = $11; + $168 = $167; + $169 = HEAP32[$168>>2]|0; + $170 = (($167) + 4)|0; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)>(0); + $174 = ($169>>>0)>=(0); + $175 = ($172|0)==(0); + $176 = $175 & $174; + $177 = $173 | $176; + if ($177) { + $178 = $12; + $179 = $178; + $180 = HEAP32[$179>>2]|0; + $181 = (($178) + 4)|0; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = (_i64Add(2,0,($180|0),($183|0))|0); + $185 = tempRet0; + $186 = HEAP32[$14>>2]|0; + $187 = ((($186)) + 32|0); + $188 = $187; + $189 = $188; + $190 = HEAP32[$189>>2]|0; + $191 = (($188) + 4)|0; + $192 = $191; + $193 = HEAP32[$192>>2]|0; + $194 = (_i64Subtract(($184|0),($185|0),($190|0),($193|0))|0); + $195 = tempRet0; + $196 = (_fts3PendingListAppendVarint($14,$194,$195)|0); + HEAP32[$15>>2] = $196; + $197 = HEAP32[$15>>2]|0; + $198 = ($197|0)==(0); + if ($198) { + $199 = $12; + $200 = $199; + $201 = HEAP32[$200>>2]|0; + $202 = (($199) + 4)|0; + $203 = $202; + $204 = HEAP32[$203>>2]|0; + $205 = HEAP32[$14>>2]|0; + $206 = ((($205)) + 32|0); + $207 = $206; + $208 = $207; + HEAP32[$208>>2] = $201; + $209 = (($207) + 4)|0; + $210 = $209; + HEAP32[$210>>2] = $204; + } + } + } + } while(0); + $211 = HEAP32[$15>>2]|0; + $212 = HEAP32[$13>>2]|0; + HEAP32[$212>>2] = $211; + $213 = HEAP32[$14>>2]|0; + $214 = HEAP32[$9>>2]|0; + $215 = HEAP32[$214>>2]|0; + $216 = ($213|0)!=($215|0); + if ($216) { + $217 = HEAP32[$14>>2]|0; + $218 = HEAP32[$9>>2]|0; + HEAP32[$218>>2] = $217; + HEAP32[$8>>2] = 1; + $219 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($219|0); + } else { + HEAP32[$8>>2] = 0; + $219 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($219|0); + } + return (0)|0; +} +function _fts3PendingListAppendVarint($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp; + $6 = sp + 12|0; + $7 = sp + 8|0; + HEAP32[$4>>2] = $0; + $8 = $5; + $9 = $8; + HEAP32[$9>>2] = $1; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $2; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $13; + $14 = HEAP32[$6>>2]|0; + $15 = ($14|0)!=(0|0); + do { + if ($15) { + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + 10)|0; + $29 = (($28) + 1)|0; + $30 = HEAP32[$6>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($29|0)>($32|0); + if ($33) { + $34 = HEAP32[$6>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + $37 = $36<<1; + HEAP32[$7>>2] = $37; + $38 = HEAP32[$6>>2]|0; + $39 = HEAP32[$7>>2]|0; + $40 = (40 + ($39))|0; + $41 = (_sqlite3_realloc($38,$40)|0); + HEAP32[$6>>2] = $41; + $42 = HEAP32[$6>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + $47 = HEAP32[$7>>2]|0; + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 8|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 40|0); + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 4|0); + HEAP32[$53>>2] = $51; + break; + } + $44 = HEAP32[$4>>2]|0; + $45 = HEAP32[$44>>2]|0; + _sqlite3_free($45); + $46 = HEAP32[$4>>2]|0; + HEAP32[$46>>2] = 0; + HEAP32[$3>>2] = 7; + $78 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($78|0); + } + } else { + $16 = (_sqlite3_malloc(140)|0); + HEAP32[$6>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$20>>2] = 100; + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 40|0); + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 4|0); + HEAP32[$24>>2] = $22; + $25 = HEAP32[$6>>2]|0; + HEAP32[$25>>2] = 0; + break; + } + HEAP32[$3>>2] = 7; + $78 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($78|0); + } + } while(0); + $54 = HEAP32[$6>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + ($58)|0); + $60 = $5; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (_sqlite3Fts3PutVarint($59,$62,$65)|0); + $67 = HEAP32[$6>>2]|0; + $68 = HEAP32[$67>>2]|0; + $69 = (($68) + ($66))|0; + HEAP32[$67>>2] = $69; + $70 = HEAP32[$6>>2]|0; + $71 = ((($70)) + 4|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$6>>2]|0; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + ($74)|0); + HEAP8[$75>>0] = 0; + $76 = HEAP32[$6>>2]|0; + $77 = HEAP32[$4>>2]|0; + HEAP32[$77>>2] = $76; + HEAP32[$3>>2] = 0; + $78 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($78|0); +} +function _fts3CursorSeekStmt($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + do { + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $13; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 216|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$vararg_buffer>>2] = $16; + $17 = (_sqlite3_mprintf(45366,$vararg_buffer)|0); + HEAP32[$7>>2] = $17; + $18 = HEAP32[$7>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 8|0); + $26 = (_sqlite3_prepare_v2($22,$23,-1,$25,0)|0); + HEAP32[$5>>2] = $26; + $27 = HEAP32[$7>>2]|0; + _sqlite3_free($27); + break; + } + HEAP32[$2>>2] = 7; + $33 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($33|0); + } + } while(0); + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$4>>2]|0; + HEAP32[$31>>2] = $30; + $32 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $32; + $33 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($33|0); +} +function _fts3ExprIterate2($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + $12 = HEAP32[$9>>2]|0; + $13 = ($12|0)!=(5); + if (!($13)) { + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = (FUNCTION_TABLE_iiii[$32 & 255]($33,$35,$36)|0); + HEAP32[$8>>2] = $37; + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$38>>2] = $40; + $41 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($41|0); + } + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = (_fts3ExprIterate2($16,$17,$18,$19)|0); + HEAP32[$8>>2] = $20; + $21 = HEAP32[$8>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$9>>2]|0; + $24 = ($23|0)!=(2); + $or$cond = $22 & $24; + if (!($or$cond)) { + $41 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($41|0); + } + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 16|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = (_fts3ExprIterate2($27,$28,$29,$30)|0); + HEAP32[$8>>2] = $31; + $41 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($41|0); +} +function _sqlite3Fts3EvalPhraseStats($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$6>>2] = $10; + HEAP32[$7>>2] = 0; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 34|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)!=(0); + if ($15) { + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(1); + if ($20) { + HEAP32[$8>>2] = 0; + while(1) { + $21 = HEAP32[$8>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 24|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($21|0)<($24|0); + if (!($25)) { + break; + } + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 64|0); + $28 = $27; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$8>>2]|0; + $36 = ($35*3)|0; + $37 = (($36) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAP32[$38>>2] = $30; + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 64|0); + $41 = $40; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$5>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = ($48*3)|0; + $50 = (($49) + 2)|0; + $51 = (($47) + ($50<<2)|0); + HEAP32[$51>>2] = $43; + $52 = HEAP32[$8>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$8>>2] = $53; + } + $92 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($92|0); + } + } + $54 = HEAP32[$3>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = (_fts3EvalGatherStats($54,$55)|0); + HEAP32[$7>>2] = $56; + $57 = HEAP32[$7>>2]|0; + $58 = ($57|0)==(0); + if (!($58)) { + $92 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($92|0); + } + HEAP32[$8>>2] = 0; + while(1) { + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$6>>2]|0; + $61 = ((($60)) + 24|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($59|0)<($62|0); + if (!($63)) { + break; + } + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 40|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$8>>2]|0; + $68 = ($67*3)|0; + $69 = (($68) + 1)|0; + $70 = (($66) + ($69<<2)|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$5>>2]|0; + $73 = HEAP32[$8>>2]|0; + $74 = ($73*3)|0; + $75 = (($74) + 1)|0; + $76 = (($72) + ($75<<2)|0); + HEAP32[$76>>2] = $71; + $77 = HEAP32[$4>>2]|0; + $78 = ((($77)) + 40|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$8>>2]|0; + $81 = ($80*3)|0; + $82 = (($81) + 2)|0; + $83 = (($79) + ($82<<2)|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$5>>2]|0; + $86 = HEAP32[$8>>2]|0; + $87 = ($86*3)|0; + $88 = (($87) + 2)|0; + $89 = (($85) + ($88<<2)|0); + HEAP32[$89>>2] = $84; + $90 = HEAP32[$8>>2]|0; + $91 = (($90) + 1)|0; + HEAP32[$8>>2] = $91; + } + $92 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($92|0); +} +function _fts3EvalGatherStats($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $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; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 44|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 8|0; + $10 = sp; + $11 = sp + 48|0; + $12 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 40|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0|0); + do { + if ($16) { + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$6>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 32|0); + $21 = $20; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = $9; + $28 = $27; + HEAP32[$28>>2] = $23; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $26; + $31 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $31; + while(1) { + $32 = HEAP32[$7>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = HEAP32[$7>>2]|0; + $37 = ((($36)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(1); + $198 = $40; + } else { + $198 = 0; + } + $41 = HEAP32[$7>>2]|0; + if (!($198)) { + break; + } + $42 = ((($41)) + 8|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$7>>2] = $43; + } + $44 = ((($41)) + 24|0); + $45 = $44; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = $10; + $52 = $51; + HEAP32[$52>>2] = $47; + $53 = (($51) + 4)|0; + $54 = $53; + HEAP32[$54>>2] = $50; + $55 = HEAP32[$7>>2]|0; + $56 = ((($55)) + 32|0); + $57 = HEAP8[$56>>0]|0; + HEAP8[$11>>0] = $57; + $58 = HEAP32[$7>>2]|0; + HEAP32[$8>>2] = $58; + while(1) { + $59 = HEAP32[$8>>2]|0; + $60 = ($59|0)!=(0|0); + if (!($60)) { + break; + } + $61 = HEAP32[$8>>2]|0; + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(5); + $64 = HEAP32[$8>>2]|0; + if ($63) { + $67 = $64; + } else { + $65 = ((($64)) + 16|0); + $66 = HEAP32[$65>>2]|0; + $67 = $66; + } + HEAP32[$12>>2] = $67; + $68 = HEAP32[$6>>2]|0; + $69 = ((($68)) + 24|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70*3)|0; + $72 = $71<<2; + $73 = (_sqlite3_malloc($72)|0); + $74 = HEAP32[$12>>2]|0; + $75 = ((($74)) + 40|0); + HEAP32[$75>>2] = $73; + $76 = HEAP32[$12>>2]|0; + $77 = ((($76)) + 40|0); + $78 = HEAP32[$77>>2]|0; + $79 = ($78|0)!=(0|0); + if (!($79)) { + label = 12; + break; + } + $80 = HEAP32[$12>>2]|0; + $81 = ((($80)) + 40|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$6>>2]|0; + $84 = ((($83)) + 24|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85*3)|0; + $87 = $86<<2; + _memset(($82|0),0,($87|0))|0; + $88 = HEAP32[$8>>2]|0; + $89 = ((($88)) + 12|0); + $90 = HEAP32[$89>>2]|0; + HEAP32[$8>>2] = $90; + } + if ((label|0) == 12) { + HEAP32[$2>>2] = 7; + $197 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($197|0); + } + $91 = HEAP32[$3>>2]|0; + $92 = HEAP32[$7>>2]|0; + _fts3EvalRestart($91,$92,$5); + while(1) { + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 6|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = ($96|0)==(0); + $98 = HEAP32[$5>>2]|0; + $99 = ($98|0)==(0); + $100 = $97 ? $99 : 0; + if (!($100)) { + break; + } + while(1) { + $101 = HEAP32[$3>>2]|0; + $102 = ((($101)) + 7|0); + $103 = HEAP8[$102>>0]|0; + $104 = $103&255; + $105 = ($104|0)==(0); + if ($105) { + $106 = HEAP32[$3>>2]|0; + $107 = ((($106)) + 8|0); + $108 = HEAP32[$107>>2]|0; + (_sqlite3_reset($108)|0); + } + $109 = HEAP32[$3>>2]|0; + $110 = HEAP32[$7>>2]|0; + _fts3EvalNextRow($109,$110,$5); + $111 = HEAP32[$7>>2]|0; + $112 = ((($111)) + 32|0); + $113 = HEAP8[$112>>0]|0; + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + 6|0); + HEAP8[$115>>0] = $113; + $116 = HEAP32[$3>>2]|0; + $117 = ((($116)) + 7|0); + HEAP8[$117>>0] = 1; + $118 = HEAP32[$3>>2]|0; + $119 = ((($118)) + 88|0); + HEAP32[$119>>2] = 1; + $120 = HEAP32[$7>>2]|0; + $121 = ((($120)) + 24|0); + $122 = $121; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = (($122) + 4)|0; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$3>>2]|0; + $129 = ((($128)) + 32|0); + $130 = $129; + $131 = $130; + HEAP32[$131>>2] = $124; + $132 = (($130) + 4)|0; + $133 = $132; + HEAP32[$133>>2] = $127; + $134 = HEAP32[$3>>2]|0; + $135 = ((($134)) + 6|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ($137|0)==(0); + if (!($138)) { + break; + } + $139 = HEAP32[$7>>2]|0; + $140 = HEAP32[$139>>2]|0; + $141 = ($140|0)==(1); + if (!($141)) { + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_sqlite3Fts3EvalTestDeferred($142,$5)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + break; + } + } + $145 = HEAP32[$5>>2]|0; + $146 = ($145|0)==(0); + if (!($146)) { + continue; + } + $147 = HEAP32[$3>>2]|0; + $148 = ((($147)) + 6|0); + $149 = HEAP8[$148>>0]|0; + $150 = $149&255; + $151 = ($150|0)==(0); + if (!($151)) { + continue; + } + $152 = HEAP32[$7>>2]|0; + _fts3EvalUpdateCounts($152); + } + $153 = HEAP32[$3>>2]|0; + $154 = ((($153)) + 6|0); + HEAP8[$154>>0] = 0; + $155 = $9; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = (($155) + 4)|0; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = HEAP32[$3>>2]|0; + $162 = ((($161)) + 32|0); + $163 = $162; + $164 = $163; + HEAP32[$164>>2] = $157; + $165 = (($163) + 4)|0; + $166 = $165; + HEAP32[$166>>2] = $160; + $167 = HEAP8[$11>>0]|0; + $168 = ($167<<24>>24)!=(0); + if ($168) { + $169 = HEAP8[$11>>0]|0; + $170 = HEAP32[$7>>2]|0; + $171 = ((($170)) + 32|0); + HEAP8[$171>>0] = $169; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = HEAP32[$7>>2]|0; + _fts3EvalRestart($172,$173,$5); + while(1) { + $174 = HEAP32[$3>>2]|0; + $175 = HEAP32[$7>>2]|0; + _fts3EvalNextRow($174,$175,$5); + $176 = HEAP32[$7>>2]|0; + $177 = ((($176)) + 24|0); + $178 = $177; + $179 = $178; + $180 = HEAP32[$179>>2]|0; + $181 = (($178) + 4)|0; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = $10; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + $187 = (($184) + 4)|0; + $188 = $187; + $189 = HEAP32[$188>>2]|0; + $190 = ($180|0)!=($186|0); + $191 = ($183|0)!=($189|0); + $192 = $190 | $191; + $193 = HEAP32[$5>>2]|0; + $194 = ($193|0)==(0); + $195 = $192 ? $194 : 0; + if (!($195)) { + break; + } + } + } + } while(0); + $196 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $196; + $197 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($197|0); +} +function _fts3EvalUpdateCounts($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp + 20|0; + $6 = sp; + HEAP32[$1>>2] = $0; + $7 = HEAP32[$1>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + STACKTOP = sp;return; + } + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$2>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ($12|0)!=(0|0); + L4: do { + if ($13) { + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 28|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + HEAP32[$3>>2] = 0; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 28|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$4>>2] = $20; + while(1) { + HEAP8[$5>>0] = 0; + HEAP32[$6>>2] = 0; + while(1) { + $21 = HEAP32[$4>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = HEAP8[$5>>0]|0; + $25 = $24&255; + $26 = $23 | $25; + $27 = 254 & $26; + $28 = ($27|0)!=(0); + if (!($28)) { + break; + } + $29 = HEAP8[$5>>0]|0; + $30 = $29&255; + $31 = $30 & 128; + $32 = ($31|0)==(0); + if ($32) { + $33 = HEAP32[$6>>2]|0; + $34 = (($33) + 1)|0; + HEAP32[$6>>2] = $34; + } + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 1|0); + HEAP32[$4>>2] = $36; + $37 = HEAP8[$35>>0]|0; + $38 = $37 << 24 >> 24; + $39 = $38 & 128; + $40 = $39&255; + HEAP8[$5>>0] = $40; + } + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$3>>2]|0; + $46 = ($45*3)|0; + $47 = (($46) + 1)|0; + $48 = (($44) + ($47<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = (($49) + ($41))|0; + HEAP32[$48>>2] = $50; + $51 = HEAP32[$6>>2]|0; + $52 = ($51|0)>(0); + $53 = $52&1; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 40|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$3>>2]|0; + $58 = ($57*3)|0; + $59 = (($58) + 2)|0; + $60 = (($56) + ($59<<2)|0); + $61 = HEAP32[$60>>2]|0; + $62 = (($61) + ($53))|0; + HEAP32[$60>>2] = $62; + $63 = HEAP32[$4>>2]|0; + $64 = HEAP8[$63>>0]|0; + $65 = $64 << 24 >> 24; + $66 = ($65|0)==(0); + if ($66) { + break L4; + } + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 1|0); + HEAP32[$4>>2] = $68; + $69 = HEAP32[$4>>2]|0; + $70 = HEAP8[$69>>0]|0; + $71 = $70&255; + $72 = $71 & 128; + $73 = ($72|0)!=(0); + $74 = HEAP32[$4>>2]|0; + if ($73) { + $75 = (_sqlite3Fts3GetVarint32($74,$3)|0); + $80 = $75; + } else { + $76 = HEAP8[$74>>0]|0; + $77 = $76&255; + HEAP32[$3>>2] = $77; + $80 = 1; + } + $78 = HEAP32[$4>>2]|0; + $79 = (($78) + ($80)|0); + HEAP32[$4>>2] = $79; + } + } + } + } while(0); + $81 = HEAP32[$1>>2]|0; + $82 = ((($81)) + 12|0); + $83 = HEAP32[$82>>2]|0; + _fts3EvalUpdateCounts($83); + $84 = HEAP32[$1>>2]|0; + $85 = ((($84)) + 16|0); + $86 = HEAP32[$85>>2]|0; + _fts3EvalUpdateCounts($86); + STACKTOP = sp;return; +} +function _fts3ExprLHits($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$6>>2] = $15; + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 28|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$7>>2] = $18; + HEAP32[$8>>2] = 0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 24|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21 << 24 >> 24; + $23 = ($22|0)==(121); + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + if ($23) { + $30 = Math_imul($26, $29)|0; + HEAP32[$5>>2] = $30; + } else { + $31 = (($29) + 31)|0; + $32 = (($31|0) / 32)&-1; + $33 = Math_imul($26, $32)|0; + HEAP32[$5>>2] = $33; + } + while(1) { + $34 = (_fts3ColumnlistCount($7)|0); + HEAP32[$9>>2] = $34; + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 68|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($37|0)>=($40|0); + if ($41) { + label = 6; + } else { + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 68|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$8>>2]|0; + $46 = ($44|0)==($45|0); + if ($46) { + label = 6; + } + } + do { + if ((label|0) == 6) { + label = 0; + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 24|0); + $49 = HEAP8[$48>>0]|0; + $50 = $49 << 24 >> 24; + $51 = ($50|0)==(121); + $52 = HEAP32[$9>>2]|0; + if ($51) { + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 28|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$5>>2]|0; + $57 = HEAP32[$8>>2]|0; + $58 = (($56) + ($57))|0; + $59 = (($55) + ($58<<2)|0); + HEAP32[$59>>2] = $52; + break; + } + $60 = ($52|0)!=(0); + if ($60) { + $61 = HEAP32[$8>>2]|0; + $62 = $61 & 31; + $63 = 1 << $62; + $64 = HEAP32[$3>>2]|0; + $65 = ((($64)) + 28|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$5>>2]|0; + $68 = HEAP32[$8>>2]|0; + $69 = (($68) + 1)|0; + $70 = (($69|0) / 32)&-1; + $71 = (($67) + ($70))|0; + $72 = (($66) + ($71<<2)|0); + $73 = HEAP32[$72>>2]|0; + $74 = $73 | $63; + HEAP32[$72>>2] = $74; + } + } + } while(0); + $75 = HEAP32[$7>>2]|0; + $76 = HEAP8[$75>>0]|0; + $77 = $76 << 24 >> 24; + $78 = ($77|0)!=(1); + if ($78) { + break; + } + $79 = HEAP32[$7>>2]|0; + $80 = ((($79)) + 1|0); + HEAP32[$7>>2] = $80; + $81 = HEAP32[$7>>2]|0; + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 & 128; + $85 = ($84|0)!=(0); + $86 = HEAP32[$7>>2]|0; + if ($85) { + $87 = (_sqlite3Fts3GetVarint32($86,$8)|0); + $92 = $87; + } else { + $88 = HEAP8[$86>>0]|0; + $89 = $88&255; + HEAP32[$8>>2] = $89; + $92 = 1; + } + $90 = HEAP32[$7>>2]|0; + $91 = (($90) + ($92)|0); + HEAP32[$7>>2] = $91; + } + STACKTOP = sp;return; +} +function _fts3MatchinfoLcsCb($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; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$6>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = (($9) + ($10<<4)|0); + HEAP32[$11>>2] = $8; + STACKTOP = sp;return 0; +} +function _fts3LcsIteratorAdvance($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp; + $4 = sp + 8|0; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $7; + HEAP32[$4>>2] = 0; + $8 = HEAP32[$2>>2]|0; + $9 = (_sqlite3Fts3GetVarint($8,$3)|0); + $10 = HEAP32[$2>>2]|0; + $11 = (($10) + ($9)|0); + HEAP32[$2>>2] = $11; + $12 = $3; + $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 = $3; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = ($23|0)==(1); + $28 = ($26|0)==(0); + $29 = $27 & $28; + $or$cond = $20 | $29; + if ($or$cond) { + HEAP32[$2>>2] = 0; + HEAP32[$4>>2] = 1; + $42 = HEAP32[$2>>2]|0; + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 8|0); + HEAP32[$44>>2] = $42; + $45 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($45|0); + } else { + $30 = $3; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (_i64Subtract(($32|0),($35|0),2,0)|0); + $37 = tempRet0; + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP32[$39>>2]|0; + $41 = (($40) + ($36))|0; + HEAP32[$39>>2] = $41; + $42 = HEAP32[$2>>2]|0; + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 8|0); + HEAP32[$44>>2] = $42; + $45 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($45|0); + } + return (0)|0; +} +function _fts3ExprLoadDoclistsCb($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$7>>2] = $11; + $12 = HEAP32[$5>>2]|0; + HEAP32[$8>>2] = $12; + $13 = HEAP32[$8>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + 1)|0; + HEAP32[$14>>2] = $16; + $17 = HEAP32[$7>>2]|0; + $18 = ((($17)) + 64|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$8>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($19))|0; + HEAP32[$21>>2] = $23; + $24 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($24|0); +} +function _fts3SelectDocsize($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$4>>2] = $0; + $9 = $5; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = (_fts3SqlStmt($13,21,$7,0)|0); + HEAP32[$8>>2] = $14; + $15 = HEAP32[$8>>2]|0; + $16 = ($15|0)==(0); + do { + if ($16) { + $17 = HEAP32[$7>>2]|0; + $18 = $5; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + (_sqlite3_bind_int64($17,1,$20,$23)|0); + $24 = HEAP32[$7>>2]|0; + $25 = (_sqlite3_step($24)|0); + HEAP32[$8>>2] = $25; + $26 = HEAP32[$8>>2]|0; + $27 = ($26|0)!=(100); + if (!($27)) { + $28 = HEAP32[$7>>2]|0; + $29 = (_sqlite3_column_type($28,0)|0); + $30 = ($29|0)!=(4); + if (!($30)) { + HEAP32[$8>>2] = 0; + break; + } + } + $31 = HEAP32[$7>>2]|0; + $32 = (_sqlite3_reset($31)|0); + HEAP32[$8>>2] = $32; + $33 = HEAP32[$8>>2]|0; + $34 = ($33|0)==(0); + $$ = $34 ? 267 : $32; + HEAP32[$8>>2] = $$; + HEAP32[$7>>2] = 0; + } + } while(0); + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$6>>2]|0; + HEAP32[$36>>2] = $35; + $37 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($37|0); +} +function _sqlite3Fts3SelectDoctotal($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = (_fts3SqlStmt($6,22,$4,0)|0); + HEAP32[$5>>2] = $7; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + do { + if ($9) { + $10 = HEAP32[$4>>2]|0; + (_sqlite3_bind_int($10,1,0)|0); + $11 = HEAP32[$4>>2]|0; + $12 = (_sqlite3_step($11)|0); + $13 = ($12|0)!=(100); + if (!($13)) { + $14 = HEAP32[$4>>2]|0; + $15 = (_sqlite3_column_type($14,0)|0); + $16 = ($15|0)!=(4); + if (!($16)) { + break; + } + } + $17 = HEAP32[$4>>2]|0; + $18 = (_sqlite3_reset($17)|0); + HEAP32[$5>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(0); + $$ = $20 ? 267 : $18; + HEAP32[$5>>2] = $$; + HEAP32[$4>>2] = 0; + } + } while(0); + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$3>>2]|0; + HEAP32[$22>>2] = $21; + $23 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($23|0); +} +function _fts3MIBufferFree($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (0 - ($6))|0; + $8 = (($3) + ($7)|0); + HEAP32[$2>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 16|0); + $12 = ((($11)) + 4|0); + $13 = ($9|0)==($12|0); + $14 = HEAP32[$2>>2]|0; + if ($13) { + $15 = ((($14)) + 1|0); + HEAP8[$15>>0] = 0; + } else { + $16 = ((($14)) + 2|0); + HEAP8[$16>>0] = 0; + } + $17 = HEAP32[$2>>2]|0; + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)==(0); + if (!($20)) { + STACKTOP = sp;return; + } + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = ($24|0)==(0); + if (!($25)) { + STACKTOP = sp;return; + } + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = ($29|0)==(0); + if (!($30)) { + STACKTOP = sp;return; + } + $31 = HEAP32[$2>>2]|0; + _sqlite3_free($31); + STACKTOP = sp;return; +} +function _fts3ExprPhraseCountCb($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; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (($7) + 1)|0; + HEAP32[$6>>2] = $8; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 36|0); + HEAP32[$11>>2] = $9; + STACKTOP = sp;return 0; +} +function _sqlite3Fts3Optimize($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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3_exec($6,45494,0,0,0)|0); + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)==(0); + do { + if ($9) { + $10 = HEAP32[$1>>2]|0; + $11 = (_fts3DoOptimize($10,1)|0); + HEAP32[$2>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ($12|0)==(0); + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)==(101); + $or$cond = $13 | $15; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + if (!($or$cond)) { + (_sqlite3_exec($18,45522,0,0,0)|0); + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + (_sqlite3_exec($25,45509,0,0,0)|0); + break; + } + $19 = (_sqlite3_exec($18,45509,0,0,0)|0); + HEAP32[$3>>2] = $19; + $20 = HEAP32[$3>>2]|0; + $21 = ($20|0)!=(0); + if ($21) { + $22 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $22; + } + } + } while(0); + $26 = HEAP32[$1>>2]|0; + _sqlite3Fts3SegmentsClose($26); + $27 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($27|0); +} +function _fts3DoOptimize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + HEAP32[$6>>2] = 0; + $10 = HEAP32[$2>>2]|0; + $11 = (_fts3SqlStmt($10,27,$6,0)|0); + HEAP32[$5>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)==(0); + if ($13) { + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 272|0); + $17 = HEAP32[$16>>2]|0; + (_sqlite3_bind_int($14,1,$17)|0); + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 248|0); + $21 = HEAP32[$20>>2]|0; + (_sqlite3_bind_int($18,2,$21)|0); + L3: while(1) { + $22 = HEAP32[$6>>2]|0; + $23 = (_sqlite3_step($22)|0); + $24 = ($23|0)==(100); + $25 = HEAP32[$6>>2]|0; + if (!($24)) { + break; + } + $26 = (_sqlite3_column_int($25,0)|0); + HEAP32[$9>>2] = $26; + HEAP32[$8>>2] = 0; + while(1) { + $27 = HEAP32[$5>>2]|0; + $28 = ($27|0)==(0); + if (!($28)) { + continue L3; + } + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 248|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($29|0)<($32|0); + if (!($33)) { + continue L3; + } + $34 = HEAP32[$2>>2]|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$8>>2]|0; + $37 = (_fts3SegmentMerge($34,$35,$36,-2)|0); + HEAP32[$5>>2] = $37; + $38 = HEAP32[$5>>2]|0; + $39 = ($38|0)==(101); + if ($39) { + HEAP32[$4>>2] = 1; + HEAP32[$5>>2] = 0; + } + $40 = HEAP32[$8>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$8>>2] = $41; + } + } + $42 = (_sqlite3_reset($25)|0); + HEAP32[$7>>2] = $42; + $43 = HEAP32[$5>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $45; + } + } + $46 = HEAP32[$2>>2]|0; + _sqlite3Fts3SegmentsClose($46); + $47 = HEAP32[$2>>2]|0; + _sqlite3Fts3PendingTermsClear($47); + $48 = HEAP32[$5>>2]|0; + $49 = ($48|0)==(0); + $50 = HEAP32[$3>>2]|0; + $51 = ($50|0)!=(0); + $or$cond = $49 & $51; + $52 = HEAP32[$4>>2]|0; + $53 = ($52|0)!=(0); + $or$cond3 = $or$cond & $53; + $54 = HEAP32[$5>>2]|0; + $55 = $or$cond3 ? 101 : $54; + STACKTOP = sp;return ($55|0); +} +function _sqlite3Fts3Offsets($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208|0; + $vararg_buffer = sp + 32|0; + $2 = sp + 132|0; + $3 = sp + 128|0; + $4 = sp + 124|0; + $5 = sp + 120|0; + $6 = sp + 116|0; + $7 = sp + 112|0; + $8 = sp + 108|0; + $9 = sp + 96|0; + $10 = sp; + $11 = sp + 92|0; + $12 = sp + 88|0; + $13 = sp + 84|0; + $14 = sp + 80|0; + $15 = sp + 76|0; + $16 = sp + 72|0; + $17 = sp + 68|0; + $18 = sp + 64|0; + $19 = sp + 60|0; + $20 = sp + 56|0; + $21 = sp + 52|0; + $22 = sp + 48|0; + $23 = sp + 136|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$24>>2]|0; + HEAP32[$4>>2] = $25; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 36|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$28>>2]|0; + HEAP32[$5>>2] = $29; + ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0|0); + if (!($33)) { + $34 = HEAP32[$2>>2]|0; + _sqlite3_result_text($34,55752,0,0); + STACKTOP = sp;return; + } + ;HEAP32[$10>>2]=0|0;HEAP32[$10+4>>2]=0|0;HEAP32[$10+8>>2]=0|0;HEAP32[$10+12>>2]=0|0;HEAP32[$10+16>>2]=0|0;HEAP32[$10+20>>2]=0|0;HEAP32[$10+24>>2]=0|0;HEAP32[$10+28>>2]=0|0; + $35 = HEAP32[$3>>2]|0; + $36 = (_fts3ExprLoadDoclists($35,0,$7)|0); + HEAP32[$6>>2] = $36; + $37 = HEAP32[$6>>2]|0; + $38 = ($37|0)!=(0); + L5: do { + if (!($38)) { + $39 = HEAP32[$7>>2]|0; + $40 = ($39*12)|0; + $41 = (_sqlite3_malloc($40)|0); + $42 = ((($10)) + 24|0); + HEAP32[$42>>2] = $41; + $43 = ((($10)) + 24|0); + $44 = HEAP32[$43>>2]|0; + $45 = (0|0)==($44|0); + if ($45) { + HEAP32[$6>>2] = 7; + break; + } + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 32|0); + $48 = $47; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = ((($10)) + 16|0); + $55 = $54; + $56 = $55; + HEAP32[$56>>2] = $50; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $53; + $59 = HEAP32[$3>>2]|0; + HEAP32[$10>>2] = $59; + HEAP32[$8>>2] = 0; + while(1) { + $60 = HEAP32[$8>>2]|0; + $61 = HEAP32[$4>>2]|0; + $62 = ((($61)) + 24|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($60|0)<($63|0); + if (!($64)) { + break L5; + } + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + $65 = HEAP32[$8>>2]|0; + $66 = ((($10)) + 4|0); + HEAP32[$66>>2] = $65; + $67 = ((($10)) + 8|0); + HEAP32[$67>>2] = 0; + $68 = HEAP32[$3>>2]|0; + $69 = ((($68)) + 12|0); + $70 = HEAP32[$69>>2]|0; + (_fts3ExprIterate($70,166,$10)|0); + $71 = HEAP32[$3>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$8>>2]|0; + $75 = (($74) + 1)|0; + $76 = (_sqlite3_column_text($73,$75)|0); + HEAP32[$17>>2] = $76; + $77 = HEAP32[$3>>2]|0; + $78 = ((($77)) + 8|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$8>>2]|0; + $81 = (($80) + 1)|0; + $82 = (_sqlite3_column_bytes($79,$81)|0); + HEAP32[$18>>2] = $82; + $83 = HEAP32[$17>>2]|0; + $84 = ($83|0)==(0|0); + if ($84) { + $85 = HEAP32[$3>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$8>>2]|0; + $89 = (($88) + 1)|0; + $90 = (_sqlite3_column_type($87,$89)|0); + $91 = ($90|0)==(5); + if (!($91)) { + break; + } + } else { + $92 = HEAP32[$4>>2]|0; + $93 = ((($92)) + 36|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$3>>2]|0; + $96 = ((($95)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$17>>2]|0; + $99 = HEAP32[$18>>2]|0; + $100 = (_sqlite3Fts3OpenTokenizer($94,$97,$98,$99,$11)|0); + HEAP32[$6>>2] = $100; + $101 = HEAP32[$6>>2]|0; + $102 = ($101|0)!=(0); + if ($102) { + break L5; + } + $103 = HEAP32[$5>>2]|0; + $104 = ((($103)) + 20|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$11>>2]|0; + $107 = (FUNCTION_TABLE_iiiiiii[$105 & 255]($106,$12,$13,$14,$15,$16)|0); + HEAP32[$6>>2] = $107; + while(1) { + $108 = HEAP32[$6>>2]|0; + $109 = ($108|0)==(0); + if (!($109)) { + break; + } + HEAP32[$20>>2] = 2147483647; + HEAP32[$21>>2] = 0; + HEAP32[$19>>2] = 0; + while(1) { + $110 = HEAP32[$19>>2]|0; + $111 = HEAP32[$7>>2]|0; + $112 = ($110|0)<($111|0); + if (!($112)) { + break; + } + $113 = ((($10)) + 24|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$19>>2]|0; + $116 = (($114) + (($115*12)|0)|0); + HEAP32[$22>>2] = $116; + $117 = HEAP32[$22>>2]|0; + $118 = HEAP32[$117>>2]|0; + $119 = ($118|0)!=(0|0); + if ($119) { + $120 = HEAP32[$22>>2]|0; + $121 = ((($120)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$22>>2]|0; + $124 = ((($123)) + 8|0); + $125 = HEAP32[$124>>2]|0; + $126 = (($122) - ($125))|0; + $127 = HEAP32[$20>>2]|0; + $128 = ($126|0)<($127|0); + if ($128) { + $129 = HEAP32[$22>>2]|0; + $130 = ((($129)) + 4|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$22>>2]|0; + $133 = ((($132)) + 8|0); + $134 = HEAP32[$133>>2]|0; + $135 = (($131) - ($134))|0; + HEAP32[$20>>2] = $135; + $136 = HEAP32[$22>>2]|0; + HEAP32[$21>>2] = $136; + } } - case 14: { - $110 = HEAP32[$pOp>>2]|0; - $111 = ((($110)) + 4|0); - $112 = HEAP32[$111>>2]|0; - $113 = HEAP32[$aMem>>2]|0; - $114 = (($113) + (($112*40)|0)|0); - HEAP32[$pIn1>>2] = $114; - $115 = HEAP32[$pIn1>>2]|0; - $116 = ((($115)) + 8|0); - HEAP16[$116>>1] = 4; - $117 = HEAP32[$pOp>>2]|0; - $118 = HEAP32[$aOp>>2]|0; - $119 = $117; - $120 = $118; - $121 = (($119) - ($120))|0; - $122 = (($121|0) / 20)&-1; - $123 = ($122|0)<(0); - $124 = $123 << 31 >> 31; - $125 = HEAP32[$pIn1>>2]|0; - $126 = $125; - $127 = $126; - HEAP32[$127>>2] = $122; - $128 = (($126) + 4)|0; - $129 = $128; - HEAP32[$129>>2] = $124; - label = 14; + $137 = HEAP32[$19>>2]|0; + $138 = (($137) + 1)|0; + HEAP32[$19>>2] = $138; + } + $139 = HEAP32[$21>>2]|0; + $140 = ($139|0)!=(0|0); + if (!($140)) { + HEAP32[$6>>2] = 101; + continue; + } + $141 = HEAP32[$21>>2]|0; + $142 = HEAP32[$141>>2]|0; + $143 = HEAP8[$142>>0]|0; + $144 = $143 << 24 >> 24; + $145 = 254 & $144; + $146 = (0)==($145|0); + $147 = HEAP32[$21>>2]|0; + if ($146) { + HEAP32[$147>>2] = 0; + } else { + $148 = HEAP32[$21>>2]|0; + $149 = ((($148)) + 4|0); + _fts3GetDeltaPosition($147,$149); + } + while(1) { + $150 = HEAP32[$6>>2]|0; + $151 = ($150|0)==(0); + if (!($151)) { break; } - case 72: { - $136 = HEAP32[$pOp>>2]|0; - $137 = ((($136)) + 4|0); - $138 = HEAP32[$137>>2]|0; - $139 = HEAP32[$aMem>>2]|0; - $140 = (($139) + (($138*40)|0)|0); - HEAP32[$pIn1>>2] = $140; - $141 = HEAP32[$pIn1>>2]|0; - $142 = $141; - $143 = $142; - $144 = HEAP32[$143>>2]|0; - $145 = (($142) + 4)|0; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$aOp>>2]|0; - $149 = (($148) + (($144*20)|0)|0); - HEAP32[$pOp>>2] = $149; - $150 = HEAP32[$pIn1>>2]|0; - $151 = ((($150)) + 8|0); - HEAP16[$151>>1] = 128; + $152 = HEAP32[$16>>2]|0; + $153 = HEAP32[$20>>2]|0; + $154 = ($152|0)<($153|0); + if (!($154)) { break; } - case 15: { - $152 = HEAP32[$pOp>>2]|0; - $153 = ((($152)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = HEAP32[$aMem>>2]|0; - $156 = (($155) + (($154*40)|0)|0); - HEAP32[$pOut>>2] = $156; - $157 = HEAP32[$pOp>>2]|0; - $158 = ((($157)) + 12|0); - $159 = HEAP32[$158>>2]|0; - $160 = (($159) - 1)|0; - $161 = ($160|0)<(0); - $162 = $161 << 31 >> 31; - $163 = HEAP32[$pOut>>2]|0; - $164 = $163; - $165 = $164; - HEAP32[$165>>2] = $160; - $166 = (($164) + 4)|0; - $167 = $166; - HEAP32[$167>>2] = $162; - $168 = HEAP32[$pOut>>2]|0; - $169 = ((($168)) + 8|0); - HEAP16[$169>>1] = 4; - $170 = HEAP32[$pOp>>2]|0; - $171 = ((($170)) + 8|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)!=(0); - if ($173) { - label = 14; + $155 = HEAP32[$5>>2]|0; + $156 = ((($155)) + 20|0); + $157 = HEAP32[$156>>2]|0; + $158 = HEAP32[$11>>2]|0; + $159 = (FUNCTION_TABLE_iiiiiii[$157 & 255]($158,$12,$13,$14,$15,$16)|0); + HEAP32[$6>>2] = $159; + } + $160 = HEAP32[$6>>2]|0; + $161 = ($160|0)==(0); + if ($161) { + $162 = HEAP32[$8>>2]|0; + $163 = HEAP32[$21>>2]|0; + $164 = ((($10)) + 24|0); + $165 = HEAP32[$164>>2]|0; + $166 = $163; + $167 = $165; + $168 = (($166) - ($167))|0; + $169 = (($168|0) / 12)&-1; + $170 = HEAP32[$14>>2]|0; + $171 = HEAP32[$15>>2]|0; + $172 = HEAP32[$14>>2]|0; + $173 = (($171) - ($172))|0; + HEAP32[$vararg_buffer>>2] = $162; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $169; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $170; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $173; + (_sqlite3_snprintf(64,$23,45539,$vararg_buffer)|0); + $174 = (_fts3StringAppend($9,$23,-1)|0); + HEAP32[$6>>2] = $174; + continue; + } + $175 = HEAP32[$6>>2]|0; + $176 = ($175|0)==(101); + if (!($176)) { + continue; + } + $177 = HEAP32[$4>>2]|0; + $178 = ((($177)) + 40|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if (!($180)) { + continue; + } + HEAP32[$6>>2] = 267; + } + $181 = HEAP32[$6>>2]|0; + $182 = ($181|0)==(101); + if ($182) { + HEAP32[$6>>2] = 0; + } + $183 = HEAP32[$5>>2]|0; + $184 = ((($183)) + 16|0); + $185 = HEAP32[$184>>2]|0; + $186 = HEAP32[$11>>2]|0; + (FUNCTION_TABLE_ii[$185 & 255]($186)|0); + $187 = HEAP32[$6>>2]|0; + $188 = ($187|0)!=(0); + if ($188) { + break L5; + } + } + $189 = HEAP32[$8>>2]|0; + $190 = (($189) + 1)|0; + HEAP32[$8>>2] = $190; + } + HEAP32[$6>>2] = 7; + } + } while(0); + $191 = ((($10)) + 24|0); + $192 = HEAP32[$191>>2]|0; + _sqlite3_free($192); + $193 = HEAP32[$4>>2]|0; + _sqlite3Fts3SegmentsClose($193); + $194 = HEAP32[$6>>2]|0; + $195 = ($194|0)!=(0); + $196 = HEAP32[$2>>2]|0; + if ($195) { + $197 = HEAP32[$6>>2]|0; + _sqlite3_result_error_code($196,$197); + $198 = HEAP32[$9>>2]|0; + _sqlite3_free($198); + STACKTOP = sp;return; + } else { + $199 = HEAP32[$9>>2]|0; + $200 = ((($9)) + 4|0); + $201 = HEAP32[$200>>2]|0; + $202 = (($201) - 1)|0; + _sqlite3_result_text($196,$199,$202,157); + STACKTOP = sp;return; + } +} +function _fts3ExprTermOffsetInit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $13 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $13; + HEAP32[$10>>2] = 0; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3Fts3EvalPhrasePoslist($15,$16,$19,$9)|0); + HEAP32[$11>>2] = $20; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 64|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$7>>2] = $25; + $26 = HEAP32[$9>>2]|0; + $27 = ($26|0)!=(0|0); + if ($27) { + _fts3GetDeltaPosition($9,$10); + } + HEAP32[$8>>2] = 0; + while(1) { + $28 = HEAP32[$8>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = ($28|0)<($29|0); + if (!($30)) { + break; + } + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 24|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$35>>2] = $37; + $38 = (($33) + (($36*12)|0)|0); + HEAP32[$12>>2] = $38; + $39 = HEAP32[$7>>2]|0; + $40 = HEAP32[$8>>2]|0; + $41 = (($39) - ($40))|0; + $42 = (($41) - 1)|0; + $43 = HEAP32[$12>>2]|0; + $44 = ((($43)) + 8|0); + HEAP32[$44>>2] = $42; + $45 = HEAP32[$9>>2]|0; + $46 = HEAP32[$12>>2]|0; + HEAP32[$46>>2] = $45; + $47 = HEAP32[$10>>2]|0; + $48 = HEAP32[$12>>2]|0; + $49 = ((($48)) + 4|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$8>>2]|0; + $51 = (($50) + 1)|0; + HEAP32[$8>>2] = $51; + } + $52 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($52|0); +} +function _fts3GetDeltaPosition($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = $8 & 128; + $10 = ($9|0)!=(0); + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$11>>2]|0; + if ($10) { + $13 = (_sqlite3Fts3GetVarint32($12,$4)|0); + $19 = $13; + } else { + $14 = HEAP8[$12>>0]|0; + $15 = $14&255; + HEAP32[$4>>2] = $15; + $19 = 1; + } + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + ($19)|0); + HEAP32[$16>>2] = $18; + $20 = HEAP32[$4>>2]|0; + $21 = (($20) - 2)|0; + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($21))|0; + HEAP32[$22>>2] = $24; + STACKTOP = sp;return; +} +function _fts3StringAppend($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$6>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$5>>2]|0; + $12 = (_strlen($11)|0); + HEAP32[$6>>2] = $12; + } + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = (($15) + ($16))|0; + $18 = (($17) + 1)|0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($18|0)>=($21|0); + do { + if ($22) { + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = (($25) + ($26))|0; + $28 = (($27) + 100)|0; + HEAP32[$7>>2] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = (_sqlite3_realloc($30,$31)|0); + HEAP32[$8>>2] = $32; + $33 = HEAP32[$8>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$8>>2]|0; + $36 = HEAP32[$4>>2]|0; + HEAP32[$36>>2] = $35; + $37 = HEAP32[$7>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 8|0); + HEAP32[$39>>2] = $37; + break; + } + HEAP32[$3>>2] = 7; + $59 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($59|0); + } + } while(0); + $40 = HEAP32[$4>>2]|0; + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($41) + ($44)|0); + $46 = HEAP32[$5>>2]|0; + $47 = HEAP32[$6>>2]|0; + _memcpy(($45|0),($46|0),($47|0))|0; + $48 = HEAP32[$6>>2]|0; + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($51) + ($48))|0; + HEAP32[$50>>2] = $52; + $53 = HEAP32[$4>>2]|0; + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($54) + ($57)|0); + HEAP8[$58>>0] = 0; + HEAP32[$3>>2] = 0; + $59 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($59|0); +} +function _sqlite3Fts3Snippet($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224|0; + $7 = sp + 212|0; + $8 = sp + 208|0; + $9 = sp + 204|0; + $10 = sp + 200|0; + $11 = sp + 196|0; + $12 = sp + 192|0; + $13 = sp + 188|0; + $14 = sp + 184|0; + $15 = sp + 180|0; + $16 = sp + 176|0; + $17 = sp + 164|0; + $18 = sp + 160|0; + $19 = sp + 40|0; + $20 = sp + 156|0; + $21 = sp + 152|0; + $22 = sp + 32|0; + $23 = sp + 24|0; + $24 = sp + 148|0; + $25 = sp + 144|0; + $26 = sp + 140|0; + $27 = sp; + $28 = sp + 136|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$14>>2] = $30; + HEAP32[$15>>2] = 0; + ;HEAP32[$17>>2]=0|0;HEAP32[$17+4>>2]=0|0;HEAP32[$17+8>>2]=0|0; + HEAP32[$18>>2] = 0; + HEAP32[$20>>2] = -1; + $31 = HEAP32[$8>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0|0); + if (!($34)) { + $35 = HEAP32[$7>>2]|0; + _sqlite3_result_text($35,55752,0,0); + STACKTOP = sp;return; + } + HEAP32[$18>>2] = 1; + L5: while(1) { + $36 = $22; + $37 = $36; + HEAP32[$37>>2] = 0; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = 0; + $40 = $23; + $41 = $40; + HEAP32[$41>>2] = 0; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = 0; + $44 = HEAP32[$13>>2]|0; + $45 = ($44|0)>=(0); + $46 = HEAP32[$13>>2]|0; + if ($45) { + $47 = HEAP32[$18>>2]|0; + $48 = (($46) + ($47))|0; + $49 = (($48) - 1)|0; + $50 = HEAP32[$18>>2]|0; + $51 = (($49|0) / ($50|0))&-1; + HEAP32[$20>>2] = $51; + } else { + $52 = Math_imul(-1, $46)|0; + HEAP32[$20>>2] = $52; + } + HEAP32[$21>>2] = 0; + while(1) { + $53 = HEAP32[$21>>2]|0; + $54 = HEAP32[$18>>2]|0; + $55 = ($53|0)<($54|0); + if (!($55)) { + break; + } + HEAP32[$24>>2] = -1; + $56 = HEAP32[$21>>2]|0; + $57 = (($19) + (($56*24)|0)|0); + HEAP32[$26>>2] = $57; + $58 = HEAP32[$26>>2]|0; + ;HEAP32[$58>>2]=0|0;HEAP32[$58+4>>2]=0|0;HEAP32[$58+8>>2]=0|0;HEAP32[$58+12>>2]=0|0;HEAP32[$58+16>>2]=0|0;HEAP32[$58+20>>2]=0|0; + HEAP32[$25>>2] = 0; + while(1) { + $59 = HEAP32[$25>>2]|0; + $60 = HEAP32[$14>>2]|0; + $61 = ((($60)) + 24|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($59|0)<($62|0); + if (!($63)) { + break; + } + ;HEAP32[$27>>2]=0|0;HEAP32[$27+4>>2]=0|0;HEAP32[$27+8>>2]=0|0;HEAP32[$27+12>>2]=0|0;HEAP32[$27+16>>2]=0|0;HEAP32[$27+20>>2]=0|0; + HEAP32[$28>>2] = 0; + $64 = HEAP32[$12>>2]|0; + $65 = ($64|0)>=(0); + if ($65) { + $66 = HEAP32[$25>>2]|0; + $67 = HEAP32[$12>>2]|0; + $68 = ($66|0)!=($67|0); + if (!($68)) { + label = 13; + } + } else { + label = 13; + } + if ((label|0) == 13) { + label = 0; + $69 = HEAP32[$20>>2]|0; + $70 = HEAP32[$8>>2]|0; + $71 = HEAP32[$25>>2]|0; + $72 = $22; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (_fts3BestSnippet($69,$70,$71,$74,$77,$23,$27,$28)|0); + HEAP32[$15>>2] = $78; + $79 = HEAP32[$15>>2]|0; + $80 = ($79|0)!=(0); + if ($80) { + break L5; + } + $81 = HEAP32[$28>>2]|0; + $82 = HEAP32[$24>>2]|0; + $83 = ($81|0)>($82|0); + if ($83) { + $84 = HEAP32[$26>>2]|0; + ;HEAP32[$84>>2]=HEAP32[$27>>2]|0;HEAP32[$84+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$84+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$84+12>>2]=HEAP32[$27+12>>2]|0;HEAP32[$84+16>>2]=HEAP32[$27+16>>2]|0;HEAP32[$84+20>>2]=HEAP32[$27+20>>2]|0; + $85 = HEAP32[$28>>2]|0; + HEAP32[$24>>2] = $85; + } + } + $86 = HEAP32[$25>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$25>>2] = $87; + } + $88 = HEAP32[$26>>2]|0; + $89 = ((($88)) + 8|0); + $90 = $89; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = (($90) + 4)|0; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = $22; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (($96) + 4)|0; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = $98 | $92; + $103 = $101 | $95; + $104 = $22; + $105 = $104; + HEAP32[$105>>2] = $102; + $106 = (($104) + 4)|0; + $107 = $106; + HEAP32[$107>>2] = $103; + $108 = HEAP32[$21>>2]|0; + $109 = (($108) + 1)|0; + HEAP32[$21>>2] = $109; + } + $110 = $23; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = $22; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = ($112|0)==($118|0); + $123 = ($115|0)==($121|0); + $124 = $122 & $123; + $125 = HEAP32[$18>>2]|0; + $126 = ($125|0)==(4); + $or$cond = $124 | $126; + if ($or$cond) { + label = 20; + break; + } + $127 = HEAP32[$18>>2]|0; + $128 = (($127) + 1)|0; + HEAP32[$18>>2] = $128; + } + L27: do { + if ((label|0) == 20) { + HEAP32[$16>>2] = 0; + while(1) { + $129 = HEAP32[$16>>2]|0; + $130 = HEAP32[$18>>2]|0; + $131 = ($129|0)<($130|0); + $132 = HEAP32[$15>>2]|0; + $133 = ($132|0)==(0); + $134 = $131 ? $133 : 0; + if (!($134)) { + break L27; + } + $135 = HEAP32[$8>>2]|0; + $136 = HEAP32[$16>>2]|0; + $137 = (($19) + (($136*24)|0)|0); + $138 = HEAP32[$16>>2]|0; + $139 = HEAP32[$16>>2]|0; + $140 = HEAP32[$18>>2]|0; + $141 = (($140) - 1)|0; + $142 = ($139|0)==($141|0); + $143 = $142&1; + $144 = HEAP32[$20>>2]|0; + $145 = HEAP32[$9>>2]|0; + $146 = HEAP32[$10>>2]|0; + $147 = HEAP32[$11>>2]|0; + $148 = (_fts3SnippetText($135,$137,$138,$143,$144,$145,$146,$147,$17)|0); + HEAP32[$15>>2] = $148; + $149 = HEAP32[$16>>2]|0; + $150 = (($149) + 1)|0; + HEAP32[$16>>2] = $150; + } + } + } while(0); + $151 = HEAP32[$14>>2]|0; + _sqlite3Fts3SegmentsClose($151); + $152 = HEAP32[$15>>2]|0; + $153 = ($152|0)!=(0); + $154 = HEAP32[$7>>2]|0; + if ($153) { + $155 = HEAP32[$15>>2]|0; + _sqlite3_result_error_code($154,$155); + $156 = HEAP32[$17>>2]|0; + _sqlite3_free($156); + STACKTOP = sp;return; + } else { + $157 = HEAP32[$17>>2]|0; + _sqlite3_result_text($154,$157,-1,157); + STACKTOP = sp;return; + } +} +function _fts3BestSnippet($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $8 = sp + 104|0; + $9 = sp + 100|0; + $10 = sp + 96|0; + $11 = sp + 92|0; + $12 = sp + 16|0; + $13 = sp + 88|0; + $14 = sp + 84|0; + $15 = sp + 80|0; + $16 = sp + 76|0; + $17 = sp + 72|0; + $18 = sp + 48|0; + $19 = sp + 40|0; + $20 = sp + 36|0; + $21 = sp + 32|0; + $22 = sp + 28|0; + $23 = sp + 24|0; + $24 = sp + 8|0; + $25 = sp; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + $26 = $12; + $27 = $26; + HEAP32[$27>>2] = $3; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + HEAP32[$15>>2] = $7; + HEAP32[$20>>2] = -1; + ;HEAP32[$18>>2]=0|0;HEAP32[$18+4>>2]=0|0;HEAP32[$18+8>>2]=0|0;HEAP32[$18+12>>2]=0|0;HEAP32[$18+16>>2]=0|0;HEAP32[$18+20>>2]=0|0; + $30 = HEAP32[$10>>2]|0; + $31 = (_fts3ExprLoadDoclists($30,$17,0)|0); + HEAP32[$16>>2] = $31; + $32 = HEAP32[$16>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$16>>2]|0; + HEAP32[$8>>2] = $34; + $135 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($135|0); + } + $35 = HEAP32[$17>>2]|0; + $36 = ($35*24)|0; + HEAP32[$19>>2] = $36; + $37 = HEAP32[$19>>2]|0; + $38 = (_sqlite3_malloc($37)|0); + $39 = ((($18)) + 16|0); + HEAP32[$39>>2] = $38; + $40 = ((($18)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)!=(0|0); + if (!($42)) { + HEAP32[$8>>2] = 7; + $135 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($135|0); + } + $43 = ((($18)) + 16|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$19>>2]|0; + _memset(($44|0),0,($45|0))|0; + $46 = HEAP32[$10>>2]|0; + HEAP32[$18>>2] = $46; + $47 = HEAP32[$11>>2]|0; + $48 = ((($18)) + 4|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$9>>2]|0; + $50 = ((($18)) + 8|0); + HEAP32[$50>>2] = $49; + $51 = HEAP32[$17>>2]|0; + $52 = ((($18)) + 12|0); + HEAP32[$52>>2] = $51; + $53 = ((($18)) + 20|0); + HEAP32[$53>>2] = -1; + $54 = HEAP32[$10>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + $57 = (_fts3ExprIterate($56,167,$18)|0); + HEAP32[$16>>2] = $57; + $58 = HEAP32[$16>>2]|0; + $59 = ($58|0)==(0); + if ($59) { + HEAP32[$21>>2] = 0; + while(1) { + $60 = HEAP32[$21>>2]|0; + $61 = HEAP32[$17>>2]|0; + $62 = ($60|0)<($61|0); + if (!($62)) { + break; + } + $63 = ((($18)) + 16|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$21>>2]|0; + $66 = (($64) + (($65*24)|0)|0); + $67 = ((($66)) + 12|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)!=(0|0); + if ($69) { + $70 = HEAP32[$21>>2]|0; + $71 = (_bitshift64Shl(1,0,($70|0))|0); + $72 = tempRet0; + $73 = HEAP32[$13>>2]|0; + $74 = $73; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = $76 | $71; + $81 = $79 | $72; + $82 = $73; + $83 = $82; + HEAP32[$83>>2] = $80; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + } + $86 = HEAP32[$21>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$21>>2] = $87; + } + $88 = HEAP32[$11>>2]|0; + $89 = HEAP32[$14>>2]|0; + HEAP32[$89>>2] = $88; + while(1) { + $90 = (_fts3SnippetNextCandidate($18)|0); + $91 = ($90|0)!=(0); + $92 = $91 ^ 1; + if (!($92)) { + break; + } + $93 = $12; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + _fts3SnippetDetails($18,$95,$98,$22,$23,$24,$25); + $99 = HEAP32[$23>>2]|0; + $100 = HEAP32[$20>>2]|0; + $101 = ($99|0)>($100|0); + if (!($101)) { + continue; + } + $102 = HEAP32[$22>>2]|0; + $103 = HEAP32[$14>>2]|0; + $104 = ((($103)) + 4|0); + HEAP32[$104>>2] = $102; + $105 = $25; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$14>>2]|0; + $112 = ((($111)) + 16|0); + $113 = $112; + $114 = $113; + HEAP32[$114>>2] = $107; + $115 = (($113) + 4)|0; + $116 = $115; + HEAP32[$116>>2] = $110; + $117 = $24; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$14>>2]|0; + $124 = ((($123)) + 8|0); + $125 = $124; + $126 = $125; + HEAP32[$126>>2] = $119; + $127 = (($125) + 4)|0; + $128 = $127; + HEAP32[$128>>2] = $122; + $129 = HEAP32[$23>>2]|0; + HEAP32[$20>>2] = $129; + } + $130 = HEAP32[$20>>2]|0; + $131 = HEAP32[$15>>2]|0; + HEAP32[$131>>2] = $130; + } + $132 = ((($18)) + 16|0); + $133 = HEAP32[$132>>2]|0; + _sqlite3_free($133); + $134 = HEAP32[$16>>2]|0; + HEAP32[$8>>2] = $134; + $135 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($135|0); +} +function _fts3SnippetText($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $9 = sp + 112|0; + $10 = sp + 108|0; + $11 = sp + 104|0; + $12 = sp + 100|0; + $13 = sp + 96|0; + $14 = sp + 92|0; + $15 = sp + 88|0; + $16 = sp + 84|0; + $17 = sp + 80|0; + $18 = sp + 76|0; + $19 = sp + 72|0; + $20 = sp + 68|0; + $21 = sp + 64|0; + $22 = sp + 60|0; + $23 = sp + 56|0; + $24 = sp + 52|0; + $25 = sp + 48|0; + $26 = sp + 44|0; + $27 = sp; + $28 = sp + 40|0; + $29 = sp + 36|0; + $30 = sp + 32|0; + $31 = sp + 28|0; + $32 = sp + 24|0; + $33 = sp + 20|0; + $34 = sp + 16|0; + $35 = sp + 12|0; + $36 = sp + 8|0; + HEAP32[$10>>2] = $0; + HEAP32[$11>>2] = $1; + HEAP32[$12>>2] = $2; + HEAP32[$13>>2] = $3; + HEAP32[$14>>2] = $4; + HEAP32[$15>>2] = $5; + HEAP32[$16>>2] = $6; + HEAP32[$17>>2] = $7; + HEAP32[$18>>2] = $8; + $37 = HEAP32[$10>>2]|0; + $38 = HEAP32[$37>>2]|0; + HEAP32[$19>>2] = $38; + HEAP32[$23>>2] = 0; + HEAP32[$24>>2] = 0; + HEAP32[$25>>2] = 0; + $39 = HEAP32[$11>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$26>>2] = $41; + $42 = HEAP32[$11>>2]|0; + $43 = ((($42)) + 16|0); + $44 = $43; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = $27; + $51 = $50; + HEAP32[$51>>2] = $46; + $52 = (($50) + 4)|0; + $53 = $52; + HEAP32[$53>>2] = $49; + $54 = HEAP32[$11>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + 1)|0; + HEAP32[$28>>2] = $56; + $57 = HEAP32[$10>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$28>>2]|0; + $61 = (_sqlite3_column_text($59,$60)|0); + HEAP32[$21>>2] = $61; + $62 = HEAP32[$21>>2]|0; + $63 = ($62|0)==(0|0); + $64 = HEAP32[$10>>2]|0; + $65 = ((($64)) + 8|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$28>>2]|0; + if ($63) { + $68 = (_sqlite3_column_type($66,$67)|0); + $69 = ($68|0)!=(5); + if ($69) { + HEAP32[$9>>2] = 7; + $209 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($209|0); + } else { + HEAP32[$9>>2] = 0; + $209 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($209|0); + } + } + $70 = (_sqlite3_column_bytes($66,$67)|0); + HEAP32[$22>>2] = $70; + $71 = HEAP32[$19>>2]|0; + $72 = ((($71)) + 36|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$73>>2]|0; + HEAP32[$29>>2] = $74; + $75 = HEAP32[$19>>2]|0; + $76 = ((($75)) + 36|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$10>>2]|0; + $79 = ((($78)) + 16|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$21>>2]|0; + $82 = HEAP32[$22>>2]|0; + $83 = (_sqlite3Fts3OpenTokenizer($77,$80,$81,$82,$30)|0); + HEAP32[$20>>2] = $83; + $84 = HEAP32[$20>>2]|0; + $85 = ($84|0)!=(0); + if ($85) { + $86 = HEAP32[$20>>2]|0; + HEAP32[$9>>2] = $86; + $209 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($209|0); + } + while(1) { + $87 = HEAP32[$20>>2]|0; + $88 = ($87|0)==(0); + if (!($88)) { + break; + } + HEAP32[$32>>2] = -1; + HEAP32[$33>>2] = 0; + HEAP32[$34>>2] = 0; + HEAP32[$35>>2] = 0; + $89 = HEAP32[$29>>2]|0; + $90 = ((($89)) + 20|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$30>>2]|0; + $93 = (FUNCTION_TABLE_iiiiiii[$91 & 255]($92,$31,$32,$33,$34,$23)|0); + HEAP32[$20>>2] = $93; + $94 = HEAP32[$20>>2]|0; + $95 = ($94|0)!=(0); + if ($95) { + label = 9; + break; + } + $103 = HEAP32[$23>>2]|0; + $104 = HEAP32[$26>>2]|0; + $105 = ($103|0)<($104|0); + if ($105) { + continue; + } + $106 = HEAP32[$25>>2]|0; + $107 = ($106|0)!=(0); + if (!($107)) { + $108 = HEAP32[$22>>2]|0; + $109 = HEAP32[$33>>2]|0; + $110 = (($108) - ($109))|0; + HEAP32[$36>>2] = $110; + $111 = HEAP32[$19>>2]|0; + $112 = HEAP32[$10>>2]|0; + $113 = ((($112)) + 16|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$14>>2]|0; + $116 = HEAP32[$21>>2]|0; + $117 = HEAP32[$33>>2]|0; + $118 = (($116) + ($117)|0); + $119 = HEAP32[$36>>2]|0; + $120 = (_fts3SnippetShift($111,$114,$115,$118,$119,$26,$27)|0); + HEAP32[$20>>2] = $120; + HEAP32[$25>>2] = 1; + $121 = HEAP32[$20>>2]|0; + $122 = ($121|0)==(0); + do { + if ($122) { + $123 = HEAP32[$26>>2]|0; + $124 = ($123|0)>(0); + $125 = HEAP32[$12>>2]|0; + $126 = ($125|0)>(0); + $or$cond = $124 | $126; + if ($or$cond) { + $127 = HEAP32[$18>>2]|0; + $128 = HEAP32[$17>>2]|0; + $129 = (_fts3StringAppend($127,$128,-1)|0); + HEAP32[$20>>2] = $129; + break; + } + $130 = HEAP32[$33>>2]|0; + $131 = ($130|0)!=(0); + if ($131) { + $132 = HEAP32[$18>>2]|0; + $133 = HEAP32[$21>>2]|0; + $134 = HEAP32[$33>>2]|0; + $135 = (_fts3StringAppend($132,$133,$134)|0); + HEAP32[$20>>2] = $135; + } + } + } while(0); + $136 = HEAP32[$20>>2]|0; + $137 = ($136|0)!=(0); + if ($137) { + continue; + } + $138 = HEAP32[$23>>2]|0; + $139 = HEAP32[$26>>2]|0; + $140 = ($138|0)<($139|0); + if ($140) { + continue; + } + } + $141 = HEAP32[$23>>2]|0; + $142 = HEAP32[$26>>2]|0; + $143 = HEAP32[$14>>2]|0; + $144 = (($142) + ($143))|0; + $145 = ($141|0)>=($144|0); + if ($145) { + label = 21; + break; + } + $151 = $27; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = (($151) + 4)|0; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = HEAP32[$23>>2]|0; + $158 = HEAP32[$26>>2]|0; + $159 = (($157) - ($158))|0; + $160 = (_bitshift64Shl(1,0,($159|0))|0); + $161 = tempRet0; + $162 = $153 & $160; + $163 = $156 & $161; + $164 = ($162|0)!=(0); + $165 = ($163|0)!=(0); + $166 = $164 | $165; + $167 = $166&1; + HEAP32[$35>>2] = $167; + $168 = HEAP32[$23>>2]|0; + $169 = HEAP32[$26>>2]|0; + $170 = ($168|0)>($169|0); + if ($170) { + $171 = HEAP32[$18>>2]|0; + $172 = HEAP32[$21>>2]|0; + $173 = HEAP32[$24>>2]|0; + $174 = (($172) + ($173)|0); + $175 = HEAP32[$33>>2]|0; + $176 = HEAP32[$24>>2]|0; + $177 = (($175) - ($176))|0; + $178 = (_fts3StringAppend($171,$174,$177)|0); + HEAP32[$20>>2] = $178; + } + $179 = HEAP32[$20>>2]|0; + $180 = ($179|0)==(0); + $181 = HEAP32[$35>>2]|0; + $182 = ($181|0)!=(0); + $or$cond3 = $180 & $182; + if ($or$cond3) { + $183 = HEAP32[$18>>2]|0; + $184 = HEAP32[$15>>2]|0; + $185 = (_fts3StringAppend($183,$184,-1)|0); + HEAP32[$20>>2] = $185; + } + $186 = HEAP32[$20>>2]|0; + $187 = ($186|0)==(0); + if ($187) { + $188 = HEAP32[$18>>2]|0; + $189 = HEAP32[$21>>2]|0; + $190 = HEAP32[$33>>2]|0; + $191 = (($189) + ($190)|0); + $192 = HEAP32[$34>>2]|0; + $193 = HEAP32[$33>>2]|0; + $194 = (($192) - ($193))|0; + $195 = (_fts3StringAppend($188,$191,$194)|0); + HEAP32[$20>>2] = $195; + } + $196 = HEAP32[$20>>2]|0; + $197 = ($196|0)==(0); + $198 = HEAP32[$35>>2]|0; + $199 = ($198|0)!=(0); + $or$cond5 = $197 & $199; + if ($or$cond5) { + $200 = HEAP32[$18>>2]|0; + $201 = HEAP32[$16>>2]|0; + $202 = (_fts3StringAppend($200,$201,-1)|0); + HEAP32[$20>>2] = $202; + } + $203 = HEAP32[$34>>2]|0; + HEAP32[$24>>2] = $203; + } + if ((label|0) == 9) { + $96 = HEAP32[$20>>2]|0; + $97 = ($96|0)==(101); + if ($97) { + $98 = HEAP32[$18>>2]|0; + $99 = HEAP32[$21>>2]|0; + $100 = HEAP32[$24>>2]|0; + $101 = (($99) + ($100)|0); + $102 = (_fts3StringAppend($98,$101,-1)|0); + HEAP32[$20>>2] = $102; + } + } + else if ((label|0) == 21) { + $146 = HEAP32[$13>>2]|0; + $147 = ($146|0)!=(0); + if ($147) { + $148 = HEAP32[$18>>2]|0; + $149 = HEAP32[$17>>2]|0; + $150 = (_fts3StringAppend($148,$149,-1)|0); + HEAP32[$20>>2] = $150; + } + } + $204 = HEAP32[$29>>2]|0; + $205 = ((($204)) + 16|0); + $206 = HEAP32[$205>>2]|0; + $207 = HEAP32[$30>>2]|0; + (FUNCTION_TABLE_ii[$206 & 255]($207)|0); + $208 = HEAP32[$20>>2]|0; + HEAP32[$9>>2] = $208; + $209 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($209|0); +} +function _fts3SnippetShift($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $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; + STACKTOP = STACKTOP + 96|0; + $7 = sp + 84|0; + $8 = sp + 80|0; + $9 = sp + 76|0; + $10 = sp + 72|0; + $11 = sp + 68|0; + $12 = sp + 64|0; + $13 = sp + 60|0; + $14 = sp + 56|0; + $15 = sp; + $16 = sp + 52|0; + $17 = sp + 48|0; + $18 = sp + 44|0; + $19 = sp + 40|0; + $20 = sp + 36|0; + $21 = sp + 32|0; + $22 = sp + 28|0; + $23 = sp + 24|0; + $24 = sp + 20|0; + $25 = sp + 16|0; + $26 = sp + 12|0; + $27 = sp + 8|0; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP32[$13>>2] = $5; + HEAP32[$14>>2] = $6; + $28 = HEAP32[$14>>2]|0; + $29 = $28; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $15; + $36 = $35; + HEAP32[$36>>2] = $31; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = $15; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = ($41|0)!=(0); + $46 = ($44|0)!=(0); + $47 = $45 | $46; + do { + if ($47) { + HEAP32[$16>>2] = 0; + while(1) { + $48 = $15; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$16>>2]|0; + $55 = (_bitshift64Shl(1,0,($54|0))|0); + $56 = tempRet0; + $57 = $50 & $55; + $58 = $53 & $56; + $59 = ($57|0)!=(0); + $60 = ($58|0)!=(0); + $61 = $59 | $60; + $62 = $61 ^ 1; + if (!($62)) { + break; + } + $63 = HEAP32[$16>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$16>>2] = $64; + } + HEAP32[$17>>2] = 0; + while(1) { + $65 = $15; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (($65) + 4)|0; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$10>>2]|0; + $72 = (($71) - 1)|0; + $73 = HEAP32[$17>>2]|0; + $74 = (($72) - ($73))|0; + $75 = (_bitshift64Shl(1,0,($74|0))|0); + $76 = tempRet0; + $77 = $67 & $75; + $78 = $70 & $76; + $79 = ($77|0)!=(0); + $80 = ($78|0)!=(0); + $81 = $79 | $80; + $82 = $81 ^ 1; + if (!($82)) { + break; + } + $83 = HEAP32[$17>>2]|0; + $84 = (($83) + 1)|0; + HEAP32[$17>>2] = $84; + } + $85 = HEAP32[$16>>2]|0; + $86 = HEAP32[$17>>2]|0; + $87 = (($85) - ($86))|0; + $88 = (($87|0) / 2)&-1; + HEAP32[$18>>2] = $88; + $89 = HEAP32[$18>>2]|0; + $90 = ($89|0)>(0); + if ($90) { + HEAP32[$20>>2] = 0; + $91 = HEAP32[$8>>2]|0; + $92 = ((($91)) + 36|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$93>>2]|0; + HEAP32[$22>>2] = $94; + $95 = HEAP32[$8>>2]|0; + $96 = ((($95)) + 36|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$9>>2]|0; + $99 = HEAP32[$11>>2]|0; + $100 = HEAP32[$12>>2]|0; + $101 = (_sqlite3Fts3OpenTokenizer($97,$98,$99,$100,$23)|0); + HEAP32[$21>>2] = $101; + $102 = HEAP32[$21>>2]|0; + $103 = ($102|0)!=(0); + if ($103) { + $104 = HEAP32[$21>>2]|0; + HEAP32[$7>>2] = $104; + $152 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($152|0); + } + while(1) { + $105 = HEAP32[$21>>2]|0; + $106 = ($105|0)==(0); + if (!($106)) { + break; + } + $107 = HEAP32[$20>>2]|0; + $108 = HEAP32[$10>>2]|0; + $109 = HEAP32[$18>>2]|0; + $110 = (($108) + ($109))|0; + $111 = ($107|0)<($110|0); + if (!($111)) { + break; + } + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + HEAP32[$27>>2] = 0; + $112 = HEAP32[$22>>2]|0; + $113 = ((($112)) + 20|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$23>>2]|0; + $116 = (FUNCTION_TABLE_iiiiiii[$114 & 255]($115,$24,$25,$26,$27,$20)|0); + HEAP32[$21>>2] = $116; + } + $117 = HEAP32[$22>>2]|0; + $118 = ((($117)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$23>>2]|0; + (FUNCTION_TABLE_ii[$119 & 255]($120)|0); + $121 = HEAP32[$21>>2]|0; + $122 = ($121|0)!=(0); + $123 = HEAP32[$21>>2]|0; + $124 = ($123|0)!=(101); + $or$cond = $122 & $124; + $125 = HEAP32[$21>>2]|0; + if ($or$cond) { + HEAP32[$7>>2] = $125; + $152 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($152|0); + } else { + $126 = ($125|0)==(101); + $127 = $126&1; + $128 = HEAP32[$20>>2]|0; + $129 = (($127) + ($128))|0; + $130 = HEAP32[$10>>2]|0; + $131 = (($129) - ($130))|0; + HEAP32[$19>>2] = $131; + $132 = HEAP32[$19>>2]|0; + $133 = ($132|0)>(0); + if (!($133)) { + break; + } + $134 = HEAP32[$19>>2]|0; + $135 = HEAP32[$13>>2]|0; + $136 = HEAP32[$135>>2]|0; + $137 = (($136) + ($134))|0; + HEAP32[$135>>2] = $137; + $138 = $15; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$19>>2]|0; + $145 = (_bitshift64Lshr(($140|0),($143|0),($144|0))|0); + $146 = tempRet0; + $147 = HEAP32[$14>>2]|0; + $148 = $147; + $149 = $148; + HEAP32[$149>>2] = $145; + $150 = (($148) + 4)|0; + $151 = $150; + HEAP32[$151>>2] = $146; + break; + } + } + } + } while(0); + HEAP32[$7>>2] = 0; + $152 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($152|0); +} +function _fts3SnippetFindPositions($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $11 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (($14) + (($15*24)|0)|0); + HEAP32[$7>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 64|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$7>>2]|0; + HEAP32[$22>>2] = $21; + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3Fts3EvalPhrasePoslist($24,$25,$28,$8)|0); + HEAP32[$9>>2] = $29; + $30 = HEAP32[$8>>2]|0; + $31 = ($30|0)!=(0|0); + if (!($31)) { + $47 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($47|0); + } + HEAP32[$10>>2] = 0; + $32 = HEAP32[$8>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = ((($33)) + 4|0); + HEAP32[$34>>2] = $32; + _fts3GetDeltaPosition($8,$10); + $35 = HEAP32[$8>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = ((($36)) + 12|0); + HEAP32[$37>>2] = $35; + $38 = HEAP32[$8>>2]|0; + $39 = HEAP32[$7>>2]|0; + $40 = ((($39)) + 20|0); + HEAP32[$40>>2] = $38; + $41 = HEAP32[$10>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = ((($42)) + 8|0); + HEAP32[$43>>2] = $41; + $44 = HEAP32[$10>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 16|0); + HEAP32[$46>>2] = $44; + $47 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($47|0); +} +function _fts3SnippetNextCandidate($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)<(0); + L1: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 20|0); + HEAP32[$14>>2] = 0; + HEAP32[$3>>2] = 0; + while(1) { + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)<($18|0); + if (!($19)) { + break L1; + } + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$3>>2]|0; + $24 = (($22) + (($23*24)|0)|0); + HEAP32[$4>>2] = $24; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + _fts3SnippetAdvance($26,$28,$31); + $32 = HEAP32[$3>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$3>>2] = $33; + } + } else { + HEAP32[$6>>2] = 2147483647; + HEAP32[$3>>2] = 0; + while(1) { + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)<($37|0); + if (!($38)) { + break; + } + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$3>>2]|0; + $43 = (($41) + (($42*24)|0)|0); + HEAP32[$7>>2] = $43; + $44 = HEAP32[$7>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)!=(0|0); + if ($47) { + $48 = HEAP32[$7>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = ($50|0)<($51|0); + if ($52) { + $53 = HEAP32[$7>>2]|0; + $54 = ((($53)) + 8|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$6>>2] = $55; + } + } + $56 = HEAP32[$3>>2]|0; + $57 = (($56) + 1)|0; + HEAP32[$3>>2] = $57; + } + $58 = HEAP32[$6>>2]|0; + $59 = ($58|0)==(2147483647); + if ($59) { + HEAP32[$1>>2] = 1; + $91 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($91|0); + } + $60 = HEAP32[$6>>2]|0; + $61 = HEAP32[$2>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP32[$62>>2]|0; + $64 = (($60) - ($63))|0; + $65 = (($64) + 1)|0; + HEAP32[$5>>2] = $65; + $66 = HEAP32[$2>>2]|0; + $67 = ((($66)) + 20|0); + HEAP32[$67>>2] = $65; + HEAP32[$3>>2] = 0; + while(1) { + $68 = HEAP32[$3>>2]|0; + $69 = HEAP32[$2>>2]|0; + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($68|0)<($71|0); + if (!($72)) { + break L1; + } + $73 = HEAP32[$2>>2]|0; + $74 = ((($73)) + 16|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$3>>2]|0; + $77 = (($75) + (($76*24)|0)|0); + HEAP32[$8>>2] = $77; + $78 = HEAP32[$8>>2]|0; + $79 = ((($78)) + 12|0); + $80 = HEAP32[$8>>2]|0; + $81 = ((($80)) + 8|0); + $82 = HEAP32[$6>>2]|0; + $83 = (($82) + 1)|0; + _fts3SnippetAdvance($79,$81,$83); + $84 = HEAP32[$8>>2]|0; + $85 = ((($84)) + 20|0); + $86 = HEAP32[$8>>2]|0; + $87 = ((($86)) + 16|0); + $88 = HEAP32[$5>>2]|0; + _fts3SnippetAdvance($85,$87,$88); + $89 = HEAP32[$3>>2]|0; + $90 = (($89) + 1)|0; + HEAP32[$3>>2] = $90; + } + } + } while(0); + HEAP32[$1>>2] = 0; + $91 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($91|0); +} +function _fts3SnippetDetails($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $7 = sp + 84|0; + $8 = sp + 32|0; + $9 = sp + 80|0; + $10 = sp + 76|0; + $11 = sp + 72|0; + $12 = sp + 68|0; + $13 = sp + 64|0; + $14 = sp + 60|0; + $15 = sp + 56|0; + $16 = sp + 24|0; + $17 = sp + 16|0; + $18 = sp + 52|0; + $19 = sp + 48|0; + $20 = sp + 44|0; + $21 = sp + 40|0; + $22 = sp + 8|0; + $23 = sp; + HEAP32[$7>>2] = $0; + $24 = $8; + $25 = $24; + HEAP32[$25>>2] = $1; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$12>>2] = $6; + $28 = HEAP32[$7>>2]|0; + $29 = ((($28)) + 20|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$13>>2] = $30; + HEAP32[$14>>2] = 0; + $31 = $16; + $32 = $31; + HEAP32[$32>>2] = 0; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = 0; + $35 = $17; + $36 = $35; + HEAP32[$36>>2] = 0; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = 0; + HEAP32[$15>>2] = 0; + while(1) { + $39 = HEAP32[$15>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = ((($40)) + 12|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($39|0)<($42|0); + if (!($43)) { + break; + } + $44 = HEAP32[$7>>2]|0; + $45 = ((($44)) + 16|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$15>>2]|0; + $48 = (($46) + (($47*24)|0)|0); + HEAP32[$18>>2] = $48; + $49 = HEAP32[$18>>2]|0; + $50 = ((($49)) + 20|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)!=(0|0); + L4: do { + if ($52) { + $53 = HEAP32[$18>>2]|0; + $54 = ((($53)) + 20|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$19>>2] = $55; + $56 = HEAP32[$18>>2]|0; + $57 = ((($56)) + 16|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$20>>2] = $58; + while(1) { + $59 = HEAP32[$20>>2]|0; + $60 = HEAP32[$13>>2]|0; + $61 = HEAP32[$7>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP32[$62>>2]|0; + $64 = (($60) + ($63))|0; + $65 = ($59|0)<($64|0); + if (!($65)) { + break L4; + } + $66 = HEAP32[$15>>2]|0; + $67 = (_bitshift64Shl(1,0,($66|0))|0); + $68 = tempRet0; + $69 = $22; + $70 = $69; + HEAP32[$70>>2] = $67; + $71 = (($69) + 4)|0; + $72 = $71; + HEAP32[$72>>2] = $68; + $73 = HEAP32[$20>>2]|0; + $74 = HEAP32[$13>>2]|0; + $75 = (($73) - ($74))|0; + $76 = (_bitshift64Shl(1,0,($75|0))|0); + $77 = tempRet0; + $78 = $23; + $79 = $78; + HEAP32[$79>>2] = $76; + $80 = (($78) + 4)|0; + $81 = $80; + HEAP32[$81>>2] = $77; + $82 = $16; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $8; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = $84 | $90; + $95 = $87 | $93; + $96 = $22; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (($96) + 4)|0; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = $94 & $98; + $103 = $95 & $101; + $104 = ($102|0)!=(0); + $105 = ($103|0)!=(0); + $106 = $104 | $105; + $107 = HEAP32[$14>>2]|0; + if ($106) { + $108 = (($107) + 1)|0; + HEAP32[$14>>2] = $108; + } else { + $109 = (($107) + 1000)|0; + HEAP32[$14>>2] = $109; + } + $110 = $22; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = $16; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = $118 | $112; + $123 = $121 | $115; + $124 = $16; + $125 = $124; + HEAP32[$125>>2] = $122; + $126 = (($124) + 4)|0; + $127 = $126; + HEAP32[$127>>2] = $123; + HEAP32[$21>>2] = 0; + while(1) { + $128 = HEAP32[$21>>2]|0; + $129 = HEAP32[$18>>2]|0; + $130 = HEAP32[$129>>2]|0; + $131 = ($128|0)<($130|0); + if (!($131)) { + break; + } + $132 = $23; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = (($132) + 4)|0; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = HEAP32[$21>>2]|0; + $139 = (_bitshift64Lshr(($134|0),($137|0),($138|0))|0); + $140 = tempRet0; + $141 = $17; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = (($141) + 4)|0; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = $143 | $139; + $148 = $146 | $140; + $149 = $17; + $150 = $149; + HEAP32[$150>>2] = $147; + $151 = (($149) + 4)|0; + $152 = $151; + HEAP32[$152>>2] = $148; + $153 = HEAP32[$21>>2]|0; + $154 = (($153) + 1)|0; + HEAP32[$21>>2] = $154; + } + $155 = HEAP32[$19>>2]|0; + $156 = HEAP8[$155>>0]|0; + $157 = $156 << 24 >> 24; + $158 = $157 & 254; + $159 = (0)==($158|0); + if ($159) { + break L4; + } + _fts3GetDeltaPosition($19,$20); + } + } + } while(0); + $160 = HEAP32[$15>>2]|0; + $161 = (($160) + 1)|0; + HEAP32[$15>>2] = $161; + } + $162 = HEAP32[$13>>2]|0; + $163 = HEAP32[$9>>2]|0; + HEAP32[$163>>2] = $162; + $164 = HEAP32[$14>>2]|0; + $165 = HEAP32[$10>>2]|0; + HEAP32[$165>>2] = $164; + $166 = $16; + $167 = $166; + $168 = HEAP32[$167>>2]|0; + $169 = (($166) + 4)|0; + $170 = $169; + $171 = HEAP32[$170>>2]|0; + $172 = HEAP32[$11>>2]|0; + $173 = $172; + $174 = $173; + HEAP32[$174>>2] = $168; + $175 = (($173) + 4)|0; + $176 = $175; + HEAP32[$176>>2] = $171; + $177 = $17; + $178 = $177; + $179 = HEAP32[$178>>2]|0; + $180 = (($177) + 4)|0; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$12>>2]|0; + $184 = $183; + $185 = $184; + HEAP32[$185>>2] = $179; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = $182; + STACKTOP = sp;return; +} +function _fts3SnippetAdvance($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP32[$6>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + STACKTOP = sp;return; + } + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$7>>2] = $13; + while(1) { + $14 = HEAP32[$7>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = ($14|0)<($15|0); + if (!($16)) { + break; + } + $17 = HEAP32[$6>>2]|0; + $18 = HEAP8[$17>>0]|0; + $19 = $18 << 24 >> 24; + $20 = $19 & 254; + $21 = (0)==($20|0); + if ($21) { + label = 5; + break; + } + _fts3GetDeltaPosition($6,$7); + } + if ((label|0) == 5) { + HEAP32[$7>>2] = -1; + HEAP32[$6>>2] = 0; + } + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$4>>2]|0; + HEAP32[$23>>2] = $22; + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$3>>2]|0; + HEAP32[$25>>2] = $24; + STACKTOP = sp;return; +} +function _sqlite3Fts3MaxLevel($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 + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 0; + $7 = HEAP32[$2>>2]|0; + $8 = (_fts3SqlStmt($7,36,$6,0)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$3>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($20|0); + } + $11 = HEAP32[$6>>2]|0; + $12 = (_sqlite3_step($11)|0); + $13 = (100)==($12|0); + if ($13) { + $14 = HEAP32[$6>>2]|0; + $15 = (_sqlite3_column_int($14,0)|0); + HEAP32[$5>>2] = $15; + } + $16 = HEAP32[$6>>2]|0; + $17 = (_sqlite3_reset($16)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$3>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($20|0); +} +function _sqlite3Fts3Incrmerge($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $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$cond3 = 0, $or$cond5 = 0; + var $or$cond7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $3 = sp + 112|0; + $4 = sp + 108|0; + $5 = sp + 104|0; + $6 = sp + 100|0; + $7 = sp + 96|0; + $8 = sp + 92|0; + $9 = sp + 88|0; + $10 = sp + 84|0; + $11 = sp + 80|0; + $12 = sp + 76|0; + $13 = sp + 16|0; + $14 = sp + 64|0; + $15 = sp + 60|0; + $16 = sp + 56|0; + $17 = sp + 8|0; + $18 = sp + 52|0; + $19 = sp + 48|0; + $20 = sp + 44|0; + $21 = sp + 40|0; + $22 = sp; + $23 = sp + 36|0; + $24 = sp + 32|0; + $25 = sp + 28|0; + $26 = sp + 24|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $27 = HEAP32[$5>>2]|0; + HEAP32[$8>>2] = $27; + HEAP32[$12>>2] = 0; + $28 = $13; + $29 = $28; + HEAP32[$29>>2] = 0; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = 0; + ;HEAP32[$14>>2]=0|0;HEAP32[$14+4>>2]=0|0;HEAP32[$14+8>>2]=0|0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 640; + $32 = (_sqlite3_malloc(640)|0); + HEAP32[$11>>2] = $32; + $33 = HEAP32[$11>>2]|0; + $34 = ($33|0)!=(0|0); + if (!($34)) { + HEAP32[$3>>2] = 7; + $339 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($339|0); + } + $35 = HEAP32[$11>>2]|0; + $36 = ((($35)) + 568|0); + HEAP32[$10>>2] = $36; + $37 = HEAP32[$10>>2]|0; + $38 = ((($37)) + 16|0); + HEAP32[$9>>2] = $38; + $39 = HEAP32[$4>>2]|0; + $40 = (_fts3IncrmergeHintLoad($39,$14)|0); + HEAP32[$7>>2] = $40; + while(1) { + $41 = HEAP32[$7>>2]|0; + $42 = ($41|0)==(0); + $43 = HEAP32[$8>>2]|0; + $44 = ($43|0)>(0); + $45 = $42 ? $44 : 0; + if (!($45)) { + break; + } + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 248|0); + $48 = HEAP32[$47>>2]|0; + $49 = $48<<10; + $50 = ($49|0)<(0); + $51 = $50 << 31 >> 31; + $52 = $17; + $53 = $52; + HEAP32[$53>>2] = $49; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + HEAP32[$18>>2] = 0; + HEAP32[$19>>2] = 0; + HEAP32[$20>>2] = 0; + $56 = HEAP32[$4>>2]|0; + $57 = (_fts3SqlStmt($56,28,$18,0)|0); + HEAP32[$7>>2] = $57; + $58 = HEAP32[$18>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = (2)>($59|0); + $61 = HEAP32[$6>>2]|0; + $62 = $60 ? 2 : $61; + (_sqlite3_bind_int($58,1,$62)|0); + $63 = HEAP32[$18>>2]|0; + $64 = (_sqlite3_step($63)|0); + $65 = ($64|0)==(100); + if ($65) { + $66 = HEAP32[$18>>2]|0; + $67 = (_sqlite3_column_int64($66,0)|0); + $68 = tempRet0; + $69 = $13; + $70 = $69; + HEAP32[$70>>2] = $67; + $71 = (($69) + 4)|0; + $72 = $71; + HEAP32[$72>>2] = $68; + $73 = HEAP32[$18>>2]|0; + $74 = (_sqlite3_column_int($73,1)|0); + HEAP32[$12>>2] = $74; + } else { + HEAP32[$12>>2] = -1; + } + $75 = HEAP32[$18>>2]|0; + $76 = (_sqlite3_reset($75)|0); + HEAP32[$7>>2] = $76; + $77 = HEAP32[$7>>2]|0; + $78 = ($77|0)==(0); + do { + if ($78) { + $79 = ((($14)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($80|0)!=(0); + if ($81) { + $82 = ((($14)) + 4|0); + $83 = HEAP32[$82>>2]|0; + HEAP32[$21>>2] = $83; + $84 = $22; + $85 = $84; + HEAP32[$85>>2] = 0; + $86 = (($84) + 4)|0; + $87 = $86; + HEAP32[$87>>2] = 0; + HEAP32[$23>>2] = 0; + $88 = (_fts3IncrmergeHintPop($14,$22,$23)|0); + HEAP32[$7>>2] = $88; + $89 = HEAP32[$12>>2]|0; + $90 = ($89|0)<(0); + if (!($90)) { + $91 = $13; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (($91) + 4)|0; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (___remdi3(($93|0),($96|0),($99|0),($102|0))|0); + $104 = tempRet0; + $105 = $22; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = $17; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (($111) + 4)|0; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (___remdi3(($107|0),($110|0),($113|0),($116|0))|0); + $118 = tempRet0; + $119 = ($104|0)>($118|0); + $120 = ($103>>>0)>=($117>>>0); + $121 = ($104|0)==($118|0); + $122 = $121 & $120; + $123 = $119 | $122; + if (!($123)) { + $135 = HEAP32[$21>>2]|0; + $136 = ((($14)) + 4|0); + HEAP32[$136>>2] = $135; + break; + } + } + $124 = $22; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (($124) + 4)|0; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = $13; + $131 = $130; + HEAP32[$131>>2] = $126; + $132 = (($130) + 4)|0; + $133 = $132; + HEAP32[$133>>2] = $129; + $134 = HEAP32[$23>>2]|0; + HEAP32[$12>>2] = $134; + HEAP32[$19>>2] = 1; + HEAP32[$15>>2] = 1; + } + } + } while(0); + $137 = HEAP32[$12>>2]|0; + $138 = ($137|0)<(0); + if ($138) { + break; + } + $139 = HEAP32[$11>>2]|0; + _memset(($139|0),0,640)|0; + $140 = HEAP32[$10>>2]|0; + $141 = ((($140)) + 12|0); + HEAP32[$141>>2] = 1; + $142 = HEAP32[$7>>2]|0; + $143 = ($142|0)==(0); + do { + if ($143) { + $144 = HEAP32[$4>>2]|0; + $145 = $13; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = (_fts3IncrmergeOutputIdx($144,$147,$150,$20)|0); + HEAP32[$7>>2] = $151; + $152 = HEAP32[$20>>2]|0; + $153 = ($152|0)==(0); + if (!($153)) { + $154 = HEAP32[$19>>2]|0; + $155 = ($154|0)!=(0); + $156 = HEAP32[$20>>2]|0; + $157 = ($156|0)==(1); + $or$cond = $155 & $157; + if (!($or$cond)) { + break; + } + } + HEAP32[$24>>2] = 0; + $158 = HEAP32[$4>>2]|0; + $159 = $13; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = (_i64Add(($161|0),($164|0),1,0)|0); + $166 = tempRet0; + $167 = (_fts3SegmentIsMaxLevel($158,$165,$166,$24)|0); + HEAP32[$7>>2] = $167; + $168 = HEAP32[$24>>2]|0; + $169 = ($168|0)!=(0); + if ($169) { + $170 = HEAP32[$10>>2]|0; + $171 = ((($170)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = $172 | 2; + HEAP32[$171>>2] = $173; + } + } + } while(0); + $174 = HEAP32[$7>>2]|0; + $175 = ($174|0)==(0); + if ($175) { + $176 = HEAP32[$4>>2]|0; + $177 = $13; + $178 = $177; + $179 = HEAP32[$178>>2]|0; + $180 = (($177) + 4)|0; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$12>>2]|0; + $184 = HEAP32[$9>>2]|0; + $185 = (_fts3IncrmergeCsr($176,$179,$182,$183,$184)|0); + HEAP32[$7>>2] = $185; + } + $186 = HEAP32[$7>>2]|0; + $187 = (0)==($186|0); + if ($187) { + $188 = HEAP32[$9>>2]|0; + $189 = ((($188)) + 4|0); + $190 = HEAP32[$189>>2]|0; + $191 = HEAP32[$12>>2]|0; + $192 = ($190|0)==($191|0); + if ($192) { + $193 = HEAP32[$4>>2]|0; + $194 = HEAP32[$9>>2]|0; + $195 = HEAP32[$10>>2]|0; + $196 = (_sqlite3Fts3SegReaderStart($193,$194,$195)|0); + HEAP32[$7>>2] = $196; + $197 = (0)==($196|0); + if ($197) { + $198 = HEAP32[$4>>2]|0; + $199 = HEAP32[$9>>2]|0; + $200 = (_sqlite3Fts3SegReaderStep($198,$199)|0); + HEAP32[$7>>2] = $200; + $201 = (100)==($200|0); + if ($201) { + $202 = HEAP32[$19>>2]|0; + $203 = ($202|0)!=(0); + $204 = HEAP32[$20>>2]|0; + $205 = ($204|0)>(0); + $or$cond3 = $203 & $205; + if ($or$cond3) { + $206 = HEAP32[$9>>2]|0; + $207 = ((($206)) + 40|0); + $208 = HEAP32[$207>>2]|0; + HEAP32[$25>>2] = $208; + $209 = HEAP32[$9>>2]|0; + $210 = ((($209)) + 44|0); + $211 = HEAP32[$210>>2]|0; + HEAP32[$26>>2] = $211; + $212 = HEAP32[$4>>2]|0; + $213 = $13; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (($213) + 4)|0; + $217 = $216; + $218 = HEAP32[$217>>2]|0; + $219 = HEAP32[$20>>2]|0; + $220 = (($219) - 1)|0; + $221 = HEAP32[$25>>2]|0; + $222 = HEAP32[$26>>2]|0; + $223 = HEAP32[$11>>2]|0; + $224 = (_fts3IncrmergeLoad($212,$215,$218,$220,$221,$222,$223)|0); + HEAP32[$7>>2] = $224; + } else { + $225 = HEAP32[$4>>2]|0; + $226 = $13; + $227 = $226; + $228 = HEAP32[$227>>2]|0; + $229 = (($226) + 4)|0; + $230 = $229; + $231 = HEAP32[$230>>2]|0; + $232 = HEAP32[$20>>2]|0; + $233 = HEAP32[$9>>2]|0; + $234 = HEAP32[$11>>2]|0; + $235 = (_fts3IncrmergeWriter($225,$228,$231,$232,$233,$234)|0); + HEAP32[$7>>2] = $235; + } + $236 = HEAP32[$7>>2]|0; + $237 = ($236|0)==(0); + if ($237) { + $238 = HEAP32[$11>>2]|0; + $239 = HEAP32[$238>>2]|0; + $240 = ($239|0)!=(0); + if ($240) { + while(1) { + $241 = HEAP32[$4>>2]|0; + $242 = HEAP32[$11>>2]|0; + $243 = HEAP32[$9>>2]|0; + $244 = (_fts3IncrmergeAppend($241,$242,$243)|0); + HEAP32[$7>>2] = $244; + $245 = HEAP32[$7>>2]|0; + $246 = ($245|0)==(0); + if ($246) { + $247 = HEAP32[$4>>2]|0; + $248 = HEAP32[$9>>2]|0; + $249 = (_sqlite3Fts3SegReaderStep($247,$248)|0); + HEAP32[$7>>2] = $249; + } + $250 = HEAP32[$11>>2]|0; + $251 = ((($250)) + 4|0); + $252 = HEAP32[$251>>2]|0; + $253 = HEAP32[$8>>2]|0; + $254 = ($252|0)>=($253|0); + $255 = HEAP32[$7>>2]|0; + $256 = ($255|0)==(100); + $or$cond5 = $254 & $256; + if ($or$cond5) { + HEAP32[$7>>2] = 0; + } + $257 = HEAP32[$7>>2]|0; + $258 = ($257|0)==(100); + if (!($258)) { + break; + } } - break; - } - case 73: { - $174 = HEAP32[$pOp>>2]|0; - $175 = ((($174)) + 4|0); - $176 = HEAP32[$175>>2]|0; - $177 = HEAP32[$aMem>>2]|0; - $178 = (($177) + (($176*40)|0)|0); - HEAP32[$pIn1>>2] = $178; - $179 = HEAP32[$pIn1>>2]|0; - $180 = $179; - $181 = $180; - $182 = HEAP32[$181>>2]|0; - $183 = (($180) + 4)|0; - $184 = $183; - $185 = HEAP32[$184>>2]|0; - $186 = HEAP32[$aOp>>2]|0; - $187 = (($186) + (($182*20)|0)|0); - HEAP32[$pCaller>>2] = $187; - $188 = HEAP32[$pCaller>>2]|0; - $189 = ((($188)) + 8|0); - $190 = HEAP32[$189>>2]|0; - $191 = (($190) - 1)|0; - $192 = HEAP32[$aOp>>2]|0; - $193 = (($192) + (($191*20)|0)|0); - HEAP32[$pOp>>2] = $193; - $194 = HEAP32[$pIn1>>2]|0; - $195 = ((($194)) + 8|0); - HEAP16[$195>>1] = 128; - break; - } - case 16: { - $196 = HEAP32[$pOp>>2]|0; - $197 = ((($196)) + 4|0); - $198 = HEAP32[$197>>2]|0; - $199 = HEAP32[$aMem>>2]|0; - $200 = (($199) + (($198*40)|0)|0); - HEAP32[$pIn1>>2] = $200; - $201 = HEAP32[$pIn1>>2]|0; - $202 = ((($201)) + 8|0); - HEAP16[$202>>1] = 4; - $203 = HEAP32[$pIn1>>2]|0; - $204 = $203; - $205 = $204; - $206 = HEAP32[$205>>2]|0; - $207 = (($204) + 4)|0; - $208 = $207; - $209 = HEAP32[$208>>2]|0; - HEAP32[$pcDest>>2] = $206; - $210 = HEAP32[$pOp>>2]|0; - $211 = HEAP32[$aOp>>2]|0; - $212 = $210; - $213 = $211; - $214 = (($212) - ($213))|0; - $215 = (($214|0) / 20)&-1; - $216 = ($215|0)<(0); - $217 = $216 << 31 >> 31; - $218 = HEAP32[$pIn1>>2]|0; - $219 = $218; - $220 = $219; - HEAP32[$220>>2] = $215; - $221 = (($219) + 4)|0; - $222 = $221; - HEAP32[$222>>2] = $217; - $223 = HEAP32[$pcDest>>2]|0; - $224 = HEAP32[$aOp>>2]|0; - $225 = (($224) + (($223*20)|0)|0); - HEAP32[$pOp>>2] = $225; - break; - } - case 74: { - $226 = HEAP32[$pOp>>2]|0; - $227 = ((($226)) + 12|0); - $228 = HEAP32[$227>>2]|0; - $229 = HEAP32[$aMem>>2]|0; - $230 = (($229) + (($228*40)|0)|0); - HEAP32[$pIn3>>2] = $230; - $231 = HEAP32[$pIn3>>2]|0; - $232 = ((($231)) + 8|0); - $233 = HEAP16[$232>>1]|0; - $234 = $233&65535; - $235 = $234 & 1; - $236 = ($235|0)==(0); - if (!($236)) { - label = 20; + $259 = HEAP32[$7>>2]|0; + $260 = ($259|0)==(0); + if ($260) { + $261 = HEAP32[$11>>2]|0; + $262 = ((($261)) + 4|0); + $263 = HEAP32[$262>>2]|0; + $264 = (1 + ($263))|0; + $265 = HEAP32[$8>>2]|0; + $266 = (($265) - ($264))|0; + HEAP32[$8>>2] = $266; + $267 = HEAP32[$4>>2]|0; + $268 = $13; + $269 = $268; + $270 = HEAP32[$269>>2]|0; + $271 = (($268) + 4)|0; + $272 = $271; + $273 = HEAP32[$272>>2]|0; + $274 = HEAP32[$9>>2]|0; + $275 = (_fts3IncrmergeChomp($267,$270,$273,$274,$12)|0); + HEAP32[$7>>2] = $275; + $276 = HEAP32[$12>>2]|0; + $277 = ($276|0)!=(0); + if ($277) { + HEAP32[$15>>2] = 1; + $278 = $13; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + $284 = HEAP32[$12>>2]|0; + _fts3IncrmergeHintPush($14,$280,$283,$284,$7); + } } - break; - } - case 75: { - label = 20; - break; } - case 76: { - $367 = HEAP32[$0>>2]|0; - $368 = HEAP32[$pOp>>2]|0; - $369 = (_out2Prerelease($367,$368)|0); - HEAP32[$pOut>>2] = $369; - $370 = HEAP32[$pOp>>2]|0; - $371 = ((($370)) + 4|0); - $372 = HEAP32[$371>>2]|0; - $373 = ($372|0)<(0); - $374 = $373 << 31 >> 31; - $375 = HEAP32[$pOut>>2]|0; - $376 = $375; - $377 = $376; - HEAP32[$377>>2] = $372; - $378 = (($376) + 4)|0; - $379 = $378; - HEAP32[$379>>2] = $374; - break; + } + $285 = HEAP32[$12>>2]|0; + $286 = ($285|0)!=(0); + if ($286) { + $287 = HEAP32[$11>>2]|0; + $288 = ((($287)) + 40|0); + $289 = $288; + $290 = $289; + $291 = HEAP32[$290>>2]|0; + $292 = (($289) + 4)|0; + $293 = $292; + $294 = HEAP32[$293>>2]|0; + $295 = (___muldi3(($291|0),($294|0),-1,-1)|0); + $296 = tempRet0; + $297 = HEAP32[$11>>2]|0; + $298 = ((($297)) + 40|0); + $299 = $298; + $300 = $299; + HEAP32[$300>>2] = $295; + $301 = (($299) + 4)|0; + $302 = $301; + HEAP32[$302>>2] = $296; + } + $303 = HEAP32[$4>>2]|0; + $304 = HEAP32[$11>>2]|0; + _fts3IncrmergeRelease($303,$304,$7); + $305 = HEAP32[$12>>2]|0; + $306 = ($305|0)==(0); + if ($306) { + $307 = HEAP32[$11>>2]|0; + $308 = ((($307)) + 48|0); + $309 = HEAP8[$308>>0]|0; + $310 = $309&255; + $311 = ($310|0)==(0); + if ($311) { + $312 = HEAP32[$4>>2]|0; + $313 = $13; + $314 = $313; + $315 = HEAP32[$314>>2]|0; + $316 = (($313) + 4)|0; + $317 = $316; + $318 = HEAP32[$317>>2]|0; + $319 = (_i64Add(($315|0),($318|0),1,0)|0); + $320 = tempRet0; + $321 = HEAP32[$11>>2]|0; + $322 = ((($321)) + 40|0); + $323 = $322; + $324 = $323; + $325 = HEAP32[$324>>2]|0; + $326 = (($323) + 4)|0; + $327 = $326; + $328 = HEAP32[$327>>2]|0; + (_fts3PromoteSegments($312,$319,$320,$325,$328)|0); } - case 77: { - $380 = HEAP32[$0>>2]|0; - $381 = HEAP32[$pOp>>2]|0; - $382 = (_out2Prerelease($380,$381)|0); - HEAP32[$pOut>>2] = $382; - $383 = HEAP32[$pOp>>2]|0; - $384 = ((($383)) + 16|0); - $385 = HEAP32[$384>>2]|0; - $386 = $385; - $387 = $386; - $388 = HEAP32[$387>>2]|0; - $389 = (($386) + 4)|0; - $390 = $389; - $391 = HEAP32[$390>>2]|0; - $392 = HEAP32[$pOut>>2]|0; - $393 = $392; + } + } + } + } + } + $329 = HEAP32[$9>>2]|0; + _sqlite3Fts3SegReaderFinish($329); + } + $330 = HEAP32[$15>>2]|0; + $331 = ($330|0)!=(0); + $332 = HEAP32[$7>>2]|0; + $333 = ($332|0)==(0); + $or$cond7 = $331 & $333; + if ($or$cond7) { + $334 = HEAP32[$4>>2]|0; + $335 = (_fts3IncrmergeHintStore($334,$14)|0); + HEAP32[$7>>2] = $335; + } + $336 = HEAP32[$11>>2]|0; + _sqlite3_free($336); + $337 = HEAP32[$14>>2]|0; + _sqlite3_free($337); + $338 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $338; + $339 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($339|0); +} +function _fts3IncrmergeHintLoad($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 4|0); + HEAP32[$10>>2] = 0; + $11 = HEAP32[$2>>2]|0; + $12 = (_fts3SqlStmt($11,22,$4,0)|0); + HEAP32[$5>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + $41 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($41|0); + } + $15 = HEAP32[$4>>2]|0; + (_sqlite3_bind_int($15,1,1)|0); + $16 = HEAP32[$4>>2]|0; + $17 = (_sqlite3_step($16)|0); + $18 = (100)==($17|0); + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = (_sqlite3_column_blob($19,0)|0); + HEAP32[$7>>2] = $20; + $21 = HEAP32[$4>>2]|0; + $22 = (_sqlite3_column_bytes($21,0)|0); + HEAP32[$8>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$8>>2]|0; + _blobGrowBuffer($25,$26,$5); + $27 = HEAP32[$5>>2]|0; + $28 = ($27|0)==(0); + if ($28) { + $29 = HEAP32[$3>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$8>>2]|0; + _memcpy(($30|0),($31|0),($32|0))|0; + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 4|0); + HEAP32[$35>>2] = $33; + } + } + } + $36 = HEAP32[$4>>2]|0; + $37 = (_sqlite3_reset($36)|0); + HEAP32[$6>>2] = $37; + $38 = HEAP32[$5>>2]|0; + $39 = ($38|0)==(0); + if (!($39)) { + $41 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($41|0); + } + $40 = HEAP32[$6>>2]|0; + HEAP32[$5>>2] = $40; + $41 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($41|0); +} +function _fts3IncrmergeHintPop($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$7>>2] = $11; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) - 2)|0; + HEAP32[$8>>2] = $15; + while(1) { + $16 = HEAP32[$8>>2]|0; + $17 = ($16|0)>(0); + if (!($17)) { + break; + } + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$8>>2]|0; + $21 = (($20) - 1)|0; + $22 = (($19) + ($21)|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23 << 24 >> 24; + $25 = $24 & 128; + $26 = ($25|0)!=(0); + if (!($26)) { + break; + } + $27 = HEAP32[$8>>2]|0; + $28 = (($27) + -1)|0; + HEAP32[$8>>2] = $28; + } + while(1) { + $29 = HEAP32[$8>>2]|0; + $30 = ($29|0)>(0); + if ($30) { + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = (($33) - 1)|0; + $35 = (($32) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36 << 24 >> 24; + $38 = $37 & 128; + $39 = ($38|0)!=(0); + $76 = $39; + } else { + $76 = 0; + } + $40 = HEAP32[$8>>2]|0; + if (!($76)) { + break; + } + $41 = (($40) + -1)|0; + HEAP32[$8>>2] = $41; + } + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 4|0); + HEAP32[$43>>2] = $40; + $44 = HEAP32[$4>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$8>>2]|0; + $47 = (($45) + ($46)|0); + $48 = HEAP32[$5>>2]|0; + $49 = (_sqlite3Fts3GetVarint($47,$48)|0); + $50 = HEAP32[$8>>2]|0; + $51 = (($50) + ($49))|0; + HEAP32[$8>>2] = $51; + $52 = HEAP32[$4>>2]|0; + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$8>>2]|0; + $55 = (($53) + ($54)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $57 & 128; + $59 = ($58|0)!=(0); + $60 = HEAP32[$4>>2]|0; + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$8>>2]|0; + $63 = (($61) + ($62)|0); + if ($59) { + $64 = HEAP32[$6>>2]|0; + $65 = (_sqlite3Fts3GetVarint32($63,$64)|0); + $71 = $65; + } else { + $66 = HEAP8[$63>>0]|0; + $67 = $66&255; + $68 = HEAP32[$6>>2]|0; + HEAP32[$68>>2] = $67; + $71 = 1; + } + $69 = HEAP32[$8>>2]|0; + $70 = (($69) + ($71))|0; + HEAP32[$8>>2] = $70; + $72 = HEAP32[$8>>2]|0; + $73 = HEAP32[$7>>2]|0; + $74 = ($72|0)!=($73|0); + if ($74) { + HEAP32[$3>>2] = 267; + $75 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($75|0); + } else { + HEAP32[$3>>2] = 0; + $75 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($75|0); + } + return (0)|0; +} +function _fts3IncrmergeOutputIdx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$4>>2] = $0; + $9 = $5; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + HEAP32[$6>>2] = $3; + HEAP32[$8>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = (_fts3SqlStmt($13,8,$8,0)|0); + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ($15|0)==(0); + if (!($16)) { + $32 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($32|0); + } + $17 = HEAP32[$8>>2]|0; + $18 = $5; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (_i64Add(($20|0),($23|0),1,0)|0); + $25 = tempRet0; + (_sqlite3_bind_int64($17,1,$24,$25)|0); + $26 = HEAP32[$8>>2]|0; + (_sqlite3_step($26)|0); + $27 = HEAP32[$8>>2]|0; + $28 = (_sqlite3_column_int($27,0)|0); + $29 = HEAP32[$6>>2]|0; + HEAP32[$29>>2] = $28; + $30 = HEAP32[$8>>2]|0; + $31 = (_sqlite3_reset($30)|0); + HEAP32[$7>>2] = $31; + $32 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _fts3SegmentIsMaxLevel($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + HEAP32[$5>>2] = $0; + $10 = $6; + $11 = $10; + HEAP32[$11>>2] = $1; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $2; + HEAP32[$7>>2] = $3; + $14 = HEAP32[$5>>2]|0; + $15 = (_fts3SqlStmt($14,15,$8,0)|0); + HEAP32[$9>>2] = $15; + $16 = HEAP32[$9>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + $18 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $18; + $52 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($52|0); + } + $19 = HEAP32[$8>>2]|0; + $20 = $6; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (_i64Add(($22|0),($25|0),1,0)|0); + $27 = tempRet0; + (_sqlite3_bind_int64($19,1,$26,$27)|0); + $28 = HEAP32[$8>>2]|0; + $29 = $6; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (___divdi3(($31|0),($34|0),1024,0)|0); + $36 = tempRet0; + $37 = (_i64Add(($35|0),($36|0),1,0)|0); + $38 = tempRet0; + $39 = (___muldi3(($37|0),($38|0),1024,0)|0); + $40 = tempRet0; + (_sqlite3_bind_int64($28,2,$39,$40)|0); + $41 = HEAP32[$7>>2]|0; + HEAP32[$41>>2] = 0; + $42 = HEAP32[$8>>2]|0; + $43 = (_sqlite3_step($42)|0); + $44 = (100)==($43|0); + if ($44) { + $45 = HEAP32[$8>>2]|0; + $46 = (_sqlite3_column_type($45,0)|0); + $47 = ($46|0)==(5); + $48 = $47&1; + $49 = HEAP32[$7>>2]|0; + HEAP32[$49>>2] = $48; + } + $50 = HEAP32[$8>>2]|0; + $51 = (_sqlite3_reset($50)|0); + HEAP32[$4>>2] = $51; + $52 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($52|0); +} +function _fts3IncrmergeCsr($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 36|0; + $6 = sp; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + HEAP32[$5>>2] = $0; + $14 = $6; + $15 = $14; + HEAP32[$15>>2] = $1; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = $4; + HEAP32[$10>>2] = 0; + $18 = HEAP32[$8>>2]|0; + dest=$18; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[$7>>2]|0; + $20 = $19<<2; + HEAP32[$11>>2] = $20; + $21 = HEAP32[$11>>2]|0; + $22 = (_sqlite3_malloc($21)|0); + $23 = HEAP32[$8>>2]|0; + HEAP32[$23>>2] = $22; + $24 = HEAP32[$8>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + HEAP32[$9>>2] = 7; + } else { + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$11>>2]|0; + _memset(($28|0),0,($29|0))|0; + $30 = HEAP32[$5>>2]|0; + $31 = (_fts3SqlStmt($30,12,$10,0)|0); + HEAP32[$9>>2] = $31; + } + $32 = HEAP32[$9>>2]|0; + $33 = ($32|0)==(0); + if (!($33)) { + $79 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($79|0); + } + $34 = HEAP32[$10>>2]|0; + $35 = $6; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + (_sqlite3_bind_int64($34,1,$37,$40)|0); + HEAP32[$12>>2] = 0; + while(1) { + $41 = HEAP32[$9>>2]|0; + $42 = ($41|0)==(0); + if (!($42)) { + break; + } + $43 = HEAP32[$10>>2]|0; + $44 = (_sqlite3_step($43)|0); + $45 = ($44|0)==(100); + if (!($45)) { + break; + } + $46 = HEAP32[$12>>2]|0; + $47 = HEAP32[$7>>2]|0; + $48 = ($46|0)<($47|0); + if (!($48)) { + break; + } + $49 = HEAP32[$12>>2]|0; + $50 = HEAP32[$10>>2]|0; + $51 = (_sqlite3_column_int64($50,1)|0); + $52 = tempRet0; + $53 = HEAP32[$10>>2]|0; + $54 = (_sqlite3_column_int64($53,2)|0); + $55 = tempRet0; + $56 = HEAP32[$10>>2]|0; + $57 = (_sqlite3_column_int64($56,3)|0); + $58 = tempRet0; + $59 = HEAP32[$10>>2]|0; + $60 = (_sqlite3_column_blob($59,4)|0); + $61 = HEAP32[$10>>2]|0; + $62 = (_sqlite3_column_bytes($61,4)|0); + $63 = HEAP32[$8>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$12>>2]|0; + $66 = (($64) + ($65<<2)|0); + $67 = (_sqlite3Fts3SegReaderNew($49,0,$51,$52,$54,$55,$57,$58,$60,$62,$66)|0); + HEAP32[$9>>2] = $67; + $68 = HEAP32[$8>>2]|0; + $69 = ((($68)) + 4|0); + $70 = HEAP32[$69>>2]|0; + $71 = (($70) + 1)|0; + HEAP32[$69>>2] = $71; + $72 = HEAP32[$12>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$12>>2] = $73; + } + $74 = HEAP32[$10>>2]|0; + $75 = (_sqlite3_reset($74)|0); + HEAP32[$13>>2] = $75; + $76 = HEAP32[$9>>2]|0; + $77 = ($76|0)==(0); + if (!($77)) { + $79 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($79|0); + } + $78 = HEAP32[$13>>2]|0; + HEAP32[$9>>2] = $78; + $79 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($79|0); +} +function _fts3IncrmergeLoad($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208|0; + $7 = sp + 200|0; + $8 = sp + 196|0; + $9 = sp + 120|0; + $10 = sp + 192|0; + $11 = sp + 188|0; + $12 = sp + 184|0; + $13 = sp + 180|0; + $14 = sp + 176|0; + $15 = sp + 172|0; + $16 = sp + 112|0; + $17 = sp + 104|0; + $18 = sp + 96|0; + $19 = sp + 168|0; + $20 = sp + 164|0; + $21 = sp + 160|0; + $22 = sp + 156|0; + $23 = sp + 152|0; + $24 = sp + 148|0; + $25 = sp + 48|0; + $26 = sp + 144|0; + $27 = sp + 140|0; + $28 = sp + 136|0; + $29 = sp; + $30 = sp + 132|0; + $31 = sp + 128|0; + HEAP32[$8>>2] = $0; + $32 = $9; + $33 = $32; + HEAP32[$33>>2] = $1; + $34 = (($32) + 4)|0; + $35 = $34; + HEAP32[$35>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + HEAP32[$15>>2] = 0; + $36 = HEAP32[$8>>2]|0; + $37 = (_fts3SqlStmt($36,32,$15,0)|0); + HEAP32[$14>>2] = $37; + $38 = HEAP32[$14>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = $16; + $41 = $40; + HEAP32[$41>>2] = 0; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = 0; + $44 = $17; + $45 = $44; + HEAP32[$45>>2] = 0; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = 0; + $48 = $18; + $49 = $48; + HEAP32[$49>>2] = 0; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = 0; + HEAP32[$19>>2] = 0; + HEAP32[$20>>2] = 0; + HEAP32[$22>>2] = 0; + $52 = HEAP32[$15>>2]|0; + $53 = $9; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (_i64Add(($55|0),($58|0),1,0)|0); + $60 = tempRet0; + (_sqlite3_bind_int64($52,1,$59,$60)|0); + $61 = HEAP32[$15>>2]|0; + $62 = HEAP32[$10>>2]|0; + (_sqlite3_bind_int($61,2,$62)|0); + $63 = HEAP32[$15>>2]|0; + $64 = (_sqlite3_step($63)|0); + $65 = ($64|0)==(100); + $66 = HEAP32[$15>>2]|0; + if (!($65)) { + $139 = (_sqlite3_reset($66)|0); + HEAP32[$7>>2] = $139; + $415 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($415|0); + } + $67 = (_sqlite3_column_int64($66,1)|0); + $68 = tempRet0; + $69 = $16; + $70 = $69; + HEAP32[$70>>2] = $67; + $71 = (($69) + 4)|0; + $72 = $71; + HEAP32[$72>>2] = $68; + $73 = HEAP32[$15>>2]|0; + $74 = (_sqlite3_column_int64($73,2)|0); + $75 = tempRet0; + $76 = $17; + $77 = $76; + HEAP32[$77>>2] = $74; + $78 = (($76) + 4)|0; + $79 = $78; + HEAP32[$79>>2] = $75; + $80 = HEAP32[$15>>2]|0; + $81 = HEAP32[$13>>2]|0; + $82 = ((($81)) + 40|0); + _fts3ReadEndBlockField($80,3,$18,$82); + $83 = HEAP32[$13>>2]|0; + $84 = ((($83)) + 40|0); + $85 = $84; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = ($90|0)<(0); + if ($91) { + $92 = HEAP32[$13>>2]|0; + $93 = ((($92)) + 40|0); + $94 = $93; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (___muldi3(($96|0),($99|0),-1,-1)|0); + $101 = tempRet0; + $102 = HEAP32[$13>>2]|0; + $103 = ((($102)) + 40|0); + $104 = $103; + $105 = $104; + HEAP32[$105>>2] = $100; + $106 = (($104) + 4)|0; + $107 = $106; + HEAP32[$107>>2] = $101; + } + $108 = HEAP32[$13>>2]|0; + $109 = ((($108)) + 40|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ($112|0)==(0); + $117 = ($115|0)==(0); + $118 = $116 & $117; + $119 = $118&1; + $120 = $119&255; + $121 = HEAP32[$13>>2]|0; + $122 = ((($121)) + 48|0); + HEAP8[$122>>0] = $120; + $123 = HEAP32[$15>>2]|0; + $124 = (_sqlite3_column_bytes($123,4)|0); + HEAP32[$20>>2] = $124; + $125 = HEAP32[$15>>2]|0; + $126 = (_sqlite3_column_blob($125,4)|0); + HEAP32[$19>>2] = $126; + $127 = HEAP32[$8>>2]|0; + $128 = $18; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = (($128) + 4)|0; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (_fts3IsAppendable($127,$130,$133,$22)|0); + HEAP32[$14>>2] = $134; + $135 = HEAP32[$14>>2]|0; + $136 = ($135|0)==(0); + $137 = HEAP32[$22>>2]|0; + $138 = ($137|0)!=(0); + $or$cond = $136 & $138; + if ($or$cond) { + HEAP32[$23>>2] = 0; + HEAP32[$24>>2] = 0; + $140 = HEAP32[$8>>2]|0; + $141 = $17; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = (($141) + 4)|0; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (_sqlite3Fts3ReadBlock($140,$143,$146,$23,$24,0)|0); + HEAP32[$14>>2] = $147; + $148 = HEAP32[$14>>2]|0; + $149 = ($148|0)==(0); + if ($149) { + $150 = HEAP32[$23>>2]|0; + $151 = HEAP32[$24>>2]|0; + $152 = (_nodeReaderInit($25,$150,$151)|0); + HEAP32[$14>>2] = $152; + while(1) { + $153 = HEAP32[$14>>2]|0; + $154 = ($153|0)==(0); + $155 = HEAP32[$25>>2]|0; + $156 = ($155|0)!=(0|0); + $157 = $154 ? $156 : 0; + if (!($157)) { + break; + } + $158 = (_nodeReaderNext($25)|0); + HEAP32[$14>>2] = $158; + } + $159 = HEAP32[$11>>2]|0; + $160 = HEAP32[$12>>2]|0; + $161 = ((($25)) + 24|0); + $162 = HEAP32[$161>>2]|0; + $163 = ((($25)) + 24|0); + $164 = ((($163)) + 4|0); + $165 = HEAP32[$164>>2]|0; + $166 = (_fts3TermCmp($159,$160,$162,$165)|0); + $167 = ($166|0)<=(0); + if ($167) { + HEAP32[$22>>2] = 0; + } + _nodeReaderRelease($25); + } + $168 = HEAP32[$23>>2]|0; + _sqlite3_free($168); + } + $169 = HEAP32[$14>>2]|0; + $170 = ($169|0)==(0); + $171 = HEAP32[$22>>2]|0; + $172 = ($171|0)!=(0); + $or$cond3 = $170 & $172; + L23: do { + if ($or$cond3) { + $173 = HEAP32[$19>>2]|0; + $174 = HEAP8[$173>>0]|0; + $175 = $174 << 24 >> 24; + HEAP32[$27>>2] = $175; + $176 = $18; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = (($176) + 4)|0; + $180 = $179; + $181 = HEAP32[$180>>2]|0; + $182 = $16; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = (($182) + 4)|0; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = (_i64Subtract(($178|0),($181|0),($184|0),($187|0))|0); + $189 = tempRet0; + $190 = (_i64Add(($188|0),($189|0),1,0)|0); + $191 = tempRet0; + $192 = (($190|0) / 16)&-1; + $193 = HEAP32[$13>>2]|0; + HEAP32[$193>>2] = $192; + $194 = $16; + $195 = $194; + $196 = HEAP32[$195>>2]|0; + $197 = (($194) + 4)|0; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = HEAP32[$13>>2]|0; + $201 = ((($200)) + 24|0); + $202 = $201; + $203 = $202; + HEAP32[$203>>2] = $196; + $204 = (($202) + 4)|0; + $205 = $204; + HEAP32[$205>>2] = $199; + $206 = $18; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = (($206) + 4)|0; + $210 = $209; + $211 = HEAP32[$210>>2]|0; + $212 = HEAP32[$13>>2]|0; + $213 = ((($212)) + 32|0); + $214 = $213; + $215 = $214; + HEAP32[$215>>2] = $208; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $211; + $218 = $9; + $219 = $218; + $220 = HEAP32[$219>>2]|0; + $221 = (($218) + 4)|0; + $222 = $221; + $223 = HEAP32[$222>>2]|0; + $224 = HEAP32[$13>>2]|0; + $225 = ((($224)) + 8|0); + $226 = $225; + $227 = $226; + HEAP32[$227>>2] = $220; + $228 = (($226) + 4)|0; + $229 = $228; + HEAP32[$229>>2] = $223; + $230 = HEAP32[$10>>2]|0; + $231 = HEAP32[$13>>2]|0; + $232 = ((($231)) + 16|0); + HEAP32[$232>>2] = $230; + $233 = HEAP32[$27>>2]|0; + $234 = (($233) + 1)|0; + HEAP32[$26>>2] = $234; + while(1) { + $235 = HEAP32[$26>>2]|0; + $236 = ($235|0)<(16); + $237 = HEAP32[$13>>2]|0; + if (!($236)) { + break; + } + $238 = ((($237)) + 24|0); + $239 = $238; + $240 = $239; + $241 = HEAP32[$240>>2]|0; + $242 = (($239) + 4)|0; + $243 = $242; + $244 = HEAP32[$243>>2]|0; + $245 = HEAP32[$26>>2]|0; + $246 = HEAP32[$13>>2]|0; + $247 = HEAP32[$246>>2]|0; + $248 = Math_imul($245, $247)|0; + $249 = ($248|0)<(0); + $250 = $249 << 31 >> 31; + $251 = (_i64Add(($241|0),($244|0),($248|0),($250|0))|0); + $252 = tempRet0; + $253 = HEAP32[$13>>2]|0; + $254 = ((($253)) + 56|0); + $255 = HEAP32[$26>>2]|0; + $256 = (($254) + ($255<<5)|0); + $257 = $256; + $258 = $257; + HEAP32[$258>>2] = $251; + $259 = (($257) + 4)|0; + $260 = $259; + HEAP32[$260>>2] = $252; + $261 = HEAP32[$26>>2]|0; + $262 = (($261) + 1)|0; + HEAP32[$26>>2] = $262; + } + $263 = ((($237)) + 56|0); + $264 = HEAP32[$27>>2]|0; + $265 = (($263) + ($264<<5)|0); + HEAP32[$28>>2] = $265; + $266 = HEAP32[$13>>2]|0; + $267 = ((($266)) + 24|0); + $268 = $267; + $269 = $268; + $270 = HEAP32[$269>>2]|0; + $271 = (($268) + 4)|0; + $272 = $271; + $273 = HEAP32[$272>>2]|0; + $274 = HEAP32[$13>>2]|0; + $275 = HEAP32[$274>>2]|0; + $276 = HEAP32[$27>>2]|0; + $277 = Math_imul($275, $276)|0; + $278 = ($277|0)<(0); + $279 = $278 << 31 >> 31; + $280 = (_i64Add(($270|0),($273|0),($277|0),($279|0))|0); + $281 = tempRet0; + $282 = HEAP32[$28>>2]|0; + $283 = $282; + $284 = $283; + HEAP32[$284>>2] = $280; + $285 = (($283) + 4)|0; + $286 = $285; + HEAP32[$286>>2] = $281; + $287 = HEAP32[$28>>2]|0; + $288 = ((($287)) + 20|0); + $289 = HEAP32[$20>>2]|0; + $290 = HEAP32[$8>>2]|0; + $291 = ((($290)) + 224|0); + $292 = HEAP32[$291>>2]|0; + $293 = ($289|0)>($292|0); + if ($293) { + $294 = HEAP32[$20>>2]|0; + $298 = $294; + } else { + $295 = HEAP32[$8>>2]|0; + $296 = ((($295)) + 224|0); + $297 = HEAP32[$296>>2]|0; + $298 = $297; + } + _blobGrowBuffer($288,$298,$14); + $299 = HEAP32[$14>>2]|0; + $300 = ($299|0)==(0); + if ($300) { + $301 = HEAP32[$28>>2]|0; + $302 = ((($301)) + 20|0); + $303 = HEAP32[$302>>2]|0; + $304 = HEAP32[$19>>2]|0; + $305 = HEAP32[$20>>2]|0; + _memcpy(($303|0),($304|0),($305|0))|0; + $306 = HEAP32[$20>>2]|0; + $307 = HEAP32[$28>>2]|0; + $308 = ((($307)) + 20|0); + $309 = ((($308)) + 4|0); + HEAP32[$309>>2] = $306; + } + $310 = HEAP32[$27>>2]|0; + HEAP32[$26>>2] = $310; + while(1) { + $311 = HEAP32[$26>>2]|0; + $312 = ($311|0)>=(0); + $313 = HEAP32[$14>>2]|0; + $314 = ($313|0)==(0); + $315 = $312 ? $314 : 0; + if (!($315)) { + break L23; + } + $316 = HEAP32[$13>>2]|0; + $317 = ((($316)) + 56|0); + $318 = HEAP32[$26>>2]|0; + $319 = (($317) + ($318<<5)|0); + HEAP32[$28>>2] = $319; + $320 = HEAP32[$28>>2]|0; + $321 = ((($320)) + 20|0); + $322 = HEAP32[$321>>2]|0; + $323 = HEAP32[$28>>2]|0; + $324 = ((($323)) + 20|0); + $325 = ((($324)) + 4|0); + $326 = HEAP32[$325>>2]|0; + $327 = (_nodeReaderInit($29,$322,$326)|0); + HEAP32[$14>>2] = $327; + while(1) { + $328 = HEAP32[$29>>2]|0; + $329 = ($328|0)!=(0|0); + $330 = HEAP32[$14>>2]|0; + $331 = ($330|0)==(0); + $332 = $329 ? $331 : 0; + if (!($332)) { + break; + } + $333 = (_nodeReaderNext($29)|0); + HEAP32[$14>>2] = $333; + } + $334 = HEAP32[$28>>2]|0; + $335 = ((($334)) + 8|0); + $336 = ((($29)) + 24|0); + $337 = ((($336)) + 4|0); + $338 = HEAP32[$337>>2]|0; + _blobGrowBuffer($335,$338,$14); + $339 = HEAP32[$14>>2]|0; + $340 = ($339|0)==(0); + if ($340) { + $341 = HEAP32[$28>>2]|0; + $342 = ((($341)) + 8|0); + $343 = HEAP32[$342>>2]|0; + $344 = ((($29)) + 24|0); + $345 = HEAP32[$344>>2]|0; + $346 = ((($29)) + 24|0); + $347 = ((($346)) + 4|0); + $348 = HEAP32[$347>>2]|0; + _memcpy(($343|0),($345|0),($348|0))|0; + $349 = ((($29)) + 24|0); + $350 = ((($349)) + 4|0); + $351 = HEAP32[$350>>2]|0; + $352 = HEAP32[$28>>2]|0; + $353 = ((($352)) + 8|0); + $354 = ((($353)) + 4|0); + HEAP32[$354>>2] = $351; + $355 = HEAP32[$26>>2]|0; + $356 = ($355|0)>(0); + if ($356) { + HEAP32[$30>>2] = 0; + HEAP32[$31>>2] = 0; + $357 = HEAP32[$13>>2]|0; + $358 = ((($357)) + 56|0); + $359 = HEAP32[$26>>2]|0; + $360 = (($359) - 1)|0; + $361 = (($358) + ($360<<5)|0); + HEAP32[$28>>2] = $361; + $362 = ((($29)) + 16|0); + $363 = $362; + $364 = $363; + $365 = HEAP32[$364>>2]|0; + $366 = (($363) + 4)|0; + $367 = $366; + $368 = HEAP32[$367>>2]|0; + $369 = HEAP32[$28>>2]|0; + $370 = $369; + $371 = $370; + HEAP32[$371>>2] = $365; + $372 = (($370) + 4)|0; + $373 = $372; + HEAP32[$373>>2] = $368; + $374 = HEAP32[$8>>2]|0; + $375 = ((($29)) + 16|0); + $376 = $375; + $377 = $376; + $378 = HEAP32[$377>>2]|0; + $379 = (($376) + 4)|0; + $380 = $379; + $381 = HEAP32[$380>>2]|0; + $382 = (_sqlite3Fts3ReadBlock($374,$378,$381,$30,$31,0)|0); + HEAP32[$14>>2] = $382; + $383 = HEAP32[$28>>2]|0; + $384 = ((($383)) + 20|0); + $385 = HEAP32[$31>>2]|0; + $386 = HEAP32[$8>>2]|0; + $387 = ((($386)) + 224|0); + $388 = HEAP32[$387>>2]|0; + $389 = ($385|0)>($388|0); + if ($389) { + $390 = HEAP32[$31>>2]|0; + $394 = $390; + } else { + $391 = HEAP32[$8>>2]|0; + $392 = ((($391)) + 224|0); + $393 = HEAP32[$392>>2]|0; $394 = $393; - HEAP32[$394>>2] = $388; - $395 = (($393) + 4)|0; - $396 = $395; - HEAP32[$396>>2] = $391; - break; - } - case 132: { - $397 = HEAP32[$0>>2]|0; - $398 = HEAP32[$pOp>>2]|0; - $399 = (_out2Prerelease($397,$398)|0); - HEAP32[$pOut>>2] = $399; - $400 = HEAP32[$pOut>>2]|0; - $401 = ((($400)) + 8|0); - HEAP16[$401>>1] = 8; - $402 = HEAP32[$pOp>>2]|0; - $403 = ((($402)) + 16|0); - $404 = HEAP32[$403>>2]|0; - $405 = +HEAPF64[$404>>3]; - $406 = HEAP32[$pOut>>2]|0; - HEAPF64[$406>>3] = $405; - break; - } - case 97: { - $407 = HEAP32[$0>>2]|0; - $408 = HEAP32[$pOp>>2]|0; - $409 = (_out2Prerelease($407,$408)|0); - HEAP32[$pOut>>2] = $409; - $410 = HEAP32[$pOp>>2]|0; - HEAP8[$410>>0] = 78; - $411 = HEAP32[$pOp>>2]|0; - $412 = ((($411)) + 16|0); - $413 = HEAP32[$412>>2]|0; - $414 = (_sqlite3Strlen30($413)|0); - $415 = HEAP32[$pOp>>2]|0; - $416 = ((($415)) + 4|0); - HEAP32[$416>>2] = $414; - $417 = HEAP8[$encoding>>0]|0; - $418 = $417&255; - $419 = ($418|0)!=(1); - if ($419) { - $420 = HEAP32[$pOut>>2]|0; - $421 = HEAP32[$pOp>>2]|0; - $422 = ((($421)) + 16|0); - $423 = HEAP32[$422>>2]|0; - $424 = (_sqlite3VdbeMemSetStr($420,$423,-1,1,0)|0); - HEAP32[$rc>>2] = $424; - $425 = HEAP32[$pOut>>2]|0; - $426 = HEAP8[$encoding>>0]|0; - $427 = $426&255; - $428 = (_sqlite3VdbeChangeEncoding($425,$427)|0); - $429 = (0)!=($428|0); - if ($429) { - label = 889; - break L1; - } - $430 = HEAP32[$pOut>>2]|0; - $431 = ((($430)) + 24|0); - HEAP32[$431>>2] = 0; - $432 = HEAP32[$pOut>>2]|0; - $433 = ((($432)) + 8|0); - $434 = HEAP16[$433>>1]|0; - $435 = $434&65535; - $436 = $435 | 2048; - $437 = $436&65535; - HEAP16[$433>>1] = $437; - $438 = HEAP32[$pOp>>2]|0; - $439 = ((($438)) + 1|0); - $440 = HEAP8[$439>>0]|0; - $441 = $440 << 24 >> 24; - $442 = ($441|0)==(-1); - if ($442) { - $443 = HEAP32[$db>>2]|0; - $444 = HEAP32[$pOp>>2]|0; - $445 = ((($444)) + 16|0); - $446 = HEAP32[$445>>2]|0; - _sqlite3DbFree($443,$446); - } - $447 = HEAP32[$pOp>>2]|0; - $448 = ((($447)) + 1|0); - HEAP8[$448>>0] = -1; - $449 = HEAP32[$pOut>>2]|0; - $450 = ((($449)) + 16|0); - $451 = HEAP32[$450>>2]|0; - $452 = HEAP32[$pOp>>2]|0; - $453 = ((($452)) + 16|0); - HEAP32[$453>>2] = $451; - $454 = HEAP32[$pOut>>2]|0; - $455 = ((($454)) + 12|0); - $456 = HEAP32[$455>>2]|0; - $457 = HEAP32[$pOp>>2]|0; - $458 = ((($457)) + 4|0); - HEAP32[$458>>2] = $456; - } - $459 = HEAP32[$pOp>>2]|0; - $460 = ((($459)) + 4|0); - $461 = HEAP32[$460>>2]|0; - $462 = HEAP32[$db>>2]|0; - $463 = ((($462)) + 96|0); - $464 = HEAP32[$463>>2]|0; - $465 = ($461|0)>($464|0); - if ($465) { - label = 888; - break L8; - } else { - label = 43; - } - break; - } - case 78: { - label = 43; - break; - } - case 79: { - $509 = HEAP32[$0>>2]|0; - $510 = HEAP32[$pOp>>2]|0; - $511 = (_out2Prerelease($509,$510)|0); - HEAP32[$pOut>>2] = $511; - $512 = HEAP32[$pOp>>2]|0; - $513 = ((($512)) + 12|0); - $514 = HEAP32[$513>>2]|0; - $515 = HEAP32[$pOp>>2]|0; - $516 = ((($515)) + 8|0); - $517 = HEAP32[$516>>2]|0; - $518 = (($514) - ($517))|0; - HEAP32[$cnt>>2] = $518; - $519 = HEAP32[$pOp>>2]|0; - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = ($521|0)!=(0); - $523 = $522 ? 257 : 1; - $524 = $523&65535; - HEAP16[$nullFlag>>1] = $524; - $525 = HEAP32[$pOut>>2]|0; - $526 = ((($525)) + 8|0); - HEAP16[$526>>1] = $524; - $527 = HEAP32[$pOut>>2]|0; - $528 = ((($527)) + 12|0); - HEAP32[$528>>2] = 0; - while(1) { - $529 = HEAP32[$cnt>>2]|0; - $530 = ($529|0)>(0); - if (!($530)) { - break L10; - } - $531 = HEAP32[$pOut>>2]|0; - $532 = ((($531)) + 40|0); - HEAP32[$pOut>>2] = $532; - $533 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($533); - $534 = HEAP16[$nullFlag>>1]|0; - $535 = HEAP32[$pOut>>2]|0; - $536 = ((($535)) + 8|0); - HEAP16[$536>>1] = $534; - $537 = HEAP32[$pOut>>2]|0; - $538 = ((($537)) + 12|0); - HEAP32[$538>>2] = 0; - $539 = HEAP32[$cnt>>2]|0; - $540 = (($539) + -1)|0; - HEAP32[$cnt>>2] = $540; - } - break; - } - case 80: { - $541 = HEAP32[$pOp>>2]|0; - $542 = ((($541)) + 4|0); - $543 = HEAP32[$542>>2]|0; - $544 = HEAP32[$aMem>>2]|0; - $545 = (($544) + (($543*40)|0)|0); - HEAP32[$pOut>>2] = $545; - $546 = HEAP32[$pOut>>2]|0; - $547 = ((($546)) + 8|0); - $548 = HEAP16[$547>>1]|0; - $549 = $548&65535; - $550 = $549 | 1; - $551 = $550 & -129; - $552 = $551&65535; - $553 = HEAP32[$pOut>>2]|0; - $554 = ((($553)) + 8|0); - HEAP16[$554>>1] = $552; - break; - } - case 81: { - $555 = HEAP32[$0>>2]|0; - $556 = HEAP32[$pOp>>2]|0; - $557 = (_out2Prerelease($555,$556)|0); - HEAP32[$pOut>>2] = $557; - $558 = HEAP32[$pOut>>2]|0; - $559 = HEAP32[$pOp>>2]|0; - $560 = ((($559)) + 16|0); - $561 = HEAP32[$560>>2]|0; - $562 = HEAP32[$pOp>>2]|0; - $563 = ((($562)) + 4|0); - $564 = HEAP32[$563>>2]|0; - (_sqlite3VdbeMemSetStr($558,$561,$564,0,0)|0); - $565 = HEAP8[$encoding>>0]|0; - $566 = HEAP32[$pOut>>2]|0; - $567 = ((($566)) + 10|0); - HEAP8[$567>>0] = $565; - break; - } - case 82: { - $568 = HEAP32[$pOp>>2]|0; - $569 = ((($568)) + 4|0); - $570 = HEAP32[$569>>2]|0; - $571 = (($570) - 1)|0; - $572 = HEAP32[$0>>2]|0; - $573 = ((($572)) + 116|0); - $574 = HEAP32[$573>>2]|0; - $575 = (($574) + (($571*40)|0)|0); - HEAP32[$pVar>>2] = $575; - $576 = HEAP32[$pVar>>2]|0; - $577 = (_sqlite3VdbeMemTooBig($576)|0); - $578 = ($577|0)!=(0); - if ($578) { - label = 888; - break L8; - } - $579 = HEAP32[$0>>2]|0; - $580 = HEAP32[$pOp>>2]|0; - $581 = (_out2Prerelease($579,$580)|0); - HEAP32[$pOut>>2] = $581; - $582 = HEAP32[$pOut>>2]|0; - $583 = HEAP32[$pVar>>2]|0; - _sqlite3VdbeMemShallowCopy($582,$583,2048); - break; - } - case 83: { - $584 = HEAP32[$pOp>>2]|0; - $585 = ((($584)) + 12|0); - $586 = HEAP32[$585>>2]|0; - HEAP32[$n>>2] = $586; - $587 = HEAP32[$pOp>>2]|0; - $588 = ((($587)) + 4|0); - $589 = HEAP32[$588>>2]|0; - HEAP32[$p1>>2] = $589; - $590 = HEAP32[$pOp>>2]|0; - $591 = ((($590)) + 8|0); - $592 = HEAP32[$591>>2]|0; - HEAP32[$p2>>2] = $592; - $593 = HEAP32[$p1>>2]|0; - $594 = HEAP32[$aMem>>2]|0; - $595 = (($594) + (($593*40)|0)|0); - HEAP32[$pIn1>>2] = $595; - $596 = HEAP32[$p2>>2]|0; - $597 = HEAP32[$aMem>>2]|0; - $598 = (($597) + (($596*40)|0)|0); - HEAP32[$pOut>>2] = $598; - while(1) { - $599 = HEAP32[$pOut>>2]|0; - $600 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemMove($599,$600); - $601 = HEAP32[$pOut>>2]|0; - $602 = ((($601)) + 8|0); - $603 = HEAP16[$602>>1]|0; - $604 = $603&65535; - $605 = $604 & 4096; - $606 = ($605|0)!=(0); - if ($606) { - $607 = HEAP32[$pOut>>2]|0; - $608 = (_sqlite3VdbeMemMakeWriteable($607)|0); - $609 = ($608|0)!=(0); - if ($609) { - label = 889; - break L1; - } - } - $610 = HEAP32[$pIn1>>2]|0; - $611 = ((($610)) + 40|0); - HEAP32[$pIn1>>2] = $611; - $612 = HEAP32[$pOut>>2]|0; - $613 = ((($612)) + 40|0); - HEAP32[$pOut>>2] = $613; - $614 = HEAP32[$n>>2]|0; - $615 = (($614) + -1)|0; - HEAP32[$n>>2] = $615; - $616 = ($615|0)!=(0); - if (!($616)) { - break; - } - } - break; - } - case 84: { - $617 = HEAP32[$pOp>>2]|0; - $618 = ((($617)) + 12|0); - $619 = HEAP32[$618>>2]|0; - HEAP32[$n1>>2] = $619; - $620 = HEAP32[$pOp>>2]|0; - $621 = ((($620)) + 4|0); - $622 = HEAP32[$621>>2]|0; - $623 = HEAP32[$aMem>>2]|0; - $624 = (($623) + (($622*40)|0)|0); - HEAP32[$pIn1>>2] = $624; - $625 = HEAP32[$pOp>>2]|0; - $626 = ((($625)) + 8|0); - $627 = HEAP32[$626>>2]|0; - $628 = HEAP32[$aMem>>2]|0; - $629 = (($628) + (($627*40)|0)|0); - HEAP32[$pOut>>2] = $629; - while(1) { - $630 = HEAP32[$pOut>>2]|0; - $631 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemShallowCopy($630,$631,4096); - $632 = HEAP32[$pOut>>2]|0; - $633 = ((($632)) + 8|0); - $634 = HEAP16[$633>>1]|0; - $635 = $634&65535; - $636 = $635 & 4096; - $637 = ($636|0)!=(0); - if ($637) { - $638 = HEAP32[$pOut>>2]|0; - $639 = (_sqlite3VdbeMemMakeWriteable($638)|0); - $640 = ($639|0)!=(0); - if ($640) { - label = 889; - break L1; - } - } - $641 = HEAP32[$n1>>2]|0; - $642 = (($641) + -1)|0; - HEAP32[$n1>>2] = $642; - $643 = ($641|0)==(0); - if ($643) { - break L10; - } - $644 = HEAP32[$pOut>>2]|0; - $645 = ((($644)) + 40|0); - HEAP32[$pOut>>2] = $645; - $646 = HEAP32[$pIn1>>2]|0; - $647 = ((($646)) + 40|0); - HEAP32[$pIn1>>2] = $647; - } - break; - } - case 85: { - $648 = HEAP32[$pOp>>2]|0; - $649 = ((($648)) + 4|0); - $650 = HEAP32[$649>>2]|0; - $651 = HEAP32[$aMem>>2]|0; - $652 = (($651) + (($650*40)|0)|0); - HEAP32[$pIn1>>2] = $652; - $653 = HEAP32[$pOp>>2]|0; - $654 = ((($653)) + 8|0); - $655 = HEAP32[$654>>2]|0; - $656 = HEAP32[$aMem>>2]|0; - $657 = (($656) + (($655*40)|0)|0); - HEAP32[$pOut>>2] = $657; - $658 = HEAP32[$pOut>>2]|0; - $659 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemShallowCopy($658,$659,4096); - break; - } - case 86: { - $660 = HEAP32[$pOp>>2]|0; - $661 = ((($660)) + 4|0); - $662 = HEAP32[$661>>2]|0; - $663 = HEAP32[$aMem>>2]|0; - $664 = (($663) + (($662*40)|0)|0); - HEAP32[$pIn1>>2] = $664; - $665 = HEAP32[$pOp>>2]|0; - $666 = ((($665)) + 8|0); - $667 = HEAP32[$666>>2]|0; - $668 = HEAP32[$aMem>>2]|0; - $669 = (($668) + (($667*40)|0)|0); - HEAP32[$pOut>>2] = $669; - $670 = HEAP32[$pOut>>2]|0; - $671 = HEAP32[$pIn1>>2]|0; - $672 = $671; - $673 = $672; - $674 = HEAP32[$673>>2]|0; - $675 = (($672) + 4)|0; - $676 = $675; - $677 = HEAP32[$676>>2]|0; - _sqlite3VdbeMemSetInt64($670,$674,$677); - break; - } - case 52: { - $761 = HEAP32[$pOp>>2]|0; - $762 = ((($761)) + 4|0); - $763 = HEAP32[$762>>2]|0; - $764 = HEAP32[$aMem>>2]|0; - $765 = (($764) + (($763*40)|0)|0); - HEAP32[$pIn1>>2] = $765; - $766 = HEAP32[$pOp>>2]|0; - $767 = ((($766)) + 8|0); - $768 = HEAP32[$767>>2]|0; - $769 = HEAP32[$aMem>>2]|0; - $770 = (($769) + (($768*40)|0)|0); - HEAP32[$pIn2>>2] = $770; - $771 = HEAP32[$pOp>>2]|0; - $772 = ((($771)) + 12|0); - $773 = HEAP32[$772>>2]|0; - $774 = HEAP32[$aMem>>2]|0; - $775 = (($774) + (($773*40)|0)|0); - HEAP32[$pOut>>2] = $775; - $776 = HEAP32[$pIn1>>2]|0; - $777 = ((($776)) + 8|0); - $778 = HEAP16[$777>>1]|0; - $779 = $778&65535; - $780 = HEAP32[$pIn2>>2]|0; - $781 = ((($780)) + 8|0); - $782 = HEAP16[$781>>1]|0; - $783 = $782&65535; - $784 = $779 | $783; - $785 = $784 & 1; - $786 = ($785|0)!=(0); - if ($786) { - $787 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($787); - break L10; - } - $788 = HEAP32[$pIn1>>2]|0; - $789 = ((($788)) + 8|0); - $790 = HEAP16[$789>>1]|0; - $791 = $790&65535; - $792 = $791 & 16384; - $793 = ($792|0)!=(0); - if ($793) { - $794 = HEAP32[$pIn1>>2]|0; - $795 = (_sqlite3VdbeMemExpandBlob($794)|0); - $796 = ($795|0)!=(0); - if ($796) { - label = 889; - break L1; - } - } - $797 = HEAP32[$pIn2>>2]|0; - $798 = ((($797)) + 8|0); - $799 = HEAP16[$798>>1]|0; - $800 = $799&65535; - $801 = $800 & 16384; - $802 = ($801|0)!=(0); - if ($802) { - $803 = HEAP32[$pIn2>>2]|0; - $804 = (_sqlite3VdbeMemExpandBlob($803)|0); - $805 = ($804|0)!=(0); - if ($805) { - label = 889; - break L1; - } - } - $806 = HEAP32[$pIn1>>2]|0; - $807 = ((($806)) + 8|0); - $808 = HEAP16[$807>>1]|0; - $809 = $808&65535; - $810 = $809 & 18; - $811 = ($810|0)==(0); - if ($811) { - $812 = HEAP32[$pIn1>>2]|0; - $813 = HEAP8[$encoding>>0]|0; - $814 = (_sqlite3VdbeMemStringify($812,$813,0)|0); - $815 = ($814|0)!=(0); - if ($815) { - label = 889; - break L1; - } - } - $816 = HEAP32[$pIn2>>2]|0; - $817 = ((($816)) + 8|0); - $818 = HEAP16[$817>>1]|0; - $819 = $818&65535; - $820 = $819 & 18; - $821 = ($820|0)==(0); - if ($821) { - $822 = HEAP32[$pIn2>>2]|0; - $823 = HEAP8[$encoding>>0]|0; - $824 = (_sqlite3VdbeMemStringify($822,$823,0)|0); - $825 = ($824|0)!=(0); - if ($825) { - label = 889; - break L1; - } - } - $826 = HEAP32[$pIn1>>2]|0; - $827 = ((($826)) + 12|0); - $828 = HEAP32[$827>>2]|0; - $829 = HEAP32[$pIn2>>2]|0; - $830 = ((($829)) + 12|0); - $831 = HEAP32[$830>>2]|0; - $832 = (($828) + ($831))|0; - $833 = ($832|0)<(0); - $834 = $833 << 31 >> 31; - $835 = $nByte; - $836 = $835; - HEAP32[$836>>2] = $832; - $837 = (($835) + 4)|0; - $838 = $837; - HEAP32[$838>>2] = $834; - $839 = $nByte; - $840 = $839; - $841 = HEAP32[$840>>2]|0; - $842 = (($839) + 4)|0; - $843 = $842; - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[$db>>2]|0; - $846 = ((($845)) + 96|0); - $847 = HEAP32[$846>>2]|0; - $848 = ($847|0)<(0); - $849 = $848 << 31 >> 31; - $850 = ($844|0)>($849|0); - $851 = ($841>>>0)>($847>>>0); - $852 = ($844|0)==($849|0); - $853 = $852 & $851; - $854 = $850 | $853; - if ($854) { - label = 888; - break L8; - } - $855 = HEAP32[$pOut>>2]|0; - $856 = $nByte; - $857 = $856; - $858 = HEAP32[$857>>2]|0; - $859 = (($856) + 4)|0; - $860 = $859; - $861 = HEAP32[$860>>2]|0; - $862 = (($858) + 2)|0; - $863 = HEAP32[$pOut>>2]|0; - $864 = HEAP32[$pIn2>>2]|0; - $865 = ($863|0)==($864|0); - $866 = $865&1; - $867 = (_sqlite3VdbeMemGrow($855,$862,$866)|0); - $868 = ($867|0)!=(0); - if ($868) { - label = 889; - break L1; - } - $869 = HEAP32[$pOut>>2]|0; - $870 = ((($869)) + 8|0); - $871 = HEAP16[$870>>1]|0; - $872 = $871&65535; - $873 = $872 & -49664; - $874 = $873 | 2; - $875 = $874&65535; - $876 = HEAP32[$pOut>>2]|0; - $877 = ((($876)) + 8|0); - HEAP16[$877>>1] = $875; - $878 = HEAP32[$pOut>>2]|0; - $879 = HEAP32[$pIn2>>2]|0; - $880 = ($878|0)!=($879|0); - if ($880) { - $881 = HEAP32[$pOut>>2]|0; - $882 = ((($881)) + 16|0); - $883 = HEAP32[$882>>2]|0; - $884 = HEAP32[$pIn2>>2]|0; - $885 = ((($884)) + 16|0); - $886 = HEAP32[$885>>2]|0; - $887 = HEAP32[$pIn2>>2]|0; - $888 = ((($887)) + 12|0); - $889 = HEAP32[$888>>2]|0; - _memcpy(($883|0),($886|0),($889|0))|0; - } - $890 = HEAP32[$pIn2>>2]|0; - $891 = ((($890)) + 12|0); - $892 = HEAP32[$891>>2]|0; - $893 = HEAP32[$pOut>>2]|0; - $894 = ((($893)) + 16|0); - $895 = HEAP32[$894>>2]|0; - $896 = (($895) + ($892)|0); - $897 = HEAP32[$pIn1>>2]|0; - $898 = ((($897)) + 16|0); - $899 = HEAP32[$898>>2]|0; - $900 = HEAP32[$pIn1>>2]|0; - $901 = ((($900)) + 12|0); - $902 = HEAP32[$901>>2]|0; - _memcpy(($896|0),($899|0),($902|0))|0; - $903 = $nByte; - $904 = $903; - $905 = HEAP32[$904>>2]|0; - $906 = (($903) + 4)|0; - $907 = $906; - $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[$pOut>>2]|0; - $910 = ((($909)) + 16|0); - $911 = HEAP32[$910>>2]|0; - $912 = (($911) + ($905)|0); - HEAP8[$912>>0] = 0; - $913 = $nByte; - $914 = $913; - $915 = HEAP32[$914>>2]|0; - $916 = (($913) + 4)|0; - $917 = $916; - $918 = HEAP32[$917>>2]|0; - $919 = (_i64Add(($915|0),($918|0),1,0)|0); - $920 = tempRet0; - $921 = HEAP32[$pOut>>2]|0; - $922 = ((($921)) + 16|0); - $923 = HEAP32[$922>>2]|0; - $924 = (($923) + ($919)|0); - HEAP8[$924>>0] = 0; - $925 = HEAP32[$pOut>>2]|0; - $926 = ((($925)) + 8|0); - $927 = HEAP16[$926>>1]|0; - $928 = $927&65535; - $929 = $928 | 512; - $930 = $929&65535; - HEAP16[$926>>1] = $930; - $931 = $nByte; - $932 = $931; - $933 = HEAP32[$932>>2]|0; - $934 = (($931) + 4)|0; - $935 = $934; - $936 = HEAP32[$935>>2]|0; - $937 = HEAP32[$pOut>>2]|0; - $938 = ((($937)) + 12|0); - HEAP32[$938>>2] = $933; - $939 = HEAP8[$encoding>>0]|0; - $940 = HEAP32[$pOut>>2]|0; - $941 = ((($940)) + 10|0); - HEAP8[$941>>0] = $939; - break; - } - case 51: case 50: case 49: case 48: case 47: { - $942 = HEAP32[$pOp>>2]|0; - $943 = ((($942)) + 4|0); - $944 = HEAP32[$943>>2]|0; - $945 = HEAP32[$aMem>>2]|0; - $946 = (($945) + (($944*40)|0)|0); - HEAP32[$pIn1>>2] = $946; - $947 = HEAP32[$pIn1>>2]|0; - $948 = (_numericType($947)|0); - HEAP16[$type1>>1] = $948; - $949 = HEAP32[$pOp>>2]|0; - $950 = ((($949)) + 8|0); - $951 = HEAP32[$950>>2]|0; - $952 = HEAP32[$aMem>>2]|0; - $953 = (($952) + (($951*40)|0)|0); - HEAP32[$pIn2>>2] = $953; - $954 = HEAP32[$pIn2>>2]|0; - $955 = (_numericType($954)|0); - HEAP16[$type2>>1] = $955; - $956 = HEAP32[$pOp>>2]|0; - $957 = ((($956)) + 12|0); - $958 = HEAP32[$957>>2]|0; - $959 = HEAP32[$aMem>>2]|0; - $960 = (($959) + (($958*40)|0)|0); - HEAP32[$pOut>>2] = $960; - $961 = HEAP32[$pIn1>>2]|0; - $962 = ((($961)) + 8|0); - $963 = HEAP16[$962>>1]|0; - $964 = $963&65535; - $965 = HEAP32[$pIn2>>2]|0; - $966 = ((($965)) + 8|0); - $967 = HEAP16[$966>>1]|0; - $968 = $967&65535; - $969 = $964 | $968; - $970 = $969&65535; - HEAP16[$flags>>1] = $970; - $971 = HEAP16[$flags>>1]|0; - $972 = $971&65535; - $973 = $972 & 1; - $974 = ($973|0)!=(0); - L73: do { - if (!($974)) { - $975 = HEAP16[$type1>>1]|0; - $976 = $975&65535; - $977 = HEAP16[$type2>>1]|0; - $978 = $977&65535; - $979 = $976 & $978; - $980 = $979 & 4; - $981 = ($980|0)!=(0); - L75: do { - if ($981) { - $982 = HEAP32[$pIn1>>2]|0; - $983 = $982; - $984 = $983; - $985 = HEAP32[$984>>2]|0; - $986 = (($983) + 4)|0; - $987 = $986; - $988 = HEAP32[$987>>2]|0; - $989 = $iA; - $990 = $989; - HEAP32[$990>>2] = $985; - $991 = (($989) + 4)|0; - $992 = $991; - HEAP32[$992>>2] = $988; - $993 = HEAP32[$pIn2>>2]|0; - $994 = $993; - $995 = $994; - $996 = HEAP32[$995>>2]|0; - $997 = (($994) + 4)|0; - $998 = $997; - $999 = HEAP32[$998>>2]|0; - $1000 = $iB; - $1001 = $1000; - HEAP32[$1001>>2] = $996; - $1002 = (($1000) + 4)|0; - $1003 = $1002; - HEAP32[$1003>>2] = $999; - HEAP8[$bIntint>>0] = 1; - $1004 = HEAP32[$pOp>>2]|0; - $1005 = HEAP8[$1004>>0]|0; - $1006 = $1005&255; - switch ($1006|0) { - case 47: { - $1007 = $iA; - $1008 = $1007; - $1009 = HEAP32[$1008>>2]|0; - $1010 = (($1007) + 4)|0; - $1011 = $1010; - $1012 = HEAP32[$1011>>2]|0; - $1013 = (_sqlite3AddInt64($iB,$1009,$1012)|0); - $1014 = ($1013|0)!=(0); - if ($1014) { - break L75; - } - break; - } - case 48: { - $1015 = $iA; - $1016 = $1015; - $1017 = HEAP32[$1016>>2]|0; - $1018 = (($1015) + 4)|0; - $1019 = $1018; - $1020 = HEAP32[$1019>>2]|0; - $1021 = (_sqlite3SubInt64($iB,$1017,$1020)|0); - $1022 = ($1021|0)!=(0); - if ($1022) { - break L75; - } - break; - } - case 49: { - $1023 = $iA; - $1024 = $1023; - $1025 = HEAP32[$1024>>2]|0; - $1026 = (($1023) + 4)|0; - $1027 = $1026; - $1028 = HEAP32[$1027>>2]|0; - $1029 = (_sqlite3MulInt64($iB,$1025,$1028)|0); - $1030 = ($1029|0)!=(0); - if ($1030) { - break L75; - } - break; - } - case 50: { - $1031 = $iA; - $1032 = $1031; - $1033 = HEAP32[$1032>>2]|0; - $1034 = (($1031) + 4)|0; - $1035 = $1034; - $1036 = HEAP32[$1035>>2]|0; - $1037 = ($1033|0)==(0); - $1038 = ($1036|0)==(0); - $1039 = $1037 & $1038; - if ($1039) { - break L73; - } - $1040 = $iA; - $1041 = $1040; - $1042 = HEAP32[$1041>>2]|0; - $1043 = (($1040) + 4)|0; - $1044 = $1043; - $1045 = HEAP32[$1044>>2]|0; - $1046 = ($1042|0)==(-1); - $1047 = ($1045|0)==(-1); - $1048 = $1046 & $1047; - $1049 = $iB; - $1050 = $1049; - $1051 = HEAP32[$1050>>2]|0; - $1052 = (($1049) + 4)|0; - $1053 = $1052; - $1054 = HEAP32[$1053>>2]|0; - $1055 = ($1051|0)==(0); - $1056 = ($1054|0)==(-2147483648); - $1057 = $1055 & $1056; - $or$cond = $1048 & $1057; - if ($or$cond) { - break L75; - } - $1058 = $iA; - $1059 = $1058; - $1060 = HEAP32[$1059>>2]|0; - $1061 = (($1058) + 4)|0; - $1062 = $1061; - $1063 = HEAP32[$1062>>2]|0; - $1064 = $iB; - $1065 = $1064; - $1066 = HEAP32[$1065>>2]|0; - $1067 = (($1064) + 4)|0; - $1068 = $1067; - $1069 = HEAP32[$1068>>2]|0; - $1070 = (___divdi3(($1066|0),($1069|0),($1060|0),($1063|0))|0); - $1071 = tempRet0; - $1072 = $iB; - $1073 = $1072; - HEAP32[$1073>>2] = $1070; - $1074 = (($1072) + 4)|0; - $1075 = $1074; - HEAP32[$1075>>2] = $1071; - break; - } - default: { - $1076 = $iA; - $1077 = $1076; - $1078 = HEAP32[$1077>>2]|0; - $1079 = (($1076) + 4)|0; - $1080 = $1079; - $1081 = HEAP32[$1080>>2]|0; - $1082 = ($1078|0)==(0); - $1083 = ($1081|0)==(0); - $1084 = $1082 & $1083; - if ($1084) { - break L73; - } - $1085 = $iA; - $1086 = $1085; - $1087 = HEAP32[$1086>>2]|0; - $1088 = (($1085) + 4)|0; - $1089 = $1088; - $1090 = HEAP32[$1089>>2]|0; - $1091 = ($1087|0)==(-1); - $1092 = ($1090|0)==(-1); - $1093 = $1091 & $1092; - if ($1093) { - $1094 = $iA; - $1095 = $1094; - HEAP32[$1095>>2] = 1; - $1096 = (($1094) + 4)|0; - $1097 = $1096; - HEAP32[$1097>>2] = 0; - } - $1098 = $iA; - $1099 = $1098; - $1100 = HEAP32[$1099>>2]|0; - $1101 = (($1098) + 4)|0; - $1102 = $1101; - $1103 = HEAP32[$1102>>2]|0; - $1104 = $iB; - $1105 = $1104; - $1106 = HEAP32[$1105>>2]|0; - $1107 = (($1104) + 4)|0; - $1108 = $1107; - $1109 = HEAP32[$1108>>2]|0; - $1110 = (___remdi3(($1106|0),($1109|0),($1100|0),($1103|0))|0); - $1111 = tempRet0; - $1112 = $iB; - $1113 = $1112; - HEAP32[$1113>>2] = $1110; - $1114 = (($1112) + 4)|0; - $1115 = $1114; - HEAP32[$1115>>2] = $1111; - } - } - $1116 = $iB; - $1117 = $1116; - $1118 = HEAP32[$1117>>2]|0; - $1119 = (($1116) + 4)|0; - $1120 = $1119; - $1121 = HEAP32[$1120>>2]|0; - $1122 = HEAP32[$pOut>>2]|0; - $1123 = $1122; - $1124 = $1123; - HEAP32[$1124>>2] = $1118; - $1125 = (($1123) + 4)|0; - $1126 = $1125; - HEAP32[$1126>>2] = $1121; - $1127 = HEAP32[$pOut>>2]|0; - $1128 = ((($1127)) + 8|0); - $1129 = HEAP16[$1128>>1]|0; - $1130 = $1129&65535; - $1131 = $1130 & -49664; - $1132 = $1131 | 4; - $1133 = $1132&65535; - $1134 = HEAP32[$pOut>>2]|0; - $1135 = ((($1134)) + 8|0); - HEAP16[$1135>>1] = $1133; - break L10; - } else { - HEAP8[$bIntint>>0] = 0; - } - } while(0); - $1136 = HEAP32[$pIn1>>2]|0; - $1137 = (+_sqlite3VdbeRealValue($1136)); - HEAPF64[$rA>>3] = $1137; - $1138 = HEAP32[$pIn2>>2]|0; - $1139 = (+_sqlite3VdbeRealValue($1138)); - HEAPF64[$rB>>3] = $1139; - $1140 = HEAP32[$pOp>>2]|0; - $1141 = HEAP8[$1140>>0]|0; - $1142 = $1141&255; - switch ($1142|0) { - case 47: { - $1143 = +HEAPF64[$rA>>3]; - $1144 = +HEAPF64[$rB>>3]; - $1145 = $1144 + $1143; - HEAPF64[$rB>>3] = $1145; - break; - } - case 48: { - $1146 = +HEAPF64[$rA>>3]; - $1147 = +HEAPF64[$rB>>3]; - $1148 = $1147 - $1146; - HEAPF64[$rB>>3] = $1148; - break; - } - case 49: { - $1149 = +HEAPF64[$rA>>3]; - $1150 = +HEAPF64[$rB>>3]; - $1151 = $1150 * $1149; - HEAPF64[$rB>>3] = $1151; - break; - } - case 50: { - $1152 = +HEAPF64[$rA>>3]; - $1153 = $1152 == 0.0; - if ($1153) { - break L73; - } - $1154 = +HEAPF64[$rA>>3]; - $1155 = +HEAPF64[$rB>>3]; - $1156 = $1155 / $1154; - HEAPF64[$rB>>3] = $1156; - break; - } - default: { - $1157 = +HEAPF64[$rA>>3]; - $1158 = (~~$1157)>>>0; - $1159 = +Math_abs($1157) >= 1.0 ? $1157 > 0.0 ? (~~+Math_min(+Math_floor($1157 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1157 - +(~~$1157 >>> 0)) / 4294967296.0) >>> 0 : 0; - $1160 = $iA; - $1161 = $1160; - HEAP32[$1161>>2] = $1158; - $1162 = (($1160) + 4)|0; - $1163 = $1162; - HEAP32[$1163>>2] = $1159; - $1164 = +HEAPF64[$rB>>3]; - $1165 = (~~$1164)>>>0; - $1166 = +Math_abs($1164) >= 1.0 ? $1164 > 0.0 ? (~~+Math_min(+Math_floor($1164 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1164 - +(~~$1164 >>> 0)) / 4294967296.0) >>> 0 : 0; - $1167 = $iB; - $1168 = $1167; - HEAP32[$1168>>2] = $1165; - $1169 = (($1167) + 4)|0; - $1170 = $1169; - HEAP32[$1170>>2] = $1166; - $1171 = $iA; - $1172 = $1171; - $1173 = HEAP32[$1172>>2]|0; - $1174 = (($1171) + 4)|0; - $1175 = $1174; - $1176 = HEAP32[$1175>>2]|0; - $1177 = ($1173|0)==(0); - $1178 = ($1176|0)==(0); - $1179 = $1177 & $1178; - if ($1179) { - break L73; - } - $1180 = $iA; - $1181 = $1180; - $1182 = HEAP32[$1181>>2]|0; - $1183 = (($1180) + 4)|0; - $1184 = $1183; - $1185 = HEAP32[$1184>>2]|0; - $1186 = ($1182|0)==(-1); - $1187 = ($1185|0)==(-1); - $1188 = $1186 & $1187; - if ($1188) { - $1189 = $iA; - $1190 = $1189; - HEAP32[$1190>>2] = 1; - $1191 = (($1189) + 4)|0; - $1192 = $1191; - HEAP32[$1192>>2] = 0; - } - $1193 = $iB; - $1194 = $1193; - $1195 = HEAP32[$1194>>2]|0; - $1196 = (($1193) + 4)|0; - $1197 = $1196; - $1198 = HEAP32[$1197>>2]|0; - $1199 = $iA; - $1200 = $1199; - $1201 = HEAP32[$1200>>2]|0; - $1202 = (($1199) + 4)|0; - $1203 = $1202; - $1204 = HEAP32[$1203>>2]|0; - $1205 = (___remdi3(($1195|0),($1198|0),($1201|0),($1204|0))|0); - $1206 = tempRet0; - $1207 = (+($1205>>>0)) + (4294967296.0*(+($1206|0))); - HEAPF64[$rB>>3] = $1207; - } - } - $1208 = +HEAPF64[$rB>>3]; - $1209 = (_sqlite3IsNaN($1208)|0); - $1210 = ($1209|0)!=(0); - if (!($1210)) { - $1211 = +HEAPF64[$rB>>3]; - $1212 = HEAP32[$pOut>>2]|0; - HEAPF64[$1212>>3] = $1211; - $1213 = HEAP32[$pOut>>2]|0; - $1214 = ((($1213)) + 8|0); - $1215 = HEAP16[$1214>>1]|0; - $1216 = $1215&65535; - $1217 = $1216 & -49664; - $1218 = $1217 | 8; - $1219 = $1218&65535; - $1220 = HEAP32[$pOut>>2]|0; - $1221 = ((($1220)) + 8|0); - HEAP16[$1221>>1] = $1219; - $1222 = HEAP16[$type1>>1]|0; - $1223 = $1222&65535; - $1224 = HEAP16[$type2>>1]|0; - $1225 = $1224&65535; - $1226 = $1223 | $1225; - $1227 = $1226 & 8; - $1228 = ($1227|0)!=(0); - $1229 = HEAP8[$bIntint>>0]|0; - $1230 = ($1229<<24>>24)!=(0); - $or$cond3 = $1228 | $1230; - if ($or$cond3) { - break L10; - } - $1231 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeIntegerAffinity($1231); - break L10; - } - } - } while(0); - $1232 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($1232); - break; - } - case 88: { - $1233 = HEAP32[$pOp>>2]|0; - $1234 = ((($1233)) + 4|0); - $1235 = HEAP32[$1234>>2]|0; - $1236 = ($1235|0)!=(0); - if ($1236) { - $1237 = HEAP32[$pOp>>2]|0; - $1238 = ((($1237)) + 4|0); - $1239 = HEAP32[$1238>>2]|0; - $1240 = HEAP32[$aMem>>2]|0; - $1241 = (($1240) + (($1239*40)|0)|0); - _sqlite3VdbeMemSetInt64($1241,0,0); - } - break; - } - case 89: { - $1242 = HEAP32[$pOp>>2]|0; - $1243 = ((($1242)) + 3|0); - $1244 = HEAP8[$1243>>0]|0; - $1245 = $1244&255; - HEAP32[$n2>>2] = $1245; - $1246 = HEAP32[$db>>2]|0; - $1247 = HEAP32[$n2>>2]|0; - $1248 = (($1247) - 1)|0; - $1249 = $1248<<2; - $1250 = (32 + ($1249))|0; - $1251 = (_sqlite3DbMallocRawNN($1246,$1250,0)|0); - HEAP32[$pCtx>>2] = $1251; - $1252 = HEAP32[$pCtx>>2]|0; - $1253 = ($1252|0)==(0|0); - if ($1253) { - label = 889; - break L1; - } - $1254 = HEAP32[$pCtx>>2]|0; - HEAP32[$1254>>2] = 0; - $1255 = HEAP32[$pOp>>2]|0; - $1256 = ((($1255)) + 16|0); - $1257 = HEAP32[$1256>>2]|0; - $1258 = HEAP32[$pCtx>>2]|0; - $1259 = ((($1258)) + 4|0); - HEAP32[$1259>>2] = $1257; - $1260 = HEAP32[$pOp>>2]|0; - $1261 = HEAP32[$aOp>>2]|0; - $1262 = $1260; - $1263 = $1261; - $1264 = (($1262) - ($1263))|0; - $1265 = (($1264|0) / 20)&-1; - $1266 = HEAP32[$pCtx>>2]|0; - $1267 = ((($1266)) + 16|0); - HEAP32[$1267>>2] = $1265; - $1268 = HEAP32[$0>>2]|0; - $1269 = HEAP32[$pCtx>>2]|0; - $1270 = ((($1269)) + 12|0); - HEAP32[$1270>>2] = $1268; - $1271 = HEAP32[$n2>>2]|0; - $1272 = $1271&255; - $1273 = HEAP32[$pCtx>>2]|0; - $1274 = ((($1273)) + 26|0); - HEAP8[$1274>>0] = $1272; - $1275 = HEAP32[$pOp>>2]|0; - $1276 = ((($1275)) + 1|0); - HEAP8[$1276>>0] = -21; - $1277 = HEAP32[$pCtx>>2]|0; - $1278 = HEAP32[$pOp>>2]|0; - $1279 = ((($1278)) + 16|0); - HEAP32[$1279>>2] = $1277; - $1280 = HEAP32[$pOp>>2]|0; - HEAP8[$1280>>0] = 90; - label = 126; - break; - } - case 90: { - label = 126; - break; - } - case 46: case 45: case 44: case 43: { - $1404 = HEAP32[$pOp>>2]|0; - $1405 = ((($1404)) + 4|0); - $1406 = HEAP32[$1405>>2]|0; - $1407 = HEAP32[$aMem>>2]|0; - $1408 = (($1407) + (($1406*40)|0)|0); - HEAP32[$pIn1>>2] = $1408; - $1409 = HEAP32[$pOp>>2]|0; - $1410 = ((($1409)) + 8|0); - $1411 = HEAP32[$1410>>2]|0; - $1412 = HEAP32[$aMem>>2]|0; - $1413 = (($1412) + (($1411*40)|0)|0); - HEAP32[$pIn2>>2] = $1413; - $1414 = HEAP32[$pOp>>2]|0; - $1415 = ((($1414)) + 12|0); - $1416 = HEAP32[$1415>>2]|0; - $1417 = HEAP32[$aMem>>2]|0; - $1418 = (($1417) + (($1416*40)|0)|0); - HEAP32[$pOut>>2] = $1418; - $1419 = HEAP32[$pIn1>>2]|0; - $1420 = ((($1419)) + 8|0); - $1421 = HEAP16[$1420>>1]|0; - $1422 = $1421&65535; - $1423 = HEAP32[$pIn2>>2]|0; - $1424 = ((($1423)) + 8|0); - $1425 = HEAP16[$1424>>1]|0; - $1426 = $1425&65535; - $1427 = $1422 | $1426; - $1428 = $1427 & 1; - $1429 = ($1428|0)!=(0); - if ($1429) { - $1430 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($1430); - break L10; - } - $1431 = HEAP32[$pIn2>>2]|0; - $1432 = (_sqlite3VdbeIntValue($1431)|0); - $1433 = tempRet0; - $1434 = $iA5; - $1435 = $1434; - HEAP32[$1435>>2] = $1432; - $1436 = (($1434) + 4)|0; - $1437 = $1436; - HEAP32[$1437>>2] = $1433; - $1438 = HEAP32[$pIn1>>2]|0; - $1439 = (_sqlite3VdbeIntValue($1438)|0); - $1440 = tempRet0; - $1441 = $iB6; - $1442 = $1441; - HEAP32[$1442>>2] = $1439; - $1443 = (($1441) + 4)|0; - $1444 = $1443; - HEAP32[$1444>>2] = $1440; - $1445 = HEAP32[$pOp>>2]|0; - $1446 = HEAP8[$1445>>0]|0; - HEAP8[$op>>0] = $1446; - $1447 = HEAP8[$op>>0]|0; - $1448 = $1447&255; - $1449 = ($1448|0)==(43); - do { - if ($1449) { - $1450 = $iB6; - $1451 = $1450; - $1452 = HEAP32[$1451>>2]|0; - $1453 = (($1450) + 4)|0; - $1454 = $1453; - $1455 = HEAP32[$1454>>2]|0; - $1456 = $iA5; - $1457 = $1456; - $1458 = HEAP32[$1457>>2]|0; - $1459 = (($1456) + 4)|0; - $1460 = $1459; - $1461 = HEAP32[$1460>>2]|0; - $1462 = $1458 & $1452; - $1463 = $1461 & $1455; - $1464 = $iA5; - $1465 = $1464; - HEAP32[$1465>>2] = $1462; - $1466 = (($1464) + 4)|0; - $1467 = $1466; - HEAP32[$1467>>2] = $1463; - } else { - $1468 = HEAP8[$op>>0]|0; - $1469 = $1468&255; - $1470 = ($1469|0)==(44); - $1471 = $iB6; - $1472 = $1471; - $1473 = HEAP32[$1472>>2]|0; - $1474 = (($1471) + 4)|0; - $1475 = $1474; - $1476 = HEAP32[$1475>>2]|0; - if ($1470) { - $1477 = $iA5; - $1478 = $1477; - $1479 = HEAP32[$1478>>2]|0; - $1480 = (($1477) + 4)|0; - $1481 = $1480; - $1482 = HEAP32[$1481>>2]|0; - $1483 = $1479 | $1473; - $1484 = $1482 | $1476; - $1485 = $iA5; - $1486 = $1485; - HEAP32[$1486>>2] = $1483; - $1487 = (($1485) + 4)|0; - $1488 = $1487; - HEAP32[$1488>>2] = $1484; - break; - } - $1489 = ($1473|0)!=(0); - $1490 = ($1476|0)!=(0); - $1491 = $1489 | $1490; - if ($1491) { - $1492 = $iB6; - $1493 = $1492; - $1494 = HEAP32[$1493>>2]|0; - $1495 = (($1492) + 4)|0; - $1496 = $1495; - $1497 = HEAP32[$1496>>2]|0; - $1498 = ($1497|0)<(0); - if ($1498) { - $1499 = HEAP8[$op>>0]|0; - $1500 = $1499&255; - $1501 = (91 - ($1500))|0; - $1502 = $1501&255; - HEAP8[$op>>0] = $1502; - $1503 = $iB6; - $1504 = $1503; - $1505 = HEAP32[$1504>>2]|0; - $1506 = (($1503) + 4)|0; - $1507 = $1506; - $1508 = HEAP32[$1507>>2]|0; - $1509 = ($1508|0)>(-1); - $1510 = ($1505>>>0)>(4294967232); - $1511 = ($1508|0)==(-1); - $1512 = $1511 & $1510; - $1513 = $1509 | $1512; - $1514 = $iB6; - $1515 = $1514; - $1516 = HEAP32[$1515>>2]|0; - $1517 = (($1514) + 4)|0; - $1518 = $1517; - $1519 = HEAP32[$1518>>2]|0; - $1520 = (_i64Subtract(0,0,($1516|0),($1519|0))|0); - $1521 = tempRet0; - $1522 = $1513 ? $1520 : 64; - $1523 = $1513 ? $1521 : 0; - $1524 = $iB6; - $1525 = $1524; - HEAP32[$1525>>2] = $1522; - $1526 = (($1524) + 4)|0; - $1527 = $1526; - HEAP32[$1527>>2] = $1523; - } - $1528 = $iB6; - $1529 = $1528; - $1530 = HEAP32[$1529>>2]|0; - $1531 = (($1528) + 4)|0; - $1532 = $1531; - $1533 = HEAP32[$1532>>2]|0; - $1534 = ($1533|0)>(0); - $1535 = ($1530>>>0)>=(64); - $1536 = ($1533|0)==(0); - $1537 = $1536 & $1535; - $1538 = $1534 | $1537; - if ($1538) { - $1539 = $iA5; - $1540 = $1539; - $1541 = HEAP32[$1540>>2]|0; - $1542 = (($1539) + 4)|0; - $1543 = $1542; - $1544 = HEAP32[$1543>>2]|0; - $1545 = ($1544|0)>(0); - $1546 = ($1541>>>0)>=(0); - $1547 = ($1544|0)==(0); - $1548 = $1547 & $1546; - $1549 = $1545 | $1548; - if ($1549) { - $1554 = 1; - } else { - $1550 = HEAP8[$op>>0]|0; - $1551 = $1550&255; - $1552 = ($1551|0)==(45); - $1554 = $1552; - } - $1553 = $1554 ? 0 : -1; - $1555 = ($1553|0)<(0); - $1556 = $1555 << 31 >> 31; - $1557 = $iA5; - $1558 = $1557; - HEAP32[$1558>>2] = $1553; - $1559 = (($1557) + 4)|0; - $1560 = $1559; - HEAP32[$1560>>2] = $1556; - break; - } - ;HEAP32[$uA>>2]=HEAP32[$iA5>>2]|0;HEAP32[$uA+4>>2]=HEAP32[$iA5+4>>2]|0; - $1561 = HEAP8[$op>>0]|0; - $1562 = $1561&255; - $1563 = ($1562|0)==(45); - $1564 = $iB6; - $1565 = $1564; - $1566 = HEAP32[$1565>>2]|0; - $1567 = (($1564) + 4)|0; - $1568 = $1567; - $1569 = HEAP32[$1568>>2]|0; - $1570 = $uA; - $1571 = $1570; - $1572 = HEAP32[$1571>>2]|0; - $1573 = (($1570) + 4)|0; - $1574 = $1573; - $1575 = HEAP32[$1574>>2]|0; - if ($1563) { - $1576 = (_bitshift64Shl(($1572|0),($1575|0),($1566|0))|0); - $1577 = tempRet0; - $1578 = $uA; - $1579 = $1578; - HEAP32[$1579>>2] = $1576; - $1580 = (($1578) + 4)|0; - $1581 = $1580; - HEAP32[$1581>>2] = $1577; - } else { - $1582 = (_bitshift64Lshr(($1572|0),($1575|0),($1566|0))|0); - $1583 = tempRet0; - $1584 = $uA; - $1585 = $1584; - HEAP32[$1585>>2] = $1582; - $1586 = (($1584) + 4)|0; - $1587 = $1586; - HEAP32[$1587>>2] = $1583; - $1588 = $iA5; - $1589 = $1588; - $1590 = HEAP32[$1589>>2]|0; - $1591 = (($1588) + 4)|0; - $1592 = $1591; - $1593 = HEAP32[$1592>>2]|0; - $1594 = ($1593|0)<(0); - if ($1594) { - $1595 = $iB6; - $1596 = $1595; - $1597 = HEAP32[$1596>>2]|0; - $1598 = (($1595) + 4)|0; - $1599 = $1598; - $1600 = HEAP32[$1599>>2]|0; - $1601 = (_i64Subtract(64,0,($1597|0),($1600|0))|0); - $1602 = tempRet0; - $1603 = (_bitshift64Shl(-1,-1,($1601|0))|0); - $1604 = tempRet0; - $1605 = $uA; - $1606 = $1605; - $1607 = HEAP32[$1606>>2]|0; - $1608 = (($1605) + 4)|0; - $1609 = $1608; - $1610 = HEAP32[$1609>>2]|0; - $1611 = $1607 | $1603; - $1612 = $1610 | $1604; - $1613 = $uA; - $1614 = $1613; - HEAP32[$1614>>2] = $1611; - $1615 = (($1613) + 4)|0; - $1616 = $1615; - HEAP32[$1616>>2] = $1612; - } - } - ;HEAP32[$iA5>>2]=HEAP32[$uA>>2]|0;HEAP32[$iA5+4>>2]=HEAP32[$uA+4>>2]|0; - } - } - } while(0); - $1617 = $iA5; - $1618 = $1617; - $1619 = HEAP32[$1618>>2]|0; - $1620 = (($1617) + 4)|0; - $1621 = $1620; - $1622 = HEAP32[$1621>>2]|0; - $1623 = HEAP32[$pOut>>2]|0; - $1624 = $1623; - $1625 = $1624; - HEAP32[$1625>>2] = $1619; - $1626 = (($1624) + 4)|0; - $1627 = $1626; - HEAP32[$1627>>2] = $1622; - $1628 = HEAP32[$pOut>>2]|0; - $1629 = ((($1628)) + 8|0); - $1630 = HEAP16[$1629>>1]|0; - $1631 = $1630&65535; - $1632 = $1631 & -49664; - $1633 = $1632 | 4; - $1634 = $1633&65535; - $1635 = HEAP32[$pOut>>2]|0; - $1636 = ((($1635)) + 8|0); - HEAP16[$1636>>1] = $1634; - break; - } - case 91: { - $1637 = HEAP32[$pOp>>2]|0; - $1638 = ((($1637)) + 4|0); - $1639 = HEAP32[$1638>>2]|0; - $1640 = HEAP32[$aMem>>2]|0; - $1641 = (($1640) + (($1639*40)|0)|0); - HEAP32[$pIn1>>2] = $1641; - $1642 = HEAP32[$pIn1>>2]|0; - (_sqlite3VdbeMemIntegerify($1642)|0); - $1643 = HEAP32[$pOp>>2]|0; - $1644 = ((($1643)) + 8|0); - $1645 = HEAP32[$1644>>2]|0; - $1646 = ($1645|0)<(0); - $1647 = $1646 << 31 >> 31; - $1648 = HEAP32[$pIn1>>2]|0; - $1649 = $1648; - $1650 = $1649; - $1651 = HEAP32[$1650>>2]|0; - $1652 = (($1649) + 4)|0; - $1653 = $1652; - $1654 = HEAP32[$1653>>2]|0; - $1655 = (_i64Add(($1651|0),($1654|0),($1645|0),($1647|0))|0); - $1656 = tempRet0; - $1657 = $1648; - $1658 = $1657; - HEAP32[$1658>>2] = $1655; - $1659 = (($1657) + 4)|0; - $1660 = $1659; - HEAP32[$1660>>2] = $1656; - break; - } - case 17: { - $1661 = HEAP32[$pOp>>2]|0; - $1662 = ((($1661)) + 4|0); - $1663 = HEAP32[$1662>>2]|0; - $1664 = HEAP32[$aMem>>2]|0; - $1665 = (($1664) + (($1663*40)|0)|0); - HEAP32[$pIn1>>2] = $1665; - $1666 = HEAP32[$pIn1>>2]|0; - $1667 = ((($1666)) + 8|0); - $1668 = HEAP16[$1667>>1]|0; - $1669 = $1668&65535; - $1670 = $1669 & 4; - $1671 = ($1670|0)==(0); - if ($1671) { - $1672 = HEAP32[$pIn1>>2]|0; - $1673 = HEAP8[$encoding>>0]|0; - _applyAffinity($1672,67,$1673); - $1674 = HEAP32[$pIn1>>2]|0; - $1675 = ((($1674)) + 8|0); - $1676 = HEAP16[$1675>>1]|0; - $1677 = $1676&65535; - $1678 = $1677 & 4; - $1679 = ($1678|0)==(0); - if ($1679) { - $1680 = HEAP32[$pOp>>2]|0; - $1681 = ((($1680)) + 8|0); - $1682 = HEAP32[$1681>>2]|0; - $1683 = ($1682|0)==(0); - if ($1683) { - label = 159; - break L8; - } else { - label = 14; - break L10; - } - } - } - $1684 = HEAP32[$pIn1>>2]|0; - $1685 = ((($1684)) + 8|0); - $1686 = HEAP16[$1685>>1]|0; - $1687 = $1686&65535; - $1688 = $1687 & -49664; - $1689 = $1688 | 4; - $1690 = $1689&65535; - $1691 = HEAP32[$pIn1>>2]|0; - $1692 = ((($1691)) + 8|0); - HEAP16[$1692>>1] = $1690; - break; - } - case 92: { - $1693 = HEAP32[$pOp>>2]|0; - $1694 = ((($1693)) + 4|0); - $1695 = HEAP32[$1694>>2]|0; - $1696 = HEAP32[$aMem>>2]|0; - $1697 = (($1696) + (($1695*40)|0)|0); - HEAP32[$pIn1>>2] = $1697; - $1698 = HEAP32[$pIn1>>2]|0; - $1699 = ((($1698)) + 8|0); - $1700 = HEAP16[$1699>>1]|0; - $1701 = $1700&65535; - $1702 = $1701 & 4; - $1703 = ($1702|0)!=(0); - if ($1703) { - $1704 = HEAP32[$pIn1>>2]|0; - (_sqlite3VdbeMemRealify($1704)|0); - } - break; - } - case 93: { - $1705 = HEAP32[$pOp>>2]|0; - $1706 = ((($1705)) + 4|0); - $1707 = HEAP32[$1706>>2]|0; - $1708 = HEAP32[$aMem>>2]|0; - $1709 = (($1708) + (($1707*40)|0)|0); - HEAP32[$pIn1>>2] = $1709; - $1710 = HEAP32[$pIn1>>2]|0; - $1711 = ((($1710)) + 8|0); - $1712 = HEAP16[$1711>>1]|0; - $1713 = $1712&65535; - $1714 = $1713 & 16384; - $1715 = ($1714|0)!=(0); - if ($1715) { - $1716 = HEAP32[$pIn1>>2]|0; - $1717 = (_sqlite3VdbeMemExpandBlob($1716)|0); - $1718 = $1717; - } else { - $1718 = 0; - } - HEAP32[$rc>>2] = $1718; - $1719 = HEAP32[$pIn1>>2]|0; - $1720 = HEAP32[$pOp>>2]|0; - $1721 = ((($1720)) + 8|0); - $1722 = HEAP32[$1721>>2]|0; - $1723 = $1722&255; - $1724 = HEAP8[$encoding>>0]|0; - _sqlite3VdbeMemCast($1719,$1723,$1724); - $1725 = HEAP32[$rc>>2]|0; - $1726 = ($1725|0)!=(0); - if ($1726) { - break L1; - } - break; - } - case 41: case 38: case 39: case 40: case 36: case 37: { - $1727 = HEAP32[$pOp>>2]|0; - $1728 = ((($1727)) + 4|0); - $1729 = HEAP32[$1728>>2]|0; - $1730 = HEAP32[$aMem>>2]|0; - $1731 = (($1730) + (($1729*40)|0)|0); - HEAP32[$pIn1>>2] = $1731; - $1732 = HEAP32[$pOp>>2]|0; - $1733 = ((($1732)) + 12|0); - $1734 = HEAP32[$1733>>2]|0; - $1735 = HEAP32[$aMem>>2]|0; - $1736 = (($1735) + (($1734*40)|0)|0); - HEAP32[$pIn3>>2] = $1736; - $1737 = HEAP32[$pIn1>>2]|0; - $1738 = ((($1737)) + 8|0); - $1739 = HEAP16[$1738>>1]|0; - HEAP16[$flags1>>1] = $1739; - $1740 = HEAP32[$pIn3>>2]|0; - $1741 = ((($1740)) + 8|0); - $1742 = HEAP16[$1741>>1]|0; - HEAP16[$flags3>>1] = $1742; - $1743 = HEAP16[$flags1>>1]|0; - $1744 = $1743&65535; - $1745 = HEAP16[$flags3>>1]|0; - $1746 = $1745&65535; - $1747 = $1744 | $1746; - $1748 = $1747 & 1; - $1749 = ($1748|0)!=(0); - $1750 = HEAP32[$pOp>>2]|0; - $1751 = ((($1750)) + 3|0); - $1752 = HEAP8[$1751>>0]|0; - $1753 = $1752&255; - do { - if ($1749) { - $1754 = $1753 & 128; - $1755 = ($1754|0)!=(0); - if (!($1755)) { - $1768 = HEAP32[$pOp>>2]|0; - $1769 = ((($1768)) + 3|0); - $1770 = HEAP8[$1769>>0]|0; - $1771 = $1770&255; - $1772 = $1771 & 32; - $1773 = ($1772|0)!=(0); - $1774 = HEAP32[$pOp>>2]|0; - if ($1773) { - $1775 = ((($1774)) + 8|0); - $1776 = HEAP32[$1775>>2]|0; - $1777 = HEAP32[$aMem>>2]|0; - $1778 = (($1777) + (($1776*40)|0)|0); - HEAP32[$pOut>>2] = $1778; - HEAP32[$iCompare>>2] = 1; - $1779 = HEAP32[$pOut>>2]|0; - $1780 = ((($1779)) + 8|0); - $1781 = HEAP16[$1780>>1]|0; - $1782 = $1781&65535; - $1783 = $1782 & -49664; - $1784 = $1783 | 1; - $1785 = $1784&65535; - $1786 = HEAP32[$pOut>>2]|0; - $1787 = ((($1786)) + 8|0); - HEAP16[$1787>>1] = $1785; - break L10; - } else { - $1788 = ((($1774)) + 3|0); - $1789 = HEAP8[$1788>>0]|0; - $1790 = $1789&255; - $1791 = $1790 & 16; - $1792 = ($1791|0)!=(0); - if ($1792) { - label = 14; - break L10; - } else { - break L10; - } - } - } - $1756 = HEAP16[$flags1>>1]|0; - $1757 = $1756&65535; - $1758 = $1757 & 1; - $1759 = ($1758|0)!=(0); - if ($1759) { - $1760 = HEAP16[$flags3>>1]|0; - $1761 = $1760&65535; - $1762 = $1761 & 1; - $1763 = ($1762|0)!=(0); - if ($1763) { - $1764 = HEAP16[$flags3>>1]|0; - $1765 = $1764&65535; - $1766 = $1765 & 256; - $1767 = ($1766|0)==(0); - if ($1767) { - HEAP32[$res>>2] = 0; - break; - } - } - } - HEAP32[$res>>2] = 1; - } else { - $1793 = $1753 & 71; - $1794 = $1793&255; - HEAP8[$affinity>>0] = $1794; - $1795 = HEAP8[$affinity>>0]|0; - $1796 = $1795 << 24 >> 24; - $1797 = ($1796|0)>=(67); - if ($1797) { - $1798 = HEAP16[$flags1>>1]|0; - $1799 = $1798&65535; - $1800 = HEAP16[$flags3>>1]|0; - $1801 = $1800&65535; - $1802 = $1799 | $1801; - $1803 = $1802 & 2; - $1804 = ($1803|0)!=(0); - if ($1804) { - $1805 = HEAP16[$flags1>>1]|0; - $1806 = $1805&65535; - $1807 = $1806 & 14; - $1808 = ($1807|0)==(2); - if ($1808) { - $1809 = HEAP32[$pIn1>>2]|0; - _applyNumericAffinity($1809,0); - $1810 = HEAP32[$pIn3>>2]|0; - $1811 = ((($1810)) + 8|0); - $1812 = HEAP16[$1811>>1]|0; - HEAP16[$flags3>>1] = $1812; - } - $1813 = HEAP16[$flags3>>1]|0; - $1814 = $1813&65535; - $1815 = $1814 & 14; - $1816 = ($1815|0)==(2); - if ($1816) { - $1817 = HEAP32[$pIn3>>2]|0; - _applyNumericAffinity($1817,0); - } - } - $1818 = HEAP32[$pIn1>>2]|0; - $1819 = ((($1818)) + 8|0); - $1820 = HEAP16[$1819>>1]|0; - $1821 = $1820&65535; - $1822 = HEAP32[$pIn3>>2]|0; - $1823 = ((($1822)) + 8|0); - $1824 = HEAP16[$1823>>1]|0; - $1825 = $1824&65535; - $1826 = $1821 & $1825; - $1827 = $1826 & 4; - $1828 = ($1827|0)!=(0); - if ($1828) { - $1829 = HEAP32[$pIn3>>2]|0; - $1830 = $1829; - $1831 = $1830; - $1832 = HEAP32[$1831>>2]|0; - $1833 = (($1830) + 4)|0; - $1834 = $1833; - $1835 = HEAP32[$1834>>2]|0; - $1836 = HEAP32[$pIn1>>2]|0; - $1837 = $1836; - $1838 = $1837; - $1839 = HEAP32[$1838>>2]|0; - $1840 = (($1837) + 4)|0; - $1841 = $1840; - $1842 = HEAP32[$1841>>2]|0; - $1843 = ($1835|0)>($1842|0); - $1844 = ($1832>>>0)>($1839>>>0); - $1845 = ($1835|0)==($1842|0); - $1846 = $1845 & $1844; - $1847 = $1843 | $1846; - if ($1847) { - HEAP32[$res>>2] = 1; - break; - } - $1848 = HEAP32[$pIn3>>2]|0; - $1849 = $1848; - $1850 = $1849; - $1851 = HEAP32[$1850>>2]|0; - $1852 = (($1849) + 4)|0; - $1853 = $1852; - $1854 = HEAP32[$1853>>2]|0; - $1855 = HEAP32[$pIn1>>2]|0; - $1856 = $1855; - $1857 = $1856; - $1858 = HEAP32[$1857>>2]|0; - $1859 = (($1856) + 4)|0; - $1860 = $1859; - $1861 = HEAP32[$1860>>2]|0; - $1862 = ($1854|0)<($1861|0); - $1863 = ($1851>>>0)<($1858>>>0); - $1864 = ($1854|0)==($1861|0); - $1865 = $1864 & $1863; - $1866 = $1862 | $1865; - if ($1866) { - HEAP32[$res>>2] = -1; - break; - } else { - HEAP32[$res>>2] = 0; - break; - } - } - } else { - $1867 = HEAP8[$affinity>>0]|0; - $1868 = $1867 << 24 >> 24; - $1869 = ($1868|0)==(66); - if ($1869) { - $1870 = HEAP16[$flags1>>1]|0; - $1871 = $1870&65535; - $1872 = $1871 & 2; - $1873 = ($1872|0)==(0); - if ($1873) { - $1874 = HEAP16[$flags1>>1]|0; - $1875 = $1874&65535; - $1876 = $1875 & 12; - $1877 = ($1876|0)!=(0); - if ($1877) { - $1878 = HEAP32[$pIn1>>2]|0; - $1879 = HEAP8[$encoding>>0]|0; - (_sqlite3VdbeMemStringify($1878,$1879,1)|0); - $1880 = HEAP32[$pIn1>>2]|0; - $1881 = ((($1880)) + 8|0); - $1882 = HEAP16[$1881>>1]|0; - $1883 = $1882&65535; - $1884 = $1883 & -33280; - $1885 = HEAP16[$flags1>>1]|0; - $1886 = $1885&65535; - $1887 = $1886 & 33279; - $1888 = $1884 | $1887; - $1889 = $1888&65535; - HEAP16[$flags1>>1] = $1889; - } - } - $1890 = HEAP16[$flags3>>1]|0; - $1891 = $1890&65535; - $1892 = $1891 & 2; - $1893 = ($1892|0)==(0); - if ($1893) { - $1894 = HEAP16[$flags3>>1]|0; - $1895 = $1894&65535; - $1896 = $1895 & 12; - $1897 = ($1896|0)!=(0); - if ($1897) { - $1898 = HEAP32[$pIn3>>2]|0; - $1899 = HEAP8[$encoding>>0]|0; - (_sqlite3VdbeMemStringify($1898,$1899,1)|0); - $1900 = HEAP32[$pIn3>>2]|0; - $1901 = ((($1900)) + 8|0); - $1902 = HEAP16[$1901>>1]|0; - $1903 = $1902&65535; - $1904 = $1903 & -33280; - $1905 = HEAP16[$flags3>>1]|0; - $1906 = $1905&65535; - $1907 = $1906 & 33279; - $1908 = $1904 | $1907; - $1909 = $1908&65535; - HEAP16[$flags3>>1] = $1909; - } - } - } - } - $1910 = HEAP32[$pIn3>>2]|0; - $1911 = HEAP32[$pIn1>>2]|0; - $1912 = HEAP32[$pOp>>2]|0; - $1913 = ((($1912)) + 16|0); - $1914 = HEAP32[$1913>>2]|0; - $1915 = (_sqlite3MemCompare($1910,$1911,$1914)|0); - HEAP32[$res>>2] = $1915; - } - } while(0); - $1916 = HEAP32[$pOp>>2]|0; - $1917 = HEAP8[$1916>>0]|0; - $1918 = $1917&255; - switch ($1918|0) { - case 37: { - $1919 = HEAP32[$res>>2]|0; - $1920 = ($1919|0)==(0); - $1921 = $1920&1; - HEAP32[$res2>>2] = $1921; - break; - } - case 36: { - $1922 = HEAP32[$res>>2]|0; - HEAP32[$res2>>2] = $1922; - break; - } - case 40: { - $1923 = HEAP32[$res>>2]|0; - $1924 = ($1923|0)<(0); - $1925 = $1924&1; - HEAP32[$res2>>2] = $1925; - break; - } - case 39: { - $1926 = HEAP32[$res>>2]|0; - $1927 = ($1926|0)<=(0); - $1928 = $1927&1; - HEAP32[$res2>>2] = $1928; - break; - } - case 38: { - $1929 = HEAP32[$res>>2]|0; - $1930 = ($1929|0)>(0); - $1931 = $1930&1; - HEAP32[$res2>>2] = $1931; - break; - } - default: { - $1932 = HEAP32[$res>>2]|0; - $1933 = ($1932|0)>=(0); - $1934 = $1933&1; - HEAP32[$res2>>2] = $1934; - } - } - $1935 = HEAP16[$flags1>>1]|0; - $1936 = HEAP32[$pIn1>>2]|0; - $1937 = ((($1936)) + 8|0); - HEAP16[$1937>>1] = $1935; - $1938 = HEAP16[$flags3>>1]|0; - $1939 = HEAP32[$pIn3>>2]|0; - $1940 = ((($1939)) + 8|0); - HEAP16[$1940>>1] = $1938; - $1941 = HEAP32[$pOp>>2]|0; - $1942 = ((($1941)) + 3|0); - $1943 = HEAP8[$1942>>0]|0; - $1944 = $1943&255; - $1945 = $1944 & 32; - $1946 = ($1945|0)!=(0); - if (!($1946)) { - $1986 = HEAP32[$res2>>2]|0; - $1987 = ($1986|0)!=(0); - if ($1987) { - label = 14; - break L10; - } else { - break L10; - } - } - $1947 = HEAP32[$pOp>>2]|0; - $1948 = ((($1947)) + 8|0); - $1949 = HEAP32[$1948>>2]|0; - $1950 = HEAP32[$aMem>>2]|0; - $1951 = (($1950) + (($1949*40)|0)|0); - HEAP32[$pOut>>2] = $1951; - $1952 = HEAP32[$res>>2]|0; - HEAP32[$iCompare>>2] = $1952; - $1953 = HEAP32[$res2>>2]|0; - $1954 = ($1953|0)!=(0); - $1955 = $1954&1; - HEAP32[$res2>>2] = $1955; - $1956 = HEAP32[$pOp>>2]|0; - $1957 = ((($1956)) + 3|0); - $1958 = HEAP8[$1957>>0]|0; - $1959 = $1958&255; - $1960 = $1959 & 8; - $1961 = ($1960|0)!=(0); - if ($1961) { - $1962 = HEAP32[$pOp>>2]|0; - $1963 = HEAP8[$1962>>0]|0; - $1964 = $1963&255; - $1965 = ($1964|0)==(37); - $1966 = $1965&1; - $1967 = HEAP32[$res2>>2]|0; - $1968 = ($1966|0)==($1967|0); - if ($1968) { - break L10; - } - } - $1969 = HEAP32[$pOut>>2]|0; - $1970 = ((($1969)) + 8|0); - $1971 = HEAP16[$1970>>1]|0; - $1972 = $1971&65535; - $1973 = $1972 & -49664; - $1974 = $1973 | 4; - $1975 = $1974&65535; - $1976 = HEAP32[$pOut>>2]|0; - $1977 = ((($1976)) + 8|0); - HEAP16[$1977>>1] = $1975; - $1978 = HEAP32[$res2>>2]|0; - $1979 = ($1978|0)<(0); - $1980 = $1979 << 31 >> 31; - $1981 = HEAP32[$pOut>>2]|0; - $1982 = $1981; - $1983 = $1982; - HEAP32[$1983>>2] = $1978; - $1984 = (($1982) + 4)|0; - $1985 = $1984; - HEAP32[$1985>>2] = $1980; - break; - } - case 42: { - $1988 = HEAP32[$iCompare>>2]|0; - $1989 = ($1988|0)!=(0); - if ($1989) { - label = 14; - } - break; - } - case 94: { - $1990 = HEAP32[$pOp>>2]|0; - $1991 = ((($1990)) + 16|0); - $1992 = HEAP32[$1991>>2]|0; - $1993 = ((($1992)) + 4|0); - HEAP32[$aPermute>>2] = $1993; - break; } - case 95: { - $1994 = HEAP32[$pOp>>2]|0; - $1995 = ((($1994)) + 3|0); - $1996 = HEAP8[$1995>>0]|0; - $1997 = $1996&255; - $1998 = $1997 & 1; - $1999 = ($1998|0)==(0); - if ($1999) { - HEAP32[$aPermute>>2] = 0; - } - $2000 = HEAP32[$pOp>>2]|0; - $2001 = ((($2000)) + 12|0); - $2002 = HEAP32[$2001>>2]|0; - HEAP32[$n7>>2] = $2002; - $2003 = HEAP32[$pOp>>2]|0; - $2004 = ((($2003)) + 16|0); - $2005 = HEAP32[$2004>>2]|0; - HEAP32[$pKeyInfo>>2] = $2005; - $2006 = HEAP32[$pOp>>2]|0; - $2007 = ((($2006)) + 4|0); - $2008 = HEAP32[$2007>>2]|0; - HEAP32[$p19>>2] = $2008; - $2009 = HEAP32[$pOp>>2]|0; - $2010 = ((($2009)) + 8|0); - $2011 = HEAP32[$2010>>2]|0; - HEAP32[$p210>>2] = $2011; - HEAP32[$i8>>2] = 0; - while(1) { - $2012 = HEAP32[$i8>>2]|0; - $2013 = HEAP32[$n7>>2]|0; - $2014 = ($2012|0)<($2013|0); - if (!($2014)) { - break; - } - $2015 = HEAP32[$aPermute>>2]|0; - $2016 = ($2015|0)!=(0|0); - $2017 = HEAP32[$i8>>2]|0; - if ($2016) { - $2018 = HEAP32[$aPermute>>2]|0; - $2019 = (($2018) + ($2017<<2)|0); - $2020 = HEAP32[$2019>>2]|0; - $2021 = $2020; - } else { - $2021 = $2017; - } - HEAP32[$idx>>2] = $2021; - $2022 = HEAP32[$i8>>2]|0; - $2023 = HEAP32[$pKeyInfo>>2]|0; - $2024 = ((($2023)) + 20|0); - $2025 = (($2024) + ($2022<<2)|0); - $2026 = HEAP32[$2025>>2]|0; - HEAP32[$pColl>>2] = $2026; - $2027 = HEAP32[$i8>>2]|0; - $2028 = HEAP32[$pKeyInfo>>2]|0; - $2029 = ((($2028)) + 16|0); - $2030 = HEAP32[$2029>>2]|0; - $2031 = (($2030) + ($2027)|0); - $2032 = HEAP8[$2031>>0]|0; - $2033 = $2032&255; - HEAP32[$bRev>>2] = $2033; - $2034 = HEAP32[$p19>>2]|0; - $2035 = HEAP32[$idx>>2]|0; - $2036 = (($2034) + ($2035))|0; - $2037 = HEAP32[$aMem>>2]|0; - $2038 = (($2037) + (($2036*40)|0)|0); - $2039 = HEAP32[$p210>>2]|0; - $2040 = HEAP32[$idx>>2]|0; - $2041 = (($2039) + ($2040))|0; - $2042 = HEAP32[$aMem>>2]|0; - $2043 = (($2042) + (($2041*40)|0)|0); - $2044 = HEAP32[$pColl>>2]|0; - $2045 = (_sqlite3MemCompare($2038,$2043,$2044)|0); - HEAP32[$iCompare>>2] = $2045; - $2046 = HEAP32[$iCompare>>2]|0; - $2047 = ($2046|0)!=(0); - if ($2047) { - label = 217; - break; - } - $2052 = HEAP32[$i8>>2]|0; - $2053 = (($2052) + 1)|0; - HEAP32[$i8>>2] = $2053; - } - if ((label|0) == 217) { - label = 0; - $2048 = HEAP32[$bRev>>2]|0; - $2049 = ($2048|0)!=(0); - if ($2049) { - $2050 = HEAP32[$iCompare>>2]|0; - $2051 = (0 - ($2050))|0; - HEAP32[$iCompare>>2] = $2051; - } - } - HEAP32[$aPermute>>2] = 0; - break; + _blobGrowBuffer($384,$394,$14); + $395 = HEAP32[$14>>2]|0; + $396 = ($395|0)==(0); + if ($396) { + $397 = HEAP32[$28>>2]|0; + $398 = ((($397)) + 20|0); + $399 = HEAP32[$398>>2]|0; + $400 = HEAP32[$30>>2]|0; + $401 = HEAP32[$31>>2]|0; + _memcpy(($399|0),($400|0),($401|0))|0; + $402 = HEAP32[$31>>2]|0; + $403 = HEAP32[$28>>2]|0; + $404 = ((($403)) + 20|0); + $405 = ((($404)) + 4|0); + HEAP32[$405>>2] = $402; } - case 18: { - $2054 = HEAP32[$iCompare>>2]|0; - $2055 = ($2054|0)<(0); - if ($2055) { - $2056 = HEAP32[$pOp>>2]|0; - $2057 = ((($2056)) + 4|0); - $2058 = HEAP32[$2057>>2]|0; - $2059 = (($2058) - 1)|0; - $2060 = HEAP32[$aOp>>2]|0; - $2061 = (($2060) + (($2059*20)|0)|0); - HEAP32[$pOp>>2] = $2061; - break L10; - } - $2062 = HEAP32[$iCompare>>2]|0; - $2063 = ($2062|0)==(0); - $2064 = HEAP32[$pOp>>2]|0; - if ($2063) { - $2065 = ((($2064)) + 8|0); - $2066 = HEAP32[$2065>>2]|0; - $2067 = (($2066) - 1)|0; - $2068 = HEAP32[$aOp>>2]|0; - $2069 = (($2068) + (($2067*20)|0)|0); - HEAP32[$pOp>>2] = $2069; - break L10; - } else { - $2070 = ((($2064)) + 12|0); - $2071 = HEAP32[$2070>>2]|0; - $2072 = (($2071) - 1)|0; - $2073 = HEAP32[$aOp>>2]|0; - $2074 = (($2073) + (($2072*20)|0)|0); - HEAP32[$pOp>>2] = $2074; - break L10; - } - break; + $406 = HEAP32[$30>>2]|0; + _sqlite3_free($406); + } + } + _nodeReaderRelease($29); + $407 = HEAP32[$26>>2]|0; + $408 = (($407) + -1)|0; + HEAP32[$26>>2] = $408; + } + } + } while(0); + $409 = HEAP32[$15>>2]|0; + $410 = (_sqlite3_reset($409)|0); + HEAP32[$21>>2] = $410; + $411 = HEAP32[$14>>2]|0; + $412 = ($411|0)==(0); + if ($412) { + $413 = HEAP32[$21>>2]|0; + HEAP32[$14>>2] = $413; + } + } + $414 = HEAP32[$14>>2]|0; + HEAP32[$7>>2] = $414; + $415 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($415|0); +} +function _fts3IncrmergeWriter($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + HEAP32[$7>>2] = $0; + $17 = $8; + $18 = $17; + HEAP32[$18>>2] = $1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + $21 = HEAP32[$7>>2]|0; + $22 = (_fts3SqlStmt($21,29,$15,0)|0); + HEAP32[$12>>2] = $22; + $23 = HEAP32[$12>>2]|0; + $24 = ($23|0)==(0); + if ($24) { + $25 = HEAP32[$15>>2]|0; + $26 = $8; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + (_sqlite3_bind_int64($25,1,$28,$31)|0); + $32 = HEAP32[$15>>2]|0; + $33 = HEAP32[$10>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)<(0); + $37 = $36 << 31 >> 31; + (_sqlite3_bind_int64($32,2,$35,$37)|0); + $38 = HEAP32[$15>>2]|0; + $39 = (_sqlite3_step($38)|0); + $40 = (100)==($39|0); + if ($40) { + $41 = HEAP32[$15>>2]|0; + $42 = (_sqlite3_column_int($41,0)|0); + HEAP32[$14>>2] = $42; + } + $43 = HEAP32[$15>>2]|0; + $44 = (_sqlite3_reset($43)|0); + HEAP32[$12>>2] = $44; + } + $45 = HEAP32[$12>>2]|0; + $46 = ($45|0)!=(0); + if ($46) { + $47 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $47; + $161 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($161|0); + } + $48 = HEAP32[$7>>2]|0; + $49 = (_fts3SqlStmt($48,10,$16,0)|0); + HEAP32[$12>>2] = $49; + $50 = HEAP32[$12>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $52 = HEAP32[$16>>2]|0; + $53 = (_sqlite3_step($52)|0); + $54 = (100)==($53|0); + if ($54) { + $55 = HEAP32[$16>>2]|0; + $56 = (_sqlite3_column_int64($55,0)|0); + $57 = tempRet0; + $58 = HEAP32[$11>>2]|0; + $59 = ((($58)) + 24|0); + $60 = $59; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $57; + $64 = HEAP32[$11>>2]|0; + $65 = ((($64)) + 24|0); + $66 = $65; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (_i64Subtract(($68|0),($71|0),1,0)|0); + $73 = tempRet0; + $74 = HEAP32[$11>>2]|0; + $75 = ((($74)) + 32|0); + $76 = $75; + $77 = $76; + HEAP32[$77>>2] = $72; + $78 = (($76) + 4)|0; + $79 = $78; + HEAP32[$79>>2] = $73; + $80 = HEAP32[$14>>2]|0; + $81 = $80<<4; + $82 = ($81|0)<(0); + $83 = $82 << 31 >> 31; + $84 = HEAP32[$11>>2]|0; + $85 = ((($84)) + 32|0); + $86 = $85; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (_i64Add(($88|0),($91|0),($81|0),($83|0))|0); + $93 = tempRet0; + $94 = $85; + $95 = $94; + HEAP32[$95>>2] = $92; + $96 = (($94) + 4)|0; + $97 = $96; + HEAP32[$97>>2] = $93; + } + $98 = HEAP32[$16>>2]|0; + $99 = (_sqlite3_reset($98)|0); + HEAP32[$12>>2] = $99; + } + $100 = HEAP32[$12>>2]|0; + $101 = ($100|0)!=(0); + if ($101) { + $102 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $102; + $161 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($161|0); + } + $103 = HEAP32[$7>>2]|0; + $104 = HEAP32[$11>>2]|0; + $105 = ((($104)) + 32|0); + $106 = $105; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (($106) + 4)|0; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (_fts3WriteSegment($103,$108,$111,0,0)|0); + HEAP32[$12>>2] = $112; + $113 = HEAP32[$12>>2]|0; + $114 = ($113|0)!=(0); + if ($114) { + $115 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $115; + $161 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($161|0); + } + $116 = $8; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = HEAP32[$11>>2]|0; + $123 = ((($122)) + 8|0); + $124 = $123; + $125 = $124; + HEAP32[$125>>2] = $118; + $126 = (($124) + 4)|0; + $127 = $126; + HEAP32[$127>>2] = $121; + $128 = HEAP32[$14>>2]|0; + $129 = HEAP32[$11>>2]|0; + HEAP32[$129>>2] = $128; + $130 = HEAP32[$9>>2]|0; + $131 = HEAP32[$11>>2]|0; + $132 = ((($131)) + 16|0); + HEAP32[$132>>2] = $130; + HEAP32[$13>>2] = 0; + while(1) { + $133 = HEAP32[$13>>2]|0; + $134 = ($133|0)<(16); + if (!($134)) { + break; + } + $135 = HEAP32[$11>>2]|0; + $136 = ((($135)) + 24|0); + $137 = $136; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (($137) + 4)|0; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = HEAP32[$13>>2]|0; + $144 = HEAP32[$11>>2]|0; + $145 = HEAP32[$144>>2]|0; + $146 = Math_imul($143, $145)|0; + $147 = ($146|0)<(0); + $148 = $147 << 31 >> 31; + $149 = (_i64Add(($139|0),($142|0),($146|0),($148|0))|0); + $150 = tempRet0; + $151 = HEAP32[$11>>2]|0; + $152 = ((($151)) + 56|0); + $153 = HEAP32[$13>>2]|0; + $154 = (($152) + ($153<<5)|0); + $155 = $154; + $156 = $155; + HEAP32[$156>>2] = $149; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $150; + $159 = HEAP32[$13>>2]|0; + $160 = (($159) + 1)|0; + HEAP32[$13>>2] = $160; + } + HEAP32[$6>>2] = 0; + $161 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($161|0); +} +function _fts3IncrmergeAppend($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 40|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 44|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$7>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 48|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$8>>2] = $23; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 52|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$9>>2] = $26; + HEAP32[$10>>2] = 0; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 56|0); + HEAP32[$14>>2] = $28; + $29 = HEAP32[$14>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$14>>2]|0; + $33 = ((($32)) + 8|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$6>>2]|0; + $37 = HEAP32[$7>>2]|0; + $38 = (_fts3PrefixCompress($31,$35,$36,$37)|0); + HEAP32[$12>>2] = $38; + $39 = HEAP32[$7>>2]|0; + $40 = HEAP32[$12>>2]|0; + $41 = (($39) - ($40))|0; + HEAP32[$13>>2] = $41; + $42 = HEAP32[$12>>2]|0; + $43 = ($42|0)<(0); + $44 = $43 << 31 >> 31; + $45 = (_sqlite3Fts3VarintLen($42,$44)|0); + HEAP32[$11>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = ($46|0)<(0); + $48 = $47 << 31 >> 31; + $49 = (_sqlite3Fts3VarintLen($46,$48)|0); + $50 = HEAP32[$13>>2]|0; + $51 = (($49) + ($50))|0; + $52 = HEAP32[$11>>2]|0; + $53 = (($52) + ($51))|0; + HEAP32[$11>>2] = $53; + $54 = HEAP32[$9>>2]|0; + $55 = ($54|0)<(0); + $56 = $55 << 31 >> 31; + $57 = (_sqlite3Fts3VarintLen($54,$56)|0); + $58 = HEAP32[$9>>2]|0; + $59 = (($57) + ($58))|0; + $60 = HEAP32[$11>>2]|0; + $61 = (($60) + ($59))|0; + HEAP32[$11>>2] = $61; + $62 = HEAP32[$14>>2]|0; + $63 = ((($62)) + 20|0); + $64 = ((($63)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)>(0); + if ($66) { + $67 = HEAP32[$14>>2]|0; + $68 = ((($67)) + 20|0); + $69 = ((($68)) + 4|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$11>>2]|0; + $72 = (($70) + ($71))|0; + $73 = HEAP32[$3>>2]|0; + $74 = ((($73)) + 224|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($72|0)>($75|0); + if ($76) { + $77 = HEAP32[$3>>2]|0; + $78 = HEAP32[$14>>2]|0; + $79 = $78; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = (($79) + 4)|0; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$14>>2]|0; + $86 = ((($85)) + 20|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$14>>2]|0; + $89 = ((($88)) + 20|0); + $90 = ((($89)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = (_fts3WriteSegment($77,$81,$84,$87,$91)|0); + HEAP32[$10>>2] = $92; + $93 = HEAP32[$4>>2]|0; + $94 = ((($93)) + 4|0); + $95 = HEAP32[$94>>2]|0; + $96 = (($95) + 1)|0; + HEAP32[$94>>2] = $96; + $97 = HEAP32[$10>>2]|0; + $98 = ($97|0)==(0); + if ($98) { + $99 = HEAP32[$3>>2]|0; + $100 = HEAP32[$4>>2]|0; + $101 = HEAP32[$6>>2]|0; + $102 = HEAP32[$12>>2]|0; + $103 = (($102) + 1)|0; + $104 = (_fts3IncrmergePush($99,$100,$101,$103)|0); + HEAP32[$10>>2] = $104; + } + $105 = HEAP32[$14>>2]|0; + $106 = $105; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (($106) + 4)|0; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (_i64Add(($108|0),($111|0),1,0)|0); + $113 = tempRet0; + $114 = $105; + $115 = $114; + HEAP32[$115>>2] = $112; + $116 = (($114) + 4)|0; + $117 = $116; + HEAP32[$117>>2] = $113; + $118 = HEAP32[$14>>2]|0; + $119 = ((($118)) + 8|0); + $120 = ((($119)) + 4|0); + HEAP32[$120>>2] = 0; + $121 = HEAP32[$14>>2]|0; + $122 = ((($121)) + 20|0); + $123 = ((($122)) + 4|0); + HEAP32[$123>>2] = 0; + $124 = HEAP32[$7>>2]|0; + HEAP32[$13>>2] = $124; + HEAP32[$11>>2] = 1; + $125 = HEAP32[$13>>2]|0; + $126 = ($125|0)<(0); + $127 = $126 << 31 >> 31; + $128 = (_sqlite3Fts3VarintLen($125,$127)|0); + $129 = HEAP32[$13>>2]|0; + $130 = (($128) + ($129))|0; + $131 = HEAP32[$11>>2]|0; + $132 = (($131) + ($130))|0; + HEAP32[$11>>2] = $132; + $133 = HEAP32[$9>>2]|0; + $134 = ($133|0)<(0); + $135 = $134 << 31 >> 31; + $136 = (_sqlite3Fts3VarintLen($133,$135)|0); + $137 = HEAP32[$9>>2]|0; + $138 = (($136) + ($137))|0; + $139 = HEAP32[$11>>2]|0; + $140 = (($139) + ($138))|0; + HEAP32[$11>>2] = $140; + } + } + $141 = HEAP32[$11>>2]|0; + $142 = ($141|0)<(0); + $143 = $142 << 31 >> 31; + $144 = HEAP32[$4>>2]|0; + $145 = ((($144)) + 40|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (_i64Add(($148|0),($151|0),($141|0),($143|0))|0); + $153 = tempRet0; + $154 = $145; + $155 = $154; + HEAP32[$155>>2] = $152; + $156 = (($154) + 4)|0; + $157 = $156; + HEAP32[$157>>2] = $153; + $158 = HEAP32[$14>>2]|0; + $159 = ((($158)) + 20|0); + $160 = HEAP32[$14>>2]|0; + $161 = ((($160)) + 20|0); + $162 = ((($161)) + 4|0); + $163 = HEAP32[$162>>2]|0; + $164 = HEAP32[$11>>2]|0; + $165 = (($163) + ($164))|0; + _blobGrowBuffer($159,$165,$10); + $166 = HEAP32[$10>>2]|0; + $167 = ($166|0)==(0); + if (!($167)) { + $188 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($188|0); + } + $168 = HEAP32[$14>>2]|0; + $169 = ((($168)) + 20|0); + $170 = ((($169)) + 4|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==(0); + if ($172) { + $173 = HEAP32[$14>>2]|0; + $174 = ((($173)) + 20|0); + $175 = ((($174)) + 4|0); + HEAP32[$175>>2] = 1; + $176 = HEAP32[$14>>2]|0; + $177 = ((($176)) + 20|0); + $178 = HEAP32[$177>>2]|0; + HEAP8[$178>>0] = 0; + } + $179 = HEAP32[$14>>2]|0; + $180 = ((($179)) + 20|0); + $181 = HEAP32[$14>>2]|0; + $182 = ((($181)) + 8|0); + $183 = HEAP32[$6>>2]|0; + $184 = HEAP32[$7>>2]|0; + $185 = HEAP32[$8>>2]|0; + $186 = HEAP32[$9>>2]|0; + $187 = (_fts3AppendToNode($180,$182,$183,$184,$185,$186)|0); + HEAP32[$10>>2] = $187; + $188 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($188|0); +} +function _fts3IncrmergeChomp($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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 label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 44|0; + $6 = sp; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + HEAP32[$5>>2] = $0; + $16 = $6; + $17 = $16; + HEAP32[$17>>2] = $1; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = $4; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + $20 = HEAP32[$7>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) - 1)|0; + HEAP32[$9>>2] = $23; + while(1) { + $24 = HEAP32[$9>>2]|0; + $25 = ($24|0)>=(0); + $26 = HEAP32[$11>>2]|0; + $27 = ($26|0)==(0); + $28 = $25 ? $27 : 0; + if (!($28)) { + break; + } + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + while(1) { + $29 = HEAP32[$13>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($29|0)<($32|0); + if (!($33)) { + break; + } + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$13>>2]|0; + $37 = (($35) + ($36<<2)|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$12>>2] = $38; + $39 = HEAP32[$12>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$9>>2]|0; + $42 = ($40|0)==($41|0); + if ($42) { + break; + } + $43 = HEAP32[$13>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$13>>2] = $44; + } + $45 = HEAP32[$12>>2]|0; + $46 = ((($45)) + 40|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0|0); + if ($48) { + $49 = HEAP32[$5>>2]|0; + $50 = HEAP32[$12>>2]|0; + $51 = (_fts3DeleteSegment($49,$50)|0); + HEAP32[$11>>2] = $51; + $52 = HEAP32[$11>>2]|0; + $53 = ($52|0)==(0); + if ($53) { + $54 = HEAP32[$5>>2]|0; + $55 = $6; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$12>>2]|0; + $62 = HEAP32[$61>>2]|0; + $63 = (_fts3RemoveSegdirEntry($54,$57,$60,$62)|0); + HEAP32[$11>>2] = $63; + } + $64 = HEAP32[$8>>2]|0; + HEAP32[$64>>2] = 0; + } else { + $65 = HEAP32[$12>>2]|0; + $66 = ((($65)) + 64|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$14>>2] = $67; + $68 = HEAP32[$12>>2]|0; + $69 = ((($68)) + 60|0); + $70 = HEAP32[$69>>2]|0; + HEAP32[$15>>2] = $70; + $71 = HEAP32[$5>>2]|0; + $72 = $6; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$12>>2]|0; + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$14>>2]|0; + $81 = HEAP32[$15>>2]|0; + $82 = (_fts3TruncateSegment($71,$74,$77,$79,$80,$81)|0); + HEAP32[$11>>2] = $82; + $83 = HEAP32[$10>>2]|0; + $84 = (($83) + 1)|0; + HEAP32[$10>>2] = $84; + } + $85 = HEAP32[$9>>2]|0; + $86 = (($85) + -1)|0; + HEAP32[$9>>2] = $86; + } + $87 = HEAP32[$11>>2]|0; + $88 = ($87|0)==(0); + if (!($88)) { + $102 = HEAP32[$10>>2]|0; + $103 = HEAP32[$8>>2]|0; + HEAP32[$103>>2] = $102; + $104 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($104|0); + } + $89 = HEAP32[$10>>2]|0; + $90 = HEAP32[$7>>2]|0; + $91 = ((($90)) + 4|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($89|0)!=($92|0); + if (!($93)) { + $102 = HEAP32[$10>>2]|0; + $103 = HEAP32[$8>>2]|0; + HEAP32[$103>>2] = $102; + $104 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($104|0); + } + $94 = HEAP32[$5>>2]|0; + $95 = $6; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (_fts3RepackSegdirLevel($94,$97,$100)|0); + HEAP32[$11>>2] = $101; + $102 = HEAP32[$10>>2]|0; + $103 = HEAP32[$8>>2]|0; + HEAP32[$103>>2] = $102; + $104 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($104|0); +} +function _fts3IncrmergeHintPush($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$5>>2] = $0; + $9 = $6; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = $4; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + 20)|0; + $18 = HEAP32[$8>>2]|0; + _blobGrowBuffer($13,$17,$18); + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if (!($21)) { + STACKTOP = sp;return; + } + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($23) + ($26)|0); + $28 = $6; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (_sqlite3Fts3PutVarint($27,$30,$33)|0); + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($37) + ($34))|0; + HEAP32[$36>>2] = $38; + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = (($40) + ($43)|0); + $45 = HEAP32[$7>>2]|0; + $46 = ($45|0)<(0); + $47 = $46 << 31 >> 31; + $48 = (_sqlite3Fts3PutVarint($44,$45,$47)|0); + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($51) + ($48))|0; + HEAP32[$50>>2] = $52; + STACKTOP = sp;return; +} +function _fts3IncrmergeRelease($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $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; + 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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$9>>2] = $14; + HEAP32[$7>>2] = 15; + while(1) { + $15 = HEAP32[$7>>2]|0; + $16 = ($15|0)>=(0); + if (!($16)) { + break; + } + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 56|0); + $19 = HEAP32[$7>>2]|0; + $20 = (($18) + ($19<<5)|0); + HEAP32[$10>>2] = $20; + $21 = HEAP32[$10>>2]|0; + $22 = ((($21)) + 20|0); + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)>(0); + if ($25) { + break; + } + $26 = HEAP32[$10>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + _sqlite3_free($28); + $29 = HEAP32[$10>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + _sqlite3_free($31); + $32 = HEAP32[$7>>2]|0; + $33 = (($32) + -1)|0; + HEAP32[$7>>2] = $33; + } + $34 = HEAP32[$7>>2]|0; + $35 = ($34|0)<(0); + if ($35) { + STACKTOP = sp;return; + } + $36 = HEAP32[$7>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 56|0); + $40 = ((($39)) + 32|0); + $41 = ((($40)) + 20|0); + HEAP32[$11>>2] = $41; + $42 = HEAP32[$11>>2]|0; + _blobGrowBuffer($42,11,$9); + $43 = HEAP32[$9>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$11>>2]|0; + $46 = HEAP32[$45>>2]|0; + HEAP8[$46>>0] = 1; + $47 = HEAP32[$11>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = ((($48)) + 1|0); + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 56|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (_sqlite3Fts3PutVarint($49,$54,$57)|0); + $59 = (1 + ($58))|0; + $60 = HEAP32[$11>>2]|0; + $61 = ((($60)) + 4|0); + HEAP32[$61>>2] = $59; + } + HEAP32[$7>>2] = 1; + } + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 56|0); + $64 = HEAP32[$7>>2]|0; + $65 = (($63) + ($64<<5)|0); + HEAP32[$8>>2] = $65; + HEAP32[$6>>2] = 0; + while(1) { + $66 = HEAP32[$6>>2]|0; + $67 = HEAP32[$7>>2]|0; + $68 = ($66|0)<($67|0); + if (!($68)) { + break; + } + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 56|0); + $71 = HEAP32[$6>>2]|0; + $72 = (($70) + ($71<<5)|0); + HEAP32[$12>>2] = $72; + $73 = HEAP32[$12>>2]|0; + $74 = ((($73)) + 20|0); + $75 = ((($74)) + 4|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)>(0); + $78 = HEAP32[$9>>2]|0; + $79 = ($78|0)==(0); + $or$cond = $77 & $79; + if ($or$cond) { + $80 = HEAP32[$3>>2]|0; + $81 = HEAP32[$12>>2]|0; + $82 = $81; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$12>>2]|0; + $89 = ((($88)) + 20|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$12>>2]|0; + $92 = ((($91)) + 20|0); + $93 = ((($92)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = (_fts3WriteSegment($80,$84,$87,$90,$94)|0); + HEAP32[$9>>2] = $95; + } + $96 = HEAP32[$12>>2]|0; + $97 = ((($96)) + 20|0); + $98 = HEAP32[$97>>2]|0; + _sqlite3_free($98); + $99 = HEAP32[$12>>2]|0; + $100 = ((($99)) + 8|0); + $101 = HEAP32[$100>>2]|0; + _sqlite3_free($101); + $102 = HEAP32[$6>>2]|0; + $103 = (($102) + 1)|0; + HEAP32[$6>>2] = $103; + } + $104 = HEAP32[$9>>2]|0; + $105 = ($104|0)==(0); + if ($105) { + $106 = HEAP32[$3>>2]|0; + $107 = HEAP32[$4>>2]|0; + $108 = ((($107)) + 8|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 = HEAP32[$4>>2]|0; + $118 = ((($117)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$4>>2]|0; + $121 = ((($120)) + 24|0); + $122 = $121; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = (($122) + 4)|0; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$4>>2]|0; + $129 = ((($128)) + 56|0); + $130 = $129; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$4>>2]|0; + $137 = ((($136)) + 32|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$4>>2]|0; + $145 = ((($144)) + 48|0); + $146 = HEAP8[$145>>0]|0; + $147 = $146&255; + $148 = ($147|0)==(0); + if ($148) { + $149 = HEAP32[$4>>2]|0; + $150 = ((($149)) + 40|0); + $151 = $150; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = (($151) + 4)|0; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $164 = $153;$165 = $156; + } else { + $164 = 0;$165 = 0; + } + $157 = HEAP32[$8>>2]|0; + $158 = ((($157)) + 20|0); + $159 = HEAP32[$158>>2]|0; + $160 = HEAP32[$8>>2]|0; + $161 = ((($160)) + 20|0); + $162 = ((($161)) + 4|0); + $163 = HEAP32[$162>>2]|0; + $166 = (_fts3WriteSegdir($106,$115,$116,$119,$124,$127,$132,$135,$140,$143,$164,$165,$159,$163)|0); + HEAP32[$9>>2] = $166; + } + $167 = HEAP32[$8>>2]|0; + $168 = ((($167)) + 20|0); + $169 = HEAP32[$168>>2]|0; + _sqlite3_free($169); + $170 = HEAP32[$8>>2]|0; + $171 = ((($170)) + 8|0); + $172 = HEAP32[$171>>2]|0; + _sqlite3_free($172); + $173 = HEAP32[$9>>2]|0; + $174 = HEAP32[$5>>2]|0; + HEAP32[$174>>2] = $173; + STACKTOP = sp;return; +} +function _fts3IncrmergeHintStore($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 + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = (_fts3SqlStmt($6,23,$4,0)|0); + HEAP32[$5>>2] = $7; + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if (!($9)) { + $20 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($20|0); + } + $10 = HEAP32[$4>>2]|0; + (_sqlite3_bind_int($10,1,1)|0); + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + (_sqlite3_bind_blob($11,2,$13,$16,0)|0); + $17 = HEAP32[$4>>2]|0; + (_sqlite3_step($17)|0); + $18 = HEAP32[$4>>2]|0; + $19 = (_sqlite3_reset($18)|0); + HEAP32[$5>>2] = $19; + $20 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($20|0); +} +function _blobGrowBuffer($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 + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($11|0)>($14|0); + if (!($15)) { + STACKTOP = sp;return; + } + $16 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = (_sqlite3_realloc($18,$19)|0); + HEAP32[$7>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 8|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$3>>2]|0; + HEAP32[$27>>2] = $26; + STACKTOP = sp;return; + } else { + $28 = HEAP32[$5>>2]|0; + HEAP32[$28>>2] = 7; + STACKTOP = sp;return; + } +} +function _fts3RemoveSegdirEntry($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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$4>>2] = $0; + $9 = $5; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + HEAP32[$6>>2] = $3; + HEAP32[$8>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = (_fts3SqlStmt($13,30,$8,0)|0); + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ($15|0)==(0); + if (!($16)) { + $29 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($29|0); + } + $17 = HEAP32[$8>>2]|0; + $18 = $5; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + (_sqlite3_bind_int64($17,1,$20,$23)|0); + $24 = HEAP32[$8>>2]|0; + $25 = HEAP32[$6>>2]|0; + (_sqlite3_bind_int($24,2,$25)|0); + $26 = HEAP32[$8>>2]|0; + (_sqlite3_step($26)|0); + $27 = HEAP32[$8>>2]|0; + $28 = (_sqlite3_reset($27)|0); + HEAP32[$7>>2] = $28; + $29 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($29|0); +} +function _fts3TruncateSegment($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $6 = sp + 104|0; + $7 = sp + 24|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 92|0; + $11 = sp + 88|0; + $12 = sp + 76|0; + $13 = sp + 64|0; + $14 = sp + 16|0; + $15 = sp + 8|0; + $16 = sp; + $17 = sp + 60|0; + $18 = sp + 56|0; + $19 = sp + 52|0; + $20 = sp + 48|0; + $21 = sp + 44|0; + $22 = sp + 40|0; + $23 = sp + 36|0; + $24 = sp + 32|0; + HEAP32[$6>>2] = $0; + $25 = $7; + $26 = $25; + HEAP32[$26>>2] = $1; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = $5; + HEAP32[$11>>2] = 0; + ;HEAP32[$12>>2]=0|0;HEAP32[$12+4>>2]=0|0;HEAP32[$12+8>>2]=0|0; + ;HEAP32[$13>>2]=0|0;HEAP32[$13+4>>2]=0|0;HEAP32[$13+8>>2]=0|0; + $29 = $14; + $30 = $29; + HEAP32[$30>>2] = 0; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = 0; + $33 = $15; + $34 = $33; + HEAP32[$34>>2] = 0; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = 0; + $37 = $16; + $38 = $37; + HEAP32[$38>>2] = 0; + $39 = (($37) + 4)|0; + $40 = $39; + HEAP32[$40>>2] = 0; + HEAP32[$17>>2] = 0; + $41 = HEAP32[$6>>2]|0; + $42 = (_fts3SqlStmt($41,32,$17,0)|0); + HEAP32[$11>>2] = $42; + $43 = HEAP32[$11>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$17>>2]|0; + $46 = $7; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + (_sqlite3_bind_int64($45,1,$48,$51)|0); + $52 = HEAP32[$17>>2]|0; + $53 = HEAP32[$8>>2]|0; + (_sqlite3_bind_int($52,2,$53)|0); + $54 = HEAP32[$17>>2]|0; + $55 = (_sqlite3_step($54)|0); + $56 = (100)==($55|0); + if ($56) { + $57 = HEAP32[$17>>2]|0; + $58 = (_sqlite3_column_blob($57,4)|0); + HEAP32[$19>>2] = $58; + $59 = HEAP32[$17>>2]|0; + $60 = (_sqlite3_column_bytes($59,4)|0); + HEAP32[$20>>2] = $60; + $61 = HEAP32[$17>>2]|0; + $62 = (_sqlite3_column_int64($61,1)|0); + $63 = tempRet0; + $64 = $16; + $65 = $64; + HEAP32[$65>>2] = $62; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = $63; + $68 = HEAP32[$19>>2]|0; + $69 = HEAP32[$20>>2]|0; + $70 = HEAP32[$9>>2]|0; + $71 = HEAP32[$10>>2]|0; + $72 = (_fts3TruncateNode($68,$69,$12,$70,$71,$14)|0); + HEAP32[$11>>2] = $72; + } + $73 = HEAP32[$17>>2]|0; + $74 = (_sqlite3_reset($73)|0); + HEAP32[$18>>2] = $74; + $75 = HEAP32[$11>>2]|0; + $76 = ($75|0)==(0); + if ($76) { + $77 = HEAP32[$18>>2]|0; + HEAP32[$11>>2] = $77; + } + } + while(1) { + $78 = HEAP32[$11>>2]|0; + $79 = ($78|0)==(0); + $80 = $14; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (($80) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = ($82|0)!=(0); + $87 = ($85|0)!=(0); + $88 = $86 | $87; + $89 = $79 ? $88 : 0; + if (!($89)) { + break; + } + HEAP32[$21>>2] = 0; + HEAP32[$22>>2] = 0; + $90 = $14; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = (($90) + 4)|0; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = $15; + $97 = $96; + HEAP32[$97>>2] = $92; + $98 = (($96) + 4)|0; + $99 = $98; + HEAP32[$99>>2] = $95; + $100 = HEAP32[$6>>2]|0; + $101 = $14; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = (($101) + 4)|0; + $105 = $104; + $106 = HEAP32[$105>>2]|0; + $107 = (_sqlite3Fts3ReadBlock($100,$103,$106,$21,$22,0)|0); + HEAP32[$11>>2] = $107; + $108 = HEAP32[$11>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $110 = HEAP32[$21>>2]|0; + $111 = HEAP32[$22>>2]|0; + $112 = HEAP32[$9>>2]|0; + $113 = HEAP32[$10>>2]|0; + $114 = (_fts3TruncateNode($110,$111,$13,$112,$113,$14)|0); + HEAP32[$11>>2] = $114; + } + $115 = HEAP32[$11>>2]|0; + $116 = ($115|0)==(0); + if ($116) { + $117 = HEAP32[$6>>2]|0; + $118 = $15; + $119 = $118; + $120 = HEAP32[$119>>2]|0; + $121 = (($118) + 4)|0; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$13>>2]|0; + $125 = ((($13)) + 4|0); + $126 = HEAP32[$125>>2]|0; + $127 = (_fts3WriteSegment($117,$120,$123,$124,$126)|0); + HEAP32[$11>>2] = $127; + } + $128 = HEAP32[$21>>2]|0; + _sqlite3_free($128); + } + $129 = HEAP32[$11>>2]|0; + $130 = ($129|0)==(0); + $131 = $15; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (($131) + 4)|0; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = ($133|0)!=(0); + $138 = ($136|0)!=(0); + $139 = $137 | $138; + $or$cond = $130 & $139; + if ($or$cond) { + HEAP32[$23>>2] = 0; + $140 = HEAP32[$6>>2]|0; + $141 = (_fts3SqlStmt($140,17,$23,0)|0); + HEAP32[$11>>2] = $141; + $142 = HEAP32[$11>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = HEAP32[$23>>2]|0; + $145 = $16; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + (_sqlite3_bind_int64($144,1,$147,$150)|0); + $151 = HEAP32[$23>>2]|0; + $152 = $15; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = (_i64Subtract(($154|0),($157|0),1,0)|0); + $159 = tempRet0; + (_sqlite3_bind_int64($151,2,$158,$159)|0); + $160 = HEAP32[$23>>2]|0; + (_sqlite3_step($160)|0); + $161 = HEAP32[$23>>2]|0; + $162 = (_sqlite3_reset($161)|0); + HEAP32[$11>>2] = $162; + } + } + $163 = HEAP32[$11>>2]|0; + $164 = ($163|0)==(0); + if (!($164)) { + $192 = HEAP32[$12>>2]|0; + _sqlite3_free($192); + $193 = HEAP32[$13>>2]|0; + _sqlite3_free($193); + $194 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($194|0); + } + HEAP32[$24>>2] = 0; + $165 = HEAP32[$6>>2]|0; + $166 = (_fts3SqlStmt($165,33,$24,0)|0); + HEAP32[$11>>2] = $166; + $167 = HEAP32[$11>>2]|0; + $168 = ($167|0)==(0); + if (!($168)) { + $192 = HEAP32[$12>>2]|0; + _sqlite3_free($192); + $193 = HEAP32[$13>>2]|0; + _sqlite3_free($193); + $194 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($194|0); + } + $169 = HEAP32[$24>>2]|0; + $170 = $15; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = (($170) + 4)|0; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + (_sqlite3_bind_int64($169,1,$172,$175)|0); + $176 = HEAP32[$24>>2]|0; + $177 = HEAP32[$12>>2]|0; + $178 = ((($12)) + 4|0); + $179 = HEAP32[$178>>2]|0; + (_sqlite3_bind_blob($176,2,$177,$179,0)|0); + $180 = HEAP32[$24>>2]|0; + $181 = $7; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = (($181) + 4)|0; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + (_sqlite3_bind_int64($180,3,$183,$186)|0); + $187 = HEAP32[$24>>2]|0; + $188 = HEAP32[$8>>2]|0; + (_sqlite3_bind_int($187,4,$188)|0); + $189 = HEAP32[$24>>2]|0; + (_sqlite3_step($189)|0); + $190 = HEAP32[$24>>2]|0; + $191 = (_sqlite3_reset($190)|0); + HEAP32[$11>>2] = $191; + $192 = HEAP32[$12>>2]|0; + _sqlite3_free($192); + $193 = HEAP32[$13>>2]|0; + _sqlite3_free($193); + $194 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($194|0); +} +function _fts3RepackSegdirLevel($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 44|0; + $4 = sp; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + HEAP32[$3>>2] = $0; + $14 = $4; + $15 = $14; + HEAP32[$15>>2] = $1; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + $18 = HEAP32[$3>>2]|0; + $19 = (_fts3SqlStmt($18,35,$10,0)|0); + HEAP32[$5>>2] = $19; + $20 = HEAP32[$5>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + $22 = HEAP32[$10>>2]|0; + $23 = $4; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + (_sqlite3_bind_int64($22,1,$25,$28)|0); + while(1) { + $29 = HEAP32[$10>>2]|0; + $30 = (_sqlite3_step($29)|0); + $31 = (100)==($30|0); + if (!($31)) { + break; + } + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = ($32|0)>=($33|0); + if ($34) { + $35 = HEAP32[$8>>2]|0; + $36 = (($35) + 16)|0; + HEAP32[$8>>2] = $36; + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$8>>2]|0; + $39 = $38<<2; + $40 = (_sqlite3_realloc($37,$39)|0); + HEAP32[$13>>2] = $40; + $41 = HEAP32[$13>>2]|0; + $42 = ($41|0)!=(0|0); + if (!($42)) { + label = 6; + break; + } + $43 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $43; + } + $44 = HEAP32[$10>>2]|0; + $45 = (_sqlite3_column_int($44,0)|0); + $46 = HEAP32[$6>>2]|0; + $47 = HEAP32[$7>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$7>>2] = $48; + $49 = (($46) + ($47<<2)|0); + HEAP32[$49>>2] = $45; + } + if ((label|0) == 6) { + HEAP32[$5>>2] = 7; + } + $50 = HEAP32[$10>>2]|0; + $51 = (_sqlite3_reset($50)|0); + HEAP32[$12>>2] = $51; + $52 = HEAP32[$5>>2]|0; + $53 = ($52|0)==(0); + if ($53) { + $54 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $54; + } + } + $55 = HEAP32[$5>>2]|0; + $56 = ($55|0)==(0); + if ($56) { + $57 = HEAP32[$3>>2]|0; + $58 = (_fts3SqlStmt($57,31,$11,0)|0); + HEAP32[$5>>2] = $58; + } + $59 = HEAP32[$5>>2]|0; + $60 = ($59|0)==(0); + if ($60) { + $61 = HEAP32[$11>>2]|0; + $62 = $4; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + (_sqlite3_bind_int64($61,2,$64,$67)|0); + } + $68 = HEAP32[$3>>2]|0; + $69 = ((($68)) + 232|0); + HEAP8[$69>>0] = 1; + HEAP32[$9>>2] = 0; + while(1) { + $70 = HEAP32[$5>>2]|0; + $71 = ($70|0)==(0); + if (!($71)) { + label = 21; + break; + } + $72 = HEAP32[$9>>2]|0; + $73 = HEAP32[$7>>2]|0; + $74 = ($72|0)<($73|0); + if (!($74)) { + label = 21; + break; + } + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$9>>2]|0; + $77 = (($75) + ($76<<2)|0); + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$9>>2]|0; + $80 = ($78|0)!=($79|0); + if ($80) { + $81 = HEAP32[$11>>2]|0; + $82 = HEAP32[$6>>2]|0; + $83 = HEAP32[$9>>2]|0; + $84 = (($82) + ($83<<2)|0); + $85 = HEAP32[$84>>2]|0; + (_sqlite3_bind_int($81,3,$85)|0); + $86 = HEAP32[$11>>2]|0; + $87 = HEAP32[$9>>2]|0; + (_sqlite3_bind_int($86,1,$87)|0); + $88 = HEAP32[$11>>2]|0; + (_sqlite3_step($88)|0); + $89 = HEAP32[$11>>2]|0; + $90 = (_sqlite3_reset($89)|0); + HEAP32[$5>>2] = $90; + } + $91 = HEAP32[$9>>2]|0; + $92 = (($91) + 1)|0; + HEAP32[$9>>2] = $92; + } + if ((label|0) == 21) { + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 232|0); + HEAP8[$94>>0] = 0; + $95 = HEAP32[$6>>2]|0; + _sqlite3_free($95); + $96 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($96|0); + } + return (0)|0; +} +function _fts3TruncateNode($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $6 = sp + 96|0; + $7 = sp + 92|0; + $8 = sp + 88|0; + $9 = sp + 84|0; + $10 = sp + 80|0; + $11 = sp + 76|0; + $12 = sp + 72|0; + $13 = sp; + $14 = sp + 60|0; + $15 = sp + 56|0; + $16 = sp + 52|0; + $17 = sp + 48|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + ;HEAP32[$14>>2]=0|0;HEAP32[$14+4>>2]=0|0;HEAP32[$14+8>>2]=0|0; + HEAP32[$15>>2] = 0; + $18 = HEAP32[$7>>2]|0; + $19 = HEAP8[$18>>0]|0; + $20 = $19 << 24 >> 24; + $21 = ($20|0)==(0); + $22 = $21&1; + HEAP32[$16>>2] = $22; + $23 = HEAP32[$9>>2]|0; + $24 = HEAP32[$8>>2]|0; + _blobGrowBuffer($23,$24,$15); + $25 = HEAP32[$15>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $27; + $122 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($122|0); + } + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 4|0); + HEAP32[$29>>2] = 0; + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$8>>2]|0; + $32 = (_nodeReaderInit($13,$30,$31)|0); + HEAP32[$15>>2] = $32; + while(1) { + $33 = HEAP32[$15>>2]|0; + $34 = ($33|0)==(0); + $35 = HEAP32[$13>>2]|0; + $36 = ($35|0)!=(0|0); + $37 = $34 ? $36 : 0; + if (!($37)) { + break; + } + $38 = HEAP32[$9>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)==(0); + if ($41) { + $42 = ((($13)) + 24|0); + $43 = HEAP32[$42>>2]|0; + $44 = ((($13)) + 24|0); + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$10>>2]|0; + $48 = HEAP32[$11>>2]|0; + $49 = (_fts3TermCmp($43,$46,$47,$48)|0); + HEAP32[$17>>2] = $49; + $50 = HEAP32[$17>>2]|0; + $51 = ($50|0)<(0); + if (!($51)) { + $52 = HEAP32[$16>>2]|0; + $53 = ($52|0)==(0); + $54 = HEAP32[$17>>2]|0; + $55 = ($54|0)==(0); + $or$cond = $53 & $55; + if (!($or$cond)) { + $56 = HEAP32[$9>>2]|0; + $57 = HEAP32[$7>>2]|0; + $58 = HEAP8[$57>>0]|0; + $59 = $58 << 24 >> 24; + $60 = ((($13)) + 16|0); + $61 = $60; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + _fts3StartNode($56,$59,$63,$66); + $67 = ((($13)) + 16|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$12>>2]|0; + $75 = $74; + $76 = $75; + HEAP32[$76>>2] = $70; + $77 = (($75) + 4)|0; + $78 = $77; + HEAP32[$78>>2] = $73; + label = 9; + } + } + } else { + label = 9; + } + if ((label|0) == 9) { + label = 0; + $79 = HEAP32[$9>>2]|0; + $80 = ((($13)) + 24|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($13)) + 24|0); + $83 = ((($82)) + 4|0); + $84 = HEAP32[$83>>2]|0; + $85 = ((($13)) + 36|0); + $86 = HEAP32[$85>>2]|0; + $87 = ((($13)) + 40|0); + $88 = HEAP32[$87>>2]|0; + $89 = (_fts3AppendToNode($79,$14,$81,$84,$86,$88)|0); + HEAP32[$15>>2] = $89; + $90 = HEAP32[$15>>2]|0; + $91 = ($90|0)!=(0); + if ($91) { + break; + } + } + $92 = (_nodeReaderNext($13)|0); + HEAP32[$15>>2] = $92; + } + $93 = HEAP32[$9>>2]|0; + $94 = ((($93)) + 4|0); + $95 = HEAP32[$94>>2]|0; + $96 = ($95|0)==(0); + if ($96) { + $97 = HEAP32[$9>>2]|0; + $98 = HEAP32[$7>>2]|0; + $99 = HEAP8[$98>>0]|0; + $100 = $99 << 24 >> 24; + $101 = ((($13)) + 16|0); + $102 = $101; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = (($102) + 4)|0; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + _fts3StartNode($97,$100,$104,$107); + $108 = ((($13)) + 16|0); + $109 = $108; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$12>>2]|0; + $116 = $115; + $117 = $116; + HEAP32[$117>>2] = $111; + $118 = (($116) + 4)|0; + $119 = $118; + HEAP32[$119>>2] = $114; + } + _nodeReaderRelease($13); + $120 = HEAP32[$14>>2]|0; + _sqlite3_free($120); + $121 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $121; + $122 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($122|0); +} +function _nodeReaderInit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + dest=$6; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$3>>2]|0; + HEAP32[$8>>2] = $7; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 4|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)!=(0); + $16 = HEAP32[$3>>2]|0; + if (!($15)) { + $$sink = 1;$$sink2 = $16; + $24 = ((($$sink2)) + 8|0); + HEAP32[$24>>2] = $$sink; + $25 = HEAP32[$3>>2]|0; + $26 = (_nodeReaderNext($25)|0); + STACKTOP = sp;return ($26|0); + } + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 1|0); + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 16|0); + $21 = (_sqlite3Fts3GetVarint($18,$20)|0); + $22 = (1 + ($21))|0; + $23 = HEAP32[$3>>2]|0; + $$sink = $22;$$sink2 = $23; + $24 = ((($$sink2)) + 8|0); + HEAP32[$24>>2] = $$sink; + $25 = HEAP32[$3>>2]|0; + $26 = (_nodeReaderNext($25)|0); + STACKTOP = sp;return ($26|0); +} +function _fts3TermCmp($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$7>>2]|0; + $12 = ($10|0)<($11|0); + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = $12 ? $13 : $14; + HEAP32[$8>>2] = $15; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$8>>2]|0; + $19 = (_memcmp($16,$17,$18)|0); + HEAP32[$9>>2] = $19; + $20 = HEAP32[$9>>2]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $25 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($25|0); + } + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = (($22) - ($23))|0; + HEAP32[$9>>2] = $24; + $25 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($25|0); +} +function _fts3StartNode($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $$sink2 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $7 = $6; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + $11 = HEAP32[$5>>2]|0; + $12 = $11&255; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP8[$14>>0] = $12; + $15 = $6; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = ($17|0)!=(0); + $22 = ($20|0)!=(0); + $23 = $21 | $22; + $24 = HEAP32[$4>>2]|0; + if (!($23)) { + $$sink = 1;$$sink2 = $24; + $36 = ((($$sink2)) + 4|0); + HEAP32[$36>>2] = $$sink; + STACKTOP = sp;return; + } + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 1|0); + $27 = $6; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (_sqlite3Fts3PutVarint($26,$29,$32)|0); + $34 = (1 + ($33))|0; + $35 = HEAP32[$4>>2]|0; + $$sink = $34;$$sink2 = $35; + $36 = ((($$sink2)) + 4|0); + HEAP32[$36>>2] = $$sink; + STACKTOP = sp;return; +} +function _fts3AppendToNode($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = 0; + $17 = HEAP32[$8>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + $21 = $20&1; + HEAP32[$14>>2] = $21; + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$10>>2]|0; + _blobGrowBuffer($22,$23,$13); + $24 = HEAP32[$13>>2]|0; + $25 = ($24|0)!=(0); + if ($25) { + $26 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $26; + $119 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($119|0); + } + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$8>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$9>>2]|0; + $33 = HEAP32[$10>>2]|0; + $34 = (_fts3PrefixCompress($28,$31,$32,$33)|0); + HEAP32[$15>>2] = $34; + $35 = HEAP32[$10>>2]|0; + $36 = HEAP32[$15>>2]|0; + $37 = (($35) - ($36))|0; + HEAP32[$16>>2] = $37; + $38 = HEAP32[$8>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$9>>2]|0; + $41 = HEAP32[$10>>2]|0; + _memcpy(($39|0),($40|0),($41|0))|0; + $42 = HEAP32[$10>>2]|0; + $43 = HEAP32[$8>>2]|0; + $44 = ((($43)) + 4|0); + HEAP32[$44>>2] = $42; + $45 = HEAP32[$14>>2]|0; + $46 = ($45|0)==(0); + if ($46) { + $47 = HEAP32[$7>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$7>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($48) + ($51)|0); + $53 = HEAP32[$15>>2]|0; + $54 = ($53|0)<(0); + $55 = $54 << 31 >> 31; + $56 = (_sqlite3Fts3PutVarint($52,$53,$55)|0); + $57 = HEAP32[$7>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = (($59) + ($56))|0; + HEAP32[$58>>2] = $60; + } + $61 = HEAP32[$7>>2]|0; + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$7>>2]|0; + $64 = ((($63)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = (($62) + ($65)|0); + $67 = HEAP32[$16>>2]|0; + $68 = ($67|0)<(0); + $69 = $68 << 31 >> 31; + $70 = (_sqlite3Fts3PutVarint($66,$67,$69)|0); + $71 = HEAP32[$7>>2]|0; + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73) + ($70))|0; + HEAP32[$72>>2] = $74; + $75 = HEAP32[$7>>2]|0; + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$7>>2]|0; + $78 = ((($77)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = (($76) + ($79)|0); + $81 = HEAP32[$9>>2]|0; + $82 = HEAP32[$15>>2]|0; + $83 = (($81) + ($82)|0); + $84 = HEAP32[$16>>2]|0; + _memcpy(($80|0),($83|0),($84|0))|0; + $85 = HEAP32[$16>>2]|0; + $86 = HEAP32[$7>>2]|0; + $87 = ((($86)) + 4|0); + $88 = HEAP32[$87>>2]|0; + $89 = (($88) + ($85))|0; + HEAP32[$87>>2] = $89; + $90 = HEAP32[$11>>2]|0; + $91 = ($90|0)!=(0|0); + if ($91) { + $92 = HEAP32[$7>>2]|0; + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$7>>2]|0; + $95 = ((($94)) + 4|0); + $96 = HEAP32[$95>>2]|0; + $97 = (($93) + ($96)|0); + $98 = HEAP32[$12>>2]|0; + $99 = ($98|0)<(0); + $100 = $99 << 31 >> 31; + $101 = (_sqlite3Fts3PutVarint($97,$98,$100)|0); + $102 = HEAP32[$7>>2]|0; + $103 = ((($102)) + 4|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($104) + ($101))|0; + HEAP32[$103>>2] = $105; + $106 = HEAP32[$7>>2]|0; + $107 = HEAP32[$106>>2]|0; + $108 = HEAP32[$7>>2]|0; + $109 = ((($108)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = (($107) + ($110)|0); + $112 = HEAP32[$11>>2]|0; + $113 = HEAP32[$12>>2]|0; + _memcpy(($111|0),($112|0),($113|0))|0; + $114 = HEAP32[$12>>2]|0; + $115 = HEAP32[$7>>2]|0; + $116 = ((($115)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = (($117) + ($114))|0; + HEAP32[$116>>2] = $118; + } + HEAP32[$6>>2] = 0; + $119 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($119|0); +} +function _nodeReaderNext($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 24|0); + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + $11 = $10&1; + HEAP32[$2>>2] = $11; + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 16|0); + $14 = $13; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = ($16|0)!=(0); + $21 = ($19|0)!=(0); + $22 = $20 | $21; + $23 = HEAP32[$2>>2]|0; + $24 = ($23|0)==(0); + $or$cond = $22 & $24; + if ($or$cond) { + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 16|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (_i64Add(($29|0),($32|0),1,0)|0); + $34 = tempRet0; + $35 = $26; + $36 = $35; + HEAP32[$36>>2] = $33; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + } + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($41|0)>=($44|0); + if ($45) { + $46 = HEAP32[$1>>2]|0; + HEAP32[$46>>2] = 0; + $181 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($181|0); + } + $47 = HEAP32[$2>>2]|0; + $48 = ($47|0)==(0); + if ($48) { + $49 = HEAP32[$1>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = $56 & 128; + $58 = ($57|0)!=(0); + $59 = HEAP32[$1>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP32[$62>>2]|0; + $64 = (($60) + ($63)|0); + if ($58) { + $65 = (_sqlite3Fts3GetVarint32($64,$3)|0); + $72 = $65; + } else { + $66 = HEAP8[$64>>0]|0; + $67 = $66&255; + HEAP32[$3>>2] = $67; + $72 = 1; + } + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + $71 = (($70) + ($72))|0; + HEAP32[$69>>2] = $71; + } + $73 = HEAP32[$1>>2]|0; + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$1>>2]|0; + $76 = ((($75)) + 8|0); + $77 = HEAP32[$76>>2]|0; + $78 = (($74) + ($77)|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = $80 & 128; + $82 = ($81|0)!=(0); + $83 = HEAP32[$1>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP32[$86>>2]|0; + $88 = (($84) + ($87)|0); + if ($82) { + $89 = (_sqlite3Fts3GetVarint32($88,$4)|0); + $96 = $89; + } else { + $90 = HEAP8[$88>>0]|0; + $91 = $90&255; + HEAP32[$4>>2] = $91; + $96 = 1; + } + $92 = HEAP32[$1>>2]|0; + $93 = ((($92)) + 8|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + ($96))|0; + HEAP32[$93>>2] = $95; + $97 = HEAP32[$1>>2]|0; + $98 = ((($97)) + 24|0); + $99 = HEAP32[$3>>2]|0; + $100 = HEAP32[$4>>2]|0; + $101 = (($99) + ($100))|0; + _blobGrowBuffer($98,$101,$5); + $102 = HEAP32[$5>>2]|0; + $103 = ($102|0)==(0); + if (!($103)) { + $181 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($181|0); + } + $104 = HEAP32[$1>>2]|0; + $105 = ((($104)) + 24|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$3>>2]|0; + $108 = (($106) + ($107)|0); + $109 = HEAP32[$1>>2]|0; + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$1>>2]|0; + $112 = ((($111)) + 8|0); + $113 = HEAP32[$112>>2]|0; + $114 = (($110) + ($113)|0); + $115 = HEAP32[$4>>2]|0; + _memcpy(($108|0),($114|0),($115|0))|0; + $116 = HEAP32[$3>>2]|0; + $117 = HEAP32[$4>>2]|0; + $118 = (($116) + ($117))|0; + $119 = HEAP32[$1>>2]|0; + $120 = ((($119)) + 24|0); + $121 = ((($120)) + 4|0); + HEAP32[$121>>2] = $118; + $122 = HEAP32[$4>>2]|0; + $123 = HEAP32[$1>>2]|0; + $124 = ((($123)) + 8|0); + $125 = HEAP32[$124>>2]|0; + $126 = (($125) + ($122))|0; + HEAP32[$124>>2] = $126; + $127 = HEAP32[$1>>2]|0; + $128 = ((($127)) + 16|0); + $129 = $128; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = ($131|0)==(0); + $136 = ($134|0)==(0); + $137 = $135 & $136; + if (!($137)) { + $181 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($181|0); + } + $138 = HEAP32[$1>>2]|0; + $139 = HEAP32[$138>>2]|0; + $140 = HEAP32[$1>>2]|0; + $141 = ((($140)) + 8|0); + $142 = HEAP32[$141>>2]|0; + $143 = (($139) + ($142)|0); + $144 = HEAP8[$143>>0]|0; + $145 = $144&255; + $146 = $145 & 128; + $147 = ($146|0)!=(0); + $148 = HEAP32[$1>>2]|0; + $149 = HEAP32[$148>>2]|0; + $150 = HEAP32[$1>>2]|0; + $151 = ((($150)) + 8|0); + $152 = HEAP32[$151>>2]|0; + $153 = (($149) + ($152)|0); + if ($147) { + $154 = HEAP32[$1>>2]|0; + $155 = ((($154)) + 40|0); + $156 = (_sqlite3Fts3GetVarint32($153,$155)|0); + $165 = $156; + } else { + $157 = HEAP8[$153>>0]|0; + $158 = $157&255; + $159 = HEAP32[$1>>2]|0; + $160 = ((($159)) + 40|0); + HEAP32[$160>>2] = $158; + $165 = 1; + } + $161 = HEAP32[$1>>2]|0; + $162 = ((($161)) + 8|0); + $163 = HEAP32[$162>>2]|0; + $164 = (($163) + ($165))|0; + HEAP32[$162>>2] = $164; + $166 = HEAP32[$1>>2]|0; + $167 = HEAP32[$166>>2]|0; + $168 = HEAP32[$1>>2]|0; + $169 = ((($168)) + 8|0); + $170 = HEAP32[$169>>2]|0; + $171 = (($167) + ($170)|0); + $172 = HEAP32[$1>>2]|0; + $173 = ((($172)) + 36|0); + HEAP32[$173>>2] = $171; + $174 = HEAP32[$1>>2]|0; + $175 = ((($174)) + 40|0); + $176 = HEAP32[$175>>2]|0; + $177 = HEAP32[$1>>2]|0; + $178 = ((($177)) + 8|0); + $179 = HEAP32[$178>>2]|0; + $180 = (($179) + ($176))|0; + HEAP32[$178>>2] = $180; + $181 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($181|0); +} +function _nodeReaderRelease($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP32[$3>>2]|0; + _sqlite3_free($4); + STACKTOP = sp;return; +} +function _fts3IncrmergePush($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $$sink3 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 60|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 8|0; + $10 = sp + 40|0; + $11 = sp; + $12 = sp + 36|0; + $13 = sp + 32|0; + $14 = sp + 28|0; + $15 = sp + 24|0; + $16 = sp + 20|0; + $17 = sp + 16|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 56|0); + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = $9; + $27 = $26; + HEAP32[$27>>2] = $22; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $25; + HEAP32[$10>>2] = 1; + while(1) { + $30 = HEAP32[$10>>2]|0; + $31 = ($30|0)<(16); + if (!($31)) { + label = 17; + break; + } + $32 = $11; + $33 = $32; + HEAP32[$33>>2] = 0; + $34 = (($32) + 4)|0; + $35 = $34; + HEAP32[$35>>2] = 0; + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 56|0); + $38 = HEAP32[$10>>2]|0; + $39 = (($37) + ($38<<5)|0); + HEAP32[$12>>2] = $39; + HEAP32[$13>>2] = 0; + $40 = HEAP32[$12>>2]|0; + $41 = ((($40)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$12>>2]|0; + $44 = ((($43)) + 8|0); + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$7>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = (_fts3PrefixCompress($42,$46,$47,$48)|0); + HEAP32[$14>>2] = $49; + $50 = HEAP32[$8>>2]|0; + $51 = HEAP32[$14>>2]|0; + $52 = (($50) - ($51))|0; + HEAP32[$15>>2] = $52; + $53 = HEAP32[$14>>2]|0; + $54 = ($53|0)<(0); + $55 = $54 << 31 >> 31; + $56 = (_sqlite3Fts3VarintLen($53,$55)|0); + HEAP32[$16>>2] = $56; + $57 = HEAP32[$15>>2]|0; + $58 = ($57|0)<(0); + $59 = $58 << 31 >> 31; + $60 = (_sqlite3Fts3VarintLen($57,$59)|0); + $61 = HEAP32[$15>>2]|0; + $62 = (($60) + ($61))|0; + $63 = HEAP32[$16>>2]|0; + $64 = (($63) + ($62))|0; + HEAP32[$16>>2] = $64; + $65 = HEAP32[$12>>2]|0; + $66 = ((($65)) + 8|0); + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)==(0); + if ($69) { + label = 5; + } else { + $70 = HEAP32[$12>>2]|0; + $71 = ((($70)) + 20|0); + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$16>>2]|0; + $75 = (($73) + ($74))|0; + $76 = HEAP32[$5>>2]|0; + $77 = ((($76)) + 224|0); + $78 = HEAP32[$77>>2]|0; + $79 = ($75|0)<=($78|0); + if ($79) { + label = 5; + } else { + $175 = HEAP32[$5>>2]|0; + $176 = HEAP32[$12>>2]|0; + $177 = $176; + $178 = $177; + $179 = HEAP32[$178>>2]|0; + $180 = (($177) + 4)|0; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$12>>2]|0; + $184 = ((($183)) + 20|0); + $185 = HEAP32[$184>>2]|0; + $186 = HEAP32[$12>>2]|0; + $187 = ((($186)) + 20|0); + $188 = ((($187)) + 4|0); + $189 = HEAP32[$188>>2]|0; + $190 = (_fts3WriteSegment($175,$179,$182,$185,$189)|0); + HEAP32[$13>>2] = $190; + $191 = HEAP32[$10>>2]|0; + $192 = $191&255; + $193 = HEAP32[$12>>2]|0; + $194 = ((($193)) + 20|0); + $195 = HEAP32[$194>>2]|0; + HEAP8[$195>>0] = $192; + $196 = HEAP32[$12>>2]|0; + $197 = ((($196)) + 20|0); + $198 = HEAP32[$197>>2]|0; + $199 = ((($198)) + 1|0); + $200 = $9; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = (($200) + 4)|0; + $204 = $203; + $205 = HEAP32[$204>>2]|0; + $206 = (_i64Add(($202|0),($205|0),1,0)|0); + $207 = tempRet0; + $208 = (_sqlite3Fts3PutVarint($199,$206,$207)|0); + $209 = (1 + ($208))|0; + $210 = HEAP32[$12>>2]|0; + $211 = ((($210)) + 20|0); + $212 = ((($211)) + 4|0); + HEAP32[$212>>2] = $209; + $213 = HEAP32[$12>>2]|0; + $214 = $213; + $215 = $214; + $216 = HEAP32[$215>>2]|0; + $217 = (($214) + 4)|0; + $218 = $217; + $219 = HEAP32[$218>>2]|0; + $220 = $11; + $221 = $220; + HEAP32[$221>>2] = $216; + $222 = (($220) + 4)|0; + $223 = $222; + HEAP32[$223>>2] = $219; + $224 = HEAP32[$12>>2]|0; + $225 = $224; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = (($225) + 4)|0; + $229 = $228; + $230 = HEAP32[$229>>2]|0; + $231 = (_i64Add(($227|0),($230|0),1,0)|0); + $232 = tempRet0; + $233 = $224; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $237 = HEAP32[$12>>2]|0; + $$sink = 0;$$sink3 = $237; + label = 13; + } + } + if ((label|0) == 5) { + label = 0; + $80 = HEAP32[$12>>2]|0; + $81 = ((($80)) + 20|0); + HEAP32[$17>>2] = $81; + $82 = HEAP32[$17>>2]|0; + $83 = ((($82)) + 4|0); + $84 = HEAP32[$83>>2]|0; + $85 = ($84|0)==(0); + if ($85) { + $86 = HEAP32[$17>>2]|0; + $87 = HEAP32[$5>>2]|0; + $88 = ((($87)) + 224|0); + $89 = HEAP32[$88>>2]|0; + _blobGrowBuffer($86,$89,$13); + $90 = HEAP32[$13>>2]|0; + $91 = ($90|0)==(0); + if ($91) { + $92 = HEAP32[$10>>2]|0; + $93 = $92&255; + $94 = HEAP32[$17>>2]|0; + $95 = HEAP32[$94>>2]|0; + HEAP8[$95>>0] = $93; + $96 = HEAP32[$17>>2]|0; + $97 = HEAP32[$96>>2]|0; + $98 = ((($97)) + 1|0); + $99 = $9; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = (($99) + 4)|0; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = (_sqlite3Fts3PutVarint($98,$101,$104)|0); + $106 = (1 + ($105))|0; + $107 = HEAP32[$17>>2]|0; + $108 = ((($107)) + 4|0); + HEAP32[$108>>2] = $106; + } + } + $109 = HEAP32[$17>>2]|0; + $110 = HEAP32[$17>>2]|0; + $111 = ((($110)) + 4|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$16>>2]|0; + $114 = (($112) + ($113))|0; + _blobGrowBuffer($109,$114,$13); + $115 = HEAP32[$12>>2]|0; + $116 = ((($115)) + 8|0); + $117 = HEAP32[$8>>2]|0; + _blobGrowBuffer($116,$117,$13); + $118 = HEAP32[$13>>2]|0; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[$12>>2]|0; + $121 = ((($120)) + 8|0); + $122 = ((($121)) + 4|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)!=(0); + if ($124) { + $125 = HEAP32[$17>>2]|0; + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$17>>2]|0; + $128 = ((($127)) + 4|0); + $129 = HEAP32[$128>>2]|0; + $130 = (($126) + ($129)|0); + $131 = HEAP32[$14>>2]|0; + $132 = ($131|0)<(0); + $133 = $132 << 31 >> 31; + $134 = (_sqlite3Fts3PutVarint($130,$131,$133)|0); + $135 = HEAP32[$17>>2]|0; + $136 = ((($135)) + 4|0); + $137 = HEAP32[$136>>2]|0; + $138 = (($137) + ($134))|0; + HEAP32[$136>>2] = $138; + } + $139 = HEAP32[$17>>2]|0; + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$17>>2]|0; + $142 = ((($141)) + 4|0); + $143 = HEAP32[$142>>2]|0; + $144 = (($140) + ($143)|0); + $145 = HEAP32[$15>>2]|0; + $146 = ($145|0)<(0); + $147 = $146 << 31 >> 31; + $148 = (_sqlite3Fts3PutVarint($144,$145,$147)|0); + $149 = HEAP32[$17>>2]|0; + $150 = ((($149)) + 4|0); + $151 = HEAP32[$150>>2]|0; + $152 = (($151) + ($148))|0; + HEAP32[$150>>2] = $152; + $153 = HEAP32[$17>>2]|0; + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$17>>2]|0; + $156 = ((($155)) + 4|0); + $157 = HEAP32[$156>>2]|0; + $158 = (($154) + ($157)|0); + $159 = HEAP32[$7>>2]|0; + $160 = HEAP32[$14>>2]|0; + $161 = (($159) + ($160)|0); + $162 = HEAP32[$15>>2]|0; + _memcpy(($158|0),($161|0),($162|0))|0; + $163 = HEAP32[$15>>2]|0; + $164 = HEAP32[$17>>2]|0; + $165 = ((($164)) + 4|0); + $166 = HEAP32[$165>>2]|0; + $167 = (($166) + ($163))|0; + HEAP32[$165>>2] = $167; + $168 = HEAP32[$12>>2]|0; + $169 = ((($168)) + 8|0); + $170 = HEAP32[$169>>2]|0; + $171 = HEAP32[$7>>2]|0; + $172 = HEAP32[$8>>2]|0; + _memcpy(($170|0),($171|0),($172|0))|0; + $173 = HEAP32[$8>>2]|0; + $174 = HEAP32[$12>>2]|0; + $$sink = $173;$$sink3 = $174; + label = 13; + } + } + if ((label|0) == 13) { + label = 0; + $238 = ((($$sink3)) + 8|0); + $239 = ((($238)) + 4|0); + HEAP32[$239>>2] = $$sink; + } + $240 = HEAP32[$13>>2]|0; + $241 = ($240|0)!=(0); + $242 = $11; + $243 = $242; + $244 = HEAP32[$243>>2]|0; + $245 = (($242) + 4)|0; + $246 = $245; + $247 = HEAP32[$246>>2]|0; + $248 = ($244|0)==(0); + $249 = ($247|0)==(0); + $250 = $248 & $249; + $or$cond = $241 | $250; + if ($or$cond) { + label = 15; + break; + } + $252 = $11; + $253 = $252; + $254 = HEAP32[$253>>2]|0; + $255 = (($252) + 4)|0; + $256 = $255; + $257 = HEAP32[$256>>2]|0; + $258 = $9; + $259 = $258; + HEAP32[$259>>2] = $254; + $260 = (($258) + 4)|0; + $261 = $260; + HEAP32[$261>>2] = $257; + $262 = HEAP32[$10>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$10>>2] = $263; + } + if ((label|0) == 15) { + $251 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $251; + $264 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($264|0); + } + else if ((label|0) == 17) { + HEAP32[$4>>2] = 0; + $264 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($264|0); + } + return (0)|0; +} +function _fts3IsAppendable($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 24|0; + $5 = sp; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + HEAP32[$4>>2] = $0; + $10 = $5; + $11 = $10; + HEAP32[$11>>2] = $1; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $2; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + $14 = HEAP32[$4>>2]|0; + $15 = (_fts3SqlStmt($14,34,$8,0)|0); + HEAP32[$9>>2] = $15; + $16 = HEAP32[$9>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$6>>2]|0; + HEAP32[$31>>2] = $30; + $32 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($32|0); + } + $18 = HEAP32[$8>>2]|0; + $19 = $5; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + (_sqlite3_bind_int64($18,1,$21,$24)|0); + $25 = HEAP32[$8>>2]|0; + $26 = (_sqlite3_step($25)|0); + $27 = (100)==($26|0); + if ($27) { + HEAP32[$7>>2] = 1; + } + $28 = HEAP32[$8>>2]|0; + $29 = (_sqlite3_reset($28)|0); + HEAP32[$9>>2] = $29; + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$6>>2]|0; + HEAP32[$31>>2] = $30; + $32 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _sqlite3Fts3UpdateMethod($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $17 = HEAP32[$4>>2]|0; + HEAP32[$8>>2] = $17; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + $18 = HEAP32[$5>>2]|0; + $19 = ($18|0)>(1); + if ($19) { + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = (_sqlite3_value_type($21)|0); + $23 = ($22|0)==(5); + if ($23) { + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = ((($25)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + 2)|0; + $29 = (($24) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_value_type($30)|0); + $32 = ($31|0)!=(5); + if ($32) { + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$8>>2]|0; + $36 = ((($35)) + 24|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($37) + 2)|0; + $39 = (($34) + ($38<<2)|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_fts3SpecialInsert($33,$40)|0); + HEAP32[$9>>2] = $41; + $219 = HEAP32[$12>>2]|0; + _sqlite3_free($219); + $220 = HEAP32[$8>>2]|0; + _sqlite3Fts3SegmentsClose($220); + $221 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($221|0); + } + } + } + $42 = HEAP32[$5>>2]|0; + $43 = ($42|0)>(1); + if ($43) { + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$8>>2]|0; + $46 = ((($45)) + 24|0); + $47 = HEAP32[$46>>2]|0; + $48 = (2 + ($47))|0; + $49 = (($48) + 2)|0; + $50 = (($44) + ($49<<2)|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_sqlite3_value_int($51)|0); + $53 = ($52|0)<(0); + if ($53) { + HEAP32[$9>>2] = 19; + $219 = HEAP32[$12>>2]|0; + _sqlite3_free($219); + $220 = HEAP32[$8>>2]|0; + _sqlite3Fts3SegmentsClose($220); + $221 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($221|0); + } + } + $54 = HEAP32[$8>>2]|0; + $55 = ((($54)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (($56) + 1)|0; + $58 = $57<<2; + $59 = $58<<1; + $60 = (_sqlite3_malloc($59)|0); + HEAP32[$12>>2] = $60; + $61 = HEAP32[$12>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + HEAP32[$9>>2] = 7; + $219 = HEAP32[$12>>2]|0; + _sqlite3_free($219); + $220 = HEAP32[$8>>2]|0; + _sqlite3Fts3SegmentsClose($220); + $221 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($221|0); + } + $63 = HEAP32[$12>>2]|0; + $64 = HEAP32[$8>>2]|0; + $65 = ((($64)) + 24|0); + $66 = HEAP32[$65>>2]|0; + $67 = (($66) + 1)|0; + $68 = (($63) + ($67<<2)|0); + HEAP32[$11>>2] = $68; + $69 = HEAP32[$12>>2]|0; + $70 = HEAP32[$8>>2]|0; + $71 = ((($70)) + 24|0); + $72 = HEAP32[$71>>2]|0; + $73 = (($72) + 1)|0; + $74 = $73<<2; + $75 = $74<<1; + _memset(($69|0),0,($75|0))|0; + $76 = HEAP32[$8>>2]|0; + $77 = (_fts3Writelock($76)|0); + HEAP32[$9>>2] = $77; + $78 = HEAP32[$9>>2]|0; + $79 = ($78|0)!=(0); + if ($79) { + $219 = HEAP32[$12>>2]|0; + _sqlite3_free($219); + $220 = HEAP32[$8>>2]|0; + _sqlite3Fts3SegmentsClose($220); + $221 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($221|0); + } + $80 = HEAP32[$5>>2]|0; + $81 = ($80|0)>(1); + do { + if ($81) { + $82 = HEAP32[$8>>2]|0; + $83 = ((($82)) + 40|0); + $84 = HEAP32[$83>>2]|0; + $85 = ($84|0)==(0|0); + if ($85) { + $86 = HEAP32[$6>>2]|0; + $87 = HEAP32[$8>>2]|0; + $88 = ((($87)) + 24|0); + $89 = HEAP32[$88>>2]|0; + $90 = (3 + ($89))|0; + $91 = (($86) + ($90<<2)|0); + $92 = HEAP32[$91>>2]|0; + HEAP32[$15>>2] = $92; + $93 = HEAP32[$15>>2]|0; + $94 = (_sqlite3_value_type($93)|0); + $95 = ($94|0)==(5); + if ($95) { + $96 = HEAP32[$6>>2]|0; + $97 = ((($96)) + 4|0); + $98 = HEAP32[$97>>2]|0; + HEAP32[$15>>2] = $98; + } + $99 = HEAP32[$15>>2]|0; + $100 = (_sqlite3_value_type($99)|0); + $101 = ($100|0)!=(5); + if ($101) { + $102 = HEAP32[$6>>2]|0; + $103 = HEAP32[$102>>2]|0; + $104 = (_sqlite3_value_type($103)|0); + $105 = ($104|0)==(5); + if (!($105)) { + $106 = HEAP32[$6>>2]|0; + $107 = HEAP32[$106>>2]|0; + $108 = (_sqlite3_value_int64($107)|0); + $109 = tempRet0; + $110 = HEAP32[$15>>2]|0; + $111 = (_sqlite3_value_int64($110)|0); + $112 = tempRet0; + $113 = ($108|0)!=($111|0); + $114 = ($109|0)!=($112|0); + $115 = $113 | $114; + if (!($115)) { + break; + } + } + $116 = HEAP32[$8>>2]|0; + $117 = ((($116)) + 12|0); + $118 = HEAP32[$117>>2]|0; + $119 = (_sqlite3_vtab_on_conflict($118)|0); + $120 = ($119|0)==(5); + $121 = HEAP32[$8>>2]|0; + if ($120) { + $122 = HEAP32[$15>>2]|0; + $123 = HEAP32[$12>>2]|0; + $124 = (_fts3DeleteByRowid($121,$122,$13,$123)|0); + HEAP32[$9>>2] = $124; + break; + } else { + $125 = HEAP32[$6>>2]|0; + $126 = HEAP32[$7>>2]|0; + $127 = (_fts3InsertData($121,$125,$126)|0); + HEAP32[$9>>2] = $127; + HEAP32[$14>>2] = 1; + break; + } + } + } + } + } while(0); + $128 = HEAP32[$9>>2]|0; + $129 = ($128|0)!=(0); + if ($129) { + $219 = HEAP32[$12>>2]|0; + _sqlite3_free($219); + $220 = HEAP32[$8>>2]|0; + _sqlite3Fts3SegmentsClose($220); + $221 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($221|0); + } + $130 = HEAP32[$6>>2]|0; + $131 = HEAP32[$130>>2]|0; + $132 = (_sqlite3_value_type($131)|0); + $133 = ($132|0)!=(5); + if ($133) { + $134 = HEAP32[$8>>2]|0; + $135 = HEAP32[$6>>2]|0; + $136 = HEAP32[$135>>2]|0; + $137 = HEAP32[$12>>2]|0; + $138 = (_fts3DeleteByRowid($134,$136,$13,$137)|0); + HEAP32[$9>>2] = $138; + HEAP32[$10>>2] = 1; + } + $139 = HEAP32[$5>>2]|0; + $140 = ($139|0)>(1); + $141 = HEAP32[$9>>2]|0; + $142 = ($141|0)==(0); + $or$cond = $140 & $142; + if ($or$cond) { + $143 = HEAP32[$6>>2]|0; + $144 = HEAP32[$8>>2]|0; + $145 = ((($144)) + 24|0); + $146 = HEAP32[$145>>2]|0; + $147 = (2 + ($146))|0; + $148 = (($147) + 2)|0; + $149 = (($143) + ($148<<2)|0); + $150 = HEAP32[$149>>2]|0; + $151 = (_sqlite3_value_int($150)|0); + HEAP32[$16>>2] = $151; + $152 = HEAP32[$14>>2]|0; + $153 = ($152|0)==(0); + if ($153) { + $154 = HEAP32[$8>>2]|0; + $155 = HEAP32[$6>>2]|0; + $156 = HEAP32[$7>>2]|0; + $157 = (_fts3InsertData($154,$155,$156)|0); + HEAP32[$9>>2] = $157; + $158 = HEAP32[$9>>2]|0; + $159 = ($158|0)==(19); + if ($159) { + $160 = HEAP32[$8>>2]|0; + $161 = ((($160)) + 40|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==(0|0); + if ($163) { + HEAP32[$9>>2] = 267; + } + } + } + $164 = HEAP32[$9>>2]|0; + $165 = ($164|0)==(0); + do { + if ($165) { + $166 = HEAP32[$10>>2]|0; + $167 = ($166|0)!=(0); + if ($167) { + $168 = HEAP32[$7>>2]|0; + $169 = $168; + $170 = $169; + $171 = HEAP32[$170>>2]|0; + $172 = (($169) + 4)|0; + $173 = $172; + $174 = HEAP32[$173>>2]|0; + $175 = HEAP32[$8>>2]|0; + $176 = ((($175)) + 264|0); + $177 = $176; + $178 = $177; + $179 = HEAP32[$178>>2]|0; + $180 = (($177) + 4)|0; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = ($171|0)!=($179|0); + $184 = ($174|0)!=($182|0); + $185 = $183 | $184; + if (!($185)) { + break; + } + } + $186 = HEAP32[$8>>2]|0; + $187 = HEAP32[$16>>2]|0; + $188 = HEAP32[$7>>2]|0; + $189 = $188; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = (($189) + 4)|0; + $193 = $192; + $194 = HEAP32[$193>>2]|0; + $195 = (_fts3PendingTermsDocid($186,0,$187,$191,$194)|0); + HEAP32[$9>>2] = $195; + } + } while(0); + $196 = HEAP32[$9>>2]|0; + $197 = ($196|0)==(0); + if ($197) { + $198 = HEAP32[$8>>2]|0; + $199 = HEAP32[$16>>2]|0; + $200 = HEAP32[$6>>2]|0; + $201 = HEAP32[$11>>2]|0; + $202 = (_fts3InsertTerms($198,$199,$200,$201)|0); + HEAP32[$9>>2] = $202; + } + $203 = HEAP32[$8>>2]|0; + $204 = ((($203)) + 230|0); + $205 = HEAP8[$204>>0]|0; + $206 = ($205<<24>>24)!=(0); + if ($206) { + $207 = HEAP32[$8>>2]|0; + $208 = HEAP32[$11>>2]|0; + _fts3InsertDocsize($9,$207,$208); + } + $209 = HEAP32[$13>>2]|0; + $210 = (($209) + 1)|0; + HEAP32[$13>>2] = $210; + } + $211 = HEAP32[$8>>2]|0; + $212 = ((($211)) + 228|0); + $213 = HEAP8[$212>>0]|0; + $214 = ($213<<24>>24)!=(0); + if (!($214)) { + $219 = HEAP32[$12>>2]|0; + _sqlite3_free($219); + $220 = HEAP32[$8>>2]|0; + _sqlite3Fts3SegmentsClose($220); + $221 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($221|0); + } + $215 = HEAP32[$8>>2]|0; + $216 = HEAP32[$11>>2]|0; + $217 = HEAP32[$12>>2]|0; + $218 = HEAP32[$13>>2]|0; + _fts3UpdateDocTotals($9,$215,$216,$217,$218); + $219 = HEAP32[$12>>2]|0; + _sqlite3_free($219); + $220 = HEAP32[$8>>2]|0; + _sqlite3Fts3SegmentsClose($220); + $221 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($221|0); +} +function _fts3SpecialInsert($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$4>>2]|0; + $9 = (_sqlite3_value_text($8)|0); + HEAP32[$6>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = (_sqlite3_value_bytes($10)|0); + HEAP32[$7>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + HEAP32[$2>>2] = 7; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); + } + $14 = HEAP32[$7>>2]|0; + $15 = ($14|0)==(8); + if ($15) { + $16 = HEAP32[$6>>2]|0; + $17 = (_sqlite3_strnicmp($16,42637,8)|0); + $18 = (0)==($17|0); + if ($18) { + $19 = HEAP32[$3>>2]|0; + $20 = (_fts3DoOptimize($19,0)|0); + HEAP32[$5>>2] = $20; + } else { + label = 6; + } + } else { + label = 6; + } + do { + if ((label|0) == 6) { + $21 = HEAP32[$7>>2]|0; + $22 = ($21|0)==(7); + if ($22) { + $23 = HEAP32[$6>>2]|0; + $24 = (_sqlite3_strnicmp($23,45620,7)|0); + $25 = (0)==($24|0); + if ($25) { + $26 = HEAP32[$3>>2]|0; + $27 = (_fts3DoRebuild($26)|0); + HEAP32[$5>>2] = $27; + break; + } + } + $28 = HEAP32[$7>>2]|0; + $29 = ($28|0)==(15); + if ($29) { + $30 = HEAP32[$6>>2]|0; + $31 = (_sqlite3_strnicmp($30,45628,15)|0); + $32 = (0)==($31|0); + if ($32) { + $33 = HEAP32[$3>>2]|0; + $34 = (_fts3DoIntegrityCheck($33)|0); + HEAP32[$5>>2] = $34; + break; + } + } + $35 = HEAP32[$7>>2]|0; + $36 = ($35|0)>(6); + if ($36) { + $37 = HEAP32[$6>>2]|0; + $38 = (_sqlite3_strnicmp($37,45644,6)|0); + $39 = (0)==($38|0); + if ($39) { + $40 = HEAP32[$3>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = ((($41)) + 6|0); + $43 = (_fts3DoIncrmerge($40,$42)|0); + HEAP32[$5>>2] = $43; + break; + } + } + $44 = HEAP32[$7>>2]|0; + $45 = ($44|0)>(10); + if ($45) { + $46 = HEAP32[$6>>2]|0; + $47 = (_sqlite3_strnicmp($46,45651,10)|0); + $48 = (0)==($47|0); + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 10|0); + $52 = (_fts3DoAutoincrmerge($49,$51)|0); + HEAP32[$5>>2] = $52; + break; + } + } + HEAP32[$5>>2] = 1; + } + } while(0); + $53 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $53; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); +} +function _fts3Writelock($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 260|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = (_fts3SqlStmt($8,16,$3,0)|0); + HEAP32[$2>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ($10|0)==(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + (_sqlite3_bind_null($12,1)|0); + $13 = HEAP32[$3>>2]|0; + (_sqlite3_step($13)|0); + $14 = HEAP32[$3>>2]|0; + $15 = (_sqlite3_reset($14)|0); + HEAP32[$2>>2] = $15; + } + } + $16 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($16|0); +} +function _fts3DeleteByRowid($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$7>>2]|0; + _fts3DeleteTerms($8,$11,$12,$13,$9); + $14 = HEAP32[$9>>2]|0; + $15 = ($14|0)!=(0); + $16 = HEAP32[$8>>2]|0; + $17 = ($16|0)==(0); + $or$cond = $15 & $17; + if (!($or$cond)) { + $49 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($49|0); + } + HEAP32[$10>>2] = 0; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = (_fts3IsEmpty($18,$19,$10)|0); + HEAP32[$8>>2] = $20; + $21 = HEAP32[$8>>2]|0; + $22 = ($21|0)==(0); + if (!($22)) { + $49 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($49|0); + } + $23 = HEAP32[$10>>2]|0; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + $26 = (_fts3DeleteAll($25,1)|0); + HEAP32[$8>>2] = $26; + $27 = HEAP32[$6>>2]|0; + HEAP32[$27>>2] = 0; + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 24|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + 1)|0; + $33 = $32<<2; + $34 = $33<<1; + _memset(($28|0),0,($34|0))|0; + $49 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($49|0); + } + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = (($36) - 1)|0; + $38 = HEAP32[$6>>2]|0; + HEAP32[$38>>2] = $37; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 40|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)==(0|0); + if ($42) { + $43 = HEAP32[$4>>2]|0; + _fts3SqlExec($8,$43,0,$5); + } + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 230|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46<<24>>24)!=(0); + if (!($47)) { + $49 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($49|0); + } + $48 = HEAP32[$4>>2]|0; + _fts3SqlExec($8,$48,19,$5); + $49 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($49|0); +} +function _fts3InsertData($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $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, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 40|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + if ($13) { + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 24|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + 3)|0; + $19 = (($14) + ($18<<2)|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$9>>2] = $20; + $21 = HEAP32[$9>>2]|0; + $22 = (_sqlite3_value_type($21)|0); + $23 = ($22|0)==(5); + if ($23) { + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$9>>2] = $26; + } + $27 = HEAP32[$9>>2]|0; + $28 = (_sqlite3_value_type($27)|0); + $29 = ($28|0)!=(1); + if ($29) { + HEAP32[$3>>2] = 19; + $109 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($109|0); + } else { + $30 = HEAP32[$9>>2]|0; + $31 = (_sqlite3_value_int64($30)|0); + $32 = tempRet0; + $33 = HEAP32[$6>>2]|0; + $34 = $33; + $35 = $34; + HEAP32[$35>>2] = $31; + $36 = (($34) + 4)|0; + $37 = $36; + HEAP32[$37>>2] = $32; + HEAP32[$3>>2] = 0; + $109 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($109|0); + } + } + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 4|0); + $41 = (_fts3SqlStmt($38,18,$8,$40)|0); + HEAP32[$7>>2] = $41; + $42 = HEAP32[$7>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 44|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)!=(0|0); + if ($47) { + $48 = HEAP32[$8>>2]|0; + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($51) + 2)|0; + $53 = HEAP32[$5>>2]|0; + $54 = HEAP32[$4>>2]|0; + $55 = ((($54)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (($56) + 4)|0; + $58 = (($53) + ($57<<2)|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3_value_int($59)|0); + $61 = (_sqlite3_bind_int($48,$52,$60)|0); + HEAP32[$7>>2] = $61; + } + } + $62 = HEAP32[$7>>2]|0; + $63 = ($62|0)!=(0); + if ($63) { + $64 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $64; + $109 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($109|0); + } + $65 = HEAP32[$5>>2]|0; + $66 = HEAP32[$4>>2]|0; + $67 = ((($66)) + 24|0); + $68 = HEAP32[$67>>2]|0; + $69 = (3 + ($68))|0; + $70 = (($65) + ($69<<2)|0); + $71 = HEAP32[$70>>2]|0; + $72 = (_sqlite3_value_type($71)|0); + $73 = (5)!=($72|0); + if ($73) { + $74 = HEAP32[$5>>2]|0; + $75 = HEAP32[$74>>2]|0; + $76 = (_sqlite3_value_type($75)|0); + $77 = (5)==($76|0); + if ($77) { + $78 = HEAP32[$5>>2]|0; + $79 = ((($78)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = (_sqlite3_value_type($80)|0); + $82 = (5)!=($81|0); + if ($82) { + HEAP32[$3>>2] = 1; + $109 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($109|0); + } + } + $83 = HEAP32[$8>>2]|0; + $84 = HEAP32[$5>>2]|0; + $85 = HEAP32[$4>>2]|0; + $86 = ((($85)) + 24|0); + $87 = HEAP32[$86>>2]|0; + $88 = (3 + ($87))|0; + $89 = (($84) + ($88<<2)|0); + $90 = HEAP32[$89>>2]|0; + $91 = (_sqlite3_bind_value($83,1,$90)|0); + HEAP32[$7>>2] = $91; + $92 = HEAP32[$7>>2]|0; + $93 = ($92|0)!=(0); + if ($93) { + $94 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $94; + $109 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($109|0); + } + } + $95 = HEAP32[$8>>2]|0; + (_sqlite3_step($95)|0); + $96 = HEAP32[$8>>2]|0; + $97 = (_sqlite3_reset($96)|0); + HEAP32[$7>>2] = $97; + $98 = HEAP32[$4>>2]|0; + $99 = ((($98)) + 12|0); + $100 = HEAP32[$99>>2]|0; + $101 = (_sqlite3_last_insert_rowid($100)|0); + $102 = tempRet0; + $103 = HEAP32[$6>>2]|0; + $104 = $103; + $105 = $104; + HEAP32[$105>>2] = $101; + $106 = (($104) + 4)|0; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $108; + $109 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($109|0); +} +function _fts3PendingTermsDocid($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp; + $10 = sp + 8|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + $11 = $9; + $12 = $11; + HEAP32[$12>>2] = $3; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $4; + $15 = $9; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 264|0); + $23 = $22; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = ($20|0)<($28|0); + $30 = ($17>>>0)<($25>>>0); + $31 = ($20|0)==($28|0); + $32 = $31 & $30; + $33 = $29 | $32; + do { + if ($33) { + label = 6; + } else { + $34 = $9; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = ((($40)) + 264|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = ($36|0)==($44|0); + $49 = ($39|0)==($47|0); + $50 = $48 & $49; + if ($50) { + $51 = HEAP32[$6>>2]|0; + $52 = ((($51)) + 276|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + label = 6; + break; + } + } + $55 = HEAP32[$6>>2]|0; + $56 = ((($55)) + 272|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$8>>2]|0; + $59 = ($57|0)!=($58|0); + if ($59) { + label = 6; + } else { + $60 = HEAP32[$6>>2]|0; + $61 = ((($60)) + 260|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 256|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($62|0)>($65|0); + if ($66) { + label = 6; + } + } + } + } while(0); + if ((label|0) == 6) { + $67 = HEAP32[$6>>2]|0; + $68 = (_sqlite3Fts3PendingTermsFlush($67)|0); + HEAP32[$10>>2] = $68; + $69 = HEAP32[$10>>2]|0; + $70 = ($69|0)!=(0); + if ($70) { + $71 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $71; + $90 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($90|0); + } + } + $72 = $9; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$6>>2]|0; + $79 = ((($78)) + 264|0); + $80 = $79; + $81 = $80; + HEAP32[$81>>2] = $74; + $82 = (($80) + 4)|0; + $83 = $82; + HEAP32[$83>>2] = $77; + $84 = HEAP32[$8>>2]|0; + $85 = HEAP32[$6>>2]|0; + $86 = ((($85)) + 272|0); + HEAP32[$86>>2] = $84; + $87 = HEAP32[$7>>2]|0; + $88 = HEAP32[$6>>2]|0; + $89 = ((($88)) + 276|0); + HEAP32[$89>>2] = $87; + HEAP32[$5>>2] = 0; + $90 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($90|0); +} +function _fts3InsertTerms($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, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = 2; + while(1) { + $13 = HEAP32[$9>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + 2)|0; + $18 = ($13|0)<($17|0); + if (!($18)) { + label = 8; + break; + } + $19 = HEAP32[$9>>2]|0; + $20 = (($19) - 2)|0; + HEAP32[$10>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 32|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$10>>2]|0; + $25 = (($23) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ($27|0)==(0); + if ($28) { + $29 = HEAP32[$7>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = (($29) + ($30<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = (_sqlite3_value_text($32)|0); + HEAP32[$11>>2] = $33; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = HEAP32[$10>>2]|0; + $38 = HEAP32[$8>>2]|0; + $39 = HEAP32[$10>>2]|0; + $40 = (($38) + ($39<<2)|0); + $41 = (_fts3PendingTermsAdd($34,$35,$36,$37,$40)|0); + HEAP32[$12>>2] = $41; + $42 = HEAP32[$12>>2]|0; + $43 = ($42|0)!=(0); + if ($43) { + label = 5; + break; + } + $45 = HEAP32[$7>>2]|0; + $46 = HEAP32[$9>>2]|0; + $47 = (($45) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = (_sqlite3_value_bytes($48)|0); + $50 = HEAP32[$8>>2]|0; + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = (($50) + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + ($49))|0; + HEAP32[$54>>2] = $56; + } + $57 = HEAP32[$9>>2]|0; + $58 = (($57) + 1)|0; + HEAP32[$9>>2] = $58; + } + if ((label|0) == 5) { + $44 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $44; + $59 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($59|0); + } + else if ((label|0) == 8) { + HEAP32[$4>>2] = 0; + $59 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($59|0); + } + return (0)|0; +} +function _fts3InsertDocsize($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0); + if ($12) { + STACKTOP = sp;return; + } + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 24|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15*10)|0; + $17 = (_sqlite3_malloc($16)|0); + HEAP32[$6>>2] = $17; + $18 = HEAP32[$6>>2]|0; + $19 = ($18|0)==(0|0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + HEAP32[$20>>2] = 7; + STACKTOP = sp;return; + } + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 24|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$6>>2]|0; + _fts3EncodeIntArray($23,$24,$25,$7); + $26 = HEAP32[$4>>2]|0; + $27 = (_fts3SqlStmt($26,20,$8,0)|0); + HEAP32[$9>>2] = $27; + $28 = HEAP32[$9>>2]|0; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$6>>2]|0; + _sqlite3_free($30); + $31 = HEAP32[$9>>2]|0; + $32 = HEAP32[$3>>2]|0; + HEAP32[$32>>2] = $31; + STACKTOP = sp;return; + } else { + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 264|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + (_sqlite3_bind_int64($33,1,$38,$41)|0); + $42 = HEAP32[$8>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$7>>2]|0; + (_sqlite3_bind_blob($42,2,$43,$44,157)|0); + $45 = HEAP32[$8>>2]|0; + (_sqlite3_step($45)|0); + $46 = HEAP32[$8>>2]|0; + $47 = (_sqlite3_reset($46)|0); + $48 = HEAP32[$3>>2]|0; + HEAP32[$48>>2] = $47; + STACKTOP = sp;return; + } +} +function _fts3UpdateDocTotals($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 24|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + 2)|0; + HEAP32[$16>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)!=(0); + if ($24) { + STACKTOP = sp;return; + } + $25 = HEAP32[$16>>2]|0; + $26 = ($25*14)|0; + $27 = (_sqlite3_malloc($26)|0); + HEAP32[$12>>2] = $27; + $28 = HEAP32[$12>>2]|0; + $29 = ($28|0)==(0|0); + if ($29) { + $30 = HEAP32[$5>>2]|0; + HEAP32[$30>>2] = 7; + STACKTOP = sp;return; + } + $31 = HEAP32[$12>>2]|0; + $32 = HEAP32[$16>>2]|0; + $33 = (($31) + ($32<<2)|0); + HEAP32[$10>>2] = $33; + $34 = HEAP32[$6>>2]|0; + $35 = (_fts3SqlStmt($34,22,$13,0)|0); + HEAP32[$15>>2] = $35; + $36 = HEAP32[$15>>2]|0; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$12>>2]|0; + _sqlite3_free($38); + $39 = HEAP32[$15>>2]|0; + $40 = HEAP32[$5>>2]|0; + HEAP32[$40>>2] = $39; + STACKTOP = sp;return; + } + $41 = HEAP32[$13>>2]|0; + (_sqlite3_bind_int($41,1,0)|0); + $42 = HEAP32[$13>>2]|0; + $43 = (_sqlite3_step($42)|0); + $44 = ($43|0)==(100); + if ($44) { + $45 = HEAP32[$16>>2]|0; + $46 = HEAP32[$12>>2]|0; + $47 = HEAP32[$13>>2]|0; + $48 = (_sqlite3_column_blob($47,0)|0); + $49 = HEAP32[$13>>2]|0; + $50 = (_sqlite3_column_bytes($49,0)|0); + _fts3DecodeIntArray($45,$46,$48,$50); + } else { + $51 = HEAP32[$12>>2]|0; + $52 = HEAP32[$16>>2]|0; + $53 = $52<<2; + _memset(($51|0),0,($53|0))|0; + } + $54 = HEAP32[$13>>2]|0; + $55 = (_sqlite3_reset($54)|0); + HEAP32[$15>>2] = $55; + $56 = HEAP32[$15>>2]|0; + $57 = ($56|0)!=(0); + if ($57) { + $58 = HEAP32[$12>>2]|0; + _sqlite3_free($58); + $59 = HEAP32[$15>>2]|0; + $60 = HEAP32[$5>>2]|0; + HEAP32[$60>>2] = $59; + STACKTOP = sp;return; + } + $61 = HEAP32[$9>>2]|0; + $62 = ($61|0)<(0); + if ($62) { + $63 = HEAP32[$12>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$9>>2]|0; + $66 = (0 - ($65))|0; + $67 = ($64>>>0)<($66>>>0); + if ($67) { + $68 = HEAP32[$12>>2]|0; + HEAP32[$68>>2] = 0; + } else { + label = 14; + } + } else { + label = 14; + } + if ((label|0) == 14) { + $69 = HEAP32[$9>>2]|0; + $70 = HEAP32[$12>>2]|0; + $71 = HEAP32[$70>>2]|0; + $72 = (($71) + ($69))|0; + HEAP32[$70>>2] = $72; + } + HEAP32[$14>>2] = 0; + while(1) { + $73 = HEAP32[$14>>2]|0; + $74 = HEAP32[$6>>2]|0; + $75 = ((($74)) + 24|0); + $76 = HEAP32[$75>>2]|0; + $77 = (($76) + 1)|0; + $78 = ($73|0)<($77|0); + if (!($78)) { + break; + } + $79 = HEAP32[$12>>2]|0; + $80 = HEAP32[$14>>2]|0; + $81 = (($80) + 1)|0; + $82 = (($79) + ($81<<2)|0); + $83 = HEAP32[$82>>2]|0; + HEAP32[$17>>2] = $83; + $84 = HEAP32[$17>>2]|0; + $85 = HEAP32[$7>>2]|0; + $86 = HEAP32[$14>>2]|0; + $87 = (($85) + ($86<<2)|0); + $88 = HEAP32[$87>>2]|0; + $89 = (($84) + ($88))|0; + $90 = HEAP32[$8>>2]|0; + $91 = HEAP32[$14>>2]|0; + $92 = (($90) + ($91<<2)|0); + $93 = HEAP32[$92>>2]|0; + $94 = ($89>>>0)<($93>>>0); + if ($94) { + HEAP32[$17>>2] = 0; + } else { + $95 = HEAP32[$17>>2]|0; + $96 = HEAP32[$7>>2]|0; + $97 = HEAP32[$14>>2]|0; + $98 = (($96) + ($97<<2)|0); + $99 = HEAP32[$98>>2]|0; + $100 = (($95) + ($99))|0; + $101 = HEAP32[$8>>2]|0; + $102 = HEAP32[$14>>2]|0; + $103 = (($101) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($100) - ($104))|0; + HEAP32[$17>>2] = $105; + } + $106 = HEAP32[$17>>2]|0; + $107 = HEAP32[$12>>2]|0; + $108 = HEAP32[$14>>2]|0; + $109 = (($108) + 1)|0; + $110 = (($107) + ($109<<2)|0); + HEAP32[$110>>2] = $106; + $111 = HEAP32[$14>>2]|0; + $112 = (($111) + 1)|0; + HEAP32[$14>>2] = $112; + } + $113 = HEAP32[$16>>2]|0; + $114 = HEAP32[$12>>2]|0; + $115 = HEAP32[$10>>2]|0; + _fts3EncodeIntArray($113,$114,$115,$11); + $116 = HEAP32[$6>>2]|0; + $117 = (_fts3SqlStmt($116,23,$13,0)|0); + HEAP32[$15>>2] = $117; + $118 = HEAP32[$15>>2]|0; + $119 = ($118|0)!=(0); + if ($119) { + $120 = HEAP32[$12>>2]|0; + _sqlite3_free($120); + $121 = HEAP32[$15>>2]|0; + $122 = HEAP32[$5>>2]|0; + HEAP32[$122>>2] = $121; + STACKTOP = sp;return; + } else { + $123 = HEAP32[$13>>2]|0; + (_sqlite3_bind_int($123,1,0)|0); + $124 = HEAP32[$13>>2]|0; + $125 = HEAP32[$10>>2]|0; + $126 = HEAP32[$11>>2]|0; + (_sqlite3_bind_blob($124,2,$125,$126,0)|0); + $127 = HEAP32[$13>>2]|0; + (_sqlite3_step($127)|0); + $128 = HEAP32[$13>>2]|0; + $129 = (_sqlite3_reset($128)|0); + $130 = HEAP32[$5>>2]|0; + HEAP32[$130>>2] = $129; + $131 = HEAP32[$12>>2]|0; + _sqlite3_free($131); + STACKTOP = sp;return; + } +} +function _fts3DecodeIntArray($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$9>>2] = 0; + HEAP32[$8>>2] = 0; + while(1) { + $11 = HEAP32[$8>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = ($11|0)<($12|0); + if (!($13)) { + break; + } + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$9>>2]|0; + $16 = (($14) + ($15)|0); + $17 = (_sqlite3Fts3GetVarint($16,$10)|0); + $18 = HEAP32[$9>>2]|0; + $19 = (($18) + ($17))|0; + HEAP32[$9>>2] = $19; + $20 = $10; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$8>>2]|0; + $28 = (($26) + ($27<<2)|0); + HEAP32[$28>>2] = $22; + $29 = HEAP32[$8>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$8>>2] = $30; + } + STACKTOP = sp;return; +} +function _fts3EncodeIntArray($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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$9>>2] = 0; + HEAP32[$8>>2] = 0; + while(1) { + $10 = HEAP32[$8>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = ($10|0)<($11|0); + if (!($12)) { + break; + } + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$9>>2]|0; + $15 = (($13) + ($14)|0); + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = (($16) + ($17<<2)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3Fts3PutVarint($15,$19,0)|0); + $21 = HEAP32[$9>>2]|0; + $22 = (($21) + ($20))|0; + HEAP32[$9>>2] = $22; + $23 = HEAP32[$8>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$8>>2] = $24; + } + $25 = HEAP32[$9>>2]|0; + $26 = HEAP32[$7>>2]|0; + HEAP32[$26>>2] = $25; + STACKTOP = sp;return; +} +function _fts3PendingTermsAdd($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond$not = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $5 = sp + 72|0; + $6 = sp + 68|0; + $7 = sp + 64|0; + $8 = sp + 60|0; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 24|0; + $18 = sp + 20|0; + $19 = sp + 16|0; + $20 = sp + 12|0; + $21 = sp + 8|0; + $22 = sp + 4|0; + $23 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$17>>2] = 0; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$18>>2] = $26; + $27 = HEAP32[$18>>2]|0; + $28 = HEAP32[$27>>2]|0; + HEAP32[$19>>2] = $28; + $29 = HEAP32[$8>>2]|0; + $30 = ($29|0)==(0|0); + if ($30) { + $31 = HEAP32[$10>>2]|0; + HEAP32[$31>>2] = 0; + HEAP32[$5>>2] = 0; + $108 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($108|0); + } + $32 = HEAP32[$18>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$8>>2]|0; + $35 = (_sqlite3Fts3OpenTokenizer($32,$33,$34,-1,$20)|0); + HEAP32[$11>>2] = $35; + $36 = HEAP32[$11>>2]|0; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $38; + $108 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($108|0); + } + $39 = HEAP32[$19>>2]|0; + $40 = ((($39)) + 20|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$21>>2] = $41; + L9: while(1) { + $42 = HEAP32[$11>>2]|0; + $43 = (0)==($42|0); + if (!($43)) { + break; + } + $44 = HEAP32[$21>>2]|0; + $45 = HEAP32[$20>>2]|0; + $46 = (FUNCTION_TABLE_iiiiiii[$44 & 255]($45,$16,$17,$12,$13,$14)|0); + HEAP32[$11>>2] = $46; + $47 = (0)==($46|0); + if (!($47)) { + break; + } + $48 = HEAP32[$14>>2]|0; + $49 = HEAP32[$15>>2]|0; + $50 = ($48|0)>=($49|0); + if ($50) { + $51 = HEAP32[$14>>2]|0; + $52 = (($51) + 1)|0; + HEAP32[$15>>2] = $52; + } + $53 = HEAP32[$14>>2]|0; + $54 = ($53|0)>=(0); + $55 = HEAP32[$16>>2]|0; + $56 = ($55|0)!=(0|0); + $or$cond = $54 & $56; + $or$cond$not = $or$cond ^ 1; + $57 = HEAP32[$17>>2]|0; + $58 = ($57|0)<=(0); + $or$cond3 = $or$cond$not | $58; + if ($or$cond3) { + label = 11; + break; + } + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$9>>2]|0; + $61 = HEAP32[$14>>2]|0; + $62 = HEAP32[$6>>2]|0; + $63 = ((($62)) + 252|0); + $64 = HEAP32[$63>>2]|0; + $65 = ((($64)) + 4|0); + $66 = HEAP32[$16>>2]|0; + $67 = HEAP32[$17>>2]|0; + $68 = (_fts3PendingTermsAddOne($59,$60,$61,$65,$66,$67)|0); + HEAP32[$11>>2] = $68; + HEAP32[$22>>2] = 1; + while(1) { + $69 = HEAP32[$11>>2]|0; + $70 = ($69|0)==(0); + if (!($70)) { + continue L9; + } + $71 = HEAP32[$22>>2]|0; + $72 = HEAP32[$6>>2]|0; + $73 = ((($72)) + 248|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($71|0)<($74|0); + if (!($75)) { + continue L9; + } + $76 = HEAP32[$6>>2]|0; + $77 = ((($76)) + 252|0); + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$22>>2]|0; + $80 = (($78) + (($79*24)|0)|0); + HEAP32[$23>>2] = $80; + $81 = HEAP32[$17>>2]|0; + $82 = HEAP32[$23>>2]|0; + $83 = HEAP32[$82>>2]|0; + $84 = ($81|0)<($83|0); + if (!($84)) { + $85 = HEAP32[$6>>2]|0; + $86 = HEAP32[$9>>2]|0; + $87 = HEAP32[$14>>2]|0; + $88 = HEAP32[$23>>2]|0; + $89 = ((($88)) + 4|0); + $90 = HEAP32[$16>>2]|0; + $91 = HEAP32[$23>>2]|0; + $92 = HEAP32[$91>>2]|0; + $93 = (_fts3PendingTermsAddOne($85,$86,$87,$89,$90,$92)|0); + HEAP32[$11>>2] = $93; + } + $94 = HEAP32[$22>>2]|0; + $95 = (($94) + 1)|0; + HEAP32[$22>>2] = $95; + } + } + if ((label|0) == 11) { + HEAP32[$11>>2] = 1; + } + $96 = HEAP32[$19>>2]|0; + $97 = ((($96)) + 16|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$20>>2]|0; + (FUNCTION_TABLE_ii[$98 & 255]($99)|0); + $100 = HEAP32[$15>>2]|0; + $101 = HEAP32[$10>>2]|0; + $102 = HEAP32[$101>>2]|0; + $103 = (($102) + ($100))|0; + HEAP32[$101>>2] = $103; + $104 = HEAP32[$11>>2]|0; + $105 = ($104|0)==(101); + $106 = HEAP32[$11>>2]|0; + $107 = $105 ? 0 : $106; + HEAP32[$5>>2] = $107; + $108 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($108|0); +} +function _fts3PendingTermsAddOne($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $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, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$13>>2] = 0; + $14 = HEAP32[$9>>2]|0; + $15 = HEAP32[$10>>2]|0; + $16 = HEAP32[$11>>2]|0; + $17 = (_sqlite3Fts3HashFind($14,$15,$16)|0); + HEAP32[$12>>2] = $17; + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$11>>2]|0; + $23 = (($21) + ($22))|0; + $24 = (($23) + 20)|0; + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 260|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - ($24))|0; + HEAP32[$26>>2] = $28; + } + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 264|0); + $31 = $30; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)<(0); + $39 = $38 << 31 >> 31; + $40 = HEAP32[$8>>2]|0; + $41 = ($40|0)<(0); + $42 = $41 << 31 >> 31; + $43 = (_fts3PendingListAppend($12,$33,$36,$37,$39,$40,$42,$13)|0); + $44 = ($43|0)!=(0); + if ($44) { + $45 = HEAP32[$12>>2]|0; + $46 = HEAP32[$9>>2]|0; + $47 = HEAP32[$10>>2]|0; + $48 = HEAP32[$11>>2]|0; + $49 = HEAP32[$12>>2]|0; + $50 = (_sqlite3Fts3HashInsert($46,$47,$48,$49)|0); + $51 = ($45|0)==($50|0); + if ($51) { + $52 = HEAP32[$12>>2]|0; + _sqlite3_free($52); + HEAP32[$13>>2] = 7; + } + } + $53 = HEAP32[$13>>2]|0; + $54 = ($53|0)==(0); + if (!($54)) { + $64 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($64|0); + } + $55 = HEAP32[$12>>2]|0; + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$11>>2]|0; + $58 = (($56) + ($57))|0; + $59 = (($58) + 20)|0; + $60 = HEAP32[$6>>2]|0; + $61 = ((($60)) + 260|0); + $62 = HEAP32[$61>>2]|0; + $63 = (($62) + ($59))|0; + HEAP32[$61>>2] = $63; + $64 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($64|0); +} +function _fts3DeleteTerms($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp; + $15 = sp + 12|0; + $16 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(0); + if ($19) { + STACKTOP = sp;return; + } + $20 = HEAP32[$6>>2]|0; + $21 = (_fts3SqlStmt($20,7,$11,$7)|0); + HEAP32[$10>>2] = $21; + $22 = HEAP32[$10>>2]|0; + $23 = ($22|0)==(0); + $24 = HEAP32[$11>>2]|0; + if ($23) { + $25 = (_sqlite3_step($24)|0); + $26 = (100)==($25|0); + do { + if ($26) { + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$11>>2]|0; + $29 = (_langidFromSelect($27,$28)|0); + HEAP32[$13>>2] = $29; + $30 = HEAP32[$11>>2]|0; + $31 = (_sqlite3_column_int64($30,0)|0); + $32 = tempRet0; + $33 = $14; + $34 = $33; + HEAP32[$34>>2] = $31; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$13>>2]|0; + $39 = $14; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (_fts3PendingTermsDocid($37,1,$38,$41,$44)|0); + HEAP32[$10>>2] = $45; + HEAP32[$12>>2] = 1; + while(1) { + $46 = HEAP32[$10>>2]|0; + $47 = ($46|0)==(0); + if (!($47)) { + break; + } + $48 = HEAP32[$12>>2]|0; + $49 = HEAP32[$6>>2]|0; + $50 = ((($49)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($48|0)<=($51|0); + if (!($52)) { + break; + } + $53 = HEAP32[$12>>2]|0; + $54 = (($53) - 1)|0; + HEAP32[$15>>2] = $54; + $55 = HEAP32[$6>>2]|0; + $56 = ((($55)) + 32|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$15>>2]|0; + $59 = (($57) + ($58)|0); + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = ($61|0)==(0); + if ($62) { + $63 = HEAP32[$11>>2]|0; + $64 = HEAP32[$12>>2]|0; + $65 = (_sqlite3_column_text($63,$64)|0); + HEAP32[$16>>2] = $65; + $66 = HEAP32[$6>>2]|0; + $67 = HEAP32[$13>>2]|0; + $68 = HEAP32[$16>>2]|0; + $69 = HEAP32[$8>>2]|0; + $70 = HEAP32[$15>>2]|0; + $71 = (($69) + ($70<<2)|0); + $72 = (_fts3PendingTermsAdd($66,$67,$68,-1,$71)|0); + HEAP32[$10>>2] = $72; + $73 = HEAP32[$11>>2]|0; + $74 = HEAP32[$12>>2]|0; + $75 = (_sqlite3_column_bytes($73,$74)|0); + $76 = HEAP32[$8>>2]|0; + $77 = HEAP32[$6>>2]|0; + $78 = ((($77)) + 24|0); + $79 = HEAP32[$78>>2]|0; + $80 = (($76) + ($79<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = (($81) + ($75))|0; + HEAP32[$80>>2] = $82; + } + $83 = HEAP32[$12>>2]|0; + $84 = (($83) + 1)|0; + HEAP32[$12>>2] = $84; + } + $85 = HEAP32[$10>>2]|0; + $86 = ($85|0)!=(0); + if (!($86)) { + $90 = HEAP32[$9>>2]|0; + HEAP32[$90>>2] = 1; + break; + } + $87 = HEAP32[$11>>2]|0; + (_sqlite3_reset($87)|0); + $88 = HEAP32[$10>>2]|0; + $89 = HEAP32[$5>>2]|0; + HEAP32[$89>>2] = $88; + STACKTOP = sp;return; + } + } while(0); + $91 = HEAP32[$11>>2]|0; + $92 = (_sqlite3_reset($91)|0); + HEAP32[$10>>2] = $92; + } else { + (_sqlite3_reset($24)|0); + } + $93 = HEAP32[$10>>2]|0; + $94 = HEAP32[$5>>2]|0; + HEAP32[$94>>2] = $93; + STACKTOP = sp;return; +} +function _fts3IsEmpty($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 40|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$5>>2]|0; + HEAP32[$12>>2] = 0; + HEAP32[$7>>2] = 0; + $25 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($25|0); + } + $13 = HEAP32[$3>>2]|0; + $14 = (_fts3SqlStmt($13,1,$6,$4)|0); + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ($15|0)==(0); + if (!($16)) { + $25 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($25|0); + } + $17 = HEAP32[$6>>2]|0; + $18 = (_sqlite3_step($17)|0); + $19 = (100)==($18|0); + if ($19) { + $20 = HEAP32[$6>>2]|0; + $21 = (_sqlite3_column_int($20,0)|0); + $22 = HEAP32[$5>>2]|0; + HEAP32[$22>>2] = $21; + } + $23 = HEAP32[$6>>2]|0; + $24 = (_sqlite3_reset($23)|0); + HEAP32[$7>>2] = $24; + $25 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($25|0); +} +function _fts3DeleteAll($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$2>>2]|0; + _sqlite3Fts3PendingTermsClear($5); + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$2>>2]|0; + _fts3SqlExec($4,$8,2,0); + } + $9 = HEAP32[$2>>2]|0; + _fts3SqlExec($4,$9,3,0); + $10 = HEAP32[$2>>2]|0; + _fts3SqlExec($4,$10,4,0); + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 230|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($13<<24>>24)!=(0); + if ($14) { + $15 = HEAP32[$2>>2]|0; + _fts3SqlExec($4,$15,5,0); + } + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 229|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)!=(0); + if (!($19)) { + $21 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($21|0); + } + $20 = HEAP32[$2>>2]|0; + _fts3SqlExec($4,$20,6,0); + $21 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($21|0); +} +function _fts3SqlExec($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0); + if ($12) { + STACKTOP = sp;return; + } + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = (_fts3SqlStmt($13,$14,$8,$15)|0); + HEAP32[$9>>2] = $16; + $17 = HEAP32[$9>>2]|0; + $18 = ($17|0)==(0); + if ($18) { + $19 = HEAP32[$8>>2]|0; + (_sqlite3_step($19)|0); + $20 = HEAP32[$8>>2]|0; + $21 = (_sqlite3_reset($20)|0); + HEAP32[$9>>2] = $21; + } + $22 = HEAP32[$9>>2]|0; + $23 = HEAP32[$4>>2]|0; + HEAP32[$23>>2] = $22; + STACKTOP = sp;return; +} +function _langidFromSelect($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 44|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + $15 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($15|0); + } + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($12) + 1)|0; + $14 = (_sqlite3_column_int($9,$13)|0); + HEAP32[$4>>2] = $14; + $15 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _fts3DoRebuild($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $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 label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp; + $1 = sp + 52|0; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + HEAP32[$1>>2] = $0; + $14 = HEAP32[$1>>2]|0; + $15 = (_fts3DeleteAll($14,0)|0); + HEAP32[$2>>2] = $15; + $16 = HEAP32[$2>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $157 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($157|0); + } + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 216|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$vararg_buffer>>2] = $20; + $21 = (_sqlite3_mprintf(45739,$vararg_buffer)|0); + HEAP32[$8>>2] = $21; + $22 = HEAP32[$8>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$8>>2]|0; + $28 = (_sqlite3_prepare_v2($26,$27,-1,$6,0)|0); + HEAP32[$2>>2] = $28; + $29 = HEAP32[$8>>2]|0; + _sqlite3_free($29); + } else { + HEAP32[$2>>2] = 7; + } + $30 = HEAP32[$2>>2]|0; + $31 = ($30|0)==(0); + do { + if ($31) { + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 24|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($34) + 1)|0; + $36 = $35<<2; + $37 = ($36*3)|0; + HEAP32[$9>>2] = $37; + $38 = HEAP32[$9>>2]|0; + $39 = (_sqlite3_malloc($38)|0); + HEAP32[$3>>2] = $39; + $40 = HEAP32[$3>>2]|0; + $41 = ($40|0)==(0|0); + if ($41) { + HEAP32[$2>>2] = 7; + break; + } else { + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$9>>2]|0; + _memset(($42|0),0,($43|0))|0; + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 24|0); + $47 = HEAP32[$46>>2]|0; + $48 = (($47) + 1)|0; + $49 = (($44) + ($48<<2)|0); + HEAP32[$4>>2] = $49; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = (($53) + 1)|0; + $55 = (($50) + ($54<<2)|0); + HEAP32[$5>>2] = $55; + break; + } + } + } while(0); + L13: while(1) { + $56 = HEAP32[$2>>2]|0; + $57 = ($56|0)==(0); + if ($57) { + $58 = HEAP32[$6>>2]|0; + $59 = (_sqlite3_step($58)|0); + $60 = (100)==($59|0); + $158 = $60; + } else { + $158 = 0; + } + $61 = HEAP32[$1>>2]|0; + if (!($158)) { + break; + } + $62 = HEAP32[$6>>2]|0; + $63 = (_langidFromSelect($61,$62)|0); + HEAP32[$11>>2] = $63; + $64 = HEAP32[$1>>2]|0; + $65 = HEAP32[$11>>2]|0; + $66 = HEAP32[$6>>2]|0; + $67 = (_sqlite3_column_int64($66,0)|0); + $68 = tempRet0; + $69 = (_fts3PendingTermsDocid($64,0,$65,$67,$68)|0); + HEAP32[$2>>2] = $69; + $70 = HEAP32[$3>>2]|0; + $71 = HEAP32[$1>>2]|0; + $72 = ((($71)) + 24|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73) + 1)|0; + $75 = $74<<2; + _memset(($70|0),0,($75|0))|0; + HEAP32[$10>>2] = 0; + while(1) { + $76 = HEAP32[$2>>2]|0; + $77 = ($76|0)==(0); + if ($77) { + $78 = HEAP32[$10>>2]|0; + $79 = HEAP32[$1>>2]|0; + $80 = ((($79)) + 24|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($78|0)<($81|0); + $159 = $82; + } else { + $159 = 0; + } + $83 = HEAP32[$1>>2]|0; + if (!($159)) { + break; + } + $84 = ((($83)) + 32|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$10>>2]|0; + $87 = (($85) + ($86)|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = ($89|0)==(0); + if ($90) { + $91 = HEAP32[$6>>2]|0; + $92 = HEAP32[$10>>2]|0; + $93 = (($92) + 1)|0; + $94 = (_sqlite3_column_text($91,$93)|0); + HEAP32[$12>>2] = $94; + $95 = HEAP32[$1>>2]|0; + $96 = HEAP32[$11>>2]|0; + $97 = HEAP32[$12>>2]|0; + $98 = HEAP32[$10>>2]|0; + $99 = HEAP32[$3>>2]|0; + $100 = HEAP32[$10>>2]|0; + $101 = (($99) + ($100<<2)|0); + $102 = (_fts3PendingTermsAdd($95,$96,$97,$98,$101)|0); + HEAP32[$2>>2] = $102; + $103 = HEAP32[$6>>2]|0; + $104 = HEAP32[$10>>2]|0; + $105 = (($104) + 1)|0; + $106 = (_sqlite3_column_bytes($103,$105)|0); + $107 = HEAP32[$3>>2]|0; + $108 = HEAP32[$1>>2]|0; + $109 = ((($108)) + 24|0); + $110 = HEAP32[$109>>2]|0; + $111 = (($107) + ($110<<2)|0); + $112 = HEAP32[$111>>2]|0; + $113 = (($112) + ($106))|0; + HEAP32[$111>>2] = $113; + } + $114 = HEAP32[$10>>2]|0; + $115 = (($114) + 1)|0; + HEAP32[$10>>2] = $115; + } + $116 = ((($83)) + 230|0); + $117 = HEAP8[$116>>0]|0; + $118 = ($117<<24>>24)!=(0); + if ($118) { + $119 = HEAP32[$1>>2]|0; + $120 = HEAP32[$3>>2]|0; + _fts3InsertDocsize($2,$119,$120); + } + $121 = HEAP32[$2>>2]|0; + $122 = ($121|0)!=(0); + if ($122) { + $123 = HEAP32[$6>>2]|0; + (_sqlite3_finalize($123)|0); + HEAP32[$6>>2] = 0; + continue; + } + $124 = HEAP32[$7>>2]|0; + $125 = (($124) + 1)|0; + HEAP32[$7>>2] = $125; + HEAP32[$10>>2] = 0; + while(1) { + $126 = HEAP32[$10>>2]|0; + $127 = HEAP32[$1>>2]|0; + $128 = ((($127)) + 24|0); + $129 = HEAP32[$128>>2]|0; + $130 = ($126|0)<=($129|0); + if (!($130)) { + continue L13; + } + $131 = HEAP32[$3>>2]|0; + $132 = HEAP32[$10>>2]|0; + $133 = (($131) + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$4>>2]|0; + $136 = HEAP32[$10>>2]|0; + $137 = (($135) + ($136<<2)|0); + $138 = HEAP32[$137>>2]|0; + $139 = (($138) + ($134))|0; + HEAP32[$137>>2] = $139; + $140 = HEAP32[$10>>2]|0; + $141 = (($140) + 1)|0; + HEAP32[$10>>2] = $141; + } + } + $142 = ((($61)) + 228|0); + $143 = HEAP8[$142>>0]|0; + $144 = ($143<<24>>24)!=(0); + if ($144) { + $145 = HEAP32[$1>>2]|0; + $146 = HEAP32[$4>>2]|0; + $147 = HEAP32[$5>>2]|0; + $148 = HEAP32[$7>>2]|0; + _fts3UpdateDocTotals($2,$145,$146,$147,$148); + } + $149 = HEAP32[$3>>2]|0; + _sqlite3_free($149); + $150 = HEAP32[$6>>2]|0; + $151 = ($150|0)!=(0|0); + if (!($151)) { + $157 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($157|0); + } + $152 = HEAP32[$6>>2]|0; + $153 = (_sqlite3_finalize($152)|0); + HEAP32[$13>>2] = $153; + $154 = HEAP32[$2>>2]|0; + $155 = ($154|0)==(0); + if (!($155)) { + $157 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($157|0); + } + $156 = HEAP32[$13>>2]|0; + HEAP32[$2>>2] = $156; + $157 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($157|0); +} +function _fts3DoIntegrityCheck($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = (_fts3IntegrityCheck($4,$3)|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)==(0); + $8 = HEAP32[$3>>2]|0; + $9 = ($8|0)==(0); + $or$cond = $7 & $9; + $$ = $or$cond ? 267 : $5; + HEAP32[$2>>2] = $$; + $10 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($10|0); +} +function _fts3DoIncrmerge($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 8; + HEAP32[$6>>2] = 0; + $8 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $8; + $9 = (_fts3Getint($7)|0); + HEAP32[$6>>2] = $9; + $10 = HEAP32[$7>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)==(44); + if ($13) { + $14 = HEAP32[$7>>2]|0; + $15 = ((($14)) + 1|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP32[$7>>2]|0; + $20 = ((($19)) + 1|0); + HEAP32[$7>>2] = $20; + $21 = (_fts3Getint($7)|0); + HEAP32[$5>>2] = $21; + } + } + $22 = HEAP32[$7>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = $23 << 24 >> 24; + $25 = ($24|0)!=(0); + $26 = HEAP32[$5>>2]|0; + $27 = ($26|0)<(2); + $or$cond = $25 | $27; + if ($or$cond) { + HEAP32[$4>>2] = 1; + $40 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($40|0); + } + HEAP32[$4>>2] = 0; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 229|0); + $30 = HEAP8[$29>>0]|0; + $31 = ($30<<24>>24)!=(0); + if (!($31)) { + $32 = HEAP32[$2>>2]|0; + _sqlite3Fts3CreateStatTable($4,$32); + } + $33 = HEAP32[$4>>2]|0; + $34 = ($33|0)==(0); + if ($34) { + $35 = HEAP32[$2>>2]|0; + $36 = HEAP32[$6>>2]|0; + $37 = HEAP32[$5>>2]|0; + $38 = (_sqlite3Fts3Incrmerge($35,$36,$37)|0); + HEAP32[$4>>2] = $38; + } + $39 = HEAP32[$2>>2]|0; + _sqlite3Fts3SegmentsClose($39); + $40 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($40|0); +} +function _fts3DoAutoincrmerge($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 0; + $7 = (_fts3Getint($4)|0); + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 48|0); + HEAP32[$9>>2] = $7; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 48|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(1); + if ($13) { + label = 3; + } else { + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 48|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>(16); + if ($17) { + label = 3; + } + } + if ((label|0) == 3) { + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 48|0); + HEAP32[$19>>2] = 8; + } + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 229|0); + $22 = HEAP8[$21>>0]|0; + $23 = ($22<<24>>24)!=(0); + if (!($23)) { + $24 = HEAP32[$3>>2]|0; + _sqlite3Fts3CreateStatTable($5,$24); + $25 = HEAP32[$5>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $27; + $42 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($42|0); + } + } + $28 = HEAP32[$3>>2]|0; + $29 = (_fts3SqlStmt($28,23,$6,0)|0); + HEAP32[$5>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = ($30|0)!=(0); + if ($31) { + $32 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $32; + $42 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($42|0); + } else { + $33 = HEAP32[$6>>2]|0; + (_sqlite3_bind_int($33,1,2)|0); + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 48|0); + $37 = HEAP32[$36>>2]|0; + (_sqlite3_bind_int($34,2,$37)|0); + $38 = HEAP32[$6>>2]|0; + (_sqlite3_step($38)|0); + $39 = HEAP32[$6>>2]|0; + $40 = (_sqlite3_reset($39)|0); + HEAP32[$5>>2] = $40; + $41 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $41; + $42 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($42|0); + } + return (0)|0; +} +function _fts3Getint($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + HEAP32[$3>>2] = 0; + while(1) { + $6 = HEAP32[$2>>2]|0; + $7 = HEAP8[$6>>0]|0; + $8 = $7 << 24 >> 24; + $9 = ($8|0)>=(48); + if (!($9)) { + label = 5; + break; + } + $10 = HEAP32[$2>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)<=(57); + if (!($13)) { + label = 5; + break; + } + $14 = HEAP32[$3>>2]|0; + $15 = ($14*10)|0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 1|0); + HEAP32[$2>>2] = $17; + $18 = HEAP8[$16>>0]|0; + $19 = $18 << 24 >> 24; + $20 = (($15) + ($19))|0; + $21 = (($20) - 48)|0; + HEAP32[$3>>2] = $21; + } + if ((label|0) == 5) { + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$1>>2]|0; + HEAP32[$23>>2] = $22; + $24 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($24|0); + } + return (0)|0; +} +function _sqlite3Fts3CreateStatTable($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$vararg_buffer>>2] = $10; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $13; + _fts3DbExec($4,$7,45662,$vararg_buffer); + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0); + if (!($16)) { + STACKTOP = sp;return; + } + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 229|0); + HEAP8[$18>>0] = 1; + STACKTOP = sp;return; +} +function _fts3IntegrityCheck($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer = sp + 24|0; + $2 = sp + 108|0; + $3 = sp + 104|0; + $4 = sp + 100|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp + 96|0; + $8 = sp + 92|0; + $9 = sp + 88|0; + $10 = sp + 84|0; + $11 = sp + 80|0; + $12 = sp + 76|0; + $13 = sp + 72|0; + $14 = sp; + $15 = sp + 68|0; + $16 = sp + 64|0; + $17 = sp + 60|0; + $18 = sp + 56|0; + $19 = sp + 52|0; + $20 = sp + 48|0; + $21 = sp + 44|0; + $22 = sp + 40|0; + $23 = sp + 36|0; + $24 = sp + 32|0; + $25 = sp + 28|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $26 = $5; + $27 = $26; + HEAP32[$27>>2] = 0; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = 0; + $30 = $6; + $31 = $30; + HEAP32[$31>>2] = 0; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = 0; + HEAP32[$7>>2] = 0; + $34 = HEAP32[$2>>2]|0; + $35 = (_fts3SqlStmt($34,27,$7,0)|0); + HEAP32[$4>>2] = $35; + $36 = HEAP32[$4>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 272|0); + $41 = HEAP32[$40>>2]|0; + (_sqlite3_bind_int($38,1,$41)|0); + $42 = HEAP32[$7>>2]|0; + $43 = HEAP32[$2>>2]|0; + $44 = ((($43)) + 248|0); + $45 = HEAP32[$44>>2]|0; + (_sqlite3_bind_int($42,2,$45)|0); + L3: while(1) { + $46 = HEAP32[$4>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + $48 = HEAP32[$7>>2]|0; + $49 = (_sqlite3_step($48)|0); + $50 = ($49|0)==(100); + $252 = $50; + } else { + $252 = 0; + } + $51 = HEAP32[$7>>2]|0; + if (!($252)) { + break; + } + $52 = (_sqlite3_column_int($51,0)|0); + HEAP32[$9>>2] = $52; + HEAP32[$10>>2] = 0; + while(1) { + $53 = HEAP32[$10>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 248|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($53|0)<($56|0); + if (!($57)) { + continue L3; + } + $58 = $5; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$2>>2]|0; + $65 = HEAP32[$9>>2]|0; + $66 = HEAP32[$10>>2]|0; + $67 = (_fts3ChecksumIndex($64,$65,$66,$4)|0); + $68 = tempRet0; + $69 = $60 ^ $67; + $70 = $63 ^ $68; + $71 = $5; + $72 = $71; + HEAP32[$72>>2] = $69; + $73 = (($71) + 4)|0; + $74 = $73; + HEAP32[$74>>2] = $70; + $75 = HEAP32[$10>>2]|0; + $76 = (($75) + 1)|0; + HEAP32[$10>>2] = $76; + } + } + $77 = (_sqlite3_reset($51)|0); + HEAP32[$8>>2] = $77; + $78 = HEAP32[$4>>2]|0; + $79 = ($78|0)==(0); + if ($79) { + $80 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $80; + } + } + $81 = HEAP32[$4>>2]|0; + $82 = ($81|0)==(0); + if (!($82)) { + $234 = $5; + $235 = $234; + $236 = HEAP32[$235>>2]|0; + $237 = (($234) + 4)|0; + $238 = $237; + $239 = HEAP32[$238>>2]|0; + $240 = $6; + $241 = $240; + $242 = HEAP32[$241>>2]|0; + $243 = (($240) + 4)|0; + $244 = $243; + $245 = HEAP32[$244>>2]|0; + $246 = ($236|0)==($242|0); + $247 = ($239|0)==($245|0); + $248 = $246 & $247; + $249 = $248&1; + $250 = HEAP32[$3>>2]|0; + HEAP32[$250>>2] = $249; + $251 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($251|0); + } + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 36|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$85>>2]|0; + HEAP32[$11>>2] = $86; + HEAP32[$12>>2] = 0; + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 216|0); + $89 = HEAP32[$88>>2]|0; + HEAP32[$vararg_buffer>>2] = $89; + $90 = (_sqlite3_mprintf(45739,$vararg_buffer)|0); + HEAP32[$13>>2] = $90; + $91 = HEAP32[$13>>2]|0; + $92 = ($91|0)!=(0|0); + if ($92) { + $93 = HEAP32[$2>>2]|0; + $94 = ((($93)) + 12|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$13>>2]|0; + $97 = (_sqlite3_prepare_v2($95,$96,-1,$12,0)|0); + HEAP32[$4>>2] = $97; + $98 = HEAP32[$13>>2]|0; + _sqlite3_free($98); + } else { + HEAP32[$4>>2] = 7; + } + L21: while(1) { + $99 = HEAP32[$4>>2]|0; + $100 = ($99|0)==(0); + if ($100) { + $101 = HEAP32[$12>>2]|0; + $102 = (_sqlite3_step($101)|0); + $103 = (100)==($102|0); + $253 = $103; + } else { + $253 = 0; + } + $104 = HEAP32[$12>>2]|0; + if (!($253)) { + break; + } + $105 = (_sqlite3_column_int64($104,0)|0); + $106 = tempRet0; + $107 = $14; + $108 = $107; + HEAP32[$108>>2] = $105; + $109 = (($107) + 4)|0; + $110 = $109; + HEAP32[$110>>2] = $106; + $111 = HEAP32[$2>>2]|0; + $112 = HEAP32[$12>>2]|0; + $113 = (_langidFromSelect($111,$112)|0); + HEAP32[$15>>2] = $113; + HEAP32[$16>>2] = 0; + while(1) { + $114 = HEAP32[$4>>2]|0; + $115 = ($114|0)==(0); + if (!($115)) { + continue L21; + } + $116 = HEAP32[$16>>2]|0; + $117 = HEAP32[$2>>2]|0; + $118 = ((($117)) + 24|0); + $119 = HEAP32[$118>>2]|0; + $120 = ($116|0)<($119|0); + if (!($120)) { + continue L21; + } + $121 = HEAP32[$2>>2]|0; + $122 = ((($121)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$16>>2]|0; + $125 = (($123) + ($124)|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = ($127|0)==(0); + if ($128) { + $129 = HEAP32[$12>>2]|0; + $130 = HEAP32[$16>>2]|0; + $131 = (($130) + 1)|0; + $132 = (_sqlite3_column_text($129,$131)|0); + HEAP32[$17>>2] = $132; + $133 = HEAP32[$12>>2]|0; + $134 = HEAP32[$16>>2]|0; + $135 = (($134) + 1)|0; + $136 = (_sqlite3_column_bytes($133,$135)|0); + HEAP32[$18>>2] = $136; + HEAP32[$19>>2] = 0; + $137 = HEAP32[$2>>2]|0; + $138 = ((($137)) + 36|0); + $139 = HEAP32[$138>>2]|0; + $140 = HEAP32[$15>>2]|0; + $141 = HEAP32[$17>>2]|0; + $142 = HEAP32[$18>>2]|0; + $143 = (_sqlite3Fts3OpenTokenizer($139,$140,$141,$142,$19)|0); + HEAP32[$4>>2] = $143; + L33: while(1) { + $144 = HEAP32[$4>>2]|0; + $145 = ($144|0)==(0); + if (!($145)) { + break; + } + HEAP32[$21>>2] = 0; + HEAP32[$22>>2] = 0; + HEAP32[$23>>2] = 0; + HEAP32[$24>>2] = 0; + $146 = HEAP32[$11>>2]|0; + $147 = ((($146)) + 20|0); + $148 = HEAP32[$147>>2]|0; + $149 = HEAP32[$19>>2]|0; + $150 = (FUNCTION_TABLE_iiiiiii[$148 & 255]($149,$20,$21,$22,$23,$24)|0); + HEAP32[$4>>2] = $150; + $151 = HEAP32[$4>>2]|0; + $152 = ($151|0)==(0); + if (!($152)) { + continue; + } + $153 = $6; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = (($153) + 4)|0; + $157 = $156; + $158 = HEAP32[$157>>2]|0; + $159 = HEAP32[$20>>2]|0; + $160 = HEAP32[$21>>2]|0; + $161 = HEAP32[$15>>2]|0; + $162 = $14; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = (($162) + 4)|0; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = HEAP32[$16>>2]|0; + $169 = HEAP32[$24>>2]|0; + $170 = (_fts3ChecksumEntry($159,$160,$161,0,$164,$167,$168,$169)|0); + $171 = tempRet0; + $172 = $155 ^ $170; + $173 = $158 ^ $171; + $174 = $6; + $175 = $174; + HEAP32[$175>>2] = $172; + $176 = (($174) + 4)|0; + $177 = $176; + HEAP32[$177>>2] = $173; + HEAP32[$25>>2] = 1; + while(1) { + $178 = HEAP32[$25>>2]|0; + $179 = HEAP32[$2>>2]|0; + $180 = ((($179)) + 248|0); + $181 = HEAP32[$180>>2]|0; + $182 = ($178|0)<($181|0); + if (!($182)) { + continue L33; + } + $183 = HEAP32[$2>>2]|0; + $184 = ((($183)) + 252|0); + $185 = HEAP32[$184>>2]|0; + $186 = HEAP32[$25>>2]|0; + $187 = (($185) + (($186*24)|0)|0); + $188 = HEAP32[$187>>2]|0; + $189 = HEAP32[$21>>2]|0; + $190 = ($188|0)<=($189|0); + if ($190) { + $191 = $6; + $192 = $191; + $193 = HEAP32[$192>>2]|0; + $194 = (($191) + 4)|0; + $195 = $194; + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$20>>2]|0; + $198 = HEAP32[$2>>2]|0; + $199 = ((($198)) + 252|0); + $200 = HEAP32[$199>>2]|0; + $201 = HEAP32[$25>>2]|0; + $202 = (($200) + (($201*24)|0)|0); + $203 = HEAP32[$202>>2]|0; + $204 = HEAP32[$15>>2]|0; + $205 = HEAP32[$25>>2]|0; + $206 = $14; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = (($206) + 4)|0; + $210 = $209; + $211 = HEAP32[$210>>2]|0; + $212 = HEAP32[$16>>2]|0; + $213 = HEAP32[$24>>2]|0; + $214 = (_fts3ChecksumEntry($197,$203,$204,$205,$208,$211,$212,$213)|0); + $215 = tempRet0; + $216 = $193 ^ $214; + $217 = $196 ^ $215; + $218 = $6; + $219 = $218; + HEAP32[$219>>2] = $216; + $220 = (($218) + 4)|0; + $221 = $220; + HEAP32[$221>>2] = $217; + } + $222 = HEAP32[$25>>2]|0; + $223 = (($222) + 1)|0; + HEAP32[$25>>2] = $223; + } + } + $224 = HEAP32[$19>>2]|0; + $225 = ($224|0)!=(0|0); + if ($225) { + $226 = HEAP32[$11>>2]|0; + $227 = ((($226)) + 16|0); + $228 = HEAP32[$227>>2]|0; + $229 = HEAP32[$19>>2]|0; + (FUNCTION_TABLE_ii[$228 & 255]($229)|0); + } + $230 = HEAP32[$4>>2]|0; + $231 = ($230|0)==(101); + if ($231) { + HEAP32[$4>>2] = 0; + } + } + $232 = HEAP32[$16>>2]|0; + $233 = (($232) + 1)|0; + HEAP32[$16>>2] = $233; + } + } + (_sqlite3_finalize($104)|0); + $234 = $5; + $235 = $234; + $236 = HEAP32[$235>>2]|0; + $237 = (($234) + 4)|0; + $238 = $237; + $239 = HEAP32[$238>>2]|0; + $240 = $6; + $241 = $240; + $242 = HEAP32[$241>>2]|0; + $243 = (($240) + 4)|0; + $244 = $243; + $245 = HEAP32[$244>>2]|0; + $246 = ($236|0)==($242|0); + $247 = ($239|0)==($245|0); + $248 = $246 & $247; + $249 = $248&1; + $250 = HEAP32[$3>>2]|0; + HEAP32[$250>>2] = $249; + $251 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($251|0); +} +function _fts3ChecksumIndex($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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, $or$cond = 0, dest = 0, label = 0; + var sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; + $4 = sp + 140|0; + $5 = sp + 136|0; + $6 = sp + 132|0; + $7 = sp + 128|0; + $8 = sp + 112|0; + $9 = sp + 56|0; + $10 = sp + 48|0; + $11 = sp + 32|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 24|0; + $15 = sp + 16|0; + $16 = sp + 8|0; + $17 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $18 = $11; + $19 = $18; + HEAP32[$19>>2] = 0; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = 0; + ;HEAP32[$8>>2]=0|0;HEAP32[$8+4>>2]=0|0;HEAP32[$8+8>>2]=0|0;HEAP32[$8+12>>2]=0|0; + dest=$9; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $22 = ((($8)) + 12|0); + HEAP32[$22>>2] = 3; + $23 = ((($8)) + 12|0); + $24 = HEAP32[$23>>2]|0; + $25 = $24 | 16; + HEAP32[$23>>2] = $25; + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = (_sqlite3Fts3SegReaderCursor($26,$27,$28,-2,0,0,0,1,$9)|0); + HEAP32[$10>>2] = $29; + $30 = HEAP32[$10>>2]|0; + $31 = ($30|0)==(0); + if ($31) { + $32 = HEAP32[$4>>2]|0; + $33 = (_sqlite3Fts3SegReaderStart($32,$9,$8)|0); + HEAP32[$10>>2] = $33; + } + $34 = HEAP32[$10>>2]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _sqlite3Fts3SegReaderFinish($9); + $193 = HEAP32[$10>>2]|0; + $194 = HEAP32[$7>>2]|0; + HEAP32[$194>>2] = $193; + $195 = $11; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + tempRet0 = ($200); + STACKTOP = sp;return ($197|0); + } + L6: while(1) { + $36 = HEAP32[$4>>2]|0; + $37 = (_sqlite3Fts3SegReaderStep($36,$9)|0); + HEAP32[$10>>2] = $37; + $38 = (100)==($37|0); + if (!($38)) { + break; + } + $39 = ((($9)) + 48|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$12>>2] = $40; + $41 = HEAP32[$12>>2]|0; + $42 = ((($9)) + 52|0); + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + ($43)|0); + HEAP32[$13>>2] = $44; + $45 = $14; + $46 = $45; + HEAP32[$46>>2] = 0; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = 0; + $49 = $15; + $50 = $49; + HEAP32[$50>>2] = 0; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = 0; + $53 = $16; + $54 = $53; + HEAP32[$54>>2] = 0; + $55 = (($53) + 4)|0; + $56 = $55; + HEAP32[$56>>2] = 0; + $57 = HEAP32[$12>>2]|0; + $58 = (_sqlite3Fts3GetVarint($57,$14)|0); + $59 = HEAP32[$12>>2]|0; + $60 = (($59) + ($58)|0); + HEAP32[$12>>2] = $60; + while(1) { + $61 = HEAP32[$12>>2]|0; + $62 = HEAP32[$13>>2]|0; + $63 = ($61>>>0)<($62>>>0); + if (!($63)) { + continue L6; + } + $64 = $17; + $65 = $64; + HEAP32[$65>>2] = 0; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = 0; + $68 = HEAP32[$12>>2]|0; + $69 = (_sqlite3Fts3GetVarint($68,$17)|0); + $70 = HEAP32[$12>>2]|0; + $71 = (($70) + ($69)|0); + HEAP32[$12>>2] = $71; + $72 = HEAP32[$12>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = ($72>>>0)<($73>>>0); + if (!($74)) { + continue; + } + $75 = $17; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = ($77|0)==(0); + $82 = ($80|0)==(0); + $83 = $81 & $82; + $84 = $17; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (($84) + 4)|0; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = ($86|0)==(1); + $91 = ($89|0)==(0); + $92 = $90 & $91; + $or$cond = $83 | $92; + if (!($or$cond)) { + $135 = $17; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (($135) + 4)|0; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (_i64Subtract(($137|0),($140|0),2,0)|0); + $142 = tempRet0; + $143 = $16; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = (($143) + 4)|0; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (_i64Add(($145|0),($148|0),($141|0),($142|0))|0); + $150 = tempRet0; + $151 = $16; + $152 = $151; + HEAP32[$152>>2] = $149; + $153 = (($151) + 4)|0; + $154 = $153; + HEAP32[$154>>2] = $150; + $155 = $11; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = (($155) + 4)|0; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = ((($9)) + 40|0); + $162 = HEAP32[$161>>2]|0; + $163 = ((($9)) + 44|0); + $164 = HEAP32[$163>>2]|0; + $165 = HEAP32[$5>>2]|0; + $166 = HEAP32[$6>>2]|0; + $167 = $14; + $168 = $167; + $169 = HEAP32[$168>>2]|0; + $170 = (($167) + 4)|0; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = $15; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = (($173) + 4)|0; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = $16; + $180 = $179; + $181 = HEAP32[$180>>2]|0; + $182 = (($179) + 4)|0; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = (_fts3ChecksumEntry($162,$164,$165,$166,$169,$172,$175,$181)|0); + $186 = tempRet0; + $187 = $157 ^ $185; + $188 = $160 ^ $186; + $189 = $11; + $190 = $189; + HEAP32[$190>>2] = $187; + $191 = (($189) + 4)|0; + $192 = $191; + HEAP32[$192>>2] = $188; + continue; + } + $93 = $15; + $94 = $93; + HEAP32[$94>>2] = 0; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = 0; + $97 = $16; + $98 = $97; + HEAP32[$98>>2] = 0; + $99 = (($97) + 4)|0; + $100 = $99; + HEAP32[$100>>2] = 0; + $101 = $17; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = (($101) + 4)|0; + $105 = $104; + $106 = HEAP32[$105>>2]|0; + $107 = ($103|0)!=(0); + $108 = ($106|0)!=(0); + $109 = $107 | $108; + $110 = HEAP32[$12>>2]|0; + if ($109) { + $111 = (_sqlite3Fts3GetVarint($110,$15)|0); + $112 = HEAP32[$12>>2]|0; + $113 = (($112) + ($111)|0); + HEAP32[$12>>2] = $113; + continue; + } else { + $114 = (_sqlite3Fts3GetVarint($110,$17)|0); + $115 = HEAP32[$12>>2]|0; + $116 = (($115) + ($114)|0); + HEAP32[$12>>2] = $116; + $117 = $17; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = $14; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = (($123) + 4)|0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = (_i64Add(($125|0),($128|0),($119|0),($122|0))|0); + $130 = tempRet0; + $131 = $14; + $132 = $131; + HEAP32[$132>>2] = $129; + $133 = (($131) + 4)|0; + $134 = $133; + HEAP32[$134>>2] = $130; + continue; + } + } + } + _sqlite3Fts3SegReaderFinish($9); + $193 = HEAP32[$10>>2]|0; + $194 = HEAP32[$7>>2]|0; + HEAP32[$194>>2] = $193; + $195 = $11; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + tempRet0 = ($200); + STACKTOP = sp;return ($197|0); +} +function _fts3ChecksumEntry($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + 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; + STACKTOP = STACKTOP + 48|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 8|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp; + HEAP32[$8>>2] = $0; + HEAP32[$9>>2] = $1; + HEAP32[$10>>2] = $2; + HEAP32[$11>>2] = $3; + $17 = $12; + $18 = $17; + HEAP32[$18>>2] = $4; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $5; + HEAP32[$13>>2] = $6; + HEAP32[$14>>2] = $7; + $21 = $12; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = $16; + $28 = $27; + HEAP32[$28>>2] = $23; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $26; + $31 = $16; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (_bitshift64Shl(($33|0),($36|0),3)|0); + $38 = tempRet0; + $39 = HEAP32[$10>>2]|0; + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = (_i64Add(($37|0),($38|0),($39|0),($41|0))|0); + $43 = tempRet0; + $44 = $16; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (_i64Add(($46|0),($49|0),($42|0),($43|0))|0); + $51 = tempRet0; + $52 = $16; + $53 = $52; + HEAP32[$53>>2] = $50; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $56 = $16; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (_bitshift64Shl(($58|0),($61|0),3)|0); + $63 = tempRet0; + $64 = HEAP32[$11>>2]|0; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_i64Add(($62|0),($63|0),($64|0),($66|0))|0); + $68 = tempRet0; + $69 = $16; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (_i64Add(($71|0),($74|0),($67|0),($68|0))|0); + $76 = tempRet0; + $77 = $16; + $78 = $77; + HEAP32[$78>>2] = $75; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = $76; + $81 = $16; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (_bitshift64Shl(($83|0),($86|0),3)|0); + $88 = tempRet0; + $89 = HEAP32[$13>>2]|0; + $90 = ($89|0)<(0); + $91 = $90 << 31 >> 31; + $92 = (_i64Add(($87|0),($88|0),($89|0),($91|0))|0); + $93 = tempRet0; + $94 = $16; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (_i64Add(($96|0),($99|0),($92|0),($93|0))|0); + $101 = tempRet0; + $102 = $16; + $103 = $102; + HEAP32[$103>>2] = $100; + $104 = (($102) + 4)|0; + $105 = $104; + HEAP32[$105>>2] = $101; + $106 = $16; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (($106) + 4)|0; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (_bitshift64Shl(($108|0),($111|0),3)|0); + $113 = tempRet0; + $114 = HEAP32[$14>>2]|0; + $115 = ($114|0)<(0); + $116 = $115 << 31 >> 31; + $117 = (_i64Add(($112|0),($113|0),($114|0),($116|0))|0); + $118 = tempRet0; + $119 = $16; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = (($119) + 4)|0; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = (_i64Add(($121|0),($124|0),($117|0),($118|0))|0); + $126 = tempRet0; + $127 = $16; + $128 = $127; + HEAP32[$128>>2] = $125; + $129 = (($127) + 4)|0; + $130 = $129; + HEAP32[$130>>2] = $126; + HEAP32[$15>>2] = 0; + while(1) { + $131 = HEAP32[$15>>2]|0; + $132 = HEAP32[$9>>2]|0; + $133 = ($131|0)<($132|0); + $134 = $16; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = (($134) + 4)|0; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + if (!($133)) { + break; + } + $140 = (_bitshift64Shl(($136|0),($139|0),3)|0); + $141 = tempRet0; + $142 = HEAP32[$8>>2]|0; + $143 = HEAP32[$15>>2]|0; + $144 = (($142) + ($143)|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145 << 24 >> 24; + $147 = ($146|0)<(0); + $148 = $147 << 31 >> 31; + $149 = (_i64Add(($140|0),($141|0),($146|0),($148|0))|0); + $150 = tempRet0; + $151 = $16; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = (($151) + 4)|0; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (_i64Add(($153|0),($156|0),($149|0),($150|0))|0); + $158 = tempRet0; + $159 = $16; + $160 = $159; + HEAP32[$160>>2] = $157; + $161 = (($159) + 4)|0; + $162 = $161; + HEAP32[$162>>2] = $158; + $163 = HEAP32[$15>>2]|0; + $164 = (($163) + 1)|0; + HEAP32[$15>>2] = $164; + } + tempRet0 = ($139); + STACKTOP = sp;return ($136|0); +} +function _fts3EvalNext($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$3>>2] = $6; + $7 = HEAP32[$3>>2]|0; + $8 = ($7|0)==(0|0); + L1: do { + if ($8) { + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 6|0); + HEAP8[$10>>0] = 1; + } else { + while(1) { + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 7|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(0); + if ($15) { + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + (_sqlite3_reset($18)|0); + } + $19 = HEAP32[$1>>2]|0; + $20 = HEAP32[$3>>2]|0; + _fts3EvalNextRow($19,$20,$2); + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 32|0); + $23 = HEAP8[$22>>0]|0; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 6|0); + HEAP8[$25>>0] = $23; + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 7|0); + HEAP8[$27>>0] = 1; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 88|0); + HEAP32[$29>>2] = 1; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 24|0); + $32 = $31; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 32|0); + $40 = $39; + $41 = $40; + HEAP32[$41>>2] = $34; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $37; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 6|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($47|0)==(0); + if (!($48)) { + break L1; + } + $49 = HEAP32[$1>>2]|0; + $50 = (_sqlite3Fts3EvalTestDeferred($49,$2)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + break; + } + } + } + } while(0); + $52 = HEAP32[$2>>2]|0; + $53 = ($52|0)==(0); + if (!($53)) { + $108 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($108|0); + } + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 52|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = ($57|0)==(0); + if ($58) { + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 32|0); + $61 = $60; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$1>>2]|0; + $68 = ((($67)) + 80|0); + $69 = $68; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = ($66|0)>($74|0); + $76 = ($63>>>0)>($71>>>0); + $77 = ($66|0)==($74|0); + $78 = $77 & $76; + $79 = $75 | $78; + if (!($79)) { + label = 10; + } + } else { + label = 10; + } + if ((label|0) == 10) { + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 52|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = ($83|0)!=(0); + if (!($84)) { + $108 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($108|0); + } + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 32|0); + $87 = $86; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$1>>2]|0; + $94 = ((($93)) + 72|0); + $95 = $94; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = ($92|0)<($100|0); + $102 = ($89>>>0)<($97>>>0); + $103 = ($92|0)==($100|0); + $104 = $103 & $102; + $105 = $101 | $104; + if (!($105)) { + $108 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($108|0); + } + } + $106 = HEAP32[$1>>2]|0; + $107 = ((($106)) + 6|0); + HEAP8[$107>>0] = 1; + $108 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($108|0); +} +function _sqlite3Fts3ExprFree($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $4; + while(1) { + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + break; + } + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + break; + } + } + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + $19 = HEAP32[$2>>2]|0; + if ($18) { + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $24 = $21; + } else { + $22 = ((($19)) + 16|0); + $23 = HEAP32[$22>>2]|0; + $24 = $23; + } + HEAP32[$2>>2] = $24; + } + L11: while(1) { + $25 = HEAP32[$2>>2]|0; + $26 = ($25|0)!=(0|0); + if (!($26)) { + break; + } + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$3>>2] = $29; + $30 = HEAP32[$2>>2]|0; + _fts3FreeExprNode($30); + $31 = HEAP32[$3>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($33|0)==($36|0); + if ($37) { + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)!=(0|0); + if ($41) { + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 16|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$2>>2] = $44; + while(1) { + $45 = HEAP32[$2>>2]|0; + $46 = ($45|0)!=(0|0); + if (!($46)) { + continue L11; + } + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 12|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)!=(0|0); + if (!($50)) { + $51 = HEAP32[$2>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)!=(0|0); + if (!($54)) { + continue L11; } - case 27: case 28: { - $2075 = HEAP32[$pOp>>2]|0; - $2076 = ((($2075)) + 4|0); - $2077 = HEAP32[$2076>>2]|0; - $2078 = HEAP32[$aMem>>2]|0; - $2079 = (($2078) + (($2077*40)|0)|0); - HEAP32[$pIn1>>2] = $2079; - $2080 = HEAP32[$pIn1>>2]|0; - $2081 = ((($2080)) + 8|0); - $2082 = HEAP16[$2081>>1]|0; - $2083 = $2082&65535; - $2084 = $2083 & 1; - $2085 = ($2084|0)!=(0); - if ($2085) { - HEAP32[$v1>>2] = 2; - } else { - $2086 = HEAP32[$pIn1>>2]|0; - $2087 = (_sqlite3VdbeIntValue($2086)|0); - $2088 = tempRet0; - $2089 = ($2087|0)!=(0); - $2090 = ($2088|0)!=(0); - $2091 = $2089 | $2090; - $2092 = $2091&1; - HEAP32[$v1>>2] = $2092; - } - $2093 = HEAP32[$pOp>>2]|0; - $2094 = ((($2093)) + 8|0); - $2095 = HEAP32[$2094>>2]|0; - $2096 = HEAP32[$aMem>>2]|0; - $2097 = (($2096) + (($2095*40)|0)|0); - HEAP32[$pIn2>>2] = $2097; - $2098 = HEAP32[$pIn2>>2]|0; - $2099 = ((($2098)) + 8|0); - $2100 = HEAP16[$2099>>1]|0; - $2101 = $2100&65535; - $2102 = $2101 & 1; - $2103 = ($2102|0)!=(0); - if ($2103) { - HEAP32[$v2>>2] = 2; - } else { - $2104 = HEAP32[$pIn2>>2]|0; - $2105 = (_sqlite3VdbeIntValue($2104)|0); - $2106 = tempRet0; - $2107 = ($2105|0)!=(0); - $2108 = ($2106|0)!=(0); - $2109 = $2107 | $2108; - $2110 = $2109&1; - HEAP32[$v2>>2] = $2110; - } - $2111 = HEAP32[$pOp>>2]|0; - $2112 = HEAP8[$2111>>0]|0; - $2113 = $2112&255; - $2114 = ($2113|0)==(28); - $2115 = HEAP32[$v1>>2]|0; - $2116 = ($2115*3)|0; - $2117 = HEAP32[$v2>>2]|0; - $2118 = (($2116) + ($2117))|0; - if ($2114) { - $2119 = (39925 + ($2118)|0); - $2120 = HEAP8[$2119>>0]|0; - $2121 = $2120&255; - HEAP32[$v1>>2] = $2121; - } else { - $2122 = (39934 + ($2118)|0); - $2123 = HEAP8[$2122>>0]|0; - $2124 = $2123&255; - HEAP32[$v1>>2] = $2124; - } - $2125 = HEAP32[$pOp>>2]|0; - $2126 = ((($2125)) + 12|0); - $2127 = HEAP32[$2126>>2]|0; - $2128 = HEAP32[$aMem>>2]|0; - $2129 = (($2128) + (($2127*40)|0)|0); - HEAP32[$pOut>>2] = $2129; - $2130 = HEAP32[$v1>>2]|0; - $2131 = ($2130|0)==(2); - if ($2131) { - $2132 = HEAP32[$pOut>>2]|0; - $2133 = ((($2132)) + 8|0); - $2134 = HEAP16[$2133>>1]|0; - $2135 = $2134&65535; - $2136 = $2135 & -49664; - $2137 = $2136 | 1; - $2138 = $2137&65535; - $2139 = HEAP32[$pOut>>2]|0; - $2140 = ((($2139)) + 8|0); - HEAP16[$2140>>1] = $2138; - break L10; - } else { - $2141 = HEAP32[$v1>>2]|0; - $2142 = ($2141|0)<(0); - $2143 = $2142 << 31 >> 31; - $2144 = HEAP32[$pOut>>2]|0; - $2145 = $2144; - $2146 = $2145; - HEAP32[$2146>>2] = $2141; - $2147 = (($2145) + 4)|0; - $2148 = $2147; - HEAP32[$2148>>2] = $2143; - $2149 = HEAP32[$pOut>>2]|0; - $2150 = ((($2149)) + 8|0); - $2151 = HEAP16[$2150>>1]|0; - $2152 = $2151&65535; - $2153 = $2152 & -49664; - $2154 = $2153 | 4; - $2155 = $2154&65535; - $2156 = HEAP32[$pOut>>2]|0; - $2157 = ((($2156)) + 8|0); - HEAP16[$2157>>1] = $2155; - break L10; - } - break; + } + $55 = HEAP32[$2>>2]|0; + $56 = ((($55)) + 12|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)!=(0|0); + $59 = HEAP32[$2>>2]|0; + if ($58) { + $60 = ((($59)) + 12|0); + $61 = HEAP32[$60>>2]|0; + $64 = $61; + } else { + $62 = ((($59)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = $63; + } + HEAP32[$2>>2] = $64; + } + } + } + } + $65 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $65; + } + STACKTOP = sp;return; +} +function _fts3DocidRange($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 8|0; + $4 = sp + 20|0; + $5 = sp; + $6 = sp + 16|0; + HEAP32[$4>>2] = $0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)!=(0|0); + if ($12) { + $13 = HEAP32[$4>>2]|0; + $14 = (_sqlite3_value_numeric_type($13)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = ($15|0)==(1); + if ($16) { + $17 = HEAP32[$4>>2]|0; + $18 = (_sqlite3_value_int64($17)|0); + $19 = tempRet0; + $20 = $3; + $21 = $20; + HEAP32[$21>>2] = $18; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; + $34 = $3; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + tempRet0 = ($39); + STACKTOP = sp;return ($36|0); + } + } + $24 = $5; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $3; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $34 = $3; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + tempRet0 = ($39); + STACKTOP = sp;return ($36|0); +} +function _sqlite3Fts3ExprParse($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 24|0; + $18 = sp + 20|0; + $19 = sp + 16|0; + $20 = sp + 12|0; + HEAP32[$10>>2] = $0; + HEAP32[$11>>2] = $1; + HEAP32[$12>>2] = $2; + HEAP32[$13>>2] = $3; + HEAP32[$14>>2] = $4; + HEAP32[$15>>2] = $5; + HEAP32[$16>>2] = $6; + HEAP32[$17>>2] = $7; + HEAP32[$18>>2] = $8; + HEAP32[$19>>2] = $9; + $21 = HEAP32[$10>>2]|0; + $22 = HEAP32[$11>>2]|0; + $23 = HEAP32[$12>>2]|0; + $24 = HEAP32[$13>>2]|0; + $25 = HEAP32[$14>>2]|0; + $26 = HEAP32[$15>>2]|0; + $27 = HEAP32[$16>>2]|0; + $28 = HEAP32[$17>>2]|0; + $29 = HEAP32[$18>>2]|0; + $30 = (_fts3ExprParseUnbalanced($21,$22,$23,$24,$25,$26,$27,$28,$29)|0); + HEAP32[$20>>2] = $30; + $31 = HEAP32[$20>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $33 = HEAP32[$18>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = HEAP32[$18>>2]|0; + $37 = (_fts3ExprBalance($36,12)|0); + HEAP32[$20>>2] = $37; + $38 = HEAP32[$20>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = HEAP32[$18>>2]|0; + $41 = HEAP32[$40>>2]|0; + $42 = (_fts3ExprCheckDepth($41,12)|0); + HEAP32[$20>>2] = $42; + } + } + } + $43 = HEAP32[$20>>2]|0; + $44 = ($43|0)!=(0); + if (!($44)) { + $55 = HEAP32[$20>>2]|0; + STACKTOP = sp;return ($55|0); + } + $45 = HEAP32[$18>>2]|0; + $46 = HEAP32[$45>>2]|0; + _sqlite3Fts3ExprFree($46); + $47 = HEAP32[$18>>2]|0; + HEAP32[$47>>2] = 0; + $48 = HEAP32[$20>>2]|0; + $49 = ($48|0)==(18); + if ($49) { + $50 = HEAP32[$19>>2]|0; + HEAP32[$vararg_buffer>>2] = 12; + _sqlite3Fts3ErrMsg($50,45848,$vararg_buffer); + HEAP32[$20>>2] = 1; + $55 = HEAP32[$20>>2]|0; + STACKTOP = sp;return ($55|0); + } + $51 = HEAP32[$20>>2]|0; + $52 = ($51|0)==(1); + if (!($52)) { + $55 = HEAP32[$20>>2]|0; + STACKTOP = sp;return ($55|0); + } + $53 = HEAP32[$19>>2]|0; + $54 = HEAP32[$16>>2]|0; + HEAP32[$vararg_buffer1>>2] = $54; + _sqlite3Fts3ErrMsg($53,45900,$vararg_buffer1); + $55 = HEAP32[$20>>2]|0; + STACKTOP = sp;return ($55|0); +} +function _fts3EvalStart($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $1 = sp + 36|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$1>>2] = $0; + $11 = HEAP32[$1>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$2>>2] = $12; + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + _fts3EvalAllocateReaders($13,$16,$4,$5,$3); + $17 = HEAP32[$3>>2]|0; + $18 = ($17|0)==(0); + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)>(1); + $or$cond = $18 & $20; + do { + if ($or$cond) { + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 228|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = ($24|0)!=(0); + if ($25) { + $26 = HEAP32[$4>>2]|0; + $27 = ($26*24)|0; + $28 = HEAP32[$5>>2]|0; + $29 = $28<<2; + $30 = $29<<1; + $31 = (($27) + ($30))|0; + $32 = (_sqlite3_malloc($31)|0); + HEAP32[$6>>2] = $32; + $33 = HEAP32[$6>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = (($33) + (($34*24)|0)|0); + HEAP32[$7>>2] = $35; + $36 = HEAP32[$6>>2]|0; + $37 = ($36|0)!=(0|0); + if (!($37)) { + HEAP32[$3>>2] = 7; + break; + } + $38 = HEAP32[$6>>2]|0; + HEAP32[$9>>2] = $38; + $39 = HEAP32[$7>>2]|0; + HEAP32[$10>>2] = $39; + $40 = HEAP32[$1>>2]|0; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 12|0); + $43 = HEAP32[$42>>2]|0; + _fts3EvalTokenCosts($40,0,$43,$9,$10,$3); + $44 = HEAP32[$9>>2]|0; + $45 = HEAP32[$6>>2]|0; + $46 = $44; + $47 = $45; + $48 = (($46) - ($47))|0; + $49 = (($48|0) / 24)&-1; + HEAP32[$4>>2] = $49; + $50 = HEAP32[$10>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = $50; + $53 = $51; + $54 = (($52) - ($53))|0; + $55 = (($54|0) / 4)&-1; + HEAP32[$5>>2] = $55; + $56 = HEAP32[$3>>2]|0; + $57 = ($56|0)==(0); + L7: do { + if ($57) { + $58 = HEAP32[$1>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$4>>2]|0; + $61 = (_fts3EvalSelectDeferred($58,0,$59,$60)|0); + HEAP32[$3>>2] = $61; + HEAP32[$8>>2] = 0; + while(1) { + $62 = HEAP32[$3>>2]|0; + $63 = ($62|0)==(0); + if (!($63)) { + break L7; } - case 19: { - $2158 = HEAP32[$pOp>>2]|0; - $2159 = ((($2158)) + 4|0); - $2160 = HEAP32[$2159>>2]|0; - $2161 = HEAP32[$aMem>>2]|0; - $2162 = (($2161) + (($2160*40)|0)|0); - HEAP32[$pIn1>>2] = $2162; - $2163 = HEAP32[$pOp>>2]|0; - $2164 = ((($2163)) + 8|0); - $2165 = HEAP32[$2164>>2]|0; - $2166 = HEAP32[$aMem>>2]|0; - $2167 = (($2166) + (($2165*40)|0)|0); - HEAP32[$pOut>>2] = $2167; - $2168 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($2168); - $2169 = HEAP32[$pIn1>>2]|0; - $2170 = ((($2169)) + 8|0); - $2171 = HEAP16[$2170>>1]|0; - $2172 = $2171&65535; - $2173 = $2172 & 1; - $2174 = ($2173|0)==(0); - if ($2174) { - $2175 = HEAP32[$pOut>>2]|0; - $2176 = ((($2175)) + 8|0); - HEAP16[$2176>>1] = 4; - $2177 = HEAP32[$pIn1>>2]|0; - $2178 = (_sqlite3VdbeIntValue($2177)|0); - $2179 = tempRet0; - $2180 = ($2178|0)!=(0); - $2181 = ($2179|0)!=(0); - $2182 = $2180 | $2181; - $2183 = $2182 ^ 1; - $2184 = $2183&1; - $2185 = ($2184|0)<(0); - $2186 = $2185 << 31 >> 31; - $2187 = HEAP32[$pOut>>2]|0; - $2188 = $2187; - $2189 = $2188; - HEAP32[$2189>>2] = $2184; - $2190 = (($2188) + 4)|0; - $2191 = $2190; - HEAP32[$2191>>2] = $2186; - } - break; + $64 = HEAP32[$8>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = ($64|0)<($65|0); + if (!($66)) { + break L7; } - case 54: { - $2192 = HEAP32[$pOp>>2]|0; - $2193 = ((($2192)) + 4|0); - $2194 = HEAP32[$2193>>2]|0; - $2195 = HEAP32[$aMem>>2]|0; - $2196 = (($2195) + (($2194*40)|0)|0); - HEAP32[$pIn1>>2] = $2196; - $2197 = HEAP32[$pOp>>2]|0; - $2198 = ((($2197)) + 8|0); - $2199 = HEAP32[$2198>>2]|0; - $2200 = HEAP32[$aMem>>2]|0; - $2201 = (($2200) + (($2199*40)|0)|0); - HEAP32[$pOut>>2] = $2201; - $2202 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($2202); - $2203 = HEAP32[$pIn1>>2]|0; - $2204 = ((($2203)) + 8|0); - $2205 = HEAP16[$2204>>1]|0; - $2206 = $2205&65535; - $2207 = $2206 & 1; - $2208 = ($2207|0)==(0); - if ($2208) { - $2209 = HEAP32[$pOut>>2]|0; - $2210 = ((($2209)) + 8|0); - HEAP16[$2210>>1] = 4; - $2211 = HEAP32[$pIn1>>2]|0; - $2212 = (_sqlite3VdbeIntValue($2211)|0); - $2213 = tempRet0; - $2214 = $2212 ^ -1; - $2215 = $2213 ^ -1; - $2216 = HEAP32[$pOut>>2]|0; - $2217 = $2216; - $2218 = $2217; - HEAP32[$2218>>2] = $2214; - $2219 = (($2217) + 4)|0; - $2220 = $2219; - HEAP32[$2220>>2] = $2215; - } + $67 = HEAP32[$1>>2]|0; + $68 = HEAP32[$7>>2]|0; + $69 = HEAP32[$8>>2]|0; + $70 = (($68) + ($69<<2)|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$6>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = (_fts3EvalSelectDeferred($67,$71,$72,$73)|0); + HEAP32[$3>>2] = $74; + $75 = HEAP32[$8>>2]|0; + $76 = (($75) + 1)|0; + HEAP32[$8>>2] = $76; + } + } + } while(0); + $77 = HEAP32[$6>>2]|0; + _sqlite3_free($77); + } + } + } while(0); + $78 = HEAP32[$1>>2]|0; + $79 = HEAP32[$1>>2]|0; + $80 = ((($79)) + 12|0); + $81 = HEAP32[$80>>2]|0; + _fts3EvalStartReaders($78,$81,$3); + $82 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($82|0); +} +function _fts3EvalAllocateReaders($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $14 = HEAP32[$6>>2]|0; + $15 = ($14|0)!=(0|0); + if (!($15)) { + STACKTOP = sp;return; + } + $16 = HEAP32[$9>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = (0)==($17|0); + if (!($18)) { + STACKTOP = sp;return; + } + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(5); + $22 = HEAP32[$6>>2]|0; + if (!($21)) { + $59 = HEAP32[$22>>2]|0; + $60 = ($59|0)==(4); + $61 = $60&1; + $62 = HEAP32[$8>>2]|0; + $63 = HEAP32[$62>>2]|0; + $64 = (($63) + ($61))|0; + HEAP32[$62>>2] = $64; + $65 = HEAP32[$5>>2]|0; + $66 = HEAP32[$6>>2]|0; + $67 = ((($66)) + 12|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$7>>2]|0; + $70 = HEAP32[$8>>2]|0; + $71 = HEAP32[$9>>2]|0; + _fts3EvalAllocateReaders($65,$68,$69,$70,$71); + $72 = HEAP32[$5>>2]|0; + $73 = HEAP32[$6>>2]|0; + $74 = ((($73)) + 16|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$7>>2]|0; + $77 = HEAP32[$8>>2]|0; + $78 = HEAP32[$9>>2]|0; + _fts3EvalAllocateReaders($72,$75,$76,$77,$78); + STACKTOP = sp;return; + } + $23 = ((($22)) + 20|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 64|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$11>>2] = $26; + $27 = HEAP32[$11>>2]|0; + $28 = HEAP32[$7>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = (($29) + ($27))|0; + HEAP32[$28>>2] = $30; + HEAP32[$10>>2] = 0; + while(1) { + $31 = HEAP32[$10>>2]|0; + $32 = HEAP32[$11>>2]|0; + $33 = ($31|0)<($32|0); + $34 = HEAP32[$6>>2]|0; + $35 = ((($34)) + 20|0); + $36 = HEAP32[$35>>2]|0; + if (!($33)) { + label = 9; + break; + } + $37 = ((($36)) + 72|0); + $38 = HEAP32[$10>>2]|0; + $39 = (($37) + (($38*24)|0)|0); + HEAP32[$12>>2] = $39; + $40 = HEAP32[$5>>2]|0; + $41 = HEAP32[$12>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$12>>2]|0; + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$12>>2]|0; + $47 = ((($46)) + 8|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$12>>2]|0; + $50 = ((($49)) + 20|0); + $51 = (_fts3TermSegReaderCursor($40,$42,$45,$48,$50)|0); + HEAP32[$13>>2] = $51; + $52 = HEAP32[$13>>2]|0; + $53 = ($52|0)!=(0); + if ($53) { + label = 7; + break; + } + $56 = HEAP32[$10>>2]|0; + $57 = (($56) + 1)|0; + HEAP32[$10>>2] = $57; + } + if ((label|0) == 7) { + $54 = HEAP32[$13>>2]|0; + $55 = HEAP32[$9>>2]|0; + HEAP32[$55>>2] = $54; + STACKTOP = sp;return; + } + else if ((label|0) == 9) { + $58 = ((($36)) + 44|0); + HEAP32[$58>>2] = -1; + STACKTOP = sp;return; + } +} +function _fts3EvalTokenCosts($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $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; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $15 = HEAP32[$11>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + STACKTOP = sp;return; + } + $18 = HEAP32[$8>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(5); + $21 = HEAP32[$8>>2]|0; + if ($20) { + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$12>>2] = $23; + HEAP32[$13>>2] = 0; + while(1) { + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + label = 13; + break; + } + $27 = HEAP32[$13>>2]|0; + $28 = HEAP32[$12>>2]|0; + $29 = ((($28)) + 64|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($27|0)<($30|0); + if (!($31)) { + label = 13; + break; + } + $32 = HEAP32[$9>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = ((($33)) + 24|0); + HEAP32[$32>>2] = $34; + HEAP32[$14>>2] = $33; + $35 = HEAP32[$12>>2]|0; + $36 = HEAP32[$14>>2]|0; + HEAP32[$36>>2] = $35; + $37 = HEAP32[$13>>2]|0; + $38 = HEAP32[$14>>2]|0; + $39 = ((($38)) + 4|0); + HEAP32[$39>>2] = $37; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$14>>2]|0; + $42 = ((($41)) + 12|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$12>>2]|0; + $44 = ((($43)) + 72|0); + $45 = HEAP32[$13>>2]|0; + $46 = (($44) + (($45*24)|0)|0); + $47 = HEAP32[$14>>2]|0; + $48 = ((($47)) + 8|0); + HEAP32[$48>>2] = $46; + $49 = HEAP32[$12>>2]|0; + $50 = ((($49)) + 68|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$14>>2]|0; + $53 = ((($52)) + 20|0); + HEAP32[$53>>2] = $51; + $54 = HEAP32[$6>>2]|0; + $55 = HEAP32[$14>>2]|0; + $56 = ((($55)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ((($57)) + 20|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$14>>2]|0; + $61 = ((($60)) + 16|0); + $62 = (_sqlite3Fts3MsrOvfl($54,$59,$61)|0); + $63 = HEAP32[$11>>2]|0; + HEAP32[$63>>2] = $62; + $64 = HEAP32[$13>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$13>>2] = $65; + } + if ((label|0) == 13) { + STACKTOP = sp;return; + } + } + $66 = HEAP32[$21>>2]|0; + $67 = ($66|0)!=(2); + if (!($67)) { + STACKTOP = sp;return; + } + $68 = HEAP32[$8>>2]|0; + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(4); + if ($70) { + $71 = HEAP32[$8>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + HEAP32[$7>>2] = $73; + $74 = HEAP32[$7>>2]|0; + $75 = HEAP32[$10>>2]|0; + $76 = HEAP32[$75>>2]|0; + HEAP32[$76>>2] = $74; + $77 = HEAP32[$10>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = ((($78)) + 4|0); + HEAP32[$77>>2] = $79; + } + $80 = HEAP32[$6>>2]|0; + $81 = HEAP32[$7>>2]|0; + $82 = HEAP32[$8>>2]|0; + $83 = ((($82)) + 12|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$9>>2]|0; + $86 = HEAP32[$10>>2]|0; + $87 = HEAP32[$11>>2]|0; + _fts3EvalTokenCosts($80,$81,$84,$85,$86,$87); + $88 = HEAP32[$8>>2]|0; + $89 = HEAP32[$88>>2]|0; + $90 = ($89|0)==(4); + if ($90) { + $91 = HEAP32[$8>>2]|0; + $92 = ((($91)) + 16|0); + $93 = HEAP32[$92>>2]|0; + HEAP32[$7>>2] = $93; + $94 = HEAP32[$7>>2]|0; + $95 = HEAP32[$10>>2]|0; + $96 = HEAP32[$95>>2]|0; + HEAP32[$96>>2] = $94; + $97 = HEAP32[$10>>2]|0; + $98 = HEAP32[$97>>2]|0; + $99 = ((($98)) + 4|0); + HEAP32[$97>>2] = $99; + } + $100 = HEAP32[$6>>2]|0; + $101 = HEAP32[$7>>2]|0; + $102 = HEAP32[$8>>2]|0; + $103 = ((($102)) + 16|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$9>>2]|0; + $106 = HEAP32[$10>>2]|0; + $107 = HEAP32[$11>>2]|0; + _fts3EvalTokenCosts($100,$101,$104,$105,$106,$107); + STACKTOP = sp;return; +} +function _fts3EvalSelectDeferred($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $4 = sp + 76|0; + $5 = sp + 72|0; + $6 = sp + 68|0; + $7 = sp + 64|0; + $8 = sp + 60|0; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 24|0; + $18 = sp + 20|0; + $19 = sp + 16|0; + $20 = sp + 12|0; + $21 = sp + 8|0; + $22 = sp + 4|0; + $23 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$24>>2]|0; + HEAP32[$9>>2] = $25; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 1; + $26 = HEAP32[$9>>2]|0; + $27 = ((($26)) + 40|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + HEAP32[$4>>2] = 0; + $181 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($181|0); + } + HEAP32[$12>>2] = 0; + while(1) { + $30 = HEAP32[$12>>2]|0; + $31 = HEAP32[$8>>2]|0; + $32 = ($30|0)<($31|0); + if (!($32)) { + break; + } + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$12>>2]|0; + $35 = (($33) + (($34*24)|0)|0); + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ($37|0)==($38|0); + if ($39) { + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$12>>2]|0; + $42 = (($40) + (($41*24)|0)|0); + $43 = ((($42)) + 16|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$13>>2]|0; + $46 = (($45) + ($44))|0; + HEAP32[$13>>2] = $46; + $47 = HEAP32[$14>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$14>>2] = $48; + } + $49 = HEAP32[$12>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$12>>2] = $50; + } + $51 = HEAP32[$13>>2]|0; + $52 = ($51|0)==(0); + $53 = HEAP32[$14>>2]|0; + $54 = ($53|0)<(2); + $or$cond = $52 | $54; + if ($or$cond) { + HEAP32[$4>>2] = 0; + $181 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($181|0); + } + $55 = HEAP32[$5>>2]|0; + $56 = (_fts3EvalAverageDocsize($55,$10)|0); + HEAP32[$11>>2] = $56; + HEAP32[$12>>2] = 0; + while(1) { + $57 = HEAP32[$12>>2]|0; + $58 = HEAP32[$14>>2]|0; + $59 = ($57|0)<($58|0); + $60 = HEAP32[$11>>2]|0; + $61 = ($60|0)==(0); + $62 = $59 ? $61 : 0; + if (!($62)) { + break; + } + HEAP32[$18>>2] = 0; + HEAP32[$17>>2] = 0; + while(1) { + $63 = HEAP32[$17>>2]|0; + $64 = HEAP32[$8>>2]|0; + $65 = ($63|0)<($64|0); + if (!($65)) { + break; + } + $66 = HEAP32[$7>>2]|0; + $67 = HEAP32[$17>>2]|0; + $68 = (($66) + (($67*24)|0)|0); + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)!=(0|0); + do { + if ($71) { + $72 = HEAP32[$7>>2]|0; + $73 = HEAP32[$17>>2]|0; + $74 = (($72) + (($73*24)|0)|0); + $75 = ((($74)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$6>>2]|0; + $78 = ($76|0)==($77|0); + if ($78) { + $79 = HEAP32[$18>>2]|0; + $80 = ($79|0)!=(0|0); + if ($80) { + $81 = HEAP32[$7>>2]|0; + $82 = HEAP32[$17>>2]|0; + $83 = (($81) + (($82*24)|0)|0); + $84 = ((($83)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$18>>2]|0; + $87 = ((($86)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($85|0)<($88|0); + if (!($89)) { break; } - case 20: { - $2221 = HEAP32[$0>>2]|0; - $2222 = ((($2221)) + 88|0); - $2223 = HEAP32[$2222>>2]|0; - $2224 = ((($2223)) + 4|0); - $2225 = HEAP32[$2224>>2]|0; - $2226 = HEAP32[$pOp>>2]|0; - $2227 = ((($2226)) + 4|0); - $2228 = HEAP32[$2227>>2]|0; - $2229 = ($2225|0)==($2228|0); - if ($2229) { - label = 14; - } else { - $2230 = HEAP32[$0>>2]|0; - $2231 = ((($2230)) + 88|0); - $2232 = HEAP32[$2231>>2]|0; - $2233 = ((($2232)) + 4|0); - $2234 = HEAP32[$2233>>2]|0; - $2235 = HEAP32[$pOp>>2]|0; - $2236 = ((($2235)) + 4|0); - HEAP32[$2236>>2] = $2234; - } + } + $90 = HEAP32[$7>>2]|0; + $91 = HEAP32[$17>>2]|0; + $92 = (($90) + (($91*24)|0)|0); + HEAP32[$18>>2] = $92; + } + } + } while(0); + $93 = HEAP32[$17>>2]|0; + $94 = (($93) + 1)|0; + HEAP32[$17>>2] = $94; + } + $95 = HEAP32[$12>>2]|0; + $96 = ($95|0)!=(0); + if ($96) { + $97 = HEAP32[$18>>2]|0; + $98 = ((($97)) + 16|0); + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$15>>2]|0; + $101 = HEAP32[$16>>2]|0; + $102 = (($101|0) / 4)&-1; + $103 = (($100) + ($102))|0; + $104 = (($103) - 1)|0; + $105 = HEAP32[$16>>2]|0; + $106 = (($105|0) / 4)&-1; + $107 = (($104|0) / ($106|0))&-1; + $108 = HEAP32[$10>>2]|0; + $109 = Math_imul($107, $108)|0; + $110 = ($99|0)>=($109|0); + if ($110) { + $111 = HEAP32[$18>>2]|0; + $112 = ((($111)) + 8|0); + $113 = HEAP32[$112>>2]|0; + HEAP32[$19>>2] = $113; + $114 = HEAP32[$5>>2]|0; + $115 = HEAP32[$19>>2]|0; + $116 = HEAP32[$18>>2]|0; + $117 = ((($116)) + 20|0); + $118 = HEAP32[$117>>2]|0; + $119 = (_sqlite3Fts3DeferToken($114,$115,$118)|0); + HEAP32[$11>>2] = $119; + $120 = HEAP32[$19>>2]|0; + $121 = ((($120)) + 20|0); + $122 = HEAP32[$121>>2]|0; + _fts3SegReaderCursorFree($122); + $123 = HEAP32[$19>>2]|0; + $124 = ((($123)) + 20|0); + HEAP32[$124>>2] = 0; + } else { + label = 23; + } + } else { + label = 23; + } + do { + if ((label|0) == 23) { + label = 0; + $125 = HEAP32[$12>>2]|0; + $126 = ($125|0)<(12); + if ($126) { + $127 = HEAP32[$16>>2]|0; + $128 = $127<<2; + HEAP32[$16>>2] = $128; + } + $129 = HEAP32[$12>>2]|0; + $130 = ($129|0)==(0); + if (!($130)) { + $131 = HEAP32[$18>>2]|0; + $132 = HEAP32[$131>>2]|0; + $133 = ((($132)) + 64|0); + $134 = HEAP32[$133>>2]|0; + $135 = ($134|0)>(1); + if (!($135)) { + break; + } + $136 = HEAP32[$12>>2]|0; + $137 = HEAP32[$14>>2]|0; + $138 = (($137) - 1)|0; + $139 = ($136|0)!=($138|0); + if (!($139)) { + break; + } + } + $140 = HEAP32[$18>>2]|0; + $141 = ((($140)) + 8|0); + $142 = HEAP32[$141>>2]|0; + HEAP32[$20>>2] = $142; + HEAP32[$21>>2] = 0; + HEAP32[$22>>2] = 0; + $143 = HEAP32[$9>>2]|0; + $144 = HEAP32[$20>>2]|0; + $145 = HEAP32[$18>>2]|0; + $146 = ((($145)) + 20|0); + $147 = HEAP32[$146>>2]|0; + $148 = (_fts3TermSelect($143,$144,$147,$21,$22)|0); + HEAP32[$11>>2] = $148; + $149 = HEAP32[$11>>2]|0; + $150 = ($149|0)==(0); + if ($150) { + $151 = HEAP32[$9>>2]|0; + $152 = HEAP32[$18>>2]|0; + $153 = HEAP32[$152>>2]|0; + $154 = HEAP32[$18>>2]|0; + $155 = ((($154)) + 4|0); + $156 = HEAP32[$155>>2]|0; + $157 = HEAP32[$22>>2]|0; + $158 = HEAP32[$21>>2]|0; + $159 = (_fts3EvalPhraseMergeToken($151,$153,$156,$157,$158)|0); + HEAP32[$11>>2] = $159; + } + $160 = HEAP32[$11>>2]|0; + $161 = ($160|0)==(0); + if ($161) { + $162 = HEAP32[$18>>2]|0; + $163 = HEAP32[$162>>2]|0; + $164 = HEAP32[$163>>2]|0; + $165 = HEAP32[$18>>2]|0; + $166 = HEAP32[$165>>2]|0; + $167 = ((($166)) + 4|0); + $168 = HEAP32[$167>>2]|0; + $169 = (_fts3DoclistCountDocids($164,$168)|0); + HEAP32[$23>>2] = $169; + $170 = HEAP32[$12>>2]|0; + $171 = ($170|0)==(0); + if (!($171)) { + $172 = HEAP32[$23>>2]|0; + $173 = HEAP32[$15>>2]|0; + $174 = ($172|0)<($173|0); + if (!($174)) { + break; + } + } + $175 = HEAP32[$23>>2]|0; + HEAP32[$15>>2] = $175; + } + } + } while(0); + $176 = HEAP32[$18>>2]|0; + $177 = ((($176)) + 8|0); + HEAP32[$177>>2] = 0; + $178 = HEAP32[$12>>2]|0; + $179 = (($178) + 1)|0; + HEAP32[$12>>2] = $179; + } + $180 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $180; + $181 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($181|0); +} +function _fts3EvalStartReaders($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + STACKTOP = sp;return; + } + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (0)==($11|0); + if (!($12)) { + STACKTOP = sp;return; + } + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(5); + if (!($15)) { + $50 = HEAP32[$3>>2]|0; + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$5>>2]|0; + _fts3EvalStartReaders($50,$53,$54); + $55 = HEAP32[$3>>2]|0; + $56 = HEAP32[$4>>2]|0; + $57 = ((($56)) + 16|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$5>>2]|0; + _fts3EvalStartReaders($55,$58,$59); + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = ((($62)) + 34|0); + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + $66 = ($65|0)!=(0); + if ($66) { + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ((($69)) + 34|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = ($72|0)!=(0); + $75 = $73; + } else { + $75 = 0; + } + $74 = $75&1; + $76 = $74&255; + $77 = HEAP32[$4>>2]|0; + $78 = ((($77)) + 34|0); + HEAP8[$78>>0] = $76; + STACKTOP = sp;return; + } + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 64|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$6>>2] = $20; + $21 = HEAP32[$6>>2]|0; + $22 = ($21|0)!=(0); + if ($22) { + HEAP32[$7>>2] = 0; + while(1) { + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = ($23|0)<($24|0); + if (!($25)) { + break; + } + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 72|0); + $30 = HEAP32[$7>>2]|0; + $31 = (($29) + (($30*24)|0)|0); + $32 = ((($31)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0|0); + if ($34) { + break; + } + $35 = HEAP32[$7>>2]|0; + $36 = (($35) + 1)|0; + HEAP32[$7>>2] = $36; + } + $37 = HEAP32[$7>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ($37|0)==($38|0); + $40 = $39&1; + $41 = $40&255; + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 34|0); + HEAP8[$43>>0] = $41; + } + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (_fts3EvalPhraseStart($44,1,$47)|0); + $49 = HEAP32[$5>>2]|0; + HEAP32[$49>>2] = $48; + STACKTOP = sp;return; +} +function _fts3EvalAverageDocsize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 44|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp; + $10 = sp + 20|0; + $11 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if ($15) { + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $17; + $18 = $8; + $19 = $18; + HEAP32[$19>>2] = 0; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = 0; + $22 = $9; + $23 = $22; + HEAP32[$23>>2] = 0; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = 0; + $26 = HEAP32[$6>>2]|0; + $27 = (_sqlite3Fts3SelectDoctotal($26,$7)|0); + HEAP32[$5>>2] = $27; + $28 = HEAP32[$5>>2]|0; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $30; + $118 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($118|0); + } + $31 = HEAP32[$7>>2]|0; + $32 = (_sqlite3_column_blob($31,0)|0); + HEAP32[$11>>2] = $32; + $33 = HEAP32[$11>>2]|0; + $34 = HEAP32[$7>>2]|0; + $35 = (_sqlite3_column_bytes($34,0)|0); + $36 = (($33) + ($35)|0); + HEAP32[$10>>2] = $36; + $37 = HEAP32[$11>>2]|0; + $38 = (_sqlite3Fts3GetVarint($37,$8)|0); + $39 = HEAP32[$11>>2]|0; + $40 = (($39) + ($38)|0); + HEAP32[$11>>2] = $40; + while(1) { + $41 = HEAP32[$11>>2]|0; + $42 = HEAP32[$10>>2]|0; + $43 = ($41>>>0)<($42>>>0); + if (!($43)) { + break; + } + $44 = HEAP32[$11>>2]|0; + $45 = (_sqlite3Fts3GetVarint($44,$9)|0); + $46 = HEAP32[$11>>2]|0; + $47 = (($46) + ($45)|0); + HEAP32[$11>>2] = $47; + } + $48 = $8; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = ($50|0)==(0); + $55 = ($53|0)==(0); + $56 = $54 & $55; + $57 = $9; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = ($59|0)==(0); + $64 = ($62|0)==(0); + $65 = $63 & $64; + $or$cond = $56 | $65; + if ($or$cond) { + $66 = HEAP32[$7>>2]|0; + (_sqlite3_reset($66)|0); + HEAP32[$2>>2] = 267; + $118 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($118|0); + } + $67 = $8; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$3>>2]|0; + $74 = ((($73)) + 64|0); + $75 = $74; + $76 = $75; + HEAP32[$76>>2] = $69; + $77 = (($75) + 4)|0; + $78 = $77; + HEAP32[$78>>2] = $72; + $79 = $9; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = (($79) + 4)|0; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = $8; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (___divdi3(($81|0),($84|0),($87|0),($90|0))|0); + $92 = tempRet0; + $93 = HEAP32[$6>>2]|0; + $94 = ((($93)) + 236|0); + $95 = HEAP32[$94>>2]|0; + $96 = ($95|0)<(0); + $97 = $96 << 31 >> 31; + $98 = (_i64Add(($91|0),($92|0),($95|0),($97|0))|0); + $99 = tempRet0; + $100 = HEAP32[$6>>2]|0; + $101 = ((($100)) + 236|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)<(0); + $104 = $103 << 31 >> 31; + $105 = (___divdi3(($98|0),($99|0),($102|0),($104|0))|0); + $106 = tempRet0; + $107 = HEAP32[$3>>2]|0; + $108 = ((($107)) + 60|0); + HEAP32[$108>>2] = $105; + $109 = HEAP32[$7>>2]|0; + $110 = (_sqlite3_reset($109)|0); + HEAP32[$5>>2] = $110; + $111 = HEAP32[$5>>2]|0; + $112 = ($111|0)!=(0); + if ($112) { + $113 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $113; + $118 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($118|0); + } + } + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + 60|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$4>>2]|0; + HEAP32[$117>>2] = $116; + HEAP32[$2>>2] = 0; + $118 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($118|0); +} +function _sqlite3Fts3DeferToken($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 + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = (_sqlite3_malloc(16)|0); + HEAP32[$7>>2] = $8; + $9 = HEAP32[$7>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$7>>2]|0; + ;HEAP32[$11>>2]=0|0;HEAP32[$11+4>>2]=0|0;HEAP32[$11+8>>2]=0|0;HEAP32[$11+12>>2]=0|0; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$7>>2]|0; + HEAP32[$13>>2] = $12; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$7>>2]|0; + $18 = ((($17)) + 8|0); + HEAP32[$18>>2] = $16; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = ((($20)) + 4|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 24|0); + HEAP32[$24>>2] = $22; + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 16|0); + HEAP32[$27>>2] = $25; + HEAP32[$3>>2] = 0; + $28 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($28|0); + } else { + HEAP32[$3>>2] = 7; + $28 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($28|0); + } + return (0)|0; +} +function _fts3DoclistCountDocids($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + $24 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($24|0); + } + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = (($9) + ($10)|0); + HEAP32[$5>>2] = $11; + $12 = HEAP32[$2>>2]|0; + HEAP32[$6>>2] = $12; + while(1) { + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = ($13>>>0)<($14>>>0); + if (!($15)) { + break; + } + $16 = HEAP32[$4>>2]|0; + $17 = (($16) + 1)|0; + HEAP32[$4>>2] = $17; + while(1) { + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 1|0); + HEAP32[$6>>2] = $19; + $20 = HEAP8[$18>>0]|0; + $21 = $20 << 24 >> 24; + $22 = $21 & 128; + $23 = ($22|0)!=(0); + if (!($23)) { + break; + } + } + _fts3PoslistCopy(0,$6); + } + $24 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($24|0); +} +function _sqlite3Fts3MsrOvfl($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp; + $13 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$14>>2]|0; + HEAP32[$6>>2] = $15; + HEAP32[$7>>2] = 0; + HEAP32[$9>>2] = 0; + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 236|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$10>>2] = $18; + HEAP32[$8>>2] = 0; + while(1) { + $19 = HEAP32[$9>>2]|0; + $20 = ($19|0)==(0); + if (!($20)) { + label = 13; + break; + } + $21 = HEAP32[$8>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($21|0)<($24|0); + if (!($25)) { + label = 13; + break; + } + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = (($27) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$11>>2] = $30; + $31 = HEAP32[$11>>2]|0; + $32 = ((($31)) + 56|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0|0); + L5: do { + if (!($34)) { + $35 = HEAP32[$11>>2]|0; + $36 = ((($35)) + 5|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = ($38|0)!=(0); + if (!($39)) { + $40 = HEAP32[$11>>2]|0; + $41 = ((($40)) + 8|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $12; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + while(1) { + $52 = $12; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$11>>2]|0; + $59 = ((($58)) + 16|0); + $60 = $59; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = ($57|0)<($65|0); + $67 = ($54>>>0)<=($62>>>0); + $68 = ($57|0)==($65|0); + $69 = $68 & $67; + $70 = $66 | $69; + if (!($70)) { + break L5; + } + $71 = HEAP32[$6>>2]|0; + $72 = $12; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (_sqlite3Fts3ReadBlock($71,$74,$77,0,$13,0)|0); + HEAP32[$9>>2] = $78; + $79 = HEAP32[$9>>2]|0; + $80 = ($79|0)!=(0); + if ($80) { + break L5; + } + $81 = HEAP32[$13>>2]|0; + $82 = (($81) + 35)|0; + $83 = HEAP32[$10>>2]|0; + $84 = ($82|0)>($83|0); + if ($84) { + $85 = HEAP32[$13>>2]|0; + $86 = (($85) + 34)|0; + $87 = HEAP32[$10>>2]|0; + $88 = (($86|0) / ($87|0))&-1; + $89 = HEAP32[$7>>2]|0; + $90 = (($89) + ($88))|0; + HEAP32[$7>>2] = $90; + } + $91 = $12; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (($91) + 4)|0; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (_i64Add(($93|0),($96|0),1,0)|0); + $98 = tempRet0; + $99 = $12; + $100 = $99; + HEAP32[$100>>2] = $97; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = $98; + } + } + } + } while(0); + $103 = HEAP32[$8>>2]|0; + $104 = (($103) + 1)|0; + HEAP32[$8>>2] = $104; + } + if ((label|0) == 13) { + $105 = HEAP32[$7>>2]|0; + $106 = HEAP32[$5>>2]|0; + HEAP32[$106>>2] = $105; + $107 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($107|0); + } + return (0)|0; +} +function _fts3TermSegReaderCursor($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$11>>2] = 7; + $15 = (_sqlite3_malloc(56)|0); + HEAP32[$10>>2] = $15; + $16 = HEAP32[$10>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + $104 = HEAP32[$10>>2]|0; + $105 = HEAP32[$9>>2]|0; + HEAP32[$105>>2] = $104; + $106 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($106|0); + } + HEAP32[$13>>2] = 0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$14>>2] = $19; + $20 = HEAP32[$8>>2]|0; + $21 = ($20|0)!=(0); + L4: do { + if ($21) { + HEAP32[$12>>2] = 1; + while(1) { + $22 = HEAP32[$13>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + break; + } + $24 = HEAP32[$12>>2]|0; + $25 = HEAP32[$14>>2]|0; + $26 = ((($25)) + 248|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($24|0)<($27|0); + if (!($28)) { + break; + } + $29 = HEAP32[$14>>2]|0; + $30 = ((($29)) + 252|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$12>>2]|0; + $33 = (($31) + (($32*24)|0)|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = ($34|0)==($35|0); + if ($36) { + HEAP32[$13>>2] = 1; + $37 = HEAP32[$14>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$12>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$10>>2]|0; + $45 = (_sqlite3Fts3SegReaderCursor($37,$40,$41,-2,$42,$43,0,0,$44)|0); + HEAP32[$11>>2] = $45; + $46 = HEAP32[$10>>2]|0; + $47 = ((($46)) + 36|0); + HEAP32[$47>>2] = 1; + } + $48 = HEAP32[$12>>2]|0; + $49 = (($48) + 1)|0; + HEAP32[$12>>2] = $49; + } + HEAP32[$12>>2] = 1; + while(1) { + $50 = HEAP32[$13>>2]|0; + $51 = ($50|0)==(0); + if (!($51)) { + break L4; + } + $52 = HEAP32[$12>>2]|0; + $53 = HEAP32[$14>>2]|0; + $54 = ((($53)) + 248|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($52|0)<($55|0); + if (!($56)) { + break L4; + } + $57 = HEAP32[$14>>2]|0; + $58 = ((($57)) + 252|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$12>>2]|0; + $61 = (($59) + (($60*24)|0)|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$7>>2]|0; + $64 = (($63) + 1)|0; + $65 = ($62|0)==($64|0); + if ($65) { + HEAP32[$13>>2] = 1; + $66 = HEAP32[$14>>2]|0; + $67 = HEAP32[$5>>2]|0; + $68 = ((($67)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$12>>2]|0; + $71 = HEAP32[$6>>2]|0; + $72 = HEAP32[$7>>2]|0; + $73 = HEAP32[$10>>2]|0; + $74 = (_sqlite3Fts3SegReaderCursor($66,$69,$70,-2,$71,$72,1,0,$73)|0); + HEAP32[$11>>2] = $74; + $75 = HEAP32[$11>>2]|0; + $76 = ($75|0)==(0); + if ($76) { + $77 = HEAP32[$14>>2]|0; + $78 = HEAP32[$5>>2]|0; + $79 = ((($78)) + 16|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$6>>2]|0; + $82 = HEAP32[$7>>2]|0; + $83 = HEAP32[$10>>2]|0; + $84 = (_fts3SegReaderCursorAddZero($77,$80,$81,$82,$83)|0); + HEAP32[$11>>2] = $84; + } + } + $85 = HEAP32[$12>>2]|0; + $86 = (($85) + 1)|0; + HEAP32[$12>>2] = $86; + } + } + } while(0); + $87 = HEAP32[$13>>2]|0; + $88 = ($87|0)==(0); + if (!($88)) { + $104 = HEAP32[$10>>2]|0; + $105 = HEAP32[$9>>2]|0; + HEAP32[$105>>2] = $104; + $106 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($106|0); + } + $89 = HEAP32[$14>>2]|0; + $90 = HEAP32[$5>>2]|0; + $91 = ((($90)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$6>>2]|0; + $94 = HEAP32[$7>>2]|0; + $95 = HEAP32[$8>>2]|0; + $96 = HEAP32[$10>>2]|0; + $97 = (_sqlite3Fts3SegReaderCursor($89,$92,0,-2,$93,$94,$95,0,$96)|0); + HEAP32[$11>>2] = $97; + $98 = HEAP32[$8>>2]|0; + $99 = ($98|0)!=(0); + $100 = $99 ^ 1; + $101 = $100&1; + $102 = HEAP32[$10>>2]|0; + $103 = ((($102)) + 36|0); + HEAP32[$103>>2] = $101; + $104 = HEAP32[$10>>2]|0; + $105 = HEAP32[$9>>2]|0; + HEAP32[$105>>2] = $104; + $106 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($106|0); +} +function _fts3SegReaderCursorAddZero($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$7>>2]|0; + $13 = HEAP32[$8>>2]|0; + $14 = HEAP32[$9>>2]|0; + $15 = (_fts3SegReaderCursor($10,$11,0,-2,$12,$13,0,0,$14)|0); + STACKTOP = sp;return ($15|0); +} +function _fts3ExprParseUnbalanced($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $9 = sp + 80|0; + $10 = sp + 76|0; + $11 = sp + 72|0; + $12 = sp + 68|0; + $13 = sp + 64|0; + $14 = sp + 60|0; + $15 = sp + 56|0; + $16 = sp + 52|0; + $17 = sp + 48|0; + $18 = sp + 44|0; + $19 = sp + 40|0; + $20 = sp + 36|0; + $21 = sp; + HEAP32[$10>>2] = $0; + HEAP32[$11>>2] = $1; + HEAP32[$12>>2] = $2; + HEAP32[$13>>2] = $3; + HEAP32[$14>>2] = $4; + HEAP32[$15>>2] = $5; + HEAP32[$16>>2] = $6; + HEAP32[$17>>2] = $7; + HEAP32[$18>>2] = $8; + dest=$21; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $22 = HEAP32[$10>>2]|0; + HEAP32[$21>>2] = $22; + $23 = HEAP32[$11>>2]|0; + $24 = ((($21)) + 4|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$12>>2]|0; + $26 = ((($21)) + 8|0); + HEAP32[$26>>2] = $25; + $27 = HEAP32[$14>>2]|0; + $28 = ((($21)) + 16|0); + HEAP32[$28>>2] = $27; + $29 = HEAP32[$15>>2]|0; + $30 = ((($21)) + 20|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$13>>2]|0; + $32 = ((($21)) + 12|0); + HEAP32[$32>>2] = $31; + $33 = HEAP32[$16>>2]|0; + $34 = ($33|0)==(0|0); + if ($34) { + $35 = HEAP32[$18>>2]|0; + HEAP32[$35>>2] = 0; + HEAP32[$9>>2] = 0; + $50 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($50|0); + } + $36 = HEAP32[$17>>2]|0; + $37 = ($36|0)<(0); + if ($37) { + $38 = HEAP32[$16>>2]|0; + $39 = (_strlen($38)|0); + HEAP32[$17>>2] = $39; + } + $40 = HEAP32[$16>>2]|0; + $41 = HEAP32[$17>>2]|0; + $42 = HEAP32[$18>>2]|0; + $43 = (_fts3ExprParse($21,$40,$41,$42,$19)|0); + HEAP32[$20>>2] = $43; + $44 = HEAP32[$20>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + $46 = ((($21)) + 32|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)!=(0); + if ($48) { + HEAP32[$20>>2] = 1; + } + } + $49 = HEAP32[$20>>2]|0; + HEAP32[$9>>2] = $49; + $50 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($50|0); +} +function _fts3ExprBalance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 52|0; + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$16>>2]|0; + HEAP32[$5>>2] = $17; + HEAP32[$6>>2] = 0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$7>>2] = $19; + $20 = HEAP32[$3>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + HEAP32[$4>>2] = 1; + } + $22 = HEAP32[$4>>2]|0; + $23 = ($22|0)==(0); + do { + if ($23) { + $24 = HEAP32[$7>>2]|0; + $25 = ($24|0)==(3); + $26 = HEAP32[$7>>2]|0; + $27 = ($26|0)==(4); + $or$cond = $25 | $27; + if (!($or$cond)) { + $202 = HEAP32[$7>>2]|0; + $203 = ($202|0)==(2); + if (!($203)) { + break; + } + $204 = HEAP32[$5>>2]|0; + $205 = ((($204)) + 12|0); + $206 = HEAP32[$205>>2]|0; + HEAP32[$14>>2] = $206; + $207 = HEAP32[$5>>2]|0; + $208 = ((($207)) + 16|0); + $209 = HEAP32[$208>>2]|0; + HEAP32[$15>>2] = $209; + $210 = HEAP32[$5>>2]|0; + $211 = ((($210)) + 12|0); + HEAP32[$211>>2] = 0; + $212 = HEAP32[$5>>2]|0; + $213 = ((($212)) + 16|0); + HEAP32[$213>>2] = 0; + $214 = HEAP32[$14>>2]|0; + $215 = ((($214)) + 8|0); + HEAP32[$215>>2] = 0; + $216 = HEAP32[$15>>2]|0; + $217 = ((($216)) + 8|0); + HEAP32[$217>>2] = 0; + $218 = HEAP32[$3>>2]|0; + $219 = (($218) - 1)|0; + $220 = (_fts3ExprBalance($14,$219)|0); + HEAP32[$4>>2] = $220; + $221 = HEAP32[$4>>2]|0; + $222 = ($221|0)==(0); + if ($222) { + $223 = HEAP32[$3>>2]|0; + $224 = (($223) - 1)|0; + $225 = (_fts3ExprBalance($15,$224)|0); + HEAP32[$4>>2] = $225; + } + $226 = HEAP32[$4>>2]|0; + $227 = ($226|0)!=(0); + if ($227) { + $228 = HEAP32[$15>>2]|0; + _sqlite3Fts3ExprFree($228); + $229 = HEAP32[$14>>2]|0; + _sqlite3Fts3ExprFree($229); + break; + } else { + $230 = HEAP32[$14>>2]|0; + $231 = HEAP32[$5>>2]|0; + $232 = ((($231)) + 12|0); + HEAP32[$232>>2] = $230; + $233 = HEAP32[$5>>2]|0; + $234 = HEAP32[$14>>2]|0; + $235 = ((($234)) + 8|0); + HEAP32[$235>>2] = $233; + $236 = HEAP32[$15>>2]|0; + $237 = HEAP32[$5>>2]|0; + $238 = ((($237)) + 16|0); + HEAP32[$238>>2] = $236; + $239 = HEAP32[$5>>2]|0; + $240 = HEAP32[$15>>2]|0; + $241 = ((($240)) + 8|0); + HEAP32[$241>>2] = $239; + break; + } + } + $28 = HEAP32[$3>>2]|0; + $29 = $28<<2; + $30 = (_sqlite3_malloc($29)|0); + HEAP32[$8>>2] = $30; + $31 = HEAP32[$8>>2]|0; + $32 = (0|0)==($31|0); + if ($32) { + HEAP32[$4>>2] = 7; + } else { + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = $34<<2; + _memset(($33|0),0,($35|0))|0; + } + $36 = HEAP32[$4>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $38 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = $38; + while(1) { + $39 = HEAP32[$10>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = ($40|0)==($41|0); + if (!($42)) { + break; + } + $43 = HEAP32[$10>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$10>>2] = $45; + } + while(1) { + $46 = HEAP32[$10>>2]|0; + $47 = ((($46)) + 8|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$12>>2] = $48; + $49 = HEAP32[$10>>2]|0; + $50 = ((($49)) + 8|0); + HEAP32[$50>>2] = 0; + $51 = HEAP32[$12>>2]|0; + $52 = ($51|0)!=(0|0); + if ($52) { + $53 = HEAP32[$12>>2]|0; + $54 = ((($53)) + 12|0); + HEAP32[$54>>2] = 0; + } else { + HEAP32[$5>>2] = 0; + } + $55 = HEAP32[$3>>2]|0; + $56 = (($55) - 1)|0; + $57 = (_fts3ExprBalance($10,$56)|0); + HEAP32[$4>>2] = $57; + $58 = HEAP32[$4>>2]|0; + $59 = ($58|0)!=(0); + if ($59) { + break; + } + HEAP32[$11>>2] = 0; + while(1) { + $60 = HEAP32[$10>>2]|0; + $61 = ($60|0)!=(0|0); + if (!($61)) { + break; + } + $62 = HEAP32[$11>>2]|0; + $63 = HEAP32[$3>>2]|0; + $64 = ($62|0)<($63|0); + if (!($64)) { + break; + } + $65 = HEAP32[$8>>2]|0; + $66 = HEAP32[$11>>2]|0; + $67 = (($65) + ($66<<2)|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)==(0|0); + if ($69) { + $70 = HEAP32[$10>>2]|0; + $71 = HEAP32[$8>>2]|0; + $72 = HEAP32[$11>>2]|0; + $73 = (($71) + ($72<<2)|0); + HEAP32[$73>>2] = $70; + HEAP32[$10>>2] = 0; + } else { + $74 = HEAP32[$8>>2]|0; + $75 = HEAP32[$11>>2]|0; + $76 = (($74) + ($75<<2)|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$6>>2]|0; + $79 = ((($78)) + 12|0); + HEAP32[$79>>2] = $77; + $80 = HEAP32[$10>>2]|0; + $81 = HEAP32[$6>>2]|0; + $82 = ((($81)) + 16|0); + HEAP32[$82>>2] = $80; + $83 = HEAP32[$6>>2]|0; + $84 = HEAP32[$6>>2]|0; + $85 = ((($84)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = ((($86)) + 8|0); + HEAP32[$87>>2] = $83; + $88 = HEAP32[$6>>2]|0; + $89 = HEAP32[$6>>2]|0; + $90 = ((($89)) + 16|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($91)) + 8|0); + HEAP32[$92>>2] = $88; + $93 = HEAP32[$6>>2]|0; + HEAP32[$10>>2] = $93; + $94 = HEAP32[$6>>2]|0; + $95 = ((($94)) + 8|0); + $96 = HEAP32[$95>>2]|0; + HEAP32[$6>>2] = $96; + $97 = HEAP32[$10>>2]|0; + $98 = ((($97)) + 8|0); + HEAP32[$98>>2] = 0; + $99 = HEAP32[$8>>2]|0; + $100 = HEAP32[$11>>2]|0; + $101 = (($99) + ($100<<2)|0); + HEAP32[$101>>2] = 0; + } + $102 = HEAP32[$11>>2]|0; + $103 = (($102) + 1)|0; + HEAP32[$11>>2] = $103; + } + $104 = HEAP32[$10>>2]|0; + $105 = ($104|0)!=(0|0); + if ($105) { + label = 24; + break; + } + $107 = HEAP32[$12>>2]|0; + $108 = ($107|0)==(0|0); + if ($108) { + break; + } + $109 = HEAP32[$12>>2]|0; + $110 = ((($109)) + 16|0); + $111 = HEAP32[$110>>2]|0; + HEAP32[$10>>2] = $111; + while(1) { + $112 = HEAP32[$10>>2]|0; + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$7>>2]|0; + $115 = ($113|0)==($114|0); + if (!($115)) { + break; + } + $116 = HEAP32[$10>>2]|0; + $117 = ((($116)) + 12|0); + $118 = HEAP32[$117>>2]|0; + HEAP32[$10>>2] = $118; + } + $119 = HEAP32[$12>>2]|0; + $120 = ((($119)) + 8|0); + $121 = HEAP32[$120>>2]|0; + $122 = HEAP32[$12>>2]|0; + $123 = ((($122)) + 16|0); + $124 = HEAP32[$123>>2]|0; + $125 = ((($124)) + 8|0); + HEAP32[$125>>2] = $121; + $126 = HEAP32[$12>>2]|0; + $127 = ((($126)) + 8|0); + $128 = HEAP32[$127>>2]|0; + $129 = ($128|0)!=(0|0); + $130 = HEAP32[$12>>2]|0; + $131 = ((($130)) + 16|0); + $132 = HEAP32[$131>>2]|0; + if ($129) { + $133 = HEAP32[$12>>2]|0; + $134 = ((($133)) + 8|0); + $135 = HEAP32[$134>>2]|0; + $136 = ((($135)) + 12|0); + HEAP32[$136>>2] = $132; + } else { + HEAP32[$5>>2] = $132; + } + $137 = HEAP32[$6>>2]|0; + $138 = HEAP32[$12>>2]|0; + $139 = ((($138)) + 8|0); + HEAP32[$139>>2] = $137; + $140 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $140; + } + if ((label|0) == 24) { + $106 = HEAP32[$10>>2]|0; + _sqlite3Fts3ExprFree($106); + HEAP32[$4>>2] = 18; + } + $141 = HEAP32[$4>>2]|0; + $142 = ($141|0)==(0); + L53: do { + if ($142) { + HEAP32[$10>>2] = 0; + HEAP32[$9>>2] = 0; + while(1) { + $143 = HEAP32[$9>>2]|0; + $144 = HEAP32[$3>>2]|0; + $145 = ($143|0)<($144|0); + if (!($145)) { break; } - case 22: case 21: { - $2237 = HEAP32[$pOp>>2]|0; - $2238 = ((($2237)) + 4|0); - $2239 = HEAP32[$2238>>2]|0; - $2240 = HEAP32[$aMem>>2]|0; - $2241 = (($2240) + (($2239*40)|0)|0); - HEAP32[$pIn1>>2] = $2241; - $2242 = HEAP32[$pIn1>>2]|0; - $2243 = ((($2242)) + 8|0); - $2244 = HEAP16[$2243>>1]|0; - $2245 = $2244&65535; - $2246 = $2245 & 1; - $2247 = ($2246|0)!=(0); - if ($2247) { - $2248 = HEAP32[$pOp>>2]|0; - $2249 = ((($2248)) + 12|0); - $2250 = HEAP32[$2249>>2]|0; - HEAP32[$c>>2] = $2250; + $146 = HEAP32[$8>>2]|0; + $147 = HEAP32[$9>>2]|0; + $148 = (($146) + ($147<<2)|0); + $149 = HEAP32[$148>>2]|0; + $150 = ($149|0)!=(0|0); + if ($150) { + $151 = HEAP32[$10>>2]|0; + $152 = ($151|0)==(0|0); + if ($152) { + $153 = HEAP32[$8>>2]|0; + $154 = HEAP32[$9>>2]|0; + $155 = (($153) + ($154<<2)|0); + $156 = HEAP32[$155>>2]|0; + HEAP32[$10>>2] = $156; + $157 = HEAP32[$10>>2]|0; + $$sink2 = $157; } else { - $2251 = HEAP32[$pIn1>>2]|0; - $2252 = (+_sqlite3VdbeRealValue($2251)); - $2253 = $2252 != 0.0; - $2254 = $2253&1; - HEAP32[$c>>2] = $2254; - $2255 = HEAP32[$pOp>>2]|0; - $2256 = HEAP8[$2255>>0]|0; - $2257 = $2256&255; - $2258 = ($2257|0)==(22); - if ($2258) { - $2259 = HEAP32[$c>>2]|0; - $2260 = ($2259|0)!=(0); - $2261 = $2260 ^ 1; - $2262 = $2261&1; - HEAP32[$c>>2] = $2262; - } - } - $2263 = HEAP32[$c>>2]|0; - $2264 = ($2263|0)!=(0); - if ($2264) { - label = 14; + $158 = HEAP32[$10>>2]|0; + $159 = HEAP32[$6>>2]|0; + $160 = ((($159)) + 16|0); + HEAP32[$160>>2] = $158; + $161 = HEAP32[$8>>2]|0; + $162 = HEAP32[$9>>2]|0; + $163 = (($161) + ($162<<2)|0); + $164 = HEAP32[$163>>2]|0; + $165 = HEAP32[$6>>2]|0; + $166 = ((($165)) + 12|0); + HEAP32[$166>>2] = $164; + $167 = HEAP32[$6>>2]|0; + $168 = HEAP32[$6>>2]|0; + $169 = ((($168)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = ((($170)) + 8|0); + HEAP32[$171>>2] = $167; + $172 = HEAP32[$6>>2]|0; + $173 = HEAP32[$6>>2]|0; + $174 = ((($173)) + 16|0); + $175 = HEAP32[$174>>2]|0; + $176 = ((($175)) + 8|0); + HEAP32[$176>>2] = $172; + $177 = HEAP32[$6>>2]|0; + HEAP32[$10>>2] = $177; + $178 = HEAP32[$6>>2]|0; + $179 = ((($178)) + 8|0); + $180 = HEAP32[$179>>2]|0; + HEAP32[$6>>2] = $180; + $181 = HEAP32[$10>>2]|0; + $$sink2 = $181; } - break; + $182 = ((($$sink2)) + 8|0); + HEAP32[$182>>2] = 0; } - case 34: { - $2265 = HEAP32[$pOp>>2]|0; - $2266 = ((($2265)) + 4|0); - $2267 = HEAP32[$2266>>2]|0; - $2268 = HEAP32[$aMem>>2]|0; - $2269 = (($2268) + (($2267*40)|0)|0); - HEAP32[$pIn1>>2] = $2269; - $2270 = HEAP32[$pIn1>>2]|0; - $2271 = ((($2270)) + 8|0); - $2272 = HEAP16[$2271>>1]|0; - $2273 = $2272&65535; - $2274 = $2273 & 1; - $2275 = ($2274|0)!=(0); - if ($2275) { - label = 14; - } + $183 = HEAP32[$9>>2]|0; + $184 = (($183) + 1)|0; + HEAP32[$9>>2] = $184; + } + $185 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $185; + } else { + HEAP32[$9>>2] = 0; + while(1) { + $186 = HEAP32[$9>>2]|0; + $187 = HEAP32[$3>>2]|0; + $188 = ($186|0)<($187|0); + if (!($188)) { break; } - case 35: { - $2276 = HEAP32[$pOp>>2]|0; - $2277 = ((($2276)) + 4|0); - $2278 = HEAP32[$2277>>2]|0; - $2279 = HEAP32[$aMem>>2]|0; - $2280 = (($2279) + (($2278*40)|0)|0); - HEAP32[$pIn1>>2] = $2280; - $2281 = HEAP32[$pIn1>>2]|0; - $2282 = ((($2281)) + 8|0); - $2283 = HEAP16[$2282>>1]|0; - $2284 = $2283&65535; - $2285 = $2284 & 1; - $2286 = ($2285|0)==(0); - if ($2286) { - label = 14; - } - break; + $189 = HEAP32[$8>>2]|0; + $190 = HEAP32[$9>>2]|0; + $191 = (($189) + ($190<<2)|0); + $192 = HEAP32[$191>>2]|0; + _sqlite3Fts3ExprFree($192); + $193 = HEAP32[$9>>2]|0; + $194 = (($193) + 1)|0; + HEAP32[$9>>2] = $194; + } + while(1) { + $195 = HEAP32[$6>>2]|0; + HEAP32[$13>>2] = $195; + $196 = ($195|0)!=(0|0); + if (!($196)) { + break L53; } - case 96: { - $2287 = HEAP32[$pOp>>2]|0; - $2288 = ((($2287)) + 4|0); - $2289 = HEAP32[$2288>>2]|0; - $2290 = HEAP32[$0>>2]|0; - $2291 = ((($2290)) + 112|0); - $2292 = HEAP32[$2291>>2]|0; - $2293 = (($2292) + ($2289<<2)|0); - $2294 = HEAP32[$2293>>2]|0; - HEAP32[$pC>>2] = $2294; - $2295 = HEAP32[$pOp>>2]|0; - $2296 = ((($2295)) + 8|0); - $2297 = HEAP32[$2296>>2]|0; - HEAP32[$p211>>2] = $2297; - $2298 = (_sqlite3VdbeCursorMoveto($pC,$p211)|0); - HEAP32[$rc>>2] = $2298; - $2299 = HEAP32[$rc>>2]|0; - $2300 = ($2299|0)!=(0); - if ($2300) { - break L1; - } - $2301 = HEAP32[$pOp>>2]|0; - $2302 = ((($2301)) + 12|0); - $2303 = HEAP32[$2302>>2]|0; - $2304 = HEAP32[$aMem>>2]|0; - $2305 = (($2304) + (($2303*40)|0)|0); - HEAP32[$pDest>>2] = $2305; - $2306 = HEAP32[$pC>>2]|0; - $2307 = ((($2306)) + 76|0); - $2308 = HEAP32[$2307>>2]|0; - HEAP32[$aOffset>>2] = $2308; - $2309 = HEAP32[$pC>>2]|0; - $2310 = ((($2309)) + 16|0); - $2311 = HEAP32[$2310>>2]|0; - HEAP32[$pCrsr>>2] = $2311; - $2312 = HEAP32[$pC>>2]|0; - $2313 = ((($2312)) + 56|0); - $2314 = HEAP32[$2313>>2]|0; - $2315 = HEAP32[$0>>2]|0; - $2316 = ((($2315)) + 32|0); - $2317 = HEAP32[$2316>>2]|0; - $2318 = ($2314|0)!=($2317|0); - do { - if ($2318) { - $2319 = HEAP32[$pC>>2]|0; - $2320 = ((($2319)) + 2|0); - $2321 = HEAP8[$2320>>0]|0; - $2322 = ($2321<<24>>24)!=(0); - do { - if ($2322) { - $2323 = HEAP32[$pC>>2]|0; - $2324 = HEAP8[$2323>>0]|0; - $2325 = $2324&255; - $2326 = ($2325|0)==(3); - if ($2326) { - $2327 = HEAP32[$pC>>2]|0; - $2328 = ((($2327)) + 16|0); - $2329 = HEAP32[$2328>>2]|0; - $2330 = HEAP32[$aMem>>2]|0; - $2331 = (($2330) + (($2329*40)|0)|0); - HEAP32[$pReg>>2] = $2331; - $2332 = HEAP32[$pReg>>2]|0; - $2333 = ((($2332)) + 12|0); - $2334 = HEAP32[$2333>>2]|0; - HEAP32[$avail>>2] = $2334; - $2335 = HEAP32[$pC>>2]|0; - $2336 = ((($2335)) + 64|0); - HEAP32[$2336>>2] = $2334; - $2337 = HEAP32[$pC>>2]|0; - $2338 = ((($2337)) + 60|0); - HEAP32[$2338>>2] = $2334; - $2339 = HEAP32[$pReg>>2]|0; - $2340 = ((($2339)) + 16|0); - $2341 = HEAP32[$2340>>2]|0; - $2342 = HEAP32[$pC>>2]|0; - $2343 = ((($2342)) + 72|0); - HEAP32[$2343>>2] = $2341; - break; - } else { - $2344 = HEAP32[$pDest>>2]|0; - _sqlite3VdbeMemSetNull($2344); - break L10; - } - } else { - $2345 = HEAP32[$pCrsr>>2]|0; - $2346 = (_sqlite3BtreePayloadSize($2345)|0); - $2347 = HEAP32[$pC>>2]|0; - $2348 = ((($2347)) + 60|0); - HEAP32[$2348>>2] = $2346; - $2349 = HEAP32[$pCrsr>>2]|0; - $2350 = (_sqlite3BtreePayloadFetch($2349,$avail)|0); - $2351 = HEAP32[$pC>>2]|0; - $2352 = ((($2351)) + 72|0); - HEAP32[$2352>>2] = $2350; - $2353 = HEAP32[$pC>>2]|0; - $2354 = ((($2353)) + 60|0); - $2355 = HEAP32[$2354>>2]|0; - $2356 = HEAP32[$avail>>2]|0; - $2357 = ($2355>>>0)<=($2356>>>0); - $2358 = HEAP32[$pC>>2]|0; - $2359 = ((($2358)) + 60|0); - $2360 = HEAP32[$2359>>2]|0; - if ($2357) { - $2361 = HEAP32[$pC>>2]|0; - $2362 = ((($2361)) + 64|0); - HEAP32[$2362>>2] = $2360; - break; - } - $2363 = HEAP32[$db>>2]|0; - $2364 = ((($2363)) + 96|0); - $2365 = HEAP32[$2364>>2]|0; - $2366 = ($2360>>>0)>($2365>>>0); - if ($2366) { - label = 888; - break L8; - } - $2367 = HEAP32[$avail>>2]|0; - $2368 = HEAP32[$pC>>2]|0; - $2369 = ((($2368)) + 64|0); - HEAP32[$2369>>2] = $2367; - } - } while(0); - $2370 = HEAP32[$0>>2]|0; - $2371 = ((($2370)) + 32|0); - $2372 = HEAP32[$2371>>2]|0; - $2373 = HEAP32[$pC>>2]|0; - $2374 = ((($2373)) + 56|0); - HEAP32[$2374>>2] = $2372; - $2375 = HEAP32[$pC>>2]|0; - $2376 = ((($2375)) + 72|0); - $2377 = HEAP32[$2376>>2]|0; - $2378 = HEAP8[$2377>>0]|0; - $2379 = $2378&255; - $2380 = ($2379|0)<(128); - $2381 = HEAP32[$pC>>2]|0; - $2382 = ((($2381)) + 72|0); - $2383 = HEAP32[$2382>>2]|0; - if ($2380) { - $2384 = HEAP8[$2383>>0]|0; - $2385 = $2384&255; - HEAP32[$offset>>2] = $2385; - $2389 = 1; - } else { - $2386 = (_sqlite3GetVarint32($2383,$offset)|0); - $2387 = $2386&255; - $2389 = $2387; - } - $2388 = $2389&255; - $2390 = $2388&255; - $2391 = HEAP32[$pC>>2]|0; - $2392 = ((($2391)) + 68|0); - HEAP32[$2392>>2] = $2390; - $2393 = HEAP32[$pC>>2]|0; - $2394 = ((($2393)) + 14|0); - HEAP16[$2394>>1] = 0; - $2395 = HEAP32[$offset>>2]|0; - $2396 = HEAP32[$aOffset>>2]|0; - HEAP32[$2396>>2] = $2395; - $2397 = HEAP32[$avail>>2]|0; - $2398 = HEAP32[$offset>>2]|0; - $2399 = ($2397>>>0)<($2398>>>0); - if ($2399) { - $2400 = HEAP32[$pC>>2]|0; - $2401 = ((($2400)) + 72|0); - HEAP32[$2401>>2] = 0; - $2402 = HEAP32[$pC>>2]|0; - $2403 = ((($2402)) + 64|0); - HEAP32[$2403>>2] = 0; - $2404 = HEAP32[$offset>>2]|0; - $2405 = ($2404>>>0)>(98307); - if ($2405) { - label = 267; - break L8; - } - $2406 = HEAP32[$offset>>2]|0; - $2407 = HEAP32[$pC>>2]|0; - $2408 = ((($2407)) + 60|0); - $2409 = HEAP32[$2408>>2]|0; - $2410 = ($2406>>>0)>($2409>>>0); - if ($2410) { - label = 267; - break L8; - } else { - label = 270; - break; - } - } else { - $2412 = HEAP32[$offset>>2]|0; - $2413 = ($2412>>>0)>(0); - if (!($2413)) { - label = 270; - break; + $197 = HEAP32[$13>>2]|0; + $198 = ((($197)) + 8|0); + $199 = HEAP32[$198>>2]|0; + HEAP32[$6>>2] = $199; + $200 = HEAP32[$13>>2]|0; + _sqlite3_free($200); + } + } + } while(0); + $201 = HEAP32[$8>>2]|0; + _sqlite3_free($201); + } + } + } while(0); + $242 = HEAP32[$4>>2]|0; + $243 = ($242|0)!=(0); + if (!($243)) { + $245 = HEAP32[$5>>2]|0; + $246 = HEAP32[$2>>2]|0; + HEAP32[$246>>2] = $245; + $247 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($247|0); + } + $244 = HEAP32[$5>>2]|0; + _sqlite3Fts3ExprFree($244); + HEAP32[$5>>2] = 0; + $245 = HEAP32[$5>>2]|0; + $246 = HEAP32[$2>>2]|0; + HEAP32[$246>>2] = $245; + $247 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($247|0); +} +function _fts3ExprCheckDepth($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + do { + if ($6) { + $7 = HEAP32[$3>>2]|0; + $8 = ($7|0)<(0); + if ($8) { + HEAP32[$4>>2] = 18; + break; + } + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (($12) - 1)|0; + $14 = (_fts3ExprCheckDepth($11,$13)|0); + HEAP32[$4>>2] = $14; + $15 = HEAP32[$4>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = (($20) - 1)|0; + $22 = (_fts3ExprCheckDepth($19,$21)|0); + HEAP32[$4>>2] = $22; + } + } + } while(0); + $23 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($23|0); +} +function _fts3ExprParse($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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 = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond5 = 0; + var $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $5 = sp + 64|0; + $6 = sp + 60|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp + 36|0; + $13 = sp + 32|0; + $14 = sp + 28|0; + $15 = sp + 24|0; + $16 = sp + 20|0; + $17 = sp + 16|0; + $18 = sp + 12|0; + $19 = sp + 8|0; + $20 = sp + 4|0; + $21 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = 0; + $22 = HEAP32[$7>>2]|0; + HEAP32[$13>>2] = $22; + $23 = HEAP32[$6>>2]|0; + HEAP32[$14>>2] = $23; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 1; + while(1) { + $24 = HEAP32[$15>>2]|0; + $25 = ($24|0)==(0); + if (!($25)) { + label = 25; + break; + } + HEAP32[$17>>2] = 0; + HEAP32[$18>>2] = 0; + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$14>>2]|0; + $28 = HEAP32[$13>>2]|0; + $29 = (_getNextNode($26,$27,$28,$17,$18)|0); + HEAP32[$15>>2] = $29; + $30 = HEAP32[$15>>2]|0; + $31 = ($30|0)==(0); + $32 = HEAP32[$17>>2]|0; + $33 = ($32|0)!=(0|0); + $or$cond13 = $31 & $33; + if ($or$cond13) { + $34 = HEAP32[$17>>2]|0; + $35 = HEAP32[$34>>2]|0; + HEAP32[$20>>2] = $35; + $36 = HEAP32[$20>>2]|0; + $37 = ($36|0)==(5); + if ($37) { + $43 = 1; + } else { + $38 = HEAP32[$17>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)!=(0|0); + $43 = $41; + } + $42 = $43&1; + HEAP32[$19>>2] = $42; + $44 = HEAP32[$19>>2]|0; + $45 = ($44|0)==(0); + $46 = HEAP32[$16>>2]|0; + $47 = ($46|0)!=(0); + $or$cond = $45 & $47; + if ($or$cond) { + label = 7; + break; + } + $49 = HEAP32[$19>>2]|0; + $50 = ($49|0)==(0); + $51 = HEAP32[$16>>2]|0; + $52 = ($51|0)!=(0); + $or$cond3 = $50 | $52; + if (!($or$cond3)) { + $53 = (_fts3MallocZero(48)|0); + HEAP32[$21>>2] = $53; + $54 = HEAP32[$21>>2]|0; + $55 = ($54|0)!=(0|0); + if (!($55)) { + label = 10; + break; + } + $57 = HEAP32[$21>>2]|0; + HEAP32[$57>>2] = 3; + $58 = HEAP32[$11>>2]|0; + $59 = HEAP32[$21>>2]|0; + _insertBinaryOperator($10,$58,$59); + $60 = HEAP32[$21>>2]|0; + HEAP32[$11>>2] = $60; + } + $61 = HEAP32[$11>>2]|0; + $62 = ($61|0)!=(0|0); + if ($62) { + $63 = HEAP32[$20>>2]|0; + $64 = ($63|0)!=(1); + $65 = HEAP32[$19>>2]|0; + $66 = ($65|0)!=(0); + $or$cond5 = $64 | $66; + if (!($or$cond5)) { + $67 = HEAP32[$11>>2]|0; + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)!=(5); + if ($69) { + label = 17; + break; + } + } + $70 = HEAP32[$20>>2]|0; + $71 = ($70|0)!=(5); + $72 = HEAP32[$19>>2]|0; + $73 = ($72|0)!=(0); + $or$cond7 = $71 & $73; + if ($or$cond7) { + $74 = HEAP32[$11>>2]|0; + $75 = HEAP32[$74>>2]|0; + $76 = ($75|0)==(1); + if ($76) { + label = 17; + break; + } + } + } + $78 = HEAP32[$19>>2]|0; + $79 = ($78|0)!=(0); + do { + if ($79) { + $80 = HEAP32[$10>>2]|0; + $81 = ($80|0)!=(0|0); + $82 = HEAP32[$17>>2]|0; + if ($81) { + $83 = HEAP32[$11>>2]|0; + $84 = ((($83)) + 16|0); + HEAP32[$84>>2] = $82; + $85 = HEAP32[$11>>2]|0; + $86 = HEAP32[$17>>2]|0; + $87 = ((($86)) + 8|0); + HEAP32[$87>>2] = $85; + break; + } else { + HEAP32[$10>>2] = $82; + break; + } + } else { + $88 = HEAP32[$11>>2]|0; + $89 = HEAP32[$17>>2]|0; + _insertBinaryOperator($10,$88,$89); + } + } while(0); + $90 = HEAP32[$19>>2]|0; + $91 = ($90|0)!=(0); + $92 = $91 ^ 1; + $93 = $92&1; + HEAP32[$16>>2] = $93; + $94 = HEAP32[$17>>2]|0; + HEAP32[$11>>2] = $94; + } + $95 = HEAP32[$18>>2]|0; + $96 = HEAP32[$13>>2]|0; + $97 = (($96) - ($95))|0; + HEAP32[$13>>2] = $97; + $98 = HEAP32[$18>>2]|0; + $99 = HEAP32[$14>>2]|0; + $100 = (($99) + ($98)|0); + HEAP32[$14>>2] = $100; + } + if ((label|0) == 7) { + $48 = HEAP32[$17>>2]|0; + _sqlite3Fts3ExprFree($48); + HEAP32[$15>>2] = 1; + } + else if ((label|0) == 10) { + $56 = HEAP32[$17>>2]|0; + _sqlite3Fts3ExprFree($56); + HEAP32[$15>>2] = 7; + } + else if ((label|0) == 17) { + $77 = HEAP32[$17>>2]|0; + _sqlite3Fts3ExprFree($77); + HEAP32[$15>>2] = 1; + } + else if ((label|0) == 25) { + $101 = HEAP32[$15>>2]|0; + $102 = ($101|0)==(101); + $103 = HEAP32[$10>>2]|0; + $104 = ($103|0)!=(0|0); + $or$cond9 = $102 & $104; + $105 = HEAP32[$16>>2]|0; + $106 = ($105|0)!=(0); + $or$cond11 = $or$cond9 & $106; + if ($or$cond11) { + HEAP32[$15>>2] = 1; + } + $107 = HEAP32[$15>>2]|0; + $108 = ($107|0)==(101); + if ($108) { + HEAP32[$15>>2] = 0; + } + $109 = HEAP32[$7>>2]|0; + $110 = HEAP32[$13>>2]|0; + $111 = (($109) - ($110))|0; + $112 = HEAP32[$9>>2]|0; + HEAP32[$112>>2] = $111; + } + $113 = HEAP32[$15>>2]|0; + $114 = ($113|0)!=(0); + if (!($114)) { + $117 = HEAP32[$10>>2]|0; + $118 = HEAP32[$8>>2]|0; + HEAP32[$118>>2] = $117; + $119 = HEAP32[$15>>2]|0; + STACKTOP = sp;return ($119|0); + } + $115 = HEAP32[$10>>2]|0; + _sqlite3Fts3ExprFree($115); + $116 = HEAP32[$12>>2]|0; + _sqlite3Fts3ExprFree($116); + HEAP32[$10>>2] = 0; + $117 = HEAP32[$10>>2]|0; + $118 = HEAP32[$8>>2]|0; + HEAP32[$118>>2] = $117; + $119 = HEAP32[$15>>2]|0; + STACKTOP = sp;return ($119|0); +} +function _getNextNode($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $5 = sp + 72|0; + $6 = sp + 68|0; + $7 = sp + 64|0; + $8 = sp + 60|0; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 24|0; + $18 = sp + 20|0; + $19 = sp + 16|0; + $20 = sp + 12|0; + $21 = sp + 76|0; + $22 = sp + 8|0; + $23 = sp + 4|0; + $24 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$15>>2] = 0; + $25 = HEAP32[$7>>2]|0; + HEAP32[$16>>2] = $25; + $26 = HEAP32[$8>>2]|0; + HEAP32[$17>>2] = $26; + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 24|0); + HEAP32[$28>>2] = 0; + while(1) { + $29 = HEAP32[$17>>2]|0; + $30 = ($29|0)>(0); + if ($30) { + $31 = HEAP32[$16>>2]|0; + $32 = HEAP8[$31>>0]|0; + $33 = (_fts3isspace($32)|0); + $34 = ($33|0)!=(0); + $291 = $34; + } else { + $291 = 0; + } + $35 = HEAP32[$17>>2]|0; + if (!($291)) { + break; + } + $36 = (($35) + -1)|0; + HEAP32[$17>>2] = $36; + $37 = HEAP32[$16>>2]|0; + $38 = ((($37)) + 1|0); + HEAP32[$16>>2] = $38; + } + $39 = ($35|0)==(0); + if ($39) { + HEAP32[$5>>2] = 101; + $290 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($290|0); + } + HEAP32[$11>>2] = 0; + while(1) { + $40 = HEAP32[$11>>2]|0; + $41 = ($40|0)<(4); + if (!($41)) { + break; + } + $42 = HEAP32[$11>>2]|0; + $43 = (6668 + ($42<<3)|0); + HEAP32[$18>>2] = $43; + $44 = HEAP32[$18>>2]|0; + $45 = ((($44)) + 5|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = $47 & -2; + $49 = ($48|0)!=(0); + if (!($49)) { + $50 = HEAP32[$17>>2]|0; + $51 = HEAP32[$18>>2]|0; + $52 = ((($51)) + 4|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = ($50|0)>=($54|0); + if ($55) { + $56 = HEAP32[$16>>2]|0; + $57 = HEAP32[$18>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$18>>2]|0; + $60 = ((($59)) + 4|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = (_memcmp($56,$58,$62)|0); + $64 = (0)==($63|0); + if ($64) { + HEAP32[$19>>2] = 10; + $65 = HEAP32[$18>>2]|0; + $66 = ((($65)) + 4|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + HEAP32[$20>>2] = $68; + $69 = HEAP32[$18>>2]|0; + $70 = ((($69)) + 6|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = ($72|0)==(1); + L19: do { + if ($73) { + $74 = HEAP32[$16>>2]|0; + $75 = ((($74)) + 4|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76 << 24 >> 24; + $78 = ($77|0)==(47); + if ($78) { + $79 = HEAP32[$16>>2]|0; + $80 = ((($79)) + 5|0); + $81 = HEAP8[$80>>0]|0; + $82 = $81 << 24 >> 24; + $83 = ($82|0)>=(48); + if ($83) { + $84 = HEAP32[$16>>2]|0; + $85 = ((($84)) + 5|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86 << 24 >> 24; + $88 = ($87|0)<=(57); + if ($88) { + HEAP32[$19>>2] = 0; + HEAP32[$20>>2] = 5; + while(1) { + $89 = HEAP32[$16>>2]|0; + $90 = HEAP32[$20>>2]|0; + $91 = (($89) + ($90)|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92 << 24 >> 24; + $94 = ($93|0)>=(48); + if (!($94)) { + break L19; } - $2414 = HEAP32[$pC>>2]|0; - $2415 = ((($2414)) + 72|0); - $2416 = HEAP32[$2415>>2]|0; - HEAP32[$zData>>2] = $2416; - label = 276; - break; - } - } else { - label = 270; - } - } while(0); - do { - if ((label|0) == 270) { - label = 0; - $2417 = HEAP32[$pC>>2]|0; - $2418 = ((($2417)) + 14|0); - $2419 = HEAP16[$2418>>1]|0; - $2420 = $2419&65535; - $2421 = HEAP32[$p211>>2]|0; - $2422 = ($2420|0)<=($2421|0); - if (!($2422)) { - $2599 = HEAP32[$p211>>2]|0; - $2600 = HEAP32[$pC>>2]|0; - $2601 = ((($2600)) + 80|0); - $2602 = (($2601) + ($2599<<2)|0); - $2603 = HEAP32[$2602>>2]|0; - HEAP32[$t>>2] = $2603; - break; - } - $2423 = HEAP32[$pC>>2]|0; - $2424 = ((($2423)) + 68|0); - $2425 = HEAP32[$2424>>2]|0; - $2426 = HEAP32[$aOffset>>2]|0; - $2427 = HEAP32[$2426>>2]|0; - $2428 = ($2425>>>0)<($2427>>>0); - if (!($2428)) { - HEAP32[$t>>2] = 0; - label = 292; - break; - } - $2429 = HEAP32[$pC>>2]|0; - $2430 = ((($2429)) + 72|0); - $2431 = HEAP32[$2430>>2]|0; - $2432 = ($2431|0)==(0|0); - if (!($2432)) { - $2447 = HEAP32[$pC>>2]|0; - $2448 = ((($2447)) + 72|0); - $2449 = HEAP32[$2448>>2]|0; - HEAP32[$zData>>2] = $2449; - label = 276; - break; - } - dest=$sMem; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $2433 = HEAP32[$pCrsr>>2]|0; - $2434 = HEAP32[$aOffset>>2]|0; - $2435 = HEAP32[$2434>>2]|0; - $2436 = HEAP32[$pC>>2]|0; - $2437 = ((($2436)) + 4|0); - $2438 = HEAP8[$2437>>0]|0; - $2439 = ($2438<<24>>24)!=(0); - $2440 = $2439 ^ 1; - $2441 = $2440&1; - $2442 = (_sqlite3VdbeMemFromBtree($2433,0,$2435,$2441,$sMem)|0); - HEAP32[$rc>>2] = $2442; - $2443 = HEAP32[$rc>>2]|0; - $2444 = ($2443|0)!=(0); - if ($2444) { - break L1; - } - $2445 = ((($sMem)) + 16|0); - $2446 = HEAP32[$2445>>2]|0; - HEAP32[$zData>>2] = $2446; - label = 276; - } - } while(0); - if ((label|0) == 276) { - label = 0; - $2450 = HEAP32[$pC>>2]|0; - $2451 = ((($2450)) + 14|0); - $2452 = HEAP16[$2451>>1]|0; - $2453 = $2452&65535; - HEAP32[$i12>>2] = $2453; - $2454 = HEAP32[$i12>>2]|0; - $2455 = HEAP32[$aOffset>>2]|0; - $2456 = (($2455) + ($2454<<2)|0); - $2457 = HEAP32[$2456>>2]|0; - $2458 = $offset64; - $2459 = $2458; - HEAP32[$2459>>2] = $2457; - $2460 = (($2458) + 4)|0; - $2461 = $2460; - HEAP32[$2461>>2] = 0; - $2462 = HEAP32[$zData>>2]|0; - $2463 = HEAP32[$pC>>2]|0; - $2464 = ((($2463)) + 68|0); - $2465 = HEAP32[$2464>>2]|0; - $2466 = (($2462) + ($2465)|0); - HEAP32[$zHdr>>2] = $2466; - $2467 = HEAP32[$zData>>2]|0; - $2468 = HEAP32[$aOffset>>2]|0; - $2469 = HEAP32[$2468>>2]|0; - $2470 = (($2467) + ($2469)|0); - HEAP32[$zEndHdr>>2] = $2470; - while(1) { - $2471 = HEAP32[$zHdr>>2]|0; - $2472 = HEAP8[$2471>>0]|0; - $2473 = $2472&255; - HEAP32[$t>>2] = $2473; - $2474 = ($2473>>>0)<(128); - $2475 = HEAP32[$zHdr>>2]|0; - if ($2474) { - $2476 = ((($2475)) + 1|0); - HEAP32[$zHdr>>2] = $2476; - $2477 = HEAP32[$t>>2]|0; - $2478 = $2477&255; - $2479 = (_sqlite3VdbeOneByteSerialTypeLen($2478)|0); - $2480 = $2479&255; - $2481 = $offset64; - $2482 = $2481; - $2483 = HEAP32[$2482>>2]|0; - $2484 = (($2481) + 4)|0; - $2485 = $2484; - $2486 = HEAP32[$2485>>2]|0; - $2487 = (_i64Add(($2483|0),($2486|0),($2480|0),0)|0); - $2488 = tempRet0; - $2489 = $offset64; - $2490 = $2489; - HEAP32[$2490>>2] = $2487; - $2491 = (($2489) + 4)|0; - $2492 = $2491; - HEAP32[$2492>>2] = $2488; - } else { - $2493 = (_sqlite3GetVarint32($2475,$t)|0); - $2494 = $2493&255; - $2495 = HEAP32[$zHdr>>2]|0; - $2496 = (($2495) + ($2494)|0); - HEAP32[$zHdr>>2] = $2496; - $2497 = HEAP32[$t>>2]|0; - $2498 = (_sqlite3VdbeSerialTypeLen($2497)|0); - $2499 = $offset64; - $2500 = $2499; - $2501 = HEAP32[$2500>>2]|0; - $2502 = (($2499) + 4)|0; - $2503 = $2502; - $2504 = HEAP32[$2503>>2]|0; - $2505 = (_i64Add(($2501|0),($2504|0),($2498|0),0)|0); - $2506 = tempRet0; - $2507 = $offset64; - $2508 = $2507; - HEAP32[$2508>>2] = $2505; - $2509 = (($2507) + 4)|0; - $2510 = $2509; - HEAP32[$2510>>2] = $2506; - } - $2511 = HEAP32[$t>>2]|0; - $2512 = HEAP32[$i12>>2]|0; - $2513 = (($2512) + 1)|0; - HEAP32[$i12>>2] = $2513; - $2514 = HEAP32[$pC>>2]|0; - $2515 = ((($2514)) + 80|0); - $2516 = (($2515) + ($2512<<2)|0); - HEAP32[$2516>>2] = $2511; - $2517 = $offset64; - $2518 = $2517; - $2519 = HEAP32[$2518>>2]|0; - $2520 = (($2517) + 4)|0; - $2521 = $2520; - $2522 = HEAP32[$2521>>2]|0; - $2523 = HEAP32[$i12>>2]|0; - $2524 = HEAP32[$aOffset>>2]|0; - $2525 = (($2524) + ($2523<<2)|0); - HEAP32[$2525>>2] = $2519; - $2526 = HEAP32[$i12>>2]|0; - $2527 = HEAP32[$p211>>2]|0; - $2528 = ($2526|0)<=($2527|0); - if (!($2528)) { - break; - } - $2529 = HEAP32[$zHdr>>2]|0; - $2530 = HEAP32[$zEndHdr>>2]|0; - $2531 = ($2529>>>0)<($2530>>>0); - if (!($2531)) { - break; - } - } - $2532 = HEAP32[$zHdr>>2]|0; - $2533 = HEAP32[$zEndHdr>>2]|0; - $2534 = ($2532>>>0)>=($2533>>>0); - if ($2534) { - $2535 = HEAP32[$zHdr>>2]|0; - $2536 = HEAP32[$zEndHdr>>2]|0; - $2537 = ($2535>>>0)>($2536>>>0); - if ($2537) { - label = 286; - break L8; - } - $2538 = $offset64; - $2539 = $2538; - $2540 = HEAP32[$2539>>2]|0; - $2541 = (($2538) + 4)|0; - $2542 = $2541; - $2543 = HEAP32[$2542>>2]|0; - $2544 = HEAP32[$pC>>2]|0; - $2545 = ((($2544)) + 60|0); - $2546 = HEAP32[$2545>>2]|0; - $2547 = ($2540|0)!=($2546|0); - $2548 = ($2543|0)!=(0); - $2549 = $2547 | $2548; - if ($2549) { - label = 286; - break L8; - } - } - $2550 = $offset64; - $2551 = $2550; - $2552 = HEAP32[$2551>>2]|0; - $2553 = (($2550) + 4)|0; - $2554 = $2553; - $2555 = HEAP32[$2554>>2]|0; - $2556 = HEAP32[$pC>>2]|0; - $2557 = ((($2556)) + 60|0); - $2558 = HEAP32[$2557>>2]|0; - $2559 = ($2555>>>0)>(0); - $2560 = ($2552>>>0)>($2558>>>0); - $2561 = ($2555|0)==(0); - $2562 = $2561 & $2560; - $2563 = $2559 | $2562; - if ($2563) { - label = 286; - break L8; - } - $2569 = HEAP32[$i12>>2]|0; - $2570 = $2569&65535; - $2571 = HEAP32[$pC>>2]|0; - $2572 = ((($2571)) + 14|0); - HEAP16[$2572>>1] = $2570; - $2573 = HEAP32[$zHdr>>2]|0; - $2574 = HEAP32[$zData>>2]|0; - $2575 = $2573; - $2576 = $2574; - $2577 = (($2575) - ($2576))|0; - $2578 = HEAP32[$pC>>2]|0; - $2579 = ((($2578)) + 68|0); - HEAP32[$2579>>2] = $2577; - $2580 = HEAP32[$pC>>2]|0; - $2581 = ((($2580)) + 72|0); - $2582 = HEAP32[$2581>>2]|0; - $2583 = ($2582|0)==(0|0); - if ($2583) { - _sqlite3VdbeMemRelease($sMem); - label = 292; - } else { - label = 292; - } - } - if ((label|0) == 292) { - label = 0; - $2584 = HEAP32[$pC>>2]|0; - $2585 = ((($2584)) + 14|0); - $2586 = HEAP16[$2585>>1]|0; - $2587 = $2586&65535; - $2588 = HEAP32[$p211>>2]|0; - $2589 = ($2587|0)<=($2588|0); - if ($2589) { - $2590 = HEAP32[$pOp>>2]|0; - $2591 = ((($2590)) + 1|0); - $2592 = HEAP8[$2591>>0]|0; - $2593 = $2592 << 24 >> 24; - $2594 = ($2593|0)==(-8); - $2595 = HEAP32[$pDest>>2]|0; - if ($2594) { - $2596 = HEAP32[$pOp>>2]|0; - $2597 = ((($2596)) + 16|0); - $2598 = HEAP32[$2597>>2]|0; - _sqlite3VdbeMemShallowCopy($2595,$2598,2048); - break L10; - } else { - _sqlite3VdbeMemSetNull($2595); - break L10; - } - } - } - $2604 = HEAP32[$pDest>>2]|0; - $2605 = ((($2604)) + 8|0); - $2606 = HEAP16[$2605>>1]|0; - $2607 = $2606&65535; - $2608 = $2607 & 9312; - $2609 = ($2608|0)!=(0); - if ($2609) { - $2610 = HEAP32[$pDest>>2]|0; - _sqlite3VdbeMemSetNull($2610); - } - $2611 = HEAP32[$pC>>2]|0; - $2612 = ((($2611)) + 64|0); - $2613 = HEAP32[$2612>>2]|0; - $2614 = HEAP32[$p211>>2]|0; - $2615 = (($2614) + 1)|0; - $2616 = HEAP32[$aOffset>>2]|0; - $2617 = (($2616) + ($2615<<2)|0); - $2618 = HEAP32[$2617>>2]|0; - $2619 = ($2613>>>0)>=($2618>>>0); - if ($2619) { - $2620 = HEAP32[$pC>>2]|0; - $2621 = ((($2620)) + 72|0); - $2622 = HEAP32[$2621>>2]|0; - $2623 = HEAP32[$p211>>2]|0; - $2624 = HEAP32[$aOffset>>2]|0; - $2625 = (($2624) + ($2623<<2)|0); - $2626 = HEAP32[$2625>>2]|0; - $2627 = (($2622) + ($2626)|0); - HEAP32[$zData>>2] = $2627; - $2628 = HEAP32[$t>>2]|0; - $2629 = ($2628>>>0)<(12); - if ($2629) { - $2630 = HEAP32[$zData>>2]|0; - $2631 = HEAP32[$t>>2]|0; - $2632 = HEAP32[$pDest>>2]|0; - (_sqlite3VdbeSerialGet($2630,$2631,$2632)|0); - break L10; - } - $2633 = HEAP32[$t>>2]|0; - $2634 = (($2633) - 12)|0; - $2635 = (($2634>>>0) / 2)&-1; - HEAP32[$len>>2] = $2635; - $2636 = HEAP32[$pDest>>2]|0; - $2637 = ((($2636)) + 12|0); - HEAP32[$2637>>2] = $2635; - $2638 = HEAP8[$encoding>>0]|0; - $2639 = HEAP32[$pDest>>2]|0; - $2640 = ((($2639)) + 10|0); - HEAP8[$2640>>0] = $2638; - $2641 = HEAP32[$pDest>>2]|0; - $2642 = ((($2641)) + 24|0); - $2643 = HEAP32[$2642>>2]|0; - $2644 = HEAP32[$len>>2]|0; - $2645 = (($2644) + 2)|0; - $2646 = ($2643|0)<($2645|0); - $2647 = HEAP32[$pDest>>2]|0; - if ($2646) { - $2648 = ((($2647)) + 8|0); - HEAP16[$2648>>1] = 1; - $2649 = HEAP32[$pDest>>2]|0; - $2650 = HEAP32[$len>>2]|0; - $2651 = (($2650) + 2)|0; - $2652 = (_sqlite3VdbeMemGrow($2649,$2651,0)|0); - $2653 = ($2652|0)!=(0); - if ($2653) { - label = 889; - break L1; - } - } else { - $2654 = ((($2647)) + 20|0); - $2655 = HEAP32[$2654>>2]|0; - $2656 = HEAP32[$pDest>>2]|0; - $2657 = ((($2656)) + 16|0); - HEAP32[$2657>>2] = $2655; - } - $2658 = HEAP32[$pDest>>2]|0; - $2659 = ((($2658)) + 16|0); - $2660 = HEAP32[$2659>>2]|0; - $2661 = HEAP32[$zData>>2]|0; - $2662 = HEAP32[$len>>2]|0; - _memcpy(($2660|0),($2661|0),($2662|0))|0; - $2663 = HEAP32[$len>>2]|0; - $2664 = HEAP32[$pDest>>2]|0; - $2665 = ((($2664)) + 16|0); - $2666 = HEAP32[$2665>>2]|0; - $2667 = (($2666) + ($2663)|0); - HEAP8[$2667>>0] = 0; - $2668 = HEAP32[$len>>2]|0; - $2669 = (($2668) + 1)|0; - $2670 = HEAP32[$pDest>>2]|0; - $2671 = ((($2670)) + 16|0); - $2672 = HEAP32[$2671>>2]|0; - $2673 = (($2672) + ($2669)|0); - HEAP8[$2673>>0] = 0; - $2674 = HEAP32[$t>>2]|0; - $2675 = $2674 & 1; - $2676 = (16418 + ($2675<<1)|0); - $2677 = HEAP16[$2676>>1]|0; - $2678 = HEAP32[$pDest>>2]|0; - $2679 = ((($2678)) + 8|0); - HEAP16[$2679>>1] = $2677; - break L10; - } - $2680 = HEAP8[$encoding>>0]|0; - $2681 = HEAP32[$pDest>>2]|0; - $2682 = ((($2681)) + 10|0); - HEAP8[$2682>>0] = $2680; - $2683 = HEAP32[$pOp>>2]|0; - $2684 = ((($2683)) + 3|0); - $2685 = HEAP8[$2684>>0]|0; - $2686 = $2685&255; - $2687 = $2686 & 192; - $2688 = ($2687|0)!=(0); - do { - if ($2688) { - $2689 = HEAP32[$t>>2]|0; - $2690 = ($2689>>>0)>=(12); - if ($2690) { - $2691 = HEAP32[$t>>2]|0; - $2692 = $2691 & 1; - $2693 = ($2692|0)==(0); - if ($2693) { - break; + $95 = HEAP32[$16>>2]|0; + $96 = HEAP32[$20>>2]|0; + $97 = (($95) + ($96)|0); + $98 = HEAP8[$97>>0]|0; + $99 = $98 << 24 >> 24; + $100 = ($99|0)<=(57); + if (!($100)) { + break L19; } + $101 = HEAP32[$19>>2]|0; + $102 = ($101*10)|0; + $103 = HEAP32[$16>>2]|0; + $104 = HEAP32[$20>>2]|0; + $105 = (($103) + ($104)|0); + $106 = HEAP8[$105>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) - 48)|0; + $109 = (($102) + ($108))|0; + HEAP32[$19>>2] = $109; + $110 = HEAP32[$20>>2]|0; + $111 = (($110) + 1)|0; + HEAP32[$20>>2] = $111; } - $2694 = HEAP32[$pOp>>2]|0; - $2695 = ((($2694)) + 3|0); - $2696 = HEAP8[$2695>>0]|0; - $2697 = $2696&255; - $2698 = $2697 & 128; - $2699 = ($2698|0)!=(0); - if (!($2699)) { - label = 310; - } - } else { - label = 310; - } - } while(0); - if ((label|0) == 310) { - label = 0; - $2700 = HEAP32[$t>>2]|0; - $2701 = (_sqlite3VdbeSerialTypeLen($2700)|0); - HEAP32[$len>>2] = $2701; - $2702 = ($2701|0)==(0); - if (!($2702)) { - $2705 = HEAP32[$pCrsr>>2]|0; - $2706 = HEAP32[$p211>>2]|0; - $2707 = HEAP32[$aOffset>>2]|0; - $2708 = (($2707) + ($2706<<2)|0); - $2709 = HEAP32[$2708>>2]|0; - $2710 = HEAP32[$len>>2]|0; - $2711 = HEAP32[$pC>>2]|0; - $2712 = ((($2711)) + 4|0); - $2713 = HEAP8[$2712>>0]|0; - $2714 = ($2713<<24>>24)!=(0); - $2715 = $2714 ^ 1; - $2716 = $2715&1; - $2717 = HEAP32[$pDest>>2]|0; - $2718 = (_sqlite3VdbeMemFromBtree($2705,$2709,$2710,$2716,$2717)|0); - HEAP32[$rc>>2] = $2718; - $2719 = HEAP32[$rc>>2]|0; - $2720 = ($2719|0)!=(0); - if ($2720) { - break L1; - } - $2721 = HEAP32[$pDest>>2]|0; - $2722 = ((($2721)) + 16|0); - $2723 = HEAP32[$2722>>2]|0; - $2724 = HEAP32[$t>>2]|0; - $2725 = HEAP32[$pDest>>2]|0; - (_sqlite3VdbeSerialGet($2723,$2724,$2725)|0); - $2726 = HEAP32[$pDest>>2]|0; - $2727 = ((($2726)) + 8|0); - $2728 = HEAP16[$2727>>1]|0; - $2729 = $2728&65535; - $2730 = $2729 & -4097; - $2731 = $2730&65535; - HEAP16[$2727>>1] = $2731; - break L10; } } - $2703 = HEAP32[$t>>2]|0; - $2704 = HEAP32[$pDest>>2]|0; - (_sqlite3VdbeSerialGet(39943,$2703,$2704)|0); - break; } - case 98: { - $2732 = HEAP32[$pOp>>2]|0; - $2733 = ((($2732)) + 16|0); - $2734 = HEAP32[$2733>>2]|0; - HEAP32[$zAffinity>>2] = $2734; - $2735 = HEAP32[$pOp>>2]|0; - $2736 = ((($2735)) + 4|0); - $2737 = HEAP32[$2736>>2]|0; - $2738 = HEAP32[$aMem>>2]|0; - $2739 = (($2738) + (($2737*40)|0)|0); - HEAP32[$pIn1>>2] = $2739; - while(1) { - $2740 = HEAP32[$zAffinity>>2]|0; - $2741 = ((($2740)) + 1|0); - HEAP32[$zAffinity>>2] = $2741; - $2742 = HEAP8[$2740>>0]|0; - HEAP8[$cAff>>0] = $2742; - $2743 = $2742 << 24 >> 24; - $2744 = ($2743|0)!=(0); - if (!($2744)) { - break L10; - } - $2745 = HEAP32[$pIn1>>2]|0; - $2746 = HEAP8[$cAff>>0]|0; - $2747 = HEAP8[$encoding>>0]|0; - _applyAffinity($2745,$2746,$2747); - $2748 = HEAP32[$pIn1>>2]|0; - $2749 = ((($2748)) + 40|0); - HEAP32[$pIn1>>2] = $2749; - } - break; + } + } while(0); + $112 = HEAP32[$16>>2]|0; + $113 = HEAP32[$20>>2]|0; + $114 = (($112) + ($113)|0); + $115 = HEAP8[$114>>0]|0; + HEAP8[$21>>0] = $115; + $116 = HEAP8[$21>>0]|0; + $117 = (_fts3isspace($116)|0); + $118 = ($117|0)!=(0); + if ($118) { + label = 26; + break; + } + $119 = HEAP8[$21>>0]|0; + $120 = $119 << 24 >> 24; + $121 = ($120|0)==(34); + if ($121) { + label = 26; + break; + } + $122 = HEAP8[$21>>0]|0; + $123 = $122 << 24 >> 24; + $124 = ($123|0)==(40); + if ($124) { + label = 26; + break; + } + $125 = HEAP8[$21>>0]|0; + $126 = $125 << 24 >> 24; + $127 = ($126|0)==(41); + if ($127) { + label = 26; + break; + } + $128 = HEAP8[$21>>0]|0; + $129 = $128 << 24 >> 24; + $130 = ($129|0)==(0); + if ($130) { + label = 26; + break; + } + } + } + } + $152 = HEAP32[$11>>2]|0; + $153 = (($152) + 1)|0; + HEAP32[$11>>2] = $153; + } + if ((label|0) == 26) { + $131 = (_fts3MallocZero(48)|0); + HEAP32[$15>>2] = $131; + $132 = HEAP32[$15>>2]|0; + $133 = ($132|0)!=(0|0); + if ($133) { + $134 = HEAP32[$18>>2]|0; + $135 = ((($134)) + 6|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = HEAP32[$15>>2]|0; + HEAP32[$138>>2] = $137; + $139 = HEAP32[$19>>2]|0; + $140 = HEAP32[$15>>2]|0; + $141 = ((($140)) + 4|0); + HEAP32[$141>>2] = $139; + $142 = HEAP32[$15>>2]|0; + $143 = HEAP32[$9>>2]|0; + HEAP32[$143>>2] = $142; + $144 = HEAP32[$16>>2]|0; + $145 = HEAP32[$7>>2]|0; + $146 = $144; + $147 = $145; + $148 = (($146) - ($147))|0; + $149 = HEAP32[$20>>2]|0; + $150 = (($148) + ($149))|0; + $151 = HEAP32[$10>>2]|0; + HEAP32[$151>>2] = $150; + HEAP32[$5>>2] = 0; + $290 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($290|0); + } else { + HEAP32[$5>>2] = 7; + $290 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($290|0); + } + } + $154 = HEAP32[$16>>2]|0; + $155 = HEAP8[$154>>0]|0; + $156 = $155 << 24 >> 24; + $157 = ($156|0)==(34); + if ($157) { + HEAP32[$11>>2] = 1; + while(1) { + $158 = HEAP32[$11>>2]|0; + $159 = HEAP32[$17>>2]|0; + $160 = ($158|0)<($159|0); + if (!($160)) { + break; + } + $161 = HEAP32[$16>>2]|0; + $162 = HEAP32[$11>>2]|0; + $163 = (($161) + ($162)|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164 << 24 >> 24; + $166 = ($165|0)!=(34); + if (!($166)) { + break; + } + $167 = HEAP32[$11>>2]|0; + $168 = (($167) + 1)|0; + HEAP32[$11>>2] = $168; + } + $169 = HEAP32[$16>>2]|0; + $170 = HEAP32[$7>>2]|0; + $171 = $169; + $172 = $170; + $173 = (($171) - ($172))|0; + $174 = HEAP32[$11>>2]|0; + $175 = (($173) + ($174))|0; + $176 = (($175) + 1)|0; + $177 = HEAP32[$10>>2]|0; + HEAP32[$177>>2] = $176; + $178 = HEAP32[$11>>2]|0; + $179 = HEAP32[$17>>2]|0; + $180 = ($178|0)==($179|0); + if ($180) { + HEAP32[$5>>2] = 1; + $290 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($290|0); + } else { + $181 = HEAP32[$6>>2]|0; + $182 = HEAP32[$16>>2]|0; + $183 = ((($182)) + 1|0); + $184 = HEAP32[$11>>2]|0; + $185 = (($184) - 1)|0; + $186 = HEAP32[$9>>2]|0; + $187 = (_getNextString($181,$183,$185,$186)|0); + HEAP32[$5>>2] = $187; + $290 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($290|0); + } + } + $188 = HEAP32[$16>>2]|0; + $189 = HEAP8[$188>>0]|0; + $190 = $189 << 24 >> 24; + $191 = ($190|0)==(40); + if ($191) { + HEAP32[$22>>2] = 0; + $192 = HEAP32[$6>>2]|0; + $193 = ((($192)) + 32|0); + $194 = HEAP32[$193>>2]|0; + $195 = (($194) + 1)|0; + HEAP32[$193>>2] = $195; + $196 = HEAP32[$6>>2]|0; + $197 = HEAP32[$16>>2]|0; + $198 = ((($197)) + 1|0); + $199 = HEAP32[$17>>2]|0; + $200 = (($199) - 1)|0; + $201 = HEAP32[$9>>2]|0; + $202 = (_fts3ExprParse($196,$198,$200,$201,$22)|0); + HEAP32[$14>>2] = $202; + $203 = HEAP32[$14>>2]|0; + $204 = ($203|0)==(0); + if ($204) { + $205 = HEAP32[$9>>2]|0; + $206 = HEAP32[$205>>2]|0; + $207 = ($206|0)!=(0|0); + if (!($207)) { + HEAP32[$14>>2] = 101; + } + } + $208 = HEAP32[$16>>2]|0; + $209 = HEAP32[$7>>2]|0; + $210 = $208; + $211 = $209; + $212 = (($210) - ($211))|0; + $213 = (($212) + 1)|0; + $214 = HEAP32[$22>>2]|0; + $215 = (($213) + ($214))|0; + $216 = HEAP32[$10>>2]|0; + HEAP32[$216>>2] = $215; + $217 = HEAP32[$14>>2]|0; + HEAP32[$5>>2] = $217; + $290 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($290|0); + } + $218 = HEAP32[$16>>2]|0; + $219 = HEAP8[$218>>0]|0; + $220 = $219 << 24 >> 24; + $221 = ($220|0)==(41); + $222 = HEAP32[$6>>2]|0; + if ($221) { + $223 = ((($222)) + 32|0); + $224 = HEAP32[$223>>2]|0; + $225 = (($224) + -1)|0; + HEAP32[$223>>2] = $225; + $226 = HEAP32[$16>>2]|0; + $227 = HEAP32[$7>>2]|0; + $228 = $226; + $229 = $227; + $230 = (($228) - ($229))|0; + $231 = (($230) + 1)|0; + $232 = HEAP32[$10>>2]|0; + HEAP32[$232>>2] = $231; + $233 = HEAP32[$9>>2]|0; + HEAP32[$233>>2] = 0; + HEAP32[$5>>2] = 101; + $290 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($290|0); + } + $234 = ((($222)) + 20|0); + $235 = HEAP32[$234>>2]|0; + HEAP32[$12>>2] = $235; + HEAP32[$13>>2] = 0; + HEAP32[$11>>2] = 0; + while(1) { + $236 = HEAP32[$11>>2]|0; + $237 = HEAP32[$6>>2]|0; + $238 = ((($237)) + 16|0); + $239 = HEAP32[$238>>2]|0; + $240 = ($236|0)<($239|0); + if (!($240)) { + break; + } + $241 = HEAP32[$6>>2]|0; + $242 = ((($241)) + 8|0); + $243 = HEAP32[$242>>2]|0; + $244 = HEAP32[$11>>2]|0; + $245 = (($243) + ($244<<2)|0); + $246 = HEAP32[$245>>2]|0; + HEAP32[$23>>2] = $246; + $247 = HEAP32[$23>>2]|0; + $248 = (_strlen($247)|0); + HEAP32[$24>>2] = $248; + $249 = HEAP32[$17>>2]|0; + $250 = HEAP32[$24>>2]|0; + $251 = ($249|0)>($250|0); + if ($251) { + $252 = HEAP32[$16>>2]|0; + $253 = HEAP32[$24>>2]|0; + $254 = (($252) + ($253)|0); + $255 = HEAP8[$254>>0]|0; + $256 = $255 << 24 >> 24; + $257 = ($256|0)==(58); + if ($257) { + $258 = HEAP32[$23>>2]|0; + $259 = HEAP32[$16>>2]|0; + $260 = HEAP32[$24>>2]|0; + $261 = (_sqlite3_strnicmp($258,$259,$260)|0); + $262 = ($261|0)==(0); + if ($262) { + label = 50; + break; + } + } + } + $272 = HEAP32[$11>>2]|0; + $273 = (($272) + 1)|0; + HEAP32[$11>>2] = $273; + } + if ((label|0) == 50) { + $263 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $263; + $264 = HEAP32[$16>>2]|0; + $265 = HEAP32[$7>>2]|0; + $266 = $264; + $267 = $265; + $268 = (($266) - ($267))|0; + $269 = HEAP32[$24>>2]|0; + $270 = (($268) + ($269))|0; + $271 = (($270) + 1)|0; + HEAP32[$13>>2] = $271; + } + $274 = HEAP32[$6>>2]|0; + $275 = HEAP32[$12>>2]|0; + $276 = HEAP32[$7>>2]|0; + $277 = HEAP32[$13>>2]|0; + $278 = (($276) + ($277)|0); + $279 = HEAP32[$8>>2]|0; + $280 = HEAP32[$13>>2]|0; + $281 = (($279) - ($280))|0; + $282 = HEAP32[$9>>2]|0; + $283 = HEAP32[$10>>2]|0; + $284 = (_getNextToken($274,$275,$278,$281,$282,$283)|0); + HEAP32[$14>>2] = $284; + $285 = HEAP32[$13>>2]|0; + $286 = HEAP32[$10>>2]|0; + $287 = HEAP32[$286>>2]|0; + $288 = (($287) + ($285))|0; + HEAP32[$286>>2] = $288; + $289 = HEAP32[$14>>2]|0; + HEAP32[$5>>2] = $289; + $290 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($290|0); +} +function _fts3MallocZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_malloc($3)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $9 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($9|0); + } + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$1>>2]|0; + _memset(($7|0),0,($8|0))|0; + $9 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _insertBinaryOperator($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $7; + while(1) { + $8 = HEAP32[$6>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_opPrecedence($14)|0); + $16 = HEAP32[$5>>2]|0; + $17 = (_opPrecedence($16)|0); + $18 = ($15|0)<=($17|0); + $40 = $18; + } else { + $40 = 0; + } + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + if (!($40)) { + break; + } + HEAP32[$6>>2] = $21; + } + $22 = ($21|0)!=(0|0); + $23 = HEAP32[$5>>2]|0; + if ($22) { + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($26)) + 16|0); + HEAP32[$27>>2] = $23; + $28 = HEAP32[$6>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 8|0); + HEAP32[$32>>2] = $30; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 12|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 8|0); + HEAP32[$39>>2] = $37; + STACKTOP = sp;return; + } else { + $33 = HEAP32[$3>>2]|0; + HEAP32[$33>>2] = $23; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 12|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 8|0); + HEAP32[$39>>2] = $37; + STACKTOP = sp;return; + } +} +function _opPrecedence($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _fts3isspace($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP8[$1>>0] = $0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = ($3|0)==(32); + if ($4) { + $21 = 1; + } else { + $5 = HEAP8[$1>>0]|0; + $6 = $5 << 24 >> 24; + $7 = ($6|0)==(9); + if ($7) { + $21 = 1; + } else { + $8 = HEAP8[$1>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)==(10); + if ($10) { + $21 = 1; + } else { + $11 = HEAP8[$1>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)==(13); + if ($13) { + $21 = 1; + } else { + $14 = HEAP8[$1>>0]|0; + $15 = $14 << 24 >> 24; + $16 = ($15|0)==(11); + if ($16) { + $21 = 1; + } else { + $17 = HEAP8[$1>>0]|0; + $18 = $17 << 24 >> 24; + $19 = ($18|0)==(12); + $21 = $19; + } + } + } + } + } + $20 = $21&1; + STACKTOP = sp;return ($20|0); +} +function _getNextString($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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; + STACKTOP = STACKTOP + 96|0; + $4 = sp + 88|0; + $5 = sp + 84|0; + $6 = sp + 80|0; + $7 = sp + 76|0; + $8 = sp + 72|0; + $9 = sp + 68|0; + $10 = sp + 64|0; + $11 = sp + 60|0; + $12 = sp + 56|0; + $13 = sp + 52|0; + $14 = sp + 48|0; + $15 = sp + 44|0; + $16 = sp + 40|0; + $17 = sp + 36|0; + $18 = sp + 32|0; + $19 = sp + 28|0; + $20 = sp + 24|0; + $21 = sp + 20|0; + $22 = sp + 16|0; + $23 = sp + 12|0; + $24 = sp + 8|0; + $25 = sp + 4|0; + $26 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$27>>2]|0; + HEAP32[$9>>2] = $28; + $29 = HEAP32[$9>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$10>>2] = $30; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 144; + HEAP32[$17>>2] = 0; + $31 = HEAP32[$9>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = (_sqlite3Fts3OpenTokenizer($31,$34,$35,$36,$13)|0); + HEAP32[$11>>2] = $37; + $38 = HEAP32[$11>>2]|0; + $39 = ($38|0)==(0); + L1: do { + if ($39) { + HEAP32[$18>>2] = 0; + while(1) { + $40 = HEAP32[$11>>2]|0; + $41 = ($40|0)==(0); + if (!($41)) { + break; + } + HEAP32[$20>>2] = 0; + HEAP32[$21>>2] = 0; + HEAP32[$22>>2] = 0; + HEAP32[$23>>2] = 0; + $42 = HEAP32[$10>>2]|0; + $43 = ((($42)) + 20|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$13>>2]|0; + $46 = (FUNCTION_TABLE_iiiiiii[$44 & 255]($45,$19,$20,$21,$22,$23)|0); + HEAP32[$11>>2] = $46; + $47 = HEAP32[$11>>2]|0; + $48 = ($47|0)==(0); + if ($48) { + $49 = HEAP32[$12>>2]|0; + $50 = HEAP32[$18>>2]|0; + $51 = ($50*24)|0; + $52 = (144 + ($51))|0; + $53 = (_fts3ReallocOrFree($49,$52)|0); + HEAP32[$12>>2] = $53; + $54 = HEAP32[$12>>2]|0; + $55 = ($54|0)!=(0|0); + if (!($55)) { + break L1; + } + $56 = HEAP32[$14>>2]|0; + $57 = HEAP32[$15>>2]|0; + $58 = HEAP32[$20>>2]|0; + $59 = (($57) + ($58))|0; + $60 = (_fts3ReallocOrFree($56,$59)|0); + HEAP32[$14>>2] = $60; + $61 = HEAP32[$14>>2]|0; + $62 = ($61|0)!=(0|0); + if (!($62)) { + break L1; + } + $63 = HEAP32[$12>>2]|0; + $64 = ((($63)) + 48|0); + $65 = ((($64)) + 72|0); + $66 = HEAP32[$18>>2]|0; + $67 = (($65) + (($66*24)|0)|0); + HEAP32[$24>>2] = $67; + $68 = HEAP32[$24>>2]|0; + ;HEAP32[$68>>2]=0|0;HEAP32[$68+4>>2]=0|0;HEAP32[$68+8>>2]=0|0;HEAP32[$68+12>>2]=0|0;HEAP32[$68+16>>2]=0|0;HEAP32[$68+20>>2]=0|0; + $69 = HEAP32[$14>>2]|0; + $70 = HEAP32[$15>>2]|0; + $71 = (($69) + ($70)|0); + $72 = HEAP32[$19>>2]|0; + $73 = HEAP32[$20>>2]|0; + _memcpy(($71|0),($72|0),($73|0))|0; + $74 = HEAP32[$20>>2]|0; + $75 = HEAP32[$15>>2]|0; + $76 = (($75) + ($74))|0; + HEAP32[$15>>2] = $76; + $77 = HEAP32[$20>>2]|0; + $78 = HEAP32[$24>>2]|0; + $79 = ((($78)) + 4|0); + HEAP32[$79>>2] = $77; + $80 = HEAP32[$22>>2]|0; + $81 = HEAP32[$7>>2]|0; + $82 = ($80|0)<($81|0); + if ($82) { + $83 = HEAP32[$6>>2]|0; + $84 = HEAP32[$22>>2]|0; + $85 = (($83) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86 << 24 >> 24; + $88 = ($87|0)==(42); + $90 = $88; + } else { + $90 = 0; + } + $89 = $90&1; + $91 = HEAP32[$24>>2]|0; + $92 = ((($91)) + 8|0); + HEAP32[$92>>2] = $89; + $93 = HEAP32[$21>>2]|0; + $94 = ($93|0)>(0); + if ($94) { + $95 = HEAP32[$6>>2]|0; + $96 = HEAP32[$21>>2]|0; + $97 = (($96) - 1)|0; + $98 = (($95) + ($97)|0); + $99 = HEAP8[$98>>0]|0; + $100 = $99 << 24 >> 24; + $101 = ($100|0)==(94); + $103 = $101; + } else { + $103 = 0; + } + $102 = $103&1; + $104 = HEAP32[$24>>2]|0; + $105 = ((($104)) + 12|0); + HEAP32[$105>>2] = $102; + $106 = HEAP32[$18>>2]|0; + $107 = (($106) + 1)|0; + HEAP32[$17>>2] = $107; + } + $108 = HEAP32[$18>>2]|0; + $109 = (($108) + 1)|0; + HEAP32[$18>>2] = $109; + } + $110 = HEAP32[$10>>2]|0; + $111 = ((($110)) + 16|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$13>>2]|0; + (FUNCTION_TABLE_ii[$112 & 255]($113)|0); + HEAP32[$13>>2] = 0; + label = 14; + } else { + label = 14; + } + } while(0); + do { + if ((label|0) == 14) { + $114 = HEAP32[$11>>2]|0; + $115 = ($114|0)==(101); + if ($115) { + HEAP32[$26>>2] = 0; + $116 = HEAP32[$12>>2]|0; + $117 = HEAP32[$17>>2]|0; + $118 = ($117*24)|0; + $119 = (144 + ($118))|0; + $120 = HEAP32[$15>>2]|0; + $121 = (($119) + ($120))|0; + $122 = (_fts3ReallocOrFree($116,$121)|0); + HEAP32[$12>>2] = $122; + $123 = HEAP32[$12>>2]|0; + $124 = ($123|0)!=(0|0); + if (!($124)) { + break; + } + $125 = HEAP32[$12>>2]|0; + $126 = HEAP32[$12>>2]|0; + $127 = ((($126)) + 48|0); + $128 = ((($127)) + 72|0); + $129 = HEAP32[$12>>2]|0; + $130 = $128; + $131 = $129; + $132 = (($130) - ($131))|0; + _memset(($125|0),0,($132|0))|0; + $133 = HEAP32[$12>>2]|0; + HEAP32[$133>>2] = 5; + $134 = HEAP32[$12>>2]|0; + $135 = ((($134)) + 48|0); + $136 = HEAP32[$12>>2]|0; + $137 = ((($136)) + 20|0); + HEAP32[$137>>2] = $135; + $138 = HEAP32[$5>>2]|0; + $139 = ((($138)) + 20|0); + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$12>>2]|0; + $142 = ((($141)) + 20|0); + $143 = HEAP32[$142>>2]|0; + $144 = ((($143)) + 68|0); + HEAP32[$144>>2] = $140; + $145 = HEAP32[$17>>2]|0; + $146 = HEAP32[$12>>2]|0; + $147 = ((($146)) + 20|0); + $148 = HEAP32[$147>>2]|0; + $149 = ((($148)) + 64|0); + HEAP32[$149>>2] = $145; + $150 = HEAP32[$12>>2]|0; + $151 = ((($150)) + 20|0); + $152 = HEAP32[$151>>2]|0; + $153 = ((($152)) + 72|0); + $154 = HEAP32[$17>>2]|0; + $155 = (($153) + (($154*24)|0)|0); + HEAP32[$26>>2] = $155; + $156 = HEAP32[$14>>2]|0; + $157 = ($156|0)!=(0|0); + if ($157) { + $158 = HEAP32[$26>>2]|0; + $159 = HEAP32[$14>>2]|0; + $160 = HEAP32[$15>>2]|0; + _memcpy(($158|0),($159|0),($160|0))|0; + $161 = HEAP32[$14>>2]|0; + _sqlite3_free($161); + } + HEAP32[$25>>2] = 0; + while(1) { + $162 = HEAP32[$25>>2]|0; + $163 = HEAP32[$12>>2]|0; + $164 = ((($163)) + 20|0); + $165 = HEAP32[$164>>2]|0; + $166 = ((($165)) + 64|0); + $167 = HEAP32[$166>>2]|0; + $168 = ($162|0)<($167|0); + if (!($168)) { + break; + } + $169 = HEAP32[$26>>2]|0; + $170 = HEAP32[$12>>2]|0; + $171 = ((($170)) + 20|0); + $172 = HEAP32[$171>>2]|0; + $173 = ((($172)) + 72|0); + $174 = HEAP32[$25>>2]|0; + $175 = (($173) + (($174*24)|0)|0); + HEAP32[$175>>2] = $169; + $176 = HEAP32[$12>>2]|0; + $177 = ((($176)) + 20|0); + $178 = HEAP32[$177>>2]|0; + $179 = ((($178)) + 72|0); + $180 = HEAP32[$25>>2]|0; + $181 = (($179) + (($180*24)|0)|0); + $182 = ((($181)) + 4|0); + $183 = HEAP32[$182>>2]|0; + $184 = HEAP32[$26>>2]|0; + $185 = (($184) + ($183)|0); + HEAP32[$26>>2] = $185; + $186 = HEAP32[$25>>2]|0; + $187 = (($186) + 1)|0; + HEAP32[$25>>2] = $187; + } + HEAP32[$11>>2] = 0; + } + $188 = HEAP32[$12>>2]|0; + $189 = HEAP32[$8>>2]|0; + HEAP32[$189>>2] = $188; + $190 = HEAP32[$11>>2]|0; + HEAP32[$4>>2] = $190; + $200 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($200|0); + } + } while(0); + $191 = HEAP32[$13>>2]|0; + $192 = ($191|0)!=(0|0); + if ($192) { + $193 = HEAP32[$10>>2]|0; + $194 = ((($193)) + 16|0); + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$13>>2]|0; + (FUNCTION_TABLE_ii[$195 & 255]($196)|0); + } + $197 = HEAP32[$14>>2]|0; + _sqlite3_free($197); + $198 = HEAP32[$12>>2]|0; + _sqlite3_free($198); + $199 = HEAP32[$8>>2]|0; + HEAP32[$199>>2] = 0; + HEAP32[$4>>2] = 7; + $200 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($200|0); +} +function _getNextToken($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $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; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $6 = sp + 68|0; + $7 = sp + 64|0; + $8 = sp + 60|0; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 24|0; + $18 = sp + 20|0; + $19 = sp + 16|0; + $20 = sp + 12|0; + $21 = sp + 8|0; + $22 = sp + 4|0; + $23 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$24>>2]|0; + HEAP32[$12>>2] = $25; + $26 = HEAP32[$12>>2]|0; + $27 = HEAP32[$26>>2]|0; + HEAP32[$13>>2] = $27; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + HEAP32[$17>>2] = 0; + while(1) { + $28 = HEAP32[$17>>2]|0; + $29 = HEAP32[$9>>2]|0; + $30 = ($28|0)<($29|0); + if (!($30)) { + break; + } + $31 = HEAP32[$8>>2]|0; + $32 = HEAP32[$17>>2]|0; + $33 = (($31) + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34 << 24 >> 24; + $36 = ($35|0)==(40); + if ($36) { + break; + } + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[$17>>2]|0; + $39 = (($37) + ($38)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40 << 24 >> 24; + $42 = ($41|0)==(41); + if ($42) { + break; + } + $43 = HEAP32[$8>>2]|0; + $44 = HEAP32[$17>>2]|0; + $45 = (($43) + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46 << 24 >> 24; + $48 = ($47|0)==(34); + if ($48) { + break; + } + $49 = HEAP32[$17>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$17>>2] = $50; + } + $51 = HEAP32[$17>>2]|0; + $52 = HEAP32[$11>>2]|0; + HEAP32[$52>>2] = $51; + $53 = HEAP32[$12>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$8>>2]|0; + $58 = HEAP32[$17>>2]|0; + $59 = (_sqlite3Fts3OpenTokenizer($53,$56,$57,$58,$15)|0); + HEAP32[$14>>2] = $59; + $60 = HEAP32[$14>>2]|0; + $61 = ($60|0)==(0); + if (!($61)) { + $156 = HEAP32[$16>>2]|0; + $157 = HEAP32[$10>>2]|0; + HEAP32[$157>>2] = $156; + $158 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($158|0); + } + HEAP32[$19>>2] = 0; + HEAP32[$20>>2] = 0; + HEAP32[$21>>2] = 0; + HEAP32[$22>>2] = 0; + $62 = HEAP32[$13>>2]|0; + $63 = ((($62)) + 20|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$15>>2]|0; + $66 = (FUNCTION_TABLE_iiiiiii[$64 & 255]($65,$18,$19,$20,$21,$22)|0); + HEAP32[$14>>2] = $66; + $67 = HEAP32[$14>>2]|0; + $68 = ($67|0)==(0); + if ($68) { + $69 = HEAP32[$19>>2]|0; + $70 = (144 + ($69))|0; + HEAP32[$23>>2] = $70; + $71 = HEAP32[$23>>2]|0; + $72 = (_fts3MallocZero($71)|0); + HEAP32[$16>>2] = $72; + $73 = HEAP32[$16>>2]|0; + $74 = ($73|0)!=(0|0); + L13: do { + if ($74) { + $75 = HEAP32[$16>>2]|0; + HEAP32[$75>>2] = 5; + $76 = HEAP32[$16>>2]|0; + $77 = ((($76)) + 48|0); + $78 = HEAP32[$16>>2]|0; + $79 = ((($78)) + 20|0); + HEAP32[$79>>2] = $77; + $80 = HEAP32[$16>>2]|0; + $81 = ((($80)) + 20|0); + $82 = HEAP32[$81>>2]|0; + $83 = ((($82)) + 64|0); + HEAP32[$83>>2] = 1; + $84 = HEAP32[$7>>2]|0; + $85 = HEAP32[$16>>2]|0; + $86 = ((($85)) + 20|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($87)) + 68|0); + HEAP32[$88>>2] = $84; + $89 = HEAP32[$19>>2]|0; + $90 = HEAP32[$16>>2]|0; + $91 = ((($90)) + 20|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($92)) + 72|0); + $94 = ((($93)) + 4|0); + HEAP32[$94>>2] = $89; + $95 = HEAP32[$16>>2]|0; + $96 = ((($95)) + 20|0); + $97 = HEAP32[$96>>2]|0; + $98 = ((($97)) + 96|0); + $99 = HEAP32[$16>>2]|0; + $100 = ((($99)) + 20|0); + $101 = HEAP32[$100>>2]|0; + $102 = ((($101)) + 72|0); + HEAP32[$102>>2] = $98; + $103 = HEAP32[$16>>2]|0; + $104 = ((($103)) + 20|0); + $105 = HEAP32[$104>>2]|0; + $106 = ((($105)) + 72|0); + $107 = HEAP32[$106>>2]|0; + $108 = HEAP32[$18>>2]|0; + $109 = HEAP32[$19>>2]|0; + _memcpy(($107|0),($108|0),($109|0))|0; + $110 = HEAP32[$21>>2]|0; + $111 = HEAP32[$9>>2]|0; + $112 = ($110|0)<($111|0); + if ($112) { + $113 = HEAP32[$8>>2]|0; + $114 = HEAP32[$21>>2]|0; + $115 = (($113) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = $116 << 24 >> 24; + $118 = ($117|0)==(42); + if ($118) { + $119 = HEAP32[$16>>2]|0; + $120 = ((($119)) + 20|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($121)) + 72|0); + $123 = ((($122)) + 8|0); + HEAP32[$123>>2] = 1; + $124 = HEAP32[$21>>2]|0; + $125 = (($124) + 1)|0; + HEAP32[$21>>2] = $125; + } + } + while(1) { + $126 = HEAP32[$6>>2]|0; + $127 = ((($126)) + 12|0); + $128 = HEAP32[$127>>2]|0; + $129 = ($128|0)!=(0); + $130 = HEAP32[$20>>2]|0; + $131 = ($130|0)>(0); + $or$cond = $129 & $131; + if (!($or$cond)) { + break L13; + } + $132 = HEAP32[$8>>2]|0; + $133 = HEAP32[$20>>2]|0; + $134 = (($133) - 1)|0; + $135 = (($132) + ($134)|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136 << 24 >> 24; + $138 = ($137|0)==(94); + if (!($138)) { + break L13; + } + $139 = HEAP32[$16>>2]|0; + $140 = ((($139)) + 20|0); + $141 = HEAP32[$140>>2]|0; + $142 = ((($141)) + 72|0); + $143 = ((($142)) + 12|0); + HEAP32[$143>>2] = 1; + $144 = HEAP32[$20>>2]|0; + $145 = (($144) + -1)|0; + HEAP32[$20>>2] = $145; + } + } else { + HEAP32[$14>>2] = 7; + } + } while(0); + $146 = HEAP32[$21>>2]|0; + $147 = HEAP32[$11>>2]|0; + HEAP32[$147>>2] = $146; + } else { + $148 = HEAP32[$17>>2]|0; + $149 = ($148|0)!=(0); + $150 = HEAP32[$14>>2]|0; + $151 = ($150|0)==(101); + $or$cond3 = $149 & $151; + if ($or$cond3) { + HEAP32[$14>>2] = 0; + } + } + $152 = HEAP32[$13>>2]|0; + $153 = ((($152)) + 16|0); + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_ii[$154 & 255]($155)|0); + $156 = HEAP32[$16>>2]|0; + $157 = HEAP32[$10>>2]|0; + HEAP32[$157>>2] = $156; + $158 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($158|0); +} +function _fts3ReallocOrFree($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (_sqlite3_realloc($5,$6)|0); + HEAP32[$4>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)!=(0|0); + if ($9) { + $11 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($11|0); + } + $10 = HEAP32[$2>>2]|0; + _sqlite3_free($10); + $11 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _fts3FreeExprNode($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 20|0); + $4 = HEAP32[$3>>2]|0; + _sqlite3Fts3EvalPhraseCleanup($4); + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 40|0); + $7 = HEAP32[$6>>2]|0; + _sqlite3_free($7); + $8 = HEAP32[$1>>2]|0; + _sqlite3_free($8); + STACKTOP = sp;return; +} +function _sqlite3Fts3EvalPhraseCleanup($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, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; + } + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$5>>2]|0; + _sqlite3_free($6); + $7 = HEAP32[$1>>2]|0; + _fts3EvalInvalidatePoslist($7); + $8 = HEAP32[$1>>2]|0; + dest=$8; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$2>>2] = 0; + while(1) { + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 64|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)<($12|0); + if (!($13)) { + break; + } + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 72|0); + $16 = HEAP32[$2>>2]|0; + $17 = (($15) + (($16*24)|0)|0); + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + _fts3SegReaderCursorFree($19); + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 72|0); + $22 = HEAP32[$2>>2]|0; + $23 = (($21) + (($22*24)|0)|0); + $24 = ((($23)) + 20|0); + HEAP32[$24>>2] = 0; + $25 = HEAP32[$2>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$2>>2] = $26; + } + STACKTOP = sp;return; +} +function _sqlite3Fts3FreeDeferredTokens($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, $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; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 24|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; + while(1) { + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + break; + } + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$3>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + _fts3PendingListDelete($14); + $15 = HEAP32[$2>>2]|0; + _sqlite3_free($15); + $16 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $16; + } + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 24|0); + HEAP32[$18>>2] = 0; + STACKTOP = sp;return; +} +function _fts3SetEstimatedRows($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$3>>2] = $0; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $1; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (_sqlite3_libversion_number()|0); + $10 = ($9|0)>=(3008002); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = $4; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 48|0); + $19 = $18; + $20 = $19; + HEAP32[$20>>2] = $13; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $16; + STACKTOP = sp;return; +} +function _fts3SetUniqueFlag($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = (_sqlite3_libversion_number()|0); + $3 = ($2|0)>=(3008012); + if (!($3)) { + STACKTOP = sp;return; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 56|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 | 1; + HEAP32[$5>>2] = $7; + STACKTOP = sp;return; +} +function _fts3InitVtab($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; + var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; + var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; + var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; + var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0; + var $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0; + var $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0; + var $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0; + var $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $57 = 0, $58 = 0, $59 = 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 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $vararg_buffer = 0; + var $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0, $vararg_buffer20 = 0, $vararg_buffer8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288|0; + $vararg_buffer20 = sp + 40|0; + $vararg_buffer17 = sp + 32|0; + $vararg_buffer14 = sp + 24|0; + $vararg_buffer11 = sp + 16|0; + $vararg_buffer8 = sp + 8|0; + $vararg_buffer = sp; + $7 = sp + 280|0; + $8 = sp + 276|0; + $9 = sp + 272|0; + $10 = sp + 268|0; + $11 = sp + 264|0; + $12 = sp + 260|0; + $13 = sp + 256|0; + $14 = sp + 252|0; + $15 = sp + 248|0; + $16 = sp + 244|0; + $17 = sp + 240|0; + $18 = sp + 236|0; + $19 = sp + 232|0; + $20 = sp + 228|0; + $21 = sp + 224|0; + $22 = sp + 220|0; + $23 = sp + 216|0; + $24 = sp + 212|0; + $25 = sp + 208|0; + $26 = sp + 204|0; + $27 = sp + 200|0; + $28 = sp + 196|0; + $29 = sp + 192|0; + $30 = sp + 188|0; + $31 = sp + 184|0; + $32 = sp + 180|0; + $33 = sp + 176|0; + $34 = sp + 172|0; + $35 = sp + 168|0; + $36 = sp + 164|0; + $37 = sp + 160|0; + $38 = sp + 156|0; + $39 = sp + 152|0; + $40 = sp + 148|0; + $41 = sp + 144|0; + $42 = sp + 80|0; + $43 = sp + 76|0; + $44 = sp + 72|0; + $45 = sp + 68|0; + $46 = sp + 64|0; + $47 = sp + 60|0; + $48 = sp + 56|0; + $49 = sp + 52|0; + $50 = sp + 48|0; + $51 = sp + 44|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + $52 = HEAP32[$9>>2]|0; + HEAP32[$14>>2] = $52; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + HEAP32[$20>>2] = 0; + HEAP32[$21>>2] = 0; + $53 = HEAP32[$11>>2]|0; + $54 = HEAP32[$53>>2]|0; + $55 = ((($54)) + 3|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = ($57|0)==(52); + $59 = $58&1; + HEAP32[$25>>2] = $59; + HEAP32[$27>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$29>>2] = 0; + HEAP32[$30>>2] = 0; + HEAP32[$31>>2] = 0; + HEAP32[$32>>2] = 0; + HEAP32[$33>>2] = 0; + HEAP32[$34>>2] = 0; + HEAP32[$35>>2] = 0; + HEAP32[$36>>2] = 0; + HEAP32[$37>>2] = 0; + HEAP32[$38>>2] = 0; + $60 = HEAP32[$11>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + $63 = (_strlen($62)|0); + $64 = (($63) + 1)|0; + HEAP32[$23>>2] = $64; + $65 = HEAP32[$11>>2]|0; + $66 = ((($65)) + 8|0); + $67 = HEAP32[$66>>2]|0; + $68 = (_strlen($67)|0); + $69 = (($68) + 1)|0; + HEAP32[$24>>2] = $69; + $70 = HEAP32[$10>>2]|0; + $71 = (($70) - 2)|0; + $72 = $71<<2; + HEAP32[$18>>2] = $72; + $73 = HEAP32[$18>>2]|0; + $74 = (_sqlite3_malloc($73)|0); + HEAP32[$26>>2] = $74; + $75 = HEAP32[$26>>2]|0; + $76 = ($75|0)!=(0|0); + if ($76) { + $77 = HEAP32[$26>>2]|0; + $78 = HEAP32[$18>>2]|0; + _memset(($77|0),0,($78|0))|0; + $79 = HEAP32[$18>>2]|0; + $80 = (_sqlite3_malloc($79)|0); + HEAP32[$37>>2] = $80; + } + $81 = HEAP32[$37>>2]|0; + $82 = ($81|0)!=(0|0); + if ($82) { + $83 = HEAP32[$37>>2]|0; + $84 = HEAP32[$18>>2]|0; + _memset(($83|0),0,($84|0))|0; + } + $85 = HEAP32[$26>>2]|0; + $86 = ($85|0)!=(0|0); + $87 = HEAP32[$37>>2]|0; + $88 = ($87|0)!=(0|0); + $or$cond = $86 & $88; + do { + if ($or$cond) { + HEAP32[$17>>2] = 3; + while(1) { + $89 = HEAP32[$16>>2]|0; + $90 = ($89|0)==(0); + if (!($90)) { + break; + } + $91 = HEAP32[$17>>2]|0; + $92 = HEAP32[$10>>2]|0; + $93 = ($91|0)<($92|0); + if (!($93)) { + break; + } + $94 = HEAP32[$11>>2]|0; + $95 = HEAP32[$17>>2]|0; + $96 = (($94) + ($95<<2)|0); + $97 = HEAP32[$96>>2]|0; + HEAP32[$39>>2] = $97; + $98 = HEAP32[$27>>2]|0; + $99 = ($98|0)!=(0|0); + if ($99) { + label = 15; + } else { + $100 = HEAP32[$39>>2]|0; + $101 = (_strlen($100)|0); + $102 = ($101>>>0)>(8); + if ($102) { + $103 = HEAP32[$39>>2]|0; + $104 = (_sqlite3_strnicmp($103,46131,8)|0); + $105 = (0)==($104|0); + if ($105) { + $106 = HEAP32[$39>>2]|0; + $107 = ((($106)) + 8|0); + $108 = HEAP8[$107>>0]|0; + $109 = (_sqlite3Fts3IsIdChar($108)|0); + $110 = (0)==($109|0); + if ($110) { + $111 = HEAP32[$14>>2]|0; + $112 = HEAP32[$39>>2]|0; + $113 = ((($112)) + 9|0); + $114 = HEAP32[$13>>2]|0; + $115 = (_sqlite3Fts3InitTokenizer($111,$113,$27,$114)|0); + HEAP32[$16>>2] = $115; + } else { + label = 15; } - case 99: { - $2750 = $nData; - $2751 = $2750; - HEAP32[$2751>>2] = 0; - $2752 = (($2750) + 4)|0; - $2753 = $2752; - HEAP32[$2753>>2] = 0; - HEAP32[$nHdr>>2] = 0; - $2754 = $nZero; - $2755 = $2754; - HEAP32[$2755>>2] = 0; - $2756 = (($2754) + 4)|0; - $2757 = $2756; - HEAP32[$2757>>2] = 0; - $2758 = HEAP32[$pOp>>2]|0; - $2759 = ((($2758)) + 4|0); - $2760 = HEAP32[$2759>>2]|0; - HEAP32[$nField>>2] = $2760; - $2761 = HEAP32[$pOp>>2]|0; - $2762 = ((($2761)) + 16|0); - $2763 = HEAP32[$2762>>2]|0; - HEAP32[$zAffinity14>>2] = $2763; - $2764 = HEAP32[$nField>>2]|0; - $2765 = HEAP32[$aMem>>2]|0; - $2766 = (($2765) + (($2764*40)|0)|0); - HEAP32[$pData0>>2] = $2766; - $2767 = HEAP32[$pOp>>2]|0; - $2768 = ((($2767)) + 8|0); - $2769 = HEAP32[$2768>>2]|0; - HEAP32[$nField>>2] = $2769; - $2770 = HEAP32[$nField>>2]|0; - $2771 = (($2770) - 1)|0; - $2772 = HEAP32[$pData0>>2]|0; - $2773 = (($2772) + (($2771*40)|0)|0); - HEAP32[$pLast>>2] = $2773; - $2774 = HEAP32[$0>>2]|0; - $2775 = ((($2774)) + 143|0); - $2776 = HEAP8[$2775>>0]|0; - $2777 = $2776&255; - HEAP32[$file_format>>2] = $2777; - $2778 = HEAP32[$pOp>>2]|0; - $2779 = ((($2778)) + 12|0); - $2780 = HEAP32[$2779>>2]|0; - $2781 = HEAP32[$aMem>>2]|0; - $2782 = (($2781) + (($2780*40)|0)|0); - HEAP32[$pOut>>2] = $2782; - $2783 = HEAP32[$zAffinity14>>2]|0; - $2784 = ($2783|0)!=(0|0); - if ($2784) { - $2785 = HEAP32[$pData0>>2]|0; - HEAP32[$pRec>>2] = $2785; - while(1) { - $2786 = HEAP32[$pRec>>2]|0; - $2787 = ((($2786)) + 40|0); - HEAP32[$pRec>>2] = $2787; - $2788 = HEAP32[$zAffinity14>>2]|0; - $2789 = ((($2788)) + 1|0); - HEAP32[$zAffinity14>>2] = $2789; - $2790 = HEAP8[$2788>>0]|0; - $2791 = HEAP8[$encoding>>0]|0; - _applyAffinity($2786,$2790,$2791); - $2792 = HEAP32[$zAffinity14>>2]|0; - $2793 = HEAP8[$2792>>0]|0; - $2794 = ($2793<<24>>24)!=(0); - if (!($2794)) { - break; - } - } - } - $2795 = HEAP32[$pLast>>2]|0; - HEAP32[$pRec>>2] = $2795; - while(1) { - $2796 = HEAP32[$pRec>>2]|0; - $2797 = HEAP32[$file_format>>2]|0; - $2798 = (_sqlite3VdbeSerialType($2796,$2797,$len16)|0); - HEAP32[$serial_type>>2] = $2798; - $2799 = HEAP32[$pRec>>2]|0; - $2800 = ((($2799)) + 28|0); - HEAP32[$2800>>2] = $2798; - $2801 = HEAP32[$pRec>>2]|0; - $2802 = ((($2801)) + 8|0); - $2803 = HEAP16[$2802>>1]|0; - $2804 = $2803&65535; - $2805 = $2804 & 16384; - $2806 = ($2805|0)!=(0); - do { - if ($2806) { - $2807 = $nData; - $2808 = $2807; - $2809 = HEAP32[$2808>>2]|0; - $2810 = (($2807) + 4)|0; - $2811 = $2810; - $2812 = HEAP32[$2811>>2]|0; - $2813 = ($2809|0)!=(0); - $2814 = ($2812|0)!=(0); - $2815 = $2813 | $2814; - $2816 = HEAP32[$pRec>>2]|0; - if ($2815) { - $2817 = (_sqlite3VdbeMemExpandBlob($2816)|0); - $2818 = ($2817|0)!=(0); - if ($2818) { - label = 889; - break L1; - } else { - break; - } - } else { - $2819 = HEAP32[$2816>>2]|0; - $2820 = ($2819|0)<(0); - $2821 = $2820 << 31 >> 31; - $2822 = $nZero; - $2823 = $2822; - $2824 = HEAP32[$2823>>2]|0; - $2825 = (($2822) + 4)|0; - $2826 = $2825; - $2827 = HEAP32[$2826>>2]|0; - $2828 = (_i64Add(($2824|0),($2827|0),($2819|0),($2821|0))|0); - $2829 = tempRet0; - $2830 = $nZero; - $2831 = $2830; - HEAP32[$2831>>2] = $2828; - $2832 = (($2830) + 4)|0; - $2833 = $2832; - HEAP32[$2833>>2] = $2829; - $2834 = HEAP32[$pRec>>2]|0; - $2835 = HEAP32[$2834>>2]|0; - $2836 = HEAP32[$len16>>2]|0; - $2837 = (($2836) - ($2835))|0; - HEAP32[$len16>>2] = $2837; - break; - } - } - } while(0); - $2838 = HEAP32[$len16>>2]|0; - $2839 = $nData; - $2840 = $2839; - $2841 = HEAP32[$2840>>2]|0; - $2842 = (($2839) + 4)|0; - $2843 = $2842; - $2844 = HEAP32[$2843>>2]|0; - $2845 = (_i64Add(($2841|0),($2844|0),($2838|0),0)|0); - $2846 = tempRet0; - $2847 = $nData; - $2848 = $2847; - HEAP32[$2848>>2] = $2845; - $2849 = (($2847) + 4)|0; - $2850 = $2849; - HEAP32[$2850>>2] = $2846; - $2851 = HEAP32[$serial_type>>2]|0; - $2852 = ($2851>>>0)<=(127); - if ($2852) { - $2857 = 1; - } else { - $2853 = HEAP32[$serial_type>>2]|0; - $2854 = (_sqlite3VarintLen($2853,0)|0); - $2857 = $2854; - } - $2855 = HEAP32[$nHdr>>2]|0; - $2856 = (($2855) + ($2857))|0; - HEAP32[$nHdr>>2] = $2856; - $2858 = HEAP32[$pRec>>2]|0; - $2859 = HEAP32[$pData0>>2]|0; - $2860 = ($2858|0)==($2859|0); - if ($2860) { - break; - } - $2861 = HEAP32[$pRec>>2]|0; - $2862 = ((($2861)) + -40|0); - HEAP32[$pRec>>2] = $2862; - } - $2863 = HEAP32[$nHdr>>2]|0; - $2864 = ($2863|0)<=(126); - $2865 = HEAP32[$nHdr>>2]|0; - if ($2864) { - $2866 = (($2865) + 1)|0; - HEAP32[$nHdr>>2] = $2866; - } else { - $2867 = ($2865|0)<(0); - $2868 = $2867 << 31 >> 31; - $2869 = (_sqlite3VarintLen($2865,$2868)|0); - HEAP32[$nVarint>>2] = $2869; - $2870 = HEAP32[$nVarint>>2]|0; - $2871 = HEAP32[$nHdr>>2]|0; - $2872 = (($2871) + ($2870))|0; - HEAP32[$nHdr>>2] = $2872; - $2873 = HEAP32[$nVarint>>2]|0; - $2874 = HEAP32[$nHdr>>2]|0; - $2875 = ($2874|0)<(0); - $2876 = $2875 << 31 >> 31; - $2877 = (_sqlite3VarintLen($2874,$2876)|0); - $2878 = ($2873|0)<($2877|0); - if ($2878) { - $2879 = HEAP32[$nHdr>>2]|0; - $2880 = (($2879) + 1)|0; - HEAP32[$nHdr>>2] = $2880; - } - } - $2881 = HEAP32[$nHdr>>2]|0; - $2882 = ($2881|0)<(0); - $2883 = $2882 << 31 >> 31; - $2884 = $nData; - $2885 = $2884; - $2886 = HEAP32[$2885>>2]|0; - $2887 = (($2884) + 4)|0; - $2888 = $2887; - $2889 = HEAP32[$2888>>2]|0; - $2890 = (_i64Add(($2881|0),($2883|0),($2886|0),($2889|0))|0); - $2891 = tempRet0; - $2892 = $nByte13; - $2893 = $2892; - HEAP32[$2893>>2] = $2890; - $2894 = (($2892) + 4)|0; - $2895 = $2894; - HEAP32[$2895>>2] = $2891; - $2896 = $nByte13; - $2897 = $2896; - $2898 = HEAP32[$2897>>2]|0; - $2899 = (($2896) + 4)|0; - $2900 = $2899; - $2901 = HEAP32[$2900>>2]|0; - $2902 = $nZero; - $2903 = $2902; - $2904 = HEAP32[$2903>>2]|0; - $2905 = (($2902) + 4)|0; - $2906 = $2905; - $2907 = HEAP32[$2906>>2]|0; - $2908 = (_i64Add(($2898|0),($2901|0),($2904|0),($2907|0))|0); - $2909 = tempRet0; - $2910 = HEAP32[$db>>2]|0; - $2911 = ((($2910)) + 96|0); - $2912 = HEAP32[$2911>>2]|0; - $2913 = ($2912|0)<(0); - $2914 = $2913 << 31 >> 31; - $2915 = ($2909|0)>($2914|0); - $2916 = ($2908>>>0)>($2912>>>0); - $2917 = ($2909|0)==($2914|0); - $2918 = $2917 & $2916; - $2919 = $2915 | $2918; - if ($2919) { - label = 888; - break L8; - } - $2920 = HEAP32[$pOut>>2]|0; - $2921 = $nByte13; - $2922 = $2921; - $2923 = HEAP32[$2922>>2]|0; - $2924 = (($2921) + 4)|0; - $2925 = $2924; - $2926 = HEAP32[$2925>>2]|0; - $2927 = (_sqlite3VdbeMemClearAndResize($2920,$2923)|0); - $2928 = ($2927|0)!=(0); - if ($2928) { - label = 889; - break L1; - } - $2929 = HEAP32[$pOut>>2]|0; - $2930 = ((($2929)) + 16|0); - $2931 = HEAP32[$2930>>2]|0; - HEAP32[$zNewRecord>>2] = $2931; - $2932 = HEAP32[$nHdr>>2]|0; - $2933 = ($2932>>>0)<(128); - if ($2933) { - $2934 = HEAP32[$nHdr>>2]|0; - $2935 = $2934&255; - $2936 = HEAP32[$zNewRecord>>2]|0; - HEAP8[$2936>>0] = $2935; - $2943 = 1; - } else { - $2937 = HEAP32[$zNewRecord>>2]|0; - $2938 = HEAP32[$nHdr>>2]|0; - $2939 = ($2938|0)<(0); - $2940 = $2939 << 31 >> 31; - $2941 = (_sqlite3PutVarint($2937,$2938,$2940)|0); - $2943 = $2941; + } else { + label = 15; + } + } else { + label = 15; + } + } + do { + if ((label|0) == 15) { + label = 0; + $116 = HEAP32[$25>>2]|0; + $117 = ($116|0)!=(0); + if ($117) { + $118 = HEAP32[$39>>2]|0; + $119 = (_fts3IsSpecialColumn($118,$40,$41)|0); + $120 = ($119|0)!=(0); + if ($120) { + dest=$42; src=6700; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $121 = HEAP32[$41>>2]|0; + $122 = ($121|0)!=(0|0); + if (!($122)) { + HEAP32[$16>>2] = 7; + break; } - $2942 = $2943&255; - $2944 = $2942&255; - HEAP32[$i15>>2] = $2944; - $2945 = HEAP32[$nHdr>>2]|0; - HEAP32[$j>>2] = $2945; - $2946 = HEAP32[$pData0>>2]|0; - HEAP32[$pRec>>2] = $2946; + HEAP32[$43>>2] = 0; while(1) { - $2947 = HEAP32[$pRec>>2]|0; - $2948 = ((($2947)) + 28|0); - $2949 = HEAP32[$2948>>2]|0; - HEAP32[$serial_type>>2] = $2949; - $2950 = HEAP32[$serial_type>>2]|0; - $2951 = ($2950>>>0)<(128); - if ($2951) { - $2952 = HEAP32[$serial_type>>2]|0; - $2953 = $2952&255; - $2954 = HEAP32[$i15>>2]|0; - $2955 = HEAP32[$zNewRecord>>2]|0; - $2956 = (($2955) + ($2954)|0); - HEAP8[$2956>>0] = $2953; - $2963 = 1; - } else { - $2957 = HEAP32[$i15>>2]|0; - $2958 = HEAP32[$zNewRecord>>2]|0; - $2959 = (($2958) + ($2957)|0); - $2960 = HEAP32[$serial_type>>2]|0; - $2961 = (_sqlite3PutVarint($2959,$2960,0)|0); - $2963 = $2961; - } - $2962 = $2963&255; - $2964 = $2962&255; - $2965 = HEAP32[$i15>>2]|0; - $2966 = (($2965) + ($2964))|0; - HEAP32[$i15>>2] = $2966; - $2967 = HEAP32[$j>>2]|0; - $2968 = HEAP32[$zNewRecord>>2]|0; - $2969 = (($2968) + ($2967)|0); - $2970 = HEAP32[$pRec>>2]|0; - $2971 = HEAP32[$serial_type>>2]|0; - $2972 = (_sqlite3VdbeSerialPut($2969,$2970,$2971)|0); - $2973 = HEAP32[$j>>2]|0; - $2974 = (($2973) + ($2972))|0; - HEAP32[$j>>2] = $2974; - $2975 = HEAP32[$pRec>>2]|0; - $2976 = ((($2975)) + 40|0); - HEAP32[$pRec>>2] = $2976; - $2977 = HEAP32[$pLast>>2]|0; - $2978 = ($2976>>>0)<=($2977>>>0); - if (!($2978)) { + $123 = HEAP32[$43>>2]|0; + $124 = ($123|0)<(8); + if (!($124)) { break; } - } - $2979 = $nByte13; - $2980 = $2979; - $2981 = HEAP32[$2980>>2]|0; - $2982 = (($2979) + 4)|0; - $2983 = $2982; - $2984 = HEAP32[$2983>>2]|0; - $2985 = HEAP32[$pOut>>2]|0; - $2986 = ((($2985)) + 12|0); - HEAP32[$2986>>2] = $2981; - $2987 = HEAP32[$pOut>>2]|0; - $2988 = ((($2987)) + 8|0); - HEAP16[$2988>>1] = 16; - $2989 = $nZero; - $2990 = $2989; - $2991 = HEAP32[$2990>>2]|0; - $2992 = (($2989) + 4)|0; - $2993 = $2992; - $2994 = HEAP32[$2993>>2]|0; - $2995 = ($2991|0)!=(0); - $2996 = ($2994|0)!=(0); - $2997 = $2995 | $2996; - if ($2997) { - $2998 = $nZero; - $2999 = $2998; - $3000 = HEAP32[$2999>>2]|0; - $3001 = (($2998) + 4)|0; - $3002 = $3001; - $3003 = HEAP32[$3002>>2]|0; - $3004 = HEAP32[$pOut>>2]|0; - HEAP32[$3004>>2] = $3000; - $3005 = HEAP32[$pOut>>2]|0; - $3006 = ((($3005)) + 8|0); - $3007 = HEAP16[$3006>>1]|0; - $3008 = $3007&65535; - $3009 = $3008 | 16384; - $3010 = $3009&65535; - HEAP16[$3006>>1] = $3010; - } - $3011 = HEAP32[$pOut>>2]|0; - $3012 = ((($3011)) + 10|0); - HEAP8[$3012>>0] = 1; - break; - } - case 100: { - $3013 = HEAP32[$pOp>>2]|0; - $3014 = ((($3013)) + 4|0); - $3015 = HEAP32[$3014>>2]|0; - $3016 = HEAP32[$0>>2]|0; - $3017 = ((($3016)) + 112|0); - $3018 = HEAP32[$3017>>2]|0; - $3019 = (($3018) + ($3015<<2)|0); - $3020 = HEAP32[$3019>>2]|0; - $3021 = ((($3020)) + 16|0); - $3022 = HEAP32[$3021>>2]|0; - HEAP32[$pCrsr17>>2] = $3022; - $3023 = $nEntry; - $3024 = $3023; - HEAP32[$3024>>2] = 0; - $3025 = (($3023) + 4)|0; - $3026 = $3025; - HEAP32[$3026>>2] = 0; - $3027 = HEAP32[$pCrsr17>>2]|0; - $3028 = (_sqlite3BtreeCount($3027,$nEntry)|0); - HEAP32[$rc>>2] = $3028; - $3029 = HEAP32[$rc>>2]|0; - $3030 = ($3029|0)!=(0); - if ($3030) { - break L1; - } - $3031 = HEAP32[$0>>2]|0; - $3032 = HEAP32[$pOp>>2]|0; - $3033 = (_out2Prerelease($3031,$3032)|0); - HEAP32[$pOut>>2] = $3033; - $3034 = $nEntry; - $3035 = $3034; - $3036 = HEAP32[$3035>>2]|0; - $3037 = (($3034) + 4)|0; - $3038 = $3037; - $3039 = HEAP32[$3038>>2]|0; - $3040 = HEAP32[$pOut>>2]|0; - $3041 = $3040; - $3042 = $3041; - HEAP32[$3042>>2] = $3036; - $3043 = (($3041) + 4)|0; - $3044 = $3043; - HEAP32[$3044>>2] = $3039; - break; - } - case 0: { - $3045 = HEAP32[$pOp>>2]|0; - $3046 = ((($3045)) + 4|0); - $3047 = HEAP32[$3046>>2]|0; - HEAP32[$p118>>2] = $3047; - $3048 = HEAP32[$pOp>>2]|0; - $3049 = ((($3048)) + 16|0); - $3050 = HEAP32[$3049>>2]|0; - HEAP32[$zName>>2] = $3050; - $3051 = HEAP32[$p118>>2]|0; - $3052 = ($3051|0)==(0); - do { - if ($3052) { - $3053 = HEAP32[$db>>2]|0; - $3054 = ((($3053)) + 164|0); - $3055 = HEAP32[$3054>>2]|0; - $3056 = ($3055|0)>(0); - if ($3056) { - $3057 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($3057,39951,$vararg_buffer47); - HEAP32[$rc>>2] = 5; + $125 = HEAP32[$43>>2]|0; + $126 = (($42) + ($125<<3)|0); + HEAP32[$44>>2] = $126; + $127 = HEAP32[$40>>2]|0; + $128 = HEAP32[$44>>2]|0; + $129 = ((($128)) + 4|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($127|0)==($130|0); + if ($131) { + $132 = HEAP32[$39>>2]|0; + $133 = HEAP32[$44>>2]|0; + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$44>>2]|0; + $136 = ((($135)) + 4|0); + $137 = HEAP32[$136>>2]|0; + $138 = (_sqlite3_strnicmp($132,$134,$137)|0); + $139 = ($138|0)!=(0); + if (!($139)) { break; } - $3058 = HEAP32[$zName>>2]|0; - $3059 = (_sqlite3Strlen30($3058)|0); - HEAP32[$nName>>2] = $3059; - $3060 = HEAP32[$db>>2]|0; - $3061 = HEAP32[$db>>2]|0; - $3062 = ((($3061)) + 436|0); - $3063 = HEAP32[$3062>>2]|0; - $3064 = HEAP32[$db>>2]|0; - $3065 = ((($3064)) + 432|0); - $3066 = HEAP32[$3065>>2]|0; - $3067 = (($3063) + ($3066))|0; - $3068 = (_sqlite3VtabSavepoint($3060,0,$3067)|0); - HEAP32[$rc>>2] = $3068; - $3069 = HEAP32[$rc>>2]|0; - $3070 = ($3069|0)!=(0); - if ($3070) { - break L1; - } - $3071 = HEAP32[$db>>2]|0; - $3072 = HEAP32[$nName>>2]|0; - $3073 = (32 + ($3072))|0; - $3074 = (($3073) + 1)|0; - $3075 = (_sqlite3DbMallocRawNN($3071,$3074,0)|0); - HEAP32[$pNew>>2] = $3075; - $3076 = HEAP32[$pNew>>2]|0; - $3077 = ($3076|0)!=(0|0); - if ($3077) { - $3078 = HEAP32[$pNew>>2]|0; - $3079 = ((($3078)) + 32|0); - $3080 = HEAP32[$pNew>>2]|0; - HEAP32[$3080>>2] = $3079; - $3081 = HEAP32[$pNew>>2]|0; - $3082 = HEAP32[$3081>>2]|0; - $3083 = HEAP32[$zName>>2]|0; - $3084 = HEAP32[$nName>>2]|0; - $3085 = (($3084) + 1)|0; - _memcpy(($3082|0),($3083|0),($3085|0))|0; - $3086 = HEAP32[$db>>2]|0; - $3087 = ((($3086)) + 67|0); - $3088 = HEAP8[$3087>>0]|0; - $3089 = ($3088<<24>>24)!=(0); - $3090 = HEAP32[$db>>2]|0; - if ($3089) { - $3091 = ((($3090)) + 67|0); - HEAP8[$3091>>0] = 0; - $3092 = HEAP32[$db>>2]|0; - $3093 = ((($3092)) + 75|0); - HEAP8[$3093>>0] = 1; - } else { - $3094 = ((($3090)) + 432|0); - $3095 = HEAP32[$3094>>2]|0; - $3096 = (($3095) + 1)|0; - HEAP32[$3094>>2] = $3096; - } - $3097 = HEAP32[$db>>2]|0; - $3098 = ((($3097)) + 424|0); - $3099 = HEAP32[$3098>>2]|0; - $3100 = HEAP32[$pNew>>2]|0; - $3101 = ((($3100)) + 24|0); - HEAP32[$3101>>2] = $3099; - $3102 = HEAP32[$pNew>>2]|0; - $3103 = HEAP32[$db>>2]|0; - $3104 = ((($3103)) + 424|0); - HEAP32[$3104>>2] = $3102; - $3105 = HEAP32[$db>>2]|0; - $3106 = ((($3105)) + 440|0); - $3107 = $3106; - $3108 = $3107; - $3109 = HEAP32[$3108>>2]|0; - $3110 = (($3107) + 4)|0; - $3111 = $3110; - $3112 = HEAP32[$3111>>2]|0; - $3113 = HEAP32[$pNew>>2]|0; - $3114 = ((($3113)) + 8|0); - $3115 = $3114; - $3116 = $3115; - HEAP32[$3116>>2] = $3109; - $3117 = (($3115) + 4)|0; - $3118 = $3117; - HEAP32[$3118>>2] = $3112; - $3119 = HEAP32[$db>>2]|0; - $3120 = ((($3119)) + 448|0); - $3121 = $3120; - $3122 = $3121; - $3123 = HEAP32[$3122>>2]|0; - $3124 = (($3121) + 4)|0; - $3125 = $3124; - $3126 = HEAP32[$3125>>2]|0; - $3127 = HEAP32[$pNew>>2]|0; - $3128 = ((($3127)) + 16|0); - $3129 = $3128; - $3130 = $3129; - HEAP32[$3130>>2] = $3123; - $3131 = (($3129) + 4)|0; - $3132 = $3131; - HEAP32[$3132>>2] = $3126; - } + } + $140 = HEAP32[$43>>2]|0; + $141 = (($140) + 1)|0; + HEAP32[$43>>2] = $141; + } + $142 = HEAP32[$43>>2]|0; + $143 = ($142|0)==(8); + L33: do { + if ($143) { + $144 = HEAP32[$13>>2]|0; + $145 = HEAP32[$39>>2]|0; + HEAP32[$vararg_buffer>>2] = $145; + _sqlite3Fts3ErrMsg($144,46140,$vararg_buffer); + HEAP32[$16>>2] = 1; } else { - HEAP32[$iSavepoint>>2] = 0; - $3133 = HEAP32[$db>>2]|0; - $3134 = ((($3133)) + 424|0); - $3135 = HEAP32[$3134>>2]|0; - HEAP32[$pSavepoint>>2] = $3135; - while(1) { - $3136 = HEAP32[$pSavepoint>>2]|0; - $3137 = ($3136|0)!=(0|0); - if (!($3137)) { - break; + $146 = HEAP32[$43>>2]|0; + switch ($146|0) { + case 0: { + $147 = HEAP32[$41>>2]|0; + $148 = (_strlen($147)|0); + $149 = ($148|0)!=(4); + if ($149) { + label = 29; + } else { + $150 = HEAP32[$41>>2]|0; + $151 = (_sqlite3_strnicmp($150,42646,4)|0); + $152 = ($151|0)!=(0); + if ($152) { + label = 29; + } } - $3138 = HEAP32[$pSavepoint>>2]|0; - $3139 = HEAP32[$3138>>2]|0; - $3140 = HEAP32[$zName>>2]|0; - $3141 = (_sqlite3StrICmp($3139,$3140)|0); - $3142 = ($3141|0)!=(0); - if (!($3142)) { - break; + if ((label|0) == 29) { + label = 0; + $153 = HEAP32[$13>>2]|0; + $154 = HEAP32[$41>>2]|0; + HEAP32[$vararg_buffer8>>2] = $154; + _sqlite3Fts3ErrMsg($153,46167,$vararg_buffer8); + HEAP32[$16>>2] = 1; } - $3143 = HEAP32[$iSavepoint>>2]|0; - $3144 = (($3143) + 1)|0; - HEAP32[$iSavepoint>>2] = $3144; - $3145 = HEAP32[$pSavepoint>>2]|0; - $3146 = ((($3145)) + 24|0); - $3147 = HEAP32[$3146>>2]|0; - HEAP32[$pSavepoint>>2] = $3147; + HEAP32[$30>>2] = 1; + break L33; + break; } - $3148 = HEAP32[$pSavepoint>>2]|0; - $3149 = ($3148|0)!=(0|0); - if (!($3149)) { - $3150 = HEAP32[$0>>2]|0; - $3151 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer49>>2] = $3151; - _sqlite3VdbeError($3150,40002,$vararg_buffer49); - HEAP32[$rc>>2] = 1; + case 1: { + $155 = HEAP32[$32>>2]|0; + _sqlite3_free($155); + $156 = HEAP32[$41>>2]|0; + HEAP32[$32>>2] = $156; + HEAP32[$41>>2] = 0; + break L33; break; } - $3152 = HEAP32[$db>>2]|0; - $3153 = ((($3152)) + 164|0); - $3154 = HEAP32[$3153>>2]|0; - $3155 = ($3154|0)>(0); - $3156 = HEAP32[$p118>>2]|0; - $3157 = ($3156|0)==(1); - $or$cond6 = $3155 & $3157; - if ($or$cond6) { - $3158 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($3158,40024,$vararg_buffer52); - HEAP32[$rc>>2] = 5; + case 2: { + $157 = HEAP32[$33>>2]|0; + _sqlite3_free($157); + $158 = HEAP32[$41>>2]|0; + HEAP32[$33>>2] = $158; + HEAP32[$41>>2] = 0; + break L33; break; } - $3159 = HEAP32[$pSavepoint>>2]|0; - $3160 = ((($3159)) + 24|0); - $3161 = HEAP32[$3160>>2]|0; - $3162 = ($3161|0)==(0|0); - if ($3162) { - $3163 = HEAP32[$db>>2]|0; - $3164 = ((($3163)) + 75|0); - $3165 = HEAP8[$3164>>0]|0; - $3166 = $3165&255; - $3167 = ($3166|0)!=(0); - $3169 = $3167; - } else { - $3169 = 0; + case 3: { + $159 = HEAP32[$34>>2]|0; + _sqlite3_free($159); + $160 = HEAP32[$41>>2]|0; + HEAP32[$34>>2] = $160; + HEAP32[$41>>2] = 0; + break L33; + break; } - $3168 = $3169&1; - HEAP32[$isTransaction>>2] = $3168; - $3170 = HEAP32[$isTransaction>>2]|0; - $3171 = ($3170|0)!=(0); - $3172 = HEAP32[$p118>>2]|0; - $3173 = ($3172|0)==(1); - $or$cond8 = $3171 & $3173; - if ($or$cond8) { - $3174 = HEAP32[$0>>2]|0; - $3175 = (_sqlite3VdbeCheckFk($3174,1)|0); - HEAP32[$rc>>2] = $3175; - $3176 = ($3175|0)!=(0); - if ($3176) { - label = 887; - break L8; - } - $3177 = HEAP32[$db>>2]|0; - $3178 = ((($3177)) + 67|0); - HEAP8[$3178>>0] = 1; - $3179 = HEAP32[$0>>2]|0; - $3180 = (_sqlite3VdbeHalt($3179)|0); - $3181 = ($3180|0)==(5); - if ($3181) { - label = 370; - break L8; + case 4: { + $161 = HEAP32[$41>>2]|0; + $162 = (_strlen($161)|0); + $163 = ($162|0)!=(3); + if ($163) { + label = 36; + } else { + $164 = HEAP32[$41>>2]|0; + $165 = (_sqlite3_strnicmp($164,46194,3)|0); + $166 = ($165|0)!=(0); + if ($166) { + label = 36; + } } - $3194 = HEAP32[$db>>2]|0; - $3195 = ((($3194)) + 75|0); - HEAP8[$3195>>0] = 0; - $3196 = HEAP32[$0>>2]|0; - $3197 = ((($3196)) + 40|0); - $3198 = HEAP32[$3197>>2]|0; - HEAP32[$rc>>2] = $3198; - } else { - $3199 = HEAP32[$db>>2]|0; - $3200 = ((($3199)) + 432|0); - $3201 = HEAP32[$3200>>2]|0; - $3202 = HEAP32[$iSavepoint>>2]|0; - $3203 = (($3201) - ($3202))|0; - $3204 = (($3203) - 1)|0; - HEAP32[$iSavepoint>>2] = $3204; - $3205 = HEAP32[$p118>>2]|0; - $3206 = ($3205|0)==(2); - L418: do { - if ($3206) { - $3207 = HEAP32[$db>>2]|0; - $3208 = ((($3207)) + 24|0); - $3209 = HEAP32[$3208>>2]|0; - $3210 = $3209 & 2; - $3211 = ($3210|0)!=(0); - $3212 = $3211&1; - HEAP32[$isSchemaChange>>2] = $3212; - HEAP32[$ii>>2] = 0; - while(1) { - $3213 = HEAP32[$ii>>2]|0; - $3214 = HEAP32[$db>>2]|0; - $3215 = ((($3214)) + 20|0); - $3216 = HEAP32[$3215>>2]|0; - $3217 = ($3213|0)<($3216|0); - if (!($3217)) { - break L418; - } - $3218 = HEAP32[$ii>>2]|0; - $3219 = HEAP32[$db>>2]|0; - $3220 = ((($3219)) + 16|0); - $3221 = HEAP32[$3220>>2]|0; - $3222 = (($3221) + ($3218<<4)|0); - $3223 = ((($3222)) + 4|0); - $3224 = HEAP32[$3223>>2]|0; - $3225 = HEAP32[$isSchemaChange>>2]|0; - $3226 = ($3225|0)==(0); - $3227 = $3226&1; - $3228 = (_sqlite3BtreeTripAllCursors($3224,516,$3227)|0); - HEAP32[$rc>>2] = $3228; - $3229 = HEAP32[$rc>>2]|0; - $3230 = ($3229|0)!=(0); - if ($3230) { - break L1; + do { + if ((label|0) == 36) { + label = 0; + $167 = HEAP32[$41>>2]|0; + $168 = (_strlen($167)|0); + $169 = ($168|0)!=(4); + if (!($169)) { + $170 = HEAP32[$41>>2]|0; + $171 = (_sqlite3_strnicmp($170,32597,4)|0); + $172 = ($171|0)!=(0); + if (!($172)) { + break; } - $3231 = HEAP32[$ii>>2]|0; - $3232 = (($3231) + 1)|0; - HEAP32[$ii>>2] = $3232; } - } else { - HEAP32[$isSchemaChange>>2] = 0; + $173 = HEAP32[$13>>2]|0; + $174 = HEAP32[$41>>2]|0; + HEAP32[$vararg_buffer11>>2] = $174; + _sqlite3Fts3ErrMsg($173,46198,$vararg_buffer11); + HEAP32[$16>>2] = 1; } } while(0); - HEAP32[$ii>>2] = 0; - while(1) { - $3233 = HEAP32[$ii>>2]|0; - $3234 = HEAP32[$db>>2]|0; - $3235 = ((($3234)) + 20|0); - $3236 = HEAP32[$3235>>2]|0; - $3237 = ($3233|0)<($3236|0); - if (!($3237)) { - break; - } - $3238 = HEAP32[$ii>>2]|0; - $3239 = HEAP32[$db>>2]|0; - $3240 = ((($3239)) + 16|0); - $3241 = HEAP32[$3240>>2]|0; - $3242 = (($3241) + ($3238<<4)|0); - $3243 = ((($3242)) + 4|0); - $3244 = HEAP32[$3243>>2]|0; - $3245 = HEAP32[$p118>>2]|0; - $3246 = HEAP32[$iSavepoint>>2]|0; - $3247 = (_sqlite3BtreeSavepoint($3244,$3245,$3246)|0); - HEAP32[$rc>>2] = $3247; - $3248 = HEAP32[$rc>>2]|0; - $3249 = ($3248|0)!=(0); - if ($3249) { - break L1; - } - $3250 = HEAP32[$ii>>2]|0; - $3251 = (($3250) + 1)|0; - HEAP32[$ii>>2] = $3251; - } - $3252 = HEAP32[$isSchemaChange>>2]|0; - $3253 = ($3252|0)!=(0); - if ($3253) { - $3254 = HEAP32[$db>>2]|0; - _sqlite3ExpirePreparedStatements($3254); - $3255 = HEAP32[$db>>2]|0; - _sqlite3ResetAllSchemasOfConnection($3255); - $3256 = HEAP32[$db>>2]|0; - $3257 = ((($3256)) + 24|0); - $3258 = HEAP32[$3257>>2]|0; - $3259 = $3258 | 2; - $3260 = HEAP32[$db>>2]|0; - $3261 = ((($3260)) + 24|0); - HEAP32[$3261>>2] = $3259; - } - } - while(1) { - $3262 = HEAP32[$db>>2]|0; - $3263 = ((($3262)) + 424|0); - $3264 = HEAP32[$3263>>2]|0; - $3265 = HEAP32[$pSavepoint>>2]|0; - $3266 = ($3264|0)!=($3265|0); - if (!($3266)) { - break; - } - $3267 = HEAP32[$db>>2]|0; - $3268 = ((($3267)) + 424|0); - $3269 = HEAP32[$3268>>2]|0; - HEAP32[$pTmp>>2] = $3269; - $3270 = HEAP32[$pTmp>>2]|0; - $3271 = ((($3270)) + 24|0); - $3272 = HEAP32[$3271>>2]|0; - $3273 = HEAP32[$db>>2]|0; - $3274 = ((($3273)) + 424|0); - HEAP32[$3274>>2] = $3272; - $3275 = HEAP32[$db>>2]|0; - $3276 = HEAP32[$pTmp>>2]|0; - _sqlite3DbFree($3275,$3276); - $3277 = HEAP32[$db>>2]|0; - $3278 = ((($3277)) + 432|0); - $3279 = HEAP32[$3278>>2]|0; - $3280 = (($3279) + -1)|0; - HEAP32[$3278>>2] = $3280; - } - $3281 = HEAP32[$p118>>2]|0; - $3282 = ($3281|0)==(1); - $3283 = HEAP32[$pSavepoint>>2]|0; - if ($3282) { - $3284 = ((($3283)) + 24|0); - $3285 = HEAP32[$3284>>2]|0; - $3286 = HEAP32[$db>>2]|0; - $3287 = ((($3286)) + 424|0); - HEAP32[$3287>>2] = $3285; - $3288 = HEAP32[$db>>2]|0; - $3289 = HEAP32[$pSavepoint>>2]|0; - _sqlite3DbFree($3288,$3289); - $3290 = HEAP32[$isTransaction>>2]|0; - $3291 = ($3290|0)!=(0); - if (!($3291)) { - $3292 = HEAP32[$db>>2]|0; - $3293 = ((($3292)) + 432|0); - $3294 = HEAP32[$3293>>2]|0; - $3295 = (($3294) + -1)|0; - HEAP32[$3293>>2] = $3295; - } - } else { - $3296 = ((($3283)) + 8|0); - $3297 = $3296; - $3298 = $3297; - $3299 = HEAP32[$3298>>2]|0; - $3300 = (($3297) + 4)|0; - $3301 = $3300; - $3302 = HEAP32[$3301>>2]|0; - $3303 = HEAP32[$db>>2]|0; - $3304 = ((($3303)) + 440|0); - $3305 = $3304; - $3306 = $3305; - HEAP32[$3306>>2] = $3299; - $3307 = (($3305) + 4)|0; - $3308 = $3307; - HEAP32[$3308>>2] = $3302; - $3309 = HEAP32[$pSavepoint>>2]|0; - $3310 = ((($3309)) + 16|0); - $3311 = $3310; - $3312 = $3311; - $3313 = HEAP32[$3312>>2]|0; - $3314 = (($3311) + 4)|0; - $3315 = $3314; - $3316 = HEAP32[$3315>>2]|0; - $3317 = HEAP32[$db>>2]|0; - $3318 = ((($3317)) + 448|0); - $3319 = $3318; - $3320 = $3319; - HEAP32[$3320>>2] = $3313; - $3321 = (($3319) + 4)|0; - $3322 = $3321; - HEAP32[$3322>>2] = $3316; - } - $3323 = HEAP32[$isTransaction>>2]|0; - $3324 = ($3323|0)==(0); - $3325 = HEAP32[$p118>>2]|0; - $3326 = ($3325|0)==(2); - $or$cond10 = $3324 | $3326; - if ($or$cond10) { - $3327 = HEAP32[$db>>2]|0; - $3328 = HEAP32[$p118>>2]|0; - $3329 = HEAP32[$iSavepoint>>2]|0; - $3330 = (_sqlite3VtabSavepoint($3327,$3328,$3329)|0); - HEAP32[$rc>>2] = $3330; - $3331 = HEAP32[$rc>>2]|0; - $3332 = ($3331|0)!=(0); - $3333 = HEAP32[$rc>>2]|0; - $3334 = ($3333|0)!=(0); - $or$cond28 = $3332 | $3334; - if ($or$cond28) { - break L1; - } else { - break L10; - } - } - } - } while(0); - $$old = HEAP32[$rc>>2]|0; - $$old27 = ($$old|0)!=(0); - if ($$old27) { - break L1; - } - break; - } - case 2: { - $3396 = HEAP32[$pOp>>2]|0; - $3397 = ((($3396)) + 8|0); - $3398 = HEAP32[$3397>>2]|0; - $3399 = ($3398|0)!=(0); - if ($3399) { - $3400 = HEAP32[$db>>2]|0; - $3401 = ((($3400)) + 24|0); - $3402 = HEAP32[$3401>>2]|0; - $3403 = $3402 & 67108864; - $3404 = ($3403|0)!=(0); - if ($3404) { - label = 411; - break L8; - } - } - $3405 = HEAP32[$pOp>>2]|0; - $3406 = ((($3405)) + 4|0); - $3407 = HEAP32[$3406>>2]|0; - $3408 = HEAP32[$db>>2]|0; - $3409 = ((($3408)) + 16|0); - $3410 = HEAP32[$3409>>2]|0; - $3411 = (($3410) + ($3407<<4)|0); - $3412 = ((($3411)) + 4|0); - $3413 = HEAP32[$3412>>2]|0; - HEAP32[$pBt>>2] = $3413; - $3414 = HEAP32[$pBt>>2]|0; - $3415 = ($3414|0)!=(0|0); - if ($3415) { - $3416 = HEAP32[$pBt>>2]|0; - $3417 = HEAP32[$pOp>>2]|0; - $3418 = ((($3417)) + 8|0); - $3419 = HEAP32[$3418>>2]|0; - $3420 = (_sqlite3BtreeBeginTrans($3416,$3419)|0); - HEAP32[$rc>>2] = $3420; - $3421 = HEAP32[$rc>>2]|0; - $3422 = ($3421|0)!=(0); - if ($3422) { - label = 414; - break L8; - } - $3437 = HEAP32[$pOp>>2]|0; - $3438 = ((($3437)) + 8|0); - $3439 = HEAP32[$3438>>2]|0; - $3440 = ($3439|0)!=(0); - do { - if ($3440) { - $3441 = HEAP32[$0>>2]|0; - $3442 = ((($3441)) + 144|0); - $3443 = HEAP16[$3442>>1]|0; - $3444 = ($3443&65535) >>> 6; - $3445 = $3444 & 1; - $3446 = $3445&65535; - $3447 = ($3446|0)!=(0); - if ($3447) { - $3448 = HEAP32[$db>>2]|0; - $3449 = ((($3448)) + 67|0); - $3450 = HEAP8[$3449>>0]|0; - $3451 = $3450&255; - $3452 = ($3451|0)==(0); - if (!($3452)) { - $3453 = HEAP32[$db>>2]|0; - $3454 = ((($3453)) + 160|0); - $3455 = HEAP32[$3454>>2]|0; - $3456 = ($3455|0)>(1); - if (!($3456)) { - break; - } - } - $3457 = HEAP32[$0>>2]|0; - $3458 = ((($3457)) + 48|0); - $3459 = HEAP32[$3458>>2]|0; - $3460 = ($3459|0)==(0); - if ($3460) { - $3461 = HEAP32[$db>>2]|0; - $3462 = ((($3461)) + 436|0); - $3463 = HEAP32[$3462>>2]|0; - $3464 = (($3463) + 1)|0; - HEAP32[$3462>>2] = $3464; - $3465 = HEAP32[$db>>2]|0; - $3466 = ((($3465)) + 432|0); - $3467 = HEAP32[$3466>>2]|0; - $3468 = HEAP32[$db>>2]|0; - $3469 = ((($3468)) + 436|0); - $3470 = HEAP32[$3469>>2]|0; - $3471 = (($3467) + ($3470))|0; - $3472 = HEAP32[$0>>2]|0; - $3473 = ((($3472)) + 48|0); - HEAP32[$3473>>2] = $3471; - } - $3474 = HEAP32[$db>>2]|0; - $3475 = HEAP32[$0>>2]|0; - $3476 = ((($3475)) + 48|0); - $3477 = HEAP32[$3476>>2]|0; - $3478 = (($3477) - 1)|0; - $3479 = (_sqlite3VtabSavepoint($3474,0,$3478)|0); - HEAP32[$rc>>2] = $3479; - $3480 = HEAP32[$rc>>2]|0; - $3481 = ($3480|0)==(0); - if ($3481) { - $3482 = HEAP32[$pBt>>2]|0; - $3483 = HEAP32[$0>>2]|0; - $3484 = ((($3483)) + 48|0); - $3485 = HEAP32[$3484>>2]|0; - $3486 = (_sqlite3BtreeBeginStmt($3482,$3485)|0); - HEAP32[$rc>>2] = $3486; - } - $3487 = HEAP32[$db>>2]|0; - $3488 = ((($3487)) + 440|0); - $3489 = $3488; - $3490 = $3489; - $3491 = HEAP32[$3490>>2]|0; - $3492 = (($3489) + 4)|0; - $3493 = $3492; - $3494 = HEAP32[$3493>>2]|0; - $3495 = HEAP32[$0>>2]|0; - $3496 = ((($3495)) + 72|0); - $3497 = $3496; - $3498 = $3497; - HEAP32[$3498>>2] = $3491; - $3499 = (($3497) + 4)|0; - $3500 = $3499; - HEAP32[$3500>>2] = $3494; - $3501 = HEAP32[$db>>2]|0; - $3502 = ((($3501)) + 448|0); - $3503 = $3502; - $3504 = $3503; - $3505 = HEAP32[$3504>>2]|0; - $3506 = (($3503) + 4)|0; - $3507 = $3506; - $3508 = HEAP32[$3507>>2]|0; - $3509 = HEAP32[$0>>2]|0; - $3510 = ((($3509)) + 80|0); - $3511 = $3510; - $3512 = $3511; - HEAP32[$3512>>2] = $3505; - $3513 = (($3511) + 4)|0; - $3514 = $3513; - HEAP32[$3514>>2] = $3508; - } - } - } while(0); - $3515 = HEAP32[$pBt>>2]|0; - _sqlite3BtreeGetMeta($3515,1,$iMeta); - $3516 = HEAP32[$pOp>>2]|0; - $3517 = ((($3516)) + 4|0); - $3518 = HEAP32[$3517>>2]|0; - $3519 = HEAP32[$db>>2]|0; - $3520 = ((($3519)) + 16|0); - $3521 = HEAP32[$3520>>2]|0; - $3522 = (($3521) + ($3518<<4)|0); - $3523 = ((($3522)) + 12|0); - $3524 = HEAP32[$3523>>2]|0; - $3525 = ((($3524)) + 4|0); - $3526 = HEAP32[$3525>>2]|0; - HEAP32[$iGen>>2] = $3526; - } else { - HEAP32[$iMeta>>2] = 0; - HEAP32[$iGen>>2] = 0; - } - $3527 = HEAP32[$pOp>>2]|0; - $3528 = ((($3527)) + 3|0); - $3529 = HEAP8[$3528>>0]|0; - $3530 = $3529&255; - $3531 = ($3530|0)!=(0); - do { - if ($3531) { - $3532 = HEAP32[$iMeta>>2]|0; - $3533 = HEAP32[$pOp>>2]|0; - $3534 = ((($3533)) + 12|0); - $3535 = HEAP32[$3534>>2]|0; - $3536 = ($3532|0)!=($3535|0); - if (!($3536)) { - $3537 = HEAP32[$iGen>>2]|0; - $3538 = HEAP32[$pOp>>2]|0; - $3539 = ((($3538)) + 16|0); - $3540 = HEAP32[$3539>>2]|0; - $3541 = ($3537|0)!=($3540|0); - if (!($3541)) { - break; - } - } - $3542 = HEAP32[$db>>2]|0; - $3543 = HEAP32[$0>>2]|0; - $3544 = ((($3543)) + 108|0); - $3545 = HEAP32[$3544>>2]|0; - _sqlite3DbFree($3542,$3545); - $3546 = HEAP32[$db>>2]|0; - $3547 = (_sqlite3DbStrDup($3546,40265)|0); - $3548 = HEAP32[$0>>2]|0; - $3549 = ((($3548)) + 108|0); - HEAP32[$3549>>2] = $3547; - $3550 = HEAP32[$pOp>>2]|0; - $3551 = ((($3550)) + 4|0); - $3552 = HEAP32[$3551>>2]|0; - $3553 = HEAP32[$db>>2]|0; - $3554 = ((($3553)) + 16|0); - $3555 = HEAP32[$3554>>2]|0; - $3556 = (($3555) + ($3552<<4)|0); - $3557 = ((($3556)) + 12|0); - $3558 = HEAP32[$3557>>2]|0; - $3559 = HEAP32[$3558>>2]|0; - $3560 = HEAP32[$iMeta>>2]|0; - $3561 = ($3559|0)!=($3560|0); - if ($3561) { - $3562 = HEAP32[$db>>2]|0; - $3563 = HEAP32[$pOp>>2]|0; - $3564 = ((($3563)) + 4|0); - $3565 = HEAP32[$3564>>2]|0; - _sqlite3ResetOneSchema($3562,$3565); - } - $3566 = HEAP32[$0>>2]|0; - $3567 = ((($3566)) + 144|0); - $3568 = HEAP16[$3567>>1]|0; - $3569 = $3568 & -2; - $3570 = $3569 | 1; - HEAP16[$3567>>1] = $3570; - HEAP32[$rc>>2] = 17; - } - } while(0); - $3571 = HEAP32[$rc>>2]|0; - $3572 = ($3571|0)!=(0); - if ($3572) { - break L1; - } - break; - } - case 101: { - $3573 = HEAP32[$pOp>>2]|0; - $3574 = ((($3573)) + 4|0); - $3575 = HEAP32[$3574>>2]|0; - HEAP32[$iDb>>2] = $3575; - $3576 = HEAP32[$pOp>>2]|0; - $3577 = ((($3576)) + 12|0); - $3578 = HEAP32[$3577>>2]|0; - HEAP32[$iCookie>>2] = $3578; - $3579 = HEAP32[$iDb>>2]|0; - $3580 = HEAP32[$db>>2]|0; - $3581 = ((($3580)) + 16|0); - $3582 = HEAP32[$3581>>2]|0; - $3583 = (($3582) + ($3579<<4)|0); - $3584 = ((($3583)) + 4|0); - $3585 = HEAP32[$3584>>2]|0; - $3586 = HEAP32[$iCookie>>2]|0; - _sqlite3BtreeGetMeta($3585,$3586,$iMeta19); - $3587 = HEAP32[$0>>2]|0; - $3588 = HEAP32[$pOp>>2]|0; - $3589 = (_out2Prerelease($3587,$3588)|0); - HEAP32[$pOut>>2] = $3589; - $3590 = HEAP32[$iMeta19>>2]|0; - $3591 = ($3590|0)<(0); - $3592 = $3591 << 31 >> 31; - $3593 = HEAP32[$pOut>>2]|0; - $3594 = $3593; - $3595 = $3594; - HEAP32[$3595>>2] = $3590; - $3596 = (($3594) + 4)|0; - $3597 = $3596; - HEAP32[$3597>>2] = $3592; - break; - } - case 102: { - $3598 = HEAP32[$pOp>>2]|0; - $3599 = ((($3598)) + 4|0); - $3600 = HEAP32[$3599>>2]|0; - $3601 = HEAP32[$db>>2]|0; - $3602 = ((($3601)) + 16|0); - $3603 = HEAP32[$3602>>2]|0; - $3604 = (($3603) + ($3600<<4)|0); - HEAP32[$pDb>>2] = $3604; - $3605 = HEAP32[$pDb>>2]|0; - $3606 = ((($3605)) + 4|0); - $3607 = HEAP32[$3606>>2]|0; - $3608 = HEAP32[$pOp>>2]|0; - $3609 = ((($3608)) + 8|0); - $3610 = HEAP32[$3609>>2]|0; - $3611 = HEAP32[$pOp>>2]|0; - $3612 = ((($3611)) + 12|0); - $3613 = HEAP32[$3612>>2]|0; - $3614 = (_sqlite3BtreeUpdateMeta($3607,$3610,$3613)|0); - HEAP32[$rc>>2] = $3614; - $3615 = HEAP32[$pOp>>2]|0; - $3616 = ((($3615)) + 8|0); - $3617 = HEAP32[$3616>>2]|0; - $3618 = ($3617|0)==(1); - $3619 = HEAP32[$pOp>>2]|0; - if ($3618) { - $3620 = ((($3619)) + 12|0); - $3621 = HEAP32[$3620>>2]|0; - $3622 = HEAP32[$pDb>>2]|0; - $3623 = ((($3622)) + 12|0); - $3624 = HEAP32[$3623>>2]|0; - HEAP32[$3624>>2] = $3621; - $3625 = HEAP32[$db>>2]|0; - $3626 = ((($3625)) + 24|0); - $3627 = HEAP32[$3626>>2]|0; - $3628 = $3627 | 2; - HEAP32[$3626>>2] = $3628; - } else { - $3629 = ((($3619)) + 8|0); - $3630 = HEAP32[$3629>>2]|0; - $3631 = ($3630|0)==(2); - if ($3631) { - $3632 = HEAP32[$pOp>>2]|0; - $3633 = ((($3632)) + 12|0); - $3634 = HEAP32[$3633>>2]|0; - $3635 = $3634&255; - $3636 = HEAP32[$pDb>>2]|0; - $3637 = ((($3636)) + 12|0); - $3638 = HEAP32[$3637>>2]|0; - $3639 = ((($3638)) + 76|0); - HEAP8[$3639>>0] = $3635; - } - } - $3640 = HEAP32[$pOp>>2]|0; - $3641 = ((($3640)) + 4|0); - $3642 = HEAP32[$3641>>2]|0; - $3643 = ($3642|0)==(1); - if ($3643) { - $3644 = HEAP32[$db>>2]|0; - _sqlite3ExpirePreparedStatements($3644); - $3645 = HEAP32[$0>>2]|0; - $3646 = ((($3645)) + 144|0); - $3647 = HEAP16[$3646>>1]|0; - $3648 = $3647 & -2; - HEAP16[$3646>>1] = $3648; - } - $3649 = HEAP32[$rc>>2]|0; - $3650 = ($3649|0)!=(0); - if ($3650) { - break L1; - } - break; - } - case 103: { - $3651 = HEAP32[$pOp>>2]|0; - $3652 = ((($3651)) + 4|0); - $3653 = HEAP32[$3652>>2]|0; - $3654 = HEAP32[$0>>2]|0; - $3655 = ((($3654)) + 112|0); - $3656 = HEAP32[$3655>>2]|0; - $3657 = (($3656) + ($3653<<2)|0); - $3658 = HEAP32[$3657>>2]|0; - HEAP32[$pCur>>2] = $3658; - $3659 = HEAP32[$pCur>>2]|0; - $3660 = ($3659|0)!=(0|0); - if ($3660) { - $3661 = HEAP32[$pCur>>2]|0; - $3662 = ((($3661)) + 8|0); - $3663 = HEAP32[$3662>>2]|0; - $3664 = HEAP32[$pOp>>2]|0; - $3665 = ((($3664)) + 8|0); - $3666 = HEAP32[$3665>>2]|0; - $3667 = ($3663|0)==($3666|0); - if ($3667) { - label = 458; - } else { - label = 444; - } - } else { - label = 444; - } - break; - } - case 105: case 104: { - label = 444; - break; - } - case 107: case 106: { - $3806 = HEAP32[$0>>2]|0; - $3807 = HEAP32[$pOp>>2]|0; - $3808 = ((($3807)) + 4|0); - $3809 = HEAP32[$3808>>2]|0; - $3810 = HEAP32[$pOp>>2]|0; - $3811 = ((($3810)) + 8|0); - $3812 = HEAP32[$3811>>2]|0; - $3813 = (_allocateCursor($3806,$3809,$3812,-1,0)|0); - HEAP32[$pCx>>2] = $3813; - $3814 = HEAP32[$pCx>>2]|0; - $3815 = ($3814|0)==(0|0); - if ($3815) { - label = 889; - break L1; - } - $3816 = HEAP32[$pCx>>2]|0; - $3817 = ((($3816)) + 2|0); - HEAP8[$3817>>0] = 1; - $3818 = HEAP32[$pCx>>2]|0; - $3819 = ((($3818)) + 5|0); - $3820 = HEAP8[$3819>>0]|0; - $3821 = $3820 & -2; - $3822 = $3821 | 1; - HEAP8[$3819>>0] = $3822; - $3823 = HEAP32[$db>>2]|0; - $3824 = HEAP32[$3823>>2]|0; - $3825 = HEAP32[$db>>2]|0; - $3826 = HEAP32[$pCx>>2]|0; - $3827 = ((($3826)) + 20|0); - $3828 = HEAP32[$pOp>>2]|0; - $3829 = ((($3828)) + 3|0); - $3830 = HEAP8[$3829>>0]|0; - $3831 = $3830&255; - $3832 = 5 | $3831; - $3833 = (_sqlite3BtreeOpen($3824,0,$3825,$3827,$3832,1054)|0); - HEAP32[$rc>>2] = $3833; - $3834 = HEAP32[$rc>>2]|0; - $3835 = ($3834|0)==(0); - if ($3835) { - $3836 = HEAP32[$pCx>>2]|0; - $3837 = ((($3836)) + 20|0); - $3838 = HEAP32[$3837>>2]|0; - $3839 = (_sqlite3BtreeBeginTrans($3838,1)|0); - HEAP32[$rc>>2] = $3839; - } - $3840 = HEAP32[$rc>>2]|0; - $3841 = ($3840|0)==(0); - do { - if ($3841) { - $3842 = HEAP32[$pOp>>2]|0; - $3843 = ((($3842)) + 16|0); - $3844 = HEAP32[$3843>>2]|0; - HEAP32[$pKeyInfo25>>2] = $3844; - $3845 = ($3844|0)!=(0|0); - $3846 = HEAP32[$pCx>>2]|0; - $3847 = ((($3846)) + 20|0); - $3848 = HEAP32[$3847>>2]|0; - if (!($3845)) { - $3871 = HEAP32[$pCx>>2]|0; - $3872 = ((($3871)) + 16|0); - $3873 = HEAP32[$3872>>2]|0; - $3874 = (_sqlite3BtreeCursor($3848,1,4,0,$3873)|0); - HEAP32[$rc>>2] = $3874; - $3875 = HEAP32[$pCx>>2]|0; - $3876 = ((($3875)) + 4|0); - HEAP8[$3876>>0] = 1; - break; - } - $3849 = HEAP32[$pOp>>2]|0; - $3850 = ((($3849)) + 3|0); - $3851 = HEAP8[$3850>>0]|0; - $3852 = $3851&255; - $3853 = 2 | $3852; - $3854 = (_sqlite3BtreeCreateTable($3848,$pgno,$3853)|0); - HEAP32[$rc>>2] = $3854; - $3855 = HEAP32[$rc>>2]|0; - $3856 = ($3855|0)==(0); - if ($3856) { - $3857 = HEAP32[$pKeyInfo25>>2]|0; - $3858 = HEAP32[$pCx>>2]|0; - $3859 = ((($3858)) + 24|0); - HEAP32[$3859>>2] = $3857; - $3860 = HEAP32[$pCx>>2]|0; - $3861 = ((($3860)) + 20|0); - $3862 = HEAP32[$3861>>2]|0; - $3863 = HEAP32[$pgno>>2]|0; - $3864 = HEAP32[$pKeyInfo25>>2]|0; - $3865 = HEAP32[$pCx>>2]|0; - $3866 = ((($3865)) + 16|0); - $3867 = HEAP32[$3866>>2]|0; - $3868 = (_sqlite3BtreeCursor($3862,$3863,4,$3864,$3867)|0); - HEAP32[$rc>>2] = $3868; - } - $3869 = HEAP32[$pCx>>2]|0; - $3870 = ((($3869)) + 4|0); - HEAP8[$3870>>0] = 0; - } - } while(0); - $3877 = HEAP32[$rc>>2]|0; - $3878 = ($3877|0)!=(0); - if ($3878) { - break L1; - } - $3879 = HEAP32[$pOp>>2]|0; - $3880 = ((($3879)) + 3|0); - $3881 = HEAP8[$3880>>0]|0; - $3882 = $3881&255; - $3883 = ($3882|0)!=(8); - $3884 = $3883&1; - $3885 = HEAP32[$pCx>>2]|0; - $3886 = ((($3885)) + 5|0); - $3887 = $3884&255; - $3888 = HEAP8[$3886>>0]|0; - $3889 = $3887 & 1; - $3890 = ($3889 << 2)&255; - $3891 = $3888 & -5; - $3892 = $3891 | $3890; - HEAP8[$3886>>0] = $3892; - break; - } - case 108: { - $3893 = HEAP32[$0>>2]|0; - $3894 = HEAP32[$pOp>>2]|0; - $3895 = ((($3894)) + 4|0); - $3896 = HEAP32[$3895>>2]|0; - $3897 = HEAP32[$pOp>>2]|0; - $3898 = ((($3897)) + 8|0); - $3899 = HEAP32[$3898>>2]|0; - $3900 = (_allocateCursor($3893,$3896,$3899,-1,1)|0); - HEAP32[$pCx26>>2] = $3900; - $3901 = HEAP32[$pCx26>>2]|0; - $3902 = ($3901|0)==(0|0); - if ($3902) { - label = 889; - break L1; - } - $3903 = HEAP32[$pOp>>2]|0; - $3904 = ((($3903)) + 16|0); - $3905 = HEAP32[$3904>>2]|0; - $3906 = HEAP32[$pCx26>>2]|0; - $3907 = ((($3906)) + 24|0); - HEAP32[$3907>>2] = $3905; - $3908 = HEAP32[$db>>2]|0; - $3909 = HEAP32[$pOp>>2]|0; - $3910 = ((($3909)) + 12|0); - $3911 = HEAP32[$3910>>2]|0; - $3912 = HEAP32[$pCx26>>2]|0; - $3913 = (_sqlite3VdbeSorterInit($3908,$3911,$3912)|0); - HEAP32[$rc>>2] = $3913; - $3914 = HEAP32[$rc>>2]|0; - $3915 = ($3914|0)!=(0); - if ($3915) { - break L1; - } - break; - } - case 109: { - $3916 = HEAP32[$pOp>>2]|0; - $3917 = ((($3916)) + 4|0); - $3918 = HEAP32[$3917>>2]|0; - $3919 = HEAP32[$0>>2]|0; - $3920 = ((($3919)) + 112|0); - $3921 = HEAP32[$3920>>2]|0; - $3922 = (($3921) + ($3918<<2)|0); - $3923 = HEAP32[$3922>>2]|0; - HEAP32[$pC27>>2] = $3923; - $3924 = HEAP32[$pC27>>2]|0; - $3925 = ((($3924)) + 32|0); - $3926 = $3925; - $3927 = $3926; - $3928 = HEAP32[$3927>>2]|0; - $3929 = (($3926) + 4)|0; - $3930 = $3929; - $3931 = HEAP32[$3930>>2]|0; - $3932 = (_i64Add(($3928|0),($3931|0),1,0)|0); - $3933 = tempRet0; - $3934 = $3925; - $3935 = $3934; - HEAP32[$3935>>2] = $3932; - $3936 = (($3934) + 4)|0; - $3937 = $3936; - HEAP32[$3937>>2] = $3933; - $3938 = ($3928|0)==(0); - $3939 = ($3931|0)==(0); - $3940 = $3938 & $3939; - if ($3940) { - label = 14; - } - break; - } - case 110: { - $3941 = HEAP32[$0>>2]|0; - $3942 = HEAP32[$pOp>>2]|0; - $3943 = ((($3942)) + 4|0); - $3944 = HEAP32[$3943>>2]|0; - $3945 = HEAP32[$pOp>>2]|0; - $3946 = ((($3945)) + 12|0); - $3947 = HEAP32[$3946>>2]|0; - $3948 = (_allocateCursor($3941,$3944,$3947,-1,3)|0); - HEAP32[$pCx28>>2] = $3948; - $3949 = HEAP32[$pCx28>>2]|0; - $3950 = ($3949|0)==(0|0); - if ($3950) { - label = 889; - break L1; - } - $3951 = HEAP32[$pCx28>>2]|0; - $3952 = ((($3951)) + 2|0); - HEAP8[$3952>>0] = 1; - $3953 = HEAP32[$pOp>>2]|0; - $3954 = ((($3953)) + 8|0); - $3955 = HEAP32[$3954>>2]|0; - $3956 = HEAP32[$pCx28>>2]|0; - $3957 = ((($3956)) + 16|0); - HEAP32[$3957>>2] = $3955; - $3958 = HEAP32[$pCx28>>2]|0; - $3959 = ((($3958)) + 4|0); - HEAP8[$3959>>0] = 1; - break; - } - case 111: { - $3960 = HEAP32[$0>>2]|0; - $3961 = HEAP32[$pOp>>2]|0; - $3962 = ((($3961)) + 4|0); - $3963 = HEAP32[$3962>>2]|0; - $3964 = HEAP32[$0>>2]|0; - $3965 = ((($3964)) + 112|0); - $3966 = HEAP32[$3965>>2]|0; - $3967 = (($3966) + ($3963<<2)|0); - $3968 = HEAP32[$3967>>2]|0; - _sqlite3VdbeFreeCursor($3960,$3968); - $3969 = HEAP32[$pOp>>2]|0; - $3970 = ((($3969)) + 4|0); - $3971 = HEAP32[$3970>>2]|0; - $3972 = HEAP32[$0>>2]|0; - $3973 = ((($3972)) + 112|0); - $3974 = HEAP32[$3973>>2]|0; - $3975 = (($3974) + ($3971<<2)|0); - HEAP32[$3975>>2] = 0; - break; - } - case 26: case 25: case 24: case 23: { - $3976 = HEAP32[$pOp>>2]|0; - $3977 = ((($3976)) + 4|0); - $3978 = HEAP32[$3977>>2]|0; - $3979 = HEAP32[$0>>2]|0; - $3980 = ((($3979)) + 112|0); - $3981 = HEAP32[$3980>>2]|0; - $3982 = (($3981) + ($3978<<2)|0); - $3983 = HEAP32[$3982>>2]|0; - HEAP32[$pC30>>2] = $3983; - $3984 = HEAP32[$pOp>>2]|0; - $3985 = HEAP8[$3984>>0]|0; - $3986 = $3985&255; - HEAP32[$oc>>2] = $3986; - HEAP32[$eqOnly>>2] = 0; - $3987 = HEAP32[$pC30>>2]|0; - $3988 = ((($3987)) + 2|0); - HEAP8[$3988>>0] = 0; - $3989 = HEAP32[$pC30>>2]|0; - $3990 = ((($3989)) + 4|0); - $3991 = HEAP8[$3990>>0]|0; - $3992 = ($3991<<24>>24)!=(0); - if ($3992) { - $3993 = HEAP32[$pOp>>2]|0; - $3994 = ((($3993)) + 12|0); - $3995 = HEAP32[$3994>>2]|0; - $3996 = HEAP32[$aMem>>2]|0; - $3997 = (($3996) + (($3995*40)|0)|0); - HEAP32[$pIn3>>2] = $3997; - $3998 = HEAP32[$pIn3>>2]|0; - $3999 = ((($3998)) + 8|0); - $4000 = HEAP16[$3999>>1]|0; - $4001 = $4000&65535; - $4002 = $4001 & 14; - $4003 = ($4002|0)==(2); - if ($4003) { - $4004 = HEAP32[$pIn3>>2]|0; - _applyNumericAffinity($4004,0); - } - $4005 = HEAP32[$pIn3>>2]|0; - $4006 = (_sqlite3VdbeIntValue($4005)|0); - $4007 = tempRet0; - $4008 = $iKey; - $4009 = $4008; - HEAP32[$4009>>2] = $4006; - $4010 = (($4008) + 4)|0; - $4011 = $4010; - HEAP32[$4011>>2] = $4007; - $4012 = HEAP32[$pIn3>>2]|0; - $4013 = ((($4012)) + 8|0); - $4014 = HEAP16[$4013>>1]|0; - $4015 = $4014&65535; - $4016 = $4015 & 4; - $4017 = ($4016|0)==(0); - do { - if ($4017) { - $4018 = HEAP32[$pIn3>>2]|0; - $4019 = ((($4018)) + 8|0); - $4020 = HEAP16[$4019>>1]|0; - $4021 = $4020&65535; - $4022 = $4021 & 8; - $4023 = ($4022|0)==(0); - if ($4023) { - label = 14; - break L10; - } - $4024 = HEAP32[$pIn3>>2]|0; - $4025 = +HEAPF64[$4024>>3]; - $4026 = $iKey; - $4027 = $4026; - $4028 = HEAP32[$4027>>2]|0; - $4029 = (($4026) + 4)|0; - $4030 = $4029; - $4031 = HEAP32[$4030>>2]|0; - $4032 = (+($4028>>>0)) + (4294967296.0*(+($4031|0))); - $4033 = $4025 < $4032; - if ($4033) { - $4034 = HEAP32[$oc>>2]|0; - $4035 = $4034 & 1; - $4036 = ($4035|0)==(0); - if (!($4036)) { - break; - } - $4037 = HEAP32[$oc>>2]|0; - $4038 = (($4037) + -1)|0; - HEAP32[$oc>>2] = $4038; - break; - } - $4039 = HEAP32[$pIn3>>2]|0; - $4040 = +HEAPF64[$4039>>3]; - $4041 = $iKey; - $4042 = $4041; - $4043 = HEAP32[$4042>>2]|0; - $4044 = (($4041) + 4)|0; - $4045 = $4044; - $4046 = HEAP32[$4045>>2]|0; - $4047 = (+($4043>>>0)) + (4294967296.0*(+($4046|0))); - $4048 = $4040 > $4047; - if ($4048) { - $4049 = HEAP32[$oc>>2]|0; - $4050 = $4049 & 1; - $4051 = ($4050|0)==(1); - if ($4051) { - $4052 = HEAP32[$oc>>2]|0; - $4053 = (($4052) + 1)|0; - HEAP32[$oc>>2] = $4053; - } - } - } - } while(0); - $4054 = HEAP32[$pC30>>2]|0; - $4055 = ((($4054)) + 16|0); - $4056 = HEAP32[$4055>>2]|0; - $4057 = $iKey; - $4058 = $4057; - $4059 = HEAP32[$4058>>2]|0; - $4060 = (($4057) + 4)|0; - $4061 = $4060; - $4062 = HEAP32[$4061>>2]|0; - $4063 = (_sqlite3BtreeMovetoUnpacked($4056,0,$4059,$4062,0,$res29)|0); - HEAP32[$rc>>2] = $4063; - $4064 = $iKey; - $4065 = $4064; - $4066 = HEAP32[$4065>>2]|0; - $4067 = (($4064) + 4)|0; - $4068 = $4067; - $4069 = HEAP32[$4068>>2]|0; - $4070 = HEAP32[$pC30>>2]|0; - $4071 = ((($4070)) + 40|0); - $4072 = $4071; - $4073 = $4072; - HEAP32[$4073>>2] = $4066; - $4074 = (($4072) + 4)|0; - $4075 = $4074; - HEAP32[$4075>>2] = $4069; - $4076 = HEAP32[$rc>>2]|0; - $4077 = ($4076|0)!=(0); - if ($4077) { - break L1; - } else { - label = 493; - } - } else { - $4078 = HEAP32[$pC30>>2]|0; - $4079 = ((($4078)) + 16|0); - $4080 = HEAP32[$4079>>2]|0; - $4081 = (_sqlite3BtreeCursorHasHint($4080,2)|0); - $4082 = ($4081|0)!=(0); - if ($4082) { - HEAP32[$eqOnly>>2] = 1; - } - $4083 = HEAP32[$pOp>>2]|0; - $4084 = ((($4083)) + 16|0); - $4085 = HEAP32[$4084>>2]|0; - HEAP32[$nField31>>2] = $4085; - $4086 = HEAP32[$pC30>>2]|0; - $4087 = ((($4086)) + 24|0); - $4088 = HEAP32[$4087>>2]|0; - HEAP32[$r>>2] = $4088; - $4089 = HEAP32[$nField31>>2]|0; - $4090 = $4089&65535; - $4091 = ((($r)) + 8|0); - HEAP16[$4091>>1] = $4090; - $4092 = HEAP32[$oc>>2]|0; - $4093 = (($4092) - 23)|0; - $4094 = 1 & $4093; - $4095 = ($4094|0)!=(0); - $4096 = $4095 ? -1 : 1; - $4097 = $4096&255; - $4098 = ((($r)) + 10|0); - HEAP8[$4098>>0] = $4097; - $4099 = HEAP32[$pOp>>2]|0; - $4100 = ((($4099)) + 12|0); - $4101 = HEAP32[$4100>>2]|0; - $4102 = HEAP32[$aMem>>2]|0; - $4103 = (($4102) + (($4101*40)|0)|0); - $4104 = ((($r)) + 4|0); - HEAP32[$4104>>2] = $4103; - $4105 = ((($r)) + 14|0); - HEAP8[$4105>>0] = 0; - $4106 = HEAP32[$pC30>>2]|0; - $4107 = ((($4106)) + 16|0); - $4108 = HEAP32[$4107>>2]|0; - $4109 = (_sqlite3BtreeMovetoUnpacked($4108,$r,0,0,0,$res29)|0); - HEAP32[$rc>>2] = $4109; - $4110 = HEAP32[$rc>>2]|0; - $4111 = ($4110|0)!=(0); - if ($4111) { - break L1; - } - $4112 = HEAP32[$eqOnly>>2]|0; - $4113 = ($4112|0)!=(0); - if ($4113) { - $4114 = ((($r)) + 14|0); - $4115 = HEAP8[$4114>>0]|0; - $4116 = $4115&255; - $4117 = ($4116|0)==(0); - if (!($4117)) { - label = 493; - } - } else { - label = 493; - } - } - do { - if ((label|0) == 493) { - label = 0; - $4118 = HEAP32[$pC30>>2]|0; - $4119 = ((($4118)) + 3|0); - HEAP8[$4119>>0] = 0; - $4120 = HEAP32[$pC30>>2]|0; - $4121 = ((($4120)) + 56|0); - HEAP32[$4121>>2] = 0; - $4122 = HEAP32[$oc>>2]|0; - $4123 = ($4122|0)>=(25); - $4124 = HEAP32[$res29>>2]|0; - if ($4123) { - $4125 = ($4124|0)<(0); - if (!($4125)) { - $4126 = HEAP32[$res29>>2]|0; - $4127 = ($4126|0)==(0); - $4128 = HEAP32[$oc>>2]|0; - $4129 = ($4128|0)==(26); - $or$cond12 = $4127 & $4129; - if (!($or$cond12)) { - HEAP32[$res29>>2] = 0; - break; - } - } - HEAP32[$res29>>2] = 0; - $4130 = HEAP32[$pC30>>2]|0; - $4131 = ((($4130)) + 16|0); - $4132 = HEAP32[$4131>>2]|0; - $4133 = (_sqlite3BtreeNext($4132,$res29)|0); - HEAP32[$rc>>2] = $4133; - $4134 = HEAP32[$rc>>2]|0; - $4135 = ($4134|0)!=(0); - if ($4135) { - break L1; - } else { - break; - } - } else { - $4136 = ($4124|0)>(0); - if (!($4136)) { - $4137 = HEAP32[$res29>>2]|0; - $4138 = ($4137|0)==(0); - $4139 = HEAP32[$oc>>2]|0; - $4140 = ($4139|0)==(23); - $or$cond14 = $4138 & $4140; - if (!($or$cond14)) { - $4147 = HEAP32[$pC30>>2]|0; - $4148 = ((($4147)) + 16|0); - $4149 = HEAP32[$4148>>2]|0; - $4150 = (_sqlite3BtreeEof($4149)|0); - HEAP32[$res29>>2] = $4150; - break; - } - } - HEAP32[$res29>>2] = 0; - $4141 = HEAP32[$pC30>>2]|0; - $4142 = ((($4141)) + 16|0); - $4143 = HEAP32[$4142>>2]|0; - $4144 = (_sqlite3BtreePrevious($4143,$res29)|0); - HEAP32[$rc>>2] = $4144; - $4145 = HEAP32[$rc>>2]|0; - $4146 = ($4145|0)!=(0); - if ($4146) { - break L1; + $175 = HEAP32[$41>>2]|0; + $176 = HEAP8[$175>>0]|0; + $177 = $176 << 24 >> 24; + $178 = ($177|0)==(100); + if ($178) { + $184 = 1; } else { - break; - } - } - } - } while(0); - $4151 = HEAP32[$res29>>2]|0; - $4152 = ($4151|0)!=(0); - if ($4152) { - label = 14; - } else { - $4153 = HEAP32[$eqOnly>>2]|0; - $4154 = ($4153|0)!=(0); - if ($4154) { - $4155 = HEAP32[$pOp>>2]|0; - $4156 = ((($4155)) + 20|0); - HEAP32[$pOp>>2] = $4156; - } - } - break; - } - case 31: case 30: case 29: { - $4157 = HEAP32[$pOp>>2]|0; - $4158 = ((($4157)) + 4|0); - $4159 = HEAP32[$4158>>2]|0; - $4160 = HEAP32[$0>>2]|0; - $4161 = ((($4160)) + 112|0); - $4162 = HEAP32[$4161>>2]|0; - $4163 = (($4162) + ($4159<<2)|0); - $4164 = HEAP32[$4163>>2]|0; - HEAP32[$pC33>>2] = $4164; - $4165 = HEAP32[$pOp>>2]|0; - $4166 = ((($4165)) + 12|0); - $4167 = HEAP32[$4166>>2]|0; - $4168 = HEAP32[$aMem>>2]|0; - $4169 = (($4168) + (($4167*40)|0)|0); - HEAP32[$pIn3>>2] = $4169; - HEAP32[$pFree>>2] = 0; - $4170 = HEAP32[$pOp>>2]|0; - $4171 = ((($4170)) + 16|0); - $4172 = HEAP32[$4171>>2]|0; - $4173 = ($4172|0)>(0); - $4174 = HEAP32[$pC33>>2]|0; - $4175 = ((($4174)) + 24|0); - $4176 = HEAP32[$4175>>2]|0; - if ($4173) { - HEAP32[$r35>>2] = $4176; - $4177 = HEAP32[$pOp>>2]|0; - $4178 = ((($4177)) + 16|0); - $4179 = HEAP32[$4178>>2]|0; - $4180 = $4179&65535; - $4181 = ((($r35)) + 8|0); - HEAP16[$4181>>1] = $4180; - $4182 = HEAP32[$pIn3>>2]|0; - $4183 = ((($r35)) + 4|0); - HEAP32[$4183>>2] = $4182; - HEAP32[$pIdxKey>>2] = $r35; - } else { - $4184 = (_sqlite3VdbeAllocUnpackedRecord($4176,$aTempRec,183,$pFree)|0); - HEAP32[$pIdxKey>>2] = $4184; - $4185 = HEAP32[$pIdxKey>>2]|0; - $4186 = ($4185|0)==(0|0); - if ($4186) { - label = 889; - break L1; - } - $4187 = HEAP32[$pIn3>>2]|0; - $4188 = ((($4187)) + 8|0); - $4189 = HEAP16[$4188>>1]|0; - $4190 = $4189&65535; - $4191 = $4190 & 16384; - $4192 = ($4191|0)!=(0); - if ($4192) { - $4193 = HEAP32[$pIn3>>2]|0; - (_sqlite3VdbeMemExpandBlob($4193)|0); - } - $4194 = HEAP32[$pC33>>2]|0; - $4195 = ((($4194)) + 24|0); - $4196 = HEAP32[$4195>>2]|0; - $4197 = HEAP32[$pIn3>>2]|0; - $4198 = ((($4197)) + 12|0); - $4199 = HEAP32[$4198>>2]|0; - $4200 = HEAP32[$pIn3>>2]|0; - $4201 = ((($4200)) + 16|0); - $4202 = HEAP32[$4201>>2]|0; - $4203 = HEAP32[$pIdxKey>>2]|0; - _sqlite3VdbeRecordUnpack($4196,$4199,$4202,$4203); - } - $4204 = HEAP32[$pIdxKey>>2]|0; - $4205 = ((($4204)) + 10|0); - HEAP8[$4205>>0] = 0; - HEAP32[$takeJump>>2] = 0; - $4206 = HEAP32[$pOp>>2]|0; - $4207 = HEAP8[$4206>>0]|0; - $4208 = $4207&255; - $4209 = ($4208|0)==(29); - L554: do { - if ($4209) { - HEAP32[$ii32>>2] = 0; - while(1) { - $4210 = HEAP32[$ii32>>2]|0; - $4211 = HEAP32[$pIdxKey>>2]|0; - $4212 = ((($4211)) + 8|0); - $4213 = HEAP16[$4212>>1]|0; - $4214 = $4213&65535; - $4215 = ($4210|0)<($4214|0); - if (!($4215)) { - break L554; - } - $4216 = HEAP32[$ii32>>2]|0; - $4217 = HEAP32[$pIdxKey>>2]|0; - $4218 = ((($4217)) + 4|0); - $4219 = HEAP32[$4218>>2]|0; - $4220 = (($4219) + (($4216*40)|0)|0); - $4221 = ((($4220)) + 8|0); - $4222 = HEAP16[$4221>>1]|0; - $4223 = $4222&65535; - $4224 = $4223 & 1; - $4225 = ($4224|0)!=(0); - if ($4225) { - break; + $179 = HEAP32[$41>>2]|0; + $180 = HEAP8[$179>>0]|0; + $181 = $180 << 24 >> 24; + $182 = ($181|0)==(68); + $184 = $182; } - $4226 = HEAP32[$ii32>>2]|0; - $4227 = (($4226) + 1)|0; - HEAP32[$ii32>>2] = $4227; - } - HEAP32[$takeJump>>2] = 1; - } - } while(0); - $4228 = HEAP32[$pC33>>2]|0; - $4229 = ((($4228)) + 16|0); - $4230 = HEAP32[$4229>>2]|0; - $4231 = HEAP32[$pIdxKey>>2]|0; - $4232 = (_sqlite3BtreeMovetoUnpacked($4230,$4231,0,0,0,$res34)|0); - HEAP32[$rc>>2] = $4232; - $4233 = HEAP32[$db>>2]|0; - $4234 = HEAP32[$pFree>>2]|0; - _sqlite3DbFree($4233,$4234); - $4235 = HEAP32[$rc>>2]|0; - $4236 = ($4235|0)!=(0); - if ($4236) { - break L1; - } - $4237 = HEAP32[$res34>>2]|0; - $4238 = HEAP32[$pC33>>2]|0; - $4239 = ((($4238)) + 28|0); - HEAP32[$4239>>2] = $4237; - $4240 = HEAP32[$res34>>2]|0; - $4241 = ($4240|0)==(0); - $4242 = $4241&1; - HEAP32[$alreadyExists>>2] = $4242; - $4243 = HEAP32[$alreadyExists>>2]|0; - $4244 = (1 - ($4243))|0; - $4245 = $4244&255; - $4246 = HEAP32[$pC33>>2]|0; - $4247 = ((($4246)) + 2|0); - HEAP8[$4247>>0] = $4245; - $4248 = HEAP32[$pC33>>2]|0; - $4249 = ((($4248)) + 3|0); - HEAP8[$4249>>0] = 0; - $4250 = HEAP32[$pC33>>2]|0; - $4251 = ((($4250)) + 56|0); - HEAP32[$4251>>2] = 0; - $4252 = HEAP32[$pOp>>2]|0; - $4253 = HEAP8[$4252>>0]|0; - $4254 = $4253&255; - $4255 = ($4254|0)==(31); - if ($4255) { - $4256 = HEAP32[$alreadyExists>>2]|0; - $4257 = ($4256|0)!=(0); - if ($4257) { - label = 14; - break L10; - } else { - break L10; - } - } else { - $4258 = HEAP32[$takeJump>>2]|0; - $4259 = ($4258|0)==(0); - $4260 = HEAP32[$alreadyExists>>2]|0; - $4261 = ($4260|0)!=(0); - $or$cond16 = $4259 & $4261; - if ($or$cond16) { - break L10; - } else { - label = 14; - break L10; - } - } - break; - } - case 32: { - $4262 = HEAP32[$pOp>>2]|0; - $4263 = ((($4262)) + 12|0); - $4264 = HEAP32[$4263>>2]|0; - $4265 = HEAP32[$aMem>>2]|0; - $4266 = (($4265) + (($4264*40)|0)|0); - HEAP32[$pIn3>>2] = $4266; - $4267 = HEAP32[$pIn3>>2]|0; - $4268 = ((($4267)) + 8|0); - $4269 = HEAP16[$4268>>1]|0; - $4270 = $4269&65535; - $4271 = $4270 & 4; - $4272 = ($4271|0)==(0); - if ($4272) { - $4273 = HEAP32[$pIn3>>2]|0; - $4274 = HEAP8[$encoding>>0]|0; - _applyAffinity($4273,67,$4274); - $4275 = HEAP32[$pIn3>>2]|0; - $4276 = ((($4275)) + 8|0); - $4277 = HEAP16[$4276>>1]|0; - $4278 = $4277&65535; - $4279 = $4278 & 4; - $4280 = ($4279|0)==(0); - if ($4280) { - label = 14; - } else { - label = 523; - } - } else { - label = 523; - } - break; - } - case 33: { - label = 523; - break; - } - case 113: { - $4346 = HEAP32[$0>>2]|0; - $4347 = HEAP32[$pOp>>2]|0; - $4348 = (_out2Prerelease($4346,$4347)|0); - HEAP32[$pOut>>2] = $4348; - $4349 = HEAP32[$pOp>>2]|0; - $4350 = ((($4349)) + 4|0); - $4351 = HEAP32[$4350>>2]|0; - $4352 = HEAP32[$0>>2]|0; - $4353 = ((($4352)) + 112|0); - $4354 = HEAP32[$4353>>2]|0; - $4355 = (($4354) + ($4351<<2)|0); - $4356 = HEAP32[$4355>>2]|0; - $4357 = ((($4356)) + 32|0); - $4358 = $4357; - $4359 = $4358; - $4360 = HEAP32[$4359>>2]|0; - $4361 = (($4358) + 4)|0; - $4362 = $4361; - $4363 = HEAP32[$4362>>2]|0; - $4364 = (_i64Add(($4360|0),($4363|0),1,0)|0); - $4365 = tempRet0; - $4366 = $4357; - $4367 = $4366; - HEAP32[$4367>>2] = $4364; - $4368 = (($4366) + 4)|0; - $4369 = $4368; - HEAP32[$4369>>2] = $4365; - $4370 = HEAP32[$pOut>>2]|0; - $4371 = $4370; - $4372 = $4371; - HEAP32[$4372>>2] = $4360; - $4373 = (($4371) + 4)|0; - $4374 = $4373; - HEAP32[$4374>>2] = $4363; - break; - } - case 114: { - $4375 = $v; - $4376 = $4375; - HEAP32[$4376>>2] = 0; - $4377 = (($4375) + 4)|0; - $4378 = $4377; - HEAP32[$4378>>2] = 0; - HEAP32[$res41>>2] = 0; - $4379 = HEAP32[$0>>2]|0; - $4380 = HEAP32[$pOp>>2]|0; - $4381 = (_out2Prerelease($4379,$4380)|0); - HEAP32[$pOut>>2] = $4381; - $4382 = HEAP32[$pOp>>2]|0; - $4383 = ((($4382)) + 4|0); - $4384 = HEAP32[$4383>>2]|0; - $4385 = HEAP32[$0>>2]|0; - $4386 = ((($4385)) + 112|0); - $4387 = HEAP32[$4386>>2]|0; - $4388 = (($4387) + ($4384<<2)|0); - $4389 = HEAP32[$4388>>2]|0; - HEAP32[$pC40>>2] = $4389; - $4390 = HEAP32[$pC40>>2]|0; - $4391 = ((($4390)) + 5|0); - $4392 = HEAP8[$4391>>0]|0; - $4393 = ($4392&255) >>> 1; - $4394 = $4393 & 1; - $4395 = $4394&255; - $4396 = ($4395|0)!=(0); - do { - if (!($4396)) { - $4397 = HEAP32[$pC40>>2]|0; - $4398 = ((($4397)) + 16|0); - $4399 = HEAP32[$4398>>2]|0; - $4400 = (_sqlite3BtreeLast($4399,$res41)|0); - HEAP32[$rc>>2] = $4400; - $4401 = HEAP32[$rc>>2]|0; - $4402 = ($4401|0)!=(0); - if ($4402) { - break L1; - } - $4403 = HEAP32[$res41>>2]|0; - $4404 = ($4403|0)!=(0); - if ($4404) { - $4405 = $v; - $4406 = $4405; - HEAP32[$4406>>2] = 1; - $4407 = (($4405) + 4)|0; - $4408 = $4407; - HEAP32[$4408>>2] = 0; + $183 = $184&1; + HEAP32[$31>>2] = $183; + break L33; break; } - $4409 = HEAP32[$pC40>>2]|0; - $4410 = ((($4409)) + 16|0); - $4411 = HEAP32[$4410>>2]|0; - $4412 = (_sqlite3BtreeIntegerKey($4411)|0); - $4413 = tempRet0; - $4414 = $v; - $4415 = $4414; - HEAP32[$4415>>2] = $4412; - $4416 = (($4414) + 4)|0; - $4417 = $4416; - HEAP32[$4417>>2] = $4413; - $4418 = $v; - $4419 = $4418; - $4420 = HEAP32[$4419>>2]|0; - $4421 = (($4418) + 4)|0; - $4422 = $4421; - $4423 = HEAP32[$4422>>2]|0; - $4424 = ($4423|0)>(2147483647); - $4425 = ($4420>>>0)>=(4294967295); - $4426 = ($4423|0)==(2147483647); - $4427 = $4426 & $4425; - $4428 = $4424 | $4427; - if ($4428) { - $4429 = HEAP32[$pC40>>2]|0; - $4430 = ((($4429)) + 5|0); - $4431 = HEAP8[$4430>>0]|0; - $4432 = $4431 & -3; - $4433 = $4432 | 2; - HEAP8[$4430>>0] = $4433; - break; - } else { - $4434 = $v; - $4435 = $4434; - $4436 = HEAP32[$4435>>2]|0; - $4437 = (($4434) + 4)|0; - $4438 = $4437; - $4439 = HEAP32[$4438>>2]|0; - $4440 = (_i64Add(($4436|0),($4439|0),1,0)|0); - $4441 = tempRet0; - $4442 = $v; - $4443 = $4442; - HEAP32[$4443>>2] = $4440; - $4444 = (($4442) + 4)|0; - $4445 = $4444; - HEAP32[$4445>>2] = $4441; + case 5: { + $185 = HEAP32[$35>>2]|0; + _sqlite3_free($185); + $186 = HEAP32[$41>>2]|0; + HEAP32[$35>>2] = $186; + HEAP32[$41>>2] = 0; + break L33; break; } - } - } while(0); - $4446 = HEAP32[$pOp>>2]|0; - $4447 = ((($4446)) + 12|0); - $4448 = HEAP32[$4447>>2]|0; - $4449 = ($4448|0)!=(0); - if ($4449) { - $4450 = HEAP32[$0>>2]|0; - $4451 = ((($4450)) + 184|0); - $4452 = HEAP32[$4451>>2]|0; - $4453 = ($4452|0)!=(0|0); - if ($4453) { - $4454 = HEAP32[$0>>2]|0; - $4455 = ((($4454)) + 184|0); - $4456 = HEAP32[$4455>>2]|0; - HEAP32[$pFrame44>>2] = $4456; - while(1) { - $4457 = HEAP32[$pFrame44>>2]|0; - $4458 = ((($4457)) + 4|0); - $4459 = HEAP32[$4458>>2]|0; - $4460 = ($4459|0)!=(0|0); - if (!($4460)) { - break; - } - $4461 = HEAP32[$pFrame44>>2]|0; - $4462 = ((($4461)) + 4|0); - $4463 = HEAP32[$4462>>2]|0; - HEAP32[$pFrame44>>2] = $4463; - } - $4464 = HEAP32[$pOp>>2]|0; - $4465 = ((($4464)) + 12|0); - $4466 = HEAP32[$4465>>2]|0; - $4467 = HEAP32[$pFrame44>>2]|0; - $4468 = ((($4467)) + 16|0); - $4469 = HEAP32[$4468>>2]|0; - $4470 = (($4469) + (($4466*40)|0)|0); - HEAP32[$pMem43>>2] = $4470; - } else { - $4471 = HEAP32[$pOp>>2]|0; - $4472 = ((($4471)) + 12|0); - $4473 = HEAP32[$4472>>2]|0; - $4474 = HEAP32[$aMem>>2]|0; - $4475 = (($4474) + (($4473*40)|0)|0); - HEAP32[$pMem43>>2] = $4475; - } - $4476 = HEAP32[$pMem43>>2]|0; - (_sqlite3VdbeMemIntegerify($4476)|0); - $4477 = HEAP32[$pMem43>>2]|0; - $4478 = $4477; - $4479 = $4478; - $4480 = HEAP32[$4479>>2]|0; - $4481 = (($4478) + 4)|0; - $4482 = $4481; - $4483 = HEAP32[$4482>>2]|0; - $4484 = ($4480|0)==(-1); - $4485 = ($4483|0)==(2147483647); - $4486 = $4484 & $4485; - if ($4486) { - label = 544; - break L8; - } - $4487 = HEAP32[$pC40>>2]|0; - $4488 = ((($4487)) + 5|0); - $4489 = HEAP8[$4488>>0]|0; - $4490 = ($4489&255) >>> 1; - $4491 = $4490 & 1; - $4492 = $4491&255; - $4493 = ($4492|0)!=(0); - if ($4493) { - label = 544; - break L8; - } - $4494 = $v; - $4495 = $4494; - $4496 = HEAP32[$4495>>2]|0; - $4497 = (($4494) + 4)|0; - $4498 = $4497; - $4499 = HEAP32[$4498>>2]|0; - $4500 = HEAP32[$pMem43>>2]|0; - $4501 = $4500; - $4502 = $4501; - $4503 = HEAP32[$4502>>2]|0; - $4504 = (($4501) + 4)|0; - $4505 = $4504; - $4506 = HEAP32[$4505>>2]|0; - $4507 = (_i64Add(($4503|0),($4506|0),1,0)|0); - $4508 = tempRet0; - $4509 = ($4499|0)<($4508|0); - $4510 = ($4496>>>0)<($4507>>>0); - $4511 = ($4499|0)==($4508|0); - $4512 = $4511 & $4510; - $4513 = $4509 | $4512; - if ($4513) { - $4514 = HEAP32[$pMem43>>2]|0; - $4515 = $4514; - $4516 = $4515; - $4517 = HEAP32[$4516>>2]|0; - $4518 = (($4515) + 4)|0; - $4519 = $4518; - $4520 = HEAP32[$4519>>2]|0; - $4521 = (_i64Add(($4517|0),($4520|0),1,0)|0); - $4522 = tempRet0; - $4523 = $v; - $4524 = $4523; - HEAP32[$4524>>2] = $4521; - $4525 = (($4523) + 4)|0; - $4526 = $4525; - HEAP32[$4526>>2] = $4522; - } - $4527 = $v; - $4528 = $4527; - $4529 = HEAP32[$4528>>2]|0; - $4530 = (($4527) + 4)|0; - $4531 = $4530; - $4532 = HEAP32[$4531>>2]|0; - $4533 = HEAP32[$pMem43>>2]|0; - $4534 = $4533; - $4535 = $4534; - HEAP32[$4535>>2] = $4529; - $4536 = (($4534) + 4)|0; - $4537 = $4536; - HEAP32[$4537>>2] = $4532; - } - $4538 = HEAP32[$pC40>>2]|0; - $4539 = ((($4538)) + 5|0); - $4540 = HEAP8[$4539>>0]|0; - $4541 = ($4540&255) >>> 1; - $4542 = $4541 & 1; - $4543 = $4542&255; - $4544 = ($4543|0)!=(0); - if ($4544) { - HEAP32[$cnt42>>2] = 0; - while(1) { - _sqlite3_randomness(8,$v); - $4545 = $v; - $4546 = $4545; - $4547 = HEAP32[$4546>>2]|0; - $4548 = (($4545) + 4)|0; - $4549 = $4548; - $4550 = HEAP32[$4549>>2]|0; - $4551 = $4550 & 1073741823; - $4552 = $v; - $4553 = $4552; - HEAP32[$4553>>2] = $4547; - $4554 = (($4552) + 4)|0; - $4555 = $4554; - HEAP32[$4555>>2] = $4551; - $4556 = $v; - $4557 = $4556; - $4558 = HEAP32[$4557>>2]|0; - $4559 = (($4556) + 4)|0; - $4560 = $4559; - $4561 = HEAP32[$4560>>2]|0; - $4562 = (_i64Add(($4558|0),($4561|0),1,0)|0); - $4563 = tempRet0; - $4564 = $v; - $4565 = $4564; - HEAP32[$4565>>2] = $4562; - $4566 = (($4564) + 4)|0; - $4567 = $4566; - HEAP32[$4567>>2] = $4563; - $4568 = HEAP32[$pC40>>2]|0; - $4569 = ((($4568)) + 16|0); - $4570 = HEAP32[$4569>>2]|0; - $4571 = $v; - $4572 = $4571; - $4573 = HEAP32[$4572>>2]|0; - $4574 = (($4571) + 4)|0; - $4575 = $4574; - $4576 = HEAP32[$4575>>2]|0; - $4577 = (_sqlite3BtreeMovetoUnpacked($4570,0,$4573,$4576,0,$res41)|0); - HEAP32[$rc>>2] = $4577; - $4578 = ($4577|0)==(0); - $4579 = HEAP32[$res41>>2]|0; - $4580 = ($4579|0)==(0); - $or$cond18 = $4578 & $4580; - if (!($or$cond18)) { + case 6: { + $187 = HEAP32[$36>>2]|0; + _sqlite3_free($187); + $188 = HEAP32[$41>>2]|0; + HEAP32[$36>>2] = $188; + HEAP32[$41>>2] = 0; + break L33; break; } - $4581 = HEAP32[$cnt42>>2]|0; - $4582 = (($4581) + 1)|0; - HEAP32[$cnt42>>2] = $4582; - $4583 = ($4582|0)<(100); - if (!($4583)) { + case 7: { + $189 = HEAP32[$41>>2]|0; + $190 = HEAP32[$37>>2]|0; + $191 = HEAP32[$38>>2]|0; + $192 = (($191) + 1)|0; + HEAP32[$38>>2] = $192; + $193 = (($190) + ($191<<2)|0); + HEAP32[$193>>2] = $189; + HEAP32[$41>>2] = 0; + break L33; break; } - } - $4584 = HEAP32[$rc>>2]|0; - $4585 = ($4584|0)!=(0); - if ($4585) { - break L1; - } - $4586 = HEAP32[$res41>>2]|0; - $4587 = ($4586|0)==(0); - if ($4587) { - label = 554; - break L8; - } - } - $4588 = HEAP32[$pC40>>2]|0; - $4589 = ((($4588)) + 3|0); - HEAP8[$4589>>0] = 0; - $4590 = HEAP32[$pC40>>2]|0; - $4591 = ((($4590)) + 56|0); - HEAP32[$4591>>2] = 0; - $4592 = $v; - $4593 = $4592; - $4594 = HEAP32[$4593>>2]|0; - $4595 = (($4592) + 4)|0; - $4596 = $4595; - $4597 = HEAP32[$4596>>2]|0; - $4598 = HEAP32[$pOut>>2]|0; - $4599 = $4598; - $4600 = $4599; - HEAP32[$4600>>2] = $4594; - $4601 = (($4599) + 4)|0; - $4602 = $4601; - HEAP32[$4602>>2] = $4597; - break; - } - case 116: case 115: { - HEAP32[$op46>>2] = 0; - $4603 = HEAP32[$pOp>>2]|0; - $4604 = ((($4603)) + 8|0); - $4605 = HEAP32[$4604>>2]|0; - $4606 = HEAP32[$aMem>>2]|0; - $4607 = (($4606) + (($4605*40)|0)|0); - HEAP32[$pData>>2] = $4607; - $4608 = HEAP32[$pOp>>2]|0; - $4609 = ((($4608)) + 4|0); - $4610 = HEAP32[$4609>>2]|0; - $4611 = HEAP32[$0>>2]|0; - $4612 = ((($4611)) + 112|0); - $4613 = HEAP32[$4612>>2]|0; - $4614 = (($4613) + ($4610<<2)|0); - $4615 = HEAP32[$4614>>2]|0; - HEAP32[$pC45>>2] = $4615; - $4616 = HEAP32[$pOp>>2]|0; - $4617 = HEAP8[$4616>>0]|0; - $4618 = $4617&255; - $4619 = ($4618|0)==(115); - $4620 = HEAP32[$pOp>>2]|0; - $4621 = ((($4620)) + 12|0); - $4622 = HEAP32[$4621>>2]|0; - if ($4619) { - $4623 = HEAP32[$aMem>>2]|0; - $4624 = (($4623) + (($4622*40)|0)|0); - HEAP32[$pKey>>2] = $4624; - $4625 = HEAP32[$pKey>>2]|0; - $4626 = $4625; - $4627 = $4626; - $4628 = HEAP32[$4627>>2]|0; - $4629 = (($4626) + 4)|0; - $4630 = $4629; - $4631 = HEAP32[$4630>>2]|0; - $4632 = ((($x)) + 8|0); - $4633 = $4632; - $4634 = $4633; - HEAP32[$4634>>2] = $4628; - $4635 = (($4633) + 4)|0; - $4636 = $4635; - HEAP32[$4636>>2] = $4631; - } else { - $4637 = ($4622|0)<(0); - $4638 = $4637 << 31 >> 31; - $4639 = ((($x)) + 8|0); - $4640 = $4639; - $4641 = $4640; - HEAP32[$4641>>2] = $4622; - $4642 = (($4640) + 4)|0; - $4643 = $4642; - HEAP32[$4643>>2] = $4638; - } - $4644 = HEAP32[$pOp>>2]|0; - $4645 = ((($4644)) + 1|0); - $4646 = HEAP8[$4645>>0]|0; - $4647 = $4646 << 24 >> 24; - $4648 = ($4647|0)==(-20); - if ($4648) { - $4649 = HEAP32[$db>>2]|0; - $4650 = ((($4649)) + 220|0); - $4651 = HEAP32[$4650>>2]|0; - $4652 = ($4651|0)!=(0|0); - if ($4652) { - $4653 = HEAP32[$pC45>>2]|0; - $4654 = ((($4653)) + 1|0); - $4655 = HEAP8[$4654>>0]|0; - $4656 = $4655 << 24 >> 24; - $4657 = HEAP32[$db>>2]|0; - $4658 = ((($4657)) + 16|0); - $4659 = HEAP32[$4658>>2]|0; - $4660 = (($4659) + ($4656<<4)|0); - $4661 = HEAP32[$4660>>2]|0; - HEAP32[$zDb>>2] = $4661; - $4662 = HEAP32[$pOp>>2]|0; - $4663 = ((($4662)) + 16|0); - $4664 = HEAP32[$4663>>2]|0; - HEAP32[$pTab>>2] = $4664; - $4665 = HEAP32[$pOp>>2]|0; - $4666 = ((($4665)) + 3|0); - $4667 = HEAP8[$4666>>0]|0; - $4668 = $4667&255; - $4669 = $4668 & 4; - $4670 = ($4669|0)!=(0); - $4671 = $4670 ? 23 : 18; - HEAP32[$op46>>2] = $4671; - } else { - label = 562; - } - } else { - label = 562; - } - if ((label|0) == 562) { - label = 0; - HEAP32[$pTab>>2] = 0; - HEAP32[$zDb>>2] = 0; - } - $4672 = HEAP32[$pOp>>2]|0; - $4673 = ((($4672)) + 3|0); - $4674 = HEAP8[$4673>>0]|0; - $4675 = $4674&255; - $4676 = $4675 & 1; - $4677 = ($4676|0)!=(0); - if ($4677) { - $4678 = HEAP32[$0>>2]|0; - $4679 = ((($4678)) + 44|0); - $4680 = HEAP32[$4679>>2]|0; - $4681 = (($4680) + 1)|0; - HEAP32[$4679>>2] = $4681; - } - $4682 = HEAP32[$pOp>>2]|0; - $4683 = ((($4682)) + 3|0); - $4684 = HEAP8[$4683>>0]|0; - $4685 = $4684&255; - $4686 = $4685 & 2; - $4687 = ($4686|0)!=(0); - if ($4687) { - $4688 = ((($x)) + 8|0); - $4689 = $4688; - $4690 = $4689; - $4691 = HEAP32[$4690>>2]|0; - $4692 = (($4689) + 4)|0; - $4693 = $4692; - $4694 = HEAP32[$4693>>2]|0; - $4695 = $lastRowid; - $4696 = $4695; - HEAP32[$4696>>2] = $4691; - $4697 = (($4695) + 4)|0; - $4698 = $4697; - HEAP32[$4698>>2] = $4694; - $4699 = HEAP32[$db>>2]|0; - $4700 = ((($4699)) + 32|0); - $4701 = $4700; - $4702 = $4701; - HEAP32[$4702>>2] = $4691; - $4703 = (($4701) + 4)|0; - $4704 = $4703; - HEAP32[$4704>>2] = $4694; - } - $4705 = HEAP32[$pData>>2]|0; - $4706 = ((($4705)) + 8|0); - $4707 = HEAP16[$4706>>1]|0; - $4708 = $4707&65535; - $4709 = $4708 & 1; - $4710 = ($4709|0)!=(0); - if ($4710) { - $4711 = ((($x)) + 16|0); - HEAP32[$4711>>2] = 0; - $4712 = ((($x)) + 20|0); - HEAP32[$4712>>2] = 0; - } else { - $4713 = HEAP32[$pData>>2]|0; - $4714 = ((($4713)) + 16|0); - $4715 = HEAP32[$4714>>2]|0; - $4716 = ((($x)) + 16|0); - HEAP32[$4716>>2] = $4715; - $4717 = HEAP32[$pData>>2]|0; - $4718 = ((($4717)) + 12|0); - $4719 = HEAP32[$4718>>2]|0; - $4720 = ((($x)) + 20|0); - HEAP32[$4720>>2] = $4719; - } - $4721 = HEAP32[$pOp>>2]|0; - $4722 = ((($4721)) + 3|0); - $4723 = HEAP8[$4722>>0]|0; - $4724 = $4723&255; - $4725 = $4724 & 16; - $4726 = ($4725|0)!=(0); - if ($4726) { - $4727 = HEAP32[$pC45>>2]|0; - $4728 = ((($4727)) + 28|0); - $4729 = HEAP32[$4728>>2]|0; - $4730 = $4729; - } else { - $4730 = 0; - } - HEAP32[$seekResult>>2] = $4730; - $4731 = HEAP32[$pData>>2]|0; - $4732 = ((($4731)) + 8|0); - $4733 = HEAP16[$4732>>1]|0; - $4734 = $4733&65535; - $4735 = $4734 & 16384; - $4736 = ($4735|0)!=(0); - if ($4736) { - $4737 = HEAP32[$pData>>2]|0; - $4738 = HEAP32[$4737>>2]|0; - $4739 = ((($x)) + 24|0); - HEAP32[$4739>>2] = $4738; - } else { - $4740 = ((($x)) + 24|0); - HEAP32[$4740>>2] = 0; - } - HEAP32[$x>>2] = 0; - $4741 = HEAP32[$pC45>>2]|0; - $4742 = ((($4741)) + 16|0); - $4743 = HEAP32[$4742>>2]|0; - $4744 = HEAP32[$pOp>>2]|0; - $4745 = ((($4744)) + 3|0); - $4746 = HEAP8[$4745>>0]|0; - $4747 = $4746&255; - $4748 = $4747 & 8; - $4749 = ($4748|0)!=(0); - $4750 = $4749&1; - $4751 = HEAP32[$seekResult>>2]|0; - $4752 = (_sqlite3BtreeInsert($4743,$x,$4750,$4751)|0); - HEAP32[$rc>>2] = $4752; - $4753 = HEAP32[$pC45>>2]|0; - $4754 = ((($4753)) + 3|0); - HEAP8[$4754>>0] = 0; - $4755 = HEAP32[$pC45>>2]|0; - $4756 = ((($4755)) + 56|0); - HEAP32[$4756>>2] = 0; - $4757 = HEAP32[$rc>>2]|0; - $4758 = ($4757|0)!=(0); - if ($4758) { - break L1; - } - $4759 = HEAP32[$db>>2]|0; - $4760 = ((($4759)) + 220|0); - $4761 = HEAP32[$4760>>2]|0; - $4762 = ($4761|0)!=(0|0); - $4763 = HEAP32[$op46>>2]|0; - $4764 = ($4763|0)!=(0); - $or$cond21 = $4762 & $4764; - if ($or$cond21) { - $4765 = HEAP32[$db>>2]|0; - $4766 = ((($4765)) + 220|0); - $4767 = HEAP32[$4766>>2]|0; - $4768 = HEAP32[$db>>2]|0; - $4769 = ((($4768)) + 216|0); - $4770 = HEAP32[$4769>>2]|0; - $4771 = HEAP32[$op46>>2]|0; - $4772 = HEAP32[$zDb>>2]|0; - $4773 = HEAP32[$pTab>>2]|0; - $4774 = HEAP32[$4773>>2]|0; - $4775 = ((($x)) + 8|0); - $4776 = $4775; - $4777 = $4776; - $4778 = HEAP32[$4777>>2]|0; - $4779 = (($4776) + 4)|0; - $4780 = $4779; - $4781 = HEAP32[$4780>>2]|0; - FUNCTION_TABLE_viiiiii[$4767 & 255]($4770,$4771,$4772,$4774,$4778,$4781); - } - break; - } - case 117: { - $4782 = HEAP32[$pOp>>2]|0; - $4783 = ((($4782)) + 8|0); - $4784 = HEAP32[$4783>>2]|0; - HEAP32[$opflags>>2] = $4784; - $4785 = HEAP32[$pOp>>2]|0; - $4786 = ((($4785)) + 4|0); - $4787 = HEAP32[$4786>>2]|0; - $4788 = HEAP32[$0>>2]|0; - $4789 = ((($4788)) + 112|0); - $4790 = HEAP32[$4789>>2]|0; - $4791 = (($4790) + ($4787<<2)|0); - $4792 = HEAP32[$4791>>2]|0; - HEAP32[$pC47>>2] = $4792; - $4793 = HEAP32[$pOp>>2]|0; - $4794 = ((($4793)) + 1|0); - $4795 = HEAP8[$4794>>0]|0; - $4796 = $4795 << 24 >> 24; - $4797 = ($4796|0)==(-20); - if ($4797) { - $4798 = HEAP32[$db>>2]|0; - $4799 = ((($4798)) + 220|0); - $4800 = HEAP32[$4799>>2]|0; - $4801 = ($4800|0)!=(0|0); - if ($4801) { - $4802 = HEAP32[$pC47>>2]|0; - $4803 = ((($4802)) + 1|0); - $4804 = HEAP8[$4803>>0]|0; - $4805 = $4804 << 24 >> 24; - $4806 = HEAP32[$db>>2]|0; - $4807 = ((($4806)) + 16|0); - $4808 = HEAP32[$4807>>2]|0; - $4809 = (($4808) + ($4805<<4)|0); - $4810 = HEAP32[$4809>>2]|0; - HEAP32[$zDb48>>2] = $4810; - $4811 = HEAP32[$pOp>>2]|0; - $4812 = ((($4811)) + 16|0); - $4813 = HEAP32[$4812>>2]|0; - HEAP32[$pTab49>>2] = $4813; - $4814 = HEAP32[$pOp>>2]|0; - $4815 = ((($4814)) + 3|0); - $4816 = HEAP8[$4815>>0]|0; - $4817 = $4816&255; - $4818 = $4817 & 2; - $4819 = ($4818|0)!=(0); - if ($4819) { - $4820 = HEAP32[$pC47>>2]|0; - $4821 = ((($4820)) + 4|0); - $4822 = HEAP8[$4821>>0]|0; - $4823 = $4822&255; - $4824 = ($4823|0)!=(0); - if ($4824) { - $4825 = HEAP32[$pC47>>2]|0; - $4826 = ((($4825)) + 16|0); - $4827 = HEAP32[$4826>>2]|0; - $4828 = (_sqlite3BtreeIntegerKey($4827)|0); - $4829 = tempRet0; - $4830 = HEAP32[$pC47>>2]|0; - $4831 = ((($4830)) + 40|0); - $4832 = $4831; - $4833 = $4832; - HEAP32[$4833>>2] = $4828; - $4834 = (($4832) + 4)|0; - $4835 = $4834; - HEAP32[$4835>>2] = $4829; - } - } - } else { - label = 583; - } - } else { - label = 583; - } - if ((label|0) == 583) { - label = 0; - HEAP32[$zDb48>>2] = 0; - HEAP32[$pTab49>>2] = 0; - } - $4836 = HEAP32[$pC47>>2]|0; - $4837 = ((($4836)) + 16|0); - $4838 = HEAP32[$4837>>2]|0; - $4839 = HEAP32[$pOp>>2]|0; - $4840 = ((($4839)) + 3|0); - $4841 = HEAP8[$4840>>0]|0; - $4842 = (_sqlite3BtreeDelete($4838,$4841)|0); - HEAP32[$rc>>2] = $4842; - $4843 = HEAP32[$pC47>>2]|0; - $4844 = ((($4843)) + 56|0); - HEAP32[$4844>>2] = 0; - $4845 = HEAP32[$rc>>2]|0; - $4846 = ($4845|0)!=(0); - if ($4846) { - break L1; - } - $4847 = HEAP32[$opflags>>2]|0; - $4848 = $4847 & 1; - $4849 = ($4848|0)!=(0); - if ($4849) { - $4850 = HEAP32[$0>>2]|0; - $4851 = ((($4850)) + 44|0); - $4852 = HEAP32[$4851>>2]|0; - $4853 = (($4852) + 1)|0; - HEAP32[$4851>>2] = $4853; - $4854 = HEAP32[$db>>2]|0; - $4855 = ((($4854)) + 220|0); - $4856 = HEAP32[$4855>>2]|0; - $4857 = ($4856|0)!=(0|0); - if ($4857) { - $4858 = HEAP32[$pTab49>>2]|0; - $4859 = ((($4858)) + 42|0); - $4860 = HEAP8[$4859>>0]|0; - $4861 = $4860&255; - $4862 = $4861 & 32; - $4863 = ($4862|0)==(0); - if ($4863) { - $4864 = HEAP32[$db>>2]|0; - $4865 = ((($4864)) + 220|0); - $4866 = HEAP32[$4865>>2]|0; - $4867 = HEAP32[$db>>2]|0; - $4868 = ((($4867)) + 216|0); - $4869 = HEAP32[$4868>>2]|0; - $4870 = HEAP32[$zDb48>>2]|0; - $4871 = HEAP32[$pTab49>>2]|0; - $4872 = HEAP32[$4871>>2]|0; - $4873 = HEAP32[$pC47>>2]|0; - $4874 = ((($4873)) + 40|0); - $4875 = $4874; - $4876 = $4875; - $4877 = HEAP32[$4876>>2]|0; - $4878 = (($4875) + 4)|0; - $4879 = $4878; - $4880 = HEAP32[$4879>>2]|0; - FUNCTION_TABLE_viiiiii[$4866 & 255]($4869,9,$4870,$4872,$4877,$4880); - } - } - } - break; - } - case 118: { - $4881 = HEAP32[$db>>2]|0; - $4882 = HEAP32[$0>>2]|0; - $4883 = ((($4882)) + 44|0); - $4884 = HEAP32[$4883>>2]|0; - _sqlite3VdbeSetChanges($4881,$4884); - $4885 = HEAP32[$0>>2]|0; - $4886 = ((($4885)) + 44|0); - HEAP32[$4886>>2] = 0; - break; - } - case 119: { - $4887 = HEAP32[$pOp>>2]|0; - $4888 = ((($4887)) + 4|0); - $4889 = HEAP32[$4888>>2]|0; - $4890 = HEAP32[$0>>2]|0; - $4891 = ((($4890)) + 112|0); - $4892 = HEAP32[$4891>>2]|0; - $4893 = (($4892) + ($4889<<2)|0); - $4894 = HEAP32[$4893>>2]|0; - HEAP32[$pC50>>2] = $4894; - $4895 = HEAP32[$pOp>>2]|0; - $4896 = ((($4895)) + 12|0); - $4897 = HEAP32[$4896>>2]|0; - $4898 = HEAP32[$aMem>>2]|0; - $4899 = (($4898) + (($4897*40)|0)|0); - HEAP32[$pIn3>>2] = $4899; - $4900 = HEAP32[$pOp>>2]|0; - $4901 = ((($4900)) + 16|0); - $4902 = HEAP32[$4901>>2]|0; - HEAP32[$nKeyCol>>2] = $4902; - HEAP32[$res51>>2] = 0; - $4903 = HEAP32[$pC50>>2]|0; - $4904 = HEAP32[$pIn3>>2]|0; - $4905 = HEAP32[$nKeyCol>>2]|0; - $4906 = (_sqlite3VdbeSorterCompare($4903,$4904,$4905,$res51)|0); - HEAP32[$rc>>2] = $4906; - $4907 = HEAP32[$rc>>2]|0; - $4908 = ($4907|0)!=(0); - if ($4908) { - break L1; - } - $4909 = HEAP32[$res51>>2]|0; - $4910 = ($4909|0)!=(0); - if ($4910) { - label = 14; - } - break; - } - case 120: { - $4911 = HEAP32[$pOp>>2]|0; - $4912 = ((($4911)) + 8|0); - $4913 = HEAP32[$4912>>2]|0; - $4914 = HEAP32[$aMem>>2]|0; - $4915 = (($4914) + (($4913*40)|0)|0); - HEAP32[$pOut>>2] = $4915; - $4916 = HEAP32[$pOp>>2]|0; - $4917 = ((($4916)) + 4|0); - $4918 = HEAP32[$4917>>2]|0; - $4919 = HEAP32[$0>>2]|0; - $4920 = ((($4919)) + 112|0); - $4921 = HEAP32[$4920>>2]|0; - $4922 = (($4921) + ($4918<<2)|0); - $4923 = HEAP32[$4922>>2]|0; - HEAP32[$pC52>>2] = $4923; - $4924 = HEAP32[$pC52>>2]|0; - $4925 = HEAP32[$pOut>>2]|0; - $4926 = (_sqlite3VdbeSorterRowkey($4924,$4925)|0); - HEAP32[$rc>>2] = $4926; - $4927 = HEAP32[$rc>>2]|0; - $4928 = ($4927|0)!=(0); - if ($4928) { - break L1; - } - $4929 = HEAP32[$pOp>>2]|0; - $4930 = ((($4929)) + 12|0); - $4931 = HEAP32[$4930>>2]|0; - $4932 = HEAP32[$0>>2]|0; - $4933 = ((($4932)) + 112|0); - $4934 = HEAP32[$4933>>2]|0; - $4935 = (($4934) + ($4931<<2)|0); - $4936 = HEAP32[$4935>>2]|0; - $4937 = ((($4936)) + 56|0); - HEAP32[$4937>>2] = 0; - break; - } - case 122: case 121: { - $4938 = HEAP32[$pOp>>2]|0; - $4939 = ((($4938)) + 8|0); - $4940 = HEAP32[$4939>>2]|0; - $4941 = HEAP32[$aMem>>2]|0; - $4942 = (($4941) + (($4940*40)|0)|0); - HEAP32[$pOut>>2] = $4942; - $4943 = HEAP32[$pOp>>2]|0; - $4944 = ((($4943)) + 4|0); - $4945 = HEAP32[$4944>>2]|0; - $4946 = HEAP32[$0>>2]|0; - $4947 = ((($4946)) + 112|0); - $4948 = HEAP32[$4947>>2]|0; - $4949 = (($4948) + ($4945<<2)|0); - $4950 = HEAP32[$4949>>2]|0; - HEAP32[$pC53>>2] = $4950; - $4951 = HEAP32[$pC53>>2]|0; - $4952 = ((($4951)) + 16|0); - $4953 = HEAP32[$4952>>2]|0; - HEAP32[$pCrsr54>>2] = $4953; - $4954 = HEAP32[$pCrsr54>>2]|0; - $4955 = (_sqlite3BtreePayloadSize($4954)|0); - HEAP32[$n55>>2] = $4955; - $4956 = HEAP32[$n55>>2]|0; - $4957 = HEAP32[$db>>2]|0; - $4958 = ((($4957)) + 96|0); - $4959 = HEAP32[$4958>>2]|0; - $4960 = ($4956>>>0)>($4959>>>0); - if ($4960) { - label = 888; - break L8; - } - $4961 = HEAP32[$pOut>>2]|0; - $4962 = HEAP32[$n55>>2]|0; - $4963 = ($4962>>>0)>(32); - $4964 = HEAP32[$n55>>2]|0; - $4965 = $4963 ? $4964 : 32; - $4966 = (_sqlite3VdbeMemClearAndResize($4961,$4965)|0); - $4967 = ($4966|0)!=(0); - if ($4967) { - label = 889; - break L1; - } - $4968 = HEAP32[$n55>>2]|0; - $4969 = HEAP32[$pOut>>2]|0; - $4970 = ((($4969)) + 12|0); - HEAP32[$4970>>2] = $4968; - $4971 = HEAP32[$pOut>>2]|0; - $4972 = ((($4971)) + 8|0); - $4973 = HEAP16[$4972>>1]|0; - $4974 = $4973&65535; - $4975 = $4974 & -49664; - $4976 = $4975 | 16; - $4977 = $4976&65535; - $4978 = HEAP32[$pOut>>2]|0; - $4979 = ((($4978)) + 8|0); - HEAP16[$4979>>1] = $4977; - $4980 = HEAP32[$pC53>>2]|0; - $4981 = ((($4980)) + 4|0); - $4982 = HEAP8[$4981>>0]|0; - $4983 = $4982&255; - $4984 = ($4983|0)==(0); - $4985 = HEAP32[$pCrsr54>>2]|0; - $4986 = HEAP32[$n55>>2]|0; - $4987 = HEAP32[$pOut>>2]|0; - $4988 = ((($4987)) + 16|0); - $4989 = HEAP32[$4988>>2]|0; - if ($4984) { - $4990 = (_sqlite3BtreeKey($4985,0,$4986,$4989)|0); - HEAP32[$rc>>2] = $4990; - } else { - $4991 = (_sqlite3BtreeData($4985,0,$4986,$4989)|0); - HEAP32[$rc>>2] = $4991; - } - $4992 = HEAP32[$rc>>2]|0; - $4993 = ($4992|0)!=(0); - if ($4993) { - break L1; - } - $4994 = HEAP32[$pOut>>2]|0; - $4995 = ((($4994)) + 10|0); - HEAP8[$4995>>0] = 1; - break; - } - case 123: { - $4996 = HEAP32[$0>>2]|0; - $4997 = HEAP32[$pOp>>2]|0; - $4998 = (_out2Prerelease($4996,$4997)|0); - HEAP32[$pOut>>2] = $4998; - $4999 = HEAP32[$pOp>>2]|0; - $5000 = ((($4999)) + 4|0); - $5001 = HEAP32[$5000>>2]|0; - $5002 = HEAP32[$0>>2]|0; - $5003 = ((($5002)) + 112|0); - $5004 = HEAP32[$5003>>2]|0; - $5005 = (($5004) + ($5001<<2)|0); - $5006 = HEAP32[$5005>>2]|0; - HEAP32[$pC56>>2] = $5006; - $5007 = HEAP32[$pC56>>2]|0; - $5008 = ((($5007)) + 2|0); - $5009 = HEAP8[$5008>>0]|0; - $5010 = ($5009<<24>>24)!=(0); - if ($5010) { - $5011 = HEAP32[$pOut>>2]|0; - $5012 = ((($5011)) + 8|0); - HEAP16[$5012>>1] = 1; - break L10; - } - $5013 = HEAP32[$pC56>>2]|0; - $5014 = ((($5013)) + 3|0); - $5015 = HEAP8[$5014>>0]|0; - $5016 = ($5015<<24>>24)!=(0); - $5017 = HEAP32[$pC56>>2]|0; - do { - if ($5016) { - $5018 = ((($5017)) + 40|0); - $5019 = $5018; - $5020 = $5019; - $5021 = HEAP32[$5020>>2]|0; - $5022 = (($5019) + 4)|0; - $5023 = $5022; - $5024 = HEAP32[$5023>>2]|0; - $5025 = $v57; - $5026 = $5025; - HEAP32[$5026>>2] = $5021; - $5027 = (($5025) + 4)|0; - $5028 = $5027; - HEAP32[$5028>>2] = $5024; - } else { - $5029 = HEAP8[$5017>>0]|0; - $5030 = $5029&255; - $5031 = ($5030|0)==(2); - $5032 = HEAP32[$pC56>>2]|0; - if ($5031) { - $5033 = ((($5032)) + 16|0); - $5034 = HEAP32[$5033>>2]|0; - $5035 = HEAP32[$5034>>2]|0; - HEAP32[$pVtab>>2] = $5035; - $5036 = HEAP32[$pVtab>>2]|0; - $5037 = HEAP32[$5036>>2]|0; - HEAP32[$pModule>>2] = $5037; - $5038 = HEAP32[$pModule>>2]|0; - $5039 = ((($5038)) + 48|0); - $5040 = HEAP32[$5039>>2]|0; - $5041 = HEAP32[$pC56>>2]|0; - $5042 = ((($5041)) + 16|0); - $5043 = HEAP32[$5042>>2]|0; - $5044 = (FUNCTION_TABLE_iii[$5040 & 255]($5043,$v57)|0); - HEAP32[$rc>>2] = $5044; - $5045 = HEAP32[$0>>2]|0; - $5046 = HEAP32[$pVtab>>2]|0; - _sqlite3VtabImportErrmsg($5045,$5046); - $5047 = HEAP32[$rc>>2]|0; - $5048 = ($5047|0)!=(0); - if ($5048) { - break L1; - } else { - break; - } - } - $5049 = (_sqlite3VdbeCursorRestore($5032)|0); - HEAP32[$rc>>2] = $5049; - $5050 = HEAP32[$rc>>2]|0; - $5051 = ($5050|0)!=(0); - if ($5051) { - break L1; + default: { + break L33; } - $5052 = HEAP32[$pC56>>2]|0; - $5053 = ((($5052)) + 2|0); - $5054 = HEAP8[$5053>>0]|0; - $5055 = ($5054<<24>>24)!=(0); - if ($5055) { - $5056 = HEAP32[$pOut>>2]|0; - $5057 = ((($5056)) + 8|0); - HEAP16[$5057>>1] = 1; - break L10; - } else { - $5058 = HEAP32[$pC56>>2]|0; - $5059 = ((($5058)) + 16|0); - $5060 = HEAP32[$5059>>2]|0; - $5061 = (_sqlite3BtreeIntegerKey($5060)|0); - $5062 = tempRet0; - $5063 = $v57; - $5064 = $5063; - HEAP32[$5064>>2] = $5061; - $5065 = (($5063) + 4)|0; - $5066 = $5065; - HEAP32[$5066>>2] = $5062; - break; } } } while(0); - $5067 = $v57; - $5068 = $5067; - $5069 = HEAP32[$5068>>2]|0; - $5070 = (($5067) + 4)|0; - $5071 = $5070; - $5072 = HEAP32[$5071>>2]|0; - $5073 = HEAP32[$pOut>>2]|0; - $5074 = $5073; - $5075 = $5074; - HEAP32[$5075>>2] = $5069; - $5076 = (($5074) + 4)|0; - $5077 = $5076; - HEAP32[$5077>>2] = $5072; - break; - } - case 124: { - $5078 = HEAP32[$pOp>>2]|0; - $5079 = ((($5078)) + 4|0); - $5080 = HEAP32[$5079>>2]|0; - $5081 = HEAP32[$0>>2]|0; - $5082 = ((($5081)) + 112|0); - $5083 = HEAP32[$5082>>2]|0; - $5084 = (($5083) + ($5080<<2)|0); - $5085 = HEAP32[$5084>>2]|0; - HEAP32[$pC58>>2] = $5085; - $5086 = HEAP32[$pC58>>2]|0; - $5087 = ((($5086)) + 2|0); - HEAP8[$5087>>0] = 1; - $5088 = HEAP32[$pC58>>2]|0; - $5089 = ((($5088)) + 56|0); - HEAP32[$5089>>2] = 0; - $5090 = HEAP32[$pC58>>2]|0; - $5091 = HEAP8[$5090>>0]|0; - $5092 = $5091&255; - $5093 = ($5092|0)==(0); - if ($5093) { - $5094 = HEAP32[$pC58>>2]|0; - $5095 = ((($5094)) + 16|0); - $5096 = HEAP32[$5095>>2]|0; - _sqlite3BtreeClearCursor($5096); - } - break; - } - case 53: { - $5097 = HEAP32[$pOp>>2]|0; - $5098 = ((($5097)) + 4|0); - $5099 = HEAP32[$5098>>2]|0; - $5100 = HEAP32[$0>>2]|0; - $5101 = ((($5100)) + 112|0); - $5102 = HEAP32[$5101>>2]|0; - $5103 = (($5102) + ($5099<<2)|0); - $5104 = HEAP32[$5103>>2]|0; - HEAP32[$pC59>>2] = $5104; - $5105 = HEAP32[$pC59>>2]|0; - $5106 = ((($5105)) + 16|0); - $5107 = HEAP32[$5106>>2]|0; - HEAP32[$pCrsr60>>2] = $5107; - HEAP32[$res61>>2] = 0; - $5108 = HEAP32[$pCrsr60>>2]|0; - $5109 = (_sqlite3BtreeLast($5108,$res61)|0); - HEAP32[$rc>>2] = $5109; - $5110 = HEAP32[$res61>>2]|0; - $5111 = $5110&255; - $5112 = HEAP32[$pC59>>2]|0; - $5113 = ((($5112)) + 2|0); - HEAP8[$5113>>0] = $5111; - $5114 = HEAP32[$pC59>>2]|0; - $5115 = ((($5114)) + 3|0); - HEAP8[$5115>>0] = 0; - $5116 = HEAP32[$pC59>>2]|0; - $5117 = ((($5116)) + 56|0); - HEAP32[$5117>>2] = 0; - $5118 = HEAP32[$pOp>>2]|0; - $5119 = ((($5118)) + 12|0); - $5120 = HEAP32[$5119>>2]|0; - $5121 = HEAP32[$pC59>>2]|0; - $5122 = ((($5121)) + 28|0); - HEAP32[$5122>>2] = $5120; - $5123 = HEAP32[$rc>>2]|0; - $5124 = ($5123|0)!=(0); - if ($5124) { - break L1; - } - $5125 = HEAP32[$pOp>>2]|0; - $5126 = ((($5125)) + 8|0); - $5127 = HEAP32[$5126>>2]|0; - $5128 = ($5127|0)>(0); - $5129 = HEAP32[$res61>>2]|0; - $5130 = ($5129|0)!=(0); - $or$cond31 = $5128 & $5130; - if ($or$cond31) { - label = 14; - } - break; - } - case 56: case 55: { - $5131 = HEAP32[$0>>2]|0; - $5132 = ((($5131)) + 156|0); - $5133 = ((($5132)) + 8|0); - $5134 = HEAP32[$5133>>2]|0; - $5135 = (($5134) + 1)|0; - HEAP32[$5133>>2] = $5135; - label = 617; - break; - } - case 57: { - label = 617; - break; - } - case 3: { - $5166 = HEAP32[$pOp>>2]|0; - $5167 = ((($5166)) + 4|0); - $5168 = HEAP32[$5167>>2]|0; - $5169 = HEAP32[$0>>2]|0; - $5170 = ((($5169)) + 112|0); - $5171 = HEAP32[$5170>>2]|0; - $5172 = (($5171) + ($5168<<2)|0); - $5173 = HEAP32[$5172>>2]|0; - HEAP32[$pC65>>2] = $5173; - HEAP32[$res66>>2] = 0; - $5174 = HEAP32[$db>>2]|0; - $5175 = HEAP32[$pC65>>2]|0; - $5176 = (_sqlite3VdbeSorterNext($5174,$5175,$res66)|0); - HEAP32[$rc>>2] = $5176; - label = 625; - break; - } - case 5: case 4: { - $5177 = HEAP32[$pOp>>2]|0; - $5178 = ((($5177)) + 4|0); - $5179 = HEAP32[$5178>>2]|0; - $5180 = HEAP32[$0>>2]|0; - $5181 = ((($5180)) + 112|0); - $5182 = HEAP32[$5181>>2]|0; - $5183 = (($5182) + ($5179<<2)|0); - $5184 = HEAP32[$5183>>2]|0; - $5185 = ($5184|0)==(0|0); - if (!($5185)) { - label = 624; - } - break; - } - case 7: case 6: { - label = 624; - break; - } - case 126: case 125: { - $5221 = HEAP32[$pOp>>2]|0; - $5222 = ((($5221)) + 4|0); - $5223 = HEAP32[$5222>>2]|0; - $5224 = HEAP32[$0>>2]|0; - $5225 = ((($5224)) + 112|0); - $5226 = HEAP32[$5225>>2]|0; - $5227 = (($5226) + ($5223<<2)|0); - $5228 = HEAP32[$5227>>2]|0; - HEAP32[$pC67>>2] = $5228; - $5229 = HEAP32[$pOp>>2]|0; - $5230 = ((($5229)) + 8|0); - $5231 = HEAP32[$5230>>2]|0; - $5232 = HEAP32[$aMem>>2]|0; - $5233 = (($5232) + (($5231*40)|0)|0); - HEAP32[$pIn2>>2] = $5233; - $5234 = HEAP32[$pOp>>2]|0; - $5235 = ((($5234)) + 3|0); - $5236 = HEAP8[$5235>>0]|0; - $5237 = $5236&255; - $5238 = $5237 & 1; - $5239 = ($5238|0)!=(0); - if ($5239) { - $5240 = HEAP32[$0>>2]|0; - $5241 = ((($5240)) + 44|0); - $5242 = HEAP32[$5241>>2]|0; - $5243 = (($5242) + 1)|0; - HEAP32[$5241>>2] = $5243; - } - $5244 = HEAP32[$pIn2>>2]|0; - $5245 = ((($5244)) + 8|0); - $5246 = HEAP16[$5245>>1]|0; - $5247 = $5246&65535; - $5248 = $5247 & 16384; - $5249 = ($5248|0)!=(0); - if ($5249) { - $5250 = HEAP32[$pIn2>>2]|0; - $5251 = (_sqlite3VdbeMemExpandBlob($5250)|0); - $5252 = $5251; - } else { - $5252 = 0; - } - HEAP32[$rc>>2] = $5252; - $5253 = HEAP32[$rc>>2]|0; - $5254 = ($5253|0)!=(0); - if ($5254) { - break L1; - } - $5255 = HEAP32[$pOp>>2]|0; - $5256 = HEAP8[$5255>>0]|0; - $5257 = $5256&255; - $5258 = ($5257|0)==(125); - if ($5258) { - $5259 = HEAP32[$pC67>>2]|0; - $5260 = HEAP32[$pIn2>>2]|0; - $5261 = (_sqlite3VdbeSorterWrite($5259,$5260)|0); - HEAP32[$rc>>2] = $5261; - } else { - $5262 = HEAP32[$pIn2>>2]|0; - $5263 = ((($5262)) + 12|0); - $5264 = HEAP32[$5263>>2]|0; - $5265 = ($5264|0)<(0); - $5266 = $5265 << 31 >> 31; - $5267 = ((($x68)) + 8|0); - $5268 = $5267; - $5269 = $5268; - HEAP32[$5269>>2] = $5264; - $5270 = (($5268) + 4)|0; - $5271 = $5270; - HEAP32[$5271>>2] = $5266; - $5272 = HEAP32[$pIn2>>2]|0; - $5273 = ((($5272)) + 16|0); - $5274 = HEAP32[$5273>>2]|0; - HEAP32[$x68>>2] = $5274; - $5275 = HEAP32[$pC67>>2]|0; - $5276 = ((($5275)) + 16|0); - $5277 = HEAP32[$5276>>2]|0; - $5278 = HEAP32[$pOp>>2]|0; - $5279 = ((($5278)) + 12|0); - $5280 = HEAP32[$5279>>2]|0; - $5281 = HEAP32[$pOp>>2]|0; - $5282 = ((($5281)) + 3|0); - $5283 = HEAP8[$5282>>0]|0; - $5284 = $5283&255; - $5285 = $5284 & 16; - $5286 = ($5285|0)!=(0); - if ($5286) { - $5287 = HEAP32[$pC67>>2]|0; - $5288 = ((($5287)) + 28|0); - $5289 = HEAP32[$5288>>2]|0; - $5290 = $5289; - } else { - $5290 = 0; - } - $5291 = (_sqlite3BtreeInsert($5277,$x68,$5280,$5290)|0); - HEAP32[$rc>>2] = $5291; - $5292 = HEAP32[$pC67>>2]|0; - $5293 = ((($5292)) + 56|0); - HEAP32[$5293>>2] = 0; - } - $5294 = HEAP32[$rc>>2]|0; - $5295 = ($5294|0)!=(0); - if ($5295) { - break L1; - } - break; - } - case 127: { - $5296 = HEAP32[$pOp>>2]|0; - $5297 = ((($5296)) + 4|0); - $5298 = HEAP32[$5297>>2]|0; - $5299 = HEAP32[$0>>2]|0; - $5300 = ((($5299)) + 112|0); - $5301 = HEAP32[$5300>>2]|0; - $5302 = (($5301) + ($5298<<2)|0); - $5303 = HEAP32[$5302>>2]|0; - HEAP32[$pC69>>2] = $5303; - $5304 = HEAP32[$pC69>>2]|0; - $5305 = ((($5304)) + 16|0); - $5306 = HEAP32[$5305>>2]|0; - HEAP32[$pCrsr70>>2] = $5306; - $5307 = HEAP32[$pC69>>2]|0; - $5308 = ((($5307)) + 24|0); - $5309 = HEAP32[$5308>>2]|0; - HEAP32[$r72>>2] = $5309; - $5310 = HEAP32[$pOp>>2]|0; - $5311 = ((($5310)) + 12|0); - $5312 = HEAP32[$5311>>2]|0; - $5313 = $5312&65535; - $5314 = ((($r72)) + 8|0); - HEAP16[$5314>>1] = $5313; - $5315 = ((($r72)) + 10|0); - HEAP8[$5315>>0] = 0; - $5316 = HEAP32[$pOp>>2]|0; - $5317 = ((($5316)) + 8|0); - $5318 = HEAP32[$5317>>2]|0; - $5319 = HEAP32[$aMem>>2]|0; - $5320 = (($5319) + (($5318*40)|0)|0); - $5321 = ((($r72)) + 4|0); - HEAP32[$5321>>2] = $5320; - $5322 = HEAP32[$pCrsr70>>2]|0; - $5323 = (_sqlite3BtreeMovetoUnpacked($5322,$r72,0,0,0,$res71)|0); - HEAP32[$rc>>2] = $5323; - $5324 = HEAP32[$rc>>2]|0; - $5325 = ($5324|0)!=(0); - if ($5325) { - break L1; - } - $5326 = HEAP32[$res71>>2]|0; - $5327 = ($5326|0)==(0); - if ($5327) { - $5328 = HEAP32[$pCrsr70>>2]|0; - $5329 = (_sqlite3BtreeDelete($5328,4)|0); - HEAP32[$rc>>2] = $5329; - $5330 = HEAP32[$rc>>2]|0; - $5331 = ($5330|0)!=(0); - if ($5331) { - break L1; - } - } - $5332 = HEAP32[$pC69>>2]|0; - $5333 = ((($5332)) + 56|0); - HEAP32[$5333>>2] = 0; - break; - } - case 129: case 128: { - $5334 = HEAP32[$pOp>>2]|0; - $5335 = ((($5334)) + 4|0); - $5336 = HEAP32[$5335>>2]|0; - $5337 = HEAP32[$0>>2]|0; - $5338 = ((($5337)) + 112|0); - $5339 = HEAP32[$5338>>2]|0; - $5340 = (($5339) + ($5336<<2)|0); - $5341 = HEAP32[$5340>>2]|0; - HEAP32[$pC73>>2] = $5341; - $5342 = HEAP32[$pC73>>2]|0; - $5343 = (_sqlite3VdbeCursorRestore($5342)|0); - HEAP32[$rc>>2] = $5343; - $5344 = HEAP32[$rc>>2]|0; - $5345 = ($5344|0)!=(0); - if ($5345) { - break L1; - } - $5346 = HEAP32[$pC73>>2]|0; - $5347 = ((($5346)) + 2|0); - $5348 = HEAP8[$5347>>0]|0; - $5349 = ($5348<<24>>24)!=(0); - if ($5349) { - $5413 = HEAP32[$pOp>>2]|0; - $5414 = ((($5413)) + 8|0); - $5415 = HEAP32[$5414>>2]|0; - $5416 = HEAP32[$aMem>>2]|0; - $5417 = (($5416) + (($5415*40)|0)|0); - _sqlite3VdbeMemSetNull($5417); - break L10; - } - $5350 = $rowid; - $5351 = $5350; - HEAP32[$5351>>2] = 0; - $5352 = (($5350) + 4)|0; - $5353 = $5352; - HEAP32[$5353>>2] = 0; - $5354 = HEAP32[$db>>2]|0; - $5355 = HEAP32[$pC73>>2]|0; - $5356 = ((($5355)) + 16|0); - $5357 = HEAP32[$5356>>2]|0; - $5358 = (_sqlite3VdbeIdxRowid($5354,$5357,$rowid)|0); - HEAP32[$rc>>2] = $5358; - $5359 = HEAP32[$rc>>2]|0; - $5360 = ($5359|0)!=(0); - if ($5360) { - break L1; - } - $5361 = HEAP32[$pOp>>2]|0; - $5362 = HEAP8[$5361>>0]|0; - $5363 = $5362&255; - $5364 = ($5363|0)==(128); - if ($5364) { - $5365 = HEAP32[$pOp>>2]|0; - $5366 = ((($5365)) + 12|0); - $5367 = HEAP32[$5366>>2]|0; - $5368 = HEAP32[$0>>2]|0; - $5369 = ((($5368)) + 112|0); - $5370 = HEAP32[$5369>>2]|0; - $5371 = (($5370) + ($5367<<2)|0); - $5372 = HEAP32[$5371>>2]|0; - HEAP32[$pTabCur>>2] = $5372; - $5373 = HEAP32[$pTabCur>>2]|0; - $5374 = ((($5373)) + 2|0); - HEAP8[$5374>>0] = 0; - $5375 = $rowid; - $5376 = $5375; - $5377 = HEAP32[$5376>>2]|0; - $5378 = (($5375) + 4)|0; - $5379 = $5378; - $5380 = HEAP32[$5379>>2]|0; - $5381 = HEAP32[$pTabCur>>2]|0; - $5382 = ((($5381)) + 40|0); - $5383 = $5382; - $5384 = $5383; - HEAP32[$5384>>2] = $5377; - $5385 = (($5383) + 4)|0; - $5386 = $5385; - HEAP32[$5386>>2] = $5380; - $5387 = HEAP32[$pTabCur>>2]|0; - $5388 = ((($5387)) + 3|0); - HEAP8[$5388>>0] = 1; - $5389 = HEAP32[$pOp>>2]|0; - $5390 = ((($5389)) + 16|0); - $5391 = HEAP32[$5390>>2]|0; - $5392 = HEAP32[$pTabCur>>2]|0; - $5393 = ((($5392)) + 52|0); - HEAP32[$5393>>2] = $5391; - $5394 = HEAP32[$pC73>>2]|0; - $5395 = HEAP32[$pTabCur>>2]|0; - $5396 = ((($5395)) + 48|0); - HEAP32[$5396>>2] = $5394; - break L10; - } else { - $5397 = HEAP32[$0>>2]|0; - $5398 = HEAP32[$pOp>>2]|0; - $5399 = (_out2Prerelease($5397,$5398)|0); - HEAP32[$pOut>>2] = $5399; - $5400 = $rowid; - $5401 = $5400; - $5402 = HEAP32[$5401>>2]|0; - $5403 = (($5400) + 4)|0; - $5404 = $5403; - $5405 = HEAP32[$5404>>2]|0; - $5406 = HEAP32[$pOut>>2]|0; - $5407 = $5406; - $5408 = $5407; - HEAP32[$5408>>2] = $5402; - $5409 = (($5407) + 4)|0; - $5410 = $5409; - HEAP32[$5410>>2] = $5405; - $5411 = HEAP32[$pOut>>2]|0; - $5412 = ((($5411)) + 8|0); - HEAP16[$5412>>1] = 4; - break L10; - } - break; - } - case 61: case 60: case 59: case 58: { - $5418 = HEAP32[$pOp>>2]|0; - $5419 = ((($5418)) + 4|0); - $5420 = HEAP32[$5419>>2]|0; - $5421 = HEAP32[$0>>2]|0; - $5422 = ((($5421)) + 112|0); - $5423 = HEAP32[$5422>>2]|0; - $5424 = (($5423) + ($5420<<2)|0); - $5425 = HEAP32[$5424>>2]|0; - HEAP32[$pC74>>2] = $5425; - $5426 = HEAP32[$pC74>>2]|0; - $5427 = ((($5426)) + 24|0); - $5428 = HEAP32[$5427>>2]|0; - HEAP32[$r76>>2] = $5428; - $5429 = HEAP32[$pOp>>2]|0; - $5430 = ((($5429)) + 16|0); - $5431 = HEAP32[$5430>>2]|0; - $5432 = $5431&65535; - $5433 = ((($r76)) + 8|0); - HEAP16[$5433>>1] = $5432; - $5434 = HEAP32[$pOp>>2]|0; - $5435 = HEAP8[$5434>>0]|0; - $5436 = $5435&255; - $5437 = ($5436|0)<(60); - $5438 = ((($r76)) + 10|0); - if ($5437) { - HEAP8[$5438>>0] = -1; - } else { - HEAP8[$5438>>0] = 0; - } - $5439 = HEAP32[$pOp>>2]|0; - $5440 = ((($5439)) + 12|0); - $5441 = HEAP32[$5440>>2]|0; - $5442 = HEAP32[$aMem>>2]|0; - $5443 = (($5442) + (($5441*40)|0)|0); - $5444 = ((($r76)) + 4|0); - HEAP32[$5444>>2] = $5443; - HEAP32[$res75>>2] = 0; - $5445 = HEAP32[$db>>2]|0; - $5446 = HEAP32[$pC74>>2]|0; - $5447 = (_sqlite3VdbeIdxKeyCompare($5445,$5446,$r76,$res75)|0); - HEAP32[$rc>>2] = $5447; - $5448 = HEAP32[$pOp>>2]|0; - $5449 = HEAP8[$5448>>0]|0; - $5450 = $5449&255; - $5451 = $5450 & 1; - $5452 = ($5451|0)==(0); - $5453 = HEAP32[$res75>>2]|0; - if ($5452) { - $5454 = (0 - ($5453))|0; - HEAP32[$res75>>2] = $5454; - } else { - $5455 = (($5453) + 1)|0; - HEAP32[$res75>>2] = $5455; - } - $5456 = HEAP32[$rc>>2]|0; - $5457 = ($5456|0)!=(0); - if ($5457) { - break L1; - } - $5458 = HEAP32[$res75>>2]|0; - $5459 = ($5458|0)>(0); - if ($5459) { - label = 14; - } - break; - } - case 130: { - $5460 = HEAP32[$0>>2]|0; - $5461 = HEAP32[$pOp>>2]|0; - $5462 = (_out2Prerelease($5460,$5461)|0); - HEAP32[$pOut>>2] = $5462; - $5463 = HEAP32[$pOut>>2]|0; - $5464 = ((($5463)) + 8|0); - HEAP16[$5464>>1] = 1; - $5465 = HEAP32[$db>>2]|0; - $5466 = ((($5465)) + 160|0); - $5467 = HEAP32[$5466>>2]|0; - $5468 = HEAP32[$db>>2]|0; - $5469 = ((($5468)) + 172|0); - $5470 = HEAP32[$5469>>2]|0; - $5471 = (($5470) + 1)|0; - $5472 = ($5467|0)>($5471|0); - if ($5472) { - label = 660; - break L8; - } - $5475 = HEAP32[$pOp>>2]|0; - $5476 = ((($5475)) + 12|0); - $5477 = HEAP32[$5476>>2]|0; - HEAP32[$iDb77>>2] = $5477; - HEAP32[$iMoved>>2] = 0; - $5478 = HEAP32[$iDb77>>2]|0; - $5479 = HEAP32[$db>>2]|0; - $5480 = ((($5479)) + 16|0); - $5481 = HEAP32[$5480>>2]|0; - $5482 = (($5481) + ($5478<<4)|0); - $5483 = ((($5482)) + 4|0); - $5484 = HEAP32[$5483>>2]|0; - $5485 = HEAP32[$pOp>>2]|0; - $5486 = ((($5485)) + 4|0); - $5487 = HEAP32[$5486>>2]|0; - $5488 = (_sqlite3BtreeDropTable($5484,$5487,$iMoved)|0); - HEAP32[$rc>>2] = $5488; - $5489 = HEAP32[$pOut>>2]|0; - $5490 = ((($5489)) + 8|0); - HEAP16[$5490>>1] = 4; - $5491 = HEAP32[$iMoved>>2]|0; - $5492 = ($5491|0)<(0); - $5493 = $5492 << 31 >> 31; - $5494 = HEAP32[$pOut>>2]|0; - $5495 = $5494; - $5496 = $5495; - HEAP32[$5496>>2] = $5491; - $5497 = (($5495) + 4)|0; - $5498 = $5497; - HEAP32[$5498>>2] = $5493; - $5499 = HEAP32[$rc>>2]|0; - $5500 = ($5499|0)!=(0); - if ($5500) { - break L1; - } - $5501 = HEAP32[$iMoved>>2]|0; - $5502 = ($5501|0)!=(0); - if ($5502) { - $5503 = HEAP32[$db>>2]|0; - $5504 = HEAP32[$iDb77>>2]|0; - $5505 = HEAP32[$iMoved>>2]|0; - $5506 = HEAP32[$pOp>>2]|0; - $5507 = ((($5506)) + 4|0); - $5508 = HEAP32[$5507>>2]|0; - _sqlite3RootPageMoved($5503,$5504,$5505,$5508); - $5509 = HEAP32[$iDb77>>2]|0; - $5510 = (($5509) + 1)|0; - $5511 = $5510&255; - HEAP8[$resetSchemaOnFault>>0] = $5511; - } - break; - } - case 131: { - HEAP32[$nChange>>2] = 0; - $5512 = HEAP32[$pOp>>2]|0; - $5513 = ((($5512)) + 8|0); - $5514 = HEAP32[$5513>>2]|0; - $5515 = HEAP32[$db>>2]|0; - $5516 = ((($5515)) + 16|0); - $5517 = HEAP32[$5516>>2]|0; - $5518 = (($5517) + ($5514<<4)|0); - $5519 = ((($5518)) + 4|0); - $5520 = HEAP32[$5519>>2]|0; - $5521 = HEAP32[$pOp>>2]|0; - $5522 = ((($5521)) + 4|0); - $5523 = HEAP32[$5522>>2]|0; - $5524 = HEAP32[$pOp>>2]|0; - $5525 = ((($5524)) + 12|0); - $5526 = HEAP32[$5525>>2]|0; - $5527 = ($5526|0)!=(0); - $nChange$ = $5527 ? $nChange : 0; - $5528 = (_sqlite3BtreeClearTable($5520,$5523,$nChange$)|0); - HEAP32[$rc>>2] = $5528; - $5529 = HEAP32[$pOp>>2]|0; - $5530 = ((($5529)) + 12|0); - $5531 = HEAP32[$5530>>2]|0; - $5532 = ($5531|0)!=(0); - if ($5532) { - $5533 = HEAP32[$nChange>>2]|0; - $5534 = HEAP32[$0>>2]|0; - $5535 = ((($5534)) + 44|0); - $5536 = HEAP32[$5535>>2]|0; - $5537 = (($5536) + ($5533))|0; - HEAP32[$5535>>2] = $5537; - $5538 = HEAP32[$pOp>>2]|0; - $5539 = ((($5538)) + 12|0); - $5540 = HEAP32[$5539>>2]|0; - $5541 = ($5540|0)>(0); - if ($5541) { - $5542 = HEAP32[$nChange>>2]|0; - $5543 = ($5542|0)<(0); - $5544 = $5543 << 31 >> 31; - $5545 = HEAP32[$pOp>>2]|0; - $5546 = ((($5545)) + 12|0); - $5547 = HEAP32[$5546>>2]|0; - $5548 = HEAP32[$aMem>>2]|0; - $5549 = (($5548) + (($5547*40)|0)|0); - $5550 = $5549; - $5551 = $5550; - $5552 = HEAP32[$5551>>2]|0; - $5553 = (($5550) + 4)|0; - $5554 = $5553; - $5555 = HEAP32[$5554>>2]|0; - $5556 = (_i64Add(($5552|0),($5555|0),($5542|0),($5544|0))|0); - $5557 = tempRet0; - $5558 = $5549; - $5559 = $5558; - HEAP32[$5559>>2] = $5556; - $5560 = (($5558) + 4)|0; - $5561 = $5560; - HEAP32[$5561>>2] = $5557; - } - } - $5562 = HEAP32[$rc>>2]|0; - $5563 = ($5562|0)!=(0); - if ($5563) { - break L1; - } - break; - } - case 133: { - $5564 = HEAP32[$pOp>>2]|0; - $5565 = ((($5564)) + 4|0); - $5566 = HEAP32[$5565>>2]|0; - $5567 = HEAP32[$0>>2]|0; - $5568 = ((($5567)) + 112|0); - $5569 = HEAP32[$5568>>2]|0; - $5570 = (($5569) + ($5566<<2)|0); - $5571 = HEAP32[$5570>>2]|0; - HEAP32[$pC78>>2] = $5571; - $5572 = HEAP32[$pC78>>2]|0; - $5573 = HEAP8[$5572>>0]|0; - $5574 = $5573&255; - $5575 = ($5574|0)==(1); - if ($5575) { - $5576 = HEAP32[$db>>2]|0; - $5577 = HEAP32[$pC78>>2]|0; - $5578 = ((($5577)) + 16|0); - $5579 = HEAP32[$5578>>2]|0; - _sqlite3VdbeSorterReset($5576,$5579); - break L10; - } else { - $5580 = HEAP32[$pC78>>2]|0; - $5581 = ((($5580)) + 16|0); - $5582 = HEAP32[$5581>>2]|0; - $5583 = (_sqlite3BtreeClearTableOfCursor($5582)|0); - HEAP32[$rc>>2] = $5583; - $5584 = HEAP32[$rc>>2]|0; - $5585 = ($5584|0)!=(0); - if ($5585) { - break L1; - } else { - break L10; - } - } - break; - } - case 135: case 134: { - $5586 = HEAP32[$0>>2]|0; - $5587 = HEAP32[$pOp>>2]|0; - $5588 = (_out2Prerelease($5586,$5587)|0); - HEAP32[$pOut>>2] = $5588; - HEAP32[$pgno79>>2] = 0; - $5589 = HEAP32[$pOp>>2]|0; - $5590 = ((($5589)) + 4|0); - $5591 = HEAP32[$5590>>2]|0; - $5592 = HEAP32[$db>>2]|0; - $5593 = ((($5592)) + 16|0); - $5594 = HEAP32[$5593>>2]|0; - $5595 = (($5594) + ($5591<<4)|0); - HEAP32[$pDb81>>2] = $5595; - $5596 = HEAP32[$pOp>>2]|0; - $5597 = HEAP8[$5596>>0]|0; - $5598 = $5597&255; - $5599 = ($5598|0)==(135); - if ($5599) { - HEAP32[$flags80>>2] = 1; - } else { - HEAP32[$flags80>>2] = 2; - } - $5600 = HEAP32[$pDb81>>2]|0; - $5601 = ((($5600)) + 4|0); - $5602 = HEAP32[$5601>>2]|0; - $5603 = HEAP32[$flags80>>2]|0; - $5604 = (_sqlite3BtreeCreateTable($5602,$pgno79,$5603)|0); - HEAP32[$rc>>2] = $5604; - $5605 = HEAP32[$rc>>2]|0; - $5606 = ($5605|0)!=(0); - if ($5606) { - break L1; - } - $5607 = HEAP32[$pgno79>>2]|0; - $5608 = ($5607|0)<(0); - $5609 = $5608 << 31 >> 31; - $5610 = HEAP32[$pOut>>2]|0; - $5611 = $5610; - $5612 = $5611; - HEAP32[$5612>>2] = $5607; - $5613 = (($5611) + 4)|0; - $5614 = $5613; - HEAP32[$5614>>2] = $5609; - break; - } - case 136: { - $5615 = HEAP32[$pOp>>2]|0; - $5616 = ((($5615)) + 4|0); - $5617 = HEAP32[$5616>>2]|0; - HEAP32[$iDb82>>2] = $5617; - $5618 = HEAP32[$iDb82>>2]|0; - $5619 = ($5618|0)==(1); - $5620 = $5619 ? 19905 : 19924; - HEAP32[$zMaster>>2] = $5620; - $5621 = HEAP32[$db>>2]|0; - HEAP32[$initData>>2] = $5621; - $5622 = HEAP32[$pOp>>2]|0; - $5623 = ((($5622)) + 4|0); - $5624 = HEAP32[$5623>>2]|0; - $5625 = ((($initData)) + 8|0); - HEAP32[$5625>>2] = $5624; - $5626 = HEAP32[$0>>2]|0; - $5627 = ((($5626)) + 108|0); - $5628 = ((($initData)) + 4|0); - HEAP32[$5628>>2] = $5627; - $5629 = HEAP32[$db>>2]|0; - $5630 = HEAP32[$iDb82>>2]|0; - $5631 = HEAP32[$db>>2]|0; - $5632 = ((($5631)) + 16|0); - $5633 = HEAP32[$5632>>2]|0; - $5634 = (($5633) + ($5630<<4)|0); - $5635 = HEAP32[$5634>>2]|0; - $5636 = HEAP32[$zMaster>>2]|0; - $5637 = HEAP32[$pOp>>2]|0; - $5638 = ((($5637)) + 16|0); - $5639 = HEAP32[$5638>>2]|0; - HEAP32[$vararg_buffer58>>2] = $5635; - $vararg_ptr61 = ((($vararg_buffer58)) + 4|0); - HEAP32[$vararg_ptr61>>2] = $5636; - $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); - HEAP32[$vararg_ptr62>>2] = $5639; - $5640 = (_sqlite3MPrintf($5629,40293,$vararg_buffer58)|0); - HEAP32[$zSql>>2] = $5640; - $5641 = HEAP32[$zSql>>2]|0; - $5642 = ($5641|0)==(0|0); - if ($5642) { - HEAP32[$rc>>2] = 7; - } else { - $5643 = HEAP32[$db>>2]|0; - $5644 = ((($5643)) + 148|0); - $5645 = ((($5644)) + 5|0); - HEAP8[$5645>>0] = 1; - $5646 = ((($initData)) + 12|0); - HEAP32[$5646>>2] = 0; - $5647 = HEAP32[$db>>2]|0; - $5648 = HEAP32[$zSql>>2]|0; - $5649 = (_sqlite3_exec($5647,$5648,140,$initData,0)|0); - HEAP32[$rc>>2] = $5649; - $5650 = HEAP32[$rc>>2]|0; - $5651 = ($5650|0)==(0); - if ($5651) { - $5652 = ((($initData)) + 12|0); - $5653 = HEAP32[$5652>>2]|0; - HEAP32[$rc>>2] = $5653; - } - $5654 = HEAP32[$db>>2]|0; - $5655 = HEAP32[$zSql>>2]|0; - _sqlite3DbFree($5654,$5655); - $5656 = HEAP32[$db>>2]|0; - $5657 = ((($5656)) + 148|0); - $5658 = ((($5657)) + 5|0); - HEAP8[$5658>>0] = 0; - } - $5659 = HEAP32[$rc>>2]|0; - $5660 = ($5659|0)!=(0); - if ($5660) { - label = 682; - break L8; - } - break; - } - case 137: { - $5664 = HEAP32[$db>>2]|0; - $5665 = HEAP32[$pOp>>2]|0; - $5666 = ((($5665)) + 4|0); - $5667 = HEAP32[$5666>>2]|0; - $5668 = (_sqlite3AnalysisLoad($5664,$5667)|0); - HEAP32[$rc>>2] = $5668; - $5669 = HEAP32[$rc>>2]|0; - $5670 = ($5669|0)!=(0); - if ($5670) { - break L1; - } - break; - } - case 138: { - $5671 = HEAP32[$db>>2]|0; - $5672 = HEAP32[$pOp>>2]|0; - $5673 = ((($5672)) + 4|0); - $5674 = HEAP32[$5673>>2]|0; - $5675 = HEAP32[$pOp>>2]|0; - $5676 = ((($5675)) + 16|0); - $5677 = HEAP32[$5676>>2]|0; - _sqlite3UnlinkAndDeleteTable($5671,$5674,$5677); - break; - } - case 139: { - $5678 = HEAP32[$db>>2]|0; - $5679 = HEAP32[$pOp>>2]|0; - $5680 = ((($5679)) + 4|0); - $5681 = HEAP32[$5680>>2]|0; - $5682 = HEAP32[$pOp>>2]|0; - $5683 = ((($5682)) + 16|0); - $5684 = HEAP32[$5683>>2]|0; - _sqlite3UnlinkAndDeleteIndex($5678,$5681,$5684); - break; - } - case 140: { - $5685 = HEAP32[$db>>2]|0; - $5686 = HEAP32[$pOp>>2]|0; - $5687 = ((($5686)) + 4|0); - $5688 = HEAP32[$5687>>2]|0; - $5689 = HEAP32[$pOp>>2]|0; - $5690 = ((($5689)) + 16|0); - $5691 = HEAP32[$5690>>2]|0; - _sqlite3UnlinkAndDeleteTrigger($5685,$5688,$5691); - break; - } - case 141: { - $5692 = HEAP32[$pOp>>2]|0; - $5693 = ((($5692)) + 8|0); - $5694 = HEAP32[$5693>>2]|0; - HEAP32[$nRoot>>2] = $5694; - $5695 = HEAP32[$pOp>>2]|0; - $5696 = ((($5695)) + 16|0); - $5697 = HEAP32[$5696>>2]|0; - HEAP32[$aRoot>>2] = $5697; - $5698 = HEAP32[$pOp>>2]|0; - $5699 = ((($5698)) + 12|0); - $5700 = HEAP32[$5699>>2]|0; - $5701 = HEAP32[$aMem>>2]|0; - $5702 = (($5701) + (($5700*40)|0)|0); - HEAP32[$pnErr>>2] = $5702; - $5703 = HEAP32[$pOp>>2]|0; - $5704 = ((($5703)) + 4|0); - $5705 = HEAP32[$5704>>2]|0; - $5706 = HEAP32[$aMem>>2]|0; - $5707 = (($5706) + (($5705*40)|0)|0); - HEAP32[$pIn1>>2] = $5707; - $5708 = HEAP32[$pOp>>2]|0; - $5709 = ((($5708)) + 3|0); - $5710 = HEAP8[$5709>>0]|0; - $5711 = $5710&255; - $5712 = HEAP32[$db>>2]|0; - $5713 = ((($5712)) + 16|0); - $5714 = HEAP32[$5713>>2]|0; - $5715 = (($5714) + ($5711<<4)|0); - $5716 = ((($5715)) + 4|0); - $5717 = HEAP32[$5716>>2]|0; - $5718 = HEAP32[$aRoot>>2]|0; - $5719 = HEAP32[$nRoot>>2]|0; - $5720 = HEAP32[$pnErr>>2]|0; - $5721 = $5720; - $5722 = $5721; - $5723 = HEAP32[$5722>>2]|0; - $5724 = (($5721) + 4)|0; - $5725 = $5724; - $5726 = HEAP32[$5725>>2]|0; - $5727 = (_sqlite3BtreeIntegrityCheck($5717,$5718,$5719,$5723,$nErr)|0); - HEAP32[$z>>2] = $5727; - $5728 = HEAP32[$nErr>>2]|0; - $5729 = ($5728|0)<(0); - $5730 = $5729 << 31 >> 31; - $5731 = HEAP32[$pnErr>>2]|0; - $5732 = $5731; - $5733 = $5732; - $5734 = HEAP32[$5733>>2]|0; - $5735 = (($5732) + 4)|0; - $5736 = $5735; - $5737 = HEAP32[$5736>>2]|0; - $5738 = (_i64Subtract(($5734|0),($5737|0),($5728|0),($5730|0))|0); - $5739 = tempRet0; - $5740 = $5731; - $5741 = $5740; - HEAP32[$5741>>2] = $5738; - $5742 = (($5740) + 4)|0; - $5743 = $5742; - HEAP32[$5743>>2] = $5739; - $5744 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemSetNull($5744); - $5745 = HEAP32[$nErr>>2]|0; - $5746 = ($5745|0)==(0); - if (!($5746)) { - $5747 = HEAP32[$z>>2]|0; - $5748 = ($5747|0)==(0|0); - if ($5748) { - label = 889; - break L1; - } - $5749 = HEAP32[$pIn1>>2]|0; - $5750 = HEAP32[$z>>2]|0; - (_sqlite3VdbeMemSetStr($5749,$5750,-1,1,148)|0); - } - $5751 = HEAP32[$pIn1>>2]|0; - $5752 = HEAP8[$encoding>>0]|0; - $5753 = $5752&255; - (_sqlite3VdbeChangeEncoding($5751,$5753)|0); - break; - } - case 142: { - $5754 = HEAP32[$pOp>>2]|0; - $5755 = ((($5754)) + 4|0); - $5756 = HEAP32[$5755>>2]|0; - $5757 = HEAP32[$aMem>>2]|0; - $5758 = (($5757) + (($5756*40)|0)|0); - HEAP32[$pIn1>>2] = $5758; - $5759 = HEAP32[$pOp>>2]|0; - $5760 = ((($5759)) + 8|0); - $5761 = HEAP32[$5760>>2]|0; - $5762 = HEAP32[$aMem>>2]|0; - $5763 = (($5762) + (($5761*40)|0)|0); - HEAP32[$pIn2>>2] = $5763; - $5764 = HEAP32[$pIn1>>2]|0; - $5765 = ((($5764)) + 8|0); - $5766 = HEAP16[$5765>>1]|0; - $5767 = $5766&65535; - $5768 = $5767 & 32; - $5769 = ($5768|0)==(0); - if ($5769) { - $5770 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemSetRowSet($5770); - $5771 = HEAP32[$pIn1>>2]|0; - $5772 = ((($5771)) + 8|0); - $5773 = HEAP16[$5772>>1]|0; - $5774 = $5773&65535; - $5775 = $5774 & 32; - $5776 = ($5775|0)==(0); - if ($5776) { - label = 889; - break L1; - } - } - $5777 = HEAP32[$pIn1>>2]|0; - $5778 = HEAP32[$5777>>2]|0; - $5779 = HEAP32[$pIn2>>2]|0; - $5780 = $5779; - $5781 = $5780; - $5782 = HEAP32[$5781>>2]|0; - $5783 = (($5780) + 4)|0; - $5784 = $5783; - $5785 = HEAP32[$5784>>2]|0; - _sqlite3RowSetInsert($5778,$5782,$5785); - break; - } - case 62: { - $5786 = HEAP32[$pOp>>2]|0; - $5787 = ((($5786)) + 4|0); - $5788 = HEAP32[$5787>>2]|0; - $5789 = HEAP32[$aMem>>2]|0; - $5790 = (($5789) + (($5788*40)|0)|0); - HEAP32[$pIn1>>2] = $5790; - $5791 = HEAP32[$pIn1>>2]|0; - $5792 = ((($5791)) + 8|0); - $5793 = HEAP16[$5792>>1]|0; - $5794 = $5793&65535; - $5795 = $5794 & 32; - $5796 = ($5795|0)==(0); - if (!($5796)) { - $5797 = HEAP32[$pIn1>>2]|0; - $5798 = HEAP32[$5797>>2]|0; - $5799 = (_sqlite3RowSetNext($5798,$val)|0); - $5800 = ($5799|0)==(0); - if (!($5800)) { - $5802 = HEAP32[$pOp>>2]|0; - $5803 = ((($5802)) + 12|0); - $5804 = HEAP32[$5803>>2]|0; - $5805 = HEAP32[$aMem>>2]|0; - $5806 = (($5805) + (($5804*40)|0)|0); - $5807 = $val; - $5808 = $5807; - $5809 = HEAP32[$5808>>2]|0; - $5810 = (($5807) + 4)|0; - $5811 = $5810; - $5812 = HEAP32[$5811>>2]|0; - _sqlite3VdbeMemSetInt64($5806,$5809,$5812); - label = 8; - break L10; - } - } - $5801 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemSetNull($5801); - label = 7; + $194 = HEAP32[$41>>2]|0; + _sqlite3_free($194); break; } - case 63: { - $5813 = HEAP32[$pOp>>2]|0; - $5814 = ((($5813)) + 4|0); - $5815 = HEAP32[$5814>>2]|0; - $5816 = HEAP32[$aMem>>2]|0; - $5817 = (($5816) + (($5815*40)|0)|0); - HEAP32[$pIn1>>2] = $5817; - $5818 = HEAP32[$pOp>>2]|0; - $5819 = ((($5818)) + 12|0); - $5820 = HEAP32[$5819>>2]|0; - $5821 = HEAP32[$aMem>>2]|0; - $5822 = (($5821) + (($5820*40)|0)|0); - HEAP32[$pIn3>>2] = $5822; - $5823 = HEAP32[$pOp>>2]|0; - $5824 = ((($5823)) + 16|0); - $5825 = HEAP32[$5824>>2]|0; - HEAP32[$iSet>>2] = $5825; - $5826 = HEAP32[$pIn1>>2]|0; - $5827 = ((($5826)) + 8|0); - $5828 = HEAP16[$5827>>1]|0; - $5829 = $5828&65535; - $5830 = $5829 & 32; - $5831 = ($5830|0)==(0); - if ($5831) { - $5832 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemSetRowSet($5832); - $5833 = HEAP32[$pIn1>>2]|0; - $5834 = ((($5833)) + 8|0); - $5835 = HEAP16[$5834>>1]|0; - $5836 = $5835&65535; - $5837 = $5836 & 32; - $5838 = ($5837|0)==(0); - if ($5838) { - label = 889; - break L1; - } - } - $5839 = HEAP32[$iSet>>2]|0; - $5840 = ($5839|0)!=(0); - if ($5840) { - $5841 = HEAP32[$pIn1>>2]|0; - $5842 = HEAP32[$5841>>2]|0; - $5843 = HEAP32[$iSet>>2]|0; - $5844 = HEAP32[$pIn3>>2]|0; - $5845 = $5844; - $5846 = $5845; - $5847 = HEAP32[$5846>>2]|0; - $5848 = (($5845) + 4)|0; - $5849 = $5848; - $5850 = HEAP32[$5849>>2]|0; - $5851 = (_sqlite3RowSetTest($5842,$5843,$5847,$5850)|0); - HEAP32[$exists>>2] = $5851; - $5852 = HEAP32[$exists>>2]|0; - $5853 = ($5852|0)!=(0); - if ($5853) { - label = 14; - break L10; - } + } + $195 = HEAP32[$39>>2]|0; + $196 = (_strlen($195)|0); + $197 = (($196) + 1)|0; + $198 = HEAP32[$20>>2]|0; + $199 = (($198) + ($197))|0; + HEAP32[$20>>2] = $199; + $200 = HEAP32[$39>>2]|0; + $201 = HEAP32[$26>>2]|0; + $202 = HEAP32[$21>>2]|0; + $203 = (($202) + 1)|0; + HEAP32[$21>>2] = $203; + $204 = (($201) + ($202<<2)|0); + HEAP32[$204>>2] = $200; + } + } while(0); + $205 = HEAP32[$17>>2]|0; + $206 = (($205) + 1)|0; + HEAP32[$17>>2] = $206; + } + $207 = HEAP32[$16>>2]|0; + $208 = ($207|0)==(0); + $209 = HEAP32[$35>>2]|0; + $210 = ($209|0)!=(0|0); + $or$cond3 = $208 & $210; + L65: do { + if ($or$cond3) { + $211 = HEAP32[$33>>2]|0; + _sqlite3_free($211); + $212 = HEAP32[$34>>2]|0; + _sqlite3_free($212); + HEAP32[$33>>2] = 0; + HEAP32[$34>>2] = 0; + $213 = HEAP32[$21>>2]|0; + $214 = ($213|0)==(0); + if ($214) { + $215 = HEAP32[$26>>2]|0; + _sqlite3_free($215); + HEAP32[$26>>2] = 0; + $216 = HEAP32[$8>>2]|0; + $217 = HEAP32[$11>>2]|0; + $218 = ((($217)) + 4|0); + $219 = HEAP32[$218>>2]|0; + $220 = HEAP32[$35>>2]|0; + $221 = HEAP32[$13>>2]|0; + $222 = (_fts3ContentColumns($216,$219,$220,$26,$21,$20,$221)|0); + HEAP32[$16>>2] = $222; + $223 = HEAP32[$16>>2]|0; + $224 = ($223|0)==(0); + $225 = HEAP32[$36>>2]|0; + $226 = ($225|0)!=(0|0); + $or$cond5 = $224 & $226; + if ($or$cond5) { + HEAP32[$45>>2] = 0; + while(1) { + $227 = HEAP32[$45>>2]|0; + $228 = HEAP32[$21>>2]|0; + $229 = ($227|0)<($228|0); + if (!($229)) { + break L65; } - $5854 = HEAP32[$iSet>>2]|0; - $5855 = ($5854|0)>=(0); - if ($5855) { - $5856 = HEAP32[$pIn1>>2]|0; - $5857 = HEAP32[$5856>>2]|0; - $5858 = HEAP32[$pIn3>>2]|0; - $5859 = $5858; - $5860 = $5859; - $5861 = HEAP32[$5860>>2]|0; - $5862 = (($5859) + 4)|0; - $5863 = $5862; - $5864 = HEAP32[$5863>>2]|0; - _sqlite3RowSetInsert($5857,$5861,$5864); + $230 = HEAP32[$36>>2]|0; + $231 = HEAP32[$26>>2]|0; + $232 = HEAP32[$45>>2]|0; + $233 = (($231) + ($232<<2)|0); + $234 = HEAP32[$233>>2]|0; + $235 = (_sqlite3_stricmp($230,$234)|0); + $236 = ($235|0)==(0); + $237 = HEAP32[$45>>2]|0; + if ($236) { + break; } - break; + $253 = (($237) + 1)|0; + HEAP32[$45>>2] = $253; } - case 64: { - $5865 = HEAP32[$pOp>>2]|0; - $5866 = ((($5865)) + 16|0); - $5867 = HEAP32[$5866>>2]|0; - HEAP32[$pProgram>>2] = $5867; - $5868 = HEAP32[$pOp>>2]|0; - $5869 = ((($5868)) + 12|0); - $5870 = HEAP32[$5869>>2]|0; - $5871 = HEAP32[$aMem>>2]|0; - $5872 = (($5871) + (($5870*40)|0)|0); - HEAP32[$pRt>>2] = $5872; - $5873 = HEAP32[$pOp>>2]|0; - $5874 = ((($5873)) + 3|0); - $5875 = HEAP8[$5874>>0]|0; - $5876 = ($5875<<24>>24)!=(0); - if ($5876) { - $5877 = HEAP32[$pProgram>>2]|0; - $5878 = ((($5877)) + 16|0); - $5879 = HEAP32[$5878>>2]|0; - HEAP32[$t86>>2] = $5879; - $5880 = HEAP32[$0>>2]|0; - $5881 = ((($5880)) + 184|0); - $5882 = HEAP32[$5881>>2]|0; - HEAP32[$pFrame85>>2] = $5882; - while(1) { - $5883 = HEAP32[$pFrame85>>2]|0; - $5884 = ($5883|0)!=(0|0); - if (!($5884)) { - break; - } - $5885 = HEAP32[$pFrame85>>2]|0; - $5886 = ((($5885)) + 24|0); - $5887 = HEAP32[$5886>>2]|0; - $5888 = HEAP32[$t86>>2]|0; - $5889 = ($5887|0)!=($5888|0); - if (!($5889)) { - break; - } - $5890 = HEAP32[$pFrame85>>2]|0; - $5891 = ((($5890)) + 4|0); - $5892 = HEAP32[$5891>>2]|0; - HEAP32[$pFrame85>>2] = $5892; - } - $5893 = HEAP32[$pFrame85>>2]|0; - $5894 = ($5893|0)!=(0|0); - if ($5894) { - break L10; - } - } - $5895 = HEAP32[$0>>2]|0; - $5896 = ((($5895)) + 192|0); - $5897 = HEAP32[$5896>>2]|0; - $5898 = HEAP32[$db>>2]|0; - $5899 = ((($5898)) + 96|0); - $5900 = ((($5899)) + 40|0); - $5901 = HEAP32[$5900>>2]|0; - $5902 = ($5897|0)>=($5901|0); - if ($5902) { - label = 711; - break L8; + HEAP32[$46>>2] = $237; + while(1) { + $238 = HEAP32[$46>>2]|0; + $239 = HEAP32[$21>>2]|0; + $240 = ($238|0)<($239|0); + if (!($240)) { + break; } - $5904 = HEAP32[$pRt>>2]|0; - $5905 = ((($5904)) + 8|0); - $5906 = HEAP16[$5905>>1]|0; - $5907 = $5906&65535; - $5908 = $5907 & 64; - $5909 = ($5908|0)==(0); - L784: do { - if ($5909) { - $5910 = HEAP32[$pProgram>>2]|0; - $5911 = ((($5910)) + 8|0); - $5912 = HEAP32[$5911>>2]|0; - $5913 = HEAP32[$pProgram>>2]|0; - $5914 = ((($5913)) + 12|0); - $5915 = HEAP32[$5914>>2]|0; - $5916 = (($5912) + ($5915))|0; - HEAP32[$nMem>>2] = $5916; - $5917 = HEAP32[$pProgram>>2]|0; - $5918 = ((($5917)) + 12|0); - $5919 = HEAP32[$5918>>2]|0; - $5920 = ($5919|0)==(0); - if ($5920) { - $5921 = HEAP32[$nMem>>2]|0; - $5922 = (($5921) + 1)|0; - HEAP32[$nMem>>2] = $5922; - } - $5923 = HEAP32[$nMem>>2]|0; - $5924 = ($5923*40)|0; - $5925 = (80 + ($5924))|0; - $5926 = HEAP32[$pProgram>>2]|0; - $5927 = ((($5926)) + 12|0); - $5928 = HEAP32[$5927>>2]|0; - $5929 = $5928<<2; - $5930 = (($5925) + ($5929))|0; - HEAP32[$nByte83>>2] = $5930; - $5931 = HEAP32[$db>>2]|0; - $5932 = HEAP32[$nByte83>>2]|0; - $5933 = ($5932|0)<(0); - $5934 = $5933 << 31 >> 31; - $5935 = (_sqlite3DbMallocZero($5931,$5932,$5934)|0); - HEAP32[$pFrame85>>2] = $5935; - $5936 = HEAP32[$pFrame85>>2]|0; - $5937 = ($5936|0)!=(0|0); - if (!($5937)) { - label = 889; - break L1; - } - $5938 = HEAP32[$pRt>>2]|0; - _sqlite3VdbeMemRelease($5938); - $5939 = HEAP32[$pRt>>2]|0; - $5940 = ((($5939)) + 8|0); - HEAP16[$5940>>1] = 64; - $5941 = HEAP32[$pFrame85>>2]|0; - $5942 = HEAP32[$pRt>>2]|0; - HEAP32[$5942>>2] = $5941; - $5943 = HEAP32[$0>>2]|0; - $5944 = HEAP32[$pFrame85>>2]|0; - HEAP32[$5944>>2] = $5943; - $5945 = HEAP32[$nMem>>2]|0; - $5946 = HEAP32[$pFrame85>>2]|0; - $5947 = ((($5946)) + 60|0); - HEAP32[$5947>>2] = $5945; - $5948 = HEAP32[$pProgram>>2]|0; - $5949 = ((($5948)) + 12|0); - $5950 = HEAP32[$5949>>2]|0; - $5951 = HEAP32[$pFrame85>>2]|0; - $5952 = ((($5951)) + 64|0); - HEAP32[$5952>>2] = $5950; - $5953 = HEAP32[$pOp>>2]|0; - $5954 = HEAP32[$aOp>>2]|0; - $5955 = $5953; - $5956 = $5954; - $5957 = (($5955) - ($5956))|0; - $5958 = (($5957|0) / 20)&-1; - $5959 = HEAP32[$pFrame85>>2]|0; - $5960 = ((($5959)) + 48|0); - HEAP32[$5960>>2] = $5958; - $5961 = HEAP32[$0>>2]|0; - $5962 = ((($5961)) + 92|0); - $5963 = HEAP32[$5962>>2]|0; - $5964 = HEAP32[$pFrame85>>2]|0; - $5965 = ((($5964)) + 16|0); - HEAP32[$5965>>2] = $5963; - $5966 = HEAP32[$0>>2]|0; - $5967 = ((($5966)) + 24|0); - $5968 = HEAP32[$5967>>2]|0; - $5969 = HEAP32[$pFrame85>>2]|0; - $5970 = ((($5969)) + 56|0); - HEAP32[$5970>>2] = $5968; - $5971 = HEAP32[$0>>2]|0; - $5972 = ((($5971)) + 112|0); - $5973 = HEAP32[$5972>>2]|0; - $5974 = HEAP32[$pFrame85>>2]|0; - $5975 = ((($5974)) + 20|0); - HEAP32[$5975>>2] = $5973; - $5976 = HEAP32[$0>>2]|0; - $5977 = ((($5976)) + 28|0); - $5978 = HEAP32[$5977>>2]|0; - $5979 = HEAP32[$pFrame85>>2]|0; - $5980 = ((($5979)) + 44|0); - HEAP32[$5980>>2] = $5978; - $5981 = HEAP32[$0>>2]|0; - $5982 = ((($5981)) + 88|0); - $5983 = HEAP32[$5982>>2]|0; - $5984 = HEAP32[$pFrame85>>2]|0; - $5985 = ((($5984)) + 8|0); - HEAP32[$5985>>2] = $5983; - $5986 = HEAP32[$0>>2]|0; - $5987 = ((($5986)) + 136|0); - $5988 = HEAP32[$5987>>2]|0; - $5989 = HEAP32[$pFrame85>>2]|0; - $5990 = ((($5989)) + 52|0); - HEAP32[$5990>>2] = $5988; - $5991 = HEAP32[$pProgram>>2]|0; - $5992 = ((($5991)) + 16|0); - $5993 = HEAP32[$5992>>2]|0; - $5994 = HEAP32[$pFrame85>>2]|0; - $5995 = ((($5994)) + 24|0); - HEAP32[$5995>>2] = $5993; - $5996 = HEAP32[$pFrame85>>2]|0; - $5997 = ((($5996)) + 60|0); - $5998 = HEAP32[$5997>>2]|0; - $5999 = HEAP32[$pFrame85>>2]|0; - $6000 = ((($5999)) + 80|0); - $6001 = (($6000) + (($5998*40)|0)|0); - HEAP32[$pEnd>>2] = $6001; - $6002 = HEAP32[$pFrame85>>2]|0; - $6003 = ((($6002)) + 80|0); - HEAP32[$pMem84>>2] = $6003; - while(1) { - $6004 = HEAP32[$pMem84>>2]|0; - $6005 = HEAP32[$pEnd>>2]|0; - $6006 = ($6004|0)!=($6005|0); - if (!($6006)) { - break L784; - } - $6007 = HEAP32[$pMem84>>2]|0; - $6008 = ((($6007)) + 8|0); - HEAP16[$6008>>1] = 128; - $6009 = HEAP32[$db>>2]|0; - $6010 = HEAP32[$pMem84>>2]|0; - $6011 = ((($6010)) + 32|0); - HEAP32[$6011>>2] = $6009; - $6012 = HEAP32[$pMem84>>2]|0; - $6013 = ((($6012)) + 40|0); - HEAP32[$pMem84>>2] = $6013; - } - } else { - $6014 = HEAP32[$pRt>>2]|0; - $6015 = HEAP32[$6014>>2]|0; - HEAP32[$pFrame85>>2] = $6015; - } - } while(0); - $6016 = HEAP32[$0>>2]|0; - $6017 = ((($6016)) + 192|0); - $6018 = HEAP32[$6017>>2]|0; - $6019 = (($6018) + 1)|0; - HEAP32[$6017>>2] = $6019; - $6020 = HEAP32[$0>>2]|0; - $6021 = ((($6020)) + 184|0); - $6022 = HEAP32[$6021>>2]|0; - $6023 = HEAP32[$pFrame85>>2]|0; - $6024 = ((($6023)) + 4|0); - HEAP32[$6024>>2] = $6022; - $6025 = $lastRowid; - $6026 = $6025; - $6027 = HEAP32[$6026>>2]|0; - $6028 = (($6025) + 4)|0; - $6029 = $6028; - $6030 = HEAP32[$6029>>2]|0; - $6031 = HEAP32[$pFrame85>>2]|0; - $6032 = ((($6031)) + 32|0); - $6033 = $6032; - $6034 = $6033; - HEAP32[$6034>>2] = $6027; - $6035 = (($6033) + 4)|0; - $6036 = $6035; - HEAP32[$6036>>2] = $6030; - $6037 = HEAP32[$0>>2]|0; - $6038 = ((($6037)) + 44|0); - $6039 = HEAP32[$6038>>2]|0; - $6040 = HEAP32[$pFrame85>>2]|0; - $6041 = ((($6040)) + 68|0); - HEAP32[$6041>>2] = $6039; - $6042 = HEAP32[$0>>2]|0; - $6043 = HEAP32[$6042>>2]|0; - $6044 = ((($6043)) + 88|0); - $6045 = HEAP32[$6044>>2]|0; - $6046 = HEAP32[$pFrame85>>2]|0; - $6047 = ((($6046)) + 72|0); - HEAP32[$6047>>2] = $6045; - $6048 = HEAP32[$0>>2]|0; - $6049 = ((($6048)) + 204|0); - $6050 = HEAP32[$6049>>2]|0; - $6051 = HEAP32[$pFrame85>>2]|0; - $6052 = ((($6051)) + 40|0); - HEAP32[$6052>>2] = $6050; - $6053 = HEAP32[$0>>2]|0; - $6054 = ((($6053)) + 204|0); - HEAP32[$6054>>2] = 0; - $6055 = HEAP32[$0>>2]|0; - $6056 = ((($6055)) + 44|0); - HEAP32[$6056>>2] = 0; - $6057 = HEAP32[$pFrame85>>2]|0; - $6058 = HEAP32[$0>>2]|0; - $6059 = ((($6058)) + 184|0); - HEAP32[$6059>>2] = $6057; - $6060 = HEAP32[$pFrame85>>2]|0; - $6061 = ((($6060)) + 80|0); - HEAP32[$aMem>>2] = $6061; - $6062 = HEAP32[$0>>2]|0; - $6063 = ((($6062)) + 92|0); - HEAP32[$6063>>2] = $6061; - $6064 = HEAP32[$pFrame85>>2]|0; - $6065 = ((($6064)) + 60|0); - $6066 = HEAP32[$6065>>2]|0; - $6067 = HEAP32[$0>>2]|0; - $6068 = ((($6067)) + 24|0); - HEAP32[$6068>>2] = $6066; - $6069 = HEAP32[$pFrame85>>2]|0; - $6070 = ((($6069)) + 64|0); - $6071 = HEAP32[$6070>>2]|0; - $6072 = $6071&65535; - $6073 = $6072&65535; - $6074 = HEAP32[$0>>2]|0; - $6075 = ((($6074)) + 28|0); - HEAP32[$6075>>2] = $6073; - $6076 = HEAP32[$0>>2]|0; - $6077 = ((($6076)) + 24|0); - $6078 = HEAP32[$6077>>2]|0; - $6079 = HEAP32[$aMem>>2]|0; - $6080 = (($6079) + (($6078*40)|0)|0); - $6081 = HEAP32[$0>>2]|0; - $6082 = ((($6081)) + 112|0); - HEAP32[$6082>>2] = $6080; - $6083 = HEAP32[$pProgram>>2]|0; - $6084 = HEAP32[$6083>>2]|0; - HEAP32[$aOp>>2] = $6084; - $6085 = HEAP32[$0>>2]|0; - $6086 = ((($6085)) + 88|0); - HEAP32[$6086>>2] = $6084; - $6087 = HEAP32[$pProgram>>2]|0; - $6088 = ((($6087)) + 4|0); - $6089 = HEAP32[$6088>>2]|0; - $6090 = HEAP32[$0>>2]|0; - $6091 = ((($6090)) + 136|0); - HEAP32[$6091>>2] = $6089; - $6092 = HEAP32[$aOp>>2]|0; - $6093 = ((($6092)) + -20|0); - HEAP32[$pOp>>2] = $6093; - break; - } - case 143: { - $6094 = HEAP32[$0>>2]|0; - $6095 = HEAP32[$pOp>>2]|0; - $6096 = (_out2Prerelease($6094,$6095)|0); - HEAP32[$pOut>>2] = $6096; - $6097 = HEAP32[$0>>2]|0; - $6098 = ((($6097)) + 184|0); - $6099 = HEAP32[$6098>>2]|0; - HEAP32[$pFrame87>>2] = $6099; - $6100 = HEAP32[$pOp>>2]|0; - $6101 = ((($6100)) + 4|0); - $6102 = HEAP32[$6101>>2]|0; - $6103 = HEAP32[$pFrame87>>2]|0; - $6104 = ((($6103)) + 48|0); - $6105 = HEAP32[$6104>>2]|0; - $6106 = HEAP32[$pFrame87>>2]|0; - $6107 = ((($6106)) + 8|0); - $6108 = HEAP32[$6107>>2]|0; - $6109 = (($6108) + (($6105*20)|0)|0); - $6110 = ((($6109)) + 4|0); - $6111 = HEAP32[$6110>>2]|0; - $6112 = (($6102) + ($6111))|0; - $6113 = HEAP32[$pFrame87>>2]|0; - $6114 = ((($6113)) + 16|0); - $6115 = HEAP32[$6114>>2]|0; - $6116 = (($6115) + (($6112*40)|0)|0); - HEAP32[$pIn>>2] = $6116; - $6117 = HEAP32[$pOut>>2]|0; - $6118 = HEAP32[$pIn>>2]|0; - _sqlite3VdbeMemShallowCopy($6117,$6118,4096); - break; + $241 = HEAP32[$26>>2]|0; + $242 = HEAP32[$46>>2]|0; + $243 = (($242) + 1)|0; + $244 = (($241) + ($243<<2)|0); + $245 = HEAP32[$244>>2]|0; + $246 = HEAP32[$26>>2]|0; + $247 = HEAP32[$46>>2]|0; + $248 = (($246) + ($247<<2)|0); + HEAP32[$248>>2] = $245; + $249 = HEAP32[$46>>2]|0; + $250 = (($249) + 1)|0; + HEAP32[$46>>2] = $250; } - case 144: { - $6119 = HEAP32[$db>>2]|0; - $6120 = ((($6119)) + 24|0); - $6121 = HEAP32[$6120>>2]|0; - $6122 = $6121 & 33554432; - $6123 = ($6122|0)!=(0); - $6124 = HEAP32[$pOp>>2]|0; - if ($6123) { - $6125 = ((($6124)) + 8|0); - $6126 = HEAP32[$6125>>2]|0; - $6127 = ($6126|0)<(0); - $6128 = $6127 << 31 >> 31; - $6129 = HEAP32[$db>>2]|0; - $6130 = ((($6129)) + 448|0); - $6131 = $6130; - $6132 = $6131; - $6133 = HEAP32[$6132>>2]|0; - $6134 = (($6131) + 4)|0; - $6135 = $6134; - $6136 = HEAP32[$6135>>2]|0; - $6137 = (_i64Add(($6133|0),($6136|0),($6126|0),($6128|0))|0); - $6138 = tempRet0; - $6139 = $6130; - $6140 = $6139; - HEAP32[$6140>>2] = $6137; - $6141 = (($6139) + 4)|0; - $6142 = $6141; - HEAP32[$6142>>2] = $6138; - break L10; - } - $6143 = ((($6124)) + 4|0); - $6144 = HEAP32[$6143>>2]|0; - $6145 = ($6144|0)!=(0); - $6146 = HEAP32[$pOp>>2]|0; - $6147 = ((($6146)) + 8|0); - $6148 = HEAP32[$6147>>2]|0; - $6149 = ($6148|0)<(0); - $6150 = $6149 << 31 >> 31; - if ($6145) { - $6151 = HEAP32[$db>>2]|0; - $6152 = ((($6151)) + 440|0); - $6153 = $6152; - $6154 = $6153; - $6155 = HEAP32[$6154>>2]|0; - $6156 = (($6153) + 4)|0; - $6157 = $6156; - $6158 = HEAP32[$6157>>2]|0; - $6159 = (_i64Add(($6155|0),($6158|0),($6148|0),($6150|0))|0); - $6160 = tempRet0; - $6161 = $6152; - $6162 = $6161; - HEAP32[$6162>>2] = $6159; - $6163 = (($6161) + 4)|0; - $6164 = $6163; - HEAP32[$6164>>2] = $6160; - break L10; - } else { - $6165 = HEAP32[$0>>2]|0; - $6166 = ((($6165)) + 64|0); - $6167 = $6166; - $6168 = $6167; - $6169 = HEAP32[$6168>>2]|0; - $6170 = (($6167) + 4)|0; - $6171 = $6170; - $6172 = HEAP32[$6171>>2]|0; - $6173 = (_i64Add(($6169|0),($6172|0),($6148|0),($6150|0))|0); - $6174 = tempRet0; - $6175 = $6166; - $6176 = $6175; - HEAP32[$6176>>2] = $6173; - $6177 = (($6175) + 4)|0; - $6178 = $6177; - HEAP32[$6178>>2] = $6174; - break L10; - } + $251 = HEAP32[$21>>2]|0; + $252 = (($251) + -1)|0; + HEAP32[$21>>2] = $252; + } + } + } + } while(0); + $254 = HEAP32[$16>>2]|0; + $255 = ($254|0)!=(0); + if (!($255)) { + $256 = HEAP32[$21>>2]|0; + $257 = ($256|0)==(0); + if ($257) { + $258 = HEAP32[$26>>2]|0; + HEAP32[$258>>2] = 46221; + HEAP32[$20>>2] = 8; + HEAP32[$21>>2] = 1; + } + $259 = HEAP32[$27>>2]|0; + $260 = ($259|0)==(0|0); + if ($260) { + $261 = HEAP32[$14>>2]|0; + $262 = HEAP32[$13>>2]|0; + $263 = (_sqlite3Fts3InitTokenizer($261,42572,$27,$262)|0); + HEAP32[$16>>2] = $263; + $264 = HEAP32[$16>>2]|0; + $265 = ($264|0)!=(0); + if ($265) { + break; + } + } + $266 = HEAP32[$32>>2]|0; + $267 = (_fts3PrefixParameter($266,$28,$29)|0); + HEAP32[$16>>2] = $267; + $268 = HEAP32[$16>>2]|0; + $269 = ($268|0)==(1); + if ($269) { + $270 = HEAP32[$13>>2]|0; + $271 = HEAP32[$32>>2]|0; + HEAP32[$vararg_buffer14>>2] = $271; + _sqlite3Fts3ErrMsg($270,46229,$vararg_buffer14); + } + $272 = HEAP32[$16>>2]|0; + $273 = ($272|0)!=(0); + if (!($273)) { + $274 = HEAP32[$21>>2]|0; + $275 = $274<<2; + $276 = (280 + ($275))|0; + $277 = HEAP32[$28>>2]|0; + $278 = ($277*24)|0; + $279 = (($276) + ($278))|0; + $280 = HEAP32[$21>>2]|0; + $281 = $280; + $282 = (($279) + ($281))|0; + $283 = HEAP32[$24>>2]|0; + $284 = (($282) + ($283))|0; + $285 = HEAP32[$23>>2]|0; + $286 = (($284) + ($285))|0; + $287 = HEAP32[$20>>2]|0; + $288 = (($286) + ($287))|0; + HEAP32[$18>>2] = $288; + $289 = HEAP32[$18>>2]|0; + $290 = (_sqlite3_malloc($289)|0); + HEAP32[$15>>2] = $290; + $291 = HEAP32[$15>>2]|0; + $292 = ($291|0)==(0|0); + if ($292) { + HEAP32[$16>>2] = 7; + break; + } + $293 = HEAP32[$15>>2]|0; + $294 = HEAP32[$18>>2]|0; + _memset(($293|0),0,($294|0))|0; + $295 = HEAP32[$8>>2]|0; + $296 = HEAP32[$15>>2]|0; + $297 = ((($296)) + 12|0); + HEAP32[$297>>2] = $295; + $298 = HEAP32[$21>>2]|0; + $299 = HEAP32[$15>>2]|0; + $300 = ((($299)) + 24|0); + HEAP32[$300>>2] = $298; + $301 = HEAP32[$15>>2]|0; + $302 = ((($301)) + 260|0); + HEAP32[$302>>2] = 0; + $303 = HEAP32[$15>>2]|0; + $304 = ((($303)) + 280|0); + $305 = HEAP32[$15>>2]|0; + $306 = ((($305)) + 28|0); + HEAP32[$306>>2] = $304; + $307 = HEAP32[$27>>2]|0; + $308 = HEAP32[$15>>2]|0; + $309 = ((($308)) + 36|0); + HEAP32[$309>>2] = $307; + $310 = HEAP32[$15>>2]|0; + $311 = ((($310)) + 256|0); + HEAP32[$311>>2] = 1048576; + $312 = HEAP32[$25>>2]|0; + $313 = ($312|0)!=(0); + $314 = HEAP32[$30>>2]|0; + $315 = ($314|0)==(0); + $316 = $313 ? $315 : 0; + $317 = $316&1; + $318 = $317&255; + $319 = HEAP32[$15>>2]|0; + $320 = ((($319)) + 230|0); + HEAP8[$320>>0] = $318; + $321 = HEAP32[$25>>2]|0; + $322 = $321&255; + $323 = HEAP32[$15>>2]|0; + $324 = ((($323)) + 229|0); + HEAP8[$324>>0] = $322; + $325 = HEAP32[$25>>2]|0; + $326 = $325&255; + $327 = HEAP32[$15>>2]|0; + $328 = ((($327)) + 228|0); + HEAP8[$328>>0] = $326; + $329 = HEAP32[$31>>2]|0; + $330 = $329&255; + $331 = HEAP32[$15>>2]|0; + $332 = ((($331)) + 231|0); + HEAP8[$332>>0] = $330; + $333 = HEAP32[$15>>2]|0; + $334 = ((($333)) + 48|0); + HEAP32[$334>>2] = 255; + $335 = HEAP32[$35>>2]|0; + $336 = HEAP32[$15>>2]|0; + $337 = ((($336)) + 40|0); + HEAP32[$337>>2] = $335; + $338 = HEAP32[$36>>2]|0; + $339 = HEAP32[$15>>2]|0; + $340 = ((($339)) + 44|0); + HEAP32[$340>>2] = $338; + HEAP32[$35>>2] = 0; + HEAP32[$36>>2] = 0; + $341 = HEAP32[$15>>2]|0; + $342 = ((($341)) + 28|0); + $343 = HEAP32[$342>>2]|0; + $344 = HEAP32[$21>>2]|0; + $345 = (($343) + ($344<<2)|0); + $346 = HEAP32[$15>>2]|0; + $347 = ((($346)) + 252|0); + HEAP32[$347>>2] = $345; + $348 = HEAP32[$15>>2]|0; + $349 = ((($348)) + 252|0); + $350 = HEAP32[$349>>2]|0; + $351 = HEAP32[$29>>2]|0; + $352 = HEAP32[$28>>2]|0; + $353 = ($352*24)|0; + _memcpy(($350|0),($351|0),($353|0))|0; + $354 = HEAP32[$28>>2]|0; + $355 = HEAP32[$15>>2]|0; + $356 = ((($355)) + 248|0); + HEAP32[$356>>2] = $354; + HEAP32[$17>>2] = 0; + while(1) { + $357 = HEAP32[$17>>2]|0; + $358 = HEAP32[$28>>2]|0; + $359 = ($357|0)<($358|0); + $360 = HEAP32[$15>>2]|0; + $361 = ((($360)) + 252|0); + $362 = HEAP32[$361>>2]|0; + if (!($359)) { + break; + } + $363 = HEAP32[$17>>2]|0; + $364 = (($362) + (($363*24)|0)|0); + $365 = ((($364)) + 4|0); + _sqlite3Fts3HashInit($365,1,1); + $366 = HEAP32[$17>>2]|0; + $367 = (($366) + 1)|0; + HEAP32[$17>>2] = $367; + } + $368 = HEAP32[$28>>2]|0; + $369 = (($362) + (($368*24)|0)|0); + $370 = HEAP32[$15>>2]|0; + $371 = ((($370)) + 32|0); + HEAP32[$371>>2] = $369; + $372 = HEAP32[$15>>2]|0; + $373 = ((($372)) + 32|0); + $374 = HEAP32[$373>>2]|0; + $375 = HEAP32[$21>>2]|0; + $376 = (($374) + ($375)|0); + HEAP32[$22>>2] = $376; + $377 = HEAP32[$22>>2]|0; + $378 = HEAP32[$15>>2]|0; + $379 = ((($378)) + 20|0); + HEAP32[$379>>2] = $377; + $380 = HEAP32[$22>>2]|0; + $381 = HEAP32[$11>>2]|0; + $382 = ((($381)) + 8|0); + $383 = HEAP32[$382>>2]|0; + $384 = HEAP32[$24>>2]|0; + _memcpy(($380|0),($383|0),($384|0))|0; + $385 = HEAP32[$24>>2]|0; + $386 = HEAP32[$22>>2]|0; + $387 = (($386) + ($385)|0); + HEAP32[$22>>2] = $387; + $388 = HEAP32[$22>>2]|0; + $389 = HEAP32[$15>>2]|0; + $390 = ((($389)) + 16|0); + HEAP32[$390>>2] = $388; + $391 = HEAP32[$22>>2]|0; + $392 = HEAP32[$11>>2]|0; + $393 = ((($392)) + 4|0); + $394 = HEAP32[$393>>2]|0; + $395 = HEAP32[$23>>2]|0; + _memcpy(($391|0),($394|0),($395|0))|0; + $396 = HEAP32[$23>>2]|0; + $397 = HEAP32[$22>>2]|0; + $398 = (($397) + ($396)|0); + HEAP32[$22>>2] = $398; + HEAP32[$19>>2] = 0; + while(1) { + $399 = HEAP32[$19>>2]|0; + $400 = HEAP32[$21>>2]|0; + $401 = ($399|0)<($400|0); + if (!($401)) { + break; + } + HEAP32[$48>>2] = 0; + $402 = HEAP32[$26>>2]|0; + $403 = HEAP32[$19>>2]|0; + $404 = (($402) + ($403<<2)|0); + $405 = HEAP32[$404>>2]|0; + $406 = (_sqlite3Fts3NextToken($405,$48)|0); + HEAP32[$47>>2] = $406; + $407 = HEAP32[$22>>2]|0; + $408 = HEAP32[$47>>2]|0; + $409 = HEAP32[$48>>2]|0; + _memcpy(($407|0),($408|0),($409|0))|0; + $410 = HEAP32[$22>>2]|0; + $411 = HEAP32[$48>>2]|0; + $412 = (($410) + ($411)|0); + HEAP8[$412>>0] = 0; + $413 = HEAP32[$22>>2]|0; + _sqlite3Fts3Dequote($413); + $414 = HEAP32[$22>>2]|0; + $415 = HEAP32[$15>>2]|0; + $416 = ((($415)) + 28|0); + $417 = HEAP32[$416>>2]|0; + $418 = HEAP32[$19>>2]|0; + $419 = (($417) + ($418<<2)|0); + HEAP32[$419>>2] = $414; + $420 = HEAP32[$48>>2]|0; + $421 = (($420) + 1)|0; + $422 = HEAP32[$22>>2]|0; + $423 = (($422) + ($421)|0); + HEAP32[$22>>2] = $423; + $424 = HEAP32[$19>>2]|0; + $425 = (($424) + 1)|0; + HEAP32[$19>>2] = $425; + } + HEAP32[$19>>2] = 0; + while(1) { + $426 = HEAP32[$19>>2]|0; + $427 = HEAP32[$21>>2]|0; + $428 = ($426|0)<($427|0); + if (!($428)) { + break; + } + $429 = HEAP32[$15>>2]|0; + $430 = ((($429)) + 28|0); + $431 = HEAP32[$430>>2]|0; + $432 = HEAP32[$19>>2]|0; + $433 = (($431) + ($432<<2)|0); + $434 = HEAP32[$433>>2]|0; + $435 = (_strlen($434)|0); + HEAP32[$49>>2] = $435; + HEAP32[$17>>2] = 0; + while(1) { + $436 = HEAP32[$17>>2]|0; + $437 = HEAP32[$38>>2]|0; + $438 = ($436|0)<($437|0); + if (!($438)) { break; } - case 65: { - $6179 = HEAP32[$pOp>>2]|0; - $6180 = ((($6179)) + 4|0); - $6181 = HEAP32[$6180>>2]|0; - $6182 = ($6181|0)!=(0); - if ($6182) { - $6183 = HEAP32[$db>>2]|0; - $6184 = ((($6183)) + 440|0); - $6185 = $6184; - $6186 = $6185; - $6187 = HEAP32[$6186>>2]|0; - $6188 = (($6185) + 4)|0; - $6189 = $6188; - $6190 = HEAP32[$6189>>2]|0; - $6191 = ($6187|0)==(0); - $6192 = ($6190|0)==(0); - $6193 = $6191 & $6192; - if (!($6193)) { - break L10; - } - $6194 = HEAP32[$db>>2]|0; - $6195 = ((($6194)) + 448|0); - $6196 = $6195; - $6197 = $6196; - $6198 = HEAP32[$6197>>2]|0; - $6199 = (($6196) + 4)|0; - $6200 = $6199; - $6201 = HEAP32[$6200>>2]|0; - $6202 = ($6198|0)==(0); - $6203 = ($6201|0)==(0); - $6204 = $6202 & $6203; - if ($6204) { - label = 14; - break L10; - } else { - break L10; - } - } else { - $6205 = HEAP32[$0>>2]|0; - $6206 = ((($6205)) + 64|0); - $6207 = $6206; - $6208 = $6207; - $6209 = HEAP32[$6208>>2]|0; - $6210 = (($6207) + 4)|0; - $6211 = $6210; - $6212 = HEAP32[$6211>>2]|0; - $6213 = ($6209|0)==(0); - $6214 = ($6212|0)==(0); - $6215 = $6213 & $6214; - if (!($6215)) { - break L10; - } - $6216 = HEAP32[$db>>2]|0; - $6217 = ((($6216)) + 448|0); - $6218 = $6217; - $6219 = $6218; - $6220 = HEAP32[$6219>>2]|0; - $6221 = (($6218) + 4)|0; - $6222 = $6221; - $6223 = HEAP32[$6222>>2]|0; - $6224 = ($6220|0)==(0); - $6225 = ($6223|0)==(0); - $6226 = $6224 & $6225; - if ($6226) { - label = 14; - break L10; - } else { - break L10; + $439 = HEAP32[$37>>2]|0; + $440 = HEAP32[$17>>2]|0; + $441 = (($439) + ($440<<2)|0); + $442 = HEAP32[$441>>2]|0; + HEAP32[$50>>2] = $442; + $443 = HEAP32[$50>>2]|0; + $444 = ($443|0)!=(0|0); + if ($444) { + $445 = HEAP32[$49>>2]|0; + $446 = HEAP32[$50>>2]|0; + $447 = (_strlen($446)|0); + $448 = ($445|0)==($447|0); + if ($448) { + $449 = HEAP32[$15>>2]|0; + $450 = ((($449)) + 28|0); + $451 = HEAP32[$450>>2]|0; + $452 = HEAP32[$19>>2]|0; + $453 = (($451) + ($452<<2)|0); + $454 = HEAP32[$453>>2]|0; + $455 = HEAP32[$50>>2]|0; + $456 = HEAP32[$49>>2]|0; + $457 = (_sqlite3_strnicmp($454,$455,$456)|0); + $458 = (0)==($457|0); + if ($458) { + $459 = HEAP32[$15>>2]|0; + $460 = ((($459)) + 32|0); + $461 = HEAP32[$460>>2]|0; + $462 = HEAP32[$19>>2]|0; + $463 = (($461) + ($462)|0); + HEAP8[$463>>0] = 1; + $464 = HEAP32[$50>>2]|0; + _sqlite3_free($464); + $465 = HEAP32[$37>>2]|0; + $466 = HEAP32[$17>>2]|0; + $467 = (($465) + ($466<<2)|0); + HEAP32[$467>>2] = 0; } } - break; } - case 145: { - $6227 = HEAP32[$0>>2]|0; - $6228 = ((($6227)) + 184|0); - $6229 = HEAP32[$6228>>2]|0; - $6230 = ($6229|0)!=(0|0); - if ($6230) { - $6231 = HEAP32[$0>>2]|0; - $6232 = ((($6231)) + 184|0); - $6233 = HEAP32[$6232>>2]|0; - HEAP32[$pFrame88>>2] = $6233; - while(1) { - $6234 = HEAP32[$pFrame88>>2]|0; - $6235 = ((($6234)) + 4|0); - $6236 = HEAP32[$6235>>2]|0; - $6237 = ($6236|0)!=(0|0); - if (!($6237)) { + $468 = HEAP32[$17>>2]|0; + $469 = (($468) + 1)|0; + HEAP32[$17>>2] = $469; + } + $470 = HEAP32[$19>>2]|0; + $471 = (($470) + 1)|0; + HEAP32[$19>>2] = $471; + } + HEAP32[$17>>2] = 0; + while(1) { + $472 = HEAP32[$17>>2]|0; + $473 = HEAP32[$38>>2]|0; + $474 = ($472|0)<($473|0); + if (!($474)) { + break; + } + $475 = HEAP32[$37>>2]|0; + $476 = HEAP32[$17>>2]|0; + $477 = (($475) + ($476<<2)|0); + $478 = HEAP32[$477>>2]|0; + $479 = ($478|0)!=(0|0); + if ($479) { + $480 = HEAP32[$13>>2]|0; + $481 = HEAP32[$37>>2]|0; + $482 = HEAP32[$17>>2]|0; + $483 = (($481) + ($482<<2)|0); + $484 = HEAP32[$483>>2]|0; + HEAP32[$vararg_buffer17>>2] = $484; + _sqlite3Fts3ErrMsg($480,34753,$vararg_buffer17); + HEAP32[$16>>2] = 1; + } + $485 = HEAP32[$17>>2]|0; + $486 = (($485) + 1)|0; + HEAP32[$17>>2] = $486; + } + $487 = HEAP32[$16>>2]|0; + $488 = ($487|0)==(0); + if ($488) { + $489 = HEAP32[$33>>2]|0; + $490 = ($489|0)==(0|0); + $491 = $490&1; + $492 = HEAP32[$34>>2]|0; + $493 = ($492|0)==(0|0); + $494 = $493&1; + $495 = ($491|0)!=($494|0); + if ($495) { + $496 = HEAP32[$33>>2]|0; + $497 = ($496|0)==(0|0); + $498 = $497 ? 46264 : 46273; + HEAP32[$51>>2] = $498; + HEAP32[$16>>2] = 1; + $499 = HEAP32[$13>>2]|0; + $500 = HEAP32[$51>>2]|0; + HEAP32[$vararg_buffer20>>2] = $500; + _sqlite3Fts3ErrMsg($499,46284,$vararg_buffer20); + } + } + $501 = HEAP32[$15>>2]|0; + $502 = HEAP32[$34>>2]|0; + $503 = (_fts3ReadExprList($501,$502,$16)|0); + $504 = HEAP32[$15>>2]|0; + $505 = ((($504)) + 216|0); + HEAP32[$505>>2] = $503; + $506 = HEAP32[$15>>2]|0; + $507 = HEAP32[$33>>2]|0; + $508 = (_fts3WriteExprList($506,$507,$16)|0); + $509 = HEAP32[$15>>2]|0; + $510 = ((($509)) + 220|0); + HEAP32[$510>>2] = $508; + $511 = HEAP32[$16>>2]|0; + $512 = ($511|0)!=(0); + if (!($512)) { + $513 = HEAP32[$7>>2]|0; + $514 = ($513|0)!=(0); + if ($514) { + $515 = HEAP32[$15>>2]|0; + $516 = (_fts3CreateTables($515)|0); + HEAP32[$16>>2] = $516; + } + $517 = HEAP32[$25>>2]|0; + $518 = ($517|0)!=(0); + $519 = HEAP32[$7>>2]|0; + $520 = ($519|0)!=(0); + $or$cond7 = $518 | $520; + if (!($or$cond7)) { + $521 = HEAP32[$15>>2]|0; + $522 = ((($521)) + 229|0); + HEAP8[$522>>0] = 2; + } + $523 = HEAP32[$15>>2]|0; + _fts3DatabasePageSize($16,$523); + $524 = HEAP32[$15>>2]|0; + $525 = ((($524)) + 236|0); + $526 = HEAP32[$525>>2]|0; + $527 = (($526) - 35)|0; + $528 = HEAP32[$15>>2]|0; + $529 = ((($528)) + 224|0); + HEAP32[$529>>2] = $527; + $530 = HEAP32[$15>>2]|0; + _fts3DeclareVtab($16,$530); + } + } + } + } else { + HEAP32[$16>>2] = 7; + } + } while(0); + $531 = HEAP32[$32>>2]|0; + _sqlite3_free($531); + $532 = HEAP32[$29>>2]|0; + _sqlite3_free($532); + $533 = HEAP32[$33>>2]|0; + _sqlite3_free($533); + $534 = HEAP32[$34>>2]|0; + _sqlite3_free($534); + $535 = HEAP32[$35>>2]|0; + _sqlite3_free($535); + $536 = HEAP32[$36>>2]|0; + _sqlite3_free($536); + HEAP32[$17>>2] = 0; + while(1) { + $537 = HEAP32[$17>>2]|0; + $538 = HEAP32[$38>>2]|0; + $539 = ($537|0)<($538|0); + if (!($539)) { + break; + } + $540 = HEAP32[$37>>2]|0; + $541 = HEAP32[$17>>2]|0; + $542 = (($540) + ($541<<2)|0); + $543 = HEAP32[$542>>2]|0; + _sqlite3_free($543); + $544 = HEAP32[$17>>2]|0; + $545 = (($544) + 1)|0; + HEAP32[$17>>2] = $545; + } + $546 = HEAP32[$26>>2]|0; + _sqlite3_free($546); + $547 = HEAP32[$37>>2]|0; + _sqlite3_free($547); + $548 = HEAP32[$16>>2]|0; + $549 = ($548|0)!=(0); + $550 = HEAP32[$15>>2]|0; + if (!($549)) { + $560 = HEAP32[$12>>2]|0; + HEAP32[$560>>2] = $550; + $561 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($561|0); + } + $551 = ($550|0)!=(0|0); + if ($551) { + $552 = HEAP32[$15>>2]|0; + (_fts3DisconnectMethod($552)|0); + $561 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($561|0); + } + $553 = HEAP32[$27>>2]|0; + $554 = ($553|0)!=(0|0); + if (!($554)) { + $561 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($561|0); + } + $555 = HEAP32[$27>>2]|0; + $556 = HEAP32[$555>>2]|0; + $557 = ((($556)) + 8|0); + $558 = HEAP32[$557>>2]|0; + $559 = HEAP32[$27>>2]|0; + (FUNCTION_TABLE_ii[$558 & 255]($559)|0); + $561 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($561|0); +} +function _sqlite3Fts3IsIdChar($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP8[$1>>0] = $0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = $3 & 128; + $5 = ($4|0)!=(0); + if ($5) { + $13 = 1; + $12 = $13&1; + STACKTOP = sp;return ($12|0); + } + $6 = HEAP8[$1>>0]|0; + $7 = $6 << 24 >> 24; + $8 = (46949 + ($7)|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9 << 24 >> 24; + $11 = ($10|0)!=(0); + $13 = $11; + $12 = $13&1; + STACKTOP = sp;return ($12|0); +} +function _sqlite3Fts3InitTokenizer($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, $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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 76|0; + $5 = sp + 72|0; + $6 = sp + 68|0; + $7 = sp + 64|0; + $8 = sp + 60|0; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 24|0; + $18 = sp + 20|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $19 = HEAP32[$6>>2]|0; + HEAP32[$10>>2] = $19; + HEAP32[$11>>2] = 0; + $20 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer>>2] = $20; + $21 = (_sqlite3_mprintf(21240,$vararg_buffer)|0); + HEAP32[$12>>2] = $21; + $22 = HEAP32[$12>>2]|0; + $23 = ($22|0)!=(0|0); + if (!($23)) { + HEAP32[$4>>2] = 7; + $97 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($97|0); + } + $24 = HEAP32[$12>>2]|0; + $25 = HEAP32[$12>>2]|0; + $26 = (_strlen($25)|0); + $27 = (($24) + ($26)|0); + HEAP32[$13>>2] = $27; + $28 = HEAP32[$12>>2]|0; + $29 = (_sqlite3Fts3NextToken($28,$11)|0); + HEAP32[$10>>2] = $29; + $30 = HEAP32[$10>>2]|0; + $31 = ($30|0)==(0|0); + if ($31) { + $32 = HEAP32[$12>>2]|0; + HEAP32[$10>>2] = $32; + } + $33 = HEAP32[$10>>2]|0; + $34 = HEAP32[$11>>2]|0; + $35 = (($33) + ($34)|0); + HEAP8[$35>>0] = 0; + $36 = HEAP32[$10>>2]|0; + _sqlite3Fts3Dequote($36); + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$10>>2]|0; + $39 = HEAP32[$10>>2]|0; + $40 = (_strlen($39)|0); + $41 = (($40) + 1)|0; + $42 = (_sqlite3Fts3HashFind($37,$38,$41)|0); + HEAP32[$14>>2] = $42; + $43 = HEAP32[$14>>2]|0; + $44 = ($43|0)!=(0|0); + if ($44) { + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + $47 = HEAP32[$10>>2]|0; + $48 = HEAP32[$11>>2]|0; + $49 = (($48) + 1)|0; + $50 = (($47) + ($49)|0); + HEAP32[$10>>2] = $50; + while(1) { + $51 = HEAP32[$10>>2]|0; + $52 = HEAP32[$13>>2]|0; + $53 = ($51>>>0)<($52>>>0); + if (!($53)) { + break; + } + $54 = HEAP32[$10>>2]|0; + $55 = (_sqlite3Fts3NextToken($54,$11)|0); + HEAP32[$10>>2] = $55; + $56 = (0|0)!=($55|0); + if (!($56)) { + break; + } + $57 = HEAP32[$16>>2]|0; + $58 = (($57) + 1)|0; + $59 = $58<<2; + HEAP32[$17>>2] = $59; + $60 = HEAP32[$15>>2]|0; + $61 = HEAP32[$17>>2]|0; + $62 = (_sqlite3_realloc($60,$61)|0); + HEAP32[$18>>2] = $62; + $63 = HEAP32[$18>>2]|0; + $64 = ($63|0)!=(0|0); + if (!($64)) { + label = 11; + break; + } + $67 = HEAP32[$18>>2]|0; + HEAP32[$15>>2] = $67; + $68 = HEAP32[$10>>2]|0; + $69 = HEAP32[$15>>2]|0; + $70 = HEAP32[$16>>2]|0; + $71 = (($70) + 1)|0; + HEAP32[$16>>2] = $71; + $72 = (($69) + ($70<<2)|0); + HEAP32[$72>>2] = $68; + $73 = HEAP32[$10>>2]|0; + $74 = HEAP32[$11>>2]|0; + $75 = (($73) + ($74)|0); + HEAP8[$75>>0] = 0; + $76 = HEAP32[$10>>2]|0; + _sqlite3Fts3Dequote($76); + $77 = HEAP32[$10>>2]|0; + $78 = HEAP32[$11>>2]|0; + $79 = (($78) + 1)|0; + $80 = (($77) + ($79)|0); + HEAP32[$10>>2] = $80; + } + if ((label|0) == 11) { + $65 = HEAP32[$12>>2]|0; + _sqlite3_free($65); + $66 = HEAP32[$15>>2]|0; + _sqlite3_free($66); + HEAP32[$4>>2] = 7; + $97 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($97|0); + } + $81 = HEAP32[$14>>2]|0; + $82 = ((($81)) + 4|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$16>>2]|0; + $85 = HEAP32[$15>>2]|0; + $86 = HEAP32[$7>>2]|0; + $87 = (FUNCTION_TABLE_iiii[$83 & 255]($84,$85,$86)|0); + HEAP32[$9>>2] = $87; + $88 = HEAP32[$9>>2]|0; + $89 = ($88|0)!=(0); + if ($89) { + $90 = HEAP32[$8>>2]|0; + _sqlite3Fts3ErrMsg($90,46931,$vararg_buffer4); + } else { + $91 = HEAP32[$14>>2]|0; + $92 = HEAP32[$7>>2]|0; + $93 = HEAP32[$92>>2]|0; + HEAP32[$93>>2] = $91; + } + $94 = HEAP32[$15>>2]|0; + _sqlite3_free($94); + } else { + $45 = HEAP32[$8>>2]|0; + $46 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer1>>2] = $46; + _sqlite3Fts3ErrMsg($45,42720,$vararg_buffer1); + HEAP32[$9>>2] = 1; + } + $95 = HEAP32[$12>>2]|0; + _sqlite3_free($95); + $96 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $96; + $97 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($97|0); +} +function _fts3IsSpecialColumn($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$4>>2]|0; + HEAP32[$8>>2] = $9; + while(1) { + $10 = HEAP32[$8>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)!=(61); + $14 = HEAP32[$8>>2]|0; + if (!($13)) { + break; + } + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = ($16|0)==(0); + if ($17) { + label = 4; + break; + } + $18 = HEAP32[$8>>2]|0; + $19 = ((($18)) + 1|0); + HEAP32[$8>>2] = $19; + } + if ((label|0) == 4) { + HEAP32[$3>>2] = 0; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); + } + $20 = HEAP32[$4>>2]|0; + $21 = $14; + $22 = $20; + $23 = (($21) - ($22))|0; + $24 = HEAP32[$5>>2]|0; + HEAP32[$24>>2] = $23; + $25 = HEAP32[$8>>2]|0; + $26 = ((($25)) + 1|0); + HEAP32[$vararg_buffer>>2] = $26; + $27 = (_sqlite3_mprintf(21240,$vararg_buffer)|0); + HEAP32[$7>>2] = $27; + $28 = HEAP32[$7>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$7>>2]|0; + _sqlite3Fts3Dequote($30); + } + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$6>>2]|0; + HEAP32[$32>>2] = $31; + HEAP32[$3>>2] = 1; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); +} +function _fts3ContentColumns($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $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, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $7 = sp + 80|0; + $8 = sp + 76|0; + $9 = sp + 72|0; + $10 = sp + 68|0; + $11 = sp + 64|0; + $12 = sp + 60|0; + $13 = sp + 56|0; + $14 = sp + 52|0; + $15 = sp + 48|0; + $16 = sp + 44|0; + $17 = sp + 40|0; + $18 = sp + 36|0; + $19 = sp + 32|0; + $20 = sp + 28|0; + $21 = sp + 24|0; + $22 = sp + 20|0; + $23 = sp + 16|0; + $24 = sp + 12|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + HEAP32[$14>>2] = 0; + HEAP32[$16>>2] = 0; + $25 = HEAP32[$8>>2]|0; + $26 = HEAP32[$9>>2]|0; + HEAP32[$vararg_buffer>>2] = $25; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $26; + $27 = (_sqlite3_mprintf(46882,$vararg_buffer)|0); + HEAP32[$15>>2] = $27; + $28 = HEAP32[$15>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$15>>2]|0; + $32 = (_sqlite3_prepare($30,$31,-1,$16,0)|0); + HEAP32[$14>>2] = $32; + $33 = HEAP32[$14>>2]|0; + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$13>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = (_sqlite3_errmsg($36)|0); + HEAP32[$vararg_buffer2>>2] = $37; + _sqlite3Fts3ErrMsg($35,21240,$vararg_buffer2); + } + } else { + HEAP32[$14>>2] = 7; + } + $38 = HEAP32[$15>>2]|0; + _sqlite3_free($38); + $39 = HEAP32[$14>>2]|0; + $40 = ($39|0)==(0); + if (!($40)) { + $94 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($94|0); + } + HEAP32[$18>>2] = 0; + $41 = HEAP32[$16>>2]|0; + $42 = (_sqlite3_column_count($41)|0); + HEAP32[$19>>2] = $42; + HEAP32[$20>>2] = 0; + while(1) { + $43 = HEAP32[$20>>2]|0; + $44 = HEAP32[$19>>2]|0; + $45 = ($43|0)<($44|0); + if (!($45)) { + break; + } + $46 = HEAP32[$16>>2]|0; + $47 = HEAP32[$20>>2]|0; + $48 = (_sqlite3_column_name($46,$47)|0); + HEAP32[$21>>2] = $48; + $49 = HEAP32[$21>>2]|0; + $50 = (_strlen($49)|0); + $51 = (($50) + 1)|0; + $52 = HEAP32[$18>>2]|0; + $53 = (($52) + ($51))|0; + HEAP32[$18>>2] = $53; + $54 = HEAP32[$20>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$20>>2] = $55; + } + $56 = HEAP32[$19>>2]|0; + $57 = $56<<2; + $58 = HEAP32[$18>>2]|0; + $59 = (($57) + ($58))|0; + $60 = (_sqlite3_malloc($59)|0); + HEAP32[$17>>2] = $60; + $61 = HEAP32[$17>>2]|0; + $62 = ($61|0)==(0|0); + L13: do { + if ($62) { + HEAP32[$14>>2] = 7; + } else { + $63 = HEAP32[$17>>2]|0; + $64 = HEAP32[$19>>2]|0; + $65 = (($63) + ($64<<2)|0); + HEAP32[$22>>2] = $65; + HEAP32[$20>>2] = 0; + while(1) { + $66 = HEAP32[$20>>2]|0; + $67 = HEAP32[$19>>2]|0; + $68 = ($66|0)<($67|0); + if (!($68)) { + break L13; + } + $69 = HEAP32[$16>>2]|0; + $70 = HEAP32[$20>>2]|0; + $71 = (_sqlite3_column_name($69,$70)|0); + HEAP32[$23>>2] = $71; + $72 = HEAP32[$23>>2]|0; + $73 = (_strlen($72)|0); + $74 = (($73) + 1)|0; + HEAP32[$24>>2] = $74; + $75 = HEAP32[$22>>2]|0; + $76 = HEAP32[$23>>2]|0; + $77 = HEAP32[$24>>2]|0; + _memcpy(($75|0),($76|0),($77|0))|0; + $78 = HEAP32[$22>>2]|0; + $79 = HEAP32[$17>>2]|0; + $80 = HEAP32[$20>>2]|0; + $81 = (($79) + ($80<<2)|0); + HEAP32[$81>>2] = $78; + $82 = HEAP32[$24>>2]|0; + $83 = HEAP32[$22>>2]|0; + $84 = (($83) + ($82)|0); + HEAP32[$22>>2] = $84; + $85 = HEAP32[$20>>2]|0; + $86 = (($85) + 1)|0; + HEAP32[$20>>2] = $86; + } + } + } while(0); + $87 = HEAP32[$16>>2]|0; + (_sqlite3_finalize($87)|0); + $88 = HEAP32[$19>>2]|0; + $89 = HEAP32[$11>>2]|0; + HEAP32[$89>>2] = $88; + $90 = HEAP32[$18>>2]|0; + $91 = HEAP32[$12>>2]|0; + HEAP32[$91>>2] = $90; + $92 = HEAP32[$17>>2]|0; + $93 = HEAP32[$10>>2]|0; + HEAP32[$93>>2] = $92; + $94 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($94|0); +} +function _fts3PrefixParameter($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$8>>2] = 1; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + L1: do { + if ($14) { + $15 = HEAP32[$4>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP32[$8>>2]|0; + $20 = (($19) + 1)|0; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$4>>2]|0; + HEAP32[$9>>2] = $21; + while(1) { + $22 = HEAP32[$9>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = ($23<<24>>24)!=(0); + if (!($24)) { + break L1; + } + $25 = HEAP32[$9>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($27|0)==(44); + if ($28) { + $29 = HEAP32[$8>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$8>>2] = $30; + } + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 1|0); + HEAP32[$9>>2] = $32; + } + } + } + } while(0); + $33 = HEAP32[$8>>2]|0; + $34 = ($33*24)|0; + $35 = (_sqlite3_malloc($34)|0); + HEAP32[$7>>2] = $35; + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$6>>2]|0; + HEAP32[$37>>2] = $36; + $38 = HEAP32[$7>>2]|0; + $39 = ($38|0)!=(0|0); + if (!($39)) { + HEAP32[$3>>2] = 7; + $67 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($67|0); + } + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$8>>2]|0; + $42 = ($41*24)|0; + _memset(($40|0),0,($42|0))|0; + $43 = HEAP32[$4>>2]|0; + $44 = ($43|0)!=(0|0); + L15: do { + if ($44) { + $45 = HEAP32[$4>>2]|0; + HEAP32[$10>>2] = $45; + HEAP32[$11>>2] = 1; + while(1) { + $46 = HEAP32[$11>>2]|0; + $47 = HEAP32[$8>>2]|0; + $48 = ($46|0)<($47|0); + if (!($48)) { + break L15; + } + HEAP32[$12>>2] = 0; + $49 = (_fts3GobbleInt($10,$12)|0); + $50 = ($49|0)!=(0); + if ($50) { + break; + } + $51 = HEAP32[$12>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$8>>2]|0; + $54 = (($53) + -1)|0; + HEAP32[$8>>2] = $54; + $55 = HEAP32[$11>>2]|0; + $56 = (($55) + -1)|0; + HEAP32[$11>>2] = $56; + } else { + $57 = HEAP32[$12>>2]|0; + $58 = HEAP32[$7>>2]|0; + $59 = HEAP32[$11>>2]|0; + $60 = (($58) + (($59*24)|0)|0); + HEAP32[$60>>2] = $57; + } + $61 = HEAP32[$10>>2]|0; + $62 = ((($61)) + 1|0); + HEAP32[$10>>2] = $62; + $63 = HEAP32[$11>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$11>>2] = $64; + } + HEAP32[$3>>2] = 1; + $67 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($67|0); + } + } while(0); + $65 = HEAP32[$8>>2]|0; + $66 = HEAP32[$5>>2]|0; + HEAP32[$66>>2] = $65; + HEAP32[$3>>2] = 0; + $67 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($67|0); +} +function _sqlite3Fts3NextToken($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + $7 = sp + 20|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$6>>2] = 0; + $8 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $8; + L1: while(1) { + $9 = HEAP32[$6>>2]|0; + $10 = ($9|0)==(0|0); + if (!($10)) { + label = 21; + break; + } + $11 = HEAP32[$5>>2]|0; + $12 = HEAP8[$11>>0]|0; + HEAP8[$7>>0] = $12; + $13 = HEAP8[$7>>0]|0; + $14 = $13 << 24 >> 24; + switch ($14|0) { + case 0: { + label = 4; + break L1; + break; + } + case 96: case 34: case 39: { + $15 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $15; + while(1) { + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 1|0); + HEAP32[$6>>2] = $17; + $18 = HEAP8[$17>>0]|0; + $19 = $18 << 24 >> 24; + $20 = ($19|0)!=(0); + if (!($20)) { + continue L1; + } + $21 = HEAP32[$6>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = HEAP8[$7>>0]|0; + $25 = $24 << 24 >> 24; + $26 = ($23|0)!=($25|0); + if ($26) { + continue; + } + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 1|0); + HEAP32[$6>>2] = $28; + $29 = HEAP8[$28>>0]|0; + $30 = $29 << 24 >> 24; + $31 = HEAP8[$7>>0]|0; + $32 = $31 << 24 >> 24; + $33 = ($30|0)==($32|0); + if (!($33)) { + continue L1; + } + } + break; + } + case 91: { + $34 = HEAP32[$5>>2]|0; + $35 = ((($34)) + 1|0); + HEAP32[$6>>2] = $35; + while(1) { + $36 = HEAP32[$6>>2]|0; + $37 = HEAP8[$36>>0]|0; + $38 = $37 << 24 >> 24; + $39 = ($38|0)!=(0); + if ($39) { + $40 = HEAP32[$6>>2]|0; + $41 = HEAP8[$40>>0]|0; + $42 = $41 << 24 >> 24; + $43 = ($42|0)!=(93); + $70 = $43; + } else { + $70 = 0; + } + $44 = HEAP32[$6>>2]|0; + if (!($70)) { + break; + } + $45 = ((($44)) + 1|0); + HEAP32[$6>>2] = $45; + } + $46 = HEAP8[$44>>0]|0; + $47 = ($46<<24>>24)!=(0); + if (!($47)) { + continue L1; + } + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 1|0); + HEAP32[$6>>2] = $49; + continue L1; + break; + } + default: { + $50 = HEAP32[$5>>2]|0; + $51 = HEAP8[$50>>0]|0; + $52 = (_sqlite3Fts3IsIdChar($51)|0); + $53 = ($52|0)!=(0); + $54 = HEAP32[$5>>2]|0; + $55 = ((($54)) + 1|0); + if (!($53)) { + HEAP32[$5>>2] = $55; + continue L1; + } + HEAP32[$6>>2] = $55; + while(1) { + $56 = HEAP32[$6>>2]|0; + $57 = HEAP8[$56>>0]|0; + $58 = (_sqlite3Fts3IsIdChar($57)|0); + $59 = ($58|0)!=(0); + if (!($59)) { + continue L1; + } + $60 = HEAP32[$6>>2]|0; + $61 = ((($60)) + 1|0); + HEAP32[$6>>2] = $61; + } + } + } + } + if ((label|0) == 4) { + HEAP32[$2>>2] = 0; + $69 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($69|0); + } + else if ((label|0) == 21) { + $62 = HEAP32[$6>>2]|0; + $63 = HEAP32[$5>>2]|0; + $64 = $62; + $65 = $63; + $66 = (($64) - ($65))|0; + $67 = HEAP32[$4>>2]|0; + HEAP32[$67>>2] = $66; + $68 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $68; + $69 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($69|0); + } + return (0)|0; +} +function _fts3ReadExprList($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr19 = 0, $vararg_ptr20 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer16 = sp + 56|0; + $vararg_buffer13 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 92|0; + $4 = sp + 88|0; + $5 = sp + 84|0; + $6 = sp + 80|0; + $7 = sp + 76|0; + $8 = sp + 72|0; + $9 = sp + 68|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 40|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0|0); + if ($13) { + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$4>>2]|0; + $17 = (_fts3QuoteId($16)|0); + HEAP32[$8>>2] = $17; + HEAP32[$7>>2] = $17; + } else { + HEAP32[$8>>2] = 55752; + } + $18 = HEAP32[$5>>2]|0; + _fts3Appendf($18,$6,46806,$vararg_buffer); + HEAP32[$9>>2] = 0; + while(1) { + $19 = HEAP32[$9>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($19|0)<($22|0); + if (!($23)) { + break; + } + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = HEAP32[$9>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 28|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = (($29) + ($30<<2)|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$vararg_buffer1>>2] = $25; + $vararg_ptr3 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr3>>2] = $26; + $vararg_ptr4 = ((($vararg_buffer1)) + 8|0); + HEAP32[$vararg_ptr4>>2] = $32; + _fts3Appendf($24,$6,46812,$vararg_buffer1); + $33 = HEAP32[$9>>2]|0; + $34 = (($33) + 1)|0; + HEAP32[$9>>2] = $34; + } + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 44|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)!=(0|0); + if ($38) { + $39 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer5>>2] = 46834; + _fts3Appendf($39,$6,46827,$vararg_buffer5); + } + $40 = HEAP32[$7>>2]|0; + _sqlite3_free($40); + } else { + $41 = HEAP32[$5>>2]|0; + _fts3Appendf($41,$6,26001,$vararg_buffer8); + HEAP32[$9>>2] = 0; + while(1) { + $42 = HEAP32[$9>>2]|0; + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 24|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($42|0)<($45|0); + if (!($46)) { + break; + } + $47 = HEAP32[$5>>2]|0; + $48 = HEAP32[$3>>2]|0; + $49 = ((($48)) + 28|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$9>>2]|0; + $52 = (($50) + ($51<<2)|0); + $53 = HEAP32[$52>>2]|0; + HEAP32[$vararg_buffer10>>2] = $53; + _fts3Appendf($47,$6,46841,$vararg_buffer10); + $54 = HEAP32[$9>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$9>>2] = $55; + } + $56 = HEAP32[$3>>2]|0; + $57 = ((($56)) + 44|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)!=(0|0); + if ($59) { + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$3>>2]|0; + $62 = ((($61)) + 44|0); + $63 = HEAP32[$62>>2]|0; + HEAP32[$vararg_buffer13>>2] = $63; + _fts3Appendf($60,$6,46827,$vararg_buffer13); + } + } + $64 = HEAP32[$5>>2]|0; + $65 = HEAP32[$3>>2]|0; + $66 = ((($65)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$3>>2]|0; + $69 = ((($68)) + 40|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)!=(0|0); + $72 = HEAP32[$3>>2]|0; + if ($71) { + $73 = ((($72)) + 40|0); + $74 = HEAP32[$73>>2]|0; + $82 = $74; + $77 = HEAP32[$3>>2]|0; + $78 = ((($77)) + 40|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0|0); + $81 = $80 ? 55752 : 46850; + HEAP32[$vararg_buffer16>>2] = $67; + $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); + HEAP32[$vararg_ptr19>>2] = $82; + $vararg_ptr20 = ((($vararg_buffer16)) + 8|0); + HEAP32[$vararg_ptr20>>2] = $81; + _fts3Appendf($64,$6,46859,$vararg_buffer16); + $83 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($83|0); + } else { + $75 = ((($72)) + 20|0); + $76 = HEAP32[$75>>2]|0; + $82 = $76; + $77 = HEAP32[$3>>2]|0; + $78 = ((($77)) + 40|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0|0); + $81 = $80 ? 55752 : 46850; + HEAP32[$vararg_buffer16>>2] = $67; + $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); + HEAP32[$vararg_ptr19>>2] = $82; + $vararg_ptr20 = ((($vararg_buffer16)) + 8|0); + HEAP32[$vararg_ptr20>>2] = $81; + _fts3Appendf($64,$6,46859,$vararg_buffer16); + $83 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($83|0); + } + return (0)|0; +} +function _fts3WriteExprList($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$4>>2]|0; + $13 = (_fts3QuoteId($12)|0); + HEAP32[$8>>2] = $13; + HEAP32[$7>>2] = $13; + } else { + HEAP32[$8>>2] = 55752; + } + $14 = HEAP32[$5>>2]|0; + _fts3Appendf($14,$6,27259,$vararg_buffer); + HEAP32[$9>>2] = 0; + while(1) { + $15 = HEAP32[$9>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 24|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)<($18|0); + if (!($19)) { + break; + } + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer1>>2] = $21; + _fts3Appendf($20,$6,46795,$vararg_buffer1); + $22 = HEAP32[$9>>2]|0; + $23 = (($22) + 1)|0; + HEAP32[$9>>2] = $23; + } + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 44|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0|0); + if (!($27)) { + $29 = HEAP32[$7>>2]|0; + _sqlite3_free($29); + $30 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($30|0); + } + $28 = HEAP32[$5>>2]|0; + _fts3Appendf($28,$6,46802,$vararg_buffer3); + $29 = HEAP32[$7>>2]|0; + _sqlite3_free($29); + $30 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($30|0); +} +function _fts3CreateTables($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $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, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer15 = 0, $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer23 = 0, $vararg_buffer6 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr22 = 0, $vararg_ptr26 = 0, $vararg_ptr4 = 0; + var $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer23 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer15 = sp + 48|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 96|0; + $2 = sp + 92|0; + $3 = sp + 88|0; + $4 = sp + 84|0; + $5 = sp + 80|0; + $6 = sp + 76|0; + $7 = sp + 72|0; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 44|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$5>>2] = $17; + $18 = (_sqlite3_mprintf(46420,$vararg_buffer)|0); + HEAP32[$6>>2] = $18; + HEAP32[$3>>2] = 0; + while(1) { + $19 = HEAP32[$6>>2]|0; + $20 = ($19|0)!=(0|0); + if (!($20)) { + break; + } + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 24|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($21|0)<($24|0); + if (!($25)) { + break; + } + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 28|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = (($28) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$7>>2] = $31; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$3>>2]|0; + $34 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer2>>2] = $32; + $vararg_ptr4 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $33; + $vararg_ptr5 = ((($vararg_buffer2)) + 8|0); + HEAP32[$vararg_ptr5>>2] = $34; + $35 = (_sqlite3_mprintf(46446,$vararg_buffer2)|0); + HEAP32[$6>>2] = $35; + $36 = HEAP32[$3>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$3>>2] = $37; + } + $38 = HEAP32[$5>>2]|0; + $39 = ($38|0)!=(0|0); + $40 = HEAP32[$6>>2]|0; + $41 = ($40|0)!=(0|0); + $or$cond = $39 & $41; + if ($or$cond) { + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer6>>2] = $42; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $43; + $44 = (_sqlite3_mprintf(46458,$vararg_buffer6)|0); + HEAP32[$6>>2] = $44; + } + $45 = HEAP32[$6>>2]|0; + $46 = ($45|0)==(0|0); + if ($46) { + HEAP32[$2>>2] = 7; + } + $47 = HEAP32[$4>>2]|0; + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 16|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 20|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer10>>2] = $50; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $53; + $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $54; + _fts3DbExec($2,$47,46469,$vararg_buffer10); + $55 = HEAP32[$6>>2]|0; + _sqlite3_free($55); + } + $56 = HEAP32[$4>>2]|0; + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$1>>2]|0; + $61 = ((($60)) + 20|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$vararg_buffer15>>2] = $59; + $vararg_ptr18 = ((($vararg_buffer15)) + 4|0); + HEAP32[$vararg_ptr18>>2] = $62; + _fts3DbExec($2,$56,46502,$vararg_buffer15); + $63 = HEAP32[$4>>2]|0; + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 16|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$1>>2]|0; + $68 = ((($67)) + 20|0); + $69 = HEAP32[$68>>2]|0; + HEAP32[$vararg_buffer19>>2] = $66; + $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); + HEAP32[$vararg_ptr22>>2] = $69; + _fts3DbExec($2,$63,46574,$vararg_buffer19); + $70 = HEAP32[$1>>2]|0; + $71 = ((($70)) + 230|0); + $72 = HEAP8[$71>>0]|0; + $73 = ($72<<24>>24)!=(0); + if ($73) { + $74 = HEAP32[$4>>2]|0; + $75 = HEAP32[$1>>2]|0; + $76 = ((($75)) + 16|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$1>>2]|0; + $79 = ((($78)) + 20|0); + $80 = HEAP32[$79>>2]|0; + HEAP32[$vararg_buffer23>>2] = $77; + $vararg_ptr26 = ((($vararg_buffer23)) + 4|0); + HEAP32[$vararg_ptr26>>2] = $80; + _fts3DbExec($2,$74,46727,$vararg_buffer23); + } + $81 = HEAP32[$1>>2]|0; + $82 = ((($81)) + 229|0); + $83 = HEAP8[$82>>0]|0; + $84 = ($83<<24>>24)!=(0); + if (!($84)) { + $86 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($86|0); + } + $85 = HEAP32[$1>>2]|0; + _sqlite3Fts3CreateStatTable($2,$85); + $86 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($86|0); +} +function _fts3DatabasePageSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if (!($9)) { + STACKTOP = sp;return; + } + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$vararg_buffer>>2] = $12; + $13 = (_sqlite3_mprintf(46400,$vararg_buffer)|0); + HEAP32[$5>>2] = $13; + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)!=(0|0); + do { + if ($15) { + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = (_sqlite3_prepare($18,$19,-1,$6,0)|0); + HEAP32[$4>>2] = $20; + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $23 = HEAP32[$6>>2]|0; + (_sqlite3_step($23)|0); + $24 = HEAP32[$6>>2]|0; + $25 = (_sqlite3_column_int($24,0)|0); + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 236|0); + HEAP32[$27>>2] = $25; + $28 = HEAP32[$6>>2]|0; + $29 = (_sqlite3_finalize($28)|0); + HEAP32[$4>>2] = $29; + break; + } + $30 = HEAP32[$4>>2]|0; + $31 = ($30|0)==(23); + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 236|0); + HEAP32[$33>>2] = 1024; + HEAP32[$4>>2] = 0; + } + } else { + HEAP32[$4>>2] = 7; + } + } while(0); + $34 = HEAP32[$5>>2]|0; + _sqlite3_free($34); + $35 = HEAP32[$4>>2]|0; + $36 = HEAP32[$2>>2]|0; + HEAP32[$36>>2] = $35; + STACKTOP = sp;return; +} +function _fts3DeclareVtab($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0; + var $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer9 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 60|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + if (!($11)) { + STACKTOP = sp;return; + } + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18; + } else { + $19 = 46325; + } + HEAP32[$8>>2] = $19; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$vararg_buffer>>2] = 1; + (_sqlite3_vtab_config($22,1,$vararg_buffer)|0); + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 28|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$vararg_buffer2>>2] = $26; + $27 = (_sqlite3_mprintf(46334,$vararg_buffer2)|0); + HEAP32[$7>>2] = $27; + HEAP32[$4>>2] = 1; + while(1) { + $28 = HEAP32[$7>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 24|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($30|0)<($33|0); + $62 = $34; + } else { + $62 = 0; + } + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$3>>2]|0; + if (!($62)) { + break; + } + $37 = ((($36)) + 28|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = (($38) + ($39<<2)|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$vararg_buffer5>>2] = $35; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $41; + $42 = (_sqlite3_mprintf(46339,$vararg_buffer5)|0); + HEAP32[$7>>2] = $42; + $43 = HEAP32[$4>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$4>>2] = $44; + } + $45 = ((($36)) + 20|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer9>>2] = $35; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer9)) + 8|0); + HEAP32[$vararg_ptr13>>2] = $47; + $48 = (_sqlite3_mprintf(46346,$vararg_buffer9)|0); + HEAP32[$6>>2] = $48; + $49 = HEAP32[$7>>2]|0; + $50 = ($49|0)!=(0|0); + $51 = HEAP32[$6>>2]|0; + $52 = ($51|0)!=(0|0); + $or$cond = $50 & $52; + if ($or$cond) { + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$6>>2]|0; + $57 = (_sqlite3_declare_vtab($55,$56)|0); + HEAP32[$5>>2] = $57; + } else { + HEAP32[$5>>2] = 7; + } + $58 = HEAP32[$6>>2]|0; + _sqlite3_free($58); + $59 = HEAP32[$7>>2]|0; + _sqlite3_free($59); + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$2>>2]|0; + HEAP32[$61>>2] = $60; + STACKTOP = sp;return; +} +function _fts3QuoteId($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; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + $6 = HEAP32[$1>>2]|0; + $7 = (_strlen($6)|0); + $8 = $7<<1; + $9 = (2 + ($8))|0; + $10 = (($9) + 1)|0; + HEAP32[$2>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = (_sqlite3_malloc($11)|0); + HEAP32[$3>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + $43 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($43|0); + } + $15 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $15; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 1|0); + HEAP32[$5>>2] = $17; + HEAP8[$16>>0] = 34; + HEAP32[$4>>2] = 0; + while(1) { + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = (($18) + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)!=(0); + if (!($22)) { + break; + } + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = (($23) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($27|0)==(34); + if ($28) { + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 1|0); + HEAP32[$5>>2] = $30; + HEAP8[$29>>0] = 34; + } + $31 = HEAP32[$1>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = (($31) + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 1|0); + HEAP32[$5>>2] = $36; + HEAP8[$35>>0] = $34; + $37 = HEAP32[$4>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$4>>2] = $38; + } + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 1|0); + HEAP32[$5>>2] = $40; + HEAP8[$39>>0] = 34; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 1|0); + HEAP32[$5>>2] = $42; + HEAP8[$41>>0] = 0; + $43 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($43|0); +} +function _fts3Appendf($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|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, $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 + 48|0; + $vararg_buffer = sp; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + if (!($11)) { + STACKTOP = sp;return; + } + HEAP32[$6>>2] = $varargs; + $12 = HEAP32[$5>>2]|0; + $13 = (_sqlite3_vmprintf($12,$6)|0); + HEAP32[$7>>2] = $13; + $14 = HEAP32[$7>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $20; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $21; + $22 = (_sqlite3_mprintf(23403,$vararg_buffer)|0); + HEAP32[$8>>2] = $22; + $23 = HEAP32[$7>>2]|0; + _sqlite3_free($23); + $24 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $24; + } + } + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + $27 = HEAP32[$3>>2]|0; + HEAP32[$27>>2] = 7; + } + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$28>>2]|0; + _sqlite3_free($29); + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$4>>2]|0; + HEAP32[$31>>2] = $30; + STACKTOP = sp;return; +} +function _fts3GobbleInt($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 10000000; + HEAP32[$7>>2] = 0; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + while(1) { + $10 = HEAP32[$6>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)>=(48); + if (!($13)) { + break; + } + $14 = HEAP32[$6>>2]|0; + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = ($16|0)<=(57); + if (!($17)) { + break; + } + $18 = HEAP32[$7>>2]|0; + $19 = ($18*10)|0; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP8[$20>>0]|0; + $22 = $21 << 24 >> 24; + $23 = (($22) - 48)|0; + $24 = (($19) + ($23))|0; + HEAP32[$7>>2] = $24; + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)>(10000000); + if ($26) { + label = 5; + break; + } + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 1|0); + HEAP32[$6>>2] = $28; + } + if ((label|0) == 5) { + HEAP32[$7>>2] = 0; + } + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = ($29|0)==($31|0); + if ($32) { + HEAP32[$2>>2] = 1; + $37 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($37|0); + } else { + $33 = HEAP32[$7>>2]|0; + $34 = HEAP32[$4>>2]|0; + HEAP32[$34>>2] = $33; + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$3>>2]|0; + HEAP32[$36>>2] = $35; + HEAP32[$2>>2] = 0; + $37 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($37|0); + } + return (0)|0; +} +function _fts3TokenizerFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$7>>2] = 0; + $13 = HEAP32[$3>>2]|0; + $14 = (_sqlite3_user_data($13)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_text($16)|0); + HEAP32[$8>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_bytes($19)|0); + $21 = (($20) + 1)|0; + HEAP32[$9>>2] = $21; + $22 = HEAP32[$4>>2]|0; + $23 = ($22|0)==(2); + do { + if ($23) { + $24 = HEAP32[$3>>2]|0; + $25 = (_fts3TokenizerEnabled($24)|0); + $26 = ($25|0)!=(0); + if (!($26)) { + $50 = HEAP32[$3>>2]|0; + _sqlite3_result_error($50,47100,-1); + STACKTOP = sp;return; + } + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_sqlite3_value_bytes($29)|0); + HEAP32[$11>>2] = $30; + $31 = HEAP32[$8>>2]|0; + $32 = ($31|0)==(0|0); + $33 = HEAP32[$11>>2]|0; + $34 = ($33|0)!=(4); + $or$cond = $32 | $34; + if ($or$cond) { + $35 = HEAP32[$3>>2]|0; + _sqlite3_result_error($35,47077,-1); + STACKTOP = sp;return; + } else { + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3_value_blob($38)|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$7>>2] = $40; + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$8>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = HEAP32[$7>>2]|0; + $45 = (_sqlite3Fts3HashInsert($41,$42,$43,$44)|0); + HEAP32[$10>>2] = $45; + $46 = HEAP32[$10>>2]|0; + $47 = HEAP32[$7>>2]|0; + $48 = ($46|0)==($47|0); + if (!($48)) { + break; + } + $49 = HEAP32[$3>>2]|0; + _sqlite3_result_error($49,22481,-1); + break; + } + } else { + $51 = HEAP32[$8>>2]|0; + $52 = ($51|0)!=(0|0); + if ($52) { + $53 = HEAP32[$6>>2]|0; + $54 = HEAP32[$8>>2]|0; + $55 = HEAP32[$9>>2]|0; + $56 = (_sqlite3Fts3HashFind($53,$54,$55)|0); + HEAP32[$7>>2] = $56; + } + $57 = HEAP32[$7>>2]|0; + $58 = ($57|0)!=(0|0); + if (!($58)) { + $59 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer>>2] = $59; + $60 = (_sqlite3_mprintf(42720,$vararg_buffer)|0); + HEAP32[$12>>2] = $60; + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$12>>2]|0; + _sqlite3_result_error($61,$62,-1); + $63 = HEAP32[$12>>2]|0; + _sqlite3_free($63); + STACKTOP = sp;return; + } + } + } while(0); + $64 = HEAP32[$3>>2]|0; + _sqlite3_result_blob($64,$7,4,(-1)); + STACKTOP = sp;return; +} +function _fts3TokenizerEnabled($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = (_sqlite3_context_db_handle($4)|0); + HEAP32[$2>>2] = $5; + HEAP32[$3>>2] = 0; + $6 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = -1; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $3; + (_sqlite3_db_config($6,1004,$vararg_buffer)|0); + $7 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _fts3RemoveElementByHash($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + if ($10) { + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $$sink = $15; + } else { + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 8|0); + $$sink = $17; + } + HEAP32[$$sink>>2] = $12; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(0|0); + if ($20) { + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 4|0); + HEAP32[$26>>2] = $23; + } + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = (($29) + ($30<<3)|0); + HEAP32[$6>>2] = $31; + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = ($34|0)==($35|0); + if ($36) { + $37 = HEAP32[$4>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 4|0); + HEAP32[$40>>2] = $38; + } + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = (($42) + -1)|0; + HEAP32[$41>>2] = $43; + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)<=(0); + if ($46) { + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + 4|0); + HEAP32[$48>>2] = 0; + } + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 1|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51 << 24 >> 24; + $53 = ($52|0)!=(0); + if ($53) { + $54 = HEAP32[$4>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56|0)!=(0|0); + if ($57) { + $58 = HEAP32[$4>>2]|0; + $59 = ((($58)) + 12|0); + $60 = HEAP32[$59>>2]|0; + _fts3HashFree($60); + } + } + $61 = HEAP32[$4>>2]|0; + _fts3HashFree($61); + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($64) + -1)|0; + HEAP32[$63>>2] = $65; + $66 = HEAP32[$3>>2]|0; + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)<=(0); + if (!($69)) { + STACKTOP = sp;return; + } + $70 = HEAP32[$3>>2]|0; + _sqlite3Fts3HashClear($70); + STACKTOP = sp;return; +} +function _fts3Rehash($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $10 = HEAP32[$4>>2]|0; + $11 = $10<<3; + $12 = (_fts3HashMalloc($11)|0); + HEAP32[$5>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + HEAP32[$2>>2] = 1; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); + } + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + _fts3HashFree($17); + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 16|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 12|0); + HEAP32[$23>>2] = $21; + $24 = HEAP32[$3>>2]|0; + $25 = HEAP8[$24>>0]|0; + $26 = $25 << 24 >> 24; + $27 = (_ftsHashFunction($26)|0); + HEAP32[$8>>2] = $27; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$6>>2] = $30; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 8|0); + HEAP32[$32>>2] = 0; + while(1) { + $33 = HEAP32[$6>>2]|0; + $34 = ($33|0)!=(0|0); + if (!($34)) { + break; + } + $35 = HEAP32[$8>>2]|0; + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = (FUNCTION_TABLE_iii[$35 & 255]($38,$41)|0); + $43 = HEAP32[$4>>2]|0; + $44 = (($43) - 1)|0; + $45 = $42 & $44; + HEAP32[$9>>2] = $45; + $46 = HEAP32[$6>>2]|0; + $47 = HEAP32[$46>>2]|0; + HEAP32[$7>>2] = $47; + $48 = HEAP32[$3>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = HEAP32[$9>>2]|0; + $51 = (($49) + ($50<<3)|0); + $52 = HEAP32[$6>>2]|0; + _fts3HashInsertElement($48,$51,$52); + $53 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $53; + } + HEAP32[$2>>2] = 0; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); +} +function _fts3HashMalloc($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_malloc($3)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $9 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($9|0); + } + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$1>>2]|0; + _memset(($7|0),0,($8|0))|0; + $9 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _fts3HashInsertElement($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP32[$6>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$5>>2]|0; + HEAP32[$35>>2] = $34; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)!=(0|0); + if ($39) { + $40 = HEAP32[$5>>2]|0; + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = ((($43)) + 4|0); + HEAP32[$44>>2] = $40; + } + $45 = HEAP32[$5>>2]|0; + $46 = ((($45)) + 4|0); + HEAP32[$46>>2] = 0; + $47 = HEAP32[$5>>2]|0; + $48 = HEAP32[$3>>2]|0; + $49 = ((($48)) + 8|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$50>>2]|0; + $52 = (($51) + 1)|0; + HEAP32[$50>>2] = $52; + $53 = HEAP32[$5>>2]|0; + $54 = HEAP32[$4>>2]|0; + $55 = ((($54)) + 4|0); + HEAP32[$55>>2] = $53; + STACKTOP = sp;return; + } + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$13>>2] = $12; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 4|0); + HEAP32[$18>>2] = $16; + $19 = HEAP32[$6>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + $23 = HEAP32[$5>>2]|0; + if ($22) { + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $$sink = $26; + } else { + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 8|0); + $$sink = $28; + } + HEAP32[$$sink>>2] = $23; + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = ((($30)) + 4|0); + HEAP32[$31>>2] = $29; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$50>>2]|0; + $52 = (($51) + 1)|0; + HEAP32[$50>>2] = $52; + $53 = HEAP32[$5>>2]|0; + $54 = HEAP32[$4>>2]|0; + $55 = ((($54)) + 4|0); + HEAP32[$55>>2] = $53; + STACKTOP = sp;return; +} +function _porterCreate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = (_sqlite3_malloc(4)|0); + HEAP32[$7>>2] = $8; + $9 = HEAP32[$7>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + HEAP32[$3>>2] = 7; + $14 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($14|0); + } else { + $11 = HEAP32[$7>>2]|0; + ;HEAP32[$11>>2]=0|0; + $12 = HEAP32[$7>>2]|0; + $13 = HEAP32[$6>>2]|0; + HEAP32[$13>>2] = $12; + HEAP32[$3>>2] = 0; + $14 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($14|0); + } + return (0)|0; +} +function _porterDestroy($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3_free($2); + STACKTOP = sp;return 0; +} +function _porterOpen($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink$sink = 0, $$sink2$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = (_sqlite3_malloc(28)|0); + HEAP32[$9>>2] = $10; + $11 = HEAP32[$9>>2]|0; + $12 = ($11|0)==(0|0); + if ($12) { + HEAP32[$4>>2] = 7; + $37 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($37|0); + } + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$9>>2]|0; + $15 = ((($14)) + 4|0); + HEAP32[$15>>2] = $13; + $16 = HEAP32[$6>>2]|0; + $17 = ($16|0)==(0|0); + do { + if ($17) { + $18 = HEAP32[$9>>2]|0; + $$sink$sink = 0;$$sink2$sink = $18; + } else { + $19 = HEAP32[$7>>2]|0; + $20 = ($19|0)<(0); + if ($20) { + $21 = HEAP32[$6>>2]|0; + $22 = (_strlen($21)|0); + $23 = HEAP32[$9>>2]|0; + $$sink$sink = $22;$$sink2$sink = $23; + break; + } else { + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$9>>2]|0; + $$sink$sink = $24;$$sink2$sink = $25; + break; + } + } + } while(0); + $26 = ((($$sink2$sink)) + 8|0); + HEAP32[$26>>2] = $$sink$sink; + $27 = HEAP32[$9>>2]|0; + $28 = ((($27)) + 12|0); + HEAP32[$28>>2] = 0; + $29 = HEAP32[$9>>2]|0; + $30 = ((($29)) + 16|0); + HEAP32[$30>>2] = 0; + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 20|0); + HEAP32[$32>>2] = 0; + $33 = HEAP32[$9>>2]|0; + $34 = ((($33)) + 24|0); + HEAP32[$34>>2] = 0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$8>>2]|0; + HEAP32[$36>>2] = $35; + HEAP32[$4>>2] = 0; + $37 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($37|0); +} +function _porterClose($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 20|0); + $6 = HEAP32[$5>>2]|0; + _sqlite3_free($6); + $7 = HEAP32[$2>>2]|0; + _sqlite3_free($7); + STACKTOP = sp;return 0; +} +function _porterNext($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $19 = HEAP32[$7>>2]|0; + HEAP32[$13>>2] = $19; + $20 = HEAP32[$13>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$14>>2] = $22; + while(1) { + $23 = HEAP32[$13>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$13>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($25|0)<($28|0); + if (!($29)) { + label = 23; + break; + } + while(1) { + $30 = HEAP32[$13>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$13>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($32|0)<($35|0); + if ($36) { + $37 = HEAP32[$14>>2]|0; + $38 = HEAP32[$13>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP32[$39>>2]|0; + $41 = (($37) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42 << 24 >> 24; + HEAP32[$16>>2] = $43; + $44 = $43 & 128; + $45 = ($44|0)==(0); + if ($45) { + $46 = HEAP32[$16>>2]|0; + $47 = ($46|0)<(48); + if ($47) { + $140 = 1; + } else { + $48 = HEAP32[$16>>2]|0; + $49 = (($48) - 48)|0; + $50 = (47122 + ($49)|0); + $51 = HEAP8[$50>>0]|0; + $52 = ($51<<24>>24)!=(0); + $53 = $52 ^ 1; + $140 = $53; + } + } else { + $140 = 0; + } + } else { + $140 = 0; + } + $54 = HEAP32[$13>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + if (!($140)) { + break; + } + $57 = (($56) + 1)|0; + HEAP32[$55>>2] = $57; + } + HEAP32[$15>>2] = $56; + while(1) { + $58 = HEAP32[$13>>2]|0; + $59 = ((($58)) + 12|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$13>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($60|0)<($63|0); + if ($64) { + $65 = HEAP32[$14>>2]|0; + $66 = HEAP32[$13>>2]|0; + $67 = ((($66)) + 12|0); + $68 = HEAP32[$67>>2]|0; + $69 = (($65) + ($68)|0); + $70 = HEAP8[$69>>0]|0; + $71 = $70 << 24 >> 24; + HEAP32[$16>>2] = $71; + $72 = $71 & 128; + $73 = ($72|0)==(0); + if ($73) { + $74 = HEAP32[$16>>2]|0; + $75 = ($74|0)<(48); + if ($75) { + $83 = 1; + } else { + $76 = HEAP32[$16>>2]|0; + $77 = (($76) - 48)|0; + $78 = (47122 + ($77)|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)!=(0); + $81 = $80 ^ 1; + $83 = $81; + } + } else { + $83 = 0; + } + $82 = $83 ^ 1; + $141 = $82; + } else { + $141 = 0; + } + $84 = HEAP32[$13>>2]|0; + $85 = ((($84)) + 12|0); + $86 = HEAP32[$85>>2]|0; + if (!($141)) { + break; + } + $87 = (($86) + 1)|0; + HEAP32[$85>>2] = $87; + } + $88 = HEAP32[$15>>2]|0; + $89 = ($86|0)>($88|0); + if ($89) { + break; + } + } + if ((label|0) == 23) { + HEAP32[$6>>2] = 101; + $139 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($139|0); + } + $90 = HEAP32[$13>>2]|0; + $91 = ((($90)) + 12|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$15>>2]|0; + $94 = (($92) - ($93))|0; + HEAP32[$17>>2] = $94; + $95 = HEAP32[$17>>2]|0; + $96 = HEAP32[$13>>2]|0; + $97 = ((($96)) + 24|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($95|0)>($98|0); + do { + if ($99) { + $100 = HEAP32[$17>>2]|0; + $101 = (($100) + 20)|0; + $102 = HEAP32[$13>>2]|0; + $103 = ((($102)) + 24|0); + HEAP32[$103>>2] = $101; + $104 = HEAP32[$13>>2]|0; + $105 = ((($104)) + 20|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$13>>2]|0; + $108 = ((($107)) + 24|0); + $109 = HEAP32[$108>>2]|0; + $110 = (_sqlite3_realloc($106,$109)|0); + HEAP32[$18>>2] = $110; + $111 = HEAP32[$18>>2]|0; + $112 = ($111|0)!=(0|0); + if ($112) { + $113 = HEAP32[$18>>2]|0; + $114 = HEAP32[$13>>2]|0; + $115 = ((($114)) + 20|0); + HEAP32[$115>>2] = $113; + break; + } + HEAP32[$6>>2] = 7; + $139 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($139|0); + } + } while(0); + $116 = HEAP32[$14>>2]|0; + $117 = HEAP32[$15>>2]|0; + $118 = (($116) + ($117)|0); + $119 = HEAP32[$17>>2]|0; + $120 = HEAP32[$13>>2]|0; + $121 = ((($120)) + 20|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$9>>2]|0; + _porter_stemmer($118,$119,$122,$123); + $124 = HEAP32[$13>>2]|0; + $125 = ((($124)) + 20|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$8>>2]|0; + HEAP32[$127>>2] = $126; + $128 = HEAP32[$15>>2]|0; + $129 = HEAP32[$10>>2]|0; + HEAP32[$129>>2] = $128; + $130 = HEAP32[$13>>2]|0; + $131 = ((($130)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$11>>2]|0; + HEAP32[$133>>2] = $132; + $134 = HEAP32[$13>>2]|0; + $135 = ((($134)) + 16|0); + $136 = HEAP32[$135>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[$135>>2] = $137; + $138 = HEAP32[$12>>2]|0; + HEAP32[$138>>2] = $136; + HEAP32[$6>>2] = 0; + $139 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($139|0); +} +function _porter_stemmer($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $$sink2 = 0, $$sink3 = 0, $$sink5 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $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, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 36|0; + $11 = sp + 4|0; + $12 = sp; + $13 = sp + 32|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)<(3); + $16 = HEAP32[$5>>2]|0; + $17 = ($16|0)>=(21); + $or$cond = $15 | $17; + if ($or$cond) { + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$7>>2]|0; + _copy_stemmer($18,$19,$20,$21); + STACKTOP = sp;return; + } + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 22; + while(1) { + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = ($22|0)<($23|0); + if (!($24)) { + break; + } + $25 = HEAP32[$4>>2]|0; + $26 = HEAP32[$8>>2]|0; + $27 = (($25) + ($26)|0); + $28 = HEAP8[$27>>0]|0; + HEAP8[$13>>0] = $28; + $29 = HEAP8[$13>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($30|0)>=(65); + if ($31) { + $32 = HEAP8[$13>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($33|0)<=(90); + if ($34) { + $35 = HEAP8[$13>>0]|0; + $36 = $35 << 24 >> 24; + $37 = (($36) + 97)|0; + $38 = (($37) - 65)|0; + $39 = $38&255; + $40 = HEAP32[$9>>2]|0; + $$sink3 = $39;$$sink5 = $40; + } else { + label = 8; + } + } else { + label = 8; + } + if ((label|0) == 8) { + label = 0; + $41 = HEAP8[$13>>0]|0; + $42 = $41 << 24 >> 24; + $43 = ($42|0)>=(97); + if (!($43)) { + label = 11; + break; + } + $44 = HEAP8[$13>>0]|0; + $45 = $44 << 24 >> 24; + $46 = ($45|0)<=(122); + if (!($46)) { + label = 11; + break; + } + $47 = HEAP8[$13>>0]|0; + $48 = HEAP32[$9>>2]|0; + $$sink3 = $47;$$sink5 = $48; + } + $53 = (($10) + ($$sink5)|0); + HEAP8[$53>>0] = $$sink3; + $54 = HEAP32[$8>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$8>>2] = $55; + $56 = HEAP32[$9>>2]|0; + $57 = (($56) + -1)|0; + HEAP32[$9>>2] = $57; + } + if ((label|0) == 11) { + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$7>>2]|0; + _copy_stemmer($49,$50,$51,$52); + STACKTOP = sp;return; + } + $58 = ((($10)) + 23|0); + ;HEAP8[$58>>0]=0|0;HEAP8[$58+1>>0]=0|0;HEAP8[$58+2>>0]=0|0;HEAP8[$58+3>>0]=0|0;HEAP8[$58+4>>0]=0|0; + $59 = HEAP32[$9>>2]|0; + $60 = (($59) + 1)|0; + $61 = (($10) + ($60)|0); + HEAP32[$11>>2] = $61; + $62 = HEAP32[$11>>2]|0; + $63 = HEAP8[$62>>0]|0; + $64 = $63 << 24 >> 24; + $65 = ($64|0)==(115); + if ($65) { + $66 = (_stem($11,47202,47207,0)|0); + $67 = ($66|0)!=(0); + if (!($67)) { + $68 = (_stem($11,47210,47214,0)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + $70 = (_stem($11,47207,47207,0)|0); + $71 = ($70|0)!=(0); + if (!($71)) { + $72 = HEAP32[$11>>2]|0; + $73 = ((($72)) + 1|0); + HEAP32[$11>>2] = $73; + } + } + } + } + $74 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $74; + $75 = (_stem($11,47216,47220,197)|0); + $76 = ($75|0)!=(0); + do { + if (!($76)) { + $77 = (_stem($11,47223,55752,198)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + $79 = (_stem($11,47227,55752,198)|0); + $80 = ($79|0)!=(0); + if (!($80)) { + break; + } + } + $81 = HEAP32[$11>>2]|0; + $82 = HEAP32[$12>>2]|0; + $83 = ($81|0)!=($82|0); + if ($83) { + $84 = (_stem($11,47230,47233,0)|0); + $85 = ($84|0)!=(0); + if (!($85)) { + $86 = (_stem($11,47237,47240,0)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + $88 = (_stem($11,47244,47247,0)|0); + $89 = ($88|0)!=(0); + if (!($89)) { + $90 = HEAP32[$11>>2]|0; + $91 = (_doubleConsonant($90)|0); + $92 = ($91|0)!=(0); + if ($92) { + $93 = HEAP32[$11>>2]|0; + $94 = HEAP8[$93>>0]|0; + $95 = $94 << 24 >> 24; + $96 = ($95|0)!=(108); + if ($96) { + $97 = HEAP32[$11>>2]|0; + $98 = HEAP8[$97>>0]|0; + $99 = $98 << 24 >> 24; + $100 = ($99|0)!=(115); + if ($100) { + $101 = HEAP32[$11>>2]|0; + $102 = HEAP8[$101>>0]|0; + $103 = $102 << 24 >> 24; + $104 = ($103|0)!=(122); + if ($104) { + $105 = HEAP32[$11>>2]|0; + $106 = ((($105)) + 1|0); + HEAP32[$11>>2] = $106; break; } - $6238 = HEAP32[$pFrame88>>2]|0; - $6239 = ((($6238)) + 4|0); - $6240 = HEAP32[$6239>>2]|0; - HEAP32[$pFrame88>>2] = $6240; - } - $6241 = HEAP32[$pOp>>2]|0; - $6242 = ((($6241)) + 4|0); - $6243 = HEAP32[$6242>>2]|0; - $6244 = HEAP32[$pFrame88>>2]|0; - $6245 = ((($6244)) + 16|0); - $6246 = HEAP32[$6245>>2]|0; - $6247 = (($6246) + (($6243*40)|0)|0); - HEAP32[$pIn1>>2] = $6247; - } else { - $6248 = HEAP32[$pOp>>2]|0; - $6249 = ((($6248)) + 4|0); - $6250 = HEAP32[$6249>>2]|0; - $6251 = HEAP32[$aMem>>2]|0; - $6252 = (($6251) + (($6250*40)|0)|0); - HEAP32[$pIn1>>2] = $6252; - } - $6253 = HEAP32[$pIn1>>2]|0; - (_sqlite3VdbeMemIntegerify($6253)|0); - $6254 = HEAP32[$pOp>>2]|0; - $6255 = ((($6254)) + 8|0); - $6256 = HEAP32[$6255>>2]|0; - $6257 = HEAP32[$aMem>>2]|0; - $6258 = (($6257) + (($6256*40)|0)|0); - HEAP32[$pIn2>>2] = $6258; - $6259 = HEAP32[$pIn2>>2]|0; - (_sqlite3VdbeMemIntegerify($6259)|0); - $6260 = HEAP32[$pIn1>>2]|0; - $6261 = $6260; - $6262 = $6261; - $6263 = HEAP32[$6262>>2]|0; - $6264 = (($6261) + 4)|0; - $6265 = $6264; - $6266 = HEAP32[$6265>>2]|0; - $6267 = HEAP32[$pIn2>>2]|0; - $6268 = $6267; - $6269 = $6268; - $6270 = HEAP32[$6269>>2]|0; - $6271 = (($6268) + 4)|0; - $6272 = $6271; - $6273 = HEAP32[$6272>>2]|0; - $6274 = ($6266|0)<($6273|0); - $6275 = ($6263>>>0)<($6270>>>0); - $6276 = ($6266|0)==($6273|0); - $6277 = $6276 & $6275; - $6278 = $6274 | $6277; - if ($6278) { - $6279 = HEAP32[$pIn2>>2]|0; - $6280 = $6279; - $6281 = $6280; - $6282 = HEAP32[$6281>>2]|0; - $6283 = (($6280) + 4)|0; - $6284 = $6283; - $6285 = HEAP32[$6284>>2]|0; - $6286 = HEAP32[$pIn1>>2]|0; - $6287 = $6286; - $6288 = $6287; - HEAP32[$6288>>2] = $6282; - $6289 = (($6287) + 4)|0; - $6290 = $6289; - HEAP32[$6290>>2] = $6285; - } - break; - } - case 66: { - $6291 = HEAP32[$pOp>>2]|0; - $6292 = ((($6291)) + 4|0); - $6293 = HEAP32[$6292>>2]|0; - $6294 = HEAP32[$aMem>>2]|0; - $6295 = (($6294) + (($6293*40)|0)|0); - HEAP32[$pIn1>>2] = $6295; - $6296 = HEAP32[$pIn1>>2]|0; - $6297 = $6296; - $6298 = $6297; - $6299 = HEAP32[$6298>>2]|0; - $6300 = (($6297) + 4)|0; - $6301 = $6300; - $6302 = HEAP32[$6301>>2]|0; - $6303 = ($6302|0)>(0); - $6304 = ($6299>>>0)>(0); - $6305 = ($6302|0)==(0); - $6306 = $6305 & $6304; - $6307 = $6303 | $6306; - if ($6307) { - $6308 = HEAP32[$pOp>>2]|0; - $6309 = ((($6308)) + 12|0); - $6310 = HEAP32[$6309>>2]|0; - $6311 = ($6310|0)<(0); - $6312 = $6311 << 31 >> 31; - $6313 = HEAP32[$pIn1>>2]|0; - $6314 = $6313; - $6315 = $6314; - $6316 = HEAP32[$6315>>2]|0; - $6317 = (($6314) + 4)|0; - $6318 = $6317; - $6319 = HEAP32[$6318>>2]|0; - $6320 = (_i64Subtract(($6316|0),($6319|0),($6310|0),($6312|0))|0); - $6321 = tempRet0; - $6322 = $6313; - $6323 = $6322; - HEAP32[$6323>>2] = $6320; - $6324 = (($6322) + 4)|0; - $6325 = $6324; - HEAP32[$6325>>2] = $6321; - label = 14; - } - break; - } - case 146: { - $6326 = HEAP32[$pOp>>2]|0; - $6327 = ((($6326)) + 4|0); - $6328 = HEAP32[$6327>>2]|0; - $6329 = HEAP32[$aMem>>2]|0; - $6330 = (($6329) + (($6328*40)|0)|0); - HEAP32[$pIn1>>2] = $6330; - $6331 = HEAP32[$pOp>>2]|0; - $6332 = ((($6331)) + 12|0); - $6333 = HEAP32[$6332>>2]|0; - $6334 = HEAP32[$aMem>>2]|0; - $6335 = (($6334) + (($6333*40)|0)|0); - HEAP32[$pIn3>>2] = $6335; - $6336 = HEAP32[$0>>2]|0; - $6337 = HEAP32[$pOp>>2]|0; - $6338 = (_out2Prerelease($6336,$6337)|0); - HEAP32[$pOut>>2] = $6338; - $6339 = HEAP32[$pIn1>>2]|0; - $6340 = $6339; - $6341 = $6340; - $6342 = HEAP32[$6341>>2]|0; - $6343 = (($6340) + 4)|0; - $6344 = $6343; - $6345 = HEAP32[$6344>>2]|0; - $6346 = ($6345|0)<(0); - $6347 = ($6342>>>0)<=(0); - $6348 = ($6345|0)==(0); - $6349 = $6348 & $6347; - $6350 = $6346 | $6349; - if ($6350) { - $6384 = -1;$6387 = -1; - } else { - $6351 = HEAP32[$pIn1>>2]|0; - $6352 = $6351; - $6353 = $6352; - $6354 = HEAP32[$6353>>2]|0; - $6355 = (($6352) + 4)|0; - $6356 = $6355; - $6357 = HEAP32[$6356>>2]|0; - $6358 = HEAP32[$pIn3>>2]|0; - $6359 = $6358; - $6360 = $6359; - $6361 = HEAP32[$6360>>2]|0; - $6362 = (($6359) + 4)|0; - $6363 = $6362; - $6364 = HEAP32[$6363>>2]|0; - $6365 = ($6364|0)>(0); - $6366 = ($6361>>>0)>(0); - $6367 = ($6364|0)==(0); - $6368 = $6367 & $6366; - $6369 = $6365 | $6368; - if ($6369) { - $6370 = HEAP32[$pIn3>>2]|0; - $6371 = $6370; - $6372 = $6371; - $6373 = HEAP32[$6372>>2]|0; - $6374 = (($6371) + 4)|0; - $6375 = $6374; - $6376 = HEAP32[$6375>>2]|0; - $6377 = $6373;$6378 = $6376; - } else { - $6377 = 0;$6378 = 0; - } - $6379 = (_i64Add(($6354|0),($6357|0),($6377|0),($6378|0))|0); - $6380 = tempRet0; - $6384 = $6379;$6387 = $6380; - } - $6381 = HEAP32[$pOut>>2]|0; - $6382 = $6381; - $6383 = $6382; - HEAP32[$6383>>2] = $6384; - $6385 = (($6382) + 4)|0; - $6386 = $6385; - HEAP32[$6386>>2] = $6387; - break; - } - case 67: { - $6388 = HEAP32[$pOp>>2]|0; - $6389 = ((($6388)) + 4|0); - $6390 = HEAP32[$6389>>2]|0; - $6391 = HEAP32[$aMem>>2]|0; - $6392 = (($6391) + (($6390*40)|0)|0); - HEAP32[$pIn1>>2] = $6392; - $6393 = HEAP32[$pIn1>>2]|0; - $6394 = $6393; - $6395 = $6394; - $6396 = HEAP32[$6395>>2]|0; - $6397 = (($6394) + 4)|0; - $6398 = $6397; - $6399 = HEAP32[$6398>>2]|0; - $6400 = ($6396|0)!=(0); - $6401 = ($6399|0)!=(0); - $6402 = $6400 | $6401; - if ($6402) { - $6403 = HEAP32[$pOp>>2]|0; - $6404 = ((($6403)) + 12|0); - $6405 = HEAP32[$6404>>2]|0; - $6406 = ($6405|0)<(0); - $6407 = $6406 << 31 >> 31; - $6408 = HEAP32[$pIn1>>2]|0; - $6409 = $6408; - $6410 = $6409; - $6411 = HEAP32[$6410>>2]|0; - $6412 = (($6409) + 4)|0; - $6413 = $6412; - $6414 = HEAP32[$6413>>2]|0; - $6415 = (_i64Subtract(($6411|0),($6414|0),($6405|0),($6407|0))|0); - $6416 = tempRet0; - $6417 = $6408; - $6418 = $6417; - HEAP32[$6418>>2] = $6415; - $6419 = (($6417) + 4)|0; - $6420 = $6419; - HEAP32[$6420>>2] = $6416; - label = 14; - } - break; - } - case 68: { - $6421 = HEAP32[$pOp>>2]|0; - $6422 = ((($6421)) + 4|0); - $6423 = HEAP32[$6422>>2]|0; - $6424 = HEAP32[$aMem>>2]|0; - $6425 = (($6424) + (($6423*40)|0)|0); - HEAP32[$pIn1>>2] = $6425; - $6426 = HEAP32[$pIn1>>2]|0; - $6427 = $6426; - $6428 = $6427; - $6429 = HEAP32[$6428>>2]|0; - $6430 = (($6427) + 4)|0; - $6431 = $6430; - $6432 = HEAP32[$6431>>2]|0; - $6433 = (_i64Add(($6429|0),($6432|0),-1,-1)|0); - $6434 = tempRet0; - $6435 = $6426; - $6436 = $6435; - HEAP32[$6436>>2] = $6433; - $6437 = (($6435) + 4)|0; - $6438 = $6437; - HEAP32[$6438>>2] = $6434; - $6439 = HEAP32[$pIn1>>2]|0; - $6440 = $6439; - $6441 = $6440; - $6442 = HEAP32[$6441>>2]|0; - $6443 = (($6440) + 4)|0; - $6444 = $6443; - $6445 = HEAP32[$6444>>2]|0; - $6446 = ($6442|0)==(0); - $6447 = ($6445|0)==(0); - $6448 = $6446 & $6447; - if ($6448) { - label = 14; - } - break; - } - case 147: { - $6449 = HEAP32[$pOp>>2]|0; - $6450 = ((($6449)) + 3|0); - $6451 = HEAP8[$6450>>0]|0; - $6452 = $6451&255; - HEAP32[$n89>>2] = $6452; - $6453 = HEAP32[$db>>2]|0; - $6454 = HEAP32[$n89>>2]|0; - $6455 = (($6454) - 1)|0; - $6456 = $6455<<2; - $6457 = (32 + ($6456))|0; - $6458 = (_sqlite3DbMallocRawNN($6453,$6457,0)|0); - HEAP32[$pCtx90>>2] = $6458; - $6459 = HEAP32[$pCtx90>>2]|0; - $6460 = ($6459|0)==(0|0); - if ($6460) { - label = 889; - break L1; - } - $6461 = HEAP32[$pCtx90>>2]|0; - $6462 = ((($6461)) + 8|0); - HEAP32[$6462>>2] = 0; - $6463 = HEAP32[$pOp>>2]|0; - $6464 = ((($6463)) + 16|0); - $6465 = HEAP32[$6464>>2]|0; - $6466 = HEAP32[$pCtx90>>2]|0; - $6467 = ((($6466)) + 4|0); - HEAP32[$6467>>2] = $6465; - $6468 = HEAP32[$pOp>>2]|0; - $6469 = HEAP32[$aOp>>2]|0; - $6470 = $6468; - $6471 = $6469; - $6472 = (($6470) - ($6471))|0; - $6473 = (($6472|0) / 20)&-1; - $6474 = HEAP32[$pCtx90>>2]|0; - $6475 = ((($6474)) + 16|0); - HEAP32[$6475>>2] = $6473; - $6476 = HEAP32[$0>>2]|0; - $6477 = HEAP32[$pCtx90>>2]|0; - $6478 = ((($6477)) + 12|0); - HEAP32[$6478>>2] = $6476; - $6479 = HEAP32[$n89>>2]|0; - $6480 = $6479&255; - $6481 = HEAP32[$pCtx90>>2]|0; - $6482 = ((($6481)) + 26|0); - HEAP8[$6482>>0] = $6480; - $6483 = HEAP32[$pOp>>2]|0; - $6484 = ((($6483)) + 1|0); - HEAP8[$6484>>0] = -21; - $6485 = HEAP32[$pCtx90>>2]|0; - $6486 = HEAP32[$pOp>>2]|0; - $6487 = ((($6486)) + 16|0); - HEAP32[$6487>>2] = $6485; - $6488 = HEAP32[$pOp>>2]|0; - HEAP8[$6488>>0] = -108; - label = 752; - break; - } - case 148: { - label = 752; - break; - } - case 149: { - $6575 = HEAP32[$pOp>>2]|0; - $6576 = ((($6575)) + 4|0); - $6577 = HEAP32[$6576>>2]|0; - $6578 = HEAP32[$aMem>>2]|0; - $6579 = (($6578) + (($6577*40)|0)|0); - HEAP32[$pMem95>>2] = $6579; - $6580 = HEAP32[$pMem95>>2]|0; - $6581 = HEAP32[$pOp>>2]|0; - $6582 = ((($6581)) + 16|0); - $6583 = HEAP32[$6582>>2]|0; - $6584 = (_sqlite3VdbeMemFinalize($6580,$6583)|0); - HEAP32[$rc>>2] = $6584; - $6585 = HEAP32[$rc>>2]|0; - $6586 = ($6585|0)!=(0); - if ($6586) { - label = 764; - break L8; - } - $6590 = HEAP32[$pMem95>>2]|0; - $6591 = HEAP8[$encoding>>0]|0; - $6592 = $6591&255; - (_sqlite3VdbeChangeEncoding($6590,$6592)|0); - $6593 = HEAP32[$pMem95>>2]|0; - $6594 = (_sqlite3VdbeMemTooBig($6593)|0); - $6595 = ($6594|0)!=(0); - if ($6595) { - label = 888; - break L8; - } - break; - } - case 8: { - HEAP32[$aRes>>2] = 0; - $6596 = ((($aRes)) + 8|0); - HEAP32[$6596>>2] = -1; - $6597 = ((($aRes)) + 4|0); - HEAP32[$6597>>2] = -1; - $6598 = HEAP32[$db>>2]|0; - $6599 = HEAP32[$pOp>>2]|0; - $6600 = ((($6599)) + 4|0); - $6601 = HEAP32[$6600>>2]|0; - $6602 = HEAP32[$pOp>>2]|0; - $6603 = ((($6602)) + 8|0); - $6604 = HEAP32[$6603>>2]|0; - $6605 = ((($aRes)) + 4|0); - $6606 = ((($aRes)) + 8|0); - $6607 = (_sqlite3Checkpoint($6598,$6601,$6604,$6605,$6606)|0); - HEAP32[$rc>>2] = $6607; - $6608 = HEAP32[$rc>>2]|0; - $6609 = ($6608|0)!=(0); - if ($6609) { - $6610 = HEAP32[$rc>>2]|0; - $6611 = ($6610|0)!=(5); - if ($6611) { - break L1; - } - HEAP32[$rc>>2] = 0; - HEAP32[$aRes>>2] = 1; - } - HEAP32[$i96>>2] = 0; - $6612 = HEAP32[$pOp>>2]|0; - $6613 = ((($6612)) + 12|0); - $6614 = HEAP32[$6613>>2]|0; - $6615 = HEAP32[$aMem>>2]|0; - $6616 = (($6615) + (($6614*40)|0)|0); - HEAP32[$pMem97>>2] = $6616; - while(1) { - $6617 = HEAP32[$i96>>2]|0; - $6618 = ($6617|0)<(3); - if (!($6618)) { - break L10; - } - $6619 = HEAP32[$pMem97>>2]|0; - $6620 = HEAP32[$i96>>2]|0; - $6621 = (($aRes) + ($6620<<2)|0); - $6622 = HEAP32[$6621>>2]|0; - $6623 = ($6622|0)<(0); - $6624 = $6623 << 31 >> 31; - _sqlite3VdbeMemSetInt64($6619,$6622,$6624); - $6625 = HEAP32[$i96>>2]|0; - $6626 = (($6625) + 1)|0; - HEAP32[$i96>>2] = $6626; - $6627 = HEAP32[$pMem97>>2]|0; - $6628 = ((($6627)) + 40|0); - HEAP32[$pMem97>>2] = $6628; - } - break; - } - case 9: { - $6629 = HEAP32[$0>>2]|0; - $6630 = HEAP32[$pOp>>2]|0; - $6631 = (_out2Prerelease($6629,$6630)|0); - HEAP32[$pOut>>2] = $6631; - $6632 = HEAP32[$pOp>>2]|0; - $6633 = ((($6632)) + 12|0); - $6634 = HEAP32[$6633>>2]|0; - HEAP32[$eNew>>2] = $6634; - $6635 = HEAP32[$pOp>>2]|0; - $6636 = ((($6635)) + 4|0); - $6637 = HEAP32[$6636>>2]|0; - $6638 = HEAP32[$db>>2]|0; - $6639 = ((($6638)) + 16|0); - $6640 = HEAP32[$6639>>2]|0; - $6641 = (($6640) + ($6637<<4)|0); - $6642 = ((($6641)) + 4|0); - $6643 = HEAP32[$6642>>2]|0; - HEAP32[$pBt98>>2] = $6643; - $6644 = HEAP32[$pBt98>>2]|0; - $6645 = (_sqlite3BtreePager($6644)|0); - HEAP32[$pPager>>2] = $6645; - $6646 = HEAP32[$pPager>>2]|0; - $6647 = (_sqlite3PagerGetJournalMode($6646)|0); - HEAP32[$eOld>>2] = $6647; - $6648 = HEAP32[$eNew>>2]|0; - $6649 = ($6648|0)==(-1); - if ($6649) { - $6650 = HEAP32[$eOld>>2]|0; - HEAP32[$eNew>>2] = $6650; - } - $6651 = HEAP32[$pPager>>2]|0; - $6652 = (_sqlite3PagerOkToChangeJournalMode($6651)|0); - $6653 = ($6652|0)!=(0); - if (!($6653)) { - $6654 = HEAP32[$eOld>>2]|0; - HEAP32[$eNew>>2] = $6654; - } - $6655 = HEAP32[$pPager>>2]|0; - $6656 = (_sqlite3PagerFilename($6655,1)|0); - HEAP32[$zFilename>>2] = $6656; - $6657 = HEAP32[$eNew>>2]|0; - $6658 = ($6657|0)==(5); - do { - if ($6658) { - $6659 = HEAP32[$zFilename>>2]|0; - $6660 = (_sqlite3Strlen30($6659)|0); - $6661 = ($6660|0)==(0); - if (!($6661)) { - $6662 = HEAP32[$pPager>>2]|0; - $6663 = (_sqlite3PagerWalSupported($6662)|0); - $6664 = ($6663|0)!=(0); - if ($6664) { - break; - } - } - $6665 = HEAP32[$eOld>>2]|0; - HEAP32[$eNew>>2] = $6665; - } - } while(0); - $6666 = HEAP32[$eNew>>2]|0; - $6667 = HEAP32[$eOld>>2]|0; - $6668 = ($6666|0)!=($6667|0); - if ($6668) { - $6669 = HEAP32[$eOld>>2]|0; - $6670 = ($6669|0)==(5); - $6671 = HEAP32[$eNew>>2]|0; - $6672 = ($6671|0)==(5); - $or$cond24 = $6670 | $6672; - if ($or$cond24) { - $6673 = HEAP32[$db>>2]|0; - $6674 = ((($6673)) + 67|0); - $6675 = HEAP8[$6674>>0]|0; - $6676 = ($6675<<24>>24)!=(0); - if (!($6676)) { - label = 784; - break L8; - } - $6677 = HEAP32[$db>>2]|0; - $6678 = ((($6677)) + 160|0); - $6679 = HEAP32[$6678>>2]|0; - $6680 = ($6679|0)>(1); - if ($6680) { - label = 784; - break L8; - } - $6685 = HEAP32[$eOld>>2]|0; - $6686 = ($6685|0)==(5); - if ($6686) { - $6687 = HEAP32[$pPager>>2]|0; - $6688 = (_sqlite3PagerCloseWal($6687)|0); - HEAP32[$rc>>2] = $6688; - $6689 = HEAP32[$rc>>2]|0; - $6690 = ($6689|0)==(0); - if ($6690) { - $6691 = HEAP32[$pPager>>2]|0; - $6692 = HEAP32[$eNew>>2]|0; - (_sqlite3PagerSetJournalMode($6691,$6692)|0); - } - } else { - $6693 = HEAP32[$eOld>>2]|0; - $6694 = ($6693|0)==(4); - if ($6694) { - $6695 = HEAP32[$pPager>>2]|0; - (_sqlite3PagerSetJournalMode($6695,2)|0); - } - } - $6696 = HEAP32[$rc>>2]|0; - $6697 = ($6696|0)==(0); - if ($6697) { - $6698 = HEAP32[$pBt98>>2]|0; - $6699 = HEAP32[$eNew>>2]|0; - $6700 = ($6699|0)==(5); - $6701 = $6700 ? 2 : 1; - $6702 = (_sqlite3BtreeSetVersion($6698,$6701)|0); - HEAP32[$rc>>2] = $6702; - } - } - } - $6703 = HEAP32[$rc>>2]|0; - $6704 = ($6703|0)!=(0); - if ($6704) { - $6705 = HEAP32[$eOld>>2]|0; - HEAP32[$eNew>>2] = $6705; - } - $6706 = HEAP32[$pPager>>2]|0; - $6707 = HEAP32[$eNew>>2]|0; - $6708 = (_sqlite3PagerSetJournalMode($6706,$6707)|0); - HEAP32[$eNew>>2] = $6708; - $6709 = HEAP32[$pOut>>2]|0; - $6710 = ((($6709)) + 8|0); - HEAP16[$6710>>1] = 2562; - $6711 = HEAP32[$eNew>>2]|0; - $6712 = (_sqlite3JournalModename($6711)|0); - $6713 = HEAP32[$pOut>>2]|0; - $6714 = ((($6713)) + 16|0); - HEAP32[$6714>>2] = $6712; - $6715 = HEAP32[$pOut>>2]|0; - $6716 = ((($6715)) + 16|0); - $6717 = HEAP32[$6716>>2]|0; - $6718 = (_sqlite3Strlen30($6717)|0); - $6719 = HEAP32[$pOut>>2]|0; - $6720 = ((($6719)) + 12|0); - HEAP32[$6720>>2] = $6718; - $6721 = HEAP32[$pOut>>2]|0; - $6722 = ((($6721)) + 10|0); - HEAP8[$6722>>0] = 1; - $6723 = HEAP32[$pOut>>2]|0; - $6724 = HEAP8[$encoding>>0]|0; - $6725 = $6724&255; - (_sqlite3VdbeChangeEncoding($6723,$6725)|0); - $6726 = HEAP32[$rc>>2]|0; - $6727 = ($6726|0)!=(0); - if ($6727) { - break L1; - } - break; - } - case 10: { - $6728 = HEAP32[$0>>2]|0; - $6729 = ((($6728)) + 108|0); - $6730 = HEAP32[$db>>2]|0; - $6731 = HEAP32[$pOp>>2]|0; - $6732 = ((($6731)) + 4|0); - $6733 = HEAP32[$6732>>2]|0; - $6734 = (_sqlite3RunVacuum($6729,$6730,$6733)|0); - HEAP32[$rc>>2] = $6734; - $6735 = HEAP32[$rc>>2]|0; - $6736 = ($6735|0)!=(0); - if ($6736) { - break L1; - } - break; - } - case 69: { - $6737 = HEAP32[$pOp>>2]|0; - $6738 = ((($6737)) + 4|0); - $6739 = HEAP32[$6738>>2]|0; - $6740 = HEAP32[$db>>2]|0; - $6741 = ((($6740)) + 16|0); - $6742 = HEAP32[$6741>>2]|0; - $6743 = (($6742) + ($6739<<4)|0); - $6744 = ((($6743)) + 4|0); - $6745 = HEAP32[$6744>>2]|0; - HEAP32[$pBt99>>2] = $6745; - $6746 = HEAP32[$pBt99>>2]|0; - $6747 = (_sqlite3BtreeIncrVacuum($6746)|0); - HEAP32[$rc>>2] = $6747; - $6748 = HEAP32[$rc>>2]|0; - $6749 = ($6748|0)!=(0); - if ($6749) { - $6750 = HEAP32[$rc>>2]|0; - $6751 = ($6750|0)!=(101); - if ($6751) { - break L1; - } - HEAP32[$rc>>2] = 0; - label = 14; - } - break; - } - case 150: { - $6752 = HEAP32[$pOp>>2]|0; - $6753 = ((($6752)) + 4|0); - $6754 = HEAP32[$6753>>2]|0; - $6755 = ($6754|0)!=(0); - if ($6755) { - $6757 = HEAP32[$0>>2]|0; - $6758 = ((($6757)) + 144|0); - $6759 = HEAP16[$6758>>1]|0; - $6760 = $6759 & -2; - $6761 = $6760 | 1; - HEAP16[$6758>>1] = $6761; - break L10; - } else { - $6756 = HEAP32[$db>>2]|0; - _sqlite3ExpirePreparedStatements($6756); - break L10; - } - break; - } - case 151: { - $6762 = HEAP32[$pOp>>2]|0; - $6763 = ((($6762)) + 12|0); - $6764 = HEAP32[$6763>>2]|0; - $6765 = $6764&255; - HEAP8[$isWriteLock>>0] = $6765; - $6766 = HEAP8[$isWriteLock>>0]|0; - $6767 = $6766&255; - $6768 = ($6767|0)!=(0); - if (!($6768)) { - $6769 = HEAP32[$db>>2]|0; - $6770 = ((($6769)) + 24|0); - $6771 = HEAP32[$6770>>2]|0; - $6772 = $6771 & 16384; - $6773 = (0)==($6772|0); - if (!($6773)) { - break L10; } } - $6774 = HEAP32[$pOp>>2]|0; - $6775 = ((($6774)) + 4|0); - $6776 = HEAP32[$6775>>2]|0; - HEAP32[$p1100>>2] = $6776; - $6777 = HEAP32[$p1100>>2]|0; - $6778 = HEAP32[$db>>2]|0; - $6779 = ((($6778)) + 16|0); - $6780 = HEAP32[$6779>>2]|0; - $6781 = (($6780) + ($6777<<4)|0); - $6782 = ((($6781)) + 4|0); - $6783 = HEAP32[$6782>>2]|0; - $6784 = HEAP32[$pOp>>2]|0; - $6785 = ((($6784)) + 8|0); - $6786 = HEAP32[$6785>>2]|0; - $6787 = HEAP8[$isWriteLock>>0]|0; - $6788 = (_sqlite3BtreeLockTable($6783,$6786,$6787)|0); - HEAP32[$rc>>2] = $6788; - $6789 = HEAP32[$rc>>2]|0; - $6790 = ($6789|0)!=(0); - if ($6790) { - label = 805; - break L8; - } - break; - } - case 152: { - $6799 = HEAP32[$pOp>>2]|0; - $6800 = ((($6799)) + 16|0); - $6801 = HEAP32[$6800>>2]|0; - HEAP32[$pVTab>>2] = $6801; - $6802 = HEAP32[$db>>2]|0; - $6803 = HEAP32[$pVTab>>2]|0; - $6804 = (_sqlite3VtabBegin($6802,$6803)|0); - HEAP32[$rc>>2] = $6804; - $6805 = HEAP32[$pVTab>>2]|0; - $6806 = ($6805|0)!=(0|0); - if ($6806) { - $6807 = HEAP32[$0>>2]|0; - $6808 = HEAP32[$pVTab>>2]|0; - $6809 = ((($6808)) + 8|0); - $6810 = HEAP32[$6809>>2]|0; - _sqlite3VtabImportErrmsg($6807,$6810); - } - $6811 = HEAP32[$rc>>2]|0; - $6812 = ($6811|0)!=(0); - if ($6812) { - break L1; - } - break; - } - case 153: { - dest=$sMem102; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6813 = HEAP32[$db>>2]|0; - $6814 = ((($sMem102)) + 32|0); - HEAP32[$6814>>2] = $6813; - $6815 = HEAP32[$pOp>>2]|0; - $6816 = ((($6815)) + 8|0); - $6817 = HEAP32[$6816>>2]|0; - $6818 = HEAP32[$aMem>>2]|0; - $6819 = (($6818) + (($6817*40)|0)|0); - $6820 = (_sqlite3VdbeMemCopy($sMem102,$6819)|0); - HEAP32[$rc>>2] = $6820; - $6821 = (_sqlite3_value_text($sMem102)|0); - HEAP32[$zTab>>2] = $6821; - $6822 = HEAP32[$zTab>>2]|0; - $6823 = ($6822|0)!=(0|0); - if ($6823) { - $6824 = HEAP32[$db>>2]|0; - $6825 = HEAP32[$pOp>>2]|0; - $6826 = ((($6825)) + 4|0); - $6827 = HEAP32[$6826>>2]|0; - $6828 = HEAP32[$zTab>>2]|0; - $6829 = HEAP32[$0>>2]|0; - $6830 = ((($6829)) + 108|0); - $6831 = (_sqlite3VtabCallCreate($6824,$6827,$6828,$6830)|0); - HEAP32[$rc>>2] = $6831; - } - _sqlite3VdbeMemRelease($sMem102); - $6832 = HEAP32[$rc>>2]|0; - $6833 = ($6832|0)!=(0); - if ($6833) { - break L1; - } - break; } - case 154: { - $6834 = HEAP32[$db>>2]|0; - $6835 = ((($6834)) + 172|0); - $6836 = HEAP32[$6835>>2]|0; - $6837 = (($6836) + 1)|0; - HEAP32[$6835>>2] = $6837; - $6838 = HEAP32[$db>>2]|0; - $6839 = HEAP32[$pOp>>2]|0; - $6840 = ((($6839)) + 4|0); - $6841 = HEAP32[$6840>>2]|0; - $6842 = HEAP32[$pOp>>2]|0; - $6843 = ((($6842)) + 16|0); - $6844 = HEAP32[$6843>>2]|0; - $6845 = (_sqlite3VtabCallDestroy($6838,$6841,$6844)|0); - HEAP32[$rc>>2] = $6845; - $6846 = HEAP32[$db>>2]|0; - $6847 = ((($6846)) + 172|0); - $6848 = HEAP32[$6847>>2]|0; - $6849 = (($6848) + -1)|0; - HEAP32[$6847>>2] = $6849; - $6850 = HEAP32[$rc>>2]|0; - $6851 = ($6850|0)!=(0); - if ($6851) { - break L1; + $107 = HEAP32[$11>>2]|0; + $108 = (_m_eq_1($107)|0); + $109 = ($108|0)!=(0); + if ($109) { + $110 = HEAP32[$11>>2]|0; + $111 = (_star_oh($110)|0); + $112 = ($111|0)!=(0); + if ($112) { + $113 = HEAP32[$11>>2]|0; + $114 = ((($113)) + -1|0); + HEAP32[$11>>2] = $114; + HEAP8[$114>>0] = 101; } - break; } - case 155: { - HEAP32[$pCur103>>2] = 0; - HEAP32[$pVCur>>2] = 0; - $6852 = HEAP32[$pOp>>2]|0; - $6853 = ((($6852)) + 16|0); - $6854 = HEAP32[$6853>>2]|0; - $6855 = ((($6854)) + 8|0); - $6856 = HEAP32[$6855>>2]|0; - HEAP32[$pVtab104>>2] = $6856; - $6857 = HEAP32[$pVtab104>>2]|0; - $6858 = ($6857|0)==(0|0); - if ($6858) { - label = 816; - break L8; - } - $6859 = HEAP32[$pVtab104>>2]|0; - $6860 = HEAP32[$6859>>2]|0; - $6861 = ($6860|0)==(0|0); - if ($6861) { - label = 816; - break L8; - } - $6862 = HEAP32[$pVtab104>>2]|0; - $6863 = HEAP32[$6862>>2]|0; - HEAP32[$pModule105>>2] = $6863; - $6864 = HEAP32[$pModule105>>2]|0; - $6865 = ((($6864)) + 24|0); - $6866 = HEAP32[$6865>>2]|0; - $6867 = HEAP32[$pVtab104>>2]|0; - $6868 = (FUNCTION_TABLE_iii[$6866 & 255]($6867,$pVCur)|0); - HEAP32[$rc>>2] = $6868; - $6869 = HEAP32[$0>>2]|0; - $6870 = HEAP32[$pVtab104>>2]|0; - _sqlite3VtabImportErrmsg($6869,$6870); - $6871 = HEAP32[$rc>>2]|0; - $6872 = ($6871|0)!=(0); - if ($6872) { - break L1; - } - $6873 = HEAP32[$pVtab104>>2]|0; - $6874 = HEAP32[$pVCur>>2]|0; - HEAP32[$6874>>2] = $6873; - $6875 = HEAP32[$0>>2]|0; - $6876 = HEAP32[$pOp>>2]|0; - $6877 = ((($6876)) + 4|0); - $6878 = HEAP32[$6877>>2]|0; - $6879 = (_allocateCursor($6875,$6878,0,-1,2)|0); - HEAP32[$pCur103>>2] = $6879; - $6880 = HEAP32[$pCur103>>2]|0; - $6881 = ($6880|0)!=(0|0); - if (!($6881)) { - label = 820; - break L8; - } - $6882 = HEAP32[$pVCur>>2]|0; - $6883 = HEAP32[$pCur103>>2]|0; - $6884 = ((($6883)) + 16|0); - HEAP32[$6884>>2] = $6882; - $6885 = HEAP32[$pVtab104>>2]|0; - $6886 = ((($6885)) + 4|0); - $6887 = HEAP32[$6886>>2]|0; - $6888 = (($6887) + 1)|0; - HEAP32[$6886>>2] = $6888; + } + } + } + } + } + } while(0); + $115 = HEAP32[$11>>2]|0; + $116 = HEAP8[$115>>0]|0; + $117 = $116 << 24 >> 24; + $118 = ($117|0)==(121); + if ($118) { + $119 = HEAP32[$11>>2]|0; + $120 = ((($119)) + 1|0); + $121 = (_hasVowel($120)|0); + $122 = ($121|0)!=(0); + if ($122) { + $123 = HEAP32[$11>>2]|0; + HEAP8[$123>>0] = 105; + } + } + $124 = HEAP32[$11>>2]|0; + $125 = ((($124)) + 1|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126 << 24 >> 24; + switch ($127|0) { + case 97: { + $128 = (_stem($11,47251,47233,197)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + (_stem($11,47259,47266,197)|0); + } + break; + } + case 99: { + $130 = (_stem($11,47271,47276,197)|0); + $131 = ($130|0)!=(0); + if (!($131)) { + (_stem($11,47281,47286,197)|0); + } + break; + } + case 101: { + (_stem($11,47291,47247,197)|0); + break; + } + case 103: { + (_stem($11,47296,32259,197)|0); + break; + } + case 108: { + $132 = (_stem($11,47301,47240,197)|0); + $133 = ($132|0)!=(0); + if (!($133)) { + $134 = (_stem($11,47305,47310,197)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + $136 = (_stem($11,47313,47319,197)|0); + $137 = ($136|0)!=(0); + if (!($137)) { + $138 = (_stem($11,47323,47327,197)|0); + $139 = ($138|0)!=(0); + if (!($139)) { + (_stem($11,47329,47335,197)|0); + } + } + } + } + break; + } + case 111: { + $140 = (_stem($11,47339,47247,197)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + $142 = (_stem($11,47347,47233,197)|0); + $143 = ($142|0)!=(0); + if (!($143)) { + (_stem($11,47353,47233,197)|0); + } + } + break; + } + case 115: { + $144 = (_stem($11,47358,47310,197)|0); + $145 = ($144|0)!=(0); + if (!($145)) { + $146 = (_stem($11,47364,47372,197)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + $148 = (_stem($11,47376,47384,197)|0); + $149 = ($148|0)!=(0); + if (!($149)) { + (_stem($11,47388,47335,197)|0); + } + } + } + break; + } + case 116: { + $150 = (_stem($11,47396,47310,197)|0); + $151 = ($150|0)!=(0); + if (!($151)) { + $152 = (_stem($11,47402,47372,197)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + (_stem($11,47408,47240,197)|0); + } + } + break; + } + default: { + } + } + $154 = HEAP32[$11>>2]|0; + $155 = HEAP8[$154>>0]|0; + $156 = $155 << 24 >> 24; + switch ($156|0) { + case 101: { + $157 = (_stem($11,47415,47421,197)|0); + $158 = ($157|0)!=(0); + if (!($158)) { + $159 = (_stem($11,47424,55752,197)|0); + $160 = ($159|0)!=(0); + if (!($160)) { + (_stem($11,47430,47310,197)|0); + } + } + break; + } + case 105: { + (_stem($11,47436,47421,197)|0); + break; + } + case 108: { + $161 = (_stem($11,47442,47421,197)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + (_stem($11,47447,55752,197)|0); + } + break; + } + case 115: { + (_stem($11,47451,55752,197)|0); + break; + } + default: { + } + } + $163 = HEAP32[$11>>2]|0; + $164 = ((($163)) + 1|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165 << 24 >> 24; + L80: do { + switch ($166|0) { + case 97: { + $167 = HEAP32[$11>>2]|0; + $168 = HEAP8[$167>>0]|0; + $169 = $168 << 24 >> 24; + $170 = ($169|0)==(108); + if ($170) { + $171 = HEAP32[$11>>2]|0; + $172 = ((($171)) + 2|0); + $173 = (_m_gt_1($172)|0); + $174 = ($173|0)!=(0); + if ($174) { + $175 = HEAP32[$11>>2]|0; + $176 = ((($175)) + 2|0); + HEAP32[$11>>2] = $176; + } + } + break; + } + case 99: { + $177 = HEAP32[$11>>2]|0; + $178 = HEAP8[$177>>0]|0; + $179 = $178 << 24 >> 24; + $180 = ($179|0)==(101); + if ($180) { + $181 = HEAP32[$11>>2]|0; + $182 = ((($181)) + 2|0); + $183 = HEAP8[$182>>0]|0; + $184 = $183 << 24 >> 24; + $185 = ($184|0)==(110); + if ($185) { + $186 = HEAP32[$11>>2]|0; + $187 = ((($186)) + 3|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188 << 24 >> 24; + $190 = ($189|0)==(97); + if (!($190)) { + $191 = HEAP32[$11>>2]|0; + $192 = ((($191)) + 3|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193 << 24 >> 24; + $195 = ($194|0)==(101); + if (!($195)) { + break L80; + } + } + $196 = HEAP32[$11>>2]|0; + $197 = ((($196)) + 4|0); + $198 = (_m_gt_1($197)|0); + $199 = ($198|0)!=(0); + if ($199) { + $200 = HEAP32[$11>>2]|0; + $201 = ((($200)) + 4|0); + HEAP32[$11>>2] = $201; + } + } + } + break; + } + case 101: { + $202 = HEAP32[$11>>2]|0; + $203 = HEAP8[$202>>0]|0; + $204 = $203 << 24 >> 24; + $205 = ($204|0)==(114); + if ($205) { + $206 = HEAP32[$11>>2]|0; + $207 = ((($206)) + 2|0); + $208 = (_m_gt_1($207)|0); + $209 = ($208|0)!=(0); + if ($209) { + $210 = HEAP32[$11>>2]|0; + $211 = ((($210)) + 2|0); + HEAP32[$11>>2] = $211; + } + } + break; + } + case 105: { + $212 = HEAP32[$11>>2]|0; + $213 = HEAP8[$212>>0]|0; + $214 = $213 << 24 >> 24; + $215 = ($214|0)==(99); + if ($215) { + $216 = HEAP32[$11>>2]|0; + $217 = ((($216)) + 2|0); + $218 = (_m_gt_1($217)|0); + $219 = ($218|0)!=(0); + if ($219) { + $220 = HEAP32[$11>>2]|0; + $221 = ((($220)) + 2|0); + HEAP32[$11>>2] = $221; + } + } + break; + } + case 108: { + $222 = HEAP32[$11>>2]|0; + $223 = HEAP8[$222>>0]|0; + $224 = $223 << 24 >> 24; + $225 = ($224|0)==(101); + if ($225) { + $226 = HEAP32[$11>>2]|0; + $227 = ((($226)) + 2|0); + $228 = HEAP8[$227>>0]|0; + $229 = $228 << 24 >> 24; + $230 = ($229|0)==(98); + if ($230) { + $231 = HEAP32[$11>>2]|0; + $232 = ((($231)) + 3|0); + $233 = HEAP8[$232>>0]|0; + $234 = $233 << 24 >> 24; + $235 = ($234|0)==(97); + if (!($235)) { + $236 = HEAP32[$11>>2]|0; + $237 = ((($236)) + 3|0); + $238 = HEAP8[$237>>0]|0; + $239 = $238 << 24 >> 24; + $240 = ($239|0)==(105); + if (!($240)) { + break L80; + } + } + $241 = HEAP32[$11>>2]|0; + $242 = ((($241)) + 4|0); + $243 = (_m_gt_1($242)|0); + $244 = ($243|0)!=(0); + if ($244) { + $245 = HEAP32[$11>>2]|0; + $246 = ((($245)) + 4|0); + HEAP32[$11>>2] = $246; + } + } + } + break; + } + case 110: { + $247 = HEAP32[$11>>2]|0; + $248 = HEAP8[$247>>0]|0; + $249 = $248 << 24 >> 24; + $250 = ($249|0)==(116); + if ($250) { + $251 = HEAP32[$11>>2]|0; + $252 = ((($251)) + 2|0); + $253 = HEAP8[$252>>0]|0; + $254 = $253 << 24 >> 24; + $255 = ($254|0)==(97); + $256 = HEAP32[$11>>2]|0; + if ($255) { + $257 = ((($256)) + 3|0); + $258 = (_m_gt_1($257)|0); + $259 = ($258|0)!=(0); + if (!($259)) { + break L80; + } + $260 = HEAP32[$11>>2]|0; + $261 = ((($260)) + 3|0); + HEAP32[$11>>2] = $261; + break L80; + } + $262 = ((($256)) + 2|0); + $263 = HEAP8[$262>>0]|0; + $264 = $263 << 24 >> 24; + $265 = ($264|0)==(101); + if ($265) { + $266 = (_stem($11,47456,55752,199)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + $268 = (_stem($11,47462,55752,199)|0); + $269 = ($268|0)!=(0); + if (!($269)) { + (_stem($11,47467,55752,199)|0); + } + } + } + } + break; + } + case 111: { + $270 = HEAP32[$11>>2]|0; + $271 = HEAP8[$270>>0]|0; + $272 = $271 << 24 >> 24; + $273 = ($272|0)==(117); + $274 = HEAP32[$11>>2]|0; + if ($273) { + $275 = ((($274)) + 2|0); + $276 = (_m_gt_1($275)|0); + $277 = ($276|0)!=(0); + if (!($277)) { + break L80; + } + $278 = HEAP32[$11>>2]|0; + $279 = ((($278)) + 2|0); + HEAP32[$11>>2] = $279; + break L80; + } + $280 = ((($274)) + 3|0); + $281 = HEAP8[$280>>0]|0; + $282 = $281 << 24 >> 24; + $283 = ($282|0)==(115); + if (!($283)) { + $284 = HEAP32[$11>>2]|0; + $285 = ((($284)) + 3|0); + $286 = HEAP8[$285>>0]|0; + $287 = $286 << 24 >> 24; + $288 = ($287|0)==(116); + if (!($288)) { + break L80; + } + } + (_stem($11,47471,55752,199)|0); + break; + } + case 115: { + $289 = HEAP32[$11>>2]|0; + $290 = HEAP8[$289>>0]|0; + $291 = $290 << 24 >> 24; + $292 = ($291|0)==(109); + if ($292) { + $293 = HEAP32[$11>>2]|0; + $294 = ((($293)) + 2|0); + $295 = HEAP8[$294>>0]|0; + $296 = $295 << 24 >> 24; + $297 = ($296|0)==(105); + if ($297) { + $298 = HEAP32[$11>>2]|0; + $299 = ((($298)) + 3|0); + $300 = (_m_gt_1($299)|0); + $301 = ($300|0)!=(0); + if ($301) { + $302 = HEAP32[$11>>2]|0; + $303 = ((($302)) + 3|0); + HEAP32[$11>>2] = $303; + } + } + } + break; + } + case 116: { + $304 = (_stem($11,47475,55752,199)|0); + $305 = ($304|0)!=(0); + if (!($305)) { + (_stem($11,47479,55752,199)|0); + } + break; + } + case 117: { + $306 = HEAP32[$11>>2]|0; + $307 = HEAP8[$306>>0]|0; + $308 = $307 << 24 >> 24; + $309 = ($308|0)==(115); + if ($309) { + $310 = HEAP32[$11>>2]|0; + $311 = ((($310)) + 2|0); + $312 = HEAP8[$311>>0]|0; + $313 = $312 << 24 >> 24; + $314 = ($313|0)==(111); + if ($314) { + $315 = HEAP32[$11>>2]|0; + $316 = ((($315)) + 3|0); + $317 = (_m_gt_1($316)|0); + $318 = ($317|0)!=(0); + if ($318) { + $319 = HEAP32[$11>>2]|0; + $320 = ((($319)) + 3|0); + HEAP32[$11>>2] = $320; + } + } + } + break; + } + case 122: case 118: { + $321 = HEAP32[$11>>2]|0; + $322 = HEAP8[$321>>0]|0; + $323 = $322 << 24 >> 24; + $324 = ($323|0)==(101); + if ($324) { + $325 = HEAP32[$11>>2]|0; + $326 = ((($325)) + 2|0); + $327 = HEAP8[$326>>0]|0; + $328 = $327 << 24 >> 24; + $329 = ($328|0)==(105); + if ($329) { + $330 = HEAP32[$11>>2]|0; + $331 = ((($330)) + 3|0); + $332 = (_m_gt_1($331)|0); + $333 = ($332|0)!=(0); + if ($333) { + $334 = HEAP32[$11>>2]|0; + $335 = ((($334)) + 3|0); + HEAP32[$11>>2] = $335; + } + } + } + break; + } + default: { + } + } + } while(0); + $336 = HEAP32[$11>>2]|0; + $337 = HEAP8[$336>>0]|0; + $338 = $337 << 24 >> 24; + $339 = ($338|0)==(101); + do { + if ($339) { + $340 = HEAP32[$11>>2]|0; + $341 = ((($340)) + 1|0); + $342 = (_m_gt_1($341)|0); + $343 = ($342|0)!=(0); + $344 = HEAP32[$11>>2]|0; + $345 = ((($344)) + 1|0); + if ($343) { + HEAP32[$11>>2] = $345; + break; + } + $346 = (_m_eq_1($345)|0); + $347 = ($346|0)!=(0); + if ($347) { + $348 = HEAP32[$11>>2]|0; + $349 = ((($348)) + 1|0); + $350 = (_star_oh($349)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + $352 = HEAP32[$11>>2]|0; + $353 = ((($352)) + 1|0); + HEAP32[$11>>2] = $353; + } + } + } + } while(0); + $354 = HEAP32[$11>>2]|0; + $355 = (_m_gt_1($354)|0); + $356 = ($355|0)!=(0); + if ($356) { + $357 = HEAP32[$11>>2]|0; + $358 = HEAP8[$357>>0]|0; + $359 = $358 << 24 >> 24; + $360 = ($359|0)==(108); + if ($360) { + $361 = HEAP32[$11>>2]|0; + $362 = ((($361)) + 1|0); + $363 = HEAP8[$362>>0]|0; + $364 = $363 << 24 >> 24; + $365 = ($364|0)==(108); + if ($365) { + $366 = HEAP32[$11>>2]|0; + $367 = ((($366)) + 1|0); + HEAP32[$11>>2] = $367; + } + } + } + $368 = HEAP32[$11>>2]|0; + $369 = (_strlen($368)|0); + HEAP32[$8>>2] = $369; + $370 = HEAP32[$7>>2]|0; + HEAP32[$370>>2] = $369; + $371 = HEAP32[$6>>2]|0; + $372 = HEAP32[$8>>2]|0; + $373 = (($371) + ($372)|0); + $$sink = 0;$$sink2 = $373; + while(1) { + HEAP8[$$sink2>>0] = $$sink; + $374 = HEAP32[$11>>2]|0; + $375 = HEAP8[$374>>0]|0; + $376 = ($375<<24>>24)!=(0); + if (!($376)) { + break; + } + $377 = HEAP32[$11>>2]|0; + $378 = ((($377)) + 1|0); + HEAP32[$11>>2] = $378; + $379 = HEAP8[$377>>0]|0; + $380 = HEAP32[$6>>2]|0; + $381 = HEAP32[$8>>2]|0; + $382 = (($381) + -1)|0; + HEAP32[$8>>2] = $382; + $383 = (($380) + ($382)|0); + $$sink = $379;$$sink2 = $383; + } + STACKTOP = sp;return; +} +function _copy_stemmer($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $$sink1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + $12 = sp + 32|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$11>>2] = 0; + HEAP32[$8>>2] = 0; + while(1) { + $13 = HEAP32[$8>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = ($13|0)<($14|0); + if (!($15)) { + break; + } + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = (($16) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + HEAP8[$12>>0] = $19; + $20 = HEAP8[$12>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($21|0)>=(65); + if ($22) { + $23 = HEAP8[$12>>0]|0; + $24 = $23 << 24 >> 24; + $25 = ($24|0)<=(90); + if ($25) { + $26 = HEAP8[$12>>0]|0; + $27 = $26 << 24 >> 24; + $28 = (($27) - 65)|0; + $29 = (($28) + 97)|0; + $30 = $29&255; + $31 = HEAP32[$6>>2]|0; + $32 = HEAP32[$8>>2]|0; + $33 = (($31) + ($32)|0); + $$sink = $30;$$sink1 = $33; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + label = 0; + $34 = HEAP8[$12>>0]|0; + $35 = $34 << 24 >> 24; + $36 = ($35|0)>=(48); + if ($36) { + $37 = HEAP8[$12>>0]|0; + $38 = $37 << 24 >> 24; + $39 = ($38|0)<=(57); + if ($39) { + HEAP32[$11>>2] = 1; + } + } + $40 = HEAP8[$12>>0]|0; + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$8>>2]|0; + $43 = (($41) + ($42)|0); + $$sink = $40;$$sink1 = $43; + } + HEAP8[$$sink1>>0] = $$sink; + $44 = HEAP32[$8>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$8>>2] = $45; + } + $46 = HEAP32[$11>>2]|0; + $47 = ($46|0)!=(0); + $48 = $47 ? 3 : 10; + HEAP32[$9>>2] = $48; + $49 = HEAP32[$5>>2]|0; + $50 = HEAP32[$9>>2]|0; + $51 = $50<<1; + $52 = ($49|0)>($51|0); + if (!($52)) { + $72 = HEAP32[$6>>2]|0; + $73 = HEAP32[$8>>2]|0; + $74 = (($72) + ($73)|0); + HEAP8[$74>>0] = 0; + $75 = HEAP32[$8>>2]|0; + $76 = HEAP32[$7>>2]|0; + HEAP32[$76>>2] = $75; + STACKTOP = sp;return; + } + $53 = HEAP32[$9>>2]|0; + HEAP32[$10>>2] = $53; + $54 = HEAP32[$5>>2]|0; + $55 = HEAP32[$9>>2]|0; + $56 = (($54) - ($55))|0; + HEAP32[$8>>2] = $56; + while(1) { + $57 = HEAP32[$8>>2]|0; + $58 = HEAP32[$5>>2]|0; + $59 = ($57|0)<($58|0); + if (!($59)) { + break; + } + $60 = HEAP32[$6>>2]|0; + $61 = HEAP32[$8>>2]|0; + $62 = (($60) + ($61)|0); + $63 = HEAP8[$62>>0]|0; + $64 = HEAP32[$6>>2]|0; + $65 = HEAP32[$10>>2]|0; + $66 = (($64) + ($65)|0); + HEAP8[$66>>0] = $63; + $67 = HEAP32[$8>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$8>>2] = $68; + $69 = HEAP32[$10>>2]|0; + $70 = (($69) + 1)|0; + HEAP32[$10>>2] = $70; + } + $71 = HEAP32[$10>>2]|0; + HEAP32[$8>>2] = $71; + $72 = HEAP32[$6>>2]|0; + $73 = HEAP32[$8>>2]|0; + $74 = (($72) + ($73)|0); + HEAP8[$74>>0] = 0; + $75 = HEAP32[$8>>2]|0; + $76 = HEAP32[$7>>2]|0; + HEAP32[$76>>2] = $75; + STACKTOP = sp;return; +} +function _stem($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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + while(1) { + $12 = HEAP32[$6>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13 << 24 >> 24; + $15 = ($14|0)!=(0); + if (!($15)) { + break; + } + $16 = HEAP32[$6>>2]|0; + $17 = HEAP8[$16>>0]|0; + $18 = $17 << 24 >> 24; + $19 = HEAP32[$9>>2]|0; + $20 = HEAP8[$19>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($18|0)==($21|0); + if (!($22)) { + break; + } + $23 = HEAP32[$9>>2]|0; + $24 = ((($23)) + 1|0); + HEAP32[$9>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 1|0); + HEAP32[$6>>2] = $26; + } + $27 = HEAP32[$6>>2]|0; + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = ($29|0)!=(0); + if ($30) { + HEAP32[$4>>2] = 0; + $47 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($47|0); + } + $31 = HEAP32[$8>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$9>>2]|0; + $35 = (FUNCTION_TABLE_ii[$33 & 255]($34)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$4>>2] = 1; + $47 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($47|0); + } + } + while(1) { + $37 = HEAP32[$7>>2]|0; + $38 = HEAP8[$37>>0]|0; + $39 = ($38<<24>>24)!=(0); + if (!($39)) { + break; + } + $40 = HEAP32[$7>>2]|0; + $41 = ((($40)) + 1|0); + HEAP32[$7>>2] = $41; + $42 = HEAP8[$40>>0]|0; + $43 = HEAP32[$9>>2]|0; + $44 = ((($43)) + -1|0); + HEAP32[$9>>2] = $44; + HEAP8[$44>>0] = $42; + } + $45 = HEAP32[$9>>2]|0; + $46 = HEAP32[$5>>2]|0; + HEAP32[$46>>2] = $45; + HEAP32[$4>>2] = 1; + $47 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($47|0); +} +function _m_gt_0($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + while(1) { + $3 = HEAP32[$2>>2]|0; + $4 = (_isVowel($3)|0); + $5 = ($4|0)!=(0); + $6 = HEAP32[$2>>2]|0; + if (!($5)) { + break; + } + $7 = ((($6)) + 1|0); + HEAP32[$2>>2] = $7; + } + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)==(0); + if ($10) { + HEAP32[$1>>2] = 0; + $20 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($20|0); + } + while(1) { + $11 = HEAP32[$2>>2]|0; + $12 = (_isConsonant($11)|0); + $13 = ($12|0)!=(0); + $14 = HEAP32[$2>>2]|0; + if (!($13)) { + break; + } + $15 = ((($14)) + 1|0); + HEAP32[$2>>2] = $15; + } + $16 = HEAP8[$14>>0]|0; + $17 = $16 << 24 >> 24; + $18 = ($17|0)!=(0); + $19 = $18&1; + HEAP32[$1>>2] = $19; + $20 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($20|0); +} +function _hasVowel($0) { + $0 = $0|0; + var $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; + $1 = sp; + HEAP32[$1>>2] = $0; + while(1) { + $2 = HEAP32[$1>>2]|0; + $3 = (_isConsonant($2)|0); + $4 = ($3|0)!=(0); + $5 = HEAP32[$1>>2]|0; + if (!($4)) { + break; + } + $6 = ((($5)) + 1|0); + HEAP32[$1>>2] = $6; + } + $7 = HEAP8[$5>>0]|0; + $8 = $7 << 24 >> 24; + $9 = ($8|0)!=(0); + $10 = $9&1; + STACKTOP = sp;return ($10|0); +} +function _doubleConsonant($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_isConsonant($2)|0); + $4 = ($3|0)!=(0); + if (!($4)) { + $14 = 0; + $13 = $14&1; + STACKTOP = sp;return ($13|0); + } + $5 = HEAP32[$1>>2]|0; + $6 = HEAP8[$5>>0]|0; + $7 = $6 << 24 >> 24; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 1|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = ($7|0)==($11|0); + $14 = $12; + $13 = $14&1; + STACKTOP = sp;return ($13|0); +} +function _m_eq_1($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + while(1) { + $3 = HEAP32[$2>>2]|0; + $4 = (_isVowel($3)|0); + $5 = ($4|0)!=(0); + $6 = HEAP32[$2>>2]|0; + if (!($5)) { + break; + } + $7 = ((($6)) + 1|0); + HEAP32[$2>>2] = $7; + } + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)==(0); + if ($10) { + HEAP32[$1>>2] = 0; + $36 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($36|0); + } + while(1) { + $11 = HEAP32[$2>>2]|0; + $12 = (_isConsonant($11)|0); + $13 = ($12|0)!=(0); + $14 = HEAP32[$2>>2]|0; + if (!($13)) { + break; + } + $15 = ((($14)) + 1|0); + HEAP32[$2>>2] = $15; + } + $16 = HEAP8[$14>>0]|0; + $17 = $16 << 24 >> 24; + $18 = ($17|0)==(0); + if ($18) { + HEAP32[$1>>2] = 0; + $36 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($36|0); + } + while(1) { + $19 = HEAP32[$2>>2]|0; + $20 = (_isVowel($19)|0); + $21 = ($20|0)!=(0); + $22 = HEAP32[$2>>2]|0; + if (!($21)) { + break; + } + $23 = ((($22)) + 1|0); + HEAP32[$2>>2] = $23; + } + $24 = HEAP8[$22>>0]|0; + $25 = $24 << 24 >> 24; + $26 = ($25|0)==(0); + if ($26) { + HEAP32[$1>>2] = 1; + $36 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($36|0); + } + while(1) { + $27 = HEAP32[$2>>2]|0; + $28 = (_isConsonant($27)|0); + $29 = ($28|0)!=(0); + $30 = HEAP32[$2>>2]|0; + if (!($29)) { + break; + } + $31 = ((($30)) + 1|0); + HEAP32[$2>>2] = $31; + } + $32 = HEAP8[$30>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($33|0)==(0); + $35 = $34&1; + HEAP32[$1>>2] = $35; + $36 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($36|0); +} +function _star_oh($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, $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; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_isConsonant($2)|0); + $4 = ($3|0)!=(0); + if ($4) { + $5 = HEAP32[$1>>2]|0; + $6 = HEAP8[$5>>0]|0; + $7 = $6 << 24 >> 24; + $8 = ($7|0)!=(119); + if ($8) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = ($11|0)!=(120); + if ($12) { + $13 = HEAP32[$1>>2]|0; + $14 = HEAP8[$13>>0]|0; + $15 = $14 << 24 >> 24; + $16 = ($15|0)!=(121); + if ($16) { + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 1|0); + $19 = (_isVowel($18)|0); + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 2|0); + $23 = (_isConsonant($22)|0); + $24 = ($23|0)!=(0); + $26 = $24; + } else { + $26 = 0; + } + } else { + $26 = 0; + } + } else { + $26 = 0; + } + } else { + $26 = 0; + } + } else { + $26 = 0; + } + $25 = $26&1; + STACKTOP = sp;return ($25|0); +} +function _m_gt_1($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + while(1) { + $3 = HEAP32[$2>>2]|0; + $4 = (_isVowel($3)|0); + $5 = ($4|0)!=(0); + $6 = HEAP32[$2>>2]|0; + if (!($5)) { + break; + } + $7 = ((($6)) + 1|0); + HEAP32[$2>>2] = $7; + } + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)==(0); + if ($10) { + HEAP32[$1>>2] = 0; + $36 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($36|0); + } + while(1) { + $11 = HEAP32[$2>>2]|0; + $12 = (_isConsonant($11)|0); + $13 = ($12|0)!=(0); + $14 = HEAP32[$2>>2]|0; + if (!($13)) { + break; + } + $15 = ((($14)) + 1|0); + HEAP32[$2>>2] = $15; + } + $16 = HEAP8[$14>>0]|0; + $17 = $16 << 24 >> 24; + $18 = ($17|0)==(0); + if ($18) { + HEAP32[$1>>2] = 0; + $36 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($36|0); + } + while(1) { + $19 = HEAP32[$2>>2]|0; + $20 = (_isVowel($19)|0); + $21 = ($20|0)!=(0); + $22 = HEAP32[$2>>2]|0; + if (!($21)) { + break; + } + $23 = ((($22)) + 1|0); + HEAP32[$2>>2] = $23; + } + $24 = HEAP8[$22>>0]|0; + $25 = $24 << 24 >> 24; + $26 = ($25|0)==(0); + if ($26) { + HEAP32[$1>>2] = 0; + $36 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($36|0); + } + while(1) { + $27 = HEAP32[$2>>2]|0; + $28 = (_isConsonant($27)|0); + $29 = ($28|0)!=(0); + $30 = HEAP32[$2>>2]|0; + if (!($29)) { + break; + } + $31 = ((($30)) + 1|0); + HEAP32[$2>>2] = $31; + } + $32 = HEAP8[$30>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($33|0)!=(0); + $35 = $34&1; + HEAP32[$1>>2] = $35; + $36 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($36|0); +} +function _isVowel($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + $4 = sp + 12|0; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP8[$5>>0]|0; + HEAP8[$4>>0] = $6; + $7 = HEAP8[$4>>0]|0; + $8 = $7 << 24 >> 24; + $9 = ($8|0)==(0); + if ($9) { + HEAP32[$1>>2] = 0; + $23 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($23|0); + } + $10 = HEAP8[$4>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) - 97)|0; + $13 = (47483 + ($12)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 << 24 >> 24; + HEAP32[$3>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = ($16|0)<(2); + if ($17) { + $18 = HEAP32[$3>>2]|0; + $19 = (1 - ($18))|0; + HEAP32[$1>>2] = $19; + $23 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($23|0); + } else { + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 1|0); + $22 = (_isConsonant($21)|0); + HEAP32[$1>>2] = $22; + $23 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($23|0); + } + return (0)|0; +} +function _isConsonant($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + $4 = sp + 12|0; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP8[$5>>0]|0; + HEAP8[$4>>0] = $6; + $7 = HEAP8[$4>>0]|0; + $8 = $7 << 24 >> 24; + $9 = ($8|0)==(0); + if ($9) { + HEAP32[$1>>2] = 0; + $30 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($30|0); + } + $10 = HEAP8[$4>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) - 97)|0; + $13 = (47483 + ($12)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 << 24 >> 24; + HEAP32[$3>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = ($16|0)<(2); + if ($17) { + $18 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $18; + $30 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($30|0); + } + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21 << 24 >> 24; + $23 = ($22|0)==(0); + if ($23) { + $29 = 1; + } else { + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 1|0); + $26 = (_isVowel($25)|0); + $27 = ($26|0)!=(0); + $29 = $27; + } + $28 = $29&1; + HEAP32[$1>>2] = $28; + $30 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($30|0); +} +function _simpleCreate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp + 32|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $12 = (_sqlite3_malloc(132)|0); + HEAP32[$7>>2] = $12; + $13 = HEAP32[$7>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + HEAP32[$3>>2] = 7; + $57 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($57|0); + } + $15 = HEAP32[$7>>2]|0; + _memset(($15|0),0,132)|0; + $16 = HEAP32[$4>>2]|0; + $17 = ($16|0)>(1); + L5: do { + if ($17) { + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_strlen($20)|0); + HEAP32[$9>>2] = $21; + HEAP32[$8>>2] = 0; + while(1) { + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$9>>2]|0; + $24 = ($22|0)<($23|0); + if (!($24)) { + break L5; + } + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = (($27) + ($28)|0); + $30 = HEAP8[$29>>0]|0; + HEAP8[$10>>0] = $30; + $31 = HEAP8[$10>>0]|0; + $32 = $31&255; + $33 = ($32|0)>=(128); + $34 = HEAP32[$7>>2]|0; + if ($33) { + break; + } + $35 = ((($34)) + 4|0); + $36 = HEAP8[$10>>0]|0; + $37 = $36&255; + $38 = (($35) + ($37)|0); + HEAP8[$38>>0] = 1; + $39 = HEAP32[$8>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$8>>2] = $40; + } + _sqlite3_free($34); + HEAP32[$3>>2] = 1; + $57 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($57|0); + } else { + HEAP32[$11>>2] = 1; + while(1) { + $41 = HEAP32[$11>>2]|0; + $42 = ($41|0)<(128); + if (!($42)) { + break L5; + } + $43 = HEAP32[$11>>2]|0; + $44 = (_fts3_isalnum($43)|0); + $45 = ($44|0)!=(0); + $46 = $45 ^ 1; + $47 = $46 ? -1 : 0; + $48 = $47&255; + $49 = HEAP32[$7>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$11>>2]|0; + $52 = (($50) + ($51)|0); + HEAP8[$52>>0] = $48; + $53 = HEAP32[$11>>2]|0; + $54 = (($53) + 1)|0; + HEAP32[$11>>2] = $54; + } + } + } while(0); + $55 = HEAP32[$7>>2]|0; + $56 = HEAP32[$6>>2]|0; + HEAP32[$56>>2] = $55; + HEAP32[$3>>2] = 0; + $57 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($57|0); +} +function _simpleDestroy($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3_free($2); + STACKTOP = sp;return 0; +} +function _simpleOpen($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink$sink = 0, $$sink2$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = (_sqlite3_malloc(28)|0); + HEAP32[$9>>2] = $10; + $11 = HEAP32[$9>>2]|0; + $12 = ($11|0)==(0|0); + if ($12) { + HEAP32[$4>>2] = 7; + $37 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($37|0); + } + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$9>>2]|0; + $15 = ((($14)) + 4|0); + HEAP32[$15>>2] = $13; + $16 = HEAP32[$6>>2]|0; + $17 = ($16|0)==(0|0); + do { + if ($17) { + $18 = HEAP32[$9>>2]|0; + $$sink$sink = 0;$$sink2$sink = $18; + } else { + $19 = HEAP32[$7>>2]|0; + $20 = ($19|0)<(0); + if ($20) { + $21 = HEAP32[$6>>2]|0; + $22 = (_strlen($21)|0); + $23 = HEAP32[$9>>2]|0; + $$sink$sink = $22;$$sink2$sink = $23; + break; + } else { + $24 = HEAP32[$7>>2]|0; + $25 = HEAP32[$9>>2]|0; + $$sink$sink = $24;$$sink2$sink = $25; + break; + } + } + } while(0); + $26 = ((($$sink2$sink)) + 8|0); + HEAP32[$26>>2] = $$sink$sink; + $27 = HEAP32[$9>>2]|0; + $28 = ((($27)) + 12|0); + HEAP32[$28>>2] = 0; + $29 = HEAP32[$9>>2]|0; + $30 = ((($29)) + 16|0); + HEAP32[$30>>2] = 0; + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 20|0); + HEAP32[$32>>2] = 0; + $33 = HEAP32[$9>>2]|0; + $34 = ((($33)) + 24|0); + HEAP32[$34>>2] = 0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$8>>2]|0; + HEAP32[$36>>2] = $35; + HEAP32[$4>>2] = 0; + $37 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($37|0); +} +function _simpleClose($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 20|0); + $6 = HEAP32[$5>>2]|0; + _sqlite3_free($6); + $7 = HEAP32[$2>>2]|0; + _sqlite3_free($7); + STACKTOP = sp;return 0; +} +function _simpleNext($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + $19 = sp; + $20 = sp + 56|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $21 = HEAP32[$7>>2]|0; + HEAP32[$13>>2] = $21; + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$14>>2] = $23; + $24 = HEAP32[$13>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$15>>2] = $26; + while(1) { + $27 = HEAP32[$13>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$13>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($29|0)<($32|0); + if (!($33)) { + label = 25; + break; + } + while(1) { + $34 = HEAP32[$13>>2]|0; + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$13>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($36|0)<($39|0); + if ($40) { + $41 = HEAP32[$14>>2]|0; + $42 = HEAP32[$15>>2]|0; + $43 = HEAP32[$13>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = (_simpleDelim($41,$47)|0); + $49 = ($48|0)!=(0); + $151 = $49; + } else { + $151 = 0; + } + $50 = HEAP32[$13>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + if (!($151)) { + break; + } + $53 = (($52) + 1)|0; + HEAP32[$51>>2] = $53; + } + HEAP32[$16>>2] = $52; + while(1) { + $54 = HEAP32[$13>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$13>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($56|0)<($59|0); + if ($60) { + $61 = HEAP32[$14>>2]|0; + $62 = HEAP32[$15>>2]|0; + $63 = HEAP32[$13>>2]|0; + $64 = ((($63)) + 12|0); + $65 = HEAP32[$64>>2]|0; + $66 = (($62) + ($65)|0); + $67 = HEAP8[$66>>0]|0; + $68 = (_simpleDelim($61,$67)|0); + $69 = ($68|0)!=(0); + $70 = $69 ^ 1; + $152 = $70; + } else { + $152 = 0; + } + $71 = HEAP32[$13>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + if (!($152)) { + break; + } + $74 = (($73) + 1)|0; + HEAP32[$72>>2] = $74; + } + $75 = HEAP32[$16>>2]|0; + $76 = ($73|0)>($75|0); + if ($76) { + break; + } + } + if ((label|0) == 25) { + HEAP32[$6>>2] = 101; + $150 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($150|0); + } + $77 = HEAP32[$13>>2]|0; + $78 = ((($77)) + 12|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$16>>2]|0; + $81 = (($79) - ($80))|0; + HEAP32[$18>>2] = $81; + $82 = HEAP32[$18>>2]|0; + $83 = HEAP32[$13>>2]|0; + $84 = ((($83)) + 24|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($82|0)>($85|0); + do { + if ($86) { + $87 = HEAP32[$18>>2]|0; + $88 = (($87) + 20)|0; + $89 = HEAP32[$13>>2]|0; + $90 = ((($89)) + 24|0); + HEAP32[$90>>2] = $88; + $91 = HEAP32[$13>>2]|0; + $92 = ((($91)) + 20|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$13>>2]|0; + $95 = ((($94)) + 24|0); + $96 = HEAP32[$95>>2]|0; + $97 = (_sqlite3_realloc($93,$96)|0); + HEAP32[$19>>2] = $97; + $98 = HEAP32[$19>>2]|0; + $99 = ($98|0)!=(0|0); + if ($99) { + $100 = HEAP32[$19>>2]|0; + $101 = HEAP32[$13>>2]|0; + $102 = ((($101)) + 20|0); + HEAP32[$102>>2] = $100; + break; + } + HEAP32[$6>>2] = 7; + $150 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($150|0); + } + } while(0); + HEAP32[$17>>2] = 0; + while(1) { + $103 = HEAP32[$17>>2]|0; + $104 = HEAP32[$18>>2]|0; + $105 = ($103|0)<($104|0); + if (!($105)) { + break; + } + $106 = HEAP32[$15>>2]|0; + $107 = HEAP32[$16>>2]|0; + $108 = HEAP32[$17>>2]|0; + $109 = (($107) + ($108))|0; + $110 = (($106) + ($109)|0); + $111 = HEAP8[$110>>0]|0; + HEAP8[$20>>0] = $111; + $112 = HEAP8[$20>>0]|0; + $113 = $112&255; + $114 = ($113|0)>=(65); + if ($114) { + $115 = HEAP8[$20>>0]|0; + $116 = $115&255; + $117 = ($116|0)<=(90); + if ($117) { + $118 = HEAP8[$20>>0]|0; + $119 = $118&255; + $120 = (($119) - 65)|0; + $121 = (($120) + 97)|0; + $125 = $121; + } else { + label = 22; + } + } else { + label = 22; + } + if ((label|0) == 22) { + label = 0; + $122 = HEAP8[$20>>0]|0; + $123 = $122&255; + $125 = $123; + } + $124 = $125&255; + $126 = HEAP32[$13>>2]|0; + $127 = ((($126)) + 20|0); + $128 = HEAP32[$127>>2]|0; + $129 = HEAP32[$17>>2]|0; + $130 = (($128) + ($129)|0); + HEAP8[$130>>0] = $124; + $131 = HEAP32[$17>>2]|0; + $132 = (($131) + 1)|0; + HEAP32[$17>>2] = $132; + } + $133 = HEAP32[$13>>2]|0; + $134 = ((($133)) + 20|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$8>>2]|0; + HEAP32[$136>>2] = $135; + $137 = HEAP32[$18>>2]|0; + $138 = HEAP32[$9>>2]|0; + HEAP32[$138>>2] = $137; + $139 = HEAP32[$16>>2]|0; + $140 = HEAP32[$10>>2]|0; + HEAP32[$140>>2] = $139; + $141 = HEAP32[$13>>2]|0; + $142 = ((($141)) + 12|0); + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$11>>2]|0; + HEAP32[$144>>2] = $143; + $145 = HEAP32[$13>>2]|0; + $146 = ((($145)) + 16|0); + $147 = HEAP32[$146>>2]|0; + $148 = (($147) + 1)|0; + HEAP32[$146>>2] = $148; + $149 = HEAP32[$12>>2]|0; + HEAP32[$149>>2] = $147; + HEAP32[$6>>2] = 0; + $150 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($150|0); +} +function _simpleDelim($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp; + $3 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP8[$3>>0] = $1; + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)<(128); + if (!($6)) { + $16 = 0; + $15 = $16&1; + STACKTOP = sp;return ($15|0); + } + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP8[$3>>0]|0; + $10 = $9&255; + $11 = (($8) + ($10)|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12 << 24 >> 24; + $14 = ($13|0)!=(0); + $16 = $14; + $15 = $16&1; + STACKTOP = sp;return ($15|0); +} +function _fts3_isalnum($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>=(48); + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)<=(57); + $or$cond = $3 & $5; + if ($or$cond) { + $16 = 1; + } else { + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)>=(65); + $8 = HEAP32[$1>>2]|0; + $9 = ($8|0)<=(90); + $or$cond3 = $7 & $9; + if ($or$cond3) { + $16 = 1; + } else { + $10 = HEAP32[$1>>2]|0; + $11 = ($10|0)>=(97); + $12 = HEAP32[$1>>2]|0; + $13 = ($12|0)<=(122); + $14 = $11 ? $13 : 0; + $16 = $14; + } + } + $15 = $16&1; + STACKTOP = sp;return ($15|0); +} +function _fts3auxConnectMethod($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $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 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + $14 = sp + 24|0; + $15 = sp + 20|0; + $16 = sp + 16|0; + $17 = sp + 12|0; + $18 = sp + 8|0; + $19 = sp + 4|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $20 = HEAP32[$9>>2]|0; + $21 = ($20|0)!=(4); + $22 = HEAP32[$9>>2]|0; + $23 = ($22|0)!=(5); + $or$cond = $21 & $23; + do { + if (!($or$cond)) { + $24 = HEAP32[$10>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$13>>2] = $26; + $27 = HEAP32[$13>>2]|0; + $28 = (_strlen($27)|0); + HEAP32[$15>>2] = $28; + $29 = HEAP32[$9>>2]|0; + $30 = ($29|0)==(5); + if ($30) { + $31 = HEAP32[$15>>2]|0; + $32 = ($31|0)==(4); + if (!($32)) { + break; + } + $33 = HEAP32[$13>>2]|0; + $34 = (_sqlite3_strnicmp(42437,$33,4)|0); + $35 = (0)==($34|0); + if (!($35)) { + break; + } + $36 = HEAP32[$10>>2]|0; + $37 = ((($36)) + 12|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$13>>2] = $38; + $39 = HEAP32[$13>>2]|0; + $40 = (_strlen($39)|0); + HEAP32[$15>>2] = $40; + $41 = HEAP32[$10>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$14>>2] = $43; + } else { + $44 = HEAP32[$10>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$14>>2] = $46; + } + $47 = HEAP32[$14>>2]|0; + $48 = (_strlen($47)|0); + HEAP32[$16>>2] = $48; + $49 = HEAP32[$7>>2]|0; + $50 = (_sqlite3_declare_vtab($49,47517)|0); + HEAP32[$18>>2] = $50; + $51 = HEAP32[$18>>2]|0; + $52 = ($51|0)!=(0); + if ($52) { + $53 = HEAP32[$18>>2]|0; + HEAP32[$6>>2] = $53; + $120 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($120|0); + } + $54 = HEAP32[$15>>2]|0; + $55 = (296 + ($54))|0; + $56 = HEAP32[$16>>2]|0; + $57 = (($55) + ($56))|0; + $58 = (($57) + 2)|0; + HEAP32[$17>>2] = $58; + $59 = HEAP32[$17>>2]|0; + $60 = (_sqlite3_malloc($59)|0); + HEAP32[$19>>2] = $60; + $61 = HEAP32[$19>>2]|0; + $62 = ($61|0)!=(0|0); + if ($62) { + $63 = HEAP32[$19>>2]|0; + $64 = HEAP32[$17>>2]|0; + _memset(($63|0),0,($64|0))|0; + $65 = HEAP32[$19>>2]|0; + $66 = ((($65)) + 16|0); + $67 = HEAP32[$19>>2]|0; + $68 = ((($67)) + 12|0); + HEAP32[$68>>2] = $66; + $69 = HEAP32[$19>>2]|0; + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 280|0); + $73 = HEAP32[$19>>2]|0; + $74 = ((($73)) + 12|0); + $75 = HEAP32[$74>>2]|0; + $76 = ((($75)) + 16|0); + HEAP32[$76>>2] = $72; + $77 = HEAP32[$19>>2]|0; + $78 = ((($77)) + 12|0); + $79 = HEAP32[$78>>2]|0; + $80 = ((($79)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$15>>2]|0; + $83 = (($82) + 1)|0; + $84 = (($81) + ($83)|0); + $85 = HEAP32[$19>>2]|0; + $86 = ((($85)) + 12|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($87)) + 20|0); + HEAP32[$88>>2] = $84; + $89 = HEAP32[$7>>2]|0; + $90 = HEAP32[$19>>2]|0; + $91 = ((($90)) + 12|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($92)) + 12|0); + HEAP32[$93>>2] = $89; + $94 = HEAP32[$19>>2]|0; + $95 = ((($94)) + 12|0); + $96 = HEAP32[$95>>2]|0; + $97 = ((($96)) + 248|0); + HEAP32[$97>>2] = 1; + $98 = HEAP32[$19>>2]|0; + $99 = ((($98)) + 12|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($100)) + 16|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$13>>2]|0; + $104 = HEAP32[$15>>2]|0; + _memcpy(($102|0),($103|0),($104|0))|0; + $105 = HEAP32[$19>>2]|0; + $106 = ((($105)) + 12|0); + $107 = HEAP32[$106>>2]|0; + $108 = ((($107)) + 20|0); + $109 = HEAP32[$108>>2]|0; + $110 = HEAP32[$14>>2]|0; + $111 = HEAP32[$16>>2]|0; + _memcpy(($109|0),($110|0),($111|0))|0; + $112 = HEAP32[$19>>2]|0; + $113 = ((($112)) + 12|0); + $114 = HEAP32[$113>>2]|0; + $115 = ((($114)) + 20|0); + $116 = HEAP32[$115>>2]|0; + _sqlite3Fts3Dequote($116); + $117 = HEAP32[$19>>2]|0; + $118 = HEAP32[$11>>2]|0; + HEAP32[$118>>2] = $117; + HEAP32[$6>>2] = 0; + $120 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($120|0); + } else { + HEAP32[$6>>2] = 7; + $120 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($120|0); + } + } + } while(0); + $119 = HEAP32[$12>>2]|0; + _sqlite3Fts3ErrMsg($119,47586,$vararg_buffer); + HEAP32[$6>>2] = 1; + $120 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($120|0); +} +function _fts3auxBestIndexMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0.0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0.0, $141 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = -1; + HEAP32[$6>>2] = -1; + HEAP32[$7>>2] = -1; + HEAP32[$8>>2] = -1; + HEAP32[$9>>2] = 1; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($26|0)==(0); + if ($27) { + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 32|0); + HEAP32[$29>>2] = 1; + } + } + } + HEAP32[$4>>2] = 0; + while(1) { + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = ($30|0)<($32|0); + if (!($33)) { + break; + } + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = (($36) + (($37*12)|0)|0); + $39 = ((($38)) + 5|0); + $40 = HEAP8[$39>>0]|0; + $41 = ($40<<24>>24)!=(0); + if ($41) { + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$4>>2]|0; + $46 = (($44) + (($45*12)|0)|0); + $47 = ((($46)) + 4|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + HEAP32[$10>>2] = $49; + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$4>>2]|0; + $54 = (($52) + (($53*12)|0)|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$11>>2] = $55; + $56 = HEAP32[$11>>2]|0; + $57 = ($56|0)==(0); + if ($57) { + $58 = HEAP32[$10>>2]|0; + $59 = ($58|0)==(2); + if ($59) { + $60 = HEAP32[$4>>2]|0; + HEAP32[$5>>2] = $60; + } + $61 = HEAP32[$10>>2]|0; + $62 = ($61|0)==(16); + if ($62) { + $63 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $63; + } + $64 = HEAP32[$10>>2]|0; + $65 = ($64|0)==(8); + if ($65) { + $66 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $66; + } + $67 = HEAP32[$10>>2]|0; + $68 = ($67|0)==(4); + if ($68) { + $69 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $69; + } + $70 = HEAP32[$10>>2]|0; + $71 = ($70|0)==(32); + if ($71) { + $72 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $72; + } + } + $73 = HEAP32[$11>>2]|0; + $74 = ($73|0)==(4); + $75 = HEAP32[$10>>2]|0; + $76 = ($75|0)==(2); + $or$cond = $74 & $76; + if ($or$cond) { + $77 = HEAP32[$4>>2]|0; + HEAP32[$8>>2] = $77; + } + } + $78 = HEAP32[$4>>2]|0; + $79 = (($78) + 1)|0; + HEAP32[$4>>2] = $79; + } + $80 = HEAP32[$5>>2]|0; + $81 = ($80|0)>=(0); + $82 = HEAP32[$3>>2]|0; + $83 = ((($82)) + 20|0); + if ($81) { + HEAP32[$83>>2] = 1; + $84 = HEAP32[$9>>2]|0; + $85 = (($84) + 1)|0; + HEAP32[$9>>2] = $85; + $86 = HEAP32[$3>>2]|0; + $87 = ((($86)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$5>>2]|0; + $90 = (($88) + ($89<<3)|0); + HEAP32[$90>>2] = $84; + $91 = HEAP32[$3>>2]|0; + $92 = ((($91)) + 40|0); + HEAPF64[$92>>3] = 5.0; + } else { + HEAP32[$83>>2] = 0; + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 40|0); + HEAPF64[$94>>3] = 2.0E+4; + $95 = HEAP32[$6>>2]|0; + $96 = ($95|0)>=(0); + if ($96) { + $97 = HEAP32[$3>>2]|0; + $98 = ((($97)) + 20|0); + $99 = HEAP32[$98>>2]|0; + $100 = (($99) + 2)|0; + HEAP32[$98>>2] = $100; + $101 = HEAP32[$9>>2]|0; + $102 = (($101) + 1)|0; + HEAP32[$9>>2] = $102; + $103 = HEAP32[$3>>2]|0; + $104 = ((($103)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$6>>2]|0; + $107 = (($105) + ($106<<3)|0); + HEAP32[$107>>2] = $101; + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + 40|0); + $110 = +HEAPF64[$109>>3]; + $111 = $110 / 2.0; + HEAPF64[$109>>3] = $111; + } + $112 = HEAP32[$7>>2]|0; + $113 = ($112|0)>=(0); + if ($113) { + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + 20|0); + $116 = HEAP32[$115>>2]|0; + $117 = (($116) + 4)|0; + HEAP32[$115>>2] = $117; + $118 = HEAP32[$9>>2]|0; + $119 = (($118) + 1)|0; + HEAP32[$9>>2] = $119; + $120 = HEAP32[$3>>2]|0; + $121 = ((($120)) + 16|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$7>>2]|0; + $124 = (($122) + ($123<<3)|0); + HEAP32[$124>>2] = $118; + $125 = HEAP32[$3>>2]|0; + $126 = ((($125)) + 40|0); + $127 = +HEAPF64[$126>>3]; + $128 = $127 / 2.0; + HEAPF64[$126>>3] = $128; + } + } + $129 = HEAP32[$8>>2]|0; + $130 = ($129|0)>=(0); + if (!($130)) { + STACKTOP = sp;return 0; + } + $131 = HEAP32[$9>>2]|0; + $132 = (($131) + 1)|0; + HEAP32[$9>>2] = $132; + $133 = HEAP32[$3>>2]|0; + $134 = ((($133)) + 16|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$8>>2]|0; + $137 = (($135) + ($136<<3)|0); + HEAP32[$137>>2] = $131; + $138 = HEAP32[$3>>2]|0; + $139 = ((($138)) + 40|0); + $140 = +HEAPF64[$139>>3]; + $141 = $140 + -1.0; + HEAPF64[$139>>3] = $141; + STACKTOP = sp;return 0; +} +function _fts3auxDisconnectMethod($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $8; + HEAP32[$4>>2] = 0; + while(1) { + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)<(40); + $11 = HEAP32[$3>>2]|0; + if (!($10)) { + break; + } + $12 = ((($11)) + 56|0); + $13 = HEAP32[$4>>2]|0; + $14 = (($12) + ($13<<2)|0); + $15 = HEAP32[$14>>2]|0; + (_sqlite3_finalize($15)|0); + $16 = HEAP32[$4>>2]|0; + $17 = (($16) + 1)|0; + HEAP32[$4>>2] = $17; + } + $18 = ((($11)) + 240|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3_free($19); + $20 = HEAP32[$2>>2]|0; + _sqlite3_free($20); + STACKTOP = sp;return 0; +} +function _fts3auxOpenMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = (_sqlite3_malloc(120)|0); + HEAP32[$5>>2] = $6; + $7 = HEAP32[$5>>2]|0; + $8 = ($7|0)!=(0|0); + if ($8) { + $9 = HEAP32[$5>>2]|0; + dest=$9; stop=dest+120|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$4>>2]|0; + HEAP32[$11>>2] = $10; + HEAP32[$2>>2] = 0; + $12 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($12|0); + } else { + HEAP32[$2>>2] = 7; + $12 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($12|0); + } + return (0)|0; +} +function _fts3auxCloseMethod($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $7; + $8 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $8; + $9 = HEAP32[$2>>2]|0; + _sqlite3Fts3SegmentsClose($9); + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 4|0); + _sqlite3Fts3SegReaderFinish($11); + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 60|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3_free($14); + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 76|0); + $17 = HEAP32[$16>>2]|0; + _sqlite3_free($17); + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 112|0); + $20 = HEAP32[$19>>2]|0; + _sqlite3_free($20); + $21 = HEAP32[$3>>2]|0; + _sqlite3_free($21); + STACKTOP = sp;return 0; +} +function _fts3auxFilterMethod($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 76|0; + $6 = sp + 72|0; + $7 = sp + 68|0; + $8 = sp + 64|0; + $9 = sp + 60|0; + $10 = sp + 56|0; + $11 = sp + 52|0; + $12 = sp + 48|0; + $13 = sp + 44|0; + $14 = sp + 40|0; + $15 = sp + 36|0; + $16 = sp + 32|0; + $17 = sp + 28|0; + $18 = sp + 24|0; + $19 = sp + 20|0; + $20 = sp + 16|0; + $21 = sp + 12|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $22 = HEAP32[$6>>2]|0; + HEAP32[$11>>2] = $22; + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$12>>2] = $26; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = -1; + HEAP32[$17>>2] = -1; + HEAP32[$18>>2] = -1; + HEAP32[$19>>2] = -1; + HEAP32[$20>>2] = 0; + $27 = HEAP32[$7>>2]|0; + $28 = ($27|0)==(1); + if ($28) { + $29 = HEAP32[$20>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$20>>2] = $30; + HEAP32[$16>>2] = $29; + } else { + HEAP32[$14>>2] = 1; + $31 = HEAP32[$7>>2]|0; + $32 = $31 & 2; + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$20>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$20>>2] = $35; + HEAP32[$17>>2] = $34; + } + $36 = HEAP32[$7>>2]|0; + $37 = $36 & 4; + $38 = ($37|0)!=(0); + if ($38) { + $39 = HEAP32[$20>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$20>>2] = $40; + HEAP32[$18>>2] = $39; + } + } + $41 = HEAP32[$20>>2]|0; + $42 = HEAP32[$9>>2]|0; + $43 = ($41|0)<($42|0); + if ($43) { + $44 = HEAP32[$20>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$20>>2] = $45; + HEAP32[$19>>2] = $44; + } + $46 = HEAP32[$11>>2]|0; + $47 = ((($46)) + 4|0); + _sqlite3Fts3SegReaderFinish($47); + $48 = HEAP32[$11>>2]|0; + $49 = ((($48)) + 60|0); + $50 = HEAP32[$49>>2]|0; + _sqlite3_free($50); + $51 = HEAP32[$11>>2]|0; + $52 = ((($51)) + 112|0); + $53 = HEAP32[$52>>2]|0; + _sqlite3_free($53); + $54 = HEAP32[$11>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$11>>2]|0; + $57 = ((($56)) + 120|0); + $58 = HEAP32[$11>>2]|0; + $59 = ((($58)) + 4|0); + $60 = $57; + $61 = $59; + $62 = (($60) - ($61))|0; + _memset(($55|0),0,($62|0))|0; + $63 = HEAP32[$11>>2]|0; + $64 = ((($63)) + 60|0); + $65 = ((($64)) + 12|0); + HEAP32[$65>>2] = 3; + $66 = HEAP32[$14>>2]|0; + $67 = ($66|0)!=(0); + if ($67) { + $68 = HEAP32[$11>>2]|0; + $69 = ((($68)) + 60|0); + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + $72 = $71 | 16; + HEAP32[$70>>2] = $72; + } + $73 = HEAP32[$16>>2]|0; + $74 = ($73|0)>=(0); + $75 = HEAP32[$17>>2]|0; + $76 = ($75|0)>=(0); + $or$cond = $74 | $76; + if ($or$cond) { + $77 = HEAP32[$10>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = (_sqlite3_value_text($78)|0); + HEAP32[$21>>2] = $79; + $80 = HEAP32[$21>>2]|0; + $81 = ($80|0)!=(0|0); + if ($81) { + $82 = HEAP32[$21>>2]|0; + HEAP32[$vararg_buffer>>2] = $82; + $83 = (_sqlite3_mprintf(21240,$vararg_buffer)|0); + $84 = HEAP32[$11>>2]|0; + $85 = ((($84)) + 60|0); + HEAP32[$85>>2] = $83; + $86 = HEAP32[$10>>2]|0; + $87 = HEAP32[$86>>2]|0; + $88 = (_sqlite3_value_bytes($87)|0); + $89 = HEAP32[$11>>2]|0; + $90 = ((($89)) + 60|0); + $91 = ((($90)) + 4|0); + HEAP32[$91>>2] = $88; + $92 = HEAP32[$11>>2]|0; + $93 = ((($92)) + 60|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0|0); + if ($95) { + HEAP32[$5>>2] = 7; + $155 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($155|0); + } + } + } + $96 = HEAP32[$18>>2]|0; + $97 = ($96|0)>=(0); + if ($97) { + $98 = HEAP32[$10>>2]|0; + $99 = HEAP32[$18>>2]|0; + $100 = (($98) + ($99<<2)|0); + $101 = HEAP32[$100>>2]|0; + $102 = (_sqlite3_value_text($101)|0); + HEAP32[$vararg_buffer2>>2] = $102; + $103 = (_sqlite3_mprintf(21240,$vararg_buffer2)|0); + $104 = HEAP32[$11>>2]|0; + $105 = ((($104)) + 76|0); + HEAP32[$105>>2] = $103; + $106 = HEAP32[$10>>2]|0; + $107 = HEAP32[$18>>2]|0; + $108 = (($106) + ($107<<2)|0); + $109 = HEAP32[$108>>2]|0; + $110 = (_sqlite3_value_bytes($109)|0); + $111 = HEAP32[$11>>2]|0; + $112 = ((($111)) + 80|0); + HEAP32[$112>>2] = $110; + $113 = HEAP32[$11>>2]|0; + $114 = ((($113)) + 76|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + HEAP32[$5>>2] = 7; + $155 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($155|0); + } + } + $117 = HEAP32[$19>>2]|0; + $118 = ($117|0)>=(0); + if ($118) { + $119 = HEAP32[$10>>2]|0; + $120 = HEAP32[$19>>2]|0; + $121 = (($119) + ($120<<2)|0); + $122 = HEAP32[$121>>2]|0; + $123 = (_sqlite3_value_int($122)|0); + HEAP32[$15>>2] = $123; + $124 = HEAP32[$15>>2]|0; + $125 = ($124|0)<(0); + $$ = $125 ? 0 : $123; + HEAP32[$15>>2] = $$; + } + $126 = HEAP32[$15>>2]|0; + $127 = HEAP32[$11>>2]|0; + $128 = ((($127)) + 84|0); + HEAP32[$128>>2] = $126; + $129 = HEAP32[$12>>2]|0; + $130 = HEAP32[$15>>2]|0; + $131 = HEAP32[$11>>2]|0; + $132 = ((($131)) + 60|0); + $133 = HEAP32[$132>>2]|0; + $134 = HEAP32[$11>>2]|0; + $135 = ((($134)) + 60|0); + $136 = ((($135)) + 4|0); + $137 = HEAP32[$136>>2]|0; + $138 = HEAP32[$14>>2]|0; + $139 = HEAP32[$11>>2]|0; + $140 = ((($139)) + 4|0); + $141 = (_sqlite3Fts3SegReaderCursor($129,$130,0,-2,$133,$137,0,$138,$140)|0); + HEAP32[$13>>2] = $141; + $142 = HEAP32[$13>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = HEAP32[$12>>2]|0; + $145 = HEAP32[$11>>2]|0; + $146 = ((($145)) + 4|0); + $147 = HEAP32[$11>>2]|0; + $148 = ((($147)) + 60|0); + $149 = (_sqlite3Fts3SegReaderStart($144,$146,$148)|0); + HEAP32[$13>>2] = $149; + } + $150 = HEAP32[$13>>2]|0; + $151 = ($150|0)==(0); + if ($151) { + $152 = HEAP32[$6>>2]|0; + $153 = (_fts3auxNextMethod($152)|0); + HEAP32[$13>>2] = $153; + } + $154 = HEAP32[$13>>2]|0; + HEAP32[$5>>2] = $154; + $155 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($155|0); +} +function _fts3auxNextMethod($0) { + $0 = $0|0; + var $$sink3 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $1 = sp + 52|0; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp; + HEAP32[$2>>2] = $0; + $14 = HEAP32[$2>>2]|0; + HEAP32[$3>>2] = $14; + $15 = HEAP32[$2>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$4>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 96|0); + $21 = $20; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (_i64Add(($23|0),($26|0),1,0)|0); + $28 = tempRet0; + $29 = $20; + $30 = $29; + HEAP32[$30>>2] = $27; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $33 = HEAP32[$3>>2]|0; + $$sink3 = $33; + while(1) { + $34 = ((($$sink3)) + 104|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + 1)|0; + HEAP32[$34>>2] = $36; + $37 = HEAP32[$3>>2]|0; + $38 = ((($37)) + 104|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 108|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($39|0)<($42|0); + if (!($43)) { + break; + } + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 112|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 104|0); + $49 = HEAP32[$48>>2]|0; + $50 = (($46) + ($49<<4)|0); + $51 = $50; + $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) { + label = 4; + break; + } + $62 = HEAP32[$3>>2]|0; + $$sink3 = $62; + } + if ((label|0) == 4) { + HEAP32[$1>>2] = 0; + $272 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($272|0); + } + $63 = HEAP32[$4>>2]|0; + $64 = HEAP32[$3>>2]|0; + $65 = ((($64)) + 4|0); + $66 = (_sqlite3Fts3SegReaderStep($63,$65)|0); + HEAP32[$5>>2] = $66; + $67 = HEAP32[$5>>2]|0; + $68 = ($67|0)==(100); + do { + if ($68) { + HEAP32[$6>>2] = 0; + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 4|0); + $71 = ((($70)) + 52|0); + $72 = HEAP32[$71>>2]|0; + HEAP32[$7>>2] = $72; + $73 = HEAP32[$3>>2]|0; + $74 = ((($73)) + 4|0); + $75 = ((($74)) + 48|0); + $76 = HEAP32[$75>>2]|0; + HEAP32[$8>>2] = $76; + HEAP32[$10>>2] = 0; + $77 = HEAP32[$3>>2]|0; + $78 = ((($77)) + 76|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0|0); + do { + if ($80) { + $81 = HEAP32[$3>>2]|0; + $82 = ((($81)) + 80|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$3>>2]|0; + $85 = ((($84)) + 4|0); + $86 = ((($85)) + 44|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($83|0)<($87|0); + $89 = HEAP32[$3>>2]|0; + if ($88) { + $90 = ((($89)) + 80|0); + $91 = HEAP32[$90>>2]|0; + $95 = $91; + } else { + $92 = ((($89)) + 4|0); + $93 = ((($92)) + 44|0); + $94 = HEAP32[$93>>2]|0; + $95 = $94; + } + HEAP32[$11>>2] = $95; + $96 = HEAP32[$3>>2]|0; + $97 = ((($96)) + 76|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$3>>2]|0; + $100 = ((($99)) + 4|0); + $101 = ((($100)) + 40|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$11>>2]|0; + $104 = (_memcmp($98,$102,$103)|0); + HEAP32[$12>>2] = $104; + $105 = HEAP32[$12>>2]|0; + $106 = ($105|0)<(0); + if (!($106)) { + $107 = HEAP32[$12>>2]|0; + $108 = ($107|0)==(0); + if (!($108)) { + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = ((($109)) + 4|0); + $111 = ((($110)) + 44|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$3>>2]|0; + $114 = ((($113)) + 80|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($112|0)>($115|0); + if (!($116)) { + break; + } + } + $117 = HEAP32[$3>>2]|0; + $118 = ((($117)) + 88|0); + HEAP32[$118>>2] = 1; + HEAP32[$1>>2] = 0; + $272 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($272|0); + } + } while(0); + $119 = HEAP32[$3>>2]|0; + $120 = (_fts3auxGrowStatArray($119,2)|0); + $121 = ($120|0)!=(0); + if ($121) { + HEAP32[$1>>2] = 7; + $272 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($272|0); + } + $122 = HEAP32[$3>>2]|0; + $123 = ((($122)) + 112|0); + $124 = HEAP32[$123>>2]|0; + $125 = HEAP32[$3>>2]|0; + $126 = ((($125)) + 108|0); + $127 = HEAP32[$126>>2]|0; + $128 = $127<<4; + _memset(($124|0),0,($128|0))|0; + HEAP32[$9>>2] = 0; + L27: while(1) { + $129 = HEAP32[$6>>2]|0; + $130 = HEAP32[$7>>2]|0; + $131 = ($129|0)<($130|0); + if (!($131)) { + label = 32; + break; + } + $132 = $13; + $133 = $132; + HEAP32[$133>>2] = 0; + $134 = (($132) + 4)|0; + $135 = $134; + HEAP32[$135>>2] = 0; + $136 = HEAP32[$8>>2]|0; + $137 = HEAP32[$6>>2]|0; + $138 = (($136) + ($137)|0); + $139 = (_sqlite3Fts3GetVarint($138,$13)|0); + $140 = HEAP32[$6>>2]|0; + $141 = (($140) + ($139))|0; + HEAP32[$6>>2] = $141; + $142 = HEAP32[$10>>2]|0; + switch ($142|0) { + case 0: { + $143 = HEAP32[$3>>2]|0; + $144 = ((($143)) + 112|0); + $145 = HEAP32[$144>>2]|0; + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (_i64Add(($148|0),($151|0),1,0)|0); + $153 = tempRet0; + $154 = $145; + $155 = $154; + HEAP32[$155>>2] = $152; + $156 = (($154) + 4)|0; + $157 = $156; + HEAP32[$157>>2] = $153; + HEAP32[$10>>2] = 1; + HEAP32[$9>>2] = 0; + continue L27; + break; + } + case 1: { + $158 = $13; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = (($158) + 4)|0; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)>(0); + $165 = ($160>>>0)>(1); + $166 = ($163|0)==(0); + $167 = $166 & $165; + $168 = $164 | $167; + if ($168) { + $169 = HEAP32[$3>>2]|0; + $170 = ((($169)) + 112|0); + $171 = HEAP32[$170>>2]|0; + $172 = ((($171)) + 16|0); + $173 = $172; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = (($173) + 4)|0; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = (_i64Add(($175|0),($178|0),1,0)|0); + $180 = tempRet0; + $181 = $172; + $182 = $181; + HEAP32[$182>>2] = $179; + $183 = (($181) + 4)|0; + $184 = $183; + HEAP32[$184>>2] = $180; + } + HEAP32[$10>>2] = 2; + break; + } + case 2: { + break; + } + default: { + $238 = $13; + $239 = $238; + $240 = HEAP32[$239>>2]|0; + $241 = (($238) + 4)|0; + $242 = $241; + $243 = HEAP32[$242>>2]|0; + HEAP32[$9>>2] = $240; + $244 = HEAP32[$3>>2]|0; + $245 = HEAP32[$9>>2]|0; + $246 = (($245) + 2)|0; + $247 = (_fts3auxGrowStatArray($244,$246)|0); + $248 = ($247|0)!=(0); + if ($248) { + break L27; + } + $249 = HEAP32[$3>>2]|0; + $250 = ((($249)) + 112|0); + $251 = HEAP32[$250>>2]|0; + $252 = HEAP32[$9>>2]|0; + $253 = (($252) + 1)|0; + $254 = (($251) + ($253<<4)|0); + $255 = $254; + $256 = $255; + $257 = HEAP32[$256>>2]|0; + $258 = (($255) + 4)|0; + $259 = $258; + $260 = HEAP32[$259>>2]|0; + $261 = (_i64Add(($257|0),($260|0),1,0)|0); + $262 = tempRet0; + $263 = $254; + $264 = $263; + HEAP32[$264>>2] = $261; + $265 = (($263) + 4)|0; + $266 = $265; + HEAP32[$266>>2] = $262; + HEAP32[$10>>2] = 2; + continue L27; + } + } + $185 = $13; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = (($185) + 4)|0; + $189 = $188; + $190 = HEAP32[$189>>2]|0; + $191 = ($187|0)==(0); + $192 = ($190|0)==(0); + $193 = $191 & $192; + if ($193) { + HEAP32[$10>>2] = 0; + continue; + } + $194 = $13; + $195 = $194; + $196 = HEAP32[$195>>2]|0; + $197 = (($194) + 4)|0; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = ($196|0)==(1); + $201 = ($199|0)==(0); + $202 = $200 & $201; + if ($202) { + HEAP32[$10>>2] = 3; + continue; + } else { + $203 = HEAP32[$3>>2]|0; + $204 = ((($203)) + 112|0); + $205 = HEAP32[$204>>2]|0; + $206 = HEAP32[$9>>2]|0; + $207 = (($206) + 1)|0; + $208 = (($205) + ($207<<4)|0); + $209 = ((($208)) + 8|0); + $210 = $209; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_i64Add(($212|0),($215|0),1,0)|0); + $217 = tempRet0; + $218 = $209; + $219 = $218; + HEAP32[$219>>2] = $216; + $220 = (($218) + 4)|0; + $221 = $220; + HEAP32[$221>>2] = $217; + $222 = HEAP32[$3>>2]|0; + $223 = ((($222)) + 112|0); + $224 = HEAP32[$223>>2]|0; + $225 = ((($224)) + 8|0); + $226 = $225; + $227 = $226; + $228 = HEAP32[$227>>2]|0; + $229 = (($226) + 4)|0; + $230 = $229; + $231 = HEAP32[$230>>2]|0; + $232 = (_i64Add(($228|0),($231|0),1,0)|0); + $233 = tempRet0; + $234 = $225; + $235 = $234; + HEAP32[$235>>2] = $232; + $236 = (($234) + 4)|0; + $237 = $236; + HEAP32[$237>>2] = $233; + continue; + } + } + if ((label|0) == 32) { + $267 = HEAP32[$3>>2]|0; + $268 = ((($267)) + 104|0); + HEAP32[$268>>2] = 0; + HEAP32[$5>>2] = 0; + break; + } + HEAP32[$1>>2] = 7; + $272 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($272|0); + } else { + $269 = HEAP32[$3>>2]|0; + $270 = ((($269)) + 88|0); + HEAP32[$270>>2] = 1; + } + } while(0); + $271 = HEAP32[$5>>2]|0; + HEAP32[$1>>2] = $271; + $272 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($272|0); +} +function _fts3auxEofMethod($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 88|0); + $6 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($6|0); +} +function _fts3auxColumnMethod($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + HEAP32[$6>>2] = $7; + $8 = HEAP32[$5>>2]|0; + switch ($8|0) { + case 0: { + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = ((($10)) + 4|0); + $12 = ((($11)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 4|0); + $16 = ((($15)) + 44|0); + $17 = HEAP32[$16>>2]|0; + _sqlite3_result_text($9,$13,$17,(-1)); + STACKTOP = sp;return 0; + break; + } + case 1: { + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 104|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0); + $22 = HEAP32[$4>>2]|0; + if ($21) { + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 104|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) - 1)|0; + _sqlite3_result_int($22,$26); + STACKTOP = sp;return 0; + } else { + _sqlite3_result_text($22,29578,-1,0); + STACKTOP = sp;return 0; + } + break; + } + case 2: { + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = ((($28)) + 112|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 104|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($30) + ($33<<4)|0); + $35 = $34; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + _sqlite3_result_int64($27,$37,$40); + STACKTOP = sp;return 0; + break; + } + case 3: { + $41 = HEAP32[$4>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = ((($42)) + 112|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$6>>2]|0; + $46 = ((($45)) + 104|0); + $47 = HEAP32[$46>>2]|0; + $48 = (($44) + ($47<<4)|0); + $49 = ((($48)) + 8|0); + $50 = $49; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + _sqlite3_result_int64($41,$52,$55); + STACKTOP = sp;return 0; + break; + } + default: { + $56 = HEAP32[$4>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = ((($57)) + 84|0); + $59 = HEAP32[$58>>2]|0; + _sqlite3_result_int($56,$59); + STACKTOP = sp;return 0; + } + } + return (0)|0; +} +function _fts3auxRowidMethod($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, $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 + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + $7 = ((($6)) + 96|0); + $8 = $7; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = $14; + $16 = $15; + HEAP32[$16>>2] = $10; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $13; + STACKTOP = sp;return 0; +} +function _fts3auxGrowStatArray($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 108|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($6|0)>($9|0); + do { + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 112|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = $14<<4; + $16 = (_sqlite3_realloc($13,$15)|0); + HEAP32[$5>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ($17|0)==(0|0); + if (!($18)) { + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 108|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($19) + ($22<<4)|0); + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 108|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($24) - ($27))|0; + $29 = $28<<4; + _memset(($23|0),0,($29|0))|0; + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 112|0); + HEAP32[$32>>2] = $30; + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 108|0); + HEAP32[$35>>2] = $33; + break; + } + HEAP32[$2>>2] = 7; + $36 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($36|0); + } + } while(0); + HEAP32[$2>>2] = 0; + $36 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($36|0); +} +function _unicodeCreate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$9>>2] = 0; + $12 = (_sqlite3_malloc(16)|0); + HEAP32[$7>>2] = $12; + $13 = HEAP32[$7>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + HEAP32[$3>>2] = 7; + $73 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($73|0); + } + $15 = HEAP32[$7>>2]|0; + ;HEAP32[$15>>2]=0|0;HEAP32[$15+4>>2]=0|0;HEAP32[$15+8>>2]=0|0;HEAP32[$15+12>>2]=0|0; + $16 = HEAP32[$7>>2]|0; + $17 = ((($16)) + 4|0); + HEAP32[$17>>2] = 1; + HEAP32[$8>>2] = 0; + while(1) { + $18 = HEAP32[$9>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + break; + } + $20 = HEAP32[$8>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = ($20|0)<($21|0); + if (!($22)) { + break; + } + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$8>>2]|0; + $25 = (($23) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$10>>2] = $26; + $27 = HEAP32[$10>>2]|0; + $28 = (_strlen($27)|0); + HEAP32[$11>>2] = $28; + $29 = HEAP32[$11>>2]|0; + $30 = ($29|0)==(19); + if ($30) { + $31 = HEAP32[$10>>2]|0; + $32 = (_memcmp(47627,$31,19)|0); + $33 = ($32|0)==(0); + if ($33) { + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 4|0); + HEAP32[$35>>2] = 1; + } else { + label = 9; + } + } else { + label = 9; + } + do { + if ((label|0) == 9) { + label = 0; + $36 = HEAP32[$11>>2]|0; + $37 = ($36|0)==(19); + if ($37) { + $38 = HEAP32[$10>>2]|0; + $39 = (_memcmp(47647,$38,19)|0); + $40 = ($39|0)==(0); + if ($40) { + $41 = HEAP32[$7>>2]|0; + $42 = ((($41)) + 4|0); + HEAP32[$42>>2] = 0; + break; + } + } + $43 = HEAP32[$11>>2]|0; + $44 = ($43|0)>=(11); + if ($44) { + $45 = HEAP32[$10>>2]|0; + $46 = (_memcmp(47667,$45,11)|0); + $47 = ($46|0)==(0); + if ($47) { + $48 = HEAP32[$7>>2]|0; + $49 = HEAP32[$10>>2]|0; + $50 = ((($49)) + 11|0); + $51 = HEAP32[$11>>2]|0; + $52 = (($51) - 11)|0; + $53 = (_unicodeAddExceptions($48,1,$50,$52)|0); + HEAP32[$9>>2] = $53; + break; + } + } + $54 = HEAP32[$11>>2]|0; + $55 = ($54|0)>=(11); + if ($55) { + $56 = HEAP32[$10>>2]|0; + $57 = (_memcmp(47679,$56,11)|0); + $58 = ($57|0)==(0); + if ($58) { + $59 = HEAP32[$7>>2]|0; + $60 = HEAP32[$10>>2]|0; + $61 = ((($60)) + 11|0); + $62 = HEAP32[$11>>2]|0; + $63 = (($62) - 11)|0; + $64 = (_unicodeAddExceptions($59,0,$61,$63)|0); + HEAP32[$9>>2] = $64; + break; + } + } + HEAP32[$9>>2] = 1; + } + } while(0); + $65 = HEAP32[$8>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$8>>2] = $66; + } + $67 = HEAP32[$9>>2]|0; + $68 = ($67|0)!=(0); + if ($68) { + $69 = HEAP32[$7>>2]|0; + (_unicodeDestroy($69)|0); + HEAP32[$7>>2] = 0; + } + $70 = HEAP32[$7>>2]|0; + $71 = HEAP32[$6>>2]|0; + HEAP32[$71>>2] = $70; + $72 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $72; + $73 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($73|0); +} +function _unicodeDestroy($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return 0; + } + $5 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + _sqlite3_free($8); + $9 = HEAP32[$2>>2]|0; + _sqlite3_free($9); + STACKTOP = sp;return 0; +} +function _unicodeOpen($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink$sink = 0, $$sink2$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $10 = (_sqlite3_malloc(28)|0); + HEAP32[$9>>2] = $10; + $11 = HEAP32[$9>>2]|0; + $12 = ($11|0)==(0|0); + if ($12) { + HEAP32[$4>>2] = 7; + $30 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($30|0); + } + $13 = HEAP32[$9>>2]|0; + ;HEAP32[$13>>2]=0|0;HEAP32[$13+4>>2]=0|0;HEAP32[$13+8>>2]=0|0;HEAP32[$13+12>>2]=0|0;HEAP32[$13+16>>2]=0|0;HEAP32[$13+20>>2]=0|0;HEAP32[$13+24>>2]=0|0; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$9>>2]|0; + $16 = ((($15)) + 4|0); + HEAP32[$16>>2] = $14; + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)==(0|0); + do { + if ($18) { + $19 = HEAP32[$9>>2]|0; + $$sink$sink = 0;$$sink2$sink = $19; + } else { + $20 = HEAP32[$7>>2]|0; + $21 = ($20|0)<(0); + if ($21) { + $22 = HEAP32[$6>>2]|0; + $23 = (_strlen($22)|0); + $24 = HEAP32[$9>>2]|0; + $$sink$sink = $23;$$sink2$sink = $24; + break; + } else { + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[$9>>2]|0; + $$sink$sink = $25;$$sink2$sink = $26; + break; + } + } + } while(0); + $27 = ((($$sink2$sink)) + 8|0); + HEAP32[$27>>2] = $$sink$sink; + $28 = HEAP32[$9>>2]|0; + $29 = HEAP32[$8>>2]|0; + HEAP32[$29>>2] = $28; + HEAP32[$4>>2] = 0; + $30 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($30|0); +} +function _unicodeClose($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 20|0); + $6 = HEAP32[$5>>2]|0; + _sqlite3_free($6); + $7 = HEAP32[$2>>2]|0; + _sqlite3_free($7); + STACKTOP = sp;return 0; +} +function _unicodeNext($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $6 = sp + 64|0; + $7 = sp + 60|0; + $8 = sp + 56|0; + $9 = sp + 52|0; + $10 = sp + 48|0; + $11 = sp + 44|0; + $12 = sp + 40|0; + $13 = sp + 36|0; + $14 = sp + 32|0; + $15 = sp + 28|0; + $16 = sp + 24|0; + $17 = sp + 20|0; + $18 = sp + 16|0; + $19 = sp + 12|0; + $20 = sp + 8|0; + $21 = sp + 4|0; + $22 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $23 = HEAP32[$7>>2]|0; + HEAP32[$13>>2] = $23; + $24 = HEAP32[$13>>2]|0; + $25 = HEAP32[$24>>2]|0; + HEAP32[$14>>2] = $25; + HEAP32[$15>>2] = 0; + $26 = HEAP32[$13>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$13>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($28) + ($31)|0); + HEAP32[$17>>2] = $32; + $33 = HEAP32[$17>>2]|0; + HEAP32[$18>>2] = $33; + $34 = HEAP32[$13>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$13>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($36) + ($39)|0); + HEAP32[$20>>2] = $40; + while(1) { + $41 = HEAP32[$17>>2]|0; + $42 = HEAP32[$20>>2]|0; + $43 = ($41>>>0)<($42>>>0); + if (!($43)) { + break; + } + $44 = HEAP32[$17>>2]|0; + $45 = ((($44)) + 1|0); + HEAP32[$17>>2] = $45; + $46 = HEAP8[$44>>0]|0; + $47 = $46&255; + HEAP32[$15>>2] = $47; + $48 = HEAP32[$15>>2]|0; + $49 = ($48|0)>=(192); + do { + if ($49) { + $50 = HEAP32[$15>>2]|0; + $51 = (($50) - 192)|0; + $52 = (22127 + ($51)|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + HEAP32[$15>>2] = $54; + while(1) { + $55 = HEAP32[$17>>2]|0; + $56 = HEAP32[$20>>2]|0; + $57 = ($55|0)!=($56|0); + if ($57) { + $58 = HEAP32[$17>>2]|0; + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = $60 & 192; + $62 = ($61|0)==(128); + $308 = $62; + } else { + $308 = 0; + } + $63 = HEAP32[$15>>2]|0; + if (!($308)) { + break; + } + $64 = $63 << 6; + $65 = HEAP32[$17>>2]|0; + $66 = ((($65)) + 1|0); + HEAP32[$17>>2] = $66; + $67 = HEAP8[$65>>0]|0; + $68 = $67&255; + $69 = 63 & $68; + $70 = (($64) + ($69))|0; + HEAP32[$15>>2] = $70; + } + $71 = ($63|0)<(128); + if (!($71)) { + $72 = HEAP32[$15>>2]|0; + $73 = $72 & -2048; + $74 = ($73|0)==(55296); + if (!($74)) { + $75 = HEAP32[$15>>2]|0; + $76 = $75 & -2; + $77 = ($76|0)==(65534); + if (!($77)) { + break; + } + } + } + HEAP32[$15>>2] = 65533; + } + } while(0); + $78 = HEAP32[$14>>2]|0; + $79 = HEAP32[$15>>2]|0; + $80 = (_unicodeIsAlnum($78,$79)|0); + $81 = ($80|0)!=(0); + if ($81) { + break; + } + $82 = HEAP32[$17>>2]|0; + HEAP32[$18>>2] = $82; + } + $83 = HEAP32[$18>>2]|0; + $84 = HEAP32[$20>>2]|0; + $85 = ($83>>>0)>=($84>>>0); + if ($85) { + HEAP32[$6>>2] = 101; + $307 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($307|0); + } + $86 = HEAP32[$13>>2]|0; + $87 = ((($86)) + 20|0); + $88 = HEAP32[$87>>2]|0; + HEAP32[$16>>2] = $88; + while(1) { + $89 = HEAP32[$16>>2]|0; + $90 = HEAP32[$13>>2]|0; + $91 = ((($90)) + 20|0); + $92 = HEAP32[$91>>2]|0; + $93 = $89; + $94 = $92; + $95 = (($93) - ($94))|0; + $96 = HEAP32[$13>>2]|0; + $97 = ((($96)) + 24|0); + $98 = HEAP32[$97>>2]|0; + $99 = (($98) - 4)|0; + $100 = ($95|0)>=($99|0); + if ($100) { + $101 = HEAP32[$13>>2]|0; + $102 = ((($101)) + 20|0); + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$13>>2]|0; + $105 = ((($104)) + 24|0); + $106 = HEAP32[$105>>2]|0; + $107 = (($106) + 64)|0; + $108 = (_sqlite3_realloc($103,$107)|0); + HEAP32[$22>>2] = $108; + $109 = HEAP32[$22>>2]|0; + $110 = ($109|0)!=(0|0); + if (!($110)) { + label = 20; + break; + } + $111 = HEAP32[$22>>2]|0; + $112 = HEAP32[$16>>2]|0; + $113 = HEAP32[$13>>2]|0; + $114 = ((($113)) + 20|0); + $115 = HEAP32[$114>>2]|0; + $116 = $112; + $117 = $115; + $118 = (($116) - ($117))|0; + $119 = (($111) + ($118)|0); + HEAP32[$16>>2] = $119; + $120 = HEAP32[$22>>2]|0; + $121 = HEAP32[$13>>2]|0; + $122 = ((($121)) + 20|0); + HEAP32[$122>>2] = $120; + $123 = HEAP32[$13>>2]|0; + $124 = ((($123)) + 24|0); + $125 = HEAP32[$124>>2]|0; + $126 = (($125) + 64)|0; + HEAP32[$124>>2] = $126; + } + $127 = HEAP32[$17>>2]|0; + HEAP32[$19>>2] = $127; + $128 = HEAP32[$15>>2]|0; + $129 = HEAP32[$14>>2]|0; + $130 = ((($129)) + 4|0); + $131 = HEAP32[$130>>2]|0; + $132 = (_sqlite3FtsUnicodeFold($128,$131)|0); + HEAP32[$21>>2] = $132; + $133 = HEAP32[$21>>2]|0; + $134 = ($133|0)!=(0); + do { + if ($134) { + $135 = HEAP32[$21>>2]|0; + $136 = ($135|0)<(128); + $137 = HEAP32[$21>>2]|0; + if ($136) { + $138 = $137 & 255; + $139 = $138&255; + $140 = HEAP32[$16>>2]|0; + $141 = ((($140)) + 1|0); + HEAP32[$16>>2] = $141; + HEAP8[$140>>0] = $139; + break; + } + $142 = ($137|0)<(2048); + $143 = HEAP32[$21>>2]|0; + if ($142) { + $144 = $143 >> 6; + $145 = $144 & 31; + $146 = $145&255; + $147 = $146&255; + $148 = (192 + ($147))|0; + $149 = $148&255; + $150 = HEAP32[$16>>2]|0; + $151 = ((($150)) + 1|0); + HEAP32[$16>>2] = $151; + HEAP8[$150>>0] = $149; + $152 = HEAP32[$21>>2]|0; + $153 = $152 & 63; + $154 = $153&255; + $155 = $154&255; + $156 = (128 + ($155))|0; + $157 = $156&255; + $158 = HEAP32[$16>>2]|0; + $159 = ((($158)) + 1|0); + HEAP32[$16>>2] = $159; + HEAP8[$158>>0] = $157; + break; + } + $160 = ($143|0)<(65536); + $161 = HEAP32[$21>>2]|0; + if ($160) { + $162 = $161 >> 12; + $163 = $162 & 15; + $164 = $163&255; + $165 = $164&255; + $166 = (224 + ($165))|0; + $167 = $166&255; + $168 = HEAP32[$16>>2]|0; + $169 = ((($168)) + 1|0); + HEAP32[$16>>2] = $169; + HEAP8[$168>>0] = $167; + $170 = HEAP32[$21>>2]|0; + $171 = $170 >> 6; + $172 = $171 & 63; + $173 = $172&255; + $174 = $173&255; + $175 = (128 + ($174))|0; + $176 = $175&255; + $177 = HEAP32[$16>>2]|0; + $178 = ((($177)) + 1|0); + HEAP32[$16>>2] = $178; + HEAP8[$177>>0] = $176; + $179 = HEAP32[$21>>2]|0; + $180 = $179 & 63; + $181 = $180&255; + $182 = $181&255; + $183 = (128 + ($182))|0; + $184 = $183&255; + $185 = HEAP32[$16>>2]|0; + $186 = ((($185)) + 1|0); + HEAP32[$16>>2] = $186; + HEAP8[$185>>0] = $184; + break; + } else { + $187 = $161 >> 18; + $188 = $187 & 7; + $189 = $188&255; + $190 = $189&255; + $191 = (240 + ($190))|0; + $192 = $191&255; + $193 = HEAP32[$16>>2]|0; + $194 = ((($193)) + 1|0); + HEAP32[$16>>2] = $194; + HEAP8[$193>>0] = $192; + $195 = HEAP32[$21>>2]|0; + $196 = $195 >> 12; + $197 = $196 & 63; + $198 = $197&255; + $199 = $198&255; + $200 = (128 + ($199))|0; + $201 = $200&255; + $202 = HEAP32[$16>>2]|0; + $203 = ((($202)) + 1|0); + HEAP32[$16>>2] = $203; + HEAP8[$202>>0] = $201; + $204 = HEAP32[$21>>2]|0; + $205 = $204 >> 6; + $206 = $205 & 63; + $207 = $206&255; + $208 = $207&255; + $209 = (128 + ($208))|0; + $210 = $209&255; + $211 = HEAP32[$16>>2]|0; + $212 = ((($211)) + 1|0); + HEAP32[$16>>2] = $212; + HEAP8[$211>>0] = $210; + $213 = HEAP32[$21>>2]|0; + $214 = $213 & 63; + $215 = $214&255; + $216 = $215&255; + $217 = (128 + ($216))|0; + $218 = $217&255; + $219 = HEAP32[$16>>2]|0; + $220 = ((($219)) + 1|0); + HEAP32[$16>>2] = $220; + HEAP8[$219>>0] = $218; + break; + } + } + } while(0); + $221 = HEAP32[$17>>2]|0; + $222 = HEAP32[$20>>2]|0; + $223 = ($221>>>0)>=($222>>>0); + if ($223) { + label = 43; + break; + } + $224 = HEAP32[$17>>2]|0; + $225 = ((($224)) + 1|0); + HEAP32[$17>>2] = $225; + $226 = HEAP8[$224>>0]|0; + $227 = $226&255; + HEAP32[$15>>2] = $227; + $228 = HEAP32[$15>>2]|0; + $229 = ($228|0)>=(192); + do { + if ($229) { + $230 = HEAP32[$15>>2]|0; + $231 = (($230) - 192)|0; + $232 = (22127 + ($231)|0); + $233 = HEAP8[$232>>0]|0; + $234 = $233&255; + HEAP32[$15>>2] = $234; + while(1) { + $235 = HEAP32[$17>>2]|0; + $236 = HEAP32[$20>>2]|0; + $237 = ($235|0)!=($236|0); + if ($237) { + $238 = HEAP32[$17>>2]|0; + $239 = HEAP8[$238>>0]|0; + $240 = $239&255; + $241 = $240 & 192; + $242 = ($241|0)==(128); + $309 = $242; + } else { + $309 = 0; + } + $243 = HEAP32[$15>>2]|0; + if (!($309)) { + break; + } + $244 = $243 << 6; + $245 = HEAP32[$17>>2]|0; + $246 = ((($245)) + 1|0); + HEAP32[$17>>2] = $246; + $247 = HEAP8[$245>>0]|0; + $248 = $247&255; + $249 = 63 & $248; + $250 = (($244) + ($249))|0; + HEAP32[$15>>2] = $250; + } + $251 = ($243|0)<(128); + if (!($251)) { + $252 = HEAP32[$15>>2]|0; + $253 = $252 & -2048; + $254 = ($253|0)==(55296); + if (!($254)) { + $255 = HEAP32[$15>>2]|0; + $256 = $255 & -2; + $257 = ($256|0)==(65534); + if (!($257)) { + break; + } + } + } + HEAP32[$15>>2] = 65533; + } + } while(0); + $258 = HEAP32[$14>>2]|0; + $259 = HEAP32[$15>>2]|0; + $260 = (_unicodeIsAlnum($258,$259)|0); + $261 = ($260|0)!=(0); + if ($261) { + continue; + } + $262 = HEAP32[$15>>2]|0; + $263 = (_sqlite3FtsUnicodeIsdiacritic($262)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + label = 43; + break; + } + } + if ((label|0) == 20) { + HEAP32[$6>>2] = 7; + $307 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($307|0); + } + else if ((label|0) == 43) { + $265 = HEAP32[$17>>2]|0; + $266 = HEAP32[$13>>2]|0; + $267 = ((($266)) + 4|0); + $268 = HEAP32[$267>>2]|0; + $269 = $265; + $270 = $268; + $271 = (($269) - ($270))|0; + $272 = HEAP32[$13>>2]|0; + $273 = ((($272)) + 12|0); + HEAP32[$273>>2] = $271; + $274 = HEAP32[$13>>2]|0; + $275 = ((($274)) + 20|0); + $276 = HEAP32[$275>>2]|0; + $277 = HEAP32[$8>>2]|0; + HEAP32[$277>>2] = $276; + $278 = HEAP32[$16>>2]|0; + $279 = HEAP32[$13>>2]|0; + $280 = ((($279)) + 20|0); + $281 = HEAP32[$280>>2]|0; + $282 = $278; + $283 = $281; + $284 = (($282) - ($283))|0; + $285 = HEAP32[$9>>2]|0; + HEAP32[$285>>2] = $284; + $286 = HEAP32[$18>>2]|0; + $287 = HEAP32[$13>>2]|0; + $288 = ((($287)) + 4|0); + $289 = HEAP32[$288>>2]|0; + $290 = $286; + $291 = $289; + $292 = (($290) - ($291))|0; + $293 = HEAP32[$10>>2]|0; + HEAP32[$293>>2] = $292; + $294 = HEAP32[$19>>2]|0; + $295 = HEAP32[$13>>2]|0; + $296 = ((($295)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = $294; + $299 = $297; + $300 = (($298) - ($299))|0; + $301 = HEAP32[$11>>2]|0; + HEAP32[$301>>2] = $300; + $302 = HEAP32[$13>>2]|0; + $303 = ((($302)) + 16|0); + $304 = HEAP32[$303>>2]|0; + $305 = (($304) + 1)|0; + HEAP32[$303>>2] = $305; + $306 = HEAP32[$12>>2]|0; + HEAP32[$306>>2] = $304; + HEAP32[$6>>2] = 0; + $307 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($307|0); + } + return (0)|0; +} +function _unicodeIsAlnum($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3FtsUnicodeIsalnum($4)|0); + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = (_unicodeIsException($6,$7)|0); + $9 = $5 ^ $8; + STACKTOP = sp;return ($9|0); +} +function _sqlite3FtsUnicodeFold($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $11 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ($12|0)<(128); + $14 = HEAP32[$2>>2]|0; + if ($13) { + $15 = ($14|0)>=(65); + $16 = HEAP32[$2>>2]|0; + $17 = ($16|0)<=(90); + $or$cond = $15 & $17; + if (!($or$cond)) { + $87 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($87|0); + } + $18 = HEAP32[$2>>2]|0; + $19 = (($18) + 32)|0; + HEAP32[$4>>2] = $19; + $87 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($87|0); + } + $20 = ($14|0)<(65536); + if (!($20)) { + $81 = HEAP32[$2>>2]|0; + $82 = ($81|0)>=(66560); + $83 = HEAP32[$2>>2]|0; + $84 = ($83|0)<(66600); + $or$cond3 = $82 & $84; + if (!($or$cond3)) { + $87 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($87|0); + } + $85 = HEAP32[$2>>2]|0; + $86 = (($85) + 40)|0; + HEAP32[$4>>2] = $86; + $87 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($87|0); + } + HEAP32[$5>>2] = 162; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = -1; + while(1) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$6>>2]|0; + $23 = ($21|0)>=($22|0); + if (!($23)) { + break; + } + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$6>>2]|0; + $26 = (($24) + ($25))|0; + $27 = (($26|0) / 2)&-1; + HEAP32[$8>>2] = $27; + $28 = HEAP32[$2>>2]|0; + $29 = HEAP32[$8>>2]|0; + $30 = (17070 + ($29<<2)|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + $33 = (($28) - ($32))|0; + HEAP32[$9>>2] = $33; + $34 = HEAP32[$9>>2]|0; + $35 = ($34|0)>=(0); + $36 = HEAP32[$8>>2]|0; + if ($35) { + HEAP32[$7>>2] = $36; + $37 = HEAP32[$8>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$6>>2] = $38; + continue; + } else { + $39 = (($36) - 1)|0; + HEAP32[$5>>2] = $39; + continue; + } + } + $40 = HEAP32[$7>>2]|0; + $41 = ($40|0)>=(0); + if ($41) { + $42 = HEAP32[$7>>2]|0; + $43 = (17070 + ($42<<2)|0); + HEAP32[$10>>2] = $43; + $44 = HEAP32[$2>>2]|0; + $45 = HEAP32[$10>>2]|0; + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = HEAP32[$10>>2]|0; + $49 = ((($48)) + 3|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = (($47) + ($51))|0; + $53 = ($44|0)<($52|0); + if ($53) { + $54 = HEAP32[$10>>2]|0; + $55 = ((($54)) + 2|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = 1 & $57; + $59 = HEAP32[$10>>2]|0; + $60 = HEAP16[$59>>1]|0; + $61 = $60&65535; + $62 = HEAP32[$2>>2]|0; + $63 = $61 ^ $62; + $64 = $58 & $63; + $65 = (0)==($64|0); + if ($65) { + $66 = HEAP32[$2>>2]|0; + $67 = HEAP32[$10>>2]|0; + $68 = ((($67)) + 2|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = $70 >> 1; + $72 = (17722 + ($71<<1)|0); + $73 = HEAP16[$72>>1]|0; + $74 = $73&65535; + $75 = (($66) + ($74))|0; + $76 = $75 & 65535; + HEAP32[$4>>2] = $76; + } + } + } + $77 = HEAP32[$3>>2]|0; + $78 = ($77|0)!=(0); + if (!($78)) { + $87 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($87|0); + } + $79 = HEAP32[$4>>2]|0; + $80 = (_remove_diacritic($79)|0); + HEAP32[$4>>2] = $80; + $87 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($87|0); +} +function _sqlite3FtsUnicodeIsdiacritic($0) { + $0 = $0|0; + var $$sink = 0, $$sink3 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 134389727; + HEAP32[$4>>2] = 221688; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)<(768); + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)>(817); + $or$cond = $6 | $8; + if ($or$cond) { + HEAP32[$1>>2] = 0; + $20 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($20|0); + } + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)<(800); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - 768)|0; + $$sink = $11;$$sink3 = $13; + } else { + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = (($15) - 768)|0; + $17 = (($16) - 32)|0; + $$sink = $14;$$sink3 = $17; + } + $18 = 1 << $$sink3; + $19 = $$sink & $18; + HEAP32[$1>>2] = $19; + $20 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($20|0); +} +function _remove_diacritic($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; + $1 = sp + 20|0; + $2 = sp + 24|0; + $3 = sp + 226|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$1>>2] = $0; + _memcpy(($2|0),(18682|0),202)|0; + dest=$3; src=48822; stop=dest+101|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $9 = HEAP32[$1>>2]|0; + $10 = $9 << 3; + $11 = $10 | 7; + HEAP32[$4>>2] = $11; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 100; + HEAP32[$7>>2] = 0; + while(1) { + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = ($12|0)>=($13|0); + if (!($14)) { + break; + } + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = (($15) + ($16))|0; + $18 = (($17|0) / 2)&-1; + HEAP32[$8>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$8>>2]|0; + $21 = (($2) + ($20<<1)|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = ($19>>>0)>=($23>>>0); + $25 = HEAP32[$8>>2]|0; + if ($24) { + HEAP32[$5>>2] = $25; + $26 = HEAP32[$8>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$7>>2] = $27; + continue; + } else { + $28 = (($25) - 1)|0; + HEAP32[$6>>2] = $28; + continue; + } + } + $29 = HEAP32[$1>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = (($2) + ($30<<1)|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32&65535; + $34 = $33 >> 3; + $35 = HEAP32[$5>>2]|0; + $36 = (($2) + ($35<<1)|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37&65535; + $39 = $38 & 7; + $40 = (($34) + ($39))|0; + $41 = ($29|0)>($40|0); + if ($41) { + $42 = HEAP32[$1>>2]|0; + $47 = $42; + STACKTOP = sp;return ($47|0); + } else { + $43 = HEAP32[$5>>2]|0; + $44 = (($3) + ($43)|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45 << 24 >> 24; + $47 = $46; + STACKTOP = sp;return ($47|0); + } + return (0)|0; +} +function _sqlite3FtsUnicodeIsalnum($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)<(128); + $10 = HEAP32[$2>>2]|0; + if ($9) { + $11 = $10 >> 5; + $12 = (6940 + ($11<<2)|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = $14 & 31; + $16 = 1 << $15; + $17 = $13 & $16; + $18 = ($17|0)==(0); + $19 = $18&1; + HEAP32[$1>>2] = $19; + $52 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($52|0); + } + $20 = ($10|0)<(4194304); + if (!($20)) { + HEAP32[$1>>2] = 1; + $52 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($52|0); + } + $21 = HEAP32[$2>>2]|0; + $22 = $21 << 10; + $23 = $22 | 1023; + HEAP32[$3>>2] = $23; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 405; + HEAP32[$6>>2] = 0; + while(1) { + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$6>>2]|0; + $26 = ($24|0)>=($25|0); + if (!($26)) { + break; + } + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = (($27) + ($28))|0; + $30 = (($29|0) / 2)&-1; + HEAP32[$7>>2] = $30; + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$7>>2]|0; + $33 = (6956 + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($31>>>0)>=($34>>>0); + $36 = HEAP32[$7>>2]|0; + if ($35) { + HEAP32[$4>>2] = $36; + $37 = HEAP32[$7>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$6>>2] = $38; + continue; + } else { + $39 = (($36) - 1)|0; + HEAP32[$5>>2] = $39; + continue; + } + } + $40 = HEAP32[$2>>2]|0; + $41 = HEAP32[$4>>2]|0; + $42 = (6956 + ($41<<2)|0); + $43 = HEAP32[$42>>2]|0; + $44 = $43 >>> 10; + $45 = HEAP32[$4>>2]|0; + $46 = (6956 + ($45<<2)|0); + $47 = HEAP32[$46>>2]|0; + $48 = $47 & 1023; + $49 = (($44) + ($48))|0; + $50 = ($40>>>0)>=($49>>>0); + $51 = $50&1; + HEAP32[$1>>2] = $51; + $52 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($52|0); +} +function _unicodeIsException($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)>(0); + L1: do { + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$5>>2] = $15; + HEAP32[$6>>2] = 0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) - 1)|0; + HEAP32[$7>>2] = $19; + while(1) { + $20 = HEAP32[$7>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = ($20|0)>=($21|0); + if (!($22)) { + break L1; + } + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = (($23) + ($24))|0; + $26 = (($25|0) / 2)&-1; + HEAP32[$8>>2] = $26; + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$8>>2]|0; + $30 = (($28) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($27|0)==($31|0); + if ($32) { + break; + } + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$8>>2]|0; + $36 = (($34) + ($35<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)>($37|0); + $39 = HEAP32[$8>>2]|0; + if ($38) { + $40 = (($39) + 1)|0; + HEAP32[$6>>2] = $40; + continue; + } else { + $41 = (($39) - 1)|0; + HEAP32[$7>>2] = $41; + continue; + } + } + HEAP32[$2>>2] = 1; + $42 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($42|0); + } + } while(0); + HEAP32[$2>>2] = 0; + $42 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($42|0); +} +function _unicodeAddExceptions($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $17 = HEAP32[$7>>2]|0; + HEAP32[$9>>2] = $17; + $18 = HEAP32[$9>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = (($18) + ($19)|0); + HEAP32[$10>>2] = $20; + HEAP32[$12>>2] = 0; + while(1) { + $21 = HEAP32[$9>>2]|0; + $22 = HEAP32[$10>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if (!($23)) { + break; + } + $24 = HEAP32[$9>>2]|0; + $25 = ((($24)) + 1|0); + HEAP32[$9>>2] = $25; + $26 = HEAP8[$24>>0]|0; + $27 = $26&255; + HEAP32[$11>>2] = $27; + $28 = HEAP32[$11>>2]|0; + $29 = ($28|0)>=(192); + do { + if ($29) { + $30 = HEAP32[$11>>2]|0; + $31 = (($30) - 192)|0; + $32 = (22127 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + HEAP32[$11>>2] = $34; + while(1) { + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$10>>2]|0; + $37 = ($35|0)!=($36|0); + if ($37) { + $38 = HEAP32[$9>>2]|0; + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $40 & 192; + $42 = ($41|0)==(128); + $167 = $42; + } else { + $167 = 0; + } + $43 = HEAP32[$11>>2]|0; + if (!($167)) { + break; + } + $44 = $43 << 6; + $45 = HEAP32[$9>>2]|0; + $46 = ((($45)) + 1|0); + HEAP32[$9>>2] = $46; + $47 = HEAP8[$45>>0]|0; + $48 = $47&255; + $49 = 63 & $48; + $50 = (($44) + ($49))|0; + HEAP32[$11>>2] = $50; + } + $51 = ($43|0)<(128); + if (!($51)) { + $52 = HEAP32[$11>>2]|0; + $53 = $52 & -2048; + $54 = ($53|0)==(55296); + if (!($54)) { + $55 = HEAP32[$11>>2]|0; + $56 = $55 & -2; + $57 = ($56|0)==(65534); + if (!($57)) { + break; + } + } + } + HEAP32[$11>>2] = 65533; + } + } while(0); + $58 = HEAP32[$11>>2]|0; + $59 = (_sqlite3FtsUnicodeIsalnum($58)|0); + $60 = HEAP32[$6>>2]|0; + $61 = ($59|0)!=($60|0); + if (!($61)) { + continue; + } + $62 = HEAP32[$11>>2]|0; + $63 = (_sqlite3FtsUnicodeIsdiacritic($62)|0); + $64 = ($63|0)==(0); + if (!($64)) { + continue; + } + $65 = HEAP32[$12>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$12>>2] = $66; + } + $67 = HEAP32[$12>>2]|0; + $68 = ($67|0)!=(0); + if ($68) { + $69 = HEAP32[$5>>2]|0; + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$5>>2]|0; + $73 = ((($72)) + 8|0); + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$12>>2]|0; + $76 = (($74) + ($75))|0; + $77 = $76<<2; + $78 = (_sqlite3_realloc($71,$77)|0); + HEAP32[$13>>2] = $78; + $79 = HEAP32[$13>>2]|0; + $80 = ($79|0)==(0|0); + if ($80) { + HEAP32[$4>>2] = 7; + $166 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($166|0); + } + $81 = HEAP32[$5>>2]|0; + $82 = ((($81)) + 8|0); + $83 = HEAP32[$82>>2]|0; + HEAP32[$14>>2] = $83; + $84 = HEAP32[$7>>2]|0; + HEAP32[$9>>2] = $84; + while(1) { + $85 = HEAP32[$9>>2]|0; + $86 = HEAP32[$10>>2]|0; + $87 = ($85>>>0)<($86>>>0); + if (!($87)) { + break; + } + $88 = HEAP32[$9>>2]|0; + $89 = ((($88)) + 1|0); + HEAP32[$9>>2] = $89; + $90 = HEAP8[$88>>0]|0; + $91 = $90&255; + HEAP32[$11>>2] = $91; + $92 = HEAP32[$11>>2]|0; + $93 = ($92|0)>=(192); + do { + if ($93) { + $94 = HEAP32[$11>>2]|0; + $95 = (($94) - 192)|0; + $96 = (22127 + ($95)|0); + $97 = HEAP8[$96>>0]|0; + $98 = $97&255; + HEAP32[$11>>2] = $98; + while(1) { + $99 = HEAP32[$9>>2]|0; + $100 = HEAP32[$10>>2]|0; + $101 = ($99|0)!=($100|0); + if ($101) { + $102 = HEAP32[$9>>2]|0; + $103 = HEAP8[$102>>0]|0; + $104 = $103&255; + $105 = $104 & 192; + $106 = ($105|0)==(128); + $168 = $106; + } else { + $168 = 0; + } + $107 = HEAP32[$11>>2]|0; + if (!($168)) { + break; + } + $108 = $107 << 6; + $109 = HEAP32[$9>>2]|0; + $110 = ((($109)) + 1|0); + HEAP32[$9>>2] = $110; + $111 = HEAP8[$109>>0]|0; + $112 = $111&255; + $113 = 63 & $112; + $114 = (($108) + ($113))|0; + HEAP32[$11>>2] = $114; + } + $115 = ($107|0)<(128); + if (!($115)) { + $116 = HEAP32[$11>>2]|0; + $117 = $116 & -2048; + $118 = ($117|0)==(55296); + if (!($118)) { + $119 = HEAP32[$11>>2]|0; + $120 = $119 & -2; + $121 = ($120|0)==(65534); + if (!($121)) { break; } - case 11: { - $6893 = HEAP32[$pOp>>2]|0; - $6894 = ((($6893)) + 12|0); - $6895 = HEAP32[$6894>>2]|0; - $6896 = HEAP32[$aMem>>2]|0; - $6897 = (($6896) + (($6895*40)|0)|0); - HEAP32[$pQuery>>2] = $6897; - $6898 = HEAP32[$pQuery>>2]|0; - $6899 = ((($6898)) + 40|0); - HEAP32[$pArgc>>2] = $6899; - $6900 = HEAP32[$pOp>>2]|0; - $6901 = ((($6900)) + 4|0); - $6902 = HEAP32[$6901>>2]|0; - $6903 = HEAP32[$0>>2]|0; - $6904 = ((($6903)) + 112|0); - $6905 = HEAP32[$6904>>2]|0; - $6906 = (($6905) + ($6902<<2)|0); - $6907 = HEAP32[$6906>>2]|0; - HEAP32[$pCur109>>2] = $6907; - $6908 = HEAP32[$pCur109>>2]|0; - $6909 = ((($6908)) + 16|0); - $6910 = HEAP32[$6909>>2]|0; - HEAP32[$pVCur107>>2] = $6910; - $6911 = HEAP32[$pVCur107>>2]|0; - $6912 = HEAP32[$6911>>2]|0; - HEAP32[$pVtab108>>2] = $6912; - $6913 = HEAP32[$pVtab108>>2]|0; - $6914 = HEAP32[$6913>>2]|0; - HEAP32[$pModule106>>2] = $6914; - $6915 = HEAP32[$pArgc>>2]|0; - $6916 = $6915; - $6917 = $6916; - $6918 = HEAP32[$6917>>2]|0; - $6919 = (($6916) + 4)|0; - $6920 = $6919; - $6921 = HEAP32[$6920>>2]|0; - HEAP32[$nArg>>2] = $6918; - $6922 = HEAP32[$pQuery>>2]|0; - $6923 = $6922; - $6924 = $6923; - $6925 = HEAP32[$6924>>2]|0; - $6926 = (($6923) + 4)|0; - $6927 = $6926; - $6928 = HEAP32[$6927>>2]|0; - HEAP32[$iQuery>>2] = $6925; - HEAP32[$res110>>2] = 0; - $6929 = HEAP32[$0>>2]|0; - $6930 = ((($6929)) + 96|0); - $6931 = HEAP32[$6930>>2]|0; - HEAP32[$apArg>>2] = $6931; - HEAP32[$i111>>2] = 0; + } + } + HEAP32[$11>>2] = 65533; + } + } while(0); + $122 = HEAP32[$11>>2]|0; + $123 = (_sqlite3FtsUnicodeIsalnum($122)|0); + $124 = HEAP32[$6>>2]|0; + $125 = ($123|0)!=($124|0); + if (!($125)) { + continue; + } + $126 = HEAP32[$11>>2]|0; + $127 = (_sqlite3FtsUnicodeIsdiacritic($126)|0); + $128 = ($127|0)==(0); + if (!($128)) { + continue; + } + HEAP32[$15>>2] = 0; + while(1) { + $129 = HEAP32[$15>>2]|0; + $130 = HEAP32[$14>>2]|0; + $131 = ($129|0)<($130|0); + if (!($131)) { + break; + } + $132 = HEAP32[$13>>2]|0; + $133 = HEAP32[$15>>2]|0; + $134 = (($132) + ($133<<2)|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$11>>2]|0; + $137 = ($135|0)<($136|0); + if (!($137)) { + break; + } + $138 = HEAP32[$15>>2]|0; + $139 = (($138) + 1)|0; + HEAP32[$15>>2] = $139; + } + $140 = HEAP32[$14>>2]|0; + HEAP32[$16>>2] = $140; + while(1) { + $141 = HEAP32[$16>>2]|0; + $142 = HEAP32[$15>>2]|0; + $143 = ($141|0)>($142|0); + if (!($143)) { + break; + } + $144 = HEAP32[$13>>2]|0; + $145 = HEAP32[$16>>2]|0; + $146 = (($145) - 1)|0; + $147 = (($144) + ($146<<2)|0); + $148 = HEAP32[$147>>2]|0; + $149 = HEAP32[$13>>2]|0; + $150 = HEAP32[$16>>2]|0; + $151 = (($149) + ($150<<2)|0); + HEAP32[$151>>2] = $148; + $152 = HEAP32[$16>>2]|0; + $153 = (($152) + -1)|0; + HEAP32[$16>>2] = $153; + } + $154 = HEAP32[$11>>2]|0; + $155 = HEAP32[$13>>2]|0; + $156 = HEAP32[$15>>2]|0; + $157 = (($155) + ($156<<2)|0); + HEAP32[$157>>2] = $154; + $158 = HEAP32[$14>>2]|0; + $159 = (($158) + 1)|0; + HEAP32[$14>>2] = $159; + } + $160 = HEAP32[$13>>2]|0; + $161 = HEAP32[$5>>2]|0; + $162 = ((($161)) + 12|0); + HEAP32[$162>>2] = $160; + $163 = HEAP32[$14>>2]|0; + $164 = HEAP32[$5>>2]|0; + $165 = ((($164)) + 8|0); + HEAP32[$165>>2] = $163; + } + HEAP32[$4>>2] = 0; + $166 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($166|0); +} +function _fts5Init($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 0; + $5 = (_sqlite3_malloc(48)|0); + HEAP32[$3>>2] = $5; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + HEAP32[$2>>2] = 7; + $55 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($55|0); + } + $8 = HEAP32[$3>>2]|0; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$3>>2]|0; + dest=$9; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 16|0); + HEAP32[$12>>2] = $10; + $13 = HEAP32[$3>>2]|0; + HEAP32[$13>>2] = 2; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 12|0); + HEAP32[$15>>2] = 149; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 4|0); + HEAP32[$17>>2] = 150; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 8|0); + HEAP32[$19>>2] = 152; + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = (_sqlite3_create_module_v2($20,47730,8580,$21,163)|0); + HEAP32[$2>>2] = $22; + $23 = HEAP32[$2>>2]|0; + $24 = ($23|0)==(0); + if ($24) { + $25 = HEAP32[$1>>2]|0; + $26 = (_sqlite3Fts5IndexInit($25)|0); + HEAP32[$2>>2] = $26; + } + $27 = HEAP32[$2>>2]|0; + $28 = ($27|0)==(0); + if ($28) { + $29 = HEAP32[$3>>2]|0; + $30 = HEAP32[$1>>2]|0; + $31 = (_sqlite3Fts5ExprInit($29,$30)|0); + HEAP32[$2>>2] = $31; + } + $32 = HEAP32[$2>>2]|0; + $33 = ($32|0)==(0); + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_sqlite3Fts5AuxInit($34)|0); + HEAP32[$2>>2] = $35; + } + $36 = HEAP32[$2>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $38 = HEAP32[$3>>2]|0; + $39 = (_sqlite3Fts5TokenizerInit($38)|0); + HEAP32[$2>>2] = $39; + } + $40 = HEAP32[$2>>2]|0; + $41 = ($40|0)==(0); + if ($41) { + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$1>>2]|0; + $44 = (_sqlite3Fts5VocabInit($42,$43)|0); + HEAP32[$2>>2] = $44; + } + $45 = HEAP32[$2>>2]|0; + $46 = ($45|0)==(0); + if ($46) { + $47 = HEAP32[$1>>2]|0; + $48 = HEAP32[$4>>2]|0; + $49 = (_sqlite3_create_function($47,47730,0,1,$48,234,0,0)|0); + HEAP32[$2>>2] = $49; + } + $50 = HEAP32[$2>>2]|0; + $51 = ($50|0)==(0); + if (!($51)) { + $55 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($55|0); + } + $52 = HEAP32[$1>>2]|0; + $53 = HEAP32[$4>>2]|0; + $54 = (_sqlite3_create_function($52,47735,0,1,$53,235,0,0)|0); + HEAP32[$2>>2] = $54; + $55 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($55|0); +} +function _fts5CreateAux($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $15 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = $15; + $16 = HEAP32[$10>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = (_sqlite3_overload_function($18,$19,-1)|0); + HEAP32[$11>>2] = $20; + $21 = HEAP32[$11>>2]|0; + $22 = ($21|0)==(0); + if (!($22)) { + $62 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($62|0); + } + $23 = HEAP32[$6>>2]|0; + $24 = (_strlen($23)|0); + $25 = (($24) + 1)|0; + HEAP32[$13>>2] = $25; + $26 = HEAP32[$13>>2]|0; + $27 = (24 + ($26))|0; + HEAP32[$14>>2] = $27; + $28 = HEAP32[$14>>2]|0; + $29 = (_sqlite3_malloc($28)|0); + HEAP32[$12>>2] = $29; + $30 = HEAP32[$12>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$12>>2]|0; + $33 = HEAP32[$14>>2]|0; + _memset(($32|0),0,($33|0))|0; + $34 = HEAP32[$12>>2]|0; + $35 = ((($34)) + 24|0); + $36 = HEAP32[$12>>2]|0; + $37 = ((($36)) + 4|0); + HEAP32[$37>>2] = $35; + $38 = HEAP32[$12>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$13>>2]|0; + _memcpy(($40|0),($41|0),($42|0))|0; + $43 = HEAP32[$10>>2]|0; + $44 = HEAP32[$12>>2]|0; + HEAP32[$44>>2] = $43; + $45 = HEAP32[$7>>2]|0; + $46 = HEAP32[$12>>2]|0; + $47 = ((($46)) + 8|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$8>>2]|0; + $49 = HEAP32[$12>>2]|0; + $50 = ((($49)) + 12|0); + HEAP32[$50>>2] = $48; + $51 = HEAP32[$9>>2]|0; + $52 = HEAP32[$12>>2]|0; + $53 = ((($52)) + 16|0); + HEAP32[$53>>2] = $51; + $54 = HEAP32[$10>>2]|0; + $55 = ((($54)) + 32|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$12>>2]|0; + $58 = ((($57)) + 20|0); + HEAP32[$58>>2] = $56; + $59 = HEAP32[$12>>2]|0; + $60 = HEAP32[$10>>2]|0; + $61 = ((($60)) + 32|0); + HEAP32[$61>>2] = $59; + $62 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($62|0); + } else { + HEAP32[$11>>2] = 7; + $62 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($62|0); + } + return (0)|0; +} +function _fts5CreateTokenizer($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $15 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = $15; + HEAP32[$14>>2] = 0; + $16 = HEAP32[$6>>2]|0; + $17 = (_strlen($16)|0); + $18 = (($17) + 1)|0; + HEAP32[$12>>2] = $18; + $19 = HEAP32[$12>>2]|0; + $20 = (28 + ($19))|0; + HEAP32[$13>>2] = $20; + $21 = HEAP32[$13>>2]|0; + $22 = (_sqlite3_malloc($21)|0); + HEAP32[$11>>2] = $22; + $23 = HEAP32[$11>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { + HEAP32[$14>>2] = 7; + $58 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($58|0); + } + $25 = HEAP32[$11>>2]|0; + $26 = HEAP32[$13>>2]|0; + _memset(($25|0),0,($26|0))|0; + $27 = HEAP32[$11>>2]|0; + $28 = ((($27)) + 28|0); + $29 = HEAP32[$11>>2]|0; + HEAP32[$29>>2] = $28; + $30 = HEAP32[$11>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$12>>2]|0; + _memcpy(($31|0),($32|0),($33|0))|0; + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$11>>2]|0; + $36 = ((($35)) + 4|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$11>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$8>>2]|0; + ;HEAP32[$38>>2]=HEAP32[$39>>2]|0;HEAP32[$38+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$38+8>>2]=HEAP32[$39+8>>2]|0; + $40 = HEAP32[$9>>2]|0; + $41 = HEAP32[$11>>2]|0; + $42 = ((($41)) + 20|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$10>>2]|0; + $44 = ((($43)) + 36|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$11>>2]|0; + $47 = ((($46)) + 24|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$11>>2]|0; + $49 = HEAP32[$10>>2]|0; + $50 = ((($49)) + 36|0); + HEAP32[$50>>2] = $48; + $51 = HEAP32[$11>>2]|0; + $52 = ((($51)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==(0|0); + if (!($54)) { + $58 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($58|0); + } + $55 = HEAP32[$11>>2]|0; + $56 = HEAP32[$10>>2]|0; + $57 = ((($56)) + 40|0); + HEAP32[$57>>2] = $55; + $58 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($58|0); +} +function _fts5FindTokenizer($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = (_fts5LocateTokenizer($10,$11)|0); + HEAP32[$9>>2] = $12; + $13 = HEAP32[$9>>2]|0; + $14 = ($13|0)!=(0|0); + $15 = HEAP32[$7>>2]|0; + if ($14) { + $16 = HEAP32[$9>>2]|0; + $17 = ((($16)) + 8|0); + ;HEAP32[$15>>2]=HEAP32[$17>>2]|0;HEAP32[$15+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$15+8>>2]=HEAP32[$17+8>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$6>>2]|0; + HEAP32[$21>>2] = $20; + $22 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($22|0); + } else { + ;HEAP32[$15>>2]=0|0;HEAP32[$15+4>>2]=0|0;HEAP32[$15+8>>2]=0|0; + HEAP32[$8>>2] = 1; + $22 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($22|0); + } + return (0)|0; +} +function _fts5ModuleDestroy($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$1>>2] = $0; + $7 = HEAP32[$1>>2]|0; + HEAP32[$6>>2] = $7; + $8 = HEAP32[$6>>2]|0; + $9 = ((($8)) + 32|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + while(1) { + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$5>>2] = $15; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + FUNCTION_TABLE_vi[$22 & 255]($25); + } + $26 = HEAP32[$4>>2]|0; + _sqlite3_free($26); + $27 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $27; + } + $28 = HEAP32[$6>>2]|0; + $29 = ((($28)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$2>>2] = $30; + while(1) { + $31 = HEAP32[$2>>2]|0; + $32 = ($31|0)!=(0|0); + if (!($32)) { + break; + } + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 24|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$3>>2] = $35; + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 20|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)!=(0|0); + if ($39) { + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 20|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$2>>2]|0; + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + FUNCTION_TABLE_vi[$42 & 255]($45); + } + $46 = HEAP32[$2>>2]|0; + _sqlite3_free($46); + $47 = HEAP32[$3>>2]|0; + HEAP32[$2>>2] = $47; + } + $48 = HEAP32[$6>>2]|0; + _sqlite3_free($48); + STACKTOP = sp;return; +} +function _sqlite3Fts5IndexInit($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_create_function($3,50433,2,1,0,236,0,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = (_sqlite3_create_function($7,50445,2,1,$8,236,0,0)|0); + HEAP32[$2>>2] = $9; + } + $10 = HEAP32[$2>>2]|0; + $11 = ($10|0)==(0); + if (!($11)) { + $14 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($14|0); + } + $12 = HEAP32[$1>>2]|0; + $13 = (_sqlite3_create_function($12,50462,-1,1,0,237,0,0)|0); + HEAP32[$2>>2] = $13; + $14 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($14|0); +} +function _sqlite3Fts5ExprInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 52|0; + $3 = sp + 48|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + ;HEAP32[$4>>2]=HEAP32[10508>>2]|0;HEAP32[$4+4>>2]=HEAP32[10508+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[10508+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[10508+12>>2]|0;HEAP32[$4+16>>2]=HEAP32[10508+16>>2]|0;HEAP32[$4+20>>2]=HEAP32[10508+20>>2]|0;HEAP32[$4+24>>2]=HEAP32[10508+24>>2]|0;HEAP32[$4+28>>2]=HEAP32[10508+28>>2]|0; + HEAP32[$6>>2] = 0; + $9 = HEAP32[$2>>2]|0; + HEAP32[$7>>2] = $9; + HEAP32[$5>>2] = 0; + while(1) { + $10 = HEAP32[$6>>2]|0; + $11 = ($10|0)==(0); + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)<(4); + $14 = $11 ? $13 : 0; + if (!($14)) { + break; + } + $15 = HEAP32[$5>>2]|0; + $16 = (($4) + ($15<<3)|0); + HEAP32[$8>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$8>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = HEAP32[$8>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3_create_function($17,$19,-1,1,$20,$23,0,0)|0); + HEAP32[$6>>2] = $24; + $25 = HEAP32[$5>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$5>>2] = $26; + } + $27 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($27|0); +} +function _sqlite3Fts5AuxInit($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $1 = sp + 56|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + dest=$2; src=10460; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)<(3); + $9 = $6 ? $8 : 0; + if (!($9)) { + break; + } + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = (($2) + ($14<<4)|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = (($2) + ($17<<4)|0); + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = (($2) + ($21<<4)|0); + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = (($2) + ($25<<4)|0); + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = (FUNCTION_TABLE_iiiiii[$12 & 255]($13,$16,$20,$24,$28)|0); + HEAP32[$3>>2] = $29; + $30 = HEAP32[$4>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$4>>2] = $31; + } + $32 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _sqlite3Fts5TokenizerInit($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $1 = sp + 56|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + dest=$2; src=8772; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)<(3); + $9 = $6 ? $8 : 0; + if (!($9)) { + break; + } + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = (($2) + ($14<<4)|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = (($2) + ($18<<4)|0); + $20 = ((($19)) + 4|0); + $21 = (FUNCTION_TABLE_iiiiii[$12 & 255]($13,$16,$17,$20,0)|0); + HEAP32[$3>>2] = $21; + $22 = HEAP32[$4>>2]|0; + $23 = (($22) + 1)|0; + HEAP32[$4>>2] = $23; + } + $24 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($24|0); +} +function _sqlite3Fts5VocabInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = (_sqlite3_create_module_v2($6,47817,8672,$7,0)|0); + STACKTOP = sp;return ($8|0); +} +function _fts5Fts5Func($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + $7 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = (_sqlite3_user_data($8)|0); + HEAP32[$6>>2] = $9; + ;HEAP8[$7>>0]=HEAP8[$6>>0]|0;HEAP8[$7+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$7+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$7+3>>0]=HEAP8[$6+3>>0]|0; + $10 = HEAP32[$3>>2]|0; + _sqlite3_result_blob($10,$7,4,(-1)); + STACKTOP = sp;return; +} +function _fts5SourceIdFunc($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + _sqlite3_result_text($6,47750,-1,(-1)); + STACKTOP = sp;return; +} +function _fts5VocabCreateMethod($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$9>>2]|0; + $16 = HEAP32[$10>>2]|0; + $17 = HEAP32[$11>>2]|0; + $18 = (_fts5VocabInitVtab($12,$13,$14,$15,$16,$17)|0); + STACKTOP = sp;return ($18|0); +} +function _fts5VocabConnectMethod($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$9>>2]|0; + $16 = HEAP32[$10>>2]|0; + $17 = HEAP32[$11>>2]|0; + $18 = (_fts5VocabInitVtab($12,$13,$14,$15,$16,$17)|0); + STACKTOP = sp;return ($18|0); +} +function _fts5VocabBestIndexMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0.0, $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = -1; + HEAP32[$6>>2] = -1; + HEAP32[$7>>2] = -1; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$4>>2] = 0; + while(1) { + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)<($13|0); + if (!($14)) { + break; + } + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = (($17) + (($18*12)|0)|0); + HEAP32[$10>>2] = $19; + $20 = HEAP32[$10>>2]|0; + $21 = ((($20)) + 5|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)==(0); + if (!($24)) { + $25 = HEAP32[$10>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = HEAP32[$10>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = ($31|0)==(2); + if ($32) { + $33 = HEAP32[$4>>2]|0; + HEAP32[$5>>2] = $33; + } + $34 = HEAP32[$10>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = ($37|0)==(8); + if ($38) { + $39 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $39; + } + $40 = HEAP32[$10>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = ($43|0)==(16); + if ($44) { + $45 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $45; + } + $46 = HEAP32[$10>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = ($49|0)==(32); + if ($50) { + $51 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $51; + } + $52 = HEAP32[$10>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = ($55|0)==(4); + if ($56) { + $57 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $57; + } + } + } + $58 = HEAP32[$4>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$4>>2] = $59; + } + $60 = HEAP32[$5>>2]|0; + $61 = ($60|0)>=(0); + if ($61) { + $62 = HEAP32[$8>>2]|0; + $63 = $62 | 1; + HEAP32[$8>>2] = $63; + $64 = HEAP32[$9>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$9>>2] = $65; + $66 = HEAP32[$3>>2]|0; + $67 = ((($66)) + 16|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$5>>2]|0; + $70 = (($68) + ($69<<3)|0); + HEAP32[$70>>2] = $65; + $71 = HEAP32[$3>>2]|0; + $$sink = 100.0;$$sink2 = $71; + label = 22; + } else { + $72 = HEAP32[$3>>2]|0; + $73 = ((($72)) + 40|0); + HEAPF64[$73>>3] = 1.0E+6; + $74 = HEAP32[$6>>2]|0; + $75 = ($74|0)>=(0); + if ($75) { + $76 = HEAP32[$8>>2]|0; + $77 = $76 | 2; + HEAP32[$8>>2] = $77; + $78 = HEAP32[$9>>2]|0; + $79 = (($78) + 1)|0; + HEAP32[$9>>2] = $79; + $80 = HEAP32[$3>>2]|0; + $81 = ((($80)) + 16|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$6>>2]|0; + $84 = (($82) + ($83<<3)|0); + HEAP32[$84>>2] = $79; + $85 = HEAP32[$3>>2]|0; + $86 = ((($85)) + 40|0); + $87 = +HEAPF64[$86>>3]; + $88 = $87 / 2.0; + $89 = HEAP32[$3>>2]|0; + $90 = ((($89)) + 40|0); + HEAPF64[$90>>3] = $88; + } + $91 = HEAP32[$7>>2]|0; + $92 = ($91|0)>=(0); + if ($92) { + $93 = HEAP32[$8>>2]|0; + $94 = $93 | 4; + HEAP32[$8>>2] = $94; + $95 = HEAP32[$9>>2]|0; + $96 = (($95) + 1)|0; + HEAP32[$9>>2] = $96; + $97 = HEAP32[$3>>2]|0; + $98 = ((($97)) + 16|0); + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$7>>2]|0; + $101 = (($99) + ($100<<3)|0); + HEAP32[$101>>2] = $96; + $102 = HEAP32[$3>>2]|0; + $103 = ((($102)) + 40|0); + $104 = +HEAPF64[$103>>3]; + $105 = $104 / 2.0; + $106 = HEAP32[$3>>2]|0; + $$sink = $105;$$sink2 = $106; + label = 22; + } + } + if ((label|0) == 22) { + $107 = ((($$sink2)) + 40|0); + HEAPF64[$107>>3] = $$sink; + } + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + 8|0); + $110 = HEAP32[$109>>2]|0; + $111 = ($110|0)==(1); + if (!($111)) { + $126 = HEAP32[$8>>2]|0; + $127 = HEAP32[$3>>2]|0; + $128 = ((($127)) + 20|0); + HEAP32[$128>>2] = $126; + STACKTOP = sp;return 0; + } + $112 = HEAP32[$3>>2]|0; + $113 = ((($112)) + 12|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0); + if (!($116)) { + $126 = HEAP32[$8>>2]|0; + $127 = HEAP32[$3>>2]|0; + $128 = ((($127)) + 20|0); + HEAP32[$128>>2] = $126; + STACKTOP = sp;return 0; + } + $117 = HEAP32[$3>>2]|0; + $118 = ((($117)) + 12|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($119)) + 4|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = ($122|0)==(0); + if (!($123)) { + $126 = HEAP32[$8>>2]|0; + $127 = HEAP32[$3>>2]|0; + $128 = ((($127)) + 20|0); + HEAP32[$128>>2] = $126; + STACKTOP = sp;return 0; + } + $124 = HEAP32[$3>>2]|0; + $125 = ((($124)) + 32|0); + HEAP32[$125>>2] = 1; + $126 = HEAP32[$8>>2]|0; + $127 = HEAP32[$3>>2]|0; + $128 = ((($127)) + 20|0); + HEAP32[$128>>2] = $126; + STACKTOP = sp;return 0; +} +function _fts5VocabDisconnectMethod($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + _sqlite3_free($4); + STACKTOP = sp;return 0; +} +function _fts5VocabDestroyMethod($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + _sqlite3_free($4); + STACKTOP = sp;return 0; +} +function _fts5VocabOpenMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer5 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer = sp + 8|0; + $2 = sp + 68|0; + $3 = sp + 64|0; + $4 = sp + 60|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp; + $12 = sp + 32|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $13 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $13; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$vararg_buffer>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $19; + $vararg_ptr3 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr3>>2] = $22; + $vararg_ptr4 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr4>>2] = $25; + $26 = (_sqlite3Fts5Mprintf($8,48218,$vararg_buffer)|0); + HEAP32[$10>>2] = $26; + $27 = HEAP32[$10>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$10>>2]|0; + $33 = (_sqlite3_prepare_v2($31,$32,-1,$9,0)|0); + HEAP32[$8>>2] = $33; + } + $34 = HEAP32[$10>>2]|0; + _sqlite3_free($34); + $35 = HEAP32[$8>>2]|0; + $36 = ($35|0)==(1); + if ($36) { + HEAP32[$8>>2] = 0; + } + $37 = HEAP32[$9>>2]|0; + $38 = ($37|0)!=(0|0); + if ($38) { + $39 = HEAP32[$9>>2]|0; + $40 = (_sqlite3_step($39)|0); + $41 = ($40|0)==(100); + if ($41) { + $42 = HEAP32[$9>>2]|0; + $43 = (_sqlite3_column_int64($42,0)|0); + $44 = tempRet0; + $45 = $11; + $46 = $45; + HEAP32[$46>>2] = $43; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $44; + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = $11; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (_sqlite3Fts5IndexFromCsrid($51,$54,$57,$6)|0); + HEAP32[$5>>2] = $58; + } + } + $59 = HEAP32[$8>>2]|0; + $60 = ($59|0)==(0); + $61 = HEAP32[$5>>2]|0; + $62 = ($61|0)==(0|0); + $or$cond = $60 & $62; + if ($or$cond) { + $63 = HEAP32[$9>>2]|0; + $64 = (_sqlite3_finalize($63)|0); + HEAP32[$8>>2] = $64; + HEAP32[$9>>2] = 0; + $65 = HEAP32[$8>>2]|0; + $66 = ($65|0)==(0); + if ($66) { + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$4>>2]|0; + $71 = ((($70)) + 12|0); + $72 = HEAP32[$71>>2]|0; + HEAP32[$vararg_buffer5>>2] = $69; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $72; + $73 = (_sqlite3_mprintf(48269,$vararg_buffer5)|0); + $74 = HEAP32[$2>>2]|0; + $75 = ((($74)) + 8|0); + HEAP32[$75>>2] = $73; + HEAP32[$8>>2] = 1; + } + } + $76 = HEAP32[$8>>2]|0; + $77 = ($76|0)==(0); + if ($77) { + $78 = HEAP32[$6>>2]|0; + $79 = ((($78)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = $80<<3; + $82 = $81<<1; + $83 = (($82) + 72)|0; + HEAP32[$12>>2] = $83; + $84 = HEAP32[$12>>2]|0; + $85 = (_sqlite3Fts5MallocZero($8,$84)|0); + HEAP32[$7>>2] = $85; + } + $86 = HEAP32[$7>>2]|0; + $87 = ($86|0)!=(0|0); + if ($87) { + $88 = HEAP32[$5>>2]|0; + $89 = HEAP32[$7>>2]|0; + $90 = ((($89)) + 8|0); + HEAP32[$90>>2] = $88; + $91 = HEAP32[$9>>2]|0; + $92 = HEAP32[$7>>2]|0; + $93 = ((($92)) + 4|0); + HEAP32[$93>>2] = $91; + $94 = HEAP32[$6>>2]|0; + $95 = HEAP32[$7>>2]|0; + $96 = ((($95)) + 28|0); + HEAP32[$96>>2] = $94; + $97 = HEAP32[$7>>2]|0; + $98 = ((($97)) + 72|0); + $99 = HEAP32[$7>>2]|0; + $100 = ((($99)) + 36|0); + HEAP32[$100>>2] = $98; + $101 = HEAP32[$7>>2]|0; + $102 = ((($101)) + 36|0); + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$6>>2]|0; + $105 = ((($104)) + 12|0); + $106 = HEAP32[$105>>2]|0; + $107 = (($103) + ($106<<3)|0); + $108 = HEAP32[$7>>2]|0; + $109 = ((($108)) + 40|0); + HEAP32[$109>>2] = $107; + $111 = HEAP32[$7>>2]|0; + $112 = HEAP32[$3>>2]|0; + HEAP32[$112>>2] = $111; + $113 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($113|0); + } else { + $110 = HEAP32[$9>>2]|0; + (_sqlite3_finalize($110)|0); + $111 = HEAP32[$7>>2]|0; + $112 = HEAP32[$3>>2]|0; + HEAP32[$112>>2] = $111; + $113 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($113|0); + } + return (0)|0; +} +function _fts5VocabCloseMethod($0) { + $0 = $0|0; + var $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; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + _fts5VocabResetCursor($4); + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 56|0); + _sqlite3Fts5BufferFree($6); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + (_sqlite3_finalize($9)|0); + $10 = HEAP32[$2>>2]|0; + _sqlite3_free($10); + STACKTOP = sp;return 0; +} +function _fts5VocabFilterMethod($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + $19 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $20 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = $20; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 8; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + HEAP32[$18>>2] = 0; + $21 = HEAP32[$10>>2]|0; + _fts5VocabResetCursor($21); + $22 = HEAP32[$6>>2]|0; + $23 = $22 & 1; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$9>>2]|0; + $26 = HEAP32[$12>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$12>>2] = $27; + $28 = (($25) + ($26<<2)|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$16>>2] = $29; + } + $30 = HEAP32[$6>>2]|0; + $31 = $30 & 2; + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$9>>2]|0; + $34 = HEAP32[$12>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$12>>2] = $35; + $36 = (($33) + ($34<<2)|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$17>>2] = $37; + } + $38 = HEAP32[$6>>2]|0; + $39 = $38 & 4; + $40 = ($39|0)!=(0); + if ($40) { + $41 = HEAP32[$9>>2]|0; + $42 = HEAP32[$12>>2]|0; + $43 = (($42) + 1)|0; + HEAP32[$12>>2] = $43; + $44 = (($41) + ($42<<2)|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$18>>2] = $45; + } + $46 = HEAP32[$16>>2]|0; + $47 = ($46|0)!=(0|0); + do { + if ($47) { + $48 = HEAP32[$16>>2]|0; + $49 = (_sqlite3_value_text($48)|0); + HEAP32[$14>>2] = $49; + $50 = HEAP32[$16>>2]|0; + $51 = (_sqlite3_value_bytes($50)|0); + HEAP32[$15>>2] = $51; + HEAP32[$13>>2] = 0; + } else { + $52 = HEAP32[$17>>2]|0; + $53 = ($52|0)!=(0|0); + if ($53) { + $54 = HEAP32[$17>>2]|0; + $55 = (_sqlite3_value_text($54)|0); + HEAP32[$14>>2] = $55; + $56 = HEAP32[$17>>2]|0; + $57 = (_sqlite3_value_bytes($56)|0); + HEAP32[$15>>2] = $57; + } + $58 = HEAP32[$18>>2]|0; + $59 = ($58|0)!=(0|0); + if ($59) { + $60 = HEAP32[$18>>2]|0; + $61 = (_sqlite3_value_text($60)|0); + HEAP32[$19>>2] = $61; + $62 = HEAP32[$18>>2]|0; + $63 = (_sqlite3_value_bytes($62)|0); + $64 = HEAP32[$10>>2]|0; + $65 = ((($64)) + 20|0); + HEAP32[$65>>2] = $63; + $66 = HEAP32[$10>>2]|0; + $67 = ((($66)) + 20|0); + $68 = HEAP32[$67>>2]|0; + $69 = (($68) + 1)|0; + $70 = (_sqlite3_malloc($69)|0); + $71 = HEAP32[$10>>2]|0; + $72 = ((($71)) + 24|0); + HEAP32[$72>>2] = $70; + $73 = HEAP32[$10>>2]|0; + $74 = ((($73)) + 24|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($75|0)==(0|0); + if ($76) { + HEAP32[$11>>2] = 7; + break; + } else { + $77 = HEAP32[$10>>2]|0; + $78 = ((($77)) + 24|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$19>>2]|0; + $81 = HEAP32[$10>>2]|0; + $82 = ((($81)) + 20|0); + $83 = HEAP32[$82>>2]|0; + $84 = (($83) + 1)|0; + _memcpy(($79|0),($80|0),($84|0))|0; + break; + } + } + } + } while(0); + $85 = HEAP32[$11>>2]|0; + $86 = ($85|0)==(0); + if ($86) { + $87 = HEAP32[$10>>2]|0; + $88 = ((($87)) + 8|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$14>>2]|0; + $91 = HEAP32[$15>>2]|0; + $92 = HEAP32[$13>>2]|0; + $93 = HEAP32[$10>>2]|0; + $94 = ((($93)) + 16|0); + $95 = (_sqlite3Fts5IndexQuery($89,$90,$91,$92,0,$94)|0); + HEAP32[$11>>2] = $95; + } + $96 = HEAP32[$11>>2]|0; + $97 = ($96|0)==(0); + if (!($97)) { + $100 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($100|0); + } + $98 = HEAP32[$5>>2]|0; + $99 = (_fts5VocabNextMethod($98)|0); + HEAP32[$11>>2] = $99; + $100 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($100|0); +} +function _fts5VocabNextMethod($0) { + $0 = $0|0; + var $$old = 0, $$old4 = 0, $$sink3 = 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; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $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, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; + var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0; + var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0; + var $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0; + var $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $1 = sp + 64|0; + $2 = sp + 60|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + HEAP32[$2>>2] = $0; + $17 = HEAP32[$2>>2]|0; + HEAP32[$3>>2] = $17; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$4>>2] = $19; + HEAP32[$5>>2] = 0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 28|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$6>>2] = $24; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 48|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (_i64Add(($29|0),($32|0),1,0)|0); + $34 = tempRet0; + $35 = $26; + $36 = $35; + HEAP32[$36>>2] = $33; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 28|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)==(0); + L1: do { + if ($42) { + $43 = HEAP32[$3>>2]|0; + $$sink3 = $43; + while(1) { + $44 = ((($$sink3)) + 32|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$44>>2] = $46; + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 32|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$6>>2]|0; + $51 = ($49|0)<($50|0); + if (!($51)) { + break L1; + } + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 40|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$3>>2]|0; + $56 = ((($55)) + 32|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($54) + ($57<<3)|0); + $59 = $58; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = ($61|0)!=(0); + $66 = ($64|0)!=(0); + $67 = $65 | $66; + if ($67) { + break L1; + } + $68 = HEAP32[$3>>2]|0; + $$sink3 = $68; + } + } + } while(0); + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 28|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(1); + if ($72) { + label = 8; + } else { + $73 = HEAP32[$3>>2]|0; + $74 = ((($73)) + 32|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$6>>2]|0; + $77 = ($75|0)>=($76|0); + if ($77) { + label = 8; + } + } + L10: do { + if ((label|0) == 8) { + $78 = HEAP32[$3>>2]|0; + $79 = ((($78)) + 16|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($80)) + 16|0); + $82 = HEAP8[$81>>0]|0; + $83 = ($82<<24>>24)!=(0); + $84 = HEAP32[$3>>2]|0; + if ($83) { + $85 = ((($84)) + 12|0); + HEAP32[$85>>2] = 1; + break; + } + $86 = ((($84)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = (_sqlite3Fts5IterTerm($87,$8)|0); + HEAP32[$7>>2] = $88; + $89 = HEAP32[$3>>2]|0; + $90 = ((($89)) + 20|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)>=(0); + do { + if ($92) { + $93 = HEAP32[$8>>2]|0; + $94 = HEAP32[$3>>2]|0; + $95 = ((($94)) + 20|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($93|0)<($96|0); + if ($97) { + $98 = HEAP32[$8>>2]|0; + $102 = $98; + } else { + $99 = HEAP32[$3>>2]|0; + $100 = ((($99)) + 20|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101; + } + HEAP32[$9>>2] = $102; + $103 = HEAP32[$3>>2]|0; + $104 = ((($103)) + 24|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$7>>2]|0; + $107 = HEAP32[$9>>2]|0; + $108 = (_memcmp($105,$106,$107)|0); + HEAP32[$10>>2] = $108; + $109 = HEAP32[$10>>2]|0; + $110 = ($109|0)<(0); + if (!($110)) { + $111 = HEAP32[$10>>2]|0; + $112 = ($111|0)==(0); + if (!($112)) { + break; + } + $113 = HEAP32[$3>>2]|0; + $114 = ((($113)) + 20|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$8>>2]|0; + $117 = ($115|0)<($116|0); + if (!($117)) { + break; + } + } + $118 = HEAP32[$3>>2]|0; + $119 = ((($118)) + 12|0); + HEAP32[$119>>2] = 1; + HEAP32[$1>>2] = 0; + $393 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($393|0); + } + } while(0); + $120 = HEAP32[$3>>2]|0; + $121 = ((($120)) + 56|0); + $122 = HEAP32[$8>>2]|0; + $123 = HEAP32[$7>>2]|0; + _sqlite3Fts5BufferSet($5,$121,$122,$123); + $124 = HEAP32[$3>>2]|0; + $125 = ((($124)) + 36|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$6>>2]|0; + $128 = $127<<3; + _memset(($126|0),0,($128|0))|0; + $129 = HEAP32[$3>>2]|0; + $130 = ((($129)) + 40|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$6>>2]|0; + $133 = $132<<3; + _memset(($131|0),0,($133|0))|0; + $134 = HEAP32[$3>>2]|0; + $135 = ((($134)) + 32|0); + HEAP32[$135>>2] = 0; + L27: while(1) { + $$old = HEAP32[$5>>2]|0; + $$old4 = ($$old|0)==(0); + if (!($$old4)) { + break L10; + } + while(1) { + $136 = $13; + $137 = $136; + HEAP32[$137>>2] = 0; + $138 = (($136) + 4)|0; + $139 = $138; + HEAP32[$139>>2] = 0; + HEAP32[$14>>2] = 0; + $140 = HEAP32[$3>>2]|0; + $141 = ((($140)) + 16|0); + $142 = HEAP32[$141>>2]|0; + $143 = ((($142)) + 8|0); + $144 = HEAP32[$143>>2]|0; + HEAP32[$11>>2] = $144; + $145 = HEAP32[$3>>2]|0; + $146 = ((($145)) + 16|0); + $147 = HEAP32[$146>>2]|0; + $148 = ((($147)) + 12|0); + $149 = HEAP32[$148>>2]|0; + HEAP32[$12>>2] = $149; + $150 = HEAP32[$3>>2]|0; + $151 = ((($150)) + 28|0); + $152 = HEAP32[$151>>2]|0; + $153 = ((($152)) + 48|0); + $154 = HEAP32[$153>>2]|0; + L31: do { + switch ($154|0) { + case 0: { + $155 = HEAP32[$3>>2]|0; + $156 = ((($155)) + 16|0); + $157 = HEAP32[$156>>2]|0; + $158 = ((($157)) + 8|0); + $159 = HEAP32[$158>>2]|0; + HEAP32[$11>>2] = $159; + $160 = HEAP32[$3>>2]|0; + $161 = ((($160)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = ((($162)) + 12|0); + $164 = HEAP32[$163>>2]|0; + HEAP32[$12>>2] = $164; + $165 = HEAP32[$4>>2]|0; + $166 = ((($165)) + 28|0); + $167 = HEAP32[$166>>2]|0; + $168 = ($167|0)==(1); + if ($168) { while(1) { - $6932 = HEAP32[$i111>>2]|0; - $6933 = HEAP32[$nArg>>2]|0; - $6934 = ($6932|0)<($6933|0); - if (!($6934)) { + $169 = HEAP32[$11>>2]|0; + $170 = HEAP32[$12>>2]|0; + $171 = (_sqlite3Fts5PoslistNext64($169,$170,$14,$13)|0); + $172 = (0)==($171|0); + $173 = HEAP32[$3>>2]|0; + if (!($172)) { break; } - $6935 = HEAP32[$i111>>2]|0; - $6936 = (($6935) + 1)|0; - $6937 = HEAP32[$pArgc>>2]|0; - $6938 = (($6937) + (($6936*40)|0)|0); - $6939 = HEAP32[$i111>>2]|0; - $6940 = HEAP32[$apArg>>2]|0; - $6941 = (($6940) + ($6939<<2)|0); - HEAP32[$6941>>2] = $6938; - $6942 = HEAP32[$i111>>2]|0; - $6943 = (($6942) + 1)|0; - HEAP32[$i111>>2] = $6943; - } - $6944 = HEAP32[$pModule106>>2]|0; - $6945 = ((($6944)) + 32|0); - $6946 = HEAP32[$6945>>2]|0; - $6947 = HEAP32[$pVCur107>>2]|0; - $6948 = HEAP32[$iQuery>>2]|0; - $6949 = HEAP32[$pOp>>2]|0; - $6950 = ((($6949)) + 16|0); - $6951 = HEAP32[$6950>>2]|0; - $6952 = HEAP32[$nArg>>2]|0; - $6953 = HEAP32[$apArg>>2]|0; - $6954 = (FUNCTION_TABLE_iiiiii[$6946 & 255]($6947,$6948,$6951,$6952,$6953)|0); - HEAP32[$rc>>2] = $6954; - $6955 = HEAP32[$0>>2]|0; - $6956 = HEAP32[$pVtab108>>2]|0; - _sqlite3VtabImportErrmsg($6955,$6956); - $6957 = HEAP32[$rc>>2]|0; - $6958 = ($6957|0)!=(0); - if ($6958) { - break L1; - } - $6959 = HEAP32[$pModule106>>2]|0; - $6960 = ((($6959)) + 40|0); - $6961 = HEAP32[$6960>>2]|0; - $6962 = HEAP32[$pVCur107>>2]|0; - $6963 = (FUNCTION_TABLE_ii[$6961 & 255]($6962)|0); - HEAP32[$res110>>2] = $6963; - $6964 = HEAP32[$pCur109>>2]|0; - $6965 = ((($6964)) + 2|0); - HEAP8[$6965>>0] = 0; - $6966 = HEAP32[$res110>>2]|0; - $6967 = ($6966|0)!=(0); - if ($6967) { - label = 14; - } - break; - } - case 156: { - $6968 = HEAP32[$pOp>>2]|0; - $6969 = ((($6968)) + 4|0); - $6970 = HEAP32[$6969>>2]|0; - $6971 = HEAP32[$0>>2]|0; - $6972 = ((($6971)) + 112|0); - $6973 = HEAP32[$6972>>2]|0; - $6974 = (($6973) + ($6970<<2)|0); - $6975 = HEAP32[$6974>>2]|0; - HEAP32[$pCur115>>2] = $6975; - $6976 = HEAP32[$pOp>>2]|0; - $6977 = ((($6976)) + 12|0); - $6978 = HEAP32[$6977>>2]|0; - $6979 = HEAP32[$aMem>>2]|0; - $6980 = (($6979) + (($6978*40)|0)|0); - HEAP32[$pDest114>>2] = $6980; - $6981 = HEAP32[$pCur115>>2]|0; - $6982 = ((($6981)) + 2|0); - $6983 = HEAP8[$6982>>0]|0; - $6984 = ($6983<<24>>24)!=(0); - if ($6984) { - $6985 = HEAP32[$pDest114>>2]|0; - _sqlite3VdbeMemSetNull($6985); - break L10; - } - $6986 = HEAP32[$pCur115>>2]|0; - $6987 = ((($6986)) + 16|0); - $6988 = HEAP32[$6987>>2]|0; - $6989 = HEAP32[$6988>>2]|0; - HEAP32[$pVtab112>>2] = $6989; - $6990 = HEAP32[$pVtab112>>2]|0; - $6991 = HEAP32[$6990>>2]|0; - HEAP32[$pModule113>>2] = $6991; - ;HEAP32[$sContext>>2]=0|0;HEAP32[$sContext+4>>2]=0|0;HEAP32[$sContext+8>>2]=0|0;HEAP32[$sContext+12>>2]=0|0;HEAP32[$sContext+16>>2]=0|0;HEAP32[$sContext+20>>2]=0|0;HEAP32[$sContext+24>>2]=0|0;HEAP32[$sContext+28>>2]=0|0; - $6992 = HEAP32[$pDest114>>2]|0; - HEAP32[$sContext>>2] = $6992; - $6993 = HEAP32[$pDest114>>2]|0; - $6994 = ((($6993)) + 8|0); - $6995 = HEAP16[$6994>>1]|0; - $6996 = $6995&65535; - $6997 = $6996 & -49664; - $6998 = $6997 | 1; - $6999 = $6998&65535; - $7000 = HEAP32[$pDest114>>2]|0; - $7001 = ((($7000)) + 8|0); - HEAP16[$7001>>1] = $6999; - $7002 = HEAP32[$pModule113>>2]|0; - $7003 = ((($7002)) + 44|0); - $7004 = HEAP32[$7003>>2]|0; - $7005 = HEAP32[$pCur115>>2]|0; - $7006 = ((($7005)) + 16|0); - $7007 = HEAP32[$7006>>2]|0; - $7008 = HEAP32[$pOp>>2]|0; - $7009 = ((($7008)) + 8|0); - $7010 = HEAP32[$7009>>2]|0; - $7011 = (FUNCTION_TABLE_iiii[$7004 & 255]($7007,$sContext,$7010)|0); - HEAP32[$rc>>2] = $7011; - $7012 = HEAP32[$0>>2]|0; - $7013 = HEAP32[$pVtab112>>2]|0; - _sqlite3VtabImportErrmsg($7012,$7013); - $7014 = ((($sContext)) + 20|0); - $7015 = HEAP32[$7014>>2]|0; - $7016 = ($7015|0)!=(0); - if ($7016) { - $7017 = ((($sContext)) + 20|0); - $7018 = HEAP32[$7017>>2]|0; - HEAP32[$rc>>2] = $7018; - } - $7019 = HEAP32[$pDest114>>2]|0; - $7020 = HEAP8[$encoding>>0]|0; - $7021 = $7020&255; - (_sqlite3VdbeChangeEncoding($7019,$7021)|0); - $7022 = HEAP32[$pDest114>>2]|0; - $7023 = (_sqlite3VdbeMemTooBig($7022)|0); - $7024 = ($7023|0)!=(0); - if ($7024) { - label = 888; - break L8; - } - $7025 = HEAP32[$rc>>2]|0; - $7026 = ($7025|0)!=(0); - if ($7026) { - break L1; - } - break; - } - case 70: { - HEAP32[$res118>>2] = 0; - $7027 = HEAP32[$pOp>>2]|0; - $7028 = ((($7027)) + 4|0); - $7029 = HEAP32[$7028>>2]|0; - $7030 = HEAP32[$0>>2]|0; - $7031 = ((($7030)) + 112|0); - $7032 = HEAP32[$7031>>2]|0; - $7033 = (($7032) + ($7029<<2)|0); - $7034 = HEAP32[$7033>>2]|0; - HEAP32[$pCur119>>2] = $7034; - $7035 = HEAP32[$pCur119>>2]|0; - $7036 = ((($7035)) + 2|0); - $7037 = HEAP8[$7036>>0]|0; - $7038 = ($7037<<24>>24)!=(0); - if (!($7038)) { - $7039 = HEAP32[$pCur119>>2]|0; - $7040 = ((($7039)) + 16|0); - $7041 = HEAP32[$7040>>2]|0; - $7042 = HEAP32[$7041>>2]|0; - HEAP32[$pVtab116>>2] = $7042; - $7043 = HEAP32[$pVtab116>>2]|0; - $7044 = HEAP32[$7043>>2]|0; - HEAP32[$pModule117>>2] = $7044; - $7045 = HEAP32[$pModule117>>2]|0; - $7046 = ((($7045)) + 36|0); - $7047 = HEAP32[$7046>>2]|0; - $7048 = HEAP32[$pCur119>>2]|0; - $7049 = ((($7048)) + 16|0); - $7050 = HEAP32[$7049>>2]|0; - $7051 = (FUNCTION_TABLE_ii[$7047 & 255]($7050)|0); - HEAP32[$rc>>2] = $7051; - $7052 = HEAP32[$0>>2]|0; - $7053 = HEAP32[$pVtab116>>2]|0; - _sqlite3VtabImportErrmsg($7052,$7053); - $7054 = HEAP32[$rc>>2]|0; - $7055 = ($7054|0)!=(0); - if ($7055) { - break L1; - } - $7056 = HEAP32[$pModule117>>2]|0; - $7057 = ((($7056)) + 40|0); - $7058 = HEAP32[$7057>>2]|0; - $7059 = HEAP32[$pCur119>>2]|0; - $7060 = ((($7059)) + 16|0); - $7061 = HEAP32[$7060>>2]|0; - $7062 = (FUNCTION_TABLE_ii[$7058 & 255]($7061)|0); - HEAP32[$res118>>2] = $7062; - $7063 = HEAP32[$res118>>2]|0; - $7064 = ($7063|0)!=(0); - if ($7064) { - label = 8; - } else { - label = 7; - } - } - break; - } - case 157: { - $7065 = HEAP32[$pOp>>2]|0; - $7066 = ((($7065)) + 16|0); - $7067 = HEAP32[$7066>>2]|0; - $7068 = ((($7067)) + 8|0); - $7069 = HEAP32[$7068>>2]|0; - HEAP32[$pVtab120>>2] = $7069; - $7070 = HEAP32[$pOp>>2]|0; - $7071 = ((($7070)) + 4|0); - $7072 = HEAP32[$7071>>2]|0; - $7073 = HEAP32[$aMem>>2]|0; - $7074 = (($7073) + (($7072*40)|0)|0); - HEAP32[$pName>>2] = $7074; - $7075 = HEAP32[$pName>>2]|0; - $7076 = (_sqlite3VdbeChangeEncoding($7075,1)|0); - HEAP32[$rc>>2] = $7076; - $7077 = HEAP32[$rc>>2]|0; - $7078 = ($7077|0)!=(0); - if ($7078) { - break L1; - } - $7079 = HEAP32[$pVtab120>>2]|0; - $7080 = HEAP32[$7079>>2]|0; - $7081 = ((($7080)) + 76|0); - $7082 = HEAP32[$7081>>2]|0; - $7083 = HEAP32[$pVtab120>>2]|0; - $7084 = HEAP32[$pName>>2]|0; - $7085 = ((($7084)) + 16|0); - $7086 = HEAP32[$7085>>2]|0; - $7087 = (FUNCTION_TABLE_iii[$7082 & 255]($7083,$7086)|0); - HEAP32[$rc>>2] = $7087; - $7088 = HEAP32[$0>>2]|0; - $7089 = HEAP32[$pVtab120>>2]|0; - _sqlite3VtabImportErrmsg($7088,$7089); - $7090 = HEAP32[$0>>2]|0; - $7091 = ((($7090)) + 144|0); - $7092 = HEAP16[$7091>>1]|0; - $7093 = $7092 & -2; - HEAP16[$7091>>1] = $7093; - $7094 = HEAP32[$rc>>2]|0; - $7095 = ($7094|0)!=(0); - if ($7095) { - break L1; + $174 = ((($173)) + 36|0); + $175 = HEAP32[$174>>2]|0; + $176 = $175; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = (($176) + 4)|0; + $180 = $179; + $181 = HEAP32[$180>>2]|0; + $182 = (_i64Add(($178|0),($181|0),1,0)|0); + $183 = tempRet0; + $184 = $175; + $185 = $184; + HEAP32[$185>>2] = $182; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = $183; } - break; + $188 = ((($173)) + 40|0); + $189 = HEAP32[$188>>2]|0; + $190 = $189; + $191 = $190; + $192 = HEAP32[$191>>2]|0; + $193 = (($190) + 4)|0; + $194 = $193; + $195 = HEAP32[$194>>2]|0; + $196 = (_i64Add(($192|0),($195|0),1,0)|0); + $197 = tempRet0; + $198 = $189; + $199 = $198; + HEAP32[$199>>2] = $196; + $200 = (($198) + 4)|0; + $201 = $200; + HEAP32[$201>>2] = $197; + break L31; } - case 12: { - $7096 = HEAP32[$pOp>>2]|0; - $7097 = ((($7096)) + 16|0); - $7098 = HEAP32[$7097>>2]|0; - $7099 = ((($7098)) + 8|0); - $7100 = HEAP32[$7099>>2]|0; - HEAP32[$pVtab121>>2] = $7100; - $7101 = HEAP32[$pVtab121>>2]|0; - $7102 = ($7101|0)==(0|0); - if ($7102) { - label = 839; - break L8; - } - $7103 = HEAP32[$pVtab121>>2]|0; - $7104 = HEAP32[$7103>>2]|0; - $7105 = ($7104|0)==(0|0); - if ($7105) { - label = 839; - break L8; - } - $7106 = HEAP32[$pVtab121>>2]|0; - $7107 = HEAP32[$7106>>2]|0; - HEAP32[$pModule122>>2] = $7107; - $7108 = HEAP32[$pOp>>2]|0; - $7109 = ((($7108)) + 8|0); - $7110 = HEAP32[$7109>>2]|0; - HEAP32[$nArg123>>2] = $7110; - $7111 = HEAP32[$pModule122>>2]|0; - $7112 = ((($7111)) + 52|0); - $7113 = HEAP32[$7112>>2]|0; - $7114 = ($7113|0)!=(0|0); - if ($7114) { - $7115 = HEAP32[$db>>2]|0; - $7116 = ((($7115)) + 74|0); - $7117 = HEAP8[$7116>>0]|0; - HEAP8[$vtabOnConflict>>0] = $7117; - $7118 = HEAP32[$0>>2]|0; - $7119 = ((($7118)) + 96|0); - $7120 = HEAP32[$7119>>2]|0; - HEAP32[$apArg126>>2] = $7120; - $7121 = HEAP32[$pOp>>2]|0; - $7122 = ((($7121)) + 12|0); - $7123 = HEAP32[$7122>>2]|0; - $7124 = HEAP32[$aMem>>2]|0; - $7125 = (($7124) + (($7123*40)|0)|0); - HEAP32[$pX127>>2] = $7125; - HEAP32[$i124>>2] = 0; - while(1) { - $7126 = HEAP32[$i124>>2]|0; - $7127 = HEAP32[$nArg123>>2]|0; - $7128 = ($7126|0)<($7127|0); - if (!($7128)) { - break; - } - $7129 = HEAP32[$pX127>>2]|0; - $7130 = HEAP32[$i124>>2]|0; - $7131 = HEAP32[$apArg126>>2]|0; - $7132 = (($7131) + ($7130<<2)|0); - HEAP32[$7132>>2] = $7129; - $7133 = HEAP32[$pX127>>2]|0; - $7134 = ((($7133)) + 40|0); - HEAP32[$pX127>>2] = $7134; - $7135 = HEAP32[$i124>>2]|0; - $7136 = (($7135) + 1)|0; - HEAP32[$i124>>2] = $7136; - } - $7137 = HEAP32[$pOp>>2]|0; - $7138 = ((($7137)) + 3|0); - $7139 = HEAP8[$7138>>0]|0; - $7140 = HEAP32[$db>>2]|0; - $7141 = ((($7140)) + 74|0); - HEAP8[$7141>>0] = $7139; - $7142 = HEAP32[$pModule122>>2]|0; - $7143 = ((($7142)) + 52|0); - $7144 = HEAP32[$7143>>2]|0; - $7145 = HEAP32[$pVtab121>>2]|0; - $7146 = HEAP32[$nArg123>>2]|0; - $7147 = HEAP32[$apArg126>>2]|0; - $7148 = (FUNCTION_TABLE_iiiii[$7144 & 255]($7145,$7146,$7147,$rowid125)|0); - HEAP32[$rc>>2] = $7148; - $7149 = HEAP8[$vtabOnConflict>>0]|0; - $7150 = HEAP32[$db>>2]|0; - $7151 = ((($7150)) + 74|0); - HEAP8[$7151>>0] = $7149; - $7152 = HEAP32[$0>>2]|0; - $7153 = HEAP32[$pVtab121>>2]|0; - _sqlite3VtabImportErrmsg($7152,$7153); - $7154 = HEAP32[$rc>>2]|0; - $7155 = ($7154|0)==(0); - if ($7155) { - $7156 = HEAP32[$pOp>>2]|0; - $7157 = ((($7156)) + 4|0); - $7158 = HEAP32[$7157>>2]|0; - $7159 = ($7158|0)!=(0); - if ($7159) { - $7160 = $rowid125; - $7161 = $7160; - $7162 = HEAP32[$7161>>2]|0; - $7163 = (($7160) + 4)|0; - $7164 = $7163; - $7165 = HEAP32[$7164>>2]|0; - $7166 = $lastRowid; - $7167 = $7166; - HEAP32[$7167>>2] = $7162; - $7168 = (($7166) + 4)|0; - $7169 = $7168; - HEAP32[$7169>>2] = $7165; - $7170 = HEAP32[$db>>2]|0; - $7171 = ((($7170)) + 32|0); - $7172 = $7171; - $7173 = $7172; - HEAP32[$7173>>2] = $7162; - $7174 = (($7172) + 4)|0; - $7175 = $7174; - HEAP32[$7175>>2] = $7165; - } - } - $7176 = HEAP32[$rc>>2]|0; - $7177 = $7176 & 255; - $7178 = ($7177|0)==(19); - do { - if ($7178) { - $7179 = HEAP32[$pOp>>2]|0; - $7180 = ((($7179)) + 16|0); - $7181 = HEAP32[$7180>>2]|0; - $7182 = ((($7181)) + 16|0); - $7183 = HEAP8[$7182>>0]|0; - $7184 = $7183&255; - $7185 = ($7184|0)!=(0); - if ($7185) { - $7186 = HEAP32[$pOp>>2]|0; - $7187 = ((($7186)) + 3|0); - $7188 = HEAP8[$7187>>0]|0; - $7189 = $7188&255; - $7190 = ($7189|0)==(4); - if ($7190) { - HEAP32[$rc>>2] = 0; - break; - } - $7191 = HEAP32[$pOp>>2]|0; - $7192 = ((($7191)) + 3|0); - $7193 = HEAP8[$7192>>0]|0; - $7194 = $7193&255; - $7195 = ($7194|0)==(5); - if ($7195) { - $7201 = 2; - } else { - $7196 = HEAP32[$pOp>>2]|0; - $7197 = ((($7196)) + 3|0); - $7198 = HEAP8[$7197>>0]|0; - $7199 = $7198&255; - $7201 = $7199; - } - $7200 = $7201&255; - $7202 = HEAP32[$0>>2]|0; - $7203 = ((($7202)) + 142|0); - HEAP8[$7203>>0] = $7200; - } else { - label = 854; - } - } else { - label = 854; - } - } while(0); - if ((label|0) == 854) { - label = 0; - $7204 = HEAP32[$0>>2]|0; - $7205 = ((($7204)) + 44|0); - $7206 = HEAP32[$7205>>2]|0; - $7207 = (($7206) + 1)|0; - HEAP32[$7205>>2] = $7207; - } - $7208 = HEAP32[$rc>>2]|0; - $7209 = ($7208|0)!=(0); - if ($7209) { - break L1; - } + HEAP32[$15>>2] = -1; + while(1) { + $202 = HEAP32[$11>>2]|0; + $203 = HEAP32[$12>>2]|0; + $204 = (_sqlite3Fts5PoslistNext64($202,$203,$14,$13)|0); + $205 = (0)==($204|0); + if (!($205)) { + break L31; } - break; - } - case 158: { - $7210 = HEAP32[$0>>2]|0; - $7211 = HEAP32[$pOp>>2]|0; - $7212 = (_out2Prerelease($7210,$7211)|0); - HEAP32[$pOut>>2] = $7212; - $7213 = HEAP32[$pOp>>2]|0; - $7214 = ((($7213)) + 4|0); - $7215 = HEAP32[$7214>>2]|0; - $7216 = HEAP32[$db>>2]|0; - $7217 = ((($7216)) + 16|0); - $7218 = HEAP32[$7217>>2]|0; - $7219 = (($7218) + ($7215<<4)|0); - $7220 = ((($7219)) + 4|0); - $7221 = HEAP32[$7220>>2]|0; - $7222 = (_sqlite3BtreeLastPage($7221)|0); - $7223 = HEAP32[$pOut>>2]|0; - $7224 = $7223; - $7225 = $7224; - HEAP32[$7225>>2] = $7222; - $7226 = (($7224) + 4)|0; - $7227 = $7226; - HEAP32[$7227>>2] = 0; - break; - } - case 159: { - $7228 = HEAP32[$0>>2]|0; - $7229 = HEAP32[$pOp>>2]|0; - $7230 = (_out2Prerelease($7228,$7229)|0); - HEAP32[$pOut>>2] = $7230; - $7231 = HEAP32[$pOp>>2]|0; - $7232 = ((($7231)) + 4|0); - $7233 = HEAP32[$7232>>2]|0; - $7234 = HEAP32[$db>>2]|0; - $7235 = ((($7234)) + 16|0); - $7236 = HEAP32[$7235>>2]|0; - $7237 = (($7236) + ($7233<<4)|0); - $7238 = ((($7237)) + 4|0); - $7239 = HEAP32[$7238>>2]|0; - HEAP32[$pBt128>>2] = $7239; - HEAP32[$newMax>>2] = 0; - $7240 = HEAP32[$pOp>>2]|0; - $7241 = ((($7240)) + 12|0); - $7242 = HEAP32[$7241>>2]|0; - $7243 = ($7242|0)!=(0); - if ($7243) { - $7244 = HEAP32[$pBt128>>2]|0; - $7245 = (_sqlite3BtreeLastPage($7244)|0); - HEAP32[$newMax>>2] = $7245; - $7246 = HEAP32[$newMax>>2]|0; - $7247 = HEAP32[$pOp>>2]|0; - $7248 = ((($7247)) + 12|0); - $7249 = HEAP32[$7248>>2]|0; - $7250 = ($7246>>>0)<($7249>>>0); - if ($7250) { - $7251 = HEAP32[$pOp>>2]|0; - $7252 = ((($7251)) + 12|0); - $7253 = HEAP32[$7252>>2]|0; - HEAP32[$newMax>>2] = $7253; - } + $206 = $13; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = (($206) + 4)|0; + $210 = $209; + $211 = HEAP32[$210>>2]|0; + $212 = (_bitshift64Ashr(($208|0),($211|0),32)|0); + $213 = tempRet0; + HEAP32[$16>>2] = $212; + $214 = HEAP32[$3>>2]|0; + $215 = ((($214)) + 36|0); + $216 = HEAP32[$215>>2]|0; + $217 = HEAP32[$16>>2]|0; + $218 = (($216) + ($217<<3)|0); + $219 = $218; + $220 = $219; + $221 = HEAP32[$220>>2]|0; + $222 = (($219) + 4)|0; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (_i64Add(($221|0),($224|0),1,0)|0); + $226 = tempRet0; + $227 = $218; + $228 = $227; + HEAP32[$228>>2] = $225; + $229 = (($227) + 4)|0; + $230 = $229; + HEAP32[$230>>2] = $226; + $231 = HEAP32[$15>>2]|0; + $232 = HEAP32[$16>>2]|0; + $233 = ($231|0)!=($232|0); + if (!($233)) { + continue; } - $7254 = HEAP32[$pBt128>>2]|0; - $7255 = HEAP32[$newMax>>2]|0; - $7256 = (_sqlite3BtreeMaxPageCount($7254,$7255)|0); - $7257 = ($7256|0)<(0); - $7258 = $7257 << 31 >> 31; - $7259 = HEAP32[$pOut>>2]|0; - $7260 = $7259; - $7261 = $7260; - HEAP32[$7261>>2] = $7256; - $7262 = (($7260) + 4)|0; - $7263 = $7262; - HEAP32[$7263>>2] = $7258; - break; - } - case 71: { - $7264 = HEAP32[$db>>2]|0; - $7265 = ((($7264)) + 76|0); - $7266 = HEAP8[$7265>>0]|0; - $7267 = $7266&255; - $7268 = $7267 & 129; - $7269 = ($7268|0)!=(0); - do { - if ($7269) { - $7270 = HEAP32[$0>>2]|0; - $7271 = ((($7270)) + 144|0); - $7272 = HEAP16[$7271>>1]|0; - $7273 = ($7272&65535) >>> 1; - $7274 = $7273 & 1; - $7275 = $7274&65535; - $7276 = ($7275|0)!=(0); - if (!($7276)) { - $7277 = HEAP32[$pOp>>2]|0; - $7278 = ((($7277)) + 16|0); - $7279 = HEAP32[$7278>>2]|0; - $7280 = ($7279|0)!=(0|0); - if ($7280) { - $7281 = HEAP32[$pOp>>2]|0; - $7282 = ((($7281)) + 16|0); - $7283 = HEAP32[$7282>>2]|0; - $7287 = $7283; - } else { - $7284 = HEAP32[$0>>2]|0; - $7285 = ((($7284)) + 176|0); - $7286 = HEAP32[$7285>>2]|0; - $7287 = $7286; - } - HEAP32[$zTrace>>2] = $7287; - $7288 = ($7287|0)!=(0|0); - if ($7288) { - $7289 = HEAP32[$db>>2]|0; - $7290 = ((($7289)) + 76|0); - $7291 = HEAP8[$7290>>0]|0; - $7292 = $7291&255; - $7293 = $7292 & 128; - $7294 = ($7293|0)!=(0); - $7295 = HEAP32[$db>>2]|0; - $7296 = ((($7295)) + 184|0); - $7297 = HEAP32[$7296>>2]|0; - if ($7294) { - HEAP32[$x130>>2] = $7297; - $7298 = HEAP32[$0>>2]|0; - $7299 = HEAP32[$zTrace>>2]|0; - $7300 = (_sqlite3VdbeExpandSql($7298,$7299)|0); - HEAP32[$z131>>2] = $7300; - $7301 = HEAP32[$x130>>2]|0; - $7302 = HEAP32[$db>>2]|0; - $7303 = ((($7302)) + 188|0); - $7304 = HEAP32[$7303>>2]|0; - $7305 = HEAP32[$z131>>2]|0; - FUNCTION_TABLE_vii[$7301 & 255]($7304,$7305); - $7306 = HEAP32[$z131>>2]|0; - _sqlite3_free($7306); - break; - } else { - $7307 = HEAP32[$db>>2]|0; - $7308 = ((($7307)) + 188|0); - $7309 = HEAP32[$7308>>2]|0; - $7310 = HEAP32[$0>>2]|0; - $7311 = HEAP32[$zTrace>>2]|0; - (FUNCTION_TABLE_iiiii[$7297 & 255](1,$7309,$7310,$7311)|0); - break; - } - } - } - } - } while(0); - $7312 = HEAP32[$pOp>>2]|0; - $7313 = ((($7312)) + 4|0); - $7314 = HEAP32[$7313>>2]|0; - $7315 = HEAP32[(280)>>2]|0; - $7316 = ($7314|0)>=($7315|0); - if ($7316) { - HEAP32[$i129>>2] = 1; - while(1) { - $7317 = HEAP32[$i129>>2]|0; - $7318 = HEAP32[$0>>2]|0; - $7319 = ((($7318)) + 136|0); - $7320 = HEAP32[$7319>>2]|0; - $7321 = ($7317|0)<($7320|0); - if (!($7321)) { - break; - } - $7322 = HEAP32[$i129>>2]|0; - $7323 = HEAP32[$0>>2]|0; - $7324 = ((($7323)) + 88|0); - $7325 = HEAP32[$7324>>2]|0; - $7326 = (($7325) + (($7322*20)|0)|0); - $7327 = HEAP8[$7326>>0]|0; - $7328 = $7327&255; - $7329 = ($7328|0)==(20); - if ($7329) { - $7330 = HEAP32[$i129>>2]|0; - $7331 = HEAP32[$0>>2]|0; - $7332 = ((($7331)) + 88|0); - $7333 = HEAP32[$7332>>2]|0; - $7334 = (($7333) + (($7330*20)|0)|0); - $7335 = ((($7334)) + 4|0); - HEAP32[$7335>>2] = 0; - } - $7336 = HEAP32[$i129>>2]|0; - $7337 = (($7336) + 1)|0; - HEAP32[$i129>>2] = $7337; - } - $7338 = HEAP32[$pOp>>2]|0; - $7339 = ((($7338)) + 4|0); - HEAP32[$7339>>2] = 0; + $234 = HEAP32[$16>>2]|0; + $235 = HEAP32[$6>>2]|0; + $236 = ($234|0)>=($235|0); + if ($236) { + break; } - $7340 = HEAP32[$pOp>>2]|0; - $7341 = ((($7340)) + 4|0); - $7342 = HEAP32[$7341>>2]|0; - $7343 = (($7342) + 1)|0; - HEAP32[$7341>>2] = $7343; - label = 14; - break; - } - default: { - } + $237 = HEAP32[$3>>2]|0; + $238 = ((($237)) + 40|0); + $239 = HEAP32[$238>>2]|0; + $240 = HEAP32[$16>>2]|0; + $241 = (($239) + ($240<<3)|0); + $242 = $241; + $243 = $242; + $244 = HEAP32[$243>>2]|0; + $245 = (($242) + 4)|0; + $246 = $245; + $247 = HEAP32[$246>>2]|0; + $248 = (_i64Add(($244|0),($247|0),1,0)|0); + $249 = tempRet0; + $250 = $241; + $251 = $250; + HEAP32[$251>>2] = $248; + $252 = (($250) + 4)|0; + $253 = $252; + HEAP32[$253>>2] = $249; + $254 = HEAP32[$16>>2]|0; + HEAP32[$15>>2] = $254; } - } while(0); - do { - if ((label|0) == 20) { - label = 0; - $237 = HEAP32[$pOp>>2]|0; - $238 = HEAP32[$aOp>>2]|0; - $239 = $237; - $240 = $238; - $241 = (($239) - ($240))|0; - $242 = (($241|0) / 20)&-1; - HEAP32[$pcx>>2] = $242; - $243 = HEAP32[$pOp>>2]|0; - $244 = ((($243)) + 4|0); - $245 = HEAP32[$244>>2]|0; - $246 = ($245|0)==(0); - if (!($246)) { - label = 25; - break L8; - } - $247 = HEAP32[$0>>2]|0; - $248 = ((($247)) + 184|0); - $249 = HEAP32[$248>>2]|0; - $250 = ($249|0)!=(0|0); - if (!($250)) { - label = 25; - break L8; - } - $251 = HEAP32[$0>>2]|0; - $252 = ((($251)) + 184|0); - $253 = HEAP32[$252>>2]|0; - HEAP32[$pFrame>>2] = $253; - $254 = HEAP32[$pFrame>>2]|0; - $255 = ((($254)) + 4|0); - $256 = HEAP32[$255>>2]|0; - $257 = HEAP32[$0>>2]|0; - $258 = ((($257)) + 184|0); - HEAP32[$258>>2] = $256; - $259 = HEAP32[$0>>2]|0; - $260 = ((($259)) + 192|0); + HEAP32[$5>>2] = 267; + break; + } + case 2: { + $255 = HEAP32[$4>>2]|0; + $256 = ((($255)) + 28|0); + $257 = HEAP32[$256>>2]|0; + $258 = ($257|0)==(1); + if ($258) { + $259 = HEAP32[$3>>2]|0; + $260 = ((($259)) + 40|0); $261 = HEAP32[$260>>2]|0; - $262 = (($261) + -1)|0; - HEAP32[$260>>2] = $262; - $263 = HEAP32[$db>>2]|0; - $264 = HEAP32[$0>>2]|0; - $265 = ((($264)) + 44|0); - $266 = HEAP32[$265>>2]|0; - _sqlite3VdbeSetChanges($263,$266); - $267 = HEAP32[$pFrame>>2]|0; - $268 = (_sqlite3VdbeFrameRestore($267)|0); - HEAP32[$pcx>>2] = $268; - $269 = HEAP32[$db>>2]|0; - $270 = ((($269)) + 32|0); + $262 = $261; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = (($262) + 4)|0; + $266 = $265; + $267 = HEAP32[$266>>2]|0; + $268 = (_i64Add(($264|0),($267|0),1,0)|0); + $269 = tempRet0; + $270 = $261; $271 = $270; - $272 = $271; - $273 = HEAP32[$272>>2]|0; - $274 = (($271) + 4)|0; - $275 = $274; - $276 = HEAP32[$275>>2]|0; - $277 = $lastRowid; - $278 = $277; - HEAP32[$278>>2] = $273; - $279 = (($277) + 4)|0; - $280 = $279; - HEAP32[$280>>2] = $276; - $281 = HEAP32[$pOp>>2]|0; - $282 = ((($281)) + 8|0); - $283 = HEAP32[$282>>2]|0; - $284 = ($283|0)==(4); - if ($284) { - $285 = HEAP32[$pcx>>2]|0; - $286 = HEAP32[$0>>2]|0; - $287 = ((($286)) + 88|0); - $288 = HEAP32[$287>>2]|0; - $289 = (($288) + (($285*20)|0)|0); - $290 = ((($289)) + 8|0); - $291 = HEAP32[$290>>2]|0; - $292 = (($291) - 1)|0; - HEAP32[$pcx>>2] = $292; - } - $293 = HEAP32[$0>>2]|0; - $294 = ((($293)) + 88|0); - $295 = HEAP32[$294>>2]|0; - HEAP32[$aOp>>2] = $295; - $296 = HEAP32[$0>>2]|0; - $297 = ((($296)) + 92|0); - $298 = HEAP32[$297>>2]|0; - HEAP32[$aMem>>2] = $298; - $299 = HEAP32[$pcx>>2]|0; - $300 = HEAP32[$aOp>>2]|0; - $301 = (($300) + (($299*20)|0)|0); - HEAP32[$pOp>>2] = $301; - } - else if ((label|0) == 43) { - label = 0; - $466 = HEAP32[$0>>2]|0; - $467 = HEAP32[$pOp>>2]|0; - $468 = (_out2Prerelease($466,$467)|0); - HEAP32[$pOut>>2] = $468; - $469 = HEAP32[$pOut>>2]|0; - $470 = ((($469)) + 8|0); - HEAP16[$470>>1] = 2562; - $471 = HEAP32[$pOp>>2]|0; - $472 = ((($471)) + 16|0); - $473 = HEAP32[$472>>2]|0; - $474 = HEAP32[$pOut>>2]|0; - $475 = ((($474)) + 16|0); - HEAP32[$475>>2] = $473; - $476 = HEAP32[$pOp>>2]|0; - $477 = ((($476)) + 4|0); - $478 = HEAP32[$477>>2]|0; - $479 = HEAP32[$pOut>>2]|0; - $480 = ((($479)) + 12|0); - HEAP32[$480>>2] = $478; - $481 = HEAP8[$encoding>>0]|0; - $482 = HEAP32[$pOut>>2]|0; - $483 = ((($482)) + 10|0); - HEAP8[$483>>0] = $481; - $484 = HEAP32[$pOp>>2]|0; - $485 = ((($484)) + 12|0); - $486 = HEAP32[$485>>2]|0; - $487 = ($486|0)>(0); - if ($487) { - $488 = HEAP32[$pOp>>2]|0; - $489 = ((($488)) + 12|0); - $490 = HEAP32[$489>>2]|0; - $491 = HEAP32[$aMem>>2]|0; - $492 = (($491) + (($490*40)|0)|0); - HEAP32[$pIn3>>2] = $492; - $493 = HEAP32[$pIn3>>2]|0; - $494 = $493; - $495 = $494; - $496 = HEAP32[$495>>2]|0; - $497 = (($494) + 4)|0; - $498 = $497; - $499 = HEAP32[$498>>2]|0; - $500 = HEAP32[$pOp>>2]|0; - $501 = ((($500)) + 3|0); - $502 = HEAP8[$501>>0]|0; - $503 = $502&255; - $504 = ($496|0)==($503|0); - $505 = ($499|0)==(0); - $506 = $504 & $505; - if ($506) { - $507 = HEAP32[$pOut>>2]|0; - $508 = ((($507)) + 8|0); - HEAP16[$508>>1] = 2576; - } - } - } - else if ((label|0) == 126) { - label = 0; - $1281 = HEAP32[$pOp>>2]|0; - $1282 = ((($1281)) + 16|0); - $1283 = HEAP32[$1282>>2]|0; - HEAP32[$pCtx4>>2] = $1283; - $1284 = HEAP32[$pOp>>2]|0; - $1285 = ((($1284)) + 12|0); - $1286 = HEAP32[$1285>>2]|0; - $1287 = HEAP32[$aMem>>2]|0; - $1288 = (($1287) + (($1286*40)|0)|0); - HEAP32[$pOut>>2] = $1288; - $1289 = HEAP32[$pCtx4>>2]|0; - $1290 = HEAP32[$1289>>2]|0; - $1291 = HEAP32[$pOut>>2]|0; - $1292 = ($1290|0)!=($1291|0); - L981: do { - if ($1292) { - $1293 = HEAP32[$pOut>>2]|0; - $1294 = HEAP32[$pCtx4>>2]|0; - HEAP32[$1294>>2] = $1293; - $1295 = HEAP32[$pCtx4>>2]|0; - $1296 = ((($1295)) + 26|0); - $1297 = HEAP8[$1296>>0]|0; - $1298 = $1297&255; - $1299 = (($1298) - 1)|0; - HEAP32[$i3>>2] = $1299; - while(1) { - $1300 = HEAP32[$i3>>2]|0; - $1301 = ($1300|0)>=(0); - if (!($1301)) { - break L981; - } - $1302 = HEAP32[$pOp>>2]|0; - $1303 = ((($1302)) + 8|0); - $1304 = HEAP32[$1303>>2]|0; - $1305 = HEAP32[$i3>>2]|0; - $1306 = (($1304) + ($1305))|0; - $1307 = HEAP32[$aMem>>2]|0; - $1308 = (($1307) + (($1306*40)|0)|0); - $1309 = HEAP32[$i3>>2]|0; - $1310 = HEAP32[$pCtx4>>2]|0; - $1311 = ((($1310)) + 28|0); - $1312 = (($1311) + ($1309<<2)|0); - HEAP32[$1312>>2] = $1308; - $1313 = HEAP32[$i3>>2]|0; - $1314 = (($1313) + -1)|0; - HEAP32[$i3>>2] = $1314; - } - } - } while(0); - $1315 = HEAP32[$pCtx4>>2]|0; - $1316 = HEAP32[$1315>>2]|0; - $1317 = ((($1316)) + 8|0); - $1318 = HEAP16[$1317>>1]|0; - $1319 = $1318&65535; - $1320 = $1319 & -49664; - $1321 = $1320 | 1; - $1322 = $1321&65535; - $1323 = HEAP32[$pCtx4>>2]|0; - $1324 = HEAP32[$1323>>2]|0; - $1325 = ((($1324)) + 8|0); - HEAP16[$1325>>1] = $1322; - $1326 = HEAP32[$pCtx4>>2]|0; - $1327 = ((($1326)) + 25|0); - HEAP8[$1327>>0] = 0; - $1328 = $lastRowid; - $1329 = $1328; - $1330 = HEAP32[$1329>>2]|0; - $1331 = (($1328) + 4)|0; - $1332 = $1331; - $1333 = HEAP32[$1332>>2]|0; - $1334 = HEAP32[$db>>2]|0; - $1335 = ((($1334)) + 32|0); - $1336 = $1335; - $1337 = $1336; - HEAP32[$1337>>2] = $1330; - $1338 = (($1336) + 4)|0; - $1339 = $1338; - HEAP32[$1339>>2] = $1333; - $1340 = HEAP32[$pCtx4>>2]|0; - $1341 = ((($1340)) + 4|0); - $1342 = HEAP32[$1341>>2]|0; - $1343 = ((($1342)) + 12|0); - $1344 = HEAP32[$1343>>2]|0; - $1345 = HEAP32[$pCtx4>>2]|0; - $1346 = HEAP32[$pCtx4>>2]|0; - $1347 = ((($1346)) + 26|0); - $1348 = HEAP8[$1347>>0]|0; - $1349 = $1348&255; - $1350 = HEAP32[$pCtx4>>2]|0; - $1351 = ((($1350)) + 28|0); - FUNCTION_TABLE_viii[$1344 & 255]($1345,$1349,$1351); - $1352 = HEAP32[$db>>2]|0; - $1353 = ((($1352)) + 32|0); - $1354 = $1353; - $1355 = $1354; - $1356 = HEAP32[$1355>>2]|0; - $1357 = (($1354) + 4)|0; - $1358 = $1357; - $1359 = HEAP32[$1358>>2]|0; - $1360 = $lastRowid; - $1361 = $1360; - HEAP32[$1361>>2] = $1356; - $1362 = (($1360) + 4)|0; - $1363 = $1362; - HEAP32[$1363>>2] = $1359; - $1364 = HEAP32[$pCtx4>>2]|0; - $1365 = ((($1364)) + 25|0); - $1366 = HEAP8[$1365>>0]|0; - $1367 = ($1366<<24>>24)!=(0); - if ($1367) { - $1368 = HEAP32[$pCtx4>>2]|0; - $1369 = ((($1368)) + 20|0); - $1370 = HEAP32[$1369>>2]|0; - $1371 = ($1370|0)!=(0); - if ($1371) { - $1372 = HEAP32[$0>>2]|0; - $1373 = HEAP32[$pCtx4>>2]|0; - $1374 = HEAP32[$1373>>2]|0; - $1375 = (_sqlite3_value_text($1374)|0); - HEAP32[$vararg_buffer44>>2] = $1375; - _sqlite3VdbeError($1372,18391,$vararg_buffer44); - $1376 = HEAP32[$pCtx4>>2]|0; - $1377 = ((($1376)) + 20|0); - $1378 = HEAP32[$1377>>2]|0; - HEAP32[$rc>>2] = $1378; - } - $1379 = HEAP32[$db>>2]|0; - $1380 = HEAP32[$0>>2]|0; - $1381 = ((($1380)) + 204|0); - $1382 = HEAP32[$pCtx4>>2]|0; - $1383 = ((($1382)) + 16|0); - $1384 = HEAP32[$1383>>2]|0; - $1385 = HEAP32[$pOp>>2]|0; - $1386 = ((($1385)) + 4|0); - $1387 = HEAP32[$1386>>2]|0; - _sqlite3VdbeDeleteAuxData($1379,$1381,$1384,$1387); - $1388 = HEAP32[$rc>>2]|0; - $1389 = ($1388|0)!=(0); - if ($1389) { - break L1; - } - } - $1390 = HEAP32[$pOut>>2]|0; - $1391 = ((($1390)) + 8|0); - $1392 = HEAP16[$1391>>1]|0; - $1393 = $1392&65535; - $1394 = $1393 & 18; - $1395 = ($1394|0)!=(0); - if ($1395) { - $1396 = HEAP32[$pCtx4>>2]|0; - $1397 = HEAP32[$1396>>2]|0; - $1398 = HEAP8[$encoding>>0]|0; - $1399 = $1398&255; - (_sqlite3VdbeChangeEncoding($1397,$1399)|0); - $1400 = HEAP32[$pCtx4>>2]|0; - $1401 = HEAP32[$1400>>2]|0; - $1402 = (_sqlite3VdbeMemTooBig($1401)|0); - $1403 = ($1402|0)!=(0); - if ($1403) { - label = 888; - break L8; - } - } - } - else if ((label|0) == 444) { - label = 0; - $3668 = HEAP32[$0>>2]|0; - $3669 = ((($3668)) + 144|0); - $3670 = HEAP16[$3669>>1]|0; - $3671 = $3670 & 1; - $3672 = $3671&65535; - $3673 = ($3672|0)!=(0); - if ($3673) { - label = 445; - break L8; - } - HEAP32[$nField20>>2] = 0; - HEAP32[$pKeyInfo21>>2] = 0; - $3674 = HEAP32[$pOp>>2]|0; - $3675 = ((($3674)) + 8|0); - $3676 = HEAP32[$3675>>2]|0; - HEAP32[$p222>>2] = $3676; - $3677 = HEAP32[$pOp>>2]|0; - $3678 = ((($3677)) + 12|0); - $3679 = HEAP32[$3678>>2]|0; - HEAP32[$iDb23>>2] = $3679; - $3680 = HEAP32[$iDb23>>2]|0; - $3681 = HEAP32[$db>>2]|0; - $3682 = ((($3681)) + 16|0); - $3683 = HEAP32[$3682>>2]|0; - $3684 = (($3683) + ($3680<<4)|0); - HEAP32[$pDb24>>2] = $3684; - $3685 = HEAP32[$pDb24>>2]|0; - $3686 = ((($3685)) + 4|0); - $3687 = HEAP32[$3686>>2]|0; - HEAP32[$pX>>2] = $3687; - $3688 = HEAP32[$pOp>>2]|0; - $3689 = HEAP8[$3688>>0]|0; - $3690 = $3689&255; - $3691 = ($3690|0)==(105); - if ($3691) { - $3692 = HEAP32[$pOp>>2]|0; - $3693 = ((($3692)) + 3|0); - $3694 = HEAP8[$3693>>0]|0; - $3695 = $3694&255; - $3696 = $3695 & 8; - $3697 = 4 | $3696; - HEAP32[$wrFlag>>2] = $3697; - $3698 = HEAP32[$pDb24>>2]|0; - $3699 = ((($3698)) + 12|0); - $3700 = HEAP32[$3699>>2]|0; - $3701 = ((($3700)) + 76|0); - $3702 = HEAP8[$3701>>0]|0; - $3703 = $3702&255; - $3704 = HEAP32[$0>>2]|0; - $3705 = ((($3704)) + 143|0); - $3706 = HEAP8[$3705>>0]|0; - $3707 = $3706&255; - $3708 = ($3703|0)<($3707|0); - if ($3708) { - $3709 = HEAP32[$pDb24>>2]|0; - $3710 = ((($3709)) + 12|0); - $3711 = HEAP32[$3710>>2]|0; - $3712 = ((($3711)) + 76|0); - $3713 = HEAP8[$3712>>0]|0; - $3714 = HEAP32[$0>>2]|0; - $3715 = ((($3714)) + 143|0); - HEAP8[$3715>>0] = $3713; - } - } else { - HEAP32[$wrFlag>>2] = 0; - } - $3716 = HEAP32[$pOp>>2]|0; - $3717 = ((($3716)) + 3|0); - $3718 = HEAP8[$3717>>0]|0; - $3719 = $3718&255; - $3720 = $3719 & 16; - $3721 = ($3720|0)!=(0); - if ($3721) { - $3722 = HEAP32[$p222>>2]|0; - $3723 = HEAP32[$aMem>>2]|0; - $3724 = (($3723) + (($3722*40)|0)|0); - HEAP32[$pIn2>>2] = $3724; - $3725 = HEAP32[$pIn2>>2]|0; - (_sqlite3VdbeMemIntegerify($3725)|0); - $3726 = HEAP32[$pIn2>>2]|0; - $3727 = $3726; - $3728 = $3727; - $3729 = HEAP32[$3728>>2]|0; - $3730 = (($3727) + 4)|0; - $3731 = $3730; - $3732 = HEAP32[$3731>>2]|0; - HEAP32[$p222>>2] = $3729; - } - $3733 = HEAP32[$pOp>>2]|0; - $3734 = ((($3733)) + 1|0); - $3735 = HEAP8[$3734>>0]|0; - $3736 = $3735 << 24 >> 24; - $3737 = ($3736|0)==(-6); - $3738 = HEAP32[$pOp>>2]|0; - if ($3737) { - $3739 = ((($3738)) + 16|0); - $3740 = HEAP32[$3739>>2]|0; - HEAP32[$pKeyInfo21>>2] = $3740; - $3741 = HEAP32[$pKeyInfo21>>2]|0; - $3742 = ((($3741)) + 6|0); - $3743 = HEAP16[$3742>>1]|0; - $3744 = $3743&65535; - $3745 = HEAP32[$pKeyInfo21>>2]|0; - $3746 = ((($3745)) + 8|0); - $3747 = HEAP16[$3746>>1]|0; - $3748 = $3747&65535; - $3749 = (($3744) + ($3748))|0; - HEAP32[$nField20>>2] = $3749; - } else { - $3750 = ((($3738)) + 1|0); - $3751 = HEAP8[$3750>>0]|0; - $3752 = $3751 << 24 >> 24; - $3753 = ($3752|0)==(-14); - if ($3753) { - $3754 = HEAP32[$pOp>>2]|0; - $3755 = ((($3754)) + 16|0); - $3756 = HEAP32[$3755>>2]|0; - HEAP32[$nField20>>2] = $3756; - } - } - $3757 = HEAP32[$0>>2]|0; - $3758 = HEAP32[$pOp>>2]|0; - $3759 = ((($3758)) + 4|0); - $3760 = HEAP32[$3759>>2]|0; - $3761 = HEAP32[$nField20>>2]|0; - $3762 = HEAP32[$iDb23>>2]|0; - $3763 = (_allocateCursor($3757,$3760,$3761,$3762,0)|0); - HEAP32[$pCur>>2] = $3763; - $3764 = HEAP32[$pCur>>2]|0; - $3765 = ($3764|0)==(0|0); - if ($3765) { - label = 889; - break L1; - } - $3766 = HEAP32[$pCur>>2]|0; - $3767 = ((($3766)) + 2|0); - HEAP8[$3767>>0] = 1; - $3768 = HEAP32[$pCur>>2]|0; - $3769 = ((($3768)) + 5|0); - $3770 = HEAP8[$3769>>0]|0; - $3771 = $3770 & -5; - $3772 = $3771 | 4; - HEAP8[$3769>>0] = $3772; - $3773 = HEAP32[$p222>>2]|0; - $3774 = HEAP32[$pCur>>2]|0; - $3775 = ((($3774)) + 8|0); - HEAP32[$3775>>2] = $3773; - $3776 = HEAP32[$pX>>2]|0; - $3777 = HEAP32[$p222>>2]|0; - $3778 = HEAP32[$wrFlag>>2]|0; - $3779 = HEAP32[$pKeyInfo21>>2]|0; - $3780 = HEAP32[$pCur>>2]|0; - $3781 = ((($3780)) + 16|0); - $3782 = HEAP32[$3781>>2]|0; - $3783 = (_sqlite3BtreeCursor($3776,$3777,$3778,$3779,$3782)|0); - HEAP32[$rc>>2] = $3783; - $3784 = HEAP32[$pKeyInfo21>>2]|0; - $3785 = HEAP32[$pCur>>2]|0; - $3786 = ((($3785)) + 24|0); - HEAP32[$3786>>2] = $3784; - $3787 = HEAP32[$pOp>>2]|0; - $3788 = ((($3787)) + 1|0); - $3789 = HEAP8[$3788>>0]|0; - $3790 = $3789 << 24 >> 24; - $3791 = ($3790|0)!=(-6); - $3792 = $3791&1; - $3793 = $3792&255; - $3794 = HEAP32[$pCur>>2]|0; - $3795 = ((($3794)) + 4|0); - HEAP8[$3795>>0] = $3793; - label = 458; - } - else if ((label|0) == 523) { - label = 0; - $4281 = HEAP32[$pOp>>2]|0; - $4282 = ((($4281)) + 12|0); - $4283 = HEAP32[$4282>>2]|0; - $4284 = HEAP32[$aMem>>2]|0; - $4285 = (($4284) + (($4283*40)|0)|0); - HEAP32[$pIn3>>2] = $4285; - $4286 = HEAP32[$pOp>>2]|0; - $4287 = ((($4286)) + 4|0); - $4288 = HEAP32[$4287>>2]|0; - $4289 = HEAP32[$0>>2]|0; - $4290 = ((($4289)) + 112|0); - $4291 = HEAP32[$4290>>2]|0; - $4292 = (($4291) + ($4288<<2)|0); - $4293 = HEAP32[$4292>>2]|0; - HEAP32[$pC36>>2] = $4293; - $4294 = HEAP32[$pC36>>2]|0; - $4295 = ((($4294)) + 16|0); - $4296 = HEAP32[$4295>>2]|0; - HEAP32[$pCrsr37>>2] = $4296; - HEAP32[$res38>>2] = 0; - $4297 = HEAP32[$pIn3>>2]|0; - $4298 = $4297; - $4299 = $4298; - $4300 = HEAP32[$4299>>2]|0; - $4301 = (($4298) + 4)|0; - $4302 = $4301; - $4303 = HEAP32[$4302>>2]|0; - $4304 = $iKey39; - $4305 = $4304; - HEAP32[$4305>>2] = $4300; - $4306 = (($4304) + 4)|0; - $4307 = $4306; - HEAP32[$4307>>2] = $4303; - $4308 = HEAP32[$pCrsr37>>2]|0; - $4309 = $iKey39; - $4310 = $4309; - $4311 = HEAP32[$4310>>2]|0; - $4312 = (($4309) + 4)|0; - $4313 = $4312; - $4314 = HEAP32[$4313>>2]|0; - $4315 = (_sqlite3BtreeMovetoUnpacked($4308,0,$4311,$4314,0,$res38)|0); - HEAP32[$rc>>2] = $4315; - $4316 = $iKey39; - $4317 = $4316; - $4318 = HEAP32[$4317>>2]|0; - $4319 = (($4316) + 4)|0; - $4320 = $4319; - $4321 = HEAP32[$4320>>2]|0; - $4322 = HEAP32[$pC36>>2]|0; - $4323 = ((($4322)) + 40|0); - $4324 = $4323; - $4325 = $4324; - HEAP32[$4325>>2] = $4318; - $4326 = (($4324) + 4)|0; - $4327 = $4326; - HEAP32[$4327>>2] = $4321; - $4328 = HEAP32[$pC36>>2]|0; - $4329 = ((($4328)) + 2|0); - HEAP8[$4329>>0] = 0; - $4330 = HEAP32[$pC36>>2]|0; - $4331 = ((($4330)) + 56|0); - HEAP32[$4331>>2] = 0; - $4332 = HEAP32[$pC36>>2]|0; - $4333 = ((($4332)) + 3|0); - HEAP8[$4333>>0] = 0; - $4334 = HEAP32[$res38>>2]|0; - $4335 = HEAP32[$pC36>>2]|0; - $4336 = ((($4335)) + 28|0); - HEAP32[$4336>>2] = $4334; - $4337 = HEAP32[$res38>>2]|0; - $4338 = ($4337|0)!=(0); - if ($4338) { - $4339 = HEAP32[$pOp>>2]|0; - $4340 = ((($4339)) + 8|0); - $4341 = HEAP32[$4340>>2]|0; - $4342 = ($4341|0)==(0); - if (!($4342)) { - label = 14; - break; - } - $4343 = (_sqlite3CorruptError(81458)|0); - HEAP32[$rc>>2] = $4343; - } - $4344 = HEAP32[$rc>>2]|0; - $4345 = ($4344|0)!=(0); - if ($4345) { - break L1; - } - } - else if ((label|0) == 617) { - label = 0; - $5136 = HEAP32[$pOp>>2]|0; - $5137 = ((($5136)) + 4|0); - $5138 = HEAP32[$5137>>2]|0; - $5139 = HEAP32[$0>>2]|0; - $5140 = ((($5139)) + 112|0); - $5141 = HEAP32[$5140>>2]|0; - $5142 = (($5141) + ($5138<<2)|0); - $5143 = HEAP32[$5142>>2]|0; - HEAP32[$pC62>>2] = $5143; - HEAP32[$res64>>2] = 1; - $5144 = HEAP32[$pC62>>2]|0; - $5145 = HEAP8[$5144>>0]|0; - $5146 = $5145&255; - $5147 = ($5146|0)==(1); - $5148 = HEAP32[$pC62>>2]|0; - if ($5147) { - $5149 = (_sqlite3VdbeSorterRewind($5148,$res64)|0); - HEAP32[$rc>>2] = $5149; - } else { - $5150 = ((($5148)) + 16|0); - $5151 = HEAP32[$5150>>2]|0; - HEAP32[$pCrsr63>>2] = $5151; - $5152 = HEAP32[$pCrsr63>>2]|0; - $5153 = (_sqlite3BtreeFirst($5152,$res64)|0); - HEAP32[$rc>>2] = $5153; - $5154 = HEAP32[$pC62>>2]|0; - $5155 = ((($5154)) + 3|0); - HEAP8[$5155>>0] = 0; - $5156 = HEAP32[$pC62>>2]|0; - $5157 = ((($5156)) + 56|0); - HEAP32[$5157>>2] = 0; - } - $5158 = HEAP32[$rc>>2]|0; - $5159 = ($5158|0)!=(0); - if ($5159) { - break L1; - } - $5160 = HEAP32[$res64>>2]|0; - $5161 = $5160&255; - $5162 = HEAP32[$pC62>>2]|0; - $5163 = ((($5162)) + 2|0); - HEAP8[$5163>>0] = $5161; - $5164 = HEAP32[$res64>>2]|0; - $5165 = ($5164|0)!=(0); - if ($5165) { - label = 14; - } - } - else if ((label|0) == 624) { - label = 0; - $5186 = HEAP32[$pOp>>2]|0; - $5187 = ((($5186)) + 4|0); - $5188 = HEAP32[$5187>>2]|0; - $5189 = HEAP32[$0>>2]|0; - $5190 = ((($5189)) + 112|0); - $5191 = HEAP32[$5190>>2]|0; - $5192 = (($5191) + ($5188<<2)|0); - $5193 = HEAP32[$5192>>2]|0; - HEAP32[$pC65>>2] = $5193; - $5194 = HEAP32[$pOp>>2]|0; - $5195 = ((($5194)) + 12|0); - $5196 = HEAP32[$5195>>2]|0; - HEAP32[$res66>>2] = $5196; - $5197 = HEAP32[$pOp>>2]|0; - $5198 = ((($5197)) + 16|0); - $5199 = HEAP32[$5198>>2]|0; - $5200 = HEAP32[$pC65>>2]|0; - $5201 = ((($5200)) + 16|0); - $5202 = HEAP32[$5201>>2]|0; - $5203 = (FUNCTION_TABLE_iii[$5199 & 255]($5202,$res66)|0); - HEAP32[$rc>>2] = $5203; - label = 625; - } - else if ((label|0) == 752) { - label = 0; - $6489 = HEAP32[$pOp>>2]|0; - $6490 = ((($6489)) + 16|0); - $6491 = HEAP32[$6490>>2]|0; - HEAP32[$pCtx92>>2] = $6491; - $6492 = HEAP32[$pOp>>2]|0; - $6493 = ((($6492)) + 12|0); - $6494 = HEAP32[$6493>>2]|0; - $6495 = HEAP32[$aMem>>2]|0; - $6496 = (($6495) + (($6494*40)|0)|0); - HEAP32[$pMem93>>2] = $6496; - $6497 = HEAP32[$pCtx92>>2]|0; - $6498 = ((($6497)) + 8|0); - $6499 = HEAP32[$6498>>2]|0; - $6500 = HEAP32[$pMem93>>2]|0; - $6501 = ($6499|0)!=($6500|0); - L1023: do { - if ($6501) { - $6502 = HEAP32[$pMem93>>2]|0; - $6503 = HEAP32[$pCtx92>>2]|0; - $6504 = ((($6503)) + 8|0); - HEAP32[$6504>>2] = $6502; - $6505 = HEAP32[$pCtx92>>2]|0; - $6506 = ((($6505)) + 26|0); - $6507 = HEAP8[$6506>>0]|0; - $6508 = $6507&255; - $6509 = (($6508) - 1)|0; - HEAP32[$i91>>2] = $6509; - while(1) { - $6510 = HEAP32[$i91>>2]|0; - $6511 = ($6510|0)>=(0); - if (!($6511)) { - break L1023; - } - $6512 = HEAP32[$pOp>>2]|0; - $6513 = ((($6512)) + 8|0); - $6514 = HEAP32[$6513>>2]|0; - $6515 = HEAP32[$i91>>2]|0; - $6516 = (($6514) + ($6515))|0; - $6517 = HEAP32[$aMem>>2]|0; - $6518 = (($6517) + (($6516*40)|0)|0); - $6519 = HEAP32[$i91>>2]|0; - $6520 = HEAP32[$pCtx92>>2]|0; - $6521 = ((($6520)) + 28|0); - $6522 = (($6521) + ($6519<<2)|0); - HEAP32[$6522>>2] = $6518; - $6523 = HEAP32[$i91>>2]|0; - $6524 = (($6523) + -1)|0; - HEAP32[$i91>>2] = $6524; - } - } - } while(0); - $6525 = HEAP32[$pMem93>>2]|0; - $6526 = ((($6525)) + 12|0); - $6527 = HEAP32[$6526>>2]|0; - $6528 = (($6527) + 1)|0; - HEAP32[$6526>>2] = $6528; - $6529 = HEAP32[$db>>2]|0; - _sqlite3VdbeMemInit($t94,$6529,1); - $6530 = HEAP32[$pCtx92>>2]|0; - HEAP32[$6530>>2] = $t94; - $6531 = HEAP32[$pCtx92>>2]|0; - $6532 = ((($6531)) + 25|0); - HEAP8[$6532>>0] = 0; - $6533 = HEAP32[$pCtx92>>2]|0; - $6534 = ((($6533)) + 24|0); - HEAP8[$6534>>0] = 0; - $6535 = HEAP32[$pCtx92>>2]|0; - $6536 = ((($6535)) + 4|0); - $6537 = HEAP32[$6536>>2]|0; - $6538 = ((($6537)) + 12|0); - $6539 = HEAP32[$6538>>2]|0; - $6540 = HEAP32[$pCtx92>>2]|0; - $6541 = HEAP32[$pCtx92>>2]|0; - $6542 = ((($6541)) + 26|0); - $6543 = HEAP8[$6542>>0]|0; - $6544 = $6543&255; - $6545 = HEAP32[$pCtx92>>2]|0; - $6546 = ((($6545)) + 28|0); - FUNCTION_TABLE_viii[$6539 & 255]($6540,$6544,$6546); - $6547 = HEAP32[$pCtx92>>2]|0; - $6548 = ((($6547)) + 25|0); - $6549 = HEAP8[$6548>>0]|0; - $6550 = ($6549<<24>>24)!=(0); - if ($6550) { - $6551 = HEAP32[$pCtx92>>2]|0; - $6552 = ((($6551)) + 20|0); - $6553 = HEAP32[$6552>>2]|0; - $6554 = ($6553|0)!=(0); - if ($6554) { - $6555 = HEAP32[$0>>2]|0; - $6556 = (_sqlite3_value_text($t94)|0); - HEAP32[$vararg_buffer65>>2] = $6556; - _sqlite3VdbeError($6555,18391,$vararg_buffer65); - $6557 = HEAP32[$pCtx92>>2]|0; - $6558 = ((($6557)) + 20|0); - $6559 = HEAP32[$6558>>2]|0; - HEAP32[$rc>>2] = $6559; - } - _sqlite3VdbeMemRelease($t94); - $6560 = HEAP32[$rc>>2]|0; - $6561 = ($6560|0)!=(0); - if ($6561) { - break L1; - } - } - $6562 = HEAP32[$pCtx92>>2]|0; - $6563 = ((($6562)) + 24|0); - $6564 = HEAP8[$6563>>0]|0; - $6565 = ($6564<<24>>24)!=(0); - if ($6565) { - $6566 = HEAP32[$pOp>>2]|0; - $6567 = ((($6566)) + -20|0); - $6568 = ((($6567)) + 4|0); - $6569 = HEAP32[$6568>>2]|0; - HEAP32[$i91>>2] = $6569; - $6570 = HEAP32[$i91>>2]|0; - $6571 = ($6570|0)!=(0); - if ($6571) { - $6572 = HEAP32[$i91>>2]|0; - $6573 = HEAP32[$aMem>>2]|0; - $6574 = (($6573) + (($6572*40)|0)|0); - _sqlite3VdbeMemSetInt64($6574,1,0); - } - } - } - } while(0); - do { - if ((label|0) == 14) { - label = 0; - $130 = HEAP32[$pOp>>2]|0; - $131 = ((($130)) + 8|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) - 1)|0; - $134 = HEAP32[$aOp>>2]|0; - $135 = (($134) + (($133*20)|0)|0); - HEAP32[$pOp>>2] = $135; - } - else if ((label|0) == 458) { - label = 0; - $3796 = HEAP32[$pCur>>2]|0; - $3797 = ((($3796)) + 16|0); - $3798 = HEAP32[$3797>>2]|0; - $3799 = HEAP32[$pOp>>2]|0; - $3800 = ((($3799)) + 3|0); - $3801 = HEAP8[$3800>>0]|0; - $3802 = $3801&255; - $3803 = $3802 & 3; - _sqlite3BtreeCursorHintFlags($3798,$3803); - $3804 = HEAP32[$rc>>2]|0; - $3805 = ($3804|0)!=(0); - if ($3805) { - break L1; - } + HEAP32[$271>>2] = $268; + $272 = (($270) + 4)|0; + $273 = $272; + HEAP32[$273>>2] = $269; + break L31; } - else if ((label|0) == 625) { - label = 0; - $5204 = HEAP32[$pC65>>2]|0; - $5205 = ((($5204)) + 56|0); - HEAP32[$5205>>2] = 0; - $5206 = HEAP32[$rc>>2]|0; - $5207 = ($5206|0)!=(0); - if ($5207) { - break L1; + while(1) { + $274 = HEAP32[$11>>2]|0; + $275 = HEAP32[$12>>2]|0; + $276 = (_sqlite3Fts5PoslistNext64($274,$275,$14,$13)|0); + $277 = (0)==($276|0); + if (!($277)) { + break L31; } - $5208 = HEAP32[$res66>>2]|0; - $5209 = ($5208|0)==(0); - $5210 = HEAP32[$pC65>>2]|0; - $5211 = ((($5210)) + 2|0); - if ($5209) { - HEAP8[$5211>>0] = 0; - $5212 = HEAP32[$pOp>>2]|0; - $5213 = ((($5212)) + 3|0); - $5214 = HEAP8[$5213>>0]|0; - $5215 = $5214&255; - $5216 = HEAP32[$0>>2]|0; - $5217 = ((($5216)) + 156|0); - $5218 = (($5217) + ($5215<<2)|0); - $5219 = HEAP32[$5218>>2]|0; - $5220 = (($5219) + 1)|0; - HEAP32[$5218>>2] = $5220; - label = 7; - break; - } else { - HEAP8[$5211>>0] = 1; - label = 8; + $278 = $13; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + $284 = HEAP32[$6>>2]|0; + $285 = ($284|0)<(0); + $286 = $285 << 31 >> 31; + $287 = ($283|0)>($286|0); + $288 = ($280>>>0)>=($284>>>0); + $289 = ($283|0)==($286|0); + $290 = $289 & $288; + $291 = $287 | $290; + if ($291) { break; } + $292 = HEAP32[$3>>2]|0; + $293 = ((($292)) + 40|0); + $294 = HEAP32[$293>>2]|0; + $295 = $13; + $296 = $295; + $297 = HEAP32[$296>>2]|0; + $298 = (($295) + 4)|0; + $299 = $298; + $300 = HEAP32[$299>>2]|0; + $301 = (($294) + ($297<<3)|0); + $302 = $301; + $303 = $302; + $304 = HEAP32[$303>>2]|0; + $305 = (($302) + 4)|0; + $306 = $305; + $307 = HEAP32[$306>>2]|0; + $308 = (_i64Add(($304|0),($307|0),1,0)|0); + $309 = tempRet0; + $310 = $301; + $311 = $310; + HEAP32[$311>>2] = $308; + $312 = (($310) + 4)|0; + $313 = $312; + HEAP32[$313>>2] = $309; } - } while(0); - if ((label|0) == 7) { - label = 0; - $74 = HEAP32[$pOp>>2]|0; - $75 = ((($74)) + 8|0); - $76 = HEAP32[$75>>2]|0; - $77 = (($76) - 1)|0; - $78 = HEAP32[$aOp>>2]|0; - $79 = (($78) + (($77*20)|0)|0); - HEAP32[$pOp>>2] = $79; - label = 8; + HEAP32[$5>>2] = 267; + break; + } + default: { + $314 = HEAP32[$3>>2]|0; + $315 = ((($314)) + 40|0); + $316 = HEAP32[$315>>2]|0; + $317 = $316; + $318 = $317; + $319 = HEAP32[$318>>2]|0; + $320 = (($317) + 4)|0; + $321 = $320; + $322 = HEAP32[$321>>2]|0; + $323 = (_i64Add(($319|0),($322|0),1,0)|0); + $324 = tempRet0; + $325 = $316; + $326 = $325; + HEAP32[$326>>2] = $323; + $327 = (($325) + 4)|0; + $328 = $327; + HEAP32[$328>>2] = $324; + } + } + } while(0); + $329 = HEAP32[$5>>2]|0; + $330 = ($329|0)==(0); + if ($330) { + $331 = HEAP32[$3>>2]|0; + $332 = ((($331)) + 16|0); + $333 = HEAP32[$332>>2]|0; + $334 = (_sqlite3Fts5IterNextScan($333)|0); + HEAP32[$5>>2] = $334; + } + $335 = HEAP32[$5>>2]|0; + $336 = ($335|0)==(0); + if (!($336)) { + continue L27; + } + $337 = HEAP32[$3>>2]|0; + $338 = ((($337)) + 16|0); + $339 = HEAP32[$338>>2]|0; + $340 = (_sqlite3Fts5IterTerm($339,$8)|0); + HEAP32[$7>>2] = $340; + $341 = HEAP32[$8>>2]|0; + $342 = HEAP32[$3>>2]|0; + $343 = ((($342)) + 56|0); + $344 = ((($343)) + 4|0); + $345 = HEAP32[$344>>2]|0; + $346 = ($341|0)!=($345|0); + if ($346) { + break L10; + } + $347 = HEAP32[$7>>2]|0; + $348 = HEAP32[$3>>2]|0; + $349 = ((($348)) + 56|0); + $350 = HEAP32[$349>>2]|0; + $351 = HEAP32[$8>>2]|0; + $352 = (_memcmp($347,$350,$351)|0); + $353 = ($352|0)!=(0); + if ($353) { + break L10; + } + $354 = HEAP32[$3>>2]|0; + $355 = ((($354)) + 16|0); + $356 = HEAP32[$355>>2]|0; + $357 = ((($356)) + 16|0); + $358 = HEAP8[$357>>0]|0; + $359 = ($358<<24>>24)==(0); + $360 = HEAP32[$5>>2]|0; + $361 = ($360|0)==(0); + $or$cond = $359 & $361; + if (!($or$cond)) { + break L10; + } + } + } + } + } while(0); + $362 = HEAP32[$5>>2]|0; + $363 = ($362|0)==(0); + L62: do { + if ($363) { + $364 = HEAP32[$3>>2]|0; + $365 = ((($364)) + 12|0); + $366 = HEAP32[$365>>2]|0; + $367 = ($366|0)==(0); + if ($367) { + $368 = HEAP32[$4>>2]|0; + $369 = ((($368)) + 28|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0); + if ($371) { + while(1) { + $372 = HEAP32[$3>>2]|0; + $373 = ((($372)) + 40|0); + $374 = HEAP32[$373>>2]|0; + $375 = HEAP32[$3>>2]|0; + $376 = ((($375)) + 32|0); + $377 = HEAP32[$376>>2]|0; + $378 = (($374) + ($377<<3)|0); + $379 = $378; + $380 = $379; + $381 = HEAP32[$380>>2]|0; + $382 = (($379) + 4)|0; + $383 = $382; + $384 = HEAP32[$383>>2]|0; + $385 = ($381|0)==(0); + $386 = ($384|0)==(0); + $387 = $385 & $386; + if (!($387)) { + break L62; + } + $388 = HEAP32[$3>>2]|0; + $389 = ((($388)) + 32|0); + $390 = HEAP32[$389>>2]|0; + $391 = (($390) + 1)|0; + HEAP32[$389>>2] = $391; + } + } + } + } + } while(0); + $392 = HEAP32[$5>>2]|0; + HEAP32[$1>>2] = $392; + $393 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($393|0); +} +function _fts5VocabEofMethod($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($6|0); +} +function _fts5VocabColumnMethod($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp; + $10 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $11 = HEAP32[$3>>2]|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 28|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 48|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$7>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 28|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$8>>2] = $20; + $21 = $9; + $22 = $21; + HEAP32[$22>>2] = 0; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = 0; + $25 = HEAP32[$5>>2]|0; + $26 = ($25|0)==(0); + do { + if ($26) { + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = ((($28)) + 56|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 56|0); + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + _sqlite3_result_text($27,$30,$34,(-1)); + } else { + $35 = HEAP32[$8>>2]|0; + $36 = ($35|0)==(0); + $37 = HEAP32[$5>>2]|0; + $38 = ($37|0)==(1); + if (!($36)) { + $88 = HEAP32[$6>>2]|0; + if ($38) { + $89 = ((($88)) + 40|0); + $90 = HEAP32[$89>>2]|0; + $91 = $90; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (($91) + 4)|0; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = $9; + $98 = $97; + HEAP32[$98>>2] = $93; + $99 = (($97) + 4)|0; + $100 = $99; + HEAP32[$100>>2] = $96; + break; + } else { + $101 = ((($88)) + 36|0); + $102 = HEAP32[$101>>2]|0; + $103 = $102; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = $9; + $110 = $109; + HEAP32[$110>>2] = $105; + $111 = (($109) + 4)|0; + $112 = $111; + HEAP32[$112>>2] = $108; + break; + } + } + if ($38) { + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)!=(1); + if (!($40)) { + break; + } + $41 = HEAP32[$6>>2]|0; + $42 = ((($41)) + 28|0); + $43 = HEAP32[$42>>2]|0; + $44 = ((($43)) + 16|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$6>>2]|0; + $47 = ((($46)) + 32|0); + $48 = HEAP32[$47>>2]|0; + $49 = (($45) + ($48<<2)|0); + $50 = HEAP32[$49>>2]|0; + HEAP32[$10>>2] = $50; + $51 = HEAP32[$4>>2]|0; + $52 = HEAP32[$10>>2]|0; + _sqlite3_result_text($51,$52,-1,0); + break; + } + $53 = HEAP32[$5>>2]|0; + $54 = ($53|0)==(2); + $55 = HEAP32[$6>>2]|0; + if ($54) { + $56 = ((($55)) + 40|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + 32|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($57) + ($60<<3)|0); + $62 = $61; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = $9; + $69 = $68; + HEAP32[$69>>2] = $64; + $70 = (($68) + 4)|0; + $71 = $70; + HEAP32[$71>>2] = $67; + break; + } else { + $72 = ((($55)) + 36|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$6>>2]|0; + $75 = ((($74)) + 32|0); + $76 = HEAP32[$75>>2]|0; + $77 = (($73) + ($76<<3)|0); + $78 = $77; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = $9; + $85 = $84; + HEAP32[$85>>2] = $80; + $86 = (($84) + 4)|0; + $87 = $86; + HEAP32[$87>>2] = $83; + break; + } + } + } while(0); + $113 = $9; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = (($113) + 4)|0; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = ($118|0)>(0); + $120 = ($115>>>0)>(0); + $121 = ($118|0)==(0); + $122 = $121 & $120; + $123 = $119 | $122; + if (!($123)) { + STACKTOP = sp;return 0; + } + $124 = HEAP32[$4>>2]|0; + $125 = $9; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = (($125) + 4)|0; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + _sqlite3_result_int64($124,$127,$130); + STACKTOP = sp;return 0; +} +function _fts5VocabRowidMethod($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, $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 + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + $7 = ((($6)) + 48|0); + $8 = $7; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = $14; + $16 = $15; + HEAP32[$16>>2] = $10; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $13; + STACKTOP = sp;return 0; +} +function _sqlite3Fts5IterTerm($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = (_fts5MultiIterTerm($6,$4)|0); + HEAP32[$5>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = (($8) - 1)|0; + $10 = HEAP32[$3>>2]|0; + HEAP32[$10>>2] = $9; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 1|0); + STACKTOP = sp;return ($12|0); +} +function _sqlite3Fts5BufferSet($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$5>>2]|0; + $9 = ((($8)) + 4|0); + HEAP32[$9>>2] = 0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + _sqlite3Fts5BufferAppendBlob($10,$11,$12,$13); + STACKTOP = sp;return; +} +function _sqlite3Fts5PoslistNext64($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp; + $11 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $12 = HEAP32[$7>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$9>>2] = $13; + $14 = HEAP32[$9>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = ($14|0)>=($15|0); + $17 = HEAP32[$8>>2]|0; + if ($16) { + $18 = $17; + $19 = $18; + HEAP32[$19>>2] = -1; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = -1; + HEAP32[$4>>2] = 1; + $110 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($110|0); + } + $22 = $17; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = $10; + $29 = $28; + HEAP32[$29>>2] = $24; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = $27; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$9>>2]|0; + $34 = (($33) + 1)|0; + HEAP32[$9>>2] = $34; + $35 = (($32) + ($33)|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + HEAP32[$11>>2] = $37; + $38 = HEAP32[$11>>2]|0; + $39 = $38 & 128; + $40 = ($39|0)!=(0); + if ($40) { + $41 = HEAP32[$9>>2]|0; + $42 = (($41) + -1)|0; + HEAP32[$9>>2] = $42; + $43 = HEAP32[$5>>2]|0; + $44 = HEAP32[$9>>2]|0; + $45 = (($43) + ($44)|0); + $46 = (_sqlite3Fts5GetVarint32($45,$11)|0); + $47 = HEAP32[$9>>2]|0; + $48 = (($47) + ($46))|0; + HEAP32[$9>>2] = $48; + } + $49 = HEAP32[$11>>2]|0; + $50 = ($49|0)==(1); + if ($50) { + $51 = HEAP32[$5>>2]|0; + $52 = HEAP32[$9>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$9>>2] = $53; + $54 = (($51) + ($52)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + HEAP32[$11>>2] = $56; + $57 = HEAP32[$11>>2]|0; + $58 = $57 & 128; + $59 = ($58|0)!=(0); + if ($59) { + $60 = HEAP32[$9>>2]|0; + $61 = (($60) + -1)|0; + HEAP32[$9>>2] = $61; + $62 = HEAP32[$5>>2]|0; + $63 = HEAP32[$9>>2]|0; + $64 = (($62) + ($63)|0); + $65 = (_sqlite3Fts5GetVarint32($64,$11)|0); + $66 = HEAP32[$9>>2]|0; + $67 = (($66) + ($65))|0; + HEAP32[$9>>2] = $67; + } + $68 = HEAP32[$11>>2]|0; + $69 = ($68|0)<(0); + $69 << 31 >> 31; + $70 = $10; + $71 = $70; + HEAP32[$71>>2] = 0; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $68; + $74 = HEAP32[$5>>2]|0; + $75 = HEAP32[$9>>2]|0; + $76 = (($75) + 1)|0; + HEAP32[$9>>2] = $76; + $77 = (($74) + ($75)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $78&255; + HEAP32[$11>>2] = $79; + $80 = HEAP32[$11>>2]|0; + $81 = $80 & 128; + $82 = ($81|0)!=(0); + if ($82) { + $83 = HEAP32[$9>>2]|0; + $84 = (($83) + -1)|0; + HEAP32[$9>>2] = $84; + $85 = HEAP32[$5>>2]|0; + $86 = HEAP32[$9>>2]|0; + $87 = (($85) + ($86)|0); + $88 = (_sqlite3Fts5GetVarint32($87,$11)|0); + $89 = HEAP32[$9>>2]|0; + $90 = (($89) + ($88))|0; + HEAP32[$9>>2] = $90; + } + } + $91 = $10; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (($91) + 4)|0; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$11>>2]|0; + $98 = (($97) - 2)|0; + $99 = ($98|0)<(0); + $100 = $99 << 31 >> 31; + $101 = (_i64Add(($93|0),($96|0),($98|0),($100|0))|0); + $102 = tempRet0; + $103 = HEAP32[$8>>2]|0; + $104 = $103; + $105 = $104; + HEAP32[$105>>2] = $101; + $106 = (($104) + 4)|0; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = HEAP32[$9>>2]|0; + $109 = HEAP32[$7>>2]|0; + HEAP32[$109>>2] = $108; + HEAP32[$4>>2] = 0; + $110 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($110|0); +} +function _sqlite3Fts5IterNextScan($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + _fts5MultiIterNext($9,$10,0,0,0); + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 36|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 80|0); + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 72|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP16[$20>>1]|0; + $22 = $21&65535; + $23 = (($16) + (($22*88)|0)|0); + HEAP32[$4>>2] = $23; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0|0); + if ($27) { + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 60|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32|0)!=(48); + if ($33) { + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + _fts5DataRelease($36); + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 12|0); + HEAP32[$38>>2] = 0; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 16|0); + HEAP8[$40>>0] = 1; + } + } + } + $41 = HEAP32[$2>>2]|0; + $42 = ((($41)) + 24|0); + $43 = HEAP32[$42>>2]|0; + $44 = (_fts5IndexReturn($43)|0); + STACKTOP = sp;return ($44|0); +} +function _fts5MultiIterNext($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + $13 = $8; + $14 = $13; + HEAP32[$14>>2] = $3; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $4; + $17 = HEAP32[$7>>2]|0; + HEAP32[$9>>2] = $17; + while(1) { + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 36|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if (!($21)) { + label = 14; + break; + } + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 72|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP16[$25>>1]|0; + $27 = $26&65535; + HEAP32[$10>>2] = $27; + HEAP32[$11>>2] = 0; + $28 = HEAP32[$6>>2]|0; + $29 = ((($28)) + 80|0); + $30 = HEAP32[$10>>2]|0; + $31 = (($29) + (($30*88)|0)|0); + HEAP32[$12>>2] = $31; + $32 = HEAP32[$9>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$12>>2]|0; + $35 = ((($34)) + 56|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)!=(0|0); + if ($37) { + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$12>>2]|0; + $40 = $8; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + _fts5SegIterNextFrom($38,$39,$42,$45); + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + label = 0; + $46 = HEAP32[$12>>2]|0; + $47 = ((($46)) + 24|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = HEAP32[$12>>2]|0; + FUNCTION_TABLE_viii[$48 & 255]($49,$50,$11); + } + $51 = HEAP32[$12>>2]|0; + $52 = ((($51)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==(0|0); + $55 = HEAP32[$11>>2]|0; + $56 = ($55|0)!=(0); + $or$cond = $54 | $56; + if ($or$cond) { + label = 9; + } else { + $57 = HEAP32[$6>>2]|0; + $58 = HEAP32[$10>>2]|0; + $59 = (_fts5MultiIterAdvanceRowid($57,$58,$12)|0); + $60 = ($59|0)!=(0); + if ($60) { + label = 9; + } + } + if ((label|0) == 9) { + label = 0; + $61 = HEAP32[$5>>2]|0; + $62 = HEAP32[$6>>2]|0; + $63 = HEAP32[$10>>2]|0; + _fts5MultiIterAdvanced($61,$62,$63,1); + $64 = HEAP32[$6>>2]|0; + _fts5MultiIterSetEof($64); + $65 = HEAP32[$6>>2]|0; + $66 = ((($65)) + 80|0); + $67 = HEAP32[$6>>2]|0; + $68 = ((($67)) + 72|0); + $69 = HEAP32[$68>>2]|0; + $70 = ((($69)) + 4|0); + $71 = HEAP16[$70>>1]|0; + $72 = $71&65535; + $73 = (($66) + (($72*88)|0)|0); + HEAP32[$12>>2] = $73; + $74 = HEAP32[$12>>2]|0; + $75 = ((($74)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)==(0|0); + if ($77) { + label = 14; + break; + } + } + $78 = HEAP32[$6>>2]|0; + $79 = ((($78)) + 60|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ($81|0)==(0); + if ($82) { + label = 12; + break; + } + $83 = HEAP32[$12>>2]|0; + $84 = ((($83)) + 80|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)!=(0); + if ($86) { + label = 12; + break; + } + HEAP32[$9>>2] = 0; + } + if ((label|0) == 12) { + $87 = HEAP32[$6>>2]|0; + $88 = ((($87)) + 48|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$6>>2]|0; + $91 = HEAP32[$12>>2]|0; + FUNCTION_TABLE_vii[$89 & 255]($90,$91); + STACKTOP = sp;return; + } + else if ((label|0) == 14) { + STACKTOP = sp;return; + } +} +function _fts5DataRelease($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3_free($2); + STACKTOP = sp;return; +} +function _fts5IndexReturn($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 36|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 36|0); + HEAP32[$7>>2] = 0; + $8 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($8|0); +} +function _fts5SegIterNextFrom($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $11 = $6; + $12 = $11; + HEAP32[$12>>2] = $2; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $3; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & 2; + HEAP32[$7>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 56|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$8>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$9>>2] = $24; + HEAP32[$10>>2] = 1; + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)==(0); + if ($26) { + while(1) { + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = (_fts5DlidxIterEof($27,$28)|0); + $30 = ($29|0)!=(0); + if ($30) { + break; + } + $31 = $6; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$8>>2]|0; + $38 = (_fts5DlidxIterRowid($37)|0); + $39 = tempRet0; + $40 = ($36|0)>($39|0); + $41 = ($33>>>0)>($38>>>0); + $42 = ($36|0)==($39|0); + $43 = $42 & $41; + $44 = $40 | $43; + if (!($44)) { + break; + } + $45 = HEAP32[$8>>2]|0; + $46 = (_fts5DlidxIterPgno($45)|0); + HEAP32[$9>>2] = $46; + $47 = HEAP32[$4>>2]|0; + $48 = HEAP32[$8>>2]|0; + (_fts5DlidxIterNext($47,$48)|0); + } + $49 = HEAP32[$9>>2]|0; + $50 = HEAP32[$5>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($49|0)>($52|0); + if ($53) { + $54 = HEAP32[$4>>2]|0; + $55 = HEAP32[$5>>2]|0; + $56 = HEAP32[$9>>2]|0; + _fts5SegIterGotoPage($54,$55,$56); + HEAP32[$10>>2] = 0; + } + } else { + while(1) { + $57 = HEAP32[$4>>2]|0; + $58 = HEAP32[$8>>2]|0; + $59 = (_fts5DlidxIterEof($57,$58)|0); + $60 = ($59|0)!=(0); + if ($60) { + break; + } + $61 = $6; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$8>>2]|0; + $68 = (_fts5DlidxIterRowid($67)|0); + $69 = tempRet0; + $70 = ($66|0)<($69|0); + $71 = ($63>>>0)<($68>>>0); + $72 = ($66|0)==($69|0); + $73 = $72 & $71; + $74 = $70 | $73; + if (!($74)) { + break; + } + $75 = HEAP32[$4>>2]|0; + $76 = HEAP32[$8>>2]|0; + (_fts5DlidxIterPrev($75,$76)|0); + } + $77 = HEAP32[$8>>2]|0; + $78 = (_fts5DlidxIterPgno($77)|0); + HEAP32[$9>>2] = $78; + $79 = HEAP32[$9>>2]|0; + $80 = HEAP32[$5>>2]|0; + $81 = ((($80)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($79|0)<($82|0); + if ($83) { + $84 = HEAP32[$9>>2]|0; + $85 = (($84) + 1)|0; + $86 = HEAP32[$5>>2]|0; + $87 = ((($86)) + 8|0); + HEAP32[$87>>2] = $85; + $88 = HEAP32[$4>>2]|0; + $89 = HEAP32[$5>>2]|0; + _fts5SegIterReverseNewPage($88,$89); + HEAP32[$10>>2] = 0; + } + } + while(1) { + $90 = HEAP32[$10>>2]|0; + $91 = ($90|0)!=(0); + if ($91) { + $92 = HEAP32[$4>>2]|0; + $93 = ((($92)) + 36|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0); + if ($95) { + $96 = HEAP32[$5>>2]|0; + $97 = ((($96)) + 24|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$4>>2]|0; + $100 = HEAP32[$5>>2]|0; + FUNCTION_TABLE_viii[$98 & 255]($99,$100,0); + } + } + $101 = HEAP32[$5>>2]|0; + $102 = ((($101)) + 12|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + label = 21; + break; + } + $105 = HEAP32[$7>>2]|0; + $106 = ($105|0)==(0); + if ($106) { + $107 = HEAP32[$5>>2]|0; + $108 = ((($107)) + 72|0); + $109 = $108; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $6; + $116 = $115; + $117 = HEAP32[$116>>2]|0; + $118 = (($115) + 4)|0; + $119 = $118; + $120 = HEAP32[$119>>2]|0; + $121 = ($114|0)>($120|0); + $122 = ($111>>>0)>=($117>>>0); + $123 = ($114|0)==($120|0); + $124 = $123 & $122; + $125 = $121 | $124; + if ($125) { + label = 21; + break; + } + } + $126 = HEAP32[$7>>2]|0; + $127 = ($126|0)!=(0); + if ($127) { + $128 = HEAP32[$5>>2]|0; + $129 = ((($128)) + 72|0); + $130 = $129; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = $6; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = ($135|0)<($141|0); + $143 = ($132>>>0)<=($138>>>0); + $144 = ($135|0)==($141|0); + $145 = $144 & $143; + $146 = $142 | $145; + if ($146) { + label = 21; + break; + } + } + HEAP32[$10>>2] = 1; + $147 = HEAP32[$4>>2]|0; + $148 = ((($147)) + 36|0); + $149 = HEAP32[$148>>2]|0; + $150 = ($149|0)==(0); + if (!($150)) { + label = 21; + break; + } + } + if ((label|0) == 21) { + STACKTOP = sp;return; + } +} +function _fts5MultiIterAdvanceRowid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 80|0); + $13 = HEAP32[$5>>2]|0; + $14 = (($12) + (($13*88)|0)|0); + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ((($15)) + 72|0); + $17 = $16; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (($17) + 4)|0; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 64|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = ($19|0)==($27|0); + $32 = ($22|0)==($30|0); + $33 = $31 & $32; + if ($33) { + label = 3; + } else { + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 72|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 64|0); + $44 = $43; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = ($41|0)<($49|0); + $51 = ($38>>>0)<($46>>>0); + $52 = ($41|0)==($49|0); + $53 = $52 & $51; + $54 = $50 | $53; + $55 = $54&1; + $56 = HEAP32[$4>>2]|0; + $57 = ((($56)) + 56|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($55|0)==($58|0); + if ($59) { + label = 3; + } + } + L3: do { + if ((label|0) == 3) { + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 80|0); + $62 = HEAP32[$5>>2]|0; + $63 = $62 ^ 1; + $64 = (($61) + (($63*88)|0)|0); + HEAP32[$9>>2] = $64; + $65 = HEAP32[$4>>2]|0; + $66 = ((($65)) + 56|0); + $67 = HEAP32[$66>>2]|0; + $68 = ($67|0)!=(0); + $69 = $68 ? 0 : -1; + $70 = $68 ? -2147483648 : 2147483647; + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 64|0); + $73 = $72; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $70; + $77 = HEAP32[$4>>2]|0; + $78 = ((($77)) + 52|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$5>>2]|0; + $81 = (($79) + ($80))|0; + $82 = (($81|0) / 2)&-1; + HEAP32[$8>>2] = $82; + L5: while(1) { + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 72|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$8>>2]|0; + $87 = (($85) + ($86<<2)|0); + HEAP32[$10>>2] = $87; + $88 = HEAP32[$10>>2]|0; + $89 = ((($88)) + 2|0); + $90 = HEAP8[$89>>0]|0; + $91 = ($90<<24>>24)!=(0); + do { + if ($91) { + $92 = HEAP32[$7>>2]|0; + $93 = ((($92)) + 72|0); + $94 = $93; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$9>>2]|0; + $101 = ((($100)) + 72|0); + $102 = $101; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = (($102) + 4)|0; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = ($96|0)==($104|0); + $109 = ($99|0)==($107|0); + $110 = $108 & $109; + if ($110) { + break L5; + } + $111 = HEAP32[$9>>2]|0; + $112 = ((($111)) + 72|0); + $113 = $112; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = (($113) + 4)|0; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$7>>2]|0; + $120 = ((($119)) + 72|0); + $121 = $120; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = (($121) + 4)|0; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = ($118|0)>($126|0); + $128 = ($115>>>0)>($123>>>0); + $129 = ($118|0)==($126|0); + $130 = $129 & $128; + $131 = $127 | $130; + $132 = $131&1; + $133 = HEAP32[$4>>2]|0; + $134 = ((($133)) + 56|0); + $135 = HEAP32[$134>>2]|0; + $136 = ($132|0)==($135|0); + $137 = HEAP32[$9>>2]|0; + $138 = ((($137)) + 72|0); + $139 = $138; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = (($139) + 4)|0; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = HEAP32[$4>>2]|0; + $146 = ((($145)) + 64|0); + if ($136) { + $147 = $146; + $148 = $147; + HEAP32[$148>>2] = $141; + $149 = (($147) + 4)|0; + $150 = $149; + HEAP32[$150>>2] = $144; + $151 = HEAP32[$9>>2]|0; + HEAP32[$7>>2] = $151; + break; + } + $152 = $146; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = ($144|0)>($157|0); + $159 = ($141>>>0)>($154>>>0); + $160 = ($144|0)==($157|0); + $161 = $160 & $159; + $162 = $158 | $161; + $163 = $162&1; + $164 = HEAP32[$4>>2]|0; + $165 = ((($164)) + 56|0); + $166 = HEAP32[$165>>2]|0; + $167 = ($163|0)==($166|0); + if ($167) { + $168 = HEAP32[$9>>2]|0; + $169 = ((($168)) + 72|0); + $170 = $169; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = (($170) + 4)|0; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = HEAP32[$4>>2]|0; + $177 = ((($176)) + 64|0); + $178 = $177; + $179 = $178; + HEAP32[$179>>2] = $172; + $180 = (($178) + 4)|0; + $181 = $180; + HEAP32[$181>>2] = $175; + } + } + } while(0); + $182 = HEAP32[$7>>2]|0; + $183 = HEAP32[$4>>2]|0; + $184 = ((($183)) + 80|0); + $185 = $182; + $186 = $184; + $187 = (($185) - ($186))|0; + $188 = (($187|0) / 88)&-1; + $189 = $188&65535; + $190 = HEAP32[$10>>2]|0; + HEAP16[$190>>1] = $189; + $191 = HEAP32[$8>>2]|0; + $192 = ($191|0)==(1); + if ($192) { + break L3; + } + $193 = HEAP32[$4>>2]|0; + $194 = ((($193)) + 80|0); + $195 = HEAP32[$4>>2]|0; + $196 = ((($195)) + 72|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$8>>2]|0; + $199 = $198 ^ 1; + $200 = (($197) + ($199<<2)|0); + $201 = HEAP16[$200>>1]|0; + $202 = $201&65535; + $203 = (($194) + (($202*88)|0)|0); + HEAP32[$9>>2] = $203; + $204 = HEAP32[$8>>2]|0; + $205 = (($204|0) / 2)&-1; + HEAP32[$8>>2] = $205; + } + HEAP32[$3>>2] = 1; + $208 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($208|0); + } + } while(0); + $206 = HEAP32[$7>>2]|0; + $207 = HEAP32[$6>>2]|0; + HEAP32[$207>>2] = $206; + HEAP32[$3>>2] = 0; + $208 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($208|0); +} +function _fts5MultiIterAdvanced($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = (($13) + ($14))|0; + $16 = (($15|0) / 2)&-1; + HEAP32[$8>>2] = $16; + while(1) { + $17 = HEAP32[$8>>2]|0; + $18 = HEAP32[$7>>2]|0; + $19 = ($17|0)>=($18|0); + if (!($19)) { + label = 7; + break; + } + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 36|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + label = 7; + break; + } + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = (_fts5MultiIterDoCompare($24,$25)|0); + HEAP32[$9>>2] = $26; + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 80|0); + $30 = HEAP32[$9>>2]|0; + $31 = (($29) + (($30*88)|0)|0); + HEAP32[$10>>2] = $31; + $32 = HEAP32[$10>>2]|0; + $33 = ((($32)) + 24|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = HEAP32[$10>>2]|0; + FUNCTION_TABLE_viii[$34 & 255]($35,$36,0); + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 52|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$9>>2]|0; + $41 = (($39) + ($40))|0; + HEAP32[$8>>2] = $41; + } + $42 = HEAP32[$8>>2]|0; + $43 = (($42|0) / 2)&-1; + HEAP32[$8>>2] = $43; + } + if ((label|0) == 7) { + STACKTOP = sp;return; + } +} +function _fts5MultiIterSetEof($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 80|0); + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 72|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = (($4) + (($10*88)|0)|0); + HEAP32[$2>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0|0); + $16 = $15&1; + $17 = $16&255; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 16|0); + HEAP8[$19>>0] = $17; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 72|0); + $22 = $21; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 64|0); + $30 = $29; + $31 = $30; + HEAP32[$31>>2] = $24; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $27; + STACKTOP = sp;return; +} +function _fts5MultiIterDoCompare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $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; + 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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 72|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (($14) + ($15<<2)|0); + HEAP32[$10>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 52|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20|0) / 2)&-1; + $22 = ($17|0)>=($21|0); + if ($22) { + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 52|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($26|0) / 2)&-1; + $28 = (($23) - ($27))|0; + $29 = $28<<1; + HEAP32[$5>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$6>>2] = $31; + } else { + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 72|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = $35<<1; + $37 = (($34) + ($36<<2)|0); + $38 = HEAP16[$37>>1]|0; + $39 = $38&65535; + HEAP32[$5>>2] = $39; + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 72|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$4>>2]|0; + $44 = $43<<1; + $45 = (($44) + 1)|0; + $46 = (($42) + ($45<<2)|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47&65535; + HEAP32[$6>>2] = $48; + } + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 80|0); + $51 = HEAP32[$5>>2]|0; + $52 = (($50) + (($51*88)|0)|0); + HEAP32[$8>>2] = $52; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 80|0); + $55 = HEAP32[$6>>2]|0; + $56 = (($54) + (($55*88)|0)|0); + HEAP32[$9>>2] = $56; + $57 = HEAP32[$10>>2]|0; + $58 = ((($57)) + 2|0); + HEAP8[$58>>0] = 0; + $59 = HEAP32[$8>>2]|0; + $60 = ((($59)) + 12|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + do { + if ($62) { + $63 = HEAP32[$6>>2]|0; + HEAP32[$7>>2] = $63; + } else { + $64 = HEAP32[$9>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + $68 = HEAP32[$5>>2]|0; + HEAP32[$7>>2] = $68; + break; + } + $69 = HEAP32[$8>>2]|0; + $70 = ((($69)) + 60|0); + $71 = HEAP32[$9>>2]|0; + $72 = ((($71)) + 60|0); + $73 = (_fts5BufferCompare($70,$72)|0); + HEAP32[$11>>2] = $73; + $74 = HEAP32[$11>>2]|0; + $75 = ($74|0)==(0); + do { + if ($75) { + $76 = HEAP32[$10>>2]|0; + $77 = ((($76)) + 2|0); + HEAP8[$77>>0] = 1; + $78 = HEAP32[$8>>2]|0; + $79 = ((($78)) + 72|0); + $80 = $79; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (($80) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$9>>2]|0; + $87 = ((($86)) + 72|0); + $88 = $87; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = ($82|0)==($90|0); + $95 = ($85|0)==($93|0); + $96 = $94 & $95; + if (!($96)) { + $103 = HEAP32[$8>>2]|0; + $104 = ((($103)) + 72|0); + $105 = $104; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$9>>2]|0; + $112 = ((($111)) + 72|0); + $113 = $112; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = (($113) + 4)|0; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = ($110|0)>($118|0); + $120 = ($107>>>0)>($115>>>0); + $121 = ($110|0)==($118|0); + $122 = $121 & $120; + $123 = $119 | $122; + $124 = $123&1; + $125 = HEAP32[$3>>2]|0; + $126 = ((($125)) + 56|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($124|0)==($127|0); + $129 = $128 ? -1 : 1; + HEAP32[$11>>2] = $129; + break; + } + $97 = HEAP32[$9>>2]|0; + $98 = ((($97)) + 84|0); + $99 = HEAP8[$98>>0]|0; + $100 = HEAP32[$8>>2]|0; + $101 = ((($100)) + 84|0); + HEAP8[$101>>0] = $99; + $102 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $102; + $137 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($137|0); + } + } while(0); + $130 = HEAP32[$11>>2]|0; + $131 = ($130|0)<(0); + if ($131) { + $132 = HEAP32[$5>>2]|0; + HEAP32[$7>>2] = $132; + break; + } else { + $133 = HEAP32[$6>>2]|0; + HEAP32[$7>>2] = $133; + break; + } + } + } while(0); + $134 = HEAP32[$7>>2]|0; + $135 = $134&65535; + $136 = HEAP32[$10>>2]|0; + HEAP16[$136>>1] = $135; + HEAP32[$2>>2] = 0; + $137 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($137|0); +} +function _fts5BufferCompare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$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, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)<($11|0); + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$2>>2]|0; + $$sink1 = $12 ? $14 : $13; + $15 = ((($$sink1)) + 4|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$4>>2] = $16; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = (_memcmp($18,$20,$21)|0); + HEAP32[$5>>2] = $22; + $23 = HEAP32[$5>>2]|0; + $24 = ($23|0)==(0); + if ($24) { + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($27) - ($30))|0; + $33 = $31; + STACKTOP = sp;return ($33|0); + } else { + $32 = HEAP32[$5>>2]|0; + $33 = $32; + STACKTOP = sp;return ($33|0); + } + return (0)|0; +} +function _fts5DlidxIterEof($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 36|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + if ($7) { + $14 = 1; + $13 = $14&1; + STACKTOP = sp;return ($13|0); + } + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 8|0); + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0); + $14 = $12; + $13 = $14&1; + STACKTOP = sp;return ($13|0); +} +function _fts5DlidxIterRowid($0) { + $0 = $0|0; + var $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; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = ((($3)) + 24|0); + $5 = $4; + $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 _fts5DlidxIterPgno($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = ((($3)) + 16|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _fts5DlidxIterNext($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_fts5DlidxIterNextR($4,$5,0)|0); + STACKTOP = sp;return ($6|0); +} +function _fts5SegIterGotoPage($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($9|0)>($13|0); + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 36|0); + HEAP32[$16>>2] = 267; + STACKTOP = sp;return; + } + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + _fts5DataRelease($19); + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 16|0); + HEAP32[$21>>2] = 0; + $22 = HEAP32[$5>>2]|0; + $23 = (($22) - 1)|0; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 8|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$4>>2]|0; + _fts5SegIterNextPage($26,$27); + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 36|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + STACKTOP = sp;return; + } + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$34>>2]|0; + HEAP32[$7>>2] = $35; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($38)) + 8|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$8>>2] = $40; + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 12|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = (_fts5GetU16($44)|0); + $46 = $45&65535; + HEAP32[$6>>2] = $46; + $47 = HEAP32[$6>>2]|0; + $48 = ($47|0)<(4); + if (!($48)) { + $49 = HEAP32[$6>>2]|0; + $50 = HEAP32[$8>>2]|0; + $51 = ($49|0)>=($50|0); + if (!($51)) { + $54 = HEAP32[$7>>2]|0; + $55 = HEAP32[$6>>2]|0; + $56 = (($54) + ($55)|0); + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 72|0); + $59 = (_sqlite3Fts5GetVarint($56,$58)|0); + $60 = $59&255; + $61 = HEAP32[$6>>2]|0; + $62 = (($61) + ($60))|0; + HEAP32[$6>>2] = $62; + $63 = HEAP32[$6>>2]|0; + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 20|0); + HEAP32[$65>>2] = $63; + $66 = HEAP32[$3>>2]|0; + $67 = HEAP32[$4>>2]|0; + _fts5SegIterLoadNPos($66,$67); + STACKTOP = sp;return; + } + } + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 36|0); + HEAP32[$53>>2] = 267; + STACKTOP = sp;return; +} +function _fts5DlidxIterPrev($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_fts5DlidxIterPrevR($4,$5,0)|0); + STACKTOP = sp;return ($6|0); +} +function _fts5SegIterReverseNewPage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + _fts5DataRelease($9); + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 12|0); + HEAP32[$11>>2] = 0; + while(1) { + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 36|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + break; + } + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($18|0)>($21|0); + if (!($22)) { + break; + } + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + -1)|0; + HEAP32[$24>>2] = $26; + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)<(0); + $32 = $31 << 31 >> 31; + $33 = (_bitshift64Shl(($30|0),($32|0),37)|0); + $34 = tempRet0; + $35 = (_i64Add(($33|0),($34|0),0,0)|0); + $36 = tempRet0; + $37 = (_i64Add(($35|0),($36|0),0,0)|0); + $38 = tempRet0; + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)<(0); + $43 = $42 << 31 >> 31; + $44 = (_i64Add(($37|0),($38|0),($41|0),($43|0))|0); + $45 = tempRet0; + $46 = (_fts5DataRead($27,$44,$45)|0); + HEAP32[$4>>2] = $46; + $47 = HEAP32[$4>>2]|0; + $48 = ($47|0)!=(0|0); + if (!($48)) { + continue; + } + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 28|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($51|0)==($54|0); + if ($55) { + $56 = HEAP32[$3>>2]|0; + $57 = ((($56)) + 32|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$4>>2]|0; + $60 = ((($59)) + 8|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($58|0)<($61|0); + if ($62) { + $63 = HEAP32[$4>>2]|0; + $64 = HEAP32[$3>>2]|0; + $65 = ((($64)) + 12|0); + HEAP32[$65>>2] = $63; + $66 = HEAP32[$3>>2]|0; + $67 = ((($66)) + 32|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 20|0); + HEAP32[$70>>2] = $68; + } + } else { + $71 = HEAP32[$4>>2]|0; + $72 = HEAP32[$71>>2]|0; + $73 = (_fts5GetU16($72)|0); + $74 = $73&65535; + HEAP32[$5>>2] = $74; + $75 = HEAP32[$5>>2]|0; + $76 = ($75|0)!=(0); + if ($76) { + $77 = HEAP32[$4>>2]|0; + $78 = HEAP32[$3>>2]|0; + $79 = ((($78)) + 12|0); + HEAP32[$79>>2] = $77; + $80 = HEAP32[$5>>2]|0; + $81 = HEAP32[$3>>2]|0; + $82 = ((($81)) + 20|0); + HEAP32[$82>>2] = $80; + } + } + $83 = HEAP32[$3>>2]|0; + $84 = ((($83)) + 12|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)!=(0|0); + if ($86) { + label = 11; + break; + } + $104 = HEAP32[$4>>2]|0; + _fts5DataRelease($104); + } + if ((label|0) == 11) { + $87 = HEAP32[$3>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$3>>2]|0; + $92 = ((($91)) + 20|0); + $93 = HEAP32[$92>>2]|0; + $94 = (($90) + ($93)|0); + HEAP32[$6>>2] = $94; + $95 = HEAP32[$6>>2]|0; + $96 = HEAP32[$3>>2]|0; + $97 = ((($96)) + 72|0); + $98 = (_sqlite3Fts5GetVarint($95,$97)|0); + $99 = $98&255; + $100 = HEAP32[$3>>2]|0; + $101 = ((($100)) + 20|0); + $102 = HEAP32[$101>>2]|0; + $103 = (($102) + ($99))|0; + HEAP32[$101>>2] = $103; + } + $105 = HEAP32[$3>>2]|0; + $106 = ((($105)) + 12|0); + $107 = HEAP32[$106>>2]|0; + $108 = ($107|0)!=(0|0); + if (!($108)) { + STACKTOP = sp;return; + } + $109 = HEAP32[$3>>2]|0; + $110 = ((($109)) + 12|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($111)) + 4|0); + $113 = HEAP32[$112>>2]|0; + $114 = (($113) + 1)|0; + $115 = HEAP32[$3>>2]|0; + $116 = ((($115)) + 40|0); + HEAP32[$116>>2] = $114; + $117 = HEAP32[$2>>2]|0; + $118 = HEAP32[$3>>2]|0; + _fts5SegIterReverseInitPage($117,$118); + STACKTOP = sp;return; +} +function _fts5DataRead($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $12 = 0, $13 = 0; + var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + HEAP32[$3>>2] = $0; + $12 = $4; + $13 = $12; + HEAP32[$13>>2] = $1; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $2; + HEAP32[$5>>2] = 0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 36|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $115 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($115|0); + } + HEAP32[$6>>2] = 0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 40|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 40|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$7>>2] = $26; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 40|0); + HEAP32[$28>>2] = 0; + $29 = HEAP32[$7>>2]|0; + $30 = $4; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (_sqlite3_blob_reopen($29,$32,$35)|0); + HEAP32[$6>>2] = $36; + $37 = HEAP32[$7>>2]|0; + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 40|0); + HEAP32[$39>>2] = $37; + $40 = HEAP32[$6>>2]|0; + $41 = ($40|0)!=(0); + if ($41) { + $42 = HEAP32[$3>>2]|0; + _fts5CloseReader($42); + } + $43 = HEAP32[$6>>2]|0; + $44 = ($43|0)==(4); + if ($44) { + HEAP32[$6>>2] = 0; + } + } + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 40|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0|0); + $49 = HEAP32[$6>>2]|0; + $50 = ($49|0)==(0); + $or$cond = $48 & $50; + if ($or$cond) { + $51 = HEAP32[$3>>2]|0; + $52 = HEAP32[$51>>2]|0; + HEAP32[$8>>2] = $52; + $53 = HEAP32[$8>>2]|0; + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$8>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$3>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP32[$59>>2]|0; + $61 = $4; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$3>>2]|0; + $68 = ((($67)) + 40|0); + $69 = (_sqlite3_blob_open($54,$57,$60,45300,$63,$66,0,$68)|0); + HEAP32[$6>>2] = $69; + } + $70 = HEAP32[$6>>2]|0; + $71 = ($70|0)==(1); + if ($71) { + HEAP32[$6>>2] = 267; + } + $72 = HEAP32[$6>>2]|0; + $73 = ($72|0)==(0); + do { + if ($73) { + HEAP32[$9>>2] = 0; + $74 = HEAP32[$3>>2]|0; + $75 = ((($74)) + 40|0); + $76 = HEAP32[$75>>2]|0; + $77 = (_sqlite3_blob_bytes($76)|0); + HEAP32[$10>>2] = $77; + $78 = HEAP32[$10>>2]|0; + $79 = (12 + ($78))|0; + $80 = (($79) + 20)|0; + HEAP32[$11>>2] = $80; + $81 = HEAP32[$11>>2]|0; + $82 = (_sqlite3_malloc($81)|0); + HEAP32[$5>>2] = $82; + $83 = HEAP32[$5>>2]|0; + $84 = ($83|0)!=(0|0); + if ($84) { + $85 = HEAP32[$10>>2]|0; + $86 = HEAP32[$5>>2]|0; + $87 = ((($86)) + 4|0); + HEAP32[$87>>2] = $85; + $88 = HEAP32[$5>>2]|0; + $89 = ((($88)) + 12|0); + $90 = HEAP32[$5>>2]|0; + HEAP32[$90>>2] = $89; + HEAP32[$9>>2] = $89; + } else { + HEAP32[$6>>2] = 7; + } + $91 = HEAP32[$6>>2]|0; + $92 = ($91|0)==(0); + if ($92) { + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 40|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$9>>2]|0; + $97 = HEAP32[$10>>2]|0; + $98 = (_sqlite3_blob_read($95,$96,$97,0)|0); + HEAP32[$6>>2] = $98; + } + $99 = HEAP32[$6>>2]|0; + $100 = ($99|0)!=(0); + $101 = HEAP32[$5>>2]|0; + if ($100) { + _sqlite3_free($101); + HEAP32[$5>>2] = 0; + break; + } else { + $102 = HEAP32[$101>>2]|0; + $103 = ((($102)) + 2|0); + $104 = (_fts5GetU16($103)|0); + $105 = $104&65535; + $106 = HEAP32[$5>>2]|0; + $107 = ((($106)) + 8|0); + HEAP32[$107>>2] = $105; + break; + } + } + } while(0); + $108 = HEAP32[$6>>2]|0; + $109 = HEAP32[$3>>2]|0; + $110 = ((($109)) + 36|0); + HEAP32[$110>>2] = $108; + $111 = HEAP32[$3>>2]|0; + $112 = ((($111)) + 64|0); + $113 = HEAP32[$112>>2]|0; + $114 = (($113) + 1)|0; + HEAP32[$112>>2] = $114; + $115 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($115|0); +} +function _fts5GetU16($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = $4&65535; + $6 = $5 << 8; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 1|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = (($6) + ($10))|0; + $12 = $11&65535; + STACKTOP = sp;return ($12|0); +} +function _sqlite3Fts5GetVarint($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$5>>2]|0; + $12 = $11 & 128; + $13 = ($12|0)!=(0); + if (!($13)) { + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = $15; + $17 = $16; + HEAP32[$17>>2] = $14; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = 0; + HEAP8[$2>>0] = 1; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); + } + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 1|0); + HEAP32[$3>>2] = $21; + $22 = HEAP32[$3>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + HEAP32[$6>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = $25 & 128; + $27 = ($26|0)!=(0); + if (!($27)) { + $28 = HEAP32[$5>>2]|0; + $29 = $28 & 127; + HEAP32[$5>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = $30 << 7; + HEAP32[$5>>2] = $31; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = $33 | $32; + HEAP32[$5>>2] = $34; + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = $36; + $38 = $37; + HEAP32[$38>>2] = $35; + $39 = (($37) + 4)|0; + $40 = $39; + HEAP32[$40>>2] = 0; + HEAP8[$2>>0] = 2; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); + } + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 1|0); + HEAP32[$3>>2] = $42; + $43 = HEAP32[$5>>2]|0; + $44 = $43 << 14; + HEAP32[$5>>2] = $44; + $45 = HEAP32[$3>>2]|0; + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = HEAP32[$5>>2]|0; + $49 = $48 | $47; + HEAP32[$5>>2] = $49; + $50 = HEAP32[$5>>2]|0; + $51 = $50 & 128; + $52 = ($51|0)!=(0); + $53 = HEAP32[$5>>2]|0; + $54 = $53 & 2080895; + HEAP32[$5>>2] = $54; + if (!($52)) { + $55 = HEAP32[$6>>2]|0; + $56 = $55 & 127; + HEAP32[$6>>2] = $56; + $57 = HEAP32[$6>>2]|0; + $58 = $57 << 7; + HEAP32[$6>>2] = $58; + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$5>>2]|0; + $61 = $60 | $59; + HEAP32[$5>>2] = $61; + $62 = HEAP32[$5>>2]|0; + $63 = HEAP32[$4>>2]|0; + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = $62; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = 0; + HEAP8[$2>>0] = 3; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); + } + $68 = HEAP32[$3>>2]|0; + $69 = ((($68)) + 1|0); + HEAP32[$3>>2] = $69; + $70 = HEAP32[$6>>2]|0; + $71 = $70 << 14; + HEAP32[$6>>2] = $71; + $72 = HEAP32[$3>>2]|0; + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = HEAP32[$6>>2]|0; + $76 = $75 | $74; + HEAP32[$6>>2] = $76; + $77 = HEAP32[$6>>2]|0; + $78 = $77 & 128; + $79 = ($78|0)!=(0); + $80 = HEAP32[$6>>2]|0; + $81 = $80 & 2080895; + HEAP32[$6>>2] = $81; + $82 = HEAP32[$5>>2]|0; + if (!($79)) { + $83 = $82 << 7; + HEAP32[$5>>2] = $83; + $84 = HEAP32[$6>>2]|0; + $85 = HEAP32[$5>>2]|0; + $86 = $85 | $84; + HEAP32[$5>>2] = $86; + $87 = HEAP32[$5>>2]|0; + $88 = HEAP32[$4>>2]|0; + $89 = $88; + $90 = $89; + HEAP32[$90>>2] = $87; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = 0; + HEAP8[$2>>0] = 4; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); + } + HEAP32[$7>>2] = $82; + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 1|0); + HEAP32[$3>>2] = $94; + $95 = HEAP32[$5>>2]|0; + $96 = $95 << 14; + HEAP32[$5>>2] = $96; + $97 = HEAP32[$3>>2]|0; + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $100 = HEAP32[$5>>2]|0; + $101 = $100 | $99; + HEAP32[$5>>2] = $101; + $102 = HEAP32[$5>>2]|0; + $103 = $102 & 128; + $104 = ($103|0)!=(0); + if (!($104)) { + $105 = HEAP32[$6>>2]|0; + $106 = $105 << 7; + HEAP32[$6>>2] = $106; + $107 = HEAP32[$6>>2]|0; + $108 = HEAP32[$5>>2]|0; + $109 = $108 | $107; + HEAP32[$5>>2] = $109; + $110 = HEAP32[$7>>2]|0; + $111 = $110 >>> 18; + HEAP32[$7>>2] = $111; + $112 = HEAP32[$7>>2]|0; + $113 = HEAP32[$5>>2]|0; + $114 = HEAP32[$4>>2]|0; + $115 = $114; + $116 = $115; + HEAP32[$116>>2] = $113; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $112; + HEAP8[$2>>0] = 5; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); + } + $119 = HEAP32[$7>>2]|0; + $120 = $119 << 7; + HEAP32[$7>>2] = $120; + $121 = HEAP32[$6>>2]|0; + $122 = HEAP32[$7>>2]|0; + $123 = $122 | $121; + HEAP32[$7>>2] = $123; + $124 = HEAP32[$3>>2]|0; + $125 = ((($124)) + 1|0); + HEAP32[$3>>2] = $125; + $126 = HEAP32[$6>>2]|0; + $127 = $126 << 14; + HEAP32[$6>>2] = $127; + $128 = HEAP32[$3>>2]|0; + $129 = HEAP8[$128>>0]|0; + $130 = $129&255; + $131 = HEAP32[$6>>2]|0; + $132 = $131 | $130; + HEAP32[$6>>2] = $132; + $133 = HEAP32[$6>>2]|0; + $134 = $133 & 128; + $135 = ($134|0)!=(0); + if (!($135)) { + $136 = HEAP32[$5>>2]|0; + $137 = $136 & 2080895; + HEAP32[$5>>2] = $137; + $138 = HEAP32[$5>>2]|0; + $139 = $138 << 7; + HEAP32[$5>>2] = $139; + $140 = HEAP32[$6>>2]|0; + $141 = HEAP32[$5>>2]|0; + $142 = $141 | $140; + HEAP32[$5>>2] = $142; + $143 = HEAP32[$7>>2]|0; + $144 = $143 >>> 18; + HEAP32[$7>>2] = $144; + $145 = HEAP32[$7>>2]|0; + $146 = HEAP32[$5>>2]|0; + $147 = HEAP32[$4>>2]|0; + $148 = $147; + $149 = $148; + HEAP32[$149>>2] = $146; + $150 = (($148) + 4)|0; + $151 = $150; + HEAP32[$151>>2] = $145; + HEAP8[$2>>0] = 6; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); + } + $152 = HEAP32[$3>>2]|0; + $153 = ((($152)) + 1|0); + HEAP32[$3>>2] = $153; + $154 = HEAP32[$5>>2]|0; + $155 = $154 << 14; + HEAP32[$5>>2] = $155; + $156 = HEAP32[$3>>2]|0; + $157 = HEAP8[$156>>0]|0; + $158 = $157&255; + $159 = HEAP32[$5>>2]|0; + $160 = $159 | $158; + HEAP32[$5>>2] = $160; + $161 = HEAP32[$5>>2]|0; + $162 = $161 & 128; + $163 = ($162|0)!=(0); + $164 = HEAP32[$5>>2]|0; + if (!($163)) { + $165 = $164 & -266354561; + HEAP32[$5>>2] = $165; + $166 = HEAP32[$6>>2]|0; + $167 = $166 & 2080895; + HEAP32[$6>>2] = $167; + $168 = HEAP32[$6>>2]|0; + $169 = $168 << 7; + HEAP32[$6>>2] = $169; + $170 = HEAP32[$6>>2]|0; + $171 = HEAP32[$5>>2]|0; + $172 = $171 | $170; + HEAP32[$5>>2] = $172; + $173 = HEAP32[$7>>2]|0; + $174 = $173 >>> 11; + HEAP32[$7>>2] = $174; + $175 = HEAP32[$7>>2]|0; + $176 = HEAP32[$5>>2]|0; + $177 = HEAP32[$4>>2]|0; + $178 = $177; + $179 = $178; + HEAP32[$179>>2] = $176; + $180 = (($178) + 4)|0; + $181 = $180; + HEAP32[$181>>2] = $175; + HEAP8[$2>>0] = 7; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); + } + $182 = $164 & 2080895; + HEAP32[$5>>2] = $182; + $183 = HEAP32[$3>>2]|0; + $184 = ((($183)) + 1|0); + HEAP32[$3>>2] = $184; + $185 = HEAP32[$6>>2]|0; + $186 = $185 << 14; + HEAP32[$6>>2] = $186; + $187 = HEAP32[$3>>2]|0; + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = HEAP32[$6>>2]|0; + $191 = $190 | $189; + HEAP32[$6>>2] = $191; + $192 = HEAP32[$6>>2]|0; + $193 = $192 & 128; + $194 = ($193|0)!=(0); + if ($194) { + $211 = HEAP32[$3>>2]|0; + $212 = ((($211)) + 1|0); + HEAP32[$3>>2] = $212; + $213 = HEAP32[$5>>2]|0; + $214 = $213 << 15; + HEAP32[$5>>2] = $214; + $215 = HEAP32[$3>>2]|0; + $216 = HEAP8[$215>>0]|0; + $217 = $216&255; + $218 = HEAP32[$5>>2]|0; + $219 = $218 | $217; + HEAP32[$5>>2] = $219; + $220 = HEAP32[$6>>2]|0; + $221 = $220 & 2080895; + HEAP32[$6>>2] = $221; + $222 = HEAP32[$6>>2]|0; + $223 = $222 << 8; + HEAP32[$6>>2] = $223; + $224 = HEAP32[$6>>2]|0; + $225 = HEAP32[$5>>2]|0; + $226 = $225 | $224; + HEAP32[$5>>2] = $226; + $227 = HEAP32[$7>>2]|0; + $228 = $227 << 4; + HEAP32[$7>>2] = $228; + $229 = HEAP32[$3>>2]|0; + $230 = ((($229)) + -4|0); + $231 = HEAP8[$230>>0]|0; + $232 = $231&255; + HEAP32[$6>>2] = $232; + $233 = HEAP32[$6>>2]|0; + $234 = $233 & 127; + HEAP32[$6>>2] = $234; + $235 = HEAP32[$6>>2]|0; + $236 = $235 >>> 3; + HEAP32[$6>>2] = $236; + $237 = HEAP32[$6>>2]|0; + $238 = HEAP32[$7>>2]|0; + $239 = $238 | $237; + HEAP32[$7>>2] = $239; + $240 = HEAP32[$7>>2]|0; + $241 = HEAP32[$5>>2]|0; + $242 = HEAP32[$4>>2]|0; + $243 = $242; + $244 = $243; + HEAP32[$244>>2] = $241; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP32[$246>>2] = $240; + HEAP8[$2>>0] = 9; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); + } else { + $195 = HEAP32[$6>>2]|0; + $196 = $195 & -266354561; + HEAP32[$6>>2] = $196; + $197 = HEAP32[$5>>2]|0; + $198 = $197 << 7; + HEAP32[$5>>2] = $198; + $199 = HEAP32[$6>>2]|0; + $200 = HEAP32[$5>>2]|0; + $201 = $200 | $199; + HEAP32[$5>>2] = $201; + $202 = HEAP32[$7>>2]|0; + $203 = $202 >>> 4; + HEAP32[$7>>2] = $203; + $204 = HEAP32[$7>>2]|0; + $205 = HEAP32[$5>>2]|0; + $206 = HEAP32[$4>>2]|0; + $207 = $206; + $208 = $207; + HEAP32[$208>>2] = $205; + $209 = (($207) + 4)|0; + $210 = $209; + HEAP32[$210>>2] = $204; + HEAP8[$2>>0] = 8; + $247 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($247|0); + } + return (0)|0; +} +function _fts5SegIterReverseInitPage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 48|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$4>>2] = $17; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$5>>2] = $22; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$6>>2] = $25; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$28>>2]|0; + HEAP32[$7>>2] = $29; + HEAP32[$8>>2] = 0; + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($30|0)>($33|0); + if ($34) { + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 40|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$5>>2] = $37; + } + while(1) { + $38 = $9; + $39 = $38; + HEAP32[$39>>2] = 0; + $40 = (($38) + 4)|0; + $41 = $40; + HEAP32[$41>>2] = 0; + $42 = HEAP32[$4>>2]|0; + $43 = ($42|0)==(1); + if ($43) { + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$5>>2]|0; + $46 = ($44|0)<($45|0); + if ($46) { + $47 = HEAP32[$7>>2]|0; + $48 = HEAP32[$6>>2]|0; + $49 = (($47) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$6>>2]|0; + $54 = (($53) + 1)|0; + HEAP32[$6>>2] = $54; + $55 = HEAP32[$6>>2]|0; + $56 = HEAP32[$5>>2]|0; + $57 = ($55|0)<($56|0); + if ($57) { + $58 = HEAP32[$7>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = (($58) + ($59)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62|0)==(0); + if ($63) { + $64 = HEAP32[$6>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$6>>2] = $65; + } + } + } + } + } else { + $66 = HEAP32[$7>>2]|0; + $67 = HEAP32[$6>>2]|0; + $68 = (($66) + ($67)|0); + $69 = (_fts5GetPoslistSize($68,$10,$11)|0); + $70 = HEAP32[$6>>2]|0; + $71 = (($70) + ($69))|0; + HEAP32[$6>>2] = $71; + $72 = HEAP32[$10>>2]|0; + $73 = HEAP32[$6>>2]|0; + $74 = (($73) + ($72))|0; + HEAP32[$6>>2] = $74; + } + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$5>>2]|0; + $77 = ($75|0)>=($76|0); + if ($77) { + label = 16; + break; + } + $78 = HEAP32[$7>>2]|0; + $79 = HEAP32[$6>>2]|0; + $80 = (($78) + ($79)|0); + $81 = (_sqlite3Fts5GetVarint($80,$9)|0); + $82 = $81&255; + $83 = HEAP32[$6>>2]|0; + $84 = (($83) + ($82))|0; + HEAP32[$6>>2] = $84; + $85 = $9; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$3>>2]|0; + $92 = ((($91)) + 72|0); + $93 = $92; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (_i64Add(($95|0),($98|0),($87|0),($90|0))|0); + $100 = tempRet0; + $101 = $92; + $102 = $101; + HEAP32[$102>>2] = $99; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + $105 = HEAP32[$8>>2]|0; + $106 = HEAP32[$3>>2]|0; + $107 = ((($106)) + 48|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($105|0)>=($108|0); + if ($109) { + $110 = HEAP32[$3>>2]|0; + $111 = ((($110)) + 48|0); + $112 = HEAP32[$111>>2]|0; + $113 = (($112) + 8)|0; + HEAP32[$12>>2] = $113; + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + 52|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$12>>2]|0; + $118 = $117<<2; + $119 = (_sqlite3_realloc($116,$118)|0); + HEAP32[$13>>2] = $119; + $120 = HEAP32[$13>>2]|0; + $121 = ($120|0)==(0|0); + if ($121) { + break; + } + $124 = HEAP32[$13>>2]|0; + $125 = HEAP32[$3>>2]|0; + $126 = ((($125)) + 52|0); + HEAP32[$126>>2] = $124; + $127 = HEAP32[$12>>2]|0; + $128 = HEAP32[$3>>2]|0; + $129 = ((($128)) + 48|0); + HEAP32[$129>>2] = $127; + } + $130 = HEAP32[$3>>2]|0; + $131 = ((($130)) + 20|0); + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$3>>2]|0; + $134 = ((($133)) + 52|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$8>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[$8>>2] = $137; + $138 = (($135) + ($136<<2)|0); + HEAP32[$138>>2] = $132; + $139 = HEAP32[$6>>2]|0; + $140 = HEAP32[$3>>2]|0; + $141 = ((($140)) + 20|0); + HEAP32[$141>>2] = $139; + } + if ((label|0) == 16) { + $142 = HEAP32[$8>>2]|0; + $143 = HEAP32[$3>>2]|0; + $144 = ((($143)) + 44|0); + HEAP32[$144>>2] = $142; + $145 = HEAP32[$2>>2]|0; + $146 = HEAP32[$3>>2]|0; + _fts5SegIterLoadNPos($145,$146); + STACKTOP = sp;return; + } + $122 = HEAP32[$2>>2]|0; + $123 = ((($122)) + 36|0); + HEAP32[$123>>2] = 7; + $142 = HEAP32[$8>>2]|0; + $143 = HEAP32[$3>>2]|0; + $144 = ((($143)) + 44|0); + HEAP32[$144>>2] = $142; + $145 = HEAP32[$2>>2]|0; + $146 = HEAP32[$3>>2]|0; + _fts5SegIterLoadNPos($145,$146); + STACKTOP = sp;return; +} +function _fts5GetPoslistSize($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$7>>2] = 0; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$7>>2]|0; + $10 = (($9) + 1)|0; + HEAP32[$7>>2] = $10; + $11 = (($8) + ($9)|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + HEAP32[$6>>2] = $13; + $14 = HEAP32[$6>>2]|0; + $15 = $14 & 128; + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$7>>2]|0; + $18 = (($17) + -1)|0; + HEAP32[$7>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = (($19) + ($20)|0); + $22 = (_sqlite3Fts5GetVarint32($21,$6)|0); + $23 = HEAP32[$7>>2]|0; + $24 = (($23) + ($22))|0; + HEAP32[$7>>2] = $24; + } + $25 = HEAP32[$6>>2]|0; + $26 = (($25|0) / 2)&-1; + $27 = HEAP32[$4>>2]|0; + HEAP32[$27>>2] = $26; + $28 = HEAP32[$6>>2]|0; + $29 = $28 & 1; + $30 = HEAP32[$5>>2]|0; + HEAP32[$30>>2] = $29; + $31 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($31|0); +} +function _fts5SegIterLoadNPos($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 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, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 36|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$4>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 48|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + $19 = HEAP32[$3>>2]|0; + do { + if ($18) { + $20 = ((($19)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($21|0)<($26|0); + $28 = HEAP32[$3>>2]|0; + if ($27) { + $29 = ((($28)) + 40|0); + $30 = HEAP32[$29>>2]|0; + $35 = $30; + } else { + $31 = ((($28)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = $34; + } + HEAP32[$5>>2] = $35; + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 84|0); + HEAP8[$37>>0] = 0; + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 80|0); + HEAP32[$39>>2] = 1; + $40 = HEAP32[$4>>2]|0; + $41 = HEAP32[$5>>2]|0; + $42 = ($40|0)<($41|0); + if ($42) { + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$4>>2]|0; + $48 = (($46) + ($47)|0); + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + $51 = ($50|0)==(0); + if ($51) { + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 84|0); + HEAP8[$53>>0] = 1; + $54 = HEAP32[$4>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$4>>2] = $55; + $56 = HEAP32[$4>>2]|0; + $57 = HEAP32[$5>>2]|0; + $58 = ($56|0)<($57|0); + if ($58) { + $59 = HEAP32[$3>>2]|0; + $60 = ((($59)) + 12|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$4>>2]|0; + $64 = (($62) + ($63)|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = ($66|0)==(0); + if ($67) { + $68 = HEAP32[$3>>2]|0; + $69 = ((($68)) + 80|0); + HEAP32[$69>>2] = 1; + $70 = HEAP32[$4>>2]|0; + $71 = (($70) + 1)|0; + HEAP32[$4>>2] = $71; + break; + } + } + $72 = HEAP32[$3>>2]|0; + $73 = ((($72)) + 80|0); + HEAP32[$73>>2] = 0; + } + } + } else { + $74 = ((($19)) + 12|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$4>>2]|0; + $78 = (($77) + 1)|0; + HEAP32[$4>>2] = $78; + $79 = (($76) + ($77)|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + HEAP32[$6>>2] = $81; + $82 = HEAP32[$6>>2]|0; + $83 = $82 & 128; + $84 = ($83|0)!=(0); + if ($84) { + $85 = HEAP32[$4>>2]|0; + $86 = (($85) + -1)|0; + HEAP32[$4>>2] = $86; + $87 = HEAP32[$3>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$4>>2]|0; + $92 = (($90) + ($91)|0); + $93 = (_sqlite3Fts5GetVarint32($92,$6)|0); + $94 = HEAP32[$4>>2]|0; + $95 = (($94) + ($93))|0; + HEAP32[$4>>2] = $95; + } + $96 = HEAP32[$6>>2]|0; + $97 = $96 & 1; + $98 = $97&255; + $99 = HEAP32[$3>>2]|0; + $100 = ((($99)) + 84|0); + HEAP8[$100>>0] = $98; + $101 = HEAP32[$6>>2]|0; + $102 = $101 >> 1; + $103 = HEAP32[$3>>2]|0; + $104 = ((($103)) + 80|0); + HEAP32[$104>>2] = $102; + } + } while(0); + $105 = HEAP32[$4>>2]|0; + $106 = HEAP32[$3>>2]|0; + $107 = ((($106)) + 20|0); + HEAP32[$107>>2] = $105; + STACKTOP = sp;return; +} +function _sqlite3Fts5GetVarint32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 28|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + HEAP32[$5>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = $12 & 128; + $14 = ($13|0)!=(0); + if (!($14)) { + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$4>>2]|0; + HEAP32[$16>>2] = $15; + HEAP32[$2>>2] = 1; + $68 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($68|0); + } + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 1|0); + HEAP32[$3>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + HEAP32[$6>>2] = $21; + $22 = HEAP32[$6>>2]|0; + $23 = $22 & 128; + $24 = ($23|0)!=(0); + if (!($24)) { + $25 = HEAP32[$5>>2]|0; + $26 = $25 & 127; + HEAP32[$5>>2] = $26; + $27 = HEAP32[$5>>2]|0; + $28 = $27 << 7; + HEAP32[$5>>2] = $28; + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = $29 | $30; + $32 = HEAP32[$4>>2]|0; + HEAP32[$32>>2] = $31; + HEAP32[$2>>2] = 2; + $68 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($68|0); + } + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 1|0); + HEAP32[$3>>2] = $34; + $35 = HEAP32[$5>>2]|0; + $36 = $35 << 14; + HEAP32[$5>>2] = $36; + $37 = HEAP32[$3>>2]|0; + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = HEAP32[$5>>2]|0; + $41 = $40 | $39; + HEAP32[$5>>2] = $41; + $42 = HEAP32[$5>>2]|0; + $43 = $42 & 128; + $44 = ($43|0)!=(0); + if ($44) { + $55 = HEAP32[$3>>2]|0; + $56 = ((($55)) + -2|0); + HEAP32[$3>>2] = $56; + $57 = HEAP32[$3>>2]|0; + $58 = (_sqlite3Fts5GetVarint($57,$7)|0); + HEAP8[$8>>0] = $58; + $59 = $7; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$4>>2]|0; + HEAP32[$65>>2] = $61; + $66 = HEAP8[$8>>0]|0; + $67 = $66&255; + HEAP32[$2>>2] = $67; + $68 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($68|0); + } else { + $45 = HEAP32[$5>>2]|0; + $46 = $45 & 2080895; + HEAP32[$5>>2] = $46; + $47 = HEAP32[$6>>2]|0; + $48 = $47 & 127; + HEAP32[$6>>2] = $48; + $49 = HEAP32[$6>>2]|0; + $50 = $49 << 7; + HEAP32[$6>>2] = $50; + $51 = HEAP32[$5>>2]|0; + $52 = HEAP32[$6>>2]|0; + $53 = $51 | $52; + $54 = HEAP32[$4>>2]|0; + HEAP32[$54>>2] = $53; + HEAP32[$2>>2] = 3; + $68 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($68|0); + } + return (0)|0; +} +function _fts5CloseReader($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 40|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$2>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 40|0); + HEAP32[$11>>2] = 0; + $12 = HEAP32[$2>>2]|0; + (_sqlite3_blob_close($12)|0); + STACKTOP = sp;return; +} +function _fts5DlidxIterPrevR($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$5>>2]|0; + $10 = (($8) + ($9<<5)|0); + HEAP32[$6>>2] = $10; + $11 = HEAP32[$6>>2]|0; + $12 = (_fts5DlidxLvlPrev($11)|0); + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$5>>2]|0; + $15 = (($14) + 1)|0; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($15|0)<($17|0); + if ($18) { + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = (($21) + 1)|0; + (_fts5DlidxIterPrevR($19,$20,$22)|0); + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 32|0); + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$28>>2]|0; + _fts5DataRelease($29); + $30 = HEAP32[$6>>2]|0; + ;HEAP32[$30>>2]=0|0;HEAP32[$30+4>>2]=0|0;HEAP32[$30+8>>2]=0|0;HEAP32[$30+12>>2]=0|0;HEAP32[$30+16>>2]=0|0;HEAP32[$30+20>>2]=0|0;HEAP32[$30+24>>2]=0|0;HEAP32[$30+28>>2]=0|0; + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<(0); + $36 = $35 << 31 >> 31; + $37 = (_bitshift64Shl(($34|0),($36|0),37)|0); + $38 = tempRet0; + $39 = (_i64Add(($37|0),($38|0),0,16)|0); + $40 = tempRet0; + $41 = HEAP32[$5>>2]|0; + $42 = ($41|0)<(0); + $43 = $42 << 31 >> 31; + $44 = (_bitshift64Shl(($41|0),($43|0),31)|0); + $45 = tempRet0; + $46 = (_i64Add(($39|0),($40|0),($44|0),($45|0))|0); + $47 = tempRet0; + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 32|0); + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)<(0); + $53 = $52 << 31 >> 31; + $54 = (_i64Add(($46|0),($47|0),($51|0),($53|0))|0); + $55 = tempRet0; + $56 = (_fts5DataRead($31,$54,$55)|0); + $57 = HEAP32[$6>>2]|0; + HEAP32[$57>>2] = $56; + $58 = HEAP32[$6>>2]|0; + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)!=(0|0); + if ($60) { + while(1) { + $61 = HEAP32[$6>>2]|0; + $62 = (_fts5DlidxLvlNext($61)|0); + $63 = ($62|0)==(0); + if (!($63)) { + break; + } + } + $64 = HEAP32[$6>>2]|0; + $65 = ((($64)) + 8|0); + HEAP32[$65>>2] = 0; + } + } + } + } + $66 = HEAP32[$4>>2]|0; + $67 = ((($66)) + 8|0); + $68 = ((($67)) + 8|0); + $69 = HEAP32[$68>>2]|0; + STACKTOP = sp;return ($69|0); +} +function _fts5DlidxLvlPrev($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $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; + 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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $1 = sp + 36|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + HEAP32[$1>>2] = $0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$2>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($13|0)<=($16|0); + $18 = HEAP32[$1>>2]|0; + if ($17) { + $19 = ((($18)) + 8|0); + HEAP32[$19>>2] = 1; + $134 = HEAP32[$1>>2]|0; + $135 = ((($134)) + 8|0); + $136 = HEAP32[$135>>2]|0; + STACKTOP = sp;return ($136|0); + } + $20 = HEAP32[$18>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$3>>2] = $21; + HEAP32[$7>>2] = 0; + $22 = HEAP32[$2>>2]|0; + $23 = ($22|0)>(9); + $24 = HEAP32[$2>>2]|0; + $25 = (($24) - 9)|0; + $26 = $23 ? $25 : 0; + HEAP32[$5>>2] = $26; + $27 = HEAP32[$2>>2]|0; + $28 = (($27) + -1)|0; + HEAP32[$2>>2] = $28; + while(1) { + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = ($29|0)>($30|0); + if (!($31)) { + break; + } + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = (($33) - 1)|0; + $35 = (($32) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = $37 & 128; + $39 = ($38|0)==(0); + if ($39) { + break; + } + $40 = HEAP32[$2>>2]|0; + $41 = (($40) + -1)|0; + HEAP32[$2>>2] = $41; + } + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$2>>2]|0; + $44 = (($42) + ($43)|0); + (_sqlite3Fts5GetVarint($44,$4)|0); + $45 = $4; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 24|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (_i64Subtract(($55|0),($58|0),($47|0),($50|0))|0); + $60 = tempRet0; + $61 = $52; + $62 = $61; + HEAP32[$62>>2] = $59; + $63 = (($61) + 4)|0; + $64 = $63; + HEAP32[$64>>2] = $60; + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + -1)|0; + HEAP32[$66>>2] = $68; + $69 = HEAP32[$2>>2]|0; + $70 = (($69) - 1)|0; + HEAP32[$6>>2] = $70; + while(1) { + $71 = HEAP32[$6>>2]|0; + $72 = HEAP32[$1>>2]|0; + $73 = ((($72)) + 12|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($71|0)>=($74|0); + if (!($75)) { + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = HEAP32[$6>>2]|0; + $78 = (($76) + ($77)|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = ($80|0)==(0); + if (!($81)) { + break; + } + $82 = HEAP32[$7>>2]|0; + $83 = (($82) + 1)|0; + HEAP32[$7>>2] = $83; + $84 = HEAP32[$6>>2]|0; + $85 = (($84) + -1)|0; + HEAP32[$6>>2] = $85; + } + $86 = HEAP32[$6>>2]|0; + $87 = HEAP32[$1>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$88>>2]|0; + $90 = ($86|0)>=($89|0); + if ($90) { + $91 = HEAP32[$3>>2]|0; + $92 = HEAP32[$6>>2]|0; + $93 = (($91) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $94&255; + $96 = $95 & 128; + $97 = ($96|0)!=(0); + if ($97) { + HEAP32[$8>>2] = 0; + $98 = HEAP32[$6>>2]|0; + $99 = (($98) - 8)|0; + $100 = HEAP32[$1>>2]|0; + $101 = ((($100)) + 12|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($99|0)>=($102|0); + if ($103) { + HEAP32[$9>>2] = 1; + while(1) { + $104 = HEAP32[$9>>2]|0; + $105 = ($104|0)<=(8); + if (!($105)) { + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = HEAP32[$6>>2]|0; + $108 = HEAP32[$9>>2]|0; + $109 = (($107) - ($108))|0; + $110 = (($106) + ($109)|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $113 = $112 & 128; + $114 = ($113|0)!=(0); + if (!($114)) { + break; + } + $115 = HEAP32[$9>>2]|0; + $116 = (($115) + 1)|0; + HEAP32[$9>>2] = $116; + } + $117 = HEAP32[$9>>2]|0; + $118 = ($117|0)>(8); + $119 = $118&1; + HEAP32[$8>>2] = $119; + } + $120 = HEAP32[$8>>2]|0; + $121 = ($120|0)==(0); + if ($121) { + $122 = HEAP32[$7>>2]|0; + $123 = (($122) + -1)|0; + HEAP32[$7>>2] = $123; + } + } + } + $124 = HEAP32[$7>>2]|0; + $125 = HEAP32[$1>>2]|0; + $126 = ((($125)) + 16|0); + $127 = HEAP32[$126>>2]|0; + $128 = (($127) - ($124))|0; + HEAP32[$126>>2] = $128; + $129 = HEAP32[$2>>2]|0; + $130 = HEAP32[$7>>2]|0; + $131 = (($129) - ($130))|0; + $132 = HEAP32[$1>>2]|0; + $133 = ((($132)) + 4|0); + HEAP32[$133>>2] = $131; + $134 = HEAP32[$1>>2]|0; + $135 = ((($134)) + 8|0); + $136 = HEAP32[$135>>2]|0; + STACKTOP = sp;return ($136|0); +} +function _fts5DlidxLvlNext($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 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, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 4|0); + if ($10) { + HEAP32[$12>>2] = 1; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 1|0); + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 16|0); + $18 = (_sqlite3Fts5GetVarint32($15,$17)|0); + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + ($18))|0; + HEAP32[$20>>2] = $22; + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($24) + ($27)|0); + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 24|0); + $31 = (_sqlite3Fts5GetVarint($28,$30)|0); + $32 = $31&255; + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + ($32))|0; + HEAP32[$34>>2] = $36; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 12|0); + HEAP32[$41>>2] = $39; + $104 = HEAP32[$1>>2]|0; + $105 = ((($104)) + 8|0); + $106 = HEAP32[$105>>2]|0; + STACKTOP = sp;return ($106|0); + } + $42 = HEAP32[$12>>2]|0; + HEAP32[$3>>2] = $42; + while(1) { + $43 = HEAP32[$3>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($43|0)<($46|0); + if (!($47)) { + break; + } + $48 = HEAP32[$2>>2]|0; + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$3>>2]|0; + $51 = (($49) + ($50)|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52<<24>>24)!=(0); + if ($53) { + break; + } + $54 = HEAP32[$3>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$3>>2] = $55; + } + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$2>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($56|0)<($59|0); + if ($60) { + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($61) - ($64))|0; + $66 = (($65) + 1)|0; + $67 = HEAP32[$1>>2]|0; + $68 = ((($67)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = (($69) + ($66))|0; + HEAP32[$68>>2] = $70; + $71 = HEAP32[$2>>2]|0; + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$3>>2]|0; + $74 = (($72) + ($73)|0); + $75 = (_sqlite3Fts5GetVarint($74,$4)|0); + $76 = $75&255; + $77 = HEAP32[$3>>2]|0; + $78 = (($77) + ($76))|0; + HEAP32[$3>>2] = $78; + $79 = $4; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = (($79) + 4)|0; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 24|0); + $87 = $86; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = (_i64Add(($89|0),($92|0),($81|0),($84|0))|0); + $94 = tempRet0; + $95 = $86; + $96 = $95; + HEAP32[$96>>2] = $93; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = HEAP32[$3>>2]|0; + $100 = HEAP32[$1>>2]|0; + $101 = ((($100)) + 4|0); + HEAP32[$101>>2] = $99; + $104 = HEAP32[$1>>2]|0; + $105 = ((($104)) + 8|0); + $106 = HEAP32[$105>>2]|0; + STACKTOP = sp;return ($106|0); + } else { + $102 = HEAP32[$1>>2]|0; + $103 = ((($102)) + 8|0); + HEAP32[$103>>2] = 1; + $104 = HEAP32[$1>>2]|0; + $105 = ((($104)) + 8|0); + $106 = HEAP32[$105>>2]|0; + STACKTOP = sp;return ($106|0); + } + return (0)|0; +} +function _fts5SegIterNextPage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + _fts5DataRelease($10); + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[$12>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + $19 = HEAP32[$3>>2]|0; + if ($18) { + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 12|0); + HEAP32[$23>>2] = $21; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 16|0); + HEAP32[$25>>2] = 0; + } else { + $26 = ((($19)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($27|0)<=($30|0); + if ($31) { + $32 = HEAP32[$2>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<(0); + $36 = $35 << 31 >> 31; + $37 = (_bitshift64Shl(($34|0),($36|0),37)|0); + $38 = tempRet0; + $39 = (_i64Add(($37|0),($38|0),0,0)|0); + $40 = tempRet0; + $41 = (_i64Add(($39|0),($40|0),0,0)|0); + $42 = tempRet0; + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 8|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)<(0); + $47 = $46 << 31 >> 31; + $48 = (_i64Add(($41|0),($42|0),($45|0),($47|0))|0); + $49 = tempRet0; + $50 = (_fts5LeafRead($32,$48,$49)|0); + $51 = HEAP32[$3>>2]|0; + $$sink = $50;$$sink2 = $51; + } else { + $52 = HEAP32[$3>>2]|0; + $$sink = 0;$$sink2 = $52; + } + $53 = ((($$sink2)) + 12|0); + HEAP32[$53>>2] = $$sink; + } + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + HEAP32[$4>>2] = $56; + $57 = HEAP32[$4>>2]|0; + $58 = ($57|0)!=(0|0); + if (!($58)) { + STACKTOP = sp;return; + } + $59 = HEAP32[$4>>2]|0; + $60 = ((($59)) + 8|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 36|0); + HEAP32[$63>>2] = $61; + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 8|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 4|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($66|0)>=($69|0); + $71 = HEAP32[$4>>2]|0; + if ($70) { + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73) + 1)|0; + $75 = HEAP32[$3>>2]|0; + $76 = ((($75)) + 40|0); + HEAP32[$76>>2] = $74; + STACKTOP = sp;return; + } else { + $77 = HEAP32[$71>>2]|0; + $78 = HEAP32[$3>>2]|0; + $79 = ((($78)) + 36|0); + $80 = HEAP32[$79>>2]|0; + $81 = (($77) + ($80)|0); + $82 = HEAP32[$3>>2]|0; + $83 = ((($82)) + 40|0); + $84 = (_sqlite3Fts5GetVarint32($81,$83)|0); + $85 = HEAP32[$3>>2]|0; + $86 = ((($85)) + 36|0); + $87 = HEAP32[$86>>2]|0; + $88 = (($87) + ($84))|0; + HEAP32[$86>>2] = $88; + STACKTOP = sp;return; + } +} +function _fts5LeafRead($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = $4; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_fts5DataRead($10,$13,$16)|0); + HEAP32[$5>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + $30 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($30|0); + } + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($22|0)>($25|0); + if (!($26)) { + $30 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($30|0); + } + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 36|0); + HEAP32[$28>>2] = 267; + $29 = HEAP32[$5>>2]|0; + _fts5DataRelease($29); + HEAP32[$5>>2] = 0; + $30 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($30|0); +} +function _fts5DlidxIterNextR($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$5>>2]|0; + $10 = (($8) + ($9<<5)|0); + HEAP32[$6>>2] = $10; + $11 = HEAP32[$6>>2]|0; + $12 = (_fts5DlidxLvlNext($11)|0); + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$5>>2]|0; + $15 = (($14) + 1)|0; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($15|0)<($17|0); + if ($18) { + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = (($21) + 1)|0; + (_fts5DlidxIterNextR($19,$20,$22)|0); + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 32|0); + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$28>>2]|0; + _fts5DataRelease($29); + $30 = HEAP32[$6>>2]|0; + ;HEAP32[$30>>2]=0|0;HEAP32[$30+4>>2]=0|0;HEAP32[$30+8>>2]=0|0;HEAP32[$30+12>>2]=0|0;HEAP32[$30+16>>2]=0|0;HEAP32[$30+20>>2]=0|0;HEAP32[$30+24>>2]=0|0;HEAP32[$30+28>>2]=0|0; + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<(0); + $36 = $35 << 31 >> 31; + $37 = (_bitshift64Shl(($34|0),($36|0),37)|0); + $38 = tempRet0; + $39 = (_i64Add(($37|0),($38|0),0,16)|0); + $40 = tempRet0; + $41 = HEAP32[$5>>2]|0; + $42 = ($41|0)<(0); + $43 = $42 << 31 >> 31; + $44 = (_bitshift64Shl(($41|0),($43|0),31)|0); + $45 = tempRet0; + $46 = (_i64Add(($39|0),($40|0),($44|0),($45|0))|0); + $47 = tempRet0; + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 32|0); + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)<(0); + $53 = $52 << 31 >> 31; + $54 = (_i64Add(($46|0),($47|0),($51|0),($53|0))|0); + $55 = tempRet0; + $56 = (_fts5DataRead($31,$54,$55)|0); + $57 = HEAP32[$6>>2]|0; + HEAP32[$57>>2] = $56; + $58 = HEAP32[$6>>2]|0; + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)!=(0|0); + if ($60) { + $61 = HEAP32[$6>>2]|0; + (_fts5DlidxLvlNext($61)|0); + } + } + } + } + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 8|0); + $64 = ((($63)) + 8|0); + $65 = HEAP32[$64>>2]|0; + STACKTOP = sp;return ($65|0); +} +function _sqlite3Fts5BufferAppendBlob($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$5>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = (($10) + ($11))|0; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($12>>>0)<=($15>>>0); + if (!($16)) { + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($19) + ($22))|0; + $24 = (_sqlite3Fts5BufferSize($17,$18,$23)|0); + $25 = ($24|0)!=(0); + if ($25) { + STACKTOP = sp;return; + } + } + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($27) + ($30)|0); + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$6>>2]|0; + _memcpy(($31|0),($32|0),($33|0))|0; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($37) + ($34))|0; + HEAP32[$36>>2] = $38; + STACKTOP = sp;return; +} +function _sqlite3Fts5BufferSize($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$5>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = ($11>>>0)<($12>>>0); + do { + if ($13) { + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = $20; + } else { + $21 = 64; + } + HEAP32[$7>>2] = $21; + while(1) { + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = ($22>>>0)<($23>>>0); + if (!($24)) { + break; + } + $25 = HEAP32[$7>>2]|0; + $26 = $25<<1; + HEAP32[$7>>2] = $26; + } + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = (_sqlite3_realloc($28,$29)|0); + HEAP32[$8>>2] = $30; + $31 = HEAP32[$8>>2]|0; + $32 = ($31|0)==(0|0); + if (!($32)) { + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 8|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[$5>>2]|0; + HEAP32[$38>>2] = $37; + break; + } + $33 = HEAP32[$4>>2]|0; + HEAP32[$33>>2] = 7; + HEAP32[$3>>2] = 1; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); + } + } while(0); + HEAP32[$3>>2] = 0; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); +} +function _fts5MultiIterTerm($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 80|0); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 72|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = (($6) + (($12*88)|0)|0); + HEAP32[$4>>2] = $13; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 60|0); + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$3>>2]|0; + HEAP32[$18>>2] = $17; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 60|0); + $21 = HEAP32[$20>>2]|0; + STACKTOP = sp;return ($21|0); +} +function _fts5VocabResetCursor($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 48|0); + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = 0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = 0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + _sqlite3Fts5IterClose($10); + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 16|0); + HEAP32[$12>>2] = 0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 24|0); + $15 = HEAP32[$14>>2]|0; + _sqlite3_free($15); + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 20|0); + HEAP32[$17>>2] = -1; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 24|0); + HEAP32[$19>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3Fts5IndexQuery($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 60|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp + 36|0; + $13 = sp + 32|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 12|0; + $17 = sp + 8|0; + $18 = sp + 4|0; + $19 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$12>>2] = $21; + HEAP32[$13>>2] = 0; + ;HEAP32[$14>>2]=0|0;HEAP32[$14+4>>2]=0|0;HEAP32[$14+8>>2]=0|0; + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 36|0); + $24 = HEAP32[$8>>2]|0; + $25 = (($24) + 1)|0; + $26 = (_sqlite3Fts5BufferSize($23,$14,$25)|0); + $27 = ($26|0)==(0); + if (!($27)) { + $120 = HEAP32[$6>>2]|0; + $121 = (_fts5IndexReturn($120)|0); + STACKTOP = sp;return ($121|0); + } + HEAP32[$15>>2] = 0; + $28 = HEAP32[$14>>2]|0; + $29 = ((($28)) + 1|0); + $30 = HEAP32[$7>>2]|0; + $31 = HEAP32[$8>>2]|0; + _memcpy(($29|0),($30|0),($31|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = $32 & 1; + $34 = ($33|0)!=(0); + L4: do { + if ($34) { + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$8>>2]|0; + $37 = (_fts5IndexCharlen($35,$36)|0); + HEAP32[$16>>2] = $37; + HEAP32[$15>>2] = 1; + while(1) { + $38 = HEAP32[$15>>2]|0; + $39 = HEAP32[$12>>2]|0; + $40 = ((($39)) + 24|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($38|0)<=($41|0); + if (!($42)) { + break L4; + } + $43 = HEAP32[$12>>2]|0; + $44 = ((($43)) + 28|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$15>>2]|0; + $47 = (($46) - 1)|0; + $48 = (($45) + ($47<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$16>>2]|0; + $51 = ($49|0)==($50|0); + if ($51) { + break L4; + } + $52 = HEAP32[$15>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$15>>2] = $53; + } + } + } while(0); + $54 = HEAP32[$15>>2]|0; + $55 = HEAP32[$12>>2]|0; + $56 = ((($55)) + 24|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($54|0)<=($57|0); + if ($58) { + $59 = HEAP32[$6>>2]|0; + $60 = (_fts5StructureRead($59)|0); + HEAP32[$17>>2] = $60; + $61 = HEAP32[$15>>2]|0; + $62 = (48 + ($61))|0; + $63 = $62&255; + $64 = HEAP32[$14>>2]|0; + HEAP8[$64>>0] = $63; + $65 = HEAP32[$17>>2]|0; + $66 = ($65|0)!=(0|0); + if ($66) { + $67 = HEAP32[$6>>2]|0; + $68 = HEAP32[$17>>2]|0; + $69 = HEAP32[$9>>2]|0; + $70 = $69 | 16; + $71 = HEAP32[$10>>2]|0; + $72 = HEAP32[$14>>2]|0; + $73 = HEAP32[$8>>2]|0; + $74 = (($73) + 1)|0; + _fts5MultiIterNew($67,$68,$70,$71,$72,$74,-1,0,$13); + $75 = HEAP32[$17>>2]|0; + _fts5StructureRelease($75); + } + } else { + $76 = HEAP32[$9>>2]|0; + $77 = $76 & 2; + $78 = ($77|0)!=(0); + $79 = $78&1; + HEAP32[$18>>2] = $79; + $80 = HEAP32[$14>>2]|0; + HEAP8[$80>>0] = 48; + $81 = HEAP32[$6>>2]|0; + $82 = HEAP32[$18>>2]|0; + $83 = HEAP32[$14>>2]|0; + $84 = HEAP32[$8>>2]|0; + $85 = (($84) + 1)|0; + $86 = HEAP32[$10>>2]|0; + _fts5SetupPrefixIter($81,$82,$83,$85,$86,$13); + $87 = HEAP32[$6>>2]|0; + $88 = ((($87)) + 36|0); + $89 = HEAP32[$13>>2]|0; + _fts5IterSetOutputCb($88,$89); + $90 = HEAP32[$6>>2]|0; + $91 = ((($90)) + 36|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0); + if ($93) { + $94 = HEAP32[$13>>2]|0; + $95 = ((($94)) + 80|0); + $96 = HEAP32[$13>>2]|0; + $97 = ((($96)) + 72|0); + $98 = HEAP32[$97>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP16[$99>>1]|0; + $101 = $100&65535; + $102 = (($95) + (($101*88)|0)|0); + HEAP32[$19>>2] = $102; + $103 = HEAP32[$19>>2]|0; + $104 = ((($103)) + 12|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105|0)!=(0|0); + if ($106) { + $107 = HEAP32[$13>>2]|0; + $108 = ((($107)) + 48|0); + $109 = HEAP32[$108>>2]|0; + $110 = HEAP32[$13>>2]|0; + $111 = HEAP32[$19>>2]|0; + FUNCTION_TABLE_vii[$109 & 255]($110,$111); + } + } + } + $112 = HEAP32[$6>>2]|0; + $113 = ((($112)) + 36|0); + $114 = HEAP32[$113>>2]|0; + $115 = ($114|0)!=(0); + if ($115) { + $116 = HEAP32[$13>>2]|0; + _sqlite3Fts5IterClose($116); + HEAP32[$13>>2] = 0; + $117 = HEAP32[$6>>2]|0; + _fts5CloseReader($117); + } + $118 = HEAP32[$13>>2]|0; + $119 = HEAP32[$11>>2]|0; + HEAP32[$119>>2] = $118; + _sqlite3Fts5BufferFree($14); + $120 = HEAP32[$6>>2]|0; + $121 = (_fts5IndexReturn($120)|0); + STACKTOP = sp;return ($121|0); +} +function _fts5IndexCharlen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + while(1) { + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ($6|0)<($7|0); + if (!($8)) { + break; + } + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$5>>2] = $11; + $12 = (($9) + ($10)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)>=(192); + L4: do { + if ($15) { + while(1) { + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = ($16|0)<($17|0); + if (!($18)) { + break L4; + } + $19 = HEAP32[$2>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = (($19) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = $23 & 192; + $25 = ($24|0)==(128); + if (!($25)) { + break L4; + } + $26 = HEAP32[$5>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$5>>2] = $27; + } + } + } while(0); + $28 = HEAP32[$4>>2]|0; + $29 = (($28) + 1)|0; + HEAP32[$4>>2] = $29; + } + $30 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($30|0); +} +function _fts5StructureRead($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 80|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $7 = HEAP32[$2>>2]|0; + $8 = (_fts5IndexDataVersion($7)|0); + $9 = tempRet0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 72|0); + $12 = $11; + $13 = $12; + HEAP32[$13>>2] = $8; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $9; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 36|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $20 = HEAP32[$2>>2]|0; + $21 = (_fts5StructureReadUncached($20)|0); + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 80|0); + HEAP32[$23>>2] = $21; + } + } + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0); + if ($27) { + HEAP32[$1>>2] = 0; + $34 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($34|0); + } else { + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 80|0); + $30 = HEAP32[$29>>2]|0; + _fts5StructureRef($30); + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 80|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$1>>2] = $33; + $34 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($34|0); + } + return (0)|0; +} +function _fts5MultiIterNew($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $9 = sp + 80|0; + $10 = sp + 76|0; + $11 = sp + 72|0; + $12 = sp + 68|0; + $13 = sp + 64|0; + $14 = sp + 60|0; + $15 = sp + 56|0; + $16 = sp + 52|0; + $17 = sp + 48|0; + $18 = sp + 44|0; + $19 = sp + 40|0; + $20 = sp + 36|0; + $21 = sp + 32|0; + $22 = sp + 28|0; + $23 = sp + 24|0; + $24 = sp + 20|0; + $25 = sp + 16|0; + $26 = sp + 12|0; + $27 = sp + 8|0; + $28 = sp + 4|0; + $29 = sp; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + HEAP32[$12>>2] = $3; + HEAP32[$13>>2] = $4; + HEAP32[$14>>2] = $5; + HEAP32[$15>>2] = $6; + HEAP32[$16>>2] = $7; + HEAP32[$17>>2] = $8; + HEAP32[$18>>2] = 0; + HEAP32[$19>>2] = 0; + $30 = HEAP32[$9>>2]|0; + $31 = ((($30)) + 36|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0); + do { + if ($33) { + $34 = HEAP32[$15>>2]|0; + $35 = ($34|0)<(0); + $36 = HEAP32[$10>>2]|0; + if ($35) { + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$18>>2] = $38; + $39 = HEAP32[$9>>2]|0; + $40 = ((($39)) + 12|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)!=(0|0); + $43 = $42 ? 1 : 0; + $44 = HEAP32[$18>>2]|0; + $45 = (($44) + ($43))|0; + HEAP32[$18>>2] = $45; + break; + } + $46 = ((($36)) + 24|0); + $47 = HEAP32[$15>>2]|0; + $48 = (($46) + (($47*12)|0)|0); + $49 = ((($48)) + 4|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$16>>2]|0; + $52 = ($50|0)<($51|0); + if ($52) { + $53 = HEAP32[$10>>2]|0; + $54 = ((($53)) + 24|0); + $55 = HEAP32[$15>>2]|0; + $56 = (($54) + (($55*12)|0)|0); + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + $60 = $58; + } else { + $59 = HEAP32[$16>>2]|0; + $60 = $59; + } + HEAP32[$18>>2] = $60; + } + } while(0); + $61 = HEAP32[$9>>2]|0; + $62 = HEAP32[$18>>2]|0; + $63 = (_fts5MultiIterAlloc($61,$62)|0); + HEAP32[$22>>2] = $63; + $64 = HEAP32[$17>>2]|0; + HEAP32[$64>>2] = $63; + $65 = HEAP32[$22>>2]|0; + $66 = ($65|0)==(0|0); + if ($66) { + STACKTOP = sp;return; + } + $67 = HEAP32[$11>>2]|0; + $68 = $67 & 2; + $69 = (0)!=($68|0); + $70 = $69&1; + $71 = HEAP32[$22>>2]|0; + $72 = ((($71)) + 56|0); + HEAP32[$72>>2] = $70; + $73 = HEAP32[$11>>2]|0; + $74 = $73 & 16; + $75 = (0)!=($74|0); + $76 = $75&1; + $77 = $76&255; + $78 = HEAP32[$22>>2]|0; + $79 = ((($78)) + 60|0); + HEAP8[$79>>0] = $77; + $80 = HEAP32[$10>>2]|0; + $81 = HEAP32[$22>>2]|0; + $82 = ((($81)) + 28|0); + HEAP32[$82>>2] = $80; + $83 = HEAP32[$12>>2]|0; + $84 = HEAP32[$22>>2]|0; + $85 = ((($84)) + 44|0); + HEAP32[$85>>2] = $83; + $86 = HEAP32[$10>>2]|0; + _fts5StructureRef($86); + $87 = HEAP32[$11>>2]|0; + $88 = $87 & 32; + $89 = ($88|0)==(0); + if ($89) { + $90 = HEAP32[$9>>2]|0; + $91 = ((($90)) + 36|0); + $92 = HEAP32[$22>>2]|0; + _fts5IterSetOutputCb($91,$92); + } + $93 = HEAP32[$9>>2]|0; + $94 = ((($93)) + 36|0); + $95 = HEAP32[$94>>2]|0; + $96 = ($95|0)==(0); + L17: do { + if ($96) { + $97 = HEAP32[$15>>2]|0; + $98 = ($97|0)<(0); + $99 = HEAP32[$10>>2]|0; + $100 = ((($99)) + 24|0); + if (!($98)) { + $153 = HEAP32[$15>>2]|0; + $154 = (($100) + (($153*12)|0)|0); + HEAP32[$21>>2] = $154; + $155 = HEAP32[$18>>2]|0; + $156 = (($155) - 1)|0; + HEAP32[$20>>2] = $156; + while(1) { + $157 = HEAP32[$20>>2]|0; + $158 = ($157|0)>=(0); + if (!($158)) { + break L17; + } + $159 = HEAP32[$9>>2]|0; + $160 = HEAP32[$21>>2]|0; + $161 = ((($160)) + 8|0); + $162 = HEAP32[$161>>2]|0; + $163 = HEAP32[$20>>2]|0; + $164 = (($162) + (($163*12)|0)|0); + $165 = HEAP32[$22>>2]|0; + $166 = ((($165)) + 80|0); + $167 = HEAP32[$19>>2]|0; + $168 = (($167) + 1)|0; + HEAP32[$19>>2] = $168; + $169 = (($166) + (($167*88)|0)|0); + _fts5SegIterInit($159,$164,$169); + $170 = HEAP32[$20>>2]|0; + $171 = (($170) + -1)|0; + HEAP32[$20>>2] = $171; + } + } + $101 = HEAP32[$10>>2]|0; + $102 = ((($101)) + 20|0); + $103 = HEAP32[$102>>2]|0; + $104 = (($100) + (($103*12)|0)|0); + HEAP32[$23>>2] = $104; + $105 = HEAP32[$9>>2]|0; + $106 = ((($105)) + 12|0); + $107 = HEAP32[$106>>2]|0; + $108 = ($107|0)!=(0|0); + if ($108) { + $109 = HEAP32[$22>>2]|0; + $110 = ((($109)) + 80|0); + $111 = HEAP32[$19>>2]|0; + $112 = (($111) + 1)|0; + HEAP32[$19>>2] = $112; + $113 = (($110) + (($111*88)|0)|0); + HEAP32[$24>>2] = $113; + $114 = HEAP32[$9>>2]|0; + $115 = HEAP32[$13>>2]|0; + $116 = HEAP32[$14>>2]|0; + $117 = HEAP32[$11>>2]|0; + $118 = HEAP32[$24>>2]|0; + _fts5SegIterHashInit($114,$115,$116,$117,$118); + } + $119 = HEAP32[$10>>2]|0; + $120 = ((($119)) + 24|0); + HEAP32[$21>>2] = $120; + while(1) { + $121 = HEAP32[$21>>2]|0; + $122 = HEAP32[$23>>2]|0; + $123 = ($121>>>0)<($122>>>0); + if (!($123)) { + break L17; + } + $124 = HEAP32[$21>>2]|0; + $125 = ((($124)) + 4|0); + $126 = HEAP32[$125>>2]|0; + $127 = (($126) - 1)|0; + HEAP32[$20>>2] = $127; + while(1) { + $128 = HEAP32[$20>>2]|0; + $129 = ($128|0)>=(0); + $130 = HEAP32[$21>>2]|0; + if (!($129)) { + break; + } + $131 = ((($130)) + 8|0); + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$20>>2]|0; + $134 = (($132) + (($133*12)|0)|0); + HEAP32[$25>>2] = $134; + $135 = HEAP32[$22>>2]|0; + $136 = ((($135)) + 80|0); + $137 = HEAP32[$19>>2]|0; + $138 = (($137) + 1)|0; + HEAP32[$19>>2] = $138; + $139 = (($136) + (($137*88)|0)|0); + HEAP32[$26>>2] = $139; + $140 = HEAP32[$13>>2]|0; + $141 = ($140|0)==(0|0); + $142 = HEAP32[$9>>2]|0; + if ($141) { + $143 = HEAP32[$25>>2]|0; + $144 = HEAP32[$26>>2]|0; + _fts5SegIterInit($142,$143,$144); + } else { + $145 = HEAP32[$13>>2]|0; + $146 = HEAP32[$14>>2]|0; + $147 = HEAP32[$11>>2]|0; + $148 = HEAP32[$25>>2]|0; + $149 = HEAP32[$26>>2]|0; + _fts5SegIterSeekInit($142,$145,$146,$147,$148,$149); + } + $150 = HEAP32[$20>>2]|0; + $151 = (($150) + -1)|0; + HEAP32[$20>>2] = $151; + } + $152 = ((($130)) + 12|0); + HEAP32[$21>>2] = $152; + } + } + } while(0); + $172 = HEAP32[$9>>2]|0; + $173 = ((($172)) + 36|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0); + $176 = HEAP32[$22>>2]|0; + if (!($175)) { + _fts5MultiIterFree($176); + $235 = HEAP32[$17>>2]|0; + HEAP32[$235>>2] = 0; + STACKTOP = sp;return; + } + $177 = ((($176)) + 52|0); + $178 = HEAP32[$177>>2]|0; + $179 = (($178) - 1)|0; + HEAP32[$19>>2] = $179; + while(1) { + $180 = HEAP32[$19>>2]|0; + $181 = ($180|0)>(0); + $182 = HEAP32[$22>>2]|0; + if (!($181)) { + break; + } + $183 = HEAP32[$19>>2]|0; + $184 = (_fts5MultiIterDoCompare($182,$183)|0); + HEAP32[$27>>2] = $184; + $185 = ($184|0)!=(0); + if ($185) { + $186 = HEAP32[$22>>2]|0; + $187 = ((($186)) + 80|0); + $188 = HEAP32[$27>>2]|0; + $189 = (($187) + (($188*88)|0)|0); + HEAP32[$28>>2] = $189; + $190 = HEAP32[$9>>2]|0; + $191 = ((($190)) + 36|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0); + if ($193) { + $194 = HEAP32[$28>>2]|0; + $195 = ((($194)) + 24|0); + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$9>>2]|0; + $198 = HEAP32[$28>>2]|0; + FUNCTION_TABLE_viii[$196 & 255]($197,$198,0); + } + $199 = HEAP32[$9>>2]|0; + $200 = HEAP32[$22>>2]|0; + $201 = HEAP32[$27>>2]|0; + $202 = HEAP32[$19>>2]|0; + _fts5MultiIterAdvanced($199,$200,$201,$202); + } + $203 = HEAP32[$19>>2]|0; + $204 = (($203) + -1)|0; + HEAP32[$19>>2] = $204; + } + _fts5MultiIterSetEof($182); + $205 = HEAP32[$22>>2]|0; + $206 = ((($205)) + 60|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $209 = ($208|0)!=(0); + if ($209) { + $210 = HEAP32[$9>>2]|0; + $211 = HEAP32[$22>>2]|0; + $212 = (_fts5MultiIterIsEmpty($210,$211)|0); + $213 = ($212|0)!=(0); + if ($213) { + $214 = HEAP32[$9>>2]|0; + $215 = HEAP32[$22>>2]|0; + _fts5MultiIterNext($214,$215,0,0,0); + STACKTOP = sp;return; + } + } + $216 = HEAP32[$22>>2]|0; + $217 = ((($216)) + 16|0); + $218 = HEAP8[$217>>0]|0; + $219 = $218&255; + $220 = ($219|0)==(0); + if (!($220)) { + STACKTOP = sp;return; + } + $221 = HEAP32[$22>>2]|0; + $222 = ((($221)) + 80|0); + $223 = HEAP32[$22>>2]|0; + $224 = ((($223)) + 72|0); + $225 = HEAP32[$224>>2]|0; + $226 = ((($225)) + 4|0); + $227 = HEAP16[$226>>1]|0; + $228 = $227&65535; + $229 = (($222) + (($228*88)|0)|0); + HEAP32[$29>>2] = $229; + $230 = HEAP32[$22>>2]|0; + $231 = ((($230)) + 48|0); + $232 = HEAP32[$231>>2]|0; + $233 = HEAP32[$22>>2]|0; + $234 = HEAP32[$29>>2]|0; + FUNCTION_TABLE_vii[$232 & 255]($233,$234); + STACKTOP = sp;return; +} +function _fts5StructureRelease($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; + } + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = (($6) + -1)|0; + HEAP32[$5>>2] = $7; + $8 = (0)>=($7|0); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[$2>>2] = 0; + while(1) { + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)<($12|0); + $14 = HEAP32[$1>>2]|0; + if (!($13)) { + break; + } + $15 = ((($14)) + 24|0); + $16 = HEAP32[$2>>2]|0; + $17 = (($15) + (($16*12)|0)|0); + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3_free($19); + $20 = HEAP32[$2>>2]|0; + $21 = (($20) + 1)|0; + HEAP32[$2>>2] = $21; + } + _sqlite3_free($14); + STACKTOP = sp;return; +} +function _fts5SetupPrefixIter($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $6 = sp + 92|0; + $7 = sp + 88|0; + $8 = sp + 84|0; + $9 = sp + 80|0; + $10 = sp + 76|0; + $11 = sp + 72|0; + $12 = sp + 68|0; + $13 = sp + 64|0; + $14 = sp + 60|0; + $15 = sp + 56|0; + $16 = sp + 52|0; + $17 = sp + 48|0; + $18 = sp + 44|0; + $19 = sp; + $20 = sp + 40|0; + $21 = sp + 36|0; + $22 = sp + 24|0; + $23 = sp + 20|0; + $24 = sp + 16|0; + $25 = sp + 12|0; + $26 = sp + 8|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$14>>2] = 32; + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 48|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(1); + if ($31) { + HEAP32[$15>>2] = 238; + HEAP32[$16>>2] = 133; + } else { + HEAP32[$15>>2] = 239; + HEAP32[$16>>2] = 134; + } + $32 = HEAP32[$6>>2]|0; + $33 = (_fts5IdxMalloc($32,384)|0); + HEAP32[$13>>2] = $33; + $34 = HEAP32[$6>>2]|0; + $35 = (_fts5StructureRead($34)|0); + HEAP32[$12>>2] = $35; + $36 = HEAP32[$13>>2]|0; + $37 = ($36|0)!=(0|0); + $38 = HEAP32[$12>>2]|0; + $39 = ($38|0)!=(0|0); + $or$cond = $37 & $39; + if (!($or$cond)) { + $215 = HEAP32[$12>>2]|0; + _fts5StructureRelease($215); + $216 = HEAP32[$13>>2]|0; + _sqlite3_free($216); + STACKTOP = sp;return; + } + HEAP32[$17>>2] = 56; + $40 = $19; + $41 = $40; + HEAP32[$41>>2] = 0; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = 0; + HEAP32[$20>>2] = 0; + HEAP32[$23>>2] = 1; + ;HEAP32[$22>>2]=0|0;HEAP32[$22+4>>2]=0|0;HEAP32[$22+8>>2]=0|0; + $44 = HEAP32[$6>>2]|0; + $45 = HEAP32[$12>>2]|0; + $46 = HEAP32[$10>>2]|0; + $47 = HEAP32[$8>>2]|0; + $48 = HEAP32[$9>>2]|0; + _fts5MultiIterNew($44,$45,56,$46,$47,$48,-1,0,$20); + $49 = HEAP32[$6>>2]|0; + $50 = ((($49)) + 36|0); + $51 = HEAP32[$20>>2]|0; + _fts5IterSetOutputCb($50,$51); + while(1) { + $52 = HEAP32[$6>>2]|0; + $53 = HEAP32[$20>>2]|0; + $54 = (_fts5MultiIterEof($52,$53)|0); + $55 = ($54|0)==(0); + if (!($55)) { + break; + } + $56 = HEAP32[$20>>2]|0; + $57 = ((($56)) + 80|0); + $58 = HEAP32[$20>>2]|0; + $59 = ((($58)) + 72|0); + $60 = HEAP32[$59>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP16[$61>>1]|0; + $63 = $62&65535; + $64 = (($57) + (($63*88)|0)|0); + HEAP32[$24>>2] = $64; + $65 = HEAP32[$24>>2]|0; + $66 = ((($65)) + 60|0); + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + HEAP32[$25>>2] = $68; + $69 = HEAP32[$24>>2]|0; + $70 = ((($69)) + 60|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$26>>2] = $71; + $72 = HEAP32[$20>>2]|0; + $73 = ((($72)) + 48|0); + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$20>>2]|0; + $76 = HEAP32[$24>>2]|0; + FUNCTION_TABLE_vii[$74 & 255]($75,$76); + $77 = HEAP32[$23>>2]|0; + $78 = ($77|0)!=(0); + if ($78) { + $79 = HEAP32[$25>>2]|0; + $80 = HEAP32[$9>>2]|0; + $81 = ($79|0)<($80|0); + if ($81) { + break; + } + $82 = HEAP32[$8>>2]|0; + $83 = HEAP32[$26>>2]|0; + $84 = HEAP32[$9>>2]|0; + $85 = (_memcmp($82,$83,$84)|0); + $86 = ($85|0)!=(0); + if ($86) { + break; + } + } + $87 = HEAP32[$20>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$88>>2]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[$20>>2]|0; + $92 = $91; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (($92) + 4)|0; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = $19; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (($98) + 4)|0; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = ($97|0)<($103|0); + $105 = ($94>>>0)<=($100>>>0); + $106 = ($97|0)==($103|0); + $107 = $106 & $105; + $108 = $104 | $107; + if ($108) { + $109 = ((($22)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = ($110|0)>(0); + if ($111) { + HEAP32[$18>>2] = 0; + while(1) { + $112 = HEAP32[$6>>2]|0; + $113 = ((($112)) + 36|0); + $114 = HEAP32[$113>>2]|0; + $115 = ($114|0)==(0); + if (!($115)) { + break; + } + $116 = ((($22)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = ($117|0)!=(0); + if (!($118)) { + break; + } + $119 = HEAP32[$13>>2]|0; + $120 = HEAP32[$18>>2]|0; + $121 = (($119) + (($120*12)|0)|0); + $122 = ((($121)) + 4|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)==(0); + if ($124) { + $125 = HEAP32[$13>>2]|0; + $126 = HEAP32[$18>>2]|0; + $127 = (($125) + (($126*12)|0)|0); + _fts5BufferSwap($22,$127); + _sqlite3Fts5BufferZero($22); + } else { + $128 = HEAP32[$15>>2]|0; + $129 = HEAP32[$6>>2]|0; + $130 = HEAP32[$13>>2]|0; + $131 = HEAP32[$18>>2]|0; + $132 = (($130) + (($131*12)|0)|0); + FUNCTION_TABLE_viii[$128 & 255]($129,$22,$132); + $133 = HEAP32[$13>>2]|0; + $134 = HEAP32[$18>>2]|0; + $135 = (($133) + (($134*12)|0)|0); + _sqlite3Fts5BufferZero($135); + } + $136 = HEAP32[$18>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[$18>>2] = $137; + } + $138 = $19; + $139 = $138; + HEAP32[$139>>2] = 0; + $140 = (($138) + 4)|0; + $141 = $140; + HEAP32[$141>>2] = 0; + } + } + $142 = HEAP32[$16>>2]|0; + $143 = HEAP32[$6>>2]|0; + $144 = HEAP32[$20>>2]|0; + $145 = $144; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = $19; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = (($151) + 4)|0; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (_i64Subtract(($147|0),($150|0),($153|0),($156|0))|0); + $158 = tempRet0; + $159 = HEAP32[$20>>2]|0; + FUNCTION_TABLE_viiiii[$142 & 255]($143,$157,$158,$159,$22); + $160 = HEAP32[$20>>2]|0; + $161 = $160; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = $19; + $168 = $167; + HEAP32[$168>>2] = $163; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = $166; + } + $171 = HEAP32[$6>>2]|0; + $172 = HEAP32[$20>>2]|0; + _fts5MultiIterNext2($171,$172,$23); + } + HEAP32[$18>>2] = 0; + while(1) { + $173 = HEAP32[$18>>2]|0; + $174 = ($173|0)<(32); + if (!($174)) { + break; + } + $175 = HEAP32[$6>>2]|0; + $176 = ((($175)) + 36|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0); + if ($178) { + $179 = HEAP32[$15>>2]|0; + $180 = HEAP32[$6>>2]|0; + $181 = HEAP32[$13>>2]|0; + $182 = HEAP32[$18>>2]|0; + $183 = (($181) + (($182*12)|0)|0); + FUNCTION_TABLE_viii[$179 & 255]($180,$22,$183); + } + $184 = HEAP32[$13>>2]|0; + $185 = HEAP32[$18>>2]|0; + $186 = (($184) + (($185*12)|0)|0); + _sqlite3Fts5BufferFree($186); + $187 = HEAP32[$18>>2]|0; + $188 = (($187) + 1)|0; + HEAP32[$18>>2] = $188; + } + $189 = HEAP32[$20>>2]|0; + _fts5MultiIterFree($189); + $190 = HEAP32[$6>>2]|0; + $191 = ((($22)) + 4|0); + $192 = HEAP32[$191>>2]|0; + $193 = (12 + ($192))|0; + $194 = (_fts5IdxMalloc($190,$193)|0); + HEAP32[$21>>2] = $194; + $195 = HEAP32[$21>>2]|0; + $196 = ($195|0)!=(0|0); + if ($196) { + $197 = HEAP32[$21>>2]|0; + $198 = ((($197)) + 12|0); + $199 = HEAP32[$21>>2]|0; + HEAP32[$199>>2] = $198; + $200 = ((($22)) + 4|0); + $201 = HEAP32[$200>>2]|0; + $202 = HEAP32[$21>>2]|0; + $203 = ((($202)) + 8|0); + HEAP32[$203>>2] = $201; + $204 = HEAP32[$21>>2]|0; + $205 = ((($204)) + 4|0); + HEAP32[$205>>2] = $201; + $206 = HEAP32[$21>>2]|0; + $207 = HEAP32[$206>>2]|0; + $208 = HEAP32[$22>>2]|0; + $209 = ((($22)) + 4|0); + $210 = HEAP32[$209>>2]|0; + _memcpy(($207|0),($208|0),($210|0))|0; + $211 = HEAP32[$6>>2]|0; + $212 = HEAP32[$21>>2]|0; + $213 = HEAP32[$7>>2]|0; + $214 = HEAP32[$11>>2]|0; + _fts5MultiIterNew2($211,$212,$213,$214); + } + _sqlite3Fts5BufferFree($22); + $215 = HEAP32[$12>>2]|0; + _fts5StructureRelease($215); + $216 = HEAP32[$13>>2]|0; + _sqlite3_free($216); + STACKTOP = sp;return; +} +function _fts5IterSetOutputCb($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $11; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 48|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(1); + $16 = HEAP32[$3>>2]|0; + if ($15) { + $17 = ((($16)) + 48|0); + HEAP32[$17>>2] = 134; + STACKTOP = sp;return; + } + $18 = ((($16)) + 44|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0|0); + $21 = HEAP32[$3>>2]|0; + if ($20) { + $22 = ((($21)) + 48|0); + HEAP32[$22>>2] = 135; + STACKTOP = sp;return; + } + $23 = ((($21)) + 44|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if ($26) { + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 48|0); + HEAP32[$28>>2] = 136; + STACKTOP = sp;return; + } + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 48|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 48|0); + HEAP32[$34>>2] = 137; + STACKTOP = sp;return; + } + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)<=(100); + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 48|0); + if ($38) { + HEAP32[$40>>2] = 138; + $41 = HEAP32[$2>>2]|0; + $42 = HEAP32[$3>>2]|0; + $43 = ((($42)) + 32|0); + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + (_sqlite3Fts5BufferSize($41,$43,$46)|0); + STACKTOP = sp;return; + } else { + HEAP32[$40>>2] = 139; + STACKTOP = sp;return; + } +} +function _sqlite3Fts5IterClose($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 24|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $9; + $10 = HEAP32[$2>>2]|0; + _fts5MultiIterFree($10); + $11 = HEAP32[$3>>2]|0; + _fts5CloseReader($11); + STACKTOP = sp;return; +} +function _sqlite3Fts5BufferFree($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + _sqlite3_free($3); + $4 = HEAP32[$1>>2]|0; + ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0; + STACKTOP = sp;return; +} +function _fts5MultiIterFree($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; + } + HEAP32[$2>>2] = 0; + while(1) { + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 52|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($5|0)<($8|0); + $10 = HEAP32[$1>>2]|0; + if (!($9)) { + break; + } + $11 = ((($10)) + 80|0); + $12 = HEAP32[$2>>2]|0; + $13 = (($11) + (($12*88)|0)|0); + _fts5SegIterClear($13); + $14 = HEAP32[$2>>2]|0; + $15 = (($14) + 1)|0; + HEAP32[$2>>2] = $15; + } + $16 = ((($10)) + 28|0); + $17 = HEAP32[$16>>2]|0; + _fts5StructureRelease($17); + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 32|0); + _sqlite3Fts5BufferFree($19); + $20 = HEAP32[$1>>2]|0; + _sqlite3_free($20); + STACKTOP = sp;return; +} +function _fts5SegIterClear($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 60|0); + _sqlite3Fts5BufferFree($3); + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + _fts5DataRelease($6); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP32[$8>>2]|0; + _fts5DataRelease($9); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 56|0); + $12 = HEAP32[$11>>2]|0; + _fts5DlidxIterFree($12); + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 52|0); + $15 = HEAP32[$14>>2]|0; + _sqlite3_free($15); + $16 = HEAP32[$1>>2]|0; + dest=$16; stop=dest+88|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _fts5DlidxIterFree($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; + } + HEAP32[$2>>2] = 0; + while(1) { + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ($5|0)<($7|0); + $9 = HEAP32[$1>>2]|0; + if (!($8)) { + break; + } + $10 = ((($9)) + 8|0); + $11 = HEAP32[$2>>2]|0; + $12 = (($10) + ($11<<5)|0); + $13 = HEAP32[$12>>2]|0; + _fts5DataRelease($13); + $14 = HEAP32[$2>>2]|0; + $15 = (($14) + 1)|0; + HEAP32[$2>>2] = $15; + } + _sqlite3_free($9); + STACKTOP = sp;return; +} +function _fts5IterSetOutputs_None($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 72|0); + $6 = $5; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = $12; + $14 = $13; + HEAP32[$14>>2] = $8; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 80|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 12|0); + HEAP32[$21>>2] = $19; + STACKTOP = sp;return; +} +function _fts5IterSetOutputs_Nocolset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 72|0); + $6 = $5; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = $12; + $14 = $13; + HEAP32[$14>>2] = $8; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 80|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 12|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 80|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($24) + ($27))|0; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($28|0)<=($33|0); + if ($34) { + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 20|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($38) + ($41)|0); + $43 = HEAP32[$2>>2]|0; + $$sink = $42;$$sink3 = $43; + $56 = ((($$sink3)) + 8|0); + HEAP32[$56>>2] = $$sink; + STACKTOP = sp;return; + } else { + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 32|0); + _sqlite3Fts5BufferZero($45); + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 24|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$3>>2]|0; + $50 = HEAP32[$2>>2]|0; + $51 = ((($50)) + 32|0); + _fts5SegiterPoslist($48,$49,0,$51); + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 32|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$2>>2]|0; + $$sink = $54;$$sink3 = $55; + $56 = ((($$sink3)) + 8|0); + HEAP32[$56>>2] = $$sink; + STACKTOP = sp;return; + } +} +function _fts5IterSetOutputs_ZeroColset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 12|0); + HEAP32[$5>>2] = 0; + STACKTOP = sp;return; +} +function _fts5IterSetOutputs_Full($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 44|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$4>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 72|0); + $11 = $10; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = $17; + $19 = $18; + HEAP32[$19>>2] = $13; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $16; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 80|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($24) + ($27))|0; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($28|0)<=($33|0); + if (!($34)) { + $78 = HEAP32[$2>>2]|0; + $79 = ((($78)) + 32|0); + _sqlite3Fts5BufferZero($79); + $80 = HEAP32[$2>>2]|0; + $81 = ((($80)) + 24|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$3>>2]|0; + $84 = HEAP32[$4>>2]|0; + $85 = HEAP32[$2>>2]|0; + $86 = ((($85)) + 32|0); + _fts5SegiterPoslist($82,$83,$84,$86); + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 32|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$2>>2]|0; + $91 = ((($90)) + 8|0); + HEAP32[$91>>2] = $89; + $92 = HEAP32[$2>>2]|0; + $93 = ((($92)) + 32|0); + $94 = ((($93)) + 4|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$2>>2]|0; + $97 = ((($96)) + 12|0); + HEAP32[$97>>2] = $95; + STACKTOP = sp;return; + } + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 20|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($38) + ($41)|0); + HEAP32[$5>>2] = $42; + $43 = HEAP32[$4>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(1); + if ($45) { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 80|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_fts5IndexExtractCol($5,$48,$51)|0); + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 12|0); + HEAP32[$54>>2] = $52; + $55 = HEAP32[$5>>2]|0; + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 8|0); + HEAP32[$57>>2] = $55; + STACKTOP = sp;return; + } else { + $58 = HEAP32[$2>>2]|0; + $59 = ((($58)) + 32|0); + _sqlite3Fts5BufferZero($59); + $60 = HEAP32[$4>>2]|0; + $61 = HEAP32[$5>>2]|0; + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 80|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$2>>2]|0; + $66 = ((($65)) + 32|0); + (_fts5IndexExtractColset($60,$61,$64,$66)|0); + $67 = HEAP32[$2>>2]|0; + $68 = ((($67)) + 32|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$2>>2]|0; + $71 = ((($70)) + 8|0); + HEAP32[$71>>2] = $69; + $72 = HEAP32[$2>>2]|0; + $73 = ((($72)) + 32|0); + $74 = ((($73)) + 4|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$2>>2]|0; + $77 = ((($76)) + 12|0); + HEAP32[$77>>2] = $75; + STACKTOP = sp;return; + } +} +function _fts5IterSetOutputs_Col100($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 80|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($13) + ($16))|0; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($17|0)>($22|0); + if ($23) { + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$3>>2]|0; + _fts5IterSetOutputs_Col($24,$25); + STACKTOP = sp;return; + } + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 20|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($29) + ($32)|0); + HEAP32[$4>>2] = $33; + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 80|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($34) + ($37)|0); + HEAP32[$5>>2] = $38; + HEAP32[$6>>2] = 0; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 44|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($41)) + 4|0); + HEAP32[$7>>2] = $42; + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 44|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = (($43) + ($47<<2)|0); + HEAP32[$8>>2] = $48; + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 32|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$9>>2] = $51; + HEAP32[$10>>2] = 0; + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 72|0); + $54 = $53; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$2>>2]|0; + $61 = $60; + $62 = $61; + HEAP32[$62>>2] = $56; + $63 = (($61) + 4)|0; + $64 = $63; + HEAP32[$64>>2] = $59; + L5: while(1) { + $65 = HEAP32[$4>>2]|0; + $66 = HEAP32[$5>>2]|0; + $67 = ($65>>>0)<($66>>>0); + if (!($67)) { + break; + } + $68 = HEAP32[$4>>2]|0; + $69 = ((($68)) + 1|0); + HEAP32[$4>>2] = $69; + $70 = HEAP8[$68>>0]|0; + $71 = $70&255; + $72 = (($71) - 2)|0; + $73 = HEAP32[$6>>2]|0; + $74 = (($73) + ($72))|0; + HEAP32[$6>>2] = $74; + while(1) { + $75 = HEAP32[$7>>2]|0; + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$6>>2]|0; + $78 = ($76|0)<($77|0); + $79 = HEAP32[$7>>2]|0; + if (!($78)) { + break; + } + $80 = ((($79)) + 4|0); + HEAP32[$7>>2] = $80; + $81 = HEAP32[$7>>2]|0; + $82 = HEAP32[$8>>2]|0; + $83 = ($81|0)==($82|0); + if ($83) { + break L5; + } + } + $84 = HEAP32[$79>>2]|0; + $85 = HEAP32[$6>>2]|0; + $86 = ($84|0)==($85|0); + if (!($86)) { + continue; + } + $87 = HEAP32[$6>>2]|0; + $88 = HEAP32[$10>>2]|0; + $89 = (($87) - ($88))|0; + $90 = (($89) + 2)|0; + $91 = $90&255; + $92 = HEAP32[$9>>2]|0; + $93 = ((($92)) + 1|0); + HEAP32[$9>>2] = $93; + HEAP8[$92>>0] = $91; + $94 = HEAP32[$6>>2]|0; + HEAP32[$10>>2] = $94; + } + $95 = HEAP32[$2>>2]|0; + $96 = ((($95)) + 32|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$2>>2]|0; + $99 = ((($98)) + 8|0); + HEAP32[$99>>2] = $97; + $100 = HEAP32[$9>>2]|0; + $101 = HEAP32[$2>>2]|0; + $102 = ((($101)) + 32|0); + $103 = HEAP32[$102>>2]|0; + $104 = $100; + $105 = $103; + $106 = (($104) - ($105))|0; + $107 = HEAP32[$2>>2]|0; + $108 = ((($107)) + 12|0); + HEAP32[$108>>2] = $106; + STACKTOP = sp;return; +} +function _fts5IterSetOutputs_Col($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 32|0); + _sqlite3Fts5BufferZero($5); + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 44|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 32|0); + _fts5SegiterPoslist($8,$9,$12,$14); + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 72|0); + $17 = $16; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (($17) + 4)|0; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = $23; + $25 = $24; + HEAP32[$25>>2] = $19; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $22; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 8|0); + HEAP32[$32>>2] = $30; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 32|0); + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 12|0); + HEAP32[$38>>2] = $36; + STACKTOP = sp;return; +} +function _sqlite3Fts5BufferZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + HEAP32[$3>>2] = 0; + STACKTOP = sp;return; +} +function _fts5SegiterPoslist($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 16|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$7>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 80|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($12) + ($15))|0; + $17 = HEAP32[$7>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($16>>>0)<=($19>>>0); + if ($20) { + $33 = 0; + } else { + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 36|0); + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 80|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$7>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($26) + ($29))|0; + $31 = (_sqlite3Fts5BufferSize($22,$23,$30)|0); + $33 = $31; + } + $32 = (0)==($33|0); + if (!($32)) { + STACKTOP = sp;return; + } + $34 = HEAP32[$6>>2]|0; + $35 = ($34|0)==(0|0); + $36 = HEAP32[$4>>2]|0; + if ($35) { + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$7>>2]|0; + _fts5ChunkIterate($36,$37,$38,136); + STACKTOP = sp;return; + } + $39 = HEAP32[$36>>2]|0; + $40 = ((($39)) + 48|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)==(0); + if ($42) { + $43 = HEAP32[$7>>2]|0; + HEAP32[$8>>2] = $43; + $44 = HEAP32[$6>>2]|0; + $45 = ((($8)) + 4|0); + HEAP32[$45>>2] = $44; + $46 = HEAP32[$6>>2]|0; + $47 = (_fts5IndexColsetTest($46,0)|0); + $48 = ((($8)) + 8|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$5>>2]|0; + _fts5ChunkIterate($49,$50,$8,137); + STACKTOP = sp;return; + } else { + ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0;HEAP32[$9+12>>2]=0|0; + $51 = HEAP32[$7>>2]|0; + HEAP32[$9>>2] = $51; + $52 = HEAP32[$6>>2]|0; + $53 = ((($9)) + 4|0); + HEAP32[$53>>2] = $52; + $54 = HEAP32[$4>>2]|0; + $55 = HEAP32[$5>>2]|0; + _fts5ChunkIterate($54,$55,$9,138); + STACKTOP = sp;return; + } +} +function _fts5PoslistCallback($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if (!($9)) { + STACKTOP = sp;return; + } + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($11) + ($14)|0); + $16 = HEAP32[$6>>2]|0; + $17 = HEAP32[$7>>2]|0; + _memcpy(($15|0),($16|0),($17|0))|0; + $18 = HEAP32[$7>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + ($18))|0; + HEAP32[$20>>2] = $22; + STACKTOP = sp;return; +} +function _fts5ChunkIterate($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 80|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$8>>2] = $16; + HEAP32[$9>>2] = 0; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($20) + ($23)|0); + HEAP32[$10>>2] = $24; + $25 = HEAP32[$8>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 20|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($30) - ($33))|0; + $35 = ($25|0)<($34|0); + if ($35) { + $36 = HEAP32[$8>>2]|0; + $46 = $36; + } else { + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = ((($42)) + 20|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($41) - ($44))|0; + $46 = $45; + } + HEAP32[$11>>2] = $46; + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$12>>2] = $49; + HEAP32[$13>>2] = 0; + $50 = HEAP32[$5>>2]|0; + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 & 2; + $54 = ($53|0)==(0); + if ($54) { + $55 = HEAP32[$12>>2]|0; + $56 = (($55) + 1)|0; + HEAP32[$13>>2] = $56; + } + while(1) { + $57 = HEAP32[$7>>2]|0; + $58 = HEAP32[$4>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$10>>2]|0; + $61 = HEAP32[$11>>2]|0; + FUNCTION_TABLE_viiii[$57 & 255]($58,$59,$60,$61); + $62 = HEAP32[$11>>2]|0; + $63 = HEAP32[$8>>2]|0; + $64 = (($63) - ($62))|0; + HEAP32[$8>>2] = $64; + $65 = HEAP32[$9>>2]|0; + _fts5DataRelease($65); + $66 = HEAP32[$8>>2]|0; + $67 = ($66|0)<=(0); + if ($67) { + label = 13; + break; + } + $68 = HEAP32[$12>>2]|0; + $69 = (($68) + 1)|0; + HEAP32[$12>>2] = $69; + $70 = HEAP32[$4>>2]|0; + $71 = HEAP32[$5>>2]|0; + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)<(0); + $75 = $74 << 31 >> 31; + $76 = (_bitshift64Shl(($73|0),($75|0),37)|0); + $77 = tempRet0; + $78 = (_i64Add(($76|0),($77|0),0,0)|0); + $79 = tempRet0; + $80 = (_i64Add(($78|0),($79|0),0,0)|0); + $81 = tempRet0; + $82 = HEAP32[$12>>2]|0; + $83 = ($82|0)<(0); + $84 = $83 << 31 >> 31; + $85 = (_i64Add(($80|0),($81|0),($82|0),($84|0))|0); + $86 = tempRet0; + $87 = (_fts5DataRead($70,$85,$86)|0); + HEAP32[$9>>2] = $87; + $88 = HEAP32[$9>>2]|0; + $89 = ($88|0)==(0|0); + if ($89) { + label = 13; + break; + } + $90 = HEAP32[$9>>2]|0; + $91 = HEAP32[$90>>2]|0; + $92 = ((($91)) + 4|0); + HEAP32[$10>>2] = $92; + $93 = HEAP32[$8>>2]|0; + $94 = HEAP32[$9>>2]|0; + $95 = ((($94)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = (($96) - 4)|0; + $98 = ($93|0)<($97|0); + if ($98) { + $99 = HEAP32[$8>>2]|0; + $104 = $99; + } else { + $100 = HEAP32[$9>>2]|0; + $101 = ((($100)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = (($102) - 4)|0; + $104 = $103; + } + HEAP32[$11>>2] = $104; + $105 = HEAP32[$12>>2]|0; + $106 = HEAP32[$13>>2]|0; + $107 = ($105|0)==($106|0); + if (!($107)) { + continue; + } + $108 = HEAP32[$9>>2]|0; + $109 = HEAP32[$5>>2]|0; + $110 = ((($109)) + 16|0); + HEAP32[$110>>2] = $108; + HEAP32[$9>>2] = 0; + } + if ((label|0) == 13) { + STACKTOP = sp;return; + } +} +function _fts5IndexColsetTest($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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + while(1) { + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($6|0)<($8|0); + if (!($9)) { + label = 6; + break; + } + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$5>>2]|0; + $13 = (($11) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ($14|0)==($15|0); + if ($16) { + label = 4; + break; + } + $17 = HEAP32[$5>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$5>>2] = $18; + } + if ((label|0) == 4) { + HEAP32[$2>>2] = 1; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); + } + else if ((label|0) == 6) { + HEAP32[$2>>2] = 0; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); + } + return (0)|0; +} +function _fts5PoslistFilterCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $13 = HEAP32[$5>>2]|0; + HEAP32[$8>>2] = $13; + $14 = HEAP32[$7>>2]|0; + $15 = ($14|0)>(0); + if (!($15)) { + STACKTOP = sp;return; + } + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + $16 = HEAP32[$8>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(2); + do { + if ($19) { + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$9>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$9>>2] = $22; + $23 = (($20) + ($21)|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + HEAP32[$11>>2] = $25; + $26 = HEAP32[$11>>2]|0; + $27 = $26 & 128; + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$9>>2]|0; + $30 = (($29) + -1)|0; + HEAP32[$9>>2] = $30; + $31 = HEAP32[$6>>2]|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($31) + ($32)|0); + $34 = (_sqlite3Fts5GetVarint32($33,$11)|0); + $35 = HEAP32[$9>>2]|0; + $36 = (($35) + ($34))|0; + HEAP32[$9>>2] = $36; + } + $37 = HEAP32[$8>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$11>>2]|0; + $41 = (_fts5IndexColsetTest($39,$40)|0); + $42 = ($41|0)!=(0); + $43 = HEAP32[$8>>2]|0; + $44 = ((($43)) + 8|0); + if ($42) { + HEAP32[$44>>2] = 1; + $45 = HEAP32[$8>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = HEAP32[$48>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($47) + ($51)|0); + $53 = (_sqlite3Fts5PutVarint($52,1,0)|0); + $54 = HEAP32[$8>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($57) + ($53))|0; + HEAP32[$56>>2] = $58; + break; + } else { + HEAP32[$44>>2] = 0; + break; + } + } + } while(0); + while(1) { + L14: while(1) { + $59 = HEAP32[$9>>2]|0; + $60 = HEAP32[$7>>2]|0; + $61 = ($59|0)<($60|0); + if (!($61)) { + break; + } + $62 = HEAP32[$6>>2]|0; + $63 = HEAP32[$9>>2]|0; + $64 = (($62) + ($63)|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = ($66|0)!=(1); + if (!($67)) { + break; + } + while(1) { + $68 = HEAP32[$6>>2]|0; + $69 = HEAP32[$9>>2]|0; + $70 = (($68) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = $72 & 128; + $74 = ($73|0)!=(0); + $75 = HEAP32[$9>>2]|0; + $76 = (($75) + 1)|0; + HEAP32[$9>>2] = $76; + if (!($74)) { + continue L14; + } + } + } + $77 = HEAP32[$8>>2]|0; + $78 = ((($77)) + 8|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0); + if ($80) { + $81 = HEAP32[$8>>2]|0; + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$8>>2]|0; + $85 = HEAP32[$84>>2]|0; + $86 = ((($85)) + 4|0); + $87 = HEAP32[$86>>2]|0; + $88 = (($83) + ($87)|0); + $89 = HEAP32[$6>>2]|0; + $90 = HEAP32[$10>>2]|0; + $91 = (($89) + ($90)|0); + $92 = HEAP32[$9>>2]|0; + $93 = HEAP32[$10>>2]|0; + $94 = (($92) - ($93))|0; + _memcpy(($88|0),($91|0),($94|0))|0; + $95 = HEAP32[$9>>2]|0; + $96 = HEAP32[$10>>2]|0; + $97 = (($95) - ($96))|0; + $98 = HEAP32[$8>>2]|0; + $99 = HEAP32[$98>>2]|0; + $100 = ((($99)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = (($101) + ($97))|0; + HEAP32[$100>>2] = $102; + } + $103 = HEAP32[$9>>2]|0; + $104 = HEAP32[$7>>2]|0; + $105 = ($103|0)<($104|0); + do { + if ($105) { + $106 = HEAP32[$9>>2]|0; + HEAP32[$10>>2] = $106; + $107 = HEAP32[$9>>2]|0; + $108 = (($107) + 1)|0; + HEAP32[$9>>2] = $108; + $109 = HEAP32[$9>>2]|0; + $110 = HEAP32[$7>>2]|0; + $111 = ($109|0)>=($110|0); + if ($111) { + $112 = HEAP32[$8>>2]|0; + $113 = ((($112)) + 8|0); + HEAP32[$113>>2] = 2; + break; + } + $114 = HEAP32[$6>>2]|0; + $115 = HEAP32[$9>>2]|0; + $116 = (($115) + 1)|0; + HEAP32[$9>>2] = $116; + $117 = (($114) + ($115)|0); + $118 = HEAP8[$117>>0]|0; + $119 = $118&255; + HEAP32[$12>>2] = $119; + $120 = HEAP32[$12>>2]|0; + $121 = $120 & 128; + $122 = ($121|0)!=(0); + if ($122) { + $123 = HEAP32[$9>>2]|0; + $124 = (($123) + -1)|0; + HEAP32[$9>>2] = $124; + $125 = HEAP32[$6>>2]|0; + $126 = HEAP32[$9>>2]|0; + $127 = (($125) + ($126)|0); + $128 = (_sqlite3Fts5GetVarint32($127,$12)|0); + $129 = HEAP32[$9>>2]|0; + $130 = (($129) + ($128))|0; + HEAP32[$9>>2] = $130; + } + $131 = HEAP32[$8>>2]|0; + $132 = ((($131)) + 4|0); + $133 = HEAP32[$132>>2]|0; + $134 = HEAP32[$12>>2]|0; + $135 = (_fts5IndexColsetTest($133,$134)|0); + $136 = HEAP32[$8>>2]|0; + $137 = ((($136)) + 8|0); + HEAP32[$137>>2] = $135; + $138 = HEAP32[$8>>2]|0; + $139 = ((($138)) + 8|0); + $140 = HEAP32[$139>>2]|0; + $141 = ($140|0)!=(0); + if ($141) { + $142 = HEAP32[$8>>2]|0; + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$143>>2]|0; + $145 = HEAP32[$8>>2]|0; + $146 = HEAP32[$145>>2]|0; + $147 = ((($146)) + 4|0); + $148 = HEAP32[$147>>2]|0; + $149 = (($144) + ($148)|0); + $150 = HEAP32[$6>>2]|0; + $151 = HEAP32[$10>>2]|0; + $152 = (($150) + ($151)|0); + $153 = HEAP32[$9>>2]|0; + $154 = HEAP32[$10>>2]|0; + $155 = (($153) - ($154))|0; + _memcpy(($149|0),($152|0),($155|0))|0; + $156 = HEAP32[$9>>2]|0; + $157 = HEAP32[$10>>2]|0; + $158 = (($156) - ($157))|0; + $159 = HEAP32[$8>>2]|0; + $160 = HEAP32[$159>>2]|0; + $161 = ((($160)) + 4|0); + $162 = HEAP32[$161>>2]|0; + $163 = (($162) + ($158))|0; + HEAP32[$161>>2] = $163; + $164 = HEAP32[$9>>2]|0; + HEAP32[$10>>2] = $164; + } + } + } while(0); + $165 = HEAP32[$9>>2]|0; + $166 = HEAP32[$7>>2]|0; + $167 = ($165|0)<($166|0); + if (!($167)) { + break; + } + } + STACKTOP = sp;return; +} +function _fts5PoslistOffsetsCallback($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $11 = HEAP32[$5>>2]|0; + HEAP32[$8>>2] = $11; + $12 = HEAP32[$7>>2]|0; + $13 = ($12|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + HEAP32[$9>>2] = 0; + while(1) { + $14 = HEAP32[$9>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = ($14|0)<($15|0); + if (!($16)) { + break; + } + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = (($17) + ($18)|0); + $20 = (_sqlite3Fts5GetVarint32($19,$10)|0); + $21 = HEAP32[$9>>2]|0; + $22 = (($21) + ($20))|0; + HEAP32[$9>>2] = $22; + $23 = HEAP32[$8>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) - 2)|0; + $27 = HEAP32[$10>>2]|0; + $28 = (($27) + ($26))|0; + HEAP32[$10>>2] = $28; + $29 = HEAP32[$10>>2]|0; + $30 = HEAP32[$8>>2]|0; + $31 = ((($30)) + 8|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$8>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$10>>2]|0; + $36 = (_fts5IndexColsetTest($34,$35)|0); + $37 = ($36|0)!=(0); + if (!($37)) { + continue; + } + $38 = HEAP32[$8>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$8>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($40) + ($44)|0); + $46 = HEAP32[$10>>2]|0; + $47 = (($46) + 2)|0; + $48 = HEAP32[$8>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($47) - ($50))|0; + $52 = ($51|0)<(0); + $53 = $52 << 31 >> 31; + $54 = (_sqlite3Fts5PutVarint($45,$51,$53)|0); + $55 = HEAP32[$8>>2]|0; + $56 = HEAP32[$55>>2]|0; + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + $59 = (($58) + ($54))|0; + HEAP32[$57>>2] = $59; + $60 = HEAP32[$10>>2]|0; + $61 = HEAP32[$8>>2]|0; + $62 = ((($61)) + 12|0); + HEAP32[$62>>2] = $60; + } + STACKTOP = sp;return; +} +function _sqlite3Fts5PutVarint($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$4>>2] = $0; + $6 = $5; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = $5; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = ($15>>>0)<(0); + $17 = ($12>>>0)<=(127); + $18 = ($15|0)==(0); + $19 = $18 & $17; + $20 = $16 | $19; + $21 = $5; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + if ($20) { + $27 = $23 & 127; + $28 = $27&255; + $29 = HEAP32[$4>>2]|0; + HEAP8[$29>>0] = $28; + HEAP32[$3>>2] = 1; + $65 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($65|0); + } + $30 = ($26>>>0)<(0); + $31 = ($23>>>0)<=(16383); + $32 = ($26|0)==(0); + $33 = $32 & $31; + $34 = $30 | $33; + if ($34) { + $35 = $5; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (_bitshift64Lshr(($37|0),($40|0),7)|0); + $42 = tempRet0; + $43 = $41 & 127; + $44 = $43 | 128; + $45 = $44&255; + $46 = HEAP32[$4>>2]|0; + HEAP8[$46>>0] = $45; + $47 = $5; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = $49 & 127; + $54 = $53&255; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 1|0); + HEAP8[$56>>0] = $54; + HEAP32[$3>>2] = 2; + $65 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($65|0); + } else { + $57 = HEAP32[$4>>2]|0; + $58 = $5; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (_fts5PutVarint64($57,$60,$63)|0); + HEAP32[$3>>2] = $64; + $65 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($65|0); + } + return (0)|0; +} +function _fts5PutVarint64($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 28|0; + HEAP32[$4>>2] = $0; + $10 = $5; + $11 = $10; + HEAP32[$11>>2] = $1; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $2; + $14 = $5; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = $19 & -16777216; + $21 = (0)!=(0); + $22 = ($20|0)!=(0); + $23 = $21 | $22; + if ($23) { + $24 = $5; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $26&255; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 8|0); + HEAP8[$32>>0] = $30; + $33 = $5; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (_bitshift64Lshr(($35|0),($38|0),8)|0); + $40 = tempRet0; + $41 = $5; + $42 = $41; + HEAP32[$42>>2] = $39; + $43 = (($41) + 4)|0; + $44 = $43; + HEAP32[$44>>2] = $40; + HEAP32[$6>>2] = 7; + while(1) { + $45 = HEAP32[$6>>2]|0; + $46 = ($45|0)>=(0); + if (!($46)) { + break; + } + $47 = $5; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = $49 & 127; + $54 = $53 | 128; + $55 = $54&255; + $56 = HEAP32[$4>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = (($56) + ($57)|0); + HEAP8[$58>>0] = $55; + $59 = $5; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (_bitshift64Lshr(($61|0),($64|0),7)|0); + $66 = tempRet0; + $67 = $5; + $68 = $67; + HEAP32[$68>>2] = $65; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + $71 = HEAP32[$6>>2]|0; + $72 = (($71) + -1)|0; + HEAP32[$6>>2] = $72; + } + HEAP32[$3>>2] = 9; + $125 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($125|0); + } + HEAP32[$8>>2] = 0; + while(1) { + $73 = $5; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $75 & 127; + $80 = $79 | 128; + $81 = $80&255; + $82 = HEAP32[$8>>2]|0; + $83 = (($82) + 1)|0; + HEAP32[$8>>2] = $83; + $84 = (($9) + ($82)|0); + HEAP8[$84>>0] = $81; + $85 = $5; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (_bitshift64Lshr(($87|0),($90|0),7)|0); + $92 = tempRet0; + $93 = $5; + $94 = $93; + HEAP32[$94>>2] = $91; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $5; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = ($99|0)!=(0); + $104 = ($102|0)!=(0); + $105 = $103 | $104; + if (!($105)) { + break; + } + } + $106 = HEAP8[$9>>0]|0; + $107 = $106&255; + $108 = $107 & 127; + $109 = $108&255; + HEAP8[$9>>0] = $109; + HEAP32[$6>>2] = 0; + $110 = HEAP32[$8>>2]|0; + $111 = (($110) - 1)|0; + HEAP32[$7>>2] = $111; + while(1) { + $112 = HEAP32[$7>>2]|0; + $113 = ($112|0)>=(0); + if (!($113)) { + break; + } + $114 = HEAP32[$7>>2]|0; + $115 = (($9) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = HEAP32[$4>>2]|0; + $118 = HEAP32[$6>>2]|0; + $119 = (($117) + ($118)|0); + HEAP8[$119>>0] = $116; + $120 = HEAP32[$7>>2]|0; + $121 = (($120) + -1)|0; + HEAP32[$7>>2] = $121; + $122 = HEAP32[$6>>2]|0; + $123 = (($122) + 1)|0; + HEAP32[$6>>2] = $123; + } + $124 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $124; + $125 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($125|0); +} +function _fts5IndexExtractCol($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$8>>2] = $11; + $12 = HEAP32[$8>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (($12) + ($13)|0); + HEAP32[$9>>2] = $14; + L1: while(1) { + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = ($15|0)>($16|0); + if (!($17)) { + break; + } + while(1) { + $18 = HEAP32[$8>>2]|0; + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = ($20|0)!=(1); + if (!($21)) { + break; + } + while(1) { + $22 = HEAP32[$8>>2]|0; + $23 = ((($22)) + 1|0); + HEAP32[$8>>2] = $23; + $24 = HEAP8[$22>>0]|0; + $25 = $24&255; + $26 = $25 & 128; + $27 = ($26|0)!=(0); + if (!($27)) { + break; + } + } + $28 = HEAP32[$8>>2]|0; + $29 = HEAP32[$9>>2]|0; + $30 = ($28>>>0)>=($29>>>0); + if ($30) { + label = 6; + break L1; + } + } + $31 = HEAP32[$8>>2]|0; + $32 = ((($31)) + 1|0); + HEAP32[$8>>2] = $32; + $33 = HEAP32[$4>>2]|0; + HEAP32[$33>>2] = $31; + $34 = HEAP32[$8>>2]|0; + $35 = ((($34)) + 1|0); + HEAP32[$8>>2] = $35; + $36 = HEAP8[$34>>0]|0; + $37 = $36&255; + HEAP32[$7>>2] = $37; + $38 = HEAP32[$7>>2]|0; + $39 = $38 & 128; + $40 = ($39|0)!=(0); + if (!($40)) { + continue; + } + $41 = HEAP32[$8>>2]|0; + $42 = ((($41)) + -1|0); + HEAP32[$8>>2] = $42; + $43 = HEAP32[$8>>2]|0; + $44 = (_sqlite3Fts5GetVarint32($43,$7)|0); + $45 = HEAP32[$8>>2]|0; + $46 = (($45) + ($44)|0); + HEAP32[$8>>2] = $46; + } + if ((label|0) == 6) { + HEAP32[$3>>2] = 0; + $69 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($69|0); + } + $47 = HEAP32[$6>>2]|0; + $48 = HEAP32[$7>>2]|0; + $49 = ($47|0)!=($48|0); + if ($49) { + HEAP32[$3>>2] = 0; + $69 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($69|0); + } + L17: while(1) { + $50 = HEAP32[$8>>2]|0; + $51 = HEAP32[$9>>2]|0; + $52 = ($50>>>0)<($51>>>0); + if (!($52)) { + break; + } + $53 = HEAP32[$8>>2]|0; + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = ($55|0)!=(1); + if (!($56)) { + break; + } + while(1) { + $57 = HEAP32[$8>>2]|0; + $58 = ((($57)) + 1|0); + HEAP32[$8>>2] = $58; + $59 = HEAP8[$57>>0]|0; + $60 = $59&255; + $61 = $60 & 128; + $62 = ($61|0)!=(0); + if (!($62)) { + continue L17; + } + } + } + $63 = HEAP32[$8>>2]|0; + $64 = HEAP32[$4>>2]|0; + $65 = HEAP32[$64>>2]|0; + $66 = $63; + $67 = $65; + $68 = (($66) - ($67))|0; + HEAP32[$3>>2] = $68; + $69 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($69|0); +} +function _fts5IndexExtractColset($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $12 = HEAP32[$7>>2]|0; + _sqlite3Fts5BufferZero($12); + HEAP32[$9>>2] = 0; + while(1) { + $13 = HEAP32[$9>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ($13|0)<($15|0); + if (!($16)) { + break; + } + $17 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = $17; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$9>>2]|0; + $22 = (($20) + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (_fts5IndexExtractCol($10,$18,$23)|0); + HEAP32[$11>>2] = $24; + $25 = HEAP32[$11>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$7>>2]|0; + $28 = HEAP32[$11>>2]|0; + $29 = HEAP32[$10>>2]|0; + _sqlite3Fts5BufferAppendBlob($8,$27,$28,$29); + } + $30 = HEAP32[$9>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$9>>2] = $31; + } + $32 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _fts5MergeRowidLists($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $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, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 16|0; + $9 = sp + 8|0; + $10 = sp; + $11 = sp + 24|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + $12 = $8; + $13 = $12; + HEAP32[$13>>2] = 0; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = 0; + $16 = $9; + $17 = $16; + HEAP32[$17>>2] = 0; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = 0; + $20 = $10; + $21 = $20; + HEAP32[$21>>2] = 0; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = 0; + ;HEAP32[$11>>2]=0|0;HEAP32[$11+4>>2]=0|0;HEAP32[$11+8>>2]=0|0; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($28) + ($31))|0; + (_sqlite3Fts5BufferSize($25,$11,$32)|0); + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 36|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)!=(0); + if ($36) { + STACKTOP = sp;return; + } + $37 = HEAP32[$4>>2]|0; + _fts5NextRowid($37,$6,$8); + $38 = HEAP32[$5>>2]|0; + _fts5NextRowid($38,$7,$9); + L4: while(1) { + $39 = HEAP32[$6>>2]|0; + $40 = ($39|0)>=(0); + $41 = HEAP32[$7>>2]|0; + $42 = ($41|0)>=(0); + $43 = $40 ? 1 : $42; + if (!($43)) { + break; + } + $44 = HEAP32[$6>>2]|0; + $45 = ($44|0)>=(0); + do { + if ($45) { + $46 = HEAP32[$7>>2]|0; + $47 = ($46|0)<(0); + if (!($47)) { + $48 = $8; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = $9; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = ($53|0)<($59|0); + $61 = ($50>>>0)<($56>>>0); + $62 = ($53|0)==($59|0); + $63 = $62 & $61; + $64 = $60 | $63; + if (!($64)) { + break; + } + } + $65 = HEAP32[$11>>2]|0; + $66 = ((($11)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($65) + ($67)|0); + $69 = $8; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = $10; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (_i64Subtract(($71|0),($74|0),($77|0),($80|0))|0); + $82 = tempRet0; + $83 = (_sqlite3Fts5PutVarint($68,$81,$82)|0); + $84 = ((($11)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = (($85) + ($83))|0; + HEAP32[$84>>2] = $86; + $87 = $8; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $10; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = HEAP32[$4>>2]|0; + _fts5NextRowid($97,$6,$8); + continue L4; + } + } while(0); + $98 = HEAP32[$11>>2]|0; + $99 = ((($11)) + 4|0); + $100 = HEAP32[$99>>2]|0; + $101 = (($98) + ($100)|0); + $102 = $9; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = (($102) + 4)|0; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = $10; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (($108) + 4)|0; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (_i64Subtract(($104|0),($107|0),($110|0),($113|0))|0); + $115 = tempRet0; + $116 = (_sqlite3Fts5PutVarint($101,$114,$115)|0); + $117 = ((($11)) + 4|0); + $118 = HEAP32[$117>>2]|0; + $119 = (($118) + ($116))|0; + HEAP32[$117>>2] = $119; + $120 = $9; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $10; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + $130 = HEAP32[$6>>2]|0; + $131 = ($130|0)>=(0); + if ($131) { + $132 = $8; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = (($132) + 4)|0; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = $9; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = ($134|0)==($140|0); + $145 = ($137|0)==($143|0); + $146 = $144 & $145; + if ($146) { + $147 = HEAP32[$4>>2]|0; + _fts5NextRowid($147,$6,$8); + } + } + $148 = HEAP32[$5>>2]|0; + _fts5NextRowid($148,$7,$9); + } + $149 = HEAP32[$4>>2]|0; + _fts5BufferSwap($11,$149); + _sqlite3Fts5BufferFree($11); + STACKTOP = sp;return; +} +function _fts5AppendRowid($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$5>>2] = $0; + $9 = $6; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = $4; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 36|0); + $15 = HEAP32[$8>>2]|0; + $16 = $6; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + _sqlite3Fts5BufferAppendVarint($14,$15,$18,$21); + STACKTOP = sp;return; +} +function _fts5MergePrefixLists($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink12 = 0, $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0; + var $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0; + var $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; + $3 = sp + 152|0; + $4 = sp + 148|0; + $5 = sp + 144|0; + $6 = sp + 96|0; + $7 = sp + 64|0; + $8 = sp + 32|0; + $9 = sp + 132|0; + $10 = sp + 120|0; + $11 = sp + 24|0; + $12 = sp + 16|0; + $13 = sp + 116|0; + $14 = sp + 112|0; + $15 = sp + 108|0; + $16 = sp + 104|0; + $17 = sp + 8|0; + $18 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0); + if (!($22)) { + STACKTOP = sp;return; + } + $23 = $6; + $24 = $23; + HEAP32[$24>>2] = 0; + $25 = (($23) + 4)|0; + $26 = $25; + HEAP32[$26>>2] = 0; + ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0; + ;HEAP32[$10>>2]=0|0;HEAP32[$10+4>>2]=0|0;HEAP32[$10+8>>2]=0|0; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 36|0); + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($31) + ($34))|0; + $36 = (_sqlite3Fts5BufferSize($28,$9,$35)|0); + $37 = ($36|0)!=(0); + if ($37) { + STACKTOP = sp;return; + } + $38 = HEAP32[$4>>2]|0; + _fts5DoclistIterInit($38,$7); + $39 = HEAP32[$5>>2]|0; + _fts5DoclistIterInit($39,$8); + while(1) { + $40 = ((($7)) + 8|0); + $41 = $40; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = ((($8)) + 8|0); + $48 = $47; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = ($46|0)<($53|0); + $55 = ($43>>>0)<($50>>>0); + $56 = ($46|0)==($53|0); + $57 = $56 & $55; + $58 = $54 | $57; + if ($58) { + $59 = HEAP32[$9>>2]|0; + $60 = ((($9)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + ($61)|0); + $63 = ((($7)) + 8|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $6; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (($70) + 4)|0; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (_i64Subtract(($66|0),($69|0),($72|0),($75|0))|0); + $77 = tempRet0; + $78 = (_sqlite3Fts5PutVarint($62,$76,$77)|0); + $79 = ((($9)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = (($80) + ($78))|0; + HEAP32[$79>>2] = $81; + $82 = ((($7)) + 8|0); + $83 = $82; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $6; + $90 = $89; + HEAP32[$90>>2] = $85; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = HEAP32[$9>>2]|0; + $94 = ((($9)) + 4|0); + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + ($95)|0); + $97 = ((($7)) + 16|0); + $98 = HEAP32[$97>>2]|0; + $99 = ((($7)) + 20|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($7)) + 24|0); + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + ($102))|0; + _memcpy(($96|0),($98|0),($103|0))|0; + $104 = ((($7)) + 20|0); + $105 = HEAP32[$104>>2]|0; + $106 = ((($7)) + 24|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + ($107))|0; + $109 = ((($9)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = (($110) + ($108))|0; + HEAP32[$109>>2] = $111; + _fts5DoclistIterNext($7); + $112 = ((($7)) + 16|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)==(0|0); + if ($114) { + break; + } else { + continue; + } + } + $115 = ((($8)) + 8|0); + $116 = $115; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = ((($7)) + 8|0); + $123 = $122; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = (($123) + 4)|0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = ($118|0)!=($125|0); + $130 = ($121|0)!=($128|0); + $131 = $129 | $130; + if ($131) { + $132 = HEAP32[$9>>2]|0; + $133 = ((($9)) + 4|0); + $134 = HEAP32[$133>>2]|0; + $135 = (($132) + ($134)|0); + $136 = ((($8)) + 8|0); + $137 = $136; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (($137) + 4)|0; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = $6; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = (($143) + 4)|0; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (_i64Subtract(($139|0),($142|0),($145|0),($148|0))|0); + $150 = tempRet0; + $151 = (_sqlite3Fts5PutVarint($135,$149,$150)|0); + $152 = ((($9)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = (($153) + ($151))|0; + HEAP32[$152>>2] = $154; + $155 = ((($8)) + 8|0); + $156 = $155; + $157 = $156; + $158 = HEAP32[$157>>2]|0; + $159 = (($156) + 4)|0; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = $6; + $163 = $162; + HEAP32[$163>>2] = $158; + $164 = (($162) + 4)|0; + $165 = $164; + HEAP32[$165>>2] = $161; + $166 = HEAP32[$9>>2]|0; + $167 = ((($9)) + 4|0); + $168 = HEAP32[$167>>2]|0; + $169 = (($166) + ($168)|0); + $170 = ((($8)) + 16|0); + $171 = HEAP32[$170>>2]|0; + $172 = ((($8)) + 20|0); + $173 = HEAP32[$172>>2]|0; + $174 = ((($8)) + 24|0); + $175 = HEAP32[$174>>2]|0; + $176 = (($173) + ($175))|0; + _memcpy(($169|0),($171|0),($176|0))|0; + $177 = ((($8)) + 20|0); + $178 = HEAP32[$177>>2]|0; + $179 = ((($8)) + 24|0); + $180 = HEAP32[$179>>2]|0; + $181 = (($178) + ($180))|0; + $182 = ((($9)) + 4|0); + $183 = HEAP32[$182>>2]|0; + $184 = (($183) + ($181))|0; + HEAP32[$182>>2] = $184; + _fts5DoclistIterNext($8); + $185 = ((($8)) + 16|0); + $186 = HEAP32[$185>>2]|0; + $187 = ($186|0)==(0|0); + if ($187) { + break; + } else { + continue; + } + } + $188 = $11; + $189 = $188; + HEAP32[$189>>2] = 0; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = 0; + $192 = $12; + $193 = $192; + HEAP32[$193>>2] = 0; + $194 = (($192) + 4)|0; + $195 = $194; + HEAP32[$195>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + $196 = ((($7)) + 16|0); + $197 = HEAP32[$196>>2]|0; + $198 = ((($7)) + 24|0); + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + ($199)|0); + HEAP32[$15>>2] = $200; + $201 = ((($8)) + 16|0); + $202 = HEAP32[$201>>2]|0; + $203 = ((($8)) + 24|0); + $204 = HEAP32[$203>>2]|0; + $205 = (($202) + ($204)|0); + HEAP32[$16>>2] = $205; + $206 = $17; + $207 = $206; + HEAP32[$207>>2] = 0; + $208 = (($206) + 4)|0; + $209 = $208; + HEAP32[$209>>2] = 0; + ;HEAP32[$18>>2]=0|0;HEAP32[$18+4>>2]=0|0; + $210 = HEAP32[$9>>2]|0; + $211 = ((($9)) + 4|0); + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + ($212)|0); + $214 = ((($8)) + 8|0); + $215 = $214; + $216 = $215; + $217 = HEAP32[$216>>2]|0; + $218 = (($215) + 4)|0; + $219 = $218; + $220 = HEAP32[$219>>2]|0; + $221 = $6; + $222 = $221; + $223 = HEAP32[$222>>2]|0; + $224 = (($221) + 4)|0; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (_i64Subtract(($217|0),($220|0),($223|0),($226|0))|0); + $228 = tempRet0; + $229 = (_sqlite3Fts5PutVarint($213,$227,$228)|0); + $230 = ((($9)) + 4|0); + $231 = HEAP32[$230>>2]|0; + $232 = (($231) + ($229))|0; + HEAP32[$230>>2] = $232; + $233 = ((($8)) + 8|0); + $234 = $233; + $235 = $234; + $236 = HEAP32[$235>>2]|0; + $237 = (($234) + 4)|0; + $238 = $237; + $239 = HEAP32[$238>>2]|0; + $240 = $6; + $241 = $240; + HEAP32[$241>>2] = $236; + $242 = (($240) + 4)|0; + $243 = $242; + HEAP32[$243>>2] = $239; + _sqlite3Fts5BufferZero($10); + $244 = HEAP32[$3>>2]|0; + $245 = ((($244)) + 36|0); + $246 = ((($7)) + 20|0); + $247 = HEAP32[$246>>2]|0; + $248 = ((($8)) + 20|0); + $249 = HEAP32[$248>>2]|0; + $250 = (($247) + ($249))|0; + (_sqlite3Fts5BufferSize($245,$10,$250)|0); + $251 = HEAP32[$3>>2]|0; + $252 = ((($251)) + 36|0); + $253 = HEAP32[$252>>2]|0; + $254 = ($253|0)!=(0); + if ($254) { + break; + } + $255 = HEAP32[$15>>2]|0; + $256 = ((($7)) + 20|0); + $257 = HEAP32[$256>>2]|0; + (_sqlite3Fts5PoslistNext64($255,$257,$13,$11)|0); + $258 = HEAP32[$16>>2]|0; + $259 = ((($8)) + 20|0); + $260 = HEAP32[$259>>2]|0; + (_sqlite3Fts5PoslistNext64($258,$260,$14,$12)|0); + $261 = $11; + $262 = $261; + $263 = HEAP32[$262>>2]|0; + $264 = (($261) + 4)|0; + $265 = $264; + $266 = HEAP32[$265>>2]|0; + $267 = $12; + $268 = $267; + $269 = HEAP32[$268>>2]|0; + $270 = (($267) + 4)|0; + $271 = $270; + $272 = HEAP32[$271>>2]|0; + $273 = ($266|0)<($272|0); + $274 = ($263>>>0)<($269>>>0); + $275 = ($266|0)==($272|0); + $276 = $275 & $274; + $277 = $273 | $276; + if ($277) { + $278 = $11; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + _sqlite3Fts5PoslistSafeAppend($10,$17,$280,$283); + $284 = HEAP32[$15>>2]|0; + $285 = ((($7)) + 20|0); + $286 = HEAP32[$285>>2]|0; + (_sqlite3Fts5PoslistNext64($284,$286,$13,$11)|0); + } else { + $287 = $12; + $288 = $287; + $289 = HEAP32[$288>>2]|0; + $290 = (($287) + 4)|0; + $291 = $290; + $292 = HEAP32[$291>>2]|0; + _sqlite3Fts5PoslistSafeAppend($10,$17,$289,$292); + $293 = HEAP32[$16>>2]|0; + $294 = ((($8)) + 20|0); + $295 = HEAP32[$294>>2]|0; + (_sqlite3Fts5PoslistNext64($293,$295,$14,$12)|0); + } + $296 = $11; + $297 = $296; + $298 = HEAP32[$297>>2]|0; + $299 = (($296) + 4)|0; + $300 = $299; + $301 = HEAP32[$300>>2]|0; + $302 = ($301|0)>(0); + $303 = ($298>>>0)>=(0); + $304 = ($301|0)==(0); + $305 = $304 & $303; + $306 = $302 | $305; + $307 = $12; + $308 = $307; + $309 = HEAP32[$308>>2]|0; + $310 = (($307) + 4)|0; + $311 = $310; + $312 = HEAP32[$311>>2]|0; + $313 = ($312|0)>(0); + $314 = ($309>>>0)>=(0); + $315 = ($312|0)==(0); + $316 = $315 & $314; + $317 = $313 | $316; + $or$cond = $306 & $317; + if ($or$cond) { + while(1) { + $318 = $11; + $319 = $318; + $320 = HEAP32[$319>>2]|0; + $321 = (($318) + 4)|0; + $322 = $321; + $323 = HEAP32[$322>>2]|0; + $324 = $12; + $325 = $324; + $326 = HEAP32[$325>>2]|0; + $327 = (($324) + 4)|0; + $328 = $327; + $329 = HEAP32[$328>>2]|0; + $330 = ($323|0)<($329|0); + $331 = ($320>>>0)<($326>>>0); + $332 = ($323|0)==($329|0); + $333 = $332 & $331; + $334 = $330 | $333; + if (!($334)) { + $366 = $12; + $367 = $366; + $368 = HEAP32[$367>>2]|0; + $369 = (($366) + 4)|0; + $370 = $369; + $371 = HEAP32[$370>>2]|0; + _sqlite3Fts5PoslistSafeAppend($10,$17,$368,$371); + $372 = HEAP32[$16>>2]|0; + $373 = ((($8)) + 20|0); + $374 = HEAP32[$373>>2]|0; + (_sqlite3Fts5PoslistNext64($372,$374,$14,$12)|0); + $375 = $12; + $376 = $375; + $377 = HEAP32[$376>>2]|0; + $378 = (($375) + 4)|0; + $379 = $378; + $380 = HEAP32[$379>>2]|0; + $381 = ($380|0)<(0); + if ($381) { + break; + } else { + continue; + } + } + $335 = $11; + $336 = $335; + $337 = HEAP32[$336>>2]|0; + $338 = (($335) + 4)|0; + $339 = $338; + $340 = HEAP32[$339>>2]|0; + $341 = $17; + $342 = $341; + $343 = HEAP32[$342>>2]|0; + $344 = (($341) + 4)|0; + $345 = $344; + $346 = HEAP32[$345>>2]|0; + $347 = ($337|0)!=($343|0); + $348 = ($340|0)!=($346|0); + $349 = $347 | $348; + if ($349) { + $350 = $11; + $351 = $350; + $352 = HEAP32[$351>>2]|0; + $353 = (($350) + 4)|0; + $354 = $353; + $355 = HEAP32[$354>>2]|0; + _sqlite3Fts5PoslistSafeAppend($10,$17,$352,$355); + } + $356 = HEAP32[$15>>2]|0; + $357 = ((($7)) + 20|0); + $358 = HEAP32[$357>>2]|0; + (_sqlite3Fts5PoslistNext64($356,$358,$13,$11)|0); + $359 = $11; + $360 = $359; + $361 = HEAP32[$360>>2]|0; + $362 = (($359) + 4)|0; + $363 = $362; + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)<(0); + if ($365) { + break; + } + } + } + $382 = $11; + $383 = $382; + $384 = HEAP32[$383>>2]|0; + $385 = (($382) + 4)|0; + $386 = $385; + $387 = HEAP32[$386>>2]|0; + $388 = ($387|0)>(0); + $389 = ($384>>>0)>=(0); + $390 = ($387|0)==(0); + $391 = $390 & $389; + $392 = $388 | $391; + if ($392) { + $393 = $11; + $394 = $393; + $395 = HEAP32[$394>>2]|0; + $396 = (($393) + 4)|0; + $397 = $396; + $398 = HEAP32[$397>>2]|0; + $399 = $17; + $400 = $399; + $401 = HEAP32[$400>>2]|0; + $402 = (($399) + 4)|0; + $403 = $402; + $404 = HEAP32[$403>>2]|0; + $405 = ($395|0)!=($401|0); + $406 = ($398|0)!=($404|0); + $407 = $405 | $406; + if ($407) { + $408 = $11; + $409 = $408; + $410 = HEAP32[$409>>2]|0; + $411 = (($408) + 4)|0; + $412 = $411; + $413 = HEAP32[$412>>2]|0; + _sqlite3Fts5PoslistSafeAppend($10,$17,$410,$413); + } + $414 = HEAP32[$10>>2]|0; + $415 = ((($10)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = (($414) + ($416)|0); + $418 = HEAP32[$15>>2]|0; + $419 = HEAP32[$13>>2]|0; + $420 = (($418) + ($419)|0); + $421 = ((($7)) + 20|0); + $422 = HEAP32[$421>>2]|0; + $423 = HEAP32[$13>>2]|0; + $424 = (($422) - ($423))|0; + _memcpy(($417|0),($420|0),($424|0))|0; + $425 = ((($7)) + 20|0); + $426 = HEAP32[$425>>2]|0; + $427 = HEAP32[$13>>2]|0; + $428 = (($426) - ($427))|0; + $$sink4 = $428; + } else { + $429 = $12; + $430 = $429; + $431 = HEAP32[$430>>2]|0; + $432 = (($429) + 4)|0; + $433 = $432; + $434 = HEAP32[$433>>2]|0; + _sqlite3Fts5PoslistSafeAppend($10,$17,$431,$434); + $435 = HEAP32[$10>>2]|0; + $436 = ((($10)) + 4|0); + $437 = HEAP32[$436>>2]|0; + $438 = (($435) + ($437)|0); + $439 = HEAP32[$16>>2]|0; + $440 = HEAP32[$14>>2]|0; + $441 = (($439) + ($440)|0); + $442 = ((($8)) + 20|0); + $443 = HEAP32[$442>>2]|0; + $444 = HEAP32[$14>>2]|0; + $445 = (($443) - ($444))|0; + _memcpy(($438|0),($441|0),($445|0))|0; + $446 = ((($8)) + 20|0); + $447 = HEAP32[$446>>2]|0; + $448 = HEAP32[$14>>2]|0; + $449 = (($447) - ($448))|0; + $$sink4 = $449; + } + $450 = ((($10)) + 4|0); + $451 = HEAP32[$450>>2]|0; + $452 = (($451) + ($$sink4))|0; + HEAP32[$450>>2] = $452; + $453 = HEAP32[$9>>2]|0; + $454 = ((($9)) + 4|0); + $455 = HEAP32[$454>>2]|0; + $456 = (($453) + ($455)|0); + $457 = ((($10)) + 4|0); + $458 = HEAP32[$457>>2]|0; + $459 = $458<<1; + $460 = ($459|0)<(0); + $461 = $460 << 31 >> 31; + $462 = (_sqlite3Fts5PutVarint($456,$459,$461)|0); + $463 = ((($9)) + 4|0); + $464 = HEAP32[$463>>2]|0; + $465 = (($464) + ($462))|0; + HEAP32[$463>>2] = $465; + $466 = HEAP32[$9>>2]|0; + $467 = ((($9)) + 4|0); + $468 = HEAP32[$467>>2]|0; + $469 = (($466) + ($468)|0); + $470 = HEAP32[$10>>2]|0; + $471 = ((($10)) + 4|0); + $472 = HEAP32[$471>>2]|0; + _memcpy(($469|0),($470|0),($472|0))|0; + $473 = ((($10)) + 4|0); + $474 = HEAP32[$473>>2]|0; + $475 = ((($9)) + 4|0); + $476 = HEAP32[$475>>2]|0; + $477 = (($476) + ($474))|0; + HEAP32[$475>>2] = $477; + _fts5DoclistIterNext($7); + _fts5DoclistIterNext($8); + $478 = ((($7)) + 16|0); + $479 = HEAP32[$478>>2]|0; + $480 = ($479|0)==(0|0); + if ($480) { + break; + } + $481 = ((($8)) + 16|0); + $482 = HEAP32[$481>>2]|0; + $483 = ($482|0)==(0|0); + if ($483) { + break; + } + } + $484 = ((($7)) + 16|0); + $485 = HEAP32[$484>>2]|0; + $486 = ($485|0)!=(0|0); + if ($486) { + $487 = HEAP32[$9>>2]|0; + $488 = ((($9)) + 4|0); + $489 = HEAP32[$488>>2]|0; + $490 = (($487) + ($489)|0); + $491 = ((($7)) + 8|0); + $492 = $491; + $493 = $492; + $494 = HEAP32[$493>>2]|0; + $495 = (($492) + 4)|0; + $496 = $495; + $497 = HEAP32[$496>>2]|0; + $498 = $6; + $499 = $498; + $500 = HEAP32[$499>>2]|0; + $501 = (($498) + 4)|0; + $502 = $501; + $503 = HEAP32[$502>>2]|0; + $504 = (_i64Subtract(($494|0),($497|0),($500|0),($503|0))|0); + $505 = tempRet0; + $506 = (_sqlite3Fts5PutVarint($490,$504,$505)|0); + $507 = ((($9)) + 4|0); + $508 = HEAP32[$507>>2]|0; + $509 = (($508) + ($506))|0; + HEAP32[$507>>2] = $509; + $510 = ((($7)) + 8|0); + $511 = $510; + $512 = $511; + $513 = HEAP32[$512>>2]|0; + $514 = (($511) + 4)|0; + $515 = $514; + $516 = HEAP32[$515>>2]|0; + $517 = $6; + $518 = $517; + HEAP32[$518>>2] = $513; + $519 = (($517) + 4)|0; + $520 = $519; + HEAP32[$520>>2] = $516; + $521 = HEAP32[$9>>2]|0; + $522 = ((($9)) + 4|0); + $523 = HEAP32[$522>>2]|0; + $524 = (($521) + ($523)|0); + $525 = ((($7)) + 16|0); + $526 = HEAP32[$525>>2]|0; + $527 = HEAP32[$7>>2]|0; + $528 = ((($7)) + 16|0); + $529 = HEAP32[$528>>2]|0; + $530 = $527; + $531 = $529; + $532 = (($530) - ($531))|0; + _memcpy(($524|0),($526|0),($532|0))|0; + $$sink12 = $7; + label = 29; + } else { + $533 = ((($8)) + 16|0); + $534 = HEAP32[$533>>2]|0; + $535 = ($534|0)!=(0|0); + if ($535) { + $536 = HEAP32[$9>>2]|0; + $537 = ((($9)) + 4|0); + $538 = HEAP32[$537>>2]|0; + $539 = (($536) + ($538)|0); + $540 = ((($8)) + 8|0); + $541 = $540; + $542 = $541; + $543 = HEAP32[$542>>2]|0; + $544 = (($541) + 4)|0; + $545 = $544; + $546 = HEAP32[$545>>2]|0; + $547 = $6; + $548 = $547; + $549 = HEAP32[$548>>2]|0; + $550 = (($547) + 4)|0; + $551 = $550; + $552 = HEAP32[$551>>2]|0; + $553 = (_i64Subtract(($543|0),($546|0),($549|0),($552|0))|0); + $554 = tempRet0; + $555 = (_sqlite3Fts5PutVarint($539,$553,$554)|0); + $556 = ((($9)) + 4|0); + $557 = HEAP32[$556>>2]|0; + $558 = (($557) + ($555))|0; + HEAP32[$556>>2] = $558; + $559 = ((($8)) + 8|0); + $560 = $559; + $561 = $560; + $562 = HEAP32[$561>>2]|0; + $563 = (($560) + 4)|0; + $564 = $563; + $565 = HEAP32[$564>>2]|0; + $566 = $6; + $567 = $566; + HEAP32[$567>>2] = $562; + $568 = (($566) + 4)|0; + $569 = $568; + HEAP32[$569>>2] = $565; + $570 = HEAP32[$9>>2]|0; + $571 = ((($9)) + 4|0); + $572 = HEAP32[$571>>2]|0; + $573 = (($570) + ($572)|0); + $574 = ((($8)) + 16|0); + $575 = HEAP32[$574>>2]|0; + $576 = HEAP32[$8>>2]|0; + $577 = ((($8)) + 16|0); + $578 = HEAP32[$577>>2]|0; + $579 = $576; + $580 = $578; + $581 = (($579) - ($580))|0; + _memcpy(($573|0),($575|0),($581|0))|0; + $$sink12 = $8; + label = 29; + } + } + if ((label|0) == 29) { + $582 = HEAP32[$$sink12>>2]|0; + $583 = ((($$sink12)) + 16|0); + $584 = HEAP32[$583>>2]|0; + $585 = $582; + $586 = $584; + $587 = (($585) - ($586))|0; + $588 = ((($9)) + 4|0); + $589 = HEAP32[$588>>2]|0; + $590 = (($589) + ($587))|0; + HEAP32[$588>>2] = $590; + } + $591 = HEAP32[$3>>2]|0; + $592 = ((($591)) + 36|0); + $593 = HEAP32[$4>>2]|0; + $594 = ((($9)) + 4|0); + $595 = HEAP32[$594>>2]|0; + $596 = HEAP32[$9>>2]|0; + _sqlite3Fts5BufferSet($592,$593,$595,$596); + _sqlite3Fts5BufferFree($10); + _sqlite3Fts5BufferFree($9); + STACKTOP = sp;return; +} +function _fts5AppendPoslist($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 20|0; + $6 = sp; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + HEAP32[$5>>2] = $0; + $10 = $6; + $11 = $10; + HEAP32[$11>>2] = $1; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = $4; + $14 = HEAP32[$7>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$9>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 36|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if (!($20)) { + STACKTOP = sp;return; + } + $21 = HEAP32[$8>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$9>>2]|0; + $25 = (($24) + 9)|0; + $26 = (($25) + 9)|0; + $27 = (($23) + ($26))|0; + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($27>>>0)<=($30>>>0); + if ($31) { + $44 = 0; + } else { + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 36|0); + $34 = HEAP32[$8>>2]|0; + $35 = HEAP32[$9>>2]|0; + $36 = (($35) + 9)|0; + $37 = (($36) + 9)|0; + $38 = HEAP32[$8>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (($37) + ($40))|0; + $42 = (_sqlite3Fts5BufferSize($33,$34,$41)|0); + $44 = $42; + } + $43 = (0)==($44|0); + if (!($43)) { + STACKTOP = sp;return; + } + $45 = HEAP32[$8>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$8>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = (($46) + ($49)|0); + $51 = $6; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (_sqlite3Fts5PutVarint($50,$53,$56)|0); + $58 = HEAP32[$8>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($60) + ($57))|0; + HEAP32[$59>>2] = $61; + $62 = HEAP32[$8>>2]|0; + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$8>>2]|0; + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = (($63) + ($66)|0); + $68 = HEAP32[$9>>2]|0; + $69 = $68<<1; + $70 = ($69|0)<(0); + $71 = $70 << 31 >> 31; + $72 = (_sqlite3Fts5PutVarint($67,$69,$71)|0); + $73 = HEAP32[$8>>2]|0; + $74 = ((($73)) + 4|0); + $75 = HEAP32[$74>>2]|0; + $76 = (($75) + ($72))|0; + HEAP32[$74>>2] = $76; + $77 = HEAP32[$8>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$8>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = (($78) + ($81)|0); + $83 = HEAP32[$7>>2]|0; + $84 = ((($83)) + 8|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$9>>2]|0; + _memcpy(($82|0),($85|0),($86|0))|0; + $87 = HEAP32[$9>>2]|0; + $88 = HEAP32[$8>>2]|0; + $89 = ((($88)) + 4|0); + $90 = HEAP32[$89>>2]|0; + $91 = (($90) + ($87))|0; + HEAP32[$89>>2] = $91; + STACKTOP = sp;return; +} +function _fts5IdxMalloc($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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 36|0); + $6 = HEAP32[$3>>2]|0; + $7 = (_sqlite3Fts5MallocZero($5,$6)|0); + STACKTOP = sp;return ($7|0); +} +function _fts5MultiIterEof($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 36|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + if ($7) { + $14 = 1; + $13 = $14&1; + STACKTOP = sp;return ($13|0); + } + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)!=(0); + $14 = $12; + $13 = $14&1; + STACKTOP = sp;return ($13|0); +} +function _fts5BufferSwap($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$5+8>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + ;HEAP32[$6>>2]=HEAP32[$7>>2]|0;HEAP32[$6+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$7+8>>2]|0; + $8 = HEAP32[$3>>2]|0; + ;HEAP32[$8>>2]=HEAP32[$4>>2]|0;HEAP32[$8+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; +} +function _fts5MultiIterNext2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 36|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if (!($12)) { + STACKTOP = sp;return; + } + while(1) { + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 72|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + HEAP32[$6>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 80|0); + $21 = HEAP32[$6>>2]|0; + $22 = (($20) + (($21*88)|0)|0); + HEAP32[$7>>2] = $22; + HEAP32[$8>>2] = 0; + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 24|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$7>>2]|0; + FUNCTION_TABLE_viii[$25 & 255]($26,$27,$8); + $28 = HEAP32[$7>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0|0); + $32 = HEAP32[$8>>2]|0; + $33 = ($32|0)!=(0); + $or$cond = $31 | $33; + if ($or$cond) { + label = 4; + } else { + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = (_fts5MultiIterAdvanceRowid($34,$35,$7)|0); + $37 = ($36|0)!=(0); + if ($37) { + label = 4; + } else { + $43 = HEAP32[$5>>2]|0; + HEAP32[$43>>2] = 0; + } + } + if ((label|0) == 4) { + label = 0; + $38 = HEAP32[$3>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = HEAP32[$6>>2]|0; + _fts5MultiIterAdvanced($38,$39,$40,1); + $41 = HEAP32[$4>>2]|0; + _fts5MultiIterSetEof($41); + $42 = HEAP32[$5>>2]|0; + HEAP32[$42>>2] = 1; + } + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$4>>2]|0; + $46 = (_fts5MultiIterIsEmpty($44,$45)|0); + $47 = ($46|0)!=(0); + if (!($47)) { + break; + } + } + STACKTOP = sp;return; +} +function _fts5MultiIterNew2($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$4>>2]|0; + $11 = (_fts5MultiIterAlloc($10,2)|0); + HEAP32[$8>>2] = $11; + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + $61 = HEAP32[$5>>2]|0; + _fts5DataRelease($61); + STACKTOP = sp;return; + } + $14 = HEAP32[$8>>2]|0; + $15 = ((($14)) + 80|0); + $16 = ((($15)) + 88|0); + HEAP32[$9>>2] = $16; + $17 = HEAP32[$9>>2]|0; + $18 = ((($17)) + 4|0); + HEAP32[$18>>2] = 1; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)>(0); + if ($22) { + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$9>>2]|0; + $25 = ((($24)) + 12|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 72|0); + $30 = (_sqlite3Fts5GetVarint($27,$29)|0); + $31 = $30&255; + $32 = HEAP32[$9>>2]|0; + $33 = ((($32)) + 20|0); + HEAP32[$33>>2] = $31; + $34 = HEAP32[$5>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$9>>2]|0; + $38 = ((($37)) + 40|0); + HEAP32[$38>>2] = $36; + $39 = HEAP32[$8>>2]|0; + $40 = ((($39)) + 72|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($41)) + 4|0); + HEAP16[$42>>1] = 1; + $43 = HEAP32[$6>>2]|0; + $44 = ($43|0)!=(0); + if ($44) { + $45 = HEAP32[$8>>2]|0; + $46 = ((($45)) + 56|0); + HEAP32[$46>>2] = 1; + $47 = HEAP32[$9>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = $49 | 2; + HEAP32[$48>>2] = $50; + $51 = HEAP32[$4>>2]|0; + $52 = HEAP32[$9>>2]|0; + _fts5SegIterReverseInitPage($51,$52); + } else { + $53 = HEAP32[$4>>2]|0; + $54 = HEAP32[$9>>2]|0; + _fts5SegIterLoadNPos($53,$54); + } + HEAP32[$5>>2] = 0; + } else { + $55 = HEAP32[$8>>2]|0; + $56 = ((($55)) + 16|0); + HEAP8[$56>>0] = 1; + } + $57 = HEAP32[$4>>2]|0; + $58 = HEAP32[$9>>2]|0; + _fts5SegIterSetNext($57,$58); + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$7>>2]|0; + HEAP32[$60>>2] = $59; + $61 = HEAP32[$5>>2]|0; + _fts5DataRelease($61); + STACKTOP = sp;return; +} +function _fts5MultiIterAlloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 2; + while(1) { + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ($6|0)<($7|0); + if (!($8)) { + break; + } + $9 = HEAP32[$5>>2]|0; + $10 = $9<<1; + HEAP32[$5>>2] = $10; + } + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = (($12) - 1)|0; + $14 = ($13*88)|0; + $15 = (168 + ($14))|0; + $16 = HEAP32[$5>>2]|0; + $17 = $16<<2; + $18 = (($15) + ($17))|0; + $19 = (_fts5IdxMalloc($11,$18)|0); + HEAP32[$4>>2] = $19; + $20 = HEAP32[$4>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { + $36 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($36|0); + } + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 52|0); + HEAP32[$24>>2] = $22; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 80|0); + $27 = HEAP32[$5>>2]|0; + $28 = (($26) + (($27*88)|0)|0); + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 72|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 24|0); + HEAP32[$33>>2] = $31; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 48|0); + HEAP32[$35>>2] = 140; + $36 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($36|0); +} +function _fts5SegIterSetNext($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fts5SegIterNext$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 2; + $8 = ($7|0)!=(0); + if ($8) { + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 24|0); + HEAP32[$10>>2] = 240; + STACKTOP = sp;return; + } else { + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 48|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(1); + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 24|0); + $fts5SegIterNext$sink = $15 ? 241 : 242; + HEAP32[$17>>2] = $fts5SegIterNext$sink; + STACKTOP = sp;return; + } +} +function _fts5SegIterNext_Reverse($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 44|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)>(0); + if (!($12)) { + $69 = HEAP32[$3>>2]|0; + $70 = HEAP32[$4>>2]|0; + _fts5SegIterReverseNewPage($69,$70); + STACKTOP = sp;return; + } + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 44|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($19) + -1)|0; + HEAP32[$18>>2] = $20; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 52|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 44|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($23) + ($26<<2)|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 20|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$4>>2]|0; + _fts5SegIterLoadNPos($31,$32); + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 20|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$7>>2] = $35; + $36 = HEAP32[$3>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 48|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)!=(1); + if ($40) { + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 80|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$7>>2]|0; + $45 = (($44) + ($43))|0; + HEAP32[$7>>2] = $45; + } + $46 = HEAP32[$6>>2]|0; + $47 = HEAP32[$7>>2]|0; + $48 = (($46) + ($47)|0); + (_sqlite3Fts5GetVarint($48,$8)|0); + $49 = $8; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 72|0); + $57 = $56; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (_i64Subtract(($59|0),($62|0),($51|0),($54|0))|0); + $64 = tempRet0; + $65 = $56; + $66 = $65; + HEAP32[$66>>2] = $63; + $67 = (($65) + 4)|0; + $68 = $67; + HEAP32[$68>>2] = $64; + STACKTOP = sp;return; +} +function _fts5SegIterNext_None($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 20|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $14; + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0|0); + do { + if ($17) { + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 8|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($18|0)>=($23|0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + _fts5SegIterNextPage($25,$26); + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 36|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0); + if ($30) { + STACKTOP = sp;return; + } + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0|0); + if ($34) { + STACKTOP = sp;return; + } else { + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 72|0); + $37 = $36; + $38 = $37; + HEAP32[$38>>2] = 0; + $39 = (($37) + 4)|0; + $40 = $39; + HEAP32[$40>>2] = 0; + HEAP32[$6>>2] = 4; + break; + } + } + } + } while(0); + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($41|0)<($44|0); + $46 = HEAP32[$4>>2]|0; + L11: do { + if ($45) { + $47 = ((($46)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$6>>2]|0; + $51 = (($49) + ($50)|0); + $52 = (_sqlite3Fts5GetVarint($51,$7)|0); + $53 = $52&255; + $54 = HEAP32[$6>>2]|0; + $55 = (($54) + ($53))|0; + HEAP32[$6>>2] = $55; + $56 = HEAP32[$6>>2]|0; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 20|0); + HEAP32[$58>>2] = $56; + $59 = $7; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$4>>2]|0; + $66 = ((($65)) + 72|0); + $67 = $66; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (_i64Add(($69|0),($72|0),($61|0),($64|0))|0); + $74 = tempRet0; + $75 = $66; + $76 = $75; + HEAP32[$76>>2] = $73; + $77 = (($75) + 4)|0; + $78 = $77; + HEAP32[$78>>2] = $74; + } else { + $79 = ((($46)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = $80 & 1; + $82 = ($81|0)==(0); + do { + if ($82) { + $83 = HEAP32[$4>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = ($84|0)!=(0|0); + if ($85) { + HEAP32[$8>>2] = 0; + $86 = HEAP32[$6>>2]|0; + $87 = HEAP32[$4>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$88>>2]|0; + $90 = (_fts5LeafFirstTermOff($89)|0); + $91 = ($86|0)!=($90|0); + if ($91) { + $92 = HEAP32[$4>>2]|0; + $93 = ((($92)) + 12|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$6>>2]|0; + $97 = (($95) + ($96)|0); + $98 = (_sqlite3Fts5GetVarint32($97,$8)|0); + $99 = HEAP32[$6>>2]|0; + $100 = (($99) + ($98))|0; + HEAP32[$6>>2] = $100; } - if ((label|0) == 8) { - label = 0; - $80 = HEAP32[$db>>2]|0; - $81 = ((($80)) + 248|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)!=(0); - if ($83) { - break L3; - } - $84 = HEAP32[$db>>2]|0; - $85 = ((($84)) + 304|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)!=(0|0); - if ($87) { - $88 = HEAP32[$nVmStep>>2]|0; - $89 = HEAP32[$nProgressLimit>>2]|0; - $90 = ($88>>>0)>=($89>>>0); - if ($90) { - $91 = HEAP32[$nVmStep>>2]|0; - $92 = HEAP32[$db>>2]|0; - $93 = ((($92)) + 312|0); - $94 = HEAP32[$93>>2]|0; - $95 = (($91) + ($94))|0; - $96 = HEAP32[$nVmStep>>2]|0; - $97 = HEAP32[$db>>2]|0; - $98 = ((($97)) + 312|0); - $99 = HEAP32[$98>>2]|0; - $100 = (($96>>>0) % ($99>>>0))&-1; - $101 = (($95) - ($100))|0; - HEAP32[$nProgressLimit>>2] = $101; - $102 = HEAP32[$db>>2]|0; - $103 = ((($102)) + 304|0); - $104 = HEAP32[$103>>2]|0; - $105 = HEAP32[$db>>2]|0; - $106 = ((($105)) + 308|0); - $107 = HEAP32[$106>>2]|0; - $108 = (FUNCTION_TABLE_ii[$104 & 255]($107)|0); - $109 = ($108|0)!=(0); - if ($109) { - label = 12; - break; - } - } - } + $101 = HEAP32[$6>>2]|0; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 20|0); + HEAP32[$103>>2] = $101; + $104 = HEAP32[$3>>2]|0; + $105 = HEAP32[$4>>2]|0; + $106 = HEAP32[$8>>2]|0; + _fts5SegIterLoadTerm($104,$105,$106); + } else { + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + $107 = HEAP32[$3>>2]|0; + $108 = ((($107)) + 12|0); + $109 = HEAP32[$108>>2]|0; + _sqlite3Fts5HashScanNext($109); + $110 = HEAP32[$3>>2]|0; + $111 = ((($110)) + 12|0); + $112 = HEAP32[$111>>2]|0; + _sqlite3Fts5HashScanEntry($112,$10,$9,$11); + $113 = HEAP32[$9>>2]|0; + $114 = ($113|0)==(0|0); + if ($114) { + break; + } + $115 = HEAP32[$9>>2]|0; + $116 = HEAP32[$4>>2]|0; + $117 = ((($116)) + 12|0); + $118 = HEAP32[$117>>2]|0; + HEAP32[$118>>2] = $115; + $119 = HEAP32[$11>>2]|0; + $120 = HEAP32[$4>>2]|0; + $121 = ((($120)) + 12|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($122)) + 4|0); + HEAP32[$123>>2] = $119; + $124 = HEAP32[$11>>2]|0; + $125 = HEAP32[$4>>2]|0; + $126 = ((($125)) + 12|0); + $127 = HEAP32[$126>>2]|0; + $128 = ((($127)) + 8|0); + HEAP32[$128>>2] = $124; + $129 = HEAP32[$11>>2]|0; + $130 = HEAP32[$4>>2]|0; + $131 = ((($130)) + 40|0); + HEAP32[$131>>2] = $129; + $132 = HEAP32[$3>>2]|0; + $133 = ((($132)) + 36|0); + $134 = HEAP32[$4>>2]|0; + $135 = ((($134)) + 60|0); + $136 = HEAP32[$10>>2]|0; + $137 = (_strlen($136)|0); + $138 = HEAP32[$10>>2]|0; + _sqlite3Fts5BufferSet($133,$135,$137,$138); + $139 = HEAP32[$9>>2]|0; + $140 = HEAP32[$4>>2]|0; + $141 = ((($140)) + 72|0); + $142 = (_sqlite3Fts5GetVarint($139,$141)|0); + $143 = $142&255; + $144 = HEAP32[$4>>2]|0; + $145 = ((($144)) + 20|0); + HEAP32[$145>>2] = $143; + } + $146 = HEAP32[$5>>2]|0; + $147 = ($146|0)!=(0|0); + if (!($147)) { + break L11; + } + $148 = HEAP32[$5>>2]|0; + HEAP32[$148>>2] = 1; + break L11; + } + } while(0); + $151 = HEAP32[$4>>2]|0; + $152 = ((($151)) + 12|0); + $153 = HEAP32[$152>>2]|0; + _fts5DataRelease($153); + $154 = HEAP32[$4>>2]|0; + $155 = ((($154)) + 12|0); + HEAP32[$155>>2] = 0; + STACKTOP = sp;return; + } + } while(0); + $149 = HEAP32[$3>>2]|0; + $150 = HEAP32[$4>>2]|0; + _fts5SegIterLoadNPos($149,$150); + STACKTOP = sp;return; +} +function _fts5SegIterNext($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$6>>2] = $19; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$10>>2] = $21; + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$11>>2] = $24; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 20|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 80|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($27) + ($30))|0; + HEAP32[$7>>2] = $31; + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$11>>2]|0; + $34 = ($32|0)<($33|0); + L1: do { + if ($34) { + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 40|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($35|0)>=($38|0); + if ($39) { + HEAP32[$8>>2] = 1; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = (_fts5LeafFirstTermOff($41)|0); + $43 = ($40|0)!=($42|0); + if ($43) { + $44 = HEAP32[$10>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = (($44) + ($45)|0); + $47 = (_sqlite3Fts5GetVarint32($46,$9)|0); + $48 = HEAP32[$7>>2]|0; + $49 = (($48) + ($47))|0; + HEAP32[$7>>2] = $49; + } + } else { + $50 = HEAP32[$10>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = (($50) + ($51)|0); + $53 = (_sqlite3Fts5GetVarint($52,$12)|0); + $54 = $53&255; + $55 = HEAP32[$7>>2]|0; + $56 = (($55) + ($54))|0; + HEAP32[$7>>2] = $56; + $57 = $12; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 72|0); + $65 = $64; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (($65) + 4)|0; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (_i64Add(($67|0),($70|0),($59|0),($62|0))|0); + $72 = tempRet0; + $73 = $64; + $74 = $73; + HEAP32[$74>>2] = $71; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; + } + $77 = HEAP32[$7>>2]|0; + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 20|0); + HEAP32[$79>>2] = $77; + } else { + $80 = HEAP32[$4>>2]|0; + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==(0|0); + if ($82) { + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = $85 & 1; + $87 = (0)==($86|0); + if ($87) { + $88 = HEAP32[$3>>2]|0; + $89 = ((($88)) + 12|0); + $90 = HEAP32[$89>>2]|0; + _sqlite3Fts5HashScanNext($90); + $91 = HEAP32[$3>>2]|0; + $92 = ((($91)) + 12|0); + $93 = HEAP32[$92>>2]|0; + _sqlite3Fts5HashScanEntry($93,$14,$13,$15); + } + $94 = HEAP32[$13>>2]|0; + $95 = ($94|0)==(0|0); + if ($95) { + $96 = HEAP32[$4>>2]|0; + $97 = ((($96)) + 12|0); + $98 = HEAP32[$97>>2]|0; + _fts5DataRelease($98); + $99 = HEAP32[$4>>2]|0; + $100 = ((($99)) + 12|0); + HEAP32[$100>>2] = 0; + break; + } else { + $101 = HEAP32[$13>>2]|0; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 12|0); + $104 = HEAP32[$103>>2]|0; + HEAP32[$104>>2] = $101; + $105 = HEAP32[$15>>2]|0; + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = ((($108)) + 4|0); + HEAP32[$109>>2] = $105; + $110 = HEAP32[$15>>2]|0; + $111 = HEAP32[$4>>2]|0; + $112 = ((($111)) + 12|0); + $113 = HEAP32[$112>>2]|0; + $114 = ((($113)) + 8|0); + HEAP32[$114>>2] = $110; + $115 = HEAP32[$15>>2]|0; + $116 = (($115) + 1)|0; + $117 = HEAP32[$4>>2]|0; + $118 = ((($117)) + 40|0); + HEAP32[$118>>2] = $116; + $119 = HEAP32[$3>>2]|0; + $120 = ((($119)) + 36|0); + $121 = HEAP32[$4>>2]|0; + $122 = ((($121)) + 60|0); + $123 = HEAP32[$14>>2]|0; + $124 = (_strlen($123)|0); + $125 = HEAP32[$14>>2]|0; + _sqlite3Fts5BufferSet($120,$122,$124,$125); + $126 = HEAP32[$13>>2]|0; + $127 = HEAP32[$4>>2]|0; + $128 = ((($127)) + 72|0); + $129 = (_sqlite3Fts5GetVarint($126,$128)|0); + $130 = $129&255; + $131 = HEAP32[$4>>2]|0; + $132 = ((($131)) + 20|0); + HEAP32[$132>>2] = $130; + $133 = HEAP32[$5>>2]|0; + HEAP32[$133>>2] = 1; + break; + } + } + HEAP32[$7>>2] = 0; + while(1) { + $134 = HEAP32[$7>>2]|0; + $135 = ($134|0)==(0); + if (!($135)) { + break L1; + } + $136 = HEAP32[$3>>2]|0; + $137 = HEAP32[$4>>2]|0; + _fts5SegIterNextPage($136,$137); + $138 = HEAP32[$4>>2]|0; + $139 = ((($138)) + 12|0); + $140 = HEAP32[$139>>2]|0; + HEAP32[$6>>2] = $140; + $141 = HEAP32[$6>>2]|0; + $142 = ($141|0)==(0|0); + if ($142) { + break L1; + } + $143 = HEAP32[$6>>2]|0; + $144 = HEAP32[$143>>2]|0; + $145 = (_fts5GetU16($144)|0); + $146 = $145&65535; + HEAP32[$7>>2] = $146; + $147 = ($146|0)!=(0); + if ($147) { + $148 = HEAP32[$7>>2]|0; + $149 = HEAP32[$6>>2]|0; + $150 = ((($149)) + 8|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($148|0)<($151|0); + if ($152) { + $153 = HEAP32[$6>>2]|0; + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$7>>2]|0; + $156 = (($154) + ($155)|0); + $157 = HEAP32[$4>>2]|0; + $158 = ((($157)) + 72|0); + $159 = (_sqlite3Fts5GetVarint($156,$158)|0); + $160 = $159&255; + $161 = HEAP32[$7>>2]|0; + $162 = (($161) + ($160))|0; + HEAP32[$7>>2] = $162; + $163 = HEAP32[$7>>2]|0; + $164 = HEAP32[$4>>2]|0; + $165 = ((($164)) + 20|0); + HEAP32[$165>>2] = $163; + $166 = HEAP32[$6>>2]|0; + $167 = ((($166)) + 4|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[$6>>2]|0; + $170 = ((($169)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($168|0)>($171|0); + if ($172) { + $173 = HEAP32[$6>>2]|0; + $174 = ((($173)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = HEAP32[$6>>2]|0; + $177 = HEAP32[$176>>2]|0; + $178 = HEAP32[$6>>2]|0; + $179 = ((($178)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = (($177) + ($180)|0); + $182 = HEAP32[$4>>2]|0; + $183 = ((($182)) + 40|0); + $184 = (_sqlite3Fts5GetVarint32($181,$183)|0); + $185 = (($175) + ($184))|0; + $186 = HEAP32[$4>>2]|0; + $187 = ((($186)) + 36|0); + HEAP32[$187>>2] = $185; } - $7344 = HEAP32[$pOp>>2]|0; - $7345 = ((($7344)) + 20|0); - HEAP32[$pOp>>2] = $7345; + } else { + label = 20; + } + } else { + label = 20; + } + if ((label|0) == 20) { + label = 0; + $188 = HEAP32[$6>>2]|0; + $189 = ((($188)) + 4|0); + $190 = HEAP32[$189>>2]|0; + $191 = HEAP32[$6>>2]|0; + $192 = ((($191)) + 8|0); + $193 = HEAP32[$192>>2]|0; + $194 = ($190|0)>($193|0); + if ($194) { + $195 = HEAP32[$6>>2]|0; + $196 = ((($195)) + 8|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$6>>2]|0; + $199 = HEAP32[$198>>2]|0; + $200 = HEAP32[$6>>2]|0; + $201 = ((($200)) + 8|0); + $202 = HEAP32[$201>>2]|0; + $203 = (($199) + ($202)|0); + $204 = (_sqlite3Fts5GetVarint32($203,$7)|0); + $205 = (($197) + ($204))|0; + $206 = HEAP32[$4>>2]|0; + $207 = ((($206)) + 36|0); + HEAP32[$207>>2] = $205; + $208 = HEAP32[$7>>2]|0; + $209 = HEAP32[$4>>2]|0; + $210 = ((($209)) + 20|0); + HEAP32[$210>>2] = $208; + $211 = HEAP32[$7>>2]|0; + $212 = HEAP32[$4>>2]|0; + $213 = ((($212)) + 40|0); + HEAP32[$213>>2] = $211; + HEAP32[$8>>2] = 1; + } + } + $214 = HEAP32[$7>>2]|0; + $215 = HEAP32[$6>>2]|0; + $216 = ((($215)) + 8|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($214|0)>($217|0); + if ($218) { + break; + } + } + $219 = HEAP32[$3>>2]|0; + $220 = ((($219)) + 36|0); + HEAP32[$220>>2] = 267; + STACKTOP = sp;return; + } + } while(0); + $221 = HEAP32[$4>>2]|0; + $222 = ((($221)) + 12|0); + $223 = HEAP32[$222>>2]|0; + $224 = ($223|0)!=(0|0); + if (!($224)) { + STACKTOP = sp;return; + } + $225 = HEAP32[$8>>2]|0; + $226 = ($225|0)!=(0); + $227 = HEAP32[$4>>2]|0; + if (!($226)) { + $245 = ((($227)) + 12|0); + $246 = HEAP32[$245>>2]|0; + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[$4>>2]|0; + $249 = ((($248)) + 20|0); + $250 = HEAP32[$249>>2]|0; + $251 = (($250) + 1)|0; + HEAP32[$249>>2] = $251; + $252 = (($247) + ($250)|0); + $253 = HEAP8[$252>>0]|0; + $254 = $253&255; + HEAP32[$16>>2] = $254; + $255 = HEAP32[$16>>2]|0; + $256 = $255 & 128; + $257 = ($256|0)!=(0); + if ($257) { + $258 = HEAP32[$4>>2]|0; + $259 = ((($258)) + 20|0); + $260 = HEAP32[$259>>2]|0; + $261 = (($260) + -1)|0; + HEAP32[$259>>2] = $261; + $262 = HEAP32[$4>>2]|0; + $263 = ((($262)) + 12|0); + $264 = HEAP32[$263>>2]|0; + $265 = HEAP32[$264>>2]|0; + $266 = HEAP32[$4>>2]|0; + $267 = ((($266)) + 20|0); + $268 = HEAP32[$267>>2]|0; + $269 = (($265) + ($268)|0); + $270 = (_sqlite3Fts5GetVarint32($269,$16)|0); + $271 = HEAP32[$4>>2]|0; + $272 = ((($271)) + 20|0); + $273 = HEAP32[$272>>2]|0; + $274 = (($273) + ($270))|0; + HEAP32[$272>>2] = $274; + } + $275 = HEAP32[$16>>2]|0; + $276 = $275 & 1; + $277 = $276&255; + $278 = HEAP32[$4>>2]|0; + $279 = ((($278)) + 84|0); + HEAP8[$279>>0] = $277; + $280 = HEAP32[$16>>2]|0; + $281 = $280 >> 1; + $282 = HEAP32[$4>>2]|0; + $283 = ((($282)) + 80|0); + HEAP32[$283>>2] = $281; + STACKTOP = sp;return; + } + $228 = ((($227)) + 4|0); + $229 = HEAP32[$228>>2]|0; + $230 = $229 & 1; + $231 = ($230|0)!=(0); + if ($231) { + $232 = HEAP32[$4>>2]|0; + $233 = ((($232)) + 12|0); + $234 = HEAP32[$233>>2]|0; + _fts5DataRelease($234); + $235 = HEAP32[$4>>2]|0; + $236 = ((($235)) + 12|0); + HEAP32[$236>>2] = 0; + STACKTOP = sp;return; + } + $237 = HEAP32[$3>>2]|0; + $238 = HEAP32[$4>>2]|0; + $239 = HEAP32[$9>>2]|0; + _fts5SegIterLoadTerm($237,$238,$239); + $240 = HEAP32[$3>>2]|0; + $241 = HEAP32[$4>>2]|0; + _fts5SegIterLoadNPos($240,$241); + $242 = HEAP32[$5>>2]|0; + $243 = ($242|0)!=(0|0); + if (!($243)) { + STACKTOP = sp;return; + } + $244 = HEAP32[$5>>2]|0; + HEAP32[$244>>2] = 1; + STACKTOP = sp;return; +} +function _fts5LeafFirstTermOff($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($4) + ($7)|0); + (_sqlite3Fts5GetVarint32($8,$2)|0); + $9 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _sqlite3Fts5HashScanNext($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = $6; + STACKTOP = sp;return; +} +function _sqlite3Fts5HashScanEntry($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$8>>2] = $12; + $13 = ($12|0)!=(0|0); + if ($13) { + $14 = HEAP32[$8>>2]|0; + $15 = ((($14)) + 40|0); + $16 = (_strlen($15)|0); + HEAP32[$9>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$8>>2]|0; + _fts5HashAddPoslistSize($17,$18); + $19 = HEAP32[$8>>2]|0; + $20 = ((($19)) + 40|0); + $21 = HEAP32[$5>>2]|0; + HEAP32[$21>>2] = $20; + $22 = HEAP32[$8>>2]|0; + $23 = ((($22)) + 40|0); + $24 = HEAP32[$9>>2]|0; + $25 = (($24) + 1)|0; + $26 = (($23) + ($25)|0); + $27 = HEAP32[$6>>2]|0; + HEAP32[$27>>2] = $26; + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$9>>2]|0; + $32 = (40 + ($31))|0; + $33 = (($32) + 1)|0; + $34 = (($30) - ($33))|0; + $35 = HEAP32[$7>>2]|0; + HEAP32[$35>>2] = $34; + STACKTOP = sp;return; + } else { + $36 = HEAP32[$5>>2]|0; + HEAP32[$36>>2] = 0; + $37 = HEAP32[$6>>2]|0; + HEAP32[$37>>2] = 0; + $38 = HEAP32[$7>>2]|0; + HEAP32[$38>>2] = 0; + STACKTOP = sp;return; + } +} +function _fts5SegIterLoadTerm($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $13; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 20|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$7>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$7>>2]|0; + $19 = (($17) + ($18)|0); + $20 = (_sqlite3Fts5GetVarint32($19,$8)|0); + $21 = HEAP32[$7>>2]|0; + $22 = (($21) + ($20))|0; + HEAP32[$7>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$8>>2]|0; + $25 = (($23) + ($24))|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($25|0)>($30|0); + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 36|0); + HEAP32[$33>>2] = 267; + STACKTOP = sp;return; + } + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 60|0); + $37 = ((($36)) + 4|0); + HEAP32[$37>>2] = $34; + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 36|0); + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 60|0); + $42 = HEAP32[$8>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$7>>2]|0; + $45 = (($43) + ($44)|0); + _sqlite3Fts5BufferAppendBlob($39,$41,$42,$45); + $46 = HEAP32[$8>>2]|0; + $47 = HEAP32[$7>>2]|0; + $48 = (($47) + ($46))|0; + HEAP32[$7>>2] = $48; + $49 = HEAP32[$7>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 32|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 28|0); + HEAP32[$56>>2] = $54; + $57 = HEAP32[$7>>2]|0; + $58 = HEAP32[$4>>2]|0; + $59 = ((($58)) + 20|0); + HEAP32[$59>>2] = $57; + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 36|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 12|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = ($62|0)>=($67|0); + if ($68) { + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73) + 1)|0; + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 40|0); + HEAP32[$76>>2] = $74; + } else { + $77 = HEAP32[$6>>2]|0; + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 36|0); + $80 = HEAP32[$79>>2]|0; + $81 = (($77) + ($80)|0); + $82 = (_sqlite3Fts5GetVarint32($81,$9)|0); + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 36|0); + $85 = HEAP32[$84>>2]|0; + $86 = (($85) + ($82))|0; + HEAP32[$84>>2] = $86; + $87 = HEAP32[$9>>2]|0; + $88 = HEAP32[$4>>2]|0; + $89 = ((($88)) + 40|0); + $90 = HEAP32[$89>>2]|0; + $91 = (($90) + ($87))|0; + HEAP32[$89>>2] = $91; + } + $92 = HEAP32[$3>>2]|0; + $93 = HEAP32[$4>>2]|0; + _fts5SegIterLoadRowid($92,$93); + STACKTOP = sp;return; +} +function _fts5SegIterLoadRowid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($13|0)>=($18|0); + do { + if ($19) { + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$3>>2]|0; + _fts5SegIterNextPage($20,$21); + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0|0); + if (!($25)) { + HEAP32[$5>>2] = 4; + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$34>>2]|0; + HEAP32[$4>>2] = $35; + break; + } + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 36|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if (!($29)) { + STACKTOP = sp;return; + } + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 36|0); + HEAP32[$31>>2] = 267; + STACKTOP = sp;return; + } + } while(0); + $36 = HEAP32[$4>>2]|0; + $37 = HEAP32[$5>>2]|0; + $38 = (($36) + ($37)|0); + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 72|0); + $41 = (_sqlite3Fts5GetVarint($38,$40)|0); + $42 = $41&255; + $43 = HEAP32[$5>>2]|0; + $44 = (($43) + ($42))|0; + HEAP32[$5>>2] = $44; + $45 = HEAP32[$5>>2]|0; + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + 20|0); + HEAP32[$47>>2] = $45; + STACKTOP = sp;return; +} +function _fts5HashAddPoslistSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0); + if (!($11)) { + STACKTOP = sp;return; + } + $12 = HEAP32[$3>>2]|0; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(1); + $16 = HEAP32[$3>>2]|0; + do { + if ($15) { + $17 = ((($16)) + 24|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)!=(0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$22>>2] = $24; + $25 = (($20) + ($23)|0); + HEAP8[$25>>0] = 0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 25|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)!=(0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($33) + 1)|0; + HEAP32[$32>>2] = $34; + $35 = (($30) + ($33)|0); + HEAP8[$35>>0] = 0; + } + } + } else { + $36 = ((($16)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP32[$39>>2]|0; + $41 = (($37) - ($40))|0; + $42 = (($41) - 1)|0; + HEAP32[$5>>2] = $42; + $43 = HEAP32[$5>>2]|0; + $44 = $43<<1; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 24|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = (($44) + ($48))|0; + HEAP32[$6>>2] = $49; + $50 = HEAP32[$6>>2]|0; + $51 = ($50|0)<=(127); + $52 = HEAP32[$6>>2]|0; + if ($51) { + $53 = $52&255; + $54 = HEAP32[$4>>2]|0; + $55 = HEAP32[$3>>2]|0; + $56 = ((($55)) + 12|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($54) + ($57)|0); + HEAP8[$58>>0] = $53; + break; + } else { + $59 = (_sqlite3Fts5GetVarintLen($52)|0); + HEAP32[$7>>2] = $59; + $60 = HEAP32[$4>>2]|0; + $61 = HEAP32[$3>>2]|0; + $62 = ((($61)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$7>>2]|0; + $65 = (($63) + ($64))|0; + $66 = (($60) + ($65)|0); + $67 = HEAP32[$4>>2]|0; + $68 = HEAP32[$3>>2]|0; + $69 = ((($68)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = (($70) + 1)|0; + $72 = (($67) + ($71)|0); + $73 = HEAP32[$5>>2]|0; + _memmove(($66|0),($72|0),($73|0))|0; + $74 = HEAP32[$4>>2]|0; + $75 = HEAP32[$3>>2]|0; + $76 = ((($75)) + 12|0); + $77 = HEAP32[$76>>2]|0; + $78 = (($74) + ($77)|0); + $79 = HEAP32[$6>>2]|0; + $80 = ($79|0)<(0); + $81 = $80 << 31 >> 31; + (_sqlite3Fts5PutVarint($78,$79,$81)|0); + $82 = HEAP32[$7>>2]|0; + $83 = (($82) - 1)|0; + $84 = HEAP32[$3>>2]|0; + $85 = ((($84)) + 16|0); + $86 = HEAP32[$85>>2]|0; + $87 = (($86) + ($83))|0; + HEAP32[$85>>2] = $87; + break; + } + } + } while(0); + $88 = HEAP32[$3>>2]|0; + $89 = ((($88)) + 12|0); + HEAP32[$89>>2] = 0; + $90 = HEAP32[$3>>2]|0; + $91 = ((($90)) + 24|0); + HEAP8[$91>>0] = 0; + $92 = HEAP32[$3>>2]|0; + $93 = ((($92)) + 25|0); + HEAP8[$93>>0] = 0; + STACKTOP = sp;return; +} +function _sqlite3Fts5GetVarintLen($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3>>>0)<(16384); + do { + if ($4) { + HEAP32[$1>>2] = 2; + } else { + $5 = HEAP32[$2>>2]|0; + $6 = ($5>>>0)<(2097152); + if ($6) { + HEAP32[$1>>2] = 3; + break; + } + $7 = HEAP32[$2>>2]|0; + $8 = ($7>>>0)<(268435456); + if ($8) { + HEAP32[$1>>2] = 4; + break; + } else { + HEAP32[$1>>2] = 5; + break; + } + } + } while(0); + $9 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _fts5IterSetOutputs_Noop($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + STACKTOP = sp;return; +} +function _fts5MultiIterIsEmpty($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $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; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 80|0); + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 72|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = (($6) + (($12*88)|0)|0); + HEAP32[$4>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $27 = 0; + $26 = $27&1; + STACKTOP = sp;return ($26|0); + } + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { + $27 = 0; + $26 = $27&1; + STACKTOP = sp;return ($26|0); + } + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 80|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + $27 = $25; + $26 = $27&1; + STACKTOP = sp;return ($26|0); +} +function _sqlite3Fts5MallocZero($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = HEAP32[$3>>2]|0; + $9 = (_sqlite3_malloc($8)|0); + HEAP32[$4>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)==(0|0); + $12 = HEAP32[$3>>2]|0; + $13 = ($12|0)>(0); + $or$cond = $11 & $13; + if ($or$cond) { + $14 = HEAP32[$2>>2]|0; + HEAP32[$14>>2] = 7; + break; + } else { + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$3>>2]|0; + _memset(($15|0),0,($16|0))|0; + break; + } + } + } while(0); + $17 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _fts5DoclistIterInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0;HEAP32[$4+28>>2]=0|0; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = $6; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($10) + ($13)|0); + $15 = HEAP32[$3>>2]|0; + HEAP32[$15>>2] = $14; + $16 = HEAP32[$3>>2]|0; + _fts5DoclistIterNext($16); + STACKTOP = sp;return; +} +function _fts5DoclistIterNext($0) { + $0 = $0|0; + var $$sink = 0, $$sink2 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp; + $4 = sp + 8|0; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($7) + ($10)|0); + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($11) + ($14)|0); + HEAP32[$2>>2] = $15; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ($16>>>0)>=($18>>>0); + if ($19) { + $20 = HEAP32[$1>>2]|0; + $$sink = 0;$$sink2 = $20; + $68 = ((($$sink2)) + 16|0); + HEAP32[$68>>2] = $$sink; + STACKTOP = sp;return; + } + $21 = HEAP32[$2>>2]|0; + $22 = (_sqlite3Fts5GetVarint($21,$3)|0); + $23 = $22&255; + $24 = HEAP32[$2>>2]|0; + $25 = (($24) + ($23)|0); + HEAP32[$2>>2] = $25; + $26 = $3; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 8|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),($28|0),($31|0))|0); + $41 = tempRet0; + $42 = $33; + $43 = $42; + HEAP32[$43>>2] = $40; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = HEAP32[$2>>2]|0; + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = $48 & 128; + $50 = ($49|0)!=(0); + $51 = HEAP32[$2>>2]|0; + if ($50) { + $52 = (_sqlite3Fts5GetVarint32($51,$4)|0); + $53 = HEAP32[$1>>2]|0; + $54 = ((($53)) + 24|0); + HEAP32[$54>>2] = $52; + $55 = HEAP32[$4>>2]|0; + $56 = $55 >> 1; + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 20|0); + HEAP32[$58>>2] = $56; + } else { + $59 = HEAP8[$51>>0]|0; + $60 = $59&255; + $61 = $60 >> 1; + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 20|0); + HEAP32[$63>>2] = $61; + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 24|0); + HEAP32[$65>>2] = 1; + } + $66 = HEAP32[$2>>2]|0; + $67 = HEAP32[$1>>2]|0; + $$sink = $66;$$sink2 = $67; + $68 = ((($$sink2)) + 16|0); + HEAP32[$68>>2] = $$sink; + STACKTOP = sp;return; +} +function _sqlite3Fts5PoslistSafeAppend($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $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, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $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; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $7 = $6; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + $11 = $6; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $16 & 2147483647; + $18 = HEAP32[$5>>2]|0; + $19 = $18; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = $24 & 2147483647; + $26 = (0)!=(0); + $27 = ($17|0)!=($25|0); + $28 = $26 | $27; + if ($28) { + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($33) + 1)|0; + HEAP32[$32>>2] = $34; + $35 = (($30) + ($33)|0); + HEAP8[$35>>0] = 1; + $36 = HEAP32[$4>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (($37) + ($40)|0); + $42 = $6; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (_bitshift64Ashr(($44|0),($47|0),32)|0); + $49 = tempRet0; + $50 = (_sqlite3Fts5PutVarint($41,$48,$49)|0); + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 4|0); + $53 = HEAP32[$52>>2]|0; + $54 = (($53) + ($50))|0; + HEAP32[$52>>2] = $54; + $55 = $6; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = $60 & 2147483647; + $62 = HEAP32[$5>>2]|0; + $63 = $62; + $64 = $63; + HEAP32[$64>>2] = 0; + $65 = (($63) + 4)|0; + $66 = $65; + HEAP32[$66>>2] = $61; + } + $67 = HEAP32[$4>>2]|0; + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = (($68) + ($71)|0); + $73 = $6; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$5>>2]|0; + $80 = $79; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (($80) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (_i64Subtract(($75|0),($78|0),($82|0),($85|0))|0); + $87 = tempRet0; + $88 = (_i64Add(($86|0),($87|0),2,0)|0); + $89 = tempRet0; + $90 = (_sqlite3Fts5PutVarint($72,$88,$89)|0); + $91 = HEAP32[$4>>2]|0; + $92 = ((($91)) + 4|0); + $93 = HEAP32[$92>>2]|0; + $94 = (($93) + ($90))|0; + HEAP32[$92>>2] = $94; + $95 = $6; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$5>>2]|0; + $102 = $101; + $103 = $102; + HEAP32[$103>>2] = $97; + $104 = (($102) + 4)|0; + $105 = $104; + HEAP32[$105>>2] = $100; + STACKTOP = sp;return; +} +function _sqlite3Fts5BufferAppendVarint($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $7 = $6; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + 9)|0; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($14>>>0)<=($17>>>0); + if (!($18)) { + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (9 + ($23))|0; + $25 = (_sqlite3Fts5BufferSize($19,$20,$24)|0); + $26 = ($25|0)!=(0); + if ($26) { + STACKTOP = sp;return; + } + } + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($28) + ($31)|0); + $33 = $6; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3Fts5PutVarint($32,$35,$38)|0); + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = (($42) + ($39))|0; + HEAP32[$41>>2] = $43; + STACKTOP = sp;return; +} +function _fts5NextRowid($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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($10|0)>=($13|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP32[$15>>2] = -1; + STACKTOP = sp;return; + } else { + $16 = HEAP32[$6>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = (($18) + ($19)|0); + $21 = (_sqlite3Fts5GetVarint($20,$7)|0); + $22 = $21&255; + $23 = (($16) + ($22))|0; + $24 = HEAP32[$4>>2]|0; + HEAP32[$24>>2] = $23; + $25 = $7; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = $31; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (_i64Add(($34|0),($37|0),($27|0),($30|0))|0); + $39 = tempRet0; + $40 = $31; + $41 = $40; + HEAP32[$41>>2] = $38; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + STACKTOP = sp;return; + } +} +function _fts5StructureRef($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = (($3) + 1)|0; + HEAP32[$2>>2] = $4; + STACKTOP = sp;return; +} +function _fts5SegIterHashInit($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + $15 = HEAP32[$6>>2]|0; + $16 = ($15|0)==(0|0); + if ($16) { + label = 3; + } else { + $17 = HEAP32[$8>>2]|0; + $18 = $17 & 8; + $19 = ($18|0)!=(0); + if ($19) { + label = 3; + } else { + $36 = HEAP32[$9>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = $38 | 1; + HEAP32[$37>>2] = $39; + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 12|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$7>>2]|0; + (_sqlite3Fts5HashQuery($42,$43,$44,$10,$11)|0); + $45 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $45; + $46 = HEAP32[$7>>2]|0; + HEAP32[$13>>2] = $46; + } + } + if ((label|0) == 3) { + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$7>>2]|0; + $25 = (_sqlite3Fts5HashScanInit($22,$23,$24)|0); + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 36|0); + HEAP32[$27>>2] = $25; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + _sqlite3Fts5HashScanEntry($30,$12,$10,$11); + $31 = HEAP32[$12>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = HEAP32[$12>>2]|0; + $34 = (_strlen($33)|0); + $35 = $34; + } else { + $35 = 0; + } + HEAP32[$13>>2] = $35; + } + $47 = HEAP32[$10>>2]|0; + $48 = ($47|0)!=(0|0); + do { + if ($48) { + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 36|0); + $51 = HEAP32[$9>>2]|0; + $52 = ((($51)) + 60|0); + $53 = HEAP32[$13>>2]|0; + $54 = HEAP32[$12>>2]|0; + _sqlite3Fts5BufferSet($50,$52,$53,$54); + $55 = HEAP32[$5>>2]|0; + $56 = (_fts5IdxMalloc($55,12)|0); + HEAP32[$14>>2] = $56; + $57 = HEAP32[$14>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + STACKTOP = sp;return; + } + $59 = HEAP32[$10>>2]|0; + $60 = HEAP32[$14>>2]|0; + HEAP32[$60>>2] = $59; + $61 = HEAP32[$11>>2]|0; + $62 = HEAP32[$14>>2]|0; + $63 = ((($62)) + 8|0); + HEAP32[$63>>2] = $61; + $64 = HEAP32[$14>>2]|0; + $65 = ((($64)) + 4|0); + HEAP32[$65>>2] = $61; + $66 = HEAP32[$14>>2]|0; + $67 = HEAP32[$9>>2]|0; + $68 = ((($67)) + 12|0); + HEAP32[$68>>2] = $66; + $69 = HEAP32[$14>>2]|0; + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$9>>2]|0; + $72 = ((($71)) + 72|0); + $73 = (_sqlite3Fts5GetVarint($70,$72)|0); + $74 = $73&255; + $75 = HEAP32[$9>>2]|0; + $76 = ((($75)) + 20|0); + HEAP32[$76>>2] = $74; + $77 = HEAP32[$14>>2]|0; + $78 = ((($77)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$9>>2]|0; + $81 = ((($80)) + 40|0); + HEAP32[$81>>2] = $79; + $82 = HEAP32[$8>>2]|0; + $83 = $82 & 2; + $84 = ($83|0)!=(0); + if ($84) { + $85 = HEAP32[$9>>2]|0; + $86 = ((($85)) + 4|0); + $87 = HEAP32[$86>>2]|0; + $88 = $87 | 2; + HEAP32[$86>>2] = $88; + $89 = HEAP32[$5>>2]|0; + $90 = HEAP32[$9>>2]|0; + _fts5SegIterReverseInitPage($89,$90); + break; + } else { + $91 = HEAP32[$5>>2]|0; + $92 = HEAP32[$9>>2]|0; + _fts5SegIterLoadNPos($91,$92); + break; + } + } + } while(0); + $93 = HEAP32[$5>>2]|0; + $94 = HEAP32[$9>>2]|0; + _fts5SegIterSetNext($93,$94); + STACKTOP = sp;return; +} +function _fts5SegIterInit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$4>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 36|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if ($13) { + $14 = HEAP32[$5>>2]|0; + dest=$14; stop=dest+88|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$5>>2]|0; + _fts5SegIterSetNext($15,$16); + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$5>>2]|0; + HEAP32[$18>>2] = $17; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) - 1)|0; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 8|0); + HEAP32[$24>>2] = $22; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$5>>2]|0; + _fts5SegIterNextPage($25,$26); + } + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 36|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)==(0); + if (!($30)) { + STACKTOP = sp;return; + } + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 20|0); + HEAP32[$32>>2] = 4; + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($37) + 1)|0; + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 36|0); + HEAP32[$40>>2] = $38; + $41 = HEAP32[$3>>2]|0; + $42 = HEAP32[$5>>2]|0; + _fts5SegIterLoadTerm($41,$42,0); + $43 = HEAP32[$3>>2]|0; + $44 = HEAP32[$5>>2]|0; + _fts5SegIterLoadNPos($43,$44); + STACKTOP = sp;return; +} +function _fts5SegIterSeekInit($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$12>>2] = 1; + $17 = HEAP32[$9>>2]|0; + $18 = $17 & 8; + HEAP32[$13>>2] = $18; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + $19 = HEAP32[$11>>2]|0; + dest=$19; stop=dest+88|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $20 = HEAP32[$10>>2]|0; + $21 = HEAP32[$11>>2]|0; + HEAP32[$21>>2] = $20; + $22 = HEAP32[$6>>2]|0; + $23 = (_fts5IdxSelectStmt($22)|0); + HEAP32[$15>>2] = $23; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0); + if ($27) { + STACKTOP = sp;return; + } + $28 = HEAP32[$15>>2]|0; + $29 = HEAP32[$10>>2]|0; + $30 = HEAP32[$29>>2]|0; + (_sqlite3_bind_int($28,1,$30)|0); + $31 = HEAP32[$15>>2]|0; + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$8>>2]|0; + (_sqlite3_bind_blob($31,2,$32,$33,0)|0); + $34 = HEAP32[$15>>2]|0; + $35 = (_sqlite3_step($34)|0); + $36 = (100)==($35|0); + if ($36) { + $37 = HEAP32[$15>>2]|0; + $38 = (_sqlite3_column_int($37,0)|0); + $39 = ($38|0)<(0); + $40 = $39 << 31 >> 31; + $41 = $16; + $42 = $41; + HEAP32[$42>>2] = $38; + $43 = (($41) + 4)|0; + $44 = $43; + HEAP32[$44>>2] = $40; + $45 = $16; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (_bitshift64Ashr(($47|0),($50|0),1)|0); + $52 = tempRet0; + HEAP32[$12>>2] = $51; + $53 = $16; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $55 & 1; + HEAP32[$14>>2] = $59; + } + $60 = HEAP32[$15>>2]|0; + $61 = (_sqlite3_reset($60)|0); + $62 = HEAP32[$6>>2]|0; + $63 = ((($62)) + 36|0); + HEAP32[$63>>2] = $61; + $64 = HEAP32[$12>>2]|0; + $65 = HEAP32[$10>>2]|0; + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = ($64|0)<($67|0); + if ($68) { + $69 = HEAP32[$10>>2]|0; + $70 = ((($69)) + 4|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$12>>2] = $71; + HEAP32[$14>>2] = 0; + } + $72 = HEAP32[$12>>2]|0; + $73 = (($72) - 1)|0; + $74 = HEAP32[$11>>2]|0; + $75 = ((($74)) + 8|0); + HEAP32[$75>>2] = $73; + $76 = HEAP32[$6>>2]|0; + $77 = HEAP32[$11>>2]|0; + _fts5SegIterNextPage($76,$77); + $78 = HEAP32[$11>>2]|0; + $79 = ((($78)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($80|0)!=(0|0); + if ($81) { + $82 = HEAP32[$6>>2]|0; + $83 = HEAP32[$13>>2]|0; + $84 = HEAP32[$11>>2]|0; + $85 = HEAP32[$7>>2]|0; + $86 = HEAP32[$8>>2]|0; + _fts5LeafSeek($82,$83,$84,$85,$86); + } + $87 = HEAP32[$6>>2]|0; + $88 = ((($87)) + 36|0); + $89 = HEAP32[$88>>2]|0; + $90 = ($89|0)==(0); + $91 = HEAP32[$13>>2]|0; + $92 = ($91|0)==(0); + $or$cond = $90 & $92; + if ($or$cond) { + $93 = HEAP32[$11>>2]|0; + $94 = ((($93)) + 4|0); + $95 = HEAP32[$94>>2]|0; + $96 = $95 | 1; + HEAP32[$94>>2] = $96; + $97 = HEAP32[$11>>2]|0; + $98 = ((($97)) + 12|0); + $99 = HEAP32[$98>>2]|0; + $100 = ($99|0)!=(0|0); + if ($100) { + $101 = HEAP32[$9>>2]|0; + $102 = $101 & 2; + $103 = ($102|0)!=(0); + if ($103) { + $104 = HEAP32[$11>>2]|0; + $105 = ((($104)) + 4|0); + $106 = HEAP32[$105>>2]|0; + $107 = $106 | 2; + HEAP32[$105>>2] = $107; + } + $108 = HEAP32[$14>>2]|0; + $109 = ($108|0)!=(0); + if ($109) { + $110 = HEAP32[$6>>2]|0; + $111 = HEAP32[$11>>2]|0; + _fts5SegIterLoadDlidx($110,$111); + } + $112 = HEAP32[$9>>2]|0; + $113 = $112 & 2; + $114 = ($113|0)!=(0); + if ($114) { + $115 = HEAP32[$6>>2]|0; + $116 = HEAP32[$11>>2]|0; + _fts5SegIterReverse($115,$116); + } + } + } + $117 = HEAP32[$6>>2]|0; + $118 = HEAP32[$11>>2]|0; + _fts5SegIterSetNext($117,$118); + STACKTOP = sp;return; +} +function _fts5IdxSelectStmt($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $1 = sp + 12|0; + $2 = sp + 8|0; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 60|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 60|0); + $21 = HEAP32[$20>>2]|0; + STACKTOP = sp;return ($21|0); + } + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 60|0); + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$vararg_buffer>>2] = $14; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $17; + $18 = (_sqlite3_mprintf(47827,$vararg_buffer)|0); + (_fts5IndexPrepareStmt($9,$11,$18)|0); + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 60|0); + $21 = HEAP32[$20>>2]|0; + STACKTOP = sp;return ($21|0); +} +function _fts5LeafSeek($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $5 = sp + 68|0; + $6 = sp + 64|0; + $7 = sp + 60|0; + $8 = sp + 56|0; + $9 = sp + 52|0; + $10 = sp + 48|0; + $11 = sp + 44|0; + $12 = sp + 40|0; + $13 = sp + 36|0; + $14 = sp + 32|0; + $15 = sp + 28|0; + $16 = sp + 24|0; + $17 = sp + 20|0; + $18 = sp + 16|0; + $19 = sp + 12|0; + $20 = sp + 8|0; + $21 = sp + 4|0; + $22 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$11>>2] = $26; + $27 = HEAP32[$7>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$12>>2] = $31; + $32 = HEAP32[$7>>2]|0; + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$13>>2] = $36; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + HEAP32[$19>>2] = 0; + $37 = HEAP32[$12>>2]|0; + HEAP32[$18>>2] = $37; + $38 = HEAP32[$11>>2]|0; + $39 = HEAP32[$18>>2]|0; + $40 = (($38) + ($39)|0); + $41 = (_sqlite3Fts5GetVarint32($40,$17)|0); + $42 = HEAP32[$18>>2]|0; + $43 = (($42) + ($41))|0; + HEAP32[$18>>2] = $43; + $44 = HEAP32[$17>>2]|0; + HEAP32[$10>>2] = $44; + $45 = HEAP32[$10>>2]|0; + $46 = HEAP32[$13>>2]|0; + $47 = ($45|0)>($46|0); + if ($47) { + $48 = HEAP32[$5>>2]|0; + $49 = ((($48)) + 36|0); + HEAP32[$49>>2] = 267; + STACKTOP = sp;return; + } + while(1) { + $50 = HEAP32[$11>>2]|0; + $51 = HEAP32[$10>>2]|0; + $52 = (($51) + 1)|0; + HEAP32[$10>>2] = $52; + $53 = (($50) + ($51)|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + HEAP32[$16>>2] = $55; + $56 = HEAP32[$16>>2]|0; + $57 = $56 & 128; + $58 = ($57|0)!=(0); + if ($58) { + $59 = HEAP32[$10>>2]|0; + $60 = (($59) + -1)|0; + HEAP32[$10>>2] = $60; + $61 = HEAP32[$11>>2]|0; + $62 = HEAP32[$10>>2]|0; + $63 = (($61) + ($62)|0); + $64 = (_sqlite3Fts5GetVarint32($63,$16)|0); + $65 = HEAP32[$10>>2]|0; + $66 = (($65) + ($64))|0; + HEAP32[$10>>2] = $66; + } + $67 = HEAP32[$15>>2]|0; + $68 = HEAP32[$14>>2]|0; + $69 = ($67|0)<($68|0); + if ($69) { + label = 24; + break; + } + $70 = HEAP32[$15>>2]|0; + $71 = HEAP32[$14>>2]|0; + $72 = ($70|0)==($71|0); + if ($72) { + $73 = HEAP32[$16>>2]|0; + $74 = HEAP32[$9>>2]|0; + $75 = HEAP32[$14>>2]|0; + $76 = (($74) - ($75))|0; + $77 = ($73|0)<($76|0); + if ($77) { + $78 = HEAP32[$16>>2]|0; + $82 = $78; + } else { + $79 = HEAP32[$9>>2]|0; + $80 = HEAP32[$14>>2]|0; + $81 = (($79) - ($80))|0; + $82 = $81; + } + HEAP32[$20>>2] = $82; + HEAP32[$21>>2] = 0; + while(1) { + $83 = HEAP32[$21>>2]|0; + $84 = HEAP32[$20>>2]|0; + $85 = ($83|0)<($84|0); + if (!($85)) { + break; + } + $86 = HEAP32[$11>>2]|0; + $87 = HEAP32[$10>>2]|0; + $88 = HEAP32[$21>>2]|0; + $89 = (($87) + ($88))|0; + $90 = (($86) + ($89)|0); + $91 = HEAP8[$90>>0]|0; + $92 = $91&255; + $93 = HEAP32[$8>>2]|0; + $94 = HEAP32[$14>>2]|0; + $95 = HEAP32[$21>>2]|0; + $96 = (($94) + ($95))|0; + $97 = (($93) + ($96)|0); + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $100 = ($92|0)!=($99|0); + if ($100) { + break; + } + $101 = HEAP32[$21>>2]|0; + $102 = (($101) + 1)|0; + HEAP32[$21>>2] = $102; + } + $103 = HEAP32[$21>>2]|0; + $104 = HEAP32[$14>>2]|0; + $105 = (($104) + ($103))|0; + HEAP32[$14>>2] = $105; + $106 = HEAP32[$9>>2]|0; + $107 = HEAP32[$14>>2]|0; + $108 = ($106|0)==($107|0); + $109 = HEAP32[$21>>2]|0; + $110 = HEAP32[$16>>2]|0; + if ($108) { + label = 15; + break; + } + $112 = ($109|0)<($110|0); + if ($112) { + $113 = HEAP32[$11>>2]|0; + $114 = HEAP32[$10>>2]|0; + $115 = HEAP32[$21>>2]|0; + $116 = (($114) + ($115))|0; + $117 = (($113) + ($116)|0); + $118 = HEAP8[$117>>0]|0; + $119 = $118&255; + $120 = HEAP32[$8>>2]|0; + $121 = HEAP32[$14>>2]|0; + $122 = (($120) + ($121)|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = ($119|0)>($124|0); + if ($125) { + label = 24; + break; + } + } + } + $126 = HEAP32[$18>>2]|0; + $127 = HEAP32[$13>>2]|0; + $128 = ($126|0)>=($127|0); + if ($128) { + label = 19; + break; + } + $129 = HEAP32[$11>>2]|0; + $130 = HEAP32[$18>>2]|0; + $131 = (($129) + ($130)|0); + $132 = (_sqlite3Fts5GetVarint32($131,$15)|0); + $133 = HEAP32[$18>>2]|0; + $134 = (($133) + ($132))|0; + HEAP32[$18>>2] = $134; + $135 = HEAP32[$15>>2]|0; + $136 = HEAP32[$17>>2]|0; + $137 = (($136) + ($135))|0; + HEAP32[$17>>2] = $137; + $138 = HEAP32[$17>>2]|0; + HEAP32[$10>>2] = $138; + $139 = HEAP32[$10>>2]|0; + $140 = HEAP32[$13>>2]|0; + $141 = ($139|0)>=($140|0); + if ($141) { + label = 21; + break; + } + $144 = HEAP32[$11>>2]|0; + $145 = HEAP32[$10>>2]|0; + $146 = (($145) + 1)|0; + HEAP32[$10>>2] = $146; + $147 = (($144) + ($145)|0); + $148 = HEAP8[$147>>0]|0; + $149 = $148&255; + HEAP32[$15>>2] = $149; + $150 = HEAP32[$15>>2]|0; + $151 = $150 & 128; + $152 = ($151|0)!=(0); + if (!($152)) { + continue; + } + $153 = HEAP32[$10>>2]|0; + $154 = (($153) + -1)|0; + HEAP32[$10>>2] = $154; + $155 = HEAP32[$11>>2]|0; + $156 = HEAP32[$10>>2]|0; + $157 = (($155) + ($156)|0); + $158 = (_sqlite3Fts5GetVarint32($157,$15)|0); + $159 = HEAP32[$10>>2]|0; + $160 = (($159) + ($158))|0; + HEAP32[$10>>2] = $160; + } + if ((label|0) == 15) { + $111 = ($109|0)==($110|0); + if (!($111)) { + label = 24; + } + } + else if ((label|0) == 19) { + HEAP32[$19>>2] = 1; + label = 24; + } + else if ((label|0) == 21) { + $142 = HEAP32[$5>>2]|0; + $143 = ((($142)) + 36|0); + HEAP32[$143>>2] = 267; + STACKTOP = sp;return; + } + do { + if ((label|0) == 24) { + $161 = HEAP32[$6>>2]|0; + $162 = ($161|0)==(0); + if ($162) { + $163 = HEAP32[$7>>2]|0; + $164 = ((($163)) + 12|0); + $165 = HEAP32[$164>>2]|0; + _fts5DataRelease($165); + $166 = HEAP32[$7>>2]|0; + $167 = ((($166)) + 12|0); + HEAP32[$167>>2] = 0; + STACKTOP = sp;return; + } + $168 = HEAP32[$19>>2]|0; + $169 = ($168|0)!=(0); + if ($169) { + while(1) { + $170 = HEAP32[$5>>2]|0; + $171 = HEAP32[$7>>2]|0; + _fts5SegIterNextPage($170,$171); + $172 = HEAP32[$7>>2]|0; + $173 = ((($172)) + 12|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + label = 37; + break; } - switch (label|0) { - case 12: { - HEAP32[$rc>>2] = 9; - break L1; - break; - } - case 25: { - $302 = HEAP32[$pOp>>2]|0; - $303 = ((($302)) + 4|0); - $304 = HEAP32[$303>>2]|0; - $305 = HEAP32[$0>>2]|0; - $306 = ((($305)) + 40|0); - HEAP32[$306>>2] = $304; - $307 = HEAP32[$pOp>>2]|0; - $308 = ((($307)) + 8|0); - $309 = HEAP32[$308>>2]|0; - $310 = $309&255; - $311 = HEAP32[$0>>2]|0; - $312 = ((($311)) + 142|0); - HEAP8[$312>>0] = $310; - $313 = HEAP32[$pcx>>2]|0; - $314 = HEAP32[$0>>2]|0; - $315 = ((($314)) + 36|0); - HEAP32[$315>>2] = $313; - $316 = HEAP32[$0>>2]|0; - $317 = ((($316)) + 40|0); - $318 = HEAP32[$317>>2]|0; - $319 = ($318|0)!=(0); - if ($319) { - $320 = HEAP32[$pOp>>2]|0; - $321 = ((($320)) + 3|0); - $322 = HEAP8[$321>>0]|0; - $323 = ($322<<24>>24)!=(0); - $324 = HEAP32[$0>>2]|0; - $325 = HEAP32[$pOp>>2]|0; - if ($323) { - $326 = ((($325)) + 3|0); - $327 = HEAP8[$326>>0]|0; - $328 = $327&255; - $329 = (($328) - 1)|0; - $330 = (5572 + ($329<<2)|0); - $331 = HEAP32[$330>>2]|0; - HEAP32[$vararg_buffer>>2] = $331; - _sqlite3VdbeError($324,39873,$vararg_buffer); - $332 = HEAP32[$pOp>>2]|0; - $333 = ((($332)) + 16|0); - $334 = HEAP32[$333>>2]|0; - $335 = ($334|0)!=(0|0); - if ($335) { - $336 = HEAP32[$db>>2]|0; - $337 = HEAP32[$0>>2]|0; - $338 = ((($337)) + 108|0); - $339 = HEAP32[$338>>2]|0; - $340 = HEAP32[$pOp>>2]|0; - $341 = ((($340)) + 16|0); - $342 = HEAP32[$341>>2]|0; - HEAP32[$vararg_buffer32>>2] = $339; - $vararg_ptr35 = ((($vararg_buffer32)) + 4|0); - HEAP32[$vararg_ptr35>>2] = $342; - $343 = (_sqlite3MPrintf($336,39894,$vararg_buffer32)|0); - $344 = HEAP32[$0>>2]|0; - $345 = ((($344)) + 108|0); - HEAP32[$345>>2] = $343; - } - } else { - $346 = ((($325)) + 16|0); - $347 = HEAP32[$346>>2]|0; - HEAP32[$vararg_buffer36>>2] = $347; - _sqlite3VdbeError($324,18391,$vararg_buffer36); - } - $348 = HEAP32[$pOp>>2]|0; - $349 = ((($348)) + 4|0); - $350 = HEAP32[$349>>2]|0; - $351 = HEAP32[$pcx>>2]|0; - $352 = HEAP32[$0>>2]|0; - $353 = ((($352)) + 176|0); - $354 = HEAP32[$353>>2]|0; - $355 = HEAP32[$0>>2]|0; - $356 = ((($355)) + 108|0); - $357 = HEAP32[$356>>2]|0; - HEAP32[$vararg_buffer39>>2] = $351; - $vararg_ptr42 = ((($vararg_buffer39)) + 4|0); - HEAP32[$vararg_ptr42>>2] = $354; - $vararg_ptr43 = ((($vararg_buffer39)) + 8|0); - HEAP32[$vararg_ptr43>>2] = $357; - _sqlite3_log($350,39901,$vararg_buffer39); - } - $358 = HEAP32[$0>>2]|0; - $359 = (_sqlite3VdbeHalt($358)|0); - HEAP32[$rc>>2] = $359; - $360 = HEAP32[$rc>>2]|0; - $361 = ($360|0)==(5); - $362 = HEAP32[$0>>2]|0; - $363 = ((($362)) + 40|0); - if ($361) { - HEAP32[$363>>2] = 5; - $7388 = $lastRowid; - $7389 = $7388; - $7390 = HEAP32[$7389>>2]|0; - $7391 = (($7388) + 4)|0; - $7392 = $7391; - $7393 = HEAP32[$7392>>2]|0; - $7394 = HEAP32[$db>>2]|0; - $7395 = ((($7394)) + 32|0); - $7396 = $7395; - $7397 = $7396; - HEAP32[$7397>>2] = $7390; - $7398 = (($7396) + 4)|0; - $7399 = $7398; - HEAP32[$7399>>2] = $7393; - $7400 = HEAP32[$nVmStep>>2]|0; - $7401 = HEAP32[$0>>2]|0; - $7402 = ((($7401)) + 156|0); - $7403 = ((($7402)) + 16|0); - $7404 = HEAP32[$7403>>2]|0; - $7405 = (($7404) + ($7400))|0; - HEAP32[$7403>>2] = $7405; - $7406 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7406|0); - } else { - $364 = HEAP32[$363>>2]|0; - $365 = ($364|0)!=(0); - $366 = $365 ? 1 : 101; - HEAP32[$rc>>2] = $366; - $7388 = $lastRowid; - $7389 = $7388; - $7390 = HEAP32[$7389>>2]|0; - $7391 = (($7388) + 4)|0; - $7392 = $7391; - $7393 = HEAP32[$7392>>2]|0; - $7394 = HEAP32[$db>>2]|0; - $7395 = ((($7394)) + 32|0); - $7396 = $7395; - $7397 = $7396; - HEAP32[$7397>>2] = $7390; - $7398 = (($7396) + 4)|0; - $7399 = $7398; - HEAP32[$7399>>2] = $7393; - $7400 = HEAP32[$nVmStep>>2]|0; - $7401 = HEAP32[$0>>2]|0; - $7402 = ((($7401)) + 156|0); - $7403 = ((($7402)) + 16|0); - $7404 = HEAP32[$7403>>2]|0; - $7405 = (($7404) + ($7400))|0; - HEAP32[$7403>>2] = $7405; - $7406 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7406|0); - } - break; - } - case 64: { - $678 = HEAP32[$db>>2]|0; - $679 = ((($678)) + 304|0); - $680 = HEAP32[$679>>2]|0; - $681 = ($680|0)!=(0|0); - if ($681) { - $682 = HEAP32[$nVmStep>>2]|0; - $683 = HEAP32[$nProgressLimit>>2]|0; - $684 = ($682>>>0)>=($683>>>0); - if ($684) { - $685 = HEAP32[$db>>2]|0; - $686 = ((($685)) + 304|0); - $687 = HEAP32[$686>>2]|0; - $688 = HEAP32[$db>>2]|0; - $689 = ((($688)) + 308|0); - $690 = HEAP32[$689>>2]|0; - $691 = (FUNCTION_TABLE_ii[$687 & 255]($690)|0); - $692 = ($691|0)!=(0); - if ($692) { - HEAP32[$rc>>2] = 9; - break L1; - } - } - } - $693 = HEAP32[$0>>2]|0; - $694 = (_sqlite3VdbeCheckFk($693,0)|0); - HEAP32[$rc>>2] = $694; - $695 = (0)!=($694|0); - if ($695) { - break L1; - } - $696 = HEAP32[$0>>2]|0; - $697 = (_sqlite3VdbeCloseStatement($696,1)|0); - HEAP32[$rc>>2] = $697; - $698 = HEAP32[$0>>2]|0; - $699 = ((($698)) + 32|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + 2)|0; - $702 = $701 | 1; - $703 = HEAP32[$0>>2]|0; - $704 = ((($703)) + 32|0); - HEAP32[$704>>2] = $702; - $705 = HEAP32[$pOp>>2]|0; - $706 = ((($705)) + 4|0); - $707 = HEAP32[$706>>2]|0; - $708 = HEAP32[$aMem>>2]|0; - $709 = (($708) + (($707*40)|0)|0); - $710 = HEAP32[$0>>2]|0; - $711 = ((($710)) + 104|0); - HEAP32[$711>>2] = $709; - HEAP32[$pMem>>2] = $709; - HEAP32[$i>>2] = 0; - while(1) { - $712 = HEAP32[$i>>2]|0; - $713 = HEAP32[$pOp>>2]|0; - $714 = ((($713)) + 8|0); - $715 = HEAP32[$714>>2]|0; - $716 = ($712|0)<($715|0); - if (!($716)) { - break; - } - $717 = HEAP32[$i>>2]|0; - $718 = HEAP32[$pMem>>2]|0; - $719 = (($718) + (($717*40)|0)|0); - $720 = ((($719)) + 8|0); - $721 = HEAP16[$720>>1]|0; - $722 = $721&65535; - $723 = $722 & 4096; - $724 = ($723|0)!=(0); - if ($724) { - $725 = HEAP32[$i>>2]|0; - $726 = HEAP32[$pMem>>2]|0; - $727 = (($726) + (($725*40)|0)|0); - $728 = (_sqlite3VdbeMemMakeWriteable($727)|0); - $729 = ($728|0)!=(0); - if ($729) { - label = 889; - break L1; - } - } - $730 = HEAP32[$i>>2]|0; - $731 = HEAP32[$pMem>>2]|0; - $732 = (($731) + (($730*40)|0)|0); - (_sqlite3VdbeMemNulTerminate($732)|0); - $733 = HEAP32[$i>>2]|0; - $734 = (($733) + 1)|0; - HEAP32[$i>>2] = $734; - } - $735 = HEAP32[$db>>2]|0; - $736 = ((($735)) + 69|0); - $737 = HEAP8[$736>>0]|0; - $738 = ($737<<24>>24)!=(0); - if ($738) { - label = 889; - break L1; - } - $739 = HEAP32[$db>>2]|0; - $740 = ((($739)) + 76|0); - $741 = HEAP8[$740>>0]|0; - $742 = $741&255; - $743 = $742 & 4; - $744 = ($743|0)!=(0); - if ($744) { - $745 = HEAP32[$db>>2]|0; - $746 = ((($745)) + 184|0); - $747 = HEAP32[$746>>2]|0; - $748 = HEAP32[$db>>2]|0; - $749 = ((($748)) + 188|0); - $750 = HEAP32[$749>>2]|0; - $751 = HEAP32[$0>>2]|0; - (FUNCTION_TABLE_iiiii[$747 & 255](4,$750,$751,0)|0); - } - $752 = HEAP32[$pOp>>2]|0; - $753 = HEAP32[$aOp>>2]|0; - $754 = $752; - $755 = $753; - $756 = (($754) - ($755))|0; - $757 = (($756|0) / 20)&-1; - $758 = (($757) + 1)|0; - $759 = HEAP32[$0>>2]|0; - $760 = ((($759)) + 36|0); - HEAP32[$760>>2] = $758; - HEAP32[$rc>>2] = 100; - $7388 = $lastRowid; - $7389 = $7388; - $7390 = HEAP32[$7389>>2]|0; - $7391 = (($7388) + 4)|0; - $7392 = $7391; - $7393 = HEAP32[$7392>>2]|0; - $7394 = HEAP32[$db>>2]|0; - $7395 = ((($7394)) + 32|0); - $7396 = $7395; - $7397 = $7396; - HEAP32[$7397>>2] = $7390; - $7398 = (($7396) + 4)|0; - $7399 = $7398; - HEAP32[$7399>>2] = $7393; - $7400 = HEAP32[$nVmStep>>2]|0; - $7401 = HEAP32[$0>>2]|0; - $7402 = ((($7401)) + 156|0); - $7403 = ((($7402)) + 16|0); - $7404 = HEAP32[$7403>>2]|0; - $7405 = (($7404) + ($7400))|0; - HEAP32[$7403>>2] = $7405; - $7406 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7406|0); - break; - } - case 159: { - HEAP32[$rc>>2] = 20; - break L1; - break; - } - case 267: { - $2411 = (_sqlite3CorruptError(79835)|0); - HEAP32[$rc>>2] = $2411; - break L1; - break; - } - case 286: { - $2564 = HEAP32[$pC>>2]|0; - $2565 = ((($2564)) + 72|0); - $2566 = HEAP32[$2565>>2]|0; - $2567 = ($2566|0)==(0|0); - if ($2567) { - _sqlite3VdbeMemRelease($sMem); - } - $2568 = (_sqlite3CorruptError(79894)|0); - HEAP32[$rc>>2] = $2568; - break L1; - break; - } - case 370: { - $3182 = HEAP32[$pOp>>2]|0; - $3183 = HEAP32[$aOp>>2]|0; - $3184 = $3182; - $3185 = $3183; - $3186 = (($3184) - ($3185))|0; - $3187 = (($3186|0) / 20)&-1; - $3188 = HEAP32[$0>>2]|0; - $3189 = ((($3188)) + 36|0); - HEAP32[$3189>>2] = $3187; - $3190 = HEAP32[$db>>2]|0; - $3191 = ((($3190)) + 67|0); - HEAP8[$3191>>0] = 0; - HEAP32[$rc>>2] = 5; - $3192 = HEAP32[$0>>2]|0; - $3193 = ((($3192)) + 40|0); - HEAP32[$3193>>2] = 5; - $7388 = $lastRowid; - $7389 = $7388; - $7390 = HEAP32[$7389>>2]|0; - $7391 = (($7388) + 4)|0; - $7392 = $7391; - $7393 = HEAP32[$7392>>2]|0; - $7394 = HEAP32[$db>>2]|0; - $7395 = ((($7394)) + 32|0); - $7396 = $7395; - $7397 = $7396; - HEAP32[$7397>>2] = $7390; - $7398 = (($7396) + 4)|0; - $7399 = $7398; - HEAP32[$7399>>2] = $7393; - $7400 = HEAP32[$nVmStep>>2]|0; - $7401 = HEAP32[$0>>2]|0; - $7402 = ((($7401)) + 156|0); - $7403 = ((($7402)) + 16|0); - $7404 = HEAP32[$7403>>2]|0; - $7405 = (($7404) + ($7400))|0; - HEAP32[$7403>>2] = $7405; - $7406 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7406|0); - break; - } - case 393: { - $3335 = HEAP32[$pOp>>2]|0; - $3336 = ((($3335)) + 4|0); - $3337 = HEAP32[$3336>>2]|0; - HEAP32[$desiredAutoCommit>>2] = $3337; - $3338 = HEAP32[$pOp>>2]|0; - $3339 = ((($3338)) + 8|0); - $3340 = HEAP32[$3339>>2]|0; - HEAP32[$iRollback>>2] = $3340; - $3341 = HEAP32[$desiredAutoCommit>>2]|0; - $3342 = HEAP32[$db>>2]|0; - $3343 = ((($3342)) + 67|0); - $3344 = HEAP8[$3343>>0]|0; - $3345 = $3344&255; - $3346 = ($3341|0)!=($3345|0); - if (!($3346)) { - $3389 = HEAP32[$0>>2]|0; - $3390 = HEAP32[$desiredAutoCommit>>2]|0; - $3391 = ($3390|0)!=(0); - if ($3391) { - $3392 = HEAP32[$iRollback>>2]|0; - $3393 = ($3392|0)!=(0); - $3394 = $3393 ? 40133 : 40176; - $3395 = $3394; - } else { - $3395 = 40217; - } - _sqlite3VdbeError($3389,$3395,$vararg_buffer56); - HEAP32[$rc>>2] = 1; - break L1; - } - $3347 = HEAP32[$iRollback>>2]|0; - $3348 = ($3347|0)!=(0); - do { - if ($3348) { - $3349 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($3349,516); - $3350 = HEAP32[$db>>2]|0; - $3351 = ((($3350)) + 67|0); - HEAP8[$3351>>0] = 1; - } else { - $3352 = HEAP32[$desiredAutoCommit>>2]|0; - $3353 = ($3352|0)!=(0); - if ($3353) { - $3354 = HEAP32[$db>>2]|0; - $3355 = ((($3354)) + 164|0); - $3356 = HEAP32[$3355>>2]|0; - $3357 = ($3356|0)>(0); - if ($3357) { - $3358 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($3358,40078,$vararg_buffer54); - HEAP32[$rc>>2] = 5; - break L1; - } - } - $3359 = HEAP32[$0>>2]|0; - $3360 = (_sqlite3VdbeCheckFk($3359,1)|0); - HEAP32[$rc>>2] = $3360; - $3361 = ($3360|0)!=(0); - if ($3361) { - $7388 = $lastRowid; - $7389 = $7388; - $7390 = HEAP32[$7389>>2]|0; - $7391 = (($7388) + 4)|0; - $7392 = $7391; - $7393 = HEAP32[$7392>>2]|0; - $7394 = HEAP32[$db>>2]|0; - $7395 = ((($7394)) + 32|0); - $7396 = $7395; - $7397 = $7396; - HEAP32[$7397>>2] = $7390; - $7398 = (($7396) + 4)|0; - $7399 = $7398; - HEAP32[$7399>>2] = $7393; - $7400 = HEAP32[$nVmStep>>2]|0; - $7401 = HEAP32[$0>>2]|0; - $7402 = ((($7401)) + 156|0); - $7403 = ((($7402)) + 16|0); - $7404 = HEAP32[$7403>>2]|0; - $7405 = (($7404) + ($7400))|0; - HEAP32[$7403>>2] = $7405; - $7406 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7406|0); - } else { - $3362 = HEAP32[$desiredAutoCommit>>2]|0; - $3363 = $3362&255; - $3364 = HEAP32[$db>>2]|0; - $3365 = ((($3364)) + 67|0); - HEAP8[$3365>>0] = $3363; - break; - } - } - } while(0); - $3366 = HEAP32[$0>>2]|0; - $3367 = (_sqlite3VdbeHalt($3366)|0); - $3368 = ($3367|0)==(5); - if ($3368) { - $3369 = HEAP32[$pOp>>2]|0; - $3370 = HEAP32[$aOp>>2]|0; - $3371 = $3369; - $3372 = $3370; - $3373 = (($3371) - ($3372))|0; - $3374 = (($3373|0) / 20)&-1; - $3375 = HEAP32[$0>>2]|0; - $3376 = ((($3375)) + 36|0); - HEAP32[$3376>>2] = $3374; - $3377 = HEAP32[$desiredAutoCommit>>2]|0; - $3378 = (1 - ($3377))|0; - $3379 = $3378&255; - $3380 = HEAP32[$db>>2]|0; - $3381 = ((($3380)) + 67|0); - HEAP8[$3381>>0] = $3379; - HEAP32[$rc>>2] = 5; - $3382 = HEAP32[$0>>2]|0; - $3383 = ((($3382)) + 40|0); - HEAP32[$3383>>2] = 5; - $7388 = $lastRowid; - $7389 = $7388; - $7390 = HEAP32[$7389>>2]|0; - $7391 = (($7388) + 4)|0; - $7392 = $7391; - $7393 = HEAP32[$7392>>2]|0; - $7394 = HEAP32[$db>>2]|0; - $7395 = ((($7394)) + 32|0); - $7396 = $7395; - $7397 = $7396; - HEAP32[$7397>>2] = $7390; - $7398 = (($7396) + 4)|0; - $7399 = $7398; - HEAP32[$7399>>2] = $7393; - $7400 = HEAP32[$nVmStep>>2]|0; - $7401 = HEAP32[$0>>2]|0; - $7402 = ((($7401)) + 156|0); - $7403 = ((($7402)) + 16|0); - $7404 = HEAP32[$7403>>2]|0; - $7405 = (($7404) + ($7400))|0; - HEAP32[$7403>>2] = $7405; - $7406 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7406|0); - } - $3384 = HEAP32[$db>>2]|0; - _sqlite3CloseSavepoints($3384); - $3385 = HEAP32[$0>>2]|0; - $3386 = ((($3385)) + 40|0); - $3387 = HEAP32[$3386>>2]|0; - $3388 = ($3387|0)==(0); - if ($3388) { - HEAP32[$rc>>2] = 101; - $7388 = $lastRowid; - $7389 = $7388; - $7390 = HEAP32[$7389>>2]|0; - $7391 = (($7388) + 4)|0; - $7392 = $7391; - $7393 = HEAP32[$7392>>2]|0; - $7394 = HEAP32[$db>>2]|0; - $7395 = ((($7394)) + 32|0); - $7396 = $7395; - $7397 = $7396; - HEAP32[$7397>>2] = $7390; - $7398 = (($7396) + 4)|0; - $7399 = $7398; - HEAP32[$7399>>2] = $7393; - $7400 = HEAP32[$nVmStep>>2]|0; - $7401 = HEAP32[$0>>2]|0; - $7402 = ((($7401)) + 156|0); - $7403 = ((($7402)) + 16|0); - $7404 = HEAP32[$7403>>2]|0; - $7405 = (($7404) + ($7400))|0; - HEAP32[$7403>>2] = $7405; - $7406 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7406|0); - } else { - HEAP32[$rc>>2] = 1; - $7388 = $lastRowid; - $7389 = $7388; - $7390 = HEAP32[$7389>>2]|0; - $7391 = (($7388) + 4)|0; - $7392 = $7391; - $7393 = HEAP32[$7392>>2]|0; - $7394 = HEAP32[$db>>2]|0; - $7395 = ((($7394)) + 32|0); - $7396 = $7395; - $7397 = $7396; - HEAP32[$7397>>2] = $7390; - $7398 = (($7396) + 4)|0; - $7399 = $7398; - HEAP32[$7399>>2] = $7393; - $7400 = HEAP32[$nVmStep>>2]|0; - $7401 = HEAP32[$0>>2]|0; - $7402 = ((($7401)) + 156|0); - $7403 = ((($7402)) + 16|0); - $7404 = HEAP32[$7403>>2]|0; - $7405 = (($7404) + ($7400))|0; - HEAP32[$7403>>2] = $7405; - $7406 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7406|0); - } - break; - } - case 411: { - HEAP32[$rc>>2] = 8; - break L1; - break; - } - case 414: { - $3423 = HEAP32[$rc>>2]|0; - $3424 = $3423 & 255; - $3425 = ($3424|0)==(5); - if (!($3425)) { - break L1; - } - $3426 = HEAP32[$pOp>>2]|0; - $3427 = HEAP32[$aOp>>2]|0; - $3428 = $3426; - $3429 = $3427; - $3430 = (($3428) - ($3429))|0; - $3431 = (($3430|0) / 20)&-1; - $3432 = HEAP32[$0>>2]|0; - $3433 = ((($3432)) + 36|0); - HEAP32[$3433>>2] = $3431; - $3434 = HEAP32[$rc>>2]|0; - $3435 = HEAP32[$0>>2]|0; - $3436 = ((($3435)) + 40|0); - HEAP32[$3436>>2] = $3434; - $7388 = $lastRowid; - $7389 = $7388; - $7390 = HEAP32[$7389>>2]|0; - $7391 = (($7388) + 4)|0; - $7392 = $7391; - $7393 = HEAP32[$7392>>2]|0; - $7394 = HEAP32[$db>>2]|0; - $7395 = ((($7394)) + 32|0); - $7396 = $7395; - $7397 = $7396; - HEAP32[$7397>>2] = $7390; - $7398 = (($7396) + 4)|0; - $7399 = $7398; - HEAP32[$7399>>2] = $7393; - $7400 = HEAP32[$nVmStep>>2]|0; - $7401 = HEAP32[$0>>2]|0; - $7402 = ((($7401)) + 156|0); - $7403 = ((($7402)) + 16|0); - $7404 = HEAP32[$7403>>2]|0; - $7405 = (($7404) + ($7400))|0; - HEAP32[$7403>>2] = $7405; - $7406 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7406|0); - break; - } - case 445: { - HEAP32[$rc>>2] = 516; - break L1; - break; - } - case 544: { - HEAP32[$rc>>2] = 13; - break L1; - break; - } - case 554: { - HEAP32[$rc>>2] = 13; - break L1; - break; - } - case 660: { - HEAP32[$rc>>2] = 6; - $5473 = HEAP32[$0>>2]|0; - $5474 = ((($5473)) + 142|0); - HEAP8[$5474>>0] = 2; - break L1; - break; - } - case 682: { - $5661 = HEAP32[$db>>2]|0; - _sqlite3ResetAllSchemasOfConnection($5661); - $5662 = HEAP32[$rc>>2]|0; - $5663 = ($5662|0)==(7); - if ($5663) { - label = 889; - break L1; - } else { - break L1; - } - break; - } - case 711: { - HEAP32[$rc>>2] = 1; - $5903 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($5903,40357,$vararg_buffer63); - break L1; - break; - } - case 764: { - $6587 = HEAP32[$0>>2]|0; - $6588 = HEAP32[$pMem95>>2]|0; - $6589 = (_sqlite3_value_text($6588)|0); - HEAP32[$vararg_buffer68>>2] = $6589; - _sqlite3VdbeError($6587,18391,$vararg_buffer68); - break L1; - break; - } - case 784: { - HEAP32[$rc>>2] = 1; - $6681 = HEAP32[$0>>2]|0; - $6682 = HEAP32[$eNew>>2]|0; - $6683 = ($6682|0)==(5); - $6684 = $6683 ? 40394 : 40399; - HEAP32[$vararg_buffer71>>2] = $6684; - _sqlite3VdbeError($6681,40406,$vararg_buffer71); - break L1; - break; - } - case 805: { - $6791 = HEAP32[$rc>>2]|0; - $6792 = $6791 & 255; - $6793 = ($6792|0)==(6); - if (!($6793)) { - break L1; - } - $6794 = HEAP32[$pOp>>2]|0; - $6795 = ((($6794)) + 16|0); - $6796 = HEAP32[$6795>>2]|0; - HEAP32[$z101>>2] = $6796; - $6797 = HEAP32[$0>>2]|0; - $6798 = HEAP32[$z101>>2]|0; - HEAP32[$vararg_buffer74>>2] = $6798; - _sqlite3VdbeError($6797,40458,$vararg_buffer74); - break L1; - break; - } - case 816: { - HEAP32[$rc>>2] = 6; - break L1; - break; - } - case 820: { - $6889 = HEAP32[$pModule105>>2]|0; - $6890 = ((($6889)) + 28|0); - $6891 = HEAP32[$6890>>2]|0; - $6892 = HEAP32[$pVCur>>2]|0; - (FUNCTION_TABLE_ii[$6891 & 255]($6892)|0); - label = 889; - break L1; - break; - } - case 839: { - HEAP32[$rc>>2] = 6; - break L1; - break; - } - case 887: { - $7388 = $lastRowid; - $7389 = $7388; - $7390 = HEAP32[$7389>>2]|0; - $7391 = (($7388) + 4)|0; - $7392 = $7391; - $7393 = HEAP32[$7392>>2]|0; - $7394 = HEAP32[$db>>2]|0; - $7395 = ((($7394)) + 32|0); - $7396 = $7395; - $7397 = $7396; - HEAP32[$7397>>2] = $7390; - $7398 = (($7396) + 4)|0; - $7399 = $7398; - HEAP32[$7399>>2] = $7393; - $7400 = HEAP32[$nVmStep>>2]|0; - $7401 = HEAP32[$0>>2]|0; - $7402 = ((($7401)) + 156|0); - $7403 = ((($7402)) + 16|0); - $7404 = HEAP32[$7403>>2]|0; - $7405 = (($7404) + ($7400))|0; - HEAP32[$7403>>2] = $7405; - $7406 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7406|0); - break; - } - case 888: { - $7407 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($7407,18170,$vararg_buffer85); - HEAP32[$rc>>2] = 18; - break L1; + $176 = HEAP32[$7>>2]|0; + $177 = ((($176)) + 12|0); + $178 = HEAP32[$177>>2]|0; + $179 = HEAP32[$178>>2]|0; + HEAP32[$11>>2] = $179; + $180 = HEAP32[$7>>2]|0; + $181 = ((($180)) + 12|0); + $182 = HEAP32[$181>>2]|0; + $183 = ((($182)) + 8|0); + $184 = HEAP32[$183>>2]|0; + $185 = HEAP32[$7>>2]|0; + $186 = ((($185)) + 12|0); + $187 = HEAP32[$186>>2]|0; + $188 = ((($187)) + 4|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($184|0)>=($189|0); + $191 = $190&1; + $192 = ($191|0)==(0); + if (!($192)) { + continue; + } + $193 = HEAP32[$7>>2]|0; + $194 = ((($193)) + 12|0); + $195 = HEAP32[$194>>2]|0; + $196 = ((($195)) + 8|0); + $197 = HEAP32[$196>>2]|0; + HEAP32[$18>>2] = $197; + $198 = HEAP32[$7>>2]|0; + $199 = ((($198)) + 12|0); + $200 = HEAP32[$199>>2]|0; + $201 = HEAP32[$200>>2]|0; + $202 = HEAP32[$18>>2]|0; + $203 = (($201) + ($202)|0); + $204 = (_sqlite3Fts5GetVarint32($203,$10)|0); + $205 = HEAP32[$18>>2]|0; + $206 = (($205) + ($204))|0; + HEAP32[$18>>2] = $206; + $207 = HEAP32[$10>>2]|0; + $208 = ($207|0)<(4); + if (!($208)) { + $209 = HEAP32[$10>>2]|0; + $210 = HEAP32[$7>>2]|0; + $211 = ((($210)) + 12|0); + $212 = HEAP32[$211>>2]|0; + $213 = ((($212)) + 8|0); + $214 = HEAP32[$213>>2]|0; + $215 = ($209|0)>=($214|0); + if (!($215)) { + label = 32; break; } } + $216 = HEAP32[$5>>2]|0; + $217 = ((($216)) + 36|0); + HEAP32[$217>>2] = 267; } - } while(0); - $7410 = HEAP32[$db>>2]|0; - $7411 = ((($7410)) + 69|0); - $7412 = HEAP8[$7411>>0]|0; - $7413 = $7412&255; - $7414 = ($7413|0)!=(0); - $7415 = $7414 ? 7 : 9; - HEAP32[$rc>>2] = $7415; - $7416 = HEAP32[$rc>>2]|0; - $7417 = HEAP32[$0>>2]|0; - $7418 = ((($7417)) + 40|0); - HEAP32[$7418>>2] = $7416; - $7419 = HEAP32[$0>>2]|0; - $7420 = HEAP32[$rc>>2]|0; - $7421 = (_sqlite3ErrStr($7420)|0); - HEAP32[$vararg_buffer89>>2] = $7421; - _sqlite3VdbeError($7419,18391,$vararg_buffer89); + if ((label|0) == 32) { + HEAP32[$15>>2] = 0; + $218 = HEAP32[$10>>2]|0; + HEAP32[$17>>2] = $218; + $219 = HEAP32[$7>>2]|0; + $220 = ((($219)) + 12|0); + $221 = HEAP32[$220>>2]|0; + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + HEAP32[$13>>2] = $223; + $224 = HEAP32[$11>>2]|0; + $225 = HEAP32[$10>>2]|0; + $226 = (($224) + ($225)|0); + $227 = (_sqlite3Fts5GetVarint32($226,$16)|0); + $228 = HEAP32[$10>>2]|0; + $229 = (($228) + ($227))|0; + HEAP32[$10>>2] = $229; + break; + } + else if ((label|0) == 37) { + STACKTOP = sp;return; + } + } } } while(0); - if ((label|0) == 889) { - $7408 = HEAP32[$db>>2]|0; - _sqlite3OomFault($7408); - $7409 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($7409,25016,$vararg_buffer87); - HEAP32[$rc>>2] = 7; - } - $7346 = HEAP32[$db>>2]|0; - $7347 = ((($7346)) + 69|0); - $7348 = HEAP8[$7347>>0]|0; - $7349 = ($7348<<24>>24)!=(0); - if ($7349) { - HEAP32[$rc>>2] = 7; - } - $7350 = HEAP32[$0>>2]|0; - $7351 = ((($7350)) + 108|0); - $7352 = HEAP32[$7351>>2]|0; - $7353 = ($7352|0)==(0|0); - $7354 = HEAP32[$rc>>2]|0; - $7355 = ($7354|0)!=(3082); - $or$cond26 = $7353 & $7355; - if ($or$cond26) { - $7356 = HEAP32[$0>>2]|0; - $7357 = HEAP32[$rc>>2]|0; - $7358 = (_sqlite3ErrStr($7357)|0); - HEAP32[$vararg_buffer77>>2] = $7358; - _sqlite3VdbeError($7356,18391,$vararg_buffer77); - } - $7359 = HEAP32[$rc>>2]|0; - $7360 = HEAP32[$0>>2]|0; - $7361 = ((($7360)) + 40|0); - HEAP32[$7361>>2] = $7359; - $7362 = HEAP32[$db>>2]|0; - $7363 = HEAP32[$rc>>2]|0; - _sqlite3SystemError($7362,$7363); - $7364 = HEAP32[$rc>>2]|0; - $7365 = HEAP32[$pOp>>2]|0; - $7366 = HEAP32[$aOp>>2]|0; - $7367 = $7365; - $7368 = $7366; - $7369 = (($7367) - ($7368))|0; - $7370 = (($7369|0) / 20)&-1; - $7371 = HEAP32[$0>>2]|0; - $7372 = ((($7371)) + 176|0); - $7373 = HEAP32[$7372>>2]|0; - $7374 = HEAP32[$0>>2]|0; - $7375 = ((($7374)) + 108|0); - $7376 = HEAP32[$7375>>2]|0; - HEAP32[$vararg_buffer80>>2] = $7370; - $vararg_ptr83 = ((($vararg_buffer80)) + 4|0); - HEAP32[$vararg_ptr83>>2] = $7373; - $vararg_ptr84 = ((($vararg_buffer80)) + 8|0); - HEAP32[$vararg_ptr84>>2] = $7376; - _sqlite3_log($7364,40487,$vararg_buffer80); - $7377 = HEAP32[$0>>2]|0; - (_sqlite3VdbeHalt($7377)|0); - $7378 = HEAP32[$rc>>2]|0; - $7379 = ($7378|0)==(3082); - if ($7379) { - $7380 = HEAP32[$db>>2]|0; - _sqlite3OomFault($7380); - } - HEAP32[$rc>>2] = 1; - $7381 = HEAP8[$resetSchemaOnFault>>0]|0; - $7382 = $7381&255; - $7383 = ($7382|0)>(0); - if (!($7383)) { - $7388 = $lastRowid; - $7389 = $7388; - $7390 = HEAP32[$7389>>2]|0; - $7391 = (($7388) + 4)|0; - $7392 = $7391; - $7393 = HEAP32[$7392>>2]|0; - $7394 = HEAP32[$db>>2]|0; - $7395 = ((($7394)) + 32|0); - $7396 = $7395; - $7397 = $7396; - HEAP32[$7397>>2] = $7390; - $7398 = (($7396) + 4)|0; - $7399 = $7398; - HEAP32[$7399>>2] = $7393; - $7400 = HEAP32[$nVmStep>>2]|0; - $7401 = HEAP32[$0>>2]|0; - $7402 = ((($7401)) + 156|0); - $7403 = ((($7402)) + 16|0); - $7404 = HEAP32[$7403>>2]|0; - $7405 = (($7404) + ($7400))|0; - HEAP32[$7403>>2] = $7405; - $7406 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7406|0); - } - $7384 = HEAP32[$db>>2]|0; - $7385 = HEAP8[$resetSchemaOnFault>>0]|0; - $7386 = $7385&255; - $7387 = (($7386) - 1)|0; - _sqlite3ResetOneSchema($7384,$7387); - $7388 = $lastRowid; - $7389 = $7388; - $7390 = HEAP32[$7389>>2]|0; - $7391 = (($7388) + 4)|0; - $7392 = $7391; - $7393 = HEAP32[$7392>>2]|0; - $7394 = HEAP32[$db>>2]|0; - $7395 = ((($7394)) + 32|0); - $7396 = $7395; - $7397 = $7396; - HEAP32[$7397>>2] = $7390; - $7398 = (($7396) + 4)|0; - $7399 = $7398; - HEAP32[$7399>>2] = $7393; - $7400 = HEAP32[$nVmStep>>2]|0; - $7401 = HEAP32[$0>>2]|0; - $7402 = ((($7401)) + 156|0); - $7403 = ((($7402)) + 16|0); - $7404 = HEAP32[$7403>>2]|0; - $7405 = (($7404) + ($7400))|0; - HEAP32[$7403>>2] = $7405; - $7406 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7406|0); -} -function _doWalCallbacks($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $nEntry = 0, $or$cond = 0, $or$cond3 = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; + $230 = HEAP32[$10>>2]|0; + $231 = HEAP32[$16>>2]|0; + $232 = (($230) + ($231))|0; + $233 = HEAP32[$7>>2]|0; + $234 = ((($233)) + 20|0); + HEAP32[$234>>2] = $232; + $235 = HEAP32[$7>>2]|0; + $236 = ((($235)) + 20|0); + $237 = HEAP32[$236>>2]|0; + $238 = HEAP32[$7>>2]|0; + $239 = ((($238)) + 32|0); + HEAP32[$239>>2] = $237; + $240 = HEAP32[$7>>2]|0; + $241 = ((($240)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[$7>>2]|0; + $244 = ((($243)) + 28|0); + HEAP32[$244>>2] = $242; + $245 = HEAP32[$5>>2]|0; + $246 = ((($245)) + 36|0); + $247 = HEAP32[$7>>2]|0; + $248 = ((($247)) + 60|0); + $249 = HEAP32[$15>>2]|0; + $250 = HEAP32[$8>>2]|0; + _sqlite3Fts5BufferSet($246,$248,$249,$250); + $251 = HEAP32[$5>>2]|0; + $252 = ((($251)) + 36|0); + $253 = HEAP32[$7>>2]|0; + $254 = ((($253)) + 60|0); + $255 = HEAP32[$16>>2]|0; + $256 = HEAP32[$11>>2]|0; + $257 = HEAP32[$10>>2]|0; + $258 = (($256) + ($257)|0); + _sqlite3Fts5BufferAppendBlob($252,$254,$255,$258); + $259 = HEAP32[$18>>2]|0; + $260 = HEAP32[$13>>2]|0; + $261 = ($259|0)>=($260|0); + if ($261) { + $262 = HEAP32[$7>>2]|0; + $263 = ((($262)) + 12|0); + $264 = HEAP32[$263>>2]|0; + $265 = ((($264)) + 4|0); + $266 = HEAP32[$265>>2]|0; + $267 = (($266) + 1)|0; + $268 = HEAP32[$7>>2]|0; + $$sink = $267;$$sink2 = $268; + } else { + $269 = HEAP32[$11>>2]|0; + $270 = HEAP32[$18>>2]|0; + $271 = (($269) + ($270)|0); + $272 = (_sqlite3Fts5GetVarint32($271,$22)|0); + $273 = HEAP32[$18>>2]|0; + $274 = (($273) + ($272))|0; + HEAP32[$18>>2] = $274; + $275 = HEAP32[$17>>2]|0; + $276 = HEAP32[$22>>2]|0; + $277 = (($275) + ($276))|0; + $278 = HEAP32[$7>>2]|0; + $$sink = $277;$$sink2 = $278; + } + $279 = ((($$sink2)) + 40|0); + HEAP32[$279>>2] = $$sink; + $280 = HEAP32[$18>>2]|0; + $281 = HEAP32[$7>>2]|0; + $282 = ((($281)) + 36|0); + HEAP32[$282>>2] = $280; + $283 = HEAP32[$5>>2]|0; + $284 = HEAP32[$7>>2]|0; + _fts5SegIterLoadRowid($283,$284); + $285 = HEAP32[$5>>2]|0; + $286 = HEAP32[$7>>2]|0; + _fts5SegIterLoadNPos($285,$286); + STACKTOP = sp;return; +} +function _fts5SegIterLoadDlidx($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $rc = sp + 12|0; - $i = sp + 8|0; - $pBt = sp + 4|0; - $nEntry = sp; - HEAP32[$0>>2] = $db; - HEAP32[$rc>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $1 = HEAP32[$i>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1|0)<($4|0); - if (!($5)) { - break; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = $12 & 2; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($19|0)==($22|0); + if ($23) { + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 40|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($26|0)<($29|0); + if ($30) { + STACKTOP = sp;return; } - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($6<<4)|0); - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$pBt>>2] = $12; - $13 = HEAP32[$pBt>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$pBt>>2]|0; - _sqlite3BtreeEnter($15); - $16 = HEAP32[$pBt>>2]|0; - $17 = (_sqlite3BtreePager($16)|0); - $18 = (_sqlite3PagerWalCallback($17)|0); - HEAP32[$nEntry>>2] = $18; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 224|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0|0); - $23 = HEAP32[$nEntry>>2]|0; - $24 = ($23|0)>(0); - $or$cond = $22 & $24; - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)==(0); - $or$cond3 = $or$cond & $26; - if ($or$cond3) { - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 224|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 228|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$0>>2]|0; - $34 = HEAP32[$i>>2]|0; - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 16|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + ($34<<4)|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$nEntry>>2]|0; - $41 = (FUNCTION_TABLE_iiiii[$29 & 255]($32,$33,$39,$40)|0); - HEAP32[$rc>>2] = $41; + } + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 28|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_fts5DlidxIterInit($31,$32,$33,$36)|0); + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 56|0); + HEAP32[$39>>2] = $37; + STACKTOP = sp;return; +} +function _fts5SegIterReverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink3 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $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; + 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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $2 = sp + 68|0; + $3 = sp + 64|0; + $4 = sp + 60|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp; + $14 = sp + 24|0; + $15 = sp + 20|0; + $16 = sp + 16|0; + $17 = sp + 12|0; + $18 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 56|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$4>>2] = $21; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 0; + $22 = HEAP32[$4>>2]|0; + $23 = ($22|0)!=(0|0); + $24 = HEAP32[$3>>2]|0; + L1: do { + if ($23) { + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$7>>2] = $26; + $27 = HEAP32[$4>>2]|0; + $28 = (_fts5DlidxIterPgno($27)|0); + HEAP32[$6>>2] = $28; + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = ($30|0)<(0); + $32 = $31 << 31 >> 31; + $33 = (_bitshift64Shl(($30|0),($32|0),37)|0); + $34 = tempRet0; + $35 = (_i64Add(($33|0),($34|0),0,0)|0); + $36 = tempRet0; + $37 = (_i64Add(($35|0),($36|0),0,0)|0); + $38 = tempRet0; + $39 = HEAP32[$6>>2]|0; + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = (_i64Add(($37|0),($38|0),($39|0),($41|0))|0); + $43 = tempRet0; + $44 = (_fts5DataRead($29,$42,$43)|0); + HEAP32[$5>>2] = $44; + } else { + $45 = ((($24)) + 12|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$8>>2] = $46; + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 28|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($49|0)==($52|0); + if ($53) { + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 32|0); + $56 = HEAP32[$55>>2]|0; + HEAP32[$9>>2] = $56; + } else { + HEAP32[$9>>2] = 4; + } + $57 = HEAP32[$9>>2]|0; + $58 = (($57) + 9)|0; + HEAP32[$10>>2] = $58; + while(1) { + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$9>>2]|0; + $62 = (($61) + 1)|0; + HEAP32[$9>>2] = $62; + $63 = (($60) + ($61)|0); + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + $66 = $65 & 128; + $67 = ($66|0)!=(0); + if (!($67)) { + break; + } + $68 = HEAP32[$9>>2]|0; + $69 = HEAP32[$10>>2]|0; + $70 = ($68|0)<($69|0); + if (!($70)) { + break; + } + } + $71 = HEAP32[$9>>2]|0; + $72 = HEAP32[$3>>2]|0; + $73 = ((($72)) + 20|0); + HEAP32[$73>>2] = $71; + $74 = HEAP32[$3>>2]|0; + $75 = ((($74)) + 40|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$8>>2]|0; + $78 = ((($77)) + 8|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($76|0)>=($79|0); + if ($80) { + $81 = HEAP32[$3>>2]|0; + $82 = HEAP32[$81>>2]|0; + HEAP32[$12>>2] = $82; + $83 = HEAP32[$3>>2]|0; + $84 = ((($83)) + 8|0); + $85 = HEAP32[$84>>2]|0; + $86 = (($85) + 1)|0; + HEAP32[$11>>2] = $86; + while(1) { + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 36|0); + $89 = HEAP32[$88>>2]|0; + $90 = ($89|0)!=(0); + if ($90) { + break L1; + } + $91 = HEAP32[$11>>2]|0; + $92 = HEAP32[$12>>2]|0; + $93 = ((($92)) + 8|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($91|0)<=($94|0); + if (!($95)) { + break L1; + } + $96 = HEAP32[$12>>2]|0; + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)<(0); + $99 = $98 << 31 >> 31; + $100 = (_bitshift64Shl(($97|0),($99|0),37)|0); + $101 = tempRet0; + $102 = (_i64Add(($100|0),($101|0),0,0)|0); + $103 = tempRet0; + $104 = (_i64Add(($102|0),($103|0),0,0)|0); + $105 = tempRet0; + $106 = HEAP32[$11>>2]|0; + $107 = ($106|0)<(0); + $108 = $107 << 31 >> 31; + $109 = (_i64Add(($104|0),($105|0),($106|0),($108|0))|0); + $110 = tempRet0; + $111 = $13; + $112 = $111; + HEAP32[$112>>2] = $109; + $113 = (($111) + 4)|0; + $114 = $113; + HEAP32[$114>>2] = $110; + $115 = HEAP32[$2>>2]|0; + $116 = $13; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = (_fts5DataRead($115,$118,$121)|0); + HEAP32[$14>>2] = $122; + $123 = HEAP32[$14>>2]|0; + $124 = ($123|0)!=(0|0); + if ($124) { + $125 = HEAP32[$14>>2]|0; + $126 = HEAP32[$125>>2]|0; + $127 = (_fts5GetU16($126)|0); + $128 = $127&65535; + HEAP32[$15>>2] = $128; + $129 = HEAP32[$14>>2]|0; + $130 = ((($129)) + 8|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$14>>2]|0; + $133 = ((($132)) + 4|0); + $134 = HEAP32[$133>>2]|0; + $135 = ($131|0)>=($134|0); + $136 = $135&1; + HEAP32[$16>>2] = $136; + $137 = HEAP32[$15>>2]|0; + $138 = ($137|0)!=(0); + if ($138) { + $139 = HEAP32[$14>>2]|0; + HEAP32[$17>>2] = $139; + $140 = HEAP32[$5>>2]|0; + HEAP32[$14>>2] = $140; + $141 = HEAP32[$17>>2]|0; + HEAP32[$5>>2] = $141; + $142 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $142; + } + $143 = HEAP32[$14>>2]|0; + _fts5DataRelease($143); + $144 = HEAP32[$16>>2]|0; + $145 = ($144|0)==(0); + if ($145) { + break L1; + } + } + $146 = HEAP32[$11>>2]|0; + $147 = (($146) + 1)|0; + HEAP32[$11>>2] = $147; + } } } - $42 = HEAP32[$i>>2]|0; - $43 = (($42) + 1)|0; - HEAP32[$i>>2] = $43; + } while(0); + $148 = HEAP32[$5>>2]|0; + $149 = ($148|0)!=(0|0); + if (!($149)) { + $191 = HEAP32[$2>>2]|0; + $192 = HEAP32[$3>>2]|0; + _fts5SegIterReverseInitPage($191,$192); + STACKTOP = sp;return; } - $44 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($44|0); + $150 = HEAP32[$3>>2]|0; + $151 = ((($150)) + 12|0); + $152 = HEAP32[$151>>2]|0; + _fts5DataRelease($152); + $153 = HEAP32[$5>>2]|0; + $154 = HEAP32[$3>>2]|0; + $155 = ((($154)) + 12|0); + HEAP32[$155>>2] = $153; + $156 = HEAP32[$6>>2]|0; + $157 = HEAP32[$3>>2]|0; + $158 = ((($157)) + 8|0); + HEAP32[$158>>2] = $156; + $159 = HEAP32[$5>>2]|0; + $160 = HEAP32[$159>>2]|0; + $161 = (_fts5GetU16($160)|0); + $162 = $161&65535; + HEAP32[$18>>2] = $162; + $163 = HEAP32[$5>>2]|0; + $164 = HEAP32[$163>>2]|0; + $165 = HEAP32[$18>>2]|0; + $166 = (($164) + ($165)|0); + $167 = HEAP32[$3>>2]|0; + $168 = ((($167)) + 72|0); + $169 = (_sqlite3Fts5GetVarint($166,$168)|0); + $170 = $169&255; + $171 = HEAP32[$18>>2]|0; + $172 = (($171) + ($170))|0; + HEAP32[$18>>2] = $172; + $173 = HEAP32[$18>>2]|0; + $174 = HEAP32[$3>>2]|0; + $175 = ((($174)) + 20|0); + HEAP32[$175>>2] = $173; + $176 = HEAP32[$5>>2]|0; + $177 = ((($176)) + 8|0); + $178 = HEAP32[$177>>2]|0; + $179 = HEAP32[$5>>2]|0; + $180 = ((($179)) + 4|0); + $181 = HEAP32[$180>>2]|0; + $182 = ($178|0)>=($181|0); + $183 = HEAP32[$5>>2]|0; + if ($182) { + $184 = ((($183)) + 4|0); + $185 = HEAP32[$184>>2]|0; + $186 = (($185) + 1)|0; + $187 = HEAP32[$3>>2]|0; + $$sink = $186;$$sink3 = $187; + } else { + $188 = (_fts5LeafFirstTermOff($183)|0); + $189 = HEAP32[$3>>2]|0; + $$sink = $188;$$sink3 = $189; + } + $190 = ((($$sink3)) + 40|0); + HEAP32[$190>>2] = $$sink; + $191 = HEAP32[$2>>2]|0; + $192 = HEAP32[$3>>2]|0; + _fts5SegIterReverseInitPage($191,$192); + STACKTOP = sp;return; } -function _sqlite3VdbeTransferError($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, $rc = 0, label = 0; +function _fts5DlidxIterInit($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $db = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$db>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 40|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$rc>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 108|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - $10 = HEAP32[$db>>2]|0; - if (!($9)) { - $35 = HEAP32[$rc>>2]|0; - _sqlite3Error($10,$35); - $36 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($36|0); + STACKTOP = STACKTOP + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp; + $14 = sp + 8|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + HEAP32[$10>>2] = 0; + HEAP32[$9>>2] = 0; + while(1) { + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 36|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0); + $19 = HEAP32[$10>>2]|0; + $20 = ($19|0)==(0); + $21 = $18 ? $20 : 0; + if (!($21)) { + break; + } + $22 = HEAP32[$9>>2]|0; + $23 = $22<<5; + $24 = (40 + ($23))|0; + HEAP32[$11>>2] = $24; + $25 = HEAP32[$8>>2]|0; + $26 = HEAP32[$11>>2]|0; + $27 = (_sqlite3_realloc($25,$26)|0); + HEAP32[$12>>2] = $27; + $28 = HEAP32[$12>>2]|0; + $29 = ($28|0)==(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 36|0); + HEAP32[$31>>2] = 7; + } else { + $32 = HEAP32[$6>>2]|0; + $33 = ($32|0)<(0); + $34 = $33 << 31 >> 31; + $35 = (_bitshift64Shl(($32|0),($34|0),37)|0); + $36 = tempRet0; + $37 = (_i64Add(($35|0),($36|0),0,16)|0); + $38 = tempRet0; + $39 = HEAP32[$9>>2]|0; + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = (_bitshift64Shl(($39|0),($41|0),31)|0); + $43 = tempRet0; + $44 = (_i64Add(($37|0),($38|0),($42|0),($43|0))|0); + $45 = tempRet0; + $46 = HEAP32[$7>>2]|0; + $47 = ($46|0)<(0); + $48 = $47 << 31 >> 31; + $49 = (_i64Add(($44|0),($45|0),($46|0),($48|0))|0); + $50 = tempRet0; + $51 = $13; + $52 = $51; + HEAP32[$52>>2] = $49; + $53 = (($51) + 4)|0; + $54 = $53; + HEAP32[$54>>2] = $50; + $55 = HEAP32[$12>>2]|0; + $56 = ((($55)) + 8|0); + $57 = HEAP32[$9>>2]|0; + $58 = (($56) + ($57<<5)|0); + HEAP32[$14>>2] = $58; + $59 = HEAP32[$12>>2]|0; + HEAP32[$8>>2] = $59; + $60 = HEAP32[$14>>2]|0; + ;HEAP32[$60>>2]=0|0;HEAP32[$60+4>>2]=0|0;HEAP32[$60+8>>2]=0|0;HEAP32[$60+12>>2]=0|0;HEAP32[$60+16>>2]=0|0;HEAP32[$60+20>>2]=0|0;HEAP32[$60+24>>2]=0|0;HEAP32[$60+28>>2]=0|0; + $61 = HEAP32[$4>>2]|0; + $62 = $13; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (_fts5DataRead($61,$64,$67)|0); + $69 = HEAP32[$14>>2]|0; + HEAP32[$69>>2] = $68; + $70 = HEAP32[$14>>2]|0; + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)!=(0|0); + if ($72) { + $73 = HEAP32[$14>>2]|0; + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$74>>2]|0; + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = $77 & 1; + $79 = ($78|0)==(0); + if ($79) { + HEAP32[$10>>2] = 1; + } + } + $80 = HEAP32[$9>>2]|0; + $81 = (($80) + 1)|0; + $82 = HEAP32[$8>>2]|0; + HEAP32[$82>>2] = $81; + } + $83 = HEAP32[$9>>2]|0; + $84 = (($83) + 1)|0; + HEAP32[$9>>2] = $84; } - $11 = ((($10)) + 70|0); - $12 = HEAP8[$11>>0]|0; - $13 = (($12) + 1)<<24>>24; - HEAP8[$11>>0] = $13; - _sqlite3BeginBenignMalloc(); - $14 = HEAP32[$db>>2]|0; - $15 = ((($14)) + 244|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - $18 = HEAP32[$db>>2]|0; - $19 = (_sqlite3ValueNew($18)|0); - $20 = HEAP32[$db>>2]|0; - $21 = ((($20)) + 244|0); - HEAP32[$21>>2] = $19; + $85 = HEAP32[$4>>2]|0; + $86 = ((($85)) + 36|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($87|0)==(0); + do { + if ($88) { + $89 = HEAP32[$6>>2]|0; + $90 = HEAP32[$8>>2]|0; + $91 = ((($90)) + 4|0); + HEAP32[$91>>2] = $89; + $92 = HEAP32[$5>>2]|0; + $93 = ($92|0)==(0); + if ($93) { + $94 = HEAP32[$8>>2]|0; + (_fts5DlidxIterFirst($94)|0); + break; + } else { + $95 = HEAP32[$4>>2]|0; + $96 = HEAP32[$8>>2]|0; + _fts5DlidxIterLast($95,$96); + break; + } + } + } while(0); + $97 = HEAP32[$4>>2]|0; + $98 = ((($97)) + 36|0); + $99 = HEAP32[$98>>2]|0; + $100 = ($99|0)!=(0); + if (!($100)) { + $102 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($102|0); } - $22 = HEAP32[$db>>2]|0; - $23 = ((($22)) + 244|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 108|0); - $27 = HEAP32[$26>>2]|0; - _sqlite3ValueSetStr($24,-1,$27,1,(-1)); - _sqlite3EndBenignMalloc(); - $28 = HEAP32[$db>>2]|0; - $29 = ((($28)) + 70|0); - $30 = HEAP8[$29>>0]|0; - $31 = (($30) + -1)<<24>>24; - HEAP8[$29>>0] = $31; - $32 = HEAP32[$rc>>2]|0; - $33 = HEAP32[$db>>2]|0; - $34 = ((($33)) + 52|0); - HEAP32[$34>>2] = $32; - $36 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($36|0); -} -function _sqlite3PagerWalCallback($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 216|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3WalCallback($3)|0); - STACKTOP = sp;return ($4|0); + $101 = HEAP32[$8>>2]|0; + _fts5DlidxIterFree($101); + HEAP32[$8>>2] = 0; + $102 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($102|0); } -function _sqlite3WalCallback($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ret = 0, label = 0, sp = 0; +function _fts5DlidxIterFirst($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $ret = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$ret>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - $8 = HEAP32[$ret>>2]|0; - STACKTOP = sp;return ($8|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + while(1) { + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ($3|0)<($5|0); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 8|0); + if (!($6)) { + break; + } + $9 = HEAP32[$2>>2]|0; + $10 = (($8) + ($9<<5)|0); + (_fts5DlidxLvlNext($10)|0); + $11 = HEAP32[$2>>2]|0; + $12 = (($11) + 1)|0; + HEAP32[$2>>2] = $12; } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$ret>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 12|0); - HEAP32[$7>>2] = 0; - $8 = HEAP32[$ret>>2]|0; - STACKTOP = sp;return ($8|0); + $13 = ((($8)) + 8|0); + $14 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($14|0); } -function _sqlite3VdbeEnter($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aDb = 0, $db = 0; - var $i = 0, $nDb = 0, label = 0, sp = 0; +function _fts5DlidxIterLast($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $i = sp + 12|0; - $db = sp + 8|0; - $aDb = sp + 4|0; - $nDb = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 152|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$aDb>>2] = $9; - $10 = HEAP32[$db>>2]|0; - $11 = ((($10)) + 20|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$nDb>>2] = $12; - HEAP32[$i>>2] = 0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - 1)|0; + HEAP32[$4>>2] = $9; while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$nDb>>2]|0; - $15 = ($13|0)<($14|0); - if (!($15)) { + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 36|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)>=(0); + $16 = $13 ? $15 : 0; + if (!($16)) { break; } - $16 = HEAP32[$i>>2]|0; - $17 = ($16|0)!=(1); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 152|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$i>>2]|0; - $22 = 1 << $21; - $23 = $20 & $22; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$aDb>>2]|0; - $27 = (($26) + ($25<<4)|0); - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)!=(0|0); - if ($30) { - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$aDb>>2]|0; - $33 = (($32) + ($31<<4)|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - _sqlite3BtreeEnter($35); - } + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$4>>2]|0; + $20 = (($18) + ($19<<5)|0); + HEAP32[$5>>2] = $20; + while(1) { + $21 = HEAP32[$5>>2]|0; + $22 = (_fts5DlidxLvlNext($21)|0); + $23 = ($22|0)==(0); + if (!($23)) { + break; } } - $36 = HEAP32[$i>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$i>>2] = $37; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 8|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$4>>2]|0; + $27 = ($26|0)>(0); + if ($27) { + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + -32|0); + HEAP32[$6>>2] = $29; + $30 = HEAP32[$6>>2]|0; + $31 = HEAP32[$30>>2]|0; + _fts5DataRelease($31); + $32 = HEAP32[$6>>2]|0; + ;HEAP32[$32>>2]=0|0;HEAP32[$32+4>>2]=0|0;HEAP32[$32+8>>2]=0|0;HEAP32[$32+12>>2]=0|0;HEAP32[$32+16>>2]=0|0;HEAP32[$32+20>>2]=0|0;HEAP32[$32+24>>2]=0|0;HEAP32[$32+28>>2]=0|0; + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)<(0); + $38 = $37 << 31 >> 31; + $39 = (_bitshift64Shl(($36|0),($38|0),37)|0); + $40 = tempRet0; + $41 = (_i64Add(($39|0),($40|0),0,16)|0); + $42 = tempRet0; + $43 = HEAP32[$4>>2]|0; + $44 = (($43) - 1)|0; + $45 = ($44|0)<(0); + $46 = $45 << 31 >> 31; + $47 = (_bitshift64Shl(($44|0),($46|0),31)|0); + $48 = tempRet0; + $49 = (_i64Add(($41|0),($42|0),($47|0),($48|0))|0); + $50 = tempRet0; + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)<(0); + $55 = $54 << 31 >> 31; + $56 = (_i64Add(($49|0),($50|0),($53|0),($55|0))|0); + $57 = tempRet0; + $58 = (_fts5DataRead($33,$56,$57)|0); + $59 = HEAP32[$6>>2]|0; + HEAP32[$59>>2] = $58; + } + $60 = HEAP32[$4>>2]|0; + $61 = (($60) + -1)|0; + HEAP32[$4>>2] = $61; } STACKTOP = sp;return; } -function _sqlite3VdbeSetChanges($db,$nChange) { - $db = $db|0; - $nChange = $nChange|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _fts5IndexPrepareStmt($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $$sink2 = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $nChange; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 88|0); - HEAP32[$4>>2] = $2; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 92|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 36|0); $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($5))|0; - HEAP32[$7>>2] = $9; - STACKTOP = sp;return; + $9 = ($8|0)==(0); + if ($9) { + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)!=(0|0); + $12 = HEAP32[$3>>2]|0; + if ($11) { + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = (_sqlite3_prepare_v2($14,$15,-1,$16,0)|0); + $18 = HEAP32[$3>>2]|0; + $$sink = $17;$$sink2 = $18; + } else { + $$sink = 7;$$sink2 = $12; + } + $19 = ((($$sink2)) + 36|0); + HEAP32[$19>>2] = $$sink; + } + $20 = HEAP32[$5>>2]|0; + _sqlite3_free($20); + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 36|0); + $23 = HEAP32[$22>>2]|0; + STACKTOP = sp;return ($23|0); } -function _sqlite3VdbeFrameRestore($pFrame) { - $pFrame = $pFrame|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $v = 0, label = 0, sp = 0; +function _sqlite3Fts5HashScanInit($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $pFrame; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$v>>2] = $2; - $3 = HEAP32[$v>>2]|0; - _closeCursorsInFrame($3); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$v>>2]|0; - $8 = ((($7)) + 88|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 52|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$v>>2]|0; - $13 = ((($12)) + 136|0); - HEAP32[$13>>2] = $11; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$v>>2]|0; - $18 = ((($17)) + 92|0); - HEAP32[$18>>2] = $16; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 56|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$v>>2]|0; - $23 = ((($22)) + 24|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 20|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$v>>2]|0; - $28 = ((($27)) + 112|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 44|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$v>>2]|0; - $33 = ((($32)) + 28|0); - HEAP32[$33>>2] = $31; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 32|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$v>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = ((($43)) + 32|0); - $45 = $44; - $46 = $45; - HEAP32[$46>>2] = $38; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $41; - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 68|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$v>>2]|0; - $53 = ((($52)) + 44|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 72|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$v>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = ((($58)) + 88|0); - HEAP32[$59>>2] = $56; - $60 = HEAP32[$v>>2]|0; - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$v>>2]|0; - $63 = ((($62)) + 204|0); - _sqlite3VdbeDeleteAuxData($61,$63,-1,0); - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 40|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$v>>2]|0; - $68 = ((($67)) + 204|0); - HEAP32[$68>>2] = $66; - $69 = HEAP32[$0>>2]|0; - $70 = ((($69)) + 40|0); - HEAP32[$70>>2] = 0; - $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 48|0); - $73 = HEAP32[$72>>2]|0; - STACKTOP = sp;return ($73|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 16|0); + $11 = (_fts5HashEntrySort($6,$7,$8,$10)|0); + STACKTOP = sp;return ($11|0); } -function _sqlite3VdbeError($p,$zFormat,$varargs) { - $p = $p|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, label = 0, sp = 0; +function _sqlite3Fts5HashQuery($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $ap = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $zFormat; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 108|0); - $6 = HEAP32[$5>>2]|0; - _sqlite3DbFree($3,$6); - HEAP32[$ap>>2] = $varargs; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (_sqlite3VMPrintf($8,$9,$ap)|0); - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 108|0); - HEAP32[$12>>2] = $10; - STACKTOP = sp;return; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = (_fts5HashKey($14,$15,$16)|0); + HEAP32[$10>>2] = $17; + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 20|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$10>>2]|0; + $22 = (($20) + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$11>>2] = $23; + while(1) { + $24 = HEAP32[$11>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { + break; + } + $26 = HEAP32[$11>>2]|0; + $27 = ((($26)) + 40|0); + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = (_memcmp($27,$28,$29)|0); + $31 = ($30|0)==(0); + if ($31) { + $32 = HEAP32[$11>>2]|0; + $33 = ((($32)) + 40|0); + $34 = HEAP32[$7>>2]|0; + $35 = (($33) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36 << 24 >> 24; + $38 = ($37|0)==(0); + if ($38) { + break; + } + } + $39 = HEAP32[$11>>2]|0; + $40 = HEAP32[$39>>2]|0; + HEAP32[$11>>2] = $40; + } + $41 = HEAP32[$11>>2]|0; + $42 = ($41|0)!=(0|0); + if ($42) { + $43 = HEAP32[$5>>2]|0; + $44 = HEAP32[$11>>2]|0; + _fts5HashAddPoslistSize($43,$44); + $45 = HEAP32[$11>>2]|0; + $46 = ((($45)) + 40|0); + $47 = HEAP32[$7>>2]|0; + $48 = (($47) + 1)|0; + $49 = (($46) + ($48)|0); + $50 = HEAP32[$8>>2]|0; + HEAP32[$50>>2] = $49; + $51 = HEAP32[$11>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$7>>2]|0; + $55 = (40 + ($54))|0; + $56 = (($55) + 1)|0; + $57 = (($53) - ($56))|0; + $58 = HEAP32[$9>>2]|0; + HEAP32[$58>>2] = $57; + STACKTOP = sp;return 0; + } else { + $59 = HEAP32[$8>>2]|0; + HEAP32[$59>>2] = 0; + $60 = HEAP32[$9>>2]|0; + HEAP32[$60>>2] = 0; + STACKTOP = sp;return 0; + } + return (0)|0; } -function _sqlite3VdbeHalt($p) { - $p = $p|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $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, $db = 0, $eStatementOp = 0, $isSpecialError = 0, $mrc = 0, $or$cond = 0; - var $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $rc = 0, label = 0, sp = 0; +function _fts5HashKey($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $rc = sp + 16|0; - $db = sp + 12|0; - $mrc = sp + 8|0; - $eStatementOp = sp + 4|0; - $isSpecialError = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 69|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 40|0); - HEAP32[$9>>2] = 7; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$7>>2] = 13; + $8 = HEAP32[$5>>2]|0; + $9 = (($8) - 1)|0; + HEAP32[$6>>2] = $9; + while(1) { + $10 = HEAP32[$6>>2]|0; + $11 = ($10|0)>=(0); + $12 = HEAP32[$7>>2]|0; + if (!($11)) { + break; + } + $13 = $12 << 3; + $14 = HEAP32[$7>>2]|0; + $15 = $13 ^ $14; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$6>>2]|0; + $18 = (($16) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $15 ^ $20; + HEAP32[$7>>2] = $21; + $22 = HEAP32[$6>>2]|0; + $23 = (($22) + -1)|0; + HEAP32[$6>>2] = $23; } - $10 = HEAP32[$1>>2]|0; - _closeAllCursors($10); - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(770837923); - if ($14) { - HEAP32[$0>>2] = 0; - $274 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($274|0); + $24 = HEAP32[$3>>2]|0; + $25 = (($12>>>0) % ($24>>>0))&-1; + STACKTOP = sp;return ($25|0); +} +function _fts5HashEntrySort($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, $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, $9 = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = 32; + $16 = HEAP32[$8>>2]|0; + HEAP32[$16>>2] = 0; + $17 = (_sqlite3_malloc(128)|0); + HEAP32[$10>>2] = $17; + $18 = HEAP32[$10>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + HEAP32[$4>>2] = 7; + $80 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($80|0); } - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 36|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>=(0); - if ($18) { - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 144|0); - $21 = HEAP16[$20>>1]|0; - $22 = ($21&65535) >>> 8; - $23 = $22 & 1; - $24 = $23&65535; - $25 = ($24|0)!=(0); - if ($25) { - HEAP32[$eStatementOp>>2] = 0; - $26 = HEAP32[$1>>2]|0; - _sqlite3VdbeEnter($26); - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 40|0); - $29 = HEAP32[$28>>2]|0; - $30 = $29 & 255; - HEAP32[$mrc>>2] = $30; - $31 = HEAP32[$mrc>>2]|0; - $32 = ($31|0)==(7); - $33 = HEAP32[$mrc>>2]|0; - $34 = ($33|0)==(10); - $or$cond = $32 | $34; - $35 = HEAP32[$mrc>>2]|0; - $36 = ($35|0)==(9); - $or$cond3 = $or$cond | $36; - if ($or$cond3) { - $40 = 1; - } else { - $37 = HEAP32[$mrc>>2]|0; - $38 = ($37|0)==(13); - $40 = $38; - } - $39 = $40&1; - HEAP32[$isSpecialError>>2] = $39; - $41 = HEAP32[$isSpecialError>>2]|0; - $42 = ($41|0)!=(0); - do { - if ($42) { - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 144|0); - $45 = HEAP16[$44>>1]|0; - $46 = ($45&65535) >>> 7; - $47 = $46 & 1; - $48 = $47&65535; - $49 = ($48|0)==(0); - $50 = HEAP32[$mrc>>2]|0; - $51 = ($50|0)!=(9); - $or$cond5 = $49 | $51; - if ($or$cond5) { - $52 = HEAP32[$mrc>>2]|0; - $53 = ($52|0)==(7); - $54 = HEAP32[$mrc>>2]|0; - $55 = ($54|0)==(13); - $or$cond7 = $53 | $55; - if ($or$cond7) { - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 144|0); - $58 = HEAP16[$57>>1]|0; - $59 = ($58&65535) >>> 6; - $60 = $59 & 1; - $61 = $60&65535; - $62 = ($61|0)!=(0); - if ($62) { - HEAP32[$eStatementOp>>2] = 2; - break; - } - } - $63 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($63,516); - $64 = HEAP32[$db>>2]|0; - _sqlite3CloseSavepoints($64); - $65 = HEAP32[$db>>2]|0; - $66 = ((($65)) + 67|0); - HEAP8[$66>>0] = 1; - $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 44|0); - HEAP32[$68>>2] = 0; - } - } - } while(0); - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 40|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)==(0); - if ($72) { - $73 = HEAP32[$1>>2]|0; - (_sqlite3VdbeCheckFk($73,0)|0); - } - $74 = HEAP32[$db>>2]|0; - $75 = ((($74)) + 316|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(0); - if ($77) { - $78 = HEAP32[$db>>2]|0; - $79 = ((($78)) + 340|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)==(0|0); - if ($81) { - label = 36; - } else { - label = 19; - } - } else { - label = 19; - } - if ((label|0) == 19) { - $82 = HEAP32[$db>>2]|0; - $83 = ((($82)) + 67|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$db>>2]|0; - $88 = ((($87)) + 164|0); - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$1>>2]|0; - $91 = ((($90)) + 144|0); - $92 = HEAP16[$91>>1]|0; - $93 = ($92&65535) >>> 7; - $94 = $93 & 1; - $95 = $94&65535; - $96 = ($95|0)==(0); - $97 = $96&1; - $98 = ($89|0)==($97|0); - if ($98) { - $99 = HEAP32[$1>>2]|0; - $100 = ((($99)) + 40|0); - $101 = HEAP32[$100>>2]|0; - $102 = ($101|0)==(0); - if ($102) { - label = 23; - } else { - $103 = HEAP32[$1>>2]|0; - $104 = ((($103)) + 142|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = ($106|0)!=(3); - $108 = HEAP32[$isSpecialError>>2]|0; - $109 = ($108|0)!=(0); - $or$cond9 = $107 | $109; - if ($or$cond9) { - $158 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($158,0); - $159 = HEAP32[$1>>2]|0; - $160 = ((($159)) + 44|0); - HEAP32[$160>>2] = 0; - } else { - label = 23; - } - } - do { - if ((label|0) == 23) { - $110 = HEAP32[$1>>2]|0; - $111 = (_sqlite3VdbeCheckFk($110,1)|0); - HEAP32[$rc>>2] = $111; - $112 = HEAP32[$rc>>2]|0; - $113 = ($112|0)!=(0); - do { - if ($113) { - $114 = HEAP32[$1>>2]|0; - $115 = ((($114)) + 144|0); - $116 = HEAP16[$115>>1]|0; - $117 = ($116&65535) >>> 7; - $118 = $117 & 1; - $119 = $118&65535; - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$rc>>2] = 787; - break; - } - HEAP32[$0>>2] = 1; - $274 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($274|0); - } else { - $121 = HEAP32[$db>>2]|0; - $122 = HEAP32[$1>>2]|0; - $123 = (_vdbeCommit($121,$122)|0); - HEAP32[$rc>>2] = $123; - } - } while(0); - $124 = HEAP32[$rc>>2]|0; - $125 = ($124|0)==(5); - if ($125) { - $126 = HEAP32[$1>>2]|0; - $127 = ((($126)) + 144|0); - $128 = HEAP16[$127>>1]|0; - $129 = ($128&65535) >>> 7; - $130 = $129 & 1; - $131 = $130&65535; - $132 = ($131|0)!=(0); - if ($132) { - HEAP32[$0>>2] = 5; - $274 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($274|0); - } - } - $133 = HEAP32[$rc>>2]|0; - $134 = ($133|0)!=(0); - if ($134) { - $135 = HEAP32[$rc>>2]|0; - $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 40|0); - HEAP32[$137>>2] = $135; - $138 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($138,0); - $139 = HEAP32[$1>>2]|0; - $140 = ((($139)) + 44|0); - HEAP32[$140>>2] = 0; - break; - } else { - $141 = HEAP32[$db>>2]|0; - $142 = ((($141)) + 440|0); - $143 = $142; - $144 = $143; - HEAP32[$144>>2] = 0; - $145 = (($143) + 4)|0; - $146 = $145; - HEAP32[$146>>2] = 0; - $147 = HEAP32[$db>>2]|0; - $148 = ((($147)) + 448|0); - $149 = $148; - $150 = $149; - HEAP32[$150>>2] = 0; - $151 = (($149) + 4)|0; - $152 = $151; - HEAP32[$152>>2] = 0; - $153 = HEAP32[$db>>2]|0; - $154 = ((($153)) + 24|0); - $155 = HEAP32[$154>>2]|0; - $156 = $155 & -33554433; - HEAP32[$154>>2] = $156; - $157 = HEAP32[$db>>2]|0; - _sqlite3CommitInternalChanges($157); - break; - } - } - } while(0); - $161 = HEAP32[$db>>2]|0; - $162 = ((($161)) + 436|0); - HEAP32[$162>>2] = 0; - } else { - label = 36; - } - } else { - label = 36; - } + $20 = HEAP32[$10>>2]|0; + dest=$20; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$12>>2] = 0; + while(1) { + $21 = HEAP32[$12>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($21|0)<($24|0); + if (!($25)) { + break; + } + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$12>>2]|0; + $30 = (($28) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$14>>2] = $31; + while(1) { + $32 = HEAP32[$14>>2]|0; + $33 = ($32|0)!=(0|0); + if (!($33)) { + break; } - do { - if ((label|0) == 36) { - $163 = HEAP32[$eStatementOp>>2]|0; - $164 = ($163|0)==(0); - if ($164) { - $165 = HEAP32[$1>>2]|0; - $166 = ((($165)) + 40|0); - $167 = HEAP32[$166>>2]|0; - $168 = ($167|0)==(0); - if (!($168)) { - $169 = HEAP32[$1>>2]|0; - $170 = ((($169)) + 142|0); - $171 = HEAP8[$170>>0]|0; - $172 = $171&255; - $173 = ($172|0)==(3); - if (!($173)) { - $174 = HEAP32[$1>>2]|0; - $175 = ((($174)) + 142|0); - $176 = HEAP8[$175>>0]|0; - $177 = $176&255; - $178 = ($177|0)==(2); - if ($178) { - HEAP32[$eStatementOp>>2] = 2; - break; - } else { - $179 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($179,516); - $180 = HEAP32[$db>>2]|0; - _sqlite3CloseSavepoints($180); - $181 = HEAP32[$db>>2]|0; - $182 = ((($181)) + 67|0); - HEAP8[$182>>0] = 1; - $183 = HEAP32[$1>>2]|0; - $184 = ((($183)) + 44|0); - HEAP32[$184>>2] = 0; - break; - } - } - } - HEAP32[$eStatementOp>>2] = 1; - } - } - } while(0); - $185 = HEAP32[$eStatementOp>>2]|0; - $186 = ($185|0)!=(0); - if ($186) { - $187 = HEAP32[$1>>2]|0; - $188 = HEAP32[$eStatementOp>>2]|0; - $189 = (_sqlite3VdbeCloseStatement($187,$188)|0); - HEAP32[$rc>>2] = $189; - $190 = HEAP32[$rc>>2]|0; - $191 = ($190|0)!=(0); - if ($191) { - $192 = HEAP32[$1>>2]|0; - $193 = ((($192)) + 40|0); - $194 = HEAP32[$193>>2]|0; - $195 = ($194|0)==(0); - if ($195) { - label = 47; - } else { - $196 = HEAP32[$1>>2]|0; - $197 = ((($196)) + 40|0); - $198 = HEAP32[$197>>2]|0; - $199 = $198 & 255; - $200 = ($199|0)==(19); - if ($200) { - label = 47; - } - } - if ((label|0) == 47) { - $201 = HEAP32[$rc>>2]|0; - $202 = HEAP32[$1>>2]|0; - $203 = ((($202)) + 40|0); - HEAP32[$203>>2] = $201; - $204 = HEAP32[$db>>2]|0; - $205 = HEAP32[$1>>2]|0; - $206 = ((($205)) + 108|0); - $207 = HEAP32[$206>>2]|0; - _sqlite3DbFree($204,$207); - $208 = HEAP32[$1>>2]|0; - $209 = ((($208)) + 108|0); - HEAP32[$209>>2] = 0; - } - $210 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($210,516); - $211 = HEAP32[$db>>2]|0; - _sqlite3CloseSavepoints($211); - $212 = HEAP32[$db>>2]|0; - $213 = ((($212)) + 67|0); - HEAP8[$213>>0] = 1; - $214 = HEAP32[$1>>2]|0; - $215 = ((($214)) + 44|0); - HEAP32[$215>>2] = 0; - } - } - $216 = HEAP32[$1>>2]|0; - $217 = ((($216)) + 144|0); - $218 = HEAP16[$217>>1]|0; - $219 = ($218&65535) >>> 4; - $220 = $219 & 1; - $221 = $220&65535; - $222 = ($221|0)!=(0); - if ($222) { - $223 = HEAP32[$eStatementOp>>2]|0; - $224 = ($223|0)!=(2); - $225 = HEAP32[$db>>2]|0; - if ($224) { - $226 = HEAP32[$1>>2]|0; - $227 = ((($226)) + 44|0); - $228 = HEAP32[$227>>2]|0; - _sqlite3VdbeSetChanges($225,$228); - } else { - _sqlite3VdbeSetChanges($225,0); + $34 = HEAP32[$6>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + label = 9; + } else { + $36 = HEAP32[$14>>2]|0; + $37 = ((($36)) + 40|0); + $38 = HEAP32[$6>>2]|0; + $39 = HEAP32[$7>>2]|0; + $40 = (_memcmp($37,$38,$39)|0); + $41 = (0)==($40|0); + if ($41) { + label = 9; } - $229 = HEAP32[$1>>2]|0; - $230 = ((($229)) + 44|0); - HEAP32[$230>>2] = 0; } + if ((label|0) == 9) { + label = 0; + $42 = HEAP32[$14>>2]|0; + HEAP32[$15>>2] = $42; + $43 = HEAP32[$15>>2]|0; + $44 = ((($43)) + 4|0); + HEAP32[$44>>2] = 0; + HEAP32[$13>>2] = 0; + while(1) { + $45 = HEAP32[$10>>2]|0; + $46 = HEAP32[$13>>2]|0; + $47 = (($45) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)!=(0|0); + $50 = HEAP32[$15>>2]|0; + $51 = HEAP32[$10>>2]|0; + $52 = HEAP32[$13>>2]|0; + $53 = (($51) + ($52<<2)|0); + if (!($49)) { + break; + } + $54 = HEAP32[$53>>2]|0; + $55 = (_fts5HashEntryMerge($50,$54)|0); + HEAP32[$15>>2] = $55; + $56 = HEAP32[$10>>2]|0; + $57 = HEAP32[$13>>2]|0; + $58 = (($56) + ($57<<2)|0); + HEAP32[$58>>2] = 0; + $59 = HEAP32[$13>>2]|0; + $60 = (($59) + 1)|0; + HEAP32[$13>>2] = $60; + } + HEAP32[$53>>2] = $50; + } + $61 = HEAP32[$14>>2]|0; + $62 = HEAP32[$61>>2]|0; + HEAP32[$14>>2] = $62; } + $63 = HEAP32[$12>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$12>>2] = $64; } - $231 = HEAP32[$1>>2]|0; - $232 = ((($231)) + 36|0); - $233 = HEAP32[$232>>2]|0; - $234 = ($233|0)>=(0); - if ($234) { - $235 = HEAP32[$db>>2]|0; - $236 = ((($235)) + 156|0); - $237 = HEAP32[$236>>2]|0; - $238 = (($237) + -1)|0; - HEAP32[$236>>2] = $238; - $239 = HEAP32[$1>>2]|0; - $240 = ((($239)) + 144|0); - $241 = HEAP16[$240>>1]|0; - $242 = ($241&65535) >>> 7; - $243 = $242 & 1; - $244 = $243&65535; - $245 = ($244|0)!=(0); - if (!($245)) { - $246 = HEAP32[$db>>2]|0; - $247 = ((($246)) + 164|0); - $248 = HEAP32[$247>>2]|0; - $249 = (($248) + -1)|0; - HEAP32[$247>>2] = $249; - } - $250 = HEAP32[$1>>2]|0; - $251 = ((($250)) + 144|0); - $252 = HEAP16[$251>>1]|0; - $253 = ($252&65535) >>> 8; - $254 = $253 & 1; - $255 = $254&65535; - $256 = ($255|0)!=(0); - if ($256) { - $257 = HEAP32[$db>>2]|0; - $258 = ((($257)) + 160|0); - $259 = HEAP32[$258>>2]|0; - $260 = (($259) + -1)|0; - HEAP32[$258>>2] = $260; - } - } - $261 = HEAP32[$1>>2]|0; - $262 = ((($261)) + 20|0); - HEAP32[$262>>2] = 832317811; - $263 = HEAP32[$db>>2]|0; - $264 = ((($263)) + 69|0); - $265 = HEAP8[$264>>0]|0; - $266 = ($265<<24>>24)!=(0); - if ($266) { - $267 = HEAP32[$1>>2]|0; - $268 = ((($267)) + 40|0); - HEAP32[$268>>2] = 7; - } - $269 = HEAP32[$1>>2]|0; - $270 = ((($269)) + 40|0); - $271 = HEAP32[$270>>2]|0; - $272 = ($271|0)==(5); - $273 = $272 ? 5 : 0; - HEAP32[$0>>2] = $273; - $274 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($274|0); -} -function _out2Prerelease($p,$pOp) { - $p = $p|0; - $pOp = $pOp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pOut = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pOut = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pOp; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 92|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + (($5*40)|0)|0); - HEAP32[$pOut>>2] = $9; - $10 = HEAP32[$pOut>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = $13 & 9312; - $15 = ($14|0)!=(0); - $16 = HEAP32[$pOut>>2]|0; - if ($15) { - $17 = (_out2PrereleaseWithClear($16)|0); - HEAP32[$0>>2] = $17; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } else { - $18 = ((($16)) + 8|0); - HEAP16[$18>>1] = 4; - $19 = HEAP32[$pOut>>2]|0; - HEAP32[$0>>2] = $19; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + HEAP32[$11>>2] = 0; + HEAP32[$13>>2] = 0; + while(1) { + $65 = HEAP32[$13>>2]|0; + $66 = ($65|0)<(32); + if (!($66)) { + break; + } + $67 = HEAP32[$11>>2]|0; + $68 = HEAP32[$10>>2]|0; + $69 = HEAP32[$13>>2]|0; + $70 = (($68) + ($69<<2)|0); + $71 = HEAP32[$70>>2]|0; + $72 = (_fts5HashEntryMerge($67,$71)|0); + HEAP32[$11>>2] = $72; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + 1)|0; + HEAP32[$13>>2] = $74; } - return (0)|0; + $75 = HEAP32[$5>>2]|0; + $76 = ((($75)) + 8|0); + HEAP32[$76>>2] = 0; + $77 = HEAP32[$10>>2]|0; + _sqlite3_free($77); + $78 = HEAP32[$11>>2]|0; + $79 = HEAP32[$8>>2]|0; + HEAP32[$79>>2] = $78; + HEAP32[$4>>2] = 0; + $80 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($80|0); } -function _sqlite3VdbeMemTooBig($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, label = 0, sp = 0; +function _fts5HashEntryMerge($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $n = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 18; - $7 = ($6|0)!=(0); - if (!($7)) { - HEAP32[$0>>2] = 0; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); - } - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$n>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & 16384; - $16 = ($15|0)!=(0); - if ($16) { - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$n>>2]|0; - $20 = (($19) + ($18))|0; - HEAP32[$n>>2] = $20; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $9 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $9; + $10 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $10; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $6; + while(1) { + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)!=(0|0); + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)!=(0|0); + $15 = $12 ? 1 : $14; + if (!($15)) { + break; + } + $16 = HEAP32[$4>>2]|0; + $17 = ($16|0)==(0|0); + $18 = HEAP32[$5>>2]|0; + if ($17) { + $19 = HEAP32[$7>>2]|0; + HEAP32[$19>>2] = $18; + HEAP32[$5>>2] = 0; + continue; + } + $20 = ($18|0)==(0|0); + if ($20) { + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$7>>2]|0; + HEAP32[$22>>2] = $21; + HEAP32[$4>>2] = 0; + continue; + } + HEAP32[$8>>2] = 0; + while(1) { + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 40|0); + $25 = HEAP32[$8>>2]|0; + $26 = (($24) + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 40|0); + $31 = HEAP32[$8>>2]|0; + $32 = (($30) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($28|0)==($34|0); + if (!($35)) { + break; + } + $36 = HEAP32[$8>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$8>>2] = $37; + } + $38 = HEAP32[$4>>2]|0; + $39 = ((($38)) + 40|0); + $40 = HEAP32[$8>>2]|0; + $41 = (($39) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 40|0); + $46 = HEAP32[$8>>2]|0; + $47 = (($45) + ($46)|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = ($43|0)>($49|0); + if ($50) { + $51 = HEAP32[$5>>2]|0; + $52 = HEAP32[$7>>2]|0; + HEAP32[$52>>2] = $51; + $53 = HEAP32[$5>>2]|0; + $54 = ((($53)) + 4|0); + HEAP32[$7>>2] = $54; + $55 = HEAP32[$5>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + HEAP32[$5>>2] = $57; + } else { + $58 = HEAP32[$4>>2]|0; + $59 = HEAP32[$7>>2]|0; + HEAP32[$59>>2] = $58; + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 4|0); + HEAP32[$7>>2] = $61; + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 4|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$4>>2] = $64; + } + $65 = HEAP32[$7>>2]|0; + HEAP32[$65>>2] = 0; } - $21 = HEAP32[$n>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 32|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($24)) + 96|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($21|0)>($26|0); - $28 = $27&1; - HEAP32[$0>>2] = $28; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); + $66 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($66|0); } -function _sqlite3VdbeCheckFk($p,$deferred) { - $p = $p|0; - $deferred = $deferred|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _fts5IndexDataVersion($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $db = sp + 4|0; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $deferred; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 440|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; + $vararg_buffer = sp + 16|0; + $1 = sp + 8|0; + $2 = sp + 20|0; + $3 = sp; + HEAP32[$2>>2] = $0; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = 0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = 0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + if ($11) { + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 68|0); $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$db>>2]|0; - $16 = ((($15)) + 448|0); - $17 = $16; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (_i64Add(($11|0),($14|0),($19|0),($22|0))|0); - $24 = tempRet0; - $25 = ($24|0)>(0); - $26 = ($23>>>0)>(0); - $27 = ($24|0)==(0); - $28 = $27 & $26; - $29 = $25 | $28; - if (!($29)) { - label = 3; - } - } else { - label = 3; - } - do { - if ((label|0) == 3) { - $30 = HEAP32[$2>>2]|0; - $31 = ($30|0)!=(0); - if (!($31)) { - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 64|0); + $15 = ($14|0)==(0|0); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 68|0); + $19 = HEAP32[$2>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$vararg_buffer>>2] = $22; + $23 = (_sqlite3_mprintf(48195,$vararg_buffer)|0); + $24 = (_fts5IndexPrepareStmt($16,$18,$23)|0); + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 36|0); + HEAP32[$26>>2] = $24; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 36|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0); + if ($30) { + $31 = $1; + $32 = $31; + HEAP32[$32>>2] = 0; + $33 = (($31) + 4)|0; $34 = $33; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)>(0); - $41 = ($36>>>0)>(0); - $42 = ($39|0)==(0); - $43 = $42 & $41; - $44 = $40 | $43; - if ($44) { - break; - } + HEAP32[$34>>2] = 0; + $65 = $1; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (($65) + 4)|0; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + tempRet0 = ($70); + STACKTOP = sp;return ($67|0); } - HEAP32[$0>>2] = 0; - $50 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($50|0); } - } while(0); - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 40|0); - HEAP32[$46>>2] = 787; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 142|0); - HEAP8[$48>>0] = 2; - $49 = HEAP32[$1>>2]|0; - _sqlite3VdbeError($49,35189,$vararg_buffer); - HEAP32[$0>>2] = 1; - $50 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($50|0); + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 68|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_sqlite3_step($37)|0); + $39 = (100)==($38|0); + if ($39) { + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 68|0); + $42 = HEAP32[$41>>2]|0; + $43 = (_sqlite3_column_int64($42,0)|0); + $44 = tempRet0; + $45 = $3; + $46 = $45; + HEAP32[$46>>2] = $43; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $44; + } + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 68|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_sqlite3_reset($51)|0); + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 36|0); + HEAP32[$54>>2] = $52; + } + $55 = $3; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = $1; + $62 = $61; + HEAP32[$62>>2] = $57; + $63 = (($61) + 4)|0; + $64 = $63; + HEAP32[$64>>2] = $60; + $65 = $1; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (($65) + 4)|0; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + tempRet0 = ($70); + STACKTOP = sp;return ($67|0); } -function _sqlite3VdbeCloseStatement($p,$eOp) { - $p = $p|0; - $eOp = $eOp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, $i = 0, $iSavepoint = 0, $pBt = 0, $rc = 0, $rc2 = 0; - var label = 0, sp = 0; +function _fts5StructureReadUncached($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $db = sp + 20|0; - $rc = sp + 16|0; - $i = sp + 12|0; - $iSavepoint = sp + 8|0; - $rc2 = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $eOp; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 436|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - if (!($7)) { - $93 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($93|0); + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$3>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = (_fts5DataRead($8,10,0)|0); + HEAP32[$5>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 36|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $48 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($48|0); } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 48|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0); - if (!($11)) { - $93 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($93|0); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($15) + ($18)|0); + dest=$19; stop=dest+20|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_fts5StructureDecode($21,$24,$4,$2)|0); + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 36|0); + HEAP32[$27>>2] = $25; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 36|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 64|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = ($34|0)!=($35|0); + if ($36) { + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = (_sqlite3Fts5ConfigLoad($37,$38)|0); + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 36|0); + HEAP32[$41>>2] = $39; + } } - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 48|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) - 1)|0; - HEAP32[$iSavepoint>>2] = $15; - HEAP32[$i>>2] = 0; + $42 = HEAP32[$5>>2]|0; + _fts5DataRelease($42); + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 36|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)!=(0); + if (!($46)) { + $48 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($48|0); + } + $47 = HEAP32[$2>>2]|0; + _fts5StructureRelease($47); + HEAP32[$2>>2] = 0; + $48 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($48|0); +} +function _fts5StructureDecode($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$14>>2] = 0; + $18 = HEAP32[$6>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + $21 = (_sqlite3Fts5Get32($20)|0); + $22 = HEAP32[$6>>2]|0; + HEAP32[$22>>2] = $21; + } + HEAP32[$9>>2] = 4; + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$9>>2]|0; + $25 = (($23) + ($24)|0); + $26 = (_sqlite3Fts5GetVarint32($25,$11)|0); + $27 = HEAP32[$9>>2]|0; + $28 = (($27) + ($26))|0; + HEAP32[$9>>2] = $28; + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = (($29) + ($30)|0); + $32 = (_sqlite3Fts5GetVarint32($31,$12)|0); + $33 = HEAP32[$9>>2]|0; + $34 = (($33) + ($32))|0; + HEAP32[$9>>2] = $34; + $35 = HEAP32[$11>>2]|0; + $36 = (($35) - 1)|0; + $37 = ($36*12)|0; + $38 = (40 + ($37))|0; + HEAP32[$13>>2] = $38; + $39 = HEAP32[$13>>2]|0; + $40 = (_sqlite3Fts5MallocZero($8,$39)|0); + HEAP32[$14>>2] = $40; + $41 = HEAP32[$14>>2]|0; + $42 = ($41|0)!=(0|0); + if (!($42)) { + $142 = HEAP32[$14>>2]|0; + $143 = HEAP32[$7>>2]|0; + HEAP32[$143>>2] = $142; + $144 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($144|0); + } + $43 = HEAP32[$14>>2]|0; + HEAP32[$43>>2] = 1; + $44 = HEAP32[$11>>2]|0; + $45 = HEAP32[$14>>2]|0; + $46 = ((($45)) + 20|0); + HEAP32[$46>>2] = $44; + $47 = HEAP32[$12>>2]|0; + $48 = HEAP32[$14>>2]|0; + $49 = ((($48)) + 16|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$9>>2]|0; + $52 = (($50) + ($51)|0); + $53 = HEAP32[$14>>2]|0; + $54 = ((($53)) + 8|0); + $55 = (_sqlite3Fts5GetVarint($52,$54)|0); + $56 = $55&255; + $57 = HEAP32[$9>>2]|0; + $58 = (($57) + ($56))|0; + HEAP32[$9>>2] = $58; + HEAP32[$10>>2] = 0; while(1) { - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$db>>2]|0; - $18 = ((($17)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($16|0)<($19|0); - if (!($20)) { + $59 = HEAP32[$8>>2]|0; + $60 = ($59|0)==(0); + if (!($60)) { break; } - HEAP32[$rc2>>2] = 0; - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$db>>2]|0; - $23 = ((($22)) + 16|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($21<<4)|0); - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pBt>>2] = $27; - $28 = HEAP32[$pBt>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$1>>2]|0; - $31 = ($30|0)==(2); - if ($31) { - $32 = HEAP32[$pBt>>2]|0; - $33 = HEAP32[$iSavepoint>>2]|0; - $34 = (_sqlite3BtreeSavepoint($32,2,$33)|0); - HEAP32[$rc2>>2] = $34; - } - $35 = HEAP32[$rc2>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[$pBt>>2]|0; - $38 = HEAP32[$iSavepoint>>2]|0; - $39 = (_sqlite3BtreeSavepoint($37,1,$38)|0); - HEAP32[$rc2>>2] = $39; - } - $40 = HEAP32[$rc>>2]|0; - $41 = ($40|0)==(0); - if ($41) { - $42 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $42; - } - } - $43 = HEAP32[$i>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$i>>2] = $44; - } - $45 = HEAP32[$db>>2]|0; - $46 = ((($45)) + 436|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + -1)|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 48|0); - HEAP32[$50>>2] = 0; - $51 = HEAP32[$rc>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$1>>2]|0; - $54 = ($53|0)==(2); - if ($54) { - $55 = HEAP32[$db>>2]|0; - $56 = HEAP32[$iSavepoint>>2]|0; - $57 = (_sqlite3VtabSavepoint($55,2,$56)|0); - HEAP32[$rc>>2] = $57; + $61 = HEAP32[$10>>2]|0; + $62 = HEAP32[$11>>2]|0; + $63 = ($61|0)<($62|0); + if (!($63)) { + break; } - $58 = HEAP32[$rc>>2]|0; - $59 = ($58|0)==(0); - if ($59) { - $60 = HEAP32[$db>>2]|0; - $61 = HEAP32[$iSavepoint>>2]|0; - $62 = (_sqlite3VtabSavepoint($60,1,$61)|0); - HEAP32[$rc>>2] = $62; + $64 = HEAP32[$14>>2]|0; + $65 = ((($64)) + 24|0); + $66 = HEAP32[$10>>2]|0; + $67 = (($65) + (($66*12)|0)|0); + HEAP32[$15>>2] = $67; + HEAP32[$16>>2] = 0; + $68 = HEAP32[$9>>2]|0; + $69 = HEAP32[$5>>2]|0; + $70 = ($68|0)>=($69|0); + if ($70) { + HEAP32[$8>>2] = 267; + } else { + $71 = HEAP32[$4>>2]|0; + $72 = HEAP32[$9>>2]|0; + $73 = (($71) + ($72)|0); + $74 = HEAP32[$15>>2]|0; + $75 = (_sqlite3Fts5GetVarint32($73,$74)|0); + $76 = HEAP32[$9>>2]|0; + $77 = (($76) + ($75))|0; + HEAP32[$9>>2] = $77; + $78 = HEAP32[$4>>2]|0; + $79 = HEAP32[$9>>2]|0; + $80 = (($78) + ($79)|0); + $81 = (_sqlite3Fts5GetVarint32($80,$16)|0); + $82 = HEAP32[$9>>2]|0; + $83 = (($82) + ($81))|0; + HEAP32[$9>>2] = $83; + $84 = HEAP32[$16>>2]|0; + $85 = ($84*12)|0; + $86 = (_sqlite3Fts5MallocZero($8,$85)|0); + $87 = HEAP32[$15>>2]|0; + $88 = ((($87)) + 8|0); + HEAP32[$88>>2] = $86; } + $89 = HEAP32[$8>>2]|0; + $90 = ($89|0)==(0); + L15: do { + if ($90) { + $91 = HEAP32[$16>>2]|0; + $92 = HEAP32[$15>>2]|0; + $93 = ((($92)) + 4|0); + HEAP32[$93>>2] = $91; + HEAP32[$17>>2] = 0; + while(1) { + $94 = HEAP32[$17>>2]|0; + $95 = HEAP32[$16>>2]|0; + $96 = ($94|0)<($95|0); + if (!($96)) { + break L15; + } + $97 = HEAP32[$9>>2]|0; + $98 = HEAP32[$5>>2]|0; + $99 = ($97|0)>=($98|0); + if ($99) { + break; + } + $100 = HEAP32[$4>>2]|0; + $101 = HEAP32[$9>>2]|0; + $102 = (($100) + ($101)|0); + $103 = HEAP32[$15>>2]|0; + $104 = ((($103)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$17>>2]|0; + $107 = (($105) + (($106*12)|0)|0); + $108 = (_sqlite3Fts5GetVarint32($102,$107)|0); + $109 = HEAP32[$9>>2]|0; + $110 = (($109) + ($108))|0; + HEAP32[$9>>2] = $110; + $111 = HEAP32[$4>>2]|0; + $112 = HEAP32[$9>>2]|0; + $113 = (($111) + ($112)|0); + $114 = HEAP32[$15>>2]|0; + $115 = ((($114)) + 8|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$17>>2]|0; + $118 = (($116) + (($117*12)|0)|0); + $119 = ((($118)) + 4|0); + $120 = (_sqlite3Fts5GetVarint32($113,$119)|0); + $121 = HEAP32[$9>>2]|0; + $122 = (($121) + ($120))|0; + HEAP32[$9>>2] = $122; + $123 = HEAP32[$4>>2]|0; + $124 = HEAP32[$9>>2]|0; + $125 = (($123) + ($124)|0); + $126 = HEAP32[$15>>2]|0; + $127 = ((($126)) + 8|0); + $128 = HEAP32[$127>>2]|0; + $129 = HEAP32[$17>>2]|0; + $130 = (($128) + (($129*12)|0)|0); + $131 = ((($130)) + 8|0); + $132 = (_sqlite3Fts5GetVarint32($125,$131)|0); + $133 = HEAP32[$9>>2]|0; + $134 = (($133) + ($132))|0; + HEAP32[$9>>2] = $134; + $135 = HEAP32[$17>>2]|0; + $136 = (($135) + 1)|0; + HEAP32[$17>>2] = $136; + } + HEAP32[$8>>2] = 267; + } + } while(0); + $137 = HEAP32[$10>>2]|0; + $138 = (($137) + 1)|0; + HEAP32[$10>>2] = $138; } - $63 = HEAP32[$1>>2]|0; - $64 = ($63|0)==(2); - if (!($64)) { - $93 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($93|0); + $139 = HEAP32[$8>>2]|0; + $140 = ($139|0)!=(0); + if (!($140)) { + $142 = HEAP32[$14>>2]|0; + $143 = HEAP32[$7>>2]|0; + HEAP32[$143>>2] = $142; + $144 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($144|0); } - $65 = HEAP32[$0>>2]|0; - $66 = ((($65)) + 72|0); - $67 = $66; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$db>>2]|0; - $74 = ((($73)) + 440|0); - $75 = $74; - $76 = $75; - HEAP32[$76>>2] = $69; - $77 = (($75) + 4)|0; - $78 = $77; - HEAP32[$78>>2] = $72; - $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 80|0); - $81 = $80; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = (($81) + 4)|0; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[$db>>2]|0; - $88 = ((($87)) + 448|0); - $89 = $88; - $90 = $89; - HEAP32[$90>>2] = $83; - $91 = (($89) + 4)|0; - $92 = $91; - HEAP32[$92>>2] = $86; - $93 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($93|0); + $141 = HEAP32[$14>>2]|0; + _fts5StructureRelease($141); + HEAP32[$14>>2] = 0; + $142 = HEAP32[$14>>2]|0; + $143 = HEAP32[$7>>2]|0; + HEAP32[$143>>2] = $142; + $144 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($144|0); } -function _sqlite3VdbeMemNulTerminate($pMem) { - $pMem = $pMem|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; +function _sqlite3Fts5ConfigLoad($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 514; - $7 = ($6|0)!=(2); - if ($7) { - HEAP32[$0>>2] = 0; - $10 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($10|0); - } else { - $8 = HEAP32[$1>>2]|0; - $9 = (_vdbeMemAddTerminator($8)|0); - HEAP32[$0>>2] = $9; - $10 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($10|0); + STACKTOP = STACKTOP + 64|0; + $vararg_buffer3 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 52|0; + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 47911; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 68|0); + HEAP32[$13>>2] = 4050; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 72|0); + HEAP32[$15>>2] = 4; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 80|0); + HEAP32[$17>>2] = 4; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 76|0); + HEAP32[$19>>2] = 16; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 84|0); + HEAP32[$21>>2] = 1048576; + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$vararg_buffer>>2] = $25; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $28; + $29 = (_sqlite3Fts5Mprintf($7,$22,$vararg_buffer)|0); + HEAP32[$5>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$2>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = (_sqlite3_prepare_v2($33,$34,-1,$6,0)|0); + HEAP32[$7>>2] = $35; + $36 = HEAP32[$5>>2]|0; + _sqlite3_free($36); } - return (0)|0; -} -function _numericType($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 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; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 12; - $7 = ($6|0)!=(0); - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - do { - if ($7) { - $12 = $11 & 12; - $13 = $12&65535; - HEAP16[$0>>1] = $13; - } else { - $14 = $11 & 18; - $15 = ($14|0)!=(0); - if ($15) { - $16 = HEAP32[$1>>2]|0; - $17 = (_computeNumericType($16)|0); - HEAP16[$0>>1] = $17; + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)==(0); + if ($38) { + while(1) { + $39 = HEAP32[$6>>2]|0; + $40 = (_sqlite3_step($39)|0); + $41 = (100)==($40|0); + $42 = HEAP32[$6>>2]|0; + if (!($41)) { break; + } + $43 = (_sqlite3_column_text($42,0)|0); + HEAP32[$9>>2] = $43; + $44 = HEAP32[$6>>2]|0; + $45 = (_sqlite3_column_value($44,1)|0); + HEAP32[$10>>2] = $45; + $46 = HEAP32[$9>>2]|0; + $47 = (_sqlite3_stricmp($46,47943)|0); + $48 = (0)==($47|0); + if ($48) { + $49 = HEAP32[$10>>2]|0; + $50 = (_sqlite3_value_int($49)|0); + HEAP32[$8>>2] = $50; + continue; } else { - HEAP16[$0>>1] = 0; - break; + HEAP32[$11>>2] = 0; + $51 = HEAP32[$2>>2]|0; + $52 = HEAP32[$9>>2]|0; + $53 = HEAP32[$10>>2]|0; + (_sqlite3Fts5ConfigSetValue($51,$52,$53,$11)|0); + continue; } } - } while(0); - $18 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($18|0); + $54 = (_sqlite3_finalize($42)|0); + HEAP32[$7>>2] = $54; + } + $55 = HEAP32[$7>>2]|0; + $56 = ($55|0)==(0); + $57 = HEAP32[$8>>2]|0; + $58 = ($57|0)!=(4); + $or$cond = $56 & $58; + if ($or$cond) { + HEAP32[$7>>2] = 1; + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 96|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)!=(0|0); + if ($62) { + $63 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer3>>2] = $63; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 4; + $64 = (_sqlite3_mprintf(47951,$vararg_buffer3)|0); + $65 = HEAP32[$2>>2]|0; + $66 = ((($65)) + 96|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$67>>2] = $64; + } + } + $68 = HEAP32[$7>>2]|0; + $69 = ($68|0)==(0); + if (!($69)) { + $73 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($73|0); + } + $70 = HEAP32[$3>>2]|0; + $71 = HEAP32[$2>>2]|0; + $72 = ((($71)) + 64|0); + HEAP32[$72>>2] = $70; + $73 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($73|0); } -function _sqlite3AddInt64($pA,$0,$1) { - $pA = $pA|0; +function _sqlite3Fts5Mprintf($0,$1,$varargs) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $iA = 0, label = 0, sp = 0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 8|0; - $iA = sp; - HEAP32[$3>>2] = $pA; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = $9; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = $iA; - $17 = $16; - HEAP32[$17>>2] = $12; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - $20 = $4; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)>(0); - $27 = ($22>>>0)>=(0); - $28 = ($25|0)==(0); - $29 = $28 & $27; - $30 = $26 | $29; - $31 = $iA; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - if ($30) { - $37 = ($36|0)>(0); - $38 = ($33>>>0)>(0); - $39 = ($36|0)==(0); - $40 = $39 & $38; - $41 = $37 | $40; - if ($41) { - $42 = $iA; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (_i64Subtract(-1,2147483647,($44|0),($47|0))|0); - $49 = tempRet0; - $50 = $4; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = ($49|0)<($55|0); - $57 = ($48>>>0)<($52>>>0); - $58 = ($49|0)==($55|0); - $59 = $58 & $57; - $60 = $56 | $59; - if ($60) { - HEAP32[$2>>2] = 1; - $104 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($104|0); - } - } - } else { - $61 = ($36|0)<(0); - if ($61) { - $62 = $iA; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (_i64Add(($64|0),($67|0),-1,2147483647)|0); - $69 = tempRet0; - $70 = (_i64Subtract(0,0,($68|0),($69|0))|0); - $71 = tempRet0; - $72 = $4; - $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|0)>($79|0); - $81 = ($70>>>0)>($78>>>0); - $82 = ($71|0)==($79|0); - $83 = $82 & $81; - $84 = $80 | $83; - if ($84) { - HEAP32[$2>>2] = 1; - $104 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($104|0); - } + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + HEAP32[$5>>2] = $varargs; + $9 = HEAP32[$3>>2]|0; + $10 = (_sqlite3_vmprintf($9,$5)|0); + HEAP32[$4>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)==(0|0); + if ($12) { + $13 = HEAP32[$2>>2]|0; + HEAP32[$13>>2] = 7; } } - $85 = $4; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$3>>2]|0; - $92 = $91; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = (_i64Add(($94|0),($97|0),($87|0),($90|0))|0); - $99 = tempRet0; - $100 = $91; - $101 = $100; - HEAP32[$101>>2] = $98; - $102 = (($100) + 4)|0; - $103 = $102; - HEAP32[$103>>2] = $99; - HEAP32[$2>>2] = 0; - $104 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($104|0); + $14 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($14|0); } -function _sqlite3SubInt64($pA,$0,$1) { - $pA = $pA|0; +function _sqlite3Fts5ConfigSetValue($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp; - HEAP32[$3>>2] = $pA; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = $4; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = ($11|0)==(0); - $16 = ($14|0)==(-2147483648); - $17 = $15 & $16; - $18 = HEAP32[$3>>2]|0; - if (!($17)) { - $49 = $4; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (_i64Subtract(0,0,($51|0),($54|0))|0); - $56 = tempRet0; - $57 = (_sqlite3AddInt64($18,$55,$56)|0); - HEAP32[$2>>2] = $57; - $58 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($58|0); + STACKTOP = STACKTOP + 64|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $17 = HEAP32[$5>>2]|0; + $18 = (_sqlite3_stricmp($17,48016)|0); + $19 = (0)==($18|0); + if ($19) { + HEAP32[$9>>2] = 0; + $20 = HEAP32[$6>>2]|0; + $21 = (_sqlite3_value_numeric_type($20)|0); + $22 = (1)==($21|0); + if ($22) { + $23 = HEAP32[$6>>2]|0; + $24 = (_sqlite3_value_int($23)|0); + HEAP32[$9>>2] = $24; + } + $25 = HEAP32[$9>>2]|0; + $26 = ($25|0)<=(0); + $27 = HEAP32[$9>>2]|0; + $28 = ($27|0)>(131072); + $or$cond = $26 | $28; + if ($or$cond) { + $29 = HEAP32[$7>>2]|0; + HEAP32[$29>>2] = 1; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } else { + $30 = HEAP32[$9>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = ((($31)) + 68|0); + HEAP32[$32>>2] = $30; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } } - $19 = $18; - $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) { - HEAP32[$2>>2] = 1; - $58 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($58|0); - } else { - $30 = $4; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$3>>2]|0; - $37 = $36; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (_i64Subtract(($39|0),($42|0),($32|0),($35|0))|0); - $44 = tempRet0; - $45 = $36; - $46 = $45; - HEAP32[$46>>2] = $43; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $44; - HEAP32[$2>>2] = 0; - $58 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($58|0); + $33 = HEAP32[$5>>2]|0; + $34 = (_sqlite3_stricmp($33,48021)|0); + $35 = (0)==($34|0); + if ($35) { + HEAP32[$10>>2] = -1; + $36 = HEAP32[$6>>2]|0; + $37 = (_sqlite3_value_numeric_type($36)|0); + $38 = (1)==($37|0); + if ($38) { + $39 = HEAP32[$6>>2]|0; + $40 = (_sqlite3_value_int($39)|0); + HEAP32[$10>>2] = $40; + } + $41 = HEAP32[$10>>2]|0; + $42 = ($41|0)<=(0); + if ($42) { + $43 = HEAP32[$7>>2]|0; + HEAP32[$43>>2] = 1; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } else { + $44 = HEAP32[$10>>2]|0; + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 84|0); + HEAP32[$46>>2] = $44; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } } - return (0)|0; + $47 = HEAP32[$5>>2]|0; + $48 = (_sqlite3_stricmp($47,48030)|0); + $49 = (0)==($48|0); + if ($49) { + HEAP32[$11>>2] = -1; + $50 = HEAP32[$6>>2]|0; + $51 = (_sqlite3_value_numeric_type($50)|0); + $52 = (1)==($51|0); + if ($52) { + $53 = HEAP32[$6>>2]|0; + $54 = (_sqlite3_value_int($53)|0); + HEAP32[$11>>2] = $54; + } + $55 = HEAP32[$11>>2]|0; + $56 = ($55|0)<(0); + $57 = HEAP32[$11>>2]|0; + $58 = ($57|0)>(64); + $or$cond3 = $56 | $58; + if ($or$cond3) { + $59 = HEAP32[$7>>2]|0; + HEAP32[$59>>2] = 1; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } + $60 = HEAP32[$11>>2]|0; + $61 = ($60|0)==(1); + if ($61) { + HEAP32[$11>>2] = 4; + } + $62 = HEAP32[$11>>2]|0; + $63 = HEAP32[$4>>2]|0; + $64 = ((($63)) + 72|0); + HEAP32[$64>>2] = $62; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } + $65 = HEAP32[$5>>2]|0; + $66 = (_sqlite3_stricmp($65,48040)|0); + $67 = (0)==($66|0); + if ($67) { + HEAP32[$12>>2] = -1; + $68 = HEAP32[$6>>2]|0; + $69 = (_sqlite3_value_numeric_type($68)|0); + $70 = (1)==($69|0); + if ($70) { + $71 = HEAP32[$6>>2]|0; + $72 = (_sqlite3_value_int($71)|0); + HEAP32[$12>>2] = $72; + } + $73 = HEAP32[$12>>2]|0; + $74 = ($73|0)<(2); + $75 = HEAP32[$12>>2]|0; + $76 = ($75|0)>(16); + $or$cond5 = $74 | $76; + if ($or$cond5) { + $77 = HEAP32[$7>>2]|0; + HEAP32[$77>>2] = 1; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } else { + $78 = HEAP32[$12>>2]|0; + $79 = HEAP32[$4>>2]|0; + $80 = ((($79)) + 80|0); + HEAP32[$80>>2] = $78; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } + } + $81 = HEAP32[$5>>2]|0; + $82 = (_sqlite3_stricmp($81,48050)|0); + $83 = (0)==($82|0); + if ($83) { + HEAP32[$13>>2] = -1; + $84 = HEAP32[$6>>2]|0; + $85 = (_sqlite3_value_numeric_type($84)|0); + $86 = (1)==($85|0); + if ($86) { + $87 = HEAP32[$6>>2]|0; + $88 = (_sqlite3_value_int($87)|0); + HEAP32[$13>>2] = $88; + } + $89 = HEAP32[$13>>2]|0; + $90 = ($89|0)<(0); + if ($90) { + $91 = HEAP32[$7>>2]|0; + HEAP32[$91>>2] = 1; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } + $92 = HEAP32[$13>>2]|0; + $93 = ($92|0)<=(1); + if ($93) { + HEAP32[$13>>2] = 16; + } + $94 = HEAP32[$13>>2]|0; + $95 = HEAP32[$4>>2]|0; + $96 = ((($95)) + 76|0); + HEAP32[$96>>2] = $94; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } + $97 = HEAP32[$5>>2]|0; + $98 = (_sqlite3_stricmp($97,48062)|0); + $99 = (0)==($98|0); + if (!($99)) { + $121 = HEAP32[$7>>2]|0; + HEAP32[$121>>2] = 1; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } + $100 = HEAP32[$6>>2]|0; + $101 = (_sqlite3_value_text($100)|0); + HEAP32[$14>>2] = $101; + $102 = HEAP32[$14>>2]|0; + $103 = (_sqlite3Fts5ConfigParseRank($102,$15,$16)|0); + HEAP32[$8>>2] = $103; + $104 = HEAP32[$8>>2]|0; + $105 = ($104|0)==(0); + if ($105) { + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 88|0); + $108 = HEAP32[$107>>2]|0; + _sqlite3_free($108); + $109 = HEAP32[$4>>2]|0; + $110 = ((($109)) + 92|0); + $111 = HEAP32[$110>>2]|0; + _sqlite3_free($111); + $112 = HEAP32[$15>>2]|0; + $113 = HEAP32[$4>>2]|0; + $114 = ((($113)) + 88|0); + HEAP32[$114>>2] = $112; + $115 = HEAP32[$16>>2]|0; + $116 = HEAP32[$4>>2]|0; + $117 = ((($116)) + 92|0); + HEAP32[$117>>2] = $115; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } + $118 = HEAP32[$8>>2]|0; + $119 = ($118|0)==(1); + if (!($119)) { + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); + } + HEAP32[$8>>2] = 0; + $120 = HEAP32[$7>>2]|0; + HEAP32[$120>>2] = 1; + $122 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($122|0); } -function _sqlite3MulInt64($pA,$0,$1) { - $pA = $pA|0; +function _sqlite3Fts5ConfigParseRank($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iA = 0, label = 0, sp = 0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 8|0; - $iA = sp; - HEAP32[$3>>2] = $pA; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = $9; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = $iA; - $17 = $16; - HEAP32[$17>>2] = $12; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - $20 = $4; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)>(0); - $27 = ($22>>>0)>(0); - $28 = ($25|0)==(0); - $29 = $28 & $27; - $30 = $26 | $29; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $12 = HEAP32[$3>>2]|0; + HEAP32[$6>>2] = $12; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$10>>2] = 0; + $13 = HEAP32[$4>>2]|0; + HEAP32[$13>>2] = 0; + $14 = HEAP32[$5>>2]|0; + HEAP32[$14>>2] = 0; + $15 = HEAP32[$6>>2]|0; + $16 = ($15|0)==(0|0); do { - if ($30) { - $31 = $iA; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = $4; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (___divdi3(-1,2147483647,($39|0),($42|0))|0); - $44 = tempRet0; - $45 = ($36|0)>($44|0); - $46 = ($33>>>0)>($43>>>0); - $47 = ($36|0)==($44|0); - $48 = $47 & $46; - $49 = $45 | $48; - if ($49) { - HEAP32[$2>>2] = 1; - $173 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($173|0); - } - $50 = $iA; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = $4; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = (($56) + 4)|0; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (___divdi3(0,-2147483648,($58|0),($61|0))|0); - $63 = tempRet0; - $64 = ($55|0)<($63|0); - $65 = ($52>>>0)<($62>>>0); - $66 = ($55|0)==($63|0); - $67 = $66 & $65; - $68 = $64 | $67; - if ($68) { - HEAP32[$2>>2] = 1; - $173 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($173|0); + if ($16) { + HEAP32[$10>>2] = 1; + } else { + $17 = HEAP32[$6>>2]|0; + $18 = (_fts5ConfigSkipWhitespace($17)|0); + HEAP32[$6>>2] = $18; + $19 = HEAP32[$6>>2]|0; + HEAP32[$7>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = (_fts5ConfigSkipBareword($20)|0); + HEAP32[$6>>2] = $21; + $22 = HEAP32[$6>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 1|0); + $26 = HEAP32[$7>>2]|0; + $27 = $25; + $28 = $26; + $29 = (($27) - ($28))|0; + $30 = (_sqlite3Fts5MallocZero($10,$29)|0); + HEAP32[$8>>2] = $30; + $31 = HEAP32[$8>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = $35; + $38 = $36; + $39 = (($37) - ($38))|0; + _memcpy(($33|0),($34|0),($39|0))|0; + } + } else { + HEAP32[$10>>2] = 1; } - } else { - $69 = $4; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = ($74|0)<(0); - if ($75) { - $76 = $iA; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = (($76) + 4)|0; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)>(0); - $83 = ($78>>>0)>(0); - $84 = ($81|0)==(0); - $85 = $84 & $83; - $86 = $82 | $85; - if ($86) { - $87 = $4; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $93 = $iA; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = (($93) + 4)|0; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (___divdi3(0,-2147483648,($95|0),($98|0))|0); - $100 = tempRet0; - $101 = ($92|0)<($100|0); - $102 = ($89>>>0)<($99>>>0); - $103 = ($92|0)==($100|0); - $104 = $103 & $102; - $105 = $101 | $104; - if (!($105)) { - break; - } - HEAP32[$2>>2] = 1; - $173 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($173|0); + $40 = HEAP32[$10>>2]|0; + $41 = ($40|0)==(0); + if ($41) { + $42 = HEAP32[$6>>2]|0; + $43 = (_fts5ConfigSkipWhitespace($42)|0); + HEAP32[$6>>2] = $43; + $44 = HEAP32[$6>>2]|0; + $45 = HEAP8[$44>>0]|0; + $46 = $45 << 24 >> 24; + $47 = ($46|0)!=(40); + if ($47) { + HEAP32[$10>>2] = 1; } - $106 = $iA; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (($106) + 4)|0; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)<(0); - if ($112) { - $113 = $4; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = (($113) + 4)|0; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = ($115|0)==(0); - $120 = ($118|0)==(-2147483648); - $121 = $119 & $120; - if ($121) { - HEAP32[$2>>2] = 1; - $173 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($173|0); - } - $122 = $iA; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = ($124|0)==(0); - $129 = ($127|0)==(-2147483648); - $130 = $128 & $129; - if ($130) { - HEAP32[$2>>2] = 1; - $173 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($173|0); + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 1|0); + HEAP32[$6>>2] = $49; + } + $50 = HEAP32[$10>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $52 = HEAP32[$6>>2]|0; + $53 = (_fts5ConfigSkipWhitespace($52)|0); + HEAP32[$6>>2] = $53; + $54 = HEAP32[$6>>2]|0; + HEAP32[$11>>2] = $54; + $55 = HEAP32[$6>>2]|0; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = ($57|0)!=(41); + if ($58) { + $59 = HEAP32[$6>>2]|0; + $60 = (_fts5ConfigSkipArgs($59)|0); + HEAP32[$6>>2] = $60; + $61 = HEAP32[$6>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + HEAP32[$10>>2] = 1; + break; } - $131 = $iA; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = (_i64Subtract(0,0,($133|0),($136|0))|0); - $138 = tempRet0; - $139 = $4; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = (($139) + 4)|0; - $143 = $142; - $144 = HEAP32[$143>>2]|0; - $145 = (_i64Subtract(0,0,($141|0),($144|0))|0); - $146 = tempRet0; - $147 = (___divdi3(-1,2147483647,($145|0),($146|0))|0); - $148 = tempRet0; - $149 = ($138|0)>($148|0); - $150 = ($137>>>0)>($147>>>0); - $151 = ($138|0)==($148|0); - $152 = $151 & $150; - $153 = $149 | $152; - if ($153) { - HEAP32[$2>>2] = 1; - $173 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($173|0); + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 1|0); + $65 = HEAP32[$11>>2]|0; + $66 = $64; + $67 = $65; + $68 = (($66) - ($67))|0; + $69 = (_sqlite3Fts5MallocZero($10,$68)|0); + HEAP32[$9>>2] = $69; + $70 = HEAP32[$9>>2]|0; + $71 = ($70|0)!=(0|0); + if ($71) { + $72 = HEAP32[$9>>2]|0; + $73 = HEAP32[$11>>2]|0; + $74 = HEAP32[$6>>2]|0; + $75 = HEAP32[$11>>2]|0; + $76 = $74; + $77 = $75; + $78 = (($76) - ($77))|0; + _memcpy(($72|0),($73|0),($78|0))|0; } } } } } while(0); - $154 = $iA; - $155 = $154; - $156 = HEAP32[$155>>2]|0; - $157 = (($154) + 4)|0; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = $4; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = (($160) + 4)|0; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - $166 = (___muldi3(($156|0),($159|0),($162|0),($165|0))|0); - $167 = tempRet0; - $168 = HEAP32[$3>>2]|0; - $169 = $168; - $170 = $169; - HEAP32[$170>>2] = $166; - $171 = (($169) + 4)|0; - $172 = $171; - HEAP32[$172>>2] = $167; + $79 = HEAP32[$10>>2]|0; + $80 = ($79|0)!=(0); + $81 = HEAP32[$8>>2]|0; + if ($80) { + _sqlite3_free($81); + $85 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($85|0); + } else { + $82 = HEAP32[$4>>2]|0; + HEAP32[$82>>2] = $81; + $83 = HEAP32[$9>>2]|0; + $84 = HEAP32[$5>>2]|0; + HEAP32[$84>>2] = $83; + $85 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($85|0); + } + return (0)|0; +} +function _fts5ConfigSkipWhitespace($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $12 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($12|0); + } + while(1) { + $6 = HEAP32[$2>>2]|0; + $7 = HEAP8[$6>>0]|0; + $8 = (_fts5_iswhitespace($7)|0); + $9 = ($8|0)!=(0); + if (!($9)) { + break; + } + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 1|0); + HEAP32[$2>>2] = $11; + } + $12 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($12|0); +} +function _fts5ConfigSkipBareword($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + while(1) { + $4 = HEAP32[$2>>2]|0; + $5 = HEAP8[$4>>0]|0; + $6 = (_sqlite3Fts5IsBareword($5)|0); + $7 = ($6|0)!=(0); + $8 = HEAP32[$2>>2]|0; + if (!($7)) { + break; + } + $9 = ((($8)) + 1|0); + HEAP32[$2>>2] = $9; + } + $10 = HEAP32[$1>>2]|0; + $11 = ($8|0)==($10|0); + if (!($11)) { + $12 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($12|0); + } HEAP32[$2>>2] = 0; - $173 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($173|0); + $12 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($12|0); } -function _sqlite3VdbeDeleteAuxData($db,$pp,$iOp,$mask) { - $db = $db|0; - $pp = $pp|0; - $iOp = $iOp|0; - $mask = $mask|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pAux = 0, label = 0, sp = 0; +function _fts5ConfigSkipArgs($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $pAux = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pp; - HEAP32[$2>>2] = $iOp; - HEAP32[$3>>2] = $mask; - L1: while(1) { - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + while(1) { + $4 = HEAP32[$2>>2]|0; + $5 = (_fts5ConfigSkipWhitespace($4)|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = (_fts5ConfigSkipLiteral($6)|0); + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = (_fts5ConfigSkipWhitespace($8)|0); + HEAP32[$2>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + label = 7; break; } - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$pAux>>2] = $8; - $9 = HEAP32[$2>>2]|0; - $10 = ($9|0)<(0); - do { - if (!($10)) { - $11 = HEAP32[$pAux>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ($12|0)==($13|0); - if ($14) { - $15 = HEAP32[$pAux>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>(31); - if ($18) { - break; - } - $19 = HEAP32[$3>>2]|0; - $20 = HEAP32[$pAux>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = 1 << $22; - $24 = $19 & $23; - $25 = ($24|0)!=(0); - if (!($25)) { - break; - } - } - $42 = HEAP32[$pAux>>2]|0; - $43 = ((($42)) + 16|0); - HEAP32[$1>>2] = $43; - continue L1; - } - } while(0); - $26 = HEAP32[$pAux>>2]|0; - $27 = ((($26)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$pAux>>2]|0; - $31 = ((($30)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$pAux>>2]|0; - $34 = ((($33)) + 8|0); - $35 = HEAP32[$34>>2]|0; - FUNCTION_TABLE_vi[$32 & 255]($35); + $12 = HEAP32[$2>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13 << 24 >> 24; + $15 = ($14|0)==(41); + if ($15) { + label = 7; + break; } - $36 = HEAP32[$pAux>>2]|0; - $37 = ((($36)) + 16|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$1>>2]|0; - HEAP32[$39>>2] = $38; - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$pAux>>2]|0; - _sqlite3DbFree($40,$41); + $16 = HEAP32[$2>>2]|0; + $17 = HEAP8[$16>>0]|0; + $18 = $17 << 24 >> 24; + $19 = ($18|0)!=(44); + if ($19) { + label = 5; + break; + } + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 1|0); + HEAP32[$2>>2] = $21; } - STACKTOP = sp;return; + if ((label|0) == 5) { + HEAP32[$2>>2] = 0; + $22 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($22|0); + } + else if ((label|0) == 7) { + $22 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($22|0); + } + return (0)|0; } -function _sqlite3MemCompare($pMem1,$pMem2,$pColl) { - $pMem1 = $pMem1|0; - $pMem2 = $pMem2|0; - $pColl = $pColl|0; - var $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, $112 = 0, $113 = 0, $114 = 0.0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $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; - 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.0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0.0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0, $combined_flags = 0, $f1 = 0, $f2 = 0, label = 0; - var sp = 0; +function _fts5ConfigSkipLiteral($0) { + $0 = $0|0; + var $$ = 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, $12 = 0; + var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $f1 = sp + 8|0; - $f2 = sp + 4|0; - $combined_flags = sp; - HEAP32[$1>>2] = $pMem1; - HEAP32[$2>>2] = $pMem2; - HEAP32[$3>>2] = $pColl; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - HEAP32[$f1>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - HEAP32[$f2>>2] = $11; - $12 = HEAP32[$f1>>2]|0; - $13 = HEAP32[$f2>>2]|0; - $14 = $12 | $13; - HEAP32[$combined_flags>>2] = $14; - $15 = HEAP32[$combined_flags>>2]|0; - $16 = $15 & 1; - $17 = ($16|0)!=(0); - do { - if ($17) { - $18 = HEAP32[$f2>>2]|0; - $19 = $18 & 1; - $20 = HEAP32[$f1>>2]|0; - $21 = $20 & 1; - $22 = (($19) - ($21))|0; - HEAP32[$0>>2] = $22; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + switch ($6|0) { + case 78: case 110: { + $7 = HEAP32[$2>>2]|0; + $8 = (_sqlite3_strnicmp(23015,$7,4)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 4|0); + HEAP32[$2>>2] = $11; + $113 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($113|0); } else { - $23 = HEAP32[$combined_flags>>2]|0; - $24 = $23 & 12; - $25 = ($24|0)!=(0); - if (!($25)) { - $117 = HEAP32[$combined_flags>>2]|0; - $118 = $117 & 2; - $119 = ($118|0)!=(0); - if ($119) { - $120 = HEAP32[$f1>>2]|0; - $121 = $120 & 2; - $122 = ($121|0)==(0); - if ($122) { - HEAP32[$0>>2] = 1; - break; - } - $123 = HEAP32[$f2>>2]|0; - $124 = $123 & 2; - $125 = ($124|0)==(0); - if ($125) { - HEAP32[$0>>2] = -1; - break; + HEAP32[$2>>2] = 0; + $113 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($113|0); + } + break; + } + case 88: case 120: { + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 1|0); + HEAP32[$2>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = ($16|0)==(39); + if (!($17)) { + HEAP32[$2>>2] = 0; + $113 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($113|0); + } + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 1|0); + HEAP32[$2>>2] = $19; + while(1) { + $20 = HEAP32[$2>>2]|0; + $21 = HEAP8[$20>>0]|0; + $22 = $21 << 24 >> 24; + $23 = ($22|0)>=(97); + if ($23) { + $24 = HEAP32[$2>>2]|0; + $25 = HEAP8[$24>>0]|0; + $26 = $25 << 24 >> 24; + $27 = ($26|0)<=(102); + if ($27) { + $114 = 1; + } else { + label = 9; + } + } else { + label = 9; + } + do { + if ((label|0) == 9) { + label = 0; + $28 = HEAP32[$2>>2]|0; + $29 = HEAP8[$28>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($30|0)>=(65); + if ($31) { + $32 = HEAP32[$2>>2]|0; + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($34|0)<=(70); + if ($35) { + $114 = 1; + break; + } } - $126 = HEAP32[$3>>2]|0; - $127 = ($126|0)!=(0|0); - if ($127) { - $128 = HEAP32[$1>>2]|0; - $129 = HEAP32[$2>>2]|0; - $130 = HEAP32[$3>>2]|0; - $131 = (_vdbeCompareMemString($128,$129,$130,0)|0); - HEAP32[$0>>2] = $131; - break; + $36 = HEAP32[$2>>2]|0; + $37 = HEAP8[$36>>0]|0; + $38 = $37 << 24 >> 24; + $39 = ($38|0)>=(48); + if ($39) { + $40 = HEAP32[$2>>2]|0; + $41 = HEAP8[$40>>0]|0; + $42 = $41 << 24 >> 24; + $43 = ($42|0)<=(57); + $114 = $43; + } else { + $114 = 0; } } - $132 = HEAP32[$1>>2]|0; - $133 = HEAP32[$2>>2]|0; - $134 = (_sqlite3BlobCompare($132,$133)|0); - HEAP32[$0>>2] = $134; + } while(0); + $44 = HEAP32[$2>>2]|0; + if (!($114)) { break; } - $26 = HEAP32[$f1>>2]|0; - $27 = HEAP32[$f2>>2]|0; - $28 = $26 & $27; - $29 = $28 & 4; - $30 = ($29|0)!=(0); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = $31; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = $38; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (($39) + 4)|0; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = ($37|0)<($44|0); - $46 = ($34>>>0)<($41>>>0); - $47 = ($37|0)==($44|0); - $48 = $47 & $46; - $49 = $45 | $48; - if ($49) { - HEAP32[$0>>2] = -1; - break; - } - $50 = HEAP32[$1>>2]|0; - $51 = $50; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (($51) + 4)|0; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$2>>2]|0; - $58 = $57; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = ($56|0)>($63|0); - $65 = ($53>>>0)>($60>>>0); - $66 = ($56|0)==($63|0); - $67 = $66 & $65; - $68 = $64 | $67; - if ($68) { - HEAP32[$0>>2] = 1; - break; - } else { - HEAP32[$0>>2] = 0; - break; - } + $45 = ((($44)) + 1|0); + HEAP32[$2>>2] = $45; + } + $46 = HEAP8[$44>>0]|0; + $47 = $46 << 24 >> 24; + $48 = ($47|0)==(39); + if ($48) { + $49 = HEAP32[$2>>2]|0; + $50 = HEAP32[$1>>2]|0; + $51 = $49; + $52 = $50; + $53 = (($51) - ($52))|0; + $54 = (($53|0) % 2)&-1; + $55 = (0)==($54|0); + if ($55) { + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 1|0); + HEAP32[$2>>2] = $57; + $113 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($113|0); } - $69 = HEAP32[$f1>>2]|0; - $70 = HEAP32[$f2>>2]|0; - $71 = $69 & $70; - $72 = $71 & 8; - $73 = ($72|0)!=(0); - if ($73) { - $74 = HEAP32[$1>>2]|0; - $75 = +HEAPF64[$74>>3]; - $76 = HEAP32[$2>>2]|0; - $77 = +HEAPF64[$76>>3]; - $78 = $75 < $77; - if ($78) { - HEAP32[$0>>2] = -1; - break; - } - $79 = HEAP32[$1>>2]|0; - $80 = +HEAPF64[$79>>3]; - $81 = HEAP32[$2>>2]|0; - $82 = +HEAPF64[$81>>3]; - $83 = $80 > $82; - if ($83) { - HEAP32[$0>>2] = 1; - break; - } else { - HEAP32[$0>>2] = 0; - break; - } + } + HEAP32[$2>>2] = 0; + $113 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($113|0); + break; + } + case 39: { + $58 = HEAP32[$2>>2]|0; + $59 = ((($58)) + 1|0); + HEAP32[$2>>2] = $59; + while(1) { + $60 = HEAP32[$2>>2]|0; + $61 = ($60|0)!=(0|0); + if (!($61)) { + label = 37; + break; } - $84 = HEAP32[$f1>>2]|0; - $85 = $84 & 4; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$f2>>2]|0; - $88 = $87 & 8; - $89 = ($88|0)!=(0); - if ($89) { - $90 = HEAP32[$1>>2]|0; - $91 = $90; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (($91) + 4)|0; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = HEAP32[$2>>2]|0; - $98 = +HEAPF64[$97>>3]; - $99 = (_sqlite3IntFloatCompare($93,$96,$98)|0); - HEAP32[$0>>2] = $99; - break; - } else { - HEAP32[$0>>2] = -1; + $62 = HEAP32[$2>>2]|0; + $63 = HEAP8[$62>>0]|0; + $64 = $63 << 24 >> 24; + $65 = ($64|0)==(39); + if ($65) { + $66 = HEAP32[$2>>2]|0; + $67 = ((($66)) + 1|0); + HEAP32[$2>>2] = $67; + $68 = HEAP32[$2>>2]|0; + $69 = HEAP8[$68>>0]|0; + $70 = $69 << 24 >> 24; + $71 = ($70|0)!=(39); + if ($71) { + label = 37; break; } } - $100 = HEAP32[$f1>>2]|0; - $101 = $100 & 8; - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$0>>2] = 1; - break; + $72 = HEAP32[$2>>2]|0; + $73 = ((($72)) + 1|0); + HEAP32[$2>>2] = $73; + $74 = HEAP32[$2>>2]|0; + $75 = HEAP8[$74>>0]|0; + $76 = $75 << 24 >> 24; + $77 = ($76|0)==(0); + $$ = $77 ? 0 : $73; + HEAP32[$2>>2] = $$; + } + if ((label|0) == 37) { + $113 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($113|0); + } + break; + } + default: { + $78 = HEAP32[$2>>2]|0; + $79 = HEAP8[$78>>0]|0; + $80 = $79 << 24 >> 24; + $81 = ($80|0)==(43); + if ($81) { + label = 27; + } else { + $82 = HEAP32[$2>>2]|0; + $83 = HEAP8[$82>>0]|0; + $84 = $83 << 24 >> 24; + $85 = ($84|0)==(45); + if ($85) { + label = 27; } - $103 = HEAP32[$f2>>2]|0; - $104 = $103 & 4; - $105 = ($104|0)!=(0); - if ($105) { - $106 = HEAP32[$2>>2]|0; - $107 = $106; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (($107) + 4)|0; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = HEAP32[$1>>2]|0; - $114 = +HEAPF64[$113>>3]; - $115 = (_sqlite3IntFloatCompare($109,$112,$114)|0); - $116 = (0 - ($115))|0; - HEAP32[$0>>2] = $116; - break; - } else { - HEAP32[$0>>2] = -1; + } + if ((label|0) == 27) { + $86 = HEAP32[$2>>2]|0; + $87 = ((($86)) + 1|0); + HEAP32[$2>>2] = $87; + } + while(1) { + $88 = HEAP32[$2>>2]|0; + $89 = HEAP8[$88>>0]|0; + $90 = (_fts5_isdigit($89)|0); + $91 = ($90|0)!=(0); + $92 = HEAP32[$2>>2]|0; + if (!($91)) { break; } + $93 = ((($92)) + 1|0); + HEAP32[$2>>2] = $93; } - } while(0); - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); -} -function _sqlite3VdbeCursorMoveto($pp,$piCol) { - $pp = $pp|0; - $piCol = $piCol|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $iMap = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $p = sp + 4|0; - $iMap = sp; - HEAP32[$1>>2] = $pp; - HEAP32[$2>>2] = $piCol; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)==(0); - do { - if ($8) { - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 3|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)!=(0); - $13 = HEAP32[$p>>2]|0; - if (!($12)) { - $35 = ((($13)) + 16|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_sqlite3BtreeCursorHasMoved($36)|0); - $38 = ($37|0)!=(0); - if (!($38)) { - break; - } - $39 = HEAP32[$p>>2]|0; - $40 = (_handleMovedCursor($39)|0); - HEAP32[$0>>2] = $40; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); - } - $14 = ((($13)) + 52|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = (1 + ($18))|0; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 52|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($19<<2)|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$iMap>>2] = $24; - $25 = ($24|0)>(0); - if ($25) { - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 48|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$1>>2]|0; - HEAP32[$29>>2] = $28; - $30 = HEAP32[$iMap>>2]|0; - $31 = (($30) - 1)|0; - $32 = HEAP32[$2>>2]|0; - HEAP32[$32>>2] = $31; - HEAP32[$0>>2] = 0; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); + $94 = HEAP8[$92>>0]|0; + $95 = $94 << 24 >> 24; + $96 = ($95|0)==(46); + L11: do { + if ($96) { + $97 = HEAP32[$2>>2]|0; + $98 = ((($97)) + 1|0); + $99 = HEAP8[$98>>0]|0; + $100 = (_fts5_isdigit($99)|0); + $101 = ($100|0)!=(0); + if ($101) { + $102 = HEAP32[$2>>2]|0; + $103 = ((($102)) + 2|0); + HEAP32[$2>>2] = $103; + while(1) { + $104 = HEAP32[$2>>2]|0; + $105 = HEAP8[$104>>0]|0; + $106 = (_fts5_isdigit($105)|0); + $107 = ($106|0)!=(0); + if (!($107)) { + break L11; + } + $108 = HEAP32[$2>>2]|0; + $109 = ((($108)) + 1|0); + HEAP32[$2>>2] = $109; + } } } - $33 = HEAP32[$p>>2]|0; - $34 = (_handleDeferredMoveto($33)|0); - HEAP32[$0>>2] = $34; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); + } while(0); + $110 = HEAP32[$2>>2]|0; + $111 = HEAP32[$1>>2]|0; + $112 = ($110|0)==($111|0); + if (!($112)) { + $113 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($113|0); } - } while(0); - HEAP32[$0>>2] = 0; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); + HEAP32[$2>>2] = 0; + $113 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($113|0); + } + } + return (0)|0; } -function _sqlite3BtreePayloadFetch($pCur,$pAmt) { - $pCur = $pCur|0; - $pAmt = $pAmt|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _fts5_isdigit($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$1>>2] = $pAmt; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_fetchPayload($2,$3)|0); - STACKTOP = sp;return ($4|0); + HEAP8[$1>>0] = $0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = ($3|0)>=(48); + if ($4) { + $5 = HEAP8[$1>>0]|0; + $6 = $5 << 24 >> 24; + $7 = ($6|0)<=(57); + $9 = $7; + } else { + $9 = 0; + } + $8 = $9&1; + STACKTOP = sp;return ($8|0); } -function _sqlite3VdbeMemFromBtree($pCur,$offset,$amt,$key,$pMem) { - $pCur = $pCur|0; - $offset = $offset|0; - $amt = $amt|0; - $key = $key|0; - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $available = 0, $rc = 0, $zData = 0, label = 0, sp = 0; +function _sqlite3Fts5IsBareword($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $zData = sp + 8|0; - $available = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$1>>2] = $offset; - HEAP32[$2>>2] = $amt; - HEAP32[$3>>2] = $key; - HEAP32[$4>>2] = $pMem; - HEAP32[$available>>2] = 0; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = (_sqlite3BtreePayloadFetch($5,$available)|0); - HEAP32[$zData>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (($7) + ($8))|0; - $10 = HEAP32[$available>>2]|0; - $11 = ($9>>>0)<=($10>>>0); - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$zData>>2]|0; - $14 = (($13) + ($12)|0); - $15 = HEAP32[$4>>2]|0; - $16 = ((($15)) + 16|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$4>>2]|0; - $18 = ((($17)) + 8|0); - HEAP16[$18>>1] = 4112; - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = ((($20)) + 12|0); - HEAP32[$21>>2] = $19; - $28 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($28|0); - } else { - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$3>>2]|0; - $26 = HEAP32[$4>>2]|0; - $27 = (_vdbeMemFromBtreeResize($22,$23,$24,$25,$26)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($28|0); + STACKTOP = STACKTOP + 144|0; + $1 = sp + 128|0; + $2 = sp; + HEAP8[$1>>0] = $0; + dest=$2; src=48067; stop=dest+128|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $3 = HEAP8[$1>>0]|0; + $4 = $3 << 24 >> 24; + $5 = $4 & 128; + $6 = ($5|0)!=(0); + if ($6) { + $14 = 1; + $13 = $14&1; + STACKTOP = sp;return ($13|0); } - return (0)|0; + $7 = HEAP8[$1>>0]|0; + $8 = $7 << 24 >> 24; + $9 = (($2) + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)!=(0); + $14 = $12; + $13 = $14&1; + STACKTOP = sp;return ($13|0); } -function _sqlite3VdbeOneByteSerialTypeLen($serial_type) { - $serial_type = $serial_type|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _fts5_iswhitespace($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP8[$0>>0] = $serial_type; - $1 = HEAP8[$0>>0]|0; - $2 = $1&255; - $3 = (35061 + ($2)|0); - $4 = HEAP8[$3>>0]|0; - STACKTOP = sp;return ($4|0); + $1 = sp; + HEAP8[$1>>0] = $0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = ($3|0)==(32); + $5 = $4&1; + STACKTOP = sp;return ($5|0); } -function _sqlite3VdbeSerialType($pMem,$file_format,$pLen) { - $pMem = $pMem|0; - $file_format = $file_format|0; - $pLen = $pLen|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $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, $flags = 0; - var $i = 0, $n = 0, $or$cond = 0, $u = 0, label = 0, sp = 0; +function _sqlite3Fts5Get32($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $flags = sp + 20|0; - $n = sp + 16|0; - $i = sp + 8|0; - $u = sp; - HEAP32[$1>>2] = $pMem; - HEAP32[$2>>2] = $file_format; - HEAP32[$3>>2] = $pLen; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - HEAP32[$flags>>2] = $7; - $8 = HEAP32[$flags>>2]|0; - $9 = $8 & 1; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$3>>2]|0; - HEAP32[$11>>2] = 0; - HEAP32[$0>>2] = 0; - $158 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($158|0); - } - $12 = HEAP32[$flags>>2]|0; - $13 = $12 & 4; - $14 = ($13|0)!=(0); - if (!($14)) { - $134 = HEAP32[$flags>>2]|0; - $135 = $134 & 8; - $136 = ($135|0)!=(0); - if ($136) { - $137 = HEAP32[$3>>2]|0; - HEAP32[$137>>2] = 8; - HEAP32[$0>>2] = 7; - $158 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($158|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = $4 << 24; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 << 16; + $11 = (($5) + ($10))|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = $15 << 8; + $17 = (($11) + ($16))|0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 3|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = (($17) + ($21))|0; + STACKTOP = sp;return ($22|0); +} +function _sqlite3Fts5IndexFromCsrid($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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$4>>2] = $0; + $9 = $5; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + HEAP32[$6>>2] = $3; + $13 = HEAP32[$4>>2]|0; + $14 = $5; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (_fts5CursorFromCsrid($13,$16,$19)|0); + HEAP32[$7>>2] = $20; + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$8>>2] = $22; + $23 = HEAP32[$8>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$6>>2]|0; + HEAP32[$26>>2] = $25; + $27 = HEAP32[$8>>2]|0; + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + STACKTOP = sp;return ($29|0); +} +function _fts5CursorFromCsrid($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 44|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $12; + while(1) { + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + label = 5; + break; } - $138 = HEAP32[$1>>2]|0; - $139 = ((($138)) + 12|0); - $140 = HEAP32[$139>>2]|0; - HEAP32[$n>>2] = $140; - $141 = HEAP32[$flags>>2]|0; - $142 = $141 & 16384; - $143 = ($142|0)!=(0); - if ($143) { - $144 = HEAP32[$1>>2]|0; - $145 = HEAP32[$144>>2]|0; - $146 = HEAP32[$n>>2]|0; - $147 = (($146) + ($145))|0; - HEAP32[$n>>2] = $147; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 16|0); + $17 = $16; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (($17) + 4)|0; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = $4; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = ($19|0)==($25|0); + $30 = ($22|0)==($28|0); + $31 = $29 & $30; + if ($31) { + label = 5; + break; } - $148 = HEAP32[$n>>2]|0; - $149 = HEAP32[$3>>2]|0; - HEAP32[$149>>2] = $148; - $150 = HEAP32[$n>>2]|0; - $151 = $150<<1; - $152 = (($151) + 12)|0; - $153 = HEAP32[$flags>>2]|0; - $154 = $153 & 2; - $155 = ($154|0)!=(0); - $156 = $155&1; - $157 = (($152) + ($156))|0; - HEAP32[$0>>2] = $157; - $158 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($158|0); + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$5>>2] = $34; } - $15 = HEAP32[$1>>2]|0; - $16 = $15; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + 4)|0; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = $i; - $23 = $22; - HEAP32[$23>>2] = $18; - $24 = (($22) + 4)|0; - $25 = $24; - HEAP32[$25>>2] = $21; - $26 = $i; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<(0); - $33 = $i; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (($33) + 4)|0; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - if ($32) { - $39 = $35 ^ -1; - $40 = $38 ^ -1; - $41 = $u; - $42 = $41; - HEAP32[$42>>2] = $39; - $43 = (($41) + 4)|0; - $44 = $43; - HEAP32[$44>>2] = $40; - } else { - $45 = $u; - $46 = $45; - HEAP32[$46>>2] = $35; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $38; + if ((label|0) == 5) { + $35 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($35|0); } - $49 = $u; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = ($54>>>0)<(0); - $56 = ($51>>>0)<=(127); - $57 = ($54|0)==(0); - $58 = $57 & $56; - $59 = $55 | $58; - if ($59) { - $60 = $i; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (($60) + 4)|0; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = $62 & 1; - $67 = $i; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = ($66|0)==($69|0); - $74 = (0)==($72|0); - $75 = $73 & $74; - $76 = HEAP32[$2>>2]|0; - $77 = ($76|0)>=(4); - $or$cond = $75 & $77; - $78 = HEAP32[$3>>2]|0; - if ($or$cond) { - HEAP32[$78>>2] = 0; - $79 = $u; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (($79) + 4)|0; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (8 + ($81))|0; - HEAP32[$0>>2] = $85; - $158 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($158|0); + return (0)|0; +} +function _fts5VocabInitVtab($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$sink2 = 0, $$sink3 = 0, $$sink4 = 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, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer = sp; + $6 = sp + 76|0; + $7 = sp + 72|0; + $8 = sp + 68|0; + $9 = sp + 64|0; + $10 = sp + 60|0; + $11 = sp + 56|0; + $12 = sp + 48|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 24|0; + $18 = sp + 20|0; + $19 = sp + 16|0; + $20 = sp + 12|0; + $21 = sp + 8|0; + $22 = sp + 4|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + ;HEAP32[$12>>2]=HEAP32[8764>>2]|0;HEAP32[$12+4>>2]=HEAP32[8764+4>>2]|0; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + $23 = HEAP32[$8>>2]|0; + $24 = ($23|0)==(6); + if ($24) { + $25 = HEAP32[$9>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_strlen($27)|0); + $29 = ($28|0)==(4); + if ($29) { + $30 = HEAP32[$9>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (_memcmp(42437,$32,4)|0); + $34 = ($33|0)==(0); + $36 = $34; } else { - HEAP32[$78>>2] = 1; - HEAP32[$0>>2] = 1; - $158 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($158|0); + $36 = 0; } - } - $86 = $u; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = (($86) + 4)|0; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = ($91>>>0)<(0); - $93 = ($88>>>0)<=(32767); - $94 = ($91|0)==(0); - $95 = $94 & $93; - $96 = $92 | $95; - if ($96) { - $97 = HEAP32[$3>>2]|0; - HEAP32[$97>>2] = 2; - HEAP32[$0>>2] = 2; - $158 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($158|0); - } - $98 = $u; - $99 = $98; - $100 = HEAP32[$99>>2]|0; - $101 = (($98) + 4)|0; - $102 = $101; - $103 = HEAP32[$102>>2]|0; - $104 = ($103>>>0)<(0); - $105 = ($100>>>0)<=(8388607); - $106 = ($103|0)==(0); - $107 = $106 & $105; - $108 = $104 | $107; - if ($108) { - $109 = HEAP32[$3>>2]|0; - HEAP32[$109>>2] = 3; - HEAP32[$0>>2] = 3; - $158 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($158|0); - } - $110 = $u; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ($115>>>0)<(0); - $117 = ($112>>>0)<=(2147483647); - $118 = ($115|0)==(0); - $119 = $118 & $117; - $120 = $116 | $119; - if ($120) { - $121 = HEAP32[$3>>2]|0; - HEAP32[$121>>2] = 4; - HEAP32[$0>>2] = 4; - $158 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($158|0); - } - $122 = $u; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = ($127>>>0)<(32767); - $129 = ($124>>>0)<=(4294967295); - $130 = ($127|0)==(32767); - $131 = $130 & $129; - $132 = $128 | $131; - $133 = HEAP32[$3>>2]|0; - if ($132) { - HEAP32[$133>>2] = 6; - HEAP32[$0>>2] = 5; - $158 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($158|0); } else { - HEAP32[$133>>2] = 8; - HEAP32[$0>>2] = 6; - $158 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($158|0); + $36 = 0; + } + $35 = $36&1; + HEAP32[$15>>2] = $35; + $37 = HEAP32[$8>>2]|0; + $38 = ($37|0)!=(5); + $39 = HEAP32[$15>>2]|0; + $40 = ($39|0)==(0); + $or$cond = $38 & $40; + if ($or$cond) { + $41 = (_sqlite3_mprintf(48295,$vararg_buffer)|0); + $42 = HEAP32[$11>>2]|0; + HEAP32[$42>>2] = $41; + HEAP32[$14>>2] = 1; + $118 = HEAP32[$13>>2]|0; + $119 = HEAP32[$10>>2]|0; + HEAP32[$119>>2] = $118; + $120 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($120|0); } - return (0)|0; + $43 = HEAP32[$15>>2]|0; + $44 = ($43|0)!=(0); + $45 = HEAP32[$9>>2]|0; + $$sink2 = $44 ? 3 : 1; + $46 = (($45) + ($$sink2<<2)|0); + $47 = HEAP32[$46>>2]|0; + HEAP32[$17>>2] = $47; + $48 = HEAP32[$15>>2]|0; + $49 = ($48|0)!=(0); + $50 = HEAP32[$9>>2]|0; + $$sink3 = $49 ? 4 : 3; + $51 = (($50) + ($$sink3<<2)|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$18>>2] = $52; + $53 = HEAP32[$15>>2]|0; + $54 = ($53|0)!=(0); + $55 = HEAP32[$9>>2]|0; + $$sink4 = $54 ? 5 : 4; + $56 = (($55) + ($$sink4<<2)|0); + $57 = HEAP32[$56>>2]|0; + HEAP32[$19>>2] = $57; + $58 = HEAP32[$17>>2]|0; + $59 = (_strlen($58)|0); + $60 = (($59) + 1)|0; + HEAP32[$20>>2] = $60; + $61 = HEAP32[$18>>2]|0; + $62 = (_strlen($61)|0); + $63 = (($62) + 1)|0; + HEAP32[$21>>2] = $63; + HEAP32[$22>>2] = 0; + $64 = HEAP32[$19>>2]|0; + $65 = HEAP32[$11>>2]|0; + $66 = (_fts5VocabTableType($64,$65,$22)|0); + HEAP32[$14>>2] = $66; + $67 = HEAP32[$14>>2]|0; + $68 = ($67|0)==(0); + if ($68) { + $69 = HEAP32[$6>>2]|0; + $70 = HEAP32[$22>>2]|0; + $71 = (($12) + ($70<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = (_sqlite3_declare_vtab($69,$72)|0); + HEAP32[$14>>2] = $73; + } + $74 = HEAP32[$20>>2]|0; + $75 = (32 + ($74))|0; + $76 = HEAP32[$21>>2]|0; + $77 = (($75) + ($76))|0; + HEAP32[$16>>2] = $77; + $78 = HEAP32[$16>>2]|0; + $79 = (_sqlite3Fts5MallocZero($14,$78)|0); + HEAP32[$13>>2] = $79; + $80 = HEAP32[$13>>2]|0; + $81 = ($80|0)!=(0|0); + if (!($81)) { + $118 = HEAP32[$13>>2]|0; + $119 = HEAP32[$10>>2]|0; + HEAP32[$119>>2] = $118; + $120 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($120|0); + } + $82 = HEAP32[$7>>2]|0; + $83 = HEAP32[$13>>2]|0; + $84 = ((($83)) + 24|0); + HEAP32[$84>>2] = $82; + $85 = HEAP32[$22>>2]|0; + $86 = HEAP32[$13>>2]|0; + $87 = ((($86)) + 28|0); + HEAP32[$87>>2] = $85; + $88 = HEAP32[$6>>2]|0; + $89 = HEAP32[$13>>2]|0; + $90 = ((($89)) + 20|0); + HEAP32[$90>>2] = $88; + $91 = HEAP32[$13>>2]|0; + $92 = ((($91)) + 32|0); + $93 = HEAP32[$13>>2]|0; + $94 = ((($93)) + 12|0); + HEAP32[$94>>2] = $92; + $95 = HEAP32[$13>>2]|0; + $96 = ((($95)) + 12|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$21>>2]|0; + $99 = (($97) + ($98)|0); + $100 = HEAP32[$13>>2]|0; + $101 = ((($100)) + 16|0); + HEAP32[$101>>2] = $99; + $102 = HEAP32[$13>>2]|0; + $103 = ((($102)) + 12|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$18>>2]|0; + $106 = HEAP32[$21>>2]|0; + _memcpy(($104|0),($105|0),($106|0))|0; + $107 = HEAP32[$13>>2]|0; + $108 = ((($107)) + 16|0); + $109 = HEAP32[$108>>2]|0; + $110 = HEAP32[$17>>2]|0; + $111 = HEAP32[$20>>2]|0; + _memcpy(($109|0),($110|0),($111|0))|0; + $112 = HEAP32[$13>>2]|0; + $113 = ((($112)) + 12|0); + $114 = HEAP32[$113>>2]|0; + _sqlite3Fts5Dequote($114); + $115 = HEAP32[$13>>2]|0; + $116 = ((($115)) + 16|0); + $117 = HEAP32[$116>>2]|0; + _sqlite3Fts5Dequote($117); + $118 = HEAP32[$13>>2]|0; + $119 = HEAP32[$10>>2]|0; + HEAP32[$119>>2] = $118; + $120 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($120|0); } -function _sqlite3PutVarint($p,$0,$1) { - $p = $p|0; +function _fts5VocabTableType($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp; - HEAP32[$3>>2] = $p; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = $4; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = ($14>>>0)<(0); - $16 = ($11>>>0)<=(127); - $17 = ($14|0)==(0); - $18 = $17 & $16; - $19 = $15 | $18; - $20 = $4; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - if ($19) { - $26 = $22 & 127; - $27 = $26&255; - $28 = HEAP32[$3>>2]|0; - HEAP8[$28>>0] = $27; - HEAP32[$2>>2] = 1; - $64 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($64|0); + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $8 = HEAP32[$3>>2]|0; + $9 = (_sqlite3Fts5Strndup($6,$8,-1)|0); + HEAP32[$7>>2] = $9; + $10 = HEAP32[$6>>2]|0; + $11 = ($10|0)==(0); + if (!($11)) { + $25 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($25|0); } - $29 = ($25>>>0)<(0); - $30 = ($22>>>0)<=(16383); - $31 = ($25|0)==(0); - $32 = $31 & $30; - $33 = $29 | $32; - if ($33) { - $34 = $4; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (_bitshift64Lshr(($36|0),($39|0),7)|0); - $41 = tempRet0; - $42 = $40 & 127; - $43 = $42 | 128; - $44 = $43&255; - $45 = HEAP32[$3>>2]|0; - HEAP8[$45>>0] = $44; - $46 = $4; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (($46) + 4)|0; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = $48 & 127; - $53 = $52&255; - $54 = HEAP32[$3>>2]|0; - $55 = ((($54)) + 1|0); - HEAP8[$55>>0] = $53; - HEAP32[$2>>2] = 2; - $64 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($64|0); - } else { - $56 = HEAP32[$3>>2]|0; - $57 = $4; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (_putVarint64($56,$59,$62)|0); - HEAP32[$2>>2] = $63; - $64 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($64|0); + $12 = HEAP32[$7>>2]|0; + _sqlite3Fts5Dequote($12); + $13 = HEAP32[$7>>2]|0; + $14 = (_sqlite3_stricmp($13,48328)|0); + $15 = ($14|0)==(0); + do { + if ($15) { + $16 = HEAP32[$5>>2]|0; + HEAP32[$16>>2] = 0; + } else { + $17 = HEAP32[$7>>2]|0; + $18 = (_sqlite3_stricmp($17,48332)|0); + $19 = ($18|0)==(0); + if ($19) { + $20 = HEAP32[$5>>2]|0; + HEAP32[$20>>2] = 1; + break; + } else { + $21 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $21; + $22 = (_sqlite3_mprintf(48336,$vararg_buffer)|0); + $23 = HEAP32[$4>>2]|0; + HEAP32[$23>>2] = $22; + HEAP32[$6>>2] = 1; + break; + } + } + } while(0); + $24 = HEAP32[$7>>2]|0; + _sqlite3_free($24); + $25 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($25|0); +} +function _sqlite3Fts5Dequote($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + $2 = sp + 4|0; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP8[$3>>0]|0; + HEAP8[$2>>0] = $4; + $5 = HEAP8[$2>>0]|0; + $6 = $5 << 24 >> 24; + $7 = ($6|0)==(91); + if (!($7)) { + $8 = HEAP8[$2>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)==(39); + if (!($10)) { + $11 = HEAP8[$2>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)==(34); + if (!($13)) { + $14 = HEAP8[$2>>0]|0; + $15 = $14 << 24 >> 24; + $16 = ($15|0)==(96); + if (!($16)) { + STACKTOP = sp;return; + } + } + } } - return (0)|0; + $17 = HEAP32[$1>>2]|0; + (_fts5Dequote($17)|0); + STACKTOP = sp;return; } -function _sqlite3VdbeSerialPut($buf,$pMem,$serial_type) { - $buf = $buf|0; - $pMem = $pMem|0; - $serial_type = $serial_type|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $i = 0, $len = 0, $or$cond = 0, $v = 0, label = 0, sp = 0; +function _fts5Dequote($0) { + $0 = $0|0; + var $$ = 0, $$sink = 0, $$sink1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $len = sp + 12|0; - $v = sp; - $i = sp + 8|0; - HEAP32[$1>>2] = $buf; - HEAP32[$2>>2] = $pMem; - HEAP32[$3>>2] = $serial_type; - $4 = HEAP32[$3>>2]|0; - $5 = ($4>>>0)<=(7); - $6 = HEAP32[$3>>2]|0; - $7 = ($6>>>0)>(0); - $or$cond = $5 & $7; - $8 = HEAP32[$3>>2]|0; - if ($or$cond) { - $9 = ($8|0)==(7); - if ($9) { - $10 = HEAP32[$2>>2]|0; - ;HEAP32[$v>>2]=HEAP32[$10>>2]|0;HEAP32[$v+4>>2]=HEAP32[$10+4>>2]|0; - } else { - $11 = HEAP32[$2>>2]|0; - $12 = $11; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = $v; - $19 = $18; - HEAP32[$19>>2] = $14; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = $17; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 12|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP8[$5>>0]|0; + HEAP8[$2>>0] = $6; + $7 = HEAP8[$2>>0]|0; + $8 = $7 << 24 >> 24; + $9 = ($8|0)==(91); + $$ = $9 ? 93 : $6; + HEAP8[$2>>0] = $$; + while(1) { + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = (($10) + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($13<<24>>24)!=(0); + if (!($14)) { + label = 9; + break; } - $22 = HEAP32[$3>>2]|0; - $23 = (35061 + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - HEAP32[$i>>2] = $25; - HEAP32[$len>>2] = $25; - while(1) { - $26 = $v; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = $28 & 255; - $33 = $32&255; - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + -1)|0; - HEAP32[$i>>2] = $35; - $36 = HEAP32[$1>>2]|0; - $37 = (($36) + ($35)|0); - HEAP8[$37>>0] = $33; - $38 = $v; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (_bitshift64Lshr(($40|0),($43|0),8)|0); - $45 = tempRet0; - $46 = $v; - $47 = $46; - HEAP32[$47>>2] = $44; - $48 = (($46) + 4)|0; - $49 = $48; - HEAP32[$49>>2] = $45; - $50 = HEAP32[$i>>2]|0; - $51 = ($50|0)!=(0); - if (!($51)) { + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = (($15) + ($16)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18 << 24 >> 24; + $20 = HEAP8[$2>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($19|0)==($21|0); + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = (($24) + 1)|0; + if ($22) { + $26 = (($23) + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = HEAP8[$2>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($28|0)!=($30|0); + $32 = HEAP32[$3>>2]|0; + if ($31) { break; } + $34 = (($32) + 2)|0; + HEAP32[$3>>2] = $34; + $35 = HEAP8[$2>>0]|0; + $36 = HEAP32[$1>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$4>>2] = $38; + $39 = (($36) + ($37)|0); + $$sink = $35;$$sink1 = $39; + } else { + HEAP32[$3>>2] = $25; + $40 = (($23) + ($24)|0); + $41 = HEAP8[$40>>0]|0; + $42 = HEAP32[$1>>2]|0; + $43 = HEAP32[$4>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$4>>2] = $44; + $45 = (($42) + ($43)|0); + $$sink = $41;$$sink1 = $45; } - $52 = HEAP32[$len>>2]|0; - HEAP32[$0>>2] = $52; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + HEAP8[$$sink1>>0] = $$sink; + } + if ((label|0) == 9) { + $46 = HEAP32[$1>>2]|0; + $47 = HEAP32[$4>>2]|0; + $48 = (($46) + ($47)|0); + HEAP8[$48>>0] = 0; + $49 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($49|0); + } + $33 = (($32) + 1)|0; + HEAP32[$3>>2] = $33; + $46 = HEAP32[$1>>2]|0; + $47 = HEAP32[$4>>2]|0; + $48 = (($46) + ($47)|0); + HEAP8[$48>>0] = 0; + $49 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($49|0); +} +function _sqlite3Fts5Strndup($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, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if (!($9)) { + $26 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($26|0); + } + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)<(0); + if ($11) { + $12 = HEAP32[$4>>2]|0; + $13 = (_strlen($12)|0); + HEAP32[$5>>2] = $13; + } + $14 = HEAP32[$5>>2]|0; + $15 = (($14) + 1)|0; + $16 = (_sqlite3_malloc($15)|0); + HEAP32[$6>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$5>>2]|0; + _memcpy(($19|0),($20|0),($21|0))|0; + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = (($22) + ($23)|0); + HEAP8[$24>>0] = 0; + $26 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($26|0); } else { - $53 = ($8>>>0)>=(12); - if (!($53)) { - HEAP32[$0>>2] = 0; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); - } - $54 = HEAP32[$2>>2]|0; - $55 = ((($54)) + 12|0); - $56 = HEAP32[$55>>2]|0; - HEAP32[$len>>2] = $56; - $57 = HEAP32[$len>>2]|0; - $58 = ($57>>>0)>(0); - if ($58) { - $59 = HEAP32[$1>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = ((($60)) + 16|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$len>>2]|0; - _memcpy(($59|0),($62|0),($63|0))|0; - } - $64 = HEAP32[$len>>2]|0; - HEAP32[$0>>2] = $64; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + $25 = HEAP32[$3>>2]|0; + HEAP32[$25>>2] = 7; + $26 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($26|0); } return (0)|0; } -function _sqlite3BtreeCount($pCur,$pnEntry) { - $pCur = $pCur|0; - $pnEntry = $pnEntry|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iIdx = 0, $nEntry = 0, $pPage = 0, $rc = 0, label = 0, sp = 0; +function _fts5UnicodeCreate($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, $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, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $nEntry = sp; - $rc = sp + 16|0; - $iIdx = sp + 12|0; - $pPage = sp + 8|0; - HEAP32[$1>>2] = $pCur; - HEAP32[$2>>2] = $pnEntry; - $3 = $nEntry; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 52|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - if ($10) { - $11 = HEAP32[$2>>2]|0; - $12 = $11; - $13 = $12; - HEAP32[$13>>2] = 0; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = 0; - HEAP32[$0>>2] = 0; - $171 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($171|0); + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $12 = HEAP32[$6>>2]|0; + $13 = (($12|0) % 2)&-1; + $14 = ($13|0)!=(0); + if ($14) { + HEAP32[$8>>2] = 1; + $96 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($96|0); } - $16 = HEAP32[$1>>2]|0; - $17 = (_moveToRoot($16)|0); - HEAP32[$rc>>2] = $17; - L5: while(1) { - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - label = 16; - break; - } - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 68|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22 << 24 >> 24; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 120|0); - $26 = (($25) + ($23<<2)|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pPage>>2] = $27; - $28 = HEAP32[$pPage>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = ($31|0)!=(0); - if ($32) { - label = 7; - } else { - $33 = HEAP32[$pPage>>2]|0; - $34 = ((($33)) + 2|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)!=(0); - if (!($36)) { - label = 7; + $15 = (_sqlite3_malloc(148)|0); + HEAP32[$9>>2] = $15; + $16 = HEAP32[$9>>2]|0; + $17 = ($16|0)!=(0|0); + L5: do { + if ($17) { + $18 = HEAP32[$9>>2]|0; + _memset(($18|0),0,148)|0; + $19 = HEAP32[$9>>2]|0; + dest=$19; src=48672; stop=dest+128|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $20 = HEAP32[$9>>2]|0; + $21 = ((($20)) + 136|0); + HEAP32[$21>>2] = 1; + $22 = HEAP32[$9>>2]|0; + $23 = ((($22)) + 132|0); + HEAP32[$23>>2] = 64; + $24 = HEAP32[$9>>2]|0; + $25 = ((($24)) + 132|0); + $26 = HEAP32[$25>>2]|0; + $27 = $26; + $28 = (_sqlite3_malloc($27)|0); + $29 = HEAP32[$9>>2]|0; + $30 = ((($29)) + 128|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 128|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0|0); + if ($34) { + HEAP32[$8>>2] = 7; } - } - if ((label|0) == 7) { - label = 0; - $37 = HEAP32[$pPage>>2]|0; - $38 = ((($37)) + 18|0); - $39 = HEAP16[$38>>1]|0; - $40 = $39&65535; - $41 = $nEntry; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (_i64Add(($43|0),($46|0),($40|0),0)|0); - $48 = tempRet0; - $49 = $nEntry; - $50 = $49; - HEAP32[$50>>2] = $47; - $51 = (($49) + 4)|0; - $52 = $51; - HEAP32[$52>>2] = $48; - } - $53 = HEAP32[$pPage>>2]|0; - $54 = ((($53)) + 4|0); - $55 = HEAP8[$54>>0]|0; - $56 = ($55<<24>>24)!=(0); - if ($56) { + HEAP32[$10>>2] = 0; while(1) { - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 68|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59 << 24 >> 24; - $61 = ($60|0)==(0); - if ($61) { - label = 10; + $35 = HEAP32[$8>>2]|0; + $36 = ($35|0)==(0); + if (!($36)) { break L5; } - $75 = HEAP32[$1>>2]|0; - _moveToParent($75); - $76 = HEAP32[$1>>2]|0; - $77 = ((($76)) + 68|0); - $78 = HEAP8[$77>>0]|0; - $79 = $78 << 24 >> 24; - $80 = HEAP32[$1>>2]|0; - $81 = ((($80)) + 80|0); - $82 = (($81) + ($79<<1)|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83&65535; - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 68|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87 << 24 >> 24; - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 120|0); - $91 = (($90) + ($88<<2)|0); - $92 = HEAP32[$91>>2]|0; - $93 = ((($92)) + 18|0); - $94 = HEAP16[$93>>1]|0; - $95 = $94&65535; - $96 = ($84|0)>=($95|0); - if (!($96)) { - break; + $37 = HEAP32[$10>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ($37|0)<($38|0); + if (!($39)) { + break L5; } + $40 = HEAP32[$5>>2]|0; + $41 = HEAP32[$10>>2]|0; + $42 = (($41) + 1)|0; + $43 = (($40) + ($42<<2)|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$11>>2] = $44; + $45 = HEAP32[$5>>2]|0; + $46 = HEAP32[$10>>2]|0; + $47 = (($45) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = (_sqlite3_stricmp($48,48923)|0); + $50 = (0)==($49|0); + do { + if ($50) { + $51 = HEAP32[$11>>2]|0; + $52 = HEAP8[$51>>0]|0; + $53 = $52 << 24 >> 24; + $54 = ($53|0)!=(48); + if ($54) { + $55 = HEAP32[$11>>2]|0; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = ($57|0)!=(49); + if ($58) { + label = 13; + } else { + label = 12; + } + } else { + label = 12; + } + if ((label|0) == 12) { + label = 0; + $59 = HEAP32[$11>>2]|0; + $60 = ((($59)) + 1|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61 << 24 >> 24; + $63 = ($62|0)!=(0); + if ($63) { + label = 13; + } + } + if ((label|0) == 13) { + label = 0; + HEAP32[$8>>2] = 1; + } + $64 = HEAP32[$11>>2]|0; + $65 = HEAP8[$64>>0]|0; + $66 = $65 << 24 >> 24; + $67 = ($66|0)==(49); + $68 = $67&1; + $69 = HEAP32[$9>>2]|0; + $70 = ((($69)) + 136|0); + HEAP32[$70>>2] = $68; + } else { + $71 = HEAP32[$5>>2]|0; + $72 = HEAP32[$10>>2]|0; + $73 = (($71) + ($72<<2)|0); + $74 = HEAP32[$73>>2]|0; + $75 = (_sqlite3_stricmp($74,48800)|0); + $76 = (0)==($75|0); + if ($76) { + $77 = HEAP32[$9>>2]|0; + $78 = HEAP32[$11>>2]|0; + $79 = (_fts5UnicodeAddExceptions($77,$78,1)|0); + HEAP32[$8>>2] = $79; + break; + } + $80 = HEAP32[$5>>2]|0; + $81 = HEAP32[$10>>2]|0; + $82 = (($80) + ($81<<2)|0); + $83 = HEAP32[$82>>2]|0; + $84 = (_sqlite3_stricmp($83,48811)|0); + $85 = (0)==($84|0); + if ($85) { + $86 = HEAP32[$9>>2]|0; + $87 = HEAP32[$11>>2]|0; + $88 = (_fts5UnicodeAddExceptions($86,$87,0)|0); + HEAP32[$8>>2] = $88; + break; + } else { + HEAP32[$8>>2] = 1; + break; + } + } + } while(0); + $89 = HEAP32[$10>>2]|0; + $90 = (($89) + 2)|0; + HEAP32[$10>>2] = $90; } - $97 = HEAP32[$1>>2]|0; - $98 = ((($97)) + 68|0); - $99 = HEAP8[$98>>0]|0; - $100 = $99 << 24 >> 24; - $101 = HEAP32[$1>>2]|0; - $102 = ((($101)) + 80|0); - $103 = (($102) + ($100<<1)|0); - $104 = HEAP16[$103>>1]|0; - $105 = (($104) + 1)<<16>>16; - HEAP16[$103>>1] = $105; - $106 = HEAP32[$1>>2]|0; - $107 = ((($106)) + 68|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108 << 24 >> 24; - $110 = HEAP32[$1>>2]|0; - $111 = ((($110)) + 120|0); - $112 = (($111) + ($109<<2)|0); - $113 = HEAP32[$112>>2]|0; - HEAP32[$pPage>>2] = $113; - } - $114 = HEAP32[$1>>2]|0; - $115 = ((($114)) + 68|0); - $116 = HEAP8[$115>>0]|0; - $117 = $116 << 24 >> 24; - $118 = HEAP32[$1>>2]|0; - $119 = ((($118)) + 80|0); - $120 = (($119) + ($117<<1)|0); - $121 = HEAP16[$120>>1]|0; - $122 = $121&65535; - HEAP32[$iIdx>>2] = $122; - $123 = HEAP32[$iIdx>>2]|0; - $124 = HEAP32[$pPage>>2]|0; - $125 = ((($124)) + 18|0); - $126 = HEAP16[$125>>1]|0; - $127 = $126&65535; - $128 = ($123|0)==($127|0); - $129 = HEAP32[$1>>2]|0; - $130 = HEAP32[$pPage>>2]|0; - if ($128) { - $131 = ((($130)) + 5|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - $134 = (($133) + 8)|0; - $135 = HEAP32[$pPage>>2]|0; - $136 = ((($135)) + 56|0); - $137 = HEAP32[$136>>2]|0; - $138 = (($137) + ($134)|0); - $139 = (_sqlite3Get4byte($138)|0); - $140 = (_moveToChild($129,$139)|0); - HEAP32[$rc>>2] = $140; - continue; } else { - $141 = ((($130)) + 56|0); - $142 = HEAP32[$141>>2]|0; - $143 = HEAP32[$pPage>>2]|0; - $144 = ((($143)) + 20|0); - $145 = HEAP16[$144>>1]|0; - $146 = $145&65535; - $147 = HEAP32[$iIdx>>2]|0; - $148 = $147<<1; - $149 = HEAP32[$pPage>>2]|0; - $150 = ((($149)) + 64|0); - $151 = HEAP32[$150>>2]|0; - $152 = (($151) + ($148)|0); - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = $154 << 8; - $156 = HEAP32[$iIdx>>2]|0; - $157 = $156<<1; - $158 = HEAP32[$pPage>>2]|0; - $159 = ((($158)) + 64|0); - $160 = HEAP32[$159>>2]|0; - $161 = (($160) + ($157)|0); - $162 = ((($161)) + 1|0); - $163 = HEAP8[$162>>0]|0; - $164 = $163&255; - $165 = $155 | $164; - $166 = $146 & $165; - $167 = (($142) + ($166)|0); - $168 = (_sqlite3Get4byte($167)|0); - $169 = (_moveToChild($129,$168)|0); - HEAP32[$rc>>2] = $169; - continue; + HEAP32[$8>>2] = 7; } + } while(0); + $91 = HEAP32[$8>>2]|0; + $92 = ($91|0)!=(0); + if ($92) { + $93 = HEAP32[$9>>2]|0; + _fts5UnicodeDelete($93); + HEAP32[$9>>2] = 0; } - if ((label|0) == 10) { - $62 = $nEntry; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$2>>2]|0; - $69 = $68; - $70 = $69; - HEAP32[$70>>2] = $64; - $71 = (($69) + 4)|0; - $72 = $71; - HEAP32[$72>>2] = $67; - $73 = HEAP32[$1>>2]|0; - $74 = (_moveToRoot($73)|0); - HEAP32[$0>>2] = $74; - $171 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($171|0); - } - else if ((label|0) == 16) { - $170 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $170; - $171 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($171|0); - } - return (0)|0; + $94 = HEAP32[$9>>2]|0; + $95 = HEAP32[$7>>2]|0; + HEAP32[$95>>2] = $94; + $96 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($96|0); } -function _sqlite3VtabSavepoint($db,$op,$iSavepoint) { - $db = $db|0; - $op = $op|0; - $iSavepoint = $iSavepoint|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, $pMod = 0, $pVTab = 0, $rc = 0, $xMethod = 0, label = 0, sp = 0; +function _fts5UnicodeDelete($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $rc = sp + 16|0; - $i = sp + 12|0; - $pVTab = sp + 8|0; - $pMod = sp + 4|0; - $xMethod = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $iSavepoint; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 340|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $60 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($60|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; } - HEAP32[$i>>2] = 0; - while(1) { - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - label = 15; - break; - } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 316|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($9|0)<($12|0); - if (!($13)) { - label = 15; + $5 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 144|0); + $8 = HEAP32[$7>>2]|0; + _sqlite3_free($8); + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 128|0); + $11 = HEAP32[$10>>2]|0; + _sqlite3_free($11); + $12 = HEAP32[$2>>2]|0; + _sqlite3_free($12); + STACKTOP = sp;return; +} +function _fts5UnicodeTokenize($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $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, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $6 = sp + 68|0; + $7 = sp + 64|0; + $8 = sp + 60|0; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 24|0; + $18 = sp + 20|0; + $19 = sp + 16|0; + $20 = sp + 12|0; + $21 = sp + 8|0; + $22 = sp + 4|0; + $23 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $24 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $24; + HEAP32[$13>>2] = 0; + $25 = HEAP32[$12>>2]|0; + HEAP32[$14>>2] = $25; + $26 = HEAP32[$9>>2]|0; + $27 = HEAP32[$10>>2]|0; + $28 = (($26) + ($27)|0); + HEAP32[$15>>2] = $28; + $29 = HEAP32[$9>>2]|0; + HEAP32[$16>>2] = $29; + $30 = HEAP32[$12>>2]|0; + $31 = ((($30)) + 128|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$17>>2] = $32; + $33 = HEAP32[$12>>2]|0; + $34 = ((($33)) + 132|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$18>>2] = $35; + $36 = HEAP32[$17>>2]|0; + $37 = HEAP32[$18>>2]|0; + $38 = (($37) - 6)|0; + $39 = (($36) + ($38)|0); + HEAP32[$19>>2] = $39; + L1: while(1) { + $40 = HEAP32[$13>>2]|0; + $41 = ($40|0)==(0); + if (!($41)) { break; } - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 340|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($14<<2)|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pVTab>>2] = $19; - $20 = HEAP32[$pVTab>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$22>>2]|0; - HEAP32[$pMod>>2] = $23; - $24 = HEAP32[$pVTab>>2]|0; - $25 = ((($24)) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0|0); - if ($27) { - $28 = HEAP32[$pMod>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)>=(2); - if ($30) { - $31 = HEAP32[$1>>2]|0; - switch ($31|0) { - case 0: { - $32 = HEAP32[$pMod>>2]|0; - $33 = ((($32)) + 80|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$xMethod>>2] = $34; - $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 1)|0; - $37 = HEAP32[$pVTab>>2]|0; - $38 = ((($37)) + 20|0); - HEAP32[$38>>2] = $36; + $42 = HEAP32[$17>>2]|0; + HEAP32[$21>>2] = $42; + while(1) { + $43 = HEAP32[$16>>2]|0; + $44 = HEAP32[$15>>2]|0; + $45 = ($43>>>0)>=($44>>>0); + if ($45) { + break L1; + } + $46 = HEAP32[$16>>2]|0; + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = $48 & 128; + $50 = ($49|0)!=(0); + if (!($50)) { + $94 = HEAP32[$14>>2]|0; + $95 = HEAP32[$16>>2]|0; + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = (($94) + ($97)|0); + $99 = HEAP8[$98>>0]|0; + $100 = ($99<<24>>24)!=(0); + $101 = HEAP32[$16>>2]|0; + if ($100) { + label = 18; break; } - case 2: { - $39 = HEAP32[$pMod>>2]|0; - $40 = ((($39)) + 88|0); - $41 = HEAP32[$40>>2]|0; - HEAP32[$xMethod>>2] = $41; - break; + $106 = ((($101)) + 1|0); + HEAP32[$16>>2] = $106; + continue; + } + $51 = HEAP32[$16>>2]|0; + $52 = HEAP32[$9>>2]|0; + $53 = $51; + $54 = $52; + $55 = (($53) - ($54))|0; + HEAP32[$22>>2] = $55; + $56 = HEAP32[$16>>2]|0; + $57 = ((($56)) + 1|0); + HEAP32[$16>>2] = $57; + $58 = HEAP8[$56>>0]|0; + $59 = $58&255; + HEAP32[$20>>2] = $59; + $60 = HEAP32[$20>>2]|0; + $61 = ($60|0)>=(192); + do { + if ($61) { + $62 = HEAP32[$20>>2]|0; + $63 = (($62) - 192)|0; + $64 = (22127 + ($63)|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + HEAP32[$20>>2] = $66; + while(1) { + $67 = HEAP32[$16>>2]|0; + $68 = HEAP32[$15>>2]|0; + $69 = ($67|0)!=($68|0); + if ($69) { + $70 = HEAP32[$16>>2]|0; + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = $72 & 192; + $74 = ($73|0)==(128); + $333 = $74; + } else { + $333 = 0; + } + $75 = HEAP32[$20>>2]|0; + if (!($333)) { + break; + } + $76 = $75 << 6; + $77 = HEAP32[$16>>2]|0; + $78 = ((($77)) + 1|0); + HEAP32[$16>>2] = $78; + $79 = HEAP8[$77>>0]|0; + $80 = $79&255; + $81 = 63 & $80; + $82 = (($76) + ($81))|0; + HEAP32[$20>>2] = $82; + } + $83 = ($75|0)<(128); + if (!($83)) { + $84 = HEAP32[$20>>2]|0; + $85 = $84 & -2048; + $86 = ($85|0)==(55296); + if (!($86)) { + $87 = HEAP32[$20>>2]|0; + $88 = $87 & -2; + $89 = ($88|0)==(65534); + if (!($89)) { + break; + } + } + } + HEAP32[$20>>2] = 65533; } - default: { - $42 = HEAP32[$pMod>>2]|0; - $43 = ((($42)) + 84|0); - $44 = HEAP32[$43>>2]|0; - HEAP32[$xMethod>>2] = $44; + } while(0); + $90 = HEAP32[$12>>2]|0; + $91 = HEAP32[$20>>2]|0; + $92 = (_fts5UnicodeIsAlnum($90,$91)|0); + $93 = ($92|0)!=(0); + if ($93) { + label = 37; + break; + } + } + if ((label|0) == 18) { + label = 0; + $102 = HEAP32[$9>>2]|0; + $103 = $101; + $104 = $102; + $105 = (($103) - ($104))|0; + HEAP32[$22>>2] = $105; + label = 46; + } + while(1) { + do { + if ((label|0) == 37) { + label = 0; + $189 = HEAP32[$20>>2]|0; + $190 = HEAP32[$12>>2]|0; + $191 = ((($190)) + 136|0); + $192 = HEAP32[$191>>2]|0; + $193 = (_sqlite3Fts5UnicodeFold($189,$192)|0); + HEAP32[$20>>2] = $193; + $194 = HEAP32[$20>>2]|0; + $195 = ($194|0)!=(0); + if ($195) { + $196 = HEAP32[$20>>2]|0; + $197 = ($196|0)<(128); + $198 = HEAP32[$20>>2]|0; + if ($197) { + $199 = $198 & 255; + $200 = $199&255; + $201 = HEAP32[$21>>2]|0; + $202 = ((($201)) + 1|0); + HEAP32[$21>>2] = $202; + HEAP8[$201>>0] = $200; + break; + } + $203 = ($198|0)<(2048); + $204 = HEAP32[$20>>2]|0; + if ($203) { + $205 = $204 >> 6; + $206 = $205 & 31; + $207 = $206&255; + $208 = $207&255; + $209 = (192 + ($208))|0; + $210 = $209&255; + $211 = HEAP32[$21>>2]|0; + $212 = ((($211)) + 1|0); + HEAP32[$21>>2] = $212; + HEAP8[$211>>0] = $210; + $213 = HEAP32[$20>>2]|0; + $214 = $213 & 63; + $215 = $214&255; + $216 = $215&255; + $217 = (128 + ($216))|0; + $218 = $217&255; + $219 = HEAP32[$21>>2]|0; + $220 = ((($219)) + 1|0); + HEAP32[$21>>2] = $220; + HEAP8[$219>>0] = $218; + break; + } + $221 = ($204|0)<(65536); + $222 = HEAP32[$20>>2]|0; + if ($221) { + $223 = $222 >> 12; + $224 = $223 & 15; + $225 = $224&255; + $226 = $225&255; + $227 = (224 + ($226))|0; + $228 = $227&255; + $229 = HEAP32[$21>>2]|0; + $230 = ((($229)) + 1|0); + HEAP32[$21>>2] = $230; + HEAP8[$229>>0] = $228; + $231 = HEAP32[$20>>2]|0; + $232 = $231 >> 6; + $233 = $232 & 63; + $234 = $233&255; + $235 = $234&255; + $236 = (128 + ($235))|0; + $237 = $236&255; + $238 = HEAP32[$21>>2]|0; + $239 = ((($238)) + 1|0); + HEAP32[$21>>2] = $239; + HEAP8[$238>>0] = $237; + $240 = HEAP32[$20>>2]|0; + $241 = $240 & 63; + $242 = $241&255; + $243 = $242&255; + $244 = (128 + ($243))|0; + $245 = $244&255; + $246 = HEAP32[$21>>2]|0; + $247 = ((($246)) + 1|0); + HEAP32[$21>>2] = $247; + HEAP8[$246>>0] = $245; + break; + } else { + $248 = $222 >> 18; + $249 = $248 & 7; + $250 = $249&255; + $251 = $250&255; + $252 = (240 + ($251))|0; + $253 = $252&255; + $254 = HEAP32[$21>>2]|0; + $255 = ((($254)) + 1|0); + HEAP32[$21>>2] = $255; + HEAP8[$254>>0] = $253; + $256 = HEAP32[$20>>2]|0; + $257 = $256 >> 12; + $258 = $257 & 63; + $259 = $258&255; + $260 = $259&255; + $261 = (128 + ($260))|0; + $262 = $261&255; + $263 = HEAP32[$21>>2]|0; + $264 = ((($263)) + 1|0); + HEAP32[$21>>2] = $264; + HEAP8[$263>>0] = $262; + $265 = HEAP32[$20>>2]|0; + $266 = $265 >> 6; + $267 = $266 & 63; + $268 = $267&255; + $269 = $268&255; + $270 = (128 + ($269))|0; + $271 = $270&255; + $272 = HEAP32[$21>>2]|0; + $273 = ((($272)) + 1|0); + HEAP32[$21>>2] = $273; + HEAP8[$272>>0] = $271; + $274 = HEAP32[$20>>2]|0; + $275 = $274 & 63; + $276 = $275&255; + $277 = $276&255; + $278 = (128 + ($277))|0; + $279 = $278&255; + $280 = HEAP32[$21>>2]|0; + $281 = ((($280)) + 1|0); + HEAP32[$21>>2] = $281; + HEAP8[$280>>0] = $279; + break; + } + } } + else if ((label|0) == 46) { + label = 0; + $290 = HEAP32[$16>>2]|0; + $291 = HEAP8[$290>>0]|0; + $292 = $291&255; + $293 = ($292|0)>=(65); + if ($293) { + $294 = HEAP32[$16>>2]|0; + $295 = HEAP8[$294>>0]|0; + $296 = $295&255; + $297 = ($296|0)<=(90); + if ($297) { + $298 = HEAP32[$16>>2]|0; + $299 = HEAP8[$298>>0]|0; + $300 = $299&255; + $301 = (($300) + 32)|0; + $302 = $301&255; + $303 = HEAP32[$21>>2]|0; + $304 = ((($303)) + 1|0); + HEAP32[$21>>2] = $304; + HEAP8[$303>>0] = $302; + } else { + label = 49; + } + } else { + label = 49; + } + if ((label|0) == 49) { + label = 0; + $305 = HEAP32[$16>>2]|0; + $306 = HEAP8[$305>>0]|0; + $307 = HEAP32[$21>>2]|0; + $308 = ((($307)) + 1|0); + HEAP32[$21>>2] = $308; + HEAP8[$307>>0] = $306; + } + $309 = HEAP32[$16>>2]|0; + $310 = ((($309)) + 1|0); + HEAP32[$16>>2] = $310; } - $45 = HEAP32[$xMethod>>2]|0; - $46 = ($45|0)!=(0|0); - if ($46) { - $47 = HEAP32[$pVTab>>2]|0; - $48 = ((($47)) + 20|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$2>>2]|0; - $51 = ($49|0)>($50|0); - if ($51) { - $52 = HEAP32[$xMethod>>2]|0; - $53 = HEAP32[$pVTab>>2]|0; - $54 = ((($53)) + 8|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$2>>2]|0; - $57 = (FUNCTION_TABLE_iii[$52 & 255]($55,$56)|0); - HEAP32[$rc>>2] = $57; + } while(0); + $311 = HEAP32[$16>>2]|0; + $312 = HEAP32[$9>>2]|0; + $313 = $311; + $314 = $312; + $315 = (($313) - ($314))|0; + HEAP32[$23>>2] = $315; + $316 = HEAP32[$16>>2]|0; + $317 = HEAP32[$15>>2]|0; + $318 = ($316>>>0)<($317>>>0); + if (!($318)) { + break; + } + $107 = HEAP32[$21>>2]|0; + $108 = HEAP32[$19>>2]|0; + $109 = ($107>>>0)>($108>>>0); + if ($109) { + $110 = HEAP32[$18>>2]|0; + $111 = $110<<1; + $112 = (_sqlite3_malloc($111)|0); + HEAP32[$17>>2] = $112; + $113 = HEAP32[$17>>2]|0; + $114 = ($113|0)==(0|0); + if ($114) { + label = 22; + break L1; + } + $115 = HEAP32[$17>>2]|0; + $116 = HEAP32[$21>>2]|0; + $117 = HEAP32[$12>>2]|0; + $118 = ((($117)) + 128|0); + $119 = HEAP32[$118>>2]|0; + $120 = $116; + $121 = $119; + $122 = (($120) - ($121))|0; + $123 = (($115) + ($122)|0); + HEAP32[$21>>2] = $123; + $124 = HEAP32[$17>>2]|0; + $125 = HEAP32[$12>>2]|0; + $126 = ((($125)) + 128|0); + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$18>>2]|0; + _memcpy(($124|0),($127|0),($128|0))|0; + $129 = HEAP32[$12>>2]|0; + $130 = ((($129)) + 128|0); + $131 = HEAP32[$130>>2]|0; + _sqlite3_free($131); + $132 = HEAP32[$17>>2]|0; + $133 = HEAP32[$12>>2]|0; + $134 = ((($133)) + 128|0); + HEAP32[$134>>2] = $132; + $135 = HEAP32[$18>>2]|0; + $136 = $135<<1; + HEAP32[$18>>2] = $136; + $137 = HEAP32[$12>>2]|0; + $138 = ((($137)) + 132|0); + HEAP32[$138>>2] = $136; + $139 = HEAP32[$17>>2]|0; + $140 = HEAP32[$18>>2]|0; + $141 = (($140) - 6)|0; + $142 = (($139) + ($141)|0); + HEAP32[$19>>2] = $142; + } + $143 = HEAP32[$16>>2]|0; + $144 = HEAP8[$143>>0]|0; + $145 = $144&255; + $146 = $145 & 128; + $147 = ($146|0)!=(0); + if (!($147)) { + $282 = HEAP32[$14>>2]|0; + $283 = HEAP32[$16>>2]|0; + $284 = HEAP8[$283>>0]|0; + $285 = $284&255; + $286 = (($282) + ($285)|0); + $287 = HEAP8[$286>>0]|0; + $288 = $287&255; + $289 = ($288|0)==(0); + if ($289) { + break; + } else { + label = 46; + continue; + } + } + $148 = HEAP32[$16>>2]|0; + $149 = ((($148)) + 1|0); + HEAP32[$16>>2] = $149; + $150 = HEAP8[$148>>0]|0; + $151 = $150&255; + HEAP32[$20>>2] = $151; + $152 = HEAP32[$20>>2]|0; + $153 = ($152|0)>=(192); + do { + if ($153) { + $154 = HEAP32[$20>>2]|0; + $155 = (($154) - 192)|0; + $156 = (22127 + ($155)|0); + $157 = HEAP8[$156>>0]|0; + $158 = $157&255; + HEAP32[$20>>2] = $158; + while(1) { + $159 = HEAP32[$16>>2]|0; + $160 = HEAP32[$15>>2]|0; + $161 = ($159|0)!=($160|0); + if ($161) { + $162 = HEAP32[$16>>2]|0; + $163 = HEAP8[$162>>0]|0; + $164 = $163&255; + $165 = $164 & 192; + $166 = ($165|0)==(128); + $334 = $166; + } else { + $334 = 0; + } + $167 = HEAP32[$20>>2]|0; + if (!($334)) { + break; + } + $168 = $167 << 6; + $169 = HEAP32[$16>>2]|0; + $170 = ((($169)) + 1|0); + HEAP32[$16>>2] = $170; + $171 = HEAP8[$169>>0]|0; + $172 = $171&255; + $173 = 63 & $172; + $174 = (($168) + ($173))|0; + HEAP32[$20>>2] = $174; + } + $175 = ($167|0)<(128); + if (!($175)) { + $176 = HEAP32[$20>>2]|0; + $177 = $176 & -2048; + $178 = ($177|0)==(55296); + if (!($178)) { + $179 = HEAP32[$20>>2]|0; + $180 = $179 & -2; + $181 = ($180|0)==(65534); + if (!($181)) { + break; + } + } } + HEAP32[$20>>2] = 65533; } + } while(0); + $182 = HEAP32[$12>>2]|0; + $183 = HEAP32[$20>>2]|0; + $184 = (_fts5UnicodeIsAlnum($182,$183)|0); + $185 = ($184|0)!=(0); + if ($185) { + label = 37; + continue; + } + $186 = HEAP32[$20>>2]|0; + $187 = (_sqlite3Fts5UnicodeIsdiacritic($186)|0); + $188 = ($187|0)!=(0); + if ($188) { + label = 37; + } else { + break; } } - $58 = HEAP32[$i>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[$i>>2] = $59; + $319 = HEAP32[$11>>2]|0; + $320 = HEAP32[$7>>2]|0; + $321 = HEAP32[$17>>2]|0; + $322 = HEAP32[$21>>2]|0; + $323 = HEAP32[$17>>2]|0; + $324 = $322; + $325 = $323; + $326 = (($324) - ($325))|0; + $327 = HEAP32[$22>>2]|0; + $328 = HEAP32[$23>>2]|0; + $329 = (FUNCTION_TABLE_iiiiiii[$319 & 255]($320,0,$321,$326,$327,$328)|0); + HEAP32[$13>>2] = $329; } - if ((label|0) == 15) { - $60 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($60|0); + if ((label|0) == 22) { + HEAP32[$13>>2] = 7; } - return (0)|0; + $330 = HEAP32[$13>>2]|0; + $331 = ($330|0)==(101); + if (!($331)) { + $332 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($332|0); + } + HEAP32[$13>>2] = 0; + $332 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($332|0); } -function _sqlite3BtreeTripAllCursors($pBtree,$errCode,$writeOnly) { - $pBtree = $pBtree|0; - $errCode = $errCode|0; - $writeOnly = $writeOnly|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $rc = 0, label = 0, sp = 0; +function _fts5AsciiCreate($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $p = sp + 8|0; - $rc = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pBtree; - HEAP32[$1>>2] = $errCode; - HEAP32[$2>>2] = $writeOnly; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $63 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($63|0); - } - $5 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($5); - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$p>>2] = $10; - L4: while(1) { - $11 = HEAP32[$p>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { - label = 15; - break; - } - $13 = HEAP32[$2>>2]|0; - $14 = ($13|0)!=(0); - do { - if ($14) { - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 64|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = $18 & 1; - $20 = ($19|0)==(0); - if ($20) { - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 66|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = ($24|0)==(1); - if (!($25)) { - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 66|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)==(2); - if (!($30)) { + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $12 = HEAP32[$6>>2]|0; + $13 = (($12|0) % 2)&-1; + $14 = ($13|0)!=(0); + do { + if ($14) { + HEAP32[$8>>2] = 1; + } else { + $15 = (_sqlite3_malloc(128)|0); + HEAP32[$9>>2] = $15; + $16 = HEAP32[$9>>2]|0; + $17 = ($16|0)==(0|0); + if ($17) { + HEAP32[$8>>2] = 7; + break; + } + $18 = HEAP32[$9>>2]|0; + dest=$18; stop=dest+128|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[$9>>2]|0; + dest=$19; src=48672; stop=dest+128|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + HEAP32[$10>>2] = 0; + while(1) { + $20 = HEAP32[$8>>2]|0; + $21 = ($20|0)==(0); + if (!($21)) { + break; + } + $22 = HEAP32[$10>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = ($22|0)<($23|0); + if (!($24)) { + break; + } + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$10>>2]|0; + $27 = (($26) + 1)|0; + $28 = (($25) + ($27<<2)|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$11>>2] = $29; + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$10>>2]|0; + $32 = (($30) + ($31<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sqlite3_stricmp($33,48800)|0); + $35 = (0)==($34|0); + do { + if ($35) { + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$11>>2]|0; + _fts5AsciiAddExceptions($36,$37,1); + } else { + $38 = HEAP32[$5>>2]|0; + $39 = HEAP32[$10>>2]|0; + $40 = (($38) + ($39<<2)|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_sqlite3_stricmp($41,48811)|0); + $43 = (0)==($42|0); + if ($43) { + $44 = HEAP32[$9>>2]|0; + $45 = HEAP32[$11>>2]|0; + _fts5AsciiAddExceptions($44,$45,0); + break; + } else { + HEAP32[$8>>2] = 1; break; } } - $31 = HEAP32[$p>>2]|0; - $32 = (_saveCursorPosition($31)|0); - HEAP32[$rc>>2] = $32; - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)!=(0); - if ($34) { - break L4; - } + } while(0); + $46 = HEAP32[$10>>2]|0; + $47 = (($46) + 2)|0; + HEAP32[$10>>2] = $47; + } + $48 = HEAP32[$8>>2]|0; + $49 = ($48|0)!=(0); + if ($49) { + $50 = HEAP32[$9>>2]|0; + _fts5AsciiDelete($50); + HEAP32[$9>>2] = 0; + } + } + } while(0); + $51 = HEAP32[$9>>2]|0; + $52 = HEAP32[$7>>2]|0; + HEAP32[$52>>2] = $51; + $53 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($53|0); +} +function _fts5AsciiDelete($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3_free($2); + STACKTOP = sp;return; +} +function _fts5AsciiTokenize($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp + 56|0; + $17 = sp + 12|0; + $18 = sp + 8|0; + $19 = sp + 4|0; + $20 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $21 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $21; + HEAP32[$13>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$17>>2] = 64; + HEAP32[$18>>2] = $16; + $22 = HEAP32[$12>>2]|0; + HEAP32[$19>>2] = $22; + while(1) { + $23 = HEAP32[$15>>2]|0; + $24 = HEAP32[$10>>2]|0; + $25 = ($23|0)<($24|0); + $26 = HEAP32[$13>>2]|0; + $27 = ($26|0)==(0); + $28 = $25 ? $27 : 0; + if (!($28)) { + break; + } + while(1) { + $29 = HEAP32[$15>>2]|0; + $30 = HEAP32[$10>>2]|0; + $31 = ($29|0)<($30|0); + if ($31) { + $32 = HEAP32[$9>>2]|0; + $33 = HEAP32[$15>>2]|0; + $34 = (($32) + ($33)|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35 << 24 >> 24; + $37 = $36 & 128; + $38 = ($37|0)==(0); + if ($38) { + $39 = HEAP32[$19>>2]|0; + $40 = HEAP32[$9>>2]|0; + $41 = HEAP32[$15>>2]|0; + $42 = (($40) + ($41)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43 << 24 >> 24; + $45 = (($39) + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($47|0)==(0); + $112 = $48; } else { - label = 10; + $112 = 0; } } else { - label = 10; + $112 = 0; } - } while(0); - if ((label|0) == 10) { - label = 0; - $37 = HEAP32[$p>>2]|0; - _sqlite3BtreeClearCursor($37); - $38 = HEAP32[$p>>2]|0; - $39 = ((($38)) + 66|0); - HEAP8[$39>>0] = 4; - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$p>>2]|0; - $42 = ((($41)) + 60|0); - HEAP32[$42>>2] = $40; + $49 = HEAP32[$15>>2]|0; + if (!($112)) { + break; + } + $50 = (($49) + 1)|0; + HEAP32[$15>>2] = $50; } - HEAP32[$i>>2] = 0; + $51 = HEAP32[$10>>2]|0; + $52 = ($49|0)==($51|0); + if ($52) { + break; + } + $53 = HEAP32[$15>>2]|0; + $54 = (($53) + 1)|0; + HEAP32[$14>>2] = $54; while(1) { - $43 = HEAP32[$i>>2]|0; - $44 = HEAP32[$p>>2]|0; - $45 = ((($44)) + 68|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46 << 24 >> 24; - $48 = ($43|0)<=($47|0); - if (!($48)) { + $55 = HEAP32[$14>>2]|0; + $56 = HEAP32[$10>>2]|0; + $57 = ($55|0)<($56|0); + if ($57) { + $58 = HEAP32[$9>>2]|0; + $59 = HEAP32[$14>>2]|0; + $60 = (($58) + ($59)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61 << 24 >> 24; + $63 = $62 & 128; + $64 = ($63|0)!=(0); + if ($64) { + $113 = 1; + } else { + $65 = HEAP32[$19>>2]|0; + $66 = HEAP32[$9>>2]|0; + $67 = HEAP32[$14>>2]|0; + $68 = (($66) + ($67)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($65) + ($70)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = ($73|0)!=(0); + $113 = $74; + } + } else { + $113 = 0; + } + $75 = HEAP32[$14>>2]|0; + if (!($113)) { break; } - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$p>>2]|0; - $51 = ((($50)) + 120|0); - $52 = (($51) + ($49<<2)|0); - $53 = HEAP32[$52>>2]|0; - _releasePage($53); - $54 = HEAP32[$i>>2]|0; - $55 = HEAP32[$p>>2]|0; - $56 = ((($55)) + 120|0); - $57 = (($56) + ($54<<2)|0); - HEAP32[$57>>2] = 0; - $58 = HEAP32[$i>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[$i>>2] = $59; - } - $60 = HEAP32[$p>>2]|0; - $61 = ((($60)) + 8|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$p>>2] = $62; + $76 = (($75) + 1)|0; + HEAP32[$14>>2] = $76; + } + $77 = HEAP32[$15>>2]|0; + $78 = (($75) - ($77))|0; + HEAP32[$20>>2] = $78; + $79 = HEAP32[$20>>2]|0; + $80 = HEAP32[$17>>2]|0; + $81 = ($79|0)>($80|0); + if ($81) { + $82 = HEAP32[$18>>2]|0; + $83 = ($82|0)!=($16|0); + if ($83) { + $84 = HEAP32[$18>>2]|0; + _sqlite3_free($84); + } + $85 = HEAP32[$20>>2]|0; + $86 = $85<<1; + $87 = (_sqlite3_malloc($86)|0); + HEAP32[$18>>2] = $87; + $88 = HEAP32[$18>>2]|0; + $89 = ($88|0)==(0|0); + if ($89) { + label = 19; + break; + } + $90 = HEAP32[$20>>2]|0; + $91 = $90<<1; + HEAP32[$17>>2] = $91; + } + $92 = HEAP32[$18>>2]|0; + $93 = HEAP32[$9>>2]|0; + $94 = HEAP32[$15>>2]|0; + $95 = (($93) + ($94)|0); + $96 = HEAP32[$20>>2]|0; + _asciiFold($92,$95,$96); + $97 = HEAP32[$11>>2]|0; + $98 = HEAP32[$7>>2]|0; + $99 = HEAP32[$18>>2]|0; + $100 = HEAP32[$20>>2]|0; + $101 = HEAP32[$15>>2]|0; + $102 = HEAP32[$14>>2]|0; + $103 = (FUNCTION_TABLE_iiiiiii[$97 & 255]($98,0,$99,$100,$101,$102)|0); + HEAP32[$13>>2] = $103; + $104 = HEAP32[$14>>2]|0; + $105 = (($104) + 1)|0; + HEAP32[$15>>2] = $105; } - if ((label|0) == 15) { - $63 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($63|0); + if ((label|0) == 19) { + HEAP32[$13>>2] = 7; } - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$rc>>2]|0; - (_sqlite3BtreeTripAllCursors($35,$36,0)|0); - $63 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($63|0); + $106 = HEAP32[$18>>2]|0; + $107 = ($106|0)!=($16|0); + if ($107) { + $108 = HEAP32[$18>>2]|0; + _sqlite3_free($108); + } + $109 = HEAP32[$13>>2]|0; + $110 = ($109|0)==(101); + if (!($110)) { + $111 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($111|0); + } + HEAP32[$13>>2] = 0; + $111 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($111|0); } -function _sqlite3BtreeSavepoint($p,$op,$iSavepoint) { - $p = $p|0; - $op = $op|0; - $iSavepoint = $iSavepoint|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; +function _fts5PorterCreate($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $rc = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $iSavepoint; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $42 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($42|0); + STACKTOP = STACKTOP + 48|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $15 = HEAP32[$4>>2]|0; + HEAP32[$8>>2] = $15; + HEAP32[$9>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = 42586; + $16 = HEAP32[$6>>2]|0; + $17 = ($16|0)>(0); + if ($17) { + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$12>>2] = $19; } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(2); - if (!($9)) { - $42 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($42|0); + $20 = (_sqlite3_malloc(144)|0); + HEAP32[$10>>2] = $20; + $21 = HEAP32[$10>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$10>>2]|0; + _memset(($23|0),0,144)|0; + $24 = HEAP32[$8>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$12>>2]|0; + $29 = HEAP32[$10>>2]|0; + $30 = (FUNCTION_TABLE_iiiii[$26 & 255]($27,$28,$11,$29)|0); + HEAP32[$9>>2] = $30; + } else { + HEAP32[$9>>2] = 7; } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$pBt>>2] = $12; - $13 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($13); - $14 = HEAP32[$pBt>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = (_sqlite3PagerSavepoint($15,$16,$17)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)==(0); - if (!($20)) { - $42 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($42|0); + $31 = HEAP32[$9>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $33 = HEAP32[$6>>2]|0; + $34 = ($33|0)>(0); + $35 = HEAP32[$6>>2]|0; + $36 = (($35) - 1)|0; + $37 = $34 ? $36 : 0; + HEAP32[$13>>2] = $37; + $38 = HEAP32[$13>>2]|0; + $39 = ($38|0)!=(0); + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 4|0); + $42 = $39 ? $41 : 0; + HEAP32[$14>>2] = $42; + $43 = HEAP32[$10>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$11>>2]|0; + $46 = HEAP32[$14>>2]|0; + $47 = HEAP32[$13>>2]|0; + $48 = HEAP32[$10>>2]|0; + $49 = ((($48)) + 12|0); + $50 = (FUNCTION_TABLE_iiiii[$44 & 255]($45,$46,$47,$49)|0); + HEAP32[$9>>2] = $50; } - $21 = HEAP32[$2>>2]|0; - $22 = ($21|0)<(0); - if ($22) { - $23 = HEAP32[$pBt>>2]|0; - $24 = ((($23)) + 22|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = $26 & 8; - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$pBt>>2]|0; - $30 = ((($29)) + 44|0); - HEAP32[$30>>2] = 0; - } + $51 = HEAP32[$9>>2]|0; + $52 = ($51|0)!=(0); + if (!($52)) { + $54 = HEAP32[$10>>2]|0; + $55 = HEAP32[$7>>2]|0; + HEAP32[$55>>2] = $54; + $56 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($56|0); } - $31 = HEAP32[$pBt>>2]|0; - $32 = (_newDatabase($31)|0); - HEAP32[$rc>>2] = $32; - $33 = HEAP32[$pBt>>2]|0; - $34 = ((($33)) + 12|0); - $35 = HEAP32[$34>>2]|0; - $36 = ((($35)) + 56|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($37)) + 28|0); - $39 = (_sqlite3Get4byte($38)|0); - $40 = HEAP32[$pBt>>2]|0; - $41 = ((($40)) + 44|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($42|0); + $53 = HEAP32[$10>>2]|0; + _fts5PorterDelete($53); + HEAP32[$10>>2] = 0; + $54 = HEAP32[$10>>2]|0; + $55 = HEAP32[$7>>2]|0; + HEAP32[$55>>2] = $54; + $56 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($56|0); } -function _sqlite3RollbackAll($db,$tripCode) { - $db = $db|0; - $tripCode = $tripCode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $i = 0, $inTrans = 0, $p = 0, $schemaChange = 0, label = 0, sp = 0; +function _fts5PorterDelete($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $i = sp + 12|0; - $inTrans = sp + 8|0; - $schemaChange = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $tripCode; - HEAP32[$inTrans>>2] = 0; - _sqlite3BeginBenignMalloc(); - $2 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnterAll($2); - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 2; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 148|0); - $10 = ((($9)) + 5|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(0); - $15 = $13; - } else { - $15 = 0; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; } - $14 = $15&1; - HEAP32[$schemaChange>>2] = $14; - HEAP32[$i>>2] = 0; - while(1) { - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($16|0)<($19|0); - if (!($20)) { - break; - } - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 16|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($21<<4)|0); - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$p>>2] = $27; - $28 = HEAP32[$p>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$p>>2]|0; - $31 = (_sqlite3BtreeIsInTrans($30)|0); - $32 = ($31|0)!=(0); - if ($32) { - HEAP32[$inTrans>>2] = 1; + $5 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0|0); + if ($9) { + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + FUNCTION_TABLE_vi[$12 & 255]($15); + } + $16 = HEAP32[$2>>2]|0; + _sqlite3_free($16); + STACKTOP = sp;return; +} +function _fts5PorterTokenize($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $14 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $14; + $15 = HEAP32[$11>>2]|0; + $16 = ((($13)) + 4|0); + HEAP32[$16>>2] = $15; + $17 = HEAP32[$7>>2]|0; + HEAP32[$13>>2] = $17; + $18 = HEAP32[$12>>2]|0; + $19 = ((($18)) + 16|0); + $20 = ((($13)) + 8|0); + HEAP32[$20>>2] = $19; + $21 = HEAP32[$12>>2]|0; + $22 = ((($21)) + 8|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$12>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = HEAP32[$10>>2]|0; + $30 = (FUNCTION_TABLE_iiiiiii[$23 & 255]($26,$13,$27,$28,$29,148)|0); + STACKTOP = sp;return ($30|0); +} +function _fts5PorterCb($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + $16 = sp + 40|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $17 = HEAP32[$7>>2]|0; + HEAP32[$13>>2] = $17; + $18 = HEAP32[$10>>2]|0; + $19 = ($18|0)>(64); + $20 = HEAP32[$10>>2]|0; + $21 = ($20|0)<(3); + $or$cond = $19 | $21; + $22 = HEAP32[$13>>2]|0; + if ($or$cond) { + $153 = ((($22)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$13>>2]|0; + $156 = HEAP32[$155>>2]|0; + $157 = HEAP32[$8>>2]|0; + $158 = HEAP32[$9>>2]|0; + $159 = HEAP32[$10>>2]|0; + $160 = HEAP32[$11>>2]|0; + $161 = HEAP32[$12>>2]|0; + $162 = (FUNCTION_TABLE_iiiiiii[$154 & 255]($156,$157,$158,$159,$160,$161)|0); + HEAP32[$6>>2] = $162; + $163 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($163|0); + } + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$14>>2] = $24; + $25 = HEAP32[$10>>2]|0; + HEAP32[$15>>2] = $25; + $26 = HEAP32[$14>>2]|0; + $27 = HEAP32[$9>>2]|0; + $28 = HEAP32[$15>>2]|0; + _memcpy(($26|0),($27|0),($28|0))|0; + $29 = HEAP32[$14>>2]|0; + _fts5PorterStep1A($29,$15); + $30 = HEAP32[$14>>2]|0; + $31 = (_fts5PorterStep1B($30,$15)|0); + $32 = ($31|0)!=(0); + do { + if ($32) { + $33 = HEAP32[$14>>2]|0; + $34 = (_fts5PorterStep1B2($33,$15)|0); + $35 = ($34|0)==(0); + if ($35) { + $36 = HEAP32[$14>>2]|0; + $37 = HEAP32[$15>>2]|0; + $38 = (($37) - 1)|0; + $39 = (($36) + ($38)|0); + $40 = HEAP8[$39>>0]|0; + HEAP8[$16>>0] = $40; + $41 = HEAP8[$16>>0]|0; + $42 = (_fts5PorterIsVowel($41,0)|0); + $43 = ($42|0)==(0); + if ($43) { + $44 = HEAP8[$16>>0]|0; + $45 = $44 << 24 >> 24; + $46 = ($45|0)!=(108); + if ($46) { + $47 = HEAP8[$16>>0]|0; + $48 = $47 << 24 >> 24; + $49 = ($48|0)!=(115); + if ($49) { + $50 = HEAP8[$16>>0]|0; + $51 = $50 << 24 >> 24; + $52 = ($51|0)!=(122); + if ($52) { + $53 = HEAP8[$16>>0]|0; + $54 = $53 << 24 >> 24; + $55 = HEAP32[$14>>2]|0; + $56 = HEAP32[$15>>2]|0; + $57 = (($56) - 2)|0; + $58 = (($55) + ($57)|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59 << 24 >> 24; + $61 = ($54|0)==($60|0); + if ($61) { + $62 = HEAP32[$15>>2]|0; + $63 = (($62) + -1)|0; + HEAP32[$15>>2] = $63; + break; + } + } + } + } + } + $64 = HEAP32[$14>>2]|0; + $65 = HEAP32[$15>>2]|0; + $66 = (_fts5Porter_MEq1($64,$65)|0); + $67 = ($66|0)!=(0); + if ($67) { + $68 = HEAP32[$14>>2]|0; + $69 = HEAP32[$15>>2]|0; + $70 = (_fts5Porter_Ostar($68,$69)|0); + $71 = ($70|0)!=(0); + if ($71) { + $72 = HEAP32[$14>>2]|0; + $73 = HEAP32[$15>>2]|0; + $74 = (($73) + 1)|0; + HEAP32[$15>>2] = $74; + $75 = (($72) + ($73)|0); + HEAP8[$75>>0] = 101; + } + } } - $33 = HEAP32[$p>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$schemaChange>>2]|0; - $36 = ($35|0)!=(0); - $37 = $36 ^ 1; - $38 = $37&1; - (_sqlite3BtreeRollback($33,$34,$38)|0); } - $39 = HEAP32[$i>>2]|0; - $40 = (($39) + 1)|0; - HEAP32[$i>>2] = $40; - } - $41 = HEAP32[$0>>2]|0; - (_sqlite3VtabRollback($41)|0); - _sqlite3EndBenignMalloc(); - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 24|0); - $44 = HEAP32[$43>>2]|0; - $45 = $44 & 2; - $46 = ($45|0)!=(0); - if ($46) { - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 148|0); - $49 = ((($48)) + 5|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$0>>2]|0; - _sqlite3ExpirePreparedStatements($53); - $54 = HEAP32[$0>>2]|0; - _sqlite3ResetAllSchemasOfConnection($54); + } while(0); + $76 = HEAP32[$14>>2]|0; + $77 = HEAP32[$15>>2]|0; + $78 = (($77) - 1)|0; + $79 = (($76) + ($78)|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80 << 24 >> 24; + $82 = ($81|0)==(121); + if ($82) { + $83 = HEAP32[$14>>2]|0; + $84 = HEAP32[$15>>2]|0; + $85 = (($84) - 1)|0; + $86 = (_fts5Porter_Vowel($83,$85)|0); + $87 = ($86|0)!=(0); + if ($87) { + $88 = HEAP32[$14>>2]|0; + $89 = HEAP32[$15>>2]|0; + $90 = (($89) - 1)|0; + $91 = (($88) + ($90)|0); + HEAP8[$91>>0] = 105; + } + } + $92 = HEAP32[$14>>2]|0; + (_fts5PorterStep2($92,$15)|0); + $93 = HEAP32[$14>>2]|0; + (_fts5PorterStep3($93,$15)|0); + $94 = HEAP32[$14>>2]|0; + (_fts5PorterStep4($94,$15)|0); + $95 = HEAP32[$14>>2]|0; + $96 = HEAP32[$15>>2]|0; + $97 = (($96) - 1)|0; + $98 = (($95) + ($97)|0); + $99 = HEAP8[$98>>0]|0; + $100 = $99 << 24 >> 24; + $101 = ($100|0)==(101); + do { + if ($101) { + $102 = HEAP32[$14>>2]|0; + $103 = HEAP32[$15>>2]|0; + $104 = (($103) - 1)|0; + $105 = (_fts5Porter_MGt1($102,$104)|0); + $106 = ($105|0)!=(0); + if (!($106)) { + $107 = HEAP32[$14>>2]|0; + $108 = HEAP32[$15>>2]|0; + $109 = (($108) - 1)|0; + $110 = (_fts5Porter_MEq1($107,$109)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + break; + } + $112 = HEAP32[$14>>2]|0; + $113 = HEAP32[$15>>2]|0; + $114 = (($113) - 1)|0; + $115 = (_fts5Porter_Ostar($112,$114)|0); + $116 = ($115|0)!=(0); + if ($116) { + break; + } + } + $117 = HEAP32[$15>>2]|0; + $118 = (($117) + -1)|0; + HEAP32[$15>>2] = $118; + } + } while(0); + $119 = HEAP32[$15>>2]|0; + $120 = ($119|0)>(1); + if ($120) { + $121 = HEAP32[$14>>2]|0; + $122 = HEAP32[$15>>2]|0; + $123 = (($122) - 1)|0; + $124 = (($121) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $125 << 24 >> 24; + $127 = ($126|0)==(108); + if ($127) { + $128 = HEAP32[$14>>2]|0; + $129 = HEAP32[$15>>2]|0; + $130 = (($129) - 2)|0; + $131 = (($128) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = $132 << 24 >> 24; + $134 = ($133|0)==(108); + if ($134) { + $135 = HEAP32[$14>>2]|0; + $136 = HEAP32[$15>>2]|0; + $137 = (($136) - 1)|0; + $138 = (_fts5Porter_MGt1($135,$137)|0); + $139 = ($138|0)!=(0); + if ($139) { + $140 = HEAP32[$15>>2]|0; + $141 = (($140) + -1)|0; + HEAP32[$15>>2] = $141; + } + } } } - $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 440|0); - $57 = $56; - $58 = $57; - HEAP32[$58>>2] = 0; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = 0; - $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 448|0); - $63 = $62; - $64 = $63; - HEAP32[$64>>2] = 0; - $65 = (($63) + 4)|0; - $66 = $65; - HEAP32[$66>>2] = 0; - $67 = HEAP32[$0>>2]|0; - $68 = ((($67)) + 24|0); - $69 = HEAP32[$68>>2]|0; - $70 = $69 & -33554433; - HEAP32[$68>>2] = $70; - $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 212|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)!=(0|0); - if (!($74)) { + $142 = HEAP32[$13>>2]|0; + $143 = ((($142)) + 4|0); + $144 = HEAP32[$143>>2]|0; + $145 = HEAP32[$13>>2]|0; + $146 = HEAP32[$145>>2]|0; + $147 = HEAP32[$8>>2]|0; + $148 = HEAP32[$14>>2]|0; + $149 = HEAP32[$15>>2]|0; + $150 = HEAP32[$11>>2]|0; + $151 = HEAP32[$12>>2]|0; + $152 = (FUNCTION_TABLE_iiiiiii[$144 & 255]($146,$147,$148,$149,$150,$151)|0); + HEAP32[$6>>2] = $152; + $163 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($163|0); +} +function _fts5PorterStep1A($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$4>>2]|0; + $9 = (($8) - 1)|0; + $10 = (($7) + ($9)|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)==(115); + if (!($13)) { STACKTOP = sp;return; } - $75 = HEAP32[$inTrans>>2]|0; - $76 = ($75|0)!=(0); - if (!($76)) { - $77 = HEAP32[$0>>2]|0; - $78 = ((($77)) + 67|0); - $79 = HEAP8[$78>>0]|0; - $80 = ($79<<24>>24)!=(0); - if ($80) { + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (($15) - 2)|0; + $17 = (($14) + ($16)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18 << 24 >> 24; + $20 = ($19|0)==(101); + if (!($20)) { + $52 = HEAP32[$2>>2]|0; + $53 = HEAP32[$4>>2]|0; + $54 = (($53) - 2)|0; + $55 = (($52) + ($54)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = ($57|0)!=(115); + if (!($58)) { STACKTOP = sp;return; } + $59 = HEAP32[$4>>2]|0; + $60 = (($59) - 1)|0; + $61 = HEAP32[$3>>2]|0; + HEAP32[$61>>2] = $60; + STACKTOP = sp;return; } - $81 = HEAP32[$0>>2]|0; - $82 = ((($81)) + 212|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$0>>2]|0; - $85 = ((($84)) + 208|0); - $86 = HEAP32[$85>>2]|0; - FUNCTION_TABLE_vi[$83 & 255]($86); - STACKTOP = sp;return; -} -function _sqlite3CloseSavepoints($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $pTmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pTmp = sp; - HEAP32[$0>>2] = $db; - while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 424|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - $5 = HEAP32[$0>>2]|0; - if (!($4)) { - break; + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)>(4); + if ($22) { + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = (($24) - 4)|0; + $26 = (($23) + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = ($28|0)==(115); + if ($29) { + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = (($31) - 3)|0; + $33 = (($30) + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34 << 24 >> 24; + $36 = ($35|0)==(115); + if (!($36)) { + label = 6; + } + } else { + label = 6; } - $6 = ((($5)) + 424|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pTmp>>2] = $7; - $8 = HEAP32[$pTmp>>2]|0; - $9 = ((($8)) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 424|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$pTmp>>2]|0; - _sqlite3DbFree($13,$14); + } else { + label = 6; } - $15 = ((($5)) + 432|0); - HEAP32[$15>>2] = 0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 436|0); - HEAP32[$17>>2] = 0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 75|0); - HEAP8[$19>>0] = 0; + do { + if ((label|0) == 6) { + $37 = HEAP32[$4>>2]|0; + $38 = ($37|0)>(3); + if ($38) { + $39 = HEAP32[$2>>2]|0; + $40 = HEAP32[$4>>2]|0; + $41 = (($40) - 3)|0; + $42 = (($39) + ($41)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43 << 24 >> 24; + $45 = ($44|0)==(105); + if ($45) { + break; + } + } + $49 = HEAP32[$4>>2]|0; + $50 = (($49) - 1)|0; + $51 = HEAP32[$3>>2]|0; + HEAP32[$51>>2] = $50; + STACKTOP = sp;return; + } + } while(0); + $46 = HEAP32[$4>>2]|0; + $47 = (($46) - 2)|0; + $48 = HEAP32[$3>>2]|0; + HEAP32[$48>>2] = $47; STACKTOP = sp;return; } -function _sqlite3BtreeBeginStmt($p,$iStatement) { - $p = $p|0; - $iStatement = $iStatement|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; +function _fts5PorterStep1B($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iStatement; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pBt>>2] = $4; - $5 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($5); - $6 = HEAP32[$pBt>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3PagerOpenSavepoint($7,$8)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); -} -function _allocateCursor($p,$iCur,$nField,$iDb,$eCurType) { - $p = $p|0; - $iCur = $iCur|0; - $nField = $nField|0; - $iDb = $iDb|0; - $eCurType = $eCurType|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $nByte = 0, $pCx = 0, $pMem = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 28|0; - $pMem = sp + 8|0; - $nByte = sp + 4|0; - $pCx = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iCur; - HEAP32[$2>>2] = $nField; - HEAP32[$3>>2] = $iDb; - HEAP8[$4>>0] = $eCurType; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)>(0); - $7 = HEAP32[$0>>2]|0; - if ($6) { - $8 = ((($7)) + 24|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = (($9) - ($10))|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 92|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + (($11*40)|0)|0); - $18 = $15; - } else { - $16 = ((($7)) + 92|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17; - } - HEAP32[$pMem>>2] = $18; - HEAP32[$pCx>>2] = 0; - $19 = HEAP32[$2>>2]|0; - $20 = $19<<3; - $21 = (88 + ($20))|0; - $22 = HEAP8[$4>>0]|0; - $23 = $22&255; - $24 = ($23|0)==(0); - if ($24) { - $25 = (_sqlite3BtreeCursorSize()|0); - $27 = $25; - } else { - $27 = 0; - } - $26 = (($21) + ($27))|0; - HEAP32[$nByte>>2] = $26; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 112|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + ($28<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)!=(0|0); - if ($34) { - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$1>>2]|0; - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 112|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + ($36<<2)|0); - $41 = HEAP32[$40>>2]|0; - _sqlite3VdbeFreeCursor($35,$41); - $42 = HEAP32[$1>>2]|0; - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 112|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($45) + ($42<<2)|0); - HEAP32[$46>>2] = 0; - } - $47 = HEAP32[$pMem>>2]|0; - $48 = HEAP32[$nByte>>2]|0; - $49 = (_sqlite3VdbeMemClearAndResize($47,$48)|0); - $50 = (0)==($49|0); - if (!($50)) { - $91 = HEAP32[$pCx>>2]|0; - STACKTOP = sp;return ($91|0); - } - $51 = HEAP32[$pMem>>2]|0; - $52 = ((($51)) + 16|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$pCx>>2] = $53; - $54 = HEAP32[$1>>2]|0; - $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 112|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + ($54<<2)|0); - HEAP32[$58>>2] = $53; - $59 = HEAP32[$pCx>>2]|0; - dest=$59; stop=dest+88|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $60 = HEAP8[$4>>0]|0; - $61 = HEAP32[$pCx>>2]|0; - HEAP8[$61>>0] = $60; - $62 = HEAP32[$3>>2]|0; - $63 = $62&255; - $64 = HEAP32[$pCx>>2]|0; - $65 = ((($64)) + 1|0); - HEAP8[$65>>0] = $63; - $66 = HEAP32[$2>>2]|0; - $67 = $66&65535; - $68 = HEAP32[$pCx>>2]|0; - $69 = ((($68)) + 12|0); - HEAP16[$69>>1] = $67; - $70 = HEAP32[$2>>2]|0; - $71 = HEAP32[$pCx>>2]|0; - $72 = ((($71)) + 80|0); - $73 = (($72) + ($70<<2)|0); - $74 = HEAP32[$pCx>>2]|0; - $75 = ((($74)) + 76|0); - HEAP32[$75>>2] = $73; - $76 = HEAP8[$4>>0]|0; - $77 = $76&255; - $78 = ($77|0)==(0); - if (!($78)) { - $91 = HEAP32[$pCx>>2]|0; - STACKTOP = sp;return ($91|0); - } - $79 = HEAP32[$2>>2]|0; - $80 = $79<<3; - $81 = (88 + ($80))|0; - $82 = HEAP32[$pMem>>2]|0; - $83 = ((($82)) + 16|0); - $84 = HEAP32[$83>>2]|0; - $85 = (($84) + ($81)|0); - $86 = HEAP32[$pCx>>2]|0; - $87 = ((($86)) + 16|0); - HEAP32[$87>>2] = $85; - $88 = HEAP32[$pCx>>2]|0; - $89 = ((($88)) + 16|0); - $90 = HEAP32[$89>>2]|0; - _sqlite3BtreeCursorZero($90); - $91 = HEAP32[$pCx>>2]|0; - STACKTOP = sp;return ($91|0); -} -function _sqlite3BtreeCursor($p,$iTable,$wrFlag,$pKeyInfo,$pCur) { - $p = $p|0; - $iTable = $iTable|0; - $wrFlag = $wrFlag|0; - $pKeyInfo = $pKeyInfo|0; - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; $2 = sp + 12|0; $3 = sp + 8|0; $4 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iTable; - HEAP32[$2>>2] = $wrFlag; - HEAP32[$3>>2] = $pKeyInfo; - HEAP32[$4>>2] = $pCur; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)<(1); - if ($6) { - $7 = (_sqlite3CorruptError(62410)|0); - HEAP32[$rc>>2] = $7; - $15 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($15|0); - } else { - $8 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($8); - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$4>>2]|0; - $14 = (_btreeCursor($9,$10,$11,$12,$13)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($15|0); - } - return (0)|0; -} -function _sqlite3BtreeCursorHintFlags($pCur,$x) { - $pCur = $pCur|0; - $x = $x|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$1>>2] = $x; - $2 = HEAP32[$1>>2]|0; - $3 = $2&255; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 67|0); - HEAP8[$5>>0] = $3; - STACKTOP = sp;return; -} -function _sqlite3BtreeCreateTable($p,$piTable,$flags) { - $p = $p|0; - $piTable = $piTable|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $piTable; - HEAP32[$2>>2] = $flags; - $3 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($3); - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = (_btreeCreateTable($4,$5,$6)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($8|0); -} -function _sqlite3VdbeSorterInit($db,$nField,$pCsr) { - $db = $db|0; - $nField = $nField|0; - $pCsr = $pCsr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $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, $i = 0, $mxCache = 0, $pKeyInfo = 0, $pSorter = 0, $pTask = 0, $pgsz = 0, $rc = 0, $sz = 0, $szKeyInfo = 0, $szPma = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $pgsz = sp + 40|0; - $i = sp + 36|0; - $pSorter = sp + 32|0; - $pKeyInfo = sp + 28|0; - $szKeyInfo = sp + 24|0; - $sz = sp + 20|0; - $rc = sp + 16|0; - $pTask = sp + 12|0; - $mxCache = sp; - $szPma = sp + 8|0; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $nField; - HEAP32[$2>>2] = $pCsr; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 6|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = (($8) - 1)|0; - $10 = $9<<2; - $11 = (24 + ($10))|0; - HEAP32[$szKeyInfo>>2] = $11; - HEAP32[$sz>>2] = 136; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$sz>>2]|0; - $14 = HEAP32[$szKeyInfo>>2]|0; - $15 = (($13) + ($14))|0; - $16 = ($15|0)<(0); - $17 = $16 << 31 >> 31; - $18 = (_sqlite3DbMallocZero($12,$15,$17)|0); - HEAP32[$pSorter>>2] = $18; - $19 = HEAP32[$pSorter>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 16|0); - HEAP32[$21>>2] = $19; - $22 = HEAP32[$pSorter>>2]|0; - $23 = ($22|0)==(0|0); - if ($23) { - HEAP32[$rc>>2] = 7; - $225 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($225|0); - } - $24 = HEAP32[$pSorter>>2]|0; - $25 = HEAP32[$sz>>2]|0; - $26 = (($24) + ($25)|0); - HEAP32[$pKeyInfo>>2] = $26; - $27 = HEAP32[$pSorter>>2]|0; - $28 = ((($27)) + 28|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$pKeyInfo>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = ((($30)) + 24|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$szKeyInfo>>2]|0; - _memcpy(($29|0),($32|0),($33|0))|0; - $34 = HEAP32[$pKeyInfo>>2]|0; - $35 = ((($34)) + 12|0); - HEAP32[$35>>2] = 0; - $36 = HEAP32[$1>>2]|0; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$pKeyInfo>>2]|0; - $39 = ((($38)) + 6|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40&65535; - $42 = HEAP32[$1>>2]|0; - $43 = (($41) - ($42))|0; - $44 = HEAP32[$pKeyInfo>>2]|0; - $45 = ((($44)) + 8|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($47) + ($43))|0; - $49 = $48&65535; - HEAP16[$45>>1] = $49; - $50 = HEAP32[$1>>2]|0; - $51 = $50&65535; - $52 = HEAP32[$pKeyInfo>>2]|0; - $53 = ((($52)) + 6|0); - HEAP16[$53>>1] = $51; - } - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 16|0); - $56 = HEAP32[$55>>2]|0; - $57 = ((($56)) + 4|0); - $58 = HEAP32[$57>>2]|0; - $59 = (_sqlite3BtreeGetPageSize($58)|0); - HEAP32[$pgsz>>2] = $59; - $60 = HEAP32[$pSorter>>2]|0; - $61 = ((($60)) + 12|0); - HEAP32[$61>>2] = $59; - $62 = HEAP32[$pSorter>>2]|0; - $63 = ((($62)) + 59|0); - HEAP8[$63>>0] = 1; - $64 = HEAP32[$pSorter>>2]|0; - $65 = ((($64)) + 58|0); - HEAP8[$65>>0] = -1; - $66 = HEAP32[$pSorter>>2]|0; - $67 = ((($66)) + 59|0); - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = ($69|0)>(1); - $71 = $70&1; - $72 = $71&255; - $73 = HEAP32[$pSorter>>2]|0; - $74 = ((($73)) + 57|0); - HEAP8[$74>>0] = $72; - $75 = HEAP32[$0>>2]|0; - $76 = HEAP32[$pSorter>>2]|0; - $77 = ((($76)) + 24|0); - HEAP32[$77>>2] = $75; - HEAP32[$i>>2] = 0; - while(1) { - $78 = HEAP32[$i>>2]|0; - $79 = HEAP32[$pSorter>>2]|0; - $80 = ((($79)) + 59|0); - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $83 = ($78|0)<($82|0); - if (!($83)) { + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = (($9) - 2)|0; + $11 = (($8) + ($10)|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12 << 24 >> 24; + L1: do { + switch ($13|0) { + case 101: { + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)>(3); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = (($17) - 3)|0; + $19 = (($16) + ($18)|0); + $20 = (_memcmp(48661,$19,3)|0); + $21 = (0)==($20|0); + if ($21) { + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = (($23) - 3)|0; + $25 = (_fts5Porter_MGt0($22,$24)|0); + $26 = ($25|0)!=(0); + if (!($26)) { + break L1; + } + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = (($28) - 3)|0; + $30 = (($27) + ($29)|0); + ;HEAP8[$30>>0]=HEAP8[47220>>0]|0;HEAP8[$30+1>>0]=HEAP8[47220+1>>0]|0; + $31 = HEAP32[$5>>2]|0; + $32 = (($31) - 3)|0; + $33 = (($32) + 2)|0; + $34 = HEAP32[$3>>2]|0; + HEAP32[$34>>2] = $33; + break L1; + } + } + $35 = HEAP32[$5>>2]|0; + $36 = ($35|0)>(2); + if ($36) { + $37 = HEAP32[$2>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = (($38) - 2)|0; + $40 = (($37) + ($39)|0); + $41 = (_memcmp(48665,$40,2)|0); + $42 = (0)==($41|0); + if ($42) { + $43 = HEAP32[$2>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = (($44) - 2)|0; + $46 = (_fts5Porter_Vowel($43,$45)|0); + $47 = ($46|0)!=(0); + if ($47) { + $48 = HEAP32[$5>>2]|0; + $49 = (($48) - 2)|0; + $50 = HEAP32[$3>>2]|0; + HEAP32[$50>>2] = $49; + HEAP32[$4>>2] = 1; + } + } + } break; } - $84 = HEAP32[$i>>2]|0; - $85 = HEAP32[$pSorter>>2]|0; - $86 = ((($85)) + 64|0); - $87 = (($86) + (($84*72)|0)|0); - HEAP32[$pTask>>2] = $87; - $88 = HEAP32[$pSorter>>2]|0; - $89 = HEAP32[$pTask>>2]|0; - $90 = ((($89)) + 8|0); - HEAP32[$90>>2] = $88; - $91 = HEAP32[$i>>2]|0; - $92 = (($91) + 1)|0; - HEAP32[$i>>2] = $92; - } - $93 = HEAP32[$0>>2]|0; - $94 = (_sqlite3TempInMemory($93)|0); - $95 = ($94|0)!=(0); - if (!($95)) { - $96 = HEAP32[(232)>>2]|0; - HEAP32[$szPma>>2] = $96; - $97 = HEAP32[$szPma>>2]|0; - $98 = HEAP32[$pgsz>>2]|0; - $99 = Math_imul($97, $98)|0; - $100 = HEAP32[$pSorter>>2]|0; - HEAP32[$100>>2] = $99; - $101 = HEAP32[$0>>2]|0; - $102 = ((($101)) + 16|0); - $103 = HEAP32[$102>>2]|0; - $104 = ((($103)) + 12|0); - $105 = HEAP32[$104>>2]|0; - $106 = ((($105)) + 80|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)<(0); - $109 = $108 << 31 >> 31; - $110 = $mxCache; - $111 = $110; - HEAP32[$111>>2] = $107; - $112 = (($110) + 4)|0; - $113 = $112; - HEAP32[$113>>2] = $109; - $114 = $mxCache; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = (($114) + 4)|0; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = ($119|0)<(0); - $121 = $mxCache; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = (($121) + 4)|0; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - if ($120) { - $127 = (___muldi3(($123|0),($126|0),-1024,-1)|0); - $128 = tempRet0; - $129 = $mxCache; - $130 = $129; - HEAP32[$130>>2] = $127; - $131 = (($129) + 4)|0; - $132 = $131; - HEAP32[$132>>2] = $128; - } else { - $133 = HEAP32[$pgsz>>2]|0; - $134 = ($133|0)<(0); - $135 = $134 << 31 >> 31; - $136 = (___muldi3(($123|0),($126|0),($133|0),($135|0))|0); - $137 = tempRet0; - $138 = $mxCache; - $139 = $138; - HEAP32[$139>>2] = $136; - $140 = (($138) + 4)|0; - $141 = $140; - HEAP32[$141>>2] = $137; + case 110: { + $51 = HEAP32[$5>>2]|0; + $52 = ($51|0)>(3); + if ($52) { + $53 = HEAP32[$2>>2]|0; + $54 = HEAP32[$5>>2]|0; + $55 = (($54) - 3)|0; + $56 = (($53) + ($55)|0); + $57 = (_memcmp(48668,$56,3)|0); + $58 = (0)==($57|0); + if ($58) { + $59 = HEAP32[$2>>2]|0; + $60 = HEAP32[$5>>2]|0; + $61 = (($60) - 3)|0; + $62 = (_fts5Porter_Vowel($59,$61)|0); + $63 = ($62|0)!=(0); + if ($63) { + $64 = HEAP32[$5>>2]|0; + $65 = (($64) - 3)|0; + $66 = HEAP32[$3>>2]|0; + HEAP32[$66>>2] = $65; + HEAP32[$4>>2] = 1; + } + } + } + break; } - $142 = $mxCache; - $143 = $142; - $144 = HEAP32[$143>>2]|0; - $145 = (($142) + 4)|0; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = ($147|0)<(0); - $149 = ($144>>>0)<(536870912); - $150 = ($147|0)==(0); - $151 = $150 & $149; - $152 = $148 | $151; - $153 = $mxCache; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = (($153) + 4)|0; - $157 = $156; - $158 = HEAP32[$157>>2]|0; - $159 = $152 ? $155 : 536870912; - $160 = $152 ? $158 : 0; - $161 = $mxCache; - $162 = $161; - HEAP32[$162>>2] = $159; - $163 = (($161) + 4)|0; - $164 = $163; - HEAP32[$164>>2] = $160; - $165 = HEAP32[$pSorter>>2]|0; - $166 = HEAP32[$165>>2]|0; - $167 = $mxCache; - $168 = $167; - $169 = HEAP32[$168>>2]|0; - $170 = (($167) + 4)|0; - $171 = $170; - $172 = HEAP32[$171>>2]|0; - $173 = ($166|0)>($169|0); - if ($173) { - $174 = HEAP32[$pSorter>>2]|0; - $175 = HEAP32[$174>>2]|0; - $184 = $175; - } else { - $176 = $mxCache; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (($176) + 4)|0; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $184 = $178; - } - $182 = HEAP32[$pSorter>>2]|0; - $183 = ((($182)) + 4|0); - HEAP32[$183>>2] = $184; - $185 = HEAP32[(200)>>2]|0; - $186 = ($185|0)==(0|0); - if ($186) { - $187 = HEAP32[$pgsz>>2]|0; - $188 = HEAP32[$pSorter>>2]|0; - $189 = ((($188)) + 52|0); - HEAP32[$189>>2] = $187; - $190 = HEAP32[$pgsz>>2]|0; - $191 = ($190|0)<(0); - $192 = $191 << 31 >> 31; - $193 = (_sqlite3Malloc($190,$192)|0); - $194 = HEAP32[$pSorter>>2]|0; - $195 = ((($194)) + 36|0); - $196 = ((($195)) + 4|0); - HEAP32[$196>>2] = $193; - $197 = HEAP32[$pSorter>>2]|0; - $198 = ((($197)) + 36|0); - $199 = ((($198)) + 4|0); - $200 = HEAP32[$199>>2]|0; - $201 = ($200|0)!=(0|0); - if (!($201)) { - HEAP32[$rc>>2] = 7; - } - } - } - $202 = HEAP32[$pKeyInfo>>2]|0; - $203 = ((($202)) + 6|0); - $204 = HEAP16[$203>>1]|0; - $205 = $204&65535; - $206 = HEAP32[$pKeyInfo>>2]|0; - $207 = ((($206)) + 8|0); - $208 = HEAP16[$207>>1]|0; - $209 = $208&65535; - $210 = (($205) + ($209))|0; - $211 = ($210|0)<(13); - if (!($211)) { - $225 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($225|0); - } - $212 = HEAP32[$pKeyInfo>>2]|0; - $213 = ((($212)) + 20|0); - $214 = HEAP32[$213>>2]|0; - $215 = ($214|0)==(0|0); - if (!($215)) { - $216 = HEAP32[$pKeyInfo>>2]|0; - $217 = ((($216)) + 20|0); - $218 = HEAP32[$217>>2]|0; - $219 = HEAP32[$0>>2]|0; - $220 = ((($219)) + 8|0); - $221 = HEAP32[$220>>2]|0; - $222 = ($218|0)==($221|0); - if (!($222)) { - $225 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($225|0); + default: { } - } - $223 = HEAP32[$pSorter>>2]|0; - $224 = ((($223)) + 60|0); - HEAP8[$224>>0] = 3; - $225 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($225|0); + } + } while(0); + $67 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($67|0); } -function _sqlite3VdbeFreeCursor($p,$pCx) { - $p = $p|0; - $pCx = $pCx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pModule = 0, $pVCur = 0, label = 0, sp = 0; +function _fts5PorterStep1B2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pVCur = sp + 4|0; - $pModule = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pCx; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - STACKTOP = sp;return; - } - $4 = HEAP32[$1>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - switch ($6|0) { - case 1: { - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - _sqlite3VdbeSorterClose($8,$9); - STACKTOP = sp;return; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = (($9) - 2)|0; + $11 = (($8) + ($10)|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12 << 24 >> 24; + switch ($13|0) { + case 97: { + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)>(2); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = (($17) - 2)|0; + $19 = (($16) + ($18)|0); + $20 = (_memcmp(48652,$19,2)|0); + $21 = (0)==($20|0); + if ($21) { + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = (($23) - 2)|0; + $25 = (($22) + ($24)|0); + ;HEAP8[$25>>0]=HEAP8[47233>>0]|0;HEAP8[$25+1>>0]=HEAP8[47233+1>>0]|0;HEAP8[$25+2>>0]=HEAP8[47233+2>>0]|0; + $26 = HEAP32[$5>>2]|0; + $27 = (($26) - 2)|0; + $28 = (($27) + 3)|0; + $29 = HEAP32[$3>>2]|0; + HEAP32[$29>>2] = $28; + HEAP32[$4>>2] = 1; + } + } break; } - case 0: { - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0|0); - $14 = HEAP32[$1>>2]|0; - if ($13) { - $15 = ((($14)) + 20|0); - $16 = HEAP32[$15>>2]|0; - (_sqlite3BtreeClose($16)|0); - STACKTOP = sp;return; - } else { - $17 = ((($14)) + 16|0); - $18 = HEAP32[$17>>2]|0; - (_sqlite3BtreeCloseCursor($18)|0); - STACKTOP = sp;return; + case 98: { + $30 = HEAP32[$5>>2]|0; + $31 = ($30|0)>(2); + if ($31) { + $32 = HEAP32[$2>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = (($33) - 2)|0; + $35 = (($32) + ($34)|0); + $36 = (_memcmp(48655,$35,2)|0); + $37 = (0)==($36|0); + if ($37) { + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = (($39) - 2)|0; + $41 = (($38) + ($40)|0); + ;HEAP8[$41>>0]=HEAP8[47240>>0]|0;HEAP8[$41+1>>0]=HEAP8[47240+1>>0]|0;HEAP8[$41+2>>0]=HEAP8[47240+2>>0]|0; + $42 = HEAP32[$5>>2]|0; + $43 = (($42) - 2)|0; + $44 = (($43) + 3)|0; + $45 = HEAP32[$3>>2]|0; + HEAP32[$45>>2] = $44; + HEAP32[$4>>2] = 1; + } } break; } - case 2: { - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 16|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$pVCur>>2] = $21; - $22 = HEAP32[$pVCur>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$23>>2]|0; - HEAP32[$pModule>>2] = $24; - $25 = HEAP32[$pVCur>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + -1)|0; - HEAP32[$27>>2] = $29; - $30 = HEAP32[$pModule>>2]|0; - $31 = ((($30)) + 28|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$pVCur>>2]|0; - (FUNCTION_TABLE_ii[$32 & 255]($33)|0); - STACKTOP = sp;return; + case 105: { + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)>(2); + if ($47) { + $48 = HEAP32[$2>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = (($49) - 2)|0; + $51 = (($48) + ($50)|0); + $52 = (_memcmp(48658,$51,2)|0); + $53 = (0)==($52|0); + if ($53) { + $54 = HEAP32[$2>>2]|0; + $55 = HEAP32[$5>>2]|0; + $56 = (($55) - 2)|0; + $57 = (($54) + ($56)|0); + ;HEAP8[$57>>0]=HEAP8[47247>>0]|0;HEAP8[$57+1>>0]=HEAP8[47247+1>>0]|0;HEAP8[$57+2>>0]=HEAP8[47247+2>>0]|0; + $58 = HEAP32[$5>>2]|0; + $59 = (($58) - 2)|0; + $60 = (($59) + 3)|0; + $61 = HEAP32[$3>>2]|0; + HEAP32[$61>>2] = $60; + HEAP32[$4>>2] = 1; + } + } break; } default: { - STACKTOP = sp;return; } } + $62 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($62|0); } -function _sqlite3BtreeCursorHasHint($pCsr,$mask) { - $pCsr = $pCsr|0; - $mask = $mask|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _fts5PorterIsVowel($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pCsr; - HEAP32[$1>>2] = $mask; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 67|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = HEAP32[$1>>2]|0; - $7 = $5 & $6; - $8 = ($7|0)!=(0); - $9 = $8&1; - STACKTOP = sp;return ($9|0); + $2 = sp + 4|0; + $3 = sp; + HEAP8[$2>>0] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP8[$2>>0]|0; + $5 = $4 << 24 >> 24; + $6 = ($5|0)==(97); + if ($6) { + $25 = 1; + } else { + $7 = HEAP8[$2>>0]|0; + $8 = $7 << 24 >> 24; + $9 = ($8|0)==(101); + if ($9) { + $25 = 1; + } else { + $10 = HEAP8[$2>>0]|0; + $11 = $10 << 24 >> 24; + $12 = ($11|0)==(105); + if ($12) { + $25 = 1; + } else { + $13 = HEAP8[$2>>0]|0; + $14 = $13 << 24 >> 24; + $15 = ($14|0)==(111); + if ($15) { + $25 = 1; + } else { + $16 = HEAP8[$2>>0]|0; + $17 = $16 << 24 >> 24; + $18 = ($17|0)==(117); + if ($18) { + $25 = 1; + } else { + $19 = HEAP32[$3>>2]|0; + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP8[$2>>0]|0; + $22 = $21 << 24 >> 24; + $23 = ($22|0)==(121); + $25 = $23; + } else { + $25 = 0; + } + } + } + } + } + } + $24 = $25&1; + STACKTOP = sp;return ($24|0); } -function _sqlite3BtreeEof($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _fts5Porter_MEq1($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; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 66|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = (1)!=($4|0); - $6 = $5&1; - STACKTOP = sp;return ($6|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = (_fts5PorterGobbleVC($6,$7,0)|0); + HEAP32[$5>>2] = $8; + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)!=(0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = (($11) + ($12)|0); + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = (($14) - ($15))|0; + $17 = (_fts5PorterGobbleVC($13,$16,1)|0); + $18 = (0)==($17|0); + if ($18) { + HEAP32[$2>>2] = 1; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); + } + } + HEAP32[$2>>2] = 0; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); } -function _sqlite3BtreeLast($pCur,$pRes) { - $pCur = $pCur|0; - $pRes = $pRes|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0; +function _fts5Porter_Ostar($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = (($9) - 1)|0; + $11 = (($8) + ($10)|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12 << 24 >> 24; + $14 = ($13|0)==(119); + if (!($14)) { + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = (($16) - 1)|0; + $18 = (($15) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19 << 24 >> 24; + $21 = ($20|0)==(120); + if (!($21)) { + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = (($23) - 1)|0; + $25 = (($22) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($27|0)==(121); + if (!($28)) { + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; + HEAP32[$5>>2] = 0; + while(1) { + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = ($29|0)<($30|0); + if (!($31)) { + break; + } + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = (($32) + ($33)|0); + $35 = HEAP8[$34>>0]|0; + $36 = HEAP32[$7>>2]|0; + $37 = (_fts5PorterIsVowel($35,$36)|0); + $38 = ($37|0)!=(0); + $39 = $38 ^ 1; + $40 = $39&1; + HEAP32[$7>>2] = $40; + $41 = HEAP32[$6>>2]|0; + $42 = $41 << 1; + $43 = HEAP32[$7>>2]|0; + $44 = (($42) + ($43))|0; + HEAP32[$6>>2] = $44; + $45 = HEAP32[$5>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$5>>2] = $46; + } + $47 = HEAP32[$6>>2]|0; + $48 = $47 & 7; + $49 = ($48|0)==(5); + $50 = $49&1; + HEAP32[$2>>2] = $50; + $51 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($51|0); + } + } + } + HEAP32[$2>>2] = 0; + $51 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($51|0); +} +function _fts5Porter_Vowel($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; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pCur; - HEAP32[$2>>2] = $pRes; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 66|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = (1)==($6|0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 64|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $11 & 8; - $13 = ($12|0)!=(0); - if ($13) { - HEAP32[$0>>2] = 0; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + while(1) { + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = ($6|0)<($7|0); + if (!($8)) { + label = 6; + break; } - } - $14 = HEAP32[$1>>2]|0; - $15 = (_moveToRoot($14)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - do { + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($9) + ($10)|0); + $12 = HEAP8[$11>>0]|0; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)>(0); + $15 = $14&1; + $16 = (_fts5PorterIsVowel($12,$15)|0); + $17 = ($16|0)!=(0); if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 66|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = (0)==($21|0); - $23 = HEAP32[$2>>2]|0; - if ($22) { - HEAP32[$23>>2] = 1; - break; - } - HEAP32[$23>>2] = 0; - $24 = HEAP32[$1>>2]|0; - $25 = (_moveToRightmost($24)|0); - HEAP32[$rc>>2] = $25; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)==(0); - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 64|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - if ($27) { - $32 = $31 | 8; - $33 = $32&255; - HEAP8[$29>>0] = $33; - break; - } else { - $34 = $31 & -9; - $35 = $34&255; - HEAP8[$29>>0] = $35; - break; - } + label = 4; + break; } - } while(0); - $36 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $36; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); + $18 = HEAP32[$5>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$5>>2] = $19; + } + if ((label|0) == 4) { + HEAP32[$2>>2] = 1; + $20 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($20|0); + } + else if ((label|0) == 6) { + HEAP32[$2>>2] = 0; + $20 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($20|0); + } + return (0)|0; } -function _sqlite3BtreeInsert($pCur,$pX,$appendBias,$seekResult) { - $pCur = $pCur|0; - $pX = $pX|0; - $appendBias = $appendBias|0; - $seekResult = $seekResult|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $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, $idx = 0, $loc = 0, $newCell = 0, $oldCell = 0, $p = 0, $pBt = 0, $pPage = 0, $rc = 0, $szNew = 0, $szOld = 0, label = 0, sp = 0; +function _fts5PorterStep2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $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; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $rc = sp + 32|0; - $loc = sp + 28|0; - $szNew = sp + 24|0; - $idx = sp + 20|0; - $pPage = sp + 16|0; - $p = sp + 12|0; - $pBt = sp + 8|0; - $oldCell = sp + 4|0; - $newCell = sp; - $szOld = sp + 56|0; - HEAP32[$1>>2] = $pCur; - HEAP32[$2>>2] = $pX; - HEAP32[$3>>2] = $appendBias; - HEAP32[$4>>2] = $seekResult; - $5 = HEAP32[$4>>2]|0; - HEAP32[$loc>>2] = $5; - HEAP32[$szNew>>2] = 0; - $6 = HEAP32[$1>>2]|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$3>>2]|0; $7 = HEAP32[$6>>2]|0; - HEAP32[$p>>2] = $7; - $8 = HEAP32[$p>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pBt>>2] = $10; - HEAP32[$newCell>>2] = 0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 66|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==(4); - $16 = HEAP32[$1>>2]|0; - if ($15) { - $17 = ((($16)) + 60|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$0>>2] = $18; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); - } - $19 = ((($16)) + 64|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = $21 & 32; - $23 = ($22|0)!=(0); - if ($23) { - $24 = HEAP32[$pBt>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 52|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = (_saveAllCursors($24,$27,$28)|0); - HEAP32[$rc>>2] = $29; - $30 = HEAP32[$rc>>2]|0; - $31 = ($30|0)!=(0); - if ($31) { - $32 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $32; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); + HEAP32[$5>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = (($9) - 2)|0; + $11 = (($8) + ($10)|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12 << 24 >> 24; + L1: do { + switch ($13|0) { + case 97: { + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)>(7); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = (($17) - 7)|0; + $19 = (($16) + ($18)|0); + $20 = (_memcmp(48524,$19,7)|0); + $21 = (0)==($20|0); + if ($21) { + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = (($23) - 7)|0; + $25 = (_fts5Porter_MGt0($22,$24)|0); + $26 = ($25|0)!=(0); + if (!($26)) { + break L1; + } + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = (($28) - 7)|0; + $30 = (($27) + ($29)|0); + ;HEAP8[$30>>0]=HEAP8[47233>>0]|0;HEAP8[$30+1>>0]=HEAP8[47233+1>>0]|0;HEAP8[$30+2>>0]=HEAP8[47233+2>>0]|0; + $31 = HEAP32[$5>>2]|0; + $32 = (($31) - 7)|0; + $33 = (($32) + 3)|0; + $34 = HEAP32[$3>>2]|0; + HEAP32[$34>>2] = $33; + break L1; + } + } + $35 = HEAP32[$5>>2]|0; + $36 = ($35|0)>(6); + if ($36) { + $37 = HEAP32[$2>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = (($38) - 6)|0; + $40 = (($37) + ($39)|0); + $41 = (_memcmp(48532,$40,6)|0); + $42 = (0)==($41|0); + if ($42) { + $43 = HEAP32[$2>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = (($44) - 6)|0; + $46 = (_fts5Porter_MGt0($43,$45)|0); + $47 = ($46|0)!=(0); + if ($47) { + $48 = HEAP32[$2>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = (($49) - 6)|0; + $51 = (($48) + ($50)|0); + ;HEAP8[$51>>0]=HEAP8[47266>>0]|0;HEAP8[$51+1>>0]=HEAP8[47266+1>>0]|0;HEAP8[$51+2>>0]=HEAP8[47266+2>>0]|0;HEAP8[$51+3>>0]=HEAP8[47266+3>>0]|0; + $52 = HEAP32[$5>>2]|0; + $53 = (($52) - 6)|0; + $54 = (($53) + 4)|0; + $55 = HEAP32[$3>>2]|0; + HEAP32[$55>>2] = $54; + } + } + } + break; } - } - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 72|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - do { - if ($36) { - $37 = HEAP32[$p>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = ((($38)) + 8|0); - $40 = $39; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (($40) + 4)|0; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - _invalidateIncrblobCursors($37,$42,$45,0); - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 64|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - $50 = $49 & 2; - $51 = ($50|0)!=(0); - if ($51) { - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 8|0); - $54 = $53; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = ($59|0)>(0); - $61 = ($56>>>0)>(0); - $62 = ($59|0)==(0); - $63 = $62 & $61; - $64 = $60 | $63; - if ($64) { - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 16|0); - $67 = $66; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$2>>2]|0; - $74 = ((($73)) + 8|0); - $75 = $74; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (_i64Subtract(($77|0),($80|0),1,0)|0); - $82 = tempRet0; - $83 = ($69|0)==($81|0); - $84 = ($72|0)==($82|0); - $85 = $83 & $84; - if ($85) { - HEAP32[$loc>>2] = -1; - break; + case 99: { + $56 = HEAP32[$5>>2]|0; + $57 = ($56|0)>(4); + if ($57) { + $58 = HEAP32[$2>>2]|0; + $59 = HEAP32[$5>>2]|0; + $60 = (($59) - 4)|0; + $61 = (($58) + ($60)|0); + $62 = (_memcmp(48539,$61,4)|0); + $63 = (0)==($62|0); + if ($63) { + $64 = HEAP32[$2>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = (($65) - 4)|0; + $67 = (_fts5Porter_MGt0($64,$66)|0); + $68 = ($67|0)!=(0); + if (!($68)) { + break L1; } + $69 = HEAP32[$2>>2]|0; + $70 = HEAP32[$5>>2]|0; + $71 = (($70) - 4)|0; + $72 = (($69) + ($71)|0); + ;HEAP8[$72>>0]=HEAP8[47276>>0]|0;HEAP8[$72+1>>0]=HEAP8[47276+1>>0]|0;HEAP8[$72+2>>0]=HEAP8[47276+2>>0]|0;HEAP8[$72+3>>0]=HEAP8[47276+3>>0]|0; + $73 = HEAP32[$5>>2]|0; + $74 = (($73) - 4)|0; + $75 = (($74) + 4)|0; + $76 = HEAP32[$3>>2]|0; + HEAP32[$76>>2] = $75; + break L1; } } - $86 = HEAP32[$loc>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - $88 = HEAP32[$1>>2]|0; - $89 = HEAP32[$2>>2]|0; - $90 = ((($89)) + 8|0); - $91 = $90; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (($91) + 4)|0; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = HEAP32[$3>>2]|0; - $98 = (_sqlite3BtreeMovetoUnpacked($88,0,$93,$96,$97,$loc)|0); - HEAP32[$rc>>2] = $98; - $99 = HEAP32[$rc>>2]|0; - $100 = ($99|0)!=(0); - if ($100) { - $101 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $101; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); + $77 = HEAP32[$5>>2]|0; + $78 = ($77|0)>(4); + if ($78) { + $79 = HEAP32[$2>>2]|0; + $80 = HEAP32[$5>>2]|0; + $81 = (($80) - 4)|0; + $82 = (($79) + ($81)|0); + $83 = (_memcmp(48544,$82,4)|0); + $84 = (0)==($83|0); + if ($84) { + $85 = HEAP32[$2>>2]|0; + $86 = HEAP32[$5>>2]|0; + $87 = (($86) - 4)|0; + $88 = (_fts5Porter_MGt0($85,$87)|0); + $89 = ($88|0)!=(0); + if ($89) { + $90 = HEAP32[$2>>2]|0; + $91 = HEAP32[$5>>2]|0; + $92 = (($91) - 4)|0; + $93 = (($90) + ($92)|0); + ;HEAP8[$93>>0]=HEAP8[47286>>0]|0;HEAP8[$93+1>>0]=HEAP8[47286+1>>0]|0;HEAP8[$93+2>>0]=HEAP8[47286+2>>0]|0;HEAP8[$93+3>>0]=HEAP8[47286+3>>0]|0; + $94 = HEAP32[$5>>2]|0; + $95 = (($94) - 4)|0; + $96 = (($95) + 4)|0; + $97 = HEAP32[$3>>2]|0; + HEAP32[$97>>2] = $96; + } } } - } else { - $102 = HEAP32[$loc>>2]|0; - $103 = ($102|0)==(0); - if ($103) { - $104 = HEAP32[$1>>2]|0; - $105 = HEAP32[$2>>2]|0; - $106 = HEAP32[$105>>2]|0; - $107 = HEAP32[$2>>2]|0; - $108 = ((($107)) + 8|0); - $109 = $108; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = (($109) + 4)|0; - $113 = $112; - $114 = HEAP32[$113>>2]|0; - $115 = HEAP32[$3>>2]|0; - $116 = (_btreeMoveto($104,$106,$111,$114,$115,$loc)|0); - HEAP32[$rc>>2] = $116; - $117 = HEAP32[$rc>>2]|0; - $118 = ($117|0)!=(0); - if ($118) { - $119 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $119; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); + break; + } + case 101: { + $98 = HEAP32[$5>>2]|0; + $99 = ($98|0)>(4); + if ($99) { + $100 = HEAP32[$2>>2]|0; + $101 = HEAP32[$5>>2]|0; + $102 = (($101) - 4)|0; + $103 = (($100) + ($102)|0); + $104 = (_memcmp(48549,$103,4)|0); + $105 = (0)==($104|0); + if ($105) { + $106 = HEAP32[$2>>2]|0; + $107 = HEAP32[$5>>2]|0; + $108 = (($107) - 4)|0; + $109 = (_fts5Porter_MGt0($106,$108)|0); + $110 = ($109|0)!=(0); + if ($110) { + $111 = HEAP32[$2>>2]|0; + $112 = HEAP32[$5>>2]|0; + $113 = (($112) - 4)|0; + $114 = (($111) + ($113)|0); + ;HEAP8[$114>>0]=HEAP8[47247>>0]|0;HEAP8[$114+1>>0]=HEAP8[47247+1>>0]|0;HEAP8[$114+2>>0]=HEAP8[47247+2>>0]|0; + $115 = HEAP32[$5>>2]|0; + $116 = (($115) - 4)|0; + $117 = (($116) + 3)|0; + $118 = HEAP32[$3>>2]|0; + HEAP32[$118>>2] = $117; + } } } + break; } - } while(0); - $120 = HEAP32[$1>>2]|0; - $121 = ((($120)) + 68|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122 << 24 >> 24; - $124 = HEAP32[$1>>2]|0; - $125 = ((($124)) + 120|0); - $126 = (($125) + ($123<<2)|0); - $127 = HEAP32[$126>>2]|0; - HEAP32[$pPage>>2] = $127; - $128 = HEAP32[$pBt>>2]|0; - $129 = ((($128)) + 80|0); - $130 = HEAP32[$129>>2]|0; - HEAP32[$newCell>>2] = $130; - $131 = HEAP32[$pPage>>2]|0; - $132 = HEAP32[$newCell>>2]|0; - $133 = HEAP32[$2>>2]|0; - $134 = (_fillInCell($131,$132,$133,$szNew)|0); - HEAP32[$rc>>2] = $134; - $135 = HEAP32[$rc>>2]|0; - $136 = ($135|0)!=(0); - do { - if (!($136)) { - $137 = HEAP32[$1>>2]|0; - $138 = ((($137)) + 68|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139 << 24 >> 24; - $141 = HEAP32[$1>>2]|0; - $142 = ((($141)) + 80|0); - $143 = (($142) + ($140<<1)|0); - $144 = HEAP16[$143>>1]|0; - $145 = $144&65535; - HEAP32[$idx>>2] = $145; - $146 = HEAP32[$loc>>2]|0; - $147 = ($146|0)==(0); - if ($147) { - $148 = HEAP32[$pPage>>2]|0; - $149 = ((($148)) + 72|0); - $150 = HEAP32[$149>>2]|0; - $151 = (_sqlite3PagerWrite($150)|0); - HEAP32[$rc>>2] = $151; - $152 = HEAP32[$rc>>2]|0; - $153 = ($152|0)!=(0); - if ($153) { - break; + case 103: { + $119 = HEAP32[$5>>2]|0; + $120 = ($119|0)>(4); + if ($120) { + $121 = HEAP32[$2>>2]|0; + $122 = HEAP32[$5>>2]|0; + $123 = (($122) - 4)|0; + $124 = (($121) + ($123)|0); + $125 = (_memcmp(48554,$124,4)|0); + $126 = (0)==($125|0); + if ($126) { + $127 = HEAP32[$2>>2]|0; + $128 = HEAP32[$5>>2]|0; + $129 = (($128) - 4)|0; + $130 = (_fts5Porter_MGt0($127,$129)|0); + $131 = ($130|0)!=(0); + if ($131) { + $132 = HEAP32[$2>>2]|0; + $133 = HEAP32[$5>>2]|0; + $134 = (($133) - 4)|0; + $135 = (($132) + ($134)|0); + ;HEAP8[$135>>0]=HEAP8[32259>>0]|0;HEAP8[$135+1>>0]=HEAP8[32259+1>>0]|0;HEAP8[$135+2>>0]=HEAP8[32259+2>>0]|0; + $136 = HEAP32[$5>>2]|0; + $137 = (($136) - 4)|0; + $138 = (($137) + 3)|0; + $139 = HEAP32[$3>>2]|0; + HEAP32[$139>>2] = $138; + } + } + } + break; + } + case 108: { + $140 = HEAP32[$5>>2]|0; + $141 = ($140|0)>(3); + if ($141) { + $142 = HEAP32[$2>>2]|0; + $143 = HEAP32[$5>>2]|0; + $144 = (($143) - 3)|0; + $145 = (($142) + ($144)|0); + $146 = (_memcmp(48559,$145,3)|0); + $147 = (0)==($146|0); + if ($147) { + $148 = HEAP32[$2>>2]|0; + $149 = HEAP32[$5>>2]|0; + $150 = (($149) - 3)|0; + $151 = (_fts5Porter_MGt0($148,$150)|0); + $152 = ($151|0)!=(0); + if (!($152)) { + break L1; + } + $153 = HEAP32[$2>>2]|0; + $154 = HEAP32[$5>>2]|0; + $155 = (($154) - 3)|0; + $156 = (($153) + ($155)|0); + ;HEAP8[$156>>0]=HEAP8[47240>>0]|0;HEAP8[$156+1>>0]=HEAP8[47240+1>>0]|0;HEAP8[$156+2>>0]=HEAP8[47240+2>>0]|0; + $157 = HEAP32[$5>>2]|0; + $158 = (($157) - 3)|0; + $159 = (($158) + 3)|0; + $160 = HEAP32[$3>>2]|0; + HEAP32[$160>>2] = $159; + break L1; + } + } + $161 = HEAP32[$5>>2]|0; + $162 = ($161|0)>(4); + if ($162) { + $163 = HEAP32[$2>>2]|0; + $164 = HEAP32[$5>>2]|0; + $165 = (($164) - 4)|0; + $166 = (($163) + ($165)|0); + $167 = (_memcmp(48563,$166,4)|0); + $168 = (0)==($167|0); + if ($168) { + $169 = HEAP32[$2>>2]|0; + $170 = HEAP32[$5>>2]|0; + $171 = (($170) - 4)|0; + $172 = (_fts5Porter_MGt0($169,$171)|0); + $173 = ($172|0)!=(0); + if (!($173)) { + break L1; + } + $174 = HEAP32[$2>>2]|0; + $175 = HEAP32[$5>>2]|0; + $176 = (($175) - 4)|0; + $177 = (($174) + ($176)|0); + ;HEAP8[$177>>0]=HEAP8[47310>>0]|0;HEAP8[$177+1>>0]=HEAP8[47310+1>>0]|0; + $178 = HEAP32[$5>>2]|0; + $179 = (($178) - 4)|0; + $180 = (($179) + 2)|0; + $181 = HEAP32[$3>>2]|0; + HEAP32[$181>>2] = $180; + break L1; + } + } + $182 = HEAP32[$5>>2]|0; + $183 = ($182|0)>(5); + if ($183) { + $184 = HEAP32[$2>>2]|0; + $185 = HEAP32[$5>>2]|0; + $186 = (($185) - 5)|0; + $187 = (($184) + ($186)|0); + $188 = (_memcmp(48568,$187,5)|0); + $189 = (0)==($188|0); + if ($189) { + $190 = HEAP32[$2>>2]|0; + $191 = HEAP32[$5>>2]|0; + $192 = (($191) - 5)|0; + $193 = (_fts5Porter_MGt0($190,$192)|0); + $194 = ($193|0)!=(0); + if (!($194)) { + break L1; + } + $195 = HEAP32[$2>>2]|0; + $196 = HEAP32[$5>>2]|0; + $197 = (($196) - 5)|0; + $198 = (($195) + ($197)|0); + ;HEAP8[$198>>0]=HEAP8[47319>>0]|0;HEAP8[$198+1>>0]=HEAP8[47319+1>>0]|0;HEAP8[$198+2>>0]=HEAP8[47319+2>>0]|0; + $199 = HEAP32[$5>>2]|0; + $200 = (($199) - 5)|0; + $201 = (($200) + 3)|0; + $202 = HEAP32[$3>>2]|0; + HEAP32[$202>>2] = $201; + break L1; + } + } + $203 = HEAP32[$5>>2]|0; + $204 = ($203|0)>(3); + if ($204) { + $205 = HEAP32[$2>>2]|0; + $206 = HEAP32[$5>>2]|0; + $207 = (($206) - 3)|0; + $208 = (($205) + ($207)|0); + $209 = (_memcmp(48574,$208,3)|0); + $210 = (0)==($209|0); + if ($210) { + $211 = HEAP32[$2>>2]|0; + $212 = HEAP32[$5>>2]|0; + $213 = (($212) - 3)|0; + $214 = (_fts5Porter_MGt0($211,$213)|0); + $215 = ($214|0)!=(0); + if (!($215)) { + break L1; + } + $216 = HEAP32[$2>>2]|0; + $217 = HEAP32[$5>>2]|0; + $218 = (($217) - 3)|0; + $219 = (($216) + ($218)|0); + ;HEAP8[$219>>0]=HEAP8[47327>>0]|0; + $220 = HEAP32[$5>>2]|0; + $221 = (($220) - 3)|0; + $222 = (($221) + 1)|0; + $223 = HEAP32[$3>>2]|0; + HEAP32[$223>>2] = $222; + break L1; + } + } + $224 = HEAP32[$5>>2]|0; + $225 = ($224|0)>(5); + if ($225) { + $226 = HEAP32[$2>>2]|0; + $227 = HEAP32[$5>>2]|0; + $228 = (($227) - 5)|0; + $229 = (($226) + ($228)|0); + $230 = (_memcmp(48578,$229,5)|0); + $231 = (0)==($230|0); + if ($231) { + $232 = HEAP32[$2>>2]|0; + $233 = HEAP32[$5>>2]|0; + $234 = (($233) - 5)|0; + $235 = (_fts5Porter_MGt0($232,$234)|0); + $236 = ($235|0)!=(0); + if ($236) { + $237 = HEAP32[$2>>2]|0; + $238 = HEAP32[$5>>2]|0; + $239 = (($238) - 5)|0; + $240 = (($237) + ($239)|0); + ;HEAP8[$240>>0]=HEAP8[47335>>0]|0;HEAP8[$240+1>>0]=HEAP8[47335+1>>0]|0;HEAP8[$240+2>>0]=HEAP8[47335+2>>0]|0; + $241 = HEAP32[$5>>2]|0; + $242 = (($241) - 5)|0; + $243 = (($242) + 3)|0; + $244 = HEAP32[$3>>2]|0; + HEAP32[$244>>2] = $243; + } + } + } + break; + } + case 111: { + $245 = HEAP32[$5>>2]|0; + $246 = ($245|0)>(7); + if ($246) { + $247 = HEAP32[$2>>2]|0; + $248 = HEAP32[$5>>2]|0; + $249 = (($248) - 7)|0; + $250 = (($247) + ($249)|0); + $251 = (_memcmp(48584,$250,7)|0); + $252 = (0)==($251|0); + if ($252) { + $253 = HEAP32[$2>>2]|0; + $254 = HEAP32[$5>>2]|0; + $255 = (($254) - 7)|0; + $256 = (_fts5Porter_MGt0($253,$255)|0); + $257 = ($256|0)!=(0); + if (!($257)) { + break L1; + } + $258 = HEAP32[$2>>2]|0; + $259 = HEAP32[$5>>2]|0; + $260 = (($259) - 7)|0; + $261 = (($258) + ($260)|0); + ;HEAP8[$261>>0]=HEAP8[47247>>0]|0;HEAP8[$261+1>>0]=HEAP8[47247+1>>0]|0;HEAP8[$261+2>>0]=HEAP8[47247+2>>0]|0; + $262 = HEAP32[$5>>2]|0; + $263 = (($262) - 7)|0; + $264 = (($263) + 3)|0; + $265 = HEAP32[$3>>2]|0; + HEAP32[$265>>2] = $264; + break L1; + } + } + $266 = HEAP32[$5>>2]|0; + $267 = ($266|0)>(5); + if ($267) { + $268 = HEAP32[$2>>2]|0; + $269 = HEAP32[$5>>2]|0; + $270 = (($269) - 5)|0; + $271 = (($268) + ($270)|0); + $272 = (_memcmp(48592,$271,5)|0); + $273 = (0)==($272|0); + if ($273) { + $274 = HEAP32[$2>>2]|0; + $275 = HEAP32[$5>>2]|0; + $276 = (($275) - 5)|0; + $277 = (_fts5Porter_MGt0($274,$276)|0); + $278 = ($277|0)!=(0); + if (!($278)) { + break L1; + } + $279 = HEAP32[$2>>2]|0; + $280 = HEAP32[$5>>2]|0; + $281 = (($280) - 5)|0; + $282 = (($279) + ($281)|0); + ;HEAP8[$282>>0]=HEAP8[47233>>0]|0;HEAP8[$282+1>>0]=HEAP8[47233+1>>0]|0;HEAP8[$282+2>>0]=HEAP8[47233+2>>0]|0; + $283 = HEAP32[$5>>2]|0; + $284 = (($283) - 5)|0; + $285 = (($284) + 3)|0; + $286 = HEAP32[$3>>2]|0; + HEAP32[$286>>2] = $285; + break L1; + } + } + $287 = HEAP32[$5>>2]|0; + $288 = ($287|0)>(4); + if ($288) { + $289 = HEAP32[$2>>2]|0; + $290 = HEAP32[$5>>2]|0; + $291 = (($290) - 4)|0; + $292 = (($289) + ($291)|0); + $293 = (_memcmp(48598,$292,4)|0); + $294 = (0)==($293|0); + if ($294) { + $295 = HEAP32[$2>>2]|0; + $296 = HEAP32[$5>>2]|0; + $297 = (($296) - 4)|0; + $298 = (_fts5Porter_MGt0($295,$297)|0); + $299 = ($298|0)!=(0); + if ($299) { + $300 = HEAP32[$2>>2]|0; + $301 = HEAP32[$5>>2]|0; + $302 = (($301) - 4)|0; + $303 = (($300) + ($302)|0); + ;HEAP8[$303>>0]=HEAP8[47233>>0]|0;HEAP8[$303+1>>0]=HEAP8[47233+1>>0]|0;HEAP8[$303+2>>0]=HEAP8[47233+2>>0]|0; + $304 = HEAP32[$5>>2]|0; + $305 = (($304) - 4)|0; + $306 = (($305) + 3)|0; + $307 = HEAP32[$3>>2]|0; + HEAP32[$307>>2] = $306; + } + } + } + break; + } + case 115: { + $308 = HEAP32[$5>>2]|0; + $309 = ($308|0)>(5); + if ($309) { + $310 = HEAP32[$2>>2]|0; + $311 = HEAP32[$5>>2]|0; + $312 = (($311) - 5)|0; + $313 = (($310) + ($312)|0); + $314 = (_memcmp(48603,$313,5)|0); + $315 = (0)==($314|0); + if ($315) { + $316 = HEAP32[$2>>2]|0; + $317 = HEAP32[$5>>2]|0; + $318 = (($317) - 5)|0; + $319 = (_fts5Porter_MGt0($316,$318)|0); + $320 = ($319|0)!=(0); + if (!($320)) { + break L1; + } + $321 = HEAP32[$2>>2]|0; + $322 = HEAP32[$5>>2]|0; + $323 = (($322) - 5)|0; + $324 = (($321) + ($323)|0); + ;HEAP8[$324>>0]=HEAP8[47310>>0]|0;HEAP8[$324+1>>0]=HEAP8[47310+1>>0]|0; + $325 = HEAP32[$5>>2]|0; + $326 = (($325) - 5)|0; + $327 = (($326) + 2)|0; + $328 = HEAP32[$3>>2]|0; + HEAP32[$328>>2] = $327; + break L1; + } + } + $329 = HEAP32[$5>>2]|0; + $330 = ($329|0)>(7); + if ($330) { + $331 = HEAP32[$2>>2]|0; + $332 = HEAP32[$5>>2]|0; + $333 = (($332) - 7)|0; + $334 = (($331) + ($333)|0); + $335 = (_memcmp(48609,$334,7)|0); + $336 = (0)==($335|0); + if ($336) { + $337 = HEAP32[$2>>2]|0; + $338 = HEAP32[$5>>2]|0; + $339 = (($338) - 7)|0; + $340 = (_fts5Porter_MGt0($337,$339)|0); + $341 = ($340|0)!=(0); + if (!($341)) { + break L1; + } + $342 = HEAP32[$2>>2]|0; + $343 = HEAP32[$5>>2]|0; + $344 = (($343) - 7)|0; + $345 = (($342) + ($344)|0); + ;HEAP8[$345>>0]=HEAP8[47372>>0]|0;HEAP8[$345+1>>0]=HEAP8[47372+1>>0]|0;HEAP8[$345+2>>0]=HEAP8[47372+2>>0]|0; + $346 = HEAP32[$5>>2]|0; + $347 = (($346) - 7)|0; + $348 = (($347) + 3)|0; + $349 = HEAP32[$3>>2]|0; + HEAP32[$349>>2] = $348; + break L1; + } + } + $350 = HEAP32[$5>>2]|0; + $351 = ($350|0)>(7); + if ($351) { + $352 = HEAP32[$2>>2]|0; + $353 = HEAP32[$5>>2]|0; + $354 = (($353) - 7)|0; + $355 = (($352) + ($354)|0); + $356 = (_memcmp(48617,$355,7)|0); + $357 = (0)==($356|0); + if ($357) { + $358 = HEAP32[$2>>2]|0; + $359 = HEAP32[$5>>2]|0; + $360 = (($359) - 7)|0; + $361 = (_fts5Porter_MGt0($358,$360)|0); + $362 = ($361|0)!=(0); + if (!($362)) { + break L1; + } + $363 = HEAP32[$2>>2]|0; + $364 = HEAP32[$5>>2]|0; + $365 = (($364) - 7)|0; + $366 = (($363) + ($365)|0); + ;HEAP8[$366>>0]=HEAP8[47384>>0]|0;HEAP8[$366+1>>0]=HEAP8[47384+1>>0]|0;HEAP8[$366+2>>0]=HEAP8[47384+2>>0]|0; + $367 = HEAP32[$5>>2]|0; + $368 = (($367) - 7)|0; + $369 = (($368) + 3)|0; + $370 = HEAP32[$3>>2]|0; + HEAP32[$370>>2] = $369; + break L1; + } + } + $371 = HEAP32[$5>>2]|0; + $372 = ($371|0)>(7); + if ($372) { + $373 = HEAP32[$2>>2]|0; + $374 = HEAP32[$5>>2]|0; + $375 = (($374) - 7)|0; + $376 = (($373) + ($375)|0); + $377 = (_memcmp(48625,$376,7)|0); + $378 = (0)==($377|0); + if ($378) { + $379 = HEAP32[$2>>2]|0; + $380 = HEAP32[$5>>2]|0; + $381 = (($380) - 7)|0; + $382 = (_fts5Porter_MGt0($379,$381)|0); + $383 = ($382|0)!=(0); + if ($383) { + $384 = HEAP32[$2>>2]|0; + $385 = HEAP32[$5>>2]|0; + $386 = (($385) - 7)|0; + $387 = (($384) + ($386)|0); + ;HEAP8[$387>>0]=HEAP8[47335>>0]|0;HEAP8[$387+1>>0]=HEAP8[47335+1>>0]|0;HEAP8[$387+2>>0]=HEAP8[47335+2>>0]|0; + $388 = HEAP32[$5>>2]|0; + $389 = (($388) - 7)|0; + $390 = (($389) + 3)|0; + $391 = HEAP32[$3>>2]|0; + HEAP32[$391>>2] = $390; + } + } + } + break; + } + case 116: { + $392 = HEAP32[$5>>2]|0; + $393 = ($392|0)>(5); + if ($393) { + $394 = HEAP32[$2>>2]|0; + $395 = HEAP32[$5>>2]|0; + $396 = (($395) - 5)|0; + $397 = (($394) + ($396)|0); + $398 = (_memcmp(48633,$397,5)|0); + $399 = (0)==($398|0); + if ($399) { + $400 = HEAP32[$2>>2]|0; + $401 = HEAP32[$5>>2]|0; + $402 = (($401) - 5)|0; + $403 = (_fts5Porter_MGt0($400,$402)|0); + $404 = ($403|0)!=(0); + if (!($404)) { + break L1; + } + $405 = HEAP32[$2>>2]|0; + $406 = HEAP32[$5>>2]|0; + $407 = (($406) - 5)|0; + $408 = (($405) + ($407)|0); + ;HEAP8[$408>>0]=HEAP8[47310>>0]|0;HEAP8[$408+1>>0]=HEAP8[47310+1>>0]|0; + $409 = HEAP32[$5>>2]|0; + $410 = (($409) - 5)|0; + $411 = (($410) + 2)|0; + $412 = HEAP32[$3>>2]|0; + HEAP32[$412>>2] = $411; + break L1; } - $154 = HEAP32[$pPage>>2]|0; - $155 = ((($154)) + 56|0); - $156 = HEAP32[$155>>2]|0; - $157 = HEAP32[$pPage>>2]|0; - $158 = ((($157)) + 20|0); - $159 = HEAP16[$158>>1]|0; - $160 = $159&65535; - $161 = HEAP32[$idx>>2]|0; - $162 = $161<<1; - $163 = HEAP32[$pPage>>2]|0; - $164 = ((($163)) + 64|0); - $165 = HEAP32[$164>>2]|0; - $166 = (($165) + ($162)|0); - $167 = HEAP8[$166>>0]|0; - $168 = $167&255; - $169 = $168 << 8; - $170 = HEAP32[$idx>>2]|0; - $171 = $170<<1; - $172 = HEAP32[$pPage>>2]|0; - $173 = ((($172)) + 64|0); - $174 = HEAP32[$173>>2]|0; - $175 = (($174) + ($171)|0); - $176 = ((($175)) + 1|0); - $177 = HEAP8[$176>>0]|0; - $178 = $177&255; - $179 = $169 | $178; - $180 = $160 & $179; - $181 = (($156) + ($180)|0); - HEAP32[$oldCell>>2] = $181; - $182 = HEAP32[$pPage>>2]|0; - $183 = ((($182)) + 4|0); - $184 = HEAP8[$183>>0]|0; - $185 = ($184<<24>>24)!=(0); - if (!($185)) { - $186 = HEAP32[$newCell>>2]|0; - $187 = HEAP32[$oldCell>>2]|0; - ;HEAP8[$186>>0]=HEAP8[$187>>0]|0;HEAP8[$186+1>>0]=HEAP8[$187+1>>0]|0;HEAP8[$186+2>>0]=HEAP8[$187+2>>0]|0;HEAP8[$186+3>>0]=HEAP8[$187+3>>0]|0; - } - $188 = HEAP32[$pPage>>2]|0; - $189 = HEAP32[$oldCell>>2]|0; - $190 = (_clearCell($188,$189,$szOld)|0); - HEAP32[$rc>>2] = $190; - $191 = HEAP32[$pPage>>2]|0; - $192 = HEAP32[$idx>>2]|0; - $193 = HEAP16[$szOld>>1]|0; - $194 = $193&65535; - _dropCell($191,$192,$194,$rc); - $195 = HEAP32[$rc>>2]|0; - $196 = ($195|0)!=(0); - if ($196) { - break; + } + $413 = HEAP32[$5>>2]|0; + $414 = ($413|0)>(5); + if ($414) { + $415 = HEAP32[$2>>2]|0; + $416 = HEAP32[$5>>2]|0; + $417 = (($416) - 5)|0; + $418 = (($415) + ($417)|0); + $419 = (_memcmp(48639,$418,5)|0); + $420 = (0)==($419|0); + if ($420) { + $421 = HEAP32[$2>>2]|0; + $422 = HEAP32[$5>>2]|0; + $423 = (($422) - 5)|0; + $424 = (_fts5Porter_MGt0($421,$423)|0); + $425 = ($424|0)!=(0); + if (!($425)) { + break L1; + } + $426 = HEAP32[$2>>2]|0; + $427 = HEAP32[$5>>2]|0; + $428 = (($427) - 5)|0; + $429 = (($426) + ($428)|0); + ;HEAP8[$429>>0]=HEAP8[47372>>0]|0;HEAP8[$429+1>>0]=HEAP8[47372+1>>0]|0;HEAP8[$429+2>>0]=HEAP8[47372+2>>0]|0; + $430 = HEAP32[$5>>2]|0; + $431 = (($430) - 5)|0; + $432 = (($431) + 3)|0; + $433 = HEAP32[$3>>2]|0; + HEAP32[$433>>2] = $432; + break L1; + } + } + $434 = HEAP32[$5>>2]|0; + $435 = ($434|0)>(6); + if ($435) { + $436 = HEAP32[$2>>2]|0; + $437 = HEAP32[$5>>2]|0; + $438 = (($437) - 6)|0; + $439 = (($436) + ($438)|0); + $440 = (_memcmp(48645,$439,6)|0); + $441 = (0)==($440|0); + if ($441) { + $442 = HEAP32[$2>>2]|0; + $443 = HEAP32[$5>>2]|0; + $444 = (($443) - 6)|0; + $445 = (_fts5Porter_MGt0($442,$444)|0); + $446 = ($445|0)!=(0); + if ($446) { + $447 = HEAP32[$2>>2]|0; + $448 = HEAP32[$5>>2]|0; + $449 = (($448) - 6)|0; + $450 = (($447) + ($449)|0); + ;HEAP8[$450>>0]=HEAP8[47240>>0]|0;HEAP8[$450+1>>0]=HEAP8[47240+1>>0]|0;HEAP8[$450+2>>0]=HEAP8[47240+2>>0]|0; + $451 = HEAP32[$5>>2]|0; + $452 = (($451) - 6)|0; + $453 = (($452) + 3)|0; + $454 = HEAP32[$3>>2]|0; + HEAP32[$454>>2] = $453; + } } - } else { - $197 = HEAP32[$loc>>2]|0; - $198 = ($197|0)<(0); - if ($198) { - $199 = HEAP32[$pPage>>2]|0; - $200 = ((($199)) + 18|0); - $201 = HEAP16[$200>>1]|0; - $202 = $201&65535; - $203 = ($202|0)>(0); - if ($203) { - $204 = HEAP32[$1>>2]|0; - $205 = ((($204)) + 68|0); - $206 = HEAP8[$205>>0]|0; - $207 = $206 << 24 >> 24; - $208 = HEAP32[$1>>2]|0; - $209 = ((($208)) + 80|0); - $210 = (($209) + ($207<<1)|0); - $211 = HEAP16[$210>>1]|0; - $212 = (($211) + 1)<<16>>16; - HEAP16[$210>>1] = $212; - $213 = $212&65535; - HEAP32[$idx>>2] = $213; - } - } - } - $214 = HEAP32[$pPage>>2]|0; - $215 = HEAP32[$idx>>2]|0; - $216 = HEAP32[$newCell>>2]|0; - $217 = HEAP32[$szNew>>2]|0; - _insertCell($214,$215,$216,$217,0,0,$rc); - $218 = HEAP32[$1>>2]|0; - $219 = ((($218)) + 16|0); - $220 = ((($219)) + 18|0); - HEAP16[$220>>1] = 0; - $221 = HEAP32[$pPage>>2]|0; - $222 = ((($221)) + 1|0); - $223 = HEAP8[$222>>0]|0; - $224 = ($223<<24>>24)!=(0); - if ($224) { - $225 = HEAP32[$1>>2]|0; - $226 = ((($225)) + 64|0); - $227 = HEAP8[$226>>0]|0; - $228 = $227&255; - $229 = $228 & -3; - $230 = $229&255; - HEAP8[$226>>0] = $230; - $231 = HEAP32[$1>>2]|0; - $232 = (_balance($231)|0); - HEAP32[$rc>>2] = $232; - $233 = HEAP32[$1>>2]|0; - $234 = ((($233)) + 68|0); - $235 = HEAP8[$234>>0]|0; - $236 = $235 << 24 >> 24; - $237 = HEAP32[$1>>2]|0; - $238 = ((($237)) + 120|0); - $239 = (($238) + ($236<<2)|0); - $240 = HEAP32[$239>>2]|0; - $241 = ((($240)) + 1|0); - HEAP8[$241>>0] = 0; - $242 = HEAP32[$1>>2]|0; - $243 = ((($242)) + 66|0); - HEAP8[$243>>0] = 0; } + break; + } + default: { + } } } while(0); - $244 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $244; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); -} -function _sqlite3BtreeDelete($pCur,$flags) { - $pCur = $pCur|0; - $flags = $flags|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $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, $bPreserve = 0, $bSkipnext = 0, $iCellDepth = 0, $iCellIdx = 0, $n = 0, $nCell = 0, $notUsed = 0, $p = 0, $pBt = 0, $pCell = 0; - var $pLeaf = 0, $pPage = 0, $pTmp = 0, $rc = 0, $szCell = 0, label = 0, sp = 0; + $455 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($455|0); +} +function _fts5PorterStep3($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 63|0; - $p = sp + 48|0; - $pBt = sp + 44|0; - $rc = sp + 40|0; - $pPage = sp + 36|0; - $pCell = sp + 32|0; - $iCellIdx = sp + 28|0; - $iCellDepth = sp + 24|0; - $szCell = sp + 60|0; - $bSkipnext = sp + 20|0; - $bPreserve = sp + 62|0; - $notUsed = sp + 16|0; - $pLeaf = sp + 12|0; - $nCell = sp + 8|0; - $n = sp + 4|0; - $pTmp = sp; - HEAP32[$1>>2] = $pCur; - HEAP8[$2>>0] = $flags; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 4|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$3>>2]|0; $7 = HEAP32[$6>>2]|0; - HEAP32[$pBt>>2] = $7; - HEAP32[$bSkipnext>>2] = 0; - $8 = HEAP8[$2>>0]|0; - $9 = $8&255; - $10 = $9 & 2; - $11 = $10&255; - HEAP8[$bPreserve>>0] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 68|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - HEAP32[$iCellDepth>>2] = $15; - $16 = HEAP32[$iCellDepth>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 80|0); - $19 = (($18) + ($16<<1)|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - HEAP32[$iCellIdx>>2] = $21; - $22 = HEAP32[$iCellDepth>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 120|0); - $25 = (($24) + ($22<<2)|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$pPage>>2] = $26; - $27 = HEAP32[$pPage>>2]|0; - $28 = ((($27)) + 56|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$pPage>>2]|0; - $31 = ((($30)) + 20|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32&65535; - $34 = HEAP32[$iCellIdx>>2]|0; - $35 = $34<<1; - $36 = HEAP32[$pPage>>2]|0; - $37 = ((($36)) + 64|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + ($35)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = $41 << 8; - $43 = HEAP32[$iCellIdx>>2]|0; - $44 = $43<<1; - $45 = HEAP32[$pPage>>2]|0; - $46 = ((($45)) + 64|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + ($44)|0); - $49 = ((($48)) + 1|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = $42 | $51; - $53 = $33 & $52; - $54 = (($29) + ($53)|0); - HEAP32[$pCell>>2] = $54; - $55 = HEAP8[$bPreserve>>0]|0; - $56 = ($55<<24>>24)!=(0); - do { - if ($56) { - $57 = HEAP32[$pPage>>2]|0; - $58 = ((($57)) + 4|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59<<24>>24)!=(0); - if ($60) { - $61 = HEAP32[$pPage>>2]|0; - $62 = ((($61)) + 16|0); - $63 = HEAP16[$62>>1]|0; - $64 = $63&65535; - $65 = HEAP32[$pPage>>2]|0; - $66 = HEAP32[$pCell>>2]|0; - $67 = (_cellSizePtr($65,$66)|0); - $68 = $67&65535; - $69 = (($64) + ($68))|0; - $70 = (($69) + 2)|0; - $71 = HEAP32[$pBt>>2]|0; - $72 = ((($71)) + 36|0); - $73 = HEAP32[$72>>2]|0; - $74 = $73<<1; - $75 = (($74>>>0) / 3)&-1; - $76 = ($70|0)>($75|0); - if (!($76)) { - HEAP32[$bSkipnext>>2] = 1; - break; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = (($9) - 2)|0; + $11 = (($8) + ($10)|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12 << 24 >> 24; + L1: do { + switch ($13|0) { + case 97: { + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)>(4); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = (($17) - 4)|0; + $19 = (($16) + ($18)|0); + $20 = (_memcmp(48490,$19,4)|0); + $21 = (0)==($20|0); + if ($21) { + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = (($23) - 4)|0; + $25 = (_fts5Porter_MGt0($22,$24)|0); + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = (($28) - 4)|0; + $30 = (($27) + ($29)|0); + ;HEAP8[$30>>0]=HEAP8[47421>>0]|0;HEAP8[$30+1>>0]=HEAP8[47421+1>>0]|0; + $31 = HEAP32[$5>>2]|0; + $32 = (($31) - 4)|0; + $33 = (($32) + 2)|0; + $34 = HEAP32[$3>>2]|0; + HEAP32[$34>>2] = $33; + } } } - $77 = HEAP32[$1>>2]|0; - $78 = (_saveCursorKey($77)|0); - HEAP32[$rc>>2] = $78; - $79 = HEAP32[$rc>>2]|0; - $80 = ($79|0)!=(0); - if ($80) { - $81 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $81; - $289 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($289|0); - } - } - } while(0); - $82 = HEAP32[$pPage>>2]|0; - $83 = ((($82)) + 4|0); - $84 = HEAP8[$83>>0]|0; - $85 = ($84<<24>>24)!=(0); - if (!($85)) { - HEAP32[$notUsed>>2] = 0; - $86 = HEAP32[$1>>2]|0; - $87 = (_sqlite3BtreePrevious($86,$notUsed)|0); - HEAP32[$rc>>2] = $87; - $88 = HEAP32[$rc>>2]|0; - $89 = ($88|0)!=(0); - if ($89) { - $90 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $90; - $289 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($289|0); - } - } - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 64|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $95 = $94 & 32; - $96 = ($95|0)!=(0); - if ($96) { - $97 = HEAP32[$pBt>>2]|0; - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 52|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[$1>>2]|0; - $102 = (_saveAllCursors($97,$100,$101)|0); - HEAP32[$rc>>2] = $102; - $103 = HEAP32[$rc>>2]|0; - $104 = ($103|0)!=(0); - if ($104) { - $105 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $105; - $289 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($289|0); + break; } - } - $106 = HEAP32[$1>>2]|0; - $107 = ((($106)) + 72|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==(0|0); - if ($109) { - $110 = HEAP32[$p>>2]|0; - $111 = HEAP32[$1>>2]|0; - $112 = ((($111)) + 16|0); - $113 = $112; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = (($113) + 4)|0; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - _invalidateIncrblobCursors($110,$115,$118,0); - } - $119 = HEAP32[$pPage>>2]|0; - $120 = ((($119)) + 72|0); - $121 = HEAP32[$120>>2]|0; - $122 = (_sqlite3PagerWrite($121)|0); - HEAP32[$rc>>2] = $122; - $123 = HEAP32[$rc>>2]|0; - $124 = ($123|0)!=(0); - if ($124) { - $125 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $125; - $289 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($289|0); - } - $126 = HEAP32[$pPage>>2]|0; - $127 = HEAP32[$pCell>>2]|0; - $128 = (_clearCell($126,$127,$szCell)|0); - HEAP32[$rc>>2] = $128; - $129 = HEAP32[$pPage>>2]|0; - $130 = HEAP32[$iCellIdx>>2]|0; - $131 = HEAP16[$szCell>>1]|0; - $132 = $131&65535; - _dropCell($129,$130,$132,$rc); - $133 = HEAP32[$rc>>2]|0; - $134 = ($133|0)!=(0); - if ($134) { - $135 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $135; - $289 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($289|0); - } - $136 = HEAP32[$pPage>>2]|0; - $137 = ((($136)) + 4|0); - $138 = HEAP8[$137>>0]|0; - $139 = ($138<<24>>24)!=(0); - if (!($139)) { - $140 = HEAP32[$1>>2]|0; - $141 = ((($140)) + 68|0); - $142 = HEAP8[$141>>0]|0; - $143 = $142 << 24 >> 24; - $144 = HEAP32[$1>>2]|0; - $145 = ((($144)) + 120|0); - $146 = (($145) + ($143<<2)|0); - $147 = HEAP32[$146>>2]|0; - HEAP32[$pLeaf>>2] = $147; - $148 = HEAP32[$iCellDepth>>2]|0; - $149 = (($148) + 1)|0; - $150 = HEAP32[$1>>2]|0; - $151 = ((($150)) + 120|0); - $152 = (($151) + ($149<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ((($153)) + 84|0); - $155 = HEAP32[$154>>2]|0; - HEAP32[$n>>2] = $155; - $156 = HEAP32[$pLeaf>>2]|0; - $157 = ((($156)) + 56|0); - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$pLeaf>>2]|0; - $160 = ((($159)) + 20|0); - $161 = HEAP16[$160>>1]|0; - $162 = $161&65535; - $163 = HEAP32[$pLeaf>>2]|0; - $164 = ((($163)) + 18|0); - $165 = HEAP16[$164>>1]|0; - $166 = $165&65535; - $167 = (($166) - 1)|0; - $168 = $167<<1; - $169 = HEAP32[$pLeaf>>2]|0; - $170 = ((($169)) + 64|0); - $171 = HEAP32[$170>>2]|0; - $172 = (($171) + ($168)|0); - $173 = HEAP8[$172>>0]|0; - $174 = $173&255; - $175 = $174 << 8; - $176 = HEAP32[$pLeaf>>2]|0; - $177 = ((($176)) + 18|0); - $178 = HEAP16[$177>>1]|0; - $179 = $178&65535; - $180 = (($179) - 1)|0; - $181 = $180<<1; - $182 = HEAP32[$pLeaf>>2]|0; - $183 = ((($182)) + 64|0); - $184 = HEAP32[$183>>2]|0; - $185 = (($184) + ($181)|0); - $186 = ((($185)) + 1|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187&255; - $189 = $175 | $188; - $190 = $162 & $189; - $191 = (($158) + ($190)|0); - HEAP32[$pCell>>2] = $191; - $192 = HEAP32[$pCell>>2]|0; - $193 = HEAP32[$pLeaf>>2]|0; - $194 = ((($193)) + 56|0); - $195 = HEAP32[$194>>2]|0; - $196 = ((($195)) + 4|0); - $197 = ($192>>>0)<($196>>>0); - if ($197) { - $198 = (_sqlite3CorruptError(66449)|0); - HEAP32[$0>>2] = $198; - $289 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($289|0); + case 115: { + $35 = HEAP32[$5>>2]|0; + $36 = ($35|0)>(4); + if ($36) { + $37 = HEAP32[$2>>2]|0; + $38 = HEAP32[$5>>2]|0; + $39 = (($38) - 4)|0; + $40 = (($37) + ($39)|0); + $41 = (_memcmp(48495,$40,4)|0); + $42 = (0)==($41|0); + if ($42) { + $43 = HEAP32[$2>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = (($44) - 4)|0; + $46 = (_fts5Porter_MGt0($43,$45)|0); + $47 = ($46|0)!=(0); + if ($47) { + $48 = HEAP32[$5>>2]|0; + $49 = (($48) - 4)|0; + $50 = HEAP32[$3>>2]|0; + HEAP32[$50>>2] = $49; + } + } + } + break; } - $199 = HEAP32[$pLeaf>>2]|0; - $200 = ((($199)) + 76|0); - $201 = HEAP32[$200>>2]|0; - $202 = HEAP32[$pLeaf>>2]|0; - $203 = HEAP32[$pCell>>2]|0; - $204 = (FUNCTION_TABLE_iii[$201 & 255]($202,$203)|0); - $205 = $204&65535; - HEAP32[$nCell>>2] = $205; - $206 = HEAP32[$pBt>>2]|0; - $207 = ((($206)) + 80|0); - $208 = HEAP32[$207>>2]|0; - HEAP32[$pTmp>>2] = $208; - $209 = HEAP32[$pLeaf>>2]|0; - $210 = ((($209)) + 72|0); - $211 = HEAP32[$210>>2]|0; - $212 = (_sqlite3PagerWrite($211)|0); - HEAP32[$rc>>2] = $212; - $213 = HEAP32[$rc>>2]|0; - $214 = ($213|0)==(0); - if ($214) { - $215 = HEAP32[$pPage>>2]|0; - $216 = HEAP32[$iCellIdx>>2]|0; - $217 = HEAP32[$pCell>>2]|0; - $218 = ((($217)) + -4|0); - $219 = HEAP32[$nCell>>2]|0; - $220 = (($219) + 4)|0; - $221 = HEAP32[$pTmp>>2]|0; - $222 = HEAP32[$n>>2]|0; - _insertCell($215,$216,$218,$220,$221,$222,$rc); - } - $223 = HEAP32[$pLeaf>>2]|0; - $224 = HEAP32[$pLeaf>>2]|0; - $225 = ((($224)) + 18|0); - $226 = HEAP16[$225>>1]|0; - $227 = $226&65535; - $228 = (($227) - 1)|0; - $229 = HEAP32[$nCell>>2]|0; - _dropCell($223,$228,$229,$rc); - $230 = HEAP32[$rc>>2]|0; - $231 = ($230|0)!=(0); - if ($231) { - $232 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $232; - $289 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($289|0); + case 116: { + $51 = HEAP32[$5>>2]|0; + $52 = ($51|0)>(5); + if ($52) { + $53 = HEAP32[$2>>2]|0; + $54 = HEAP32[$5>>2]|0; + $55 = (($54) - 5)|0; + $56 = (($53) + ($55)|0); + $57 = (_memcmp(48500,$56,5)|0); + $58 = (0)==($57|0); + if ($58) { + $59 = HEAP32[$2>>2]|0; + $60 = HEAP32[$5>>2]|0; + $61 = (($60) - 5)|0; + $62 = (_fts5Porter_MGt0($59,$61)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + break L1; + } + $64 = HEAP32[$2>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = (($65) - 5)|0; + $67 = (($64) + ($66)|0); + ;HEAP8[$67>>0]=HEAP8[47421>>0]|0;HEAP8[$67+1>>0]=HEAP8[47421+1>>0]|0; + $68 = HEAP32[$5>>2]|0; + $69 = (($68) - 5)|0; + $70 = (($69) + 2)|0; + $71 = HEAP32[$3>>2]|0; + HEAP32[$71>>2] = $70; + break L1; + } + } + $72 = HEAP32[$5>>2]|0; + $73 = ($72|0)>(5); + if ($73) { + $74 = HEAP32[$2>>2]|0; + $75 = HEAP32[$5>>2]|0; + $76 = (($75) - 5)|0; + $77 = (($74) + ($76)|0); + $78 = (_memcmp(48506,$77,5)|0); + $79 = (0)==($78|0); + if ($79) { + $80 = HEAP32[$2>>2]|0; + $81 = HEAP32[$5>>2]|0; + $82 = (($81) - 5)|0; + $83 = (_fts5Porter_MGt0($80,$82)|0); + $84 = ($83|0)!=(0); + if ($84) { + $85 = HEAP32[$2>>2]|0; + $86 = HEAP32[$5>>2]|0; + $87 = (($86) - 5)|0; + $88 = (($85) + ($87)|0); + ;HEAP8[$88>>0]=HEAP8[47421>>0]|0;HEAP8[$88+1>>0]=HEAP8[47421+1>>0]|0; + $89 = HEAP32[$5>>2]|0; + $90 = (($89) - 5)|0; + $91 = (($90) + 2)|0; + $92 = HEAP32[$3>>2]|0; + HEAP32[$92>>2] = $91; + } + } + } + break; } - } - $233 = HEAP32[$1>>2]|0; - $234 = (_balance($233)|0); - HEAP32[$rc>>2] = $234; - $235 = HEAP32[$rc>>2]|0; - $236 = ($235|0)==(0); - if ($236) { - $237 = HEAP32[$1>>2]|0; - $238 = ((($237)) + 68|0); - $239 = HEAP8[$238>>0]|0; - $240 = $239 << 24 >> 24; - $241 = HEAP32[$iCellDepth>>2]|0; - $242 = ($240|0)>($241|0); - if ($242) { - while(1) { - $243 = HEAP32[$1>>2]|0; - $244 = ((($243)) + 68|0); - $245 = HEAP8[$244>>0]|0; - $246 = $245 << 24 >> 24; - $247 = HEAP32[$iCellDepth>>2]|0; - $248 = ($246|0)>($247|0); - $249 = HEAP32[$1>>2]|0; - if (!($248)) { - break; + case 117: { + $93 = HEAP32[$5>>2]|0; + $94 = ($93|0)>(3); + if ($94) { + $95 = HEAP32[$2>>2]|0; + $96 = HEAP32[$5>>2]|0; + $97 = (($96) - 3)|0; + $98 = (($95) + ($97)|0); + $99 = (_memcmp(47384,$98,3)|0); + $100 = (0)==($99|0); + if ($100) { + $101 = HEAP32[$2>>2]|0; + $102 = HEAP32[$5>>2]|0; + $103 = (($102) - 3)|0; + $104 = (_fts5Porter_MGt0($101,$103)|0); + $105 = ($104|0)!=(0); + if ($105) { + $106 = HEAP32[$5>>2]|0; + $107 = (($106) - 3)|0; + $108 = HEAP32[$3>>2]|0; + HEAP32[$108>>2] = $107; + } } - $250 = ((($249)) + 68|0); - $251 = HEAP8[$250>>0]|0; - $252 = (($251) + -1)<<24>>24; - HEAP8[$250>>0] = $252; - $253 = $251 << 24 >> 24; - $254 = HEAP32[$1>>2]|0; - $255 = ((($254)) + 120|0); - $256 = (($255) + ($253<<2)|0); - $257 = HEAP32[$256>>2]|0; - _releasePage($257); } - $258 = (_balance($249)|0); - HEAP32[$rc>>2] = $258; + break; } - } - $259 = HEAP32[$rc>>2]|0; - $260 = ($259|0)==(0); - do { - if ($260) { - $261 = HEAP32[$bSkipnext>>2]|0; - $262 = ($261|0)!=(0); - $263 = HEAP32[$1>>2]|0; - if (!($262)) { - $283 = (_moveToRoot($263)|0); - HEAP32[$rc>>2] = $283; - $284 = HEAP8[$bPreserve>>0]|0; - $285 = ($284<<24>>24)!=(0); - if (!($285)) { - break; + case 118: { + $109 = HEAP32[$5>>2]|0; + $110 = ($109|0)>(5); + if ($110) { + $111 = HEAP32[$2>>2]|0; + $112 = HEAP32[$5>>2]|0; + $113 = (($112) - 5)|0; + $114 = (($111) + ($113)|0); + $115 = (_memcmp(48512,$114,5)|0); + $116 = (0)==($115|0); + if ($116) { + $117 = HEAP32[$2>>2]|0; + $118 = HEAP32[$5>>2]|0; + $119 = (($118) - 5)|0; + $120 = (_fts5Porter_MGt0($117,$119)|0); + $121 = ($120|0)!=(0); + if ($121) { + $122 = HEAP32[$5>>2]|0; + $123 = (($122) - 5)|0; + $124 = HEAP32[$3>>2]|0; + HEAP32[$124>>2] = $123; + } } - $286 = HEAP32[$1>>2]|0; - $287 = ((($286)) + 66|0); - HEAP8[$287>>0] = 3; - break; } - $264 = ((($263)) + 66|0); - HEAP8[$264>>0] = 2; - $265 = HEAP32[$iCellIdx>>2]|0; - $266 = HEAP32[$pPage>>2]|0; - $267 = ((($266)) + 18|0); - $268 = HEAP16[$267>>1]|0; - $269 = $268&65535; - $270 = ($265|0)>=($269|0); - $271 = HEAP32[$1>>2]|0; - $272 = ((($271)) + 60|0); - if ($270) { - HEAP32[$272>>2] = -1; - $273 = HEAP32[$pPage>>2]|0; - $274 = ((($273)) + 18|0); - $275 = HEAP16[$274>>1]|0; - $276 = $275&65535; - $277 = (($276) - 1)|0; - $278 = $277&65535; - $279 = HEAP32[$iCellDepth>>2]|0; - $280 = HEAP32[$1>>2]|0; - $281 = ((($280)) + 80|0); - $282 = (($281) + ($279<<1)|0); - HEAP16[$282>>1] = $278; - break; - } else { - HEAP32[$272>>2] = 1; - break; + break; + } + case 122: { + $125 = HEAP32[$5>>2]|0; + $126 = ($125|0)>(5); + if ($126) { + $127 = HEAP32[$2>>2]|0; + $128 = HEAP32[$5>>2]|0; + $129 = (($128) - 5)|0; + $130 = (($127) + ($129)|0); + $131 = (_memcmp(48518,$130,5)|0); + $132 = (0)==($131|0); + if ($132) { + $133 = HEAP32[$2>>2]|0; + $134 = HEAP32[$5>>2]|0; + $135 = (($134) - 5)|0; + $136 = (_fts5Porter_MGt0($133,$135)|0); + $137 = ($136|0)!=(0); + if ($137) { + $138 = HEAP32[$2>>2]|0; + $139 = HEAP32[$5>>2]|0; + $140 = (($139) - 5)|0; + $141 = (($138) + ($140)|0); + ;HEAP8[$141>>0]=HEAP8[47310>>0]|0;HEAP8[$141+1>>0]=HEAP8[47310+1>>0]|0; + $142 = HEAP32[$5>>2]|0; + $143 = (($142) - 5)|0; + $144 = (($143) + 2)|0; + $145 = HEAP32[$3>>2]|0; + HEAP32[$145>>2] = $144; + } + } } + break; + } + default: { + } } } while(0); - $288 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $288; - $289 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($289|0); -} -function _sqlite3VdbeSorterCompare($pCsr,$pVal,$nKeyCol,$pRes) { - $pCsr = $pCsr|0; - $pVal = $pVal|0; - $nKeyCol = $nKeyCol|0; - $pRes = $pRes|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $nKey = 0; - var $p = 0, $pKey = 0, $pKeyInfo = 0, $pSorter = 0, $r2 = 0, label = 0, sp = 0; + $146 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($146|0); +} +function _fts5PorterStep4($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $pSorter = sp + 24|0; - $r2 = sp + 20|0; - $pKeyInfo = sp + 16|0; - $i = sp + 12|0; - $pKey = sp + 8|0; - $nKey = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pVal; - HEAP32[$3>>2] = $nKeyCol; - HEAP32[$4>>2] = $pRes; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 16|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $6 = HEAP32[$3>>2]|0; $7 = HEAP32[$6>>2]|0; - HEAP32[$pSorter>>2] = $7; - $8 = HEAP32[$pSorter>>2]|0; - $9 = ((($8)) + 32|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$r2>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pKeyInfo>>2] = $13; - $14 = HEAP32[$r2>>2]|0; - $15 = ($14|0)==(0|0); - do { - if ($15) { - $16 = HEAP32[$pKeyInfo>>2]|0; - $17 = (_sqlite3VdbeAllocUnpackedRecord($16,0,0,$p)|0); - $18 = HEAP32[$pSorter>>2]|0; - $19 = ((($18)) + 32|0); - HEAP32[$19>>2] = $17; - HEAP32[$r2>>2] = $17; - $20 = HEAP32[$r2>>2]|0; - $21 = ($20|0)==(0|0); - if (!($21)) { - $22 = HEAP32[$3>>2]|0; - $23 = $22&65535; - $24 = HEAP32[$r2>>2]|0; - $25 = ((($24)) + 8|0); - HEAP16[$25>>1] = $23; - break; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = (($9) - 2)|0; + $11 = (($8) + ($10)|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12 << 24 >> 24; + L1: do { + switch ($13|0) { + case 97: { + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)>(2); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = (($17) - 2)|0; + $19 = (($16) + ($18)|0); + $20 = (_memcmp(47310,$19,2)|0); + $21 = (0)==($20|0); + if ($21) { + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = (($23) - 2)|0; + $25 = (_fts5Porter_MGt1($22,$24)|0); + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$5>>2]|0; + $28 = (($27) - 2)|0; + $29 = HEAP32[$3>>2]|0; + HEAP32[$29>>2] = $28; + } + } } - HEAP32[$0>>2] = 7; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + break; } - } while(0); - $26 = HEAP32[$pSorter>>2]|0; - $27 = (_vdbeSorterRowkey($26,$nKey)|0); - HEAP32[$pKey>>2] = $27; - $28 = HEAP32[$pKeyInfo>>2]|0; - $29 = HEAP32[$nKey>>2]|0; - $30 = HEAP32[$pKey>>2]|0; - $31 = HEAP32[$r2>>2]|0; - _sqlite3VdbeRecordUnpack($28,$29,$30,$31); - HEAP32[$i>>2] = 0; - while(1) { - $32 = HEAP32[$i>>2]|0; - $33 = HEAP32[$3>>2]|0; - $34 = ($32|0)<($33|0); - if (!($34)) { - label = 10; + case 99: { + $30 = HEAP32[$5>>2]|0; + $31 = ($30|0)>(4); + if ($31) { + $32 = HEAP32[$2>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = (($33) - 4)|0; + $35 = (($32) + ($34)|0); + $36 = (_memcmp(47286,$35,4)|0); + $37 = (0)==($36|0); + if ($37) { + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = (($39) - 4)|0; + $41 = (_fts5Porter_MGt1($38,$40)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + break L1; + } + $43 = HEAP32[$5>>2]|0; + $44 = (($43) - 4)|0; + $45 = HEAP32[$3>>2]|0; + HEAP32[$45>>2] = $44; + break L1; + } + } + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)>(4); + if ($47) { + $48 = HEAP32[$2>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = (($49) - 4)|0; + $51 = (($48) + ($50)|0); + $52 = (_memcmp(47276,$51,4)|0); + $53 = (0)==($52|0); + if ($53) { + $54 = HEAP32[$2>>2]|0; + $55 = HEAP32[$5>>2]|0; + $56 = (($55) - 4)|0; + $57 = (_fts5Porter_MGt1($54,$56)|0); + $58 = ($57|0)!=(0); + if ($58) { + $59 = HEAP32[$5>>2]|0; + $60 = (($59) - 4)|0; + $61 = HEAP32[$3>>2]|0; + HEAP32[$61>>2] = $60; + } + } + } break; } - $35 = HEAP32[$i>>2]|0; - $36 = HEAP32[$r2>>2]|0; - $37 = ((($36)) + 4|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + (($35*40)|0)|0); - $40 = ((($39)) + 8|0); - $41 = HEAP16[$40>>1]|0; - $42 = $41&65535; - $43 = $42 & 1; - $44 = ($43|0)!=(0); - if ($44) { - label = 8; + case 101: { + $62 = HEAP32[$5>>2]|0; + $63 = ($62|0)>(2); + if ($63) { + $64 = HEAP32[$2>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = (($65) - 2)|0; + $67 = (($64) + ($66)|0); + $68 = (_memcmp(48451,$67,2)|0); + $69 = (0)==($68|0); + if ($69) { + $70 = HEAP32[$2>>2]|0; + $71 = HEAP32[$5>>2]|0; + $72 = (($71) - 2)|0; + $73 = (_fts5Porter_MGt1($70,$72)|0); + $74 = ($73|0)!=(0); + if ($74) { + $75 = HEAP32[$5>>2]|0; + $76 = (($75) - 2)|0; + $77 = HEAP32[$3>>2]|0; + HEAP32[$77>>2] = $76; + } + } + } break; } - $46 = HEAP32[$i>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$i>>2] = $47; - } - if ((label|0) == 8) { - $45 = HEAP32[$4>>2]|0; - HEAP32[$45>>2] = -1; - HEAP32[$0>>2] = 0; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); - } - else if ((label|0) == 10) { - $48 = HEAP32[$2>>2]|0; - $49 = ((($48)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$2>>2]|0; - $52 = ((($51)) + 16|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$r2>>2]|0; - $55 = (_sqlite3VdbeRecordCompare($50,$53,$54)|0); - $56 = HEAP32[$4>>2]|0; - HEAP32[$56>>2] = $55; - HEAP32[$0>>2] = 0; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); - } - return (0)|0; -} -function _sqlite3VdbeSorterRowkey($pCsr,$pOut) { - $pCsr = $pCsr|0; - $pOut = $pOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nKey = 0, $pKey = 0, $pSorter = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pSorter = sp + 8|0; - $pKey = sp + 4|0; - $nKey = sp; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pOut; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pSorter>>2] = $5; - $6 = HEAP32[$pSorter>>2]|0; - $7 = (_vdbeSorterRowkey($6,$nKey)|0); - HEAP32[$pKey>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$nKey>>2]|0; - $10 = (_sqlite3VdbeMemClearAndResize($8,$9)|0); - $11 = ($10|0)!=(0); - if ($11) { - HEAP32[$0>>2] = 7; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); - } else { - $12 = HEAP32[$nKey>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 12|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = $18 & -49664; - $20 = $19 | 16; - $21 = $20&65535; - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 8|0); - HEAP16[$23>>1] = $21; - $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 16|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$pKey>>2]|0; - $28 = HEAP32[$nKey>>2]|0; - _memcpy(($26|0),($27|0),($28|0))|0; - HEAP32[$0>>2] = 0; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); - } - return (0)|0; -} -function _sqlite3VtabImportErrmsg($p,$pVtab) { - $p = $p|0; - $pVtab = $pVtab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pVtab; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$db>>2] = $7; - $8 = HEAP32[$db>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 108|0); - $11 = HEAP32[$10>>2]|0; - _sqlite3DbFree($8,$11); - $12 = HEAP32[$db>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3DbStrDup($12,$15)|0); - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 108|0); - HEAP32[$18>>2] = $16; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - _sqlite3_free($21); - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 8|0); - HEAP32[$23>>2] = 0; - STACKTOP = sp;return; -} -function _sqlite3VdbeCursorRestore($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3BtreeCursorHasMoved($4)|0); - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = (_handleMovedCursor($7)|0); - HEAP32[$0>>2] = $8; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); - } else { - HEAP32[$0>>2] = 0; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); - } - return (0)|0; -} -function _sqlite3VdbeSorterRewind($pCsr,$pbEof) { - $pCsr = $pCsr|0; - $pbEof = $pbEof|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pSorter = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $pSorter = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pbEof; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pSorter>>2] = $5; - $6 = HEAP32[$pSorter>>2]|0; - $7 = ((($6)) + 56|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($9|0)==(0); - $11 = HEAP32[$pSorter>>2]|0; - if (!($10)) { - $22 = (_vdbeSorterFlushPMA($11)|0); - HEAP32[$rc>>2] = $22; - $23 = HEAP32[$rc>>2]|0; - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - $26 = HEAP32[$pSorter>>2]|0; - $27 = (_vdbeSorterSetupMerge($26)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$2>>2]|0; - HEAP32[$28>>2] = 0; + case 105: { + $78 = HEAP32[$5>>2]|0; + $79 = ($78|0)>(2); + if ($79) { + $80 = HEAP32[$2>>2]|0; + $81 = HEAP32[$5>>2]|0; + $82 = (($81) - 2)|0; + $83 = (($80) + ($82)|0); + $84 = (_memcmp(47421,$83,2)|0); + $85 = (0)==($84|0); + if ($85) { + $86 = HEAP32[$2>>2]|0; + $87 = HEAP32[$5>>2]|0; + $88 = (($87) - 2)|0; + $89 = (_fts5Porter_MGt1($86,$88)|0); + $90 = ($89|0)!=(0); + if ($90) { + $91 = HEAP32[$5>>2]|0; + $92 = (($91) - 2)|0; + $93 = HEAP32[$3>>2]|0; + HEAP32[$93>>2] = $92; + } + } + } + break; } - $29 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $29; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); - } - $12 = ((($11)) + 36|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0|0); - $15 = HEAP32[$2>>2]|0; - if ($14) { - HEAP32[$15>>2] = 0; - $16 = HEAP32[$pSorter>>2]|0; - $17 = ((($16)) + 64|0); - $18 = HEAP32[$pSorter>>2]|0; - $19 = ((($18)) + 36|0); - $20 = (_vdbeSorterSort($17,$19)|0); - HEAP32[$rc>>2] = $20; - } else { - HEAP32[$15>>2] = 1; - } - $21 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $21; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); -} -function _sqlite3BtreeFirst($pCur,$pRes) { - $pCur = $pCur|0; - $pRes = $pRes|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$1>>2] = $pRes; - $2 = HEAP32[$0>>2]|0; - $3 = (_moveToRoot($2)|0); - HEAP32[$rc>>2] = $3; - $4 = HEAP32[$rc>>2]|0; - $5 = ($4|0)==(0); - do { - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 66|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($9|0)==(0); - $11 = HEAP32[$1>>2]|0; - if ($10) { - HEAP32[$11>>2] = 1; - break; - } else { - HEAP32[$11>>2] = 0; - $12 = HEAP32[$0>>2]|0; - $13 = (_moveToLeftmost($12)|0); - HEAP32[$rc>>2] = $13; - break; + case 108: { + $94 = HEAP32[$5>>2]|0; + $95 = ($94|0)>(4); + if ($95) { + $96 = HEAP32[$2>>2]|0; + $97 = HEAP32[$5>>2]|0; + $98 = (($97) - 4)|0; + $99 = (($96) + ($98)|0); + $100 = (_memcmp(48454,$99,4)|0); + $101 = (0)==($100|0); + if ($101) { + $102 = HEAP32[$2>>2]|0; + $103 = HEAP32[$5>>2]|0; + $104 = (($103) - 4)|0; + $105 = (_fts5Porter_MGt1($102,$104)|0); + $106 = ($105|0)!=(0); + if (!($106)) { + break L1; + } + $107 = HEAP32[$5>>2]|0; + $108 = (($107) - 4)|0; + $109 = HEAP32[$3>>2]|0; + HEAP32[$109>>2] = $108; + break L1; + } + } + $110 = HEAP32[$5>>2]|0; + $111 = ($110|0)>(4); + if ($111) { + $112 = HEAP32[$2>>2]|0; + $113 = HEAP32[$5>>2]|0; + $114 = (($113) - 4)|0; + $115 = (($112) + ($114)|0); + $116 = (_memcmp(48459,$115,4)|0); + $117 = (0)==($116|0); + if ($117) { + $118 = HEAP32[$2>>2]|0; + $119 = HEAP32[$5>>2]|0; + $120 = (($119) - 4)|0; + $121 = (_fts5Porter_MGt1($118,$120)|0); + $122 = ($121|0)!=(0); + if ($122) { + $123 = HEAP32[$5>>2]|0; + $124 = (($123) - 4)|0; + $125 = HEAP32[$3>>2]|0; + HEAP32[$125>>2] = $124; + } + } } + break; } - } while(0); - $14 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($14|0); -} -function _sqlite3VdbeSorterNext($db,$pCsr,$pbEof) { - $db = $db|0; - $pCsr = $pCsr|0; - $pbEof = $pbEof|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFree = 0; - var $pSorter = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pSorter = sp + 8|0; - $rc = sp + 4|0; - $pFree = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pbEof; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pSorter>>2] = $5; - $6 = HEAP32[$pSorter>>2]|0; - $7 = ((($6)) + 56|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)!=(0); - $10 = HEAP32[$pSorter>>2]|0; - if ($9) { - $11 = ((($10)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = (_vdbeMergeEngineStep($12,$13)|0); - HEAP32[$rc>>2] = $14; - $38 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($38|0); - } - $15 = ((($10)) + 36|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pFree>>2] = $16; - $17 = HEAP32[$pFree>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$pSorter>>2]|0; - $21 = ((($20)) + 36|0); - HEAP32[$21>>2] = $19; - $22 = HEAP32[$pFree>>2]|0; - $23 = ((($22)) + 4|0); - HEAP32[$23>>2] = 0; - $24 = HEAP32[$pSorter>>2]|0; - $25 = ((($24)) + 36|0); - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)==(0|0); - if ($28) { - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$pFree>>2]|0; - _vdbeSorterRecordFree($29,$30); - } - $31 = HEAP32[$pSorter>>2]|0; - $32 = ((($31)) + 36|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)!=(0|0); - $35 = $34 ^ 1; - $36 = $35&1; - $37 = HEAP32[$2>>2]|0; - HEAP32[$37>>2] = $36; - HEAP32[$rc>>2] = 0; - $38 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($38|0); -} -function _sqlite3VdbeSorterWrite($pCsr,$pVal) { - $pCsr = $pCsr|0; - $pVal = $pVal|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aNew = 0, $bFlush = 0, $iListOff = 0, $nMin = 0, $nNew = 0, $nPMA = 0, $nReq = 0, $or$cond = 0, $or$cond3 = 0, $pNew = 0, $pSorter = 0; - var $rc = 0, $t = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $pSorter = sp + 40|0; - $rc = sp + 36|0; - $pNew = sp + 32|0; - $bFlush = sp + 28|0; - $nReq = sp + 24|0; - $nPMA = sp + 20|0; - $t = sp + 16|0; - $nMin = sp + 12|0; - $aNew = sp + 8|0; - $iListOff = sp + 4|0; - $nNew = sp; - HEAP32[$1>>2] = $pCsr; - HEAP32[$2>>2] = $pVal; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pSorter>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 1|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)<(128); - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 16|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 1|0); - if ($12) { - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - HEAP32[$t>>2] = $18; - } else { - (_sqlite3GetVarint32($16,$t)|0); - } - $19 = HEAP32[$t>>2]|0; - $20 = ($19|0)>(0); - $21 = HEAP32[$t>>2]|0; - $22 = ($21|0)<(10); - $or$cond = $20 & $22; - $23 = HEAP32[$t>>2]|0; - $24 = ($23|0)!=(7); - $or$cond3 = $or$cond & $24; - do { - if ($or$cond3) { - $25 = HEAP32[$pSorter>>2]|0; - $26 = ((($25)) + 60|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 & 1; - $30 = $29&255; - HEAP8[$26>>0] = $30; - } else { - $31 = HEAP32[$t>>2]|0; - $32 = ($31|0)>(10); - if ($32) { - $33 = HEAP32[$t>>2]|0; - $34 = $33 & 1; - $35 = ($34|0)!=(0); - if ($35) { - $36 = HEAP32[$pSorter>>2]|0; - $37 = ((($36)) + 60|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = $39 & 2; - $41 = $40&255; - HEAP8[$37>>0] = $41; - break; + case 110: { + $126 = HEAP32[$5>>2]|0; + $127 = ($126|0)>(3); + if ($127) { + $128 = HEAP32[$2>>2]|0; + $129 = HEAP32[$5>>2]|0; + $130 = (($129) - 3)|0; + $131 = (($128) + ($130)|0); + $132 = (_memcmp(48464,$131,3)|0); + $133 = (0)==($132|0); + if ($133) { + $134 = HEAP32[$2>>2]|0; + $135 = HEAP32[$5>>2]|0; + $136 = (($135) - 3)|0; + $137 = (_fts5Porter_MGt1($134,$136)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + break L1; + } + $139 = HEAP32[$5>>2]|0; + $140 = (($139) - 3)|0; + $141 = HEAP32[$3>>2]|0; + HEAP32[$141>>2] = $140; + break L1; + } + } + $142 = HEAP32[$5>>2]|0; + $143 = ($142|0)>(5); + if ($143) { + $144 = HEAP32[$2>>2]|0; + $145 = HEAP32[$5>>2]|0; + $146 = (($145) - 5)|0; + $147 = (($144) + ($146)|0); + $148 = (_memcmp(48468,$147,5)|0); + $149 = (0)==($148|0); + if ($149) { + $150 = HEAP32[$2>>2]|0; + $151 = HEAP32[$5>>2]|0; + $152 = (($151) - 5)|0; + $153 = (_fts5Porter_MGt1($150,$152)|0); + $154 = ($153|0)!=(0); + if (!($154)) { + break L1; + } + $155 = HEAP32[$5>>2]|0; + $156 = (($155) - 5)|0; + $157 = HEAP32[$3>>2]|0; + HEAP32[$157>>2] = $156; + break L1; + } + } + $158 = HEAP32[$5>>2]|0; + $159 = ($158|0)>(4); + if ($159) { + $160 = HEAP32[$2>>2]|0; + $161 = HEAP32[$5>>2]|0; + $162 = (($161) - 4)|0; + $163 = (($160) + ($162)|0); + $164 = (_memcmp(48474,$163,4)|0); + $165 = (0)==($164|0); + if ($165) { + $166 = HEAP32[$2>>2]|0; + $167 = HEAP32[$5>>2]|0; + $168 = (($167) - 4)|0; + $169 = (_fts5Porter_MGt1($166,$168)|0); + $170 = ($169|0)!=(0); + if (!($170)) { + break L1; + } + $171 = HEAP32[$5>>2]|0; + $172 = (($171) - 4)|0; + $173 = HEAP32[$3>>2]|0; + HEAP32[$173>>2] = $172; + break L1; + } + } + $174 = HEAP32[$5>>2]|0; + $175 = ($174|0)>(3); + if ($175) { + $176 = HEAP32[$2>>2]|0; + $177 = HEAP32[$5>>2]|0; + $178 = (($177) - 3)|0; + $179 = (($176) + ($178)|0); + $180 = (_memcmp(47319,$179,3)|0); + $181 = (0)==($180|0); + if ($181) { + $182 = HEAP32[$2>>2]|0; + $183 = HEAP32[$5>>2]|0; + $184 = (($183) - 3)|0; + $185 = (_fts5Porter_MGt1($182,$184)|0); + $186 = ($185|0)!=(0); + if ($186) { + $187 = HEAP32[$5>>2]|0; + $188 = (($187) - 3)|0; + $189 = HEAP32[$3>>2]|0; + HEAP32[$189>>2] = $188; + } } } - $42 = HEAP32[$pSorter>>2]|0; - $43 = ((($42)) + 60|0); - HEAP8[$43>>0] = 0; + break; } - } while(0); - $44 = HEAP32[$2>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 8)|0; - HEAP32[$nReq>>2] = $47; - $48 = HEAP32[$2>>2]|0; - $49 = ((($48)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$2>>2]|0; - $52 = ((($51)) + 12|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)<(0); - $55 = $54 << 31 >> 31; - $56 = (_sqlite3VarintLen($53,$55)|0); - $57 = (($50) + ($56))|0; - HEAP32[$nPMA>>2] = $57; - $58 = HEAP32[$pSorter>>2]|0; - $59 = ((($58)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)!=(0); - if ($61) { - $62 = HEAP32[$pSorter>>2]|0; - $63 = ((($62)) + 36|0); - $64 = ((($63)) + 4|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)!=(0|0); - $67 = HEAP32[$pSorter>>2]|0; - if ($66) { - $68 = ((($67)) + 48|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)!=(0); - if ($70) { - $71 = HEAP32[$pSorter>>2]|0; - $72 = ((($71)) + 48|0); - $73 = HEAP32[$72>>2]|0; - $74 = HEAP32[$nReq>>2]|0; - $75 = (($73) + ($74))|0; - $76 = HEAP32[$pSorter>>2]|0; - $77 = ((($76)) + 4|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($75|0)>($78|0); - $81 = $79; - } else { - $81 = 0; + case 111: { + $190 = HEAP32[$5>>2]|0; + $191 = ($190|0)>(3); + if ($191) { + $192 = HEAP32[$2>>2]|0; + $193 = HEAP32[$5>>2]|0; + $194 = (($193) - 3)|0; + $195 = (($192) + ($194)|0); + $196 = (_memcmp(48479,$195,3)|0); + $197 = (0)==($196|0); + if ($197) { + $198 = HEAP32[$2>>2]|0; + $199 = HEAP32[$5>>2]|0; + $200 = (($199) - 3)|0; + $201 = (_fts5Porter_MGt1_and_S_or_T($198,$200)|0); + $202 = ($201|0)!=(0); + if (!($202)) { + break L1; + } + $203 = HEAP32[$5>>2]|0; + $204 = (($203) - 3)|0; + $205 = HEAP32[$3>>2]|0; + HEAP32[$205>>2] = $204; + break L1; + } } - $80 = $81&1; - HEAP32[$bFlush>>2] = $80; - } else { - $82 = ((($67)) + 36|0); - $83 = ((($82)) + 8|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$pSorter>>2]|0; - $86 = ((($85)) + 4|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($84|0)>($87|0); - if ($88) { - $99 = 1; - } else { - $89 = HEAP32[$pSorter>>2]|0; - $90 = ((($89)) + 36|0); - $91 = ((($90)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = HEAP32[$pSorter>>2]|0; - $94 = HEAP32[$93>>2]|0; - $95 = ($92|0)>($94|0); - if ($95) { - $96 = (_sqlite3HeapNearlyFull()|0); - $97 = ($96|0)!=(0); - $99 = $97; - } else { - $99 = 0; + $206 = HEAP32[$5>>2]|0; + $207 = ($206|0)>(2); + if ($207) { + $208 = HEAP32[$2>>2]|0; + $209 = HEAP32[$5>>2]|0; + $210 = (($209) - 2)|0; + $211 = (($208) + ($210)|0); + $212 = (_memcmp(48483,$211,2)|0); + $213 = (0)==($212|0); + if ($213) { + $214 = HEAP32[$2>>2]|0; + $215 = HEAP32[$5>>2]|0; + $216 = (($215) - 2)|0; + $217 = (_fts5Porter_MGt1($214,$216)|0); + $218 = ($217|0)!=(0); + if ($218) { + $219 = HEAP32[$5>>2]|0; + $220 = (($219) - 2)|0; + $221 = HEAP32[$3>>2]|0; + HEAP32[$221>>2] = $220; + } } } - $98 = $99&1; - HEAP32[$bFlush>>2] = $98; + break; } - $100 = HEAP32[$bFlush>>2]|0; - $101 = ($100|0)!=(0); - if ($101) { - $102 = HEAP32[$pSorter>>2]|0; - $103 = (_vdbeSorterFlushPMA($102)|0); - HEAP32[$rc>>2] = $103; - $104 = HEAP32[$pSorter>>2]|0; - $105 = ((($104)) + 36|0); - $106 = ((($105)) + 8|0); - HEAP32[$106>>2] = 0; - $107 = HEAP32[$pSorter>>2]|0; - $108 = ((($107)) + 48|0); - HEAP32[$108>>2] = 0; - } - } - $109 = HEAP32[$nPMA>>2]|0; - $110 = HEAP32[$pSorter>>2]|0; - $111 = ((($110)) + 36|0); - $112 = ((($111)) + 8|0); - $113 = HEAP32[$112>>2]|0; - $114 = (($113) + ($109))|0; - HEAP32[$112>>2] = $114; - $115 = HEAP32[$nPMA>>2]|0; - $116 = HEAP32[$pSorter>>2]|0; - $117 = ((($116)) + 8|0); - $118 = HEAP32[$117>>2]|0; - $119 = ($115|0)>($118|0); - if ($119) { - $120 = HEAP32[$nPMA>>2]|0; - $121 = HEAP32[$pSorter>>2]|0; - $122 = ((($121)) + 8|0); - HEAP32[$122>>2] = $120; - } - $123 = HEAP32[$pSorter>>2]|0; - $124 = ((($123)) + 36|0); - $125 = ((($124)) + 4|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($126|0)!=(0|0); - do { - if ($127) { - $128 = HEAP32[$pSorter>>2]|0; - $129 = ((($128)) + 48|0); - $130 = HEAP32[$129>>2]|0; - $131 = HEAP32[$nReq>>2]|0; - $132 = (($130) + ($131))|0; - HEAP32[$nMin>>2] = $132; - $133 = HEAP32[$nMin>>2]|0; - $134 = HEAP32[$pSorter>>2]|0; - $135 = ((($134)) + 52|0); - $136 = HEAP32[$135>>2]|0; - $137 = ($133|0)>($136|0); - do { - if ($137) { - $138 = HEAP32[$pSorter>>2]|0; - $139 = ((($138)) + 36|0); - $140 = HEAP32[$139>>2]|0; - $141 = HEAP32[$pSorter>>2]|0; - $142 = ((($141)) + 36|0); - $143 = ((($142)) + 4|0); - $144 = HEAP32[$143>>2]|0; - $145 = $140; - $146 = $144; - $147 = (($145) - ($146))|0; - HEAP32[$iListOff>>2] = $147; - $148 = HEAP32[$pSorter>>2]|0; - $149 = ((($148)) + 52|0); - $150 = HEAP32[$149>>2]|0; - $151 = $150<<1; - HEAP32[$nNew>>2] = $151; - while(1) { - $152 = HEAP32[$nNew>>2]|0; - $153 = HEAP32[$nMin>>2]|0; - $154 = ($152|0)<($153|0); - $155 = HEAP32[$nNew>>2]|0; - if (!($154)) { - break; - } - $156 = $155<<1; - HEAP32[$nNew>>2] = $156; + case 115: { + $222 = HEAP32[$5>>2]|0; + $223 = ($222|0)>(3); + if ($223) { + $224 = HEAP32[$2>>2]|0; + $225 = HEAP32[$5>>2]|0; + $226 = (($225) - 3)|0; + $227 = (($224) + ($226)|0); + $228 = (_memcmp(48486,$227,3)|0); + $229 = (0)==($228|0); + if ($229) { + $230 = HEAP32[$2>>2]|0; + $231 = HEAP32[$5>>2]|0; + $232 = (($231) - 3)|0; + $233 = (_fts5Porter_MGt1($230,$232)|0); + $234 = ($233|0)!=(0); + if ($234) { + $235 = HEAP32[$5>>2]|0; + $236 = (($235) - 3)|0; + $237 = HEAP32[$3>>2]|0; + HEAP32[$237>>2] = $236; } - $157 = HEAP32[$pSorter>>2]|0; - $158 = ((($157)) + 4|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($155|0)>($159|0); - if ($160) { - $161 = HEAP32[$pSorter>>2]|0; - $162 = ((($161)) + 4|0); - $163 = HEAP32[$162>>2]|0; - HEAP32[$nNew>>2] = $163; + } + } + break; + } + case 116: { + $238 = HEAP32[$5>>2]|0; + $239 = ($238|0)>(3); + if ($239) { + $240 = HEAP32[$2>>2]|0; + $241 = HEAP32[$5>>2]|0; + $242 = (($241) - 3)|0; + $243 = (($240) + ($242)|0); + $244 = (_memcmp(47233,$243,3)|0); + $245 = (0)==($244|0); + if ($245) { + $246 = HEAP32[$2>>2]|0; + $247 = HEAP32[$5>>2]|0; + $248 = (($247) - 3)|0; + $249 = (_fts5Porter_MGt1($246,$248)|0); + $250 = ($249|0)!=(0); + if (!($250)) { + break L1; } - $164 = HEAP32[$nNew>>2]|0; - $165 = HEAP32[$nMin>>2]|0; - $166 = ($164|0)<($165|0); - if ($166) { - $167 = HEAP32[$nMin>>2]|0; - HEAP32[$nNew>>2] = $167; + $251 = HEAP32[$5>>2]|0; + $252 = (($251) - 3)|0; + $253 = HEAP32[$3>>2]|0; + HEAP32[$253>>2] = $252; + break L1; + } + } + $254 = HEAP32[$5>>2]|0; + $255 = ($254|0)>(3); + if ($255) { + $256 = HEAP32[$2>>2]|0; + $257 = HEAP32[$5>>2]|0; + $258 = (($257) - 3)|0; + $259 = (($256) + ($258)|0); + $260 = (_memcmp(47479,$259,3)|0); + $261 = (0)==($260|0); + if ($261) { + $262 = HEAP32[$2>>2]|0; + $263 = HEAP32[$5>>2]|0; + $264 = (($263) - 3)|0; + $265 = (_fts5Porter_MGt1($262,$264)|0); + $266 = ($265|0)!=(0); + if ($266) { + $267 = HEAP32[$5>>2]|0; + $268 = (($267) - 3)|0; + $269 = HEAP32[$3>>2]|0; + HEAP32[$269>>2] = $268; } - $168 = HEAP32[$pSorter>>2]|0; - $169 = ((($168)) + 36|0); - $170 = ((($169)) + 4|0); - $171 = HEAP32[$170>>2]|0; - $172 = HEAP32[$nNew>>2]|0; - $173 = ($172|0)<(0); - $174 = $173 << 31 >> 31; - $175 = (_sqlite3Realloc($171,$172,$174)|0); - HEAP32[$aNew>>2] = $175; - $176 = HEAP32[$aNew>>2]|0; - $177 = ($176|0)!=(0|0); - if ($177) { - $178 = HEAP32[$iListOff>>2]|0; - $179 = HEAP32[$aNew>>2]|0; - $180 = (($179) + ($178)|0); - $181 = HEAP32[$pSorter>>2]|0; - $182 = ((($181)) + 36|0); - HEAP32[$182>>2] = $180; - $183 = HEAP32[$aNew>>2]|0; - $184 = HEAP32[$pSorter>>2]|0; - $185 = ((($184)) + 36|0); - $186 = ((($185)) + 4|0); - HEAP32[$186>>2] = $183; - $187 = HEAP32[$nNew>>2]|0; - $188 = HEAP32[$pSorter>>2]|0; - $189 = ((($188)) + 52|0); - HEAP32[$189>>2] = $187; - break; + } + } + break; + } + case 117: { + $270 = HEAP32[$5>>2]|0; + $271 = ($270|0)>(3); + if ($271) { + $272 = HEAP32[$2>>2]|0; + $273 = HEAP32[$5>>2]|0; + $274 = (($273) - 3)|0; + $275 = (($272) + ($274)|0); + $276 = (_memcmp(47335,$275,3)|0); + $277 = (0)==($276|0); + if ($277) { + $278 = HEAP32[$2>>2]|0; + $279 = HEAP32[$5>>2]|0; + $280 = (($279) - 3)|0; + $281 = (_fts5Porter_MGt1($278,$280)|0); + $282 = ($281|0)!=(0); + if ($282) { + $283 = HEAP32[$5>>2]|0; + $284 = (($283) - 3)|0; + $285 = HEAP32[$3>>2]|0; + HEAP32[$285>>2] = $284; } - HEAP32[$0>>2] = 7; - $248 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($248|0); } - } while(0); - $190 = HEAP32[$pSorter>>2]|0; - $191 = ((($190)) + 48|0); - $192 = HEAP32[$191>>2]|0; - $193 = HEAP32[$pSorter>>2]|0; - $194 = ((($193)) + 36|0); - $195 = ((($194)) + 4|0); - $196 = HEAP32[$195>>2]|0; - $197 = (($196) + ($192)|0); - HEAP32[$pNew>>2] = $197; - $198 = HEAP32[$nReq>>2]|0; - $199 = (($198) + 7)|0; - $200 = $199 & -8; - $201 = HEAP32[$pSorter>>2]|0; - $202 = ((($201)) + 48|0); - $203 = HEAP32[$202>>2]|0; - $204 = (($203) + ($200))|0; - HEAP32[$202>>2] = $204; - $205 = HEAP32[$pSorter>>2]|0; - $206 = ((($205)) + 36|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)!=(0|0); - if ($208) { - $209 = HEAP32[$pSorter>>2]|0; - $210 = ((($209)) + 36|0); - $211 = HEAP32[$210>>2]|0; - $212 = HEAP32[$pSorter>>2]|0; - $213 = ((($212)) + 36|0); - $214 = ((($213)) + 4|0); - $215 = HEAP32[$214>>2]|0; - $216 = $211; - $217 = $215; - $218 = (($216) - ($217))|0; - $219 = HEAP32[$pNew>>2]|0; - $220 = ((($219)) + 4|0); - HEAP32[$220>>2] = $218; } - } else { - $221 = HEAP32[$nReq>>2]|0; - $222 = ($221|0)<(0); - $223 = $222 << 31 >> 31; - $224 = (_sqlite3Malloc($221,$223)|0); - HEAP32[$pNew>>2] = $224; - $225 = HEAP32[$pNew>>2]|0; - $226 = ($225|0)==(0|0); - if (!($226)) { - $227 = HEAP32[$pSorter>>2]|0; - $228 = ((($227)) + 36|0); - $229 = HEAP32[$228>>2]|0; - $230 = HEAP32[$pNew>>2]|0; - $231 = ((($230)) + 4|0); - HEAP32[$231>>2] = $229; - break; + break; + } + case 118: { + $286 = HEAP32[$5>>2]|0; + $287 = ($286|0)>(3); + if ($287) { + $288 = HEAP32[$2>>2]|0; + $289 = HEAP32[$5>>2]|0; + $290 = (($289) - 3)|0; + $291 = (($288) + ($290)|0); + $292 = (_memcmp(47372,$291,3)|0); + $293 = (0)==($292|0); + if ($293) { + $294 = HEAP32[$2>>2]|0; + $295 = HEAP32[$5>>2]|0; + $296 = (($295) - 3)|0; + $297 = (_fts5Porter_MGt1($294,$296)|0); + $298 = ($297|0)!=(0); + if ($298) { + $299 = HEAP32[$5>>2]|0; + $300 = (($299) - 3)|0; + $301 = HEAP32[$3>>2]|0; + HEAP32[$301>>2] = $300; + } + } + } + break; + } + case 122: { + $302 = HEAP32[$5>>2]|0; + $303 = ($302|0)>(3); + if ($303) { + $304 = HEAP32[$2>>2]|0; + $305 = HEAP32[$5>>2]|0; + $306 = (($305) - 3)|0; + $307 = (($304) + ($306)|0); + $308 = (_memcmp(47247,$307,3)|0); + $309 = (0)==($308|0); + if ($309) { + $310 = HEAP32[$2>>2]|0; + $311 = HEAP32[$5>>2]|0; + $312 = (($311) - 3)|0; + $313 = (_fts5Porter_MGt1($310,$312)|0); + $314 = ($313|0)!=(0); + if ($314) { + $315 = HEAP32[$5>>2]|0; + $316 = (($315) - 3)|0; + $317 = HEAP32[$3>>2]|0; + HEAP32[$317>>2] = $316; + } + } } - HEAP32[$0>>2] = 7; - $248 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($248|0); + break; + } + default: { + } } } while(0); - $232 = HEAP32[$pNew>>2]|0; - $233 = ((($232)) + 8|0); - $234 = HEAP32[$2>>2]|0; - $235 = ((($234)) + 16|0); - $236 = HEAP32[$235>>2]|0; - $237 = HEAP32[$2>>2]|0; - $238 = ((($237)) + 12|0); - $239 = HEAP32[$238>>2]|0; - _memcpy(($233|0),($236|0),($239|0))|0; - $240 = HEAP32[$2>>2]|0; - $241 = ((($240)) + 12|0); - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[$pNew>>2]|0; - HEAP32[$243>>2] = $242; - $244 = HEAP32[$pNew>>2]|0; - $245 = HEAP32[$pSorter>>2]|0; - $246 = ((($245)) + 36|0); - HEAP32[$246>>2] = $244; - $247 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $247; - $248 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($248|0); -} -function _sqlite3VdbeIdxRowid($db,$pCur,$rowid) { - $db = $db|0; - $pCur = $pCur|0; - $rowid = $rowid|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $lenRowid = 0, $m = 0, $nCellKey = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $szHdr = 0; - var $typeRowid = 0, $v = 0, label = 0, sp = 0; + $318 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($318|0); +} +function _fts5Porter_MGt1($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; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $3 = sp + 104|0; - $nCellKey = sp + 80|0; - $rc = sp + 100|0; - $szHdr = sp + 96|0; - $typeRowid = sp + 92|0; - $lenRowid = sp + 88|0; - $m = sp + 40|0; - $v = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pCur; - HEAP32[$3>>2] = $rowid; - $4 = $nCellKey; - $5 = $4; - HEAP32[$5>>2] = 0; - $6 = (($4) + 4)|0; - $7 = $6; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = (_fts5PorterGobbleVC($6,$7,0)|0); + HEAP32[$5>>2] = $8; + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)!=(0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$5>>2]|0; + $13 = (($11) + ($12)|0); + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = (($14) - ($15))|0; + $17 = (_fts5PorterGobbleVC($13,$16,1)|0); + $18 = ($17|0)!=(0); + if ($18) { + HEAP32[$2>>2] = 1; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); + } + } + HEAP32[$2>>2] = 0; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); +} +function _fts5PorterGobbleVC($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $9; HEAP32[$7>>2] = 0; - $8 = HEAP32[$2>>2]|0; - $9 = (_sqlite3BtreePayloadSize($8)|0); - $10 = $nCellKey; - $11 = $10; - HEAP32[$11>>2] = $9; - $12 = (($10) + 4)|0; - $13 = $12; - HEAP32[$13>>2] = 0; - $14 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemInit($m,$14,0); - $15 = HEAP32[$2>>2]|0; - $16 = $nCellKey; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + 4)|0; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3VdbeMemFromBtree($15,0,$18,1,$m)|0); - HEAP32[$rc>>2] = $22; - $23 = HEAP32[$rc>>2]|0; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $25; - $92 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($92|0); + while(1) { + $10 = HEAP32[$7>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = ($10|0)<($11|0); + if (!($12)) { + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = (($13) + ($14)|0); + $16 = HEAP8[$15>>0]|0; + $17 = HEAP32[$8>>2]|0; + $18 = (_fts5PorterIsVowel($16,$17)|0); + $19 = ($18|0)!=(0); + $20 = $19 ^ 1; + $21 = $20&1; + HEAP32[$8>>2] = $21; + $22 = (0)==($21|0); + if ($22) { + break; + } + $23 = HEAP32[$7>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$7>>2] = $24; } - $26 = ((($m)) + 16|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)<(128); - $31 = ((($m)) + 16|0); - $32 = HEAP32[$31>>2]|0; - if ($30) { + $25 = HEAP32[$7>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$7>>2] = $26; + while(1) { + $27 = HEAP32[$7>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = ($27|0)<($28|0); + if (!($29)) { + label = 10; + break; + } + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = (($30) + ($31)|0); $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - HEAP32[$szHdr>>2] = $34; - } else { - (_sqlite3GetVarint32($32,$szHdr)|0); - } - $35 = HEAP32[$szHdr>>2]|0; - $36 = ($35>>>0)<(3); - if (!($36)) { - $37 = HEAP32[$szHdr>>2]|0; - $38 = ((($m)) + 12|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($37|0)>($39|0); - if (!($40)) { - $41 = HEAP32[$szHdr>>2]|0; - $42 = (($41) - 1)|0; - $43 = ((($m)) + 16|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + ($42)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = ($47|0)<(128); - $49 = HEAP32[$szHdr>>2]|0; - $50 = (($49) - 1)|0; - $51 = ((($m)) + 16|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + ($50)|0); - if ($48) { - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - HEAP32[$typeRowid>>2] = $55; - } else { - (_sqlite3GetVarint32($53,$typeRowid)|0); - } - $56 = HEAP32[$typeRowid>>2]|0; - $57 = ($56>>>0)<(1); - $58 = HEAP32[$typeRowid>>2]|0; - $59 = ($58>>>0)>(9); - $or$cond = $57 | $59; - $60 = HEAP32[$typeRowid>>2]|0; - $61 = ($60|0)==(7); - $or$cond3 = $or$cond | $61; - if (!($or$cond3)) { - $62 = HEAP32[$typeRowid>>2]|0; - $63 = (35061 + ($62)|0); - $64 = HEAP8[$63>>0]|0; - $65 = $64&255; - HEAP32[$lenRowid>>2] = $65; - $66 = ((($m)) + 12|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$szHdr>>2]|0; - $69 = HEAP32[$lenRowid>>2]|0; - $70 = (($68) + ($69))|0; - $71 = ($67>>>0)<($70>>>0); - if (!($71)) { - $72 = ((($m)) + 12|0); - $73 = HEAP32[$72>>2]|0; - $74 = HEAP32[$lenRowid>>2]|0; - $75 = (($73) - ($74))|0; - $76 = ((($m)) + 16|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77) + ($75)|0); - $79 = HEAP32[$typeRowid>>2]|0; - (_sqlite3VdbeSerialGet($78,$79,$v)|0); - $80 = $v; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = (($80) + 4)|0; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = HEAP32[$3>>2]|0; - $87 = $86; - $88 = $87; - HEAP32[$88>>2] = $82; - $89 = (($87) + 4)|0; - $90 = $89; - HEAP32[$90>>2] = $85; - _sqlite3VdbeMemRelease($m); - HEAP32[$0>>2] = 0; - $92 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($92|0); - } - } + $34 = HEAP32[$8>>2]|0; + $35 = (_fts5PorterIsVowel($33,$34)|0); + $36 = ($35|0)!=(0); + $37 = $36 ^ 1; + $38 = $37&1; + HEAP32[$8>>2] = $38; + $39 = HEAP32[$7>>2]|0; + $40 = (($39) + 1)|0; + if ($37) { + label = 8; + break; } + HEAP32[$7>>2] = $40; } - _sqlite3VdbeMemRelease($m); - $91 = (_sqlite3CorruptError(74890)|0); - HEAP32[$0>>2] = $91; - $92 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($92|0); -} -function _sqlite3VdbeIdxKeyCompare($db,$pC,$pUnpacked,$res) { - $db = $db|0; - $pC = $pC|0; - $pUnpacked = $pUnpacked|0; - $res = $res|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $m = 0, $nCellKey = 0, $or$cond = 0, $pCur = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 72|0; - $1 = sp + 68|0; - $2 = sp + 64|0; - $3 = sp + 60|0; - $4 = sp + 56|0; - $nCellKey = sp + 40|0; - $rc = sp + 52|0; - $pCur = sp + 48|0; - $m = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pC; - HEAP32[$3>>2] = $pUnpacked; - HEAP32[$4>>2] = $res; - $5 = $nCellKey; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = 0; - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pCur>>2] = $11; - $12 = HEAP32[$pCur>>2]|0; - $13 = (_sqlite3BtreePayloadSize($12)|0); - $14 = $nCellKey; - $15 = $14; - HEAP32[$15>>2] = $13; - $16 = (($14) + 4)|0; - $17 = $16; - HEAP32[$17>>2] = 0; - $18 = $nCellKey; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (($18) + 4)|0; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)<(0); - $25 = ($20>>>0)<=(0); - $26 = ($23|0)==(0); - $27 = $26 & $25; - $28 = $24 | $27; - $29 = $nCellKey; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)>(0); - $36 = ($31>>>0)>(2147483647); - $37 = ($34|0)==(0); - $38 = $37 & $36; - $39 = $35 | $38; - $or$cond = $28 | $39; - if ($or$cond) { - $40 = HEAP32[$4>>2]|0; - HEAP32[$40>>2] = 0; - $41 = (_sqlite3CorruptError(74923)|0); - HEAP32[$0>>2] = $41; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + if ((label|0) == 8) { + HEAP32[$3>>2] = $40; + $41 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($41|0); } - $42 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemInit($m,$42,0); - $43 = HEAP32[$pCur>>2]|0; - $44 = $nCellKey; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (_sqlite3VdbeMemFromBtree($43,0,$46,1,$m)|0); - HEAP32[$rc>>2] = $50; - $51 = HEAP32[$rc>>2]|0; - $52 = ($51|0)!=(0); - if ($52) { - $53 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $53; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); - } else { - $54 = ((($m)) + 12|0); - $55 = HEAP32[$54>>2]|0; - $56 = ((($m)) + 16|0); - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$3>>2]|0; - $59 = (_sqlite3VdbeRecordCompare($55,$57,$58)|0); - $60 = HEAP32[$4>>2]|0; - HEAP32[$60>>2] = $59; - _sqlite3VdbeMemRelease($m); - HEAP32[$0>>2] = 0; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + else if ((label|0) == 10) { + HEAP32[$3>>2] = 0; + $41 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($41|0); } return (0)|0; } -function _sqlite3BtreeDropTable($p,$iTable,$piMoved) { - $p = $p|0; - $iTable = $iTable|0; - $piMoved = $piMoved|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $rc = 0, label = 0, sp = 0; +function _fts5Porter_MGt1_and_S_or_T($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; $2 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iTable; - HEAP32[$2>>2] = $piMoved; - $3 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($3); - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = (_btreeDropTable($4,$5,$6)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($8|0); -} -function _sqlite3RootPageMoved($db,$iDb,$iFrom,$iTo) { - $db = $db|0; - $iDb = $iDb|0; - $iFrom = $iFrom|0; - $iTo = $iTo|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDb = 0, $pElem = 0, $pHash = 0, $pIdx = 0, $pTab = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $pElem = sp + 16|0; - $pHash = sp + 12|0; - $pDb = sp + 8|0; - $pTab = sp + 4|0; - $pIdx = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $iDb; - HEAP32[$2>>2] = $iFrom; - HEAP32[$3>>2] = $iTo; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + ($4<<4)|0); - HEAP32[$pDb>>2] = $8; - $9 = HEAP32[$pDb>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 8|0); - HEAP32[$pHash>>2] = $12; - $13 = HEAP32[$pHash>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$pElem>>2] = $15; - while(1) { - $16 = HEAP32[$pElem>>2]|0; - $17 = ($16|0)!=(0|0); + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (($5) - 1)|0; + $7 = (($4) + ($6)|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)==(115); + if (!($10)) { + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (($12) - 1)|0; + $14 = (($11) + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = ($16|0)==(116); if (!($17)) { - break; - } - $18 = HEAP32[$pElem>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pTab>>2] = $20; - $21 = HEAP32[$pTab>>2]|0; - $22 = ((($21)) + 28|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = ($23|0)==($24|0); - if ($25) { - $26 = HEAP32[$3>>2]|0; - $27 = HEAP32[$pTab>>2]|0; - $28 = ((($27)) + 28|0); - HEAP32[$28>>2] = $26; + $23 = 0; + $22 = $23&1; + STACKTOP = sp;return ($22|0); } - $29 = HEAP32[$pElem>>2]|0; - $30 = HEAP32[$29>>2]|0; - HEAP32[$pElem>>2] = $30; } - $31 = HEAP32[$pDb>>2]|0; - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($33)) + 24|0); - HEAP32[$pHash>>2] = $34; - $35 = HEAP32[$pHash>>2]|0; - $36 = ((($35)) + 8|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$pElem>>2] = $37; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = (_fts5Porter_MGt1($18,$19)|0); + $21 = ($20|0)!=(0); + $23 = $21; + $22 = $23&1; + STACKTOP = sp;return ($22|0); +} +function _fts5Porter_MGt0($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_fts5PorterGobbleVC($4,$5,0)|0); + $7 = ($6|0)!=(0); + $8 = $7 ^ 1; + $9 = $8 ^ 1; + $10 = $9&1; + STACKTOP = sp;return ($10|0); +} +function _asciiFold($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + $7 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; while(1) { - $38 = HEAP32[$pElem>>2]|0; - $39 = ($38|0)!=(0|0); - if (!($39)) { + $8 = HEAP32[$6>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = ($8|0)<($9|0); + if (!($10)) { break; } - $40 = HEAP32[$pElem>>2]|0; - $41 = ((($40)) + 8|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$pIdx>>2] = $42; - $43 = HEAP32[$pIdx>>2]|0; - $44 = ((($43)) + 44|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$2>>2]|0; - $47 = ($45|0)==($46|0); - if ($47) { - $48 = HEAP32[$3>>2]|0; - $49 = HEAP32[$pIdx>>2]|0; - $50 = ((($49)) + 44|0); - HEAP32[$50>>2] = $48; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = (($11) + ($12)|0); + $14 = HEAP8[$13>>0]|0; + HEAP8[$7>>0] = $14; + $15 = HEAP8[$7>>0]|0; + $16 = $15 << 24 >> 24; + $17 = ($16|0)>=(65); + if ($17) { + $18 = HEAP8[$7>>0]|0; + $19 = $18 << 24 >> 24; + $20 = ($19|0)<=(90); + if ($20) { + $21 = HEAP8[$7>>0]|0; + $22 = $21 << 24 >> 24; + $23 = (($22) + 32)|0; + $24 = $23&255; + HEAP8[$7>>0] = $24; + } } - $51 = HEAP32[$pElem>>2]|0; - $52 = HEAP32[$51>>2]|0; - HEAP32[$pElem>>2] = $52; + $25 = HEAP8[$7>>0]|0; + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = (($26) + ($27)|0); + HEAP8[$28>>0] = $25; + $29 = HEAP32[$6>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$6>>2] = $30; } STACKTOP = sp;return; } -function _sqlite3BtreeClearTable($p,$iTable,$pnChange) { - $p = $p|0; - $iTable = $iTable|0; - $pnChange = $pnChange|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $rc = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $rc = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iTable; - HEAP32[$2>>2] = $pnChange; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pBt>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($6); - $7 = HEAP32[$pBt>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (_saveAllCursors($7,$8,0)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = (0)==($10|0); - if (!($11)) { - $17 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($17|0); - } - $12 = HEAP32[$0>>2]|0; - _invalidateIncrblobCursors($12,0,0,1); - $13 = HEAP32[$pBt>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = (_clearDatabasePage($13,$14,0,$15)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($17|0); -} -function _sqlite3VdbeSorterReset($db,$pSorter) { - $db = $db|0; - $pSorter = $pSorter|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pTask = 0, label = 0, sp = 0; +function _fts5AsciiAddExceptions($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $i = sp + 4|0; - $pTask = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pSorter; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 20|0); - $4 = HEAP32[$3>>2]|0; - _vdbeMergeEngineFree($4); - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 20|0); + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; HEAP32[$6>>2] = 0; - HEAP32[$i>>2] = 0; while(1) { - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 59|0); + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$6>>2]|0; + $9 = (($7) + ($8)|0); $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($7|0)<($11|0); - if (!($12)) { + $11 = ($10<<24>>24)!=(0); + if (!($11)) { break; } - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 64|0); - $16 = (($15) + (($13*72)|0)|0); - HEAP32[$pTask>>2] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$pTask>>2]|0; - _vdbeSortSubtaskCleanup($17,$18); - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$pTask>>2]|0; - $21 = ((($20)) + 8|0); - HEAP32[$21>>2] = $19; - $22 = HEAP32[$i>>2]|0; - $23 = (($22) + 1)|0; - HEAP32[$i>>2] = $23; - } - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 36|0); - $26 = ((($25)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)==(0|0); - if ($28) { - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 36|0); - $31 = HEAP32[$30>>2]|0; - _vdbeSorterRecordFree(0,$31); + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = (($12) + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = $16 & 128; + $18 = ($17|0)==(0); + if ($18) { + $19 = HEAP32[$5>>2]|0; + $20 = $19&255; + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = (($22) + ($23)|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25 << 24 >> 24; + $27 = (($21) + ($26)|0); + HEAP8[$27>>0] = $20; + } + $28 = HEAP32[$6>>2]|0; + $29 = (($28) + 1)|0; + HEAP32[$6>>2] = $29; } - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 36|0); - HEAP32[$33>>2] = 0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 36|0); - $36 = ((($35)) + 8|0); - HEAP32[$36>>2] = 0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 56|0); - HEAP8[$38>>0] = 0; - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 48|0); - HEAP32[$40>>2] = 0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 8|0); - HEAP32[$42>>2] = 0; - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 32|0); - $46 = HEAP32[$45>>2]|0; - _sqlite3DbFree($43,$46); - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 32|0); - HEAP32[$48>>2] = 0; STACKTOP = sp;return; } -function _sqlite3BtreeClearTableOfCursor($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _fts5UnicodeIsAlnum($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 52|0); - $5 = HEAP32[$4>>2]|0; - $6 = (_sqlite3BtreeClearTable($2,$5,0)|0); - STACKTOP = sp;return ($6|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3Fts5UnicodeIsalnum($4)|0); + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = (_fts5UnicodeIsException($6,$7)|0); + $9 = $5 ^ $8; + STACKTOP = sp;return ($9|0); } -function _sqlite3UnlinkAndDeleteTable($db,$iDb,$zTabName) { - $db = $db|0; - $iDb = $iDb|0; - $zTabName = $zTabName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $p = 0, $pDb = 0, label = 0, sp = 0; +function _sqlite3Fts5UnicodeIsdiacritic($0) { + $0 = $0|0; + var $$sink = 0, $$sink3 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $1 = sp + 12|0; $2 = sp + 8|0; - $p = sp + 4|0; - $pDb = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $iDb; - HEAP32[$2>>2] = $zTabName; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($3<<4)|0); - HEAP32[$pDb>>2] = $7; - $8 = HEAP32[$pDb>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP32[$2>>2]|0; - $13 = (_sqlite3HashInsert($11,$12,0)|0); - HEAP32[$p>>2] = $13; - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$p>>2]|0; - _sqlite3DeleteTable($14,$15); - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 24|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | 2; - HEAP32[$17>>2] = $19; - STACKTOP = sp;return; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = 134389727; + HEAP32[$4>>2] = 221688; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)<(768); + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)>(817); + $or$cond = $6 | $8; + if ($or$cond) { + HEAP32[$1>>2] = 0; + $20 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($20|0); + } + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)<(800); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - 768)|0; + $$sink = $11;$$sink3 = $13; + } else { + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = (($15) - 768)|0; + $17 = (($16) - 32)|0; + $$sink = $14;$$sink3 = $17; + } + $18 = 1 << $$sink3; + $19 = $$sink & $18; + HEAP32[$1>>2] = $19; + $20 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($20|0); } -function _sqlite3UnlinkAndDeleteIndex($db,$iDb,$zIdxName) { - $db = $db|0; - $iDb = $iDb|0; - $zIdxName = $zIdxName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $p = 0, $pHash = 0, $pIndex = 0, label = 0, sp = 0; +function _sqlite3Fts5UnicodeFold($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pIndex = sp + 8|0; - $pHash = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $iDb; - HEAP32[$2>>2] = $zIdxName; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($3<<4)|0); - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 24|0); - HEAP32[$pHash>>2] = $10; - $11 = HEAP32[$pHash>>2]|0; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $11 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $11; $12 = HEAP32[$2>>2]|0; - $13 = (_sqlite3HashInsert($11,$12,0)|0); - HEAP32[$pIndex>>2] = $13; - $14 = HEAP32[$pIndex>>2]|0; - $15 = ($14|0)!=(0|0); - if (!($15)) { - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 24|0); - $59 = HEAP32[$58>>2]|0; - $60 = $59 | 2; - HEAP32[$58>>2] = $60; - STACKTOP = sp;return; + $13 = ($12|0)<(128); + $14 = HEAP32[$2>>2]|0; + if ($13) { + $15 = ($14|0)>=(65); + $16 = HEAP32[$2>>2]|0; + $17 = ($16|0)<=(90); + $or$cond = $15 & $17; + if (!($or$cond)) { + $85 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($85|0); + } + $18 = HEAP32[$2>>2]|0; + $19 = (($18) + 32)|0; + HEAP32[$4>>2] = $19; + $85 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($85|0); } - $16 = HEAP32[$pIndex>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$pIndex>>2]|0; - $22 = ($20|0)==($21|0); - $23 = HEAP32[$pIndex>>2]|0; - if ($22) { - $24 = ((($23)) + 20|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$pIndex>>2]|0; - $27 = ((($26)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 8|0); - HEAP32[$29>>2] = $25; - } else { - $30 = ((($23)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($31)) + 8|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$p>>2] = $33; - while(1) { - $34 = HEAP32[$p>>2]|0; - $35 = ($34|0)!=(0|0); - if ($35) { - $36 = HEAP32[$p>>2]|0; - $37 = ((($36)) + 20|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$pIndex>>2]|0; - $40 = ($38|0)!=($39|0); - $61 = $40; - } else { - $61 = 0; - } - $41 = HEAP32[$p>>2]|0; - if (!($61)) { - break; - } - $42 = ((($41)) + 20|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$p>>2] = $43; + $20 = ($14|0)<(65536); + if (!($20)) { + $79 = HEAP32[$2>>2]|0; + $80 = ($79|0)>=(66560); + $81 = HEAP32[$2>>2]|0; + $82 = ($81|0)<(66600); + $or$cond3 = $80 & $82; + if (!($or$cond3)) { + $85 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($85|0); } - $44 = ($41|0)!=(0|0); - if ($44) { - $45 = HEAP32[$p>>2]|0; - $46 = ((($45)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$pIndex>>2]|0; - $49 = ($47|0)==($48|0); - if ($49) { - $50 = HEAP32[$pIndex>>2]|0; - $51 = ((($50)) + 20|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$p>>2]|0; - $54 = ((($53)) + 20|0); - HEAP32[$54>>2] = $52; - } + $83 = HEAP32[$2>>2]|0; + $84 = (($83) + 40)|0; + HEAP32[$4>>2] = $84; + $85 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($85|0); + } + HEAP32[$6>>2] = 162; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = -1; + while(1) { + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21|0)>=($22|0); + if (!($23)) { + break; + } + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$7>>2]|0; + $26 = (($24) + ($25))|0; + $27 = (($26|0) / 2)&-1; + HEAP32[$9>>2] = $27; + $28 = HEAP32[$2>>2]|0; + $29 = HEAP32[$9>>2]|0; + $30 = (17876 + ($29<<2)|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + $33 = (($28) - ($32))|0; + HEAP32[$10>>2] = $33; + $34 = HEAP32[$10>>2]|0; + $35 = ($34|0)>=(0); + $36 = HEAP32[$9>>2]|0; + if ($35) { + HEAP32[$8>>2] = $36; + $37 = HEAP32[$9>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$7>>2] = $38; + continue; + } else { + $39 = (($36) - 1)|0; + HEAP32[$6>>2] = $39; + continue; } } - $55 = HEAP32[$0>>2]|0; - $56 = HEAP32[$pIndex>>2]|0; - _freeIndex($55,$56); - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 24|0); - $59 = HEAP32[$58>>2]|0; - $60 = $59 | 2; - HEAP32[$58>>2] = $60; - STACKTOP = sp;return; + $40 = HEAP32[$8>>2]|0; + $41 = (17876 + ($40<<2)|0); + HEAP32[$5>>2] = $41; + $42 = HEAP32[$2>>2]|0; + $43 = HEAP32[$5>>2]|0; + $44 = HEAP16[$43>>1]|0; + $45 = $44&65535; + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 3|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = (($45) + ($49))|0; + $51 = ($42|0)<($50|0); + if ($51) { + $52 = HEAP32[$5>>2]|0; + $53 = ((($52)) + 2|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = 1 & $55; + $57 = HEAP32[$5>>2]|0; + $58 = HEAP16[$57>>1]|0; + $59 = $58&65535; + $60 = HEAP32[$2>>2]|0; + $61 = $59 ^ $60; + $62 = $56 & $61; + $63 = (0)==($62|0); + if ($63) { + $64 = HEAP32[$2>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = ((($65)) + 2|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $68 >> 1; + $70 = (18528 + ($69<<1)|0); + $71 = HEAP16[$70>>1]|0; + $72 = $71&65535; + $73 = (($64) + ($72))|0; + $74 = $73 & 65535; + HEAP32[$4>>2] = $74; + } + } + $75 = HEAP32[$3>>2]|0; + $76 = ($75|0)!=(0); + if (!($76)) { + $85 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($85|0); + } + $77 = HEAP32[$4>>2]|0; + $78 = (_fts5_remove_diacritic($77)|0); + HEAP32[$4>>2] = $78; + $85 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($85|0); } -function _sqlite3UnlinkAndDeleteTrigger($db,$iDb,$zName) { - $db = $db|0; - $iDb = $iDb|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $pHash = 0, $pTab = 0, $pTrigger = 0, $pp = 0, label = 0, sp = 0; +function _fts5_remove_diacritic($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; + STACKTOP = STACKTOP + 336|0; $1 = sp + 20|0; - $2 = sp + 16|0; - $pTrigger = sp + 12|0; - $pHash = sp + 8|0; - $pTab = sp + 4|0; - $pp = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $iDb; - HEAP32[$2>>2] = $zName; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($3<<4)|0); - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 40|0); - HEAP32[$pHash>>2] = $10; - $11 = HEAP32[$pHash>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = (_sqlite3HashInsert($11,$12,0)|0); - HEAP32[$pTrigger>>2] = $13; - $14 = HEAP32[$pTrigger>>2]|0; - $15 = ($14|0)!=(0|0); - if (!($15)) { - STACKTOP = sp;return; + $2 = sp + 24|0; + $3 = sp + 226|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$1>>2] = $0; + _memcpy(($2|0),(18682|0),202)|0; + dest=$3; src=48822; stop=dest+101|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $9 = HEAP32[$1>>2]|0; + $10 = $9 << 3; + $11 = $10 | 7; + HEAP32[$4>>2] = $11; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 100; + HEAP32[$7>>2] = 0; + while(1) { + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = ($12|0)>=($13|0); + if (!($14)) { + break; + } + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = (($15) + ($16))|0; + $18 = (($17|0) / 2)&-1; + HEAP32[$8>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$8>>2]|0; + $21 = (($2) + ($20<<1)|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = ($19>>>0)>=($23>>>0); + $25 = HEAP32[$8>>2]|0; + if ($24) { + HEAP32[$5>>2] = $25; + $26 = HEAP32[$8>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$7>>2] = $27; + continue; + } else { + $28 = (($25) - 1)|0; + HEAP32[$6>>2] = $28; + continue; + } } - $16 = HEAP32[$pTrigger>>2]|0; - $17 = ((($16)) + 20|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$pTrigger>>2]|0; - $20 = ((($19)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($18|0)==($21|0); - if ($22) { - $23 = HEAP32[$pTrigger>>2]|0; - $24 = (_tableOfTrigger($23)|0); - HEAP32[$pTab>>2] = $24; - $25 = HEAP32[$pTab>>2]|0; - $26 = ((($25)) + 60|0); - HEAP32[$pp>>2] = $26; - while(1) { - $27 = HEAP32[$pp>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$pTrigger>>2]|0; - $30 = ($28|0)!=($29|0); - $31 = HEAP32[$pp>>2]|0; - $32 = HEAP32[$31>>2]|0; - $33 = ((($32)) + 32|0); - if (!($30)) { - break; - } - HEAP32[$pp>>2] = $33; + $29 = HEAP32[$1>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = (($2) + ($30<<1)|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32&65535; + $34 = $33 >> 3; + $35 = HEAP32[$5>>2]|0; + $36 = (($2) + ($35<<1)|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37&65535; + $39 = $38 & 7; + $40 = (($34) + ($39))|0; + $41 = ($29|0)>($40|0); + if ($41) { + $42 = HEAP32[$1>>2]|0; + $47 = $42; + STACKTOP = sp;return ($47|0); + } else { + $43 = HEAP32[$5>>2]|0; + $44 = (($3) + ($43)|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45 << 24 >> 24; + $47 = $46; + STACKTOP = sp;return ($47|0); + } + return (0)|0; +} +function _sqlite3Fts5UnicodeIsalnum($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + $8 = HEAP32[$2>>2]|0; + $9 = ($8>>>0)<(128); + $10 = HEAP32[$2>>2]|0; + if ($9) { + $11 = $10 >> 5; + $12 = (8820 + ($11<<2)|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = $14 & 31; + $16 = 1 << $15; + $17 = $13 & $16; + $18 = ($17|0)==(0); + $19 = $18&1; + HEAP32[$1>>2] = $19; + $52 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($52|0); + } + $20 = ($10>>>0)<(4194304); + if (!($20)) { + HEAP32[$1>>2] = 1; + $52 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($52|0); + } + $21 = HEAP32[$2>>2]|0; + $22 = $21 << 10; + $23 = $22 | 1023; + HEAP32[$3>>2] = $23; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 405; + HEAP32[$6>>2] = 0; + while(1) { + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$6>>2]|0; + $26 = ($24|0)>=($25|0); + if (!($26)) { + break; } + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = (($27) + ($28))|0; + $30 = (($29|0) / 2)&-1; + HEAP32[$7>>2] = $30; + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$7>>2]|0; + $33 = (8836 + ($32<<2)|0); $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$pp>>2]|0; - HEAP32[$35>>2] = $34; + $35 = ($31>>>0)>=($34>>>0); + $36 = HEAP32[$7>>2]|0; + if ($35) { + HEAP32[$4>>2] = $36; + $37 = HEAP32[$7>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$6>>2] = $38; + continue; + } else { + $39 = (($36) - 1)|0; + HEAP32[$5>>2] = $39; + continue; + } } - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$pTrigger>>2]|0; - _sqlite3DeleteTrigger($36,$37); - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 24|0); - $40 = HEAP32[$39>>2]|0; - $41 = $40 | 2; - HEAP32[$39>>2] = $41; - STACKTOP = sp;return; + $40 = HEAP32[$2>>2]|0; + $41 = HEAP32[$4>>2]|0; + $42 = (8836 + ($41<<2)|0); + $43 = HEAP32[$42>>2]|0; + $44 = $43 >>> 10; + $45 = HEAP32[$4>>2]|0; + $46 = (8836 + ($45<<2)|0); + $47 = HEAP32[$46>>2]|0; + $48 = $47 & 1023; + $49 = (($44) + ($48))|0; + $50 = ($40>>>0)>=($49>>>0); + $51 = $50&1; + HEAP32[$1>>2] = $51; + $52 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($52|0); } -function _sqlite3BtreeIntegrityCheck($p,$aRoot,$nRoot,$mxErr,$pnErr) { - $p = $p|0; - $aRoot = $aRoot|0; - $nRoot = $nRoot|0; - $mxErr = $mxErr|0; - $pnErr = $pnErr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $i = 0, $notUsed = 0, $pBt = 0, $sCheck = 0, $savedDbFlags = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $zErr = 0, label = 0, sp = 0; +function _fts5UnicodeIsException($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $vararg_buffer1 = sp + 16|0; - $vararg_buffer = sp + 8|0; - $0 = sp + 124|0; - $1 = sp + 120|0; - $2 = sp + 116|0; - $3 = sp + 112|0; - $4 = sp + 108|0; - $i = sp + 104|0; - $sCheck = sp + 32|0; - $pBt = sp + 24|0; - $savedDbFlags = sp + 20|0; - $zErr = sp + 128|0; - $notUsed = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $aRoot; - HEAP32[$2>>2] = $nRoot; - HEAP32[$3>>2] = $mxErr; - HEAP32[$4>>2] = $pnErr; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pBt>>2] = $7; - $8 = HEAP32[$pBt>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 24|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$savedDbFlags>>2] = $12; - $13 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($13); - $14 = HEAP32[$pBt>>2]|0; - HEAP32[$sCheck>>2] = $14; - $15 = HEAP32[$pBt>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = ((($sCheck)) + 4|0); - HEAP32[$17>>2] = $16; - $18 = HEAP32[$sCheck>>2]|0; - $19 = (_btreePagecount($18)|0); - $20 = ((($sCheck)) + 12|0); - HEAP32[$20>>2] = $19; - $21 = HEAP32[$3>>2]|0; - $22 = ((($sCheck)) + 16|0); - HEAP32[$22>>2] = $21; - $23 = ((($sCheck)) + 20|0); - HEAP32[$23>>2] = 0; - $24 = ((($sCheck)) + 24|0); - HEAP32[$24>>2] = 0; - $25 = ((($sCheck)) + 28|0); - HEAP32[$25>>2] = 0; - $26 = ((($sCheck)) + 32|0); - HEAP32[$26>>2] = 0; - $27 = ((($sCheck)) + 36|0); - HEAP32[$27>>2] = 0; - $28 = ((($sCheck)) + 8|0); - HEAP32[$28>>2] = 0; - $29 = ((($sCheck)) + 68|0); - HEAP32[$29>>2] = 0; - $30 = ((($sCheck)) + 40|0); - _sqlite3StrAccumInit($30,0,$zErr,100,1000000000); - $31 = ((($sCheck)) + 40|0); - $32 = ((($31)) + 25|0); - HEAP8[$32>>0] = 1; - $33 = ((($sCheck)) + 12|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 140|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)>(0); L1: do { - if (!($35)) { - $36 = ((($sCheck)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37>>>0) / 8)&-1; - $39 = (($38) + 1)|0; - $40 = (_sqlite3MallocZero($39,0)|0); - $41 = ((($sCheck)) + 8|0); - HEAP32[$41>>2] = $40; - $42 = ((($sCheck)) + 8|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)!=(0|0); - if (!($44)) { - $45 = ((($sCheck)) + 24|0); - HEAP32[$45>>2] = 1; + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 144|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$5>>2] = $15; + HEAP32[$6>>2] = 0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 140|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) - 1)|0; + HEAP32[$7>>2] = $19; + while(1) { + $20 = HEAP32[$7>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = ($20|0)>=($21|0); + if (!($22)) { + break L1; + } + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = (($23) + ($24))|0; + $26 = (($25|0) / 2)&-1; + HEAP32[$8>>2] = $26; + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$8>>2]|0; + $30 = (($28) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($27|0)==($31|0); + if ($32) { + break; + } + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$8>>2]|0; + $36 = (($34) + ($35<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)>($37|0); + $39 = HEAP32[$8>>2]|0; + if ($38) { + $40 = (($39) + 1)|0; + HEAP32[$6>>2] = $40; + continue; + } else { + $41 = (($39) - 1)|0; + HEAP32[$7>>2] = $41; + continue; + } + } + HEAP32[$2>>2] = 1; + $42 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($42|0); + } + } while(0); + HEAP32[$2>>2] = 0; + $42 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($42|0); +} +function _fts5UnicodeAddExceptions($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $15 = HEAP32[$4>>2]|0; + $16 = (_strlen($15)|0); + HEAP32[$7>>2] = $16; + $17 = HEAP32[$7>>2]|0; + $18 = ($17|0)>(0); + if (!($18)) { + $124 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($124|0); + } + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 144|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 140|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($22) + ($25))|0; + $27 = $26<<2; + $28 = (_sqlite3_realloc($21,$27)|0); + HEAP32[$8>>2] = $28; + $29 = HEAP32[$8>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { + HEAP32[$6>>2] = 7; + $124 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($124|0); + } + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 140|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$9>>2] = $33; + $34 = HEAP32[$4>>2]|0; + HEAP32[$10>>2] = $34; + $35 = HEAP32[$4>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = (($35) + ($36)|0); + HEAP32[$11>>2] = $37; + while(1) { + $38 = HEAP32[$10>>2]|0; + $39 = HEAP32[$11>>2]|0; + $40 = ($38>>>0)<($39>>>0); + if (!($40)) { + break; + } + $41 = HEAP32[$10>>2]|0; + $42 = ((($41)) + 1|0); + HEAP32[$10>>2] = $42; + $43 = HEAP8[$41>>0]|0; + $44 = $43&255; + HEAP32[$12>>2] = $44; + $45 = HEAP32[$12>>2]|0; + $46 = ($45|0)>=(192); + do { + if ($46) { + $47 = HEAP32[$12>>2]|0; + $48 = (($47) - 192)|0; + $49 = (22127 + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + HEAP32[$12>>2] = $51; + while(1) { + $52 = HEAP32[$10>>2]|0; + $53 = HEAP32[$11>>2]|0; + $54 = ($52|0)!=($53|0); + if ($54) { + $55 = HEAP32[$10>>2]|0; + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $57 & 192; + $59 = ($58|0)==(128); + $125 = $59; + } else { + $125 = 0; + } + $60 = HEAP32[$12>>2]|0; + if (!($125)) { + break; + } + $61 = $60 << 6; + $62 = HEAP32[$10>>2]|0; + $63 = ((($62)) + 1|0); + HEAP32[$10>>2] = $63; + $64 = HEAP8[$62>>0]|0; + $65 = $64&255; + $66 = 63 & $65; + $67 = (($61) + ($66))|0; + HEAP32[$12>>2] = $67; + } + $68 = ($60|0)<(128); + if (!($68)) { + $69 = HEAP32[$12>>2]|0; + $70 = $69 & -2048; + $71 = ($70|0)==(55296); + if (!($71)) { + $72 = HEAP32[$12>>2]|0; + $73 = $72 & -2; + $74 = ($73|0)==(65534); + if (!($74)) { + break; + } + } + } + HEAP32[$12>>2] = 65533; + } + } while(0); + $75 = HEAP32[$12>>2]|0; + $76 = ($75|0)<(128); + if ($76) { + $77 = HEAP32[$5>>2]|0; + $78 = $77&255; + $79 = HEAP32[$3>>2]|0; + $80 = HEAP32[$12>>2]|0; + $81 = (($79) + ($80)|0); + HEAP8[$81>>0] = $78; + continue; + } + $82 = HEAP32[$12>>2]|0; + $83 = (_sqlite3Fts5UnicodeIsalnum($82)|0); + HEAP32[$13>>2] = $83; + $84 = HEAP32[$13>>2]|0; + $85 = HEAP32[$5>>2]|0; + $86 = ($84|0)!=($85|0); + if (!($86)) { + continue; + } + $87 = HEAP32[$12>>2]|0; + $88 = (_sqlite3Fts5UnicodeIsdiacritic($87)|0); + $89 = ($88|0)==(0); + if (!($89)) { + continue; + } + HEAP32[$14>>2] = 0; + while(1) { + $90 = HEAP32[$14>>2]|0; + $91 = HEAP32[$9>>2]|0; + $92 = ($90|0)<($91|0); + if (!($92)) { break; } - $46 = HEAP32[$pBt>>2]|0; - $47 = ((($46)) + 32|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_sqlite3PageMalloc($48)|0); - $50 = ((($sCheck)) + 68|0); - HEAP32[$50>>2] = $49; - $51 = ((($sCheck)) + 68|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)==(0|0); - if ($53) { - $54 = ((($sCheck)) + 24|0); - HEAP32[$54>>2] = 1; + $93 = HEAP32[$8>>2]|0; + $94 = HEAP32[$14>>2]|0; + $95 = (($93) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$12>>2]|0; + $98 = ($96|0)>($97|0); + if ($98) { break; } - $55 = HEAP32[1536>>2]|0; - $56 = HEAP32[$pBt>>2]|0; - $57 = ((($56)) + 32|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($55>>>0) / ($58>>>0))&-1; - $60 = (($59) + 1)|0; - HEAP32[$i>>2] = $60; - $61 = HEAP32[$i>>2]|0; - $62 = ((($sCheck)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($61>>>0)<=($63>>>0); - if ($64) { - $65 = HEAP32[$i>>2]|0; - _setPageReferenced($sCheck,$65); + $99 = HEAP32[$14>>2]|0; + $100 = (($99) + 1)|0; + HEAP32[$14>>2] = $100; + } + $101 = HEAP32[$8>>2]|0; + $102 = HEAP32[$14>>2]|0; + $103 = (($102) + 1)|0; + $104 = (($101) + ($103<<2)|0); + $105 = HEAP32[$8>>2]|0; + $106 = HEAP32[$14>>2]|0; + $107 = (($105) + ($106<<2)|0); + $108 = HEAP32[$9>>2]|0; + $109 = HEAP32[$14>>2]|0; + $110 = (($108) - ($109))|0; + $111 = $110<<2; + _memmove(($104|0),($107|0),($111|0))|0; + $112 = HEAP32[$12>>2]|0; + $113 = HEAP32[$8>>2]|0; + $114 = HEAP32[$14>>2]|0; + $115 = (($113) + ($114<<2)|0); + HEAP32[$115>>2] = $112; + $116 = HEAP32[$9>>2]|0; + $117 = (($116) + 1)|0; + HEAP32[$9>>2] = $117; + } + $118 = HEAP32[$8>>2]|0; + $119 = HEAP32[$3>>2]|0; + $120 = ((($119)) + 144|0); + HEAP32[$120>>2] = $118; + $121 = HEAP32[$9>>2]|0; + $122 = HEAP32[$3>>2]|0; + $123 = ((($122)) + 140|0); + HEAP32[$123>>2] = $121; + $124 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($124|0); +} +function _fts5SnippetFunction($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208|0; + $5 = sp + 192|0; + $6 = sp + 188|0; + $7 = sp + 184|0; + $8 = sp + 180|0; + $9 = sp + 176|0; + $10 = sp + 112|0; + $11 = sp + 108|0; + $12 = sp + 104|0; + $13 = sp + 100|0; + $14 = sp + 96|0; + $15 = sp + 92|0; + $16 = sp + 88|0; + $17 = sp + 84|0; + $18 = sp + 80|0; + $19 = sp + 76|0; + $20 = sp + 72|0; + $21 = sp + 68|0; + $22 = sp + 64|0; + $23 = sp + 44|0; + $24 = sp + 40|0; + $25 = sp + 36|0; + $26 = sp + 32|0; + $27 = sp + 28|0; + $28 = sp + 24|0; + $29 = sp + 20|0; + $30 = sp + 16|0; + $31 = sp + 12|0; + $32 = sp + 8|0; + $33 = sp + 4|0; + $34 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$11>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$20>>2] = 0; + HEAP32[$21>>2] = 0; + HEAP32[$22>>2] = 0; + $35 = HEAP32[$8>>2]|0; + $36 = ($35|0)!=(5); + if ($36) { + HEAP32[$25>>2] = 45572; + $37 = HEAP32[$7>>2]|0; + $38 = HEAP32[$25>>2]|0; + _sqlite3_result_error($37,$38,-1); + STACKTOP = sp;return; + } + $39 = HEAP32[$5>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = (FUNCTION_TABLE_ii[$41 & 255]($42)|0); + HEAP32[$24>>2] = $43; + dest=$10; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $44 = HEAP32[$9>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = (_sqlite3_value_int($45)|0); + HEAP32[$12>>2] = $46; + $47 = HEAP32[$9>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = (_sqlite3_value_text($49)|0); + $51 = ((($10)) + 40|0); + HEAP32[$51>>2] = $50; + $52 = HEAP32[$9>>2]|0; + $53 = ((($52)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3_value_text($54)|0); + $56 = ((($10)) + 44|0); + HEAP32[$56>>2] = $55; + $57 = HEAP32[$9>>2]|0; + $58 = ((($57)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3_value_text($59)|0); + HEAP32[$13>>2] = $60; + $61 = HEAP32[$9>>2]|0; + $62 = ((($61)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = (_sqlite3_value_int($63)|0); + HEAP32[$14>>2] = $64; + $65 = HEAP32[$12>>2]|0; + $66 = ($65|0)>=(0); + $67 = HEAP32[$12>>2]|0; + $68 = $66 ? $67 : 0; + HEAP32[$19>>2] = $68; + $69 = HEAP32[$5>>2]|0; + $70 = ((($69)) + 24|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$6>>2]|0; + $73 = (FUNCTION_TABLE_ii[$71 & 255]($72)|0); + HEAP32[$17>>2] = $73; + $74 = HEAP32[$17>>2]|0; + $75 = (_sqlite3_malloc($74)|0); + HEAP32[$18>>2] = $75; + $76 = HEAP32[$18>>2]|0; + $77 = ($76|0)==(0|0); + if ($77) { + HEAP32[$11>>2] = 7; + } + $78 = HEAP32[$11>>2]|0; + $79 = ($78|0)==(0); + if ($79) { + $80 = HEAP32[$5>>2]|0; + $81 = ((($80)) + 32|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$6>>2]|0; + $84 = (FUNCTION_TABLE_iii[$82 & 255]($83,$15)|0); + HEAP32[$11>>2] = $84; + } + ;HEAP32[$23>>2]=0|0;HEAP32[$23+4>>2]=0|0;HEAP32[$23+8>>2]=0|0;HEAP32[$23+12>>2]=0|0;HEAP32[$23+16>>2]=0|0; + HEAP32[$16>>2] = 0; + L11: while(1) { + $85 = HEAP32[$16>>2]|0; + $86 = HEAP32[$24>>2]|0; + $87 = ($85|0)<($86|0); + if (!($87)) { + break; + } + $88 = HEAP32[$12>>2]|0; + $89 = ($88|0)<(0); + if ($89) { + label = 11; + } else { + $90 = HEAP32[$12>>2]|0; + $91 = HEAP32[$16>>2]|0; + $92 = ($90|0)==($91|0); + if ($92) { + label = 11; } - $66 = ((($sCheck)) + 28|0); - HEAP32[$66>>2] = 41095; - $67 = HEAP32[$pBt>>2]|0; - $68 = ((($67)) + 12|0); - $69 = HEAP32[$68>>2]|0; - $70 = ((($69)) + 56|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 32|0); - $73 = (_sqlite3Get4byte($72)|0); - $74 = HEAP32[$pBt>>2]|0; - $75 = ((($74)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = ((($76)) + 56|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($78)) + 36|0); - $80 = (_sqlite3Get4byte($79)|0); - _checkList($sCheck,1,$73,$80); - $81 = ((($sCheck)) + 28|0); - HEAP32[$81>>2] = 0; - $82 = HEAP32[$pBt>>2]|0; - $83 = ((($82)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = ((($84)) + 24|0); - $86 = HEAP32[$85>>2]|0; - $87 = $86 & -536870913; - HEAP32[$85>>2] = $87; - HEAP32[$i>>2] = 0; - while(1) { - $88 = HEAP32[$i>>2]|0; - $89 = HEAP32[$2>>2]|0; - $90 = ($88|0)<($89|0); - $91 = ((($sCheck)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)!=(0); - $94 = $90 ? $93 : 0; - if (!($94)) { - break; + } + L16: do { + if ((label|0) == 11) { + label = 0; + HEAP32[$23>>2] = 0; + $93 = ((($23)) + 8|0); + HEAP32[$93>>2] = 0; + $94 = HEAP32[$5>>2]|0; + $95 = ((($94)) + 44|0); + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$6>>2]|0; + $98 = HEAP32[$16>>2]|0; + $99 = ((($23)) + 16|0); + $100 = (FUNCTION_TABLE_iiiii[$96 & 255]($97,$98,$99,$26)|0); + HEAP32[$11>>2] = $100; + $101 = HEAP32[$11>>2]|0; + $102 = ($101|0)!=(0); + if ($102) { + break L11; } - $95 = HEAP32[$i>>2]|0; - $96 = HEAP32[$1>>2]|0; - $97 = (($96) + ($95<<2)|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0); - if (!($99)) { - $100 = HEAP32[$pBt>>2]|0; - $101 = ((($100)) + 17|0); - $102 = HEAP8[$101>>0]|0; - $103 = $102&255; - $104 = ($103|0)!=(0); - if ($104) { - $105 = HEAP32[$i>>2]|0; - $106 = HEAP32[$1>>2]|0; - $107 = (($106) + ($105<<2)|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)>(1); - if ($109) { - $110 = HEAP32[$i>>2]|0; - $111 = HEAP32[$1>>2]|0; - $112 = (($111) + ($110<<2)|0); - $113 = HEAP32[$112>>2]|0; - _checkPtrmap($sCheck,$113,1,0); - } + $103 = HEAP32[$5>>2]|0; + $104 = ((($103)) + 20|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$6>>2]|0; + $107 = ((($23)) + 16|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$26>>2]|0; + $110 = (FUNCTION_TABLE_iiiiii[$105 & 255]($106,$108,$109,$23,149)|0); + HEAP32[$11>>2] = $110; + $111 = HEAP32[$11>>2]|0; + $112 = ($111|0)!=(0); + if ($112) { + break L11; + } + $113 = HEAP32[$5>>2]|0; + $114 = ((($113)) + 48|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$6>>2]|0; + $117 = HEAP32[$16>>2]|0; + $118 = (FUNCTION_TABLE_iiii[$115 & 255]($116,$117,$27)|0); + HEAP32[$11>>2] = $118; + $119 = HEAP32[$11>>2]|0; + $120 = ($119|0)!=(0); + if ($120) { + break L11; + } + HEAP32[$28>>2] = 0; + while(1) { + $121 = HEAP32[$11>>2]|0; + $122 = ($121|0)==(0); + if (!($122)) { + break L16; } - $114 = HEAP32[$i>>2]|0; - $115 = HEAP32[$1>>2]|0; - $116 = (($115) + ($114<<2)|0); - $117 = HEAP32[$116>>2]|0; - (_checkTreePage($sCheck,$117,$notUsed,-1,2147483647)|0); + $123 = HEAP32[$28>>2]|0; + $124 = HEAP32[$15>>2]|0; + $125 = ($123|0)<($124|0); + if (!($125)) { + break L16; + } + $126 = HEAP32[$5>>2]|0; + $127 = ((($126)) + 36|0); + $128 = HEAP32[$127>>2]|0; + $129 = HEAP32[$6>>2]|0; + $130 = HEAP32[$28>>2]|0; + $131 = (FUNCTION_TABLE_iiiiii[$128 & 255]($129,$130,$29,$30,$31)|0); + HEAP32[$11>>2] = $131; + $132 = HEAP32[$30>>2]|0; + $133 = HEAP32[$16>>2]|0; + $134 = ($132|0)!=($133|0); + $135 = HEAP32[$11>>2]|0; + $136 = ($135|0)!=(0); + $or$cond = $134 | $136; + do { + if (!($or$cond)) { + $137 = HEAP32[$18>>2]|0; + $138 = HEAP32[$17>>2]|0; + _memset(($137|0),0,($138|0))|0; + $139 = HEAP32[$5>>2]|0; + $140 = HEAP32[$6>>2]|0; + $141 = HEAP32[$27>>2]|0; + $142 = HEAP32[$18>>2]|0; + $143 = HEAP32[$16>>2]|0; + $144 = HEAP32[$31>>2]|0; + $145 = HEAP32[$14>>2]|0; + $146 = (_fts5SnippetScore($139,$140,$141,$142,$143,$144,$145,$33,$32)|0); + HEAP32[$11>>2] = $146; + $147 = HEAP32[$11>>2]|0; + $148 = ($147|0)==(0); + if ($148) { + $149 = HEAP32[$33>>2]|0; + $150 = HEAP32[$21>>2]|0; + $151 = ($149|0)>($150|0); + if ($151) { + $152 = HEAP32[$33>>2]|0; + HEAP32[$21>>2] = $152; + $153 = HEAP32[$16>>2]|0; + HEAP32[$19>>2] = $153; + $154 = HEAP32[$32>>2]|0; + HEAP32[$20>>2] = $154; + $155 = HEAP32[$27>>2]|0; + HEAP32[$22>>2] = $155; + } + } + $156 = HEAP32[$11>>2]|0; + $157 = ($156|0)==(0); + if ($157) { + $158 = ((($23)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)!=(0); + if ($160) { + $161 = HEAP32[$27>>2]|0; + $162 = HEAP32[$14>>2]|0; + $163 = ($161|0)>($162|0); + if ($163) { + HEAP32[$34>>2] = 0; + while(1) { + $164 = HEAP32[$34>>2]|0; + $165 = ((($23)) + 8|0); + $166 = HEAP32[$165>>2]|0; + $167 = (($166) - 1)|0; + $168 = ($164|0)<($167|0); + if (!($168)) { + break; + } + $169 = ((($23)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = HEAP32[$34>>2]|0; + $172 = (($171) + 1)|0; + $173 = (($170) + ($172<<2)|0); + $174 = HEAP32[$173>>2]|0; + $175 = HEAP32[$31>>2]|0; + $176 = ($174|0)>($175|0); + if ($176) { + break; + } + $177 = HEAP32[$34>>2]|0; + $178 = (($177) + 1)|0; + HEAP32[$34>>2] = $178; + } + $179 = ((($23)) + 12|0); + $180 = HEAP32[$179>>2]|0; + $181 = HEAP32[$34>>2]|0; + $182 = (($180) + ($181<<2)|0); + $183 = HEAP32[$182>>2]|0; + $184 = HEAP32[$31>>2]|0; + $185 = ($183|0)<($184|0); + if ($185) { + $186 = HEAP32[$18>>2]|0; + $187 = HEAP32[$17>>2]|0; + _memset(($186|0),0,($187|0))|0; + $188 = HEAP32[$5>>2]|0; + $189 = HEAP32[$6>>2]|0; + $190 = HEAP32[$27>>2]|0; + $191 = HEAP32[$18>>2]|0; + $192 = HEAP32[$16>>2]|0; + $193 = ((($23)) + 12|0); + $194 = HEAP32[$193>>2]|0; + $195 = HEAP32[$34>>2]|0; + $196 = (($194) + ($195<<2)|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$14>>2]|0; + $199 = (_fts5SnippetScore($188,$189,$190,$191,$192,$197,$198,$33,0)|0); + HEAP32[$11>>2] = $199; + $200 = ((($23)) + 12|0); + $201 = HEAP32[$200>>2]|0; + $202 = HEAP32[$34>>2]|0; + $203 = (($201) + ($202<<2)|0); + $204 = HEAP32[$203>>2]|0; + $205 = ($204|0)==(0); + $206 = $205 ? 120 : 100; + $207 = HEAP32[$33>>2]|0; + $208 = (($207) + ($206))|0; + HEAP32[$33>>2] = $208; + $209 = HEAP32[$11>>2]|0; + $210 = ($209|0)==(0); + if (!($210)) { + break; + } + $211 = HEAP32[$33>>2]|0; + $212 = HEAP32[$21>>2]|0; + $213 = ($211|0)>($212|0); + if (!($213)) { + break; + } + $214 = HEAP32[$33>>2]|0; + HEAP32[$21>>2] = $214; + $215 = HEAP32[$16>>2]|0; + HEAP32[$19>>2] = $215; + $216 = ((($23)) + 12|0); + $217 = HEAP32[$216>>2]|0; + $218 = HEAP32[$34>>2]|0; + $219 = (($217) + ($218<<2)|0); + $220 = HEAP32[$219>>2]|0; + HEAP32[$20>>2] = $220; + $221 = HEAP32[$27>>2]|0; + HEAP32[$22>>2] = $221; + } + } + } + } + } + } while(0); + $222 = HEAP32[$28>>2]|0; + $223 = (($222) + 1)|0; + HEAP32[$28>>2] = $223; } - $118 = HEAP32[$i>>2]|0; - $119 = (($118) + 1)|0; - HEAP32[$i>>2] = $119; } - $120 = HEAP32[$savedDbFlags>>2]|0; - $121 = HEAP32[$pBt>>2]|0; - $122 = ((($121)) + 4|0); - $123 = HEAP32[$122>>2]|0; - $124 = ((($123)) + 24|0); - HEAP32[$124>>2] = $120; - HEAP32[$i>>2] = 1; + } while(0); + $224 = HEAP32[$16>>2]|0; + $225 = (($224) + 1)|0; + HEAP32[$16>>2] = $225; + } + $226 = HEAP32[$11>>2]|0; + $227 = ($226|0)==(0); + if ($227) { + $228 = HEAP32[$5>>2]|0; + $229 = ((($228)) + 44|0); + $230 = HEAP32[$229>>2]|0; + $231 = HEAP32[$6>>2]|0; + $232 = HEAP32[$19>>2]|0; + $233 = ((($10)) + 48|0); + $234 = ((($10)) + 52|0); + $235 = (FUNCTION_TABLE_iiiii[$230 & 255]($231,$232,$233,$234)|0); + HEAP32[$11>>2] = $235; + } + $236 = HEAP32[$11>>2]|0; + $237 = ($236|0)==(0); + $238 = HEAP32[$22>>2]|0; + $239 = ($238|0)==(0); + $or$cond3 = $237 & $239; + if ($or$cond3) { + $240 = HEAP32[$5>>2]|0; + $241 = ((($240)) + 48|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[$6>>2]|0; + $244 = HEAP32[$19>>2]|0; + $245 = (FUNCTION_TABLE_iiii[$242 & 255]($243,$244,$22)|0); + HEAP32[$11>>2] = $245; + } + $246 = ((($10)) + 48|0); + $247 = HEAP32[$246>>2]|0; + $248 = ($247|0)!=(0|0); + do { + if ($248) { + $249 = HEAP32[$11>>2]|0; + $250 = ($249|0)==(0); + if ($250) { + $251 = HEAP32[$5>>2]|0; + $252 = HEAP32[$6>>2]|0; + $253 = HEAP32[$19>>2]|0; + $254 = (_fts5CInstIterInit($251,$252,$253,$10)|0); + HEAP32[$11>>2] = $254; + } + $255 = HEAP32[$20>>2]|0; + $256 = ((($10)) + 32|0); + HEAP32[$256>>2] = $255; + $257 = HEAP32[$20>>2]|0; + $258 = HEAP32[$14>>2]|0; + $259 = (($257) + ($258))|0; + $260 = (($259) - 1)|0; + $261 = ((($10)) + 36|0); + HEAP32[$261>>2] = $260; + $262 = HEAP32[$20>>2]|0; + $263 = ($262|0)>(0); + if ($263) { + $264 = HEAP32[$13>>2]|0; + _fts5HighlightAppend($11,$10,$264,-1); + } while(1) { - $125 = HEAP32[$i>>2]|0; - $126 = ((($sCheck)) + 12|0); - $127 = HEAP32[$126>>2]|0; - $128 = ($125>>>0)<=($127>>>0); - $129 = ((($sCheck)) + 16|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($130|0)!=(0); - $132 = $128 ? $131 : 0; - if (!($132)) { - break L1; + $265 = ((($10)) + 20|0); + $266 = HEAP32[$265>>2]|0; + $267 = ($266|0)>=(0); + if (!($267)) { + break; } - $133 = HEAP32[$i>>2]|0; - $134 = (_getPageReferenced($sCheck,$133)|0); - $135 = ($134|0)==(0); - do { - if ($135) { - $136 = HEAP32[$pBt>>2]|0; - $137 = HEAP32[$i>>2]|0; - $138 = (_ptrmapPageno($136,$137)|0); - $139 = HEAP32[$i>>2]|0; - $140 = ($138|0)!=($139|0); - if (!($140)) { - $141 = HEAP32[$pBt>>2]|0; - $142 = ((($141)) + 17|0); - $143 = HEAP8[$142>>0]|0; - $144 = ($143<<24>>24)!=(0); - if ($144) { - break; - } - } - $145 = HEAP32[$i>>2]|0; - HEAP32[$vararg_buffer>>2] = $145; - _checkAppendMsg($sCheck,41111,$vararg_buffer); - } - } while(0); - $146 = HEAP32[$i>>2]|0; - $147 = (_getPageReferenced($sCheck,$146)|0); - $148 = ($147|0)!=(0); - if ($148) { - $149 = HEAP32[$pBt>>2]|0; - $150 = HEAP32[$i>>2]|0; - $151 = (_ptrmapPageno($149,$150)|0); - $152 = HEAP32[$i>>2]|0; - $153 = ($151|0)==($152|0); - if ($153) { - $154 = HEAP32[$pBt>>2]|0; - $155 = ((($154)) + 17|0); - $156 = HEAP8[$155>>0]|0; - $157 = $156&255; - $158 = ($157|0)!=(0); - if ($158) { - $159 = HEAP32[$i>>2]|0; - HEAP32[$vararg_buffer1>>2] = $159; - _checkAppendMsg($sCheck,41133,$vararg_buffer1); - } - } + $268 = ((($10)) + 20|0); + $269 = HEAP32[$268>>2]|0; + $270 = HEAP32[$20>>2]|0; + $271 = ($269|0)<($270|0); + $272 = HEAP32[$11>>2]|0; + $273 = ($272|0)==(0); + $or$cond7 = $271 & $273; + if (!($or$cond7)) { + break; } - $160 = HEAP32[$i>>2]|0; - $161 = (($160) + 1)|0; - HEAP32[$i>>2] = $161; + $274 = (_fts5CInstIterNext($10)|0); + HEAP32[$11>>2] = $274; + } + $275 = HEAP32[$11>>2]|0; + $276 = ($275|0)==(0); + if ($276) { + $277 = HEAP32[$5>>2]|0; + $278 = ((($277)) + 20|0); + $279 = HEAP32[$278>>2]|0; + $280 = HEAP32[$6>>2]|0; + $281 = ((($10)) + 48|0); + $282 = HEAP32[$281>>2]|0; + $283 = ((($10)) + 52|0); + $284 = HEAP32[$283>>2]|0; + $285 = (FUNCTION_TABLE_iiiiii[$279 & 255]($280,$282,$284,$10,150)|0); + HEAP32[$11>>2] = $285; + } + $286 = ((($10)) + 36|0); + $287 = HEAP32[$286>>2]|0; + $288 = HEAP32[$22>>2]|0; + $289 = (($288) - 1)|0; + $290 = ($287|0)>=($289|0); + if ($290) { + $291 = ((($10)) + 48|0); + $292 = HEAP32[$291>>2]|0; + $293 = ((($10)) + 56|0); + $294 = HEAP32[$293>>2]|0; + $295 = (($292) + ($294)|0); + $296 = ((($10)) + 52|0); + $297 = HEAP32[$296>>2]|0; + $298 = ((($10)) + 56|0); + $299 = HEAP32[$298>>2]|0; + $300 = (($297) - ($299))|0; + _fts5HighlightAppend($11,$10,$295,$300); + break; + } else { + $301 = HEAP32[$13>>2]|0; + _fts5HighlightAppend($11,$10,$301,-1); + break; } } } while(0); - $162 = ((($sCheck)) + 68|0); - $163 = HEAP32[$162>>2]|0; - _sqlite3PageFree($163); - $164 = ((($sCheck)) + 8|0); - $165 = HEAP32[$164>>2]|0; - _sqlite3_free($165); - $166 = ((($sCheck)) + 24|0); - $167 = HEAP32[$166>>2]|0; - $168 = ($167|0)!=(0); - if ($168) { - $169 = ((($sCheck)) + 40|0); - _sqlite3StrAccumReset($169); - $170 = ((($sCheck)) + 20|0); - $171 = HEAP32[$170>>2]|0; - $172 = (($171) + 1)|0; - HEAP32[$170>>2] = $172; - } - $173 = ((($sCheck)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = HEAP32[$4>>2]|0; - HEAP32[$175>>2] = $174; - $176 = ((($sCheck)) + 20|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0); - if (!($178)) { - $180 = ((($sCheck)) + 40|0); - $181 = (_sqlite3StrAccumFinish($180)|0); - STACKTOP = sp;return ($181|0); - } - $179 = ((($sCheck)) + 40|0); - _sqlite3StrAccumReset($179); - $180 = ((($sCheck)) + 40|0); - $181 = (_sqlite3StrAccumFinish($180)|0); - STACKTOP = sp;return ($181|0); + $302 = HEAP32[$11>>2]|0; + $303 = ($302|0)==(0); + $304 = HEAP32[$7>>2]|0; + if ($303) { + $305 = ((($10)) + 60|0); + $306 = HEAP32[$305>>2]|0; + _sqlite3_result_text($304,$306,-1,(-1)); + } else { + $307 = HEAP32[$11>>2]|0; + _sqlite3_result_error_code($304,$307); + } + $308 = ((($10)) + 60|0); + $309 = HEAP32[$308>>2]|0; + _sqlite3_free($309); + $310 = HEAP32[$18>>2]|0; + _sqlite3_free($310); + $311 = ((($23)) + 12|0); + $312 = HEAP32[$311>>2]|0; + _sqlite3_free($312); + STACKTOP = sp;return; } -function _sqlite3VdbeMemSetRowSet($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, label = 0, sp = 0; +function _fts5HighlightFunction($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pMem; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 32|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$0>>2]|0; - _sqlite3VdbeMemRelease($4); - $5 = HEAP32[$db>>2]|0; - $6 = (_sqlite3DbMallocRawNN($5,64,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 20|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 69|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)!=(0); - if ($12) { - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 8|0); - HEAP16[$14>>1] = 1; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 24|0); - HEAP32[$16>>2] = 0; + STACKTOP = STACKTOP + 112|0; + $5 = sp + 96|0; + $6 = sp + 92|0; + $7 = sp + 88|0; + $8 = sp + 84|0; + $9 = sp + 80|0; + $10 = sp + 16|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $14 = HEAP32[$8>>2]|0; + $15 = ($14|0)!=(3); + if ($15) { + HEAP32[$13>>2] = 48956; + $16 = HEAP32[$7>>2]|0; + $17 = HEAP32[$13>>2]|0; + _sqlite3_result_error($16,$17,-1); STACKTOP = sp;return; - } else { - $17 = HEAP32[$db>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3DbMallocSize($17,$20)|0); - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 24|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$db>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 20|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 24|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3RowSetInit($24,$27,$30)|0); - $32 = HEAP32[$0>>2]|0; - HEAP32[$32>>2] = $31; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 8|0); - HEAP16[$34>>1] = 32; + } + $18 = HEAP32[$9>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_int($19)|0); + HEAP32[$12>>2] = $20; + dest=$10; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $21 = HEAP32[$9>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3_value_text($23)|0); + $25 = ((($10)) + 40|0); + HEAP32[$25>>2] = $24; + $26 = HEAP32[$9>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3_value_text($28)|0); + $30 = ((($10)) + 44|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 44|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$12>>2]|0; + $36 = ((($10)) + 48|0); + $37 = ((($10)) + 52|0); + $38 = (FUNCTION_TABLE_iiiii[$33 & 255]($34,$35,$36,$37)|0); + HEAP32[$11>>2] = $38; + $39 = ((($10)) + 48|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)!=(0|0); + if ($41) { + $42 = HEAP32[$11>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + $44 = HEAP32[$5>>2]|0; + $45 = HEAP32[$6>>2]|0; + $46 = HEAP32[$12>>2]|0; + $47 = (_fts5CInstIterInit($44,$45,$46,$10)|0); + HEAP32[$11>>2] = $47; + } + $48 = HEAP32[$11>>2]|0; + $49 = ($48|0)==(0); + if ($49) { + $50 = HEAP32[$5>>2]|0; + $51 = ((($50)) + 20|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$6>>2]|0; + $54 = ((($10)) + 48|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($10)) + 52|0); + $57 = HEAP32[$56>>2]|0; + $58 = (FUNCTION_TABLE_iiiiii[$52 & 255]($53,$55,$57,$10,150)|0); + HEAP32[$11>>2] = $58; + } + $59 = ((($10)) + 48|0); + $60 = HEAP32[$59>>2]|0; + $61 = ((($10)) + 56|0); + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + ($62)|0); + $64 = ((($10)) + 52|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($10)) + 56|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($65) - ($67))|0; + _fts5HighlightAppend($11,$10,$63,$68); + $69 = HEAP32[$11>>2]|0; + $70 = ($69|0)==(0); + if ($70) { + $71 = HEAP32[$7>>2]|0; + $72 = ((($10)) + 60|0); + $73 = HEAP32[$72>>2]|0; + _sqlite3_result_text($71,$73,-1,(-1)); + } + $74 = ((($10)) + 60|0); + $75 = HEAP32[$74>>2]|0; + _sqlite3_free($75); + } + $76 = HEAP32[$11>>2]|0; + $77 = ($76|0)!=(0); + if (!($77)) { STACKTOP = sp;return; } + $78 = HEAP32[$7>>2]|0; + $79 = HEAP32[$11>>2]|0; + _sqlite3_result_error_code($78,$79); + STACKTOP = sp;return; } -function _sqlite3RowSetInsert($p,$0,$1) { - $p = $p|0; +function _fts5Bm25Function($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pEntry = 0, $pLast = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0.0, $68 = 0.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.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.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp; - $pEntry = sp + 12|0; - $pLast = sp + 8|0; - HEAP32[$2>>2] = $p; - $4 = $3; - $5 = $4; + STACKTOP = STACKTOP + 96|0; + $5 = sp + 92|0; + $6 = sp + 88|0; + $7 = sp + 84|0; + $8 = sp + 80|0; + $9 = sp + 76|0; + $10 = sp + 32|0; + $11 = sp + 24|0; + $12 = sp + 72|0; + $13 = sp + 16|0; + $14 = sp + 68|0; + $15 = sp + 64|0; + $16 = sp + 60|0; + $17 = sp + 8|0; + $18 = sp + 56|0; + $19 = sp + 52|0; + $20 = sp + 48|0; + $21 = sp + 44|0; + $22 = sp; + $23 = sp + 40|0; HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = (_rowSetEntryAlloc($8)|0); - HEAP32[$pEntry>>2] = $9; - $10 = HEAP32[$pEntry>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - STACKTOP = sp;return; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAPF64[$10>>3] = 1.2; + HEAPF64[$11>>3] = 0.75; + HEAP32[$12>>2] = 0; + HEAPF64[$13>>3] = 0.0; + HEAP32[$16>>2] = 0; + HEAPF64[$17>>3] = 0.0; + HEAP32[$18>>2] = 0; + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$6>>2]|0; + $26 = (_fts5Bm25GetData($24,$25,$14)|0); + HEAP32[$12>>2] = $26; + $27 = HEAP32[$12>>2]|0; + $28 = ($27|0)==(0); + if ($28) { + $29 = HEAP32[$14>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$18>>2] = $31; + $32 = HEAP32[$18>>2]|0; + $33 = HEAP32[$14>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = $34<<3; + _memset(($32|0),0,($35|0))|0; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 32|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = (FUNCTION_TABLE_iii[$38 & 255]($39,$16)|0); + HEAP32[$12>>2] = $40; } - $12 = $3; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$pEntry>>2]|0; - $19 = $18; - $20 = $19; - HEAP32[$20>>2] = $14; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = HEAP32[$pEntry>>2]|0; - $24 = ((($23)) + 8|0); - HEAP32[$24>>2] = 0; - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 12|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pLast>>2] = $27; - $28 = HEAP32[$pLast>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = $3; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$pLast>>2]|0; - $37 = $36; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = ($35|0)<($42|0); - $44 = ($32>>>0)<=($39>>>0); - $45 = ($35|0)==($42|0); - $46 = $45 & $44; - $47 = $43 | $46; - if ($47) { - $48 = HEAP32[$2>>2]|0; - $49 = ((($48)) + 26|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = $51 & -2; - $53 = $52&65535; - HEAP16[$49>>1] = $53; + HEAP32[$15>>2] = 0; + while(1) { + $41 = HEAP32[$12>>2]|0; + $42 = ($41|0)==(0); + if (!($42)) { + break; } - $54 = HEAP32[$pEntry>>2]|0; - $55 = HEAP32[$pLast>>2]|0; - $56 = ((($55)) + 8|0); - HEAP32[$56>>2] = $54; - } else { - $57 = HEAP32[$pEntry>>2]|0; - $58 = HEAP32[$2>>2]|0; - $59 = ((($58)) + 8|0); - HEAP32[$59>>2] = $57; - } - $60 = HEAP32[$pEntry>>2]|0; - $61 = HEAP32[$2>>2]|0; - $62 = ((($61)) + 12|0); - HEAP32[$62>>2] = $60; - STACKTOP = sp;return; -} -function _sqlite3RowSetNext($p,$pRowid) { - $p = $p|0; - $pRowid = $pRowid|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pRowid; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 26|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 2; - $8 = ($7|0)==(0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 26|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = $12 & 1; - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_rowSetEntrySort($17)|0); - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 8|0); - HEAP32[$20>>2] = $18; + $43 = HEAP32[$15>>2]|0; + $44 = HEAP32[$16>>2]|0; + $45 = ($43|0)<($44|0); + if (!($45)) { + break; } - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 26|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23&65535; - $25 = $24 | 3; - $26 = $25&65535; - HEAP16[$22>>1] = $26; + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 36|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$6>>2]|0; + $50 = HEAP32[$15>>2]|0; + $51 = (FUNCTION_TABLE_iiiiii[$48 & 255]($49,$50,$19,$20,$21)|0); + HEAP32[$12>>2] = $51; + $52 = HEAP32[$12>>2]|0; + $53 = ($52|0)==(0); + if ($53) { + $54 = HEAP32[$8>>2]|0; + $55 = HEAP32[$20>>2]|0; + $56 = ($54|0)>($55|0); + if ($56) { + $57 = HEAP32[$9>>2]|0; + $58 = HEAP32[$20>>2]|0; + $59 = (($57) + ($58<<2)|0); + $60 = HEAP32[$59>>2]|0; + $61 = (+_sqlite3_value_double($60)); + $62 = $61; + } else { + $62 = 1.0; + } + HEAPF64[$22>>3] = $62; + $63 = +HEAPF64[$22>>3]; + $64 = HEAP32[$18>>2]|0; + $65 = HEAP32[$19>>2]|0; + $66 = (($64) + ($65<<3)|0); + $67 = +HEAPF64[$66>>3]; + $68 = $67 + $63; + HEAPF64[$66>>3] = $68; + } + $69 = HEAP32[$15>>2]|0; + $70 = (($69) + 1)|0; + HEAP32[$15>>2] = $70; } - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)!=(0|0); - if (!($30)) { - HEAP32[$0>>2] = 0; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + $71 = HEAP32[$12>>2]|0; + $72 = ($71|0)==(0); + if ($72) { + $73 = HEAP32[$5>>2]|0; + $74 = ((($73)) + 48|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$6>>2]|0; + $77 = (FUNCTION_TABLE_iiii[$75 & 255]($76,-1,$23)|0); + HEAP32[$12>>2] = $77; + $78 = HEAP32[$23>>2]|0; + $79 = (+($78|0)); + HEAPF64[$17>>3] = $79; } - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = $33; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = $40; - $42 = $41; - HEAP32[$42>>2] = $36; - $43 = (($41) + 4)|0; - $44 = $43; - HEAP32[$44>>2] = $39; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = ((($47)) + 8|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 8|0); - HEAP32[$51>>2] = $49; - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - $56 = HEAP32[$1>>2]|0; - _sqlite3RowSetClear($56); + HEAP32[$15>>2] = 0; + while(1) { + $80 = HEAP32[$12>>2]|0; + $81 = ($80|0)==(0); + if (!($81)) { + break; + } + $82 = HEAP32[$15>>2]|0; + $83 = HEAP32[$14>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = ($82|0)<($84|0); + if (!($85)) { + break; + } + $86 = HEAP32[$14>>2]|0; + $87 = ((($86)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$15>>2]|0; + $90 = (($88) + ($89<<3)|0); + $91 = +HEAPF64[$90>>3]; + $92 = HEAP32[$18>>2]|0; + $93 = HEAP32[$15>>2]|0; + $94 = (($92) + ($93<<3)|0); + $95 = +HEAPF64[$94>>3]; + $96 = $95 * 2.2000000000000002; + $97 = HEAP32[$18>>2]|0; + $98 = HEAP32[$15>>2]|0; + $99 = (($97) + ($98<<3)|0); + $100 = +HEAPF64[$99>>3]; + $101 = +HEAPF64[$17>>3]; + $102 = 0.75 * $101; + $103 = HEAP32[$14>>2]|0; + $104 = ((($103)) + 8|0); + $105 = +HEAPF64[$104>>3]; + $106 = $102 / $105; + $107 = 0.25 + $106; + $108 = 1.2 * $107; + $109 = $100 + $108; + $110 = $96 / $109; + $111 = $91 * $110; + $112 = +HEAPF64[$13>>3]; + $113 = $112 + $111; + HEAPF64[$13>>3] = $113; + $114 = HEAP32[$15>>2]|0; + $115 = (($114) + 1)|0; + HEAP32[$15>>2] = $115; + } + $116 = HEAP32[$12>>2]|0; + $117 = ($116|0)==(0); + $118 = HEAP32[$7>>2]|0; + if ($117) { + $119 = +HEAPF64[$13>>3]; + $120 = -1.0 * $119; + _sqlite3_result_double($118,$120); + STACKTOP = sp;return; + } else { + $121 = HEAP32[$12>>2]|0; + _sqlite3_result_error_code($118,$121); + STACKTOP = sp;return; } - HEAP32[$0>>2] = 1; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); } -function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { - $pRowSet = $pRowSet|0; - $iBatch = $iBatch|0; +function _fts5Bm25GetData($0,$1,$2) { $0 = $0|0; $1 = $1|0; + $2 = $2|0; var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 $p = 0, $pAux = 0, $pTail = 0, $pTree = 0, $ppPrevTree = 0, label = 0, sp = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0; + var $136 = 0.0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $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; + 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.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp; - $p = sp + 24|0; - $pTree = sp + 20|0; - $ppPrevTree = sp + 16|0; - $pAux = sp + 12|0; - $pTail = sp + 8|0; - HEAP32[$3>>2] = $pRowSet; - HEAP32[$4>>2] = $iBatch; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - $10 = HEAP32[$4>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = ((($11)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)!=($13|0); - if ($14) { - $15 = HEAP32[$3>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$p>>2] = $17; - $18 = HEAP32[$p>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$3>>2]|0; - $21 = ((($20)) + 20|0); - HEAP32[$ppPrevTree>>2] = $21; - $22 = HEAP32[$3>>2]|0; - $23 = ((($22)) + 26|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24&65535; - $26 = $25 & 1; - $27 = ($26|0)==(0); - if ($27) { - $28 = HEAP32[$p>>2]|0; - $29 = (_rowSetEntrySort($28)|0); - HEAP32[$p>>2] = $29; - } - $30 = HEAP32[$3>>2]|0; - $31 = ((($30)) + 20|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$pTree>>2] = $32; - while(1) { - $33 = HEAP32[$pTree>>2]|0; - $34 = ($33|0)!=(0|0); - if (!($34)) { - break; - } - $35 = HEAP32[$pTree>>2]|0; - $36 = ((($35)) + 8|0); - HEAP32[$ppPrevTree>>2] = $36; - $37 = HEAP32[$pTree>>2]|0; - $38 = ((($37)) + 12|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)==(0|0); - if ($40) { - label = 8; - break; - } - $45 = HEAP32[$pTree>>2]|0; - $46 = ((($45)) + 12|0); - $47 = HEAP32[$46>>2]|0; - _rowSetTreeToList($47,$pAux,$pTail); - $48 = HEAP32[$pTree>>2]|0; - $49 = ((($48)) + 12|0); - HEAP32[$49>>2] = 0; - $50 = HEAP32[$pAux>>2]|0; - $51 = HEAP32[$p>>2]|0; - $52 = (_rowSetEntryMerge($50,$51)|0); - HEAP32[$p>>2] = $52; - $53 = HEAP32[$pTree>>2]|0; - $54 = ((($53)) + 8|0); - $55 = HEAP32[$54>>2]|0; - HEAP32[$pTree>>2] = $55; - } - if ((label|0) == 8) { - $41 = HEAP32[$p>>2]|0; - $42 = (_rowSetListToTree($41)|0); - $43 = HEAP32[$pTree>>2]|0; - $44 = ((($43)) + 12|0); - HEAP32[$44>>2] = $42; - } - $56 = HEAP32[$pTree>>2]|0; - $57 = ($56|0)==(0|0); - if ($57) { - $58 = HEAP32[$3>>2]|0; - $59 = (_rowSetEntryAlloc($58)|0); - HEAP32[$pTree>>2] = $59; - $60 = HEAP32[$ppPrevTree>>2]|0; - HEAP32[$60>>2] = $59; - $61 = HEAP32[$pTree>>2]|0; - $62 = ($61|0)!=(0|0); - if ($62) { - $63 = HEAP32[$pTree>>2]|0; - $64 = $63; - $65 = $64; - HEAP32[$65>>2] = 0; - $66 = (($64) + 4)|0; - $67 = $66; - HEAP32[$67>>2] = 0; - $68 = HEAP32[$pTree>>2]|0; - $69 = ((($68)) + 8|0); - HEAP32[$69>>2] = 0; - $70 = HEAP32[$p>>2]|0; - $71 = (_rowSetListToTree($70)|0); - $72 = HEAP32[$pTree>>2]|0; - $73 = ((($72)) + 12|0); - HEAP32[$73>>2] = $71; - } - } - $74 = HEAP32[$3>>2]|0; - $75 = ((($74)) + 8|0); - HEAP32[$75>>2] = 0; - $76 = HEAP32[$3>>2]|0; - $77 = ((($76)) + 12|0); - HEAP32[$77>>2] = 0; - $78 = HEAP32[$3>>2]|0; - $79 = ((($78)) + 26|0); - $80 = HEAP16[$79>>1]|0; - $81 = $80&65535; - $82 = $81 | 1; - $83 = $82&65535; - HEAP16[$79>>1] = $83; - } - $84 = HEAP32[$4>>2]|0; - $85 = HEAP32[$3>>2]|0; - $86 = ((($85)) + 28|0); - HEAP32[$86>>2] = $84; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 60|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 24|0; + $10 = sp + 16|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 8|0; + $14 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 60|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = (FUNCTION_TABLE_iii[$17 & 255]($18,0)|0); + HEAP32[$7>>2] = $19; + $20 = HEAP32[$7>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + $155 = HEAP32[$7>>2]|0; + $156 = HEAP32[$5>>2]|0; + HEAP32[$156>>2] = $155; + $157 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($157|0); } - $87 = HEAP32[$3>>2]|0; - $88 = ((($87)) + 20|0); - $89 = HEAP32[$88>>2]|0; - HEAP32[$pTree>>2] = $89; - L21: while(1) { - $90 = HEAP32[$pTree>>2]|0; - $91 = ($90|0)!=(0|0); - if (!($91)) { - label = 25; + $22 = $9; + $23 = $22; + HEAP32[$23>>2] = 0; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = 0; + $26 = $10; + $27 = $26; + HEAP32[$27>>2] = 0; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = 0; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 24|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = (FUNCTION_TABLE_ii[$32 & 255]($33)|0); + HEAP32[$8>>2] = $34; + $35 = HEAP32[$8>>2]|0; + $36 = $35<<1; + $37 = $36<<3; + $38 = (24 + ($37))|0; + HEAP32[$11>>2] = $38; + $39 = HEAP32[$11>>2]|0; + $40 = (_sqlite3_malloc($39)|0); + HEAP32[$7>>2] = $40; + $41 = HEAP32[$7>>2]|0; + $42 = ($41|0)==(0|0); + if ($42) { + HEAP32[$6>>2] = 7; + } else { + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$11>>2]|0; + _memset(($43|0),0,($44|0))|0; + $45 = HEAP32[$8>>2]|0; + $46 = HEAP32[$7>>2]|0; + HEAP32[$46>>2] = $45; + $47 = HEAP32[$7>>2]|0; + $48 = ((($47)) + 24|0); + $49 = HEAP32[$7>>2]|0; + $50 = ((($49)) + 16|0); + HEAP32[$50>>2] = $48; + $51 = HEAP32[$7>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$8>>2]|0; + $55 = (($53) + ($54<<3)|0); + $56 = HEAP32[$7>>2]|0; + $57 = ((($56)) + 20|0); + HEAP32[$57>>2] = $55; + } + $58 = HEAP32[$6>>2]|0; + $59 = ($58|0)==(0); + if ($59) { + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$4>>2]|0; + $64 = (FUNCTION_TABLE_iii[$62 & 255]($63,$9)|0); + HEAP32[$6>>2] = $64; + } + $65 = HEAP32[$6>>2]|0; + $66 = ($65|0)==(0); + if ($66) { + $67 = HEAP32[$3>>2]|0; + $68 = ((($67)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$4>>2]|0; + $71 = (FUNCTION_TABLE_iiii[$69 & 255]($70,-1,$10)|0); + HEAP32[$6>>2] = $71; + } + $72 = HEAP32[$6>>2]|0; + $73 = ($72|0)==(0); + if ($73) { + $74 = $10; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (+($76>>>0)) + (4294967296.0*(+($79|0))); + $81 = $9; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (+($83>>>0)) + (4294967296.0*(+($86|0))); + $88 = $80 / $87; + $89 = HEAP32[$7>>2]|0; + $90 = ((($89)) + 8|0); + HEAPF64[$90>>3] = $88; + } + HEAP32[$12>>2] = 0; + while(1) { + $91 = HEAP32[$6>>2]|0; + $92 = ($91|0)==(0); + if (!($92)) { break; } - $92 = HEAP32[$pTree>>2]|0; - $93 = ((($92)) + 12|0); - $94 = HEAP32[$93>>2]|0; - HEAP32[$p>>2] = $94; - while(1) { - $95 = HEAP32[$p>>2]|0; - $96 = ($95|0)!=(0|0); - if (!($96)) { - break; - } - $97 = HEAP32[$p>>2]|0; - $98 = $97; - $99 = $98; - $100 = HEAP32[$99>>2]|0; - $101 = (($98) + 4)|0; - $102 = $101; - $103 = HEAP32[$102>>2]|0; - $104 = $5; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = ($103|0)<($109|0); - $111 = ($100>>>0)<($106>>>0); - $112 = ($103|0)==($109|0); - $113 = $112 & $111; - $114 = $110 | $113; - $115 = HEAP32[$p>>2]|0; - if ($114) { - $116 = ((($115)) + 8|0); - $117 = HEAP32[$116>>2]|0; - HEAP32[$p>>2] = $117; - continue; - } - $118 = $115; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = (($118) + 4)|0; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = $5; + $93 = HEAP32[$12>>2]|0; + $94 = HEAP32[$8>>2]|0; + $95 = ($93|0)<($94|0); + if (!($95)) { + break; + } + $96 = $13; + $97 = $96; + HEAP32[$97>>2] = 0; + $98 = (($96) + 4)|0; + $99 = $98; + HEAP32[$99>>2] = 0; + $100 = HEAP32[$3>>2]|0; + $101 = ((($100)) + 52|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$4>>2]|0; + $104 = HEAP32[$12>>2]|0; + $105 = (FUNCTION_TABLE_iiiii[$102 & 255]($103,$104,$13,168)|0); + HEAP32[$6>>2] = $105; + $106 = HEAP32[$6>>2]|0; + $107 = ($106|0)==(0); + if ($107) { + $108 = $9; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (($108) + 4)|0; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = $13; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (($114) + 4)|0; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (_i64Subtract(($110|0),($113|0),($116|0),($119|0))|0); + $121 = tempRet0; + $122 = (+($120>>>0)) + (4294967296.0*(+($121|0))); + $123 = $122 + 0.5; + $124 = $13; $125 = $124; $126 = HEAP32[$125>>2]|0; $127 = (($124) + 4)|0; $128 = $127; $129 = HEAP32[$128>>2]|0; - $130 = ($123|0)>($129|0); - $131 = ($120>>>0)>($126>>>0); - $132 = ($123|0)==($129|0); - $133 = $132 & $131; - $134 = $130 | $133; - if (!($134)) { - label = 23; - break L21; + $130 = (+($126>>>0)) + (4294967296.0*(+($129|0))); + $131 = $130 + 0.5; + $132 = $123 / $131; + $133 = (+Math_log((+$132))); + HEAPF64[$14>>3] = $133; + $134 = +HEAPF64[$14>>3]; + $135 = $134 <= 0.0; + if ($135) { + HEAPF64[$14>>3] = 9.9999999999999995E-7; } - $135 = HEAP32[$p>>2]|0; - $136 = ((($135)) + 12|0); - $137 = HEAP32[$136>>2]|0; - HEAP32[$p>>2] = $137; + $136 = +HEAPF64[$14>>3]; + $137 = HEAP32[$7>>2]|0; + $138 = ((($137)) + 16|0); + $139 = HEAP32[$138>>2]|0; + $140 = HEAP32[$12>>2]|0; + $141 = (($139) + ($140<<3)|0); + HEAPF64[$141>>3] = $136; } - $138 = HEAP32[$pTree>>2]|0; - $139 = ((($138)) + 8|0); - $140 = HEAP32[$139>>2]|0; - HEAP32[$pTree>>2] = $140; - } - if ((label|0) == 23) { - HEAP32[$2>>2] = 1; - $141 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($141|0); - } - else if ((label|0) == 25) { - HEAP32[$2>>2] = 0; - $141 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($141|0); + $142 = HEAP32[$12>>2]|0; + $143 = (($142) + 1)|0; + HEAP32[$12>>2] = $143; } - return (0)|0; -} -function _sqlite3PagerOkToChangeJournalMode($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $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; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pPager; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 17|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)>=(3); - if ($6) { - HEAP32[$0>>2] = 0; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); + $144 = HEAP32[$6>>2]|0; + $145 = ($144|0)!=(0); + if ($145) { + $146 = HEAP32[$7>>2]|0; + _sqlite3_free($146); + } else { + $147 = HEAP32[$3>>2]|0; + $148 = ((($147)) + 56|0); + $149 = HEAP32[$148>>2]|0; + $150 = HEAP32[$4>>2]|0; + $151 = HEAP32[$7>>2]|0; + $152 = (FUNCTION_TABLE_iiii[$149 & 255]($150,$151,157)|0); + HEAP32[$6>>2] = $152; } - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 68|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 80|0); - $14 = $13; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)>(0); - $21 = ($16>>>0)>(0); - $22 = ($19|0)==(0); - $23 = $22 & $21; - $24 = $20 | $23; - if ($24) { - HEAP32[$0>>2] = 0; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } + $153 = HEAP32[$6>>2]|0; + $154 = ($153|0)!=(0); + if (!($154)) { + $155 = HEAP32[$7>>2]|0; + $156 = HEAP32[$5>>2]|0; + HEAP32[$156>>2] = $155; + $157 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($157|0); } - HEAP32[$0>>2] = 1; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); + HEAP32[$7>>2] = 0; + $155 = HEAP32[$7>>2]|0; + $156 = HEAP32[$5>>2]|0; + HEAP32[$156>>2] = $155; + $157 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($157|0); } -function _sqlite3PagerWalSupported($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pMethods = 0, label = 0, sp = 0; +function _fts5CountCb($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pMethods = sp; - HEAP32[$1>>2] = $pPager; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 64|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$pMethods>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 14|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)!=(0); - if ($9) { - HEAP32[$0>>2] = 0; - $24 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($24|0); - } - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(0); - if ($14) { - $23 = 1; - } else { - $15 = HEAP32[$pMethods>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)>=(2); - if ($17) { - $18 = HEAP32[$pMethods>>2]|0; - $19 = ((($18)) + 52|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0|0); - $23 = $21; - } else { - $23 = 0; - } - } - $22 = $23&1; - HEAP32[$0>>2] = $22; - $24 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($24|0); + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + HEAP32[$6>>2] = $7; + $8 = HEAP32[$6>>2]|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; + STACKTOP = sp;return 0; } -function _sqlite3PagerCloseWal($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $logexists = 0, $or$cond = 0, $rc = 0, label = 0; - var sp = 0; +function _fts5CInstIterInit($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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $logexists = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 216|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - HEAP32[$logexists>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = (_pagerLockDb($5,1)|0); - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 220|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3OsAccess($10,$13,0,$logexists)|0); - HEAP32[$rc>>2] = $14; - } - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - $17 = HEAP32[$logexists>>2]|0; - $18 = ($17|0)!=(0); - $or$cond = $16 & $18; - if ($or$cond) { - $19 = HEAP32[$0>>2]|0; - $20 = (_pagerOpenWal($19)|0); - HEAP32[$rc>>2] = $20; - } - } - $21 = HEAP32[$rc>>2]|0; - $22 = ($21|0)==(0); - if (!($22)) { - $55 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($55|0); - } - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 216|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)!=(0|0); + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$7>>2]|0; + ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0;HEAP32[$9+12>>2]=0|0;HEAP32[$9+16>>2]=0|0;HEAP32[$9+20>>2]=0|0;HEAP32[$9+24>>2]=0|0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$7>>2]|0; + HEAP32[$11>>2] = $10; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = ((($13)) + 4|0); + HEAP32[$14>>2] = $12; + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = ((($16)) + 8|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 32|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ((($22)) + 16|0); + $24 = (FUNCTION_TABLE_iii[$20 & 255]($21,$23)|0); + HEAP32[$8>>2] = $24; + $25 = HEAP32[$8>>2]|0; + $26 = ($25|0)==(0); if (!($26)) { - $55 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($55|0); - } - $27 = HEAP32[$0>>2]|0; - $28 = (_pagerExclusiveLock($27)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$rc>>2]|0; - $30 = ($29|0)==(0); - if (!($30)) { - $55 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($55|0); - } - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 216|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 10|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 160|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 208|0); - $43 = HEAP32[$42>>2]|0; - $44 = (_sqlite3WalClose($33,$37,$40,$43)|0); - HEAP32[$rc>>2] = $44; - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 216|0); - HEAP32[$46>>2] = 0; - $47 = HEAP32[$0>>2]|0; - _pagerFixMaplimit($47); - $48 = HEAP32[$rc>>2]|0; - $49 = ($48|0)!=(0); - if (!($49)) { - $55 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($55|0); - } - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 4|0); - $52 = HEAP8[$51>>0]|0; - $53 = ($52<<24>>24)!=(0); - if ($53) { - $55 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($55|0); + $29 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($29|0); } - $54 = HEAP32[$0>>2]|0; - (_pagerUnlockDb($54,1)|0); - $55 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($55|0); + $27 = HEAP32[$7>>2]|0; + $28 = (_fts5CInstIterNext($27)|0); + HEAP32[$8>>2] = $28; + $29 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($29|0); } -function _sqlite3PagerSetJournalMode($pPager,$eMode) { - $pPager = $pPager|0; - $eMode = $eMode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $eOld = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $state = 0, label = 0, sp = 0; +function _fts5HighlightCb($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $eOld = sp + 16|0; - $rc = sp + 4|0; - $state = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $eMode; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 5|0); - $4 = HEAP8[$3>>0]|0; - HEAP8[$eOld>>0] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = ($9|0)!=(4); - $11 = HEAP32[$1>>2]|0; - $12 = ($11|0)!=(2); - $or$cond = $10 & $12; - if ($or$cond) { - $13 = HEAP8[$eOld>>0]|0; - $14 = $13&255; - HEAP32[$1>>2] = $14; - } + STACKTOP = STACKTOP + 48|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $16 = HEAP32[$7>>2]|0; + HEAP32[$13>>2] = $16; + HEAP32[$14>>2] = 0; + $17 = HEAP32[$8>>2]|0; + $18 = $17 & 1; + $19 = ($18|0)!=(0); + if ($19) { + HEAP32[$6>>2] = 0; + $159 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($159|0); } - $15 = HEAP32[$1>>2]|0; - $16 = HEAP8[$eOld>>0]|0; - $17 = $16&255; - $18 = ($15|0)!=($17|0); + $20 = HEAP32[$13>>2]|0; + $21 = ((($20)) + 28|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + 1)|0; + HEAP32[$21>>2] = $23; + HEAP32[$15>>2] = $22; + $24 = HEAP32[$13>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)>(0); do { - if ($18) { - $19 = HEAP32[$1>>2]|0; - $20 = $19&255; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 5|0); - HEAP8[$22>>0] = $20; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)!=(0); - if (!($26)) { - $27 = HEAP8[$eOld>>0]|0; - $28 = $27&255; - $29 = $28 & 5; - $30 = ($29|0)==(1); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = $31 & 1; - $33 = ($32|0)==(0); - if ($33) { - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 68|0); - $36 = HEAP32[$35>>2]|0; - _sqlite3OsClose($36); - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 18|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = ($40|0)>=(2); - if ($41) { - $42 = HEAP32[$0>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 180|0); - $46 = HEAP32[$45>>2]|0; - (_sqlite3OsDelete($43,$46,0)|0); - break; - } - HEAP32[$rc>>2] = 0; - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 17|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - HEAP32[$state>>2] = $50; - $51 = HEAP32[$state>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$0>>2]|0; - $54 = (_sqlite3PagerSharedLock($53)|0); - HEAP32[$rc>>2] = $54; - } - $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 17|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = ($58|0)==(1); - if ($59) { - $60 = HEAP32[$0>>2]|0; - $61 = (_pagerLockDb($60,2)|0); - HEAP32[$rc>>2] = $61; - } - $62 = HEAP32[$rc>>2]|0; - $63 = ($62|0)==(0); - if ($63) { - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$0>>2]|0; - $67 = ((($66)) + 180|0); - $68 = HEAP32[$67>>2]|0; - (_sqlite3OsDelete($65,$68,0)|0); - } - $69 = HEAP32[$rc>>2]|0; - $70 = ($69|0)==(0); - $71 = HEAP32[$state>>2]|0; - $72 = ($71|0)==(1); - $or$cond3 = $70 & $72; - if ($or$cond3) { - $73 = HEAP32[$0>>2]|0; - (_pagerUnlockDb($73,1)|0); - break; - } - $74 = HEAP32[$state>>2]|0; - $75 = ($74|0)==(0); - if (!($75)) { - break; - } - $76 = HEAP32[$0>>2]|0; - _pager_unlock($76); + if ($27) { + $28 = HEAP32[$15>>2]|0; + $29 = HEAP32[$13>>2]|0; + $30 = ((($29)) + 32|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($28|0)<($31|0); + if (!($32)) { + $33 = HEAP32[$15>>2]|0; + $34 = HEAP32[$13>>2]|0; + $35 = ((($34)) + 36|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($33|0)>($36|0); + if (!($37)) { + $38 = HEAP32[$13>>2]|0; + $39 = ((($38)) + 32|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)!=(0); + if (!($41)) { break; } - } - } - $77 = HEAP32[$1>>2]|0; - $78 = ($77|0)==(2); - if ($78) { - $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 68|0); - $81 = HEAP32[$80>>2]|0; - _sqlite3OsClose($81); - } - } - } while(0); - $82 = HEAP32[$0>>2]|0; - $83 = ((($82)) + 5|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - STACKTOP = sp;return ($85|0); -} -function _sqlite3RunVacuum($pzErrMsg,$db,$iDb) { - $pzErrMsg = $pzErrMsg|0; - $db = $db|0; - $iDb = $iDb|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $i = 0, $isMemDb = 0, $meta = 0, $nDb = 0, $nRes = 0, $pDb = 0, $pMain = 0, $pTemp = 0, $rc = 0, $saved_flags = 0, $saved_mTrace = 0, $saved_nChange = 0, $saved_nTotalChange = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $zDbMain = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 92|0; - $1 = sp + 88|0; - $2 = sp + 84|0; - $3 = sp + 80|0; - $rc = sp + 76|0; - $pMain = sp + 72|0; - $pTemp = sp + 68|0; - $saved_flags = sp + 64|0; - $saved_nChange = sp + 60|0; - $saved_nTotalChange = sp + 56|0; - $saved_mTrace = sp + 96|0; - $pDb = sp + 52|0; - $isMemDb = sp + 48|0; - $nRes = sp + 44|0; - $nDb = sp + 40|0; - $zDbMain = sp + 36|0; - $meta = sp + 32|0; - $i = sp + 28|0; - HEAP32[$1>>2] = $pzErrMsg; - HEAP32[$2>>2] = $db; - HEAP32[$3>>2] = $iDb; - HEAP32[$rc>>2] = 0; - HEAP32[$pDb>>2] = 0; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 67|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if (!($7)) { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - _sqlite3SetString($8,$9,40519); - HEAP32[$0>>2] = 1; - $240 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($240|0); - } - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 156|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(1); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - _sqlite3SetString($14,$15,40559); - HEAP32[$0>>2] = 1; - $240 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($240|0); - } - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 24|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$saved_flags>>2] = $18; - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 88|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$saved_nChange>>2] = $21; - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 92|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$saved_nTotalChange>>2] = $24; - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 76|0); - $27 = HEAP8[$26>>0]|0; - HEAP8[$saved_mTrace>>0] = $27; - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 24|0); - $30 = HEAP32[$29>>2]|0; - $31 = $30 | 270542848; - HEAP32[$29>>2] = $31; - $32 = HEAP32[$2>>2]|0; - $33 = ((($32)) + 24|0); - $34 = HEAP32[$33>>2]|0; - $35 = $34 & -655489; - HEAP32[$33>>2] = $35; - $36 = HEAP32[$2>>2]|0; - $37 = ((($36)) + 76|0); - HEAP8[$37>>0] = 0; - $38 = HEAP32[$3>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 16|0); - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + ($38<<4)|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$zDbMain>>2] = $43; - $44 = HEAP32[$3>>2]|0; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 16|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + ($44<<4)|0); - $49 = ((($48)) + 4|0); - $50 = HEAP32[$49>>2]|0; - HEAP32[$pMain>>2] = $50; - $51 = HEAP32[$pMain>>2]|0; - $52 = (_sqlite3BtreePager($51)|0); - $53 = (_sqlite3PagerIsMemdb($52)|0); - HEAP32[$isMemDb>>2] = $53; - $54 = HEAP32[$2>>2]|0; - $55 = ((($54)) + 20|0); - $56 = HEAP32[$55>>2]|0; - HEAP32[$nDb>>2] = $56; - $57 = HEAP32[$2>>2]|0; - $58 = HEAP32[$1>>2]|0; - $59 = (_execSql($57,$58,40602)|0); - HEAP32[$rc>>2] = $59; - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)!=(0); - L9: do { - if (!($61)) { - $62 = HEAP32[$nDb>>2]|0; - $63 = HEAP32[$2>>2]|0; - $64 = ((($63)) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = (($65) + ($62<<4)|0); - HEAP32[$pDb>>2] = $66; - $67 = HEAP32[$pDb>>2]|0; - $68 = ((($67)) + 4|0); - $69 = HEAP32[$68>>2]|0; - HEAP32[$pTemp>>2] = $69; - $70 = HEAP32[$pTemp>>2]|0; - (_sqlite3BtreeCommit($70)|0); - $71 = HEAP32[$pMain>>2]|0; - $72 = (_sqlite3BtreeGetOptimalReserve($71)|0); - HEAP32[$nRes>>2] = $72; - $73 = HEAP32[$pTemp>>2]|0; - $74 = HEAP32[$3>>2]|0; - $75 = HEAP32[$2>>2]|0; - $76 = ((($75)) + 16|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77) + ($74<<4)|0); - $79 = ((($78)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($80)) + 80|0); - $82 = HEAP32[$81>>2]|0; - (_sqlite3BtreeSetCacheSize($73,$82)|0); - $83 = HEAP32[$pTemp>>2]|0; - $84 = HEAP32[$pMain>>2]|0; - $85 = (_sqlite3BtreeSetSpillSize($84,0)|0); - (_sqlite3BtreeSetSpillSize($83,$85)|0); - $86 = HEAP32[$pTemp>>2]|0; - (_sqlite3BtreeSetPagerFlags($86,33)|0); - $87 = HEAP32[$2>>2]|0; - $88 = HEAP32[$1>>2]|0; - $89 = (_execSql($87,$88,37527)|0); - HEAP32[$rc>>2] = $89; - $90 = HEAP32[$rc>>2]|0; - $91 = ($90|0)!=(0); - if (!($91)) { - $92 = HEAP32[$pMain>>2]|0; - $93 = (_sqlite3BtreeBeginTrans($92,2)|0); - HEAP32[$rc>>2] = $93; - $94 = HEAP32[$rc>>2]|0; - $95 = ($94|0)!=(0); - if (!($95)) { - $96 = HEAP32[$pMain>>2]|0; - $97 = (_sqlite3BtreePager($96)|0); - $98 = (_sqlite3PagerGetJournalMode($97)|0); - $99 = ($98|0)==(5); - if ($99) { - $100 = HEAP32[$2>>2]|0; - $101 = ((($100)) + 80|0); - HEAP32[$101>>2] = 0; + $42 = HEAP32[$15>>2]|0; + $43 = HEAP32[$13>>2]|0; + $44 = ((($43)) + 32|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($42|0)==($45|0); + if (!($46)) { + break; } - $102 = HEAP32[$pTemp>>2]|0; - $103 = HEAP32[$pMain>>2]|0; - $104 = (_sqlite3BtreeGetPageSize($103)|0); - $105 = HEAP32[$nRes>>2]|0; - $106 = (_sqlite3BtreeSetPageSize($102,$104,$105,0)|0); - $107 = ($106|0)!=(0); - do { - if (!($107)) { - $108 = HEAP32[$isMemDb>>2]|0; - $109 = ($108|0)!=(0); - if (!($109)) { - $110 = HEAP32[$pTemp>>2]|0; - $111 = HEAP32[$2>>2]|0; - $112 = ((($111)) + 80|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$nRes>>2]|0; - $115 = (_sqlite3BtreeSetPageSize($110,$113,$114,0)|0); - $116 = ($115|0)!=(0); - if ($116) { - break; - } - } - $117 = HEAP32[$2>>2]|0; - $118 = ((($117)) + 69|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119&255; - $121 = ($120|0)!=(0); - if (!($121)) { - $122 = HEAP32[$pTemp>>2]|0; - $123 = HEAP32[$2>>2]|0; - $124 = ((($123)) + 72|0); - $125 = HEAP8[$124>>0]|0; - $126 = $125 << 24 >> 24; - $127 = ($126|0)>=(0); - if ($127) { - $128 = HEAP32[$2>>2]|0; - $129 = ((($128)) + 72|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130 << 24 >> 24; - $134 = $131; - } else { - $132 = HEAP32[$pMain>>2]|0; - $133 = (_sqlite3BtreeGetAutoVacuum($132)|0); - $134 = $133; - } - (_sqlite3BtreeSetAutoVacuum($122,$134)|0); - $135 = HEAP32[$nDb>>2]|0; - $136 = $135&255; - $137 = HEAP32[$2>>2]|0; - $138 = ((($137)) + 148|0); - $139 = ((($138)) + 4|0); - HEAP8[$139>>0] = $136; - $140 = HEAP32[$2>>2]|0; - $141 = HEAP32[$1>>2]|0; - $142 = HEAP32[$zDbMain>>2]|0; - HEAP32[$vararg_buffer>>2] = $142; - $143 = (_execSqlF($140,$141,40623,$vararg_buffer)|0); - HEAP32[$rc>>2] = $143; - $144 = HEAP32[$rc>>2]|0; - $145 = ($144|0)!=(0); - if ($145) { - break L9; - } - $146 = HEAP32[$2>>2]|0; - $147 = HEAP32[$1>>2]|0; - $148 = HEAP32[$zDbMain>>2]|0; - HEAP32[$vararg_buffer1>>2] = $148; - $149 = (_execSqlF($146,$147,40731,$vararg_buffer1)|0); - HEAP32[$rc>>2] = $149; - $150 = HEAP32[$rc>>2]|0; - $151 = ($150|0)!=(0); - if ($151) { - break L9; - } - $152 = HEAP32[$2>>2]|0; - $153 = ((($152)) + 148|0); - $154 = ((($153)) + 4|0); - HEAP8[$154>>0] = 0; - $155 = HEAP32[$2>>2]|0; - $156 = HEAP32[$1>>2]|0; - $157 = HEAP32[$zDbMain>>2]|0; - HEAP32[$vararg_buffer4>>2] = $157; - $158 = (_execSqlF($155,$156,40804,$vararg_buffer4)|0); - HEAP32[$rc>>2] = $158; - $159 = HEAP32[$2>>2]|0; - $160 = ((($159)) + 24|0); - $161 = HEAP32[$160>>2]|0; - $162 = $161 & -268435457; - HEAP32[$160>>2] = $162; - $163 = HEAP32[$rc>>2]|0; - $164 = ($163|0)!=(0); - if ($164) { - break L9; - } - $165 = HEAP32[$2>>2]|0; - $166 = HEAP32[$1>>2]|0; - $167 = HEAP32[$zDbMain>>2]|0; - HEAP32[$vararg_buffer7>>2] = $167; - $168 = (_execSqlF($165,$166,40955,$vararg_buffer7)|0); - HEAP32[$rc>>2] = $168; - $169 = HEAP32[$rc>>2]|0; - $170 = ($169|0)!=(0); - if ($170) { - break L9; - } - HEAP32[$i>>2] = 0; - while(1) { - $171 = HEAP32[$i>>2]|0; - $172 = ($171|0)<(10); - $173 = HEAP32[$pMain>>2]|0; - if (!($172)) { - break; - } - $174 = HEAP32[$i>>2]|0; - $175 = (41085 + ($174)|0); - $176 = HEAP8[$175>>0]|0; - $177 = $176&255; - _sqlite3BtreeGetMeta($173,$177,$meta); - $178 = HEAP32[$pTemp>>2]|0; - $179 = HEAP32[$i>>2]|0; - $180 = (41085 + ($179)|0); - $181 = HEAP8[$180>>0]|0; - $182 = $181&255; - $183 = HEAP32[$meta>>2]|0; - $184 = HEAP32[$i>>2]|0; - $185 = (($184) + 1)|0; - $186 = (41085 + ($185)|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187&255; - $189 = (($183) + ($188))|0; - $190 = (_sqlite3BtreeUpdateMeta($178,$182,$189)|0); - HEAP32[$rc>>2] = $190; - $191 = HEAP32[$rc>>2]|0; - $192 = ($191|0)!=(0); - if ($192) { - break L9; - } - $193 = HEAP32[$i>>2]|0; - $194 = (($193) + 2)|0; - HEAP32[$i>>2] = $194; - } - $195 = HEAP32[$pTemp>>2]|0; - $196 = (_sqlite3BtreeCopyFile($173,$195)|0); - HEAP32[$rc>>2] = $196; - $197 = HEAP32[$rc>>2]|0; - $198 = ($197|0)!=(0); - if ($198) { - break L9; - } - $199 = HEAP32[$pTemp>>2]|0; - $200 = (_sqlite3BtreeCommit($199)|0); - HEAP32[$rc>>2] = $200; - $201 = HEAP32[$rc>>2]|0; - $202 = ($201|0)!=(0); - if ($202) { - break L9; - } - $203 = HEAP32[$pMain>>2]|0; - $204 = HEAP32[$pTemp>>2]|0; - $205 = (_sqlite3BtreeGetAutoVacuum($204)|0); - (_sqlite3BtreeSetAutoVacuum($203,$205)|0); - $206 = HEAP32[$pMain>>2]|0; - $207 = HEAP32[$pTemp>>2]|0; - $208 = (_sqlite3BtreeGetPageSize($207)|0); - $209 = HEAP32[$nRes>>2]|0; - $210 = (_sqlite3BtreeSetPageSize($206,$208,$209,1)|0); - HEAP32[$rc>>2] = $210; - break L9; - } - } - } while(0); - HEAP32[$rc>>2] = 7; + $47 = HEAP32[$11>>2]|0; + $48 = HEAP32[$13>>2]|0; + $49 = ((($48)) + 56|0); + HEAP32[$49>>2] = $47; + break; } } + HEAP32[$6>>2] = 0; + $159 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($159|0); } } while(0); - $211 = HEAP32[$2>>2]|0; - $212 = ((($211)) + 148|0); - $213 = ((($212)) + 4|0); - HEAP8[$213>>0] = 0; - $214 = HEAP32[$saved_flags>>2]|0; - $215 = HEAP32[$2>>2]|0; - $216 = ((($215)) + 24|0); - HEAP32[$216>>2] = $214; - $217 = HEAP32[$saved_nChange>>2]|0; - $218 = HEAP32[$2>>2]|0; - $219 = ((($218)) + 88|0); - HEAP32[$219>>2] = $217; - $220 = HEAP32[$saved_nTotalChange>>2]|0; - $221 = HEAP32[$2>>2]|0; - $222 = ((($221)) + 92|0); - HEAP32[$222>>2] = $220; - $223 = HEAP8[$saved_mTrace>>0]|0; - $224 = HEAP32[$2>>2]|0; - $225 = ((($224)) + 76|0); - HEAP8[$225>>0] = $223; - $226 = HEAP32[$pMain>>2]|0; - (_sqlite3BtreeSetPageSize($226,-1,-1,1)|0); - $227 = HEAP32[$2>>2]|0; - $228 = ((($227)) + 67|0); - HEAP8[$228>>0] = 1; - $229 = HEAP32[$pDb>>2]|0; - $230 = ($229|0)!=(0|0); - if ($230) { - $231 = HEAP32[$pDb>>2]|0; - $232 = ((($231)) + 4|0); - $233 = HEAP32[$232>>2]|0; - (_sqlite3BtreeClose($233)|0); - $234 = HEAP32[$pDb>>2]|0; - $235 = ((($234)) + 4|0); - HEAP32[$235>>2] = 0; - $236 = HEAP32[$pDb>>2]|0; - $237 = ((($236)) + 12|0); - HEAP32[$237>>2] = 0; - } - $238 = HEAP32[$2>>2]|0; - _sqlite3ResetAllSchemasOfConnection($238); - $239 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $239; - $240 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($240|0); -} -function _sqlite3BtreeIncrVacuum($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nFin = 0, $nFree = 0, $nOrig = 0, $pBt = 0, $rc = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $rc = sp + 16|0; - $pBt = sp + 12|0; - $nOrig = sp + 8|0; - $nFree = sp + 4|0; - $nFin = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pBt>>2] = $3; - $4 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($4); - $5 = HEAP32[$pBt>>2]|0; - $6 = ((($5)) + 17|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - if (!($8)) { - HEAP32[$rc>>2] = 101; - $54 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($54|0); - } - $9 = HEAP32[$pBt>>2]|0; - $10 = (_btreePagecount($9)|0); - HEAP32[$nOrig>>2] = $10; - $11 = HEAP32[$pBt>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 56|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 36|0); - $17 = (_sqlite3Get4byte($16)|0); - HEAP32[$nFree>>2] = $17; - $18 = HEAP32[$pBt>>2]|0; - $19 = HEAP32[$nOrig>>2]|0; - $20 = HEAP32[$nFree>>2]|0; - $21 = (_finalDbSize($18,$19,$20)|0); - HEAP32[$nFin>>2] = $21; - $22 = HEAP32[$nOrig>>2]|0; - $23 = HEAP32[$nFin>>2]|0; - $24 = ($22>>>0)<($23>>>0); - if ($24) { - $25 = (_sqlite3CorruptError(61866)|0); - HEAP32[$rc>>2] = $25; - $54 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($54|0); - } - $26 = HEAP32[$nFree>>2]|0; - $27 = ($26>>>0)>(0); - if (!($27)) { - HEAP32[$rc>>2] = 101; - $54 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($54|0); - } - $28 = HEAP32[$pBt>>2]|0; - $29 = (_saveAllCursors($28,0,0)|0); - HEAP32[$rc>>2] = $29; - $30 = HEAP32[$rc>>2]|0; - $31 = ($30|0)==(0); - if ($31) { - $32 = HEAP32[$pBt>>2]|0; - _invalidateAllOverflowCache($32); - $33 = HEAP32[$pBt>>2]|0; - $34 = HEAP32[$nFin>>2]|0; - $35 = HEAP32[$nOrig>>2]|0; - $36 = (_incrVacuumStep($33,$34,$35,0)|0); - HEAP32[$rc>>2] = $36; - } - $37 = HEAP32[$rc>>2]|0; - $38 = ($37|0)==(0); - if (!($38)) { - $54 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($54|0); - } - $39 = HEAP32[$pBt>>2]|0; - $40 = ((($39)) + 12|0); - $41 = HEAP32[$40>>2]|0; - $42 = ((($41)) + 72|0); - $43 = HEAP32[$42>>2]|0; - $44 = (_sqlite3PagerWrite($43)|0); - HEAP32[$rc>>2] = $44; - $45 = HEAP32[$pBt>>2]|0; - $46 = ((($45)) + 12|0); - $47 = HEAP32[$46>>2]|0; - $48 = ((($47)) + 56|0); - $49 = HEAP32[$48>>2]|0; - $50 = ((($49)) + 28|0); - $51 = HEAP32[$pBt>>2]|0; - $52 = ((($51)) + 44|0); + $50 = HEAP32[$15>>2]|0; + $51 = HEAP32[$13>>2]|0; + $52 = ((($51)) + 20|0); $53 = HEAP32[$52>>2]|0; - _sqlite3Put4byte($50,$53); - $54 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($54|0); -} -function _sqlite3BtreeLockTable($p,$iTab,$isWriteLock) { - $p = $p|0; - $iTab = $iTab|0; - $isWriteLock = $isWriteLock|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $lockType = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp + 13|0; - $rc = sp; - $lockType = sp + 12|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iTab; - HEAP8[$2>>0] = $isWriteLock; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 9|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if (!($6)) { - $22 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($22|0); - } - $7 = HEAP8[$2>>0]|0; - $8 = $7&255; - $9 = (1 + ($8))|0; - $10 = $9&255; - HEAP8[$lockType>>0] = $10; - $11 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($11); - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP8[$lockType>>0]|0; - $15 = (_querySharedCacheTableLock($12,$13,$14)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $22 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($22|0); - } - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP8[$lockType>>0]|0; - $21 = (_setSharedCacheTableLock($18,$19,$20)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($22|0); -} -function _sqlite3VtabBegin($db,$pVTab) { - $db = $db|0; - $pVTab = $pVTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0, $iSvpt = 0; - var $pModule = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; - $pModule = sp + 8|0; - $i = sp + 4|0; - $iSvpt = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pVTab; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 316|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 340|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - HEAP32[$0>>2] = 6; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); - } - } - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { - HEAP32[$0>>2] = 0; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); + $54 = ($50|0)==($53|0); + if ($54) { + $55 = HEAP32[$13>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = ((($56)) + 48|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$13>>2]|0; + $60 = ((($59)) + 56|0); + $61 = HEAP32[$60>>2]|0; + $62 = (($58) + ($61)|0); + $63 = HEAP32[$11>>2]|0; + $64 = HEAP32[$13>>2]|0; + $65 = ((($64)) + 56|0); + $66 = HEAP32[$65>>2]|0; + $67 = (($63) - ($66))|0; + _fts5HighlightAppend($14,$55,$62,$67); + $68 = HEAP32[$13>>2]|0; + $69 = HEAP32[$13>>2]|0; + $70 = ((($69)) + 40|0); + $71 = HEAP32[$70>>2]|0; + _fts5HighlightAppend($14,$68,$71,-1); + $72 = HEAP32[$11>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = ((($73)) + 56|0); + HEAP32[$74>>2] = $72; } - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$15>>2]|0; - HEAP32[$pModule>>2] = $16; - $17 = HEAP32[$pModule>>2]|0; - $18 = ((($17)) + 56|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)!=(0|0); - if ($20) { - HEAP32[$i>>2] = 0; - while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 316|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($21|0)<($24|0); - if (!($25)) { - break; - } - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 340|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + ($26<<2)|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = ($31|0)==($32|0); - if ($33) { - label = 10; - break; + $75 = HEAP32[$15>>2]|0; + $76 = HEAP32[$13>>2]|0; + $77 = ((($76)) + 24|0); + $78 = HEAP32[$77>>2]|0; + $79 = ($75|0)==($78|0); + if ($79) { + $80 = HEAP32[$13>>2]|0; + $81 = ((($80)) + 36|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$13>>2]|0; + $85 = ((($84)) + 20|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$13>>2]|0; + $88 = ((($87)) + 32|0); + $89 = HEAP32[$88>>2]|0; + $90 = ($86|0)<($89|0); + if ($90) { + $91 = HEAP32[$13>>2]|0; + $92 = HEAP32[$13>>2]|0; + $93 = ((($92)) + 40|0); + $94 = HEAP32[$93>>2]|0; + _fts5HighlightAppend($14,$91,$94,-1); } - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$i>>2] = $35; } - if ((label|0) == 10) { - HEAP32[$0>>2] = 0; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); + $95 = HEAP32[$13>>2]|0; + $96 = HEAP32[$13>>2]|0; + $97 = ((($96)) + 48|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$13>>2]|0; + $100 = ((($99)) + 56|0); + $101 = HEAP32[$100>>2]|0; + $102 = (($98) + ($101)|0); + $103 = HEAP32[$12>>2]|0; + $104 = HEAP32[$13>>2]|0; + $105 = ((($104)) + 56|0); + $106 = HEAP32[$105>>2]|0; + $107 = (($103) - ($106))|0; + _fts5HighlightAppend($14,$95,$102,$107); + $108 = HEAP32[$13>>2]|0; + $109 = HEAP32[$13>>2]|0; + $110 = ((($109)) + 44|0); + $111 = HEAP32[$110>>2]|0; + _fts5HighlightAppend($14,$108,$111,-1); + $112 = HEAP32[$12>>2]|0; + $113 = HEAP32[$13>>2]|0; + $114 = ((($113)) + 56|0); + HEAP32[$114>>2] = $112; + $115 = HEAP32[$14>>2]|0; + $116 = ($115|0)==(0); + if ($116) { + $117 = HEAP32[$13>>2]|0; + $118 = (_fts5CInstIterNext($117)|0); + HEAP32[$14>>2] = $118; } - $36 = HEAP32[$1>>2]|0; - $37 = (_growVTrans($36)|0); - HEAP32[$rc>>2] = $37; - $38 = HEAP32[$rc>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - $40 = HEAP32[$pModule>>2]|0; - $41 = ((($40)) + 56|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$2>>2]|0; - $44 = ((($43)) + 8|0); - $45 = HEAP32[$44>>2]|0; - $46 = (FUNCTION_TABLE_ii[$42 & 255]($45)|0); - HEAP32[$rc>>2] = $46; - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 436|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 432|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($51) + ($54))|0; - HEAP32[$iSvpt>>2] = $55; - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$2>>2]|0; - _addToVTrans($56,$57); - $58 = HEAP32[$iSvpt>>2]|0; - $59 = ($58|0)!=(0); - if ($59) { - $60 = HEAP32[$pModule>>2]|0; - $61 = ((($60)) + 80|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)!=(0|0); - if ($63) { - $64 = HEAP32[$iSvpt>>2]|0; - $65 = HEAP32[$2>>2]|0; - $66 = ((($65)) + 20|0); - HEAP32[$66>>2] = $64; - $67 = HEAP32[$pModule>>2]|0; - $68 = ((($67)) + 80|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = ((($70)) + 8|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$iSvpt>>2]|0; - $74 = (($73) - 1)|0; - $75 = (FUNCTION_TABLE_iii[$69 & 255]($72,$74)|0); - HEAP32[$rc>>2] = $75; - } + } + $119 = HEAP32[$13>>2]|0; + $120 = ((($119)) + 36|0); + $121 = HEAP32[$120>>2]|0; + $122 = ($121|0)>(0); + if ($122) { + $123 = HEAP32[$15>>2]|0; + $124 = HEAP32[$13>>2]|0; + $125 = ((($124)) + 36|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($123|0)==($126|0); + if ($127) { + $128 = HEAP32[$13>>2]|0; + $129 = HEAP32[$13>>2]|0; + $130 = ((($129)) + 48|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$13>>2]|0; + $133 = ((($132)) + 56|0); + $134 = HEAP32[$133>>2]|0; + $135 = (($131) + ($134)|0); + $136 = HEAP32[$12>>2]|0; + $137 = HEAP32[$13>>2]|0; + $138 = ((($137)) + 56|0); + $139 = HEAP32[$138>>2]|0; + $140 = (($136) - ($139))|0; + _fts5HighlightAppend($14,$128,$135,$140); + $141 = HEAP32[$12>>2]|0; + $142 = HEAP32[$13>>2]|0; + $143 = ((($142)) + 56|0); + HEAP32[$143>>2] = $141; + $144 = HEAP32[$15>>2]|0; + $145 = HEAP32[$13>>2]|0; + $146 = ((($145)) + 20|0); + $147 = HEAP32[$146>>2]|0; + $148 = ($144|0)>=($147|0); + if ($148) { + $149 = HEAP32[$15>>2]|0; + $150 = HEAP32[$13>>2]|0; + $151 = ((($150)) + 24|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($149|0)<($152|0); + if ($153) { + $154 = HEAP32[$13>>2]|0; + $155 = HEAP32[$13>>2]|0; + $156 = ((($155)) + 44|0); + $157 = HEAP32[$156>>2]|0; + _fts5HighlightAppend($14,$154,$157,-1); } } } } - $76 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $76; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); + $158 = HEAP32[$14>>2]|0; + HEAP32[$6>>2] = $158; + $159 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($159|0); } -function _sqlite3VtabCallCreate($db,$iDb,$zTab,$pzErr) { - $db = $db|0; - $iDb = $iDb|0; - $zTab = $zTab|0; - $pzErr = $pzErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0; - var $9 = 0, $pMod = 0, $pTab = 0, $rc = 0, $vararg_buffer = 0, $zMod = 0, label = 0, sp = 0; +function _fts5HighlightAppend($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, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $rc = sp + 16|0; - $pTab = sp + 12|0; - $pMod = sp + 8|0; - $zMod = sp + 4|0; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $iDb; - HEAP32[$2>>2] = $zTab; - HEAP32[$3>>2] = $pzErr; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 16|0); + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($6<<4)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3FindTable($4,$5,$11)|0); - HEAP32[$pTab>>2] = $12; - $13 = HEAP32[$pTab>>2]|0; - $14 = ((($13)) + 52|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$15>>2]|0; - HEAP32[$zMod>>2] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 320|0); - $19 = HEAP32[$zMod>>2]|0; - $20 = (_sqlite3HashFind($18,$19)|0); - HEAP32[$pMod>>2] = $20; - $21 = HEAP32[$pMod>>2]|0; - $22 = ($21|0)==(0|0); - if ($22) { - label = 4; - } else { - $23 = HEAP32[$pMod>>2]|0; - $24 = HEAP32[$23>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[$7>>2]|0; + $12 = ($11|0)<(0); + if ($12) { + $13 = HEAP32[$6>>2]|0; + $14 = (_strlen($13)|0); + HEAP32[$7>>2] = $14; + } + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 60|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$7>>2]|0; + $19 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer>>2] = $17; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $18; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $19; + $20 = (_sqlite3_mprintf(49006,$vararg_buffer)|0); + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 60|0); + HEAP32[$22>>2] = $20; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 60|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0|0); + if (!($26)) { + STACKTOP = sp;return; + } + $27 = HEAP32[$4>>2]|0; + HEAP32[$27>>2] = 7; + STACKTOP = sp;return; +} +function _fts5CInstIterNext($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 20|0); + HEAP32[$8>>2] = -1; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 24|0); + HEAP32[$10>>2] = -1; + L1: while(1) { + $11 = HEAP32[$2>>2]|0; + $12 = ($11|0)==(0); + if (!($12)) { + label = 12; + break; + } + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)<($18|0); + if (!($19)) { + label = 12; + break; + } + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 36|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$1>>2]|0; $25 = ((($24)) + 4|0); $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0|0); - if ($27) { - label = 4; - } else { - $28 = HEAP32[$pMod>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 20|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(0|0); - if ($32) { - label = 4; - } else { - $37 = HEAP32[$0>>2]|0; - $38 = HEAP32[$pTab>>2]|0; - $39 = HEAP32[$pMod>>2]|0; - $40 = HEAP32[$pMod>>2]|0; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = (FUNCTION_TABLE_iiiiii[$23 & 255]($26,$29,$3,$4,$5)|0); + HEAP32[$2>>2] = $30; + $31 = HEAP32[$2>>2]|0; + $32 = ($31|0)==(0); + if (!($32)) { + continue; + } + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($33|0)==($36|0); + do { + if ($37) { + $38 = HEAP32[$5>>2]|0; + $39 = (($38) - 1)|0; + $40 = HEAP32[$1>>2]|0; $41 = HEAP32[$40>>2]|0; - $42 = ((($41)) + 4|0); + $42 = ((($41)) + 28|0); $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$3>>2]|0; - $45 = (_vtabCallConstructor($37,$38,$39,$43,$44)|0); - HEAP32[$rc>>2] = $45; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$3>>2]|0; + $48 = (FUNCTION_TABLE_iii[$43 & 255]($46,$47)|0); + $49 = (($39) + ($48))|0; + HEAP32[$6>>2] = $49; + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 20|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)<(0); + $54 = HEAP32[$5>>2]|0; + $55 = HEAP32[$1>>2]|0; + if ($53) { + $56 = ((($55)) + 20|0); + HEAP32[$56>>2] = $54; + $57 = HEAP32[$6>>2]|0; + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 24|0); + HEAP32[$59>>2] = $57; + break; + } + $60 = ((($55)) + 24|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($54|0)<=($61|0); + if (!($62)) { + label = 12; + break L1; + } + $63 = HEAP32[$6>>2]|0; + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 24|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($63|0)>($66|0); + if ($67) { + $68 = HEAP32[$6>>2]|0; + $69 = HEAP32[$1>>2]|0; + $70 = ((($69)) + 24|0); + HEAP32[$70>>2] = $68; + } } - } - } - if ((label|0) == 4) { - $33 = HEAP32[$0>>2]|0; - $34 = HEAP32[$zMod>>2]|0; - HEAP32[$vararg_buffer>>2] = $34; - $35 = (_sqlite3MPrintf($33,30631,$vararg_buffer)|0); - $36 = HEAP32[$3>>2]|0; - HEAP32[$36>>2] = $35; - HEAP32[$rc>>2] = 1; - } - $46 = HEAP32[$rc>>2]|0; - $47 = ($46|0)==(0); - if (!($47)) { - $60 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($60|0); - } - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$pTab>>2]|0; - $50 = (_sqlite3GetVTable($48,$49)|0); - $51 = ($50|0)!=(0|0); - if (!($51)) { - $60 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($60|0); + } while(0); + $71 = HEAP32[$1>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73) + 1)|0; + HEAP32[$72>>2] = $74; } - $52 = HEAP32[$0>>2]|0; - $53 = (_growVTrans($52)|0); - HEAP32[$rc>>2] = $53; - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)==(0); - if (!($55)) { - $60 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($60|0); + if ((label|0) == 12) { + $75 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($75|0); } - $56 = HEAP32[$0>>2]|0; - $57 = HEAP32[$0>>2]|0; - $58 = HEAP32[$pTab>>2]|0; - $59 = (_sqlite3GetVTable($57,$58)|0); - _addToVTrans($56,$59); - $60 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($60|0); + return (0)|0; } -function _sqlite3VtabCallDestroy($db,$iDb,$zTab) { - $db = $db|0; - $iDb = $iDb|0; - $zTab = $zTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pTab = 0, $rc = 0, $xDestroy = 0; - var label = 0, sp = 0; +function _fts5SentenceFinderCb($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $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, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $rc = sp + 12|0; - $pTab = sp + 8|0; - $p = sp + 4|0; - $xDestroy = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $iDb; - HEAP32[$3>>2] = $zTab; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$3>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($6<<4)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3FindTable($4,$5,$11)|0); - HEAP32[$pTab>>2] = $12; - $13 = HEAP32[$pTab>>2]|0; - $14 = ($13|0)!=(0|0); + STACKTOP = STACKTOP + 48|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + $15 = sp + 36|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$12>>2] = 0; + $16 = HEAP32[$7>>2]|0; + $17 = $16 & 1; + $18 = ($17|0)==(0); + if (!($18)) { + $66 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($66|0); + } + $19 = HEAP32[$6>>2]|0; + HEAP32[$13>>2] = $19; + $20 = HEAP32[$13>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)>(0); do { - if ($14) { - $15 = HEAP32[$pTab>>2]|0; - $16 = ((($15)) + 56|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)!=(0|0); - if ($18) { - $19 = HEAP32[$pTab>>2]|0; - $20 = ((($19)) + 56|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$p>>2] = $21; - while(1) { - $22 = HEAP32[$p>>2]|0; - $23 = ($22|0)!=(0|0); - if (!($23)) { - label = 8; - break; - } - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - label = 6; - break; - } - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 24|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$p>>2] = $32; + if ($22) { + HEAP8[$15>>0] = 0; + $23 = HEAP32[$10>>2]|0; + $24 = (($23) - 1)|0; + HEAP32[$14>>2] = $24; + while(1) { + $25 = HEAP32[$14>>2]|0; + $26 = ($25|0)>=(0); + if (!($26)) { + break; } - if ((label|0) == 6) { - HEAP32[$0>>2] = 6; - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); + $27 = HEAP32[$13>>2]|0; + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$14>>2]|0; + $31 = (($29) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + HEAP8[$15>>0] = $32; + $33 = HEAP8[$15>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($34|0)!=(32); + if ($35) { + $36 = HEAP8[$15>>0]|0; + $37 = $36 << 24 >> 24; + $38 = ($37|0)!=(9); + if ($38) { + $39 = HEAP8[$15>>0]|0; + $40 = $39 << 24 >> 24; + $41 = ($40|0)!=(10); + if ($41) { + $42 = HEAP8[$15>>0]|0; + $43 = $42 << 24 >> 24; + $44 = ($43|0)!=(13); + if ($44) { + break; + } + } + } } - else if ((label|0) == 8) { - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$pTab>>2]|0; - $35 = (_vtabDisconnectAll($33,$34)|0); - HEAP32[$p>>2] = $35; - $36 = HEAP32[$p>>2]|0; - $37 = ((($36)) + 4|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = ((($39)) + 20|0); - $41 = HEAP32[$40>>2]|0; - HEAP32[$xDestroy>>2] = $41; - $42 = HEAP32[$xDestroy>>2]|0; - $43 = HEAP32[$p>>2]|0; - $44 = ((($43)) + 8|0); - $45 = HEAP32[$44>>2]|0; - $46 = (FUNCTION_TABLE_ii[$42 & 255]($45)|0); - HEAP32[$rc>>2] = $46; - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)==(0); - if (!($48)) { + $45 = HEAP32[$14>>2]|0; + $46 = (($45) + -1)|0; + HEAP32[$14>>2] = $46; + } + $47 = HEAP32[$14>>2]|0; + $48 = HEAP32[$10>>2]|0; + $49 = (($48) - 1)|0; + $50 = ($47|0)!=($49|0); + if ($50) { + $51 = HEAP8[$15>>0]|0; + $52 = $51 << 24 >> 24; + $53 = ($52|0)==(46); + if (!($53)) { + $54 = HEAP8[$15>>0]|0; + $55 = $54 << 24 >> 24; + $56 = ($55|0)==(58); + if (!($56)) { break; } - $49 = HEAP32[$p>>2]|0; - $50 = ((($49)) + 8|0); - HEAP32[$50>>2] = 0; - $51 = HEAP32[$pTab>>2]|0; - $52 = ((($51)) + 56|0); - HEAP32[$52>>2] = 0; - $53 = HEAP32[$p>>2]|0; - _sqlite3VtabUnlock($53); - break; } + $57 = HEAP32[$13>>2]|0; + $58 = HEAP32[$13>>2]|0; + $59 = HEAP32[$58>>2]|0; + $60 = (_fts5SentenceFinderAdd($57,$59)|0); + HEAP32[$12>>2] = $60; } + } else { + $61 = HEAP32[$13>>2]|0; + $62 = (_fts5SentenceFinderAdd($61,0)|0); + HEAP32[$12>>2] = $62; } } while(0); - $54 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $54; - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); -} -function _sqlite3BtreeMaxPageCount($p,$mxPage) { - $p = $p|0; - $mxPage = $mxPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $mxPage; - $2 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($2); - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3PagerMaxPageCount($6,$7)|0); - HEAP32[$n>>2] = $8; - $9 = HEAP32[$n>>2]|0; - STACKTOP = sp;return ($9|0); -} -function _sqlite3SystemError($db,$rc) { - $db = $db|0; - $rc = $rc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $rc; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(3082); - if ($3) { - STACKTOP = sp;return; - } - $4 = HEAP32[$1>>2]|0; - $5 = $4 & 255; - HEAP32[$1>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)==(14); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(10); - $or$cond = $7 | $9; - if (!($or$cond)) { - STACKTOP = sp;return; - } - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3OsGetLastError($11)|0); - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 60|0); - HEAP32[$14>>2] = $12; - STACKTOP = sp;return; -} -function _sqlite3OsGetLastError($pVfs) { - $pVfs = $pVfs|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; - HEAP32[$0>>2] = $pVfs; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 68|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $10 = 0; - STACKTOP = sp;return ($10|0); - } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 68|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (FUNCTION_TABLE_iiii[$7 & 255]($8,0,0)|0); - $10 = $9; - STACKTOP = sp;return ($10|0); -} -function _sqlite3PagerMaxPageCount($pPager,$mxPage) { - $pPager = $pPager|0; - $mxPage = $mxPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $mxPage; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 164|0); - HEAP32[$6>>2] = $4; - } - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 164|0); - $9 = HEAP32[$8>>2]|0; - STACKTOP = sp;return ($9|0); + $63 = HEAP32[$13>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$63>>2] = $65; + $66 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($66|0); } -function _vtabDisconnectAll($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db2 = 0, $pNext = 0, $pRet = 0, $pVTable = 0, label = 0, sp = 0; +function _fts5SnippetScore($0,$1,$2,$3,$4,$5,$6,$7,$8) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $pRet = sp + 12|0; - $pVTable = sp + 8|0; - $db2 = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - HEAP32[$pRet>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 56|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pVTable>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 56|0); - HEAP32[$6>>2] = 0; + STACKTOP = STACKTOP + 80|0; + $9 = sp + 72|0; + $10 = sp + 68|0; + $11 = sp + 64|0; + $12 = sp + 60|0; + $13 = sp + 56|0; + $14 = sp + 52|0; + $15 = sp + 48|0; + $16 = sp + 44|0; + $17 = sp + 40|0; + $18 = sp + 36|0; + $19 = sp + 32|0; + $20 = sp + 28|0; + $21 = sp + 24|0; + $22 = sp + 20|0; + $23 = sp + 16|0; + $24 = sp + 12|0; + $25 = sp + 8|0; + $26 = sp + 4|0; + $27 = sp; + HEAP32[$9>>2] = $0; + HEAP32[$10>>2] = $1; + HEAP32[$11>>2] = $2; + HEAP32[$12>>2] = $3; + HEAP32[$13>>2] = $4; + HEAP32[$14>>2] = $5; + HEAP32[$15>>2] = $6; + HEAP32[$16>>2] = $7; + HEAP32[$17>>2] = $8; + HEAP32[$20>>2] = 0; + HEAP32[$21>>2] = 0; + HEAP32[$22>>2] = 0; + HEAP32[$23>>2] = -1; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$10>>2]|0; + $32 = (FUNCTION_TABLE_iii[$30 & 255]($31,$24)|0); + HEAP32[$18>>2] = $32; + HEAP32[$19>>2] = 0; while(1) { - $7 = HEAP32[$pVTable>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { + $33 = HEAP32[$19>>2]|0; + $34 = HEAP32[$24>>2]|0; + $35 = ($33|0)<($34|0); + $36 = HEAP32[$18>>2]|0; + $37 = ($36|0)==(0); + $38 = $35 ? $37 : 0; + if (!($38)) { break; } - $9 = HEAP32[$pVTable>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$db2>>2] = $10; - $11 = HEAP32[$pVTable>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pNext>>2] = $13; - $14 = HEAP32[$db2>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ($14|0)==($15|0); - if ($16) { - $17 = HEAP32[$pVTable>>2]|0; - HEAP32[$pRet>>2] = $17; - $18 = HEAP32[$pRet>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 56|0); - HEAP32[$20>>2] = $18; - $21 = HEAP32[$pRet>>2]|0; - $22 = ((($21)) + 24|0); - HEAP32[$22>>2] = 0; - } else { - $23 = HEAP32[$db2>>2]|0; - $24 = ((($23)) + 344|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$pVTable>>2]|0; - $27 = ((($26)) + 24|0); - HEAP32[$27>>2] = $25; - $28 = HEAP32[$pVTable>>2]|0; - $29 = HEAP32[$db2>>2]|0; - $30 = ((($29)) + 344|0); - HEAP32[$30>>2] = $28; + $39 = HEAP32[$9>>2]|0; + $40 = ((($39)) + 36|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$10>>2]|0; + $43 = HEAP32[$19>>2]|0; + $44 = (FUNCTION_TABLE_iiiiii[$41 & 255]($42,$43,$20,$21,$22)|0); + HEAP32[$18>>2] = $44; + $45 = HEAP32[$18>>2]|0; + $46 = ($45|0)==(0); + if ($46) { + $47 = HEAP32[$21>>2]|0; + $48 = HEAP32[$13>>2]|0; + $49 = ($47|0)==($48|0); + if ($49) { + $50 = HEAP32[$22>>2]|0; + $51 = HEAP32[$14>>2]|0; + $52 = ($50|0)>=($51|0); + if ($52) { + $53 = HEAP32[$22>>2]|0; + $54 = HEAP32[$14>>2]|0; + $55 = HEAP32[$15>>2]|0; + $56 = (($54) + ($55))|0; + $57 = ($53|0)<($56|0); + if ($57) { + $58 = HEAP32[$12>>2]|0; + $59 = HEAP32[$20>>2]|0; + $60 = (($58) + ($59)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62|0)!=(0); + $64 = $63 ? 1 : 1000; + $65 = HEAP32[$25>>2]|0; + $66 = (($65) + ($64))|0; + HEAP32[$25>>2] = $66; + $67 = HEAP32[$12>>2]|0; + $68 = HEAP32[$20>>2]|0; + $69 = (($67) + ($68)|0); + HEAP8[$69>>0] = 1; + $70 = HEAP32[$23>>2]|0; + $71 = ($70|0)<(0); + if ($71) { + $72 = HEAP32[$22>>2]|0; + HEAP32[$23>>2] = $72; + } + $73 = HEAP32[$22>>2]|0; + $74 = HEAP32[$9>>2]|0; + $75 = ((($74)) + 28|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$10>>2]|0; + $78 = HEAP32[$20>>2]|0; + $79 = (FUNCTION_TABLE_iii[$76 & 255]($77,$78)|0); + $80 = (($73) + ($79))|0; + HEAP32[$26>>2] = $80; + } + } + } } - $31 = HEAP32[$pNext>>2]|0; - HEAP32[$pVTable>>2] = $31; + $81 = HEAP32[$19>>2]|0; + $82 = (($81) + 1)|0; + HEAP32[$19>>2] = $82; + } + $83 = HEAP32[$25>>2]|0; + $84 = HEAP32[$16>>2]|0; + HEAP32[$84>>2] = $83; + $85 = HEAP32[$17>>2]|0; + $86 = ($85|0)!=(0|0); + if (!($86)) { + $107 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($107|0); } - $32 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($32|0); + $87 = HEAP32[$23>>2]|0; + $88 = HEAP32[$15>>2]|0; + $89 = HEAP32[$26>>2]|0; + $90 = HEAP32[$23>>2]|0; + $91 = (($89) - ($90))|0; + $92 = (($88) - ($91))|0; + $93 = (($92|0) / 2)&-1; + $94 = (($87) - ($93))|0; + HEAP32[$27>>2] = $94; + $95 = HEAP32[$27>>2]|0; + $96 = HEAP32[$15>>2]|0; + $97 = (($95) + ($96))|0; + $98 = HEAP32[$11>>2]|0; + $99 = ($97|0)>($98|0); + if ($99) { + $100 = HEAP32[$11>>2]|0; + $101 = HEAP32[$15>>2]|0; + $102 = (($100) - ($101))|0; + HEAP32[$27>>2] = $102; + } + $103 = HEAP32[$27>>2]|0; + $104 = ($103|0)<(0); + if ($104) { + HEAP32[$27>>2] = 0; + } + $105 = HEAP32[$27>>2]|0; + $106 = HEAP32[$17>>2]|0; + HEAP32[$106>>2] = $105; + $107 = HEAP32[$18>>2]|0; + STACKTOP = sp;return ($107|0); } -function _growVTrans($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ARRAY_INCR = 0, $aVTrans = 0, $nBytes = 0, label = 0, sp = 0; +function _fts5SentenceFinderAdd($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $ARRAY_INCR = sp + 8|0; - $aVTrans = sp + 4|0; - $nBytes = sp; - HEAP32[$1>>2] = $db; - HEAP32[$ARRAY_INCR>>2] = 5; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 316|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($4|0) % 5)&-1; - $6 = ($5|0)==(0); + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)==($12|0); do { - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 316|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 5)|0; - $11 = $10<<2; - HEAP32[$nBytes>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 340|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$nBytes>>2]|0; - $17 = ($16|0)<(0); - $18 = $17 << 31 >> 31; - $19 = (_sqlite3DbRealloc($12,$15,$16,$18)|0); - HEAP32[$aVTrans>>2] = $19; - $20 = HEAP32[$aVTrans>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 316|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$aVTrans>>2]|0; - $26 = (($25) + ($24<<2)|0); - ;HEAP32[$26>>2]=0|0;HEAP32[$26+4>>2]=0|0;HEAP32[$26+8>>2]=0|0;HEAP32[$26+12>>2]=0|0;HEAP32[$26+16>>2]=0|0; - $27 = HEAP32[$aVTrans>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 340|0); - HEAP32[$29>>2] = $27; + if ($13) { + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = $20<<1; + $22 = $21; + } else { + $22 = 64; + } + HEAP32[$5>>2] = $22; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = $26<<2; + $28 = (_sqlite3_realloc($25,$27)|0); + HEAP32[$6>>2] = $28; + $29 = HEAP32[$6>>2]|0; + $30 = ($29|0)==(0|0); + if (!($30)) { + $31 = HEAP32[$6>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 12|0); + HEAP32[$33>>2] = $31; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 4|0); + HEAP32[$36>>2] = $34; break; } - HEAP32[$0>>2] = 7; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); + HEAP32[$2>>2] = 7; + $46 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($46|0); } } while(0); - HEAP32[$0>>2] = 0; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); + $37 = HEAP32[$4>>2]|0; + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 12|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$42>>2] = $44; + $45 = (($40) + ($43<<2)|0); + HEAP32[$45>>2] = $37; + HEAP32[$2>>2] = 0; + $46 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($46|0); } -function _addToVTrans($db,$pVTab) { - $db = $db|0; - $pVTab = $pVTab|0; - var $0 = 0, $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; +function _fts5ExprFunctionHr($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pVTab; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 316|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[$4>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 340|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($5<<2)|0); - HEAP32[$10>>2] = $2; - $11 = HEAP32[$1>>2]|0; - _sqlite3VtabLock($11); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + _fts5ExprFunction($6,$7,$8,0); STACKTOP = sp;return; } -function _setSharedCacheTableLock($p,$iTable,$eLock) { - $p = $p|0; - $iTable = $iTable|0; - $eLock = $eLock|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $pIter = 0, $pLock = 0, label = 0, sp = 0; +function _fts5ExprFunctionTcl($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; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + _fts5ExprFunction($6,$7,$8,1); + STACKTOP = sp;return; +} +function _fts5ExprIsAlnum($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)!=(1); + if ($8) { + $9 = HEAP32[$3>>2]|0; + _sqlite3_result_error($9,49108,-1); + STACKTOP = sp;return; + } else { + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_int($11)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = (_sqlite3Fts5UnicodeIsalnum($14)|0); + _sqlite3_result_int($13,$15); + STACKTOP = sp;return; + } +} +function _fts5ExprFold($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 24|0; - $pBt = sp + 8|0; - $pLock = sp + 4|0; - $pIter = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iTable; - HEAP8[$3>>0] = $eLock; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pBt>>2] = $6; - HEAP32[$pLock>>2] = 0; - $7 = HEAP32[$pBt>>2]|0; - $8 = ((($7)) + 72|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$pIter>>2] = $9; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)!=(1); + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)!=(2); + $or$cond = $9 & $11; + if ($or$cond) { + $12 = HEAP32[$3>>2]|0; + _sqlite3_result_error($12,49060,-1); + STACKTOP = sp;return; + } + HEAP32[$7>>2] = 0; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3_value_int($14)|0); + HEAP32[$6>>2] = $15; + $16 = HEAP32[$4>>2]|0; + $17 = ($16|0)==(2); + if ($17) { + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3_value_int($20)|0); + HEAP32[$7>>2] = $21; + } + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$7>>2]|0; + $25 = (_sqlite3Fts5UnicodeFold($23,$24)|0); + _sqlite3_result_int($22,$25); + STACKTOP = sp;return; +} +function _fts5ExprFunction($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 76|0; + $5 = sp + 72|0; + $6 = sp + 68|0; + $7 = sp + 64|0; + $8 = sp + 60|0; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 36|0; + $15 = sp + 32|0; + $16 = sp + 28|0; + $17 = sp + 24|0; + $18 = sp + 20|0; + $19 = sp + 16|0; + $20 = sp + 12|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $21 = HEAP32[$4>>2]|0; + $22 = (_sqlite3_user_data($21)|0); + HEAP32[$8>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = (_sqlite3_context_db_handle($23)|0); + HEAP32[$9>>2] = $24; + HEAP32[$10>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$16>>2] = 49159; + HEAP32[$18>>2] = 0; + HEAP32[$19>>2] = 1; + $25 = HEAP32[$5>>2]|0; + $26 = ($25|0)<(1); + $27 = HEAP32[$7>>2]|0; + $28 = ($27|0)!=(0); + if ($26) { + $29 = $28 ? 49023 : 49013; + HEAP32[$vararg_buffer>>2] = $29; + $30 = (_sqlite3_mprintf(49167,$vararg_buffer)|0); + HEAP32[$11>>2] = $30; + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$11>>2]|0; + _sqlite3_result_error($31,$32,-1); + $33 = HEAP32[$11>>2]|0; + _sqlite3_free($33); + STACKTOP = sp;return; + } + $34 = HEAP32[$5>>2]|0; + $35 = ($34|0)>(1); + $or$cond = $28 & $35; + if ($or$cond) { + $36 = HEAP32[$6>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3_value_text($38)|0); + HEAP32[$16>>2] = $39; + HEAP32[$19>>2] = 2; + } + $40 = HEAP32[$5>>2]|0; + $41 = HEAP32[$19>>2]|0; + $42 = (($40) - ($41))|0; + $43 = (3 + ($42))|0; + HEAP32[$17>>2] = $43; + $44 = HEAP32[$17>>2]|0; + $45 = $44<<2; + $46 = (_sqlite3_malloc($45)|0); + HEAP32[$15>>2] = $46; + $47 = HEAP32[$15>>2]|0; + $48 = ($47|0)==(0|0); + if ($48) { + $49 = HEAP32[$4>>2]|0; + _sqlite3_result_error_nomem($49); + STACKTOP = sp;return; + } + $50 = HEAP32[$15>>2]|0; + HEAP32[$50>>2] = 0; + $51 = HEAP32[$15>>2]|0; + $52 = ((($51)) + 4|0); + HEAP32[$52>>2] = 42567; + $53 = HEAP32[$15>>2]|0; + $54 = ((($53)) + 8|0); + HEAP32[$54>>2] = 30152; + HEAP32[$14>>2] = 3; while(1) { - $10 = HEAP32[$pIter>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { + $55 = HEAP32[$19>>2]|0; + $56 = HEAP32[$5>>2]|0; + $57 = ($55|0)<($56|0); + $58 = HEAP32[$6>>2]|0; + if (!($57)) { break; } - $12 = HEAP32[$pIter>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ($14|0)==($15|0); - if ($16) { - $17 = HEAP32[$pIter>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ($18|0)==($19|0); - if ($20) { - label = 5; + $59 = HEAP32[$19>>2]|0; + $60 = (($58) + ($59<<2)|0); + $61 = HEAP32[$60>>2]|0; + $62 = (_sqlite3_value_text($61)|0); + $63 = HEAP32[$15>>2]|0; + $64 = HEAP32[$14>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$14>>2] = $65; + $66 = (($63) + ($64<<2)|0); + HEAP32[$66>>2] = $62; + $67 = HEAP32[$19>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$19>>2] = $68; + } + $69 = HEAP32[$58>>2]|0; + $70 = (_sqlite3_value_text($69)|0); + HEAP32[$10>>2] = $70; + $71 = HEAP32[$8>>2]|0; + $72 = HEAP32[$9>>2]|0; + $73 = HEAP32[$17>>2]|0; + $74 = HEAP32[$15>>2]|0; + $75 = (_sqlite3Fts5ConfigParse($71,$72,$73,$74,$18,$11)|0); + HEAP32[$13>>2] = $75; + $76 = HEAP32[$13>>2]|0; + $77 = ($76|0)==(0); + if ($77) { + $78 = HEAP32[$18>>2]|0; + $79 = HEAP32[$10>>2]|0; + $80 = (_sqlite3Fts5ExprNew($78,$79,$12,$11)|0); + HEAP32[$13>>2] = $80; + } + $81 = HEAP32[$13>>2]|0; + $82 = ($81|0)==(0); + do { + if ($82) { + $83 = HEAP32[$12>>2]|0; + $84 = ((($83)) + 8|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($85)) + 12|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($87|0)==(0|0); + do { + if ($88) { + $89 = (_sqlite3_mprintf(55752,$vararg_buffer2)|0); + HEAP32[$20>>2] = $89; + } else { + $90 = HEAP32[$7>>2]|0; + $91 = ($90|0)!=(0); + $92 = HEAP32[$18>>2]|0; + if ($91) { + $93 = HEAP32[$16>>2]|0; + $94 = HEAP32[$12>>2]|0; + $95 = ((($94)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = (_fts5ExprPrintTcl($92,$93,$96)|0); + HEAP32[$20>>2] = $97; + break; + } else { + $98 = HEAP32[$12>>2]|0; + $99 = ((($98)) + 8|0); + $100 = HEAP32[$99>>2]|0; + $101 = (_fts5ExprPrint($92,$100)|0); + HEAP32[$20>>2] = $101; + break; + } + } + } while(0); + $102 = HEAP32[$20>>2]|0; + $103 = ($102|0)==(0|0); + if ($103) { + HEAP32[$13>>2] = 7; + break; + } else { + $104 = HEAP32[$4>>2]|0; + $105 = HEAP32[$20>>2]|0; + _sqlite3_result_text($104,$105,-1,(-1)); + $106 = HEAP32[$20>>2]|0; + _sqlite3_free($106); break; } } - $22 = HEAP32[$pIter>>2]|0; - $23 = ((($22)) + 12|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$pIter>>2] = $24; - } - if ((label|0) == 5) { - $21 = HEAP32[$pIter>>2]|0; - HEAP32[$pLock>>2] = $21; - } - $25 = HEAP32[$pLock>>2]|0; - $26 = ($25|0)!=(0|0); + } while(0); + $107 = HEAP32[$13>>2]|0; + $108 = ($107|0)!=(0); do { - if (!($26)) { - $27 = (_sqlite3MallocZero(16,0)|0); - HEAP32[$pLock>>2] = $27; - $28 = HEAP32[$pLock>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$pLock>>2]|0; - $32 = ((($31)) + 4|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$pLock>>2]|0; - HEAP32[$34>>2] = $33; - $35 = HEAP32[$pBt>>2]|0; - $36 = ((($35)) + 72|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$pLock>>2]|0; - $39 = ((($38)) + 12|0); - HEAP32[$39>>2] = $37; - $40 = HEAP32[$pLock>>2]|0; - $41 = HEAP32[$pBt>>2]|0; - $42 = ((($41)) + 72|0); - HEAP32[$42>>2] = $40; + if ($108) { + $109 = HEAP32[$11>>2]|0; + $110 = ($109|0)!=(0|0); + $111 = HEAP32[$4>>2]|0; + if ($110) { + $112 = HEAP32[$11>>2]|0; + _sqlite3_result_error($111,$112,-1); + $113 = HEAP32[$11>>2]|0; + _sqlite3_free($113); + break; + } else { + $114 = HEAP32[$13>>2]|0; + _sqlite3_result_error_code($111,$114); break; } - HEAP32[$0>>2] = 7; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); } } while(0); - $43 = HEAP8[$3>>0]|0; - $44 = $43&255; - $45 = HEAP32[$pLock>>2]|0; - $46 = ((($45)) + 8|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = ($44|0)>($48|0); - if ($49) { - $50 = HEAP8[$3>>0]|0; - $51 = HEAP32[$pLock>>2]|0; - $52 = ((($51)) + 8|0); - HEAP8[$52>>0] = $50; - } - HEAP32[$0>>2] = 0; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); + $115 = HEAP32[$15>>2]|0; + _sqlite3_free($115); + $116 = HEAP32[$18>>2]|0; + _sqlite3Fts5ConfigFree($116); + $117 = HEAP32[$12>>2]|0; + _sqlite3Fts5ExprFree($117); + STACKTOP = sp;return; } -function _finalDbSize($pBt,$nOrig,$nFree) { - $pBt = $pBt|0; - $nOrig = $nOrig|0; - $nFree = $nFree|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nEntry = 0, $nFin = 0, $nPtrmap = 0; - var label = 0, sp = 0; +function _sqlite3Fts5ConfigParse($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $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_buffer4 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $nEntry = sp + 8|0; - $nPtrmap = sp + 4|0; - $nFin = sp; - HEAP32[$0>>2] = $pBt; - HEAP32[$1>>2] = $nOrig; - HEAP32[$2>>2] = $nFree; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 36|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5>>>0) / 5)&-1; - HEAP32[$nEntry>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (($7) - ($8))|0; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = (_ptrmapPageno($10,$11)|0); - $13 = (($9) + ($12))|0; - $14 = HEAP32[$nEntry>>2]|0; - $15 = (($13) + ($14))|0; - $16 = HEAP32[$nEntry>>2]|0; - $17 = (($15>>>0) / ($16>>>0))&-1; - HEAP32[$nPtrmap>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (($18) - ($19))|0; - $21 = HEAP32[$nPtrmap>>2]|0; - $22 = (($20) - ($21))|0; - HEAP32[$nFin>>2] = $22; - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[1536>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 32|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($24>>>0) / ($27>>>0))&-1; - $29 = (($28) + 1)|0; - $30 = ($23>>>0)>($29>>>0); - if ($30) { - $31 = HEAP32[$nFin>>2]|0; - $32 = HEAP32[1536>>2]|0; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 32|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($32>>>0) / ($35>>>0))&-1; - $37 = (($36) + 1)|0; - $38 = ($31>>>0)<($37>>>0); - if ($38) { - $39 = HEAP32[$nFin>>2]|0; - $40 = (($39) + -1)|0; - HEAP32[$nFin>>2] = $40; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $6 = sp + 100|0; + $7 = sp + 96|0; + $8 = sp + 92|0; + $9 = sp + 88|0; + $10 = sp + 84|0; + $11 = sp + 80|0; + $12 = sp + 76|0; + $13 = sp + 72|0; + $14 = sp + 68|0; + $15 = sp + 64|0; + $16 = sp + 60|0; + $17 = sp + 56|0; + $18 = sp + 52|0; + $19 = sp + 48|0; + $20 = sp + 44|0; + $21 = sp + 40|0; + $22 = sp + 36|0; + $23 = sp + 32|0; + $24 = sp + 28|0; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = 0; + $25 = (_sqlite3_malloc(100)|0); + HEAP32[$14>>2] = $25; + $26 = HEAP32[$11>>2]|0; + HEAP32[$26>>2] = $25; + $27 = HEAP32[$14>>2]|0; + $28 = ($27|0)==(0|0); + if ($28) { + HEAP32[$6>>2] = 7; + $194 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($194|0); + } + $29 = HEAP32[$14>>2]|0; + dest=$29; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $30 = HEAP32[$8>>2]|0; + $31 = HEAP32[$14>>2]|0; + HEAP32[$31>>2] = $30; + $32 = HEAP32[$14>>2]|0; + $33 = ((($32)) + 64|0); + HEAP32[$33>>2] = -1; + $34 = HEAP32[$9>>2]|0; + $35 = ($34*5)|0; + HEAP32[$16>>2] = $35; + $36 = HEAP32[$16>>2]|0; + $37 = (_sqlite3Fts5MallocZero($13,$36)|0); + $38 = HEAP32[$14>>2]|0; + $39 = ((($38)) + 16|0); + HEAP32[$39>>2] = $37; + $40 = HEAP32[$14>>2]|0; + $41 = ((($40)) + 16|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = (($42) + ($43<<2)|0); + $45 = HEAP32[$14>>2]|0; + $46 = ((($45)) + 20|0); + HEAP32[$46>>2] = $44; + $47 = HEAP32[$10>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = (_sqlite3Fts5Strndup($13,$49,-1)|0); + $51 = HEAP32[$14>>2]|0; + $52 = ((($51)) + 4|0); + HEAP32[$52>>2] = $50; + $53 = HEAP32[$10>>2]|0; + $54 = ((($53)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_sqlite3Fts5Strndup($13,$55,-1)|0); + $57 = HEAP32[$14>>2]|0; + $58 = ((($57)) + 8|0); + HEAP32[$58>>2] = $56; + $59 = HEAP32[$14>>2]|0; + $60 = ((($59)) + 44|0); + HEAP32[$60>>2] = 1; + $61 = HEAP32[$14>>2]|0; + $62 = ((($61)) + 48|0); + HEAP32[$62>>2] = 0; + $63 = HEAP32[$13>>2]|0; + $64 = ($63|0)==(0); + if ($64) { + $65 = HEAP32[$14>>2]|0; + $66 = ((($65)) + 8|0); + $67 = HEAP32[$66>>2]|0; + $68 = (_sqlite3_stricmp($67,48062)|0); + $69 = ($68|0)==(0); + if ($69) { + $70 = HEAP32[$14>>2]|0; + $71 = ((($70)) + 8|0); + $72 = HEAP32[$71>>2]|0; + HEAP32[$vararg_buffer>>2] = $72; + $73 = (_sqlite3_mprintf(49850,$vararg_buffer)|0); + $74 = HEAP32[$12>>2]|0; + HEAP32[$74>>2] = $73; + HEAP32[$13>>2] = 1; } } + HEAP32[$15>>2] = 3; while(1) { - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$nFin>>2]|0; - $43 = (_ptrmapPageno($41,$42)|0); - $44 = HEAP32[$nFin>>2]|0; - $45 = ($43|0)==($44|0); - if ($45) { - $56 = 1; - } else { - $46 = HEAP32[$nFin>>2]|0; - $47 = HEAP32[1536>>2]|0; - $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 32|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($47>>>0) / ($50>>>0))&-1; - $52 = (($51) + 1)|0; - $53 = ($46|0)==($52|0); - $56 = $53; + $75 = HEAP32[$13>>2]|0; + $76 = ($75|0)==(0); + if (!($76)) { + break; } - $54 = HEAP32[$nFin>>2]|0; - if (!($56)) { + $77 = HEAP32[$15>>2]|0; + $78 = HEAP32[$9>>2]|0; + $79 = ($77|0)<($78|0); + if (!($79)) { break; } - $55 = (($54) + -1)|0; - HEAP32[$nFin>>2] = $55; + $80 = HEAP32[$10>>2]|0; + $81 = HEAP32[$15>>2]|0; + $82 = (($80) + ($81<<2)|0); + $83 = HEAP32[$82>>2]|0; + HEAP32[$17>>2] = $83; + HEAP32[$19>>2] = 0; + HEAP32[$20>>2] = 0; + HEAP32[$21>>2] = 0; + HEAP32[$22>>2] = 0; + $84 = HEAP32[$17>>2]|0; + $85 = (_fts5ConfigGobbleWord($13,$84,$19,$22)|0); + HEAP32[$18>>2] = $85; + $86 = HEAP32[$18>>2]|0; + $87 = (_fts5ConfigSkipWhitespace($86)|0); + HEAP32[$18>>2] = $87; + $88 = HEAP32[$18>>2]|0; + $89 = ($88|0)!=(0|0); + if ($89) { + $90 = HEAP32[$18>>2]|0; + $91 = HEAP8[$90>>0]|0; + $92 = $91 << 24 >> 24; + $93 = ($92|0)==(61); + if ($93) { + HEAP32[$21>>2] = 1; + $94 = HEAP32[$18>>2]|0; + $95 = ((($94)) + 1|0); + HEAP32[$18>>2] = $95; + $96 = HEAP32[$22>>2]|0; + $97 = ($96|0)!=(0); + $$ = $97 ? 0 : $95; + HEAP32[$18>>2] = $$; + } + } + $98 = HEAP32[$18>>2]|0; + $99 = (_fts5ConfigSkipWhitespace($98)|0); + HEAP32[$18>>2] = $99; + $100 = HEAP32[$18>>2]|0; + $101 = ($100|0)!=(0|0); + if ($101) { + $102 = HEAP32[$18>>2]|0; + $103 = HEAP8[$102>>0]|0; + $104 = $103 << 24 >> 24; + $105 = ($104|0)!=(0); + if ($105) { + $106 = HEAP32[$18>>2]|0; + $107 = (_fts5ConfigGobbleWord($13,$106,$20,$23)|0); + HEAP32[$18>>2] = $107; + $108 = HEAP32[$18>>2]|0; + $109 = ($108|0)!=(0|0); + if ($109) { + $110 = HEAP32[$18>>2]|0; + $111 = HEAP8[$110>>0]|0; + $112 = $111 << 24 >> 24; + $113 = ($112|0)!=(0); + if ($113) { + HEAP32[$18>>2] = 0; + } + } + } + } + $114 = HEAP32[$13>>2]|0; + $115 = ($114|0)==(0); + do { + if ($115) { + $116 = HEAP32[$18>>2]|0; + $117 = ($116|0)==(0|0); + if ($117) { + $118 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer1>>2] = $118; + $119 = (_sqlite3_mprintf(49879,$vararg_buffer1)|0); + $120 = HEAP32[$12>>2]|0; + HEAP32[$120>>2] = $119; + HEAP32[$13>>2] = 1; + break; + } + $121 = HEAP32[$21>>2]|0; + $122 = ($121|0)!=(0); + if ($122) { + $123 = HEAP32[$7>>2]|0; + $124 = HEAP32[$14>>2]|0; + $125 = HEAP32[$19>>2]|0; + $126 = HEAP32[$20>>2]|0; + $127 = ($126|0)!=(0|0); + $128 = HEAP32[$20>>2]|0; + $129 = $127 ? $128 : 55752; + $130 = HEAP32[$12>>2]|0; + $131 = (_fts5ConfigParseSpecial($123,$124,$125,$129,$130)|0); + HEAP32[$13>>2] = $131; + break; + } else { + $132 = HEAP32[$14>>2]|0; + $133 = HEAP32[$19>>2]|0; + $134 = HEAP32[$20>>2]|0; + $135 = HEAP32[$12>>2]|0; + $136 = (_fts5ConfigParseColumn($132,$133,$134,$135)|0); + HEAP32[$13>>2] = $136; + HEAP32[$19>>2] = 0; + break; + } + } + } while(0); + $137 = HEAP32[$19>>2]|0; + _sqlite3_free($137); + $138 = HEAP32[$20>>2]|0; + _sqlite3_free($138); + $139 = HEAP32[$15>>2]|0; + $140 = (($139) + 1)|0; + HEAP32[$15>>2] = $140; } - STACKTOP = sp;return ($54|0); -} -function _invalidateAllOverflowCache($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; + $141 = HEAP32[$13>>2]|0; + $142 = ($141|0)==(0); + if ($142) { + $143 = HEAP32[$14>>2]|0; + $144 = ((($143)) + 56|0); + $145 = HEAP32[$144>>2]|0; + $146 = ($145|0)==(0|0); + if ($146) { + $147 = HEAP32[$7>>2]|0; + $148 = HEAP32[$14>>2]|0; + $149 = (_fts5ConfigDefaultTokenizer($147,$148)|0); + HEAP32[$13>>2] = $149; + } + } + $150 = HEAP32[$13>>2]|0; + $151 = ($150|0)==(0); + if ($151) { + $152 = HEAP32[$14>>2]|0; + $153 = ((($152)) + 36|0); + $154 = HEAP32[$153>>2]|0; + $155 = ($154|0)==(0|0); + if ($155) { + HEAP32[$24>>2] = 0; + $156 = HEAP32[$14>>2]|0; + $157 = ((($156)) + 32|0); + $158 = HEAP32[$157>>2]|0; + $159 = ($158|0)==(0); + if ($159) { + HEAP32[$24>>2] = 46221; + } else { + $160 = HEAP32[$14>>2]|0; + $161 = ((($160)) + 44|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)!=(0); + if ($163) { + HEAP32[$24>>2] = 49899; + } + } + $164 = HEAP32[$24>>2]|0; + $165 = ($164|0)!=(0|0); + if ($165) { + $166 = HEAP32[$14>>2]|0; + $167 = ((($166)) + 4|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[$14>>2]|0; + $170 = ((($169)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = HEAP32[$24>>2]|0; + HEAP32[$vararg_buffer4>>2] = $168; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $171; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $172; + $173 = (_sqlite3Fts5Mprintf($13,49907,$vararg_buffer4)|0); + $174 = HEAP32[$14>>2]|0; + $175 = ((($174)) + 36|0); + HEAP32[$175>>2] = $173; + } + } + } + $176 = HEAP32[$13>>2]|0; + $177 = ($176|0)==(0); + if ($177) { + $178 = HEAP32[$14>>2]|0; + $179 = ((($178)) + 40|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if ($181) { + $182 = (_sqlite3Fts5Strndup($13,26001,-1)|0); + $183 = HEAP32[$14>>2]|0; + $184 = ((($183)) + 40|0); + HEAP32[$184>>2] = $182; + } + } + $185 = HEAP32[$13>>2]|0; + $186 = ($185|0)==(0); + if ($186) { + $187 = HEAP32[$14>>2]|0; + $188 = (_fts5ConfigMakeExprlist($187)|0); + HEAP32[$13>>2] = $188; + } + $189 = HEAP32[$13>>2]|0; + $190 = ($189|0)!=(0); + if ($190) { + $191 = HEAP32[$14>>2]|0; + _sqlite3Fts5ConfigFree($191); + $192 = HEAP32[$11>>2]|0; + HEAP32[$192>>2] = 0; + } + $193 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $193; + $194 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($194|0); +} +function _sqlite3Fts5ExprNew($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pBt; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; + STACKTOP = STACKTOP + 96|0; + $$byval_copy = sp + 80|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = sp + 64|0; + $7 = sp + 60|0; + $8 = sp + 56|0; + $9 = sp + 32|0; + $10 = sp + 24|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $16 = HEAP32[$6>>2]|0; + HEAP32[$11>>2] = $16; + $17 = HEAP32[$7>>2]|0; + HEAP32[$17>>2] = 0; + $18 = HEAP32[$8>>2]|0; + HEAP32[$18>>2] = 0; + ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0;HEAP32[$9+12>>2]=0|0;HEAP32[$9+16>>2]=0|0;HEAP32[$9+20>>2]=0|0; + $19 = (_sqlite3Fts5ParserAlloc(219)|0); + HEAP32[$13>>2] = $19; + $20 = HEAP32[$13>>2]|0; + $21 = ($20|0)==(0|0); + if ($21) { + HEAP32[$4>>2] = 7; + $84 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($84|0); + } + $22 = HEAP32[$5>>2]|0; + HEAP32[$9>>2] = $22; while(1) { - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { + $23 = (_fts5ExprGetToken($9,$11,$10)|0); + HEAP32[$12>>2] = $23; + $24 = HEAP32[$13>>2]|0; + $25 = HEAP32[$12>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0; + _sqlite3Fts5Parser($24,$25,$$byval_copy,$9); + $26 = ((($9)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0); + $29 = HEAP32[$12>>2]|0; + $30 = ($29|0)!=(0); + $31 = $28 ? $30 : 0; + if (!($31)) { break; } - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 64|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = $9 & -5; - $11 = $10&255; - HEAP8[$7>>0] = $11; - $12 = HEAP32[$p>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$p>>2] = $14; } - STACKTOP = sp;return; + $32 = HEAP32[$13>>2]|0; + _sqlite3Fts5ParserFree($32,164); + $33 = ((($9)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0); + do { + if ($35) { + $36 = (_sqlite3_malloc(24)|0); + HEAP32[$14>>2] = $36; + $37 = HEAP32[$7>>2]|0; + HEAP32[$37>>2] = $36; + $38 = HEAP32[$14>>2]|0; + $39 = ($38|0)==(0|0); + if ($39) { + $40 = ((($9)) + 8|0); + HEAP32[$40>>2] = 7; + $41 = ((($9)) + 20|0); + $42 = HEAP32[$41>>2]|0; + _sqlite3Fts5ParseNodeFree($42); + break; + } + $43 = ((($9)) + 20|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)!=(0|0); + if ($45) { + $58 = ((($9)) + 20|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$14>>2]|0; + $61 = ((($60)) + 8|0); + HEAP32[$61>>2] = $59; + } else { + HEAP32[$15>>2] = 40; + $46 = ((($9)) + 8|0); + $47 = (_sqlite3Fts5MallocZero($46,40)|0); + $48 = HEAP32[$14>>2]|0; + $49 = ((($48)) + 8|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$14>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)!=(0|0); + if ($53) { + $54 = HEAP32[$14>>2]|0; + $55 = ((($54)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ((($56)) + 4|0); + HEAP32[$57>>2] = 1; + } + } + $62 = HEAP32[$14>>2]|0; + HEAP32[$62>>2] = 0; + $63 = HEAP32[$5>>2]|0; + $64 = HEAP32[$14>>2]|0; + $65 = ((($64)) + 4|0); + HEAP32[$65>>2] = $63; + $66 = ((($9)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$14>>2]|0; + $69 = ((($68)) + 20|0); + HEAP32[$69>>2] = $67; + $70 = ((($9)) + 12|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$14>>2]|0; + $73 = ((($72)) + 16|0); + HEAP32[$73>>2] = $71; + $74 = ((($9)) + 16|0); + HEAP32[$74>>2] = 0; + } else { + $75 = ((($9)) + 20|0); + $76 = HEAP32[$75>>2]|0; + _sqlite3Fts5ParseNodeFree($76); + } + } while(0); + $77 = ((($9)) + 16|0); + $78 = HEAP32[$77>>2]|0; + _sqlite3_free($78); + $79 = ((($9)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$8>>2]|0; + HEAP32[$81>>2] = $80; + $82 = ((($9)) + 8|0); + $83 = HEAP32[$82>>2]|0; + HEAP32[$4>>2] = $83; + $84 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($84|0); } -function _incrVacuumStep($pBt,$nFin,$iLastPg,$bCommit) { - $pBt = $pBt|0; - $nFin = $nFin|0; - $iLastPg = $iLastPg|0; - $bCommit = $bCommit|0; - var $0 = 0, $1 = 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, $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, $97 = 0, $98 = 0, $99 = 0, $eMode = 0, $eType = 0, $iFreePg = 0, $iFreePg1 = 0, $iNear = 0, $iPtrPage = 0, $nFreeList = 0, $pFreePg = 0, $pFreePg2 = 0, $pLastPg = 0, $rc = 0, label = 0, sp = 0; +function _fts5ExprPrintTcl($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0; + var $vararg_buffer18 = 0, $vararg_buffer2 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer26 = 0, $vararg_buffer28 = 0, $vararg_buffer31 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr23 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $nFreeList = sp + 32|0; - $rc = sp + 28|0; - $eType = sp + 57|0; - $iPtrPage = sp + 24|0; - $iFreePg = sp + 20|0; - $pFreePg = sp + 16|0; - $iFreePg1 = sp + 12|0; - $pLastPg = sp + 8|0; - $eMode = sp + 56|0; - $iNear = sp + 4|0; - $pFreePg2 = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$2>>2] = $nFin; - HEAP32[$3>>2] = $iLastPg; - HEAP32[$4>>2] = $bCommit; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$3>>2]|0; - $7 = (_ptrmapPageno($5,$6)|0); - $8 = HEAP32[$3>>2]|0; - $9 = ($7|0)==($8|0); - do { - if (!($9)) { - $10 = HEAP32[$3>>2]|0; - $11 = HEAP32[1536>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 32|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($11>>>0) / ($14>>>0))&-1; - $16 = (($15) + 1)|0; - $17 = ($10|0)!=($16|0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($20)) + 56|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($22)) + 36|0); - $24 = (_sqlite3Get4byte($23)|0); - HEAP32[$nFreeList>>2] = $24; - $25 = HEAP32[$nFreeList>>2]|0; - $26 = ($25|0)==(0); - if ($26) { - HEAP32[$0>>2] = 101; - $105 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($105|0); + STACKTOP = STACKTOP + 160|0; + $vararg_buffer31 = sp + 96|0; + $vararg_buffer28 = sp + 88|0; + $vararg_buffer26 = sp + 80|0; + $vararg_buffer24 = sp + 72|0; + $vararg_buffer20 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer8 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 156|0; + $4 = sp + 152|0; + $5 = sp + 148|0; + $6 = sp + 144|0; + $7 = sp + 140|0; + $8 = sp + 136|0; + $9 = sp + 132|0; + $10 = sp + 128|0; + $11 = sp + 124|0; + $12 = sp + 120|0; + $13 = sp + 116|0; + $14 = sp + 112|0; + $15 = sp + 108|0; + $16 = sp + 104|0; + $17 = sp + 100|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(11); + L1: do { + if ($20) { + label = 3; + } else { + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(4); + if ($23) { + label = 3; + } else { + HEAP32[$15>>2] = 0; + $131 = HEAP32[$6>>2]|0; + $132 = HEAP32[$131>>2]|0; + switch ($132|0) { + case 2: { + HEAP32[$15>>2] = 45936; + break; } - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$3>>2]|0; - $29 = (_ptrmapGet($27,$28,$eType,$iPtrPage)|0); - HEAP32[$rc>>2] = $29; - $30 = HEAP32[$rc>>2]|0; - $31 = ($30|0)!=(0); - if ($31) { - $32 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $32; - $105 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($105|0); + case 3: { + HEAP32[$15>>2] = 45940; + break; } - $33 = HEAP8[$eType>>0]|0; - $34 = $33&255; - $35 = ($34|0)==(1); - if ($35) { - $36 = (_sqlite3CorruptError(61751)|0); - HEAP32[$0>>2] = $36; - $105 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($105|0); + default: { + HEAP32[$15>>2] = 45933; } - $37 = HEAP8[$eType>>0]|0; - $38 = $37&255; - $39 = ($38|0)==(2); - if ($39) { - $40 = HEAP32[$4>>2]|0; - $41 = ($40|0)==(0); - if (!($41)) { - break; + } + $133 = HEAP32[$15>>2]|0; + HEAP32[$vararg_buffer28>>2] = $133; + $134 = (_sqlite3_mprintf(21240,$vararg_buffer28)|0); + HEAP32[$7>>2] = $134; + HEAP32[$16>>2] = 0; + while(1) { + $135 = HEAP32[$7>>2]|0; + $136 = ($135|0)!=(0|0); + if (!($136)) { + break L1; } - $42 = HEAP32[$1>>2]|0; - $43 = HEAP32[$3>>2]|0; - $44 = (_allocateBtreePage($42,$pFreePg,$iFreePg,$43,1)|0); - HEAP32[$rc>>2] = $44; - $45 = HEAP32[$rc>>2]|0; - $46 = ($45|0)!=(0); - if (!($46)) { - $48 = HEAP32[$pFreePg>>2]|0; - _releasePage($48); - break; + $137 = HEAP32[$16>>2]|0; + $138 = HEAP32[$6>>2]|0; + $139 = ((($138)) + 28|0); + $140 = HEAP32[$139>>2]|0; + $141 = ($137|0)<($140|0); + if (!($141)) { + break L1; + } + $142 = HEAP32[$4>>2]|0; + $143 = HEAP32[$5>>2]|0; + $144 = HEAP32[$6>>2]|0; + $145 = ((($144)) + 32|0); + $146 = HEAP32[$16>>2]|0; + $147 = (($145) + ($146<<2)|0); + $148 = HEAP32[$147>>2]|0; + $149 = (_fts5ExprPrintTcl($142,$143,$148)|0); + HEAP32[$17>>2] = $149; + $150 = HEAP32[$17>>2]|0; + $151 = ($150|0)!=(0|0); + $152 = HEAP32[$7>>2]|0; + if ($151) { + $153 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer31>>2] = $153; + $154 = (_fts5PrintfAppend($152,49300,$vararg_buffer31)|0); + HEAP32[$7>>2] = $154; + } else { + _sqlite3_free($152); + HEAP32[$7>>2] = 0; + } + $155 = HEAP32[$16>>2]|0; + $156 = (($155) + 1)|0; + HEAP32[$16>>2] = $156; + } + } + } + } while(0); + L17: do { + if ((label|0) == 3) { + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 24|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$8>>2] = $26; + $27 = HEAP32[$7>>2]|0; + $28 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $28; + $29 = (_fts5PrintfAppend($27,49253,$vararg_buffer)|0); + HEAP32[$7>>2] = $29; + $30 = HEAP32[$7>>2]|0; + $31 = ($30|0)==(0|0); + if ($31) { + HEAP32[$3>>2] = 0; + $158 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($158|0); + } + $32 = HEAP32[$8>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = HEAP32[$8>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($38)) + 4|0); + HEAP32[$11>>2] = $39; + $40 = HEAP32[$8>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$42>>2]|0; + HEAP32[$12>>2] = $43; + $44 = HEAP32[$12>>2]|0; + $45 = ($44|0)==(1); + $46 = HEAP32[$7>>2]|0; + $47 = HEAP32[$11>>2]|0; + $48 = HEAP32[$47>>2]|0; + if ($45) { + HEAP32[$vararg_buffer2>>2] = $48; + $49 = (_fts5PrintfAppend($46,49257,$vararg_buffer2)|0); + HEAP32[$7>>2] = $49; + } else { + HEAP32[$vararg_buffer5>>2] = $48; + $50 = (_fts5PrintfAppend($46,49266,$vararg_buffer5)|0); + HEAP32[$7>>2] = $50; + HEAP32[$9>>2] = 1; + while(1) { + $51 = HEAP32[$9>>2]|0; + $52 = HEAP32[$8>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = ($51|0)<($55|0); + $57 = HEAP32[$7>>2]|0; + if (!($56)) { + break; + } + $58 = HEAP32[$11>>2]|0; + $59 = HEAP32[$9>>2]|0; + $60 = (($58) + ($59<<2)|0); + $61 = HEAP32[$60>>2]|0; + HEAP32[$vararg_buffer8>>2] = $61; + $62 = (_fts5PrintfAppend($57,49275,$vararg_buffer8)|0); + HEAP32[$7>>2] = $62; + $63 = HEAP32[$9>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$9>>2] = $64; } - $47 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $47; - $105 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($105|0); + $65 = (_fts5PrintfAppend($57,49279,$vararg_buffer11)|0); + HEAP32[$7>>2] = $65; } - HEAP8[$eMode>>0] = 0; - HEAP32[$iNear>>2] = 0; - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$3>>2]|0; - $51 = (_btreeGetPage($49,$50,$pLastPg,0)|0); - HEAP32[$rc>>2] = $51; - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)!=(0); - if ($53) { - $54 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $54; - $105 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($105|0); + $66 = HEAP32[$7>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + HEAP32[$3>>2] = 0; + $158 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($158|0); } - $55 = HEAP32[$4>>2]|0; - $56 = ($55|0)==(0); - if ($56) { - HEAP8[$eMode>>0] = 2; - $57 = HEAP32[$2>>2]|0; - HEAP32[$iNear>>2] = $57; + } + $68 = HEAP32[$8>>2]|0; + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)>(1); + if ($71) { + $72 = HEAP32[$7>>2]|0; + $73 = HEAP32[$8>>2]|0; + $74 = HEAP32[$73>>2]|0; + HEAP32[$vararg_buffer13>>2] = $74; + $75 = (_fts5PrintfAppend($72,49282,$vararg_buffer13)|0); + HEAP32[$7>>2] = $75; + $76 = HEAP32[$7>>2]|0; + $77 = ($76|0)==(0|0); + if ($77) { + HEAP32[$3>>2] = 0; + $158 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($158|0); + } + } + $78 = HEAP32[$7>>2]|0; + $79 = (_fts5PrintfAppend($78,49292,$vararg_buffer16)|0); + HEAP32[$7>>2] = $79; + $80 = HEAP32[$7>>2]|0; + $81 = ($80|0)==(0|0); + if ($81) { + HEAP32[$3>>2] = 0; + $158 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($158|0); + } + HEAP32[$9>>2] = 0; + while(1) { + $82 = HEAP32[$9>>2]|0; + $83 = HEAP32[$8>>2]|0; + $84 = ((($83)) + 8|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($82|0)<($85|0); + if (!($86)) { + break L17; } + $87 = HEAP32[$8>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$9>>2]|0; + $90 = (($88) + ($89<<2)|0); + $91 = HEAP32[$90>>2]|0; + HEAP32[$13>>2] = $91; + $92 = HEAP32[$7>>2]|0; + $93 = (_fts5PrintfAppend($92,49295,$vararg_buffer18)|0); + HEAP32[$7>>2] = $93; + HEAP32[$10>>2] = 0; while(1) { - $58 = HEAP32[$1>>2]|0; - $59 = HEAP32[$iNear>>2]|0; - $60 = HEAP8[$eMode>>0]|0; - $61 = (_allocateBtreePage($58,$pFreePg2,$iFreePg1,$59,$60)|0); - HEAP32[$rc>>2] = $61; - $62 = HEAP32[$rc>>2]|0; - $63 = ($62|0)!=(0); - if ($63) { - label = 19; + $94 = HEAP32[$7>>2]|0; + $95 = ($94|0)!=(0|0); + if (!($95)) { break; } - $66 = HEAP32[$pFreePg2>>2]|0; - _releasePage($66); - $67 = HEAP32[$4>>2]|0; - $68 = ($67|0)!=(0); - if (!($68)) { + $96 = HEAP32[$10>>2]|0; + $97 = HEAP32[$13>>2]|0; + $98 = ((($97)) + 16|0); + $99 = HEAP32[$98>>2]|0; + $100 = ($96|0)<($99|0); + if (!($100)) { break; } - $69 = HEAP32[$iFreePg1>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = ($69>>>0)>($70>>>0); - if (!($71)) { - break; + $101 = HEAP32[$13>>2]|0; + $102 = ((($101)) + 20|0); + $103 = HEAP32[$10>>2]|0; + $104 = (($102) + ($103<<4)|0); + $105 = ((($104)) + 4|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$14>>2] = $106; + $107 = HEAP32[$7>>2]|0; + $108 = HEAP32[$10>>2]|0; + $109 = ($108|0)==(0); + $110 = $109 ? 55752 : 23021; + $111 = HEAP32[$14>>2]|0; + HEAP32[$vararg_buffer20>>2] = $110; + $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); + HEAP32[$vararg_ptr23>>2] = $111; + $112 = (_fts5PrintfAppend($107,23403,$vararg_buffer20)|0); + HEAP32[$7>>2] = $112; + $113 = HEAP32[$13>>2]|0; + $114 = ((($113)) + 20|0); + $115 = HEAP32[$10>>2]|0; + $116 = (($114) + ($115<<4)|0); + $117 = HEAP32[$116>>2]|0; + $118 = ($117|0)!=(0); + if ($118) { + $119 = HEAP32[$7>>2]|0; + $120 = (_fts5PrintfAppend($119,29578,$vararg_buffer24)|0); + HEAP32[$7>>2] = $120; } + $121 = HEAP32[$10>>2]|0; + $122 = (($121) + 1)|0; + HEAP32[$10>>2] = $122; } - if ((label|0) == 19) { - $64 = HEAP32[$pLastPg>>2]|0; - _releasePage($64); - $65 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $65; - $105 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($105|0); + $123 = HEAP32[$7>>2]|0; + $124 = ($123|0)!=(0|0); + if ($124) { + $125 = HEAP32[$7>>2]|0; + $126 = (_fts5PrintfAppend($125,49298,$vararg_buffer26)|0); + HEAP32[$7>>2] = $126; } - $72 = HEAP32[$1>>2]|0; - $73 = HEAP32[$pLastPg>>2]|0; - $74 = HEAP8[$eType>>0]|0; - $75 = HEAP32[$iPtrPage>>2]|0; - $76 = HEAP32[$iFreePg1>>2]|0; - $77 = HEAP32[$4>>2]|0; - $78 = (_relocatePage($72,$73,$74,$75,$76,$77)|0); - HEAP32[$rc>>2] = $78; - $79 = HEAP32[$pLastPg>>2]|0; - _releasePage($79); - $80 = HEAP32[$rc>>2]|0; - $81 = ($80|0)!=(0); - if ($81) { - $82 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $82; - $105 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($105|0); + $127 = HEAP32[$7>>2]|0; + $128 = ($127|0)==(0|0); + if ($128) { + break; } + $129 = HEAP32[$9>>2]|0; + $130 = (($129) + 1)|0; + HEAP32[$9>>2] = $130; } + HEAP32[$3>>2] = 0; + $158 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($158|0); } } while(0); - $83 = HEAP32[$4>>2]|0; - $84 = ($83|0)==(0); - if ($84) { - while(1) { - $85 = HEAP32[$3>>2]|0; - $86 = (($85) + -1)|0; - HEAP32[$3>>2] = $86; - $87 = HEAP32[$3>>2]|0; - $88 = HEAP32[1536>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 32|0); - $91 = HEAP32[$90>>2]|0; - $92 = (($88>>>0) / ($91>>>0))&-1; - $93 = (($92) + 1)|0; - $94 = ($87|0)==($93|0); - if ($94) { - continue; - } - $95 = HEAP32[$1>>2]|0; - $96 = HEAP32[$3>>2]|0; - $97 = (_ptrmapPageno($95,$96)|0); - $98 = HEAP32[$3>>2]|0; - $99 = ($97|0)==($98|0); - if (!($99)) { - break; - } - } - $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 19|0); - HEAP8[$101>>0] = 1; - $102 = HEAP32[$3>>2]|0; - $103 = HEAP32[$1>>2]|0; - $104 = ((($103)) + 44|0); - HEAP32[$104>>2] = $102; - } - HEAP32[$0>>2] = 0; - $105 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($105|0); + $157 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $157; + $158 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($158|0); } -function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { - $pBt = $pBt|0; - $ppPage = $ppPage|0; - $pPgno = $pPgno|0; - $nearby = $nearby|0; - $eMode = $eMode|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $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, $aData = 0; - var $bNoContent = 0, $closest = 0, $d2 = 0, $dist = 0, $eType = 0, $i = 0, $iNewTrunk = 0, $iPage = 0, $iTrunk = 0, $k = 0, $mxPage = 0, $n = 0, $nSearch = 0, $noContent = 0, $or$cond = 0, $pNewTrunk = 0, $pPage1 = 0, $pPg = 0, $pPrevTrunk = 0, $pTrunk = 0; - var $rc = 0, $searchList = 0, label = 0, sp = 0; +function _fts5ExprPrint($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0; + var $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 96|0; - $1 = sp + 92|0; - $2 = sp + 88|0; - $3 = sp + 84|0; - $4 = sp + 80|0; - $5 = sp + 102|0; - $pPage1 = sp + 76|0; - $rc = sp + 72|0; - $n = sp + 68|0; - $k = sp + 64|0; - $pTrunk = sp + 60|0; - $pPrevTrunk = sp + 56|0; - $mxPage = sp + 52|0; - $iTrunk = sp + 48|0; - $searchList = sp + 101|0; - $nSearch = sp + 44|0; - $eType = sp + 100|0; - $pNewTrunk = sp + 40|0; - $iNewTrunk = sp + 36|0; - $closest = sp + 32|0; - $iPage = sp + 28|0; - $aData = sp + 24|0; - $i = sp + 20|0; - $dist = sp + 16|0; - $d2 = sp + 12|0; - $noContent = sp + 8|0; - $bNoContent = sp + 4|0; - $pPg = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$2>>2] = $ppPage; - HEAP32[$3>>2] = $pPgno; - HEAP32[$4>>2] = $nearby; - HEAP8[$5>>0] = $eMode; - HEAP32[$pTrunk>>2] = 0; - HEAP32[$pPrevTrunk>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pPage1>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = (_btreePagecount($9)|0); - HEAP32[$mxPage>>2] = $10; - $11 = HEAP32[$pPage1>>2]|0; - $12 = ((($11)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 36|0); - $15 = (_sqlite3Get4byte($14)|0); - HEAP32[$n>>2] = $15; - $16 = HEAP32[$n>>2]|0; - $17 = HEAP32[$mxPage>>2]|0; - $18 = ($16>>>0)>=($17>>>0); - if ($18) { - $19 = (_sqlite3CorruptError(63793)|0); - HEAP32[$0>>2] = $19; - $458 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($458|0); + STACKTOP = STACKTOP + 128|0; + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer8 = sp + 24|0; + $vararg_buffer6 = sp + 16|0; + $vararg_buffer4 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 120|0; + $3 = sp + 116|0; + $4 = sp + 112|0; + $5 = sp + 108|0; + $6 = sp + 104|0; + $7 = sp + 100|0; + $8 = sp + 96|0; + $9 = sp + 92|0; + $10 = sp + 88|0; + $11 = sp + 84|0; + $12 = sp + 80|0; + $13 = sp + 76|0; + $14 = sp + 72|0; + $15 = sp + 68|0; + $16 = sp + 64|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $20 = (_sqlite3_mprintf(49208,$vararg_buffer)|0); + HEAP32[$2>>2] = $20; + $159 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($159|0); } - $20 = HEAP32[$n>>2]|0; - $21 = ($20>>>0)>(0); + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(11); L5: do { - if ($21) { - HEAP8[$searchList>>0] = 0; - HEAP32[$nSearch>>2] = 0; - $22 = HEAP8[$5>>0]|0; - $23 = $22&255; - $24 = ($23|0)==(1); - do { - if ($24) { - $25 = HEAP32[$4>>2]|0; - $26 = HEAP32[$mxPage>>2]|0; - $27 = ($25>>>0)<=($26>>>0); - if ($27) { - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$4>>2]|0; - $30 = (_ptrmapGet($28,$29,$eType,0)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$rc>>2]|0; - $32 = ($31|0)!=(0); - if ($32) { - $33 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $33; - $458 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($458|0); + if ($23) { + label = 5; + } else { + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(4); + if ($26) { + label = 5; + } else { + HEAP32[$12>>2] = 0; + $110 = HEAP32[$4>>2]|0; + $111 = HEAP32[$110>>2]|0; + switch ($111|0) { + case 2: { + HEAP32[$12>>2] = 34303; + break; + } + case 3: { + HEAP32[$12>>2] = 49233; + break; + } + default: { + HEAP32[$12>>2] = 49239; + } + } + HEAP32[$13>>2] = 0; + while(1) { + $112 = HEAP32[$13>>2]|0; + $113 = HEAP32[$4>>2]|0; + $114 = ((($113)) + 28|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($112|0)<($115|0); + if (!($116)) { + break L5; + } + $117 = HEAP32[$3>>2]|0; + $118 = HEAP32[$4>>2]|0; + $119 = ((($118)) + 32|0); + $120 = HEAP32[$13>>2]|0; + $121 = (($119) + ($120<<2)|0); + $122 = HEAP32[$121>>2]|0; + $123 = (_fts5ExprPrint($117,$122)|0); + HEAP32[$14>>2] = $123; + $124 = HEAP32[$14>>2]|0; + $125 = ($124|0)==(0|0); + if ($125) { + $126 = HEAP32[$5>>2]|0; + _sqlite3_free($126); + HEAP32[$5>>2] = 0; + } else { + $127 = HEAP32[$4>>2]|0; + $128 = ((($127)) + 32|0); + $129 = HEAP32[$13>>2]|0; + $130 = (($128) + ($129<<2)|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$131>>2]|0; + HEAP32[$15>>2] = $132; + $133 = HEAP32[$15>>2]|0; + $134 = ($133|0)!=(11); + $135 = HEAP32[$15>>2]|0; + $136 = ($135|0)!=(4); + $or$cond3 = $134 & $136; + if ($or$cond3) { + $137 = HEAP32[$15>>2]|0; + $138 = ($137|0)!=(0); + $140 = $138; } else { - $34 = HEAP8[$eType>>0]|0; - $35 = $34&255; - $36 = ($35|0)==(2); - if (!($36)) { - break; - } - HEAP8[$searchList>>0] = 1; - break; + $140 = 0; } + $139 = $140&1; + HEAP32[$16>>2] = $139; + $141 = HEAP32[$5>>2]|0; + $142 = HEAP32[$13>>2]|0; + $143 = ($142|0)==(0); + $144 = HEAP32[$12>>2]|0; + $145 = $143 ? 55752 : $144; + $146 = HEAP32[$16>>2]|0; + $147 = ($146|0)!=(0); + $148 = $147 ? 34324 : 55752; + $149 = HEAP32[$14>>2]|0; + $150 = HEAP32[$16>>2]|0; + $151 = ($150|0)!=(0); + $152 = $151 ? 34322 : 55752; + HEAP32[$vararg_buffer17>>2] = $145; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $148; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $149; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $152; + $153 = (_fts5PrintfAppend($141,49244,$vararg_buffer17)|0); + HEAP32[$5>>2] = $153; + } + $154 = HEAP32[$5>>2]|0; + $155 = ($154|0)==(0|0); + if ($155) { + break L5; } - } else { - $37 = HEAP8[$5>>0]|0; - $38 = $37&255; - $39 = ($38|0)==(2); - if ($39) { - HEAP8[$searchList>>0] = 1; - } + $156 = HEAP32[$13>>2]|0; + $157 = (($156) + 1)|0; + HEAP32[$13>>2] = $157; } - } while(0); - $40 = HEAP32[$pPage1>>2]|0; - $41 = ((($40)) + 72|0); - $42 = HEAP32[$41>>2]|0; - $43 = (_sqlite3PagerWrite($42)|0); - HEAP32[$rc>>2] = $43; - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)!=(0); - if ($45) { - $46 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $46; - $458 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($458|0); } - $47 = HEAP32[$pPage1>>2]|0; - $48 = ((($47)) + 56|0); - $49 = HEAP32[$48>>2]|0; - $50 = ((($49)) + 36|0); - $51 = HEAP32[$n>>2]|0; - $52 = (($51) - 1)|0; - _sqlite3Put4byte($50,$52); - L22: while(1) { - $53 = HEAP32[$pTrunk>>2]|0; - HEAP32[$pPrevTrunk>>2] = $53; - $54 = HEAP32[$pPrevTrunk>>2]|0; - $55 = ($54|0)!=(0|0); - if ($55) { - $56 = HEAP32[$pPrevTrunk>>2]|0; - $57 = ((($56)) + 56|0); - $58 = HEAP32[$57>>2]|0; - $59 = (_sqlite3Get4byte($58)|0); - HEAP32[$iTrunk>>2] = $59; - } else { - $60 = HEAP32[$pPage1>>2]|0; - $61 = ((($60)) + 56|0); - $62 = HEAP32[$61>>2]|0; - $63 = ((($62)) + 32|0); - $64 = (_sqlite3Get4byte($63)|0); - HEAP32[$iTrunk>>2] = $64; - } - $65 = HEAP32[$iTrunk>>2]|0; - $66 = HEAP32[$mxPage>>2]|0; - $67 = ($65>>>0)>($66>>>0); - if ($67) { - label = 20; - } else { - $68 = HEAP32[$nSearch>>2]|0; - $69 = (($68) + 1)|0; - HEAP32[$nSearch>>2] = $69; - $70 = HEAP32[$n>>2]|0; - $71 = ($68>>>0)>($70>>>0); - if ($71) { - label = 20; - } else { - $73 = HEAP32[$1>>2]|0; - $74 = HEAP32[$iTrunk>>2]|0; - $75 = (_btreeGetUnusedPage($73,$74,$pTrunk,0)|0); - HEAP32[$rc>>2] = $75; - } + } + } while(0); + do { + if ((label|0) == 5) { + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 24|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$6>>2] = $29; + $30 = HEAP32[$6>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0|0); + if ($33) { + $34 = HEAP32[$6>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$9>>2] = $38; + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 16|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = (($42) + ($43<<2)|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$vararg_buffer4>>2] = $45; + $46 = (_fts5PrintfAppend($39,49211,$vararg_buffer4)|0); + HEAP32[$5>>2] = $46; + $47 = HEAP32[$5>>2]|0; + $48 = ($47|0)==(0|0); + if ($48) { + HEAP32[$2>>2] = 0; + $159 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($159|0); } - if ((label|0) == 20) { - label = 0; - $72 = (_sqlite3CorruptError(63849)|0); - HEAP32[$rc>>2] = $72; + } + $49 = HEAP32[$6>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)>(1); + if ($52) { + $53 = HEAP32[$5>>2]|0; + $54 = (_fts5PrintfAppend($53,49217,$vararg_buffer6)|0); + HEAP32[$5>>2] = $54; + $55 = HEAP32[$5>>2]|0; + $56 = ($55|0)==(0|0); + if ($56) { + HEAP32[$2>>2] = 0; + $159 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($159|0); } - $76 = HEAP32[$rc>>2]|0; - $77 = ($76|0)!=(0); - if ($77) { - label = 23; + } + HEAP32[$7>>2] = 0; + L36: while(1) { + $57 = HEAP32[$7>>2]|0; + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + 8|0); + $60 = HEAP32[$59>>2]|0; + $61 = ($57|0)<($60|0); + $62 = HEAP32[$6>>2]|0; + if (!($61)) { + label = 24; break; } - $78 = HEAP32[$pTrunk>>2]|0; - $79 = ((($78)) + 56|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($80)) + 4|0); - $82 = (_sqlite3Get4byte($81)|0); - HEAP32[$k>>2] = $82; - $83 = HEAP32[$k>>2]|0; - $84 = ($83|0)!=(0); - $85 = HEAP8[$searchList>>0]|0; - $86 = ($85<<24>>24)!=(0); - $or$cond = $84 | $86; - L35: do { + $63 = ((($62)) + 12|0); + $64 = HEAP32[$7>>2]|0; + $65 = (($63) + ($64<<2)|0); + $66 = HEAP32[$65>>2]|0; + HEAP32[$10>>2] = $66; + $67 = HEAP32[$7>>2]|0; + $68 = ($67|0)!=(0); + if ($68) { + $69 = HEAP32[$5>>2]|0; + $70 = (_fts5PrintfAppend($69,23021,$vararg_buffer8)|0); + HEAP32[$5>>2] = $70; + $71 = HEAP32[$5>>2]|0; + $72 = ($71|0)==(0|0); + if ($72) { + label = 15; + break; + } + } + HEAP32[$8>>2] = 0; + while(1) { + $73 = HEAP32[$8>>2]|0; + $74 = HEAP32[$10>>2]|0; + $75 = ((($74)) + 16|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($73|0)<($76|0); + if (!($77)) { + break; + } + $78 = HEAP32[$10>>2]|0; + $79 = ((($78)) + 20|0); + $80 = HEAP32[$8>>2]|0; + $81 = (($79) + ($80<<4)|0); + $82 = (_fts5ExprTermPrint($81)|0); + HEAP32[$11>>2] = $82; + $83 = HEAP32[$11>>2]|0; + $84 = ($83|0)!=(0|0); + if ($84) { + $85 = HEAP32[$5>>2]|0; + $86 = HEAP32[$8>>2]|0; + $87 = ($86|0)==(0); + $88 = $87 ? 55752 : 49223; + $89 = HEAP32[$11>>2]|0; + HEAP32[$vararg_buffer10>>2] = $88; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $89; + $90 = (_fts5PrintfAppend($85,23403,$vararg_buffer10)|0); + HEAP32[$5>>2] = $90; + $91 = HEAP32[$11>>2]|0; + _sqlite3_free($91); + } + $92 = HEAP32[$11>>2]|0; + $93 = ($92|0)==(0|0); + $94 = HEAP32[$5>>2]|0; + $95 = ($94|0)==(0|0); + $or$cond = $93 | $95; if ($or$cond) { - $104 = HEAP32[$k>>2]|0; - $105 = HEAP32[$1>>2]|0; - $106 = ((($105)) + 36|0); - $107 = HEAP32[$106>>2]|0; - $108 = (($107>>>0) / 4)&-1; - $109 = (($108) - 2)|0; - $110 = ($104>>>0)>($109>>>0); - if ($110) { - label = 28; - break L22; - } - $112 = HEAP8[$searchList>>0]|0; - $113 = $112&255; - $114 = ($113|0)!=(0); - do { - if ($114) { - $115 = HEAP32[$4>>2]|0; - $116 = HEAP32[$iTrunk>>2]|0; - $117 = ($115|0)==($116|0); - if (!($117)) { - $118 = HEAP32[$iTrunk>>2]|0; - $119 = HEAP32[$4>>2]|0; - $120 = ($118>>>0)<($119>>>0); - if (!($120)) { - break; - } - $121 = HEAP8[$5>>0]|0; - $122 = $121&255; - $123 = ($122|0)==(2); - if (!($123)) { - break; - } - } - $124 = HEAP32[$iTrunk>>2]|0; - $125 = HEAP32[$3>>2]|0; - HEAP32[$125>>2] = $124; - $126 = HEAP32[$pTrunk>>2]|0; - $127 = HEAP32[$2>>2]|0; - HEAP32[$127>>2] = $126; - HEAP8[$searchList>>0] = 0; - $128 = HEAP32[$pTrunk>>2]|0; - $129 = ((($128)) + 72|0); - $130 = HEAP32[$129>>2]|0; - $131 = (_sqlite3PagerWrite($130)|0); - HEAP32[$rc>>2] = $131; - $132 = HEAP32[$rc>>2]|0; - $133 = ($132|0)!=(0); - if ($133) { - break L5; - } - $134 = HEAP32[$k>>2]|0; - $135 = ($134|0)==(0); - do { - if ($135) { - $136 = HEAP32[$pPrevTrunk>>2]|0; - $137 = ($136|0)!=(0|0); - if (!($137)) { - $138 = HEAP32[$pPage1>>2]|0; - $139 = ((($138)) + 56|0); - $140 = HEAP32[$139>>2]|0; - $141 = ((($140)) + 32|0); - $142 = HEAP32[$pTrunk>>2]|0; - $143 = ((($142)) + 56|0); - $144 = HEAP32[$143>>2]|0; - ;HEAP8[$141>>0]=HEAP8[$144>>0]|0;HEAP8[$141+1>>0]=HEAP8[$144+1>>0]|0;HEAP8[$141+2>>0]=HEAP8[$144+2>>0]|0;HEAP8[$141+3>>0]=HEAP8[$144+3>>0]|0; - break; - } - $145 = HEAP32[$pPrevTrunk>>2]|0; - $146 = ((($145)) + 72|0); - $147 = HEAP32[$146>>2]|0; - $148 = (_sqlite3PagerWrite($147)|0); - HEAP32[$rc>>2] = $148; - $149 = HEAP32[$rc>>2]|0; - $150 = ($149|0)!=(0); - if ($150) { - break L5; - } - $151 = HEAP32[$pPrevTrunk>>2]|0; - $152 = ((($151)) + 56|0); - $153 = HEAP32[$152>>2]|0; - $154 = HEAP32[$pTrunk>>2]|0; - $155 = ((($154)) + 56|0); - $156 = HEAP32[$155>>2]|0; - ;HEAP8[$153>>0]=HEAP8[$156>>0]|0;HEAP8[$153+1>>0]=HEAP8[$156+1>>0]|0;HEAP8[$153+2>>0]=HEAP8[$156+2>>0]|0;HEAP8[$153+3>>0]=HEAP8[$156+3>>0]|0; - } else { - $157 = HEAP32[$pTrunk>>2]|0; - $158 = ((($157)) + 56|0); - $159 = HEAP32[$158>>2]|0; - $160 = ((($159)) + 8|0); - $161 = (_sqlite3Get4byte($160)|0); - HEAP32[$iNewTrunk>>2] = $161; - $162 = HEAP32[$iNewTrunk>>2]|0; - $163 = HEAP32[$mxPage>>2]|0; - $164 = ($162>>>0)>($163>>>0); - if ($164) { - label = 40; - break L22; - } - $166 = HEAP32[$1>>2]|0; - $167 = HEAP32[$iNewTrunk>>2]|0; - $168 = (_btreeGetUnusedPage($166,$167,$pNewTrunk,0)|0); - HEAP32[$rc>>2] = $168; - $169 = HEAP32[$rc>>2]|0; - $170 = ($169|0)!=(0); - if ($170) { - break L5; - } - $171 = HEAP32[$pNewTrunk>>2]|0; - $172 = ((($171)) + 72|0); - $173 = HEAP32[$172>>2]|0; - $174 = (_sqlite3PagerWrite($173)|0); - HEAP32[$rc>>2] = $174; - $175 = HEAP32[$rc>>2]|0; - $176 = ($175|0)!=(0); - $177 = HEAP32[$pNewTrunk>>2]|0; - if ($176) { - label = 43; - break L22; - } - $178 = ((($177)) + 56|0); - $179 = HEAP32[$178>>2]|0; - $180 = HEAP32[$pTrunk>>2]|0; - $181 = ((($180)) + 56|0); - $182 = HEAP32[$181>>2]|0; - ;HEAP8[$179>>0]=HEAP8[$182>>0]|0;HEAP8[$179+1>>0]=HEAP8[$182+1>>0]|0;HEAP8[$179+2>>0]=HEAP8[$182+2>>0]|0;HEAP8[$179+3>>0]=HEAP8[$182+3>>0]|0; - $183 = HEAP32[$pNewTrunk>>2]|0; - $184 = ((($183)) + 56|0); - $185 = HEAP32[$184>>2]|0; - $186 = ((($185)) + 4|0); - $187 = HEAP32[$k>>2]|0; - $188 = (($187) - 1)|0; - _sqlite3Put4byte($186,$188); - $189 = HEAP32[$pNewTrunk>>2]|0; - $190 = ((($189)) + 56|0); - $191 = HEAP32[$190>>2]|0; - $192 = ((($191)) + 8|0); - $193 = HEAP32[$pTrunk>>2]|0; - $194 = ((($193)) + 56|0); - $195 = HEAP32[$194>>2]|0; - $196 = ((($195)) + 12|0); - $197 = HEAP32[$k>>2]|0; - $198 = (($197) - 1)|0; - $199 = $198<<2; - _memcpy(($192|0),($196|0),($199|0))|0; - $200 = HEAP32[$pNewTrunk>>2]|0; - _releasePage($200); - $201 = HEAP32[$pPrevTrunk>>2]|0; - $202 = ($201|0)!=(0|0); - if (!($202)) { - $203 = HEAP32[$pPage1>>2]|0; - $204 = ((($203)) + 56|0); - $205 = HEAP32[$204>>2]|0; - $206 = ((($205)) + 32|0); - $207 = HEAP32[$iNewTrunk>>2]|0; - _sqlite3Put4byte($206,$207); - break; - } - $208 = HEAP32[$pPrevTrunk>>2]|0; - $209 = ((($208)) + 72|0); - $210 = HEAP32[$209>>2]|0; - $211 = (_sqlite3PagerWrite($210)|0); - HEAP32[$rc>>2] = $211; - $212 = HEAP32[$rc>>2]|0; - $213 = ($212|0)!=(0); - if ($213) { - break L5; - } - $214 = HEAP32[$pPrevTrunk>>2]|0; - $215 = ((($214)) + 56|0); - $216 = HEAP32[$215>>2]|0; - $217 = HEAP32[$iNewTrunk>>2]|0; - _sqlite3Put4byte($216,$217); - } - } while(0); - HEAP32[$pTrunk>>2] = 0; - break L35; - } - } while(0); - $218 = HEAP32[$k>>2]|0; - $219 = ($218>>>0)>(0); - if ($219) { - $220 = HEAP32[$pTrunk>>2]|0; - $221 = ((($220)) + 56|0); - $222 = HEAP32[$221>>2]|0; - HEAP32[$aData>>2] = $222; - $223 = HEAP32[$4>>2]|0; - $224 = ($223>>>0)>(0); - HEAP32[$closest>>2] = 0; - L62: do { - if ($224) { - $225 = HEAP8[$5>>0]|0; - $226 = $225&255; - $227 = ($226|0)==(2); - if ($227) { - HEAP32[$i>>2] = 0; - while(1) { - $228 = HEAP32[$i>>2]|0; - $229 = HEAP32[$k>>2]|0; - $230 = ($228>>>0)<($229>>>0); - if (!($230)) { - break L62; - } - $231 = HEAP32[$i>>2]|0; - $232 = $231<<2; - $233 = (8 + ($232))|0; - $234 = HEAP32[$aData>>2]|0; - $235 = (($234) + ($233)|0); - $236 = (_sqlite3Get4byte($235)|0); - HEAP32[$iPage>>2] = $236; - $237 = HEAP32[$iPage>>2]|0; - $238 = HEAP32[$4>>2]|0; - $239 = ($237>>>0)<=($238>>>0); - $240 = HEAP32[$i>>2]|0; - if ($239) { - break; - } - $241 = (($240) + 1)|0; - HEAP32[$i>>2] = $241; - } - HEAP32[$closest>>2] = $240; - break; - } else { - $242 = HEAP32[$aData>>2]|0; - $243 = ((($242)) + 8|0); - $244 = (_sqlite3Get4byte($243)|0); - $245 = HEAP32[$4>>2]|0; - $246 = (($244) - ($245))|0; - $247 = (_sqlite3AbsInt32($246)|0); - HEAP32[$dist>>2] = $247; - HEAP32[$i>>2] = 1; - while(1) { - $248 = HEAP32[$i>>2]|0; - $249 = HEAP32[$k>>2]|0; - $250 = ($248>>>0)<($249>>>0); - if (!($250)) { - break L62; - } - $251 = HEAP32[$i>>2]|0; - $252 = $251<<2; - $253 = (8 + ($252))|0; - $254 = HEAP32[$aData>>2]|0; - $255 = (($254) + ($253)|0); - $256 = (_sqlite3Get4byte($255)|0); - $257 = HEAP32[$4>>2]|0; - $258 = (($256) - ($257))|0; - $259 = (_sqlite3AbsInt32($258)|0); - HEAP32[$d2>>2] = $259; - $260 = HEAP32[$d2>>2]|0; - $261 = HEAP32[$dist>>2]|0; - $262 = ($260|0)<($261|0); - if ($262) { - $263 = HEAP32[$i>>2]|0; - HEAP32[$closest>>2] = $263; - $264 = HEAP32[$d2>>2]|0; - HEAP32[$dist>>2] = $264; - } - $265 = HEAP32[$i>>2]|0; - $266 = (($265) + 1)|0; - HEAP32[$i>>2] = $266; - } - } - } - } while(0); - $267 = HEAP32[$closest>>2]|0; - $268 = $267<<2; - $269 = (8 + ($268))|0; - $270 = HEAP32[$aData>>2]|0; - $271 = (($270) + ($269)|0); - $272 = (_sqlite3Get4byte($271)|0); - HEAP32[$iPage>>2] = $272; - $273 = HEAP32[$iPage>>2]|0; - $274 = HEAP32[$mxPage>>2]|0; - $275 = ($273>>>0)>($274>>>0); - if ($275) { - label = 63; - break L22; - } - $277 = HEAP8[$searchList>>0]|0; - $278 = ($277<<24>>24)!=(0); - if ($278) { - $279 = HEAP32[$iPage>>2]|0; - $280 = HEAP32[$4>>2]|0; - $281 = ($279|0)==($280|0); - if (!($281)) { - $282 = HEAP32[$iPage>>2]|0; - $283 = HEAP32[$4>>2]|0; - $284 = ($282>>>0)<($283>>>0); - if (!($284)) { - break; - } - $285 = HEAP8[$5>>0]|0; - $286 = $285&255; - $287 = ($286|0)==(2); - if (!($287)) { - break; - } - } - } - $288 = HEAP32[$iPage>>2]|0; - $289 = HEAP32[$3>>2]|0; - HEAP32[$289>>2] = $288; - $290 = HEAP32[$pTrunk>>2]|0; - $291 = ((($290)) + 72|0); - $292 = HEAP32[$291>>2]|0; - $293 = (_sqlite3PagerWrite($292)|0); - HEAP32[$rc>>2] = $293; - $294 = HEAP32[$rc>>2]|0; - $295 = ($294|0)!=(0); - if ($295) { - break L5; - } - $296 = HEAP32[$closest>>2]|0; - $297 = HEAP32[$k>>2]|0; - $298 = (($297) - 1)|0; - $299 = ($296>>>0)<($298>>>0); - if ($299) { - $300 = HEAP32[$closest>>2]|0; - $301 = $300<<2; - $302 = (8 + ($301))|0; - $303 = HEAP32[$aData>>2]|0; - $304 = (($303) + ($302)|0); - $305 = HEAP32[$k>>2]|0; - $306 = $305<<2; - $307 = (4 + ($306))|0; - $308 = HEAP32[$aData>>2]|0; - $309 = (($308) + ($307)|0); - ;HEAP8[$304>>0]=HEAP8[$309>>0]|0;HEAP8[$304+1>>0]=HEAP8[$309+1>>0]|0;HEAP8[$304+2>>0]=HEAP8[$309+2>>0]|0;HEAP8[$304+3>>0]=HEAP8[$309+3>>0]|0; - } - $310 = HEAP32[$aData>>2]|0; - $311 = ((($310)) + 4|0); - $312 = HEAP32[$k>>2]|0; - $313 = (($312) - 1)|0; - _sqlite3Put4byte($311,$313); - $314 = HEAP32[$1>>2]|0; - $315 = HEAP32[$3>>2]|0; - $316 = HEAP32[$315>>2]|0; - $317 = (_btreeGetHasContent($314,$316)|0); - $318 = ($317|0)!=(0); - $319 = $318 ^ 1; - $320 = $319 ? 1 : 0; - HEAP32[$noContent>>2] = $320; - $321 = HEAP32[$1>>2]|0; - $322 = HEAP32[$3>>2]|0; - $323 = HEAP32[$322>>2]|0; - $324 = HEAP32[$2>>2]|0; - $325 = HEAP32[$noContent>>2]|0; - $326 = (_btreeGetUnusedPage($321,$323,$324,$325)|0); - HEAP32[$rc>>2] = $326; - $327 = HEAP32[$rc>>2]|0; - $328 = ($327|0)==(0); - do { - if ($328) { - $329 = HEAP32[$2>>2]|0; - $330 = HEAP32[$329>>2]|0; - $331 = ((($330)) + 72|0); - $332 = HEAP32[$331>>2]|0; - $333 = (_sqlite3PagerWrite($332)|0); - HEAP32[$rc>>2] = $333; - $334 = HEAP32[$rc>>2]|0; - $335 = ($334|0)!=(0); - if (!($335)) { - break; - } - $336 = HEAP32[$2>>2]|0; - $337 = HEAP32[$336>>2]|0; - _releasePage($337); - $338 = HEAP32[$2>>2]|0; - HEAP32[$338>>2] = 0; - } - } while(0); - HEAP8[$searchList>>0] = 0; - } - } else { - $87 = HEAP32[$pTrunk>>2]|0; - $88 = ((($87)) + 72|0); - $89 = HEAP32[$88>>2]|0; - $90 = (_sqlite3PagerWrite($89)|0); - HEAP32[$rc>>2] = $90; - $91 = HEAP32[$rc>>2]|0; - $92 = ($91|0)!=(0); - if ($92) { - break L5; - } - $93 = HEAP32[$iTrunk>>2]|0; - $94 = HEAP32[$3>>2]|0; - HEAP32[$94>>2] = $93; - $95 = HEAP32[$pPage1>>2]|0; - $96 = ((($95)) + 56|0); - $97 = HEAP32[$96>>2]|0; - $98 = ((($97)) + 32|0); - $99 = HEAP32[$pTrunk>>2]|0; - $100 = ((($99)) + 56|0); - $101 = HEAP32[$100>>2]|0; - ;HEAP8[$98>>0]=HEAP8[$101>>0]|0;HEAP8[$98+1>>0]=HEAP8[$101+1>>0]|0;HEAP8[$98+2>>0]=HEAP8[$101+2>>0]|0;HEAP8[$98+3>>0]=HEAP8[$101+3>>0]|0; - $102 = HEAP32[$pTrunk>>2]|0; - $103 = HEAP32[$2>>2]|0; - HEAP32[$103>>2] = $102; - HEAP32[$pTrunk>>2] = 0; + label = 21; + break L36; } - } while(0); - $339 = HEAP32[$pPrevTrunk>>2]|0; - _releasePage($339); - HEAP32[$pPrevTrunk>>2] = 0; - $340 = HEAP8[$searchList>>0]|0; - $341 = ($340<<24>>24)!=(0); - if (!($341)) { - break L5; + $97 = HEAP32[$8>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[$8>>2] = $98; } + $99 = HEAP32[$7>>2]|0; + $100 = (($99) + 1)|0; + HEAP32[$7>>2] = $100; } - if ((label|0) == 23) { - HEAP32[$pTrunk>>2] = 0; - break; - } - else if ((label|0) == 28) { - $111 = (_sqlite3CorruptError(63878)|0); - HEAP32[$rc>>2] = $111; - break; - } - else if ((label|0) == 40) { - $165 = (_sqlite3CorruptError(63912)|0); - HEAP32[$rc>>2] = $165; - break; - } - else if ((label|0) == 43) { - _releasePage($177); - break; + if ((label|0) == 15) { + HEAP32[$2>>2] = 0; + $159 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($159|0); } - else if ((label|0) == 63) { - $276 = (_sqlite3CorruptError(63977)|0); - HEAP32[$rc>>2] = $276; - break; + else if ((label|0) == 21) { + $96 = HEAP32[$5>>2]|0; + _sqlite3_free($96); + HEAP32[$2>>2] = 0; + $159 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($159|0); } - } else { - $342 = HEAP32[$1>>2]|0; - $343 = ((($342)) + 19|0); - $344 = HEAP8[$343>>0]|0; - $345 = $344&255; - $346 = (0)==($345|0); - $347 = $346 ? 1 : 0; - HEAP32[$bNoContent>>2] = $347; - $348 = HEAP32[$1>>2]|0; - $349 = ((($348)) + 12|0); - $350 = HEAP32[$349>>2]|0; - $351 = ((($350)) + 72|0); - $352 = HEAP32[$351>>2]|0; - $353 = (_sqlite3PagerWrite($352)|0); - HEAP32[$rc>>2] = $353; - $354 = HEAP32[$rc>>2]|0; - $355 = ($354|0)!=(0); - if ($355) { - $356 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $356; - $458 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($458|0); - } - $357 = HEAP32[$1>>2]|0; - $358 = ((($357)) + 44|0); - $359 = HEAP32[$358>>2]|0; - $360 = (($359) + 1)|0; - HEAP32[$358>>2] = $360; - $361 = HEAP32[$1>>2]|0; - $362 = ((($361)) + 44|0); - $363 = HEAP32[$362>>2]|0; - $364 = HEAP32[1536>>2]|0; - $365 = HEAP32[$1>>2]|0; - $366 = ((($365)) + 32|0); - $367 = HEAP32[$366>>2]|0; - $368 = (($364>>>0) / ($367>>>0))&-1; - $369 = (($368) + 1)|0; - $370 = ($363|0)==($369|0); - if ($370) { - $371 = HEAP32[$1>>2]|0; - $372 = ((($371)) + 44|0); - $373 = HEAP32[$372>>2]|0; - $374 = (($373) + 1)|0; - HEAP32[$372>>2] = $374; - } - $375 = HEAP32[$1>>2]|0; - $376 = ((($375)) + 17|0); - $377 = HEAP8[$376>>0]|0; - $378 = $377&255; - $379 = ($378|0)!=(0); - do { - if ($379) { - $380 = HEAP32[$1>>2]|0; - $381 = HEAP32[$1>>2]|0; - $382 = ((($381)) + 44|0); - $383 = HEAP32[$382>>2]|0; - $384 = (_ptrmapPageno($380,$383)|0); - $385 = HEAP32[$1>>2]|0; - $386 = ((($385)) + 44|0); - $387 = HEAP32[$386>>2]|0; - $388 = ($384|0)==($387|0); - if ($388) { - HEAP32[$pPg>>2] = 0; - $389 = HEAP32[$1>>2]|0; - $390 = HEAP32[$1>>2]|0; - $391 = ((($390)) + 44|0); - $392 = HEAP32[$391>>2]|0; - $393 = HEAP32[$bNoContent>>2]|0; - $394 = (_btreeGetUnusedPage($389,$392,$pPg,$393)|0); - HEAP32[$rc>>2] = $394; - $395 = HEAP32[$rc>>2]|0; - $396 = ($395|0)==(0); - if ($396) { - $397 = HEAP32[$pPg>>2]|0; - $398 = ((($397)) + 72|0); - $399 = HEAP32[$398>>2]|0; - $400 = (_sqlite3PagerWrite($399)|0); - HEAP32[$rc>>2] = $400; - $401 = HEAP32[$pPg>>2]|0; - _releasePage($401); - } - $402 = HEAP32[$rc>>2]|0; - $403 = ($402|0)!=(0); - if ($403) { - $404 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $404; - $458 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($458|0); - } else { - $405 = HEAP32[$1>>2]|0; - $406 = ((($405)) + 44|0); - $407 = HEAP32[$406>>2]|0; - $408 = (($407) + 1)|0; - HEAP32[$406>>2] = $408; - $409 = HEAP32[$1>>2]|0; - $410 = ((($409)) + 44|0); - $411 = HEAP32[$410>>2]|0; - $412 = HEAP32[1536>>2]|0; - $413 = HEAP32[$1>>2]|0; - $414 = ((($413)) + 32|0); - $415 = HEAP32[$414>>2]|0; - $416 = (($412>>>0) / ($415>>>0))&-1; - $417 = (($416) + 1)|0; - $418 = ($411|0)==($417|0); - if (!($418)) { - break; - } - $419 = HEAP32[$1>>2]|0; - $420 = ((($419)) + 44|0); - $421 = HEAP32[$420>>2]|0; - $422 = (($421) + 1)|0; - HEAP32[$420>>2] = $422; - break; - } - } + else if ((label|0) == 24) { + $101 = ((($62)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)>(1); + if (!($103)) { + break; } - } while(0); - $423 = HEAP32[$1>>2]|0; - $424 = ((($423)) + 12|0); - $425 = HEAP32[$424>>2]|0; - $426 = ((($425)) + 56|0); - $427 = HEAP32[$426>>2]|0; - $428 = ((($427)) + 28|0); - $429 = HEAP32[$1>>2]|0; - $430 = ((($429)) + 44|0); - $431 = HEAP32[$430>>2]|0; - _sqlite3Put4byte($428,$431); - $432 = HEAP32[$1>>2]|0; - $433 = ((($432)) + 44|0); - $434 = HEAP32[$433>>2]|0; - $435 = HEAP32[$3>>2]|0; - HEAP32[$435>>2] = $434; - $436 = HEAP32[$1>>2]|0; - $437 = HEAP32[$3>>2]|0; - $438 = HEAP32[$437>>2]|0; - $439 = HEAP32[$2>>2]|0; - $440 = HEAP32[$bNoContent>>2]|0; - $441 = (_btreeGetUnusedPage($436,$438,$439,$440)|0); - HEAP32[$rc>>2] = $441; - $442 = HEAP32[$rc>>2]|0; - $443 = ($442|0)!=(0); - if ($443) { - $444 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $444; - $458 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($458|0); - } else { - $445 = HEAP32[$2>>2]|0; - $446 = HEAP32[$445>>2]|0; - $447 = ((($446)) + 72|0); - $448 = HEAP32[$447>>2]|0; - $449 = (_sqlite3PagerWrite($448)|0); - HEAP32[$rc>>2] = $449; - $450 = HEAP32[$rc>>2]|0; - $451 = ($450|0)!=(0); - if (!($451)) { + $104 = HEAP32[$5>>2]|0; + $105 = HEAP32[$6>>2]|0; + $106 = HEAP32[$105>>2]|0; + HEAP32[$vararg_buffer14>>2] = $106; + $107 = (_fts5PrintfAppend($104,49227,$vararg_buffer14)|0); + HEAP32[$5>>2] = $107; + $108 = HEAP32[$5>>2]|0; + $109 = ($108|0)==(0|0); + if (!($109)) { break; } - $452 = HEAP32[$2>>2]|0; - $453 = HEAP32[$452>>2]|0; - _releasePage($453); - $454 = HEAP32[$2>>2]|0; - HEAP32[$454>>2] = 0; - break; + HEAP32[$2>>2] = 0; + $159 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($159|0); } } } while(0); - $455 = HEAP32[$pTrunk>>2]|0; - _releasePage($455); - $456 = HEAP32[$pPrevTrunk>>2]|0; - _releasePage($456); - $457 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $457; - $458 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($458|0); -} -function _relocatePage($pBt,$pDbPage,$eType,$iPtrPage,$iFreePage,$isCommit) { - $pBt = $pBt|0; - $pDbPage = $pDbPage|0; - $eType = $eType|0; - $iPtrPage = $iPtrPage|0; - $iFreePage = $iFreePage|0; - $isCommit = $isCommit|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $iDbPage = 0, $nextOvfl = 0; - var $pPager = 0, $pPtrPage = 0, $rc = 0, label = 0, sp = 0; + $158 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $158; + $159 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($159|0); +} +function _sqlite3Fts5ConfigFree($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 44|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $6 = sp + 20|0; - $pPtrPage = sp + 16|0; - $iDbPage = sp + 12|0; - $pPager = sp + 8|0; - $rc = sp + 4|0; - $nextOvfl = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$2>>2] = $pDbPage; - HEAP8[$3>>0] = $eType; - HEAP32[$4>>2] = $iPtrPage; - HEAP32[$5>>2] = $iFreePage; - HEAP32[$6>>2] = $isCommit; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 84|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$iDbPage>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$10>>2]|0; - HEAP32[$pPager>>2] = $11; - $12 = HEAP32[$pPager>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 72|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$5>>2]|0; - $17 = HEAP32[$6>>2]|0; - $18 = (_sqlite3PagerMovepage($12,$15,$16,$17)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $21; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; } - $22 = HEAP32[$5>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 84|0); - HEAP32[$24>>2] = $22; - $25 = HEAP8[$3>>0]|0; - $26 = $25&255; - $27 = ($26|0)==(5); - if ($27) { - label = 5; - } else { - $28 = HEAP8[$3>>0]|0; - $29 = $28&255; - $30 = ($29|0)==(1); - if ($30) { - label = 5; - } else { - $36 = HEAP32[$2>>2]|0; - $37 = ((($36)) + 56|0); - $38 = HEAP32[$37>>2]|0; - $39 = (_sqlite3Get4byte($38)|0); - HEAP32[$nextOvfl>>2] = $39; - $40 = HEAP32[$nextOvfl>>2]|0; - $41 = ($40|0)!=(0); - if ($41) { - $42 = HEAP32[$1>>2]|0; - $43 = HEAP32[$nextOvfl>>2]|0; - $44 = HEAP32[$5>>2]|0; - _ptrmapPut($42,$43,4,$44,$rc); - $45 = HEAP32[$rc>>2]|0; - $46 = ($45|0)!=(0); - if ($46) { - $47 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $47; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); - } - } - } + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 56|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0|0); + if ($8) { + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 60|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 56|0); + $16 = HEAP32[$15>>2]|0; + FUNCTION_TABLE_vi[$13 & 255]($16); } - if ((label|0) == 5) { - $31 = HEAP32[$2>>2]|0; - $32 = (_setChildPtrmaps($31)|0); - HEAP32[$rc>>2] = $32; - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)!=(0); - if ($34) { - $35 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $35; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3_free($19); + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3_free($22); + HEAP32[$2>>2] = 0; + while(1) { + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($23|0)<($26|0); + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + if (!($27)) { + break; } + $31 = HEAP32[$2>>2]|0; + $32 = (($30) + ($31<<2)|0); + $33 = HEAP32[$32>>2]|0; + _sqlite3_free($33); + $34 = HEAP32[$2>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$2>>2] = $35; } - $48 = HEAP8[$3>>0]|0; - $49 = $48&255; - $50 = ($49|0)!=(1); - do { - if ($50) { - $51 = HEAP32[$1>>2]|0; - $52 = HEAP32[$4>>2]|0; - $53 = (_btreeGetPage($51,$52,$pPtrPage,0)|0); - HEAP32[$rc>>2] = $53; - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)!=(0); - if ($55) { - $56 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $56; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); - } - $57 = HEAP32[$pPtrPage>>2]|0; - $58 = ((($57)) + 72|0); - $59 = HEAP32[$58>>2]|0; - $60 = (_sqlite3PagerWrite($59)|0); - HEAP32[$rc>>2] = $60; - $61 = HEAP32[$rc>>2]|0; - $62 = ($61|0)!=(0); - $63 = HEAP32[$pPtrPage>>2]|0; - if ($62) { - _releasePage($63); - $64 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $64; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); - } else { - $65 = HEAP32[$iDbPage>>2]|0; - $66 = HEAP32[$5>>2]|0; - $67 = HEAP8[$3>>0]|0; - $68 = (_modifyPagePointer($63,$65,$66,$67)|0); - HEAP32[$rc>>2] = $68; - $69 = HEAP32[$pPtrPage>>2]|0; - _releasePage($69); - $70 = HEAP32[$rc>>2]|0; - $71 = ($70|0)==(0); - if (!($71)) { - break; - } - $72 = HEAP32[$1>>2]|0; - $73 = HEAP32[$5>>2]|0; - $74 = HEAP8[$3>>0]|0; - $75 = HEAP32[$4>>2]|0; - _ptrmapPut($72,$73,$74,$75,$rc); - break; - } - } - } while(0); - $76 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $76; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); + _sqlite3_free($30); + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 28|0); + $38 = HEAP32[$37>>2]|0; + _sqlite3_free($38); + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 88|0); + $41 = HEAP32[$40>>2]|0; + _sqlite3_free($41); + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 92|0); + $44 = HEAP32[$43>>2]|0; + _sqlite3_free($44); + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 36|0); + $47 = HEAP32[$46>>2]|0; + _sqlite3_free($47); + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 40|0); + $50 = HEAP32[$49>>2]|0; + _sqlite3_free($50); + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 52|0); + $53 = HEAP32[$52>>2]|0; + _sqlite3_free($53); + $54 = HEAP32[$1>>2]|0; + _sqlite3_free($54); + STACKTOP = sp;return; } -function _sqlite3PagerMovepage($pPager,$pPg,$pgno,$isCommit) { - $pPager = $pPager|0; - $pPg = $pPg|0; - $pgno = $pgno|0; - $isCommit = $isCommit|0; - var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $needSyncPgno = 0, $or$cond = 0, $or$cond3 = 0, $origPgno = 0, $pPgHdr = 0, $pPgOld = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5ExprFree($0) { + $0 = $0|0; + var $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 + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $pPgOld = sp + 16|0; - $needSyncPgno = sp + 12|0; - $rc = sp + 8|0; - $origPgno = sp + 4|0; - $pPgHdr = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $pPg; - HEAP32[$3>>2] = $pgno; - HEAP32[$4>>2] = $isCommit; - HEAP32[$needSyncPgno>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 13|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - if ($8) { - $9 = HEAP32[$2>>2]|0; - $10 = (_sqlite3PagerWrite($9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)!=(0); - if ($12) { - $13 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $13; - $110 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($110|0); - } + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + STACKTOP = sp;return; } - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 24|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16&65535; - $18 = $17 & 2; - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$2>>2]|0; - $21 = (_subjournalPageIfRequired($20)|0); - HEAP32[$rc>>2] = $21; - $22 = (0)!=($21|0); - if ($22) { - $23 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $23; - $110 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($110|0); + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP32[$5>>2]|0; + _sqlite3Fts5ParseNodeFree($6); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + _sqlite3_free($9); + $10 = HEAP32[$1>>2]|0; + _sqlite3_free($10); + STACKTOP = sp;return; +} +function _sqlite3Fts5ParseNodeFree($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; + } + HEAP32[$2>>2] = 0; + while(1) { + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 28|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($5|0)<($8|0); + $10 = HEAP32[$1>>2]|0; + if (!($9)) { + break; } + $11 = ((($10)) + 32|0); + $12 = HEAP32[$2>>2]|0; + $13 = (($11) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3Fts5ParseNodeFree($14); + $15 = HEAP32[$2>>2]|0; + $16 = (($15) + 1)|0; + HEAP32[$2>>2] = $16; } - $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 24|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26&65535; - $28 = $27 & 8; - $29 = ($28|0)==(0); - $30 = HEAP32[$4>>2]|0; - $31 = ($30|0)!=(0); - $or$cond = $29 | $31; - if (!($or$cond)) { - $32 = HEAP32[$2>>2]|0; - $33 = ((($32)) + 20|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$needSyncPgno>>2] = $34; + $17 = ((($10)) + 24|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3Fts5ParseNearsetFree($18); + $19 = HEAP32[$1>>2]|0; + _sqlite3_free($19); + STACKTOP = sp;return; +} +function _sqlite3Fts5ParseNearsetFree($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; } - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 24|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37&65535; - $39 = $38 & -9; - $40 = $39&65535; - HEAP16[$36>>1] = $40; - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$3>>2]|0; - $43 = (_sqlite3PagerLookup($41,$42)|0); - HEAP32[$pPgOld>>2] = $43; - $44 = HEAP32[$pPgOld>>2]|0; - $45 = ($44|0)!=(0|0); - do { - if ($45) { - $46 = HEAP32[$pPgOld>>2]|0; - $47 = ((($46)) + 24|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = $49 & 8; - $51 = HEAP32[$2>>2]|0; - $52 = ((($51)) + 24|0); - $53 = HEAP16[$52>>1]|0; - $54 = $53&65535; - $55 = $54 | $50; - $56 = $55&65535; - HEAP16[$52>>1] = $56; - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 13|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59<<24>>24)!=(0); - $61 = HEAP32[$pPgOld>>2]|0; - if ($60) { - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 28|0); - $64 = HEAP32[$63>>2]|0; - $65 = (($64) + 1)|0; - _sqlite3PcacheMove($61,$65); - break; - } else { - _sqlite3PcacheDrop($61); - break; - } + HEAP32[$2>>2] = 0; + while(1) { + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($5|0)<($8|0); + $10 = HEAP32[$1>>2]|0; + if (!($9)) { + break; } - } while(0); - $66 = HEAP32[$2>>2]|0; - $67 = ((($66)) + 20|0); - $68 = HEAP32[$67>>2]|0; - HEAP32[$origPgno>>2] = $68; - $69 = HEAP32[$2>>2]|0; - $70 = HEAP32[$3>>2]|0; - _sqlite3PcacheMove($69,$70); - $71 = HEAP32[$2>>2]|0; - _sqlite3PcacheMakeDirty($71); - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 13|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = ($75|0)!=(0); - $77 = HEAP32[$pPgOld>>2]|0; - $78 = ($77|0)!=(0|0); - $or$cond3 = $76 & $78; - if ($or$cond3) { - $79 = HEAP32[$pPgOld>>2]|0; - $80 = HEAP32[$origPgno>>2]|0; - _sqlite3PcacheMove($79,$80); - $81 = HEAP32[$pPgOld>>2]|0; - _sqlite3PagerUnrefNotNull($81); + $11 = ((($10)) + 12|0); + $12 = HEAP32[$2>>2]|0; + $13 = (($11) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + _fts5ExprPhraseFree($14); + $15 = HEAP32[$2>>2]|0; + $16 = (($15) + 1)|0; + HEAP32[$2>>2] = $16; } - $82 = HEAP32[$needSyncPgno>>2]|0; - $83 = ($82|0)!=(0); - do { - if ($83) { - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$needSyncPgno>>2]|0; - $86 = (_sqlite3PagerGet($84,$85,$pPgHdr,0)|0); - HEAP32[$rc>>2] = $86; - $87 = HEAP32[$rc>>2]|0; - $88 = ($87|0)!=(0); - if (!($88)) { - $102 = HEAP32[$pPgHdr>>2]|0; - $103 = ((($102)) + 24|0); - $104 = HEAP16[$103>>1]|0; - $105 = $104&65535; - $106 = $105 | 8; - $107 = $106&65535; - HEAP16[$103>>1] = $107; - $108 = HEAP32[$pPgHdr>>2]|0; - _sqlite3PcacheMakeDirty($108); - $109 = HEAP32[$pPgHdr>>2]|0; - _sqlite3PagerUnrefNotNull($109); + $17 = ((($10)) + 4|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3_free($18); + $19 = HEAP32[$1>>2]|0; + _sqlite3_free($19); + STACKTOP = sp;return; +} +function _fts5ExprPhraseFree($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + STACKTOP = sp;return; + } + HEAP32[$2>>2] = 0; + while(1) { + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)<($11|0); + $13 = HEAP32[$1>>2]|0; + if (!($12)) { + break; + } + $14 = ((($13)) + 20|0); + $15 = HEAP32[$2>>2]|0; + $16 = (($14) + ($15<<4)|0); + HEAP32[$5>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3_free($19); + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3Fts5IterClose($22); + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$3>>2] = $25; + while(1) { + $26 = HEAP32[$3>>2]|0; + $27 = ($26|0)!=(0|0); + if (!($27)) { break; } - $89 = HEAP32[$needSyncPgno>>2]|0; - $90 = HEAP32[$1>>2]|0; - $91 = ((($90)) + 32|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($89>>>0)<=($92>>>0); - if ($93) { - $94 = HEAP32[$1>>2]|0; - $95 = ((($94)) + 60|0); - $96 = HEAP32[$95>>2]|0; - $97 = HEAP32[$needSyncPgno>>2]|0; - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 208|0); - $100 = HEAP32[$99>>2]|0; - _sqlite3BitvecClear($96,$97,$100); - } - $101 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $101; - $110 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($110|0); + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$4>>2] = $30; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + _sqlite3Fts5IterClose($33); + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 16|0); + _sqlite3Fts5BufferFree($35); + $36 = HEAP32[$3>>2]|0; + _sqlite3_free($36); + $37 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $37; } - } while(0); - HEAP32[$0>>2] = 0; - $110 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($110|0); + $38 = HEAP32[$2>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$2>>2] = $39; + } + $40 = ((($13)) + 4|0); + $41 = ((($40)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)>(0); + if ($43) { + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 4|0); + _sqlite3Fts5BufferFree($45); + } + $46 = HEAP32[$1>>2]|0; + _sqlite3_free($46); + STACKTOP = sp;return; } -function _setChildPtrmaps($pPage) { - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0; - var $childPgno = 0, $childPgno1 = 0, $i = 0, $isInitOrig = 0, $nCell = 0, $pBt = 0, $pCell = 0, $pgno = 0, $rc = 0, label = 0, sp = 0; +function _fts5PrintfAppend($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|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, $or$cond = 0, $vararg_buffer = 0; + var $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $i = sp + 28|0; - $nCell = sp + 24|0; - $rc = sp + 20|0; - $pBt = sp + 16|0; - $isInitOrig = sp + 36|0; - $pgno = sp + 12|0; - $pCell = sp + 8|0; - $childPgno = sp + 4|0; - $childPgno1 = sp; - HEAP32[$0>>2] = $pPage; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 52|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pBt>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP8[$4>>0]|0; - HEAP8[$isInitOrig>>0] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 84|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pgno>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = (_btreeInitPage($9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)!=(0); - if ($12) { - $77 = HEAP8[$isInitOrig>>0]|0; - $78 = HEAP32[$0>>2]|0; - HEAP8[$78>>0] = $77; - $79 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($79|0); + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = $varargs; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3_vmprintf($7,$5)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)!=(0|0); + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)!=(0|0); + $or$cond = $10 & $12; + if (!($or$cond)) { + $18 = HEAP32[$2>>2]|0; + _sqlite3_free($18); + $19 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($19|0); } - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 18|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - HEAP32[$nCell>>2] = $16; - HEAP32[$i>>2] = 0; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer>>2] = $13; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $14; + $15 = (_sqlite3_mprintf(23403,$vararg_buffer)|0); + HEAP32[$6>>2] = $15; + $16 = HEAP32[$4>>2]|0; + _sqlite3_free($16); + $17 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $17; + $18 = HEAP32[$2>>2]|0; + _sqlite3_free($18); + $19 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($19|0); +} +function _fts5ExprTermPrint($0) { + $0 = $0|0; + var $$sink = 0, $$sink1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $7 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $7; while(1) { - $17 = HEAP32[$i>>2]|0; - $18 = HEAP32[$nCell>>2]|0; - $19 = ($17|0)<($18|0); - $20 = HEAP32[$0>>2]|0; - if (!($19)) { + $8 = HEAP32[$3>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { break; } - $21 = ((($20)) + 56|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 20|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = HEAP32[$i>>2]|0; - $28 = $27<<1; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 64|0); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_strlen($12)|0); + $14 = $13<<1; + $15 = (($14) + 3)|0; + $16 = (($15) + 2)|0; + $17 = HEAP32[$2>>2]|0; + $18 = (($17) + ($16))|0; + HEAP32[$2>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$3>>2] = $21; + } + $22 = HEAP32[$2>>2]|0; + $23 = (_sqlite3_malloc($22)|0); + HEAP32[$4>>2] = $23; + $24 = HEAP32[$4>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { + $84 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($84|0); + } + HEAP32[$5>>2] = 0; + $26 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $26; + while(1) { + $27 = HEAP32[$3>>2]|0; + $28 = ($27|0)!=(0|0); + if (!($28)) { + break; + } + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 4|0); $31 = HEAP32[$30>>2]|0; - $32 = (($31) + ($28)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 << 8; - $36 = HEAP32[$i>>2]|0; - $37 = $36<<1; - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 64|0); - $40 = HEAP32[$39>>2]|0; - $41 = (($40) + ($37)|0); - $42 = ((($41)) + 1|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = $35 | $44; - $46 = $26 & $45; - $47 = (($22) + ($46)|0); - HEAP32[$pCell>>2] = $47; - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$pCell>>2]|0; - _ptrmapPutOvflPtr($48,$49,$rc); - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 4|0); - $52 = HEAP8[$51>>0]|0; - $53 = ($52<<24>>24)!=(0); - if (!($53)) { - $54 = HEAP32[$pCell>>2]|0; - $55 = (_sqlite3Get4byte($54)|0); - HEAP32[$childPgno>>2] = $55; - $56 = HEAP32[$pBt>>2]|0; - $57 = HEAP32[$childPgno>>2]|0; - $58 = HEAP32[$pgno>>2]|0; - _ptrmapPut($56,$57,5,$58,$rc); - } - $59 = HEAP32[$i>>2]|0; - $60 = (($59) + 1)|0; - HEAP32[$i>>2] = $60; + HEAP32[$6>>2] = $31; + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = (($33) + 1)|0; + HEAP32[$5>>2] = $34; + $35 = (($32) + ($33)|0); + $$sink = 34;$$sink1 = $35; + while(1) { + HEAP8[$$sink1>>0] = $$sink; + $36 = HEAP32[$6>>2]|0; + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)!=(0); + if (!($38)) { + break; + } + $39 = HEAP32[$6>>2]|0; + $40 = HEAP8[$39>>0]|0; + $41 = $40 << 24 >> 24; + $42 = ($41|0)==(34); + if ($42) { + $43 = HEAP32[$4>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$5>>2] = $45; + $46 = (($43) + ($44)|0); + HEAP8[$46>>0] = 34; + } + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + 1|0); + HEAP32[$6>>2] = $48; + $49 = HEAP8[$47>>0]|0; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$5>>2]|0; + $52 = (($51) + 1)|0; + HEAP32[$5>>2] = $52; + $53 = (($50) + ($51)|0); + $$sink = $49;$$sink1 = $53; + } + $54 = HEAP32[$4>>2]|0; + $55 = HEAP32[$5>>2]|0; + $56 = (($55) + 1)|0; + HEAP32[$5>>2] = $56; + $57 = (($54) + ($55)|0); + HEAP8[$57>>0] = 34; + $58 = HEAP32[$3>>2]|0; + $59 = ((($58)) + 12|0); + $60 = HEAP32[$59>>2]|0; + $61 = ($60|0)!=(0|0); + if ($61) { + $62 = HEAP32[$4>>2]|0; + $63 = HEAP32[$5>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$5>>2] = $64; + $65 = (($62) + ($63)|0); + HEAP8[$65>>0] = 124; + } + $66 = HEAP32[$3>>2]|0; + $67 = ((($66)) + 12|0); + $68 = HEAP32[$67>>2]|0; + HEAP32[$3>>2] = $68; } - $61 = ((($20)) + 4|0); - $62 = HEAP8[$61>>0]|0; - $63 = ($62<<24>>24)!=(0); - if ($63) { - $77 = HEAP8[$isInitOrig>>0]|0; - $78 = HEAP32[$0>>2]|0; - HEAP8[$78>>0] = $77; - $79 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($79|0); + $69 = HEAP32[$1>>2]|0; + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)!=(0); + if ($71) { + $72 = HEAP32[$4>>2]|0; + $73 = HEAP32[$5>>2]|0; + $74 = (($73) + 1)|0; + HEAP32[$5>>2] = $74; + $75 = (($72) + ($73)|0); + HEAP8[$75>>0] = 32; + $76 = HEAP32[$4>>2]|0; + $77 = HEAP32[$5>>2]|0; + $78 = (($77) + 1)|0; + HEAP32[$5>>2] = $78; + $79 = (($76) + ($77)|0); + HEAP8[$79>>0] = 42; } - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 5|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = (($67) + 8)|0; - $69 = HEAP32[$0>>2]|0; - $70 = ((($69)) + 56|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + ($68)|0); - $73 = (_sqlite3Get4byte($72)|0); - HEAP32[$childPgno1>>2] = $73; - $74 = HEAP32[$pBt>>2]|0; - $75 = HEAP32[$childPgno1>>2]|0; - $76 = HEAP32[$pgno>>2]|0; - _ptrmapPut($74,$75,5,$76,$rc); - $77 = HEAP8[$isInitOrig>>0]|0; - $78 = HEAP32[$0>>2]|0; - HEAP8[$78>>0] = $77; - $79 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($79|0); + $80 = HEAP32[$4>>2]|0; + $81 = HEAP32[$5>>2]|0; + $82 = (($81) + 1)|0; + HEAP32[$5>>2] = $82; + $83 = (($80) + ($81)|0); + HEAP8[$83>>0] = 0; + $84 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($84|0); +} +function _fts5ParseAlloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp; + $3 = $2; + $4 = $3; + HEAP32[$4>>2] = $0; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = $1; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3_malloc($9)|0); + STACKTOP = sp;return ($13|0); +} +function _sqlite3Fts5ParserAlloc($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (FUNCTION_TABLE_iii[$3 & 255](1208,0)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $15 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($15|0); + } + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$2>>2]|0; + HEAP32[$9>>2] = $8; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 8|0); + HEAP8[$11>>0] = 0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 8|0); + $14 = ((($13)) + 1|0); + HEAP8[$14>>0] = 0; + $15 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($15|0); } -function _ptrmapPut($pBt,$key,$eType,$parent,$pRC) { - $pBt = $pBt|0; - $key = $key|0; - $eType = $eType|0; - $parent = $parent|0; - $pRC = $pRC|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $iPtrmap = 0, $offset = 0, $pDbPage = 0, $pPtrmap = 0, $rc = 0, label = 0, sp = 0; +function _fts5ExprGetToken($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 36|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $pDbPage = sp + 16|0; - $pPtrmap = sp + 12|0; - $iPtrmap = sp + 8|0; - $offset = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pBt; - HEAP32[$1>>2] = $key; - HEAP8[$2>>0] = $eType; - HEAP32[$3>>2] = $parent; - HEAP32[$4>>2] = $pRC; - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - if ($7) { - STACKTOP = sp;return; - } - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $10 = (_sqlite3CorruptError(59184)|0); - $11 = HEAP32[$4>>2]|0; - HEAP32[$11>>2] = $10; - STACKTOP = sp;return; - } - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = (_ptrmapPageno($12,$13)|0); - HEAP32[$iPtrmap>>2] = $14; - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$iPtrmap>>2]|0; - $18 = (_sqlite3PagerGet($16,$17,$pDbPage,0)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$rc>>2]|0; - $22 = HEAP32[$4>>2]|0; - HEAP32[$22>>2] = $21; - STACKTOP = sp;return; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$7>>2] = $12; + while(1) { + $13 = HEAP32[$7>>2]|0; + $14 = HEAP8[$13>>0]|0; + $15 = (_fts5ExprIsspace($14)|0); + $16 = ($15|0)!=(0); + $17 = HEAP32[$7>>2]|0; + if (!($16)) { + break; + } + $18 = ((($17)) + 1|0); + HEAP32[$7>>2] = $18; } - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$iPtrmap>>2]|0; - $25 = (($23) - ($24))|0; - $26 = (($25) - 1)|0; - $27 = ($26*5)|0; - HEAP32[$offset>>2] = $27; - $28 = HEAP32[$offset>>2]|0; - $29 = ($28|0)<(0); - do { - if ($29) { - $30 = (_sqlite3CorruptError(59195)|0); - $31 = HEAP32[$4>>2]|0; - HEAP32[$31>>2] = $30; - } else { - $32 = HEAP32[$pDbPage>>2]|0; - $33 = (_sqlite3PagerGetData($32)|0); - HEAP32[$pPtrmap>>2] = $33; - $34 = HEAP8[$2>>0]|0; - $35 = $34&255; - $36 = HEAP32[$offset>>2]|0; - $37 = HEAP32[$pPtrmap>>2]|0; - $38 = (($37) + ($36)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = ($35|0)!=($40|0); - if (!($41)) { - $42 = HEAP32[$offset>>2]|0; - $43 = (($42) + 1)|0; - $44 = HEAP32[$pPtrmap>>2]|0; - $45 = (($44) + ($43)|0); - $46 = (_sqlite3Get4byte($45)|0); - $47 = HEAP32[$3>>2]|0; - $48 = ($46|0)!=($47|0); - if (!($48)) { + $19 = HEAP32[$6>>2]|0; + HEAP32[$19>>2] = $17; + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 4|0); + HEAP32[$21>>2] = 1; + $22 = HEAP32[$7>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = $23 << 24 >> 24; + L5: do { + switch ($24|0) { + case 40: { + HEAP32[$8>>2] = 6; + break; + } + case 41: { + HEAP32[$8>>2] = 7; + break; + } + case 123: { + HEAP32[$8>>2] = 9; + break; + } + case 125: { + HEAP32[$8>>2] = 10; + break; + } + case 58: { + HEAP32[$8>>2] = 5; + break; + } + case 44: { + HEAP32[$8>>2] = 12; + break; + } + case 43: { + HEAP32[$8>>2] = 13; + break; + } + case 42: { + HEAP32[$8>>2] = 14; + break; + } + case 45: { + HEAP32[$8>>2] = 8; + break; + } + case 0: { + HEAP32[$8>>2] = 0; + break; + } + case 34: { + HEAP32[$8>>2] = 11; + $25 = HEAP32[$7>>2]|0; + $26 = ((($25)) + 1|0); + HEAP32[$9>>2] = $26; + while(1) { + $27 = HEAP32[$9>>2]|0; + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = ($29|0)==(34); + if ($30) { + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 1|0); + HEAP32[$9>>2] = $32; + $33 = HEAP32[$9>>2]|0; + $34 = HEAP8[$33>>0]|0; + $35 = $34 << 24 >> 24; + $36 = ($35|0)!=(34); + if ($36) { + label = 21; + break; + } + } + $37 = HEAP32[$9>>2]|0; + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = ($39|0)==(0); + if ($40) { break; } + $42 = HEAP32[$9>>2]|0; + $43 = ((($42)) + 1|0); + HEAP32[$9>>2] = $43; } - $49 = HEAP32[$pDbPage>>2]|0; - $50 = (_sqlite3PagerWrite($49)|0); - HEAP32[$rc>>2] = $50; - $51 = HEAP32[$4>>2]|0; - HEAP32[$51>>2] = $50; - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)==(0); - if ($53) { - $54 = HEAP8[$2>>0]|0; - $55 = HEAP32[$offset>>2]|0; - $56 = HEAP32[$pPtrmap>>2]|0; - $57 = (($56) + ($55)|0); - HEAP8[$57>>0] = $54; - $58 = HEAP32[$offset>>2]|0; - $59 = (($58) + 1)|0; - $60 = HEAP32[$pPtrmap>>2]|0; - $61 = (($60) + ($59)|0); - $62 = HEAP32[$3>>2]|0; - _sqlite3Put4byte($61,$62); + if ((label|0) == 21) { + $44 = HEAP32[$9>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = $44; + $47 = $45; + $48 = (($46) - ($47))|0; + $49 = HEAP32[$6>>2]|0; + $50 = ((($49)) + 4|0); + HEAP32[$50>>2] = $48; + break L5; } + $41 = HEAP32[$4>>2]|0; + _sqlite3Fts5ParseError($41,49799,$vararg_buffer); + HEAP32[$3>>2] = 0; + $103 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($103|0); + break; } - } while(0); - $63 = HEAP32[$pDbPage>>2]|0; - _sqlite3PagerUnref($63); - STACKTOP = sp;return; -} -function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { - $pPage = $pPage|0; - $iFrom = $iFrom|0; - $iTo = $iTo|0; - $eType = $eType|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $i = 0, $info = 0, $isInitOrig = 0, $nCell = 0, $pCell = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 57|0; - $isInitOrig = sp + 56|0; - $i = sp + 36|0; - $nCell = sp + 32|0; - $rc = sp + 28|0; - $pCell = sp + 24|0; - $info = sp; - HEAP32[$1>>2] = $pPage; - HEAP32[$2>>2] = $iFrom; - HEAP32[$3>>2] = $iTo; - HEAP8[$4>>0] = $eType; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(4); - $8 = HEAP32[$1>>2]|0; - do { - if ($7) { - $9 = ((($8)) + 56|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3Get4byte($10)|0); - $12 = HEAP32[$2>>2]|0; - $13 = ($11|0)!=($12|0); - if (!($13)) { - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 56|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$3>>2]|0; - _sqlite3Put4byte($17,$18); - break; - } - $14 = (_sqlite3CorruptError(61581)|0); - HEAP32[$0>>2] = $14; - $144 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($144|0); - } else { - $19 = HEAP8[$8>>0]|0; - HEAP8[$isInitOrig>>0] = $19; - $20 = HEAP32[$1>>2]|0; - $21 = (_btreeInitPage($20)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)!=(0); - if ($23) { - $24 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $24; - $144 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($144|0); + default: { + $51 = HEAP32[$7>>2]|0; + $52 = HEAP8[$51>>0]|0; + $53 = (_sqlite3Fts5IsBareword($52)|0); + $54 = ($53|0)==(0); + if ($54) { + $55 = HEAP32[$4>>2]|0; + $56 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _sqlite3Fts5ParseError($55,49819,$vararg_buffer1); + HEAP32[$3>>2] = 0; + $103 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($103|0); } - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 18|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27&65535; - HEAP32[$nCell>>2] = $28; - HEAP32[$i>>2] = 0; + HEAP32[$8>>2] = 11; + $57 = HEAP32[$7>>2]|0; + $58 = ((($57)) + 1|0); + HEAP32[$10>>2] = $58; while(1) { - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$nCell>>2]|0; - $31 = ($29|0)<($30|0); - if (!($31)) { + $59 = HEAP32[$10>>2]|0; + $60 = HEAP8[$59>>0]|0; + $61 = (_sqlite3Fts5IsBareword($60)|0); + $62 = ($61|0)!=(0); + $63 = HEAP32[$10>>2]|0; + if (!($62)) { break; } - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 56|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 20|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37&65535; - $39 = HEAP32[$i>>2]|0; - $40 = $39<<1; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 64|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + ($40)|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $47 = $46 << 8; - $48 = HEAP32[$i>>2]|0; - $49 = $48<<1; - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 64|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + ($49)|0); - $54 = ((($53)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = $47 | $56; - $58 = $38 & $57; - $59 = (($34) + ($58)|0); - HEAP32[$pCell>>2] = $59; - $60 = HEAP8[$4>>0]|0; - $61 = $60&255; - $62 = ($61|0)==(3); - if ($62) { - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 80|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$1>>2]|0; - $67 = HEAP32[$pCell>>2]|0; - FUNCTION_TABLE_viii[$65 & 255]($66,$67,$info); - $68 = ((($info)) + 16|0); - $69 = HEAP16[$68>>1]|0; - $70 = $69&65535; - $71 = ((($info)) + 12|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($70>>>0)<($72>>>0); - if ($73) { - $74 = HEAP32[$pCell>>2]|0; - $75 = ((($info)) + 18|0); - $76 = HEAP16[$75>>1]|0; - $77 = $76&65535; - $78 = (($74) + ($77)|0); - $79 = ((($78)) + -1|0); - $80 = HEAP32[$1>>2]|0; - $81 = ((($80)) + 56|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$1>>2]|0; - $84 = ((($83)) + 20|0); - $85 = HEAP16[$84>>1]|0; - $86 = $85&65535; - $87 = (($82) + ($86)|0); - $88 = ($79>>>0)<=($87>>>0); - if ($88) { - $89 = HEAP32[$2>>2]|0; - $90 = HEAP32[$pCell>>2]|0; - $91 = ((($info)) + 18|0); - $92 = HEAP16[$91>>1]|0; - $93 = $92&65535; - $94 = (($90) + ($93)|0); - $95 = ((($94)) + -4|0); - $96 = (_sqlite3Get4byte($95)|0); - $97 = ($89|0)==($96|0); - if ($97) { - label = 13; - break; - } - } - } - } else { - $105 = HEAP32[$pCell>>2]|0; - $106 = (_sqlite3Get4byte($105)|0); - $107 = HEAP32[$2>>2]|0; - $108 = ($106|0)==($107|0); - if ($108) { - label = 15; - break; - } - } - $111 = HEAP32[$i>>2]|0; - $112 = (($111) + 1)|0; - HEAP32[$i>>2] = $112; + $64 = ((($63)) + 1|0); + HEAP32[$10>>2] = $64; } - if ((label|0) == 13) { - $98 = HEAP32[$pCell>>2]|0; - $99 = ((($info)) + 18|0); - $100 = HEAP16[$99>>1]|0; - $101 = $100&65535; - $102 = (($98) + ($101)|0); - $103 = ((($102)) + -4|0); - $104 = HEAP32[$3>>2]|0; - _sqlite3Put4byte($103,$104); + $65 = HEAP32[$7>>2]|0; + $66 = $63; + $67 = $65; + $68 = (($66) - ($67))|0; + $69 = HEAP32[$6>>2]|0; + $70 = ((($69)) + 4|0); + HEAP32[$70>>2] = $68; + $71 = HEAP32[$6>>2]|0; + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(2); + if ($74) { + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$75>>2]|0; + $77 = (_memcmp($76,45933,2)|0); + $78 = ($77|0)==(0); + if ($78) { + HEAP32[$8>>2] = 1; + } } - else if ((label|0) == 15) { - $109 = HEAP32[$pCell>>2]|0; - $110 = HEAP32[$3>>2]|0; - _sqlite3Put4byte($109,$110); + $79 = HEAP32[$6>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==(3); + if ($82) { + $83 = HEAP32[$6>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = (_memcmp($84,45940,3)|0); + $86 = ($85|0)==(0); + if ($86) { + HEAP32[$8>>2] = 3; + } } - $113 = HEAP32[$i>>2]|0; - $114 = HEAP32[$nCell>>2]|0; - $115 = ($113|0)==($114|0); - do { - if ($115) { - $116 = HEAP8[$4>>0]|0; - $117 = $116&255; - $118 = ($117|0)!=(5); - if (!($118)) { - $119 = HEAP32[$1>>2]|0; - $120 = ((($119)) + 5|0); - $121 = HEAP8[$120>>0]|0; - $122 = $121&255; - $123 = (($122) + 8)|0; - $124 = HEAP32[$1>>2]|0; - $125 = ((($124)) + 56|0); - $126 = HEAP32[$125>>2]|0; - $127 = (($126) + ($123)|0); - $128 = (_sqlite3Get4byte($127)|0); - $129 = HEAP32[$2>>2]|0; - $130 = ($128|0)!=($129|0); - if (!($130)) { - $132 = HEAP32[$1>>2]|0; - $133 = ((($132)) + 5|0); - $134 = HEAP8[$133>>0]|0; - $135 = $134&255; - $136 = (($135) + 8)|0; - $137 = HEAP32[$1>>2]|0; - $138 = ((($137)) + 56|0); - $139 = HEAP32[$138>>2]|0; - $140 = (($139) + ($136)|0); - $141 = HEAP32[$3>>2]|0; - _sqlite3Put4byte($140,$141); - break; - } - } - $131 = (_sqlite3CorruptError(61617)|0); - HEAP32[$0>>2] = $131; - $144 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($144|0); + $87 = HEAP32[$6>>2]|0; + $88 = ((($87)) + 4|0); + $89 = HEAP32[$88>>2]|0; + $90 = ($89|0)==(3); + if ($90) { + $91 = HEAP32[$6>>2]|0; + $92 = HEAP32[$91>>2]|0; + $93 = (_memcmp($92,45936,3)|0); + $94 = ($93|0)==(0); + if ($94) { + HEAP32[$8>>2] = 2; } - } while(0); - $142 = HEAP8[$isInitOrig>>0]|0; - $143 = HEAP32[$1>>2]|0; - HEAP8[$143>>0] = $142; + } + } } } while(0); - HEAP32[$0>>2] = 0; - $144 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($144|0); + $95 = HEAP32[$6>>2]|0; + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$6>>2]|0; + $98 = ((($97)) + 4|0); + $99 = HEAP32[$98>>2]|0; + $100 = (($96) + ($99)|0); + $101 = HEAP32[$5>>2]|0; + HEAP32[$101>>2] = $100; + $102 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $102; + $103 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($103|0); } -function _ptrmapPutOvflPtr($pPage,$pCell,$pRC) { - $pPage = $pPage|0; - $pCell = $pCell|0; - $pRC = $pRC|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $info = 0, $ovfl = 0, label = 0, sp = 0; +function _sqlite3Fts5Parser($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $info = sp; - $ovfl = sp + 24|0; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $pCell; - HEAP32[$2>>2] = $pRC; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0); - if ($5) { + $$byval_copy1 = sp + 32|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $3; + $10 = HEAP32[$4>>2]|0; + HEAP32[$9>>2] = $10; + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$9>>2]|0; + $13 = ((($12)) + 4|0); + HEAP32[$13>>2] = $11; + while(1) { + $14 = HEAP32[$9>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = $15&255; + $17 = (_fts5yy_find_shift_action($14,$16)|0); + HEAP32[$8>>2] = $17; + $18 = HEAP32[$8>>2]|0; + $19 = ($18>>>0)<=(70); + do { + if ($19) { + $20 = HEAP32[$9>>2]|0; + $21 = HEAP32[$8>>2]|0; + $22 = HEAP32[$5>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0; + _fts5yy_shift($20,$21,$22,$$byval_copy1); + HEAP32[$5>>2] = 28; + } else { + $23 = HEAP32[$8>>2]|0; + $24 = ($23>>>0)<=(96); + if ($24) { + $25 = HEAP32[$9>>2]|0; + $26 = HEAP32[$8>>2]|0; + $27 = (($26) - 71)|0; + _fts5yy_reduce($25,$27); + break; + } else { + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = HEAP32[$5>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0; + _fts5yy_syntax_error($28,$29,$$byval_copy1); + $30 = HEAP32[$9>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = $31&255; + _fts5yy_destructor($30,$32,$7); + HEAP32[$5>>2] = 28; + break; + } + } + } while(0); + $33 = HEAP32[$5>>2]|0; + $34 = ($33|0)!=(28); + if (!($34)) { + label = 9; + break; + } + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$9>>2]|0; + $38 = ((($37)) + 8|0); + $39 = ($36>>>0)>($38>>>0); + if (!($39)) { + label = 9; + break; + } + } + if ((label|0) == 9) { STACKTOP = sp;return; } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 80|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$1>>2]|0; - FUNCTION_TABLE_viii[$8 & 255]($9,$10,$info); - $11 = ((($info)) + 16|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = ((($info)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($13>>>0)<($15>>>0); - if (!($16)) { +} +function _fts5ParseFree($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _sqlite3_free($2); + STACKTOP = sp;return; +} +function _sqlite3Fts5ParserFree($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { STACKTOP = sp;return; } - $17 = ((($info)) + 18|0); - $18 = HEAP16[$17>>1]|0; - $19 = $18&65535; - $20 = (($19) - 4)|0; - $21 = HEAP32[$1>>2]|0; - $22 = (($21) + ($20)|0); - $23 = (_sqlite3Get4byte($22)|0); - HEAP32[$ovfl>>2] = $23; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 52|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$ovfl>>2]|0; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 84|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$2>>2]|0; - _ptrmapPut($26,$27,3,$30,$31); + while(1) { + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 8|0); + $12 = ($9>>>0)>($11>>>0); + if (!($12)) { + break; + } + $13 = HEAP32[$4>>2]|0; + _fts5yy_pop_parser_stack($13); + } + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$4>>2]|0; + FUNCTION_TABLE_vi[$14 & 255]($15); STACKTOP = sp;return; } -function _sqlite3PcacheMove($p,$newPgno) { - $p = $p|0; - $newPgno = $newPgno|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, label = 0, sp = 0; +function _fts5yy_pop_parser_stack($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; - $pCache = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $newPgno; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 28|0); + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; - HEAP32[$pCache>>2] = $4; - $5 = HEAP32[(152)>>2]|0; - $6 = HEAP32[$pCache>>2]|0; - $7 = ((($6)) + 44|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$1>>2]|0; - FUNCTION_TABLE_viiii[$5 & 255]($8,$10,$13,$14); - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 20|0); - HEAP32[$17>>2] = $15; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 24|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - $22 = $21 & 2; - $23 = ($22|0)!=(0); - if (!($23)) { + $5 = ((($4)) + -12|0); + HEAP32[$3>>2] = $5; + HEAP32[$2>>2] = $4; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 1|0); + $9 = HEAP8[$8>>0]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 4|0); + _fts5yy_destructor($6,$9,$11); + STACKTOP = sp;return; +} +function _fts5yy_destructor($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; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 12|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$6>>2] = $9; + $10 = HEAP8[$4>>0]|0; + $11 = $10&255; + switch ($11|0) { + case 16: { STACKTOP = sp;return; + break; } - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 24|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26&65535; - $28 = $27 & 8; - $29 = ($28|0)!=(0); - if (!($29)) { + case 19: case 18: case 17: { + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$12>>2]|0; + _sqlite3Fts5ParseNodeFree($13); + STACKTOP = sp;return; + break; + } + case 23: case 20: { + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + _sqlite3Fts5ParseNearsetFree($15); + STACKTOP = sp;return; + break; + } + case 22: case 21: { + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$16>>2]|0; + _sqlite3_free($17); + STACKTOP = sp;return; + break; + } + case 24: { + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$18>>2]|0; + _sqlite3Fts5ParsePhraseFree($19); + STACKTOP = sp;return; + break; + } + default: { STACKTOP = sp;return; } - $30 = HEAP32[$0>>2]|0; - _pcacheManageDirtyList($30,3); + } +} +function _sqlite3Fts5ParsePhraseFree($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _fts5ExprPhraseFree($2); STACKTOP = sp;return; } -function _btreeGetUnusedPage($pBt,$pgno,$ppPage,$flags) { - $pBt = $pBt|0; - $pgno = $pgno|0; - $ppPage = $ppPage|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _fts5yy_find_shift_action($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; $2 = sp + 12|0; $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $ppPage; - HEAP32[$4>>2] = $flags; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; + $4 = sp + 16|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP8[$4>>0] = $1; $7 = HEAP32[$3>>2]|0; - $8 = HEAP32[$4>>2]|0; - $9 = (_btreeGetPage($5,$6,$7,$8)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - $12 = HEAP32[$3>>2]|0; - do { - if ($11) { - $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 72|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3PagerPageRefcount($15)|0); - $17 = ($16|0)>(1); - $18 = HEAP32[$3>>2]|0; - $19 = HEAP32[$18>>2]|0; - if (!($17)) { - HEAP8[$19>>0] = 0; - break; - } - _releasePage($19); - $20 = HEAP32[$3>>2]|0; - HEAP32[$20>>2] = 0; - $21 = (_sqlite3CorruptError(60316)|0); - HEAP32[$0>>2] = $21; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); - } else { - HEAP32[$12>>2] = 0; + $8 = HEAP32[$7>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + HEAP32[$6>>2] = $10; + $11 = HEAP32[$6>>2]|0; + $12 = ($11|0)>=(71); + $13 = HEAP32[$6>>2]|0; + if ($12) { + HEAP32[$2>>2] = $13; + $40 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($40|0); + } + $14 = (49656 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + HEAP32[$5>>2] = $16; + $17 = HEAP8[$4>>0]|0; + $18 = $17&255; + $19 = HEAP32[$5>>2]|0; + $20 = (($19) + ($18))|0; + HEAP32[$5>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = ($21|0)<(0); + $23 = HEAP32[$5>>2]|0; + $24 = ($23|0)>=(85); + $or$cond = $22 | $24; + if (!($or$cond)) { + $25 = HEAP32[$5>>2]|0; + $26 = (49685 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = HEAP8[$4>>0]|0; + $30 = $29&255; + $31 = ($28|0)!=($30|0); + if (!($31)) { + $36 = HEAP32[$5>>2]|0; + $37 = (49404 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + HEAP32[$2>>2] = $39; + $40 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($40|0); } - } while(0); - $22 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $22; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); + } + $32 = HEAP32[$6>>2]|0; + $33 = (49770 + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + HEAP32[$2>>2] = $35; + $40 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($40|0); } -function _btreeGetHasContent($pBt,$pgno) { - $pBt = $pBt|0; - $pgno = $pgno|0; - var $0 = 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, $p = 0, label = 0, sp = 0; +function _fts5yy_shift($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pBt; - HEAP32[$1>>2] = $pgno; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 60|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $16 = 0; - $15 = $16&1; - STACKTOP = sp;return ($15|0); + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 12|0); + HEAP32[$8>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 8|0); + $15 = ((($14)) + 1200|0); + $16 = ($12>>>0)>=($15>>>0); + if ($16) { + $17 = HEAP32[$4>>2]|0; + _fts5yyStackOverflow($17); + STACKTOP = sp;return; } - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$p>>2]|0; - $9 = (_sqlite3BitvecSize($8)|0); - $10 = ($7>>>0)>($9>>>0); - if ($10) { - $16 = 1; - $15 = $16&1; - STACKTOP = sp;return ($15|0); + $18 = HEAP32[$5>>2]|0; + $19 = ($18|0)>(28); + if ($19) { + $20 = HEAP32[$5>>2]|0; + $21 = (($20) + 26)|0; + HEAP32[$5>>2] = $21; } - $11 = HEAP32[$p>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (_sqlite3BitvecTest($11,$12)|0); - $14 = ($13|0)!=(0); - $16 = $14; - $15 = $16&1; - STACKTOP = sp;return ($15|0); -} -function _sqlite3PagerIsMemdb($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 13|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - STACKTOP = sp;return ($4|0); + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$7>>2] = $23; + $24 = HEAP32[$5>>2]|0; + $25 = $24&255; + $26 = HEAP32[$7>>2]|0; + HEAP8[$26>>0] = $25; + $27 = HEAP32[$6>>2]|0; + $28 = $27&255; + $29 = HEAP32[$7>>2]|0; + $30 = ((($29)) + 1|0); + HEAP8[$30>>0] = $28; + $31 = HEAP32[$7>>2]|0; + $32 = ((($31)) + 4|0); + ;HEAP32[$32>>2]=HEAP32[$3>>2]|0;HEAP32[$32+4>>2]=HEAP32[$3+4>>2]|0; + STACKTOP = sp;return; } -function _execSql($db,$pzErrMsg,$zSql) { - $db = $db|0; - $pzErrMsg = $pzErrMsg|0; - $zSql = $zSql|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pStmt = 0, $rc = 0, $zSubSql = 0, label = 0, sp = 0; +function _fts5yy_reduce($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $pStmt = sp + 8|0; - $rc = sp + 4|0; - $zSubSql = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pzErrMsg; - HEAP32[$3>>2] = $zSql; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$3>>2]|0; - $6 = (_sqlite3_prepare_v2($4,$5,-1,$pStmt,0)|0); - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)!=(0); - if ($8) { - $9 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $9; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$8>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = (49337 + ($15<<1)|0); + $17 = ((($16)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)==(0); + if ($20) { + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 8|0); + $25 = ((($24)) + 1188|0); + $26 = ($22>>>0)>=($25>>>0); + if ($26) { + $27 = HEAP32[$2>>2]|0; + _fts5yyStackOverflow($27); + STACKTOP = sp;return; + } } - while(1) { - $10 = HEAP32[$pStmt>>2]|0; - $11 = (_sqlite3_step($10)|0); - HEAP32[$rc>>2] = $11; - $12 = (100)==($11|0); - if (!($12)) { + $28 = HEAP32[$3>>2]|0; + do { + switch ($28|0) { + case 0: { + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + _sqlite3Fts5ParseFinished($29,$32); break; } - $13 = HEAP32[$pStmt>>2]|0; - $14 = (_sqlite3_column_text($13,0)|0); - HEAP32[$zSubSql>>2] = $14; - $15 = HEAP32[$zSubSql>>2]|0; - $16 = ($15|0)!=(0|0); - if (!($16)) { - continue; + case 1: { + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = ((($34)) + -24|0); + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$6>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3Fts5ParseNode($33,2,$37,$40,0)|0); + HEAP32[$9>>2] = $41; + $42 = HEAP32[$9>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = ((($43)) + -24|0); + $45 = ((($44)) + 4|0); + HEAP32[$45>>2] = $42; + break; } - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$zSubSql>>2]|0; - $20 = (_execSql($17,$18,$19)|0); - HEAP32[$rc>>2] = $20; - $21 = HEAP32[$rc>>2]|0; - $22 = ($21|0)!=(0); - if ($22) { + case 2: { + $46 = HEAP32[$8>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + -24|0); + $49 = ((($48)) + 4|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = ((($51)) + 4|0); + $53 = HEAP32[$52>>2]|0; + $54 = (_sqlite3Fts5ParseNode($46,1,$50,$53,0)|0); + HEAP32[$9>>2] = $54; + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$6>>2]|0; + $57 = ((($56)) + -24|0); + $58 = ((($57)) + 4|0); + HEAP32[$58>>2] = $55; + break; + } + case 3: { + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$6>>2]|0; + $61 = ((($60)) + -24|0); + $62 = ((($61)) + 4|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$6>>2]|0; + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = (_sqlite3Fts5ParseNode($59,3,$63,$66,0)|0); + HEAP32[$9>>2] = $67; + $68 = HEAP32[$9>>2]|0; + $69 = HEAP32[$6>>2]|0; + $70 = ((($69)) + -24|0); + $71 = ((($70)) + 4|0); + HEAP32[$71>>2] = $68; + break; + } + case 4: { + $72 = HEAP32[$6>>2]|0; + $73 = ((($72)) + -12|0); + $74 = ((($73)) + 4|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$6>>2]|0; + $77 = ((($76)) + -24|0); + $78 = ((($77)) + 4|0); + HEAP32[$78>>2] = $75; + break; + } + case 6: case 5: { + $79 = HEAP32[$6>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + HEAP32[$9>>2] = $81; + $82 = HEAP32[$9>>2]|0; + $83 = HEAP32[$6>>2]|0; + $84 = ((($83)) + 4|0); + HEAP32[$84>>2] = $82; + break; + } + case 7: { + $85 = HEAP32[$8>>2]|0; + $86 = HEAP32[$6>>2]|0; + $87 = ((($86)) + -12|0); + $88 = ((($87)) + 4|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$6>>2]|0; + $91 = ((($90)) + 4|0); + $92 = HEAP32[$91>>2]|0; + $93 = (_sqlite3Fts5ParseImplicitAnd($85,$89,$92)|0); + HEAP32[$9>>2] = $93; + $94 = HEAP32[$9>>2]|0; + $95 = HEAP32[$6>>2]|0; + $96 = ((($95)) + -12|0); + $97 = ((($96)) + 4|0); + HEAP32[$97>>2] = $94; + break; + } + case 8: { + $98 = HEAP32[$8>>2]|0; + $99 = HEAP32[$6>>2]|0; + $100 = ((($99)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = (_sqlite3Fts5ParseNode($98,11,0,0,$101)|0); + HEAP32[$9>>2] = $102; + $103 = HEAP32[$9>>2]|0; + $104 = HEAP32[$6>>2]|0; + $105 = ((($104)) + 4|0); + HEAP32[$105>>2] = $103; + break; + } + case 9: { + $106 = HEAP32[$8>>2]|0; + $107 = HEAP32[$6>>2]|0; + $108 = ((($107)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = HEAP32[$6>>2]|0; + $111 = ((($110)) + -24|0); + $112 = ((($111)) + 4|0); + $113 = HEAP32[$112>>2]|0; + _sqlite3Fts5ParseSetColset($106,$109,$113); + $114 = HEAP32[$8>>2]|0; + $115 = HEAP32[$6>>2]|0; + $116 = ((($115)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = (_sqlite3Fts5ParseNode($114,11,0,0,$117)|0); + HEAP32[$9>>2] = $118; + $119 = HEAP32[$9>>2]|0; + $120 = HEAP32[$6>>2]|0; + $121 = ((($120)) + -24|0); + $122 = ((($121)) + 4|0); + HEAP32[$122>>2] = $119; + break; + } + case 10: { + $123 = HEAP32[$8>>2]|0; + $124 = HEAP32[$6>>2]|0; + $125 = ((($124)) + -12|0); + $126 = ((($125)) + 4|0); + $127 = HEAP32[$126>>2]|0; + $128 = (_sqlite3Fts5ParseColsetInvert($123,$127)|0); + $129 = HEAP32[$6>>2]|0; + $130 = ((($129)) + -36|0); + $131 = ((($130)) + 4|0); + HEAP32[$131>>2] = $128; + break; + } + case 11: { + $132 = HEAP32[$6>>2]|0; + $133 = ((($132)) + -12|0); + $134 = ((($133)) + 4|0); + $135 = HEAP32[$134>>2]|0; + $136 = HEAP32[$6>>2]|0; + $137 = ((($136)) + -24|0); + $138 = ((($137)) + 4|0); + HEAP32[$138>>2] = $135; + break; + } + case 12: { + $139 = HEAP32[$8>>2]|0; + $140 = HEAP32[$6>>2]|0; + $141 = ((($140)) + 4|0); + $142 = (_sqlite3Fts5ParseColset($139,0,$141)|0); + HEAP32[$9>>2] = $142; + $143 = HEAP32[$9>>2]|0; + $144 = HEAP32[$6>>2]|0; + $145 = ((($144)) + 4|0); + HEAP32[$145>>2] = $143; + break; + } + case 13: { + $146 = HEAP32[$8>>2]|0; + $147 = HEAP32[$6>>2]|0; + $148 = ((($147)) + 4|0); + $149 = (_sqlite3Fts5ParseColset($146,0,$148)|0); + $150 = HEAP32[$6>>2]|0; + $151 = ((($150)) + -12|0); + $152 = ((($151)) + 4|0); + HEAP32[$152>>2] = $149; + $153 = HEAP32[$8>>2]|0; + $154 = HEAP32[$6>>2]|0; + $155 = ((($154)) + -12|0); + $156 = ((($155)) + 4|0); + $157 = HEAP32[$156>>2]|0; + $158 = (_sqlite3Fts5ParseColsetInvert($153,$157)|0); + $159 = HEAP32[$6>>2]|0; + $160 = ((($159)) + -12|0); + $161 = ((($160)) + 4|0); + HEAP32[$161>>2] = $158; + break; + } + case 14: { + $162 = HEAP32[$8>>2]|0; + $163 = HEAP32[$6>>2]|0; + $164 = ((($163)) + -12|0); + $165 = ((($164)) + 4|0); + $166 = HEAP32[$165>>2]|0; + $167 = HEAP32[$6>>2]|0; + $168 = ((($167)) + 4|0); + $169 = (_sqlite3Fts5ParseColset($162,$166,$168)|0); + HEAP32[$9>>2] = $169; + $170 = HEAP32[$9>>2]|0; + $171 = HEAP32[$6>>2]|0; + $172 = ((($171)) + -12|0); + $173 = ((($172)) + 4|0); + HEAP32[$173>>2] = $170; + break; + } + case 15: { + $174 = HEAP32[$8>>2]|0; + $175 = HEAP32[$6>>2]|0; + $176 = ((($175)) + 4|0); + $177 = (_sqlite3Fts5ParseColset($174,0,$176)|0); + HEAP32[$9>>2] = $177; + $178 = HEAP32[$9>>2]|0; + $179 = HEAP32[$6>>2]|0; + $180 = ((($179)) + 4|0); + HEAP32[$180>>2] = $178; + break; + } + case 16: { + $181 = HEAP32[$8>>2]|0; + $182 = HEAP32[$6>>2]|0; + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = (_sqlite3Fts5ParseNearset($181,0,$184)|0); + HEAP32[$9>>2] = $185; + $186 = HEAP32[$9>>2]|0; + $187 = HEAP32[$6>>2]|0; + $188 = ((($187)) + 4|0); + HEAP32[$188>>2] = $186; + break; + } + case 17: { + $189 = HEAP32[$8>>2]|0; + $190 = HEAP32[$6>>2]|0; + $191 = ((($190)) + -48|0); + $192 = ((($191)) + 4|0); + _sqlite3Fts5ParseNear($189,$192); + $193 = HEAP32[$8>>2]|0; + $194 = HEAP32[$6>>2]|0; + $195 = ((($194)) + -24|0); + $196 = ((($195)) + 4|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$6>>2]|0; + $199 = ((($198)) + -12|0); + $200 = ((($199)) + 4|0); + _sqlite3Fts5ParseSetDistance($193,$197,$200); + $201 = HEAP32[$6>>2]|0; + $202 = ((($201)) + -24|0); + $203 = ((($202)) + 4|0); + $204 = HEAP32[$203>>2]|0; + HEAP32[$9>>2] = $204; + $205 = HEAP32[$9>>2]|0; + $206 = HEAP32[$6>>2]|0; + $207 = ((($206)) + -48|0); + $208 = ((($207)) + 4|0); + HEAP32[$208>>2] = $205; + break; + } + case 18: { + $209 = HEAP32[$8>>2]|0; + $210 = HEAP32[$6>>2]|0; + $211 = ((($210)) + 4|0); + $212 = HEAP32[$211>>2]|0; + $213 = (_sqlite3Fts5ParseNearset($209,0,$212)|0); + HEAP32[$9>>2] = $213; + $214 = HEAP32[$9>>2]|0; + $215 = HEAP32[$6>>2]|0; + $216 = ((($215)) + 4|0); + HEAP32[$216>>2] = $214; + break; + } + case 19: { + $217 = HEAP32[$8>>2]|0; + $218 = HEAP32[$6>>2]|0; + $219 = ((($218)) + -12|0); + $220 = ((($219)) + 4|0); + $221 = HEAP32[$220>>2]|0; + $222 = HEAP32[$6>>2]|0; + $223 = ((($222)) + 4|0); + $224 = HEAP32[$223>>2]|0; + $225 = (_sqlite3Fts5ParseNearset($217,$221,$224)|0); + HEAP32[$9>>2] = $225; + $226 = HEAP32[$9>>2]|0; + $227 = HEAP32[$6>>2]|0; + $228 = ((($227)) + -12|0); + $229 = ((($228)) + 4|0); + HEAP32[$229>>2] = $226; + break; + } + case 20: { + $230 = HEAP32[$6>>2]|0; + $231 = ((($230)) + 12|0); + $232 = ((($231)) + 4|0); + HEAP32[$232>>2] = 0; + $233 = HEAP32[$6>>2]|0; + $234 = ((($233)) + 12|0); + $235 = ((($234)) + 4|0); + $236 = ((($235)) + 4|0); + HEAP32[$236>>2] = 0; + break; + } + case 21: { + $237 = HEAP32[$6>>2]|0; + $238 = ((($237)) + -12|0); + $239 = ((($238)) + 4|0); + $240 = HEAP32[$6>>2]|0; + $241 = ((($240)) + 4|0); + ;HEAP32[$239>>2]=HEAP32[$241>>2]|0;HEAP32[$239+4>>2]=HEAP32[$241+4>>2]|0; + break; + } + case 22: { + $242 = HEAP32[$8>>2]|0; + $243 = HEAP32[$6>>2]|0; + $244 = ((($243)) + -36|0); + $245 = ((($244)) + 4|0); + $246 = HEAP32[$245>>2]|0; + $247 = HEAP32[$6>>2]|0; + $248 = ((($247)) + -12|0); + $249 = ((($248)) + 4|0); + $250 = HEAP32[$6>>2]|0; + $251 = ((($250)) + 4|0); + $252 = HEAP32[$251>>2]|0; + $253 = (_sqlite3Fts5ParseTerm($242,$246,$249,$252)|0); + HEAP32[$9>>2] = $253; + $254 = HEAP32[$9>>2]|0; + $255 = HEAP32[$6>>2]|0; + $256 = ((($255)) + -36|0); + $257 = ((($256)) + 4|0); + HEAP32[$257>>2] = $254; + break; + } + case 23: { + $258 = HEAP32[$8>>2]|0; + $259 = HEAP32[$6>>2]|0; + $260 = ((($259)) + -12|0); + $261 = ((($260)) + 4|0); + $262 = HEAP32[$6>>2]|0; + $263 = ((($262)) + 4|0); + $264 = HEAP32[$263>>2]|0; + $265 = (_sqlite3Fts5ParseTerm($258,0,$261,$264)|0); + HEAP32[$9>>2] = $265; + $266 = HEAP32[$9>>2]|0; + $267 = HEAP32[$6>>2]|0; + $268 = ((($267)) + -12|0); + $269 = ((($268)) + 4|0); + HEAP32[$269>>2] = $266; + break; + } + case 24: { + $270 = HEAP32[$6>>2]|0; + $271 = ((($270)) + 4|0); + HEAP32[$271>>2] = 1; break; } + case 25: { + $272 = HEAP32[$6>>2]|0; + $273 = ((($272)) + 12|0); + $274 = ((($273)) + 4|0); + HEAP32[$274>>2] = 0; + break; + } + default: { + } + } + } while(0); + $275 = HEAP32[$3>>2]|0; + $276 = (49337 + ($275<<1)|0); + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + HEAP32[$4>>2] = $278; + $279 = HEAP32[$3>>2]|0; + $280 = (49337 + ($279<<1)|0); + $281 = ((($280)) + 1|0); + $282 = HEAP8[$281>>0]|0; + $283 = $282&255; + HEAP32[$7>>2] = $283; + $284 = HEAP32[$6>>2]|0; + $285 = HEAP32[$7>>2]|0; + $286 = (0 - ($285))|0; + $287 = (($284) + (($286*12)|0)|0); + $288 = HEAP8[$287>>0]|0; + $289 = $288&255; + $290 = HEAP32[$4>>2]|0; + $291 = $290&255; + $292 = (_fts5yy_find_reduce_action($289,$291)|0); + HEAP32[$5>>2] = $292; + $293 = HEAP32[$5>>2]|0; + $294 = ($293|0)<=(70); + if (!($294)) { + $313 = HEAP32[$7>>2]|0; + $314 = HEAP32[$2>>2]|0; + $315 = HEAP32[$314>>2]|0; + $316 = (0 - ($313))|0; + $317 = (($315) + (($316*12)|0)|0); + HEAP32[$314>>2] = $317; + $318 = HEAP32[$2>>2]|0; + _fts5yy_accept($318); + STACKTOP = sp;return; } - $23 = HEAP32[$rc>>2]|0; - $24 = ($23|0)==(101); - if ($24) { - HEAP32[$rc>>2] = 0; + $295 = HEAP32[$5>>2]|0; + $296 = ($295|0)>(28); + if ($296) { + $297 = HEAP32[$5>>2]|0; + $298 = (($297) + 26)|0; + HEAP32[$5>>2] = $298; + } + $299 = HEAP32[$7>>2]|0; + $300 = (($299) - 1)|0; + $301 = HEAP32[$6>>2]|0; + $302 = (0 - ($300))|0; + $303 = (($301) + (($302*12)|0)|0); + HEAP32[$6>>2] = $303; + $304 = HEAP32[$6>>2]|0; + $305 = HEAP32[$2>>2]|0; + HEAP32[$305>>2] = $304; + $306 = HEAP32[$5>>2]|0; + $307 = $306&255; + $308 = HEAP32[$6>>2]|0; + HEAP8[$308>>0] = $307; + $309 = HEAP32[$4>>2]|0; + $310 = $309&255; + $311 = HEAP32[$6>>2]|0; + $312 = ((($311)) + 1|0); + HEAP8[$312>>0] = $310; + STACKTOP = sp;return; +} +function _fts5yy_syntax_error($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, $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 + 32|0; + $vararg_buffer = sp; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $8; + $9 = HEAP32[$5>>2]|0; + $10 = ((($2)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $11; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $12; + _sqlite3Fts5ParseError($9,49306,$vararg_buffer); + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 4|0); + HEAP32[$15>>2] = $13; + STACKTOP = sp;return; +} +function _sqlite3Fts5ParseError($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = $varargs; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + STACKTOP = sp;return; } - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)!=(0); - if ($26) { - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = (_sqlite3_errmsg($29)|0); - _sqlite3SetString($27,$28,$30); - } - $31 = HEAP32[$pStmt>>2]|0; - (_sqlite3_finalize($31)|0); - $32 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $32; - $33 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($33|0); + $9 = HEAP32[$3>>2]|0; + $10 = (_sqlite3_vmprintf($9,$4)|0); + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 4|0); + HEAP32[$12>>2] = $10; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 8|0); + HEAP32[$14>>2] = 1; + STACKTOP = sp;return; } -function _sqlite3BtreeGetOptimalReserve($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $n = 0, label = 0, sp = 0; +function _fts5yyStackOverflow($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($1); - $2 = HEAP32[$0>>2]|0; - $3 = (_sqlite3BtreeGetReserveNoMutex($2)|0); - HEAP32[$n>>2] = $3; - $4 = HEAP32[$n>>2]|0; - STACKTOP = sp;return ($4|0); + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + -12|0); + HEAP32[$6>>2] = $8; + while(1) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 8|0); + $13 = ($10>>>0)>($12>>>0); + if (!($13)) { + break; + } + $14 = HEAP32[$1>>2]|0; + _fts5yy_pop_parser_stack($14); + } + $15 = HEAP32[$2>>2]|0; + _sqlite3Fts5ParseError($15,49628,$vararg_buffer); + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 4|0); + HEAP32[$18>>2] = $16; + STACKTOP = sp;return; } -function _execSqlF($db,$pzErrMsg,$zSql,$varargs) { - $db = $db|0; - $pzErrMsg = $pzErrMsg|0; - $zSql = $zSql|0; - $varargs = $varargs|0; - var $0 = 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, $ap = 0, $rc = 0, $z = 0; - var label = 0, sp = 0; +function _sqlite3Fts5ParseFinished($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 20|0); + HEAP32[$6>>2] = $4; + STACKTOP = sp;return; +} +function _sqlite3Fts5ParseNode($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $z = sp + 24|0; - $ap = sp + 8|0; - $rc = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pzErrMsg; - HEAP32[$3>>2] = $zSql; - HEAP32[$ap>>2] = $varargs; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$3>>2]|0; - $6 = (_sqlite3VMPrintf($4,$5,$ap)|0); - HEAP32[$z>>2] = $6; - $7 = HEAP32[$z>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - HEAP32[$0>>2] = 7; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); + $vararg_buffer = sp; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = 0; + $15 = HEAP32[$6>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0); + do { + if ($18) { + HEAP32[$12>>2] = 0; + $19 = HEAP32[$7>>2]|0; + $20 = ($19|0)==(11); + $21 = HEAP32[$10>>2]|0; + $22 = ($21|0)==(0|0); + $or$cond = $20 & $22; + if ($or$cond) { + HEAP32[$5>>2] = 0; + $137 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($137|0); + } + $23 = HEAP32[$7>>2]|0; + $24 = ($23|0)!=(11); + $25 = HEAP32[$8>>2]|0; + $26 = ($25|0)==(0|0); + $or$cond3 = $24 & $26; + if ($or$cond3) { + $27 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $27; + $137 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($137|0); + } + $28 = HEAP32[$7>>2]|0; + $29 = ($28|0)!=(11); + $30 = HEAP32[$9>>2]|0; + $31 = ($30|0)==(0|0); + $or$cond5 = $29 & $31; + if ($or$cond5) { + $32 = HEAP32[$8>>2]|0; + HEAP32[$5>>2] = $32; + $137 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($137|0); + } + $33 = HEAP32[$7>>2]|0; + $34 = ($33|0)==(3); + if ($34) { + HEAP32[$12>>2] = 2; + } else { + $35 = HEAP32[$7>>2]|0; + $36 = ($35|0)==(2); + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)==(1); + $or$cond7 = $36 | $38; + if ($or$cond7) { + HEAP32[$12>>2] = 2; + $39 = HEAP32[$8>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = ($40|0)==($41|0); + if ($42) { + $43 = HEAP32[$8>>2]|0; + $44 = ((($43)) + 28|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) - 1)|0; + $47 = HEAP32[$12>>2]|0; + $48 = (($47) + ($46))|0; + HEAP32[$12>>2] = $48; + } + $49 = HEAP32[$9>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = ($50|0)==($51|0); + if ($52) { + $53 = HEAP32[$9>>2]|0; + $54 = ((($53)) + 28|0); + $55 = HEAP32[$54>>2]|0; + $56 = (($55) - 1)|0; + $57 = HEAP32[$12>>2]|0; + $58 = (($57) + ($56))|0; + HEAP32[$12>>2] = $58; + } + } + } + $59 = HEAP32[$12>>2]|0; + $60 = (($59) - 1)|0; + $61 = $60<<2; + $62 = (40 + ($61))|0; + HEAP32[$13>>2] = $62; + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 8|0); + $65 = HEAP32[$13>>2]|0; + $66 = (_sqlite3Fts5MallocZero($64,$65)|0); + HEAP32[$11>>2] = $66; + $67 = HEAP32[$11>>2]|0; + $68 = ($67|0)!=(0|0); + if ($68) { + $69 = HEAP32[$7>>2]|0; + $70 = HEAP32[$11>>2]|0; + HEAP32[$70>>2] = $69; + $71 = HEAP32[$10>>2]|0; + $72 = HEAP32[$11>>2]|0; + $73 = ((($72)) + 24|0); + HEAP32[$73>>2] = $71; + $74 = HEAP32[$11>>2]|0; + _fts5ExprAssignXNext($74); + $75 = HEAP32[$7>>2]|0; + $76 = ($75|0)==(11); + if (!($76)) { + $127 = HEAP32[$11>>2]|0; + $128 = HEAP32[$8>>2]|0; + _fts5ExprAddChildren($127,$128); + $129 = HEAP32[$11>>2]|0; + $130 = HEAP32[$9>>2]|0; + _fts5ExprAddChildren($129,$130); + break; + } + HEAP32[$14>>2] = 0; + while(1) { + $77 = HEAP32[$14>>2]|0; + $78 = HEAP32[$10>>2]|0; + $79 = ((($78)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($77|0)<($80|0); + if (!($81)) { + break; + } + $82 = HEAP32[$11>>2]|0; + $83 = HEAP32[$10>>2]|0; + $84 = ((($83)) + 12|0); + $85 = HEAP32[$14>>2]|0; + $86 = (($84) + ($85<<2)|0); + $87 = HEAP32[$86>>2]|0; + HEAP32[$87>>2] = $82; + $88 = HEAP32[$10>>2]|0; + $89 = ((($88)) + 12|0); + $90 = HEAP32[$14>>2]|0; + $91 = (($89) + ($90<<2)|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($92)) + 16|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0); + if ($95) { + $96 = HEAP32[$11>>2]|0; + $97 = ((($96)) + 12|0); + HEAP32[$97>>2] = 0; + $98 = HEAP32[$11>>2]|0; + HEAP32[$98>>2] = 0; + } + $99 = HEAP32[$14>>2]|0; + $100 = (($99) + 1)|0; + HEAP32[$14>>2] = $100; + } + $101 = HEAP32[$6>>2]|0; + $102 = HEAP32[$101>>2]|0; + $103 = ((($102)) + 48|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)!=(0); + if ($105) { + $106 = HEAP32[$10>>2]|0; + $107 = ((($106)) + 8|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)!=(1); + if (!($109)) { + $110 = HEAP32[$10>>2]|0; + $111 = ((($110)) + 12|0); + $112 = HEAP32[$111>>2]|0; + $113 = ((($112)) + 16|0); + $114 = HEAP32[$113>>2]|0; + $115 = ($114|0)>(1); + if (!($115)) { + break; + } + } + $116 = HEAP32[$6>>2]|0; + $117 = ((($116)) + 8|0); + HEAP32[$117>>2] = 1; + $118 = HEAP32[$10>>2]|0; + $119 = ((($118)) + 8|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(1); + $122 = $121 ? 49571 : 45944; + HEAP32[$vararg_buffer>>2] = $122; + $123 = (_sqlite3_mprintf(49578,$vararg_buffer)|0); + $124 = HEAP32[$6>>2]|0; + $125 = ((($124)) + 4|0); + HEAP32[$125>>2] = $123; + $126 = HEAP32[$11>>2]|0; + _sqlite3_free($126); + HEAP32[$11>>2] = 0; + } + } + } + } while(0); + $131 = HEAP32[$11>>2]|0; + $132 = ($131|0)==(0|0); + if ($132) { + $133 = HEAP32[$8>>2]|0; + _sqlite3Fts5ParseNodeFree($133); + $134 = HEAP32[$9>>2]|0; + _sqlite3Fts5ParseNodeFree($134); + $135 = HEAP32[$10>>2]|0; + _sqlite3Fts5ParseNearsetFree($135); + } + $136 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $136; + $137 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($137|0); +} +function _sqlite3Fts5ParseImplicitAnd($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0); + $13 = HEAP32[$4>>2]|0; + if ($12) { + _sqlite3Fts5ParseNodeFree($13); + $14 = HEAP32[$5>>2]|0; + _sqlite3Fts5ParseNodeFree($14); + $81 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($81|0); + } + $15 = HEAP32[$13>>2]|0; + $16 = ($15|0)==(2); + $17 = HEAP32[$4>>2]|0; + if ($16) { + $18 = ((($17)) + 32|0); + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) - 1)|0; + $23 = (($18) + ($22<<2)|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$7>>2] = $24; } else { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$z>>2]|0; - $12 = (_execSql($9,$10,$11)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$z>>2]|0; - _sqlite3DbFree($13,$14); - $15 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $15; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); + HEAP32[$7>>2] = $17; } - return (0)|0; -} -function _sqlite3BtreeCopyFile($pTo,$pFrom) { - $pTo = $pTo|0; - $pFrom = $pFrom|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $nByte = 0, $pFd = 0, $rc = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $rc = sp + 60|0; - $pFd = sp + 56|0; - $b = sp + 8|0; - $nByte = sp; - HEAP32[$0>>2] = $pTo; - HEAP32[$1>>2] = $pFrom; - $2 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($2); - $3 = HEAP32[$1>>2]|0; - _sqlite3BtreeEnter($3); - $4 = HEAP32[$0>>2]|0; - $5 = (_sqlite3BtreePager($4)|0); - $6 = (_sqlite3PagerFile($5)|0); - HEAP32[$pFd>>2] = $6; - $7 = HEAP32[$pFd>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = (_sqlite3BtreeGetPageSize($10)|0); - $12 = ($11|0)<(0); - $13 = $12 << 31 >> 31; - $14 = HEAP32[$1>>2]|0; - $15 = (_sqlite3BtreeLastPage($14)|0); - $16 = (___muldi3(($11|0),($13|0),($15|0),0)|0); - $17 = tempRet0; - $18 = $nByte; - $19 = $18; - HEAP32[$19>>2] = $16; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = HEAP32[$pFd>>2]|0; - $23 = (_sqlite3OsFileControl($22,11,$nByte)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(12); - $$ = $25 ? 0 : $23; - HEAP32[$rc>>2] = $$; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)!=(0); - if ($27) { - $50 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($50|0); - } + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = HEAP32[$5>>2]|0; + _sqlite3Fts5ParseNodeFree($28); + $29 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $29; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -1)|0; + HEAP32[$31>>2] = $33; + $81 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($81|0); } - dest=$b; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = ((($b)) + 20|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$1>>2]|0; - $32 = ((($b)) + 24|0); - HEAP32[$32>>2] = $31; - $33 = HEAP32[$0>>2]|0; - $34 = ((($b)) + 4|0); - HEAP32[$34>>2] = $33; - $35 = ((($b)) + 16|0); - HEAP32[$35>>2] = 1; - (_sqlite3_backup_step($b,2147483647)|0); - $36 = (_sqlite3_backup_finish($b)|0); - HEAP32[$rc>>2] = $36; - $37 = HEAP32[$rc>>2]|0; - $38 = ($37|0)==(0); - if ($38) { - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 4|0); - $41 = HEAP32[$40>>2]|0; - $42 = ((($41)) + 22|0); - $43 = HEAP16[$42>>1]|0; - $44 = $43&65535; - $45 = $44 & -3; - $46 = $45&65535; - HEAP16[$42>>1] = $46; - $50 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($50|0); + $34 = HEAP32[$7>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0); + if (!($36)) { + $77 = HEAP32[$3>>2]|0; + $78 = HEAP32[$4>>2]|0; + $79 = HEAP32[$5>>2]|0; + $80 = (_sqlite3Fts5ParseNode($77,2,$78,$79,0)|0); + HEAP32[$6>>2] = $80; + $81 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($81|0); + } + $37 = HEAP32[$7>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = ($37|0)==($38|0); + $40 = HEAP32[$5>>2]|0; + if ($39) { + HEAP32[$6>>2] = $40; } else { - $47 = ((($b)) + 4|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_sqlite3BtreePager($48)|0); - _sqlite3PagerClearCache($49); - $50 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($50|0); + $41 = HEAP32[$4>>2]|0; + $42 = ((($41)) + 32|0); + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 28|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) - 1)|0; + $47 = (($42) + ($46<<2)|0); + HEAP32[$47>>2] = $40; + $48 = HEAP32[$4>>2]|0; + HEAP32[$6>>2] = $48; } - return (0)|0; + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = (($54) - 1)|0; + $56 = HEAP32[$5>>2]|0; + $57 = ((($56)) + 24|0); + $58 = HEAP32[$57>>2]|0; + $59 = ((($58)) + 8|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($55) - ($60))|0; + $62 = (($51) + ($61<<2)|0); + HEAP32[$8>>2] = $62; + $63 = HEAP32[$8>>2]|0; + $64 = HEAP32[$8>>2]|0; + $65 = ((($64)) + 4|0); + $66 = HEAP32[$5>>2]|0; + $67 = ((($66)) + 24|0); + $68 = HEAP32[$67>>2]|0; + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + $71 = $70<<2; + _memmove(($63|0),($65|0),($71|0))|0; + $72 = HEAP32[$3>>2]|0; + $73 = ((($72)) + 12|0); + $74 = HEAP32[$73>>2]|0; + $75 = (($74) + -1)|0; + HEAP32[$73>>2] = $75; + $76 = HEAP32[$7>>2]|0; + _sqlite3Fts5ParseNodeFree($76); + $81 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($81|0); } -function _sqlite3PagerClearCache($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _sqlite3Fts5ParseSetColset($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 13|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(0); - if (!($5)) { + $vararg_buffer = sp; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 48|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(1); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 8|0); + HEAP32[$12>>2] = 1; + $13 = (_sqlite3_mprintf(49518,$vararg_buffer)|0); + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 4|0); + HEAP32[$15>>2] = $13; + $16 = HEAP32[$5>>2]|0; + _sqlite3_free($16); + STACKTOP = sp;return; + } + $17 = HEAP32[$4>>2]|0; + $18 = ($17|0)!=(0|0); + $19 = HEAP32[$5>>2]|0; + if ($18) { + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 4|0); + HEAP32[$21>>2] = $19; + STACKTOP = sp;return; + } else { + _sqlite3_free($19); STACKTOP = sp;return; } - $6 = HEAP32[$0>>2]|0; - _pager_reset($6); - STACKTOP = sp;return; -} -function _sqlite3BtreeGetReserveNoMutex($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 36|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($5) - ($10))|0; - HEAP32[$n>>2] = $11; - $12 = HEAP32[$n>>2]|0; - STACKTOP = sp;return ($12|0); } -function _sqlite3PagerSharedLock($pPager) { - $pPager = $pPager|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bExists = 0, $bHotJournal = 0, $dbFileVers = 0, $f = 0, $fout = 0, $nPage = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0; - var $pVfs = 0, $rc = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _sqlite3Fts5ParseColsetInvert($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $rc = sp + 24|0; - $bHotJournal = sp + 20|0; - $pVfs = sp + 16|0; - $bExists = sp + 12|0; - $fout = sp + 8|0; - $f = sp + 4|0; - $nPage = sp; - $dbFileVers = sp + 32|0; - HEAP32[$0>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3PagerUseWal($1)|0); - $3 = ($2|0)!=(0); - do { - if ($3) { - label = 32; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$5>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$5>>2]|0; + $15 = $14<<2; + $16 = (8 + ($15))|0; + $17 = (_sqlite3Fts5MallocZero($13,$16)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + $45 = HEAP32[$3>>2]|0; + _sqlite3_free($45); + $46 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($46|0); + } + HEAP32[$7>>2] = 0; + HEAP32[$6>>2] = 0; + while(1) { + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = ($20|0)<($21|0); + if (!($22)) { + break; + } + $23 = HEAP32[$7>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ($23|0)>=($25|0); + if ($26) { + label = 6; } else { - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 17|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)==(0); - if ($8) { - HEAP32[$bHotJournal>>2] = 1; - $9 = HEAP32[$0>>2]|0; - $10 = (_pager_wait_on_lock($9,1)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)!=(0); - if (!($12)) { - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 18|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)<=(1); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = (_hasHotJournal($18,$bHotJournal)|0); - HEAP32[$rc>>2] = $19; - } - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)!=(0); - if (!($21)) { - $22 = HEAP32[$bHotJournal>>2]|0; - $23 = ($22|0)!=(0); - if ($23) { - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 15|0); - $26 = HEAP8[$25>>0]|0; - $27 = ($26<<24>>24)!=(0); - if ($27) { - HEAP32[$rc>>2] = 776; - break; - } - $28 = HEAP32[$0>>2]|0; - $29 = (_pagerLockDb($28,4)|0); - HEAP32[$rc>>2] = $29; - $30 = HEAP32[$rc>>2]|0; - $31 = ($30|0)!=(0); - if ($31) { - break; - } - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 68|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)!=(0|0); - if (!($36)) { - $37 = HEAP32[$0>>2]|0; - $38 = HEAP32[$37>>2]|0; - HEAP32[$pVfs>>2] = $38; - $39 = HEAP32[$pVfs>>2]|0; - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 180|0); - $42 = HEAP32[$41>>2]|0; - $43 = (_sqlite3OsAccess($39,$42,0,$bExists)|0); - HEAP32[$rc>>2] = $43; - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)==(0); - $46 = HEAP32[$bExists>>2]|0; - $47 = ($46|0)!=(0); - $or$cond = $45 & $47; - if ($or$cond) { - HEAP32[$fout>>2] = 0; - HEAP32[$f>>2] = 2050; - $48 = HEAP32[$pVfs>>2]|0; - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 180|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 68|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$f>>2]|0; - $56 = (_sqlite3OsOpen($48,$51,$54,$55,$fout)|0); - HEAP32[$rc>>2] = $56; - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)==(0); - if ($58) { - $59 = HEAP32[$fout>>2]|0; - $60 = $59 & 1; - $61 = ($60|0)!=(0); - if ($61) { - $62 = (_sqlite3CantopenError(51483)|0); - HEAP32[$rc>>2] = $62; - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 68|0); - $65 = HEAP32[$64>>2]|0; - _sqlite3OsClose($65); - } - } - } - } - $66 = HEAP32[$0>>2]|0; - $67 = ((($66)) + 68|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)!=(0|0); - $71 = HEAP32[$0>>2]|0; - if ($70) { - $72 = (_pagerSyncHotJournal($71)|0); - HEAP32[$rc>>2] = $72; - $73 = HEAP32[$rc>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = HEAP32[$0>>2]|0; - $76 = HEAP32[$0>>2]|0; - $77 = ((($76)) + 13|0); - $78 = HEAP8[$77>>0]|0; - $79 = ($78<<24>>24)!=(0); - $80 = $79 ^ 1; - $81 = $80&1; - $82 = (_pager_playback($75,$81)|0); - HEAP32[$rc>>2] = $82; - $83 = HEAP32[$0>>2]|0; - $84 = ((($83)) + 17|0); - HEAP8[$84>>0] = 0; - } - } else { - $85 = ((($71)) + 4|0); - $86 = HEAP8[$85>>0]|0; - $87 = ($86<<24>>24)!=(0); - if (!($87)) { - $88 = HEAP32[$0>>2]|0; - (_pagerUnlockDb($88,1)|0); - } - } - $89 = HEAP32[$rc>>2]|0; - $90 = ($89|0)!=(0); - if ($90) { - $91 = HEAP32[$0>>2]|0; - $92 = HEAP32[$rc>>2]|0; - (_pager_error($91,$92)|0); - break; - } - } - $93 = HEAP32[$0>>2]|0; - $94 = ((($93)) + 13|0); - $95 = HEAP8[$94>>0]|0; - $96 = ($95<<24>>24)!=(0); - if (!($96)) { - $97 = HEAP32[$0>>2]|0; - $98 = ((($97)) + 24|0); - $99 = HEAP8[$98>>0]|0; - $100 = $99&255; - $101 = ($100|0)!=(0); - if ($101) { - HEAP32[$nPage>>2] = 0; - $102 = HEAP32[$0>>2]|0; - $103 = (_pagerPagecount($102,$nPage)|0); - HEAP32[$rc>>2] = $103; - $104 = HEAP32[$rc>>2]|0; - $105 = ($104|0)!=(0); - if ($105) { - break; - } - $106 = HEAP32[$nPage>>2]|0; - $107 = ($106>>>0)>(0); - if ($107) { - $108 = HEAP32[$0>>2]|0; - $109 = ((($108)) + 64|0); - $110 = HEAP32[$109>>2]|0; - $111 = (_sqlite3OsRead($110,$dbFileVers,16,24,0)|0); - HEAP32[$rc>>2] = $111; - $112 = HEAP32[$rc>>2]|0; - $113 = ($112|0)!=(0); - $114 = HEAP32[$rc>>2]|0; - $115 = ($114|0)!=(522); - $or$cond3 = $113 & $115; - if ($or$cond3) { - break; - } - } else { - dest=$dbFileVers; stop=dest+16|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - } - $116 = HEAP32[$0>>2]|0; - $117 = ((($116)) + 112|0); - $118 = (_memcmp($117,$dbFileVers,16)|0); - $119 = ($118|0)!=(0); - if ($119) { - $120 = HEAP32[$0>>2]|0; - _pager_reset($120); - } - } - } - $121 = HEAP32[$0>>2]|0; - $122 = (_pagerOpenWalIfPresent($121)|0); - HEAP32[$rc>>2] = $122; - label = 32; - } - } + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$7>>2]|0; + $30 = (($28) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$6>>2]|0; + $33 = ($31|0)!=($32|0); + if ($33) { + label = 6; } else { - label = 32; + $41 = HEAP32[$7>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$7>>2] = $42; } } - } while(0); - if ((label|0) == 32) { - $123 = HEAP32[$0>>2]|0; - $124 = (_sqlite3PagerUseWal($123)|0); - $125 = ($124|0)!=(0); - if ($125) { - $126 = HEAP32[$0>>2]|0; - $127 = (_pagerBeginReadTransaction($126)|0); - HEAP32[$rc>>2] = $127; - } - $128 = HEAP32[$0>>2]|0; - $129 = ((($128)) + 13|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = ($131|0)==(0); - if ($132) { - $133 = HEAP32[$0>>2]|0; - $134 = ((($133)) + 17|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $137 = ($136|0)==(0); - $138 = HEAP32[$rc>>2]|0; - $139 = ($138|0)==(0); - $or$cond5 = $137 & $139; - if ($or$cond5) { - $140 = HEAP32[$0>>2]|0; - $141 = HEAP32[$0>>2]|0; - $142 = ((($141)) + 28|0); - $143 = (_pagerPagecount($140,$142)|0); - HEAP32[$rc>>2] = $143; - } + if ((label|0) == 6) { + label = 0; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$4>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$37>>2] = $39; + $40 = (($36) + ($38<<2)|0); + HEAP32[$40>>2] = $34; } + $43 = HEAP32[$6>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$6>>2] = $44; } - $144 = HEAP32[$rc>>2]|0; - $145 = ($144|0)!=(0); - $146 = HEAP32[$0>>2]|0; - if ($145) { - _pager_unlock($146); - $150 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($150|0); - } else { - $147 = ((($146)) + 17|0); - HEAP8[$147>>0] = 1; - $148 = HEAP32[$0>>2]|0; - $149 = ((($148)) + 24|0); - HEAP8[$149>>0] = 1; - $150 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($150|0); - } - return (0)|0; + $45 = HEAP32[$3>>2]|0; + _sqlite3_free($45); + $46 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($46|0); } -function _hasHotJournal($pPager,$pExists) { - $pPager = $pPager|0; - $pExists = $pExists|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $exists = 0, $f = 0, $first = 0, $jrnlOpen = 0, $locked = 0, $nPage = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $pVfs = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5ParseColset($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $pVfs = sp + 24|0; - $rc = sp + 20|0; - $exists = sp + 16|0; - $jrnlOpen = sp + 12|0; - $locked = sp + 8|0; - $nPage = sp + 4|0; - $f = sp; - $first = sp + 36|0; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pExists; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pVfs>>2] = $3; - HEAP32[$rc>>2] = 0; - HEAP32[$exists>>2] = 1; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 68|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = $8 ^ 1; - $10 = $9 ^ 1; - $11 = $10&1; - HEAP32[$jrnlOpen>>2] = $11; - $12 = HEAP32[$1>>2]|0; - HEAP32[$12>>2] = 0; - $13 = HEAP32[$jrnlOpen>>2]|0; - $14 = ($13|0)!=(0); - if (!($14)) { - $15 = HEAP32[$pVfs>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 180|0); - $18 = HEAP32[$17>>2]|0; - $19 = (_sqlite3OsAccess($15,$18,0,$exists)|0); - HEAP32[$rc>>2] = $19; - } - $20 = HEAP32[$rc>>2]|0; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3Fts5Strndup($11,$13,$16)|0); + HEAP32[$8>>2] = $17; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==(0); - $22 = HEAP32[$exists>>2]|0; - $23 = ($22|0)!=(0); - $or$cond = $21 & $23; - if (!($or$cond)) { - $84 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($84|0); - } - HEAP32[$locked>>2] = 0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 64|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_sqlite3OsCheckReservedLock($26,$locked)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)!=(0); - $30 = HEAP32[$locked>>2]|0; - $31 = ($30|0)!=(0); - $or$cond3 = $29 | $31; - if ($or$cond3) { - $84 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($84|0); - } - $32 = HEAP32[$0>>2]|0; - $33 = (_pagerPagecount($32,$nPage)|0); - HEAP32[$rc>>2] = $33; - $34 = HEAP32[$rc>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - $84 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($84|0); - } - $36 = HEAP32[$nPage>>2]|0; - $37 = ($36|0)!=(0); - $38 = HEAP32[$jrnlOpen>>2]|0; - $39 = ($38|0)!=(0); - $or$cond5 = $37 | $39; - if (!($or$cond5)) { - _sqlite3BeginBenignMalloc(); - $40 = HEAP32[$0>>2]|0; - $41 = (_pagerLockDb($40,2)|0); - $42 = ($41|0)==(0); - if ($42) { - $43 = HEAP32[$pVfs>>2]|0; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 180|0); - $46 = HEAP32[$45>>2]|0; - (_sqlite3OsDelete($43,$46,0)|0); - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 4|0); - $49 = HEAP8[$48>>0]|0; - $50 = ($49<<24>>24)!=(0); - if (!($50)) { - $51 = HEAP32[$0>>2]|0; - (_pagerUnlockDb($51,1)|0); + if ($21) { + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$9>>2] = $23; + $24 = HEAP32[$8>>2]|0; + _sqlite3Fts5Dequote($24); + HEAP32[$7>>2] = 0; + while(1) { + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[$9>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($25|0)<($28|0); + if (!($29)) { + break; + } + $30 = HEAP32[$9>>2]|0; + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = (($32) + ($33<<2)|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$8>>2]|0; + $37 = (_sqlite3_stricmp($35,$36)|0); + $38 = (0)==($37|0); + if ($38) { + break; } + $39 = HEAP32[$7>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$7>>2] = $40; } - _sqlite3EndBenignMalloc(); - $84 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($84|0); + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$9>>2]|0; + $43 = ((($42)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($41|0)==($44|0); + $46 = HEAP32[$3>>2]|0; + if ($45) { + $47 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer>>2] = $47; + _sqlite3Fts5ParseError($46,34753,$vararg_buffer); + } else { + $48 = HEAP32[$4>>2]|0; + $49 = HEAP32[$7>>2]|0; + $50 = (_fts5ParseColset($46,$48,$49)|0); + HEAP32[$6>>2] = $50; + } + $51 = HEAP32[$8>>2]|0; + _sqlite3_free($51); } - $52 = HEAP32[$jrnlOpen>>2]|0; - $53 = ($52|0)!=(0); + $52 = HEAP32[$6>>2]|0; + $53 = ($52|0)==(0|0); if (!($53)) { - HEAP32[$f>>2] = 2049; - $54 = HEAP32[$pVfs>>2]|0; - $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 180|0); - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 68|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$f>>2]|0; - $62 = (_sqlite3OsOpen($54,$57,$60,$61,$f)|0); - HEAP32[$rc>>2] = $62; - } - $63 = HEAP32[$rc>>2]|0; - $64 = ($63|0)==(0); - if ($64) { - HEAP8[$first>>0] = 0; - $65 = HEAP32[$0>>2]|0; - $66 = ((($65)) + 68|0); - $67 = HEAP32[$66>>2]|0; - $68 = (_sqlite3OsRead($67,$first,1,0,0)|0); - HEAP32[$rc>>2] = $68; - $69 = HEAP32[$rc>>2]|0; - $70 = ($69|0)==(522); - $$ = $70 ? 0 : $68; - HEAP32[$rc>>2] = $$; - $71 = HEAP32[$jrnlOpen>>2]|0; - $72 = ($71|0)!=(0); - if (!($72)) { - $73 = HEAP32[$0>>2]|0; - $74 = ((($73)) + 68|0); - $75 = HEAP32[$74>>2]|0; - _sqlite3OsClose($75); - } - $76 = HEAP8[$first>>0]|0; - $77 = $76&255; - $78 = ($77|0)!=(0); - $79 = $78&1; - $80 = HEAP32[$1>>2]|0; - HEAP32[$80>>2] = $79; - $84 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($84|0); - } else { - $81 = HEAP32[$rc>>2]|0; - $82 = ($81|0)==(14); - if (!($82)) { - $84 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($84|0); - } - $83 = HEAP32[$1>>2]|0; - HEAP32[$83>>2] = 1; - HEAP32[$rc>>2] = 0; - $84 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($84|0); + $55 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($55|0); } - return (0)|0; + $54 = HEAP32[$4>>2]|0; + _sqlite3_free($54); + $55 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($55|0); } -function _pagerPagecount($pPager,$pnPage) { - $pPager = $pPager|0; - $pnPage = $pnPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $nPage = 0; - var $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5ParseNearset($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $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, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $nPage = sp + 12|0; - $n = sp; - $rc = sp + 8|0; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $pnPage; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 216|0); - $5 = HEAP32[$4>>2]|0; - $6 = (_sqlite3WalDbsize($5)|0); - HEAP32[$nPage>>2] = $6; - $7 = HEAP32[$nPage>>2]|0; - $8 = ($7|0)==(0); + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 8; + HEAP32[$8>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0); do { - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 64|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0|0); - if ($13) { - $14 = $n; - $15 = $14; - HEAP32[$15>>2] = 0; - $16 = (($14) + 4)|0; - $17 = $16; - HEAP32[$17>>2] = 0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 64|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3OsFileSize($20,$n)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)!=(0); - if (!($23)) { - $25 = $n; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 160|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)<(0); - $35 = $34 << 31 >> 31; - $36 = (_i64Add(($27|0),($30|0),($33|0),($35|0))|0); - $37 = tempRet0; - $38 = (_i64Subtract(($36|0),($37|0),1,0)|0); - $39 = tempRet0; - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 160|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)<(0); - $44 = $43 << 31 >> 31; - $45 = (___divdi3(($38|0),($39|0),($42|0),($44|0))|0); - $46 = tempRet0; - HEAP32[$nPage>>2] = $45; + if ($16) { + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)==(0|0); + $19 = HEAP32[$5>>2]|0; + if ($18) { + HEAP32[$3>>2] = $19; + $109 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($109|0); + } + $20 = ($19|0)==(0|0); + if ($20) { + HEAP32[$9>>2] = 48; + $21 = HEAP32[$9>>2]|0; + $22 = (_sqlite3_malloc($21)|0); + HEAP32[$8>>2] = $22; + $23 = HEAP32[$8>>2]|0; + $24 = ($23|0)==(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 8|0); + HEAP32[$26>>2] = 7; + break; + } else { + $27 = HEAP32[$8>>2]|0; + $28 = HEAP32[$9>>2]|0; + _memset(($27|0),0,($28|0))|0; break; } - $24 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $24; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); } - } - } while(0); - $47 = HEAP32[$nPage>>2]|0; - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 164|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($47>>>0)>($50>>>0); - if ($51) { - $52 = HEAP32[$nPage>>2]|0; - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 164|0); - HEAP32[$54>>2] = $52; - } - $55 = HEAP32[$nPage>>2]|0; - $56 = HEAP32[$2>>2]|0; - HEAP32[$56>>2] = $55; - HEAP32[$0>>2] = 0; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); -} -function _pagerOpenWalIfPresent($pPager) { - $pPager = $pPager|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $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, $isWal = 0, $nPage = 0, $rc = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $rc = sp + 8|0; - $isWal = sp + 4|0; - $nPage = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 13|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - do { - if (!($5)) { - $6 = HEAP32[$1>>2]|0; - $7 = (_pagerPagecount($6,$nPage)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)!=(0); - if ($9) { - $10 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $10; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31|0) % 8)&-1; + $33 = ($32|0)==(0); + $34 = HEAP32[$5>>2]|0; + if (!($33)) { + HEAP32[$8>>2] = $34; + break; } - $11 = HEAP32[$nPage>>2]|0; - $12 = ($11|0)==(0); - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 220|0); - $17 = HEAP32[$16>>2]|0; - if ($12) { - $18 = (_sqlite3OsDelete($14,$17,0)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)==(5898); - $$ = $20 ? 0 : $18; - HEAP32[$rc>>2] = $$; - HEAP32[$isWal>>2] = 0; - } else { - $21 = (_sqlite3OsAccess($14,$17,0,$isWal)|0); - HEAP32[$rc>>2] = $21; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($36) + 8)|0; + HEAP32[$10>>2] = $37; + $38 = HEAP32[$10>>2]|0; + $39 = $38<<2; + $40 = (16 + ($39))|0; + HEAP32[$11>>2] = $40; + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$11>>2]|0; + $43 = (_sqlite3_realloc($41,$42)|0); + HEAP32[$8>>2] = $43; + $44 = HEAP32[$8>>2]|0; + $45 = ($44|0)==(0|0); + if ($45) { + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 8|0); + HEAP32[$47>>2] = 7; } - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)==(0); - if ($23) { - $24 = HEAP32[$isWal>>2]|0; - $25 = ($24|0)!=(0); - $26 = HEAP32[$1>>2]|0; - if ($25) { - $27 = (_sqlite3PagerOpenWal($26,0)|0); - HEAP32[$rc>>2] = $27; + } + } while(0); + $48 = HEAP32[$8>>2]|0; + $49 = ($48|0)==(0|0); + if ($49) { + $50 = HEAP32[$5>>2]|0; + _sqlite3Fts5ParseNearsetFree($50); + $51 = HEAP32[$6>>2]|0; + _sqlite3Fts5ParsePhraseFree($51); + } else { + $52 = HEAP32[$8>>2]|0; + $53 = ((($52)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)>(0); + do { + if ($55) { + $56 = HEAP32[$8>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP32[$8>>2]|0; + $59 = ((($58)) + 8|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($60) - 1)|0; + $62 = (($57) + ($61<<2)|0); + $63 = HEAP32[$62>>2]|0; + HEAP32[$12>>2] = $63; + $64 = HEAP32[$6>>2]|0; + $65 = ((($64)) + 16|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0); + if ($67) { + $68 = HEAP32[$6>>2]|0; + _fts5ExprPhraseFree($68); + $69 = HEAP32[$8>>2]|0; + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = (($71) + -1)|0; + HEAP32[$70>>2] = $72; + $73 = HEAP32[$4>>2]|0; + $74 = ((($73)) + 12|0); + $75 = HEAP32[$74>>2]|0; + $76 = (($75) + -1)|0; + HEAP32[$74>>2] = $76; + $77 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $77; break; } - $28 = ((($26)) + 5|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = ($30|0)==(5); - if ($31) { - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 5|0); - HEAP8[$33>>0] = 0; + $78 = HEAP32[$12>>2]|0; + $79 = ((($78)) + 16|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($80|0)==(0); + if ($81) { + $82 = HEAP32[$12>>2]|0; + _fts5ExprPhraseFree($82); + $83 = HEAP32[$6>>2]|0; + $84 = HEAP32[$4>>2]|0; + $85 = ((($84)) + 16|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$4>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$88>>2]|0; + $90 = (($89) - 2)|0; + $91 = (($86) + ($90<<2)|0); + HEAP32[$91>>2] = $83; + $92 = HEAP32[$4>>2]|0; + $93 = ((($92)) + 12|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + -1)|0; + HEAP32[$93>>2] = $95; + $96 = HEAP32[$8>>2]|0; + $97 = ((($96)) + 8|0); + $98 = HEAP32[$97>>2]|0; + $99 = (($98) + -1)|0; + HEAP32[$97>>2] = $99; } } - } - } while(0); - $34 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $34; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); -} -function _pagerBeginReadTransaction($pPager) { - $pPager = $pPager|0; - var $0 = 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, $changed = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $changed = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$changed>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 216|0); - $3 = HEAP32[$2>>2]|0; - _sqlite3WalEndReadTransaction($3); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 216|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3WalBeginReadTransaction($6,$changed)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)!=(0); - $10 = HEAP32[$changed>>2]|0; - $11 = ($10|0)!=(0); - $or$cond = $9 | $11; - if (!($or$cond)) { - $13 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($13|0); + } while(0); + $100 = HEAP32[$6>>2]|0; + $101 = HEAP32[$8>>2]|0; + $102 = ((($101)) + 12|0); + $103 = HEAP32[$8>>2]|0; + $104 = ((($103)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = (($105) + 1)|0; + HEAP32[$104>>2] = $106; + $107 = (($102) + ($105<<2)|0); + HEAP32[$107>>2] = $100; } - $12 = HEAP32[$0>>2]|0; - _pager_reset($12); - $13 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($13|0); + $108 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $108; + $109 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($109|0); } -function _sqlite3WalBeginReadTransaction($pWal,$pChanged) { - $pWal = $pWal|0; - $pChanged = $pChanged|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5ParseNear($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, $2 = 0, $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 + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $cnt = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $pChanged; - HEAP32[$cnt>>2] = 0; - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$cnt>>2]|0; - $5 = (($4) + 1)|0; - HEAP32[$cnt>>2] = $5; - $6 = (_walTryBeginRead($2,$3,0,$5)|0); - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(-1); - if (!($8)) { - break; + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(4); + if (!($7)) { + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = (_memcmp(45944,$9,4)|0); + $11 = ($10|0)!=(0); + if (!($11)) { + STACKTOP = sp;return; } } - $9 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($9|0); + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$16>>2]|0; + HEAP32[$vararg_buffer>>2] = $15; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $17; + _sqlite3Fts5ParseError($12,49306,$vararg_buffer); + STACKTOP = sp;return; } -function _sqlite3PagerOpenWal($pPager,$pbOpen) { - $pPager = $pPager|0; - $pbOpen = $pbOpen|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5ParseSetDistance($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $pbOpen; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 13|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - do { - if ($6) { - label = 7; - } else { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 216|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - label = 7; - } else { - $11 = HEAP32[$1>>2]|0; - $12 = (_sqlite3PagerWalSupported($11)|0); - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 68|0); - $16 = HEAP32[$15>>2]|0; - _sqlite3OsClose($16); - $17 = HEAP32[$1>>2]|0; - $18 = (_pagerOpenWal($17)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)==(0); - if (!($20)) { - break; - } - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 5|0); - HEAP8[$22>>0] = 5; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 17|0); - HEAP8[$24>>0] = 0; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 28|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; + } + HEAP32[$6>>2] = 0; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0); + L4: do { + if ($14) { + HEAP32[$7>>2] = 0; + while(1) { + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)<($18|0); + if (!($19)) { + break L4; + } + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = (($21) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + HEAP8[$8>>0] = $24; + $25 = HEAP8[$8>>0]|0; + $26 = $25 << 24 >> 24; + $27 = ($26|0)<(48); + if ($27) { + break; + } + $28 = HEAP8[$8>>0]|0; + $29 = $28 << 24 >> 24; + $30 = ($29|0)>(57); + if ($30) { break; - } else { - HEAP32[$0>>2] = 14; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); } + $37 = HEAP32[$6>>2]|0; + $38 = ($37*10)|0; + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = (($40) + ($41)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43 << 24 >> 24; + $45 = (($44) - 48)|0; + $46 = (($38) + ($45))|0; + HEAP32[$6>>2] = $46; + $47 = HEAP32[$7>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$7>>2] = $48; } + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$35>>2]|0; + HEAP32[$vararg_buffer>>2] = $34; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $36; + _sqlite3Fts5ParseError($31,49489,$vararg_buffer); + STACKTOP = sp;return; + } else { + HEAP32[$6>>2] = 10; } } while(0); - if ((label|0) == 7) { - $25 = HEAP32[$2>>2]|0; - HEAP32[$25>>2] = 1; - } - $26 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $26; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); -} -function _pagerOpenWal($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = (_pagerExclusiveLock($5)|0); - HEAP32[$rc>>2] = $6; - } - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - $32 = HEAP32[$0>>2]|0; - _pagerFixMaplimit($32); - $33 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($33|0); - } - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 64|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 220|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 168|0); - $23 = $22; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 216|0); - $31 = (_sqlite3WalOpen($10,$13,$16,$20,$25,$28,$30)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$0>>2]|0; - _pagerFixMaplimit($32); - $33 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($33|0); -} -function _pagerExclusiveLock($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (_pagerLockDb($1,4)|0); - HEAP32[$rc>>2] = $2; - $3 = HEAP32[$rc>>2]|0; - $4 = ($3|0)!=(0); - if (!($4)) { - $6 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($6|0); - } - $5 = HEAP32[$0>>2]|0; - (_pagerUnlockDb($5,1)|0); - $6 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($6|0); + $49 = HEAP32[$6>>2]|0; + $50 = HEAP32[$4>>2]|0; + HEAP32[$50>>2] = $49; + STACKTOP = sp;return; } -function _sqlite3WalOpen($pVfs,$pDbFd,$zWalName,$bNoShm,$0,$1,$ppWal) { - $pVfs = $pVfs|0; - $pDbFd = $pDbFd|0; - $zWalName = $zWalName|0; - $bNoShm = $bNoShm|0; +function _sqlite3Fts5ParseTerm($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - $ppWal = $ppWal|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $flags = 0, $iDC = 0, $pRet = 0, $rc = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $5 = sp + 32|0; - $6 = sp + 28|0; - $7 = sp; - $8 = sp + 24|0; - $rc = sp + 20|0; - $pRet = sp + 16|0; - $flags = sp + 12|0; - $iDC = sp + 8|0; - HEAP32[$3>>2] = $pVfs; - HEAP32[$4>>2] = $pDbFd; - HEAP32[$5>>2] = $zWalName; - HEAP32[$6>>2] = $bNoShm; - $9 = $7; - $10 = $9; - HEAP32[$10>>2] = $0; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = $1; - HEAP32[$8>>2] = $ppWal; - $13 = HEAP32[$8>>2]|0; - HEAP32[$13>>2] = 0; - $14 = HEAP32[$3>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = (120 + ($16))|0; - $18 = (_sqlite3MallocZero($17,0)|0); - HEAP32[$pRet>>2] = $18; - $19 = HEAP32[$pRet>>2]|0; - $20 = ($19|0)!=(0|0); - if (!($20)) { - HEAP32[$2>>2] = 7; - $93 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($93|0); - } - $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$pRet>>2]|0; - HEAP32[$22>>2] = $21; - $23 = HEAP32[$pRet>>2]|0; - $24 = ((($23)) + 120|0); - $25 = HEAP32[$pRet>>2]|0; - $26 = ((($25)) + 8|0); - HEAP32[$26>>2] = $24; - $27 = HEAP32[$4>>2]|0; - $28 = HEAP32[$pRet>>2]|0; - $29 = ((($28)) + 4|0); - HEAP32[$29>>2] = $27; - $30 = HEAP32[$pRet>>2]|0; - $31 = ((($30)) + 40|0); - HEAP16[$31>>1] = -1; - $32 = $7; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$pRet>>2]|0; - $39 = ((($38)) + 16|0); - $40 = $39; - $41 = $40; - HEAP32[$41>>2] = $34; - $42 = (($40) + 4)|0; - $43 = $42; - HEAP32[$43>>2] = $37; - $44 = HEAP32[$5>>2]|0; - $45 = HEAP32[$pRet>>2]|0; - $46 = ((($45)) + 108|0); - HEAP32[$46>>2] = $44; - $47 = HEAP32[$pRet>>2]|0; - $48 = ((($47)) + 48|0); - HEAP8[$48>>0] = 1; - $49 = HEAP32[$pRet>>2]|0; - $50 = ((($49)) + 49|0); - HEAP8[$50>>0] = 1; - $51 = HEAP32[$6>>2]|0; - $52 = ($51|0)!=(0); - $53 = $52 ? 2 : 0; - $54 = $53&255; - $55 = HEAP32[$pRet>>2]|0; - $56 = ((($55)) + 43|0); - HEAP8[$56>>0] = $54; - HEAP32[$flags>>2] = 524294; - $57 = HEAP32[$3>>2]|0; - $58 = HEAP32[$5>>2]|0; - $59 = HEAP32[$pRet>>2]|0; - $60 = ((($59)) + 8|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$flags>>2]|0; - $63 = (_sqlite3OsOpen($57,$58,$61,$62,$flags)|0); - HEAP32[$rc>>2] = $63; - $64 = HEAP32[$rc>>2]|0; - $65 = ($64|0)==(0); - if ($65) { - $66 = HEAP32[$flags>>2]|0; - $67 = $66 & 1; - $68 = ($67|0)!=(0); - if ($68) { - $69 = HEAP32[$pRet>>2]|0; - $70 = ((($69)) + 46|0); - HEAP8[$70>>0] = 1; - } - } - $71 = HEAP32[$rc>>2]|0; - $72 = ($71|0)!=(0); - if ($72) { - $73 = HEAP32[$pRet>>2]|0; - _walIndexClose($73,0); - $74 = HEAP32[$pRet>>2]|0; - $75 = ((($74)) + 8|0); - $76 = HEAP32[$75>>2]|0; - _sqlite3OsClose($76); - $77 = HEAP32[$pRet>>2]|0; - _sqlite3_free($77); + STACKTOP = STACKTOP + 64|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$9>>2] = $18; + HEAP32[$12>>2] = 0; + ;HEAP32[$10>>2]=0|0;HEAP32[$10+4>>2]=0|0; + $19 = HEAP32[$6>>2]|0; + HEAP32[$10>>2] = $19; + $20 = HEAP32[$7>>2]|0; + $21 = (_fts5ParseStringFromToken($20,$12)|0); + HEAP32[$11>>2] = $21; + $22 = HEAP32[$11>>2]|0; + $23 = ($22|0)==(0); + if ($23) { + $24 = HEAP32[$8>>2]|0; + $25 = ($24|0)!=(0); + $26 = $25 ? 1 : 0; + $27 = 1 | $26; + HEAP32[$13>>2] = $27; + $28 = HEAP32[$12>>2]|0; + _sqlite3Fts5Dequote($28); + $29 = HEAP32[$12>>2]|0; + $30 = (_strlen($29)|0); + HEAP32[$14>>2] = $30; + $31 = HEAP32[$9>>2]|0; + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$12>>2]|0; + $34 = HEAP32[$14>>2]|0; + $35 = (_sqlite3Fts5Tokenize($31,$32,$33,$34,$10,151)|0); + HEAP32[$11>>2] = $35; + } + $36 = HEAP32[$12>>2]|0; + _sqlite3_free($36); + $37 = HEAP32[$11>>2]|0; + $38 = ($37|0)!=(0); + if ($38) { + label = 5; } else { - $78 = HEAP32[$4>>2]|0; - $79 = (_sqlite3OsDeviceCharacteristics($78)|0); - HEAP32[$iDC>>2] = $79; - $80 = HEAP32[$iDC>>2]|0; - $81 = $80 & 1024; - $82 = ($81|0)!=(0); - if ($82) { - $83 = HEAP32[$pRet>>2]|0; - $84 = ((($83)) + 48|0); - HEAP8[$84>>0] = 0; - } - $85 = HEAP32[$iDC>>2]|0; - $86 = $85 & 4096; - $87 = ($86|0)!=(0); - if ($87) { - $88 = HEAP32[$pRet>>2]|0; - $89 = ((($88)) + 49|0); - HEAP8[$89>>0] = 0; + $39 = ((($10)) + 4|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$11>>2] = $40; + $41 = ($40|0)!=(0); + if ($41) { + label = 5; + } else { + $46 = HEAP32[$6>>2]|0; + $47 = ($46|0)==(0|0); + if ($47) { + $48 = HEAP32[$5>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50|0) % 8)&-1; + $52 = ($51|0)==(0); + do { + if ($52) { + $53 = HEAP32[$5>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + 8)|0; + $57 = $56<<2; + HEAP32[$15>>2] = $57; + $58 = HEAP32[$5>>2]|0; + $59 = ((($58)) + 16|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$15>>2]|0; + $62 = (_sqlite3_realloc($60,$61)|0); + HEAP32[$16>>2] = $62; + $63 = HEAP32[$16>>2]|0; + $64 = ($63|0)==(0|0); + if (!($64)) { + $68 = HEAP32[$16>>2]|0; + $69 = HEAP32[$5>>2]|0; + $70 = ((($69)) + 16|0); + HEAP32[$70>>2] = $68; + break; + } + $65 = HEAP32[$5>>2]|0; + $66 = ((($65)) + 8|0); + HEAP32[$66>>2] = 7; + $67 = HEAP32[$10>>2]|0; + _fts5ExprPhraseFree($67); + HEAP32[$4>>2] = 0; + $102 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($102|0); + } + } while(0); + $71 = HEAP32[$5>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73) + 1)|0; + HEAP32[$72>>2] = $74; + } + $75 = HEAP32[$10>>2]|0; + $76 = ($75|0)==(0|0); + if ($76) { + $77 = HEAP32[$5>>2]|0; + $78 = ((($77)) + 8|0); + $79 = (_sqlite3Fts5MallocZero($78,36)|0); + HEAP32[$10>>2] = $79; + } else { + $80 = HEAP32[$10>>2]|0; + $81 = ((($80)) + 16|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$8>>2]|0; + $85 = HEAP32[$10>>2]|0; + $86 = ((($85)) + 20|0); + $87 = HEAP32[$10>>2]|0; + $88 = ((($87)) + 16|0); + $89 = HEAP32[$88>>2]|0; + $90 = (($89) - 1)|0; + $91 = (($86) + ($90<<4)|0); + HEAP32[$91>>2] = $84; + } + } + $92 = HEAP32[$10>>2]|0; + $93 = HEAP32[$5>>2]|0; + $94 = ((($93)) + 16|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$5>>2]|0; + $97 = ((($96)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = (($98) - 1)|0; + $100 = (($95) + ($99<<2)|0); + HEAP32[$100>>2] = $92; } - $90 = HEAP32[$pRet>>2]|0; - $91 = HEAP32[$8>>2]|0; - HEAP32[$91>>2] = $90; } - $92 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $92; - $93 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($93|0); + if ((label|0) == 5) { + $42 = HEAP32[$11>>2]|0; + $43 = HEAP32[$5>>2]|0; + $44 = ((($43)) + 8|0); + HEAP32[$44>>2] = $42; + $45 = HEAP32[$10>>2]|0; + _fts5ExprPhraseFree($45); + HEAP32[$10>>2] = 0; + } + $101 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $101; + $102 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($102|0); } -function _sqlite3WalDbsize($pWal) { - $pWal = $pWal|0; - var $0 = 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, label = 0, sp = 0; +function _fts5yy_find_reduce_action($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pWal; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 40|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6 << 16 >> 16; - $8 = ($7|0)>=(0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 52|0); - $11 = ((($10)) + 20|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$0>>2] = $12; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); - } - } - HEAP32[$0>>2] = 0; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP8[$3>>0] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = (49389 + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7 << 24 >> 24; + HEAP32[$4>>2] = $8; + $9 = HEAP8[$3>>0]|0; + $10 = $9&255; + $11 = HEAP32[$4>>2]|0; + $12 = (($11) + ($10))|0; + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = (49404 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + STACKTOP = sp;return ($16|0); } -function _sqlite3OsCheckReservedLock($id,$pResOut) { - $id = $id|0; - $pResOut = $pResOut|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _fts5yy_accept($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $pResOut; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 36|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; $7 = HEAP32[$1>>2]|0; - $8 = (FUNCTION_TABLE_iii[$5 & 255]($6,$7)|0); - STACKTOP = sp;return ($8|0); + $8 = ((($7)) + 4|0); + HEAP32[$8>>2] = $6; + STACKTOP = sp;return; } -function _rowSetEntrySort($pIn) { - $pIn = $pIn|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aBucket = 0, $i = 0, $pNext = 0, label = 0, sp = 0; +function _fts5ParseStringFromToken($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $0 = sp + 168|0; - $i = sp + 164|0; - $pNext = sp + 160|0; - $aBucket = sp; - HEAP32[$0>>2] = $pIn; - _memset(($aBucket|0),0,160)|0; - while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - break; - } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pNext>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = (($aBucket) + ($8<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - break; - } - $12 = HEAP32[$i>>2]|0; - $13 = (($aBucket) + ($12<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = (_rowSetEntryMerge($14,$15)|0); - HEAP32[$0>>2] = $16; - $17 = HEAP32[$i>>2]|0; - $18 = (($aBucket) + ($17<<2)|0); - HEAP32[$18>>2] = 0; - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; - } - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$i>>2]|0; - $23 = (($aBucket) + ($22<<2)|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$pNext>>2]|0; - HEAP32[$0>>2] = $24; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3Fts5Strndup($4,$6,$9)|0); + $11 = HEAP32[$3>>2]|0; + HEAP32[$11>>2] = $10; + $12 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($12|0); +} +function _fts5ParseTokenize($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 60|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp + 36|0; + $13 = sp + 32|0; + $14 = sp + 28|0; + $15 = sp + 24|0; + $16 = sp + 20|0; + $17 = sp + 16|0; + $18 = sp + 12|0; + $19 = sp + 8|0; + $20 = sp + 4|0; + $21 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 8; + $22 = HEAP32[$7>>2]|0; + HEAP32[$15>>2] = $22; + $23 = HEAP32[$15>>2]|0; + $24 = HEAP32[$23>>2]|0; + HEAP32[$16>>2] = $24; + $25 = HEAP32[$15>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$15>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$6>>2] = $31; + $131 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($131|0); } - $25 = HEAP32[$aBucket>>2]|0; - HEAP32[$0>>2] = $25; - HEAP32[$i>>2] = 1; - while(1) { - $26 = HEAP32[$i>>2]|0; - $27 = ($26>>>0)<(40); - if (!($27)) { - break; - } - $28 = HEAP32[$i>>2]|0; - $29 = (($aBucket) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==(0|0); - if (!($31)) { - $32 = HEAP32[$0>>2]|0; - $33 = ($32|0)!=(0|0); - if ($33) { - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$i>>2]|0; - $36 = (($aBucket) + ($35<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_rowSetEntryMerge($34,$37)|0); - $42 = $38; + $32 = HEAP32[$10>>2]|0; + $33 = ($32|0)>(32768); + if ($33) { + HEAP32[$10>>2] = 32768; + } + $34 = HEAP32[$16>>2]|0; + $35 = ($34|0)!=(0|0); + do { + if ($35) { + $36 = HEAP32[$16>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)>(0); + if ($39) { + $40 = HEAP32[$8>>2]|0; + $41 = $40 & 1; + $42 = ($41|0)!=(0); + if ($42) { + $43 = HEAP32[$10>>2]|0; + $44 = (28 + ($43))|0; + $45 = (($44) + 1)|0; + HEAP32[$18>>2] = $45; + $46 = HEAP32[$18>>2]|0; + $47 = (_sqlite3_malloc($46)|0); + HEAP32[$17>>2] = $47; + $48 = HEAP32[$17>>2]|0; + $49 = ($48|0)==(0|0); + if ($49) { + HEAP32[$13>>2] = 7; + break; + } else { + $50 = HEAP32[$17>>2]|0; + $51 = HEAP32[$18>>2]|0; + _memset(($50|0),0,($51|0))|0; + $52 = HEAP32[$17>>2]|0; + $53 = ((($52)) + 16|0); + $54 = ((($53)) + 12|0); + $55 = HEAP32[$17>>2]|0; + $56 = ((($55)) + 4|0); + HEAP32[$56>>2] = $54; + $57 = HEAP32[$17>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$9>>2]|0; + $61 = HEAP32[$10>>2]|0; + _memcpy(($59|0),($60|0),($61|0))|0; + $62 = HEAP32[$16>>2]|0; + $63 = ((($62)) + 20|0); + $64 = HEAP32[$16>>2]|0; + $65 = ((($64)) + 16|0); + $66 = HEAP32[$65>>2]|0; + $67 = (($66) - 1)|0; + $68 = (($63) + ($67<<4)|0); + $69 = ((($68)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$17>>2]|0; + $72 = ((($71)) + 12|0); + HEAP32[$72>>2] = $70; + $73 = HEAP32[$17>>2]|0; + $74 = HEAP32[$16>>2]|0; + $75 = ((($74)) + 20|0); + $76 = HEAP32[$16>>2]|0; + $77 = ((($76)) + 16|0); + $78 = HEAP32[$77>>2]|0; + $79 = (($78) - 1)|0; + $80 = (($75) + ($79<<4)|0); + $81 = ((($80)) + 12|0); + HEAP32[$81>>2] = $73; + break; + } + } else { + label = 11; + } } else { - $39 = HEAP32[$i>>2]|0; - $40 = (($aBucket) + ($39<<2)|0); - $41 = HEAP32[$40>>2]|0; - $42 = $41; + label = 11; + } + } else { + label = 11; + } + } while(0); + if ((label|0) == 11) { + $82 = HEAP32[$16>>2]|0; + $83 = ($82|0)==(0|0); + if ($83) { + label = 13; + } else { + $84 = HEAP32[$16>>2]|0; + $85 = ((($84)) + 16|0); + $86 = HEAP32[$85>>2]|0; + $87 = (($86|0) % 8)&-1; + $88 = ($87|0)==(0); + if ($88) { + label = 13; } - HEAP32[$0>>2] = $42; } - $43 = HEAP32[$i>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$i>>2] = $44; - } - $45 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($45|0); -} -function _rowSetListToTree($pList) { - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iDepth = 0, $p = 0, $pLeft = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $iDepth = sp + 8|0; - $p = sp + 4|0; - $pLeft = sp; - HEAP32[$0>>2] = $pList; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 8|0); - HEAP32[$6>>2] = 0; - $7 = HEAP32[$p>>2]|0; - $8 = ((($7)) + 12|0); - HEAP32[$8>>2] = 0; - HEAP32[$iDepth>>2] = 1; - while(1) { - $9 = HEAP32[$0>>2]|0; - $10 = ($9|0)!=(0|0); - $11 = HEAP32[$p>>2]|0; - if (!($10)) { - break; + do { + if ((label|0) == 13) { + $89 = HEAP32[$16>>2]|0; + $90 = ($89|0)!=(0|0); + if ($90) { + $91 = HEAP32[$16>>2]|0; + $92 = ((($91)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $95 = $93; + } else { + $95 = 0; + } + $94 = (8 + ($95))|0; + HEAP32[$21>>2] = $94; + $96 = HEAP32[$16>>2]|0; + $97 = HEAP32[$21>>2]|0; + $98 = $97<<4; + $99 = (36 + ($98))|0; + $100 = (_sqlite3_realloc($96,$99)|0); + HEAP32[$20>>2] = $100; + $101 = HEAP32[$20>>2]|0; + $102 = ($101|0)==(0|0); + if ($102) { + HEAP32[$13>>2] = 7; + break; + } + $103 = HEAP32[$16>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $105 = HEAP32[$20>>2]|0; + dest=$105; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + } + $106 = HEAP32[$20>>2]|0; + HEAP32[$16>>2] = $106; + $107 = HEAP32[$15>>2]|0; + HEAP32[$107>>2] = $106; + $108 = HEAP32[$21>>2]|0; + $109 = (($108) - 8)|0; + $110 = HEAP32[$20>>2]|0; + $111 = ((($110)) + 16|0); + HEAP32[$111>>2] = $109; + } + } while(0); + $112 = HEAP32[$13>>2]|0; + $113 = ($112|0)==(0); + if ($113) { + $114 = HEAP32[$16>>2]|0; + $115 = ((($114)) + 20|0); + $116 = HEAP32[$16>>2]|0; + $117 = ((($116)) + 16|0); + $118 = HEAP32[$117>>2]|0; + $119 = (($118) + 1)|0; + HEAP32[$117>>2] = $119; + $120 = (($115) + ($118<<4)|0); + HEAP32[$19>>2] = $120; + $121 = HEAP32[$19>>2]|0; + ;HEAP32[$121>>2]=0|0;HEAP32[$121+4>>2]=0|0;HEAP32[$121+8>>2]=0|0;HEAP32[$121+12>>2]=0|0; + $122 = HEAP32[$9>>2]|0; + $123 = HEAP32[$10>>2]|0; + $124 = (_sqlite3Fts5Strndup($13,$122,$123)|0); + $125 = HEAP32[$19>>2]|0; + $126 = ((($125)) + 4|0); + HEAP32[$126>>2] = $124; } - HEAP32[$pLeft>>2] = $11; - $12 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$0>>2] = $15; - $16 = HEAP32[$pLeft>>2]|0; - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 12|0); - HEAP32[$18>>2] = $16; - $19 = HEAP32[$iDepth>>2]|0; - $20 = (_rowSetNDeepTree($0,$19)|0); - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 8|0); - HEAP32[$22>>2] = $20; - $23 = HEAP32[$iDepth>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$iDepth>>2] = $24; } - STACKTOP = sp;return ($11|0); + $127 = HEAP32[$13>>2]|0; + $128 = HEAP32[$15>>2]|0; + $129 = ((($128)) + 4|0); + HEAP32[$129>>2] = $127; + $130 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $130; + $131 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($131|0); } -function _rowSetTreeToList($pIn,$ppFirst,$ppLast) { - $pIn = $pIn|0; - $ppFirst = $ppFirst|0; - $ppLast = $ppLast|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3Fts5Tokenize($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $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 $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pIn; - HEAP32[$1>>2] = $ppFirst; - HEAP32[$2>>2] = $ppLast; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - $7 = HEAP32[$0>>2]|0; - if ($6) { - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - _rowSetTreeToList($9,$10,$p); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$p>>2]|0; - $13 = ((($12)) + 8|0); - HEAP32[$13>>2] = $11; - } else { - $14 = HEAP32[$1>>2]|0; - HEAP32[$14>>2] = $7; - } - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)!=(0|0); - $19 = HEAP32[$0>>2]|0; - if ($18) { - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 8|0); - $24 = HEAP32[$2>>2]|0; - _rowSetTreeToList($21,$23,$24); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $13 = HEAP32[$9>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + HEAP32[$6>>2] = 0; + $29 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($29|0); } else { - $25 = HEAP32[$2>>2]|0; - HEAP32[$25>>2] = $19; - STACKTOP = sp;return; + $15 = HEAP32[$7>>2]|0; + $16 = ((($15)) + 60|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = ((($20)) + 56|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$11>>2]|0; + $24 = HEAP32[$8>>2]|0; + $25 = HEAP32[$9>>2]|0; + $26 = HEAP32[$10>>2]|0; + $27 = HEAP32[$12>>2]|0; + $28 = (FUNCTION_TABLE_iiiiiii[$19 & 255]($22,$23,$24,$25,$26,$27)|0); + HEAP32[$6>>2] = $28; + $29 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($29|0); } + return (0)|0; } -function _rowSetEntryMerge($pA,$pB) { - $pA = $pA|0; - $pB = $pB|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $head = 0, $pTail = 0, label = 0, sp = 0; +function _fts5ParseColset($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $head = sp; - $pTail = sp + 16|0; - HEAP32[$0>>2] = $pA; - HEAP32[$1>>2] = $pB; - HEAP32[$pTail>>2] = $head; - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = $2; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = (($3) + 4)|0; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = $9; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)!=(0|0); + if ($13) { + $14 = HEAP32[$5>>2]|0; $15 = HEAP32[$14>>2]|0; - $16 = ($8|0)<($15|0); - $17 = ($5>>>0)<=($12>>>0); - $18 = ($8|0)==($15|0); - $19 = $18 & $17; - $20 = $16 | $19; - if (!($20)) { - $51 = HEAP32[$1>>2]|0; - $52 = HEAP32[$pTail>>2]|0; - $53 = ((($52)) + 8|0); - HEAP32[$53>>2] = $51; - HEAP32[$pTail>>2] = $51; - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 8|0); - $56 = HEAP32[$55>>2]|0; - HEAP32[$1>>2] = $56; - $57 = HEAP32[$1>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { + $16 = $15; + } else { + $16 = 0; + } + HEAP32[$7>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$7>>2]|0; + $19 = $18<<2; + $20 = (8 + ($19))|0; + $21 = (_sqlite3_realloc($17,$20)|0); + HEAP32[$8>>2] = $21; + $22 = HEAP32[$8>>2]|0; + $23 = ($22|0)==(0|0); + if ($23) { + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 8|0); + HEAP32[$25>>2] = 7; + } else { + $26 = HEAP32[$8>>2]|0; + $27 = ((($26)) + 4|0); + HEAP32[$9>>2] = $27; + HEAP32[$10>>2] = 0; + while(1) { + $28 = HEAP32[$10>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = ($28|0)<($29|0); + if (!($30)) { + break; + } + $31 = HEAP32[$9>>2]|0; + $32 = HEAP32[$10>>2]|0; + $33 = (($31) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$6>>2]|0; + $36 = ($34|0)==($35|0); + if ($36) { label = 8; break; - } else { - continue; } - } - $21 = HEAP32[$0>>2]|0; - $22 = $21; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = $28; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = ($27|0)<($34|0); - $36 = ($24>>>0)<($31>>>0); - $37 = ($27|0)==($34|0); - $38 = $37 & $36; - $39 = $35 | $38; - if ($39) { - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$pTail>>2]|0; - $42 = ((($41)) + 8|0); - HEAP32[$42>>2] = $40; - HEAP32[$pTail>>2] = $40; - } - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 8|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$0>>2] = $45; - $46 = HEAP32[$0>>2]|0; - $47 = ($46|0)==(0|0); - if ($47) { - label = 6; - break; - } - } - if ((label|0) == 6) { - $48 = HEAP32[$1>>2]|0; - $49 = HEAP32[$pTail>>2]|0; - $50 = ((($49)) + 8|0); - HEAP32[$50>>2] = $48; - $62 = ((($head)) + 8|0); - $63 = HEAP32[$62>>2]|0; - STACKTOP = sp;return ($63|0); - } - else if ((label|0) == 8) { - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$pTail>>2]|0; - $61 = ((($60)) + 8|0); - HEAP32[$61>>2] = $59; - $62 = ((($head)) + 8|0); - $63 = HEAP32[$62>>2]|0; - STACKTOP = sp;return ($63|0); - } - return (0)|0; -} -function _rowSetEntryAlloc($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pNew = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pNew = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 24|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = ($5|0)==(0); - do { - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_sqlite3DbMallocRawNN($9,1016,0)|0); - HEAP32[$pNew>>2] = $10; - $11 = HEAP32[$pNew>>2]|0; - $12 = ($11|0)==(0|0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$pNew>>2]|0; - HEAP32[$15>>2] = $14; - $16 = HEAP32[$pNew>>2]|0; - $17 = HEAP32[$1>>2]|0; - HEAP32[$17>>2] = $16; - $18 = HEAP32[$pNew>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 16|0); - HEAP32[$21>>2] = $19; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 24|0); - HEAP16[$23>>1] = 63; + $38 = HEAP32[$9>>2]|0; + $39 = HEAP32[$10>>2]|0; + $40 = (($38) + ($39<<2)|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = ($41|0)>($42|0); + if ($43) { break; } - HEAP32[$0>>2] = 0; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); + $44 = HEAP32[$10>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$10>>2] = $45; } - } while(0); - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 24|0); - $26 = HEAP16[$25>>1]|0; - $27 = (($26) + -1)<<16>>16; - HEAP16[$25>>1] = $27; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = ((($30)) + 16|0); - HEAP32[$29>>2] = $31; - HEAP32[$0>>2] = $30; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); -} -function _rowSetNDeepTree($ppList,$iDepth) { - $ppList = $ppList|0; - $iDepth = $iDepth|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $p = 0, $pLeft = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $p = sp + 4|0; - $pLeft = sp; - HEAP32[$1>>2] = $ppList; - HEAP32[$2>>2] = $iDepth; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$0>>2] = 0; - $39 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($39|0); - } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)>(1); - $8 = HEAP32[$1>>2]|0; - do { - if ($7) { - $9 = HEAP32[$2>>2]|0; - $10 = (($9) - 1)|0; - $11 = (_rowSetNDeepTree($8,$10)|0); - HEAP32[$pLeft>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$12>>2]|0; - HEAP32[$p>>2] = $13; - $14 = HEAP32[$p>>2]|0; - $15 = ($14|0)==(0|0); - $16 = HEAP32[$pLeft>>2]|0; - if (!($15)) { - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 12|0); - HEAP32[$18>>2] = $16; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$1>>2]|0; - HEAP32[$22>>2] = $21; - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = (($24) - 1)|0; - $26 = (_rowSetNDeepTree($23,$25)|0); - $27 = HEAP32[$p>>2]|0; - $28 = ((($27)) + 8|0); - HEAP32[$28>>2] = $26; + if ((label|0) == 8) { + $37 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $37; + $68 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($68|0); + } + $46 = HEAP32[$7>>2]|0; + HEAP32[$11>>2] = $46; + while(1) { + $47 = HEAP32[$11>>2]|0; + $48 = HEAP32[$10>>2]|0; + $49 = ($47|0)>($48|0); + if (!($49)) { break; } - HEAP32[$0>>2] = $16; - $39 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($39|0); - } else { - $29 = HEAP32[$8>>2]|0; - HEAP32[$p>>2] = $29; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 8|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$1>>2]|0; - HEAP32[$33>>2] = $32; - $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 8|0); - HEAP32[$35>>2] = 0; - $36 = HEAP32[$p>>2]|0; - $37 = ((($36)) + 12|0); - HEAP32[$37>>2] = 0; - } - } while(0); - $38 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $38; - $39 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($39|0); + $50 = HEAP32[$9>>2]|0; + $51 = HEAP32[$11>>2]|0; + $52 = (($51) - 1)|0; + $53 = (($50) + ($52<<2)|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$11>>2]|0; + $57 = (($55) + ($56<<2)|0); + HEAP32[$57>>2] = $54; + $58 = HEAP32[$11>>2]|0; + $59 = (($58) + -1)|0; + HEAP32[$11>>2] = $59; + } + $60 = HEAP32[$6>>2]|0; + $61 = HEAP32[$9>>2]|0; + $62 = HEAP32[$10>>2]|0; + $63 = (($61) + ($62<<2)|0); + HEAP32[$63>>2] = $60; + $64 = HEAP32[$7>>2]|0; + $65 = (($64) + 1)|0; + $66 = HEAP32[$8>>2]|0; + HEAP32[$66>>2] = $65; + } + $67 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $67; + $68 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($68|0); } -function _sqlite3RowSetInit($db,$pSpace,$N) { - $db = $db|0; - $pSpace = $pSpace|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _fts5ExprAssignXNext($0) { + $0 = $0|0; + var $$sink2 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fts5ExprNodeNext_NOT$sink = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pSpace; - HEAP32[$2>>2] = $N; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - HEAP32[$4>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 4|0); - HEAP32[$7>>2] = $5; - $8 = HEAP32[$p>>2]|0; - $9 = ((($8)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 12|0); - HEAP32[$11>>2] = 0; - $12 = HEAP32[$p>>2]|0; - $13 = ((($12)) + 20|0); - HEAP32[$13>>2] = 0; - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 32|0); - $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 16|0); - HEAP32[$17>>2] = $15; - $18 = HEAP32[$2>>2]|0; - $19 = (($18) - 32)|0; - $20 = (($19>>>0) / 16)&-1; - $21 = $20&65535; - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 24|0); - HEAP16[$23>>1] = $21; - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 26|0); - HEAP16[$25>>1] = 1; - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 28|0); - HEAP32[$27>>2] = 0; - $28 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($28|0); -} -function _setPageReferenced($pCheck,$iPg) { - $pCheck = $pCheck|0; - $iPg = $iPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pCheck; - HEAP32[$1>>2] = $iPg; - $2 = HEAP32[$1>>2]|0; - $3 = $2 & 7; - $4 = 1 << $3; - $5 = HEAP32[$1>>2]|0; - $6 = (($5>>>0) / 8)&-1; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($6)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 | $4; - $14 = $13&255; - HEAP8[$10>>0] = $14; - STACKTOP = sp;return; -} -function _checkList($pCheck,$isFreeList,$iPage,$N) { - $pCheck = $pCheck|0; - $isFreeList = $isFreeList|0; - $iPage = $iPage|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $expected = 0, $i = 0, $iFirst = 0, $iFreePage = 0, $n = 0, $or$cond = 0, $pOvflData = 0, $pOvflPage = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $i = sp + 60|0; - $expected = sp + 56|0; - $iFirst = sp + 52|0; - $pOvflPage = sp + 48|0; - $pOvflData = sp + 44|0; - $n = sp + 40|0; - $iFreePage = sp + 36|0; - HEAP32[$0>>2] = $pCheck; - HEAP32[$1>>2] = $isFreeList; - HEAP32[$2>>2] = $iPage; - HEAP32[$3>>2] = $N; $4 = HEAP32[$3>>2]|0; - HEAP32[$expected>>2] = $4; - $5 = HEAP32[$2>>2]|0; - HEAP32[$iFirst>>2] = $5; - while(1) { - $6 = HEAP32[$3>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[$3>>2] = $7; - $8 = ($6|0)>(0); - if (!($8)) { - label = 25; - break; - } - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0); - if (!($12)) { - label = 25; - break; - } - $13 = HEAP32[$2>>2]|0; - $14 = ($13|0)<(1); - $15 = HEAP32[$0>>2]|0; - if ($14) { - label = 5; + L1: do { + switch ($4|0) { + case 11: { + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 24|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(1); + if ($11) { + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(1); + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 20|0); + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0|0); + if ($24) { + $25 = HEAP32[$1>>2]|0; + HEAP32[$25>>2] = 4; + $26 = HEAP32[$1>>2]|0; + $$sink2 = $26;$fts5ExprNodeNext_NOT$sink = 151; + break L1; + } + } + } + $27 = HEAP32[$1>>2]|0; + $$sink2 = $27;$fts5ExprNodeNext_NOT$sink = 152; break; } - $20 = HEAP32[$2>>2]|0; - $21 = (_checkRef($15,$20)|0); - $22 = ($21|0)!=(0); - if ($22) { - label = 25; + case 1: { + $28 = HEAP32[$1>>2]|0; + $$sink2 = $28;$fts5ExprNodeNext_NOT$sink = 153; break; } - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = (_sqlite3PagerGet($25,$26,$pOvflPage,0)|0); - $28 = ($27|0)!=(0); - if ($28) { - label = 8; + case 2: { + $29 = HEAP32[$1>>2]|0; + $$sink2 = $29;$fts5ExprNodeNext_NOT$sink = 154; break; } - $31 = HEAP32[$pOvflPage>>2]|0; - $32 = (_sqlite3PagerGetData($31)|0); - HEAP32[$pOvflData>>2] = $32; - $33 = HEAP32[$1>>2]|0; - $34 = ($33|0)!=(0); - do { - if ($34) { - $35 = HEAP32[$pOvflData>>2]|0; - $36 = ((($35)) + 4|0); - $37 = (_sqlite3Get4byte($36)|0); - HEAP32[$n>>2] = $37; - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = ((($39)) + 17|0); - $41 = HEAP8[$40>>0]|0; - $42 = ($41<<24>>24)!=(0); - if ($42) { - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$2>>2]|0; - _checkPtrmap($43,$44,2,0); - } - $45 = HEAP32[$n>>2]|0; - $46 = HEAP32[$0>>2]|0; - $47 = HEAP32[$46>>2]|0; - $48 = ((($47)) + 36|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49|0) / 4)&-1; - $51 = (($50) - 2)|0; - $52 = ($45|0)>($51|0); - if ($52) { - $53 = HEAP32[$0>>2]|0; - $54 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer7>>2] = $54; - _checkAppendMsg($53,41711,$vararg_buffer7); - $55 = HEAP32[$3>>2]|0; - $56 = (($55) + -1)|0; - HEAP32[$3>>2] = $56; - break; - } - HEAP32[$i>>2] = 0; - while(1) { - $57 = HEAP32[$i>>2]|0; - $58 = HEAP32[$n>>2]|0; - $59 = ($57|0)<($58|0); - if (!($59)) { - break; - } - $60 = HEAP32[$i>>2]|0; - $61 = $60<<2; - $62 = (8 + ($61))|0; - $63 = HEAP32[$pOvflData>>2]|0; - $64 = (($63) + ($62)|0); - $65 = (_sqlite3Get4byte($64)|0); - HEAP32[$iFreePage>>2] = $65; - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$66>>2]|0; - $68 = ((($67)) + 17|0); - $69 = HEAP8[$68>>0]|0; - $70 = ($69<<24>>24)!=(0); - if ($70) { - $71 = HEAP32[$0>>2]|0; - $72 = HEAP32[$iFreePage>>2]|0; - _checkPtrmap($71,$72,2,0); - } - $73 = HEAP32[$0>>2]|0; - $74 = HEAP32[$iFreePage>>2]|0; - (_checkRef($73,$74)|0); - $75 = HEAP32[$i>>2]|0; - $76 = (($75) + 1)|0; - HEAP32[$i>>2] = $76; - } - $77 = HEAP32[$n>>2]|0; - $78 = HEAP32[$3>>2]|0; - $79 = (($78) - ($77))|0; - HEAP32[$3>>2] = $79; - } else { - $80 = HEAP32[$0>>2]|0; - $81 = HEAP32[$80>>2]|0; - $82 = ((($81)) + 17|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = ($84|0)!=(0); - $86 = HEAP32[$3>>2]|0; - $87 = ($86|0)>(0); - $or$cond = $85 & $87; - if ($or$cond) { - $88 = HEAP32[$pOvflData>>2]|0; - $89 = (_sqlite3Get4byte($88)|0); - HEAP32[$i>>2] = $89; - $90 = HEAP32[$0>>2]|0; - $91 = HEAP32[$i>>2]|0; - $92 = HEAP32[$2>>2]|0; - _checkPtrmap($90,$91,4,$92); - } - } - } while(0); - $93 = HEAP32[$pOvflData>>2]|0; - $94 = (_sqlite3Get4byte($93)|0); - HEAP32[$2>>2] = $94; - $95 = HEAP32[$pOvflPage>>2]|0; - _sqlite3PagerUnref($95); - $96 = HEAP32[$1>>2]|0; - $97 = ($96|0)!=(0); - if (!($97)) { - continue; + default: { + $30 = HEAP32[$1>>2]|0; + $$sink2 = $30;$fts5ExprNodeNext_NOT$sink = 155; } - $98 = HEAP32[$3>>2]|0; - $99 = HEAP32[$2>>2]|0; - $100 = ($99|0)!=(0); - $101 = $100&1; - $102 = ($98|0)<($101|0); - if (!($102)) { - continue; } - $103 = HEAP32[$0>>2]|0; - _checkAppendMsg($103,41750,$vararg_buffer10); - } - if ((label|0) == 5) { - $16 = HEAP32[$3>>2]|0; - $17 = (($16) + 1)|0; - $18 = HEAP32[$expected>>2]|0; - $19 = HEAP32[$iFirst>>2]|0; - HEAP32[$vararg_buffer>>2] = $17; - $vararg_ptr2 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr2>>2] = $18; - $vararg_ptr3 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr3>>2] = $19; - _checkAppendMsg($15,41632,$vararg_buffer); - STACKTOP = sp;return; - } - else if ((label|0) == 8) { - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer4>>2] = $30; - _checkAppendMsg($29,41689,$vararg_buffer4); - STACKTOP = sp;return; - } - else if ((label|0) == 25) { - STACKTOP = sp;return; - } + } while(0); + $31 = ((($$sink2)) + 12|0); + HEAP32[$31>>2] = $fts5ExprNodeNext_NOT$sink; + STACKTOP = sp;return; } -function _checkPtrmap($pCheck,$iChild,$eType,$iParent) { - $pCheck = $pCheck|0; - $iChild = $iChild|0; - $eType = $eType|0; - $iParent = $iParent|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ePtrmapType = 0, $iPtrmapParent = 0, $or$cond = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0; - var $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; +function _fts5ExprAddChildren($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 49|0; - $3 = sp + 36|0; - $rc = sp + 32|0; - $ePtrmapType = sp + 48|0; - $iPtrmapParent = sp + 28|0; - HEAP32[$0>>2] = $pCheck; - HEAP32[$1>>2] = $iChild; - HEAP8[$2>>0] = $eType; - HEAP32[$3>>2] = $iParent; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (_ptrmapGet($5,$6,$ePtrmapType,$iPtrmapParent)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)!=(0); - if ($9) { - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(7); - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)==(3082); - $or$cond = $11 | $13; - if ($or$cond) { - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 24|0); - HEAP32[$15>>2] = 1; - } - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $17; - _checkAppendMsg($16,41549,$vararg_buffer); - STACKTOP = sp;return; - } - $18 = HEAP8[$ePtrmapType>>0]|0; - $19 = $18&255; - $20 = HEAP8[$2>>0]|0; - $21 = $20&255; - $22 = ($19|0)!=($21|0); - if (!($22)) { - $23 = HEAP32[$iPtrmapParent>>2]|0; - $24 = HEAP32[$3>>2]|0; - $25 = ($23|0)!=($24|0); - if (!($25)) { + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(3); + if ($7) { + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)==($11|0); + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = $15<<2; + HEAP32[$4>>2] = $16; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 32|0); + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($18) + ($21<<2)|0); + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 32|0); + $25 = HEAP32[$4>>2]|0; + _memcpy(($22|0),($24|0),($25|0))|0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 28|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 28|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + ($28))|0; + HEAP32[$30>>2] = $32; + $33 = HEAP32[$3>>2]|0; + _sqlite3_free($33); STACKTOP = sp;return; } } - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = HEAP8[$2>>0]|0; - $29 = $28&255; - $30 = HEAP32[$3>>2]|0; - $31 = HEAP8[$ePtrmapType>>0]|0; - $32 = $31&255; - $33 = HEAP32[$iPtrmapParent>>2]|0; - HEAP32[$vararg_buffer2>>2] = $27; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $29; - $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); - HEAP32[$vararg_ptr6>>2] = $30; - $vararg_ptr7 = ((($vararg_buffer2)) + 12|0); - HEAP32[$vararg_ptr7>>2] = $32; - $vararg_ptr8 = ((($vararg_buffer2)) + 16|0); - HEAP32[$vararg_ptr8>>2] = $33; - _checkAppendMsg($26,41578,$vararg_buffer2); + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 32|0); + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 28|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$38>>2] = $40; + $41 = (($36) + ($39<<2)|0); + HEAP32[$41>>2] = $34; STACKTOP = sp;return; } -function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { - $pCheck = $pCheck|0; - $iPage = $iPage|0; - $piMinKey = $piMinKey|0; +function _fts5ExprNodeNext_TERM($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; - var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; - var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; - var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; - var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; - var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; - var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; - var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; - var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $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; - var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; - var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; - var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; - var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; - var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; - var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 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, $cellStart = 0; - var $contentOffset = 0, $d2 = 0, $data = 0, $depth = 0, $doCoverageCheck = 0, $hdr = 0, $heap = 0, $i = 0, $info = 0, $j = 0, $keyCanBeEqual = 0, $nCell = 0, $nFrag = 0, $nPage = 0, $pBt = 0, $pCell = 0, $pCellIdx = 0, $pPage = 0, $pc = 0, $pgno = 0; - var $pgnoOvfl = 0, $prev = 0, $rc = 0, $savedIsInit = 0, $saved_v1 = 0, $saved_v2 = 0, $saved_zPfx = 0, $size = 0, $size1 = 0, $usableSize = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0; - var $vararg_ptr24 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $x = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $vararg_buffer20 = sp + 96|0; - $vararg_buffer16 = sp + 88|0; - $vararg_buffer14 = sp + 80|0; - $vararg_buffer11 = sp + 72|0; - $vararg_buffer9 = sp + 64|0; - $vararg_buffer4 = sp + 48|0; - $vararg_buffer1 = sp + 40|0; - $vararg_buffer = sp + 32|0; - $2 = sp + 240|0; - $3 = sp + 236|0; - $4 = sp + 232|0; - $5 = sp + 228|0; - $6 = sp + 24|0; - $pPage = sp + 224|0; - $i = sp + 220|0; - $rc = sp + 216|0; - $depth = sp + 212|0; - $d2 = sp + 208|0; - $pgno = sp + 204|0; - $nFrag = sp + 200|0; - $hdr = sp + 196|0; - $cellStart = sp + 192|0; - $nCell = sp + 188|0; - $doCoverageCheck = sp + 184|0; - $keyCanBeEqual = sp + 180|0; - $data = sp + 176|0; - $pCell = sp + 172|0; - $pCellIdx = sp + 168|0; - $pBt = sp + 164|0; - $pc = sp + 160|0; - $usableSize = sp + 156|0; - $contentOffset = sp + 152|0; - $heap = sp + 148|0; - $x = sp + 144|0; - $prev = sp + 140|0; - $saved_zPfx = sp + 136|0; - $saved_v1 = sp + 132|0; - $saved_v2 = sp + 128|0; - $savedIsInit = sp + 244|0; - $info = sp; - $nPage = sp + 124|0; - $pgnoOvfl = sp + 120|0; - $size = sp + 116|0; - $size1 = sp + 112|0; - $j = sp + 108|0; - HEAP32[$3>>2] = $pCheck; - HEAP32[$4>>2] = $iPage; - HEAP32[$5>>2] = $piMinKey; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - HEAP32[$pPage>>2] = 0; - HEAP32[$depth>>2] = -1; - HEAP32[$doCoverageCheck>>2] = 1; - HEAP32[$keyCanBeEqual>>2] = 1; - HEAP32[$heap>>2] = 0; - HEAP32[$prev>>2] = 0; - $11 = HEAP32[$3>>2]|0; - $12 = ((($11)) + 28|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$saved_zPfx>>2] = $13; - $14 = HEAP32[$3>>2]|0; - $15 = ((($14)) + 32|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$saved_v1>>2] = $16; - $17 = HEAP32[$3>>2]|0; - $18 = ((($17)) + 36|0); + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp; + $9 = sp + 12|0; + $10 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + $11 = $8; + $12 = $11; + HEAP32[$12>>2] = $3; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $4; + $15 = HEAP32[$6>>2]|0; + $16 = ((($15)) + 24|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 12|0); $19 = HEAP32[$18>>2]|0; - HEAP32[$saved_v2>>2] = $19; - HEAP8[$savedIsInit>>0] = 0; - $20 = HEAP32[$3>>2]|0; - $21 = HEAP32[$20>>2]|0; - HEAP32[$pBt>>2] = $21; - $22 = HEAP32[$pBt>>2]|0; - $23 = ((($22)) + 36|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$usableSize>>2] = $24; - $25 = HEAP32[$4>>2]|0; - $26 = ($25|0)==(0); - if ($26) { - HEAP32[$2>>2] = 0; - $500 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($500|0); + $20 = ((($19)) + 20|0); + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$10>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = ($23|0)!=(0); + $25 = HEAP32[$10>>2]|0; + if ($24) { + $26 = $8; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3Fts5IterNextFrom($25,$28,$31)|0); + HEAP32[$9>>2] = $32; + } else { + $33 = (_sqlite3Fts5IterNext($25)|0); + HEAP32[$9>>2] = $33; } - $27 = HEAP32[$3>>2]|0; - $28 = HEAP32[$4>>2]|0; - $29 = (_checkRef($27,$28)|0); - $30 = ($29|0)!=(0); - if ($30) { - HEAP32[$2>>2] = 0; - $500 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($500|0); + $34 = HEAP32[$9>>2]|0; + $35 = ($34|0)==(0); + if ($35) { + $36 = HEAP32[$10>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = ($39|0)==(0); + if ($40) { + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = (_fts5ExprNodeTest_TERM($41,$42)|0); + HEAP32[$9>>2] = $43; + $48 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($48|0); + } } - $31 = HEAP32[$3>>2]|0; - $32 = ((($31)) + 28|0); - HEAP32[$32>>2] = 41169; - $33 = HEAP32[$4>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = ((($34)) + 32|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$pBt>>2]|0; - $37 = HEAP32[$4>>2]|0; - $38 = (_btreeGetPage($36,$37,$pPage,0)|0); - HEAP32[$rc>>2] = $38; - $39 = ($38|0)!=(0); - do { - if ($39) { - $40 = HEAP32[$3>>2]|0; - $41 = HEAP32[$rc>>2]|0; - HEAP32[$vararg_buffer>>2] = $41; - _checkAppendMsg($40,41179,$vararg_buffer); - } else { - $42 = HEAP32[$pPage>>2]|0; - $43 = HEAP8[$42>>0]|0; - HEAP8[$savedIsInit>>0] = $43; - $44 = HEAP32[$pPage>>2]|0; - HEAP8[$44>>0] = 0; - $45 = HEAP32[$pPage>>2]|0; - $46 = (_btreeInitPage($45)|0); - HEAP32[$rc>>2] = $46; - $47 = ($46|0)!=(0); - if ($47) { - $48 = HEAP32[$3>>2]|0; - $49 = HEAP32[$rc>>2]|0; - HEAP32[$vararg_buffer1>>2] = $49; - _checkAppendMsg($48,41217,$vararg_buffer1); + $44 = HEAP32[$6>>2]|0; + $45 = ((($44)) + 4|0); + HEAP32[$45>>2] = 1; + $46 = HEAP32[$6>>2]|0; + $47 = ((($46)) + 8|0); + HEAP32[$47>>2] = 0; + $48 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($48|0); +} +function _fts5ExprNodeNext_STRING($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 16|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 8|0; + $14 = sp; + $15 = sp + 24|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + $16 = $8; + $17 = $16; + HEAP32[$17>>2] = $3; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $4; + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 20|0); + HEAP32[$9>>2] = $25; + HEAP32[$10>>2] = 0; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 8|0); + HEAP32[$27>>2] = 0; + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + HEAP32[$11>>2] = 1; + $32 = HEAP32[$9>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = ((($33)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = (_fts5ExprSynonymRowid($32,$35,0)|0); + $37 = tempRet0; + $38 = $13; + $39 = $38; + HEAP32[$39>>2] = $36; + $40 = (($38) + 4)|0; + $41 = $40; + HEAP32[$41>>2] = $37; + $42 = HEAP32[$9>>2]|0; + HEAP32[$12>>2] = $42; + L3: while(1) { + $43 = HEAP32[$12>>2]|0; + $44 = ($43|0)!=(0|0); + if (!($44)) { break; } - $50 = HEAP32[$pPage>>2]|0; - $51 = ((($50)) + 56|0); - $52 = HEAP32[$51>>2]|0; - HEAP32[$data>>2] = $52; - $53 = HEAP32[$pPage>>2]|0; - $54 = ((($53)) + 5|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - HEAP32[$hdr>>2] = $56; - $57 = HEAP32[$3>>2]|0; - $58 = ((($57)) + 28|0); - HEAP32[$58>>2] = 41255; - $59 = HEAP32[$hdr>>2]|0; - $60 = (($59) + 5)|0; - $61 = HEAP32[$data>>2]|0; - $62 = (($61) + ($60)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = $64 << 8; - $66 = HEAP32[$hdr>>2]|0; - $67 = (($66) + 5)|0; - $68 = HEAP32[$data>>2]|0; - $69 = (($68) + ($67)|0); - $70 = ((($69)) + 1|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = $65 | $72; - $74 = (($73) - 1)|0; - $75 = $74 & 65535; - $76 = (($75) + 1)|0; - HEAP32[$contentOffset>>2] = $76; - $77 = HEAP32[$hdr>>2]|0; - $78 = (($77) + 3)|0; - $79 = HEAP32[$data>>2]|0; - $80 = (($79) + ($78)|0); - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $83 = $82 << 8; - $84 = HEAP32[$hdr>>2]|0; - $85 = (($84) + 3)|0; - $86 = HEAP32[$data>>2]|0; - $87 = (($86) + ($85)|0); - $88 = ((($87)) + 1|0); - $89 = HEAP8[$88>>0]|0; - $90 = $89&255; - $91 = $83 | $90; - HEAP32[$nCell>>2] = $91; - $92 = HEAP32[$hdr>>2]|0; - $93 = (($92) + 12)|0; - $94 = HEAP32[$pPage>>2]|0; - $95 = ((($94)) + 4|0); - $96 = HEAP8[$95>>0]|0; - $97 = $96&255; - $98 = $97<<2; - $99 = (($93) - ($98))|0; - HEAP32[$cellStart>>2] = $99; - $100 = HEAP32[$cellStart>>2]|0; - $101 = HEAP32[$nCell>>2]|0; - $102 = (($101) - 1)|0; - $103 = $102<<1; - $104 = (($100) + ($103))|0; - $105 = HEAP32[$data>>2]|0; - $106 = (($105) + ($104)|0); - HEAP32[$pCellIdx>>2] = $106; - $107 = HEAP32[$pPage>>2]|0; - $108 = ((($107)) + 4|0); - $109 = HEAP8[$108>>0]|0; - $110 = ($109<<24>>24)!=(0); - if ($110) { - $134 = HEAP32[$3>>2]|0; - $135 = ((($134)) + 68|0); - $136 = HEAP32[$135>>2]|0; - HEAP32[$heap>>2] = $136; - $137 = HEAP32[$heap>>2]|0; - HEAP32[$137>>2] = 0; - } else { - $111 = HEAP32[$hdr>>2]|0; - $112 = (($111) + 8)|0; - $113 = HEAP32[$data>>2]|0; - $114 = (($113) + ($112)|0); - $115 = (_sqlite3Get4byte($114)|0); - HEAP32[$pgno>>2] = $115; - $116 = HEAP32[$pBt>>2]|0; - $117 = ((($116)) + 17|0); - $118 = HEAP8[$117>>0]|0; - $119 = ($118<<24>>24)!=(0); - if ($119) { - $120 = HEAP32[$3>>2]|0; - $121 = ((($120)) + 28|0); - HEAP32[$121>>2] = 41281; - $122 = HEAP32[$3>>2]|0; - $123 = HEAP32[$pgno>>2]|0; - $124 = HEAP32[$4>>2]|0; - _checkPtrmap($122,$123,5,$124); - } - $125 = HEAP32[$3>>2]|0; - $126 = HEAP32[$pgno>>2]|0; - $127 = $6; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (_checkTreePage($125,$126,$6,$129,$132)|0); - HEAP32[$depth>>2] = $133; - HEAP32[$keyCanBeEqual>>2] = 0; - } - $138 = HEAP32[$nCell>>2]|0; - $139 = (($138) - 1)|0; - HEAP32[$i>>2] = $139; - while(1) { - $140 = HEAP32[$i>>2]|0; - $141 = ($140|0)>=(0); - if (!($141)) { - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = ((($142)) + 16|0); - $144 = HEAP32[$143>>2]|0; - $145 = ($144|0)!=(0); - if (!($145)) { - break; - } - $146 = HEAP32[$i>>2]|0; - $147 = HEAP32[$3>>2]|0; - $148 = ((($147)) + 36|0); - HEAP32[$148>>2] = $146; - $149 = HEAP32[$pCellIdx>>2]|0; - $150 = HEAP8[$149>>0]|0; - $151 = $150&255; - $152 = $151 << 8; - $153 = HEAP32[$pCellIdx>>2]|0; - $154 = ((($153)) + 1|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = $152 | $156; - HEAP32[$pc>>2] = $157; - $158 = HEAP32[$pCellIdx>>2]|0; - $159 = ((($158)) + -2|0); - HEAP32[$pCellIdx>>2] = $159; - $160 = HEAP32[$pc>>2]|0; - $161 = HEAP32[$contentOffset>>2]|0; - $162 = ($160>>>0)<($161>>>0); - do { - if ($162) { - label = 19; - } else { - $163 = HEAP32[$pc>>2]|0; - $164 = HEAP32[$usableSize>>2]|0; - $165 = (($164) - 4)|0; - $166 = ($163>>>0)>($165>>>0); - if ($166) { - label = 19; - } else { - $172 = HEAP32[$pc>>2]|0; - $173 = HEAP32[$data>>2]|0; - $174 = (($173) + ($172)|0); - HEAP32[$pCell>>2] = $174; - $175 = HEAP32[$pPage>>2]|0; - $176 = ((($175)) + 80|0); - $177 = HEAP32[$176>>2]|0; - $178 = HEAP32[$pPage>>2]|0; - $179 = HEAP32[$pCell>>2]|0; - FUNCTION_TABLE_viii[$177 & 255]($178,$179,$info); - $180 = HEAP32[$pc>>2]|0; - $181 = ((($info)) + 18|0); - $182 = HEAP16[$181>>1]|0; - $183 = $182&65535; - $184 = (($180) + ($183))|0; - $185 = HEAP32[$usableSize>>2]|0; - $186 = ($184>>>0)>($185>>>0); - if ($186) { - $187 = HEAP32[$3>>2]|0; - _checkAppendMsg($187,41339,$vararg_buffer9); - HEAP32[$doCoverageCheck>>2] = 0; - break; - } - $188 = HEAP32[$pPage>>2]|0; - $189 = ((($188)) + 2|0); - $190 = HEAP8[$189>>0]|0; - $191 = ($190<<24>>24)!=(0); - if ($191) { - $192 = HEAP32[$keyCanBeEqual>>2]|0; - $193 = ($192|0)!=(0); - $194 = $info; - $195 = $194; - $196 = HEAP32[$195>>2]|0; - $197 = (($194) + 4)|0; - $198 = $197; - $199 = HEAP32[$198>>2]|0; - $200 = $6; - $201 = $200; - $202 = HEAP32[$201>>2]|0; - $203 = (($200) + 4)|0; - $204 = $203; - $205 = HEAP32[$204>>2]|0; - if ($193) { - $206 = ($199|0)>($205|0); - $207 = ($196>>>0)>($202>>>0); - $208 = ($199|0)==($205|0); - $209 = $208 & $207; - $210 = $206 | $209; - if ($210) { - label = 26; - } - } else { - $211 = ($199|0)>($205|0); - $212 = ($196>>>0)>=($202>>>0); - $213 = ($199|0)==($205|0); - $214 = $213 & $212; - $215 = $211 | $214; - if ($215) { - label = 26; + $45 = HEAP32[$12>>2]|0; + $46 = ((($45)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($47)) + 16|0); + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + $51 = ($50|0)==(0); + L6: do { + if ($51) { + $52 = HEAP32[$12>>2]|0; + $53 = ((($52)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = $54; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = $14; + $62 = $61; + HEAP32[$62>>2] = $57; + $63 = (($61) + 4)|0; + $64 = $63; + HEAP32[$64>>2] = $60; + $65 = $14; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (($65) + 4)|0; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = $13; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = ($67|0)==($73|0); + $78 = ($70|0)==($76|0); + $79 = $77 & $78; + do { + if (!($79)) { + $80 = HEAP32[$7>>2]|0; + $81 = ($80|0)!=(0); + if ($81) { + $82 = $14; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $8; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = ($84|0)!=($90|0); + $95 = ($87|0)!=($93|0); + $96 = $94 | $95; + if ($96) { + $97 = $14; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $8; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = ($102|0)>($108|0); + $110 = ($99>>>0)>($105>>>0); + $111 = ($102|0)==($108|0); + $112 = $111 & $110; + $113 = $109 | $112; + $114 = $113&1; + $115 = HEAP32[$5>>2]|0; + $116 = ((($115)) + 12|0); + $117 = HEAP32[$116>>2]|0; + $118 = ($114|0)==($117|0); + if ($118) { + break; } } - if ((label|0) == 26) { - label = 0; - $216 = HEAP32[$3>>2]|0; - $217 = $info; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = (($217) + 4)|0; - $221 = $220; - $222 = HEAP32[$221>>2]|0; - $223 = $vararg_buffer11; - $224 = $223; - HEAP32[$224>>2] = $219; - $225 = (($223) + 4)|0; - $226 = $225; - HEAP32[$226>>2] = $222; - _checkAppendMsg($216,41363,$vararg_buffer11); - } - $227 = $info; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = (($227) + 4)|0; - $231 = $230; - $232 = HEAP32[$231>>2]|0; - $233 = $6; - $234 = $233; - HEAP32[$234>>2] = $229; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - } - $237 = ((($info)) + 12|0); - $238 = HEAP32[$237>>2]|0; - $239 = ((($info)) + 16|0); - $240 = HEAP16[$239>>1]|0; - $241 = $240&65535; - $242 = ($238>>>0)>($241>>>0); - if ($242) { - $243 = ((($info)) + 12|0); - $244 = HEAP32[$243>>2]|0; - $245 = ((($info)) + 16|0); - $246 = HEAP16[$245>>1]|0; - $247 = $246&65535; - $248 = (($244) - ($247))|0; - $249 = HEAP32[$usableSize>>2]|0; - $250 = (($248) + ($249))|0; - $251 = (($250) - 5)|0; - $252 = HEAP32[$usableSize>>2]|0; - $253 = (($252) - 4)|0; - $254 = (($251>>>0) / ($253>>>0))&-1; - HEAP32[$nPage>>2] = $254; - $255 = ((($info)) + 18|0); - $256 = HEAP16[$255>>1]|0; - $257 = $256&65535; - $258 = (($257) - 4)|0; - $259 = HEAP32[$pCell>>2]|0; - $260 = (($259) + ($258)|0); - $261 = (_sqlite3Get4byte($260)|0); - HEAP32[$pgnoOvfl>>2] = $261; - $262 = HEAP32[$pBt>>2]|0; - $263 = ((($262)) + 17|0); - $264 = HEAP8[$263>>0]|0; - $265 = ($264<<24>>24)!=(0); - if ($265) { - $266 = HEAP32[$3>>2]|0; - $267 = HEAP32[$pgnoOvfl>>2]|0; - $268 = HEAP32[$4>>2]|0; - _checkPtrmap($266,$267,3,$268); - } - $269 = HEAP32[$3>>2]|0; - $270 = HEAP32[$pgnoOvfl>>2]|0; - $271 = HEAP32[$nPage>>2]|0; - _checkList($269,0,$270,$271); - } - $272 = HEAP32[$pPage>>2]|0; - $273 = ((($272)) + 4|0); - $274 = HEAP8[$273>>0]|0; - $275 = ($274<<24>>24)!=(0); - if ($275) { - $299 = HEAP32[$heap>>2]|0; - $300 = HEAP32[$pc>>2]|0; - $301 = $300 << 16; - $302 = HEAP32[$pc>>2]|0; - $303 = ((($info)) + 18|0); - $304 = HEAP16[$303>>1]|0; - $305 = $304&65535; - $306 = (($302) + ($305))|0; - $307 = (($306) - 1)|0; - $308 = $301 | $307; - _btreeHeapInsert($299,$308); - break; - } - $276 = HEAP32[$pCell>>2]|0; - $277 = (_sqlite3Get4byte($276)|0); - HEAP32[$pgno>>2] = $277; - $278 = HEAP32[$pBt>>2]|0; - $279 = ((($278)) + 17|0); - $280 = HEAP8[$279>>0]|0; - $281 = ($280<<24>>24)!=(0); - if ($281) { - $282 = HEAP32[$3>>2]|0; - $283 = HEAP32[$pgno>>2]|0; - $284 = HEAP32[$4>>2]|0; - _checkPtrmap($282,$283,5,$284); - } - $285 = HEAP32[$3>>2]|0; - $286 = HEAP32[$pgno>>2]|0; - $287 = $6; - $288 = $287; - $289 = HEAP32[$288>>2]|0; - $290 = (($287) + 4)|0; - $291 = $290; - $292 = HEAP32[$291>>2]|0; - $293 = (_checkTreePage($285,$286,$6,$289,$292)|0); - HEAP32[$d2>>2] = $293; - HEAP32[$keyCanBeEqual>>2] = 0; - $294 = HEAP32[$d2>>2]|0; - $295 = HEAP32[$depth>>2]|0; - $296 = ($294|0)!=($295|0); - if ($296) { - $297 = HEAP32[$3>>2]|0; - _checkAppendMsg($297,41387,$vararg_buffer14); - $298 = HEAP32[$d2>>2]|0; - HEAP32[$depth>>2] = $298; - } - } - } - } while(0); - if ((label|0) == 19) { - label = 0; - $167 = HEAP32[$3>>2]|0; - $168 = HEAP32[$pc>>2]|0; - $169 = HEAP32[$contentOffset>>2]|0; - $170 = HEAP32[$usableSize>>2]|0; - $171 = (($170) - 4)|0; - HEAP32[$vararg_buffer4>>2] = $168; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $169; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $171; - _checkAppendMsg($167,41309,$vararg_buffer4); - HEAP32[$doCoverageCheck>>2] = 0; - } - $309 = HEAP32[$i>>2]|0; - $310 = (($309) + -1)|0; - HEAP32[$i>>2] = $310; - } - $311 = $6; - $312 = $311; - $313 = HEAP32[$312>>2]|0; - $314 = (($311) + 4)|0; - $315 = $314; - $316 = HEAP32[$315>>2]|0; - $317 = HEAP32[$5>>2]|0; - $318 = $317; - $319 = $318; - HEAP32[$319>>2] = $313; - $320 = (($318) + 4)|0; - $321 = $320; - HEAP32[$321>>2] = $316; - $322 = HEAP32[$3>>2]|0; - $323 = ((($322)) + 28|0); - HEAP32[$323>>2] = 0; - $324 = HEAP32[$doCoverageCheck>>2]|0; - $325 = ($324|0)!=(0); - if ($325) { - $326 = HEAP32[$3>>2]|0; - $327 = ((($326)) + 16|0); - $328 = HEAP32[$327>>2]|0; - $329 = ($328|0)>(0); - if ($329) { - $330 = HEAP32[$pPage>>2]|0; - $331 = ((($330)) + 4|0); - $332 = HEAP8[$331>>0]|0; - $333 = ($332<<24>>24)!=(0); - L60: do { - if (!($333)) { - $334 = HEAP32[$3>>2]|0; - $335 = ((($334)) + 68|0); - $336 = HEAP32[$335>>2]|0; - HEAP32[$heap>>2] = $336; - $337 = HEAP32[$heap>>2]|0; - HEAP32[$337>>2] = 0; - $338 = HEAP32[$nCell>>2]|0; - $339 = (($338) - 1)|0; - HEAP32[$i>>2] = $339; - while(1) { - $340 = HEAP32[$i>>2]|0; - $341 = ($340|0)>=(0); - if (!($341)) { - break L60; - } - $342 = HEAP32[$cellStart>>2]|0; - $343 = HEAP32[$i>>2]|0; - $344 = $343<<1; - $345 = (($342) + ($344))|0; - $346 = HEAP32[$data>>2]|0; - $347 = (($346) + ($345)|0); - $348 = HEAP8[$347>>0]|0; - $349 = $348&255; - $350 = $349 << 8; - $351 = HEAP32[$cellStart>>2]|0; - $352 = HEAP32[$i>>2]|0; - $353 = $352<<1; - $354 = (($351) + ($353))|0; - $355 = HEAP32[$data>>2]|0; - $356 = (($355) + ($354)|0); - $357 = ((($356)) + 1|0); - $358 = HEAP8[$357>>0]|0; - $359 = $358&255; - $360 = $350 | $359; - HEAP32[$pc>>2] = $360; - $361 = HEAP32[$pPage>>2]|0; - $362 = ((($361)) + 76|0); - $363 = HEAP32[$362>>2]|0; - $364 = HEAP32[$pPage>>2]|0; - $365 = HEAP32[$pc>>2]|0; - $366 = HEAP32[$data>>2]|0; - $367 = (($366) + ($365)|0); - $368 = (FUNCTION_TABLE_iii[$363 & 255]($364,$367)|0); - $369 = $368&65535; - HEAP32[$size>>2] = $369; - $370 = HEAP32[$heap>>2]|0; - $371 = HEAP32[$pc>>2]|0; - $372 = $371 << 16; - $373 = HEAP32[$pc>>2]|0; - $374 = HEAP32[$size>>2]|0; - $375 = (($373) + ($374))|0; - $376 = (($375) - 1)|0; - $377 = $372 | $376; - _btreeHeapInsert($370,$377); - $378 = HEAP32[$i>>2]|0; - $379 = (($378) + -1)|0; - HEAP32[$i>>2] = $379; } + HEAP32[$11>>2] = 0; + break L6; } } while(0); - $380 = HEAP32[$hdr>>2]|0; - $381 = (($380) + 1)|0; - $382 = HEAP32[$data>>2]|0; - $383 = (($382) + ($381)|0); - $384 = HEAP8[$383>>0]|0; - $385 = $384&255; - $386 = $385 << 8; - $387 = HEAP32[$hdr>>2]|0; - $388 = (($387) + 1)|0; - $389 = HEAP32[$data>>2]|0; - $390 = (($389) + ($388)|0); - $391 = ((($390)) + 1|0); - $392 = HEAP8[$391>>0]|0; - $393 = $392&255; - $394 = $386 | $393; - HEAP32[$i>>2] = $394; - while(1) { - $395 = HEAP32[$i>>2]|0; - $396 = ($395|0)>(0); - if (!($396)) { - break; - } - $397 = HEAP32[$i>>2]|0; - $398 = (($397) + 2)|0; - $399 = HEAP32[$data>>2]|0; - $400 = (($399) + ($398)|0); - $401 = HEAP8[$400>>0]|0; - $402 = $401&255; - $403 = $402 << 8; - $404 = HEAP32[$i>>2]|0; - $405 = (($404) + 2)|0; - $406 = HEAP32[$data>>2]|0; - $407 = (($406) + ($405)|0); - $408 = ((($407)) + 1|0); - $409 = HEAP8[$408>>0]|0; - $410 = $409&255; - $411 = $403 | $410; - HEAP32[$size1>>2] = $411; - $412 = HEAP32[$heap>>2]|0; - $413 = HEAP32[$i>>2]|0; - $414 = $413 << 16; - $415 = HEAP32[$i>>2]|0; - $416 = HEAP32[$size1>>2]|0; - $417 = (($415) + ($416))|0; - $418 = (($417) - 1)|0; - $419 = $414 | $418; - _btreeHeapInsert($412,$419); - $420 = HEAP32[$i>>2]|0; - $421 = HEAP32[$data>>2]|0; - $422 = (($421) + ($420)|0); - $423 = HEAP8[$422>>0]|0; - $424 = $423&255; - $425 = $424 << 8; - $426 = HEAP32[$i>>2]|0; - $427 = HEAP32[$data>>2]|0; - $428 = (($427) + ($426)|0); - $429 = ((($428)) + 1|0); - $430 = HEAP8[$429>>0]|0; - $431 = $430&255; - $432 = $425 | $431; - HEAP32[$j>>2] = $432; - $433 = HEAP32[$j>>2]|0; - HEAP32[$i>>2] = $433; - } - HEAP32[$nFrag>>2] = 0; - $434 = HEAP32[$contentOffset>>2]|0; - $435 = (($434) - 1)|0; - HEAP32[$prev>>2] = $435; - while(1) { - $436 = HEAP32[$heap>>2]|0; - $437 = (_btreeHeapPull($436,$x)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - break; - } - $439 = HEAP32[$prev>>2]|0; - $440 = $439 & 65535; - $441 = HEAP32[$x>>2]|0; - $442 = $441 >>> 16; - $443 = ($440>>>0)>=($442>>>0); - if ($443) { - label = 51; - break; - } - $448 = HEAP32[$x>>2]|0; - $449 = $448 >>> 16; - $450 = HEAP32[$prev>>2]|0; - $451 = $450 & 65535; - $452 = (($449) - ($451))|0; - $453 = (($452) - 1)|0; - $454 = HEAP32[$nFrag>>2]|0; - $455 = (($454) + ($453))|0; - HEAP32[$nFrag>>2] = $455; - $456 = HEAP32[$x>>2]|0; - HEAP32[$prev>>2] = $456; + $119 = HEAP32[$7>>2]|0; + $120 = ($119|0)!=(0); + $121 = HEAP32[$12>>2]|0; + $122 = ((($121)) + 8|0); + $123 = HEAP32[$122>>2]|0; + if ($120) { + $124 = $8; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (($124) + 4)|0; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (_sqlite3Fts5IterNextFrom($123,$126,$129)|0); + HEAP32[$10>>2] = $130; + } else { + $131 = (_sqlite3Fts5IterNext($123)|0); + HEAP32[$10>>2] = $131; } - if ((label|0) == 51) { - $444 = HEAP32[$3>>2]|0; - $445 = HEAP32[$x>>2]|0; - $446 = $445 >>> 16; - $447 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer16>>2] = $446; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $447; - _checkAppendMsg($444,41412,$vararg_buffer16); - } - $457 = HEAP32[$usableSize>>2]|0; - $458 = HEAP32[$prev>>2]|0; - $459 = $458 & 65535; - $460 = (($457) - ($459))|0; - $461 = (($460) - 1)|0; - $462 = HEAP32[$nFrag>>2]|0; - $463 = (($462) + ($461))|0; - HEAP32[$nFrag>>2] = $463; - $464 = HEAP32[$heap>>2]|0; - $465 = HEAP32[$464>>2]|0; - $466 = ($465|0)==(0); - if ($466) { - $467 = HEAP32[$nFrag>>2]|0; - $468 = HEAP32[$hdr>>2]|0; - $469 = (($468) + 7)|0; - $470 = HEAP32[$data>>2]|0; - $471 = (($470) + ($469)|0); - $472 = HEAP8[$471>>0]|0; - $473 = $472&255; - $474 = ($467|0)!=($473|0); - if ($474) { - $475 = HEAP32[$3>>2]|0; - $476 = HEAP32[$nFrag>>2]|0; - $477 = HEAP32[$hdr>>2]|0; - $478 = (($477) + 7)|0; - $479 = HEAP32[$data>>2]|0; - $480 = (($479) + ($478)|0); - $481 = HEAP8[$480>>0]|0; - $482 = $481&255; - $483 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer20>>2] = $476; - $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $482; - $vararg_ptr24 = ((($vararg_buffer20)) + 8|0); - HEAP32[$vararg_ptr24>>2] = $483; - _checkAppendMsg($475,41449,$vararg_buffer20); - } + $132 = HEAP32[$10>>2]|0; + $133 = ($132|0)!=(0); + if ($133) { + break L3; + } + $134 = HEAP32[$12>>2]|0; + $135 = ((($134)) + 8|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($136)) + 16|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = ($139|0)==(0); + if ($140) { + HEAP32[$11>>2] = 0; } } - } + } while(0); + $141 = HEAP32[$12>>2]|0; + $142 = ((($141)) + 12|0); + $143 = HEAP32[$142>>2]|0; + HEAP32[$12>>2] = $143; } - } while(0); - $484 = HEAP32[$doCoverageCheck>>2]|0; - $485 = ($484|0)!=(0); - if (!($485)) { - $486 = HEAP8[$savedIsInit>>0]|0; - $487 = HEAP32[$pPage>>2]|0; - HEAP8[$487>>0] = $486; - } - $488 = HEAP32[$pPage>>2]|0; - _releasePage($488); - $489 = HEAP32[$saved_zPfx>>2]|0; - $490 = HEAP32[$3>>2]|0; - $491 = ((($490)) + 28|0); - HEAP32[$491>>2] = $489; - $492 = HEAP32[$saved_v1>>2]|0; - $493 = HEAP32[$3>>2]|0; - $494 = ((($493)) + 32|0); - HEAP32[$494>>2] = $492; - $495 = HEAP32[$saved_v2>>2]|0; - $496 = HEAP32[$3>>2]|0; - $497 = ((($496)) + 36|0); - HEAP32[$497>>2] = $495; - $498 = HEAP32[$depth>>2]|0; - $499 = (($498) + 1)|0; - HEAP32[$2>>2] = $499; - $500 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($500|0); -} -function _getPageReferenced($pCheck,$iPg) { - $pCheck = $pCheck|0; - $iPg = $iPg|0; - var $0 = 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, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pCheck; - HEAP32[$1>>2] = $iPg; - $2 = HEAP32[$1>>2]|0; - $3 = (($2>>>0) / 8)&-1; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($3)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = HEAP32[$1>>2]|0; - $11 = $10 & 7; - $12 = 1 << $11; - $13 = $9 & $12; - STACKTOP = sp;return ($13|0); -} -function _checkAppendMsg($pCheck,$zFormat,$varargs) { - $pCheck = $pCheck|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $ap = sp + 8|0; - HEAP32[$0>>2] = $pCheck; - HEAP32[$1>>2] = $zFormat; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + -1)|0; - HEAP32[$7>>2] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$11>>2] = $13; - HEAP32[$ap>>2] = $varargs; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 40|0); - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)!=(0); - if ($18) { - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 40|0); - _sqlite3StrAccumAppend($20,41167,1); - } - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 28|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 40|0); - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 28|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 32|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 36|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$vararg_buffer>>2] = $32; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $35; - _sqlite3XPrintf($26,$29,$vararg_buffer); - } - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 40|0); - $38 = HEAP32[$1>>2]|0; - _sqlite3VXPrintf($37,$38,$ap); - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 40|0); - $41 = ((($40)) + 24|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = ($43|0)==(1); - if (!($44)) { - STACKTOP = sp;return; - } - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 24|0); - HEAP32[$46>>2] = 1; - STACKTOP = sp;return; -} -function _checkRef($pCheck,$iPage) { - $pCheck = $pCheck|0; - $iPage = $iPage|0; - var $0 = 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, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - HEAP32[$1>>2] = $pCheck; - HEAP32[$2>>2] = $iPage; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - do { - if ($4) { - HEAP32[$0>>2] = 1; + $144 = HEAP32[$10>>2]|0; + $145 = ($144|0)!=(0); + $146 = HEAP32[$11>>2]|0; + $147 = ($146|0)!=(0); + $148 = $145 ? 1 : $147; + $149 = $148&1; + $150 = HEAP32[$6>>2]|0; + $$sink = $149;$$sink2 = $150; + } else { + $151 = HEAP32[$9>>2]|0; + $152 = ((($151)) + 8|0); + $153 = HEAP32[$152>>2]|0; + HEAP32[$15>>2] = $153; + $154 = HEAP32[$7>>2]|0; + $155 = ($154|0)!=(0); + $156 = HEAP32[$15>>2]|0; + if ($155) { + $157 = $8; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = (($157) + 4)|0; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = (_sqlite3Fts5IterNextFrom($156,$159,$162)|0); + HEAP32[$10>>2] = $163; } else { - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($5>>>0)>($8>>>0); - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - if ($9) { - HEAP32[$vararg_buffer>>2] = $11; - _checkAppendMsg($10,41501,$vararg_buffer); - HEAP32[$0>>2] = 1; - break; - } - $12 = (_getPageReferenced($10,$11)|0); - $13 = ($12|0)!=(0); - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - if ($13) { - HEAP32[$vararg_buffer1>>2] = $15; - _checkAppendMsg($14,41524,$vararg_buffer1); - HEAP32[$0>>2] = 1; - break; - } else { - _setPageReferenced($14,$15); - HEAP32[$0>>2] = 0; - break; - } - } - } while(0); - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); -} -function _btreeHeapInsert($aHeap,$x) { - $aHeap = $aHeap|0; - $x = $x|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $i = 0, $j = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $j = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $aHeap; - HEAP32[$1>>2] = $x; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 1)|0; - HEAP32[$2>>2] = $4; - HEAP32[$i>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + ($6<<2)|0); - HEAP32[$8>>2] = $5; - while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = (($9>>>0) / 2)&-1; - HEAP32[$j>>2] = $10; - $11 = ($10>>>0)>(0); - if (!($11)) { - label = 5; - break; - } - $12 = HEAP32[$j>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + ($12<<2)|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + ($16<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($15>>>0)>($19>>>0); - if (!($20)) { - label = 5; - break; + $164 = (_sqlite3Fts5IterNext($156)|0); + HEAP32[$10>>2] = $164; } - $21 = HEAP32[$j>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = (($22) + ($21<<2)|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$1>>2] = $24; - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = (($26) + ($25<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$j>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = (($30) + ($29<<2)|0); - HEAP32[$31>>2] = $28; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + ($33<<2)|0); - HEAP32[$35>>2] = $32; - $36 = HEAP32[$j>>2]|0; - HEAP32[$i>>2] = $36; - } - if ((label|0) == 5) { - STACKTOP = sp;return; + $165 = HEAP32[$10>>2]|0; + $166 = ($165|0)!=(0); + if ($166) { + $173 = 1; + } else { + $167 = HEAP32[$15>>2]|0; + $168 = ((($167)) + 16|0); + $169 = HEAP8[$168>>0]|0; + $170 = $169&255; + $171 = ($170|0)!=(0); + $173 = $171; + } + $172 = $173&1; + $174 = HEAP32[$6>>2]|0; + $$sink = $172;$$sink2 = $174; + } + $175 = ((($$sink2)) + 4|0); + HEAP32[$175>>2] = $$sink; + $176 = HEAP32[$6>>2]|0; + $177 = ((($176)) + 4|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(0); + if (!($179)) { + $183 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($183|0); } + $180 = HEAP32[$5>>2]|0; + $181 = HEAP32[$6>>2]|0; + $182 = (_fts5ExprNodeTest_STRING($180,$181)|0); + HEAP32[$10>>2] = $182; + $183 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($183|0); } -function _btreeHeapPull($aHeap,$pOut) { - $aHeap = $aHeap|0; - $pOut = $pOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $x = 0, label = 0, sp = 0; +function _fts5ExprNodeNext_OR($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $j = sp + 8|0; - $i = sp + 4|0; - $x = sp; - HEAP32[$1>>2] = $aHeap; - HEAP32[$2>>2] = $pOut; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$x>>2] = $4; - $5 = ($4|0)==(0); - if ($5) { - HEAP32[$0>>2] = 0; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); - } - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$2>>2]|0; - HEAP32[$9>>2] = $8; - $10 = HEAP32[$x>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + ($10<<2)|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 4|0); - HEAP32[$15>>2] = $13; - $16 = HEAP32[$x>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + ($16<<2)|0); - HEAP32[$18>>2] = -1; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + -1)|0; - HEAP32[$19>>2] = $21; - HEAP32[$i>>2] = 1; - while(1) { - $22 = HEAP32[$i>>2]|0; - $23 = $22<<1; - HEAP32[$j>>2] = $23; - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = ($23>>>0)<=($25>>>0); - if (!($26)) { + STACKTOP = STACKTOP + 48|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 8|0; + $10 = sp + 24|0; + $11 = sp; + $12 = sp + 20|0; + $13 = sp + 16|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + $14 = $9; + $15 = $14; + HEAP32[$15>>2] = $3; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $4; + $18 = HEAP32[$7>>2]|0; + $19 = ((($18)) + 16|0); + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = $11; + $27 = $26; + HEAP32[$27>>2] = $22; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $25; + HEAP32[$10>>2] = 0; + L1: while(1) { + $30 = HEAP32[$10>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = ((($31)) + 28|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($30|0)<($33|0); + if (!($34)) { + label = 10; break; } - $27 = HEAP32[$j>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + ($27<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$j>>2]|0; - $32 = (($31) + 1)|0; - $33 = HEAP32[$1>>2]|0; - $34 = (($33) + ($32<<2)|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($30>>>0)>($35>>>0); - if ($36) { - $37 = HEAP32[$j>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$j>>2] = $38; - } - $39 = HEAP32[$i>>2]|0; - $40 = HEAP32[$1>>2]|0; - $41 = (($40) + ($39<<2)|0); + $35 = HEAP32[$7>>2]|0; + $36 = ((($35)) + 32|0); + $37 = HEAP32[$10>>2]|0; + $38 = (($36) + ($37<<2)|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$12>>2] = $39; + $40 = HEAP32[$12>>2]|0; + $41 = ((($40)) + 4|0); $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$j>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = (($44) + ($43<<2)|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($42>>>0)<($46>>>0); - if ($47) { - break; - } - $48 = HEAP32[$i>>2]|0; - $49 = HEAP32[$1>>2]|0; - $50 = (($49) + ($48<<2)|0); - $51 = HEAP32[$50>>2]|0; - HEAP32[$x>>2] = $51; - $52 = HEAP32[$j>>2]|0; - $53 = HEAP32[$1>>2]|0; - $54 = (($53) + ($52<<2)|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$i>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = (($57) + ($56<<2)|0); - HEAP32[$58>>2] = $55; - $59 = HEAP32[$x>>2]|0; - $60 = HEAP32[$j>>2]|0; - $61 = HEAP32[$1>>2]|0; - $62 = (($61) + ($60<<2)|0); - HEAP32[$62>>2] = $59; - $63 = HEAP32[$j>>2]|0; - HEAP32[$i>>2] = $63; + $43 = ($42|0)==(0); + do { + if ($43) { + $44 = HEAP32[$12>>2]|0; + $45 = ((($44)) + 16|0); + $46 = $45; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $11; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = ($48|0)==($54|0); + $59 = ($51|0)==($57|0); + $60 = $58 & $59; + if (!($60)) { + $61 = HEAP32[$8>>2]|0; + $62 = ($61|0)!=(0); + if (!($62)) { + break; + } + $63 = HEAP32[$6>>2]|0; + $64 = HEAP32[$12>>2]|0; + $65 = ((($64)) + 16|0); + $66 = $65; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = $9; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (_fts5RowidCmp($63,$68,$71,$74,$77)|0); + $79 = ($78|0)<(0); + if (!($79)) { + break; + } + } + $80 = HEAP32[$12>>2]|0; + $81 = ((($80)) + 12|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$6>>2]|0; + $84 = HEAP32[$12>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = $9; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (FUNCTION_TABLE_iiiiii[$82 & 255]($83,$84,$85,$88,$91)|0); + HEAP32[$13>>2] = $92; + $93 = HEAP32[$13>>2]|0; + $94 = ($93|0)!=(0); + if ($94) { + label = 8; + break L1; + } + } + } while(0); + $96 = HEAP32[$10>>2]|0; + $97 = (($96) + 1)|0; + HEAP32[$10>>2] = $97; } - HEAP32[$0>>2] = 1; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); -} -function _vdbeMergeEngineFree($pMerger) { - $pMerger = $pMerger|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pMerger; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - $14 = HEAP32[$0>>2]|0; - _sqlite3_free($14); - STACKTOP = sp;return; + if ((label|0) == 8) { + $95 = HEAP32[$13>>2]|0; + HEAP32[$5>>2] = $95; + $100 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($100|0); } - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($3|0)<($5|0); - if (!($6)) { - break; - } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + (($7*56)|0)|0); - _vdbePmaReaderClear($11); - $12 = HEAP32[$i>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$i>>2] = $13; + else if ((label|0) == 10) { + $98 = HEAP32[$6>>2]|0; + $99 = HEAP32[$7>>2]|0; + _fts5ExprNodeTest_OR($98,$99); + HEAP32[$5>>2] = 0; + $100 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($100|0); } - $14 = HEAP32[$0>>2]|0; - _sqlite3_free($14); - STACKTOP = sp;return; + return (0)|0; } -function _vdbeSortSubtaskCleanup($db,$pTask) { - $db = $db|0; - $pTask = $pTask|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _fts5ExprNodeNext_AND($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTask; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - _sqlite3DbFree($2,$5); - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 16|0); - $8 = HEAP32[$7>>2]|0; - _vdbeSorterRecordFree(0,$8); - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 40|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 40|0); - $15 = HEAP32[$14>>2]|0; - _sqlite3OsCloseFree($15); - } - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 56|0); + STACKTOP = STACKTOP + 32|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp; + $9 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + $10 = $8; + $11 = $10; + HEAP32[$11>>2] = $3; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $4; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 32|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 12|0); $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - $23 = HEAP32[$1>>2]|0; - dest=$23; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 56|0); + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 32|0); $22 = HEAP32[$21>>2]|0; - _sqlite3OsCloseFree($22); - $23 = HEAP32[$1>>2]|0; - dest=$23; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _vdbeSorterRecordFree($db,$pRecord) { - $db = $db|0; - $pRecord = $pRecord|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pNext = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $p = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pRecord; - $2 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $2; - while(1) { - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - break; - } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pNext>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$p>>2]|0; - _sqlite3DbFree($8,$9); - $10 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $10; - } - STACKTOP = sp;return; -} -function _sqlite3OsCloseFree($pFile) { - $pFile = $pFile|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pFile; - $1 = HEAP32[$0>>2]|0; - _sqlite3OsClose($1); - $2 = HEAP32[$0>>2]|0; - _sqlite3_free($2); - STACKTOP = sp;return; -} -function _vdbePmaReaderClear($pReadr) { - $pReadr = $pReadr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pReadr; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 28|0); - $3 = HEAP32[$2>>2]|0; - _sqlite3_free($3); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 36|0); - $6 = HEAP32[$5>>2]|0; - _sqlite3_free($6); - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 44|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 44|0); - $16 = HEAP32[$15>>2]|0; - (_sqlite3OsUnfetch($13,0,0,$16)|0); + $23 = HEAP32[$7>>2]|0; + $24 = $8; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (FUNCTION_TABLE_iiiiii[$18 & 255]($19,$22,$23,$26,$29)|0); + HEAP32[$9>>2] = $30; + $31 = HEAP32[$9>>2]|0; + $32 = ($31|0)==(0); + if (!($32)) { + $36 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($36|0); } - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 48|0); - $19 = HEAP32[$18>>2]|0; - _vdbeIncrFree($19); - $20 = HEAP32[$0>>2]|0; - dest=$20; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = (_fts5ExprNodeTest_AND($33,$34)|0); + HEAP32[$9>>2] = $35; + $36 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($36|0); } -function _vdbeIncrFree($pIncr) { - $pIncr = $pIncr|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _fts5ExprNodeNext_NOT($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pIncr; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp; + $9 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + $10 = $8; + $11 = $10; + HEAP32[$11>>2] = $3; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $4; + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 32|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 32|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = $8; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (FUNCTION_TABLE_iiiiii[$18 & 255]($19,$22,$23,$26,$29)|0); + HEAP32[$9>>2] = $30; + $31 = HEAP32[$9>>2]|0; + $32 = ($31|0)==(0); + if (!($32)) { + $36 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($36|0); } - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - _vdbeMergeEngineFree($5); - $6 = HEAP32[$0>>2]|0; - _sqlite3_free($6); - STACKTOP = sp;return; + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$6>>2]|0; + $35 = (_fts5ExprNodeTest_NOT($33,$34)|0); + HEAP32[$9>>2] = $35; + $36 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($36|0); } -function _invalidateIncrblobCursors($pBtree,$0,$1,$isClearTable) { - $pBtree = $pBtree|0; +function _fts5ExprNodeTest_NOT($0,$1) { $0 = $0|0; $1 = $1|0; - $isClearTable = $isClearTable|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp; + $2 = sp + 20|0; + $3 = sp + 16|0; $4 = sp + 12|0; - $p = sp + 8|0; - HEAP32[$2>>2] = $pBtree; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $isClearTable; - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 11|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(0); - if ($13) { - STACKTOP = sp;return; - } - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 11|0); - HEAP8[$15>>0] = 0; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 4|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$p>>2] = $20; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 32|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 32|0); + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$6>>2] = $14; while(1) { - $21 = HEAP32[$p>>2]|0; - $22 = ($21|0)!=(0|0); - if (!($22)) { + $15 = HEAP32[$4>>2]|0; + $16 = ($15|0)==(0); + if (!($16)) { break; } - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 64|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = $26 & 16; - $28 = ($27|0)!=(0); - do { - if ($28) { - $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 11|0); - HEAP8[$30>>0] = 1; - $31 = HEAP32[$4>>2]|0; - $32 = ($31|0)!=(0); - if (!($32)) { - $33 = HEAP32[$p>>2]|0; - $34 = ((($33)) + 16|0); - $35 = $34; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = $3; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = ($37|0)==($43|0); - $48 = ($40|0)==($46|0); - $49 = $47 & $48; - if (!($49)) { - break; - } - } - $50 = HEAP32[$p>>2]|0; - $51 = ((($50)) + 66|0); - HEAP8[$51>>0] = 0; - } - } while(0); - $52 = HEAP32[$p>>2]|0; - $53 = ((($52)) + 8|0); - $54 = HEAP32[$53>>2]|0; - HEAP32[$p>>2] = $54; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if (!($20)) { + break; + } + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = (_fts5NodeCompare($21,$22,$23)|0); + HEAP32[$7>>2] = $24; + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)>(0); + if ($26) { + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 16|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (FUNCTION_TABLE_iiiiii[$29 & 255]($30,$31,1,$36,$39)|0); + HEAP32[$4>>2] = $40; + $41 = HEAP32[$2>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = HEAP32[$6>>2]|0; + $44 = (_fts5NodeCompare($41,$42,$43)|0); + HEAP32[$7>>2] = $44; + } + $45 = HEAP32[$7>>2]|0; + $46 = ($45|0)!=(0); + if ($46) { + break; + } + $47 = HEAP32[$6>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)!=(0); + if ($50) { + break; + } + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = HEAP32[$5>>2]|0; + $56 = (FUNCTION_TABLE_iiiiii[$53 & 255]($54,$55,0,0,0)|0); + HEAP32[$4>>2] = $56; } - STACKTOP = sp;return; + $57 = HEAP32[$5>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 4|0); + HEAP32[$61>>2] = $59; + $62 = HEAP32[$5>>2]|0; + $63 = ((($62)) + 8|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$3>>2]|0; + $66 = ((($65)) + 8|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$5>>2]|0; + $68 = ((($67)) + 16|0); + $69 = $68; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$3>>2]|0; + $76 = ((($75)) + 16|0); + $77 = $76; + $78 = $77; + HEAP32[$78>>2] = $71; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = $74; + $81 = HEAP32[$5>>2]|0; + $82 = ((($81)) + 4|0); + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)!=(0); + if (!($84)) { + $86 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($86|0); + } + $85 = HEAP32[$6>>2]|0; + _fts5ExprNodeZeroPoslist($85); + $86 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($86|0); } -function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { - $pBt = $pBt|0; - $pgno = $pgno|0; - $freePageFlag = $freePageFlag|0; - $pnChange = $pnChange|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $hdr = 0, $i = 0, $pCell = 0, $pPage = 0, $rc = 0, $szCell = 0, label = 0, sp = 0; +function _fts5NodeCompare($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $pPage = sp + 16|0; - $rc = sp + 12|0; - $pCell = sp + 8|0; - $i = sp + 4|0; - $hdr = sp; - $szCell = sp + 40|0; - HEAP32[$1>>2] = $pBt; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $freePageFlag; - HEAP32[$4>>2] = $pnChange; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (_btreePagecount($6)|0); - $8 = ($5>>>0)>($7>>>0); - if ($8) { - $9 = (_sqlite3CorruptError(66688)|0); - HEAP32[$0>>2] = $9; - $123 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($123|0); + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0); + if ($10) { + HEAP32[$3>>2] = -1; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = (_getAndInitPage($10,$11,$pPage,0,0)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; $14 = ($13|0)!=(0); if ($14) { - $15 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $15; - $123 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($123|0); + HEAP32[$3>>2] = 1; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); + } else { + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 16|0); + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 16|0); + $26 = $25; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (_fts5RowidCmp($15,$20,$23,$28,$31)|0); + HEAP32[$3>>2] = $32; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); } - $16 = HEAP32[$pPage>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)!=(0); - L9: do { - if ($19) { - $20 = (_sqlite3CorruptError(66693)|0); - HEAP32[$rc>>2] = $20; - } else { - $21 = HEAP32[$pPage>>2]|0; - $22 = ((($21)) + 8|0); - HEAP8[$22>>0] = 1; - $23 = HEAP32[$pPage>>2]|0; - $24 = ((($23)) + 5|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - HEAP32[$hdr>>2] = $26; - HEAP32[$i>>2] = 0; + return (0)|0; +} +function _fts5ExprNodeZeroPoslist($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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(11); + if (!($8)) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(4); + if (!($11)) { + HEAP32[$5>>2] = 0; while(1) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$pPage>>2]|0; - $29 = ((($28)) + 18|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $32 = ($27|0)<($31|0); - $33 = HEAP32[$pPage>>2]|0; - if (!($32)) { - break; - } - $34 = ((($33)) + 56|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$pPage>>2]|0; - $37 = ((($36)) + 20|0); - $38 = HEAP16[$37>>1]|0; - $39 = $38&65535; - $40 = HEAP32[$i>>2]|0; - $41 = $40<<1; - $42 = HEAP32[$pPage>>2]|0; - $43 = ((($42)) + 64|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + ($41)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = $47 << 8; - $49 = HEAP32[$i>>2]|0; - $50 = $49<<1; - $51 = HEAP32[$pPage>>2]|0; - $52 = ((($51)) + 64|0); - $53 = HEAP32[$52>>2]|0; - $54 = (($53) + ($50)|0); - $55 = ((($54)) + 1|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = $48 | $57; - $59 = $39 & $58; - $60 = (($35) + ($59)|0); - HEAP32[$pCell>>2] = $60; - $61 = HEAP32[$pPage>>2]|0; - $62 = ((($61)) + 4|0); - $63 = HEAP8[$62>>0]|0; - $64 = ($63<<24>>24)!=(0); - if (!($64)) { - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$pCell>>2]|0; - $67 = (_sqlite3Get4byte($66)|0); - $68 = HEAP32[$4>>2]|0; - $69 = (_clearDatabasePage($65,$67,1,$68)|0); - HEAP32[$rc>>2] = $69; - $70 = HEAP32[$rc>>2]|0; - $71 = ($70|0)!=(0); - if ($71) { - break L9; - } - } - $72 = HEAP32[$pPage>>2]|0; - $73 = HEAP32[$pCell>>2]|0; - $74 = (_clearCell($72,$73,$szCell)|0); - HEAP32[$rc>>2] = $74; - $75 = HEAP32[$rc>>2]|0; - $76 = ($75|0)!=(0); - if ($76) { - break L9; - } - $77 = HEAP32[$i>>2]|0; - $78 = (($77) + 1)|0; - HEAP32[$i>>2] = $78; - } - $79 = ((($33)) + 4|0); - $80 = HEAP8[$79>>0]|0; - $81 = ($80<<24>>24)!=(0); - if ($81) { - $94 = HEAP32[$4>>2]|0; - $95 = ($94|0)!=(0|0); - if ($95) { - $96 = HEAP32[$pPage>>2]|0; - $97 = ((($96)) + 18|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = HEAP32[$4>>2]|0; - $101 = HEAP32[$100>>2]|0; - $102 = (($101) + ($99))|0; - HEAP32[$100>>2] = $102; - } - } else { - $82 = HEAP32[$1>>2]|0; - $83 = HEAP32[$hdr>>2]|0; - $84 = (($83) + 8)|0; - $85 = HEAP32[$pPage>>2]|0; - $86 = ((($85)) + 56|0); - $87 = HEAP32[$86>>2]|0; - $88 = (($87) + ($84)|0); - $89 = (_sqlite3Get4byte($88)|0); - $90 = HEAP32[$4>>2]|0; - $91 = (_clearDatabasePage($82,$89,1,$90)|0); - HEAP32[$rc>>2] = $91; - $92 = HEAP32[$rc>>2]|0; - $93 = ($92|0)!=(0); - if ($93) { + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 28|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($30|0)<($33|0); + if (!($34)) { break; } + $35 = HEAP32[$1>>2]|0; + $36 = ((($35)) + 32|0); + $37 = HEAP32[$5>>2]|0; + $38 = (($36) + ($37<<2)|0); + $39 = HEAP32[$38>>2]|0; + _fts5ExprNodeZeroPoslist($39); + $40 = HEAP32[$5>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$5>>2] = $41; } - $103 = HEAP32[$3>>2]|0; - $104 = ($103|0)!=(0); - $105 = HEAP32[$pPage>>2]|0; - if ($104) { - _freePage($105,$rc); - break; - } - $106 = ((($105)) + 72|0); - $107 = HEAP32[$106>>2]|0; - $108 = (_sqlite3PagerWrite($107)|0); - HEAP32[$rc>>2] = $108; - $109 = ($108|0)==(0); - if ($109) { - $110 = HEAP32[$pPage>>2]|0; - $111 = HEAP32[$hdr>>2]|0; - $112 = HEAP32[$pPage>>2]|0; - $113 = ((($112)) + 56|0); - $114 = HEAP32[$113>>2]|0; - $115 = (($114) + ($111)|0); - $116 = HEAP8[$115>>0]|0; - $117 = $116&255; - $118 = $117 | 8; - _zeroPage($110,$118); - } + STACKTOP = sp;return; } - } while(0); - $119 = HEAP32[$pPage>>2]|0; - $120 = ((($119)) + 8|0); - HEAP8[$120>>0] = 0; - $121 = HEAP32[$pPage>>2]|0; - _releasePage($121); - $122 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $122; - $123 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($123|0); -} -function _clearCell($pPage,$pCell,$pnSize) { - $pPage = $pPage|0; - $pCell = $pCell|0; - $pnSize = $pnSize|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $iNext = 0, $info = 0, $nOvfl = 0, $ovflPageSize = 0, $ovflPgno = 0, $pBt = 0, $pOvfl = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $pBt = sp + 48|0; - $info = sp; - $ovflPgno = sp + 44|0; - $rc = sp + 40|0; - $nOvfl = sp + 36|0; - $ovflPageSize = sp + 32|0; - $iNext = sp + 28|0; - $pOvfl = sp + 24|0; - HEAP32[$1>>2] = $pPage; - HEAP32[$2>>2] = $pCell; - HEAP32[$3>>2] = $pnSize; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 52|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pBt>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 80|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_viii[$9 & 255]($10,$11,$info); - $12 = ((($info)) + 18|0); - $13 = HEAP16[$12>>1]|0; - $14 = HEAP32[$3>>2]|0; - HEAP16[$14>>1] = $13; - $15 = ((($info)) + 16|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16&65535; - $18 = ((($info)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($17|0)==($19|0); - if ($20) { - HEAP32[$0>>2] = 0; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); - } - $21 = HEAP32[$2>>2]|0; - $22 = ((($info)) + 18|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23&65535; - $25 = (($21) + ($24)|0); - $26 = ((($25)) + -1|0); - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 56|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 20|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32&65535; - $34 = (($29) + ($33)|0); - $35 = ($26>>>0)>($34>>>0); - if ($35) { - $36 = (_sqlite3CorruptError(64249)|0); - HEAP32[$0>>2] = $36; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); } - $37 = HEAP32[$2>>2]|0; - $38 = ((($info)) + 18|0); - $39 = HEAP16[$38>>1]|0; - $40 = $39&65535; - $41 = (($37) + ($40)|0); - $42 = ((($41)) + -4|0); - $43 = (_sqlite3Get4byte($42)|0); - HEAP32[$ovflPgno>>2] = $43; - $44 = HEAP32[$pBt>>2]|0; - $45 = ((($44)) + 36|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) - 4)|0; - HEAP32[$ovflPageSize>>2] = $47; - $48 = ((($info)) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = ((($info)) + 16|0); - $51 = HEAP16[$50>>1]|0; - $52 = $51&65535; - $53 = (($49) - ($52))|0; - $54 = HEAP32[$ovflPageSize>>2]|0; - $55 = (($53) + ($54))|0; - $56 = (($55) - 1)|0; - $57 = HEAP32[$ovflPageSize>>2]|0; - $58 = (($56>>>0) / ($57>>>0))&-1; - HEAP32[$nOvfl>>2] = $58; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$2>>2] = $14; + HEAP32[$3>>2] = 0; while(1) { - $59 = HEAP32[$nOvfl>>2]|0; - $60 = (($59) + -1)|0; - HEAP32[$nOvfl>>2] = $60; - $61 = ($59|0)!=(0); - if (!($61)) { - label = 23; - break; - } - HEAP32[$iNext>>2] = 0; - HEAP32[$pOvfl>>2] = 0; - $62 = HEAP32[$ovflPgno>>2]|0; - $63 = ($62>>>0)<(2); - if ($63) { - label = 9; - break; - } - $64 = HEAP32[$ovflPgno>>2]|0; - $65 = HEAP32[$pBt>>2]|0; - $66 = (_btreePagecount($65)|0); - $67 = ($64>>>0)>($66>>>0); - if ($67) { - label = 9; - break; - } - $69 = HEAP32[$nOvfl>>2]|0; - $70 = ($69|0)!=(0); - if ($70) { - $71 = HEAP32[$pBt>>2]|0; - $72 = HEAP32[$ovflPgno>>2]|0; - $73 = (_getOverflowPage($71,$72,$pOvfl,$iNext)|0); - HEAP32[$rc>>2] = $73; - $74 = HEAP32[$rc>>2]|0; - $75 = ($74|0)!=(0); - if ($75) { - label = 12; - break; - } - } - $77 = HEAP32[$pOvfl>>2]|0; - $78 = ($77|0)!=(0|0); - if ($78) { - label = 15; - } else { - $79 = HEAP32[$pBt>>2]|0; - $80 = HEAP32[$ovflPgno>>2]|0; - $81 = (_btreePageLookup($79,$80)|0); - HEAP32[$pOvfl>>2] = $81; - $82 = ($81|0)!=(0|0); - if ($82) { - label = 15; - } else { - label = 17; - } - } - if ((label|0) == 15) { - label = 0; - $83 = HEAP32[$pOvfl>>2]|0; - $84 = ((($83)) + 72|0); - $85 = HEAP32[$84>>2]|0; - $86 = (_sqlite3PagerPageRefcount($85)|0); - $87 = ($86|0)!=(1); - if ($87) { - $88 = (_sqlite3CorruptError(64285)|0); - HEAP32[$rc>>2] = $88; - } else { - label = 17; - } - } - if ((label|0) == 17) { - label = 0; - $89 = HEAP32[$pBt>>2]|0; - $90 = HEAP32[$pOvfl>>2]|0; - $91 = HEAP32[$ovflPgno>>2]|0; - $92 = (_freePage2($89,$90,$91)|0); - HEAP32[$rc>>2] = $92; - } - $93 = HEAP32[$pOvfl>>2]|0; - $94 = ($93|0)!=(0|0); - if ($94) { - $95 = HEAP32[$pOvfl>>2]|0; - $96 = ((($95)) + 72|0); - $97 = HEAP32[$96>>2]|0; - _sqlite3PagerUnref($97); - } - $98 = HEAP32[$rc>>2]|0; - $99 = ($98|0)!=(0); - if ($99) { - label = 21; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)<($18|0); + if (!($19)) { break; } - $101 = HEAP32[$iNext>>2]|0; - HEAP32[$ovflPgno>>2] = $101; - } - if ((label|0) == 9) { - $68 = (_sqlite3CorruptError(64265)|0); - HEAP32[$0>>2] = $68; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); - } - else if ((label|0) == 12) { - $76 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $76; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); - } - else if ((label|0) == 21) { - $100 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $100; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); - } - else if ((label|0) == 23) { - HEAP32[$0>>2] = 0; - $102 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($102|0); - } - return (0)|0; -} -function _freePage($pPage,$pRC) { - $pPage = $pPage|0; - $pRC = $pRC|0; - var $0 = 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, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $pRC; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - STACKTOP = sp;return; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$3>>2]|0; + $23 = (($21) + ($22<<2)|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$4>>2] = $24; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 4|0); + $27 = ((($26)) + 4|0); + HEAP32[$27>>2] = 0; + $28 = HEAP32[$3>>2]|0; + $29 = (($28) + 1)|0; + HEAP32[$3>>2] = $29; } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 52|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 84|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_freePage2($7,$8,$11)|0); - $13 = HEAP32[$1>>2]|0; - HEAP32[$13>>2] = $12; STACKTOP = sp;return; } -function _zeroPage($pPage,$flags) { - $pPage = $pPage|0; - $flags = $flags|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $data = 0, $first = 0; - var $hdr = 0, $pBt = 0, label = 0, sp = 0; +function _fts5RowidCmp($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $data = sp + 4|0; - $pBt = sp; - $hdr = sp + 18|0; - $first = sp + 16|0; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $flags; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 56|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$data>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 52|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pBt>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 5|0); - $10 = HEAP8[$9>>0]|0; - HEAP8[$hdr>>0] = $10; - $11 = HEAP32[$pBt>>2]|0; - $12 = ((($11)) + 22|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & 4; - $16 = ($15|0)!=(0); - if ($16) { - $17 = HEAP8[$hdr>>0]|0; - $18 = $17&255; - $19 = HEAP32[$data>>2]|0; - $20 = (($19) + ($18)|0); - $21 = HEAP32[$pBt>>2]|0; - $22 = ((($21)) + 36|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP8[$hdr>>0]|0; - $25 = $24&255; - $26 = (($23) - ($25))|0; - _memset(($20|0),0,($26|0))|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$6>>2] = $0; + $9 = $7; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + $13 = $8; + $14 = $13; + HEAP32[$14>>2] = $3; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $4; + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + $21 = $7; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = $8; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + if ($20) { + $33 = ($26|0)<($32|0); + $34 = ($23>>>0)<($29>>>0); + $35 = ($26|0)==($32|0); + $36 = $35 & $34; + $37 = $33 | $36; + if ($37) { + HEAP32[$5>>2] = -1; + $79 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($79|0); + } else { + $38 = $7; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = $8; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = ($43|0)>($49|0); + $51 = ($40>>>0)>($46>>>0); + $52 = ($43|0)==($49|0); + $53 = $52 & $51; + $54 = $50 | $53; + $55 = $54&1; + HEAP32[$5>>2] = $55; + $79 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($79|0); + } + } else { + $56 = ($26|0)>($32|0); + $57 = ($23>>>0)>($29>>>0); + $58 = ($26|0)==($32|0); + $59 = $58 & $57; + $60 = $56 | $59; + if ($60) { + HEAP32[$5>>2] = -1; + $79 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($79|0); + } else { + $61 = $7; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $8; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = ($66|0)<($72|0); + $74 = ($63>>>0)<($69>>>0); + $75 = ($66|0)==($72|0); + $76 = $75 & $74; + $77 = $73 | $76; + $78 = $77&1; + HEAP32[$5>>2] = $78; + $79 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($79|0); + } } - $27 = HEAP32[$1>>2]|0; - $28 = $27&255; - $29 = HEAP8[$hdr>>0]|0; - $30 = $29&255; - $31 = HEAP32[$data>>2]|0; - $32 = (($31) + ($30)|0); - HEAP8[$32>>0] = $28; - $33 = HEAP8[$hdr>>0]|0; - $34 = $33&255; - $35 = HEAP32[$1>>2]|0; - $36 = $35 & 8; - $37 = ($36|0)==(0); - $38 = $37 ? 12 : 8; - $39 = (($34) + ($38))|0; - $40 = $39&65535; - HEAP16[$first>>1] = $40; - $41 = HEAP8[$hdr>>0]|0; - $42 = $41&255; - $43 = (($42) + 1)|0; - $44 = HEAP32[$data>>2]|0; - $45 = (($44) + ($43)|0); - ;HEAP8[$45>>0]=0|0;HEAP8[$45+1>>0]=0|0;HEAP8[$45+2>>0]=0|0;HEAP8[$45+3>>0]=0|0; - $46 = HEAP8[$hdr>>0]|0; - $47 = $46&255; - $48 = (($47) + 7)|0; - $49 = HEAP32[$data>>2]|0; - $50 = (($49) + ($48)|0); - HEAP8[$50>>0] = 0; - $51 = HEAP32[$pBt>>2]|0; - $52 = ((($51)) + 36|0); - $53 = HEAP32[$52>>2]|0; - $54 = $53 >>> 8; - $55 = $54&255; - $56 = HEAP8[$hdr>>0]|0; - $57 = $56&255; - $58 = (($57) + 5)|0; - $59 = HEAP32[$data>>2]|0; - $60 = (($59) + ($58)|0); - HEAP8[$60>>0] = $55; - $61 = HEAP32[$pBt>>2]|0; - $62 = ((($61)) + 36|0); - $63 = HEAP32[$62>>2]|0; - $64 = $63&255; - $65 = HEAP8[$hdr>>0]|0; - $66 = $65&255; - $67 = (($66) + 5)|0; - $68 = HEAP32[$data>>2]|0; - $69 = (($68) + ($67)|0); - $70 = ((($69)) + 1|0); - HEAP8[$70>>0] = $64; - $71 = HEAP32[$pBt>>2]|0; - $72 = ((($71)) + 36|0); - $73 = HEAP32[$72>>2]|0; - $74 = HEAP16[$first>>1]|0; - $75 = $74&65535; - $76 = (($73) - ($75))|0; - $77 = $76&65535; - $78 = HEAP32[$0>>2]|0; - $79 = ((($78)) + 16|0); - HEAP16[$79>>1] = $77; - $80 = HEAP32[$0>>2]|0; - $81 = HEAP32[$1>>2]|0; - (_decodeFlags($80,$81)|0); - $82 = HEAP16[$first>>1]|0; - $83 = HEAP32[$0>>2]|0; - $84 = ((($83)) + 14|0); - HEAP16[$84>>1] = $82; - $85 = HEAP32[$pBt>>2]|0; - $86 = ((($85)) + 36|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$data>>2]|0; - $89 = (($88) + ($87)|0); - $90 = HEAP32[$0>>2]|0; - $91 = ((($90)) + 60|0); - HEAP32[$91>>2] = $89; - $92 = HEAP16[$first>>1]|0; - $93 = $92&65535; - $94 = HEAP32[$data>>2]|0; - $95 = (($94) + ($93)|0); - $96 = HEAP32[$0>>2]|0; - $97 = ((($96)) + 64|0); - HEAP32[$97>>2] = $95; - $98 = HEAP32[$0>>2]|0; - $99 = ((($98)) + 6|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100&255; - $102 = HEAP32[$data>>2]|0; - $103 = (($102) + ($101)|0); - $104 = HEAP32[$0>>2]|0; - $105 = ((($104)) + 68|0); - HEAP32[$105>>2] = $103; - $106 = HEAP32[$0>>2]|0; - $107 = ((($106)) + 1|0); - HEAP8[$107>>0] = 0; - $108 = HEAP32[$pBt>>2]|0; - $109 = ((($108)) + 32|0); - $110 = HEAP32[$109>>2]|0; - $111 = (($110) - 1)|0; - $112 = $111&65535; - $113 = HEAP32[$0>>2]|0; - $114 = ((($113)) + 20|0); - HEAP16[$114>>1] = $112; - $115 = HEAP32[$0>>2]|0; - $116 = ((($115)) + 18|0); - HEAP16[$116>>1] = 0; - $117 = HEAP32[$0>>2]|0; - HEAP8[$117>>0] = 1; - STACKTOP = sp;return; + return (0)|0; } -function _freePage2($pBt,$pMemPage,$iPage) { - $pBt = $pBt|0; - $pMemPage = $pMemPage|0; - $iPage = $iPage|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $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, $iTrunk = 0, $nFree = 0, $nLeaf = 0, $pPage = 0, $pPage1 = 0, $pTrunk = 0, $rc = 0, label = 0, sp = 0; +function _fts5ExprNodeTest_AND($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0; + var $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, $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $pTrunk = sp + 24|0; - $iTrunk = sp + 20|0; - $pPage1 = sp + 16|0; - $pPage = sp + 12|0; - $rc = sp + 8|0; - $nFree = sp + 4|0; - $nLeaf = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$2>>2] = $pMemPage; - HEAP32[$3>>2] = $iPage; - HEAP32[$pTrunk>>2] = 0; - HEAP32[$iTrunk>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pPage1>>2] = $6; - $7 = HEAP32[$3>>2]|0; - $8 = ($7>>>0)<(2); - if ($8) { - $9 = (_sqlite3CorruptError(64103)|0); - HEAP32[$0>>2] = $9; - $166 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($166|0); - } - $10 = HEAP32[$2>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$2>>2]|0; - HEAP32[$pPage>>2] = $12; - $13 = HEAP32[$pPage>>2]|0; - $14 = ((($13)) + 72|0); - $15 = HEAP32[$14>>2]|0; - _sqlite3PagerRef($15); - } else { - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = (_btreePageLookup($16,$17)|0); - HEAP32[$pPage>>2] = $18; - } - $19 = HEAP32[$pPage1>>2]|0; - $20 = ((($19)) + 72|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3PagerWrite($21)|0); - HEAP32[$rc>>2] = $22; - $23 = HEAP32[$rc>>2]|0; - $24 = ($23|0)!=(0); - do { - if (!($24)) { - $25 = HEAP32[$pPage1>>2]|0; - $26 = ((($25)) + 56|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($27)) + 36|0); - $29 = (_sqlite3Get4byte($28)|0); - HEAP32[$nFree>>2] = $29; - $30 = HEAP32[$pPage1>>2]|0; - $31 = ((($30)) + 56|0); - $32 = HEAP32[$31>>2]|0; - $33 = ((($32)) + 36|0); - $34 = HEAP32[$nFree>>2]|0; - $35 = (($34) + 1)|0; - _sqlite3Put4byte($33,$35); - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 22|0); - $38 = HEAP16[$37>>1]|0; - $39 = $38&65535; - $40 = $39 & 4; - $41 = ($40|0)!=(0); - if ($41) { - $42 = HEAP32[$pPage>>2]|0; - $43 = ($42|0)!=(0|0); - if (!($43)) { - $44 = HEAP32[$1>>2]|0; - $45 = HEAP32[$3>>2]|0; - $46 = (_btreeGetPage($44,$45,$pPage,0)|0); - HEAP32[$rc>>2] = $46; - $47 = ($46|0)!=(0); - if ($47) { - break; - } - } - $48 = HEAP32[$pPage>>2]|0; - $49 = ((($48)) + 72|0); - $50 = HEAP32[$49>>2]|0; - $51 = (_sqlite3PagerWrite($50)|0); - HEAP32[$rc>>2] = $51; - $52 = ($51|0)!=(0); - if ($52) { - break; - } - $53 = HEAP32[$pPage>>2]|0; - $54 = ((($53)) + 56|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$pPage>>2]|0; - $57 = ((($56)) + 52|0); - $58 = HEAP32[$57>>2]|0; - $59 = ((($58)) + 32|0); - $60 = HEAP32[$59>>2]|0; - _memset(($55|0),0,($60|0))|0; - } - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 17|0); - $63 = HEAP8[$62>>0]|0; - $64 = ($63<<24>>24)!=(0); - if ($64) { - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$3>>2]|0; - _ptrmapPut($65,$66,2,0,$rc); - $67 = HEAP32[$rc>>2]|0; - $68 = ($67|0)!=(0); - if ($68) { - break; - } + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 16|0); + $13 = $12; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = $6; + $20 = $19; + HEAP32[$20>>2] = $15; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + HEAP32[$7>>2] = 0; + L1: while(1) { + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 8|0); + HEAP32[$24>>2] = 0; + HEAP32[$8>>2] = 1; + HEAP32[$5>>2] = 0; + while(1) { + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 28|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($25|0)<($28|0); + if (!($29)) { + break; } - $69 = HEAP32[$nFree>>2]|0; - $70 = ($69|0)!=(0); - if ($70) { - $71 = HEAP32[$pPage1>>2]|0; - $72 = ((($71)) + 56|0); - $73 = HEAP32[$72>>2]|0; - $74 = ((($73)) + 32|0); - $75 = (_sqlite3Get4byte($74)|0); - HEAP32[$iTrunk>>2] = $75; - $76 = HEAP32[$1>>2]|0; - $77 = HEAP32[$iTrunk>>2]|0; - $78 = (_btreeGetPage($76,$77,$pTrunk,0)|0); - HEAP32[$rc>>2] = $78; - $79 = HEAP32[$rc>>2]|0; - $80 = ($79|0)!=(0); - if ($80) { - break; - } - $81 = HEAP32[$pTrunk>>2]|0; - $82 = ((($81)) + 56|0); - $83 = HEAP32[$82>>2]|0; - $84 = ((($83)) + 4|0); - $85 = (_sqlite3Get4byte($84)|0); - HEAP32[$nLeaf>>2] = $85; - $86 = HEAP32[$nLeaf>>2]|0; - $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 36|0); - $89 = HEAP32[$88>>2]|0; - $90 = (($89>>>0) / 4)&-1; - $91 = (($90) - 2)|0; - $92 = ($86>>>0)>($91>>>0); - if ($92) { - $93 = (_sqlite3CorruptError(64156)|0); - HEAP32[$rc>>2] = $93; - break; - } - $94 = HEAP32[$nLeaf>>2]|0; - $95 = HEAP32[$1>>2]|0; - $96 = ((($95)) + 36|0); - $97 = HEAP32[$96>>2]|0; - $98 = (($97>>>0) / 4)&-1; - $99 = (($98) - 8)|0; - $100 = ($94>>>0)<($99>>>0); - if ($100) { - $101 = HEAP32[$pTrunk>>2]|0; - $102 = ((($101)) + 72|0); - $103 = HEAP32[$102>>2]|0; - $104 = (_sqlite3PagerWrite($103)|0); - HEAP32[$rc>>2] = $104; - $105 = HEAP32[$rc>>2]|0; - $106 = ($105|0)==(0); - if (!($106)) { - break; - } - $107 = HEAP32[$pTrunk>>2]|0; - $108 = ((($107)) + 56|0); - $109 = HEAP32[$108>>2]|0; - $110 = ((($109)) + 4|0); - $111 = HEAP32[$nLeaf>>2]|0; - $112 = (($111) + 1)|0; - _sqlite3Put4byte($110,$112); - $113 = HEAP32[$nLeaf>>2]|0; - $114 = $113<<2; - $115 = (8 + ($114))|0; - $116 = HEAP32[$pTrunk>>2]|0; - $117 = ((($116)) + 56|0); - $118 = HEAP32[$117>>2]|0; - $119 = (($118) + ($115)|0); - $120 = HEAP32[$3>>2]|0; - _sqlite3Put4byte($119,$120); - $121 = HEAP32[$pPage>>2]|0; - $122 = ($121|0)!=(0|0); - if ($122) { - $123 = HEAP32[$1>>2]|0; - $124 = ((($123)) + 22|0); - $125 = HEAP16[$124>>1]|0; - $126 = $125&65535; - $127 = $126 & 4; - $128 = ($127|0)==(0); - if ($128) { - $129 = HEAP32[$pPage>>2]|0; - $130 = ((($129)) + 72|0); - $131 = HEAP32[$130>>2]|0; - _sqlite3PagerDontWrite($131); - } - } - $132 = HEAP32[$1>>2]|0; - $133 = HEAP32[$3>>2]|0; - $134 = (_btreeSetHasContent($132,$133)|0); - HEAP32[$rc>>2] = $134; - break; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 32|0); + $32 = HEAP32[$5>>2]|0; + $33 = (($31) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$9>>2] = $34; + $35 = HEAP32[$3>>2]|0; + $36 = $6; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$9>>2]|0; + $43 = ((($42)) + 16|0); + $44 = $43; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (_fts5RowidCmp($35,$38,$41,$46,$49)|0); + HEAP32[$10>>2] = $50; + $51 = HEAP32[$10>>2]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[$9>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$9>>2]|0; + $58 = $6; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (FUNCTION_TABLE_iiiiii[$55 & 255]($56,$57,1,$60,$63)|0); + HEAP32[$7>>2] = $64; + $65 = HEAP32[$7>>2]|0; + $66 = ($65|0)!=(0); + if ($66) { + label = 6; + break L1; } } - $135 = HEAP32[$pPage>>2]|0; - $136 = ($135|0)==(0|0); - if ($136) { - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$3>>2]|0; - $139 = (_btreeGetPage($137,$138,$pPage,0)|0); - HEAP32[$rc>>2] = $139; - $140 = (0)!=($139|0); - if ($140) { - break; - } + $68 = HEAP32[$9>>2]|0; + $69 = ((($68)) + 4|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)!=(0); + if ($71) { + label = 8; + break; } - $141 = HEAP32[$pPage>>2]|0; - $142 = ((($141)) + 72|0); - $143 = HEAP32[$142>>2]|0; - $144 = (_sqlite3PagerWrite($143)|0); - HEAP32[$rc>>2] = $144; - $145 = HEAP32[$rc>>2]|0; - $146 = ($145|0)!=(0); - if (!($146)) { - $147 = HEAP32[$pPage>>2]|0; - $148 = ((($147)) + 56|0); - $149 = HEAP32[$148>>2]|0; - $150 = HEAP32[$iTrunk>>2]|0; - _sqlite3Put4byte($149,$150); - $151 = HEAP32[$pPage>>2]|0; - $152 = ((($151)) + 56|0); - $153 = HEAP32[$152>>2]|0; - $154 = ((($153)) + 4|0); - _sqlite3Put4byte($154,0); - $155 = HEAP32[$pPage1>>2]|0; - $156 = ((($155)) + 56|0); - $157 = HEAP32[$156>>2]|0; - $158 = ((($157)) + 32|0); - $159 = HEAP32[$3>>2]|0; - _sqlite3Put4byte($158,$159); + $73 = $6; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$9>>2]|0; + $80 = ((($79)) + 16|0); + $81 = $80; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = ($75|0)!=($83|0); + $88 = ($78|0)!=($86|0); + $89 = $87 | $88; + if ($89) { + HEAP32[$8>>2] = 0; + $90 = HEAP32[$9>>2]|0; + $91 = ((($90)) + 16|0); + $92 = $91; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (($92) + 4)|0; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = $6; + $99 = $98; + HEAP32[$99>>2] = $94; + $100 = (($98) + 4)|0; + $101 = $100; + HEAP32[$101>>2] = $97; } + $102 = HEAP32[$9>>2]|0; + $103 = ((($102)) + 8|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)!=(0); + if ($105) { + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 8|0); + HEAP32[$107>>2] = 1; + } + $108 = HEAP32[$5>>2]|0; + $109 = (($108) + 1)|0; + HEAP32[$5>>2] = $109; + } + if ((label|0) == 8) { + label = 0; + $72 = HEAP32[$4>>2]|0; + _fts5ExprSetEof($72); + HEAP32[$8>>2] = 1; + } + $110 = HEAP32[$8>>2]|0; + $111 = ($110|0)==(0); + if (!($111)) { + break; } - } while(0); - $160 = HEAP32[$pPage>>2]|0; - $161 = ($160|0)!=(0|0); - if ($161) { - $162 = HEAP32[$pPage>>2]|0; - HEAP8[$162>>0] = 0; } - $163 = HEAP32[$pPage>>2]|0; - _releasePage($163); - $164 = HEAP32[$pTrunk>>2]|0; - _releasePage($164); - $165 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $165; - $166 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($166|0); -} -function _sqlite3PagerRef($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - _sqlite3PcacheRef($1); - STACKTOP = sp;return; -} -function _btreePageLookup($pBt,$pgno) { - $pBt = $pBt|0; - $pgno = $pgno|0; - var $0 = 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, $pDbPage = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pDbPage = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$2>>2] = $pgno; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3PagerLookup($4,$5)|0); - HEAP32[$pDbPage>>2] = $6; - $7 = HEAP32[$pDbPage>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$pDbPage>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = (_btreePageFromDbPage($9,$10,$11)|0); - HEAP32[$0>>2] = $12; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); - } else { - HEAP32[$0>>2] = 0; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); + if ((label|0) == 6) { + $67 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $67; + $134 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($134|0); } - return (0)|0; + $112 = HEAP32[$4>>2]|0; + $113 = ((($112)) + 8|0); + $114 = HEAP32[$113>>2]|0; + $115 = ($114|0)!=(0); + if ($115) { + $116 = HEAP32[$4>>2]|0; + $117 = HEAP32[$3>>2]|0; + $118 = ((($117)) + 8|0); + $119 = HEAP32[$118>>2]|0; + $120 = ($116|0)!=($119|0); + if ($120) { + $121 = HEAP32[$4>>2]|0; + _fts5ExprNodeZeroPoslist($121); + } + } + $122 = $6; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = (($122) + 4)|0; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$4>>2]|0; + $129 = ((($128)) + 16|0); + $130 = $129; + $131 = $130; + HEAP32[$131>>2] = $124; + $132 = (($130) + 4)|0; + $133 = $132; + HEAP32[$133>>2] = $127; + HEAP32[$2>>2] = 0; + $134 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($134|0); } -function _sqlite3PagerDontWrite($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPager = 0, label = 0, sp = 0; +function _fts5ExprSetEof($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, $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 + 4|0; - $pPager = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pPager>>2] = $3; - $4 = HEAP32[$pPager>>2]|0; - $5 = ((($4)) + 13|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if ($7) { - STACKTOP = sp;return; - } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 24|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11 & 2; - $13 = ($12|0)!=(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = HEAP32[$pPager>>2]|0; - $15 = ((($14)) + 104|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - STACKTOP = sp;return; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 4|0); + HEAP32[$4>>2] = 1; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 8|0); + HEAP32[$6>>2] = 0; + HEAP32[$2>>2] = 0; + while(1) { + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 28|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($7|0)<($10|0); + if (!($11)) { + break; + } + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 32|0); + $14 = HEAP32[$2>>2]|0; + $15 = (($13) + ($14<<2)|0); + $16 = HEAP32[$15>>2]|0; + _fts5ExprSetEof($16); + $17 = HEAP32[$2>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$2>>2] = $18; } - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 24|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - $22 = $21 | 16; - $23 = $22&65535; - HEAP16[$19>>1] = $23; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 24|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26&65535; - $28 = $27 & -5; - $29 = $28&65535; - HEAP16[$25>>1] = $29; STACKTOP = sp;return; } -function _btreeSetHasContent($pBt,$pgno) { - $pBt = $pBt|0; - $pgno = $pgno|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _fts5ExprNodeTest_OR($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pBt; - HEAP32[$1>>2] = $pgno; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 60|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 44|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3BitvecCreate($8)|0); - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 60|0); - HEAP32[$11>>2] = $9; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 60|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 32|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + HEAP32[$5>>2] = 1; + while(1) { + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 28|0); $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)!=(0|0); + $15 = ($11|0)<($14|0); if (!($15)) { - HEAP32[$rc>>2] = 7; + break; } + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 32|0); + $18 = HEAP32[$5>>2]|0; + $19 = (($17) + ($18<<2)|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$6>>2] = $20; + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$6>>2]|0; + $24 = (_fts5NodeCompare($21,$22,$23)|0); + HEAP32[$7>>2] = $24; + $25 = HEAP32[$7>>2]|0; + $26 = ($25|0)>(0); + if ($26) { + label = 6; + } else { + $27 = HEAP32[$7>>2]|0; + $28 = ($27|0)==(0); + if ($28) { + $29 = HEAP32[$6>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + label = 6; + } + } + } + if ((label|0) == 6) { + label = 0; + $33 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $33; + } + $34 = HEAP32[$5>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$5>>2] = $35; } - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); - } - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 60|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3BitvecSize($21)|0); - $23 = ($18>>>0)<=($22>>>0); - if (!($23)) { - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); - } - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 60|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = (_sqlite3BitvecSet($26,$27)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); -} -function _sqlite3PcacheRef($p) { - $p = $p|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; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 26|0); - $3 = HEAP16[$2>>1]|0; - $4 = (($3) + 1)<<16>>16; - HEAP16[$2>>1] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 1)|0; - HEAP32[$8>>2] = $10; + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 16|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 16|0); + $46 = $45; + $47 = $46; + HEAP32[$47>>2] = $40; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $43; + $50 = HEAP32[$4>>2]|0; + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 4|0); + HEAP32[$54>>2] = $52; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$3>>2]|0; + $59 = ((($58)) + 8|0); + HEAP32[$59>>2] = $57; STACKTOP = sp;return; } -function _btreeDropTable($p,$iTable,$piMoved) { - $p = $p|0; - $iTable = $iTable|0; - $piMoved = $piMoved|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $maxRootPgno = 0, $pBt = 0, $pMove = 0, $pPage = 0, $rc = 0, label = 0, sp = 0; +function _fts5ExprSynonymRowid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0; + var $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $rc = sp + 16|0; - $pPage = sp + 12|0; - $pBt = sp + 8|0; - $maxRootPgno = sp + 4|0; - $pMove = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iTable; - HEAP32[$3>>2] = $piMoved; - HEAP32[$pPage>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pBt>>2] = $6; - $7 = HEAP32[$pBt>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - HEAP32[$0>>2] = 262; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } - $11 = HEAP32[$2>>2]|0; - $12 = ($11>>>0)<(2); - if ($12) { - $13 = (_sqlite3CorruptError(66814)|0); - HEAP32[$0>>2] = $13; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } - $14 = HEAP32[$pBt>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = (_btreeGetPage($14,$15,$pPage,0)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)!=(0); - if ($18) { - $19 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $19; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = (_sqlite3BtreeClearTable($20,$21,0)|0); - HEAP32[$rc>>2] = $22; - $23 = HEAP32[$rc>>2]|0; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$pPage>>2]|0; - _releasePage($25); - $26 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $26; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } - $27 = HEAP32[$3>>2]|0; - HEAP32[$27>>2] = 0; - $28 = HEAP32[$pBt>>2]|0; - $29 = ((($28)) + 17|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)!=(0); - if ($31) { - $32 = HEAP32[$1>>2]|0; - _sqlite3BtreeGetMeta($32,4,$maxRootPgno); - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$maxRootPgno>>2]|0; - $35 = ($33|0)==($34|0); - $36 = HEAP32[$pPage>>2]|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = $6; + $11 = $10; + HEAP32[$11>>2] = 0; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = 0; + HEAP32[$7>>2] = 0; + $14 = HEAP32[$3>>2]|0; + HEAP32[$8>>2] = $14; + while(1) { + $15 = HEAP32[$8>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { + break; + } + $17 = HEAP32[$8>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = (0)==($22|0); do { - if ($35) { - _freePage($36,$rc); - $37 = HEAP32[$pPage>>2]|0; - _releasePage($37); - $38 = HEAP32[$rc>>2]|0; - $39 = ($38|0)!=(0); - if ($39) { - $40 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $40; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } - } else { - _releasePage($36); - $41 = HEAP32[$pBt>>2]|0; - $42 = HEAP32[$maxRootPgno>>2]|0; - $43 = (_btreeGetPage($41,$42,$pMove,0)|0); - HEAP32[$rc>>2] = $43; - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)!=(0); - if ($45) { - $46 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $46; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } - $47 = HEAP32[$pBt>>2]|0; - $48 = HEAP32[$pMove>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = (_relocatePage($47,$48,1,0,$49,0)|0); - HEAP32[$rc>>2] = $50; - $51 = HEAP32[$pMove>>2]|0; - _releasePage($51); - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)!=(0); - if ($53) { - $54 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $54; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } - HEAP32[$pMove>>2] = 0; - $55 = HEAP32[$pBt>>2]|0; - $56 = HEAP32[$maxRootPgno>>2]|0; - $57 = (_btreeGetPage($55,$56,$pMove,0)|0); - HEAP32[$rc>>2] = $57; - $58 = HEAP32[$pMove>>2]|0; - _freePage($58,$rc); - $59 = HEAP32[$pMove>>2]|0; - _releasePage($59); - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)!=(0); - if (!($61)) { - $63 = HEAP32[$maxRootPgno>>2]|0; - $64 = HEAP32[$3>>2]|0; - HEAP32[$64>>2] = $63; - break; + if ($23) { + $24 = HEAP32[$8>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $9; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)==(0); + if (!($38)) { + $39 = HEAP32[$4>>2]|0; + $40 = $9; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $6; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = ($45|0)<($51|0); + $53 = ($42>>>0)<($48>>>0); + $54 = ($45|0)==($51|0); + $55 = $54 & $53; + $56 = $52 | $55; + $57 = $56&1; + $58 = ($39|0)!=($57|0); + if (!($58)) { + break; + } } - $62 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $62; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); + $59 = $9; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = $6; + $66 = $65; + HEAP32[$66>>2] = $61; + $67 = (($65) + 4)|0; + $68 = $67; + HEAP32[$68>>2] = $64; + HEAP32[$7>>2] = 1; } } while(0); - $65 = HEAP32[$maxRootPgno>>2]|0; - $66 = (($65) + -1)|0; - HEAP32[$maxRootPgno>>2] = $66; - while(1) { - $67 = HEAP32[$maxRootPgno>>2]|0; - $68 = HEAP32[1536>>2]|0; - $69 = HEAP32[$pBt>>2]|0; - $70 = ((($69)) + 32|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($68>>>0) / ($71>>>0))&-1; - $73 = (($72) + 1)|0; - $74 = ($67|0)==($73|0); - if (!($74)) { - $75 = HEAP32[$pBt>>2]|0; - $76 = HEAP32[$maxRootPgno>>2]|0; - $77 = (_ptrmapPageno($75,$76)|0); - $78 = HEAP32[$maxRootPgno>>2]|0; - $79 = ($77|0)==($78|0); - if (!($79)) { - break; - } - } - $80 = HEAP32[$maxRootPgno>>2]|0; - $81 = (($80) + -1)|0; - HEAP32[$maxRootPgno>>2] = $81; - } - $82 = HEAP32[$1>>2]|0; - $83 = HEAP32[$maxRootPgno>>2]|0; - $84 = (_sqlite3BtreeUpdateMeta($82,4,$83)|0); - HEAP32[$rc>>2] = $84; - } else { - $85 = HEAP32[$pPage>>2]|0; - _freePage($85,$rc); - $86 = HEAP32[$pPage>>2]|0; - _releasePage($86); - } - $87 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $87; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); -} -function _vdbeSorterFlushPMA($pSorter) { - $pSorter = $pSorter|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pSorter; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 56|0); - HEAP8[$2>>0] = 1; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 64|0); - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 36|0); - $7 = (_vdbeSorterListToPMA($4,$6)|0); - STACKTOP = sp;return ($7|0); -} -function _vdbeSorterListToPMA($pTask,$pList) { - $pTask = $pTask|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $db = 0, $p = 0, $pNext = 0, $rc = 0, $writer = 0; - var dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $db = sp + 52|0; - $rc = sp + 48|0; - $writer = sp; - $p = sp + 44|0; - $pNext = sp + 40|0; - HEAP32[$0>>2] = $pTask; - HEAP32[$1>>2] = $pList; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 24|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - HEAP32[$rc>>2] = 0; - dest=$writer; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 40|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - $11 = HEAP32[$db>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 40|0); - $14 = (_vdbeSorterOpenTempFile($11,0,0,$13)|0); - HEAP32[$rc>>2] = $14; - } - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - if ($16) { - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = (_vdbeSorterSort($17,$18)|0); - HEAP32[$rc>>2] = $19; - } - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $74 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($74|0); + $69 = HEAP32[$8>>2]|0; + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$8>>2] = $71; } - HEAP32[$pNext>>2] = 0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 40|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 40|0); - $32 = ((($31)) + 8|0); - $33 = $32; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (($33) + 4)|0; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - _vdbePmaWriterInit($24,$writer,$29,$35,$38); - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 28|0); - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$40>>2] = $42; - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 8|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)<(0); - $47 = $46 << 31 >> 31; - _vdbePmaWriteVarint($writer,$45,$47); - $48 = HEAP32[$1>>2]|0; - $49 = HEAP32[$48>>2]|0; - HEAP32[$p>>2] = $49; - while(1) { - $50 = HEAP32[$p>>2]|0; - $51 = ($50|0)!=(0|0); - $52 = HEAP32[$p>>2]|0; - if (!($51)) { - break; - } - $53 = ((($52)) + 4|0); - $54 = HEAP32[$53>>2]|0; - HEAP32[$pNext>>2] = $54; - $55 = HEAP32[$p>>2]|0; - $56 = HEAP32[$55>>2]|0; - $57 = ($56|0)<(0); - $58 = $57 << 31 >> 31; - _vdbePmaWriteVarint($writer,$56,$58); - $59 = HEAP32[$p>>2]|0; - $60 = ((($59)) + 8|0); - $61 = HEAP32[$p>>2]|0; - $62 = HEAP32[$61>>2]|0; - _vdbePmaWriteBlob($writer,$60,$62); - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 4|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0|0); - if ($66) { - $67 = HEAP32[$p>>2]|0; - _sqlite3_free($67); - } - $68 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $68; + $72 = HEAP32[$5>>2]|0; + $73 = ($72|0)!=(0|0); + $74 = HEAP32[$7>>2]|0; + $75 = ($74|0)==(0); + $or$cond = $73 & $75; + if (!($or$cond)) { + $77 = $6; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + 4)|0; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + tempRet0 = ($82); + STACKTOP = sp;return ($79|0); } - $69 = HEAP32[$1>>2]|0; - HEAP32[$69>>2] = $52; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 40|0); - $72 = ((($71)) + 8|0); - $73 = (_vdbePmaWriterFinish($writer,$72)|0); - HEAP32[$rc>>2] = $73; - $74 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($74|0); + $76 = HEAP32[$5>>2]|0; + HEAP32[$76>>2] = 1; + $77 = $6; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + 4)|0; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + tempRet0 = ($82); + STACKTOP = sp;return ($79|0); } -function _vdbeSorterOpenTempFile($db,$0,$1,$ppFd) { - $db = $db|0; +function _sqlite3Fts5IterNextFrom($0,$1,$2) { $0 = $0|0; $1 = $1|0; - $ppFd = $ppFd|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $max = 0, $rc = 0, label = 0, sp = 0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 8|0; - $5 = sp + 20|0; - $rc = sp + 16|0; - $max = sp; - HEAP32[$3>>2] = $db; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = $0; $6 = $4; $7 = $6; - HEAP32[$7>>2] = $0; + HEAP32[$7>>2] = $1; $8 = (($6) + 4)|0; $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$5>>2] = $ppFd; - $10 = (_sqlite3FaultSim(202)|0); - $11 = ($10|0)!=(0); - if ($11) { - HEAP32[$2>>2] = 3338; - $25 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($25|0); - } - $12 = HEAP32[$3>>2]|0; + HEAP32[$9>>2] = $2; + $10 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 24|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$5>>2]|0; - $15 = (_sqlite3OsOpenMalloc($13,0,$14,4126,$rc)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - if ($17) { - $18 = $max; - $19 = $18; - HEAP32[$19>>2] = 0; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = 0; - $22 = HEAP32[$5>>2]|0; - $23 = HEAP32[$22>>2]|0; - _sqlite3OsFileControlHint($23,18,$max); - } - $24 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $24; - $25 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($25|0); + $15 = $4; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + _fts5MultiIterNextFrom($13,$14,$17,$20); + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 24|0); + $23 = HEAP32[$22>>2]|0; + $24 = (_fts5IndexReturn($23)|0); + STACKTOP = sp;return ($24|0); } -function _vdbeSorterSort($pTask,$pList) { - $pTask = $pTask|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $aSlot = 0, $i = 0, $p = 0, $pNext = 0; - var $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5IterNext($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $i = sp + 16|0; - $aSlot = sp + 12|0; - $p = sp + 8|0; - $rc = sp + 4|0; - $pNext = sp; - HEAP32[$1>>2] = $pTask; - HEAP32[$2>>2] = $pList; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - $4 = (_vdbeSortAllocUnpacked($3)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $7; - $95 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($95|0); - } + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 24|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$2>>2]|0; + _fts5MultiIterNext($6,$7,0,0,0); $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$p>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_vdbeSorterGetCompare($12)|0); - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 32|0); - HEAP32[$15>>2] = $13; - $16 = (_sqlite3MallocZero(256,0)|0); - HEAP32[$aSlot>>2] = $16; - $17 = HEAP32[$aSlot>>2]|0; - $18 = ($17|0)!=(0|0); - if (!($18)) { - HEAP32[$0>>2] = 7; - $95 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($95|0); + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_fts5IndexReturn($10)|0); + STACKTOP = sp;return ($11|0); +} +function _fts5ExprNodeTest_STRING($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $2 = sp + 64|0; + $3 = sp + 60|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 8|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 24|0; + $14 = sp + 20|0; + $15 = sp; + $16 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 24|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$5>>2] = $19; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$6>>2] = $22; + HEAP32[$7>>2] = 0; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$12>>2] = $25; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 20|0); + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0|0); + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 20|0); + if ($30) { + $33 = HEAP32[$12>>2]|0; + $34 = (_fts5ExprSynonymRowid($32,$33,0)|0); + $35 = tempRet0; + $36 = $8; + $37 = $36; + HEAP32[$37>>2] = $34; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = $35; + } else { + $40 = ((($32)) + 8|0); + $41 = HEAP32[$40>>2]|0; + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $8; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; } - while(1) { - $19 = HEAP32[$p>>2]|0; - $20 = ($19|0)!=(0|0); - if (!($20)) { - break; - } - $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)!=(0|0); - $25 = HEAP32[$p>>2]|0; - do { - if ($24) { - $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($25|0)==($28|0); - if ($29) { - HEAP32[$pNext>>2] = 0; + L4: while(1) { + HEAP32[$11>>2] = 1; + HEAP32[$9>>2] = 0; + while(1) { + $52 = HEAP32[$9>>2]|0; + $53 = HEAP32[$5>>2]|0; + $54 = ((($53)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($52|0)<($55|0); + if (!($56)) { + break; + } + $57 = HEAP32[$5>>2]|0; + $58 = ((($57)) + 12|0); + $59 = HEAP32[$9>>2]|0; + $60 = (($58) + ($59<<2)|0); + $61 = HEAP32[$60>>2]|0; + HEAP32[$13>>2] = $61; + HEAP32[$10>>2] = 0; + while(1) { + $62 = HEAP32[$10>>2]|0; + $63 = HEAP32[$13>>2]|0; + $64 = ((($63)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($62|0)<($65|0); + if (!($66)) { break; + } + $67 = HEAP32[$13>>2]|0; + $68 = ((($67)) + 20|0); + $69 = HEAP32[$10>>2]|0; + $70 = (($68) + ($69<<4)|0); + HEAP32[$14>>2] = $70; + $71 = HEAP32[$14>>2]|0; + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0|0); + if ($74) { + $75 = HEAP32[$14>>2]|0; + $76 = HEAP32[$12>>2]|0; + $77 = (_fts5ExprSynonymRowid($75,$76,0)|0); + $78 = tempRet0; + $79 = $15; + $80 = $79; + HEAP32[$80>>2] = $77; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + $83 = $15; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $8; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = ($85|0)==($91|0); + $96 = ($88|0)==($94|0); + $97 = $95 & $96; + if (!($97)) { + HEAP32[$11>>2] = 0; + $98 = HEAP32[$14>>2]|0; + $99 = HEAP32[$12>>2]|0; + $100 = (_fts5ExprSynonymAdvanceto($98,$99,$8,$7)|0); + $101 = ($100|0)!=(0); + if ($101) { + label = 11; + break L4; + } + } } else { - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + ($32)|0); - HEAP32[$pNext>>2] = $36; - break; + $107 = HEAP32[$13>>2]|0; + $108 = ((($107)) + 20|0); + $109 = HEAP32[$10>>2]|0; + $110 = (($108) + ($109<<4)|0); + $111 = ((($110)) + 8|0); + $112 = HEAP32[$111>>2]|0; + HEAP32[$16>>2] = $112; + $113 = HEAP32[$16>>2]|0; + $114 = $113; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (($114) + 4)|0; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = $8; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = ($116|0)==($122|0); + $127 = ($119|0)==($125|0); + $128 = $126 & $127; + if (!($128)) { + HEAP32[$11>>2] = 0; + $129 = HEAP32[$16>>2]|0; + $130 = HEAP32[$12>>2]|0; + $131 = HEAP32[$4>>2]|0; + $132 = ((($131)) + 4|0); + $133 = (_fts5ExprAdvanceto($129,$130,$8,$7,$132)|0); + $134 = ($133|0)!=(0); + if ($134) { + label = 14; + break L4; + } + } } - } else { - $37 = ((($25)) + 4|0); - $38 = HEAP32[$37>>2]|0; - HEAP32[$pNext>>2] = $38; - } - } while(0); - $39 = HEAP32[$p>>2]|0; - $40 = ((($39)) + 4|0); - HEAP32[$40>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $41 = HEAP32[$i>>2]|0; - $42 = HEAP32[$aSlot>>2]|0; - $43 = (($42) + ($41<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)!=(0|0); - if (!($45)) { - break; + $136 = HEAP32[$10>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[$10>>2] = $137; } - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$p>>2]|0; - $48 = HEAP32[$i>>2]|0; - $49 = HEAP32[$aSlot>>2]|0; - $50 = (($49) + ($48<<2)|0); - $51 = HEAP32[$50>>2]|0; - $52 = (_vdbeSorterMerge($46,$47,$51)|0); - HEAP32[$p>>2] = $52; - $53 = HEAP32[$i>>2]|0; - $54 = HEAP32[$aSlot>>2]|0; - $55 = (($54) + ($53<<2)|0); - HEAP32[$55>>2] = 0; - $56 = HEAP32[$i>>2]|0; - $57 = (($56) + 1)|0; - HEAP32[$i>>2] = $57; + $138 = HEAP32[$9>>2]|0; + $139 = (($138) + 1)|0; + HEAP32[$9>>2] = $139; } - $58 = HEAP32[$p>>2]|0; - $59 = HEAP32[$i>>2]|0; - $60 = HEAP32[$aSlot>>2]|0; - $61 = (($60) + ($59<<2)|0); - HEAP32[$61>>2] = $58; - $62 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $62; - } - HEAP32[$p>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $63 = HEAP32[$i>>2]|0; - $64 = ($63|0)<(64); - if (!($64)) { + $140 = HEAP32[$11>>2]|0; + $141 = ($140|0)==(0); + if (!($141)) { + label = 18; break; } - $65 = HEAP32[$i>>2]|0; - $66 = HEAP32[$aSlot>>2]|0; - $67 = (($66) + ($65<<2)|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($68|0)==(0|0); - if (!($69)) { - $70 = HEAP32[$p>>2]|0; - $71 = ($70|0)!=(0|0); - if ($71) { - $72 = HEAP32[$1>>2]|0; - $73 = HEAP32[$p>>2]|0; - $74 = HEAP32[$i>>2]|0; - $75 = HEAP32[$aSlot>>2]|0; - $76 = (($75) + ($74<<2)|0); - $77 = HEAP32[$76>>2]|0; - $78 = (_vdbeSorterMerge($72,$73,$77)|0); - $83 = $78; - } else { - $79 = HEAP32[$i>>2]|0; - $80 = HEAP32[$aSlot>>2]|0; - $81 = (($80) + ($79<<2)|0); - $82 = HEAP32[$81>>2]|0; - $83 = $82; - } - HEAP32[$p>>2] = $83; - } - $84 = HEAP32[$i>>2]|0; - $85 = (($84) + 1)|0; - HEAP32[$i>>2] = $85; } - $86 = HEAP32[$p>>2]|0; - $87 = HEAP32[$2>>2]|0; - HEAP32[$87>>2] = $86; - $88 = HEAP32[$aSlot>>2]|0; - _sqlite3_free($88); - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 12|0); - $91 = HEAP32[$90>>2]|0; - $92 = ((($91)) + 11|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - HEAP32[$0>>2] = $94; - $95 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($95|0); -} -function _vdbePmaWriterInit($pFd,$p,$nBuf,$0,$1) { - $pFd = $pFd|0; - $p = $p|0; - $nBuf = $nBuf|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0; - var dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp; - HEAP32[$2>>2] = $pFd; - HEAP32[$3>>2] = $p; - HEAP32[$4>>2] = $nBuf; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - $10 = HEAP32[$3>>2]|0; - dest=$10; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $11 = HEAP32[$4>>2]|0; - $12 = ($11|0)<(0); - $13 = $12 << 31 >> 31; - $14 = (_sqlite3Malloc($11,$13)|0); - $15 = HEAP32[$3>>2]|0; - $16 = ((($15)) + 4|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$3>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)!=(0|0); - if ($20) { - $22 = $5; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)<(0); - $30 = $29 << 31 >> 31; - $31 = (___remdi3(($24|0),($27|0),($28|0),($30|0))|0); - $32 = tempRet0; - $33 = HEAP32[$3>>2]|0; - $34 = ((($33)) + 12|0); - HEAP32[$34>>2] = $31; - $35 = HEAP32[$3>>2]|0; - $36 = ((($35)) + 16|0); - HEAP32[$36>>2] = $31; - $37 = $5; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$3>>2]|0; - $44 = ((($43)) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)<(0); - $47 = $46 << 31 >> 31; - $48 = (_i64Subtract(($39|0),($42|0),($45|0),($47|0))|0); - $49 = tempRet0; - $50 = HEAP32[$3>>2]|0; - $51 = ((($50)) + 24|0); - $52 = $51; - $53 = $52; - HEAP32[$53>>2] = $48; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = $49; - $56 = HEAP32[$4>>2]|0; - $57 = HEAP32[$3>>2]|0; - $58 = ((($57)) + 8|0); - HEAP32[$58>>2] = $56; - $59 = HEAP32[$2>>2]|0; - $60 = HEAP32[$3>>2]|0; - $61 = ((($60)) + 32|0); - HEAP32[$61>>2] = $59; - STACKTOP = sp;return; - } else { - $21 = HEAP32[$3>>2]|0; - HEAP32[$21>>2] = 7; - STACKTOP = sp;return; + if ((label|0) == 11) { + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 8|0); + HEAP32[$103>>2] = 0; + $104 = HEAP32[$4>>2]|0; + $105 = ((($104)) + 4|0); + HEAP32[$105>>2] = 1; + $106 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $106; + $165 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($165|0); + } + else if ((label|0) == 14) { + $135 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $135; + $165 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($165|0); + } + else if ((label|0) == 18) { + $142 = $8; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = (($142) + 4)|0; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$4>>2]|0; + $149 = ((($148)) + 16|0); + $150 = $149; + $151 = $150; + HEAP32[$151>>2] = $144; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $147; + $154 = HEAP32[$3>>2]|0; + $155 = HEAP32[$4>>2]|0; + $156 = (_fts5ExprNearTest($7,$154,$155)|0); + $157 = (0)==($156|0); + $158 = HEAP32[$7>>2]|0; + $159 = ($158|0)==(0); + $160 = $157 ? $159 : 0; + $161 = $160&1; + $162 = HEAP32[$4>>2]|0; + $163 = ((($162)) + 8|0); + HEAP32[$163>>2] = $161; + $164 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $164; + $165 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($165|0); } + return (0)|0; } -function _vdbePmaWriteVarint($p,$0,$1) { - $p = $p|0; +function _fts5ExprSynonymAdvanceto($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aByte = 0, $nByte = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 12|0; - $3 = sp; - $nByte = sp + 8|0; - $aByte = sp + 16|0; - HEAP32[$2>>2] = $p; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = $3; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3PutVarint($aByte,$10,$13)|0); - HEAP32[$nByte>>2] = $14; - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$nByte>>2]|0; - _vdbePmaWriteBlob($15,$aByte,$16); - STACKTOP = sp;return; -} -function _vdbePmaWriteBlob($p,$pData,$nData) { - $p = $p|0; - $pData = $pData|0; - $nData = $nData|0; - var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nCopy = 0, $nRem = 0, label = 0, sp = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $nRem = sp + 4|0; - $nCopy = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pData; - HEAP32[$2>>2] = $nData; - $3 = HEAP32[$2>>2]|0; - HEAP32[$nRem>>2] = $3; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 8|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $13 = HEAP32[$6>>2]|0; + $14 = $13; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = $9; + $21 = $20; + HEAP32[$21>>2] = $16; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; + HEAP32[$11>>2] = 0; + $24 = HEAP32[$4>>2]|0; + HEAP32[$10>>2] = $24; while(1) { - $4 = HEAP32[$nRem>>2]|0; - $5 = ($4|0)>(0); - if (!($5)) { - label = 9; - break; - } - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - label = 9; + $25 = HEAP32[$8>>2]|0; + $26 = ($25|0)==(0); + $27 = HEAP32[$10>>2]|0; + $28 = ($27|0)!=(0|0); + $29 = $26 ? $28 : 0; + if (!($29)) { break; } - $9 = HEAP32[$nRem>>2]|0; - HEAP32[$nCopy>>2] = $9; - $10 = HEAP32[$nCopy>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($13) - ($16))|0; - $18 = ($10|0)>($17|0); - if ($18) { - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 16|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($21) - ($24))|0; - HEAP32[$nCopy>>2] = $25; - } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 4|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + ($28)|0); - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$nRem>>2]|0; - $35 = (($33) - ($34))|0; - $36 = HEAP32[$1>>2]|0; - $37 = (($36) + ($35)|0); - $38 = HEAP32[$nCopy>>2]|0; - _memcpy(($32|0),($37|0),($38|0))|0; - $39 = HEAP32[$nCopy>>2]|0; - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 16|0); - $42 = HEAP32[$41>>2]|0; - $43 = (($42) + ($39))|0; - HEAP32[$41>>2] = $43; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 16|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 8|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($46|0)==($49|0); - if ($50) { - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 32|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 12|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = (($59) + ($56)|0); - $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 16|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 12|0); - $66 = HEAP32[$65>>2]|0; - $67 = (($63) - ($66))|0; - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 24|0); - $70 = $69; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$0>>2]|0; - $77 = ((($76)) + 12|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)<(0); - $80 = $79 << 31 >> 31; - $81 = (_i64Add(($72|0),($75|0),($78|0),($80|0))|0); - $82 = tempRet0; - $83 = (_sqlite3OsWrite($53,$60,$67,$81,$82)|0); - $84 = HEAP32[$0>>2]|0; - HEAP32[$84>>2] = $83; - $85 = HEAP32[$0>>2]|0; - $86 = ((($85)) + 16|0); - HEAP32[$86>>2] = 0; - $87 = HEAP32[$0>>2]|0; - $88 = ((($87)) + 12|0); - HEAP32[$88>>2] = 0; - $89 = HEAP32[$0>>2]|0; - $90 = ((($89)) + 8|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)<(0); - $93 = $92 << 31 >> 31; - $94 = HEAP32[$0>>2]|0; - $95 = ((($94)) + 24|0); - $96 = $95; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (($96) + 4)|0; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = (_i64Add(($98|0),($101|0),($91|0),($93|0))|0); - $103 = tempRet0; - $104 = $95; - $105 = $104; - HEAP32[$105>>2] = $102; - $106 = (($104) + 4)|0; - $107 = $106; - HEAP32[$107>>2] = $103; - } - $108 = HEAP32[$nCopy>>2]|0; - $109 = HEAP32[$nRem>>2]|0; - $110 = (($109) - ($108))|0; - HEAP32[$nRem>>2] = $110; + $30 = HEAP32[$10>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + $33 = ((($32)) + 16|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = ($35|0)==(0); + do { + if ($36) { + $37 = HEAP32[$10>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = $39; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $12; + $47 = $46; + HEAP32[$47>>2] = $42; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$5>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $52 = $9; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $12; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = ($57|0)>($63|0); + $65 = ($54>>>0)>($60>>>0); + $66 = ($57|0)==($63|0); + $67 = $66 & $65; + $68 = $64 | $67; + if (!($68)) { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + label = 0; + $69 = HEAP32[$5>>2]|0; + $70 = ($69|0)!=(0); + if (!($70)) { + break; + } + $71 = $9; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = $12; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + 4)|0; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = ($76|0)<($82|0); + $84 = ($73>>>0)<($79>>>0); + $85 = ($76|0)==($82|0); + $86 = $85 & $84; + $87 = $83 | $86; + if (!($87)) { + break; + } + } + $88 = HEAP32[$10>>2]|0; + $89 = ((($88)) + 8|0); + $90 = HEAP32[$89>>2]|0; + $91 = $9; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (($91) + 4)|0; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (_sqlite3Fts5IterNextFrom($90,$93,$96)|0); + HEAP32[$8>>2] = $97; + } + } while(0); + $98 = HEAP32[$10>>2]|0; + $99 = ((($98)) + 12|0); + $100 = HEAP32[$99>>2]|0; + HEAP32[$10>>2] = $100; } - if ((label|0) == 9) { - STACKTOP = sp;return; + $101 = HEAP32[$8>>2]|0; + $102 = ($101|0)!=(0); + if ($102) { + $103 = HEAP32[$8>>2]|0; + $104 = HEAP32[$7>>2]|0; + HEAP32[$104>>2] = $103; + HEAP32[$11>>2] = 1; + $114 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($114|0); + } else { + $105 = HEAP32[$4>>2]|0; + $106 = HEAP32[$5>>2]|0; + $107 = (_fts5ExprSynonymRowid($105,$106,$11)|0); + $108 = tempRet0; + $109 = HEAP32[$6>>2]|0; + $110 = $109; + $111 = $110; + HEAP32[$111>>2] = $107; + $112 = (($110) + 4)|0; + $113 = $112; + HEAP32[$113>>2] = $108; + $114 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($114|0); } + return (0)|0; } -function _vdbePmaWriterFinish($p,$piEof) { - $p = $p|0; - $piEof = $piEof|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $rc = 0, dest = 0, label = 0; - var sp = 0, stop = 0; +function _fts5ExprAdvanceto($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $piEof; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($11|0)>($14|0); - if ($15) { - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 32|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($21)|0); - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($28) - ($31))|0; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 24|0); - $35 = $34; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)<(0); - $45 = $44 << 31 >> 31; - $46 = (_i64Add(($37|0),($40|0),($43|0),($45|0))|0); - $47 = tempRet0; - $48 = (_sqlite3OsWrite($18,$25,$32,$46,$47)|0); - $49 = HEAP32[$0>>2]|0; - HEAP32[$49>>2] = $48; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 8|0; + $12 = sp; + $13 = sp + 16|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $14 = HEAP32[$8>>2]|0; + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $11; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = HEAP32[$6>>2]|0; + $26 = $25; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = $12; + $33 = $32; + HEAP32[$33>>2] = $28; + $34 = (($32) + 4)|0; + $35 = $34; + HEAP32[$35>>2] = $31; + $36 = HEAP32[$7>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $38 = $11; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = $12; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = ($43|0)>($49|0); + $51 = ($40>>>0)>($46>>>0); + $52 = ($43|0)==($49|0); + $53 = $52 & $51; + $54 = $50 | $53; + if ($54) { + label = 5; + } else { + label = 3; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $55 = HEAP32[$7>>2]|0; + $56 = ($55|0)!=(0); + if ($56) { + $57 = $11; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = $12; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (($63) + 4)|0; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = ($62|0)<($68|0); + $70 = ($59>>>0)<($65>>>0); + $71 = ($62|0)==($68|0); + $72 = $71 & $70; + $73 = $69 | $72; + if ($73) { + label = 5; } } } - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 24|0); - $52 = $51; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 16|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)<(0); - $62 = $61 << 31 >> 31; - $63 = (_i64Add(($54|0),($57|0),($60|0),($62|0))|0); - $64 = tempRet0; - $65 = HEAP32[$1>>2]|0; - $66 = $65; - $67 = $66; - HEAP32[$67>>2] = $63; - $68 = (($66) + 4)|0; - $69 = $68; - HEAP32[$69>>2] = $64; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 4|0); - $72 = HEAP32[$71>>2]|0; - _sqlite3_free($72); - $73 = HEAP32[$0>>2]|0; - $74 = HEAP32[$73>>2]|0; - HEAP32[$rc>>2] = $74; - $75 = HEAP32[$0>>2]|0; - dest=$75; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); -} -function _vdbeSortAllocUnpacked($pTask) { - $pTask = $pTask|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFree = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pFree = sp; - HEAP32[$1>>2] = $pTask; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); do { - if ($5) { - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3VdbeAllocUnpackedRecord($10,0,0,$pFree)|0); - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 12|0); - HEAP32[$13>>2] = $11; - $14 = HEAP32[$pFree>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 28|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($20)) + 6|0); - $22 = HEAP16[$21>>1]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($25)) + 8|0); - HEAP16[$26>>1] = $22; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 11|0); - HEAP8[$30>>0] = 0; - break; + if ((label|0) == 5) { + $74 = HEAP32[$6>>2]|0; + $75 = $11; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (_sqlite3Fts5IterNextFrom($74,$77,$80)|0); + HEAP32[$13>>2] = $81; + $82 = HEAP32[$13>>2]|0; + $83 = ($82|0)!=(0); + if (!($83)) { + $84 = HEAP32[$6>>2]|0; + $85 = ((($84)) + 16|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = ($87|0)!=(0); + if (!($88)) { + $92 = HEAP32[$6>>2]|0; + $93 = $92; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = $12; + $100 = $99; + HEAP32[$100>>2] = $95; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = $98; + break; + } } - HEAP32[$0>>2] = 7; - $31 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($31|0); + $89 = HEAP32[$13>>2]|0; + $90 = HEAP32[$9>>2]|0; + HEAP32[$90>>2] = $89; + $91 = HEAP32[$10>>2]|0; + HEAP32[$91>>2] = 1; + HEAP32[$5>>2] = 1; + $114 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($114|0); } } while(0); - HEAP32[$0>>2] = 0; - $31 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($31|0); + $103 = $12; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$8>>2]|0; + $110 = $109; + $111 = $110; + HEAP32[$111>>2] = $105; + $112 = (($110) + 4)|0; + $113 = $112; + HEAP32[$113>>2] = $108; + HEAP32[$5>>2] = 0; + $114 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($114|0); } -function _vdbeSorterGetCompare($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _fts5ExprNearTest($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $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; + 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; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 60|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(1); - do { - if ($6) { - HEAP32[$0>>2] = 138; - } else { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 60|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)==(2); - if ($11) { - HEAP32[$0>>2] = 139; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 24|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$7>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$19>>2]|0; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 48|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$7>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$10>>2] = $29; + $30 = HEAP32[$10>>2]|0; + $31 = ((($30)) + 4|0); + $32 = ((($31)) + 4|0); + HEAP32[$32>>2] = 0; + $33 = HEAP32[$10>>2]|0; + $34 = ((($33)) + 20|0); + HEAP32[$9>>2] = $34; + while(1) { + $35 = HEAP32[$9>>2]|0; + $36 = ($35|0)!=(0|0); + if (!($36)) { break; + } + $37 = HEAP32[$9>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$11>>2] = $39; + $40 = HEAP32[$11>>2]|0; + $41 = ((($40)) + 16|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$11>>2]|0; + $46 = $45; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$6>>2]|0; + $53 = ((($52)) + 16|0); + $54 = $53; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = ($48|0)==($56|0); + $61 = ($51|0)==($59|0); + $62 = $60 & $61; + if ($62) { + $63 = HEAP32[$11>>2]|0; + $64 = ((($63)) + 12|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)>(0); + if ($66) { + $67 = HEAP32[$10>>2]|0; + $68 = ((($67)) + 4|0); + $69 = ((($68)) + 4|0); + HEAP32[$69>>2] = 1; + } + } + } + $70 = HEAP32[$9>>2]|0; + $71 = ((($70)) + 12|0); + $72 = HEAP32[$71>>2]|0; + HEAP32[$9>>2] = $72; + } + $73 = HEAP32[$10>>2]|0; + $74 = ((($73)) + 4|0); + $75 = ((($74)) + 4|0); + $76 = HEAP32[$75>>2]|0; + HEAP32[$3>>2] = $76; + $134 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($134|0); + } + HEAP32[$12>>2] = 0; + while(1) { + $77 = HEAP32[$8>>2]|0; + $78 = ($77|0)==(0); + if (!($78)) { + break; + } + $79 = HEAP32[$12>>2]|0; + $80 = HEAP32[$7>>2]|0; + $81 = ((($80)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($79|0)<($82|0); + if (!($83)) { + break; + } + $84 = HEAP32[$7>>2]|0; + $85 = ((($84)) + 12|0); + $86 = HEAP32[$12>>2]|0; + $87 = (($85) + ($86<<2)|0); + $88 = HEAP32[$87>>2]|0; + HEAP32[$13>>2] = $88; + $89 = HEAP32[$13>>2]|0; + $90 = ((($89)) + 16|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)>(1); + if ($92) { + label = 16; + } else { + $93 = HEAP32[$13>>2]|0; + $94 = ((($93)) + 20|0); + $95 = ((($94)) + 12|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)!=(0|0); + if ($97) { + label = 16; } else { - HEAP32[$0>>2] = 140; + $98 = HEAP32[$7>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)!=(0|0); + if ($101) { + label = 16; + } else { + $107 = HEAP32[$13>>2]|0; + $108 = ((($107)) + 20|0); + $109 = ((($108)) + 8|0); + $110 = HEAP32[$109>>2]|0; + HEAP32[$15>>2] = $110; + $111 = HEAP32[$13>>2]|0; + $112 = ((($111)) + 4|0); + $113 = HEAP32[$15>>2]|0; + $114 = ((($113)) + 12|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$15>>2]|0; + $117 = ((($116)) + 8|0); + $118 = HEAP32[$117>>2]|0; + _sqlite3Fts5BufferSet($8,$112,$115,$118); + } + } + } + if ((label|0) == 16) { + label = 0; + HEAP32[$14>>2] = 0; + $102 = HEAP32[$6>>2]|0; + $103 = HEAP32[$13>>2]|0; + $104 = (_fts5ExprPhraseIsMatch($102,$103,$14)|0); + HEAP32[$8>>2] = $104; + $105 = HEAP32[$14>>2]|0; + $106 = ($105|0)==(0); + if ($106) { break; } } + $119 = HEAP32[$12>>2]|0; + $120 = (($119) + 1)|0; + HEAP32[$12>>2] = $120; + } + $121 = HEAP32[$8>>2]|0; + $122 = HEAP32[$4>>2]|0; + HEAP32[$122>>2] = $121; + $123 = HEAP32[$12>>2]|0; + $124 = HEAP32[$7>>2]|0; + $125 = ((($124)) + 8|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($123|0)==($126|0); + do { + if ($127) { + $128 = HEAP32[$12>>2]|0; + $129 = ($128|0)==(1); + if (!($129)) { + $130 = HEAP32[$4>>2]|0; + $131 = HEAP32[$7>>2]|0; + $132 = (_fts5ExprNearIsMatch($130,$131)|0); + $133 = ($132|0)!=(0); + if (!($133)) { + break; + } + } + HEAP32[$3>>2] = 1; + $134 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($134|0); + } } while(0); - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); + HEAP32[$3>>2] = 0; + $134 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($134|0); } -function _vdbeSorterMerge($pTask,$p1,$p2) { - $pTask = $pTask|0; - $p1 = $p1|0; - $p2 = $p2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $bCached = 0, $pFinal = 0, $pp = 0, $res = 0, label = 0, sp = 0; +function _fts5ExprPhraseIsMatch($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pFinal = sp + 12|0; - $pp = sp + 8|0; - $bCached = sp + 4|0; - $res = sp; - HEAP32[$0>>2] = $pTask; - HEAP32[$1>>2] = $p1; - HEAP32[$2>>2] = $p2; - HEAP32[$pFinal>>2] = 0; - HEAP32[$pp>>2] = $pFinal; - HEAP32[$bCached>>2] = 0; + STACKTOP = STACKTOP + 192|0; + $3 = sp + 184|0; + $4 = sp + 180|0; + $5 = sp + 176|0; + $6 = sp + 172|0; + $7 = sp + 112|0; + $8 = sp + 16|0; + $9 = sp + 168|0; + $10 = sp + 164|0; + $11 = sp + 160|0; + $12 = sp + 156|0; + $13 = sp + 152|0; + $14 = sp + 148|0; + $15 = sp + 144|0; + $16 = sp + 140|0; + $17 = sp + 128|0; + $18 = sp + 124|0; + $19 = sp + 8|0; + $20 = sp + 120|0; + $21 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0; + HEAP32[$9>>2] = $8; + HEAP32[$11>>2] = 0; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 4|0); + _sqlite3Fts5BufferZero($23); + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 16|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)>(4); + if ($27) { + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30*24)|0; + HEAP32[$12>>2] = $31; + $32 = HEAP32[$12>>2]|0; + $33 = (_sqlite3_malloc($32)|0); + HEAP32[$9>>2] = $33; + $34 = HEAP32[$9>>2]|0; + $35 = ($34|0)!=(0|0); + if (!($35)) { + HEAP32[$3>>2] = 7; + $261 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($261|0); + } + } + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$5>>2]|0; + $38 = ((($37)) + 16|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39*24)|0; + _memset(($36|0),0,($40|0))|0; + HEAP32[$10>>2] = 0; while(1) { - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = (FUNCTION_TABLE_iiiiiii[$5 & 255]($6,$bCached,$8,$10,$12,$14)|0); - HEAP32[$res>>2] = $15; - $16 = HEAP32[$res>>2]|0; - $17 = ($16|0)<=(0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$pp>>2]|0; - HEAP32[$19>>2] = $18; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 4|0); - HEAP32[$pp>>2] = $21; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$1>>2] = $24; - $25 = HEAP32[$1>>2]|0; - $26 = ($25|0)==(0|0); - if ($26) { - label = 4; + $41 = HEAP32[$10>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = ((($42)) + 16|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($41|0)<($44|0); + if (!($45)) { + label = 14; + break; + } + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 20|0); + $48 = HEAP32[$10>>2]|0; + $49 = (($47) + ($48<<4)|0); + HEAP32[$13>>2] = $49; + HEAP32[$14>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + $50 = HEAP32[$13>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)!=(0|0); + if ($53) { + ;HEAP32[$17>>2]=0|0;HEAP32[$17+4>>2]=0|0;HEAP32[$17+8>>2]=0|0; + $54 = HEAP32[$13>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = ((($55)) + 16|0); + $57 = $56; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (_fts5ExprSynonymList($54,$59,$62,$17,$16,$14)|0); + HEAP32[$11>>2] = $63; + $64 = HEAP32[$11>>2]|0; + $65 = ($64|0)!=(0); + $66 = HEAP32[$16>>2]|0; + if ($65) { + label = 8; break; - } else { - continue; } - } else { - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$pp>>2]|0; - HEAP32[$30>>2] = $29; - $31 = HEAP32[$2>>2]|0; - $32 = ((($31)) + 4|0); - HEAP32[$pp>>2] = $32; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$2>>2] = $35; - HEAP32[$bCached>>2] = 0; - $36 = HEAP32[$2>>2]|0; - $37 = ($36|0)==(0|0); - if ($37) { - label = 6; - break; - } else { - continue; + $67 = HEAP32[$17>>2]|0; + $68 = ($66|0)==($67|0); + if ($68) { + HEAP32[$15>>2] = 1; } + } else { + $69 = HEAP32[$13>>2]|0; + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + HEAP32[$16>>2] = $73; + $74 = HEAP32[$13>>2]|0; + $75 = ((($74)) + 8|0); + $76 = HEAP32[$75>>2]|0; + $77 = ((($76)) + 12|0); + $78 = HEAP32[$77>>2]|0; + HEAP32[$14>>2] = $78; + } + $79 = HEAP32[$16>>2]|0; + $80 = HEAP32[$14>>2]|0; + $81 = HEAP32[$9>>2]|0; + $82 = HEAP32[$10>>2]|0; + $83 = (($81) + (($82*24)|0)|0); + (_sqlite3Fts5PoslistReaderInit($79,$80,$83)|0); + $84 = HEAP32[$15>>2]|0; + $85 = $84&255; + $86 = HEAP32[$9>>2]|0; + $87 = HEAP32[$10>>2]|0; + $88 = (($86) + (($87*24)|0)|0); + $89 = ((($88)) + 12|0); + HEAP8[$89>>0] = $85; + $90 = HEAP32[$9>>2]|0; + $91 = HEAP32[$10>>2]|0; + $92 = (($90) + (($91*24)|0)|0); + $93 = ((($92)) + 13|0); + $94 = HEAP8[$93>>0]|0; + $95 = ($94<<24>>24)!=(0); + if ($95) { + break; } + $96 = HEAP32[$10>>2]|0; + $97 = (($96) + 1)|0; + HEAP32[$10>>2] = $97; } - if ((label|0) == 4) { - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$pp>>2]|0; - HEAP32[$28>>2] = $27; - $40 = HEAP32[$pFinal>>2]|0; - STACKTOP = sp;return ($40|0); - } - else if ((label|0) == 6) { - $38 = HEAP32[$1>>2]|0; - $39 = HEAP32[$pp>>2]|0; - HEAP32[$39>>2] = $38; - $40 = HEAP32[$pFinal>>2]|0; - STACKTOP = sp;return ($40|0); - } - return (0)|0; -} -function _vdbeSorterCompareInt($pTask,$pbKey2Cached,$pKey1,$nKey1,$pKey2,$nKey2) { - $pTask = $pTask|0; - $pbKey2Cached = $pbKey2Cached|0; - $pKey1 = $pKey1|0; - $nKey1 = $nKey1|0; - $pKey2 = $pKey2|0; - $nKey2 = $nKey2|0; - var $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, $112 = 0, $12 = 0, $13 = 0, $14 = 0; - var $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, $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, $i = 0, $or$cond = 0, $p1 = 0, $p2 = 0, $res = 0, $s1 = 0, $s2 = 0; - var $v1 = 0, $v2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $5 = sp + 32|0; - $p1 = sp + 28|0; - $p2 = sp + 24|0; - $s1 = sp + 20|0; - $s2 = sp + 16|0; - $v1 = sp + 12|0; - $v2 = sp + 8|0; - $res = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pTask; - HEAP32[$1>>2] = $pbKey2Cached; - HEAP32[$2>>2] = $pKey1; - HEAP32[$3>>2] = $nKey1; - HEAP32[$4>>2] = $pKey2; - HEAP32[$5>>2] = $nKey2; - $6 = HEAP32[$2>>2]|0; - HEAP32[$p1>>2] = $6; - $7 = HEAP32[$4>>2]|0; - HEAP32[$p2>>2] = $7; - $8 = HEAP32[$p1>>2]|0; - $9 = ((($8)) + 1|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - HEAP32[$s1>>2] = $11; - $12 = HEAP32[$p2>>2]|0; - $13 = ((($12)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - HEAP32[$s2>>2] = $15; - $16 = HEAP32[$p1>>2]|0; - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = HEAP32[$p1>>2]|0; - $20 = (($19) + ($18)|0); - HEAP32[$v1>>2] = $20; - $21 = HEAP32[$p2>>2]|0; - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = HEAP32[$p2>>2]|0; - $25 = (($24) + ($23)|0); - HEAP32[$v2>>2] = $25; - $26 = HEAP32[$s1>>2]|0; - $27 = ($26|0)>(7); - $28 = HEAP32[$s2>>2]|0; - $29 = ($28|0)>(7); - $or$cond = $27 & $29; - $30 = HEAP32[$s1>>2]|0; - $31 = HEAP32[$s2>>2]|0; - L1: do { - if ($or$cond) { - $32 = (($30) - ($31))|0; - HEAP32[$res>>2] = $32; - } else { - $33 = ($30|0)==($31|0); - if ($33) { - $34 = HEAP32[$v1>>2]|0; - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = HEAP32[$v2>>2]|0; - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = $36 ^ $39; - $41 = $40 & 128; - $42 = ($41|0)!=(0); - if ($42) { - $43 = HEAP32[$v1>>2]|0; - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = $45 & 128; - $47 = ($46|0)!=(0); - $48 = $47 ? -1 : 1; - HEAP32[$res>>2] = $48; - break; - } - HEAP32[$res>>2] = 0; - HEAP32[$i>>2] = 0; + L16: do { + if ((label|0) == 8) { + _sqlite3_free($66); + } + else if ((label|0) == 14) { + L17: while(1) { + label = 0; + $98 = HEAP32[$9>>2]|0; + $99 = ((($98)) + 16|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = $19; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; while(1) { - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$s1>>2]|0; - $51 = (41789 + ($50)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = ($49|0)<($53|0); - if (!($54)) { - break L1; - } - $55 = HEAP32[$i>>2]|0; - $56 = HEAP32[$v1>>2]|0; - $57 = (($56) + ($55)|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = HEAP32[$i>>2]|0; - $61 = HEAP32[$v2>>2]|0; - $62 = (($61) + ($60)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = (($59) - ($64))|0; - HEAP32[$res>>2] = $65; - $66 = ($65|0)!=(0); - if ($66) { - break L1; + HEAP32[$18>>2] = 1; + HEAP32[$10>>2] = 0; + while(1) { + $110 = HEAP32[$10>>2]|0; + $111 = HEAP32[$5>>2]|0; + $112 = ((($111)) + 16|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($110|0)<($113|0); + if (!($114)) { + break; + } + $115 = HEAP32[$9>>2]|0; + $116 = HEAP32[$10>>2]|0; + $117 = (($115) + (($116*24)|0)|0); + HEAP32[$20>>2] = $117; + $118 = $19; + $119 = $118; + $120 = HEAP32[$119>>2]|0; + $121 = (($118) + 4)|0; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$10>>2]|0; + $125 = ($124|0)<(0); + $126 = $125 << 31 >> 31; + $127 = (_i64Add(($120|0),($123|0),($124|0),($126|0))|0); + $128 = tempRet0; + $129 = $21; + $130 = $129; + HEAP32[$130>>2] = $127; + $131 = (($129) + 4)|0; + $132 = $131; + HEAP32[$132>>2] = $128; + $133 = HEAP32[$20>>2]|0; + $134 = ((($133)) + 16|0); + $135 = $134; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (($135) + 4)|0; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = $21; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = (($141) + 4)|0; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = ($137|0)!=($143|0); + $148 = ($140|0)!=($146|0); + $149 = $147 | $148; + if ($149) { + HEAP32[$18>>2] = 0; + while(1) { + $150 = HEAP32[$20>>2]|0; + $151 = ((($150)) + 16|0); + $152 = $151; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = $21; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = (($158) + 4)|0; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = ($157|0)<($163|0); + $165 = ($154>>>0)<($160>>>0); + $166 = ($157|0)==($163|0); + $167 = $166 & $165; + $168 = $164 | $167; + $169 = HEAP32[$20>>2]|0; + if (!($168)) { + break; + } + $170 = (_sqlite3Fts5PoslistReaderNext($169)|0); + $171 = ($170|0)!=(0); + if ($171) { + break L16; + } + } + $172 = ((($169)) + 16|0); + $173 = $172; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = (($173) + 4)|0; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = $21; + $180 = $179; + $181 = HEAP32[$180>>2]|0; + $182 = (($179) + 4)|0; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = ($178|0)>($184|0); + $186 = ($175>>>0)>($181>>>0); + $187 = ($178|0)==($184|0); + $188 = $187 & $186; + $189 = $185 | $188; + if ($189) { + $190 = HEAP32[$20>>2]|0; + $191 = ((($190)) + 16|0); + $192 = $191; + $193 = $192; + $194 = HEAP32[$193>>2]|0; + $195 = (($192) + 4)|0; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$10>>2]|0; + $199 = ($198|0)<(0); + $200 = $199 << 31 >> 31; + $201 = (_i64Subtract(($194|0),($197|0),($198|0),($200|0))|0); + $202 = tempRet0; + $203 = $19; + $204 = $203; + HEAP32[$204>>2] = $201; + $205 = (($203) + 4)|0; + $206 = $205; + HEAP32[$206>>2] = $202; + } + } + $207 = HEAP32[$10>>2]|0; + $208 = (($207) + 1)|0; + HEAP32[$10>>2] = $208; } - $67 = HEAP32[$i>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$i>>2] = $68; - } - } - $69 = HEAP32[$s2>>2]|0; - $70 = ($69|0)>(7); - do { - if ($70) { - HEAP32[$res>>2] = 1; - } else { - $71 = HEAP32[$s1>>2]|0; - $72 = ($71|0)>(7); - if ($72) { - HEAP32[$res>>2] = -1; - break; - } else { - $73 = HEAP32[$s1>>2]|0; - $74 = HEAP32[$s2>>2]|0; - $75 = (($73) - ($74))|0; - HEAP32[$res>>2] = $75; + $209 = HEAP32[$18>>2]|0; + $210 = ($209|0)==(0); + if (!($210)) { break; } } - } while(0); - $76 = HEAP32[$res>>2]|0; - $77 = ($76|0)>(0); - if ($77) { - $78 = HEAP32[$v1>>2]|0; - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = $80 & 128; - $82 = ($81|0)!=(0); - if (!($82)) { - break; + $211 = HEAP32[$5>>2]|0; + $212 = ((($211)) + 4|0); + $213 = $19; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (($213) + 4)|0; + $217 = $216; + $218 = HEAP32[$217>>2]|0; + $219 = (_sqlite3Fts5PoslistWriterAppend($212,$7,$215,$218)|0); + HEAP32[$11>>2] = $219; + $220 = HEAP32[$11>>2]|0; + $221 = ($220|0)!=(0); + if ($221) { + break L16; } - HEAP32[$res>>2] = -1; - break; - } else { - $83 = HEAP32[$v2>>2]|0; - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $85 & 128; - $87 = ($86|0)!=(0); - if (!($87)) { - break; + HEAP32[$10>>2] = 0; + while(1) { + $222 = HEAP32[$10>>2]|0; + $223 = HEAP32[$5>>2]|0; + $224 = ((($223)) + 16|0); + $225 = HEAP32[$224>>2]|0; + $226 = ($222|0)<($225|0); + if (!($226)) { + label = 14; + continue L17; + } + $227 = HEAP32[$9>>2]|0; + $228 = HEAP32[$10>>2]|0; + $229 = (($227) + (($228*24)|0)|0); + $230 = (_sqlite3Fts5PoslistReaderNext($229)|0); + $231 = ($230|0)!=(0); + if ($231) { + break L16; + } + $232 = HEAP32[$10>>2]|0; + $233 = (($232) + 1)|0; + HEAP32[$10>>2] = $233; } - HEAP32[$res>>2] = 1; - break; } } } while(0); - $88 = HEAP32[$res>>2]|0; - $89 = ($88|0)==(0); - $90 = HEAP32[$0>>2]|0; - $91 = ((($90)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = ((($92)) + 28|0); - $94 = HEAP32[$93>>2]|0; - if ($89) { - $95 = ((($94)) + 6|0); - $96 = HEAP16[$95>>1]|0; - $97 = $96&65535; - $98 = ($97|0)>(1); - if (!($98)) { - $112 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($112|0); - } - $99 = HEAP32[$0>>2]|0; - $100 = HEAP32[$1>>2]|0; - $101 = HEAP32[$2>>2]|0; - $102 = HEAP32[$3>>2]|0; - $103 = HEAP32[$4>>2]|0; - $104 = HEAP32[$5>>2]|0; - $105 = (_vdbeSorterCompareTail($99,$100,$101,$102,$103,$104)|0); - HEAP32[$res>>2] = $105; - $112 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($112|0); - } else { - $106 = ((($94)) + 16|0); - $107 = HEAP32[$106>>2]|0; - $108 = HEAP8[$107>>0]|0; - $109 = ($108<<24>>24)!=(0); - if (!($109)) { - $112 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($112|0); - } - $110 = HEAP32[$res>>2]|0; - $111 = Math_imul($110, -1)|0; - HEAP32[$res>>2] = $111; - $112 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($112|0); - } - return (0)|0; -} -function _vdbeSorterCompareText($pTask,$pbKey2Cached,$pKey1,$nKey1,$pKey2,$nKey2) { - $pTask = $pTask|0; - $pbKey2Cached = $pbKey2Cached|0; - $pKey1 = $pKey1|0; - $nKey1 = $nKey1|0; - $pKey2 = $pKey2|0; - $nKey2 = $nKey2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $9 = 0, $n1 = 0, $n2 = 0, $p1 = 0, $p2 = 0, $res = 0, $v1 = 0, $v2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $5 = sp + 28|0; - $p1 = sp + 24|0; - $p2 = sp + 20|0; - $v1 = sp + 16|0; - $v2 = sp + 12|0; - $n1 = sp + 8|0; - $n2 = sp + 4|0; - $res = sp; - HEAP32[$0>>2] = $pTask; - HEAP32[$1>>2] = $pbKey2Cached; - HEAP32[$2>>2] = $pKey1; - HEAP32[$3>>2] = $nKey1; - HEAP32[$4>>2] = $pKey2; - HEAP32[$5>>2] = $nKey2; - $6 = HEAP32[$2>>2]|0; - HEAP32[$p1>>2] = $6; - $7 = HEAP32[$4>>2]|0; - HEAP32[$p2>>2] = $7; - $8 = HEAP32[$p1>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = HEAP32[$p1>>2]|0; - $12 = (($11) + ($10)|0); - HEAP32[$v1>>2] = $12; - $13 = HEAP32[$p2>>2]|0; - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = HEAP32[$p2>>2]|0; - $17 = (($16) + ($15)|0); - HEAP32[$v2>>2] = $17; - $18 = HEAP32[$p1>>2]|0; - $19 = ((($18)) + 1|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = ($21|0)<(128); - $23 = HEAP32[$p1>>2]|0; - $24 = ((($23)) + 1|0); - if ($22) { - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - HEAP32[$n1>>2] = $26; - } else { - (_sqlite3GetVarint32($24,$n1)|0); - } - $27 = HEAP32[$n1>>2]|0; - $28 = (($27) - 13)|0; - $29 = (($28|0) / 2)&-1; - HEAP32[$n1>>2] = $29; - $30 = HEAP32[$p2>>2]|0; - $31 = ((($30)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = ($33|0)<(128); - $35 = HEAP32[$p2>>2]|0; - $36 = ((($35)) + 1|0); - if ($34) { - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - HEAP32[$n2>>2] = $38; - } else { - (_sqlite3GetVarint32($36,$n2)|0); - } - $39 = HEAP32[$n2>>2]|0; - $40 = (($39) - 13)|0; - $41 = (($40|0) / 2)&-1; - HEAP32[$n2>>2] = $41; - $42 = HEAP32[$v1>>2]|0; - $43 = HEAP32[$v2>>2]|0; - $44 = HEAP32[$n1>>2]|0; - $45 = HEAP32[$n2>>2]|0; - $46 = ($44|0)<($45|0); - $47 = HEAP32[$n1>>2]|0; - $48 = HEAP32[$n2>>2]|0; - $49 = $46 ? $47 : $48; - $50 = (_memcmp($42,$43,$49)|0); - HEAP32[$res>>2] = $50; - $51 = HEAP32[$res>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$n1>>2]|0; - $54 = HEAP32[$n2>>2]|0; - $55 = (($53) - ($54))|0; - HEAP32[$res>>2] = $55; - } - $56 = HEAP32[$res>>2]|0; - $57 = ($56|0)==(0); - $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 8|0); - $60 = HEAP32[$59>>2]|0; - $61 = ((($60)) + 28|0); - $62 = HEAP32[$61>>2]|0; - if ($57) { - $63 = ((($62)) + 6|0); - $64 = HEAP16[$63>>1]|0; - $65 = $64&65535; - $66 = ($65|0)>(1); - if (!($66)) { - $80 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($80|0); + $234 = HEAP32[$5>>2]|0; + $235 = ((($234)) + 4|0); + $236 = ((($235)) + 4|0); + $237 = HEAP32[$236>>2]|0; + $238 = ($237|0)>(0); + $239 = $238&1; + $240 = HEAP32[$6>>2]|0; + HEAP32[$240>>2] = $239; + HEAP32[$10>>2] = 0; + while(1) { + $241 = HEAP32[$10>>2]|0; + $242 = HEAP32[$5>>2]|0; + $243 = ((($242)) + 16|0); + $244 = HEAP32[$243>>2]|0; + $245 = ($241|0)<($244|0); + $246 = HEAP32[$9>>2]|0; + if (!($245)) { + break; } - $67 = HEAP32[$0>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = HEAP32[$2>>2]|0; - $70 = HEAP32[$3>>2]|0; - $71 = HEAP32[$4>>2]|0; - $72 = HEAP32[$5>>2]|0; - $73 = (_vdbeSorterCompareTail($67,$68,$69,$70,$71,$72)|0); - HEAP32[$res>>2] = $73; - $80 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($80|0); - } else { - $74 = ((($62)) + 16|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP8[$75>>0]|0; - $77 = ($76<<24>>24)!=(0); - if (!($77)) { - $80 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($80|0); + $247 = HEAP32[$10>>2]|0; + $248 = (($246) + (($247*24)|0)|0); + $249 = ((($248)) + 12|0); + $250 = HEAP8[$249>>0]|0; + $251 = ($250<<24>>24)!=(0); + if ($251) { + $252 = HEAP32[$9>>2]|0; + $253 = HEAP32[$10>>2]|0; + $254 = (($252) + (($253*24)|0)|0); + $255 = HEAP32[$254>>2]|0; + _sqlite3_free($255); } - $78 = HEAP32[$res>>2]|0; - $79 = Math_imul($78, -1)|0; - HEAP32[$res>>2] = $79; - $80 = HEAP32[$res>>2]|0; - STACKTOP = sp;return ($80|0); + $256 = HEAP32[$10>>2]|0; + $257 = (($256) + 1)|0; + HEAP32[$10>>2] = $257; } - return (0)|0; -} -function _vdbeSorterCompare($pTask,$pbKey2Cached,$pKey1,$nKey1,$pKey2,$nKey2) { - $pTask = $pTask|0; - $pbKey2Cached = $pbKey2Cached|0; - $pKey1 = $pKey1|0; - $nKey1 = $nKey1|0; - $pKey2 = $pKey2|0; - $nKey2 = $nKey2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp + 4|0; - $r2 = sp; - HEAP32[$0>>2] = $pTask; - HEAP32[$1>>2] = $pbKey2Cached; - HEAP32[$2>>2] = $pKey1; - HEAP32[$3>>2] = $nKey1; - HEAP32[$4>>2] = $pKey2; - HEAP32[$5>>2] = $nKey2; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$r2>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0); - if ($11) { - $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$r2>>2]|0; - $24 = (_sqlite3VdbeRecordCompare($21,$22,$23)|0); - STACKTOP = sp;return ($24|0); + $258 = ($246|0)!=($8|0); + if ($258) { + $259 = HEAP32[$9>>2]|0; + _sqlite3_free($259); } - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 28|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$5>>2]|0; - $18 = HEAP32[$4>>2]|0; - $19 = HEAP32[$r2>>2]|0; - _sqlite3VdbeRecordUnpack($16,$17,$18,$19); - $20 = HEAP32[$1>>2]|0; - HEAP32[$20>>2] = 1; - $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$r2>>2]|0; - $24 = (_sqlite3VdbeRecordCompare($21,$22,$23)|0); - STACKTOP = sp;return ($24|0); + $260 = HEAP32[$11>>2]|0; + HEAP32[$3>>2] = $260; + $261 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($261|0); } -function _vdbeSorterCompareTail($pTask,$pbKey2Cached,$pKey1,$nKey1,$pKey2,$nKey2) { - $pTask = $pTask|0; - $pbKey2Cached = $pbKey2Cached|0; - $pKey1 = $pKey1|0; - $nKey1 = $nKey1|0; - $pKey2 = $pKey2|0; - $nKey2 = $nKey2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r2 = 0, label = 0, sp = 0; +function _fts5ExprNearIsMatch($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp + 4|0; - $r2 = sp; - HEAP32[$0>>2] = $pTask; - HEAP32[$1>>2] = $pbKey2Cached; - HEAP32[$2>>2] = $pKey1; - HEAP32[$3>>2] = $nKey1; - HEAP32[$4>>2] = $pKey2; - HEAP32[$5>>2] = $nKey2; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$r2>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - if (!($11)) { - $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$r2>>2]|0; - $24 = (_sqlite3VdbeRecordCompareWithSkip($21,$22,$23,1)|0); - STACKTOP = sp;return ($24|0); + STACKTOP = STACKTOP + 272|0; + $2 = sp + 268|0; + $3 = sp + 264|0; + $4 = sp + 260|0; + $5 = sp + 24|0; + $6 = sp + 256|0; + $7 = sp + 252|0; + $8 = sp + 248|0; + $9 = sp + 244|0; + $10 = sp + 240|0; + $11 = sp + 236|0; + $12 = sp + 232|0; + $13 = sp + 228|0; + $14 = sp + 16|0; + $15 = sp + 8|0; + $16 = sp + 224|0; + $17 = sp; + $18 = sp + 220|0; + $19 = sp + 216|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$6>>2] = $5; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 12|0); + HEAP32[$7>>2] = $21; + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$9>>2] = $23; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)>(4); + if ($27) { + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30*48)|0; + HEAP32[$11>>2] = $31; + $32 = HEAP32[$11>>2]|0; + $33 = (_sqlite3Fts5MallocZero($9,$32)|0); + HEAP32[$6>>2] = $33; + } else { + _memset(($5|0),0,192)|0; } - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 28|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$5>>2]|0; - $18 = HEAP32[$4>>2]|0; - $19 = HEAP32[$r2>>2]|0; - _sqlite3VdbeRecordUnpack($16,$17,$18,$19); - $20 = HEAP32[$1>>2]|0; - HEAP32[$20>>2] = 1; - $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$r2>>2]|0; - $24 = (_sqlite3VdbeRecordCompareWithSkip($21,$22,$23,1)|0); - STACKTOP = sp;return ($24|0); -} -function _sqlite3OsOpenMalloc($pVfs,$zFile,$ppFile,$flags,$pOutFlags) { - $pVfs = $pVfs|0; - $zFile = $zFile|0; - $ppFile = $ppFile|0; - $flags = $flags|0; - $pOutFlags = $pOutFlags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $rc = sp + 4|0; - $pFile = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $zFile; - HEAP32[$2>>2] = $ppFile; - HEAP32[$3>>2] = $flags; - HEAP32[$4>>2] = $pOutFlags; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<(0); - $9 = $8 << 31 >> 31; - $10 = (_sqlite3MallocZero($7,$9)|0); - HEAP32[$pFile>>2] = $10; - $11 = HEAP32[$pFile>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { - HEAP32[$rc>>2] = 7; - $23 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($23|0); + $34 = HEAP32[$9>>2]|0; + $35 = ($34|0)!=(0); + if ($35) { + $36 = HEAP32[$9>>2]|0; + $37 = HEAP32[$3>>2]|0; + HEAP32[$37>>2] = $36; + HEAP32[$2>>2] = 0; + $339 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($339|0); } - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$pFile>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = HEAP32[$4>>2]|0; - $18 = (_sqlite3OsOpen($13,$14,$15,$16,$17)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)!=(0); - $21 = HEAP32[$pFile>>2]|0; - if ($20) { - _sqlite3_free($21); - $23 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($23|0); - } else { - $22 = HEAP32[$2>>2]|0; - HEAP32[$22>>2] = $21; - $23 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($23|0); + HEAP32[$8>>2] = 0; + while(1) { + $38 = HEAP32[$8>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($38|0)<($41|0); + if (!($42)) { + break; + } + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = (($43) + ($44<<2)|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($46)) + 4|0); + HEAP32[$12>>2] = $47; + $48 = HEAP32[$12>>2]|0; + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$12>>2]|0; + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$6>>2]|0; + $54 = HEAP32[$8>>2]|0; + $55 = (($53) + (($54*48)|0)|0); + (_fts5LookaheadReaderInit($49,$52,$55)|0); + $56 = HEAP32[$12>>2]|0; + $57 = ((($56)) + 4|0); + HEAP32[$57>>2] = 0; + $58 = HEAP32[$12>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$8>>2]|0; + $61 = (($59) + (($60*48)|0)|0); + $62 = ((($61)) + 40|0); + HEAP32[$62>>2] = $58; + $63 = HEAP32[$8>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$8>>2] = $64; } - return (0)|0; -} -function _vdbeMergeEngineStep($pMerger,$pbEof) { - $pMerger = $pMerger|0; - $pbEof = $pbEof|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $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, $bCached = 0, $i = 0, $iPrev = 0, $iRes = 0, $pReadr1 = 0, $pReadr2 = 0, $pTask = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $rc = sp + 28|0; - $iPrev = sp + 24|0; - $pTask = sp + 20|0; - $i = sp + 16|0; - $pReadr1 = sp + 12|0; - $pReadr2 = sp + 8|0; - $bCached = sp + 4|0; - $iRes = sp; - HEAP32[$0>>2] = $pMerger; - HEAP32[$1>>2] = $pbEof; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$iPrev>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$pTask>>2] = $9; - $10 = HEAP32[$iPrev>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + (($10*56)|0)|0); - $15 = (_vdbePmaReaderNext($14)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - if ($17) { - HEAP32[$bCached>>2] = 0; - $18 = HEAP32[$iPrev>>2]|0; - $19 = $18 & 65534; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + (($19*56)|0)|0); - HEAP32[$pReadr1>>2] = $23; - $24 = HEAP32[$iPrev>>2]|0; - $25 = $24 | 1; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + (($25*56)|0)|0); - HEAP32[$pReadr2>>2] = $29; - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$iPrev>>2]|0; - $33 = (($31) + ($32))|0; - $34 = (($33|0) / 2)&-1; - HEAP32[$i>>2] = $34; + L12: while(1) { + $65 = HEAP32[$6>>2]|0; + $66 = ((($65)) + 16|0); + $67 = $66; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = $15; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; while(1) { - $35 = HEAP32[$i>>2]|0; - $36 = ($35|0)>(0); - if (!($36)) { - break; - } - $37 = HEAP32[$pReadr1>>2]|0; - $38 = ((($37)) + 24|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)==(0|0); - do { - if ($40) { - HEAP32[$iRes>>2] = 1; + HEAP32[$10>>2] = 1; + HEAP32[$8>>2] = 0; + while(1) { + $77 = HEAP32[$8>>2]|0; + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($77|0)<($80|0); + if (!($81)) { + break; + } + $82 = HEAP32[$6>>2]|0; + $83 = HEAP32[$8>>2]|0; + $84 = (($82) + (($83*48)|0)|0); + HEAP32[$16>>2] = $84; + $85 = $15; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$4>>2]|0; + $92 = ((($91)) + 12|0); + $93 = HEAP32[$8>>2]|0; + $94 = (($92) + ($93<<2)|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($95)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)<(0); + $99 = $98 << 31 >> 31; + $100 = (_i64Subtract(($87|0),($90|0),($97|0),($99|0))|0); + $101 = tempRet0; + $102 = HEAP32[$4>>2]|0; + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)<(0); + $105 = $104 << 31 >> 31; + $106 = (_i64Subtract(($100|0),($101|0),($103|0),($105|0))|0); + $107 = tempRet0; + $108 = $14; + $109 = $108; + HEAP32[$109>>2] = $106; + $110 = (($108) + 4)|0; + $111 = $110; + HEAP32[$111>>2] = $107; + $112 = HEAP32[$16>>2]|0; + $113 = ((($112)) + 16|0); + $114 = $113; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (($114) + 4)|0; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = $14; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = ($119|0)<($125|0); + $127 = ($116>>>0)<($122>>>0); + $128 = ($119|0)==($125|0); + $129 = $128 & $127; + $130 = $126 | $129; + if ($130) { + label = 14; } else { - $41 = HEAP32[$pReadr2>>2]|0; - $42 = ((($41)) + 24|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)==(0|0); - if ($44) { - HEAP32[$iRes>>2] = -1; - break; - } else { - $45 = HEAP32[$pTask>>2]|0; - $46 = ((($45)) + 32|0); - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$pTask>>2]|0; - $49 = HEAP32[$pReadr1>>2]|0; - $50 = ((($49)) + 32|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$pReadr1>>2]|0; - $53 = ((($52)) + 20|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$pReadr2>>2]|0; - $56 = ((($55)) + 32|0); - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$pReadr2>>2]|0; - $59 = ((($58)) + 20|0); - $60 = HEAP32[$59>>2]|0; - $61 = (FUNCTION_TABLE_iiiiiii[$47 & 255]($48,$bCached,$51,$54,$57,$60)|0); - HEAP32[$iRes>>2] = $61; - break; + $131 = HEAP32[$16>>2]|0; + $132 = ((($131)) + 16|0); + $133 = $132; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (($133) + 4)|0; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = $15; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = (($139) + 4)|0; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = ($138|0)>($144|0); + $146 = ($135>>>0)>($141>>>0); + $147 = ($138|0)==($144|0); + $148 = $147 & $146; + $149 = $145 | $148; + if ($149) { + label = 14; } } - } while(0); - $62 = HEAP32[$iRes>>2]|0; - $63 = ($62|0)<(0); - do { - if ($63) { - label = 12; - } else { - $64 = HEAP32[$iRes>>2]|0; - $65 = ($64|0)==(0); - if ($65) { - $66 = HEAP32[$pReadr1>>2]|0; - $67 = HEAP32[$pReadr2>>2]|0; - $68 = ($66>>>0)<($67>>>0); - if ($68) { - label = 12; + if ((label|0) == 14) { + label = 0; + HEAP32[$10>>2] = 0; + while(1) { + $150 = HEAP32[$16>>2]|0; + $151 = ((($150)) + 16|0); + $152 = $151; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = $14; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = (($158) + 4)|0; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = ($157|0)<($163|0); + $165 = ($154>>>0)<($160>>>0); + $166 = ($157|0)==($163|0); + $167 = $166 & $165; + $168 = $164 | $167; + $169 = HEAP32[$16>>2]|0; + if (!($168)) { break; } + $170 = (_fts5LookaheadReaderNext($169)|0); + $171 = ($170|0)!=(0); + if ($171) { + break L12; + } } - $93 = HEAP32[$pReadr1>>2]|0; - $94 = ((($93)) + 24|0); - $95 = HEAP32[$94>>2]|0; - $96 = ($95|0)!=(0|0); - if ($96) { - HEAP32[$bCached>>2] = 0; - } - $97 = HEAP32[$pReadr2>>2]|0; - $98 = HEAP32[$0>>2]|0; - $99 = ((($98)) + 12|0); - $100 = HEAP32[$99>>2]|0; - $101 = $97; - $102 = $100; - $103 = (($101) - ($102))|0; - $104 = (($103|0) / 56)&-1; - $105 = HEAP32[$i>>2]|0; - $106 = HEAP32[$0>>2]|0; - $107 = ((($106)) + 8|0); - $108 = HEAP32[$107>>2]|0; - $109 = (($108) + ($105<<2)|0); - HEAP32[$109>>2] = $104; - $110 = HEAP32[$i>>2]|0; - $111 = $110 ^ 1; - $112 = HEAP32[$0>>2]|0; - $113 = ((($112)) + 8|0); - $114 = HEAP32[$113>>2]|0; - $115 = (($114) + ($111<<2)|0); - $116 = HEAP32[$115>>2]|0; - $117 = HEAP32[$0>>2]|0; - $118 = ((($117)) + 12|0); - $119 = HEAP32[$118>>2]|0; - $120 = (($119) + (($116*56)|0)|0); - HEAP32[$pReadr1>>2] = $120; + $172 = ((($169)) + 16|0); + $173 = $172; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = (($173) + 4)|0; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = $15; + $180 = $179; + $181 = HEAP32[$180>>2]|0; + $182 = (($179) + 4)|0; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = ($178|0)>($184|0); + $186 = ($175>>>0)>($181>>>0); + $187 = ($178|0)==($184|0); + $188 = $187 & $186; + $189 = $185 | $188; + if ($189) { + $190 = HEAP32[$16>>2]|0; + $191 = ((($190)) + 16|0); + $192 = $191; + $193 = $192; + $194 = HEAP32[$193>>2]|0; + $195 = (($192) + 4)|0; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = $15; + $199 = $198; + HEAP32[$199>>2] = $194; + $200 = (($198) + 4)|0; + $201 = $200; + HEAP32[$201>>2] = $197; + } + } + $202 = HEAP32[$8>>2]|0; + $203 = (($202) + 1)|0; + HEAP32[$8>>2] = $203; + } + $204 = HEAP32[$10>>2]|0; + $205 = ($204|0)==(0); + if (!($205)) { + break; + } + } + HEAP32[$8>>2] = 0; + while(1) { + $206 = HEAP32[$8>>2]|0; + $207 = HEAP32[$4>>2]|0; + $208 = ((($207)) + 8|0); + $209 = HEAP32[$208>>2]|0; + $210 = ($206|0)<($209|0); + if (!($210)) { + break; + } + $211 = HEAP32[$6>>2]|0; + $212 = HEAP32[$8>>2]|0; + $213 = (($211) + (($212*48)|0)|0); + $214 = ((($213)) + 16|0); + $215 = $214; + $216 = $215; + $217 = HEAP32[$216>>2]|0; + $218 = (($215) + 4)|0; + $219 = $218; + $220 = HEAP32[$219>>2]|0; + $221 = $17; + $222 = $221; + HEAP32[$222>>2] = $217; + $223 = (($221) + 4)|0; + $224 = $223; + HEAP32[$224>>2] = $220; + $225 = HEAP32[$6>>2]|0; + $226 = HEAP32[$8>>2]|0; + $227 = (($225) + (($226*48)|0)|0); + $228 = ((($227)) + 32|0); + HEAP32[$18>>2] = $228; + $229 = HEAP32[$6>>2]|0; + $230 = HEAP32[$8>>2]|0; + $231 = (($229) + (($230*48)|0)|0); + $232 = ((($231)) + 40|0); + $233 = HEAP32[$232>>2]|0; + $234 = ((($233)) + 4|0); + $235 = HEAP32[$234>>2]|0; + $236 = ($235|0)==(0); + if ($236) { + label = 25; + } else { + $237 = $17; + $238 = $237; + $239 = HEAP32[$238>>2]|0; + $240 = (($237) + 4)|0; + $241 = $240; + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[$18>>2]|0; + $244 = $243; + $245 = $244; + $246 = HEAP32[$245>>2]|0; + $247 = (($244) + 4)|0; + $248 = $247; + $249 = HEAP32[$248>>2]|0; + $250 = ($239|0)!=($246|0); + $251 = ($242|0)!=($249|0); + $252 = $250 | $251; + if ($252) { + label = 25; } - } while(0); - if ((label|0) == 12) { + } + if ((label|0) == 25) { label = 0; - $69 = HEAP32[$pReadr1>>2]|0; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 12|0); - $72 = HEAP32[$71>>2]|0; - $73 = $69; - $74 = $72; - $75 = (($73) - ($74))|0; - $76 = (($75|0) / 56)&-1; - $77 = HEAP32[$i>>2]|0; - $78 = HEAP32[$0>>2]|0; - $79 = ((($78)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (($80) + ($77<<2)|0); - HEAP32[$81>>2] = $76; - $82 = HEAP32[$i>>2]|0; - $83 = $82 ^ 1; - $84 = HEAP32[$0>>2]|0; - $85 = ((($84)) + 8|0); - $86 = HEAP32[$85>>2]|0; - $87 = (($86) + ($83<<2)|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$0>>2]|0; - $90 = ((($89)) + 12|0); - $91 = HEAP32[$90>>2]|0; - $92 = (($91) + (($88*56)|0)|0); - HEAP32[$pReadr2>>2] = $92; - HEAP32[$bCached>>2] = 0; + $253 = HEAP32[$6>>2]|0; + $254 = HEAP32[$8>>2]|0; + $255 = (($253) + (($254*48)|0)|0); + $256 = ((($255)) + 40|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[$18>>2]|0; + $259 = $17; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + (_sqlite3Fts5PoslistWriterAppend($257,$258,$261,$264)|0); } - $121 = HEAP32[$i>>2]|0; - $122 = (($121|0) / 2)&-1; - HEAP32[$i>>2] = $122; + $265 = HEAP32[$8>>2]|0; + $266 = (($265) + 1)|0; + HEAP32[$8>>2] = $266; } - $123 = HEAP32[$0>>2]|0; - $124 = ((($123)) + 8|0); - $125 = HEAP32[$124>>2]|0; - $126 = ((($125)) + 4|0); - $127 = HEAP32[$126>>2]|0; - $128 = HEAP32[$0>>2]|0; - $129 = ((($128)) + 12|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + (($127*56)|0)|0); - $132 = ((($131)) + 24|0); - $133 = HEAP32[$132>>2]|0; - $134 = ($133|0)==(0|0); - $135 = $134&1; - $136 = HEAP32[$1>>2]|0; - HEAP32[$136>>2] = $135; - } - $137 = HEAP32[$rc>>2]|0; - $138 = ($137|0)==(0); - if ($138) { - $139 = HEAP32[$pTask>>2]|0; - $140 = ((($139)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = ((($141)) + 11|0); - $143 = HEAP8[$142>>0]|0; - $144 = $143&255; - $146 = $144; - STACKTOP = sp;return ($146|0); - } else { - $145 = HEAP32[$rc>>2]|0; - $146 = $145; - STACKTOP = sp;return ($146|0); - } - return (0)|0; + HEAP32[$13>>2] = 0; + $267 = HEAP32[$6>>2]|0; + $268 = ((($267)) + 24|0); + $269 = $268; + $270 = $269; + $271 = HEAP32[$270>>2]|0; + $272 = (($269) + 4)|0; + $273 = $272; + $274 = HEAP32[$273>>2]|0; + $275 = $14; + $276 = $275; + HEAP32[$276>>2] = $271; + $277 = (($275) + 4)|0; + $278 = $277; + HEAP32[$278>>2] = $274; + HEAP32[$8>>2] = 0; + while(1) { + $279 = HEAP32[$8>>2]|0; + $280 = HEAP32[$4>>2]|0; + $281 = ((($280)) + 8|0); + $282 = HEAP32[$281>>2]|0; + $283 = ($279|0)<($282|0); + $284 = HEAP32[$6>>2]|0; + if (!($283)) { + break; + } + $285 = HEAP32[$8>>2]|0; + $286 = (($284) + (($285*48)|0)|0); + $287 = ((($286)) + 24|0); + $288 = $287; + $289 = $288; + $290 = HEAP32[$289>>2]|0; + $291 = (($288) + 4)|0; + $292 = $291; + $293 = HEAP32[$292>>2]|0; + $294 = $14; + $295 = $294; + $296 = HEAP32[$295>>2]|0; + $297 = (($294) + 4)|0; + $298 = $297; + $299 = HEAP32[$298>>2]|0; + $300 = ($293|0)<($299|0); + $301 = ($290>>>0)<($296>>>0); + $302 = ($293|0)==($299|0); + $303 = $302 & $301; + $304 = $300 | $303; + if ($304) { + $305 = HEAP32[$6>>2]|0; + $306 = HEAP32[$8>>2]|0; + $307 = (($305) + (($306*48)|0)|0); + $308 = ((($307)) + 24|0); + $309 = $308; + $310 = $309; + $311 = HEAP32[$310>>2]|0; + $312 = (($309) + 4)|0; + $313 = $312; + $314 = HEAP32[$313>>2]|0; + $315 = $14; + $316 = $315; + HEAP32[$316>>2] = $311; + $317 = (($315) + 4)|0; + $318 = $317; + HEAP32[$318>>2] = $314; + $319 = HEAP32[$8>>2]|0; + HEAP32[$13>>2] = $319; + } + $320 = HEAP32[$8>>2]|0; + $321 = (($320) + 1)|0; + HEAP32[$8>>2] = $321; + } + $322 = HEAP32[$13>>2]|0; + $323 = (($284) + (($322*48)|0)|0); + $324 = (_fts5LookaheadReaderNext($323)|0); + $325 = ($324|0)!=(0); + if ($325) { + break; + } + } + $326 = HEAP32[$6>>2]|0; + $327 = ((($326)) + 40|0); + $328 = HEAP32[$327>>2]|0; + $329 = ((($328)) + 4|0); + $330 = HEAP32[$329>>2]|0; + $331 = ($330|0)>(0); + $332 = $331&1; + HEAP32[$19>>2] = $332; + $333 = HEAP32[$9>>2]|0; + $334 = HEAP32[$3>>2]|0; + HEAP32[$334>>2] = $333; + $335 = HEAP32[$6>>2]|0; + $336 = ($335|0)!=($5|0); + if ($336) { + $337 = HEAP32[$6>>2]|0; + _sqlite3_free($337); + } + $338 = HEAP32[$19>>2]|0; + HEAP32[$2>>2] = $338; + $339 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($339|0); +} +function _fts5LookaheadReaderInit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$5>>2]|0; + ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;HEAP32[$6+20>>2]=0|0;HEAP32[$6+24>>2]=0|0;HEAP32[$6+28>>2]=0|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$5>>2]|0; + HEAP32[$8>>2] = $7; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 4|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$5>>2]|0; + (_fts5LookaheadReaderNext($12)|0); + $13 = HEAP32[$5>>2]|0; + $14 = (_fts5LookaheadReaderNext($13)|0); + STACKTOP = sp;return ($14|0); } -function _vdbePmaReaderNext($pReadr) { - $pReadr = $pReadr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $bEof = 0, $nRec = 0, $pIncr = 0, $rc = 0, label = 0, sp = 0; +function _fts5LookaheadReaderNext($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $rc = sp + 16|0; - $nRec = sp; - $pIncr = sp + 12|0; - $bEof = sp + 8|0; - HEAP32[$1>>2] = $pReadr; - HEAP32[$rc>>2] = 0; - $2 = $nRec; - $3 = $2; - HEAP32[$3>>2] = 0; - $4 = (($2) + 4)|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + $4 = $3; $5 = $4; - HEAP32[$5>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = $6; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 8|0); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 16|0); + $12 = $11; + $13 = $12; + HEAP32[$13>>2] = $6; + $14 = (($12) + 4)|0; $15 = $14; - $16 = $15; + HEAP32[$15>>2] = $9; + $16 = HEAP32[$1>>2]|0; $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 4|0); $20 = HEAP32[$19>>2]|0; - $21 = ($12|0)>($20|0); - $22 = ($9>>>0)>=($17>>>0); - $23 = ($12|0)==($20|0); - $24 = $23 & $22; - $25 = $21 | $24; - if ($25) { - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 48|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$pIncr>>2] = $28; - HEAP32[$bEof>>2] = 1; - $29 = HEAP32[$pIncr>>2]|0; - $30 = ($29|0)!=(0|0); - if ($30) { - $31 = HEAP32[$pIncr>>2]|0; - $32 = (_vdbeIncrSwap($31)|0); - HEAP32[$rc>>2] = $32; - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$pIncr>>2]|0; - $36 = ((($35)) + 20|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)==(0); - if ($38) { - $39 = HEAP32[$pIncr>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$pIncr>>2]|0; - $43 = ((($42)) + 32|0); - $44 = HEAP32[$pIncr>>2]|0; - $45 = ((($44)) + 8|0); - $46 = $45; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (($46) + 4)|0; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (_vdbePmaReaderSeek($40,$41,$43,$48,$51)|0); - HEAP32[$rc>>2] = $52; - HEAP32[$bEof>>2] = 0; - } - } - } - $53 = HEAP32[$bEof>>2]|0; - $54 = ($53|0)!=(0); - if ($54) { - $55 = HEAP32[$1>>2]|0; - _vdbePmaReaderClear($55); - $56 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $56; - $82 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($82|0); - } - } - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)==(0); - if ($58) { - $59 = HEAP32[$1>>2]|0; - $60 = (_vdbePmaReadVarint($59,$nRec)|0); - HEAP32[$rc>>2] = $60; - } - $61 = HEAP32[$rc>>2]|0; - $62 = ($61|0)==(0); - if ($62) { - $63 = $nRec; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (($63) + 4)|0; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 20|0); - HEAP32[$70>>2] = $65; - $71 = HEAP32[$1>>2]|0; - $72 = $nRec; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 32|0); - $80 = (_vdbePmaReadBlob($71,$74,$79)|0); - HEAP32[$rc>>2] = $80; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 8|0); + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 24|0); + $25 = (_sqlite3Fts5PoslistNext64($17,$20,$22,$24)|0); + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 24|0); + $29 = $28; + $30 = $29; + HEAP32[$30>>2] = 0; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = 1073741824; } - $81 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $81; - $82 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($82|0); + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 16|0); + $35 = $34; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = ($37|0)==(0); + $42 = ($40|0)==(1073741824); + $43 = $41 & $42; + $44 = $43&1; + STACKTOP = sp;return ($44|0); } -function _vdbeIncrSwap($pIncr) { - $pIncr = $pIncr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5PoslistWriterAppend($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pIncr; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = (_vdbeIncrPopulate($1)|0); - HEAP32[$rc>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 32|0); - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 32|0); - $7 = ((($6)) + 16|0); - ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$7+12>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 32|0); - $10 = ((($9)) + 8|0); - $11 = $10; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp; + $8 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + $9 = $7; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = (($9) + 4)|0; $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; + HEAP32[$12>>2] = $3; + HEAP32[$8>>2] = 0; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + 15)|0; + $17 = HEAP32[$5>>2]|0; $18 = ((($17)) + 8|0); - $19 = $18; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = ($13|0)==($21|0); - $26 = ($16|0)==($24|0); - $27 = $25 & $26; - if (!($27)) { - $30 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($30|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($16>>>0)<=($19>>>0); + if (!($20)) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = (15 + ($24))|0; + $26 = (_sqlite3Fts5BufferSize($8,$21,$25)|0); + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $28; + $37 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($37|0); + } } - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 20|0); - HEAP32[$29>>2] = 1; - $30 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($30|0); + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = $7; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + _sqlite3Fts5PoslistSafeAppend($29,$30,$33,$36); + HEAP32[$4>>2] = 0; + $37 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($37|0); } -function _vdbePmaReaderSeek($pTask,$pReadr,$pFile,$0,$1) { - $pTask = $pTask|0; - $pReadr = $pReadr|0; - $pFile = $pFile|0; +function _fts5ExprSynonymList($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $iBuf = 0, $nRead = 0, $or$cond = 0, $pgsz = 0, $rc = 0, label = 0, sp = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $6 = sp; - $rc = sp + 20|0; - $pgsz = sp + 16|0; - $iBuf = sp + 12|0; - $nRead = sp + 8|0; - HEAP32[$3>>2] = $pTask; - HEAP32[$4>>2] = $pReadr; - HEAP32[$5>>2] = $pFile; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - HEAP32[$rc>>2] = 0; - $11 = (_sqlite3FaultSim(201)|0); - $12 = ($11|0)!=(0); - if ($12) { - HEAP32[$2>>2] = 266; - $166 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($166|0); - } - $13 = HEAP32[$4>>2]|0; - $14 = ((($13)) + 44|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$4>>2]|0; - $18 = ((($17)) + 24|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = ((($20)) + 44|0); - $22 = HEAP32[$21>>2]|0; - (_sqlite3OsUnfetch($19,0,0,$22)|0); - $23 = HEAP32[$4>>2]|0; - $24 = ((($23)) + 44|0); - HEAP32[$24>>2] = 0; - } - $25 = $6; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$4>>2]|0; - $32 = $31; - $33 = $32; - HEAP32[$33>>2] = $27; - $34 = (($32) + 4)|0; - $35 = $34; - HEAP32[$35>>2] = $30; - $36 = HEAP32[$5>>2]|0; - $37 = ((($36)) + 8|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$4>>2]|0; - $45 = ((($44)) + 8|0); - $46 = $45; - $47 = $46; - HEAP32[$47>>2] = $40; - $48 = (($46) + 4)|0; - $49 = $48; - HEAP32[$49>>2] = $43; - $50 = HEAP32[$5>>2]|0; - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$4>>2]|0; - $53 = ((($52)) + 24|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$3>>2]|0; - $55 = HEAP32[$5>>2]|0; - $56 = HEAP32[$4>>2]|0; - $57 = ((($56)) + 44|0); - $58 = (_vdbeSorterMapFile($54,$55,$57)|0); - HEAP32[$rc>>2] = $58; - $59 = HEAP32[$rc>>2]|0; - $60 = ($59|0)==(0); - if ($60) { - $61 = HEAP32[$4>>2]|0; - $62 = ((($61)) + 44|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $65 = HEAP32[$3>>2]|0; - $66 = ((($65)) + 8|0); - $67 = HEAP32[$66>>2]|0; - $68 = ((($67)) + 12|0); - $69 = HEAP32[$68>>2]|0; - HEAP32[$pgsz>>2] = $69; - $70 = HEAP32[$4>>2]|0; - $71 = $70; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = (($71) + 4)|0; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = HEAP32[$pgsz>>2]|0; - $78 = ($77|0)<(0); - $79 = $78 << 31 >> 31; - $80 = (___remdi3(($73|0),($76|0),($77|0),($79|0))|0); - $81 = tempRet0; - HEAP32[$iBuf>>2] = $80; - $82 = HEAP32[$4>>2]|0; - $83 = ((($82)) + 36|0); - $84 = HEAP32[$83>>2]|0; - $85 = ($84|0)==(0|0); - if ($85) { - $86 = HEAP32[$pgsz>>2]|0; - $87 = ($86|0)<(0); - $88 = $87 << 31 >> 31; - $89 = (_sqlite3Malloc($86,$88)|0); - $90 = HEAP32[$4>>2]|0; - $91 = ((($90)) + 36|0); - HEAP32[$91>>2] = $89; - $92 = HEAP32[$4>>2]|0; - $93 = ((($92)) + 36|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)==(0|0); - if ($95) { - HEAP32[$rc>>2] = 7; - } - $96 = HEAP32[$pgsz>>2]|0; - $97 = HEAP32[$4>>2]|0; - $98 = ((($97)) + 40|0); - HEAP32[$98>>2] = $96; - } - $99 = HEAP32[$rc>>2]|0; - $100 = ($99|0)==(0); - $101 = HEAP32[$iBuf>>2]|0; - $102 = ($101|0)!=(0); - $or$cond = $100 & $102; - if ($or$cond) { - $103 = HEAP32[$pgsz>>2]|0; - $104 = HEAP32[$iBuf>>2]|0; - $105 = (($103) - ($104))|0; - HEAP32[$nRead>>2] = $105; - $106 = HEAP32[$4>>2]|0; - $107 = $106; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (($107) + 4)|0; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = HEAP32[$nRead>>2]|0; - $114 = ($113|0)<(0); - $115 = $114 << 31 >> 31; - $116 = (_i64Add(($109|0),($112|0),($113|0),($115|0))|0); - $117 = tempRet0; - $118 = HEAP32[$4>>2]|0; - $119 = ((($118)) + 8|0); - $120 = $119; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = (($120) + 4)|0; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = ($117|0)>($125|0); - $127 = ($116>>>0)>($122>>>0); - $128 = ($117|0)==($125|0); - $129 = $128 & $127; - $130 = $126 | $129; - if ($130) { - $131 = HEAP32[$4>>2]|0; - $132 = ((($131)) + 8|0); - $133 = $132; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = (($133) + 4)|0; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = HEAP32[$4>>2]|0; - $140 = $139; - $141 = $140; - $142 = HEAP32[$141>>2]|0; - $143 = (($140) + 4)|0; - $144 = $143; - $145 = HEAP32[$144>>2]|0; - $146 = (_i64Subtract(($135|0),($138|0),($142|0),($145|0))|0); - $147 = tempRet0; - HEAP32[$nRead>>2] = $146; + STACKTOP = STACKTOP + 192|0; + $6 = sp + 176|0; + $7 = sp + 120|0; + $8 = sp + 172|0; + $9 = sp + 168|0; + $10 = sp + 164|0; + $11 = sp + 24|0; + $12 = sp + 160|0; + $13 = sp + 156|0; + $14 = sp + 152|0; + $15 = sp + 148|0; + $16 = sp + 144|0; + $17 = sp + 140|0; + $18 = sp + 136|0; + $19 = sp + 132|0; + $20 = sp + 16|0; + $21 = sp + 8|0; + $22 = sp + 128|0; + $23 = sp; + HEAP32[$6>>2] = $0; + $24 = $7; + $25 = $24; + HEAP32[$25>>2] = $1; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = $5; + HEAP32[$12>>2] = $11; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 4; + HEAP32[$15>>2] = 0; + $28 = HEAP32[$6>>2]|0; + HEAP32[$16>>2] = $28; + while(1) { + $29 = HEAP32[$16>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { + label = 14; + break; + } + $31 = HEAP32[$16>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$17>>2] = $33; + $34 = HEAP32[$17>>2]|0; + $35 = ((($34)) + 16|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = ($37|0)==(0); + if ($38) { + $39 = HEAP32[$17>>2]|0; + $40 = $39; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $7; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = ($42|0)==($48|0); + $53 = ($45|0)==($51|0); + $54 = $52 & $53; + if ($54) { + $55 = HEAP32[$17>>2]|0; + $56 = ((($55)) + 12|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0); + if (!($58)) { + $59 = HEAP32[$13>>2]|0; + $60 = HEAP32[$14>>2]|0; + $61 = ($59|0)==($60|0); + if ($61) { + $62 = HEAP32[$14>>2]|0; + $63 = ($62*24)|0; + $64 = $63<<1; + HEAP32[$18>>2] = $64; + $65 = HEAP32[$18>>2]|0; + $66 = (_sqlite3_malloc($65)|0); + HEAP32[$19>>2] = $66; + $67 = HEAP32[$19>>2]|0; + $68 = ($67|0)==(0|0); + if ($68) { + label = 8; + break; + } + $69 = HEAP32[$19>>2]|0; + $70 = HEAP32[$12>>2]|0; + $71 = HEAP32[$13>>2]|0; + $72 = ($71*24)|0; + _memcpy(($69|0),($70|0),($72|0))|0; + $73 = HEAP32[$14>>2]|0; + $74 = $73<<1; + HEAP32[$14>>2] = $74; + $75 = HEAP32[$12>>2]|0; + $76 = ($75|0)!=($11|0); + if ($76) { + $77 = HEAP32[$12>>2]|0; + _sqlite3_free($77); + } + $78 = HEAP32[$19>>2]|0; + HEAP32[$12>>2] = $78; + } + $79 = HEAP32[$17>>2]|0; + $80 = ((($79)) + 8|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$17>>2]|0; + $83 = ((($82)) + 12|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$12>>2]|0; + $86 = HEAP32[$13>>2]|0; + $87 = (($85) + (($86*24)|0)|0); + (_sqlite3Fts5PoslistReaderInit($81,$84,$87)|0); + $88 = HEAP32[$13>>2]|0; + $89 = (($88) + 1)|0; + HEAP32[$13>>2] = $89; } - $148 = HEAP32[$4>>2]|0; - $149 = ((($148)) + 24|0); - $150 = HEAP32[$149>>2]|0; - $151 = HEAP32[$iBuf>>2]|0; - $152 = HEAP32[$4>>2]|0; - $153 = ((($152)) + 36|0); - $154 = HEAP32[$153>>2]|0; - $155 = (($154) + ($151)|0); - $156 = HEAP32[$nRead>>2]|0; - $157 = HEAP32[$4>>2]|0; - $158 = $157; - $159 = $158; - $160 = HEAP32[$159>>2]|0; - $161 = (($158) + 4)|0; - $162 = $161; - $163 = HEAP32[$162>>2]|0; - $164 = (_sqlite3OsRead($150,$155,$156,$160,$163)|0); - HEAP32[$rc>>2] = $164; } } + $90 = HEAP32[$16>>2]|0; + $91 = ((($90)) + 12|0); + $92 = HEAP32[$91>>2]|0; + HEAP32[$16>>2] = $92; } - $165 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $165; - $166 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($166|0); -} -function _vdbePmaReadVarint($p,$pnOut) { - $p = $p|0; - $pnOut = $pnOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $a = 0, $aVarint = 0, $i = 0, $iBuf = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $iBuf = sp + 12|0; - $aVarint = sp + 32|0; - $a = sp + 8|0; - $i = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pnOut; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 44|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - $7 = HEAP32[$1>>2]|0; - $8 = $7; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; do { - if ($6) { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 44|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($10)|0); - $18 = HEAP32[$2>>2]|0; - $19 = (_sqlite3GetVarint($17,$18)|0); - $20 = $19&255; - $21 = HEAP32[$1>>2]|0; - $22 = $21; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (_i64Add(($24|0),($27|0),($20|0),0)|0); - $29 = tempRet0; - $30 = $21; - $31 = $30; - HEAP32[$31>>2] = $28; - $32 = (($30) + 4)|0; - $33 = $32; - HEAP32[$33>>2] = $29; - } else { - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 40|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)<(0); - $38 = $37 << 31 >> 31; - $39 = (___remdi3(($10|0),($13|0),($36|0),($38|0))|0); - $40 = tempRet0; - HEAP32[$iBuf>>2] = $39; - $41 = HEAP32[$iBuf>>2]|0; - $42 = ($41|0)!=(0); - if ($42) { - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 40|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$iBuf>>2]|0; - $47 = (($45) - ($46))|0; - $48 = ($47|0)>=(9); - if ($48) { - $49 = HEAP32[$iBuf>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 36|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + ($49)|0); - $54 = HEAP32[$2>>2]|0; - $55 = (_sqlite3GetVarint($53,$54)|0); - $56 = $55&255; - $57 = HEAP32[$1>>2]|0; - $58 = $57; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (_i64Add(($60|0),($63|0),($56|0),0)|0); - $65 = tempRet0; - $66 = $57; - $67 = $66; - HEAP32[$67>>2] = $64; - $68 = (($66) + 4)|0; - $69 = $68; - HEAP32[$69>>2] = $65; - break; - } + if ((label|0) == 8) { + HEAP32[$15>>2] = 7; + } + else if ((label|0) == 14) { + $93 = HEAP32[$13>>2]|0; + $94 = ($93|0)==(1); + if ($94) { + $95 = HEAP32[$12>>2]|0; + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$9>>2]|0; + HEAP32[$97>>2] = $96; + $98 = HEAP32[$12>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$10>>2]|0; + HEAP32[$101>>2] = $100; + break; } - HEAP32[$i>>2] = 0; + ;HEAP32[$20>>2]=0|0;HEAP32[$20+4>>2]=0|0; + $102 = $21; + $103 = $102; + HEAP32[$103>>2] = -1; + $104 = (($102) + 4)|0; + $105 = $104; + HEAP32[$105>>2] = -1; + $106 = HEAP32[$8>>2]|0; + _sqlite3Fts5BufferZero($106); while(1) { - $70 = HEAP32[$1>>2]|0; - $71 = (_vdbePmaReadBlob($70,1,$a)|0); - HEAP32[$rc>>2] = $71; - $72 = HEAP32[$rc>>2]|0; - $73 = ($72|0)!=(0); - if ($73) { - break; + $107 = $23; + $108 = $107; + HEAP32[$108>>2] = -1; + $109 = (($107) + 4)|0; + $110 = $109; + HEAP32[$110>>2] = 2147483647; + HEAP32[$22>>2] = 0; + while(1) { + $111 = HEAP32[$22>>2]|0; + $112 = HEAP32[$13>>2]|0; + $113 = ($111|0)<($112|0); + if (!($113)) { + break; + } + $114 = HEAP32[$12>>2]|0; + $115 = HEAP32[$22>>2]|0; + $116 = (($114) + (($115*24)|0)|0); + $117 = ((($116)) + 13|0); + $118 = HEAP8[$117>>0]|0; + $119 = $118&255; + $120 = ($119|0)==(0); + do { + if ($120) { + $121 = HEAP32[$12>>2]|0; + $122 = HEAP32[$22>>2]|0; + $123 = (($121) + (($122*24)|0)|0); + $124 = ((($123)) + 16|0); + $125 = $124; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = (($125) + 4)|0; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = $21; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (($131) + 4)|0; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = ($127|0)==($133|0); + $138 = ($130|0)==($136|0); + $139 = $137 & $138; + if ($139) { + $140 = HEAP32[$12>>2]|0; + $141 = HEAP32[$22>>2]|0; + $142 = (($140) + (($141*24)|0)|0); + $143 = (_sqlite3Fts5PoslistReaderNext($142)|0); + $144 = ($143|0)!=(0); + if ($144) { + break; + } + } + $145 = HEAP32[$12>>2]|0; + $146 = HEAP32[$22>>2]|0; + $147 = (($145) + (($146*24)|0)|0); + $148 = ((($147)) + 16|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = $23; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = (($155) + 4)|0; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = ($154|0)<($160|0); + $162 = ($151>>>0)<($157>>>0); + $163 = ($154|0)==($160|0); + $164 = $163 & $162; + $165 = $161 | $164; + if ($165) { + $166 = HEAP32[$12>>2]|0; + $167 = HEAP32[$22>>2]|0; + $168 = (($166) + (($167*24)|0)|0); + $169 = ((($168)) + 16|0); + $170 = $169; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = (($170) + 4)|0; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = $23; + $177 = $176; + HEAP32[$177>>2] = $172; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $175; + } + } + } while(0); + $180 = HEAP32[$22>>2]|0; + $181 = (($180) + 1)|0; + HEAP32[$22>>2] = $181; } - $75 = HEAP32[$a>>2]|0; - $76 = HEAP8[$75>>0]|0; - $77 = HEAP32[$i>>2]|0; - $78 = (($77) + 1)|0; - HEAP32[$i>>2] = $78; - $79 = $77 & 15; - $80 = (($aVarint) + ($79)|0); - HEAP8[$80>>0] = $76; - $81 = HEAP32[$a>>2]|0; - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 & 128; - $85 = ($84|0)!=(0); - if (!($85)) { - label = 10; + $182 = $23; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = (($182) + 4)|0; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = ($184|0)==(-1); + $189 = ($187|0)==(2147483647); + $190 = $188 & $189; + $191 = HEAP32[$15>>2]|0; + $192 = ($191|0)!=(0); + $or$cond = $190 | $192; + if ($or$cond) { break; } + $193 = HEAP32[$8>>2]|0; + $194 = $23; + $195 = $194; + $196 = HEAP32[$195>>2]|0; + $197 = (($194) + 4)|0; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (_sqlite3Fts5PoslistWriterAppend($193,$20,$196,$199)|0); + HEAP32[$15>>2] = $200; + $201 = $23; + $202 = $201; + $203 = HEAP32[$202>>2]|0; + $204 = (($201) + 4)|0; + $205 = $204; + $206 = HEAP32[$205>>2]|0; + $207 = $21; + $208 = $207; + HEAP32[$208>>2] = $203; + $209 = (($207) + 4)|0; + $210 = $209; + HEAP32[$210>>2] = $206; } - if ((label|0) == 10) { - $86 = HEAP32[$2>>2]|0; - (_sqlite3GetVarint($aVarint,$86)|0); - break; + $211 = HEAP32[$15>>2]|0; + $212 = ($211|0)==(0); + if ($212) { + $213 = HEAP32[$8>>2]|0; + $214 = HEAP32[$213>>2]|0; + $215 = HEAP32[$9>>2]|0; + HEAP32[$215>>2] = $214; + $216 = HEAP32[$8>>2]|0; + $217 = ((($216)) + 4|0); + $218 = HEAP32[$217>>2]|0; + $219 = HEAP32[$10>>2]|0; + HEAP32[$219>>2] = $218; } - $74 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $74; - $87 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($87|0); } } while(0); - HEAP32[$0>>2] = 0; - $87 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($87|0); + $220 = HEAP32[$12>>2]|0; + $221 = ($220|0)!=($11|0); + if (!($221)) { + $223 = HEAP32[$15>>2]|0; + STACKTOP = sp;return ($223|0); + } + $222 = HEAP32[$12>>2]|0; + _sqlite3_free($222); + $223 = HEAP32[$15>>2]|0; + STACKTOP = sp;return ($223|0); +} +function _sqlite3Fts5PoslistReaderInit($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$5>>2]|0; + ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;HEAP32[$6+20>>2]=0|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$5>>2]|0; + HEAP32[$8>>2] = $7; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 4|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$5>>2]|0; + (_sqlite3Fts5PoslistReaderNext($12)|0); + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 13|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + STACKTOP = sp;return ($16|0); } -function _vdbePmaReadBlob($p,$nByte,$ppOut) { - $p = $p|0; - $nByte = $nByte|0; - $ppOut = $ppOut|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; +function _sqlite3Fts5PoslistReaderNext($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, $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; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 16|0); + $11 = (_sqlite3Fts5PoslistNext64($3,$6,$8,$10)|0); + $12 = ($11|0)!=(0); + if ($12) { + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 13|0); + HEAP8[$14>>0] = 1; + } + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 13|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + STACKTOP = sp;return ($18|0); +} +function _fts5MultiIterNextFrom($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, $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, $aNew = 0, $aNext = 0, $iBuf = 0, $nAvail = 0; - var $nCopy = 0, $nNew = 0, $nRead = 0, $nRem = 0, $rc = 0, $rc1 = 0, label = 0, sp = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $iBuf = sp + 36|0; - $nAvail = sp + 32|0; - $nRead = sp + 28|0; - $rc = sp + 24|0; - $nRem = sp + 20|0; - $aNew = sp + 16|0; - $nNew = sp + 12|0; - $rc1 = sp + 8|0; - $nCopy = sp + 4|0; - $aNext = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $nByte; - HEAP32[$3>>2] = $ppOut; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $8 = $6; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $3; + while(1) { + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = $6; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + _fts5MultiIterNext($12,$13,1,$16,$19); + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = (_fts5MultiIterEof($20,$21)|0); + $23 = ($22|0)!=(0); + if ($23) { + label = 7; + break; + } + $24 = HEAP32[$5>>2]|0; + $25 = (_fts5MultiIterRowid($24)|0); + $26 = tempRet0; + $27 = $7; + $28 = $27; + HEAP32[$28>>2] = $25; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $26; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 56|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0); + if ($34) { + $35 = $7; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = $6; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = ($40|0)>($46|0); + $48 = ($37>>>0)>=($43>>>0); + $49 = ($40|0)==($46|0); + $50 = $49 & $48; + $51 = $47 | $50; + if ($51) { + label = 7; + break; + } + } + $52 = HEAP32[$5>>2]|0; + $53 = ((($52)) + 56|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)!=(0); + if (!($55)) { + continue; + } + $56 = $7; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = $6; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = ($61|0)<($67|0); + $69 = ($58>>>0)<=($64>>>0); + $70 = ($61|0)==($67|0); + $71 = $70 & $69; + $72 = $68 | $71; + if ($72) { + label = 7; + break; + } + } + if ((label|0) == 7) { + STACKTOP = sp;return; + } +} +function _fts5MultiIterRowid($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 80|0); $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 44|0); + $5 = ((($4)) + 72|0); $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - $8 = HEAP32[$1>>2]|0; - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; + $7 = ((($6)) + 4|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = (($3) + (($9*88)|0)|0); + $11 = ((($10)) + 72|0); + $12 = $11; $13 = $12; $14 = HEAP32[$13>>2]|0; - if ($7) { - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 44|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($11)|0); - $19 = HEAP32[$3>>2]|0; - HEAP32[$19>>2] = $18; - $20 = HEAP32[$2>>2]|0; - $21 = ($20|0)<(0); - $22 = $21 << 31 >> 31; - $23 = HEAP32[$1>>2]|0; - $24 = $23; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + tempRet0 = ($17); + STACKTOP = sp;return ($14|0); +} +function _fts5ExprNodeTest_TERM($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 20|0); + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 4|0); + $20 = ((($19)) + 4|0); + HEAP32[$20>>2] = $17; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 48|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if ($26) { + $27 = HEAP32[$5>>2]|0; + $28 = ((($27)) + 8|0); $29 = HEAP32[$28>>2]|0; - $30 = (_i64Add(($26|0),($29|0),($20|0),($22|0))|0); - $31 = tempRet0; - $32 = $23; - $33 = $32; - HEAP32[$33>>2] = $30; - $34 = (($32) + 4)|0; - $35 = $34; - HEAP32[$35>>2] = $31; - HEAP32[$0>>2] = 0; - $235 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($235|0); + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 4|0); + HEAP32[$31>>2] = $29; } - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 40|0); + $32 = HEAP32[$5>>2]|0; + $33 = $32; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)<(0); - $40 = $39 << 31 >> 31; - $41 = (___remdi3(($11|0),($14|0),($38|0),($40|0))|0); - $42 = tempRet0; - HEAP32[$iBuf>>2] = $41; - $43 = HEAP32[$iBuf>>2]|0; - $44 = ($43|0)==(0); - if ($44) { - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 8|0); - $47 = $46; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$1>>2]|0; - $54 = $53; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (_i64Subtract(($49|0),($52|0),($56|0),($59|0))|0); - $61 = tempRet0; - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 40|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = ($61|0)>($66|0); - $68 = ($60>>>0)>($64>>>0); - $69 = ($61|0)==($66|0); - $70 = $69 & $68; - $71 = $67 | $70; - $72 = HEAP32[$1>>2]|0; - if ($71) { - $73 = ((($72)) + 40|0); - $74 = HEAP32[$73>>2]|0; - HEAP32[$nRead>>2] = $74; + $39 = HEAP32[$3>>2]|0; + $40 = ((($39)) + 16|0); + $41 = $40; + $42 = $41; + HEAP32[$42>>2] = $35; + $43 = (($41) + 4)|0; + $44 = $43; + HEAP32[$44>>2] = $38; + $45 = HEAP32[$4>>2]|0; + $46 = ((($45)) + 4|0); + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==(0); + $50 = $49&1; + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 8|0); + HEAP32[$52>>2] = $50; + STACKTOP = sp;return 0; +} +function _fts5ExprIsspace($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP8[$1>>0] = $0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = ($3|0)==(32); + if ($4) { + $15 = 1; + } else { + $5 = HEAP8[$1>>0]|0; + $6 = $5 << 24 >> 24; + $7 = ($6|0)==(9); + if ($7) { + $15 = 1; } else { - $75 = ((($72)) + 8|0); - $76 = $75; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = (($76) + 4)|0; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = HEAP32[$1>>2]|0; - $83 = $82; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = (($83) + 4)|0; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = (_i64Subtract(($78|0),($81|0),($85|0),($88|0))|0); - $90 = tempRet0; - HEAP32[$nRead>>2] = $89; + $8 = HEAP8[$1>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)==(10); + if ($10) { + $15 = 1; + } else { + $11 = HEAP8[$1>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)==(13); + $15 = $13; + } + } + } + $14 = $15&1; + STACKTOP = sp;return ($14|0); +} +function _fts5ConfigGobbleWord($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $12 = HEAP32[$5>>2]|0; + $13 = (_strlen($12)|0); + HEAP32[$9>>2] = $13; + $14 = HEAP32[$9>>2]|0; + $15 = (($14) + 1)|0; + $16 = (_sqlite3_malloc($15)|0); + HEAP32[$10>>2] = $16; + $17 = HEAP32[$7>>2]|0; + HEAP32[$17>>2] = 0; + $18 = HEAP32[$6>>2]|0; + HEAP32[$18>>2] = 0; + $19 = HEAP32[$10>>2]|0; + $20 = ($19|0)==(0|0); + do { + if ($20) { + $21 = HEAP32[$4>>2]|0; + HEAP32[$21>>2] = 7; + } else { + $22 = HEAP32[$10>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$9>>2]|0; + $25 = (($24) + 1)|0; + _memcpy(($22|0),($23|0),($25|0))|0; + $26 = HEAP32[$10>>2]|0; + $27 = HEAP8[$26>>0]|0; + $28 = (_fts5_isopenquote($27)|0); + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$10>>2]|0; + $31 = (_fts5Dequote($30)|0); + HEAP32[$11>>2] = $31; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$11>>2]|0; + $34 = (($32) + ($33)|0); + HEAP32[$8>>2] = $34; + $35 = HEAP32[$7>>2]|0; + HEAP32[$35>>2] = 1; + break; + } + $36 = HEAP32[$5>>2]|0; + $37 = (_fts5ConfigSkipBareword($36)|0); + HEAP32[$8>>2] = $37; + $38 = HEAP32[$8>>2]|0; + $39 = ($38|0)!=(0|0); + if ($39) { + $40 = HEAP32[$10>>2]|0; + $41 = HEAP32[$8>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = $41; + $44 = $42; + $45 = (($43) - ($44))|0; + $46 = (($40) + ($45)|0); + HEAP8[$46>>0] = 0; + } + } + } while(0); + $47 = HEAP32[$8>>2]|0; + $48 = ($47|0)==(0|0); + $49 = HEAP32[$10>>2]|0; + if ($48) { + _sqlite3_free($49); + $51 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($51|0); + } else { + $50 = HEAP32[$6>>2]|0; + HEAP32[$50>>2] = $49; + $51 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($51|0); + } + return (0)|0; +} +function _fts5ConfigParseSpecial($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0; + var $vararg_buffer10 = 0, $vararg_buffer12 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer20 = 0, $vararg_buffer22 = 0, $vararg_buffer24 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr17 = 0, $vararg_ptr27 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; + $vararg_buffer24 = sp + 80|0; + $vararg_buffer22 = sp + 72|0; + $vararg_buffer20 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer12 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer8 = sp + 24|0; + $vararg_buffer6 = sp + 16|0; + $vararg_buffer4 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 156|0; + $6 = sp + 152|0; + $7 = sp + 148|0; + $8 = sp + 144|0; + $9 = sp + 140|0; + $10 = sp + 136|0; + $11 = sp + 132|0; + $12 = sp + 128|0; + $13 = sp + 124|0; + $14 = sp + 120|0; + $15 = sp + 116|0; + $16 = sp + 112|0; + $17 = sp + 108|0; + $18 = sp + 104|0; + $19 = sp + 100|0; + $20 = sp + 96|0; + $21 = sp + 92|0; + $22 = sp + 88|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = 0; + $23 = HEAP32[$8>>2]|0; + $24 = (_strlen($23)|0); + HEAP32[$12>>2] = $24; + $25 = HEAP32[$8>>2]|0; + $26 = HEAP32[$12>>2]|0; + $27 = (_sqlite3_strnicmp(46902,$25,$26)|0); + $28 = ($27|0)==(0); + if ($28) { + HEAP32[$13>>2] = 124; + HEAP32[$15>>2] = 1; + $29 = HEAP32[$7>>2]|0; + $30 = ((($29)) + 28|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + $33 = (_sqlite3Fts5MallocZero($11,124)|0); + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 28|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$11>>2]|0; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $38; + $279 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($279|0); + } + } + $39 = HEAP32[$9>>2]|0; + HEAP32[$14>>2] = $39; + while(1) { + HEAP32[$16>>2] = 0; + while(1) { + $40 = HEAP32[$14>>2]|0; + $41 = HEAP8[$40>>0]|0; + $42 = $41 << 24 >> 24; + $43 = ($42|0)==(32); + if (!($43)) { + break; + } + $44 = HEAP32[$14>>2]|0; + $45 = ((($44)) + 1|0); + HEAP32[$14>>2] = $45; + } + $46 = HEAP32[$15>>2]|0; + $47 = ($46|0)==(0); + L14: do { + if ($47) { + $48 = HEAP32[$14>>2]|0; + $49 = HEAP8[$48>>0]|0; + $50 = $49 << 24 >> 24; + $51 = ($50|0)==(44); + if ($51) { + $52 = HEAP32[$14>>2]|0; + $53 = ((($52)) + 1|0); + HEAP32[$14>>2] = $53; + while(1) { + $54 = HEAP32[$14>>2]|0; + $55 = HEAP8[$54>>0]|0; + $56 = $55 << 24 >> 24; + $57 = ($56|0)==(32); + if (!($57)) { + break L14; + } + $58 = HEAP32[$14>>2]|0; + $59 = ((($58)) + 1|0); + HEAP32[$14>>2] = $59; + } + } else { + label = 14; + } + } else { + label = 14; + } + } while(0); + if ((label|0) == 14) { + label = 0; + $60 = HEAP32[$14>>2]|0; + $61 = HEAP8[$60>>0]|0; + $62 = $61 << 24 >> 24; + $63 = ($62|0)==(0); + if ($63) { + break; + } + } + $64 = HEAP32[$14>>2]|0; + $65 = HEAP8[$64>>0]|0; + $66 = $65 << 24 >> 24; + $67 = ($66|0)<(48); + if ($67) { + label = 17; + break; + } + $68 = HEAP32[$14>>2]|0; + $69 = HEAP8[$68>>0]|0; + $70 = $69 << 24 >> 24; + $71 = ($70|0)>(57); + if ($71) { + label = 17; + break; + } + $74 = HEAP32[$7>>2]|0; + $75 = ((($74)) + 24|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)==(31); + if ($77) { + label = 19; + break; + } + while(1) { + $80 = HEAP32[$14>>2]|0; + $81 = HEAP8[$80>>0]|0; + $82 = $81 << 24 >> 24; + $83 = ($82|0)>=(48); + if ($83) { + $84 = HEAP32[$14>>2]|0; + $85 = HEAP8[$84>>0]|0; + $86 = $85 << 24 >> 24; + $87 = ($86|0)<=(57); + if ($87) { + $88 = HEAP32[$16>>2]|0; + $89 = ($88|0)<(1000); + $280 = $89; + } else { + $280 = 0; + } + } else { + $280 = 0; + } + $90 = HEAP32[$16>>2]|0; + if (!($280)) { + break; + } + $91 = ($90*10)|0; + $92 = HEAP32[$14>>2]|0; + $93 = HEAP8[$92>>0]|0; + $94 = $93 << 24 >> 24; + $95 = (($94) - 48)|0; + $96 = (($91) + ($95))|0; + HEAP32[$16>>2] = $96; + $97 = HEAP32[$14>>2]|0; + $98 = ((($97)) + 1|0); + HEAP32[$14>>2] = $98; + } + $99 = ($90|0)<=(0); + $100 = HEAP32[$16>>2]|0; + $101 = ($100|0)>=(1000); + $or$cond = $99 | $101; + if ($or$cond) { + label = 26; + break; + } + $104 = HEAP32[$16>>2]|0; + $105 = HEAP32[$7>>2]|0; + $106 = ((($105)) + 28|0); + $107 = HEAP32[$106>>2]|0; + $108 = HEAP32[$7>>2]|0; + $109 = ((($108)) + 24|0); + $110 = HEAP32[$109>>2]|0; + $111 = (($107) + ($110<<2)|0); + HEAP32[$111>>2] = $104; + $112 = HEAP32[$7>>2]|0; + $113 = ((($112)) + 24|0); + $114 = HEAP32[$113>>2]|0; + $115 = (($114) + 1)|0; + HEAP32[$113>>2] = $115; + HEAP32[$15>>2] = 0; } - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 24|0); - $93 = HEAP32[$92>>2]|0; - $94 = HEAP32[$1>>2]|0; - $95 = ((($94)) + 36|0); - $96 = HEAP32[$95>>2]|0; - $97 = HEAP32[$nRead>>2]|0; - $98 = HEAP32[$1>>2]|0; - $99 = $98; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = (($99) + 4)|0; - $103 = $102; - $104 = HEAP32[$103>>2]|0; - $105 = (_sqlite3OsRead($93,$96,$97,$101,$104)|0); - HEAP32[$rc>>2] = $105; - $106 = HEAP32[$rc>>2]|0; - $107 = ($106|0)!=(0); - if ($107) { - $108 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $108; - $235 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($235|0); + if ((label|0) == 17) { + $72 = (_sqlite3_mprintf(50062,$vararg_buffer)|0); + $73 = HEAP32[$10>>2]|0; + HEAP32[$73>>2] = $72; + HEAP32[$11>>2] = 1; + } + else if ((label|0) == 19) { + HEAP32[$vararg_buffer4>>2] = 31; + $78 = (_sqlite3_mprintf(50093,$vararg_buffer4)|0); + $79 = HEAP32[$10>>2]|0; + HEAP32[$79>>2] = $78; + HEAP32[$11>>2] = 1; } - } - $109 = HEAP32[$1>>2]|0; - $110 = ((($109)) + 40|0); - $111 = HEAP32[$110>>2]|0; - $112 = HEAP32[$iBuf>>2]|0; - $113 = (($111) - ($112))|0; - HEAP32[$nAvail>>2] = $113; - $114 = HEAP32[$2>>2]|0; - $115 = HEAP32[$nAvail>>2]|0; - $116 = ($114|0)<=($115|0); - do { - if ($116) { - $117 = HEAP32[$iBuf>>2]|0; - $118 = HEAP32[$1>>2]|0; - $119 = ((($118)) + 36|0); - $120 = HEAP32[$119>>2]|0; - $121 = (($120) + ($117)|0); - $122 = HEAP32[$3>>2]|0; - HEAP32[$122>>2] = $121; - $123 = HEAP32[$2>>2]|0; - $124 = ($123|0)<(0); - $125 = $124 << 31 >> 31; - $126 = HEAP32[$1>>2]|0; - $127 = $126; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (_i64Add(($129|0),($132|0),($123|0),($125|0))|0); - $134 = tempRet0; - $135 = $126; - $136 = $135; - HEAP32[$136>>2] = $133; - $137 = (($135) + 4)|0; - $138 = $137; - HEAP32[$138>>2] = $134; - } else { - $139 = HEAP32[$1>>2]|0; - $140 = ((($139)) + 16|0); - $141 = HEAP32[$140>>2]|0; - $142 = HEAP32[$2>>2]|0; - $143 = ($141|0)<($142|0); - do { - if ($143) { - $144 = HEAP32[$1>>2]|0; - $145 = ((($144)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = $146<<1; - $148 = (128)>($147|0); - if ($148) { - $153 = 128; + else if ((label|0) == 26) { + $102 = (_sqlite3_mprintf(50126,$vararg_buffer6)|0); + $103 = HEAP32[$10>>2]|0; + HEAP32[$103>>2] = $102; + HEAP32[$11>>2] = 1; + } + $116 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $116; + $279 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($279|0); + } + $117 = HEAP32[$8>>2]|0; + $118 = HEAP32[$12>>2]|0; + $119 = (_sqlite3_strnicmp(46131,$117,$118)|0); + $120 = ($119|0)==(0); + if ($120) { + $121 = HEAP32[$9>>2]|0; + HEAP32[$17>>2] = $121; + $122 = HEAP32[$9>>2]|0; + $123 = (_strlen($122)|0); + $124 = (($123) + 1)|0; + HEAP32[$18>>2] = $124; + $125 = HEAP32[$18>>2]|0; + $126 = $125<<2; + $127 = (_sqlite3Fts5MallocZero($11,$126)|0); + HEAP32[$19>>2] = $127; + $128 = HEAP32[$18>>2]|0; + $129 = $128<<1; + $130 = (_sqlite3Fts5MallocZero($11,$129)|0); + HEAP32[$20>>2] = $130; + $131 = HEAP32[$20>>2]|0; + HEAP32[$21>>2] = $131; + $132 = HEAP32[$19>>2]|0; + $133 = ($132|0)!=(0|0); + $134 = HEAP32[$21>>2]|0; + $135 = ($134|0)!=(0|0); + $or$cond3 = $133 & $135; + do { + if ($or$cond3) { + $136 = HEAP32[$7>>2]|0; + $137 = ((($136)) + 56|0); + $138 = HEAP32[$137>>2]|0; + $139 = ($138|0)!=(0|0); + if ($139) { + $140 = (_sqlite3_mprintf(50163,$vararg_buffer8)|0); + $141 = HEAP32[$10>>2]|0; + HEAP32[$141>>2] = $140; + HEAP32[$11>>2] = 1; + break; + } + HEAP32[$18>>2] = 0; + while(1) { + $142 = HEAP32[$17>>2]|0; + $143 = ($142|0)!=(0|0); + if ($143) { + $144 = HEAP32[$17>>2]|0; + $145 = HEAP8[$144>>0]|0; + $146 = $145 << 24 >> 24; + $147 = ($146|0)!=(0); + $281 = $147; } else { - $149 = HEAP32[$1>>2]|0; - $150 = ((($149)) + 16|0); - $151 = HEAP32[$150>>2]|0; - $152 = $151<<1; - $153 = $152; - } - HEAP32[$nNew>>2] = $153; - while(1) { - $154 = HEAP32[$2>>2]|0; - $155 = HEAP32[$nNew>>2]|0; - $156 = ($154|0)>($155|0); - if (!($156)) { - break; - } - $157 = HEAP32[$nNew>>2]|0; - $158 = $157<<1; - HEAP32[$nNew>>2] = $158; + $281 = 0; } - $159 = HEAP32[$1>>2]|0; - $160 = ((($159)) + 28|0); - $161 = HEAP32[$160>>2]|0; - $162 = HEAP32[$nNew>>2]|0; - $163 = ($162|0)<(0); - $164 = $163 << 31 >> 31; - $165 = (_sqlite3Realloc($161,$162,$164)|0); - HEAP32[$aNew>>2] = $165; - $166 = HEAP32[$aNew>>2]|0; - $167 = ($166|0)!=(0|0); - if ($167) { - $168 = HEAP32[$nNew>>2]|0; - $169 = HEAP32[$1>>2]|0; - $170 = ((($169)) + 16|0); - HEAP32[$170>>2] = $168; - $171 = HEAP32[$aNew>>2]|0; - $172 = HEAP32[$1>>2]|0; - $173 = ((($172)) + 28|0); - HEAP32[$173>>2] = $171; + $148 = HEAP32[$17>>2]|0; + if (!($281)) { break; } - HEAP32[$0>>2] = 7; - $235 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($235|0); - } - } while(0); - $174 = HEAP32[$1>>2]|0; - $175 = ((($174)) + 28|0); - $176 = HEAP32[$175>>2]|0; - $177 = HEAP32[$iBuf>>2]|0; - $178 = HEAP32[$1>>2]|0; - $179 = ((($178)) + 36|0); - $180 = HEAP32[$179>>2]|0; - $181 = (($180) + ($177)|0); - $182 = HEAP32[$nAvail>>2]|0; - _memcpy(($176|0),($181|0),($182|0))|0; - $183 = HEAP32[$nAvail>>2]|0; - $184 = ($183|0)<(0); - $185 = $184 << 31 >> 31; - $186 = HEAP32[$1>>2]|0; - $187 = $186; - $188 = $187; - $189 = HEAP32[$188>>2]|0; - $190 = (($187) + 4)|0; - $191 = $190; - $192 = HEAP32[$191>>2]|0; - $193 = (_i64Add(($189|0),($192|0),($183|0),($185|0))|0); - $194 = tempRet0; - $195 = $186; - $196 = $195; - HEAP32[$196>>2] = $193; - $197 = (($195) + 4)|0; - $198 = $197; - HEAP32[$198>>2] = $194; - $199 = HEAP32[$2>>2]|0; - $200 = HEAP32[$nAvail>>2]|0; - $201 = (($199) - ($200))|0; - HEAP32[$nRem>>2] = $201; - while(1) { - $202 = HEAP32[$nRem>>2]|0; - $203 = ($202|0)>(0); - if (!($203)) { - label = 27; + $149 = (_fts5ConfigSkipWhitespace($148)|0); + HEAP32[$22>>2] = $149; + $150 = HEAP32[$22>>2]|0; + $151 = HEAP8[$150>>0]|0; + $152 = $151 << 24 >> 24; + $153 = ($152|0)==(39); + $154 = HEAP32[$22>>2]|0; + if ($153) { + $155 = (_fts5ConfigSkipLiteral($154)|0); + HEAP32[$17>>2] = $155; + } else { + $156 = (_fts5ConfigSkipBareword($154)|0); + HEAP32[$17>>2] = $156; + } + $157 = HEAP32[$17>>2]|0; + $158 = ($157|0)!=(0|0); + if ($158) { + $159 = HEAP32[$21>>2]|0; + $160 = HEAP32[$22>>2]|0; + $161 = HEAP32[$17>>2]|0; + $162 = HEAP32[$22>>2]|0; + $163 = $161; + $164 = $162; + $165 = (($163) - ($164))|0; + _memcpy(($159|0),($160|0),($165|0))|0; + $166 = HEAP32[$21>>2]|0; + $167 = HEAP32[$19>>2]|0; + $168 = HEAP32[$18>>2]|0; + $169 = (($167) + ($168<<2)|0); + HEAP32[$169>>2] = $166; + $170 = HEAP32[$21>>2]|0; + _sqlite3Fts5Dequote($170); + $171 = HEAP32[$17>>2]|0; + $172 = HEAP32[$22>>2]|0; + $173 = $171; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = (($175) + 1)|0; + $177 = HEAP32[$21>>2]|0; + $178 = (($177) + ($176)|0); + HEAP32[$21>>2] = $178; + $179 = HEAP32[$17>>2]|0; + $180 = (_fts5ConfigSkipWhitespace($179)|0); + HEAP32[$17>>2] = $180; + } + $181 = HEAP32[$18>>2]|0; + $182 = (($181) + 1)|0; + HEAP32[$18>>2] = $182; + } + $183 = ($148|0)==(0|0); + if ($183) { + $184 = (_sqlite3_mprintf(50196,$vararg_buffer10)|0); + $185 = HEAP32[$10>>2]|0; + HEAP32[$185>>2] = $184; + HEAP32[$11>>2] = 1; + break; + } else { + $186 = HEAP32[$6>>2]|0; + $187 = HEAP32[$19>>2]|0; + $188 = HEAP32[$18>>2]|0; + $189 = HEAP32[$7>>2]|0; + $190 = ((($189)) + 56|0); + $191 = HEAP32[$7>>2]|0; + $192 = ((($191)) + 60|0); + $193 = HEAP32[$10>>2]|0; + $194 = (_sqlite3Fts5GetTokenizer($186,$187,$188,$190,$192,$193)|0); + HEAP32[$11>>2] = $194; break; } - $204 = HEAP32[$nRem>>2]|0; - HEAP32[$nCopy>>2] = $204; - $205 = HEAP32[$nRem>>2]|0; - $206 = HEAP32[$1>>2]|0; - $207 = ((($206)) + 40|0); - $208 = HEAP32[$207>>2]|0; - $209 = ($205|0)>($208|0); - if ($209) { - $210 = HEAP32[$1>>2]|0; - $211 = ((($210)) + 40|0); - $212 = HEAP32[$211>>2]|0; - HEAP32[$nCopy>>2] = $212; - } - $213 = HEAP32[$1>>2]|0; - $214 = HEAP32[$nCopy>>2]|0; - $215 = (_vdbePmaReadBlob($213,$214,$aNext)|0); - HEAP32[$rc1>>2] = $215; - $216 = HEAP32[$rc1>>2]|0; - $217 = ($216|0)!=(0); - if ($217) { + } + } while(0); + $195 = HEAP32[$19>>2]|0; + _sqlite3_free($195); + $196 = HEAP32[$20>>2]|0; + _sqlite3_free($196); + $197 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $197; + $279 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($279|0); + } + $198 = HEAP32[$8>>2]|0; + $199 = HEAP32[$12>>2]|0; + $200 = (_sqlite3_strnicmp(46221,$198,$199)|0); + $201 = ($200|0)==(0); + if ($201) { + $202 = HEAP32[$7>>2]|0; + $203 = ((($202)) + 32|0); + $204 = HEAP32[$203>>2]|0; + $205 = ($204|0)!=(0); + do { + if ($205) { + $206 = (_sqlite3_mprintf(50230,$vararg_buffer12)|0); + $207 = HEAP32[$10>>2]|0; + HEAP32[$207>>2] = $206; + HEAP32[$11>>2] = 1; + } else { + $208 = HEAP32[$9>>2]|0; + $209 = HEAP8[$208>>0]|0; + $210 = ($209<<24>>24)!=(0); + $211 = HEAP32[$7>>2]|0; + $212 = ((($211)) + 32|0); + if ($210) { + HEAP32[$212>>2] = 2; + $213 = HEAP32[$7>>2]|0; + $214 = ((($213)) + 4|0); + $215 = HEAP32[$214>>2]|0; + $216 = HEAP32[$9>>2]|0; + HEAP32[$vararg_buffer14>>2] = $215; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $216; + $217 = (_sqlite3Fts5Mprintf($11,50262,$vararg_buffer14)|0); + $218 = HEAP32[$7>>2]|0; + $219 = ((($218)) + 36|0); + HEAP32[$219>>2] = $217; + break; + } else { + HEAP32[$212>>2] = 1; break; } - $219 = HEAP32[$2>>2]|0; - $220 = HEAP32[$nRem>>2]|0; - $221 = (($219) - ($220))|0; - $222 = HEAP32[$1>>2]|0; - $223 = ((($222)) + 28|0); - $224 = HEAP32[$223>>2]|0; - $225 = (($224) + ($221)|0); - $226 = HEAP32[$aNext>>2]|0; - $227 = HEAP32[$nCopy>>2]|0; - _memcpy(($225|0),($226|0),($227|0))|0; - $228 = HEAP32[$nCopy>>2]|0; - $229 = HEAP32[$nRem>>2]|0; - $230 = (($229) - ($228))|0; - HEAP32[$nRem>>2] = $230; } - if ((label|0) == 27) { - $231 = HEAP32[$1>>2]|0; - $232 = ((($231)) + 28|0); - $233 = HEAP32[$232>>2]|0; - $234 = HEAP32[$3>>2]|0; - HEAP32[$234>>2] = $233; - break; + } while(0); + $220 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $220; + $279 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($279|0); + } + $221 = HEAP32[$8>>2]|0; + $222 = HEAP32[$12>>2]|0; + $223 = (_sqlite3_strnicmp(50268,$221,$222)|0); + $224 = ($223|0)==(0); + if ($224) { + $225 = HEAP32[$7>>2]|0; + $226 = ((($225)) + 40|0); + $227 = HEAP32[$226>>2]|0; + $228 = ($227|0)!=(0|0); + if ($228) { + $229 = (_sqlite3_mprintf(50282,$vararg_buffer18)|0); + $230 = HEAP32[$10>>2]|0; + HEAP32[$230>>2] = $229; + HEAP32[$11>>2] = 1; + } else { + $231 = HEAP32[$9>>2]|0; + $232 = (_sqlite3Fts5Strndup($11,$231,-1)|0); + $233 = HEAP32[$7>>2]|0; + $234 = ((($233)) + 40|0); + HEAP32[$234>>2] = $232; + } + $235 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $235; + $279 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($279|0); + } + $236 = HEAP32[$8>>2]|0; + $237 = HEAP32[$12>>2]|0; + $238 = (_sqlite3_strnicmp(50320,$236,$237)|0); + $239 = ($238|0)==(0); + if ($239) { + $240 = HEAP32[$9>>2]|0; + $241 = HEAP8[$240>>0]|0; + $242 = $241 << 24 >> 24; + $243 = ($242|0)!=(48); + if ($243) { + $244 = HEAP32[$9>>2]|0; + $245 = HEAP8[$244>>0]|0; + $246 = $245 << 24 >> 24; + $247 = ($246|0)!=(49); + if ($247) { + label = 63; + } else { + label = 62; } - $218 = HEAP32[$rc1>>2]|0; - HEAP32[$0>>2] = $218; - $235 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($235|0); + } else { + label = 62; } - } while(0); - HEAP32[$0>>2] = 0; - $235 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($235|0); + if ((label|0) == 62) { + $248 = HEAP32[$9>>2]|0; + $249 = ((($248)) + 1|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250 << 24 >> 24; + $252 = ($251|0)!=(0); + if ($252) { + label = 63; + } else { + $255 = HEAP32[$9>>2]|0; + $256 = HEAP8[$255>>0]|0; + $257 = $256 << 24 >> 24; + $258 = ($257|0)==(49); + $259 = $258&1; + $260 = HEAP32[$7>>2]|0; + $261 = ((($260)) + 44|0); + HEAP32[$261>>2] = $259; + } + } + if ((label|0) == 63) { + $253 = (_sqlite3_mprintf(50331,$vararg_buffer20)|0); + $254 = HEAP32[$10>>2]|0; + HEAP32[$254>>2] = $253; + HEAP32[$11>>2] = 1; + } + $262 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $262; + $279 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($279|0); + } else { + $263 = HEAP32[$8>>2]|0; + $264 = HEAP32[$12>>2]|0; + $265 = (_sqlite3_strnicmp(25281,$263,$264)|0); + $266 = ($265|0)==(0); + if (!($266)) { + $275 = HEAP32[$12>>2]|0; + $276 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer24>>2] = $275; + $vararg_ptr27 = ((($vararg_buffer24)) + 4|0); + HEAP32[$vararg_ptr27>>2] = $276; + $277 = (_sqlite3_mprintf(50397,$vararg_buffer24)|0); + $278 = HEAP32[$10>>2]|0; + HEAP32[$278>>2] = $277; + HEAP32[$5>>2] = 1; + $279 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($279|0); + } + $267 = HEAP32[$9>>2]|0; + $268 = HEAP32[$7>>2]|0; + $269 = ((($268)) + 48|0); + $270 = (_fts5ConfigSetEnum(10540,$267,$269)|0); + HEAP32[$11>>2] = $270; + $271 = ($270|0)!=(0); + if ($271) { + $272 = (_sqlite3_mprintf(50366,$vararg_buffer22)|0); + $273 = HEAP32[$10>>2]|0; + HEAP32[$273>>2] = $272; + } + $274 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $274; + $279 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($279|0); + } + return (0)|0; } -function _vdbeSorterMapFile($pTask,$pFile,$pp) { - $pTask = $pTask|0; - $pFile = $pFile|0; - $pp = $pp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $pFd = 0, $rc = 0, label = 0, sp = 0; +function _fts5ConfigParseColumn($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $rc = sp + 4|0; - $pFd = sp; - HEAP32[$0>>2] = $pTask; - HEAP32[$1>>2] = $pFile; - HEAP32[$2>>2] = $pp; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 8|0); - $5 = $4; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = (($5) + 4)|0; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 144|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = ($10|0)<($19|0); - $21 = ($7>>>0)<=($17>>>0); - $22 = ($10|0)==($19|0); - $23 = $22 & $21; - $24 = $20 | $23; - if (!($24)) { - $42 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($42|0); - } - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$25>>2]|0; - HEAP32[$pFd>>2] = $26; - $27 = HEAP32[$pFd>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)>=(3); - if (!($30)) { - $42 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($42|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $9 = HEAP32[$5>>2]|0; + $10 = (_sqlite3_stricmp($9,48062)|0); + $11 = (0)==($10|0); + do { + if ($11) { + label = 3; + } else { + $12 = HEAP32[$5>>2]|0; + $13 = (_sqlite3_stricmp($12,26001)|0); + $14 = (0)==($13|0); + if ($14) { + label = 3; + } else { + $18 = HEAP32[$6>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$6>>2]|0; + $21 = (_sqlite3_stricmp($20,50021)|0); + $22 = (0)==($21|0); + if ($22) { + $23 = HEAP32[$4>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($25) + ($28)|0); + HEAP8[$29>>0] = 1; + break; + } else { + $30 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer1>>2] = $30; + $31 = (_sqlite3_mprintf(50031,$vararg_buffer1)|0); + $32 = HEAP32[$7>>2]|0; + HEAP32[$32>>2] = $31; + HEAP32[$8>>2] = 1; + break; + } + } + } + } + } while(0); + if ((label|0) == 3) { + $15 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $15; + $16 = (_sqlite3_mprintf(49991,$vararg_buffer)|0); + $17 = HEAP32[$7>>2]|0; + HEAP32[$17>>2] = $16; + HEAP32[$8>>2] = 1; } - $31 = HEAP32[$pFd>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 8|0); - $34 = $33; - $35 = $34; + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 16|0); $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 12|0); $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = (_sqlite3OsFetch($31,0,0,$36,$40)|0); - HEAP32[$rc>>2] = $41; - $42 = HEAP32[$rc>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$38>>2] = $40; + $41 = (($36) + ($39<<2)|0); + HEAP32[$41>>2] = $33; + $42 = HEAP32[$8>>2]|0; STACKTOP = sp;return ($42|0); } -function _sqlite3OsFetch($id,$0,$1,$iAmt,$pp) { - $id = $id|0; +function _fts5ConfigDefaultTokenizer($0,$1) { $0 = $0|0; $1 = $1|0; - $iAmt = $iAmt|0; - $pp = $pp|0; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 4|0; $3 = sp; - $4 = sp + 12|0; - $5 = sp + 8|0; - HEAP32[$2>>2] = $id; - $6 = $3; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$4>>2] = $iAmt; - HEAP32[$5>>2] = $pp; - $10 = HEAP32[$5>>2]|0; - HEAP32[$10>>2] = 0; - STACKTOP = sp;return 0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 56|0); + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 60|0); + $9 = (_sqlite3Fts5GetTokenizer($4,0,0,$6,$8,0)|0); + STACKTOP = sp;return ($9|0); } -function _vdbeIncrPopulate($pIncr) { - $pIncr = $pIncr|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $dummy = 0, $iEof = 0, $iStart = 0, $nKey = 0, $pMerger = 0, $pOut = 0, $pReader = 0, $pTask = 0, $rc = 0, $rc2 = 0, $writer = 0, label = 0, sp = 0; +function _fts5ConfigMakeExprlist($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 88|0; - $rc = sp + 84|0; - $rc2 = sp + 80|0; - $iStart = sp + 48|0; - $pOut = sp + 76|0; - $pTask = sp + 72|0; - $pMerger = sp + 68|0; - $writer = sp + 8|0; - $dummy = sp + 64|0; - $pReader = sp + 60|0; - $nKey = sp + 56|0; - $iEof = sp; - HEAP32[$0>>2] = $pIncr; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = $2; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = (($3) + 4)|0; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = $iStart; - $10 = $9; - HEAP32[$10>>2] = $5; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = $8; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 32|0); - $15 = ((($14)) + 16|0); - HEAP32[$pOut>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$16>>2]|0; - HEAP32[$pTask>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pMerger>>2] = $20; - $21 = HEAP32[$pOut>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$pTask>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($25)) + 12|0); - $27 = HEAP32[$26>>2]|0; - $28 = $iStart; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (($28) + 4)|0; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - _vdbePmaWriterInit($22,$writer,$27,$30,$33); + STACKTOP = STACKTOP + 48|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 40|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 20|0; + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 0; + ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 40|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer>>2] = $7; + _sqlite3Fts5BufferAppendPrintf($3,$4,49918,$vararg_buffer); + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 32|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(1); + if (!($11)) { + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 52|0); + HEAP32[$32>>2] = $30; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); + } + HEAP32[$2>>2] = 0; while(1) { - $34 = HEAP32[$rc>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - break; - } - $36 = HEAP32[$pMerger>>2]|0; - $37 = ((($36)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$pMerger>>2]|0; - $42 = ((($41)) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + (($40*56)|0)|0); - HEAP32[$pReader>>2] = $44; - $45 = HEAP32[$pReader>>2]|0; - $46 = ((($45)) + 20|0); - $47 = HEAP32[$46>>2]|0; - HEAP32[$nKey>>2] = $47; - $48 = ((($writer)) + 24|0); - $49 = $48; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = ((($writer)) + 16|0); - $56 = HEAP32[$55>>2]|0; - $57 = ($56|0)<(0); - $58 = $57 << 31 >> 31; - $59 = (_i64Add(($51|0),($54|0),($56|0),($58|0))|0); - $60 = tempRet0; - $61 = $iEof; - $62 = $61; - HEAP32[$62>>2] = $59; - $63 = (($61) + 4)|0; - $64 = $63; - HEAP32[$64>>2] = $60; - $65 = HEAP32[$pReader>>2]|0; - $66 = ((($65)) + 24|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)==(0|0); - if ($68) { + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($12|0)<($15|0); + if (!($16)) { break; } - $69 = $iEof; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$nKey>>2]|0; - $76 = ($75|0)<(0); - $77 = $76 << 31 >> 31; - $78 = (_i64Add(($71|0),($74|0),($75|0),($77|0))|0); - $79 = tempRet0; - $80 = HEAP32[$nKey>>2]|0; - $81 = ($80|0)<(0); - $82 = $81 << 31 >> 31; - $83 = (_sqlite3VarintLen($80,$82)|0); - $84 = ($83|0)<(0); - $85 = $84 << 31 >> 31; - $86 = (_i64Add(($78|0),($79|0),($83|0),($85|0))|0); - $87 = tempRet0; - $88 = $iStart; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = HEAP32[$0>>2]|0; - $95 = ((($94)) + 16|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)<(0); - $98 = $97 << 31 >> 31; - $99 = (_i64Add(($90|0),($93|0),($96|0),($98|0))|0); - $100 = tempRet0; - $101 = ($87|0)>($100|0); - $102 = ($86>>>0)>($99>>>0); - $103 = ($87|0)==($100|0); - $104 = $103 & $102; - $105 = $101 | $104; - if ($105) { - break; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 32|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(2); + if ($20) { + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = (($23) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$vararg_buffer1>>2] = $26; + _sqlite3Fts5BufferAppendPrintf($3,$4,49923,$vararg_buffer1); + } else { + $27 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer4>>2] = $27; + _sqlite3Fts5BufferAppendPrintf($3,$4,49930,$vararg_buffer4); } - $106 = HEAP32[$nKey>>2]|0; - $107 = ($106|0)<(0); - $108 = $107 << 31 >> 31; - _vdbePmaWriteVarint($writer,$106,$108); - $109 = HEAP32[$pReader>>2]|0; - $110 = ((($109)) + 32|0); - $111 = HEAP32[$110>>2]|0; - $112 = HEAP32[$nKey>>2]|0; - _vdbePmaWriteBlob($writer,$111,$112); - $113 = HEAP32[$0>>2]|0; - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = (_vdbeMergeEngineStep($115,$dummy)|0); - HEAP32[$rc>>2] = $116; - } - $117 = HEAP32[$pOut>>2]|0; - $118 = ((($117)) + 8|0); - $119 = (_vdbePmaWriterFinish($writer,$118)|0); - HEAP32[$rc2>>2] = $119; - $120 = HEAP32[$rc>>2]|0; - $121 = ($120|0)==(0); - if (!($121)) { - $123 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($123|0); + $28 = HEAP32[$2>>2]|0; + $29 = (($28) + 1)|0; + HEAP32[$2>>2] = $29; } - $122 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $122; - $123 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($123|0); + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 52|0); + HEAP32[$32>>2] = $30; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); } -function _vdbeSorterSetupMerge($pSorter) { - $pSorter = $pSorter|0; - var $0 = 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, $pMain = 0, $pTask0 = 0, $rc = 0; - var label = 0, sp = 0; +function _sqlite3Fts5BufferAppendPrintf($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $rc = sp + 8|0; - $pTask0 = sp + 4|0; - $pMain = sp; - HEAP32[$0>>2] = $pSorter; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 64|0); - HEAP32[$pTask0>>2] = $2; - HEAP32[$pMain>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = (_vdbeSorterMergeTreeBuild($3,$pMain)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - $7 = HEAP32[$pTask0>>2]|0; - $8 = HEAP32[$pMain>>2]|0; - $9 = (_vdbeMergeEngineInit($7,$8,0)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$pMain>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 20|0); - HEAP32[$12>>2] = $10; - HEAP32[$pMain>>2] = 0; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + STACKTOP = sp;return; } - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)!=(0); - if (!($14)) { - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); + HEAP32[$7>>2] = $varargs; + $11 = HEAP32[$5>>2]|0; + $12 = (_sqlite3_vmprintf($11,$7)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)==(0|0); + $15 = HEAP32[$3>>2]|0; + if ($14) { + HEAP32[$15>>2] = 7; + STACKTOP = sp;return; + } else { + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$6>>2]|0; + _sqlite3Fts5BufferAppendString($15,$16,$17); + $18 = HEAP32[$6>>2]|0; + _sqlite3_free($18); + STACKTOP = sp;return; } - $15 = HEAP32[$pMain>>2]|0; - _vdbeMergeEngineFree($15); - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); } -function _vdbeSorterMergeTreeBuild($pSorter,$ppOut) { - $pSorter = $pSorter|0; - $ppOut = $ppOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0; - var $iReadOff = 0, $iSeq = 0, $iTask = 0, $nDepth = 0, $nReader = 0, $pMain = 0, $pMerger = 0, $pRoot = 0, $pTask = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5BufferAppendString($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; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $pMain = sp + 44|0; - $rc = sp + 40|0; - $iTask = sp + 36|0; - $pTask = sp + 32|0; - $pRoot = sp + 28|0; - $nDepth = sp + 24|0; - $iReadOff = sp; - $i = sp + 20|0; - $iSeq = sp + 16|0; - $pMerger = sp + 12|0; - $nReader = sp + 8|0; - HEAP32[$0>>2] = $pSorter; - HEAP32[$1>>2] = $ppOut; - HEAP32[$pMain>>2] = 0; - HEAP32[$rc>>2] = 0; - HEAP32[$iTask>>2] = 0; - while(1) { - $2 = HEAP32[$rc>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - break; - } - $4 = HEAP32[$iTask>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 59|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($4|0)<($8|0); - if (!($9)) { - break; - } - $10 = HEAP32[$iTask>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 64|0); - $13 = (($12) + (($10*72)|0)|0); - HEAP32[$pTask>>2] = $13; - HEAP32[$pRoot>>2] = 0; - $14 = HEAP32[$pTask>>2]|0; - $15 = ((($14)) + 28|0); - $16 = HEAP32[$15>>2]|0; - $17 = (_vdbeSorterTreeDepth($16)|0); - HEAP32[$nDepth>>2] = $17; - $18 = $iReadOff; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $7 = HEAP32[$5>>2]|0; + $8 = (_strlen($7)|0); + HEAP32[$6>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = (($11) + 1)|0; + $13 = HEAP32[$5>>2]|0; + _sqlite3Fts5BufferAppendBlob($9,$10,$12,$13); + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + -1)|0; + HEAP32[$15>>2] = $17; + STACKTOP = sp;return; +} +function _sqlite3Fts5GetTokenizer($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$13>>2] = 0; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$8>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + $19 = 0; + } else { + $17 = HEAP32[$7>>2]|0; + $18 = HEAP32[$17>>2]|0; $19 = $18; - HEAP32[$19>>2] = 0; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = 0; - $22 = HEAP32[$pTask>>2]|0; - $23 = ((($22)) + 28|0); + } + $20 = (_fts5LocateTokenizer($14,$19)|0); + HEAP32[$12>>2] = $20; + $21 = HEAP32[$12>>2]|0; + $22 = ($21|0)==(0|0); + if ($22) { + HEAP32[$13>>2] = 1; + $23 = HEAP32[$7>>2]|0; $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)<=(16); - L5: do { - if ($25) { - $26 = HEAP32[$pTask>>2]|0; - $27 = HEAP32[$pTask>>2]|0; - $28 = ((($27)) + 28|0); - $29 = HEAP32[$28>>2]|0; - $30 = (_vdbeMergeEngineLevel0($26,$29,$iReadOff,$pRoot)|0); - HEAP32[$rc>>2] = $30; - } else { - HEAP32[$iSeq>>2] = 0; - $31 = (_vdbeMergeEngineNew(16)|0); - HEAP32[$pRoot>>2] = $31; - $32 = HEAP32[$pRoot>>2]|0; - $33 = ($32|0)==(0|0); - if ($33) { - HEAP32[$rc>>2] = 7; - } - HEAP32[$i>>2] = 0; - while(1) { - $34 = HEAP32[$i>>2]|0; - $35 = HEAP32[$pTask>>2]|0; - $36 = ((($35)) + 28|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($34|0)<($37|0); - $39 = HEAP32[$rc>>2]|0; - $40 = ($39|0)==(0); - $41 = $38 ? $40 : 0; - if (!($41)) { - break L5; - } - HEAP32[$pMerger>>2] = 0; - $42 = HEAP32[$pTask>>2]|0; - $43 = ((($42)) + 28|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$i>>2]|0; - $46 = (($44) - ($45))|0; - $47 = ($46|0)<(16); - if ($47) { - $48 = HEAP32[$pTask>>2]|0; - $49 = ((($48)) + 28|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$i>>2]|0; - $52 = (($50) - ($51))|0; - $53 = $52; - } else { - $53 = 16; - } - HEAP32[$nReader>>2] = $53; - $54 = HEAP32[$pTask>>2]|0; - $55 = HEAP32[$nReader>>2]|0; - $56 = (_vdbeMergeEngineLevel0($54,$55,$iReadOff,$pMerger)|0); - HEAP32[$rc>>2] = $56; - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)==(0); - if ($58) { - $59 = HEAP32[$pTask>>2]|0; - $60 = HEAP32[$nDepth>>2]|0; - $61 = HEAP32[$iSeq>>2]|0; - $62 = (($61) + 1)|0; - HEAP32[$iSeq>>2] = $62; - $63 = HEAP32[$pRoot>>2]|0; - $64 = HEAP32[$pMerger>>2]|0; - $65 = (_vdbeSorterAddToTree($59,$60,$61,$63,$64)|0); - HEAP32[$rc>>2] = $65; - } - $66 = HEAP32[$i>>2]|0; - $67 = (($66) + 16)|0; - HEAP32[$i>>2] = $67; - } - } - } while(0); - $68 = HEAP32[$rc>>2]|0; - $69 = ($68|0)==(0); - $70 = HEAP32[$pRoot>>2]|0; - if ($69) { - HEAP32[$pMain>>2] = $70; - } else { - _vdbeMergeEngineFree($70); + HEAP32[$vararg_buffer>>2] = $24; + $25 = (_sqlite3_mprintf(49938,$vararg_buffer)|0); + $26 = HEAP32[$11>>2]|0; + HEAP32[$26>>2] = $25; + } else { + $27 = HEAP32[$12>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$12>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$8>>2]|0; + $36 = ($35|0)!=(0); + $37 = HEAP32[$8>>2]|0; + $38 = (($37) - 1)|0; + $39 = $36 ? $38 : 0; + $40 = HEAP32[$9>>2]|0; + $41 = (FUNCTION_TABLE_iiiii[$29 & 255]($32,$34,$39,$40)|0); + HEAP32[$13>>2] = $41; + $42 = HEAP32[$12>>2]|0; + $43 = ((($42)) + 8|0); + $44 = HEAP32[$10>>2]|0; + HEAP32[$44>>2] = $43; + $45 = HEAP32[$13>>2]|0; + $46 = ($45|0)!=(0); + $47 = HEAP32[$11>>2]|0; + $48 = ($47|0)!=(0|0); + $or$cond = $46 & $48; + if ($or$cond) { + $49 = (_sqlite3_mprintf(49960,$vararg_buffer2)|0); + $50 = HEAP32[$11>>2]|0; + HEAP32[$50>>2] = $49; } - $71 = HEAP32[$iTask>>2]|0; - $72 = (($71) + 1)|0; - HEAP32[$iTask>>2] = $72; } - $73 = HEAP32[$rc>>2]|0; - $74 = ($73|0)!=(0); - if (!($74)) { - $76 = HEAP32[$pMain>>2]|0; - $77 = HEAP32[$1>>2]|0; - HEAP32[$77>>2] = $76; - $78 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($78|0); + $51 = HEAP32[$13>>2]|0; + $52 = ($51|0)!=(0); + if (!($52)) { + $55 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($55|0); } - $75 = HEAP32[$pMain>>2]|0; - _vdbeMergeEngineFree($75); - HEAP32[$pMain>>2] = 0; - $76 = HEAP32[$pMain>>2]|0; - $77 = HEAP32[$1>>2]|0; - HEAP32[$77>>2] = $76; - $78 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($78|0); + $53 = HEAP32[$10>>2]|0; + HEAP32[$53>>2] = 0; + $54 = HEAP32[$9>>2]|0; + HEAP32[$54>>2] = 0; + $55 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($55|0); } -function _vdbeMergeEngineInit($pTask,$pMerger,$eMode) { - $pTask = $pTask|0; - $pMerger = $pMerger|0; - $eMode = $eMode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0; - var $nTree = 0, $rc = 0, label = 0, sp = 0; +function _fts5LocateTokenizer($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $rc = sp + 8|0; - $i = sp + 4|0; - $nTree = sp; - HEAP32[$1>>2] = $pTask; - HEAP32[$2>>2] = $pMerger; - HEAP32[$3>>2] = $eMode; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$nTree>>2] = $5; - $6 = HEAP32[$1>>2]|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0|0); $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 4|0); - HEAP32[$8>>2] = $6; - HEAP32[$i>>2] = 0; + if ($6) { + $8 = ((($7)) + 40|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$4>>2] = $9; + $22 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($22|0); + } + $10 = ((($7)) + 36|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $11; while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$nTree>>2]|0; - $11 = ($9|0)<($10|0); - if (!($11)) { + $12 = HEAP32[$4>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + label = 7; break; } - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + (($12*56)|0)|0); - $17 = (_vdbePmaReaderIncrInit($16,0)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)!=(0); - if ($19) { - label = 4; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_stricmp($14,$16)|0); + $18 = ($17|0)==(0); + if ($18) { + label = 7; break; } - $21 = HEAP32[$i>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$i>>2] = $22; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$4>>2] = $21; } - if ((label|0) == 4) { - $20 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $20; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + if ((label|0) == 7) { + $22 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($22|0); } - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = (($24) - 1)|0; - HEAP32[$i>>2] = $25; + return (0)|0; +} +function _fts5ConfigSetEnum($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $10 = HEAP32[$5>>2]|0; + $11 = (_strlen($10)|0); + HEAP32[$7>>2] = $11; + HEAP32[$9>>2] = -1; + HEAP32[$8>>2] = 0; while(1) { - $26 = HEAP32[$i>>2]|0; - $27 = ($26|0)>(0); - if (!($27)) { + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$8>>2]|0; + $14 = (($12) + ($13<<3)|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { + label = 8; break; } - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$i>>2]|0; - _vdbeMergeEngineCompare($28,$29); - $30 = HEAP32[$i>>2]|0; - $31 = (($30) + -1)|0; - HEAP32[$i>>2] = $31; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$8>>2]|0; + $19 = (($17) + ($18<<3)|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = (_sqlite3_strnicmp($20,$21,$22)|0); + $24 = ($23|0)==(0); + if ($24) { + $25 = HEAP32[$9>>2]|0; + $26 = ($25|0)>=(0); + if ($26) { + label = 5; + break; + } + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = (($27) + ($28<<3)|0); + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$9>>2] = $31; + } + $32 = HEAP32[$8>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$8>>2] = $33; } - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 12|0); - $34 = HEAP32[$33>>2]|0; - $35 = ((($34)) + 11|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - HEAP32[$0>>2] = $37; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + if ((label|0) == 5) { + HEAP32[$3>>2] = 1; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); + } + else if ((label|0) == 8) { + $34 = HEAP32[$9>>2]|0; + $35 = HEAP32[$6>>2]|0; + HEAP32[$35>>2] = $34; + $36 = HEAP32[$9>>2]|0; + $37 = ($36|0)<(0); + $38 = $37 ? 1 : 0; + HEAP32[$3>>2] = $38; + $39 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($39|0); + } + return (0)|0; } -function _vdbePmaReaderIncrInit($pReadr,$eMode) { - $pReadr = $pReadr|0; - $eMode = $eMode|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pIncr = 0, $rc = 0, label = 0, sp = 0; +function _fts5_isopenquote($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pIncr = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pReadr; - HEAP32[$1>>2] = $eMode; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 48|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pIncr>>2] = $4; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$pIncr>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); + $1 = sp; + HEAP8[$1>>0] = $0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = ($3|0)==(34); + if ($4) { + $15 = 1; + } else { + $5 = HEAP8[$1>>0]|0; + $6 = $5 << 24 >> 24; + $7 = ($6|0)==(39); + if ($7) { + $15 = 1; + } else { + $8 = HEAP8[$1>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)==(91); + if ($10) { + $15 = 1; + } else { + $11 = HEAP8[$1>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)==(96); + $15 = $13; + } + } } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (_vdbePmaReaderIncrMergeInit($7,$8)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); + $14 = $15&1; + STACKTOP = sp;return ($14|0); } -function _vdbeMergeEngineCompare($pMerger,$iOut) { - $pMerger = $pMerger|0; - $iOut = $iOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $bCached = 0; - var $i1 = 0, $i2 = 0, $iRes = 0, $p1 = 0, $p2 = 0, $pTask = 0, $res = 0, label = 0, sp = 0; +function _fts5DecodeFunction($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $i1 = sp + 28|0; - $i2 = sp + 24|0; - $iRes = sp + 20|0; - $p1 = sp + 16|0; - $p2 = sp + 12|0; - $pTask = sp + 8|0; - $bCached = sp + 4|0; - $res = sp; - HEAP32[$0>>2] = $pMerger; - HEAP32[$1>>2] = $iOut; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (($4|0) / 2)&-1; - $6 = ($2|0)>=($5|0); - $7 = HEAP32[$1>>2]|0; - if ($6) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = (($9|0) / 2)&-1; - $11 = (($7) - ($10))|0; - $12 = $11<<1; - HEAP32[$i1>>2] = $12; - $13 = HEAP32[$i1>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[$i2>>2] = $14; - } else { - $15 = $7<<1; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($15<<2)|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$i1>>2] = $20; - $21 = HEAP32[$1>>2]|0; - $22 = $21<<1; - $23 = (($22) + 1)|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + ($23<<2)|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$i2>>2] = $28; - } - $29 = HEAP32[$i1>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + (($29*56)|0)|0); - HEAP32[$p1>>2] = $33; - $34 = HEAP32[$i2>>2]|0; - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + (($34*56)|0)|0); - HEAP32[$p2>>2] = $38; - $39 = HEAP32[$p1>>2]|0; - $40 = ((($39)) + 24|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)==(0|0); - do { - if ($42) { - $43 = HEAP32[$i2>>2]|0; - HEAP32[$iRes>>2] = $43; - } else { - $44 = HEAP32[$p2>>2]|0; - $45 = ((($44)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==(0|0); - if ($47) { - $48 = HEAP32[$i1>>2]|0; - HEAP32[$iRes>>2] = $48; - break; + STACKTOP = STACKTOP + 240|0; + $vararg_buffer6 = sp + 64|0; + $vararg_buffer2 = sp + 56|0; + $vararg_buffer = sp + 40|0; + $3 = sp + 236|0; + $4 = sp + 232|0; + $5 = sp + 228|0; + $6 = sp + 32|0; + $7 = sp + 224|0; + $8 = sp + 220|0; + $9 = sp + 216|0; + $10 = sp + 212|0; + $11 = sp + 208|0; + $12 = sp + 204|0; + $13 = sp + 200|0; + $14 = sp + 188|0; + $15 = sp + 184|0; + $16 = sp + 180|0; + $17 = sp + 176|0; + $18 = sp + 164|0; + $19 = sp; + $20 = sp + 152|0; + $21 = sp + 148|0; + $22 = sp + 144|0; + $23 = sp + 140|0; + $24 = sp + 136|0; + $25 = sp + 132|0; + $26 = sp + 128|0; + $27 = sp + 124|0; + $28 = sp + 112|0; + $29 = sp + 108|0; + $30 = sp + 104|0; + $31 = sp + 100|0; + $32 = sp + 96|0; + $33 = sp + 92|0; + $34 = sp + 88|0; + $35 = sp + 84|0; + $36 = sp + 80|0; + $37 = sp + 76|0; + $38 = sp + 72|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$13>>2] = 0; + HEAP32[$15>>2] = 0; + HEAP32[$16>>2] = 0; + $39 = HEAP32[$3>>2]|0; + $40 = (_sqlite3_user_data($39)|0); + $41 = ($40|0)!=(0|0); + $42 = $41&1; + HEAP32[$17>>2] = $42; + ;HEAP32[$14>>2]=0|0;HEAP32[$14+4>>2]=0|0;HEAP32[$14+8>>2]=0|0; + $43 = HEAP32[$5>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = (_sqlite3_value_int64($44)|0); + $46 = tempRet0; + $47 = $6; + $48 = $47; + HEAP32[$48>>2] = $45; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = $46; + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 4|0); + $53 = HEAP32[$52>>2]|0; + $54 = (_sqlite3_value_bytes($53)|0); + HEAP32[$12>>2] = $54; + $55 = HEAP32[$5>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_sqlite3_value_blob($57)|0); + HEAP32[$11>>2] = $58; + $59 = HEAP32[$12>>2]|0; + $60 = (($59) + 8)|0; + HEAP32[$16>>2] = $60; + $61 = HEAP32[$16>>2]|0; + $62 = (_sqlite3Fts5MallocZero($15,$61)|0); + HEAP32[$13>>2] = $62; + $63 = HEAP32[$13>>2]|0; + $64 = ($63|0)==(0|0); + L1: do { + if (!($64)) { + $65 = HEAP32[$13>>2]|0; + $66 = HEAP32[$11>>2]|0; + $67 = HEAP32[$12>>2]|0; + _memcpy(($65|0),($66|0),($67|0))|0; + $68 = $6; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + _fts5DecodeRowid($70,$73,$7,$10,$8,$9); + $74 = $6; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + _fts5DebugRowid($15,$14,$76,$79); + $80 = HEAP32[$10>>2]|0; + $81 = ($80|0)!=(0); + if ($81) { + $82 = HEAP32[$13>>2]|0; + HEAP32[$18>>2] = $82; + $83 = HEAP32[$12>>2]|0; + $84 = ((($18)) + 4|0); + HEAP32[$84>>2] = $83; + ;HEAP32[$19>>2]=0|0;HEAP32[$19+4>>2]=0|0;HEAP32[$19+8>>2]=0|0;HEAP32[$19+12>>2]=0|0;HEAP32[$19+16>>2]=0|0;HEAP32[$19+20>>2]=0|0;HEAP32[$19+24>>2]=0|0;HEAP32[$19+28>>2]=0|0; + HEAP32[$19>>2] = $18; + $85 = HEAP32[$9>>2]|0; + $86 = ((($19)) + 16|0); + HEAP32[$86>>2] = $85; + (_fts5DlidxLvlNext($19)|0); + while(1) { + $87 = ((($19)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)==(0); + if (!($89)) { + break L1; + } + $90 = ((($19)) + 16|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($19)) + 24|0); + $93 = $92; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + HEAP32[$vararg_buffer>>2] = $91; + $vararg_ptr1 = ((($vararg_buffer)) + 8|0); + $99 = $vararg_ptr1; + $100 = $99; + HEAP32[$100>>2] = $95; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = $98; + _sqlite3Fts5BufferAppendPrintf($15,$14,50609,$vararg_buffer); + (_fts5DlidxLvlNext($19)|0); + } } - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 4|0); - $51 = HEAP32[$50>>2]|0; - HEAP32[$pTask>>2] = $51; - HEAP32[$bCached>>2] = 0; - $52 = HEAP32[$pTask>>2]|0; - $53 = ((($52)) + 32|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$pTask>>2]|0; - $56 = HEAP32[$p1>>2]|0; - $57 = ((($56)) + 32|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$p1>>2]|0; - $60 = ((($59)) + 20|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$p2>>2]|0; - $63 = ((($62)) + 32|0); - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$p2>>2]|0; - $66 = ((($65)) + 20|0); - $67 = HEAP32[$66>>2]|0; - $68 = (FUNCTION_TABLE_iiiiiii[$54 & 255]($55,$bCached,$58,$61,$64,$67)|0); - HEAP32[$res>>2] = $68; - $69 = HEAP32[$res>>2]|0; - $70 = ($69|0)<=(0); - if ($70) { - $71 = HEAP32[$i1>>2]|0; - HEAP32[$iRes>>2] = $71; + $103 = HEAP32[$7>>2]|0; + $104 = ($103|0)==(0); + if ($104) { + $105 = $6; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = ($107|0)==(1); + $112 = ($110|0)==(0); + $113 = $111 & $112; + $114 = HEAP32[$13>>2]|0; + $115 = HEAP32[$12>>2]|0; + if ($113) { + _fts5DecodeAverages($15,$14,$114,$115); + break; + } else { + _fts5DecodeStructure($15,$14,$114,$115); + break; + } + } + $116 = HEAP32[$17>>2]|0; + $117 = ($116|0)!=(0); + if ($117) { + $118 = HEAP32[$13>>2]|0; + $119 = ((($118)) + 2|0); + $120 = (_fts5GetU16($119)|0); + $121 = $120&65535; + HEAP32[$21>>2] = $121; + HEAP32[$22>>2] = $121; + HEAP32[$24>>2] = 0; + ;HEAP32[$20>>2]=0|0;HEAP32[$20+4>>2]=0|0;HEAP32[$20+8>>2]=0|0; + $122 = HEAP32[$21>>2]|0; + $123 = HEAP32[$12>>2]|0; + $124 = ($122|0)<($123|0); + if ($124) { + $125 = HEAP32[$13>>2]|0; + $126 = HEAP32[$22>>2]|0; + $127 = (($125) + ($126)|0); + $128 = (_sqlite3Fts5GetVarint32($127,$23)|0); + $129 = HEAP32[$22>>2]|0; + $130 = (($129) + ($128))|0; + HEAP32[$22>>2] = $130; + } else { + $131 = HEAP32[$21>>2]|0; + HEAP32[$23>>2] = $131; + } + $132 = HEAP32[$13>>2]|0; + $133 = ((($132)) + 4|0); + $134 = HEAP32[$23>>2]|0; + $135 = (($134) - 4)|0; + _fts5DecodeRowidList($15,$14,$133,$135); + $136 = HEAP32[$23>>2]|0; + HEAP32[$25>>2] = $136; + while(1) { + $137 = HEAP32[$25>>2]|0; + $138 = HEAP32[$21>>2]|0; + $139 = ($137|0)<($138|0); + if (!($139)) { + break; + } + $140 = HEAP32[$13>>2]|0; + $141 = HEAP32[$25>>2]|0; + $142 = (($140) + ($141)|0); + $143 = (_sqlite3Fts5GetVarint32($142,$26)|0); + $144 = HEAP32[$25>>2]|0; + $145 = (($144) + ($143))|0; + HEAP32[$25>>2] = $145; + $146 = HEAP32[$24>>2]|0; + $147 = ((($20)) + 4|0); + HEAP32[$147>>2] = $146; + $148 = HEAP32[$26>>2]|0; + $149 = HEAP32[$13>>2]|0; + $150 = HEAP32[$25>>2]|0; + $151 = (($149) + ($150)|0); + _sqlite3Fts5BufferAppendBlob($15,$20,$148,$151); + $152 = ((($20)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = HEAP32[$20>>2]|0; + HEAP32[$vararg_buffer2>>2] = $153; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $154; + _sqlite3Fts5BufferAppendPrintf($15,$14,50619,$vararg_buffer2); + $155 = HEAP32[$26>>2]|0; + $156 = HEAP32[$25>>2]|0; + $157 = (($156) + ($155))|0; + HEAP32[$25>>2] = $157; + $158 = HEAP32[$22>>2]|0; + $159 = HEAP32[$12>>2]|0; + $160 = ($158|0)<($159|0); + if ($160) { + $161 = HEAP32[$13>>2]|0; + $162 = HEAP32[$22>>2]|0; + $163 = (($161) + ($162)|0); + $164 = (_sqlite3Fts5GetVarint32($163,$27)|0); + $165 = HEAP32[$22>>2]|0; + $166 = (($165) + ($164))|0; + HEAP32[$22>>2] = $166; + $167 = HEAP32[$27>>2]|0; + $168 = HEAP32[$23>>2]|0; + $169 = (($168) + ($167))|0; + HEAP32[$23>>2] = $169; + } else { + $170 = HEAP32[$21>>2]|0; + HEAP32[$23>>2] = $170; + } + $171 = HEAP32[$13>>2]|0; + $172 = HEAP32[$25>>2]|0; + $173 = (($171) + ($172)|0); + $174 = HEAP32[$23>>2]|0; + $175 = HEAP32[$25>>2]|0; + $176 = (($174) - ($175))|0; + _fts5DecodeRowidList($15,$14,$173,$176); + $177 = HEAP32[$23>>2]|0; + HEAP32[$25>>2] = $177; + $178 = HEAP32[$25>>2]|0; + $179 = HEAP32[$21>>2]|0; + $180 = ($178|0)<($179|0); + if (!($180)) { + continue; + } + $181 = HEAP32[$13>>2]|0; + $182 = HEAP32[$25>>2]|0; + $183 = (($181) + ($182)|0); + $184 = (_sqlite3Fts5GetVarint32($183,$24)|0); + $185 = HEAP32[$25>>2]|0; + $186 = (($185) + ($184))|0; + HEAP32[$25>>2] = $186; + } + _sqlite3Fts5BufferFree($20); break; - } else { - $72 = HEAP32[$i2>>2]|0; - HEAP32[$iRes>>2] = $72; + } + HEAP32[$31>>2] = 0; + HEAP32[$32>>2] = 0; + HEAP32[$33>>2] = 0; + ;HEAP32[$28>>2]=0|0;HEAP32[$28+4>>2]=0|0;HEAP32[$28+8>>2]=0|0; + $187 = HEAP32[$12>>2]|0; + $188 = ($187|0)<(4); + if ($188) { + _sqlite3Fts5BufferSet($15,$14,7,50630); break; } + $189 = HEAP32[$13>>2]|0; + $190 = (_fts5GetU16($189)|0); + $191 = $190&65535; + HEAP32[$33>>2] = $191; + $192 = HEAP32[$13>>2]|0; + $193 = ((($192)) + 2|0); + $194 = (_fts5GetU16($193)|0); + $195 = $194&65535; + HEAP32[$29>>2] = $195; + HEAP32[$30>>2] = $195; + $196 = HEAP32[$30>>2]|0; + $197 = HEAP32[$12>>2]|0; + $198 = ($196|0)<($197|0); + if ($198) { + $199 = HEAP32[$13>>2]|0; + $200 = HEAP32[$30>>2]|0; + $201 = (($199) + ($200)|0); + (_sqlite3Fts5GetVarint32($201,$32)|0); + } + $202 = HEAP32[$33>>2]|0; + $203 = ($202|0)!=(0); + do { + if ($203) { + $204 = HEAP32[$33>>2]|0; + HEAP32[$34>>2] = $204; + } else { + $205 = HEAP32[$32>>2]|0; + $206 = ($205|0)!=(0); + if ($206) { + $207 = HEAP32[$32>>2]|0; + HEAP32[$34>>2] = $207; + break; + } else { + $208 = HEAP32[$29>>2]|0; + HEAP32[$34>>2] = $208; + break; + } + } + } while(0); + $209 = HEAP32[$13>>2]|0; + $210 = ((($209)) + 4|0); + $211 = HEAP32[$34>>2]|0; + $212 = (($211) - 4)|0; + (_fts5DecodePoslist($15,$14,$210,$212)|0); + $213 = HEAP32[$32>>2]|0; + $214 = ($213|0)!=(0); + $215 = HEAP32[$32>>2]|0; + $216 = HEAP32[$29>>2]|0; + $217 = $214 ? $215 : $216; + $218 = HEAP32[$34>>2]|0; + $219 = (($217) - ($218))|0; + HEAP32[$35>>2] = $219; + $220 = HEAP32[$13>>2]|0; + $221 = HEAP32[$34>>2]|0; + $222 = (($220) + ($221)|0); + $223 = HEAP32[$35>>2]|0; + (_fts5DecodeDoclist($15,$14,$222,$223)|0); + while(1) { + $224 = HEAP32[$30>>2]|0; + $225 = HEAP32[$12>>2]|0; + $226 = ($224|0)<($225|0); + if (!($226)) { + break; + } + $227 = HEAP32[$30>>2]|0; + $228 = HEAP32[$29>>2]|0; + $229 = ($227|0)==($228|0); + $230 = $229&1; + HEAP32[$36>>2] = $230; + $231 = HEAP32[$13>>2]|0; + $232 = HEAP32[$30>>2]|0; + $233 = (($231) + ($232)|0); + $234 = (_sqlite3Fts5GetVarint32($233,$37)|0); + $235 = HEAP32[$30>>2]|0; + $236 = (($235) + ($234))|0; + HEAP32[$30>>2] = $236; + $237 = HEAP32[$37>>2]|0; + $238 = HEAP32[$31>>2]|0; + $239 = (($238) + ($237))|0; + HEAP32[$31>>2] = $239; + $240 = HEAP32[$31>>2]|0; + HEAP32[$34>>2] = $240; + $241 = HEAP32[$30>>2]|0; + $242 = HEAP32[$12>>2]|0; + $243 = ($241|0)<($242|0); + if ($243) { + $244 = HEAP32[$13>>2]|0; + $245 = HEAP32[$30>>2]|0; + $246 = (($244) + ($245)|0); + (_sqlite3Fts5GetVarint32($246,$37)|0); + $247 = HEAP32[$31>>2]|0; + $248 = HEAP32[$37>>2]|0; + $249 = (($247) + ($248))|0; + HEAP32[$38>>2] = $249; + } else { + $250 = HEAP32[$29>>2]|0; + HEAP32[$38>>2] = $250; + } + $251 = HEAP32[$36>>2]|0; + $252 = ($251|0)==(0); + if ($252) { + $253 = HEAP32[$13>>2]|0; + $254 = HEAP32[$34>>2]|0; + $255 = (($253) + ($254)|0); + $256 = (_sqlite3Fts5GetVarint32($255,$37)|0); + $257 = HEAP32[$34>>2]|0; + $258 = (($257) + ($256))|0; + HEAP32[$34>>2] = $258; + $259 = HEAP32[$37>>2]|0; + $260 = ((($28)) + 4|0); + HEAP32[$260>>2] = $259; + } + $261 = HEAP32[$13>>2]|0; + $262 = HEAP32[$34>>2]|0; + $263 = (($261) + ($262)|0); + $264 = (_sqlite3Fts5GetVarint32($263,$37)|0); + $265 = HEAP32[$34>>2]|0; + $266 = (($265) + ($264))|0; + HEAP32[$34>>2] = $266; + $267 = HEAP32[$37>>2]|0; + $268 = HEAP32[$13>>2]|0; + $269 = HEAP32[$34>>2]|0; + $270 = (($268) + ($269)|0); + _sqlite3Fts5BufferAppendBlob($15,$28,$267,$270); + $271 = HEAP32[$37>>2]|0; + $272 = HEAP32[$34>>2]|0; + $273 = (($272) + ($271))|0; + HEAP32[$34>>2] = $273; + $274 = ((($28)) + 4|0); + $275 = HEAP32[$274>>2]|0; + $276 = HEAP32[$28>>2]|0; + HEAP32[$vararg_buffer6>>2] = $275; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $276; + _sqlite3Fts5BufferAppendPrintf($15,$14,50619,$vararg_buffer6); + $277 = HEAP32[$13>>2]|0; + $278 = HEAP32[$34>>2]|0; + $279 = (($277) + ($278)|0); + $280 = HEAP32[$38>>2]|0; + $281 = HEAP32[$34>>2]|0; + $282 = (($280) - ($281))|0; + $283 = (_fts5DecodeDoclist($15,$14,$279,$282)|0); + $284 = HEAP32[$34>>2]|0; + $285 = (($284) + ($283))|0; + HEAP32[$34>>2] = $285; + } + _sqlite3Fts5BufferFree($28); } } while(0); - $73 = HEAP32[$iRes>>2]|0; - $74 = HEAP32[$1>>2]|0; - $75 = HEAP32[$0>>2]|0; - $76 = ((($75)) + 8|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77) + ($74<<2)|0); - HEAP32[$78>>2] = $73; - STACKTOP = sp;return; + $286 = HEAP32[$13>>2]|0; + _sqlite3_free($286); + $287 = HEAP32[$15>>2]|0; + $288 = ($287|0)==(0); + $289 = HEAP32[$3>>2]|0; + if ($288) { + $290 = HEAP32[$14>>2]|0; + $291 = ((($14)) + 4|0); + $292 = HEAP32[$291>>2]|0; + _sqlite3_result_text($289,$290,$292,(-1)); + _sqlite3Fts5BufferFree($14); + STACKTOP = sp;return; + } else { + $293 = HEAP32[$15>>2]|0; + _sqlite3_result_error_code($289,$293); + _sqlite3Fts5BufferFree($14); + STACKTOP = sp;return; + } } -function _vdbePmaReaderIncrMergeInit($pReadr,$eMode) { - $pReadr = $pReadr|0; - $eMode = $eMode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $db = 0, $mxSz = 0, $pIncr = 0, $pTask = 0, $rc = 0, label = 0, sp = 0; +function _fts5RowidFunction($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $rc = sp + 16|0; - $pIncr = sp + 12|0; - $pTask = sp + 8|0; - $db = sp + 4|0; - $mxSz = sp; - HEAP32[$0>>2] = $pReadr; - HEAP32[$1>>2] = $eMode; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 48|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pIncr>>2] = $4; - $5 = HEAP32[$pIncr>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$pTask>>2] = $6; - $7 = HEAP32[$pTask>>2]|0; - $8 = ((($7)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 24|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$db>>2] = $11; - $12 = HEAP32[$pTask>>2]|0; - $13 = HEAP32[$pIncr>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = (_vdbeMergeEngineInit($12,$15,$16)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)==(0); - if ($19) { - $20 = HEAP32[$pIncr>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$mxSz>>2] = $22; - $23 = HEAP32[$pTask>>2]|0; - $24 = ((($23)) + 56|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)==(0|0); - if ($26) { - $27 = HEAP32[$db>>2]|0; - $28 = HEAP32[$pTask>>2]|0; - $29 = ((($28)) + 56|0); - $30 = ((($29)) + 8|0); - $31 = $30; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$pTask>>2]|0; - $38 = ((($37)) + 56|0); - $39 = (_vdbeSorterOpenTempFile($27,$33,$36,$38)|0); - HEAP32[$rc>>2] = $39; - $40 = HEAP32[$pTask>>2]|0; - $41 = ((($40)) + 56|0); - $42 = ((($41)) + 8|0); - $43 = $42; - $44 = $43; - HEAP32[$44>>2] = 0; - $45 = (($43) + 4)|0; - $46 = $45; - HEAP32[$46>>2] = 0; - } - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - $49 = HEAP32[$pTask>>2]|0; - $50 = ((($49)) + 56|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$pIncr>>2]|0; - $53 = ((($52)) + 32|0); - $54 = ((($53)) + 16|0); - HEAP32[$54>>2] = $51; - $55 = HEAP32[$pTask>>2]|0; - $56 = ((($55)) + 56|0); - $57 = ((($56)) + 8|0); - $58 = $57; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$pIncr>>2]|0; - $65 = ((($64)) + 8|0); - $66 = $65; - $67 = $66; - HEAP32[$67>>2] = $60; - $68 = (($66) + 4)|0; - $69 = $68; - HEAP32[$69>>2] = $63; - $70 = HEAP32[$mxSz>>2]|0; - $71 = ($70|0)<(0); - $72 = $71 << 31 >> 31; - $73 = HEAP32[$pTask>>2]|0; - $74 = ((($73)) + 56|0); - $75 = ((($74)) + 8|0); - $76 = $75; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = (($76) + 4)|0; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (_i64Add(($78|0),($81|0),($70|0),($72|0))|0); - $83 = tempRet0; - $84 = $75; - $85 = $84; - HEAP32[$85>>2] = $82; - $86 = (($84) + 4)|0; - $87 = $86; - HEAP32[$87>>2] = $83; - } + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp; + $8 = sp + 12|0; + $9 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)==(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + _sqlite3_result_error($12,50473,-1); + STACKTOP = sp;return; } - $88 = HEAP32[$rc>>2]|0; - $89 = ($88|0)==(0); - if (!($89)) { - $92 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($92|0); + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3_value_text($14)|0); + HEAP32[$6>>2] = $15; + $16 = HEAP32[$6>>2]|0; + $17 = (_sqlite3_stricmp($16,50510)|0); + $18 = (0)==($17|0); + if (!($18)) { + $55 = HEAP32[$3>>2]|0; + _sqlite3_result_error($55,50565,-1); + STACKTOP = sp;return; } - $90 = HEAP32[$0>>2]|0; - $91 = (_vdbePmaReaderNext($90)|0); - HEAP32[$rc>>2] = $91; - $92 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($92|0); -} -function _vdbeSorterTreeDepth($nPMA) { - $nPMA = $nPMA|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nDepth = 0, $nDiv = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $nDepth = sp + 8|0; - $nDiv = sp; - HEAP32[$0>>2] = $nPMA; - HEAP32[$nDepth>>2] = 0; - $1 = $nDiv; - $2 = $1; - HEAP32[$2>>2] = 16; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; - while(1) { - $5 = $nDiv; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = (($5) + 4)|0; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ($11|0)<(0); - $13 = $12 << 31 >> 31; - $14 = ($10|0)<($13|0); - $15 = ($7>>>0)<($11>>>0); - $16 = ($10|0)==($13|0); - $17 = $16 & $15; - $18 = $14 | $17; - if (!($18)) { - break; - } - $19 = $nDiv; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (___muldi3(($21|0),($24|0),16,0)|0); - $26 = tempRet0; - $27 = $nDiv; - $28 = $27; - HEAP32[$28>>2] = $25; - $29 = (($27) + 4)|0; - $30 = $29; - HEAP32[$30>>2] = $26; - $31 = HEAP32[$nDepth>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$nDepth>>2] = $32; + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)!=(3); + if ($20) { + $21 = HEAP32[$3>>2]|0; + _sqlite3_result_error($21,50518,-1); + STACKTOP = sp;return; + } else { + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_sqlite3_value_int($24)|0); + HEAP32[$8>>2] = $25; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3_value_int($28)|0); + HEAP32[$9>>2] = $29; + $30 = HEAP32[$8>>2]|0; + $31 = ($30|0)<(0); + $32 = $31 << 31 >> 31; + $33 = (_bitshift64Shl(($30|0),($32|0),37)|0); + $34 = tempRet0; + $35 = (_i64Add(($33|0),($34|0),0,0)|0); + $36 = tempRet0; + $37 = (_i64Add(($35|0),($36|0),0,0)|0); + $38 = tempRet0; + $39 = HEAP32[$9>>2]|0; + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = (_i64Add(($37|0),($38|0),($39|0),($41|0))|0); + $43 = tempRet0; + $44 = $7; + $45 = $44; + HEAP32[$45>>2] = $42; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + $48 = HEAP32[$3>>2]|0; + $49 = $7; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + _sqlite3_result_int64($48,$51,$54); + STACKTOP = sp;return; } - $33 = HEAP32[$nDepth>>2]|0; - STACKTOP = sp;return ($33|0); } -function _vdbeMergeEngineLevel0($pTask,$nPMA,$piOffset,$ppOut) { - $pTask = $pTask|0; - $nPMA = $nPMA|0; - $piOffset = $piOffset|0; - $ppOut = $ppOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $i = 0, $iOff = 0, $nDummy = 0, $pNew = 0; - var $pReadr = 0, $rc = 0, label = 0, sp = 0; +function _fts5DecodeRowid($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $pNew = sp + 28|0; - $iOff = sp + 8|0; - $i = sp + 24|0; - $rc = sp + 20|0; - $nDummy = sp; - $pReadr = sp + 16|0; - HEAP32[$0>>2] = $pTask; - HEAP32[$1>>2] = $nPMA; - HEAP32[$2>>2] = $piOffset; - HEAP32[$3>>2] = $ppOut; - $4 = HEAP32[$2>>2]|0; - $5 = $4; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = (($5) + 4)|0; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = $iOff; + STACKTOP = STACKTOP + 32|0; + $6 = sp; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = $6; $12 = $11; - HEAP32[$12>>2] = $7; + HEAP32[$12>>2] = $0; $13 = (($11) + 4)|0; $14 = $13; - HEAP32[$14>>2] = $10; - HEAP32[$rc>>2] = 0; - $15 = HEAP32[$1>>2]|0; - $16 = (_vdbeMergeEngineNew($15)|0); - HEAP32[$pNew>>2] = $16; - $17 = HEAP32[$3>>2]|0; - HEAP32[$17>>2] = $16; - $18 = HEAP32[$pNew>>2]|0; - $19 = ($18|0)==(0|0); - if ($19) { - HEAP32[$rc>>2] = 7; - } - HEAP32[$i>>2] = 0; - while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ($20|0)<($21|0); - $23 = HEAP32[$rc>>2]|0; - $24 = ($23|0)==(0); - $25 = $22 ? $24 : 0; - if (!($25)) { - break; - } - $26 = $nDummy; - $27 = $26; - HEAP32[$27>>2] = 0; - $28 = (($26) + 4)|0; - $29 = $28; - HEAP32[$29>>2] = 0; - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$pNew>>2]|0; - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + (($30*56)|0)|0); - HEAP32[$pReadr>>2] = $34; - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 40|0); - $38 = $iOff; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$pReadr>>2]|0; - $45 = (_vdbePmaReaderInit($35,$37,$40,$43,$44,$nDummy)|0); - HEAP32[$rc>>2] = $45; - $46 = HEAP32[$pReadr>>2]|0; - $47 = ((($46)) + 8|0); - $48 = $47; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = $iOff; - $55 = $54; - HEAP32[$55>>2] = $50; - $56 = (($54) + 4)|0; - $57 = $56; - HEAP32[$57>>2] = $53; - $58 = HEAP32[$i>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[$i>>2] = $59; - } - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)!=(0); - if (!($61)) { - $64 = $iOff; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (($64) + 4)|0; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = $70; - $72 = $71; - HEAP32[$72>>2] = $66; - $73 = (($71) + 4)|0; - $74 = $73; - HEAP32[$74>>2] = $69; - $75 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($75|0); - } - $62 = HEAP32[$pNew>>2]|0; - _vdbeMergeEngineFree($62); - $63 = HEAP32[$3>>2]|0; - HEAP32[$63>>2] = 0; - $64 = $iOff; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (($64) + 4)|0; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = $70; + HEAP32[$14>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = $5; + $15 = $6; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $17 & 2147483647; + $22 = HEAP32[$10>>2]|0; + HEAP32[$22>>2] = $21; + $23 = $6; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (_bitshift64Ashr(($25|0),($28|0),31)|0); + $30 = tempRet0; + $31 = $6; + $32 = $31; + HEAP32[$32>>2] = $29; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = $6; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = $37 & 31; + $42 = HEAP32[$9>>2]|0; + HEAP32[$42>>2] = $41; + $43 = $6; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (_bitshift64Ashr(($45|0),($48|0),5)|0); + $50 = tempRet0; + $51 = $6; + $52 = $51; + HEAP32[$52>>2] = $49; + $53 = (($51) + 4)|0; + $54 = $53; + HEAP32[$54>>2] = $50; + $55 = $6; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = $57 & 1; + $62 = HEAP32[$8>>2]|0; + HEAP32[$62>>2] = $61; + $63 = $6; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (($63) + 4)|0; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (_bitshift64Ashr(($65|0),($68|0),1)|0); + $70 = tempRet0; + $71 = $6; $72 = $71; - HEAP32[$72>>2] = $66; + HEAP32[$72>>2] = $69; $73 = (($71) + 4)|0; $74 = $73; - HEAP32[$74>>2] = $69; - $75 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($75|0); + HEAP32[$74>>2] = $70; + $75 = $6; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = $77 & 65535; + $82 = HEAP32[$7>>2]|0; + HEAP32[$82>>2] = $81; + STACKTOP = sp;return; } -function _vdbeMergeEngineNew($nReader) { - $nReader = $nReader|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $N = 0, $nByte = 0, $pNew = 0, label = 0, sp = 0; +function _fts5DebugRowid($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; + var $vararg_buffer3 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $N = sp + 8|0; - $nByte = sp + 4|0; - $pNew = sp; - HEAP32[$0>>2] = $nReader; - HEAP32[$N>>2] = 2; - while(1) { - $1 = HEAP32[$N>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ($1|0)<($2|0); - $4 = HEAP32[$N>>2]|0; - if (!($3)) { - break; - } - $5 = HEAP32[$N>>2]|0; - $6 = (($5) + ($4))|0; - HEAP32[$N>>2] = $6; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer3 = sp + 24|0; + $vararg_buffer1 = sp + 16|0; + $vararg_buffer = sp + 8|0; + $4 = sp + 60|0; + $5 = sp + 56|0; + $6 = sp; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $11 = $6; + $12 = $11; + HEAP32[$12>>2] = $2; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $3; + $15 = $6; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + _fts5DecodeRowid($17,$20,$7,$10,$8,$9); + $21 = HEAP32[$7>>2]|0; + $22 = ($21|0)==(0); + if (!($22)) { + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$10>>2]|0; + $37 = ($36|0)!=(0); + $38 = $37 ? 50747 : 55752; + $39 = HEAP32[$7>>2]|0; + $40 = HEAP32[$8>>2]|0; + $41 = HEAP32[$9>>2]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + $vararg_ptr6 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr6>>2] = $40; + $vararg_ptr7 = ((($vararg_buffer3)) + 12|0); + HEAP32[$vararg_ptr7>>2] = $41; + _sqlite3Fts5BufferAppendPrintf($34,$35,50754,$vararg_buffer3); + STACKTOP = sp;return; } - $7 = ($4*60)|0; - $8 = (16 + ($7))|0; - HEAP32[$nByte>>2] = $8; - $9 = (_sqlite3FaultSim(100)|0); - $10 = ($9|0)!=(0); - if ($10) { - $15 = 0; + $23 = $6; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = ($25|0)==(1); + $30 = ($28|0)==(0); + $31 = $29 & $30; + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$5>>2]|0; + if ($31) { + _sqlite3Fts5BufferAppendPrintf($32,$33,50723,$vararg_buffer); + STACKTOP = sp;return; } else { - $11 = HEAP32[$nByte>>2]|0; - $12 = ($11|0)<(0); - $13 = $12 << 31 >> 31; - $14 = (_sqlite3MallocZero($11,$13)|0); - $15 = $14; - } - HEAP32[$pNew>>2] = $15; - $16 = HEAP32[$pNew>>2]|0; - $17 = ($16|0)!=(0|0); - if (!($17)) { - $33 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($33|0); + _sqlite3Fts5BufferAppendPrintf($32,$33,50735,$vararg_buffer1); + STACKTOP = sp;return; } - $18 = HEAP32[$N>>2]|0; - $19 = HEAP32[$pNew>>2]|0; - HEAP32[$19>>2] = $18; - $20 = HEAP32[$pNew>>2]|0; - $21 = ((($20)) + 4|0); - HEAP32[$21>>2] = 0; - $22 = HEAP32[$pNew>>2]|0; - $23 = ((($22)) + 16|0); - $24 = HEAP32[$pNew>>2]|0; - $25 = ((($24)) + 12|0); - HEAP32[$25>>2] = $23; - $26 = HEAP32[$N>>2]|0; - $27 = HEAP32[$pNew>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + (($26*56)|0)|0); - $31 = HEAP32[$pNew>>2]|0; - $32 = ((($31)) + 8|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($33|0); } -function _vdbeSorterAddToTree($pTask,$nDepth,$iSeq,$pRoot,$pLeaf) { - $pTask = $pTask|0; - $nDepth = $nDepth|0; - $iSeq = $iSeq|0; - $pRoot = $pRoot|0; - $pLeaf = $pLeaf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iIter = 0, $nDiv = 0, $p = 0, $pIncr = 0, $pNew = 0, $pReadr = 0, $rc = 0, label = 0, sp = 0; +function _fts5DecodeAverages($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 $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 + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $rc = sp + 28|0; - $nDiv = sp + 24|0; - $i = sp + 20|0; - $p = sp + 16|0; - $pIncr = sp + 12|0; - $iIter = sp + 8|0; - $pReadr = sp + 4|0; - $pNew = sp; - HEAP32[$0>>2] = $pTask; - HEAP32[$1>>2] = $nDepth; - HEAP32[$2>>2] = $iSeq; - HEAP32[$3>>2] = $pRoot; - HEAP32[$4>>2] = $pLeaf; - HEAP32[$rc>>2] = 0; - HEAP32[$nDiv>>2] = 1; - $5 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$4>>2]|0; - $8 = (_vdbeIncrMergerNew($6,$7,$pIncr)|0); - HEAP32[$rc>>2] = $8; - HEAP32[$i>>2] = 1; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp + 8|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 55752; while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ($9|0)<($10|0); - if (!($11)) { + $11 = HEAP32[$8>>2]|0; + $12 = HEAP32[$7>>2]|0; + $13 = ($11|0)<($12|0); + if (!($13)) { break; } - $12 = HEAP32[$nDiv>>2]|0; - $13 = $12<<4; - HEAP32[$nDiv>>2] = $13; - $14 = HEAP32[$i>>2]|0; - $15 = (($14) + 1)|0; - HEAP32[$i>>2] = $15; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$8>>2]|0; + $16 = (($14) + ($15)|0); + $17 = (_sqlite3Fts5GetVarint($16,$10)|0); + $18 = $17&255; + $19 = HEAP32[$8>>2]|0; + $20 = (($19) + ($18))|0; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$9>>2]|0; + $24 = $10; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + HEAP32[$vararg_buffer>>2] = $23; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $26; + _sqlite3Fts5BufferAppendPrintf($21,$22,50718,$vararg_buffer); + HEAP32[$9>>2] = 23021; } - HEAP32[$i>>2] = 1; + STACKTOP = sp;return; +} +function _fts5DecodeStructure($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$9>>2] = 0; + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$7>>2]|0; + $12 = (_fts5StructureDecode($10,$11,0,$9)|0); + HEAP32[$8>>2] = $12; + $13 = HEAP32[$8>>2]|0; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$8>>2]|0; + $16 = HEAP32[$4>>2]|0; + HEAP32[$16>>2] = $15; + STACKTOP = sp;return; + } else { + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$9>>2]|0; + _fts5DebugStructure($17,$18,$19); + $20 = HEAP32[$9>>2]|0; + _fts5StructureRelease($20); + STACKTOP = sp;return; + } +} +function _fts5DecodeRowidList($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, $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, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp + 16|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 8|0; + $10 = sp + 32|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $12 = $9; + $13 = $12; + HEAP32[$13>>2] = 0; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = 0; while(1) { - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$1>>2]|0; + $16 = HEAP32[$8>>2]|0; + $17 = HEAP32[$7>>2]|0; $18 = ($16|0)<($17|0); - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)==(0); - $21 = $18 ? $20 : 0; - if (!($21)) { + if (!($18)) { break; } - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$nDiv>>2]|0; - $24 = (($22|0) / ($23|0))&-1; - $25 = (($24|0) % 16)&-1; - HEAP32[$iIter>>2] = $25; - $26 = HEAP32[$iIter>>2]|0; - $27 = HEAP32[$p>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + (($26*56)|0)|0); - HEAP32[$pReadr>>2] = $30; - $31 = HEAP32[$pReadr>>2]|0; - $32 = ((($31)) + 48|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(0|0); + HEAP32[$10>>2] = 55752; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$8>>2]|0; + $21 = (($19) + ($20)|0); + $22 = (_sqlite3Fts5GetVarint($21,$11)|0); + $23 = $22&255; + $24 = HEAP32[$8>>2]|0; + $25 = (($24) + ($23))|0; + HEAP32[$8>>2] = $25; + $26 = $11; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = $9; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (_i64Add(($34|0),($37|0),($28|0),($31|0))|0); + $39 = tempRet0; + $40 = $9; + $41 = $40; + HEAP32[$41>>2] = $38; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = HEAP32[$8>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = ($44|0)<($45|0); do { - if ($34) { - $35 = (_vdbeMergeEngineNew(16)|0); - HEAP32[$pNew>>2] = $35; - $36 = HEAP32[$pNew>>2]|0; - $37 = ($36|0)==(0|0); - if ($37) { - HEAP32[$rc>>2] = 7; - break; - } else { - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$pNew>>2]|0; - $40 = HEAP32[$pReadr>>2]|0; - $41 = ((($40)) + 48|0); - $42 = (_vdbeIncrMergerNew($38,$39,$41)|0); - HEAP32[$rc>>2] = $42; - break; + if ($46) { + $47 = HEAP32[$6>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = (($47) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$8>>2]|0; + $54 = (($53) + 1)|0; + HEAP32[$8>>2] = $54; + $55 = HEAP32[$8>>2]|0; + $56 = HEAP32[$7>>2]|0; + $57 = ($55|0)<($56|0); + if ($57) { + $58 = HEAP32[$6>>2]|0; + $59 = HEAP32[$8>>2]|0; + $60 = (($58) + ($59)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62|0)==(0); + if ($63) { + $64 = HEAP32[$8>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$8>>2] = $65; + HEAP32[$10>>2] = 50658; + break; + } + } + HEAP32[$10>>2] = 29578; } } } while(0); - $43 = HEAP32[$rc>>2]|0; - $44 = ($43|0)==(0); - if ($44) { - $45 = HEAP32[$pReadr>>2]|0; - $46 = ((($45)) + 48|0); - $47 = HEAP32[$46>>2]|0; - $48 = ((($47)) + 4|0); - $49 = HEAP32[$48>>2]|0; - HEAP32[$p>>2] = $49; - $50 = HEAP32[$nDiv>>2]|0; - $51 = (($50|0) / 16)&-1; - HEAP32[$nDiv>>2] = $51; - } - $52 = HEAP32[$i>>2]|0; - $53 = (($52) + 1)|0; - HEAP32[$i>>2] = $53; - } - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)==(0); - $56 = HEAP32[$pIncr>>2]|0; - if ($55) { - $57 = HEAP32[$2>>2]|0; - $58 = (($57|0) % 16)&-1; - $59 = HEAP32[$p>>2]|0; - $60 = ((($59)) + 12|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($61) + (($58*56)|0)|0); - $63 = ((($62)) + 48|0); - HEAP32[$63>>2] = $56; - $64 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($64|0); - } else { - _vdbeIncrFree($56); - $64 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($64|0); + $66 = HEAP32[$4>>2]|0; + $67 = HEAP32[$5>>2]|0; + $68 = $9; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$10>>2]|0; + $75 = $vararg_buffer; + $76 = $75; + HEAP32[$76>>2] = $70; + $77 = (($75) + 4)|0; + $78 = $77; + HEAP32[$78>>2] = $73; + $vararg_ptr1 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr1>>2] = $74; + _sqlite3Fts5BufferAppendPrintf($66,$67,50660,$vararg_buffer); } - return (0)|0; + STACKTOP = sp;return; } -function _vdbeIncrMergerNew($pTask,$pMerger,$ppOut) { - $pTask = $pTask|0; - $pMerger = $pMerger|0; - $ppOut = $ppOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0; - var $9 = 0, $pIncr = 0, $rc = 0, label = 0, sp = 0; +function _fts5DecodePoslist($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $rc = sp + 4|0; - $pIncr = sp; - HEAP32[$0>>2] = $pTask; - HEAP32[$1>>2] = $pMerger; - HEAP32[$2>>2] = $ppOut; - HEAP32[$rc>>2] = 0; - $3 = (_sqlite3FaultSim(100)|0); - $4 = ($3|0)!=(0); - if ($4) { - $7 = 0; - } else { - $5 = (_sqlite3MallocZero(64,0)|0); - $7 = $5; - } - $6 = HEAP32[$2>>2]|0; - HEAP32[$6>>2] = $7; - HEAP32[$pIncr>>2] = $7; - $8 = HEAP32[$pIncr>>2]|0; - $9 = ($8|0)!=(0|0); - $10 = HEAP32[$1>>2]|0; - if (!($9)) { - _vdbeMergeEngineFree($10); - HEAP32[$rc>>2] = 7; - $60 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($60|0); - } - $11 = HEAP32[$pIncr>>2]|0; - $12 = ((($11)) + 4|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$pIncr>>2]|0; - HEAP32[$14>>2] = $13; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + 9)|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 8|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25|0) / 2)&-1; - $27 = ($20|0)>($26|0); - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP32[$29>>2]|0; - if ($27) { - $31 = ((($30)) + 8|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + 9)|0; - $39 = $33; - } else { - $34 = ((($30)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35|0) / 2)&-1; - $39 = $36; + $vararg_buffer = sp; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + while(1) { + $10 = HEAP32[$8>>2]|0; + $11 = HEAP32[$7>>2]|0; + $12 = ($10|0)<($11|0); + if (!($12)) { + break; + } + $13 = HEAP32[$6>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = (($13) + ($14)|0); + $16 = (_sqlite3Fts5GetVarint32($15,$9)|0); + $17 = HEAP32[$8>>2]|0; + $18 = (($17) + ($16))|0; + HEAP32[$8>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$9>>2]|0; + HEAP32[$vararg_buffer>>2] = $21; + _sqlite3Fts5BufferAppendPrintf($19,$20,49275,$vararg_buffer); } - $37 = HEAP32[$pIncr>>2]|0; - $38 = ((($37)) + 16|0); - HEAP32[$38>>2] = $39; - $40 = HEAP32[$pIncr>>2]|0; - $41 = ((($40)) + 16|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)<(0); - $44 = $43 << 31 >> 31; - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 56|0); - $47 = ((($46)) + 8|0); - $48 = $47; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (_i64Add(($50|0),($53|0),($42|0),($44|0))|0); - $55 = tempRet0; - $56 = $47; - $57 = $56; - HEAP32[$57>>2] = $54; - $58 = (($56) + 4)|0; - $59 = $58; - HEAP32[$59>>2] = $55; - $60 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($60|0); + $22 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($22|0); } -function _vdbePmaReaderInit($pTask,$pFile,$0,$1,$pReadr,$pnByte) { - $pTask = $pTask|0; - $pFile = $pFile|0; +function _fts5DecodeDoclist($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - $pReadr = $pReadr|0; - $pnByte = $pnByte|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $nByte = 0, $rc = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 8|0; - $5 = sp + 24|0; - $6 = sp + 20|0; - $rc = sp + 16|0; - $nByte = sp; - HEAP32[$2>>2] = $pTask; - HEAP32[$3>>2] = $pFile; - $7 = $4; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - HEAP32[$5>>2] = $pReadr; - HEAP32[$6>>2] = $pnByte; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$5>>2]|0; - $13 = HEAP32[$3>>2]|0; - $14 = $4; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (_vdbePmaReaderSeek($11,$12,$13,$16,$19)|0); - HEAP32[$rc>>2] = $20; - $21 = HEAP32[$rc>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - $23 = $nByte; - $24 = $23; - HEAP32[$24>>2] = 0; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = 0; - $27 = HEAP32[$5>>2]|0; - $28 = (_vdbePmaReadVarint($27,$nByte)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$5>>2]|0; - $30 = $29; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer5 = sp + 32|0; + $vararg_buffer1 = sp + 24|0; + $vararg_buffer = sp + 16|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 8|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $13 = $8; + $14 = $13; + HEAP32[$14>>2] = 0; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = 0; + HEAP32[$9>>2] = 0; + $17 = HEAP32[$7>>2]|0; + $18 = ($17|0)>(0); + if ($18) { + $19 = HEAP32[$6>>2]|0; + $20 = (_sqlite3Fts5GetVarint($19,$8)|0); + $21 = $20&255; + HEAP32[$9>>2] = $21; + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = $8; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $vararg_buffer; $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = $nByte; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (_i64Add(($32|0),($35|0),($38|0),($41|0))|0); - $43 = tempRet0; - $44 = HEAP32[$5>>2]|0; - $45 = ((($44)) + 8|0); - $46 = $45; - $47 = $46; - HEAP32[$47>>2] = $42; - $48 = (($46) + 4)|0; - $49 = $48; - HEAP32[$49>>2] = $43; - $50 = $nByte; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$6>>2]|0; - $57 = $56; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (_i64Add(($59|0),($62|0),($52|0),($55|0))|0); - $64 = tempRet0; - $65 = $56; - $66 = $65; - HEAP32[$66>>2] = $63; - $67 = (($65) + 4)|0; - $68 = $67; - HEAP32[$68>>2] = $64; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + _sqlite3Fts5BufferAppendPrintf($22,$23,50638,$vararg_buffer); } - $69 = HEAP32[$rc>>2]|0; - $70 = ($69|0)==(0); - if (!($70)) { - $73 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($73|0); + while(1) { + $34 = HEAP32[$9>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = ($34|0)<($35|0); + if (!($36)) { + break; + } + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$9>>2]|0; + $39 = (($37) + ($38)|0); + $40 = (_fts5GetPoslistSize($39,$10,$11)|0); + $41 = HEAP32[$9>>2]|0; + $42 = (($41) + ($40))|0; + HEAP32[$9>>2] = $42; + $43 = HEAP32[$4>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = HEAP32[$10>>2]|0; + $46 = HEAP32[$11>>2]|0; + $47 = ($46|0)!=(0); + $48 = $47 ? 29578 : 55752; + HEAP32[$vararg_buffer1>>2] = $45; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $48; + _sqlite3Fts5BufferAppendPrintf($43,$44,50647,$vararg_buffer1); + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$9>>2]|0; + $53 = (($51) + ($52)|0); + $54 = HEAP32[$7>>2]|0; + $55 = HEAP32[$9>>2]|0; + $56 = (($54) - ($55))|0; + $57 = HEAP32[$10>>2]|0; + $58 = ($56|0)<($57|0); + if ($58) { + $59 = HEAP32[$7>>2]|0; + $60 = HEAP32[$9>>2]|0; + $61 = (($59) - ($60))|0; + $63 = $61; + } else { + $62 = HEAP32[$10>>2]|0; + $63 = $62; + } + $64 = (_fts5DecodePoslist($49,$50,$53,$63)|0); + $65 = HEAP32[$9>>2]|0; + $66 = (($65) + ($64))|0; + HEAP32[$9>>2] = $66; + $67 = HEAP32[$9>>2]|0; + $68 = HEAP32[$7>>2]|0; + $69 = ($67|0)<($68|0); + if (!($69)) { + continue; + } + $70 = HEAP32[$6>>2]|0; + $71 = HEAP32[$9>>2]|0; + $72 = (($70) + ($71)|0); + $73 = (_sqlite3Fts5GetVarint($72,$12)|0); + $74 = $73&255; + $75 = HEAP32[$9>>2]|0; + $76 = (($75) + ($74))|0; + HEAP32[$9>>2] = $76; + $77 = $12; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + 4)|0; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = $8; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (_i64Add(($85|0),($88|0),($79|0),($82|0))|0); + $90 = tempRet0; + $91 = $8; + $92 = $91; + HEAP32[$92>>2] = $89; + $93 = (($91) + 4)|0; + $94 = $93; + HEAP32[$94>>2] = $90; + $95 = HEAP32[$4>>2]|0; + $96 = HEAP32[$5>>2]|0; + $97 = $8; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $vararg_buffer5; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + _sqlite3Fts5BufferAppendPrintf($95,$96,50638,$vararg_buffer5); } - $71 = HEAP32[$5>>2]|0; - $72 = (_vdbePmaReaderNext($71)|0); - HEAP32[$rc>>2] = $72; - $73 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($73|0); -} -function _sqlite3BtreeCursorHasMoved($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 66|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(1); - $6 = $5&1; - STACKTOP = sp;return ($6|0); + $107 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($107|0); } -function _handleMovedCursor($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isDifferentRow = 0, $rc = 0, label = 0, sp = 0; +function _fts5DebugStructure($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $isDifferentRow = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3BtreeCursorRestore($3,$isDifferentRow)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 56|0); + STACKTOP = STACKTOP + 64|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $3 = sp + 60|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; HEAP32[$6>>2] = 0; - $7 = HEAP32[$isDifferentRow>>2]|0; - $8 = ($7|0)!=(0); - if (!($8)) { - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); - } - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 2|0); - HEAP8[$10>>0] = 1; - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); -} -function _sqlite3BtreeCursorRestore($pCur,$pDifferentRow) { - $pCur = $pCur|0; - $pDifferentRow = $pDifferentRow|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pCur; - HEAP32[$2>>2] = $pDifferentRow; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 66|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)>=(3); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = (_btreeRestoreCursorPosition($8)|0); - $10 = $9; - } else { - $10 = 0; - } - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)!=(0); - if ($12) { - $13 = HEAP32[$2>>2]|0; - HEAP32[$13>>2] = 1; - $14 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $14; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); - } - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 66|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = ($18|0)!=(1); - $20 = HEAP32[$2>>2]|0; - if ($19) { - HEAP32[$20>>2] = 1; - } else { - HEAP32[$20>>2] = 0; - } - HEAP32[$0>>2] = 0; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); -} -function _vdbeSorterRowkey($pSorter,$pnKey) { - $pSorter = $pSorter|0; - $pnKey = $pnKey|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pKey = 0, $pReader = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pKey = sp + 4|0; - $pReader = sp; - HEAP32[$0>>2] = $pSorter; - HEAP32[$1>>2] = $pnKey; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 56|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - $6 = HEAP32[$0>>2]|0; - if ($5) { - $7 = ((($6)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + (($12*56)|0)|0); - HEAP32[$pReader>>2] = $18; - $19 = HEAP32[$pReader>>2]|0; - $20 = ((($19)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$1>>2]|0; - HEAP32[$22>>2] = $21; - $23 = HEAP32[$pReader>>2]|0; - $24 = ((($23)) + 32|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pKey>>2] = $25; - $34 = HEAP32[$pKey>>2]|0; - STACKTOP = sp;return ($34|0); - } else { - $26 = ((($6)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$1>>2]|0; - HEAP32[$29>>2] = $28; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 36|0); - $32 = HEAP32[$31>>2]|0; - $33 = ((($32)) + 8|0); - HEAP32[$pKey>>2] = $33; - $34 = HEAP32[$pKey>>2]|0; - STACKTOP = sp;return ($34|0); - } - return (0)|0; -} -function _dropCell($pPage,$idx,$sz,$pRC) { - $pPage = $pPage|0; - $idx = $idx|0; - $sz = $sz|0; - $pRC = $pRC|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 $data = 0, $hdr = 0, $pc = 0, $ptr = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $pc = sp + 16|0; - $data = sp + 12|0; - $ptr = sp + 8|0; - $rc = sp + 4|0; - $hdr = sp; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $idx; - HEAP32[$2>>2] = $sz; - HEAP32[$3>>2] = $pRC; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { - STACKTOP = sp;return; - } - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 56|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$data>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = $10<<1; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 64|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11)|0); - HEAP32[$ptr>>2] = $15; - $16 = HEAP32[$ptr>>2]|0; - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = $18 << 8; - $20 = HEAP32[$ptr>>2]|0; - $21 = ((($20)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = $19 | $23; - HEAP32[$pc>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 5|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - HEAP32[$hdr>>2] = $28; - $29 = HEAP32[$pc>>2]|0; - $30 = HEAP32[$hdr>>2]|0; - $31 = (($30) + 5)|0; - $32 = HEAP32[$data>>2]|0; - $33 = (($32) + ($31)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = $35 << 8; - $37 = HEAP32[$hdr>>2]|0; - $38 = (($37) + 5)|0; - $39 = HEAP32[$data>>2]|0; - $40 = (($39) + ($38)|0); - $41 = ((($40)) + 1|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = $36 | $43; - $45 = ($29>>>0)<($44>>>0); - if (!($45)) { - $46 = HEAP32[$pc>>2]|0; - $47 = HEAP32[$2>>2]|0; - $48 = (($46) + ($47))|0; - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 52|0); - $51 = HEAP32[$50>>2]|0; - $52 = ((($51)) + 36|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($48>>>0)>($53>>>0); - if (!($54)) { - $57 = HEAP32[$0>>2]|0; - $58 = HEAP32[$pc>>2]|0; - $59 = $58&65535; - $60 = HEAP32[$2>>2]|0; - $61 = $60&65535; - $62 = (_freeSpace($57,$59,$61)|0); - HEAP32[$rc>>2] = $62; - $63 = HEAP32[$rc>>2]|0; - $64 = ($63|0)!=(0); - if ($64) { - $65 = HEAP32[$rc>>2]|0; - $66 = HEAP32[$3>>2]|0; - HEAP32[$66>>2] = $65; - STACKTOP = sp;return; - } - $67 = HEAP32[$0>>2]|0; - $68 = ((($67)) + 18|0); - $69 = HEAP16[$68>>1]|0; - $70 = (($69) + -1)<<16>>16; - HEAP16[$68>>1] = $70; - $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 18|0); - $73 = HEAP16[$72>>1]|0; - $74 = $73&65535; - $75 = ($74|0)==(0); - if ($75) { - $76 = HEAP32[$hdr>>2]|0; - $77 = (($76) + 1)|0; - $78 = HEAP32[$data>>2]|0; - $79 = (($78) + ($77)|0); - ;HEAP8[$79>>0]=0|0;HEAP8[$79+1>>0]=0|0;HEAP8[$79+2>>0]=0|0;HEAP8[$79+3>>0]=0|0; - $80 = HEAP32[$hdr>>2]|0; - $81 = (($80) + 7)|0; - $82 = HEAP32[$data>>2]|0; - $83 = (($82) + ($81)|0); - HEAP8[$83>>0] = 0; - $84 = HEAP32[$0>>2]|0; - $85 = ((($84)) + 52|0); - $86 = HEAP32[$85>>2]|0; - $87 = ((($86)) + 36|0); - $88 = HEAP32[$87>>2]|0; - $89 = $88 >>> 8; - $90 = $89&255; - $91 = HEAP32[$hdr>>2]|0; - $92 = (($91) + 5)|0; - $93 = HEAP32[$data>>2]|0; - $94 = (($93) + ($92)|0); - HEAP8[$94>>0] = $90; - $95 = HEAP32[$0>>2]|0; - $96 = ((($95)) + 52|0); - $97 = HEAP32[$96>>2]|0; - $98 = ((($97)) + 36|0); - $99 = HEAP32[$98>>2]|0; - $100 = $99&255; - $101 = HEAP32[$hdr>>2]|0; - $102 = (($101) + 5)|0; - $103 = HEAP32[$data>>2]|0; - $104 = (($103) + ($102)|0); - $105 = ((($104)) + 1|0); - HEAP8[$105>>0] = $100; - $106 = HEAP32[$0>>2]|0; - $107 = ((($106)) + 52|0); - $108 = HEAP32[$107>>2]|0; - $109 = ((($108)) + 36|0); - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$0>>2]|0; - $112 = ((($111)) + 5|0); - $113 = HEAP8[$112>>0]|0; - $114 = $113&255; - $115 = (($110) - ($114))|0; - $116 = HEAP32[$0>>2]|0; - $117 = ((($116)) + 6|0); - $118 = HEAP8[$117>>0]|0; - $119 = $118&255; - $120 = (($115) - ($119))|0; - $121 = (($120) - 8)|0; - $122 = $121&65535; - $123 = HEAP32[$0>>2]|0; - $124 = ((($123)) + 16|0); - HEAP16[$124>>1] = $122; - STACKTOP = sp;return; - } else { - $125 = HEAP32[$ptr>>2]|0; - $126 = HEAP32[$ptr>>2]|0; - $127 = ((($126)) + 2|0); - $128 = HEAP32[$0>>2]|0; - $129 = ((($128)) + 18|0); - $130 = HEAP16[$129>>1]|0; - $131 = $130&65535; - $132 = HEAP32[$1>>2]|0; - $133 = (($131) - ($132))|0; - $134 = $133<<1; - _memmove(($125|0),($127|0),($134|0))|0; - $135 = HEAP32[$0>>2]|0; - $136 = ((($135)) + 18|0); - $137 = HEAP16[$136>>1]|0; - $138 = $137&65535; - $139 = $138 >> 8; - $140 = $139&255; - $141 = HEAP32[$hdr>>2]|0; - $142 = (($141) + 3)|0; - $143 = HEAP32[$data>>2]|0; - $144 = (($143) + ($142)|0); - HEAP8[$144>>0] = $140; - $145 = HEAP32[$0>>2]|0; - $146 = ((($145)) + 18|0); - $147 = HEAP16[$146>>1]|0; - $148 = $147&255; - $149 = HEAP32[$hdr>>2]|0; - $150 = (($149) + 3)|0; - $151 = HEAP32[$data>>2]|0; - $152 = (($151) + ($150)|0); - $153 = ((($152)) + 1|0); - HEAP8[$153>>0] = $148; - $154 = HEAP32[$0>>2]|0; - $155 = ((($154)) + 16|0); - $156 = HEAP16[$155>>1]|0; - $157 = $156&65535; - $158 = (($157) + 2)|0; - $159 = $158&65535; - HEAP16[$155>>1] = $159; - STACKTOP = sp;return; + while(1) { + $10 = HEAP32[$6>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($10|0)<($13|0); + if (!($14)) { + break; + } + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 24|0); + $17 = HEAP32[$6>>2]|0; + $18 = (($16) + (($17*12)|0)|0); + HEAP32[$8>>2] = $18; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$8>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$vararg_buffer>>2] = $21; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $23; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $26; + _sqlite3Fts5BufferAppendPrintf($19,$20,50668,$vararg_buffer); + HEAP32[$7>>2] = 0; + while(1) { + $27 = HEAP32[$7>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($27|0)<($30|0); + if (!($31)) { + break; } + $32 = HEAP32[$8>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = (($34) + (($35*12)|0)|0); + HEAP32[$9>>2] = $36; + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$9>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$9>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$9>>2]|0; + $45 = ((($44)) + 8|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$vararg_buffer3>>2] = $40; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $43; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $46; + _sqlite3Fts5BufferAppendPrintf($37,$38,50695,$vararg_buffer3); + $47 = HEAP32[$7>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$7>>2] = $48; } + $49 = HEAP32[$3>>2]|0; + $50 = HEAP32[$4>>2]|0; + _sqlite3Fts5BufferAppendPrintf($49,$50,49298,$vararg_buffer8); + $51 = HEAP32[$6>>2]|0; + $52 = (($51) + 1)|0; + HEAP32[$6>>2] = $52; } - $55 = (_sqlite3CorruptError(64508)|0); - $56 = HEAP32[$3>>2]|0; - HEAP32[$56>>2] = $55; STACKTOP = sp;return; } -function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { - $pPage = $pPage|0; - $i = $i|0; - $pCell = $pCell|0; - $sz = $sz|0; - $pTemp = $pTemp|0; - $iChild = $iChild|0; - $pRC = $pRC|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $data = 0, $idx = 0, $j = 0, $pIns = 0, $rc = 0, label = 0, sp = 0; +function _fts5CreateMethod($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 24|0; + STACKTOP = STACKTOP + 32|0; $6 = sp + 20|0; - $idx = sp + 16|0; - $j = sp + 12|0; - $data = sp + 8|0; - $pIns = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $i; - HEAP32[$2>>2] = $pCell; - HEAP32[$3>>2] = $sz; - HEAP32[$4>>2] = $pTemp; - HEAP32[$5>>2] = $iChild; - HEAP32[$6>>2] = $pRC; - HEAP32[$idx>>2] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)!=(0); - if (!($11)) { - $12 = HEAP32[$3>>2]|0; - $13 = (($12) + 2)|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16&65535; - $18 = ($13|0)>($17|0); - if (!($18)) { - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 72|0); - $47 = HEAP32[$46>>2]|0; - $48 = (_sqlite3PagerWrite($47)|0); - HEAP32[$rc>>2] = $48; - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)!=(0); - if ($50) { - $51 = HEAP32[$rc>>2]|0; - $52 = HEAP32[$6>>2]|0; - HEAP32[$52>>2] = $51; - STACKTOP = sp;return; - } - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 56|0); - $55 = HEAP32[$54>>2]|0; - HEAP32[$data>>2] = $55; - $56 = HEAP32[$0>>2]|0; - $57 = HEAP32[$3>>2]|0; - $58 = (_allocateSpace($56,$57,$idx)|0); - HEAP32[$rc>>2] = $58; - $59 = HEAP32[$rc>>2]|0; - $60 = ($59|0)!=(0); - if ($60) { - $61 = HEAP32[$rc>>2]|0; - $62 = HEAP32[$6>>2]|0; - HEAP32[$62>>2] = $61; - STACKTOP = sp;return; - } - $63 = HEAP32[$3>>2]|0; - $64 = (2 + ($63))|0; - $65 = $64&65535; - $66 = $65&65535; - $67 = HEAP32[$0>>2]|0; - $68 = ((($67)) + 16|0); - $69 = HEAP16[$68>>1]|0; - $70 = $69&65535; - $71 = (($70) - ($66))|0; - $72 = $71&65535; - HEAP16[$68>>1] = $72; - $73 = HEAP32[$idx>>2]|0; - $74 = HEAP32[$data>>2]|0; - $75 = (($74) + ($73)|0); - $76 = HEAP32[$2>>2]|0; - $77 = HEAP32[$3>>2]|0; - _memcpy(($75|0),($76|0),($77|0))|0; - $78 = HEAP32[$5>>2]|0; - $79 = ($78|0)!=(0); - if ($79) { - $80 = HEAP32[$idx>>2]|0; - $81 = HEAP32[$data>>2]|0; - $82 = (($81) + ($80)|0); - $83 = HEAP32[$5>>2]|0; - _sqlite3Put4byte($82,$83); - } - $84 = HEAP32[$0>>2]|0; - $85 = ((($84)) + 64|0); - $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[$1>>2]|0; - $88 = $87<<1; - $89 = (($86) + ($88)|0); - HEAP32[$pIns>>2] = $89; - $90 = HEAP32[$pIns>>2]|0; - $91 = ((($90)) + 2|0); - $92 = HEAP32[$pIns>>2]|0; - $93 = HEAP32[$0>>2]|0; - $94 = ((($93)) + 18|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95&65535; - $97 = HEAP32[$1>>2]|0; - $98 = (($96) - ($97))|0; - $99 = $98<<1; - _memmove(($91|0),($92|0),($99|0))|0; - $100 = HEAP32[$idx>>2]|0; - $101 = $100 >> 8; - $102 = $101&255; - $103 = HEAP32[$pIns>>2]|0; - HEAP8[$103>>0] = $102; - $104 = HEAP32[$idx>>2]|0; - $105 = $104&255; - $106 = HEAP32[$pIns>>2]|0; - $107 = ((($106)) + 1|0); - HEAP8[$107>>0] = $105; - $108 = HEAP32[$0>>2]|0; - $109 = ((($108)) + 18|0); - $110 = HEAP16[$109>>1]|0; - $111 = (($110) + 1)<<16>>16; - HEAP16[$109>>1] = $111; - $112 = HEAP32[$0>>2]|0; - $113 = ((($112)) + 5|0); - $114 = HEAP8[$113>>0]|0; - $115 = $114&255; - $116 = (($115) + 4)|0; - $117 = HEAP32[$data>>2]|0; - $118 = (($117) + ($116)|0); - $119 = HEAP8[$118>>0]|0; - $120 = (($119) + 1)<<24>>24; - HEAP8[$118>>0] = $120; - $121 = $120&255; - $122 = ($121|0)==(0); - if ($122) { - $123 = HEAP32[$0>>2]|0; - $124 = ((($123)) + 5|0); - $125 = HEAP8[$124>>0]|0; - $126 = $125&255; - $127 = (($126) + 3)|0; - $128 = HEAP32[$data>>2]|0; - $129 = (($128) + ($127)|0); - $130 = HEAP8[$129>>0]|0; - $131 = (($130) + 1)<<24>>24; - HEAP8[$129>>0] = $131; - } - $132 = HEAP32[$0>>2]|0; - $133 = ((($132)) + 52|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 17|0); - $136 = HEAP8[$135>>0]|0; - $137 = ($136<<24>>24)!=(0); - if (!($137)) { - STACKTOP = sp;return; - } - $138 = HEAP32[$0>>2]|0; - $139 = HEAP32[$2>>2]|0; - $140 = HEAP32[$6>>2]|0; - _ptrmapPutOvflPtr($138,$139,$140); - STACKTOP = sp;return; - } - } - $19 = HEAP32[$4>>2]|0; - $20 = ($19|0)!=(0|0); - if ($20) { - $21 = HEAP32[$4>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$3>>2]|0; - _memcpy(($21|0),($22|0),($23|0))|0; - $24 = HEAP32[$4>>2]|0; - HEAP32[$2>>2] = $24; - } - $25 = HEAP32[$5>>2]|0; - $26 = ($25|0)!=(0); - if ($26) { - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$5>>2]|0; - _sqlite3Put4byte($27,$28); - } - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = (($31) + 1)<<24>>24; - HEAP8[$30>>0] = $32; - $33 = $31&255; - HEAP32[$j>>2] = $33; - $34 = HEAP32[$2>>2]|0; - $35 = HEAP32[$j>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 32|0); - $38 = (($37) + ($35<<2)|0); - HEAP32[$38>>2] = $34; - $39 = HEAP32[$1>>2]|0; - $40 = $39&65535; - $41 = HEAP32[$j>>2]|0; - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 22|0); - $44 = (($43) + ($41<<1)|0); - HEAP16[$44>>1] = $40; - STACKTOP = sp;return; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$9>>2]|0; + $16 = HEAP32[$10>>2]|0; + $17 = HEAP32[$11>>2]|0; + $18 = (_fts5InitVtab(1,$12,$13,$14,$15,$16,$17)|0); + STACKTOP = sp;return ($18|0); } -function _balance($pCur) { - $pCur = $pCur|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aBalanceQuickSpace = 0, $iIdx = 0, $iPage = 0, $nMin = 0, $pFree = 0, $pPage = 0, $pParent = 0, $pSpace = 0, $rc = 0; - var label = 0, sp = 0; +function _fts5ConnectMethod($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$9>>2]|0; + $16 = HEAP32[$10>>2]|0; + $17 = HEAP32[$11>>2]|0; + $18 = (_fts5InitVtab(0,$12,$13,$14,$15,$16,$17)|0); + STACKTOP = sp;return ($18|0); +} +function _fts5BestIndexMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0.0, $$sink$sink = 0.0, $$sink2 = 0, $$sink2$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0.0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0, $144 = 0.0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 32|0; - $rc = sp + 28|0; - $nMin = sp + 24|0; - $aBalanceQuickSpace = sp + 36|0; - $pFree = sp + 20|0; - $iPage = sp + 16|0; - $pPage = sp + 12|0; - $pParent = sp + 8|0; - $iIdx = sp + 4|0; - $pSpace = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 36|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5<<1; - $7 = (($6>>>0) / 3)&-1; - HEAP32[$nMin>>2] = $7; - HEAP32[$pFree>>2] = 0; - while(1) { - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 68|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10 << 24 >> 24; - HEAP32[$iPage>>2] = $11; - $12 = HEAP32[$iPage>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 120|0); - $15 = (($14) + ($12<<2)|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pPage>>2] = $16; - $17 = HEAP32[$iPage>>2]|0; - $18 = ($17|0)==(0); - $19 = HEAP32[$pPage>>2]|0; - $20 = ((($19)) + 1|0); - $21 = HEAP8[$20>>0]|0; - if ($18) { - $22 = ($21<<24>>24)!=(0); - if (!($22)) { + STACKTOP = STACKTOP + 176|0; + $2 = sp + 164|0; + $3 = sp + 160|0; + $4 = sp + 156|0; + $5 = sp + 152|0; + $6 = sp + 148|0; + $7 = sp + 144|0; + $8 = sp + 140|0; + $9 = sp + 136|0; + $10 = sp + 132|0; + $11 = sp + 32|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + $16 = sp + 4|0; + $17 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $18 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$6>>2] = $21; + HEAP32[$7>>2] = 0; + dest=$11; src=10696; stop=dest+100|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$12>>2] = -1; + $22 = HEAP32[$6>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($12)) + 4|0); + HEAP32[$25>>2] = $24; + $26 = HEAP32[$6>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + 1)|0; + $30 = ((($12)) + 8|0); + HEAP32[$30>>2] = $29; + HEAP32[$10>>2] = 0; + L1: while(1) { + $31 = HEAP32[$10>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = ($31|0)<($33|0); + $35 = HEAP32[$4>>2]|0; + if (!($34)) { + break; + } + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$10>>2]|0; + $39 = (($37) + (($38*12)|0)|0); + HEAP32[$13>>2] = $39; + HEAP32[$14>>2] = 0; + while(1) { + $40 = HEAP32[$14>>2]|0; + $41 = ($40|0)<(5); + if (!($41)) { break; } - $23 = HEAP32[$pPage>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 120|0); - $26 = ((($25)) + 4|0); - $27 = (_balance_deeper($23,$26)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)==(0); - if ($29) { - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 68|0); - HEAP8[$31>>0] = 1; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 80|0); - HEAP16[$33>>1] = 0; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 80|0); - $36 = ((($35)) + 2|0); - HEAP16[$36>>1] = 0; - } - } else { - $37 = $21&255; - $38 = ($37|0)==(0); - if ($38) { - $39 = HEAP32[$pPage>>2]|0; - $40 = ((($39)) + 16|0); - $41 = HEAP16[$40>>1]|0; - $42 = $41&65535; - $43 = HEAP32[$nMin>>2]|0; - $44 = ($42|0)<=($43|0); - if ($44) { - break; - } - } - $45 = HEAP32[$iPage>>2]|0; - $46 = (($45) - 1)|0; - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 120|0); - $49 = (($48) + ($46<<2)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (($11) + (($42*20)|0)|0); + HEAP32[$15>>2] = $43; + $44 = HEAP32[$13>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$15>>2]|0; + $47 = ((($46)) + 8|0); + $48 = HEAP32[$47>>2]|0; + $49 = (($12) + ($48<<2)|0); $50 = HEAP32[$49>>2]|0; - HEAP32[$pParent>>2] = $50; - $51 = HEAP32[$iPage>>2]|0; - $52 = (($51) - 1)|0; - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 80|0); - $55 = (($54) + ($52<<1)|0); - $56 = HEAP16[$55>>1]|0; - $57 = $56&65535; - HEAP32[$iIdx>>2] = $57; - $58 = HEAP32[$pParent>>2]|0; - $59 = ((($58)) + 72|0); - $60 = HEAP32[$59>>2]|0; - $61 = (_sqlite3PagerWrite($60)|0); - HEAP32[$rc>>2] = $61; - $62 = HEAP32[$rc>>2]|0; - $63 = ($62|0)==(0); + $51 = ($45|0)==($50|0); do { - if ($63) { - $64 = HEAP32[$pPage>>2]|0; - $65 = ((($64)) + 3|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = ($67|0)!=(0); - if ($68) { - $69 = HEAP32[$pPage>>2]|0; - $70 = ((($69)) + 1|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = ($72|0)==(1); - if ($73) { - $74 = HEAP32[$pPage>>2]|0; - $75 = ((($74)) + 22|0); - $76 = HEAP16[$75>>1]|0; - $77 = $76&65535; - $78 = HEAP32[$pPage>>2]|0; - $79 = ((($78)) + 18|0); - $80 = HEAP16[$79>>1]|0; - $81 = $80&65535; - $82 = ($77|0)==($81|0); - if ($82) { - $83 = HEAP32[$pParent>>2]|0; - $84 = ((($83)) + 84|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)!=(1); - if ($86) { - $87 = HEAP32[$pParent>>2]|0; - $88 = ((($87)) + 18|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = HEAP32[$iIdx>>2]|0; - $92 = ($90|0)==($91|0); - if ($92) { - $93 = HEAP32[$pParent>>2]|0; - $94 = HEAP32[$pPage>>2]|0; - $95 = (_balance_quick($93,$94,$aBalanceQuickSpace)|0); - HEAP32[$rc>>2] = $95; - break; - } - } + if ($51) { + $52 = HEAP32[$13>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = HEAP32[$15>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = $55 & $57; + $59 = ($58|0)!=(0); + if ($59) { + $60 = HEAP32[$13>>2]|0; + $61 = ((($60)) + 5|0); + $62 = HEAP8[$61>>0]|0; + $63 = ($62<<24>>24)!=(0); + if ($63) { + $64 = HEAP32[$10>>2]|0; + $65 = HEAP32[$15>>2]|0; + $66 = ((($65)) + 16|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$15>>2]|0; + $68 = ((($67)) + 4|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$7>>2]|0; + $71 = $70 | $69; + HEAP32[$7>>2] = $71; + break; + } else { + $72 = HEAP32[$14>>2]|0; + $73 = ($72|0)==(0); + if ($73) { + label = 10; + break L1; + } else { + break; } } } - $96 = HEAP32[$0>>2]|0; - $97 = ((($96)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ((($98)) + 32|0); - $100 = HEAP32[$99>>2]|0; - $101 = (_sqlite3PageMalloc($100)|0); - HEAP32[$pSpace>>2] = $101; - $102 = HEAP32[$pParent>>2]|0; - $103 = HEAP32[$iIdx>>2]|0; - $104 = HEAP32[$pSpace>>2]|0; - $105 = HEAP32[$iPage>>2]|0; - $106 = ($105|0)==(1); - $107 = $106&1; - $108 = HEAP32[$0>>2]|0; - $109 = ((($108)) + 67|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110&255; - $112 = $111 & 1; - $113 = (_balance_nonroot($102,$103,$104,$107,$112)|0); - HEAP32[$rc>>2] = $113; - $114 = HEAP32[$pFree>>2]|0; - $115 = ($114|0)!=(0|0); - if ($115) { - $116 = HEAP32[$pFree>>2]|0; - _sqlite3PageFree($116); - } - $117 = HEAP32[$pSpace>>2]|0; - HEAP32[$pFree>>2] = $117; } } while(0); - $118 = HEAP32[$pPage>>2]|0; - $119 = ((($118)) + 1|0); - HEAP8[$119>>0] = 0; - $120 = HEAP32[$pPage>>2]|0; - _releasePage($120); - $121 = HEAP32[$0>>2]|0; - $122 = ((($121)) + 68|0); - $123 = HEAP8[$122>>0]|0; - $124 = (($123) + -1)<<24>>24; - HEAP8[$122>>0] = $124; + $76 = HEAP32[$14>>2]|0; + $77 = (($76) + 1)|0; + HEAP32[$14>>2] = $77; + } + $78 = HEAP32[$10>>2]|0; + $79 = (($78) + 1)|0; + HEAP32[$10>>2] = $79; + } + if ((label|0) == 10) { + $74 = HEAP32[$4>>2]|0; + $75 = ((($74)) + 40|0); + HEAPF64[$75>>3] = 1.0000000000000001E+50; + HEAP32[$2>>2] = 0; + $181 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($181|0); + } + $80 = ((($35)) + 8|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==(1); + if ($82) { + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 12|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$85>>2]|0; + HEAP32[$16>>2] = $86; + $87 = HEAP32[$16>>2]|0; + $88 = HEAP32[$6>>2]|0; + $89 = ((($88)) + 12|0); + $90 = HEAP32[$89>>2]|0; + $91 = (($90) + 1)|0; + $92 = ($87|0)==($91|0); + if ($92) { + $93 = HEAP32[$7>>2]|0; + $94 = $93 & 1; + $95 = ($94|0)!=(0); + if ($95) { + $96 = HEAP32[$7>>2]|0; + $97 = $96 | 32; + HEAP32[$7>>2] = $97; + } else { + label = 17; + } + } else { + label = 17; + } + if ((label|0) == 17) { + $98 = HEAP32[$16>>2]|0; + $99 = ($98|0)==(-1); + if ($99) { + $100 = HEAP32[$7>>2]|0; + $101 = $100 | 64; + HEAP32[$7>>2] = $101; + } + } + $102 = HEAP32[$7>>2]|0; + $103 = $102 & 96; + $104 = ($103|0)!=(0); + if ($104) { + $105 = HEAP32[$4>>2]|0; + $106 = ((($105)) + 32|0); + HEAP32[$106>>2] = 1; + $107 = HEAP32[$4>>2]|0; + $108 = ((($107)) + 12|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($109)) + 4|0); + $111 = HEAP8[$110>>0]|0; + $112 = ($111<<24>>24)!=(0); + if ($112) { + $113 = HEAP32[$7>>2]|0; + $114 = $113 | 128; + HEAP32[$7>>2] = $114; + } + } + } + $115 = HEAP32[$7>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)!=(0); + $118 = $117&1; + HEAP32[$8>>2] = $118; + $119 = HEAP32[$7>>2]|0; + $120 = $119 & 4; + $121 = ($120|0)!=(0); + if ($121) { + $122 = HEAP32[$8>>2]|0; + $123 = ($122|0)!=(0); + $124 = $123 ? 100.0 : 10.0; + $125 = HEAP32[$4>>2]|0; + $126 = ((($125)) + 40|0); + HEAPF64[$126>>3] = $124; + $127 = HEAP32[$8>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = HEAP32[$4>>2]|0; + _fts5SetUniqueFlag($129); + } + } else { + $130 = HEAP32[$7>>2]|0; + $131 = $130 & 24; + $132 = ($131|0)==(24); + if ($132) { + $133 = HEAP32[$8>>2]|0; + $134 = ($133|0)!=(0); + $135 = $134 ? 500.0 : 2.5E+5; + $136 = HEAP32[$4>>2]|0; + $$sink$sink = $135;$$sink2$sink = $136; + } else { + $137 = HEAP32[$7>>2]|0; + $138 = $137 & 24; + $139 = ($138|0)!=(0); + $140 = HEAP32[$8>>2]|0; + $141 = ($140|0)!=(0); + $142 = $141 ? 1000.0 : 1.0E+6; + $143 = HEAP32[$4>>2]|0; + $144 = $141 ? 750.0 : 7.5E+5; + $145 = HEAP32[$4>>2]|0; + $$sink2 = $139 ? $145 : $143; + $$sink = $139 ? $144 : $142; + $$sink$sink = $$sink;$$sink2$sink = $$sink2; } - $125 = HEAP32[$rc>>2]|0; - $126 = ($125|0)==(0); - if (!($126)) { + $146 = ((($$sink2$sink)) + 40|0); + HEAPF64[$146>>3] = $$sink$sink; + } + HEAP32[$9>>2] = 1; + HEAP32[$10>>2] = 0; + while(1) { + $147 = HEAP32[$10>>2]|0; + $148 = ($147|0)<(5); + if (!($148)) { break; } + $149 = HEAP32[$10>>2]|0; + $150 = (($11) + (($149*20)|0)|0); + HEAP32[$17>>2] = $150; + $151 = HEAP32[$17>>2]|0; + $152 = ((($151)) + 16|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)>=(0); + if ($154) { + $155 = HEAP32[$9>>2]|0; + $156 = (($155) + 1)|0; + HEAP32[$9>>2] = $156; + $157 = HEAP32[$4>>2]|0; + $158 = ((($157)) + 16|0); + $159 = HEAP32[$158>>2]|0; + $160 = HEAP32[$17>>2]|0; + $161 = ((($160)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = (($159) + ($162<<3)|0); + HEAP32[$163>>2] = $155; + $164 = HEAP32[$17>>2]|0; + $165 = ((($164)) + 12|0); + $166 = HEAP32[$165>>2]|0; + $167 = $166&255; + $168 = HEAP32[$4>>2]|0; + $169 = ((($168)) + 16|0); + $170 = HEAP32[$169>>2]|0; + $171 = HEAP32[$17>>2]|0; + $172 = ((($171)) + 16|0); + $173 = HEAP32[$172>>2]|0; + $174 = (($170) + ($173<<3)|0); + $175 = ((($174)) + 4|0); + HEAP8[$175>>0] = $167; + } + $176 = HEAP32[$10>>2]|0; + $177 = (($176) + 1)|0; + HEAP32[$10>>2] = $177; } - $127 = HEAP32[$pFree>>2]|0; - $128 = ($127|0)!=(0|0); - if (!($128)) { - $130 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($130|0); + $178 = HEAP32[$7>>2]|0; + $179 = HEAP32[$4>>2]|0; + $180 = ((($179)) + 20|0); + HEAP32[$180>>2] = $178; + HEAP32[$2>>2] = 0; + $181 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($181|0); +} +function _fts5DisconnectMethod($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _fts5FreeVtab($2); + STACKTOP = sp;return 0; +} +function _fts5DestroyMethod($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; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3Fts5DropAll($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $12 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($12|0); } - $129 = HEAP32[$pFree>>2]|0; - _sqlite3PageFree($129); - $130 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($130|0); + $11 = HEAP32[$1>>2]|0; + _fts5FreeVtab($11); + $12 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($12|0); } -function _balance_deeper($pRoot,$ppChild) { - $pRoot = $pRoot|0; - $ppChild = $ppChild|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $pBt = 0, $pChild = 0, $pgnoChild = 0, $rc = 0; - var label = 0, sp = 0; +function _fts5OpenMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; - $pChild = sp + 8|0; - $pgnoChild = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $pRoot; - HEAP32[$2>>2] = $ppChild; - HEAP32[$pChild>>2] = 0; - HEAP32[$pgnoChild>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 52|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pBt>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 72|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3PagerWrite($8)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - if ($11) { - $12 = HEAP32[$pBt>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 84|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_allocateBtreePage($12,$pChild,$pgnoChild,$15,0)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$pChild>>2]|0; - _copyNodeContent($17,$18,$rc); - $19 = HEAP32[$pBt>>2]|0; - $20 = ((($19)) + 17|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)!=(0); - if ($22) { - $23 = HEAP32[$pBt>>2]|0; - $24 = HEAP32[$pgnoChild>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 84|0); - $27 = HEAP32[$26>>2]|0; - _ptrmapPut($23,$24,5,$27,$rc); - } + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $10 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$5>>2] = $13; + HEAP32[$6>>2] = 0; + $14 = HEAP32[$4>>2]|0; + $15 = (_fts5NewTransaction($14)|0); + HEAP32[$8>>2] = $15; + $16 = HEAP32[$8>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $64 = HEAP32[$6>>2]|0; + $65 = HEAP32[$3>>2]|0; + HEAP32[$65>>2] = $64; + $66 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($66|0); } - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$2>>2]|0; - HEAP32[$30>>2] = 0; - $31 = HEAP32[$pChild>>2]|0; - _releasePage($31); - $32 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $32; - $75 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($75|0); + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = $20<<2; + $22 = (120 + ($21))|0; + HEAP32[$7>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = (_sqlite3_malloc($23)|0); + HEAP32[$6>>2] = $24; + $25 = HEAP32[$6>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 24|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$9>>2] = $29; + $30 = HEAP32[$6>>2]|0; + $31 = HEAP32[$7>>2]|0; + _memset(($30|0),0,($31|0))|0; + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 120|0); + $34 = HEAP32[$6>>2]|0; + $35 = ((($34)) + 8|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$9>>2]|0; + $37 = ((($36)) + 44|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 4|0); + HEAP32[$40>>2] = $38; + $41 = HEAP32[$6>>2]|0; + $42 = HEAP32[$9>>2]|0; + $43 = ((($42)) + 44|0); + HEAP32[$43>>2] = $41; + $44 = HEAP32[$9>>2]|0; + $45 = ((($44)) + 24|0); + $46 = $45; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (_i64Add(($48|0),($51|0),1,0)|0); + $53 = tempRet0; + $54 = $45; + $55 = $54; + HEAP32[$55>>2] = $52; + $56 = (($54) + 4)|0; + $57 = $56; + HEAP32[$57>>2] = $53; + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + 16|0); + $60 = $59; + $61 = $60; + HEAP32[$61>>2] = $52; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $53; + $64 = HEAP32[$6>>2]|0; + $65 = HEAP32[$3>>2]|0; + HEAP32[$65>>2] = $64; + $66 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($66|0); } else { - $33 = HEAP32[$pChild>>2]|0; - $34 = ((($33)) + 22|0); - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 22|0); - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 1|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $40<<1; - _memcpy(($34|0),($36|0),($41|0))|0; - $42 = HEAP32[$pChild>>2]|0; - $43 = ((($42)) + 32|0); - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 32|0); - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 1|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - $50 = $49<<2; - _memcpy(($43|0),($45|0),($50|0))|0; - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 1|0); - $53 = HEAP8[$52>>0]|0; - $54 = HEAP32[$pChild>>2]|0; - $55 = ((($54)) + 1|0); - HEAP8[$55>>0] = $53; - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$pChild>>2]|0; - $58 = ((($57)) + 56|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = $61 & -9; - _zeroPage($56,$62); - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 5|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = (($66) + 8)|0; - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 56|0); - $70 = HEAP32[$69>>2]|0; - $71 = (($70) + ($67)|0); - $72 = HEAP32[$pgnoChild>>2]|0; - _sqlite3Put4byte($71,$72); - $73 = HEAP32[$pChild>>2]|0; - $74 = HEAP32[$2>>2]|0; - HEAP32[$74>>2] = $73; - HEAP32[$0>>2] = 0; - $75 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($75|0); + HEAP32[$8>>2] = 7; + $64 = HEAP32[$6>>2]|0; + $65 = HEAP32[$3>>2]|0; + HEAP32[$65>>2] = $64; + $66 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($66|0); } return (0)|0; } -function _balance_quick($pParent,$pPage,$pSpace) { - $pParent = $pParent|0; - $pPage = $pPage|0; - $pSpace = $pSpace|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $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; - 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, $pBt = 0, $pCell = 0, $pNew = 0, $pOut = 0; - var $pStop = 0, $pgnoNew = 0, $rc = 0, $szCell = 0, label = 0, sp = 0; +function _fts5CloseMethod($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, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $pBt = sp + 24|0; - $pNew = sp + 20|0; - $rc = sp + 16|0; - $pgnoNew = sp + 12|0; - $pOut = sp + 8|0; - $pCell = sp + 4|0; - $szCell = sp + 44|0; - $pStop = sp; - HEAP32[$1>>2] = $pParent; - HEAP32[$2>>2] = $pPage; - HEAP32[$3>>2] = $pSpace; - $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 52|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pBt>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 18|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ($10|0)==(0); - if ($11) { - $12 = (_sqlite3CorruptError(65006)|0); - HEAP32[$0>>2] = $12; - $155 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($155|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + STACKTOP = sp;return 0; } - $13 = HEAP32[$pBt>>2]|0; - $14 = (_allocateBtreePage($13,$pNew,$pgnoNew,0,0)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - if ($16) { + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $8; + $9 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $9; + $10 = HEAP32[$3>>2]|0; + _fts5FreeCursorComponents($10); + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 44|0); + HEAP32[$4>>2] = $14; + while(1) { + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$3>>2]|0; - $18 = ((($17)) + 4|0); - HEAP32[$pOut>>2] = $18; - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 32|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$pCell>>2] = $21; - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 76|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$pCell>>2]|0; - $27 = (FUNCTION_TABLE_iii[$24 & 255]($25,$26)|0); - HEAP16[$szCell>>1] = $27; - $28 = HEAP32[$pNew>>2]|0; - _zeroPage($28,13); - $29 = HEAP32[$pNew>>2]|0; - $30 = (_rebuildPage($29,1,$pCell,$szCell)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$rc>>2]|0; - $32 = ($31|0)!=(0); - if ($32) { - $33 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $33; - $155 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($155|0); + $18 = ($16|0)!=($17|0); + if (!($18)) { + break; } - $34 = HEAP32[$pBt>>2]|0; - $35 = ((($34)) + 36|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$pNew>>2]|0; - $38 = ((($37)) + 14|0); - $39 = HEAP16[$38>>1]|0; - $40 = $39&65535; - $41 = (($36) - ($40))|0; - $42 = (($41) - 2)|0; - $43 = HEAP16[$szCell>>1]|0; - $44 = $43&65535; - $45 = (($42) - ($44))|0; - $46 = $45&65535; - $47 = HEAP32[$pNew>>2]|0; - $48 = ((($47)) + 16|0); - HEAP16[$48>>1] = $46; - $49 = HEAP32[$pBt>>2]|0; - $50 = ((($49)) + 17|0); - $51 = HEAP8[$50>>0]|0; - $52 = ($51<<24>>24)!=(0); - if ($52) { - $53 = HEAP32[$pBt>>2]|0; - $54 = HEAP32[$pgnoNew>>2]|0; - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 84|0); - $57 = HEAP32[$56>>2]|0; - _ptrmapPut($53,$54,5,$57,$rc); - $58 = HEAP16[$szCell>>1]|0; - $59 = $58&65535; - $60 = HEAP32[$pNew>>2]|0; - $61 = ((($60)) + 12|0); - $62 = HEAP16[$61>>1]|0; - $63 = $62&65535; - $64 = ($59|0)>($63|0); - if ($64) { - $65 = HEAP32[$pNew>>2]|0; - $66 = HEAP32[$pCell>>2]|0; - _ptrmapPutOvflPtr($65,$66,$rc); - } + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 4|0); + HEAP32[$4>>2] = $21; + } + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$4>>2]|0; + HEAP32[$25>>2] = $24; + $26 = HEAP32[$3>>2]|0; + _sqlite3_free($26); + STACKTOP = sp;return 0; +} +function _fts5FilterMethod($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer = sp; + $5 = sp + 80|0; + $6 = sp + 76|0; + $7 = sp + 72|0; + $8 = sp + 68|0; + $9 = sp + 64|0; + $10 = sp + 60|0; + $11 = sp + 56|0; + $12 = sp + 52|0; + $13 = sp + 48|0; + $14 = sp + 44|0; + $15 = sp + 40|0; + $16 = sp + 36|0; + $17 = sp + 32|0; + $18 = sp + 28|0; + $19 = sp + 24|0; + $20 = sp + 20|0; + $21 = sp + 16|0; + $22 = sp + 12|0; + $23 = sp + 8|0; + $24 = sp + 4|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$10>>2] = $26; + $27 = HEAP32[$10>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$11>>2] = $29; + $30 = HEAP32[$5>>2]|0; + HEAP32[$12>>2] = $30; + HEAP32[$13>>2] = 0; + HEAP32[$14>>2] = 0; + HEAP32[$17>>2] = 0; + HEAP32[$18>>2] = 0; + HEAP32[$19>>2] = 0; + HEAP32[$20>>2] = 0; + HEAP32[$21>>2] = 0; + $31 = HEAP32[$11>>2]|0; + $32 = ((($31)) + 96|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$22>>2] = $33; + $34 = HEAP32[$12>>2]|0; + $35 = ((($34)) + 24|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$12>>2]|0; + _fts5FreeCursorComponents($38); + $39 = HEAP32[$12>>2]|0; + $40 = ((($39)) + 24|0); + $41 = HEAP32[$12>>2]|0; + $42 = ((($41)) + 24|0); + $43 = HEAP32[$12>>2]|0; + $44 = $42; + $45 = $43; + $46 = (($44) - ($45))|0; + $47 = (120 - ($46))|0; + _memset(($40|0),0,($47|0))|0; + } + $48 = HEAP32[$10>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$11>>2]|0; + $51 = ((($50)) + 96|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$6>>2]|0; + $53 = $52 & 1; + $54 = ($53|0)!=(0); + if ($54) { + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$14>>2]|0; + $57 = (($56) + 1)|0; + HEAP32[$14>>2] = $57; + $58 = (($55) + ($56<<2)|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$17>>2] = $59; + } + $60 = HEAP32[$6>>2]|0; + $61 = $60 & 2; + $62 = ($61|0)!=(0); + if ($62) { + $63 = HEAP32[$9>>2]|0; + $64 = HEAP32[$14>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$14>>2] = $65; + $66 = (($63) + ($64<<2)|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$18>>2] = $67; + } + $68 = HEAP32[$6>>2]|0; + $69 = $68 & 4; + $70 = ($69|0)!=(0); + if ($70) { + $71 = HEAP32[$9>>2]|0; + $72 = HEAP32[$14>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$14>>2] = $73; + $74 = (($71) + ($72<<2)|0); + $75 = HEAP32[$74>>2]|0; + HEAP32[$19>>2] = $75; + } + $76 = HEAP32[$6>>2]|0; + $77 = $76 & 8; + $78 = ($77|0)!=(0); + if ($78) { + $79 = HEAP32[$9>>2]|0; + $80 = HEAP32[$14>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$14>>2] = $81; + $82 = (($79) + ($80<<2)|0); + $83 = HEAP32[$82>>2]|0; + HEAP32[$20>>2] = $83; + } + $84 = HEAP32[$6>>2]|0; + $85 = $84 & 16; + $86 = ($85|0)!=(0); + if ($86) { + $87 = HEAP32[$9>>2]|0; + $88 = HEAP32[$14>>2]|0; + $89 = (($88) + 1)|0; + HEAP32[$14>>2] = $89; + $90 = (($87) + ($88<<2)|0); + $91 = HEAP32[$90>>2]|0; + HEAP32[$21>>2] = $91; + } + $92 = HEAP32[$6>>2]|0; + $93 = $92 & 32; + $94 = ($93|0)!=(0); + $95 = $94 ? 1 : 0; + HEAP32[$16>>2] = $95; + $96 = HEAP32[$6>>2]|0; + $97 = $96 & 128; + $98 = ($97|0)!=(0); + $99 = $98 ? 1 : 0; + HEAP32[$15>>2] = $99; + $100 = HEAP32[$12>>2]|0; + $101 = ((($100)) + 28|0); + HEAP32[$101>>2] = $99; + $102 = HEAP32[$19>>2]|0; + $103 = ($102|0)!=(0|0); + if ($103) { + $104 = HEAP32[$19>>2]|0; + HEAP32[$21>>2] = $104; + HEAP32[$20>>2] = $104; + } + $105 = HEAP32[$15>>2]|0; + $106 = ($105|0)!=(0); + $107 = HEAP32[$20>>2]|0; + $108 = (_fts5GetRowidLimit($107,-1,2147483647)|0); + $109 = tempRet0; + $110 = HEAP32[$12>>2]|0; + if ($106) { + $111 = ((($110)) + 32|0); + $112 = $111; + $113 = $112; + HEAP32[$113>>2] = $108; + $114 = (($112) + 4)|0; + $115 = $114; + HEAP32[$115>>2] = $109; + $116 = HEAP32[$21>>2]|0; + $117 = (_fts5GetRowidLimit($116,0,-2147483648)|0); + $118 = tempRet0; + $119 = HEAP32[$12>>2]|0; + $120 = ((($119)) + 40|0); + $121 = $120; + $122 = $121; + HEAP32[$122>>2] = $117; + $123 = (($121) + 4)|0; + $124 = $123; + HEAP32[$124>>2] = $118; + } else { + $125 = ((($110)) + 40|0); + $126 = $125; + $127 = $126; + HEAP32[$127>>2] = $108; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $109; + $130 = HEAP32[$21>>2]|0; + $131 = (_fts5GetRowidLimit($130,0,-2147483648)|0); + $132 = tempRet0; + $133 = HEAP32[$12>>2]|0; + $134 = ((($133)) + 32|0); + $135 = $134; + $136 = $135; + HEAP32[$136>>2] = $131; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $132; + } + $139 = HEAP32[$10>>2]|0; + $140 = ((($139)) + 28|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)!=(0|0); + if ($142) { + $143 = HEAP32[$12>>2]|0; + $144 = ((($143)) + 24|0); + HEAP32[$144>>2] = 2; + $145 = HEAP32[$10>>2]|0; + $146 = ((($145)) + 28|0); + $147 = HEAP32[$146>>2]|0; + $148 = ((($147)) + 52|0); + $149 = HEAP32[$148>>2]|0; + $150 = HEAP32[$12>>2]|0; + $151 = ((($150)) + 52|0); + HEAP32[$151>>2] = $149; + $152 = HEAP32[$10>>2]|0; + $153 = HEAP32[$12>>2]|0; + $154 = HEAP32[$15>>2]|0; + $155 = (_fts5CursorFirst($152,$153,$154)|0); + HEAP32[$13>>2] = $155; + $257 = HEAP32[$22>>2]|0; + $258 = HEAP32[$11>>2]|0; + $259 = ((($258)) + 96|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($260|0); + } + $156 = HEAP32[$17>>2]|0; + $157 = ($156|0)!=(0|0); + if (!($157)) { + $199 = HEAP32[$11>>2]|0; + $200 = ((($199)) + 36|0); + $201 = HEAP32[$200>>2]|0; + $202 = ($201|0)==(0|0); + if ($202) { + $203 = HEAP32[$11>>2]|0; + $204 = ((($203)) + 8|0); + $205 = HEAP32[$204>>2]|0; + HEAP32[$vararg_buffer>>2] = $205; + $206 = (_sqlite3_mprintf(51858,$vararg_buffer)|0); + $207 = HEAP32[$11>>2]|0; + $208 = ((($207)) + 96|0); + $209 = HEAP32[$208>>2]|0; + HEAP32[$209>>2] = $206; + HEAP32[$13>>2] = 1; + $257 = HEAP32[$22>>2]|0; + $258 = HEAP32[$11>>2]|0; + $259 = ((($258)) + 96|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($260|0); + } + $210 = HEAP32[$19>>2]|0; + $211 = ($210|0)!=(0|0); + $212 = $211 ? 6 : 5; + $213 = HEAP32[$12>>2]|0; + $214 = ((($213)) + 24|0); + HEAP32[$214>>2] = $212; + $215 = HEAP32[$10>>2]|0; + $216 = ((($215)) + 20|0); + $217 = HEAP32[$216>>2]|0; + $218 = HEAP32[$12>>2]|0; + $219 = (_fts5StmtType($218)|0); + $220 = HEAP32[$12>>2]|0; + $221 = ((($220)) + 48|0); + $222 = HEAP32[$10>>2]|0; + $223 = ((($222)) + 8|0); + $224 = (_sqlite3Fts5StorageStmt($217,$219,$221,$223)|0); + HEAP32[$13>>2] = $224; + $225 = HEAP32[$13>>2]|0; + $226 = ($225|0)==(0); + if (!($226)) { + $257 = HEAP32[$22>>2]|0; + $258 = HEAP32[$11>>2]|0; + $259 = ((($258)) + 96|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($260|0); } - $67 = HEAP32[$2>>2]|0; - $68 = ((($67)) + 56|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = ((($70)) + 20|0); - $72 = HEAP16[$71>>1]|0; - $73 = $72&65535; - $74 = HEAP32[$2>>2]|0; - $75 = ((($74)) + 18|0); - $76 = HEAP16[$75>>1]|0; - $77 = $76&65535; - $78 = (($77) - 1)|0; - $79 = $78<<1; - $80 = HEAP32[$2>>2]|0; - $81 = ((($80)) + 64|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82) + ($79)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $85 << 8; - $87 = HEAP32[$2>>2]|0; - $88 = ((($87)) + 18|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = (($90) - 1)|0; - $92 = $91<<1; - $93 = HEAP32[$2>>2]|0; - $94 = ((($93)) + 64|0); - $95 = HEAP32[$94>>2]|0; - $96 = (($95) + ($92)|0); - $97 = ((($96)) + 1|0); - $98 = HEAP8[$97>>0]|0; - $99 = $98&255; - $100 = $86 | $99; - $101 = $73 & $100; - $102 = (($69) + ($101)|0); - HEAP32[$pCell>>2] = $102; - $103 = HEAP32[$pCell>>2]|0; - $104 = ((($103)) + 9|0); - HEAP32[$pStop>>2] = $104; - while(1) { - $105 = HEAP32[$pCell>>2]|0; - $106 = ((($105)) + 1|0); - HEAP32[$pCell>>2] = $106; - $107 = HEAP8[$105>>0]|0; - $108 = $107&255; - $109 = $108 & 128; - $110 = ($109|0)!=(0); - if (!($110)) { + $227 = HEAP32[$12>>2]|0; + $228 = ((($227)) + 24|0); + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)==(6); + $231 = HEAP32[$12>>2]|0; + $232 = ((($231)) + 48|0); + $233 = HEAP32[$232>>2]|0; + if ($230) { + $234 = HEAP32[$9>>2]|0; + $235 = HEAP32[$234>>2]|0; + (_sqlite3_bind_value($233,1,$235)|0); + } else { + $236 = HEAP32[$12>>2]|0; + $237 = ((($236)) + 32|0); + $238 = $237; + $239 = $238; + $240 = HEAP32[$239>>2]|0; + $241 = (($238) + 4)|0; + $242 = $241; + $243 = HEAP32[$242>>2]|0; + (_sqlite3_bind_int64($233,1,$240,$243)|0); + $244 = HEAP32[$12>>2]|0; + $245 = ((($244)) + 48|0); + $246 = HEAP32[$245>>2]|0; + $247 = HEAP32[$12>>2]|0; + $248 = ((($247)) + 40|0); + $249 = $248; + $250 = $249; + $251 = HEAP32[$250>>2]|0; + $252 = (($249) + 4)|0; + $253 = $252; + $254 = HEAP32[$253>>2]|0; + (_sqlite3_bind_int64($246,2,$251,$254)|0); + } + $255 = HEAP32[$5>>2]|0; + $256 = (_fts5NextMethod($255)|0); + HEAP32[$13>>2] = $256; + $257 = HEAP32[$22>>2]|0; + $258 = HEAP32[$11>>2]|0; + $259 = ((($258)) + 96|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($260|0); + } + $158 = HEAP32[$9>>2]|0; + $159 = HEAP32[$158>>2]|0; + $160 = (_sqlite3_value_text($159)|0); + HEAP32[$23>>2] = $160; + $161 = HEAP32[$23>>2]|0; + $162 = ($161|0)==(0|0); + $$ = $162 ? 55752 : $160; + HEAP32[$23>>2] = $$; + $163 = HEAP32[$11>>2]|0; + $164 = HEAP32[$12>>2]|0; + $165 = HEAP32[$18>>2]|0; + $166 = (_fts5CursorParseRank($163,$164,$165)|0); + HEAP32[$13>>2] = $166; + $167 = HEAP32[$13>>2]|0; + $168 = ($167|0)==(0); + if (!($168)) { + $257 = HEAP32[$22>>2]|0; + $258 = HEAP32[$11>>2]|0; + $259 = ((($258)) + 96|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($260|0); + } + $169 = HEAP32[$23>>2]|0; + $170 = HEAP8[$169>>0]|0; + $171 = $170 << 24 >> 24; + $172 = ($171|0)==(42); + $173 = HEAP32[$10>>2]|0; + if ($172) { + $174 = HEAP32[$12>>2]|0; + $175 = HEAP32[$23>>2]|0; + $176 = ((($175)) + 1|0); + $177 = (_fts5SpecialMatch($173,$174,$176)|0); + HEAP32[$13>>2] = $177; + $257 = HEAP32[$22>>2]|0; + $258 = HEAP32[$11>>2]|0; + $259 = ((($258)) + 96|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($260|0); + } + $178 = ((($173)) + 8|0); + HEAP32[$24>>2] = $178; + $179 = HEAP32[$11>>2]|0; + $180 = HEAP32[$23>>2]|0; + $181 = HEAP32[$12>>2]|0; + $182 = ((($181)) + 52|0); + $183 = HEAP32[$24>>2]|0; + $184 = (_sqlite3Fts5ExprNew($179,$180,$182,$183)|0); + HEAP32[$13>>2] = $184; + $185 = HEAP32[$13>>2]|0; + $186 = ($185|0)==(0); + if (!($186)) { + $257 = HEAP32[$22>>2]|0; + $258 = HEAP32[$11>>2]|0; + $259 = ((($258)) + 96|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($260|0); + } + $187 = HEAP32[$16>>2]|0; + $188 = ($187|0)!=(0); + $189 = HEAP32[$12>>2]|0; + $190 = ((($189)) + 24|0); + if ($188) { + HEAP32[$190>>2] = 4; + $191 = HEAP32[$10>>2]|0; + $192 = HEAP32[$12>>2]|0; + $193 = HEAP32[$15>>2]|0; + $194 = (_fts5CursorFirstSorted($191,$192,$193)|0); + HEAP32[$13>>2] = $194; + $257 = HEAP32[$22>>2]|0; + $258 = HEAP32[$11>>2]|0; + $259 = ((($258)) + 96|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($260|0); + } else { + HEAP32[$190>>2] = 1; + $195 = HEAP32[$10>>2]|0; + $196 = HEAP32[$12>>2]|0; + $197 = HEAP32[$15>>2]|0; + $198 = (_fts5CursorFirst($195,$196,$197)|0); + HEAP32[$13>>2] = $198; + $257 = HEAP32[$22>>2]|0; + $258 = HEAP32[$11>>2]|0; + $259 = ((($258)) + 96|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($260|0); + } + return (0)|0; +} +function _fts5NextMethod($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + $6 = HEAP32[$2>>2]|0; + HEAP32[$3>>2] = $6; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 24|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(3); + L1: do { + if ($10) { + HEAP32[$5>>2] = 0; + $11 = HEAP32[$3>>2]|0; + $12 = (_fts5CursorReseek($11,$5)|0); + HEAP32[$4>>2] = $12; + $13 = ($12|0)!=(0); + $14 = HEAP32[$5>>2]|0; + $15 = ($14|0)!=(0); + $or$cond = $13 | $15; + if (!($or$cond)) { + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 52|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = ((($20)) + 40|0); + $22 = $21; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3Fts5ExprNext($19,$24,$27)|0); + HEAP32[$4>>2] = $28; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 52|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3Fts5ExprEof($31)|0); + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 60|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | $32; + HEAP32[$34>>2] = $36; + $37 = HEAP32[$3>>2]|0; + _fts5CsrNewrow($37); break; } - $111 = HEAP32[$pCell>>2]|0; - $112 = HEAP32[$pStop>>2]|0; - $113 = ($111>>>0)<($112>>>0); - if (!($113)) { + $16 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $16; + $62 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($62|0); + } else { + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 24|0); + $40 = HEAP32[$39>>2]|0; + switch ($40|0) { + case 3: { + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 60|0); + $43 = HEAP32[$42>>2]|0; + $44 = $43 | 1; + HEAP32[$42>>2] = $44; + HEAP32[$4>>2] = 0; + break L1; break; } - } - $114 = HEAP32[$pCell>>2]|0; - $115 = ((($114)) + 9|0); - HEAP32[$pStop>>2] = $115; - while(1) { - $116 = HEAP32[$pCell>>2]|0; - $117 = ((($116)) + 1|0); - HEAP32[$pCell>>2] = $117; - $118 = HEAP8[$116>>0]|0; - $119 = HEAP32[$pOut>>2]|0; - $120 = ((($119)) + 1|0); - HEAP32[$pOut>>2] = $120; - HEAP8[$119>>0] = $118; - $121 = $118&255; - $122 = $121 & 128; - $123 = ($122|0)!=(0); - if (!($123)) { + case 4: { + $45 = HEAP32[$3>>2]|0; + $46 = (_fts5SorterNext($45)|0); + HEAP32[$4>>2] = $46; + break L1; break; } - $124 = HEAP32[$pCell>>2]|0; - $125 = HEAP32[$pStop>>2]|0; - $126 = ($124>>>0)<($125>>>0); - if (!($126)) { - break; + default: { + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 48|0); + $49 = HEAP32[$48>>2]|0; + $50 = (_sqlite3_step($49)|0); + HEAP32[$4>>2] = $50; + $51 = HEAP32[$4>>2]|0; + $52 = ($51|0)!=(100); + if ($52) { + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 60|0); + $55 = HEAP32[$54>>2]|0; + $56 = $55 | 1; + HEAP32[$54>>2] = $56; + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 48|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3_reset($59)|0); + HEAP32[$4>>2] = $60; + break L1; + } else { + HEAP32[$4>>2] = 0; + break L1; + } + } } } - $127 = HEAP32[$rc>>2]|0; - $128 = ($127|0)==(0); - if ($128) { - $129 = HEAP32[$1>>2]|0; - $130 = HEAP32[$1>>2]|0; - $131 = ((($130)) + 18|0); - $132 = HEAP16[$131>>1]|0; - $133 = $132&65535; - $134 = HEAP32[$3>>2]|0; - $135 = HEAP32[$pOut>>2]|0; - $136 = HEAP32[$3>>2]|0; - $137 = $135; - $138 = $136; - $139 = (($137) - ($138))|0; - $140 = HEAP32[$2>>2]|0; - $141 = ((($140)) + 84|0); - $142 = HEAP32[$141>>2]|0; - _insertCell($129,$133,$134,$139,0,$142,$rc); - } - $143 = HEAP32[$1>>2]|0; - $144 = ((($143)) + 5|0); - $145 = HEAP8[$144>>0]|0; - $146 = $145&255; - $147 = (($146) + 8)|0; - $148 = HEAP32[$1>>2]|0; - $149 = ((($148)) + 56|0); - $150 = HEAP32[$149>>2]|0; - $151 = (($150) + ($147)|0); - $152 = HEAP32[$pgnoNew>>2]|0; - _sqlite3Put4byte($151,$152); - $153 = HEAP32[$pNew>>2]|0; - _releasePage($153); - } - $154 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $154; - $155 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($155|0); + } while(0); + $61 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $61; + $62 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($62|0); } -function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { - $pParent = $pParent|0; - $iParentIdx = $iParentIdx|0; - $aOvflSpace = $aOvflSpace|0; - $isRoot = $isRoot|0; - $bBulk = $bBulk|0; - var $0 = 0, $1 = 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, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0; - var $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, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0; - var $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, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0; - var $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, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0; - var $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, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0; - var $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0; - var $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0; - var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0; - var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0; - var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0; - var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0; - var $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0; - var $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0; - var $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0; - var $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0; - var $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0; - var $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0; - var $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0; - var $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0; - var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0; - var $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0; - var $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $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, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; - var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0; - var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0; - var $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0; - var $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0; - var $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0; - var $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0; - var $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0; - var $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0; - var $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0; - var $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0; - var $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0; - var $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0; - var $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0; - var $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0; - var $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0; - var $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0; - var $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0; - var $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0; - var $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0; - var $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0; - var $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0; - var $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0; - var $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0; - var $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0; - var $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0; - var $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0; - var $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0; - var $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0; - var $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0; - var $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0; - var $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0; - var $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0; - var $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0; - var $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0; - var $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0; - var $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0; - var $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0; - var $998 = 0, $999 = 0, $aData = 0, $aOld = 0, $aPgFlags = 0, $aPgOrder = 0, $aPgno = 0, $aSpace1 = 0, $abDone = 0, $apDiv = 0, $apNew = 0, $apOld = 0, $b = 0, $cntNew = 0, $cntOld = 0, $cntOldNext = 0, $d = 0, $i = 0, $iBest = 0, $iNew = 0; - var $iNew9 = 0, $iOff = 0, $iOld = 0, $iOld10 = 0, $iOvflSpace = 0, $iPg = 0, $iSpace1 = 0, $info = 0, $j = 0, $k = 0, $key = 0, $leafCorrection = 0, $leafData = 0, $limit = 0, $maskPage = 0, $nMaxCells = 0, $nNew = 0, $nNewCell = 0, $nOld = 0, $nxDiv = 0; - var $or$cond = 0, $or$cond3 = 0, $p = 0, $pBt = 0, $pCell = 0, $pCell5 = 0, $pNew = 0, $pNew3 = 0, $pNew8 = 0, $pOld = 0, $pOld2 = 0, $pOld4 = 0, $pRight = 0, $pTemp = 0, $pTemp6 = 0, $pageFlags = 0, $pgno = 0, $piCell = 0, $piEnd = 0, $r = 0; - var $rc = 0, $sz = 0, $sz1 = 0, $sz7 = 0, $szLeft = 0, $szNew = 0, $szRight = 0, $szScratch = 0, $usableSize = 0, $usableSpace = 0, label = 0, sp = 0; +function _fts5EofMethod($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 448|0; - $0 = sp + 412|0; - $1 = sp + 408|0; - $2 = sp + 404|0; - $3 = sp + 400|0; - $4 = sp + 396|0; - $5 = sp + 392|0; - $pBt = sp + 388|0; - $nMaxCells = sp + 384|0; - $nNew = sp + 380|0; - $nOld = sp + 376|0; - $i = sp + 372|0; - $j = sp + 368|0; - $k = sp + 364|0; - $nxDiv = sp + 360|0; - $rc = sp + 356|0; - $leafCorrection = sp + 430|0; - $leafData = sp + 352|0; - $usableSpace = sp + 348|0; - $pageFlags = sp + 344|0; - $iSpace1 = sp + 340|0; - $iOvflSpace = sp + 336|0; - $szScratch = sp + 332|0; - $apOld = sp + 320|0; - $apNew = sp + 300|0; - $pRight = sp + 296|0; - $apDiv = sp + 288|0; - $cntNew = sp + 264|0; - $cntOld = sp + 244|0; - $szNew = sp + 224|0; - $aSpace1 = sp + 220|0; - $pgno = sp + 216|0; - $abDone = sp + 432|0; - $aPgno = sp + 196|0; - $aPgOrder = sp + 176|0; - $aPgFlags = sp + 420|0; - $b = sp + 160|0; - $iOff = sp + 152|0; - $pOld = sp + 148|0; - $limit = sp + 144|0; - $aData = sp + 140|0; - $maskPage = sp + 418|0; - $piCell = sp + 136|0; - $piEnd = sp + 132|0; - $sz = sp + 416|0; - $pTemp = sp + 128|0; - $p = sp + 124|0; - $sz1 = sp + 120|0; - $szRight = sp + 116|0; - $szLeft = sp + 112|0; - $r = sp + 108|0; - $d = sp + 104|0; - $pNew = sp + 100|0; - $iBest = sp + 96|0; - $pOld2 = sp + 92|0; - $pNew3 = sp + 88|0; - $aOld = sp + 84|0; - $cntOldNext = sp + 80|0; - $usableSize = sp + 76|0; - $iNew = sp + 72|0; - $iOld = sp + 68|0; - $pCell = sp + 64|0; - $pOld4 = sp + 60|0; - $pCell5 = sp + 56|0; - $pTemp6 = sp + 52|0; - $sz7 = sp + 48|0; - $pNew8 = sp + 44|0; - $info = sp; - $iPg = sp + 40|0; - $iNew9 = sp + 36|0; - $iOld10 = sp + 32|0; - $nNewCell = sp + 28|0; - $key = sp + 24|0; - HEAP32[$1>>2] = $pParent; - HEAP32[$2>>2] = $iParentIdx; - HEAP32[$3>>2] = $aOvflSpace; - HEAP32[$4>>2] = $isRoot; - HEAP32[$5>>2] = $bBulk; - HEAP32[$nMaxCells>>2] = 0; - HEAP32[$nNew>>2] = 0; - HEAP32[$rc>>2] = 0; - HEAP32[$iSpace1>>2] = 0; - HEAP32[$iOvflSpace>>2] = 0; - ;HEAP8[$abDone>>0]=0|0;HEAP8[$abDone+1>>0]=0|0;HEAP8[$abDone+2>>0]=0|0;HEAP8[$abDone+3>>0]=0|0;HEAP8[$abDone+4>>0]=0|0; - HEAP32[$b>>2] = 0; - $6 = ((($b)) + 8|0); - HEAP32[$6>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 52|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$pBt>>2] = $9; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 60|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 1; + $8 = ($7|0)!=(0); + $9 = $8 ? 1 : 0; + STACKTOP = sp;return ($9|0); +} +function _fts5ColumnMethod($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; $10 = HEAP32[$3>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - HEAP32[$0>>2] = 7; - $1381 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1381|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$7>>2] = $14; + $15 = HEAP32[$3>>2]|0; + HEAP32[$8>>2] = $15; + HEAP32[$9>>2] = 0; + $16 = HEAP32[$8>>2]|0; + $17 = ((($16)) + 24|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(3); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$7>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($20|0)==($23|0); + if ($19) { + if (!($24)) { + $95 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($95|0); + } + $25 = HEAP32[$4>>2]|0; + $26 = HEAP32[$8>>2]|0; + $27 = ((($26)) + 64|0); + $28 = $27; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + _sqlite3_result_int64($25,$30,$33); + $95 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($95|0); } - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 18|0); - $18 = HEAP16[$17>>1]|0; - $19 = $18&65535; - $20 = (($15) + ($19))|0; - HEAP32[$i>>2] = $20; - $21 = HEAP32[$i>>2]|0; - $22 = ($21|0)<(2); - if ($22) { - HEAP32[$nxDiv>>2] = 0; - } else { - $23 = HEAP32[$2>>2]|0; - $24 = ($23|0)==(0); - do { - if ($24) { - HEAP32[$nxDiv>>2] = 0; - } else { - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$i>>2]|0; - $27 = ($25|0)==($26|0); - if ($27) { - $28 = HEAP32[$i>>2]|0; - $29 = (($28) - 2)|0; - $30 = HEAP32[$5>>2]|0; - $31 = (($29) + ($30))|0; - HEAP32[$nxDiv>>2] = $31; - break; - } else { - $32 = HEAP32[$2>>2]|0; - $33 = (($32) - 1)|0; - HEAP32[$nxDiv>>2] = $33; - break; - } - } - } while(0); - $34 = HEAP32[$5>>2]|0; - $35 = (2 - ($34))|0; - HEAP32[$i>>2] = $35; + if ($24) { + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$8>>2]|0; + $36 = ((($35)) + 16|0); + $37 = $36; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + _sqlite3_result_int64($34,$39,$42); + $95 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($95|0); } - $36 = HEAP32[$i>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$nOld>>2] = $37; - $38 = HEAP32[$i>>2]|0; - $39 = HEAP32[$nxDiv>>2]|0; - $40 = (($38) + ($39))|0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 1|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = (($40) - ($44))|0; - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 18|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = ($45|0)==($49|0); - $51 = HEAP32[$1>>2]|0; - if ($50) { - $52 = ((($51)) + 5|0); - $53 = HEAP8[$52>>0]|0; - $54 = $53&255; - $55 = (($54) + 8)|0; - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 56|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($58) + ($55)|0); - HEAP32[$pRight>>2] = $59; - } else { - $60 = ((($51)) + 56|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 20|0); - $64 = HEAP16[$63>>1]|0; - $65 = $64&65535; - $66 = HEAP32[$i>>2]|0; - $67 = HEAP32[$nxDiv>>2]|0; - $68 = (($66) + ($67))|0; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 1|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = (($68) - ($72))|0; - $74 = $73<<1; - $75 = HEAP32[$1>>2]|0; - $76 = ((($75)) + 64|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77) + ($74)|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = $80 << 8; - $82 = HEAP32[$i>>2]|0; - $83 = HEAP32[$nxDiv>>2]|0; - $84 = (($82) + ($83))|0; - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 1|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87&255; - $89 = (($84) - ($88))|0; - $90 = $89<<1; - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 64|0); - $93 = HEAP32[$92>>2]|0; - $94 = (($93) + ($90)|0); - $95 = ((($94)) + 1|0); - $96 = HEAP8[$95>>0]|0; - $97 = $96&255; - $98 = $81 | $97; - $99 = $65 & $98; - $100 = (($61) + ($99)|0); - HEAP32[$pRight>>2] = $100; - } - $101 = HEAP32[$pRight>>2]|0; - $102 = (_sqlite3Get4byte($101)|0); - HEAP32[$pgno>>2] = $102; - while(1) { - $103 = HEAP32[$pBt>>2]|0; - $104 = HEAP32[$pgno>>2]|0; - $105 = HEAP32[$i>>2]|0; - $106 = (($apOld) + ($105<<2)|0); - $107 = (_getAndInitPage($103,$104,$106,0,0)|0); - HEAP32[$rc>>2] = $107; - $108 = HEAP32[$rc>>2]|0; - $109 = ($108|0)!=(0); - if ($109) { - label = 16; - break; - } - $113 = HEAP32[$i>>2]|0; - $114 = (($apOld) + ($113<<2)|0); - $115 = HEAP32[$114>>2]|0; - $116 = ((($115)) + 18|0); - $117 = HEAP16[$116>>1]|0; - $118 = $117&65535; - $119 = (1 + ($118))|0; - $120 = HEAP32[$i>>2]|0; - $121 = (($apOld) + ($120<<2)|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($122)) + 1|0); - $124 = HEAP8[$123>>0]|0; - $125 = $124&255; - $126 = (($119) + ($125))|0; - $127 = HEAP32[$nMaxCells>>2]|0; - $128 = (($127) + ($126))|0; - HEAP32[$nMaxCells>>2] = $128; - $129 = HEAP32[$i>>2]|0; - $130 = (($129) + -1)|0; - HEAP32[$i>>2] = $130; - $131 = ($129|0)==(0); - if ($131) { - label = 26; - break; - } - $132 = HEAP32[$i>>2]|0; - $133 = HEAP32[$nxDiv>>2]|0; - $134 = (($132) + ($133))|0; - $135 = HEAP32[$1>>2]|0; - $136 = ((($135)) + 22|0); - $137 = HEAP16[$136>>1]|0; - $138 = $137&65535; - $139 = ($134|0)==($138|0); - if ($139) { - $140 = HEAP32[$1>>2]|0; - $141 = ((($140)) + 1|0); - $142 = HEAP8[$141>>0]|0; - $143 = $142&255; - $144 = ($143|0)!=(0); - if ($144) { - $145 = HEAP32[$1>>2]|0; - $146 = ((($145)) + 32|0); - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$i>>2]|0; - $149 = (($apDiv) + ($148<<2)|0); - HEAP32[$149>>2] = $147; - $150 = HEAP32[$i>>2]|0; - $151 = (($apDiv) + ($150<<2)|0); - $152 = HEAP32[$151>>2]|0; - $153 = (_sqlite3Get4byte($152)|0); - HEAP32[$pgno>>2] = $153; - $154 = HEAP32[$1>>2]|0; - $155 = ((($154)) + 76|0); - $156 = HEAP32[$155>>2]|0; - $157 = HEAP32[$1>>2]|0; - $158 = HEAP32[$i>>2]|0; - $159 = (($apDiv) + ($158<<2)|0); - $160 = HEAP32[$159>>2]|0; - $161 = (FUNCTION_TABLE_iii[$156 & 255]($157,$160)|0); - $162 = $161&65535; - $163 = HEAP32[$i>>2]|0; - $164 = (($szNew) + ($163<<2)|0); - HEAP32[$164>>2] = $162; - $165 = HEAP32[$1>>2]|0; - $166 = ((($165)) + 1|0); - HEAP8[$166>>0] = 0; - continue; - } + $43 = HEAP32[$5>>2]|0; + $44 = HEAP32[$7>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + $48 = ($43|0)==($47|0); + if (!($48)) { + $81 = HEAP32[$6>>2]|0; + $82 = (_fts5IsContentless($81)|0); + $83 = ($82|0)!=(0); + if ($83) { + $95 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($95|0); + } + $84 = HEAP32[$8>>2]|0; + $85 = (_fts5SeekCursor($84,1)|0); + HEAP32[$9>>2] = $85; + $86 = HEAP32[$9>>2]|0; + $87 = ($86|0)==(0); + if (!($87)) { + $95 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($95|0); } - $167 = HEAP32[$1>>2]|0; - $168 = ((($167)) + 56|0); - $169 = HEAP32[$168>>2]|0; - $170 = HEAP32[$1>>2]|0; - $171 = ((($170)) + 20|0); - $172 = HEAP16[$171>>1]|0; - $173 = $172&65535; - $174 = HEAP32[$i>>2]|0; - $175 = HEAP32[$nxDiv>>2]|0; - $176 = (($174) + ($175))|0; - $177 = HEAP32[$1>>2]|0; - $178 = ((($177)) + 1|0); - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = (($176) - ($180))|0; - $182 = $181<<1; - $183 = HEAP32[$1>>2]|0; - $184 = ((($183)) + 64|0); - $185 = HEAP32[$184>>2]|0; - $186 = (($185) + ($182)|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187&255; - $189 = $188 << 8; - $190 = HEAP32[$i>>2]|0; - $191 = HEAP32[$nxDiv>>2]|0; - $192 = (($190) + ($191))|0; - $193 = HEAP32[$1>>2]|0; - $194 = ((($193)) + 1|0); - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - $197 = (($192) - ($196))|0; - $198 = $197<<1; - $199 = HEAP32[$1>>2]|0; - $200 = ((($199)) + 64|0); - $201 = HEAP32[$200>>2]|0; - $202 = (($201) + ($198)|0); - $203 = ((($202)) + 1|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204&255; - $206 = $189 | $205; - $207 = $173 & $206; - $208 = (($169) + ($207)|0); - $209 = HEAP32[$i>>2]|0; - $210 = (($apDiv) + ($209<<2)|0); - HEAP32[$210>>2] = $208; - $211 = HEAP32[$i>>2]|0; - $212 = (($apDiv) + ($211<<2)|0); - $213 = HEAP32[$212>>2]|0; - $214 = (_sqlite3Get4byte($213)|0); - HEAP32[$pgno>>2] = $214; - $215 = HEAP32[$1>>2]|0; - $216 = ((($215)) + 76|0); - $217 = HEAP32[$216>>2]|0; - $218 = HEAP32[$1>>2]|0; - $219 = HEAP32[$i>>2]|0; - $220 = (($apDiv) + ($219<<2)|0); - $221 = HEAP32[$220>>2]|0; - $222 = (FUNCTION_TABLE_iii[$217 & 255]($218,$221)|0); - $223 = $222&65535; - $224 = HEAP32[$i>>2]|0; - $225 = (($szNew) + ($224<<2)|0); - HEAP32[$225>>2] = $223; - $226 = HEAP32[$pBt>>2]|0; - $227 = ((($226)) + 22|0); - $228 = HEAP16[$227>>1]|0; - $229 = $228&65535; - $230 = $229 & 4; - $231 = ($230|0)!=(0); - if ($231) { - $232 = HEAP32[$i>>2]|0; - $233 = (($apDiv) + ($232<<2)|0); - $234 = HEAP32[$233>>2]|0; - $235 = $234; - $236 = HEAP32[$1>>2]|0; - $237 = ((($236)) + 56|0); - $238 = HEAP32[$237>>2]|0; - $239 = $238; - $240 = (($235) - ($239))|0; - HEAP32[$iOff>>2] = $240; - $241 = HEAP32[$iOff>>2]|0; - $242 = HEAP32[$i>>2]|0; - $243 = (($szNew) + ($242<<2)|0); - $244 = HEAP32[$243>>2]|0; - $245 = (($241) + ($244))|0; - $246 = HEAP32[$pBt>>2]|0; - $247 = ((($246)) + 36|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($245|0)>($248|0); - if ($249) { - label = 23; - break; - } - $254 = HEAP32[$iOff>>2]|0; - $255 = HEAP32[$3>>2]|0; - $256 = (($255) + ($254)|0); - $257 = HEAP32[$i>>2]|0; - $258 = (($apDiv) + ($257<<2)|0); - $259 = HEAP32[$258>>2]|0; - $260 = HEAP32[$i>>2]|0; - $261 = (($szNew) + ($260<<2)|0); - $262 = HEAP32[$261>>2]|0; - _memcpy(($256|0),($259|0),($262|0))|0; - $263 = HEAP32[$i>>2]|0; - $264 = (($apDiv) + ($263<<2)|0); - $265 = HEAP32[$264>>2]|0; - $266 = HEAP32[$1>>2]|0; - $267 = ((($266)) + 56|0); - $268 = HEAP32[$267>>2]|0; - $269 = $265; - $270 = $268; - $271 = (($269) - ($270))|0; - $272 = HEAP32[$3>>2]|0; - $273 = (($272) + ($271)|0); - $274 = HEAP32[$i>>2]|0; - $275 = (($apDiv) + ($274<<2)|0); - HEAP32[$275>>2] = $273; - } - $276 = HEAP32[$1>>2]|0; - $277 = HEAP32[$i>>2]|0; - $278 = HEAP32[$nxDiv>>2]|0; - $279 = (($277) + ($278))|0; - $280 = HEAP32[$1>>2]|0; - $281 = ((($280)) + 1|0); - $282 = HEAP8[$281>>0]|0; - $283 = $282&255; - $284 = (($279) - ($283))|0; - $285 = HEAP32[$i>>2]|0; - $286 = (($szNew) + ($285<<2)|0); - $287 = HEAP32[$286>>2]|0; - _dropCell($276,$284,$287,$rc); + $88 = HEAP32[$4>>2]|0; + $89 = HEAP32[$8>>2]|0; + $90 = ((($89)) + 48|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$5>>2]|0; + $93 = (($92) + 1)|0; + $94 = (_sqlite3_column_value($91,$93)|0); + _sqlite3_result_value($88,$94); + $95 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($95|0); } - L32: do { - if ((label|0) == 16) { - $110 = HEAP32[$i>>2]|0; - $111 = (($110) + 1)|0; - $112 = $111<<2; - _memset(($apOld|0),0,($112|0))|0; + $49 = HEAP32[$8>>2]|0; + $50 = ((($49)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)==(2); + if ($52) { + $53 = HEAP32[$4>>2]|0; + $54 = HEAP32[$8>>2]|0; + (_fts5PoslistBlob($53,$54)|0); + $95 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($95|0); + } + $55 = HEAP32[$8>>2]|0; + $56 = ((($55)) + 24|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(1); + if (!($58)) { + $59 = HEAP32[$8>>2]|0; + $60 = ((($59)) + 24|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(4); + if (!($62)) { + $95 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($95|0); } - else if ((label|0) == 23) { - $250 = (_sqlite3CorruptError(65347)|0); - HEAP32[$rc>>2] = $250; - $251 = HEAP32[$i>>2]|0; - $252 = (($251) + 1)|0; - $253 = $252<<2; - _memset(($apOld|0),0,($253|0))|0; + } + $63 = HEAP32[$8>>2]|0; + $64 = ((($63)) + 80|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)!=(0|0); + if (!($66)) { + $67 = HEAP32[$8>>2]|0; + $68 = (_fts5FindRankFunction($67)|0); + HEAP32[$9>>2] = $68; + $69 = (0)==($68|0); + if (!($69)) { + $95 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($95|0); } - else if ((label|0) == 26) { - $288 = HEAP32[$nMaxCells>>2]|0; - $289 = (($288) + 3)|0; - $290 = $289 & -4; - HEAP32[$nMaxCells>>2] = $290; - $291 = HEAP32[$nMaxCells>>2]|0; - $292 = $291<<2; - $293 = HEAP32[$nMaxCells>>2]|0; - $294 = $293<<1; - $295 = (($292) + ($294))|0; - $296 = HEAP32[$pBt>>2]|0; - $297 = ((($296)) + 32|0); - $298 = HEAP32[$297>>2]|0; - $299 = (($295) + ($298))|0; - HEAP32[$szScratch>>2] = $299; - $300 = HEAP32[$szScratch>>2]|0; - $301 = (_sqlite3ScratchMalloc($300)|0); - $302 = ((($b)) + 8|0); - HEAP32[$302>>2] = $301; - $303 = ((($b)) + 8|0); - $304 = HEAP32[$303>>2]|0; - $305 = ($304|0)==(0|0); - if ($305) { - HEAP32[$rc>>2] = 7; - break; - } - $306 = HEAP32[$nMaxCells>>2]|0; - $307 = ((($b)) + 8|0); - $308 = HEAP32[$307>>2]|0; - $309 = (($308) + ($306<<2)|0); - $310 = ((($b)) + 12|0); - HEAP32[$310>>2] = $309; - $311 = HEAP32[$nMaxCells>>2]|0; - $312 = ((($b)) + 12|0); - $313 = HEAP32[$312>>2]|0; - $314 = (($313) + ($311<<1)|0); - HEAP32[$aSpace1>>2] = $314; - $315 = HEAP32[$apOld>>2]|0; - $316 = ((($b)) + 4|0); - HEAP32[$316>>2] = $315; - $317 = ((($b)) + 4|0); - $318 = HEAP32[$317>>2]|0; - $319 = ((($318)) + 4|0); - $320 = HEAP8[$319>>0]|0; - $321 = $320&255; - $322 = $321<<2; - $323 = $322&65535; - HEAP16[$leafCorrection>>1] = $323; - $324 = ((($b)) + 4|0); - $325 = HEAP32[$324>>2]|0; - $326 = ((($325)) + 3|0); - $327 = HEAP8[$326>>0]|0; - $328 = $327&255; - HEAP32[$leafData>>2] = $328; - HEAP32[$i>>2] = 0; - while(1) { - $329 = HEAP32[$i>>2]|0; - $330 = HEAP32[$nOld>>2]|0; - $331 = ($329|0)<($330|0); - if (!($331)) { - break; - } - $332 = HEAP32[$i>>2]|0; - $333 = (($apOld) + ($332<<2)|0); - $334 = HEAP32[$333>>2]|0; - HEAP32[$pOld>>2] = $334; - $335 = HEAP32[$pOld>>2]|0; - $336 = ((($335)) + 18|0); - $337 = HEAP16[$336>>1]|0; - $338 = $337&65535; - HEAP32[$limit>>2] = $338; - $339 = HEAP32[$pOld>>2]|0; - $340 = ((($339)) + 56|0); - $341 = HEAP32[$340>>2]|0; - HEAP32[$aData>>2] = $341; - $342 = HEAP32[$pOld>>2]|0; - $343 = ((($342)) + 20|0); - $344 = HEAP16[$343>>1]|0; - HEAP16[$maskPage>>1] = $344; - $345 = HEAP32[$aData>>2]|0; - $346 = HEAP32[$pOld>>2]|0; - $347 = ((($346)) + 14|0); - $348 = HEAP16[$347>>1]|0; - $349 = $348&65535; - $350 = (($345) + ($349)|0); - HEAP32[$piCell>>2] = $350; - $351 = HEAP32[$pOld>>2]|0; - $352 = ((($351)) + 56|0); - $353 = HEAP32[$352>>2]|0; - $354 = HEAP8[$353>>0]|0; - $355 = $354&255; - $356 = HEAP32[$apOld>>2]|0; - $357 = ((($356)) + 56|0); - $358 = HEAP32[$357>>2]|0; - $359 = HEAP8[$358>>0]|0; - $360 = $359&255; - $361 = ($355|0)!=($360|0); - if ($361) { - label = 31; - break; - } - $363 = HEAP32[$b>>2]|0; - $364 = ((($b)) + 12|0); - $365 = HEAP32[$364>>2]|0; - $366 = (($365) + ($363<<1)|0); - $367 = HEAP32[$limit>>2]|0; - $368 = HEAP32[$pOld>>2]|0; - $369 = ((($368)) + 1|0); - $370 = HEAP8[$369>>0]|0; - $371 = $370&255; - $372 = (($367) + ($371))|0; - $373 = $372<<1; - _memset(($366|0),0,($373|0))|0; - $374 = HEAP32[$pOld>>2]|0; - $375 = ((($374)) + 1|0); - $376 = HEAP8[$375>>0]|0; - $377 = $376&255; - $378 = ($377|0)>(0); - L43: do { - if ($378) { - $379 = HEAP32[$pOld>>2]|0; - $380 = ((($379)) + 22|0); - $381 = HEAP16[$380>>1]|0; - $382 = $381&65535; - HEAP32[$limit>>2] = $382; - HEAP32[$j>>2] = 0; - while(1) { - $383 = HEAP32[$j>>2]|0; - $384 = HEAP32[$limit>>2]|0; - $385 = ($383|0)<($384|0); - if (!($385)) { - break; - } - $386 = HEAP32[$aData>>2]|0; - $387 = HEAP16[$maskPage>>1]|0; - $388 = $387&65535; - $389 = HEAP32[$piCell>>2]|0; - $390 = HEAP8[$389>>0]|0; - $391 = $390&255; - $392 = $391 << 8; - $393 = HEAP32[$piCell>>2]|0; - $394 = ((($393)) + 1|0); - $395 = HEAP8[$394>>0]|0; - $396 = $395&255; - $397 = $392 | $396; - $398 = $388 & $397; - $399 = (($386) + ($398)|0); - $400 = HEAP32[$b>>2]|0; - $401 = ((($b)) + 8|0); - $402 = HEAP32[$401>>2]|0; - $403 = (($402) + ($400<<2)|0); - HEAP32[$403>>2] = $399; - $404 = HEAP32[$piCell>>2]|0; - $405 = ((($404)) + 2|0); - HEAP32[$piCell>>2] = $405; - $406 = HEAP32[$b>>2]|0; - $407 = (($406) + 1)|0; - HEAP32[$b>>2] = $407; - $408 = HEAP32[$j>>2]|0; - $409 = (($408) + 1)|0; - HEAP32[$j>>2] = $409; - } - HEAP32[$k>>2] = 0; - while(1) { - $410 = HEAP32[$k>>2]|0; - $411 = HEAP32[$pOld>>2]|0; - $412 = ((($411)) + 1|0); - $413 = HEAP8[$412>>0]|0; - $414 = $413&255; - $415 = ($410|0)<($414|0); - if (!($415)) { - break L43; - } - $416 = HEAP32[$k>>2]|0; - $417 = HEAP32[$pOld>>2]|0; - $418 = ((($417)) + 32|0); - $419 = (($418) + ($416<<2)|0); - $420 = HEAP32[$419>>2]|0; - $421 = HEAP32[$b>>2]|0; - $422 = ((($b)) + 8|0); - $423 = HEAP32[$422>>2]|0; - $424 = (($423) + ($421<<2)|0); - HEAP32[$424>>2] = $420; - $425 = HEAP32[$b>>2]|0; - $426 = (($425) + 1)|0; - HEAP32[$b>>2] = $426; - $427 = HEAP32[$k>>2]|0; - $428 = (($427) + 1)|0; - HEAP32[$k>>2] = $428; - } - } - } while(0); - $429 = HEAP32[$aData>>2]|0; - $430 = HEAP32[$pOld>>2]|0; - $431 = ((($430)) + 14|0); - $432 = HEAP16[$431>>1]|0; - $433 = $432&65535; - $434 = (($429) + ($433)|0); - $435 = HEAP32[$pOld>>2]|0; - $436 = ((($435)) + 18|0); - $437 = HEAP16[$436>>1]|0; - $438 = $437&65535; - $439 = $438<<1; - $440 = (($434) + ($439)|0); - HEAP32[$piEnd>>2] = $440; - while(1) { - $441 = HEAP32[$piCell>>2]|0; - $442 = HEAP32[$piEnd>>2]|0; - $443 = ($441>>>0)<($442>>>0); - if (!($443)) { + } + $70 = HEAP32[$8>>2]|0; + $71 = ((($70)) + 80|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$8>>2]|0; + $74 = HEAP32[$4>>2]|0; + $75 = HEAP32[$8>>2]|0; + $76 = ((($75)) + 84|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$8>>2]|0; + $79 = ((($78)) + 88|0); + $80 = HEAP32[$79>>2]|0; + _fts5ApiInvoke($72,$73,$74,$77,$80); + $95 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($95|0); +} +function _fts5RowidMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $6; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 24|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$5>>2] = $9; + $10 = HEAP32[$5>>2]|0; + switch ($10|0) { + case 3: { + $11 = HEAP32[$3>>2]|0; + $12 = $11; + $13 = $12; + HEAP32[$13>>2] = 0; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = 0; + STACKTOP = sp;return 0; + break; + } + case 4: case 1: case 2: { + $16 = HEAP32[$4>>2]|0; + $17 = (_fts5CursorRowid($16)|0); + $18 = tempRet0; + $19 = HEAP32[$3>>2]|0; + $20 = $19; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $18; + STACKTOP = sp;return 0; + break; + } + default: { + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 48|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3_column_int64($26,0)|0); + $28 = tempRet0; + $29 = HEAP32[$3>>2]|0; + $30 = $29; + $31 = $30; + HEAP32[$31>>2] = $27; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $28; + STACKTOP = sp;return 0; + } + } + return (0)|0; +} +function _fts5UpdateMethod($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $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, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer = sp + 32|0; + $4 = sp + 76|0; + $5 = sp + 72|0; + $6 = sp + 68|0; + $7 = sp + 64|0; + $8 = sp + 60|0; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 44|0; + $13 = sp + 40|0; + $14 = sp + 24|0; + $15 = sp + 16|0; + $16 = sp + 8|0; + $17 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $18 = HEAP32[$4>>2]|0; + HEAP32[$8>>2] = $18; + $19 = HEAP32[$8>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$9>>2] = $21; + HEAP32[$11>>2] = 0; + $22 = HEAP32[$8>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$8>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($26)) + 96|0); + HEAP32[$27>>2] = $23; + $28 = HEAP32[$8>>2]|0; + _fts5TripCursors($28); + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_value_type($30)|0); + HEAP32[$10>>2] = $31; + $32 = HEAP32[$10>>2]|0; + $33 = ($32|0)==(5); + do { + if ($33) { + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$9>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = (2 + ($37))|0; + $39 = (($34) + ($38<<2)|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3_value_type($40)|0); + $42 = ($41|0)!=(5); + if ($42) { + $43 = HEAP32[$6>>2]|0; + $44 = HEAP32[$9>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = (2 + ($46))|0; + $48 = (($43) + ($47<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = (_sqlite3_value_text($49)|0); + HEAP32[$12>>2] = $50; + $51 = HEAP32[$9>>2]|0; + $52 = ((($51)) + 32|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)!=(0); + if ($54) { + $55 = HEAP32[$12>>2]|0; + $56 = (_sqlite3_stricmp(32733,$55)|0); + $57 = (0)==($56|0); + if ($57) { + $58 = HEAP32[$8>>2]|0; + $59 = HEAP32[$6>>2]|0; + $60 = (_fts5SpecialDelete($58,$59)|0); + HEAP32[$11>>2] = $60; break; } - $444 = HEAP32[$aData>>2]|0; - $445 = HEAP16[$maskPage>>1]|0; - $446 = $445&65535; - $447 = HEAP32[$piCell>>2]|0; - $448 = HEAP8[$447>>0]|0; - $449 = $448&255; - $450 = $449 << 8; - $451 = HEAP32[$piCell>>2]|0; - $452 = ((($451)) + 1|0); - $453 = HEAP8[$452>>0]|0; - $454 = $453&255; - $455 = $450 | $454; - $456 = $446 & $455; - $457 = (($444) + ($456)|0); - $458 = HEAP32[$b>>2]|0; - $459 = ((($b)) + 8|0); - $460 = HEAP32[$459>>2]|0; - $461 = (($460) + ($458<<2)|0); - HEAP32[$461>>2] = $457; - $462 = HEAP32[$piCell>>2]|0; - $463 = ((($462)) + 2|0); - HEAP32[$piCell>>2] = $463; - $464 = HEAP32[$b>>2]|0; - $465 = (($464) + 1)|0; - HEAP32[$b>>2] = $465; - } - $466 = HEAP32[$b>>2]|0; - $467 = HEAP32[$i>>2]|0; - $468 = (($cntOld) + ($467<<2)|0); - HEAP32[$468>>2] = $466; - $469 = HEAP32[$i>>2]|0; - $470 = HEAP32[$nOld>>2]|0; - $471 = (($470) - 1)|0; - $472 = ($469|0)>=($471|0); - $473 = HEAP32[$leafData>>2]|0; - $474 = ($473|0)!=(0); - $or$cond = $472 | $474; - if (!($or$cond)) { - $475 = HEAP32[$i>>2]|0; - $476 = (($szNew) + ($475<<2)|0); - $477 = HEAP32[$476>>2]|0; - $478 = $477&65535; - HEAP16[$sz>>1] = $478; - $479 = HEAP16[$sz>>1]|0; - $480 = HEAP32[$b>>2]|0; - $481 = ((($b)) + 12|0); - $482 = HEAP32[$481>>2]|0; - $483 = (($482) + ($480<<1)|0); - HEAP16[$483>>1] = $479; - $484 = HEAP32[$iSpace1>>2]|0; - $485 = HEAP32[$aSpace1>>2]|0; - $486 = (($485) + ($484)|0); - HEAP32[$pTemp>>2] = $486; - $487 = HEAP16[$sz>>1]|0; - $488 = $487&65535; - $489 = HEAP32[$iSpace1>>2]|0; - $490 = (($489) + ($488))|0; - HEAP32[$iSpace1>>2] = $490; - $491 = HEAP32[$pTemp>>2]|0; - $492 = HEAP32[$i>>2]|0; - $493 = (($apDiv) + ($492<<2)|0); - $494 = HEAP32[$493>>2]|0; - $495 = HEAP16[$sz>>1]|0; - $496 = $495&65535; - _memcpy(($491|0),($494|0),($496|0))|0; - $497 = HEAP32[$pTemp>>2]|0; - $498 = HEAP16[$leafCorrection>>1]|0; - $499 = $498&65535; - $500 = (($497) + ($499)|0); - $501 = HEAP32[$b>>2]|0; - $502 = ((($b)) + 8|0); - $503 = HEAP32[$502>>2]|0; - $504 = (($503) + ($501<<2)|0); - HEAP32[$504>>2] = $500; - $505 = HEAP32[$b>>2]|0; - $506 = ((($b)) + 12|0); - $507 = HEAP32[$506>>2]|0; - $508 = (($507) + ($505<<1)|0); - $509 = HEAP16[$508>>1]|0; - $510 = $509&65535; - $511 = HEAP16[$leafCorrection>>1]|0; - $512 = $511&65535; - $513 = (($510) - ($512))|0; - $514 = $513&65535; - $515 = HEAP32[$b>>2]|0; - $516 = ((($b)) + 12|0); - $517 = HEAP32[$516>>2]|0; - $518 = (($517) + ($515<<1)|0); - HEAP16[$518>>1] = $514; - $519 = HEAP32[$pOld>>2]|0; - $520 = ((($519)) + 4|0); - $521 = HEAP8[$520>>0]|0; - $522 = ($521<<24>>24)!=(0); - L59: do { - if ($522) { - while(1) { - $532 = HEAP32[$b>>2]|0; - $533 = ((($b)) + 12|0); - $534 = HEAP32[$533>>2]|0; - $535 = (($534) + ($532<<1)|0); - $536 = HEAP16[$535>>1]|0; - $537 = $536&65535; - $538 = ($537|0)<(4); - if (!($538)) { - break L59; - } - $539 = HEAP32[$iSpace1>>2]|0; - $540 = (($539) + 1)|0; - HEAP32[$iSpace1>>2] = $540; - $541 = HEAP32[$aSpace1>>2]|0; - $542 = (($541) + ($539)|0); - HEAP8[$542>>0] = 0; - $543 = HEAP32[$b>>2]|0; - $544 = ((($b)) + 12|0); - $545 = HEAP32[$544>>2]|0; - $546 = (($545) + ($543<<1)|0); - $547 = HEAP16[$546>>1]|0; - $548 = (($547) + 1)<<16>>16; - HEAP16[$546>>1] = $548; - } - } else { - $523 = HEAP32[$b>>2]|0; - $524 = ((($b)) + 8|0); - $525 = HEAP32[$524>>2]|0; - $526 = (($525) + ($523<<2)|0); - $527 = HEAP32[$526>>2]|0; - $528 = HEAP32[$pOld>>2]|0; - $529 = ((($528)) + 56|0); - $530 = HEAP32[$529>>2]|0; - $531 = ((($530)) + 8|0); - ;HEAP8[$527>>0]=HEAP8[$531>>0]|0;HEAP8[$527+1>>0]=HEAP8[$531+1>>0]|0;HEAP8[$527+2>>0]=HEAP8[$531+2>>0]|0;HEAP8[$527+3>>0]=HEAP8[$531+3>>0]|0; - } - } while(0); - $549 = HEAP32[$b>>2]|0; - $550 = (($549) + 1)|0; - HEAP32[$b>>2] = $550; } - $551 = HEAP32[$i>>2]|0; - $552 = (($551) + 1)|0; - HEAP32[$i>>2] = $552; + $61 = HEAP32[$8>>2]|0; + $62 = HEAP32[$12>>2]|0; + $63 = HEAP32[$6>>2]|0; + $64 = HEAP32[$9>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = (2 + ($66))|0; + $68 = (($67) + 1)|0; + $69 = (($63) + ($68<<2)|0); + $70 = HEAP32[$69>>2]|0; + $71 = (_fts5SpecialInsert($61,$62,$70)|0); + HEAP32[$11>>2] = $71; + } else { + label = 7; } - if ((label|0) == 31) { - $362 = (_sqlite3CorruptError(65414)|0); - HEAP32[$rc>>2] = $362; - break; + } else { + label = 7; + } + } while(0); + do { + if ((label|0) == 7) { + HEAP32[$13>>2] = 4; + $72 = HEAP32[$9>>2]|0; + $73 = ((($72)) + 32|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0); + if ($75) { + $76 = HEAP32[$9>>2]|0; + $77 = HEAP32[$76>>2]|0; + $78 = (_sqlite3_vtab_on_conflict($77)|0); + HEAP32[$13>>2] = $78; } - $553 = HEAP32[$pBt>>2]|0; - $554 = ((($553)) + 36|0); - $555 = HEAP32[$554>>2]|0; - $556 = (($555) - 12)|0; - $557 = HEAP16[$leafCorrection>>1]|0; - $558 = $557&65535; - $559 = (($556) + ($558))|0; - HEAP32[$usableSpace>>2] = $559; - HEAP32[$i>>2] = 0; - while(1) { - $560 = HEAP32[$i>>2]|0; - $561 = HEAP32[$nOld>>2]|0; - $562 = ($560|0)<($561|0); - if (!($562)) { - break; - } - $563 = HEAP32[$i>>2]|0; - $564 = (($apOld) + ($563<<2)|0); - $565 = HEAP32[$564>>2]|0; - HEAP32[$p>>2] = $565; - $566 = HEAP32[$usableSpace>>2]|0; - $567 = HEAP32[$p>>2]|0; - $568 = ((($567)) + 16|0); - $569 = HEAP16[$568>>1]|0; - $570 = $569&65535; - $571 = (($566) - ($570))|0; - $572 = HEAP32[$i>>2]|0; - $573 = (($szNew) + ($572<<2)|0); - HEAP32[$573>>2] = $571; - $574 = HEAP32[$i>>2]|0; - $575 = (($szNew) + ($574<<2)|0); - $576 = HEAP32[$575>>2]|0; - $577 = ($576|0)<(0); - if ($577) { - label = 52; + $79 = HEAP32[$10>>2]|0; + $80 = ($79|0)==(1); + if ($80) { + $81 = HEAP32[$8>>2]|0; + $82 = (_fts5IsContentless($81)|0); + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$5>>2]|0; + $85 = ($84|0)>(1); + $86 = $85 ? 51445 : 51452; + $87 = HEAP32[$9>>2]|0; + $88 = ((($87)) + 8|0); + $89 = HEAP32[$88>>2]|0; + HEAP32[$vararg_buffer>>2] = $86; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $89; + $90 = (_sqlite3_mprintf(51464,$vararg_buffer)|0); + $91 = HEAP32[$8>>2]|0; + $92 = ((($91)) + 8|0); + HEAP32[$92>>2] = $90; + HEAP32[$11>>2] = 1; break; } - HEAP32[$j>>2] = 0; - while(1) { - $579 = HEAP32[$j>>2]|0; - $580 = HEAP32[$p>>2]|0; - $581 = ((($580)) + 1|0); - $582 = HEAP8[$581>>0]|0; - $583 = $582&255; - $584 = ($579|0)<($583|0); - if (!($584)) { - break; - } - $585 = HEAP32[$p>>2]|0; - $586 = ((($585)) + 76|0); - $587 = HEAP32[$586>>2]|0; - $588 = HEAP32[$p>>2]|0; - $589 = HEAP32[$j>>2]|0; - $590 = HEAP32[$p>>2]|0; - $591 = ((($590)) + 32|0); - $592 = (($591) + ($589<<2)|0); - $593 = HEAP32[$592>>2]|0; - $594 = (FUNCTION_TABLE_iii[$587 & 255]($588,$593)|0); - $595 = $594&65535; - $596 = (2 + ($595))|0; - $597 = HEAP32[$i>>2]|0; - $598 = (($szNew) + ($597<<2)|0); - $599 = HEAP32[$598>>2]|0; - $600 = (($599) + ($596))|0; - HEAP32[$598>>2] = $600; - $601 = HEAP32[$j>>2]|0; - $602 = (($601) + 1)|0; - HEAP32[$j>>2] = $602; - } - $603 = HEAP32[$i>>2]|0; - $604 = (($cntOld) + ($603<<2)|0); - $605 = HEAP32[$604>>2]|0; - $606 = HEAP32[$i>>2]|0; - $607 = (($cntNew) + ($606<<2)|0); - HEAP32[$607>>2] = $605; - $608 = HEAP32[$i>>2]|0; - $609 = (($608) + 1)|0; - HEAP32[$i>>2] = $609; } - if ((label|0) == 52) { - $578 = (_sqlite3CorruptError(65512)|0); - HEAP32[$rc>>2] = $578; + $93 = HEAP32[$5>>2]|0; + $94 = ($93|0)==(1); + if ($94) { + $95 = HEAP32[$6>>2]|0; + $96 = HEAP32[$95>>2]|0; + $97 = (_sqlite3_value_int64($96)|0); + $98 = tempRet0; + $99 = $14; + $100 = $99; + HEAP32[$100>>2] = $97; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = $98; + $103 = HEAP32[$8>>2]|0; + $104 = ((($103)) + 20|0); + $105 = HEAP32[$104>>2]|0; + $106 = $14; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (($106) + 4)|0; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (_sqlite3Fts5StorageDelete($105,$108,$111,0)|0); + HEAP32[$11>>2] = $112; break; } - $610 = HEAP32[$nOld>>2]|0; - HEAP32[$k>>2] = $610; - HEAP32[$i>>2] = 0; - L80: while(1) { - $611 = HEAP32[$i>>2]|0; - $612 = HEAP32[$k>>2]|0; - $613 = ($611|0)<($612|0); - if (!($613)) { - label = 83; - break; - } - while(1) { - $614 = HEAP32[$i>>2]|0; - $615 = (($szNew) + ($614<<2)|0); - $616 = HEAP32[$615>>2]|0; - $617 = HEAP32[$usableSpace>>2]|0; - $618 = ($616|0)>($617|0); - if (!($618)) { - break; - } - $619 = HEAP32[$i>>2]|0; - $620 = (($619) + 1)|0; - $621 = HEAP32[$k>>2]|0; - $622 = ($620|0)>=($621|0); - if ($622) { - $623 = HEAP32[$i>>2]|0; - $624 = (($623) + 2)|0; - HEAP32[$k>>2] = $624; - $625 = HEAP32[$k>>2]|0; - $626 = ($625|0)>(5); - if ($626) { - label = 62; - break L80; - } - $628 = HEAP32[$k>>2]|0; - $629 = (($628) - 1)|0; - $630 = (($szNew) + ($629<<2)|0); - HEAP32[$630>>2] = 0; - $631 = HEAP32[$b>>2]|0; - $632 = HEAP32[$k>>2]|0; - $633 = (($632) - 1)|0; - $634 = (($cntNew) + ($633<<2)|0); - HEAP32[$634>>2] = $631; - } - $635 = HEAP32[$i>>2]|0; - $636 = (($cntNew) + ($635<<2)|0); - $637 = HEAP32[$636>>2]|0; - $638 = (($637) - 1)|0; - $639 = (_cachedCellSize($b,$638)|0); - $640 = $639&65535; - $641 = (2 + ($640))|0; - HEAP32[$sz1>>2] = $641; - $642 = HEAP32[$sz1>>2]|0; - $643 = HEAP32[$i>>2]|0; - $644 = (($szNew) + ($643<<2)|0); - $645 = HEAP32[$644>>2]|0; - $646 = (($645) - ($642))|0; - HEAP32[$644>>2] = $646; - $647 = HEAP32[$leafData>>2]|0; - $648 = ($647|0)!=(0); - do { - if (!($648)) { - $649 = HEAP32[$i>>2]|0; - $650 = (($cntNew) + ($649<<2)|0); - $651 = HEAP32[$650>>2]|0; - $652 = HEAP32[$b>>2]|0; - $653 = ($651|0)<($652|0); - if ($653) { - $654 = HEAP32[$i>>2]|0; - $655 = (($cntNew) + ($654<<2)|0); - $656 = HEAP32[$655>>2]|0; - $657 = (_cachedCellSize($b,$656)|0); - $658 = $657&65535; - $659 = (2 + ($658))|0; - HEAP32[$sz1>>2] = $659; - break; - } else { - HEAP32[$sz1>>2] = 0; - break; - } - } - } while(0); - $660 = HEAP32[$sz1>>2]|0; - $661 = HEAP32[$i>>2]|0; - $662 = (($661) + 1)|0; - $663 = (($szNew) + ($662<<2)|0); - $664 = HEAP32[$663>>2]|0; - $665 = (($664) + ($660))|0; - HEAP32[$663>>2] = $665; - $666 = HEAP32[$i>>2]|0; - $667 = (($cntNew) + ($666<<2)|0); - $668 = HEAP32[$667>>2]|0; - $669 = (($668) + -1)|0; - HEAP32[$667>>2] = $669; - } - while(1) { - $670 = HEAP32[$i>>2]|0; - $671 = (($cntNew) + ($670<<2)|0); - $672 = HEAP32[$671>>2]|0; - $673 = HEAP32[$b>>2]|0; - $674 = ($672|0)<($673|0); - if (!($674)) { - break; - } - $675 = HEAP32[$i>>2]|0; - $676 = (($cntNew) + ($675<<2)|0); - $677 = HEAP32[$676>>2]|0; - $678 = (_cachedCellSize($b,$677)|0); - $679 = $678&65535; - $680 = (2 + ($679))|0; - HEAP32[$sz1>>2] = $680; - $681 = HEAP32[$i>>2]|0; - $682 = (($szNew) + ($681<<2)|0); - $683 = HEAP32[$682>>2]|0; - $684 = HEAP32[$sz1>>2]|0; - $685 = (($683) + ($684))|0; - $686 = HEAP32[$usableSpace>>2]|0; - $687 = ($685|0)>($686|0); - if ($687) { - break; - } - $688 = HEAP32[$sz1>>2]|0; - $689 = HEAP32[$i>>2]|0; - $690 = (($szNew) + ($689<<2)|0); - $691 = HEAP32[$690>>2]|0; - $692 = (($691) + ($688))|0; - HEAP32[$690>>2] = $692; - $693 = HEAP32[$i>>2]|0; - $694 = (($cntNew) + ($693<<2)|0); - $695 = HEAP32[$694>>2]|0; - $696 = (($695) + 1)|0; - HEAP32[$694>>2] = $696; - $697 = HEAP32[$leafData>>2]|0; - $698 = ($697|0)!=(0); - do { - if (!($698)) { - $699 = HEAP32[$i>>2]|0; - $700 = (($cntNew) + ($699<<2)|0); - $701 = HEAP32[$700>>2]|0; - $702 = HEAP32[$b>>2]|0; - $703 = ($701|0)<($702|0); - if ($703) { - $704 = HEAP32[$i>>2]|0; - $705 = (($cntNew) + ($704<<2)|0); - $706 = HEAP32[$705>>2]|0; - $707 = (_cachedCellSize($b,$706)|0); - $708 = $707&65535; - $709 = (2 + ($708))|0; - HEAP32[$sz1>>2] = $709; - break; - } else { - HEAP32[$sz1>>2] = 0; - break; - } - } - } while(0); - $710 = HEAP32[$sz1>>2]|0; - $711 = HEAP32[$i>>2]|0; - $712 = (($711) + 1)|0; - $713 = (($szNew) + ($712<<2)|0); - $714 = HEAP32[$713>>2]|0; - $715 = (($714) - ($710))|0; - HEAP32[$713>>2] = $715; - } - $716 = HEAP32[$i>>2]|0; - $717 = (($cntNew) + ($716<<2)|0); - $718 = HEAP32[$717>>2]|0; - $719 = HEAP32[$b>>2]|0; - $720 = ($718|0)>=($719|0); - $721 = HEAP32[$i>>2]|0; - if ($720) { - $722 = (($721) + 1)|0; - HEAP32[$k>>2] = $722; - } else { - $723 = (($cntNew) + ($721<<2)|0); - $724 = HEAP32[$723>>2]|0; - $725 = HEAP32[$i>>2]|0; - $726 = ($725|0)>(0); - if ($726) { - $727 = HEAP32[$i>>2]|0; - $728 = (($727) - 1)|0; - $729 = (($cntNew) + ($728<<2)|0); - $730 = HEAP32[$729>>2]|0; - $732 = $730; - } else { - $732 = 0; - } - $731 = ($724|0)<=($732|0); - if ($731) { - label = 81; - break; + $113 = HEAP32[$10>>2]|0; + $114 = ($113|0)!=(1); + if ($114) { + $115 = HEAP32[$13>>2]|0; + $116 = ($115|0)==(5); + if ($116) { + $117 = HEAP32[$6>>2]|0; + $118 = ((($117)) + 4|0); + $119 = HEAP32[$118>>2]|0; + $120 = (_sqlite3_value_type($119)|0); + $121 = ($120|0)==(1); + if ($121) { + $122 = HEAP32[$6>>2]|0; + $123 = ((($122)) + 4|0); + $124 = HEAP32[$123>>2]|0; + $125 = (_sqlite3_value_int64($124)|0); + $126 = tempRet0; + $127 = $15; + $128 = $127; + HEAP32[$128>>2] = $125; + $129 = (($127) + 4)|0; + $130 = $129; + HEAP32[$130>>2] = $126; + $131 = HEAP32[$8>>2]|0; + $132 = ((($131)) + 20|0); + $133 = HEAP32[$132>>2]|0; + $134 = $15; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = (($134) + 4)|0; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (_sqlite3Fts5StorageDelete($133,$136,$139,0)|0); + HEAP32[$11>>2] = $140; } } - $734 = HEAP32[$i>>2]|0; - $735 = (($734) + 1)|0; - HEAP32[$i>>2] = $735; - } - if ((label|0) == 62) { - $627 = (_sqlite3CorruptError(65524)|0); - HEAP32[$rc>>2] = $627; + $141 = HEAP32[$8>>2]|0; + $142 = HEAP32[$6>>2]|0; + $143 = HEAP32[$7>>2]|0; + _fts5StorageInsert($11,$141,$142,$143); break; } - else if ((label|0) == 81) { - $733 = (_sqlite3CorruptError(65557)|0); - HEAP32[$rc>>2] = $733; + $144 = HEAP32[$6>>2]|0; + $145 = HEAP32[$144>>2]|0; + $146 = (_sqlite3_value_int64($145)|0); + $147 = tempRet0; + $148 = $16; + $149 = $148; + HEAP32[$149>>2] = $146; + $150 = (($148) + 4)|0; + $151 = $150; + HEAP32[$151>>2] = $147; + $152 = HEAP32[$6>>2]|0; + $153 = ((($152)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = (_sqlite3_value_int64($154)|0); + $156 = tempRet0; + $157 = $17; + $158 = $157; + HEAP32[$158>>2] = $155; + $159 = (($157) + 4)|0; + $160 = $159; + HEAP32[$160>>2] = $156; + $161 = $16; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = $17; + $168 = $167; + $169 = HEAP32[$168>>2]|0; + $170 = (($167) + 4)|0; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = ($163|0)!=($169|0); + $174 = ($166|0)!=($172|0); + $175 = $173 | $174; + if (!($175)) { + $232 = HEAP32[$8>>2]|0; + $233 = ((($232)) + 20|0); + $234 = HEAP32[$233>>2]|0; + $235 = $16; + $236 = $235; + $237 = HEAP32[$236>>2]|0; + $238 = (($235) + 4)|0; + $239 = $238; + $240 = HEAP32[$239>>2]|0; + $241 = (_sqlite3Fts5StorageDelete($234,$237,$240,0)|0); + HEAP32[$11>>2] = $241; + $242 = HEAP32[$8>>2]|0; + $243 = HEAP32[$6>>2]|0; + $244 = HEAP32[$7>>2]|0; + _fts5StorageInsert($11,$242,$243,$244); break; } - else if ((label|0) == 83) { - $736 = HEAP32[$k>>2]|0; - $737 = (($736) - 1)|0; - HEAP32[$i>>2] = $737; - while(1) { - $738 = HEAP32[$i>>2]|0; - $739 = ($738|0)>(0); - if (!($739)) { - break; - } - $740 = HEAP32[$i>>2]|0; - $741 = (($szNew) + ($740<<2)|0); - $742 = HEAP32[$741>>2]|0; - HEAP32[$szRight>>2] = $742; - $743 = HEAP32[$i>>2]|0; - $744 = (($743) - 1)|0; - $745 = (($szNew) + ($744<<2)|0); - $746 = HEAP32[$745>>2]|0; - HEAP32[$szLeft>>2] = $746; - $747 = HEAP32[$i>>2]|0; - $748 = (($747) - 1)|0; - $749 = (($cntNew) + ($748<<2)|0); - $750 = HEAP32[$749>>2]|0; - $751 = (($750) - 1)|0; - HEAP32[$r>>2] = $751; - $752 = HEAP32[$r>>2]|0; - $753 = (($752) + 1)|0; - $754 = HEAP32[$leafData>>2]|0; - $755 = (($753) - ($754))|0; - HEAP32[$d>>2] = $755; - $756 = HEAP32[$d>>2]|0; - (_cachedCellSize($b,$756)|0); - while(1) { - $757 = HEAP32[$r>>2]|0; - (_cachedCellSize($b,$757)|0); - $758 = HEAP32[$szRight>>2]|0; - $759 = ($758|0)!=(0); - if ($759) { - $760 = HEAP32[$5>>2]|0; - $761 = ($760|0)!=(0); - if ($761) { - break; - } - $762 = HEAP32[$szRight>>2]|0; - $763 = HEAP32[$d>>2]|0; - $764 = ((($b)) + 12|0); - $765 = HEAP32[$764>>2]|0; - $766 = (($765) + ($763<<1)|0); - $767 = HEAP16[$766>>1]|0; - $768 = $767&65535; - $769 = (($762) + ($768))|0; - $770 = (($769) + 2)|0; - $771 = HEAP32[$szLeft>>2]|0; - $772 = HEAP32[$r>>2]|0; - $773 = ((($b)) + 12|0); - $774 = HEAP32[$773>>2]|0; - $775 = (($774) + ($772<<1)|0); - $776 = HEAP16[$775>>1]|0; - $777 = $776&65535; - $778 = HEAP32[$i>>2]|0; - $779 = HEAP32[$k>>2]|0; - $780 = (($779) - 1)|0; - $781 = ($778|0)==($780|0); - $782 = $781 ? 0 : 2; - $783 = (($777) + ($782))|0; - $784 = (($771) - ($783))|0; - $785 = ($770|0)>($784|0); - if ($785) { - break; - } - } - $786 = HEAP32[$d>>2]|0; - $787 = ((($b)) + 12|0); - $788 = HEAP32[$787>>2]|0; - $789 = (($788) + ($786<<1)|0); - $790 = HEAP16[$789>>1]|0; - $791 = $790&65535; - $792 = (($791) + 2)|0; - $793 = HEAP32[$szRight>>2]|0; - $794 = (($793) + ($792))|0; - HEAP32[$szRight>>2] = $794; - $795 = HEAP32[$r>>2]|0; - $796 = ((($b)) + 12|0); - $797 = HEAP32[$796>>2]|0; - $798 = (($797) + ($795<<1)|0); - $799 = HEAP16[$798>>1]|0; - $800 = $799&65535; - $801 = (($800) + 2)|0; - $802 = HEAP32[$szLeft>>2]|0; - $803 = (($802) - ($801))|0; - HEAP32[$szLeft>>2] = $803; - $804 = HEAP32[$r>>2]|0; - $805 = HEAP32[$i>>2]|0; - $806 = (($805) - 1)|0; - $807 = (($cntNew) + ($806<<2)|0); - HEAP32[$807>>2] = $804; - $808 = HEAP32[$r>>2]|0; - $809 = (($808) + -1)|0; - HEAP32[$r>>2] = $809; - $810 = HEAP32[$d>>2]|0; - $811 = (($810) + -1)|0; - HEAP32[$d>>2] = $811; - $812 = HEAP32[$r>>2]|0; - $813 = ($812|0)>=(0); - if (!($813)) { - break; - } - } - $814 = HEAP32[$szRight>>2]|0; - $815 = HEAP32[$i>>2]|0; - $816 = (($szNew) + ($815<<2)|0); - HEAP32[$816>>2] = $814; - $817 = HEAP32[$szLeft>>2]|0; - $818 = HEAP32[$i>>2]|0; - $819 = (($818) - 1)|0; - $820 = (($szNew) + ($819<<2)|0); - HEAP32[$820>>2] = $817; - $821 = HEAP32[$i>>2]|0; - $822 = (($821) - 1)|0; - $823 = (($cntNew) + ($822<<2)|0); - $824 = HEAP32[$823>>2]|0; - $825 = HEAP32[$i>>2]|0; - $826 = ($825|0)>(1); - if ($826) { - $827 = HEAP32[$i>>2]|0; - $828 = (($827) - 2)|0; - $829 = (($cntNew) + ($828<<2)|0); - $830 = HEAP32[$829>>2]|0; - $832 = $830; - } else { - $832 = 0; - } - $831 = ($824|0)<=($832|0); - if ($831) { - label = 93; - break; - } - $834 = HEAP32[$i>>2]|0; - $835 = (($834) + -1)|0; - HEAP32[$i>>2] = $835; - } - if ((label|0) == 93) { - $833 = (_sqlite3CorruptError(65599)|0); - HEAP32[$rc>>2] = $833; - break; - } - $836 = HEAP32[$apOld>>2]|0; - $837 = ((($836)) + 56|0); - $838 = HEAP32[$837>>2]|0; - $839 = HEAP8[$838>>0]|0; - $840 = $839&255; - HEAP32[$pageFlags>>2] = $840; - HEAP32[$i>>2] = 0; - while(1) { - $841 = HEAP32[$i>>2]|0; - $842 = HEAP32[$k>>2]|0; - $843 = ($841|0)<($842|0); - if (!($843)) { - break; - } - $844 = HEAP32[$i>>2]|0; - $845 = HEAP32[$nOld>>2]|0; - $846 = ($844|0)<($845|0); - if ($846) { - $847 = HEAP32[$i>>2]|0; - $848 = (($apOld) + ($847<<2)|0); - $849 = HEAP32[$848>>2]|0; - $850 = HEAP32[$i>>2]|0; - $851 = (($apNew) + ($850<<2)|0); - HEAP32[$851>>2] = $849; - HEAP32[$pNew>>2] = $849; - $852 = HEAP32[$i>>2]|0; - $853 = (($apOld) + ($852<<2)|0); - HEAP32[$853>>2] = 0; - $854 = HEAP32[$pNew>>2]|0; - $855 = ((($854)) + 72|0); - $856 = HEAP32[$855>>2]|0; - $857 = (_sqlite3PagerWrite($856)|0); - HEAP32[$rc>>2] = $857; - $858 = HEAP32[$nNew>>2]|0; - $859 = (($858) + 1)|0; - HEAP32[$nNew>>2] = $859; - $860 = HEAP32[$rc>>2]|0; - $861 = ($860|0)!=(0); - if ($861) { - break L32; - } - } else { - $862 = HEAP32[$pBt>>2]|0; - $863 = HEAP32[$5>>2]|0; - $864 = ($863|0)!=(0); - $865 = HEAP32[$pgno>>2]|0; - $866 = $864 ? 1 : $865; - $867 = (_allocateBtreePage($862,$pNew,$pgno,$866,0)|0); - HEAP32[$rc>>2] = $867; - $868 = HEAP32[$rc>>2]|0; - $869 = ($868|0)!=(0); - if ($869) { - break L32; - } - $870 = HEAP32[$pNew>>2]|0; - $871 = HEAP32[$pageFlags>>2]|0; - _zeroPage($870,$871); - $872 = HEAP32[$pNew>>2]|0; - $873 = HEAP32[$i>>2]|0; - $874 = (($apNew) + ($873<<2)|0); - HEAP32[$874>>2] = $872; - $875 = HEAP32[$nNew>>2]|0; - $876 = (($875) + 1)|0; - HEAP32[$nNew>>2] = $876; - $877 = HEAP32[$b>>2]|0; - $878 = HEAP32[$i>>2]|0; - $879 = (($cntOld) + ($878<<2)|0); - HEAP32[$879>>2] = $877; - $880 = HEAP32[$pBt>>2]|0; - $881 = ((($880)) + 17|0); - $882 = HEAP8[$881>>0]|0; - $883 = ($882<<24>>24)!=(0); - if ($883) { - $884 = HEAP32[$pBt>>2]|0; - $885 = HEAP32[$pNew>>2]|0; - $886 = ((($885)) + 84|0); - $887 = HEAP32[$886>>2]|0; - $888 = HEAP32[$1>>2]|0; - $889 = ((($888)) + 84|0); - $890 = HEAP32[$889>>2]|0; - _ptrmapPut($884,$887,5,$890,$rc); - $891 = HEAP32[$rc>>2]|0; - $892 = ($891|0)!=(0); - if ($892) { - break L32; - } - } - } - $893 = HEAP32[$i>>2]|0; - $894 = (($893) + 1)|0; - HEAP32[$i>>2] = $894; - } - HEAP32[$i>>2] = 0; - L142: while(1) { - $895 = HEAP32[$i>>2]|0; - $896 = HEAP32[$nNew>>2]|0; - $897 = ($895|0)<($896|0); - if (!($897)) { - break; - } - $898 = HEAP32[$i>>2]|0; - $899 = (($apNew) + ($898<<2)|0); - $900 = HEAP32[$899>>2]|0; - $901 = ((($900)) + 84|0); - $902 = HEAP32[$901>>2]|0; - $903 = HEAP32[$i>>2]|0; - $904 = (($aPgno) + ($903<<2)|0); - HEAP32[$904>>2] = $902; - $905 = HEAP32[$i>>2]|0; - $906 = (($aPgOrder) + ($905<<2)|0); - HEAP32[$906>>2] = $902; - $907 = HEAP32[$i>>2]|0; - $908 = (($apNew) + ($907<<2)|0); - $909 = HEAP32[$908>>2]|0; - $910 = ((($909)) + 72|0); - $911 = HEAP32[$910>>2]|0; - $912 = ((($911)) + 24|0); - $913 = HEAP16[$912>>1]|0; - $914 = HEAP32[$i>>2]|0; - $915 = (($aPgFlags) + ($914<<1)|0); - HEAP16[$915>>1] = $913; - HEAP32[$j>>2] = 0; - while(1) { - $916 = HEAP32[$j>>2]|0; - $917 = HEAP32[$i>>2]|0; - $918 = ($916|0)<($917|0); - if (!($918)) { - break; - } - $919 = HEAP32[$j>>2]|0; - $920 = (($aPgno) + ($919<<2)|0); - $921 = HEAP32[$920>>2]|0; - $922 = HEAP32[$i>>2]|0; - $923 = (($aPgno) + ($922<<2)|0); - $924 = HEAP32[$923>>2]|0; - $925 = ($921|0)==($924|0); - if ($925) { - label = 108; - break L142; - } - $927 = HEAP32[$j>>2]|0; - $928 = (($927) + 1)|0; - HEAP32[$j>>2] = $928; - } - $929 = HEAP32[$i>>2]|0; - $930 = (($929) + 1)|0; - HEAP32[$i>>2] = $930; - } - if ((label|0) == 108) { - $926 = (_sqlite3CorruptError(65673)|0); - HEAP32[$rc>>2] = $926; - break; - } - HEAP32[$i>>2] = 0; - while(1) { - $931 = HEAP32[$i>>2]|0; - $932 = HEAP32[$nNew>>2]|0; - $933 = ($931|0)<($932|0); - if (!($933)) { - break; - } - HEAP32[$iBest>>2] = 0; - HEAP32[$j>>2] = 1; - while(1) { - $934 = HEAP32[$j>>2]|0; - $935 = HEAP32[$nNew>>2]|0; - $936 = ($934|0)<($935|0); - if (!($936)) { - break; - } - $937 = HEAP32[$j>>2]|0; - $938 = (($aPgOrder) + ($937<<2)|0); - $939 = HEAP32[$938>>2]|0; - $940 = HEAP32[$iBest>>2]|0; - $941 = (($aPgOrder) + ($940<<2)|0); - $942 = HEAP32[$941>>2]|0; - $943 = ($939>>>0)<($942>>>0); - if ($943) { - $944 = HEAP32[$j>>2]|0; - HEAP32[$iBest>>2] = $944; - } - $945 = HEAP32[$j>>2]|0; - $946 = (($945) + 1)|0; - HEAP32[$j>>2] = $946; - } - $947 = HEAP32[$iBest>>2]|0; - $948 = (($aPgOrder) + ($947<<2)|0); - $949 = HEAP32[$948>>2]|0; - HEAP32[$pgno>>2] = $949; - $950 = HEAP32[$iBest>>2]|0; - $951 = (($aPgOrder) + ($950<<2)|0); - HEAP32[$951>>2] = -1; - $952 = HEAP32[$iBest>>2]|0; - $953 = HEAP32[$i>>2]|0; - $954 = ($952|0)!=($953|0); - if ($954) { - $955 = HEAP32[$iBest>>2]|0; - $956 = HEAP32[$i>>2]|0; - $957 = ($955|0)>($956|0); - if ($957) { - $958 = HEAP32[$iBest>>2]|0; - $959 = (($apNew) + ($958<<2)|0); - $960 = HEAP32[$959>>2]|0; - $961 = ((($960)) + 72|0); - $962 = HEAP32[$961>>2]|0; - $963 = HEAP32[$pBt>>2]|0; - $964 = ((($963)) + 44|0); - $965 = HEAP32[$964>>2]|0; - $966 = HEAP32[$iBest>>2]|0; - $967 = (($965) + ($966))|0; - $968 = (($967) + 1)|0; - _sqlite3PagerRekey($962,$968,0); - } - $969 = HEAP32[$i>>2]|0; - $970 = (($apNew) + ($969<<2)|0); - $971 = HEAP32[$970>>2]|0; - $972 = ((($971)) + 72|0); - $973 = HEAP32[$972>>2]|0; - $974 = HEAP32[$pgno>>2]|0; - $975 = HEAP32[$iBest>>2]|0; - $976 = (($aPgFlags) + ($975<<1)|0); - $977 = HEAP16[$976>>1]|0; - _sqlite3PagerRekey($973,$974,$977); - $978 = HEAP32[$pgno>>2]|0; - $979 = HEAP32[$i>>2]|0; - $980 = (($apNew) + ($979<<2)|0); - $981 = HEAP32[$980>>2]|0; - $982 = ((($981)) + 84|0); - HEAP32[$982>>2] = $978; - } - $983 = HEAP32[$i>>2]|0; - $984 = (($983) + 1)|0; - HEAP32[$i>>2] = $984; - } - $985 = HEAP32[$pRight>>2]|0; - $986 = HEAP32[$nNew>>2]|0; - $987 = (($986) - 1)|0; - $988 = (($apNew) + ($987<<2)|0); - $989 = HEAP32[$988>>2]|0; - $990 = ((($989)) + 84|0); - $991 = HEAP32[$990>>2]|0; - _sqlite3Put4byte($985,$991); - $992 = HEAP32[$pageFlags>>2]|0; - $993 = $992 & 8; - $994 = ($993|0)==(0); - if ($994) { - $995 = HEAP32[$nOld>>2]|0; - $996 = HEAP32[$nNew>>2]|0; - $997 = ($995|0)!=($996|0); - if ($997) { - $998 = HEAP32[$nOld>>2]|0; - $999 = (($998) - 1)|0; - $1000 = HEAP32[$nNew>>2]|0; - $1001 = HEAP32[$nOld>>2]|0; - $1002 = ($1000|0)>($1001|0); - $1003 = $1002 ? $apNew : $apOld; - $1004 = (($1003) + ($999<<2)|0); - $1005 = HEAP32[$1004>>2]|0; - HEAP32[$pOld2>>2] = $1005; - $1006 = HEAP32[$nNew>>2]|0; - $1007 = (($1006) - 1)|0; - $1008 = (($apNew) + ($1007<<2)|0); - $1009 = HEAP32[$1008>>2]|0; - $1010 = ((($1009)) + 56|0); - $1011 = HEAP32[$1010>>2]|0; - $1012 = ((($1011)) + 8|0); - $1013 = HEAP32[$pOld2>>2]|0; - $1014 = ((($1013)) + 56|0); - $1015 = HEAP32[$1014>>2]|0; - $1016 = ((($1015)) + 8|0); - ;HEAP8[$1012>>0]=HEAP8[$1016>>0]|0;HEAP8[$1012+1>>0]=HEAP8[$1016+1>>0]|0;HEAP8[$1012+2>>0]=HEAP8[$1016+2>>0]|0;HEAP8[$1012+3>>0]=HEAP8[$1016+3>>0]|0; - } - } - $1017 = HEAP32[$pBt>>2]|0; - $1018 = ((($1017)) + 17|0); - $1019 = HEAP8[$1018>>0]|0; - $1020 = ($1019<<24>>24)!=(0); - L174: do { - if ($1020) { - $1021 = HEAP32[$apNew>>2]|0; - HEAP32[$pNew3>>2] = $1021; - $1022 = HEAP32[$pNew3>>2]|0; - $1023 = ((($1022)) + 56|0); - $1024 = HEAP32[$1023>>2]|0; - HEAP32[$aOld>>2] = $1024; - $1025 = HEAP32[$pNew3>>2]|0; - $1026 = ((($1025)) + 18|0); - $1027 = HEAP16[$1026>>1]|0; - $1028 = $1027&65535; - $1029 = HEAP32[$pNew3>>2]|0; - $1030 = ((($1029)) + 1|0); - $1031 = HEAP8[$1030>>0]|0; - $1032 = $1031&255; - $1033 = (($1028) + ($1032))|0; - HEAP32[$cntOldNext>>2] = $1033; - $1034 = HEAP32[$pBt>>2]|0; - $1035 = ((($1034)) + 36|0); - $1036 = HEAP32[$1035>>2]|0; - HEAP32[$usableSize>>2] = $1036; - HEAP32[$iNew>>2] = 0; - HEAP32[$iOld>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $1037 = HEAP32[$i>>2]|0; - $1038 = HEAP32[$b>>2]|0; - $1039 = ($1037|0)<($1038|0); - if (!($1039)) { - break L174; - } - $1040 = HEAP32[$i>>2]|0; - $1041 = ((($b)) + 8|0); - $1042 = HEAP32[$1041>>2]|0; - $1043 = (($1042) + ($1040<<2)|0); - $1044 = HEAP32[$1043>>2]|0; - HEAP32[$pCell>>2] = $1044; - $1045 = HEAP32[$i>>2]|0; - $1046 = HEAP32[$cntOldNext>>2]|0; - $1047 = ($1045|0)==($1046|0); - if ($1047) { - $1048 = HEAP32[$iOld>>2]|0; - $1049 = (($1048) + 1)|0; - HEAP32[$iOld>>2] = $1049; - $1050 = HEAP32[$nNew>>2]|0; - $1051 = ($1049|0)<($1050|0); - $1052 = HEAP32[$iOld>>2]|0; - if ($1051) { - $1053 = (($apNew) + ($1052<<2)|0); - $1054 = HEAP32[$1053>>2]|0; - $1057 = $1054; - } else { - $1055 = (($apOld) + ($1052<<2)|0); - $1056 = HEAP32[$1055>>2]|0; - $1057 = $1056; - } - HEAP32[$pOld4>>2] = $1057; - $1058 = HEAP32[$pOld4>>2]|0; - $1059 = ((($1058)) + 18|0); - $1060 = HEAP16[$1059>>1]|0; - $1061 = $1060&65535; - $1062 = HEAP32[$pOld4>>2]|0; - $1063 = ((($1062)) + 1|0); - $1064 = HEAP8[$1063>>0]|0; - $1065 = $1064&255; - $1066 = (($1061) + ($1065))|0; - $1067 = HEAP32[$leafData>>2]|0; - $1068 = ($1067|0)!=(0); - $1069 = $1068 ^ 1; - $1070 = $1069&1; - $1071 = (($1066) + ($1070))|0; - $1072 = HEAP32[$cntOldNext>>2]|0; - $1073 = (($1072) + ($1071))|0; - HEAP32[$cntOldNext>>2] = $1073; - $1074 = HEAP32[$pOld4>>2]|0; - $1075 = ((($1074)) + 56|0); - $1076 = HEAP32[$1075>>2]|0; - HEAP32[$aOld>>2] = $1076; - } - $1077 = HEAP32[$i>>2]|0; - $1078 = HEAP32[$iNew>>2]|0; - $1079 = (($cntNew) + ($1078<<2)|0); - $1080 = HEAP32[$1079>>2]|0; - $1081 = ($1077|0)==($1080|0); - if ($1081) { - $1082 = HEAP32[$iNew>>2]|0; - $1083 = (($1082) + 1)|0; - HEAP32[$iNew>>2] = $1083; - $1084 = (($apNew) + ($1083<<2)|0); - $1085 = HEAP32[$1084>>2]|0; - HEAP32[$pNew3>>2] = $1085; - $1086 = HEAP32[$leafData>>2]|0; - $1087 = ($1086|0)!=(0); - if ($1087) { - label = 136; - } - } else { - label = 136; - } - do { - if ((label|0) == 136) { - label = 0; - $1088 = HEAP32[$iOld>>2]|0; - $1089 = HEAP32[$nNew>>2]|0; - $1090 = ($1088|0)>=($1089|0); - if (!($1090)) { - $1091 = HEAP32[$pNew3>>2]|0; - $1092 = ((($1091)) + 84|0); - $1093 = HEAP32[$1092>>2]|0; - $1094 = HEAP32[$iOld>>2]|0; - $1095 = (($aPgno) + ($1094<<2)|0); - $1096 = HEAP32[$1095>>2]|0; - $1097 = ($1093|0)!=($1096|0); - if (!($1097)) { - $1098 = HEAP32[$pCell>>2]|0; - $1099 = $1098; - $1100 = HEAP32[$aOld>>2]|0; - $1101 = $1100; - $1102 = ($1099>>>0)>=($1101>>>0); - if ($1102) { - $1103 = HEAP32[$pCell>>2]|0; - $1104 = $1103; - $1105 = HEAP32[$usableSize>>2]|0; - $1106 = HEAP32[$aOld>>2]|0; - $1107 = (($1106) + ($1105)|0); - $1108 = $1107; - $1109 = ($1104>>>0)<($1108>>>0); - if ($1109) { - break; - } - } - } - } - $1110 = HEAP16[$leafCorrection>>1]|0; - $1111 = ($1110<<16>>16)!=(0); - if (!($1111)) { - $1112 = HEAP32[$pBt>>2]|0; - $1113 = HEAP32[$pCell>>2]|0; - $1114 = (_sqlite3Get4byte($1113)|0); - $1115 = HEAP32[$pNew3>>2]|0; - $1116 = ((($1115)) + 84|0); - $1117 = HEAP32[$1116>>2]|0; - _ptrmapPut($1112,$1114,5,$1117,$rc); - } - $1118 = HEAP32[$i>>2]|0; - $1119 = (_cachedCellSize($b,$1118)|0); - $1120 = $1119&65535; - $1121 = HEAP32[$pNew3>>2]|0; - $1122 = ((($1121)) + 12|0); - $1123 = HEAP16[$1122>>1]|0; - $1124 = $1123&65535; - $1125 = ($1120|0)>($1124|0); - if ($1125) { - $1126 = HEAP32[$pNew3>>2]|0; - $1127 = HEAP32[$pCell>>2]|0; - _ptrmapPutOvflPtr($1126,$1127,$rc); - } - $1128 = HEAP32[$rc>>2]|0; - $1129 = ($1128|0)!=(0); - if ($1129) { - break L32; - } - } - } while(0); - $1130 = HEAP32[$i>>2]|0; - $1131 = (($1130) + 1)|0; - HEAP32[$i>>2] = $1131; - } - } - } while(0); - HEAP32[$i>>2] = 0; - while(1) { - $1132 = HEAP32[$i>>2]|0; - $1133 = HEAP32[$nNew>>2]|0; - $1134 = (($1133) - 1)|0; - $1135 = ($1132|0)<($1134|0); - if (!($1135)) { - break; - } - $1136 = HEAP32[$i>>2]|0; - $1137 = (($apNew) + ($1136<<2)|0); - $1138 = HEAP32[$1137>>2]|0; - HEAP32[$pNew8>>2] = $1138; - $1139 = HEAP32[$i>>2]|0; - $1140 = (($cntNew) + ($1139<<2)|0); - $1141 = HEAP32[$1140>>2]|0; - HEAP32[$j>>2] = $1141; - $1142 = HEAP32[$j>>2]|0; - $1143 = ((($b)) + 8|0); - $1144 = HEAP32[$1143>>2]|0; - $1145 = (($1144) + ($1142<<2)|0); - $1146 = HEAP32[$1145>>2]|0; - HEAP32[$pCell5>>2] = $1146; - $1147 = HEAP32[$j>>2]|0; - $1148 = ((($b)) + 12|0); - $1149 = HEAP32[$1148>>2]|0; - $1150 = (($1149) + ($1147<<1)|0); - $1151 = HEAP16[$1150>>1]|0; - $1152 = $1151&65535; - $1153 = HEAP16[$leafCorrection>>1]|0; - $1154 = $1153&65535; - $1155 = (($1152) + ($1154))|0; - HEAP32[$sz7>>2] = $1155; - $1156 = HEAP32[$iOvflSpace>>2]|0; - $1157 = HEAP32[$3>>2]|0; - $1158 = (($1157) + ($1156)|0); - HEAP32[$pTemp6>>2] = $1158; - $1159 = HEAP32[$pNew8>>2]|0; - $1160 = ((($1159)) + 4|0); - $1161 = HEAP8[$1160>>0]|0; - $1162 = ($1161<<24>>24)!=(0); - do { - if ($1162) { - $1168 = HEAP32[$leafData>>2]|0; - $1169 = ($1168|0)!=(0); - if ($1169) { - $1170 = HEAP32[$j>>2]|0; - $1171 = (($1170) + -1)|0; - HEAP32[$j>>2] = $1171; - $1172 = HEAP32[$pNew8>>2]|0; - $1173 = ((($1172)) + 80|0); - $1174 = HEAP32[$1173>>2]|0; - $1175 = HEAP32[$pNew8>>2]|0; - $1176 = HEAP32[$j>>2]|0; - $1177 = ((($b)) + 8|0); - $1178 = HEAP32[$1177>>2]|0; - $1179 = (($1178) + ($1176<<2)|0); - $1180 = HEAP32[$1179>>2]|0; - FUNCTION_TABLE_viii[$1174 & 255]($1175,$1180,$info); - $1181 = HEAP32[$pTemp6>>2]|0; - HEAP32[$pCell5>>2] = $1181; - $1182 = HEAP32[$pCell5>>2]|0; - $1183 = ((($1182)) + 4|0); - $1184 = $info; - $1185 = $1184; - $1186 = HEAP32[$1185>>2]|0; - $1187 = (($1184) + 4)|0; - $1188 = $1187; - $1189 = HEAP32[$1188>>2]|0; - $1190 = (_sqlite3PutVarint($1183,$1186,$1189)|0); - $1191 = (4 + ($1190))|0; - HEAP32[$sz7>>2] = $1191; - HEAP32[$pTemp6>>2] = 0; - break; - } - $1192 = HEAP32[$pCell5>>2]|0; - $1193 = ((($1192)) + -4|0); - HEAP32[$pCell5>>2] = $1193; - $1194 = HEAP32[$j>>2]|0; - $1195 = ((($b)) + 12|0); - $1196 = HEAP32[$1195>>2]|0; - $1197 = (($1196) + ($1194<<1)|0); - $1198 = HEAP16[$1197>>1]|0; - $1199 = $1198&65535; - $1200 = ($1199|0)==(4); - if ($1200) { - $1201 = HEAP32[$1>>2]|0; - $1202 = ((($1201)) + 76|0); - $1203 = HEAP32[$1202>>2]|0; - $1204 = HEAP32[$1>>2]|0; - $1205 = HEAP32[$pCell5>>2]|0; - $1206 = (FUNCTION_TABLE_iii[$1203 & 255]($1204,$1205)|0); - $1207 = $1206&65535; - HEAP32[$sz7>>2] = $1207; - } - } else { - $1163 = HEAP32[$pNew8>>2]|0; - $1164 = ((($1163)) + 56|0); - $1165 = HEAP32[$1164>>2]|0; - $1166 = ((($1165)) + 8|0); - $1167 = HEAP32[$pCell5>>2]|0; - ;HEAP8[$1166>>0]=HEAP8[$1167>>0]|0;HEAP8[$1166+1>>0]=HEAP8[$1167+1>>0]|0;HEAP8[$1166+2>>0]=HEAP8[$1167+2>>0]|0;HEAP8[$1166+3>>0]=HEAP8[$1167+3>>0]|0; - } - } while(0); - $1208 = HEAP32[$sz7>>2]|0; - $1209 = HEAP32[$iOvflSpace>>2]|0; - $1210 = (($1209) + ($1208))|0; - HEAP32[$iOvflSpace>>2] = $1210; - $1211 = HEAP32[$1>>2]|0; - $1212 = HEAP32[$nxDiv>>2]|0; - $1213 = HEAP32[$i>>2]|0; - $1214 = (($1212) + ($1213))|0; - $1215 = HEAP32[$pCell5>>2]|0; - $1216 = HEAP32[$sz7>>2]|0; - $1217 = HEAP32[$pTemp6>>2]|0; - $1218 = HEAP32[$pNew8>>2]|0; - $1219 = ((($1218)) + 84|0); - $1220 = HEAP32[$1219>>2]|0; - _insertCell($1211,$1214,$1215,$1216,$1217,$1220,$rc); - $1221 = HEAP32[$rc>>2]|0; - $1222 = ($1221|0)!=(0); - if ($1222) { - break L32; - } - $1223 = HEAP32[$i>>2]|0; - $1224 = (($1223) + 1)|0; - HEAP32[$i>>2] = $1224; - } - $1225 = HEAP32[$nNew>>2]|0; - $1226 = (1 - ($1225))|0; - HEAP32[$i>>2] = $1226; - while(1) { - $1227 = HEAP32[$i>>2]|0; - $1228 = HEAP32[$nNew>>2]|0; - $1229 = ($1227|0)<($1228|0); - if (!($1229)) { - break; - } - $1230 = HEAP32[$i>>2]|0; - $1231 = ($1230|0)<(0); - $1232 = HEAP32[$i>>2]|0; - $1233 = (0 - ($1232))|0; - $1234 = $1231 ? $1233 : $1232; - HEAP32[$iPg>>2] = $1234; - $1235 = HEAP32[$iPg>>2]|0; - $1236 = (($abDone) + ($1235)|0); - $1237 = HEAP8[$1236>>0]|0; - $1238 = ($1237<<24>>24)!=(0); - do { - if (!($1238)) { - $1239 = HEAP32[$i>>2]|0; - $1240 = ($1239|0)>=(0); - if (!($1240)) { - $1241 = HEAP32[$iPg>>2]|0; - $1242 = (($1241) - 1)|0; - $1243 = (($cntOld) + ($1242<<2)|0); - $1244 = HEAP32[$1243>>2]|0; - $1245 = HEAP32[$iPg>>2]|0; - $1246 = (($1245) - 1)|0; - $1247 = (($cntNew) + ($1246<<2)|0); - $1248 = HEAP32[$1247>>2]|0; - $1249 = ($1244|0)>=($1248|0); - if (!($1249)) { - break; - } - } - $1250 = HEAP32[$iPg>>2]|0; - $1251 = ($1250|0)==(0); - if ($1251) { - HEAP32[$iOld10>>2] = 0; - HEAP32[$iNew9>>2] = 0; - $1252 = HEAP32[$cntNew>>2]|0; - HEAP32[$nNewCell>>2] = $1252; - } else { - $1253 = HEAP32[$iPg>>2]|0; - $1254 = HEAP32[$nOld>>2]|0; - $1255 = ($1253|0)<($1254|0); - if ($1255) { - $1256 = HEAP32[$iPg>>2]|0; - $1257 = (($1256) - 1)|0; - $1258 = (($cntOld) + ($1257<<2)|0); - $1259 = HEAP32[$1258>>2]|0; - $1260 = HEAP32[$leafData>>2]|0; - $1261 = ($1260|0)!=(0); - $1262 = $1261 ^ 1; - $1263 = $1262&1; - $1264 = (($1259) + ($1263))|0; - $1266 = $1264; - } else { - $1265 = HEAP32[$b>>2]|0; - $1266 = $1265; - } - HEAP32[$iOld10>>2] = $1266; - $1267 = HEAP32[$iPg>>2]|0; - $1268 = (($1267) - 1)|0; - $1269 = (($cntNew) + ($1268<<2)|0); - $1270 = HEAP32[$1269>>2]|0; - $1271 = HEAP32[$leafData>>2]|0; - $1272 = ($1271|0)!=(0); - $1273 = $1272 ^ 1; - $1274 = $1273&1; - $1275 = (($1270) + ($1274))|0; - HEAP32[$iNew9>>2] = $1275; - $1276 = HEAP32[$iPg>>2]|0; - $1277 = (($cntNew) + ($1276<<2)|0); - $1278 = HEAP32[$1277>>2]|0; - $1279 = HEAP32[$iNew9>>2]|0; - $1280 = (($1278) - ($1279))|0; - HEAP32[$nNewCell>>2] = $1280; - } - $1281 = HEAP32[$iPg>>2]|0; - $1282 = (($apNew) + ($1281<<2)|0); - $1283 = HEAP32[$1282>>2]|0; - $1284 = HEAP32[$iOld10>>2]|0; - $1285 = HEAP32[$iNew9>>2]|0; - $1286 = HEAP32[$nNewCell>>2]|0; - $1287 = (_editPage($1283,$1284,$1285,$1286,$b)|0); - HEAP32[$rc>>2] = $1287; - $1288 = HEAP32[$rc>>2]|0; - $1289 = ($1288|0)!=(0); - if ($1289) { - break L32; - } - $1290 = HEAP32[$iPg>>2]|0; - $1291 = (($abDone) + ($1290)|0); - $1292 = HEAP8[$1291>>0]|0; - $1293 = (($1292) + 1)<<24>>24; - HEAP8[$1291>>0] = $1293; - $1294 = HEAP32[$usableSpace>>2]|0; - $1295 = HEAP32[$iPg>>2]|0; - $1296 = (($szNew) + ($1295<<2)|0); - $1297 = HEAP32[$1296>>2]|0; - $1298 = (($1294) - ($1297))|0; - $1299 = $1298&65535; - $1300 = HEAP32[$iPg>>2]|0; - $1301 = (($apNew) + ($1300<<2)|0); - $1302 = HEAP32[$1301>>2]|0; - $1303 = ((($1302)) + 16|0); - HEAP16[$1303>>1] = $1299; - } - } while(0); - $1304 = HEAP32[$i>>2]|0; - $1305 = (($1304) + 1)|0; - HEAP32[$i>>2] = $1305; - } - $1306 = HEAP32[$4>>2]|0; - $1307 = ($1306|0)!=(0); - if ($1307) { - $1308 = HEAP32[$1>>2]|0; - $1309 = ((($1308)) + 18|0); - $1310 = HEAP16[$1309>>1]|0; - $1311 = $1310&65535; - $1312 = ($1311|0)==(0); - if ($1312) { - $1313 = HEAP32[$1>>2]|0; - $1314 = ((($1313)) + 5|0); - $1315 = HEAP8[$1314>>0]|0; - $1316 = $1315&255; - $1317 = HEAP32[$apNew>>2]|0; - $1318 = ((($1317)) + 16|0); - $1319 = HEAP16[$1318>>1]|0; - $1320 = $1319&65535; - $1321 = ($1316|0)<=($1320|0); - if ($1321) { - $1322 = HEAP32[$apNew>>2]|0; - $1323 = (_defragmentPage($1322)|0); - HEAP32[$rc>>2] = $1323; - $1324 = HEAP32[$apNew>>2]|0; - $1325 = HEAP32[$1>>2]|0; - _copyNodeContent($1324,$1325,$rc); - $1326 = HEAP32[$apNew>>2]|0; - _freePage($1326,$rc); - } else { - label = 174; - } - } else { - label = 174; - } - } else { - label = 174; - } - L239: do { - if ((label|0) == 174) { - $1327 = HEAP32[$pBt>>2]|0; - $1328 = ((($1327)) + 17|0); - $1329 = HEAP8[$1328>>0]|0; - $1330 = $1329&255; - $1331 = ($1330|0)==(0); - $1332 = HEAP16[$leafCorrection>>1]|0; - $1333 = ($1332<<16>>16)!=(0); - $or$cond3 = $1331 | $1333; - if (!($or$cond3)) { - HEAP32[$i>>2] = 0; - while(1) { - $1334 = HEAP32[$i>>2]|0; - $1335 = HEAP32[$nNew>>2]|0; - $1336 = ($1334|0)<($1335|0); - if (!($1336)) { - break L239; - } - $1337 = HEAP32[$i>>2]|0; - $1338 = (($apNew) + ($1337<<2)|0); - $1339 = HEAP32[$1338>>2]|0; - $1340 = ((($1339)) + 56|0); - $1341 = HEAP32[$1340>>2]|0; - $1342 = ((($1341)) + 8|0); - $1343 = (_sqlite3Get4byte($1342)|0); - HEAP32[$key>>2] = $1343; - $1344 = HEAP32[$pBt>>2]|0; - $1345 = HEAP32[$key>>2]|0; - $1346 = HEAP32[$i>>2]|0; - $1347 = (($apNew) + ($1346<<2)|0); - $1348 = HEAP32[$1347>>2]|0; - $1349 = ((($1348)) + 84|0); - $1350 = HEAP32[$1349>>2]|0; - _ptrmapPut($1344,$1345,5,$1350,$rc); - $1351 = HEAP32[$i>>2]|0; - $1352 = (($1351) + 1)|0; - HEAP32[$i>>2] = $1352; - } - } - } - } while(0); - $1353 = HEAP32[$nNew>>2]|0; - HEAP32[$i>>2] = $1353; - while(1) { - $1354 = HEAP32[$i>>2]|0; - $1355 = HEAP32[$nOld>>2]|0; - $1356 = ($1354|0)<($1355|0); - if (!($1356)) { - break L32; - } - $1357 = HEAP32[$i>>2]|0; - $1358 = (($apOld) + ($1357<<2)|0); - $1359 = HEAP32[$1358>>2]|0; - _freePage($1359,$rc); - $1360 = HEAP32[$i>>2]|0; - $1361 = (($1360) + 1)|0; - HEAP32[$i>>2] = $1361; + $176 = HEAP32[$13>>2]|0; + $177 = ($176|0)==(5); + $178 = HEAP32[$8>>2]|0; + $179 = ((($178)) + 20|0); + $180 = HEAP32[$179>>2]|0; + if ($177) { + $181 = $16; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = (($181) + 4)|0; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + $187 = (_sqlite3Fts5StorageDelete($180,$183,$186,0)|0); + HEAP32[$11>>2] = $187; + $188 = HEAP32[$11>>2]|0; + $189 = ($188|0)==(0); + if ($189) { + $190 = HEAP32[$8>>2]|0; + $191 = ((($190)) + 20|0); + $192 = HEAP32[$191>>2]|0; + $193 = $17; + $194 = $193; + $195 = HEAP32[$194>>2]|0; + $196 = (($193) + 4)|0; + $197 = $196; + $198 = HEAP32[$197>>2]|0; + $199 = (_sqlite3Fts5StorageDelete($192,$195,$198,0)|0); + HEAP32[$11>>2] = $199; } + $200 = HEAP32[$8>>2]|0; + $201 = HEAP32[$6>>2]|0; + $202 = HEAP32[$7>>2]|0; + _fts5StorageInsert($11,$200,$201,$202); + break; + } + $203 = HEAP32[$6>>2]|0; + $204 = HEAP32[$7>>2]|0; + $205 = (_sqlite3Fts5StorageContentInsert($180,$203,$204)|0); + HEAP32[$11>>2] = $205; + $206 = HEAP32[$11>>2]|0; + $207 = ($206|0)==(0); + if ($207) { + $208 = HEAP32[$8>>2]|0; + $209 = ((($208)) + 20|0); + $210 = HEAP32[$209>>2]|0; + $211 = $16; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = (($211) + 4)|0; + $215 = $214; + $216 = HEAP32[$215>>2]|0; + $217 = (_sqlite3Fts5StorageDelete($210,$213,$216,0)|0); + HEAP32[$11>>2] = $217; + } + $218 = HEAP32[$11>>2]|0; + $219 = ($218|0)==(0); + if ($219) { + $220 = HEAP32[$8>>2]|0; + $221 = ((($220)) + 20|0); + $222 = HEAP32[$221>>2]|0; + $223 = HEAP32[$6>>2]|0; + $224 = HEAP32[$7>>2]|0; + $225 = $224; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = (($225) + 4)|0; + $229 = $228; + $230 = HEAP32[$229>>2]|0; + $231 = (_sqlite3Fts5StorageIndexInsert($222,$223,$227,$230)|0); + HEAP32[$11>>2] = $231; } } } while(0); - $1362 = ((($b)) + 8|0); - $1363 = HEAP32[$1362>>2]|0; - _sqlite3ScratchFree($1363); - HEAP32[$i>>2] = 0; - while(1) { - $1364 = HEAP32[$i>>2]|0; - $1365 = HEAP32[$nOld>>2]|0; - $1366 = ($1364|0)<($1365|0); - if (!($1366)) { - break; - } - $1367 = HEAP32[$i>>2]|0; - $1368 = (($apOld) + ($1367<<2)|0); - $1369 = HEAP32[$1368>>2]|0; - _releasePage($1369); - $1370 = HEAP32[$i>>2]|0; - $1371 = (($1370) + 1)|0; - HEAP32[$i>>2] = $1371; - } - HEAP32[$i>>2] = 0; - while(1) { - $1372 = HEAP32[$i>>2]|0; - $1373 = HEAP32[$nNew>>2]|0; - $1374 = ($1372|0)<($1373|0); - if (!($1374)) { - break; - } - $1375 = HEAP32[$i>>2]|0; - $1376 = (($apNew) + ($1375<<2)|0); - $1377 = HEAP32[$1376>>2]|0; - _releasePage($1377); - $1378 = HEAP32[$i>>2]|0; - $1379 = (($1378) + 1)|0; - HEAP32[$i>>2] = $1379; - } - $1380 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $1380; - $1381 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1381|0); -} -function _cachedCellSize($p,$N) { - $p = $p|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + $245 = HEAP32[$8>>2]|0; + $246 = ((($245)) + 12|0); + $247 = HEAP32[$246>>2]|0; + $248 = ((($247)) + 96|0); + HEAP32[$248>>2] = 0; + $249 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($249|0); +} +function _fts5BeginMethod($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + (_fts5NewTransaction($2)|0); + STACKTOP = sp;return 0; +} +function _fts5SyncMethod($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $N; - $3 = HEAP32[$2>>2]|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($3<<1)|0); - $8 = HEAP16[$7>>1]|0; - $9 = ($8<<16>>16)!=(0); - if ($9) { - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($10<<1)|0); - $15 = HEAP16[$14>>1]|0; - HEAP16[$0>>1] = $15; - $19 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($19|0); + HEAP32[$3>>2] = $4; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 96|0); + HEAP32[$10>>2] = $6; + $11 = HEAP32[$3>>2]|0; + _fts5TripCursors($11); + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3Fts5StorageSync($14,1)|0); + HEAP32[$2>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 96|0); + HEAP32[$19>>2] = 0; + $20 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($20|0); +} +function _fts5CommitMethod($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + STACKTOP = sp;return 0; +} +function _fts5RollbackMethod($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + HEAP32[$3>>2] = $4; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3Fts5StorageRollback($7)|0); + HEAP32[$2>>2] = $8; + $9 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _fts5FindFunctionMethod($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + $13 = HEAP32[$6>>2]|0; + HEAP32[$11>>2] = $13; + $14 = HEAP32[$11>>2]|0; + $15 = HEAP32[$8>>2]|0; + $16 = (_fts5FindAuxiliary($14,$15)|0); + HEAP32[$12>>2] = $16; + $17 = HEAP32[$12>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$9>>2]|0; + HEAP32[$19>>2] = 243; + $20 = HEAP32[$12>>2]|0; + $21 = HEAP32[$10>>2]|0; + HEAP32[$21>>2] = $20; + HEAP32[$5>>2] = 1; + $22 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($22|0); } else { - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = (_computeCellSize($16,$17)|0); - HEAP16[$0>>1] = $18; - $19 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($19|0); + HEAP32[$5>>2] = 0; + $22 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($22|0); } return (0)|0; } -function _sqlite3PagerRekey($pPg,$iNew,$flags) { - $pPg = $pPg|0; - $iNew = $iNew|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _fts5RenameMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 4|0; - $1 = sp; $2 = sp + 8|0; - HEAP32[$0>>2] = $pPg; - HEAP32[$1>>2] = $iNew; - HEAP16[$2>>1] = $flags; - $3 = HEAP16[$2>>1]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 24|0); - HEAP16[$5>>1] = $3; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - _sqlite3PcacheMove($6,$7); - STACKTOP = sp;return; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + $7 = ((($6)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (_sqlite3Fts5StorageRename($8,$9)|0); + STACKTOP = sp;return ($10|0); } -function _editPage($pPg,$iOld,$iNew,$nNew,$pCArray) { - $pPg = $pPg|0; - $iOld = $iOld|0; - $iNew = $iNew|0; - $nNew = $nNew|0; - $pCArray = $pCArray|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $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, $aData = 0; - var $hdr = 0, $i = 0, $iCell = 0, $iNewEnd = 0, $iOldEnd = 0, $nAdd = 0, $nCell = 0, $nShift = 0, $pBegin = 0, $pCellptr = 0, $pData = 0, label = 0, sp = 0; +function _fts5SavepointMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 80|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $3 = sp + 56|0; - $4 = sp + 52|0; - $5 = sp + 48|0; - $aData = sp + 44|0; - $hdr = sp + 40|0; - $pBegin = sp + 36|0; - $nCell = sp + 32|0; - $pData = sp + 28|0; - $pCellptr = sp + 24|0; - $i = sp + 20|0; - $iOldEnd = sp + 16|0; - $iNewEnd = sp + 12|0; - $nShift = sp + 8|0; - $nAdd = sp + 4|0; - $iCell = sp; - HEAP32[$1>>2] = $pPg; - HEAP32[$2>>2] = $iOld; - HEAP32[$3>>2] = $iNew; - HEAP32[$4>>2] = $nNew; - HEAP32[$5>>2] = $pCArray; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 56|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$aData>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 5|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - HEAP32[$hdr>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = $13<<1; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 64|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($14)|0); - HEAP32[$pBegin>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 18|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21&65535; - HEAP32[$nCell>>2] = $22; - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 18|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26&65535; - $28 = (($23) + ($27))|0; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = (($28) + ($32))|0; - HEAP32[$iOldEnd>>2] = $33; - $34 = HEAP32[$3>>2]|0; - $35 = HEAP32[$4>>2]|0; - $36 = (($34) + ($35))|0; - HEAP32[$iNewEnd>>2] = $36; - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$3>>2]|0; - $39 = ($37|0)<($38|0); - if ($39) { - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$2>>2]|0; - $42 = HEAP32[$3>>2]|0; - $43 = HEAP32[$2>>2]|0; - $44 = (($42) - ($43))|0; - $45 = HEAP32[$5>>2]|0; - $46 = (_pageFreeArray($40,$41,$44,$45)|0); - HEAP32[$nShift>>2] = $46; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 64|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$nShift>>2]|0; - $51 = $50<<1; - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 64|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($51)|0); - $56 = HEAP32[$nCell>>2]|0; - $57 = $56<<1; - _memmove(($49|0),($55|0),($57|0))|0; - $58 = HEAP32[$nShift>>2]|0; - $59 = HEAP32[$nCell>>2]|0; - $60 = (($59) - ($58))|0; - HEAP32[$nCell>>2] = $60; - } - $61 = HEAP32[$iNewEnd>>2]|0; - $62 = HEAP32[$iOldEnd>>2]|0; - $63 = ($61|0)<($62|0); - if ($63) { - $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[$iNewEnd>>2]|0; - $66 = HEAP32[$iOldEnd>>2]|0; - $67 = HEAP32[$iNewEnd>>2]|0; - $68 = (($66) - ($67))|0; - $69 = HEAP32[$5>>2]|0; - $70 = (_pageFreeArray($64,$65,$68,$69)|0); - $71 = HEAP32[$nCell>>2]|0; - $72 = (($71) - ($70))|0; - HEAP32[$nCell>>2] = $72; - } - $73 = HEAP32[$hdr>>2]|0; - $74 = (($73) + 5)|0; - $75 = HEAP32[$aData>>2]|0; - $76 = (($75) + ($74)|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = $78 << 8; - $80 = HEAP32[$hdr>>2]|0; - $81 = (($80) + 5)|0; - $82 = HEAP32[$aData>>2]|0; - $83 = (($82) + ($81)|0); - $84 = ((($83)) + 1|0); - $85 = HEAP8[$84>>0]|0; - $86 = $85&255; - $87 = $79 | $86; - $88 = (($87) - 1)|0; - $89 = $88 & 65535; - $90 = (($89) + 1)|0; - $91 = HEAP32[$aData>>2]|0; - $92 = (($91) + ($90)|0); - HEAP32[$pData>>2] = $92; - $93 = HEAP32[$pData>>2]|0; - $94 = HEAP32[$pBegin>>2]|0; - $95 = ($93>>>0)<($94>>>0); - L7: do { - if (!($95)) { - $96 = HEAP32[$3>>2]|0; - $97 = HEAP32[$2>>2]|0; - $98 = ($96|0)<($97|0); - if ($98) { - $99 = HEAP32[$4>>2]|0; - $100 = HEAP32[$2>>2]|0; - $101 = HEAP32[$3>>2]|0; - $102 = (($100) - ($101))|0; - $103 = ($99|0)<($102|0); - if ($103) { - $104 = HEAP32[$4>>2]|0; - $108 = $104; - } else { - $105 = HEAP32[$2>>2]|0; - $106 = HEAP32[$3>>2]|0; - $107 = (($105) - ($106))|0; - $108 = $107; - } - HEAP32[$nAdd>>2] = $108; - $109 = HEAP32[$1>>2]|0; - $110 = ((($109)) + 64|0); - $111 = HEAP32[$110>>2]|0; - HEAP32[$pCellptr>>2] = $111; - $112 = HEAP32[$nAdd>>2]|0; - $113 = $112<<1; - $114 = HEAP32[$pCellptr>>2]|0; - $115 = (($114) + ($113)|0); - $116 = HEAP32[$pCellptr>>2]|0; - $117 = HEAP32[$nCell>>2]|0; - $118 = $117<<1; - _memmove(($115|0),($116|0),($118|0))|0; - $119 = HEAP32[$1>>2]|0; - $120 = HEAP32[$pBegin>>2]|0; - $121 = HEAP32[$pCellptr>>2]|0; - $122 = HEAP32[$3>>2]|0; - $123 = HEAP32[$nAdd>>2]|0; - $124 = HEAP32[$5>>2]|0; - $125 = (_pageInsertArray($119,$120,$pData,$121,$122,$123,$124)|0); - $126 = ($125|0)!=(0); - if ($126) { - break; - } - $127 = HEAP32[$nAdd>>2]|0; - $128 = HEAP32[$nCell>>2]|0; - $129 = (($128) + ($127))|0; - HEAP32[$nCell>>2] = $129; - } - HEAP32[$i>>2] = 0; - while(1) { - $130 = HEAP32[$i>>2]|0; - $131 = HEAP32[$1>>2]|0; - $132 = ((($131)) + 1|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = ($130|0)<($134|0); - if (!($135)) { - break; - } - $136 = HEAP32[$2>>2]|0; - $137 = HEAP32[$i>>2]|0; - $138 = HEAP32[$1>>2]|0; - $139 = ((($138)) + 22|0); - $140 = (($139) + ($137<<1)|0); - $141 = HEAP16[$140>>1]|0; - $142 = $141&65535; - $143 = (($136) + ($142))|0; - $144 = HEAP32[$3>>2]|0; - $145 = (($143) - ($144))|0; - HEAP32[$iCell>>2] = $145; - $146 = HEAP32[$iCell>>2]|0; - $147 = ($146|0)>=(0); - if ($147) { - $148 = HEAP32[$iCell>>2]|0; - $149 = HEAP32[$4>>2]|0; - $150 = ($148|0)<($149|0); - if ($150) { - $151 = HEAP32[$iCell>>2]|0; - $152 = $151<<1; - $153 = HEAP32[$1>>2]|0; - $154 = ((($153)) + 64|0); - $155 = HEAP32[$154>>2]|0; - $156 = (($155) + ($152)|0); - HEAP32[$pCellptr>>2] = $156; - $157 = HEAP32[$pCellptr>>2]|0; - $158 = ((($157)) + 2|0); - $159 = HEAP32[$pCellptr>>2]|0; - $160 = HEAP32[$nCell>>2]|0; - $161 = HEAP32[$iCell>>2]|0; - $162 = (($160) - ($161))|0; - $163 = $162<<1; - _memmove(($158|0),($159|0),($163|0))|0; - $164 = HEAP32[$nCell>>2]|0; - $165 = (($164) + 1)|0; - HEAP32[$nCell>>2] = $165; - $166 = HEAP32[$1>>2]|0; - $167 = HEAP32[$pBegin>>2]|0; - $168 = HEAP32[$pCellptr>>2]|0; - $169 = HEAP32[$iCell>>2]|0; - $170 = HEAP32[$3>>2]|0; - $171 = (($169) + ($170))|0; - $172 = HEAP32[$5>>2]|0; - $173 = (_pageInsertArray($166,$167,$pData,$168,$171,1,$172)|0); - $174 = ($173|0)!=(0); - if ($174) { - break L7; - } - } - } - $175 = HEAP32[$i>>2]|0; - $176 = (($175) + 1)|0; - HEAP32[$i>>2] = $176; - } - $177 = HEAP32[$nCell>>2]|0; - $178 = $177<<1; - $179 = HEAP32[$1>>2]|0; - $180 = ((($179)) + 64|0); - $181 = HEAP32[$180>>2]|0; - $182 = (($181) + ($178)|0); - HEAP32[$pCellptr>>2] = $182; - $183 = HEAP32[$1>>2]|0; - $184 = HEAP32[$pBegin>>2]|0; - $185 = HEAP32[$pCellptr>>2]|0; - $186 = HEAP32[$3>>2]|0; - $187 = HEAP32[$nCell>>2]|0; - $188 = (($186) + ($187))|0; - $189 = HEAP32[$4>>2]|0; - $190 = HEAP32[$nCell>>2]|0; - $191 = (($189) - ($190))|0; - $192 = HEAP32[$5>>2]|0; - $193 = (_pageInsertArray($183,$184,$pData,$185,$188,$191,$192)|0); - $194 = ($193|0)!=(0); - if (!($194)) { - $195 = HEAP32[$4>>2]|0; - $196 = $195&65535; - $197 = HEAP32[$1>>2]|0; - $198 = ((($197)) + 18|0); - HEAP16[$198>>1] = $196; - $199 = HEAP32[$1>>2]|0; - $200 = ((($199)) + 1|0); - HEAP8[$200>>0] = 0; - $201 = HEAP32[$1>>2]|0; - $202 = ((($201)) + 18|0); - $203 = HEAP16[$202>>1]|0; - $204 = $203&65535; - $205 = $204 >> 8; - $206 = $205&255; - $207 = HEAP32[$hdr>>2]|0; - $208 = (($207) + 3)|0; - $209 = HEAP32[$aData>>2]|0; - $210 = (($209) + ($208)|0); - HEAP8[$210>>0] = $206; - $211 = HEAP32[$1>>2]|0; - $212 = ((($211)) + 18|0); - $213 = HEAP16[$212>>1]|0; - $214 = $213&255; - $215 = HEAP32[$hdr>>2]|0; - $216 = (($215) + 3)|0; - $217 = HEAP32[$aData>>2]|0; - $218 = (($217) + ($216)|0); - $219 = ((($218)) + 1|0); - HEAP8[$219>>0] = $214; - $220 = HEAP32[$pData>>2]|0; - $221 = HEAP32[$aData>>2]|0; - $222 = $220; - $223 = $221; - $224 = (($222) - ($223))|0; - $225 = $224 >> 8; - $226 = $225&255; - $227 = HEAP32[$hdr>>2]|0; - $228 = (($227) + 5)|0; - $229 = HEAP32[$aData>>2]|0; - $230 = (($229) + ($228)|0); - HEAP8[$230>>0] = $226; - $231 = HEAP32[$pData>>2]|0; - $232 = HEAP32[$aData>>2]|0; - $233 = $231; - $234 = $232; - $235 = (($233) - ($234))|0; - $236 = $235&255; - $237 = HEAP32[$hdr>>2]|0; - $238 = (($237) + 5)|0; - $239 = HEAP32[$aData>>2]|0; - $240 = (($239) + ($238)|0); - $241 = ((($240)) + 1|0); - HEAP8[$241>>0] = $236; - HEAP32[$0>>2] = 0; - $258 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($258|0); - } - } - } while(0); - $242 = HEAP32[$5>>2]|0; - $243 = HEAP32[$3>>2]|0; - $244 = HEAP32[$4>>2]|0; - _populateCellCache($242,$243,$244); - $245 = HEAP32[$1>>2]|0; - $246 = HEAP32[$4>>2]|0; - $247 = HEAP32[$3>>2]|0; - $248 = HEAP32[$5>>2]|0; - $249 = ((($248)) + 8|0); - $250 = HEAP32[$249>>2]|0; - $251 = (($250) + ($247<<2)|0); - $252 = HEAP32[$3>>2]|0; - $253 = HEAP32[$5>>2]|0; - $254 = ((($253)) + 12|0); - $255 = HEAP32[$254>>2]|0; - $256 = (($255) + ($252<<1)|0); - $257 = (_rebuildPage($245,$246,$251,$256)|0); - HEAP32[$0>>2] = $257; - $258 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($258|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + _fts5TripCursors($6); + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3Fts5StorageSync($9,0)|0); + STACKTOP = sp;return ($10|0); } -function _defragmentPage($pPage) { - $pPage = $pPage|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cbrk = 0, $cellOffset = 0, $data = 0, $hdr = 0, $i = 0, $iCellFirst = 0, $iCellLast = 0, $nCell = 0, $pAddr = 0; - var $pc = 0, $size = 0, $src = 0, $temp = 0, $usableSize = 0, $x = 0, label = 0, sp = 0; +function _fts5ReleaseMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $i = sp + 56|0; - $pc = sp + 52|0; - $hdr = sp + 48|0; - $size = sp + 44|0; - $usableSize = sp + 40|0; - $cellOffset = sp + 36|0; - $cbrk = sp + 32|0; - $nCell = sp + 28|0; - $data = sp + 24|0; - $temp = sp + 20|0; - $src = sp + 16|0; - $iCellFirst = sp + 12|0; - $iCellLast = sp + 8|0; - $pAddr = sp + 4|0; - $x = sp; - HEAP32[$1>>2] = $pPage; - HEAP32[$temp>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 56|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$data>>2] = $4; - HEAP32[$src>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 5|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - HEAP32[$hdr>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 14|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - HEAP32[$cellOffset>>2] = $12; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 18|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - HEAP32[$nCell>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 52|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($19)) + 36|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$usableSize>>2] = $21; - $22 = HEAP32[$usableSize>>2]|0; - HEAP32[$cbrk>>2] = $22; - $23 = HEAP32[$cellOffset>>2]|0; - $24 = HEAP32[$nCell>>2]|0; - $25 = $24<<1; - $26 = (($23) + ($25))|0; - HEAP32[$iCellFirst>>2] = $26; - $27 = HEAP32[$usableSize>>2]|0; - $28 = (($27) - 4)|0; - HEAP32[$iCellLast>>2] = $28; - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + _fts5TripCursors($6); + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3Fts5StorageSync($9,0)|0); + STACKTOP = sp;return ($10|0); +} +function _fts5RollbackToMethod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + _fts5TripCursors($6); + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3Fts5StorageRollback($9)|0); + STACKTOP = sp;return ($10|0); +} +function _fts5TripCursors($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 44|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$2>>2] = $7; while(1) { - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$nCell>>2]|0; - $31 = ($29|0)<($30|0); - if (!($31)) { - label = 14; - break; - } - $32 = HEAP32[$cellOffset>>2]|0; - $33 = HEAP32[$i>>2]|0; - $34 = $33<<1; - $35 = (($32) + ($34))|0; - $36 = HEAP32[$data>>2]|0; - $37 = (($36) + ($35)|0); - HEAP32[$pAddr>>2] = $37; - $38 = HEAP32[$pAddr>>2]|0; - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $40 << 8; - $42 = HEAP32[$pAddr>>2]|0; - $43 = ((($42)) + 1|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = $41 | $45; - HEAP32[$pc>>2] = $46; - $47 = HEAP32[$pc>>2]|0; - $48 = HEAP32[$iCellFirst>>2]|0; - $49 = ($47|0)<($48|0); - if ($49) { - label = 5; - break; - } - $50 = HEAP32[$pc>>2]|0; - $51 = HEAP32[$iCellLast>>2]|0; - $52 = ($50|0)>($51|0); - if ($52) { - label = 5; - break; - } - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 76|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = HEAP32[$pc>>2]|0; - $59 = HEAP32[$src>>2]|0; - $60 = (($59) + ($58)|0); - $61 = (FUNCTION_TABLE_iii[$56 & 255]($57,$60)|0); - $62 = $61&65535; - HEAP32[$size>>2] = $62; - $63 = HEAP32[$size>>2]|0; - $64 = HEAP32[$cbrk>>2]|0; - $65 = (($64) - ($63))|0; - HEAP32[$cbrk>>2] = $65; - $66 = HEAP32[$cbrk>>2]|0; - $67 = HEAP32[$iCellFirst>>2]|0; - $68 = ($66|0)<($67|0); - if ($68) { - label = 8; - break; - } - $69 = HEAP32[$pc>>2]|0; - $70 = HEAP32[$size>>2]|0; - $71 = (($69) + ($70))|0; - $72 = HEAP32[$usableSize>>2]|0; - $73 = ($71|0)>($72|0); - if ($73) { - label = 8; + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { break; } - $75 = HEAP32[$cbrk>>2]|0; - $76 = $75 >> 8; - $77 = $76&255; - $78 = HEAP32[$pAddr>>2]|0; - HEAP8[$78>>0] = $77; - $79 = HEAP32[$cbrk>>2]|0; - $80 = $79&255; - $81 = HEAP32[$pAddr>>2]|0; - $82 = ((($81)) + 1|0); - HEAP8[$82>>0] = $80; - $83 = HEAP32[$temp>>2]|0; - $84 = ($83|0)==(0|0); - if ($84) { - $85 = HEAP32[$cbrk>>2]|0; - $86 = HEAP32[$pc>>2]|0; - $87 = ($85|0)==($86|0); - if (!($87)) { - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 52|0); - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$90>>2]|0; - $92 = (_sqlite3PagerTempSpace($91)|0); - HEAP32[$temp>>2] = $92; - $93 = HEAP32[$hdr>>2]|0; - $94 = (($93) + 5)|0; - $95 = HEAP32[$data>>2]|0; - $96 = (($95) + ($94)|0); - $97 = HEAP8[$96>>0]|0; - $98 = $97&255; - $99 = $98 << 8; - $100 = HEAP32[$hdr>>2]|0; - $101 = (($100) + 5)|0; - $102 = HEAP32[$data>>2]|0; - $103 = (($102) + ($101)|0); - $104 = ((($103)) + 1|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = $99 | $106; - HEAP32[$x>>2] = $107; - $108 = HEAP32[$x>>2]|0; - $109 = HEAP32[$temp>>2]|0; - $110 = (($109) + ($108)|0); - $111 = HEAP32[$x>>2]|0; - $112 = HEAP32[$data>>2]|0; - $113 = (($112) + ($111)|0); - $114 = HEAP32[$cbrk>>2]|0; - $115 = HEAP32[$size>>2]|0; - $116 = (($114) + ($115))|0; - $117 = HEAP32[$x>>2]|0; - $118 = (($116) - ($117))|0; - _memcpy(($110|0),($113|0),($118|0))|0; - $119 = HEAP32[$temp>>2]|0; - HEAP32[$src>>2] = $119; - label = 12; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(1); + if ($13) { + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ($15|0)==($16|0); + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 60|0); + $20 = HEAP32[$19>>2]|0; + $21 = $20 | 32; + HEAP32[$19>>2] = $21; } - } else { - label = 12; - } - if ((label|0) == 12) { - label = 0; - $120 = HEAP32[$cbrk>>2]|0; - $121 = HEAP32[$data>>2]|0; - $122 = (($121) + ($120)|0); - $123 = HEAP32[$pc>>2]|0; - $124 = HEAP32[$src>>2]|0; - $125 = (($124) + ($123)|0); - $126 = HEAP32[$size>>2]|0; - _memcpy(($122|0),($125|0),($126|0))|0; - } - $127 = HEAP32[$i>>2]|0; - $128 = (($127) + 1)|0; - HEAP32[$i>>2] = $128; - } - if ((label|0) == 5) { - $53 = (_sqlite3CorruptError(59617)|0); - HEAP32[$0>>2] = $53; - $170 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($170|0); - } - else if ((label|0) == 8) { - $74 = (_sqlite3CorruptError(59623)|0); - HEAP32[$0>>2] = $74; - $170 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($170|0); - } - else if ((label|0) == 14) { - $129 = HEAP32[$cbrk>>2]|0; - $130 = $129 >> 8; - $131 = $130&255; - $132 = HEAP32[$hdr>>2]|0; - $133 = (($132) + 5)|0; - $134 = HEAP32[$data>>2]|0; - $135 = (($134) + ($133)|0); - HEAP8[$135>>0] = $131; - $136 = HEAP32[$cbrk>>2]|0; - $137 = $136&255; - $138 = HEAP32[$hdr>>2]|0; - $139 = (($138) + 5)|0; - $140 = HEAP32[$data>>2]|0; - $141 = (($140) + ($139)|0); - $142 = ((($141)) + 1|0); - HEAP8[$142>>0] = $137; - $143 = HEAP32[$hdr>>2]|0; - $144 = (($143) + 1)|0; - $145 = HEAP32[$data>>2]|0; - $146 = (($145) + ($144)|0); - HEAP8[$146>>0] = 0; - $147 = HEAP32[$hdr>>2]|0; - $148 = (($147) + 2)|0; - $149 = HEAP32[$data>>2]|0; - $150 = (($149) + ($148)|0); - HEAP8[$150>>0] = 0; - $151 = HEAP32[$hdr>>2]|0; - $152 = (($151) + 7)|0; - $153 = HEAP32[$data>>2]|0; - $154 = (($153) + ($152)|0); - HEAP8[$154>>0] = 0; - $155 = HEAP32[$iCellFirst>>2]|0; - $156 = HEAP32[$data>>2]|0; - $157 = (($156) + ($155)|0); - $158 = HEAP32[$cbrk>>2]|0; - $159 = HEAP32[$iCellFirst>>2]|0; - $160 = (($158) - ($159))|0; - _memset(($157|0),0,($160|0))|0; - $161 = HEAP32[$cbrk>>2]|0; - $162 = HEAP32[$iCellFirst>>2]|0; - $163 = (($161) - ($162))|0; - $164 = HEAP32[$1>>2]|0; - $165 = ((($164)) + 16|0); - $166 = HEAP16[$165>>1]|0; - $167 = $166&65535; - $168 = ($163|0)!=($167|0); - if ($168) { - $169 = (_sqlite3CorruptError(59647)|0); - HEAP32[$0>>2] = $169; - $170 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($170|0); - } else { - HEAP32[$0>>2] = 0; - $170 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($170|0); } + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$2>>2] = $24; } - return (0)|0; + STACKTOP = sp;return; } -function _copyNodeContent($pFrom,$pTo,$pRC) { - $pFrom = $pFrom|0; - $pTo = $pTo|0; - $pRC = $pRC|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0; - var $aFrom = 0, $aTo = 0, $iData = 0, $iFromHdr = 0, $iToHdr = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5StorageRollback($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $pBt = sp + 24|0; - $aFrom = sp + 20|0; - $aTo = sp + 16|0; - $iFromHdr = sp + 12|0; - $iToHdr = sp + 8|0; - $rc = sp + 4|0; - $iData = sp; - HEAP32[$0>>2] = $pFrom; - HEAP32[$1>>2] = $pTo; - HEAP32[$2>>2] = $pRC; - $3 = HEAP32[$2>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + HEAP32[$3>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3Fts5IndexRollback($6)|0); + STACKTOP = sp;return ($7|0); +} +function _sqlite3Fts5IndexRollback($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + _fts5CloseReader($2); + $3 = HEAP32[$1>>2]|0; + _fts5IndexDiscardData($3); + $4 = HEAP32[$1>>2]|0; + _fts5StructureInvalidate($4); + STACKTOP = sp;return 0; +} +function _fts5IndexDiscardData($0) { + $0 = $0|0; + var $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; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 12|0); $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); + $5 = ($4|0)!=(0|0); if (!($5)) { STACKTOP = sp;return; } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 52|0); + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; - HEAP32[$pBt>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 56|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$aFrom>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 56|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$aTo>>2] = $14; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 5|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - HEAP32[$iFromHdr>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 84|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(1); - $23 = $22 ? 100 : 0; - HEAP32[$iToHdr>>2] = $23; - $24 = HEAP32[$iFromHdr>>2]|0; - $25 = (($24) + 5)|0; - $26 = HEAP32[$aFrom>>2]|0; - $27 = (($26) + ($25)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = HEAP32[$iFromHdr>>2]|0; - $32 = (($31) + 5)|0; - $33 = HEAP32[$aFrom>>2]|0; - $34 = (($33) + ($32)|0); - $35 = ((($34)) + 1|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = $30 | $37; - HEAP32[$iData>>2] = $38; - $39 = HEAP32[$iData>>2]|0; - $40 = HEAP32[$aTo>>2]|0; - $41 = (($40) + ($39)|0); - $42 = HEAP32[$iData>>2]|0; - $43 = HEAP32[$aFrom>>2]|0; - $44 = (($43) + ($42)|0); - $45 = HEAP32[$pBt>>2]|0; - $46 = ((($45)) + 36|0); - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$iData>>2]|0; - $49 = (($47) - ($48))|0; - _memcpy(($41|0),($44|0),($49|0))|0; - $50 = HEAP32[$iToHdr>>2]|0; - $51 = HEAP32[$aTo>>2]|0; - $52 = (($51) + ($50)|0); - $53 = HEAP32[$iFromHdr>>2]|0; - $54 = HEAP32[$aFrom>>2]|0; - $55 = (($54) + ($53)|0); - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 14|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58&65535; - $60 = HEAP32[$0>>2]|0; - $61 = ((($60)) + 18|0); - $62 = HEAP16[$61>>1]|0; - $63 = $62&65535; - $64 = $63<<1; - $65 = (($59) + ($64))|0; - _memcpy(($52|0),($55|0),($65|0))|0; - $66 = HEAP32[$1>>2]|0; - HEAP8[$66>>0] = 0; - $67 = HEAP32[$1>>2]|0; - $68 = (_btreeInitPage($67)|0); - HEAP32[$rc>>2] = $68; - $69 = HEAP32[$rc>>2]|0; - $70 = ($69|0)!=(0); - if ($70) { - $71 = HEAP32[$rc>>2]|0; - $72 = HEAP32[$2>>2]|0; - HEAP32[$72>>2] = $71; - STACKTOP = sp;return; - } - $73 = HEAP32[$pBt>>2]|0; - $74 = ((($73)) + 17|0); - $75 = HEAP8[$74>>0]|0; - $76 = ($75<<24>>24)!=(0); - if (!($76)) { - STACKTOP = sp;return; - } - $77 = HEAP32[$1>>2]|0; - $78 = (_setChildPtrmaps($77)|0); - $79 = HEAP32[$2>>2]|0; - HEAP32[$79>>2] = $78; + _sqlite3Fts5HashClear($8); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 16|0); + HEAP32[$10>>2] = 0; STACKTOP = sp;return; } -function _sqlite3PagerTempSpace($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _fts5StructureInvalidate($0) { + $0 = $0|0; + var $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; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 208|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 80|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 80|0); + $8 = HEAP32[$7>>2]|0; + _fts5StructureRelease($8); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 80|0); + HEAP32[$10>>2] = 0; + STACKTOP = sp;return; } -function _pageFreeArray($pPg,$iFirst,$nCell,$pCArray) { - $pPg = $pPg|0; - $iFirst = $iFirst|0; - $nCell = $nCell|0; - $pCArray = $pCArray|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $aData = 0, $i = 0, $iEnd = 0, $nRet = 0, $pCell = 0, $pEnd = 0, $pFree = 0, $pStart = 0, $sz = 0, $szFree = 0, label = 0, sp = 0; +function _sqlite3Fts5HashClear($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $aData = sp + 36|0; - $pEnd = sp + 32|0; - $pStart = sp + 28|0; - $nRet = sp + 24|0; - $i = sp + 20|0; - $iEnd = sp + 16|0; - $pFree = sp + 12|0; - $szFree = sp + 8|0; - $pCell = sp + 4|0; - $sz = sp; - HEAP32[$1>>2] = $pPg; - HEAP32[$2>>2] = $iFirst; - HEAP32[$3>>2] = $nCell; - HEAP32[$4>>2] = $pCArray; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 56|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$aData>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 52|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 36|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$aData>>2]|0; - $14 = (($13) + ($12)|0); - HEAP32[$pEnd>>2] = $14; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 5|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = (($18) + 8)|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 6|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = (($19) + ($23))|0; - $25 = HEAP32[$aData>>2]|0; - $26 = (($25) + ($24)|0); - HEAP32[$pStart>>2] = $26; - HEAP32[$nRet>>2] = 0; - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$3>>2]|0; - $29 = (($27) + ($28))|0; - HEAP32[$iEnd>>2] = $29; - HEAP32[$pFree>>2] = 0; - HEAP32[$szFree>>2] = 0; - $30 = HEAP32[$2>>2]|0; - HEAP32[$i>>2] = $30; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; while(1) { - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$iEnd>>2]|0; - $33 = ($31|0)<($32|0); - if (!($33)) { + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($5|0)<($8|0); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP32[$11>>2]|0; + if (!($9)) { break; } - $34 = HEAP32[$i>>2]|0; - $35 = HEAP32[$4>>2]|0; - $36 = ((($35)) + 8|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + ($34<<2)|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$pCell>>2] = $39; - $40 = HEAP32[$pCell>>2]|0; - $41 = $40; - $42 = HEAP32[$pStart>>2]|0; - $43 = $42; - $44 = ($41>>>0)>=($43>>>0); - if ($44) { - $45 = HEAP32[$pCell>>2]|0; - $46 = $45; - $47 = HEAP32[$pEnd>>2]|0; - $48 = $47; - $49 = ($46>>>0)<($48>>>0); - if ($49) { - $50 = HEAP32[$i>>2]|0; - $51 = HEAP32[$4>>2]|0; - $52 = ((($51)) + 12|0); - $53 = HEAP32[$52>>2]|0; - $54 = (($53) + ($50<<1)|0); - $55 = HEAP16[$54>>1]|0; - $56 = $55&65535; - HEAP32[$sz>>2] = $56; - $57 = HEAP32[$pFree>>2]|0; - $58 = HEAP32[$pCell>>2]|0; - $59 = HEAP32[$sz>>2]|0; - $60 = (($58) + ($59)|0); - $61 = ($57|0)!=($60|0); - if ($61) { - $62 = HEAP32[$pFree>>2]|0; - $63 = ($62|0)!=(0|0); - if ($63) { - $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[$pFree>>2]|0; - $66 = HEAP32[$aData>>2]|0; - $67 = $65; - $68 = $66; - $69 = (($67) - ($68))|0; - $70 = $69&65535; - $71 = HEAP32[$szFree>>2]|0; - $72 = $71&65535; - (_freeSpace($64,$70,$72)|0); - } - $73 = HEAP32[$pCell>>2]|0; - HEAP32[$pFree>>2] = $73; - $74 = HEAP32[$sz>>2]|0; - HEAP32[$szFree>>2] = $74; - $75 = HEAP32[$pFree>>2]|0; - $76 = HEAP32[$sz>>2]|0; - $77 = (($75) + ($76)|0); - $78 = HEAP32[$pEnd>>2]|0; - $79 = ($77>>>0)>($78>>>0); - if ($79) { - label = 9; - break; - } - } else { - $80 = HEAP32[$pCell>>2]|0; - HEAP32[$pFree>>2] = $80; - $81 = HEAP32[$sz>>2]|0; - $82 = HEAP32[$szFree>>2]|0; - $83 = (($82) + ($81))|0; - HEAP32[$szFree>>2] = $83; - } - $84 = HEAP32[$nRet>>2]|0; - $85 = (($84) + 1)|0; - HEAP32[$nRet>>2] = $85; + $13 = HEAP32[$2>>2]|0; + $14 = (($12) + ($13<<2)|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$4>>2] = $15; + while(1) { + $16 = HEAP32[$4>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + break; } + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$3>>2] = $19; + $20 = HEAP32[$4>>2]|0; + _sqlite3_free($20); + $21 = HEAP32[$3>>2]|0; + HEAP32[$4>>2] = $21; } - $86 = HEAP32[$i>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[$i>>2] = $87; - } - if ((label|0) == 9) { - HEAP32[$0>>2] = 0; - $100 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($100|0); + $22 = HEAP32[$2>>2]|0; + $23 = (($22) + 1)|0; + HEAP32[$2>>2] = $23; } - $88 = HEAP32[$pFree>>2]|0; - $89 = ($88|0)!=(0|0); - if ($89) { - $90 = HEAP32[$1>>2]|0; - $91 = HEAP32[$pFree>>2]|0; - $92 = HEAP32[$aData>>2]|0; - $93 = $91; - $94 = $92; - $95 = (($93) - ($94))|0; - $96 = $95&65535; - $97 = HEAP32[$szFree>>2]|0; - $98 = $97&65535; - (_freeSpace($90,$96,$98)|0); - } - $99 = HEAP32[$nRet>>2]|0; - HEAP32[$0>>2] = $99; - $100 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($100|0); + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $26<<2; + _memset(($12|0),0,($27|0))|0; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 8|0); + HEAP32[$29>>2] = 0; + STACKTOP = sp;return; } -function _pageInsertArray($pPg,$pBegin,$ppData,$pCellptr,$iFirst,$nCell,$pCArray) { - $pPg = $pPg|0; - $pBegin = $pBegin|0; - $ppData = $ppData|0; - $pCellptr = $pCellptr|0; - $iFirst = $iFirst|0; - $nCell = $nCell|0; - $pCArray = $pCArray|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $9 = 0, $aData = 0, $i = 0, $iEnd = 0, $pData = 0, $pSlot = 0, $rc = 0, $sz = 0, label = 0, sp = 0; +function _sqlite3Fts5StorageSync($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $5 = sp + 36|0; - $6 = sp + 32|0; - $7 = sp + 28|0; - $i = sp + 24|0; - $aData = sp + 20|0; - $pData = sp + 16|0; - $iEnd = sp + 12|0; - $sz = sp + 8|0; - $rc = sp + 4|0; - $pSlot = sp; - HEAP32[$1>>2] = $pPg; - HEAP32[$2>>2] = $pBegin; - HEAP32[$3>>2] = $ppData; - HEAP32[$4>>2] = $pCellptr; - HEAP32[$5>>2] = $iFirst; - HEAP32[$6>>2] = $nCell; - HEAP32[$7>>2] = $pCArray; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 56|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$aData>>2] = $10; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$11>>2]|0; - HEAP32[$pData>>2] = $12; - $13 = HEAP32[$5>>2]|0; - $14 = HEAP32[$6>>2]|0; - $15 = (($13) + ($14))|0; - HEAP32[$iEnd>>2] = $15; - $16 = HEAP32[$5>>2]|0; - HEAP32[$i>>2] = $16; - while(1) { - $17 = HEAP32[$i>>2]|0; - $18 = HEAP32[$iEnd>>2]|0; - $19 = ($17|0)<($18|0); - if (!($19)) { - label = 10; - break; - } - $20 = HEAP32[$7>>2]|0; - $21 = HEAP32[$i>>2]|0; - $22 = (_cachedCellSize($20,$21)|0); - $23 = $22&65535; - HEAP32[$sz>>2] = $23; - $24 = HEAP32[$aData>>2]|0; - $25 = ((($24)) + 1|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)==(0); - if ($28) { - $29 = HEAP32[$aData>>2]|0; - $30 = ((($29)) + 2|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = ($32|0)==(0); - if ($33) { - label = 6; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - label = 0; - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$sz>>2]|0; - $36 = (_pageFindSlot($34,$35,$rc)|0); - HEAP32[$pSlot>>2] = $36; - $37 = ($36|0)==(0|0); - if ($37) { - label = 6; - } - } - if ((label|0) == 6) { - label = 0; - $38 = HEAP32[$pData>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = $38; - $41 = $39; - $42 = (($40) - ($41))|0; - $43 = HEAP32[$sz>>2]|0; - $44 = ($42|0)<($43|0); - if ($44) { - label = 7; - break; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = (_fts5StorageSaveTotals($12)|0); + HEAP32[$5>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 8|0); + HEAP32[$15>>2] = 0; + $16 = HEAP32[$5>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + $18 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $18; + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); } - $45 = HEAP32[$sz>>2]|0; - $46 = HEAP32[$pData>>2]|0; - $47 = (0 - ($45))|0; - $48 = (($46) + ($47)|0); - HEAP32[$pData>>2] = $48; - $49 = HEAP32[$pData>>2]|0; - HEAP32[$pSlot>>2] = $49; } - $50 = HEAP32[$pSlot>>2]|0; - $51 = HEAP32[$i>>2]|0; - $52 = HEAP32[$7>>2]|0; - $53 = ((($52)) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($51<<2)|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$sz>>2]|0; - _memmove(($50|0),($56|0),($57|0))|0; - $58 = HEAP32[$pSlot>>2]|0; - $59 = HEAP32[$aData>>2]|0; - $60 = $58; - $61 = $59; - $62 = (($60) - ($61))|0; - $63 = $62 >> 8; - $64 = $63&255; - $65 = HEAP32[$4>>2]|0; - HEAP8[$65>>0] = $64; - $66 = HEAP32[$pSlot>>2]|0; - $67 = HEAP32[$aData>>2]|0; - $68 = $66; - $69 = $67; - $70 = (($68) - ($69))|0; - $71 = $70&255; - $72 = HEAP32[$4>>2]|0; - $73 = ((($72)) + 1|0); - HEAP8[$73>>0] = $71; - $74 = HEAP32[$4>>2]|0; - $75 = ((($74)) + 2|0); - HEAP32[$4>>2] = $75; - $76 = HEAP32[$i>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[$i>>2] = $77; } - if ((label|0) == 7) { - HEAP32[$0>>2] = 1; - $80 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($80|0); + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = (_sqlite3Fts5IndexSync($21,$22)|0); + HEAP32[$2>>2] = $23; + $24 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($24|0); +} +function _fts5StorageSaveTotals($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$2>>2] = $9; + HEAP32[$5>>2] = 0; + ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 16|0); + $12 = $11; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + _sqlite3Fts5BufferAppendVarint($5,$4,$14,$17); + HEAP32[$3>>2] = 0; + while(1) { + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ($18|0)<($19|0); + if (!($20)) { + break; + } + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 24|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = (($23) + ($24<<3)|0); + $26 = $25; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + _sqlite3Fts5BufferAppendVarint($5,$4,$28,$31); + $32 = HEAP32[$3>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$3>>2] = $33; + } + $34 = HEAP32[$5>>2]|0; + $35 = ($34|0)==(0); + if (!($35)) { + $43 = HEAP32[$4>>2]|0; + _sqlite3_free($43); + $44 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($44|0); } - else if ((label|0) == 10) { - $78 = HEAP32[$pData>>2]|0; - $79 = HEAP32[$3>>2]|0; - HEAP32[$79>>2] = $78; - HEAP32[$0>>2] = 0; - $80 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($80|0); + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ((($4)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_sqlite3Fts5IndexSetAverages($38,$39,$41)|0); + HEAP32[$5>>2] = $42; + $43 = HEAP32[$4>>2]|0; + _sqlite3_free($43); + $44 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($44|0); +} +function _sqlite3Fts5IndexSync($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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 + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + _fts5IndexFlush($4); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)!=(0); + if ($6) { + $7 = HEAP32[$2>>2]|0; + _fts5CloseReader($7); } - return (0)|0; + $8 = HEAP32[$2>>2]|0; + $9 = (_fts5IndexReturn($8)|0); + STACKTOP = sp;return ($9|0); } -function _populateCellCache($p,$idx,$N) { - $p = $p|0; - $idx = $idx|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _fts5IndexFlush($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; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $idx; - HEAP32[$2>>2] = $N; - while(1) { - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - break; - } - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($5<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = ($11|0)==(0); - if ($12) { - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 76|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($21<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (FUNCTION_TABLE_iii[$17 & 255]($20,$26)|0); - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + ($28<<1)|0); - HEAP16[$32>>1] = $27; - } - $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$1>>2] = $34; - $35 = HEAP32[$2>>2]|0; - $36 = (($35) + -1)|0; - HEAP32[$2>>2] = $36; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0); + if (!($5)) { + STACKTOP = sp;return; } + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 16|0); + HEAP32[$7>>2] = 0; + $8 = HEAP32[$1>>2]|0; + _fts5FlushOneHash($8); STACKTOP = sp;return; } -function _rebuildPage($pPg,$nCell,$apCell,$szCell) { - $pPg = $pPg|0; - $nCell = $nCell|0; - $apCell = $apCell|0; - $szCell = $szCell|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $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, $aData = 0, $hdr = 0, $i = 0; - var $pCell = 0, $pCellptr = 0, $pData = 0, $pEnd = 0, $pTmp = 0, $usableSize = 0, label = 0, sp = 0; +function _fts5FlushOneHash($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $hdr = sp + 32|0; - $aData = sp + 28|0; - $usableSize = sp + 24|0; - $pEnd = sp + 20|0; - $i = sp + 16|0; - $pCellptr = sp + 12|0; - $pTmp = sp + 8|0; - $pData = sp + 4|0; - $pCell = sp; - HEAP32[$1>>2] = $pPg; - HEAP32[$2>>2] = $nCell; - HEAP32[$3>>2] = $apCell; - HEAP32[$4>>2] = $szCell; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 5|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - HEAP32[$hdr>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 56|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$aData>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 52|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 36|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$usableSize>>2] = $16; - $17 = HEAP32[$usableSize>>2]|0; - $18 = HEAP32[$aData>>2]|0; - $19 = (($18) + ($17)|0); - HEAP32[$pEnd>>2] = $19; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 64|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$pCellptr>>2] = $22; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 52|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = (_sqlite3PagerTempSpace($26)|0); - HEAP32[$pTmp>>2] = $27; - $28 = HEAP32[$hdr>>2]|0; - $29 = (($28) + 5)|0; - $30 = HEAP32[$aData>>2]|0; - $31 = (($30) + ($29)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $33 << 8; - $35 = HEAP32[$hdr>>2]|0; - $36 = (($35) + 5)|0; - $37 = HEAP32[$aData>>2]|0; - $38 = (($37) + ($36)|0); - $39 = ((($38)) + 1|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = $34 | $41; - HEAP32[$i>>2] = $42; - $43 = HEAP32[$i>>2]|0; - $44 = HEAP32[$pTmp>>2]|0; - $45 = (($44) + ($43)|0); - $46 = HEAP32[$i>>2]|0; - $47 = HEAP32[$aData>>2]|0; - $48 = (($47) + ($46)|0); - $49 = HEAP32[$usableSize>>2]|0; - $50 = HEAP32[$i>>2]|0; - $51 = (($49) - ($50))|0; - _memcpy(($45|0),($48|0),($51|0))|0; - $52 = HEAP32[$pEnd>>2]|0; - HEAP32[$pData>>2] = $52; - HEAP32[$i>>2] = 0; - while(1) { - $53 = HEAP32[$i>>2]|0; + STACKTOP = STACKTOP + 208|0; + $1 = sp + 192|0; + $2 = sp + 188|0; + $3 = sp + 184|0; + $4 = sp + 180|0; + $5 = sp + 176|0; + $6 = sp + 172|0; + $7 = sp + 168|0; + $8 = sp + 164|0; + $9 = sp + 160|0; + $10 = sp + 156|0; + $11 = sp + 16|0; + $12 = sp + 152|0; + $13 = sp + 148|0; + $14 = sp + 144|0; + $15 = sp + 8|0; + $16 = sp; + $17 = sp + 140|0; + $18 = sp + 136|0; + $19 = sp + 132|0; + $20 = sp + 128|0; + $21 = sp + 124|0; + $22 = sp + 120|0; + $23 = sp + 116|0; + $24 = sp + 112|0; + HEAP32[$1>>2] = $0; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$2>>2] = $27; + HEAP32[$5>>2] = 0; + $28 = HEAP32[$1>>2]|0; + $29 = (_fts5StructureRead($28)|0); + HEAP32[$3>>2] = $29; + $30 = HEAP32[$1>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = (_fts5AllocateSegid($30,$31)|0); + HEAP32[$4>>2] = $32; + $33 = HEAP32[$1>>2]|0; + _fts5StructureInvalidate($33); + $34 = HEAP32[$4>>2]|0; + $35 = ($34|0)!=(0); + if (!($35)) { + $366 = HEAP32[$1>>2]|0; + $367 = HEAP32[$5>>2]|0; + _fts5IndexAutomerge($366,$3,$367); + $368 = HEAP32[$1>>2]|0; + _fts5IndexCrisismerge($368,$3); + $369 = HEAP32[$1>>2]|0; + $370 = HEAP32[$3>>2]|0; + _fts5StructureWrite($369,$370); + $371 = HEAP32[$3>>2]|0; + _fts5StructureRelease($371); + STACKTOP = sp;return; + } + $36 = HEAP32[$1>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 68|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$6>>2] = $39; + $40 = HEAP32[$1>>2]|0; + $41 = HEAP32[$40>>2]|0; + $42 = ((($41)) + 48|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$7>>2] = $43; + $44 = HEAP32[$1>>2]|0; + $45 = HEAP32[$4>>2]|0; + _fts5WriteInit($44,$11,$45); + $46 = ((($11)) + 4|0); + $47 = ((($46)) + 8|0); + HEAP32[$9>>2] = $47; + $48 = ((($11)) + 4|0); + $49 = ((($48)) + 20|0); + HEAP32[$10>>2] = $49; + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 36|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)==(0); + if ($53) { $54 = HEAP32[$2>>2]|0; - $55 = ($53|0)<($54|0); - if (!($55)) { - label = 9; - break; - } - $56 = HEAP32[$i>>2]|0; - $57 = HEAP32[$3>>2]|0; - $58 = (($57) + ($56<<2)|0); - $59 = HEAP32[$58>>2]|0; - HEAP32[$pCell>>2] = $59; - $60 = HEAP32[$pCell>>2]|0; - $61 = $60; - $62 = HEAP32[$aData>>2]|0; - $63 = $62; - $64 = ($61>>>0)>=($63>>>0); - if ($64) { - $65 = HEAP32[$pCell>>2]|0; - $66 = $65; - $67 = HEAP32[$pEnd>>2]|0; - $68 = $67; - $69 = ($66>>>0)<($68>>>0); - if ($69) { - $70 = HEAP32[$pCell>>2]|0; - $71 = HEAP32[$aData>>2]|0; - $72 = $70; - $73 = $71; - $74 = (($72) - ($73))|0; - $75 = HEAP32[$pTmp>>2]|0; - $76 = (($75) + ($74)|0); - HEAP32[$pCell>>2] = $76; - } + $55 = (_sqlite3Fts5HashScanInit($54,0,0)|0); + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 36|0); + HEAP32[$57>>2] = $55; + } + while(1) { + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 36|0); + $60 = HEAP32[$59>>2]|0; + $61 = ($60|0)==(0); + if ($61) { + $62 = HEAP32[$2>>2]|0; + $63 = (_sqlite3Fts5HashScanEof($62)|0); + $64 = (0)==($63|0); + $372 = $64; + } else { + $372 = 0; } - $77 = HEAP32[$i>>2]|0; - $78 = HEAP32[$4>>2]|0; - $79 = (($78) + ($77<<1)|0); - $80 = HEAP16[$79>>1]|0; - $81 = $80&65535; - $82 = HEAP32[$pData>>2]|0; - $83 = (0 - ($81))|0; - $84 = (($82) + ($83)|0); - HEAP32[$pData>>2] = $84; - $85 = HEAP32[$pData>>2]|0; - $86 = HEAP32[$aData>>2]|0; - $87 = $85; - $88 = $86; - $89 = (($87) - ($88))|0; - $90 = $89 >> 8; - $91 = $90&255; - $92 = HEAP32[$pCellptr>>2]|0; - HEAP8[$92>>0] = $91; - $93 = HEAP32[$pData>>2]|0; - $94 = HEAP32[$aData>>2]|0; - $95 = $93; - $96 = $94; - $97 = (($95) - ($96))|0; - $98 = $97&255; - $99 = HEAP32[$pCellptr>>2]|0; - $100 = ((($99)) + 1|0); - HEAP8[$100>>0] = $98; - $101 = HEAP32[$pCellptr>>2]|0; - $102 = ((($101)) + 2|0); - HEAP32[$pCellptr>>2] = $102; - $103 = HEAP32[$pData>>2]|0; - $104 = HEAP32[$pCellptr>>2]|0; - $105 = ($103>>>0)<($104>>>0); - if ($105) { - label = 7; + $65 = HEAP32[$2>>2]|0; + if (!($372)) { break; } - $107 = HEAP32[$pData>>2]|0; - $108 = HEAP32[$pCell>>2]|0; - $109 = HEAP32[$i>>2]|0; - $110 = HEAP32[$4>>2]|0; - $111 = (($110) + ($109<<1)|0); - $112 = HEAP16[$111>>1]|0; - $113 = $112&65535; - _memcpy(($107|0),($108|0),($113|0))|0; - $114 = HEAP32[$i>>2]|0; - $115 = (($114) + 1)|0; - HEAP32[$i>>2] = $115; - } - if ((label|0) == 7) { - $106 = (_sqlite3CorruptError(64716)|0); - HEAP32[$0>>2] = $106; - $176 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($176|0); - } - else if ((label|0) == 9) { - $116 = HEAP32[$2>>2]|0; - $117 = $116&65535; - $118 = HEAP32[$1>>2]|0; - $119 = ((($118)) + 18|0); - HEAP16[$119>>1] = $117; - $120 = HEAP32[$1>>2]|0; - $121 = ((($120)) + 1|0); - HEAP8[$121>>0] = 0; - $122 = HEAP32[$hdr>>2]|0; - $123 = (($122) + 1)|0; - $124 = HEAP32[$aData>>2]|0; - $125 = (($124) + ($123)|0); - HEAP8[$125>>0] = 0; - $126 = HEAP32[$hdr>>2]|0; - $127 = (($126) + 1)|0; - $128 = HEAP32[$aData>>2]|0; - $129 = (($128) + ($127)|0); - $130 = ((($129)) + 1|0); - HEAP8[$130>>0] = 0; - $131 = HEAP32[$1>>2]|0; - $132 = ((($131)) + 18|0); - $133 = HEAP16[$132>>1]|0; - $134 = $133&65535; - $135 = $134 >> 8; - $136 = $135&255; - $137 = HEAP32[$hdr>>2]|0; - $138 = (($137) + 3)|0; - $139 = HEAP32[$aData>>2]|0; - $140 = (($139) + ($138)|0); - HEAP8[$140>>0] = $136; - $141 = HEAP32[$1>>2]|0; - $142 = ((($141)) + 18|0); - $143 = HEAP16[$142>>1]|0; - $144 = $143&255; - $145 = HEAP32[$hdr>>2]|0; - $146 = (($145) + 3)|0; - $147 = HEAP32[$aData>>2]|0; - $148 = (($147) + ($146)|0); - $149 = ((($148)) + 1|0); - HEAP8[$149>>0] = $144; - $150 = HEAP32[$pData>>2]|0; - $151 = HEAP32[$aData>>2]|0; - $152 = $150; - $153 = $151; - $154 = (($152) - ($153))|0; - $155 = $154 >> 8; - $156 = $155&255; - $157 = HEAP32[$hdr>>2]|0; - $158 = (($157) + 5)|0; - $159 = HEAP32[$aData>>2]|0; - $160 = (($159) + ($158)|0); - HEAP8[$160>>0] = $156; - $161 = HEAP32[$pData>>2]|0; - $162 = HEAP32[$aData>>2]|0; - $163 = $161; - $164 = $162; - $165 = (($163) - ($164))|0; - $166 = $165&255; - $167 = HEAP32[$hdr>>2]|0; - $168 = (($167) + 5)|0; - $169 = HEAP32[$aData>>2]|0; - $170 = (($169) + ($168)|0); - $171 = ((($170)) + 1|0); - HEAP8[$171>>0] = $166; - $172 = HEAP32[$hdr>>2]|0; - $173 = (($172) + 7)|0; - $174 = HEAP32[$aData>>2]|0; - $175 = (($174) + ($173)|0); - HEAP8[$175>>0] = 0; - HEAP32[$0>>2] = 0; - $176 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($176|0); + _sqlite3Fts5HashScanEntry($65,$12,$13,$14); + $66 = HEAP32[$1>>2]|0; + $67 = HEAP32[$12>>2]|0; + $68 = (_strlen($67)|0); + $69 = HEAP32[$12>>2]|0; + _fts5WriteAppendTerm($66,$11,$68,$69); + $70 = HEAP32[$6>>2]|0; + $71 = HEAP32[$9>>2]|0; + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$10>>2]|0; + $75 = ((($74)) + 4|0); + $76 = HEAP32[$75>>2]|0; + $77 = (($73) + ($76))|0; + $78 = HEAP32[$14>>2]|0; + $79 = (($77) + ($78))|0; + $80 = (($79) + 1)|0; + $81 = ($70|0)>=($80|0); + L12: do { + if ($81) { + $82 = HEAP32[$9>>2]|0; + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$9>>2]|0; + $85 = ((($84)) + 4|0); + $86 = HEAP32[$85>>2]|0; + $87 = (($83) + ($86)|0); + $88 = HEAP32[$13>>2]|0; + $89 = HEAP32[$14>>2]|0; + _memcpy(($87|0),($88|0),($89|0))|0; + $90 = HEAP32[$14>>2]|0; + $91 = HEAP32[$9>>2]|0; + $92 = ((($91)) + 4|0); + $93 = HEAP32[$92>>2]|0; + $94 = (($93) + ($90))|0; + HEAP32[$92>>2] = $94; + } else { + $95 = $15; + $96 = $95; + HEAP32[$96>>2] = 0; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = 0; + $99 = $16; + $100 = $99; + HEAP32[$100>>2] = 0; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = 0; + HEAP32[$17>>2] = 0; + while(1) { + $103 = HEAP32[$1>>2]|0; + $104 = ((($103)) + 36|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105|0)==(0); + if (!($106)) { + break L12; + } + $107 = HEAP32[$17>>2]|0; + $108 = HEAP32[$14>>2]|0; + $109 = ($107|0)<($108|0); + if (!($109)) { + break L12; + } + $110 = HEAP32[$13>>2]|0; + $111 = HEAP32[$17>>2]|0; + $112 = (($110) + ($111)|0); + $113 = (_sqlite3Fts5GetVarint($112,$16)|0); + $114 = $113&255; + $115 = HEAP32[$17>>2]|0; + $116 = (($115) + ($114))|0; + HEAP32[$17>>2] = $116; + $117 = $16; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = $15; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = (($123) + 4)|0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = (_i64Add(($125|0),($128|0),($119|0),($122|0))|0); + $130 = tempRet0; + $131 = $15; + $132 = $131; + HEAP32[$132>>2] = $129; + $133 = (($131) + 4)|0; + $134 = $133; + HEAP32[$134>>2] = $130; + $135 = ((($11)) + 57|0); + $136 = HEAP8[$135>>0]|0; + $137 = ($136<<24>>24)!=(0); + $138 = HEAP32[$9>>2]|0; + $139 = HEAP32[$138>>2]|0; + if ($137) { + $140 = HEAP32[$9>>2]|0; + $141 = ((($140)) + 4|0); + $142 = HEAP32[$141>>2]|0; + $143 = $142&65535; + _fts5PutU16($139,$143); + $144 = HEAP32[$9>>2]|0; + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$9>>2]|0; + $147 = ((($146)) + 4|0); + $148 = HEAP32[$147>>2]|0; + $149 = (($145) + ($148)|0); + $150 = $15; + $151 = $150; + $152 = HEAP32[$151>>2]|0; + $153 = (($150) + 4)|0; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = (_sqlite3Fts5PutVarint($149,$152,$155)|0); + $157 = HEAP32[$9>>2]|0; + $158 = ((($157)) + 4|0); + $159 = HEAP32[$158>>2]|0; + $160 = (($159) + ($156))|0; + HEAP32[$158>>2] = $160; + $161 = ((($11)) + 57|0); + HEAP8[$161>>0] = 0; + $162 = HEAP32[$1>>2]|0; + $163 = $15; + $164 = $163; + $165 = HEAP32[$164>>2]|0; + $166 = (($163) + 4)|0; + $167 = $166; + $168 = HEAP32[$167>>2]|0; + _fts5WriteDlidxAppend($162,$11,$165,$168); + } else { + $169 = HEAP32[$9>>2]|0; + $170 = ((($169)) + 4|0); + $171 = HEAP32[$170>>2]|0; + $172 = (($139) + ($171)|0); + $173 = $16; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = (($173) + 4)|0; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = (_sqlite3Fts5PutVarint($172,$175,$178)|0); + $180 = HEAP32[$9>>2]|0; + $181 = ((($180)) + 4|0); + $182 = HEAP32[$181>>2]|0; + $183 = (($182) + ($179))|0; + HEAP32[$181>>2] = $183; + } + $184 = HEAP32[$7>>2]|0; + $185 = ($184|0)==(1); + if ($185) { + $186 = HEAP32[$17>>2]|0; + $187 = HEAP32[$14>>2]|0; + $188 = ($186|0)<($187|0); + if ($188) { + $189 = HEAP32[$13>>2]|0; + $190 = HEAP32[$17>>2]|0; + $191 = (($189) + ($190)|0); + $192 = HEAP8[$191>>0]|0; + $193 = $192&255; + $194 = ($193|0)==(0); + if ($194) { + $195 = HEAP32[$9>>2]|0; + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$9>>2]|0; + $198 = ((($197)) + 4|0); + $199 = HEAP32[$198>>2]|0; + $200 = (($199) + 1)|0; + HEAP32[$198>>2] = $200; + $201 = (($196) + ($199)|0); + HEAP8[$201>>0] = 0; + $202 = HEAP32[$17>>2]|0; + $203 = (($202) + 1)|0; + HEAP32[$17>>2] = $203; + $204 = HEAP32[$17>>2]|0; + $205 = HEAP32[$14>>2]|0; + $206 = ($204|0)<($205|0); + if ($206) { + $207 = HEAP32[$13>>2]|0; + $208 = HEAP32[$17>>2]|0; + $209 = (($207) + ($208)|0); + $210 = HEAP8[$209>>0]|0; + $211 = $210&255; + $212 = ($211|0)==(0); + if ($212) { + $213 = HEAP32[$9>>2]|0; + $214 = HEAP32[$213>>2]|0; + $215 = HEAP32[$9>>2]|0; + $216 = ((($215)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = (($217) + 1)|0; + HEAP32[$216>>2] = $218; + $219 = (($214) + ($217)|0); + HEAP8[$219>>0] = 0; + $220 = HEAP32[$17>>2]|0; + $221 = (($220) + 1)|0; + HEAP32[$17>>2] = $221; + } + } + } + } + $222 = HEAP32[$9>>2]|0; + $223 = ((($222)) + 4|0); + $224 = HEAP32[$223>>2]|0; + $225 = HEAP32[$10>>2]|0; + $226 = ((($225)) + 4|0); + $227 = HEAP32[$226>>2]|0; + $228 = (($224) + ($227))|0; + $229 = HEAP32[$6>>2]|0; + $230 = ($228|0)>=($229|0); + if (!($230)) { + continue; + } + $231 = HEAP32[$1>>2]|0; + _fts5WriteFlushLeaf($231,$11); + continue; + } + $232 = HEAP32[$13>>2]|0; + $233 = HEAP32[$17>>2]|0; + $234 = (($232) + ($233)|0); + $235 = (_fts5GetPoslistSize($234,$19,$18)|0); + HEAP32[$20>>2] = $235; + $236 = HEAP32[$19>>2]|0; + $237 = HEAP32[$20>>2]|0; + $238 = (($237) + ($236))|0; + HEAP32[$20>>2] = $238; + $239 = HEAP32[$9>>2]|0; + $240 = ((($239)) + 4|0); + $241 = HEAP32[$240>>2]|0; + $242 = HEAP32[$10>>2]|0; + $243 = ((($242)) + 4|0); + $244 = HEAP32[$243>>2]|0; + $245 = (($241) + ($244))|0; + $246 = HEAP32[$20>>2]|0; + $247 = (($245) + ($246))|0; + $248 = HEAP32[$6>>2]|0; + $249 = ($247|0)<=($248|0); + L33: do { + if ($249) { + $250 = HEAP32[$9>>2]|0; + $251 = HEAP32[$250>>2]|0; + $252 = HEAP32[$9>>2]|0; + $253 = ((($252)) + 4|0); + $254 = HEAP32[$253>>2]|0; + $255 = (($251) + ($254)|0); + $256 = HEAP32[$13>>2]|0; + $257 = HEAP32[$17>>2]|0; + $258 = (($256) + ($257)|0); + $259 = HEAP32[$20>>2]|0; + _memcpy(($255|0),($258|0),($259|0))|0; + $260 = HEAP32[$20>>2]|0; + $261 = HEAP32[$9>>2]|0; + $262 = ((($261)) + 4|0); + $263 = HEAP32[$262>>2]|0; + $264 = (($263) + ($260))|0; + HEAP32[$262>>2] = $264; + } else { + $265 = HEAP32[$13>>2]|0; + $266 = HEAP32[$17>>2]|0; + $267 = (($265) + ($266)|0); + HEAP32[$21>>2] = $267; + HEAP32[$22>>2] = 0; + while(1) { + $268 = HEAP32[$1>>2]|0; + $269 = ((($268)) + 36|0); + $270 = HEAP32[$269>>2]|0; + $271 = ($270|0)==(0); + if (!($271)) { + break L33; + } + $272 = HEAP32[$6>>2]|0; + $273 = HEAP32[$9>>2]|0; + $274 = ((($273)) + 4|0); + $275 = HEAP32[$274>>2]|0; + $276 = (($272) - ($275))|0; + $277 = HEAP32[$10>>2]|0; + $278 = ((($277)) + 4|0); + $279 = HEAP32[$278>>2]|0; + $280 = (($276) - ($279))|0; + HEAP32[$23>>2] = $280; + HEAP32[$24>>2] = 0; + $281 = HEAP32[$20>>2]|0; + $282 = HEAP32[$22>>2]|0; + $283 = (($281) - ($282))|0; + $284 = HEAP32[$23>>2]|0; + $285 = ($283|0)<=($284|0); + if ($285) { + $286 = HEAP32[$20>>2]|0; + $287 = HEAP32[$22>>2]|0; + $288 = (($286) - ($287))|0; + HEAP32[$24>>2] = $288; + } else { + $289 = HEAP32[$21>>2]|0; + $290 = HEAP32[$22>>2]|0; + $291 = (($289) + ($290)|0); + $292 = HEAP32[$23>>2]|0; + $293 = (_fts5PoslistPrefix($291,$292)|0); + HEAP32[$24>>2] = $293; + } + $294 = HEAP32[$9>>2]|0; + $295 = HEAP32[$294>>2]|0; + $296 = HEAP32[$9>>2]|0; + $297 = ((($296)) + 4|0); + $298 = HEAP32[$297>>2]|0; + $299 = (($295) + ($298)|0); + $300 = HEAP32[$21>>2]|0; + $301 = HEAP32[$22>>2]|0; + $302 = (($300) + ($301)|0); + $303 = HEAP32[$24>>2]|0; + _memcpy(($299|0),($302|0),($303|0))|0; + $304 = HEAP32[$24>>2]|0; + $305 = HEAP32[$9>>2]|0; + $306 = ((($305)) + 4|0); + $307 = HEAP32[$306>>2]|0; + $308 = (($307) + ($304))|0; + HEAP32[$306>>2] = $308; + $309 = HEAP32[$24>>2]|0; + $310 = HEAP32[$22>>2]|0; + $311 = (($310) + ($309))|0; + HEAP32[$22>>2] = $311; + $312 = HEAP32[$9>>2]|0; + $313 = ((($312)) + 4|0); + $314 = HEAP32[$313>>2]|0; + $315 = HEAP32[$10>>2]|0; + $316 = ((($315)) + 4|0); + $317 = HEAP32[$316>>2]|0; + $318 = (($314) + ($317))|0; + $319 = HEAP32[$6>>2]|0; + $320 = ($318|0)>=($319|0); + if ($320) { + $321 = HEAP32[$1>>2]|0; + _fts5WriteFlushLeaf($321,$11); + } + $322 = HEAP32[$22>>2]|0; + $323 = HEAP32[$20>>2]|0; + $324 = ($322|0)>=($323|0); + if ($324) { + break; + } + } + } + } while(0); + $325 = HEAP32[$20>>2]|0; + $326 = HEAP32[$17>>2]|0; + $327 = (($326) + ($325))|0; + HEAP32[$17>>2] = $327; + } + } + } while(0); + $328 = HEAP32[$2>>2]|0; + _sqlite3Fts5HashScanNext($328); } - return (0)|0; + _sqlite3Fts5HashClear($65); + $329 = HEAP32[$1>>2]|0; + _fts5WriteFinish($329,$11,$5); + $330 = HEAP32[$3>>2]|0; + $331 = ((($330)) + 20|0); + $332 = HEAP32[$331>>2]|0; + $333 = ($332|0)==(0); + if ($333) { + $334 = HEAP32[$1>>2]|0; + $335 = ((($334)) + 36|0); + _fts5StructureAddLevel($335,$3); + } + $336 = HEAP32[$1>>2]|0; + $337 = ((($336)) + 36|0); + $338 = HEAP32[$3>>2]|0; + _fts5StructureExtendLevel($337,$338,0,1,0); + $339 = HEAP32[$1>>2]|0; + $340 = ((($339)) + 36|0); + $341 = HEAP32[$340>>2]|0; + $342 = ($341|0)==(0); + if ($342) { + $343 = HEAP32[$3>>2]|0; + $344 = ((($343)) + 24|0); + $345 = ((($344)) + 8|0); + $346 = HEAP32[$345>>2]|0; + $347 = HEAP32[$3>>2]|0; + $348 = ((($347)) + 24|0); + $349 = ((($348)) + 4|0); + $350 = HEAP32[$349>>2]|0; + $351 = (($350) + 1)|0; + HEAP32[$349>>2] = $351; + $352 = (($346) + (($350*12)|0)|0); + HEAP32[$8>>2] = $352; + $353 = HEAP32[$4>>2]|0; + $354 = HEAP32[$8>>2]|0; + HEAP32[$354>>2] = $353; + $355 = HEAP32[$8>>2]|0; + $356 = ((($355)) + 4|0); + HEAP32[$356>>2] = 1; + $357 = HEAP32[$5>>2]|0; + $358 = HEAP32[$8>>2]|0; + $359 = ((($358)) + 8|0); + HEAP32[$359>>2] = $357; + $360 = HEAP32[$3>>2]|0; + $361 = ((($360)) + 16|0); + $362 = HEAP32[$361>>2]|0; + $363 = (($362) + 1)|0; + HEAP32[$361>>2] = $363; + } + $364 = HEAP32[$1>>2]|0; + $365 = HEAP32[$3>>2]|0; + _fts5StructurePromote($364,0,$365); + $366 = HEAP32[$1>>2]|0; + $367 = HEAP32[$5>>2]|0; + _fts5IndexAutomerge($366,$3,$367); + $368 = HEAP32[$1>>2]|0; + _fts5IndexCrisismerge($368,$3); + $369 = HEAP32[$1>>2]|0; + $370 = HEAP32[$3>>2]|0; + _fts5StructureWrite($369,$370); + $371 = HEAP32[$3>>2]|0; + _fts5StructureRelease($371); + STACKTOP = sp;return; } -function _pageFindSlot($pPg,$nByte,$pRc) { - $pPg = $pPg|0; - $nByte = $nByte|0; - $pRc = $pRc|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 $aData = 0, $hdr = 0, $iAddr = 0, $pc = 0, $size = 0, $usableSize = 0, $x = 0, label = 0, sp = 0; +function _fts5AllocateSegid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $hdr = sp + 24|0; - $aData = sp + 20|0; - $iAddr = sp + 16|0; - $pc = sp + 12|0; - $x = sp + 8|0; - $usableSize = sp + 4|0; - $size = sp; - HEAP32[$1>>2] = $pPg; - HEAP32[$2>>2] = $nByte; - HEAP32[$3>>2] = $pRc; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 5|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - HEAP32[$hdr>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 56|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$aData>>2] = $10; - $11 = HEAP32[$hdr>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[$iAddr>>2] = $12; - $13 = HEAP32[$iAddr>>2]|0; - $14 = HEAP32[$aData>>2]|0; - $15 = (($14) + ($13)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $17 << 8; - $19 = HEAP32[$iAddr>>2]|0; - $20 = HEAP32[$aData>>2]|0; - $21 = (($20) + ($19)|0); - $22 = ((($21)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $18 | $24; - HEAP32[$pc>>2] = $25; - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 52|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 36|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$usableSize>>2] = $30; + STACKTOP = STACKTOP + 288|0; + $2 = sp + 280|0; + $3 = sp + 276|0; + $4 = sp + 272|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 36|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + $79 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($79|0); + } + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>=(2000); + if ($18) { + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 36|0); + HEAP32[$20>>2] = 13; + $79 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($79|0); + } + _memset(($5|0),0,252)|0; + HEAP32[$6>>2] = 0; while(1) { - $31 = HEAP32[$pc>>2]|0; - $32 = HEAP32[$usableSize>>2]|0; - $33 = (($32) - 4)|0; - $34 = ($31|0)>($33|0); - if ($34) { - label = 4; - break; - } - $35 = HEAP32[$pc>>2]|0; - $36 = HEAP32[$iAddr>>2]|0; - $37 = (($36) + 4)|0; - $38 = ($35|0)<($37|0); - if ($38) { - label = 4; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($21|0)<($24|0); + if (!($25)) { break; } - $41 = HEAP32[$pc>>2]|0; - $42 = (($41) + 2)|0; - $43 = HEAP32[$aData>>2]|0; - $44 = (($43) + ($42)|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $47 = $46 << 8; - $48 = HEAP32[$pc>>2]|0; - $49 = (($48) + 2)|0; - $50 = HEAP32[$aData>>2]|0; - $51 = (($50) + ($49)|0); - $52 = ((($51)) + 1|0); - $53 = HEAP8[$52>>0]|0; - $54 = $53&255; - $55 = $47 | $54; - HEAP32[$size>>2] = $55; - $56 = HEAP32[$size>>2]|0; - $57 = HEAP32[$2>>2]|0; - $58 = (($56) - ($57))|0; - HEAP32[$x>>2] = $58; - $59 = ($58|0)>=(0); - $60 = HEAP32[$pc>>2]|0; - if ($59) { - label = 6; - break; + HEAP32[$7>>2] = 0; + while(1) { + $26 = HEAP32[$7>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 24|0); + $29 = HEAP32[$6>>2]|0; + $30 = (($28) + (($29*12)|0)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($26|0)<($32|0); + if (!($33)) { + break; + } + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 24|0); + $36 = HEAP32[$6>>2]|0; + $37 = (($35) + (($36*12)|0)|0); + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = (($39) + (($40*12)|0)|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$10>>2] = $42; + $43 = HEAP32[$10>>2]|0; + $44 = ($43|0)<=(2000); + if ($44) { + $45 = HEAP32[$10>>2]|0; + $46 = (($45) - 1)|0; + $47 = (($46|0) % 32)&-1; + $48 = 1 << $47; + $49 = HEAP32[$10>>2]|0; + $50 = (($49) - 1)|0; + $51 = (($50|0) / 32)&-1; + $52 = (($5) + ($51<<2)|0); + $53 = HEAP32[$52>>2]|0; + $54 = $53 | $48; + HEAP32[$52>>2] = $54; + } + $55 = HEAP32[$7>>2]|0; + $56 = (($55) + 1)|0; + HEAP32[$7>>2] = $56; } - HEAP32[$iAddr>>2] = $60; - $124 = HEAP32[$pc>>2]|0; - $125 = HEAP32[$aData>>2]|0; - $126 = (($125) + ($124)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $129 = $128 << 8; - $130 = HEAP32[$pc>>2]|0; - $131 = HEAP32[$aData>>2]|0; - $132 = (($131) + ($130)|0); - $133 = ((($132)) + 1|0); - $134 = HEAP8[$133>>0]|0; - $135 = $134&255; - $136 = $129 | $135; - HEAP32[$pc>>2] = $136; - $137 = HEAP32[$pc>>2]|0; - $138 = ($137|0)!=(0); - if (!($138)) { - label = 16; + $57 = HEAP32[$6>>2]|0; + $58 = (($57) + 1)|0; + HEAP32[$6>>2] = $58; + } + HEAP32[$8>>2] = 0; + while(1) { + $59 = HEAP32[$8>>2]|0; + $60 = (($5) + ($59<<2)|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(-1); + $63 = HEAP32[$8>>2]|0; + if (!($62)) { break; } + $64 = (($63) + 1)|0; + HEAP32[$8>>2] = $64; } - if ((label|0) == 4) { - $39 = (_sqlite3CorruptError(59680)|0); - $40 = HEAP32[$3>>2]|0; - HEAP32[$40>>2] = $39; - HEAP32[$0>>2] = 0; - $139 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($139|0); - } - else if ((label|0) == 6) { - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 14|0); - $63 = HEAP16[$62>>1]|0; - $64 = $63&65535; - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 18|0); - $67 = HEAP16[$66>>1]|0; - $68 = $67&65535; - $69 = $68<<1; - $70 = (($64) + ($69))|0; - $71 = ($60|0)<($70|0); + $65 = (($5) + ($63<<2)|0); + $66 = HEAP32[$65>>2]|0; + HEAP32[$9>>2] = $66; + HEAP32[$4>>2] = 0; + while(1) { + $67 = HEAP32[$9>>2]|0; + $68 = HEAP32[$4>>2]|0; + $69 = 1 << $68; + $70 = $67 & $69; + $71 = ($70|0)!=(0); if (!($71)) { - $72 = HEAP32[$size>>2]|0; - $73 = HEAP32[$pc>>2]|0; - $74 = (($72) + ($73))|0; - $75 = HEAP32[$usableSize>>2]|0; - $76 = ($74|0)>($75|0); - if (!($76)) { - $79 = HEAP32[$x>>2]|0; - $80 = ($79|0)<(4); - do { - if ($80) { - $81 = HEAP32[$hdr>>2]|0; - $82 = (($81) + 7)|0; - $83 = HEAP32[$aData>>2]|0; - $84 = (($83) + ($82)|0); - $85 = HEAP8[$84>>0]|0; - $86 = $85&255; - $87 = ($86|0)>(57); - if (!($87)) { - $88 = HEAP32[$iAddr>>2]|0; - $89 = HEAP32[$aData>>2]|0; - $90 = (($89) + ($88)|0); - $91 = HEAP32[$pc>>2]|0; - $92 = HEAP32[$aData>>2]|0; - $93 = (($92) + ($91)|0); - ;HEAP8[$90>>0]=HEAP8[$93>>0]|0;HEAP8[$90+1>>0]=HEAP8[$93+1>>0]|0; - $94 = HEAP32[$x>>2]|0; - $95 = $94&255; - $96 = $95&255; - $97 = HEAP32[$hdr>>2]|0; - $98 = (($97) + 7)|0; - $99 = HEAP32[$aData>>2]|0; - $100 = (($99) + ($98)|0); - $101 = HEAP8[$100>>0]|0; - $102 = $101&255; - $103 = (($102) + ($96))|0; - $104 = $103&255; - HEAP8[$100>>0] = $104; - break; - } - HEAP32[$0>>2] = 0; - $139 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($139|0); - } else { - $105 = HEAP32[$x>>2]|0; - $106 = $105 >> 8; - $107 = $106&255; - $108 = HEAP32[$pc>>2]|0; - $109 = (($108) + 2)|0; - $110 = HEAP32[$aData>>2]|0; - $111 = (($110) + ($109)|0); - HEAP8[$111>>0] = $107; - $112 = HEAP32[$x>>2]|0; - $113 = $112&255; - $114 = HEAP32[$pc>>2]|0; - $115 = (($114) + 2)|0; - $116 = HEAP32[$aData>>2]|0; - $117 = (($116) + ($115)|0); - $118 = ((($117)) + 1|0); - HEAP8[$118>>0] = $113; - } - } while(0); - $119 = HEAP32[$pc>>2]|0; - $120 = HEAP32[$x>>2]|0; - $121 = (($119) + ($120))|0; - $122 = HEAP32[$aData>>2]|0; - $123 = (($122) + ($121)|0); - HEAP32[$0>>2] = $123; - $139 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($139|0); - } + break; } - $77 = (_sqlite3CorruptError(59691)|0); - $78 = HEAP32[$3>>2]|0; - HEAP32[$78>>2] = $77; - HEAP32[$0>>2] = 0; - $139 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($139|0); - } - else if ((label|0) == 16) { - HEAP32[$0>>2] = 0; - $139 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($139|0); + $72 = HEAP32[$4>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$4>>2] = $73; } - return (0)|0; + $74 = HEAP32[$8>>2]|0; + $75 = $74<<5; + $76 = (1 + ($75))|0; + $77 = HEAP32[$4>>2]|0; + $78 = (($77) + ($76))|0; + HEAP32[$4>>2] = $78; + $79 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($79|0); } -function _freeSpace($pPage,$iStart,$iSize) { - $pPage = $pPage|0; - $iStart = $iStart|0; - $iSize = $iSize|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $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, $data = 0, $hdr = 0, $iEnd = 0, $iFreeBlk = 0, $iLast = 0, $iOrigSize = 0, $iPtr = 0, $iPtrEnd = 0, $nFrag = 0, label = 0, sp = 0; +function _fts5WriteInit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 32|0; - $3 = sp + 30|0; - $iPtr = sp + 28|0; - $iFreeBlk = sp + 26|0; - $hdr = sp + 35|0; - $nFrag = sp + 34|0; - $iOrigSize = sp + 24|0; - $iLast = sp + 12|0; - $iEnd = sp + 8|0; - $data = sp + 4|0; - $iPtrEnd = sp; - HEAP32[$1>>2] = $pPage; - HEAP16[$2>>1] = $iStart; - HEAP16[$3>>1] = $iSize; - HEAP8[$nFrag>>0] = 0; - $4 = HEAP16[$3>>1]|0; - HEAP16[$iOrigSize>>1] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 52|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 36|0); + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; $9 = HEAP32[$8>>2]|0; - $10 = (($9) - 4)|0; - HEAP32[$iLast>>2] = $10; - $11 = HEAP16[$2>>1]|0; - $12 = $11&65535; - $13 = HEAP16[$3>>1]|0; - $14 = $13&65535; - $15 = (($12) + ($14))|0; - HEAP32[$iEnd>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 56|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$data>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 52|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($21)) + 22|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23&65535; - $25 = $24 & 4; - $26 = ($25|0)!=(0); - if ($26) { - $27 = HEAP16[$2>>1]|0; - $28 = $27&65535; - $29 = HEAP32[$data>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP16[$3>>1]|0; - $32 = $31&65535; - _memset(($30|0),0,($32|0))|0; + $10 = ((($9)) + 68|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + 20)|0; + HEAP32[$6>>2] = $12; + $13 = HEAP32[$4>>2]|0; + dest=$13; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$4>>2]|0; + HEAP32[$15>>2] = $14; + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$4>>2]|0; + (_fts5WriteDlidxGrow($16,$17,1)|0); + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 4|0); + HEAP32[$19>>2] = 1; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 58|0); + HEAP8[$21>>0] = 1; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 88|0); + HEAP32[$23>>2] = 1; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 4|0); + $28 = ((($27)) + 20|0); + $29 = HEAP32[$6>>2]|0; + (_sqlite3Fts5BufferSize($25,$28,$29)|0); + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 36|0); + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 4|0); + $34 = ((($33)) + 8|0); + $35 = HEAP32[$6>>2]|0; + (_sqlite3Fts5BufferSize($31,$34,$35)|0); + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 52|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(0|0); + if ($39) { + $40 = HEAP32[$3>>2]|0; + $41 = HEAP32[$40>>2]|0; + HEAP32[$7>>2] = $41; + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 52|0); + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$7>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + HEAP32[$vararg_buffer>>2] = $47; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $50; + $51 = (_sqlite3_mprintf(50920,$vararg_buffer)|0); + (_fts5IndexPrepareStmt($42,$44,$51)|0); } - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 5|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$hdr>>0] = $35; - $36 = HEAP8[$hdr>>0]|0; - $37 = $36&255; - $38 = (($37) + 1)|0; - $39 = $38&65535; - HEAP16[$iPtr>>1] = $39; - $40 = HEAP16[$iPtr>>1]|0; - $41 = $40&65535; - $42 = (($41) + 1)|0; - $43 = HEAP32[$data>>2]|0; - $44 = (($43) + ($42)|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $47 = ($46|0)==(0); - if ($47) { - $48 = HEAP16[$iPtr>>1]|0; - $49 = $48&65535; - $50 = HEAP32[$data>>2]|0; - $51 = (($50) + ($49)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = ($53|0)==(0); - if ($54) { - HEAP16[$iFreeBlk>>1] = 0; - } else { - label = 6; - } - } else { - label = 6; + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 36|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==(0); + if (!($55)) { + STACKTOP = sp;return; } - do { - if ((label|0) == 6) { - while(1) { - label = 0; - $55 = HEAP16[$iPtr>>1]|0; - $56 = $55&65535; - $57 = HEAP32[$data>>2]|0; - $58 = (($57) + ($56)|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = $60 << 8; - $62 = HEAP16[$iPtr>>1]|0; - $63 = $62&65535; - $64 = HEAP32[$data>>2]|0; - $65 = (($64) + ($63)|0); - $66 = ((($65)) + 1|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - $69 = $61 | $68; - $70 = $69&65535; - HEAP16[$iFreeBlk>>1] = $70; - $71 = $70&65535; - $72 = HEAP16[$2>>1]|0; - $73 = $72&65535; - $74 = ($71|0)<($73|0); - if (!($74)) { - break; - } - $75 = HEAP16[$iFreeBlk>>1]|0; - $76 = $75&65535; - $77 = HEAP16[$iPtr>>1]|0; - $78 = $77&65535; - $79 = (($78) + 4)|0; - $80 = ($76|0)<($79|0); - $81 = HEAP16[$iFreeBlk>>1]|0; - if ($80) { - label = 8; - break; - } - HEAP16[$iPtr>>1] = $81; - label = 6; - } - if ((label|0) == 8) { - $82 = $81&65535; - $83 = ($82|0)==(0); - if (!($83)) { - $84 = (_sqlite3CorruptError(59854)|0); - HEAP32[$0>>2] = $84; - $344 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($344|0); - } - } - $85 = HEAP16[$iFreeBlk>>1]|0; - $86 = $85&65535; - $87 = HEAP32[$iLast>>2]|0; - $88 = ($86>>>0)>($87>>>0); - if ($88) { - $89 = (_sqlite3CorruptError(59858)|0); - HEAP32[$0>>2] = $89; - $344 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($344|0); - } - $90 = HEAP16[$iFreeBlk>>1]|0; - $91 = $90&65535; - $92 = ($91|0)!=(0); - do { - if ($92) { - $93 = HEAP32[$iEnd>>2]|0; - $94 = (($93) + 3)|0; - $95 = HEAP16[$iFreeBlk>>1]|0; - $96 = $95&65535; - $97 = ($94>>>0)>=($96>>>0); - if ($97) { - $98 = HEAP16[$iFreeBlk>>1]|0; - $99 = $98&65535; - $100 = HEAP32[$iEnd>>2]|0; - $101 = (($99) - ($100))|0; - $102 = $101&255; - HEAP8[$nFrag>>0] = $102; - $103 = HEAP32[$iEnd>>2]|0; - $104 = HEAP16[$iFreeBlk>>1]|0; - $105 = $104&65535; - $106 = ($103>>>0)>($105>>>0); - if ($106) { - $107 = (_sqlite3CorruptError(59869)|0); - HEAP32[$0>>2] = $107; - $344 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($344|0); - } - $108 = HEAP16[$iFreeBlk>>1]|0; - $109 = $108&65535; - $110 = HEAP16[$iFreeBlk>>1]|0; - $111 = $110&65535; - $112 = (($111) + 2)|0; - $113 = HEAP32[$data>>2]|0; - $114 = (($113) + ($112)|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = $116 << 8; - $118 = HEAP16[$iFreeBlk>>1]|0; - $119 = $118&65535; - $120 = (($119) + 2)|0; - $121 = HEAP32[$data>>2]|0; - $122 = (($121) + ($120)|0); - $123 = ((($122)) + 1|0); - $124 = HEAP8[$123>>0]|0; - $125 = $124&255; - $126 = $117 | $125; - $127 = (($109) + ($126))|0; - HEAP32[$iEnd>>2] = $127; - $128 = HEAP32[$iEnd>>2]|0; - $129 = HEAP32[$1>>2]|0; - $130 = ((($129)) + 52|0); - $131 = HEAP32[$130>>2]|0; - $132 = ((($131)) + 36|0); - $133 = HEAP32[$132>>2]|0; - $134 = ($128>>>0)>($133>>>0); - if (!($134)) { - $136 = HEAP32[$iEnd>>2]|0; - $137 = HEAP16[$2>>1]|0; - $138 = $137&65535; - $139 = (($136) - ($138))|0; - $140 = $139&65535; - HEAP16[$3>>1] = $140; - $141 = HEAP16[$iFreeBlk>>1]|0; - $142 = $141&65535; - $143 = HEAP32[$data>>2]|0; - $144 = (($143) + ($142)|0); - $145 = HEAP8[$144>>0]|0; - $146 = $145&255; - $147 = $146 << 8; - $148 = HEAP16[$iFreeBlk>>1]|0; - $149 = $148&65535; - $150 = HEAP32[$data>>2]|0; - $151 = (($150) + ($149)|0); - $152 = ((($151)) + 1|0); - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = $147 | $154; - $156 = $155&65535; - HEAP16[$iFreeBlk>>1] = $156; - break; - } - $135 = (_sqlite3CorruptError(59871)|0); - HEAP32[$0>>2] = $135; - $344 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($344|0); - } - } - } while(0); - $157 = HEAP16[$iPtr>>1]|0; - $158 = $157&65535; - $159 = HEAP8[$hdr>>0]|0; - $160 = $159&255; - $161 = (($160) + 1)|0; - $162 = ($158|0)>($161|0); - do { - if ($162) { - $163 = HEAP16[$iPtr>>1]|0; - $164 = $163&65535; - $165 = HEAP16[$iPtr>>1]|0; - $166 = $165&65535; - $167 = (($166) + 2)|0; - $168 = HEAP32[$data>>2]|0; - $169 = (($168) + ($167)|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $172 = $171 << 8; - $173 = HEAP16[$iPtr>>1]|0; - $174 = $173&65535; - $175 = (($174) + 2)|0; - $176 = HEAP32[$data>>2]|0; - $177 = (($176) + ($175)|0); - $178 = ((($177)) + 1|0); - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = $172 | $180; - $182 = (($164) + ($181))|0; - HEAP32[$iPtrEnd>>2] = $182; - $183 = HEAP32[$iPtrEnd>>2]|0; - $184 = (($183) + 3)|0; - $185 = HEAP16[$2>>1]|0; - $186 = $185&65535; - $187 = ($184|0)>=($186|0); - if ($187) { - $188 = HEAP32[$iPtrEnd>>2]|0; - $189 = HEAP16[$2>>1]|0; - $190 = $189&65535; - $191 = ($188|0)>($190|0); - if (!($191)) { - $193 = HEAP16[$2>>1]|0; - $194 = $193&65535; - $195 = HEAP32[$iPtrEnd>>2]|0; - $196 = (($194) - ($195))|0; - $197 = HEAP8[$nFrag>>0]|0; - $198 = $197&255; - $199 = (($198) + ($196))|0; - $200 = $199&255; - HEAP8[$nFrag>>0] = $200; - $201 = HEAP32[$iEnd>>2]|0; - $202 = HEAP16[$iPtr>>1]|0; - $203 = $202&65535; - $204 = (($201) - ($203))|0; - $205 = $204&65535; - HEAP16[$3>>1] = $205; - $206 = HEAP16[$iPtr>>1]|0; - HEAP16[$2>>1] = $206; - break; - } - $192 = (_sqlite3CorruptError(59883)|0); - HEAP32[$0>>2] = $192; - $344 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($344|0); - } - } - } while(0); - $207 = HEAP8[$nFrag>>0]|0; - $208 = $207&255; - $209 = HEAP8[$hdr>>0]|0; - $210 = $209&255; - $211 = (($210) + 7)|0; - $212 = HEAP32[$data>>2]|0; - $213 = (($212) + ($211)|0); - $214 = HEAP8[$213>>0]|0; - $215 = $214&255; - $216 = ($208|0)>($215|0); - if (!($216)) { - $218 = HEAP8[$nFrag>>0]|0; - $219 = $218&255; - $220 = HEAP8[$hdr>>0]|0; - $221 = $220&255; - $222 = (($221) + 7)|0; - $223 = HEAP32[$data>>2]|0; - $224 = (($223) + ($222)|0); - $225 = HEAP8[$224>>0]|0; - $226 = $225&255; - $227 = (($226) - ($219))|0; - $228 = $227&255; - HEAP8[$224>>0] = $228; - break; - } - $217 = (_sqlite3CorruptError(59889)|0); - HEAP32[$0>>2] = $217; - $344 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($344|0); - } - } while(0); - $229 = HEAP16[$2>>1]|0; - $230 = $229&65535; - $231 = HEAP8[$hdr>>0]|0; - $232 = $231&255; - $233 = (($232) + 5)|0; - $234 = HEAP32[$data>>2]|0; - $235 = (($234) + ($233)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = $237 << 8; - $239 = HEAP8[$hdr>>0]|0; - $240 = $239&255; - $241 = (($240) + 5)|0; - $242 = HEAP32[$data>>2]|0; - $243 = (($242) + ($241)|0); - $244 = ((($243)) + 1|0); - $245 = HEAP8[$244>>0]|0; - $246 = $245&255; - $247 = $238 | $246; - $248 = ($230|0)==($247|0); - do { - if ($248) { - $249 = HEAP16[$iPtr>>1]|0; - $250 = $249&65535; - $251 = HEAP8[$hdr>>0]|0; - $252 = $251&255; - $253 = (($252) + 1)|0; - $254 = ($250|0)!=($253|0); - if (!($254)) { - $256 = HEAP16[$iFreeBlk>>1]|0; - $257 = $256&65535; - $258 = $257 >> 8; - $259 = $258&255; - $260 = HEAP8[$hdr>>0]|0; - $261 = $260&255; - $262 = (($261) + 1)|0; - $263 = HEAP32[$data>>2]|0; - $264 = (($263) + ($262)|0); - HEAP8[$264>>0] = $259; - $265 = HEAP16[$iFreeBlk>>1]|0; - $266 = $265&255; - $267 = HEAP8[$hdr>>0]|0; - $268 = $267&255; - $269 = (($268) + 1)|0; - $270 = HEAP32[$data>>2]|0; - $271 = (($270) + ($269)|0); - $272 = ((($271)) + 1|0); - HEAP8[$272>>0] = $266; - $273 = HEAP32[$iEnd>>2]|0; - $274 = $273 >>> 8; - $275 = $274&255; - $276 = HEAP8[$hdr>>0]|0; - $277 = $276&255; - $278 = (($277) + 5)|0; - $279 = HEAP32[$data>>2]|0; - $280 = (($279) + ($278)|0); - HEAP8[$280>>0] = $275; - $281 = HEAP32[$iEnd>>2]|0; - $282 = $281&255; - $283 = HEAP8[$hdr>>0]|0; - $284 = $283&255; - $285 = (($284) + 5)|0; - $286 = HEAP32[$data>>2]|0; - $287 = (($286) + ($285)|0); - $288 = ((($287)) + 1|0); - HEAP8[$288>>0] = $282; - break; - } - $255 = (_sqlite3CorruptError(59896)|0); - HEAP32[$0>>2] = $255; - $344 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($344|0); - } else { - $289 = HEAP16[$2>>1]|0; - $290 = $289&65535; - $291 = $290 >> 8; - $292 = $291&255; - $293 = HEAP16[$iPtr>>1]|0; - $294 = $293&65535; - $295 = HEAP32[$data>>2]|0; - $296 = (($295) + ($294)|0); - HEAP8[$296>>0] = $292; - $297 = HEAP16[$2>>1]|0; - $298 = $297&255; - $299 = HEAP16[$iPtr>>1]|0; - $300 = $299&65535; - $301 = HEAP32[$data>>2]|0; - $302 = (($301) + ($300)|0); - $303 = ((($302)) + 1|0); - HEAP8[$303>>0] = $298; - $304 = HEAP16[$iFreeBlk>>1]|0; - $305 = $304&65535; - $306 = $305 >> 8; - $307 = $306&255; - $308 = HEAP16[$2>>1]|0; - $309 = $308&65535; - $310 = HEAP32[$data>>2]|0; - $311 = (($310) + ($309)|0); - HEAP8[$311>>0] = $307; - $312 = HEAP16[$iFreeBlk>>1]|0; - $313 = $312&255; - $314 = HEAP16[$2>>1]|0; - $315 = $314&65535; - $316 = HEAP32[$data>>2]|0; - $317 = (($316) + ($315)|0); - $318 = ((($317)) + 1|0); - HEAP8[$318>>0] = $313; - $319 = HEAP16[$3>>1]|0; - $320 = $319&65535; - $321 = $320 >> 8; - $322 = $321&255; - $323 = HEAP16[$2>>1]|0; - $324 = $323&65535; - $325 = (($324) + 2)|0; - $326 = HEAP32[$data>>2]|0; - $327 = (($326) + ($325)|0); - HEAP8[$327>>0] = $322; - $328 = HEAP16[$3>>1]|0; - $329 = $328&255; - $330 = HEAP16[$2>>1]|0; - $331 = $330&65535; - $332 = (($331) + 2)|0; - $333 = HEAP32[$data>>2]|0; - $334 = (($333) + ($332)|0); - $335 = ((($334)) + 1|0); - HEAP8[$335>>0] = $329; - } - } while(0); - $336 = HEAP16[$iOrigSize>>1]|0; - $337 = $336&65535; - $338 = HEAP32[$1>>2]|0; - $339 = ((($338)) + 16|0); - $340 = HEAP16[$339>>1]|0; - $341 = $340&65535; - $342 = (($341) + ($337))|0; - $343 = $342&65535; - HEAP16[$339>>1] = $343; - HEAP32[$0>>2] = 0; - $344 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($344|0); + $56 = HEAP32[$4>>2]|0; + $57 = ((($56)) + 4|0); + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + ;HEAP8[$59>>0]=0|0;HEAP8[$59+1>>0]=0|0;HEAP8[$59+2>>0]=0|0;HEAP8[$59+3>>0]=0|0; + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 4|0); + $62 = ((($61)) + 8|0); + $63 = ((($62)) + 4|0); + HEAP32[$63>>2] = 4; + $64 = HEAP32[$3>>2]|0; + $65 = ((($64)) + 52|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = HEAP32[$67>>2]|0; + (_sqlite3_bind_int($66,1,$68)|0); + STACKTOP = sp;return; } -function _computeCellSize($p,$N) { - $p = $p|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3Fts5HashScanEof($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $N; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 4|0); + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 16|0); $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 76|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($10<<2)|0); - $15 = HEAP32[$14>>2]|0; - $16 = (FUNCTION_TABLE_iii[$6 & 255]($9,$15)|0); - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($17<<1)|0); - HEAP16[$21>>1] = $16; - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($22<<1)|0); - $27 = HEAP16[$26>>1]|0; - STACKTOP = sp;return ($27|0); + $5 = ($4|0)==(0|0); + $6 = $5&1; + STACKTOP = sp;return ($6|0); } -function _allocateSpace($pPage,$nByte,$pIdx) { - $pPage = $pPage|0; - $nByte = $nByte|0; - $pIdx = $pIdx|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $data = 0, $gap = 0, $hdr = 0, $pSpace = 0, $rc = 0, $top = 0, label = 0, sp = 0; +function _fts5WriteAppendTerm($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $hdr = sp + 20|0; - $data = sp + 16|0; - $top = sp + 12|0; - $rc = sp + 8|0; - $gap = sp + 4|0; - $pSpace = sp; - HEAP32[$1>>2] = $pPage; - HEAP32[$2>>2] = $nByte; - HEAP32[$3>>2] = $pIdx; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 5|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - HEAP32[$hdr>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 56|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$data>>2] = $10; - HEAP32[$rc>>2] = 0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 14|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 18|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = $18<<1; - $20 = (($14) + ($19))|0; - HEAP32[$gap>>2] = $20; - $21 = HEAP32[$hdr>>2]|0; - $22 = (($21) + 5)|0; - $23 = HEAP32[$data>>2]|0; - $24 = (($23) + ($22)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = $26 << 8; - $28 = HEAP32[$hdr>>2]|0; - $29 = (($28) + 5)|0; - $30 = HEAP32[$data>>2]|0; - $31 = (($30) + ($29)|0); - $32 = ((($31)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $27 | $34; - HEAP32[$top>>2] = $35; - $36 = HEAP32[$gap>>2]|0; - $37 = HEAP32[$top>>2]|0; - $38 = ($36|0)>($37|0); - do { - if ($38) { - $39 = HEAP32[$top>>2]|0; - $40 = ($39|0)==(0); - if ($40) { - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 52|0); - $43 = HEAP32[$42>>2]|0; - $44 = ((($43)) + 36|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(65536); - if ($46) { - HEAP32[$top>>2] = 65536; - break; - } - } - $47 = (_sqlite3CorruptError(59758)|0); - HEAP32[$0>>2] = $47; - $128 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($128|0); - } - } while(0); - $48 = HEAP32[$hdr>>2]|0; - $49 = (($48) + 2)|0; - $50 = HEAP32[$data>>2]|0; - $51 = (($50) + ($49)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = ($53|0)!=(0); - if ($54) { - label = 8; - } else { - $55 = HEAP32[$hdr>>2]|0; - $56 = (($55) + 1)|0; - $57 = HEAP32[$data>>2]|0; - $58 = (($57) + ($56)|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = ($60|0)!=(0); - if ($61) { - label = 8; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 4|0); + HEAP32[$9>>2] = $13; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 4|0); + $16 = ((($15)) + 20|0); + HEAP32[$10>>2] = $16; + $17 = HEAP32[$9>>2]|0; + $18 = ((($17)) + 8|0); + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$10>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($20) + ($23))|0; + $25 = HEAP32[$6>>2]|0; + $26 = (($24) + ($25))|0; + $27 = (($26) + 2)|0; + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = ((($29)) + 68|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($27|0)>=($31|0); + if ($32) { + $33 = HEAP32[$9>>2]|0; + $34 = ((($33)) + 8|0); + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)>(4); + if ($37) { + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$5>>2]|0; + _fts5WriteFlushLeaf($38,$39); } - } - if ((label|0) == 8) { - $62 = HEAP32[$gap>>2]|0; - $63 = (($62) + 2)|0; - $64 = HEAP32[$top>>2]|0; - $65 = ($63|0)<=($64|0); - if ($65) { - $66 = HEAP32[$1>>2]|0; - $67 = HEAP32[$2>>2]|0; - $68 = (_pageFindSlot($66,$67,$rc)|0); - HEAP32[$pSpace>>2] = $68; - $69 = HEAP32[$pSpace>>2]|0; - $70 = ($69|0)!=(0|0); - if ($70) { - $71 = HEAP32[$pSpace>>2]|0; - $72 = HEAP32[$data>>2]|0; - $73 = $71; - $74 = $72; - $75 = (($73) - ($74))|0; - $76 = HEAP32[$3>>2]|0; - HEAP32[$76>>2] = $75; - HEAP32[$0>>2] = 0; - $128 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($128|0); - } - $77 = HEAP32[$rc>>2]|0; - $78 = ($77|0)!=(0); - if ($78) { - $79 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $79; - $128 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($128|0); - } + $40 = HEAP32[$9>>2]|0; + $41 = ((($40)) + 8|0); + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$6>>2]|0; + $45 = (($44) + 20)|0; + $46 = (($43) + ($45))|0; + $47 = HEAP32[$9>>2]|0; + $48 = ((($47)) + 8|0); + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($46>>>0)<=($50>>>0); + if (!($51)) { + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 36|0); + $54 = HEAP32[$9>>2]|0; + $55 = ((($54)) + 8|0); + $56 = HEAP32[$6>>2]|0; + $57 = (($56) + 20)|0; + $58 = HEAP32[$9>>2]|0; + $59 = ((($58)) + 8|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = (($57) + ($61))|0; + (_sqlite3Fts5BufferSize($53,$55,$62)|0); } } - $80 = HEAP32[$gap>>2]|0; - $81 = (($80) + 2)|0; - $82 = HEAP32[$2>>2]|0; - $83 = (($81) + ($82))|0; - $84 = HEAP32[$top>>2]|0; - $85 = ($83|0)>($84|0); - do { - if ($85) { - $86 = HEAP32[$1>>2]|0; - $87 = (_defragmentPage($86)|0); - HEAP32[$rc>>2] = $87; - $88 = HEAP32[$rc>>2]|0; - $89 = ($88|0)!=(0); - if (!($89)) { - $91 = HEAP32[$hdr>>2]|0; - $92 = (($91) + 5)|0; - $93 = HEAP32[$data>>2]|0; - $94 = (($93) + ($92)|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = $96 << 8; - $98 = HEAP32[$hdr>>2]|0; - $99 = (($98) + 5)|0; - $100 = HEAP32[$data>>2]|0; - $101 = (($100) + ($99)|0); - $102 = ((($101)) + 1|0); - $103 = HEAP8[$102>>0]|0; - $104 = $103&255; - $105 = $97 | $104; - $106 = (($105) - 1)|0; - $107 = $106 & 65535; - $108 = (($107) + 1)|0; - HEAP32[$top>>2] = $108; - break; + $63 = HEAP32[$10>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$10>>2]|0; + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($64) + ($67)|0); + $69 = HEAP32[$9>>2]|0; + $70 = ((($69)) + 8|0); + $71 = ((($70)) + 4|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$9>>2]|0; + $74 = ((($73)) + 4|0); + $75 = HEAP32[$74>>2]|0; + $76 = (($72) - ($75))|0; + $77 = ($76|0)<(0); + $78 = $77 << 31 >> 31; + $79 = (_sqlite3Fts5PutVarint($68,$76,$78)|0); + $80 = HEAP32[$10>>2]|0; + $81 = ((($80)) + 4|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82) + ($79))|0; + HEAP32[$81>>2] = $83; + $84 = HEAP32[$9>>2]|0; + $85 = ((($84)) + 8|0); + $86 = ((($85)) + 4|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$9>>2]|0; + $89 = ((($88)) + 4|0); + HEAP32[$89>>2] = $87; + $90 = HEAP32[$5>>2]|0; + $91 = ((($90)) + 58|0); + $92 = HEAP8[$91>>0]|0; + $93 = ($92<<24>>24)!=(0); + if ($93) { + HEAP32[$8>>2] = 0; + $94 = HEAP32[$9>>2]|0; + $95 = HEAP32[$94>>2]|0; + $96 = ($95|0)!=(1); + if ($96) { + $97 = HEAP32[$6>>2]|0; + HEAP32[$11>>2] = $97; + $98 = HEAP32[$9>>2]|0; + $99 = ((($98)) + 32|0); + $100 = ((($99)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)!=(0); + if ($102) { + $103 = HEAP32[$9>>2]|0; + $104 = ((($103)) + 32|0); + $105 = ((($104)) + 4|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$9>>2]|0; + $108 = ((($107)) + 32|0); + $109 = HEAP32[$108>>2]|0; + $110 = HEAP32[$7>>2]|0; + $111 = (_fts5PrefixCompress($106,$109,$110)|0); + $112 = (1 + ($111))|0; + HEAP32[$11>>2] = $112; } - $90 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $90; - $128 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($128|0); + $113 = HEAP32[$4>>2]|0; + $114 = HEAP32[$5>>2]|0; + $115 = HEAP32[$11>>2]|0; + $116 = HEAP32[$7>>2]|0; + _fts5WriteBtreeTerm($113,$114,$115,$116); + $117 = HEAP32[$5>>2]|0; + $118 = ((($117)) + 4|0); + HEAP32[$9>>2] = $118; } - } while(0); - $109 = HEAP32[$2>>2]|0; - $110 = HEAP32[$top>>2]|0; - $111 = (($110) - ($109))|0; - HEAP32[$top>>2] = $111; - $112 = HEAP32[$top>>2]|0; - $113 = $112 >> 8; - $114 = $113&255; - $115 = HEAP32[$hdr>>2]|0; - $116 = (($115) + 5)|0; - $117 = HEAP32[$data>>2]|0; - $118 = (($117) + ($116)|0); - HEAP8[$118>>0] = $114; - $119 = HEAP32[$top>>2]|0; - $120 = $119&255; - $121 = HEAP32[$hdr>>2]|0; - $122 = (($121) + 5)|0; - $123 = HEAP32[$data>>2]|0; - $124 = (($123) + ($122)|0); - $125 = ((($124)) + 1|0); - HEAP8[$125>>0] = $120; - $126 = HEAP32[$top>>2]|0; - $127 = HEAP32[$3>>2]|0; - HEAP32[$127>>2] = $126; - HEAP32[$0>>2] = 0; - $128 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($128|0); + } else { + $119 = HEAP32[$9>>2]|0; + $120 = ((($119)) + 32|0); + $121 = ((($120)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$9>>2]|0; + $124 = ((($123)) + 32|0); + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$7>>2]|0; + $127 = (_fts5PrefixCompress($122,$125,$126)|0); + HEAP32[$8>>2] = $127; + $128 = HEAP32[$4>>2]|0; + $129 = ((($128)) + 36|0); + $130 = HEAP32[$9>>2]|0; + $131 = ((($130)) + 8|0); + $132 = HEAP32[$8>>2]|0; + $133 = ($132|0)<(0); + $134 = $133 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($129,$131,$132,$134); + } + $135 = HEAP32[$4>>2]|0; + $136 = ((($135)) + 36|0); + $137 = HEAP32[$9>>2]|0; + $138 = ((($137)) + 8|0); + $139 = HEAP32[$6>>2]|0; + $140 = HEAP32[$8>>2]|0; + $141 = (($139) - ($140))|0; + $142 = ($141|0)<(0); + $143 = $142 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($136,$138,$141,$143); + $144 = HEAP32[$4>>2]|0; + $145 = ((($144)) + 36|0); + $146 = HEAP32[$9>>2]|0; + $147 = ((($146)) + 8|0); + $148 = HEAP32[$6>>2]|0; + $149 = HEAP32[$8>>2]|0; + $150 = (($148) - ($149))|0; + $151 = HEAP32[$7>>2]|0; + $152 = HEAP32[$8>>2]|0; + $153 = (($151) + ($152)|0); + _sqlite3Fts5BufferAppendBlob($145,$147,$150,$153); + $154 = HEAP32[$4>>2]|0; + $155 = ((($154)) + 36|0); + $156 = HEAP32[$9>>2]|0; + $157 = ((($156)) + 32|0); + $158 = HEAP32[$6>>2]|0; + $159 = HEAP32[$7>>2]|0; + _sqlite3Fts5BufferSet($155,$157,$158,$159); + $160 = HEAP32[$5>>2]|0; + $161 = ((($160)) + 58|0); + HEAP8[$161>>0] = 0; + $162 = HEAP32[$5>>2]|0; + $163 = ((($162)) + 57|0); + HEAP8[$163>>0] = 0; + $164 = HEAP32[$5>>2]|0; + $165 = ((($164)) + 56|0); + HEAP8[$165>>0] = 1; + $166 = HEAP32[$9>>2]|0; + $167 = HEAP32[$166>>2]|0; + $168 = HEAP32[$5>>2]|0; + $169 = ((($168)) + 72|0); + $170 = HEAP32[$169>>2]|0; + HEAP32[$170>>2] = $167; + STACKTOP = sp;return; } -function _fillInCell($pPage,$pCell,$pX,$pnSize) { - $pPage = $pPage|0; - $pCell = $pCell|0; - $pX = $pX|0; - $pnSize = $pnSize|0; - var $$ = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $eType = 0, $mn = 0, $n = 0, $nHeader = 0, $nPayload = 0, $nSrc = 0, $or$cond = 0, $pBt = 0, $pOvfl = 0, $pPayload = 0, $pPrior = 0, $pSrc = 0, $pToRelease = 0, $pgnoOvfl = 0, $pgnoPtrmap = 0, $rc = 0, $spaceLeft = 0, label = 0, sp = 0; +function _fts5PutU16($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = sp + 60|0; - $nPayload = sp + 56|0; - $pSrc = sp + 52|0; - $nSrc = sp + 48|0; - $n = sp + 44|0; - $rc = sp + 40|0; - $spaceLeft = sp + 36|0; - $pOvfl = sp + 32|0; - $pToRelease = sp + 28|0; - $pPrior = sp + 24|0; - $pPayload = sp + 20|0; - $pBt = sp + 16|0; - $pgnoOvfl = sp + 12|0; - $nHeader = sp + 8|0; - $mn = sp + 4|0; - $pgnoPtrmap = sp; - $eType = sp + 80|0; - HEAP32[$1>>2] = $pPage; - HEAP32[$2>>2] = $pCell; - HEAP32[$3>>2] = $pX; - HEAP32[$4>>2] = $pnSize; - HEAP32[$pOvfl>>2] = 0; - HEAP32[$pToRelease>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 52|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pBt>>2] = $7; - HEAP32[$pgnoOvfl>>2] = 0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 6|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - HEAP32[$nHeader>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)!=(0); - $16 = HEAP32[$3>>2]|0; - if ($15) { - $17 = ((($16)) + 20|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$3>>2]|0; - $20 = ((($19)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($18) + ($21))|0; - HEAP32[$nPayload>>2] = $22; - $23 = HEAP32[$3>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pSrc>>2] = $25; - $26 = HEAP32[$3>>2]|0; - $27 = ((($26)) + 20|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$nSrc>>2] = $28; - $29 = HEAP32[$nPayload>>2]|0; - $30 = ($29>>>0)<(128); - if ($30) { - $31 = HEAP32[$nPayload>>2]|0; - $32 = $31&255; - $33 = HEAP32[$nHeader>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = (($34) + ($33)|0); - HEAP8[$35>>0] = $32; - $44 = 1; - } else { - $36 = HEAP32[$nHeader>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = (($37) + ($36)|0); - $39 = HEAP32[$nPayload>>2]|0; - $40 = ($39|0)<(0); - $41 = $40 << 31 >> 31; - $42 = (_sqlite3PutVarint($38,$39,$41)|0); - $44 = $42; - } - $43 = $44&255; - $45 = $43&255; - $46 = HEAP32[$nHeader>>2]|0; - $47 = (($46) + ($45))|0; - HEAP32[$nHeader>>2] = $47; - $48 = HEAP32[$nHeader>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = (($49) + ($48)|0); - $51 = HEAP32[$3>>2]|0; - $52 = ((($51)) + 8|0); - $53 = $52; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (($53) + 4)|0; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = (_sqlite3PutVarint($50,$55,$58)|0); - $60 = HEAP32[$nHeader>>2]|0; - $61 = (($60) + ($59))|0; - HEAP32[$nHeader>>2] = $61; - } else { - $62 = ((($16)) + 8|0); - $63 = $62; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (($63) + 4)|0; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - HEAP32[$nPayload>>2] = $65; - HEAP32[$nSrc>>2] = $65; - $69 = HEAP32[$3>>2]|0; - $70 = HEAP32[$69>>2]|0; - HEAP32[$pSrc>>2] = $70; - $71 = HEAP32[$nPayload>>2]|0; - $72 = ($71>>>0)<(128); - if ($72) { - $73 = HEAP32[$nPayload>>2]|0; - $74 = $73&255; - $75 = HEAP32[$nHeader>>2]|0; - $76 = HEAP32[$2>>2]|0; - $77 = (($76) + ($75)|0); - HEAP8[$77>>0] = $74; - $86 = 1; - } else { - $78 = HEAP32[$nHeader>>2]|0; - $79 = HEAP32[$2>>2]|0; - $80 = (($79) + ($78)|0); - $81 = HEAP32[$nPayload>>2]|0; - $82 = ($81|0)<(0); - $83 = $82 << 31 >> 31; - $84 = (_sqlite3PutVarint($80,$81,$83)|0); - $86 = $84; - } - $85 = $86&255; - $87 = $85&255; - $88 = HEAP32[$nHeader>>2]|0; - $89 = (($88) + ($87))|0; - HEAP32[$nHeader>>2] = $89; - } - $90 = HEAP32[$nPayload>>2]|0; - $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 10|0); - $93 = HEAP16[$92>>1]|0; - $94 = $93&65535; - $95 = ($90|0)<=($94|0); - if ($95) { - $96 = HEAP32[$nHeader>>2]|0; - $97 = HEAP32[$nPayload>>2]|0; - $98 = (($96) + ($97))|0; - HEAP32[$n>>2] = $98; - $99 = HEAP32[$n>>2]|0; - $100 = ($99|0)<(4); - $$ = $100 ? 4 : $98; - HEAP32[$n>>2] = $$; - $101 = HEAP32[$n>>2]|0; - $102 = HEAP32[$4>>2]|0; - HEAP32[$102>>2] = $101; - $103 = HEAP32[$nPayload>>2]|0; - HEAP32[$spaceLeft>>2] = $103; - $104 = HEAP32[$2>>2]|0; - HEAP32[$pPrior>>2] = $104; - } else { - $105 = HEAP32[$1>>2]|0; - $106 = ((($105)) + 12|0); - $107 = HEAP16[$106>>1]|0; - $108 = $107&65535; - HEAP32[$mn>>2] = $108; - $109 = HEAP32[$mn>>2]|0; - $110 = HEAP32[$nPayload>>2]|0; - $111 = HEAP32[$mn>>2]|0; - $112 = (($110) - ($111))|0; - $113 = HEAP32[$1>>2]|0; - $114 = ((($113)) + 52|0); - $115 = HEAP32[$114>>2]|0; - $116 = ((($115)) + 36|0); - $117 = HEAP32[$116>>2]|0; - $118 = (($117) - 4)|0; - $119 = (($112>>>0) % ($118>>>0))&-1; - $120 = (($109) + ($119))|0; - HEAP32[$n>>2] = $120; - $121 = HEAP32[$n>>2]|0; - $122 = HEAP32[$1>>2]|0; - $123 = ((($122)) + 10|0); - $124 = HEAP16[$123>>1]|0; - $125 = $124&65535; - $126 = ($121|0)>($125|0); - if ($126) { - $127 = HEAP32[$mn>>2]|0; - HEAP32[$n>>2] = $127; - } - $128 = HEAP32[$n>>2]|0; - HEAP32[$spaceLeft>>2] = $128; - $129 = HEAP32[$n>>2]|0; - $130 = HEAP32[$nHeader>>2]|0; - $131 = (($129) + ($130))|0; - $132 = (($131) + 4)|0; - $133 = HEAP32[$4>>2]|0; - HEAP32[$133>>2] = $132; - $134 = HEAP32[$nHeader>>2]|0; - $135 = HEAP32[$n>>2]|0; - $136 = (($134) + ($135))|0; - $137 = HEAP32[$2>>2]|0; - $138 = (($137) + ($136)|0); - HEAP32[$pPrior>>2] = $138; - } - $139 = HEAP32[$nHeader>>2]|0; - $140 = HEAP32[$2>>2]|0; - $141 = (($140) + ($139)|0); - HEAP32[$pPayload>>2] = $141; + STACKTOP = STACKTOP + 16|0; + $2 = sp; + $3 = sp + 4|0; + HEAP32[$2>>2] = $0; + HEAP16[$3>>1] = $1; + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 >> 8; + $7 = $6&255; + $8 = HEAP32[$2>>2]|0; + HEAP8[$8>>0] = $7; + $9 = HEAP16[$3>>1]|0; + $10 = $9&65535; + $11 = $10 & 255; + $12 = $11&255; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 1|0); + HEAP8[$14>>0] = $12; + STACKTOP = sp;return; +} +function _fts5WriteDlidxAppend($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 24|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 16|0; + $10 = sp + 32|0; + $11 = sp + 8|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $13 = $6; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $3; + HEAP32[$8>>2] = 0; + HEAP32[$7>>2] = 0; while(1) { - $142 = HEAP32[$nPayload>>2]|0; - $143 = ($142|0)>(0); - if (!($143)) { - label = 35; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 36|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + $21 = HEAP32[$8>>2]|0; + $22 = ($21|0)==(0); + $23 = $20 ? $22 : 0; + if (!($23)) { break; } - $144 = HEAP32[$spaceLeft>>2]|0; - $145 = ($144|0)==(0); - if ($145) { - $146 = HEAP32[$pgnoOvfl>>2]|0; - HEAP32[$pgnoPtrmap>>2] = $146; - $147 = HEAP32[$pBt>>2]|0; - $148 = ((($147)) + 17|0); - $149 = HEAP8[$148>>0]|0; - $150 = ($149<<24>>24)!=(0); - if ($150) { - while(1) { - $151 = HEAP32[$pgnoOvfl>>2]|0; - $152 = (($151) + 1)|0; - HEAP32[$pgnoOvfl>>2] = $152; - $153 = HEAP32[$pBt>>2]|0; - $154 = HEAP32[$pgnoOvfl>>2]|0; - $155 = (_ptrmapPageno($153,$154)|0); - $156 = HEAP32[$pgnoOvfl>>2]|0; - $157 = ($155|0)==($156|0); - if ($157) { - continue; - } - $158 = HEAP32[$pgnoOvfl>>2]|0; - $159 = HEAP32[1536>>2]|0; - $160 = HEAP32[$pBt>>2]|0; - $161 = ((($160)) + 32|0); - $162 = HEAP32[$161>>2]|0; - $163 = (($159>>>0) / ($162>>>0))&-1; - $164 = (($163) + 1)|0; - $165 = ($158|0)==($164|0); - if (!($165)) { - break; - } - } - } - $166 = HEAP32[$pBt>>2]|0; - $167 = HEAP32[$pgnoOvfl>>2]|0; - $168 = (_allocateBtreePage($166,$pOvfl,$pgnoOvfl,$167,0)|0); - HEAP32[$rc>>2] = $168; - $169 = HEAP32[$pBt>>2]|0; - $170 = ((($169)) + 17|0); - $171 = HEAP8[$170>>0]|0; - $172 = $171&255; - $173 = ($172|0)!=(0); - $174 = HEAP32[$rc>>2]|0; - $175 = ($174|0)==(0); - $or$cond = $173 & $175; - if ($or$cond) { - $176 = HEAP32[$pgnoPtrmap>>2]|0; - $177 = ($176|0)!=(0); - $178 = $177 ? 4 : 3; - $179 = $178&255; - HEAP8[$eType>>0] = $179; - $180 = HEAP32[$pBt>>2]|0; - $181 = HEAP32[$pgnoOvfl>>2]|0; - $182 = HEAP8[$eType>>0]|0; - $183 = HEAP32[$pgnoPtrmap>>2]|0; - _ptrmapPut($180,$181,$182,$183,$rc); - $184 = HEAP32[$rc>>2]|0; - $185 = ($184|0)!=(0); - if ($185) { - $186 = HEAP32[$pOvfl>>2]|0; - _releasePage($186); + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 72|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$7>>2]|0; + $28 = (($26) + ($27<<5)|0); + HEAP32[$10>>2] = $28; + $29 = HEAP32[$10>>2]|0; + $30 = ((($29)) + 16|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 68|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($32|0)>=($36|0); + if ($37) { + $38 = HEAP32[$10>>2]|0; + $39 = ((($38)) + 16|0); + $40 = HEAP32[$39>>2]|0; + HEAP8[$40>>0] = 1; + $41 = HEAP32[$4>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)<(0); + $45 = $44 << 31 >> 31; + $46 = (_bitshift64Shl(($43|0),($45|0),37)|0); + $47 = tempRet0; + $48 = (_i64Add(($46|0),($47|0),0,16)|0); + $49 = tempRet0; + $50 = HEAP32[$7>>2]|0; + $51 = ($50|0)<(0); + $52 = $51 << 31 >> 31; + $53 = (_bitshift64Shl(($50|0),($52|0),31)|0); + $54 = tempRet0; + $55 = (_i64Add(($48|0),($49|0),($53|0),($54|0))|0); + $56 = tempRet0; + $57 = HEAP32[$10>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)<(0); + $60 = $59 << 31 >> 31; + $61 = (_i64Add(($55|0),($56|0),($58|0),($60|0))|0); + $62 = tempRet0; + $63 = HEAP32[$10>>2]|0; + $64 = ((($63)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$10>>2]|0; + $67 = ((($66)) + 16|0); + $68 = ((($67)) + 4|0); + $69 = HEAP32[$68>>2]|0; + _fts5DataWrite($41,$61,$62,$65,$69); + $70 = HEAP32[$4>>2]|0; + $71 = HEAP32[$5>>2]|0; + $72 = HEAP32[$7>>2]|0; + $73 = (($72) + 2)|0; + (_fts5WriteDlidxGrow($70,$71,$73)|0); + $74 = HEAP32[$5>>2]|0; + $75 = ((($74)) + 72|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$7>>2]|0; + $78 = (($76) + ($77<<5)|0); + HEAP32[$10>>2] = $78; + $79 = HEAP32[$4>>2]|0; + $80 = ((($79)) + 36|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==(0); + if ($82) { + $83 = HEAP32[$10>>2]|0; + $84 = ((($83)) + 32|0); + $85 = ((($84)) + 16|0); + $86 = ((($85)) + 4|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($87|0)==(0); + if ($88) { + $89 = HEAP32[$10>>2]|0; + $90 = ((($89)) + 16|0); + $91 = (_fts5DlidxExtractFirstRowid($90)|0); + $92 = tempRet0; + $93 = $11; + $94 = $93; + HEAP32[$94>>2] = $91; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = HEAP32[$10>>2]|0; + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$10>>2]|0; + $100 = ((($99)) + 32|0); + HEAP32[$100>>2] = $98; + $101 = HEAP32[$4>>2]|0; + $102 = ((($101)) + 36|0); + $103 = HEAP32[$10>>2]|0; + $104 = ((($103)) + 32|0); + $105 = ((($104)) + 16|0); + _sqlite3Fts5BufferAppendVarint($102,$105,0,0); + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 36|0); + $108 = HEAP32[$10>>2]|0; + $109 = ((($108)) + 32|0); + $110 = ((($109)) + 16|0); + $111 = HEAP32[$10>>2]|0; + $112 = HEAP32[$111>>2]|0; + $113 = ($112|0)<(0); + $114 = $113 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($107,$110,$112,$114); + $115 = HEAP32[$4>>2]|0; + $116 = ((($115)) + 36|0); + $117 = HEAP32[$10>>2]|0; + $118 = ((($117)) + 32|0); + $119 = ((($118)) + 16|0); + $120 = $11; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + _sqlite3Fts5BufferAppendVarint($116,$119,$122,$125); + $126 = HEAP32[$10>>2]|0; + $127 = ((($126)) + 32|0); + $128 = ((($127)) + 4|0); + HEAP32[$128>>2] = 1; + $129 = $11; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$10>>2]|0; + $136 = ((($135)) + 32|0); + $137 = ((($136)) + 8|0); + $138 = $137; + $139 = $138; + HEAP32[$139>>2] = $131; + $140 = (($138) + 4)|0; + $141 = $140; + HEAP32[$141>>2] = $134; } } - $187 = HEAP32[$rc>>2]|0; - $188 = ($187|0)!=(0); - if ($188) { - label = 25; - break; - } - $191 = HEAP32[$pPrior>>2]|0; - $192 = HEAP32[$pgnoOvfl>>2]|0; - _sqlite3Put4byte($191,$192); - $193 = HEAP32[$pToRelease>>2]|0; - _releasePage($193); - $194 = HEAP32[$pOvfl>>2]|0; - HEAP32[$pToRelease>>2] = $194; - $195 = HEAP32[$pOvfl>>2]|0; - $196 = ((($195)) + 56|0); - $197 = HEAP32[$196>>2]|0; - HEAP32[$pPrior>>2] = $197; - $198 = HEAP32[$pPrior>>2]|0; - _sqlite3Put4byte($198,0); - $199 = HEAP32[$pOvfl>>2]|0; - $200 = ((($199)) + 56|0); - $201 = HEAP32[$200>>2]|0; - $202 = ((($201)) + 4|0); - HEAP32[$pPayload>>2] = $202; - $203 = HEAP32[$pBt>>2]|0; - $204 = ((($203)) + 36|0); - $205 = HEAP32[$204>>2]|0; - $206 = (($205) - 4)|0; - HEAP32[$spaceLeft>>2] = $206; - } - $207 = HEAP32[$nPayload>>2]|0; - HEAP32[$n>>2] = $207; - $208 = HEAP32[$n>>2]|0; - $209 = HEAP32[$spaceLeft>>2]|0; - $210 = ($208|0)>($209|0); - if ($210) { - $211 = HEAP32[$spaceLeft>>2]|0; - HEAP32[$n>>2] = $211; + $142 = HEAP32[$10>>2]|0; + $143 = ((($142)) + 16|0); + _sqlite3Fts5BufferZero($143); + $144 = HEAP32[$10>>2]|0; + $145 = ((($144)) + 4|0); + HEAP32[$145>>2] = 0; + $146 = HEAP32[$10>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = (($147) + 1)|0; + HEAP32[$146>>2] = $148; + } else { + HEAP32[$8>>2] = 1; } - $212 = HEAP32[$nSrc>>2]|0; - $213 = ($212|0)>(0); - if ($213) { - $214 = HEAP32[$n>>2]|0; - $215 = HEAP32[$nSrc>>2]|0; - $216 = ($214|0)>($215|0); - if ($216) { - $217 = HEAP32[$nSrc>>2]|0; - HEAP32[$n>>2] = $217; - } - $218 = HEAP32[$pPayload>>2]|0; - $219 = HEAP32[$pSrc>>2]|0; - $220 = HEAP32[$n>>2]|0; - _memcpy(($218|0),($219|0),($220|0))|0; + $149 = HEAP32[$10>>2]|0; + $150 = ((($149)) + 4|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)!=(0); + if ($152) { + $153 = $6; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = (($153) + 4)|0; + $157 = $156; + $158 = HEAP32[$157>>2]|0; + $159 = HEAP32[$10>>2]|0; + $160 = ((($159)) + 8|0); + $161 = $160; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = (_i64Subtract(($155|0),($158|0),($163|0),($166|0))|0); + $168 = tempRet0; + $169 = $9; + $170 = $169; + HEAP32[$170>>2] = $167; + $171 = (($169) + 4)|0; + $172 = $171; + HEAP32[$172>>2] = $168; } else { - $221 = HEAP32[$pPayload>>2]|0; - $222 = HEAP32[$n>>2]|0; - _memset(($221|0),0,($222|0))|0; - } - $223 = HEAP32[$n>>2]|0; - $224 = HEAP32[$nPayload>>2]|0; - $225 = (($224) - ($223))|0; - HEAP32[$nPayload>>2] = $225; - $226 = HEAP32[$n>>2]|0; - $227 = HEAP32[$pPayload>>2]|0; - $228 = (($227) + ($226)|0); - HEAP32[$pPayload>>2] = $228; - $229 = HEAP32[$n>>2]|0; - $230 = HEAP32[$pSrc>>2]|0; - $231 = (($230) + ($229)|0); - HEAP32[$pSrc>>2] = $231; - $232 = HEAP32[$n>>2]|0; - $233 = HEAP32[$nSrc>>2]|0; - $234 = (($233) - ($232))|0; - HEAP32[$nSrc>>2] = $234; - $235 = HEAP32[$n>>2]|0; - $236 = HEAP32[$spaceLeft>>2]|0; - $237 = (($236) - ($235))|0; - HEAP32[$spaceLeft>>2] = $237; - } - if ((label|0) == 25) { - $189 = HEAP32[$pToRelease>>2]|0; - _releasePage($189); - $190 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $190; - $239 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($239|0); - } - else if ((label|0) == 35) { - $238 = HEAP32[$pToRelease>>2]|0; - _releasePage($238); - HEAP32[$0>>2] = 0; - $239 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($239|0); - } - return (0)|0; -} -function _sqlite3VdbeSorterClose($db,$pCsr) { - $db = $db|0; - $pCsr = $pCsr|0; - var $0 = 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, $pSorter = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pSorter = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pCsr; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pSorter>>2] = $4; - $5 = HEAP32[$pSorter>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - STACKTOP = sp;return; + $173 = HEAP32[$7>>2]|0; + $174 = ($173|0)==(0); + if ($174) { + $175 = HEAP32[$5>>2]|0; + $176 = ((($175)) + 4|0); + $177 = HEAP32[$176>>2]|0; + $182 = $177; + } else { + $178 = HEAP32[$10>>2]|0; + $179 = ((($178)) + -32|0); + $180 = HEAP32[$179>>2]|0; + $182 = $180; + } + $181 = ($182|0)<(0); + $183 = $181 << 31 >> 31; + $184 = $12; + $185 = $184; + HEAP32[$185>>2] = $182; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = $183; + $188 = HEAP32[$4>>2]|0; + $189 = ((($188)) + 36|0); + $190 = HEAP32[$10>>2]|0; + $191 = ((($190)) + 16|0); + $192 = HEAP32[$8>>2]|0; + $193 = ($192|0)!=(0); + $194 = $193 ^ 1; + $195 = $194&1; + $196 = ($195|0)<(0); + $197 = $196 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($189,$191,$195,$197); + $198 = HEAP32[$4>>2]|0; + $199 = ((($198)) + 36|0); + $200 = HEAP32[$10>>2]|0; + $201 = ((($200)) + 16|0); + $202 = $12; + $203 = $202; + $204 = HEAP32[$203>>2]|0; + $205 = (($202) + 4)|0; + $206 = $205; + $207 = HEAP32[$206>>2]|0; + _sqlite3Fts5BufferAppendVarint($199,$201,$204,$207); + $208 = $6; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $9; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + } + $218 = HEAP32[$4>>2]|0; + $219 = ((($218)) + 36|0); + $220 = HEAP32[$10>>2]|0; + $221 = ((($220)) + 16|0); + $222 = $9; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + _sqlite3Fts5BufferAppendVarint($219,$221,$224,$227); + $228 = HEAP32[$10>>2]|0; + $229 = ((($228)) + 4|0); + HEAP32[$229>>2] = 1; + $230 = $6; + $231 = $230; + $232 = HEAP32[$231>>2]|0; + $233 = (($230) + 4)|0; + $234 = $233; + $235 = HEAP32[$234>>2]|0; + $236 = HEAP32[$10>>2]|0; + $237 = ((($236)) + 8|0); + $238 = $237; + $239 = $238; + HEAP32[$239>>2] = $232; + $240 = (($238) + 4)|0; + $241 = $240; + HEAP32[$241>>2] = $235; + $242 = HEAP32[$7>>2]|0; + $243 = (($242) + 1)|0; + HEAP32[$7>>2] = $243; } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$pSorter>>2]|0; - _sqlite3VdbeSorterReset($7,$8); - $9 = HEAP32[$pSorter>>2]|0; - $10 = ((($9)) + 36|0); - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - _sqlite3_free($12); - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$pSorter>>2]|0; - _sqlite3DbFree($13,$14); - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 16|0); - HEAP32[$16>>2] = 0; STACKTOP = sp;return; } -function _btreeCreateTable($p,$piTable,$createTabFlags) { - $p = $p|0; - $piTable = $piTable|0; - $createTabFlags = $createTabFlags|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; +function _fts5WriteFlushLeaf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $eType = 0, $iPtrPage = 0; - var $pBt = 0, $pPageMove = 0, $pRoot = 0, $pgnoMove = 0, $pgnoRoot = 0, $ptfFlags = 0, $rc = 0, label = 0, sp = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $pBt = sp + 28|0; - $pRoot = sp + 24|0; - $pgnoRoot = sp + 20|0; - $rc = sp + 16|0; - $ptfFlags = sp + 12|0; - $pgnoMove = sp + 8|0; - $pPageMove = sp + 4|0; - $eType = sp + 48|0; - $iPtrPage = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $piTable; - HEAP32[$3>>2] = $createTabFlags; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pBt>>2] = $6; - $7 = HEAP32[$pBt>>2]|0; - $8 = ((($7)) + 17|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)!=(0); - $11 = HEAP32[$pBt>>2]|0; - if ($10) { - _invalidateAllOverflowCache($11); - $12 = HEAP32[$1>>2]|0; - _sqlite3BtreeGetMeta($12,4,$pgnoRoot); - $13 = HEAP32[$pgnoRoot>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[$pgnoRoot>>2] = $14; - while(1) { - $15 = HEAP32[$pgnoRoot>>2]|0; - $16 = HEAP32[$pBt>>2]|0; - $17 = HEAP32[$pgnoRoot>>2]|0; - $18 = (_ptrmapPageno($16,$17)|0); - $19 = ($15|0)==($18|0); - if (!($19)) { - $20 = HEAP32[$pgnoRoot>>2]|0; - $21 = HEAP32[1536>>2]|0; - $22 = HEAP32[$pBt>>2]|0; - $23 = ((($22)) + 32|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($21>>>0) / ($24>>>0))&-1; - $26 = (($25) + 1)|0; - $27 = ($20|0)==($26|0); - if (!($27)) { - break; - } - } - $28 = HEAP32[$pgnoRoot>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$pgnoRoot>>2] = $29; - } - $30 = HEAP32[$pBt>>2]|0; - $31 = HEAP32[$pgnoRoot>>2]|0; - $32 = (_allocateBtreePage($30,$pPageMove,$pgnoMove,$31,1)|0); - HEAP32[$rc>>2] = $32; - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)!=(0); - if ($34) { - $35 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $35; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - $36 = HEAP32[$pgnoMove>>2]|0; - $37 = HEAP32[$pgnoRoot>>2]|0; - $38 = ($36|0)!=($37|0); - if ($38) { - HEAP8[$eType>>0] = 0; - HEAP32[$iPtrPage>>2] = 0; - $39 = HEAP32[$pBt>>2]|0; - $40 = (_saveAllCursors($39,0,0)|0); - HEAP32[$rc>>2] = $40; - $41 = HEAP32[$pPageMove>>2]|0; - _releasePage($41); - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)!=(0); - if ($43) { - $44 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $44; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - $45 = HEAP32[$pBt>>2]|0; - $46 = HEAP32[$pgnoRoot>>2]|0; - $47 = (_btreeGetPage($45,$46,$pRoot,0)|0); - HEAP32[$rc>>2] = $47; - $48 = HEAP32[$rc>>2]|0; - $49 = ($48|0)!=(0); - if ($49) { - $50 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $50; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - $51 = HEAP32[$pBt>>2]|0; - $52 = HEAP32[$pgnoRoot>>2]|0; - $53 = (_ptrmapGet($51,$52,$eType,$iPtrPage)|0); - HEAP32[$rc>>2] = $53; - $54 = HEAP8[$eType>>0]|0; - $55 = $54&255; - $56 = ($55|0)==(1); - if ($56) { - label = 15; - } else { - $57 = HEAP8[$eType>>0]|0; - $58 = $57&255; - $59 = ($58|0)==(2); - if ($59) { - label = 15; - } - } - if ((label|0) == 15) { - $60 = (_sqlite3CorruptError(66598)|0); - HEAP32[$rc>>2] = $60; - } - $61 = HEAP32[$rc>>2]|0; - $62 = ($61|0)!=(0); - if ($62) { - $63 = HEAP32[$pRoot>>2]|0; - _releasePage($63); - $64 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $64; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - $65 = HEAP32[$pBt>>2]|0; - $66 = HEAP32[$pRoot>>2]|0; - $67 = HEAP8[$eType>>0]|0; - $68 = HEAP32[$iPtrPage>>2]|0; - $69 = HEAP32[$pgnoMove>>2]|0; - $70 = (_relocatePage($65,$66,$67,$68,$69,0)|0); - HEAP32[$rc>>2] = $70; - $71 = HEAP32[$pRoot>>2]|0; - _releasePage($71); - $72 = HEAP32[$rc>>2]|0; - $73 = ($72|0)!=(0); - if ($73) { - $74 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $74; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - $75 = HEAP32[$pBt>>2]|0; - $76 = HEAP32[$pgnoRoot>>2]|0; - $77 = (_btreeGetPage($75,$76,$pRoot,0)|0); - HEAP32[$rc>>2] = $77; - $78 = HEAP32[$rc>>2]|0; - $79 = ($78|0)!=(0); - if ($79) { - $80 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $80; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - $81 = HEAP32[$pRoot>>2]|0; - $82 = ((($81)) + 72|0); - $83 = HEAP32[$82>>2]|0; - $84 = (_sqlite3PagerWrite($83)|0); - HEAP32[$rc>>2] = $84; - $85 = HEAP32[$rc>>2]|0; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$pRoot>>2]|0; - _releasePage($87); - $88 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $88; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - } else { - $89 = HEAP32[$pPageMove>>2]|0; - HEAP32[$pRoot>>2] = $89; - } - $90 = HEAP32[$pBt>>2]|0; - $91 = HEAP32[$pgnoRoot>>2]|0; - _ptrmapPut($90,$91,1,0,$rc); - $92 = HEAP32[$rc>>2]|0; - $93 = ($92|0)!=(0); - if ($93) { - $94 = HEAP32[$pRoot>>2]|0; - _releasePage($94); - $95 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $95; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - $96 = HEAP32[$1>>2]|0; - $97 = HEAP32[$pgnoRoot>>2]|0; - $98 = (_sqlite3BtreeUpdateMeta($96,4,$97)|0); - HEAP32[$rc>>2] = $98; - $99 = HEAP32[$rc>>2]|0; - $100 = ($99|0)!=(0); - if ($100) { - $101 = HEAP32[$pRoot>>2]|0; - _releasePage($101); - $102 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $102; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 4|0); + HEAP32[$4>>2] = $7; + $8 = HEAP32[13794]|0; + $9 = (($8) + 1)|0; + HEAP32[13794] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 2|0); + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 8|0); + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17&65535; + _fts5PutU16($13,$18); + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 58|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)!=(0); + $23 = HEAP32[$2>>2]|0; + if ($22) { + $24 = HEAP32[$3>>2]|0; + _fts5WriteBtreeNoTerm($23,$24); } else { - $103 = (_allocateBtreePage($11,$pRoot,$pgnoRoot,1,0)|0); - HEAP32[$rc>>2] = $103; - $104 = HEAP32[$rc>>2]|0; - $105 = ($104|0)!=(0); - if ($105) { - $106 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $106; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } + $25 = ((($23)) + 36|0); + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 20|0); + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = ((($32)) + 20|0); + $34 = HEAP32[$33>>2]|0; + _sqlite3Fts5BufferAppendBlob($25,$27,$31,$34); } - $107 = HEAP32[$3>>2]|0; - $108 = $107 & 1; - $109 = ($108|0)!=(0); - if ($109) { - HEAP32[$ptfFlags>>2] = 13; - } else { - HEAP32[$ptfFlags>>2] = 10; + $35 = HEAP32[$3>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)<(0); + $38 = $37 << 31 >> 31; + $39 = (_bitshift64Shl(($36|0),($38|0),37)|0); + $40 = tempRet0; + $41 = (_i64Add(($39|0),($40|0),0,0)|0); + $42 = tempRet0; + $43 = (_i64Add(($41|0),($42|0),0,0)|0); + $44 = tempRet0; + $45 = HEAP32[$4>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)<(0); + $48 = $47 << 31 >> 31; + $49 = (_i64Add(($43|0),($44|0),($46|0),($48|0))|0); + $50 = tempRet0; + $51 = $5; + $52 = $51; + HEAP32[$52>>2] = $49; + $53 = (($51) + 4)|0; + $54 = $53; + HEAP32[$54>>2] = $50; + $55 = HEAP32[$2>>2]|0; + $56 = $5; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 8|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$4>>2]|0; + $66 = ((($65)) + 8|0); + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + _fts5DataWrite($55,$58,$61,$64,$68); + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 8|0); + _sqlite3Fts5BufferZero($70); + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 20|0); + _sqlite3Fts5BufferZero($72); + $73 = HEAP32[$2>>2]|0; + $74 = ((($73)) + 36|0); + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 8|0); + _sqlite3Fts5BufferAppendBlob($74,$76,4,56049); + $77 = HEAP32[$4>>2]|0; + $78 = ((($77)) + 4|0); + HEAP32[$78>>2] = 0; + $79 = HEAP32[$4>>2]|0; + $80 = HEAP32[$79>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$79>>2] = $81; + $82 = HEAP32[$3>>2]|0; + $83 = ((($82)) + 60|0); + $84 = HEAP32[$83>>2]|0; + $85 = (($84) + 1)|0; + HEAP32[$83>>2] = $85; + $86 = HEAP32[$3>>2]|0; + $87 = ((($86)) + 58|0); + HEAP8[$87>>0] = 1; + $88 = HEAP32[$3>>2]|0; + $89 = ((($88)) + 57|0); + HEAP8[$89>>0] = 1; + STACKTOP = sp;return; +} +function _fts5PoslistPrefix($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = (_sqlite3Fts5GetVarint32($7,$5)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = ($9|0)<($10|0); + if (!($11)) { + $24 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($24|0); } - $110 = HEAP32[$pRoot>>2]|0; - $111 = HEAP32[$ptfFlags>>2]|0; - _zeroPage($110,$111); - $112 = HEAP32[$pRoot>>2]|0; - $113 = ((($112)) + 72|0); - $114 = HEAP32[$113>>2]|0; - _sqlite3PagerUnref($114); - $115 = HEAP32[$pgnoRoot>>2]|0; - $116 = HEAP32[$2>>2]|0; - HEAP32[$116>>2] = $115; - HEAP32[$0>>2] = 0; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); -} -function _btreeCursor($p,$iTable,$wrFlag,$pKeyInfo,$pCur) { - $p = $p|0; - $iTable = $iTable|0; - $wrFlag = $wrFlag|0; - $pKeyInfo = $pKeyInfo|0; - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $pBt = 0, $pX = 0, label = 0, sp = 0; + while(1) { + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = (($12) + ($13)|0); + $15 = (_sqlite3Fts5GetVarint32($14,$5)|0); + HEAP32[$6>>2] = $15; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$6>>2]|0; + $18 = (($16) + ($17))|0; + $19 = HEAP32[$3>>2]|0; + $20 = ($18|0)>($19|0); + if ($20) { + break; + } + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$4>>2]|0; + $23 = (($22) + ($21))|0; + HEAP32[$4>>2] = $23; + } + $24 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($24|0); +} +function _fts5WriteFinish($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; $3 = sp + 16|0; $4 = sp + 12|0; $5 = sp + 8|0; - $pBt = sp + 4|0; - $pX = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iTable; - HEAP32[$3>>2] = $wrFlag; - HEAP32[$4>>2] = $pKeyInfo; - HEAP32[$5>>2] = $pCur; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pBt>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$pBt>>2]|0; - _allocateTempSpace($11); - $12 = HEAP32[$pBt>>2]|0; - $13 = ((($12)) + 80|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if ($15) { - HEAP32[$0>>2] = 7; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 4|0); + HEAP32[$7>>2] = $9; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 36|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if ($13) { + $14 = HEAP32[$7>>2]|0; + $15 = ((($14)) + 8|0); + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(4); + if ($18) { + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + _fts5WriteFlushLeaf($19,$20); } - } - $16 = HEAP32[$2>>2]|0; - $17 = ($16|0)==(1); - if ($17) { - $18 = HEAP32[$pBt>>2]|0; - $19 = (_btreePagecount($18)|0); - $20 = ($19|0)==(0); - if ($20) { - HEAP32[$2>>2] = 0; + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = (($22) - 1)|0; + $24 = HEAP32[$5>>2]|0; + HEAP32[$24>>2] = $23; + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)>(1); + if ($27) { + $28 = HEAP32[$3>>2]|0; + $29 = HEAP32[$4>>2]|0; + _fts5WriteFlushBtree($28,$29); } } - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$5>>2]|0; - $23 = ((($22)) + 52|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$5>>2]|0; - $25 = ((($24)) + 68|0); - HEAP8[$25>>0] = -1; - $26 = HEAP32[$4>>2]|0; - $27 = HEAP32[$5>>2]|0; - $28 = ((($27)) + 72|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$5>>2]|0; - HEAP32[$30>>2] = $29; - $31 = HEAP32[$pBt>>2]|0; - $32 = HEAP32[$5>>2]|0; - $33 = ((($32)) + 4|0); - HEAP32[$33>>2] = $31; - $34 = HEAP32[$3>>2]|0; - $35 = ($34|0)!=(0); - $36 = $35 ? 1 : 0; - $37 = $36&255; - $38 = HEAP32[$5>>2]|0; - $39 = ((($38)) + 64|0); - HEAP8[$39>>0] = $37; - $40 = HEAP32[$3>>2]|0; - $41 = ($40|0)!=(0); - $42 = $41 ? 0 : 2; - $43 = $42&255; - $44 = HEAP32[$5>>2]|0; - $45 = ((($44)) + 65|0); - HEAP8[$45>>0] = $43; - $46 = HEAP32[$pBt>>2]|0; - $47 = ((($46)) + 8|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$pX>>2] = $48; + $30 = HEAP32[$7>>2]|0; + $31 = ((($30)) + 32|0); + _sqlite3Fts5BufferFree($31); + $32 = HEAP32[$7>>2]|0; + $33 = ((($32)) + 8|0); + _sqlite3Fts5BufferFree($33); + $34 = HEAP32[$7>>2]|0; + $35 = ((($34)) + 20|0); + _sqlite3Fts5BufferFree($35); + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 76|0); + _sqlite3Fts5BufferFree($37); + HEAP32[$6>>2] = 0; while(1) { - $49 = HEAP32[$pX>>2]|0; - $50 = ($49|0)!=(0|0); - if (!($50)) { + $38 = HEAP32[$6>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 68|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($38|0)<($41|0); + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 72|0); + $45 = HEAP32[$44>>2]|0; + if (!($42)) { break; } - $51 = HEAP32[$pX>>2]|0; - $52 = ((($51)) + 52|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$2>>2]|0; - $55 = ($53|0)==($54|0); - if ($55) { - $56 = HEAP32[$pX>>2]|0; - $57 = ((($56)) + 64|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = $59 | 32; - $61 = $60&255; - HEAP8[$57>>0] = $61; - $62 = HEAP32[$5>>2]|0; - $63 = ((($62)) + 64|0); - $64 = HEAP8[$63>>0]|0; - $65 = $64&255; - $66 = $65 | 32; - $67 = $66&255; - HEAP8[$63>>0] = $67; - } - $68 = HEAP32[$pX>>2]|0; - $69 = ((($68)) + 8|0); - $70 = HEAP32[$69>>2]|0; - HEAP32[$pX>>2] = $70; + $46 = HEAP32[$6>>2]|0; + $47 = (($45) + ($46<<5)|0); + $48 = ((($47)) + 16|0); + _sqlite3Fts5BufferFree($48); + $49 = HEAP32[$6>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$6>>2] = $50; } - $71 = HEAP32[$pBt>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = HEAP32[$5>>2]|0; - $75 = ((($74)) + 8|0); - HEAP32[$75>>2] = $73; - $76 = HEAP32[$5>>2]|0; - $77 = HEAP32[$pBt>>2]|0; - $78 = ((($77)) + 8|0); - HEAP32[$78>>2] = $76; - $79 = HEAP32[$5>>2]|0; - $80 = ((($79)) + 66|0); - HEAP8[$80>>0] = 0; - HEAP32[$0>>2] = 0; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); + _sqlite3_free($45); + STACKTOP = sp;return; } -function _allocateTempSpace($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _fts5StructureAddLevel($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pBt; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 80|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if (!($9)) { STACKTOP = sp;return; } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3PageMalloc($7)|0); - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 80|0); - HEAP32[$10>>2] = $8; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 80|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $11; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 20|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = (($15) + 1)|0; + $17 = ($16*12)|0; + $18 = (40 + ($17))|0; + HEAP32[$6>>2] = $18; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = (_sqlite3_realloc($19,$20)|0); + HEAP32[$4>>2] = $21; + $22 = HEAP32[$4>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 24|0); + $26 = HEAP32[$5>>2]|0; + $27 = (($25) + (($26*12)|0)|0); + ;HEAP32[$27>>2]=0|0;HEAP32[$27+4>>2]=0|0;HEAP32[$27+8>>2]=0|0; + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 20|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$29>>2] = $31; + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$3>>2]|0; + HEAP32[$33>>2] = $32; + STACKTOP = sp;return; + } else { + $34 = HEAP32[$2>>2]|0; + HEAP32[$34>>2] = 7; STACKTOP = sp;return; } - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 80|0); - $17 = HEAP32[$16>>2]|0; - ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0;HEAP8[$17+5>>0]=0|0;HEAP8[$17+6>>0]=0|0;HEAP8[$17+7>>0]=0|0; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 80|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($20)) + 4|0); - HEAP32[$19>>2] = $21; - STACKTOP = sp;return; -} -function _sqlite3BtreeCursorSize() { - var label = 0, sp = 0; - sp = STACKTOP; - return 200; } -function _sqlite3BtreeCursorZero($p) { - $p = $p|0; - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _fts5StructureExtendLevel($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - dest=$1; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = STACKTOP + 48|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0); + if (!($16)) { + STACKTOP = sp;return; + } + $17 = HEAP32[$6>>2]|0; + $18 = ((($17)) + 24|0); + $19 = HEAP32[$7>>2]|0; + $20 = (($18) + (($19*12)|0)|0); + HEAP32[$10>>2] = $20; + $21 = HEAP32[$10>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$8>>2]|0; + $25 = (($23) + ($24))|0; + $26 = ($25*12)|0; + HEAP32[$12>>2] = $26; + $27 = HEAP32[$10>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$12>>2]|0; + $31 = (_sqlite3_realloc($29,$30)|0); + HEAP32[$11>>2] = $31; + $32 = HEAP32[$11>>2]|0; + $33 = ($32|0)!=(0|0); + if (!($33)) { + $58 = HEAP32[$5>>2]|0; + HEAP32[$58>>2] = 7; + STACKTOP = sp;return; + } + $34 = HEAP32[$9>>2]|0; + $35 = ($34|0)==(0); + if ($35) { + $36 = HEAP32[$11>>2]|0; + $37 = HEAP32[$10>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($36) + (($39*12)|0)|0); + $41 = HEAP32[$8>>2]|0; + $42 = ($41*12)|0; + _memset(($40|0),0,($42|0))|0; + } else { + $43 = HEAP32[$10>>2]|0; + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45*12)|0; + HEAP32[$13>>2] = $46; + $47 = HEAP32[$11>>2]|0; + $48 = HEAP32[$8>>2]|0; + $49 = (($47) + (($48*12)|0)|0); + $50 = HEAP32[$11>>2]|0; + $51 = HEAP32[$13>>2]|0; + _memmove(($49|0),($50|0),($51|0))|0; + $52 = HEAP32[$11>>2]|0; + $53 = HEAP32[$8>>2]|0; + $54 = ($53*12)|0; + _memset(($52|0),0,($54|0))|0; + } + $55 = HEAP32[$11>>2]|0; + $56 = HEAP32[$10>>2]|0; + $57 = ((($56)) + 8|0); + HEAP32[$57>>2] = $55; STACKTOP = sp;return; } -function _sqlite3PagerOpenSavepoint($pPager,$nSavepoint) { - $pPager = $pPager|0; - $nSavepoint = $nSavepoint|0; - var $0 = 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, label = 0, sp = 0; +function _fts5StructurePromote($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $nSavepoint; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 104|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)>($6|0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 6|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)!=(0); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (_pagerOpenSavepoint($13,$14)|0); - HEAP32[$0>>2] = $15; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); - } + STACKTOP = STACKTOP + 64|0; + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 36|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + STACKTOP = sp;return; } - HEAP32[$0>>2] = 0; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); -} -function _pagerOpenSavepoint($pPager,$nSavepoint) { - $pPager = $pPager|0; - $nSavepoint = $nSavepoint|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $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, $aNew = 0, $ii = 0, $nCurrent = 0; - var $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; - $nCurrent = sp + 8|0; - $ii = sp + 4|0; - $aNew = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $nSavepoint; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 104|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$nCurrent>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 100|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = ($9*48)|0; - $11 = (_sqlite3Realloc($8,$10,0)|0); - HEAP32[$aNew>>2] = $11; - $12 = HEAP32[$aNew>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - HEAP32[$0>>2] = 7; - $116 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($116|0); + HEAP32[$7>>2] = -1; + HEAP32[$8>>2] = 0; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP32[$4>>2]|0; + $23 = (($21) + (($22*12)|0)|0); + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$11>>2] = $25; + $26 = HEAP32[$11>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + STACKTOP = sp;return; } - $14 = HEAP32[$nCurrent>>2]|0; - $15 = HEAP32[$aNew>>2]|0; - $16 = (($15) + (($14*48)|0)|0); - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$nCurrent>>2]|0; - $19 = (($17) - ($18))|0; - $20 = ($19*48)|0; - _memset(($16|0),0,($20|0))|0; - $21 = HEAP32[$aNew>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 100|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$nCurrent>>2]|0; - HEAP32[$ii>>2] = $24; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 24|0); + $30 = HEAP32[$4>>2]|0; + $31 = (($29) + (($30*12)|0)|0); + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$5>>2]|0; + $35 = ((($34)) + 24|0); + $36 = HEAP32[$4>>2]|0; + $37 = (($35) + (($36*12)|0)|0); + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) - 1)|0; + $41 = (($33) + (($40*12)|0)|0); + HEAP32[$9>>2] = $41; + $42 = HEAP32[$9>>2]|0; + $43 = ((($42)) + 8|0); + $44 = HEAP32[$43>>2]|0; + $45 = (1 + ($44))|0; + $46 = HEAP32[$9>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = (($45) - ($48))|0; + HEAP32[$10>>2] = $49; + $50 = HEAP32[$4>>2]|0; + $51 = (($50) - 1)|0; + HEAP32[$6>>2] = $51; while(1) { - $25 = HEAP32[$ii>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = ($25|0)<($26|0); - if (!($27)) { - label = 14; + $52 = HEAP32[$6>>2]|0; + $53 = ($52|0)>=(0); + if (!($53)) { break; } - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 28|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$ii>>2]|0; - $32 = HEAP32[$aNew>>2]|0; - $33 = (($32) + (($31*48)|0)|0); - $34 = ((($33)) + 20|0); - HEAP32[$34>>2] = $30; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 68|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)!=(0|0); - if ($39) { - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 80|0); - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)>(0); - $49 = ($44>>>0)>(0); - $50 = ($47|0)==(0); - $51 = $50 & $49; - $52 = $48 | $51; - if ($52) { - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 80|0); - $55 = $54; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (($55) + 4)|0; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$ii>>2]|0; - $62 = HEAP32[$aNew>>2]|0; - $63 = (($62) + (($61*48)|0)|0); - $64 = $63; - $65 = $64; - HEAP32[$65>>2] = $57; - $66 = (($64) + 4)|0; - $67 = $66; - HEAP32[$67>>2] = $60; - } else { - label = 8; - } - } else { - label = 8; - } - if ((label|0) == 8) { - label = 0; - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 156|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$ii>>2]|0; - $72 = HEAP32[$aNew>>2]|0; - $73 = (($72) + (($71*48)|0)|0); - $74 = $73; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = 0; - } - $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 56|0); - $80 = HEAP32[$79>>2]|0; - $81 = HEAP32[$ii>>2]|0; - $82 = HEAP32[$aNew>>2]|0; - $83 = (($82) + (($81*48)|0)|0); - $84 = ((($83)) + 24|0); - HEAP32[$84>>2] = $80; - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 28|0); - $87 = HEAP32[$86>>2]|0; - $88 = (_sqlite3BitvecCreate($87)|0); - $89 = HEAP32[$ii>>2]|0; - $90 = HEAP32[$aNew>>2]|0; - $91 = (($90) + (($89*48)|0)|0); - $92 = ((($91)) + 16|0); - HEAP32[$92>>2] = $88; - $93 = HEAP32[$ii>>2]|0; - $94 = HEAP32[$aNew>>2]|0; - $95 = (($94) + (($93*48)|0)|0); - $96 = ((($95)) + 16|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)!=(0|0); - if (!($98)) { - label = 10; + $54 = HEAP32[$5>>2]|0; + $55 = ((($54)) + 24|0); + $56 = HEAP32[$6>>2]|0; + $57 = (($55) + (($56*12)|0)|0); + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==(0); + if (!($60)) { break; } - $99 = HEAP32[$1>>2]|0; - $100 = (_sqlite3PagerUseWal($99)|0); - $101 = ($100|0)!=(0); - if ($101) { - $102 = HEAP32[$1>>2]|0; - $103 = ((($102)) + 216|0); - $104 = HEAP32[$103>>2]|0; - $105 = HEAP32[$ii>>2]|0; - $106 = HEAP32[$aNew>>2]|0; - $107 = (($106) + (($105*48)|0)|0); - $108 = ((($107)) + 28|0); - _sqlite3WalSavepoint($104,$108); - } - $109 = HEAP32[$ii>>2]|0; - $110 = (($109) + 1)|0; - $111 = HEAP32[$1>>2]|0; - $112 = ((($111)) + 104|0); - HEAP32[$112>>2] = $110; - $113 = HEAP32[$ii>>2]|0; - $114 = (($113) + 1)|0; - HEAP32[$ii>>2] = $114; - } - if ((label|0) == 10) { - HEAP32[$0>>2] = 7; - $116 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($116|0); + $61 = HEAP32[$6>>2]|0; + $62 = (($61) + -1)|0; + HEAP32[$6>>2] = $62; } - else if ((label|0) == 14) { - $115 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $115; - $116 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($116|0); + $63 = HEAP32[$6>>2]|0; + $64 = ($63|0)>=(0); + if ($64) { + HEAP32[$13>>2] = 0; + $65 = HEAP32[$5>>2]|0; + $66 = ((($65)) + 24|0); + $67 = HEAP32[$6>>2]|0; + $68 = (($66) + (($67*12)|0)|0); + HEAP32[$14>>2] = $68; + HEAP32[$12>>2] = 0; + while(1) { + $69 = HEAP32[$12>>2]|0; + $70 = HEAP32[$14>>2]|0; + $71 = ((($70)) + 4|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($69|0)<($72|0); + if (!($73)) { + break; + } + $74 = HEAP32[$14>>2]|0; + $75 = ((($74)) + 8|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$12>>2]|0; + $78 = (($76) + (($77*12)|0)|0); + $79 = ((($78)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$14>>2]|0; + $82 = ((($81)) + 8|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$12>>2]|0; + $85 = (($83) + (($84*12)|0)|0); + $86 = ((($85)) + 4|0); + $87 = HEAP32[$86>>2]|0; + $88 = (($80) - ($87))|0; + $89 = (($88) + 1)|0; + HEAP32[$15>>2] = $89; + $90 = HEAP32[$15>>2]|0; + $91 = HEAP32[$13>>2]|0; + $92 = ($90|0)>($91|0); + if ($92) { + $93 = HEAP32[$15>>2]|0; + HEAP32[$13>>2] = $93; + } + $94 = HEAP32[$12>>2]|0; + $95 = (($94) + 1)|0; + HEAP32[$12>>2] = $95; + } + $96 = HEAP32[$13>>2]|0; + $97 = HEAP32[$10>>2]|0; + $98 = ($96|0)>=($97|0); + if ($98) { + $99 = HEAP32[$6>>2]|0; + HEAP32[$7>>2] = $99; + $100 = HEAP32[$13>>2]|0; + HEAP32[$8>>2] = $100; + } } - return (0)|0; -} -function _sqlite3WalSavepoint($pWal,$aWalData) { - $pWal = $pWal|0; - $aWalData = $aWalData|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $aWalData; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 52|0); - $4 = ((($3)) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - HEAP32[$6>>2] = $5; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 52|0); - $9 = ((($8)) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 4|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 52|0); - $15 = ((($14)) + 24|0); - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 8|0); - HEAP32[$19>>2] = $17; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 112|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 12|0); - HEAP32[$24>>2] = $22; + $101 = HEAP32[$7>>2]|0; + $102 = ($101|0)<(0); + if ($102) { + $103 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $103; + $104 = HEAP32[$10>>2]|0; + HEAP32[$8>>2] = $104; + } + $105 = HEAP32[$3>>2]|0; + $106 = HEAP32[$7>>2]|0; + $107 = HEAP32[$8>>2]|0; + $108 = HEAP32[$5>>2]|0; + _fts5StructurePromoteTo($105,$106,$107,$108); STACKTOP = sp;return; } -function _newDatabase($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $data = 0, $pP1 = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _fts5IndexAutomerge($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pP1 = sp + 8|0; - $data = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pBt; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 44|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4>>>0)>(0); - if ($5) { - HEAP32[$0>>2] = 0; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp; + $8 = sp + 12|0; + $9 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 36|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + STACKTOP = sp;return; } - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pP1>>2] = $8; - $9 = HEAP32[$pP1>>2]|0; - $10 = ((($9)) + 56|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$data>>2] = $11; - $12 = HEAP32[$pP1>>2]|0; - $13 = ((($12)) + 72|0); - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3PagerWrite($14)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $18; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); - } else { - $19 = HEAP32[$data>>2]|0; - dest=$19; src=41796; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 32|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 >>> 8; - $24 = $23 & 255; - $25 = $24&255; - $26 = HEAP32[$data>>2]|0; - $27 = ((($26)) + 16|0); - HEAP8[$27>>0] = $25; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 32|0); - $30 = HEAP32[$29>>2]|0; - $31 = $30 >>> 16; - $32 = $31 & 255; - $33 = $32&255; - $34 = HEAP32[$data>>2]|0; - $35 = ((($34)) + 17|0); - HEAP8[$35>>0] = $33; - $36 = HEAP32[$data>>2]|0; - $37 = ((($36)) + 18|0); - HEAP8[$37>>0] = 1; - $38 = HEAP32[$data>>2]|0; - $39 = ((($38)) + 19|0); - HEAP8[$39>>0] = 1; - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 32|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 36|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($42) - ($45))|0; - $47 = $46&255; - $48 = HEAP32[$data>>2]|0; - $49 = ((($48)) + 20|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[$data>>2]|0; - $51 = ((($50)) + 21|0); - HEAP8[$51>>0] = 64; - $52 = HEAP32[$data>>2]|0; - $53 = ((($52)) + 22|0); - HEAP8[$53>>0] = 32; - $54 = HEAP32[$data>>2]|0; - $55 = ((($54)) + 23|0); - HEAP8[$55>>0] = 32; - $56 = HEAP32[$data>>2]|0; - $57 = ((($56)) + 24|0); - dest=$57; stop=dest+76|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $58 = HEAP32[$pP1>>2]|0; - _zeroPage($58,13); - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 22|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 | 2; - $64 = $63&65535; - HEAP16[$60>>1] = $64; - $65 = HEAP32[$data>>2]|0; - $66 = ((($65)) + 52|0); - $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 17|0); - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - _sqlite3Put4byte($66,$70); - $71 = HEAP32[$data>>2]|0; - $72 = ((($71)) + 64|0); - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 18|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - _sqlite3Put4byte($72,$76); - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 44|0); - HEAP32[$78>>2] = 1; - $79 = HEAP32[$data>>2]|0; - $80 = ((($79)) + 31|0); - HEAP8[$80>>0] = 1; - HEAP32[$0>>2] = 0; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 72|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(0); + if (!($18)) { + STACKTOP = sp;return; } - return (0)|0; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$19>>2]|0; + HEAP32[$6>>2] = $20; + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 8|0); + $23 = $22; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $7; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $33 = $7; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = (_i64Add(($35|0),($38|0),($39|0),($41|0))|0); + $43 = tempRet0; + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 8|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)<(0); + $48 = $47 << 31 >> 31; + $49 = (___udivdi3(($42|0),($43|0),($46|0),($48|0))|0); + $50 = tempRet0; + $51 = $7; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)<(0); + $61 = $60 << 31 >> 31; + $62 = (___udivdi3(($53|0),($56|0),($59|0),($61|0))|0); + $63 = tempRet0; + $64 = (_i64Subtract(($49|0),($50|0),($62|0),($63|0))|0); + $65 = tempRet0; + HEAP32[$8>>2] = $64; + $66 = HEAP32[$5>>2]|0; + $67 = ($66|0)<(0); + $68 = $67 << 31 >> 31; + $69 = HEAP32[$6>>2]|0; + $70 = ((($69)) + 8|0); + $71 = $70; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (_i64Add(($73|0),($76|0),($66|0),($68|0))|0); + $78 = tempRet0; + $79 = $70; + $80 = $79; + HEAP32[$80>>2] = $77; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + $83 = HEAP32[$3>>2]|0; + $84 = ((($83)) + 8|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$8>>2]|0; + $87 = Math_imul($85, $86)|0; + $88 = HEAP32[$6>>2]|0; + $89 = ((($88)) + 20|0); + $90 = HEAP32[$89>>2]|0; + $91 = Math_imul($87, $90)|0; + HEAP32[$9>>2] = $91; + $92 = HEAP32[$3>>2]|0; + $93 = HEAP32[$4>>2]|0; + $94 = HEAP32[$9>>2]|0; + $95 = HEAP32[$3>>2]|0; + $96 = HEAP32[$95>>2]|0; + $97 = ((($96)) + 72|0); + $98 = HEAP32[$97>>2]|0; + (_fts5IndexMerge($92,$93,$94,$98)|0); + STACKTOP = sp;return; } -function _putVarint64($p,$0,$1) { - $p = $p|0; +function _fts5IndexCrisismerge($0,$1) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $buf = 0; - var $i = 0, $j = 0, $n = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp; - $i = sp + 16|0; - $j = sp + 12|0; - $n = sp + 8|0; - $buf = sp + 28|0; - HEAP32[$3>>2] = $p; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = $4; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = $14 & -16777216; - $16 = (0)!=(0); - $17 = ($15|0)!=(0); - $18 = $16 | $17; - if ($18) { - $19 = $4; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = $21&255; - $26 = HEAP32[$3>>2]|0; - $27 = ((($26)) + 8|0); - HEAP8[$27>>0] = $25; - $28 = $4; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (($28) + 4)|0; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (_bitshift64Lshr(($30|0),($33|0),8)|0); - $35 = tempRet0; - $36 = $4; - $37 = $36; - HEAP32[$37>>2] = $34; - $38 = (($36) + 4)|0; - $39 = $38; - HEAP32[$39>>2] = $35; - HEAP32[$i>>2] = 7; - while(1) { - $40 = HEAP32[$i>>2]|0; - $41 = ($40|0)>=(0); - if (!($41)) { - break; - } - $42 = $4; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = $44 & 127; - $49 = $48 | 128; - $50 = $49&255; - $51 = HEAP32[$i>>2]|0; - $52 = HEAP32[$3>>2]|0; - $53 = (($52) + ($51)|0); - HEAP8[$53>>0] = $50; - $54 = $4; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (_bitshift64Lshr(($56|0),($59|0),7)|0); - $61 = tempRet0; - $62 = $4; - $63 = $62; - HEAP32[$63>>2] = $60; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - $66 = HEAP32[$i>>2]|0; - $67 = (($66) + -1)|0; - HEAP32[$i>>2] = $67; - } - HEAP32[$2>>2] = 9; - $120 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($120|0); - } - HEAP32[$n>>2] = 0; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + 76|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $10; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $12; + HEAP32[$6>>2] = 0; while(1) { - $68 = $4; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = $70 & 127; - $75 = $74 | 128; - $76 = $75&255; - $77 = HEAP32[$n>>2]|0; - $78 = (($77) + 1)|0; - HEAP32[$n>>2] = $78; - $79 = (($buf) + ($77)|0); - HEAP8[$79>>0] = $76; - $80 = $4; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = (($80) + 4)|0; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = (_bitshift64Lshr(($82|0),($85|0),7)|0); - $87 = tempRet0; - $88 = $4; - $89 = $88; - HEAP32[$89>>2] = $86; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - $92 = $4; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = ($94|0)!=(0); - $99 = ($97|0)!=(0); - $100 = $98 | $99; - if (!($100)) { + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 36|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0); + if (!($16)) { + label = 5; break; } - } - $101 = HEAP8[$buf>>0]|0; - $102 = $101&255; - $103 = $102 & 127; - $104 = $103&255; - HEAP8[$buf>>0] = $104; - HEAP32[$i>>2] = 0; - $105 = HEAP32[$n>>2]|0; - $106 = (($105) - 1)|0; - HEAP32[$j>>2] = $106; - while(1) { - $107 = HEAP32[$j>>2]|0; - $108 = ($107|0)>=(0); - if (!($108)) { + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 24|0); + $19 = HEAP32[$6>>2]|0; + $20 = (($18) + (($19*12)|0)|0); + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = ($22|0)>=($23|0); + if (!($24)) { + label = 5; break; } - $109 = HEAP32[$j>>2]|0; - $110 = (($buf) + ($109)|0); - $111 = HEAP8[$110>>0]|0; - $112 = HEAP32[$i>>2]|0; - $113 = HEAP32[$3>>2]|0; - $114 = (($113) + ($112)|0); - HEAP8[$114>>0] = $111; - $115 = HEAP32[$j>>2]|0; - $116 = (($115) + -1)|0; - HEAP32[$j>>2] = $116; - $117 = HEAP32[$i>>2]|0; - $118 = (($117) + 1)|0; - HEAP32[$i>>2] = $118; + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$6>>2]|0; + _fts5IndexMergeLevel($25,$5,$26,0); + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = (($28) + 1)|0; + $30 = HEAP32[$5>>2]|0; + _fts5StructurePromote($27,$29,$30); + $31 = HEAP32[$6>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$6>>2] = $32; + } + if ((label|0) == 5) { + $33 = HEAP32[$5>>2]|0; + $34 = HEAP32[$3>>2]|0; + HEAP32[$34>>2] = $33; + STACKTOP = sp;return; } - $119 = HEAP32[$n>>2]|0; - HEAP32[$2>>2] = $119; - $120 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($120|0); } -function _vdbeMemFromBtreeResize($pCur,$offset,$amt,$key,$pMem) { - $pCur = $pCur|0; - $offset = $offset|0; - $amt = $amt|0; - $key = $key|0; - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - var $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _fts5StructureWrite($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 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, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$1>>2] = $offset; - HEAP32[$2>>2] = $amt; - HEAP32[$3>>2] = $key; - HEAP32[$4>>2] = $pMem; - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 8|0); - HEAP16[$6>>1] = 1; - $7 = HEAP32[$4>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 2)|0; - $10 = (_sqlite3VdbeMemClearAndResize($7,$9)|0); - HEAP32[$rc>>2] = $10; - $11 = (0)==($10|0); - if (!($11)) { - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 36|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if (!($12)) { + STACKTOP = sp;return; } - $12 = HEAP32[$3>>2]|0; - $13 = ($12|0)!=(0); - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$4>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP32[$18>>2]|0; - if ($13) { - $20 = (_sqlite3BtreeKey($14,$15,$16,$19)|0); - HEAP32[$rc>>2] = $20; - } else { - $21 = (_sqlite3BtreeData($14,$15,$16,$19)|0); - HEAP32[$rc>>2] = $21; + ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 64|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$6>>2] = $16; + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)<(0); + $$ = $18 ? 0 : $16; + HEAP32[$6>>2] = $$; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 36|0); + $21 = (_sqlite3Fts5BufferSize($20,$4,31)|0); + $22 = (0)==($21|0); + if ($22) { + $23 = HEAP32[$4>>2]|0; + $24 = HEAP32[$6>>2]|0; + _sqlite3Fts5Put32($23,$24); + $25 = ((($4)) + 4|0); + HEAP32[$25>>2] = 4; + $26 = HEAP32[$4>>2]|0; + $27 = ((($4)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + ($28)|0); + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 20|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)<(0); + $34 = $33 << 31 >> 31; + $35 = (_sqlite3Fts5PutVarint($29,$32,$34)|0); + $36 = ((($4)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($37) + ($35))|0; + HEAP32[$36>>2] = $38; + $39 = HEAP32[$4>>2]|0; + $40 = ((($4)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + ($41)|0); + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 16|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)<(0); + $47 = $46 << 31 >> 31; + $48 = (_sqlite3Fts5PutVarint($42,$45,$47)|0); + $49 = ((($4)) + 4|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + ($48))|0; + HEAP32[$49>>2] = $51; + $52 = HEAP32[$4>>2]|0; + $53 = ((($4)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + ($54)|0); + $56 = HEAP32[$3>>2]|0; + $57 = ((($56)) + 8|0); + $58 = $57; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (_sqlite3Fts5PutVarint($55,$60,$63)|0); + $65 = ((($4)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = (($66) + ($64))|0; + HEAP32[$65>>2] = $67; } - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)==(0); - if ($23) { - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$4>>2]|0; - $26 = ((($25)) + 16|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + ($24)|0); - HEAP8[$28>>0] = 0; - $29 = HEAP32[$2>>2]|0; - $30 = (($29) + 1)|0; - $31 = HEAP32[$4>>2]|0; - $32 = ((($31)) + 16|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + ($30)|0); - HEAP8[$34>>0] = 0; - $35 = HEAP32[$4>>2]|0; - $36 = ((($35)) + 8|0); - HEAP16[$36>>1] = 528; - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$4>>2]|0; - $39 = ((($38)) + 12|0); - HEAP32[$39>>2] = $37; - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); - } else { - $40 = HEAP32[$4>>2]|0; - _sqlite3VdbeMemRelease($40); - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); + HEAP32[$5>>2] = 0; + while(1) { + $68 = HEAP32[$5>>2]|0; + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($68|0)<($71|0); + if (!($72)) { + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = ((($73)) + 24|0); + $75 = HEAP32[$5>>2]|0; + $76 = (($74) + (($75*12)|0)|0); + HEAP32[$8>>2] = $76; + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 36|0); + $79 = HEAP32[$8>>2]|0; + $80 = HEAP32[$79>>2]|0; + $81 = ($80|0)<(0); + $82 = $81 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($78,$4,$80,$82); + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 36|0); + $85 = HEAP32[$8>>2]|0; + $86 = ((($85)) + 4|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($87|0)<(0); + $89 = $88 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($84,$4,$87,$89); + HEAP32[$7>>2] = 0; + while(1) { + $90 = HEAP32[$7>>2]|0; + $91 = HEAP32[$8>>2]|0; + $92 = ((($91)) + 4|0); + $93 = HEAP32[$92>>2]|0; + $94 = ($90|0)<($93|0); + if (!($94)) { + break; + } + $95 = HEAP32[$2>>2]|0; + $96 = ((($95)) + 36|0); + $97 = HEAP32[$8>>2]|0; + $98 = ((($97)) + 8|0); + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$7>>2]|0; + $101 = (($99) + (($100*12)|0)|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)<(0); + $104 = $103 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($96,$4,$102,$104); + $105 = HEAP32[$2>>2]|0; + $106 = ((($105)) + 36|0); + $107 = HEAP32[$8>>2]|0; + $108 = ((($107)) + 8|0); + $109 = HEAP32[$108>>2]|0; + $110 = HEAP32[$7>>2]|0; + $111 = (($109) + (($110*12)|0)|0); + $112 = ((($111)) + 4|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)<(0); + $115 = $114 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($106,$4,$113,$115); + $116 = HEAP32[$2>>2]|0; + $117 = ((($116)) + 36|0); + $118 = HEAP32[$8>>2]|0; + $119 = ((($118)) + 8|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$7>>2]|0; + $122 = (($120) + (($121*12)|0)|0); + $123 = ((($122)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($124|0)<(0); + $126 = $125 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($117,$4,$124,$126); + $127 = HEAP32[$7>>2]|0; + $128 = (($127) + 1)|0; + HEAP32[$7>>2] = $128; + } + $129 = HEAP32[$5>>2]|0; + $130 = (($129) + 1)|0; + HEAP32[$5>>2] = $130; } - return (0)|0; + $131 = HEAP32[$2>>2]|0; + $132 = HEAP32[$4>>2]|0; + $133 = ((($4)) + 4|0); + $134 = HEAP32[$133>>2]|0; + _fts5DataWrite($131,10,0,$132,$134); + _sqlite3Fts5BufferFree($4); + STACKTOP = sp;return; } -function _fetchPayload($pCur,$pAmt) { - $pCur = $pCur|0; - $pAmt = $pAmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $amt = 0, label = 0, sp = 0; +function _sqlite3Fts5Put32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $amt = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$1>>2] = $pAmt; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 68|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 120|0); - $8 = (($7) + ($5<<2)|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 60|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 16|0); - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = $11; - $17 = $15; - $18 = (($16) - ($17))|0; - HEAP32[$amt>>2] = $18; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 16|0); - $21 = ((($20)) + 16|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = HEAP32[$amt>>2]|0; - $25 = ($23>>>0)<($24>>>0); - if ($25) { - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 16|0); - $28 = ((($27)) + 16|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - HEAP32[$amt>>2] = $30; - } - $31 = HEAP32[$amt>>2]|0; - $32 = HEAP32[$1>>2]|0; - HEAP32[$32>>2] = $31; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 16|0); - $35 = ((($34)) + 8|0); - $36 = HEAP32[$35>>2]|0; - STACKTOP = sp;return ($36|0); + $2 = sp + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$3>>2]|0; + $5 = $4 >> 24; + $6 = $5 & 255; + $7 = $6&255; + $8 = HEAP32[$2>>2]|0; + HEAP8[$8>>0] = $7; + $9 = HEAP32[$3>>2]|0; + $10 = $9 >> 16; + $11 = $10 & 255; + $12 = $11&255; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 1|0); + HEAP8[$14>>0] = $12; + $15 = HEAP32[$3>>2]|0; + $16 = $15 >> 8; + $17 = $16 & 255; + $18 = $17&255; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 2|0); + HEAP8[$20>>0] = $18; + $21 = HEAP32[$3>>2]|0; + $22 = $21 >> 0; + $23 = $22 & 255; + $24 = $23&255; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 3|0); + HEAP8[$26>>0] = $24; + STACKTOP = sp;return; } -function _handleDeferredMoveto($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $res = 0, label = 0, sp = 0; +function _fts5DataWrite($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $res = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 40|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp + 8|0; + $5 = sp + 28|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + HEAP32[$5>>2] = $0; + $10 = $6; $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3BtreeMovetoUnpacked($4,0,$9,$12,0,$res)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)!=(0); - if ($15) { - $16 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $16; - $24 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($24|0); + HEAP32[$11>>2] = $1; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = $4; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + STACKTOP = sp;return; } - $17 = HEAP32[$res>>2]|0; - $18 = ($17|0)!=(0); - if ($18) { - $19 = (_sqlite3CorruptError(73491)|0); - HEAP32[$0>>2] = $19; - $24 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($24|0); - } else { - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 3|0); - HEAP8[$21>>0] = 0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 56|0); - HEAP32[$23>>2] = 0; - HEAP32[$0>>2] = 0; - $24 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($24|0); + $18 = HEAP32[$5>>2]|0; + $19 = ((($18)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if ($21) { + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$9>>2] = $23; + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 44|0); + $27 = HEAP32[$9>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$vararg_buffer>>2] = $29; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $32; + $33 = (_sqlite3_mprintf(50780,$vararg_buffer)|0); + (_fts5IndexPrepareStmt($24,$26,$33)|0); + $34 = HEAP32[$5>>2]|0; + $35 = ((($34)) + 36|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)!=(0); + if ($37) { + STACKTOP = sp;return; + } } - return (0)|0; + $38 = HEAP32[$5>>2]|0; + $39 = ((($38)) + 44|0); + $40 = HEAP32[$39>>2]|0; + $41 = $6; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + (_sqlite3_bind_int64($40,1,$43,$46)|0); + $47 = HEAP32[$5>>2]|0; + $48 = ((($47)) + 44|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$7>>2]|0; + $51 = HEAP32[$8>>2]|0; + (_sqlite3_bind_blob($49,2,$50,$51,0)|0); + $52 = HEAP32[$5>>2]|0; + $53 = ((($52)) + 44|0); + $54 = HEAP32[$53>>2]|0; + (_sqlite3_step($54)|0); + $55 = HEAP32[$5>>2]|0; + $56 = ((($55)) + 44|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_sqlite3_reset($57)|0); + $59 = HEAP32[$5>>2]|0; + $60 = ((($59)) + 36|0); + HEAP32[$60>>2] = $58; + STACKTOP = sp;return; } -function _sqlite3BlobCompare($pB1,$pB2) { - $pB1 = $pB1|0; - $pB2 = $pB2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; +function _fts5IndexMergeLevel($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $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, $9 = 0, $c = 0, $n1 = 0, $n2 = 0, label = 0, sp = 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 dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $c = sp + 8|0; - $n1 = sp + 4|0; - $n2 = sp; - HEAP32[$1>>2] = $pB1; - HEAP32[$2>>2] = $pB2; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$n1>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$n2>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = $12 | $16; - $18 = $17 & 16384; - $19 = ($18|0)!=(0); - $20 = HEAP32[$1>>2]|0; - if (!($19)) { - $65 = ((($20)) + 16|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$2>>2]|0; - $68 = ((($67)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$n1>>2]|0; - $71 = HEAP32[$n2>>2]|0; - $72 = ($70|0)>($71|0); - $73 = HEAP32[$n2>>2]|0; - $74 = HEAP32[$n1>>2]|0; - $75 = $72 ? $73 : $74; - $76 = (_memcmp($66,$69,$75)|0); - HEAP32[$c>>2] = $76; - $77 = HEAP32[$c>>2]|0; - $78 = ($77|0)!=(0); - if ($78) { - $79 = HEAP32[$c>>2]|0; - HEAP32[$0>>2] = $79; - $83 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($83|0); - } else { - $80 = HEAP32[$n1>>2]|0; - $81 = HEAP32[$n2>>2]|0; - $82 = (($80) - ($81))|0; - HEAP32[$0>>2] = $82; - $83 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($83|0); - } - } - $21 = ((($20)) + 8|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 8|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26&65535; - $28 = $23 & $27; - $29 = $28 & 16384; - $30 = ($29|0)!=(0); - $31 = HEAP32[$1>>2]|0; - if ($30) { - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) - ($34))|0; - HEAP32[$0>>2] = $35; - $83 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($83|0); + STACKTOP = STACKTOP + 192|0; + $4 = sp + 188|0; + $5 = sp + 184|0; + $6 = sp + 180|0; + $7 = sp + 176|0; + $8 = sp + 172|0; + $9 = sp + 168|0; + $10 = sp + 164|0; + $11 = sp + 160|0; + $12 = sp + 156|0; + $13 = sp + 152|0; + $14 = sp; + $15 = sp + 148|0; + $16 = sp + 136|0; + $17 = sp + 132|0; + $18 = sp + 128|0; + $19 = sp + 124|0; + $20 = sp + 120|0; + $21 = sp + 116|0; + $22 = sp + 112|0; + $23 = sp + 108|0; + $24 = sp + 104|0; + $25 = sp + 100|0; + $26 = sp + 96|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$27>>2]|0; + HEAP32[$8>>2] = $28; + $29 = HEAP32[$8>>2]|0; + $30 = ((($29)) + 24|0); + $31 = HEAP32[$6>>2]|0; + $32 = (($30) + (($31*12)|0)|0); + HEAP32[$9>>2] = $32; + HEAP32[$11>>2] = 0; + $33 = HEAP32[$7>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$7>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = $36; + } else { + $37 = 0; } - $36 = ((($31)) + 8|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37&65535; - $39 = $38 & 16384; - $40 = ($39|0)!=(0); - if ($40) { - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 16|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$2>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - $47 = (_isAllZero($43,$46)|0); - $48 = ($47|0)!=(0); - if ($48) { - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$n2>>2]|0; - $52 = (($50) - ($51))|0; - HEAP32[$0>>2] = $52; - $83 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($83|0); + HEAP32[$12>>2] = $37; + $38 = HEAP32[$4>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = ((($39)) + 48|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$18>>2] = $41; + HEAP32[$19>>2] = 32; + dest=$14; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$16>>2]=0|0;HEAP32[$16+4>>2]=0|0;HEAP32[$16+8>>2]=0|0; + $42 = HEAP32[$9>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)!=(0); + do { + if ($44) { + $45 = HEAP32[$8>>2]|0; + $46 = ((($45)) + 24|0); + $47 = HEAP32[$6>>2]|0; + $48 = (($47) + 1)|0; + $49 = (($46) + (($48*12)|0)|0); + HEAP32[$10>>2] = $49; + $50 = HEAP32[$9>>2]|0; + $51 = HEAP32[$50>>2]|0; + HEAP32[$13>>2] = $51; + $52 = HEAP32[$10>>2]|0; + $53 = ((($52)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$10>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($57) - 1)|0; + $59 = (($54) + (($58*12)|0)|0); + HEAP32[$15>>2] = $59; + $60 = HEAP32[$4>>2]|0; + $61 = HEAP32[$15>>2]|0; + $62 = HEAP32[$61>>2]|0; + _fts5WriteInit($60,$14,$62); + $63 = HEAP32[$15>>2]|0; + $64 = ((($63)) + 8|0); + $65 = HEAP32[$64>>2]|0; + $66 = (($65) + 1)|0; + $67 = ((($14)) + 4|0); + HEAP32[$67>>2] = $66; + $68 = ((($14)) + 88|0); + HEAP32[$68>>2] = 0; } else { - HEAP32[$0>>2] = -1; - $83 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($83|0); + $69 = HEAP32[$4>>2]|0; + $70 = HEAP32[$8>>2]|0; + $71 = (_fts5AllocateSegid($69,$70)|0); + HEAP32[$20>>2] = $71; + $72 = HEAP32[$6>>2]|0; + $73 = HEAP32[$8>>2]|0; + $74 = ((($73)) + 20|0); + $75 = HEAP32[$74>>2]|0; + $76 = (($75) - 1)|0; + $77 = ($72|0)==($76|0); + if ($77) { + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 36|0); + $80 = HEAP32[$5>>2]|0; + _fts5StructureAddLevel($79,$80); + $81 = HEAP32[$5>>2]|0; + $82 = HEAP32[$81>>2]|0; + HEAP32[$8>>2] = $82; + } + $83 = HEAP32[$4>>2]|0; + $84 = ((($83)) + 36|0); + $85 = HEAP32[$8>>2]|0; + $86 = HEAP32[$6>>2]|0; + $87 = (($86) + 1)|0; + _fts5StructureExtendLevel($84,$85,$87,1,0); + $88 = HEAP32[$4>>2]|0; + $89 = ((($88)) + 36|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($90|0)!=(0); + if ($91) { + STACKTOP = sp;return; + } else { + $92 = HEAP32[$8>>2]|0; + $93 = ((($92)) + 24|0); + $94 = HEAP32[$6>>2]|0; + $95 = (($93) + (($94*12)|0)|0); + HEAP32[$9>>2] = $95; + $96 = HEAP32[$8>>2]|0; + $97 = ((($96)) + 24|0); + $98 = HEAP32[$6>>2]|0; + $99 = (($98) + 1)|0; + $100 = (($97) + (($99*12)|0)|0); + HEAP32[$10>>2] = $100; + $101 = HEAP32[$4>>2]|0; + $102 = HEAP32[$20>>2]|0; + _fts5WriteInit($101,$14,$102); + $103 = HEAP32[$10>>2]|0; + $104 = ((($103)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$10>>2]|0; + $107 = ((($106)) + 4|0); + $108 = HEAP32[$107>>2]|0; + $109 = (($105) + (($108*12)|0)|0); + HEAP32[$15>>2] = $109; + $110 = HEAP32[$10>>2]|0; + $111 = ((($110)) + 4|0); + $112 = HEAP32[$111>>2]|0; + $113 = (($112) + 1)|0; + HEAP32[$111>>2] = $113; + $114 = HEAP32[$15>>2]|0; + $115 = ((($114)) + 4|0); + HEAP32[$115>>2] = 1; + $116 = HEAP32[$20>>2]|0; + $117 = HEAP32[$15>>2]|0; + HEAP32[$117>>2] = $116; + $118 = HEAP32[$8>>2]|0; + $119 = ((($118)) + 16|0); + $120 = HEAP32[$119>>2]|0; + $121 = (($120) + 1)|0; + HEAP32[$119>>2] = $121; + $122 = HEAP32[$9>>2]|0; + $123 = ((($122)) + 4|0); + $124 = HEAP32[$123>>2]|0; + HEAP32[$13>>2] = $124; + break; + } } + } while(0); + $125 = HEAP32[$10>>2]|0; + $126 = ((($125)) + 4|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(1); + if ($128) { + $129 = HEAP32[$8>>2]|0; + $130 = ((($129)) + 20|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$6>>2]|0; + $133 = (($132) + 2)|0; + $134 = ($131|0)==($133|0); + $136 = $134; } else { - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 16|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 12|0); - $58 = HEAP32[$57>>2]|0; - $59 = (_isAllZero($55,$58)|0); - $60 = ($59|0)!=(0); - if ($60) { - $61 = HEAP32[$n1>>2]|0; - $62 = HEAP32[$2>>2]|0; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) - ($63))|0; - HEAP32[$0>>2] = $64; - $83 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($83|0); + $136 = 0; + } + $135 = $136&1; + HEAP32[$17>>2] = $135; + $137 = HEAP32[$4>>2]|0; + $138 = HEAP32[$8>>2]|0; + $139 = HEAP32[$6>>2]|0; + $140 = HEAP32[$13>>2]|0; + _fts5MultiIterNew($137,$138,32,0,0,0,$139,$140,$11); + L17: while(1) { + $141 = HEAP32[$4>>2]|0; + $142 = HEAP32[$11>>2]|0; + $143 = (_fts5MultiIterEof($141,$142)|0); + $144 = ($143|0)==(0); + if (!($144)) { + break; + } + $145 = HEAP32[$11>>2]|0; + $146 = ((($145)) + 80|0); + $147 = HEAP32[$11>>2]|0; + $148 = ((($147)) + 72|0); + $149 = HEAP32[$148>>2]|0; + $150 = ((($149)) + 4|0); + $151 = HEAP16[$150>>1]|0; + $152 = $151&65535; + $153 = (($146) + (($152*88)|0)|0); + HEAP32[$21>>2] = $153; + $154 = HEAP32[$21>>2]|0; + $155 = ((($154)) + 80|0); + $156 = HEAP32[$155>>2]|0; + $157 = ($156|0)==(0); + if ($157) { + $158 = HEAP32[$17>>2]|0; + $159 = ($158|0)!=(0); + if (!($159)) { + $160 = HEAP32[$21>>2]|0; + $161 = ((($160)) + 84|0); + $162 = HEAP8[$161>>0]|0; + $163 = $162&255; + $164 = ($163|0)==(0); + if (!($164)) { + label = 16; + } + } } else { - HEAP32[$0>>2] = 1; - $83 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($83|0); + label = 16; + } + do { + if ((label|0) == 16) { + label = 0; + $165 = HEAP32[$11>>2]|0; + $166 = (_fts5MultiIterTerm($165,$23)|0); + HEAP32[$24>>2] = $166; + $167 = HEAP32[$23>>2]|0; + $168 = ((($16)) + 4|0); + $169 = HEAP32[$168>>2]|0; + $170 = ($167|0)!=($169|0); + if ($170) { + label = 18; + } else { + $171 = HEAP32[$24>>2]|0; + $172 = HEAP32[$16>>2]|0; + $173 = HEAP32[$23>>2]|0; + $174 = (_memcmp($171,$172,$173)|0); + $175 = ($174|0)!=(0); + if ($175) { + label = 18; + } + } + if ((label|0) == 18) { + label = 0; + $176 = HEAP32[$7>>2]|0; + $177 = ($176|0)!=(0|0); + if ($177) { + $178 = ((($14)) + 60|0); + $179 = HEAP32[$178>>2]|0; + $180 = HEAP32[$12>>2]|0; + $181 = ($179|0)>($180|0); + if ($181) { + break L17; + } + } + $182 = HEAP32[$4>>2]|0; + $183 = HEAP32[$23>>2]|0; + $184 = HEAP32[$24>>2]|0; + _fts5WriteAppendTerm($182,$14,$183,$184); + $185 = HEAP32[$4>>2]|0; + $186 = ((($185)) + 36|0); + $187 = HEAP32[$23>>2]|0; + $188 = HEAP32[$24>>2]|0; + _sqlite3Fts5BufferSet($186,$16,$187,$188); + } + $189 = HEAP32[$4>>2]|0; + $190 = HEAP32[$11>>2]|0; + $191 = (_fts5MultiIterRowid($190)|0); + $192 = tempRet0; + _fts5WriteAppendRowid($189,$14,$191,$192); + $193 = HEAP32[$18>>2]|0; + $194 = ($193|0)==(1); + $195 = HEAP32[$21>>2]|0; + if (!($194)) { + $211 = ((($195)) + 80|0); + $212 = HEAP32[$211>>2]|0; + $213 = $212<<1; + $214 = HEAP32[$21>>2]|0; + $215 = ((($214)) + 84|0); + $216 = HEAP8[$215>>0]|0; + $217 = $216&255; + $218 = (($213) + ($217))|0; + HEAP32[$22>>2] = $218; + $219 = HEAP32[$4>>2]|0; + $220 = ((($219)) + 36|0); + $221 = ((($14)) + 4|0); + $222 = ((($221)) + 8|0); + $223 = HEAP32[$22>>2]|0; + $224 = ($223|0)<(0); + $225 = $224 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($220,$222,$223,$225); + $226 = HEAP32[$4>>2]|0; + $227 = HEAP32[$21>>2]|0; + _fts5ChunkIterate($226,$227,$14,139); + break; + } + $196 = ((($195)) + 84|0); + $197 = HEAP8[$196>>0]|0; + $198 = ($197<<24>>24)!=(0); + if ($198) { + $199 = HEAP32[$4>>2]|0; + $200 = ((($199)) + 36|0); + $201 = ((($14)) + 4|0); + $202 = ((($201)) + 8|0); + _sqlite3Fts5BufferAppendVarint($200,$202,0,0); + $203 = HEAP32[$21>>2]|0; + $204 = ((($203)) + 80|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)>(0); + if ($206) { + $207 = HEAP32[$4>>2]|0; + $208 = ((($207)) + 36|0); + $209 = ((($14)) + 4|0); + $210 = ((($209)) + 8|0); + _sqlite3Fts5BufferAppendVarint($208,$210,0,0); + } + } + } + } while(0); + $228 = HEAP32[$4>>2]|0; + $229 = HEAP32[$11>>2]|0; + _fts5MultiIterNext($228,$229,0,0,0); + } + $230 = HEAP32[$4>>2]|0; + $231 = HEAP32[$15>>2]|0; + $232 = ((($231)) + 8|0); + _fts5WriteFinish($230,$14,$232); + $233 = HEAP32[$4>>2]|0; + $234 = HEAP32[$11>>2]|0; + $235 = (_fts5MultiIterEof($233,$234)|0); + $236 = ($235|0)!=(0); + if ($236) { + HEAP32[$25>>2] = 0; + while(1) { + $237 = HEAP32[$25>>2]|0; + $238 = HEAP32[$13>>2]|0; + $239 = ($237|0)<($238|0); + if (!($239)) { + break; + } + $240 = HEAP32[$4>>2]|0; + $241 = HEAP32[$9>>2]|0; + $242 = ((($241)) + 8|0); + $243 = HEAP32[$242>>2]|0; + $244 = HEAP32[$25>>2]|0; + $245 = (($243) + (($244*12)|0)|0); + $246 = HEAP32[$245>>2]|0; + _fts5DataRemoveSegment($240,$246); + $247 = HEAP32[$25>>2]|0; + $248 = (($247) + 1)|0; + HEAP32[$25>>2] = $248; + } + $249 = HEAP32[$9>>2]|0; + $250 = ((($249)) + 4|0); + $251 = HEAP32[$250>>2]|0; + $252 = HEAP32[$13>>2]|0; + $253 = ($251|0)!=($252|0); + if ($253) { + $254 = HEAP32[$9>>2]|0; + $255 = ((($254)) + 4|0); + $256 = HEAP32[$255>>2]|0; + $257 = HEAP32[$13>>2]|0; + $258 = (($256) - ($257))|0; + $259 = ($258*12)|0; + HEAP32[$26>>2] = $259; + $260 = HEAP32[$9>>2]|0; + $261 = ((($260)) + 8|0); + $262 = HEAP32[$261>>2]|0; + $263 = HEAP32[$9>>2]|0; + $264 = ((($263)) + 8|0); + $265 = HEAP32[$264>>2]|0; + $266 = HEAP32[$13>>2]|0; + $267 = (($265) + (($266*12)|0)|0); + $268 = HEAP32[$26>>2]|0; + _memmove(($262|0),($267|0),($268|0))|0; + } + $269 = HEAP32[$13>>2]|0; + $270 = HEAP32[$8>>2]|0; + $271 = ((($270)) + 16|0); + $272 = HEAP32[$271>>2]|0; + $273 = (($272) - ($269))|0; + HEAP32[$271>>2] = $273; + $274 = HEAP32[$13>>2]|0; + $275 = HEAP32[$9>>2]|0; + $276 = ((($275)) + 4|0); + $277 = HEAP32[$276>>2]|0; + $278 = (($277) - ($274))|0; + HEAP32[$276>>2] = $278; + $279 = HEAP32[$9>>2]|0; + HEAP32[$279>>2] = 0; + $280 = HEAP32[$15>>2]|0; + $281 = ((($280)) + 8|0); + $282 = HEAP32[$281>>2]|0; + $283 = ($282|0)==(0); + if ($283) { + $284 = HEAP32[$10>>2]|0; + $285 = ((($284)) + 4|0); + $286 = HEAP32[$285>>2]|0; + $287 = (($286) + -1)|0; + HEAP32[$285>>2] = $287; + $288 = HEAP32[$8>>2]|0; + $289 = ((($288)) + 16|0); + $290 = HEAP32[$289>>2]|0; + $291 = (($290) + -1)|0; + HEAP32[$289>>2] = $291; } + } else { + $292 = HEAP32[$4>>2]|0; + $293 = HEAP32[$11>>2]|0; + _fts5TrimSegments($292,$293); + $294 = HEAP32[$13>>2]|0; + $295 = HEAP32[$9>>2]|0; + HEAP32[$295>>2] = $294; + } + $296 = HEAP32[$11>>2]|0; + _fts5MultiIterFree($296); + _sqlite3Fts5BufferFree($16); + $297 = HEAP32[$7>>2]|0; + $298 = ($297|0)!=(0|0); + if (!($298)) { + STACKTOP = sp;return; } - return (0)|0; + $299 = ((($14)) + 60|0); + $300 = HEAP32[$299>>2]|0; + $301 = HEAP32[$7>>2]|0; + $302 = HEAP32[$301>>2]|0; + $303 = (($302) - ($300))|0; + HEAP32[$301>>2] = $303; + STACKTOP = sp;return; } -function _computeNumericType($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _fts5WriteAppendRowid($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 10|0); - $11 = HEAP8[$10>>0]|0; - $12 = (_sqlite3AtoF($4,$5,$8,$11)|0); - $13 = ($12|0)==(0); - if ($13) { - HEAP16[$0>>1] = 0; - $26 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($26|0); + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $8 = $6; + $9 = $8; + HEAP32[$9>>2] = $2; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $3; + $12 = HEAP32[$4>>2]|0; + $13 = ((($12)) + 36|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + STACKTOP = sp;return; } - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 10|0); - $23 = HEAP8[$22>>0]|0; - $24 = (_sqlite3Atoi64($16,$17,$20,$23)|0); - $25 = ($24|0)==(0); - if ($25) { - HEAP16[$0>>1] = 4; - $26 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($26|0); + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 4|0); + HEAP32[$7>>2] = $17; + $18 = HEAP32[$7>>2]|0; + $19 = ((($18)) + 8|0); + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ((($22)) + 20|0); + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($21) + ($25))|0; + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 68|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($26|0)>=($30|0); + if ($31) { + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$5>>2]|0; + _fts5WriteFlushLeaf($32,$33); + } + $34 = HEAP32[$5>>2]|0; + $35 = ((($34)) + 57|0); + $36 = HEAP8[$35>>0]|0; + $37 = ($36<<24>>24)!=(0); + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = ((($38)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = ((($41)) + 8|0); + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = $44&65535; + _fts5PutU16($40,$45); + $46 = HEAP32[$4>>2]|0; + $47 = HEAP32[$5>>2]|0; + $48 = $6; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + _fts5WriteDlidxAppend($46,$47,$50,$53); + } + $54 = HEAP32[$5>>2]|0; + $55 = ((($54)) + 56|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = ($57|0)!=(0); + if ($58) { + label = 8; } else { - HEAP16[$0>>1] = 8; - $26 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($26|0); + $59 = HEAP32[$5>>2]|0; + $60 = ((($59)) + 57|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62|0)!=(0); + if ($63) { + label = 8; + } else { + $74 = HEAP32[$4>>2]|0; + $75 = ((($74)) + 36|0); + $76 = HEAP32[$7>>2]|0; + $77 = ((($76)) + 8|0); + $78 = $6; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$5>>2]|0; + $85 = ((($84)) + 48|0); + $86 = $85; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (_i64Subtract(($80|0),($83|0),($88|0),($91|0))|0); + $93 = tempRet0; + _sqlite3Fts5BufferAppendVarint($75,$77,$92,$93); + } } - return (0)|0; + if ((label|0) == 8) { + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 36|0); + $66 = HEAP32[$7>>2]|0; + $67 = ((($66)) + 8|0); + $68 = $6; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + _sqlite3Fts5BufferAppendVarint($65,$67,$70,$73); + } + $94 = $6; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$5>>2]|0; + $101 = ((($100)) + 48|0); + $102 = $101; + $103 = $102; + HEAP32[$103>>2] = $96; + $104 = (($102) + 4)|0; + $105 = $104; + HEAP32[$105>>2] = $99; + $106 = HEAP32[$5>>2]|0; + $107 = ((($106)) + 56|0); + HEAP8[$107>>0] = 0; + $108 = HEAP32[$5>>2]|0; + $109 = ((($108)) + 57|0); + HEAP8[$109>>0] = 0; + STACKTOP = sp;return; } -function _vdbeMemAddTerminator($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _fts5MergeChunkCallback($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 2)|0; - $7 = (_sqlite3VdbeMemGrow($2,$6,1)|0); - $8 = ($7|0)!=(0); - if ($8) { - HEAP32[$0>>2] = 7; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); - } else { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11)|0); - HEAP8[$15>>0] = 0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 1)|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($19)|0); - HEAP8[$23>>0] = 0; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 8|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26&65535; - $28 = $27 | 512; - $29 = $28&65535; - HEAP16[$25>>1] = $29; - HEAP32[$0>>2] = 0; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); - } - return (0)|0; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$5>>2]|0; + HEAP32[$8>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$8>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = HEAP32[$7>>2]|0; + _fts5WriteAppendPoslistData($10,$11,$12,$13); + STACKTOP = sp;return; } -function _out2PrereleaseWithClear($pOut) { - $pOut = $pOut|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _fts5DataRemoveSegment($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pOut; - $1 = HEAP32[$0>>2]|0; - _sqlite3VdbeMemSetNull($1); - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); - HEAP16[$3>>1] = 4; - $4 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($4|0); + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp + 16|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 8|0; + $5 = sp; + $6 = sp + 24|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$3>>2]|0; + $8 = ($7|0)<(0); + $9 = $8 << 31 >> 31; + $10 = (_bitshift64Shl(($7|0),($9|0),37)|0); + $11 = tempRet0; + $12 = (_i64Add(($10|0),($11|0),0,0)|0); + $13 = tempRet0; + $14 = (_i64Add(($12|0),($13|0),0,0)|0); + $15 = tempRet0; + $16 = (_i64Add(($14|0),($15|0),0,0)|0); + $17 = tempRet0; + $18 = $4; + $19 = $18; + HEAP32[$19>>2] = $16; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = HEAP32[$3>>2]|0; + $23 = (($22) + 1)|0; + $24 = ($23|0)<(0); + $25 = $24 << 31 >> 31; + $26 = (_bitshift64Shl(($23|0),($25|0),37)|0); + $27 = tempRet0; + $28 = (_i64Add(($26|0),($27|0),0,0)|0); + $29 = tempRet0; + $30 = (_i64Add(($28|0),($29|0),0,0)|0); + $31 = tempRet0; + $32 = (_i64Add(($30|0),($31|0),0,0)|0); + $33 = tempRet0; + $34 = (_i64Subtract(($32|0),($33|0),1,0)|0); + $35 = tempRet0; + $36 = $5; + $37 = $36; + HEAP32[$37>>2] = $34; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = $35; + $40 = HEAP32[$2>>2]|0; + $41 = $4; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = $5; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + _fts5DataDelete($40,$43,$46,$49,$52); + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 56|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)==(0|0); + if ($56) { + $57 = HEAP32[$2>>2]|0; + $58 = HEAP32[$57>>2]|0; + HEAP32[$6>>2] = $58; + $59 = HEAP32[$2>>2]|0; + $60 = HEAP32[$2>>2]|0; + $61 = ((($60)) + 56|0); + $62 = HEAP32[$6>>2]|0; + $63 = ((($62)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$6>>2]|0; + $66 = ((($65)) + 8|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$vararg_buffer>>2] = $64; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $67; + $68 = (_sqlite3_mprintf(50880,$vararg_buffer)|0); + (_fts5IndexPrepareStmt($59,$61,$68)|0); + } + $69 = HEAP32[$2>>2]|0; + $70 = ((($69)) + 36|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0); + if (!($72)) { + STACKTOP = sp;return; + } + $73 = HEAP32[$2>>2]|0; + $74 = ((($73)) + 56|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$3>>2]|0; + (_sqlite3_bind_int($75,1,$76)|0); + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 56|0); + $79 = HEAP32[$78>>2]|0; + (_sqlite3_step($79)|0); + $80 = HEAP32[$2>>2]|0; + $81 = ((($80)) + 56|0); + $82 = HEAP32[$81>>2]|0; + $83 = (_sqlite3_reset($82)|0); + $84 = HEAP32[$2>>2]|0; + $85 = ((($84)) + 36|0); + HEAP32[$85>>2] = $83; + STACKTOP = sp;return; } -function _closeAllCursors($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $pDel = 0, $pFrame = 0, label = 0, sp = 0; +function _fts5TrimSegments($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pFrame = sp + 4|0; - $pDel = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 184|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 184|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pFrame>>2] = $7; - while(1) { - $8 = HEAP32[$pFrame>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - $12 = HEAP32[$pFrame>>2]|0; - if (!($11)) { - break; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 52|0; + $12 = sp + 8|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; + HEAP32[$4>>2] = 0; + while(1) { + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 52|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($13|0)<($16|0); + if (!($17)) { + break; + } + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 80|0); + $20 = HEAP32[$4>>2]|0; + $21 = (($19) + (($20*88)|0)|0); + HEAP32[$6>>2] = $21; + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0|0); + do { + if (!($24)) { + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0|0); + $29 = HEAP32[$6>>2]|0; + if ($28) { + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 8|0); + HEAP32[$31>>2] = 0; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = ((($33)) + 4|0); + HEAP32[$34>>2] = 0; + break; + } + $35 = ((($29)) + 32|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$7>>2] = $36; + $37 = HEAP32[$6>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$38>>2]|0; + HEAP32[$10>>2] = $39; + ;HEAP8[$11>>0]=0|0;HEAP8[$11+1>>0]=0|0;HEAP8[$11+2>>0]=0|0;HEAP8[$11+3>>0]=0|0; + $40 = HEAP32[$10>>2]|0; + $41 = ($40|0)<(0); + $42 = $41 << 31 >> 31; + $43 = (_bitshift64Shl(($40|0),($42|0),37)|0); + $44 = tempRet0; + $45 = (_i64Add(($43|0),($44|0),0,0)|0); + $46 = tempRet0; + $47 = (_i64Add(($45|0),($46|0),0,0)|0); + $48 = tempRet0; + $49 = HEAP32[$6>>2]|0; + $50 = ((($49)) + 28|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)<(0); + $53 = $52 << 31 >> 31; + $54 = (_i64Add(($47|0),($48|0),($51|0),($53|0))|0); + $55 = tempRet0; + $56 = $8; + $57 = $56; + HEAP32[$57>>2] = $54; + $58 = (($56) + 4)|0; + $59 = $58; + HEAP32[$59>>2] = $55; + $60 = HEAP32[$2>>2]|0; + $61 = $8; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (_fts5DataRead($60,$63,$66)|0); + HEAP32[$9>>2] = $67; + $68 = HEAP32[$9>>2]|0; + $69 = ($68|0)!=(0|0); + if ($69) { + _sqlite3Fts5BufferZero($5); + $70 = ((($5)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$9>>2]|0; + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + $75 = (($71) + ($74))|0; + $76 = ((($5)) + 8|0); + $77 = HEAP32[$76>>2]|0; + $78 = ($75>>>0)<=($77>>>0); + if (!($78)) { + $79 = HEAP32[$2>>2]|0; + $80 = ((($79)) + 36|0); + $81 = HEAP32[$9>>2]|0; + $82 = ((($81)) + 4|0); + $83 = HEAP32[$82>>2]|0; + $84 = ((($5)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + ($85))|0; + (_sqlite3Fts5BufferSize($80,$5,$86)|0); + } + $87 = HEAP32[$2>>2]|0; + $88 = ((($87)) + 36|0); + _sqlite3Fts5BufferAppendBlob($88,$5,4,$11); + $89 = HEAP32[$2>>2]|0; + $90 = ((($89)) + 36|0); + $91 = HEAP32[$6>>2]|0; + $92 = ((($91)) + 60|0); + $93 = ((($92)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)<(0); + $96 = $95 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($90,$5,$94,$96); + $97 = HEAP32[$2>>2]|0; + $98 = ((($97)) + 36|0); + $99 = HEAP32[$6>>2]|0; + $100 = ((($99)) + 60|0); + $101 = ((($100)) + 4|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$6>>2]|0; + $104 = ((($103)) + 60|0); + $105 = HEAP32[$104>>2]|0; + _sqlite3Fts5BufferAppendBlob($98,$5,$102,$105); + $106 = HEAP32[$2>>2]|0; + $107 = ((($106)) + 36|0); + $108 = HEAP32[$9>>2]|0; + $109 = ((($108)) + 8|0); + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$7>>2]|0; + $112 = (($110) - ($111))|0; + $113 = HEAP32[$9>>2]|0; + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$7>>2]|0; + $116 = (($114) + ($115)|0); + _sqlite3Fts5BufferAppendBlob($107,$5,$112,$116); + $117 = HEAP32[$2>>2]|0; + $118 = ((($117)) + 36|0); + $119 = HEAP32[$118>>2]|0; + $120 = ($119|0)==(0); + if ($120) { + $121 = HEAP32[$5>>2]|0; + $122 = ((($121)) + 2|0); + $123 = ((($5)) + 4|0); + $124 = HEAP32[$123>>2]|0; + $125 = $124&65535; + _fts5PutU16($122,$125); + } + $126 = HEAP32[$2>>2]|0; + $127 = ((($126)) + 36|0); + _sqlite3Fts5BufferAppendVarint($127,$5,4,0); + $128 = HEAP32[$6>>2]|0; + $129 = ((($128)) + 8|0); + $130 = HEAP32[$129>>2]|0; + $131 = HEAP32[$6>>2]|0; + $132 = ((($131)) + 28|0); + $133 = HEAP32[$132>>2]|0; + $134 = ($130|0)==($133|0); + if ($134) { + $135 = HEAP32[$6>>2]|0; + $136 = ((($135)) + 40|0); + $137 = HEAP32[$136>>2]|0; + $138 = HEAP32[$9>>2]|0; + $139 = ((($138)) + 8|0); + $140 = HEAP32[$139>>2]|0; + $141 = ($137|0)<($140|0); + if ($141) { + $142 = HEAP32[$9>>2]|0; + $143 = ((($142)) + 8|0); + $144 = HEAP32[$143>>2]|0; + $145 = HEAP32[$6>>2]|0; + $146 = ((($145)) + 40|0); + $147 = HEAP32[$146>>2]|0; + $148 = (($144) - ($147))|0; + HEAP32[$12>>2] = $148; + $149 = HEAP32[$2>>2]|0; + $150 = ((($149)) + 36|0); + $151 = ((($5)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = (($152) - 1)|0; + $154 = HEAP32[$12>>2]|0; + $155 = (($153) - ($154))|0; + $156 = (($155) - 4)|0; + $157 = ($156|0)<(0); + $158 = $157 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($150,$5,$156,$158); + $159 = HEAP32[$2>>2]|0; + $160 = ((($159)) + 36|0); + $161 = HEAP32[$9>>2]|0; + $162 = ((($161)) + 4|0); + $163 = HEAP32[$162>>2]|0; + $164 = HEAP32[$6>>2]|0; + $165 = ((($164)) + 36|0); + $166 = HEAP32[$165>>2]|0; + $167 = (($163) - ($166))|0; + $168 = HEAP32[$9>>2]|0; + $169 = HEAP32[$168>>2]|0; + $170 = HEAP32[$6>>2]|0; + $171 = ((($170)) + 36|0); + $172 = HEAP32[$171>>2]|0; + $173 = (($169) + ($172)|0); + _sqlite3Fts5BufferAppendBlob($160,$5,$167,$173); + } + } + $174 = HEAP32[$9>>2]|0; + _fts5DataRelease($174); + $175 = HEAP32[$6>>2]|0; + $176 = ((($175)) + 28|0); + $177 = HEAP32[$176>>2]|0; + $178 = HEAP32[$6>>2]|0; + $179 = HEAP32[$178>>2]|0; + $180 = ((($179)) + 4|0); + HEAP32[$180>>2] = $177; + $181 = HEAP32[$2>>2]|0; + $182 = HEAP32[$10>>2]|0; + $183 = ($182|0)<(0); + $184 = $183 << 31 >> 31; + $185 = (_bitshift64Shl(($182|0),($184|0),37)|0); + $186 = tempRet0; + $187 = (_i64Add(($185|0),($186|0),0,0)|0); + $188 = tempRet0; + $189 = (_i64Add(($187|0),($188|0),0,0)|0); + $190 = tempRet0; + $191 = (_i64Add(($189|0),($190|0),1,0)|0); + $192 = tempRet0; + $193 = $8; + $194 = $193; + $195 = HEAP32[$194>>2]|0; + $196 = (($193) + 4)|0; + $197 = $196; + $198 = HEAP32[$197>>2]|0; + _fts5DataDelete($181,$191,$192,$195,$198); + $199 = HEAP32[$2>>2]|0; + $200 = $8; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = (($200) + 4)|0; + $204 = $203; + $205 = HEAP32[$204>>2]|0; + $206 = HEAP32[$5>>2]|0; + $207 = ((($5)) + 4|0); + $208 = HEAP32[$207>>2]|0; + _fts5DataWrite($199,$202,$205,$206,$208); + } } - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pFrame>>2] = $14; + } while(0); + $209 = HEAP32[$4>>2]|0; + $210 = (($209) + 1)|0; + HEAP32[$4>>2] = $210; + } + _sqlite3Fts5BufferFree($5); + STACKTOP = sp;return; +} +function _fts5DataDelete($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $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, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp + 16|0; + $5 = sp + 36|0; + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + HEAP32[$5>>2] = $0; + $11 = $6; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = $7; + $16 = $15; + HEAP32[$16>>2] = $3; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $4; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 36|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0); + if ($22) { + STACKTOP = sp;return; + } + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 48|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$27>>2]|0; + HEAP32[$9>>2] = $28; + $29 = HEAP32[$9>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$9>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$vararg_buffer>>2] = $31; + $vararg_ptr3 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr3>>2] = $34; + $35 = (_sqlite3_mprintf(50831,$vararg_buffer)|0); + HEAP32[$10>>2] = $35; + $36 = HEAP32[$10>>2]|0; + $37 = ($36|0)==(0|0); + if ($37) { + HEAP32[$8>>2] = 7; + } else { + $38 = HEAP32[$9>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$10>>2]|0; + $41 = HEAP32[$5>>2]|0; + $42 = ((($41)) + 48|0); + $43 = (_sqlite3_prepare_v2($39,$40,-1,$42,0)|0); + HEAP32[$8>>2] = $43; + $44 = HEAP32[$10>>2]|0; + _sqlite3_free($44); } - (_sqlite3VdbeFrameRestore($12)|0); - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 184|0); - HEAP32[$16>>2] = 0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 192|0); - HEAP32[$18>>2] = 0; + $45 = HEAP32[$8>>2]|0; + $46 = ($45|0)!=(0); + if ($46) { + $47 = HEAP32[$8>>2]|0; + $48 = HEAP32[$5>>2]|0; + $$sink = $47;$$sink2 = $48; + } else { + label = 8; + } + } else { + label = 8; } - $19 = HEAP32[$0>>2]|0; - _closeCursorsInFrame($19); - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 92|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 92|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 24|0); - $29 = HEAP32[$28>>2]|0; - _releaseMemArray($26,$29); + if ((label|0) == 8) { + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 48|0); + $51 = HEAP32[$50>>2]|0; + $52 = $6; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + (_sqlite3_bind_int64($51,1,$54,$57)|0); + $58 = HEAP32[$5>>2]|0; + $59 = ((($58)) + 48|0); + $60 = HEAP32[$59>>2]|0; + $61 = $7; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + (_sqlite3_bind_int64($60,2,$63,$66)|0); + $67 = HEAP32[$5>>2]|0; + $68 = ((($67)) + 48|0); + $69 = HEAP32[$68>>2]|0; + (_sqlite3_step($69)|0); + $70 = HEAP32[$5>>2]|0; + $71 = ((($70)) + 48|0); + $72 = HEAP32[$71>>2]|0; + $73 = (_sqlite3_reset($72)|0); + $74 = HEAP32[$5>>2]|0; + $$sink = $73;$$sink2 = $74; } + $75 = ((($$sink2)) + 36|0); + HEAP32[$75>>2] = $$sink; + STACKTOP = sp;return; +} +function _fts5WriteAppendPoslistData($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, $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, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 4|0); + HEAP32[$8>>2] = $15; + $16 = HEAP32[$6>>2]|0; + HEAP32[$9>>2] = $16; + $17 = HEAP32[$7>>2]|0; + HEAP32[$10>>2] = $17; while(1) { - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 188|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)!=(0|0); - $34 = HEAP32[$0>>2]|0; - if (!($33)) { + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 36|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if (!($21)) { break; } - $35 = ((($34)) + 188|0); + $22 = HEAP32[$8>>2]|0; + $23 = ((($22)) + 8|0); + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$8>>2]|0; + $27 = ((($26)) + 20|0); + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($25) + ($29))|0; + $31 = HEAP32[$10>>2]|0; + $32 = (($30) + ($31))|0; + $33 = HEAP32[$4>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 68|0); $36 = HEAP32[$35>>2]|0; - HEAP32[$pDel>>2] = $36; - $37 = HEAP32[$pDel>>2]|0; - $38 = ((($37)) + 4|0); + $37 = ($32|0)>=($36|0); + if (!($37)) { + break; + } + $38 = HEAP32[$4>>2]|0; $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 188|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$pDel>>2]|0; - _sqlite3VdbeFrameDelete($42); + $40 = ((($39)) + 68|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$8>>2]|0; + $43 = ((($42)) + 8|0); + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($41) - ($45))|0; + $47 = HEAP32[$8>>2]|0; + $48 = ((($47)) + 20|0); + $49 = ((($48)) + 4|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($46) - ($50))|0; + HEAP32[$11>>2] = $51; + HEAP32[$12>>2] = 0; + while(1) { + $52 = HEAP32[$12>>2]|0; + $53 = HEAP32[$11>>2]|0; + $54 = ($52|0)<($53|0); + if (!($54)) { + break; + } + $55 = HEAP32[$9>>2]|0; + $56 = HEAP32[$12>>2]|0; + $57 = (($55) + ($56)|0); + $58 = (_sqlite3Fts5GetVarint($57,$13)|0); + $59 = $58&255; + $60 = HEAP32[$12>>2]|0; + $61 = (($60) + ($59))|0; + HEAP32[$12>>2] = $61; + } + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 36|0); + $64 = HEAP32[$8>>2]|0; + $65 = ((($64)) + 8|0); + $66 = HEAP32[$12>>2]|0; + $67 = HEAP32[$9>>2]|0; + _sqlite3Fts5BufferAppendBlob($63,$65,$66,$67); + $68 = HEAP32[$12>>2]|0; + $69 = HEAP32[$9>>2]|0; + $70 = (($69) + ($68)|0); + HEAP32[$9>>2] = $70; + $71 = HEAP32[$12>>2]|0; + $72 = HEAP32[$10>>2]|0; + $73 = (($72) - ($71))|0; + HEAP32[$10>>2] = $73; + $74 = HEAP32[$4>>2]|0; + $75 = HEAP32[$5>>2]|0; + _fts5WriteFlushLeaf($74,$75); } - $43 = ((($34)) + 204|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)!=(0|0); - if (!($45)) { + $76 = HEAP32[$10>>2]|0; + $77 = ($76|0)>(0); + if (!($77)) { STACKTOP = sp;return; } - $46 = HEAP32[$0>>2]|0; - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 204|0); - _sqlite3VdbeDeleteAuxData($47,$49,-1,0); + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 36|0); + $80 = HEAP32[$8>>2]|0; + $81 = ((($80)) + 8|0); + $82 = HEAP32[$10>>2]|0; + $83 = HEAP32[$9>>2]|0; + _sqlite3Fts5BufferAppendBlob($79,$81,$82,$83); STACKTOP = sp;return; } -function _vdbeCommit($db,$p) { - $db = $db|0; - $p = $p|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $i = 0, $iRandom = 0, $nMainFile = 0, $nTrans = 0, $needXcommit = 0, $offset = 0, $or$cond = 0, $pBt = 0, $pBt1 = 0, $pBt2 = 0, $pBt3 = 0, $pBt4 = 0, $pBt5 = 0, $pMaster = 0, $pPager = 0, $pVfs = 0, $rc = 0, $res = 0, $retryCount = 0; - var $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr14 = 0, $zFile = 0, $zMainFile = 0, $zMaster = 0, label = 0, sp = 0; +function _fts5IndexMerge($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, $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, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer11 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer = sp + 8|0; - $0 = sp + 128|0; - $1 = sp + 124|0; - $2 = sp + 120|0; - $i = sp + 116|0; - $nTrans = sp + 112|0; - $rc = sp + 108|0; - $needXcommit = sp + 104|0; - $pBt = sp + 100|0; - $pPager = sp + 96|0; - $pBt1 = sp + 92|0; - $pBt2 = sp + 88|0; - $pVfs = sp + 84|0; - $zMaster = sp + 80|0; - $zMainFile = sp + 76|0; - $pMaster = sp + 72|0; - $offset = sp; - $res = sp + 68|0; - $retryCount = sp + 64|0; - $nMainFile = sp + 60|0; - $iRandom = sp + 56|0; - $pBt3 = sp + 52|0; - $zFile = sp + 48|0; - $pBt4 = sp + 44|0; - $pBt5 = sp + 40|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $p; - HEAP32[$nTrans>>2] = 0; - HEAP32[$rc>>2] = 0; - HEAP32[$needXcommit>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = (_sqlite3VtabSync($3,$4)|0); - HEAP32[$rc>>2] = $5; - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $15 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $15; + HEAP32[$9>>2] = 0; + $16 = HEAP32[$5>>2]|0; + $17 = HEAP32[$16>>2]|0; + HEAP32[$10>>2] = $17; while(1) { - $6 = HEAP32[$rc>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)>(0); + if (!($19)) { + label = 17; break; } - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)<($11|0); - if (!($12)) { + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 36|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + label = 17; break; } - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($13<<4)|0); - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pBt>>2] = $19; - $20 = HEAP32[$pBt>>2]|0; - $21 = (_sqlite3BtreeIsInTrans($20)|0); - $22 = ($21|0)!=(0); - if ($22) { - HEAP32[$needXcommit>>2] = 1; - $23 = HEAP32[$pBt>>2]|0; - _sqlite3BtreeEnter($23); - $24 = HEAP32[$pBt>>2]|0; - $25 = (_sqlite3BtreePager($24)|0); - HEAP32[$pPager>>2] = $25; - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 16|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + ($26<<4)|0); - $31 = ((($30)) + 8|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = ($33|0)!=(1); - if ($34) { - $35 = HEAP32[$pPager>>2]|0; - $36 = (_sqlite3PagerGetJournalMode($35)|0); - $37 = (41812 + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = ($39|0)!=(0); - if ($40) { - $41 = HEAP32[$nTrans>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$nTrans>>2] = $42; - } - } - $43 = HEAP32[$pPager>>2]|0; - $44 = (_sqlite3PagerExclusiveLock($43)|0); - HEAP32[$rc>>2] = $44; - } - $45 = HEAP32[$i>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$i>>2] = $46; - } - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)!=(0); - if ($48) { - $49 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $49; - $300 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($300|0); - } - $50 = HEAP32[$needXcommit>>2]|0; - $51 = ($50|0)!=(0); - if ($51) { - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 204|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)!=(0|0); - if ($55) { - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 204|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 200|0); - $61 = HEAP32[$60>>2]|0; - $62 = (FUNCTION_TABLE_ii[$58 & 255]($61)|0); - HEAP32[$rc>>2] = $62; - $63 = HEAP32[$rc>>2]|0; - $64 = ($63|0)!=(0); - if ($64) { - HEAP32[$0>>2] = 531; - $300 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($300|0); - } - } - } - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = ((($67)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = (_sqlite3BtreeGetFilename($69)|0); - $71 = (_sqlite3Strlen30($70)|0); - $72 = (0)==($71|0); - $73 = HEAP32[$nTrans>>2]|0; - $74 = ($73|0)<=(1); - $or$cond = $72 | $74; - if ($or$cond) { - HEAP32[$i>>2] = 0; - while(1) { - $75 = HEAP32[$rc>>2]|0; - $76 = ($75|0)==(0); - if (!($76)) { - break; - } - $77 = HEAP32[$i>>2]|0; - $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 20|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($77|0)<($80|0); - if (!($81)) { - break; - } - $82 = HEAP32[$i>>2]|0; - $83 = HEAP32[$1>>2]|0; - $84 = ((($83)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $86 = (($85) + ($82<<4)|0); - $87 = ((($86)) + 4|0); - $88 = HEAP32[$87>>2]|0; - HEAP32[$pBt1>>2] = $88; - $89 = HEAP32[$pBt1>>2]|0; - $90 = ($89|0)!=(0|0); - if ($90) { - $91 = HEAP32[$pBt1>>2]|0; - $92 = (_sqlite3BtreeCommitPhaseOne($91,0)|0); - HEAP32[$rc>>2] = $92; - } - $93 = HEAP32[$i>>2]|0; - $94 = (($93) + 1)|0; - HEAP32[$i>>2] = $94; - } - HEAP32[$i>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$13>>2] = 0; + HEAP32[$11>>2] = 0; while(1) { - $95 = HEAP32[$rc>>2]|0; - $96 = ($95|0)==(0); - if (!($96)) { + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$10>>2]|0; + $26 = ((($25)) + 20|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($24|0)<($27|0); + if (!($28)) { break; } - $97 = HEAP32[$i>>2]|0; - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 20|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($97|0)<($100|0); - if (!($101)) { + $29 = HEAP32[$10>>2]|0; + $30 = ((($29)) + 24|0); + $31 = HEAP32[$11>>2]|0; + $32 = (($30) + (($31*12)|0)|0); + HEAP32[$14>>2] = $32; + $33 = HEAP32[$14>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)!=(0); + $36 = HEAP32[$14>>2]|0; + if ($35) { + label = 7; break; } - $102 = HEAP32[$i>>2]|0; - $103 = HEAP32[$1>>2]|0; - $104 = ((($103)) + 16|0); - $105 = HEAP32[$104>>2]|0; - $106 = (($105) + ($102<<4)|0); - $107 = ((($106)) + 4|0); - $108 = HEAP32[$107>>2]|0; - HEAP32[$pBt2>>2] = $108; - $109 = HEAP32[$pBt2>>2]|0; - $110 = ($109|0)!=(0|0); - if ($110) { - $111 = HEAP32[$pBt2>>2]|0; - $112 = (_sqlite3BtreeCommitPhaseTwo($111,0)|0); - HEAP32[$rc>>2] = $112; + $43 = ((($36)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$13>>2]|0; + $46 = ($44|0)>($45|0); + if ($46) { + $47 = HEAP32[$14>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$13>>2] = $49; + $50 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $50; } - $113 = HEAP32[$i>>2]|0; - $114 = (($113) + 1)|0; - HEAP32[$i>>2] = $114; - } - $115 = HEAP32[$rc>>2]|0; - $116 = ($115|0)==(0); - if ($116) { - $117 = HEAP32[$1>>2]|0; - (_sqlite3VtabCommit($117)|0); - } - } else { - $118 = HEAP32[$1>>2]|0; - $119 = HEAP32[$118>>2]|0; - HEAP32[$pVfs>>2] = $119; - HEAP32[$zMaster>>2] = 0; - $120 = HEAP32[$1>>2]|0; - $121 = ((($120)) + 16|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($122)) + 4|0); - $124 = HEAP32[$123>>2]|0; - $125 = (_sqlite3BtreeGetFilename($124)|0); - HEAP32[$zMainFile>>2] = $125; - HEAP32[$pMaster>>2] = 0; - $126 = $offset; - $127 = $126; - HEAP32[$127>>2] = 0; - $128 = (($126) + 4)|0; - $129 = $128; - HEAP32[$129>>2] = 0; - HEAP32[$retryCount>>2] = 0; - $130 = HEAP32[$zMainFile>>2]|0; - $131 = (_sqlite3Strlen30($130)|0); - HEAP32[$nMainFile>>2] = $131; - $132 = HEAP32[$1>>2]|0; - $133 = HEAP32[$zMainFile>>2]|0; - HEAP32[$vararg_buffer>>2] = $133; - $134 = (_sqlite3MPrintf($132,41818,$vararg_buffer)|0); - HEAP32[$zMaster>>2] = $134; - $135 = HEAP32[$zMaster>>2]|0; - $136 = ($135|0)==(0|0); - if ($136) { - HEAP32[$0>>2] = 7; - $300 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($300|0); + $51 = HEAP32[$11>>2]|0; + $52 = (($51) + 1)|0; + HEAP32[$11>>2] = $52; } - while(1) { - $137 = HEAP32[$retryCount>>2]|0; - $138 = ($137|0)!=(0); - if ($138) { - $139 = HEAP32[$retryCount>>2]|0; - $140 = ($139|0)>(100); - if ($140) { - label = 35; - break; - } - $144 = HEAP32[$retryCount>>2]|0; - $145 = ($144|0)==(1); - if ($145) { - $146 = HEAP32[$zMaster>>2]|0; - HEAP32[$vararg_buffer8>>2] = $146; - _sqlite3_log(13,41848,$vararg_buffer8); - } - } - $147 = HEAP32[$retryCount>>2]|0; - $148 = (($147) + 1)|0; - HEAP32[$retryCount>>2] = $148; - _sqlite3_randomness(4,$iRandom); - $149 = HEAP32[$nMainFile>>2]|0; - $150 = HEAP32[$zMaster>>2]|0; - $151 = (($150) + ($149)|0); - $152 = HEAP32[$iRandom>>2]|0; - $153 = $152 >>> 8; - $154 = $153 & 16777215; - $155 = HEAP32[$iRandom>>2]|0; - $156 = $155 & 255; - HEAP32[$vararg_buffer11>>2] = $154; - $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $156; - (_sqlite3_snprintf(13,$151,41863,$vararg_buffer11)|0); - $157 = HEAP32[$pVfs>>2]|0; - $158 = HEAP32[$zMaster>>2]|0; - $159 = (_sqlite3OsAccess($157,$158,0,$res)|0); - HEAP32[$rc>>2] = $159; - $160 = HEAP32[$rc>>2]|0; - $161 = ($160|0)==(0); - $162 = HEAP32[$res>>2]|0; - $163 = ($162|0)!=(0); - $164 = $161 ? $163 : 0; - if (!($164)) { - break; + if ((label|0) == 7) { + label = 0; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$13>>2]|0; + $39 = ($37|0)>($38|0); + if ($39) { + $40 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $40; + $41 = HEAP32[$14>>2]|0; + $42 = HEAP32[$41>>2]|0; + HEAP32[$13>>2] = $42; } } - if ((label|0) == 35) { - $141 = HEAP32[$zMaster>>2]|0; - HEAP32[$vararg_buffer5>>2] = $141; - _sqlite3_log(13,41834,$vararg_buffer5); - $142 = HEAP32[$pVfs>>2]|0; - $143 = HEAP32[$zMaster>>2]|0; - (_sqlite3OsDelete($142,$143,0)|0); - } - $165 = HEAP32[$rc>>2]|0; - $166 = ($165|0)==(0); - if ($166) { - $167 = HEAP32[$pVfs>>2]|0; - $168 = HEAP32[$zMaster>>2]|0; - $169 = (_sqlite3OsOpenMalloc($167,$168,$pMaster,16406,0)|0); - HEAP32[$rc>>2] = $169; - } - $170 = HEAP32[$rc>>2]|0; - $171 = ($170|0)!=(0); - if ($171) { - $172 = HEAP32[$1>>2]|0; - $173 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($172,$173); - $174 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $174; - $300 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($300|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $175 = HEAP32[$i>>2]|0; - $176 = HEAP32[$1>>2]|0; - $177 = ((($176)) + 20|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($175|0)<($178|0); - if (!($179)) { + $53 = HEAP32[$13>>2]|0; + $54 = HEAP32[$7>>2]|0; + $55 = ($53|0)<($54|0); + if ($55) { + $56 = HEAP32[$10>>2]|0; + $57 = ((($56)) + 24|0); + $58 = HEAP32[$12>>2]|0; + $59 = (($57) + (($58*12)|0)|0); + $60 = HEAP32[$59>>2]|0; + $61 = ($60|0)==(0); + if ($61) { + label = 17; break; } - $180 = HEAP32[$i>>2]|0; - $181 = HEAP32[$1>>2]|0; - $182 = ((($181)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = (($183) + ($180<<4)|0); - $185 = ((($184)) + 4|0); - $186 = HEAP32[$185>>2]|0; - HEAP32[$pBt3>>2] = $186; - $187 = HEAP32[$pBt3>>2]|0; - $188 = (_sqlite3BtreeIsInTrans($187)|0); - $189 = ($188|0)!=(0); - if ($189) { - $190 = HEAP32[$pBt3>>2]|0; - $191 = (_sqlite3BtreeGetJournalname($190)|0); - HEAP32[$zFile>>2] = $191; - $192 = HEAP32[$zFile>>2]|0; - $193 = ($192|0)==(0|0); - if (!($193)) { - $194 = HEAP32[$pMaster>>2]|0; - $195 = HEAP32[$zFile>>2]|0; - $196 = HEAP32[$zFile>>2]|0; - $197 = (_sqlite3Strlen30($196)|0); - $198 = (($197) + 1)|0; - $199 = $offset; - $200 = $199; - $201 = HEAP32[$200>>2]|0; - $202 = (($199) + 4)|0; - $203 = $202; - $204 = HEAP32[$203>>2]|0; - $205 = (_sqlite3OsWrite($194,$195,$198,$201,$204)|0); - HEAP32[$rc>>2] = $205; - $206 = HEAP32[$zFile>>2]|0; - $207 = (_sqlite3Strlen30($206)|0); - $208 = (($207) + 1)|0; - $209 = ($208|0)<(0); - $210 = $209 << 31 >> 31; - $211 = $offset; - $212 = $211; - $213 = HEAP32[$212>>2]|0; - $214 = (($211) + 4)|0; - $215 = $214; - $216 = HEAP32[$215>>2]|0; - $217 = (_i64Add(($213|0),($216|0),($208|0),($210|0))|0); - $218 = tempRet0; - $219 = $offset; - $220 = $219; - HEAP32[$220>>2] = $217; - $221 = (($219) + 4)|0; - $222 = $221; - HEAP32[$222>>2] = $218; - $223 = HEAP32[$rc>>2]|0; - $224 = ($223|0)!=(0); - if ($224) { - label = 48; - break; - } - } - } - $231 = HEAP32[$i>>2]|0; - $232 = (($231) + 1)|0; - HEAP32[$i>>2] = $232; } - if ((label|0) == 48) { - $225 = HEAP32[$pMaster>>2]|0; - _sqlite3OsCloseFree($225); - $226 = HEAP32[$pVfs>>2]|0; - $227 = HEAP32[$zMaster>>2]|0; - (_sqlite3OsDelete($226,$227,0)|0); - $228 = HEAP32[$1>>2]|0; - $229 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($228,$229); - $230 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $230; - $300 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($300|0); - } - $233 = HEAP32[$pMaster>>2]|0; - $234 = (_sqlite3OsDeviceCharacteristics($233)|0); - $235 = $234 & 1024; - $236 = (0)==($235|0); - if ($236) { - $237 = HEAP32[$pMaster>>2]|0; - $238 = (_sqlite3OsSync($237,2)|0); - HEAP32[$rc>>2] = $238; - $239 = (0)!=($238|0); - if ($239) { - $240 = HEAP32[$pMaster>>2]|0; - _sqlite3OsCloseFree($240); - $241 = HEAP32[$pVfs>>2]|0; - $242 = HEAP32[$zMaster>>2]|0; - (_sqlite3OsDelete($241,$242,0)|0); - $243 = HEAP32[$1>>2]|0; - $244 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($243,$244); - $245 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $245; - $300 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($300|0); - } - } - HEAP32[$i>>2] = 0; - while(1) { - $246 = HEAP32[$rc>>2]|0; - $247 = ($246|0)==(0); - if (!($247)) { - break; - } - $248 = HEAP32[$i>>2]|0; - $249 = HEAP32[$1>>2]|0; - $250 = ((($249)) + 20|0); - $251 = HEAP32[$250>>2]|0; - $252 = ($248|0)<($251|0); - if (!($252)) { - break; - } - $253 = HEAP32[$i>>2]|0; - $254 = HEAP32[$1>>2]|0; - $255 = ((($254)) + 16|0); - $256 = HEAP32[$255>>2]|0; - $257 = (($256) + ($253<<4)|0); - $258 = ((($257)) + 4|0); - $259 = HEAP32[$258>>2]|0; - HEAP32[$pBt4>>2] = $259; - $260 = HEAP32[$pBt4>>2]|0; - $261 = ($260|0)!=(0|0); - if ($261) { - $262 = HEAP32[$pBt4>>2]|0; - $263 = HEAP32[$zMaster>>2]|0; - $264 = (_sqlite3BtreeCommitPhaseOne($262,$263)|0); - HEAP32[$rc>>2] = $264; - } - $265 = HEAP32[$i>>2]|0; - $266 = (($265) + 1)|0; - HEAP32[$i>>2] = $266; - } - $267 = HEAP32[$pMaster>>2]|0; - _sqlite3OsCloseFree($267); - $268 = HEAP32[$rc>>2]|0; - $269 = ($268|0)!=(0); - if ($269) { - $270 = HEAP32[$1>>2]|0; - $271 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($270,$271); - $272 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $272; - $300 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($300|0); - } - $273 = HEAP32[$pVfs>>2]|0; - $274 = HEAP32[$zMaster>>2]|0; - $275 = (_sqlite3OsDelete($273,$274,1)|0); - HEAP32[$rc>>2] = $275; - $276 = HEAP32[$1>>2]|0; - $277 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($276,$277); - HEAP32[$zMaster>>2] = 0; - $278 = HEAP32[$rc>>2]|0; - $279 = ($278|0)!=(0); - if ($279) { - $280 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $280; - $300 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($300|0); + HEAP32[$9>>2] = 1; + $62 = HEAP32[$4>>2]|0; + $63 = HEAP32[$12>>2]|0; + _fts5IndexMergeLevel($62,$10,$63,$8); + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 36|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0); + if (!($67)) { + continue; } - _sqlite3BeginBenignMalloc(); - HEAP32[$i>>2] = 0; - while(1) { - $281 = HEAP32[$i>>2]|0; - $282 = HEAP32[$1>>2]|0; - $283 = ((($282)) + 20|0); - $284 = HEAP32[$283>>2]|0; - $285 = ($281|0)<($284|0); - if (!($285)) { - break; - } - $286 = HEAP32[$i>>2]|0; - $287 = HEAP32[$1>>2]|0; - $288 = ((($287)) + 16|0); - $289 = HEAP32[$288>>2]|0; - $290 = (($289) + ($286<<4)|0); - $291 = ((($290)) + 4|0); - $292 = HEAP32[$291>>2]|0; - HEAP32[$pBt5>>2] = $292; - $293 = HEAP32[$pBt5>>2]|0; - $294 = ($293|0)!=(0|0); - if ($294) { - $295 = HEAP32[$pBt5>>2]|0; - (_sqlite3BtreeCommitPhaseTwo($295,1)|0); - } - $296 = HEAP32[$i>>2]|0; - $297 = (($296) + 1)|0; - HEAP32[$i>>2] = $297; + $68 = HEAP32[$10>>2]|0; + $69 = ((($68)) + 24|0); + $70 = HEAP32[$12>>2]|0; + $71 = (($69) + (($70*12)|0)|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($72|0)==(0); + if (!($73)) { + continue; } - _sqlite3EndBenignMalloc(); - $298 = HEAP32[$1>>2]|0; - (_sqlite3VtabCommit($298)|0); + $74 = HEAP32[$4>>2]|0; + $75 = HEAP32[$12>>2]|0; + $76 = (($75) + 1)|0; + $77 = HEAP32[$10>>2]|0; + _fts5StructurePromote($74,$76,$77); + } + if ((label|0) == 17) { + $78 = HEAP32[$10>>2]|0; + $79 = HEAP32[$5>>2]|0; + HEAP32[$79>>2] = $78; + $80 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($80|0); } - $299 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $299; - $300 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($300|0); + return (0)|0; } -function _sqlite3VtabSync($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aVTrans = 0, $i = 0; - var $pVtab = 0, $rc = 0, $x = 0, label = 0, sp = 0; +function _fts5StructurePromoteTo($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, $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, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $i = sp + 16|0; - $rc = sp + 12|0; - $aVTrans = sp + 8|0; - $x = sp + 4|0; - $pVtab = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 340|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$aVTrans>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 340|0); - HEAP32[$6>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - label = 8; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $13 = HEAP32[$7>>2]|0; + $14 = ((($13)) + 24|0); + $15 = HEAP32[$5>>2]|0; + $16 = (($14) + (($15*12)|0)|0); + HEAP32[$10>>2] = $16; + $17 = HEAP32[$10>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + STACKTOP = sp;return; + } + $20 = HEAP32[$5>>2]|0; + $21 = (($20) + 1)|0; + HEAP32[$8>>2] = $21; + L4: while(1) { + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($22|0)<($25|0); + if (!($26)) { + label = 11; break; } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 316|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($9|0)<($12|0); - if (!($13)) { - label = 8; + $27 = HEAP32[$7>>2]|0; + $28 = ((($27)) + 24|0); + $29 = HEAP32[$8>>2]|0; + $30 = (($28) + (($29*12)|0)|0); + HEAP32[$11>>2] = $30; + $31 = HEAP32[$11>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { + label = 11; break; } - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$aVTrans>>2]|0; - $16 = (($15) + ($14<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pVtab>>2] = $19; - $20 = HEAP32[$pVtab>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$pVtab>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = ((($23)) + 60|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$x>>2] = $25; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$x>>2]|0; - $28 = HEAP32[$pVtab>>2]|0; - $29 = (FUNCTION_TABLE_ii[$27 & 255]($28)|0); - HEAP32[$rc>>2] = $29; - $30 = HEAP32[$1>>2]|0; - $31 = HEAP32[$pVtab>>2]|0; - _sqlite3VtabImportErrmsg($30,$31); + $34 = HEAP32[$11>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($36) - 1)|0; + HEAP32[$9>>2] = $37; + while(1) { + $38 = HEAP32[$9>>2]|0; + $39 = ($38|0)>=(0); + if (!($39)) { + break; + } + $40 = HEAP32[$11>>2]|0; + $41 = ((($40)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = (($42) + (($43*12)|0)|0); + $45 = (_fts5SegmentSize($44)|0); + HEAP32[$12>>2] = $45; + $46 = HEAP32[$12>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = ($46|0)>($47|0); + if ($48) { + label = 11; + break L4; + } + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 36|0); + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$5>>2]|0; + _fts5StructureExtendLevel($50,$51,$52,1,1); + $53 = HEAP32[$4>>2]|0; + $54 = ((($53)) + 36|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)!=(0); + if ($56) { + label = 11; + break L4; } + $57 = HEAP32[$10>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$11>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$9>>2]|0; + $64 = (($62) + (($63*12)|0)|0); + ;HEAP32[$59>>2]=HEAP32[$64>>2]|0;HEAP32[$59+4>>2]=HEAP32[$64+4>>2]|0;HEAP32[$59+8>>2]=HEAP32[$64+8>>2]|0; + $65 = HEAP32[$10>>2]|0; + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + $69 = HEAP32[$11>>2]|0; + $70 = ((($69)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = (($71) + -1)|0; + HEAP32[$70>>2] = $72; + $73 = HEAP32[$9>>2]|0; + $74 = (($73) + -1)|0; + HEAP32[$9>>2] = $74; } - $32 = HEAP32[$i>>2]|0; - $33 = (($32) + 1)|0; - HEAP32[$i>>2] = $33; + $75 = HEAP32[$8>>2]|0; + $76 = (($75) + 1)|0; + HEAP32[$8>>2] = $76; } - if ((label|0) == 8) { - $34 = HEAP32[$aVTrans>>2]|0; - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 340|0); - HEAP32[$36>>2] = $34; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + if ((label|0) == 11) { + STACKTOP = sp;return; } - return (0)|0; -} -function _sqlite3VtabCommit($db) { - $db = $db|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - _callFinaliser($1,64); - STACKTOP = sp;return 0; } -function _sqlite3BtreeGetJournalname($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _fts5SegmentSize($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3PagerJournalname($4)|0); - STACKTOP = sp;return ($5|0); -} -function _sqlite3PagerJournalname($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 180|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + $5 = (1 + ($4))|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($5) - ($8))|0; + STACKTOP = sp;return ($9|0); } -function _closeCursorsInFrame($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pC = 0, label = 0, sp = 0; +function _fts5WriteFlushBtree($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $i = sp + 4|0; - $pC = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 112|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 88|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { STACKTOP = sp;return; } - HEAP32[$i>>2] = 0; - while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 28|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($5|0)<($8|0); - if (!($9)) { - break; - } - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 112|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($10<<2)|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$pC>>2] = $15; - $16 = HEAP32[$pC>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$pC>>2]|0; - _sqlite3VdbeFreeCursor($18,$19); - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 112|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($20<<2)|0); - HEAP32[$24>>2] = 0; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = (_fts5WriteFlushDlidx($10,$11)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 36|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 76|0); + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)>(0); + if ($21) { + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 76|0); + $24 = HEAP32[$23>>2]|0; + $25 = $24; + } else { + $25 = 55752; } - $25 = HEAP32[$i>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$i>>2] = $26; + HEAP32[$5>>2] = $25; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 52|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 76|0); + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + (_sqlite3_bind_blob($28,2,$29,$33,0)|0); + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 52|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = ($37|0)<(0); + $39 = $38 << 31 >> 31; + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 88|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)<(0); + $44 = $43 << 31 >> 31; + $45 = (_bitshift64Shl(($42|0),($44|0),1)|0); + $46 = tempRet0; + $47 = (_i64Add(($37|0),($39|0),($45|0),($46|0))|0); + $48 = tempRet0; + (_sqlite3_bind_int64($36,3,$47,$48)|0); + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 52|0); + $51 = HEAP32[$50>>2]|0; + (_sqlite3_step($51)|0); + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 52|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3_reset($54)|0); + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 36|0); + HEAP32[$57>>2] = $55; } + $58 = HEAP32[$3>>2]|0; + $59 = ((($58)) + 88|0); + HEAP32[$59>>2] = 0; STACKTOP = sp;return; } -function _sqlite3VdbeFrameDelete($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aMem = 0, $apCsr = 0, $i = 0, label = 0, sp = 0; +function _fts5WriteFlushDlidx($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $i = sp + 8|0; - $aMem = sp + 4|0; - $apCsr = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 80|0); - HEAP32[$aMem>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 60|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$aMem>>2]|0; - $7 = (($6) + (($5*40)|0)|0); - HEAP32[$apCsr>>2] = $7; - HEAP32[$i>>2] = 0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 72|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 16|0); + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 64|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>=(4); + if ($15) { + HEAP32[$4>>2] = 1; + } + } + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$4>>2]|0; + _fts5WriteDlidxClear($16,$17,$18); + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 64|0); + HEAP32[$20>>2] = 0; + $21 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($21|0); +} +function _fts5WriteDlidxClear($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 64|0); + $8 = HEAP32[$6>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = ((($9)) + 68|0); $11 = HEAP32[$10>>2]|0; $12 = ($8|0)<($11|0); if (!($12)) { + label = 7; break; } - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$apCsr>>2]|0; - $17 = (($16) + ($15<<2)|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3VdbeFreeCursor($14,$18); - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 72|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = (($15) + ($16<<5)|0); + HEAP32[$7>>2] = $17; + $18 = HEAP32[$7>>2]|0; + $19 = ((($18)) + 16|0); + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + label = 7; + break; + } + $23 = HEAP32[$5>>2]|0; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)<(0); + $29 = $28 << 31 >> 31; + $30 = (_bitshift64Shl(($27|0),($29|0),37)|0); + $31 = tempRet0; + $32 = (_i64Add(($30|0),($31|0),0,16)|0); + $33 = tempRet0; + $34 = HEAP32[$6>>2]|0; + $35 = ($34|0)<(0); + $36 = $35 << 31 >> 31; + $37 = (_bitshift64Shl(($34|0),($36|0),31)|0); + $38 = tempRet0; + $39 = (_i64Add(($32|0),($33|0),($37|0),($38|0))|0); + $40 = tempRet0; + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)<(0); + $44 = $43 << 31 >> 31; + $45 = (_i64Add(($39|0),($40|0),($42|0),($44|0))|0); + $46 = tempRet0; + $47 = HEAP32[$7>>2]|0; + $48 = ((($47)) + 16|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$7>>2]|0; + $51 = ((($50)) + 16|0); + $52 = ((($51)) + 4|0); + $53 = HEAP32[$52>>2]|0; + _fts5DataWrite($25,$45,$46,$49,$53); + } + $54 = HEAP32[$7>>2]|0; + $55 = ((($54)) + 16|0); + _sqlite3Fts5BufferZero($55); + $56 = HEAP32[$7>>2]|0; + $57 = ((($56)) + 4|0); + HEAP32[$57>>2] = 0; + $58 = HEAP32[$6>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$6>>2] = $59; + } + if ((label|0) == 7) { + STACKTOP = sp;return; } - $21 = HEAP32[$aMem>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 60|0); - $24 = HEAP32[$23>>2]|0; - _releaseMemArray($21,$24); - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 40|0); - _sqlite3VdbeDeleteAuxData($27,$29,-1,0); - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$0>>2]|0; - _sqlite3DbFree($32,$33); - STACKTOP = sp;return; } -function _sqlite3OpcodeName($i) { - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _fts5WriteBtreeNoTerm($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $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; - $0 = sp; - HEAP32[$0>>2] = $i; - $1 = HEAP32[$0>>2]|0; - $2 = (5588 + ($1<<2)|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 57|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)!=(0); + if ($9) { + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 72|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 16|0); + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 72|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$4>>2] = $19; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 36|0); + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 16|0); + _sqlite3Fts5BufferAppendVarint($21,$23,0,0); + } + } + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 64|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$25>>2] = $27; + STACKTOP = sp;return; } -function _displayP4($pOp,$zTemp,$nTemp) { - $pOp = $pOp|0; - $zTemp = $zTemp|0; - $nTemp = $nTemp|0; - var $$ = 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, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0.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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 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; +function _fts5WriteDlidxGrow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.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, $ai = 0, $i = 0, $j = 0; - var $n = 0, $pColl = 0, $pColl1 = 0, $pDef = 0, $pKeyInfo = 0, $pMem = 0, $pVtab = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer18 = 0, $vararg_buffer21 = 0, $vararg_buffer24 = 0, $vararg_buffer27 = 0, $vararg_buffer30 = 0, $vararg_buffer33 = 0, $vararg_buffer35 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0; - var $vararg_ptr11 = 0, $vararg_ptr4 = 0, $x = 0, $zColl = 0, $zP4 = 0, label = 0, sp = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $vararg_buffer35 = sp + 96|0; - $vararg_buffer33 = sp + 88|0; - $vararg_buffer30 = sp + 80|0; - $vararg_buffer27 = sp + 72|0; - $vararg_buffer24 = sp + 64|0; - $vararg_buffer21 = sp + 56|0; - $vararg_buffer18 = sp + 48|0; - $vararg_buffer15 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 184|0; - $1 = sp + 180|0; - $2 = sp + 176|0; - $zP4 = sp + 172|0; - $x = sp + 144|0; - $j = sp + 140|0; - $pKeyInfo = sp + 136|0; - $pColl = sp + 132|0; - $zColl = sp + 128|0; - $pColl1 = sp + 124|0; - $pDef = sp + 120|0; - $pMem = sp + 116|0; - $pVtab = sp + 112|0; - $i = sp + 108|0; - $ai = sp + 104|0; - $n = sp + 100|0; - HEAP32[$0>>2] = $pOp; - HEAP32[$1>>2] = $zTemp; - HEAP32[$2>>2] = $nTemp; - $3 = HEAP32[$1>>2]|0; - HEAP32[$zP4>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - _sqlite3StrAccumInit($x,0,$4,$5,0); - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - L1: do { - switch ($9|0) { - case -6: { - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 16|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$pKeyInfo>>2] = $12; - $13 = HEAP32[$pKeyInfo>>2]|0; - $14 = ((($13)) + 6|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - HEAP32[$vararg_buffer>>2] = $16; - _sqlite3XPrintf($x,41915,$vararg_buffer); - HEAP32[$j>>2] = 0; - while(1) { - $17 = HEAP32[$j>>2]|0; - $18 = HEAP32[$pKeyInfo>>2]|0; - $19 = ((($18)) + 6|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - $22 = ($17|0)<($21|0); - if (!($22)) { + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + do { + if ($11) { + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 68|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($12|0)>=($15|0); + if ($16) { + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 72|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = $20<<5; + $22 = (_sqlite3_realloc($19,$21)|0); + HEAP32[$6>>2] = $22; + $23 = HEAP32[$6>>2]|0; + $24 = ($23|0)==(0|0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 36|0); + HEAP32[$26>>2] = 7; break; - } - $23 = HEAP32[$j>>2]|0; - $24 = HEAP32[$pKeyInfo>>2]|0; - $25 = ((($24)) + 20|0); - $26 = (($25) + ($23<<2)|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pColl>>2] = $27; - $28 = HEAP32[$pColl>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$pColl>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = $31; } else { - $32 = 18402; - } - HEAP32[$zColl>>2] = $32; - $33 = HEAP32[$zColl>>2]|0; - $34 = (_strcmp($33,34834)|0); - $35 = ($34|0)==(0); - $$ = $35 ? 41920 : $32; - HEAP32[$zColl>>2] = $$; - $36 = HEAP32[$j>>2]|0; - $37 = HEAP32[$pKeyInfo>>2]|0; - $38 = ((($37)) + 16|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + ($36)|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = ($42|0)!=(0); - $44 = $43 ? 28264 : 18402; - $45 = HEAP32[$zColl>>2]|0; - HEAP32[$vararg_buffer1>>2] = $44; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $45; - _sqlite3XPrintf($x,41922,$vararg_buffer1); - $46 = HEAP32[$j>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$j>>2] = $47; - } - _sqlite3StrAccumAppend($x,34706,1); - break; - } - case -4: { - $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 16|0); - $50 = HEAP32[$49>>2]|0; - HEAP32[$pColl1>>2] = $50; - $51 = HEAP32[$pColl1>>2]|0; - $52 = HEAP32[$51>>2]|0; - HEAP32[$vararg_buffer5>>2] = $52; - _sqlite3XPrintf($x,41928,$vararg_buffer5); - break; - } - case -5: { - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 16|0); - $55 = HEAP32[$54>>2]|0; - HEAP32[$pDef>>2] = $55; - $56 = HEAP32[$pDef>>2]|0; - $57 = ((($56)) + 20|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$pDef>>2]|0; - $60 = HEAP8[$59>>0]|0; - $61 = $60 << 24 >> 24; - HEAP32[$vararg_buffer8>>2] = $58; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $61; - _sqlite3XPrintf($x,41936,$vararg_buffer8); - break; - } - case -13: { - $62 = HEAP32[$0>>2]|0; - $63 = ((($62)) + 16|0); - $64 = HEAP32[$63>>2]|0; - $65 = $64; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (($65) + 4)|0; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = $vararg_buffer12; - $72 = $71; - HEAP32[$72>>2] = $67; - $73 = (($71) + 4)|0; - $74 = $73; - HEAP32[$74>>2] = $70; - _sqlite3XPrintf($x,28266,$vararg_buffer12); - break; - } - case -14: { - $75 = HEAP32[$0>>2]|0; - $76 = ((($75)) + 16|0); - $77 = HEAP32[$76>>2]|0; - HEAP32[$vararg_buffer15>>2] = $77; - _sqlite3XPrintf($x,41943,$vararg_buffer15); - break; - } - case -12: { - $78 = HEAP32[$0>>2]|0; - $79 = ((($78)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = +HEAPF64[$80>>3]; - HEAPF64[$vararg_buffer18>>3] = $81; - _sqlite3XPrintf($x,41946,$vararg_buffer18); - break; - } - case -8: { - $82 = HEAP32[$0>>2]|0; - $83 = ((($82)) + 16|0); - $84 = HEAP32[$83>>2]|0; - HEAP32[$pMem>>2] = $84; - $85 = HEAP32[$pMem>>2]|0; - $86 = ((($85)) + 8|0); - $87 = HEAP16[$86>>1]|0; - $88 = $87&65535; - $89 = $88 & 2; - $90 = ($89|0)!=(0); - $91 = HEAP32[$pMem>>2]|0; - if ($90) { - $92 = ((($91)) + 16|0); - $93 = HEAP32[$92>>2]|0; - HEAP32[$zP4>>2] = $93; - break L1; - } - $94 = ((($91)) + 8|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95&65535; - $97 = $96 & 4; - $98 = ($97|0)!=(0); - $99 = HEAP32[$pMem>>2]|0; - if ($98) { - $100 = $99; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = $vararg_buffer21; - $107 = $106; - HEAP32[$107>>2] = $102; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = $105; - _sqlite3XPrintf($x,28266,$vararg_buffer21); - break L1; - } - $110 = ((($99)) + 8|0); - $111 = HEAP16[$110>>1]|0; - $112 = $111&65535; - $113 = $112 & 8; - $114 = ($113|0)!=(0); - $115 = HEAP32[$pMem>>2]|0; - if ($114) { - $116 = +HEAPF64[$115>>3]; - HEAPF64[$vararg_buffer24>>3] = $116; - _sqlite3XPrintf($x,41946,$vararg_buffer24); - break L1; - } - $117 = ((($115)) + 8|0); - $118 = HEAP16[$117>>1]|0; - $119 = $118&65535; - $120 = $119 & 1; - $121 = ($120|0)!=(0); - if ($121) { - HEAP32[$zP4>>2] = 39691; - break L1; - } else { - HEAP32[$zP4>>2] = 41952; - break L1; - } - break; - } - case -10: { - $122 = HEAP32[$0>>2]|0; - $123 = ((($122)) + 16|0); - $124 = HEAP32[$123>>2]|0; - $125 = ((($124)) + 8|0); - $126 = HEAP32[$125>>2]|0; - HEAP32[$pVtab>>2] = $126; - $127 = HEAP32[$pVtab>>2]|0; - HEAP32[$vararg_buffer27>>2] = $127; - _sqlite3XPrintf($x,41959,$vararg_buffer27); - break; - } - case -15: { - $128 = HEAP32[$0>>2]|0; - $129 = ((($128)) + 16|0); - $130 = HEAP32[$129>>2]|0; - HEAP32[$ai>>2] = $130; - $131 = HEAP32[$ai>>2]|0; - $132 = HEAP32[$131>>2]|0; - HEAP32[$n>>2] = $132; - HEAP32[$i>>2] = 1; - while(1) { - $133 = HEAP32[$i>>2]|0; - $134 = HEAP32[$n>>2]|0; - $135 = ($133|0)<($134|0); - if (!($135)) { + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 68|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($27) - ($30))|0; + $32 = $31<<5; + HEAP32[$7>>2] = $32; + $33 = HEAP32[$6>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 68|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($33) + ($36<<5)|0); + $38 = HEAP32[$7>>2]|0; + _memset(($37|0),0,($38|0))|0; + $39 = HEAP32[$6>>2]|0; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 72|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$5>>2]|0; + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 68|0); + HEAP32[$44>>2] = $42; break; } - $136 = HEAP32[$i>>2]|0; - $137 = HEAP32[$ai>>2]|0; - $138 = (($137) + ($136<<2)|0); - $139 = HEAP32[$138>>2]|0; - HEAP32[$vararg_buffer30>>2] = $139; - _sqlite3XPrintf($x,41967,$vararg_buffer30); - $140 = HEAP32[$i>>2]|0; - $141 = (($140) + 1)|0; - HEAP32[$i>>2] = $141; } - $142 = HEAP32[$1>>2]|0; - HEAP8[$142>>0] = 91; - _sqlite3StrAccumAppend($x,41971,1); - break; - } - case -18: { - _sqlite3XPrintf($x,41973,$vararg_buffer33); - break; } - case -19: { - $143 = HEAP32[$1>>2]|0; - HEAP8[$143>>0] = 0; + } while(0); + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 36|0); + $47 = HEAP32[$46>>2]|0; + STACKTOP = sp;return ($47|0); +} +function _fts5DlidxExtractFirstRowid($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp; + $3 = sp + 8|0; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 1|0); + $7 = (_sqlite3Fts5GetVarint($6,$2)|0); + $8 = $7&255; + $9 = (1 + ($8))|0; + HEAP32[$3>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (($11) + ($12)|0); + (_sqlite3Fts5GetVarint($13,$2)|0); + $14 = $2; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + tempRet0 = ($19); + STACKTOP = sp;return ($16|0); +} +function _fts5PrefixCompress($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + while(1) { + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = ($7|0)<($8|0); + if (!($9)) { + label = 5; break; } - case -20: { - $144 = HEAP32[$0>>2]|0; - $145 = ((($144)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = HEAP32[$146>>2]|0; - HEAP32[$vararg_buffer35>>2] = $147; - _sqlite3XPrintf($x,18391,$vararg_buffer35); + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = (($10) + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = (($15) + ($16)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($14|0)!=($19|0); + if ($20) { + label = 5; break; } - default: { - $148 = HEAP32[$0>>2]|0; - $149 = ((($148)) + 16|0); - $150 = HEAP32[$149>>2]|0; - HEAP32[$zP4>>2] = $150; - $151 = HEAP32[$zP4>>2]|0; - $152 = ($151|0)==(0|0); - if ($152) { - $153 = HEAP32[$1>>2]|0; - HEAP32[$zP4>>2] = $153; - $154 = HEAP32[$1>>2]|0; - HEAP8[$154>>0] = 0; - } - } - } - } while(0); - (_sqlite3StrAccumFinish($x)|0); - $155 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($155|0); + $21 = HEAP32[$6>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$6>>2] = $22; + } + if ((label|0) == 5) { + $23 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($23|0); + } + return (0)|0; +} +function _fts5WriteBtreeTerm($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + _fts5WriteFlushBtree($8,$9); + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 36|0); + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 76|0); + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$7>>2]|0; + _sqlite3Fts5BufferSet($11,$13,$14,$15); + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 88|0); + HEAP32[$20>>2] = $18; + STACKTOP = sp;return; +} +function _sqlite3Fts5IndexSetAverages($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$5>>2]|0; + _fts5DataWrite($6,1,0,$7,$8); + $9 = HEAP32[$3>>2]|0; + $10 = (_fts5IndexReturn($9)|0); + STACKTOP = sp;return ($10|0); +} +function _sqlite3Fts5StorageRename($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = (_sqlite3Fts5StorageSync($8,1)|0); + HEAP32[$5>>2] = $9; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$3>>2]|0; + _fts5StorageRenameOne($10,$5,50977,$11); + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$3>>2]|0; + _fts5StorageRenameOne($12,$5,30148,$13); + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$3>>2]|0; + _fts5StorageRenameOne($14,$5,50982,$15); + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$3>>2]|0; + _fts5StorageRenameOne($20,$5,49899,$21); + } + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 32|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if (!($25)) { + $28 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($28|0); + } + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$3>>2]|0; + _fts5StorageRenameOne($26,$5,46221,$27); + $28 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($28|0); } -function _vdbeReleaseAndSetInt64($pMem,$0,$1) { - $pMem = $pMem|0; +function _fts5StorageRenameOne($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 8|0; - $3 = sp; - HEAP32[$2>>2] = $pMem; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - _sqlite3VdbeMemSetNull($8); - $9 = $3; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = $15; - $17 = $16; - HEAP32[$17>>2] = $11; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $14; - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 8|0); - HEAP16[$21>>1] = 4; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[$4>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer>>2] = $15; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $18; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $19; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $20; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $21; + $22 = (_fts5ExecPrintf($12,0,50989,$vararg_buffer)|0); + $23 = HEAP32[$5>>2]|0; + HEAP32[$23>>2] = $22; STACKTOP = sp;return; } -function _sqlite3VdbeMemHandleBom($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $b1 = 0, $b2 = 0, $bom = 0, $rc = 0, label = 0, sp = 0; +function _fts5ExecPrintf($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 8|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$7>>2] = $varargs; + $9 = HEAP32[$5>>2]|0; + $10 = (_sqlite3_vmprintf($9,$7)|0); + HEAP32[$8>>2] = $10; + $11 = HEAP32[$8>>2]|0; + $12 = ($11|0)==(0|0); + if ($12) { + HEAP32[$6>>2] = 7; + $18 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($18|0); + } else { + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (_sqlite3_exec($13,$14,0,0,$15)|0); + HEAP32[$6>>2] = $16; + $17 = HEAP32[$8>>2]|0; + _sqlite3_free($17); + $18 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($18|0); + } + return (0)|0; +} +function _fts5FindAuxiliary($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - $bom = sp + 10|0; - $b1 = sp + 9|0; - $b2 = sp + 8|0; - HEAP32[$0>>2] = $pMem; - HEAP32[$rc>>2] = 0; - HEAP8[$bom>>0] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(1); - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP8[$7>>0]|0; - HEAP8[$b1>>0] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 1|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$b2>>0] = $13; - $14 = HEAP8[$b1>>0]|0; - $15 = $14&255; - $16 = ($15|0)==(254); - if ($16) { - $17 = HEAP8[$b2>>0]|0; - $18 = $17&255; - $19 = ($18|0)==(255); - if ($19) { - HEAP8[$bom>>0] = 3; - } + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + 32|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; + while(1) { + $11 = HEAP32[$5>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + label = 6; + break; } - $20 = HEAP8[$b1>>0]|0; - $21 = $20&255; - $22 = ($21|0)==(255); - if ($22) { - $23 = HEAP8[$b2>>0]|0; - $24 = $23&255; - $25 = ($24|0)==(254); - if ($25) { - HEAP8[$bom>>0] = 2; - } + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_stricmp($13,$16)|0); + $18 = ($17|0)==(0); + $19 = HEAP32[$5>>2]|0; + if ($18) { + label = 4; + break; } + $20 = ((($19)) + 20|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$5>>2] = $21; } - $26 = HEAP8[$bom>>0]|0; - $27 = ($26<<24>>24)!=(0); - if (!($27)) { - $70 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($70|0); + if ((label|0) == 4) { + HEAP32[$2>>2] = $19; + $22 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($22|0); } - $28 = HEAP32[$0>>2]|0; - $29 = (_sqlite3VdbeMemMakeWriteable($28)|0); - HEAP32[$rc>>2] = $29; - $30 = HEAP32[$rc>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $70 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($70|0); + else if ((label|0) == 6) { + HEAP32[$2>>2] = 0; + $22 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($22|0); } - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 12|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) - 2)|0; - HEAP32[$33>>2] = $35; - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 16|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 16|0); - $41 = HEAP32[$40>>2]|0; - $42 = ((($41)) + 2|0); - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 12|0); - $45 = HEAP32[$44>>2]|0; - _memmove(($38|0),($42|0),($45|0))|0; - $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 16|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + ($48)|0); - HEAP8[$52>>0] = 0; - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 12|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + 1)|0; - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 16|0); - $59 = HEAP32[$58>>2]|0; - $60 = (($59) + ($56)|0); - HEAP8[$60>>0] = 0; - $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 8|0); - $63 = HEAP16[$62>>1]|0; - $64 = $63&65535; - $65 = $64 | 512; - $66 = $65&65535; - HEAP16[$62>>1] = $66; - $67 = HEAP8[$bom>>0]|0; - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 10|0); - HEAP8[$69>>0] = $67; - $70 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($70|0); -} -function _valueBytes($pVal,$enc) { - $pVal = $pVal|0; - $enc = $enc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + return (0)|0; +} +function _fts5ApiCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp + 8|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp; + $9 = sp + 16|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = (_sqlite3_user_data($10)|0); + HEAP32[$6>>2] = $11; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3_value_int64($13)|0); + $15 = tempRet0; + $16 = $8; + $17 = $16; + HEAP32[$17>>2] = $14; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $15; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = $8; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (_fts5CursorFromCsrid($21,$24,$27)|0); + HEAP32[$7>>2] = $28; + $29 = HEAP32[$7>>2]|0; + $30 = ($29|0)==(0|0); + if ($30) { + $31 = $8; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = $vararg_buffer; + $38 = $37; + HEAP32[$38>>2] = $33; + $39 = (($37) + 4)|0; + $40 = $39; + HEAP32[$40>>2] = $36; + $41 = (_sqlite3_mprintf(51031,$vararg_buffer)|0); + HEAP32[$9>>2] = $41; + $42 = HEAP32[$3>>2]|0; + $43 = HEAP32[$9>>2]|0; + _sqlite3_result_error($42,$43,-1); + $44 = HEAP32[$9>>2]|0; + _sqlite3_free($44); + STACKTOP = sp;return; + } else { + $45 = HEAP32[$6>>2]|0; + $46 = HEAP32[$7>>2]|0; + $47 = HEAP32[$3>>2]|0; + $48 = HEAP32[$4>>2]|0; + $49 = (($48) - 1)|0; + $50 = HEAP32[$5>>2]|0; + $51 = ((($50)) + 4|0); + _fts5ApiInvoke($45,$46,$47,$49,$51); + STACKTOP = sp;return; + } +} +function _fts5ApiInvoke($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = ((($11)) + 96|0); + HEAP32[$12>>2] = $10; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = HEAP32[$7>>2]|0; + $18 = HEAP32[$8>>2]|0; + $19 = HEAP32[$9>>2]|0; + FUNCTION_TABLE_viiiii[$15 & 255](10572,$16,$17,$18,$19); + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 96|0); + HEAP32[$21>>2] = 0; + STACKTOP = sp;return; +} +function _fts5ApiUserData($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; STACKTOP = STACKTOP + 16|0; - $0 = sp; $1 = sp + 4|0; - HEAP32[$0>>2] = $pVal; - HEAP8[$1>>0] = $enc; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP8[$1>>0]|0; - $4 = (_valueToText($2,$3)|0); - $5 = ($4|0)!=(0|0); - if (!($5)) { - $9 = 0; - STACKTOP = sp;return ($9|0); - } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 12|0); + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 96|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 8|0); $8 = HEAP32[$7>>2]|0; - $9 = $8; - STACKTOP = sp;return ($9|0); + STACKTOP = sp;return ($8|0); } -function _valueToText($pVal,$enc) { - $pVal = $pVal|0; - $enc = $enc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _fts5ApiColumnCount($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - $2 = sp + 8|0; - HEAP32[$1>>2] = $pVal; - HEAP8[$2>>0] = $enc; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 18; - $8 = ($7|0)!=(0); - $9 = HEAP32[$1>>2]|0; - if ($8) { - $10 = ((($9)) + 8|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = $12 | 2; - $14 = $13&65535; - HEAP16[$10>>1] = $14; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 10|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = HEAP8[$2>>0]|0; - $20 = $19&255; - $21 = $20 & -9; - $22 = ($18|0)!=($21|0); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = HEAP8[$2>>0]|0; - $25 = $24&255; - $26 = $25 & -9; - (_sqlite3VdbeChangeEncoding($23,$26)|0); - } - $27 = HEAP8[$2>>0]|0; - $28 = $27&255; - $29 = $28 & 8; - $30 = ($29|0)!=(0); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 16|0); - $33 = HEAP32[$32>>2]|0; - $34 = $33; - $35 = 1 & $34; - $36 = (1)==($35|0); - if ($36) { - $37 = HEAP32[$1>>2]|0; - $38 = (_sqlite3VdbeMemMakeWriteable($37)|0); - $39 = ($38|0)!=(0); - if ($39) { - HEAP32[$0>>2] = 0; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); - } - } - } - $40 = HEAP32[$1>>2]|0; - (_sqlite3VdbeMemNulTerminate($40)|0); - } else { - $41 = HEAP8[$2>>0]|0; - (_sqlite3VdbeMemStringify($9,$41,0)|0); - } - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 10|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = HEAP8[$2>>0]|0; - $47 = $46&255; - $48 = $47 & -9; - $49 = ($45|0)==($48|0); - if ($49) { - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 16|0); - $52 = HEAP32[$51>>2]|0; - HEAP32[$0>>2] = $52; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); - } else { - HEAP32[$0>>2] = 0; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); - } - return (0)|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($9|0); } -function _vdbeMemClear($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _fts5ApiRowCount($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 9312; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$0>>2]|0; - _vdbeMemClearExternAndSetNull($7); - } - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 24|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $6; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$5>>2] = $8; + $9 = HEAP32[$5>>2]|0; + $10 = ((($9)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (_sqlite3Fts5StorageRowCount($11,$12)|0); + STACKTOP = sp;return ($13|0); +} +function _fts5ApiColumnTotalSize($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + HEAP32[$6>>2] = $8; + $9 = HEAP32[$6>>2]|0; $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0); - if (!($11)) { - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 16|0); - HEAP32[$21>>2] = 0; - STACKTOP = sp;return; - } - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 32|0); + HEAP32[$7>>2] = $10; + $11 = HEAP32[$7>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = (_sqlite3Fts5StorageSize($13,$14,$15)|0); + STACKTOP = sp;return ($16|0); +} +function _fts5ApiTokenize($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $12 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = $12; + $13 = HEAP32[$10>>2]|0; $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 20|0); + HEAP32[$11>>2] = $14; + $15 = HEAP32[$11>>2]|0; + $16 = ((($15)) + 12|0); $17 = HEAP32[$16>>2]|0; - _sqlite3DbFree($14,$17); - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 24|0); - HEAP32[$19>>2] = 0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 16|0); - HEAP32[$21>>2] = 0; - STACKTOP = sp;return; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = HEAP32[$8>>2]|0; + $21 = HEAP32[$9>>2]|0; + $22 = (_sqlite3Fts5Tokenize($17,8,$18,$19,$20,$21)|0); + STACKTOP = sp;return ($22|0); } -function _Cleanup($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, label = 0, sp = 0; +function _fts5ApiPhraseCount($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$db>>2] = $2; - $3 = HEAP32[$db>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 108|0); + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$2>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 52|0); $6 = HEAP32[$5>>2]|0; - _sqlite3DbFree($3,$6); - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 108|0); - HEAP32[$8>>2] = 0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 104|0); - HEAP32[$10>>2] = 0; - STACKTOP = sp;return; + $7 = (_sqlite3Fts5ExprPhraseCount($6)|0); + STACKTOP = sp;return ($7|0); } -function _apiOomError($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _fts5ApiPhraseSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $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; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - _sqlite3OomClear($1); - $2 = HEAP32[$0>>2]|0; - _sqlite3Error($2,7); - STACKTOP = sp;return 7; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $5; + $6 = HEAP32[$4>>2]|0; + $7 = ((($6)) + 52|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (_sqlite3Fts5ExprPhraseSize($8,$9)|0); + STACKTOP = sp;return ($10|0); } -function _btreeClearHasContent($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _fts5ApiInstCount($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; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pBt; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 60|0); - $3 = HEAP32[$2>>2]|0; - _sqlite3BitvecDestroy($3); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 60|0); + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $6 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $6; HEAP32[$5>>2] = 0; - STACKTOP = sp;return; + $7 = HEAP32[$4>>2]|0; + $8 = ((($7)) + 60|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 8; + $11 = ($10|0)==(0); + if (!($11)) { + $12 = HEAP32[$4>>2]|0; + $13 = (_fts5CacheInstArray($12)|0); + HEAP32[$5>>2] = $13; + $14 = (0)==($13|0); + if (!($14)) { + $19 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($19|0); + } + } + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 112|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$3>>2]|0; + HEAP32[$18>>2] = $17; + $19 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($19|0); } -function _btreeEndTransaction($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0; - var $pBt = 0, label = 0, sp = 0; +function _fts5ApiInst($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pBt = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pBt>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$pBt>>2]|0; - $7 = ((($6)) + 19|0); - HEAP8[$7>>0] = 0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)>(0); - if ($12) { - $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 160|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(1); - if ($16) { - $17 = HEAP32[$0>>2]|0; - _downgradeAllSharedCacheTableLocks($17); - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 8|0); - HEAP8[$19>>0] = 1; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $12 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = $12; + HEAP32[$11>>2] = 0; + $13 = HEAP32[$10>>2]|0; + $14 = ((($13)) + 60|0); + $15 = HEAP32[$14>>2]|0; + $16 = $15 & 8; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[$10>>2]|0; + $19 = (_fts5CacheInstArray($18)|0); + HEAP32[$11>>2] = $19; + $20 = (0)==($19|0); + if (!($20)) { + $54 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($54|0); } } - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$0>>2]|0; - _clearAllSharedCacheTableLocks($25); - $26 = HEAP32[$pBt>>2]|0; - $27 = ((($26)) + 40|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + -1)|0; - HEAP32[$27>>2] = $29; - $30 = HEAP32[$pBt>>2]|0; - $31 = ((($30)) + 40|0); - $32 = HEAP32[$31>>2]|0; - $33 = (0)==($32|0); - if ($33) { - $34 = HEAP32[$pBt>>2]|0; - $35 = ((($34)) + 20|0); - HEAP8[$35>>0] = 0; + $21 = HEAP32[$6>>2]|0; + $22 = ($21|0)<(0); + if (!($22)) { + $23 = HEAP32[$6>>2]|0; + $24 = HEAP32[$10>>2]|0; + $25 = ((($24)) + 112|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($23|0)>=($26|0); + if (!($27)) { + $28 = HEAP32[$10>>2]|0; + $29 = ((($28)) + 116|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = ($31*3)|0; + $33 = (($30) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$7>>2]|0; + HEAP32[$35>>2] = $34; + $36 = HEAP32[$10>>2]|0; + $37 = ((($36)) + 116|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = ($39*3)|0; + $41 = (($40) + 1)|0; + $42 = (($38) + ($41<<2)|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$8>>2]|0; + HEAP32[$44>>2] = $43; + $45 = HEAP32[$10>>2]|0; + $46 = ((($45)) + 116|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$6>>2]|0; + $49 = ($48*3)|0; + $50 = (($49) + 2)|0; + $51 = (($47) + ($50<<2)|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$9>>2]|0; + HEAP32[$53>>2] = $52; + $54 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($54|0); } } - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 8|0); - HEAP8[$37>>0] = 0; - $38 = HEAP32[$pBt>>2]|0; - _unlockBtreeIfUnused($38); - STACKTOP = sp;return; + HEAP32[$11>>2] = 25; + $54 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($54|0); } -function _downgradeAllSharedCacheTableLocks($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $pLock = 0, label = 0, sp = 0; +function _fts5ApiRowid($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pBt = sp + 4|0; - $pLock = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pBt>>2] = $3; - $4 = HEAP32[$pBt>>2]|0; - $5 = ((($4)) + 76|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ($6|0)==($7|0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = HEAP32[$pBt>>2]|0; - $10 = ((($9)) + 76|0); - HEAP32[$10>>2] = 0; - $11 = HEAP32[$pBt>>2]|0; - $12 = ((($11)) + 22|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & -97; - $16 = $15&65535; - HEAP16[$12>>1] = $16; - $17 = HEAP32[$pBt>>2]|0; - $18 = ((($17)) + 72|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pLock>>2] = $19; - while(1) { - $20 = HEAP32[$pLock>>2]|0; - $21 = ($20|0)!=(0|0); - if (!($21)) { - break; - } - $22 = HEAP32[$pLock>>2]|0; - $23 = ((($22)) + 8|0); - HEAP8[$23>>0] = 1; - $24 = HEAP32[$pLock>>2]|0; - $25 = ((($24)) + 12|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$pLock>>2] = $26; - } - STACKTOP = sp;return; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (_fts5CursorRowid($2)|0); + $4 = tempRet0; + tempRet0 = ($4); + STACKTOP = sp;return ($3|0); } -function _clearAllSharedCacheTableLocks($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $pLock = 0, $ppIter = 0, label = 0, sp = 0; +function _fts5ApiColumnText($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $pBt = sp + 8|0; - $ppIter = sp + 4|0; - $pLock = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pBt>>2] = $3; - $4 = HEAP32[$pBt>>2]|0; - $5 = ((($4)) + 72|0); - HEAP32[$ppIter>>2] = $5; - while(1) { - $6 = HEAP32[$ppIter>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - break; - } - $9 = HEAP32[$ppIter>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$pLock>>2] = $10; - $11 = HEAP32[$pLock>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ($12|0)==($13|0); - $15 = HEAP32[$pLock>>2]|0; - $16 = ((($15)) + 12|0); - if (!($14)) { - HEAP32[$ppIter>>2] = $16; - continue; - } - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$ppIter>>2]|0; - HEAP32[$18>>2] = $17; - $19 = HEAP32[$pLock>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(1); - if (!($22)) { - continue; - } - $23 = HEAP32[$pLock>>2]|0; - _sqlite3_free($23); - } - $24 = HEAP32[$pBt>>2]|0; - $25 = ((($24)) + 76|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = ($26|0)==($27|0); - $29 = HEAP32[$pBt>>2]|0; - if ($28) { - $30 = ((($29)) + 76|0); - HEAP32[$30>>2] = 0; - $31 = HEAP32[$pBt>>2]|0; - $32 = ((($31)) + 22|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33&65535; - $35 = $34 & -97; - $36 = $35&65535; - HEAP16[$32>>1] = $36; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $10 = HEAP32[$4>>2]|0; + HEAP32[$9>>2] = $10; + $11 = HEAP32[$9>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = (_fts5IsContentless($12)|0); + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$6>>2]|0; + HEAP32[$15>>2] = 0; + $16 = HEAP32[$7>>2]|0; + HEAP32[$16>>2] = 0; + $35 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($35|0); } - $37 = ((($29)) + 40|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==(2); - if (!($39)) { - STACKTOP = sp;return; + $17 = HEAP32[$9>>2]|0; + $18 = (_fts5SeekCursor($17,0)|0); + HEAP32[$8>>2] = $18; + $19 = HEAP32[$8>>2]|0; + $20 = ($19|0)==(0); + if (!($20)) { + $35 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($35|0); } - $40 = HEAP32[$pBt>>2]|0; - $41 = ((($40)) + 22|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42&65535; - $44 = $43 & -65; - $45 = $44&65535; - HEAP16[$41>>1] = $45; - STACKTOP = sp;return; + $21 = HEAP32[$9>>2]|0; + $22 = ((($21)) + 48|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = (($24) + 1)|0; + $26 = (_sqlite3_column_text($23,$25)|0); + $27 = HEAP32[$6>>2]|0; + HEAP32[$27>>2] = $26; + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 48|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = (($31) + 1)|0; + $33 = (_sqlite3_column_bytes($30,$32)|0); + $34 = HEAP32[$7>>2]|0; + HEAP32[$34>>2] = $33; + $35 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($35|0); } -function _autoVacuumCommit($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $iFree = 0; - var $nFin = 0, $nFree = 0, $nOrig = 0, $or$cond = 0, $or$cond3 = 0, $pPager = 0, $rc = 0, label = 0, sp = 0; +function _fts5ApiColumnSize($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $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, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $rc = sp + 20|0; - $pPager = sp + 16|0; - $nFin = sp + 12|0; - $nFree = sp + 8|0; - $iFree = sp + 4|0; - $nOrig = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pPager>>2] = $3; - $4 = HEAP32[$1>>2]|0; - _invalidateAllOverflowCache($4); - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 18|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - do { - if (!($8)) { - $9 = HEAP32[$1>>2]|0; - $10 = (_btreePagecount($9)|0); - HEAP32[$nOrig>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$nOrig>>2]|0; - $13 = (_ptrmapPageno($11,$12)|0); - $14 = HEAP32[$nOrig>>2]|0; - $15 = ($13|0)==($14|0); - if (!($15)) { - $16 = HEAP32[$nOrig>>2]|0; - $17 = HEAP32[1536>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 32|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($17>>>0) / ($20>>>0))&-1; - $22 = (($21) + 1)|0; - $23 = ($16|0)==($22|0); - if (!($23)) { - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 12|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($27)) + 56|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 36|0); - $31 = (_sqlite3Get4byte($30)|0); - HEAP32[$nFree>>2] = $31; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$nOrig>>2]|0; - $34 = HEAP32[$nFree>>2]|0; - $35 = (_finalDbSize($32,$33,$34)|0); - HEAP32[$nFin>>2] = $35; - $36 = HEAP32[$nFin>>2]|0; - $37 = HEAP32[$nOrig>>2]|0; - $38 = ($36>>>0)>($37>>>0); - if ($38) { - $39 = (_sqlite3CorruptError(61919)|0); - HEAP32[$0>>2] = $39; - $98 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($98|0); - } - $40 = HEAP32[$nFin>>2]|0; - $41 = HEAP32[$nOrig>>2]|0; - $42 = ($40>>>0)<($41>>>0); - if ($42) { - $43 = HEAP32[$1>>2]|0; - $44 = (_saveAllCursors($43,0,0)|0); - HEAP32[$rc>>2] = $44; - } - $45 = HEAP32[$nOrig>>2]|0; - HEAP32[$iFree>>2] = $45; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $17 = HEAP32[$3>>2]|0; + HEAP32[$6>>2] = $17; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$18>>2]|0; + HEAP32[$7>>2] = $19; + $20 = HEAP32[$7>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$8>>2] = $22; + HEAP32[$9>>2] = 0; + $23 = HEAP32[$6>>2]|0; + $24 = ((($23)) + 60|0); + $25 = HEAP32[$24>>2]|0; + $26 = $25 & 4; + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$8>>2]|0; + $29 = ((($28)) + 44|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0); + L3: do { + if ($31) { + $32 = HEAP32[$6>>2]|0; + $33 = (_fts5CursorRowid($32)|0); + $34 = tempRet0; + $35 = $10; + $36 = $35; + HEAP32[$36>>2] = $33; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = HEAP32[$7>>2]|0; + $40 = ((($39)) + 20|0); + $41 = HEAP32[$40>>2]|0; + $42 = $10; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$6>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = (_sqlite3Fts5StorageDocsize($41,$44,$47,$50)|0); + HEAP32[$9>>2] = $51; + } else { + $52 = HEAP32[$8>>2]|0; + $53 = ((($52)) + 36|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==(0|0); + if ($55) { + HEAP32[$11>>2] = 0; while(1) { - $46 = HEAP32[$iFree>>2]|0; - $47 = HEAP32[$nFin>>2]|0; - $48 = ($46>>>0)>($47>>>0); - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(0); - $51 = $48 ? $50 : 0; - if (!($51)) { - break; + $56 = HEAP32[$11>>2]|0; + $57 = HEAP32[$8>>2]|0; + $58 = ((($57)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($56|0)<($59|0); + if (!($60)) { + break L3; } - $52 = HEAP32[$1>>2]|0; - $53 = HEAP32[$nFin>>2]|0; - $54 = HEAP32[$iFree>>2]|0; - $55 = (_incrVacuumStep($52,$53,$54,1)|0); - HEAP32[$rc>>2] = $55; - $56 = HEAP32[$iFree>>2]|0; - $57 = (($56) + -1)|0; - HEAP32[$iFree>>2] = $57; - } - $58 = HEAP32[$rc>>2]|0; - $59 = ($58|0)==(101); - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)==(0); - $or$cond = $59 | $61; - $62 = HEAP32[$nFree>>2]|0; - $63 = ($62>>>0)>(0); - $or$cond3 = $or$cond & $63; - if ($or$cond3) { - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 12|0); - $66 = HEAP32[$65>>2]|0; - $67 = ((($66)) + 72|0); - $68 = HEAP32[$67>>2]|0; - $69 = (_sqlite3PagerWrite($68)|0); - HEAP32[$rc>>2] = $69; - $70 = HEAP32[$1>>2]|0; - $71 = ((($70)) + 12|0); - $72 = HEAP32[$71>>2]|0; - $73 = ((($72)) + 56|0); - $74 = HEAP32[$73>>2]|0; - $75 = ((($74)) + 32|0); - _sqlite3Put4byte($75,0); - $76 = HEAP32[$1>>2]|0; - $77 = ((($76)) + 12|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($78)) + 56|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($80)) + 36|0); - _sqlite3Put4byte($81,0); - $82 = HEAP32[$1>>2]|0; - $83 = ((($82)) + 12|0); - $84 = HEAP32[$83>>2]|0; - $85 = ((($84)) + 56|0); - $86 = HEAP32[$85>>2]|0; - $87 = ((($86)) + 28|0); - $88 = HEAP32[$nFin>>2]|0; - _sqlite3Put4byte($87,$88); - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 19|0); - HEAP8[$90>>0] = 1; - $91 = HEAP32[$nFin>>2]|0; - $92 = HEAP32[$1>>2]|0; - $93 = ((($92)) + 44|0); - HEAP32[$93>>2] = $91; + $61 = HEAP32[$8>>2]|0; + $62 = ((($61)) + 20|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$11>>2]|0; + $65 = (($63) + ($64)|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = ($67|0)==(0); + if ($68) { + $69 = HEAP32[$6>>2]|0; + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$11>>2]|0; + $73 = (($71) + ($72<<2)|0); + HEAP32[$73>>2] = -1; + } + $74 = HEAP32[$11>>2]|0; + $75 = (($74) + 1)|0; + HEAP32[$11>>2] = $75; } - $94 = HEAP32[$rc>>2]|0; - $95 = ($94|0)!=(0); - if (!($95)) { - break; + } + HEAP32[$12>>2] = 0; + while(1) { + $76 = HEAP32[$9>>2]|0; + $77 = ($76|0)==(0); + if (!($77)) { + break L3; } - $96 = HEAP32[$pPager>>2]|0; - (_sqlite3PagerRollback($96)|0); - break; + $78 = HEAP32[$12>>2]|0; + $79 = HEAP32[$8>>2]|0; + $80 = ((($79)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($78|0)<($81|0); + if (!($82)) { + break L3; + } + $83 = HEAP32[$8>>2]|0; + $84 = ((($83)) + 20|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$12>>2]|0; + $87 = (($85) + ($86)|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = ($89|0)==(0); + if ($90) { + $91 = HEAP32[$6>>2]|0; + $92 = ((($91)) + 8|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$12>>2]|0; + $95 = (($93) + ($94<<2)|0); + HEAP32[$15>>2] = $95; + $96 = HEAP32[$6>>2]|0; + $97 = ((($96)) + 8|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$12>>2]|0; + $100 = (($98) + ($99<<2)|0); + HEAP32[$100>>2] = 0; + $101 = HEAP32[$3>>2]|0; + $102 = HEAP32[$12>>2]|0; + $103 = (_fts5ApiColumnText($101,$102,$13,$14)|0); + HEAP32[$9>>2] = $103; + $104 = HEAP32[$9>>2]|0; + $105 = ($104|0)==(0); + if ($105) { + $106 = HEAP32[$8>>2]|0; + $107 = HEAP32[$13>>2]|0; + $108 = HEAP32[$14>>2]|0; + $109 = HEAP32[$15>>2]|0; + $110 = (_sqlite3Fts5Tokenize($106,8,$107,$108,$109,152)|0); + HEAP32[$9>>2] = $110; + } + } + $111 = HEAP32[$12>>2]|0; + $112 = (($111) + 1)|0; + HEAP32[$12>>2] = $112; } } - $24 = (_sqlite3CorruptError(61914)|0); - HEAP32[$0>>2] = $24; - $98 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($98|0); - } - } while(0); - $97 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $97; - $98 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($98|0); -} -function _sqlite3PagerCommitPhaseTwo($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 44|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0); - $6 = HEAP32[$1>>2]|0; - if ($5) { - $7 = ((($6)) + 44|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$0>>2] = $8; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + } while(0); + $113 = HEAP32[$6>>2]|0; + $114 = ((($113)) + 60|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & -5; + HEAP32[$114>>2] = $116; } - $9 = ((($6)) + 17|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)==(2); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 5|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = ($21|0)==(1); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 17|0); - HEAP8[$24>>0] = 1; - HEAP32[$0>>2] = 0; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + $117 = HEAP32[$4>>2]|0; + $118 = ($117|0)<(0); + if ($118) { + $119 = HEAP32[$5>>2]|0; + HEAP32[$119>>2] = 0; + HEAP32[$16>>2] = 0; + while(1) { + $120 = HEAP32[$16>>2]|0; + $121 = HEAP32[$8>>2]|0; + $122 = ((($121)) + 12|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($120|0)<($123|0); + if (!($124)) { + break; } + $125 = HEAP32[$6>>2]|0; + $126 = ((($125)) + 8|0); + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$16>>2]|0; + $129 = (($127) + ($128<<2)|0); + $130 = HEAP32[$129>>2]|0; + $131 = HEAP32[$5>>2]|0; + $132 = HEAP32[$131>>2]|0; + $133 = (($132) + ($130))|0; + HEAP32[$131>>2] = $133; + $134 = HEAP32[$16>>2]|0; + $135 = (($134) + 1)|0; + HEAP32[$16>>2] = $135; } + $149 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($149|0); } - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 108|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$26>>2] = $28; - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 20|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = (_pager_end_transaction($29,$33,1)|0); - HEAP32[$rc>>2] = $34; - $35 = HEAP32[$1>>2]|0; - $36 = HEAP32[$rc>>2]|0; - $37 = (_pager_error($35,$36)|0); - HEAP32[$0>>2] = $37; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); -} -function _pager_incr_changecounter($pPager,$isDirectMode) { - $pPager = $pPager|0; - $isDirectMode = $isDirectMode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $pPgHdr = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $pPgHdr = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $isDirectMode; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 19|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if ($5) { - $22 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($22|0); - } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 28|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8>>>0)>(0); - if (!($9)) { - $22 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($22|0); - } - $10 = HEAP32[$0>>2]|0; - $11 = (_sqlite3PagerGet($10,1,$pPgHdr,0)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $14 = HEAP32[$pPgHdr>>2]|0; - $15 = (_sqlite3PagerWrite($14)|0); - HEAP32[$rc>>2] = $15; - } - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - if ($17) { - $18 = HEAP32[$pPgHdr>>2]|0; - _pager_write_changecounter($18); - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 19|0); - HEAP8[$20>>0] = 1; + $136 = HEAP32[$4>>2]|0; + $137 = HEAP32[$8>>2]|0; + $138 = ((($137)) + 12|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($136|0)<($139|0); + if ($140) { + $141 = HEAP32[$6>>2]|0; + $142 = ((($141)) + 8|0); + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$4>>2]|0; + $145 = (($143) + ($144<<2)|0); + $146 = HEAP32[$145>>2]|0; + $147 = HEAP32[$5>>2]|0; + HEAP32[$147>>2] = $146; + $149 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($149|0); + } else { + $148 = HEAP32[$5>>2]|0; + HEAP32[$148>>2] = 0; + HEAP32[$9>>2] = 25; + $149 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($149|0); } - $21 = HEAP32[$pPgHdr>>2]|0; - _sqlite3PagerUnref($21); - $22 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($22|0); + return (0)|0; } -function _writeMasterJournal($pPager,$zMaster) { - $pPager = $pPager|0; - $zMaster = $zMaster|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $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, $cksum = 0, $iHdrOff = 0, $jrnlSize = 0, $nMaster = 0, $rc = 0, label = 0, sp = 0; +function _fts5ApiQueryPhrase($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, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $rc = sp + 24|0; - $nMaster = sp + 20|0; - $iHdrOff = sp + 8|0; - $jrnlSize = sp; - $cksum = sp + 16|0; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $zMaster; - HEAP32[$cksum>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 5|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(4); - if (!($9)) { - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 68|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 20|0); - HEAP8[$16>>0] = 1; - HEAP32[$nMaster>>2] = 0; - while(1) { - $17 = HEAP32[$nMaster>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = (($18) + ($17)|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)!=(0); - if (!($21)) { - break; - } - $22 = HEAP32[$nMaster>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (($23) + ($22)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = HEAP32[$cksum>>2]|0; - $28 = (($27) + ($26))|0; - HEAP32[$cksum>>2] = $28; - $29 = HEAP32[$nMaster>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$nMaster>>2] = $30; - } - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 8|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)!=(0); - if ($34) { - $35 = HEAP32[$1>>2]|0; - $36 = (_journalHdrOffset($35)|0); - $37 = tempRet0; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 80|0); - $40 = $39; - $41 = $40; - HEAP32[$41>>2] = $36; - $42 = (($40) + 4)|0; - $43 = $42; - HEAP32[$43>>2] = $37; - } - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 80|0); - $46 = $45; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (($46) + 4)|0; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = $iHdrOff; - $53 = $52; - HEAP32[$53>>2] = $48; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = $51; - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 68|0); - $58 = HEAP32[$57>>2]|0; - $59 = $iHdrOff; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (($59) + 4)|0; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[1536>>2]|0; - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 160|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($65|0) / ($68|0))&-1; - $70 = (($69) + 1)|0; - $71 = (_write32bits($58,$61,$64,$70)|0); - HEAP32[$rc>>2] = $71; - $72 = (0)!=($71|0); - if (!($72)) { - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 68|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$2>>2]|0; - $77 = HEAP32[$nMaster>>2]|0; - $78 = $iHdrOff; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = (_i64Add(($80|0),($83|0),4,0)|0); - $85 = tempRet0; - $86 = (_sqlite3OsWrite($75,$76,$77,$84,$85)|0); - HEAP32[$rc>>2] = $86; - $87 = (0)!=($86|0); - if (!($87)) { - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 68|0); - $90 = HEAP32[$89>>2]|0; - $91 = $iHdrOff; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (($91) + 4)|0; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (_i64Add(($93|0),($96|0),4,0)|0); - $98 = tempRet0; - $99 = HEAP32[$nMaster>>2]|0; - $100 = ($99|0)<(0); - $101 = $100 << 31 >> 31; - $102 = (_i64Add(($97|0),($98|0),($99|0),($101|0))|0); - $103 = tempRet0; - $104 = HEAP32[$nMaster>>2]|0; - $105 = (_write32bits($90,$102,$103,$104)|0); - HEAP32[$rc>>2] = $105; - $106 = (0)!=($105|0); - if (!($106)) { - $107 = HEAP32[$1>>2]|0; - $108 = ((($107)) + 68|0); - $109 = HEAP32[$108>>2]|0; - $110 = $iHdrOff; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = (_i64Add(($112|0),($115|0),4,0)|0); - $117 = tempRet0; - $118 = HEAP32[$nMaster>>2]|0; - $119 = ($118|0)<(0); - $120 = $119 << 31 >> 31; - $121 = (_i64Add(($116|0),($117|0),($118|0),($120|0))|0); - $122 = tempRet0; - $123 = (_i64Add(($121|0),($122|0),4,0)|0); - $124 = tempRet0; - $125 = HEAP32[$cksum>>2]|0; - $126 = (_write32bits($109,$123,$124,$125)|0); - HEAP32[$rc>>2] = $126; - $127 = (0)!=($126|0); - if (!($127)) { - $128 = HEAP32[$1>>2]|0; - $129 = ((($128)) + 68|0); - $130 = HEAP32[$129>>2]|0; - $131 = $iHdrOff; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = (_i64Add(($133|0),($136|0),4,0)|0); - $138 = tempRet0; - $139 = HEAP32[$nMaster>>2]|0; - $140 = ($139|0)<(0); - $141 = $140 << 31 >> 31; - $142 = (_i64Add(($137|0),($138|0),($139|0),($141|0))|0); - $143 = tempRet0; - $144 = (_i64Add(($142|0),($143|0),8,0)|0); - $145 = tempRet0; - $146 = (_sqlite3OsWrite($130,25901,8,$144,$145)|0); - HEAP32[$rc>>2] = $146; - $147 = (0)!=($146|0); - if (!($147)) { - $149 = HEAP32[$nMaster>>2]|0; - $150 = (($149) + 20)|0; - $151 = ($150|0)<(0); - $152 = $151 << 31 >> 31; - $153 = HEAP32[$1>>2]|0; - $154 = ((($153)) + 80|0); - $155 = $154; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = (($155) + 4)|0; - $159 = $158; - $160 = HEAP32[$159>>2]|0; - $161 = (_i64Add(($157|0),($160|0),($150|0),($152|0))|0); - $162 = tempRet0; - $163 = $154; - $164 = $163; - HEAP32[$164>>2] = $161; - $165 = (($163) + 4)|0; - $166 = $165; - HEAP32[$166>>2] = $162; - $167 = HEAP32[$1>>2]|0; - $168 = ((($167)) + 68|0); - $169 = HEAP32[$168>>2]|0; - $170 = (_sqlite3OsFileSize($169,$jrnlSize)|0); - HEAP32[$rc>>2] = $170; - $171 = (0)==($170|0); - if ($171) { - $172 = $jrnlSize; - $173 = $172; - $174 = HEAP32[$173>>2]|0; - $175 = (($172) + 4)|0; - $176 = $175; - $177 = HEAP32[$176>>2]|0; - $178 = HEAP32[$1>>2]|0; - $179 = ((($178)) + 80|0); - $180 = $179; - $181 = $180; - $182 = HEAP32[$181>>2]|0; - $183 = (($180) + 4)|0; - $184 = $183; - $185 = HEAP32[$184>>2]|0; - $186 = ($177|0)>($185|0); - $187 = ($174>>>0)>($182>>>0); - $188 = ($177|0)==($185|0); - $189 = $188 & $187; - $190 = $186 | $189; - if ($190) { - $191 = HEAP32[$1>>2]|0; - $192 = ((($191)) + 68|0); - $193 = HEAP32[$192>>2]|0; - $194 = HEAP32[$1>>2]|0; - $195 = ((($194)) + 80|0); - $196 = $195; - $197 = $196; - $198 = HEAP32[$197>>2]|0; - $199 = (($196) + 4)|0; - $200 = $199; - $201 = HEAP32[$200>>2]|0; - $202 = (_sqlite3OsTruncate($193,$198,$201)|0); - HEAP32[$rc>>2] = $202; - } - } - $203 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $203; - $204 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($204|0); - } - } - } - } + STACKTOP = STACKTOP + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $12 = HEAP32[$4>>2]|0; + HEAP32[$8>>2] = $12; + $13 = HEAP32[$8>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$9>>2] = $14; + HEAP32[$11>>2] = 0; + $15 = HEAP32[$8>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_fts5OpenMethod($16,$11)|0); + HEAP32[$10>>2] = $17; + $18 = HEAP32[$10>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $20 = HEAP32[$11>>2]|0; + $21 = ((($20)) + 24|0); + HEAP32[$21>>2] = 1; + $22 = HEAP32[$11>>2]|0; + $23 = ((($22)) + 32|0); + $24 = $23; + $25 = $24; + HEAP32[$25>>2] = 0; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = -2147483648; + $28 = HEAP32[$11>>2]|0; + $29 = ((($28)) + 40|0); + $30 = $29; + $31 = $30; + HEAP32[$31>>2] = -1; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = 2147483647; + $34 = HEAP32[$9>>2]|0; + $35 = HEAP32[$11>>2]|0; + HEAP32[$35>>2] = $34; + $36 = HEAP32[$8>>2]|0; + $37 = ((($36)) + 52|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$5>>2]|0; + $40 = HEAP32[$11>>2]|0; + $41 = ((($40)) + 52|0); + $42 = (_sqlite3Fts5ExprClonePhrase($38,$39,$41)|0); + HEAP32[$10>>2] = $42; + } + $43 = HEAP32[$10>>2]|0; + $44 = ($43|0)==(0); + L4: do { + if ($44) { + $45 = HEAP32[$9>>2]|0; + $46 = HEAP32[$11>>2]|0; + $47 = (_fts5CursorFirst($45,$46,0)|0); + HEAP32[$10>>2] = $47; + while(1) { + $48 = HEAP32[$10>>2]|0; + $49 = ($48|0)==(0); + if (!($49)) { + break L4; + } + $50 = HEAP32[$11>>2]|0; + $51 = ((($50)) + 60|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 & 1; + $54 = ($53|0)==(0); + if (!($54)) { + break L4; + } + $55 = HEAP32[$7>>2]|0; + $56 = HEAP32[$11>>2]|0; + $57 = HEAP32[$6>>2]|0; + $58 = (FUNCTION_TABLE_iiii[$55 & 255](10572,$56,$57)|0); + HEAP32[$10>>2] = $58; + $59 = HEAP32[$10>>2]|0; + $60 = ($59|0)!=(0); + if ($60) { + break; } - $148 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $148; - $204 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($204|0); + $63 = HEAP32[$11>>2]|0; + $64 = (_fts5NextMethod($63)|0); + HEAP32[$10>>2] = $64; + } + $61 = HEAP32[$10>>2]|0; + $62 = ($61|0)==(101); + if ($62) { + HEAP32[$10>>2] = 0; } } - } - HEAP32[$0>>2] = 0; - $204 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($204|0); + } while(0); + $65 = HEAP32[$11>>2]|0; + (_fts5CloseMethod($65)|0); + $66 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($66|0); } -function _pagerWriteLargeSector($pPg) { - $pPg = $pPg|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $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; - 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, $ii = 0, $nPage = 0, $nPageCount = 0, $nPagePerSector = 0; - var $needSync = 0, $or$cond = 0, $pPage = 0, $pPage1 = 0, $pPager = 0, $pg = 0, $pg1 = 0, $rc = 0, label = 0, sp = 0; +function _fts5ApiSetAuxdata($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $rc = sp + 40|0; - $nPageCount = sp + 36|0; - $pg1 = sp + 32|0; - $nPage = sp + 28|0; - $ii = sp + 24|0; - $needSync = sp + 20|0; - $pPager = sp + 16|0; - $nPagePerSector = sp + 12|0; - $pg = sp + 8|0; - $pPage = sp + 4|0; - $pPage1 = sp; - HEAP32[$0>>2] = $pPg; - HEAP32[$rc>>2] = 0; - HEAP32[$nPage>>2] = 0; - HEAP32[$needSync>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pPager>>2] = $3; - $4 = HEAP32[$pPager>>2]|0; - $5 = ((($4)) + 156|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$pPager>>2]|0; - $8 = ((($7)) + 160|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($6>>>0) / ($9>>>0))&-1; - HEAP32[$nPagePerSector>>2] = $10; - $11 = HEAP32[$pPager>>2]|0; - $12 = ((($11)) + 21|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = $14 | 4; - $16 = $15&255; - HEAP8[$12>>0] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) - 1)|0; - $21 = HEAP32[$nPagePerSector>>2]|0; - $22 = (($21) - 1)|0; - $23 = $22 ^ -1; - $24 = $20 & $23; - $25 = (($24) + 1)|0; - HEAP32[$pg1>>2] = $25; - $26 = HEAP32[$pPager>>2]|0; - $27 = ((($26)) + 28|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$nPageCount>>2] = $28; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 20|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$nPageCount>>2]|0; - $33 = ($31>>>0)>($32>>>0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $10 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = $10; + $11 = HEAP32[$7>>2]|0; + $12 = ((($11)) + 100|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$8>>2] = $13; + while(1) { + $14 = HEAP32[$8>>2]|0; + $15 = ($14|0)!=(0|0); + if (!($15)) { + break; + } + $16 = HEAP32[$8>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$7>>2]|0; + $19 = ((($18)) + 96|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($17|0)==($20|0); + if ($21) { + break; + } + $22 = HEAP32[$8>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$8>>2] = $24; + } + $25 = HEAP32[$8>>2]|0; + $26 = ($25|0)!=(0|0); do { - if ($33) { - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 20|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$pg1>>2]|0; - $38 = (($36) - ($37))|0; - $39 = (($38) + 1)|0; - HEAP32[$nPage>>2] = $39; + if ($26) { + $27 = HEAP32[$8>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0|0); + if ($30) { + $31 = HEAP32[$8>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$8>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + FUNCTION_TABLE_vi[$33 & 255]($36); + } } else { - $40 = HEAP32[$pg1>>2]|0; - $41 = HEAP32[$nPagePerSector>>2]|0; - $42 = (($40) + ($41))|0; - $43 = (($42) - 1)|0; - $44 = HEAP32[$nPageCount>>2]|0; - $45 = ($43>>>0)>($44>>>0); - if ($45) { - $46 = HEAP32[$nPageCount>>2]|0; - $47 = (($46) + 1)|0; - $48 = HEAP32[$pg1>>2]|0; - $49 = (($47) - ($48))|0; - HEAP32[$nPage>>2] = $49; - break; - } else { - $50 = HEAP32[$nPagePerSector>>2]|0; - HEAP32[$nPage>>2] = $50; + HEAP32[$9>>2] = 0; + $37 = (_sqlite3Fts5MallocZero($9,16)|0); + HEAP32[$8>>2] = $37; + $38 = HEAP32[$8>>2]|0; + $39 = ($38|0)==(0|0); + if (!($39)) { + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 96|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$8>>2]|0; + HEAP32[$48>>2] = $47; + $49 = HEAP32[$7>>2]|0; + $50 = ((($49)) + 100|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$8>>2]|0; + $53 = ((($52)) + 12|0); + HEAP32[$53>>2] = $51; + $54 = HEAP32[$8>>2]|0; + $55 = HEAP32[$7>>2]|0; + $56 = ((($55)) + 100|0); + HEAP32[$56>>2] = $54; break; } + $40 = HEAP32[$6>>2]|0; + $41 = ($40|0)!=(0|0); + if ($41) { + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$5>>2]|0; + FUNCTION_TABLE_vi[$42 & 255]($43); + } + $44 = HEAP32[$9>>2]|0; + HEAP32[$3>>2] = $44; + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); } } while(0); - HEAP32[$ii>>2] = 0; + $57 = HEAP32[$6>>2]|0; + $58 = HEAP32[$8>>2]|0; + $59 = ((($58)) + 8|0); + HEAP32[$59>>2] = $57; + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$8>>2]|0; + $62 = ((($61)) + 4|0); + HEAP32[$62>>2] = $60; + HEAP32[$3>>2] = 0; + $63 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($63|0); +} +function _fts5ApiGetAuxdata($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + HEAP32[$4>>2] = $7; + HEAP32[$6>>2] = 0; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 100|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$5>>2] = $10; while(1) { - $51 = HEAP32[$ii>>2]|0; - $52 = HEAP32[$nPage>>2]|0; - $53 = ($51|0)<($52|0); - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)==(0); - $56 = $53 ? $55 : 0; - if (!($56)) { + $11 = HEAP32[$5>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { break; } - $57 = HEAP32[$pg1>>2]|0; - $58 = HEAP32[$ii>>2]|0; - $59 = (($57) + ($58))|0; - HEAP32[$pg>>2] = $59; - $60 = HEAP32[$pg>>2]|0; - $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 20|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($60|0)==($63|0); - if ($64) { - label = 10; - } else { - $65 = HEAP32[$pPager>>2]|0; - $66 = ((($65)) + 60|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$pg>>2]|0; - $69 = (_sqlite3BitvecTest($67,$68)|0); - $70 = ($69|0)!=(0); - if ($70) { - $93 = HEAP32[$pPager>>2]|0; - $94 = HEAP32[$pg>>2]|0; - $95 = (_sqlite3PagerLookup($93,$94)|0); - HEAP32[$pPage>>2] = $95; - $96 = ($95|0)!=(0|0); - if ($96) { - $97 = HEAP32[$pPage>>2]|0; - $98 = ((($97)) + 24|0); - $99 = HEAP16[$98>>1]|0; - $100 = $99&65535; - $101 = $100 & 8; - $102 = ($101|0)!=(0); - if ($102) { - HEAP32[$needSync>>2] = 1; - } - $103 = HEAP32[$pPage>>2]|0; - _sqlite3PagerUnrefNotNull($103); - } - } else { - label = 10; - } - } - if ((label|0) == 10) { - label = 0; - $71 = HEAP32[$pg>>2]|0; - $72 = HEAP32[1536>>2]|0; - $73 = HEAP32[$pPager>>2]|0; - $74 = ((($73)) + 160|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($72|0) / ($75|0))&-1; - $77 = (($76) + 1)|0; - $78 = ($71|0)!=($77|0); - if ($78) { - $79 = HEAP32[$pPager>>2]|0; - $80 = HEAP32[$pg>>2]|0; - $81 = (_sqlite3PagerGet($79,$80,$pPage,0)|0); - HEAP32[$rc>>2] = $81; - $82 = HEAP32[$rc>>2]|0; - $83 = ($82|0)==(0); - if ($83) { - $84 = HEAP32[$pPage>>2]|0; - $85 = (_pager_write($84)|0); - HEAP32[$rc>>2] = $85; - $86 = HEAP32[$pPage>>2]|0; - $87 = ((($86)) + 24|0); - $88 = HEAP16[$87>>1]|0; - $89 = $88&65535; - $90 = $89 & 8; - $91 = ($90|0)!=(0); - if ($91) { - HEAP32[$needSync>>2] = 1; - } - $92 = HEAP32[$pPage>>2]|0; - _sqlite3PagerUnrefNotNull($92); - } - } + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 96|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($14|0)==($17|0); + if ($18) { + break; } - $104 = HEAP32[$ii>>2]|0; - $105 = (($104) + 1)|0; - HEAP32[$ii>>2] = $105; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$5>>2] = $21; } - $106 = HEAP32[$rc>>2]|0; - $107 = ($106|0)==(0); - $108 = HEAP32[$needSync>>2]|0; - $109 = ($108|0)!=(0); - $or$cond = $107 & $109; - if (!($or$cond)) { - $129 = HEAP32[$pPager>>2]|0; - $130 = ((($129)) + 21|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = $132 & -5; - $134 = $133&255; - HEAP8[$130>>0] = $134; - $135 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($135|0); + $22 = HEAP32[$5>>2]|0; + $23 = ($22|0)!=(0|0); + if (!($23)) { + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); } - HEAP32[$ii>>2] = 0; - while(1) { - $110 = HEAP32[$ii>>2]|0; - $111 = HEAP32[$nPage>>2]|0; - $112 = ($110|0)<($111|0); - if (!($112)) { - break; - } - $113 = HEAP32[$pPager>>2]|0; - $114 = HEAP32[$pg1>>2]|0; - $115 = HEAP32[$ii>>2]|0; - $116 = (($114) + ($115))|0; - $117 = (_sqlite3PagerLookup($113,$116)|0); - HEAP32[$pPage1>>2] = $117; - $118 = HEAP32[$pPage1>>2]|0; - $119 = ($118|0)!=(0|0); - if ($119) { - $120 = HEAP32[$pPage1>>2]|0; - $121 = ((($120)) + 24|0); - $122 = HEAP16[$121>>1]|0; - $123 = $122&65535; - $124 = $123 | 8; - $125 = $124&65535; - HEAP16[$121>>1] = $125; - $126 = HEAP32[$pPage1>>2]|0; - _sqlite3PagerUnrefNotNull($126); - } - $127 = HEAP32[$ii>>2]|0; - $128 = (($127) + 1)|0; - HEAP32[$ii>>2] = $128; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$6>>2] = $26; + $27 = HEAP32[$3>>2]|0; + $28 = ($27|0)!=(0); + if (!($28)) { + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); } - $129 = HEAP32[$pPager>>2]|0; - $130 = ((($129)) + 21|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = $132 & -5; - $134 = $133&255; - HEAP8[$130>>0] = $134; - $135 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($135|0); + $29 = HEAP32[$5>>2]|0; + $30 = ((($29)) + 4|0); + HEAP32[$30>>2] = 0; + $31 = HEAP32[$5>>2]|0; + $32 = ((($31)) + 8|0); + HEAP32[$32>>2] = 0; + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); } -function _pager_write($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $pPager = 0, $rc = 0, label = 0; - var sp = 0; +function _fts5ApiPhraseFirst($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pPager = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pPg; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pPager>>2] = $4; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$pPager>>2]|0; - $6 = ((($5)) + 17|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(2); - if ($9) { - $10 = HEAP32[$pPager>>2]|0; - $11 = (_pager_open_journal($10)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $14; - $76 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($76|0); - } - } - $15 = HEAP32[$1>>2]|0; - _sqlite3PcacheMakeDirty($15); - $16 = HEAP32[$pPager>>2]|0; - $17 = ((($16)) + 60|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)!=(0|0); - do { - if ($19) { - $20 = HEAP32[$pPager>>2]|0; - $21 = ((($20)) + 60|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 20|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3BitvecTestNotNull($22,$25)|0); - $27 = ($26|0)==(0); - if ($27) { - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 20|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$pPager>>2]|0; - $32 = ((($31)) + 32|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($30>>>0)<=($33>>>0); - if (!($34)) { - $40 = HEAP32[$pPager>>2]|0; - $41 = ((($40)) + 17|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = ($43|0)!=(4); - if (!($44)) { - break; - } - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 24|0); - $47 = HEAP16[$46>>1]|0; - $48 = $47&65535; - $49 = $48 | 8; - $50 = $49&65535; - HEAP16[$46>>1] = $50; - break; - } - $35 = HEAP32[$1>>2]|0; - $36 = (_pagerAddPageToRollbackJournal($35)|0); - HEAP32[$rc>>2] = $36; - $37 = HEAP32[$rc>>2]|0; - $38 = ($37|0)!=(0); - if ($38) { - $39 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $39; - $76 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($76|0); - } - } - } - } while(0); - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 24|0); - $53 = HEAP16[$52>>1]|0; - $54 = $53&65535; - $55 = $54 | 4; - $56 = $55&65535; - HEAP16[$52>>1] = $56; - $57 = HEAP32[$pPager>>2]|0; - $58 = ((($57)) + 104|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59|0)>(0); - if ($60) { - $61 = HEAP32[$1>>2]|0; - $62 = (_subjournalPageIfRequired($61)|0); - HEAP32[$rc>>2] = $62; - } - $63 = HEAP32[$pPager>>2]|0; - $64 = ((($63)) + 28|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 20|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($65>>>0)<($68>>>0); - if ($69) { - $70 = HEAP32[$1>>2]|0; - $71 = ((($70)) + 20|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$pPager>>2]|0; - $74 = ((($73)) + 28|0); - HEAP32[$74>>2] = $72; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $13 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = $13; + $14 = HEAP32[$10>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = (_fts5CsrPoslist($14,$15,$16,$11)|0); + HEAP32[$12>>2] = $17; + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $32 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($32|0); } - $75 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $75; - $76 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($76|0); + $20 = HEAP32[$7>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$11>>2]|0; + $23 = (($21) + ($22)|0); + $24 = HEAP32[$7>>2]|0; + $25 = ((($24)) + 4|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$8>>2]|0; + HEAP32[$26>>2] = 0; + $27 = HEAP32[$9>>2]|0; + HEAP32[$27>>2] = 0; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = HEAP32[$8>>2]|0; + $31 = HEAP32[$9>>2]|0; + _fts5ApiPhraseNext($28,$29,$30,$31); + $32 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($32|0); } -function _pager_open_journal($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $flags = 0, $nSpill = 0, $pVfs = 0, $rc = 0, label = 0, sp = 0; +function _fts5ApiPhraseNext($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $rc = sp + 12|0; - $pVfs = sp + 8|0; - $flags = sp + 4|0; - $nSpill = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pVfs>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 44|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - $8 = HEAP32[$1>>2]|0; - if ($7) { - $9 = ((($8)) + 44|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$0>>2] = $10; - $92 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($92|0); - } - $11 = (_sqlite3PagerUseWal($8)|0); - $12 = ($11|0)!=(0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 5|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)!=(2); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 28|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3BitvecCreate($20)|0); - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 60|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 60|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0|0); - if ($27) { - HEAP32[$0>>2] = 7; - $92 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($92|0); - } - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 68|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)!=(0|0); - do { - if (!($32)) { - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 5|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = ($36|0)==(4); - if ($37) { - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 68|0); - $40 = HEAP32[$39>>2]|0; - _sqlite3MemJournalOpen($40); - break; - } - HEAP32[$flags>>2] = 6; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 13|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)!=(0); - $45 = HEAP32[$flags>>2]|0; - if ($44) { - $46 = $45 | 4104; - HEAP32[$flags>>2] = $46; - $47 = HEAP32[(44)>>2]|0; - HEAP32[$nSpill>>2] = $47; - } else { - $48 = $45 | 2048; - HEAP32[$flags>>2] = $48; - HEAP32[$nSpill>>2] = 0; - } - $49 = HEAP32[$1>>2]|0; - $50 = (_databaseIsUnmoved($49)|0); - HEAP32[$rc>>2] = $50; - $51 = HEAP32[$rc>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$pVfs>>2]|0; - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 180|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 68|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$flags>>2]|0; - $61 = HEAP32[$nSpill>>2]|0; - $62 = (_sqlite3JournalOpen($53,$56,$59,$60,$61)|0); - HEAP32[$rc>>2] = $62; - } - } - } while(0); - $63 = HEAP32[$rc>>2]|0; - $64 = ($63|0)==(0); - if ($64) { - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 48|0); - HEAP32[$66>>2] = 0; - $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 80|0); - $69 = $68; - $70 = $69; - HEAP32[$70>>2] = 0; - $71 = (($69) + 4)|0; - $72 = $71; - HEAP32[$72>>2] = 0; - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 20|0); - HEAP8[$74>>0] = 0; - $75 = HEAP32[$1>>2]|0; - $76 = ((($75)) + 88|0); - $77 = $76; - $78 = $77; - HEAP32[$78>>2] = 0; - $79 = (($77) + 4)|0; - $80 = $79; - HEAP32[$80>>2] = 0; - $81 = HEAP32[$1>>2]|0; - $82 = (_writeJournalHdr($81)|0); - HEAP32[$rc>>2] = $82; - } - } + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($10>>>0)>=($13>>>0); + if ($14) { + $15 = HEAP32[$6>>2]|0; + HEAP32[$15>>2] = -1; + $16 = HEAP32[$7>>2]|0; + HEAP32[$16>>2] = -1; + STACKTOP = sp;return; } - $83 = HEAP32[$rc>>2]|0; - $84 = ($83|0)!=(0); - $85 = HEAP32[$1>>2]|0; - if ($84) { - $86 = ((($85)) + 60|0); - $87 = HEAP32[$86>>2]|0; - _sqlite3BitvecDestroy($87); - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 60|0); - HEAP32[$89>>2] = 0; - } else { - $90 = ((($85)) + 17|0); - HEAP8[$90>>0] = 3; + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3Fts5GetVarint32($18,$8)|0); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + ($19)|0); + HEAP32[$20>>2] = $22; + $23 = HEAP32[$8>>2]|0; + $24 = ($23|0)==(1); + if ($24) { + $25 = HEAP32[$5>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3Fts5GetVarint32($26,$8)|0); + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = (($29) + ($27)|0); + HEAP32[$28>>2] = $30; + $31 = HEAP32[$8>>2]|0; + $32 = HEAP32[$6>>2]|0; + HEAP32[$32>>2] = $31; + $33 = HEAP32[$7>>2]|0; + HEAP32[$33>>2] = 0; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = (_sqlite3Fts5GetVarint32($35,$8)|0); + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = (($38) + ($36)|0); + HEAP32[$37>>2] = $39; } - $91 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $91; - $92 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($92|0); + $40 = HEAP32[$8>>2]|0; + $41 = (($40) - 2)|0; + $42 = HEAP32[$7>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = (($43) + ($41))|0; + HEAP32[$42>>2] = $44; + STACKTOP = sp;return; } -function _pagerAddPageToRollbackJournal($pPg) { - $pPg = $pPg|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $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, $cksum = 0, $iOff = 0, $pData2 = 0, $pPager = 0, $rc = 0, label = 0, sp = 0; +function _fts5ApiPhraseFirstColumn($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, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $pPager = sp + 20|0; - $rc = sp + 16|0; - $cksum = sp + 12|0; - $pData2 = sp + 8|0; - $iOff = sp; - HEAP32[$1>>2] = $pPg; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pPager>>2] = $4; - $5 = HEAP32[$pPager>>2]|0; - $6 = ((($5)) + 80|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = $iOff; - $14 = $13; - HEAP32[$14>>2] = $9; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = $12; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 4|0); + STACKTOP = STACKTOP + 48|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $15 = HEAP32[$4>>2]|0; + HEAP32[$9>>2] = $15; + $16 = HEAP32[$9>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 12|0); $19 = HEAP32[$18>>2]|0; - HEAP32[$pData2>>2] = $19; - $20 = HEAP32[$pPager>>2]|0; - $21 = HEAP32[$pData2>>2]|0; - $22 = (_pager_cksum($20,$21)|0); - HEAP32[$cksum>>2] = $22; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 24|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = $26 | 8; - $28 = $27&65535; - HEAP16[$24>>1] = $28; - $29 = HEAP32[$pPager>>2]|0; - $30 = ((($29)) + 68|0); - $31 = HEAP32[$30>>2]|0; - $32 = $iOff; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 20|0); - $40 = HEAP32[$39>>2]|0; - $41 = (_write32bits($31,$34,$37,$40)|0); - HEAP32[$rc>>2] = $41; - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)!=(0); - if ($43) { - $44 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $44; - $126 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($126|0); + HEAP32[$10>>2] = $19; + $20 = HEAP32[$10>>2]|0; + $21 = ((($20)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(2); + $24 = HEAP32[$9>>2]|0; + if ($23) { + $25 = ((($24)) + 56|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$11>>2] = $26; + $27 = HEAP32[$11>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$5>>2]|0; + $30 = ($29|0)==(0); + if ($30) { + $37 = 0; + } else { + $31 = HEAP32[$11>>2]|0; + $32 = ((($31)) + 24|0); + $33 = HEAP32[$5>>2]|0; + $34 = (($33) - 1)|0; + $35 = (($32) + ($34<<2)|0); + $36 = HEAP32[$35>>2]|0; + $37 = $36; + } + HEAP32[$13>>2] = $37; + $38 = HEAP32[$11>>2]|0; + $39 = ((($38)) + 24|0); + $40 = HEAP32[$5>>2]|0; + $41 = (($39) + ($40<<2)|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$13>>2]|0; + $44 = (($42) - ($43))|0; + HEAP32[$12>>2] = $44; + $45 = HEAP32[$11>>2]|0; + $46 = ((($45)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$13>>2]|0; + $49 = (($47) + ($48)|0); + $50 = HEAP32[$6>>2]|0; + HEAP32[$50>>2] = $49; + } else { + $51 = HEAP32[$9>>2]|0; + $52 = ((($51)) + 52|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$5>>2]|0; + $55 = HEAP32[$6>>2]|0; + $56 = (_sqlite3Fts5ExprPhraseCollist($53,$54,$55,$12)|0); + HEAP32[$8>>2] = $56; + } + $57 = HEAP32[$8>>2]|0; + $58 = ($57|0)==(0); + if (!($58)) { + $98 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($98|0); + } + $59 = HEAP32[$6>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$12>>2]|0; + $62 = (($60) + ($61)|0); + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 4|0); + HEAP32[$64>>2] = $62; + $65 = HEAP32[$7>>2]|0; + HEAP32[$65>>2] = 0; + $66 = HEAP32[$4>>2]|0; + $67 = HEAP32[$6>>2]|0; + $68 = HEAP32[$7>>2]|0; + _fts5ApiPhraseNextColumn($66,$67,$68); + $98 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($98|0); } - $45 = HEAP32[$pPager>>2]|0; - $46 = ((($45)) + 68|0); - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$pData2>>2]|0; - $49 = HEAP32[$pPager>>2]|0; - $50 = ((($49)) + 160|0); - $51 = HEAP32[$50>>2]|0; - $52 = $iOff; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (_i64Add(($54|0),($57|0),4,0)|0); - $59 = tempRet0; - $60 = (_sqlite3OsWrite($47,$48,$51,$58,$59)|0); - HEAP32[$rc>>2] = $60; - $61 = HEAP32[$rc>>2]|0; - $62 = ($61|0)!=(0); - if ($62) { - $63 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $63; - $126 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($126|0); + $69 = HEAP32[$5>>2]|0; + $70 = HEAP32[$6>>2]|0; + $71 = (_fts5CsrPoslist($24,$69,$70,$14)|0); + HEAP32[$8>>2] = $71; + $72 = HEAP32[$8>>2]|0; + $73 = ($72|0)==(0); + if (!($73)) { + $98 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($98|0); } - $64 = HEAP32[$pPager>>2]|0; - $65 = ((($64)) + 68|0); - $66 = HEAP32[$65>>2]|0; - $67 = $iOff; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$pPager>>2]|0; - $74 = ((($73)) + 160|0); + $74 = HEAP32[$6>>2]|0; $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)<(0); - $77 = $76 << 31 >> 31; - $78 = (_i64Add(($69|0),($72|0),($75|0),($77|0))|0); - $79 = tempRet0; - $80 = (_i64Add(($78|0),($79|0),4,0)|0); - $81 = tempRet0; - $82 = HEAP32[$cksum>>2]|0; - $83 = (_write32bits($66,$80,$81,$82)|0); - HEAP32[$rc>>2] = $83; - $84 = HEAP32[$rc>>2]|0; - $85 = ($84|0)!=(0); - if ($85) { - $86 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $86; - $126 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($126|0); - } else { - $87 = HEAP32[$pPager>>2]|0; - $88 = ((($87)) + 160|0); + $76 = HEAP32[$14>>2]|0; + $77 = (($75) + ($76)|0); + $78 = HEAP32[$6>>2]|0; + $79 = ((($78)) + 4|0); + HEAP32[$79>>2] = $77; + $80 = HEAP32[$14>>2]|0; + $81 = ($80|0)<=(0); + if ($81) { + $82 = HEAP32[$7>>2]|0; + HEAP32[$82>>2] = -1; + $98 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($98|0); + } + $83 = HEAP32[$6>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = HEAP8[$84>>0]|0; + $86 = $85&255; + $87 = ($86|0)==(1); + if ($87) { + $88 = HEAP32[$6>>2]|0; $89 = HEAP32[$88>>2]|0; - $90 = (8 + ($89))|0; - $91 = ($90|0)<(0); - $92 = $91 << 31 >> 31; - $93 = HEAP32[$pPager>>2]|0; - $94 = ((($93)) + 80|0); - $95 = $94; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = (($95) + 4)|0; - $99 = $98; - $100 = HEAP32[$99>>2]|0; - $101 = (_i64Add(($97|0),($100|0),($90|0),($92|0))|0); - $102 = tempRet0; - $103 = $94; - $104 = $103; - HEAP32[$104>>2] = $101; - $105 = (($103) + 4)|0; - $106 = $105; - HEAP32[$106>>2] = $102; - $107 = HEAP32[$pPager>>2]|0; - $108 = ((($107)) + 48|0); - $109 = HEAP32[$108>>2]|0; - $110 = (($109) + 1)|0; - HEAP32[$108>>2] = $110; - $111 = HEAP32[$pPager>>2]|0; - $112 = ((($111)) + 60|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$1>>2]|0; - $115 = ((($114)) + 20|0); - $116 = HEAP32[$115>>2]|0; - $117 = (_sqlite3BitvecSet($113,$116)|0); - HEAP32[$rc>>2] = $117; - $118 = HEAP32[$pPager>>2]|0; - $119 = HEAP32[$1>>2]|0; - $120 = ((($119)) + 20|0); - $121 = HEAP32[$120>>2]|0; - $122 = (_addToSavepointBitvecs($118,$121)|0); - $123 = HEAP32[$rc>>2]|0; - $124 = $123 | $122; - HEAP32[$rc>>2] = $124; - $125 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $125; - $126 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($126|0); + $90 = ((($89)) + 1|0); + $91 = HEAP32[$7>>2]|0; + $92 = (_sqlite3Fts5GetVarint32($90,$91)|0); + $93 = (1 + ($92))|0; + $94 = HEAP32[$6>>2]|0; + $95 = HEAP32[$94>>2]|0; + $96 = (($95) + ($93)|0); + HEAP32[$94>>2] = $96; + $98 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($98|0); + } else { + $97 = HEAP32[$7>>2]|0; + HEAP32[$97>>2] = 0; + $98 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($98|0); } return (0)|0; } -function _sqlite3MemJournalOpen($pJfd) { - $pJfd = $pJfd|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pJfd; - $1 = HEAP32[$0>>2]|0; - (_sqlite3JournalOpen(0,0,$1,0,-1)|0); - STACKTOP = sp;return; -} -function _databaseIsUnmoved($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $bHasMoved = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; +function _fts5ApiPhraseNextColumn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $bHasMoved = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$bHasMoved>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 13|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if ($5) { - HEAP32[$0>>2] = 0; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); - } - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 28|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - HEAP32[$0>>2] = 0; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); - } - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 64|0); + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + HEAP32[$6>>2] = $10; + $11 = HEAP32[$6>>2]|0; $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3OsFileControl($12,20,$bHasMoved)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)==(12); - if ($15) { - HEAP32[$rc>>2] = 0; - } else { - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$bHasMoved>>2]|0; - $19 = ($18|0)!=(0); - $or$cond = $17 & $19; - if ($or$cond) { - HEAP32[$rc>>2] = 1032; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ((($15)) + 48|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(2); + if ($18) { + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($20>>>0)>=($23>>>0); + if ($24) { + $25 = HEAP32[$5>>2]|0; + HEAP32[$25>>2] = -1; + STACKTOP = sp;return; + } else { + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3Fts5GetVarint32($27,$8)|0); + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = (($30) + ($28)|0); + HEAP32[$29>>2] = $31; + $32 = HEAP32[$8>>2]|0; + $33 = (($32) - 2)|0; + $34 = HEAP32[$5>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + ($33))|0; + HEAP32[$34>>2] = $36; + STACKTOP = sp;return; } } - $20 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $20; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + while(1) { + $37 = HEAP32[$4>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($38>>>0)>=($41>>>0); + if ($42) { + label = 6; + break; + } + $44 = HEAP32[$4>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($47|0)==(1); + $49 = HEAP32[$4>>2]|0; + $50 = HEAP32[$49>>2]|0; + if ($48) { + label = 9; + break; + } + $51 = (_sqlite3Fts5GetVarint32($50,$9)|0); + $52 = HEAP32[$4>>2]|0; + $53 = HEAP32[$52>>2]|0; + $54 = (($53) + ($51)|0); + HEAP32[$52>>2] = $54; + } + if ((label|0) == 6) { + $43 = HEAP32[$5>>2]|0; + HEAP32[$43>>2] = -1; + STACKTOP = sp;return; + } + else if ((label|0) == 9) { + $55 = ((($50)) + 1|0); + $56 = HEAP32[$5>>2]|0; + $57 = (_sqlite3Fts5GetVarint32($55,$56)|0); + $58 = (1 + ($57))|0; + $59 = HEAP32[$4>>2]|0; + $60 = HEAP32[$59>>2]|0; + $61 = (($60) + ($58)|0); + HEAP32[$59>>2] = $61; + STACKTOP = sp;return; + } } -function _pagerAcquireMapPage($pPager,$pgno,$pData,$ppPage) { - $pPager = $pPager|0; - $pgno = $pgno|0; - $pData = $pData|0; - $ppPage = $ppPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3Fts5ExprPhraseCollist($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, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $pData; - HEAP32[$4>>2] = $ppPage; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 144|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = HEAP32[$1>>2]|0; - do { - if ($8) { - $10 = ((($9)) + 144|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$p>>2] = $11; - $12 = HEAP32[$4>>2]|0; - HEAP32[$12>>2] = $11; - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 144|0); - HEAP32[$17>>2] = $15; - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 12|0); - HEAP32[$19>>2] = 0; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 148|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - _memset(($22|0),0,($26|0))|0; - } else { - $27 = ((($9)) + 148|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $30 = (40 + ($29))|0; - $31 = (_sqlite3MallocZero($30,0)|0); - HEAP32[$p>>2] = $31; - $32 = HEAP32[$4>>2]|0; - HEAP32[$32>>2] = $31; - $33 = HEAP32[$p>>2]|0; - $34 = ($33|0)==(0|0); - if (!($34)) { - $48 = HEAP32[$p>>2]|0; - $49 = ((($48)) + 40|0); - $50 = HEAP32[$p>>2]|0; - $51 = ((($50)) + 8|0); - HEAP32[$51>>2] = $49; - $52 = HEAP32[$p>>2]|0; - $53 = ((($52)) + 24|0); - HEAP16[$53>>1] = 32; - $54 = HEAP32[$p>>2]|0; - $55 = ((($54)) + 26|0); - HEAP16[$55>>1] = 1; - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$p>>2]|0; - $58 = ((($57)) + 16|0); - HEAP32[$58>>2] = $56; - break; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$5>>2]|0; + $17 = (($15) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$8>>2] = $18; + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$19>>2]|0; + HEAP32[$9>>2] = $20; + HEAP32[$10>>2] = 0; + $21 = HEAP32[$9>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0); + if ($24) { + $25 = HEAP32[$9>>2]|0; + $26 = ((($25)) + 16|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 16|0); + $37 = $36; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = ($29|0)==($39|0); + $44 = ($32|0)==($42|0); + $45 = $43 & $44; + if ($45) { + $46 = HEAP32[$8>>2]|0; + $47 = ((($46)) + 4|0); + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)>(0); + if ($50) { + $51 = HEAP32[$8>>2]|0; + $52 = ((($51)) + 20|0); + HEAP32[$11>>2] = $52; + $53 = HEAP32[$11>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)!=(0|0); + if ($56) { + $57 = HEAP32[$11>>2]|0; + $58 = ((($57)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = ((($59)) + 16|0); + HEAP32[$12>>2] = $60; + $61 = HEAP32[$11>>2]|0; + $62 = HEAP32[$9>>2]|0; + $63 = ((($62)) + 16|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$12>>2]|0; + $71 = HEAP32[$6>>2]|0; + $72 = HEAP32[$7>>2]|0; + $73 = (_fts5ExprSynonymList($61,$66,$69,$70,$71,$72)|0); + HEAP32[$10>>2] = $73; + $90 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($90|0); + } else { + $74 = HEAP32[$8>>2]|0; + $75 = ((($74)) + 20|0); + $76 = ((($75)) + 8|0); + $77 = HEAP32[$76>>2]|0; + $78 = ((($77)) + 8|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$6>>2]|0; + HEAP32[$80>>2] = $79; + $81 = HEAP32[$8>>2]|0; + $82 = ((($81)) + 20|0); + $83 = ((($82)) + 8|0); + $84 = HEAP32[$83>>2]|0; + $85 = ((($84)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$7>>2]|0; + HEAP32[$87>>2] = $86; + $90 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($90|0); + } } - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 64|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = (($38) - 1)|0; - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 160|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)<(0); - $44 = $43 << 31 >> 31; - $45 = (___muldi3(($39|0),0,($42|0),($44|0))|0); - $46 = tempRet0; - $47 = HEAP32[$3>>2]|0; - (_sqlite3OsUnfetch($37,$45,$46,$47)|0); - HEAP32[$0>>2] = 7; - $69 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($69|0); } - } while(0); - $59 = HEAP32[$2>>2]|0; - $60 = HEAP32[$p>>2]|0; - $61 = ((($60)) + 20|0); - HEAP32[$61>>2] = $59; - $62 = HEAP32[$3>>2]|0; - $63 = HEAP32[$p>>2]|0; - $64 = ((($63)) + 4|0); - HEAP32[$64>>2] = $62; - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 128|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$66>>2] = $68; - HEAP32[$0>>2] = 0; - $69 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($69|0); + } + $88 = HEAP32[$6>>2]|0; + HEAP32[$88>>2] = 0; + $89 = HEAP32[$7>>2]|0; + HEAP32[$89>>2] = 0; + $90 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($90|0); } -function _sqlite3PcacheFetchStress($pCache,$pgno,$ppPage) { - $pCache = $pCache|0; - $pgno = $pgno|0; - $ppPage = $ppPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $or$cond = 0; - var $pPg = 0, $rc = 0, label = 0, sp = 0; +function _fts5CsrPoslist($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $pPg = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pCache; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $ppPage; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 33|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)==(2); - if ($8) { - HEAP32[$0>>2] = 0; - $78 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($78|0); - } - $9 = HEAP32[$1>>2]|0; - $10 = (_sqlite3PcachePagecount($9)|0); - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)>($13|0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$pPg>>2] = $17; - while(1) { - $18 = HEAP32[$pPg>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - break; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$8>>2] = $20; + HEAP32[$9>>2] = 0; + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 56|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0|0); + $25 = $24&1; + HEAP32[$10>>2] = $25; + $26 = HEAP32[$4>>2]|0; + $27 = ((($26)) + 60|0); + $28 = HEAP32[$27>>2]|0; + $29 = $28 & 64; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$8>>2]|0; + $32 = ((($31)) + 48|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$4>>2]|0; + $36 = ((($35)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$10>>2]|0; + $39 = (_sqlite3Fts5ExprClearPoslists($37,$38)|0); + HEAP32[$11>>2] = $39; + $40 = HEAP32[$11>>2]|0; + $41 = ($40|0)==(0|0); + if ($41) { + HEAP32[$9>>2] = 7; } - $20 = HEAP32[$pPg>>2]|0; - $21 = ((($20)) + 26|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22 << 16 >> 16; - $24 = ($23|0)!=(0); - if (!($24)) { - $25 = HEAP32[$pPg>>2]|0; - $26 = ((($25)) + 24|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27&65535; - $29 = $28 & 8; - $30 = ($29|0)!=(0); - if (!($30)) { + HEAP32[$12>>2] = 0; + while(1) { + $42 = HEAP32[$12>>2]|0; + $43 = HEAP32[$8>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($42|0)<($45|0); + $47 = HEAP32[$9>>2]|0; + $48 = ($47|0)==(0); + $49 = $46 ? $48 : 0; + if (!($49)) { break; } + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$12>>2]|0; + $52 = (_fts5ApiColumnText($50,$51,$14,$13)|0); + HEAP32[$9>>2] = $52; + $53 = HEAP32[$9>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + $55 = HEAP32[$8>>2]|0; + $56 = HEAP32[$4>>2]|0; + $57 = ((($56)) + 52|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$11>>2]|0; + $60 = HEAP32[$12>>2]|0; + $61 = HEAP32[$14>>2]|0; + $62 = HEAP32[$13>>2]|0; + $63 = (_sqlite3Fts5ExprPopulatePoslists($55,$58,$59,$60,$61,$62)|0); + HEAP32[$9>>2] = $63; + } + $64 = HEAP32[$12>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$12>>2] = $65; + } + $66 = HEAP32[$11>>2]|0; + _sqlite3_free($66); + $67 = HEAP32[$4>>2]|0; + $68 = ((($67)) + 56|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)!=(0|0); + if ($70) { + $71 = HEAP32[$4>>2]|0; + $72 = ((($71)) + 52|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$4>>2]|0; + $75 = ((($74)) + 56|0); + $76 = HEAP32[$75>>2]|0; + $77 = ((($76)) + 8|0); + $78 = $77; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + _sqlite3Fts5ExprCheckPoslists($73,$80,$83); } - $31 = HEAP32[$pPg>>2]|0; - $32 = ((($31)) + 36|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$pPg>>2] = $33; - } - $34 = HEAP32[$pPg>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 8|0); - HEAP32[$36>>2] = $34; - $37 = HEAP32[$pPg>>2]|0; - $38 = ($37|0)!=(0|0); - L14: do { - if (!($38)) { - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 4|0); - $41 = HEAP32[$40>>2]|0; - HEAP32[$pPg>>2] = $41; - while(1) { - $42 = HEAP32[$pPg>>2]|0; - $43 = ($42|0)!=(0|0); - if (!($43)) { - break L14; - } - $44 = HEAP32[$pPg>>2]|0; - $45 = ((($44)) + 26|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46 << 16 >> 16; - $48 = ($47|0)!=(0); - if (!($48)) { - break L14; - } - $49 = HEAP32[$pPg>>2]|0; - $50 = ((($49)) + 36|0); - $51 = HEAP32[$50>>2]|0; - HEAP32[$pPg>>2] = $51; - } - } - } while(0); - $52 = HEAP32[$pPg>>2]|0; - $53 = ($52|0)!=(0|0); - if ($53) { - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 36|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 40|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$pPg>>2]|0; - $61 = (FUNCTION_TABLE_iii[$56 & 255]($59,$60)|0); - HEAP32[$rc>>2] = $61; - $62 = HEAP32[$rc>>2]|0; - $63 = ($62|0)!=(0); - $64 = HEAP32[$rc>>2]|0; - $65 = ($64|0)!=(5); - $or$cond = $63 & $65; - if ($or$cond) { - $66 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $66; - $78 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($78|0); - } - } - } - $67 = HEAP32[(144)>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 44|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$2>>2]|0; - $72 = (FUNCTION_TABLE_iiii[$67 & 255]($70,$71,2)|0); - $73 = HEAP32[$3>>2]|0; - HEAP32[$73>>2] = $72; - $74 = HEAP32[$3>>2]|0; - $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)==(0|0); - $77 = $76 ? 7 : 0; - HEAP32[$0>>2] = $77; - $78 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($78|0); -} -function _sqlite3PcachePagecount($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[(140)>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 44|0); - $4 = HEAP32[$3>>2]|0; - $5 = (FUNCTION_TABLE_ii[$1 & 255]($4)|0); - STACKTOP = sp;return ($5|0); -} -function _sqlite3PagerDataVersion($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 108|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} -function _lockBtree($pBt) { - $pBt = $pBt|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $isOpen = 0, $nPage = 0, $nPageFile = 0, $nPageHeader = 0, $or$cond = 0, $or$cond3 = 0, $pPage1 = 0, $page1 = 0, $pageSize = 0, $rc = 0, $usableSize = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $rc = sp + 32|0; - $pPage1 = sp + 28|0; - $nPage = sp + 24|0; - $nPageFile = sp + 20|0; - $nPageHeader = sp + 16|0; - $pageSize = sp + 12|0; - $usableSize = sp + 8|0; - $page1 = sp + 4|0; - $isOpen = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$nPageFile>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3PagerSharedLock($3)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $7; - $222 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($222|0); - } - $8 = HEAP32[$1>>2]|0; - $9 = (_btreeGetPage($8,1,$pPage1,0)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)!=(0); - if ($11) { - $12 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $12; - $222 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($222|0); - } - $13 = HEAP32[$pPage1>>2]|0; - $14 = ((($13)) + 56|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 28|0); - $17 = (_sqlite3Get4byte($16)|0); - HEAP32[$nPageHeader>>2] = $17; - HEAP32[$nPage>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$18>>2]|0; - _sqlite3PagerPagecount($19,$nPageFile); - $20 = HEAP32[$nPage>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - label = 7; - } else { - $22 = HEAP32[$pPage1>>2]|0; - $23 = ((($22)) + 56|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($24)) + 24|0); - $26 = HEAP32[$pPage1>>2]|0; - $27 = ((($26)) + 56|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 92|0); - $30 = (_memcmp($25,$29,4)|0); - $31 = ($30|0)!=(0); - if ($31) { - label = 7; } + $84 = HEAP32[$4>>2]|0; + $85 = ((($84)) + 60|0); + $86 = HEAP32[$85>>2]|0; + $87 = $86 & -65; + HEAP32[$85>>2] = $87; } - if ((label|0) == 7) { - $32 = HEAP32[$nPageFile>>2]|0; - HEAP32[$nPage>>2] = $32; - } - $33 = HEAP32[$nPage>>2]|0; - $34 = ($33|0)>(0); - L14: do { - if ($34) { - $35 = HEAP32[$pPage1>>2]|0; - $36 = ((($35)) + 56|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$page1>>2] = $37; - HEAP32[$rc>>2] = 26; - $38 = HEAP32[$page1>>2]|0; - $39 = (_memcmp($38,41796,16)|0); - $40 = ($39|0)!=(0); - L16: do { - if (!($40)) { - $41 = HEAP32[$page1>>2]|0; - $42 = ((($41)) + 18|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = ($44|0)>(2); - if ($45) { - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 22|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = $49 | 1; - $51 = $50&65535; - HEAP16[$47>>1] = $51; - } - $52 = HEAP32[$page1>>2]|0; - $53 = ((($52)) + 19|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = ($55|0)>(2); - if (!($56)) { - $57 = HEAP32[$page1>>2]|0; - $58 = ((($57)) + 19|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = ($60|0)==(2); - do { - if ($61) { - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 22|0); - $64 = HEAP16[$63>>1]|0; - $65 = $64&65535; - $66 = $65 & 16; - $67 = ($66|0)==(0); - if ($67) { - HEAP32[$isOpen>>2] = 0; - $68 = HEAP32[$1>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = (_sqlite3PagerOpenWal($69,$isOpen)|0); - HEAP32[$rc>>2] = $70; - $71 = HEAP32[$rc>>2]|0; - $72 = ($71|0)!=(0); - if ($72) { - break L16; - } - $73 = HEAP32[$isOpen>>2]|0; - $74 = ($73|0)==(0); - if (!($74)) { - HEAP32[$rc>>2] = 26; - break; - } - $75 = HEAP32[$pPage1>>2]|0; - _releasePage($75); - HEAP32[$0>>2] = 0; - $222 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($222|0); - } - } - } while(0); - $76 = HEAP32[$page1>>2]|0; - $77 = ((($76)) + 21|0); - $78 = (_memcmp($77,44049,3)|0); - $79 = ($78|0)!=(0); - if (!($79)) { - $80 = HEAP32[$page1>>2]|0; - $81 = ((($80)) + 16|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 << 8; - $85 = HEAP32[$page1>>2]|0; - $86 = ((($85)) + 17|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87&255; - $89 = $88 << 16; - $90 = $84 | $89; - HEAP32[$pageSize>>2] = $90; - $91 = HEAP32[$pageSize>>2]|0; - $92 = (($91) - 1)|0; - $93 = HEAP32[$pageSize>>2]|0; - $94 = $92 & $93; - $95 = ($94|0)!=(0); - $96 = HEAP32[$pageSize>>2]|0; - $97 = ($96>>>0)>(65536); - $or$cond = $95 | $97; - $98 = HEAP32[$pageSize>>2]|0; - $99 = ($98>>>0)<=(256); - $or$cond3 = $or$cond | $99; - if (!($or$cond3)) { - $100 = HEAP32[$pageSize>>2]|0; - $101 = HEAP32[$page1>>2]|0; - $102 = ((($101)) + 20|0); - $103 = HEAP8[$102>>0]|0; - $104 = $103&255; - $105 = (($100) - ($104))|0; - HEAP32[$usableSize>>2] = $105; - $106 = HEAP32[$pageSize>>2]|0; - $107 = HEAP32[$1>>2]|0; - $108 = ((($107)) + 32|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($106|0)!=($109|0); - if ($110) { - $111 = HEAP32[$pPage1>>2]|0; - _releasePage($111); - $112 = HEAP32[$usableSize>>2]|0; - $113 = HEAP32[$1>>2]|0; - $114 = ((($113)) + 36|0); - HEAP32[$114>>2] = $112; - $115 = HEAP32[$pageSize>>2]|0; - $116 = HEAP32[$1>>2]|0; - $117 = ((($116)) + 32|0); - HEAP32[$117>>2] = $115; - $118 = HEAP32[$1>>2]|0; - _freeTempSpace($118); - $119 = HEAP32[$1>>2]|0; - $120 = HEAP32[$119>>2]|0; - $121 = HEAP32[$1>>2]|0; - $122 = ((($121)) + 32|0); - $123 = HEAP32[$pageSize>>2]|0; - $124 = HEAP32[$usableSize>>2]|0; - $125 = (($123) - ($124))|0; - $126 = (_sqlite3PagerSetPagesize($120,$122,$125)|0); - HEAP32[$rc>>2] = $126; - $127 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $127; - $222 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($222|0); - } - $128 = HEAP32[$1>>2]|0; - $129 = ((($128)) + 4|0); - $130 = HEAP32[$129>>2]|0; - $131 = ((($130)) + 24|0); - $132 = HEAP32[$131>>2]|0; - $133 = $132 & 65536; - $134 = ($133|0)==(0); - if ($134) { - $135 = HEAP32[$nPage>>2]|0; - $136 = HEAP32[$nPageFile>>2]|0; - $137 = ($135|0)>($136|0); - if ($137) { - $138 = (_sqlite3CorruptError(61191)|0); - HEAP32[$rc>>2] = $138; - break; - } - } - $139 = HEAP32[$usableSize>>2]|0; - $140 = ($139>>>0)<(480); - if (!($140)) { - $141 = HEAP32[$pageSize>>2]|0; - $142 = HEAP32[$1>>2]|0; - $143 = ((($142)) + 32|0); - HEAP32[$143>>2] = $141; - $144 = HEAP32[$usableSize>>2]|0; - $145 = HEAP32[$1>>2]|0; - $146 = ((($145)) + 36|0); - HEAP32[$146>>2] = $144; - $147 = HEAP32[$page1>>2]|0; - $148 = ((($147)) + 52|0); - $149 = (_sqlite3Get4byte($148)|0); - $150 = ($149|0)!=(0); - $151 = $150 ? 1 : 0; - $152 = $151&255; - $153 = HEAP32[$1>>2]|0; - $154 = ((($153)) + 17|0); - HEAP8[$154>>0] = $152; - $155 = HEAP32[$page1>>2]|0; - $156 = ((($155)) + 64|0); - $157 = (_sqlite3Get4byte($156)|0); - $158 = ($157|0)!=(0); - $159 = $158 ? 1 : 0; - $160 = $159&255; - $161 = HEAP32[$1>>2]|0; - $162 = ((($161)) + 18|0); - HEAP8[$162>>0] = $160; - break L14; - } - } - } - } - } - } while(0); - $218 = HEAP32[$pPage1>>2]|0; - _releasePage($218); - $219 = HEAP32[$1>>2]|0; - $220 = ((($219)) + 12|0); - HEAP32[$220>>2] = 0; - $221 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $221; - $222 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($222|0); + $88 = HEAP32[$4>>2]|0; + $89 = ((($88)) + 56|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($90|0)!=(0|0); + if ($91) { + $92 = HEAP32[$8>>2]|0; + $93 = ((($92)) + 48|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0); + if ($95) { + $96 = HEAP32[$4>>2]|0; + $97 = ((($96)) + 56|0); + $98 = HEAP32[$97>>2]|0; + HEAP32[$15>>2] = $98; + $99 = HEAP32[$5>>2]|0; + $100 = ($99|0)==(0); + if ($100) { + $107 = 0; + } else { + $101 = HEAP32[$15>>2]|0; + $102 = ((($101)) + 24|0); + $103 = HEAP32[$5>>2]|0; + $104 = (($103) - 1)|0; + $105 = (($102) + ($104<<2)|0); + $106 = HEAP32[$105>>2]|0; + $107 = $106; + } + HEAP32[$16>>2] = $107; + $108 = HEAP32[$15>>2]|0; + $109 = ((($108)) + 24|0); + $110 = HEAP32[$5>>2]|0; + $111 = (($109) + ($110<<2)|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$16>>2]|0; + $114 = (($112) - ($113))|0; + $115 = HEAP32[$7>>2]|0; + HEAP32[$115>>2] = $114; + $116 = HEAP32[$15>>2]|0; + $117 = ((($116)) + 16|0); + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$16>>2]|0; + $120 = (($118) + ($119)|0); + $121 = HEAP32[$6>>2]|0; + HEAP32[$121>>2] = $120; + $129 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($129|0); } - } while(0); - $163 = HEAP32[$1>>2]|0; - $164 = ((($163)) + 36|0); - $165 = HEAP32[$164>>2]|0; - $166 = (($165) - 12)|0; - $167 = $166<<6; - $168 = (($167>>>0) / 255)&-1; - $169 = (($168) - 23)|0; - $170 = $169&65535; - $171 = HEAP32[$1>>2]|0; - $172 = ((($171)) + 24|0); - HEAP16[$172>>1] = $170; - $173 = HEAP32[$1>>2]|0; - $174 = ((($173)) + 36|0); - $175 = HEAP32[$174>>2]|0; - $176 = (($175) - 12)|0; - $177 = $176<<5; - $178 = (($177>>>0) / 255)&-1; - $179 = (($178) - 23)|0; - $180 = $179&65535; - $181 = HEAP32[$1>>2]|0; - $182 = ((($181)) + 26|0); - HEAP16[$182>>1] = $180; - $183 = HEAP32[$1>>2]|0; - $184 = ((($183)) + 36|0); - $185 = HEAP32[$184>>2]|0; - $186 = (($185) - 35)|0; - $187 = $186&65535; - $188 = HEAP32[$1>>2]|0; - $189 = ((($188)) + 28|0); - HEAP16[$189>>1] = $187; - $190 = HEAP32[$1>>2]|0; - $191 = ((($190)) + 36|0); - $192 = HEAP32[$191>>2]|0; - $193 = (($192) - 12)|0; - $194 = $193<<5; - $195 = (($194>>>0) / 255)&-1; - $196 = (($195) - 23)|0; - $197 = $196&65535; - $198 = HEAP32[$1>>2]|0; - $199 = ((($198)) + 30|0); - HEAP16[$199>>1] = $197; - $200 = HEAP32[$1>>2]|0; - $201 = ((($200)) + 24|0); - $202 = HEAP16[$201>>1]|0; - $203 = $202&65535; - $204 = ($203|0)>(127); - $205 = HEAP32[$1>>2]|0; - if ($204) { - $206 = ((($205)) + 21|0); - HEAP8[$206>>0] = 127; - } else { - $207 = ((($205)) + 24|0); - $208 = HEAP16[$207>>1]|0; - $209 = $208&255; - $210 = HEAP32[$1>>2]|0; - $211 = ((($210)) + 21|0); - HEAP8[$211>>0] = $209; - } - $212 = HEAP32[$pPage1>>2]|0; - $213 = HEAP32[$1>>2]|0; - $214 = ((($213)) + 12|0); - HEAP32[$214>>2] = $212; - $215 = HEAP32[$nPage>>2]|0; - $216 = HEAP32[$1>>2]|0; - $217 = ((($216)) + 44|0); - HEAP32[$217>>2] = $215; - HEAP32[$0>>2] = 0; - $222 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($222|0); + } + $122 = HEAP32[$4>>2]|0; + $123 = ((($122)) + 52|0); + $124 = HEAP32[$123>>2]|0; + $125 = HEAP32[$5>>2]|0; + $126 = HEAP32[$6>>2]|0; + $127 = (_sqlite3Fts5ExprPoslist($124,$125,$126)|0); + $128 = HEAP32[$7>>2]|0; + HEAP32[$128>>2] = $127; + $129 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($129|0); } -function _sqlite3PagerBegin($pPager,$exFlag,$subjInMemory) { - $pPager = $pPager|0; - $exFlag = $exFlag|0; - $subjInMemory = $subjInMemory|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $or$cond = 0; - var $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5ExprClearPoslists($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $exFlag; - HEAP32[$3>>2] = $subjInMemory; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 44|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 44|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$0>>2] = $10; - $78 = HEAP32[$0>>2]|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10<<4; + $12 = (_sqlite3_malloc($11)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + $78 = HEAP32[$4>>2]|0; STACKTOP = sp;return ($78|0); } - $11 = HEAP32[$3>>2]|0; - $12 = $11&255; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 22|0); - HEAP8[$14>>0] = $12; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 17|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = ($18|0)==(1); - if ($19) { - $20 = HEAP32[$1>>2]|0; - $21 = (_sqlite3PagerUseWal($20)|0); - $22 = ($21|0)!=(0); - $23 = HEAP32[$1>>2]|0; - if ($22) { - $24 = ((($23)) + 4|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = ($26|0)!=(0); - do { - if ($27) { - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 216|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3WalExclusiveMode($30,-1)|0); - $32 = ($31|0)!=(0); - if ($32) { - $33 = HEAP32[$1>>2]|0; - $34 = (_pagerLockDb($33,4)|0); - HEAP32[$rc>>2] = $34; - $35 = HEAP32[$rc>>2]|0; - $36 = ($35|0)!=(0); - if (!($36)) { - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 216|0); - $40 = HEAP32[$39>>2]|0; - (_sqlite3WalExclusiveMode($40,1)|0); + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18<<4; + _memset(($15|0),0,($19|0))|0; + HEAP32[$5>>2] = 0; + while(1) { + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($20|0)<($23|0); + if (!($24)) { + break; + } + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 20|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = (($27) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 4|0); + HEAP32[$6>>2] = $31; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = (($34) + ($35<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$37>>2]|0; + HEAP32[$7>>2] = $38; + $39 = HEAP32[$3>>2]|0; + $40 = ($39|0)!=(0); + do { + if ($40) { + $41 = HEAP32[$6>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)==(0); + if (!($44)) { + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 16|0); + $47 = $46; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($55)) + 16|0); + $57 = $56; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = ($49|0)!=($59|0); + $64 = ($52|0)!=($62|0); + $65 = $63 | $64; + if (!($65)) { + $66 = HEAP32[$7>>2]|0; + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)!=(0); + if (!($69)) { + label = 9; break; } - $37 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $37; - $78 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($78|0); } } - } while(0); - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 216|0); - $43 = HEAP32[$42>>2]|0; - $44 = (_sqlite3WalBeginWriteTransaction($43)|0); - HEAP32[$rc>>2] = $44; - } else { - $45 = (_pagerLockDb($23,2)|0); - HEAP32[$rc>>2] = $45; - $46 = HEAP32[$rc>>2]|0; - $47 = ($46|0)==(0); - $48 = HEAP32[$2>>2]|0; - $49 = ($48|0)!=(0); - $or$cond = $47 & $49; - if ($or$cond) { - $50 = HEAP32[$1>>2]|0; - $51 = (_pager_wait_on_lock($50,4)|0); - HEAP32[$rc>>2] = $51; + $70 = HEAP32[$4>>2]|0; + $71 = HEAP32[$5>>2]|0; + $72 = (($70) + ($71<<4)|0); + $73 = ((($72)) + 12|0); + HEAP32[$73>>2] = 1; + } else { + label = 9; } + } while(0); + if ((label|0) == 9) { + label = 0; + $74 = HEAP32[$6>>2]|0; + $75 = ((($74)) + 4|0); + HEAP32[$75>>2] = 0; } - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)==(0); - if ($53) { - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 17|0); - HEAP8[$55>>0] = 2; - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 28|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 40|0); - HEAP32[$60>>2] = $58; - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 28|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 36|0); - HEAP32[$65>>2] = $63; - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 28|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 32|0); - HEAP32[$70>>2] = $68; - $71 = HEAP32[$1>>2]|0; - $72 = ((($71)) + 80|0); - $73 = $72; - $74 = $73; - HEAP32[$74>>2] = 0; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = 0; - } + $76 = HEAP32[$5>>2]|0; + $77 = (($76) + 1)|0; + HEAP32[$5>>2] = $77; } - $77 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $77; - $78 = HEAP32[$0>>2]|0; + $78 = HEAP32[$4>>2]|0; STACKTOP = sp;return ($78|0); } -function _sqlite3WalBeginWriteTransaction($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pWal; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 46|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if ($5) { - HEAP32[$0>>2] = 8; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); - } - $6 = HEAP32[$1>>2]|0; - $7 = (_walLockExclusive($6,0,1)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)!=(0); - if ($9) { - $10 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $10; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); - } - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 44|0); - HEAP8[$12>>0] = 1; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 52|0); - $15 = HEAP32[$1>>2]|0; - $16 = (_walIndexHdr($15)|0); - $17 = (_memcmp($14,$16,48)|0); - $18 = ($17|0)!=(0); - if ($18) { - $19 = HEAP32[$1>>2]|0; - _walUnlockExclusive($19,0,1); - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 44|0); - HEAP8[$21>>0] = 0; - HEAP32[$rc>>2] = 517; - } - $22 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $22; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); -} -function _sqlite3ErrorFinish($db,$err_code) { - $db = $db|0; - $err_code = $err_code|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 + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $err_code; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 244|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 244|0); - $8 = HEAP32[$7>>2]|0; - _sqlite3ValueSetNull($8); - } - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$1>>2]|0; - _sqlite3SystemError($9,$10); - STACKTOP = sp;return; -} -function _sqlite3ValueSetNull($p) { - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _sqlite3VdbeMemSetNull($1); - STACKTOP = sp;return; -} -function _unixOpen($pVfs,$zPath,$pFile,$flags,$pOutFlags) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $pFile = $pFile|0; - $flags = $flags|0; - $pOutFlags = $pOutFlags|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $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; - 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, $ctrlFlags = 0, $eType = 0, $fd = 0, $gid = 0, $isCreate = 0, $isDelete = 0, $isExclusive = 0; - var $isReadWrite = 0, $isReadonly = 0, $noLock = 0, $openFlags = 0, $openMode = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pUnused = 0, $rc = 0, $syncDir = 0, $uid = 0, $zName = 0, $zTmpname = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _sqlite3Fts5ExprPopulatePoslists($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$sink = 0, $$sink2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $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, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 624|0; - $0 = sp + 92|0; - $1 = sp + 88|0; - $2 = sp + 84|0; - $3 = sp + 80|0; - $4 = sp + 76|0; - $5 = sp + 72|0; - $p = sp + 68|0; - $fd = sp + 64|0; - $openFlags = sp + 60|0; - $eType = sp + 56|0; - $noLock = sp + 52|0; - $rc = sp + 48|0; - $ctrlFlags = sp + 44|0; - $isExclusive = sp + 40|0; - $isDelete = sp + 36|0; - $isCreate = sp + 32|0; - $isReadonly = sp + 28|0; - $isReadWrite = sp + 24|0; - $syncDir = sp + 20|0; - $zTmpname = sp + 96|0; - $zName = sp + 16|0; - $pUnused = sp + 12|0; - $openMode = sp + 8|0; - $uid = sp + 4|0; - $gid = sp; - HEAP32[$1>>2] = $pVfs; - HEAP32[$2>>2] = $zPath; - HEAP32[$3>>2] = $pFile; - HEAP32[$4>>2] = $flags; - HEAP32[$5>>2] = $pOutFlags; - $6 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $6; - HEAP32[$fd>>2] = -1; - HEAP32[$openFlags>>2] = 0; - $7 = HEAP32[$4>>2]|0; - $8 = $7 & -256; - HEAP32[$eType>>2] = $8; - HEAP32[$rc>>2] = 0; - HEAP32[$ctrlFlags>>2] = 0; - $9 = HEAP32[$4>>2]|0; - $10 = $9 & 16; - HEAP32[$isExclusive>>2] = $10; - $11 = HEAP32[$4>>2]|0; - $12 = $11 & 8; - HEAP32[$isDelete>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = $13 & 4; - HEAP32[$isCreate>>2] = $14; - $15 = HEAP32[$4>>2]|0; - $16 = $15 & 1; - HEAP32[$isReadonly>>2] = $16; - $17 = HEAP32[$4>>2]|0; - $18 = $17 & 2; - HEAP32[$isReadWrite>>2] = $18; - $19 = HEAP32[$isCreate>>2]|0; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$eType>>2]|0; - $22 = ($21|0)==(16384); - $23 = HEAP32[$eType>>2]|0; - $24 = ($23|0)==(2048); - $or$cond = $22 | $24; - if ($or$cond) { - $28 = 1; - } else { - $25 = HEAP32[$eType>>2]|0; - $26 = ($25|0)==(524288); - $28 = $26; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp; + $14 = sp + 20|0; + $15 = sp + 16|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $16 = HEAP32[$7>>2]|0; + HEAP32[$13>>2] = $16; + $17 = HEAP32[$8>>2]|0; + $18 = ((($13)) + 4|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$9>>2]|0; + $20 = ($19|0)<(0); + $20 << 31 >> 31; + $21 = (_i64Subtract(0,($19|0),1,0)|0); + $22 = tempRet0; + $23 = ((($13)) + 8|0); + $24 = $23; + $25 = $24; + HEAP32[$25>>2] = $21; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $22; + HEAP32[$12>>2] = 0; + while(1) { + $28 = HEAP32[$12>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = ((($29)) + 16|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($28|0)<($31|0); + if (!($32)) { + break; } - } else { - $28 = 0; - } - $27 = $28&1; - HEAP32[$syncDir>>2] = $27; - $29 = HEAP32[$2>>2]|0; - HEAP32[$zName>>2] = $29; - $30 = HEAP32[6872>>2]|0; - $31 = (_getpid()|0); - $32 = ($30|0)!=($31|0); - if ($32) { - $33 = (_getpid()|0); - HEAP32[6872>>2] = $33; - _sqlite3_randomness(0,0); - } - $34 = HEAP32[$p>>2]|0; - dest=$34; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $35 = HEAP32[$eType>>2]|0; - $36 = ($35|0)==(256); - $37 = HEAP32[$zName>>2]|0; - do { - if ($36) { - $38 = HEAP32[$4>>2]|0; - $39 = (_findReusableFd($37,$38)|0); - HEAP32[$pUnused>>2] = $39; - $40 = HEAP32[$pUnused>>2]|0; - $41 = ($40|0)!=(0|0); - if ($41) { - $42 = HEAP32[$pUnused>>2]|0; - $43 = HEAP32[$42>>2]|0; - HEAP32[$fd>>2] = $43; + $33 = HEAP32[$7>>2]|0; + $34 = ((($33)) + 20|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$12>>2]|0; + $37 = (($35) + ($36<<2)|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$38>>2]|0; + HEAP32[$14>>2] = $39; + $40 = HEAP32[$14>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + HEAP32[$15>>2] = $44; + $45 = HEAP32[$15>>2]|0; + $46 = ($45|0)!=(0|0); + if ($46) { + $47 = HEAP32[$15>>2]|0; + $48 = HEAP32[$9>>2]|0; + $49 = (_fts5ExprColsetTest($47,$48)|0); + $50 = (0)==($49|0); + if ($50) { + label = 6; } else { - $44 = (_sqlite3_malloc64(12,0)|0); - HEAP32[$pUnused>>2] = $44; - $45 = HEAP32[$pUnused>>2]|0; - $46 = ($45|0)!=(0|0); - if (!($46)) { - HEAP32[$0>>2] = 7; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); - } + label = 5; } - $47 = HEAP32[$pUnused>>2]|0; - $48 = HEAP32[$p>>2]|0; - $49 = ((($48)) + 28|0); - HEAP32[$49>>2] = $47; } else { - $50 = ($37|0)!=(0|0); - if (!($50)) { - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = (_unixGetTempname($53,$zTmpname)|0); - HEAP32[$rc>>2] = $54; - $55 = HEAP32[$rc>>2]|0; - $56 = ($55|0)!=(0); - if (!($56)) { - HEAP32[$zName>>2] = $zTmpname; - break; - } - $57 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $57; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); - } + label = 5; } - } while(0); - $58 = HEAP32[$isReadonly>>2]|0; - $59 = ($58|0)!=(0); - if ($59) { - $60 = HEAP32[$openFlags>>2]|0; - HEAP32[$openFlags>>2] = $60; - } - $61 = HEAP32[$isReadWrite>>2]|0; - $62 = ($61|0)!=(0); - if ($62) { - $63 = HEAP32[$openFlags>>2]|0; - $64 = $63 | 2; - HEAP32[$openFlags>>2] = $64; - } - $65 = HEAP32[$isCreate>>2]|0; - $66 = ($65|0)!=(0); - if ($66) { - $67 = HEAP32[$openFlags>>2]|0; - $68 = $67 | 64; - HEAP32[$openFlags>>2] = $68; - } - $69 = HEAP32[$isExclusive>>2]|0; - $70 = ($69|0)!=(0); - if ($70) { - $71 = HEAP32[$openFlags>>2]|0; - $72 = $71 | 131200; - HEAP32[$openFlags>>2] = $72; - } - $73 = HEAP32[$openFlags>>2]|0; - HEAP32[$openFlags>>2] = $73; - $74 = HEAP32[$fd>>2]|0; - $75 = ($74|0)<(0); - do { - if ($75) { - $76 = HEAP32[$zName>>2]|0; - $77 = HEAP32[$4>>2]|0; - $78 = (_findCreateFileMode($76,$77,$openMode,$uid,$gid)|0); - HEAP32[$rc>>2] = $78; - $79 = HEAP32[$rc>>2]|0; - $80 = ($79|0)!=(0); - if ($80) { - $81 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $81; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); - } - $82 = HEAP32[$zName>>2]|0; - $83 = HEAP32[$openFlags>>2]|0; - $84 = HEAP32[$openMode>>2]|0; - $85 = (_robust_open($82,$83,$84)|0); - HEAP32[$fd>>2] = $85; - $86 = HEAP32[$fd>>2]|0; - $87 = ($86|0)<(0); - if ($87) { - $88 = (___errno_location()|0); - $89 = HEAP32[$88>>2]|0; - $90 = ($89|0)!=(21); - $91 = HEAP32[$isReadWrite>>2]|0; - $92 = ($91|0)!=(0); - $or$cond3 = $90 & $92; - if ($or$cond3) { - $93 = HEAP32[$4>>2]|0; - $94 = $93 & -7; - HEAP32[$4>>2] = $94; - $95 = HEAP32[$openFlags>>2]|0; - $96 = $95 & -67; - HEAP32[$openFlags>>2] = $96; - $97 = HEAP32[$4>>2]|0; - $98 = $97 | 1; - HEAP32[$4>>2] = $98; - $99 = HEAP32[$openFlags>>2]|0; - HEAP32[$openFlags>>2] = $99; - HEAP32[$isReadonly>>2] = 1; - $100 = HEAP32[$zName>>2]|0; - $101 = HEAP32[$openFlags>>2]|0; - $102 = HEAP32[$openMode>>2]|0; - $103 = (_robust_open($100,$101,$102)|0); - HEAP32[$fd>>2] = $103; - } - } - $104 = HEAP32[$fd>>2]|0; - $105 = ($104|0)<(0); - if ($105) { - $106 = (_sqlite3CantopenError(35186)|0); - $107 = HEAP32[$zName>>2]|0; - $108 = (_unixLogErrorAtLine($106,44128,$107,35186)|0); - HEAP32[$rc>>2] = $108; - break; - } - $109 = HEAP32[$4>>2]|0; - $110 = $109 & 526336; - $111 = ($110|0)!=(0); - if ($111) { - $112 = HEAP32[$fd>>2]|0; - $113 = HEAP32[$uid>>2]|0; - $114 = HEAP32[$gid>>2]|0; - (_robustFchown($112,$113,$114)|0); - label = 34; + if ((label|0) == 5) { + label = 0; + $51 = HEAP32[$8>>2]|0; + $52 = HEAP32[$12>>2]|0; + $53 = (($51) + ($52<<4)|0); + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)!=(0); + if ($56) { + label = 6; } else { - label = 34; + $60 = HEAP32[$8>>2]|0; + $61 = HEAP32[$12>>2]|0; + $62 = (($60) + ($61<<4)|0); + $$sink = 1;$$sink2 = $62; } - } else { - label = 34; - } - } while(0); - if ((label|0) == 34) { - $115 = HEAP32[$5>>2]|0; - $116 = ($115|0)!=(0|0); - if ($116) { - $117 = HEAP32[$4>>2]|0; - $118 = HEAP32[$5>>2]|0; - HEAP32[$118>>2] = $117; - } - $119 = HEAP32[$p>>2]|0; - $120 = ((($119)) + 28|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($121|0)!=(0|0); - if ($122) { - $123 = HEAP32[$fd>>2]|0; - $124 = HEAP32[$p>>2]|0; - $125 = ((($124)) + 28|0); - $126 = HEAP32[$125>>2]|0; - HEAP32[$126>>2] = $123; - $127 = HEAP32[$4>>2]|0; - $128 = HEAP32[$p>>2]|0; - $129 = ((($128)) + 28|0); - $130 = HEAP32[$129>>2]|0; - $131 = ((($130)) + 4|0); - HEAP32[$131>>2] = $127; - } - $132 = HEAP32[$isDelete>>2]|0; - $133 = ($132|0)!=(0); - if ($133) { - $134 = HEAP32[(6632)>>2]|0; - $135 = HEAP32[$zName>>2]|0; - (FUNCTION_TABLE_ii[$134 & 255]($135)|0); - } - $136 = HEAP32[$isDelete>>2]|0; - $137 = ($136|0)!=(0); - if ($137) { - $138 = HEAP32[$ctrlFlags>>2]|0; - $139 = $138 | 32; - HEAP32[$ctrlFlags>>2] = $139; - } - $140 = HEAP32[$isReadonly>>2]|0; - $141 = ($140|0)!=(0); - if ($141) { - $142 = HEAP32[$ctrlFlags>>2]|0; - $143 = $142 | 2; - HEAP32[$ctrlFlags>>2] = $143; - } - $144 = HEAP32[$eType>>2]|0; - $145 = ($144|0)!=(256); - $146 = $145&1; - HEAP32[$noLock>>2] = $146; - $147 = HEAP32[$noLock>>2]|0; - $148 = ($147|0)!=(0); - if ($148) { - $149 = HEAP32[$ctrlFlags>>2]|0; - $150 = $149 | 128; - HEAP32[$ctrlFlags>>2] = $150; - } - $151 = HEAP32[$syncDir>>2]|0; - $152 = ($151|0)!=(0); - if ($152) { - $153 = HEAP32[$ctrlFlags>>2]|0; - $154 = $153 | 8; - HEAP32[$ctrlFlags>>2] = $154; - } - $155 = HEAP32[$4>>2]|0; - $156 = $155 & 64; - $157 = ($156|0)!=(0); - if ($157) { - $158 = HEAP32[$ctrlFlags>>2]|0; - $159 = $158 | 64; - HEAP32[$ctrlFlags>>2] = $159; } - $160 = HEAP32[$1>>2]|0; - $161 = HEAP32[$fd>>2]|0; - $162 = HEAP32[$3>>2]|0; - $163 = HEAP32[$2>>2]|0; - $164 = HEAP32[$ctrlFlags>>2]|0; - $165 = (_fillInUnixFile($160,$161,$162,$163,$164)|0); - HEAP32[$rc>>2] = $165; - } - $166 = HEAP32[$rc>>2]|0; - $167 = ($166|0)!=(0); - if ($167) { - $168 = HEAP32[$p>>2]|0; - $169 = ((($168)) + 28|0); - $170 = HEAP32[$169>>2]|0; - _sqlite3_free($170); + if ((label|0) == 6) { + label = 0; + $57 = HEAP32[$8>>2]|0; + $58 = HEAP32[$12>>2]|0; + $59 = (($57) + ($58<<4)|0); + $$sink = 0;$$sink2 = $59; + } + $63 = ((($$sink2)) + 8|0); + HEAP32[$63>>2] = $$sink; + $64 = HEAP32[$12>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$12>>2] = $65; } - $171 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $171; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); + $66 = HEAP32[$6>>2]|0; + $67 = HEAP32[$10>>2]|0; + $68 = HEAP32[$11>>2]|0; + $69 = (_sqlite3Fts5Tokenize($66,4,$67,$68,$13,153)|0); + STACKTOP = sp;return ($69|0); } -function _unixDelete($NotUsed,$zPath,$dirSync) { - $NotUsed = $NotUsed|0; - $zPath = $zPath|0; - $dirSync = $dirSync|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5ExprCheckPoslists($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; + STACKTOP = STACKTOP + 16|0; $3 = sp + 8|0; - $rc = sp + 4|0; - $fd = sp; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $zPath; - HEAP32[$3>>2] = $dirSync; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[(6632)>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (FUNCTION_TABLE_ii[$4 & 255]($5)|0); - $7 = ($6|0)==(-1); - if ($7) { - $8 = (___errno_location()|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(2); - if ($10) { - HEAP32[$rc>>2] = 5898; - } else { - $11 = HEAP32[$2>>2]|0; - $12 = (_unixLogErrorAtLine(2570,44225,$11,35312)|0); - HEAP32[$rc>>2] = $12; - } - $13 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $13; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); - } - $14 = HEAP32[$3>>2]|0; - $15 = $14 & 1; - $16 = ($15|0)!=(0); - do { - if ($16) { - $17 = HEAP32[(6644)>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = (FUNCTION_TABLE_iii[$17 & 255]($18,$fd)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)==(0); - if (!($21)) { - HEAP32[$rc>>2] = 0; - break; - } - $22 = HEAP32[$fd>>2]|0; - $23 = (_full_fsync($22,0,0)|0); - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$2>>2]|0; - $26 = (_unixLogErrorAtLine(1290,44459,$25,35322)|0); - HEAP32[$rc>>2] = $26; - } - $27 = HEAP32[$fd>>2]|0; - _robust_close(0,$27,35324); - } - } while(0); - $28 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $28; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); + $4 = sp; + HEAP32[$3>>2] = $0; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $1; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = $4; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + (_fts5ExprCheckPoslists($11,$14,$17)|0); + STACKTOP = sp;return; } -function _unixAccess($NotUsed,$zPath,$flags,$pResOut) { - $NotUsed = $NotUsed|0; - $zPath = $zPath|0; - $flags = $flags|0; - $pResOut = $pResOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $buf = 0, label = 0, sp = 0; +function _sqlite3Fts5ExprPoslist($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 88|0; - $1 = sp + 84|0; - $2 = sp + 80|0; - $3 = sp + 76|0; - $buf = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $flags; - HEAP32[$3>>2] = $pResOut; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = HEAP32[(6488)>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (FUNCTION_TABLE_iii[$6 & 255]($7,$buf)|0); - $9 = (0)==($8|0); - $10 = ((($buf)) + 36|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(0); - $13 = $9 ? $12 : 0; - $14 = $13&1; - $15 = HEAP32[$3>>2]|0; - HEAP32[$15>>2] = $14; - STACKTOP = sp;return 0; - } else { - $16 = HEAP32[(6464)>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = (FUNCTION_TABLE_iii[$16 & 255]($17,6)|0); - $19 = ($18|0)==(0); - $20 = $19&1; - $21 = HEAP32[$3>>2]|0; - HEAP32[$21>>2] = $20; - STACKTOP = sp;return 0; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = (($11) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$7>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$8>>2] = $16; + $17 = HEAP32[$8>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + $21 = HEAP32[$8>>2]|0; + $22 = ((($21)) + 16|0); + $23 = $22; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 16|0); + $33 = $32; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = ($25|0)==($35|0); + $40 = ($28|0)==($38|0); + $41 = $39 & $40; + if ($41) { + $42 = HEAP32[$7>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$5>>2]|0; + HEAP32[$45>>2] = $44; + $46 = HEAP32[$7>>2]|0; + $47 = ((($46)) + 4|0); + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$6>>2] = $49; + $51 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($51|0); + } } - return (0)|0; + $50 = HEAP32[$5>>2]|0; + HEAP32[$50>>2] = 0; + HEAP32[$6>>2] = 0; + $51 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($51|0); } -function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $nOut = $nOut|0; - $zOut = $zOut|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $bLink = 0, $buf = 0, $n = 0, $nByte = 0, $nLink = 0, $rc = 0, $zDel = 0, $zIn = 0, label = 0, sp = 0; +function _fts5ExprCheckPoslists($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $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, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $3 = sp + 104|0; - $rc = sp + 100|0; - $nByte = sp + 96|0; - $nLink = sp + 92|0; - $zIn = sp + 88|0; - $zDel = sp + 84|0; - $bLink = sp + 80|0; - $buf = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $nOut; - HEAP32[$3>>2] = $zOut; - HEAP32[$rc>>2] = 0; - HEAP32[$nLink>>2] = 1; - $4 = HEAP32[$1>>2]|0; - HEAP32[$zIn>>2] = $4; - HEAP32[$zDel>>2] = 0; - while(1) { - HEAP32[$bLink>>2] = 0; - $5 = HEAP32[(6764)>>2]|0; - $6 = HEAP32[$zIn>>2]|0; - $7 = (FUNCTION_TABLE_iii[$5 & 255]($6,$buf)|0); - $8 = ($7|0)!=(0); - if ($8) { - $9 = (___errno_location()|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(2); - if ($11) { - $12 = (_sqlite3CantopenError(35436)|0); - $13 = HEAP32[$zIn>>2]|0; - $14 = (_unixLogErrorAtLine($12,44313,$13,35436)|0); - HEAP32[$rc>>2] = $14; - } - } else { - $15 = ((($buf)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = $16 & 61440; - $18 = ($17|0)==(40960); - $19 = $18&1; - HEAP32[$bLink>>2] = $19; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$4>>2] = $0; + $9 = $5; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + $13 = $5; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 16|0); + $21 = $20; + $22 = $21; + HEAP32[$22>>2] = $15; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $18; + $25 = HEAP32[$4>>2]|0; + $26 = ((($25)) + 4|0); + HEAP32[$26>>2] = 0; + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$27>>2]|0; + L1: do { + switch ($28|0) { + case 11: case 4: { + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 24|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($33)) + 4|0); + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)>(0); + $38 = $37&1; + HEAP32[$3>>2] = $38; + $105 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($105|0); + break; } - $20 = HEAP32[$bLink>>2]|0; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$zDel>>2]|0; - $23 = ($22|0)==(0|0); - if ($23) { - $24 = HEAP32[$2>>2]|0; - $25 = (_sqlite3_malloc($24)|0); - HEAP32[$zDel>>2] = $25; - $26 = HEAP32[$zDel>>2]|0; - $27 = ($26|0)==(0|0); - if ($27) { - HEAP32[$rc>>2] = 7; + case 2: { + HEAP32[$6>>2] = 0; + while(1) { + $39 = HEAP32[$6>>2]|0; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 28|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($39|0)<($42|0); + if (!($43)) { + break L1; } - } else { - $28 = HEAP32[$nLink>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$nLink>>2] = $29; - $30 = ($29|0)>(100); - if ($30) { - $31 = (_sqlite3CantopenError(35447)|0); - HEAP32[$rc>>2] = $31; + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 32|0); + $46 = HEAP32[$6>>2]|0; + $47 = (($45) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = $5; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (_fts5ExprCheckPoslists($48,$51,$54)|0); + $56 = ($55|0)==(0); + if ($56) { + break; } + $58 = HEAP32[$6>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$6>>2] = $59; } - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)==(0); - do { - if ($33) { - $34 = HEAP32[(6752)>>2]|0; - $35 = HEAP32[$zIn>>2]|0; - $36 = HEAP32[$zDel>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = (($37) - 1)|0; - $39 = (FUNCTION_TABLE_iiii[$34 & 255]($35,$36,$38)|0); - HEAP32[$nByte>>2] = $39; - $40 = HEAP32[$nByte>>2]|0; - $41 = ($40|0)<(0); - if ($41) { - $42 = (_sqlite3CantopenError(35453)|0); - $43 = HEAP32[$zIn>>2]|0; - $44 = (_unixLogErrorAtLine($42,44304,$43,35453)|0); - HEAP32[$rc>>2] = $44; - break; - } - $45 = HEAP32[$zDel>>2]|0; - $46 = HEAP8[$45>>0]|0; - $47 = $46 << 24 >> 24; - $48 = ($47|0)!=(47); - do { - if ($48) { - $49 = HEAP32[$zIn>>2]|0; - $50 = (_sqlite3Strlen30($49)|0); - HEAP32[$n>>2] = $50; - while(1) { - $51 = HEAP32[$n>>2]|0; - $52 = ($51|0)>(0); - if (!($52)) { - break; - } - $53 = HEAP32[$n>>2]|0; - $54 = (($53) - 1)|0; - $55 = HEAP32[$zIn>>2]|0; - $56 = (($55) + ($54)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57 << 24 >> 24; - $59 = ($58|0)!=(47); - if (!($59)) { - break; - } - $60 = HEAP32[$n>>2]|0; - $61 = (($60) + -1)|0; - HEAP32[$n>>2] = $61; - } - $62 = HEAP32[$nByte>>2]|0; - $63 = HEAP32[$n>>2]|0; - $64 = (($62) + ($63))|0; - $65 = (($64) + 1)|0; - $66 = HEAP32[$2>>2]|0; - $67 = ($65|0)>($66|0); - if ($67) { - $68 = (_sqlite3CantopenError(35459)|0); - HEAP32[$rc>>2] = $68; - break; - } else { - $69 = HEAP32[$n>>2]|0; - $70 = HEAP32[$zDel>>2]|0; - $71 = (($70) + ($69)|0); - $72 = HEAP32[$zDel>>2]|0; - $73 = HEAP32[$nByte>>2]|0; - $74 = (($73) + 1)|0; - _memmove(($71|0),($72|0),($74|0))|0; - $75 = HEAP32[$zDel>>2]|0; - $76 = HEAP32[$zIn>>2]|0; - $77 = HEAP32[$n>>2]|0; - _memcpy(($75|0),($76|0),($77|0))|0; - $78 = HEAP32[$n>>2]|0; - $79 = HEAP32[$nByte>>2]|0; - $80 = (($79) + ($78))|0; - HEAP32[$nByte>>2] = $80; - break; - } - } - } while(0); - $81 = HEAP32[$nByte>>2]|0; - $82 = HEAP32[$zDel>>2]|0; - $83 = (($82) + ($81)|0); - HEAP8[$83>>0] = 0; + $57 = HEAP32[$4>>2]|0; + _fts5ExprClearPoslists($57); + HEAP32[$3>>2] = 0; + $105 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($105|0); + break; + } + case 1: { + HEAP32[$8>>2] = 0; + HEAP32[$7>>2] = 0; + while(1) { + $60 = HEAP32[$7>>2]|0; + $61 = HEAP32[$4>>2]|0; + $62 = ((($61)) + 28|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($60|0)<($63|0); + if (!($64)) { + break; } - } while(0); - $84 = HEAP32[$zDel>>2]|0; - HEAP32[$zIn>>2] = $84; + $65 = HEAP32[$4>>2]|0; + $66 = ((($65)) + 32|0); + $67 = HEAP32[$7>>2]|0; + $68 = (($66) + ($67<<2)|0); + $69 = HEAP32[$68>>2]|0; + $70 = $5; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (($70) + 4)|0; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (_fts5ExprCheckPoslists($69,$72,$75)|0); + $77 = ($76|0)!=(0); + if ($77) { + HEAP32[$8>>2] = 1; + } + $78 = HEAP32[$7>>2]|0; + $79 = (($78) + 1)|0; + HEAP32[$7>>2] = $79; + } + $80 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $80; + $105 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($105|0); + break; } - $85 = HEAP32[$rc>>2]|0; - $86 = ($85|0)==(0); - if ($86) { - $87 = HEAP32[$zIn>>2]|0; - $88 = HEAP32[$3>>2]|0; - $89 = ($87|0)!=($88|0); - if ($89) { - $90 = HEAP32[$zIn>>2]|0; - $91 = HEAP32[$3>>2]|0; - $92 = HEAP32[$2>>2]|0; - $93 = (_mkFullPathname($90,$91,$92)|0); - HEAP32[$rc>>2] = $93; + default: { + $81 = HEAP32[$4>>2]|0; + $82 = ((($81)) + 32|0); + $83 = HEAP32[$82>>2]|0; + $84 = $5; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (($84) + 4)|0; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (_fts5ExprCheckPoslists($83,$86,$89)|0); + $91 = (0)==($90|0); + if (!($91)) { + $92 = HEAP32[$4>>2]|0; + $93 = ((($92)) + 32|0); + $94 = ((($93)) + 4|0); + $95 = HEAP32[$94>>2]|0; + $96 = $5; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (($96) + 4)|0; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = (_fts5ExprCheckPoslists($95,$98,$101)|0); + $103 = (0)!=($102|0); + if (!($103)) { + break L1; + } } + $104 = HEAP32[$4>>2]|0; + _fts5ExprClearPoslists($104); + HEAP32[$3>>2] = 0; + $105 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($105|0); } - $94 = HEAP32[$bLink>>2]|0; - $95 = ($94|0)==(0); - if ($95) { - label = 30; - break; } - $96 = HEAP32[$3>>2]|0; - HEAP32[$zIn>>2] = $96; - $97 = HEAP32[$rc>>2]|0; - $98 = ($97|0)==(0); - if (!($98)) { - label = 30; - break; + } while(0); + HEAP32[$3>>2] = 1; + $105 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($105|0); +} +function _fts5ExprClearPoslists($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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(4); + if (!($5)) { + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(11); + if (!($8)) { + HEAP32[$2>>2] = 0; + while(1) { + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($16|0)<($19|0); + if (!($20)) { + break; + } + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 32|0); + $23 = HEAP32[$2>>2]|0; + $24 = (($22) + ($23<<2)|0); + $25 = HEAP32[$24>>2]|0; + _fts5ExprClearPoslists($25); + $26 = HEAP32[$2>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$2>>2] = $27; + } + STACKTOP = sp;return; } } - if ((label|0) == 30) { - $99 = HEAP32[$zDel>>2]|0; - _sqlite3_free($99); - $100 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($100|0); - } - return (0)|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 4|0); + $15 = ((($14)) + 4|0); + HEAP32[$15>>2] = 0; + STACKTOP = sp;return; } -function _unixRandomness($NotUsed,$nBuf,$zBuf) { - $NotUsed = $NotUsed|0; - $nBuf = $nBuf|0; - $zBuf = $zBuf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $got = 0, $t = 0, label = 0, sp = 0; +function _fts5ExprColsetTest($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 12|0; - $fd = sp + 8|0; - $got = sp + 4|0; - $t = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $nBuf; - HEAP32[$2>>2] = $zBuf; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - _memset(($3|0),0,($4|0))|0; - $5 = (_getpid()|0); - HEAP32[6872>>2] = $5; - $6 = (_robust_open(44446,0,0)|0); - HEAP32[$fd>>2] = $6; - $7 = HEAP32[$fd>>2]|0; - $8 = ($7|0)<(0); - if ($8) { - (_time(($t|0))|0); - $9 = HEAP32[$2>>2]|0; - ;HEAP8[$9>>0]=HEAP8[$t>>0]|0;HEAP8[$9+1>>0]=HEAP8[$t+1>>0]|0;HEAP8[$9+2>>0]=HEAP8[$t+2>>0]|0;HEAP8[$9+3>>0]=HEAP8[$t+3>>0]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 4|0); - ;HEAP8[$11>>0]=HEAP8[6872>>0]|0;HEAP8[$11+1>>0]=HEAP8[6872+1>>0]|0;HEAP8[$11+2>>0]=HEAP8[6872+2>>0]|0;HEAP8[$11+3>>0]=HEAP8[6872+3>>0]|0; - HEAP32[$1>>2] = 8; - $23 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($23|0); - } + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; while(1) { - $12 = HEAP32[(6536)>>2]|0; - $13 = HEAP32[$fd>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = (FUNCTION_TABLE_iiii[$12 & 255]($13,$14,$15)|0); - HEAP32[$got>>2] = $16; - $17 = HEAP32[$got>>2]|0; - $18 = ($17|0)<(0); - if (!($18)) { + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($6|0)<($8|0); + if (!($9)) { + label = 6; break; } - $19 = (___errno_location()|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(4); - if (!($21)) { + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$5>>2]|0; + $13 = (($11) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ($14|0)==($15|0); + if ($16) { + label = 4; break; } + $17 = HEAP32[$5>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$5>>2] = $18; } - $22 = HEAP32[$fd>>2]|0; - _robust_close(0,$22,35583); - $23 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($23|0); -} -function _unixSleep($NotUsed,$microseconds) { - $NotUsed = $NotUsed|0; - $microseconds = $microseconds|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $seconds = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $seconds = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $microseconds; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 999999)|0; - $4 = (($3|0) / 1000000)&-1; - HEAP32[$seconds>>2] = $4; - $5 = HEAP32[$seconds>>2]|0; - (_sleep($5)|0); - $6 = HEAP32[$seconds>>2]|0; - $7 = ($6*1000000)|0; - STACKTOP = sp;return ($7|0); -} -function _unixCurrentTime($NotUsed,$prNow) { - $NotUsed = $NotUsed|0; - $prNow = $prNow|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $rc = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $i = sp; - $rc = sp + 8|0; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $prNow; - $2 = $i; - $3 = $2; - HEAP32[$3>>2] = 0; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - $6 = (_unixCurrentTimeInt64(0,$i)|0); - HEAP32[$rc>>2] = $6; - $7 = $i; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (+($9>>>0)) + (4294967296.0*(+($12|0))); - $14 = $13 / 8.64E+7; - $15 = HEAP32[$1>>2]|0; - HEAPF64[$15>>3] = $14; - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); -} -function _unixGetLastError($NotUsed,$NotUsed2,$NotUsed3) { - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - $NotUsed3 = $NotUsed3|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $NotUsed2; - HEAP32[$2>>2] = $NotUsed3; - $3 = (___errno_location()|0); - $4 = HEAP32[$3>>2]|0; - STACKTOP = sp;return ($4|0); -} -function _unixCurrentTimeInt64($NotUsed,$piNow) { - $NotUsed = $NotUsed|0; - $piNow = $piNow|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $rc = 0, $sNow = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $rc = sp + 8|0; - $sNow = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $piNow; - HEAP32[$rc>>2] = 0; - (_gettimeofday(($sNow|0),(0|0))|0); - $2 = HEAP32[$sNow>>2]|0; - $3 = ($2|0)<(0); - $4 = $3 << 31 >> 31; - $5 = (___muldi3(1000,0,($2|0),($4|0))|0); - $6 = tempRet0; - $7 = (_i64Add(1045635584,49096,($5|0),($6|0))|0); - $8 = tempRet0; - $9 = ((($sNow)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10|0) / 1000)&-1; - $12 = ($11|0)<(0); - $13 = $12 << 31 >> 31; - $14 = (_i64Add(($7|0),($8|0),($11|0),($13|0))|0); - $15 = tempRet0; - $16 = HEAP32[$1>>2]|0; - $17 = $16; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $15; - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); + if ((label|0) == 4) { + HEAP32[$2>>2] = 1; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); + } + else if ((label|0) == 6) { + HEAP32[$2>>2] = 0; + $19 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($19|0); + } + return (0)|0; } -function _unixSetSystemCall($pNotUsed,$zName,$pNewFunc) { - $pNotUsed = $pNotUsed|0; - $zName = $zName|0; - $pNewFunc = $pNewFunc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $rc = 0, label = 0, sp = 0; +function _fts5ExprPopulatePoslistsCb($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $i = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pNotUsed; - HEAP32[$1>>2] = $zName; - HEAP32[$2>>2] = $pNewFunc; - HEAP32[$rc>>2] = 12; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$rc>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = ($5>>>0)<(28); - if (!($6)) { - break; - } - $7 = HEAP32[$i>>2]|0; - $8 = (6436 + (($7*12)|0)|0); - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$i>>2]|0; - $13 = (6436 + (($12*12)|0)|0); - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$i>>2]|0; - $17 = (6436 + (($16*12)|0)|0); - $18 = ((($17)) + 4|0); - HEAP32[$18>>2] = $15; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + $19 = HEAP32[$7>>2]|0; + HEAP32[$13>>2] = $19; + $20 = HEAP32[$13>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$14>>2] = $21; + $22 = HEAP32[$10>>2]|0; + $23 = ($22|0)>(32768); + if ($23) { + HEAP32[$10>>2] = 32768; + } + $24 = HEAP32[$8>>2]|0; + $25 = $24 & 1; + $26 = ($25|0)==(0); + if ($26) { + $27 = HEAP32[$13>>2]|0; + $28 = ((($27)) + 8|0); + $29 = $28; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (_i64Add(($31|0),($34|0),1,0)|0); + $36 = tempRet0; + $37 = $28; + $38 = $37; + HEAP32[$38>>2] = $35; + $39 = (($37) + 4)|0; + $40 = $39; + HEAP32[$40>>2] = $36; + } + HEAP32[$15>>2] = 0; + L7: while(1) { + $41 = HEAP32[$15>>2]|0; + $42 = HEAP32[$14>>2]|0; + $43 = ((($42)) + 16|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($41|0)<($44|0); + if (!($45)) { + label = 18; + break; + } + $46 = HEAP32[$13>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$15>>2]|0; + $50 = (($48) + ($49<<4)|0); + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)==(0); + L10: do { + if (!($53)) { + $54 = HEAP32[$14>>2]|0; + $55 = ((($54)) + 20|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$15>>2]|0; + $58 = (($56) + ($57<<2)|0); + $59 = HEAP32[$58>>2]|0; + $60 = ((($59)) + 20|0); + HEAP32[$16>>2] = $60; + while(1) { + $61 = HEAP32[$16>>2]|0; + $62 = ($61|0)!=(0|0); + if (!($62)) { + break L10; + } + $63 = HEAP32[$16>>2]|0; + $64 = ((($63)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = (_strlen($65)|0); + HEAP32[$17>>2] = $66; + $67 = HEAP32[$17>>2]|0; + $68 = HEAP32[$10>>2]|0; + $69 = ($67|0)==($68|0); + if ($69) { + label = 13; + } else { + $70 = HEAP32[$17>>2]|0; + $71 = HEAP32[$10>>2]|0; + $72 = ($70|0)<($71|0); + if ($72) { + $73 = HEAP32[$16>>2]|0; + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)!=(0); + if ($75) { + label = 13; + } + } + } + if ((label|0) == 13) { + label = 0; + $76 = HEAP32[$16>>2]|0; + $77 = ((($76)) + 4|0); + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$9>>2]|0; + $80 = HEAP32[$17>>2]|0; + $81 = (_memcmp($78,$79,$80)|0); + $82 = ($81|0)==(0); + if ($82) { + break; + } + } + $107 = HEAP32[$16>>2]|0; + $108 = ((($107)) + 12|0); + $109 = HEAP32[$108>>2]|0; + HEAP32[$16>>2] = $109; + } + $83 = HEAP32[$14>>2]|0; + $84 = ((($83)) + 20|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$15>>2]|0; + $87 = (($85) + ($86<<2)|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($88)) + 4|0); + $90 = HEAP32[$13>>2]|0; + $91 = ((($90)) + 4|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$15>>2]|0; + $94 = (($92) + ($93<<4)|0); + $95 = HEAP32[$13>>2]|0; + $96 = ((($95)) + 8|0); + $97 = $96; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (_sqlite3Fts5PoslistWriterAppend($89,$94,$99,$102)|0); + HEAP32[$18>>2] = $103; + $104 = HEAP32[$18>>2]|0; + $105 = ($104|0)!=(0); + if ($105) { + label = 15; + break L7; + } } - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; - } - $52 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($52|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = ($21>>>0)<(28); - if (!($22)) { - label = 16; - break; - } - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$i>>2]|0; - $25 = (6436 + (($24*12)|0)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_strcmp($23,$26)|0); - $28 = ($27|0)==(0); - $29 = HEAP32[$i>>2]|0; - if ($28) { - break; - } - $51 = (($29) + 1)|0; - HEAP32[$i>>2] = $51; - } - if ((label|0) == 16) { - $52 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($52|0); + } while(0); + $110 = HEAP32[$15>>2]|0; + $111 = (($110) + 1)|0; + HEAP32[$15>>2] = $111; } - $30 = (6436 + (($29*12)|0)|0); - $31 = ((($30)) + 8|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==(0|0); - if ($33) { - $34 = HEAP32[$i>>2]|0; - $35 = (6436 + (($34*12)|0)|0); - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$i>>2]|0; - $39 = (6436 + (($38*12)|0)|0); - $40 = ((($39)) + 8|0); - HEAP32[$40>>2] = $37; + if ((label|0) == 15) { + $106 = HEAP32[$18>>2]|0; + HEAP32[$6>>2] = $106; + $112 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($112|0); } - HEAP32[$rc>>2] = 0; - $41 = HEAP32[$2>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { - $43 = HEAP32[$i>>2]|0; - $44 = (6436 + (($43*12)|0)|0); - $45 = ((($44)) + 8|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$2>>2] = $46; + else if ((label|0) == 18) { + HEAP32[$6>>2] = 0; + $112 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($112|0); } - $47 = HEAP32[$2>>2]|0; - $48 = HEAP32[$i>>2]|0; - $49 = (6436 + (($48*12)|0)|0); - $50 = ((($49)) + 4|0); - HEAP32[$50>>2] = $47; - $52 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($52|0); + return (0)|0; } -function _unixGetSystemCall($pNotUsed,$zName) { - $pNotUsed = $pNotUsed|0; - $zName = $zName|0; - var $0 = 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, $i = 0, label = 0, sp = 0; +function _sqlite3Fts5ExprClonePhrase($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 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; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $fts5ExprNodeNext_STRING$sink = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $pNotUsed; - HEAP32[$2>>2] = $zName; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = ($3>>>0)<(28); - if (!($4)) { - label = 6; - break; - } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$i>>2]|0; - $7 = (6436 + (($6*12)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_strcmp($5,$8)|0); - $10 = ($9|0)==(0); - $11 = HEAP32[$i>>2]|0; - if ($10) { - label = 4; - break; - } - $15 = (($11) + 1)|0; - HEAP32[$i>>2] = $15; + STACKTOP = STACKTOP + 64|0; + $3 = sp + 60|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 32|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP32[$8>>2] = 0; + ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = (($19) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$7>>2] = $22; + $23 = (_sqlite3Fts5MallocZero($6,24)|0); + HEAP32[$8>>2] = $23; + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = (_sqlite3Fts5MallocZero($6,4)|0); + $27 = HEAP32[$8>>2]|0; + $28 = ((($27)) + 20|0); + HEAP32[$28>>2] = $26; } - if ((label|0) == 4) { - $12 = (6436 + (($11*12)|0)|0); - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$0>>2] = $14; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); + $29 = HEAP32[$6>>2]|0; + $30 = ($29|0)==(0); + if ($30) { + $31 = (_sqlite3Fts5MallocZero($6,40)|0); + $32 = HEAP32[$8>>2]|0; + $33 = ((($32)) + 8|0); + HEAP32[$33>>2] = $31; } - else if ((label|0) == 6) { - HEAP32[$0>>2] = 0; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); + $34 = HEAP32[$6>>2]|0; + $35 = ($34|0)==(0); + if ($35) { + $36 = (_sqlite3Fts5MallocZero($6,20)|0); + $37 = HEAP32[$8>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = ((($39)) + 24|0); + HEAP32[$40>>2] = $36; } - return (0)|0; -} -function _unixNextSystemCall($p,$zName) { - $p = $p|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $zName; - HEAP32[$i>>2] = -1; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - L1: do { - if ($4) { - HEAP32[$i>>2] = 0; + $41 = HEAP32[$6>>2]|0; + $42 = ($41|0)==(0); + if ($42) { + $43 = HEAP32[$7>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = ((($44)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$10>>2] = $48; + $49 = HEAP32[$10>>2]|0; + $50 = ($49|0)!=(0|0); + if ($50) { + $51 = HEAP32[$10>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = (($52) - 1)|0; + $54 = $53<<2; + $55 = (8 + ($54))|0; + HEAP32[$11>>2] = $55; + $56 = HEAP32[$11>>2]|0; + $57 = (_sqlite3Fts5MallocZero($6,$56)|0); + HEAP32[$12>>2] = $57; + $58 = HEAP32[$12>>2]|0; + $59 = ($58|0)!=(0|0); + if ($59) { + $60 = HEAP32[$12>>2]|0; + $61 = HEAP32[$10>>2]|0; + $62 = HEAP32[$11>>2]|0; + _memcpy(($60|0),($61|0),($62|0))|0; + } + $63 = HEAP32[$12>>2]|0; + $64 = HEAP32[$8>>2]|0; + $65 = ((($64)) + 8|0); + $66 = HEAP32[$65>>2]|0; + $67 = ((($66)) + 24|0); + $68 = HEAP32[$67>>2]|0; + $69 = ((($68)) + 4|0); + HEAP32[$69>>2] = $63; + } + } + $70 = HEAP32[$7>>2]|0; + $71 = ((($70)) + 16|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($72|0)!=(0); + L17: do { + if ($73) { + HEAP32[$13>>2] = 0; while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = ($5|0)<(27); - if (!($6)) { - break L1; + $74 = HEAP32[$6>>2]|0; + $75 = ($74|0)==(0); + if (!($75)) { + break L17; + } + $76 = HEAP32[$13>>2]|0; + $77 = HEAP32[$7>>2]|0; + $78 = ((($77)) + 16|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($76|0)<($79|0); + if (!($80)) { + break L17; } - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$i>>2]|0; - $9 = (6436 + (($8*12)|0)|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_strcmp($7,$10)|0); - $12 = ($11|0)==(0); - if ($12) { - break L1; + HEAP32[$14>>2] = 0; + $81 = HEAP32[$7>>2]|0; + $82 = ((($81)) + 20|0); + $83 = HEAP32[$13>>2]|0; + $84 = (($82) + ($83<<4)|0); + HEAP32[$15>>2] = $84; + while(1) { + $85 = HEAP32[$15>>2]|0; + $86 = ($85|0)!=(0|0); + $87 = HEAP32[$6>>2]|0; + $88 = ($87|0)==(0); + $89 = $86 ? $88 : 0; + if (!($89)) { + break; + } + $90 = HEAP32[$15>>2]|0; + $91 = ((($90)) + 4|0); + $92 = HEAP32[$91>>2]|0; + HEAP32[$16>>2] = $92; + $93 = HEAP32[$14>>2]|0; + $94 = HEAP32[$16>>2]|0; + $95 = HEAP32[$16>>2]|0; + $96 = (_strlen($95)|0); + $97 = (_fts5ParseTokenize($9,$93,$94,$96,0,0)|0); + HEAP32[$6>>2] = $97; + HEAP32[$14>>2] = 1; + $98 = HEAP32[$15>>2]|0; + $99 = ((($98)) + 12|0); + $100 = HEAP32[$99>>2]|0; + HEAP32[$15>>2] = $100; + } + $101 = HEAP32[$6>>2]|0; + $102 = ($101|0)==(0); + if ($102) { + $103 = HEAP32[$7>>2]|0; + $104 = ((($103)) + 20|0); + $105 = HEAP32[$13>>2]|0; + $106 = (($104) + ($105<<4)|0); + $107 = HEAP32[$106>>2]|0; + $108 = HEAP32[$9>>2]|0; + $109 = ((($108)) + 20|0); + $110 = HEAP32[$13>>2]|0; + $111 = (($109) + ($110<<4)|0); + HEAP32[$111>>2] = $107; } - $13 = HEAP32[$i>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[$i>>2] = $14; + $112 = HEAP32[$13>>2]|0; + $113 = (($112) + 1)|0; + HEAP32[$13>>2] = $113; } + } else { + $114 = (_sqlite3Fts5MallocZero($6,36)|0); + HEAP32[$9>>2] = $114; } } while(0); - $15 = HEAP32[$i>>2]|0; - $16 = (($15) + 1)|0; - HEAP32[$i>>2] = $16; - while(1) { - $17 = HEAP32[$i>>2]|0; - $18 = ($17|0)<(28); - if (!($18)) { - label = 11; - break; - } - $19 = HEAP32[$i>>2]|0; - $20 = (6436 + (($19*12)|0)|0); - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)!=(0|0); - $24 = HEAP32[$i>>2]|0; - if ($23) { - label = 9; - break; - } - $27 = (($24) + 1)|0; - HEAP32[$i>>2] = $27; + $115 = HEAP32[$6>>2]|0; + $116 = ($115|0)==(0); + if (!($116)) { + $168 = HEAP32[$8>>2]|0; + _sqlite3Fts5ExprFree($168); + $169 = HEAP32[$9>>2]|0; + _fts5ExprPhraseFree($169); + HEAP32[$8>>2] = 0; + $170 = HEAP32[$8>>2]|0; + $171 = HEAP32[$5>>2]|0; + HEAP32[$171>>2] = $170; + $172 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($172|0); } - if ((label|0) == 9) { - $25 = (6436 + (($24*12)|0)|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$0>>2] = $26; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $117 = HEAP32[$3>>2]|0; + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$8>>2]|0; + HEAP32[$119>>2] = $118; + $120 = HEAP32[$3>>2]|0; + $121 = ((($120)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$8>>2]|0; + $124 = ((($123)) + 4|0); + HEAP32[$124>>2] = $122; + $125 = HEAP32[$8>>2]|0; + $126 = ((($125)) + 16|0); + HEAP32[$126>>2] = 1; + $127 = HEAP32[$9>>2]|0; + $128 = HEAP32[$8>>2]|0; + $129 = ((($128)) + 20|0); + $130 = HEAP32[$129>>2]|0; + HEAP32[$130>>2] = $127; + $131 = HEAP32[$9>>2]|0; + $132 = HEAP32[$8>>2]|0; + $133 = ((($132)) + 8|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 24|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($136)) + 12|0); + HEAP32[$137>>2] = $131; + $138 = HEAP32[$8>>2]|0; + $139 = ((($138)) + 8|0); + $140 = HEAP32[$139>>2]|0; + $141 = ((($140)) + 24|0); + $142 = HEAP32[$141>>2]|0; + $143 = ((($142)) + 8|0); + HEAP32[$143>>2] = 1; + $144 = HEAP32[$8>>2]|0; + $145 = ((($144)) + 8|0); + $146 = HEAP32[$145>>2]|0; + $147 = HEAP32[$9>>2]|0; + HEAP32[$147>>2] = $146; + $148 = HEAP32[$7>>2]|0; + $149 = ((($148)) + 16|0); + $150 = HEAP32[$149>>2]|0; + $151 = ($150|0)==(1); + if ($151) { + $152 = HEAP32[$7>>2]|0; + $153 = ((($152)) + 20|0); + $154 = ((($153)) + 12|0); + $155 = HEAP32[$154>>2]|0; + $156 = ($155|0)==(0|0); + if ($156) { + $157 = HEAP32[$8>>2]|0; + $158 = ((($157)) + 8|0); + $159 = HEAP32[$158>>2]|0; + HEAP32[$159>>2] = 4; + $160 = HEAP32[$8>>2]|0; + $$sink2 = $160;$fts5ExprNodeNext_STRING$sink = 151; + } else { + label = 27; + } + } else { + label = 27; } - else if ((label|0) == 11) { - HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + if ((label|0) == 27) { + $161 = HEAP32[$8>>2]|0; + $162 = ((($161)) + 8|0); + $163 = HEAP32[$162>>2]|0; + HEAP32[$163>>2] = 11; + $164 = HEAP32[$8>>2]|0; + $$sink2 = $164;$fts5ExprNodeNext_STRING$sink = 152; } - return (0)|0; -} -function _dotlockIoFinderImpl($z,$p) { - $z = $z|0; - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $p; - STACKTOP = sp;return (6360|0); -} -function _dotlockClose($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $pFile = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pFile = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pFile>>2] = $1; - $2 = HEAP32[$0>>2]|0; - (_dotlockUnlock($2,0)|0); - $3 = HEAP32[$pFile>>2]|0; - $4 = ((($3)) + 24|0); - $5 = HEAP32[$4>>2]|0; - _sqlite3_free($5); - $6 = HEAP32[$0>>2]|0; - $7 = (_closeUnixFile($6)|0); - STACKTOP = sp;return ($7|0); + $165 = ((($$sink2)) + 8|0); + $166 = HEAP32[$165>>2]|0; + $167 = ((($166)) + 12|0); + HEAP32[$167>>2] = $fts5ExprNodeNext_STRING$sink; + $170 = HEAP32[$8>>2]|0; + $171 = HEAP32[$5>>2]|0; + HEAP32[$171>>2] = $170; + $172 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($172|0); } -function _unixRead($id,$pBuf,$amt,$0,$1) { - $id = $id|0; - $pBuf = $pBuf|0; - $amt = $amt|0; +function _fts5CursorFirst($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $got = 0, $pFile = 0, label = 0, sp = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; - $6 = sp; - $pFile = sp + 12|0; - $got = sp + 8|0; - HEAP32[$3>>2] = $id; - HEAP32[$4>>2] = $pBuf; - HEAP32[$5>>2] = $amt; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = HEAP32[$3>>2]|0; - HEAP32[$pFile>>2] = $11; - $12 = HEAP32[$pFile>>2]|0; - $13 = $6; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$4>>2]|0; + $9 = ((($8)) + 52|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$7>>2] = $10; + $11 = HEAP32[$7>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 32|0); $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = HEAP32[$5>>2]|0; - $21 = (_seekAndRead($12,$15,$18,$19,$20)|0); - HEAP32[$got>>2] = $21; - $22 = HEAP32[$got>>2]|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (($17) + 4)|0; + $21 = $20; + $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$5>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - HEAP32[$2>>2] = 0; - $34 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($34|0); - } - $25 = HEAP32[$got>>2]|0; - $26 = ($25|0)<(0); - if ($26) { - HEAP32[$2>>2] = 266; - $34 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($34|0); - } else { - $27 = HEAP32[$pFile>>2]|0; - _storeLastErrno($27,0); - $28 = HEAP32[$got>>2]|0; - $29 = HEAP32[$4>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP32[$5>>2]|0; - $32 = HEAP32[$got>>2]|0; - $33 = (($31) - ($32))|0; - _memset(($30|0),0,($33|0))|0; - HEAP32[$2>>2] = 522; - $34 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($34|0); + $24 = (_sqlite3Fts5ExprFirst($11,$14,$19,$22,$23)|0); + HEAP32[$6>>2] = $24; + $25 = HEAP32[$7>>2]|0; + $26 = (_sqlite3Fts5ExprEof($25)|0); + $27 = ($26|0)!=(0); + if (!($27)) { + $32 = HEAP32[$4>>2]|0; + _fts5CsrNewrow($32); + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); } - return (0)|0; + $28 = HEAP32[$4>>2]|0; + $29 = ((($28)) + 60|0); + $30 = HEAP32[$29>>2]|0; + $31 = $30 | 1; + HEAP32[$29>>2] = $31; + $32 = HEAP32[$4>>2]|0; + _fts5CsrNewrow($32); + $33 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($33|0); } -function _unixWrite($id,$pBuf,$amt,$0,$1) { - $id = $id|0; - $pBuf = $pBuf|0; - $amt = $amt|0; +function _sqlite3Fts5ExprFirst($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, $wrote = 0, label = 0; - var sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; - $6 = sp; - $pFile = sp + 12|0; - $wrote = sp + 8|0; - HEAP32[$3>>2] = $id; - HEAP32[$4>>2] = $pBuf; - HEAP32[$5>>2] = $amt; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = HEAP32[$3>>2]|0; - HEAP32[$pFile>>2] = $11; - HEAP32[$wrote>>2] = 0; - while(1) { - $12 = HEAP32[$pFile>>2]|0; - $13 = $6; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = HEAP32[$5>>2]|0; - $21 = (_seekAndWrite($12,$15,$18,$19,$20)|0); - HEAP32[$wrote>>2] = $21; - $22 = HEAP32[$5>>2]|0; - $23 = ($21|0)<($22|0); - $24 = HEAP32[$wrote>>2]|0; - $25 = ($24|0)>(0); - $26 = $23 ? $25 : 0; - if (!($26)) { - break; - } - $27 = HEAP32[$wrote>>2]|0; - $28 = HEAP32[$5>>2]|0; - $29 = (($28) - ($27))|0; - HEAP32[$5>>2] = $29; - $30 = HEAP32[$wrote>>2]|0; - $31 = ($30|0)<(0); - $32 = $31 << 31 >> 31; - $33 = $6; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + $11 = $7; + $12 = $11; + HEAP32[$12>>2] = $2; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $3; + HEAP32[$8>>2] = $4; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$9>>2] = $17; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$5>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$8>>2]|0; + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 12|0); + HEAP32[$22>>2] = $20; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$9>>2]|0; + $25 = (_fts5ExprNodeFirst($23,$24)|0); + HEAP32[$10>>2] = $25; + $26 = HEAP32[$9>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$9>>2]|0; + $32 = ((($31)) + 16|0); + $33 = $32; $34 = $33; $35 = HEAP32[$34>>2]|0; $36 = (($33) + 4)|0; $37 = $36; $38 = HEAP32[$37>>2]|0; - $39 = (_i64Add(($35|0),($38|0),($30|0),($32|0))|0); - $40 = tempRet0; - $41 = $6; - $42 = $41; - HEAP32[$42>>2] = $39; - $43 = (($41) + 4)|0; - $44 = $43; - HEAP32[$44>>2] = $40; - $45 = HEAP32[$wrote>>2]|0; - $46 = HEAP32[$4>>2]|0; - $47 = (($46) + ($45)|0); - HEAP32[$4>>2] = $47; - } - $48 = HEAP32[$5>>2]|0; - $49 = HEAP32[$wrote>>2]|0; - $50 = ($48|0)>($49|0); - if (!($50)) { - HEAP32[$2>>2] = 0; - $58 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($58|0); - } - $51 = HEAP32[$wrote>>2]|0; - $52 = ($51|0)<(0); - if ($52) { - $53 = HEAP32[$pFile>>2]|0; - $54 = ((($53)) + 20|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)!=(28); - if ($56) { - HEAP32[$2>>2] = 778; - $58 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($58|0); + $39 = $7; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (_fts5RowidCmp($30,$35,$38,$41,$44)|0); + $46 = ($45|0)<(0); + if ($46) { + $47 = HEAP32[$9>>2]|0; + $48 = ((($47)) + 12|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$9>>2]|0; + $52 = $7; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (FUNCTION_TABLE_iiiiii[$49 & 255]($50,$51,1,$54,$57)|0); + HEAP32[$10>>2] = $58; } } - $57 = HEAP32[$pFile>>2]|0; - _storeLastErrno($57,0); - HEAP32[$2>>2] = 13; - $58 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($58|0); -} -function _unixTruncate($id,$0,$1) { - $id = $id|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp; - $pFile = sp + 12|0; - $rc = sp + 8|0; - HEAP32[$3>>2] = $id; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - HEAP32[$pFile>>2] = $9; - $10 = HEAP32[$pFile>>2]|0; - $11 = ((($10)) + 40|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - if ($13) { - $14 = $4; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$pFile>>2]|0; - $21 = ((($20)) + 40|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)<(0); - $24 = $23 << 31 >> 31; - $25 = (_i64Add(($16|0),($19|0),($22|0),($24|0))|0); - $26 = tempRet0; - $27 = (_i64Subtract(($25|0),($26|0),1,0)|0); - $28 = tempRet0; - $29 = HEAP32[$pFile>>2]|0; - $30 = ((($29)) + 40|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<(0); - $33 = $32 << 31 >> 31; - $34 = (___divdi3(($27|0),($28|0),($31|0),($33|0))|0); - $35 = tempRet0; - $36 = HEAP32[$pFile>>2]|0; - $37 = ((($36)) + 40|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)<(0); - $40 = $39 << 31 >> 31; - $41 = (___muldi3(($34|0),($35|0),($38|0),($40|0))|0); - $42 = tempRet0; - $43 = $4; - $44 = $43; - HEAP32[$44>>2] = $41; - $45 = (($43) + 4)|0; - $46 = $45; - HEAP32[$46>>2] = $42; - } - $47 = HEAP32[$pFile>>2]|0; - $48 = ((($47)) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = $4; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (_robust_ftruncate($49,$52,$55)|0); - HEAP32[$rc>>2] = $56; - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)!=(0); - if ($58) { - $59 = HEAP32[$pFile>>2]|0; - $60 = (___errno_location()|0); + while(1) { + $59 = HEAP32[$9>>2]|0; + $60 = ((($59)) + 8|0); $61 = HEAP32[$60>>2]|0; - _storeLastErrno($59,$61); - $62 = HEAP32[$pFile>>2]|0; - $63 = ((($62)) + 32|0); - $64 = HEAP32[$63>>2]|0; - $65 = (_unixLogErrorAtLine(1546,44151,$64,32998)|0); - HEAP32[$2>>2] = $65; - $66 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($66|0); - } else { - HEAP32[$2>>2] = 0; - $66 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($66|0); - } - return (0)|0; -} -function _unixSync($id,$flags) { - $id = $id|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dirfd = 0, $isDataOnly = 0, $isFullsync = 0, $pFile = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $rc = sp + 16|0; - $pFile = sp + 12|0; - $isDataOnly = sp + 8|0; - $isFullsync = sp + 4|0; - $dirfd = sp; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $flags; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pFile>>2] = $3; - $4 = HEAP32[$2>>2]|0; - $5 = $4 & 16; - HEAP32[$isDataOnly>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = $6 & 15; - $8 = ($7|0)==(3); - $9 = $8&1; - HEAP32[$isFullsync>>2] = $9; - $10 = HEAP32[$pFile>>2]|0; - $11 = ((($10)) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$isFullsync>>2]|0; - $14 = HEAP32[$isDataOnly>>2]|0; - $15 = (_full_fsync($12,$13,$14)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)!=(0); - $18 = HEAP32[$pFile>>2]|0; - if ($17) { - $19 = (___errno_location()|0); - $20 = HEAP32[$19>>2]|0; - _storeLastErrno($18,$20); - $21 = HEAP32[$pFile>>2]|0; - $22 = ((($21)) + 32|0); - $23 = HEAP32[$22>>2]|0; - $24 = (_unixLogErrorAtLine(1034,44435,$23,32953)|0); - HEAP32[$0>>2] = $24; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); - } - $25 = ((($18)) + 18|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26&65535; - $28 = $27 & 8; - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[(6644)>>2]|0; - $31 = HEAP32[$pFile>>2]|0; - $32 = ((($31)) + 32|0); - $33 = HEAP32[$32>>2]|0; - $34 = (FUNCTION_TABLE_iii[$30 & 255]($33,$dirfd)|0); - HEAP32[$rc>>2] = $34; - $35 = HEAP32[$rc>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[$dirfd>>2]|0; - (_full_fsync($37,0,0)|0); - $38 = HEAP32[$pFile>>2]|0; - $39 = HEAP32[$dirfd>>2]|0; - _robust_close($38,$39,32967); - } else { - HEAP32[$rc>>2] = 0; - } - $40 = HEAP32[$pFile>>2]|0; - $41 = ((($40)) + 18|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42&65535; - $44 = $43 & -9; - $45 = $44&65535; - HEAP16[$41>>1] = $45; - } - $46 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $46; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); -} -function _unixFileSize($id,$pSize) { - $id = $id|0; - $pSize = $pSize|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0, $rc = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 88|0; - $1 = sp + 84|0; - $2 = sp + 80|0; - $rc = sp + 76|0; - $buf = sp; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $pSize; - $3 = HEAP32[(6500)>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_iii[$3 & 255]($6,$buf)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)!=(0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = (___errno_location()|0); - $12 = HEAP32[$11>>2]|0; - _storeLastErrno($10,$12); - HEAP32[$0>>2] = 1802; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); - } - $13 = ((($buf)) + 36|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(0); - $16 = $15 << 31 >> 31; - $17 = HEAP32[$2>>2]|0; - $18 = $17; - $19 = $18; - HEAP32[$19>>2] = $14; - $20 = (($18) + 4)|0; - $21 = $20; - HEAP32[$21>>2] = $16; - $22 = HEAP32[$2>>2]|0; - $23 = $22; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = ($25|0)==(1); - $30 = ($28|0)==(0); - $31 = $29 & $30; - if ($31) { - $32 = HEAP32[$2>>2]|0; - $33 = $32; - $34 = $33; - HEAP32[$34>>2] = 0; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = 0; - } - HEAP32[$0>>2] = 0; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); -} -function _dotlockLock($id,$eFileLock) { - $id = $id|0; - $eFileLock = $eFileLock|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0; - var $rc = 0, $tErrno = 0, $zLockFile = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pFile = sp + 12|0; - $zLockFile = sp + 8|0; - $rc = sp + 4|0; - $tErrno = sp; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $eFileLock; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pFile>>2] = $3; - $4 = HEAP32[$pFile>>2]|0; - $5 = ((($4)) + 24|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$zLockFile>>2] = $6; - HEAP32[$rc>>2] = 0; - $7 = HEAP32[$pFile>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)>(0); - if ($11) { - $12 = HEAP32[$2>>2]|0; - $13 = $12&255; - $14 = HEAP32[$pFile>>2]|0; - $15 = ((($14)) + 16|0); - HEAP8[$15>>0] = $13; - $16 = HEAP32[$zLockFile>>2]|0; - (_utimes(($16|0),(0|0))|0); - HEAP32[$0>>2] = 0; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); - } - $17 = HEAP32[(6656)>>2]|0; - $18 = HEAP32[$zLockFile>>2]|0; - $19 = (FUNCTION_TABLE_iii[$17 & 255]($18,511)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)<(0); - if (!($21)) { - $33 = HEAP32[$2>>2]|0; - $34 = $33&255; - $35 = HEAP32[$pFile>>2]|0; - $36 = ((($35)) + 16|0); - HEAP8[$36>>0] = $34; - $37 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $37; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); - } - $22 = (___errno_location()|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$tErrno>>2] = $23; - $24 = HEAP32[$tErrno>>2]|0; - $25 = (17)==($24|0); - if ($25) { - HEAP32[$rc>>2] = 5; - } else { - $26 = HEAP32[$tErrno>>2]|0; - $27 = (_sqliteErrorFromPosixError($26,3850)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)!=(5); - if ($29) { - $30 = HEAP32[$pFile>>2]|0; - $31 = HEAP32[$tErrno>>2]|0; - _storeLastErrno($30,$31); + $62 = ($61|0)!=(0); + if (!($62)) { + break; } + $63 = HEAP32[$9>>2]|0; + $64 = ((($63)) + 12|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$5>>2]|0; + $67 = HEAP32[$9>>2]|0; + $68 = (FUNCTION_TABLE_iiiiii[$65 & 255]($66,$67,0,0,0)|0); + HEAP32[$10>>2] = $68; } - $32 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $32; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + $69 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($69|0); } -function _dotlockUnlock($id,$eFileLock) { - $id = $id|0; - $eFileLock = $eFileLock|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, $rc = 0, $tErrno = 0, $zLockFile = 0, label = 0, sp = 0; +function _sqlite3Fts5ExprEof($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pFile = sp + 12|0; - $zLockFile = sp + 8|0; - $rc = sp + 4|0; - $tErrno = sp; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $eFileLock; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pFile>>2] = $3; - $4 = HEAP32[$pFile>>2]|0; - $5 = ((($4)) + 24|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; - HEAP32[$zLockFile>>2] = $6; - $7 = HEAP32[$pFile>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)==($11|0); - if ($12) { - HEAP32[$0>>2] = 0; - $31 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($31|0); - } - $13 = HEAP32[$2>>2]|0; - $14 = ($13|0)==(1); - if ($14) { - $15 = HEAP32[$pFile>>2]|0; - $16 = ((($15)) + 16|0); - HEAP8[$16>>0] = 1; - HEAP32[$0>>2] = 0; - $31 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($31|0); - } - $17 = HEAP32[(6668)>>2]|0; - $18 = HEAP32[$zLockFile>>2]|0; - $19 = (FUNCTION_TABLE_ii[$17 & 255]($18)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)<(0); - if (!($21)) { - $29 = HEAP32[$pFile>>2]|0; - $30 = ((($29)) + 16|0); - HEAP8[$30>>0] = 0; - HEAP32[$0>>2] = 0; - $31 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($31|0); - } - $22 = (___errno_location()|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$tErrno>>2] = $23; - $24 = HEAP32[$tErrno>>2]|0; - $25 = ($24|0)==(2); - if ($25) { - HEAP32[$rc>>2] = 0; - } else { - HEAP32[$rc>>2] = 2058; - $26 = HEAP32[$pFile>>2]|0; - $27 = HEAP32[$tErrno>>2]|0; - _storeLastErrno($26,$27); - } - $28 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $28; - $31 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($31|0); + STACKTOP = sp;return ($6|0); } -function _dotlockCheckReservedLock($id,$pResOut) { - $id = $id|0; - $pResOut = $pResOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, $rc = 0, $reserved = 0, label = 0, sp = 0; +function _fts5CsrNewrow($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $rc = sp + 8|0; - $reserved = sp + 4|0; - $pFile = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $pResOut; - HEAP32[$rc>>2] = 0; - HEAP32[$reserved>>2] = 0; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pFile>>2] = $2; - $3 = HEAP32[(6464)>>2]|0; - $4 = HEAP32[$pFile>>2]|0; - $5 = ((($4)) + 24|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_iii[$3 & 255]($6,0)|0); - $8 = ($7|0)==(0); - $9 = $8&1; - HEAP32[$reserved>>2] = $9; - $10 = HEAP32[$reserved>>2]|0; - $11 = HEAP32[$1>>2]|0; - HEAP32[$11>>2] = $10; - $12 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($12|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 60|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 | 78; + HEAP32[$3>>2] = $5; + STACKTOP = sp;return; } -function _unixFileControl($id,$op,$pArg) { - $id = $id|0; - $op = $op|0; - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0; - var $8 = 0, $9 = 0, $pFile = 0, $rc = 0, $vararg_buffer = 0, $zTFile = 0, label = 0, sp = 0; +function _fts5ExprNodeFirst($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; $2 = sp + 20|0; $3 = sp + 16|0; - $pFile = sp + 12|0; - $rc = sp + 8|0; - $zTFile = sp + 4|0; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $op; - HEAP32[$3>>2] = $pArg; - $4 = HEAP32[$1>>2]|0; - HEAP32[$pFile>>2] = $4; - $5 = HEAP32[$2>>2]|0; - do { - switch ($5|0) { - case 1: { - $6 = HEAP32[$pFile>>2]|0; - $7 = ((($6)) + 16|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = HEAP32[$3>>2]|0; - HEAP32[$10>>2] = $9; - HEAP32[$0>>2] = 0; - break; - } - case 4: { - $11 = HEAP32[$pFile>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$3>>2]|0; - HEAP32[$14>>2] = $13; - HEAP32[$0>>2] = 0; - break; - } - case 6: { + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 4|0); + HEAP32[$9>>2] = 0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 8|0); + HEAP32[$11>>2] = 0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(4); + L1: do { + if ($14) { + label = 3; + } else { $15 = HEAP32[$3>>2]|0; $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$pFile>>2]|0; - $18 = ((($17)) + 40|0); - HEAP32[$18>>2] = $16; - HEAP32[$0>>2] = 0; - break; - } - case 5: { - $19 = HEAP32[$pFile>>2]|0; - $20 = HEAP32[$3>>2]|0; - $21 = $20; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (_fcntlSizeHint($19,$23,$26)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $28; - break; - } - case 10: { - $29 = HEAP32[$pFile>>2]|0; - $30 = HEAP32[$3>>2]|0; - _unixModeBit($29,4,$30); - HEAP32[$0>>2] = 0; - break; - } - case 13: { - $31 = HEAP32[$pFile>>2]|0; - $32 = HEAP32[$3>>2]|0; - _unixModeBit($31,16,$32); - HEAP32[$0>>2] = 0; - break; - } - case 12: { - $33 = HEAP32[$pFile>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = ((($35)) + 16|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$vararg_buffer>>2] = $37; - $38 = (_sqlite3_mprintf(18391,$vararg_buffer)|0); - $39 = HEAP32[$3>>2]|0; - HEAP32[$39>>2] = $38; - HEAP32[$0>>2] = 0; - break; - } - case 16: { - $40 = HEAP32[$pFile>>2]|0; - $41 = ((($40)) + 4|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($42)) + 8|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)<(0); - $46 = $45 << 31 >> 31; - $47 = (_sqlite3_malloc64($44,$46)|0); - HEAP32[$zTFile>>2] = $47; - $48 = HEAP32[$zTFile>>2]|0; - $49 = ($48|0)!=(0|0); - if ($49) { - $50 = HEAP32[$pFile>>2]|0; - $51 = ((($50)) + 4|0); - $52 = HEAP32[$51>>2]|0; - $53 = ((($52)) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$zTFile>>2]|0; - (_unixGetTempname($54,$55)|0); - $56 = HEAP32[$zTFile>>2]|0; - $57 = HEAP32[$3>>2]|0; - HEAP32[$57>>2] = $56; + $17 = ($16|0)==(11); + if ($17) { + label = 3; + } else { + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0|0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 4|0); + HEAP32[$26>>2] = 1; + break; + } + HEAP32[$6>>2] = 0; + HEAP32[$5>>2] = 0; + while(1) { + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 28|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($27|0)<($30|0); + $32 = HEAP32[$4>>2]|0; + $33 = ($32|0)==(0); + $34 = $31 ? $33 : 0; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 32|0); + if (!($34)) { + break; + } + $37 = HEAP32[$5>>2]|0; + $38 = (($36) + ($37<<2)|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$7>>2] = $39; + $40 = HEAP32[$2>>2]|0; + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 32|0); + $43 = HEAP32[$5>>2]|0; + $44 = (($42) + ($43<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_fts5ExprNodeFirst($40,$45)|0); + HEAP32[$4>>2] = $46; + $47 = HEAP32[$7>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$6>>2]|0; + $51 = (($50) + ($49))|0; + HEAP32[$6>>2] = $51; + $52 = HEAP32[$5>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$5>>2] = $53; + } + $54 = HEAP32[$36>>2]|0; + $55 = ((($54)) + 16|0); + $56 = $55; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 16|0); + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = $58; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = $61; + $68 = HEAP32[$3>>2]|0; + $69 = HEAP32[$68>>2]|0; + switch ($69|0) { + case 2: { + $70 = HEAP32[$6>>2]|0; + $71 = ($70|0)>(0); + if (!($71)) { + break L1; + } + $72 = HEAP32[$3>>2]|0; + _fts5ExprSetEof($72); + break L1; + break; + } + case 1: { + $73 = HEAP32[$3>>2]|0; + $74 = ((($73)) + 28|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$6>>2]|0; + $77 = ($75|0)==($76|0); + if (!($77)) { + break L1; + } + $78 = HEAP32[$3>>2]|0; + _fts5ExprSetEof($78); + break L1; + break; + } + default: { + $79 = HEAP32[$3>>2]|0; + $80 = ((($79)) + 32|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($81)) + 4|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$3>>2]|0; + $85 = ((($84)) + 4|0); + HEAP32[$85>>2] = $83; + break L1; + } + } } - HEAP32[$0>>2] = 0; - break; - } - case 20: { - $58 = HEAP32[$pFile>>2]|0; - $59 = (_fileHasMoved($58)|0); - $60 = HEAP32[$3>>2]|0; - HEAP32[$60>>2] = $59; - HEAP32[$0>>2] = 0; - break; - } - default: { - HEAP32[$0>>2] = 12; - } } } while(0); - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); -} -function _unixSectorSize($NotUsed) { - $NotUsed = $NotUsed|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $NotUsed; - STACKTOP = sp;return 4096; -} -function _unixDeviceCharacteristics($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $p = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$p>>2]|0; - $3 = ((($2)) + 18|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 16; - $7 = ($6|0)!=(0); - if (!($7)) { - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); + if ((label|0) == 3) { + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = (_fts5ExprNearInitAll($18,$19)|0); + HEAP32[$4>>2] = $20; } - $8 = HEAP32[$rc>>2]|0; - $9 = $8 | 4096; - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); + $86 = HEAP32[$4>>2]|0; + $87 = ($86|0)==(0); + if (!($87)) { + $91 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($91|0); + } + $88 = HEAP32[$2>>2]|0; + $89 = HEAP32[$3>>2]|0; + $90 = (_fts5ExprNodeTest($88,$89)|0); + HEAP32[$4>>2] = $90; + $91 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($91|0); } -function _unixShmLock($fd,$ofst,$n,$flags) { - $fd = $fd|0; - $ofst = $ofst|0; - $n = $n|0; - $flags = $flags|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $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, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $allMask = 0, $allShared = 0, $mask = 0, $p = 0, $pDbFd = 0, $pShmNode = 0, $pX = 0, $rc = 0, label = 0, sp = 0; +function _fts5ExprNearInitAll($0,$1) { + $0 = $0|0; + $1 = $1|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, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $pDbFd = sp + 16|0; - $p = sp + 12|0; - $pX = sp + 8|0; - $pShmNode = sp + 4|0; - $rc = sp; - $mask = sp + 40|0; - $allMask = sp + 38|0; - $allShared = sp + 36|0; - HEAP32[$0>>2] = $fd; - HEAP32[$1>>2] = $ofst; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $flags; - $4 = HEAP32[$0>>2]|0; - HEAP32[$pDbFd>>2] = $4; - $5 = HEAP32[$pDbFd>>2]|0; - $6 = ((($5)) + 36|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$p>>2] = $7; - $8 = HEAP32[$p>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$pShmNode>>2] = $9; - HEAP32[$rc>>2] = 0; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = (($10) + ($11))|0; - $13 = 1 << $12; - $14 = HEAP32[$1>>2]|0; - $15 = 1 << $14; - $16 = (($13) - ($15))|0; - $17 = $16&65535; - HEAP16[$mask>>1] = $17; - $18 = HEAP32[$3>>2]|0; - $19 = $18 & 1; - $20 = ($19|0)!=(0); - if ($20) { - HEAP16[$allMask>>1] = 0; - $21 = HEAP32[$pShmNode>>2]|0; - $22 = ((($21)) + 32|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$pX>>2] = $23; - while(1) { - $24 = HEAP32[$pX>>2]|0; - $25 = ($24|0)!=(0|0); - if (!($25)) { - break; - } - $26 = HEAP32[$pX>>2]|0; - $27 = HEAP32[$p>>2]|0; - $28 = ($26|0)==($27|0); - if (!($28)) { - $29 = HEAP32[$pX>>2]|0; - $30 = ((($29)) + 10|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31&65535; - $33 = HEAP16[$allMask>>1]|0; - $34 = $33&65535; - $35 = $34 | $32; - $36 = $35&65535; - HEAP16[$allMask>>1] = $36; - } - $37 = HEAP32[$pX>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$pX>>2] = $39; - } - $40 = HEAP16[$mask>>1]|0; - $41 = $40&65535; - $42 = HEAP16[$allMask>>1]|0; - $43 = $42&65535; - $44 = $41 & $43; - $45 = ($44|0)==(0); - if ($45) { - $46 = HEAP32[$pDbFd>>2]|0; - $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 120)|0; - $49 = HEAP32[$2>>2]|0; - $50 = (_unixShmSystemLock($46,2,$48,$49)|0); - HEAP32[$rc>>2] = $50; - } else { - HEAP32[$rc>>2] = 0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$4>>2] = $14; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 1; + HEAP32[$5>>2] = 0; + while(1) { + $15 = HEAP32[$7>>2]|0; + $16 = ($15|0)==(0); + if (!($16)) { + label = 18; + break; } - $51 = HEAP32[$rc>>2]|0; - $52 = ($51|0)==(0); - if (!($52)) { - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($17|0)<($20|0); + if (!($21)) { + label = 18; + break; } - $53 = HEAP16[$mask>>1]|0; - $54 = $53&65535; - $55 = $54 ^ -1; - $56 = HEAP32[$p>>2]|0; - $57 = ((($56)) + 12|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58&65535; - $60 = $59 & $55; - $61 = $60&65535; - HEAP16[$57>>1] = $61; - $62 = HEAP16[$mask>>1]|0; - $63 = $62&65535; - $64 = $63 ^ -1; - $65 = HEAP32[$p>>2]|0; - $66 = ((($65)) + 10|0); - $67 = HEAP16[$66>>1]|0; - $68 = $67&65535; - $69 = $68 & $64; - $70 = $69&65535; - HEAP16[$66>>1] = $70; - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); - } - $71 = HEAP32[$3>>2]|0; - $72 = $71 & 4; - $73 = ($72|0)!=(0); - if (!($73)) { - $121 = HEAP32[$pShmNode>>2]|0; - $122 = ((($121)) + 32|0); - $123 = HEAP32[$122>>2]|0; - HEAP32[$pX>>2] = $123; + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP32[$5>>2]|0; + $25 = (($23) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$9>>2] = $26; + HEAP32[$6>>2] = 0; while(1) { - $124 = HEAP32[$pX>>2]|0; - $125 = ($124|0)!=(0|0); - if (!($125)) { + $27 = HEAP32[$6>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($27|0)<($30|0); + if (!($31)) { break; } - $126 = HEAP32[$pX>>2]|0; - $127 = ((($126)) + 12|0); - $128 = HEAP16[$127>>1]|0; - $129 = $128&65535; - $130 = HEAP16[$mask>>1]|0; - $131 = $130&65535; - $132 = $129 & $131; - $133 = ($132|0)!=(0); - if ($133) { - label = 28; - break; + $32 = HEAP32[$9>>2]|0; + $33 = ((($32)) + 20|0); + $34 = HEAP32[$6>>2]|0; + $35 = (($33) + ($34<<4)|0); + HEAP32[$10>>2] = $35; + $36 = HEAP32[$10>>2]|0; + HEAP32[$11>>2] = $36; + while(1) { + $37 = HEAP32[$11>>2]|0; + $38 = ($37|0)!=(0|0); + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)==(0); + $41 = $38 ? $40 : 0; + if (!($41)) { + break; + } + $42 = HEAP32[$11>>2]|0; + $43 = ((($42)) + 8|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)!=(0|0); + if ($45) { + $46 = HEAP32[$11>>2]|0; + $47 = ((($46)) + 8|0); + $48 = HEAP32[$47>>2]|0; + _sqlite3Fts5IterClose($48); + $49 = HEAP32[$11>>2]|0; + $50 = ((($49)) + 8|0); + HEAP32[$50>>2] = 0; + } + $51 = HEAP32[$2>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$11>>2]|0; + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$11>>2]|0; + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + $59 = (_strlen($58)|0); + $60 = HEAP32[$10>>2]|0; + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)!=(0); + $63 = $62 ? 1 : 0; + $64 = HEAP32[$2>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)!=(0); + $68 = $67 ? 2 : 0; + $69 = $63 | $68; + $70 = HEAP32[$4>>2]|0; + $71 = ((($70)) + 4|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$11>>2]|0; + $74 = ((($73)) + 8|0); + $75 = (_sqlite3Fts5IndexQuery($52,$55,$59,$69,$72,$74)|0); + HEAP32[$7>>2] = $75; + $76 = HEAP32[$11>>2]|0; + $77 = ((($76)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = ($78|0)!=(0|0); + if ($79) { + $80 = HEAP32[$11>>2]|0; + $81 = ((($80)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = ((($82)) + 16|0); + $84 = HEAP8[$83>>0]|0; + $85 = $84&255; + $86 = (0)==($85|0); + if ($86) { + HEAP32[$8>>2] = 0; + } + } + $87 = HEAP32[$11>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$88>>2]|0; + HEAP32[$11>>2] = $89; } - $134 = HEAP32[$pX>>2]|0; - $135 = ((($134)) + 10|0); - $136 = HEAP16[$135>>1]|0; - $137 = $136&65535; - $138 = HEAP16[$mask>>1]|0; - $139 = $138&65535; - $140 = $137 & $139; - $141 = ($140|0)!=(0); - if ($141) { - label = 28; + $90 = HEAP32[$8>>2]|0; + $91 = ($90|0)!=(0); + if ($91) { break; } - $142 = HEAP32[$pX>>2]|0; - $143 = ((($142)) + 4|0); - $144 = HEAP32[$143>>2]|0; - HEAP32[$pX>>2] = $144; - } - if ((label|0) == 28) { - HEAP32[$rc>>2] = 5; - } - $145 = HEAP32[$rc>>2]|0; - $146 = ($145|0)==(0); - if (!($146)) { - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); - } - $147 = HEAP32[$pDbFd>>2]|0; - $148 = HEAP32[$1>>2]|0; - $149 = (($148) + 120)|0; - $150 = HEAP32[$2>>2]|0; - $151 = (_unixShmSystemLock($147,1,$149,$150)|0); - HEAP32[$rc>>2] = $151; - $152 = HEAP32[$rc>>2]|0; - $153 = ($152|0)==(0); - if (!($153)) { - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); - } - $154 = HEAP16[$mask>>1]|0; - $155 = $154&65535; - $156 = HEAP32[$p>>2]|0; - $157 = ((($156)) + 12|0); - $158 = HEAP16[$157>>1]|0; - $159 = $158&65535; - $160 = $159 | $155; - $161 = $160&65535; - HEAP16[$157>>1] = $161; - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); - } - HEAP16[$allShared>>1] = 0; - $74 = HEAP32[$pShmNode>>2]|0; - $75 = ((($74)) + 32|0); - $76 = HEAP32[$75>>2]|0; - HEAP32[$pX>>2] = $76; - while(1) { - $77 = HEAP32[$pX>>2]|0; - $78 = ($77|0)!=(0|0); - if (!($78)) { - break; + $92 = HEAP32[$6>>2]|0; + $93 = (($92) + 1)|0; + HEAP32[$6>>2] = $93; } - $79 = HEAP32[$pX>>2]|0; - $80 = ((($79)) + 12|0); - $81 = HEAP16[$80>>1]|0; - $82 = $81&65535; - $83 = HEAP16[$mask>>1]|0; - $84 = $83&65535; - $85 = $82 & $84; - $86 = ($85|0)!=(0); - if ($86) { - label = 16; + $94 = HEAP32[$8>>2]|0; + $95 = ($94|0)!=(0); + if ($95) { + label = 18; break; } - $87 = HEAP32[$pX>>2]|0; - $88 = ((($87)) + 10|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = HEAP16[$allShared>>1]|0; - $92 = $91&65535; - $93 = $92 | $90; - $94 = $93&65535; - HEAP16[$allShared>>1] = $94; - $95 = HEAP32[$pX>>2]|0; - $96 = ((($95)) + 4|0); - $97 = HEAP32[$96>>2]|0; - HEAP32[$pX>>2] = $97; + $96 = HEAP32[$5>>2]|0; + $97 = (($96) + 1)|0; + HEAP32[$5>>2] = $97; } - if ((label|0) == 16) { - HEAP32[$rc>>2] = 5; + if ((label|0) == 18) { + $98 = HEAP32[$8>>2]|0; + $99 = HEAP32[$3>>2]|0; + $100 = ((($99)) + 4|0); + HEAP32[$100>>2] = $98; + $101 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($101|0); } - $98 = HEAP32[$rc>>2]|0; - $99 = ($98|0)==(0); - do { - if ($99) { - $100 = HEAP16[$allShared>>1]|0; - $101 = $100&65535; - $102 = HEAP16[$mask>>1]|0; - $103 = $102&65535; - $104 = $101 & $103; - $105 = ($104|0)==(0); - if ($105) { - $106 = HEAP32[$pDbFd>>2]|0; - $107 = HEAP32[$1>>2]|0; - $108 = (($107) + 120)|0; - $109 = HEAP32[$2>>2]|0; - $110 = (_unixShmSystemLock($106,0,$108,$109)|0); - HEAP32[$rc>>2] = $110; + return (0)|0; +} +function _fts5ExprNodeTest($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + L1: do { + if ($8) { + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$9>>2]|0; + switch ($10|0) { + case 11: { + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (_fts5ExprNodeTest_STRING($11,$12)|0); + HEAP32[$4>>2] = $13; + break L1; break; - } else { - HEAP32[$rc>>2] = 0; + } + case 4: { + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = (_fts5ExprNodeTest_TERM($14,$15)|0); + HEAP32[$4>>2] = $16; + break L1; + break; + } + case 2: { + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = (_fts5ExprNodeTest_AND($17,$18)|0); + HEAP32[$4>>2] = $19; + break L1; + break; + } + case 1: { + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$3>>2]|0; + _fts5ExprNodeTest_OR($20,$21); + break L1; break; } + default: { + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$3>>2]|0; + $24 = (_fts5ExprNodeTest_NOT($22,$23)|0); + HEAP32[$4>>2] = $24; + break L1; + } + } } } while(0); - $111 = HEAP32[$rc>>2]|0; - $112 = ($111|0)==(0); - if (!($112)) { - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); - } - $113 = HEAP16[$mask>>1]|0; - $114 = $113&65535; - $115 = HEAP32[$p>>2]|0; - $116 = ((($115)) + 10|0); - $117 = HEAP16[$116>>1]|0; - $118 = $117&65535; - $119 = $118 | $114; - $120 = $119&65535; - HEAP16[$116>>1] = $120; - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); + $25 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($25|0); } -function _unixShmBarrier($fd) { - $fd = $fd|0; - var $0 = 0, label = 0, sp = 0; +function _fts5CursorRowid($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $fd; - _unixEnterMutex(); - _unixLeaveMutex(); - STACKTOP = sp;return; + $1 = sp; + $2 = sp + 8|0; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 56|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + $7 = HEAP32[$2>>2]|0; + if ($6) { + $8 = ((($7)) + 56|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 8|0); + $11 = $10; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $1; + $18 = $17; + HEAP32[$18>>2] = $13; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $16; + $29 = $1; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + tempRet0 = ($34); + STACKTOP = sp;return ($31|0); + } else { + $21 = ((($7)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3Fts5ExprRowid($22)|0); + $24 = tempRet0; + $25 = $1; + $26 = $25; + HEAP32[$26>>2] = $23; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $24; + $29 = $1; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + tempRet0 = ($34); + STACKTOP = sp;return ($31|0); + } + return (0)|0; } -function _unixShmUnmap($fd,$deleteFlag) { - $fd = $fd|0; - $deleteFlag = $deleteFlag|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pDbFd = 0, $pShmNode = 0, $pp = 0, label = 0, sp = 0; +function _sqlite3Fts5StorageDocsize($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $p = sp + 12|0; - $pShmNode = sp + 8|0; - $pp = sp + 4|0; - $pDbFd = sp; - HEAP32[$1>>2] = $fd; - HEAP32[$2>>2] = $deleteFlag; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pDbFd>>2] = $3; - $4 = HEAP32[$pDbFd>>2]|0; - $5 = ((($4)) + 36|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - HEAP32[$0>>2] = 0; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); - } - $9 = HEAP32[$p>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$pShmNode>>2] = $10; - $11 = HEAP32[$pShmNode>>2]|0; - $12 = ((($11)) + 32|0); - HEAP32[$pp>>2] = $12; - while(1) { - $13 = HEAP32[$pp>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$p>>2]|0; - $16 = ($14|0)!=($15|0); - if (!($16)) { - break; - } - $17 = HEAP32[$pp>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 4|0); - HEAP32[$pp>>2] = $19; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 36|0; + $5 = sp; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + HEAP32[$4>>2] = $0; + $13 = $5; + $14 = $13; + HEAP32[$14>>2] = $1; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $2; + HEAP32[$6>>2] = $3; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$7>>2] = $20; + HEAP32[$8>>2] = 0; + $21 = HEAP32[$4>>2]|0; + $22 = (_fts5StorageGetStmt($21,8,$8,0)|0); + HEAP32[$9>>2] = $22; + $23 = HEAP32[$9>>2]|0; + $24 = ($23|0)==(0); + if (!($24)) { + $51 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($51|0); } - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$pp>>2]|0; - HEAP32[$23>>2] = $22; - $24 = HEAP32[$p>>2]|0; - _sqlite3_free($24); - $25 = HEAP32[$pDbFd>>2]|0; - $26 = ((($25)) + 36|0); - HEAP32[$26>>2] = 0; - _unixEnterMutex(); - $27 = HEAP32[$pShmNode>>2]|0; - $28 = ((($27)) + 28|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + -1)|0; - HEAP32[$28>>2] = $30; - $31 = HEAP32[$pShmNode>>2]|0; - $32 = ((($31)) + 28|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(0); + HEAP32[$10>>2] = 1; + $25 = HEAP32[$8>>2]|0; + $26 = $5; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + (_sqlite3_bind_int64($25,1,$28,$31)|0); + $32 = HEAP32[$8>>2]|0; + $33 = (_sqlite3_step($32)|0); + $34 = (100)==($33|0); if ($34) { - $35 = HEAP32[$2>>2]|0; - $36 = ($35|0)!=(0); - if ($36) { - $37 = HEAP32[$pShmNode>>2]|0; - $38 = ((($37)) + 12|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)>=(0); - if ($40) { - $41 = HEAP32[(6632)>>2]|0; - $42 = HEAP32[$pShmNode>>2]|0; - $43 = ((($42)) + 8|0); - $44 = HEAP32[$43>>2]|0; - (FUNCTION_TABLE_ii[$41 & 255]($44)|0); - } + $35 = HEAP32[$8>>2]|0; + $36 = (_sqlite3_column_blob($35,0)|0); + HEAP32[$11>>2] = $36; + $37 = HEAP32[$8>>2]|0; + $38 = (_sqlite3_column_bytes($37,0)|0); + HEAP32[$12>>2] = $38; + $39 = HEAP32[$6>>2]|0; + $40 = HEAP32[$7>>2]|0; + $41 = HEAP32[$11>>2]|0; + $42 = HEAP32[$12>>2]|0; + $43 = (_fts5StorageDecodeSizeArray($39,$40,$41,$42)|0); + $44 = (0)==($43|0); + if ($44) { + HEAP32[$10>>2] = 0; } - $45 = HEAP32[$pDbFd>>2]|0; - _unixShmPurge($45); } - _unixLeaveMutex(); - HEAP32[$0>>2] = 0; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); + $45 = HEAP32[$8>>2]|0; + $46 = (_sqlite3_reset($45)|0); + HEAP32[$9>>2] = $46; + $47 = HEAP32[$10>>2]|0; + $48 = ($47|0)!=(0); + $49 = HEAP32[$9>>2]|0; + $50 = ($49|0)==(0); + $or$cond = $48 & $50; + $$ = $or$cond ? 267 : $46; + HEAP32[$9>>2] = $$; + $51 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($51|0); } -function _unixFetch($fd,$0,$1,$nAmt,$pp) { - $fd = $fd|0; +function _fts5ColumnSizeCb($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; - $nAmt = $nAmt|0; - $pp = $pp|0; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp; - $4 = sp + 12|0; - $5 = sp + 8|0; - HEAP32[$2>>2] = $fd; - $6 = $3; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$4>>2] = $nAmt; - HEAP32[$5>>2] = $pp; - $10 = HEAP32[$5>>2]|0; - HEAP32[$10>>2] = 0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + $10 = sp + 8|0; + $11 = sp + 4|0; + $12 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $13 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $13; + $14 = HEAP32[$7>>2]|0; + $15 = $14 & 1; + $16 = ($15|0)==(0); + if (!($16)) { + STACKTOP = sp;return 0; + } + $17 = HEAP32[$12>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$17>>2] = $19; STACKTOP = sp;return 0; } -function _unixUnfetch($fd,$0,$1,$p) { - $fd = $fd|0; +function _fts5StorageGetStmt($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - $p = $p|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp; - $4 = sp + 8|0; - HEAP32[$2>>2] = $fd; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $p; - STACKTOP = sp;return 0; -} -function _unixEnterMutex() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _unixShmPurge($pFd) { - $pFd = $pFd|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $nShmPerMap = 0; - var $p = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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 $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer15 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer3 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr2 = 0, $vararg_ptr23 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, dest = 0, label = 0, sp = 0, src = 0; + var stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $p = sp + 8|0; - $nShmPerMap = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pFd; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 20|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$p>>2] = $5; - $6 = HEAP32[$p>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = HEAP32[$p>>2]|0; - $9 = ((($8)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - if (!($11)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 160|0; + $vararg_buffer24 = sp + 72|0; + $vararg_buffer20 = sp + 64|0; + $vararg_buffer15 = sp + 48|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer3 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 156|0; + $5 = sp + 152|0; + $6 = sp + 148|0; + $7 = sp + 144|0; + $8 = sp + 140|0; + $9 = sp + 96|0; + $10 = sp + 92|0; + $11 = sp + 88|0; + $12 = sp + 84|0; + $13 = sp + 80|0; + $14 = sp + 76|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 28|0); + $17 = HEAP32[$5>>2]|0; + $18 = (($16) + ($17<<2)|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0|0); + if (!($20)) { + $134 = HEAP32[$4>>2]|0; + $135 = ((($134)) + 28|0); + $136 = HEAP32[$5>>2]|0; + $137 = (($135) + ($136<<2)|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$6>>2]|0; + HEAP32[$139>>2] = $138; + $140 = HEAP32[$6>>2]|0; + $141 = HEAP32[$140>>2]|0; + (_sqlite3_reset($141)|0); + $142 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($142|0); } - $12 = (_unixShmRegionPerMap()|0); - HEAP32[$nShmPerMap>>2] = $12; - HEAP32[$i>>2] = 0; - while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 20|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16&65535; - $18 = ($13|0)<($17|0); - $19 = HEAP32[$p>>2]|0; - if (!($18)) { - break; - } - $20 = ((($19)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)>=(0); - if ($22) { - $23 = HEAP32[(6716)>>2]|0; - $24 = HEAP32[$i>>2]|0; - $25 = HEAP32[$p>>2]|0; - $26 = ((($25)) + 24|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + ($24<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 16|0); - $32 = HEAP32[$31>>2]|0; - (FUNCTION_TABLE_iii[$23 & 255]($29,$32)|0); - } else { - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 24|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + ($33<<2)|0); - $38 = HEAP32[$37>>2]|0; - _sqlite3_free($38); - } - $39 = HEAP32[$nShmPerMap>>2]|0; - $40 = HEAP32[$i>>2]|0; - $41 = (($40) + ($39))|0; - HEAP32[$i>>2] = $41; + dest=$9; src=10652; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$10>>2] = $22; + HEAP32[$11>>2] = 0; + $23 = HEAP32[$5>>2]|0; + switch ($23|0) { + case 10: { + $24 = HEAP32[$5>>2]|0; + $25 = (($9) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$10>>2]|0; + $28 = ((($27)) + 52|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$10>>2]|0; + $31 = ((($30)) + 36|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$vararg_buffer>>2] = $29; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $32; + $33 = (_sqlite3_mprintf($26,$vararg_buffer)|0); + HEAP32[$11>>2] = $33; + break; } - $42 = ((($19)) + 24|0); - $43 = HEAP32[$42>>2]|0; - _sqlite3_free($43); - $44 = HEAP32[$p>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)>=(0); - if ($47) { - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$p>>2]|0; - $50 = ((($49)) + 12|0); + case 1: case 0: { + $34 = HEAP32[$5>>2]|0; + $35 = (($9) + ($34<<2)|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$10>>2]|0; + $38 = ((($37)) + 52|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$10>>2]|0; + $41 = ((($40)) + 36|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$10>>2]|0; + $44 = ((($43)) + 40|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$10>>2]|0; + $47 = ((($46)) + 40|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$10>>2]|0; + $50 = ((($49)) + 40|0); $51 = HEAP32[$50>>2]|0; - _robust_close($48,$51,33574); - $52 = HEAP32[$p>>2]|0; - $53 = ((($52)) + 12|0); - HEAP32[$53>>2] = -1; + HEAP32[$vararg_buffer3>>2] = $39; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $42; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $45; + $vararg_ptr8 = ((($vararg_buffer3)) + 12|0); + HEAP32[$vararg_ptr8>>2] = $48; + $vararg_ptr9 = ((($vararg_buffer3)) + 16|0); + HEAP32[$vararg_ptr9>>2] = $51; + $52 = (_sqlite3_mprintf($36,$vararg_buffer3)|0); + HEAP32[$11>>2] = $52; + break; } - $54 = HEAP32[$p>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = ((($55)) + 20|0); - HEAP32[$56>>2] = 0; - $57 = HEAP32[$p>>2]|0; - _sqlite3_free($57); - STACKTOP = sp;return; -} -function _unixLeaveMutex() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _unixShmRegionPerMap() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pgsz = 0, $shmsz = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $shmsz = sp + 4|0; - $pgsz = sp; - HEAP32[$shmsz>>2] = 32768; - $1 = HEAP32[(6740)>>2]|0; - $2 = (FUNCTION_TABLE_i[$1 & 255]()|0); - HEAP32[$pgsz>>2] = $2; - $3 = HEAP32[$pgsz>>2]|0; - $4 = HEAP32[$shmsz>>2]|0; - $5 = ($3|0)<($4|0); - if ($5) { - HEAP32[$0>>2] = 1; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); - } else { - $6 = HEAP32[$pgsz>>2]|0; - $7 = HEAP32[$shmsz>>2]|0; - $8 = (($6|0) / ($7|0))&-1; - HEAP32[$0>>2] = $8; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); + case 2: { + $53 = HEAP32[$5>>2]|0; + $54 = (($9) + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$10>>2]|0; + $57 = ((($56)) + 52|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$10>>2]|0; + $60 = ((($59)) + 36|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$10>>2]|0; + $63 = ((($62)) + 40|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$vararg_buffer10>>2] = $58; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $61; + $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $64; + $65 = (_sqlite3_mprintf($55,$vararg_buffer10)|0); + HEAP32[$11>>2] = $65; + break; } - return (0)|0; -} -function _robust_close($pFile,$h,$lineno) { - $pFile = $pFile|0; - $h = $h|0; - $lineno = $lineno|0; - var $0 = 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, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pFile; - HEAP32[$1>>2] = $h; - HEAP32[$2>>2] = $lineno; - $3 = HEAP32[(6452)>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (FUNCTION_TABLE_ii[$3 & 255]($4)|0); - $6 = ($5|0)!=(0); - if (!($6)) { - STACKTOP = sp;return; + case 4: case 3: { + $66 = HEAP32[$10>>2]|0; + $67 = ((($66)) + 12|0); + $68 = HEAP32[$67>>2]|0; + $69 = (($68) + 1)|0; + HEAP32[$12>>2] = $69; + $70 = HEAP32[$12>>2]|0; + $71 = $70<<1; + $72 = (1 + ($71))|0; + $73 = (_sqlite3_malloc($72)|0); + HEAP32[$13>>2] = $73; + $74 = HEAP32[$13>>2]|0; + $75 = ($74|0)!=(0|0); + if ($75) { + HEAP32[$14>>2] = 0; + while(1) { + $76 = HEAP32[$14>>2]|0; + $77 = HEAP32[$12>>2]|0; + $78 = ($76|0)<($77|0); + $79 = HEAP32[$13>>2]|0; + $80 = HEAP32[$14>>2]|0; + $81 = $80<<1; + if (!($78)) { + break; + } + $82 = (($79) + ($81)|0); + HEAP8[$82>>0] = 63; + $83 = HEAP32[$13>>2]|0; + $84 = HEAP32[$14>>2]|0; + $85 = $84<<1; + $86 = (($85) + 1)|0; + $87 = (($83) + ($86)|0); + HEAP8[$87>>0] = 44; + $88 = HEAP32[$14>>2]|0; + $89 = (($88) + 1)|0; + HEAP32[$14>>2] = $89; + } + $90 = (($81) - 1)|0; + $91 = (($79) + ($90)|0); + HEAP8[$91>>0] = 0; + $92 = HEAP32[$5>>2]|0; + $93 = (($9) + ($92<<2)|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$10>>2]|0; + $96 = ((($95)) + 4|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$10>>2]|0; + $99 = ((($98)) + 8|0); + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$13>>2]|0; + HEAP32[$vararg_buffer15>>2] = $97; + $vararg_ptr18 = ((($vararg_buffer15)) + 4|0); + HEAP32[$vararg_ptr18>>2] = $100; + $vararg_ptr19 = ((($vararg_buffer15)) + 8|0); + HEAP32[$vararg_ptr19>>2] = $101; + $102 = (_sqlite3_mprintf($94,$vararg_buffer15)|0); + HEAP32[$11>>2] = $102; + $103 = HEAP32[$13>>2]|0; + _sqlite3_free($103); + } + break; } - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 32|0); - $11 = HEAP32[$10>>2]|0; - $13 = $11; - } else { - $13 = 0; + default: { + $104 = HEAP32[$5>>2]|0; + $105 = (($9) + ($104<<2)|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$10>>2]|0; + $108 = ((($107)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = HEAP32[$10>>2]|0; + $111 = ((($110)) + 8|0); + $112 = HEAP32[$111>>2]|0; + HEAP32[$vararg_buffer20>>2] = $109; + $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); + HEAP32[$vararg_ptr23>>2] = $112; + $113 = (_sqlite3_mprintf($106,$vararg_buffer20)|0); + HEAP32[$11>>2] = $113; + } + } + $114 = HEAP32[$11>>2]|0; + $115 = ($114|0)==(0|0); + if ($115) { + HEAP32[$8>>2] = 7; + $134 = HEAP32[$4>>2]|0; + $135 = ((($134)) + 28|0); + $136 = HEAP32[$5>>2]|0; + $137 = (($135) + ($136<<2)|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$6>>2]|0; + HEAP32[$139>>2] = $138; + $140 = HEAP32[$6>>2]|0; + $141 = HEAP32[$140>>2]|0; + (_sqlite3_reset($141)|0); + $142 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($142|0); } - $12 = HEAP32[$2>>2]|0; - (_unixLogErrorAtLine(4106,44091,$13,$12)|0); - STACKTOP = sp;return; -} -function _unixLogErrorAtLine($errcode,$zFunc,$zPath,$iLine) { - $errcode = $errcode|0; - $zFunc = $zFunc|0; - $zPath = $zPath|0; - $iLine = $iLine|0; - var $0 = 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, $iErrno = 0, $vararg_buffer = 0, $vararg_ptr1 = 0; - var $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $zErr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $zErr = sp + 24|0; - $iErrno = sp + 20|0; - HEAP32[$0>>2] = $errcode; - HEAP32[$1>>2] = $zFunc; - HEAP32[$2>>2] = $zPath; - HEAP32[$3>>2] = $iLine; - $4 = (___errno_location()|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$iErrno>>2] = $5; - $6 = HEAP32[$iErrno>>2]|0; - $7 = (_strerror($6)|0); - HEAP32[$zErr>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - HEAP32[$2>>2] = 18402; + $116 = HEAP32[$10>>2]|0; + $117 = HEAP32[$116>>2]|0; + $118 = HEAP32[$11>>2]|0; + $119 = HEAP32[$4>>2]|0; + $120 = ((($119)) + 28|0); + $121 = HEAP32[$5>>2]|0; + $122 = (($120) + ($121<<2)|0); + $123 = (_sqlite3_prepare_v2($117,$118,-1,$122,0)|0); + HEAP32[$8>>2] = $123; + $124 = HEAP32[$11>>2]|0; + _sqlite3_free($124); + $125 = HEAP32[$8>>2]|0; + $126 = ($125|0)!=(0); + $127 = HEAP32[$7>>2]|0; + $128 = ($127|0)!=(0|0); + $or$cond = $126 & $128; + if (!($or$cond)) { + $134 = HEAP32[$4>>2]|0; + $135 = ((($134)) + 28|0); + $136 = HEAP32[$5>>2]|0; + $137 = (($135) + ($136<<2)|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$6>>2]|0; + HEAP32[$139>>2] = $138; + $140 = HEAP32[$6>>2]|0; + $141 = HEAP32[$140>>2]|0; + (_sqlite3_reset($141)|0); + $142 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($142|0); } - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$iErrno>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$zErr>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $12; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $14; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $15; - _sqlite3_log($10,44097,$vararg_buffer); - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); -} -function _posixOpen($zFile,$flags,$mode) { - $zFile = $zFile|0; - $flags = $flags|0; - $mode = $mode|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - HEAP32[$0>>2] = $zFile; - HEAP32[$1>>2] = $flags; - HEAP32[$2>>2] = $mode; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $6 = (_open($3,$4,$vararg_buffer)|0); - STACKTOP = sp;return ($6|0); + $129 = HEAP32[$10>>2]|0; + $130 = HEAP32[$129>>2]|0; + $131 = (_sqlite3_errmsg($130)|0); + HEAP32[$vararg_buffer24>>2] = $131; + $132 = (_sqlite3_mprintf(21240,$vararg_buffer24)|0); + $133 = HEAP32[$7>>2]|0; + HEAP32[$133>>2] = $132; + $134 = HEAP32[$4>>2]|0; + $135 = ((($134)) + 28|0); + $136 = HEAP32[$5>>2]|0; + $137 = (($135) + ($136<<2)|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$6>>2]|0; + HEAP32[$139>>2] = $138; + $140 = HEAP32[$6>>2]|0; + $141 = HEAP32[$140>>2]|0; + (_sqlite3_reset($141)|0); + $142 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($142|0); } -function _openDirectory($zFilename,$pFd) { - $zFilename = $zFilename|0; - $pFd = $pFd|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $ii = 0, $vararg_buffer = 0, $zDirname = 0, label = 0, sp = 0; +function _fts5StorageDecodeSizeArray($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 544|0; - $vararg_buffer = sp; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $ii = sp + 8|0; - $fd = sp + 4|0; - $zDirname = sp + 24|0; - HEAP32[$1>>2] = $zFilename; - HEAP32[$2>>2] = $pFd; - HEAP32[$fd>>2] = -1; - $3 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - (_sqlite3_snprintf(512,$zDirname,18391,$vararg_buffer)|0); - $4 = (_strlen($zDirname)|0); - HEAP32[$ii>>2] = $4; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$10>>2] = 0; + HEAP32[$9>>2] = 0; while(1) { - $5 = HEAP32[$ii>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { + $11 = HEAP32[$9>>2]|0; + $12 = HEAP32[$6>>2]|0; + $13 = ($11|0)<($12|0); + $14 = HEAP32[$10>>2]|0; + $15 = HEAP32[$8>>2]|0; + if (!($13)) { + label = 6; break; } - $7 = HEAP32[$ii>>2]|0; - $8 = (($zDirname) + ($7)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = ($10|0)!=(47); - if (!($11)) { + $16 = ($14|0)>=($15|0); + if ($16) { + label = 4; break; } - $12 = HEAP32[$ii>>2]|0; - $13 = (($12) + -1)|0; - HEAP32[$ii>>2] = $13; + $17 = HEAP32[$7>>2]|0; + $18 = HEAP32[$10>>2]|0; + $19 = (($17) + ($18)|0); + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$9>>2]|0; + $22 = (($20) + ($21<<2)|0); + $23 = (_sqlite3Fts5GetVarint32($19,$22)|0); + $24 = HEAP32[$10>>2]|0; + $25 = (($24) + ($23))|0; + HEAP32[$10>>2] = $25; + $26 = HEAP32[$9>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$9>>2] = $27; } - $14 = HEAP32[$ii>>2]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[$ii>>2]|0; - $17 = (($zDirname) + ($16)|0); - HEAP8[$17>>0] = 0; - } else { - $18 = HEAP8[$zDirname>>0]|0; - $19 = $18 << 24 >> 24; - $20 = ($19|0)!=(47); - if ($20) { - HEAP8[$zDirname>>0] = 46; - } - $21 = ((($zDirname)) + 1|0); - HEAP8[$21>>0] = 0; + if ((label|0) == 4) { + HEAP32[$4>>2] = 1; + $30 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($30|0); } - $22 = (_robust_open($zDirname,0,0)|0); - HEAP32[$fd>>2] = $22; - $23 = HEAP32[$fd>>2]|0; - $24 = HEAP32[$2>>2]|0; - HEAP32[$24>>2] = $23; - $25 = HEAP32[$fd>>2]|0; - $26 = ($25|0)>=(0); - if ($26) { - HEAP32[$0>>2] = 0; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); - } else { - $27 = (_sqlite3CantopenError(32912)|0); - $28 = (_unixLogErrorAtLine($27,44232,$zDirname,32912)|0); - HEAP32[$0>>2] = $28; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); + else if ((label|0) == 6) { + $28 = ($14|0)!=($15|0); + $29 = $28&1; + HEAP32[$4>>2] = $29; + $30 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($30|0); } return (0)|0; } -function _unixGetpagesize() { - var $0 = 0, label = 0, sp = 0; +function _sqlite3Fts5ExprRowid($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; - $0 = (_sysconf(30)|0); - return ($0|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 16|0); + $6 = $5; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + tempRet0 = ($11); + STACKTOP = sp;return ($8|0); } -function _robust_open($z,$f,$m) { - $z = $z|0; - $f = $f|0; - $m = $m|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $m2 = 0, $or$cond = 0, $statbuf = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0; +function _fts5IsContentless($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; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer = sp; - $0 = sp + 100|0; - $1 = sp + 96|0; - $2 = sp + 92|0; - $fd = sp + 88|0; - $m2 = sp + 84|0; - $statbuf = sp + 8|0; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $f; - HEAP32[$2>>2] = $m; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0); - $5 = HEAP32[$2>>2]|0; - $6 = $4 ? $5 : 420; - HEAP32[$m2>>2] = $6; - while(1) { - $7 = HEAP32[(6440)>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = $9 | 524288; - $11 = HEAP32[$m2>>2]|0; - $12 = (FUNCTION_TABLE_iiii[$7 & 255]($8,$10,$11)|0); - HEAP32[$fd>>2] = $12; - $13 = HEAP32[$fd>>2]|0; - $14 = ($13|0)<(0); - if ($14) { - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(4); - if ($17) { - continue; - } else { - break; - } - } - $18 = HEAP32[$fd>>2]|0; - $19 = ($18|0)>=(3); - if ($19) { - break; - } - $20 = HEAP32[(6452)>>2]|0; - $21 = HEAP32[$fd>>2]|0; - (FUNCTION_TABLE_ii[$20 & 255]($21)|0); - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$fd>>2]|0; - HEAP32[$vararg_buffer>>2] = $22; - $vararg_ptr2 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr2>>2] = $23; - _sqlite3_log(28,44319,$vararg_buffer); - HEAP32[$fd>>2] = -1; - $24 = HEAP32[(6440)>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = (FUNCTION_TABLE_iiii[$24 & 255](44362,$25,$26)|0); - $28 = ($27|0)<(0); - if ($28) { - break; - } - } - $29 = HEAP32[$fd>>2]|0; - $30 = ($29|0)>=(0); - $31 = HEAP32[$2>>2]|0; - $32 = ($31|0)!=(0); - $or$cond = $30 & $32; - if (!($or$cond)) { - $48 = HEAP32[$fd>>2]|0; - STACKTOP = sp;return ($48|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 12|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 32|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(1); + $8 = $7&1; + STACKTOP = sp;return ($8|0); +} +function _fts5SeekCursor($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 48|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = (_fts5StmtType($13)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$5>>2]|0; + $16 = ((($15)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 48|0); + $21 = HEAP32[$3>>2]|0; + $22 = ($21|0)!=(0); + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 8|0); + $25 = $22 ? $24 : 0; + $26 = (_sqlite3Fts5StorageStmt($17,$18,$20,$25)|0); + HEAP32[$4>>2] = $26; } - $33 = HEAP32[(6500)>>2]|0; - $34 = HEAP32[$fd>>2]|0; - $35 = (FUNCTION_TABLE_iii[$33 & 255]($34,$statbuf)|0); - $36 = ($35|0)==(0); - if (!($36)) { - $48 = HEAP32[$fd>>2]|0; - STACKTOP = sp;return ($48|0); + $27 = HEAP32[$4>>2]|0; + $28 = ($27|0)==(0); + if (!($28)) { + $59 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($59|0); } - $37 = ((($statbuf)) + 36|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - $48 = HEAP32[$fd>>2]|0; - STACKTOP = sp;return ($48|0); + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 60|0); + $31 = HEAP32[$30>>2]|0; + $32 = $31 & 2; + $33 = ($32|0)!=(0); + if (!($33)) { + $59 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($59|0); } - $40 = ((($statbuf)) + 12|0); - $41 = HEAP32[$40>>2]|0; - $42 = $41 & 511; + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 48|0); + $36 = HEAP32[$35>>2]|0; + (_sqlite3_reset($36)|0); + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 48|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$2>>2]|0; + $41 = (_fts5CursorRowid($40)|0); + $42 = tempRet0; + (_sqlite3_bind_int64($39,1,$41,$42)|0); $43 = HEAP32[$2>>2]|0; - $44 = ($42|0)!=($43|0); - if (!($44)) { - $48 = HEAP32[$fd>>2]|0; - STACKTOP = sp;return ($48|0); + $44 = ((($43)) + 48|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_sqlite3_step($45)|0); + HEAP32[$4>>2] = $46; + $47 = HEAP32[$4>>2]|0; + $48 = ($47|0)==(100); + if ($48) { + HEAP32[$4>>2] = 0; + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 60|0); + $51 = HEAP32[$50>>2]|0; + $52 = $51 & -3; + HEAP32[$50>>2] = $52; + $59 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($59|0); + } else { + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 48|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_sqlite3_reset($55)|0); + HEAP32[$4>>2] = $56; + $57 = HEAP32[$4>>2]|0; + $58 = ($57|0)==(0); + $$ = $58 ? 267 : $56; + HEAP32[$4>>2] = $$; + $59 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($59|0); } - $45 = HEAP32[(6608)>>2]|0; - $46 = HEAP32[$fd>>2]|0; - $47 = HEAP32[$2>>2]|0; - (FUNCTION_TABLE_iii[$45 & 255]($46,$47)|0); - $48 = HEAP32[$fd>>2]|0; - STACKTOP = sp;return ($48|0); + return (0)|0; } -function _unixShmSystemLock($pFile,$lockType,$ofst,$n) { - $pFile = $pFile|0; - $lockType = $lockType|0; - $ofst = $ofst|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $f = 0, $pShmNode = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _fts5StmtType($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; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $pShmNode = sp + 24|0; - $f = sp + 8|0; - $rc = sp + 4|0; - HEAP32[$0>>2] = $pFile; - HEAP32[$1>>2] = $lockType; - HEAP32[$2>>2] = $ofst; - HEAP32[$3>>2] = $n; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 20|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pShmNode>>2] = $8; - $9 = HEAP32[$pShmNode>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>=(0); - if (!($12)) { - $28 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($28|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$2>>2] = $0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(5); + if ($6) { + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 28|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0); + $11 = $10 ? 1 : 0; + HEAP32[$1>>2] = $11; + $12 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($12|0); + } else { + HEAP32[$1>>2] = 2; + $12 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($12|0); } - ;HEAP32[$f>>2]=0|0;HEAP32[$f+4>>2]=0|0;HEAP32[$f+8>>2]=0|0;HEAP32[$f+12>>2]=0|0; - $13 = HEAP32[$1>>2]|0; - $14 = $13&65535; - HEAP16[$f>>1] = $14; - $15 = ((($f)) + 2|0); - HEAP16[$15>>1] = 0; - $16 = HEAP32[$2>>2]|0; - $17 = ((($f)) + 4|0); - HEAP32[$17>>2] = $16; - $18 = HEAP32[$3>>2]|0; - $19 = ((($f)) + 8|0); - HEAP32[$19>>2] = $18; - $20 = HEAP32[(6524)>>2]|0; - $21 = HEAP32[$pShmNode>>2]|0; - $22 = ((($21)) + 12|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$vararg_buffer>>2] = $f; - $24 = (FUNCTION_TABLE_iiii[$20 & 255]($23,13,$vararg_buffer)|0); - HEAP32[$rc>>2] = $24; - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)!=(-1); - $27 = $26 ? 0 : 5; - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($28|0); + return (0)|0; } -function _fcntlSizeHint($pFile,$0,$1) { - $pFile = $pFile|0; +function _sqlite3Fts5StorageStmt($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $buf = 0, $iWrite = 0, $nBlk = 0, $nSize = 0, $nWrite = 0, label = 0, sp = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $2 = sp + 112|0; - $3 = sp + 108|0; + STACKTOP = STACKTOP + 32|0; $4 = sp + 16|0; - $nSize = sp + 8|0; - $buf = sp + 32|0; - $nBlk = sp + 28|0; - $nWrite = sp + 24|0; - $iWrite = sp; - HEAP32[$3>>2] = $pFile; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = ((($9)) + 40|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(0); - L1: do { - if ($12) { - $13 = HEAP32[(6500)>>2]|0; - $14 = HEAP32[$3>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = (FUNCTION_TABLE_iii[$13 & 255]($16,$buf)|0); - $18 = ($17|0)!=(0); - if ($18) { - HEAP32[$2>>2] = 1802; - $162 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($162|0); - } - $19 = $4; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$3>>2]|0; - $26 = ((($25)) + 40|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)<(0); - $29 = $28 << 31 >> 31; - $30 = (_i64Add(($21|0),($24|0),($27|0),($29|0))|0); - $31 = tempRet0; - $32 = (_i64Subtract(($30|0),($31|0),1,0)|0); - $33 = tempRet0; - $34 = HEAP32[$3>>2]|0; - $35 = ((($34)) + 40|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)<(0); - $38 = $37 << 31 >> 31; - $39 = (___divdi3(($32|0),($33|0),($36|0),($38|0))|0); - $40 = tempRet0; - $41 = HEAP32[$3>>2]|0; - $42 = ((($41)) + 40|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)<(0); - $45 = $44 << 31 >> 31; - $46 = (___muldi3(($39|0),($40|0),($43|0),($45|0))|0); - $47 = tempRet0; - $48 = $nSize; - $49 = $48; - HEAP32[$49>>2] = $46; - $50 = (($48) + 4)|0; - $51 = $50; - HEAP32[$51>>2] = $47; - $52 = $nSize; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = ((($buf)) + 36|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59|0)<(0); - $61 = $60 << 31 >> 31; - $62 = ($57|0)>($61|0); - $63 = ($54>>>0)>($59>>>0); - $64 = ($57|0)==($61|0); - $65 = $64 & $63; - $66 = $62 | $65; - if ($66) { - $67 = ((($buf)) + 40|0); - $68 = HEAP32[$67>>2]|0; - HEAP32[$nBlk>>2] = $68; - HEAP32[$nWrite>>2] = 0; - $69 = ((($buf)) + 36|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$nBlk>>2]|0; - $72 = (($70|0) / ($71|0))&-1; - $73 = HEAP32[$nBlk>>2]|0; - $74 = Math_imul($72, $73)|0; - $75 = HEAP32[$nBlk>>2]|0; - $76 = (($74) + ($75))|0; - $77 = (($76) - 1)|0; - $78 = ($77|0)<(0); - $79 = $78 << 31 >> 31; - $80 = $iWrite; - $81 = $80; - HEAP32[$81>>2] = $77; - $82 = (($80) + 4)|0; - $83 = $82; - HEAP32[$83>>2] = $79; - while(1) { - $84 = $iWrite; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = (($84) + 4)|0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = $nSize; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $93 = (($90) + 4)|0; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$nBlk>>2]|0; - $97 = ($96|0)<(0); - $98 = $97 << 31 >> 31; - $99 = (_i64Add(($92|0),($95|0),($96|0),($98|0))|0); - $100 = tempRet0; - $101 = (_i64Subtract(($99|0),($100|0),1,0)|0); - $102 = tempRet0; - $103 = ($89|0)<($102|0); - $104 = ($86>>>0)<($101>>>0); - $105 = ($89|0)==($102|0); - $106 = $105 & $104; - $107 = $103 | $106; - if (!($107)) { - break L1; - } - $108 = $iWrite; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (($108) + 4)|0; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = $nSize; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = (($114) + 4)|0; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = ($113|0)>($119|0); - $121 = ($110>>>0)>=($116>>>0); - $122 = ($113|0)==($119|0); - $123 = $122 & $121; - $124 = $120 | $123; - if ($124) { - $125 = $nSize; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = (($125) + 4)|0; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = (_i64Subtract(($127|0),($130|0),1,0)|0); - $132 = tempRet0; - $133 = $iWrite; - $134 = $133; - HEAP32[$134>>2] = $131; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - } - $137 = HEAP32[$3>>2]|0; - $138 = $iWrite; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = (_seekAndWrite($137,$140,$143,18402,1)|0); - HEAP32[$nWrite>>2] = $144; - $145 = HEAP32[$nWrite>>2]|0; - $146 = ($145|0)!=(1); - if ($146) { - break; - } - $147 = HEAP32[$nBlk>>2]|0; - $148 = ($147|0)<(0); - $149 = $148 << 31 >> 31; - $150 = $iWrite; - $151 = $150; - $152 = HEAP32[$151>>2]|0; - $153 = (($150) + 4)|0; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = (_i64Add(($152|0),($155|0),($147|0),($149|0))|0); - $157 = tempRet0; - $158 = $iWrite; - $159 = $158; - HEAP32[$159>>2] = $156; - $160 = (($158) + 4)|0; - $161 = $160; - HEAP32[$161>>2] = $157; - } - HEAP32[$2>>2] = 778; - $162 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($162|0); - } - } - } while(0); - HEAP32[$2>>2] = 0; - $162 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($162|0); -} -function _unixModeBit($pFile,$mask,$pArg) { - $pFile = $pFile|0; - $mask = $mask|0; - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp + 8|0; - $2 = sp; - HEAP32[$0>>2] = $pFile; - HEAP8[$1>>0] = $mask; - HEAP32[$2>>2] = $pArg; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 18|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8&65535; - $10 = HEAP8[$1>>0]|0; - $11 = $10&255; - $12 = $9 & $11; - $13 = ($12|0)!=(0); - $14 = $13&1; - $15 = HEAP32[$2>>2]|0; - HEAP32[$15>>2] = $14; - STACKTOP = sp;return; - } - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0); - $19 = HEAP8[$1>>0]|0; - $20 = $19&255; - if ($18) { - $21 = $20 ^ -1; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 18|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24&65535; - $26 = $25 & $21; - $27 = $26&65535; - HEAP16[$23>>1] = $27; - STACKTOP = sp;return; - } else { - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 18|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $32 = $31 | $20; - $33 = $32&65535; - HEAP16[$29>>1] = $33; - STACKTOP = sp;return; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = HEAP32[$6>>2]|0; + $12 = HEAP32[$7>>2]|0; + $13 = (_fts5StorageGetStmt($9,$10,$11,$12)|0); + HEAP32[$8>>2] = $13; + $14 = HEAP32[$8>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + $20 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($20|0); } + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 28|0); + $18 = HEAP32[$5>>2]|0; + $19 = (($17) + ($18<<2)|0); + HEAP32[$19>>2] = 0; + $20 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($20|0); } -function _unixGetTempname($nBuf,$zBuf) { - $nBuf = $nBuf|0; - $zBuf = $zBuf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iLimit = 0; - var $r = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $zDir = 0, label = 0, sp = 0; +function _fts5CacheInstArray($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer = sp + 8|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $zDir = sp + 36|0; - $iLimit = sp + 32|0; - $r = sp; - HEAP32[$1>>2] = $nBuf; - HEAP32[$2>>2] = $zBuf; - HEAP32[$iLimit>>2] = 0; - $3 = HEAP32[$2>>2]|0; - HEAP8[$3>>0] = 0; - $4 = (_unixTempFileDir()|0); - HEAP32[$zDir>>2] = $4; - $5 = HEAP32[$zDir>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - HEAP32[$0>>2] = 6410; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + STACKTOP = STACKTOP + 48|0; + $1 = sp + 40|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 52|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3Fts5ExprPhraseCount($14)|0); + HEAP32[$4>>2] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 104|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + $21 = ($20*24)|0; + HEAP32[$5>>2] = $21; + $22 = HEAP32[$5>>2]|0; + $23 = (_sqlite3Fts5MallocZero($2,$22)|0); + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 104|0); + HEAP32[$25>>2] = $23; } + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 104|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$3>>2] = $28; + $29 = HEAP32[$3>>2]|0; + $30 = ($29|0)!=(0|0); + if (!($30)) { + $170 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($170|0); + } + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = 0; while(1) { - _sqlite3_randomness(8,$r); - $7 = HEAP32[$1>>2]|0; - $8 = (($7) - 2)|0; - $9 = HEAP32[$2>>2]|0; - $10 = (($9) + ($8)|0); - HEAP8[$10>>0] = 0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$zDir>>2]|0; - $14 = $r; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - HEAP32[$vararg_buffer>>2] = $13; - $vararg_ptr1 = ((($vararg_buffer)) + 8|0); - $20 = $vararg_ptr1; - $21 = $20; - HEAP32[$21>>2] = $16; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - $vararg_ptr2 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr2>>2] = 0; - (_sqlite3_snprintf($11,$12,44372,$vararg_buffer)|0); - $24 = HEAP32[$1>>2]|0; - $25 = (($24) - 2)|0; - $26 = HEAP32[$2>>2]|0; - $27 = (($26) + ($25)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28 << 24 >> 24; - $30 = ($29|0)!=(0); - if ($30) { - label = 5; + $31 = HEAP32[$7>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = ($31|0)<($32|0); + $34 = HEAP32[$2>>2]|0; + $35 = ($34|0)==(0); + $36 = $33 ? $35 : 0; + if (!($36)) { break; } - $31 = HEAP32[$iLimit>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$iLimit>>2] = $32; - $33 = ($31|0)>(10); - if ($33) { - label = 5; - break; + $37 = HEAP32[$1>>2]|0; + $38 = HEAP32[$7>>2]|0; + $39 = (_fts5CsrPoslist($37,$38,$8,$9)|0); + HEAP32[$2>>2] = $39; + $40 = HEAP32[$2>>2]|0; + $41 = ($40|0)==(0); + if ($41) { + $42 = HEAP32[$8>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = (($44) + (($45*24)|0)|0); + (_sqlite3Fts5PoslistReaderInit($42,$43,$46)|0); } - $34 = HEAP32[(6464)>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = (FUNCTION_TABLE_iii[$34 & 255]($35,0)|0); - $37 = ($36|0)==(0); - if (!($37)) { - label = 7; - break; + $47 = HEAP32[$7>>2]|0; + $48 = (($47) + 1)|0; + HEAP32[$7>>2] = $48; + } + $49 = HEAP32[$2>>2]|0; + $50 = ($49|0)==(0); + L14: do { + if ($50) { + while(1) { + HEAP32[$11>>2] = -1; + HEAP32[$7>>2] = 0; + while(1) { + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$4>>2]|0; + $53 = ($51|0)<($52|0); + if (!($53)) { + break; + } + $54 = HEAP32[$3>>2]|0; + $55 = HEAP32[$7>>2]|0; + $56 = (($54) + (($55*24)|0)|0); + $57 = ((($56)) + 13|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = ($59|0)==(0); + do { + if ($60) { + $61 = HEAP32[$11>>2]|0; + $62 = ($61|0)<(0); + if (!($62)) { + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$7>>2]|0; + $65 = (($63) + (($64*24)|0)|0); + $66 = ((($65)) + 16|0); + $67 = $66; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$3>>2]|0; + $74 = HEAP32[$11>>2]|0; + $75 = (($73) + (($74*24)|0)|0); + $76 = ((($75)) + 16|0); + $77 = $76; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + 4)|0; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = ($72|0)<($82|0); + $84 = ($69>>>0)<($79>>>0); + $85 = ($72|0)==($82|0); + $86 = $85 & $84; + $87 = $83 | $86; + if (!($87)) { + break; + } + } + $88 = HEAP32[$7>>2]|0; + HEAP32[$11>>2] = $88; + } + } while(0); + $89 = HEAP32[$7>>2]|0; + $90 = (($89) + 1)|0; + HEAP32[$7>>2] = $90; + } + $91 = HEAP32[$11>>2]|0; + $92 = ($91|0)<(0); + if ($92) { + break L14; + } + $93 = HEAP32[$6>>2]|0; + $94 = (($93) + 1)|0; + HEAP32[$6>>2] = $94; + $95 = HEAP32[$6>>2]|0; + $96 = HEAP32[$1>>2]|0; + $97 = ((($96)) + 108|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($95|0)>=($98|0); + if ($99) { + $100 = HEAP32[$1>>2]|0; + $101 = ((($100)) + 108|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)!=(0); + if ($103) { + $104 = HEAP32[$1>>2]|0; + $105 = ((($104)) + 108|0); + $106 = HEAP32[$105>>2]|0; + $107 = $106<<1; + $110 = $107; + } else { + $110 = 32; + } + $108 = HEAP32[$1>>2]|0; + $109 = ((($108)) + 108|0); + HEAP32[$109>>2] = $110; + $111 = HEAP32[$1>>2]|0; + $112 = ((($111)) + 116|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$1>>2]|0; + $115 = ((($114)) + 108|0); + $116 = HEAP32[$115>>2]|0; + $117 = $116<<2; + $118 = ($117*3)|0; + $119 = (_sqlite3_realloc($113,$118)|0); + HEAP32[$10>>2] = $119; + $120 = HEAP32[$10>>2]|0; + $121 = ($120|0)!=(0|0); + if (!($121)) { + break; + } + $122 = HEAP32[$10>>2]|0; + $123 = HEAP32[$1>>2]|0; + $124 = ((($123)) + 116|0); + HEAP32[$124>>2] = $122; + } + $125 = HEAP32[$1>>2]|0; + $126 = ((($125)) + 116|0); + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$6>>2]|0; + $129 = (($128) - 1)|0; + $130 = ($129*3)|0; + $131 = (($127) + ($130<<2)|0); + HEAP32[$10>>2] = $131; + $132 = HEAP32[$11>>2]|0; + $133 = HEAP32[$10>>2]|0; + HEAP32[$133>>2] = $132; + $134 = HEAP32[$3>>2]|0; + $135 = HEAP32[$11>>2]|0; + $136 = (($134) + (($135*24)|0)|0); + $137 = ((($136)) + 16|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = (_bitshift64Ashr(($140|0),($143|0),32)|0); + $145 = tempRet0; + $146 = HEAP32[$10>>2]|0; + $147 = ((($146)) + 4|0); + HEAP32[$147>>2] = $144; + $148 = HEAP32[$3>>2]|0; + $149 = HEAP32[$11>>2]|0; + $150 = (($148) + (($149*24)|0)|0); + $151 = ((($150)) + 16|0); + $152 = $151; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = HEAP32[$10>>2]|0; + $159 = ((($158)) + 8|0); + HEAP32[$159>>2] = $154; + $160 = HEAP32[$3>>2]|0; + $161 = HEAP32[$11>>2]|0; + $162 = (($160) + (($161*24)|0)|0); + (_sqlite3Fts5PoslistReaderNext($162)|0); + } + HEAP32[$2>>2] = 7; } - } - if ((label|0) == 5) { - HEAP32[$0>>2] = 1; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); - } - else if ((label|0) == 7) { - HEAP32[$0>>2] = 0; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); - } - return (0)|0; -} -function _fileHasMoved($pFile) { - $pFile = $pFile|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $buf = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 76|0; - $buf = sp; - HEAP32[$0>>2] = $pFile; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $20 = 0; - $19 = $20&1; - STACKTOP = sp;return ($19|0); - } - $5 = HEAP32[(6488)>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 32|0); - $8 = HEAP32[$7>>2]|0; - $9 = (FUNCTION_TABLE_iii[$5 & 255]($8,$buf)|0); - $10 = ($9|0)!=(0); - if ($10) { - $20 = 1; - $19 = $20&1; - STACKTOP = sp;return ($19|0); - } - $11 = ((($buf)) + 72|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($12|0)!=($17|0); - $20 = $18; - $19 = $20&1; - STACKTOP = sp;return ($19|0); + } while(0); + $163 = HEAP32[$6>>2]|0; + $164 = HEAP32[$1>>2]|0; + $165 = ((($164)) + 112|0); + HEAP32[$165>>2] = $163; + $166 = HEAP32[$1>>2]|0; + $167 = ((($166)) + 60|0); + $168 = HEAP32[$167>>2]|0; + $169 = $168 & -9; + HEAP32[$167>>2] = $169; + $170 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($170|0); } -function _unixTempFileDir() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0, $i = 0, $zDir = 0, label = 0, sp = 0; +function _sqlite3Fts5ExprPhraseCount($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 84|0; - $i = sp + 80|0; - $buf = sp + 4|0; - $zDir = sp; - HEAP32[$i>>2] = 0; - $1 = HEAP32[972>>2]|0; - HEAP32[$zDir>>2] = $1; - $2 = HEAP32[6772>>2]|0; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; $3 = ($2|0)!=(0|0); if (!($3)) { - $4 = (_getenv((44389|0))|0); - HEAP32[6772>>2] = $4; + $7 = 0; + STACKTOP = sp;return ($7|0); } - $5 = HEAP32[(6776)>>2]|0; - $6 = ($5|0)!=(0|0); + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 16|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + STACKTOP = sp;return ($7|0); +} +function _sqlite3Fts5ExprPhraseSize($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 + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)<(0); if (!($6)) { - $7 = (_getenv((44403|0))|0); - HEAP32[(6776)>>2] = $7; - } - while(1) { - $8 = HEAP32[$zDir>>2]|0; - $9 = ($8|0)!=(0|0); - if ($9) { - $10 = HEAP32[(6488)>>2]|0; - $11 = HEAP32[$zDir>>2]|0; - $12 = (FUNCTION_TABLE_iii[$10 & 255]($11,$buf)|0); - $13 = ($12|0)==(0); - if ($13) { - $14 = ((($buf)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15 & 61440; - $17 = ($16|0)==(16384); - if ($17) { - $18 = HEAP32[(6464)>>2]|0; - $19 = HEAP32[$zDir>>2]|0; - $20 = (FUNCTION_TABLE_iii[$18 & 255]($19,3)|0); - $21 = ($20|0)==(0); - if ($21) { - label = 9; - break; - } - } - } - } - $23 = HEAP32[$i>>2]|0; - $24 = ($23>>>0)>=(6); - if ($24) { - label = 12; - break; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($7|0)>=($10|0); + if (!($11)) { + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (($14) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$2>>2] = $19; + $20 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($20|0); } - $25 = HEAP32[$i>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$i>>2] = $26; - $27 = (6772 + ($25<<2)|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$zDir>>2] = $28; - } - if ((label|0) == 9) { - $22 = HEAP32[$zDir>>2]|0; - HEAP32[$0>>2] = $22; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); - } - else if ((label|0) == 12) { - HEAP32[$0>>2] = 0; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); } - return (0)|0; + HEAP32[$2>>2] = 0; + $20 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($20|0); } -function _seekAndWrite($id,$0,$1,$pBuf,$cnt) { - $id = $id|0; +function _sqlite3Fts5StorageSize($0,$1,$2) { $0 = $0|0; $1 = $1|0; - $pBuf = $pBuf|0; - $cnt = $cnt|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp; + $3 = sp + 16|0; $4 = sp + 12|0; $5 = sp + 8|0; - HEAP32[$2>>2] = $id; - $6 = $3; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$4>>2] = $pBuf; - HEAP32[$5>>2] = $cnt; - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = $3; + $6 = sp + 4|0; + $7 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $8 = HEAP32[$3>>2]|0; + $9 = (_fts5StorageLoadTotals($8,0)|0); + HEAP32[$6>>2] = $9; + $10 = HEAP32[$6>>2]|0; + $11 = ($10|0)==(0); + if (!($11)) { + $73 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($73|0); + } + $12 = HEAP32[$5>>2]|0; + $13 = $12; $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = HEAP32[$5>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 20|0); - $23 = (_seekAndWriteFd($12,$15,$18,$19,$20,$22)|0); - STACKTOP = sp;return ($23|0); + HEAP32[$14>>2] = 0; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = 0; + $17 = HEAP32[$4>>2]|0; + $18 = ($17|0)<(0); + if ($18) { + HEAP32[$7>>2] = 0; + while(1) { + $19 = HEAP32[$7>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($19|0)<($23|0); + if (!($24)) { + break; + } + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$7>>2]|0; + $29 = (($27) + ($28<<3)|0); + $30 = $29; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$5>>2]|0; + $37 = $36; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (_i64Add(($39|0),($42|0),($32|0),($35|0))|0); + $44 = tempRet0; + $45 = $36; + $46 = $45; + HEAP32[$46>>2] = $43; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $44; + $49 = HEAP32[$7>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$7>>2] = $50; + } + $73 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($73|0); + } + $51 = HEAP32[$4>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($51|0)<($55|0); + if ($56) { + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 24|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$4>>2]|0; + $61 = (($59) + ($60<<3)|0); + $62 = $61; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$5>>2]|0; + $69 = $68; + $70 = $69; + HEAP32[$70>>2] = $64; + $71 = (($69) + 4)|0; + $72 = $71; + HEAP32[$72>>2] = $67; + $73 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($73|0); + } else { + HEAP32[$6>>2] = 25; + $73 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($73|0); + } + return (0)|0; } -function _seekAndWriteFd($fd,$0,$1,$pBuf,$nBuf,$piErrno) { - $fd = $fd|0; +function _fts5StorageLoadTotals($0,$1) { $0 = $0|0; $1 = $1|0; - $pBuf = $pBuf|0; - $nBuf = $nBuf|0; - $piErrno = $piErrno|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iSeek = 0, $rc = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 32|0; - $3 = sp + 8|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $6 = sp + 20|0; - $rc = sp + 16|0; - $iSeek = sp; - HEAP32[$2>>2] = $fd; - $7 = $3; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - HEAP32[$4>>2] = $pBuf; - HEAP32[$5>>2] = $nBuf; - HEAP32[$6>>2] = $piErrno; - HEAP32[$rc>>2] = 0; - $11 = HEAP32[$5>>2]|0; - $12 = $11 & 131071; - HEAP32[$5>>2] = $12; - while(1) { - $13 = HEAP32[$2>>2]|0; - $14 = $3; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (_lseek($13,$16,0)|0); - $21 = ($20|0)<(0); - $22 = $21 << 31 >> 31; - $23 = $iSeek; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = $iSeek; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)<(0); - if ($33) { - label = 3; - break; - } - $34 = HEAP32[(6572)>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = HEAP32[$4>>2]|0; - $37 = HEAP32[$5>>2]|0; - $38 = (FUNCTION_TABLE_iiii[$34 & 255]($35,$36,$37)|0); - HEAP32[$rc>>2] = $38; - $39 = HEAP32[$rc>>2]|0; - $40 = ($39|0)<(0); - if (!($40)) { - break; - } - $41 = (___errno_location()|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==(4); - if (!($43)) { - break; - } - } - if ((label|0) == 3) { - HEAP32[$rc>>2] = -1; - } - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)<(0); - if (!($45)) { - $49 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($49|0); + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + $21 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($21|0); } - $46 = (___errno_location()|0); - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$6>>2]|0; - HEAP32[$48>>2] = $47; - $49 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($49|0); + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3Fts5IndexGetAverages($11,$13,$16)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($21|0); } -function _storeLastErrno($pFile,$error) { - $pFile = $pFile|0; - $error = $error|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexGetAverages($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pFile; - HEAP32[$1>>2] = $error; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 20|0); - HEAP32[$4>>2] = $2; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $13; + $14 = HEAP32[$4>>2]|0; + $15 = $14; + $16 = $15; + HEAP32[$16>>2] = 0; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = 0; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = $20<<3; + _memset(($19|0),0,($21|0))|0; + $22 = HEAP32[$3>>2]|0; + $23 = (_fts5DataRead($22,1,0)|0); + HEAP32[$7>>2] = $23; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + L1: do { + if ($27) { + $28 = HEAP32[$7>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0); + if ($31) { + HEAP32[$8>>2] = 0; + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$8>>2]|0; + $35 = (($33) + ($34)|0); + $36 = HEAP32[$4>>2]|0; + $37 = (_sqlite3Fts5GetVarint($35,$36)|0); + $38 = $37&255; + $39 = HEAP32[$8>>2]|0; + $40 = (($39) + ($38))|0; + HEAP32[$8>>2] = $40; + HEAP32[$9>>2] = 0; + while(1) { + $41 = HEAP32[$8>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($41|0)<($44|0); + if (!($45)) { + break L1; + } + $46 = HEAP32[$9>>2]|0; + $47 = HEAP32[$6>>2]|0; + $48 = ($46|0)<($47|0); + if (!($48)) { + break L1; + } + $49 = HEAP32[$7>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$8>>2]|0; + $52 = (($50) + ($51)|0); + $53 = HEAP32[$5>>2]|0; + $54 = HEAP32[$9>>2]|0; + $55 = (($53) + ($54<<3)|0); + $56 = (_sqlite3Fts5GetVarint($52,$55)|0); + $57 = $56&255; + $58 = HEAP32[$8>>2]|0; + $59 = (($58) + ($57))|0; + HEAP32[$8>>2] = $59; + $60 = HEAP32[$9>>2]|0; + $61 = (($60) + 1)|0; + HEAP32[$9>>2] = $61; + } + } + } + } while(0); + $62 = HEAP32[$7>>2]|0; + _fts5DataRelease($62); + $63 = HEAP32[$3>>2]|0; + $64 = (_fts5IndexReturn($63)|0); + STACKTOP = sp;return ($64|0); } -function _sqliteErrorFromPosixError($posixError,$sqliteIOErr) { - $posixError = $posixError|0; - $sqliteIOErr = $sqliteIOErr|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _sqlite3Fts5StorageRowCount($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $posixError; - HEAP32[$2>>2] = $sqliteIOErr; - $3 = HEAP32[$1>>2]|0; - switch ($3|0) { - case 37: case 4: case 16: case 110: case 11: case 13: { - HEAP32[$0>>2] = 5; - break; - } - case 1: { - HEAP32[$0>>2] = 3; - break; - } - default: { - $4 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $4; - } + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $5 = HEAP32[$2>>2]|0; + $6 = (_fts5StorageLoadTotals($5,0)|0); + HEAP32[$4>>2] = $6; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + $22 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($22|0); } - $5 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($5|0); + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 16|0); + $11 = $10; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = $17; + $19 = $18; + HEAP32[$19>>2] = $13; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $16; + $22 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($22|0); } -function _full_fsync($fd,$fullSync,$dataOnly) { - $fd = $fd|0; - $fullSync = $fullSync|0; - $dataOnly = $dataOnly|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $rc = 0, label = 0, sp = 0; +function _fts5NewTransaction($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $fd; - HEAP32[$1>>2] = $fullSync; - HEAP32[$2>>2] = $dataOnly; - $3 = HEAP32[$0>>2]|0; - $4 = (_fsync($3)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($5|0); -} -function _robust_ftruncate($h,$0,$1) { - $h = $h|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; $3 = sp; - $rc = sp + 8|0; - HEAP32[$2>>2] = $h; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; + HEAP32[$2>>2] = $0; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 24|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 44|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$3>>2] = $8; while(1) { - $8 = HEAP32[(6512)>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = $3; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (FUNCTION_TABLE_iii[$8 & 255]($9,$12)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)<(0); - if (!($18)) { - label = 4; + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + label = 6; break; } - $19 = (___errno_location()|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(4); - if (!($21)) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = ($12|0)==($13|0); + if ($14) { label = 4; break; } + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$3>>2] = $17; } if ((label|0) == 4) { - $22 = HEAP32[$rc>>2]|0; + HEAP32[$1>>2] = 0; + $22 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($22|0); + } + else if ((label|0) == 6) { + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 20|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3Fts5StorageReset($20)|0); + HEAP32[$1>>2] = $21; + $22 = HEAP32[$1>>2]|0; STACKTOP = sp;return ($22|0); } return (0)|0; } -function _seekAndRead($id,$0,$1,$pBuf,$cnt) { - $id = $id|0; +function _sqlite3Fts5StorageReset($0) { $0 = $0|0; - $1 = $1|0; - $pBuf = $pBuf|0; - $cnt = $cnt|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $got = 0, $newOffset = 0, $prior = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 8|0; - $5 = sp + 28|0; - $6 = sp + 24|0; - $got = sp + 20|0; - $prior = sp + 16|0; - $newOffset = sp; - HEAP32[$3>>2] = $id; - $7 = $4; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - HEAP32[$5>>2] = $pBuf; - HEAP32[$6>>2] = $cnt; - HEAP32[$prior>>2] = 0; - while(1) { - $11 = HEAP32[$3>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = $4; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (_lseek($13,$16,0)|0); - $21 = ($20|0)<(0); - $22 = $21 << 31 >> 31; - $23 = $newOffset; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = $newOffset; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)<(0); - if ($33) { - label = 3; - break; - } - $37 = HEAP32[(6536)>>2]|0; - $38 = HEAP32[$3>>2]|0; - $39 = ((($38)) + 12|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$5>>2]|0; - $42 = HEAP32[$6>>2]|0; - $43 = (FUNCTION_TABLE_iiii[$37 & 255]($40,$41,$42)|0); - HEAP32[$got>>2] = $43; - $44 = HEAP32[$got>>2]|0; - $45 = HEAP32[$6>>2]|0; - $46 = ($44|0)==($45|0); - if ($46) { - break; - } - $47 = HEAP32[$got>>2]|0; - $48 = ($47|0)<(0); - if ($48) { - $49 = (___errno_location()|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==(4); - if (!($51)) { - label = 8; - break; - } - HEAP32[$got>>2] = 1; - } else { - $55 = HEAP32[$got>>2]|0; - $56 = ($55|0)>(0); - if ($56) { - $57 = HEAP32[$got>>2]|0; - $58 = HEAP32[$6>>2]|0; - $59 = (($58) - ($57))|0; - HEAP32[$6>>2] = $59; - $60 = HEAP32[$got>>2]|0; - $61 = ($60|0)<(0); - $62 = $61 << 31 >> 31; - $63 = $4; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (($63) + 4)|0; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = (_i64Add(($65|0),($68|0),($60|0),($62|0))|0); - $70 = tempRet0; - $71 = $4; - $72 = $71; - HEAP32[$72>>2] = $69; - $73 = (($71) + 4)|0; - $74 = $73; - HEAP32[$74>>2] = $70; - $75 = HEAP32[$got>>2]|0; - $76 = HEAP32[$prior>>2]|0; - $77 = (($76) + ($75))|0; - HEAP32[$prior>>2] = $77; - $78 = HEAP32[$got>>2]|0; - $79 = HEAP32[$5>>2]|0; - $80 = (($79) + ($78)|0); - HEAP32[$5>>2] = $80; - } - } - $81 = HEAP32[$got>>2]|0; - $82 = ($81|0)>(0); - if (!($82)) { - break; - } - } - if ((label|0) == 3) { - $34 = HEAP32[$3>>2]|0; - $35 = (___errno_location()|0); - $36 = HEAP32[$35>>2]|0; - _storeLastErrno($34,$36); - HEAP32[$2>>2] = -1; - $86 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($86|0); - } - else if ((label|0) == 8) { - HEAP32[$prior>>2] = 0; - $52 = HEAP32[$3>>2]|0; - $53 = (___errno_location()|0); - $54 = HEAP32[$53>>2]|0; - _storeLastErrno($52,$54); - } - $83 = HEAP32[$got>>2]|0; - $84 = HEAP32[$prior>>2]|0; - $85 = (($83) + ($84))|0; - HEAP32[$2>>2] = $85; - $86 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($86|0); -} -function _closeUnixFile($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, dest = 0, label = 0, sp = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pFile = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pFile>>2] = $1; - $2 = HEAP32[$pFile>>2]|0; - $3 = ((($2)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>=(0); - if ($5) { - $6 = HEAP32[$pFile>>2]|0; - $7 = HEAP32[$pFile>>2]|0; - $8 = ((($7)) + 12|0); - $9 = HEAP32[$8>>2]|0; - _robust_close($6,$9,31321); - $10 = HEAP32[$pFile>>2]|0; - $11 = ((($10)) + 12|0); - HEAP32[$11>>2] = -1; - } - $12 = HEAP32[$pFile>>2]|0; - $13 = ((($12)) + 28|0); - $14 = HEAP32[$13>>2]|0; - _sqlite3_free($14); - $15 = HEAP32[$pFile>>2]|0; - dest=$15; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return 0; -} -function _nolockIoFinderImpl($z,$p) { - $z = $z|0; - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $p; - STACKTOP = sp;return (6796|0); -} -function _nolockClose($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - $2 = (_closeUnixFile($1)|0); - STACKTOP = sp;return ($2|0); -} -function _nolockLock($NotUsed,$NotUsed2) { - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $NotUsed2; - STACKTOP = sp;return 0; -} -function _nolockUnlock($NotUsed,$NotUsed2) { - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $NotUsed2; - STACKTOP = sp;return 0; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3Fts5IndexReset($4)|0); + STACKTOP = sp;return ($5|0); } -function _nolockCheckReservedLock($NotUsed,$pResOut) { - $NotUsed = $NotUsed|0; - $pResOut = $pResOut|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexReset($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, $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 + 4|0; $1 = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $pResOut; + HEAP32[$1>>2] = $0; $2 = HEAP32[$1>>2]|0; - HEAP32[$2>>2] = 0; - STACKTOP = sp;return 0; + $3 = (_fts5IndexDataVersion($2)|0); + $4 = tempRet0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 72|0); + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = ($3|0)!=($9|0); + $14 = ($4|0)!=($12|0); + $15 = $13 | $14; + if (!($15)) { + $17 = HEAP32[$1>>2]|0; + $18 = (_fts5IndexReturn($17)|0); + STACKTOP = sp;return ($18|0); + } + $16 = HEAP32[$1>>2]|0; + _fts5StructureInvalidate($16); + $17 = HEAP32[$1>>2]|0; + $18 = (_fts5IndexReturn($17)|0); + STACKTOP = sp;return ($18|0); } -function _mkFullPathname($zPath,$zOut,$nOut) { - $zPath = $zPath|0; - $zOut = $zOut|0; - $nOut = $nOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $iOff = 0, $nPath = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _fts5SpecialDelete($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $nPath = sp + 8|0; - $iOff = sp + 4|0; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $zOut; - HEAP32[$3>>2] = $nOut; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3Strlen30($4)|0); - HEAP32[$nPath>>2] = $5; - HEAP32[$iOff>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP8[$6>>0]|0; - $8 = $7 << 24 >> 24; - $9 = ($8|0)!=(47); - do { - if ($9) { - $10 = HEAP32[(6476)>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$3>>2]|0; - $13 = (($12) - 2)|0; - $14 = (FUNCTION_TABLE_iii[$10 & 255]($11,$13)|0); - $15 = ($14|0)==(0|0); - if (!($15)) { - $19 = HEAP32[$2>>2]|0; - $20 = (_sqlite3Strlen30($19)|0); - HEAP32[$iOff>>2] = $20; - $21 = HEAP32[$iOff>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$iOff>>2] = $22; - $23 = HEAP32[$2>>2]|0; - $24 = (($23) + ($21)|0); - HEAP8[$24>>0] = 47; - break; - } - $16 = (_sqlite3CantopenError(35379)|0); - $17 = HEAP32[$1>>2]|0; - $18 = (_unixLogErrorAtLine($16,44133,$17,35379)|0); - HEAP32[$0>>2] = $18; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); - } - } while(0); - $25 = HEAP32[$iOff>>2]|0; - $26 = HEAP32[$nPath>>2]|0; - $27 = (($25) + ($26))|0; - $28 = (($27) + 1)|0; - $29 = HEAP32[$3>>2]|0; - $30 = ($28|0)>($29|0); - if ($30) { - $31 = HEAP32[$iOff>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = (($32) + ($31)|0); - HEAP8[$33>>0] = 0; - $34 = (_sqlite3CantopenError(35388)|0); - HEAP32[$0>>2] = $34; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); - } else { - $35 = HEAP32[$3>>2]|0; - $36 = HEAP32[$iOff>>2]|0; - $37 = (($35) - ($36))|0; - $38 = HEAP32[$iOff>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = (($39) + ($38)|0); - $41 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $41; - (_sqlite3_snprintf($37,$40,18391,$vararg_buffer)|0); - HEAP32[$0>>2] = 0; - $42 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($42|0); + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $7 = HEAP32[$3>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3_value_type($9)|0); + HEAP32[$5>>2] = $10; + $11 = HEAP32[$5>>2]|0; + $12 = ($11|0)==(1); + if (!($12)) { + $34 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($34|0); } - return (0)|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3_value_int64($15)|0); + $17 = tempRet0; + $18 = $6; + $19 = $18; + HEAP32[$19>>2] = $16; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP32[$23>>2]|0; + $25 = $6; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 8|0); + $33 = (_sqlite3Fts5StorageDelete($24,$27,$30,$32)|0); + HEAP32[$4>>2] = $33; + $34 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($34|0); } -function _findReusableFd($zPath,$flags) { - $zPath = $zPath|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pInode = 0, $pUnused = 0, $pp = 0, $sStat = 0, label = 0, sp = 0; +function _fts5SpecialInsert($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 92|0; - $1 = sp + 88|0; - $pUnused = sp + 84|0; - $sStat = sp + 8|0; - $pInode = sp + 4|0; - $pp = sp; - HEAP32[$0>>2] = $zPath; - HEAP32[$1>>2] = $flags; - HEAP32[$pUnused>>2] = 0; - $2 = HEAP32[(6488)>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (FUNCTION_TABLE_iii[$2 & 255]($3,$sStat)|0); - $5 = (0)==($4|0); - if (!($5)) { - $45 = HEAP32[$pUnused>>2]|0; - STACKTOP = sp;return ($45|0); - } - _unixEnterMutex(); - $6 = HEAP32[6952>>2]|0; - HEAP32[$pInode>>2] = $6; - while(1) { - $7 = HEAP32[$pInode>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$pInode>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$sStat>>2]|0; - $12 = ($10|0)!=($11|0); - if ($12) { - $46 = 1; - } else { - $13 = HEAP32[$pInode>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($sStat)) + 72|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($15|0)!=($17|0); - $46 = $18; - } + STACKTOP = STACKTOP + 48|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$6>>2] = $12; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = (_sqlite3_stricmp(51501,$13)|0); + $15 = (0)==($14|0); + if ($15) { + $16 = HEAP32[$6>>2]|0; + $17 = ((($16)) + 32|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + $20 = HEAP32[$3>>2]|0; + if ($19) { + _fts5SetVtabError($20,51512,$vararg_buffer); + HEAP32[$7>>2] = 1; + $80 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($80|0); } else { - $46 = 0; - } - $19 = HEAP32[$pInode>>2]|0; - if (!($46)) { - break; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3Fts5StorageDeleteAll($22)|0); + HEAP32[$7>>2] = $23; + $80 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($80|0); } - $20 = ((($19)) + 32|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$pInode>>2] = $21; } - $22 = ($19|0)!=(0|0); - if ($22) { - $23 = HEAP32[$pInode>>2]|0; - $24 = ((($23)) + 28|0); - HEAP32[$pp>>2] = $24; - while(1) { - $25 = HEAP32[$pp>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - break; - } - $28 = HEAP32[$pp>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 4|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = ($31|0)!=($32|0); - if (!($33)) { - break; - } - $34 = HEAP32[$pp>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = ((($35)) + 8|0); - HEAP32[$pp>>2] = $36; - } - $37 = HEAP32[$pp>>2]|0; - $38 = HEAP32[$37>>2]|0; - HEAP32[$pUnused>>2] = $38; - $39 = HEAP32[$pUnused>>2]|0; - $40 = ($39|0)!=(0|0); - if ($40) { - $41 = HEAP32[$pUnused>>2]|0; - $42 = ((($41)) + 8|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$pp>>2]|0; - HEAP32[$44>>2] = $43; + $24 = HEAP32[$4>>2]|0; + $25 = (_sqlite3_stricmp(45620,$24)|0); + $26 = (0)==($25|0); + if ($26) { + $27 = HEAP32[$6>>2]|0; + $28 = ((($27)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)==(1); + $31 = HEAP32[$3>>2]|0; + if ($30) { + _fts5SetVtabError($31,51592,$vararg_buffer1); + HEAP32[$7>>2] = 1; + $80 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($80|0); + } else { + $32 = ((($31)) + 20|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sqlite3Fts5StorageRebuild($33)|0); + HEAP32[$7>>2] = $34; + $80 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($80|0); } } - _unixLeaveMutex(); - $45 = HEAP32[$pUnused>>2]|0; - STACKTOP = sp;return ($45|0); -} -function _findCreateFileMode($zPath,$flags,$pMode,$pUid,$pGid) { - $zPath = $zPath|0; - $flags = $flags|0; - $pMode = $pMode|0; - $pUid = $pUid|0; - $pGid = $pGid|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nDb = 0, $rc = 0, $z = 0, $zDb = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 560|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $rc = sp + 8|0; - $zDb = sp + 32|0; - $nDb = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $zPath; - HEAP32[$1>>2] = $flags; - HEAP32[$2>>2] = $pMode; - HEAP32[$3>>2] = $pUid; - HEAP32[$4>>2] = $pGid; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$2>>2]|0; - HEAP32[$5>>2] = 0; - $6 = HEAP32[$3>>2]|0; - HEAP32[$6>>2] = 0; - $7 = HEAP32[$4>>2]|0; - HEAP32[$7>>2] = 0; - $8 = HEAP32[$1>>2]|0; - $9 = $8 & 526336; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3Strlen30($11)|0); - $13 = (($12) - 1)|0; - HEAP32[$nDb>>2] = $13; - while(1) { - $14 = HEAP32[$nDb>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + ($14)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 << 24 >> 24; - $19 = ($18|0)!=(45); - if (!($19)) { - break; - } - $20 = HEAP32[$nDb>>2]|0; - $21 = (($20) + -1)|0; - HEAP32[$nDb>>2] = $21; - } - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$nDb>>2]|0; - _memcpy(($zDb|0),($22|0),($23|0))|0; - $24 = HEAP32[$nDb>>2]|0; - $25 = (($zDb) + ($24)|0); - HEAP8[$25>>0] = 0; - $26 = HEAP32[$2>>2]|0; - $27 = HEAP32[$3>>2]|0; - $28 = HEAP32[$4>>2]|0; - $29 = (_getFileMode($zDb,$26,$27,$28)|0); - HEAP32[$rc>>2] = $29; - $46 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($46|0); + $35 = HEAP32[$4>>2]|0; + $36 = (_sqlite3_stricmp(42637,$35)|0); + $37 = (0)==($36|0); + if ($37) { + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 20|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3Fts5StorageOptimize($40)|0); + HEAP32[$7>>2] = $41; + $80 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($80|0); } - $30 = HEAP32[$1>>2]|0; - $31 = $30 & 8; - $32 = ($31|0)!=(0); - if ($32) { - $33 = HEAP32[$2>>2]|0; - HEAP32[$33>>2] = 384; - $46 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($46|0); + $42 = HEAP32[$4>>2]|0; + $43 = (_sqlite3_stricmp(51648,$42)|0); + $44 = (0)==($43|0); + if ($44) { + $45 = HEAP32[$5>>2]|0; + $46 = (_sqlite3_value_int($45)|0); + HEAP32[$9>>2] = $46; + $47 = HEAP32[$3>>2]|0; + $48 = ((($47)) + 20|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$9>>2]|0; + $51 = (_sqlite3Fts5StorageMerge($49,$50)|0); + HEAP32[$7>>2] = $51; + $80 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($80|0); } - $34 = HEAP32[$1>>2]|0; - $35 = $34 & 64; - $36 = ($35|0)!=(0); - if (!($36)) { - $46 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($46|0); + $52 = HEAP32[$4>>2]|0; + $53 = (_sqlite3_stricmp(45628,$52)|0); + $54 = (0)==($53|0); + $55 = HEAP32[$3>>2]|0; + if ($54) { + $56 = ((($55)) + 20|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_sqlite3Fts5StorageIntegrity($57)|0); + HEAP32[$7>>2] = $58; + $80 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($80|0); } - $37 = HEAP32[$0>>2]|0; - $38 = (_sqlite3_uri_parameter($37,44606)|0); - HEAP32[$z>>2] = $38; - $39 = HEAP32[$z>>2]|0; - $40 = ($39|0)!=(0|0); - if (!($40)) { - $46 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($46|0); + $59 = ((($55)) + 16|0); + $60 = HEAP32[$59>>2]|0; + $61 = (_sqlite3Fts5IndexLoadConfig($60)|0); + HEAP32[$7>>2] = $61; + $62 = HEAP32[$7>>2]|0; + $63 = ($62|0)==(0); + if ($63) { + $64 = HEAP32[$3>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = HEAP32[$5>>2]|0; + $69 = (_sqlite3Fts5ConfigSetValue($66,$67,$68,$8)|0); + HEAP32[$7>>2] = $69; } - $41 = HEAP32[$z>>2]|0; - $42 = HEAP32[$2>>2]|0; - $43 = HEAP32[$3>>2]|0; - $44 = HEAP32[$4>>2]|0; - $45 = (_getFileMode($41,$42,$43,$44)|0); - HEAP32[$rc>>2] = $45; - $46 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($46|0); -} -function _robustFchown($fd,$uid,$gid) { - $fd = $fd|0; - $uid = $uid|0; - $gid = $gid|0; - var $0 = 0, $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; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $fd; - HEAP32[$1>>2] = $uid; - HEAP32[$2>>2] = $gid; - $3 = HEAP32[(6692)>>2]|0; - $4 = (FUNCTION_TABLE_i[$3 & 255]()|0); - $5 = ($4|0)!=(0); - if ($5) { - $11 = 0; - STACKTOP = sp;return ($11|0); + $70 = HEAP32[$7>>2]|0; + $71 = ($70|0)==(0); + if (!($71)) { + $80 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($80|0); } - $6 = HEAP32[(6680)>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = (FUNCTION_TABLE_iiii[$6 & 255]($7,$8,$9)|0); - $11 = $10; - STACKTOP = sp;return ($11|0); + $72 = HEAP32[$8>>2]|0; + $73 = ($72|0)!=(0); + if ($73) { + HEAP32[$7>>2] = 1; + $80 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($80|0); + } else { + $74 = HEAP32[$3>>2]|0; + $75 = ((($74)) + 20|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$4>>2]|0; + $78 = HEAP32[$5>>2]|0; + $79 = (_sqlite3Fts5StorageConfigValue($76,$77,$78,0)|0); + HEAP32[$7>>2] = $79; + $80 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($80|0); + } + return (0)|0; } -function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { - $pVfs = $pVfs|0; - $h = $h|0; - $pId = $pId|0; - $zFilename = $zFilename|0; - $ctrlFlags = $ctrlFlags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $nFilename = 0, $pLockingStyle = 0, $pNew = 0, $rc = 0, $vararg_buffer = 0, $zLockFile = 0, label = 0, sp = 0; +function _sqlite3Fts5StorageDelete($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, $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, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; + STACKTOP = STACKTOP + 32|0; $4 = sp + 24|0; - $pLockingStyle = sp + 20|0; - $pNew = sp + 16|0; - $rc = sp + 12|0; - $zLockFile = sp + 8|0; - $nFilename = sp + 4|0; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $h; - HEAP32[$2>>2] = $pId; - HEAP32[$3>>2] = $zFilename; - HEAP32[$4>>2] = $ctrlFlags; - $5 = HEAP32[$2>>2]|0; - HEAP32[$pNew>>2] = $5; - HEAP32[$rc>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$pNew>>2]|0; - $8 = ((($7)) + 12|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$pNew>>2]|0; - $11 = ((($10)) + 4|0); - HEAP32[$11>>2] = $9; - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$pNew>>2]|0; - $14 = ((($13)) + 32|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$4>>2]|0; - $16 = $15&255; - $17 = $16&255; - $18 = HEAP32[$pNew>>2]|0; - $19 = ((($18)) + 18|0); - HEAP16[$19>>1] = $17; - $20 = HEAP32[$4>>2]|0; - $21 = $20 & 64; - $22 = ($21|0)!=(0); - $23 = HEAP32[$3>>2]|0; - $24 = $22 ? $23 : 0; - $25 = (_sqlite3_uri_boolean($24,44465,1)|0); - $26 = ($25|0)!=(0); - if ($26) { - $27 = HEAP32[$pNew>>2]|0; - $28 = ((($27)) + 18|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = $30 | 16; - $32 = $31&65535; - HEAP16[$28>>1] = $32; - } - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 16|0); - $35 = HEAP32[$34>>2]|0; - $36 = (_strcmp($35,44081)|0); - $37 = ($36|0)==(0); - if ($37) { - $38 = HEAP32[$pNew>>2]|0; - $39 = ((($38)) + 18|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40&65535; - $42 = $41 | 1; - $43 = $42&65535; - HEAP16[$39>>1] = $43; - } - $44 = HEAP32[$4>>2]|0; - $45 = $44 & 128; - $46 = ($45|0)!=(0); - if ($46) { - HEAP32[$pLockingStyle>>2] = 6796; - } else { - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 20|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$3>>2]|0; - $52 = HEAP32[$pNew>>2]|0; - $53 = (FUNCTION_TABLE_iii[$50 & 255]($51,$52)|0); - HEAP32[$pLockingStyle>>2] = $53; + $5 = sp; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + HEAP32[$4>>2] = $0; + $10 = $5; + $11 = $10; + HEAP32[$11>>2] = $1; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $2; + HEAP32[$6>>2] = $3; + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$14>>2]|0; + HEAP32[$7>>2] = $15; + HEAP32[$9>>2] = 0; + $16 = HEAP32[$4>>2]|0; + $17 = (_fts5StorageLoadTotals($16,1)|0); + HEAP32[$8>>2] = $17; + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + $21 = $5; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = (_fts5StorageDeleteFromIndex($20,$23,$26,$27)|0); + HEAP32[$8>>2] = $28; } - $54 = HEAP32[$pLockingStyle>>2]|0; - $55 = ($54|0)==(6876|0); - if ($55) { - _unixEnterMutex(); - $56 = HEAP32[$pNew>>2]|0; - $57 = HEAP32[$pNew>>2]|0; - $58 = ((($57)) + 8|0); - $59 = (_findInodeInfo($56,$58)|0); - HEAP32[$rc>>2] = $59; - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)!=(0); - if ($61) { - $62 = HEAP32[$pNew>>2]|0; - $63 = HEAP32[$1>>2]|0; - _robust_close($62,$63,34692); - HEAP32[$1>>2] = -1; - } - _unixLeaveMutex(); - } else { - $64 = HEAP32[$pLockingStyle>>2]|0; - $65 = ($64|0)==(6360|0); - if ($65) { - $66 = HEAP32[$3>>2]|0; - $67 = (_strlen($66)|0); - $68 = (($67) + 6)|0; - HEAP32[$nFilename>>2] = $68; - $69 = HEAP32[$nFilename>>2]|0; - $70 = ($69|0)<(0); - $71 = $70 << 31 >> 31; - $72 = (_sqlite3_malloc64($69,$71)|0); - HEAP32[$zLockFile>>2] = $72; - $73 = HEAP32[$zLockFile>>2]|0; - $74 = ($73|0)==(0|0); - if ($74) { - HEAP32[$rc>>2] = 7; - } else { - $75 = HEAP32[$nFilename>>2]|0; - $76 = HEAP32[$zLockFile>>2]|0; - $77 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer>>2] = $77; - (_sqlite3_snprintf($75,$76,44470,$vararg_buffer)|0); + $29 = HEAP32[$8>>2]|0; + $30 = ($29|0)==(0); + if ($30) { + $31 = HEAP32[$7>>2]|0; + $32 = ((($31)) + 44|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$4>>2]|0; + $36 = (_fts5StorageGetStmt($35,7,$9,0)|0); + HEAP32[$8>>2] = $36; + $37 = HEAP32[$8>>2]|0; + $38 = ($37|0)==(0); + if ($38) { + $39 = HEAP32[$9>>2]|0; + $40 = $5; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + (_sqlite3_bind_int64($39,1,$42,$45)|0); + $46 = HEAP32[$9>>2]|0; + (_sqlite3_step($46)|0); + $47 = HEAP32[$9>>2]|0; + $48 = (_sqlite3_reset($47)|0); + HEAP32[$8>>2] = $48; } - $78 = HEAP32[$zLockFile>>2]|0; - $79 = HEAP32[$pNew>>2]|0; - $80 = ((($79)) + 24|0); - HEAP32[$80>>2] = $78; } } - $81 = HEAP32[$pNew>>2]|0; - _storeLastErrno($81,0); - $82 = HEAP32[$rc>>2]|0; - $83 = ($82|0)!=(0); - if (!($83)) { - $88 = HEAP32[$pLockingStyle>>2]|0; - $89 = HEAP32[$pNew>>2]|0; - HEAP32[$89>>2] = $88; - $90 = HEAP32[$pNew>>2]|0; - _verifyDbFile($90); - $91 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($91|0); + $49 = HEAP32[$7>>2]|0; + $50 = ((($49)) + 32|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$8>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + $55 = HEAP32[$4>>2]|0; + $56 = (_fts5StorageGetStmt($55,5,$9,0)|0); + HEAP32[$8>>2] = $56; + } + $57 = HEAP32[$8>>2]|0; + $58 = ($57|0)==(0); + if ($58) { + $59 = HEAP32[$9>>2]|0; + $60 = $5; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + (_sqlite3_bind_int64($59,1,$62,$65)|0); + $66 = HEAP32[$9>>2]|0; + (_sqlite3_step($66)|0); + $67 = HEAP32[$9>>2]|0; + $68 = (_sqlite3_reset($67)|0); + HEAP32[$8>>2] = $68; + } } - $84 = HEAP32[$1>>2]|0; - $85 = ($84|0)>=(0); - if (!($85)) { - $91 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($91|0); + $69 = HEAP32[$8>>2]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $73 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($73|0); } - $86 = HEAP32[$pNew>>2]|0; - $87 = HEAP32[$1>>2]|0; - _robust_close($86,$87,34777); - $91 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($91|0); + $71 = HEAP32[$4>>2]|0; + $72 = (_fts5StorageSaveTotals($71)|0); + HEAP32[$8>>2] = $72; + $73 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($73|0); } -function _findInodeInfo($pFile,$ppInode) { - $pFile = $pFile|0; - $ppInode = $ppInode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $fileId = 0; - var $pInode = 0, $rc = 0, $statbuf = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _fts5StorageInsert($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 104|0; - $1 = sp + 100|0; - $2 = sp + 96|0; - $rc = sp + 92|0; - $fd = sp + 88|0; - $fileId = sp + 80|0; - $statbuf = sp + 4|0; - $pInode = sp; - HEAP32[$1>>2] = $pFile; - HEAP32[$2>>2] = $ppInode; - HEAP32[$pInode>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$fd>>2] = $5; - $6 = HEAP32[(6500)>>2]|0; - $7 = HEAP32[$fd>>2]|0; - $8 = (FUNCTION_TABLE_iii[$6 & 255]($7,$statbuf)|0); - HEAP32[$rc>>2] = $8; - $9 = HEAP32[$rc>>2]|0; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (___errno_location()|0); - $13 = HEAP32[$12>>2]|0; - _storeLastErrno($11,$13); - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 20|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(75); - if ($17) { - HEAP32[$0>>2] = 22; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + $9 = HEAP32[$4>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$8>>2] = $10; + $11 = HEAP32[$8>>2]|0; + $12 = ($11|0)==(0); + if ($12) { + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$6>>2]|0; + $17 = HEAP32[$7>>2]|0; + $18 = (_sqlite3Fts5StorageContentInsert($15,$16,$17)|0); + HEAP32[$8>>2] = $18; + } + $19 = HEAP32[$8>>2]|0; + $20 = ($19|0)==(0); + if (!($20)) { + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$4>>2]|0; + HEAP32[$34>>2] = $33; + STACKTOP = sp;return; + } + $21 = HEAP32[$5>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$7>>2]|0; + $26 = $25; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (_sqlite3Fts5StorageIndexInsert($23,$24,$28,$31)|0); + HEAP32[$8>>2] = $32; + $33 = HEAP32[$8>>2]|0; + $34 = HEAP32[$4>>2]|0; + HEAP32[$34>>2] = $33; + STACKTOP = sp;return; +} +function _sqlite3Fts5StorageContentInsert($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $11; + HEAP32[$7>>2] = 0; + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0); + if ($15) { + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3_value_type($18)|0); + $20 = ($19|0)==(1); + if ($20) { + $21 = HEAP32[$4>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3_value_int64($23)|0); + $25 = tempRet0; + $26 = HEAP32[$5>>2]|0; + $27 = $26; + $28 = $27; + HEAP32[$28>>2] = $24; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $25; + $67 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($67|0); } else { - HEAP32[$0>>2] = 10; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = (_fts5StorageNewRowid($31,$32)|0); + HEAP32[$7>>2] = $33; + $67 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($67|0); } } - ;HEAP32[$fileId>>2]=0|0;HEAP32[$fileId+4>>2]=0|0; - $18 = HEAP32[$statbuf>>2]|0; - HEAP32[$fileId>>2] = $18; - $19 = ((($statbuf)) + 72|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($fileId)) + 4|0); - HEAP32[$21>>2] = $20; - $22 = HEAP32[6952>>2]|0; - HEAP32[$pInode>>2] = $22; + HEAP32[$8>>2] = 0; + $34 = HEAP32[$3>>2]|0; + $35 = (_fts5StorageGetStmt($34,3,$8,0)|0); + HEAP32[$7>>2] = $35; + HEAP32[$9>>2] = 1; while(1) { - $23 = HEAP32[$pInode>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$pInode>>2]|0; - $26 = (_memcmp($fileId,$25,8)|0); - $27 = ($26|0)!=(0); - $57 = $27; - } else { - $57 = 0; + $36 = HEAP32[$7>>2]|0; + $37 = ($36|0)==(0); + if (!($37)) { + break; } - $28 = HEAP32[$pInode>>2]|0; - if (!($57)) { + $38 = HEAP32[$9>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = ((($39)) + 12|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($41) + 1)|0; + $43 = ($38|0)<=($42|0); + if (!($43)) { break; } - $29 = ((($28)) + 32|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$pInode>>2] = $30; + $44 = HEAP32[$8>>2]|0; + $45 = HEAP32[$9>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = HEAP32[$9>>2]|0; + $48 = (($46) + ($47<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = (_sqlite3_bind_value($44,$45,$49)|0); + HEAP32[$7>>2] = $50; + $51 = HEAP32[$9>>2]|0; + $52 = (($51) + 1)|0; + HEAP32[$9>>2] = $52; } - $31 = ($28|0)==(0|0); - if ($31) { - $32 = (_sqlite3_malloc64(40,0)|0); - HEAP32[$pInode>>2] = $32; - $33 = HEAP32[$pInode>>2]|0; - $34 = ($33|0)==(0|0); - if ($34) { - HEAP32[$0>>2] = 7; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); - } - $35 = HEAP32[$pInode>>2]|0; - dest=$35; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $36 = HEAP32[$pInode>>2]|0; - ;HEAP32[$36>>2]=HEAP32[$fileId>>2]|0;HEAP32[$36+4>>2]=HEAP32[$fileId+4>>2]|0; - $37 = HEAP32[$pInode>>2]|0; - $38 = ((($37)) + 16|0); - HEAP32[$38>>2] = 1; - $39 = HEAP32[6952>>2]|0; - $40 = HEAP32[$pInode>>2]|0; - $41 = ((($40)) + 32|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$pInode>>2]|0; - $43 = ((($42)) + 36|0); - HEAP32[$43>>2] = 0; - $44 = HEAP32[6952>>2]|0; - $45 = ($44|0)!=(0|0); - if ($45) { - $46 = HEAP32[$pInode>>2]|0; - $47 = HEAP32[6952>>2]|0; - $48 = ((($47)) + 36|0); - HEAP32[$48>>2] = $46; - } - $49 = HEAP32[$pInode>>2]|0; - HEAP32[6952>>2] = $49; - } else { - $50 = HEAP32[$pInode>>2]|0; - $51 = ((($50)) + 16|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + 1)|0; - HEAP32[$51>>2] = $53; + $53 = HEAP32[$7>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + $55 = HEAP32[$8>>2]|0; + (_sqlite3_step($55)|0); + $56 = HEAP32[$8>>2]|0; + $57 = (_sqlite3_reset($56)|0); + HEAP32[$7>>2] = $57; } - $54 = HEAP32[$pInode>>2]|0; - $55 = HEAP32[$2>>2]|0; - HEAP32[$55>>2] = $54; - HEAP32[$0>>2] = 0; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); + $58 = HEAP32[$6>>2]|0; + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3_last_insert_rowid($59)|0); + $61 = tempRet0; + $62 = HEAP32[$5>>2]|0; + $63 = $62; + $64 = $63; + HEAP32[$64>>2] = $60; + $65 = (($63) + 4)|0; + $66 = $65; + HEAP32[$66>>2] = $61; + $67 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($67|0); } -function _verifyDbFile($pFile) { - $pFile = $pFile|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0; - var label = 0, sp = 0; +function _sqlite3Fts5StorageIndexInsert($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 108|0; - $buf = sp + 32|0; - $rc = sp + 28|0; - HEAP32[$0>>2] = $pFile; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 18|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 128; - $6 = ($5|0)!=(0); - if ($6) { - STACKTOP = sp;return; - } - $7 = HEAP32[(6500)>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (FUNCTION_TABLE_iii[$7 & 255]($10,$buf)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 32|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$vararg_buffer>>2] = $16; - _sqlite3_log(28,44478,$vararg_buffer); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 20|0; + $10 = sp + 8|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $11 = $6; + $12 = $11; + HEAP32[$12>>2] = $2; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $3; + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$7>>2] = $16; + HEAP32[$8>>2] = 0; + ;HEAP32[$10>>2]=0|0;HEAP32[$10+4>>2]=0|0;HEAP32[$10+8>>2]=0|0; + $17 = HEAP32[$4>>2]|0; + HEAP32[$9>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = (_fts5StorageLoadTotals($18,1)|0); + HEAP32[$8>>2] = $19; + $20 = HEAP32[$8>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = $6; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3Fts5IndexBeginWrite($24,0,$27,$30)|0); + HEAP32[$8>>2] = $31; } - $17 = ((($buf)) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)==(0); - if ($19) { - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 32|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$vararg_buffer1>>2] = $22; - _sqlite3_log(28,44502,$vararg_buffer1); - STACKTOP = sp;return; + $32 = ((($9)) + 4|0); + HEAP32[$32>>2] = 0; + while(1) { + $33 = HEAP32[$8>>2]|0; + $34 = ($33|0)==(0); + if (!($34)) { + break; + } + $35 = ((($9)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$7>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($36|0)<($39|0); + if (!($40)) { + break; + } + $41 = ((($9)) + 8|0); + HEAP32[$41>>2] = 0; + $42 = HEAP32[$7>>2]|0; + $43 = ((($42)) + 20|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($9)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + ($46)|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = ($49|0)==(0); + if ($50) { + $51 = HEAP32[$7>>2]|0; + $52 = HEAP32[$5>>2]|0; + $53 = ((($9)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = (($54) + 2)|0; + $56 = (($52) + ($55<<2)|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_sqlite3_value_text($57)|0); + $59 = HEAP32[$5>>2]|0; + $60 = ((($9)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = (($61) + 2)|0; + $63 = (($59) + ($62<<2)|0); + $64 = HEAP32[$63>>2]|0; + $65 = (_sqlite3_value_bytes($64)|0); + $66 = (_sqlite3Fts5Tokenize($51,4,$58,$65,$9,154)|0); + HEAP32[$8>>2] = $66; + } + $67 = ((($9)) + 8|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)<(0); + $70 = $69 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($8,$10,$68,$70); + $71 = ((($9)) + 8|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($72|0)<(0); + $74 = $73 << 31 >> 31; + $75 = HEAP32[$4>>2]|0; + $76 = ((($75)) + 24|0); + $77 = HEAP32[$76>>2]|0; + $78 = ((($9)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + ($79<<3)|0); + $81 = $80; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (_i64Add(($83|0),($86|0),($72|0),($74|0))|0); + $88 = tempRet0; + $89 = $80; + $90 = $89; + HEAP32[$90>>2] = $87; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = ((($9)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + 1)|0; + HEAP32[$93>>2] = $95; } - $23 = ((($buf)) + 16|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24>>>0)>(1); - $26 = HEAP32[$0>>2]|0; - if ($25) { - $27 = ((($26)) + 32|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$vararg_buffer4>>2] = $28; - _sqlite3_log(28,44531,$vararg_buffer4); - STACKTOP = sp;return; + $96 = HEAP32[$4>>2]|0; + $97 = ((($96)) + 16|0); + $98 = $97; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (($98) + 4)|0; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = (_i64Add(($100|0),($103|0),1,0)|0); + $105 = tempRet0; + $106 = $97; + $107 = $106; + HEAP32[$107>>2] = $104; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = HEAP32[$8>>2]|0; + $111 = ($110|0)==(0); + if ($111) { + $112 = HEAP32[$4>>2]|0; + $113 = $6; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = (($113) + 4)|0; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (_fts5StorageInsertDocsize($112,$115,$118,$10)|0); + HEAP32[$8>>2] = $119; } - $29 = (_fileHasMoved($26)|0); - $30 = ($29|0)!=(0); - if (!($30)) { - STACKTOP = sp;return; + $120 = HEAP32[$10>>2]|0; + _sqlite3_free($120); + $121 = HEAP32[$8>>2]|0; + $122 = ($121|0)==(0); + if (!($122)) { + $125 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($125|0); } - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 32|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$vararg_buffer7>>2] = $33; - _sqlite3_log(28,44558,$vararg_buffer7); - STACKTOP = sp;return; + $123 = HEAP32[$4>>2]|0; + $124 = (_fts5StorageSaveTotals($123)|0); + HEAP32[$8>>2] = $124; + $125 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($125|0); } -function _unixClose($id) { - $id = $id|0; - var $0 = 0, $1 = 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, $pFile = 0; - var $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexBeginWrite($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, $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $pFile = sp; - HEAP32[$0>>2] = $id; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pFile>>2] = $1; - $2 = HEAP32[$pFile>>2]|0; - _verifyDbFile($2); - $3 = HEAP32[$0>>2]|0; - (_unixUnlock($3,0)|0); - _unixEnterMutex(); - $4 = HEAP32[$pFile>>2]|0; - $5 = ((($4)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$pFile>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 24|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$pFile>>2]|0; - _setPendingFd($14); - } - } - $15 = HEAP32[$pFile>>2]|0; - _releaseInodeInfo($15); - $16 = HEAP32[$0>>2]|0; - $17 = (_closeUnixFile($16)|0); - HEAP32[$rc>>2] = $17; - _unixLeaveMutex(); - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); -} -function _unixLock($id,$eFileLock) { - $id = $id|0; - $eFileLock = $eFileLock|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $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, $lock = 0; - var $or$cond = 0, $or$cond3 = 0, $pFile = 0, $pInode = 0, $rc = 0, $tErrno = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $rc = sp + 32|0; - $pFile = sp + 28|0; - $pInode = sp + 24|0; - $lock = sp + 8|0; - $tErrno = sp; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $eFileLock; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pFile>>2] = $3; - HEAP32[$tErrno>>2] = 0; - $4 = HEAP32[$pFile>>2]|0; - $5 = ((($4)) + 16|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = HEAP32[$2>>2]|0; - $9 = ($7|0)>=($8|0); - if ($9) { - HEAP32[$0>>2] = 0; - $158 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($158|0); + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + $7 = $6; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$4>>2]|0; + $20 = ((($19)) + 16|0); + $21 = (_sqlite3Fts5HashNew($16,$18,$20)|0); + $22 = HEAP32[$4>>2]|0; + $23 = ((($22)) + 36|0); + HEAP32[$23>>2] = $21; } - _unixEnterMutex(); - $10 = HEAP32[$pFile>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$pInode>>2] = $12; - $13 = HEAP32[$pFile>>2]|0; - $14 = ((($13)) + 16|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = HEAP32[$pInode>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($16|0)!=($20|0); - if ($21) { - $22 = HEAP32[$pInode>>2]|0; - $23 = ((($22)) + 12|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = ($25|0)>=(3); - $27 = HEAP32[$2>>2]|0; - $28 = ($27|0)>(1); - $or$cond = $26 | $28; - if ($or$cond) { - HEAP32[$rc>>2] = 5; + $24 = $6; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 24|0); + $32 = $31; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = ($29|0)<($37|0); + $39 = ($26>>>0)<($34>>>0); + $40 = ($29|0)==($37|0); + $41 = $40 & $39; + $42 = $38 | $41; + do { + if ($42) { + label = 7; } else { - label = 6; - } - } else { - label = 6; - } - L8: do { - if ((label|0) == 6) { - $29 = HEAP32[$2>>2]|0; - $30 = ($29|0)==(1); - do { - if ($30) { - $31 = HEAP32[$pInode>>2]|0; - $32 = ((($31)) + 12|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34|0)==(1); - if (!($35)) { - $36 = HEAP32[$pInode>>2]|0; - $37 = ((($36)) + 12|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = ($39|0)==(2); - if (!($40)) { - break; - } - } - $41 = HEAP32[$pFile>>2]|0; - $42 = ((($41)) + 16|0); - HEAP8[$42>>0] = 1; - $43 = HEAP32[$pInode>>2]|0; - $44 = ((($43)) + 8|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$44>>2] = $46; - $47 = HEAP32[$pInode>>2]|0; - $48 = ((($47)) + 24|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 1)|0; - HEAP32[$48>>2] = $50; - break L8; - } - } while(0); - $51 = ((($lock)) + 8|0); - HEAP32[$51>>2] = 1; - $52 = ((($lock)) + 2|0); - HEAP16[$52>>1] = 0; - $53 = HEAP32[$2>>2]|0; - $54 = ($53|0)==(1); - if ($54) { - label = 13; - } else { - $55 = HEAP32[$2>>2]|0; - $56 = ($55|0)==(4); - if ($56) { - $57 = HEAP32[$pFile>>2]|0; - $58 = ((($57)) + 16|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = ($60|0)<(3); - if ($61) { - label = 13; - } - } - } - if ((label|0) == 13) { - $62 = HEAP32[$2>>2]|0; - $63 = ($62|0)==(1); - $64 = $63 ? 0 : 1; - $65 = $64&65535; - HEAP16[$lock>>1] = $65; - $66 = HEAP32[1536>>2]|0; - $67 = ((($lock)) + 4|0); - HEAP32[$67>>2] = $66; - $68 = HEAP32[$pFile>>2]|0; - $69 = (_unixFileLock($68,$lock)|0); - $70 = ($69|0)!=(0); - if ($70) { - $71 = (___errno_location()|0); - $72 = HEAP32[$71>>2]|0; - HEAP32[$tErrno>>2] = $72; - $73 = HEAP32[$tErrno>>2]|0; - $74 = (_sqliteErrorFromPosixError($73,3850)|0); - HEAP32[$rc>>2] = $74; - $75 = HEAP32[$rc>>2]|0; - $76 = ($75|0)!=(5); - if (!($76)) { - break; - } - $77 = HEAP32[$pFile>>2]|0; - $78 = HEAP32[$tErrno>>2]|0; - _storeLastErrno($77,$78); + $43 = $6; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$4>>2]|0; + $50 = ((($49)) + 24|0); + $51 = $50; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = ($45|0)==($53|0); + $58 = ($48|0)==($56|0); + $59 = $57 & $58; + if ($59) { + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 32|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0); + if ($63) { + label = 7; break; } } - $79 = HEAP32[$2>>2]|0; - $80 = ($79|0)==(1); - do { - if ($80) { - $81 = HEAP32[1536>>2]|0; - $82 = (($81) + 2)|0; - $83 = ((($lock)) + 4|0); - HEAP32[$83>>2] = $82; - $84 = ((($lock)) + 8|0); - HEAP32[$84>>2] = 510; - $85 = HEAP32[$pFile>>2]|0; - $86 = (_unixFileLock($85,$lock)|0); - $87 = ($86|0)!=(0); - if ($87) { - $88 = (___errno_location()|0); - $89 = HEAP32[$88>>2]|0; - HEAP32[$tErrno>>2] = $89; - $90 = HEAP32[$tErrno>>2]|0; - $91 = (_sqliteErrorFromPosixError($90,3850)|0); - HEAP32[$rc>>2] = $91; - } - $92 = HEAP32[1536>>2]|0; - $93 = ((($lock)) + 4|0); - HEAP32[$93>>2] = $92; - $94 = ((($lock)) + 8|0); - HEAP32[$94>>2] = 1; - HEAP16[$lock>>1] = 2; - $95 = HEAP32[$pFile>>2]|0; - $96 = (_unixFileLock($95,$lock)|0); - $97 = ($96|0)!=(0); - $98 = HEAP32[$rc>>2]|0; - $99 = ($98|0)==(0); - $or$cond3 = $97 & $99; - if ($or$cond3) { - $100 = (___errno_location()|0); - $101 = HEAP32[$100>>2]|0; - HEAP32[$tErrno>>2] = $101; - HEAP32[$rc>>2] = 2058; - } - $102 = HEAP32[$rc>>2]|0; - $103 = ($102|0)!=(0); - if (!($103)) { - $108 = HEAP32[$pFile>>2]|0; - $109 = ((($108)) + 16|0); - HEAP8[$109>>0] = 1; - $110 = HEAP32[$pInode>>2]|0; - $111 = ((($110)) + 24|0); - $112 = HEAP32[$111>>2]|0; - $113 = (($112) + 1)|0; - HEAP32[$111>>2] = $113; - $114 = HEAP32[$pInode>>2]|0; - $115 = ((($114)) + 8|0); - HEAP32[$115>>2] = 1; - break; - } - $104 = HEAP32[$rc>>2]|0; - $105 = ($104|0)!=(5); - if (!($105)) { - break L8; - } - $106 = HEAP32[$pFile>>2]|0; - $107 = HEAP32[$tErrno>>2]|0; - _storeLastErrno($106,$107); - break L8; - } else { - $116 = HEAP32[$2>>2]|0; - $117 = ($116|0)==(4); - if ($117) { - $118 = HEAP32[$pInode>>2]|0; - $119 = ((($118)) + 8|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)>(1); - if ($121) { - HEAP32[$rc>>2] = 5; - break; - } - } - HEAP16[$lock>>1] = 1; - $122 = HEAP32[$2>>2]|0; - $123 = ($122|0)==(2); - $124 = HEAP32[1536>>2]|0; - if ($123) { - $125 = (($124) + 1)|0; - $126 = ((($lock)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = ((($lock)) + 8|0); - HEAP32[$127>>2] = 1; - } else { - $128 = (($124) + 2)|0; - $129 = ((($lock)) + 4|0); - HEAP32[$129>>2] = $128; - $130 = ((($lock)) + 8|0); - HEAP32[$130>>2] = 510; - } - $131 = HEAP32[$pFile>>2]|0; - $132 = (_unixFileLock($131,$lock)|0); - $133 = ($132|0)!=(0); - if ($133) { - $134 = (___errno_location()|0); - $135 = HEAP32[$134>>2]|0; - HEAP32[$tErrno>>2] = $135; - $136 = HEAP32[$tErrno>>2]|0; - $137 = (_sqliteErrorFromPosixError($136,3850)|0); - HEAP32[$rc>>2] = $137; - $138 = HEAP32[$rc>>2]|0; - $139 = ($138|0)!=(5); - if ($139) { - $140 = HEAP32[$pFile>>2]|0; - $141 = HEAP32[$tErrno>>2]|0; - _storeLastErrno($140,$141); - } - } - } - } while(0); - $142 = HEAP32[$rc>>2]|0; - $143 = ($142|0)==(0); - $144 = HEAP32[$2>>2]|0; - if ($143) { - $145 = $144&255; - $146 = HEAP32[$pFile>>2]|0; - $147 = ((($146)) + 16|0); - HEAP8[$147>>0] = $145; - $148 = HEAP32[$2>>2]|0; - $149 = $148&255; - $150 = HEAP32[$pInode>>2]|0; - $151 = ((($150)) + 12|0); - HEAP8[$151>>0] = $149; - break; - } - $152 = ($144|0)==(4); - if ($152) { - $153 = HEAP32[$pFile>>2]|0; - $154 = ((($153)) + 16|0); - HEAP8[$154>>0] = 3; - $155 = HEAP32[$pInode>>2]|0; - $156 = ((($155)) + 12|0); - HEAP8[$156>>0] = 3; + $64 = HEAP32[$4>>2]|0; + $65 = ((($64)) + 16|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = HEAP32[$67>>2]|0; + $69 = ((($68)) + 84|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($66|0)>($70|0); + if ($71) { + label = 7; } } } while(0); - _unixLeaveMutex(); - $157 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $157; - $158 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($158|0); -} -function _unixUnlock($id,$eFileLock) { - $id = $id|0; - $eFileLock = $eFileLock|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $eFileLock; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_posixUnlock($2,$3,0)|0); - STACKTOP = sp;return ($4|0); + if ((label|0) == 7) { + $72 = HEAP32[$4>>2]|0; + _fts5IndexFlush($72); + } + $73 = $6; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$4>>2]|0; + $80 = ((($79)) + 24|0); + $81 = $80; + $82 = $81; + HEAP32[$82>>2] = $75; + $83 = (($81) + 4)|0; + $84 = $83; + HEAP32[$84>>2] = $78; + $85 = HEAP32[$5>>2]|0; + $86 = HEAP32[$4>>2]|0; + $87 = ((($86)) + 32|0); + HEAP32[$87>>2] = $85; + $88 = HEAP32[$4>>2]|0; + $89 = (_fts5IndexReturn($88)|0); + STACKTOP = sp;return ($89|0); } -function _unixCheckReservedLock($id,$pResOut) { - $id = $id|0; - $pResOut = $pResOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $lock = 0, $pFile = 0; - var $rc = 0, $reserved = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _fts5StorageInsertCallback($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $rc = sp + 32|0; - $reserved = sp + 28|0; - $pFile = sp + 24|0; - $lock = sp + 8|0; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $pResOut; - HEAP32[$rc>>2] = 0; - HEAP32[$reserved>>2] = 0; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pFile>>2] = $2; - _unixEnterMutex(); - $3 = HEAP32[$pFile>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)>(1); - if ($9) { - HEAP32[$reserved>>2] = 1; + STACKTOP = STACKTOP + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $14 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $14; + $15 = HEAP32[$12>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$13>>2] = $18; + $19 = HEAP32[$9>>2]|0; + $20 = ($19|0)>(32768); + if ($20) { + HEAP32[$9>>2] = 32768; } - $10 = HEAP32[$reserved>>2]|0; - $11 = ($10|0)!=(0); - do { - if (!($11)) { - $12 = HEAP32[$pFile>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($14)) + 13|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - $18 = ((($lock)) + 2|0); - HEAP16[$18>>1] = 0; - $19 = HEAP32[1536>>2]|0; - $20 = (($19) + 1)|0; - $21 = ((($lock)) + 4|0); - HEAP32[$21>>2] = $20; - $22 = ((($lock)) + 8|0); - HEAP32[$22>>2] = 1; - HEAP16[$lock>>1] = 1; - $23 = HEAP32[(6524)>>2]|0; - $24 = HEAP32[$pFile>>2]|0; - $25 = ((($24)) + 12|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$vararg_buffer>>2] = $lock; - $27 = (FUNCTION_TABLE_iiii[$23 & 255]($26,12,$vararg_buffer)|0); - $28 = ($27|0)!=(0); - if ($28) { - HEAP32[$rc>>2] = 3594; - $29 = HEAP32[$pFile>>2]|0; - $30 = (___errno_location()|0); - $31 = HEAP32[$30>>2]|0; - _storeLastErrno($29,$31); - break; - } - $32 = HEAP16[$lock>>1]|0; - $33 = $32 << 16 >> 16; - $34 = ($33|0)!=(2); - if ($34) { - HEAP32[$reserved>>2] = 1; - } - } + $21 = HEAP32[$7>>2]|0; + $22 = $21 & 1; + $23 = ($22|0)==(0); + if ($23) { + label = 5; + } else { + $24 = HEAP32[$12>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + label = 5; } - } while(0); - _unixLeaveMutex(); - $35 = HEAP32[$reserved>>2]|0; - $36 = HEAP32[$1>>2]|0; - HEAP32[$36>>2] = $35; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + } + if ((label|0) == 5) { + $28 = HEAP32[$12>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$29>>2] = $31; + } + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$12>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$12>>2]|0; + $37 = ((($36)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = (($38) - 1)|0; + $40 = HEAP32[$8>>2]|0; + $41 = HEAP32[$9>>2]|0; + $42 = (_sqlite3Fts5IndexWrite($32,$35,$39,$40,$41)|0); + STACKTOP = sp;return ($42|0); } -function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { - $fd = $fd|0; - $iRegion = $iRegion|0; - $szRegion = $szRegion|0; - $bExtend = $bExtend|0; - $pp = $pp|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $apNew = 0, $i = 0, $iPg = 0, $nByte = 0, $nMap = 0, $nReqRegion = 0, $nShmPerMap = 0, $or$cond = 0, $p = 0; - var $pDbFd = 0, $pMem = 0, $pShmNode = 0, $rc = 0, $sStat = 0, $x = 0, $zFile = 0, label = 0, sp = 0; +function _fts5StorageInsertDocsize($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $0 = sp + 152|0; - $1 = sp + 148|0; - $2 = sp + 144|0; - $3 = sp + 140|0; - $4 = sp + 136|0; - $5 = sp + 132|0; - $pDbFd = sp + 128|0; - $p = sp + 124|0; - $pShmNode = sp + 120|0; - $rc = sp + 116|0; - $nShmPerMap = sp + 112|0; - $nReqRegion = sp + 108|0; - $apNew = sp + 104|0; - $nByte = sp + 100|0; - $sStat = sp + 24|0; - $iPg = sp + 20|0; - $x = sp + 16|0; - $zFile = sp + 12|0; - $nMap = sp + 8|0; - $i = sp + 4|0; - $pMem = sp; - HEAP32[$1>>2] = $fd; - HEAP32[$2>>2] = $iRegion; - HEAP32[$3>>2] = $szRegion; - HEAP32[$4>>2] = $bExtend; - HEAP32[$5>>2] = $pp; - $6 = HEAP32[$1>>2]|0; - HEAP32[$pDbFd>>2] = $6; - HEAP32[$rc>>2] = 0; - $7 = (_unixShmRegionPerMap()|0); - HEAP32[$nShmPerMap>>2] = $7; - $8 = HEAP32[$pDbFd>>2]|0; - $9 = ((($8)) + 36|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $12 = HEAP32[$pDbFd>>2]|0; - $13 = (_unixOpenSharedMemory($12)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)!=(0); - if ($15) { - $16 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $16; - $190 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($190|0); - } + STACKTOP = STACKTOP + 32|0; + $4 = sp + 20|0; + $5 = sp; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$4>>2] = $0; + $9 = $5; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $2; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + $13 = HEAP32[$4>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 44|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0); + if (!($17)) { + $38 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($38|0); } - $17 = HEAP32[$pDbFd>>2]|0; - $18 = ((($17)) + 36|0); + HEAP32[$8>>2] = 0; + $18 = HEAP32[$4>>2]|0; + $19 = (_fts5StorageGetStmt($18,6,$8,0)|0); + HEAP32[$7>>2] = $19; + $20 = HEAP32[$7>>2]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $38 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($38|0); + } + $22 = HEAP32[$8>>2]|0; + $23 = $5; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + (_sqlite3_bind_int64($22,1,$25,$28)|0); + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$6>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$6>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + (_sqlite3_bind_blob($29,2,$31,$34,0)|0); + $35 = HEAP32[$8>>2]|0; + (_sqlite3_step($35)|0); + $36 = HEAP32[$8>>2]|0; + $37 = (_sqlite3_reset($36)|0); + HEAP32[$7>>2] = $37; + $38 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($38|0); +} +function _sqlite3Fts5IndexWrite($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$11>>2] = 0; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$12>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 12|0); $19 = HEAP32[$18>>2]|0; - HEAP32[$p>>2] = $19; - $20 = HEAP32[$p>>2]|0; - $21 = HEAP32[$20>>2]|0; - HEAP32[$pShmNode>>2] = $21; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$nShmPerMap>>2]|0; - $24 = (($22) + ($23))|0; - $25 = HEAP32[$nShmPerMap>>2]|0; - $26 = (($24|0) / ($25|0))&-1; - $27 = HEAP32[$nShmPerMap>>2]|0; - $28 = Math_imul($26, $27)|0; - HEAP32[$nReqRegion>>2] = $28; - $29 = HEAP32[$pShmNode>>2]|0; - $30 = ((($29)) + 20|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31&65535; - $33 = HEAP32[$nReqRegion>>2]|0; - $34 = ($32|0)<($33|0); - L6: do { - if ($34) { - $35 = HEAP32[$nReqRegion>>2]|0; - $36 = HEAP32[$3>>2]|0; - $37 = Math_imul($35, $36)|0; - HEAP32[$nByte>>2] = $37; - $38 = HEAP32[$3>>2]|0; - $39 = HEAP32[$pShmNode>>2]|0; - $40 = ((($39)) + 16|0); - HEAP32[$40>>2] = $38; - $41 = HEAP32[$pShmNode>>2]|0; - $42 = ((($41)) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)>=(0); - L8: do { - if ($44) { - $45 = HEAP32[(6500)>>2]|0; - $46 = HEAP32[$pShmNode>>2]|0; - $47 = ((($46)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = (FUNCTION_TABLE_iii[$45 & 255]($48,$sStat)|0); - $50 = ($49|0)!=(0); - if ($50) { - HEAP32[$rc>>2] = 4874; - break L6; - } - $51 = ((($sStat)) + 36|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$nByte>>2]|0; - $54 = ($52|0)<($53|0); - if ($54) { - $55 = HEAP32[$4>>2]|0; - $56 = ($55|0)!=(0); - if (!($56)) { - break L6; - } - $57 = ((($sStat)) + 36|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($58|0) / 4096)&-1; - HEAP32[$iPg>>2] = $59; - while(1) { - $60 = HEAP32[$iPg>>2]|0; - $61 = HEAP32[$nByte>>2]|0; - $62 = (($61|0) / 4096)&-1; - $63 = ($60|0)<($62|0); - if (!($63)) { - break L8; - } - HEAP32[$x>>2] = 0; - $64 = HEAP32[$pShmNode>>2]|0; - $65 = ((($64)) + 12|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$iPg>>2]|0; - $68 = $67<<12; - $69 = (($68) + 4096)|0; - $70 = (($69) - 1)|0; - $71 = ($70|0)<(0); - $72 = $71 << 31 >> 31; - $73 = (_seekAndWriteFd($66,$70,$72,18402,1,$x)|0); - $74 = ($73|0)!=(1); - if ($74) { - break; - } - $80 = HEAP32[$iPg>>2]|0; - $81 = (($80) + 1)|0; - HEAP32[$iPg>>2] = $81; - } - $75 = HEAP32[$pShmNode>>2]|0; - $76 = ((($75)) + 8|0); - $77 = HEAP32[$76>>2]|0; - HEAP32[$zFile>>2] = $77; - $78 = HEAP32[$zFile>>2]|0; - $79 = (_unixLogErrorAtLine(4874,44186,$78,33839)|0); - HEAP32[$rc>>2] = $79; - break L6; - } - } - } while(0); - $82 = HEAP32[$pShmNode>>2]|0; - $83 = ((($82)) + 24|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$nReqRegion>>2]|0; - $86 = $85<<2; - $87 = (_sqlite3_realloc($84,$86)|0); - HEAP32[$apNew>>2] = $87; - $88 = HEAP32[$apNew>>2]|0; - $89 = ($88|0)!=(0|0); - if (!($89)) { - HEAP32[$rc>>2] = 3082; - break; - } - $90 = HEAP32[$apNew>>2]|0; - $91 = HEAP32[$pShmNode>>2]|0; - $92 = ((($91)) + 24|0); - HEAP32[$92>>2] = $90; - while(1) { - $93 = HEAP32[$pShmNode>>2]|0; - $94 = ((($93)) + 20|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95&65535; - $97 = HEAP32[$nReqRegion>>2]|0; - $98 = ($96|0)<($97|0); - if (!($98)) { - break L6; - } - $99 = HEAP32[$3>>2]|0; - $100 = HEAP32[$nShmPerMap>>2]|0; - $101 = Math_imul($99, $100)|0; - HEAP32[$nMap>>2] = $101; - $102 = HEAP32[$pShmNode>>2]|0; - $103 = ((($102)) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)>=(0); - if ($105) { - $106 = HEAP32[(6704)>>2]|0; - $107 = HEAP32[$nMap>>2]|0; - $108 = HEAP32[$pShmNode>>2]|0; - $109 = ((($108)) + 22|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110&255; - $112 = ($111|0)!=(0); - $113 = $112 ? 1 : 3; - $114 = HEAP32[$pShmNode>>2]|0; - $115 = ((($114)) + 12|0); - $116 = HEAP32[$115>>2]|0; - $117 = HEAP32[$3>>2]|0; - $118 = ($117|0)<(0); - $119 = $118 << 31 >> 31; - $120 = HEAP32[$pShmNode>>2]|0; - $121 = ((($120)) + 20|0); - $122 = HEAP16[$121>>1]|0; - $123 = $122&65535; - $124 = (___muldi3(($117|0),($119|0),($123|0),0)|0); - $125 = tempRet0; - $126 = (FUNCTION_TABLE_iiiiiii[$106 & 255](0,$107,$113,1,$116,$124)|0); - HEAP32[$pMem>>2] = $126; - $127 = HEAP32[$pMem>>2]|0; - $128 = ($127|0)==((-1)|0); - if ($128) { - label = 21; - break; - } - } else { - $133 = HEAP32[$3>>2]|0; - $134 = ($133|0)<(0); - $135 = $134 << 31 >> 31; - $136 = (_sqlite3_malloc64($133,$135)|0); - HEAP32[$pMem>>2] = $136; - $137 = HEAP32[$pMem>>2]|0; - $138 = ($137|0)==(0|0); - if ($138) { - label = 23; - break; - } - $139 = HEAP32[$pMem>>2]|0; - $140 = HEAP32[$3>>2]|0; - _memset(($139|0),0,($140|0))|0; - } - HEAP32[$i>>2] = 0; - while(1) { - $141 = HEAP32[$i>>2]|0; - $142 = HEAP32[$nShmPerMap>>2]|0; - $143 = ($141|0)<($142|0); - if (!($143)) { - break; - } - $144 = HEAP32[$3>>2]|0; - $145 = HEAP32[$i>>2]|0; - $146 = Math_imul($144, $145)|0; - $147 = HEAP32[$pMem>>2]|0; - $148 = (($147) + ($146)|0); - $149 = HEAP32[$pShmNode>>2]|0; - $150 = ((($149)) + 20|0); - $151 = HEAP16[$150>>1]|0; - $152 = $151&65535; - $153 = HEAP32[$i>>2]|0; - $154 = (($152) + ($153))|0; - $155 = HEAP32[$pShmNode>>2]|0; - $156 = ((($155)) + 24|0); - $157 = HEAP32[$156>>2]|0; - $158 = (($157) + ($154<<2)|0); - HEAP32[$158>>2] = $148; - $159 = HEAP32[$i>>2]|0; - $160 = (($159) + 1)|0; - HEAP32[$i>>2] = $160; - } - $161 = HEAP32[$nShmPerMap>>2]|0; - $162 = HEAP32[$pShmNode>>2]|0; - $163 = ((($162)) + 20|0); - $164 = HEAP16[$163>>1]|0; - $165 = $164&65535; - $166 = (($165) + ($161))|0; - $167 = $166&65535; - HEAP16[$163>>1] = $167; - } - if ((label|0) == 21) { - $129 = HEAP32[$pShmNode>>2]|0; - $130 = ((($129)) + 8|0); - $131 = HEAP32[$130>>2]|0; - $132 = (_unixLogErrorAtLine(5386,44273,$131,33866)|0); - HEAP32[$rc>>2] = $132; - break; - } - else if ((label|0) == 23) { - HEAP32[$rc>>2] = 7; - break; - } + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 24|0); + $22 = $21; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = HEAP32[$8>>2]|0; + $31 = HEAP32[$9>>2]|0; + $32 = (_sqlite3Fts5HashWrite($19,$24,$27,$28,$29,48,$30,$31)|0); + HEAP32[$11>>2] = $32; + HEAP32[$10>>2] = 0; + while(1) { + $33 = HEAP32[$10>>2]|0; + $34 = HEAP32[$12>>2]|0; + $35 = ((($34)) + 24|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($33|0)<($36|0); + $38 = HEAP32[$11>>2]|0; + $39 = ($38|0)==(0); + $40 = $37 ? $39 : 0; + if (!($40)) { + break; } - } while(0); - $168 = HEAP32[$pShmNode>>2]|0; - $169 = ((($168)) + 20|0); - $170 = HEAP16[$169>>1]|0; - $171 = $170&65535; - $172 = HEAP32[$2>>2]|0; - $173 = ($171|0)>($172|0); - if ($173) { - $174 = HEAP32[$2>>2]|0; - $175 = HEAP32[$pShmNode>>2]|0; - $176 = ((($175)) + 24|0); - $177 = HEAP32[$176>>2]|0; - $178 = (($177) + ($174<<2)|0); - $179 = HEAP32[$178>>2]|0; - $180 = HEAP32[$5>>2]|0; - HEAP32[$180>>2] = $179; - } else { - $181 = HEAP32[$5>>2]|0; - HEAP32[$181>>2] = 0; - } - $182 = HEAP32[$pShmNode>>2]|0; - $183 = ((($182)) + 22|0); - $184 = HEAP8[$183>>0]|0; - $185 = $184&255; - $186 = ($185|0)!=(0); - $187 = HEAP32[$rc>>2]|0; - $188 = ($187|0)==(0); - $or$cond = $186 & $188; - if ($or$cond) { - HEAP32[$rc>>2] = 8; + $41 = HEAP32[$12>>2]|0; + $42 = ((($41)) + 28|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$10>>2]|0; + $45 = (($43) + ($44<<2)|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$13>>2] = $46; + $47 = HEAP32[$8>>2]|0; + $48 = HEAP32[$9>>2]|0; + $49 = HEAP32[$13>>2]|0; + $50 = (_sqlite3Fts5IndexCharlenToBytelen($47,$48,$49)|0); + HEAP32[$14>>2] = $50; + $51 = HEAP32[$14>>2]|0; + $52 = ($51|0)!=(0); + if ($52) { + $53 = HEAP32[$5>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$5>>2]|0; + $57 = ((($56)) + 24|0); + $58 = $57; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$6>>2]|0; + $65 = HEAP32[$7>>2]|0; + $66 = HEAP32[$10>>2]|0; + $67 = (48 + ($66))|0; + $68 = (($67) + 1)|0; + $69 = $68&255; + $70 = HEAP32[$8>>2]|0; + $71 = HEAP32[$14>>2]|0; + $72 = (_sqlite3Fts5HashWrite($55,$60,$63,$64,$65,$69,$70,$71)|0); + HEAP32[$11>>2] = $72; + } + $73 = HEAP32[$10>>2]|0; + $74 = (($73) + 1)|0; + HEAP32[$10>>2] = $74; } - $189 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $189; - $190 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($190|0); + $75 = HEAP32[$11>>2]|0; + STACKTOP = sp;return ($75|0); } -function _unixOpenSharedMemory($pDbFd) { - $pDbFd = $pDbFd|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; +function _sqlite3Fts5HashWrite($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; + var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; + var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0; var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nShmFilename = 0, $openFlags = 0, $p = 0, $pInode = 0, $pShmNode = 0, $rc = 0, $sStat = 0, $vararg_buffer = 0, $zBasePath = 0; - var $zShmFilename = 0, label = 0, sp = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer = sp; - $0 = sp + 116|0; - $1 = sp + 112|0; - $p = sp + 108|0; - $pShmNode = sp + 104|0; - $rc = sp + 100|0; - $pInode = sp + 96|0; - $zShmFilename = sp + 92|0; - $nShmFilename = sp + 88|0; - $sStat = sp + 12|0; - $zBasePath = sp + 8|0; - $openFlags = sp + 4|0; - HEAP32[$1>>2] = $pDbFd; - HEAP32[$p>>2] = 0; - $2 = (_sqlite3_malloc64(16,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = 7; - $130 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($130|0); - } - $5 = HEAP32[$p>>2]|0; - ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0; - _unixEnterMutex(); - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pInode>>2] = $8; - $9 = HEAP32[$pInode>>2]|0; - $10 = ((($9)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pShmNode>>2] = $11; - $12 = HEAP32[$pShmNode>>2]|0; - $13 = ($12|0)==(0|0); - L5: do { - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 32|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$zBasePath>>2] = $16; - $17 = HEAP32[(6500)>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = (FUNCTION_TABLE_iii[$17 & 255]($20,$sStat)|0); - $22 = ($21|0)!=(0); - do { - if ($22) { - HEAP32[$rc>>2] = 1802; - } else { - $23 = HEAP32[$zBasePath>>2]|0; - $24 = (_strlen($23)|0); - $25 = (6 + ($24))|0; - HEAP32[$nShmFilename>>2] = $25; - $26 = HEAP32[$nShmFilename>>2]|0; - $27 = (36 + ($26))|0; - $28 = (_sqlite3_malloc64($27,0)|0); - HEAP32[$pShmNode>>2] = $28; - $29 = HEAP32[$pShmNode>>2]|0; - $30 = ($29|0)==(0|0); - if ($30) { - HEAP32[$rc>>2] = 7; - break; - } - $31 = HEAP32[$pShmNode>>2]|0; - $32 = HEAP32[$nShmFilename>>2]|0; - $33 = (36 + ($32))|0; - _memset(($31|0),0,($33|0))|0; - $34 = HEAP32[$pShmNode>>2]|0; - $35 = ((($34)) + 36|0); - $36 = HEAP32[$pShmNode>>2]|0; - $37 = ((($36)) + 8|0); - HEAP32[$37>>2] = $35; - HEAP32[$zShmFilename>>2] = $35; - $38 = HEAP32[$nShmFilename>>2]|0; - $39 = HEAP32[$zShmFilename>>2]|0; - $40 = HEAP32[$zBasePath>>2]|0; - HEAP32[$vararg_buffer>>2] = $40; - (_sqlite3_snprintf($38,$39,44586,$vararg_buffer)|0); - $41 = HEAP32[$pShmNode>>2]|0; - $42 = ((($41)) + 12|0); - HEAP32[$42>>2] = -1; - $43 = HEAP32[$pShmNode>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 8|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($46)) + 20|0); - HEAP32[$47>>2] = $43; - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 8|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$pShmNode>>2]|0; - HEAP32[$51>>2] = $50; - $52 = HEAP32[(12)>>2]|0; - $53 = ($52|0)!=(0); - if ($53) { - $54 = HEAP32[$pShmNode>>2]|0; - $55 = ((($54)) + 4|0); - HEAP32[$55>>2] = (8); - $56 = HEAP32[$pShmNode>>2]|0; - $57 = ((($56)) + 4|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0|0); - if ($59) { - HEAP32[$rc>>2] = 7; - break; - } - } - $60 = HEAP32[$pInode>>2]|0; - $61 = ((($60)) + 13|0); - $62 = HEAP8[$61>>0]|0; - $63 = $62&255; - $64 = ($63|0)==(0); - if (!($64)) { - break L5; - } - HEAP32[$openFlags>>2] = 66; - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 32|0); - $67 = HEAP32[$66>>2]|0; - $68 = (_sqlite3_uri_boolean($67,44593,0)|0); - $69 = ($68|0)!=(0); - if ($69) { - HEAP32[$openFlags>>2] = 0; - $70 = HEAP32[$pShmNode>>2]|0; - $71 = ((($70)) + 22|0); - HEAP8[$71>>0] = 1; - } - $72 = HEAP32[$zShmFilename>>2]|0; - $73 = HEAP32[$openFlags>>2]|0; - $74 = ((($sStat)) + 12|0); - $75 = HEAP32[$74>>2]|0; - $76 = $75 & 511; - $77 = (_robust_open($72,$73,$76)|0); - $78 = HEAP32[$pShmNode>>2]|0; - $79 = ((($78)) + 12|0); - HEAP32[$79>>2] = $77; - $80 = HEAP32[$pShmNode>>2]|0; - $81 = ((($80)) + 12|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)<(0); - if ($83) { - $84 = (_sqlite3CantopenError(33691)|0); - $85 = HEAP32[$zShmFilename>>2]|0; - $86 = (_unixLogErrorAtLine($84,44128,$85,33691)|0); - HEAP32[$rc>>2] = $86; - break; - } - $87 = HEAP32[$pShmNode>>2]|0; - $88 = ((($87)) + 12|0); - $89 = HEAP32[$88>>2]|0; - $90 = ((($sStat)) + 20|0); - $91 = HEAP32[$90>>2]|0; - $92 = ((($sStat)) + 24|0); - $93 = HEAP32[$92>>2]|0; - (_robustFchown($89,$91,$93)|0); - HEAP32[$rc>>2] = 0; - $94 = HEAP32[$1>>2]|0; - $95 = (_unixShmSystemLock($94,1,128,1)|0); - $96 = ($95|0)==(0); - if ($96) { - $97 = HEAP32[$pShmNode>>2]|0; - $98 = ((($97)) + 12|0); - $99 = HEAP32[$98>>2]|0; - $100 = (_robust_ftruncate($99,0,0)|0); - $101 = ($100|0)!=(0); - if ($101) { - $102 = HEAP32[$zShmFilename>>2]|0; - $103 = (_unixLogErrorAtLine(4618,44151,$102,33707)|0); - HEAP32[$rc>>2] = $103; - } - } - $104 = HEAP32[$rc>>2]|0; - $105 = ($104|0)==(0); - if ($105) { - $106 = HEAP32[$1>>2]|0; - $107 = (_unixShmSystemLock($106,0,128,1)|0); - HEAP32[$rc>>2] = $107; - } - $108 = HEAP32[$rc>>2]|0; - $109 = ($108|0)!=(0); - if (!($109)) { - break L5; - } - } - } while(0); - $127 = HEAP32[$1>>2]|0; - _unixShmPurge($127); - $128 = HEAP32[$p>>2]|0; - _sqlite3_free($128); - _unixLeaveMutex(); - $129 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $129; - $130 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($130|0); + STACKTOP = STACKTOP + 80|0; + $8 = sp + 68|0; + $9 = sp + 64|0; + $10 = sp; + $11 = sp + 60|0; + $12 = sp + 56|0; + $13 = sp + 72|0; + $14 = sp + 52|0; + $15 = sp + 48|0; + $16 = sp + 44|0; + $17 = sp + 40|0; + $18 = sp + 36|0; + $19 = sp + 32|0; + $20 = sp + 28|0; + $21 = sp + 24|0; + $22 = sp + 20|0; + $23 = sp + 16|0; + $24 = sp + 12|0; + $25 = sp + 8|0; + HEAP32[$9>>2] = $0; + $26 = $10; + $27 = $26; + HEAP32[$27>>2] = $1; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $2; + HEAP32[$11>>2] = $3; + HEAP32[$12>>2] = $4; + HEAP8[$13>>0] = $5; + HEAP32[$14>>2] = $6; + HEAP32[$15>>2] = $7; + HEAP32[$19>>2] = 0; + $30 = HEAP32[$9>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(0); + $33 = $32&1; + HEAP32[$20>>2] = $33; + $34 = HEAP32[$9>>2]|0; + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP8[$13>>0]|0; + $38 = HEAP32[$14>>2]|0; + $39 = HEAP32[$15>>2]|0; + $40 = (_fts5HashKey2($36,$37,$38,$39)|0); + HEAP32[$16>>2] = $40; + $41 = HEAP32[$9>>2]|0; + $42 = ((($41)) + 20|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$16>>2]|0; + $45 = (($43) + ($44<<2)|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$17>>2] = $46; + while(1) { + $47 = HEAP32[$17>>2]|0; + $48 = ($47|0)!=(0|0); + if (!($48)) { + break; } - } while(0); - $110 = HEAP32[$pShmNode>>2]|0; - $111 = HEAP32[$p>>2]|0; - HEAP32[$111>>2] = $110; - $112 = HEAP32[$pShmNode>>2]|0; - $113 = ((($112)) + 28|0); - $114 = HEAP32[$113>>2]|0; - $115 = (($114) + 1)|0; - HEAP32[$113>>2] = $115; - $116 = HEAP32[$p>>2]|0; - $117 = HEAP32[$1>>2]|0; - $118 = ((($117)) + 36|0); - HEAP32[$118>>2] = $116; - _unixLeaveMutex(); - $119 = HEAP32[$pShmNode>>2]|0; - $120 = ((($119)) + 32|0); - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$p>>2]|0; - $123 = ((($122)) + 4|0); - HEAP32[$123>>2] = $121; - $124 = HEAP32[$p>>2]|0; - $125 = HEAP32[$pShmNode>>2]|0; - $126 = ((($125)) + 32|0); - HEAP32[$126>>2] = $124; - HEAP32[$0>>2] = 0; - $130 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($130|0); -} -function _posixUnlock($id,$eFileLock,$handleNFSUnlock) { - $id = $id|0; - $eFileLock = $eFileLock|0; - $handleNFSUnlock = $handleNFSUnlock|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $lock = 0, $pFile = 0, $pInode = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $pFile = sp + 28|0; - $pInode = sp + 24|0; - $lock = sp + 8|0; - $rc = sp; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $eFileLock; - HEAP32[$3>>2] = $handleNFSUnlock; - $4 = HEAP32[$1>>2]|0; - HEAP32[$pFile>>2] = $4; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$pFile>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = HEAP32[$2>>2]|0; - $10 = ($8|0)<=($9|0); - if ($10) { - HEAP32[$0>>2] = 0; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); + $49 = HEAP32[$17>>2]|0; + $50 = ((($49)) + 40|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51 << 24 >> 24; + $53 = HEAP8[$13>>0]|0; + $54 = $53 << 24 >> 24; + $55 = ($52|0)==($54|0); + if ($55) { + $56 = HEAP32[$17>>2]|0; + $57 = ((($56)) + 20|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$15>>2]|0; + $60 = ($58|0)==($59|0); + if ($60) { + $61 = HEAP32[$17>>2]|0; + $62 = ((($61)) + 40|0); + $63 = ((($62)) + 1|0); + $64 = HEAP32[$14>>2]|0; + $65 = HEAP32[$15>>2]|0; + $66 = (_memcmp($63,$64,$65)|0); + $67 = ($66|0)==(0); + if ($67) { + break; + } + } + } + $68 = HEAP32[$17>>2]|0; + $69 = HEAP32[$68>>2]|0; + HEAP32[$17>>2] = $69; } - _unixEnterMutex(); - $11 = HEAP32[$pFile>>2]|0; - $12 = ((($11)) + 8|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pInode>>2] = $13; - $14 = HEAP32[$pFile>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = ($17|0)>(1); - do { - if ($18) { - $19 = HEAP32[$2>>2]|0; - $20 = ($19|0)==(1); - if ($20) { - HEAP16[$lock>>1] = 0; - $21 = ((($lock)) + 2|0); - HEAP16[$21>>1] = 0; - $22 = HEAP32[1536>>2]|0; - $23 = (($22) + 2)|0; - $24 = ((($lock)) + 4|0); - HEAP32[$24>>2] = $23; - $25 = ((($lock)) + 8|0); - HEAP32[$25>>2] = 510; - $26 = HEAP32[$pFile>>2]|0; - $27 = (_unixFileLock($26,$lock)|0); - $28 = ($27|0)!=(0); - if ($28) { - HEAP32[$rc>>2] = 2314; - $29 = HEAP32[$pFile>>2]|0; - $30 = (___errno_location()|0); - $31 = HEAP32[$30>>2]|0; - _storeLastErrno($29,$31); + $70 = HEAP32[$17>>2]|0; + $71 = ($70|0)==(0|0); + if ($71) { + $72 = HEAP32[$15>>2]|0; + $73 = (($72) + 1)|0; + $74 = (40 + ($73))|0; + $75 = (($74) + 1)|0; + $76 = (($75) + 64)|0; + HEAP32[$21>>2] = $76; + $77 = HEAP32[$21>>2]|0; + $78 = ($77|0)<(128); + $$ = $78 ? 128 : $76; + HEAP32[$21>>2] = $$; + $79 = HEAP32[$9>>2]|0; + $80 = ((($79)) + 8|0); + $81 = HEAP32[$80>>2]|0; + $82 = $81<<1; + $83 = HEAP32[$9>>2]|0; + $84 = ((($83)) + 12|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($82|0)>=($85|0); + do { + if ($86) { + $87 = HEAP32[$9>>2]|0; + $88 = (_fts5HashResize($87)|0); + HEAP32[$22>>2] = $88; + $89 = HEAP32[$22>>2]|0; + $90 = ($89|0)!=(0); + if (!($90)) { + $92 = HEAP32[$9>>2]|0; + $93 = ((($92)) + 12|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP8[$13>>0]|0; + $96 = HEAP32[$14>>2]|0; + $97 = HEAP32[$15>>2]|0; + $98 = (_fts5HashKey2($94,$95,$96,$97)|0); + HEAP32[$16>>2] = $98; break; } + $91 = HEAP32[$22>>2]|0; + HEAP32[$8>>2] = $91; + $397 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($397|0); } - HEAP16[$lock>>1] = 2; - $32 = ((($lock)) + 2|0); - HEAP16[$32>>1] = 0; - $33 = HEAP32[1536>>2]|0; - $34 = ((($lock)) + 4|0); - HEAP32[$34>>2] = $33; - $35 = ((($lock)) + 8|0); - HEAP32[$35>>2] = 2; - $36 = HEAP32[$pFile>>2]|0; - $37 = (_unixFileLock($36,$lock)|0); - $38 = ($37|0)==(0); - if ($38) { - $39 = HEAP32[$pInode>>2]|0; - $40 = ((($39)) + 12|0); - HEAP8[$40>>0] = 1; - label = 10; - break; - } else { - HEAP32[$rc>>2] = 2058; - $41 = HEAP32[$pFile>>2]|0; - $42 = (___errno_location()|0); - $43 = HEAP32[$42>>2]|0; - _storeLastErrno($41,$43); + } while(0); + $99 = HEAP32[$21>>2]|0; + $100 = (_sqlite3_malloc($99)|0); + HEAP32[$17>>2] = $100; + $101 = HEAP32[$17>>2]|0; + $102 = ($101|0)!=(0|0); + if (!($102)) { + HEAP32[$8>>2] = 7; + $397 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($397|0); + } + $103 = HEAP32[$17>>2]|0; + dest=$103; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $104 = HEAP32[$21>>2]|0; + $105 = HEAP32[$17>>2]|0; + $106 = ((($105)) + 8|0); + HEAP32[$106>>2] = $104; + $107 = HEAP8[$13>>0]|0; + $108 = HEAP32[$17>>2]|0; + $109 = ((($108)) + 40|0); + HEAP8[$109>>0] = $107; + $110 = HEAP32[$17>>2]|0; + $111 = ((($110)) + 40|0); + $112 = ((($111)) + 1|0); + $113 = HEAP32[$14>>2]|0; + $114 = HEAP32[$15>>2]|0; + _memcpy(($112|0),($113|0),($114|0))|0; + $115 = HEAP32[$15>>2]|0; + $116 = HEAP32[$17>>2]|0; + $117 = ((($116)) + 20|0); + HEAP32[$117>>2] = $115; + $118 = HEAP32[$17>>2]|0; + $119 = ((($118)) + 40|0); + $120 = HEAP32[$15>>2]|0; + $121 = (($120) + 1)|0; + $122 = (($119) + ($121)|0); + HEAP8[$122>>0] = 0; + $123 = HEAP32[$15>>2]|0; + $124 = (($123) + 1)|0; + $125 = (($124) + 1)|0; + $126 = (($125) + 40)|0; + $127 = HEAP32[$17>>2]|0; + $128 = ((($127)) + 16|0); + HEAP32[$128>>2] = $126; + $129 = HEAP32[$9>>2]|0; + $130 = ((($129)) + 20|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$16>>2]|0; + $133 = (($131) + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$17>>2]|0; + HEAP32[$135>>2] = $134; + $136 = HEAP32[$17>>2]|0; + $137 = HEAP32[$9>>2]|0; + $138 = ((($137)) + 20|0); + $139 = HEAP32[$138>>2]|0; + $140 = HEAP32[$16>>2]|0; + $141 = (($139) + ($140<<2)|0); + HEAP32[$141>>2] = $136; + $142 = HEAP32[$9>>2]|0; + $143 = ((($142)) + 8|0); + $144 = HEAP32[$143>>2]|0; + $145 = (($144) + 1)|0; + HEAP32[$143>>2] = $145; + $146 = HEAP32[$17>>2]|0; + $147 = HEAP32[$17>>2]|0; + $148 = ((($147)) + 16|0); + $149 = HEAP32[$148>>2]|0; + $150 = (($146) + ($149)|0); + $151 = $10; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = (($151) + 4)|0; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (_sqlite3Fts5PutVarint($150,$153,$156)|0); + $158 = HEAP32[$17>>2]|0; + $159 = ((($158)) + 16|0); + $160 = HEAP32[$159>>2]|0; + $161 = (($160) + ($157))|0; + HEAP32[$159>>2] = $161; + $162 = $10; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = (($162) + 4)|0; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = HEAP32[$17>>2]|0; + $169 = ((($168)) + 32|0); + $170 = $169; + $171 = $170; + HEAP32[$171>>2] = $164; + $172 = (($170) + 4)|0; + $173 = $172; + HEAP32[$173>>2] = $167; + $174 = HEAP32[$17>>2]|0; + $175 = ((($174)) + 16|0); + $176 = HEAP32[$175>>2]|0; + $177 = HEAP32[$17>>2]|0; + $178 = ((($177)) + 12|0); + HEAP32[$178>>2] = $176; + $179 = HEAP32[$9>>2]|0; + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)!=(1); + if ($181) { + $182 = HEAP32[$17>>2]|0; + $183 = ((($182)) + 16|0); + $184 = HEAP32[$183>>2]|0; + $185 = (($184) + 1)|0; + HEAP32[$183>>2] = $185; + $186 = HEAP32[$9>>2]|0; + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0); + $189 = $188 ? 0 : -1; + $190 = $189&65535; + $191 = HEAP32[$17>>2]|0; + $192 = ((($191)) + 26|0); + HEAP16[$192>>1] = $190; + } + $193 = HEAP32[$17>>2]|0; + $194 = ((($193)) + 16|0); + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$19>>2]|0; + $197 = (($196) + ($195))|0; + HEAP32[$19>>2] = $197; + } else { + $198 = HEAP32[$17>>2]|0; + $199 = ((($198)) + 8|0); + $200 = HEAP32[$199>>2]|0; + $201 = HEAP32[$17>>2]|0; + $202 = ((($201)) + 16|0); + $203 = HEAP32[$202>>2]|0; + $204 = (($200) - ($203))|0; + $205 = ($204|0)<(22); + if ($205) { + $206 = HEAP32[$17>>2]|0; + $207 = ((($206)) + 8|0); + $208 = HEAP32[$207>>2]|0; + $209 = $208<<1; + HEAP32[$23>>2] = $209; + $210 = HEAP32[$17>>2]|0; + $211 = HEAP32[$23>>2]|0; + $212 = (_sqlite3_realloc($210,$211)|0); + HEAP32[$24>>2] = $212; + $213 = HEAP32[$24>>2]|0; + $214 = ($213|0)==(0|0); + if ($214) { + HEAP32[$8>>2] = 7; + $397 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($397|0); + } + $215 = HEAP32[$23>>2]|0; + $216 = HEAP32[$24>>2]|0; + $217 = ((($216)) + 8|0); + HEAP32[$217>>2] = $215; + $218 = HEAP32[$9>>2]|0; + $219 = ((($218)) + 20|0); + $220 = HEAP32[$219>>2]|0; + $221 = HEAP32[$16>>2]|0; + $222 = (($220) + ($221<<2)|0); + HEAP32[$25>>2] = $222; + while(1) { + $223 = HEAP32[$25>>2]|0; + $224 = HEAP32[$223>>2]|0; + $225 = HEAP32[$17>>2]|0; + $226 = ($224|0)!=($225|0); + if (!($226)) { + break; + } + $227 = HEAP32[$25>>2]|0; + $228 = HEAP32[$227>>2]|0; + HEAP32[$25>>2] = $228; + } + $229 = HEAP32[$24>>2]|0; + $230 = HEAP32[$25>>2]|0; + HEAP32[$230>>2] = $229; + $231 = HEAP32[$24>>2]|0; + HEAP32[$17>>2] = $231; + } + $232 = HEAP32[$17>>2]|0; + $233 = ((($232)) + 16|0); + $234 = HEAP32[$233>>2]|0; + $235 = HEAP32[$19>>2]|0; + $236 = (($235) - ($234))|0; + HEAP32[$19>>2] = $236; + } + $237 = HEAP32[$17>>2]|0; + HEAP32[$18>>2] = $237; + $238 = $10; + $239 = $238; + $240 = HEAP32[$239>>2]|0; + $241 = (($238) + 4)|0; + $242 = $241; + $243 = HEAP32[$242>>2]|0; + $244 = HEAP32[$17>>2]|0; + $245 = ((($244)) + 32|0); + $246 = $245; + $247 = $246; + $248 = HEAP32[$247>>2]|0; + $249 = (($246) + 4)|0; + $250 = $249; + $251 = HEAP32[$250>>2]|0; + $252 = ($240|0)!=($248|0); + $253 = ($243|0)!=($251|0); + $254 = $252 | $253; + if ($254) { + $255 = HEAP32[$9>>2]|0; + $256 = HEAP32[$17>>2]|0; + _fts5HashAddPoslistSize($255,$256); + $257 = HEAP32[$18>>2]|0; + $258 = HEAP32[$17>>2]|0; + $259 = ((($258)) + 16|0); + $260 = HEAP32[$259>>2]|0; + $261 = (($257) + ($260)|0); + $262 = $10; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = (($262) + 4)|0; + $266 = $265; + $267 = HEAP32[$266>>2]|0; + $268 = HEAP32[$17>>2]|0; + $269 = ((($268)) + 32|0); + $270 = $269; + $271 = $270; + $272 = HEAP32[$271>>2]|0; + $273 = (($270) + 4)|0; + $274 = $273; + $275 = HEAP32[$274>>2]|0; + $276 = (_i64Subtract(($264|0),($267|0),($272|0),($275|0))|0); + $277 = tempRet0; + $278 = (_sqlite3Fts5PutVarint($261,$276,$277)|0); + $279 = HEAP32[$17>>2]|0; + $280 = ((($279)) + 16|0); + $281 = HEAP32[$280>>2]|0; + $282 = (($281) + ($278))|0; + HEAP32[$280>>2] = $282; + $283 = $10; + $284 = $283; + $285 = HEAP32[$284>>2]|0; + $286 = (($283) + 4)|0; + $287 = $286; + $288 = HEAP32[$287>>2]|0; + $289 = HEAP32[$17>>2]|0; + $290 = ((($289)) + 32|0); + $291 = $290; + $292 = $291; + HEAP32[$292>>2] = $285; + $293 = (($291) + 4)|0; + $294 = $293; + HEAP32[$294>>2] = $288; + HEAP32[$20>>2] = 1; + $295 = HEAP32[$17>>2]|0; + $296 = ((($295)) + 16|0); + $297 = HEAP32[$296>>2]|0; + $298 = HEAP32[$17>>2]|0; + $299 = ((($298)) + 12|0); + HEAP32[$299>>2] = $297; + $300 = HEAP32[$9>>2]|0; + $301 = HEAP32[$300>>2]|0; + $302 = ($301|0)!=(1); + if ($302) { + $303 = HEAP32[$17>>2]|0; + $304 = ((($303)) + 16|0); + $305 = HEAP32[$304>>2]|0; + $306 = (($305) + 1)|0; + HEAP32[$304>>2] = $306; + $307 = HEAP32[$9>>2]|0; + $308 = HEAP32[$307>>2]|0; + $309 = ($308|0)==(0); + $310 = $309 ? 0 : -1; + $311 = $310&65535; + $312 = HEAP32[$17>>2]|0; + $313 = ((($312)) + 26|0); + HEAP16[$313>>1] = $311; + $314 = HEAP32[$17>>2]|0; + $315 = ((($314)) + 28|0); + HEAP32[$315>>2] = 0; + } + } + $316 = HEAP32[$11>>2]|0; + $317 = ($316|0)>=(0); + do { + if ($317) { + $318 = HEAP32[$9>>2]|0; + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(1); + if ($320) { + $321 = HEAP32[$17>>2]|0; + $322 = ((($321)) + 25|0); + HEAP8[$322>>0] = 1; break; } - } else { - label = 10; - } - } while(0); - if ((label|0) == 10) { - $44 = HEAP32[$2>>2]|0; - $45 = ($44|0)==(0); - if ($45) { - $46 = HEAP32[$pInode>>2]|0; - $47 = ((($46)) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + -1)|0; - HEAP32[$47>>2] = $49; - $50 = HEAP32[$pInode>>2]|0; - $51 = ((($50)) + 8|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)==(0); + $323 = HEAP32[$11>>2]|0; + $324 = HEAP32[$17>>2]|0; + $325 = ((($324)) + 26|0); + $326 = HEAP16[$325>>1]|0; + $327 = $326 << 16 >> 16; + $328 = ($323|0)!=($327|0); do { - if ($53) { - HEAP16[$lock>>1] = 2; - $54 = ((($lock)) + 2|0); - HEAP16[$54>>1] = 0; - $55 = ((($lock)) + 8|0); - HEAP32[$55>>2] = 0; - $56 = ((($lock)) + 4|0); - HEAP32[$56>>2] = 0; - $57 = HEAP32[$pFile>>2]|0; - $58 = (_unixFileLock($57,$lock)|0); - $59 = ($58|0)==(0); - if ($59) { - $60 = HEAP32[$pInode>>2]|0; - $61 = ((($60)) + 12|0); - HEAP8[$61>>0] = 0; + if ($328) { + $329 = HEAP32[$9>>2]|0; + $330 = HEAP32[$329>>2]|0; + $331 = ($330|0)==(0); + if ($331) { + $332 = HEAP32[$18>>2]|0; + $333 = HEAP32[$17>>2]|0; + $334 = ((($333)) + 16|0); + $335 = HEAP32[$334>>2]|0; + $336 = (($335) + 1)|0; + HEAP32[$334>>2] = $336; + $337 = (($332) + ($335)|0); + HEAP8[$337>>0] = 1; + $338 = HEAP32[$18>>2]|0; + $339 = HEAP32[$17>>2]|0; + $340 = ((($339)) + 16|0); + $341 = HEAP32[$340>>2]|0; + $342 = (($338) + ($341)|0); + $343 = HEAP32[$11>>2]|0; + $344 = ($343|0)<(0); + $345 = $344 << 31 >> 31; + $346 = (_sqlite3Fts5PutVarint($342,$343,$345)|0); + $347 = HEAP32[$17>>2]|0; + $348 = ((($347)) + 16|0); + $349 = HEAP32[$348>>2]|0; + $350 = (($349) + ($346))|0; + HEAP32[$348>>2] = $350; + $351 = HEAP32[$11>>2]|0; + $352 = $351&65535; + $353 = HEAP32[$17>>2]|0; + $354 = ((($353)) + 26|0); + HEAP16[$354>>1] = $352; + $355 = HEAP32[$17>>2]|0; + $356 = ((($355)) + 28|0); + HEAP32[$356>>2] = 0; break; } else { - HEAP32[$rc>>2] = 2058; - $62 = HEAP32[$pFile>>2]|0; - $63 = (___errno_location()|0); - $64 = HEAP32[$63>>2]|0; - _storeLastErrno($62,$64); - $65 = HEAP32[$pInode>>2]|0; - $66 = ((($65)) + 12|0); - HEAP8[$66>>0] = 0; - $67 = HEAP32[$pFile>>2]|0; - $68 = ((($67)) + 16|0); - HEAP8[$68>>0] = 0; + HEAP32[$20>>2] = 1; + $357 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $357; + $358 = $357&65535; + $359 = HEAP32[$17>>2]|0; + $360 = ((($359)) + 26|0); + HEAP16[$360>>1] = $358; break; } } } while(0); - $69 = HEAP32[$pInode>>2]|0; - $70 = ((($69)) + 24|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + -1)|0; - HEAP32[$70>>2] = $72; - $73 = HEAP32[$pInode>>2]|0; - $74 = ((($73)) + 24|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)==(0); - if ($76) { - $77 = HEAP32[$pFile>>2]|0; - _closePendingFds($77); - } - } - } - _unixLeaveMutex(); - $78 = HEAP32[$rc>>2]|0; - $79 = ($78|0)==(0); - if ($79) { - $80 = HEAP32[$2>>2]|0; - $81 = $80&255; - $82 = HEAP32[$pFile>>2]|0; - $83 = ((($82)) + 16|0); - HEAP8[$83>>0] = $81; - } - $84 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $84; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); -} -function _unixFileLock($pFile,$pLock) { - $pFile = $pFile|0; - $pLock = $pLock|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $lock = 0, $pInode = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $rc = sp + 36|0; - $pInode = sp + 32|0; - $lock = sp + 16|0; - HEAP32[$1>>2] = $pFile; - HEAP32[$2>>2] = $pLock; - $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pInode>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 18|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8&65535; - $10 = $9 & 3; - $11 = ($10|0)==(1); - do { - if ($11) { - $12 = HEAP32[$pInode>>2]|0; - $13 = ((($12)) + 13|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==(0); - if (!($16)) { - HEAP32[$rc>>2] = 0; - break; - } - $17 = ((($lock)) + 2|0); - HEAP16[$17>>1] = 0; - $18 = HEAP32[1536>>2]|0; - $19 = (($18) + 2)|0; - $20 = ((($lock)) + 4|0); - HEAP32[$20>>2] = $19; - $21 = ((($lock)) + 8|0); - HEAP32[$21>>2] = 510; - HEAP16[$lock>>1] = 1; - $22 = HEAP32[(6524)>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$vararg_buffer>>2] = $lock; - $26 = (FUNCTION_TABLE_iiii[$22 & 255]($25,13,$vararg_buffer)|0); - HEAP32[$rc>>2] = $26; - $27 = HEAP32[$rc>>2]|0; - $28 = ($27|0)<(0); - if (!($28)) { - $30 = HEAP32[$pInode>>2]|0; - $31 = ((($30)) + 13|0); - HEAP8[$31>>0] = 1; - $32 = HEAP32[$pInode>>2]|0; - $33 = ((($32)) + 24|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$33>>2] = $35; - break; + $361 = HEAP32[$20>>2]|0; + $362 = ($361|0)!=(0); + if ($362) { + $363 = HEAP32[$18>>2]|0; + $364 = HEAP32[$17>>2]|0; + $365 = ((($364)) + 16|0); + $366 = HEAP32[$365>>2]|0; + $367 = (($363) + ($366)|0); + $368 = HEAP32[$12>>2]|0; + $369 = HEAP32[$17>>2]|0; + $370 = ((($369)) + 28|0); + $371 = HEAP32[$370>>2]|0; + $372 = (($368) - ($371))|0; + $373 = (($372) + 2)|0; + $374 = ($373|0)<(0); + $375 = $374 << 31 >> 31; + $376 = (_sqlite3Fts5PutVarint($367,$373,$375)|0); + $377 = HEAP32[$17>>2]|0; + $378 = ((($377)) + 16|0); + $379 = HEAP32[$378>>2]|0; + $380 = (($379) + ($376))|0; + HEAP32[$378>>2] = $380; + $381 = HEAP32[$12>>2]|0; + $382 = HEAP32[$17>>2]|0; + $383 = ((($382)) + 28|0); + HEAP32[$383>>2] = $381; } - $29 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $29; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); } else { - $36 = HEAP32[(6524)>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 12|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer1>>2] = $40; - $41 = (FUNCTION_TABLE_iiii[$36 & 255]($39,13,$vararg_buffer1)|0); - HEAP32[$rc>>2] = $41; + $384 = HEAP32[$17>>2]|0; + $385 = ((($384)) + 24|0); + HEAP8[$385>>0] = 1; } } while(0); - $42 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $42; - $43 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($43|0); + $386 = HEAP32[$17>>2]|0; + $387 = ((($386)) + 16|0); + $388 = HEAP32[$387>>2]|0; + $389 = HEAP32[$19>>2]|0; + $390 = (($389) + ($388))|0; + HEAP32[$19>>2] = $390; + $391 = HEAP32[$19>>2]|0; + $392 = HEAP32[$9>>2]|0; + $393 = ((($392)) + 4|0); + $394 = HEAP32[$393>>2]|0; + $395 = HEAP32[$394>>2]|0; + $396 = (($395) + ($391))|0; + HEAP32[$394>>2] = $396; + HEAP32[$8>>2] = 0; + $397 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($397|0); } -function _closePendingFds($pFile) { - $pFile = $pFile|0; - var $0 = 0, $1 = 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, $p = 0; - var $pInode = 0, $pNext = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexCharlenToBytelen($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $pInode = sp + 8|0; - $p = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $pFile; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pInode>>2] = $3; - $4 = HEAP32[$pInode>>2]|0; - $5 = ((($4)) + 28|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$p>>2] = $6; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; while(1) { - $7 = HEAP32[$p>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$6>>2]|0; + $11 = ($9|0)<($10|0); + $12 = HEAP32[$7>>2]|0; + if (!($11)) { + label = 9; break; } - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pNext>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$p>>2]|0; - $14 = HEAP32[$13>>2]|0; - _robust_close($12,$14,30592); - $15 = HEAP32[$p>>2]|0; - _sqlite3_free($15); - $16 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $16; - } - $17 = HEAP32[$pInode>>2]|0; - $18 = ((($17)) + 28|0); - HEAP32[$18>>2] = 0; - STACKTOP = sp;return; -} -function _setPendingFd($pFile) { - $pFile = $pFile|0; - var $0 = 0, $1 = 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, $p = 0; - var $pInode = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pInode = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pFile; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pInode>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 28|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$pInode>>2]|0; - $8 = ((($7)) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 8|0); - HEAP32[$11>>2] = $9; - $12 = HEAP32[$p>>2]|0; - $13 = HEAP32[$pInode>>2]|0; - $14 = ((($13)) + 28|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 12|0); - HEAP32[$16>>2] = -1; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 28|0); - HEAP32[$18>>2] = 0; - STACKTOP = sp;return; -} -function _releaseInodeInfo($pFile) { - $pFile = $pFile|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pInode = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pInode = sp; - HEAP32[$0>>2] = $pFile; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pInode>>2] = $3; - $4 = HEAP32[$pInode>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = HEAP32[$pInode>>2]|0; - $7 = ((($6)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + -1)|0; - HEAP32[$7>>2] = $9; - $10 = HEAP32[$pInode>>2]|0; - $11 = ((($10)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = HEAP32[$0>>2]|0; - _closePendingFds($14); - $15 = HEAP32[$pInode>>2]|0; - $16 = ((($15)) + 36|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)!=(0|0); - $19 = HEAP32[$pInode>>2]|0; - $20 = ((($19)) + 32|0); - $21 = HEAP32[$20>>2]|0; - if ($18) { - $22 = HEAP32[$pInode>>2]|0; - $23 = ((($22)) + 36|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($24)) + 32|0); - HEAP32[$25>>2] = $21; - } else { - HEAP32[6952>>2] = $21; - } - $26 = HEAP32[$pInode>>2]|0; - $27 = ((($26)) + 32|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$pInode>>2]|0; - $31 = ((($30)) + 36|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$pInode>>2]|0; - $34 = ((($33)) + 32|0); - $35 = HEAP32[$34>>2]|0; - $36 = ((($35)) + 36|0); - HEAP32[$36>>2] = $32; + $13 = HEAP32[$5>>2]|0; + $14 = ($12|0)>=($13|0); + if ($14) { + label = 4; + break; + } + $15 = HEAP32[$4>>2]|0; + $16 = HEAP32[$7>>2]|0; + $17 = (($16) + 1)|0; + HEAP32[$7>>2] = $17; + $18 = (($15) + ($16)|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = ($20|0)>=(192); + L5: do { + if ($21) { + while(1) { + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$7>>2]|0; + $24 = (($22) + ($23)|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25 << 24 >> 24; + $27 = $26 & 192; + $28 = ($27|0)==(128); + if (!($28)) { + break L5; + } + $29 = HEAP32[$7>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$7>>2] = $30; + } + } + } while(0); + $31 = HEAP32[$8>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$8>>2] = $32; } - $37 = HEAP32[$pInode>>2]|0; - _sqlite3_free($37); - STACKTOP = sp;return; -} -function _getFileMode($zFile,$pMode,$pUid,$pGid) { - $zFile = $zFile|0; - $pMode = $pMode|0; - $pUid = $pUid|0; - $pGid = $pGid|0; - var $0 = 0, $1 = 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, $rc = 0; - var $sStat = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 92|0; - $1 = sp + 88|0; - $2 = sp + 84|0; - $3 = sp + 80|0; - $sStat = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $zFile; - HEAP32[$1>>2] = $pMode; - HEAP32[$2>>2] = $pUid; - HEAP32[$3>>2] = $pGid; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[(6488)>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = (FUNCTION_TABLE_iii[$4 & 255]($5,$sStat)|0); - $7 = (0)==($6|0); - if ($7) { - $8 = ((($sStat)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9 & 511; - $11 = HEAP32[$1>>2]|0; - HEAP32[$11>>2] = $10; - $12 = ((($sStat)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$2>>2]|0; - HEAP32[$14>>2] = $13; - $15 = ((($sStat)) + 24|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$3>>2]|0; - HEAP32[$17>>2] = $16; - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); - } else { - HEAP32[$rc>>2] = 1802; - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); + if ((label|0) == 4) { + HEAP32[$3>>2] = 0; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); } - return (0)|0; -} -function _posixIoFinderImpl($z,$p) { - $z = $z|0; - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $p; - STACKTOP = sp;return (6876|0); -} -function _getIntArg($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 8|0; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<=($6|0); - if ($7) { - $8 = $0; - $9 = $8; - HEAP32[$9>>2] = 0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = 0; - $27 = $0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - tempRet0 = ($32); - STACKTOP = sp;return ($29|0); - } else { - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + 1)|0; - HEAP32[$13>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($14<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3_value_int64($20)|0); - $22 = tempRet0; - $23 = $0; - $24 = $23; - HEAP32[$24>>2] = $21; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = $0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - tempRet0 = ($32); - STACKTOP = sp;return ($29|0); + else if ((label|0) == 9) { + HEAP32[$3>>2] = $12; + $33 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($33|0); } return (0)|0; } -function _getDoubleArg($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $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; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 8|0; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<=($6|0); - if ($7) { - HEAPF64[$0>>3] = 0.0; - $18 = +HEAPF64[$0>>3]; - STACKTOP = sp;return (+$18); - } else { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$9>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($10<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+_sqlite3_value_double($16)); - HEAPF64[$0>>3] = $17; - $18 = +HEAPF64[$0>>3]; - STACKTOP = sp;return (+$18); - } - return +(0.0); -} -function _et_getdigit($val,$cnt) { - $val = $val|0; - $cnt = $cnt|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $d = 0, $digit = 0, label = 0, sp = 0; +function _fts5HashKey2($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $digit = sp + 8|0; - $d = sp; - HEAP32[$1>>2] = $val; - HEAP32[$2>>2] = $cnt; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<=(0); - if ($5) { - HEAP8[$0>>0] = 48; - $24 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($24|0); - } else { - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + -1)|0; - HEAP32[$6>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = +HEAPF64[$9>>3]; - $11 = (~~(($10))); - HEAP32[$digit>>2] = $11; - $12 = HEAP32[$digit>>2]|0; - $13 = (+($12|0)); - HEAPF64[$d>>3] = $13; - $14 = HEAP32[$digit>>2]|0; - $15 = (($14) + 48)|0; - HEAP32[$digit>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = +HEAPF64[$16>>3]; - $18 = +HEAPF64[$d>>3]; - $19 = $17 - $18; - $20 = $19 * 10.0; - $21 = HEAP32[$1>>2]|0; - HEAPF64[$21>>3] = $20; - $22 = HEAP32[$digit>>2]|0; - $23 = $22&255; - HEAP8[$0>>0] = $23; - $24 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($24|0); - } - return (0)|0; -} -function _getTextArg($p) { - $p = $p|0; - var $0 = 0, $1 = 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; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<=($6|0); - if ($7) { - HEAP32[$0>>2] = 0; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } else { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$9>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($10<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3_value_text($16)|0); - HEAP32[$0>>2] = $17; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } - return (0)|0; -} -function _sqlite3AppendChar($p,$N,$c) { - $p = $p|0; - $N = $N|0; - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - $2 = sp + 8|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $N; - HEAP8[$2>>0] = $c; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)<(0); - $8 = $7 << 31 >> 31; - $9 = (_i64Add(($5|0),0,($6|0),($8|0))|0); - $10 = tempRet0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 16|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)>(0); - $15 = ($9>>>0)>=($13>>>0); - $16 = ($10|0)==(0); - $17 = $16 & $15; - $18 = $14 | $17; - if ($18) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = (_sqlite3StrAccumEnlarge($19,$20)|0); - HEAP32[$1>>2] = $21; - $22 = ($21|0)<=(0); - if ($22) { - STACKTOP = sp;return; - } - } + $4 = sp + 16|0; + $5 = sp + 20|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$4>>2] = $0; + HEAP8[$5>>0] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$9>>2] = 13; + $10 = HEAP32[$7>>2]|0; + $11 = (($10) - 1)|0; + HEAP32[$8>>2] = $11; while(1) { - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + -1)|0; - HEAP32[$1>>2] = $24; - $25 = ($23|0)>(0); - if (!($25)) { + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)>=(0); + $14 = HEAP32[$9>>2]|0; + $15 = $14 << 3; + $16 = HEAP32[$9>>2]|0; + $17 = $15 ^ $16; + if (!($13)) { break; } - $26 = HEAP8[$2>>0]|0; - $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$28>>2] = $30; - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + ($29)|0); - HEAP8[$34>>0] = $26; - } - STACKTOP = sp;return; -} -function _sqlite3MallocAlarm($nByte) { - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $nByte; - $1 = (296); - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)<(0); - $8 = ($3>>>0)<=(0); - $9 = ($6|0)==(0); - $10 = $9 & $8; - $11 = $7 | $10; - if ($11) { - STACKTOP = sp;return; + $18 = HEAP32[$6>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = (($18) + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = $17 ^ $22; + HEAP32[$9>>2] = $23; + $24 = HEAP32[$8>>2]|0; + $25 = (($24) + -1)|0; + HEAP32[$8>>2] = $25; } - $12 = HEAP32[$0>>2]|0; - (_sqlite3_release_memory($12)|0); - STACKTOP = sp;return; + $26 = HEAP8[$5>>0]|0; + $27 = $26&255; + $28 = $17 ^ $27; + HEAP32[$9>>2] = $28; + $29 = HEAP32[$9>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = (($29>>>0) % ($30>>>0))&-1; + STACKTOP = sp;return ($31|0); } -function _mallocWithAlarm($n,$pp) { - $n = $n|0; - $pp = $pp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nFull = 0, $nUsed = 0, $p = 0; - var label = 0, sp = 0; +function _fts5HashResize($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $nFull = sp + 12|0; - $p = sp + 8|0; - $nUsed = sp; - HEAP32[$0>>2] = $n; - HEAP32[$1>>2] = $pp; - $2 = HEAP32[(64)>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (FUNCTION_TABLE_ii[$2 & 255]($3)|0); - HEAP32[$nFull>>2] = $4; - $5 = HEAP32[$0>>2]|0; - _sqlite3StatusHighwater(5,$5); - $6 = (296); - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = (($6) + 4)|0; - $10 = $9; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$2>>2] = $0; + $9 = HEAP32[$2>>2]|0; + $10 = ((($9)) + 12|0); $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(0); - $13 = ($8>>>0)>(0); - $14 = ($11|0)==(0); - $15 = $14 & $13; - $16 = $12 | $15; - do { - if ($16) { - $17 = (_sqlite3StatusValue(0)|0); - $18 = tempRet0; - $19 = $nUsed; - $20 = $19; - HEAP32[$20>>2] = $17; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = $18; - $23 = $nUsed; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (296); - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$nFull>>2]|0; - $36 = ($35|0)<(0); - $37 = $36 << 31 >> 31; - $38 = (_i64Subtract(($31|0),($34|0),($35|0),($37|0))|0); - $39 = tempRet0; - $40 = ($28|0)>($39|0); - $41 = ($25>>>0)>=($38>>>0); - $42 = ($28|0)==($39|0); - $43 = $42 & $41; - $44 = $40 | $43; - if ($44) { - HEAP32[(316)>>2] = 1; - $45 = HEAP32[$nFull>>2]|0; - _sqlite3MallocAlarm($45); - break; - } else { - HEAP32[(316)>>2] = 0; - break; - } - } - } while(0); - $46 = HEAP32[(48)>>2]|0; - $47 = HEAP32[$nFull>>2]|0; - $48 = (FUNCTION_TABLE_ii[$46 & 255]($47)|0); - HEAP32[$p>>2] = $48; - $49 = HEAP32[$p>>2]|0; - $50 = ($49|0)!=(0|0); - if (!($50)) { - $54 = HEAP32[$p>>2]|0; - $55 = HEAP32[$1>>2]|0; - HEAP32[$55>>2] = $54; - $56 = HEAP32[$nFull>>2]|0; - STACKTOP = sp;return ($56|0); + $12 = $11<<1; + HEAP32[$3>>2] = $12; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$6>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = $16<<2; + $18 = (_sqlite3_malloc($17)|0); + HEAP32[$5>>2] = $18; + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)!=(0|0); + if (!($20)) { + HEAP32[$1>>2] = 7; + $68 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($68|0); } - $51 = HEAP32[$p>>2]|0; - $52 = (_sqlite3MallocSize($51)|0); - HEAP32[$nFull>>2] = $52; - $53 = HEAP32[$nFull>>2]|0; - _sqlite3StatusUp(0,$53); - _sqlite3StatusUp(9,1); - $54 = HEAP32[$p>>2]|0; - $55 = HEAP32[$1>>2]|0; - HEAP32[$55>>2] = $54; - $56 = HEAP32[$nFull>>2]|0; - STACKTOP = sp;return ($56|0); -} -function _sqlite3AlterFunctions() { - var label = 0, sp = 0; - sp = STACKTOP; - _sqlite3InsertBuiltinFuncs(8780,3); - return; -} -function _sqlite3RegisterDateTimeFunctions() { - var label = 0, sp = 0; - sp = STACKTOP; - _sqlite3InsertBuiltinFuncs(8556,8); - return; -} -function _sqlite3InsertBuiltinFuncs($aDef,$nDef) { - $aDef = $aDef|0; - $nDef = $nDef|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $i = 0, $nName = 0, $pOther = 0; - var $zName = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $i = sp + 16|0; - $pOther = sp + 12|0; - $zName = sp + 8|0; - $nName = sp + 4|0; - $h = sp; - HEAP32[$0>>2] = $aDef; - HEAP32[$1>>2] = $nDef; - HEAP32[$i>>2] = 0; + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = $22<<2; + _memset(($21|0),0,($23|0))|0; + HEAP32[$4>>2] = 0; while(1) { - $2 = HEAP32[$i>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = ($2|0)<($3|0); - if (!($4)) { + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($24|0)<($27|0); + if (!($28)) { break; } - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + (($5*28)|0)|0); - $8 = ((($7)) + 20|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$zName>>2] = $9; - $10 = HEAP32[$zName>>2]|0; - $11 = (_sqlite3Strlen30($10)|0); - HEAP32[$nName>>2] = $11; - $12 = HEAP32[$zName>>2]|0; - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = (17613 + ($14)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = HEAP32[$nName>>2]|0; - $19 = (($17) + ($18))|0; - $20 = (($19|0) % 23)&-1; - HEAP32[$h>>2] = $20; - $21 = HEAP32[$h>>2]|0; - $22 = HEAP32[$zName>>2]|0; - $23 = (_functionSearch($21,$22)|0); - HEAP32[$pOther>>2] = $23; - $24 = HEAP32[$pOther>>2]|0; - $25 = ($24|0)!=(0|0); - if ($25) { - $26 = HEAP32[$pOther>>2]|0; - $27 = ((($26)) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = (($30) + (($29*28)|0)|0); - $32 = ((($31)) + 8|0); - HEAP32[$32>>2] = $28; - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + (($33*28)|0)|0); - $36 = HEAP32[$pOther>>2]|0; - $37 = ((($36)) + 8|0); - HEAP32[$37>>2] = $35; - } else { - $38 = HEAP32[$i>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = (($39) + (($38*28)|0)|0); - $41 = ((($40)) + 8|0); - HEAP32[$41>>2] = 0; - $42 = HEAP32[$h>>2]|0; - $43 = (1092 + ($42<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$i>>2]|0; - $46 = HEAP32[$0>>2]|0; - $47 = (($46) + (($45*28)|0)|0); - $48 = ((($47)) + 24|0); - HEAP32[$48>>2] = $44; - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$0>>2]|0; - $51 = (($50) + (($49*28)|0)|0); - $52 = HEAP32[$h>>2]|0; - $53 = (1092 + ($52<<2)|0); - HEAP32[$53>>2] = $51; + while(1) { + $29 = HEAP32[$6>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = (($29) + ($30<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0|0); + if (!($33)) { + break; + } + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$4>>2]|0; + $36 = (($34) + ($35<<2)|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$8>>2] = $37; + $38 = HEAP32[$8>>2]|0; + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$6>>2]|0; + $41 = HEAP32[$4>>2]|0; + $42 = (($40) + ($41<<2)|0); + HEAP32[$42>>2] = $39; + $43 = HEAP32[$3>>2]|0; + $44 = HEAP32[$8>>2]|0; + $45 = ((($44)) + 40|0); + $46 = HEAP32[$8>>2]|0; + $47 = ((($46)) + 40|0); + $48 = (_strlen($47)|0); + $49 = (_fts5HashKey($43,$45,$48)|0); + HEAP32[$7>>2] = $49; + $50 = HEAP32[$5>>2]|0; + $51 = HEAP32[$7>>2]|0; + $52 = (($50) + ($51<<2)|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$8>>2]|0; + HEAP32[$54>>2] = $53; + $55 = HEAP32[$8>>2]|0; + $56 = HEAP32[$5>>2]|0; + $57 = HEAP32[$7>>2]|0; + $58 = (($56) + ($57<<2)|0); + HEAP32[$58>>2] = $55; } - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; + $59 = HEAP32[$4>>2]|0; + $60 = (($59) + 1)|0; + HEAP32[$4>>2] = $60; } - STACKTOP = sp;return; + $61 = HEAP32[$6>>2]|0; + _sqlite3_free($61); + $62 = HEAP32[$3>>2]|0; + $63 = HEAP32[$2>>2]|0; + $64 = ((($63)) + 12|0); + HEAP32[$64>>2] = $62; + $65 = HEAP32[$5>>2]|0; + $66 = HEAP32[$2>>2]|0; + $67 = ((($66)) + 20|0); + HEAP32[$67>>2] = $65; + HEAP32[$1>>2] = 0; + $68 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($68|0); } -function _compileoptionusedFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $zOptName = 0, label = 0, sp = 0; +function _sqlite3Fts5HashNew($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $zOptName = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zOptName>>2] = $5; - $6 = ($5|0)!=(0|0); - if (!($6)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp + 4|0; + $8 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $9 = (_sqlite3_malloc(24)|0); + HEAP32[$7>>2] = $9; + $10 = HEAP32[$4>>2]|0; + HEAP32[$10>>2] = $9; + $11 = HEAP32[$7>>2]|0; + $12 = ($11|0)==(0|0); + if ($12) { + HEAP32[$6>>2] = 7; + $40 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($40|0); } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$zOptName>>2]|0; - $9 = (_sqlite3_compileoption_used($8)|0); - _sqlite3_result_int($7,$9); - STACKTOP = sp;return; -} -function _compileoptiongetFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $n = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_int($4)|0); - HEAP32[$n>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$n>>2]|0; - $8 = (_sqlite3_compileoption_get($7)|0); - _sqlite3_result_text($6,$8,-1,0); - STACKTOP = sp;return; + $13 = HEAP32[$7>>2]|0; + ;HEAP32[$13>>2]=0|0;HEAP32[$13+4>>2]=0|0;HEAP32[$13+8>>2]=0|0;HEAP32[$13+12>>2]=0|0;HEAP32[$13+16>>2]=0|0;HEAP32[$13+20>>2]=0|0; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = ((($15)) + 4|0); + HEAP32[$16>>2] = $14; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 48|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$7>>2]|0; + HEAP32[$20>>2] = $19; + $21 = HEAP32[$7>>2]|0; + $22 = ((($21)) + 12|0); + HEAP32[$22>>2] = 1024; + $23 = HEAP32[$7>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = $25<<2; + HEAP32[$8>>2] = $26; + $27 = HEAP32[$8>>2]|0; + $28 = (_sqlite3_malloc($27)|0); + $29 = HEAP32[$7>>2]|0; + $30 = ((($29)) + 20|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$7>>2]|0; + $32 = ((($31)) + 20|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0|0); + $35 = HEAP32[$7>>2]|0; + if ($34) { + _sqlite3_free($35); + $36 = HEAP32[$4>>2]|0; + HEAP32[$36>>2] = 0; + HEAP32[$6>>2] = 7; + $40 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($40|0); + } else { + $37 = ((($35)) + 20|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$8>>2]|0; + _memset(($38|0),0,($39|0))|0; + $40 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($40|0); + } + return (0)|0; } -function _versionFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _fts5StorageNewRowid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_libversion()|0); - _sqlite3_result_text($3,$4,-1,0); - STACKTOP = sp;return; -} -function _trimFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$old = 0, $$old1 = 0, $$old2 = 0, $$old3 = 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, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aLen = 0, $azChar = 0, $flags = 0, $i = 0, $len = 0, $len1 = 0; - var $nChar = 0, $nIn = 0, $or$cond = 0, $or$cond4 = 0, $z = 0, $zCharSet = 0, $zIn = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $zIn = sp + 40|0; - $zCharSet = sp + 36|0; - $nIn = sp + 32|0; - $flags = sp + 28|0; - $i = sp + 24|0; - $aLen = sp + 20|0; - $azChar = sp + 16|0; - $nChar = sp + 12|0; - $z = sp + 8|0; - $len = sp + 4|0; - $len1 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$aLen>>2] = 0; - HEAP32[$azChar>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - $6 = ($5|0)==(5); - if ($6) { - STACKTOP = sp;return; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 20; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0); + if (!($10)) { + $32 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($32|0); } - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$zIn>>2] = $9; - $10 = HEAP32[$zIn>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - STACKTOP = sp;return; + HEAP32[$5>>2] = 0; + $11 = HEAP32[$2>>2]|0; + $12 = (_fts5StorageGetStmt($11,6,$5,0)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$5>>2]|0; + (_sqlite3_bind_null($15,1)|0); + $16 = HEAP32[$5>>2]|0; + (_sqlite3_bind_null($16,2)|0); + $17 = HEAP32[$5>>2]|0; + (_sqlite3_step($17)|0); + $18 = HEAP32[$5>>2]|0; + $19 = (_sqlite3_reset($18)|0); + HEAP32[$4>>2] = $19; } - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_bytes($13)|0); - HEAP32[$nIn>>2] = $14; - $15 = HEAP32[$1>>2]|0; - $16 = ($15|0)==(1); - L7: do { - if ($16) { - HEAP32[$nChar>>2] = 1; - HEAP32[$aLen>>2] = 45220; - HEAP32[$azChar>>2] = 8552; - HEAP32[$zCharSet>>2] = 0; - } else { - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_text($19)|0); - HEAP32[$zCharSet>>2] = $20; - $21 = ($20|0)==(0|0); - if ($21) { - STACKTOP = sp;return; - } - $22 = HEAP32[$zCharSet>>2]|0; - HEAP32[$z>>2] = $22; - HEAP32[$nChar>>2] = 0; - while(1) { - $23 = HEAP32[$z>>2]|0; - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)!=(0); - if (!($25)) { - break; - } - $26 = HEAP32[$z>>2]|0; - $27 = ((($26)) + 1|0); - HEAP32[$z>>2] = $27; - $28 = HEAP8[$26>>0]|0; - $29 = $28&255; - $30 = ($29|0)>=(192); - L16: do { - if ($30) { - while(1) { - $31 = HEAP32[$z>>2]|0; - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $33 & 192; - $35 = ($34|0)==(128); - if (!($35)) { - break L16; - } - $36 = HEAP32[$z>>2]|0; - $37 = ((($36)) + 1|0); - HEAP32[$z>>2] = $37; - } - } - } while(0); - $38 = HEAP32[$nChar>>2]|0; - $39 = (($38) + 1)|0; - HEAP32[$nChar>>2] = $39; - } - $40 = HEAP32[$nChar>>2]|0; - $41 = ($40|0)>(0); - if ($41) { - $42 = HEAP32[$0>>2]|0; - $43 = HEAP32[$nChar>>2]|0; - $44 = ($43|0)<(0); - $45 = $44 << 31 >> 31; - $46 = (___muldi3(($43|0),($45|0),5,0)|0); - $47 = tempRet0; - $48 = (_contextMalloc($42,$46,$47)|0); - HEAP32[$azChar>>2] = $48; - $49 = HEAP32[$azChar>>2]|0; - $50 = ($49|0)==(0|0); - if ($50) { - STACKTOP = sp;return; - } - $51 = HEAP32[$nChar>>2]|0; - $52 = HEAP32[$azChar>>2]|0; - $53 = (($52) + ($51<<2)|0); - HEAP32[$aLen>>2] = $53; - $54 = HEAP32[$zCharSet>>2]|0; - HEAP32[$z>>2] = $54; - HEAP32[$nChar>>2] = 0; - while(1) { - $55 = HEAP32[$z>>2]|0; - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)!=(0); - if (!($57)) { - break L7; - } - $58 = HEAP32[$z>>2]|0; - $59 = HEAP32[$nChar>>2]|0; - $60 = HEAP32[$azChar>>2]|0; - $61 = (($60) + ($59<<2)|0); - HEAP32[$61>>2] = $58; - $62 = HEAP32[$z>>2]|0; - $63 = ((($62)) + 1|0); - HEAP32[$z>>2] = $63; - $64 = HEAP8[$62>>0]|0; - $65 = $64&255; - $66 = ($65|0)>=(192); - L29: do { - if ($66) { - while(1) { - $67 = HEAP32[$z>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = $69 & 192; - $71 = ($70|0)==(128); - if (!($71)) { - break L29; - } - $72 = HEAP32[$z>>2]|0; - $73 = ((($72)) + 1|0); - HEAP32[$z>>2] = $73; - } - } - } while(0); - $74 = HEAP32[$z>>2]|0; - $75 = HEAP32[$nChar>>2]|0; - $76 = HEAP32[$azChar>>2]|0; - $77 = (($76) + ($75<<2)|0); - $78 = HEAP32[$77>>2]|0; - $79 = $74; - $80 = $78; - $81 = (($79) - ($80))|0; - $82 = $81&255; - $83 = HEAP32[$nChar>>2]|0; - $84 = HEAP32[$aLen>>2]|0; - $85 = (($84) + ($83)|0); - HEAP8[$85>>0] = $82; - $86 = HEAP32[$nChar>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[$nChar>>2] = $87; - } - } - } - } while(0); - $88 = HEAP32[$nChar>>2]|0; - $89 = ($88|0)>(0); - if ($89) { - $90 = HEAP32[$0>>2]|0; - $91 = (_sqlite3_user_data($90)|0); - $92 = $91; - HEAP32[$flags>>2] = $92; - $93 = HEAP32[$flags>>2]|0; - $94 = $93 & 1; - $95 = ($94|0)!=(0); - $96 = HEAP32[$nIn>>2]|0; - $97 = ($96|0)>(0); - $or$cond = $95 & $97; - L37: do { - if ($or$cond) { - while(1) { - HEAP32[$len>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $98 = HEAP32[$i>>2]|0; - $99 = HEAP32[$nChar>>2]|0; - $100 = ($98|0)<($99|0); - if (!($100)) { - break; - } - $101 = HEAP32[$i>>2]|0; - $102 = HEAP32[$aLen>>2]|0; - $103 = (($102) + ($101)|0); - $104 = HEAP8[$103>>0]|0; - $105 = $104&255; - HEAP32[$len>>2] = $105; - $106 = HEAP32[$len>>2]|0; - $107 = HEAP32[$nIn>>2]|0; - $108 = ($106|0)<=($107|0); - if ($108) { - $109 = HEAP32[$zIn>>2]|0; - $110 = HEAP32[$i>>2]|0; - $111 = HEAP32[$azChar>>2]|0; - $112 = (($111) + ($110<<2)|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$len>>2]|0; - $115 = (_memcmp($109,$113,$114)|0); - $116 = ($115|0)==(0); - if ($116) { - break; - } - } - $117 = HEAP32[$i>>2]|0; - $118 = (($117) + 1)|0; - HEAP32[$i>>2] = $118; - } - $119 = HEAP32[$i>>2]|0; - $120 = HEAP32[$nChar>>2]|0; - $121 = ($119|0)>=($120|0); - if ($121) { - break L37; - } - $122 = HEAP32[$len>>2]|0; - $123 = HEAP32[$zIn>>2]|0; - $124 = (($123) + ($122)|0); - HEAP32[$zIn>>2] = $124; - $125 = HEAP32[$len>>2]|0; - $126 = HEAP32[$nIn>>2]|0; - $127 = (($126) - ($125))|0; - HEAP32[$nIn>>2] = $127; - $$old = HEAP32[$nIn>>2]|0; - $$old1 = ($$old|0)>(0); - if (!($$old1)) { - break; - } - } - } - } while(0); - $128 = HEAP32[$flags>>2]|0; - $129 = $128 & 2; - $130 = ($129|0)!=(0); - $131 = HEAP32[$nIn>>2]|0; - $132 = ($131|0)>(0); - $or$cond4 = $130 & $132; - L49: do { - if ($or$cond4) { - while(1) { - HEAP32[$len1>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $133 = HEAP32[$i>>2]|0; - $134 = HEAP32[$nChar>>2]|0; - $135 = ($133|0)<($134|0); - if (!($135)) { - break; - } - $136 = HEAP32[$i>>2]|0; - $137 = HEAP32[$aLen>>2]|0; - $138 = (($137) + ($136)|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - HEAP32[$len1>>2] = $140; - $141 = HEAP32[$len1>>2]|0; - $142 = HEAP32[$nIn>>2]|0; - $143 = ($141|0)<=($142|0); - if ($143) { - $144 = HEAP32[$nIn>>2]|0; - $145 = HEAP32[$len1>>2]|0; - $146 = (($144) - ($145))|0; - $147 = HEAP32[$zIn>>2]|0; - $148 = (($147) + ($146)|0); - $149 = HEAP32[$i>>2]|0; - $150 = HEAP32[$azChar>>2]|0; - $151 = (($150) + ($149<<2)|0); - $152 = HEAP32[$151>>2]|0; - $153 = HEAP32[$len1>>2]|0; - $154 = (_memcmp($148,$152,$153)|0); - $155 = ($154|0)==(0); - if ($155) { - break; - } - } - $156 = HEAP32[$i>>2]|0; - $157 = (($156) + 1)|0; - HEAP32[$i>>2] = $157; - } - $158 = HEAP32[$i>>2]|0; - $159 = HEAP32[$nChar>>2]|0; - $160 = ($158|0)>=($159|0); - if ($160) { - break L49; - } - $161 = HEAP32[$len1>>2]|0; - $162 = HEAP32[$nIn>>2]|0; - $163 = (($162) - ($161))|0; - HEAP32[$nIn>>2] = $163; - $$old2 = HEAP32[$nIn>>2]|0; - $$old3 = ($$old2|0)>(0); - if (!($$old3)) { - break; - } - } - } - } while(0); - $164 = HEAP32[$zCharSet>>2]|0; - $165 = ($164|0)!=(0|0); - if ($165) { - $166 = HEAP32[$azChar>>2]|0; - _sqlite3_free($166); - } + $20 = HEAP32[$4>>2]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $32 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($32|0); } - $167 = HEAP32[$0>>2]|0; - $168 = HEAP32[$zIn>>2]|0; - $169 = HEAP32[$nIn>>2]|0; - _sqlite3_result_text($167,$168,$169,(-1)); - STACKTOP = sp;return; + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = (_sqlite3_last_insert_rowid($24)|0); + $26 = tempRet0; + $27 = HEAP32[$3>>2]|0; + $28 = $27; + $29 = $28; + HEAP32[$29>>2] = $25; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($32|0); } -function _minmaxFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $i = 0, $iBest = 0, $mask = 0, $pColl = 0, label = 0, sp = 0; +function _fts5StorageDeleteFromIndex($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; + 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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $i = sp + 12|0; - $mask = sp + 8|0; - $iBest = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_user_data($3)|0); - $5 = ($4|0)==(0|0); - $6 = $5 ? 0 : -1; - HEAP32[$mask>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3GetFuncCollSeq($7)|0); - HEAP32[$pColl>>2] = $8; - HEAP32[$iBest>>2] = 0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_type($10)|0); - $12 = ($11|0)==(5); - if ($12) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 64|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 28|0; + $13 = sp + 16|0; + $14 = sp + 12|0; + $15 = sp + 8|0; + HEAP32[$5>>2] = $0; + $16 = $6; + $17 = $16; + HEAP32[$17>>2] = $1; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $2; + HEAP32[$7>>2] = $3; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$8>>2] = $21; + HEAP32[$9>>2] = 0; + $22 = HEAP32[$7>>2]|0; + $23 = ($22|0)==(0|0); + if ($23) { + $24 = HEAP32[$5>>2]|0; + $25 = (_fts5StorageGetStmt($24,2,$9,0)|0); + HEAP32[$10>>2] = $25; + $26 = HEAP32[$10>>2]|0; + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $28; + $138 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($138|0); + } + $29 = HEAP32[$9>>2]|0; + $30 = $6; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + (_sqlite3_bind_int64($29,1,$32,$35)|0); + $36 = HEAP32[$9>>2]|0; + $37 = (_sqlite3_step($36)|0); + $38 = ($37|0)!=(100); + if ($38) { + $39 = HEAP32[$9>>2]|0; + $40 = (_sqlite3_reset($39)|0); + HEAP32[$4>>2] = $40; + $138 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($138|0); + } } - HEAP32[$i>>2] = 1; + $41 = HEAP32[$5>>2]|0; + HEAP32[$13>>2] = $41; + $42 = ((($13)) + 4|0); + HEAP32[$42>>2] = -1; + $43 = HEAP32[$5>>2]|0; + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + $46 = $6; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (_sqlite3Fts5IndexBeginWrite($45,1,$48,$51)|0); + HEAP32[$10>>2] = $52; + HEAP32[$12>>2] = 1; while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ($13|0)<($14|0); - if (!($15)) { + $53 = HEAP32[$10>>2]|0; + $54 = ($53|0)==(0); + if (!($54)) { break; } - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = (($17) + ($16<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_type($19)|0); - $21 = ($20|0)==(5); - if ($21) { - label = 9; + $55 = HEAP32[$12>>2]|0; + $56 = HEAP32[$8>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($55|0)<=($58|0); + if (!($59)) { break; } - $22 = HEAP32[$iBest>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (($23) + ($22<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = (($27) + ($26<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$pColl>>2]|0; - $31 = (_sqlite3MemCompare($25,$29,$30)|0); - $32 = HEAP32[$mask>>2]|0; - $33 = $31 ^ $32; - $34 = ($33|0)>=(0); - if ($34) { - $35 = HEAP32[$i>>2]|0; - HEAP32[$iBest>>2] = $35; + $60 = HEAP32[$8>>2]|0; + $61 = ((($60)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$12>>2]|0; + $64 = (($63) - 1)|0; + $65 = (($62) + ($64)|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = ($67|0)==(0); + if ($68) { + $69 = HEAP32[$9>>2]|0; + $70 = ($69|0)!=(0|0); + if ($70) { + $71 = HEAP32[$9>>2]|0; + $72 = HEAP32[$12>>2]|0; + $73 = (_sqlite3_column_text($71,$72)|0); + HEAP32[$14>>2] = $73; + $74 = HEAP32[$9>>2]|0; + $75 = HEAP32[$12>>2]|0; + $76 = (_sqlite3_column_bytes($74,$75)|0); + HEAP32[$15>>2] = $76; + } else { + $77 = HEAP32[$7>>2]|0; + $78 = HEAP32[$12>>2]|0; + $79 = (($78) - 1)|0; + $80 = (($77) + ($79<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = (_sqlite3_value_text($81)|0); + HEAP32[$14>>2] = $82; + $83 = HEAP32[$7>>2]|0; + $84 = HEAP32[$12>>2]|0; + $85 = (($84) - 1)|0; + $86 = (($83) + ($85<<2)|0); + $87 = HEAP32[$86>>2]|0; + $88 = (_sqlite3_value_bytes($87)|0); + HEAP32[$15>>2] = $88; + } + $89 = ((($13)) + 8|0); + HEAP32[$89>>2] = 0; + $90 = HEAP32[$8>>2]|0; + $91 = HEAP32[$14>>2]|0; + $92 = HEAP32[$15>>2]|0; + $93 = (_sqlite3Fts5Tokenize($90,4,$91,$92,$13,154)|0); + HEAP32[$10>>2] = $93; + $94 = ((($13)) + 8|0); + $95 = HEAP32[$94>>2]|0; + $96 = ($95|0)<(0); + $97 = $96 << 31 >> 31; + $98 = HEAP32[$5>>2]|0; + $99 = ((($98)) + 24|0); + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$12>>2]|0; + $102 = (($101) - 1)|0; + $103 = (($100) + ($102<<3)|0); + $104 = $103; + $105 = $104; + $106 = HEAP32[$105>>2]|0; + $107 = (($104) + 4)|0; + $108 = $107; + $109 = HEAP32[$108>>2]|0; + $110 = (_i64Subtract(($106|0),($109|0),($95|0),($97|0))|0); + $111 = tempRet0; + $112 = $103; + $113 = $112; + HEAP32[$113>>2] = $110; + $114 = (($112) + 4)|0; + $115 = $114; + HEAP32[$115>>2] = $111; } - $36 = HEAP32[$i>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$i>>2] = $37; + $116 = HEAP32[$12>>2]|0; + $117 = (($116) + 1)|0; + HEAP32[$12>>2] = $117; } - if ((label|0) == 9) { - STACKTOP = sp;return; + $118 = HEAP32[$5>>2]|0; + $119 = ((($118)) + 16|0); + $120 = $119; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = (_i64Add(($122|0),($125|0),-1,-1)|0); + $127 = tempRet0; + $128 = $119; + $129 = $128; + HEAP32[$129>>2] = $126; + $130 = (($128) + 4)|0; + $131 = $130; + HEAP32[$131>>2] = $127; + $132 = HEAP32[$9>>2]|0; + $133 = (_sqlite3_reset($132)|0); + HEAP32[$11>>2] = $133; + $134 = HEAP32[$10>>2]|0; + $135 = ($134|0)==(0); + if ($135) { + $136 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $136; } - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$iBest>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = (($40) + ($39<<2)|0); - $42 = HEAP32[$41>>2]|0; - _sqlite3_result_value($38,$42); - STACKTOP = sp;return; + $137 = HEAP32[$10>>2]|0; + HEAP32[$4>>2] = $137; + $138 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($138|0); } -function _minmaxStep($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cmp = 0, $max = 0, $or$cond = 0, $or$cond3 = 0, $pArg = 0, $pBest = 0, $pColl = 0, label = 0, sp = 0; +function _fts5SetVtabError($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; $2 = sp + 20|0; - $pArg = sp + 16|0; - $pBest = sp + 12|0; - $max = sp + 8|0; - $cmp = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pArg>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (_sqlite3_aggregate_context($5,40)|0); - HEAP32[$pBest>>2] = $6; - $7 = HEAP32[$pBest>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_type($10)|0); - $12 = ($11|0)==(5); - $13 = HEAP32[$pBest>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP16[$14>>1]|0; - $16 = ($15<<16>>16)!=(0); - if ($12) { - if (!($16)) { - STACKTOP = sp;return; - } - $17 = HEAP32[$0>>2]|0; - _sqlite3SkipAccumulatorLoad($17); - STACKTOP = sp;return; - } - $18 = HEAP32[$0>>2]|0; - if (!($16)) { - $39 = (_sqlite3_context_db_handle($18)|0); - $40 = HEAP32[$pBest>>2]|0; - $41 = ((($40)) + 32|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$pBest>>2]|0; - $43 = HEAP32[$pArg>>2]|0; - (_sqlite3VdbeMemCopy($42,$43)|0); - STACKTOP = sp;return; - } - $19 = (_sqlite3GetFuncCollSeq($18)|0); - HEAP32[$pColl>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = (_sqlite3_user_data($20)|0); - $22 = ($21|0)!=(0|0); - $23 = $22&1; - HEAP32[$max>>2] = $23; - $24 = HEAP32[$pBest>>2]|0; - $25 = HEAP32[$pArg>>2]|0; - $26 = HEAP32[$pColl>>2]|0; - $27 = (_sqlite3MemCompare($24,$25,$26)|0); - HEAP32[$cmp>>2] = $27; - $28 = HEAP32[$max>>2]|0; - $29 = ($28|0)!=(0); - $30 = HEAP32[$cmp>>2]|0; - $31 = ($30|0)<(0); - $or$cond = $29 & $31; - if (!($or$cond)) { - $32 = HEAP32[$max>>2]|0; - $33 = ($32|0)==(0); - $34 = HEAP32[$cmp>>2]|0; - $35 = ($34|0)>(0); - $or$cond3 = $33 & $35; - if (!($or$cond3)) { - $38 = HEAP32[$0>>2]|0; - _sqlite3SkipAccumulatorLoad($38); - STACKTOP = sp;return; - } - } - $36 = HEAP32[$pBest>>2]|0; - $37 = HEAP32[$pArg>>2]|0; - (_sqlite3VdbeMemCopy($36,$37)|0); - STACKTOP = sp;return; -} -function _minMaxFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRes = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pRes = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$pRes>>2] = $2; - $3 = HEAP32[$pRes>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$pRes>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP16[$6>>1]|0; - $8 = ($7<<16>>16)!=(0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$pRes>>2]|0; - _sqlite3_result_value($9,$10); - } - $11 = HEAP32[$pRes>>2]|0; - _sqlite3VdbeMemRelease($11); - STACKTOP = sp;return; -} -function _typeofFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - HEAP32[$z>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - switch ($5|0) { - case 1: { - HEAP32[$z>>2] = 39710; - break; - } - case 3: { - HEAP32[$z>>2] = 45210; - break; - } - case 2: { - HEAP32[$z>>2] = 39705; - break; - } - case 4: { - HEAP32[$z>>2] = 45215; - break; - } - default: { - HEAP32[$z>>2] = 39718; - } - } - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$z>>2]|0; - _sqlite3_result_text($6,$7,-1,0); + $3 = sp + 16|0; + $4 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = $varargs; + $5 = HEAP32[$3>>2]|0; + $6 = (_sqlite3_vmprintf($5,$4)|0); + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 8|0); + HEAP32[$8>>2] = $6; STACKTOP = sp;return; } -function _lengthFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $len = 0, $z = 0, label = 0, sp = 0; +function _sqlite3Fts5StorageDeleteAll($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $len = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - switch ($5|0) { - case 2: case 1: case 4: { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_bytes($8)|0); - _sqlite3_result_int($6,$9); - STACKTOP = sp;return; - break; - } - case 3: { - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_text($11)|0); - HEAP32[$z>>2] = $12; - $13 = HEAP32[$z>>2]|0; - $14 = ($13|0)==(0|0); - if ($14) { - STACKTOP = sp;return; - } - HEAP32[$len>>2] = 0; - L10: while(1) { - $15 = HEAP32[$z>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - break; - } - $18 = HEAP32[$len>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$len>>2] = $19; - $20 = HEAP32[$z>>2]|0; - $21 = ((($20)) + 1|0); - HEAP32[$z>>2] = $21; - $22 = HEAP8[$20>>0]|0; - $23 = $22&255; - $24 = ($23|0)>=(192); - if (!($24)) { - continue; - } - while(1) { - $25 = HEAP32[$z>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $27 & 192; - $29 = ($28|0)==(128); - if (!($29)) { - continue L10; - } - $30 = HEAP32[$z>>2]|0; - $31 = ((($30)) + 1|0); - HEAP32[$z>>2] = $31; - } + STACKTOP = STACKTOP + 48|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $1 = sp + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + HEAP32[$1>>2] = $0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$vararg_buffer>>2] = $10; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $13; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $16; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $19; + $20 = (_fts5ExecPrintf($7,0,51758,$vararg_buffer)|0); + HEAP32[$3>>2] = $20; + $21 = HEAP32[$3>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 44|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$vararg_buffer4>>2] = $31; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $34; + $35 = (_fts5ExecPrintf($28,0,51808,$vararg_buffer4)|0); + HEAP32[$3>>2] = $35; } - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$len>>2]|0; - _sqlite3_result_int($32,$33); - STACKTOP = sp;return; - break; } - default: { - $34 = HEAP32[$0>>2]|0; - _sqlite3_result_null($34); - STACKTOP = sp;return; + $36 = HEAP32[$3>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3Fts5IndexReinit($40)|0); + HEAP32[$3>>2] = $41; } + $42 = HEAP32[$3>>2]|0; + $43 = ($42|0)==(0); + if (!($43)) { + $46 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($46|0); } + $44 = HEAP32[$1>>2]|0; + $45 = (_sqlite3Fts5StorageConfigValue($44,47943,0,4)|0); + HEAP32[$3>>2] = $45; + $46 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($46|0); } -function _instrFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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 $7 = 0, $8 = 0, $9 = 0, $N = 0, $isText = 0, $nHaystack = 0, $nNeedle = 0, $or$cond = 0, $or$cond3 = 0, $typeHaystack = 0, $typeNeedle = 0, $zHaystack = 0, $zNeedle = 0, label = 0, sp = 0; +function _sqlite3Fts5StorageRebuild($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; + $1 = sp + 44|0; $2 = sp + 32|0; - $zHaystack = sp + 28|0; - $zNeedle = sp + 24|0; - $nHaystack = sp + 20|0; - $nNeedle = sp + 16|0; - $typeHaystack = sp + 12|0; - $typeNeedle = sp + 8|0; - $N = sp + 4|0; - $isText = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$N>>2] = 1; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - HEAP32[$typeHaystack>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_type($8)|0); - HEAP32[$typeNeedle>>2] = $9; - $10 = HEAP32[$typeHaystack>>2]|0; - $11 = ($10|0)==(5); - $12 = HEAP32[$typeNeedle>>2]|0; - $13 = ($12|0)==(5); - $or$cond = $11 | $13; - if ($or$cond) { - STACKTOP = sp;return; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$1>>2] = $0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$3>>2] = $9; + HEAP32[$4>>2] = 0; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; + $10 = HEAP32[$1>>2]|0; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = (_sqlite3Fts5StorageDeleteAll($11)|0); + HEAP32[$6>>2] = $12; + $13 = HEAP32[$6>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$1>>2]|0; + $16 = (_fts5StorageLoadTotals($15,1)|0); + HEAP32[$6>>2] = $16; } - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3_value_bytes($15)|0); - HEAP32[$nHaystack>>2] = $16; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_bytes($19)|0); - HEAP32[$nNeedle>>2] = $20; - $21 = HEAP32[$typeHaystack>>2]|0; - $22 = ($21|0)==(4); - $23 = HEAP32[$typeNeedle>>2]|0; - $24 = ($23|0)==(4); - $or$cond3 = $22 & $24; - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$25>>2]|0; - if ($or$cond3) { - $27 = (_sqlite3_value_blob($26)|0); - HEAP32[$zHaystack>>2] = $27; - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3_value_blob($30)|0); - HEAP32[$zNeedle>>2] = $31; - HEAP32[$isText>>2] = 0; - } else { - $32 = (_sqlite3_value_text($26)|0); - HEAP32[$zHaystack>>2] = $32; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3_value_text($35)|0); - HEAP32[$zNeedle>>2] = $36; - HEAP32[$isText>>2] = 1; + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)==(0); + if ($18) { + $19 = HEAP32[$1>>2]|0; + $20 = (_fts5StorageGetStmt($19,10,$4,0)|0); + HEAP32[$6>>2] = $20; } - L7: while(1) { - $37 = HEAP32[$nNeedle>>2]|0; - $38 = HEAP32[$nHaystack>>2]|0; - $39 = ($37|0)<=($38|0); - if (!($39)) { + while(1) { + $21 = HEAP32[$6>>2]|0; + $22 = ($21|0)==(0); + if (!($22)) { break; } - $40 = HEAP32[$zHaystack>>2]|0; - $41 = HEAP32[$zNeedle>>2]|0; - $42 = HEAP32[$nNeedle>>2]|0; - $43 = (_memcmp($40,$41,$42)|0); - $44 = ($43|0)!=(0); - if (!($44)) { + $23 = HEAP32[$4>>2]|0; + $24 = (_sqlite3_step($23)|0); + $25 = (100)==($24|0); + if (!($25)) { break; } - $45 = HEAP32[$N>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$N>>2] = $46; + $26 = HEAP32[$4>>2]|0; + $27 = (_sqlite3_column_int64($26,0)|0); + $28 = tempRet0; + $29 = $7; + $30 = $29; + HEAP32[$30>>2] = $27; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + _sqlite3Fts5BufferZero($2); + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $7; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (_sqlite3Fts5IndexBeginWrite($35,0,$38,$41)|0); + HEAP32[$6>>2] = $42; + $43 = ((($5)) + 4|0); + HEAP32[$43>>2] = 0; while(1) { - $47 = HEAP32[$nHaystack>>2]|0; - $48 = (($47) + -1)|0; - HEAP32[$nHaystack>>2] = $48; - $49 = HEAP32[$zHaystack>>2]|0; - $50 = ((($49)) + 1|0); - HEAP32[$zHaystack>>2] = $50; - $51 = HEAP32[$isText>>2]|0; - $52 = ($51|0)!=(0); - if (!($52)) { - continue L7; + $44 = HEAP32[$6>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + break; } - $53 = HEAP32[$zHaystack>>2]|0; - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = $55 & 192; - $57 = ($56|0)==(128); - if (!($57)) { - continue L7; + $46 = ((($5)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$3>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($47|0)<($50|0); + if (!($51)) { + break; + } + $52 = ((($5)) + 8|0); + HEAP32[$52>>2] = 0; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 20|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($5)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + ($57)|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = ($60|0)==(0); + if ($61) { + $62 = HEAP32[$3>>2]|0; + $63 = HEAP32[$4>>2]|0; + $64 = ((($5)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = (($65) + 1)|0; + $67 = (_sqlite3_column_text($63,$66)|0); + $68 = HEAP32[$4>>2]|0; + $69 = ((($5)) + 4|0); + $70 = HEAP32[$69>>2]|0; + $71 = (($70) + 1)|0; + $72 = (_sqlite3_column_bytes($68,$71)|0); + $73 = (_sqlite3Fts5Tokenize($62,4,$67,$72,$5,154)|0); + HEAP32[$6>>2] = $73; } + $74 = ((($5)) + 8|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($75|0)<(0); + $77 = $76 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($6,$2,$75,$77); + $78 = ((($5)) + 8|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)<(0); + $81 = $80 << 31 >> 31; + $82 = HEAP32[$1>>2]|0; + $83 = ((($82)) + 24|0); + $84 = HEAP32[$83>>2]|0; + $85 = ((($5)) + 4|0); + $86 = HEAP32[$85>>2]|0; + $87 = (($84) + ($86<<3)|0); + $88 = $87; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (_i64Add(($90|0),($93|0),($79|0),($81|0))|0); + $95 = tempRet0; + $96 = $87; + $97 = $96; + HEAP32[$97>>2] = $94; + $98 = (($96) + 4)|0; + $99 = $98; + HEAP32[$99>>2] = $95; + $100 = ((($5)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = (($101) + 1)|0; + HEAP32[$100>>2] = $102; + } + $103 = HEAP32[$1>>2]|0; + $104 = ((($103)) + 16|0); + $105 = $104; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (_i64Add(($107|0),($110|0),1,0)|0); + $112 = tempRet0; + $113 = $104; + $114 = $113; + HEAP32[$114>>2] = $111; + $115 = (($113) + 4)|0; + $116 = $115; + HEAP32[$116>>2] = $112; + $117 = HEAP32[$6>>2]|0; + $118 = ($117|0)==(0); + if (!($118)) { + continue; } + $119 = HEAP32[$1>>2]|0; + $120 = $7; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = (_fts5StorageInsertDocsize($119,$122,$125,$2)|0); + HEAP32[$6>>2] = $126; } - $58 = HEAP32[$nNeedle>>2]|0; - $59 = HEAP32[$nHaystack>>2]|0; - $60 = ($58|0)>($59|0); - if ($60) { - HEAP32[$N>>2] = 0; + $127 = HEAP32[$2>>2]|0; + _sqlite3_free($127); + $128 = HEAP32[$6>>2]|0; + $129 = ($128|0)==(0); + if (!($129)) { + $132 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($132|0); } - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$N>>2]|0; - _sqlite3_result_int($61,$62); - STACKTOP = sp;return; + $130 = HEAP32[$1>>2]|0; + $131 = (_fts5StorageSaveTotals($130)|0); + HEAP32[$6>>2] = $131; + $132 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($132|0); } -function _printfFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0, $str = 0, $vararg_buffer = 0, $x = 0, $zFormat = 0, label = 0, sp = 0; +function _sqlite3Fts5StorageOptimize($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer = sp; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $x = sp + 44|0; - $str = sp + 16|0; - $zFormat = sp + 12|0; - $n = sp + 8|0; - $db = sp + 4|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)>=(1); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$zFormat>>2] = $9; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - 1)|0; - HEAP32[$x>>2] = $12; - $13 = ((($x)) + 4|0); - HEAP32[$13>>2] = 0; - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 4|0); - $16 = ((($x)) + 8|0); - HEAP32[$16>>2] = $15; - $17 = HEAP32[$db>>2]|0; - $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 96|0); - $20 = HEAP32[$19>>2]|0; - _sqlite3StrAccumInit($str,$17,0,0,$20); - $21 = ((($str)) + 25|0); - HEAP8[$21>>0] = 2; - $22 = HEAP32[$zFormat>>2]|0; - HEAP32[$vararg_buffer>>2] = $x; - _sqlite3XPrintf($str,$22,$vararg_buffer); - $23 = ((($str)) + 12|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$n>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = (_sqlite3StrAccumFinish($str)|0); - $27 = HEAP32[$n>>2]|0; - _sqlite3_result_text($25,$26,$27,170); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3Fts5IndexOptimize($4)|0); + STACKTOP = sp;return ($5|0); } -function _unicodeFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 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, $z = 0, label = 0, sp = 0; +function _sqlite3Fts5StorageMerge($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; $2 = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$z>>2] = $5; - $6 = HEAP32[$z>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = HEAP32[$z>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)!=(0); - if (!($11)) { - STACKTOP = sp;return; - } - $12 = HEAP32[$0>>2]|0; - $13 = (_sqlite3Utf8Read($z)|0); - _sqlite3_result_int($12,$13); - STACKTOP = sp;return; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3Fts5IndexMerge($6,$7)|0); + STACKTOP = sp;return ($8|0); } -function _charFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $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; - 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, $c = 0, $i = 0, $or$cond = 0, $x = 0, $z = 0, $zOut = 0, label = 0; - var sp = 0; +function _sqlite3Fts5StorageIntegrity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $z = sp + 20|0; - $zOut = sp + 16|0; - $i = sp + 12|0; - $x = sp; - $c = sp + 8|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$1>>2]|0; - $4 = $3<<2; - $5 = (($4) + 1)|0; - $6 = ($5|0)<(0); - $7 = $6 << 31 >> 31; - $8 = (_sqlite3_malloc64($5,$7)|0); - HEAP32[$z>>2] = $8; - HEAP32[$zOut>>2] = $8; - $9 = HEAP32[$z>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($11); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 96|0; + $1 = sp + 84|0; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = sp + 64|0; + $7 = sp + 16|0; + $8 = sp + 60|0; + $9 = sp + 56|0; + $10 = sp + 52|0; + $11 = sp + 48|0; + $12 = sp + 8|0; + $13 = sp; + HEAP32[$2>>2] = $0; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + HEAP32[$3>>2] = $15; + ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;HEAP32[$7+16>>2]=0|0;HEAP32[$7+20>>2]=0|0;HEAP32[$7+24>>2]=0|0;HEAP32[$7+28>>2]=0|0; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ((($7)) + 28|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21*12)|0; + $23 = (_sqlite3_malloc($22)|0); + HEAP32[$6>>2] = $23; + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { + HEAP32[$1>>2] = 7; + $271 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($271|0); } - HEAP32[$i>>2] = 0; - while(1) { - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ($12|0)<($13|0); - if (!($14)) { - break; - } - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = (($16) + ($15<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = (_sqlite3_value_int64($18)|0); - $20 = tempRet0; - $21 = $x; - $22 = $21; - HEAP32[$22>>2] = $19; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = $x; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)<(0); - $32 = $x; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)>(0); - $39 = ($34>>>0)>(1114111); - $40 = ($37|0)==(0); - $41 = $40 & $39; - $42 = $38 | $41; - $or$cond = $31 | $42; - $43 = $or$cond ? 65533 : $19; - $44 = $or$cond ? 0 : $20; - $45 = $x; - $46 = $45; - HEAP32[$46>>2] = $43; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $44; - $49 = $x; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = $51 & 2097151; - HEAP32[$c>>2] = $55; - $56 = HEAP32[$c>>2]|0; - $57 = ($56>>>0)<(128); - $58 = HEAP32[$c>>2]|0; - do { - if ($57) { - $59 = $58 & 255; - $60 = $59&255; - $61 = HEAP32[$zOut>>2]|0; - $62 = ((($61)) + 1|0); - HEAP32[$zOut>>2] = $62; - HEAP8[$61>>0] = $60; - } else { - $63 = ($58>>>0)<(2048); - $64 = HEAP32[$c>>2]|0; - if ($63) { - $65 = $64 >>> 6; - $66 = $65 & 31; - $67 = $66&255; - $68 = $67&255; - $69 = (192 + ($68))|0; - $70 = $69&255; - $71 = HEAP32[$zOut>>2]|0; - $72 = ((($71)) + 1|0); - HEAP32[$zOut>>2] = $72; - HEAP8[$71>>0] = $70; - $73 = HEAP32[$c>>2]|0; - $74 = $73 & 63; - $75 = $74&255; - $76 = $75&255; - $77 = (128 + ($76))|0; - $78 = $77&255; - $79 = HEAP32[$zOut>>2]|0; - $80 = ((($79)) + 1|0); - HEAP32[$zOut>>2] = $80; - HEAP8[$79>>0] = $78; - break; + $26 = HEAP32[$6>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($26) + ($29<<3)|0); + HEAP32[$5>>2] = $30; + $31 = HEAP32[$6>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + $35 = $34<<3; + _memset(($31|0),0,($35|0))|0; + $36 = HEAP32[$2>>2]|0; + $37 = (_fts5StorageGetStmt($36,10,$8,0)|0); + HEAP32[$4>>2] = $37; + $38 = HEAP32[$4>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + while(1) { + $40 = HEAP32[$8>>2]|0; + $41 = (_sqlite3_step($40)|0); + $42 = (100)==($41|0); + if (!($42)) { + break; + } + $43 = HEAP32[$8>>2]|0; + $44 = (_sqlite3_column_int64($43,0)|0); + $45 = tempRet0; + $46 = $7; + $47 = $46; + HEAP32[$47>>2] = $44; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = ((($7)) + 12|0); + HEAP32[$50>>2] = 0; + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 44|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)!=(0); + if ($54) { + $55 = HEAP32[$2>>2]|0; + $56 = $7; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$5>>2]|0; + $63 = (_sqlite3Fts5StorageDocsize($55,$58,$61,$62)|0); + HEAP32[$4>>2] = $63; + } + $64 = HEAP32[$4>>2]|0; + $65 = ($64|0)==(0); + if ($65) { + $66 = HEAP32[$3>>2]|0; + $67 = ((($66)) + 48|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)==(1); + if ($69) { + $70 = ((($7)) + 24|0); + $71 = (_sqlite3Fts5TermsetNew($70)|0); + HEAP32[$4>>2] = $71; } - $81 = ($64>>>0)<(65536); - $82 = HEAP32[$c>>2]|0; - if ($81) { - $83 = $82 >>> 12; - $84 = $83 & 15; - $85 = $84&255; - $86 = $85&255; - $87 = (224 + ($86))|0; - $88 = $87&255; - $89 = HEAP32[$zOut>>2]|0; - $90 = ((($89)) + 1|0); - HEAP32[$zOut>>2] = $90; - HEAP8[$89>>0] = $88; - $91 = HEAP32[$c>>2]|0; - $92 = $91 >>> 6; - $93 = $92 & 63; - $94 = $93&255; - $95 = $94&255; - $96 = (128 + ($95))|0; - $97 = $96&255; - $98 = HEAP32[$zOut>>2]|0; - $99 = ((($98)) + 1|0); - HEAP32[$zOut>>2] = $99; - HEAP8[$98>>0] = $97; - $100 = HEAP32[$c>>2]|0; - $101 = $100 & 63; - $102 = $101&255; - $103 = $102&255; - $104 = (128 + ($103))|0; - $105 = $104&255; - $106 = HEAP32[$zOut>>2]|0; - $107 = ((($106)) + 1|0); - HEAP32[$zOut>>2] = $107; - HEAP8[$106>>0] = $105; - break; - } else { - $108 = $82 >>> 18; - $109 = $108 & 7; - $110 = $109&255; - $111 = $110&255; - $112 = (240 + ($111))|0; - $113 = $112&255; - $114 = HEAP32[$zOut>>2]|0; - $115 = ((($114)) + 1|0); - HEAP32[$zOut>>2] = $115; - HEAP8[$114>>0] = $113; - $116 = HEAP32[$c>>2]|0; - $117 = $116 >>> 12; - $118 = $117 & 63; - $119 = $118&255; - $120 = $119&255; - $121 = (128 + ($120))|0; - $122 = $121&255; - $123 = HEAP32[$zOut>>2]|0; - $124 = ((($123)) + 1|0); - HEAP32[$zOut>>2] = $124; - HEAP8[$123>>0] = $122; - $125 = HEAP32[$c>>2]|0; - $126 = $125 >>> 6; - $127 = $126 & 63; - $128 = $127&255; - $129 = $128&255; - $130 = (128 + ($129))|0; - $131 = $130&255; - $132 = HEAP32[$zOut>>2]|0; - $133 = ((($132)) + 1|0); - HEAP32[$zOut>>2] = $133; - HEAP8[$132>>0] = $131; - $134 = HEAP32[$c>>2]|0; - $135 = $134 & 63; - $136 = $135&255; - $137 = $136&255; - $138 = (128 + ($137))|0; - $139 = $138&255; - $140 = HEAP32[$zOut>>2]|0; - $141 = ((($140)) + 1|0); - HEAP32[$zOut>>2] = $141; - HEAP8[$140>>0] = $139; + } + HEAP32[$10>>2] = 0; + while(1) { + $72 = HEAP32[$4>>2]|0; + $73 = ($72|0)==(0); + if (!($73)) { break; } - } - } while(0); - $142 = HEAP32[$i>>2]|0; - $143 = (($142) + 1)|0; - HEAP32[$i>>2] = $143; - } - $144 = HEAP32[$0>>2]|0; - $145 = HEAP32[$z>>2]|0; - $146 = HEAP32[$zOut>>2]|0; - $147 = HEAP32[$z>>2]|0; - $148 = $146; - $149 = $147; - $150 = (($148) - ($149))|0; - $151 = ($150|0)<(0); - $152 = $151 << 31 >> 31; - _sqlite3_result_text64($144,$145,$150,$152,148,1); - STACKTOP = sp;return; -} -function _absFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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.0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $iVal = 0, $rVal = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $iVal = sp + 8|0; - $rVal = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - switch ($5|0) { - case 1: { - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_int64($7)|0); - $9 = tempRet0; - $10 = $iVal; - $11 = $10; - HEAP32[$11>>2] = $8; - $12 = (($10) + 4)|0; - $13 = $12; - HEAP32[$13>>2] = $9; - $14 = $iVal; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)<(0); - do { - if ($20) { - $21 = $iVal; - $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)==(-2147483648); - $29 = $27 & $28; - if (!($29)) { - $31 = $iVal; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (_i64Subtract(0,0,($33|0),($36|0))|0); - $38 = tempRet0; - $39 = $iVal; - $40 = $39; - HEAP32[$40>>2] = $37; - $41 = (($39) + 4)|0; - $42 = $41; - HEAP32[$42>>2] = $38; + $74 = HEAP32[$10>>2]|0; + $75 = HEAP32[$3>>2]|0; + $76 = ((($75)) + 12|0); + $77 = HEAP32[$76>>2]|0; + $78 = ($74|0)<($77|0); + if (!($78)) { break; } - $30 = HEAP32[$0>>2]|0; - _sqlite3_result_error($30,45165,-1); - STACKTOP = sp;return; + $79 = HEAP32[$3>>2]|0; + $80 = ((($79)) + 20|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$10>>2]|0; + $83 = (($81) + ($82)|0); + $84 = HEAP8[$83>>0]|0; + $85 = ($84<<24>>24)!=(0); + if (!($85)) { + $86 = HEAP32[$10>>2]|0; + $87 = ((($7)) + 8|0); + HEAP32[$87>>2] = $86; + $88 = ((($7)) + 12|0); + HEAP32[$88>>2] = 0; + $89 = HEAP32[$3>>2]|0; + $90 = ((($89)) + 48|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)==(2); + if ($92) { + $93 = ((($7)) + 24|0); + $94 = (_sqlite3Fts5TermsetNew($93)|0); + HEAP32[$4>>2] = $94; + } + $95 = HEAP32[$4>>2]|0; + $96 = ($95|0)==(0); + if ($96) { + $97 = HEAP32[$3>>2]|0; + $98 = HEAP32[$8>>2]|0; + $99 = HEAP32[$10>>2]|0; + $100 = (($99) + 1)|0; + $101 = (_sqlite3_column_text($98,$100)|0); + $102 = HEAP32[$8>>2]|0; + $103 = HEAP32[$10>>2]|0; + $104 = (($103) + 1)|0; + $105 = (_sqlite3_column_bytes($102,$104)|0); + $106 = (_sqlite3Fts5Tokenize($97,4,$101,$105,$7,155)|0); + HEAP32[$4>>2] = $106; + } + $107 = HEAP32[$4>>2]|0; + $108 = ($107|0)==(0); + if ($108) { + $109 = HEAP32[$3>>2]|0; + $110 = ((($109)) + 44|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)!=(0); + if ($112) { + $113 = ((($7)) + 12|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$5>>2]|0; + $116 = HEAP32[$10>>2]|0; + $117 = (($115) + ($116<<2)|0); + $118 = HEAP32[$117>>2]|0; + $119 = ($114|0)!=($118|0); + if ($119) { + HEAP32[$4>>2] = 267; + } + } + } + $120 = ((($7)) + 12|0); + $121 = HEAP32[$120>>2]|0; + $122 = ($121|0)<(0); + $123 = $122 << 31 >> 31; + $124 = HEAP32[$6>>2]|0; + $125 = HEAP32[$10>>2]|0; + $126 = (($124) + ($125<<3)|0); + $127 = $126; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (_i64Add(($129|0),($132|0),($121|0),($123|0))|0); + $134 = tempRet0; + $135 = $126; + $136 = $135; + HEAP32[$136>>2] = $133; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + $139 = HEAP32[$3>>2]|0; + $140 = ((($139)) + 48|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)==(2); + if ($142) { + $143 = ((($7)) + 24|0); + $144 = HEAP32[$143>>2]|0; + _sqlite3Fts5TermsetFree($144); + $145 = ((($7)) + 24|0); + HEAP32[$145>>2] = 0; + } + } + $146 = HEAP32[$10>>2]|0; + $147 = (($146) + 1)|0; + HEAP32[$10>>2] = $147; + } + $148 = ((($7)) + 24|0); + $149 = HEAP32[$148>>2]|0; + _sqlite3Fts5TermsetFree($149); + $150 = ((($7)) + 24|0); + HEAP32[$150>>2] = 0; + $151 = HEAP32[$4>>2]|0; + $152 = ($151|0)!=(0); + if ($152) { + break; } - } while(0); - $43 = HEAP32[$0>>2]|0; - $44 = $iVal; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - _sqlite3_result_int64($43,$46,$49); - STACKTOP = sp;return; - break; - } - case 5: { - $50 = HEAP32[$0>>2]|0; - _sqlite3_result_null($50); - STACKTOP = sp;return; - break; - } - default: { - $51 = HEAP32[$2>>2]|0; - $52 = HEAP32[$51>>2]|0; - $53 = (+_sqlite3_value_double($52)); - HEAPF64[$rVal>>3] = $53; - $54 = +HEAPF64[$rVal>>3]; - $55 = $54 < 0.0; - if ($55) { - $56 = +HEAPF64[$rVal>>3]; - $57 = -$56; - HEAPF64[$rVal>>3] = $57; } - $58 = HEAP32[$0>>2]|0; - $59 = +HEAPF64[$rVal>>3]; - _sqlite3_result_double($58,$59); - STACKTOP = sp;return; - } + $153 = HEAP32[$8>>2]|0; + $154 = (_sqlite3_reset($153)|0); + HEAP32[$9>>2] = $154; + $155 = HEAP32[$4>>2]|0; + $156 = ($155|0)==(0); + if ($156) { + $157 = HEAP32[$9>>2]|0; + HEAP32[$4>>2] = $157; + } } -} -function _roundFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$ = 0, $$$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0; - var $25 = 0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0; - var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $r = 0, $vararg_buffer = 0, $vararg_ptr6 = 0, $zBuf = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp + 8|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $n = sp + 28|0; - $r = sp; - $zBuf = sp + 24|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$n>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(2); - do { - if ($4) { - $5 = HEAP32[$2>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_type($7)|0); - $9 = (5)==($8|0); - if ($9) { - STACKTOP = sp;return; - } else { - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3_value_int($12)|0); - HEAP32[$n>>2] = $13; - $14 = HEAP32[$n>>2]|0; - $15 = ($14|0)>(30); - $$ = $15 ? 30 : $13; - HEAP32[$n>>2] = $$; - $16 = HEAP32[$n>>2]|0; - $17 = ($16|0)<(0); - $$$ = $17 ? 0 : $$; - HEAP32[$n>>2] = $$$; - break; + $158 = HEAP32[$4>>2]|0; + $159 = ($158|0)==(0); + L39: do { + if ($159) { + $160 = HEAP32[$2>>2]|0; + $161 = (_fts5StorageLoadTotals($160,0)|0); + HEAP32[$4>>2] = $161; + HEAP32[$11>>2] = 0; + while(1) { + $162 = HEAP32[$4>>2]|0; + $163 = ($162|0)==(0); + if (!($163)) { + break L39; + } + $164 = HEAP32[$11>>2]|0; + $165 = HEAP32[$3>>2]|0; + $166 = ((($165)) + 12|0); + $167 = HEAP32[$166>>2]|0; + $168 = ($164|0)<($167|0); + if (!($168)) { + break L39; + } + $169 = HEAP32[$2>>2]|0; + $170 = ((($169)) + 24|0); + $171 = HEAP32[$170>>2]|0; + $172 = HEAP32[$11>>2]|0; + $173 = (($171) + ($172<<3)|0); + $174 = $173; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = (($174) + 4)|0; + $178 = $177; + $179 = HEAP32[$178>>2]|0; + $180 = HEAP32[$6>>2]|0; + $181 = HEAP32[$11>>2]|0; + $182 = (($180) + ($181<<3)|0); + $183 = $182; + $184 = $183; + $185 = HEAP32[$184>>2]|0; + $186 = (($183) + 4)|0; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = ($176|0)!=($185|0); + $190 = ($179|0)!=($188|0); + $191 = $189 | $190; + if ($191) { + HEAP32[$4>>2] = 267; + } + $192 = HEAP32[$11>>2]|0; + $193 = (($192) + 1)|0; + HEAP32[$11>>2] = $193; } } } while(0); - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_type($19)|0); - $21 = ($20|0)==(5); - if ($21) { - STACKTOP = sp;return; - } - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = (+_sqlite3_value_double($23)); - HEAPF64[$r>>3] = $24; - $25 = HEAP32[$n>>2]|0; - $26 = ($25|0)==(0); - $27 = +HEAPF64[$r>>3]; - $28 = $27 >= 0.0; - $or$cond = $26 & $28; - $29 = +HEAPF64[$r>>3]; - $30 = $29 < 9.2233720368547758E+18; - $or$cond3 = $or$cond & $30; - do { - if ($or$cond3) { - $31 = +HEAPF64[$r>>3]; - $32 = $31 + 0.5; - $33 = (~~$32)>>>0; - $34 = +Math_abs($32) >= 1.0 ? $32 > 0.0 ? (~~+Math_min(+Math_floor($32 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($32 - +(~~$32 >>> 0)) / 4294967296.0) >>> 0 : 0; - $35 = (+($33>>>0)) + (4294967296.0*(+($34|0))); - HEAPF64[$r>>3] = $35; - } else { - $36 = HEAP32[$n>>2]|0; - $37 = ($36|0)==(0); - $38 = +HEAPF64[$r>>3]; - $39 = $38 < 0.0; - $or$cond5 = $37 & $39; - if ($or$cond5) { - $40 = +HEAPF64[$r>>3]; - $41 = -$40; - $42 = $41 < 9.2233720368547758E+18; - if ($42) { - $43 = +HEAPF64[$r>>3]; - $44 = -$43; - $45 = $44 + 0.5; - $46 = (~~$45)>>>0; - $47 = +Math_abs($45) >= 1.0 ? $45 > 0.0 ? (~~+Math_min(+Math_floor($45 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($45 - +(~~$45 >>> 0)) / 4294967296.0) >>> 0 : 0; - $48 = (+($46>>>0)) + (4294967296.0*(+($47|0))); - $49 = -$48; - HEAPF64[$r>>3] = $49; - break; + $194 = HEAP32[$4>>2]|0; + $195 = ($194|0)==(0); + if ($195) { + $196 = HEAP32[$3>>2]|0; + $197 = ((($196)) + 32|0); + $198 = HEAP32[$197>>2]|0; + $199 = ($198|0)==(0); + if ($199) { + $200 = $12; + $201 = $200; + HEAP32[$201>>2] = 0; + $202 = (($200) + 4)|0; + $203 = $202; + HEAP32[$203>>2] = 0; + $204 = HEAP32[$2>>2]|0; + $205 = (_fts5StorageCount($204,46221,$12)|0); + HEAP32[$4>>2] = $205; + $206 = HEAP32[$4>>2]|0; + $207 = ($206|0)==(0); + if ($207) { + $208 = $12; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = HEAP32[$2>>2]|0; + $215 = ((($214)) + 16|0); + $216 = $215; + $217 = $216; + $218 = HEAP32[$217>>2]|0; + $219 = (($216) + 4)|0; + $220 = $219; + $221 = HEAP32[$220>>2]|0; + $222 = ($210|0)!=($218|0); + $223 = ($213|0)!=($221|0); + $224 = $222 | $223; + if ($224) { + HEAP32[$4>>2] = 267; } } - $50 = HEAP32[$n>>2]|0; - $51 = +HEAPF64[$r>>3]; - HEAP32[$vararg_buffer>>2] = $50; - $vararg_ptr6 = ((($vararg_buffer)) + 8|0); - HEAPF64[$vararg_ptr6>>3] = $51; - $52 = (_sqlite3_mprintf(45205,$vararg_buffer)|0); - HEAP32[$zBuf>>2] = $52; - $53 = HEAP32[$zBuf>>2]|0; - $54 = ($53|0)==(0|0); - if (!($54)) { - $56 = HEAP32[$zBuf>>2]|0; - $57 = HEAP32[$zBuf>>2]|0; - $58 = (_sqlite3Strlen30($57)|0); - (_sqlite3AtoF($56,$r,$58,1)|0); - $59 = HEAP32[$zBuf>>2]|0; - _sqlite3_free($59); - break; + } + } + $225 = HEAP32[$4>>2]|0; + $226 = ($225|0)==(0); + if ($226) { + $227 = HEAP32[$3>>2]|0; + $228 = ((($227)) + 44|0); + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)!=(0); + if ($230) { + $231 = $13; + $232 = $231; + HEAP32[$232>>2] = 0; + $233 = (($231) + 4)|0; + $234 = $233; + HEAP32[$234>>2] = 0; + $235 = HEAP32[$2>>2]|0; + $236 = (_fts5StorageCount($235,49899,$13)|0); + HEAP32[$4>>2] = $236; + $237 = HEAP32[$4>>2]|0; + $238 = ($237|0)==(0); + if ($238) { + $239 = $13; + $240 = $239; + $241 = HEAP32[$240>>2]|0; + $242 = (($239) + 4)|0; + $243 = $242; + $244 = HEAP32[$243>>2]|0; + $245 = HEAP32[$2>>2]|0; + $246 = ((($245)) + 16|0); + $247 = $246; + $248 = $247; + $249 = HEAP32[$248>>2]|0; + $250 = (($247) + 4)|0; + $251 = $250; + $252 = HEAP32[$251>>2]|0; + $253 = ($241|0)!=($249|0); + $254 = ($244|0)!=($252|0); + $255 = $253 | $254; + if ($255) { + HEAP32[$4>>2] = 267; + } } - $55 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($55); - STACKTOP = sp;return; } - } while(0); - $60 = HEAP32[$0>>2]|0; - $61 = +HEAPF64[$r>>3]; - _sqlite3_result_double($60,$61); - STACKTOP = sp;return; + } + $256 = HEAP32[$4>>2]|0; + $257 = ($256|0)==(0); + if ($257) { + $258 = HEAP32[$2>>2]|0; + $259 = ((($258)) + 4|0); + $260 = HEAP32[$259>>2]|0; + $261 = ((($7)) + 16|0); + $262 = $261; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = (($262) + 4)|0; + $266 = $265; + $267 = HEAP32[$266>>2]|0; + $268 = (_sqlite3Fts5IndexIntegrityCheck($260,$264,$267)|0); + HEAP32[$4>>2] = $268; + } + $269 = HEAP32[$6>>2]|0; + _sqlite3_free($269); + $270 = HEAP32[$4>>2]|0; + HEAP32[$1>>2] = $270; + $271 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($271|0); } -function _upperFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, $z1 = 0, $z2 = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexLoadConfig($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = (_fts5StructureRead($3)|0); + HEAP32[$2>>2] = $4; + $5 = HEAP32[$2>>2]|0; + _fts5StructureRelease($5); + $6 = HEAP32[$1>>2]|0; + $7 = (_fts5IndexReturn($6)|0); + STACKTOP = sp;return ($7|0); +} +function _sqlite3Fts5StorageConfigValue($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, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $z1 = sp + 12|0; - $z2 = sp + 8|0; - $i = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$z2>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_bytes($7)|0); - HEAP32[$n>>2] = $8; - $9 = HEAP32[$z2>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + $10 = sp; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $11 = HEAP32[$4>>2]|0; + $12 = (_fts5StorageGetStmt($11,9,$8,0)|0); + HEAP32[$9>>2] = $12; + $13 = HEAP32[$9>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$8>>2]|0; + $16 = HEAP32[$5>>2]|0; + (_sqlite3_bind_text($15,1,$16,-1,0)|0); + $17 = HEAP32[$6>>2]|0; + $18 = ($17|0)!=(0|0); + $19 = HEAP32[$8>>2]|0; + if ($18) { + $20 = HEAP32[$6>>2]|0; + (_sqlite3_bind_value($19,2,$20)|0); + } else { + $21 = HEAP32[$7>>2]|0; + (_sqlite3_bind_int($19,2,$21)|0); + } + $22 = HEAP32[$8>>2]|0; + (_sqlite3_step($22)|0); + $23 = HEAP32[$8>>2]|0; + $24 = (_sqlite3_reset($23)|0); + HEAP32[$9>>2] = $24; } - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$n>>2]|0; - $13 = ($12|0)<(0); - $14 = $13 << 31 >> 31; - $15 = (_i64Add(($12|0),($14|0),1,0)|0); - $16 = tempRet0; - $17 = (_contextMalloc($11,$15,$16)|0); - HEAP32[$z1>>2] = $17; - $18 = HEAP32[$z1>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - STACKTOP = sp;return; + $25 = HEAP32[$9>>2]|0; + $26 = ($25|0)==(0); + $27 = HEAP32[$6>>2]|0; + $28 = ($27|0)!=(0|0); + $or$cond = $26 & $28; + if (!($or$cond)) { + $45 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($45|0); } - HEAP32[$i>>2] = 0; - while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$n>>2]|0; - $22 = ($20|0)<($21|0); - if (!($22)) { - break; - } - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$z2>>2]|0; - $25 = (($24) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$z2>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = (18403 + ($32)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = $35 & 32; - $37 = $36 ^ -1; - $38 = $27 & $37; - $39 = $38&255; - $40 = HEAP32[$i>>2]|0; - $41 = HEAP32[$z1>>2]|0; - $42 = (($41) + ($40)|0); - HEAP8[$42>>0] = $39; - $43 = HEAP32[$i>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$i>>2] = $44; + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 64|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$10>>2] = $33; + $34 = HEAP32[$4>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$10>>2]|0; + $38 = (_sqlite3Fts5IndexSetCookie($36,$37)|0); + HEAP32[$9>>2] = $38; + $39 = HEAP32[$9>>2]|0; + $40 = ($39|0)==(0); + if (!($40)) { + $45 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($45|0); } - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$z1>>2]|0; - $47 = HEAP32[$n>>2]|0; - _sqlite3_result_text($45,$46,$47,148); - STACKTOP = sp;return; + $41 = HEAP32[$10>>2]|0; + $42 = HEAP32[$4>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = ((($43)) + 64|0); + HEAP32[$44>>2] = $41; + $45 = HEAP32[$9>>2]|0; + STACKTOP = sp;return ($45|0); } -function _lowerFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0; - var $z1 = 0, $z2 = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexSetCookie($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; $2 = sp + 16|0; - $z1 = sp + 12|0; - $z2 = sp + 8|0; - $i = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$z2>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_bytes($7)|0); - HEAP32[$n>>2] = $8; - $9 = HEAP32[$z2>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp + 20|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$5>>2] = $9; + HEAP32[$7>>2] = 0; + $10 = HEAP32[$3>>2]|0; + _sqlite3Fts5Put32($6,$10); + $11 = HEAP32[$5>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3_blob_open($12,$15,$18,45300,10,0,1,$7)|0); + HEAP32[$4>>2] = $19; + $20 = HEAP32[$4>>2]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $25 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($25|0); } - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$n>>2]|0; - $13 = ($12|0)<(0); - $14 = $13 << 31 >> 31; - $15 = (_i64Add(($12|0),($14|0),1,0)|0); - $16 = tempRet0; - $17 = (_contextMalloc($11,$15,$16)|0); - HEAP32[$z1>>2] = $17; - $18 = HEAP32[$z1>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - STACKTOP = sp;return; + $22 = HEAP32[$7>>2]|0; + (_sqlite3_blob_write($22,$6,4,0)|0); + $23 = HEAP32[$7>>2]|0; + $24 = (_sqlite3_blob_close($23)|0); + HEAP32[$4>>2] = $24; + $25 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($25|0); +} +function _sqlite3Fts5TermsetNew($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $3 = (_sqlite3Fts5MallocZero($2,2048)|0); + $4 = HEAP32[$1>>2]|0; + HEAP32[$4>>2] = $3; + $5 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _fts5StorageIntegrityCallback($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $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$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + $14 = sp + 24|0; + $15 = sp + 20|0; + $16 = sp + 16|0; + $17 = sp + 12|0; + $18 = sp + 8|0; + $19 = sp + 4|0; + $20 = sp; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + $21 = HEAP32[$6>>2]|0; + HEAP32[$12>>2] = $21; + $22 = HEAP32[$12>>2]|0; + $23 = ((($22)) + 24|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$13>>2] = $24; + HEAP32[$16>>2] = 0; + $25 = HEAP32[$9>>2]|0; + $26 = ($25|0)>(32768); + if ($26) { + HEAP32[$9>>2] = 32768; + } + $27 = HEAP32[$7>>2]|0; + $28 = $27 & 1; + $29 = ($28|0)==(0); + if ($29) { + label = 5; + } else { + $30 = HEAP32[$12>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0); + if ($33) { + label = 5; + } + } + if ((label|0) == 5) { + $34 = HEAP32[$12>>2]|0; + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$35>>2] = $37; + } + $38 = HEAP32[$12>>2]|0; + $39 = ((($38)) + 28|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($40)) + 48|0); + $42 = HEAP32[$41>>2]|0; + switch ($42|0) { + case 0: { + $43 = HEAP32[$12>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) - 1)|0; + HEAP32[$17>>2] = $46; + $47 = HEAP32[$12>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$18>>2] = $49; + break; + } + case 2: { + $50 = HEAP32[$12>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$17>>2] = $52; + HEAP32[$18>>2] = 0; + break; + } + default: { + HEAP32[$17>>2] = 0; + HEAP32[$18>>2] = 0; + } + } + $53 = HEAP32[$13>>2]|0; + $54 = HEAP32[$8>>2]|0; + $55 = HEAP32[$9>>2]|0; + $56 = (_sqlite3Fts5TermsetAdd($53,0,$54,$55,$14)|0); + HEAP32[$16>>2] = $56; + $57 = HEAP32[$16>>2]|0; + $58 = ($57|0)==(0); + $59 = HEAP32[$14>>2]|0; + $60 = ($59|0)==(0); + $or$cond = $58 & $60; + if ($or$cond) { + $61 = HEAP32[$12>>2]|0; + $62 = $61; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$18>>2]|0; + $69 = HEAP32[$17>>2]|0; + $70 = HEAP32[$8>>2]|0; + $71 = HEAP32[$9>>2]|0; + $72 = (_sqlite3Fts5IndexEntryCksum($64,$67,$68,$69,0,$70,$71)|0); + $73 = tempRet0; + $74 = HEAP32[$12>>2]|0; + $75 = ((($74)) + 16|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $78 ^ $72; + $83 = $81 ^ $73; + $84 = $75; + $85 = $84; + HEAP32[$85>>2] = $82; + $86 = (($84) + 4)|0; + $87 = $86; + HEAP32[$87>>2] = $83; } - HEAP32[$i>>2] = 0; + HEAP32[$15>>2] = 0; while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$n>>2]|0; - $22 = ($20|0)<($21|0); - if (!($22)) { + $88 = HEAP32[$16>>2]|0; + $89 = ($88|0)==(0); + if (!($89)) { + label = 19; break; } - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$z2>>2]|0; - $25 = (($24) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (17613 + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$z1>>2]|0; - $32 = (($31) + ($30)|0); - HEAP8[$32>>0] = $29; - $33 = HEAP32[$i>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$i>>2] = $34; + $90 = HEAP32[$15>>2]|0; + $91 = HEAP32[$12>>2]|0; + $92 = ((($91)) + 28|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($93)) + 24|0); + $95 = HEAP32[$94>>2]|0; + $96 = ($90|0)<($95|0); + if (!($96)) { + label = 19; + break; + } + $97 = HEAP32[$12>>2]|0; + $98 = ((($97)) + 28|0); + $99 = HEAP32[$98>>2]|0; + $100 = ((($99)) + 28|0); + $101 = HEAP32[$100>>2]|0; + $102 = HEAP32[$15>>2]|0; + $103 = (($101) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + HEAP32[$19>>2] = $104; + $105 = HEAP32[$8>>2]|0; + $106 = HEAP32[$9>>2]|0; + $107 = HEAP32[$19>>2]|0; + $108 = (_sqlite3Fts5IndexCharlenToBytelen($105,$106,$107)|0); + HEAP32[$20>>2] = $108; + $109 = HEAP32[$20>>2]|0; + $110 = ($109|0)!=(0); + if ($110) { + $111 = HEAP32[$13>>2]|0; + $112 = HEAP32[$15>>2]|0; + $113 = (($112) + 1)|0; + $114 = HEAP32[$8>>2]|0; + $115 = HEAP32[$20>>2]|0; + $116 = (_sqlite3Fts5TermsetAdd($111,$113,$114,$115,$14)|0); + HEAP32[$16>>2] = $116; + $117 = HEAP32[$14>>2]|0; + $118 = ($117|0)==(0); + if ($118) { + $119 = HEAP32[$12>>2]|0; + $120 = $119; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$18>>2]|0; + $127 = HEAP32[$17>>2]|0; + $128 = HEAP32[$15>>2]|0; + $129 = (($128) + 1)|0; + $130 = HEAP32[$8>>2]|0; + $131 = HEAP32[$20>>2]|0; + $132 = (_sqlite3Fts5IndexEntryCksum($122,$125,$126,$127,$129,$130,$131)|0); + $133 = tempRet0; + $134 = HEAP32[$12>>2]|0; + $135 = ((($134)) + 16|0); + $136 = $135; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = $138 ^ $132; + $143 = $141 ^ $133; + $144 = $135; + $145 = $144; + HEAP32[$145>>2] = $142; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + } + } + $148 = HEAP32[$15>>2]|0; + $149 = (($148) + 1)|0; + HEAP32[$15>>2] = $149; } - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$z1>>2]|0; - $37 = HEAP32[$n>>2]|0; - _sqlite3_result_text($35,$36,$37,148); - STACKTOP = sp;return; + if ((label|0) == 19) { + $150 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($150|0); + } + return (0)|0; } -function _hexFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $i = 0, $n = 0, $pBlob = 0, $z = 0, $zHex = 0, label = 0, sp = 0; +function _sqlite3Fts5TermsetFree($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $i = sp + 16|0; - $n = sp + 12|0; - $pBlob = sp + 8|0; - $zHex = sp + 4|0; - $z = sp; - $c = sp + 32|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_blob($4)|0); - HEAP32[$pBlob>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_bytes($7)|0); - HEAP32[$n>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$n>>2]|0; - $11 = ($10|0)<(0); - $12 = $11 << 31 >> 31; - $13 = (___muldi3(($10|0),($12|0),2,0)|0); - $14 = tempRet0; - $15 = (_i64Add(($13|0),($14|0),1,0)|0); - $16 = tempRet0; - $17 = (_contextMalloc($9,$15,$16)|0); - HEAP32[$zHex>>2] = $17; - HEAP32[$z>>2] = $17; - $18 = HEAP32[$zHex>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { + STACKTOP = STACKTOP + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$1>>2] = $0; + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { STACKTOP = sp;return; } - HEAP32[$i>>2] = 0; + HEAP32[$2>>2] = 0; while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$n>>2]|0; - $22 = ($20|0)<($21|0); - if (!($22)) { + $7 = HEAP32[$2>>2]|0; + $8 = ($7>>>0)<(512); + $9 = HEAP32[$1>>2]|0; + if (!($8)) { break; } - $23 = HEAP32[$pBlob>>2]|0; - $24 = HEAP8[$23>>0]|0; - HEAP8[$c>>0] = $24; - $25 = HEAP8[$c>>0]|0; - $26 = $25&255; - $27 = $26 >> 4; - $28 = $27 & 15; - $29 = (45189 + ($28)|0); - $30 = HEAP8[$29>>0]|0; - $31 = HEAP32[$z>>2]|0; - $32 = ((($31)) + 1|0); - HEAP32[$z>>2] = $32; - HEAP8[$31>>0] = $30; - $33 = HEAP8[$c>>0]|0; - $34 = $33&255; - $35 = $34 & 15; - $36 = (45189 + ($35)|0); - $37 = HEAP8[$36>>0]|0; - $38 = HEAP32[$z>>2]|0; - $39 = ((($38)) + 1|0); - HEAP32[$z>>2] = $39; - HEAP8[$38>>0] = $37; - $40 = HEAP32[$i>>2]|0; - $41 = (($40) + 1)|0; - HEAP32[$i>>2] = $41; - $42 = HEAP32[$pBlob>>2]|0; - $43 = ((($42)) + 1|0); - HEAP32[$pBlob>>2] = $43; - } - $44 = HEAP32[$z>>2]|0; - HEAP8[$44>>0] = 0; - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$zHex>>2]|0; - $47 = HEAP32[$n>>2]|0; - $48 = $47<<1; - _sqlite3_result_text($45,$46,$48,148); - STACKTOP = sp;return; -} -function _randomFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $r = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - _sqlite3_randomness(8,$r); - $3 = $r; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = (($3) + 4)|0; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)<(0); - if ($9) { - $10 = $r; - $11 = $10; + $10 = HEAP32[$2>>2]|0; + $11 = (($9) + ($10<<2)|0); $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = $15 & 2147483647; - $17 = (_i64Subtract(0,0,($12|0),($16|0))|0); - $18 = tempRet0; - $19 = $r; - $20 = $19; - HEAP32[$20>>2] = $17; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = $18; + HEAP32[$3>>2] = $12; + while(1) { + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + break; + } + $15 = HEAP32[$3>>2]|0; + HEAP32[$4>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$3>>2] = $18; + $19 = HEAP32[$4>>2]|0; + _sqlite3_free($19); + } + $20 = HEAP32[$2>>2]|0; + $21 = (($20) + 1)|0; + HEAP32[$2>>2] = $21; } - $23 = HEAP32[$0>>2]|0; - $24 = $r; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - _sqlite3_result_int64($23,$26,$29); + _sqlite3_free($9); STACKTOP = sp;return; } -function _randomBlob($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $n = 0, $p = 0, label = 0, sp = 0; +function _fts5StorageCount($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $n = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_int($4)|0); - HEAP32[$n>>2] = $5; - $6 = HEAP32[$n>>2]|0; - $7 = ($6|0)<(1); - $$ = $7 ? 1 : $5; - HEAP32[$n>>2] = $$; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$n>>2]|0; - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = (_contextMalloc($8,$9,$11)|0); - HEAP32[$p>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 28|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 16|0; + $9 = sp + 12|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$10>>2]|0; + HEAP32[$6>>2] = $11; + $12 = HEAP32[$6>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$6>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer>>2] = $14; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $17; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $18; + $19 = (_sqlite3_mprintf(51726,$vararg_buffer)|0); + HEAP32[$7>>2] = $19; + $20 = HEAP32[$7>>2]|0; + $21 = ($20|0)==(0|0); + if ($21) { + HEAP32[$8>>2] = 7; + $41 = HEAP32[$7>>2]|0; + _sqlite3_free($41); + $42 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($42|0); } - $15 = HEAP32[$n>>2]|0; - $16 = HEAP32[$p>>2]|0; - _sqlite3_randomness($15,$16); - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$p>>2]|0; - $19 = HEAP32[$n>>2]|0; - _sqlite3_result_blob($17,$18,$19,148); - STACKTOP = sp;return; -} -function _nullifFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pColl = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3GetFuncCollSeq($3)|0); - HEAP32[$pColl>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$pColl>>2]|0; - $11 = (_sqlite3MemCompare($6,$9,$10)|0); - $12 = ($11|0)!=(0); - if (!($12)) { - STACKTOP = sp;return; + HEAP32[$9>>2] = 0; + $22 = HEAP32[$6>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$7>>2]|0; + $25 = (_sqlite3_prepare_v2($23,$24,-1,$9,0)|0); + HEAP32[$8>>2] = $25; + $26 = HEAP32[$8>>2]|0; + $27 = ($26|0)==(0); + if (!($27)) { + $41 = HEAP32[$7>>2]|0; + _sqlite3_free($41); + $42 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($42|0); } - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$14>>2]|0; - _sqlite3_result_value($13,$15); - STACKTOP = sp;return; -} -function _sourceidFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_sourceid()|0); - _sqlite3_result_text($3,$4,-1,0); - STACKTOP = sp;return; + $28 = HEAP32[$9>>2]|0; + $29 = (_sqlite3_step($28)|0); + $30 = (100)==($29|0); + if ($30) { + $31 = HEAP32[$9>>2]|0; + $32 = (_sqlite3_column_int64($31,0)|0); + $33 = tempRet0; + $34 = HEAP32[$5>>2]|0; + $35 = $34; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $33; + } + $39 = HEAP32[$9>>2]|0; + $40 = (_sqlite3_finalize($39)|0); + HEAP32[$8>>2] = $40; + $41 = HEAP32[$7>>2]|0; + _sqlite3_free($41); + $42 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($42|0); } -function _errlogFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexIntegrityCheck($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_int($4)|0); - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$vararg_buffer>>2] = $9; - _sqlite3_log($5,18391,$vararg_buffer); - STACKTOP = sp;return; -} -function _quoteFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + STACKTOP = STACKTOP + 96|0; + $3 = sp + 92|0; + $4 = sp + 24|0; + $5 = sp + 88|0; + $6 = sp + 16|0; + $7 = sp + 76|0; + $8 = sp + 72|0; + $9 = sp + 68|0; + $10 = sp + 64|0; + $11 = sp + 60|0; + $12 = sp + 56|0; + $13 = sp + 52|0; + $14 = sp + 48|0; + $15 = sp + 8|0; + $16 = sp + 44|0; + $17 = sp; + $18 = sp + 40|0; + $19 = sp + 36|0; + $20 = sp + 32|0; + HEAP32[$3>>2] = $0; + $21 = $4; + $22 = $21; + HEAP32[$22>>2] = $1; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $2; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = ((($26)) + 48|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$5>>2] = $28; + $29 = $6; + $30 = $29; + HEAP32[$30>>2] = 0; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = 0; + ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0; + HEAP32[$10>>2] = 32; + $33 = HEAP32[$3>>2]|0; + $34 = (_fts5StructureRead($33)|0); + HEAP32[$9>>2] = $34; + $35 = HEAP32[$9>>2]|0; + $36 = ($35|0)!=(0|0); + L1: do { + if ($36) { + HEAP32[$11>>2] = 0; + while(1) { + $37 = HEAP32[$11>>2]|0; + $38 = HEAP32[$9>>2]|0; + $39 = ((($38)) + 20|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($37|0)<($40|0); + if (!($41)) { + break L1; + } + HEAP32[$12>>2] = 0; + while(1) { + $42 = HEAP32[$12>>2]|0; + $43 = HEAP32[$9>>2]|0; + $44 = ((($43)) + 24|0); + $45 = HEAP32[$11>>2]|0; + $46 = (($44) + (($45*12)|0)|0); + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($42|0)<($48|0); + if (!($49)) { + break; + } + $50 = HEAP32[$9>>2]|0; + $51 = ((($50)) + 24|0); + $52 = HEAP32[$11>>2]|0; + $53 = (($51) + (($52*12)|0)|0); + $54 = ((($53)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$12>>2]|0; + $57 = (($55) + (($56*12)|0)|0); + HEAP32[$13>>2] = $57; + $58 = HEAP32[$3>>2]|0; + $59 = HEAP32[$13>>2]|0; + _fts5IndexIntegrityCheckSegment($58,$59); + $60 = HEAP32[$12>>2]|0; + $61 = (($60) + 1)|0; + HEAP32[$12>>2] = $61; + } + $62 = HEAP32[$11>>2]|0; + $63 = (($62) + 1)|0; + HEAP32[$11>>2] = $63; + } + } + } while(0); + $64 = HEAP32[$3>>2]|0; + $65 = HEAP32[$9>>2]|0; + _fts5MultiIterNew($64,$65,32,0,0,0,-1,0,$8); + while(1) { + $66 = HEAP32[$3>>2]|0; + $67 = HEAP32[$8>>2]|0; + $68 = (_fts5MultiIterEof($66,$67)|0); + $69 = ($68|0)==(0); + if (!($69)) { + break; + } + $70 = $15; + $71 = $70; + HEAP32[$71>>2] = 0; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = 0; + HEAP32[$16>>2] = 0; + $74 = HEAP32[$8>>2]|0; + $75 = (_fts5MultiIterRowid($74)|0); + $76 = tempRet0; + $77 = $17; + $78 = $77; + HEAP32[$78>>2] = $75; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = $76; + $81 = HEAP32[$8>>2]|0; + $82 = (_fts5MultiIterTerm($81,$14)|0); + HEAP32[$18>>2] = $82; + $83 = HEAP32[$5>>2]|0; + $84 = ($83|0)==(1); + L14: do { + if ($84) { + $85 = HEAP32[$3>>2]|0; + $86 = HEAP32[$8>>2]|0; + $87 = (_fts5MultiIterIsEmpty($85,$86)|0); + $88 = (0)==($87|0); + if ($88) { + $89 = $17; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$18>>2]|0; + $96 = HEAP32[$14>>2]|0; + $97 = (_sqlite3Fts5IndexEntryCksum($91,$94,0,0,-1,$95,$96)|0); + $98 = tempRet0; + $99 = $6; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = (($99) + 4)|0; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = $101 ^ $97; + $106 = $104 ^ $98; + $107 = $6; + $108 = $107; + HEAP32[$108>>2] = $105; + $109 = (($107) + 4)|0; + $110 = $109; + HEAP32[$110>>2] = $106; + } + } else { + $111 = ((($7)) + 4|0); + HEAP32[$111>>2] = 0; + $112 = HEAP32[$3>>2]|0; + $113 = HEAP32[$8>>2]|0; + $114 = ((($113)) + 80|0); + $115 = HEAP32[$8>>2]|0; + $116 = ((($115)) + 72|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($117)) + 4|0); + $119 = HEAP16[$118>>1]|0; + $120 = $119&65535; + $121 = (($114) + (($120*88)|0)|0); + _fts5SegiterPoslist($112,$121,0,$7); + while(1) { + $122 = HEAP32[$7>>2]|0; + $123 = ((($7)) + 4|0); + $124 = HEAP32[$123>>2]|0; + $125 = (_sqlite3Fts5PoslistNext64($122,$124,$16,$15)|0); + $126 = (0)==($125|0); + if (!($126)) { + break L14; + } + $127 = $15; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (_bitshift64Ashr(($129|0),($132|0),32)|0); + $134 = tempRet0; + HEAP32[$19>>2] = $133; + $135 = $15; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (($135) + 4)|0; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + HEAP32[$20>>2] = $137; + $141 = $17; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = (($141) + 4)|0; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = HEAP32[$19>>2]|0; + $148 = HEAP32[$20>>2]|0; + $149 = HEAP32[$18>>2]|0; + $150 = HEAP32[$14>>2]|0; + $151 = (_sqlite3Fts5IndexEntryCksum($143,$146,$147,$148,-1,$149,$150)|0); + $152 = tempRet0; + $153 = $6; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = (($153) + 4)|0; + $157 = $156; + $158 = HEAP32[$157>>2]|0; + $159 = $155 ^ $151; + $160 = $158 ^ $152; + $161 = $6; + $162 = $161; + HEAP32[$162>>2] = $159; + $163 = (($161) + 4)|0; + $164 = $163; + HEAP32[$164>>2] = $160; + } + } + } while(0); + $165 = HEAP32[$3>>2]|0; + $166 = HEAP32[$8>>2]|0; + _fts5MultiIterNext($165,$166,0,0,0); + } + $167 = HEAP32[$8>>2]|0; + _fts5MultiIterFree($167); + $168 = HEAP32[$3>>2]|0; + $169 = ((($168)) + 36|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0); + if (!($171)) { + $189 = HEAP32[$9>>2]|0; + _fts5StructureRelease($189); + _sqlite3Fts5BufferFree($7); + $190 = HEAP32[$3>>2]|0; + $191 = (_fts5IndexReturn($190)|0); + STACKTOP = sp;return ($191|0); + } + $172 = $4; + $173 = $172; + $174 = HEAP32[$173>>2]|0; + $175 = (($172) + 4)|0; + $176 = $175; + $177 = HEAP32[$176>>2]|0; + $178 = $6; + $179 = $178; + $180 = HEAP32[$179>>2]|0; + $181 = (($178) + 4)|0; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = ($174|0)!=($180|0); + $185 = ($177|0)!=($183|0); + $186 = $184 | $185; + if (!($186)) { + $189 = HEAP32[$9>>2]|0; + _fts5StructureRelease($189); + _sqlite3Fts5BufferFree($7); + $190 = HEAP32[$3>>2]|0; + $191 = (_fts5IndexReturn($190)|0); + STACKTOP = sp;return ($191|0); + } + $187 = HEAP32[$3>>2]|0; + $188 = ((($187)) + 36|0); + HEAP32[$188>>2] = 267; + $189 = HEAP32[$9>>2]|0; + _fts5StructureRelease($189); + _sqlite3Fts5BufferFree($7); + $190 = HEAP32[$3>>2]|0; + $191 = (_fts5IndexReturn($190)|0); + STACKTOP = sp;return ($191|0); +} +function _fts5IndexIntegrityCheckSegment($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink1 = 0, $$sink3 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $i1 = 0, $j = 0, $n = 0, $nBlob = 0, $r1 = 0, $r2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $z = 0, $zArg = 0, $zBlob = 0, $zBuf = 0, $zText = 0, label = 0, sp = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $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, $vararg_ptr4 = 0, $vararg_ptr5 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer1 = sp + 32|0; + STACKTOP = STACKTOP + 128|0; $vararg_buffer = sp + 24|0; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $r1 = sp + 16|0; - $r2 = sp + 8|0; - $zBuf = sp + 84|0; - $zText = sp + 68|0; - $zBlob = sp + 64|0; - $nBlob = sp + 60|0; - $i = sp + 56|0; - $i1 = sp + 52|0; - $j = sp + 48|0; - $n = sp; - $zArg = sp + 44|0; - $z = sp + 40|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - switch ($5|0) { - case 2: { - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (+_sqlite3_value_double($7)); - HEAPF64[$r1>>3] = $8; - $9 = +HEAPF64[$r1>>3]; - HEAPF64[$vararg_buffer>>3] = $9; - (_sqlite3_snprintf(50,$zBuf,28271,$vararg_buffer)|0); - (_sqlite3AtoF($zBuf,$r2,20,1)|0); - $10 = +HEAPF64[$r1>>3]; - $11 = +HEAPF64[$r2>>3]; - $12 = $10 != $11; - if ($12) { - $13 = +HEAPF64[$r1>>3]; - HEAPF64[$vararg_buffer1>>3] = $13; - (_sqlite3_snprintf(50,$zBuf,45182,$vararg_buffer1)|0); - } - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_text($14,$zBuf,-1,(-1)); - STACKTOP = sp;return; - break; - } - case 1: { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$16>>2]|0; - _sqlite3_result_value($15,$17); + $2 = sp + 116|0; + $3 = sp + 112|0; + $4 = sp + 108|0; + $5 = sp + 104|0; + $6 = sp + 100|0; + $7 = sp + 96|0; + $8 = sp + 92|0; + $9 = sp + 16|0; + $10 = sp + 88|0; + $11 = sp + 84|0; + $12 = sp + 80|0; + $13 = sp + 76|0; + $14 = sp + 72|0; + $15 = sp + 68|0; + $16 = sp + 64|0; + $17 = sp + 60|0; + $18 = sp + 56|0; + $19 = sp + 52|0; + $20 = sp + 48|0; + $21 = sp + 44|0; + $22 = sp + 40|0; + $23 = sp + 8|0; + $24 = sp; + $25 = sp + 36|0; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $26 = HEAP32[$2>>2]|0; + $27 = HEAP32[$26>>2]|0; + HEAP32[$4>>2] = $27; + HEAP32[$5>>2] = 0; + $28 = HEAP32[$3>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($30) - 1)|0; + HEAP32[$7>>2] = $31; + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$8>>2] = $34; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0); + if ($38) { STACKTOP = sp;return; - break; } - case 4: { - HEAP32[$zText>>2] = 0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_blob($19)|0); - HEAP32[$zBlob>>2] = $20; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3_value_bytes($22)|0); - HEAP32[$nBlob>>2] = $23; - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$nBlob>>2]|0; - $26 = ($25|0)<(0); - $27 = $26 << 31 >> 31; - $28 = (___muldi3(2,0,($25|0),($27|0))|0); - $29 = tempRet0; - $30 = (_i64Add(($28|0),($29|0),4,0)|0); - $31 = tempRet0; - $32 = (_contextMalloc($24,$30,$31)|0); - HEAP32[$zText>>2] = $32; - $33 = HEAP32[$zText>>2]|0; - $34 = ($33|0)!=(0|0); - if (!($34)) { - STACKTOP = sp;return; + $39 = HEAP32[$2>>2]|0; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$4>>2]|0; + $44 = ((($43)) + 8|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$3>>2]|0; + $47 = HEAP32[$46>>2]|0; + HEAP32[$vararg_buffer>>2] = $42; + $vararg_ptr4 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $45; + $vararg_ptr5 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr5>>2] = $47; + $48 = (_sqlite3_mprintf(51654,$vararg_buffer)|0); + (_fts5IndexPrepareStmt($39,$5,$48)|0); + while(1) { + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 36|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)==(0); + if (!($52)) { + break; } - HEAP32[$i>>2] = 0; - while(1) { - $35 = HEAP32[$i>>2]|0; - $36 = HEAP32[$nBlob>>2]|0; - $37 = ($35|0)<($36|0); - if (!($37)) { - break; - } - $38 = HEAP32[$i>>2]|0; - $39 = HEAP32[$zBlob>>2]|0; - $40 = (($39) + ($38)|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 << 24 >> 24; - $43 = $42 >> 4; - $44 = $43 & 15; - $45 = (45189 + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = HEAP32[$i>>2]|0; - $48 = $47<<1; - $49 = (($48) + 2)|0; - $50 = HEAP32[$zText>>2]|0; - $51 = (($50) + ($49)|0); - HEAP8[$51>>0] = $46; - $52 = HEAP32[$i>>2]|0; - $53 = HEAP32[$zBlob>>2]|0; - $54 = (($53) + ($52)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55 << 24 >> 24; - $57 = $56 & 15; - $58 = (45189 + ($57)|0); - $59 = HEAP8[$58>>0]|0; - $60 = HEAP32[$i>>2]|0; - $61 = $60<<1; - $62 = (($61) + 3)|0; - $63 = HEAP32[$zText>>2]|0; - $64 = (($63) + ($62)|0); - HEAP8[$64>>0] = $59; - $65 = HEAP32[$i>>2]|0; - $66 = (($65) + 1)|0; - HEAP32[$i>>2] = $66; - } - $67 = HEAP32[$nBlob>>2]|0; - $68 = $67<<1; - $69 = (($68) + 2)|0; - $70 = HEAP32[$zText>>2]|0; - $71 = (($70) + ($69)|0); - HEAP8[$71>>0] = 39; - $72 = HEAP32[$nBlob>>2]|0; - $73 = $72<<1; - $74 = (($73) + 3)|0; - $75 = HEAP32[$zText>>2]|0; - $76 = (($75) + ($74)|0); - HEAP8[$76>>0] = 0; - $77 = HEAP32[$zText>>2]|0; - HEAP8[$77>>0] = 88; - $78 = HEAP32[$zText>>2]|0; - $79 = ((($78)) + 1|0); - HEAP8[$79>>0] = 39; - $80 = HEAP32[$0>>2]|0; - $81 = HEAP32[$zText>>2]|0; - _sqlite3_result_text($80,$81,-1,(-1)); - $82 = HEAP32[$zText>>2]|0; - _sqlite3_free($82); - STACKTOP = sp;return; - break; - } - case 3: { - $83 = HEAP32[$2>>2]|0; - $84 = HEAP32[$83>>2]|0; - $85 = (_sqlite3_value_text($84)|0); - HEAP32[$zArg>>2] = $85; - $86 = HEAP32[$zArg>>2]|0; - $87 = ($86|0)==(0|0); - if ($87) { - STACKTOP = sp;return; + $53 = HEAP32[$5>>2]|0; + $54 = (_sqlite3_step($53)|0); + $55 = (100)==($54|0); + if (!($55)) { + break; } - HEAP32[$i1>>2] = 0; - $88 = $n; - $89 = $88; - HEAP32[$89>>2] = 0; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = 0; - while(1) { - $92 = HEAP32[$i1>>2]|0; - $93 = HEAP32[$zArg>>2]|0; - $94 = (($93) + ($92)|0); - $95 = HEAP8[$94>>0]|0; - $96 = ($95<<24>>24)!=(0); - if (!($96)) { - break; + $56 = HEAP32[$5>>2]|0; + $57 = (_sqlite3_column_bytes($56,1)|0); + HEAP32[$11>>2] = $57; + $58 = HEAP32[$5>>2]|0; + $59 = (_sqlite3_column_text($58,1)|0); + HEAP32[$12>>2] = $59; + $60 = HEAP32[$5>>2]|0; + $61 = (_sqlite3_column_int($60,2)|0); + HEAP32[$13>>2] = $61; + $62 = HEAP32[$5>>2]|0; + $63 = (_sqlite3_column_int($62,3)|0); + HEAP32[$14>>2] = $63; + $64 = HEAP32[$13>>2]|0; + $65 = HEAP32[$3>>2]|0; + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = ($64|0)<($67|0); + if ($68) { + continue; + } + $69 = HEAP32[$3>>2]|0; + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)<(0); + $72 = $71 << 31 >> 31; + $73 = (_bitshift64Shl(($70|0),($72|0),37)|0); + $74 = tempRet0; + $75 = (_i64Add(($73|0),($74|0),0,0)|0); + $76 = tempRet0; + $77 = (_i64Add(($75|0),($76|0),0,0)|0); + $78 = tempRet0; + $79 = HEAP32[$13>>2]|0; + $80 = ($79|0)<(0); + $81 = $80 << 31 >> 31; + $82 = (_i64Add(($77|0),($78|0),($79|0),($81|0))|0); + $83 = tempRet0; + $84 = $9; + $85 = $84; + HEAP32[$85>>2] = $82; + $86 = (($84) + 4)|0; + $87 = $86; + HEAP32[$87>>2] = $83; + $88 = HEAP32[$2>>2]|0; + $89 = $9; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (_fts5DataRead($88,$91,$94)|0); + HEAP32[$10>>2] = $95; + $96 = HEAP32[$10>>2]|0; + $97 = ($96|0)==(0|0); + if ($97) { + break; + } + $98 = HEAP32[$10>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$10>>2]|0; + $102 = ((($101)) + 8|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($100|0)<=($103|0); + if ($104) { + $105 = HEAP32[$2>>2]|0; + $106 = ((($105)) + 36|0); + HEAP32[$106>>2] = 267; + } else { + $107 = HEAP32[$10>>2]|0; + $108 = (_fts5LeafFirstTermOff($107)|0); + HEAP32[$15>>2] = $108; + $109 = HEAP32[$10>>2]|0; + $110 = HEAP32[$109>>2]|0; + $111 = (_fts5GetU16($110)|0); + $112 = $111&65535; + HEAP32[$16>>2] = $112; + $113 = HEAP32[$16>>2]|0; + $114 = HEAP32[$15>>2]|0; + $115 = ($113|0)>=($114|0); + if ($115) { + $116 = HEAP32[$2>>2]|0; + $$sink1 = $116; + label = 15; + } else { + $117 = HEAP32[$10>>2]|0; + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$15>>2]|0; + $120 = (($118) + ($119)|0); + $121 = (_sqlite3Fts5GetVarint32($120,$17)|0); + $122 = HEAP32[$15>>2]|0; + $123 = (($122) + ($121))|0; + HEAP32[$15>>2] = $123; + $124 = HEAP32[$10>>2]|0; + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$15>>2]|0; + $127 = (($125) + ($126)|0); + $128 = HEAP32[$12>>2]|0; + $129 = HEAP32[$17>>2]|0; + $130 = HEAP32[$11>>2]|0; + $131 = ($129|0)<($130|0); + $132 = HEAP32[$17>>2]|0; + $133 = HEAP32[$11>>2]|0; + $134 = $131 ? $132 : $133; + $135 = (_memcmp($127,$128,$134)|0); + HEAP32[$18>>2] = $135; + $136 = HEAP32[$18>>2]|0; + $137 = ($136|0)==(0); + if ($137) { + $138 = HEAP32[$17>>2]|0; + $139 = HEAP32[$11>>2]|0; + $140 = (($138) - ($139))|0; + HEAP32[$18>>2] = $140; + } + $141 = HEAP32[$18>>2]|0; + $142 = ($141|0)<(0); + if ($142) { + $143 = HEAP32[$2>>2]|0; + $$sink1 = $143; + label = 15; + } } - $97 = HEAP32[$i1>>2]|0; - $98 = HEAP32[$zArg>>2]|0; - $99 = (($98) + ($97)|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100&255; - $102 = ($101|0)==(39); - if ($102) { - $103 = $n; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = (($103) + 4)|0; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (_i64Add(($105|0),($108|0),1,0)|0); - $110 = tempRet0; - $111 = $n; - $112 = $111; - HEAP32[$112>>2] = $109; - $113 = (($111) + 4)|0; - $114 = $113; - HEAP32[$114>>2] = $110; + if ((label|0) == 15) { + label = 0; + $144 = ((($$sink1)) + 36|0); + HEAP32[$144>>2] = 267; } - $115 = HEAP32[$i1>>2]|0; - $116 = (($115) + 1)|0; - HEAP32[$i1>>2] = $116; + $145 = HEAP32[$2>>2]|0; + $146 = HEAP32[$10>>2]|0; + _fts5IntegrityCheckPgidx($145,$146); } - $117 = HEAP32[$0>>2]|0; - $118 = HEAP32[$i1>>2]|0; - $119 = ($118|0)<(0); - $120 = $119 << 31 >> 31; - $121 = $n; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = (($121) + 4)|0; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = (_i64Add(($118|0),($120|0),($123|0),($126|0))|0); - $128 = tempRet0; - $129 = (_i64Add(($127|0),($128|0),3,0)|0); - $130 = tempRet0; - $131 = (_contextMalloc($117,$129,$130)|0); - HEAP32[$z>>2] = $131; - $132 = HEAP32[$z>>2]|0; - $133 = ($132|0)!=(0|0); - if (!($133)) { - STACKTOP = sp;return; + $147 = HEAP32[$10>>2]|0; + _fts5DataRelease($147); + $148 = HEAP32[$2>>2]|0; + $149 = ((($148)) + 36|0); + $150 = HEAP32[$149>>2]|0; + $151 = ($150|0)!=(0); + if ($151) { + break; } - $134 = HEAP32[$z>>2]|0; - HEAP8[$134>>0] = 39; - HEAP32[$i1>>2] = 0; - HEAP32[$j>>2] = 1; - while(1) { - $135 = HEAP32[$i1>>2]|0; - $136 = HEAP32[$zArg>>2]|0; - $137 = (($136) + ($135)|0); - $138 = HEAP8[$137>>0]|0; - $139 = ($138<<24>>24)!=(0); - if (!($139)) { - break; + $152 = HEAP32[$2>>2]|0; + $153 = HEAP32[$3>>2]|0; + $154 = HEAP32[$7>>2]|0; + $155 = (($154) + 1)|0; + $156 = HEAP32[$8>>2]|0; + $157 = (($156) + 1)|0; + $158 = HEAP32[$13>>2]|0; + $159 = (($158) - 1)|0; + _fts5IndexIntegrityCheckEmpty($152,$153,$155,$157,$159); + $160 = HEAP32[$2>>2]|0; + $161 = ((($160)) + 36|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)!=(0); + if ($163) { + break; + } + $164 = HEAP32[$14>>2]|0; + $165 = ($164|0)!=(0); + if ($165) { + HEAP32[$19>>2] = 0; + $166 = HEAP32[$13>>2]|0; + HEAP32[$20>>2] = $166; + $167 = HEAP32[$3>>2]|0; + $168 = HEAP32[$167>>2]|0; + HEAP32[$21>>2] = $168; + HEAP32[$22>>2] = 0; + $169 = HEAP32[$2>>2]|0; + $170 = HEAP32[$21>>2]|0; + $171 = HEAP32[$13>>2]|0; + $172 = (_fts5DlidxIterInit($169,0,$170,$171)|0); + HEAP32[$19>>2] = $172; + while(1) { + $173 = HEAP32[$2>>2]|0; + $174 = HEAP32[$19>>2]|0; + $175 = (_fts5DlidxIterEof($173,$174)|0); + $176 = ($175|0)==(0); + if (!($176)) { + break; + } + $177 = HEAP32[$20>>2]|0; + $178 = (($177) + 1)|0; + HEAP32[$22>>2] = $178; + while(1) { + $179 = HEAP32[$22>>2]|0; + $180 = HEAP32[$19>>2]|0; + $181 = (_fts5DlidxIterPgno($180)|0); + $182 = ($179|0)<($181|0); + if (!($182)) { + break; + } + $183 = HEAP32[$21>>2]|0; + $184 = ($183|0)<(0); + $185 = $184 << 31 >> 31; + $186 = (_bitshift64Shl(($183|0),($185|0),37)|0); + $187 = tempRet0; + $188 = (_i64Add(($186|0),($187|0),0,0)|0); + $189 = tempRet0; + $190 = (_i64Add(($188|0),($189|0),0,0)|0); + $191 = tempRet0; + $192 = HEAP32[$22>>2]|0; + $193 = ($192|0)<(0); + $194 = $193 << 31 >> 31; + $195 = (_i64Add(($190|0),($191|0),($192|0),($194|0))|0); + $196 = tempRet0; + $197 = $23; + $198 = $197; + HEAP32[$198>>2] = $195; + $199 = (($197) + 4)|0; + $200 = $199; + HEAP32[$200>>2] = $196; + $201 = HEAP32[$2>>2]|0; + $202 = $23; + $203 = $202; + $204 = HEAP32[$203>>2]|0; + $205 = (($202) + 4)|0; + $206 = $205; + $207 = HEAP32[$206>>2]|0; + $208 = (_fts5DataRead($201,$204,$207)|0); + HEAP32[$10>>2] = $208; + $209 = HEAP32[$10>>2]|0; + $210 = ($209|0)!=(0|0); + if ($210) { + $211 = HEAP32[$10>>2]|0; + $212 = HEAP32[$211>>2]|0; + $213 = (_fts5GetU16($212)|0); + $214 = $213&65535; + $215 = ($214|0)!=(0); + if ($215) { + $216 = HEAP32[$2>>2]|0; + $217 = ((($216)) + 36|0); + HEAP32[$217>>2] = 267; + } + $218 = HEAP32[$10>>2]|0; + _fts5DataRelease($218); + } + $219 = HEAP32[$22>>2]|0; + $220 = (($219) + 1)|0; + HEAP32[$22>>2] = $220; + } + $221 = HEAP32[$19>>2]|0; + $222 = (_fts5DlidxIterPgno($221)|0); + HEAP32[$20>>2] = $222; + $223 = HEAP32[$21>>2]|0; + $224 = ($223|0)<(0); + $225 = $224 << 31 >> 31; + $226 = (_bitshift64Shl(($223|0),($225|0),37)|0); + $227 = tempRet0; + $228 = (_i64Add(($226|0),($227|0),0,0)|0); + $229 = tempRet0; + $230 = (_i64Add(($228|0),($229|0),0,0)|0); + $231 = tempRet0; + $232 = HEAP32[$20>>2]|0; + $233 = ($232|0)<(0); + $234 = $233 << 31 >> 31; + $235 = (_i64Add(($230|0),($231|0),($232|0),($234|0))|0); + $236 = tempRet0; + $237 = $23; + $238 = $237; + HEAP32[$238>>2] = $235; + $239 = (($237) + 4)|0; + $240 = $239; + HEAP32[$240>>2] = $236; + $241 = HEAP32[$2>>2]|0; + $242 = $23; + $243 = $242; + $244 = HEAP32[$243>>2]|0; + $245 = (($242) + 4)|0; + $246 = $245; + $247 = HEAP32[$246>>2]|0; + $248 = (_fts5DataRead($241,$244,$247)|0); + HEAP32[$10>>2] = $248; + $249 = HEAP32[$10>>2]|0; + $250 = ($249|0)!=(0|0); + if ($250) { + $251 = HEAP32[$10>>2]|0; + $252 = HEAP32[$251>>2]|0; + $253 = (_fts5GetU16($252)|0); + $254 = $253&65535; + HEAP32[$25>>2] = $254; + $255 = HEAP32[$25>>2]|0; + $256 = HEAP32[$10>>2]|0; + $257 = ((($256)) + 8|0); + $258 = HEAP32[$257>>2]|0; + $259 = ($255|0)>=($258|0); + if ($259) { + $260 = HEAP32[$2>>2]|0; + $$sink3 = $260; + label = 34; + } else { + $261 = HEAP32[$10>>2]|0; + $262 = HEAP32[$261>>2]|0; + $263 = HEAP32[$25>>2]|0; + $264 = (($262) + ($263)|0); + (_sqlite3Fts5GetVarint($264,$24)|0); + $265 = $24; + $266 = $265; + $267 = HEAP32[$266>>2]|0; + $268 = (($265) + 4)|0; + $269 = $268; + $270 = HEAP32[$269>>2]|0; + $271 = HEAP32[$19>>2]|0; + $272 = (_fts5DlidxIterRowid($271)|0); + $273 = tempRet0; + $274 = ($267|0)!=($272|0); + $275 = ($270|0)!=($273|0); + $276 = $274 | $275; + if ($276) { + $277 = HEAP32[$2>>2]|0; + $$sink3 = $277; + label = 34; + } + } + if ((label|0) == 34) { + label = 0; + $278 = ((($$sink3)) + 36|0); + HEAP32[$278>>2] = 267; + } + $279 = HEAP32[$10>>2]|0; + _fts5DataRelease($279); + } + $280 = HEAP32[$2>>2]|0; + $281 = HEAP32[$19>>2]|0; + (_fts5DlidxIterNext($280,$281)|0); } - $140 = HEAP32[$i1>>2]|0; - $141 = HEAP32[$zArg>>2]|0; - $142 = (($141) + ($140)|0); - $143 = HEAP8[$142>>0]|0; - $144 = HEAP32[$j>>2]|0; - $145 = (($144) + 1)|0; - HEAP32[$j>>2] = $145; - $146 = HEAP32[$z>>2]|0; - $147 = (($146) + ($144)|0); - HEAP8[$147>>0] = $143; - $148 = HEAP32[$i1>>2]|0; - $149 = HEAP32[$zArg>>2]|0; - $150 = (($149) + ($148)|0); - $151 = HEAP8[$150>>0]|0; - $152 = $151&255; - $153 = ($152|0)==(39); - if ($153) { - $154 = HEAP32[$j>>2]|0; - $155 = (($154) + 1)|0; - HEAP32[$j>>2] = $155; - $156 = HEAP32[$z>>2]|0; - $157 = (($156) + ($154)|0); - HEAP8[$157>>0] = 39; - } - $158 = HEAP32[$i1>>2]|0; - $159 = (($158) + 1)|0; - HEAP32[$i1>>2] = $159; + $282 = HEAP32[$22>>2]|0; + HEAP32[$8>>2] = $282; + $283 = HEAP32[$19>>2]|0; + _fts5DlidxIterFree($283); + } else { + $284 = HEAP32[$3>>2]|0; + $285 = ((($284)) + 8|0); + $286 = HEAP32[$285>>2]|0; + HEAP32[$8>>2] = $286; } - $160 = HEAP32[$j>>2]|0; - $161 = (($160) + 1)|0; - HEAP32[$j>>2] = $161; - $162 = HEAP32[$z>>2]|0; - $163 = (($162) + ($160)|0); - HEAP8[$163>>0] = 39; - $164 = HEAP32[$j>>2]|0; - $165 = HEAP32[$z>>2]|0; - $166 = (($165) + ($164)|0); - HEAP8[$166>>0] = 0; - $167 = HEAP32[$0>>2]|0; - $168 = HEAP32[$z>>2]|0; - $169 = HEAP32[$j>>2]|0; - _sqlite3_result_text($167,$168,$169,148); - STACKTOP = sp;return; - break; + $287 = HEAP32[$13>>2]|0; + HEAP32[$7>>2] = $287; } - default: { - $170 = HEAP32[$0>>2]|0; - _sqlite3_result_text($170,39691,4,0); + $288 = HEAP32[$5>>2]|0; + $289 = (_sqlite3_finalize($288)|0); + HEAP32[$6>>2] = $289; + $290 = HEAP32[$2>>2]|0; + $291 = ((($290)) + 36|0); + $292 = HEAP32[$291>>2]|0; + $293 = ($292|0)==(0); + if (!($293)) { STACKTOP = sp;return; } - } -} -function _last_insert_rowid($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $db = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$db>>2]|0; - $7 = (_sqlite3_last_insert_rowid($6)|0); - $8 = tempRet0; - _sqlite3_result_int64($5,$7,$8); - STACKTOP = sp;return; -} -function _changes($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $db = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$db>>2]|0; - $7 = (_sqlite3_changes($6)|0); - _sqlite3_result_int($5,$7); - STACKTOP = sp;return; -} -function _total_changes($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $db = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$db>>2]|0; - $7 = (_sqlite3_total_changes($6)|0); - _sqlite3_result_int($5,$7); + $294 = HEAP32[$6>>2]|0; + $295 = HEAP32[$2>>2]|0; + $296 = ((($295)) + 36|0); + HEAP32[$296>>2] = $294; STACKTOP = sp;return; } -function _replaceFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; +function _sqlite3Fts5IndexEntryCksum($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $j = 0, $loopLimit = 0, $nOut = 0, $nPattern = 0; - var $nRep = 0, $nStr = 0, $zOld = 0, $zOut = 0, $zPattern = 0, $zRep = 0, $zStr = 0, label = 0, sp = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $zStr = sp + 52|0; - $zPattern = sp + 48|0; - $zRep = sp + 44|0; - $zOut = sp + 40|0; - $nStr = sp + 36|0; - $nPattern = sp + 32|0; - $nRep = sp + 28|0; - $nOut = sp; - $loopLimit = sp + 24|0; - $i = sp + 20|0; - $j = sp + 16|0; - $zOld = sp + 12|0; - $db = sp + 8|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zStr>>2] = $5; - $6 = HEAP32[$zStr>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $7 = sp + 8|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $11 = sp + 24|0; + $12 = sp + 20|0; + $13 = sp + 16|0; + $14 = sp; + $15 = $7; + $16 = $15; + HEAP32[$16>>2] = $0; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = $5; + HEAP32[$12>>2] = $6; + $19 = $7; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = $14; + $26 = $25; + HEAP32[$26>>2] = $21; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $24; + $29 = $14; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (_bitshift64Shl(($31|0),($34|0),3)|0); + $36 = tempRet0; + $37 = HEAP32[$8>>2]|0; + $38 = ($37|0)<(0); + $39 = $38 << 31 >> 31; + $40 = (_i64Add(($35|0),($36|0),($37|0),($39|0))|0); + $41 = tempRet0; + $42 = $14; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (_i64Add(($44|0),($47|0),($40|0),($41|0))|0); + $49 = tempRet0; + $50 = $14; + $51 = $50; + HEAP32[$51>>2] = $48; + $52 = (($50) + 4)|0; + $53 = $52; + HEAP32[$53>>2] = $49; + $54 = $14; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (_bitshift64Shl(($56|0),($59|0),3)|0); + $61 = tempRet0; + $62 = HEAP32[$9>>2]|0; + $63 = ($62|0)<(0); + $64 = $63 << 31 >> 31; + $65 = (_i64Add(($60|0),($61|0),($62|0),($64|0))|0); + $66 = tempRet0; + $67 = $14; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (_i64Add(($69|0),($72|0),($65|0),($66|0))|0); + $74 = tempRet0; + $75 = $14; + $76 = $75; + HEAP32[$76>>2] = $73; + $77 = (($75) + 4)|0; + $78 = $77; + HEAP32[$78>>2] = $74; + $79 = HEAP32[$10>>2]|0; + $80 = ($79|0)>=(0); + if ($80) { + $81 = $14; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (_bitshift64Shl(($83|0),($86|0),3)|0); + $88 = tempRet0; + $89 = HEAP32[$10>>2]|0; + $90 = (48 + ($89))|0; + $91 = ($90|0)<(0); + $92 = $91 << 31 >> 31; + $93 = (_i64Add(($87|0),($88|0),($90|0),($92|0))|0); + $94 = tempRet0; + $95 = $14; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (_i64Add(($97|0),($100|0),($93|0),($94|0))|0); + $102 = tempRet0; + $103 = $14; + $104 = $103; + HEAP32[$104>>2] = $101; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = (_sqlite3_value_bytes($9)|0); - HEAP32[$nStr>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_text($13)|0); - HEAP32[$zPattern>>2] = $14; - $15 = HEAP32[$zPattern>>2]|0; - $16 = ($15|0)==(0|0); - if ($16) { - STACKTOP = sp;return; + HEAP32[$13>>2] = 0; + while(1) { + $107 = HEAP32[$13>>2]|0; + $108 = HEAP32[$12>>2]|0; + $109 = ($107|0)<($108|0); + $110 = $14; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + if (!($109)) { + break; + } + $116 = (_bitshift64Shl(($112|0),($115|0),3)|0); + $117 = tempRet0; + $118 = HEAP32[$11>>2]|0; + $119 = HEAP32[$13>>2]|0; + $120 = (($118) + ($119)|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121 << 24 >> 24; + $123 = ($122|0)<(0); + $124 = $123 << 31 >> 31; + $125 = (_i64Add(($116|0),($117|0),($122|0),($124|0))|0); + $126 = tempRet0; + $127 = $14; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (_i64Add(($129|0),($132|0),($125|0),($126|0))|0); + $134 = tempRet0; + $135 = $14; + $136 = $135; + HEAP32[$136>>2] = $133; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + $139 = HEAP32[$13>>2]|0; + $140 = (($139) + 1)|0; + HEAP32[$13>>2] = $140; } - $17 = HEAP32[$zPattern>>2]|0; - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19|0)==(0); - if ($20) { - $21 = HEAP32[$0>>2]|0; + tempRet0 = ($115); + STACKTOP = sp;return ($112|0); +} +function _fts5IntegrityCheckPgidx($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 60|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 36|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0; + ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$5>>2] = $16; + while(1) { + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($17|0)<($20|0); + if (!($21)) { + label = 18; + break; + } $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$22>>2]|0; - _sqlite3_result_value($21,$23); - STACKTOP = sp;return; - } - $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_sqlite3_value_bytes($26)|0); - HEAP32[$nPattern>>2] = $27; - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3_value_text($30)|0); - HEAP32[$zRep>>2] = $31; - $32 = HEAP32[$zRep>>2]|0; - $33 = ($32|0)==(0|0); - if ($33) { - STACKTOP = sp;return; + $23 = ((($22)) + 36|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if (!($25)) { + label = 18; + break; + } + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$5>>2]|0; + $29 = (($27) + ($28)|0); + $30 = (_sqlite3Fts5GetVarint32($29,$10)|0); + $31 = HEAP32[$5>>2]|0; + $32 = (($31) + ($30))|0; + HEAP32[$5>>2] = $32; + $33 = HEAP32[$10>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = (($34) + ($33))|0; + HEAP32[$4>>2] = $35; + $36 = HEAP32[$4>>2]|0; + HEAP32[$9>>2] = $36; + $37 = HEAP32[$9>>2]|0; + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($37|0)>=($40|0); + do { + if ($41) { + $42 = HEAP32[$2>>2]|0; + $43 = ((($42)) + 36|0); + HEAP32[$43>>2] = 267; + } else { + $44 = HEAP32[$4>>2]|0; + $45 = HEAP32[$10>>2]|0; + $46 = ($44|0)==($45|0); + $47 = HEAP32[$3>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$9>>2]|0; + $50 = (($48) + ($49)|0); + if ($46) { + $51 = (_sqlite3Fts5GetVarint32($50,$11)|0); + $52 = HEAP32[$9>>2]|0; + $53 = (($52) + ($51))|0; + HEAP32[$9>>2] = $53; + $54 = HEAP32[$9>>2]|0; + $55 = HEAP32[$11>>2]|0; + $56 = (($54) + ($55))|0; + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($56|0)>($59|0); + $61 = HEAP32[$2>>2]|0; + $62 = ((($61)) + 36|0); + if ($60) { + HEAP32[$62>>2] = 267; + break; + } else { + $63 = HEAP32[$11>>2]|0; + $64 = HEAP32[$3>>2]|0; + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$9>>2]|0; + $67 = (($65) + ($66)|0); + _sqlite3Fts5BufferSet($62,$6,$63,$67); + break; + } + } + $68 = (_sqlite3Fts5GetVarint32($50,$12)|0); + $69 = HEAP32[$9>>2]|0; + $70 = (($69) + ($68))|0; + HEAP32[$9>>2] = $70; + $71 = HEAP32[$3>>2]|0; + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$9>>2]|0; + $74 = (($72) + ($73)|0); + $75 = (_sqlite3Fts5GetVarint32($74,$13)|0); + $76 = HEAP32[$9>>2]|0; + $77 = (($76) + ($75))|0; + HEAP32[$9>>2] = $77; + $78 = HEAP32[$12>>2]|0; + $79 = ((($6)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($78|0)>($80|0); + if ($81) { + label = 12; + } else { + $82 = HEAP32[$9>>2]|0; + $83 = HEAP32[$13>>2]|0; + $84 = (($82) + ($83))|0; + $85 = HEAP32[$3>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($84|0)>($87|0); + if ($88) { + label = 12; + } else { + $91 = HEAP32[$12>>2]|0; + $92 = ((($6)) + 4|0); + HEAP32[$92>>2] = $91; + $93 = HEAP32[$2>>2]|0; + $94 = ((($93)) + 36|0); + $95 = HEAP32[$13>>2]|0; + $96 = HEAP32[$3>>2]|0; + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$9>>2]|0; + $99 = (($97) + ($98)|0); + _sqlite3Fts5BufferAppendBlob($94,$6,$95,$99); + } + } + if ((label|0) == 12) { + label = 0; + $89 = HEAP32[$2>>2]|0; + $90 = ((($89)) + 36|0); + HEAP32[$90>>2] = 267; + } + $100 = HEAP32[$2>>2]|0; + $101 = ((($100)) + 36|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)==(0); + if ($103) { + $104 = (_fts5BufferCompare($6,$7)|0); + HEAP32[$8>>2] = $104; + $105 = HEAP32[$8>>2]|0; + $106 = ($105|0)<=(0); + if ($106) { + $107 = HEAP32[$2>>2]|0; + $108 = ((($107)) + 36|0); + HEAP32[$108>>2] = 267; + } + } + } + } while(0); + $109 = HEAP32[$2>>2]|0; + $110 = ((($109)) + 36|0); + $111 = ((($6)) + 4|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$6>>2]|0; + _sqlite3Fts5BufferSet($110,$7,$112,$113); } - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_sqlite3_value_bytes($36)|0); - HEAP32[$nRep>>2] = $37; - $38 = HEAP32[$nStr>>2]|0; - $39 = (($38) + 1)|0; - $40 = ($39|0)<(0); - $41 = $40 << 31 >> 31; - $42 = $nOut; - $43 = $42; - HEAP32[$43>>2] = $39; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = HEAP32[$0>>2]|0; - $47 = $nOut; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (_contextMalloc($46,$49,$52)|0); - HEAP32[$zOut>>2] = $53; - $54 = HEAP32[$zOut>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { + if ((label|0) == 18) { + _sqlite3Fts5BufferFree($6); + _sqlite3Fts5BufferFree($7); STACKTOP = sp;return; } - $56 = HEAP32[$nStr>>2]|0; - $57 = HEAP32[$nPattern>>2]|0; - $58 = (($56) - ($57))|0; - HEAP32[$loopLimit>>2] = $58; - HEAP32[$j>>2] = 0; - HEAP32[$i>>2] = 0; +} +function _fts5IndexIntegrityCheckEmpty($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $5 = sp + 24|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + $12 = HEAP32[$7>>2]|0; + HEAP32[$10>>2] = $12; while(1) { - $59 = HEAP32[$i>>2]|0; - $60 = HEAP32[$loopLimit>>2]|0; - $61 = ($59|0)<=($60|0); - if (!($61)) { - label = 18; + $13 = HEAP32[$5>>2]|0; + $14 = ((($13)) + 36|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0); + if (!($16)) { + label = 11; break; } - $62 = HEAP32[$i>>2]|0; - $63 = HEAP32[$zStr>>2]|0; - $64 = (($63) + ($62)|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = HEAP32[$zPattern>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = ($66|0)!=($69|0); - if ($70) { + $17 = HEAP32[$10>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = ($17|0)<=($18|0); + if (!($19)) { label = 11; - } else { - $71 = HEAP32[$i>>2]|0; - $72 = HEAP32[$zStr>>2]|0; - $73 = (($72) + ($71)|0); - $74 = HEAP32[$zPattern>>2]|0; - $75 = HEAP32[$nPattern>>2]|0; - $76 = (_memcmp($73,$74,$75)|0); - $77 = ($76|0)!=(0); - if ($77) { - label = 11; - } else { - $86 = HEAP32[$0>>2]|0; - $87 = (_sqlite3_context_db_handle($86)|0); - HEAP32[$db>>2] = $87; - $88 = HEAP32[$nRep>>2]|0; - $89 = HEAP32[$nPattern>>2]|0; - $90 = (($88) - ($89))|0; - $91 = ($90|0)<(0); - $92 = $91 << 31 >> 31; - $93 = $nOut; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = (($93) + 4)|0; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (_i64Add(($95|0),($98|0),($90|0),($92|0))|0); - $100 = tempRet0; - $101 = $nOut; - $102 = $101; - HEAP32[$102>>2] = $99; - $103 = (($101) + 4)|0; - $104 = $103; - HEAP32[$104>>2] = $100; - $105 = $nOut; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (_i64Subtract(($107|0),($110|0),1,0)|0); - $112 = tempRet0; - $113 = HEAP32[$db>>2]|0; - $114 = ((($113)) + 96|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)<(0); - $117 = $116 << 31 >> 31; - $118 = ($112|0)>($117|0); - $119 = ($111>>>0)>($115>>>0); - $120 = ($112|0)==($117|0); - $121 = $120 & $119; - $122 = $118 | $121; - if ($122) { - label = 13; - break; + break; + } + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)<(0); + $24 = $23 << 31 >> 31; + $25 = (_bitshift64Shl(($22|0),($24|0),37)|0); + $26 = tempRet0; + $27 = (_i64Add(($25|0),($26|0),0,0)|0); + $28 = tempRet0; + $29 = (_i64Add(($27|0),($28|0),0,0)|0); + $30 = tempRet0; + $31 = HEAP32[$10>>2]|0; + $32 = ($31|0)<(0); + $33 = $32 << 31 >> 31; + $34 = (_i64Add(($29|0),($30|0),($31|0),($33|0))|0); + $35 = tempRet0; + $36 = (_fts5DataRead($20,$34,$35)|0); + HEAP32[$11>>2] = $36; + $37 = HEAP32[$11>>2]|0; + $38 = ($37|0)!=(0|0); + if ($38) { + $39 = HEAP32[$11>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$11>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($41|0)>=($44|0); + if (!($45)) { + $46 = HEAP32[$5>>2]|0; + $47 = ((($46)) + 36|0); + HEAP32[$47>>2] = 267; + } + $48 = HEAP32[$10>>2]|0; + $49 = HEAP32[$8>>2]|0; + $50 = ($48|0)>=($49|0); + if ($50) { + $51 = HEAP32[$11>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = (_fts5GetU16($52)|0); + $54 = $53&65535; + $55 = (0)!=($54|0); + if ($55) { + $56 = HEAP32[$5>>2]|0; + $57 = ((($56)) + 36|0); + HEAP32[$57>>2] = 267; } - $125 = HEAP32[$zOut>>2]|0; - HEAP32[$zOld>>2] = $125; - $126 = HEAP32[$zOut>>2]|0; - $127 = $nOut; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = ($129|0)<(0); - $134 = $133 << 31 >> 31; - $135 = (_sqlite3_realloc64($126,$129,$134)|0); - HEAP32[$zOut>>2] = $135; - $136 = HEAP32[$zOut>>2]|0; - $137 = ($136|0)==(0|0); - if ($137) { - label = 15; + } + } + $58 = HEAP32[$11>>2]|0; + _fts5DataRelease($58); + $59 = HEAP32[$10>>2]|0; + $60 = (($59) + 1)|0; + HEAP32[$10>>2] = $60; + } + if ((label|0) == 11) { + STACKTOP = sp;return; + } +} +function _sqlite3Fts5TermsetAdd($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$10>>2] = 0; + $14 = HEAP32[$9>>2]|0; + HEAP32[$14>>2] = 0; + $15 = HEAP32[$5>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { + $93 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($93|0); + } + HEAP32[$12>>2] = 13; + $17 = HEAP32[$8>>2]|0; + $18 = (($17) - 1)|0; + HEAP32[$11>>2] = $18; + while(1) { + $19 = HEAP32[$11>>2]|0; + $20 = ($19|0)>=(0); + $21 = HEAP32[$12>>2]|0; + $22 = $21 << 3; + $23 = HEAP32[$12>>2]|0; + $24 = $22 ^ $23; + if (!($20)) { + break; + } + $25 = HEAP32[$7>>2]|0; + $26 = HEAP32[$11>>2]|0; + $27 = (($25) + ($26)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = $24 ^ $29; + HEAP32[$12>>2] = $30; + $31 = HEAP32[$11>>2]|0; + $32 = (($31) + -1)|0; + HEAP32[$11>>2] = $32; + } + $33 = HEAP32[$6>>2]|0; + $34 = $24 ^ $33; + HEAP32[$12>>2] = $34; + $35 = HEAP32[$12>>2]|0; + $36 = (($35>>>0) % 512)&-1; + HEAP32[$12>>2] = $36; + $37 = HEAP32[$5>>2]|0; + $38 = HEAP32[$12>>2]|0; + $39 = (($37) + ($38<<2)|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$13>>2] = $40; + while(1) { + $41 = HEAP32[$13>>2]|0; + $42 = ($41|0)!=(0|0); + if (!($42)) { + break; + } + $43 = HEAP32[$13>>2]|0; + $44 = ((($43)) + 8|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$6>>2]|0; + $47 = ($45|0)==($46|0); + if ($47) { + $48 = HEAP32[$13>>2]|0; + $49 = ((($48)) + 4|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$8>>2]|0; + $52 = ($50|0)==($51|0); + if ($52) { + $53 = HEAP32[$13>>2]|0; + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$7>>2]|0; + $56 = HEAP32[$8>>2]|0; + $57 = (_memcmp($54,$55,$56)|0); + $58 = ($57|0)==(0); + if ($58) { + label = 10; break; } - $140 = HEAP32[$j>>2]|0; - $141 = HEAP32[$zOut>>2]|0; - $142 = (($141) + ($140)|0); - $143 = HEAP32[$zRep>>2]|0; - $144 = HEAP32[$nRep>>2]|0; - _memcpy(($142|0),($143|0),($144|0))|0; - $145 = HEAP32[$nRep>>2]|0; - $146 = HEAP32[$j>>2]|0; - $147 = (($146) + ($145))|0; - HEAP32[$j>>2] = $147; - $148 = HEAP32[$nPattern>>2]|0; - $149 = (($148) - 1)|0; - $150 = HEAP32[$i>>2]|0; - $151 = (($150) + ($149))|0; - HEAP32[$i>>2] = $151; } } - if ((label|0) == 11) { - label = 0; - $78 = HEAP32[$i>>2]|0; - $79 = HEAP32[$zStr>>2]|0; - $80 = (($79) + ($78)|0); - $81 = HEAP8[$80>>0]|0; - $82 = HEAP32[$j>>2]|0; - $83 = (($82) + 1)|0; - HEAP32[$j>>2] = $83; - $84 = HEAP32[$zOut>>2]|0; - $85 = (($84) + ($82)|0); - HEAP8[$85>>0] = $81; - } - $152 = HEAP32[$i>>2]|0; - $153 = (($152) + 1)|0; - HEAP32[$i>>2] = $153; + $60 = HEAP32[$13>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$13>>2] = $62; } - if ((label|0) == 13) { - $123 = HEAP32[$0>>2]|0; - _sqlite3_result_error_toobig($123); - $124 = HEAP32[$zOut>>2]|0; - _sqlite3_free($124); - STACKTOP = sp;return; + if ((label|0) == 10) { + $59 = HEAP32[$9>>2]|0; + HEAP32[$59>>2] = 1; } - else if ((label|0) == 15) { - $138 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($138); - $139 = HEAP32[$zOld>>2]|0; - _sqlite3_free($139); - STACKTOP = sp;return; + $63 = HEAP32[$13>>2]|0; + $64 = ($63|0)==(0|0); + if (!($64)) { + $93 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($93|0); } - else if ((label|0) == 18) { - $154 = HEAP32[$j>>2]|0; - $155 = HEAP32[$zOut>>2]|0; - $156 = (($155) + ($154)|0); - $157 = HEAP32[$i>>2]|0; - $158 = HEAP32[$zStr>>2]|0; - $159 = (($158) + ($157)|0); - $160 = HEAP32[$nStr>>2]|0; - $161 = HEAP32[$i>>2]|0; - $162 = (($160) - ($161))|0; - _memcpy(($156|0),($159|0),($162|0))|0; - $163 = HEAP32[$nStr>>2]|0; - $164 = HEAP32[$i>>2]|0; - $165 = (($163) - ($164))|0; - $166 = HEAP32[$j>>2]|0; - $167 = (($166) + ($165))|0; - HEAP32[$j>>2] = $167; - $168 = HEAP32[$j>>2]|0; - $169 = HEAP32[$zOut>>2]|0; - $170 = (($169) + ($168)|0); - HEAP8[$170>>0] = 0; - $171 = HEAP32[$0>>2]|0; - $172 = HEAP32[$zOut>>2]|0; - $173 = HEAP32[$j>>2]|0; - _sqlite3_result_text($171,$172,$173,148); - STACKTOP = sp;return; + $65 = HEAP32[$8>>2]|0; + $66 = (16 + ($65))|0; + $67 = (_sqlite3Fts5MallocZero($10,$66)|0); + HEAP32[$13>>2] = $67; + $68 = HEAP32[$13>>2]|0; + $69 = ($68|0)!=(0|0); + if (!($69)) { + $93 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($93|0); } + $70 = HEAP32[$13>>2]|0; + $71 = ((($70)) + 16|0); + $72 = HEAP32[$13>>2]|0; + HEAP32[$72>>2] = $71; + $73 = HEAP32[$8>>2]|0; + $74 = HEAP32[$13>>2]|0; + $75 = ((($74)) + 4|0); + HEAP32[$75>>2] = $73; + $76 = HEAP32[$6>>2]|0; + $77 = HEAP32[$13>>2]|0; + $78 = ((($77)) + 8|0); + HEAP32[$78>>2] = $76; + $79 = HEAP32[$13>>2]|0; + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$7>>2]|0; + $82 = HEAP32[$8>>2]|0; + _memcpy(($80|0),($81|0),($82|0))|0; + $83 = HEAP32[$5>>2]|0; + $84 = HEAP32[$12>>2]|0; + $85 = (($83) + ($84<<2)|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$13>>2]|0; + $88 = ((($87)) + 12|0); + HEAP32[$88>>2] = $86; + $89 = HEAP32[$13>>2]|0; + $90 = HEAP32[$5>>2]|0; + $91 = HEAP32[$12>>2]|0; + $92 = (($90) + ($91<<2)|0); + HEAP32[$92>>2] = $89; + $93 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($93|0); } -function _zeroblobFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $n = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexMerge($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $n = sp; - $rc = sp + 8|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_int64($4)|0); - $6 = tempRet0; - $7 = $n; - $8 = $7; - HEAP32[$8>>2] = $5; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - $11 = $n; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + $7 = HEAP32[$2>>2]|0; + $8 = (_fts5StructureRead($7)|0); + HEAP32[$4>>2] = $8; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + $39 = HEAP32[$2>>2]|0; + $40 = (_fts5IndexReturn($39)|0); + STACKTOP = sp;return ($40|0); + } + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 80|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$2>>2]|0; + _fts5StructureInvalidate($15); + $16 = HEAP32[$3>>2]|0; $17 = ($16|0)<(0); - $18 = $17 ? 0 : $5; - $19 = $17 ? 0 : $6; - $20 = $n; - $21 = $20; - HEAP32[$21>>2] = $18; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - $24 = HEAP32[$0>>2]|0; - $25 = $n; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3_result_zeroblob64($24,$27,$30)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)!=(0); - if (!($33)) { - STACKTOP = sp;return; + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = (_fts5IndexOptimizeStruct($18,$19)|0); + HEAP32[$6>>2] = $20; + $21 = HEAP32[$4>>2]|0; + _fts5StructureRelease($21); + $22 = HEAP32[$6>>2]|0; + HEAP32[$4>>2] = $22; + HEAP32[$5>>2] = 2; + $23 = HEAP32[$3>>2]|0; + $24 = Math_imul($23, -1)|0; + HEAP32[$3>>2] = $24; } - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$rc>>2]|0; - _sqlite3_result_error_code($34,$35); - STACKTOP = sp;return; + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 20|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = (_fts5IndexMerge($31,$4,$32,$33)|0); + $35 = ($34|0)!=(0); + if ($35) { + $36 = HEAP32[$2>>2]|0; + $37 = HEAP32[$4>>2]|0; + _fts5StructureWrite($36,$37); + } + } + } + $38 = HEAP32[$4>>2]|0; + _fts5StructureRelease($38); + $39 = HEAP32[$2>>2]|0; + $40 = (_fts5IndexReturn($39)|0); + STACKTOP = sp;return ($40|0); } -function _substrFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; +function _fts5IndexOptimizeStruct($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $len = 0, $negP2 = 0; - var $p0type = 0, $p1 = 0, $p2 = 0, $z = 0, $z2 = 0, label = 0, sp = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $z = sp + 32|0; - $z2 = sp + 28|0; - $len = sp + 24|0; - $p0type = sp + 20|0; - $p1 = sp + 8|0; - $p2 = sp; - $negP2 = sp + 16|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$negP2>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (_sqlite3_value_type($5)|0); - $7 = ($6|0)==(5); - if ($7) { - STACKTOP = sp;return; - } - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(3); - if ($9) { - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3_value_type($12)|0); - $14 = ($13|0)==(5); - if ($14) { - STACKTOP = sp;return; - } - } - $15 = HEAP32[$2>>2]|0; + $2 = sp + 44|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp + 12|0; + $11 = sp + 8|0; + $12 = sp + 4|0; + $13 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = 0; + HEAP32[$6>>2] = 40; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 16|0); $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3_value_type($16)|0); - HEAP32[$p0type>>2] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3_value_int($20)|0); - $22 = ($21|0)<(0); - $23 = $22 << 31 >> 31; - $24 = $p1; - $25 = $24; - HEAP32[$25>>2] = $21; - $26 = (($24) + 4)|0; - $27 = $26; - HEAP32[$27>>2] = $23; - $28 = HEAP32[$p0type>>2]|0; - $29 = ($28|0)==(4); - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$30>>2]|0; - L8: do { - if ($29) { - $32 = (_sqlite3_value_bytes($31)|0); - HEAP32[$len>>2] = $32; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$33>>2]|0; - $35 = (_sqlite3_value_blob($34)|0); - HEAP32[$z>>2] = $35; - $36 = HEAP32[$z>>2]|0; - $37 = ($36|0)==(0|0); - if ($37) { - STACKTOP = sp;return; - } - } else { - $38 = (_sqlite3_value_text($31)|0); - HEAP32[$z>>2] = $38; - $39 = HEAP32[$z>>2]|0; - $40 = ($39|0)==(0|0); - if ($40) { - STACKTOP = sp;return; - } - HEAP32[$len>>2] = 0; - $41 = $p1; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)<(0); - if ($47) { - $48 = HEAP32[$z>>2]|0; - HEAP32[$z2>>2] = $48; - while(1) { - $49 = HEAP32[$z2>>2]|0; - $50 = HEAP8[$49>>0]|0; - $51 = ($50<<24>>24)!=(0); - if (!($51)) { - break L8; - } - $52 = HEAP32[$z2>>2]|0; - $53 = ((($52)) + 1|0); - HEAP32[$z2>>2] = $53; - $54 = HEAP8[$52>>0]|0; - $55 = $54&255; - $56 = ($55|0)>=(192); - L19: do { - if ($56) { - while(1) { - $57 = HEAP32[$z2>>2]|0; - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = $59 & 192; - $61 = ($60|0)==(128); - if (!($61)) { - break L19; - } - $62 = HEAP32[$z2>>2]|0; - $63 = ((($62)) + 1|0); - HEAP32[$z2>>2] = $63; - } - } - } while(0); - $64 = HEAP32[$len>>2]|0; - $65 = (($64) + 1)|0; - HEAP32[$len>>2] = $65; - } - } + HEAP32[$7>>2] = $16; + $17 = HEAP32[$7>>2]|0; + $18 = ($17|0)<(2); + if ($18) { + HEAP32[$2>>2] = 0; + $139 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($139|0); + } + HEAP32[$8>>2] = 0; + while(1) { + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($19|0)<($22|0); + $24 = HEAP32[$4>>2]|0; + if (!($23)) { + break; } - } while(0); - $66 = HEAP32[$1>>2]|0; - $67 = ($66|0)==(3); - if ($67) { - $68 = HEAP32[$2>>2]|0; - $69 = ((($68)) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = (_sqlite3_value_int($70)|0); - $72 = ($71|0)<(0); - $73 = $72 << 31 >> 31; - $74 = $p2; - $75 = $74; - HEAP32[$75>>2] = $71; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = $p2; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)<(0); - if ($84) { - $85 = $p2; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (_i64Subtract(0,0,($87|0),($90|0))|0); - $92 = tempRet0; - $93 = $p2; - $94 = $93; - HEAP32[$94>>2] = $91; - $95 = (($93) + 4)|0; - $96 = $95; - HEAP32[$96>>2] = $92; - HEAP32[$negP2>>2] = 1; + $25 = ((($24)) + 24|0); + $26 = HEAP32[$8>>2]|0; + $27 = (($25) + (($26*12)|0)|0); + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$9>>2] = $29; + $30 = HEAP32[$9>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = ($30|0)==($31|0); + if ($32) { + label = 8; + break; } - } else { - $97 = HEAP32[$0>>2]|0; - $98 = (_sqlite3_context_db_handle($97)|0); - $99 = ((($98)) + 96|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)<(0); - $102 = $101 << 31 >> 31; - $103 = $p2; - $104 = $103; - HEAP32[$104>>2] = $100; - $105 = (($103) + 4)|0; - $106 = $105; - HEAP32[$106>>2] = $102; - } - $107 = $p1; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (($107) + 4)|0; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = ($112|0)<(0); - do { - if ($113) { - $114 = HEAP32[$len>>2]|0; - $115 = ($114|0)<(0); - $116 = $115 << 31 >> 31; - $117 = $p1; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = (_i64Add(($119|0),($122|0),($114|0),($116|0))|0); - $124 = tempRet0; - $125 = $p1; - $126 = $125; - HEAP32[$126>>2] = $123; - $127 = (($125) + 4)|0; - $128 = $127; - HEAP32[$128>>2] = $124; - $129 = $p1; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = (($129) + 4)|0; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)<(0); - if ($135) { - $136 = $p1; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = (($136) + 4)|0; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = $p2; - $143 = $142; - $144 = HEAP32[$143>>2]|0; - $145 = (($142) + 4)|0; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = (_i64Add(($144|0),($147|0),($138|0),($141|0))|0); - $149 = tempRet0; - $150 = $p2; - $151 = $150; - HEAP32[$151>>2] = $148; - $152 = (($150) + 4)|0; - $153 = $152; - HEAP32[$153>>2] = $149; - $154 = $p2; - $155 = $154; - $156 = HEAP32[$155>>2]|0; - $157 = (($154) + 4)|0; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)<(0); - $161 = $160 ? 0 : $148; - $162 = $160 ? 0 : $149; - $163 = $p2; - $164 = $163; - HEAP32[$164>>2] = $161; - $165 = (($163) + 4)|0; - $166 = $165; - HEAP32[$166>>2] = $162; - $167 = $p1; - $168 = $167; - HEAP32[$168>>2] = 0; - $169 = (($167) + 4)|0; - $170 = $169; - HEAP32[$170>>2] = 0; - } - } else { - $171 = $p1; - $172 = $171; - $173 = HEAP32[$172>>2]|0; - $174 = (($171) + 4)|0; - $175 = $174; - $176 = HEAP32[$175>>2]|0; - $177 = ($176|0)>(0); - $178 = ($173>>>0)>(0); - $179 = ($176|0)==(0); - $180 = $179 & $178; - $181 = $177 | $180; - if ($181) { - $182 = $p1; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = (($182) + 4)|0; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = (_i64Add(($184|0),($187|0),-1,-1)|0); - $189 = tempRet0; - $190 = $p1; - $191 = $190; - HEAP32[$191>>2] = $188; - $192 = (($190) + 4)|0; - $193 = $192; - HEAP32[$193>>2] = $189; + $33 = HEAP32[$9>>2]|0; + $34 = HEAP32[$7>>2]|0; + $35 = (($34) - 1)|0; + $36 = ($33|0)==($35|0); + if ($36) { + $37 = HEAP32[$4>>2]|0; + $38 = ((($37)) + 24|0); + $39 = HEAP32[$8>>2]|0; + $40 = (($38) + (($39*12)|0)|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$9>>2]|0; + $43 = ($41|0)==($42|0); + if ($43) { + label = 8; break; } - $194 = $p2; - $195 = $194; - $196 = HEAP32[$195>>2]|0; - $197 = (($194) + 4)|0; - $198 = $197; - $199 = HEAP32[$198>>2]|0; - $200 = ($199|0)>(0); - $201 = ($196>>>0)>(0); - $202 = ($199|0)==(0); - $203 = $202 & $201; - $204 = $200 | $203; - if ($204) { - $205 = $p2; - $206 = $205; - $207 = HEAP32[$206>>2]|0; - $208 = (($205) + 4)|0; - $209 = $208; - $210 = HEAP32[$209>>2]|0; - $211 = (_i64Add(($207|0),($210|0),-1,-1)|0); - $212 = tempRet0; - $213 = $p2; - $214 = $213; - HEAP32[$214>>2] = $211; - $215 = (($213) + 4)|0; - $216 = $215; - HEAP32[$216>>2] = $212; - } - } - } while(0); - $217 = HEAP32[$negP2>>2]|0; - $218 = ($217|0)!=(0); - if ($218) { - $219 = $p2; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = (($219) + 4)|0; - $223 = $222; - $224 = HEAP32[$223>>2]|0; - $225 = $p1; - $226 = $225; - $227 = HEAP32[$226>>2]|0; - $228 = (($225) + 4)|0; - $229 = $228; - $230 = HEAP32[$229>>2]|0; - $231 = (_i64Subtract(($227|0),($230|0),($221|0),($224|0))|0); - $232 = tempRet0; - $233 = $p1; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $237 = $p1; - $238 = $237; - $239 = HEAP32[$238>>2]|0; - $240 = (($237) + 4)|0; - $241 = $240; - $242 = HEAP32[$241>>2]|0; - $243 = ($242|0)<(0); - if ($243) { - $244 = $p1; - $245 = $244; - $246 = HEAP32[$245>>2]|0; - $247 = (($244) + 4)|0; - $248 = $247; - $249 = HEAP32[$248>>2]|0; - $250 = $p2; - $251 = $250; - $252 = HEAP32[$251>>2]|0; - $253 = (($250) + 4)|0; - $254 = $253; - $255 = HEAP32[$254>>2]|0; - $256 = (_i64Add(($252|0),($255|0),($246|0),($249|0))|0); - $257 = tempRet0; - $258 = $p2; - $259 = $258; - HEAP32[$259>>2] = $256; - $260 = (($258) + 4)|0; - $261 = $260; - HEAP32[$261>>2] = $257; - $262 = $p1; - $263 = $262; - HEAP32[$263>>2] = 0; - $264 = (($262) + 4)|0; - $265 = $264; - HEAP32[$265>>2] = 0; } + $46 = HEAP32[$8>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$8>>2] = $47; } - $266 = HEAP32[$p0type>>2]|0; - $267 = ($266|0)!=(4); - if (!($267)) { - $353 = $p1; - $354 = $353; - $355 = HEAP32[$354>>2]|0; - $356 = (($353) + 4)|0; - $357 = $356; - $358 = HEAP32[$357>>2]|0; - $359 = $p2; - $360 = $359; - $361 = HEAP32[$360>>2]|0; - $362 = (($359) + 4)|0; - $363 = $362; - $364 = HEAP32[$363>>2]|0; - $365 = (_i64Add(($355|0),($358|0),($361|0),($364|0))|0); - $366 = tempRet0; - $367 = HEAP32[$len>>2]|0; - $368 = ($367|0)<(0); - $369 = $368 << 31 >> 31; - $370 = ($366|0)>($369|0); - $371 = ($365>>>0)>($367>>>0); - $372 = ($366|0)==($369|0); - $373 = $372 & $371; - $374 = $370 | $373; - if ($374) { - $375 = HEAP32[$len>>2]|0; - $376 = ($375|0)<(0); - $377 = $376 << 31 >> 31; - $378 = $p1; - $379 = $378; - $380 = HEAP32[$379>>2]|0; - $381 = (($378) + 4)|0; - $382 = $381; - $383 = HEAP32[$382>>2]|0; - $384 = (_i64Subtract(($375|0),($377|0),($380|0),($383|0))|0); - $385 = tempRet0; - $386 = $p2; - $387 = $386; - HEAP32[$387>>2] = $384; - $388 = (($386) + 4)|0; - $389 = $388; - HEAP32[$389>>2] = $385; - $390 = $p2; - $391 = $390; - $392 = HEAP32[$391>>2]|0; - $393 = (($390) + 4)|0; - $394 = $393; - $395 = HEAP32[$394>>2]|0; - $396 = ($395|0)<(0); - $397 = $396 ? 0 : $384; - $398 = $396 ? 0 : $385; - $399 = $p2; - $400 = $399; - HEAP32[$400>>2] = $397; - $401 = (($399) + 4)|0; - $402 = $401; - HEAP32[$402>>2] = $398; - } - $403 = HEAP32[$0>>2]|0; - $404 = $p1; - $405 = $404; - $406 = HEAP32[$405>>2]|0; - $407 = (($404) + 4)|0; - $408 = $407; - $409 = HEAP32[$408>>2]|0; - $410 = HEAP32[$z>>2]|0; - $411 = (($410) + ($406)|0); - $412 = $p2; - $413 = $412; - $414 = HEAP32[$413>>2]|0; - $415 = (($412) + 4)|0; - $416 = $415; - $417 = HEAP32[$416>>2]|0; - _sqlite3_result_blob64($403,$411,$414,$417,(-1)); - STACKTOP = sp;return; + if ((label|0) == 8) { + $44 = HEAP32[$4>>2]|0; + _fts5StructureRef($44); + $45 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $45; + $139 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($139|0); } - while(1) { - $268 = HEAP32[$z>>2]|0; - $269 = HEAP8[$268>>0]|0; - $270 = $269&255; - $271 = ($270|0)!=(0); - $272 = $p1; - $273 = $272; - $274 = HEAP32[$273>>2]|0; - $275 = (($272) + 4)|0; - $276 = $275; - $277 = HEAP32[$276>>2]|0; - $278 = ($274|0)!=(0); - $279 = ($277|0)!=(0); - $280 = $278 | $279; - $281 = $271 ? $280 : 0; - $282 = HEAP32[$z>>2]|0; - if (!($281)) { - break; - } - $283 = ((($282)) + 1|0); - HEAP32[$z>>2] = $283; - $284 = HEAP8[$282>>0]|0; - $285 = $284&255; - $286 = ($285|0)>=(192); - L52: do { - if ($286) { - while(1) { - $287 = HEAP32[$z>>2]|0; - $288 = HEAP8[$287>>0]|0; - $289 = $288&255; - $290 = $289 & 192; - $291 = ($290|0)==(128); - if (!($291)) { - break L52; - } - $292 = HEAP32[$z>>2]|0; - $293 = ((($292)) + 1|0); - HEAP32[$z>>2] = $293; - } + $48 = ((($24)) + 20|0); + $49 = HEAP32[$48>>2]|0; + $50 = (($49) + 1)|0; + $51 = ($50*12)|0; + $52 = HEAP32[$6>>2]|0; + $53 = (($52) + ($51))|0; + HEAP32[$6>>2] = $53; + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 36|0); + $56 = HEAP32[$6>>2]|0; + $57 = (_sqlite3Fts5MallocZero($55,$56)|0); + HEAP32[$5>>2] = $57; + $58 = HEAP32[$5>>2]|0; + $59 = ($58|0)!=(0|0); + do { + if ($59) { + $60 = HEAP32[$7>>2]|0; + $61 = ($60*12)|0; + HEAP32[$6>>2] = $61; + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 20|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($64) + 1)|0; + $66 = HEAP32[$5>>2]|0; + $67 = ((($66)) + 20|0); + HEAP32[$67>>2] = $65; + $68 = HEAP32[$5>>2]|0; + HEAP32[$68>>2] = 1; + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 8|0); + $71 = $70; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$5>>2]|0; + $78 = ((($77)) + 8|0); + $79 = $78; + $80 = $79; + HEAP32[$80>>2] = $73; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $76; + $83 = HEAP32[$5>>2]|0; + $84 = ((($83)) + 24|0); + $85 = HEAP32[$4>>2]|0; + $86 = ((($85)) + 20|0); + $87 = HEAP32[$86>>2]|0; + $88 = (($84) + (($87*12)|0)|0); + HEAP32[$10>>2] = $88; + $89 = HEAP32[$3>>2]|0; + $90 = ((($89)) + 36|0); + $91 = HEAP32[$6>>2]|0; + $92 = (_sqlite3Fts5MallocZero($90,$91)|0); + $93 = HEAP32[$10>>2]|0; + $94 = ((($93)) + 8|0); + HEAP32[$94>>2] = $92; + $95 = HEAP32[$10>>2]|0; + $96 = ((($95)) + 8|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)!=(0|0); + if (!($98)) { + $137 = HEAP32[$5>>2]|0; + _sqlite3_free($137); + HEAP32[$5>>2] = 0; + break; } - } while(0); - $294 = $p1; - $295 = $294; - $296 = HEAP32[$295>>2]|0; - $297 = (($294) + 4)|0; - $298 = $297; - $299 = HEAP32[$298>>2]|0; - $300 = (_i64Add(($296|0),($299|0),-1,-1)|0); - $301 = tempRet0; - $302 = $p1; - $303 = $302; - HEAP32[$303>>2] = $300; - $304 = (($302) + 4)|0; - $305 = $304; - HEAP32[$305>>2] = $301; - } - HEAP32[$z2>>2] = $282; - while(1) { - $306 = HEAP32[$z2>>2]|0; - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = ($308|0)!=(0); - $310 = $p2; - $311 = $310; - $312 = HEAP32[$311>>2]|0; - $313 = (($310) + 4)|0; - $314 = $313; - $315 = HEAP32[$314>>2]|0; - $316 = ($312|0)!=(0); - $317 = ($315|0)!=(0); - $318 = $316 | $317; - $319 = $309 ? $318 : 0; - if (!($319)) { - break; - } - $320 = HEAP32[$z2>>2]|0; - $321 = ((($320)) + 1|0); - HEAP32[$z2>>2] = $321; - $322 = HEAP8[$320>>0]|0; - $323 = $322&255; - $324 = ($323|0)>=(192); - L61: do { - if ($324) { + HEAP32[$13>>2] = 0; + $99 = HEAP32[$4>>2]|0; + $100 = ((($99)) + 20|0); + $101 = HEAP32[$100>>2]|0; + $102 = (($101) - 1)|0; + HEAP32[$11>>2] = $102; + while(1) { + $103 = HEAP32[$11>>2]|0; + $104 = ($103|0)>=(0); + if (!($104)) { + break; + } + HEAP32[$12>>2] = 0; while(1) { - $325 = HEAP32[$z2>>2]|0; - $326 = HEAP8[$325>>0]|0; - $327 = $326&255; - $328 = $327 & 192; - $329 = ($328|0)==(128); - if (!($329)) { - break L61; + $105 = HEAP32[$12>>2]|0; + $106 = HEAP32[$4>>2]|0; + $107 = ((($106)) + 24|0); + $108 = HEAP32[$11>>2]|0; + $109 = (($107) + (($108*12)|0)|0); + $110 = ((($109)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($105|0)<($111|0); + if (!($112)) { + break; } - $330 = HEAP32[$z2>>2]|0; - $331 = ((($330)) + 1|0); - HEAP32[$z2>>2] = $331; - } - } - } while(0); - $332 = $p2; - $333 = $332; - $334 = HEAP32[$333>>2]|0; - $335 = (($332) + 4)|0; - $336 = $335; - $337 = HEAP32[$336>>2]|0; - $338 = (_i64Add(($334|0),($337|0),-1,-1)|0); - $339 = tempRet0; - $340 = $p2; - $341 = $340; - HEAP32[$341>>2] = $338; - $342 = (($340) + 4)|0; - $343 = $342; - HEAP32[$343>>2] = $339; - } - $344 = HEAP32[$0>>2]|0; - $345 = HEAP32[$z>>2]|0; - $346 = HEAP32[$z2>>2]|0; - $347 = HEAP32[$z>>2]|0; - $348 = $346; - $349 = $347; - $350 = (($348) - ($349))|0; - $351 = ($350|0)<(0); - $352 = $351 << 31 >> 31; - _sqlite3_result_text64($344,$345,$350,$352,(-1),1); - STACKTOP = sp;return; + $113 = HEAP32[$10>>2]|0; + $114 = ((($113)) + 8|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$13>>2]|0; + $117 = (($115) + (($116*12)|0)|0); + $118 = HEAP32[$4>>2]|0; + $119 = ((($118)) + 24|0); + $120 = HEAP32[$11>>2]|0; + $121 = (($119) + (($120*12)|0)|0); + $122 = ((($121)) + 8|0); + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$12>>2]|0; + $125 = (($123) + (($124*12)|0)|0); + ;HEAP32[$117>>2]=HEAP32[$125>>2]|0;HEAP32[$117+4>>2]=HEAP32[$125+4>>2]|0;HEAP32[$117+8>>2]=HEAP32[$125+8>>2]|0; + $126 = HEAP32[$13>>2]|0; + $127 = (($126) + 1)|0; + HEAP32[$13>>2] = $127; + $128 = HEAP32[$12>>2]|0; + $129 = (($128) + 1)|0; + HEAP32[$12>>2] = $129; + } + $130 = HEAP32[$11>>2]|0; + $131 = (($130) + -1)|0; + HEAP32[$11>>2] = $131; + } + $132 = HEAP32[$7>>2]|0; + $133 = HEAP32[$10>>2]|0; + $134 = ((($133)) + 4|0); + HEAP32[$134>>2] = $132; + $135 = HEAP32[$5>>2]|0; + $136 = ((($135)) + 16|0); + HEAP32[$136>>2] = $132; + } + } while(0); + $138 = HEAP32[$5>>2]|0; + HEAP32[$2>>2] = $138; + $139 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($139|0); } -function _sumStep($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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.0, $43 = 0, $44 = 0.0; - var $45 = 0.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.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, $type = 0, $v = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexOptimize($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $p = sp + 12|0; - $type = sp + 8|0; - $v = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_aggregate_context($3,32)|0); - HEAP32[$p>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_numeric_type($6)|0); - HEAP32[$type>>2] = $7; - $8 = HEAP32[$p>>2]|0; - $9 = ($8|0)!=(0|0); - $10 = HEAP32[$type>>2]|0; - $11 = ($10|0)!=(5); - $or$cond = $9 & $11; - if (!($or$cond)) { - STACKTOP = sp;return; - } - $12 = HEAP32[$p>>2]|0; - $13 = ((($12)) + 16|0); - $14 = $13; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (_i64Add(($16|0),($19|0),1,0)|0); - $21 = tempRet0; - $22 = $13; - $23 = $22; - HEAP32[$23>>2] = $20; - $24 = (($22) + 4)|0; - $25 = $24; - HEAP32[$25>>2] = $21; - $26 = HEAP32[$type>>2]|0; - $27 = ($26|0)==(1); - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$28>>2]|0; - if (!($27)) { - $68 = (+_sqlite3_value_double($29)); - $69 = HEAP32[$p>>2]|0; - $70 = +HEAPF64[$69>>3]; - $71 = $70 + $68; - HEAPF64[$69>>3] = $71; - $72 = HEAP32[$p>>2]|0; - $73 = ((($72)) + 25|0); - HEAP8[$73>>0] = 1; - STACKTOP = sp;return; - } - $30 = (_sqlite3_value_int64($29)|0); - $31 = tempRet0; - $32 = $v; - $33 = $32; - HEAP32[$33>>2] = $30; - $34 = (($32) + 4)|0; - $35 = $34; - HEAP32[$35>>2] = $31; - $36 = $v; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (+($38>>>0)) + (4294967296.0*(+($41|0))); - $43 = HEAP32[$p>>2]|0; - $44 = +HEAPF64[$43>>3]; - $45 = $44 + $42; - HEAPF64[$43>>3] = $45; - $46 = HEAP32[$p>>2]|0; - $47 = ((($46)) + 25|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - $50 = HEAP32[$p>>2]|0; - $51 = ((($50)) + 24|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = $49 | $53; - $55 = ($54|0)==(0); - if (!($55)) { - STACKTOP = sp;return; - } - $56 = HEAP32[$p>>2]|0; - $57 = ((($56)) + 8|0); - $58 = $v; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (_sqlite3AddInt64($57,$60,$63)|0); - $65 = ($64|0)!=(0); - if (!($65)) { - STACKTOP = sp;return; - } - $66 = HEAP32[$p>>2]|0; - $67 = ((($66)) + 24|0); - HEAP8[$67>>0] = 1; - STACKTOP = sp;return; -} -function _sumFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0.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, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 0; + $6 = HEAP32[$1>>2]|0; + _fts5IndexFlush($6); + $7 = HEAP32[$1>>2]|0; + $8 = (_fts5StructureRead($7)|0); + HEAP32[$2>>2] = $8; + $9 = HEAP32[$1>>2]|0; + _fts5StructureInvalidate($9); + $10 = HEAP32[$2>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = (_fts5IndexOptimizeStruct($12,$13)|0); + HEAP32[$3>>2] = $14; } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 16|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - $14 = ($9>>>0)>(0); - $15 = ($12|0)==(0); - $16 = $15 & $14; - $17 = $13 | $16; + $15 = HEAP32[$2>>2]|0; + _fts5StructureRelease($15); + $16 = HEAP32[$3>>2]|0; + $17 = ($16|0)!=(0|0); if (!($17)) { - STACKTOP = sp;return; + $43 = HEAP32[$1>>2]|0; + $44 = (_fts5IndexReturn($43)|0); + STACKTOP = sp;return ($44|0); } - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 24|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)!=(0); - if ($21) { - $22 = HEAP32[$0>>2]|0; - _sqlite3_result_error($22,45165,-1); - STACKTOP = sp;return; + HEAP32[$4>>2] = 0; + while(1) { + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 24|0); + $20 = HEAP32[$4>>2]|0; + $21 = (($19) + (($20*12)|0)|0); + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0); + if (!($24)) { + break; + } + $25 = HEAP32[$4>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$4>>2] = $26; } - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 25|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)!=(0); - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$p>>2]|0; - if ($26) { - $29 = +HEAPF64[$28>>3]; - _sqlite3_result_double($27,$29); - STACKTOP = sp;return; - } else { - $30 = ((($28)) + 8|0); - $31 = $30; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; + while(1) { + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 36|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)==(0); + if (!($30)) { + break; + } + $31 = HEAP32[$3>>2]|0; + $32 = ((($31)) + 24|0); + $33 = HEAP32[$4>>2]|0; + $34 = (($32) + (($33*12)|0)|0); + $35 = ((($34)) + 4|0); $36 = HEAP32[$35>>2]|0; - _sqlite3_result_int64($27,$33,$36); - STACKTOP = sp;return; + $37 = ($36|0)>(0); + if (!($37)) { + break; + } + HEAP32[$5>>2] = 1000; + $38 = HEAP32[$1>>2]|0; + $39 = HEAP32[$4>>2]|0; + _fts5IndexMergeLevel($38,$3,$39,$5); } + $40 = HEAP32[$1>>2]|0; + $41 = HEAP32[$3>>2]|0; + _fts5StructureWrite($40,$41); + $42 = HEAP32[$3>>2]|0; + _fts5StructureRelease($42); + $43 = HEAP32[$1>>2]|0; + $44 = (_fts5IndexReturn($43)|0); + STACKTOP = sp;return ($44|0); } -function _totalFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $p = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexReinit($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - $8 = 0.0; - _sqlite3_result_double($3,$8); - STACKTOP = sp;return; - } - $6 = HEAP32[$p>>2]|0; - $7 = +HEAPF64[$6>>3]; - $8 = $7; - _sqlite3_result_double($3,$8); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $1 = sp + 40|0; + $2 = sp; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + _fts5StructureInvalidate($3); + dest=$2; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $4 = HEAP32[$1>>2]|0; + _fts5DataWrite($4,1,0,55752,0); + $5 = HEAP32[$1>>2]|0; + _fts5StructureWrite($5,$2); + $6 = HEAP32[$1>>2]|0; + $7 = (_fts5IndexReturn($6)|0); + STACKTOP = sp;return ($7|0); } -function _avgFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _fts5PoslistBlob($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 16|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - $14 = ($9>>>0)>(0); - $15 = ($12|0)==(0); - $16 = $15 & $14; - $17 = $13 | $16; - if (!($17)) { - STACKTOP = sp;return; - } - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$p>>2]|0; - $20 = +HEAPF64[$19>>3]; - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 16|0); - $23 = $22; - $24 = $23; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 60|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 32|0; + $8 = sp + 28|0; + $9 = sp + 24|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp + 12|0; + $13 = sp + 8|0; + $14 = sp + 4|0; + $15 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$5>>2] = 0; + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 52|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3Fts5ExprPhraseCount($18)|0); + HEAP32[$6>>2] = $19; + ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 48|0); $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (+($25>>>0)) + (4294967296.0*(+($28|0))); - $30 = $20 / $29; - _sqlite3_result_double($18,$30); - STACKTOP = sp;return; -} -function _countStep($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$old = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_aggregate_context($3,8)|0); - HEAP32[$p>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - $$old = HEAP32[$p>>2]|0; - $$old1 = ($$old|0)!=(0|0); - if (!($$old1)) { - STACKTOP = sp;return; + L1: do { + switch ($25|0) { + case 0: { + HEAP32[$4>>2] = 0; + while(1) { + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$6>>2]|0; + $28 = (($27) - 1)|0; + $29 = ($26|0)<($28|0); + if (!($29)) { + break; + } + $30 = HEAP32[$3>>2]|0; + $31 = ((($30)) + 52|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = (_sqlite3Fts5ExprPoslist($32,$33,$8)|0); + HEAP32[$9>>2] = $34; + $35 = HEAP32[$9>>2]|0; + $36 = ($35|0)<(0); + $37 = $36 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($5,$7,$35,$37); + $38 = HEAP32[$4>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$4>>2] = $39; + } + HEAP32[$4>>2] = 0; + while(1) { + $40 = HEAP32[$4>>2]|0; + $41 = HEAP32[$6>>2]|0; + $42 = ($40|0)<($41|0); + if (!($42)) { + break L1; + } + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 52|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = (_sqlite3Fts5ExprPoslist($45,$46,$10)|0); + HEAP32[$11>>2] = $47; + $48 = HEAP32[$11>>2]|0; + $49 = HEAP32[$10>>2]|0; + _sqlite3Fts5BufferAppendBlob($5,$7,$48,$49); + $50 = HEAP32[$4>>2]|0; + $51 = (($50) + 1)|0; + HEAP32[$4>>2] = $51; + } + break; } - } else { - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_type($8)|0); - $10 = (5)!=($9|0); - $11 = HEAP32[$p>>2]|0; - $12 = ($11|0)!=(0|0); - $or$cond = $10 & $12; - if (!($or$cond)) { - STACKTOP = sp;return; + case 2: { + HEAP32[$4>>2] = 0; + while(1) { + $52 = HEAP32[$5>>2]|0; + $53 = ($52|0)==(0); + if (!($53)) { + break; + } + $54 = HEAP32[$4>>2]|0; + $55 = HEAP32[$6>>2]|0; + $56 = (($55) - 1)|0; + $57 = ($54|0)<($56|0); + if (!($57)) { + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = ((($58)) + 52|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$4>>2]|0; + $62 = (_sqlite3Fts5ExprPhraseCollist($60,$61,$12,$13)|0); + HEAP32[$5>>2] = $62; + $63 = HEAP32[$13>>2]|0; + $64 = ($63|0)<(0); + $65 = $64 << 31 >> 31; + _sqlite3Fts5BufferAppendVarint($5,$7,$63,$65); + $66 = HEAP32[$4>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$4>>2] = $67; + } + HEAP32[$4>>2] = 0; + while(1) { + $68 = HEAP32[$5>>2]|0; + $69 = ($68|0)==(0); + if (!($69)) { + break L1; + } + $70 = HEAP32[$4>>2]|0; + $71 = HEAP32[$6>>2]|0; + $72 = ($70|0)<($71|0); + if (!($72)) { + break L1; + } + $73 = HEAP32[$3>>2]|0; + $74 = ((($73)) + 52|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$4>>2]|0; + $77 = (_sqlite3Fts5ExprPhraseCollist($75,$76,$14,$15)|0); + HEAP32[$5>>2] = $77; + $78 = HEAP32[$15>>2]|0; + $79 = HEAP32[$14>>2]|0; + _sqlite3Fts5BufferAppendBlob($5,$7,$78,$79); + $80 = HEAP32[$4>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$4>>2] = $81; + } + break; } - } - $13 = HEAP32[$p>>2]|0; - $14 = $13; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (_i64Add(($16|0),($19|0),1,0)|0); - $21 = tempRet0; - $22 = $13; - $23 = $22; - HEAP32[$23>>2] = $20; - $24 = (($22) + 4)|0; - $25 = $24; - HEAP32[$25>>2] = $21; - STACKTOP = sp;return; -} -function _countFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - $13 = 0;$14 = 0; - _sqlite3_result_int64($3,$13,$14); - STACKTOP = sp;return; - } - $6 = HEAP32[$p>>2]|0; - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = $9;$14 = $12; - _sqlite3_result_int64($3,$13,$14); - STACKTOP = sp;return; + default: { + } + } + } while(0); + $82 = HEAP32[$2>>2]|0; + $83 = HEAP32[$7>>2]|0; + $84 = ((($7)) + 4|0); + $85 = HEAP32[$84>>2]|0; + _sqlite3_result_blob($82,$83,$85,157); + $86 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($86|0); } -function _groupConcatStep($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $firstTerm = 0, $nSep = 0, $nVal = 0, $pAccum = 0, $zSep = 0, $zVal = 0, label = 0, sp = 0; +function _fts5FindRankFunction($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $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, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $zVal = sp + 24|0; - $pAccum = sp + 20|0; - $zSep = sp + 16|0; - $nVal = sp + 12|0; - $nSep = sp + 8|0; - $db = sp + 4|0; - $firstTerm = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - $6 = ($5|0)==(5); - if ($6) { - STACKTOP = sp;return; - } - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3_aggregate_context($7,28)|0); - HEAP32[$pAccum>>2] = $8; - $9 = HEAP32[$pAccum>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3_context_db_handle($11)|0); - HEAP32[$db>>2] = $12; - $13 = HEAP32[$pAccum>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)==(0); - $17 = $16&1; - HEAP32[$firstTerm>>2] = $17; - $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 96|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$pAccum>>2]|0; - $22 = ((($21)) + 20|0); - HEAP32[$22>>2] = $20; - $23 = HEAP32[$firstTerm>>2]|0; - $24 = ($23|0)!=(0); - if (!($24)) { - $25 = HEAP32[$1>>2]|0; - $26 = ($25|0)==(2); - if ($26) { - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = (_sqlite3_value_text($29)|0); - HEAP32[$zSep>>2] = $30; - $31 = HEAP32[$2>>2]|0; - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_sqlite3_value_bytes($33)|0); - HEAP32[$nSep>>2] = $34; - } else { - HEAP32[$zSep>>2] = 34710; - HEAP32[$nSep>>2] = 1; - } - $35 = HEAP32[$nSep>>2]|0; - $36 = ($35|0)!=(0); - if ($36) { - $37 = HEAP32[$pAccum>>2]|0; - $38 = HEAP32[$zSep>>2]|0; - $39 = HEAP32[$nSep>>2]|0; - _sqlite3StrAccumAppend($37,$38,$39); + STACKTOP = STACKTOP + 64|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 52|0; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + HEAP32[$1>>2] = $0; + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$2>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$3>>2] = $16; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 72|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$6>>2] = $19; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 76|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$7>>2] = $22; + $23 = HEAP32[$7>>2]|0; + $24 = ($23|0)!=(0|0); + do { + if ($24) { + $25 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $25; + $26 = (_sqlite3Fts5Mprintf($4,45739,$vararg_buffer)|0); + HEAP32[$8>>2] = $26; + $27 = HEAP32[$8>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + HEAP32[$9>>2] = 0; + $29 = HEAP32[$3>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$8>>2]|0; + $32 = (_sqlite3_prepare_v2($30,$31,-1,$9,0)|0); + HEAP32[$4>>2] = $32; + $33 = HEAP32[$8>>2]|0; + _sqlite3_free($33); + $34 = HEAP32[$4>>2]|0; + $35 = ($34|0)==(0); + if ($35) { + $36 = HEAP32[$9>>2]|0; + $37 = (_sqlite3_step($36)|0); + $38 = (100)==($37|0); + $39 = HEAP32[$9>>2]|0; + if (!($38)) { + $71 = (_sqlite3_finalize($39)|0); + HEAP32[$4>>2] = $71; + break; + } + $40 = (_sqlite3_column_count($39)|0); + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 84|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 84|0); + $45 = HEAP32[$44>>2]|0; + $46 = $45<<2; + HEAP32[$10>>2] = $46; + $47 = HEAP32[$10>>2]|0; + $48 = (_sqlite3Fts5MallocZero($4,$47)|0); + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 88|0); + HEAP32[$50>>2] = $48; + $51 = HEAP32[$4>>2]|0; + $52 = ($51|0)==(0); + L8: do { + if ($52) { + HEAP32[$11>>2] = 0; + while(1) { + $53 = HEAP32[$11>>2]|0; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 84|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($53|0)<($56|0); + if (!($57)) { + break L8; + } + $58 = HEAP32[$9>>2]|0; + $59 = HEAP32[$11>>2]|0; + $60 = (_sqlite3_column_value($58,$59)|0); + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 88|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$11>>2]|0; + $65 = (($63) + ($64<<2)|0); + HEAP32[$65>>2] = $60; + $66 = HEAP32[$11>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$11>>2] = $67; + } + } + } while(0); + $68 = HEAP32[$9>>2]|0; + $69 = HEAP32[$1>>2]|0; + $70 = ((($69)) + 92|0); + HEAP32[$70>>2] = $68; + } + } } + } while(0); + $72 = HEAP32[$4>>2]|0; + $73 = ($72|0)==(0); + if (!($73)) { + $83 = HEAP32[$5>>2]|0; + $84 = HEAP32[$1>>2]|0; + $85 = ((($84)) + 80|0); + HEAP32[$85>>2] = $83; + $86 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($86|0); } - $40 = HEAP32[$2>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = (_sqlite3_value_text($41)|0); - HEAP32[$zVal>>2] = $42; - $43 = HEAP32[$2>>2]|0; - $44 = HEAP32[$43>>2]|0; - $45 = (_sqlite3_value_bytes($44)|0); - HEAP32[$nVal>>2] = $45; - $46 = HEAP32[$zVal>>2]|0; - $47 = ($46|0)!=(0|0); - if (!($47)) { - STACKTOP = sp;return; + $74 = HEAP32[$2>>2]|0; + $75 = HEAP32[$6>>2]|0; + $76 = (_fts5FindAuxiliary($74,$75)|0); + HEAP32[$5>>2] = $76; + $77 = HEAP32[$5>>2]|0; + $78 = ($77|0)==(0|0); + if (!($78)) { + $83 = HEAP32[$5>>2]|0; + $84 = HEAP32[$1>>2]|0; + $85 = ((($84)) + 80|0); + HEAP32[$85>>2] = $83; + $86 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($86|0); } - $48 = HEAP32[$pAccum>>2]|0; - $49 = HEAP32[$zVal>>2]|0; - $50 = HEAP32[$nVal>>2]|0; - _sqlite3StrAccumAppend($48,$49,$50); - STACKTOP = sp;return; + $79 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer1>>2] = $79; + $80 = (_sqlite3_mprintf(51837,$vararg_buffer1)|0); + $81 = HEAP32[$2>>2]|0; + $82 = ((($81)) + 8|0); + HEAP32[$82>>2] = $80; + HEAP32[$4>>2] = 1; + $83 = HEAP32[$5>>2]|0; + $84 = HEAP32[$1>>2]|0; + $85 = ((($84)) + 80|0); + HEAP32[$85>>2] = $83; + $86 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($86|0); } -function _groupConcatFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 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, $pAccum = 0; - var label = 0, sp = 0; +function _fts5CursorReseek($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pAccum = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$pAccum>>2] = $2; - $3 = HEAP32[$pAccum>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$pAccum>>2]|0; - $6 = ((($5)) + 24|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(2); - if ($9) { - $10 = HEAP32[$0>>2]|0; - _sqlite3_result_error_toobig($10); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 12|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + HEAP32[$4>>2] = 0; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 60|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 & 32; + $12 = ($11|0)!=(0); + if (!($12)) { + $73 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($73|0); } - $11 = HEAP32[$pAccum>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==(1); - $16 = HEAP32[$0>>2]|0; - if ($15) { - _sqlite3_result_error_nomem($16); - STACKTOP = sp;return; - } else { - $17 = HEAP32[$pAccum>>2]|0; - $18 = (_sqlite3StrAccumFinish($17)|0); - _sqlite3_result_text($16,$18,-1,148); - STACKTOP = sp;return; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 28|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$6>>2] = $17; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 52|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3Fts5ExprRowid($20)|0); + $22 = tempRet0; + $23 = $7; + $24 = $23; + HEAP32[$24>>2] = $21; + $25 = (($23) + 4)|0; + $26 = $25; + HEAP32[$26>>2] = $22; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 52|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + $33 = $7; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$6>>2]|0; + $40 = (_sqlite3Fts5ExprFirst($29,$32,$35,$38,$39)|0); + HEAP32[$4>>2] = $40; + $41 = HEAP32[$4>>2]|0; + $42 = ($41|0)==(0); + if ($42) { + $43 = $7; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 52|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_sqlite3Fts5ExprRowid($51)|0); + $53 = tempRet0; + $54 = ($45|0)!=($52|0); + $55 = ($48|0)!=($53|0); + $56 = $54 | $55; + if ($56) { + $57 = HEAP32[$3>>2]|0; + HEAP32[$57>>2] = 1; + } + } + $58 = HEAP32[$2>>2]|0; + $59 = ((($58)) + 60|0); + $60 = HEAP32[$59>>2]|0; + $61 = $60 & -33; + HEAP32[$59>>2] = $61; + $62 = HEAP32[$2>>2]|0; + _fts5CsrNewrow($62); + $63 = HEAP32[$2>>2]|0; + $64 = ((($63)) + 52|0); + $65 = HEAP32[$64>>2]|0; + $66 = (_sqlite3Fts5ExprEof($65)|0); + $67 = ($66|0)!=(0); + if (!($67)) { + $73 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($73|0); } + $68 = HEAP32[$2>>2]|0; + $69 = ((($68)) + 60|0); + $70 = HEAP32[$69>>2]|0; + $71 = $70 | 1; + HEAP32[$69>>2] = $71; + $72 = HEAP32[$3>>2]|0; + HEAP32[$72>>2] = 1; + $73 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($73|0); } -function _contextMalloc($context,$0,$1) { - $context = $context|0; +function _sqlite3Fts5ExprNext($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $z = 0, label = 0, sp = 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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp; - $z = sp + 12|0; - $db = sp + 8|0; - HEAP32[$2>>2] = $context; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = (_sqlite3_context_db_handle($8)|0); - HEAP32[$db>>2] = $9; - $10 = $3; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$db>>2]|0; - $17 = ((($16)) + 96|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)<(0); - $20 = $19 << 31 >> 31; - $21 = ($15|0)>($20|0); - $22 = ($12>>>0)>($18>>>0); - $23 = ($15|0)==($20|0); - $24 = $23 & $22; - $25 = $21 | $24; - if ($25) { - $26 = HEAP32[$2>>2]|0; - _sqlite3_result_error_toobig($26); - HEAP32[$z>>2] = 0; - $37 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($37|0); + $3 = sp + 16|0; + $4 = sp; + $5 = sp + 12|0; + $6 = sp + 8|0; + HEAP32[$3>>2] = $0; + $7 = $4; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$6>>2] = $13; + while(1) { + $14 = HEAP32[$6>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$6>>2]|0; + $19 = (FUNCTION_TABLE_iiiiii[$16 & 255]($17,$18,0,0,0)|0); + HEAP32[$5>>2] = $19; + $20 = HEAP32[$6>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0); + if (!($23)) { + break; + } } - $27 = $3; + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$6>>2]|0; + $26 = ((($25)) + 16|0); + $27 = $26; $28 = $27; $29 = HEAP32[$28>>2]|0; $30 = (($27) + 4)|0; $31 = $30; $32 = HEAP32[$31>>2]|0; - $33 = (_sqlite3Malloc($29,$32)|0); - HEAP32[$z>>2] = $33; - $34 = HEAP32[$z>>2]|0; - $35 = ($34|0)!=(0|0); - if ($35) { - $37 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($37|0); + $33 = $4; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (_fts5RowidCmp($24,$29,$32,$35,$38)|0); + $40 = ($39|0)>(0); + if (!($40)) { + $43 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($43|0); } - $36 = HEAP32[$2>>2]|0; - _sqlite3_result_error_nomem($36); - $37 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($37|0); -} -function _sqlite3GetFuncCollSeq($context) { - $context = $context|0; - var $0 = 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, $pOp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pOp = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) - 1)|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 88|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($4*20)|0)|0); - HEAP32[$pOp>>2] = $10; - $11 = HEAP32[$pOp>>2]|0; - $12 = ((($11)) + 16|0); - $13 = HEAP32[$12>>2]|0; - STACKTOP = sp;return ($13|0); -} -function _sqlite3SkipAccumulatorLoad($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - HEAP8[$2>>0] = 1; - STACKTOP = sp;return; + $41 = HEAP32[$6>>2]|0; + $42 = ((($41)) + 4|0); + HEAP32[$42>>2] = 1; + $43 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($43|0); } -function _juliandayFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $x = 0, label = 0, sp = 0; +function _fts5SorterNext($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $x = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_isDate($3,$4,$5,$x)|0); - $7 = ($6|0)==(0); - if (!($7)) { - STACKTOP = sp;return; - } - _computeJD($x); - $8 = HEAP32[$0>>2]|0; - $9 = $x; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; + STACKTOP = STACKTOP + 48|0; + $1 = sp + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 8|0; + $8 = sp + 4|0; + $9 = sp; + HEAP32[$1>>2] = $0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 56|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$2>>2] = $12; + $13 = HEAP32[$2>>2]|0; $14 = HEAP32[$13>>2]|0; - $15 = (+($11>>>0)) + (4294967296.0*(+($14|0))); - $16 = $15 / 8.64E+7; - _sqlite3_result_double($8,$16); - STACKTOP = sp;return; -} -function _dateFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $x = 0, $zBuf = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $vararg_buffer = sp + 48|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $x = sp; - $zBuf = sp + 72|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_isDate($3,$4,$5,$x)|0); - $7 = ($6|0)==(0); - if (!($7)) { - STACKTOP = sp;return; + $15 = (_sqlite3_step($14)|0); + HEAP32[$3>>2] = $15; + $16 = HEAP32[$3>>2]|0; + $17 = ($16|0)==(101); + if ($17) { + HEAP32[$3>>2] = 0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 60|0); + $20 = HEAP32[$19>>2]|0; + $21 = $20 | 1; + HEAP32[$19>>2] = $21; + $77 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($77|0); } - _computeYMD($x); - $8 = ((($x)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($x)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($x)) + 16|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $11; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - (_sqlite3_snprintf(100,$zBuf,45506,$vararg_buffer)|0); - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_text($14,$zBuf,-1,(-1)); - STACKTOP = sp;return; -} -function _timeFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $x = 0; - var $zBuf = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $vararg_buffer = sp + 48|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $x = sp; - $zBuf = sp + 72|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_isDate($3,$4,$5,$x)|0); - $7 = ($6|0)==(0); - if (!($7)) { - STACKTOP = sp;return; + $22 = HEAP32[$3>>2]|0; + $23 = ($22|0)==(100); + if (!($23)) { + $77 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($77|0); } - _computeHMS($x); - $8 = ((($x)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($x)) + 24|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($x)) + 32|0); - $13 = +HEAPF64[$12>>3]; - $14 = (~~(($13))); - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $11; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $14; - (_sqlite3_snprintf(100,$zBuf,45491,$vararg_buffer)|0); - $15 = HEAP32[$0>>2]|0; - _sqlite3_result_text($15,$zBuf,-1,(-1)); - STACKTOP = sp;return; + HEAP32[$8>>2] = 0; + HEAP32[$3>>2] = 0; + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3_column_int64($25,0)|0); + $27 = tempRet0; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 8|0); + $30 = $29; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $27; + $34 = HEAP32[$2>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = (_sqlite3_column_bytes($35,1)|0); + HEAP32[$6>>2] = $36; + $37 = HEAP32[$2>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3_column_blob($38,1)|0); + HEAP32[$4>>2] = $39; + HEAP32[$5>>2] = $39; + $40 = HEAP32[$6>>2]|0; + $41 = ($40|0)>(0); + if ($41) { + HEAP32[$7>>2] = 0; + while(1) { + $42 = HEAP32[$7>>2]|0; + $43 = HEAP32[$2>>2]|0; + $44 = ((($43)) + 20|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) - 1)|0; + $47 = ($42|0)<($46|0); + if (!($47)) { + break; + } + $48 = HEAP32[$4>>2]|0; + $49 = (_sqlite3Fts5GetVarint32($48,$9)|0); + $50 = HEAP32[$4>>2]|0; + $51 = (($50) + ($49)|0); + HEAP32[$4>>2] = $51; + $52 = HEAP32[$9>>2]|0; + $53 = HEAP32[$8>>2]|0; + $54 = (($53) + ($52))|0; + HEAP32[$8>>2] = $54; + $55 = HEAP32[$8>>2]|0; + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 24|0); + $58 = HEAP32[$7>>2]|0; + $59 = (($57) + ($58<<2)|0); + HEAP32[$59>>2] = $55; + $60 = HEAP32[$7>>2]|0; + $61 = (($60) + 1)|0; + HEAP32[$7>>2] = $61; + } + $62 = HEAP32[$5>>2]|0; + $63 = HEAP32[$6>>2]|0; + $64 = (($62) + ($63)|0); + $65 = HEAP32[$4>>2]|0; + $66 = $64; + $67 = $65; + $68 = (($66) - ($67))|0; + $69 = HEAP32[$2>>2]|0; + $70 = ((($69)) + 24|0); + $71 = HEAP32[$7>>2]|0; + $72 = (($70) + ($71<<2)|0); + HEAP32[$72>>2] = $68; + $73 = HEAP32[$4>>2]|0; + $74 = HEAP32[$2>>2]|0; + $75 = ((($74)) + 16|0); + HEAP32[$75>>2] = $73; + } + $76 = HEAP32[$1>>2]|0; + _fts5CsrNewrow($76); + $77 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($77|0); } -function _datetimeFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $x = 0, $zBuf = 0, label = 0, sp = 0; +function _fts5FreeCursorComponents($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $vararg_buffer = sp + 48|0; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $x = sp; - $zBuf = sp + 84|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_isDate($3,$4,$5,$x)|0); - $7 = ($6|0)==(0); - if (!($7)) { - STACKTOP = sp;return; - } - _computeYMD_HMS($x); - $8 = ((($x)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($x)) + 12|0); + STACKTOP = STACKTOP + 32|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + HEAP32[$1>>2] = $0; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$2>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 104|0); $11 = HEAP32[$10>>2]|0; - $12 = ((($x)) + 16|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($x)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($x)) + 24|0); + _sqlite3_free($11); + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 116|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3_free($14); + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 48|0); $17 = HEAP32[$16>>2]|0; - $18 = ((($x)) + 32|0); - $19 = +HEAPF64[$18>>3]; - $20 = (~~(($19))); - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $11; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $15; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $17; - $vararg_ptr5 = ((($vararg_buffer)) + 20|0); - HEAP32[$vararg_ptr5>>2] = $20; - (_sqlite3_snprintf(100,$zBuf,45461,$vararg_buffer)|0); - $21 = HEAP32[$0>>2]|0; - _sqlite3_result_text($21,$zBuf,-1,(-1)); - STACKTOP = sp;return; -} -function _strftimeFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0.0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0.0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $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, $db = 0, $i = 0, $j = 0, $n = 0, $nDay = 0, $s = 0, $vararg_buffer = 0; - var $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $wd = 0, $x = 0, $y = 0, $z = 0, $zBuf = 0, $zFmt = 0, dest = 0, label = 0, sp = 0, src = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; - $vararg_buffer28 = sp + 192|0; - $vararg_buffer25 = sp + 184|0; - $vararg_buffer22 = sp + 176|0; - $vararg_buffer19 = sp + 168|0; - $vararg_buffer16 = sp + 160|0; - $vararg_buffer13 = sp + 152|0; - $vararg_buffer10 = sp + 144|0; - $vararg_buffer7 = sp + 136|0; - $vararg_buffer4 = sp + 128|0; - $vararg_buffer1 = sp + 120|0; - $vararg_buffer = sp + 112|0; - $0 = sp + 232|0; - $1 = sp + 228|0; - $2 = sp + 224|0; - $x = sp + 64|0; - $n = sp + 56|0; - $i = sp + 220|0; - $j = sp + 216|0; - $z = sp + 212|0; - $db = sp + 208|0; - $zFmt = sp + 204|0; - $zBuf = sp + 236|0; - $s = sp + 48|0; - $nDay = sp + 200|0; - $y = sp; - $wd = sp + 196|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - STACKTOP = sp;return; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$1>>2]|0; + $20 = (_fts5StmtType($19)|0); + HEAP32[$5>>2] = $20; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$5>>2]|0; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 48|0); + $27 = HEAP32[$26>>2]|0; + _sqlite3Fts5StorageStmtRelease($23,$24,$27); } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_text($6)|0); - HEAP32[$zFmt>>2] = $7; - $8 = HEAP32[$zFmt>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - STACKTOP = sp;return; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 56|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 56|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$6>>2] = $34; + $35 = HEAP32[$6>>2]|0; + $36 = HEAP32[$35>>2]|0; + (_sqlite3_finalize($36)|0); + $37 = HEAP32[$6>>2]|0; + _sqlite3_free($37); } - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - 1)|0; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = (_isDate($10,$12,$14,$x)|0); - $16 = ($15|0)!=(0); - if ($16) { - STACKTOP = sp;return; + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)!=(2); + if ($41) { + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 52|0); + $44 = HEAP32[$43>>2]|0; + _sqlite3Fts5ExprFree($44); } - $17 = HEAP32[$0>>2]|0; - $18 = (_sqlite3_context_db_handle($17)|0); - HEAP32[$db>>2] = $18; - HEAP32[$i>>2] = 0; - $19 = $n; - $20 = $19; - HEAP32[$20>>2] = 1; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = 0; - L10: while(1) { - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$zFmt>>2]|0; - $25 = (($24) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ($26<<24>>24)!=(0); - if (!($27)) { + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 100|0); + $47 = HEAP32[$46>>2]|0; + HEAP32[$3>>2] = $47; + while(1) { + $48 = HEAP32[$3>>2]|0; + $49 = ($48|0)!=(0|0); + if (!($49)) { break; } - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$zFmt>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31 << 24 >> 24; - $33 = ($32|0)==(37); - if ($33) { - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + 1)|0; - $36 = HEAP32[$zFmt>>2]|0; - $37 = (($36) + ($35)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38 << 24 >> 24; - switch ($39|0) { - case 87: case 83: case 77: case 109: case 72: case 100: { - $40 = $n; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (($40) + 4)|0; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = (_i64Add(($42|0),($45|0),1,0)|0); - $47 = tempRet0; - $48 = $n; - $49 = $48; - HEAP32[$49>>2] = $46; - $50 = (($48) + 4)|0; - $51 = $50; - HEAP32[$51>>2] = $47; - break; - } - case 37: case 119: { - break; - } - case 102: { - $52 = $n; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (_i64Add(($54|0),($57|0),8,0)|0); - $59 = tempRet0; - $60 = $n; - $61 = $60; - HEAP32[$61>>2] = $58; - $62 = (($60) + 4)|0; - $63 = $62; - HEAP32[$63>>2] = $59; - break; - } - case 106: { - $64 = $n; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (($64) + 4)|0; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (_i64Add(($66|0),($69|0),3,0)|0); - $71 = tempRet0; - $72 = $n; - $73 = $72; - HEAP32[$73>>2] = $70; - $74 = (($72) + 4)|0; - $75 = $74; - HEAP32[$75>>2] = $71; - break; - } - case 89: { - $76 = $n; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = (($76) + 4)|0; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (_i64Add(($78|0),($81|0),8,0)|0); - $83 = tempRet0; - $84 = $n; - $85 = $84; - HEAP32[$85>>2] = $82; - $86 = (($84) + 4)|0; - $87 = $86; - HEAP32[$87>>2] = $83; - break; - } - case 74: case 115: { - $88 = $n; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (_i64Add(($90|0),($93|0),50,0)|0); - $95 = tempRet0; - $96 = $n; - $97 = $96; - HEAP32[$97>>2] = $94; - $98 = (($96) + 4)|0; - $99 = $98; - HEAP32[$99>>2] = $95; - break; - } - default: { - label = 44; - break L10; - } - } - $100 = HEAP32[$i>>2]|0; - $101 = (($100) + 1)|0; - HEAP32[$i>>2] = $101; + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$4>>2] = $52; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)!=(0|0); + if ($56) { + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + FUNCTION_TABLE_vi[$59 & 255]($62); } - $102 = HEAP32[$i>>2]|0; - $103 = (($102) + 1)|0; - HEAP32[$i>>2] = $103; - $104 = $n; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (_i64Add(($106|0),($109|0),1,0)|0); - $111 = tempRet0; - $112 = $n; - $113 = $112; - HEAP32[$113>>2] = $110; - $114 = (($112) + 4)|0; - $115 = $114; - HEAP32[$115>>2] = $111; + $63 = HEAP32[$3>>2]|0; + _sqlite3_free($63); + $64 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $64; } - if ((label|0) == 44) { + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 92|0); + $67 = HEAP32[$66>>2]|0; + (_sqlite3_finalize($67)|0); + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 88|0); + $70 = HEAP32[$69>>2]|0; + _sqlite3_free($70); + $71 = HEAP32[$1>>2]|0; + $72 = ((($71)) + 60|0); + $73 = HEAP32[$72>>2]|0; + $74 = $73 & 16; + $75 = ($74|0)!=(0); + if (!($75)) { + $82 = HEAP32[$1>>2]|0; + $83 = ((($82)) + 24|0); + $84 = HEAP32[$1>>2]|0; + $85 = ((($84)) + 24|0); + $86 = HEAP32[$1>>2]|0; + $87 = $85; + $88 = $86; + $89 = (($87) - ($88))|0; + $90 = (120 - ($89))|0; + _memset(($83|0),0,($90|0))|0; STACKTOP = sp;return; } - $116 = $n; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = ($121>>>0)<(0); - $123 = ($118>>>0)<(100); - $124 = ($121|0)==(0); - $125 = $124 & $123; - $126 = $122 | $125; - if ($126) { - HEAP32[$z>>2] = $zBuf; - } else { - $127 = $n; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = HEAP32[$db>>2]|0; - $134 = ((($133)) + 96|0); - $135 = HEAP32[$134>>2]|0; - $136 = ($135|0)<(0); - $137 = $136 << 31 >> 31; - $138 = ($132>>>0)>($137>>>0); - $139 = ($129>>>0)>($135>>>0); - $140 = ($132|0)==($137|0); - $141 = $140 & $139; - $142 = $138 | $141; - if ($142) { - $143 = HEAP32[$0>>2]|0; - _sqlite3_result_error_toobig($143); - STACKTOP = sp;return; - } - $144 = HEAP32[$db>>2]|0; - $145 = $n; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + 4)|0; - $149 = $148; - $150 = HEAP32[$149>>2]|0; - $151 = ($147|0)<(0); - $152 = $151 << 31 >> 31; - $153 = (_sqlite3DbMallocRawNN($144,$147,$152)|0); - HEAP32[$z>>2] = $153; - $154 = HEAP32[$z>>2]|0; - $155 = ($154|0)==(0|0); - if ($155) { - $156 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($156); - STACKTOP = sp;return; - } - } - _computeJD($x); - _computeYMD_HMS($x); - HEAP32[$j>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $157 = HEAP32[$i>>2]|0; - $158 = HEAP32[$zFmt>>2]|0; - $159 = (($158) + ($157)|0); - $160 = HEAP8[$159>>0]|0; - $161 = ($160<<24>>24)!=(0); - if (!($161)) { - break; - } - $162 = HEAP32[$i>>2]|0; - $163 = HEAP32[$zFmt>>2]|0; - $164 = (($163) + ($162)|0); - $165 = HEAP8[$164>>0]|0; - $166 = $165 << 24 >> 24; - $167 = ($166|0)!=(37); - $168 = HEAP32[$i>>2]|0; - L39: do { - if ($167) { - $169 = HEAP32[$zFmt>>2]|0; - $170 = (($169) + ($168)|0); - $171 = HEAP8[$170>>0]|0; - $172 = HEAP32[$j>>2]|0; - $173 = (($172) + 1)|0; - HEAP32[$j>>2] = $173; - $174 = HEAP32[$z>>2]|0; - $175 = (($174) + ($172)|0); - HEAP8[$175>>0] = $171; - } else { - $176 = (($168) + 1)|0; - HEAP32[$i>>2] = $176; - $177 = HEAP32[$i>>2]|0; - $178 = HEAP32[$zFmt>>2]|0; - $179 = (($178) + ($177)|0); - $180 = HEAP8[$179>>0]|0; - $181 = $180 << 24 >> 24; - do { - switch ($181|0) { - case 100: { - $182 = HEAP32[$j>>2]|0; - $183 = HEAP32[$z>>2]|0; - $184 = (($183) + ($182)|0); - $185 = ((($x)) + 16|0); - $186 = HEAP32[$185>>2]|0; - HEAP32[$vararg_buffer>>2] = $186; - (_sqlite3_snprintf(3,$184,45303,$vararg_buffer)|0); - $187 = HEAP32[$j>>2]|0; - $188 = (($187) + 2)|0; - HEAP32[$j>>2] = $188; - break L39; - break; - } - case 102: { - $189 = ((($x)) + 32|0); - $190 = +HEAPF64[$189>>3]; - HEAPF64[$s>>3] = $190; - $191 = +HEAPF64[$s>>3]; - $192 = $191 > 59.999000000000002; - if ($192) { - HEAPF64[$s>>3] = 59.999000000000002; - } - $193 = HEAP32[$j>>2]|0; - $194 = HEAP32[$z>>2]|0; - $195 = (($194) + ($193)|0); - $196 = +HEAPF64[$s>>3]; - HEAPF64[$vararg_buffer1>>3] = $196; - (_sqlite3_snprintf(7,$195,45308,$vararg_buffer1)|0); - $197 = HEAP32[$j>>2]|0; - $198 = HEAP32[$z>>2]|0; - $199 = (($198) + ($197)|0); - $200 = (_sqlite3Strlen30($199)|0); - $201 = HEAP32[$j>>2]|0; - $202 = (($201) + ($200))|0; - HEAP32[$j>>2] = $202; - break L39; - break; - } - case 72: { - $203 = HEAP32[$j>>2]|0; - $204 = HEAP32[$z>>2]|0; - $205 = (($204) + ($203)|0); - $206 = ((($x)) + 20|0); - $207 = HEAP32[$206>>2]|0; - HEAP32[$vararg_buffer4>>2] = $207; - (_sqlite3_snprintf(3,$205,45303,$vararg_buffer4)|0); - $208 = HEAP32[$j>>2]|0; - $209 = (($208) + 2)|0; - HEAP32[$j>>2] = $209; - break L39; - break; - } - case 106: case 87: { - dest=$y; src=$x; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $210 = ((($y)) + 42|0); - HEAP8[$210>>0] = 0; - $211 = ((($y)) + 12|0); - HEAP32[$211>>2] = 1; - $212 = ((($y)) + 16|0); - HEAP32[$212>>2] = 1; - _computeJD($y); - $213 = $x; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (($213) + 4)|0; - $217 = $216; - $218 = HEAP32[$217>>2]|0; - $219 = $y; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = (($219) + 4)|0; - $223 = $222; - $224 = HEAP32[$223>>2]|0; - $225 = (_i64Subtract(($215|0),($218|0),($221|0),($224|0))|0); - $226 = tempRet0; - $227 = (_i64Add(($225|0),($226|0),43200000,0)|0); - $228 = tempRet0; - $229 = (___divdi3(($227|0),($228|0),86400000,0)|0); - $230 = tempRet0; - HEAP32[$nDay>>2] = $229; - $231 = HEAP32[$i>>2]|0; - $232 = HEAP32[$zFmt>>2]|0; - $233 = (($232) + ($231)|0); - $234 = HEAP8[$233>>0]|0; - $235 = $234 << 24 >> 24; - $236 = ($235|0)==(87); - if ($236) { - $237 = $x; - $238 = $237; - $239 = HEAP32[$238>>2]|0; - $240 = (($237) + 4)|0; - $241 = $240; - $242 = HEAP32[$241>>2]|0; - $243 = (_i64Add(($239|0),($242|0),43200000,0)|0); - $244 = tempRet0; - $245 = (___divdi3(($243|0),($244|0),86400000,0)|0); - $246 = tempRet0; - $247 = (___remdi3(($245|0),($246|0),7,0)|0); - $248 = tempRet0; - HEAP32[$wd>>2] = $247; - $249 = HEAP32[$j>>2]|0; - $250 = HEAP32[$z>>2]|0; - $251 = (($250) + ($249)|0); - $252 = HEAP32[$nDay>>2]|0; - $253 = (($252) + 7)|0; - $254 = HEAP32[$wd>>2]|0; - $255 = (($253) - ($254))|0; - $256 = (($255|0) / 7)&-1; - HEAP32[$vararg_buffer7>>2] = $256; - (_sqlite3_snprintf(3,$251,45303,$vararg_buffer7)|0); - $257 = HEAP32[$j>>2]|0; - $258 = (($257) + 2)|0; - HEAP32[$j>>2] = $258; - break L39; - } else { - $259 = HEAP32[$j>>2]|0; - $260 = HEAP32[$z>>2]|0; - $261 = (($260) + ($259)|0); - $262 = HEAP32[$nDay>>2]|0; - $263 = (($262) + 1)|0; - HEAP32[$vararg_buffer10>>2] = $263; - (_sqlite3_snprintf(4,$261,45315,$vararg_buffer10)|0); - $264 = HEAP32[$j>>2]|0; - $265 = (($264) + 3)|0; - HEAP32[$j>>2] = $265; - break L39; - } - break; - } - case 74: { - $266 = HEAP32[$j>>2]|0; - $267 = HEAP32[$z>>2]|0; - $268 = (($267) + ($266)|0); - $269 = $x; - $270 = $269; - $271 = HEAP32[$270>>2]|0; - $272 = (($269) + 4)|0; - $273 = $272; - $274 = HEAP32[$273>>2]|0; - $275 = (+($271>>>0)) + (4294967296.0*(+($274|0))); - $276 = $275 / 8.64E+7; - HEAPF64[$vararg_buffer13>>3] = $276; - (_sqlite3_snprintf(20,$268,41946,$vararg_buffer13)|0); - $277 = HEAP32[$j>>2]|0; - $278 = HEAP32[$z>>2]|0; - $279 = (($278) + ($277)|0); - $280 = (_sqlite3Strlen30($279)|0); - $281 = HEAP32[$j>>2]|0; - $282 = (($281) + ($280))|0; - HEAP32[$j>>2] = $282; - break L39; - break; - } - case 109: { - $283 = HEAP32[$j>>2]|0; - $284 = HEAP32[$z>>2]|0; - $285 = (($284) + ($283)|0); - $286 = ((($x)) + 12|0); - $287 = HEAP32[$286>>2]|0; - HEAP32[$vararg_buffer16>>2] = $287; - (_sqlite3_snprintf(3,$285,45303,$vararg_buffer16)|0); - $288 = HEAP32[$j>>2]|0; - $289 = (($288) + 2)|0; - HEAP32[$j>>2] = $289; - break L39; - break; - } - case 77: { - $290 = HEAP32[$j>>2]|0; - $291 = HEAP32[$z>>2]|0; - $292 = (($291) + ($290)|0); - $293 = ((($x)) + 24|0); - $294 = HEAP32[$293>>2]|0; - HEAP32[$vararg_buffer19>>2] = $294; - (_sqlite3_snprintf(3,$292,45303,$vararg_buffer19)|0); - $295 = HEAP32[$j>>2]|0; - $296 = (($295) + 2)|0; - HEAP32[$j>>2] = $296; - break L39; - break; - } - case 115: { - $297 = HEAP32[$j>>2]|0; - $298 = HEAP32[$z>>2]|0; - $299 = (($298) + ($297)|0); - $300 = $x; - $301 = $300; - $302 = HEAP32[$301>>2]|0; - $303 = (($300) + 4)|0; - $304 = $303; - $305 = HEAP32[$304>>2]|0; - $306 = (___divdi3(($302|0),($305|0),1000,0)|0); - $307 = tempRet0; - $308 = (_i64Subtract(($306|0),($307|0),413362496,49)|0); - $309 = tempRet0; - $310 = $vararg_buffer22; - $311 = $310; - HEAP32[$311>>2] = $308; - $312 = (($310) + 4)|0; - $313 = $312; - HEAP32[$313>>2] = $309; - (_sqlite3_snprintf(30,$299,28266,$vararg_buffer22)|0); - $314 = HEAP32[$j>>2]|0; - $315 = HEAP32[$z>>2]|0; - $316 = (($315) + ($314)|0); - $317 = (_sqlite3Strlen30($316)|0); - $318 = HEAP32[$j>>2]|0; - $319 = (($318) + ($317))|0; - HEAP32[$j>>2] = $319; - break L39; - break; - } - case 83: { - $320 = HEAP32[$j>>2]|0; - $321 = HEAP32[$z>>2]|0; - $322 = (($321) + ($320)|0); - $323 = ((($x)) + 32|0); - $324 = +HEAPF64[$323>>3]; - $325 = (~~(($324))); - HEAP32[$vararg_buffer25>>2] = $325; - (_sqlite3_snprintf(3,$322,45303,$vararg_buffer25)|0); - $326 = HEAP32[$j>>2]|0; - $327 = (($326) + 2)|0; - HEAP32[$j>>2] = $327; - break L39; - break; - } - case 119: { - $328 = $x; - $329 = $328; - $330 = HEAP32[$329>>2]|0; - $331 = (($328) + 4)|0; - $332 = $331; - $333 = HEAP32[$332>>2]|0; - $334 = (_i64Add(($330|0),($333|0),129600000,0)|0); - $335 = tempRet0; - $336 = (___divdi3(($334|0),($335|0),86400000,0)|0); - $337 = tempRet0; - $338 = (___remdi3(($336|0),($337|0),7,0)|0); - $339 = tempRet0; - $340 = $338&255; - $341 = $340 << 24 >> 24; - $342 = (($341) + 48)|0; - $343 = $342&255; - $344 = HEAP32[$j>>2]|0; - $345 = (($344) + 1)|0; - HEAP32[$j>>2] = $345; - $346 = HEAP32[$z>>2]|0; - $347 = (($346) + ($344)|0); - HEAP8[$347>>0] = $343; - break L39; - break; - } - case 89: { - $348 = HEAP32[$j>>2]|0; - $349 = HEAP32[$z>>2]|0; - $350 = (($349) + ($348)|0); - $351 = ((($x)) + 8|0); - $352 = HEAP32[$351>>2]|0; - HEAP32[$vararg_buffer28>>2] = $352; - (_sqlite3_snprintf(5,$350,45320,$vararg_buffer28)|0); - $353 = HEAP32[$j>>2]|0; - $354 = HEAP32[$z>>2]|0; - $355 = (($354) + ($353)|0); - $356 = (_sqlite3Strlen30($355)|0); - $357 = HEAP32[$j>>2]|0; - $358 = (($357) + ($356))|0; - HEAP32[$j>>2] = $358; - break L39; - break; - } - default: { - $359 = HEAP32[$j>>2]|0; - $360 = (($359) + 1)|0; - HEAP32[$j>>2] = $360; - $361 = HEAP32[$z>>2]|0; - $362 = (($361) + ($359)|0); - HEAP8[$362>>0] = 37; - break L39; - } - } - } while(0); - } - } while(0); - $363 = HEAP32[$i>>2]|0; - $364 = (($363) + 1)|0; - HEAP32[$i>>2] = $364; - } - $365 = HEAP32[$j>>2]|0; - $366 = HEAP32[$z>>2]|0; - $367 = (($366) + ($365)|0); - HEAP8[$367>>0] = 0; - $368 = HEAP32[$0>>2]|0; - $369 = HEAP32[$z>>2]|0; - $370 = HEAP32[$z>>2]|0; - $371 = ($370|0)==($zBuf|0); - $372 = $371 ? (-1) : 170; - _sqlite3_result_text($368,$369,-1,$372); - STACKTOP = sp;return; -} -function _ctimeFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - _timeFunc($3,0,0); - STACKTOP = sp;return; -} -function _ctimestampFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - _datetimeFunc($3,0,0); + $76 = HEAP32[$1>>2]|0; + $77 = ((($76)) + 72|0); + $78 = HEAP32[$77>>2]|0; + _sqlite3_free($78); + $79 = HEAP32[$1>>2]|0; + $80 = ((($79)) + 76|0); + $81 = HEAP32[$80>>2]|0; + _sqlite3_free($81); + $82 = HEAP32[$1>>2]|0; + $83 = ((($82)) + 24|0); + $84 = HEAP32[$1>>2]|0; + $85 = ((($84)) + 24|0); + $86 = HEAP32[$1>>2]|0; + $87 = $85; + $88 = $86; + $89 = (($87) - ($88))|0; + $90 = (120 - ($89))|0; + _memset(($83|0),0,($90|0))|0; STACKTOP = sp;return; } -function _cdateFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _fts5GetRowidLimit($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - _dateFunc($3,0,0); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $3 = sp + 8|0; + $4 = sp + 20|0; + $5 = sp; + $6 = sp + 16|0; + HEAP32[$4>>2] = $0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $2; + $11 = HEAP32[$4>>2]|0; + $12 = ($11|0)!=(0|0); + if ($12) { + $13 = HEAP32[$4>>2]|0; + $14 = (_sqlite3_value_numeric_type($13)|0); + HEAP32[$6>>2] = $14; + $15 = HEAP32[$6>>2]|0; + $16 = ($15|0)==(1); + if ($16) { + $17 = HEAP32[$4>>2]|0; + $18 = (_sqlite3_value_int64($17)|0); + $19 = tempRet0; + $20 = $3; + $21 = $20; + HEAP32[$21>>2] = $18; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; + $34 = $3; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + tempRet0 = ($39); + STACKTOP = sp;return ($36|0); + } + } + $24 = $5; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $3; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $34 = $3; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + tempRet0 = ($39); + STACKTOP = sp;return ($36|0); } -function _isDate($context,$argc,$argv,$p) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eType = 0, $i = 0, $or$cond = 0; - var $z = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _fts5CursorParseRank($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $$sink2 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $i = sp + 8|0; - $z = sp + 4|0; - $eType = sp; - HEAP32[$1>>2] = $context; - HEAP32[$2>>2] = $argc; - HEAP32[$3>>2] = $argv; - HEAP32[$4>>2] = $p; - $5 = HEAP32[$4>>2]|0; - dest=$5; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_setDateTimeToCurrent($8,$9)|0); - HEAP32[$0>>2] = $10; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); - } - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3_value_type($12)|0); - HEAP32[$eType>>2] = $13; - $14 = ($13|0)==(2); - $15 = HEAP32[$eType>>2]|0; - $16 = ($15|0)==(1); - $or$cond = $14 | $16; - $17 = HEAP32[$3>>2]|0; - $18 = HEAP32[$17>>2]|0; - do { - if ($or$cond) { - $19 = (+_sqlite3_value_double($18)); - $20 = $19 * 8.64E+7; - $21 = $20 + 0.5; - $22 = (~~$21)>>>0; - $23 = +Math_abs($21) >= 1.0 ? $21 > 0.0 ? (~~+Math_min(+Math_floor($21 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($21 - +(~~$21 >>> 0)) / 4294967296.0) >>> 0 : 0; - $24 = HEAP32[$4>>2]|0; - $25 = $24; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $23; - $29 = HEAP32[$4>>2]|0; - $30 = ((($29)) + 42|0); - HEAP8[$30>>0] = 1; + $vararg_buffer = sp; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + $40 = HEAP32[$3>>2]|0; + $41 = ((($40)) + 88|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 88|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 72|0); + HEAP32[$48>>2] = $46; + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 92|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$4>>2]|0; + $$sink = $51;$$sink2 = $52; } else { - $31 = (_sqlite3_value_text($18)|0); - HEAP32[$z>>2] = $31; - $32 = HEAP32[$z>>2]|0; - $33 = ($32|0)!=(0|0); - if ($33) { - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$z>>2]|0; - $36 = HEAP32[$4>>2]|0; - $37 = (_parseDateOrTime($34,$35,$36)|0); - $38 = ($37|0)!=(0); - if (!($38)) { - break; - } - } - HEAP32[$0>>2] = 1; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); + $53 = HEAP32[$4>>2]|0; + $54 = ((($53)) + 72|0); + HEAP32[$54>>2] = 48951; + $55 = HEAP32[$4>>2]|0; + $$sink = 0;$$sink2 = $55; + } + $56 = ((($$sink2)) + 76|0); + HEAP32[$56>>2] = $$sink; + $57 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($57|0); + } + $12 = HEAP32[$5>>2]|0; + $13 = (_sqlite3_value_text($12)|0); + HEAP32[$7>>2] = $13; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $14 = HEAP32[$7>>2]|0; + $15 = ($14|0)==(0|0); + if ($15) { + $16 = HEAP32[$5>>2]|0; + $17 = (_sqlite3_value_type($16)|0); + $18 = ($17|0)==(5); + if ($18) { + HEAP32[$6>>2] = 1; } - } while(0); - HEAP32[$i>>2] = 1; + } else { + $19 = HEAP32[$7>>2]|0; + $20 = (_sqlite3Fts5ConfigParseRank($19,$8,$9)|0); + HEAP32[$6>>2] = $20; + } + $21 = HEAP32[$6>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $23 = HEAP32[$8>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 72|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$9>>2]|0; + $27 = HEAP32[$4>>2]|0; + $28 = ((($27)) + 76|0); + HEAP32[$28>>2] = $26; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 60|0); + $31 = HEAP32[$30>>2]|0; + $32 = $31 | 16; + HEAP32[$30>>2] = $32; + $57 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($57|0); + } + $33 = HEAP32[$6>>2]|0; + $34 = ($33|0)==(1); + if (!($34)) { + $57 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($57|0); + } + $35 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $35; + $36 = (_sqlite3_mprintf(51981,$vararg_buffer)|0); + $37 = HEAP32[$4>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = ((($38)) + 8|0); + HEAP32[$39>>2] = $36; + $57 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($57|0); +} +function _fts5SpecialMatch($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + $9 = HEAP32[$5>>2]|0; + HEAP32[$7>>2] = $9; while(1) { - $39 = HEAP32[$i>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = ($39|0)<($40|0); - if (!($41)) { - label = 14; + $10 = HEAP32[$7>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)==(32); + if (!($13)) { break; } - $42 = HEAP32[$i>>2]|0; - $43 = HEAP32[$3>>2]|0; - $44 = (($43) + ($42<<2)|0); - $45 = HEAP32[$44>>2]|0; - $46 = (_sqlite3_value_text($45)|0); - HEAP32[$z>>2] = $46; - $47 = HEAP32[$z>>2]|0; - $48 = ($47|0)==(0|0); - if ($48) { - label = 12; + $14 = HEAP32[$7>>2]|0; + $15 = ((($14)) + 1|0); + HEAP32[$7>>2] = $15; + } + HEAP32[$8>>2] = 0; + while(1) { + $16 = HEAP32[$7>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = (($16) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19 << 24 >> 24; + $21 = ($20|0)!=(0); + if (!($21)) { break; } - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$z>>2]|0; - $51 = HEAP32[$4>>2]|0; - $52 = (_parseModifier($49,$50,$51)|0); - $53 = ($52|0)!=(0); - if ($53) { - label = 12; + $22 = HEAP32[$7>>2]|0; + $23 = HEAP32[$8>>2]|0; + $24 = (($22) + ($23)|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25 << 24 >> 24; + $27 = ($26|0)!=(32); + if (!($27)) { break; } - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; + $28 = HEAP32[$8>>2]|0; + $29 = (($28) + 1)|0; + HEAP32[$8>>2] = $29; } - if ((label|0) == 12) { - HEAP32[$0>>2] = 1; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); + $30 = HEAP32[$4>>2]|0; + $31 = ((($30)) + 24|0); + HEAP32[$31>>2] = 3; + $32 = HEAP32[$7>>2]|0; + $33 = HEAP32[$8>>2]|0; + $34 = (_sqlite3_strnicmp(51947,$32,$33)|0); + $35 = (0)==($34|0); + if ($35) { + $36 = HEAP32[$3>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3Fts5IndexReads($38)|0); + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = HEAP32[$4>>2]|0; + $43 = ((($42)) + 64|0); + $44 = $43; + $45 = $44; + HEAP32[$45>>2] = $39; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $41; + $71 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($71|0); } - else if ((label|0) == 14) { - HEAP32[$0>>2] = 0; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); + $48 = HEAP32[$7>>2]|0; + $49 = HEAP32[$8>>2]|0; + $50 = (_sqlite3_strnicmp(32512,$48,$49)|0); + $51 = (0)==($50|0); + if ($51) { + $52 = HEAP32[$4>>2]|0; + $53 = ((($52)) + 16|0); + $54 = $53; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 64|0); + $62 = $61; + $63 = $62; + HEAP32[$63>>2] = $56; + $64 = (($62) + 4)|0; + $65 = $64; + HEAP32[$65>>2] = $59; + $71 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($71|0); + } else { + $66 = HEAP32[$8>>2]|0; + $67 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $66; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $67; + $68 = (_sqlite3_mprintf(51953,$vararg_buffer)|0); + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 8|0); + HEAP32[$70>>2] = $68; + HEAP32[$6>>2] = 1; + $71 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($71|0); } return (0)|0; } -function _computeJD($p) { - $p = $p|0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $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.0, $47 = 0.0, $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; - 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.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $A = 0, $B = 0, $D = 0, $M = 0, $X1 = 0, $X2 = 0, $Y = 0, label = 0, sp = 0; +function _fts5CursorFirstSorted($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $Y = sp + 24|0; - $M = sp + 20|0; - $D = sp + 16|0; - $A = sp + 12|0; - $B = sp + 8|0; - $X1 = sp + 4|0; - $X2 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 42|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if ($4) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer = sp; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + $14 = HEAP32[$4>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$7>>2] = $16; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 72|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$12>>2] = $19; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 76|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$13>>2] = $22; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 52|0); + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3Fts5ExprPhraseCount($25)|0); + HEAP32[$9>>2] = $26; + $27 = HEAP32[$9>>2]|0; + $28 = (($27) - 1)|0; + $29 = $28<<2; + $30 = (32 + ($29))|0; + HEAP32[$10>>2] = $30; + $31 = HEAP32[$10>>2]|0; + $32 = (_sqlite3_malloc($31)|0); + HEAP32[$8>>2] = $32; + $33 = HEAP32[$8>>2]|0; + $34 = ($33|0)==(0|0); + if ($34) { + HEAP32[$3>>2] = 7; + $83 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($83|0); } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 40|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$Y>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 12|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$M>>2] = $14; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 16|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$D>>2] = $17; - } else { - HEAP32[$Y>>2] = 2000; - HEAP32[$M>>2] = 1; - HEAP32[$D>>2] = 1; + $35 = HEAP32[$8>>2]|0; + $36 = HEAP32[$10>>2]|0; + _memset(($35|0),0,($36|0))|0; + $37 = HEAP32[$9>>2]|0; + $38 = HEAP32[$8>>2]|0; + $39 = ((($38)) + 20|0); + HEAP32[$39>>2] = $37; + $40 = HEAP32[$8>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$7>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$7>>2]|0; + $46 = ((($45)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$12>>2]|0; + $49 = HEAP32[$7>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$13>>2]|0; + $53 = ($52|0)!=(0|0); + $54 = $53 ? 30358 : 55752; + $55 = HEAP32[$13>>2]|0; + $56 = ($55|0)!=(0|0); + $57 = HEAP32[$13>>2]|0; + $58 = $56 ? $57 : 55752; + $59 = HEAP32[$6>>2]|0; + $60 = ($59|0)!=(0); + $61 = $60 ? 45749 : 45754; + HEAP32[$vararg_buffer>>2] = $44; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $47; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $48; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $51; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $54; + $vararg_ptr5 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr5>>2] = $58; + $vararg_ptr6 = ((($vararg_buffer)) + 24|0); + HEAP32[$vararg_ptr6>>2] = $61; + $62 = (_fts5PrepareStatement($40,$41,51894,$vararg_buffer)|0); + HEAP32[$11>>2] = $62; + $63 = HEAP32[$8>>2]|0; + $64 = HEAP32[$5>>2]|0; + $65 = ((($64)) + 56|0); + HEAP32[$65>>2] = $63; + $66 = HEAP32[$11>>2]|0; + $67 = ($66|0)==(0); + if ($67) { + $68 = HEAP32[$5>>2]|0; + $69 = HEAP32[$4>>2]|0; + $70 = ((($69)) + 28|0); + HEAP32[$70>>2] = $68; + $71 = HEAP32[$5>>2]|0; + $72 = (_fts5SorterNext($71)|0); + HEAP32[$11>>2] = $72; + $73 = HEAP32[$4>>2]|0; + $74 = ((($73)) + 28|0); + HEAP32[$74>>2] = 0; } - $18 = HEAP32[$M>>2]|0; - $19 = ($18|0)<=(2); - if ($19) { - $20 = HEAP32[$Y>>2]|0; - $21 = (($20) + -1)|0; - HEAP32[$Y>>2] = $21; - $22 = HEAP32[$M>>2]|0; - $23 = (($22) + 12)|0; - HEAP32[$M>>2] = $23; - } - $24 = HEAP32[$Y>>2]|0; - $25 = (($24|0) / 100)&-1; - HEAP32[$A>>2] = $25; - $26 = HEAP32[$A>>2]|0; - $27 = (2 - ($26))|0; - $28 = HEAP32[$A>>2]|0; - $29 = (($28|0) / 4)&-1; - $30 = (($27) + ($29))|0; - HEAP32[$B>>2] = $30; - $31 = HEAP32[$Y>>2]|0; - $32 = (($31) + 4716)|0; - $33 = ($32*36525)|0; - $34 = (($33|0) / 100)&-1; - HEAP32[$X1>>2] = $34; - $35 = HEAP32[$M>>2]|0; - $36 = (($35) + 1)|0; - $37 = ($36*306001)|0; - $38 = (($37|0) / 10000)&-1; - HEAP32[$X2>>2] = $38; - $39 = HEAP32[$X1>>2]|0; - $40 = HEAP32[$X2>>2]|0; - $41 = (($39) + ($40))|0; - $42 = HEAP32[$D>>2]|0; - $43 = (($41) + ($42))|0; - $44 = HEAP32[$B>>2]|0; - $45 = (($43) + ($44))|0; - $46 = (+($45|0)); - $47 = $46 - 1524.5; - $48 = $47 * 8.64E+7; - $49 = (~~$48)>>>0; - $50 = +Math_abs($48) >= 1.0 ? $48 > 0.0 ? (~~+Math_min(+Math_floor($48 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($48 - +(~~$48 >>> 0)) / 4294967296.0) >>> 0 : 0; - $51 = HEAP32[$0>>2]|0; - $52 = $51; - $53 = $52; - HEAP32[$53>>2] = $49; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = $50; - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 42|0); - HEAP8[$57>>0] = 1; - $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 41|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)!=(0); - if (!($61)) { - STACKTOP = sp;return; + $75 = HEAP32[$11>>2]|0; + $76 = ($75|0)!=(0); + if ($76) { + $77 = HEAP32[$8>>2]|0; + $78 = HEAP32[$77>>2]|0; + (_sqlite3_finalize($78)|0); + $79 = HEAP32[$8>>2]|0; + _sqlite3_free($79); + $80 = HEAP32[$5>>2]|0; + $81 = ((($80)) + 56|0); + HEAP32[$81>>2] = 0; } - $62 = HEAP32[$0>>2]|0; - $63 = ((($62)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = Math_imul($64, 3600000)|0; - $66 = HEAP32[$0>>2]|0; - $67 = ((($66)) + 24|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($68*60000)|0; - $70 = (($65) + ($69))|0; - $71 = ($70|0)<(0); - $72 = $71 << 31 >> 31; - $73 = HEAP32[$0>>2]|0; - $74 = ((($73)) + 32|0); - $75 = +HEAPF64[$74>>3]; - $76 = $75 * 1000.0; - $77 = (~~$76)>>>0; - $78 = +Math_abs($76) >= 1.0 ? $76 > 0.0 ? (~~+Math_min(+Math_floor($76 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($76 - +(~~$76 >>> 0)) / 4294967296.0) >>> 0 : 0; - $79 = (_i64Add(($70|0),($72|0),($77|0),($78|0))|0); - $80 = tempRet0; - $81 = HEAP32[$0>>2]|0; - $82 = $81; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (($82) + 4)|0; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (_i64Add(($84|0),($87|0),($79|0),($80|0))|0); - $89 = tempRet0; - $90 = $81; - $91 = $90; - HEAP32[$91>>2] = $88; - $92 = (($90) + 4)|0; - $93 = $92; - HEAP32[$93>>2] = $89; - $94 = HEAP32[$0>>2]|0; - $95 = ((($94)) + 43|0); - $96 = HEAP8[$95>>0]|0; - $97 = ($96<<24>>24)!=(0); - if (!($97)) { - STACKTOP = sp;return; + $82 = HEAP32[$11>>2]|0; + HEAP32[$3>>2] = $82; + $83 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($83|0); +} +function _fts5PrepareStatement($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|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, $4 = 0, $5 = 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 + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = sp + 32|0; + $7 = sp + 28|0; + $8 = sp + 24|0; + $9 = sp + 8|0; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + HEAP32[$6>>2] = 0; + HEAP32[$9>>2] = $varargs; + $10 = HEAP32[$5>>2]|0; + $11 = (_sqlite3_vmprintf($10,$9)|0); + HEAP32[$8>>2] = $11; + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)==(0|0); + if ($13) { + HEAP32[$7>>2] = 7; + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$3>>2]|0; + HEAP32[$29>>2] = $28; + $30 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($30|0); + } + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$8>>2]|0; + $17 = (_sqlite3_prepare_v2($15,$16,-1,$6,0)|0); + HEAP32[$7>>2] = $17; + $18 = HEAP32[$7>>2]|0; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = (_sqlite3_errmsg($21)|0); + HEAP32[$vararg_buffer>>2] = $22; + $23 = (_sqlite3_mprintf(21240,$vararg_buffer)|0); + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 96|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$26>>2] = $23; } - $98 = HEAP32[$0>>2]|0; - $99 = ((($98)) + 28|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100*60000)|0; - $102 = ($101|0)<(0); - $103 = $102 << 31 >> 31; - $104 = HEAP32[$0>>2]|0; - $105 = $104; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (_i64Subtract(($107|0),($110|0),($101|0),($103|0))|0); - $112 = tempRet0; - $113 = $104; - $114 = $113; - HEAP32[$114>>2] = $111; - $115 = (($113) + 4)|0; - $116 = $115; - HEAP32[$116>>2] = $112; - $117 = HEAP32[$0>>2]|0; - $118 = ((($117)) + 40|0); - HEAP8[$118>>0] = 0; - $119 = HEAP32[$0>>2]|0; - $120 = ((($119)) + 41|0); - HEAP8[$120>>0] = 0; - $121 = HEAP32[$0>>2]|0; - $122 = ((($121)) + 43|0); - HEAP8[$122>>0] = 0; - STACKTOP = sp;return; + $27 = HEAP32[$8>>2]|0; + _sqlite3_free($27); + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$3>>2]|0; + HEAP32[$29>>2] = $28; + $30 = HEAP32[$7>>2]|0; + STACKTOP = sp;return ($30|0); } -function _computeYMD_HMS($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexReads($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _computeYMD($1); - $2 = HEAP32[$0>>2]|0; - _computeHMS($2); - STACKTOP = sp;return; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 64|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); } -function _computeYMD($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.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.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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, $A = 0, $B = 0, $C = 0, $D = 0, $E = 0, $X1 = 0, $Z = 0, label = 0, sp = 0; +function _sqlite3Fts5StorageStmtRelease($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; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $Z = sp + 24|0; - $A = sp + 20|0; - $B = sp + 16|0; - $C = sp + 12|0; - $D = sp + 8|0; - $E = sp + 4|0; - $X1 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 40|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if ($4) { + STACKTOP = STACKTOP + 16|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$3>>2] = $0; + HEAP32[$4>>2] = $1; + HEAP32[$5>>2] = $2; + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 28|0); + $8 = HEAP32[$4>>2]|0; + $9 = (($7) + ($8<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = HEAP32[$5>>2]|0; + if ($11) { + (_sqlite3_reset($12)|0); + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 28|0); + $16 = HEAP32[$4>>2]|0; + $17 = (($15) + ($16<<2)|0); + HEAP32[$17>>2] = $13; STACKTOP = sp;return; - } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 42|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - $9 = HEAP32[$0>>2]|0; - if ($8) { - $15 = $9; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (_i64Add(($17|0),($20|0),43200000,0)|0); - $22 = tempRet0; - $23 = (___divdi3(($21|0),($22|0),86400000,0)|0); - $24 = tempRet0; - HEAP32[$Z>>2] = $23; - $25 = HEAP32[$Z>>2]|0; - $26 = (+($25|0)); - $27 = $26 - 1867216.25; - $28 = $27 / 36524.25; - $29 = (~~(($28))); - HEAP32[$A>>2] = $29; - $30 = HEAP32[$Z>>2]|0; - $31 = (($30) + 1)|0; - $32 = HEAP32[$A>>2]|0; - $33 = (($31) + ($32))|0; - $34 = HEAP32[$A>>2]|0; - $35 = (($34|0) / 4)&-1; - $36 = (($33) - ($35))|0; - HEAP32[$A>>2] = $36; - $37 = HEAP32[$A>>2]|0; - $38 = (($37) + 1524)|0; - HEAP32[$B>>2] = $38; - $39 = HEAP32[$B>>2]|0; - $40 = (+($39|0)); - $41 = $40 - 122.09999999999999; - $42 = $41 / 365.25; - $43 = (~~(($42))); - HEAP32[$C>>2] = $43; - $44 = HEAP32[$C>>2]|0; - $45 = $44 & 32767; - $46 = ($45*36525)|0; - $47 = (($46|0) / 100)&-1; - HEAP32[$D>>2] = $47; - $48 = HEAP32[$B>>2]|0; - $49 = HEAP32[$D>>2]|0; - $50 = (($48) - ($49))|0; - $51 = (+($50|0)); - $52 = $51 / 30.600100000000001; - $53 = (~~(($52))); - HEAP32[$E>>2] = $53; - $54 = HEAP32[$E>>2]|0; - $55 = (+($54|0)); - $56 = 30.600100000000001 * $55; - $57 = (~~(($56))); - HEAP32[$X1>>2] = $57; - $58 = HEAP32[$B>>2]|0; - $59 = HEAP32[$D>>2]|0; - $60 = (($58) - ($59))|0; - $61 = HEAP32[$X1>>2]|0; - $62 = (($60) - ($61))|0; - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 16|0); - HEAP32[$64>>2] = $62; - $65 = HEAP32[$E>>2]|0; - $66 = ($65|0)<(14); - $67 = HEAP32[$E>>2]|0; - $68 = (($67) - 1)|0; - $69 = (($67) - 13)|0; - $70 = $66 ? $68 : $69; - $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 12|0); - HEAP32[$72>>2] = $70; - $73 = HEAP32[$0>>2]|0; - $74 = ((($73)) + 12|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)>(2); - $77 = HEAP32[$C>>2]|0; - $78 = (($77) - 4716)|0; - $79 = (($77) - 4715)|0; - $80 = $76 ? $78 : $79; - $81 = HEAP32[$0>>2]|0; - $82 = ((($81)) + 8|0); - HEAP32[$82>>2] = $80; } else { - $10 = ((($9)) + 8|0); - HEAP32[$10>>2] = 2000; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 12|0); - HEAP32[$12>>2] = 1; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 16|0); - HEAP32[$14>>2] = 1; + (_sqlite3_finalize($12)|0); + STACKTOP = sp;return; } - $83 = HEAP32[$0>>2]|0; - $84 = ((($83)) + 40|0); - HEAP8[$84>>0] = 1; - STACKTOP = sp;return; } -function _computeHMS($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0; - var $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $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; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $s = 0; - var label = 0, sp = 0; +function _sqlite3Fts5DropAll($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer = sp; + $1 = sp + 44|0; + $2 = sp + 40|0; + HEAP32[$1>>2] = $0; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$vararg_buffer>>2] = $7; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $10; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $16; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $19; + $vararg_ptr5 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr5>>2] = $22; + $23 = (_fts5ExecPrintf($4,0,52014,$vararg_buffer)|0); + HEAP32[$2>>2] = $23; + $24 = HEAP32[$2>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 44|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$1>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$1>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$vararg_buffer6>>2] = $34; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $37; + $38 = (_fts5ExecPrintf($31,0,52118,$vararg_buffer6)|0); + HEAP32[$2>>2] = $38; + } + } + $39 = HEAP32[$2>>2]|0; + $40 = ($39|0)==(0); + if (!($40)) { + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); + } + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 32|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)==(0); + if (!($44)) { + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); + } + $45 = HEAP32[$1>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$1>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$vararg_buffer10>>2] = $49; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $52; + $53 = (_fts5ExecPrintf($46,0,52156,$vararg_buffer10)|0); + HEAP32[$2>>2] = $53; + $54 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($54|0); +} +function _fts5FreeVtab($0) { + $0 = $0|0; + var $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, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $s = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 41|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if ($4) { + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { STACKTOP = sp;return; } - $5 = HEAP32[$0>>2]|0; - _computeJD($5); - $6 = HEAP32[$0>>2]|0; - $7 = $6; - $8 = $7; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 16|0); + $6 = HEAP32[$5>>2]|0; + (_sqlite3Fts5IndexClose($6)|0); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 20|0); $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; + (_sqlite3Fts5StorageClose($9)|0); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 12|0); $12 = HEAP32[$11>>2]|0; - $13 = (_i64Add(($9|0),($12|0),43200000,0)|0); - $14 = tempRet0; - $15 = (___remdi3(($13|0),($14|0),86400000,0)|0); - $16 = tempRet0; - HEAP32[$s>>2] = $15; - $17 = HEAP32[$s>>2]|0; - $18 = (+($17|0)); - $19 = $18 / 1000.0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 32|0); - HEAPF64[$21>>3] = $19; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 32|0); - $24 = +HEAPF64[$23>>3]; - $25 = (~~(($24))); - HEAP32[$s>>2] = $25; - $26 = HEAP32[$s>>2]|0; - $27 = (+($26|0)); - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 32|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30 - $27; - HEAPF64[$29>>3] = $31; - $32 = HEAP32[$s>>2]|0; - $33 = (($32|0) / 3600)&-1; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 20|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 20|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38*3600)|0; - $40 = HEAP32[$s>>2]|0; - $41 = (($40) - ($39))|0; - HEAP32[$s>>2] = $41; - $42 = HEAP32[$s>>2]|0; - $43 = (($42|0) / 60)&-1; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 24|0); - HEAP32[$45>>2] = $43; - $46 = HEAP32[$s>>2]|0; - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 24|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49*60)|0; - $51 = (($46) - ($50))|0; - $52 = (+($51|0)); - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 32|0); - $55 = +HEAPF64[$54>>3]; - $56 = $55 + $52; - HEAPF64[$54>>3] = $56; - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 41|0); - HEAP8[$58>>0] = 1; + _sqlite3Fts5ConfigFree($12); + $13 = HEAP32[$1>>2]|0; + _sqlite3_free($13); STACKTOP = sp;return; } -function _setDateTimeToCurrent($context,$p) { - $context = $context|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexClose($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$1>>2] = $context; - HEAP32[$2>>2] = $p; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3StmtCurrentTime($3)|0); - $5 = tempRet0; - $6 = HEAP32[$2>>2]|0; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $4; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $5; - $11 = HEAP32[$2>>2]|0; - $12 = $11; - $13 = $12; + $4 = ($3|0)!=(0|0); + if (!($4)) { + $31 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($31|0); + } + $5 = HEAP32[$1>>2]|0; + _fts5StructureInvalidate($5); + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 44|0); + $8 = HEAP32[$7>>2]|0; + (_sqlite3_finalize($8)|0); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 48|0); + $11 = HEAP32[$10>>2]|0; + (_sqlite3_finalize($11)|0); + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 52|0); $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; + (_sqlite3_finalize($14)|0); + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 56|0); $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>(0); - $19 = ($14>>>0)>(0); - $20 = ($17|0)==(0); - $21 = $20 & $19; - $22 = $18 | $21; - if ($22) { - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 42|0); - HEAP8[$24>>0] = 1; - HEAP32[$0>>2] = 0; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } else { - HEAP32[$0>>2] = 1; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } - return (0)|0; + (_sqlite3_finalize($17)|0); + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 60|0); + $20 = HEAP32[$19>>2]|0; + (_sqlite3_finalize($20)|0); + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 68|0); + $23 = HEAP32[$22>>2]|0; + (_sqlite3_finalize($23)|0); + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + _sqlite3Fts5HashFree($26); + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_free($29); + $30 = HEAP32[$1>>2]|0; + _sqlite3_free($30); + $31 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($31|0); } -function _parseDateOrTime($context,$zDate,$p) { - $context = $context|0; - $zDate = $zDate|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $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, $r = 0, label = 0, sp = 0; +function _sqlite3Fts5StorageClose($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $r = sp; - HEAP32[$1>>2] = $context; - HEAP32[$2>>2] = $zDate; - HEAP32[$3>>2] = $p; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$3>>2]|0; - $6 = (_parseYyyyMmDd($4,$5)|0); - $7 = ($6|0)==(0); - if ($7) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$3>>2]|0; - $10 = (_parseHhMmSs($8,$9)|0); - $11 = ($10|0)==(0); - if ($11) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - $12 = HEAP32[$2>>2]|0; - $13 = (_sqlite3StrICmp($12,45445)|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = (_setDateTimeToCurrent($15,$16)|0); - HEAP32[$0>>2] = $17; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (_sqlite3Strlen30($19)|0); - $21 = (_sqlite3AtoF($18,$r,$20,1)|0); - $22 = ($21|0)!=(0); - if ($22) { - $23 = +HEAPF64[$r>>3]; - $24 = $23 * 8.64E+7; - $25 = $24 + 0.5; - $26 = (~~$25)>>>0; - $27 = +Math_abs($25) >= 1.0 ? $25 > 0.0 ? (~~+Math_min(+Math_floor($25 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($25 - +(~~$25 >>> 0)) / 4294967296.0) >>> 0 : 0; - $28 = HEAP32[$3>>2]|0; - $29 = $28; - $30 = $29; - HEAP32[$30>>2] = $26; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = HEAP32[$3>>2]|0; - $34 = ((($33)) + 42|0); - HEAP8[$34>>0] = 1; - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } else { - HEAP32[$0>>2] = 1; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $0; + HEAP32[$2>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $15 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($15|0); } - return (0)|0; -} -function _parseModifier($pCtx,$zMod,$p) { - $pCtx = $pCtx|0; - $zMod = $zMod|0; - $p = $p|0; - var $$sink = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0.0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; - var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; - var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; - var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0.0, $435 = 0, $436 = 0.0, $437 = 0, $438 = 0, $439 = 0; - var $44 = 0, $440 = 0, $441 = 0, $442 = 0.0, $443 = 0.0, $444 = 0.0, $445 = 0.0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0; - var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0.0, $467 = 0.0, $468 = 0.0, $469 = 0.0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; - var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0.0, $491 = 0.0, $492 = 0.0, $493 = 0.0; - var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0; - var $511 = 0, $512 = 0, $513 = 0, $514 = 0.0, $515 = 0.0, $516 = 0.0, $517 = 0.0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0; - var $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0.0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0; - var $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0; - var $566 = 0, $567 = 0, $568 = 0, $569 = 0.0, $57 = 0, $570 = 0, $571 = 0, $572 = 0.0, $573 = 0.0, $574 = 0, $575 = 0.0, $576 = 0, $577 = 0.0, $578 = 0.0, $579 = 0.0, $58 = 0, $580 = 0.0, $581 = 0.0, $582 = 0.0, $583 = 0; - var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0; - var $601 = 0, $602 = 0, $603 = 0.0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0.0, $616 = 0.0, $617 = 0, $618 = 0.0, $619 = 0; - var $62 = 0, $620 = 0.0, $621 = 0.0, $622 = 0.0, $623 = 0.0, $624 = 0.0, $625 = 0.0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0; - var $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $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, $Z = 0, $c1 = 0, $day = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $r = 0, $rRounder = 0, $rc = 0, $tx = 0, $x = 0, $y = 0, $y1 = 0, $z = 0; - var $z2 = 0, $zBuf = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $0 = sp + 124|0; - $1 = sp + 120|0; - $2 = sp + 116|0; - $rc = sp + 112|0; - $n = sp + 108|0; - $r = sp + 80|0; - $z = sp + 104|0; - $zBuf = sp + 128|0; - $c1 = sp + 72|0; - $Z = sp + 64|0; - $rRounder = sp + 56|0; - $z2 = sp + 100|0; - $tx = sp + 8|0; - $day = sp; - $x = sp + 96|0; - $y = sp + 92|0; - $y1 = sp + 88|0; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $zMod; - HEAP32[$2>>2] = $p; - HEAP32[$rc>>2] = 1; - HEAP32[$z>>2] = $zBuf; - HEAP32[$n>>2] = 0; + HEAP32[$3>>2] = 0; while(1) { - $3 = HEAP32[$n>>2]|0; - $4 = ($3|0)<(29); - if ($4) { - $5 = HEAP32[$n>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + ($5)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)!=(0); - $643 = $10; - } else { - $643 = 0; - } - $11 = HEAP32[$n>>2]|0; - if (!($643)) { + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)<(11); + $8 = HEAP32[$1>>2]|0; + if (!($7)) { break; } - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + ($11)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (17613 + ($15)|0); - $17 = HEAP8[$16>>0]|0; - $18 = HEAP32[$n>>2]|0; - $19 = HEAP32[$z>>2]|0; - $20 = (($19) + ($18)|0); - HEAP8[$20>>0] = $17; - $21 = HEAP32[$n>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$n>>2] = $22; - } - $23 = HEAP32[$z>>2]|0; - $24 = (($23) + ($11)|0); - HEAP8[$24>>0] = 0; - $25 = HEAP32[$z>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - switch ($27|0) { - case 108: { - $28 = HEAP32[$z>>2]|0; - $29 = (_strcmp($28,45325)|0); - $30 = ($29|0)==(0); - if (!($30)) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $31 = HEAP32[$2>>2]|0; - _computeJD($31); - $32 = HEAP32[$2>>2]|0; - $33 = HEAP32[$0>>2]|0; - $34 = (_localtimeOffset($32,$33,$rc)|0); - $35 = tempRet0; - $36 = HEAP32[$2>>2]|0; - $37 = $36; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (_i64Add(($39|0),($42|0),($34|0),($35|0))|0); - $44 = tempRet0; - $45 = $36; - $46 = $45; - HEAP32[$46>>2] = $43; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $44; - $49 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($49); - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - break; - } - case 117: { - $50 = HEAP32[$z>>2]|0; - $51 = (_strcmp($50,45335)|0); - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 42|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55 << 24 >> 24; - $57 = ($56|0)!=(0); - if ($57) { - $58 = HEAP32[$2>>2]|0; - $59 = $58; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (($59) + 4)|0; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (_i64Add(($61|0),($64|0),43200,0)|0); - $66 = tempRet0; - $67 = (___divdi3(($65|0),($66|0),86400,0)|0); - $68 = tempRet0; - $69 = (_i64Add(($67|0),($68|0),1045635584,49096)|0); - $70 = tempRet0; - $71 = HEAP32[$2>>2]|0; - $72 = $71; - $73 = $72; - HEAP32[$73>>2] = $69; - $74 = (($72) + 4)|0; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($76); - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - } - $77 = HEAP32[$z>>2]|0; - $78 = (_strcmp($77,45345)|0); - $79 = ($78|0)==(0); - if (!($79)) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $80 = HEAP32[$2>>2]|0; - $81 = ((($80)) + 44|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82 << 24 >> 24; - $84 = ($83|0)==(0); - if (!($84)) { - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $85 = HEAP32[$2>>2]|0; - _computeJD($85); - $86 = HEAP32[$2>>2]|0; - $87 = HEAP32[$0>>2]|0; - $88 = (_localtimeOffset($86,$87,$rc)|0); - $89 = tempRet0; - $90 = $c1; - $91 = $90; - HEAP32[$91>>2] = $88; - $92 = (($90) + 4)|0; - $93 = $92; - HEAP32[$93>>2] = $89; - $94 = HEAP32[$rc>>2]|0; - $95 = ($94|0)==(0); - if ($95) { - $96 = $c1; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (($96) + 4)|0; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = HEAP32[$2>>2]|0; - $103 = $102; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = (($103) + 4)|0; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (_i64Subtract(($105|0),($108|0),($98|0),($101|0))|0); - $110 = tempRet0; - $111 = $102; - $112 = $111; - HEAP32[$112>>2] = $109; - $113 = (($111) + 4)|0; - $114 = $113; - HEAP32[$114>>2] = $110; - $115 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($115); - $116 = $c1; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$2>>2]|0; - $123 = HEAP32[$0>>2]|0; - $124 = (_localtimeOffset($122,$123,$rc)|0); - $125 = tempRet0; - $126 = (_i64Subtract(($118|0),($121|0),($124|0),($125|0))|0); - $127 = tempRet0; - $128 = HEAP32[$2>>2]|0; - $129 = $128; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = (($129) + 4)|0; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (_i64Add(($131|0),($134|0),($126|0),($127|0))|0); - $136 = tempRet0; - $137 = $128; - $138 = $137; - HEAP32[$138>>2] = $135; - $139 = (($137) + 4)|0; - $140 = $139; - HEAP32[$140>>2] = $136; - } - $141 = HEAP32[$2>>2]|0; - $142 = ((($141)) + 44|0); - HEAP8[$142>>0] = 1; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - break; - } - case 119: { - $143 = HEAP32[$z>>2]|0; - $144 = (_strncmp($143,45349,8)|0); - $145 = ($144|0)==(0); - if (!($145)) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $146 = HEAP32[$z>>2]|0; - $147 = ((($146)) + 8|0); - $148 = HEAP32[$z>>2]|0; - $149 = ((($148)) + 8|0); - $150 = (_sqlite3Strlen30($149)|0); - $151 = (_sqlite3AtoF($147,$r,$150,1)|0); - $152 = ($151|0)!=(0); - if (!($152)) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $153 = +HEAPF64[$r>>3]; - $154 = (~~(($153))); - HEAP32[$n>>2] = $154; - $155 = (+($154|0)); - $156 = +HEAPF64[$r>>3]; - $157 = $155 == $156; - $158 = HEAP32[$n>>2]|0; - $159 = ($158|0)>=(0); - $or$cond = $157 & $159; - $160 = +HEAPF64[$r>>3]; - $161 = $160 < 7.0; - $or$cond3 = $or$cond & $161; - if (!($or$cond3)) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $162 = HEAP32[$2>>2]|0; - _computeYMD_HMS($162); - $163 = HEAP32[$2>>2]|0; - $164 = ((($163)) + 43|0); - HEAP8[$164>>0] = 0; - $165 = HEAP32[$2>>2]|0; - $166 = ((($165)) + 42|0); - HEAP8[$166>>0] = 0; - $167 = HEAP32[$2>>2]|0; - _computeJD($167); - $168 = HEAP32[$2>>2]|0; - $169 = $168; - $170 = $169; - $171 = HEAP32[$170>>2]|0; - $172 = (($169) + 4)|0; - $173 = $172; - $174 = HEAP32[$173>>2]|0; - $175 = (_i64Add(($171|0),($174|0),129600000,0)|0); - $176 = tempRet0; - $177 = (___divdi3(($175|0),($176|0),86400000,0)|0); - $178 = tempRet0; - $179 = (___remdi3(($177|0),($178|0),7,0)|0); - $180 = tempRet0; - $181 = $Z; - $182 = $181; - HEAP32[$182>>2] = $179; - $183 = (($181) + 4)|0; - $184 = $183; - HEAP32[$184>>2] = $180; - $185 = $Z; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = (($185) + 4)|0; - $189 = $188; - $190 = HEAP32[$189>>2]|0; - $191 = HEAP32[$n>>2]|0; - $192 = ($191|0)<(0); - $193 = $192 << 31 >> 31; - $194 = ($190|0)>($193|0); - $195 = ($187>>>0)>($191>>>0); - $196 = ($190|0)==($193|0); - $197 = $196 & $195; - $198 = $194 | $197; - if ($198) { - $199 = $Z; - $200 = $199; - $201 = HEAP32[$200>>2]|0; - $202 = (($199) + 4)|0; - $203 = $202; - $204 = HEAP32[$203>>2]|0; - $205 = (_i64Subtract(($201|0),($204|0),7,0)|0); - $206 = tempRet0; - $207 = $Z; - $208 = $207; - HEAP32[$208>>2] = $205; - $209 = (($207) + 4)|0; - $210 = $209; - HEAP32[$210>>2] = $206; - } - $211 = HEAP32[$n>>2]|0; - $212 = ($211|0)<(0); - $213 = $212 << 31 >> 31; - $214 = $Z; - $215 = $214; - $216 = HEAP32[$215>>2]|0; - $217 = (($214) + 4)|0; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = (_i64Subtract(($211|0),($213|0),($216|0),($219|0))|0); - $221 = tempRet0; - $222 = (___muldi3(($220|0),($221|0),86400000,0)|0); - $223 = tempRet0; - $224 = HEAP32[$2>>2]|0; - $225 = $224; - $226 = $225; - $227 = HEAP32[$226>>2]|0; - $228 = (($225) + 4)|0; - $229 = $228; - $230 = HEAP32[$229>>2]|0; - $231 = (_i64Add(($227|0),($230|0),($222|0),($223|0))|0); - $232 = tempRet0; - $233 = $224; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $237 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($237); - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - break; - } - case 115: { - $238 = HEAP32[$z>>2]|0; - $239 = (_strncmp($238,45358,9)|0); - $240 = ($239|0)!=(0); - if ($240) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $241 = HEAP32[$z>>2]|0; - $242 = ((($241)) + 9|0); - HEAP32[$z>>2] = $242; - $243 = HEAP32[$2>>2]|0; - _computeYMD($243); - $244 = HEAP32[$2>>2]|0; - $245 = ((($244)) + 41|0); - HEAP8[$245>>0] = 1; - $246 = HEAP32[$2>>2]|0; - $247 = ((($246)) + 24|0); - HEAP32[$247>>2] = 0; - $248 = HEAP32[$2>>2]|0; - $249 = ((($248)) + 20|0); - HEAP32[$249>>2] = 0; - $250 = HEAP32[$2>>2]|0; - $251 = ((($250)) + 32|0); - HEAPF64[$251>>3] = 0.0; - $252 = HEAP32[$2>>2]|0; - $253 = ((($252)) + 43|0); - HEAP8[$253>>0] = 0; - $254 = HEAP32[$2>>2]|0; - $255 = ((($254)) + 42|0); - HEAP8[$255>>0] = 0; - $256 = HEAP32[$z>>2]|0; - $257 = (_strcmp($256,45368)|0); - $258 = ($257|0)==(0); - if ($258) { - $259 = HEAP32[$2>>2]|0; - $260 = ((($259)) + 16|0); - HEAP32[$260>>2] = 1; - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $261 = HEAP32[$z>>2]|0; - $262 = (_strcmp($261,45374)|0); - $263 = ($262|0)==(0); - if ($263) { - $264 = HEAP32[$2>>2]|0; - _computeYMD($264); - $265 = HEAP32[$2>>2]|0; - $266 = ((($265)) + 12|0); - HEAP32[$266>>2] = 1; - $267 = HEAP32[$2>>2]|0; - $268 = ((($267)) + 16|0); - HEAP32[$268>>2] = 1; - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $269 = HEAP32[$z>>2]|0; - $270 = (_strcmp($269,45379)|0); - $271 = ($270|0)==(0); - if (!($271)) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - break; - } - case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48: case 45: case 43: { - HEAP32[$n>>2] = 1; - while(1) { - $272 = HEAP32[$n>>2]|0; - $273 = HEAP32[$z>>2]|0; - $274 = (($273) + ($272)|0); - $275 = HEAP8[$274>>0]|0; - $276 = $275 << 24 >> 24; - $277 = ($276|0)!=(0); - if (!($277)) { - break; - } - $278 = HEAP32[$n>>2]|0; - $279 = HEAP32[$z>>2]|0; - $280 = (($279) + ($278)|0); - $281 = HEAP8[$280>>0]|0; - $282 = $281 << 24 >> 24; - $283 = ($282|0)!=(58); - if (!($283)) { - break; - } - $284 = HEAP32[$n>>2]|0; - $285 = HEAP32[$z>>2]|0; - $286 = (($285) + ($284)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $289 = (18403 + ($288)|0); - $290 = HEAP8[$289>>0]|0; - $291 = $290&255; - $292 = $291 & 1; - $293 = ($292|0)!=(0); - $294 = $293 ^ 1; - if (!($294)) { - break; - } - $295 = HEAP32[$n>>2]|0; - $296 = (($295) + 1)|0; - HEAP32[$n>>2] = $296; - } - $297 = HEAP32[$z>>2]|0; - $298 = HEAP32[$n>>2]|0; - $299 = (_sqlite3AtoF($297,$r,$298,1)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$rc>>2] = 1; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $301 = HEAP32[$n>>2]|0; - $302 = HEAP32[$z>>2]|0; - $303 = (($302) + ($301)|0); - $304 = HEAP8[$303>>0]|0; - $305 = $304 << 24 >> 24; - $306 = ($305|0)==(58); - if ($306) { - $307 = HEAP32[$z>>2]|0; - HEAP32[$z2>>2] = $307; - $308 = HEAP32[$z2>>2]|0; - $309 = HEAP8[$308>>0]|0; - $310 = $309&255; - $311 = (18403 + ($310)|0); - $312 = HEAP8[$311>>0]|0; - $313 = $312&255; - $314 = $313 & 4; - $315 = ($314|0)!=(0); - if (!($315)) { - $316 = HEAP32[$z2>>2]|0; - $317 = ((($316)) + 1|0); - HEAP32[$z2>>2] = $317; - } - dest=$tx; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $318 = HEAP32[$z2>>2]|0; - $319 = (_parseHhMmSs($318,$tx)|0); - $320 = ($319|0)!=(0); - if ($320) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - _computeJD($tx); - $321 = $tx; - $322 = $321; - $323 = HEAP32[$322>>2]|0; - $324 = (($321) + 4)|0; - $325 = $324; - $326 = HEAP32[$325>>2]|0; - $327 = (_i64Subtract(($323|0),($326|0),43200000,0)|0); - $328 = tempRet0; - $329 = $tx; - $330 = $329; - HEAP32[$330>>2] = $327; - $331 = (($329) + 4)|0; - $332 = $331; - HEAP32[$332>>2] = $328; - $333 = $tx; - $334 = $333; - $335 = HEAP32[$334>>2]|0; - $336 = (($333) + 4)|0; - $337 = $336; - $338 = HEAP32[$337>>2]|0; - $339 = (___divdi3(($335|0),($338|0),86400000,0)|0); - $340 = tempRet0; - $341 = $day; - $342 = $341; - HEAP32[$342>>2] = $339; - $343 = (($341) + 4)|0; - $344 = $343; - HEAP32[$344>>2] = $340; - $345 = $day; - $346 = $345; - $347 = HEAP32[$346>>2]|0; - $348 = (($345) + 4)|0; - $349 = $348; - $350 = HEAP32[$349>>2]|0; - $351 = (___muldi3(($347|0),($350|0),86400000,0)|0); - $352 = tempRet0; - $353 = $tx; - $354 = $353; - $355 = HEAP32[$354>>2]|0; - $356 = (($353) + 4)|0; - $357 = $356; - $358 = HEAP32[$357>>2]|0; - $359 = (_i64Subtract(($355|0),($358|0),($351|0),($352|0))|0); - $360 = tempRet0; - $361 = $tx; - $362 = $361; - HEAP32[$362>>2] = $359; - $363 = (($361) + 4)|0; - $364 = $363; - HEAP32[$364>>2] = $360; - $365 = HEAP32[$z>>2]|0; - $366 = HEAP8[$365>>0]|0; - $367 = $366 << 24 >> 24; - $368 = ($367|0)==(45); - if ($368) { - $369 = $tx; - $370 = $369; - $371 = HEAP32[$370>>2]|0; - $372 = (($369) + 4)|0; - $373 = $372; - $374 = HEAP32[$373>>2]|0; - $375 = (_i64Subtract(0,0,($371|0),($374|0))|0); - $376 = tempRet0; - $377 = $tx; - $378 = $377; - HEAP32[$378>>2] = $375; - $379 = (($377) + 4)|0; - $380 = $379; - HEAP32[$380>>2] = $376; - } - $381 = HEAP32[$2>>2]|0; - _computeJD($381); - $382 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($382); - $383 = $tx; - $384 = $383; - $385 = HEAP32[$384>>2]|0; - $386 = (($383) + 4)|0; - $387 = $386; - $388 = HEAP32[$387>>2]|0; - $389 = HEAP32[$2>>2]|0; - $390 = $389; - $391 = $390; - $392 = HEAP32[$391>>2]|0; - $393 = (($390) + 4)|0; - $394 = $393; - $395 = HEAP32[$394>>2]|0; - $396 = (_i64Add(($392|0),($395|0),($385|0),($388|0))|0); - $397 = tempRet0; - $398 = $389; - $399 = $398; - HEAP32[$399>>2] = $396; - $400 = (($398) + 4)|0; - $401 = $400; - HEAP32[$401>>2] = $397; - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $402 = HEAP32[$n>>2]|0; - $403 = HEAP32[$z>>2]|0; - $404 = (($403) + ($402)|0); - HEAP32[$z>>2] = $404; - while(1) { - $405 = HEAP32[$z>>2]|0; - $406 = HEAP8[$405>>0]|0; - $407 = $406&255; - $408 = (18403 + ($407)|0); - $409 = HEAP8[$408>>0]|0; - $410 = $409&255; - $411 = $410 & 1; - $412 = ($411|0)!=(0); - $413 = HEAP32[$z>>2]|0; - if (!($412)) { - break; - } - $414 = ((($413)) + 1|0); - HEAP32[$z>>2] = $414; - } - $415 = (_sqlite3Strlen30($413)|0); - HEAP32[$n>>2] = $415; - $416 = HEAP32[$n>>2]|0; - $417 = ($416|0)>(10); - $418 = HEAP32[$n>>2]|0; - $419 = ($418|0)<(3); - $or$cond6 = $417 | $419; - if ($or$cond6) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $420 = HEAP32[$n>>2]|0; - $421 = (($420) - 1)|0; - $422 = HEAP32[$z>>2]|0; - $423 = (($422) + ($421)|0); - $424 = HEAP8[$423>>0]|0; - $425 = $424 << 24 >> 24; - $426 = ($425|0)==(115); - if ($426) { - $427 = HEAP32[$n>>2]|0; - $428 = (($427) - 1)|0; - $429 = HEAP32[$z>>2]|0; - $430 = (($429) + ($428)|0); - HEAP8[$430>>0] = 0; - $431 = HEAP32[$n>>2]|0; - $432 = (($431) + -1)|0; - HEAP32[$n>>2] = $432; - } - $433 = HEAP32[$2>>2]|0; - _computeJD($433); - HEAP32[$rc>>2] = 0; - $434 = +HEAPF64[$r>>3]; - $435 = $434 < 0.0; - $436 = $435 ? -0.5 : 0.5; - HEAPF64[$rRounder>>3] = $436; - $437 = HEAP32[$n>>2]|0; - $438 = ($437|0)==(3); - if ($438) { - $439 = HEAP32[$z>>2]|0; - $440 = (_strcmp($439,45379)|0); - $441 = ($440|0)==(0); - if ($441) { - $442 = +HEAPF64[$r>>3]; - $443 = $442 * 8.64E+7; - $444 = +HEAPF64[$rRounder>>3]; - $445 = $443 + $444; - $446 = (~~$445)>>>0; - $447 = +Math_abs($445) >= 1.0 ? $445 > 0.0 ? (~~+Math_min(+Math_floor($445 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($445 - +(~~$445 >>> 0)) / 4294967296.0) >>> 0 : 0; - $448 = HEAP32[$2>>2]|0; - $449 = $448; - $450 = $449; - $451 = HEAP32[$450>>2]|0; - $452 = (($449) + 4)|0; - $453 = $452; - $454 = HEAP32[$453>>2]|0; - $455 = (_i64Add(($451|0),($454|0),($446|0),($447|0))|0); - $456 = tempRet0; - $457 = $448; - $458 = $457; - HEAP32[$458>>2] = $455; - $459 = (($457) + 4)|0; - $460 = $459; - HEAP32[$460>>2] = $456; - } else { - label = 54; - } - } else { - label = 54; - } - do { - if ((label|0) == 54) { - $461 = HEAP32[$n>>2]|0; - $462 = ($461|0)==(4); - if ($462) { - $463 = HEAP32[$z>>2]|0; - $464 = (_strcmp($463,45383)|0); - $465 = ($464|0)==(0); - if ($465) { - $466 = +HEAPF64[$r>>3]; - $467 = $466 * 3.6E+6; - $468 = +HEAPF64[$rRounder>>3]; - $469 = $467 + $468; - $470 = (~~$469)>>>0; - $471 = +Math_abs($469) >= 1.0 ? $469 > 0.0 ? (~~+Math_min(+Math_floor($469 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($469 - +(~~$469 >>> 0)) / 4294967296.0) >>> 0 : 0; - $472 = HEAP32[$2>>2]|0; - $473 = $472; - $474 = $473; - $475 = HEAP32[$474>>2]|0; - $476 = (($473) + 4)|0; - $477 = $476; - $478 = HEAP32[$477>>2]|0; - $479 = (_i64Add(($475|0),($478|0),($470|0),($471|0))|0); - $480 = tempRet0; - $481 = $472; - $482 = $481; - HEAP32[$482>>2] = $479; - $483 = (($481) + 4)|0; - $484 = $483; - HEAP32[$484>>2] = $480; - break; - } - } - $485 = HEAP32[$n>>2]|0; - $486 = ($485|0)==(6); - if ($486) { - $487 = HEAP32[$z>>2]|0; - $488 = (_strcmp($487,45388)|0); - $489 = ($488|0)==(0); - if ($489) { - $490 = +HEAPF64[$r>>3]; - $491 = $490 * 6.0E+4; - $492 = +HEAPF64[$rRounder>>3]; - $493 = $491 + $492; - $494 = (~~$493)>>>0; - $495 = +Math_abs($493) >= 1.0 ? $493 > 0.0 ? (~~+Math_min(+Math_floor($493 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($493 - +(~~$493 >>> 0)) / 4294967296.0) >>> 0 : 0; - $496 = HEAP32[$2>>2]|0; - $497 = $496; - $498 = $497; - $499 = HEAP32[$498>>2]|0; - $500 = (($497) + 4)|0; - $501 = $500; - $502 = HEAP32[$501>>2]|0; - $503 = (_i64Add(($499|0),($502|0),($494|0),($495|0))|0); - $504 = tempRet0; - $505 = $496; - $506 = $505; - HEAP32[$506>>2] = $503; - $507 = (($505) + 4)|0; - $508 = $507; - HEAP32[$508>>2] = $504; - break; - } - } - $509 = HEAP32[$n>>2]|0; - $510 = ($509|0)==(6); - if ($510) { - $511 = HEAP32[$z>>2]|0; - $512 = (_strcmp($511,45395)|0); - $513 = ($512|0)==(0); - if ($513) { - $514 = +HEAPF64[$r>>3]; - $515 = $514 * 1000.0; - $516 = +HEAPF64[$rRounder>>3]; - $517 = $515 + $516; - $518 = (~~$517)>>>0; - $519 = +Math_abs($517) >= 1.0 ? $517 > 0.0 ? (~~+Math_min(+Math_floor($517 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($517 - +(~~$517 >>> 0)) / 4294967296.0) >>> 0 : 0; - $520 = HEAP32[$2>>2]|0; - $521 = $520; - $522 = $521; - $523 = HEAP32[$522>>2]|0; - $524 = (($521) + 4)|0; - $525 = $524; - $526 = HEAP32[$525>>2]|0; - $527 = (_i64Add(($523|0),($526|0),($518|0),($519|0))|0); - $528 = tempRet0; - $529 = $520; - $530 = $529; - HEAP32[$530>>2] = $527; - $531 = (($529) + 4)|0; - $532 = $531; - HEAP32[$532>>2] = $528; - break; - } - } - $533 = HEAP32[$n>>2]|0; - $534 = ($533|0)==(5); - if ($534) { - $535 = HEAP32[$z>>2]|0; - $536 = (_strcmp($535,45368)|0); - $537 = ($536|0)==(0); - if ($537) { - $538 = HEAP32[$2>>2]|0; - _computeYMD_HMS($538); - $539 = +HEAPF64[$r>>3]; - $540 = (~~(($539))); - $541 = HEAP32[$2>>2]|0; - $542 = ((($541)) + 12|0); - $543 = HEAP32[$542>>2]|0; - $544 = (($543) + ($540))|0; - HEAP32[$542>>2] = $544; - $545 = HEAP32[$2>>2]|0; - $546 = ((($545)) + 12|0); - $547 = HEAP32[$546>>2]|0; - $548 = ($547|0)>(0); - $549 = HEAP32[$2>>2]|0; - $550 = ((($549)) + 12|0); - $551 = HEAP32[$550>>2]|0; - $552 = (($551) - 1)|0; - $553 = (($551) - 12)|0; - $$sink = $548 ? $552 : $553; - $554 = (($$sink|0) / 12)&-1; - HEAP32[$x>>2] = $554; - $555 = HEAP32[$x>>2]|0; - $556 = HEAP32[$2>>2]|0; - $557 = ((($556)) + 8|0); - $558 = HEAP32[$557>>2]|0; - $559 = (($558) + ($555))|0; - HEAP32[$557>>2] = $559; - $560 = HEAP32[$x>>2]|0; - $561 = ($560*12)|0; - $562 = HEAP32[$2>>2]|0; - $563 = ((($562)) + 12|0); - $564 = HEAP32[$563>>2]|0; - $565 = (($564) - ($561))|0; - HEAP32[$563>>2] = $565; - $566 = HEAP32[$2>>2]|0; - $567 = ((($566)) + 42|0); - HEAP8[$567>>0] = 0; - $568 = HEAP32[$2>>2]|0; - _computeJD($568); - $569 = +HEAPF64[$r>>3]; - $570 = (~~(($569))); - HEAP32[$y>>2] = $570; - $571 = HEAP32[$y>>2]|0; - $572 = (+($571|0)); - $573 = +HEAPF64[$r>>3]; - $574 = $572 != $573; - if (!($574)) { - break; - } - $575 = +HEAPF64[$r>>3]; - $576 = HEAP32[$y>>2]|0; - $577 = (+($576|0)); - $578 = $575 - $577; - $579 = $578 * 30.0; - $580 = $579 * 8.64E+7; - $581 = +HEAPF64[$rRounder>>3]; - $582 = $580 + $581; - $583 = (~~$582)>>>0; - $584 = +Math_abs($582) >= 1.0 ? $582 > 0.0 ? (~~+Math_min(+Math_floor($582 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($582 - +(~~$582 >>> 0)) / 4294967296.0) >>> 0 : 0; - $585 = HEAP32[$2>>2]|0; - $586 = $585; - $587 = $586; - $588 = HEAP32[$587>>2]|0; - $589 = (($586) + 4)|0; - $590 = $589; - $591 = HEAP32[$590>>2]|0; - $592 = (_i64Add(($588|0),($591|0),($583|0),($584|0))|0); - $593 = tempRet0; - $594 = $585; - $595 = $594; - HEAP32[$595>>2] = $592; - $596 = (($594) + 4)|0; - $597 = $596; - HEAP32[$597>>2] = $593; - break; - } - } - $598 = HEAP32[$n>>2]|0; - $599 = ($598|0)==(4); - if ($599) { - $600 = HEAP32[$z>>2]|0; - $601 = (_strcmp($600,45374)|0); - $602 = ($601|0)==(0); - if ($602) { - $603 = +HEAPF64[$r>>3]; - $604 = (~~(($603))); - HEAP32[$y1>>2] = $604; - $605 = HEAP32[$2>>2]|0; - _computeYMD_HMS($605); - $606 = HEAP32[$y1>>2]|0; - $607 = HEAP32[$2>>2]|0; - $608 = ((($607)) + 8|0); - $609 = HEAP32[$608>>2]|0; - $610 = (($609) + ($606))|0; - HEAP32[$608>>2] = $610; - $611 = HEAP32[$2>>2]|0; - $612 = ((($611)) + 42|0); - HEAP8[$612>>0] = 0; - $613 = HEAP32[$2>>2]|0; - _computeJD($613); - $614 = HEAP32[$y1>>2]|0; - $615 = (+($614|0)); - $616 = +HEAPF64[$r>>3]; - $617 = $615 != $616; - if (!($617)) { - break; - } - $618 = +HEAPF64[$r>>3]; - $619 = HEAP32[$y1>>2]|0; - $620 = (+($619|0)); - $621 = $618 - $620; - $622 = $621 * 365.0; - $623 = $622 * 8.64E+7; - $624 = +HEAPF64[$rRounder>>3]; - $625 = $623 + $624; - $626 = (~~$625)>>>0; - $627 = +Math_abs($625) >= 1.0 ? $625 > 0.0 ? (~~+Math_min(+Math_floor($625 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($625 - +(~~$625 >>> 0)) / 4294967296.0) >>> 0 : 0; - $628 = HEAP32[$2>>2]|0; - $629 = $628; - $630 = $629; - $631 = HEAP32[$630>>2]|0; - $632 = (($629) + 4)|0; - $633 = $632; - $634 = HEAP32[$633>>2]|0; - $635 = (_i64Add(($631|0),($634|0),($626|0),($627|0))|0); - $636 = tempRet0; - $637 = $628; - $638 = $637; - HEAP32[$638>>2] = $635; - $639 = (($637) + 4)|0; - $640 = $639; - HEAP32[$640>>2] = $636; - break; - } - } - HEAP32[$rc>>2] = 1; - } - } while(0); - $641 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($641); - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - break; - } - default: { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } + $9 = ((($8)) + 28|0); + $10 = HEAP32[$3>>2]|0; + $11 = (($9) + ($10<<2)|0); + $12 = HEAP32[$11>>2]|0; + (_sqlite3_finalize($12)|0); + $13 = HEAP32[$3>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[$3>>2] = $14; } - return (0)|0; + _sqlite3_free($8); + $15 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($15|0); } -function _localtimeOffset($p,$pCtx,$pRc) { - $p = $p|0; - $pCtx = $pCtx|0; - $pRc = $pRc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.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.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, $s = 0, $sLocal = 0, $t = 0, $x = 0, $y = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; +function _sqlite3Fts5HashFree($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; - STACKTOP = STACKTOP + 176|0; - $0 = sp + 96|0; - $1 = sp + 164|0; - $2 = sp + 160|0; - $3 = sp + 156|0; - $x = sp + 48|0; - $y = sp; - $t = sp + 152|0; - $sLocal = sp + 108|0; - $s = sp + 104|0; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pCtx; - HEAP32[$3>>2] = $pRc; - dest=$sLocal; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = HEAP32[$1>>2]|0; - dest=$x; src=$4; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _computeYMD_HMS($x); - $5 = ((($x)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)<(1971); - if ($7) { - label = 3; - } else { - $8 = ((($x)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)>=(2038); - if ($10) { - label = 3; - } else { - $17 = ((($x)) + 32|0); - $18 = +HEAPF64[$17>>3]; - $19 = $18 + 0.5; - $20 = (~~(($19))); - HEAP32[$s>>2] = $20; - $21 = HEAP32[$s>>2]|0; - $22 = (+($21|0)); - $23 = ((($x)) + 32|0); - HEAPF64[$23>>3] = $22; - } - } - if ((label|0) == 3) { - $11 = ((($x)) + 8|0); - HEAP32[$11>>2] = 2000; - $12 = ((($x)) + 12|0); - HEAP32[$12>>2] = 1; - $13 = ((($x)) + 16|0); - HEAP32[$13>>2] = 1; - $14 = ((($x)) + 20|0); - HEAP32[$14>>2] = 0; - $15 = ((($x)) + 24|0); - HEAP32[$15>>2] = 0; - $16 = ((($x)) + 32|0); - HEAPF64[$16>>3] = 0.0; - } - $24 = ((($x)) + 28|0); - HEAP32[$24>>2] = 0; - $25 = ((($x)) + 42|0); - HEAP8[$25>>0] = 0; - _computeJD($x); - $26 = $x; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (___divdi3(($28|0),($31|0),1000,0)|0); - $33 = tempRet0; - $34 = (_i64Subtract(($32|0),($33|0),413362496,49)|0); - $35 = tempRet0; - HEAP32[$t>>2] = $34; - $36 = (_osLocaltime($t,$sLocal)|0); - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$2>>2]|0; - _sqlite3_result_error($38,45422,-1); - $39 = HEAP32[$3>>2]|0; - HEAP32[$39>>2] = 1; - $40 = $0; - $41 = $40; - HEAP32[$41>>2] = 0; - $42 = (($40) + 4)|0; - $43 = $42; - HEAP32[$43>>2] = 0; - $87 = $0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - tempRet0 = ($92); - STACKTOP = sp;return ($89|0); - } else { - $44 = ((($sLocal)) + 20|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($45) + 1900)|0; - $47 = ((($y)) + 8|0); - HEAP32[$47>>2] = $46; - $48 = ((($sLocal)) + 16|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 1)|0; - $51 = ((($y)) + 12|0); - HEAP32[$51>>2] = $50; - $52 = ((($sLocal)) + 12|0); - $53 = HEAP32[$52>>2]|0; - $54 = ((($y)) + 16|0); - HEAP32[$54>>2] = $53; - $55 = ((($sLocal)) + 8|0); - $56 = HEAP32[$55>>2]|0; - $57 = ((($y)) + 20|0); - HEAP32[$57>>2] = $56; - $58 = ((($sLocal)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = ((($y)) + 24|0); - HEAP32[$60>>2] = $59; - $61 = HEAP32[$sLocal>>2]|0; - $62 = (+($61|0)); - $63 = ((($y)) + 32|0); - HEAPF64[$63>>3] = $62; - $64 = ((($y)) + 40|0); - HEAP8[$64>>0] = 1; - $65 = ((($y)) + 41|0); - HEAP8[$65>>0] = 1; - $66 = ((($y)) + 42|0); - HEAP8[$66>>0] = 0; - $67 = ((($y)) + 43|0); - HEAP8[$67>>0] = 0; - _computeJD($y); - $68 = HEAP32[$3>>2]|0; - HEAP32[$68>>2] = 0; - $69 = $y; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = $x; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (_i64Subtract(($71|0),($74|0),($77|0),($80|0))|0); - $82 = tempRet0; - $83 = $0; - $84 = $83; - HEAP32[$84>>2] = $81; - $85 = (($83) + 4)|0; - $86 = $85; - HEAP32[$86>>2] = $82; - $87 = $0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - tempRet0 = ($92); - STACKTOP = sp;return ($89|0); + STACKTOP = STACKTOP + 16|0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + STACKTOP = sp;return; } - return (0)|0; + $4 = HEAP32[$1>>2]|0; + _sqlite3Fts5HashClear($4); + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + _sqlite3_free($7); + $8 = HEAP32[$1>>2]|0; + _sqlite3_free($8); + STACKTOP = sp;return; } -function _clearYMD_HMS_TZ($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _fts5SetUniqueFlag($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 40|0); - HEAP8[$2>>0] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 41|0); - HEAP8[$4>>0] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 43|0); - HEAP8[$6>>0] = 0; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 | 1; + HEAP32[$3>>2] = $5; STACKTOP = sp;return; } -function _parseHhMmSs($zDate,$p) { - $zDate = $zDate|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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.0, $43 = 0.0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.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, $9 = 0, $h = 0, $m = 0, $ms = 0, $rScale = 0, $s = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; +function _fts5InitVtab($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $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, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer2 = sp + 24|0; - $vararg_buffer = sp + 16|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $h = sp + 36|0; - $m = sp + 32|0; - $s = sp + 28|0; - $ms = sp + 8|0; - $rScale = sp; - HEAP32[$1>>2] = $zDate; - HEAP32[$2>>2] = $p; - HEAPF64[$ms>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $h; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $m; - $4 = (_getDigits($3,45402,$vararg_buffer)|0); - $5 = ($4|0)!=(2); - if ($5) { - HEAP32[$0>>2] = 1; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); + STACKTOP = STACKTOP + 48|0; + $7 = sp + 44|0; + $8 = sp + 40|0; + $9 = sp + 36|0; + $10 = sp + 32|0; + $11 = sp + 28|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 16|0; + $15 = sp + 12|0; + $16 = sp + 8|0; + $17 = sp + 4|0; + $18 = sp; + HEAP32[$7>>2] = $0; + HEAP32[$8>>2] = $1; + HEAP32[$9>>2] = $2; + HEAP32[$10>>2] = $3; + HEAP32[$11>>2] = $4; + HEAP32[$12>>2] = $5; + HEAP32[$13>>2] = $6; + $19 = HEAP32[$9>>2]|0; + HEAP32[$14>>2] = $19; + $20 = HEAP32[$11>>2]|0; + HEAP32[$15>>2] = $20; + HEAP32[$16>>2] = 0; + HEAP32[$17>>2] = 0; + HEAP32[$18>>2] = 0; + $21 = (_sqlite3Fts5MallocZero($16,32)|0); + HEAP32[$18>>2] = $21; + $22 = HEAP32[$16>>2]|0; + $23 = ($22|0)==(0); + if ($23) { + $24 = HEAP32[$14>>2]|0; + $25 = HEAP32[$8>>2]|0; + $26 = HEAP32[$10>>2]|0; + $27 = HEAP32[$15>>2]|0; + $28 = HEAP32[$13>>2]|0; + $29 = (_sqlite3Fts5ConfigParse($24,$25,$26,$27,$17,$28)|0); + HEAP32[$16>>2] = $29; + } + $30 = HEAP32[$16>>2]|0; + $31 = ($30|0)==(0); + if ($31) { + $32 = HEAP32[$17>>2]|0; + $33 = HEAP32[$18>>2]|0; + $34 = ((($33)) + 12|0); + HEAP32[$34>>2] = $32; + $35 = HEAP32[$14>>2]|0; + $36 = HEAP32[$18>>2]|0; + $37 = ((($36)) + 24|0); + HEAP32[$37>>2] = $35; } - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 5|0); - HEAP32[$1>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = ($10|0)==(58); - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 1|0); - HEAP32[$1>>2] = $13; - $14 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer2>>2] = $s; - $15 = (_getDigits($14,45410,$vararg_buffer2)|0); - $16 = ($15|0)!=(1); - if ($16) { - HEAP32[$0>>2] = 1; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); - } - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 2|0); - HEAP32[$1>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = ($21|0)==(46); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = (18403 + ($26)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 & 4; - $31 = ($30|0)!=(0); - if ($31) { - HEAPF64[$rScale>>3] = 1.0; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 1|0); - HEAP32[$1>>2] = $33; - while(1) { - $34 = HEAP32[$1>>2]|0; - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = (18403 + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = $39 & 4; - $41 = ($40|0)!=(0); - if (!($41)) { - break; - } - $42 = +HEAPF64[$ms>>3]; - $43 = $42 * 10.0; - $44 = HEAP32[$1>>2]|0; - $45 = HEAP8[$44>>0]|0; - $46 = $45 << 24 >> 24; - $47 = (+($46|0)); - $48 = $43 + $47; - $49 = $48 - 48.0; - HEAPF64[$ms>>3] = $49; - $50 = +HEAPF64[$rScale>>3]; - $51 = $50 * 10.0; - HEAPF64[$rScale>>3] = $51; - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 1|0); - HEAP32[$1>>2] = $53; - } - $54 = +HEAPF64[$rScale>>3]; - $55 = +HEAPF64[$ms>>3]; - $56 = $55 / $54; - HEAPF64[$ms>>3] = $56; - } - } - } else { - HEAP32[$s>>2] = 0; + $38 = HEAP32[$16>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = HEAP32[$17>>2]|0; + $41 = HEAP32[$7>>2]|0; + $42 = HEAP32[$18>>2]|0; + $43 = ((($42)) + 16|0); + $44 = HEAP32[$13>>2]|0; + $45 = (_sqlite3Fts5IndexOpen($40,$41,$43,$44)|0); + HEAP32[$16>>2] = $45; } - $57 = HEAP32[$2>>2]|0; - $58 = ((($57)) + 42|0); - HEAP8[$58>>0] = 0; - $59 = HEAP32[$2>>2]|0; - $60 = ((($59)) + 41|0); - HEAP8[$60>>0] = 1; - $61 = HEAP32[$h>>2]|0; - $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 20|0); - HEAP32[$63>>2] = $61; - $64 = HEAP32[$m>>2]|0; - $65 = HEAP32[$2>>2]|0; - $66 = ((($65)) + 24|0); - HEAP32[$66>>2] = $64; - $67 = HEAP32[$s>>2]|0; - $68 = (+($67|0)); - $69 = +HEAPF64[$ms>>3]; - $70 = $68 + $69; - $71 = HEAP32[$2>>2]|0; - $72 = ((($71)) + 32|0); - HEAPF64[$72>>3] = $70; - $73 = HEAP32[$1>>2]|0; - $74 = HEAP32[$2>>2]|0; - $75 = (_parseTimezone($73,$74)|0); + $46 = HEAP32[$16>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + $48 = HEAP32[$17>>2]|0; + $49 = HEAP32[$18>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$7>>2]|0; + $53 = HEAP32[$18>>2]|0; + $54 = ((($53)) + 20|0); + $55 = HEAP32[$13>>2]|0; + $56 = (_sqlite3Fts5StorageOpen($48,$51,$52,$54,$55)|0); + HEAP32[$16>>2] = $56; + } + $57 = HEAP32[$16>>2]|0; + $58 = ($57|0)==(0); + if ($58) { + $59 = HEAP32[$17>>2]|0; + $60 = (_sqlite3Fts5ConfigDeclareVtab($59)|0); + HEAP32[$16>>2] = $60; + } + $61 = HEAP32[$16>>2]|0; + $62 = ($61|0)==(0); + if ($62) { + $63 = HEAP32[$13>>2]|0; + $64 = HEAP32[$17>>2]|0; + $65 = ((($64)) + 96|0); + HEAP32[$65>>2] = $63; + $66 = HEAP32[$18>>2]|0; + $67 = ((($66)) + 16|0); + $68 = HEAP32[$67>>2]|0; + $69 = (_sqlite3Fts5IndexLoadConfig($68)|0); + HEAP32[$16>>2] = $69; + $70 = HEAP32[$18>>2]|0; + $71 = ((($70)) + 16|0); + $72 = HEAP32[$71>>2]|0; + (_sqlite3Fts5IndexRollback($72)|0); + $73 = HEAP32[$17>>2]|0; + $74 = ((($73)) + 96|0); + HEAP32[$74>>2] = 0; + } + $75 = HEAP32[$16>>2]|0; $76 = ($75|0)!=(0); if ($76) { - HEAP32[$0>>2] = 1; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); + $77 = HEAP32[$18>>2]|0; + _fts5FreeVtab($77); + HEAP32[$18>>2] = 0; + $78 = HEAP32[$18>>2]|0; + $79 = HEAP32[$12>>2]|0; + HEAP32[$79>>2] = $78; + $80 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($80|0); } else { - $77 = HEAP32[$2>>2]|0; - $78 = ((($77)) + 28|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)!=(0); - $81 = $80 ? 1 : 0; - $82 = $81&255; - $83 = HEAP32[$2>>2]|0; - $84 = ((($83)) + 43|0); - HEAP8[$84>>0] = $82; - HEAP32[$0>>2] = 0; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); + $78 = HEAP32[$18>>2]|0; + $79 = HEAP32[$12>>2]|0; + HEAP32[$79>>2] = $78; + $80 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($80|0); } return (0)|0; } -function _getDigits($zDate,$zFormat,$varargs) { - $zDate = $zDate|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $N = 0, $ap = 0, $arglist_current = 0; - var $arglist_next = 0, $cnt = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $max = 0, $min = 0, $nextC = 0, $val = 0, label = 0, sp = 0; +function _sqlite3Fts5IndexOpen($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $ap = sp + 8|0; - $cnt = sp + 4|0; - $nextC = sp + 36|0; - $N = sp + 35|0; - $min = sp + 34|0; - $val = sp; - $max = sp + 32|0; - HEAP32[$0>>2] = $zDate; - HEAP32[$1>>2] = $zFormat; - HEAP32[$cnt>>2] = 0; - HEAP32[$ap>>2] = $varargs; - L1: while(1) { - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = $3 << 24 >> 24; - $5 = (($4) - 48)|0; - $6 = $5&255; - HEAP8[$N>>0] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = (($10) - 48)|0; - $12 = $11&255; - HEAP8[$min>>0] = $12; - HEAP32[$val>>2] = 0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 2|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15 << 24 >> 24; - $17 = (($16) - 97)|0; - $18 = (16422 + ($17<<1)|0); - $19 = HEAP16[$18>>1]|0; - HEAP16[$max>>1] = $19; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 3|0); - $22 = HEAP8[$21>>0]|0; - HEAP8[$nextC>>0] = $22; - HEAP32[$val>>2] = 0; - while(1) { - $23 = HEAP8[$N>>0]|0; - $24 = (($23) + -1)<<24>>24; - HEAP8[$N>>0] = $24; - $25 = ($23<<24>>24)!=(0); - if (!($25)) { - break; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $4 = sp + 24|0; + $5 = sp + 20|0; + $6 = sp + 16|0; + $7 = sp + 12|0; + $8 = sp + 8|0; + $9 = sp + 4|0; + HEAP32[$4>>2] = $0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $2; + HEAP32[$7>>2] = $3; + HEAP32[$8>>2] = 0; + $10 = (_sqlite3Fts5MallocZero($8,88)|0); + HEAP32[$9>>2] = $10; + $11 = HEAP32[$6>>2]|0; + HEAP32[$11>>2] = $10; + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)==(0); + if ($13) { + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$9>>2]|0; + HEAP32[$15>>2] = $14; + $16 = HEAP32[$9>>2]|0; + $17 = ((($16)) + 8|0); + HEAP32[$17>>2] = 64; + $18 = HEAP32[$4>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$vararg_buffer>>2] = $20; + $21 = (_sqlite3Fts5Mprintf($8,52410,$vararg_buffer)|0); + $22 = HEAP32[$9>>2]|0; + $23 = ((($22)) + 4|0); + HEAP32[$23>>2] = $21; + $24 = HEAP32[$9>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0|0); + $28 = HEAP32[$5>>2]|0; + $29 = ($28|0)!=(0); + $or$cond = $27 & $29; + if ($or$cond) { + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$7>>2]|0; + $32 = (_sqlite3Fts5CreateTable($30,50977,52418,0,$31)|0); + HEAP32[$8>>2] = $32; + $33 = HEAP32[$8>>2]|0; + $34 = ($33|0)==(0); + if ($34) { + $35 = HEAP32[$4>>2]|0; + $36 = HEAP32[$7>>2]|0; + $37 = (_sqlite3Fts5CreateTable($35,30148,52453,1,$36)|0); + HEAP32[$8>>2] = $37; } - $26 = HEAP32[$0>>2]|0; - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = (18403 + ($28)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = $31 & 4; - $33 = ($32|0)!=(0); - if (!($33)) { - label = 11; - break L1; + $38 = HEAP32[$8>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = HEAP32[$9>>2]|0; + $41 = (_sqlite3Fts5IndexReinit($40)|0); + HEAP32[$8>>2] = $41; } - $34 = HEAP32[$val>>2]|0; - $35 = ($34*10)|0; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP8[$36>>0]|0; - $38 = $37 << 24 >> 24; - $39 = (($35) + ($38))|0; - $40 = (($39) - 48)|0; - HEAP32[$val>>2] = $40; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 1|0); - HEAP32[$0>>2] = $42; - } - $43 = HEAP32[$val>>2]|0; - $44 = HEAP8[$min>>0]|0; - $45 = $44 << 24 >> 24; - $46 = ($43|0)<($45|0); - if ($46) { - label = 11; - break; - } - $47 = HEAP32[$val>>2]|0; - $48 = HEAP16[$max>>1]|0; - $49 = $48&65535; - $50 = ($47|0)>($49|0); - if ($50) { - label = 11; - break; } - $51 = HEAP8[$nextC>>0]|0; - $52 = $51 << 24 >> 24; - $53 = ($52|0)!=(0); - if ($53) { - $54 = HEAP8[$nextC>>0]|0; - $55 = $54 << 24 >> 24; - $56 = HEAP32[$0>>2]|0; - $57 = HEAP8[$56>>0]|0; - $58 = $57 << 24 >> 24; - $59 = ($55|0)!=($58|0); - if ($59) { - label = 11; - break; + } + $42 = HEAP32[$8>>2]|0; + $43 = ($42|0)!=(0); + if (!($43)) { + $46 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($46|0); + } + $44 = HEAP32[$9>>2]|0; + (_sqlite3Fts5IndexClose($44)|0); + $45 = HEAP32[$6>>2]|0; + HEAP32[$45>>2] = 0; + $46 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($46|0); +} +function _sqlite3Fts5StorageOpen($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $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, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + $14 = sp + 24|0; + $15 = sp + 20|0; + $16 = sp + 16|0; + $17 = sp + 12|0; + HEAP32[$6>>2] = $0; + HEAP32[$7>>2] = $1; + HEAP32[$8>>2] = $2; + HEAP32[$9>>2] = $3; + HEAP32[$10>>2] = $4; + HEAP32[$11>>2] = 0; + $18 = HEAP32[$6>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = $20<<3; + $22 = (72 + ($21))|0; + HEAP32[$13>>2] = $22; + $23 = HEAP32[$13>>2]|0; + $24 = (_sqlite3_malloc($23)|0); + HEAP32[$12>>2] = $24; + $25 = HEAP32[$9>>2]|0; + HEAP32[$25>>2] = $24; + $26 = HEAP32[$12>>2]|0; + $27 = ($26|0)!=(0|0); + if (!($27)) { + HEAP32[$5>>2] = 7; + $110 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($110|0); + } + $28 = HEAP32[$12>>2]|0; + $29 = HEAP32[$13>>2]|0; + _memset(($28|0),0,($29|0))|0; + $30 = HEAP32[$12>>2]|0; + $31 = ((($30)) + 72|0); + $32 = HEAP32[$12>>2]|0; + $33 = ((($32)) + 24|0); + HEAP32[$33>>2] = $31; + $34 = HEAP32[$6>>2]|0; + $35 = HEAP32[$12>>2]|0; + HEAP32[$35>>2] = $34; + $36 = HEAP32[$7>>2]|0; + $37 = HEAP32[$12>>2]|0; + $38 = ((($37)) + 4|0); + HEAP32[$38>>2] = $36; + $39 = HEAP32[$8>>2]|0; + $40 = ($39|0)!=(0); + if ($40) { + $41 = HEAP32[$6>>2]|0; + $42 = ((($41)) + 32|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$6>>2]|0; + $46 = ((($45)) + 12|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47*10)|0; + $49 = (32 + ($48))|0; + HEAP32[$14>>2] = $49; + $50 = HEAP32[$6>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52*10)|0; + $54 = (32 + ($53))|0; + $55 = (_sqlite3_malloc($54)|0); + HEAP32[$15>>2] = $55; + $56 = HEAP32[$15>>2]|0; + $57 = ($56|0)==(0|0); + if ($57) { + HEAP32[$11>>2] = 7; + } else { + $58 = HEAP32[$14>>2]|0; + $59 = HEAP32[$15>>2]|0; + (_sqlite3_snprintf($58,$59,52243,$vararg_buffer)|0); + $60 = HEAP32[$15>>2]|0; + $61 = (_strlen($60)|0); + HEAP32[$17>>2] = $61; + HEAP32[$16>>2] = 0; + while(1) { + $62 = HEAP32[$16>>2]|0; + $63 = HEAP32[$6>>2]|0; + $64 = ((($63)) + 12|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($62|0)<($65|0); + if (!($66)) { + break; + } + $67 = HEAP32[$14>>2]|0; + $68 = HEAP32[$17>>2]|0; + $69 = (($67) - ($68))|0; + $70 = HEAP32[$15>>2]|0; + $71 = HEAP32[$17>>2]|0; + $72 = (($70) + ($71)|0); + $73 = HEAP32[$16>>2]|0; + HEAP32[$vararg_buffer1>>2] = $73; + (_sqlite3_snprintf($69,$72,52266,$vararg_buffer1)|0); + $74 = HEAP32[$15>>2]|0; + $75 = HEAP32[$17>>2]|0; + $76 = (($74) + ($75)|0); + $77 = (_strlen($76)|0); + $78 = HEAP32[$17>>2]|0; + $79 = (($78) + ($77))|0; + HEAP32[$17>>2] = $79; + $80 = HEAP32[$16>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$16>>2] = $81; + } + $82 = HEAP32[$6>>2]|0; + $83 = HEAP32[$15>>2]|0; + $84 = HEAP32[$10>>2]|0; + $85 = (_sqlite3Fts5CreateTable($82,46221,$83,0,$84)|0); + HEAP32[$11>>2] = $85; } + $86 = HEAP32[$15>>2]|0; + _sqlite3_free($86); } - $60 = HEAP32[$val>>2]|0; - $arglist_current = HEAP32[$ap>>2]|0; - $61 = $arglist_current; - $62 = ((0) + 4|0); - $expanded2 = $62; - $expanded = (($expanded2) - 1)|0; - $63 = (($61) + ($expanded))|0; - $64 = ((0) + 4|0); - $expanded6 = $64; - $expanded5 = (($expanded6) - 1)|0; - $expanded4 = $expanded5 ^ -1; - $65 = $63 & $expanded4; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $arglist_next = ((($66)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - HEAP32[$67>>2] = $60; - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 1|0); - HEAP32[$0>>2] = $69; - $70 = HEAP32[$cnt>>2]|0; - $71 = (($70) + 1)|0; - HEAP32[$cnt>>2] = $71; - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 4|0); - HEAP32[$1>>2] = $73; - $74 = HEAP8[$nextC>>0]|0; - $75 = ($74<<24>>24)!=(0); - if (!($75)) { - label = 11; - break; + $87 = HEAP32[$11>>2]|0; + $88 = ($87|0)==(0); + if ($88) { + $89 = HEAP32[$6>>2]|0; + $90 = ((($89)) + 44|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)!=(0); + if ($92) { + $93 = HEAP32[$6>>2]|0; + $94 = HEAP32[$10>>2]|0; + $95 = (_sqlite3Fts5CreateTable($93,49899,52272,0,$94)|0); + HEAP32[$11>>2] = $95; + } + } + $96 = HEAP32[$11>>2]|0; + $97 = ($96|0)==(0); + if ($97) { + $98 = HEAP32[$6>>2]|0; + $99 = HEAP32[$10>>2]|0; + $100 = (_sqlite3Fts5CreateTable($98,50982,52304,1,$99)|0); + HEAP32[$11>>2] = $100; + } + $101 = HEAP32[$11>>2]|0; + $102 = ($101|0)==(0); + if ($102) { + $103 = HEAP32[$12>>2]|0; + $104 = (_sqlite3Fts5StorageConfigValue($103,47943,0,4)|0); + HEAP32[$11>>2] = $104; } } - if ((label|0) == 11) { - $76 = HEAP32[$cnt>>2]|0; - STACKTOP = sp;return ($76|0); + $105 = HEAP32[$11>>2]|0; + $106 = ($105|0)!=(0); + if ($106) { + $107 = HEAP32[$12>>2]|0; + (_sqlite3Fts5StorageClose($107)|0); + $108 = HEAP32[$9>>2]|0; + HEAP32[$108>>2] = 0; } - return (0)|0; + $109 = HEAP32[$11>>2]|0; + HEAP32[$5>>2] = $109; + $110 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($110|0); } -function _parseTimezone($zDate,$p) { - $zDate = $zDate|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $c = 0, $nHr = 0, $nMn = 0, $or$cond = 0, $sgn = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0; +function _sqlite3Fts5ConfigDeclareVtab($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $sgn = sp + 20|0; - $nHr = sp + 16|0; - $nMn = sp + 12|0; - $c = sp + 8|0; - HEAP32[$1>>2] = $zDate; - HEAP32[$2>>2] = $p; - HEAP32[$sgn>>2] = 0; + $1 = sp + 52|0; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + HEAP32[$1>>2] = $0; + HEAP32[$3>>2] = 0; + $6 = (_sqlite3Fts5Mprintf($3,52194,$vararg_buffer)|0); + HEAP32[$4>>2] = $6; + HEAP32[$2>>2] = 0; while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = (18403 + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = $8 & 1; - $10 = ($9|0)!=(0); - if (!($10)) { + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { break; } - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 1|0); - HEAP32[$1>>2] = $12; - } - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 28|0); - HEAP32[$14>>2] = 0; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16 << 24 >> 24; - HEAP32[$c>>2] = $17; - $18 = HEAP32[$c>>2]|0; - $19 = ($18|0)==(45); - do { - if ($19) { - HEAP32[$sgn>>2] = -1; - label = 11; - } else { - $20 = HEAP32[$c>>2]|0; - $21 = ($20|0)==(43); - if ($21) { - HEAP32[$sgn>>2] = 1; - label = 11; - break; - } - $22 = HEAP32[$c>>2]|0; - $23 = ($22|0)==(90); - $24 = HEAP32[$c>>2]|0; - $25 = ($24|0)==(122); - $or$cond = $23 | $25; - if ($or$cond) { - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 1|0); - HEAP32[$1>>2] = $27; - break; - } - $28 = HEAP32[$c>>2]|0; - $29 = ($28|0)!=(0); - $30 = $29&1; - HEAP32[$0>>2] = $30; - $63 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($63|0); - } - } while(0); - do { - if ((label|0) == 11) { - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 1|0); - HEAP32[$1>>2] = $32; - $33 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $nHr; - $vararg_ptr2 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr2>>2] = $nMn; - $34 = (_getDigits($33,45414,$vararg_buffer)|0); - $35 = ($34|0)!=(2); - if (!($35)) { - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 5|0); - HEAP32[$1>>2] = $37; - $38 = HEAP32[$sgn>>2]|0; - $39 = HEAP32[$nMn>>2]|0; - $40 = HEAP32[$nHr>>2]|0; - $41 = ($40*60)|0; - $42 = (($39) + ($41))|0; - $43 = Math_imul($38, $42)|0; - $44 = HEAP32[$2>>2]|0; - $45 = ((($44)) + 28|0); - HEAP32[$45>>2] = $43; - break; - } - HEAP32[$0>>2] = 1; - $63 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($63|0); - } - } while(0); - while(1) { - $46 = HEAP32[$1>>2]|0; - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = (18403 + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = $51 & 1; - $53 = ($52|0)!=(0); - if (!($53)) { + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)<($12|0); + if (!($13)) { break; } - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 1|0); - HEAP32[$1>>2] = $55; + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)==(0); + $16 = $15 ? 55752 : 30358; + HEAP32[$5>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = (($21) + ($22<<2)|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$vararg_buffer1>>2] = $17; + $vararg_ptr3 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr3>>2] = $18; + $vararg_ptr4 = ((($vararg_buffer1)) + 8|0); + HEAP32[$vararg_ptr4>>2] = $24; + $25 = (_sqlite3Fts5Mprintf($3,52210,$vararg_buffer1)|0); + HEAP32[$4>>2] = $25; + $26 = HEAP32[$2>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$2>>2] = $27; } - $56 = HEAP32[$2>>2]|0; - $57 = ((($56)) + 44|0); - HEAP8[$57>>0] = 1; - $58 = HEAP32[$1>>2]|0; - $59 = HEAP8[$58>>0]|0; - $60 = $59 << 24 >> 24; - $61 = ($60|0)!=(0); - $62 = $61&1; - HEAP32[$0>>2] = $62; - $63 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($63|0); -} -function _osLocaltime($t,$pTm) { - $t = $t|0; - $pTm = $pTm|0; - var $$ = 0, $0 = 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, $pX = 0, $rc = 0, dest = 0, label = 0, sp = 0; - var src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $pX = sp; - HEAP32[$0>>2] = $t; - HEAP32[$1>>2] = $pTm; - $2 = HEAP32[$0>>2]|0; - $3 = (_localtime(($2|0))|0); - HEAP32[$pX>>2] = $3; - $4 = HEAP32[(276)>>2]|0; - $5 = ($4|0)!=(0); - $$ = $5 ? 0 : $3; - HEAP32[$pX>>2] = $$; - $6 = HEAP32[$pX>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$pX>>2]|0; - dest=$8; src=$9; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $28 = HEAP32[$4>>2]|0; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$vararg_buffer5>>2] = $28; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $31; + $vararg_ptr9 = ((($vararg_buffer5)) + 8|0); + HEAP32[$vararg_ptr9>>2] = 48062; + $32 = (_sqlite3Fts5Mprintf($3,52217,$vararg_buffer5)|0); + HEAP32[$4>>2] = $32; + $33 = HEAP32[$4>>2]|0; + $34 = ($33|0)!=(0|0); + if (!($34)) { + $40 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($40|0); } - $10 = HEAP32[$pX>>2]|0; - $11 = ($10|0)==(0|0); - $12 = $11&1; - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($13|0); + $35 = HEAP32[$1>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = (_sqlite3_declare_vtab($36,$37)|0); + HEAP32[$3>>2] = $38; + $39 = HEAP32[$4>>2]|0; + _sqlite3_free($39); + $40 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($40|0); } -function _parseYyyyMmDd($zDate,$p) { - $zDate = $zDate|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0; - var $9 = 0, $D = 0, $M = 0, $Y = 0, $neg = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; +function _sqlite3Fts5CreateTable($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer5 = sp + 24|0; $vararg_buffer = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $Y = sp + 24|0; - $M = sp + 20|0; - $D = sp + 16|0; - $neg = sp + 12|0; - HEAP32[$1>>2] = $zDate; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $6 = ($5|0)==(45); - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 1|0); - HEAP32[$1>>2] = $8; - HEAP32[$neg>>2] = 1; - } else { - HEAP32[$neg>>2] = 0; - } - $9 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $Y; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + HEAP32[$5>>2] = $0; + HEAP32[$6>>2] = $1; + HEAP32[$7>>2] = $2; + HEAP32[$8>>2] = $3; + HEAP32[$9>>2] = $4; + HEAP32[$11>>2] = 0; + $12 = HEAP32[$5>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$5>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$6>>2]|0; + $21 = HEAP32[$7>>2]|0; + $22 = HEAP32[$8>>2]|0; + $23 = ($22|0)!=(0); + $24 = $23 ? 52321 : 55752; + HEAP32[$vararg_buffer>>2] = $16; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $M; + HEAP32[$vararg_ptr1>>2] = $19; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $D; - $10 = (_getDigits($9,45449,$vararg_buffer)|0); - $11 = ($10|0)!=(3); - if ($11) { - HEAP32[$0>>2] = 1; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + HEAP32[$vararg_ptr2>>2] = $20; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $21; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $24; + $25 = (_fts5ExecPrintf($13,$11,52336,$vararg_buffer)|0); + HEAP32[$10>>2] = $25; + $26 = HEAP32[$11>>2]|0; + $27 = ($26|0)!=(0|0); + if (!($27)) { + $36 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($36|0); } - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 10|0); - HEAP32[$1>>2] = $13; + $28 = HEAP32[$5>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = HEAP32[$11>>2]|0; + HEAP32[$vararg_buffer5>>2] = $30; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $31; + $vararg_ptr9 = ((($vararg_buffer5)) + 8|0); + HEAP32[$vararg_ptr9>>2] = $32; + $33 = (_sqlite3_mprintf(52366,$vararg_buffer5)|0); + $34 = HEAP32[$9>>2]|0; + HEAP32[$34>>2] = $33; + $35 = HEAP32[$11>>2]|0; + _sqlite3_free($35); + $36 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($36|0); +} +function _allSpaces($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, $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 + 4|0; + $3 = sp; + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; while(1) { - $14 = HEAP32[$1>>2]|0; - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = (18403 + ($16)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 & 1; - $21 = ($20|0)!=(0); - if ($21) { - $60 = 1; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(0); + if ($5) { + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = (($7) - 1)|0; + $9 = (($6) + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = ($11|0)==(32); + $17 = $12; } else { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = (84)==($24|0); - $60 = $25; + $17 = 0; } - $26 = HEAP32[$1>>2]|0; - if (!($60)) { + $13 = HEAP32[$3>>2]|0; + if (!($17)) { break; } - $27 = ((($26)) + 1|0); - HEAP32[$1>>2] = $27; - } - $28 = HEAP32[$2>>2]|0; - $29 = (_parseHhMmSs($26,$28)|0); - $30 = ($29|0)==(0); - do { - if (!($30)) { - $31 = HEAP32[$1>>2]|0; - $32 = HEAP8[$31>>0]|0; - $33 = $32 << 24 >> 24; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 41|0); - HEAP8[$36>>0] = 0; - break; - } - HEAP32[$0>>2] = 1; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); - } - } while(0); - $37 = HEAP32[$2>>2]|0; - $38 = ((($37)) + 42|0); - HEAP8[$38>>0] = 0; - $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 40|0); - HEAP8[$40>>0] = 1; - $41 = HEAP32[$neg>>2]|0; - $42 = ($41|0)!=(0); - $43 = HEAP32[$Y>>2]|0; - $44 = (0 - ($43))|0; - $45 = $42 ? $44 : $43; - $46 = HEAP32[$2>>2]|0; - $47 = ((($46)) + 8|0); - HEAP32[$47>>2] = $45; - $48 = HEAP32[$M>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = ((($49)) + 12|0); - HEAP32[$50>>2] = $48; - $51 = HEAP32[$D>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 16|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$2>>2]|0; - $55 = ((($54)) + 43|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)!=(0); - if ($57) { - $58 = HEAP32[$2>>2]|0; - _computeJD($58); + $14 = (($13) + -1)|0; + HEAP32[$3>>2] = $14; } - HEAP32[$0>>2] = 0; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + $15 = ($13|0)==(0); + $16 = $15&1; + STACKTOP = sp;return ($16|0); } -function _sqlite3StmtCurrentTime($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $piTime = 0, $rc = 0, label = 0, sp = 0; +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (55180|0); +} +function ___stdio_close($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $piTime = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 56|0); - HEAP32[$piTime>>2] = $4; - $5 = HEAP32[$piTime>>2]|0; - $6 = $5; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = (($6) + 4)|0; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)==(0); - $13 = ($11|0)==(0); - $14 = $12 & $13; - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 32|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$piTime>>2]|0; - $21 = (_sqlite3OsCurrentTimeInt64($19,$20)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)!=(0); - if ($23) { - $24 = HEAP32[$piTime>>2]|0; - $25 = $24; - $26 = $25; - HEAP32[$26>>2] = 0; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = 0; - } - } - $29 = HEAP32[$piTime>>2]|0; - $30 = $29; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - tempRet0 = ($35); - STACKTOP = sp;return ($32|0); + $vararg_buffer = sp; + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = (_dummy_570($2)|0); + HEAP32[$vararg_buffer>>2] = $3; + $4 = (___syscall6(6,($vararg_buffer|0))|0); + $5 = (___syscall_ret($4)|0); + STACKTOP = sp;return ($5|0); } -function _renameTableFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $len = 0, $tname = 0, $token = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $zCsr = 0, $zRet = 0, $zSql = 0, $zTableName = 0; - var label = 0, sp = 0; +function ___stdio_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $vararg_ptr7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer3 = sp + 16|0; $vararg_buffer = sp; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $zSql = sp + 48|0; - $zTableName = sp + 44|0; - $token = sp + 40|0; - $tname = sp + 32|0; - $zCsr = sp + 28|0; - $len = sp + 24|0; - $zRet = sp + 20|0; - $db = sp + 16|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zSql>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 4|0); + $3 = sp + 32|0; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($3)) + 4|0); + $7 = ((($0)) + 20|0); $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$zTableName>>2] = $9; - $10 = HEAP32[$zSql>>2]|0; - HEAP32[$zCsr>>2] = $10; - HEAP32[$len>>2] = 0; - $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3_context_db_handle($11)|0); - HEAP32[$db>>2] = $12; - $13 = HEAP32[$zSql>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - STACKTOP = sp;return; - } - while(1) { - $15 = HEAP32[$zCsr>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - label = 7; - break; - } - $18 = HEAP32[$zCsr>>2]|0; - HEAP32[$tname>>2] = $18; - $19 = HEAP32[$len>>2]|0; - $20 = ((($tname)) + 4|0); - HEAP32[$20>>2] = $19; - while(1) { - $21 = HEAP32[$len>>2]|0; - $22 = HEAP32[$zCsr>>2]|0; - $23 = (($22) + ($21)|0); - HEAP32[$zCsr>>2] = $23; - $24 = HEAP32[$zCsr>>2]|0; - $25 = (_sqlite3GetToken($24,$token)|0); - HEAP32[$len>>2] = $25; - $26 = HEAP32[$token>>2]|0; - $27 = ($26|0)==(162); - if (!($27)) { - break; + $9 = (($8) - ($5))|0; + HEAP32[$6>>2] = $9; + $10 = ((($3)) + 8|0); + HEAP32[$10>>2] = $1; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $2; + $12 = (($9) + ($2))|0; + $13 = ((($0)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = $3; + HEAP32[$vararg_buffer>>2] = $14; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $15; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $16 = (___syscall146(146,($vararg_buffer|0))|0); + $17 = (___syscall_ret($16)|0); + $18 = ($12|0)==($17|0); + L1: do { + if ($18) { + label = 3; + } else { + $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; + while(1) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; } } - $28 = HEAP32[$token>>2]|0; - $29 = ($28|0)!=(22); - $30 = HEAP32[$token>>2]|0; - $31 = ($30|0)!=(125); - $32 = $29 ? $31 : 0; - if (!($32)) { - break; - } - } - if ((label|0) == 7) { - STACKTOP = sp;return; + } while(0); + if ((label|0) == 3) { + $19 = ((($0)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + ($22)|0); + $24 = ((($0)) + 16|0); + HEAP32[$24>>2] = $23; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; } - $33 = HEAP32[$db>>2]|0; - $34 = HEAP32[$tname>>2]|0; - $35 = HEAP32[$zSql>>2]|0; - $36 = $34; - $37 = $35; - $38 = (($36) - ($37))|0; - $39 = HEAP32[$zSql>>2]|0; - $40 = HEAP32[$zTableName>>2]|0; - $41 = HEAP32[$tname>>2]|0; - $42 = ((($tname)) + 4|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + ($43)|0); - HEAP32[$vararg_buffer>>2] = $38; + STACKTOP = sp;return ($$051|0); +} +function ___stdio_seek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 20|0; + $4 = ((($0)) + 60|0); + $5 = HEAP32[$4>>2]|0; + $6 = $3; + HEAP32[$vararg_buffer>>2] = $5; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $39; + HEAP32[$vararg_ptr1>>2] = 0; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $40; + HEAP32[$vararg_ptr2>>2] = $1; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $44; - $45 = (_sqlite3MPrintf($33,45595,$vararg_buffer)|0); - HEAP32[$zRet>>2] = $45; - $46 = HEAP32[$0>>2]|0; - $47 = HEAP32[$zRet>>2]|0; - _sqlite3_result_text($46,$47,-1,170); - STACKTOP = sp;return; + HEAP32[$vararg_ptr3>>2] = $6; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $2; + $7 = (___syscall140(140,($vararg_buffer|0))|0); + $8 = (___syscall_ret($7)|0); + $9 = ($8|0)<(0); + if ($9) { + HEAP32[$3>>2] = -1; + $10 = -1; + } else { + $$pre = HEAP32[$3>>2]|0; + $10 = $$pre; + } + STACKTOP = sp;return ($10|0); } -function _renameTriggerFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $dist = 0; - var $len = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $tname = 0, $token = 0, $vararg_buffer = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, $zCsr = 0, $zRet = 0, $zSql = 0, $zTableName = 0, label = 0, sp = 0; +function ___syscall_ret($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $zSql = sp + 56|0; - $zTableName = sp + 52|0; - $token = sp + 48|0; - $tname = sp + 40|0; - $dist = sp + 32|0; - $zCsr = sp + 28|0; - $len = sp + 24|0; - $zRet = sp + 20|0; - $db = sp + 16|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zSql>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$zTableName>>2] = $9; - HEAP32[$dist>>2] = 3; - $10 = HEAP32[$zSql>>2]|0; - HEAP32[$zCsr>>2] = $10; - HEAP32[$len>>2] = 0; - $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3_context_db_handle($11)|0); - HEAP32[$db>>2] = $12; - $13 = HEAP32[$zSql>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - STACKTOP = sp;return; + $1 = ($0>>>0)>(4294963200); + if ($1) { + $2 = (0 - ($0))|0; + $3 = (___errno_location()|0); + HEAP32[$3>>2] = $2; + $$0 = -1; + } else { + $$0 = $0; } - while(1) { - $15 = HEAP32[$zCsr>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - label = 8; - break; + return ($$0|0); +} +function ___errno_location() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_103()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_103() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _pthread_self() { + var label = 0, sp = 0; + sp = STACKTOP; + return (10796|0); +} +function _dummy_570($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|0); +} +function ___stdout_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 16|0; + $4 = ((($0)) + 36|0); + HEAP32[$4>>2] = 169; + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 64; + $7 = ($6|0)==(0); + if ($7) { + $8 = ((($0)) + 60|0); + $9 = HEAP32[$8>>2]|0; + $10 = $3; + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 21523; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $11 = (___syscall54(54,($vararg_buffer|0))|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = ((($0)) + 75|0); + HEAP8[$13>>0] = -1; } - $18 = HEAP32[$zCsr>>2]|0; - HEAP32[$tname>>2] = $18; - $19 = HEAP32[$len>>2]|0; - $20 = ((($tname)) + 4|0); - HEAP32[$20>>2] = $19; - while(1) { - $21 = HEAP32[$len>>2]|0; - $22 = HEAP32[$zCsr>>2]|0; - $23 = (($22) + ($21)|0); - HEAP32[$zCsr>>2] = $23; - $24 = HEAP32[$zCsr>>2]|0; - $25 = (_sqlite3GetToken($24,$token)|0); - HEAP32[$len>>2] = $25; - $26 = HEAP32[$token>>2]|0; - $27 = ($26|0)==(162); - if (!($27)) { + } + $14 = (___stdio_write($0,$1,$2)|0); + STACKTOP = sp;return ($14|0); +} +function _tolower($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_isupper($0)|0); + $2 = ($1|0)==(0); + $3 = $0 | 32; + $$0 = $2 ? $0 : $3; + return ($$0|0); +} +function _isupper($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -65)|0; + $2 = ($1>>>0)<(26); + $3 = $2&1; + return ($3|0); +} +function _toupper($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_islower($0)|0); + $2 = ($1|0)==(0); + $3 = $0 & 95; + $$0 = $2 ? $0 : $3; + return ($$0|0); +} +function _islower($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -97)|0; + $2 = ($1>>>0)<(26); + $3 = $2&1; + return ($3|0); +} +function _cosh($0) { + $0 = +$0; + var $$0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + $3 = $2 & 2147483647; + HEAP32[tempDoublePtr>>2] = $1;HEAP32[tempDoublePtr+4>>2] = $3;$4 = +HEAPF64[tempDoublePtr>>3]; + $5 = ($3>>>0)<(1072049730); + do { + if ($5) { + $6 = ($3>>>0)<(1045430272); + if ($6) { + $$0 = 1.0; + } else { + $7 = (+_expm1($4)); + $8 = $7 * $7; + $9 = $7 + 1.0; + $10 = $9 * 2.0; + $11 = $8 / $10; + $12 = $11 + 1.0; + $$0 = $12; + } + } else { + $13 = ($3>>>0)<(1082535490); + if ($13) { + $14 = (+Math_exp((+$4))); + $15 = 1.0 / $14; + $16 = $14 + $15; + $17 = $16 * 0.5; + $$0 = $17; + break; + } else { + $18 = (+___expo2($4)); + $$0 = $18; break; } } - $28 = HEAP32[$dist>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$dist>>2] = $29; - $30 = HEAP32[$token>>2]|0; - $31 = ($30|0)==(122); - $32 = HEAP32[$token>>2]|0; - $33 = ($32|0)==(107); - $or$cond = $31 | $33; - $$ = $or$cond ? 0 : $29; - HEAP32[$dist>>2] = $$; - $34 = HEAP32[$dist>>2]|0; - $35 = ($34|0)!=(2); - if ($35) { - continue; - } - $36 = HEAP32[$token>>2]|0; - $37 = ($36|0)!=(137); - $38 = HEAP32[$token>>2]|0; - $39 = ($38|0)!=(74); - $or$cond3 = $37 & $39; - $40 = HEAP32[$token>>2]|0; - $41 = ($40|0)!=(5); - $or$cond6 = $or$cond3 & $41; - if (!($or$cond6)) { - break; - } - } - if ((label|0) == 8) { - STACKTOP = sp;return; - } - $42 = HEAP32[$db>>2]|0; - $43 = HEAP32[$tname>>2]|0; - $44 = HEAP32[$zSql>>2]|0; - $45 = $43; - $46 = $44; - $47 = (($45) - ($46))|0; - $48 = HEAP32[$zSql>>2]|0; - $49 = HEAP32[$zTableName>>2]|0; - $50 = HEAP32[$tname>>2]|0; - $51 = ((($tname)) + 4|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + ($52)|0); - HEAP32[$vararg_buffer>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $48; - $vararg_ptr8 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $49; - $vararg_ptr9 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $53; - $54 = (_sqlite3MPrintf($42,45595,$vararg_buffer)|0); - HEAP32[$zRet>>2] = $54; - $55 = HEAP32[$0>>2]|0; - $56 = HEAP32[$zRet>>2]|0; - _sqlite3_result_text($55,$56,-1,170); - STACKTOP = sp;return; + } while(0); + return (+$$0); } -function _renameParentFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $9 = 0, $db = 0, $n = 0, $or$cond = 0, $token = 0, $vararg_buffer = 0, $vararg_buffer5 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $z = 0, $zInput = 0, $zNew = 0, $zOld = 0, $zOut = 0; - var $zOutput = 0, $zParent = 0, $zResult = 0, label = 0, sp = 0; +function _sinh($0) { + $0 = +$0; + var $$ = 0.0, $$0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $3 = 0, $4 = 0, $5 = 0.0; + var $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer = sp; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $db = sp + 64|0; - $zOutput = sp + 60|0; - $zResult = sp + 56|0; - $zInput = sp + 52|0; - $zOld = sp + 48|0; - $zNew = sp + 44|0; - $z = sp + 40|0; - $n = sp + 36|0; - $token = sp + 32|0; - $zParent = sp + 28|0; - $zOut = sp + 24|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - HEAP32[$zOutput>>2] = 0; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_text($6)|0); - HEAP32[$zInput>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_text($10)|0); - HEAP32[$zOld>>2] = $11; - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3_value_text($14)|0); - HEAP32[$zNew>>2] = $15; - $16 = HEAP32[$zInput>>2]|0; - $17 = ($16|0)==(0|0); - $18 = HEAP32[$zOld>>2]|0; - $19 = ($18|0)==(0|0); - $or$cond = $17 | $19; - if ($or$cond) { - STACKTOP = sp;return; - } - $20 = HEAP32[$zInput>>2]|0; - HEAP32[$z>>2] = $20; - while(1) { - $21 = HEAP32[$z>>2]|0; - $22 = HEAP8[$21>>0]|0; - $23 = ($22<<24>>24)!=(0); - if (!($23)) { - break; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + $3 = ($2|0)<(0); + $$ = $3 ? -0.5 : 0.5; + $4 = $2 & 2147483647; + HEAP32[tempDoublePtr>>2] = $1;HEAP32[tempDoublePtr+4>>2] = $4;$5 = +HEAPF64[tempDoublePtr>>3]; + $6 = ($4>>>0)<(1082535490); + do { + if ($6) { + $7 = (+_expm1($5)); + $8 = ($4>>>0)<(1072693248); + if (!($8)) { + $16 = $7 + 1.0; + $17 = $7 / $16; + $18 = $7 + $17; + $19 = $$ * $18; + $$0 = $19; + break; + } + $9 = ($4>>>0)<(1045430272); + if ($9) { + $$0 = $0; + } else { + $10 = $7 * 2.0; + $11 = $7 * $7; + $12 = $7 + 1.0; + $13 = $11 / $12; + $14 = $10 - $13; + $15 = $$ * $14; + $$0 = $15; + } + } else { + $20 = $$ * 2.0; + $21 = (+___expo2($5)); + $22 = $20 * $21; + $$0 = $22; } - $24 = HEAP32[$z>>2]|0; - $25 = (_sqlite3GetToken($24,$token)|0); - HEAP32[$n>>2] = $25; - $26 = HEAP32[$token>>2]|0; - $27 = ($26|0)==(105); - if ($27) { - while(1) { - $28 = HEAP32[$n>>2]|0; - $29 = HEAP32[$z>>2]|0; - $30 = (($29) + ($28)|0); - HEAP32[$z>>2] = $30; - $31 = HEAP32[$z>>2]|0; - $32 = (_sqlite3GetToken($31,$token)|0); - HEAP32[$n>>2] = $32; - $33 = HEAP32[$token>>2]|0; - $34 = ($33|0)==(162); - if (!($34)) { + } while(0); + return (+$$0); +} +function _expm1($0) { + $0 = +$0; + var $$ = 0.0, $$0 = 0.0, $$0105 = 0, $$0106 = 0.0, $$0107 = 0.0, $$0109 = 0.0, $$0110 = 0.0, $$0111 = 0.0, $$1 = 0, $$1108 = 0.0, $$sink = 0.0, $$sink$v = 0.0, $$sink112 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0; + var $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0; + var $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0; + var $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0.0; + var $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + $3 = $2 & 2147483647; + $4 = (_bitshift64Lshr(($1|0),($2|0),63)|0); + $5 = tempRet0; + $6 = ($3>>>0)>(1078159481); + do { + if ($6) { + $7 = (___DOUBLE_BITS_260($0)|0); + $8 = tempRet0; + $9 = $8 & 2147483647; + $10 = ($9>>>0)>(2146435072); + $11 = ($7>>>0)>(0); + $12 = ($9|0)==(2146435072); + $13 = $12 & $11; + $14 = $10 | $13; + if ($14) { + $$0 = $0; + } else { + $15 = ($4|0)==(0); + if ($15) { + $16 = $0 > 709.78271289338397; + if ($16) { + $17 = $0 * 8.9884656743115795E+307; + $$0 = $17; + } else { + $25 = 0.5; + label = 12; + } + } else { + $$0 = -1.0; + } + } + } else { + $18 = ($3>>>0)>(1071001154); + if (!($18)) { + $34 = ($3>>>0)<(1016070144); + if ($34) { + $$0 = $0; + break; + } else { + $$0106 = $0;$$0111 = 0.0;$$1 = 0; + label = 15; break; } } - $35 = HEAP32[$token>>2]|0; - $36 = ($35|0)==(163); - if ($36) { + $19 = ($3>>>0)<(1072734898); + $20 = ($4|0)!=(0); + if (!($19)) { + $$ = $20 ? -0.5 : 0.5; + $25 = $$; + label = 12; break; } - $37 = HEAP32[$db>>2]|0; - $38 = HEAP32[$z>>2]|0; - $39 = HEAP32[$n>>2]|0; - $40 = ($39|0)<(0); - $41 = $40 << 31 >> 31; - $42 = (_sqlite3DbStrNDup($37,$38,$39,$41)|0); - HEAP32[$zParent>>2] = $42; - $43 = HEAP32[$zParent>>2]|0; - $44 = ($43|0)==(0|0); - if ($44) { + if ($20) { + $22 = $0 + 0.69314718036912382; + $$0105 = -1;$$0109 = $22;$$0110 = -1.9082149292705877E-10; + label = 13; + break; + } else { + $21 = $0 + -0.69314718036912382; + $$0105 = 1;$$0109 = $21;$$0110 = 1.9082149292705877E-10; + label = 13; break; } - $45 = HEAP32[$zParent>>2]|0; - _sqlite3Dequote($45); - $46 = HEAP32[$zOld>>2]|0; - $47 = HEAP32[$zParent>>2]|0; - $48 = (_sqlite3StrICmp($46,$47)|0); - $49 = (0)==($48|0); - if ($49) { - $50 = HEAP32[$db>>2]|0; - $51 = HEAP32[$zOutput>>2]|0; - $52 = ($51|0)!=(0|0); - $53 = HEAP32[$zOutput>>2]|0; - $54 = $52 ? $53 : 18402; - $55 = HEAP32[$z>>2]|0; - $56 = HEAP32[$zInput>>2]|0; - $57 = $55; - $58 = $56; - $59 = (($57) - ($58))|0; - $60 = HEAP32[$zInput>>2]|0; - $61 = HEAP32[$zNew>>2]|0; - HEAP32[$vararg_buffer>>2] = $54; - $vararg_ptr2 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr2>>2] = $59; - $vararg_ptr3 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr3>>2] = $60; - $vararg_ptr4 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr4>>2] = $61; - $62 = (_sqlite3MPrintf($50,45584,$vararg_buffer)|0); - HEAP32[$zOut>>2] = $62; - $63 = HEAP32[$db>>2]|0; - $64 = HEAP32[$zOutput>>2]|0; - _sqlite3DbFree($63,$64); - $65 = HEAP32[$zOut>>2]|0; - HEAP32[$zOutput>>2] = $65; - $66 = HEAP32[$n>>2]|0; - $67 = HEAP32[$z>>2]|0; - $68 = (($67) + ($66)|0); - HEAP32[$zInput>>2] = $68; - } - $69 = HEAP32[$db>>2]|0; - $70 = HEAP32[$zParent>>2]|0; - _sqlite3DbFree($69,$70); - } - $71 = HEAP32[$z>>2]|0; - $72 = HEAP32[$n>>2]|0; - $73 = (($71) + ($72)|0); - HEAP32[$z>>2] = $73; - } - $74 = HEAP32[$db>>2]|0; - $75 = HEAP32[$zOutput>>2]|0; - $76 = ($75|0)!=(0|0); - $77 = HEAP32[$zOutput>>2]|0; - $78 = $76 ? $77 : 18402; - $79 = HEAP32[$zInput>>2]|0; - HEAP32[$vararg_buffer5>>2] = $78; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $79; - $80 = (_sqlite3MPrintf($74,24705,$vararg_buffer5)|0); - HEAP32[$zResult>>2] = $80; - $81 = HEAP32[$0>>2]|0; - $82 = HEAP32[$zResult>>2]|0; - _sqlite3_result_text($81,$82,-1,170); - $83 = HEAP32[$db>>2]|0; - $84 = HEAP32[$zOutput>>2]|0; - _sqlite3DbFree($83,$84); - STACKTOP = sp;return; + } + } while(0); + if ((label|0) == 12) { + $23 = $0 * 1.4426950408889634; + $24 = $23 + $25; + $26 = (~~(($24))); + $27 = (+($26|0)); + $28 = $27 * 0.69314718036912382; + $29 = $0 - $28; + $30 = $27 * 1.9082149292705877E-10; + $$0105 = $26;$$0109 = $29;$$0110 = $30; + label = 13; + } + if ((label|0) == 13) { + $31 = $$0109 - $$0110; + $32 = $$0109 - $31; + $33 = $32 - $$0110; + $$0106 = $31;$$0111 = $33;$$1 = $$0105; + label = 15; + } + L20: do { + if ((label|0) == 15) { + $35 = $$0106 * 0.5; + $36 = $$0106 * $35; + $37 = $36 * 2.0109921818362437E-7; + $38 = 4.0082178273293624E-6 - $37; + $39 = $36 * $38; + $40 = $39 + -7.9365075786748794E-5; + $41 = $36 * $40; + $42 = $41 + 0.0015873015872548146; + $43 = $36 * $42; + $44 = $43 + -0.033333333333333132; + $45 = $36 * $44; + $46 = $45 + 1.0; + $47 = $35 * $46; + $48 = 3.0 - $47; + $49 = $46 - $48; + $50 = $$0106 * $48; + $51 = 6.0 - $50; + $52 = $49 / $51; + $53 = $36 * $52; + $54 = ($$1|0)==(0); + if ($54) { + $55 = $$0106 * $53; + $56 = $55 - $36; + $57 = $$0106 - $56; + $$0 = $57; + break; + } + $58 = $53 - $$0111; + $59 = $$0106 * $58; + $60 = $59 - $$0111; + $61 = $60 - $36; + switch ($$1|0) { + case -1: { + $62 = $$0106 - $61; + $63 = $62 * 0.5; + $64 = $63 + -0.5; + $$0 = $64; + break L20; + break; + } + case 1: { + $65 = $$0106 < -0.25; + if ($65) { + $66 = $$0106 + 0.5; + $67 = $61 - $66; + $68 = $67 * -2.0; + $$0 = $68; + break L20; + } else { + $69 = $$0106 - $61; + $70 = $69 * 2.0; + $71 = $70 + 1.0; + $$0 = $71; + break L20; + } + break; + } + default: { + $72 = (($$1) + 1023)|0; + $73 = (_bitshift64Shl(($72|0),0,52)|0); + $74 = tempRet0; + HEAP32[tempDoublePtr>>2] = $73;HEAP32[tempDoublePtr+4>>2] = $74;$75 = +HEAPF64[tempDoublePtr>>3]; + $76 = ($$1>>>0)>(56); + if ($76) { + $77 = $$0106 - $61; + $78 = $77 + 1.0; + $79 = ($$1|0)==(1024); + $80 = $78 * 2.0; + $81 = $80 * 8.9884656743115795E+307; + $82 = $75 * $78; + $$0107 = $79 ? $81 : $82; + $83 = $$0107 + -1.0; + $$0 = $83; + break L20; + } else { + $84 = (1023 - ($$1))|0; + $85 = (_bitshift64Shl(($84|0),0,52)|0); + $86 = tempRet0; + $87 = ($$1|0)<(20); + HEAP32[tempDoublePtr>>2] = $85;HEAP32[tempDoublePtr+4>>2] = $86;$88 = +HEAPF64[tempDoublePtr>>3]; + $89 = $88 + $61; + $90 = 1.0 - $88; + $$sink112 = $87 ? $90 : 1.0; + $$sink$v = $87 ? $61 : $89; + $$sink = $$0106 - $$sink$v; + $91 = $$sink112 + $$sink; + $$1108 = $75 * $91; + $$0 = $$1108; + break L20; + } + } + } + } + } while(0); + return (+$$0); } -function _measureAllocationSize($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function ___expo2($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3DbMallocSize($2,$3)|0); - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 456|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($4))|0; - HEAP32[$7>>2] = $9; - STACKTOP = sp;return; + $1 = $0 + -1416.0996898839683; + $2 = (+Math_exp((+$1))); + $3 = $2 * 2.2471164185778949E+307; + $4 = $3 * 2.2471164185778949E+307; + return (+$4); } -function _vdbeFreeOpArray($db,$aOp,$nOp) { - $db = $db|0; - $aOp = $aOp|0; - $nOp = $nOp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pOp = 0, label = 0, sp = 0; +function ___DOUBLE_BITS_260($0) { + $0 = +$0; + var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pOp = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $aOp; - HEAP32[$2>>2] = $nOp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$1>>2]|0; - _sqlite3DbFree($25,$26); - STACKTOP = sp;return; - } - $5 = HEAP32[$1>>2]|0; - HEAP32[$pOp>>2] = $5; - while(1) { - $6 = HEAP32[$pOp>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (($8) + (($7*20)|0)|0); - $10 = ($6>>>0)<($9>>>0); - if (!($10)) { - break; - } - $11 = HEAP32[$pOp>>2]|0; - $12 = ((($11)) + 1|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)!=(0); - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$pOp>>2]|0; - $17 = ((($16)) + 1|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18 << 24 >> 24; - $20 = HEAP32[$pOp>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$21>>2]|0; - _freeP4($15,$19,$22); + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + tempRet0 = ($2); + return ($1|0); +} +function _strcmp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = HEAP8[$0>>0]|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($2<<24>>24)!=($3<<24>>24); + $5 = ($2<<24>>24)==(0); + $or$cond9 = $5 | $4; + if ($or$cond9) { + $$lcssa = $3;$$lcssa8 = $2; + } else { + $$011 = $1;$$0710 = $0; + while(1) { + $6 = ((($$0710)) + 1|0); + $7 = ((($$011)) + 1|0); + $8 = HEAP8[$6>>0]|0; + $9 = HEAP8[$7>>0]|0; + $10 = ($8<<24>>24)!=($9<<24>>24); + $11 = ($8<<24>>24)==(0); + $or$cond = $11 | $10; + if ($or$cond) { + $$lcssa = $9;$$lcssa8 = $8; + break; + } else { + $$011 = $7;$$0710 = $6; + } } - $23 = HEAP32[$pOp>>2]|0; - $24 = ((($23)) + 20|0); - HEAP32[$pOp>>2] = $24; } - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$1>>2]|0; - _sqlite3DbFree($25,$26); - STACKTOP = sp;return; + $12 = $$lcssa8&255; + $13 = $$lcssa&255; + $14 = (($12) - ($13))|0; + return ($14|0); } -function _deleteTable($db,$pTable) { - $db = $db|0; - $pTable = $pTable|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pIndex = 0, $pNext = 0, $zName = 0, label = 0, sp = 0; +function _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pIndex = sp + 8|0; - $pNext = sp + 4|0; - $zName = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTable; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pIndex>>2] = $4; - while(1) { - $5 = HEAP32[$pIndex>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - break; - } - $7 = HEAP32[$pIndex>>2]|0; - $8 = ((($7)) + 20|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$pNext>>2] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - label = 5; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; } else { - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 456|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if ($15) { - label = 5; + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; } - if ((label|0) == 5) { - label = 0; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 42|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 & 16; - $21 = ($20|0)!=(0); - if (!($21)) { - $22 = HEAP32[$pIndex>>2]|0; - $23 = HEAP32[$22>>2]|0; - HEAP32[$zName>>2] = $23; - $24 = HEAP32[$pIndex>>2]|0; - $25 = ((($24)) + 24|0); - $26 = HEAP32[$25>>2]|0; - $27 = ((($26)) + 24|0); - $28 = HEAP32[$zName>>2]|0; - (_sqlite3HashInsert($27,$28,0)|0); + } while(0); + return ($14|0); +} +function _strncmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + if ($3) { + $$020 = 0; + } else { + $4 = HEAP8[$0>>0]|0; + $5 = $4&255; + $6 = ($4<<24>>24)==(0); + $7 = HEAP8[$1>>0]|0; + $8 = $7&255; + L3: do { + if ($6) { + $$lcssa = $8;$$lcssa22 = $5; + } else { + $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; + while(1) { + $$01926 = (($$01926$in) + -1)|0; + $9 = ($10<<24>>24)!=(0); + $11 = ($$01926|0)!=(0); + $or$cond = $11 & $9; + $12 = ($13<<24>>24)==($10<<24>>24); + $or$cond21 = $12 & $or$cond; + if (!($or$cond21)) { + $$lcssa = $22;$$lcssa22 = $23; + break L3; + } + $14 = ((($$01824)) + 1|0); + $15 = ((($$025)) + 1|0); + $16 = HEAP8[$14>>0]|0; + $17 = $16&255; + $18 = ($16<<24>>24)==(0); + $19 = HEAP8[$15>>0]|0; + $20 = $19&255; + if ($18) { + $$lcssa = $20;$$lcssa22 = $17; + break; + } else { + $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; + } + } } - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$pIndex>>2]|0; - _freeIndex($29,$30); - $31 = HEAP32[$pNext>>2]|0; - HEAP32[$pIndex>>2] = $31; + } while(0); + $21 = (($$lcssa22) - ($$lcssa))|0; + $$020 = $21; } - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$1>>2]|0; - _sqlite3FkDelete($32,$33); - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$1>>2]|0; - _sqlite3DeleteColumnNames($34,$35); - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$37>>2]|0; - _sqlite3DbFree($36,$38); - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 20|0); - $42 = HEAP32[$41>>2]|0; - _sqlite3DbFree($39,$42); - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 12|0); - $46 = HEAP32[$45>>2]|0; - _sqlite3SelectDelete($43,$46); - $47 = HEAP32[$0>>2]|0; - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 24|0); - $50 = HEAP32[$49>>2]|0; - _sqlite3ExprListDelete($47,$50); - $51 = HEAP32[$0>>2]|0; - $52 = HEAP32[$1>>2]|0; - _sqlite3VtabClear($51,$52); - $53 = HEAP32[$0>>2]|0; - $54 = HEAP32[$1>>2]|0; - _sqlite3DbFree($53,$54); - STACKTOP = sp;return; + return ($$020|0); } -function _sqlite3FkDelete($db,$pTab) { - $db = $db|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pFKey = 0, $pNext = 0, $z = 0, label = 0, sp = 0; +function ___lockfile($0) { + $0 = $0|0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $pFKey = sp + 12|0; - $pNext = sp + 8|0; - $p = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTab; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pFKey>>2] = $4; + return 0; +} +function ___unlockfile($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _strerror($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___pthread_self_104()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|0); +} +function ___pthread_self_104() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___strerror_l($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 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; + var label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; while(1) { - $5 = HEAP32[$pFKey>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { + $3 = (52571 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; break; } - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)!=(0|0); + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 456|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0|0); - if ($12) { - label = 5; - } + $$01214 = 52659;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 52659; } else { + $$01214 = 52659;$$115 = $$016; label = 5; } - if ((label|0) == 5) { + } + if ((label|0) == 5) { + while(1) { label = 0; - $13 = HEAP32[$pFKey>>2]|0; - $14 = ((($13)) + 16|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); - $17 = HEAP32[$pFKey>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP32[$18>>2]|0; - if ($16) { - $20 = HEAP32[$pFKey>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($22)) + 12|0); - HEAP32[$23>>2] = $19; - } else { - HEAP32[$p>>2] = $19; - $24 = HEAP32[$p>>2]|0; - $25 = ($24|0)!=(0|0); - $26 = HEAP32[$pFKey>>2]|0; - if ($25) { - $27 = ((($26)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP32[$29>>2]|0; - $33 = $30; + $$113 = $$01214; + while(1) { + $9 = HEAP8[$$113>>0]|0; + $10 = ($9<<24>>24)==(0); + $11 = ((($$113)) + 1|0); + if ($10) { + break; } else { - $31 = ((($26)) + 8|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32; + $$113 = $11; } - HEAP32[$z>>2] = $33; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 64|0); - $36 = HEAP32[$35>>2]|0; - $37 = ((($36)) + 56|0); - $38 = HEAP32[$z>>2]|0; - $39 = HEAP32[$p>>2]|0; - (_sqlite3HashInsert($37,$38,$39)|0); } - $40 = HEAP32[$pFKey>>2]|0; - $41 = ((($40)) + 12|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)!=(0|0); - if ($43) { - $44 = HEAP32[$pFKey>>2]|0; - $45 = ((($44)) + 16|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$pFKey>>2]|0; - $48 = ((($47)) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = ((($49)) + 16|0); - HEAP32[$50>>2] = $46; + $12 = (($$115) + -1)|0; + $13 = ($12|0)==(0); + if ($13) { + $$012$lcssa = $11; + break; + } else { + $$01214 = $11;$$115 = $12; + label = 5; } } - $51 = HEAP32[$0>>2]|0; - $52 = HEAP32[$pFKey>>2]|0; - $53 = ((($52)) + 28|0); - $54 = HEAP32[$53>>2]|0; - _fkTriggerDelete($51,$54); - $55 = HEAP32[$0>>2]|0; - $56 = HEAP32[$pFKey>>2]|0; - $57 = ((($56)) + 28|0); - $58 = ((($57)) + 4|0); - $59 = HEAP32[$58>>2]|0; - _fkTriggerDelete($55,$59); - $60 = HEAP32[$pFKey>>2]|0; - $61 = ((($60)) + 4|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$pNext>>2] = $62; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$pFKey>>2]|0; - _sqlite3DbFree($63,$64); - $65 = HEAP32[$pNext>>2]|0; - HEAP32[$pFKey>>2] = $65; - } - STACKTOP = sp;return; -} -function _sqlite3VtabClear($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - if ($3) { - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 456|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $8 = HEAP32[$1>>2]|0; - (_vtabDisconnectAll(0,$8)|0); - } - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 52|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 48|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($13|0)<($16|0); - if (!($17)) { - break; - } - $18 = HEAP32[$i>>2]|0; - $19 = ($18|0)!=(1); - if ($19) { - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 52|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($21<<2)|0); - $26 = HEAP32[$25>>2]|0; - _sqlite3DbFree($20,$26); - } - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$i>>2] = $28; } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 52|0); - $32 = HEAP32[$31>>2]|0; - _sqlite3DbFree($29,$32); - STACKTOP = sp;return; -} -function _isalpha($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c | 32; - $1 = (($0) + -97)|0; - $2 = ($1>>>0)<(26); - $3 = $2&1; - return ($3|0); + $14 = ((($1)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = (___lctrans($$012$lcssa,$15)|0); + return ($16|0); } -function _isblank($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function ___lctrans($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($c|0)==(32); - $1 = ($c|0)==(9); - $2 = $0 | $1; - $3 = $2&1; - return ($3|0); + $2 = (___lctrans_impl($0,$1)|0); + return ($2|0); } -function _islower($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function ___lctrans_impl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (($c) + -97)|0; - $1 = ($0>>>0)<(26); - $2 = $1&1; - return ($2|0); + $2 = ($1|0)==(0|0); + if ($2) { + $$0 = 0; + } else { + $3 = HEAP32[$1>>2]|0; + $4 = ((($1)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = (___mo_lookup($3,$5,$0)|0); + $$0 = $6; + } + $7 = ($$0|0)!=(0|0); + $8 = $7 ? $$0 : $0; + return ($8|0); } -function _isupper($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function ___mo_lookup($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (($c) + -65)|0; - $1 = ($0>>>0)<(26); - $2 = $1&1; - return ($2|0); + $3 = HEAP32[$0>>2]|0; + $4 = (($3) + 1794895138)|0; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_swapc($6,$4)|0); + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_swapc($9,$4)|0); + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_swapc($12,$4)|0); + $14 = $1 >>> 2; + $15 = ($7>>>0)<($14>>>0); + L1: do { + if ($15) { + $16 = $7 << 2; + $17 = (($1) - ($16))|0; + $18 = ($10>>>0)<($17>>>0); + $19 = ($13>>>0)<($17>>>0); + $or$cond = $18 & $19; + if ($or$cond) { + $20 = $13 | $10; + $21 = $20 & 3; + $22 = ($21|0)==(0); + if ($22) { + $23 = $10 >>> 2; + $24 = $13 >>> 2; + $$090 = 0;$$094 = $7; + while(1) { + $25 = $$094 >>> 1; + $26 = (($$090) + ($25))|0; + $27 = $26 << 1; + $28 = (($27) + ($23))|0; + $29 = (($0) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_swapc($30,$4)|0); + $32 = (($28) + 1)|0; + $33 = (($0) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_swapc($34,$4)|0); + $36 = ($35>>>0)<($1>>>0); + $37 = (($1) - ($35))|0; + $38 = ($31>>>0)<($37>>>0); + $or$cond102 = $36 & $38; + if (!($or$cond102)) { + $$4 = 0; + break L1; + } + $39 = (($35) + ($31))|0; + $40 = (($0) + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $$4 = 0; + break L1; + } + $43 = (($0) + ($35)|0); + $44 = (_strcmp($2,$43)|0); + $45 = ($44|0)==(0); + if ($45) { + break; + } + $62 = ($$094|0)==(1); + $63 = ($44|0)<(0); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$090 = $$191;$$094 = $$195; + } + } + $46 = (($27) + ($24))|0; + $47 = (($0) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = (_swapc($48,$4)|0); + $50 = (($46) + 1)|0; + $51 = (($0) + ($50<<2)|0); + $52 = HEAP32[$51>>2]|0; + $53 = (_swapc($52,$4)|0); + $54 = ($53>>>0)<($1>>>0); + $55 = (($1) - ($53))|0; + $56 = ($49>>>0)<($55>>>0); + $or$cond104 = $54 & $56; + if ($or$cond104) { + $57 = (($0) + ($53)|0); + $58 = (($53) + ($49))|0; + $59 = (($0) + ($58)|0); + $60 = HEAP8[$59>>0]|0; + $61 = ($60<<24>>24)==(0); + $$ = $61 ? $57 : 0; + $$4 = $$; + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } while(0); + return ($$4|0); } -function _tolower($c) { - $c = $c|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _swapc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_isupper($c)|0); - $1 = ($0|0)==(0); - $2 = $c | 32; - $$0 = $1 ? $c : $2; - return ($$0|0); + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); } -function _toupper($c) { - $c = $c|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _isalpha($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_islower($c)|0); - $1 = ($0|0)==(0); - $2 = $c & 95; - $$0 = $1 ? $c : $2; - return ($$0|0); + $1 = $0 | 32; + $2 = (($1) + -97)|0; + $3 = ($2>>>0)<(26); + $4 = $3&1; + return ($4|0); } -function ___errno_location() { - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _isblank($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[8864>>2]|0; - $1 = ($0|0)==(0|0); - if ($1) { - $$0 = 8912; - } else { - $2 = (_pthread_self()|0); - $3 = ((($2)) + 60|0); - $4 = HEAP32[$3>>2]|0; - $$0 = $4; - } - return ($$0|0); + $1 = ($0|0)==(32); + $2 = ($0|0)==(9); + $3 = $1 | $2; + $4 = $3&1; + return ($4|0); } -function _strerror($e) { - $e = $e|0; - var $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$03 = 0, $i$03$lcssa = 0, $i$12 = 0, $s$0$lcssa = 0, $s$01 = 0, $s$1 = 0, label = 0; - var sp = 0; +function _close($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - $i$03 = 0; - while(1) { - $1 = (45740 + ($i$03)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ($3|0)==($e|0); - if ($4) { - $i$03$lcssa = $i$03; - label = 2; - break; - } - $5 = (($i$03) + 1)|0; - $6 = ($5|0)==(87); + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $1 = (_dummy_570($0)|0); + HEAP32[$vararg_buffer>>2] = $1; + $2 = (___syscall6(6,($vararg_buffer|0))|0); + $3 = ($2|0)==(-4); + $$ = $3 ? 0 : $2; + $4 = (___syscall_ret($$)|0); + STACKTOP = sp;return ($4|0); +} +function _fstat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer6 = sp + 40|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $2 = $1; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $2; + $3 = (___syscall197(197,($vararg_buffer|0))|0); + $4 = ($3|0)==(-9); + if ($4) { + HEAP32[$vararg_buffer2>>2] = $0; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = 1; + $5 = (___syscall221(221,($vararg_buffer2|0))|0); + $6 = ($5|0)<(0); if ($6) { - $i$12 = 87;$s$01 = 45828; - label = 5; - break; - } else { - $i$03 = $5; - } - } - if ((label|0) == 2) { - $0 = ($i$03$lcssa|0)==(0); - if ($0) { - $s$0$lcssa = 45828; + label = 3; } else { - $i$12 = $i$03$lcssa;$s$01 = 45828; - label = 5; + ___procfdname($vararg_buffer2,$0); + $8 = $vararg_buffer2; + HEAP32[$vararg_buffer6>>2] = $8; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $2; + $9 = (___syscall195(195,($vararg_buffer6|0))|0); + $10 = (___syscall_ret($9)|0); + $$0 = $10; } + } else { + label = 3; } - if ((label|0) == 5) { - while(1) { - label = 0; - $s$1 = $s$01; - while(1) { - $7 = HEAP8[$s$1>>0]|0; - $8 = ($7<<24>>24)==(0); - $9 = ((($s$1)) + 1|0); - if ($8) { - $$lcssa = $9; - break; - } else { - $s$1 = $9; - } - } - $10 = (($i$12) + -1)|0; - $11 = ($10|0)==(0); - if ($11) { - $s$0$lcssa = $$lcssa; - break; - } else { - $i$12 = $10;$s$01 = $$lcssa; - label = 5; - } - } + if ((label|0) == 3) { + $7 = (___syscall_ret($3)|0); + $$0 = $7; } - return ($s$0$lcssa|0); + STACKTOP = sp;return ($$0|0); } -function _fcntl($fd,$cmd,$varargs) { - $fd = $fd|0; - $cmd = $cmd|0; +function _fcntl($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; $varargs = $varargs|0; - var $$ = 0, $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $ap = 0, $arglist_current = 0, $arglist_next = 0, $ex = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer18 = 0, $vararg_buffer23 = 0, $vararg_buffer28 = 0, $vararg_buffer3 = 0, $vararg_buffer31 = 0, $vararg_buffer36 = 0, $vararg_buffer41 = 0; - var $vararg_buffer46 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr26 = 0, $vararg_ptr27 = 0, $vararg_ptr34 = 0, $vararg_ptr35 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr44 = 0, $vararg_ptr45 = 0, $vararg_ptr49 = 0, $vararg_ptr50 = 0; - var $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + var $$ = 0, $$0 = 0, $$2 = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer18 = 0, $vararg_buffer23 = 0, $vararg_buffer28 = 0, $vararg_buffer3 = 0, $vararg_buffer31 = 0, $vararg_buffer36 = 0, $vararg_buffer41 = 0, $vararg_buffer46 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0; + var $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr26 = 0, $vararg_ptr27 = 0, $vararg_ptr34 = 0, $vararg_ptr35 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr44 = 0, $vararg_ptr45 = 0, $vararg_ptr49 = 0, $vararg_ptr50 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 192|0; $vararg_buffer46 = sp + 152|0; @@ -273446,809 +329039,1061 @@ function _fcntl($fd,$cmd,$varargs) { $vararg_buffer8 = sp + 32|0; $vararg_buffer3 = sp + 16|0; $vararg_buffer = sp; - $ap = sp + 176|0; - $ex = sp + 168|0; - HEAP32[$ap>>2] = $varargs; - $arglist_current = HEAP32[$ap>>2]|0; - $0 = $arglist_current; - $1 = ((0) + 4|0); - $expanded2 = $1; + $2 = sp + 176|0; + $3 = sp + 168|0; + HEAP32[$2>>2] = $varargs; + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded2 = $5; $expanded = (($expanded2) - 1)|0; - $2 = (($0) + ($expanded))|0; - $3 = ((0) + 4|0); - $expanded6 = $3; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded6 = $7; $expanded5 = (($expanded6) - 1)|0; $expanded4 = $expanded5 ^ -1; - $4 = $2 & $expanded4; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $arglist_next = ((($5)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - $7 = ($cmd|0)==(4); - $8 = $6 | 32768; - $$ = $7 ? $8 : $6; - L1: do { - switch ($cmd|0) { - case 14: { - $9 = $$; - HEAP32[$vararg_buffer>>2] = $fd; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 14; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $9; - $10 = (___syscall221(221,($vararg_buffer|0))|0); - $11 = (___syscall_ret($10)|0); - $$0 = $11; + $8 = $6 & $expanded4; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $11 = ($1|0)==(4); + $12 = $10 | 32768; + $$ = $11 ? $12 : $10; + switch ($1|0) { + case 14: { + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 14; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $$; + $13 = (___syscall221(221,($vararg_buffer|0))|0); + $14 = (___syscall_ret($13)|0); + $$2 = $14; + break; + } + case 9: { + $15 = $3; + HEAP32[$vararg_buffer3>>2] = $0; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 16; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $15; + $16 = (___syscall221(221,($vararg_buffer3|0))|0); + switch ($16|0) { + case -22: { + HEAP32[$vararg_buffer8>>2] = $0; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = 9; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $$; + $17 = (___syscall221(221,($vararg_buffer8|0))|0); + $$0 = $17; break; } - case 9: { - HEAP32[$vararg_buffer3>>2] = $fd; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 16; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $ex; - $12 = (___syscall221(221,($vararg_buffer3|0))|0); - switch ($12|0) { - case -22: { - $13 = $$; - HEAP32[$vararg_buffer8>>2] = $fd; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = 9; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $13; - $14 = (___syscall221(221,($vararg_buffer8|0))|0); - $$0 = $14; - break L1; - break; - } - case 0: { - $16 = HEAP32[$ex>>2]|0; - $17 = ($16|0)==(2); - $18 = ((($ex)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (0 - ($19))|0; - $21 = $17 ? $20 : $19; - $$0 = $21; - break L1; - break; - } - default: { - $15 = (___syscall_ret($12)|0); - $$0 = $15; - break L1; - } - } + case 0: { + $19 = HEAP32[$3>>2]|0; + $20 = ($19|0)==(2); + $21 = ((($3)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = (0 - ($22))|0; + $24 = $20 ? $23 : $22; + $$0 = $24; break; } - case 1030: { - HEAP32[$vararg_buffer13>>2] = $fd; - $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); - HEAP32[$vararg_ptr16>>2] = 1030; - $vararg_ptr17 = ((($vararg_buffer13)) + 8|0); - HEAP32[$vararg_ptr17>>2] = $$; - $22 = (___syscall221(221,($vararg_buffer13|0))|0); - $23 = ($22|0)==(-22); - if (!($23)) { - $24 = ($22|0)>(-1); - if ($24) { - HEAP32[$vararg_buffer18>>2] = $22; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = 2; - $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); - HEAP32[$vararg_ptr22>>2] = 1; - (___syscall221(221,($vararg_buffer18|0))|0); - } - $25 = (___syscall_ret($22)|0); - $$0 = $25; - break L1; - } - HEAP32[$vararg_buffer23>>2] = $fd; - $vararg_ptr26 = ((($vararg_buffer23)) + 4|0); - HEAP32[$vararg_ptr26>>2] = 1030; - $vararg_ptr27 = ((($vararg_buffer23)) + 8|0); - HEAP32[$vararg_ptr27>>2] = 0; - $26 = (___syscall221(221,($vararg_buffer23|0))|0); - $27 = ($26|0)==(-22); - if ($27) { - HEAP32[$vararg_buffer31>>2] = $fd; - $vararg_ptr34 = ((($vararg_buffer31)) + 4|0); - HEAP32[$vararg_ptr34>>2] = 0; - $vararg_ptr35 = ((($vararg_buffer31)) + 8|0); - HEAP32[$vararg_ptr35>>2] = $$; - $30 = (___syscall221(221,($vararg_buffer31|0))|0); - $31 = ($30|0)>(-1); - if ($31) { - HEAP32[$vararg_buffer36>>2] = $30; + default: { + $18 = (___syscall_ret($16)|0); + $$0 = $18; + } + } + $$2 = $$0; + break; + } + case 1030: { + HEAP32[$vararg_buffer13>>2] = $0; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = 1030; + $vararg_ptr17 = ((($vararg_buffer13)) + 8|0); + HEAP32[$vararg_ptr17>>2] = $$; + $25 = (___syscall221(221,($vararg_buffer13|0))|0); + $26 = ($25|0)==(-22); + do { + if ($26) { + HEAP32[$vararg_buffer23>>2] = $0; + $vararg_ptr26 = ((($vararg_buffer23)) + 4|0); + HEAP32[$vararg_ptr26>>2] = 1030; + $vararg_ptr27 = ((($vararg_buffer23)) + 8|0); + HEAP32[$vararg_ptr27>>2] = 0; + $28 = (___syscall221(221,($vararg_buffer23|0))|0); + $29 = ($28|0)==(-22); + if ($29) { + HEAP32[$vararg_buffer31>>2] = $0; + $vararg_ptr34 = ((($vararg_buffer31)) + 4|0); + HEAP32[$vararg_ptr34>>2] = 0; + $vararg_ptr35 = ((($vararg_buffer31)) + 8|0); + HEAP32[$vararg_ptr35>>2] = $$; + $31 = (___syscall221(221,($vararg_buffer31|0))|0); + $32 = ($31|0)>(-1); + if (!($32)) { + $$sink = $31; + break; + } + HEAP32[$vararg_buffer36>>2] = $31; $vararg_ptr39 = ((($vararg_buffer36)) + 4|0); HEAP32[$vararg_ptr39>>2] = 2; $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); HEAP32[$vararg_ptr40>>2] = 1; (___syscall221(221,($vararg_buffer36|0))|0); - } - $32 = (___syscall_ret($30)|0); - $$0 = $32; - break L1; - } else { - $28 = ($26|0)>(-1); - if ($28) { - HEAP32[$vararg_buffer28>>2] = $26; + $$sink = $31; + break; + } else { + $30 = ($28|0)>(-1); + if (!($30)) { + $$sink = -22; + break; + } + HEAP32[$vararg_buffer28>>2] = $28; (___syscall6(6,($vararg_buffer28|0))|0); + $$sink = -22; + break; } - $29 = (___syscall_ret(-22)|0); - $$0 = $29; - break L1; - } - break; - } - default: { - $$off = (($cmd) + -12)|0; - $switch = ($$off>>>0)<(5); - if ($switch) { - $33 = $$; - HEAP32[$vararg_buffer41>>2] = $fd; - $vararg_ptr44 = ((($vararg_buffer41)) + 4|0); - HEAP32[$vararg_ptr44>>2] = $cmd; - $vararg_ptr45 = ((($vararg_buffer41)) + 8|0); - HEAP32[$vararg_ptr45>>2] = $33; - $34 = (___syscall221(221,($vararg_buffer41|0))|0); - $35 = (___syscall_ret($34)|0); - $$0 = $35; - break L1; } else { - HEAP32[$vararg_buffer46>>2] = $fd; - $vararg_ptr49 = ((($vararg_buffer46)) + 4|0); - HEAP32[$vararg_ptr49>>2] = $cmd; - $vararg_ptr50 = ((($vararg_buffer46)) + 8|0); - HEAP32[$vararg_ptr50>>2] = $$; - $36 = (___syscall221(221,($vararg_buffer46|0))|0); - $37 = (___syscall_ret($36)|0); - $$0 = $37; - break L1; + $27 = ($25|0)>(-1); + if ($27) { + HEAP32[$vararg_buffer18>>2] = $25; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = 2; + $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); + HEAP32[$vararg_ptr22>>2] = 1; + (___syscall221(221,($vararg_buffer18|0))|0); + $$sink = $25; + } else { + $$sink = $25; + } } - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _open($filename,$flags,$varargs) { - $filename = $filename|0; - $flags = $flags|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0; - var $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $ap = sp + 16|0; - HEAP32[$ap>>2] = $varargs; - $arglist_current = HEAP32[$ap>>2]|0; - $0 = $arglist_current; - $1 = ((0) + 4|0); - $expanded2 = $1; - $expanded = (($expanded2) - 1)|0; - $2 = (($0) + ($expanded))|0; - $3 = ((0) + 4|0); - $expanded6 = $3; - $expanded5 = (($expanded6) - 1)|0; - $expanded4 = $expanded5 ^ -1; - $4 = $2 & $expanded4; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $arglist_next = ((($5)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - $7 = $flags | 32768; - HEAP32[$vararg_buffer>>2] = $filename; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $7; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $6; - $8 = (___syscall5(5,($vararg_buffer|0))|0); - $9 = (___syscall_ret($8)|0); - STACKTOP = sp;return ($9|0); + } while(0); + $33 = (___syscall_ret($$sink)|0); + $$2 = $33; + break; + } + case 15: case 16: case 12: case 13: { + HEAP32[$vararg_buffer41>>2] = $0; + $vararg_ptr44 = ((($vararg_buffer41)) + 4|0); + HEAP32[$vararg_ptr44>>2] = $1; + $vararg_ptr45 = ((($vararg_buffer41)) + 8|0); + HEAP32[$vararg_ptr45>>2] = $$; + $34 = (___syscall221(221,($vararg_buffer41|0))|0); + $35 = (___syscall_ret($34)|0); + $$2 = $35; + break; + } + default: { + HEAP32[$vararg_buffer46>>2] = $0; + $vararg_ptr49 = ((($vararg_buffer46)) + 4|0); + HEAP32[$vararg_ptr49>>2] = $1; + $vararg_ptr50 = ((($vararg_buffer46)) + 8|0); + HEAP32[$vararg_ptr50>>2] = $$; + $36 = (___syscall221(221,($vararg_buffer46|0))|0); + $37 = (___syscall_ret($36)|0); + $$2 = $37; + } + } + STACKTOP = sp;return ($$2|0); } -function ___procfdname($buf,$fd) { - $buf = $buf|0; - $fd = $fd|0; - var $$01 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i$0 = 0, $i$13 = 0, $i$22 = 0, $j$04 = 0, $scevgep = 0, label = 0, sp = 0; +function ___procfdname($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$02324 = 0, $$027 = 0, $$126 = 0, $$225 = 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, $scevgep = 0, dest = 0, label = 0; + var sp = 0, src = 0, stop = 0; sp = STACKTOP; - $i$0 = 0; - while(1) { - $0 = (47632 + ($i$0)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (($buf) + ($i$0)|0); - HEAP8[$2>>0] = $1; - $3 = ($i$0|0)==(14); - $4 = (($i$0) + 1)|0; - if ($3) { - break; - } else { - $i$0 = $4; - } - } - $5 = ($fd|0)==(0); - if ($5) { - $scevgep = ((($buf)) + 14|0); + dest=$0; src=54463; stop=dest+15|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $2 = ($1|0)==(0); + if ($2) { + $scevgep = ((($0)) + 14|0); HEAP8[$scevgep>>0] = 48; - $6 = ((($buf)) + 15|0); - HEAP8[$6>>0] = 0; + $3 = ((($0)) + 15|0); + HEAP8[$3>>0] = 0; } else { - $i$13 = 14;$j$04 = $fd; + $$027 = $1;$$126 = 14; while(1) { - $7 = (($j$04>>>0) / 10)&-1; - $8 = (($i$13) + 1)|0; - $9 = ($j$04>>>0)<(10); - if ($9) { - $$lcssa = $8; + $4 = (($$027>>>0) / 10)&-1; + $5 = (($$126) + 1)|0; + $6 = ($$027>>>0)<(10); + if ($6) { break; } else { - $i$13 = $8;$j$04 = $7; + $$027 = $4;$$126 = $5; } } - $10 = (($buf) + ($$lcssa)|0); - HEAP8[$10>>0] = 0; - $$01 = $fd;$i$22 = $$lcssa; + $7 = (($0) + ($5)|0); + HEAP8[$7>>0] = 0; + $$02324 = $1;$$225 = $5; while(1) { - $11 = (($$01>>>0) % 10)&-1; - $12 = $11 | 48; - $13 = $12&255; - $14 = (($i$22) + -1)|0; - $15 = (($buf) + ($14)|0); - HEAP8[$15>>0] = $13; - $16 = (($$01>>>0) / 10)&-1; - $17 = ($$01>>>0)<(10); - if ($17) { + $8 = (($$02324>>>0) % 10)&-1; + $9 = $8 | 48; + $10 = $9&255; + $11 = (($$225) + -1)|0; + $12 = (($0) + ($11)|0); + HEAP8[$12>>0] = $10; + $13 = (($$02324>>>0) / 10)&-1; + $14 = ($$02324>>>0)<(10); + if ($14) { break; } else { - $$01 = $16;$i$22 = $14; + $$02324 = $13;$$225 = $11; } } } return; } -function ___syscall_ret($r) { - $r = $r|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _open($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $$0 = 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, $arglist_current = 0, $arglist_next = 0; + var $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $or$cond14 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($r>>>0)>(4294963200); - if ($0) { - $1 = (0 - ($r))|0; - $2 = (___errno_location()|0); - HEAP32[$2>>2] = $1; - $$0 = -1; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 32|0; + $3 = $1 & 4194368; + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; } else { - $$0 = $r; + HEAP32[$2>>2] = $varargs; + $arglist_current = HEAP32[$2>>2]|0; + $5 = $arglist_current; + $6 = ((0) + 4|0); + $expanded2 = $6; + $expanded = (($expanded2) - 1)|0; + $7 = (($5) + ($expanded))|0; + $8 = ((0) + 4|0); + $expanded6 = $8; + $expanded5 = (($expanded6) - 1)|0; + $expanded4 = $expanded5 ^ -1; + $9 = $7 & $expanded4; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $arglist_next = ((($10)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0 = $11; } - return ($$0|0); + $12 = $0; + $13 = $1 | 32768; + HEAP32[$vararg_buffer>>2] = $12; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $13; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $$0; + $14 = (___syscall5(5,($vararg_buffer|0))|0); + $15 = ($14|0)<(0); + $16 = $1 & 524288; + $17 = ($16|0)==(0); + $or$cond14 = $17 | $15; + if (!($or$cond14)) { + HEAP32[$vararg_buffer3>>2] = $14; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 2; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = 1; + (___syscall221(221,($vararg_buffer3|0))|0); + } + $18 = (___syscall_ret($14)|0); + STACKTOP = sp;return ($18|0); } -function ___expo2($x) { - $x = +$x; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; +function _lseek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = $x + -1416.0996898839683; - $1 = (+Math_exp((+$0))); - $2 = $1 * 2.2471164185778949E+307; - $3 = $2 * 2.2471164185778949E+307; - return (+$3); -} -function _acosh($x) { - $x = +$x; - var $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = (_bitshift64Lshr(($0|0),($1|0),52)|0); - $3 = tempRet0; - $4 = $2 & 2047; - $5 = ($4>>>0)<(1024); - do { - if ($5) { - $6 = $x + -1.0; - $7 = $6 * $6; - $8 = $6 * 2.0; - $9 = $7 + $8; - $10 = (+Math_sqrt((+$9))); - $11 = $6 + $10; - $12 = (+_log1p($11)); - $$0 = $12; - } else { - $13 = ($4>>>0)<(1049); - if ($13) { - $14 = $x * 2.0; - $15 = $x * $x; - $16 = $15 + -1.0; - $17 = (+Math_sqrt((+$16))); - $18 = $17 + $x; - $19 = 1.0 / $18; - $20 = $14 - $19; - $21 = (+Math_log((+$20))); - $$0 = $21; - break; - } else { - $22 = (+Math_log((+$x))); - $23 = $22 + 0.69314718055994529; - $$0 = $23; - break; - } - } - } while(0); - return (+$$0); + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $3 = sp + 20|0; + $4 = $3; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 0; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $1; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $4; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $2; + $5 = (___syscall140(140,($vararg_buffer|0))|0); + $6 = (___syscall_ret($5)|0); + $7 = ($6|0)!=(0); + $8 = HEAP32[$3>>2]|0; + $9 = $7 ? -1 : $8; + STACKTOP = sp;return ($9|0); } -function _asinh($x) { - $x = +$x; - var $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = (_bitshift64Lshr(($0|0),($1|0),52)|0); - $3 = tempRet0; - $4 = $2 & 2047; - $5 = $1 & 2147483647; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $5;$6 = +HEAPF64[tempDoublePtr>>3]; - $7 = ($4>>>0)>(1048); - do { - if ($7) { - $8 = (+Math_log((+$6))); - $9 = $8 + 0.69314718055994529; - $$0 = $9; - } else { - $10 = ($4>>>0)>(1023); - if ($10) { - $11 = $6 * 2.0; - $12 = $6 * $6; - $13 = $12 + 1.0; - $14 = (+Math_sqrt((+$13))); - $15 = $6 + $14; - $16 = 1.0 / $15; - $17 = $11 + $16; - $18 = (+Math_log((+$17))); - $$0 = $18; - break; +function _qsort($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$067$lcssa = 0, $$06772 = 0, $$068$lcssa = 0, $$06871 = 0, $$1 = 0, $$169 = 0, $$2 = 0, $$pre$pre = 0, $$pre76 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $15$phi = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208|0; + $4 = sp + 8|0; + $5 = sp; + $6 = Math_imul($2, $1)|0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = 1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 0; + $11 = ($6|0)==(0); + L1: do { + if (!($11)) { + $12 = (0 - ($2))|0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = $2; + HEAP32[$4>>2] = $2; + $$0 = 2;$15 = $2;$17 = $2; + while(1) { + $14 = (($15) + ($2))|0; + $16 = (($14) + ($17))|0; + $18 = (($4) + ($$0<<2)|0); + HEAP32[$18>>2] = $16; + $19 = ($16>>>0)<($6>>>0); + $20 = (($$0) + 1)|0; + if ($19) { + $15$phi = $17;$$0 = $20;$17 = $16;$15 = $15$phi; + } else { + break; + } } - $19 = ($4>>>0)>(996); - if ($19) { - $20 = $6 * $6; - $21 = $20 + 1.0; - $22 = (+Math_sqrt((+$21))); - $23 = $22 + 1.0; - $24 = $20 / $23; - $25 = $6 + $24; - $26 = (+_log1p($25)); - $$0 = $26; + $21 = (($0) + ($6)|0); + $22 = (($21) + ($12)|0); + $23 = ($22>>>0)>($0>>>0); + if ($23) { + $24 = $22; + $$06772 = 1;$$06871 = $0;$26 = 1; + while(1) { + $25 = $26 & 3; + $27 = ($25|0)==(3); + do { + if ($27) { + _sift($$06871,$2,$3,$$06772,$4); + _shr($5,2); + $28 = (($$06772) + 2)|0; + $$1 = $28; + } else { + $29 = (($$06772) + -1)|0; + $30 = (($4) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + $32 = $$06871; + $33 = (($24) - ($32))|0; + $34 = ($31>>>0)<($33>>>0); + if ($34) { + _sift($$06871,$2,$3,$$06772,$4); + } else { + _trinkle($$06871,$2,$3,$5,$$06772,0,$4); + } + $35 = ($$06772|0)==(1); + if ($35) { + _shl($5,1); + $$1 = 0; + break; + } else { + _shl($5,$29); + $$1 = 1; + break; + } + } + } while(0); + $36 = HEAP32[$5>>2]|0; + $37 = $36 | 1; + HEAP32[$5>>2] = $37; + $38 = (($$06871) + ($2)|0); + $39 = ($38>>>0)<($22>>>0); + if ($39) { + $$06772 = $$1;$$06871 = $38;$26 = $37; + } else { + $$067$lcssa = $$1;$$068$lcssa = $38;$61 = $37; + break; + } + } } else { - $$0 = $6; + $$067$lcssa = 1;$$068$lcssa = $0;$61 = 1; + } + _trinkle($$068$lcssa,$2,$3,$5,$$067$lcssa,0,$4); + $40 = ((($5)) + 4|0); + $$169 = $$068$lcssa;$$2 = $$067$lcssa;$43 = $61; + while(1) { + $41 = ($$2|0)==(1); + $42 = ($43|0)==(1); + $or$cond = $41 & $42; + if ($or$cond) { + $44 = HEAP32[$40>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + break L1; + } + } else { + $46 = ($$2|0)<(2); + if (!($46)) { + _shl($5,2); + $49 = (($$2) + -2)|0; + $50 = HEAP32[$5>>2]|0; + $51 = $50 ^ 7; + HEAP32[$5>>2] = $51; + _shr($5,1); + $52 = (($4) + ($49<<2)|0); + $53 = HEAP32[$52>>2]|0; + $54 = (0 - ($53))|0; + $55 = (($$169) + ($54)|0); + $56 = (($55) + ($12)|0); + $57 = (($$2) + -1)|0; + _trinkle($56,$2,$3,$5,$57,1,$4); + _shl($5,1); + $58 = HEAP32[$5>>2]|0; + $59 = $58 | 1; + HEAP32[$5>>2] = $59; + $60 = (($$169) + ($12)|0); + _trinkle($60,$2,$3,$5,$49,1,$4); + $$169 = $60;$$2 = $49;$43 = $59; + continue; + } + } + $47 = (_pntz($5)|0); + _shr($5,$47); + $48 = (($47) + ($$2))|0; + $$pre$pre = HEAP32[$5>>2]|0; + $$pre76 = (($$169) + ($12)|0); + $$169 = $$pre76;$$2 = $48;$43 = $$pre$pre; } } } while(0); - $27 = ($1|0)<(0); - $28 = -$$0; - $29 = $27 ? $28 : $$0; - return (+$29); -} -function _atanh($x) { - $x = +$x; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, $y$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = (_bitshift64Lshr(($0|0),($1|0),52)|0); - $3 = tempRet0; - $4 = $2 & 2047; - $5 = $1 & 2147483647; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $5;$6 = +HEAPF64[tempDoublePtr>>3]; - $7 = ($4>>>0)<(1022); - if ($7) { - $8 = ($4>>>0)<(991); - if ($8) { - $y$0 = $6; + STACKTOP = sp;return; +} +function _sift($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$029$be = 0, $$02932 = 0, $$030$be = 0, $$03031 = 0, $$033 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; + $5 = sp; + HEAP32[$5>>2] = $0; + $6 = ($3|0)>(1); + L1: do { + if ($6) { + $7 = (0 - ($1))|0; + $$02932 = $0;$$03031 = $3;$$033 = 1;$14 = $0; + while(1) { + $8 = (($$02932) + ($7)|0); + $9 = (($$03031) + -2)|0; + $10 = (($4) + ($9<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (0 - ($11))|0; + $13 = (($8) + ($12)|0); + $15 = (FUNCTION_TABLE_iii[$2 & 255]($14,$13)|0); + $16 = ($15|0)>(-1); + if ($16) { + $17 = (FUNCTION_TABLE_iii[$2 & 255]($14,$8)|0); + $18 = ($17|0)>(-1); + if ($18) { + $$0$lcssa = $$033; + break L1; + } + } + $19 = (FUNCTION_TABLE_iii[$2 & 255]($13,$8)|0); + $20 = ($19|0)>(-1); + $21 = (($$033) + 1)|0; + $22 = (($5) + ($$033<<2)|0); + if ($20) { + HEAP32[$22>>2] = $13; + $23 = (($$03031) + -1)|0; + $$029$be = $13;$$030$be = $23; + } else { + HEAP32[$22>>2] = $8; + $$029$be = $8;$$030$be = $9; + } + $24 = ($$030$be|0)>(1); + if (!($24)) { + $$0$lcssa = $21; + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02932 = $$029$be;$$03031 = $$030$be;$$033 = $21;$14 = $$pre; + } } else { - $9 = $6 * 2.0; - $10 = $6 * $9; - $11 = 1.0 - $6; - $12 = $10 / $11; - $13 = $9 + $12; - $14 = (+_log1p($13)); - $15 = $14 * 0.5; - $y$0 = $15; + $$0$lcssa = 1; } + } while(0); + _cycle($1,$5,$$0$lcssa); + STACKTOP = sp;return; +} +function _shr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 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; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $5; + HEAP32[$3>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; } else { - $16 = 1.0 - $6; - $17 = $6 / $16; - $18 = $17 * 2.0; - $19 = (+_log1p($18)); - $20 = $19 * 0.5; - $y$0 = $20; - } - $21 = ($1|0)<(0); - $22 = -$y$0; - $23 = $21 ? $22 : $y$0; - return (+$23); -} -function _cosh($x) { - $x = +$x; - var $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + $$pre = HEAP32[$0>>2]|0; + $$pre11 = HEAP32[$3>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 >>> $$0; + $8 = (32 - ($$0))|0; + $9 = $10 << $8; + $11 = $9 | $6; + HEAP32[$0>>2] = $11; + $12 = $10 >>> $$0; + HEAP32[$3>>2] = $12; + return; +} +function _trinkle($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0$lcssa = 0, $$045$lcssa = 0, $$04551 = 0, $$0455780 = 0, $$046$lcssa = 0, $$04653 = 0, $$0465681 = 0, $$047$lcssa = 0, $$0475582 = 0, $$049 = 0, $$05879 = 0, $$05879$phi = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, label = 0; var sp = 0; sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = $1 & 2147483647; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $2;$3 = +HEAPF64[tempDoublePtr>>3]; - $4 = ($2>>>0)<(1072049730); - do { - if ($4) { - $5 = ($2>>>0)<(1045430272); - if ($5) { - $$0 = 1.0; + STACKTOP = STACKTOP + 240|0; + $7 = sp + 232|0; + $8 = sp; + $9 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($3)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($7)) + 4|0); + HEAP32[$12>>2] = $11; + HEAP32[$8>>2] = $0; + $13 = ($9|0)!=(1); + $14 = ($11|0)!=(0); + $15 = $13 | $14; + L1: do { + if ($15) { + $16 = (0 - ($1))|0; + $17 = (($6) + ($4<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = (0 - ($18))|0; + $20 = (($0) + ($19)|0); + $21 = (FUNCTION_TABLE_iii[$2 & 255]($20,$0)|0); + $22 = ($21|0)<(1); + if ($22) { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; } else { - $6 = (+_expm1($3)); - $7 = $6 * $6; - $8 = $6 + 1.0; - $9 = $8 * 2.0; - $10 = $7 / $9; - $11 = $10 + 1.0; - $$0 = $11; + $phitmp = ($5|0)==(0); + $$0455780 = 1;$$0465681 = $4;$$0475582 = $phitmp;$$05879 = $0;$28 = $20; + while(1) { + $23 = ($$0465681|0)>(1); + $or$cond = $$0475582 & $23; + if ($or$cond) { + $24 = (($$05879) + ($16)|0); + $25 = (($$0465681) + -2)|0; + $26 = (($6) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $29 = (FUNCTION_TABLE_iii[$2 & 255]($24,$28)|0); + $30 = ($29|0)>(-1); + if ($30) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + $31 = (0 - ($27))|0; + $32 = (($24) + ($31)|0); + $33 = (FUNCTION_TABLE_iii[$2 & 255]($32,$28)|0); + $34 = ($33|0)>(-1); + if ($34) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + } + $35 = (($$0455780) + 1)|0; + $36 = (($8) + ($$0455780<<2)|0); + HEAP32[$36>>2] = $28; + $37 = (_pntz($7)|0); + _shr($7,$37); + $38 = (($37) + ($$0465681))|0; + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)!=(1); + $41 = HEAP32[$12>>2]|0; + $42 = ($41|0)!=(0); + $43 = $40 | $42; + if (!($43)) { + $$04551 = $35;$$04653 = $38;$$049 = $28; + label = 10; + break L1; + } + $$pre = HEAP32[$8>>2]|0; + $44 = (($6) + ($38<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = (0 - ($45))|0; + $47 = (($28) + ($46)|0); + $48 = (FUNCTION_TABLE_iii[$2 & 255]($47,$$pre)|0); + $49 = ($48|0)<(1); + if ($49) { + $$0$lcssa = $28;$$045$lcssa = $35;$$046$lcssa = $38;$$047$lcssa = 0; + label = 9; + break; + } else { + $$05879$phi = $28;$$0455780 = $35;$$0465681 = $38;$$0475582 = 1;$28 = $47;$$05879 = $$05879$phi; + } + } } } else { - $12 = ($2>>>0)<(1082535490); - if ($12) { - $13 = (+Math_exp((+$3))); - $14 = 1.0 / $13; - $15 = $13 + $14; - $16 = $15 * 0.5; - $$0 = $16; - break; - } else { - $17 = (+___expo2($3)); - $$0 = $17; - break; - } + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; } } while(0); - return (+$$0); + if ((label|0) == 9) { + $50 = ($$047$lcssa|0)==(0); + if ($50) { + $$04551 = $$045$lcssa;$$04653 = $$046$lcssa;$$049 = $$0$lcssa; + label = 10; + } + } + if ((label|0) == 10) { + _cycle($1,$8,$$04551); + _sift($$049,$1,$2,$$04653,$6); + } + STACKTOP = sp;return; } -function _expm1($x) { - $x = +$x; - var $$0 = 0.0, $$02 = 0.0, $$pn = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0; - var $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0; - var $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0.0; - var $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $c$0 = 0.0, $hi$0 = 0.0, $k$0 = 0; - var $k$1 = 0, $lo$0 = 0.0, $y$0 = 0.0, $y$1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = $1 & 2147483647; - $3 = (_bitshift64Lshr(($0|0),($1|0),63)|0); - $4 = tempRet0; - $5 = ($2>>>0)>(1078159481); - do { - if ($5) { - $6 = $1 & 2147483647; - $7 = ($6>>>0)>(2146435072); - $8 = ($0>>>0)>(0); - $9 = ($6|0)==(2146435072); - $10 = $9 & $8; - $11 = $7 | $10; - if ($11) { - $$0 = $x; - } else { - $12 = ($3|0)==(0); - if ($12) { - $13 = $x > 709.78271289338397; - if ($13) { - $14 = $x * 8.9884656743115795E+307; - $$0 = $14; - } else { - label = 11; - } +function _shl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 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; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$0>>2]|0; + HEAP32[$3>>2] = $5; + HEAP32[$0>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$3>>2]|0; + $$pre11 = HEAP32[$0>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 << $$0; + $8 = (32 - ($$0))|0; + $9 = $10 >>> $8; + $11 = $9 | $6; + HEAP32[$3>>2] = $11; + $12 = $10 << $$0; + HEAP32[$0>>2] = $12; + return; +} +function _pntz($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (($1) + -1)|0; + $3 = (_a_ctz_l_737($2)|0); + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_a_ctz_l_737($6)|0); + $8 = (($7) + 32)|0; + $9 = ($7|0)==(0); + $$ = $9 ? 0 : $8; + return ($$|0); + } else { + return ($3|0); + } + return (0)|0; +} +function _a_ctz_l_737($0) { + $0 = $0|0; + var $$068 = 0, $$07 = 0, $$09 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0); + if ($1) { + $$07 = 32; + } else { + $2 = $0 & 1; + $3 = ($2|0)==(0); + if ($3) { + $$068 = $0;$$09 = 0; + while(1) { + $4 = (($$09) + 1)|0; + $5 = $$068 >>> 1; + $6 = $5 & 1; + $7 = ($6|0)==(0); + if ($7) { + $$068 = $5;$$09 = $4; } else { - $$0 = -1.0; + $$07 = $4; + break; } } } else { - $15 = ($2>>>0)>(1071001154); - if (!($15)) { - $32 = ($2>>>0)<(1016070144); - if ($32) { - $$0 = $x; - break; - } else { - $$02 = $x;$c$0 = 0.0;$k$1 = 0; - label = 14; - break; + $$07 = 0; + } + } + return ($$07|0); +} +function _cycle($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02527 = 0, $$026 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; + $3 = sp; + $4 = ($2|0)<(2); + L1: do { + if (!($4)) { + $5 = (($1) + ($2<<2)|0); + HEAP32[$5>>2] = $3; + $6 = ($0|0)==(0); + if (!($6)) { + $$02527 = $0;$10 = $3; + while(1) { + $7 = ($$02527>>>0)<(256); + $8 = $7 ? $$02527 : 256; + $9 = HEAP32[$1>>2]|0; + _memcpy(($10|0),($9|0),($8|0))|0; + $$026 = 0; + while(1) { + $11 = (($1) + ($$026<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($$026) + 1)|0; + $14 = (($1) + ($13<<2)|0); + $15 = HEAP32[$14>>2]|0; + _memcpy(($12|0),($15|0),($8|0))|0; + $16 = HEAP32[$11>>2]|0; + $17 = (($16) + ($8)|0); + HEAP32[$11>>2] = $17; + $exitcond = ($13|0)==($2|0); + if ($exitcond) { + break; + } else { + $$026 = $13; + } + } + $18 = (($$02527) - ($8))|0; + $19 = ($18|0)==(0); + if ($19) { + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02527 = $18;$10 = $$pre; } } - $16 = ($2>>>0)<(1072734898); - if ($16) { - $17 = ($3|0)==(0); - if ($17) { - $18 = $x + -0.69314718036912382; - $hi$0 = $18;$k$0 = 1;$lo$0 = 1.9082149292705877E-10; - label = 12; + } + } while(0); + STACKTOP = sp;return; +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 & 3; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $$015$lcssa = $0; + label = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; break; } else { - $19 = $x + 0.69314718036912382; - $hi$0 = $19;$k$0 = -1;$lo$0 = -1.9082149292705877E-10; - label = 12; - break; + $$01519 = $6;$23 = $7; } - } else { - label = 11; } } } while(0); - if ((label|0) == 11) { - $20 = $x * 1.4426950408889634; - $21 = ($3|0)!=(0); - $22 = $21 ? -0.5 : 0.5; - $23 = $20 + $22; - $24 = (~~(($23))); - $25 = (+($24|0)); - $26 = $25 * 0.69314718036912382; - $27 = $x - $26; - $28 = $25 * 1.9082149292705877E-10; - $hi$0 = $27;$k$0 = $24;$lo$0 = $28; - label = 12; - } - if ((label|0) == 12) { - $29 = $hi$0 - $lo$0; - $30 = $hi$0 - $29; - $31 = $30 - $lo$0; - $$02 = $29;$c$0 = $31;$k$1 = $k$0; - label = 14; - } - L18: do { - if ((label|0) == 14) { - $33 = $$02 * 0.5; - $34 = $$02 * $33; - $35 = $34 * 2.0109921818362437E-7; - $36 = 4.0082178273293624E-6 - $35; - $37 = $34 * $36; - $38 = $37 + -7.9365075786748794E-5; - $39 = $34 * $38; - $40 = $39 + 0.0015873015872548146; - $41 = $34 * $40; - $42 = $41 + -0.033333333333333132; - $43 = $34 * $42; - $44 = $43 + 1.0; - $45 = $33 * $44; - $46 = 3.0 - $45; - $47 = $44 - $46; - $48 = $$02 * $46; - $49 = 6.0 - $48; - $50 = $47 / $49; - $51 = $34 * $50; - $52 = ($k$1|0)==(0); - if ($52) { - $53 = $$02 * $51; - $54 = $53 - $34; - $55 = $$02 - $54; - $$0 = $55; - break; - } - $56 = $51 - $c$0; - $57 = $$02 * $56; - $58 = $57 - $c$0; - $59 = $58 - $34; - switch ($k$1|0) { - case -1: { - $60 = $$02 - $59; - $61 = $60 * 0.5; - $62 = $61 + -0.5; - $$0 = $62; - break L18; + if ((label|0) == 4) { + $$0 = $$015$lcssa; + while(1) { + $10 = HEAP32[$$0>>2]|0; + $11 = (($10) + -16843009)|0; + $12 = $10 & -2139062144; + $13 = $12 ^ -2139062144; + $14 = $13 & $11; + $15 = ($14|0)==(0); + $16 = ((($$0)) + 4|0); + if ($15) { + $$0 = $16; + } else { break; } - case 1: { - $63 = $$02 < -0.25; - if ($63) { - $64 = $$02 + 0.5; - $65 = $59 - $64; - $66 = $65 * -2.0; - $$0 = $66; - break L18; + } + $17 = $10&255; + $18 = ($17<<24>>24)==(0); + if ($18) { + $$1$lcssa = $$0; + } else { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; } else { - $67 = $$02 - $59; - $68 = $67 * 2.0; - $69 = $68 + 1.0; - $$0 = $69; - break L18; + $$pn = $19; } - break; } - default: { - $70 = (($k$1) + 1023)|0; - $71 = (_bitshift64Shl(($70|0),0,52)|0); - $72 = tempRet0; - HEAP32[tempDoublePtr>>2] = $71;HEAP32[tempDoublePtr+4>>2] = $72;$73 = +HEAPF64[tempDoublePtr>>3]; - $74 = ($k$1>>>0)>(56); - if ($74) { - $75 = $$02 - $59; - $76 = $75 + 1.0; - $77 = ($k$1|0)==(1024); - $78 = $76 * 2.0; - $79 = $78 * 8.9884656743115795E+307; - $80 = $73 * $76; - $y$0 = $77 ? $79 : $80; - $81 = $y$0 + -1.0; - $$0 = $81; - break L18; - } - $82 = (1023 - ($k$1))|0; - $83 = (_bitshift64Shl(($82|0),0,52)|0); - $84 = tempRet0; - $85 = ($k$1|0)<(20); - if ($85) { - $86 = $$02 - $59; - HEAP32[tempDoublePtr>>2] = $83;HEAP32[tempDoublePtr+4>>2] = $84;$87 = +HEAPF64[tempDoublePtr>>3]; - $88 = 1.0 - $87; - $89 = $88 + $86; - $$pn = $89; - } else { - HEAP32[tempDoublePtr>>2] = $83;HEAP32[tempDoublePtr+4>>2] = $84;$90 = +HEAPF64[tempDoublePtr>>3]; - $91 = $90 + $59; - $92 = $$02 - $91; - $93 = $92 + 1.0; - $$pn = $93; + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|0); +} +function ___munmap($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + _dummy_413(); + $2 = $0; + HEAP32[$vararg_buffer>>2] = $2; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + $3 = (___syscall91(91,($vararg_buffer|0))|0); + $4 = (___syscall_ret($3)|0); + STACKTOP = sp;return ($4|0); +} +function _dummy_413() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } } - $y$1 = $73 * $$pn; - $$0 = $y$1; - break L18; } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; } } while(0); - return (+$$0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); } -function _log10($x) { - $x = +$x; - var $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0; - var $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0; - var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $8 = 0.0, $9 = 0.0, $hx$0 = 0, $k$0 = 0, $or$cond = 0, $or$cond4 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = ($1>>>0)<(1048576); - $3 = ($1|0)<(0); - $or$cond = $3 | $2; +function _acosh($0) { + $0 = +$0; + var $$0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + $3 = (_bitshift64Lshr(($1|0),($2|0),52)|0); + $4 = tempRet0; + $5 = $3 & 2047; + $6 = ($5>>>0)<(1024); do { - if ($or$cond) { - $4 = $1 & 2147483647; - $5 = ($0|0)==(0); - $6 = ($4|0)==(0); - $7 = $5 & $6; - if ($7) { - $8 = $x * $x; - $9 = -1.0 / $8; - $$0 = $9; - break; - } - if ($3) { - $10 = $x - $x; - $11 = $10 / 0.0; - $$0 = $11; + if ($6) { + $7 = $0 + -1.0; + $8 = $7 * $7; + $9 = $7 * 2.0; + $10 = $8 + $9; + $11 = (+Math_sqrt((+$10))); + $12 = $7 + $11; + $13 = (+_log1p($12)); + $$0 = $13; + } else { + $14 = ($5>>>0)<(1049); + if ($14) { + $15 = $0 * 2.0; + $16 = $0 * $0; + $17 = $16 + -1.0; + $18 = (+Math_sqrt((+$17))); + $19 = $18 + $0; + $20 = 1.0 / $19; + $21 = $15 - $20; + $22 = (+Math_log((+$21))); + $$0 = $22; break; } else { - $12 = $x * 18014398509481984.0; - HEAPF64[tempDoublePtr>>3] = $12;$13 = HEAP32[tempDoublePtr>>2]|0; - $14 = HEAP32[tempDoublePtr+4>>2]|0; - $25 = $13;$70 = $14;$hx$0 = $14;$k$0 = -1077; - label = 9; + $23 = (+Math_log((+$0))); + $24 = $23 + 0.69314718055994529; + $$0 = $24; break; } - } else { - $15 = ($1>>>0)>(2146435071); - if ($15) { - $$0 = $x; - } else { - $16 = ($1|0)==(1072693248); - $17 = ($0|0)==(0); - $18 = (0)==(0); - $19 = $17 & $18; - $or$cond4 = $19 & $16; - if ($or$cond4) { - $$0 = 0.0; - } else { - $25 = $0;$70 = $1;$hx$0 = $1;$k$0 = -1023; - label = 9; - } - } } } while(0); - if ((label|0) == 9) { - $20 = (($hx$0) + 614242)|0; - $21 = $20 >>> 20; - $22 = (($k$0) + ($21))|0; - $23 = $20 & 1048575; - $24 = (($23) + 1072079006)|0; - HEAP32[tempDoublePtr>>2] = $25;HEAP32[tempDoublePtr+4>>2] = $24;$26 = +HEAPF64[tempDoublePtr>>3]; - $27 = $26 + -1.0; - $28 = $27 * 0.5; - $29 = $27 * $28; - $30 = $27 + 2.0; - $31 = $27 / $30; - $32 = $31 * $31; - $33 = $32 * $32; - $34 = $33 * 0.15313837699209373; - $35 = $34 + 0.22222198432149784; - $36 = $33 * $35; - $37 = $36 + 0.39999999999409419; - $38 = $33 * $37; - $39 = $33 * 0.14798198605116586; - $40 = $39 + 0.1818357216161805; - $41 = $33 * $40; - $42 = $41 + 0.28571428743662391; - $43 = $33 * $42; - $44 = $43 + 0.66666666666667351; - $45 = $32 * $44; - $46 = $38 + $45; - $47 = $27 - $29; - HEAPF64[tempDoublePtr>>3] = $47;$48 = HEAP32[tempDoublePtr>>2]|0; - $49 = HEAP32[tempDoublePtr+4>>2]|0; - HEAP32[tempDoublePtr>>2] = 0;HEAP32[tempDoublePtr+4>>2] = $49;$50 = +HEAPF64[tempDoublePtr>>3]; - $51 = $27 - $50; - $52 = $51 - $29; - $53 = $29 + $46; - $54 = $31 * $53; - $55 = $54 + $52; - $56 = $50 * 0.43429448187816888; - $57 = (+($22|0)); - $58 = $57 * 0.30102999566361177; - $59 = $57 * 3.6942390771589308E-13; - $60 = $50 + $55; - $61 = $60 * 2.5082946711645275E-11; - $62 = $59 + $61; - $63 = $55 * 0.43429448187816888; - $64 = $63 + $62; - $65 = $58 + $56; - $66 = $58 - $65; - $67 = $56 + $66; - $68 = $67 + $64; - $69 = $65 + $68; - $$0 = $69; - } return (+$$0); } -function _log1p($x) { - $x = +$x; - var $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0; - var $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0; - var $c$1 = 0.0, $c$2 = 0.0, $f$1 = 0.0, $k$1 = 0.0, $or$cond = 0, $phitmp = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = ($1>>>0)<(1071284858); - $3 = ($1|0)<(0); - $or$cond = $3 | $2; +function _log1p($0) { + $0 = +$0; + var $$082 = 0.0, $$1 = 0.0, $$184 = 0.0, $$186 = 0.0, $$2 = 0.0, $$sink = 0.0, $$sink1 = 0.0, $$sink1$p = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0; + var $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0; + var $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $or$cond = 0, $phitmp = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + $3 = ($2>>>0)<(1071284858); + $4 = ($2|0)<(0); + $or$cond = $4 | $3; do { if ($or$cond) { - $4 = ($1>>>0)>(3220176895); - if ($4) { - $5 = $x == -1.0; - if ($5) { - $$0 = -inf; + $5 = ($2>>>0)>(3220176895); + if ($5) { + $6 = $0 == -1.0; + if ($6) { + $$082 = -inf; break; } - $6 = $x - $x; - $7 = $6 / 0.0; - $$0 = $7; + $7 = $0 - $0; + $8 = $7 / 0.0; + $$082 = $8; break; } else { - $8 = (_bitshift64Shl(($1|0),0,1)|0); - $9 = tempRet0; - $10 = ($8>>>0)<(2034237440); - if ($10) { - $$0 = $x; + $9 = (_bitshift64Shl(($2|0),0,1)|0); + $10 = tempRet0; + $11 = ($9>>>0)<(2034237440); + if ($11) { + $$082 = $0; break; } - $11 = ($1>>>0)<(3218259653); - if ($11) { - $c$2 = 0.0;$f$1 = $x;$k$1 = 0.0; + $12 = ($2>>>0)<(3218259653); + if ($12) { + $$1 = 0.0;$$184 = $0;$$2 = 0.0; label = 11; break; } else { @@ -274257,2218 +330102,1141 @@ function _log1p($x) { } } } else { - $12 = ($1>>>0)>(2146435071); - if ($12) { - $$0 = $x; + $13 = ($2>>>0)>(2146435071); + if ($13) { + $$082 = $0; } else { label = 8; } } } while(0); if ((label|0) == 8) { - $13 = $x + 1.0; - HEAPF64[tempDoublePtr>>3] = $13;$14 = HEAP32[tempDoublePtr>>2]|0; - $15 = HEAP32[tempDoublePtr+4>>2]|0; - $16 = (($15) + 614242)|0; - $17 = $16 >>> 20; - $18 = (($17) + -1023)|0; - $19 = ($18|0)<(54); - if ($19) { - $20 = ($18|0)>(1); - $21 = $13 - $x; - $22 = 1.0 - $21; - $23 = $13 + -1.0; - $24 = $x - $23; - $25 = $20 ? $22 : $24; - $26 = $25 / $13; - $c$1 = $26; + $14 = $0 + 1.0; + HEAPF64[tempDoublePtr>>3] = $14;$15 = HEAP32[tempDoublePtr>>2]|0; + $16 = HEAP32[tempDoublePtr+4>>2]|0; + $17 = (($16) + 614242)|0; + $18 = $17 >>> 20; + $19 = (($18) + -1023)|0; + $20 = ($19|0)<(54); + if ($20) { + $21 = ($19|0)>(1); + $22 = -$0; + $$sink1$p = $21 ? $22 : -1.0; + $$sink1 = $14 + $$sink1$p; + $$sink = $21 ? 1.0 : $0; + $23 = $$sink - $$sink1; + $24 = $23 / $14; + $$186 = $24; } else { - $c$1 = 0.0; - } - $27 = $16 & 1048575; - $28 = (($27) + 1072079006)|0; - HEAP32[tempDoublePtr>>2] = $14;HEAP32[tempDoublePtr+4>>2] = $28;$29 = +HEAPF64[tempDoublePtr>>3]; - $30 = $29 + -1.0; - $phitmp = (+($18|0)); - $c$2 = $c$1;$f$1 = $30;$k$1 = $phitmp; + $$186 = 0.0; + } + $25 = $17 & 1048575; + $26 = (($25) + 1072079006)|0; + HEAP32[tempDoublePtr>>2] = $15;HEAP32[tempDoublePtr+4>>2] = $26;$27 = +HEAPF64[tempDoublePtr>>3]; + $28 = $27 + -1.0; + $phitmp = (+($19|0)); + $$1 = $phitmp;$$184 = $28;$$2 = $$186; label = 11; } if ((label|0) == 11) { - $31 = $f$1 * 0.5; - $32 = $f$1 * $31; - $33 = $f$1 + 2.0; - $34 = $f$1 / $33; - $35 = $34 * $34; - $36 = $35 * $35; - $37 = $36 * 0.15313837699209373; - $38 = $37 + 0.22222198432149784; - $39 = $36 * $38; - $40 = $39 + 0.39999999999409419; - $41 = $36 * $40; - $42 = $36 * 0.14798198605116586; - $43 = $42 + 0.1818357216161805; - $44 = $36 * $43; - $45 = $44 + 0.28571428743662391; - $46 = $36 * $45; - $47 = $46 + 0.66666666666667351; - $48 = $35 * $47; - $49 = $41 + $48; - $50 = $32 + $49; - $51 = $34 * $50; - $52 = $k$1 * 1.9082149292705877E-10; - $53 = $c$2 + $52; - $54 = $53 + $51; - $55 = $54 - $32; - $56 = $f$1 + $55; - $57 = $k$1 * 0.69314718036912382; - $58 = $57 + $56; - $$0 = $58; - } - return (+$$0); -} -function _sinh($x) { - $x = +$x; - var $$ = 0.0, $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0.0, $5 = 0; - var $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = ($1|0)<(0); - $$ = $2 ? -0.5 : 0.5; - $3 = $1 & 2147483647; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $3;$4 = +HEAPF64[tempDoublePtr>>3]; - $5 = ($3>>>0)<(1082535490); + $29 = $$184 * 0.5; + $30 = $$184 * $29; + $31 = $$184 + 2.0; + $32 = $$184 / $31; + $33 = $32 * $32; + $34 = $33 * $33; + $35 = $34 * 0.15313837699209373; + $36 = $35 + 0.22222198432149784; + $37 = $34 * $36; + $38 = $37 + 0.39999999999409419; + $39 = $34 * $38; + $40 = $34 * 0.14798198605116586; + $41 = $40 + 0.1818357216161805; + $42 = $34 * $41; + $43 = $42 + 0.28571428743662391; + $44 = $34 * $43; + $45 = $44 + 0.66666666666667351; + $46 = $33 * $45; + $47 = $39 + $46; + $48 = $30 + $47; + $49 = $32 * $48; + $50 = $$1 * 1.9082149292705877E-10; + $51 = $$2 + $50; + $52 = $51 + $49; + $53 = $52 - $30; + $54 = $$184 + $53; + $55 = $$1 * 0.69314718036912382; + $56 = $55 + $54; + $$082 = $56; + } + return (+$$082); +} +function _asinh($0) { + $0 = +$0; + var $$0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + $3 = (_bitshift64Lshr(($1|0),($2|0),52)|0); + $4 = tempRet0; + $5 = $3 & 2047; + $6 = $2 & 2147483647; + HEAP32[tempDoublePtr>>2] = $1;HEAP32[tempDoublePtr+4>>2] = $6;$7 = +HEAPF64[tempDoublePtr>>3]; + $8 = ($5>>>0)>(1048); do { - if ($5) { - $6 = (+_expm1($4)); - $7 = ($3>>>0)<(1072693248); - if (!($7)) { - $15 = $6 + 1.0; - $16 = $6 / $15; - $17 = $6 + $16; - $18 = $$ * $17; - $$0 = $18; + if ($8) { + $9 = (+Math_log((+$7))); + $10 = $9 + 0.69314718055994529; + $$0 = $10; + } else { + $11 = ($5>>>0)>(1023); + if ($11) { + $12 = $7 * 2.0; + $13 = $7 * $7; + $14 = $13 + 1.0; + $15 = (+Math_sqrt((+$14))); + $16 = $7 + $15; + $17 = 1.0 / $16; + $18 = $12 + $17; + $19 = (+Math_log((+$18))); + $$0 = $19; break; } - $8 = ($3>>>0)<(1045430272); - if ($8) { - $$0 = $x; + $20 = ($5>>>0)>(996); + if ($20) { + $21 = $7 * $7; + $22 = $21 + 1.0; + $23 = (+Math_sqrt((+$22))); + $24 = $23 + 1.0; + $25 = $21 / $24; + $26 = $7 + $25; + $27 = (+_log1p($26)); + $$0 = $27; } else { - $9 = $6 * 2.0; - $10 = $6 * $6; - $11 = $6 + 1.0; - $12 = $10 / $11; - $13 = $9 - $12; - $14 = $$ * $13; - $$0 = $14; + $$0 = $7; } - } else { - $19 = $$ * 2.0; - $20 = (+___expo2($4)); - $21 = $19 * $20; - $$0 = $21; } } while(0); - return (+$$0); -} -function _tanh($x) { - $x = +$x; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0; - var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $t$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = $1 & 2147483647; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $2;$3 = +HEAPF64[tempDoublePtr>>3]; - $4 = ($2>>>0)>(1071748074); + $28 = ($2|0)<(0); + $29 = -$$0; + $30 = $28 ? $29 : $$0; + return (+$30); +} +function _atanh($0) { + $0 = +$0; + var $$0 = 0.0, $$sink19 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + $3 = (_bitshift64Lshr(($1|0),($2|0),52)|0); + $4 = tempRet0; + $5 = $3 & 2047; + $6 = $2 & 2147483647; + HEAP32[tempDoublePtr>>2] = $1;HEAP32[tempDoublePtr+4>>2] = $6;$7 = +HEAPF64[tempDoublePtr>>3]; + $8 = ($5>>>0)<(1022); + if ($8) { + $9 = ($5>>>0)<(991); + if ($9) { + $$0 = $7; + } else { + $10 = $7 * 2.0; + $11 = $7 * $10; + $12 = 1.0 - $7; + $13 = $11 / $12; + $14 = $10 + $13; + $$sink19 = $14; + label = 5; + } + } else { + $15 = 1.0 - $7; + $16 = $7 / $15; + $17 = $16 * 2.0; + $$sink19 = $17; + label = 5; + } + if ((label|0) == 5) { + $18 = (+_log1p($$sink19)); + $19 = $18 * 0.5; + $$0 = $19; + } + $20 = ($2|0)<(0); + $21 = -$$0; + $22 = $20 ? $21 : $$0; + return (+$22); +} +function _log10($0) { + $0 = +$0; + var $$0 = 0, $$0100 = 0, $$0101 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0; + var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0; + var $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $8 = 0, $9 = 0.0, $or$cond = 0, $or$cond105 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + $3 = ($2>>>0)<(1048576); + $4 = ($2|0)<(0); + $or$cond = $4 | $3; do { - if ($4) { - $5 = ($2>>>0)>(1077149696); - if ($5) { - $6 = 0.0 / $3; - $7 = 1.0 - $6; - $t$0 = $7; + if ($or$cond) { + $5 = $2 & 2147483647; + $6 = ($1|0)==(0); + $7 = ($5|0)==(0); + $8 = $6 & $7; + if ($8) { + $9 = $0 * $0; + $10 = -1.0 / $9; + $$0101 = $10; + break; + } + if ($4) { + $11 = $0 - $0; + $12 = $11 / 0.0; + $$0101 = $12; break; } else { - $8 = $3 * 2.0; - $9 = (+_expm1($8)); - $10 = $9 + 2.0; - $11 = 2.0 / $10; - $12 = 1.0 - $11; - $t$0 = $12; + $13 = $0 * 18014398509481984.0; + HEAPF64[tempDoublePtr>>3] = $13;$14 = HEAP32[tempDoublePtr>>2]|0; + $15 = HEAP32[tempDoublePtr+4>>2]|0; + $$0 = -1077;$$0100 = $15;$26 = $14;$71 = $15; + label = 9; break; } } else { - $13 = ($2>>>0)>(1070618798); - if ($13) { - $14 = $3 * 2.0; - $15 = (+_expm1($14)); - $16 = $15 + 2.0; - $17 = $15 / $16; - $t$0 = $17; - break; - } - $18 = ($2>>>0)>(1048575); - if ($18) { - $19 = $3 * -2.0; - $20 = (+_expm1($19)); - $21 = -$20; - $22 = $20 + 2.0; - $23 = $21 / $22; - $t$0 = $23; + $16 = ($2>>>0)>(2146435071); + if ($16) { + $$0101 = $0; } else { - $t$0 = $3; + $17 = ($2|0)==(1072693248); + $18 = ($1|0)==(0); + $19 = (0)==(0); + $20 = $18 & $19; + $or$cond105 = $20 & $17; + if ($or$cond105) { + $$0101 = 0.0; + } else { + $$0 = -1023;$$0100 = $2;$26 = $1;$71 = $2; + label = 9; + } } } } while(0); - $24 = ($1|0)<(0); - $25 = -$t$0; - $26 = $24 ? $25 : $t$0; - return (+$26); -} -function ___mmap($start,$len,$prot,$flags,$fd,$off) { - $start = $start|0; - $len = $len|0; - $prot = $prot|0; - $flags = $flags|0; - $fd = $fd|0; - $off = $off|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = ($off|0)<(0); - $1 = $0 << 31 >> 31; - $2 = $off & 4095; - $3 = $1 & -4096; - $4 = ($2|0)==(0); - $5 = ($3|0)==(0); - $6 = $4 & $5; + if ((label|0) == 9) { + $21 = (($$0100) + 614242)|0; + $22 = $21 >>> 20; + $23 = (($$0) + ($22))|0; + $24 = $21 & 1048575; + $25 = (($24) + 1072079006)|0; + HEAP32[tempDoublePtr>>2] = $26;HEAP32[tempDoublePtr+4>>2] = $25;$27 = +HEAPF64[tempDoublePtr>>3]; + $28 = $27 + -1.0; + $29 = $28 * 0.5; + $30 = $28 * $29; + $31 = $28 + 2.0; + $32 = $28 / $31; + $33 = $32 * $32; + $34 = $33 * $33; + $35 = $34 * 0.15313837699209373; + $36 = $35 + 0.22222198432149784; + $37 = $34 * $36; + $38 = $37 + 0.39999999999409419; + $39 = $34 * $38; + $40 = $34 * 0.14798198605116586; + $41 = $40 + 0.1818357216161805; + $42 = $34 * $41; + $43 = $42 + 0.28571428743662391; + $44 = $34 * $43; + $45 = $44 + 0.66666666666667351; + $46 = $33 * $45; + $47 = $39 + $46; + $48 = $28 - $30; + HEAPF64[tempDoublePtr>>3] = $48;$49 = HEAP32[tempDoublePtr>>2]|0; + $50 = HEAP32[tempDoublePtr+4>>2]|0; + HEAP32[tempDoublePtr>>2] = 0;HEAP32[tempDoublePtr+4>>2] = $50;$51 = +HEAPF64[tempDoublePtr>>3]; + $52 = $28 - $51; + $53 = $52 - $30; + $54 = $30 + $47; + $55 = $32 * $54; + $56 = $53 + $55; + $57 = $51 * 0.43429448187816888; + $58 = (+($23|0)); + $59 = $58 * 0.30102999566361177; + $60 = $58 * 3.6942390771589308E-13; + $61 = $51 + $56; + $62 = $61 * 2.5082946711645275E-11; + $63 = $60 + $62; + $64 = $56 * 0.43429448187816888; + $65 = $64 + $63; + $66 = $59 + $57; + $67 = $59 - $66; + $68 = $57 + $67; + $69 = $68 + $65; + $70 = $66 + $69; + $$0101 = $70; + } + return (+$$0101); +} +function _tanh($0) { + $0 = +$0; + var $$0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; + var $27 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + $3 = $2 & 2147483647; + HEAP32[tempDoublePtr>>2] = $1;HEAP32[tempDoublePtr+4>>2] = $3;$4 = +HEAPF64[tempDoublePtr>>3]; + $5 = ($3>>>0)>(1071748074); do { - if ($6) { - $8 = ($len>>>0)>(2147483646); - if ($8) { - $9 = (___errno_location()|0); - HEAP32[$9>>2] = 12; - $$0 = (-1); + if ($5) { + $6 = ($3>>>0)>(1077149696); + if ($6) { + $7 = 0.0 / $4; + $8 = 1.0 - $7; + $$0 = $8; + break; + } else { + $9 = $4 * 2.0; + $10 = (+_expm1($9)); + $11 = $10 + 2.0; + $12 = 2.0 / $11; + $13 = 1.0 - $12; + $$0 = $13; break; } - $10 = $flags & 16; - $11 = ($10|0)!=(0); - if ($11) { - _dummy1(-1); + } else { + $14 = ($3>>>0)>(1070618798); + if ($14) { + $15 = $4 * 2.0; + $16 = (+_expm1($15)); + $17 = $16 + 2.0; + $18 = $16 / $17; + $$0 = $18; + break; } - $12 = $off >> 12; - HEAP32[$vararg_buffer>>2] = $start; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $len; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $prot; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $flags; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $fd; - $vararg_ptr5 = ((($vararg_buffer)) + 20|0); - HEAP32[$vararg_ptr5>>2] = $12; - $13 = (___syscall192(192,($vararg_buffer|0))|0); - $14 = (___syscall_ret($13)|0); - $15 = $14; - if ($11) { - _dummy0(); - $$0 = $15; + $19 = ($3>>>0)>(1048575); + if ($19) { + $20 = $4 * -2.0; + $21 = (+_expm1($20)); + $22 = -$21; + $23 = $21 + 2.0; + $24 = $22 / $23; + $$0 = $24; } else { - $$0 = $15; + $$0 = $4; } - } else { - $7 = (___errno_location()|0); - HEAP32[$7>>2] = 22; - $$0 = (-1); } } while(0); - STACKTOP = sp;return ($$0|0); + $25 = ($2|0)<(0); + $26 = -$$0; + $27 = $25 ? $26 : $$0; + return (+$27); } -function ___munmap($start,$len) { - $start = $start|0; - $len = $len|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _dummy1(-1); - HEAP32[$vararg_buffer>>2] = $start; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $len; - $0 = (___syscall91(91,($vararg_buffer|0))|0); - $1 = (___syscall_ret($0)|0); - _dummy0(); - STACKTOP = sp;return ($1|0); -} -function _fchmod($fd,$mode) { - $fd = $fd|0; - $mode = $mode|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $buf = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer6 = sp + 16|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $buf = sp + 24|0; - HEAP32[$vararg_buffer>>2] = $fd; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $mode; - $0 = (___syscall94(94,($vararg_buffer|0))|0); - $1 = ($0|0)==(-9); - if ($1) { - HEAP32[$vararg_buffer2>>2] = $fd; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = 1; - $2 = (___syscall221(221,($vararg_buffer2|0))|0); - $3 = ($2|0)<(0); - if ($3) { - label = 3; - } else { - ___procfdname($buf,$fd); - HEAP32[$vararg_buffer6>>2] = $buf; - $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $mode; - $5 = (___syscall15(15,($vararg_buffer6|0))|0); - $6 = (___syscall_ret($5)|0); - $$0 = $6; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $4 = (___syscall_ret($0)|0); - $$0 = $4; - } - STACKTOP = sp;return ($$0|0); -} -function _fstat($fd,$st) { - $fd = $fd|0; - $st = $st|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $buf = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer6 = sp + 16|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $buf = sp + 24|0; - HEAP32[$vararg_buffer>>2] = $fd; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $st; - $0 = (___syscall197(197,($vararg_buffer|0))|0); - $1 = ($0|0)==(-9); - if ($1) { - HEAP32[$vararg_buffer2>>2] = $fd; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = 1; - $2 = (___syscall221(221,($vararg_buffer2|0))|0); - $3 = ($2|0)<(0); - if ($3) { - label = 3; - } else { - ___procfdname($buf,$fd); - HEAP32[$vararg_buffer6>>2] = $buf; - $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $st; - $5 = (___syscall195(195,($vararg_buffer6|0))|0); - $6 = (___syscall_ret($5)|0); - $$0 = $6; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $4 = (___syscall_ret($0)|0); - $$0 = $4; - } - STACKTOP = sp;return ($$0|0); -} -function _lstat($path,$buf) { - $path = $path|0; - $buf = $buf|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $path; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $buf; - $0 = (___syscall196(196,($vararg_buffer|0))|0); - $1 = (___syscall_ret($0)|0); - STACKTOP = sp;return ($1|0); -} -function _mkdir($path,$mode) { - $path = $path|0; - $mode = $mode|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; +function _write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $path; + $3 = $1; + HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $mode; - $0 = (___syscall39(39,($vararg_buffer|0))|0); - $1 = (___syscall_ret($0)|0); - STACKTOP = sp;return ($1|0); + HEAP32[$vararg_ptr1>>2] = $3; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $2; + $4 = (___syscall4(4,($vararg_buffer|0))|0); + $5 = (___syscall_ret($4)|0); + STACKTOP = sp;return ($5|0); } -function _stat($path,$buf) { - $path = $path|0; - $buf = $buf|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; +function _read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $path; + $3 = $1; + HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $buf; - $0 = (___syscall195(195,($vararg_buffer|0))|0); - $1 = (___syscall_ret($0)|0); - STACKTOP = sp;return ($1|0); -} -function ___lockfile($f) { - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($f) { - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; + HEAP32[$vararg_ptr1>>2] = $3; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $2; + $4 = (___syscall3(3,($vararg_buffer|0))|0); + $5 = (___syscall_ret($4)|0); + STACKTOP = sp;return ($5|0); } -function ___stdio_close($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _stat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - $0 = ((($f)) + 60|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $1; - $2 = (___syscall6(6,($vararg_buffer|0))|0); - $3 = (___syscall_ret($2)|0); - STACKTOP = sp;return ($3|0); -} -function ___stdio_seek($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $$pre = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ret = 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; - $ret = sp + 20|0; - $0 = ((($f)) + 60|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $1; + $2 = $0; + $3 = $1; + HEAP32[$vararg_buffer>>2] = $2; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $off; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $ret; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $whence; - $2 = (___syscall140(140,($vararg_buffer|0))|0); - $3 = (___syscall_ret($2)|0); - $4 = ($3|0)<(0); - if ($4) { - HEAP32[$ret>>2] = -1; - $5 = -1; - } else { - $$pre = HEAP32[$ret>>2]|0; - $5 = $$pre; - } + HEAP32[$vararg_ptr1>>2] = $3; + $4 = (___syscall195(195,($vararg_buffer|0))|0); + $5 = (___syscall_ret($4)|0); STACKTOP = sp;return ($5|0); } -function ___stdio_write($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt$0 = 0, $cnt$1 = 0, $iov$0 = 0, $iov$0$lcssa11 = 0, $iov$1 = 0, $iovcnt$0 = 0; - var $iovcnt$0$lcssa12 = 0, $iovcnt$1 = 0, $iovs = 0, $rem$0 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; +function _getcwd($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$06 = 0, $$07 = 0, $10 = 0, $11 = 0, $2 = 0, $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 + 48|0; - $vararg_buffer3 = sp + 16|0; + STACKTOP = STACKTOP + 4112|0; $vararg_buffer = sp; - $iovs = sp + 32|0; - $0 = ((($f)) + 28|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$iovs>>2] = $1; - $2 = ((($iovs)) + 4|0); - $3 = ((($f)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4; - $6 = (($5) - ($1))|0; - HEAP32[$2>>2] = $6; - $7 = ((($iovs)) + 8|0); - HEAP32[$7>>2] = $buf; - $8 = ((($iovs)) + 12|0); - HEAP32[$8>>2] = $len; - $9 = (($6) + ($len))|0; - $10 = ((($f)) + 60|0); - $11 = ((($f)) + 44|0); - $iov$0 = $iovs;$iovcnt$0 = 2;$rem$0 = $9; - while(1) { - $12 = HEAP32[8864>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - $17 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer3>>2] = $17; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $iov$0; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $iovcnt$0; - $18 = (___syscall146(146,($vararg_buffer3|0))|0); - $19 = (___syscall_ret($18)|0); - $cnt$0 = $19; + $2 = sp + 8|0; + $3 = ($0|0)==(0|0); + if ($3) { + $$0 = 4096;$$06 = $2; + label = 4; + } else { + $4 = ($1|0)==(0); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 22; + $$07 = 0; } else { - _pthread_cleanup_push((154|0),($f|0)); - $14 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $iov$0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $iovcnt$0; - $15 = (___syscall146(146,($vararg_buffer|0))|0); - $16 = (___syscall_ret($15)|0); - _pthread_cleanup_pop(0); - $cnt$0 = $16; - } - $20 = ($rem$0|0)==($cnt$0|0); - if ($20) { - label = 6; - break; - } - $27 = ($cnt$0|0)<(0); - if ($27) { - $iov$0$lcssa11 = $iov$0;$iovcnt$0$lcssa12 = $iovcnt$0; - label = 8; - break; + $$0 = $1;$$06 = $0; + label = 4; } - $35 = (($rem$0) - ($cnt$0))|0; - $36 = ((($iov$0)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($cnt$0>>>0)>($37>>>0); - if ($38) { - $39 = HEAP32[$11>>2]|0; - HEAP32[$0>>2] = $39; - HEAP32[$3>>2] = $39; - $40 = (($cnt$0) - ($37))|0; - $41 = ((($iov$0)) + 8|0); - $42 = (($iovcnt$0) + -1)|0; - $$phi$trans$insert = ((($iov$0)) + 12|0); - $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $50 = $$pre;$cnt$1 = $40;$iov$1 = $41;$iovcnt$1 = $42; + } + if ((label|0) == 4) { + $6 = $$06; + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $$0; + $7 = (___syscall183(183,($vararg_buffer|0))|0); + $8 = (___syscall_ret($7)|0); + $9 = ($8|0)<(0); + if ($9) { + $$07 = 0; } else { - $43 = ($iovcnt$0|0)==(2); - if ($43) { - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($cnt$0)|0); - HEAP32[$0>>2] = $45; - $50 = $37;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = 2; + $10 = ($$06|0)==($2|0); + if ($10) { + $11 = (___strdup($2)|0); + $$07 = $11; } else { - $50 = $37;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = $iovcnt$0; + $$07 = $$06; } } - $46 = HEAP32[$iov$1>>2]|0; - $47 = (($46) + ($cnt$1)|0); - HEAP32[$iov$1>>2] = $47; - $48 = ((($iov$1)) + 4|0); - $49 = (($50) - ($cnt$1))|0; - HEAP32[$48>>2] = $49; - $iov$0 = $iov$1;$iovcnt$0 = $iovcnt$1;$rem$0 = $35; - } - if ((label|0) == 6) { - $21 = HEAP32[$11>>2]|0; - $22 = ((($f)) + 48|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + ($23)|0); - $25 = ((($f)) + 16|0); - HEAP32[$25>>2] = $24; - $26 = $21; - HEAP32[$0>>2] = $26; - HEAP32[$3>>2] = $26; - $$0 = $len; } - else if ((label|0) == 8) { - $28 = ((($f)) + 16|0); - HEAP32[$28>>2] = 0; - HEAP32[$0>>2] = 0; - HEAP32[$3>>2] = 0; - $29 = HEAP32[$f>>2]|0; - $30 = $29 | 32; - HEAP32[$f>>2] = $30; - $31 = ($iovcnt$0$lcssa12|0)==(2); - if ($31) { - $$0 = 0; - } else { - $32 = ((($iov$0$lcssa11)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($len) - ($33))|0; - $$0 = $34; - } + STACKTOP = sp;return ($$07|0); +} +function ___strdup($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_strlen($0)|0); + $2 = (($1) + 1)|0; + $3 = (_malloc($2)|0); + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + _memcpy(($3|0),($0|0),($2|0))|0; + $$0 = $3; } - STACKTOP = sp;return ($$0|0); + return ($$0|0); } -function ___stdout_write($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tio = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; +function _getpid() { + var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - $tio = sp + 12|0; - $0 = ((($f)) + 36|0); - HEAP32[$0>>2] = 163; - $1 = HEAP32[$f>>2]|0; - $2 = $1 & 64; - $3 = ($2|0)==(0); - if ($3) { - $4 = ((($f)) + 60|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21505; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $tio; - $6 = (___syscall54(54,($vararg_buffer|0))|0); - $7 = ($6|0)==(0); - if (!($7)) { - $8 = ((($f)) + 75|0); - HEAP8[$8>>0] = -1; - } - } - $9 = (___stdio_write($f,$buf,$len)|0); - STACKTOP = sp;return ($9|0); + $0 = (___syscall20(20,($vararg_buffer|0))|0); + STACKTOP = sp;return ($0|0); } -function _fflush($f) { - $f = $f|0; - var $$0 = 0, $$01 = 0, $$012 = 0, $$014 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $r$0$lcssa = 0, $r$03 = 0, $r$1 = 0, label = 0, sp = 0; +function ___ofl_lock() { + var label = 0, sp = 0; sp = STACKTOP; - $0 = ($f|0)==(0|0); - do { - if ($0) { - $7 = HEAP32[8908>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $27 = 0; - } else { - $9 = HEAP32[8908>>2]|0; - $10 = (_fflush($9)|0); - $27 = $10; - } - ___lock(((8892)|0)); - $$012 = HEAP32[(8888)>>2]|0; - $11 = ($$012|0)==(0|0); - if ($11) { - $r$0$lcssa = $27; - } else { - $$014 = $$012;$r$03 = $27; - while(1) { - $12 = ((($$014)) + 76|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(-1); - if ($14) { - $15 = (___lockfile($$014)|0); - $24 = $15; - } else { - $24 = 0; - } - $16 = ((($$014)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($$014)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($17>>>0)>($19>>>0); - if ($20) { - $21 = (___fflush_unlocked($$014)|0); - $22 = $21 | $r$03; - $r$1 = $22; - } else { - $r$1 = $r$03; - } - $23 = ($24|0)==(0); - if (!($23)) { - ___unlockfile($$014); - } - $25 = ((($$014)) + 56|0); - $$01 = HEAP32[$25>>2]|0; - $26 = ($$01|0)==(0|0); - if ($26) { - $r$0$lcssa = $r$1; - break; - } else { - $$014 = $$01;$r$03 = $r$1; - } - } - } - ___unlock(((8892)|0)); - $$0 = $r$0$lcssa; - } else { - $1 = ((($f)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if (!($3)) { - $4 = (___fflush_unlocked($f)|0); - $$0 = $4; - break; - } - $5 = (___lockfile($f)|0); - $phitmp = ($5|0)==(0); - $6 = (___fflush_unlocked($f)|0); - if ($phitmp) { - $$0 = $6; - } else { - ___unlockfile($f); - $$0 = $6; - } - } - } while(0); - return ($$0|0); + ___lock((55244|0)); + return (55252|0); } -function _qsort($base,$nel,$width,$cmp) { - $base = $base|0; - $nel = $nel|0; - $width = $width|0; - $cmp = $cmp|0; - var $$0$i = 0, $$0$i30 = 0, $$02$i$i = 0, $$02$i3$i = 0, $$lcssa = 0, $$lcssa57 = 0, $$phi$trans$insert$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i11 = 0, $$pre$i20 = 0, $$pre$i5 = 0, $$pre$i8 = 0, $$pre1$i = 0, $$pre1$i12 = 0, $$pre1$i27$pre = 0, $$pre1$i6 = 0, $$pre1$i9 = 0, $$sum = 0, $$sum2 = 0; - var $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, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $8$phi = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $head$0$lcssa = 0, $head$036 = 0; - var $head$1$be = 0, $head$153 = 0, $i$0 = 0, $lp = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $or$cond = 0, $or$cond48 = 0, $or$cond4852 = 0, $or$cond51 = 0, $p = 0, $pshift$0$lcssa = 0, $pshift$037 = 0, $pshift$1 = 0, $pshift$2$be = 0, $pshift$254 = 0, $sum = 0, label = 0, sp = 0; +function ___ofl_unlock() { + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 208|0; - $lp = sp + 8|0; - $p = sp; - $0 = Math_imul($width, $nel)|0; - $1 = $p; - $2 = $1; - HEAP32[$2>>2] = 1; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = ($0|0)==(0); - if (!($5)) { - $$sum = (($0) - ($width))|0; - $6 = ((($lp)) + 4|0); - HEAP32[$6>>2] = $width; - HEAP32[$lp>>2] = $width; - $10 = $width;$8 = $width;$i$0 = 2; - while(1) { - $7 = (($8) + ($width))|0; - $9 = (($7) + ($10))|0; - $11 = (($lp) + ($i$0<<2)|0); - HEAP32[$11>>2] = $9; - $12 = ($9>>>0)<($0>>>0); - $13 = (($i$0) + 1)|0; - if ($12) { - $8$phi = $10;$10 = $9;$i$0 = $13;$8 = $8$phi; - } else { - break; - } - } - $14 = (0 - ($width))|0; - $15 = (($base) + ($$sum)|0); - $16 = ($$sum|0)>(0); - $$phi$trans$insert$i = ((($p)) + 4|0); - if ($16) { - $17 = $15; - $19 = 1;$head$036 = $base;$pshift$037 = 1; - while(1) { - $18 = $19 & 3; - $20 = ($18|0)==(3); - do { - if ($20) { - _sift($head$036,$width,$cmp,$pshift$037,$lp); - $$pre$i = HEAP32[$p>>2]|0; - $$pre1$i = HEAP32[$$phi$trans$insert$i>>2]|0; - $21 = $$pre$i >>> 2; - $22 = $$pre1$i << 30; - $23 = $22 | $21; - HEAP32[$p>>2] = $23; - $24 = $$pre1$i >>> 2; - HEAP32[$$phi$trans$insert$i>>2] = $24; - $25 = (($pshift$037) + 2)|0; - $48 = $23;$pshift$1 = $25; - } else { - $26 = (($pshift$037) + -1)|0; - $27 = (($lp) + ($26<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = $head$036; - $30 = (($17) - ($29))|0; - $31 = ($28>>>0)<($30>>>0); - if ($31) { - _sift($head$036,$width,$cmp,$pshift$037,$lp); - } else { - _trinkle($head$036,$width,$cmp,$p,$pshift$037,0,$lp); - } - $32 = ($pshift$037|0)==(1); - if ($32) { - $$pre$i5 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i6 = HEAP32[$p>>2]|0; - $33 = $$pre$i5 << 1; - $34 = $$pre1$i6 >>> 31; - $35 = $34 | $33; - HEAP32[$$phi$trans$insert$i>>2] = $35; - $36 = $$pre1$i6 << 1; - HEAP32[$p>>2] = $36; - $48 = $36;$pshift$1 = 0; - break; - } - $37 = ($26>>>0)>(31); - if ($37) { - $38 = (($pshift$037) + -33)|0; - $39 = HEAP32[$p>>2]|0; - HEAP32[$$phi$trans$insert$i>>2] = $39; - HEAP32[$p>>2] = 0; - $$0$i = $38;$41 = $39;$44 = 0; - } else { - $$pre$i11 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i12 = HEAP32[$p>>2]|0; - $$0$i = $26;$41 = $$pre$i11;$44 = $$pre1$i12; - } - $40 = $41 << $$0$i; - $42 = (32 - ($$0$i))|0; - $43 = $44 >>> $42; - $45 = $43 | $40; - HEAP32[$$phi$trans$insert$i>>2] = $45; - $46 = $44 << $$0$i; - HEAP32[$p>>2] = $46; - $48 = $46;$pshift$1 = 1; - } - } while(0); - $47 = $48 | 1; - HEAP32[$p>>2] = $47; - $49 = (($head$036) + ($width)|0); - $50 = ($49>>>0)<($15>>>0); - if ($50) { - $19 = $47;$head$036 = $49;$pshift$037 = $pshift$1; - } else { - $head$0$lcssa = $49;$pshift$0$lcssa = $pshift$1; - break; - } - } - } else { - $head$0$lcssa = $base;$pshift$0$lcssa = 1; - } - _trinkle($head$0$lcssa,$width,$cmp,$p,$pshift$0$lcssa,0,$lp); - $51 = ((($p)) + 4|0); - $52 = ($pshift$0$lcssa|0)==(1); - $53 = HEAP32[$p>>2]|0; - $54 = ($53|0)==(1); - $or$cond51 = $52 & $54; - $55 = HEAP32[$51>>2]|0; - $56 = ($55|0)==(0); - $or$cond4852 = $or$cond51 & $56; - if (!($or$cond4852)) { - $59 = $53;$head$153 = $head$0$lcssa;$pshift$254 = $pshift$0$lcssa; - while(1) { - $57 = ($pshift$254|0)<(2); - if ($57) { - $58 = (($59) + -1)|0; - $60 = ($58|0)==(0); - do { - if ($60) { - $81 = 32; - label = 30; - } else { - $61 = $58 & 1; - $62 = ($61|0)==(0); - if ($62) { - $$02$i$i = $58;$nTrailingZeros$03$i$i = 0; - while(1) { - $63 = (($nTrailingZeros$03$i$i) + 1)|0; - $64 = $$02$i$i >>> 1; - $65 = $64 & 1; - $66 = ($65|0)==(0); - if ($66) { - $$02$i$i = $64;$nTrailingZeros$03$i$i = $63; - } else { - $$lcssa = $63; - break; - } - } - $67 = ($$lcssa|0)==(0); - if ($67) { - label = 24; - } else { - $79 = $$lcssa; - } - } else { - label = 24; - } - if ((label|0) == 24) { - label = 0; - $68 = HEAP32[$$phi$trans$insert$i>>2]|0; - $69 = ($68|0)==(0); - if ($69) { - $81 = 64; - label = 30; - break; - } - $70 = $68 & 1; - $71 = ($70|0)==(0); - if ($71) { - $$02$i3$i = $68;$nTrailingZeros$03$i2$i = 0; - } else { - $$0$i30 = 0;$84 = $59;$87 = $68;$91 = 0; - break; - } - while(1) { - $72 = (($nTrailingZeros$03$i2$i) + 1)|0; - $73 = $$02$i3$i >>> 1; - $74 = $73 & 1; - $75 = ($74|0)==(0); - if ($75) { - $$02$i3$i = $73;$nTrailingZeros$03$i2$i = $72; - } else { - $$lcssa57 = $72;$nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } - } - $76 = (($nTrailingZeros$03$i2$i$lcssa) + 33)|0; - $77 = ($$lcssa57|0)==(0); - if ($77) { - $$0$i30 = 0;$84 = $59;$87 = $68;$91 = 0; - break; - } else { - $79 = $76; - } - } - $78 = ($79>>>0)>(31); - if ($78) { - $81 = $79; - label = 30; - } else { - $$pre1$i27$pre = HEAP32[$$phi$trans$insert$i>>2]|0; - $$0$i30 = $79;$84 = $59;$87 = $$pre1$i27$pre;$91 = $79; - } - } - } while(0); - if ((label|0) == 30) { - label = 0; - $80 = (($81) + -32)|0; - $82 = HEAP32[$$phi$trans$insert$i>>2]|0; - HEAP32[$p>>2] = $82; - HEAP32[$$phi$trans$insert$i>>2] = 0; - $$0$i30 = $80;$84 = $82;$87 = 0;$91 = $81; - } - $83 = $84 >>> $$0$i30; - $85 = (32 - ($$0$i30))|0; - $86 = $87 << $85; - $88 = $86 | $83; - HEAP32[$p>>2] = $88; - $89 = $87 >>> $$0$i30; - HEAP32[$$phi$trans$insert$i>>2] = $89; - $90 = (($91) + ($pshift$254))|0; - $$pre = (($head$153) + ($14)|0); - $head$1$be = $$pre;$pshift$2$be = $90; - } else { - $$pre$i20 = HEAP32[$$phi$trans$insert$i>>2]|0; - $92 = $$pre$i20 << 2; - $93 = $59 >>> 30; - $94 = $93 | $92; - $95 = (($pshift$254) + -2)|0; - $96 = $59 << 1; - $97 = $96 & 2147483646; - $98 = $93 << 31; - $99 = $97 | $98; - $100 = $99 ^ 3; - HEAP32[$p>>2] = $100; - $101 = $94 >>> 1; - HEAP32[$$phi$trans$insert$i>>2] = $101; - $102 = (($lp) + ($95<<2)|0); - $103 = HEAP32[$102>>2]|0; - $sum = (($103) + ($width))|0; - $$sum2 = (0 - ($sum))|0; - $104 = (($head$153) + ($$sum2)|0); - $105 = (($pshift$254) + -1)|0; - _trinkle($104,$width,$cmp,$p,$105,1,$lp); - $$pre$i8 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i9 = HEAP32[$p>>2]|0; - $106 = $$pre$i8 << 1; - $107 = $$pre1$i9 >>> 31; - $108 = $107 | $106; - HEAP32[$$phi$trans$insert$i>>2] = $108; - $109 = $$pre1$i9 << 1; - $110 = $109 | 1; - HEAP32[$p>>2] = $110; - $111 = (($head$153) + ($14)|0); - _trinkle($111,$width,$cmp,$p,$95,1,$lp); - $head$1$be = $111;$pshift$2$be = $95; - } - $112 = ($pshift$2$be|0)==(1); - $113 = HEAP32[$p>>2]|0; - $114 = ($113|0)==(1); - $or$cond = $112 & $114; - $115 = HEAP32[$51>>2]|0; - $116 = ($115|0)==(0); - $or$cond48 = $or$cond & $116; - if ($or$cond48) { - break; - } else { - $59 = $113;$head$153 = $head$1$be;$pshift$254 = $pshift$2$be; - } - } - } - } - STACKTOP = sp;return; + ___unlock((55244|0)); + return; } -function _memcmp($vl,$vr,$n) { - $vl = $vl|0; - $vr = $vr|0; - $n = $n|0; - var $$03 = 0, $$lcssa = 0, $$lcssa19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$04 = 0, $r$05 = 0, label = 0, sp = 0; +function _fflush($0) { + $0 = $0|0; + var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($n|0)==(0); - L1: do { - if ($0) { - $11 = 0; - } else { - $$03 = $n;$l$04 = $vl;$r$05 = $vr; - while(1) { - $1 = HEAP8[$l$04>>0]|0; - $2 = HEAP8[$r$05>>0]|0; - $3 = ($1<<24>>24)==($2<<24>>24); - if (!($3)) { - $$lcssa = $1;$$lcssa19 = $2; - break; - } - $4 = (($$03) + -1)|0; - $5 = ((($l$04)) + 1|0); - $6 = ((($r$05)) + 1|0); - $7 = ($4|0)==(0); - if ($7) { - $11 = 0; - break L1; - } else { - $$03 = $4;$l$04 = $5;$r$05 = $6; - } - } - $8 = $$lcssa&255; - $9 = $$lcssa19&255; - $10 = (($8) - ($9))|0; - $11 = $10; - } - } while(0); - return ($11|0); -} -function ___stpcpy($d,$s) { - $d = $d|0; - $s = $s|0; - var $$0$lcssa = 0, $$01$lcssa = 0, $$0115 = 0, $$016 = 0, $$03 = 0, $$1$ph = 0, $$12$ph = 0, $$128 = 0, $$19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $wd$0$lcssa = 0, $wd$010 = 0, $ws$0$lcssa = 0, $ws$011 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $s; - $1 = $d; - $2 = $0 ^ $1; - $3 = $2 & 3; - $4 = ($3|0)==(0); - L1: do { - if ($4) { - $5 = $0 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$0$lcssa = $s;$$01$lcssa = $d; + $1 = ($0|0)==(0|0); + do { + if ($1) { + $8 = HEAP32[2791]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; } else { - $$0115 = $d;$$016 = $s; + $10 = HEAP32[2791]|0; + $11 = (_fflush($10)|0); + $29 = $11; + } + $12 = (___ofl_lock()|0); + $$02325 = HEAP32[$12>>2]|0; + $13 = ($$02325|0)==(0|0); + if ($13) { + $$024$lcssa = $29; + } else { + $$02327 = $$02325;$$02426 = $29; while(1) { - $7 = HEAP8[$$016>>0]|0; - HEAP8[$$0115>>0] = $7; - $8 = ($7<<24>>24)==(0); - if ($8) { - $$03 = $$0115; - break L1; + $14 = ((($$02327)) + 76|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(-1); + if ($16) { + $17 = (___lockfile($$02327)|0); + $26 = $17; + } else { + $26 = 0; } - $9 = ((($$016)) + 1|0); - $10 = ((($$0115)) + 1|0); - $11 = $9; - $12 = $11 & 3; - $13 = ($12|0)==(0); - if ($13) { - $$0$lcssa = $9;$$01$lcssa = $10; - break; + $18 = ((($$02327)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($$02327)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($19>>>0)>($21>>>0); + if ($22) { + $23 = (___fflush_unlocked($$02327)|0); + $24 = $23 | $$02426; + $$1 = $24; } else { - $$0115 = $10;$$016 = $9; + $$1 = $$02426; } - } - } - $14 = HEAP32[$$0$lcssa>>2]|0; - $15 = (($14) + -16843009)|0; - $16 = $14 & -2139062144; - $17 = $16 ^ -2139062144; - $18 = $17 & $15; - $19 = ($18|0)==(0); - if ($19) { - $22 = $14;$wd$010 = $$01$lcssa;$ws$011 = $$0$lcssa; - while(1) { - $20 = ((($ws$011)) + 4|0); - $21 = ((($wd$010)) + 4|0); - HEAP32[$wd$010>>2] = $22; - $23 = HEAP32[$20>>2]|0; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); + $25 = ($26|0)==(0); + if (!($25)) { + ___unlockfile($$02327); + } + $27 = ((($$02327)) + 56|0); + $$023 = HEAP32[$27>>2]|0; + $28 = ($$023|0)==(0|0); if ($28) { - $22 = $23;$wd$010 = $21;$ws$011 = $20; - } else { - $wd$0$lcssa = $21;$ws$0$lcssa = $20; + $$024$lcssa = $$1; break; + } else { + $$02327 = $$023;$$02426 = $$1; } } - } else { - $wd$0$lcssa = $$01$lcssa;$ws$0$lcssa = $$0$lcssa; } - $$1$ph = $ws$0$lcssa;$$12$ph = $wd$0$lcssa; - label = 8; + ___ofl_unlock(); + $$0 = $$024$lcssa; } else { - $$1$ph = $s;$$12$ph = $d; - label = 8; + $2 = ((($0)) + 76|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(-1); + if (!($4)) { + $5 = (___fflush_unlocked($0)|0); + $$0 = $5; + break; + } + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = (___fflush_unlocked($0)|0); + if ($phitmp) { + $$0 = $7; + } else { + ___unlockfile($0); + $$0 = $7; + } } } while(0); - if ((label|0) == 8) { - $29 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$12$ph>>0] = $29; - $30 = ($29<<24>>24)==(0); - if ($30) { - $$03 = $$12$ph; + return ($$0|0); +} +function ___fflush_unlocked($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)>($4>>>0); + if ($5) { + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + (FUNCTION_TABLE_iiii[$7 & 255]($0,0,0)|0); + $8 = HEAP32[$1>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $$0 = -1; } else { - $$128 = $$12$ph;$$19 = $$1$ph; - while(1) { - $31 = ((($$19)) + 1|0); - $32 = ((($$128)) + 1|0); - $33 = HEAP8[$31>>0]|0; - HEAP8[$32>>0] = $33; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$03 = $32; - break; - } else { - $$128 = $32;$$19 = $31; - } - } + label = 3; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $10 = ((($0)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + $15 = $11; + $16 = $13; + $17 = (($15) - ($16))|0; + $18 = ((($0)) + 40|0); + $19 = HEAP32[$18>>2]|0; + (FUNCTION_TABLE_iiii[$19 & 255]($0,$17,1)|0); } + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = 0; + HEAP32[$3>>2] = 0; + HEAP32[$1>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $$0 = 0; } - return ($$03|0); + return ($$0|0); } -function ___stpncpy($d,$s,$n) { - $d = $d|0; - $s = $s|0; - $n = $n|0; - var $$0$lcssa = 0, $$0$lcssa60 = 0, $$031 = 0, $$04$lcssa = 0, $$04$lcssa61 = 0, $$0430 = 0, $$06$lcssa = 0, $$06$lcssa62 = 0, $$0629 = 0, $$1$lcssa = 0, $$117 = 0, $$15$ph = 0, $$1511 = 0, $$17$ph = 0, $$1710 = 0, $$2$ph = 0, $$212 = 0, $$28 = 0, $$3 = 0, $$lcssa = 0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $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, $or$cond = 0, $or$cond28 = 0, $wd$0$lcssa = 0; - var $wd$018 = 0, $ws$0$lcssa = 0, $ws$019 = 0, label = 0, sp = 0; +function _lstat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = $s; - $1 = $d; - $2 = $0 ^ $1; - $3 = $2 & 3; - $4 = ($3|0)==(0); + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $2 = $0; + $3 = $1; + HEAP32[$vararg_buffer>>2] = $2; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $3; + $4 = (___syscall196(196,($vararg_buffer|0))|0); + $5 = (___syscall_ret($4)|0); + STACKTOP = sp;return ($5|0); +} +function _access($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $2 = $0; + HEAP32[$vararg_buffer>>2] = $2; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + $3 = (___syscall33(33,($vararg_buffer|0))|0); + $4 = (___syscall_ret($3)|0); + STACKTOP = sp;return ($4|0); +} +function _readlink($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $3 = $0; + $4 = $1; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $2; + $5 = (___syscall85(85,($vararg_buffer|0))|0); + $6 = (___syscall_ret($5)|0); + STACKTOP = sp;return ($6|0); +} +function ___mmap($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $10 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $6 = ($5|0)<(0); + $7 = $6 << 31 >> 31; + $8 = $5 & 4095; + $9 = $7 & -4096; + $10 = ($8|0)==(0); + $11 = ($9|0)==(0); + $12 = $10 & $11; do { - if ($4) { - $5 = $0 & 3; - $6 = ($5|0)!=(0); - $7 = ($n|0)!=(0); - $or$cond28 = $7 & $6; + if ($12) { + $14 = ($1>>>0)>(2147483646); + if ($14) { + $15 = (___errno_location()|0); + HEAP32[$15>>2] = 12; + $$0 = (-1); + break; + } + $16 = $3 & 16; + $17 = ($16|0)==(0); + if (!($17)) { + _dummy_413(); + } + $18 = $0; + $19 = (_bitshift64Lshr(($5|0),($7|0),12)|0); + $20 = tempRet0; + HEAP32[$vararg_buffer>>2] = $18; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $2; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $3; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $4; + $vararg_ptr5 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr5>>2] = $19; + $21 = (___syscall192(192,($vararg_buffer|0))|0); + $22 = (___syscall_ret($21)|0); + $23 = $22; + $$0 = $23; + } else { + $13 = (___errno_location()|0); + HEAP32[$13>>2] = 22; + $$0 = (-1); + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _unlink($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $1 = $0; + HEAP32[$vararg_buffer>>2] = $1; + $2 = (___syscall10(10,($vararg_buffer|0))|0); + $3 = (___syscall_ret($2)|0); + STACKTOP = sp;return ($3|0); +} +function _strncpy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpncpy($0,$1,$2)|0); + return ($0|0); +} +function ___stpncpy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$037$lcssa = 0, $$03753 = 0, $$038$lcssa = 0, $$038$lcssa79 = 0, $$03866 = 0, $$039$lcssa = 0, $$039$lcssa78 = 0, $$03965 = 0, $$041$lcssa = 0, $$041$lcssa77 = 0, $$04164 = 0, $$054 = 0, $$1$lcssa = 0, $$140$ph = 0, $$14046 = 0, $$142$ph = 0, $$14245 = 0, $$152 = 0, $$2$ph = 0; + var $$243 = 0, $$247 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $or$cond = 0, $or$cond63 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1; + $4 = $0; + $5 = $3 ^ $4; + $6 = $5 & 3; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = $3 & 3; + $9 = ($8|0)!=(0); + $10 = ($2|0)!=(0); + $or$cond63 = $10 & $9; L3: do { - if ($or$cond28) { - $$031 = $n;$$0430 = $s;$$0629 = $d; + if ($or$cond63) { + $$03866 = $2;$$03965 = $1;$$04164 = $0; while(1) { - $8 = HEAP8[$$0430>>0]|0; - HEAP8[$$0629>>0] = $8; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0$lcssa60 = $$031;$$04$lcssa61 = $$0430;$$06$lcssa62 = $$0629; + $11 = HEAP8[$$03965>>0]|0; + HEAP8[$$04164>>0] = $11; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$038$lcssa79 = $$03866;$$039$lcssa78 = $$03965;$$041$lcssa77 = $$04164; break L3; } - $10 = (($$031) + -1)|0; - $11 = ((($$0430)) + 1|0); - $12 = ((($$0629)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)!=(0); - $16 = ($10|0)!=(0); - $or$cond = $16 & $15; + $13 = (($$03866) + -1)|0; + $14 = ((($$03965)) + 1|0); + $15 = ((($$04164)) + 1|0); + $16 = $14; + $17 = $16 & 3; + $18 = ($17|0)!=(0); + $19 = ($13|0)!=(0); + $or$cond = $19 & $18; if ($or$cond) { - $$031 = $10;$$0430 = $11;$$0629 = $12; + $$03866 = $13;$$03965 = $14;$$04164 = $15; } else { - $$0$lcssa = $10;$$04$lcssa = $11;$$06$lcssa = $12;$$lcssa = $16; + $$038$lcssa = $13;$$039$lcssa = $14;$$041$lcssa = $15;$$lcssa = $19; label = 5; break; } } } else { - $$0$lcssa = $n;$$04$lcssa = $s;$$06$lcssa = $d;$$lcssa = $7; + $$038$lcssa = $2;$$039$lcssa = $1;$$041$lcssa = $0;$$lcssa = $10; label = 5; } } while(0); if ((label|0) == 5) { if ($$lcssa) { - $$0$lcssa60 = $$0$lcssa;$$04$lcssa61 = $$04$lcssa;$$06$lcssa62 = $$06$lcssa; + $$038$lcssa79 = $$038$lcssa;$$039$lcssa78 = $$039$lcssa;$$041$lcssa77 = $$041$lcssa; } else { - $$28 = $$06$lcssa;$$3 = 0; + $$243 = $$041$lcssa;$$3 = 0; break; } } - $17 = HEAP8[$$04$lcssa61>>0]|0; - $18 = ($17<<24>>24)==(0); - if ($18) { - $$28 = $$06$lcssa62;$$3 = $$0$lcssa60; + $20 = HEAP8[$$039$lcssa78>>0]|0; + $21 = ($20<<24>>24)==(0); + if ($21) { + $$243 = $$041$lcssa77;$$3 = $$038$lcssa79; } else { - $19 = ($$0$lcssa60>>>0)>(3); + $22 = ($$038$lcssa79>>>0)>(3); L11: do { - if ($19) { - $$117 = $$0$lcssa60;$wd$018 = $$06$lcssa62;$ws$019 = $$04$lcssa61; + if ($22) { + $$03753 = $$041$lcssa77;$$054 = $$039$lcssa78;$$152 = $$038$lcssa79; while(1) { - $20 = HEAP32[$ws$019>>2]|0; - $21 = (($20) + -16843009)|0; - $22 = $20 & -2139062144; - $23 = $22 ^ -2139062144; - $24 = $23 & $21; - $25 = ($24|0)==(0); - if (!($25)) { - $$1$lcssa = $$117;$wd$0$lcssa = $wd$018;$ws$0$lcssa = $ws$019; + $23 = HEAP32[$$054>>2]|0; + $24 = (($23) + -16843009)|0; + $25 = $23 & -2139062144; + $26 = $25 ^ -2139062144; + $27 = $26 & $24; + $28 = ($27|0)==(0); + if (!($28)) { + $$0$lcssa = $$054;$$037$lcssa = $$03753;$$1$lcssa = $$152; break L11; } - HEAP32[$wd$018>>2] = $20; - $26 = (($$117) + -4)|0; - $27 = ((($ws$019)) + 4|0); - $28 = ((($wd$018)) + 4|0); - $29 = ($26>>>0)>(3); - if ($29) { - $$117 = $26;$wd$018 = $28;$ws$019 = $27; + HEAP32[$$03753>>2] = $23; + $29 = (($$152) + -4)|0; + $30 = ((($$054)) + 4|0); + $31 = ((($$03753)) + 4|0); + $32 = ($29>>>0)>(3); + if ($32) { + $$03753 = $31;$$054 = $30;$$152 = $29; } else { - $$1$lcssa = $26;$wd$0$lcssa = $28;$ws$0$lcssa = $27; + $$0$lcssa = $30;$$037$lcssa = $31;$$1$lcssa = $29; break; } } } else { - $$1$lcssa = $$0$lcssa60;$wd$0$lcssa = $$06$lcssa62;$ws$0$lcssa = $$04$lcssa61; + $$0$lcssa = $$039$lcssa78;$$037$lcssa = $$041$lcssa77;$$1$lcssa = $$038$lcssa79; } } while(0); - $$15$ph = $ws$0$lcssa;$$17$ph = $wd$0$lcssa;$$2$ph = $$1$lcssa; + $$140$ph = $$0$lcssa;$$142$ph = $$037$lcssa;$$2$ph = $$1$lcssa; label = 11; } } else { - $$15$ph = $s;$$17$ph = $d;$$2$ph = $n; + $$140$ph = $1;$$142$ph = $0;$$2$ph = $2; label = 11; } } while(0); L16: do { if ((label|0) == 11) { - $30 = ($$2$ph|0)==(0); - if ($30) { - $$28 = $$17$ph;$$3 = 0; + $33 = ($$2$ph|0)==(0); + if ($33) { + $$243 = $$142$ph;$$3 = 0; } else { - $$1511 = $$15$ph;$$1710 = $$17$ph;$$212 = $$2$ph; + $$14046 = $$140$ph;$$14245 = $$142$ph;$$247 = $$2$ph; while(1) { - $31 = HEAP8[$$1511>>0]|0; - HEAP8[$$1710>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$28 = $$1710;$$3 = $$212; + $34 = HEAP8[$$14046>>0]|0; + HEAP8[$$14245>>0] = $34; + $35 = ($34<<24>>24)==(0); + if ($35) { + $$243 = $$14245;$$3 = $$247; break L16; } - $33 = (($$212) + -1)|0; - $34 = ((($$1511)) + 1|0); - $35 = ((($$1710)) + 1|0); - $36 = ($33|0)==(0); - if ($36) { - $$28 = $35;$$3 = 0; + $36 = (($$247) + -1)|0; + $37 = ((($$14046)) + 1|0); + $38 = ((($$14245)) + 1|0); + $39 = ($36|0)==(0); + if ($39) { + $$243 = $38;$$3 = 0; break; } else { - $$1511 = $34;$$1710 = $35;$$212 = $33; + $$14046 = $37;$$14245 = $38;$$247 = $36; } } } } } while(0); - _memset(($$28|0),0,($$3|0))|0; - return ($$28|0); + _memset(($$243|0),0,($$3|0))|0; + return ($$243|0); } -function _strcmp($l,$r) { - $l = $l|0; - $r = $r|0; - var $$014 = 0, $$05 = 0, $$lcssa = 0, $$lcssa2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = HEAP8[$l>>0]|0; - $1 = HEAP8[$r>>0]|0; - $2 = ($0<<24>>24)!=($1<<24>>24); - $3 = ($0<<24>>24)==(0); - $or$cond3 = $3 | $2; - if ($or$cond3) { - $$lcssa = $0;$$lcssa2 = $1; - } else { - $$014 = $l;$$05 = $r; - while(1) { - $4 = ((($$014)) + 1|0); - $5 = ((($$05)) + 1|0); - $6 = HEAP8[$4>>0]|0; - $7 = HEAP8[$5>>0]|0; - $8 = ($6<<24>>24)!=($7<<24>>24); - $9 = ($6<<24>>24)==(0); - $or$cond = $9 | $8; - if ($or$cond) { - $$lcssa = $6;$$lcssa2 = $7; - break; - } else { - $$014 = $4;$$05 = $5; - } - } - } - $10 = $$lcssa&255; - $11 = $$lcssa2&255; - $12 = (($10) - ($11))|0; - return ($12|0); -} -function _strcpy($dest,$src) { - $dest = $dest|0; - $src = $src|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($dest,$src)|0); - return ($dest|0); -} -function ___strdup($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _fchmod($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_strlen($s)|0); - $1 = (($0) + 1)|0; - $2 = (_malloc($1)|0); - $3 = ($2|0)==(0|0); + STACKTOP = STACKTOP + 48|0; + $vararg_buffer6 = sp + 40|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + $2 = (___syscall94(94,($vararg_buffer|0))|0); + $3 = ($2|0)==(-9); if ($3) { - $$0 = 0; - } else { - _memcpy(($2|0),($s|0),($1|0))|0; - $$0 = $2; - } - return ($$0|0); -} -function _strlen($s) { - $s = $s|0; - var $$0 = 0, $$01$lcssa = 0, $$014 = 0, $$1$lcssa = 0, $$lcssa20 = 0, $$pn = 0, $$pn15 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w$0 = 0, $w$0$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $s; - $1 = $0 & 3; - $2 = ($1|0)==(0); - L1: do { - if ($2) { - $$01$lcssa = $s; - label = 4; - } else { - $$014 = $s;$21 = $0; - while(1) { - $3 = HEAP8[$$014>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $$pn = $21; - break L1; - } - $5 = ((($$014)) + 1|0); - $6 = $5; - $7 = $6 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$01$lcssa = $5; - label = 4; - break; - } else { - $$014 = $5;$21 = $6; - } - } - } - } while(0); - if ((label|0) == 4) { - $w$0 = $$01$lcssa; - while(1) { - $9 = HEAP32[$w$0>>2]|0; - $10 = (($9) + -16843009)|0; - $11 = $9 & -2139062144; - $12 = $11 ^ -2139062144; - $13 = $12 & $10; - $14 = ($13|0)==(0); - $15 = ((($w$0)) + 4|0); - if ($14) { - $w$0 = $15; - } else { - $$lcssa20 = $9;$w$0$lcssa = $w$0; - break; - } - } - $16 = $$lcssa20&255; - $17 = ($16<<24>>24)==(0); - if ($17) { - $$1$lcssa = $w$0$lcssa; + HEAP32[$vararg_buffer2>>2] = $0; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = 1; + $4 = (___syscall221(221,($vararg_buffer2|0))|0); + $5 = ($4|0)<(0); + if ($5) { + label = 3; } else { - $$pn15 = $w$0$lcssa; - while(1) { - $18 = ((($$pn15)) + 1|0); - $$pre = HEAP8[$18>>0]|0; - $19 = ($$pre<<24>>24)==(0); - if ($19) { - $$1$lcssa = $18; - break; - } else { - $$pn15 = $18; - } - } + ___procfdname($vararg_buffer2,$0); + $7 = $vararg_buffer2; + HEAP32[$vararg_buffer6>>2] = $7; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $1; + $8 = (___syscall15(15,($vararg_buffer6|0))|0); + $9 = (___syscall_ret($8)|0); + $$0 = $9; } - $20 = $$1$lcssa; - $$pn = $20; - } - $$0 = (($$pn) - ($0))|0; - return ($$0|0); -} -function _strncmp($_l,$_r,$n) { - $_l = $_l|0; - $_r = $_r|0; - $n = $n|0; - var $$03 = 0, $$08 = 0, $$08$in = 0, $0 = 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; - var $l$06 = 0, $or$cond = 0, $or$cond4 = 0, $r$0$lcssa = 0, $r$07 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)==(0); - if ($0) { - $$03 = 0; } else { - $1 = HEAP8[$_l>>0]|0; - $2 = ($1<<24>>24)==(0); - L3: do { - if ($2) { - $13 = 0;$r$0$lcssa = $_r; - } else { - $$08$in = $n;$7 = $1;$l$06 = $_l;$r$07 = $_r; - while(1) { - $$08 = (($$08$in) + -1)|0; - $3 = HEAP8[$r$07>>0]|0; - $4 = ($3<<24>>24)!=(0); - $5 = ($$08|0)!=(0); - $or$cond = $5 & $4; - $6 = ($7<<24>>24)==($3<<24>>24); - $or$cond4 = $6 & $or$cond; - if (!($or$cond4)) { - $13 = $7;$r$0$lcssa = $r$07; - break L3; - } - $8 = ((($l$06)) + 1|0); - $9 = ((($r$07)) + 1|0); - $10 = HEAP8[$8>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $13 = 0;$r$0$lcssa = $9; - break; - } else { - $$08$in = $$08;$7 = $10;$l$06 = $8;$r$07 = $9; - } - } - } - } while(0); - $12 = $13&255; - $14 = HEAP8[$r$0$lcssa>>0]|0; - $15 = $14&255; - $16 = (($12) - ($15))|0; - $$03 = $16; + label = 3; } - return ($$03|0); -} -function _strncpy($d,$s,$n) { - $d = $d|0; - $s = $s|0; - $n = $n|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpncpy($d,$s,$n)|0); - return ($d|0); + if ((label|0) == 3) { + $6 = (___syscall_ret($2)|0); + $$0 = $6; + } + STACKTOP = sp;return ($$0|0); } -function _access($filename,$amode) { - $filename = $filename|0; - $amode = $amode|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; +function _mkdir($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $filename; + $2 = $0; + HEAP32[$vararg_buffer>>2] = $2; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $amode; - $0 = (___syscall33(33,($vararg_buffer|0))|0); - $1 = (___syscall_ret($0)|0); - STACKTOP = sp;return ($1|0); + HEAP32[$vararg_ptr1>>2] = $1; + $3 = (___syscall39(39,($vararg_buffer|0))|0); + $4 = (___syscall_ret($3)|0); + STACKTOP = sp;return ($4|0); } -function _close($fd) { - $fd = $fd|0; - var $$ = 0, $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _geteuid() { + var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $fd; - $0 = (___syscall6(6,($vararg_buffer|0))|0); - $1 = ($0|0)==(-4); - $$ = $1 ? -115 : $0; - $2 = (___syscall_ret($$)|0); - STACKTOP = sp;return ($2|0); + $0 = (___syscall201(201,($vararg_buffer|0))|0); + STACKTOP = sp;return ($0|0); } -function _fchown($fd,$uid,$gid) { - $fd = $fd|0; - $uid = $uid|0; - $gid = $gid|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $buf = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; +function _fchown($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $vararg_buffer7 = sp + 24|0; + $vararg_buffer7 = sp + 48|0; $vararg_buffer3 = sp + 16|0; $vararg_buffer = sp; - $buf = sp + 36|0; - HEAP32[$vararg_buffer>>2] = $fd; + HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $uid; + HEAP32[$vararg_ptr1>>2] = $1; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $gid; - $0 = (___syscall207(207,($vararg_buffer|0))|0); - $1 = ($0|0)==(-9); - if ($1) { - HEAP32[$vararg_buffer3>>2] = $fd; + HEAP32[$vararg_ptr2>>2] = $2; + $3 = (___syscall207(207,($vararg_buffer|0))|0); + $4 = ($3|0)==(-9); + if ($4) { + HEAP32[$vararg_buffer3>>2] = $0; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = 1; - $2 = (___syscall221(221,($vararg_buffer3|0))|0); - $3 = ($2|0)<(0); - if ($3) { + $5 = (___syscall221(221,($vararg_buffer3|0))|0); + $6 = ($5|0)<(0); + if ($6) { label = 3; } else { - ___procfdname($buf,$fd); - HEAP32[$vararg_buffer7>>2] = $buf; + ___procfdname($vararg_buffer3,$0); + $8 = $vararg_buffer3; + HEAP32[$vararg_buffer7>>2] = $8; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $uid; + HEAP32[$vararg_ptr10>>2] = $1; $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $gid; - $5 = (___syscall212(212,($vararg_buffer7|0))|0); - $6 = (___syscall_ret($5)|0); - $$0 = $6; + HEAP32[$vararg_ptr11>>2] = $2; + $9 = (___syscall212(212,($vararg_buffer7|0))|0); + $10 = (___syscall_ret($9)|0); + $$0 = $10; } } else { label = 3; } if ((label|0) == 3) { - $4 = (___syscall_ret($0)|0); - $$0 = $4; + $7 = (___syscall_ret($3)|0); + $$0 = $7; } STACKTOP = sp;return ($$0|0); } -function _fsync($fd) { - $fd = $fd|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $fd; - $0 = (___syscall118(118,($vararg_buffer|0))|0); - $1 = (___syscall_ret($0)|0); - STACKTOP = sp;return ($1|0); -} -function _ftruncate($fd,$length) { - $fd = $fd|0; - $length = $length|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = ($length|0)<(0); - $1 = $0 << 31 >> 31; - HEAP32[$vararg_buffer>>2] = $fd; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $length; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $1; - $2 = (___syscall194(194,($vararg_buffer|0))|0); - $3 = (___syscall_ret($2)|0); - STACKTOP = sp;return ($3|0); -} -function _getcwd($buf,$size) { - $buf = $buf|0; - $size = $size|0; - var $$0 = 0, $$01 = 0, $$02 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $tmp = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4112|0; - $vararg_buffer = sp; - $tmp = sp + 8|0; - $0 = ($buf|0)==(0|0); - if ($0) { - $$0 = 4096;$$01 = $tmp; - label = 4; - } else { - $1 = ($size|0)==(0); - if ($1) { - $2 = (___errno_location()|0); - HEAP32[$2>>2] = 22; - $$02 = 0; - } else { - $$0 = $size;$$01 = $buf; - label = 4; - } - } - if ((label|0) == 4) { - HEAP32[$vararg_buffer>>2] = $$01; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $$0; - $3 = (___syscall183(183,($vararg_buffer|0))|0); - $4 = (___syscall_ret($3)|0); - $5 = ($4|0)<(0); - if ($5) { - $$02 = 0; - } else { - $6 = ($$01|0)==($tmp|0); - if ($6) { - $7 = (___strdup($tmp)|0); - $$02 = $7; - } else { - $$02 = $$01; - } - } - } - STACKTOP = sp;return ($$02|0); -} -function _geteuid() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _fsync($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - $0 = (___syscall201(201,($vararg_buffer|0))|0); - STACKTOP = sp;return ($0|0); + HEAP32[$vararg_buffer>>2] = $0; + $1 = (___syscall118(118,($vararg_buffer|0))|0); + $2 = (___syscall_ret($1)|0); + STACKTOP = sp;return ($2|0); } -function _getpid() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _ftruncate($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - $0 = (___syscall20(20,($vararg_buffer|0))|0); - STACKTOP = sp;return ($0|0); -} -function _lseek($fd,$offset,$whence) { - $fd = $fd|0; - $offset = $offset|0; - $whence = $whence|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $result = 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; - $result = sp + 20|0; - HEAP32[$vararg_buffer>>2] = $fd; + $2 = ($1|0)<(0); + $3 = $2 << 31 >> 31; + HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $offset; + HEAP32[$vararg_ptr2>>2] = $1; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $result; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $whence; - $0 = (___syscall140(140,($vararg_buffer|0))|0); - $1 = (___syscall_ret($0)|0); - $2 = ($1|0)!=(0); - $3 = HEAP32[$result>>2]|0; - $4 = $2 ? -1 : $3; - STACKTOP = sp;return ($4|0); -} -function _read($fd,$buf,$count) { - $fd = $fd|0; - $buf = $buf|0; - $count = $count|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $fd; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $buf; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $count; - $0 = (___syscall3(3,($vararg_buffer|0))|0); - $1 = (___syscall_ret($0)|0); - STACKTOP = sp;return ($1|0); -} -function _readlink($path,$buf,$bufsize) { - $path = $path|0; - $buf = $buf|0; - $bufsize = $bufsize|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $path; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $buf; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $bufsize; - $0 = (___syscall85(85,($vararg_buffer|0))|0); - $1 = (___syscall_ret($0)|0); - STACKTOP = sp;return ($1|0); + HEAP32[$vararg_ptr3>>2] = $3; + $4 = (___syscall194(194,($vararg_buffer|0))|0); + $5 = (___syscall_ret($4)|0); + STACKTOP = sp;return ($5|0); } -function _rmdir($path) { - $path = $path|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _rmdir($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $path; - $0 = (___syscall40(40,($vararg_buffer|0))|0); - $1 = (___syscall_ret($0)|0); - STACKTOP = sp;return ($1|0); + $1 = $0; + HEAP32[$vararg_buffer>>2] = $1; + $2 = (___syscall40(40,($vararg_buffer|0))|0); + $3 = (___syscall_ret($2)|0); + STACKTOP = sp;return ($3|0); } -function _sleep($seconds) { - $seconds = $seconds|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $tv = 0, label = 0, sp = 0; +function _sleep($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $tv = sp; - HEAP32[$tv>>2] = $seconds; - $0 = ((($tv)) + 4|0); - HEAP32[$0>>2] = 0; - $1 = (_nanosleep(($tv|0),($tv|0))|0); - $2 = ($1|0)==(0); - $3 = HEAP32[$tv>>2]|0; - $$0 = $2 ? 0 : $3; + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = ((($1)) + 4|0); + HEAP32[$2>>2] = 0; + $3 = (_nanosleep(($1|0),($1|0))|0); + $4 = ($3|0)==(0); + $5 = HEAP32[$1>>2]|0; + $$0 = $4 ? 0 : $5; STACKTOP = sp;return ($$0|0); } -function _unlink($path) { - $path = $path|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $path; - $0 = (___syscall10(10,($vararg_buffer|0))|0); - $1 = (___syscall_ret($0)|0); - STACKTOP = sp;return ($1|0); -} -function _write($fd,$buf,$count) { - $fd = $fd|0; - $buf = $buf|0; - $count = $count|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; + var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; + var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; + var $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, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; + var $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, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; + var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; + var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; + var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; + var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; + var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; + var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; + var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; + var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; + var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; + var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; + var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; + var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; + var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; + var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; + var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; + var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; + var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; + var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; + var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; + var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; + var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; + var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; + var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; + var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; + var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; + var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; + var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $fd; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $buf; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $count; - $0 = (___syscall4(4,($vararg_buffer|0))|0); - $1 = (___syscall_ret($0)|0); - STACKTOP = sp;return ($1|0); -} -function _cleanup392($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 68|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - ___unlockfile($p); - } - return; -} -function ___fflush_unlocked($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 20|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)>($3>>>0); - if ($4) { - $5 = ((($f)) + 36|0); - $6 = HEAP32[$5>>2]|0; - (FUNCTION_TABLE_iiii[$6 & 255]($f,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $9 = ((($f)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - $14 = ((($f)) + 40|0); - $15 = HEAP32[$14>>2]|0; - $16 = $10; - $17 = $12; - $18 = (($16) - ($17))|0; - (FUNCTION_TABLE_iiii[$15 & 255]($f,$18,1)|0); - } - $19 = ((($f)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$2>>2] = 0; - HEAP32[$0>>2] = 0; - HEAP32[$11>>2] = 0; - HEAP32[$9>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _sift($head,$width,$cmp,$pshift,$lp) { - $head = $head|0; - $width = $width|0; - $cmp = $cmp|0; - $pshift = $pshift|0; - $lp = $lp|0; - var $$0$be = 0, $$01$be = 0, $$012 = 0, $$03 = 0, $$pre = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ar = 0, $i$0$lcssa = 0, $i$04 = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $ar = sp; - HEAP32[$ar>>2] = $head; - $0 = ($pshift|0)>(1); - L1: do { - if ($0) { - $1 = (0 - ($width))|0; - $$012 = $pshift;$$03 = $head;$7 = $head;$i$04 = 1; - while(1) { - $2 = (($$03) + ($1)|0); - $3 = (($$012) + -2)|0; - $4 = (($lp) + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $sum = (($5) + ($width))|0; - $$sum = (0 - ($sum))|0; - $6 = (($$03) + ($$sum)|0); - $8 = (FUNCTION_TABLE_iii[$cmp & 255]($7,$6)|0); - $9 = ($8|0)>(-1); - if ($9) { - $10 = (FUNCTION_TABLE_iii[$cmp & 255]($7,$2)|0); - $11 = ($10|0)>(-1); - if ($11) { - $i$0$lcssa = $i$04; - break L1; - } - } - $12 = (FUNCTION_TABLE_iii[$cmp & 255]($6,$2)|0); - $13 = ($12|0)>(-1); - $14 = (($i$04) + 1)|0; - $15 = (($ar) + ($i$04<<2)|0); - if ($13) { - HEAP32[$15>>2] = $6; - $16 = (($$012) + -1)|0; - $$0$be = $6;$$01$be = $16; - } else { - HEAP32[$15>>2] = $2; - $$0$be = $2;$$01$be = $3; - } - $17 = ($$01$be|0)>(1); - if (!($17)) { - $i$0$lcssa = $14; - break L1; - } - $$pre = HEAP32[$ar>>2]|0; - $$012 = $$01$be;$$03 = $$0$be;$7 = $$pre;$i$04 = $14; - } - } else { - $i$0$lcssa = 1; - } - } while(0); - _cycle($width,$ar,$i$0$lcssa); - STACKTOP = sp;return; -} -function _trinkle($head,$width,$cmp,$pp,$pshift,$trusty,$lp) { - $head = $head|0; - $width = $width|0; - $cmp = $cmp|0; - $pp = $pp|0; - $pshift = $pshift|0; - $trusty = $trusty|0; - $lp = $lp|0; - var $$0$i = 0, $$0$lcssa = 0, $$0$lcssa49 = 0, $$01162 = 0, $$01162$phi = 0, $$02$i$i = 0, $$02$i3$i = 0, $$02$lcssa = 0, $$02$lcssa51 = 0, $$02964 = 0, $$03$lcssa = 0, $$03865 = 0, $$lcssa = 0, $$lcssa75 = 0, $$pre = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0; - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $ar = 0, $i$0$lcssa = 0, $i$0$lcssa50 = 0, $i$01063 = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $or$cond = 0, $phitmp = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $ar = sp; - $0 = HEAP32[$pp>>2]|0; - $1 = ((($pp)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[$ar>>2] = $head; - $3 = (0 - ($width))|0; - $4 = ($0|0)!=(1); - $5 = ($2|0)!=(0); - $6 = $5 | $4; - L1: do { - if ($6) { - $7 = (($lp) + ($pshift<<2)|0); - $8 = HEAP32[$7>>2]|0; - $9 = (0 - ($8))|0; - $10 = (($head) + ($9)|0); - $11 = (FUNCTION_TABLE_iii[$cmp & 255]($10,$head)|0); - $12 = ($11|0)<(1); - if ($12) { - $$0$lcssa = $head;$$02$lcssa = $pshift;$$03$lcssa = $trusty;$i$0$lcssa = 1; - label = 19; - } else { - $phitmp = ($trusty|0)==(0); - $$01162 = $head;$$02964 = $pshift;$$03865 = $phitmp;$18 = $10;$27 = $0;$37 = $2;$i$01063 = 1; - while(1) { - $13 = ($$02964|0)>(1); - $or$cond = $$03865 & $13; - if ($or$cond) { - $14 = (($$01162) + ($3)|0); - $15 = (($$02964) + -2)|0; - $16 = (($lp) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $19 = (FUNCTION_TABLE_iii[$cmp & 255]($14,$18)|0); - $20 = ($19|0)>(-1); - if ($20) { - $$0$lcssa49 = $$01162;$$02$lcssa51 = $$02964;$i$0$lcssa50 = $i$01063; - label = 20; - break L1; - } - $sum = (($17) + ($width))|0; - $$sum = (0 - ($sum))|0; - $21 = (($$01162) + ($$sum)|0); - $22 = (FUNCTION_TABLE_iii[$cmp & 255]($21,$18)|0); - $23 = ($22|0)>(-1); - if ($23) { - $$0$lcssa49 = $$01162;$$02$lcssa51 = $$02964;$i$0$lcssa50 = $i$01063; - label = 20; - break L1; - } - } - $24 = (($i$01063) + 1)|0; - $25 = (($ar) + ($i$01063<<2)|0); - HEAP32[$25>>2] = $18; - $26 = (($27) + -1)|0; - $28 = ($26|0)==(0); - do { - if ($28) { - $49 = 32; - label = 16; - } else { - $29 = $26 & 1; - $30 = ($29|0)==(0); - if ($30) { - $$02$i$i = $26;$nTrailingZeros$03$i$i = 0; - while(1) { - $31 = (($nTrailingZeros$03$i$i) + 1)|0; - $32 = $$02$i$i >>> 1; - $33 = $32 & 1; - $34 = ($33|0)==(0); - if ($34) { - $$02$i$i = $32;$nTrailingZeros$03$i$i = $31; - } else { - $$lcssa = $31; - break; - } - } - $35 = ($$lcssa|0)==(0); - if ($35) { - label = 11; - } else { - $47 = $$lcssa; - } - } else { - label = 11; - } - if ((label|0) == 11) { - label = 0; - $36 = ($37|0)==(0); - if ($36) { - $49 = 64; - label = 16; - break; - } - $38 = $37 & 1; - $39 = ($38|0)==(0); - if ($39) { - $$02$i3$i = $37;$nTrailingZeros$03$i2$i = 0; - } else { - $$0$i = 0;$51 = $27;$54 = $37;$58 = 0; - break; - } - while(1) { - $40 = (($nTrailingZeros$03$i2$i) + 1)|0; - $41 = $$02$i3$i >>> 1; - $42 = $41 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$02$i3$i = $41;$nTrailingZeros$03$i2$i = $40; - } else { - $$lcssa75 = $40;$nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } - } - $44 = (($nTrailingZeros$03$i2$i$lcssa) + 33)|0; - $45 = ($$lcssa75|0)==(0); - if ($45) { - $$0$i = 0;$51 = $27;$54 = $37;$58 = 0; - break; - } else { - $47 = $44; - } - } - $46 = ($47>>>0)>(31); - if ($46) { - $49 = $47; - label = 16; - } else { - $$0$i = $47;$51 = $27;$54 = $37;$58 = $47; - } - } - } while(0); - if ((label|0) == 16) { - label = 0; - $48 = (($49) + -32)|0; - $$0$i = $48;$51 = $37;$54 = 0;$58 = $49; - } - $50 = $51 >>> $$0$i; - $52 = (32 - ($$0$i))|0; - $53 = $54 << $52; - $55 = $53 | $50; - $56 = $54 >>> $$0$i; - $57 = (($58) + ($$02964))|0; - $59 = ($55|0)!=(1); - $60 = ($56|0)!=(0); - $61 = $60 | $59; - if (!($61)) { - $$0$lcssa49 = $18;$$02$lcssa51 = $57;$i$0$lcssa50 = $24; - label = 20; - break L1; - } - $$pre = HEAP32[$ar>>2]|0; - $62 = (($lp) + ($57<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = (0 - ($63))|0; - $65 = (($18) + ($64)|0); - $66 = (FUNCTION_TABLE_iii[$cmp & 255]($65,$$pre)|0); - $67 = ($66|0)<(1); - if ($67) { - $$0$lcssa = $18;$$02$lcssa = $57;$$03$lcssa = 0;$i$0$lcssa = $24; - label = 19; - break; - } else { - $$01162$phi = $18;$$02964 = $57;$$03865 = 1;$18 = $65;$27 = $55;$37 = $56;$i$01063 = $24;$$01162 = $$01162$phi; - } - } - } - } else { - $$0$lcssa = $head;$$02$lcssa = $pshift;$$03$lcssa = $trusty;$i$0$lcssa = 1; - label = 19; - } - } while(0); - if ((label|0) == 19) { - $68 = ($$03$lcssa|0)==(0); - if ($68) { - $$0$lcssa49 = $$0$lcssa;$$02$lcssa51 = $$02$lcssa;$i$0$lcssa50 = $i$0$lcssa; - label = 20; - } - } - if ((label|0) == 20) { - _cycle($width,$ar,$i$0$lcssa50); - _sift($$0$lcssa49,$width,$cmp,$$02$lcssa51,$lp); - } - STACKTOP = sp;return; -} -function _dummy1($x) { - $x = $x|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _dummy0() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _cycle($width,$ar,$n) { - $width = $width|0; - $ar = $ar|0; - $n = $n|0; - var $$02 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0; - var $tmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $tmp = sp; - $0 = ($n|0)<(2); - L1: do { - if (!($0)) { - $1 = (($ar) + ($n<<2)|0); - HEAP32[$1>>2] = $tmp; - $2 = ($width|0)==(0); - if (!($2)) { - $$02 = $width;$6 = $tmp; - while(1) { - $3 = ($$02>>>0)>(256); - $4 = $3 ? 256 : $$02; - $5 = HEAP32[$ar>>2]|0; - _memcpy(($6|0),($5|0),($4|0))|0; - $i$01 = 0; - while(1) { - $7 = (($ar) + ($i$01<<2)|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($i$01) + 1)|0; - $10 = (($ar) + ($9<<2)|0); - $11 = HEAP32[$10>>2]|0; - _memcpy(($8|0),($11|0),($4|0))|0; - $12 = HEAP32[$7>>2]|0; - $13 = (($12) + ($4)|0); - HEAP32[$7>>2] = $13; - $exitcond = ($9|0)==($n|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - $14 = ($$02|0)==($4|0); - if ($14) { - break L1; - } - $15 = (($$02) - ($4))|0; - $$pre = HEAP32[$1>>2]|0; - $$02 = $15;$6 = $$pre; - } - } - } - } while(0); - STACKTOP = sp;return; -} -function _malloc($bytes) { - $bytes = $bytes|0; - var $$3$i = 0, $$lcssa = 0, $$lcssa211 = 0, $$lcssa215 = 0, $$lcssa216 = 0, $$lcssa217 = 0, $$lcssa219 = 0, $$lcssa222 = 0, $$lcssa224 = 0, $$lcssa226 = 0, $$lcssa228 = 0, $$lcssa230 = 0, $$lcssa232 = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i22$i = 0, $$pre$i25 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i23$iZ2D = 0; - var $$pre$phi$i26Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi58$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre105 = 0, $$pre106 = 0, $$pre14$i$i = 0, $$pre43$i = 0, $$pre56$i$i = 0, $$pre57$i$i = 0, $$pre8$i = 0, $$rsize$0$i = 0, $$rsize$3$i = 0, $$sum = 0, $$sum$i$i = 0, $$sum$i$i$i = 0, $$sum$i13$i = 0, $$sum$i14$i = 0, $$sum$i17$i = 0, $$sum$i19$i = 0; - var $$sum$i2334 = 0, $$sum$i32 = 0, $$sum$i35 = 0, $$sum1 = 0, $$sum1$i = 0, $$sum1$i$i = 0, $$sum1$i15$i = 0, $$sum1$i20$i = 0, $$sum1$i24 = 0, $$sum10 = 0, $$sum10$i = 0, $$sum10$i$i = 0, $$sum11$i = 0, $$sum11$i$i = 0, $$sum1112 = 0, $$sum112$i = 0, $$sum113$i = 0, $$sum114$i = 0, $$sum115$i = 0, $$sum116$i = 0; - var $$sum117$i = 0, $$sum118$i = 0, $$sum119$i = 0, $$sum12$i = 0, $$sum12$i$i = 0, $$sum120$i = 0, $$sum121$i = 0, $$sum122$i = 0, $$sum123$i = 0, $$sum124$i = 0, $$sum125$i = 0, $$sum13$i = 0, $$sum13$i$i = 0, $$sum14$i$i = 0, $$sum15$i = 0, $$sum15$i$i = 0, $$sum16$i = 0, $$sum16$i$i = 0, $$sum17$i = 0, $$sum17$i$i = 0; - var $$sum18$i = 0, $$sum1819$i$i = 0, $$sum2 = 0, $$sum2$i = 0, $$sum2$i$i = 0, $$sum2$i$i$i = 0, $$sum2$i16$i = 0, $$sum2$i18$i = 0, $$sum2$i21$i = 0, $$sum20$i$i = 0, $$sum21$i$i = 0, $$sum22$i$i = 0, $$sum23$i$i = 0, $$sum24$i$i = 0, $$sum25$i$i = 0, $$sum27$i$i = 0, $$sum28$i$i = 0, $$sum29$i$i = 0, $$sum3$i = 0, $$sum3$i27 = 0; - var $$sum30$i$i = 0, $$sum3132$i$i = 0, $$sum34$i$i = 0, $$sum3536$i$i = 0, $$sum3738$i$i = 0, $$sum39$i$i = 0, $$sum4 = 0, $$sum4$i = 0, $$sum4$i$i = 0, $$sum4$i28 = 0, $$sum40$i$i = 0, $$sum41$i$i = 0, $$sum42$i$i = 0, $$sum5$i = 0, $$sum5$i$i = 0, $$sum56 = 0, $$sum6$i = 0, $$sum67$i$i = 0, $$sum7$i = 0, $$sum8$i = 0; - var $$sum9 = 0, $$sum9$i = 0, $$sum9$i$i = 0, $$tsize$1$i = 0, $$v$0$i = 0, $0 = 0, $1 = 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; - var $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0; - var $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0; - var $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0; - var $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0; - var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0; - var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0; - var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0; - var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0; - var $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0; - var $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0; - var $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0; - var $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0; - var $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0; - var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; - var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; - var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; - var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; - var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; - var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0; - var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0; - var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0; - var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0; - var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0; - var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0; - var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0; - var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0; - var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0; - var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0; - var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0; - var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0; - var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0; - var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0; - var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0; - var $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0; - var $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0; - var $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0; - var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0; - var $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0; - var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0; - var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0; - var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0; - var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0; - var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0; - var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0; - var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0; - var $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0; - var $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0; - var $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0; - var $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0; - var $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0; - var $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0; - var $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0; - var $F5$0$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0, $K12$029$i = 0, $K2$07$i$i = 0, $K8$051$i$i = 0, $R$0$i = 0, $R$0$i$i = 0, $R$0$i$i$lcssa = 0, $R$0$i$lcssa = 0, $R$0$i18 = 0, $R$0$i18$lcssa = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i20 = 0, $RP$0$i = 0, $RP$0$i$i = 0, $RP$0$i$i$lcssa = 0, $RP$0$i$lcssa = 0; - var $RP$0$i17 = 0, $RP$0$i17$lcssa = 0, $T$0$lcssa$i = 0, $T$0$lcssa$i$i = 0, $T$0$lcssa$i25$i = 0, $T$028$i = 0, $T$028$i$lcssa = 0, $T$050$i$i = 0, $T$050$i$i$lcssa = 0, $T$06$i$i = 0, $T$06$i$i$lcssa = 0, $br$0$ph$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i21 = 0, $exitcond$i$i = 0, $i$02$i$i = 0, $idx$0$i = 0, $mem$0 = 0, $nb$0 = 0; - var $not$$i = 0, $not$$i$i = 0, $not$$i26$i = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0, $or$cond$i30 = 0, $or$cond1$i = 0, $or$cond19$i = 0, $or$cond2$i = 0, $or$cond3$i = 0, $or$cond5$i = 0, $or$cond57$i = 0, $or$cond6$i = 0, $or$cond8$i = 0, $or$cond9$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i$lcssa = 0, $rsize$0$i15 = 0, $rsize$1$i = 0; - var $rsize$2$i = 0, $rsize$3$lcssa$i = 0, $rsize$331$i = 0, $rst$0$i = 0, $rst$1$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$084$i = 0, $sp$084$i$lcssa = 0, $sp$183$i = 0, $sp$183$i$lcssa = 0, $ssize$0$$i = 0, $ssize$0$i = 0, $ssize$1$ph$i = 0, $ssize$2$i = 0, $t$0$i = 0, $t$0$i14 = 0, $t$1$i = 0, $t$2$ph$i = 0; - var $t$2$v$3$i = 0, $t$230$i = 0, $tbase$255$i = 0, $tsize$0$ph$i = 0, $tsize$0323944$i = 0, $tsize$1$i = 0, $tsize$254$i = 0, $v$0$i = 0, $v$0$i$lcssa = 0, $v$0$i16 = 0, $v$1$i = 0, $v$2$i = 0, $v$3$lcssa$i = 0, $v$3$ph$i = 0, $v$332$i = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($bytes>>>0)<(245); + $1 = sp; + $2 = ($0>>>0)<(245); do { - if ($0) { - $1 = ($bytes>>>0)<(11); - $2 = (($bytes) + 11)|0; - $3 = $2 & -8; - $4 = $1 ? 16 : $3; - $5 = $4 >>> 3; - $6 = HEAP32[9028>>2]|0; - $7 = $6 >>> $5; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = $7 & 1; - $11 = $10 ^ 1; - $12 = (($11) + ($5))|0; - $13 = $12 << 1; - $14 = (9068 + ($13<<2)|0); - $$sum10 = (($13) + 2)|0; - $15 = (9068 + ($$sum10<<2)|0); - $16 = HEAP32[$15>>2]|0; + if ($2) { + $3 = ($0>>>0)<(11); + $4 = (($0) + 11)|0; + $5 = $4 & -8; + $6 = $3 ? 16 : $5; + $7 = $6 >>> 3; + $8 = HEAP32[13814]|0; + $9 = $8 >>> $7; + $10 = $9 & 3; + $11 = ($10|0)==(0); + if (!($11)) { + $12 = $9 & 1; + $13 = $12 ^ 1; + $14 = (($13) + ($7))|0; + $15 = $14 << 1; + $16 = (55296 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; - $19 = ($14|0)==($18|0); + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); do { - if ($19) { - $20 = 1 << $12; - $21 = $20 ^ -1; - $22 = $6 & $21; - HEAP32[9028>>2] = $22; + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[13814] = $24; } else { - $23 = HEAP32[(9044)>>2]|0; - $24 = ($18>>>0)<($23>>>0); - if ($24) { + $25 = HEAP32[(55272)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { _abort(); // unreachable; } - $25 = ((($18)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($16|0); - if ($27) { - HEAP32[$25>>2] = $14; - HEAP32[$15>>2] = $18; + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; break; } else { _abort(); @@ -276476,81 +331244,79 @@ function _malloc($bytes) { } } } while(0); - $28 = $12 << 3; - $29 = $28 | 3; - $30 = ((($16)) + 4|0); - HEAP32[$30>>2] = $29; - $$sum1112 = $28 | 4; - $31 = (($16) + ($$sum1112)|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - $mem$0 = $17; - return ($mem$0|0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); } - $34 = HEAP32[(9036)>>2]|0; - $35 = ($4>>>0)>($34>>>0); - if ($35) { - $36 = ($7|0)==(0); - if (!($36)) { - $37 = $7 << $5; - $38 = 2 << $5; - $39 = (0 - ($38))|0; - $40 = $38 | $39; - $41 = $37 & $40; + $37 = HEAP32[(55264)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; $42 = (0 - ($41))|0; - $43 = $41 & $42; - $44 = (($43) + -1)|0; - $45 = $44 >>> 12; - $46 = $45 & 16; - $47 = $44 >>> $46; - $48 = $47 >>> 5; - $49 = $48 & 8; - $50 = $49 | $46; - $51 = $47 >>> $49; - $52 = $51 >>> 2; - $53 = $52 & 4; - $54 = $50 | $53; - $55 = $51 >>> $53; - $56 = $55 >>> 1; - $57 = $56 & 2; - $58 = $54 | $57; - $59 = $55 >>> $57; - $60 = $59 >>> 1; - $61 = $60 & 1; - $62 = $58 | $61; - $63 = $59 >>> $61; - $64 = (($62) + ($63))|0; - $65 = $64 << 1; - $66 = (9068 + ($65<<2)|0); - $$sum4 = (($65) + 2)|0; - $67 = (9068 + ($$sum4<<2)|0); - $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($66|0)==($70|0); + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (55296 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); do { - if ($71) { - $72 = 1 << $64; - $73 = $72 ^ -1; - $74 = $6 & $73; - HEAP32[9028>>2] = $74; - $89 = $34; + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[13814] = $77; + $98 = $77; } else { - $75 = HEAP32[(9044)>>2]|0; - $76 = ($70>>>0)<($75>>>0); - if ($76) { + $78 = HEAP32[(55272)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { _abort(); // unreachable; } - $77 = ((($70)) + 12|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)==($68|0); - if ($79) { - HEAP32[$77>>2] = $66; - HEAP32[$67>>2] = $70; - $$pre = HEAP32[(9036)>>2]|0; - $89 = $$pre; + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; break; } else { _abort(); @@ -276558,205 +331324,207 @@ function _malloc($bytes) { } } } while(0); - $80 = $64 << 3; - $81 = (($80) - ($4))|0; - $82 = $4 | 3; - $83 = ((($68)) + 4|0); - HEAP32[$83>>2] = $82; - $84 = (($68) + ($4)|0); - $85 = $81 | 1; - $$sum56 = $4 | 4; - $86 = (($68) + ($$sum56)|0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); HEAP32[$86>>2] = $85; - $87 = (($68) + ($80)|0); - HEAP32[$87>>2] = $81; - $88 = ($89|0)==(0); - if (!($88)) { - $90 = HEAP32[(9048)>>2]|0; - $91 = $89 >>> 3; - $92 = $91 << 1; - $93 = (9068 + ($92<<2)|0); - $94 = HEAP32[9028>>2]|0; - $95 = 1 << $91; - $96 = $94 & $95; - $97 = ($96|0)==(0); - if ($97) { - $98 = $94 | $95; - HEAP32[9028>>2] = $98; - $$pre105 = (($92) + 2)|0; - $$pre106 = (9068 + ($$pre105<<2)|0); - $$pre$phiZ2D = $$pre106;$F4$0 = $93; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(55276)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (55296 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[13814] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; } else { - $$sum9 = (($92) + 2)|0; - $99 = (9068 + ($$sum9<<2)|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[(9044)>>2]|0; - $102 = ($100>>>0)<($101>>>0); - if ($102) { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(55272)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { _abort(); // unreachable; } else { - $$pre$phiZ2D = $99;$F4$0 = $100; + $$0199 = $102;$$pre$phiZ2D = $101; } } - HEAP32[$$pre$phiZ2D>>2] = $90; - $103 = ((($F4$0)) + 12|0); - HEAP32[$103>>2] = $90; - $104 = ((($90)) + 8|0); - HEAP32[$104>>2] = $F4$0; - $105 = ((($90)) + 12|0); - HEAP32[$105>>2] = $93; - } - HEAP32[(9036)>>2] = $81; - HEAP32[(9048)>>2] = $84; - $mem$0 = $69; - return ($mem$0|0); - } - $106 = HEAP32[(9032)>>2]|0; - $107 = ($106|0)==(0); - if ($107) { - $nb$0 = $4; + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(55264)>>2] = $84; + HEAP32[(55276)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(55260)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; } else { - $108 = (0 - ($106))|0; - $109 = $106 & $108; - $110 = (($109) + -1)|0; - $111 = $110 >>> 12; - $112 = $111 & 16; - $113 = $110 >>> $112; - $114 = $113 >>> 5; - $115 = $114 & 8; - $116 = $115 | $112; - $117 = $113 >>> $115; - $118 = $117 >>> 2; - $119 = $118 & 4; - $120 = $116 | $119; - $121 = $117 >>> $119; - $122 = $121 >>> 1; - $123 = $122 & 2; - $124 = $120 | $123; - $125 = $121 >>> $123; - $126 = $125 >>> 1; - $127 = $126 & 1; - $128 = $124 | $127; - $129 = $125 >>> $127; - $130 = (($128) + ($129))|0; - $131 = (9332 + ($130<<2)|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($132)) + 4|0); + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (55560 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; - $135 = $134 & -8; - $136 = (($135) - ($4))|0; - $rsize$0$i = $136;$t$0$i = $132;$v$0$i = $132; - while(1) { - $137 = ((($t$0$i)) + 16|0); - $138 = HEAP32[$137>>2]|0; - $139 = ($138|0)==(0|0); - if ($139) { - $140 = ((($t$0$i)) + 20|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==(0|0); - if ($142) { - $rsize$0$i$lcssa = $rsize$0$i;$v$0$i$lcssa = $v$0$i; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; break; } else { - $144 = $141; + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; } - } else { - $144 = $138; } - $143 = ((($144)) + 4|0); - $145 = HEAP32[$143>>2]|0; - $146 = $145 & -8; - $147 = (($146) - ($4))|0; - $148 = ($147>>>0)<($rsize$0$i>>>0); - $$rsize$0$i = $148 ? $147 : $rsize$0$i; - $$v$0$i = $148 ? $144 : $v$0$i; - $rsize$0$i = $$rsize$0$i;$t$0$i = $144;$v$0$i = $$v$0$i; - } - $149 = HEAP32[(9044)>>2]|0; - $150 = ($v$0$i$lcssa>>>0)<($149>>>0); - if ($150) { + } + $155 = HEAP32[(55272)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { _abort(); // unreachable; } - $151 = (($v$0$i$lcssa) + ($4)|0); - $152 = ($v$0$i$lcssa>>>0)<($151>>>0); - if (!($152)) { + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { _abort(); // unreachable; } - $153 = ((($v$0$i$lcssa)) + 24|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($v$0$i$lcssa)) + 12|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($v$0$i$lcssa|0); + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); do { - if ($157) { - $167 = ((($v$0$i$lcssa)) + 20|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $170 = ((($v$0$i$lcssa)) + 16|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R$1$i = 0; + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; break; } else { - $R$0$i = $171;$RP$0$i = $170; + $$1196$i = $177;$$1198$i = $176; } } else { - $R$0$i = $168;$RP$0$i = $167; + $$1196$i = $174;$$1198$i = $173; } while(1) { - $173 = ((($R$0$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R$0$i = $174;$RP$0$i = $173; + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; continue; } - $176 = ((($R$0$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $R$0$i$lcssa = $R$0$i;$RP$0$i$lcssa = $RP$0$i; + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { break; } else { - $R$0$i = $177;$RP$0$i = $176; + $$1196$i = $183;$$1198$i = $182; } } - $179 = ($RP$0$i$lcssa>>>0)<($149>>>0); - if ($179) { + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { _abort(); // unreachable; } else { - HEAP32[$RP$0$i$lcssa>>2] = 0; - $R$1$i = $R$0$i$lcssa; + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; break; } } else { - $158 = ((($v$0$i$lcssa)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($149>>>0); - if ($160) { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { _abort(); // unreachable; } - $161 = ((($159)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($v$0$i$lcssa|0); - if (!($163)) { + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { _abort(); // unreachable; } - $164 = ((($156)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($v$0$i$lcssa|0); - if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R$1$i = $156; + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; break; } else { _abort(); @@ -276764,434 +331532,426 @@ function _malloc($bytes) { } } } while(0); - $180 = ($154|0)==(0|0); - do { - if (!($180)) { - $181 = ((($v$0$i$lcssa)) + 28|0); - $182 = HEAP32[$181>>2]|0; - $183 = (9332 + ($182<<2)|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($v$0$i$lcssa|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R$1$i; - $cond$i = ($R$1$i|0)==(0|0); - if ($cond$i) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[(9032)>>2]|0; - $189 = $188 & $187; - HEAP32[(9032)>>2] = $189; - break; - } - } else { - $190 = HEAP32[(9044)>>2]|0; - $191 = ($154>>>0)<($190>>>0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (55560 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { if ($191) { - _abort(); - // unreachable; - } - $192 = ((($154)) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($v$0$i$lcssa|0); - if ($194) { - HEAP32[$192>>2] = $R$1$i; + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(55260)>>2] = $194; + break L73; + } } else { - $195 = ((($154)) + 20|0); - HEAP32[$195>>2] = $R$1$i; - } - $196 = ($R$1$i|0)==(0|0); - if ($196) { - break; + $195 = HEAP32[(55272)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } } - } - $197 = HEAP32[(9044)>>2]|0; - $198 = ($R$1$i>>>0)<($197>>>0); - if ($198) { + } while(0); + $201 = HEAP32[(55272)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { _abort(); // unreachable; } - $199 = ((($R$1$i)) + 24|0); - HEAP32[$199>>2] = $154; - $200 = ((($v$0$i$lcssa)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { _abort(); // unreachable; } else { - $204 = ((($R$1$i)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $R$1$i; + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; break; } } } while(0); - $206 = ((($v$0$i$lcssa)) + 20|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(9044)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(55272)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { _abort(); // unreachable; } else { - $211 = ((($R$1$i)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $R$1$i; + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; break; } } } } while(0); - $213 = ($rsize$0$i$lcssa>>>0)<(16); - if ($213) { - $214 = (($rsize$0$i$lcssa) + ($4))|0; - $215 = $214 | 3; - $216 = ((($v$0$i$lcssa)) + 4|0); - HEAP32[$216>>2] = $215; - $$sum4$i = (($214) + 4)|0; - $217 = (($v$0$i$lcssa) + ($$sum4$i)|0); - $218 = HEAP32[$217>>2]|0; - $219 = $218 | 1; - HEAP32[$217>>2] = $219; + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; } else { - $220 = $4 | 3; - $221 = ((($v$0$i$lcssa)) + 4|0); - HEAP32[$221>>2] = $220; - $222 = $rsize$0$i$lcssa | 1; - $$sum$i35 = $4 | 4; - $223 = (($v$0$i$lcssa) + ($$sum$i35)|0); - HEAP32[$223>>2] = $222; - $$sum1$i = (($rsize$0$i$lcssa) + ($4))|0; - $224 = (($v$0$i$lcssa) + ($$sum1$i)|0); - HEAP32[$224>>2] = $rsize$0$i$lcssa; - $225 = HEAP32[(9036)>>2]|0; - $226 = ($225|0)==(0); - if (!($226)) { - $227 = HEAP32[(9048)>>2]|0; - $228 = $225 >>> 3; - $229 = $228 << 1; - $230 = (9068 + ($229<<2)|0); - $231 = HEAP32[9028>>2]|0; - $232 = 1 << $228; - $233 = $231 & $232; - $234 = ($233|0)==(0); - if ($234) { - $235 = $231 | $232; - HEAP32[9028>>2] = $235; - $$pre$i = (($229) + 2)|0; - $$pre8$i = (9068 + ($$pre$i<<2)|0); - $$pre$phi$iZ2D = $$pre8$i;$F1$0$i = $230; + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(55276)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (55296 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[13814] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { - $$sum3$i = (($229) + 2)|0; - $236 = (9068 + ($$sum3$i<<2)|0); - $237 = HEAP32[$236>>2]|0; - $238 = HEAP32[(9044)>>2]|0; - $239 = ($237>>>0)<($238>>>0); - if ($239) { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(55272)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { _abort(); // unreachable; } else { - $$pre$phi$iZ2D = $236;$F1$0$i = $237; + $$0189$i = $240;$$pre$phi$iZ2D = $239; } } - HEAP32[$$pre$phi$iZ2D>>2] = $227; - $240 = ((($F1$0$i)) + 12|0); - HEAP32[$240>>2] = $227; - $241 = ((($227)) + 8|0); - HEAP32[$241>>2] = $F1$0$i; - $242 = ((($227)) + 12|0); - HEAP32[$242>>2] = $230; + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; } - HEAP32[(9036)>>2] = $rsize$0$i$lcssa; - HEAP32[(9048)>>2] = $151; + HEAP32[(55264)>>2] = $$0193$lcssa$i; + HEAP32[(55276)>>2] = $157; } - $243 = ((($v$0$i$lcssa)) + 8|0); - $mem$0 = $243; - return ($mem$0|0); + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); } } else { - $nb$0 = $4; + $$0197 = $6; } } else { - $244 = ($bytes>>>0)>(4294967231); - if ($244) { - $nb$0 = -1; + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; } else { - $245 = (($bytes) + 11)|0; - $246 = $245 & -8; - $247 = HEAP32[(9032)>>2]|0; - $248 = ($247|0)==(0); - if ($248) { - $nb$0 = $246; + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(55260)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; } else { - $249 = (0 - ($246))|0; - $250 = $245 >>> 8; - $251 = ($250|0)==(0); - if ($251) { - $idx$0$i = 0; + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; } else { - $252 = ($246>>>0)>(16777215); - if ($252) { - $idx$0$i = 31; + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; } else { - $253 = (($250) + 1048320)|0; - $254 = $253 >>> 16; - $255 = $254 & 8; - $256 = $250 << $255; - $257 = (($256) + 520192)|0; - $258 = $257 >>> 16; - $259 = $258 & 4; - $260 = $259 | $255; - $261 = $256 << $259; - $262 = (($261) + 245760)|0; - $263 = $262 >>> 16; - $264 = $263 & 2; - $265 = $260 | $264; - $266 = (14 - ($265))|0; - $267 = $261 << $264; - $268 = $267 >>> 15; - $269 = (($266) + ($268))|0; - $270 = $269 << 1; - $271 = (($269) + 7)|0; - $272 = $246 >>> $271; - $273 = $272 & 1; - $274 = $273 | $270; - $idx$0$i = $274; + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; } } - $275 = (9332 + ($idx$0$i<<2)|0); - $276 = HEAP32[$275>>2]|0; - $277 = ($276|0)==(0|0); - L123: do { - if ($277) { - $rsize$2$i = $249;$t$1$i = 0;$v$2$i = 0; - label = 86; + $278 = (55560 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; } else { - $278 = ($idx$0$i|0)==(31); - $279 = $idx$0$i >>> 1; - $280 = (25 - ($279))|0; - $281 = $278 ? 0 : $280; - $282 = $246 << $281; - $rsize$0$i15 = $249;$rst$0$i = 0;$sizebits$0$i = $282;$t$0$i14 = $276;$v$0$i16 = 0; + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; while(1) { - $283 = ((($t$0$i14)) + 4|0); - $284 = HEAP32[$283>>2]|0; - $285 = $284 & -8; - $286 = (($285) - ($246))|0; - $287 = ($286>>>0)<($rsize$0$i15>>>0); - if ($287) { - $288 = ($285|0)==($246|0); - if ($288) { - $rsize$331$i = $286;$t$230$i = $t$0$i14;$v$332$i = $t$0$i14; - label = 90; - break L123; + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; } else { - $rsize$1$i = $286;$v$1$i = $t$0$i14; + $$1343$i = $$0353$i;$$1348$i = $289; } } else { - $rsize$1$i = $rsize$0$i15;$v$1$i = $v$0$i16; + $$1343$i = $$0342$i;$$1348$i = $$0347$i; } - $289 = ((($t$0$i14)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = $sizebits$0$i >>> 31; - $292 = (((($t$0$i14)) + 16|0) + ($291<<2)|0); + $292 = ((($$0353$i)) + 20|0); $293 = HEAP32[$292>>2]|0; - $294 = ($290|0)==(0|0); - $295 = ($290|0)==($293|0); - $or$cond19$i = $294 | $295; - $rst$1$i = $or$cond19$i ? $rst$0$i : $290; - $296 = ($293|0)==(0|0); - $297 = $sizebits$0$i << 1; - if ($296) { - $rsize$2$i = $rsize$1$i;$t$1$i = $rst$1$i;$v$2$i = $v$1$i; - label = 86; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; break; } else { - $rsize$0$i15 = $rsize$1$i;$rst$0$i = $rst$1$i;$sizebits$0$i = $297;$t$0$i14 = $293;$v$0$i16 = $v$1$i; + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; } } } } while(0); - if ((label|0) == 86) { - $298 = ($t$1$i|0)==(0|0); - $299 = ($v$2$i|0)==(0|0); - $or$cond$i = $298 & $299; + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; if ($or$cond$i) { - $300 = 2 << $idx$0$i; - $301 = (0 - ($300))|0; - $302 = $300 | $301; - $303 = $247 & $302; - $304 = ($303|0)==(0); - if ($304) { - $nb$0 = $246; + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; break; } - $305 = (0 - ($303))|0; - $306 = $303 & $305; - $307 = (($306) + -1)|0; - $308 = $307 >>> 12; - $309 = $308 & 16; - $310 = $307 >>> $309; - $311 = $310 >>> 5; - $312 = $311 & 8; - $313 = $312 | $309; - $314 = $310 >>> $312; - $315 = $314 >>> 2; - $316 = $315 & 4; - $317 = $313 | $316; - $318 = $314 >>> $316; - $319 = $318 >>> 1; - $320 = $319 & 2; - $321 = $317 | $320; - $322 = $318 >>> $320; - $323 = $322 >>> 1; - $324 = $323 & 1; - $325 = $321 | $324; - $326 = $322 >>> $324; - $327 = (($325) + ($326))|0; - $328 = (9332 + ($327<<2)|0); - $329 = HEAP32[$328>>2]|0; - $t$2$ph$i = $329;$v$3$ph$i = 0; + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (55560 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; } else { - $t$2$ph$i = $t$1$i;$v$3$ph$i = $v$2$i; + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; } - $330 = ($t$2$ph$i|0)==(0|0); - if ($330) { - $rsize$3$lcssa$i = $rsize$2$i;$v$3$lcssa$i = $v$3$ph$i; + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; } else { - $rsize$331$i = $rsize$2$i;$t$230$i = $t$2$ph$i;$v$332$i = $v$3$ph$i; - label = 90; + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; } } - if ((label|0) == 90) { + if ((label|0) == 85) { while(1) { label = 0; - $331 = ((($t$230$i)) + 4|0); - $332 = HEAP32[$331>>2]|0; - $333 = $332 & -8; - $334 = (($333) - ($246))|0; - $335 = ($334>>>0)<($rsize$331$i>>>0); - $$rsize$3$i = $335 ? $334 : $rsize$331$i; - $t$2$v$3$i = $335 ? $t$230$i : $v$332$i; - $336 = ((($t$230$i)) + 16|0); - $337 = HEAP32[$336>>2]|0; - $338 = ($337|0)==(0|0); - if (!($338)) { - $rsize$331$i = $$rsize$3$i;$t$230$i = $337;$v$332$i = $t$2$v$3$i; - label = 90; - continue; - } - $339 = ((($t$230$i)) + 20|0); + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); $340 = HEAP32[$339>>2]|0; - $341 = ($340|0)==(0|0); - if ($341) { - $rsize$3$lcssa$i = $$rsize$3$i;$v$3$lcssa$i = $t$2$v$3$i; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; break; } else { - $rsize$331$i = $$rsize$3$i;$t$230$i = $340;$v$332$i = $t$2$v$3$i; - label = 90; + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; } } } - $342 = ($v$3$lcssa$i|0)==(0|0); - if ($342) { - $nb$0 = $246; + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; } else { - $343 = HEAP32[(9036)>>2]|0; - $344 = (($343) - ($246))|0; - $345 = ($rsize$3$lcssa$i>>>0)<($344>>>0); - if ($345) { - $346 = HEAP32[(9044)>>2]|0; - $347 = ($v$3$lcssa$i>>>0)<($346>>>0); - if ($347) { + $345 = HEAP32[(55264)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(55272)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { _abort(); // unreachable; } - $348 = (($v$3$lcssa$i) + ($246)|0); - $349 = ($v$3$lcssa$i>>>0)<($348>>>0); - if (!($349)) { + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { _abort(); // unreachable; } - $350 = ((($v$3$lcssa$i)) + 24|0); - $351 = HEAP32[$350>>2]|0; - $352 = ((($v$3$lcssa$i)) + 12|0); + $352 = ((($$4$lcssa$i)) + 24|0); $353 = HEAP32[$352>>2]|0; - $354 = ($353|0)==($v$3$lcssa$i|0); + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); do { - if ($354) { - $364 = ((($v$3$lcssa$i)) + 20|0); - $365 = HEAP32[$364>>2]|0; - $366 = ($365|0)==(0|0); - if ($366) { - $367 = ((($v$3$lcssa$i)) + 16|0); - $368 = HEAP32[$367>>2]|0; - $369 = ($368|0)==(0|0); - if ($369) { - $R$1$i20 = 0; + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; break; } else { - $R$0$i18 = $368;$RP$0$i17 = $367; + $$1370$i = $370;$$1374$i = $369; } } else { - $R$0$i18 = $365;$RP$0$i17 = $364; + $$1370$i = $367;$$1374$i = $366; } while(1) { - $370 = ((($R$0$i18)) + 20|0); - $371 = HEAP32[$370>>2]|0; - $372 = ($371|0)==(0|0); - if (!($372)) { - $R$0$i18 = $371;$RP$0$i17 = $370; + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; continue; } - $373 = ((($R$0$i18)) + 16|0); - $374 = HEAP32[$373>>2]|0; - $375 = ($374|0)==(0|0); - if ($375) { - $R$0$i18$lcssa = $R$0$i18;$RP$0$i17$lcssa = $RP$0$i17; + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { break; } else { - $R$0$i18 = $374;$RP$0$i17 = $373; + $$1370$i = $376;$$1374$i = $375; } } - $376 = ($RP$0$i17$lcssa>>>0)<($346>>>0); - if ($376) { + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { _abort(); // unreachable; } else { - HEAP32[$RP$0$i17$lcssa>>2] = 0; - $R$1$i20 = $R$0$i18$lcssa; + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; break; } } else { - $355 = ((($v$3$lcssa$i)) + 8|0); - $356 = HEAP32[$355>>2]|0; - $357 = ($356>>>0)<($346>>>0); - if ($357) { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { _abort(); // unreachable; } - $358 = ((($356)) + 12|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==($v$3$lcssa$i|0); - if (!($360)) { + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { _abort(); // unreachable; } - $361 = ((($353)) + 8|0); - $362 = HEAP32[$361>>2]|0; - $363 = ($362|0)==($v$3$lcssa$i|0); - if ($363) { - HEAP32[$358>>2] = $353; - HEAP32[$361>>2] = $356; - $R$1$i20 = $353; + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; break; } else { _abort(); @@ -277199,55 +331959,60 @@ function _malloc($bytes) { } } } while(0); - $377 = ($351|0)==(0|0); - do { - if (!($377)) { - $378 = ((($v$3$lcssa$i)) + 28|0); - $379 = HEAP32[$378>>2]|0; - $380 = (9332 + ($379<<2)|0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = ($v$3$lcssa$i|0)==($381|0); - if ($382) { - HEAP32[$380>>2] = $R$1$i20; - $cond$i21 = ($R$1$i20|0)==(0|0); - if ($cond$i21) { - $383 = 1 << $379; - $384 = $383 ^ -1; - $385 = HEAP32[(9032)>>2]|0; - $386 = $385 & $384; - HEAP32[(9032)>>2] = $386; - break; - } - } else { - $387 = HEAP32[(9044)>>2]|0; - $388 = ($351>>>0)<($387>>>0); - if ($388) { - _abort(); - // unreachable; - } - $389 = ((($351)) + 16|0); - $390 = HEAP32[$389>>2]|0; - $391 = ($390|0)==($v$3$lcssa$i|0); - if ($391) { - HEAP32[$389>>2] = $R$1$i20; + $382 = (55560 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(55260)>>2] = $387; + $470 = $387; + break L164; + } } else { - $392 = ((($351)) + 20|0); - HEAP32[$392>>2] = $R$1$i20; - } - $393 = ($R$1$i20|0)==(0|0); - if ($393) { - break; + $388 = HEAP32[(55272)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } } - } - $394 = HEAP32[(9044)>>2]|0; - $395 = ($R$1$i20>>>0)<($394>>>0); + } while(0); + $394 = HEAP32[(55272)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); // unreachable; } - $396 = ((($R$1$i20)) + 24|0); - HEAP32[$396>>2] = $351; - $397 = ((($v$3$lcssa$i)) + 16|0); + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); $398 = HEAP32[$397>>2]|0; $399 = ($398|0)==(0|0); do { @@ -277257,930 +332022,862 @@ function _malloc($bytes) { _abort(); // unreachable; } else { - $401 = ((($R$1$i20)) + 16|0); + $401 = ((($$3372$i)) + 16|0); HEAP32[$401>>2] = $398; $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $R$1$i20; + HEAP32[$402>>2] = $$3372$i; break; } } } while(0); - $403 = ((($v$3$lcssa$i)) + 20|0); + $403 = ((($$4$lcssa$i)) + 20|0); $404 = HEAP32[$403>>2]|0; $405 = ($404|0)==(0|0); - if (!($405)) { - $406 = HEAP32[(9044)>>2]|0; + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(55272)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); // unreachable; } else { - $408 = ((($R$1$i20)) + 20|0); + $408 = ((($$3372$i)) + 20|0); HEAP32[$408>>2] = $404; $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $R$1$i20; + HEAP32[$409>>2] = $$3372$i; + $470 = $250; break; } } } } while(0); - $410 = ($rsize$3$lcssa$i>>>0)<(16); - L199: do { + $410 = ($$4351$lcssa$i>>>0)<(16); + do { if ($410) { - $411 = (($rsize$3$lcssa$i) + ($246))|0; + $411 = (($$4351$lcssa$i) + ($249))|0; $412 = $411 | 3; - $413 = ((($v$3$lcssa$i)) + 4|0); + $413 = ((($$4$lcssa$i)) + 4|0); HEAP32[$413>>2] = $412; - $$sum18$i = (($411) + 4)|0; - $414 = (($v$3$lcssa$i) + ($$sum18$i)|0); - $415 = HEAP32[$414>>2]|0; - $416 = $415 | 1; - HEAP32[$414>>2] = $416; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; } else { - $417 = $246 | 3; - $418 = ((($v$3$lcssa$i)) + 4|0); - HEAP32[$418>>2] = $417; - $419 = $rsize$3$lcssa$i | 1; - $$sum$i2334 = $246 | 4; - $420 = (($v$3$lcssa$i) + ($$sum$i2334)|0); - HEAP32[$420>>2] = $419; - $$sum1$i24 = (($rsize$3$lcssa$i) + ($246))|0; - $421 = (($v$3$lcssa$i) + ($$sum1$i24)|0); - HEAP32[$421>>2] = $rsize$3$lcssa$i; - $422 = $rsize$3$lcssa$i >>> 3; - $423 = ($rsize$3$lcssa$i>>>0)<(256); - if ($423) { - $424 = $422 << 1; - $425 = (9068 + ($424<<2)|0); - $426 = HEAP32[9028>>2]|0; - $427 = 1 << $422; - $428 = $426 & $427; - $429 = ($428|0)==(0); - if ($429) { - $430 = $426 | $427; - HEAP32[9028>>2] = $430; - $$pre$i25 = (($424) + 2)|0; - $$pre43$i = (9068 + ($$pre$i25<<2)|0); - $$pre$phi$i26Z2D = $$pre43$i;$F5$0$i = $425; + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (55296 + ($425<<2)|0); + $427 = HEAP32[13814]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[13814] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { - $$sum17$i = (($424) + 2)|0; - $431 = (9068 + ($$sum17$i<<2)|0); - $432 = HEAP32[$431>>2]|0; - $433 = HEAP32[(9044)>>2]|0; - $434 = ($432>>>0)<($433>>>0); - if ($434) { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(55272)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { _abort(); // unreachable; } else { - $$pre$phi$i26Z2D = $431;$F5$0$i = $432; + $$0368$i = $433;$$pre$phi$i211Z2D = $432; } } - HEAP32[$$pre$phi$i26Z2D>>2] = $348; - $435 = ((($F5$0$i)) + 12|0); - HEAP32[$435>>2] = $348; - $$sum15$i = (($246) + 8)|0; - $436 = (($v$3$lcssa$i) + ($$sum15$i)|0); - HEAP32[$436>>2] = $F5$0$i; - $$sum16$i = (($246) + 12)|0; - $437 = (($v$3$lcssa$i) + ($$sum16$i)|0); - HEAP32[$437>>2] = $425; + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; break; } - $438 = $rsize$3$lcssa$i >>> 8; - $439 = ($438|0)==(0); - if ($439) { - $I7$0$i = 0; + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; } else { - $440 = ($rsize$3$lcssa$i>>>0)>(16777215); - if ($440) { - $I7$0$i = 31; + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; } else { - $441 = (($438) + 1048320)|0; - $442 = $441 >>> 16; - $443 = $442 & 8; - $444 = $438 << $443; - $445 = (($444) + 520192)|0; - $446 = $445 >>> 16; - $447 = $446 & 4; - $448 = $447 | $443; - $449 = $444 << $447; - $450 = (($449) + 245760)|0; - $451 = $450 >>> 16; - $452 = $451 & 2; - $453 = $448 | $452; - $454 = (14 - ($453))|0; - $455 = $449 << $452; - $456 = $455 >>> 15; - $457 = (($454) + ($456))|0; - $458 = $457 << 1; - $459 = (($457) + 7)|0; - $460 = $rsize$3$lcssa$i >>> $459; - $461 = $460 & 1; - $462 = $461 | $458; - $I7$0$i = $462; + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; } } - $463 = (9332 + ($I7$0$i<<2)|0); - $$sum2$i = (($246) + 28)|0; - $464 = (($v$3$lcssa$i) + ($$sum2$i)|0); - HEAP32[$464>>2] = $I7$0$i; - $$sum3$i27 = (($246) + 16)|0; - $465 = (($v$3$lcssa$i) + ($$sum3$i27)|0); - $$sum4$i28 = (($246) + 20)|0; - $466 = (($v$3$lcssa$i) + ($$sum4$i28)|0); + $464 = (55560 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; HEAP32[$466>>2] = 0; - HEAP32[$465>>2] = 0; - $467 = HEAP32[(9032)>>2]|0; - $468 = 1 << $I7$0$i; - $469 = $467 & $468; - $470 = ($469|0)==(0); - if ($470) { - $471 = $467 | $468; - HEAP32[(9032)>>2] = $471; - HEAP32[$463>>2] = $348; - $$sum5$i = (($246) + 24)|0; - $472 = (($v$3$lcssa$i) + ($$sum5$i)|0); - HEAP32[$472>>2] = $463; - $$sum6$i = (($246) + 12)|0; - $473 = (($v$3$lcssa$i) + ($$sum6$i)|0); - HEAP32[$473>>2] = $348; - $$sum7$i = (($246) + 8)|0; - $474 = (($v$3$lcssa$i) + ($$sum7$i)|0); - HEAP32[$474>>2] = $348; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(55260)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; break; } - $475 = HEAP32[$463>>2]|0; - $476 = ((($475)) + 4|0); - $477 = HEAP32[$476>>2]|0; - $478 = $477 & -8; - $479 = ($478|0)==($rsize$3$lcssa$i|0); - L217: do { - if ($479) { - $T$0$lcssa$i = $475; + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; } else { - $480 = ($I7$0$i|0)==(31); - $481 = $I7$0$i >>> 1; - $482 = (25 - ($481))|0; - $483 = $480 ? 0 : $482; - $484 = $rsize$3$lcssa$i << $483; - $K12$029$i = $484;$T$028$i = $475; - while(1) { - $491 = $K12$029$i >>> 31; - $492 = (((($T$028$i)) + 16|0) + ($491<<2)|0); - $487 = HEAP32[$492>>2]|0; - $493 = ($487|0)==(0|0); - if ($493) { - $$lcssa232 = $492;$T$028$i$lcssa = $T$028$i; - break; - } - $485 = $K12$029$i << 1; - $486 = ((($487)) + 4|0); - $488 = HEAP32[$486>>2]|0; - $489 = $488 & -8; - $490 = ($489|0)==($rsize$3$lcssa$i|0); - if ($490) { - $T$0$lcssa$i = $487; - break L217; - } else { - $K12$029$i = $485;$T$028$i = $487; - } - } - $494 = HEAP32[(9044)>>2]|0; - $495 = ($$lcssa232>>>0)<($494>>>0); - if ($495) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa232>>2] = $348; - $$sum11$i = (($246) + 24)|0; - $496 = (($v$3$lcssa$i) + ($$sum11$i)|0); - HEAP32[$496>>2] = $T$028$i$lcssa; - $$sum12$i = (($246) + 12)|0; - $497 = (($v$3$lcssa$i) + ($$sum12$i)|0); - HEAP32[$497>>2] = $348; - $$sum13$i = (($246) + 8)|0; - $498 = (($v$3$lcssa$i) + ($$sum13$i)|0); - HEAP32[$498>>2] = $348; - break L199; - } + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(55272)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(55272)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; } - } while(0); - $499 = ((($T$0$lcssa$i)) + 8|0); - $500 = HEAP32[$499>>2]|0; - $501 = HEAP32[(9044)>>2]|0; - $502 = ($500>>>0)>=($501>>>0); - $not$$i = ($T$0$lcssa$i>>>0)>=($501>>>0); - $503 = $502 & $not$$i; - if ($503) { - $504 = ((($500)) + 12|0); - HEAP32[$504>>2] = $348; - HEAP32[$499>>2] = $348; - $$sum8$i = (($246) + 8)|0; - $505 = (($v$3$lcssa$i) + ($$sum8$i)|0); - HEAP32[$505>>2] = $500; - $$sum9$i = (($246) + 12)|0; - $506 = (($v$3$lcssa$i) + ($$sum9$i)|0); - HEAP32[$506>>2] = $T$0$lcssa$i; - $$sum10$i = (($246) + 24)|0; - $507 = (($v$3$lcssa$i) + ($$sum10$i)|0); - HEAP32[$507>>2] = 0; - break; - } else { - _abort(); - // unreachable; } } } while(0); - $508 = ((($v$3$lcssa$i)) + 8|0); - $mem$0 = $508; - return ($mem$0|0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); } else { - $nb$0 = $246; + $$0197 = $249; } } } } } } while(0); - $509 = HEAP32[(9036)>>2]|0; - $510 = ($509>>>0)<($nb$0>>>0); - if (!($510)) { - $511 = (($509) - ($nb$0))|0; - $512 = HEAP32[(9048)>>2]|0; - $513 = ($511>>>0)>(15); - if ($513) { - $514 = (($512) + ($nb$0)|0); - HEAP32[(9048)>>2] = $514; - HEAP32[(9036)>>2] = $511; - $515 = $511 | 1; - $$sum2 = (($nb$0) + 4)|0; - $516 = (($512) + ($$sum2)|0); + $506 = HEAP32[(55264)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(55276)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(55276)>>2] = $511; + HEAP32[(55264)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; - $517 = (($512) + ($509)|0); - HEAP32[$517>>2] = $511; - $518 = $nb$0 | 3; - $519 = ((($512)) + 4|0); - HEAP32[$519>>2] = $518; } else { - HEAP32[(9036)>>2] = 0; - HEAP32[(9048)>>2] = 0; - $520 = $509 | 3; - $521 = ((($512)) + 4|0); - HEAP32[$521>>2] = $520; - $$sum1 = (($509) + 4)|0; - $522 = (($512) + ($$sum1)|0); - $523 = HEAP32[$522>>2]|0; - $524 = $523 | 1; - HEAP32[$522>>2] = $524; - } - $525 = ((($512)) + 8|0); - $mem$0 = $525; - return ($mem$0|0); - } - $526 = HEAP32[(9040)>>2]|0; - $527 = ($526>>>0)>($nb$0>>>0); - if ($527) { - $528 = (($526) - ($nb$0))|0; - HEAP32[(9040)>>2] = $528; - $529 = HEAP32[(9052)>>2]|0; - $530 = (($529) + ($nb$0)|0); - HEAP32[(9052)>>2] = $530; - $531 = $528 | 1; - $$sum = (($nb$0) + 4)|0; - $532 = (($529) + ($$sum)|0); + HEAP32[(55264)>>2] = 0; + HEAP32[(55276)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(55268)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(55268)>>2] = $526; + $527 = HEAP32[(55280)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(55280)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); HEAP32[$532>>2] = $531; - $533 = $nb$0 | 3; - $534 = ((($529)) + 4|0); - HEAP32[$534>>2] = $533; - $535 = ((($529)) + 8|0); - $mem$0 = $535; - return ($mem$0|0); - } - $536 = HEAP32[9500>>2]|0; - $537 = ($536|0)==(0); - do { - if ($537) { - $538 = (_sysconf(30)|0); - $539 = (($538) + -1)|0; - $540 = $539 & $538; - $541 = ($540|0)==(0); - if ($541) { - HEAP32[(9508)>>2] = $538; - HEAP32[(9504)>>2] = $538; - HEAP32[(9512)>>2] = -1; - HEAP32[(9516)>>2] = -1; - HEAP32[(9520)>>2] = 0; - HEAP32[(9472)>>2] = 0; - $542 = (_time((0|0))|0); - $543 = $542 & -16; - $544 = $543 ^ 1431655768; - HEAP32[9500>>2] = $544; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $545 = (($nb$0) + 48)|0; - $546 = HEAP32[(9508)>>2]|0; - $547 = (($nb$0) + 47)|0; - $548 = (($546) + ($547))|0; - $549 = (0 - ($546))|0; - $550 = $548 & $549; - $551 = ($550>>>0)>($nb$0>>>0); - if (!($551)) { - $mem$0 = 0; - return ($mem$0|0); - } - $552 = HEAP32[(9468)>>2]|0; - $553 = ($552|0)==(0); - if (!($553)) { - $554 = HEAP32[(9460)>>2]|0; - $555 = (($554) + ($550))|0; - $556 = ($555>>>0)<=($554>>>0); - $557 = ($555>>>0)>($552>>>0); - $or$cond1$i = $556 | $557; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[13932]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(55736)>>2] = 4096; + HEAP32[(55732)>>2] = 4096; + HEAP32[(55740)>>2] = -1; + HEAP32[(55744)>>2] = -1; + HEAP32[(55748)>>2] = 0; + HEAP32[(55700)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[13932] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(55736)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(55696)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(55688)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; if ($or$cond1$i) { - $mem$0 = 0; - return ($mem$0|0); - } - } - $558 = HEAP32[(9472)>>2]|0; - $559 = $558 & 4; - $560 = ($559|0)==(0); - L258: do { - if ($560) { - $561 = HEAP32[(9052)>>2]|0; - $562 = ($561|0)==(0|0); - L260: do { - if ($562) { - label = 174; + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(55700)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(55280)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; } else { - $sp$0$i$i = (9476); + $$0$i$i = (55704); while(1) { - $563 = HEAP32[$sp$0$i$i>>2]|0; - $564 = ($563>>>0)>($561>>>0); - if (!($564)) { - $565 = ((($sp$0$i$i)) + 4|0); - $566 = HEAP32[$565>>2]|0; - $567 = (($563) + ($566)|0); - $568 = ($567>>>0)>($561>>>0); - if ($568) { - $$lcssa228 = $sp$0$i$i;$$lcssa230 = $565; + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { break; } } - $569 = ((($sp$0$i$i)) + 8|0); - $570 = HEAP32[$569>>2]|0; - $571 = ($570|0)==(0|0); - if ($571) { - label = 174; - break L260; + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; } else { - $sp$0$i$i = $570; + $$0$i$i = $564; } } - $594 = HEAP32[(9040)>>2]|0; - $595 = (($548) - ($594))|0; - $596 = $595 & $549; - $597 = ($596>>>0)<(2147483647); - if ($597) { - $598 = (_sbrk(($596|0))|0); - $599 = HEAP32[$$lcssa228>>2]|0; - $600 = HEAP32[$$lcssa230>>2]|0; - $601 = (($599) + ($600)|0); - $602 = ($598|0)==($601|0); - $$3$i = $602 ? $596 : 0; - if ($602) { - $603 = ($598|0)==((-1)|0); - if ($603) { - $tsize$0323944$i = $$3$i; + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; } else { - $tbase$255$i = $598;$tsize$254$i = $$3$i; - label = 194; - break L258; + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; } } else { - $br$0$ph$i = $598;$ssize$1$ph$i = $596;$tsize$0$ph$i = $$3$i; - label = 184; + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; } } else { - $tsize$0323944$i = 0; + $$2234253237$i = 0; } } } while(0); do { - if ((label|0) == 174) { - $572 = (_sbrk(0)|0); - $573 = ($572|0)==((-1)|0); - if ($573) { - $tsize$0323944$i = 0; + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; } else { - $574 = $572; - $575 = HEAP32[(9504)>>2]|0; - $576 = (($575) + -1)|0; - $577 = $576 & $574; - $578 = ($577|0)==(0); - if ($578) { - $ssize$0$i = $550; - } else { - $579 = (($576) + ($574))|0; - $580 = (0 - ($575))|0; - $581 = $579 & $580; - $582 = (($550) - ($574))|0; - $583 = (($582) + ($581))|0; - $ssize$0$i = $583; - } - $584 = HEAP32[(9460)>>2]|0; - $585 = (($584) + ($ssize$0$i))|0; - $586 = ($ssize$0$i>>>0)>($nb$0>>>0); - $587 = ($ssize$0$i>>>0)<(2147483647); - $or$cond$i30 = $586 & $587; - if ($or$cond$i30) { - $588 = HEAP32[(9468)>>2]|0; - $589 = ($588|0)==(0); - if (!($589)) { - $590 = ($585>>>0)<=($584>>>0); - $591 = ($585>>>0)>($588>>>0); - $or$cond2$i = $590 | $591; - if ($or$cond2$i) { - $tsize$0323944$i = 0; + $568 = $566; + $569 = HEAP32[(55732)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(55688)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(55696)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; break; } } - $592 = (_sbrk(($ssize$0$i|0))|0); - $593 = ($592|0)==($572|0); - $ssize$0$$i = $593 ? $ssize$0$i : 0; - if ($593) { - $tbase$255$i = $572;$tsize$254$i = $ssize$0$$i; - label = 194; - break L258; + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; } else { - $br$0$ph$i = $592;$ssize$1$ph$i = $ssize$0$i;$tsize$0$ph$i = $ssize$0$$i; - label = 184; + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; } } else { - $tsize$0323944$i = 0; + $$2234253237$i = 0; } } } } while(0); - L280: do { - if ((label|0) == 184) { - $604 = (0 - ($ssize$1$ph$i))|0; - $605 = ($br$0$ph$i|0)!=((-1)|0); - $606 = ($ssize$1$ph$i>>>0)<(2147483647); - $or$cond5$i = $606 & $605; - $607 = ($545>>>0)>($ssize$1$ph$i>>>0); - $or$cond6$i = $607 & $or$cond5$i; - do { - if ($or$cond6$i) { - $608 = HEAP32[(9508)>>2]|0; - $609 = (($547) - ($ssize$1$ph$i))|0; - $610 = (($609) + ($608))|0; - $611 = (0 - ($608))|0; - $612 = $610 & $611; - $613 = ($612>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($612|0))|0); - $615 = ($614|0)==((-1)|0); - if ($615) { - (_sbrk(($604|0))|0); - $tsize$0323944$i = $tsize$0$ph$i; - break L280; - } else { - $616 = (($612) + ($ssize$1$ph$i))|0; - $ssize$2$i = $616; - break; - } - } else { - $ssize$2$i = $ssize$1$ph$i; - } + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; } else { - $ssize$2$i = $ssize$1$ph$i; + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; } - } while(0); - $617 = ($br$0$ph$i|0)==((-1)|0); - if ($617) { - $tsize$0323944$i = $tsize$0$ph$i; + } + $601 = HEAP32[(55736)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; } else { - $tbase$255$i = $br$0$ph$i;$tsize$254$i = $ssize$2$i; - label = 194; - break L258; + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; } } } while(0); - $618 = HEAP32[(9472)>>2]|0; - $619 = $618 | 4; - HEAP32[(9472)>>2] = $619; - $tsize$1$i = $tsize$0323944$i; - label = 191; + $611 = HEAP32[(55700)>>2]|0; + $612 = $611 | 4; + HEAP32[(55700)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; } else { - $tsize$1$i = 0; - label = 191; + $$4236$i = 0; + label = 178; } } while(0); - if ((label|0) == 191) { - $620 = ($550>>>0)<(2147483647); - if ($620) { - $621 = (_sbrk(($550|0))|0); - $622 = (_sbrk(0)|0); - $623 = ($621|0)!=((-1)|0); - $624 = ($622|0)!=((-1)|0); - $or$cond3$i = $623 & $624; - $625 = ($621>>>0)<($622>>>0); - $or$cond8$i = $625 & $or$cond3$i; - if ($or$cond8$i) { - $626 = $622; - $627 = $621; - $628 = (($626) - ($627))|0; - $629 = (($nb$0) + 40)|0; - $630 = ($628>>>0)>($629>>>0); - $$tsize$1$i = $630 ? $628 : $tsize$1$i; - if ($630) { - $tbase$255$i = $621;$tsize$254$i = $$tsize$1$i; - label = 194; - } - } - } - } - if ((label|0) == 194) { - $631 = HEAP32[(9460)>>2]|0; - $632 = (($631) + ($tsize$254$i))|0; - HEAP32[(9460)>>2] = $632; - $633 = HEAP32[(9464)>>2]|0; - $634 = ($632>>>0)>($633>>>0); - if ($634) { - HEAP32[(9464)>>2] = $632; - } - $635 = HEAP32[(9052)>>2]|0; - $636 = ($635|0)==(0|0); - L299: do { - if ($636) { - $637 = HEAP32[(9044)>>2]|0; - $638 = ($637|0)==(0|0); - $639 = ($tbase$255$i>>>0)<($637>>>0); - $or$cond9$i = $638 | $639; - if ($or$cond9$i) { - HEAP32[(9044)>>2] = $tbase$255$i; - } - HEAP32[(9476)>>2] = $tbase$255$i; - HEAP32[(9480)>>2] = $tsize$254$i; - HEAP32[(9488)>>2] = 0; - $640 = HEAP32[9500>>2]|0; - HEAP32[(9064)>>2] = $640; - HEAP32[(9060)>>2] = -1; - $i$02$i$i = 0; + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(55688)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(55688)>>2] = $627; + $628 = HEAP32[(55692)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(55692)>>2] = $627; + } + $630 = HEAP32[(55280)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(55272)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(55272)>>2] = $$749$i; + } + HEAP32[(55704)>>2] = $$749$i; + HEAP32[(55708)>>2] = $$723948$i; + HEAP32[(55716)>>2] = 0; + $635 = HEAP32[13932]|0; + HEAP32[(55292)>>2] = $635; + HEAP32[(55288)>>2] = -1; + $$01$i$i = 0; while(1) { - $641 = $i$02$i$i << 1; - $642 = (9068 + ($641<<2)|0); - $$sum$i$i = (($641) + 3)|0; - $643 = (9068 + ($$sum$i$i<<2)|0); - HEAP32[$643>>2] = $642; - $$sum1$i$i = (($641) + 2)|0; - $644 = (9068 + ($$sum1$i$i<<2)|0); - HEAP32[$644>>2] = $642; - $645 = (($i$02$i$i) + 1)|0; - $exitcond$i$i = ($645|0)==(32); + $636 = $$01$i$i << 1; + $637 = (55296 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); if ($exitcond$i$i) { break; } else { - $i$02$i$i = $645; - } - } - $646 = (($tsize$254$i) + -40)|0; - $647 = ((($tbase$255$i)) + 8|0); - $648 = $647; - $649 = $648 & 7; - $650 = ($649|0)==(0); - $651 = (0 - ($648))|0; - $652 = $651 & 7; - $653 = $650 ? 0 : $652; - $654 = (($tbase$255$i) + ($653)|0); - $655 = (($646) - ($653))|0; - HEAP32[(9052)>>2] = $654; - HEAP32[(9040)>>2] = $655; - $656 = $655 | 1; - $$sum$i13$i = (($653) + 4)|0; - $657 = (($tbase$255$i) + ($$sum$i13$i)|0); - HEAP32[$657>>2] = $656; - $$sum2$i$i = (($tsize$254$i) + -36)|0; - $658 = (($tbase$255$i) + ($$sum2$i$i)|0); - HEAP32[$658>>2] = 40; - $659 = HEAP32[(9516)>>2]|0; - HEAP32[(9056)>>2] = $659; + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(55280)>>2] = $649; + HEAP32[(55268)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(55744)>>2]|0; + HEAP32[(55284)>>2] = $655; } else { - $sp$084$i = (9476); + $$024371$i = (55704); while(1) { - $660 = HEAP32[$sp$084$i>>2]|0; - $661 = ((($sp$084$i)) + 4|0); - $662 = HEAP32[$661>>2]|0; - $663 = (($660) + ($662)|0); - $664 = ($tbase$255$i|0)==($663|0); - if ($664) { - $$lcssa222 = $660;$$lcssa224 = $661;$$lcssa226 = $662;$sp$084$i$lcssa = $sp$084$i; - label = 204; + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; break; } - $665 = ((($sp$084$i)) + 8|0); - $666 = HEAP32[$665>>2]|0; - $667 = ($666|0)==(0|0); - if ($667) { + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { break; } else { - $sp$084$i = $666; - } - } - if ((label|0) == 204) { - $668 = ((($sp$084$i$lcssa)) + 12|0); - $669 = HEAP32[$668>>2]|0; - $670 = $669 & 8; - $671 = ($670|0)==(0); - if ($671) { - $672 = ($635>>>0)>=($$lcssa222>>>0); - $673 = ($635>>>0)<($tbase$255$i>>>0); - $or$cond57$i = $673 & $672; - if ($or$cond57$i) { - $674 = (($$lcssa226) + ($tsize$254$i))|0; - HEAP32[$$lcssa224>>2] = $674; - $675 = HEAP32[(9040)>>2]|0; - $676 = (($675) + ($tsize$254$i))|0; - $677 = ((($635)) + 8|0); - $678 = $677; - $679 = $678 & 7; - $680 = ($679|0)==(0); - $681 = (0 - ($678))|0; - $682 = $681 & 7; - $683 = $680 ? 0 : $682; - $684 = (($635) + ($683)|0); - $685 = (($676) - ($683))|0; - HEAP32[(9052)>>2] = $684; - HEAP32[(9040)>>2] = $685; - $686 = $685 | 1; - $$sum$i17$i = (($683) + 4)|0; - $687 = (($635) + ($$sum$i17$i)|0); - HEAP32[$687>>2] = $686; - $$sum2$i18$i = (($676) + 4)|0; - $688 = (($635) + ($$sum2$i18$i)|0); - HEAP32[$688>>2] = 40; - $689 = HEAP32[(9516)>>2]|0; - HEAP32[(9056)>>2] = $689; + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(55268)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(55280)>>2] = $679; + HEAP32[(55268)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(55744)>>2]|0; + HEAP32[(55284)>>2] = $686; break; } } } - $690 = HEAP32[(9044)>>2]|0; - $691 = ($tbase$255$i>>>0)<($690>>>0); - if ($691) { - HEAP32[(9044)>>2] = $tbase$255$i; - $755 = $tbase$255$i; + $687 = HEAP32[(55272)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(55272)>>2] = $$749$i; + $752 = $$749$i; } else { - $755 = $690; + $752 = $687; } - $692 = (($tbase$255$i) + ($tsize$254$i)|0); - $sp$183$i = (9476); + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (55704); while(1) { - $693 = HEAP32[$sp$183$i>>2]|0; - $694 = ($693|0)==($692|0); - if ($694) { - $$lcssa219 = $sp$183$i;$sp$183$i$lcssa = $sp$183$i; - label = 212; + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; break; } - $695 = ((($sp$183$i)) + 8|0); - $696 = HEAP32[$695>>2]|0; - $697 = ($696|0)==(0|0); - if ($697) { - $sp$0$i$i$i = (9476); + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { break; } else { - $sp$183$i = $696; - } - } - if ((label|0) == 212) { - $698 = ((($sp$183$i$lcssa)) + 12|0); - $699 = HEAP32[$698>>2]|0; - $700 = $699 & 8; - $701 = ($700|0)==(0); - if ($701) { - HEAP32[$$lcssa219>>2] = $tbase$255$i; - $702 = ((($sp$183$i$lcssa)) + 4|0); - $703 = HEAP32[$702>>2]|0; - $704 = (($703) + ($tsize$254$i))|0; - HEAP32[$702>>2] = $704; - $705 = ((($tbase$255$i)) + 8|0); - $706 = $705; + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; $707 = $706 & 7; - $708 = ($707|0)==(0); - $709 = (0 - ($706))|0; - $710 = $709 & 7; - $711 = $708 ? 0 : $710; - $712 = (($tbase$255$i) + ($711)|0); - $$sum112$i = (($tsize$254$i) + 8)|0; - $713 = (($tbase$255$i) + ($$sum112$i)|0); - $714 = $713; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; $715 = $714 & 7; - $716 = ($715|0)==(0); - $717 = (0 - ($714))|0; - $718 = $717 & 7; - $719 = $716 ? 0 : $718; - $$sum113$i = (($719) + ($tsize$254$i))|0; - $720 = (($tbase$255$i) + ($$sum113$i)|0); - $721 = $720; - $722 = $712; - $723 = (($721) - ($722))|0; - $$sum$i19$i = (($711) + ($nb$0))|0; - $724 = (($tbase$255$i) + ($$sum$i19$i)|0); - $725 = (($723) - ($nb$0))|0; - $726 = $nb$0 | 3; - $$sum1$i20$i = (($711) + 4)|0; - $727 = (($tbase$255$i) + ($$sum1$i20$i)|0); - HEAP32[$727>>2] = $726; - $728 = ($720|0)==($635|0); - L324: do { - if ($728) { - $729 = HEAP32[(9040)>>2]|0; - $730 = (($729) + ($725))|0; - HEAP32[(9040)>>2] = $730; - HEAP32[(9052)>>2] = $724; - $731 = $730 | 1; - $$sum42$i$i = (($$sum$i19$i) + 4)|0; - $732 = (($tbase$255$i) + ($$sum42$i$i)|0); - HEAP32[$732>>2] = $731; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(55268)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(55268)>>2] = $727; + HEAP32[(55280)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; } else { - $733 = HEAP32[(9048)>>2]|0; - $734 = ($720|0)==($733|0); - if ($734) { - $735 = HEAP32[(9036)>>2]|0; - $736 = (($735) + ($725))|0; - HEAP32[(9036)>>2] = $736; - HEAP32[(9048)>>2] = $724; - $737 = $736 | 1; - $$sum40$i$i = (($$sum$i19$i) + 4)|0; - $738 = (($tbase$255$i) + ($$sum40$i$i)|0); - HEAP32[$738>>2] = $737; - $$sum41$i$i = (($736) + ($$sum$i19$i))|0; - $739 = (($tbase$255$i) + ($$sum41$i$i)|0); - HEAP32[$739>>2] = $736; + $730 = HEAP32[(55276)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(55264)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(55264)>>2] = $733; + HEAP32[(55276)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; break; } - $$sum2$i21$i = (($tsize$254$i) + 4)|0; - $$sum114$i = (($$sum2$i21$i) + ($719))|0; - $740 = (($tbase$255$i) + ($$sum114$i)|0); - $741 = HEAP32[$740>>2]|0; - $742 = $741 & 3; - $743 = ($742|0)==(1); - if ($743) { - $744 = $741 & -8; - $745 = $741 >>> 3; - $746 = ($741>>>0)<(256); - L332: do { - if ($746) { - $$sum3738$i$i = $719 | 8; - $$sum124$i = (($$sum3738$i$i) + ($tsize$254$i))|0; - $747 = (($tbase$255$i) + ($$sum124$i)|0); - $748 = HEAP32[$747>>2]|0; - $$sum39$i$i = (($tsize$254$i) + 12)|0; - $$sum125$i = (($$sum39$i$i) + ($719))|0; - $749 = (($tbase$255$i) + ($$sum125$i)|0); - $750 = HEAP32[$749>>2]|0; - $751 = $745 << 1; - $752 = (9068 + ($751<<2)|0); - $753 = ($748|0)==($752|0); + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (55296 + ($748<<2)|0); + $750 = ($745|0)==($749|0); do { - if (!($753)) { - $754 = ($748>>>0)<($755>>>0); - if ($754) { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { _abort(); // unreachable; } - $756 = ((($748)) + 12|0); - $757 = HEAP32[$756>>2]|0; - $758 = ($757|0)==($720|0); - if ($758) { + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { break; } _abort(); // unreachable; } } while(0); - $759 = ($750|0)==($748|0); - if ($759) { - $760 = 1 << $745; - $761 = $760 ^ -1; - $762 = HEAP32[9028>>2]|0; - $763 = $762 & $761; - HEAP32[9028>>2] = $763; + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[13814]|0; + $760 = $759 & $758; + HEAP32[13814] = $760; break; } - $764 = ($750|0)==($752|0); + $761 = ($747|0)==($749|0); do { - if ($764) { - $$pre57$i$i = ((($750)) + 8|0); - $$pre$phi58$i$iZ2D = $$pre57$i$i; + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; } else { - $765 = ($750>>>0)<($755>>>0); - if ($765) { + $762 = ($747>>>0)<($752>>>0); + if ($762) { _abort(); // unreachable; } - $766 = ((($750)) + 8|0); - $767 = HEAP32[$766>>2]|0; - $768 = ($767|0)==($720|0); - if ($768) { - $$pre$phi58$i$iZ2D = $766; + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; break; } _abort(); // unreachable; } } while(0); - $769 = ((($748)) + 12|0); - HEAP32[$769>>2] = $750; - HEAP32[$$pre$phi58$i$iZ2D>>2] = $748; + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; } else { - $$sum34$i$i = $719 | 24; - $$sum115$i = (($$sum34$i$i) + ($tsize$254$i))|0; - $770 = (($tbase$255$i) + ($$sum115$i)|0); - $771 = HEAP32[$770>>2]|0; - $$sum5$i$i = (($tsize$254$i) + 12)|0; - $$sum116$i = (($$sum5$i$i) + ($719))|0; - $772 = (($tbase$255$i) + ($$sum116$i)|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773|0)==($720|0); + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); do { - if ($774) { - $$sum67$i$i = $719 | 16; - $$sum122$i = (($$sum2$i21$i) + ($$sum67$i$i))|0; - $784 = (($tbase$255$i) + ($$sum122$i)|0); - $785 = HEAP32[$784>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$sum123$i = (($$sum67$i$i) + ($tsize$254$i))|0; - $787 = (($tbase$255$i) + ($$sum123$i)|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if ($789) { - $R$1$i$i = 0; + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; break; } else { - $R$0$i$i = $788;$RP$0$i$i = $787; + $$1291$i$i = $785;$$1293$i$i = $781; } } else { - $R$0$i$i = $785;$RP$0$i$i = $784; + $$1291$i$i = $783;$$1293$i$i = $782; } while(1) { - $790 = ((($R$0$i$i)) + 20|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if (!($792)) { - $R$0$i$i = $791;$RP$0$i$i = $790; + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; continue; } - $793 = ((($R$0$i$i)) + 16|0); - $794 = HEAP32[$793>>2]|0; - $795 = ($794|0)==(0|0); - if ($795) { - $R$0$i$i$lcssa = $R$0$i$i;$RP$0$i$i$lcssa = $RP$0$i$i; + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { break; } else { - $R$0$i$i = $794;$RP$0$i$i = $793; + $$1291$i$i = $791;$$1293$i$i = $790; } } - $796 = ($RP$0$i$i$lcssa>>>0)<($755>>>0); - if ($796) { + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { _abort(); // unreachable; } else { - HEAP32[$RP$0$i$i$lcssa>>2] = 0; - $R$1$i$i = $R$0$i$i$lcssa; + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; break; } } else { - $$sum3536$i$i = $719 | 8; - $$sum117$i = (($$sum3536$i$i) + ($tsize$254$i))|0; - $775 = (($tbase$255$i) + ($$sum117$i)|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776>>>0)<($755>>>0); - if ($777) { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { _abort(); // unreachable; } - $778 = ((($776)) + 12|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($720|0); - if (!($780)) { + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { _abort(); // unreachable; } - $781 = ((($773)) + 8|0); - $782 = HEAP32[$781>>2]|0; - $783 = ($782|0)==($720|0); - if ($783) { + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; HEAP32[$778>>2] = $773; - HEAP32[$781>>2] = $776; - $R$1$i$i = $773; + $$3$i$i = $770; break; } else { _abort(); @@ -278188,823 +332885,761 @@ function _malloc($bytes) { } } } while(0); - $797 = ($771|0)==(0|0); - if ($797) { + $794 = ($768|0)==(0|0); + if ($794) { break; } - $$sum30$i$i = (($tsize$254$i) + 28)|0; - $$sum118$i = (($$sum30$i$i) + ($719))|0; - $798 = (($tbase$255$i) + ($$sum118$i)|0); - $799 = HEAP32[$798>>2]|0; - $800 = (9332 + ($799<<2)|0); - $801 = HEAP32[$800>>2]|0; - $802 = ($720|0)==($801|0); + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (55560 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); do { - if ($802) { - HEAP32[$800>>2] = $R$1$i$i; - $cond$i$i = ($R$1$i$i|0)==(0|0); + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); if (!($cond$i$i)) { break; } - $803 = 1 << $799; - $804 = $803 ^ -1; - $805 = HEAP32[(9032)>>2]|0; - $806 = $805 & $804; - HEAP32[(9032)>>2] = $806; - break L332; + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(55260)>>2]|0; + $803 = $802 & $801; + HEAP32[(55260)>>2] = $803; + break L314; } else { - $807 = HEAP32[(9044)>>2]|0; - $808 = ($771>>>0)<($807>>>0); - if ($808) { + $804 = HEAP32[(55272)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { _abort(); // unreachable; - } - $809 = ((($771)) + 16|0); - $810 = HEAP32[$809>>2]|0; - $811 = ($810|0)==($720|0); - if ($811) { - HEAP32[$809>>2] = $R$1$i$i; } else { - $812 = ((($771)) + 20|0); - HEAP32[$812>>2] = $R$1$i$i; - } - $813 = ($R$1$i$i|0)==(0|0); - if ($813) { - break L332; + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } } } } while(0); - $814 = HEAP32[(9044)>>2]|0; - $815 = ($R$1$i$i>>>0)<($814>>>0); - if ($815) { + $810 = HEAP32[(55272)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { _abort(); // unreachable; } - $816 = ((($R$1$i$i)) + 24|0); - HEAP32[$816>>2] = $771; - $$sum3132$i$i = $719 | 16; - $$sum119$i = (($$sum3132$i$i) + ($tsize$254$i))|0; - $817 = (($tbase$255$i) + ($$sum119$i)|0); - $818 = HEAP32[$817>>2]|0; - $819 = ($818|0)==(0|0); + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); do { - if (!($819)) { - $820 = ($818>>>0)<($814>>>0); - if ($820) { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { _abort(); // unreachable; } else { - $821 = ((($R$1$i$i)) + 16|0); - HEAP32[$821>>2] = $818; - $822 = ((($818)) + 24|0); - HEAP32[$822>>2] = $R$1$i$i; + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; break; } } } while(0); - $$sum120$i = (($$sum2$i21$i) + ($$sum3132$i$i))|0; - $823 = (($tbase$255$i) + ($$sum120$i)|0); - $824 = HEAP32[$823>>2]|0; - $825 = ($824|0)==(0|0); - if ($825) { + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { break; } - $826 = HEAP32[(9044)>>2]|0; - $827 = ($824>>>0)<($826>>>0); - if ($827) { + $822 = HEAP32[(55272)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { _abort(); // unreachable; } else { - $828 = ((($R$1$i$i)) + 20|0); - HEAP32[$828>>2] = $824; - $829 = ((($824)) + 24|0); - HEAP32[$829>>2] = $R$1$i$i; + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; break; } } } while(0); - $$sum9$i$i = $744 | $719; - $$sum121$i = (($$sum9$i$i) + ($tsize$254$i))|0; - $830 = (($tbase$255$i) + ($$sum121$i)|0); - $831 = (($744) + ($725))|0; - $oldfirst$0$i$i = $830;$qsize$0$i$i = $831; + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; } else { - $oldfirst$0$i$i = $720;$qsize$0$i$i = $725; + $$0$i18$i = $717;$$0287$i$i = $722; } - $832 = ((($oldfirst$0$i$i)) + 4|0); - $833 = HEAP32[$832>>2]|0; - $834 = $833 & -2; - HEAP32[$832>>2] = $834; - $835 = $qsize$0$i$i | 1; - $$sum10$i$i = (($$sum$i19$i) + 4)|0; - $836 = (($tbase$255$i) + ($$sum10$i$i)|0); - HEAP32[$836>>2] = $835; - $$sum11$i$i = (($qsize$0$i$i) + ($$sum$i19$i))|0; - $837 = (($tbase$255$i) + ($$sum11$i$i)|0); - HEAP32[$837>>2] = $qsize$0$i$i; - $838 = $qsize$0$i$i >>> 3; - $839 = ($qsize$0$i$i>>>0)<(256); - if ($839) { - $840 = $838 << 1; - $841 = (9068 + ($840<<2)|0); - $842 = HEAP32[9028>>2]|0; - $843 = 1 << $838; - $844 = $842 & $843; - $845 = ($844|0)==(0); + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (55296 + ($836<<2)|0); + $838 = HEAP32[13814]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); do { - if ($845) { - $846 = $842 | $843; - HEAP32[9028>>2] = $846; - $$pre$i22$i = (($840) + 2)|0; - $$pre56$i$i = (9068 + ($$pre$i22$i<<2)|0); - $$pre$phi$i23$iZ2D = $$pre56$i$i;$F4$0$i$i = $841; + if ($841) { + $842 = $838 | $839; + HEAP32[13814] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { - $$sum29$i$i = (($840) + 2)|0; - $847 = (9068 + ($$sum29$i$i<<2)|0); - $848 = HEAP32[$847>>2]|0; - $849 = HEAP32[(9044)>>2]|0; - $850 = ($848>>>0)<($849>>>0); - if (!($850)) { - $$pre$phi$i23$iZ2D = $847;$F4$0$i$i = $848; + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(55272)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; break; } _abort(); // unreachable; } } while(0); - HEAP32[$$pre$phi$i23$iZ2D>>2] = $724; - $851 = ((($F4$0$i$i)) + 12|0); - HEAP32[$851>>2] = $724; - $$sum27$i$i = (($$sum$i19$i) + 8)|0; - $852 = (($tbase$255$i) + ($$sum27$i$i)|0); - HEAP32[$852>>2] = $F4$0$i$i; - $$sum28$i$i = (($$sum$i19$i) + 12)|0; - $853 = (($tbase$255$i) + ($$sum28$i$i)|0); - HEAP32[$853>>2] = $841; + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; break; } - $854 = $qsize$0$i$i >>> 8; - $855 = ($854|0)==(0); + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); do { - if ($855) { - $I7$0$i$i = 0; + if ($851) { + $$0296$i$i = 0; } else { - $856 = ($qsize$0$i$i>>>0)>(16777215); - if ($856) { - $I7$0$i$i = 31; + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; break; } - $857 = (($854) + 1048320)|0; + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; $858 = $857 >>> 16; - $859 = $858 & 8; - $860 = $854 << $859; - $861 = (($860) + 520192)|0; - $862 = $861 >>> 16; - $863 = $862 & 4; - $864 = $863 | $859; - $865 = $860 << $863; - $866 = (($865) + 245760)|0; - $867 = $866 >>> 16; - $868 = $867 & 2; - $869 = $864 | $868; - $870 = (14 - ($869))|0; - $871 = $865 << $868; - $872 = $871 >>> 15; - $873 = (($870) + ($872))|0; - $874 = $873 << 1; - $875 = (($873) + 7)|0; - $876 = $qsize$0$i$i >>> $875; - $877 = $876 & 1; - $878 = $877 | $874; - $I7$0$i$i = $878; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; } } while(0); - $879 = (9332 + ($I7$0$i$i<<2)|0); - $$sum12$i$i = (($$sum$i19$i) + 28)|0; - $880 = (($tbase$255$i) + ($$sum12$i$i)|0); - HEAP32[$880>>2] = $I7$0$i$i; - $$sum13$i$i = (($$sum$i19$i) + 16)|0; - $881 = (($tbase$255$i) + ($$sum13$i$i)|0); - $$sum14$i$i = (($$sum$i19$i) + 20)|0; - $882 = (($tbase$255$i) + ($$sum14$i$i)|0); - HEAP32[$882>>2] = 0; - HEAP32[$881>>2] = 0; - $883 = HEAP32[(9032)>>2]|0; - $884 = 1 << $I7$0$i$i; - $885 = $883 & $884; - $886 = ($885|0)==(0); - if ($886) { - $887 = $883 | $884; - HEAP32[(9032)>>2] = $887; - HEAP32[$879>>2] = $724; - $$sum15$i$i = (($$sum$i19$i) + 24)|0; - $888 = (($tbase$255$i) + ($$sum15$i$i)|0); - HEAP32[$888>>2] = $879; - $$sum16$i$i = (($$sum$i19$i) + 12)|0; - $889 = (($tbase$255$i) + ($$sum16$i$i)|0); - HEAP32[$889>>2] = $724; - $$sum17$i$i = (($$sum$i19$i) + 8)|0; - $890 = (($tbase$255$i) + ($$sum17$i$i)|0); - HEAP32[$890>>2] = $724; + $875 = (55560 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(55260)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(55260)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; break; } - $891 = HEAP32[$879>>2]|0; - $892 = ((($891)) + 4|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & -8; - $895 = ($894|0)==($qsize$0$i$i|0); - L418: do { - if ($895) { - $T$0$lcssa$i25$i = $891; + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; } else { - $896 = ($I7$0$i$i|0)==(31); - $897 = $I7$0$i$i >>> 1; - $898 = (25 - ($897))|0; - $899 = $896 ? 0 : $898; - $900 = $qsize$0$i$i << $899; - $K8$051$i$i = $900;$T$050$i$i = $891; - while(1) { - $907 = $K8$051$i$i >>> 31; - $908 = (((($T$050$i$i)) + 16|0) + ($907<<2)|0); - $903 = HEAP32[$908>>2]|0; - $909 = ($903|0)==(0|0); - if ($909) { - $$lcssa = $908;$T$050$i$i$lcssa = $T$050$i$i; - break; - } - $901 = $K8$051$i$i << 1; - $902 = ((($903)) + 4|0); - $904 = HEAP32[$902>>2]|0; - $905 = $904 & -8; - $906 = ($905|0)==($qsize$0$i$i|0); - if ($906) { - $T$0$lcssa$i25$i = $903; - break L418; - } else { - $K8$051$i$i = $901;$T$050$i$i = $903; - } - } - $910 = HEAP32[(9044)>>2]|0; - $911 = ($$lcssa>>>0)<($910>>>0); - if ($911) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa>>2] = $724; - $$sum23$i$i = (($$sum$i19$i) + 24)|0; - $912 = (($tbase$255$i) + ($$sum23$i$i)|0); - HEAP32[$912>>2] = $T$050$i$i$lcssa; - $$sum24$i$i = (($$sum$i19$i) + 12)|0; - $913 = (($tbase$255$i) + ($$sum24$i$i)|0); - HEAP32[$913>>2] = $724; - $$sum25$i$i = (($$sum$i19$i) + 8)|0; - $914 = (($tbase$255$i) + ($$sum25$i$i)|0); - HEAP32[$914>>2] = $724; - break L324; - } + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(55272)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(55272)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; } - } while(0); - $915 = ((($T$0$lcssa$i25$i)) + 8|0); - $916 = HEAP32[$915>>2]|0; - $917 = HEAP32[(9044)>>2]|0; - $918 = ($916>>>0)>=($917>>>0); - $not$$i26$i = ($T$0$lcssa$i25$i>>>0)>=($917>>>0); - $919 = $918 & $not$$i26$i; - if ($919) { - $920 = ((($916)) + 12|0); - HEAP32[$920>>2] = $724; - HEAP32[$915>>2] = $724; - $$sum20$i$i = (($$sum$i19$i) + 8)|0; - $921 = (($tbase$255$i) + ($$sum20$i$i)|0); - HEAP32[$921>>2] = $916; - $$sum21$i$i = (($$sum$i19$i) + 12)|0; - $922 = (($tbase$255$i) + ($$sum21$i$i)|0); - HEAP32[$922>>2] = $T$0$lcssa$i25$i; - $$sum22$i$i = (($$sum$i19$i) + 24)|0; - $923 = (($tbase$255$i) + ($$sum22$i$i)|0); - HEAP32[$923>>2] = 0; - break; - } else { - _abort(); - // unreachable; } } } while(0); - $$sum1819$i$i = $711 | 8; - $924 = (($tbase$255$i) + ($$sum1819$i$i)|0); - $mem$0 = $924; - return ($mem$0|0); - } else { - $sp$0$i$i$i = (9476); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); } } + $$0$i$i$i = (55704); while(1) { - $925 = HEAP32[$sp$0$i$i$i>>2]|0; - $926 = ($925>>>0)>($635>>>0); - if (!($926)) { - $927 = ((($sp$0$i$i$i)) + 4|0); - $928 = HEAP32[$927>>2]|0; - $929 = (($925) + ($928)|0); - $930 = ($929>>>0)>($635>>>0); - if ($930) { - $$lcssa215 = $925;$$lcssa216 = $928;$$lcssa217 = $929; + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { break; } } - $931 = ((($sp$0$i$i$i)) + 8|0); - $932 = HEAP32[$931>>2]|0; - $sp$0$i$i$i = $932; - } - $$sum$i14$i = (($$lcssa216) + -47)|0; - $$sum1$i15$i = (($$lcssa216) + -39)|0; - $933 = (($$lcssa215) + ($$sum1$i15$i)|0); - $934 = $933; - $935 = $934 & 7; - $936 = ($935|0)==(0); - $937 = (0 - ($934))|0; - $938 = $937 & 7; - $939 = $936 ? 0 : $938; - $$sum2$i16$i = (($$sum$i14$i) + ($939))|0; - $940 = (($$lcssa215) + ($$sum2$i16$i)|0); - $941 = ((($635)) + 16|0); - $942 = ($940>>>0)<($941>>>0); - $943 = $942 ? $635 : $940; - $944 = ((($943)) + 8|0); - $945 = (($tsize$254$i) + -40)|0; - $946 = ((($tbase$255$i)) + 8|0); - $947 = $946; - $948 = $947 & 7; - $949 = ($948|0)==(0); - $950 = (0 - ($947))|0; - $951 = $950 & 7; - $952 = $949 ? 0 : $951; - $953 = (($tbase$255$i) + ($952)|0); - $954 = (($945) - ($952))|0; - HEAP32[(9052)>>2] = $953; - HEAP32[(9040)>>2] = $954; - $955 = $954 | 1; - $$sum$i$i$i = (($952) + 4)|0; - $956 = (($tbase$255$i) + ($$sum$i$i$i)|0); - HEAP32[$956>>2] = $955; - $$sum2$i$i$i = (($tsize$254$i) + -36)|0; - $957 = (($tbase$255$i) + ($$sum2$i$i$i)|0); - HEAP32[$957>>2] = 40; - $958 = HEAP32[(9516)>>2]|0; - HEAP32[(9056)>>2] = $958; - $959 = ((($943)) + 4|0); - HEAP32[$959>>2] = 27; - ;HEAP32[$944>>2]=HEAP32[(9476)>>2]|0;HEAP32[$944+4>>2]=HEAP32[(9476)+4>>2]|0;HEAP32[$944+8>>2]=HEAP32[(9476)+8>>2]|0;HEAP32[$944+12>>2]=HEAP32[(9476)+12>>2]|0; - HEAP32[(9476)>>2] = $tbase$255$i; - HEAP32[(9480)>>2] = $tsize$254$i; - HEAP32[(9488)>>2] = 0; - HEAP32[(9484)>>2] = $944; - $960 = ((($943)) + 28|0); - HEAP32[$960>>2] = 7; - $961 = ((($943)) + 32|0); - $962 = ($961>>>0)<($$lcssa217>>>0); - if ($962) { - $964 = $960; - while(1) { - $963 = ((($964)) + 4|0); - HEAP32[$963>>2] = 7; - $965 = ((($964)) + 8|0); - $966 = ($965>>>0)<($$lcssa217>>>0); - if ($966) { - $964 = $963; - } else { - break; - } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(55280)>>2] = $946; + HEAP32[(55268)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(55744)>>2]|0; + HEAP32[(55284)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(55704)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(55704)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(55704)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(55704)+12>>2]|0; + HEAP32[(55704)>>2] = $$749$i; + HEAP32[(55708)>>2] = $$723948$i; + HEAP32[(55716)>>2] = 0; + HEAP32[(55712)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; } } - $967 = ($943|0)==($635|0); - if (!($967)) { - $968 = $943; - $969 = $635; - $970 = (($968) - ($969))|0; - $971 = HEAP32[$959>>2]|0; - $972 = $971 & -2; - HEAP32[$959>>2] = $972; - $973 = $970 | 1; - $974 = ((($635)) + 4|0); - HEAP32[$974>>2] = $973; - HEAP32[$943>>2] = $970; - $975 = $970 >>> 3; - $976 = ($970>>>0)<(256); - if ($976) { - $977 = $975 << 1; - $978 = (9068 + ($977<<2)|0); - $979 = HEAP32[9028>>2]|0; - $980 = 1 << $975; - $981 = $979 & $980; - $982 = ($981|0)==(0); - if ($982) { - $983 = $979 | $980; - HEAP32[9028>>2] = $983; - $$pre$i$i = (($977) + 2)|0; - $$pre14$i$i = (9068 + ($$pre$i$i<<2)|0); - $$pre$phi$i$iZ2D = $$pre14$i$i;$F$0$i$i = $978; + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (55296 + ($968<<2)|0); + $970 = HEAP32[13814]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[13814] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { - $$sum4$i$i = (($977) + 2)|0; - $984 = (9068 + ($$sum4$i$i<<2)|0); - $985 = HEAP32[$984>>2]|0; - $986 = HEAP32[(9044)>>2]|0; - $987 = ($985>>>0)<($986>>>0); - if ($987) { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(55272)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { _abort(); // unreachable; } else { - $$pre$phi$i$iZ2D = $984;$F$0$i$i = $985; + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; } } - HEAP32[$$pre$phi$i$iZ2D>>2] = $635; - $988 = ((($F$0$i$i)) + 12|0); - HEAP32[$988>>2] = $635; - $989 = ((($635)) + 8|0); - HEAP32[$989>>2] = $F$0$i$i; - $990 = ((($635)) + 12|0); - HEAP32[$990>>2] = $978; + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; break; } - $991 = $970 >>> 8; - $992 = ($991|0)==(0); - if ($992) { - $I1$0$i$i = 0; + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; } else { - $993 = ($970>>>0)>(16777215); - if ($993) { - $I1$0$i$i = 31; + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; } else { - $994 = (($991) + 1048320)|0; + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; $995 = $994 >>> 16; - $996 = $995 & 8; - $997 = $991 << $996; - $998 = (($997) + 520192)|0; - $999 = $998 >>> 16; - $1000 = $999 & 4; - $1001 = $1000 | $996; - $1002 = $997 << $1000; - $1003 = (($1002) + 245760)|0; - $1004 = $1003 >>> 16; - $1005 = $1004 & 2; - $1006 = $1001 | $1005; - $1007 = (14 - ($1006))|0; - $1008 = $1002 << $1005; - $1009 = $1008 >>> 15; - $1010 = (($1007) + ($1009))|0; - $1011 = $1010 << 1; - $1012 = (($1010) + 7)|0; - $1013 = $970 >>> $1012; - $1014 = $1013 & 1; - $1015 = $1014 | $1011; - $I1$0$i$i = $1015; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; } } - $1016 = (9332 + ($I1$0$i$i<<2)|0); - $1017 = ((($635)) + 28|0); - HEAP32[$1017>>2] = $I1$0$i$i; - $1018 = ((($635)) + 20|0); - HEAP32[$1018>>2] = 0; - HEAP32[$941>>2] = 0; - $1019 = HEAP32[(9032)>>2]|0; - $1020 = 1 << $I1$0$i$i; - $1021 = $1019 & $1020; - $1022 = ($1021|0)==(0); - if ($1022) { - $1023 = $1019 | $1020; - HEAP32[(9032)>>2] = $1023; - HEAP32[$1016>>2] = $635; - $1024 = ((($635)) + 24|0); - HEAP32[$1024>>2] = $1016; - $1025 = ((($635)) + 12|0); - HEAP32[$1025>>2] = $635; - $1026 = ((($635)) + 8|0); - HEAP32[$1026>>2] = $635; + $1007 = (55560 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(55260)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(55260)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; break; } - $1027 = HEAP32[$1016>>2]|0; - $1028 = ((($1027)) + 4|0); - $1029 = HEAP32[$1028>>2]|0; - $1030 = $1029 & -8; - $1031 = ($1030|0)==($970|0); - L459: do { - if ($1031) { - $T$0$lcssa$i$i = $1027; + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; } else { - $1032 = ($I1$0$i$i|0)==(31); - $1033 = $I1$0$i$i >>> 1; - $1034 = (25 - ($1033))|0; - $1035 = $1032 ? 0 : $1034; - $1036 = $970 << $1035; - $K2$07$i$i = $1036;$T$06$i$i = $1027; - while(1) { - $1043 = $K2$07$i$i >>> 31; - $1044 = (((($T$06$i$i)) + 16|0) + ($1043<<2)|0); - $1039 = HEAP32[$1044>>2]|0; - $1045 = ($1039|0)==(0|0); - if ($1045) { - $$lcssa211 = $1044;$T$06$i$i$lcssa = $T$06$i$i; - break; - } - $1037 = $K2$07$i$i << 1; - $1038 = ((($1039)) + 4|0); - $1040 = HEAP32[$1038>>2]|0; - $1041 = $1040 & -8; - $1042 = ($1041|0)==($970|0); - if ($1042) { - $T$0$lcssa$i$i = $1039; - break L459; - } else { - $K2$07$i$i = $1037;$T$06$i$i = $1039; - } - } - $1046 = HEAP32[(9044)>>2]|0; - $1047 = ($$lcssa211>>>0)<($1046>>>0); - if ($1047) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa211>>2] = $635; - $1048 = ((($635)) + 24|0); - HEAP32[$1048>>2] = $T$06$i$i$lcssa; - $1049 = ((($635)) + 12|0); - HEAP32[$1049>>2] = $635; - $1050 = ((($635)) + 8|0); - HEAP32[$1050>>2] = $635; - break L299; - } + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(55272)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(55272)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; } - } while(0); - $1051 = ((($T$0$lcssa$i$i)) + 8|0); - $1052 = HEAP32[$1051>>2]|0; - $1053 = HEAP32[(9044)>>2]|0; - $1054 = ($1052>>>0)>=($1053>>>0); - $not$$i$i = ($T$0$lcssa$i$i>>>0)>=($1053>>>0); - $1055 = $1054 & $not$$i$i; - if ($1055) { - $1056 = ((($1052)) + 12|0); - HEAP32[$1056>>2] = $635; - HEAP32[$1051>>2] = $635; - $1057 = ((($635)) + 8|0); - HEAP32[$1057>>2] = $1052; - $1058 = ((($635)) + 12|0); - HEAP32[$1058>>2] = $T$0$lcssa$i$i; - $1059 = ((($635)) + 24|0); - HEAP32[$1059>>2] = 0; - break; - } else { - _abort(); - // unreachable; } } } } while(0); - $1060 = HEAP32[(9040)>>2]|0; - $1061 = ($1060>>>0)>($nb$0>>>0); - if ($1061) { - $1062 = (($1060) - ($nb$0))|0; - HEAP32[(9040)>>2] = $1062; - $1063 = HEAP32[(9052)>>2]|0; - $1064 = (($1063) + ($nb$0)|0); - HEAP32[(9052)>>2] = $1064; - $1065 = $1062 | 1; - $$sum$i32 = (($nb$0) + 4)|0; - $1066 = (($1063) + ($$sum$i32)|0); - HEAP32[$1066>>2] = $1065; - $1067 = $nb$0 | 3; - $1068 = ((($1063)) + 4|0); - HEAP32[$1068>>2] = $1067; - $1069 = ((($1063)) + 8|0); - $mem$0 = $1069; - return ($mem$0|0); - } - } - $1070 = (___errno_location()|0); - HEAP32[$1070>>2] = 12; - $mem$0 = 0; - return ($mem$0|0); -} -function _free($mem) { - $mem = $mem|0; - var $$lcssa = 0, $$pre = 0, $$pre$phi59Z2D = 0, $$pre$phi61Z2D = 0, $$pre$phiZ2D = 0, $$pre57 = 0, $$pre58 = 0, $$pre60 = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum1718 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0; - var $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum5 = 0, $$sum67 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; - var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; - var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; - var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; - var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; - var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; - var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0; - var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0; - var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0; - var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0; - var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0; - var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I18$0 = 0, $K19$052 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0; - var $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$051 = 0, $T$051$lcssa = 0, $cond = 0, $cond47 = 0, $not$ = 0, $p$0 = 0, $psize$0 = 0, $psize$1 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0; + $1048 = HEAP32[(55268)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(55268)>>2] = $1050; + $1051 = HEAP32[(55280)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(55280)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $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, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($mem|0)==(0|0); - if ($0) { + $1 = ($0|0)==(0|0); + if ($1) { return; } - $1 = ((($mem)) + -8|0); - $2 = HEAP32[(9044)>>2]|0; - $3 = ($1>>>0)<($2>>>0); - if ($3) { + $2 = ((($0)) + -8|0); + $3 = HEAP32[(55272)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { _abort(); // unreachable; } - $4 = ((($mem)) + -4|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 3; - $7 = ($6|0)==(1); - if ($7) { + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { _abort(); // unreachable; } - $8 = $5 & -8; - $$sum = (($8) + -8)|0; - $9 = (($mem) + ($$sum)|0); - $10 = $5 & 1; - $11 = ($10|0)==(0); - do { - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ($6|0)==(0); - if ($13) { + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { return; } - $$sum2 = (-8 - ($12))|0; - $14 = (($mem) + ($$sum2)|0); - $15 = (($12) + ($8))|0; - $16 = ($14>>>0)<($2>>>0); - if ($16) { + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { _abort(); // unreachable; } - $17 = HEAP32[(9048)>>2]|0; - $18 = ($14|0)==($17|0); - if ($18) { - $$sum3 = (($8) + -4)|0; - $103 = (($mem) + ($$sum3)|0); - $104 = HEAP32[$103>>2]|0; - $105 = $104 & 3; - $106 = ($105|0)==(3); - if (!($106)) { - $p$0 = $14;$psize$0 = $15; + $19 = HEAP32[(55276)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; break; } - HEAP32[(9036)>>2] = $15; - $107 = $104 & -2; - HEAP32[$103>>2] = $107; - $108 = $15 | 1; - $$sum20 = (($$sum2) + 4)|0; - $109 = (($mem) + ($$sum20)|0); - HEAP32[$109>>2] = $108; - HEAP32[$9>>2] = $15; + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(55264)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; return; } - $19 = $12 >>> 3; - $20 = ($12>>>0)<(256); - if ($20) { - $$sum30 = (($$sum2) + 8)|0; - $21 = (($mem) + ($$sum30)|0); - $22 = HEAP32[$21>>2]|0; - $$sum31 = (($$sum2) + 12)|0; - $23 = (($mem) + ($$sum31)|0); + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); $24 = HEAP32[$23>>2]|0; - $25 = $19 << 1; - $26 = (9068 + ($25<<2)|0); - $27 = ($22|0)==($26|0); - if (!($27)) { - $28 = ($22>>>0)<($2>>>0); - if ($28) { + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (55296 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { _abort(); // unreachable; } - $29 = ((($22)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==($14|0); - if (!($31)) { + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { _abort(); // unreachable; } } - $32 = ($24|0)==($22|0); - if ($32) { - $33 = 1 << $19; - $34 = $33 ^ -1; - $35 = HEAP32[9028>>2]|0; - $36 = $35 & $34; - HEAP32[9028>>2] = $36; - $p$0 = $14;$psize$0 = $15; + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[13814]|0; + $38 = $37 & $36; + HEAP32[13814] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; break; } - $37 = ($24|0)==($26|0); - if ($37) { - $$pre60 = ((($24)) + 8|0); - $$pre$phi61Z2D = $$pre60; + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; } else { - $38 = ($24>>>0)<($2>>>0); - if ($38) { + $40 = ($26>>>0)<($3>>>0); + if ($40) { _abort(); // unreachable; } - $39 = ((($24)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)==($14|0); - if ($41) { - $$pre$phi61Z2D = $39; + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; } else { _abort(); // unreachable; } } - $42 = ((($22)) + 12|0); - HEAP32[$42>>2] = $24; - HEAP32[$$pre$phi61Z2D>>2] = $22; - $p$0 = $14;$psize$0 = $15; + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; break; } - $$sum22 = (($$sum2) + 24)|0; - $43 = (($mem) + ($$sum22)|0); - $44 = HEAP32[$43>>2]|0; - $$sum23 = (($$sum2) + 12)|0; - $45 = (($mem) + ($$sum23)|0); + $45 = ((($16)) + 24|0); $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==($14|0); + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); do { - if ($47) { - $$sum25 = (($$sum2) + 20)|0; - $57 = (($mem) + ($$sum25)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0|0); - if ($59) { - $$sum24 = (($$sum2) + 16)|0; - $60 = (($mem) + ($$sum24)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $R$1 = 0; + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; break; } else { - $R$0 = $61;$RP$0 = $60; + $$1387 = $63;$$1390 = $59; } } else { - $R$0 = $58;$RP$0 = $57; + $$1387 = $61;$$1390 = $60; } while(1) { - $63 = ((($R$0)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $R$0 = $64;$RP$0 = $63; + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; continue; } - $66 = ((($R$0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)==(0|0); - if ($68) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { break; } else { - $R$0 = $67;$RP$0 = $66; + $$1387 = $69;$$1390 = $68; } } - $69 = ($RP$0$lcssa>>>0)<($2>>>0); - if ($69) { + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { _abort(); // unreachable; } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; break; } } else { - $$sum29 = (($$sum2) + 8)|0; - $48 = (($mem) + ($$sum29)|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49>>>0)<($2>>>0); - if ($50) { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { _abort(); // unreachable; } - $51 = ((($49)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)==($14|0); - if (!($53)) { + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { _abort(); // unreachable; } - $54 = ((($46)) + 8|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==($14|0); - if ($56) { - HEAP32[$51>>2] = $46; - HEAP32[$54>>2] = $49; - $R$1 = $46; + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; break; } else { _abort(); @@ -279012,294 +333647,285 @@ function _free($mem) { } } } while(0); - $70 = ($44|0)==(0|0); - if ($70) { - $p$0 = $14;$psize$0 = $15; + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; } else { - $$sum26 = (($$sum2) + 28)|0; - $71 = (($mem) + ($$sum26)|0); - $72 = HEAP32[$71>>2]|0; - $73 = (9332 + ($72<<2)|0); + $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = ($14|0)==($74|0); - if ($75) { - HEAP32[$73>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $76 = 1 << $72; - $77 = $76 ^ -1; - $78 = HEAP32[(9032)>>2]|0; - $79 = $78 & $77; - HEAP32[(9032)>>2] = $79; - $p$0 = $14;$psize$0 = $15; - break; - } - } else { - $80 = HEAP32[(9044)>>2]|0; - $81 = ($44>>>0)<($80>>>0); - if ($81) { - _abort(); - // unreachable; - } - $82 = ((($44)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)==($14|0); - if ($84) { - HEAP32[$82>>2] = $R$1; + $75 = (55560 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(55260)>>2]|0; + $81 = $80 & $79; + HEAP32[(55260)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } } else { - $85 = ((($44)) + 20|0); - HEAP32[$85>>2] = $R$1; - } - $86 = ($R$1|0)==(0|0); - if ($86) { - $p$0 = $14;$psize$0 = $15; - break; + $82 = HEAP32[(55272)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } } - } - $87 = HEAP32[(9044)>>2]|0; - $88 = ($R$1>>>0)<($87>>>0); - if ($88) { + } while(0); + $88 = HEAP32[(55272)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { _abort(); // unreachable; } - $89 = ((($R$1)) + 24|0); - HEAP32[$89>>2] = $44; - $$sum27 = (($$sum2) + 16)|0; - $90 = (($mem) + ($$sum27)|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(0|0); + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); do { - if (!($92)) { - $93 = ($91>>>0)<($87>>>0); - if ($93) { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { _abort(); // unreachable; } else { - $94 = ((($R$1)) + 16|0); - HEAP32[$94>>2] = $91; - $95 = ((($91)) + 24|0); - HEAP32[$95>>2] = $R$1; + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; break; } } } while(0); - $$sum28 = (($$sum2) + 20)|0; - $96 = (($mem) + ($$sum28)|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)==(0|0); - if ($98) { - $p$0 = $14;$psize$0 = $15; + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; } else { - $99 = HEAP32[(9044)>>2]|0; - $100 = ($97>>>0)<($99>>>0); - if ($100) { + $100 = HEAP32[(55272)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { _abort(); // unreachable; } else { - $101 = ((($R$1)) + 20|0); - HEAP32[$101>>2] = $97; - $102 = ((($97)) + 24|0); - HEAP32[$102>>2] = $R$1; - $p$0 = $14;$psize$0 = $15; + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; break; } } } } else { - $p$0 = $1;$psize$0 = $8; + $$1 = $2;$$1382 = $9;$113 = $2; } } while(0); - $110 = ($p$0>>>0)<($9>>>0); - if (!($110)) { + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { _abort(); // unreachable; } - $$sum19 = (($8) + -4)|0; - $111 = (($mem) + ($$sum19)|0); - $112 = HEAP32[$111>>2]|0; - $113 = $112 & 1; - $114 = ($113|0)==(0); - if ($114) { + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { _abort(); // unreachable; } - $115 = $112 & 2; - $116 = ($115|0)==(0); - if ($116) { - $117 = HEAP32[(9052)>>2]|0; - $118 = ($9|0)==($117|0); - if ($118) { - $119 = HEAP32[(9040)>>2]|0; - $120 = (($119) + ($psize$0))|0; - HEAP32[(9040)>>2] = $120; - HEAP32[(9052)>>2] = $p$0; - $121 = $120 | 1; - $122 = ((($p$0)) + 4|0); - HEAP32[$122>>2] = $121; - $123 = HEAP32[(9048)>>2]|0; - $124 = ($p$0|0)==($123|0); - if (!($124)) { + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(55280)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(55276)>>2]|0; + if ($121) { + $123 = HEAP32[(55268)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(55268)>>2] = $124; + HEAP32[(55280)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { return; } - HEAP32[(9048)>>2] = 0; - HEAP32[(9036)>>2] = 0; + HEAP32[(55276)>>2] = 0; + HEAP32[(55264)>>2] = 0; return; } - $125 = HEAP32[(9048)>>2]|0; - $126 = ($9|0)==($125|0); - if ($126) { - $127 = HEAP32[(9036)>>2]|0; - $128 = (($127) + ($psize$0))|0; - HEAP32[(9036)>>2] = $128; - HEAP32[(9048)>>2] = $p$0; - $129 = $128 | 1; - $130 = ((($p$0)) + 4|0); - HEAP32[$130>>2] = $129; - $131 = (($p$0) + ($128)|0); - HEAP32[$131>>2] = $128; + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(55264)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(55264)>>2] = $130; + HEAP32[(55276)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; return; } - $132 = $112 & -8; - $133 = (($132) + ($psize$0))|0; - $134 = $112 >>> 3; - $135 = ($112>>>0)<(256); - do { - if ($135) { - $136 = (($mem) + ($8)|0); - $137 = HEAP32[$136>>2]|0; - $$sum1718 = $8 | 4; - $138 = (($mem) + ($$sum1718)|0); + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); $139 = HEAP32[$138>>2]|0; - $140 = $134 << 1; - $141 = (9068 + ($140<<2)|0); - $142 = ($137|0)==($141|0); - if (!($142)) { - $143 = HEAP32[(9044)>>2]|0; - $144 = ($137>>>0)<($143>>>0); - if ($144) { + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (55296 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(55272)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { _abort(); // unreachable; } - $145 = ((($137)) + 12|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==($9|0); - if (!($147)) { + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { _abort(); // unreachable; } } - $148 = ($139|0)==($137|0); - if ($148) { - $149 = 1 << $134; - $150 = $149 ^ -1; - $151 = HEAP32[9028>>2]|0; - $152 = $151 & $150; - HEAP32[9028>>2] = $152; + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[13814]|0; + $154 = $153 & $152; + HEAP32[13814] = $154; break; } - $153 = ($139|0)==($141|0); - if ($153) { - $$pre58 = ((($139)) + 8|0); - $$pre$phi59Z2D = $$pre58; + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; } else { - $154 = HEAP32[(9044)>>2]|0; - $155 = ($139>>>0)<($154>>>0); - if ($155) { + $156 = HEAP32[(55272)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { _abort(); // unreachable; } - $156 = ((($139)) + 8|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($9|0); - if ($158) { - $$pre$phi59Z2D = $156; + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; } else { _abort(); // unreachable; } } - $159 = ((($137)) + 12|0); - HEAP32[$159>>2] = $139; - HEAP32[$$pre$phi59Z2D>>2] = $137; + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; } else { - $$sum5 = (($8) + 16)|0; - $160 = (($mem) + ($$sum5)|0); - $161 = HEAP32[$160>>2]|0; - $$sum67 = $8 | 4; - $162 = (($mem) + ($$sum67)|0); + $162 = ((($10)) + 24|0); $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($9|0); + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); do { - if ($164) { - $$sum9 = (($8) + 12)|0; - $175 = (($mem) + ($$sum9)|0); - $176 = HEAP32[$175>>2]|0; - $177 = ($176|0)==(0|0); - if ($177) { - $$sum8 = (($8) + 8)|0; - $178 = (($mem) + ($$sum8)|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $R7$1 = 0; + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; break; } else { - $R7$0 = $179;$RP9$0 = $178; + $$1398 = $181;$$1402 = $177; } } else { - $R7$0 = $176;$RP9$0 = $175; + $$1398 = $179;$$1402 = $178; } while(1) { - $181 = ((($R7$0)) + 20|0); - $182 = HEAP32[$181>>2]|0; - $183 = ($182|0)==(0|0); - if (!($183)) { - $R7$0 = $182;$RP9$0 = $181; + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; continue; } - $184 = ((($R7$0)) + 16|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)==(0|0); - if ($186) { - $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { break; } else { - $R7$0 = $185;$RP9$0 = $184; + $$1398 = $187;$$1402 = $186; } } - $187 = HEAP32[(9044)>>2]|0; - $188 = ($RP9$0$lcssa>>>0)<($187>>>0); - if ($188) { + $189 = HEAP32[(55272)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { _abort(); // unreachable; } else { - HEAP32[$RP9$0$lcssa>>2] = 0; - $R7$1 = $R7$0$lcssa; + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; break; } } else { - $165 = (($mem) + ($8)|0); - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[(9044)>>2]|0; - $168 = ($166>>>0)<($167>>>0); - if ($168) { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(55272)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { _abort(); // unreachable; } - $169 = ((($166)) + 12|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==($9|0); - if (!($171)) { + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { _abort(); // unreachable; } - $172 = ((($163)) + 8|0); - $173 = HEAP32[$172>>2]|0; - $174 = ($173|0)==($9|0); - if ($174) { - HEAP32[$169>>2] = $163; - HEAP32[$172>>2] = $166; - $R7$1 = $163; + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; break; } else { _abort(); @@ -279307,704 +333933,682 @@ function _free($mem) { } } } while(0); - $189 = ($161|0)==(0|0); - if (!($189)) { - $$sum12 = (($8) + 20)|0; - $190 = (($mem) + ($$sum12)|0); - $191 = HEAP32[$190>>2]|0; - $192 = (9332 + ($191<<2)|0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = ($9|0)==($193|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; - $cond47 = ($R7$1|0)==(0|0); - if ($cond47) { - $195 = 1 << $191; - $196 = $195 ^ -1; - $197 = HEAP32[(9032)>>2]|0; - $198 = $197 & $196; - HEAP32[(9032)>>2] = $198; - break; - } - } else { - $199 = HEAP32[(9044)>>2]|0; - $200 = ($161>>>0)<($199>>>0); - if ($200) { - _abort(); - // unreachable; - } - $201 = ((($161)) + 16|0); - $202 = HEAP32[$201>>2]|0; - $203 = ($202|0)==($9|0); - if ($203) { - HEAP32[$201>>2] = $R7$1; + $194 = (55560 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(55260)>>2]|0; + $200 = $199 & $198; + HEAP32[(55260)>>2] = $200; + break L108; + } } else { - $204 = ((($161)) + 20|0); - HEAP32[$204>>2] = $R7$1; - } - $205 = ($R7$1|0)==(0|0); - if ($205) { - break; + $201 = HEAP32[(55272)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } } - } - $206 = HEAP32[(9044)>>2]|0; - $207 = ($R7$1>>>0)<($206>>>0); - if ($207) { + } while(0); + $207 = HEAP32[(55272)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { _abort(); // unreachable; } - $208 = ((($R7$1)) + 24|0); - HEAP32[$208>>2] = $161; - $$sum13 = (($8) + 8)|0; - $209 = (($mem) + ($$sum13)|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); do { - if (!($211)) { - $212 = ($210>>>0)<($206>>>0); - if ($212) { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { _abort(); // unreachable; } else { - $213 = ((($R7$1)) + 16|0); - HEAP32[$213>>2] = $210; - $214 = ((($210)) + 24|0); - HEAP32[$214>>2] = $R7$1; + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; break; } } } while(0); - $$sum14 = (($8) + 12)|0; - $215 = (($mem) + ($$sum14)|0); - $216 = HEAP32[$215>>2]|0; - $217 = ($216|0)==(0|0); - if (!($217)) { - $218 = HEAP32[(9044)>>2]|0; - $219 = ($216>>>0)<($218>>>0); - if ($219) { + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(55272)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { _abort(); // unreachable; } else { - $220 = ((($R7$1)) + 20|0); - HEAP32[$220>>2] = $216; - $221 = ((($216)) + 24|0); - HEAP32[$221>>2] = $R7$1; + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; break; } } } } } while(0); - $222 = $133 | 1; - $223 = ((($p$0)) + 4|0); - HEAP32[$223>>2] = $222; - $224 = (($p$0) + ($133)|0); - HEAP32[$224>>2] = $133; - $225 = HEAP32[(9048)>>2]|0; - $226 = ($p$0|0)==($225|0); - if ($226) { - HEAP32[(9036)>>2] = $133; + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(55276)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(55264)>>2] = $135; return; } else { - $psize$1 = $133; + $$2 = $135; } } else { - $227 = $112 & -2; - HEAP32[$111>>2] = $227; - $228 = $psize$0 | 1; - $229 = ((($p$0)) + 4|0); - HEAP32[$229>>2] = $228; - $230 = (($p$0) + ($psize$0)|0); - HEAP32[$230>>2] = $psize$0; - $psize$1 = $psize$0; - } - $231 = $psize$1 >>> 3; - $232 = ($psize$1>>>0)<(256); - if ($232) { - $233 = $231 << 1; - $234 = (9068 + ($233<<2)|0); - $235 = HEAP32[9028>>2]|0; - $236 = 1 << $231; - $237 = $235 & $236; - $238 = ($237|0)==(0); - if ($238) { - $239 = $235 | $236; - HEAP32[9028>>2] = $239; - $$pre = (($233) + 2)|0; - $$pre57 = (9068 + ($$pre<<2)|0); - $$pre$phiZ2D = $$pre57;$F16$0 = $234; + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (55296 + ($234<<2)|0); + $236 = HEAP32[13814]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[13814] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; } else { - $$sum11 = (($233) + 2)|0; - $240 = (9068 + ($$sum11<<2)|0); - $241 = HEAP32[$240>>2]|0; - $242 = HEAP32[(9044)>>2]|0; - $243 = ($241>>>0)<($242>>>0); - if ($243) { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(55272)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { _abort(); // unreachable; } else { - $$pre$phiZ2D = $240;$F16$0 = $241; + $$0403 = $242;$$pre$phiZ2D = $241; } } - HEAP32[$$pre$phiZ2D>>2] = $p$0; - $244 = ((($F16$0)) + 12|0); - HEAP32[$244>>2] = $p$0; - $245 = ((($p$0)) + 8|0); - HEAP32[$245>>2] = $F16$0; - $246 = ((($p$0)) + 12|0); - HEAP32[$246>>2] = $234; + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; return; } - $247 = $psize$1 >>> 8; - $248 = ($247|0)==(0); - if ($248) { - $I18$0 = 0; + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; } else { - $249 = ($psize$1>>>0)>(16777215); - if ($249) { - $I18$0 = 31; + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; } else { - $250 = (($247) + 1048320)|0; - $251 = $250 >>> 16; - $252 = $251 & 8; - $253 = $247 << $252; - $254 = (($253) + 520192)|0; - $255 = $254 >>> 16; - $256 = $255 & 4; - $257 = $256 | $252; - $258 = $253 << $256; - $259 = (($258) + 245760)|0; - $260 = $259 >>> 16; - $261 = $260 & 2; - $262 = $257 | $261; - $263 = (14 - ($262))|0; - $264 = $258 << $261; - $265 = $264 >>> 15; - $266 = (($263) + ($265))|0; - $267 = $266 << 1; - $268 = (($266) + 7)|0; - $269 = $psize$1 >>> $268; - $270 = $269 & 1; - $271 = $270 | $267; - $I18$0 = $271; - } - } - $272 = (9332 + ($I18$0<<2)|0); - $273 = ((($p$0)) + 28|0); - HEAP32[$273>>2] = $I18$0; - $274 = ((($p$0)) + 16|0); - $275 = ((($p$0)) + 20|0); + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (55560 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - HEAP32[$274>>2] = 0; - $276 = HEAP32[(9032)>>2]|0; - $277 = 1 << $I18$0; - $278 = $276 & $277; - $279 = ($278|0)==(0); - L199: do { - if ($279) { - $280 = $276 | $277; - HEAP32[(9032)>>2] = $280; - HEAP32[$272>>2] = $p$0; - $281 = ((($p$0)) + 24|0); - HEAP32[$281>>2] = $272; - $282 = ((($p$0)) + 12|0); - HEAP32[$282>>2] = $p$0; - $283 = ((($p$0)) + 8|0); - HEAP32[$283>>2] = $p$0; + $277 = HEAP32[(55260)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(55260)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; } else { - $284 = HEAP32[$272>>2]|0; - $285 = ((($284)) + 4|0); - $286 = HEAP32[$285>>2]|0; - $287 = $286 & -8; - $288 = ($287|0)==($psize$1|0); - L202: do { - if ($288) { - $T$0$lcssa = $284; + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; } else { - $289 = ($I18$0|0)==(31); - $290 = $I18$0 >>> 1; - $291 = (25 - ($290))|0; - $292 = $289 ? 0 : $291; - $293 = $psize$1 << $292; - $K19$052 = $293;$T$051 = $284; - while(1) { - $300 = $K19$052 >>> 31; - $301 = (((($T$051)) + 16|0) + ($300<<2)|0); - $296 = HEAP32[$301>>2]|0; - $302 = ($296|0)==(0|0); - if ($302) { - $$lcssa = $301;$T$051$lcssa = $T$051; - break; - } - $294 = $K19$052 << 1; - $295 = ((($296)) + 4|0); - $297 = HEAP32[$295>>2]|0; - $298 = $297 & -8; - $299 = ($298|0)==($psize$1|0); - if ($299) { - $T$0$lcssa = $296; - break L202; - } else { - $K19$052 = $294;$T$051 = $296; - } - } - $303 = HEAP32[(9044)>>2]|0; - $304 = ($$lcssa>>>0)<($303>>>0); - if ($304) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa>>2] = $p$0; - $305 = ((($p$0)) + 24|0); - HEAP32[$305>>2] = $T$051$lcssa; - $306 = ((($p$0)) + 12|0); - HEAP32[$306>>2] = $p$0; - $307 = ((($p$0)) + 8|0); - HEAP32[$307>>2] = $p$0; - break L199; - } + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(55272)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(55272)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; } - } while(0); - $308 = ((($T$0$lcssa)) + 8|0); - $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[(9044)>>2]|0; - $311 = ($309>>>0)>=($310>>>0); - $not$ = ($T$0$lcssa>>>0)>=($310>>>0); - $312 = $311 & $not$; - if ($312) { - $313 = ((($309)) + 12|0); - HEAP32[$313>>2] = $p$0; - HEAP32[$308>>2] = $p$0; - $314 = ((($p$0)) + 8|0); - HEAP32[$314>>2] = $309; - $315 = ((($p$0)) + 12|0); - HEAP32[$315>>2] = $T$0$lcssa; - $316 = ((($p$0)) + 24|0); - HEAP32[$316>>2] = 0; - break; - } else { - _abort(); - // unreachable; } } } while(0); - $317 = HEAP32[(9060)>>2]|0; - $318 = (($317) + -1)|0; - HEAP32[(9060)>>2] = $318; - $319 = ($318|0)==(0); - if ($319) { - $sp$0$in$i = (9484); + $314 = HEAP32[(55288)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(55288)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (55712); } else { return; } while(1) { - $sp$0$i = HEAP32[$sp$0$in$i>>2]|0; - $320 = ($sp$0$i|0)==(0|0); - $321 = ((($sp$0$i)) + 8|0); - if ($320) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { break; } else { - $sp$0$in$i = $321; + $$0212$in$i = $318; } } - HEAP32[(9060)>>2] = -1; + HEAP32[(55288)>>2] = -1; return; } -function _calloc($n_elements,$elem_size) { - $n_elements = $n_elements|0; - $elem_size = $elem_size|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $req$0 = 0, label = 0, sp = 0; +function _calloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($n_elements|0)==(0); - if ($0) { - $req$0 = 0; + $2 = ($0|0)==(0); + if ($2) { + $$0 = 0; } else { - $1 = Math_imul($elem_size, $n_elements)|0; - $2 = $elem_size | $n_elements; - $3 = ($2>>>0)>(65535); - if ($3) { - $4 = (($1>>>0) / ($n_elements>>>0))&-1; - $5 = ($4|0)==($elem_size|0); - $$ = $5 ? $1 : -1; - $req$0 = $$; + $3 = Math_imul($1, $0)|0; + $4 = $1 | $0; + $5 = ($4>>>0)>(65535); + if ($5) { + $6 = (($3>>>0) / ($0>>>0))&-1; + $7 = ($6|0)==($1|0); + $$ = $7 ? $3 : -1; + $$0 = $$; } else { - $req$0 = $1; + $$0 = $3; } } - $6 = (_malloc($req$0)|0); - $7 = ($6|0)==(0|0); - if ($7) { - return ($6|0); + $8 = (_malloc($$0)|0); + $9 = ($8|0)==(0|0); + if ($9) { + return ($8|0); } - $8 = ((($6)) + -4|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9 & 3; - $11 = ($10|0)==(0); - if ($11) { - return ($6|0); + $10 = ((($8)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(0); + if ($13) { + return ($8|0); } - _memset(($6|0),0,($req$0|0))|0; - return ($6|0); + _memset(($8|0),0,($$0|0))|0; + return ($8|0); } -function _realloc($oldmem,$bytes) { - $oldmem = $oldmem|0; - $bytes = $bytes|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $mem$0 = 0, label = 0, sp = 0; +function _realloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($oldmem|0)==(0|0); - if ($0) { - $1 = (_malloc($bytes)|0); - $mem$0 = $1; - return ($mem$0|0); - } - $2 = ($bytes>>>0)>(4294967231); + $2 = ($0|0)==(0|0); if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 12; - $mem$0 = 0; - return ($mem$0|0); - } - $4 = ($bytes>>>0)<(11); - $5 = (($bytes) + 11)|0; - $6 = $5 & -8; - $7 = $4 ? 16 : $6; - $8 = ((($oldmem)) + -8|0); - $9 = (_try_realloc_chunk($8,$7)|0); - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = ((($9)) + 8|0); - $mem$0 = $11; - return ($mem$0|0); + $3 = (_malloc($1)|0); + $$1 = $3; + return ($$1|0); } - $12 = (_malloc($bytes)|0); - $13 = ($12|0)==(0|0); - if ($13) { - $mem$0 = 0; - return ($mem$0|0); + $4 = ($1>>>0)>(4294967231); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 12; + $$1 = 0; + return ($$1|0); } - $14 = ((($oldmem)) + -4|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15 & -8; - $17 = $15 & 3; - $18 = ($17|0)==(0); - $19 = $18 ? 8 : 4; - $20 = (($16) - ($19))|0; - $21 = ($20>>>0)<($bytes>>>0); - $22 = $21 ? $20 : $bytes; - _memcpy(($12|0),($oldmem|0),($22|0))|0; - _free($oldmem); - $mem$0 = $12; - return ($mem$0|0); -} -function _try_realloc_chunk($p,$nb) { - $p = $p|0; - $nb = $nb|0; - var $$pre = 0, $$pre$phiZ2D = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum2728 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum78 = 0; - var $$sum910 = 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, $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $cond = 0, $newp$0 = 0, $notlhs = 0; - var $notrhs = 0, $or$cond$not = 0, $or$cond30 = 0, $storemerge = 0, $storemerge21 = 0, label = 0, sp = 0; + $6 = ($1>>>0)<(11); + $7 = (($1) + 11)|0; + $8 = $7 & -8; + $9 = $6 ? 16 : $8; + $10 = ((($0)) + -8|0); + $11 = (_try_realloc_chunk($10,$9)|0); + $12 = ($11|0)==(0|0); + if (!($12)) { + $13 = ((($11)) + 8|0); + $$1 = $13; + return ($$1|0); + } + $14 = (_malloc($1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = ((($0)) + -4|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & -8; + $19 = $17 & 3; + $20 = ($19|0)==(0); + $21 = $20 ? 8 : 4; + $22 = (($18) - ($21))|0; + $23 = ($22>>>0)<($1>>>0); + $24 = $23 ? $22 : $1; + _memcpy(($14|0),($0|0),($24|0))|0; + _free($0); + $$1 = $14; + return ($$1|0); +} +function _try_realloc_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $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 $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($p)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = $1 & -8; - $3 = (($p) + ($2)|0); - $4 = HEAP32[(9044)>>2]|0; - $5 = $1 & 3; - $notlhs = ($p>>>0)>=($4>>>0); - $notrhs = ($5|0)!=(1); + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & -8; + $5 = (($0) + ($4)|0); + $6 = HEAP32[(55272)>>2]|0; + $7 = $3 & 3; + $notlhs = ($0>>>0)>=($6>>>0); + $notrhs = ($7|0)!=(1); $or$cond$not = $notrhs & $notlhs; - $6 = ($p>>>0)<($3>>>0); - $or$cond30 = $or$cond$not & $6; - if (!($or$cond30)) { + $8 = ($0>>>0)<($5>>>0); + $or$cond3 = $or$cond$not & $8; + if (!($or$cond3)) { _abort(); // unreachable; } - $$sum2728 = $2 | 4; - $7 = (($p) + ($$sum2728)|0); - $8 = HEAP32[$7>>2]|0; - $9 = $8 & 1; - $10 = ($9|0)==(0); - if ($10) { + $9 = ((($5)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 & 1; + $12 = ($11|0)==(0); + if ($12) { _abort(); // unreachable; } - $11 = ($5|0)==(0); - if ($11) { - $12 = ($nb>>>0)<(256); - if ($12) { - $newp$0 = 0; - return ($newp$0|0); + $13 = ($7|0)==(0); + if ($13) { + $14 = ($1>>>0)<(256); + if ($14) { + $$2 = 0; + return ($$2|0); } - $13 = (($nb) + 4)|0; - $14 = ($2>>>0)<($13>>>0); - if (!($14)) { - $15 = (($2) - ($nb))|0; - $16 = HEAP32[(9508)>>2]|0; - $17 = $16 << 1; - $18 = ($15>>>0)>($17>>>0); - if (!($18)) { - $newp$0 = $p; - return ($newp$0|0); + $15 = (($1) + 4)|0; + $16 = ($4>>>0)<($15>>>0); + if (!($16)) { + $17 = (($4) - ($1))|0; + $18 = HEAP32[(55736)>>2]|0; + $19 = $18 << 1; + $20 = ($17>>>0)>($19>>>0); + if (!($20)) { + $$2 = $0; + return ($$2|0); } } - $newp$0 = 0; - return ($newp$0|0); + $$2 = 0; + return ($$2|0); } - $19 = ($2>>>0)<($nb>>>0); - if (!($19)) { - $20 = (($2) - ($nb))|0; - $21 = ($20>>>0)>(15); - if (!($21)) { - $newp$0 = $p; - return ($newp$0|0); - } - $22 = (($p) + ($nb)|0); - $23 = $1 & 1; - $24 = $23 | $nb; - $25 = $24 | 2; - HEAP32[$0>>2] = $25; - $$sum23 = (($nb) + 4)|0; - $26 = (($p) + ($$sum23)|0); - $27 = $20 | 3; - HEAP32[$26>>2] = $27; - $28 = HEAP32[$7>>2]|0; - $29 = $28 | 1; - HEAP32[$7>>2] = $29; - _dispose_chunk($22,$20); - $newp$0 = $p; - return ($newp$0|0); + $21 = ($4>>>0)<($1>>>0); + if (!($21)) { + $22 = (($4) - ($1))|0; + $23 = ($22>>>0)>(15); + if (!($23)) { + $$2 = $0; + return ($$2|0); + } + $24 = (($0) + ($1)|0); + $25 = $3 & 1; + $26 = $25 | $1; + $27 = $26 | 2; + HEAP32[$2>>2] = $27; + $28 = ((($24)) + 4|0); + $29 = $22 | 3; + HEAP32[$28>>2] = $29; + $30 = (($24) + ($22)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 | 1; + HEAP32[$31>>2] = $33; + _dispose_chunk($24,$22); + $$2 = $0; + return ($$2|0); } - $30 = HEAP32[(9052)>>2]|0; - $31 = ($3|0)==($30|0); - if ($31) { - $32 = HEAP32[(9040)>>2]|0; - $33 = (($32) + ($2))|0; - $34 = ($33>>>0)>($nb>>>0); - if (!($34)) { - $newp$0 = 0; - return ($newp$0|0); - } - $35 = (($33) - ($nb))|0; - $36 = (($p) + ($nb)|0); - $37 = $1 & 1; - $38 = $37 | $nb; - $39 = $38 | 2; - HEAP32[$0>>2] = $39; - $$sum22 = (($nb) + 4)|0; - $40 = (($p) + ($$sum22)|0); - $41 = $35 | 1; - HEAP32[$40>>2] = $41; - HEAP32[(9052)>>2] = $36; - HEAP32[(9040)>>2] = $35; - $newp$0 = $p; - return ($newp$0|0); - } - $42 = HEAP32[(9048)>>2]|0; - $43 = ($3|0)==($42|0); - if ($43) { - $44 = HEAP32[(9036)>>2]|0; - $45 = (($44) + ($2))|0; - $46 = ($45>>>0)<($nb>>>0); - if ($46) { - $newp$0 = 0; - return ($newp$0|0); + $34 = HEAP32[(55280)>>2]|0; + $35 = ($5|0)==($34|0); + if ($35) { + $36 = HEAP32[(55268)>>2]|0; + $37 = (($36) + ($4))|0; + $38 = ($37>>>0)>($1>>>0); + $39 = (($37) - ($1))|0; + $40 = (($0) + ($1)|0); + if (!($38)) { + $$2 = 0; + return ($$2|0); + } + $41 = $39 | 1; + $42 = ((($40)) + 4|0); + $43 = $3 & 1; + $44 = $43 | $1; + $45 = $44 | 2; + HEAP32[$2>>2] = $45; + HEAP32[$42>>2] = $41; + HEAP32[(55280)>>2] = $40; + HEAP32[(55268)>>2] = $39; + $$2 = $0; + return ($$2|0); + } + $46 = HEAP32[(55276)>>2]|0; + $47 = ($5|0)==($46|0); + if ($47) { + $48 = HEAP32[(55264)>>2]|0; + $49 = (($48) + ($4))|0; + $50 = ($49>>>0)<($1>>>0); + if ($50) { + $$2 = 0; + return ($$2|0); } - $47 = (($45) - ($nb))|0; - $48 = ($47>>>0)>(15); - if ($48) { - $49 = (($p) + ($nb)|0); - $50 = (($p) + ($45)|0); - $51 = $1 & 1; - $52 = $51 | $nb; - $53 = $52 | 2; - HEAP32[$0>>2] = $53; - $$sum19 = (($nb) + 4)|0; - $54 = (($p) + ($$sum19)|0); - $55 = $47 | 1; - HEAP32[$54>>2] = $55; - HEAP32[$50>>2] = $47; - $$sum20 = (($45) + 4)|0; - $56 = (($p) + ($$sum20)|0); - $57 = HEAP32[$56>>2]|0; - $58 = $57 & -2; - HEAP32[$56>>2] = $58; - $storemerge = $49;$storemerge21 = $47; + $51 = (($49) - ($1))|0; + $52 = ($51>>>0)>(15); + $53 = $3 & 1; + if ($52) { + $54 = (($0) + ($1)|0); + $55 = (($54) + ($51)|0); + $56 = $53 | $1; + $57 = $56 | 2; + HEAP32[$2>>2] = $57; + $58 = ((($54)) + 4|0); + $59 = $51 | 1; + HEAP32[$58>>2] = $59; + HEAP32[$55>>2] = $51; + $60 = ((($55)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61 & -2; + HEAP32[$60>>2] = $62; + $storemerge = $54;$storemerge1 = $51; } else { - $59 = $1 & 1; - $60 = $59 | $45; - $61 = $60 | 2; - HEAP32[$0>>2] = $61; - $$sum17 = (($45) + 4)|0; - $62 = (($p) + ($$sum17)|0); - $63 = HEAP32[$62>>2]|0; - $64 = $63 | 1; - HEAP32[$62>>2] = $64; - $storemerge = 0;$storemerge21 = 0; + $63 = $53 | $49; + $64 = $63 | 2; + HEAP32[$2>>2] = $64; + $65 = (($0) + ($49)|0); + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = $67 | 1; + HEAP32[$66>>2] = $68; + $storemerge = 0;$storemerge1 = 0; } - HEAP32[(9036)>>2] = $storemerge21; - HEAP32[(9048)>>2] = $storemerge; - $newp$0 = $p; - return ($newp$0|0); + HEAP32[(55264)>>2] = $storemerge1; + HEAP32[(55276)>>2] = $storemerge; + $$2 = $0; + return ($$2|0); } - $65 = $8 & 2; - $66 = ($65|0)==(0); - if (!($66)) { - $newp$0 = 0; - return ($newp$0|0); + $69 = $10 & 2; + $70 = ($69|0)==(0); + if (!($70)) { + $$2 = 0; + return ($$2|0); } - $67 = $8 & -8; - $68 = (($67) + ($2))|0; - $69 = ($68>>>0)<($nb>>>0); - if ($69) { - $newp$0 = 0; - return ($newp$0|0); + $71 = $10 & -8; + $72 = (($71) + ($4))|0; + $73 = ($72>>>0)<($1>>>0); + if ($73) { + $$2 = 0; + return ($$2|0); } - $70 = (($68) - ($nb))|0; - $71 = $8 >>> 3; - $72 = ($8>>>0)<(256); - do { - if ($72) { - $$sum15 = (($2) + 8)|0; - $73 = (($p) + ($$sum15)|0); - $74 = HEAP32[$73>>2]|0; - $$sum16 = (($2) + 12)|0; - $75 = (($p) + ($$sum16)|0); - $76 = HEAP32[$75>>2]|0; - $77 = $71 << 1; - $78 = (9068 + ($77<<2)|0); - $79 = ($74|0)==($78|0); - if (!($79)) { - $80 = ($74>>>0)<($4>>>0); - if ($80) { + $74 = (($72) - ($1))|0; + $75 = $10 >>> 3; + $76 = ($10>>>0)<(256); + L49: do { + if ($76) { + $77 = ((($5)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($5)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = $75 << 1; + $82 = (55296 + ($81<<2)|0); + $83 = ($78|0)==($82|0); + if (!($83)) { + $84 = ($78>>>0)<($6>>>0); + if ($84) { _abort(); // unreachable; } - $81 = ((($74)) + 12|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)==($3|0); - if (!($83)) { + $85 = ((($78)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)==($5|0); + if (!($87)) { _abort(); // unreachable; } } - $84 = ($76|0)==($74|0); - if ($84) { - $85 = 1 << $71; - $86 = $85 ^ -1; - $87 = HEAP32[9028>>2]|0; - $88 = $87 & $86; - HEAP32[9028>>2] = $88; + $88 = ($80|0)==($78|0); + if ($88) { + $89 = 1 << $75; + $90 = $89 ^ -1; + $91 = HEAP32[13814]|0; + $92 = $91 & $90; + HEAP32[13814] = $92; break; } - $89 = ($76|0)==($78|0); - if ($89) { - $$pre = ((($76)) + 8|0); + $93 = ($80|0)==($82|0); + if ($93) { + $$pre = ((($80)) + 8|0); $$pre$phiZ2D = $$pre; } else { - $90 = ($76>>>0)<($4>>>0); - if ($90) { + $94 = ($80>>>0)<($6>>>0); + if ($94) { _abort(); // unreachable; } - $91 = ((($76)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==($3|0); - if ($93) { - $$pre$phiZ2D = $91; + $95 = ((($80)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)==($5|0); + if ($97) { + $$pre$phiZ2D = $95; } else { _abort(); // unreachable; } } - $94 = ((($74)) + 12|0); - HEAP32[$94>>2] = $76; - HEAP32[$$pre$phiZ2D>>2] = $74; + $98 = ((($78)) + 12|0); + HEAP32[$98>>2] = $80; + HEAP32[$$pre$phiZ2D>>2] = $78; } else { - $$sum = (($2) + 24)|0; - $95 = (($p) + ($$sum)|0); - $96 = HEAP32[$95>>2]|0; - $$sum2 = (($2) + 12)|0; - $97 = (($p) + ($$sum2)|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==($3|0); + $99 = ((($5)) + 24|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($5)) + 12|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)==($5|0); do { - if ($99) { - $$sum4 = (($2) + 20)|0; - $109 = (($p) + ($$sum4)|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - if ($111) { - $$sum3 = (($2) + 16)|0; - $112 = (($p) + ($$sum3)|0); - $113 = HEAP32[$112>>2]|0; - $114 = ($113|0)==(0|0); - if ($114) { - $R$1 = 0; + if ($103) { + $113 = ((($5)) + 16|0); + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + $117 = HEAP32[$113>>2]|0; + $118 = ($117|0)==(0|0); + if ($118) { + $$3 = 0; break; } else { - $R$0 = $113;$RP$0 = $112; + $$1272 = $117;$$1275 = $113; } } else { - $R$0 = $110;$RP$0 = $109; + $$1272 = $115;$$1275 = $114; } while(1) { - $115 = ((($R$0)) + 20|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($116|0)==(0|0); - if (!($117)) { - $R$0 = $116;$RP$0 = $115; + $119 = ((($$1272)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + $$1272 = $120;$$1275 = $119; continue; } - $118 = ((($R$0)) + 16|0); - $119 = HEAP32[$118>>2]|0; - $120 = ($119|0)==(0|0); - if ($120) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; + $122 = ((($$1272)) + 16|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { break; } else { - $R$0 = $119;$RP$0 = $118; + $$1272 = $123;$$1275 = $122; } } - $121 = ($RP$0$lcssa>>>0)<($4>>>0); - if ($121) { + $125 = ($$1275>>>0)<($6>>>0); + if ($125) { _abort(); // unreachable; } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; + HEAP32[$$1275>>2] = 0; + $$3 = $$1272; break; } } else { - $$sum14 = (($2) + 8)|0; - $100 = (($p) + ($$sum14)|0); - $101 = HEAP32[$100>>2]|0; - $102 = ($101>>>0)<($4>>>0); - if ($102) { + $104 = ((($5)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105>>>0)<($6>>>0); + if ($106) { _abort(); // unreachable; } - $103 = ((($101)) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==($3|0); - if (!($105)) { + $107 = ((($105)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==($5|0); + if (!($109)) { _abort(); // unreachable; } - $106 = ((($98)) + 8|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)==($3|0); - if ($108) { - HEAP32[$103>>2] = $98; - HEAP32[$106>>2] = $101; - $R$1 = $98; + $110 = ((($102)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)==($5|0); + if ($112) { + HEAP32[$107>>2] = $102; + HEAP32[$110>>2] = $105; + $$3 = $102; break; } else { _abort(); @@ -280012,334 +334616,320 @@ function _try_realloc_chunk($p,$nb) { } } } while(0); - $122 = ($96|0)==(0|0); - if (!($122)) { - $$sum11 = (($2) + 28)|0; - $123 = (($p) + ($$sum11)|0); - $124 = HEAP32[$123>>2]|0; - $125 = (9332 + ($124<<2)|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($3|0)==($126|0); - if ($127) { - HEAP32[$125>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $128 = 1 << $124; - $129 = $128 ^ -1; - $130 = HEAP32[(9032)>>2]|0; - $131 = $130 & $129; - HEAP32[(9032)>>2] = $131; - break; - } - } else { - $132 = HEAP32[(9044)>>2]|0; - $133 = ($96>>>0)<($132>>>0); - if ($133) { - _abort(); - // unreachable; - } - $134 = ((($96)) + 16|0); - $135 = HEAP32[$134>>2]|0; - $136 = ($135|0)==($3|0); - if ($136) { - HEAP32[$134>>2] = $R$1; + $126 = ($100|0)==(0|0); + if (!($126)) { + $127 = ((($5)) + 28|0); + $128 = HEAP32[$127>>2]|0; + $129 = (55560 + ($128<<2)|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($5|0)==($130|0); + do { + if ($131) { + HEAP32[$129>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $132 = 1 << $128; + $133 = $132 ^ -1; + $134 = HEAP32[(55260)>>2]|0; + $135 = $134 & $133; + HEAP32[(55260)>>2] = $135; + break L49; + } } else { - $137 = ((($96)) + 20|0); - HEAP32[$137>>2] = $R$1; - } - $138 = ($R$1|0)==(0|0); - if ($138) { - break; + $136 = HEAP32[(55272)>>2]|0; + $137 = ($100>>>0)<($136>>>0); + if ($137) { + _abort(); + // unreachable; + } else { + $138 = ((($100)) + 16|0); + $139 = HEAP32[$138>>2]|0; + $not$ = ($139|0)!=($5|0); + $$sink1 = $not$&1; + $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); + HEAP32[$140>>2] = $$3; + $141 = ($$3|0)==(0|0); + if ($141) { + break L49; + } else { + break; + } + } } - } - $139 = HEAP32[(9044)>>2]|0; - $140 = ($R$1>>>0)<($139>>>0); - if ($140) { + } while(0); + $142 = HEAP32[(55272)>>2]|0; + $143 = ($$3>>>0)<($142>>>0); + if ($143) { _abort(); // unreachable; } - $141 = ((($R$1)) + 24|0); - HEAP32[$141>>2] = $96; - $$sum12 = (($2) + 16)|0; - $142 = (($p) + ($$sum12)|0); - $143 = HEAP32[$142>>2]|0; - $144 = ($143|0)==(0|0); + $144 = ((($$3)) + 24|0); + HEAP32[$144>>2] = $100; + $145 = ((($5)) + 16|0); + $146 = HEAP32[$145>>2]|0; + $147 = ($146|0)==(0|0); do { - if (!($144)) { - $145 = ($143>>>0)<($139>>>0); - if ($145) { + if (!($147)) { + $148 = ($146>>>0)<($142>>>0); + if ($148) { _abort(); // unreachable; } else { - $146 = ((($R$1)) + 16|0); - HEAP32[$146>>2] = $143; - $147 = ((($143)) + 24|0); - HEAP32[$147>>2] = $R$1; + $149 = ((($$3)) + 16|0); + HEAP32[$149>>2] = $146; + $150 = ((($146)) + 24|0); + HEAP32[$150>>2] = $$3; break; } } } while(0); - $$sum13 = (($2) + 20)|0; - $148 = (($p) + ($$sum13)|0); - $149 = HEAP32[$148>>2]|0; - $150 = ($149|0)==(0|0); - if (!($150)) { - $151 = HEAP32[(9044)>>2]|0; - $152 = ($149>>>0)<($151>>>0); - if ($152) { + $151 = ((($145)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)==(0|0); + if (!($153)) { + $154 = HEAP32[(55272)>>2]|0; + $155 = ($152>>>0)<($154>>>0); + if ($155) { _abort(); // unreachable; } else { - $153 = ((($R$1)) + 20|0); - HEAP32[$153>>2] = $149; - $154 = ((($149)) + 24|0); - HEAP32[$154>>2] = $R$1; + $156 = ((($$3)) + 20|0); + HEAP32[$156>>2] = $152; + $157 = ((($152)) + 24|0); + HEAP32[$157>>2] = $$3; break; } } } } } while(0); - $155 = ($70>>>0)<(16); - if ($155) { - $156 = $1 & 1; - $157 = $68 | $156; - $158 = $157 | 2; - HEAP32[$0>>2] = $158; - $$sum910 = $68 | 4; - $159 = (($p) + ($$sum910)|0); - $160 = HEAP32[$159>>2]|0; - $161 = $160 | 1; - HEAP32[$159>>2] = $161; - $newp$0 = $p; - return ($newp$0|0); + $158 = ($74>>>0)<(16); + $159 = $3 & 1; + if ($158) { + $160 = $72 | $159; + $161 = $160 | 2; + HEAP32[$2>>2] = $161; + $162 = (($0) + ($72)|0); + $163 = ((($162)) + 4|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164 | 1; + HEAP32[$163>>2] = $165; + $$2 = $0; + return ($$2|0); } else { - $162 = (($p) + ($nb)|0); - $163 = $1 & 1; - $164 = $163 | $nb; - $165 = $164 | 2; - HEAP32[$0>>2] = $165; - $$sum5 = (($nb) + 4)|0; - $166 = (($p) + ($$sum5)|0); - $167 = $70 | 3; - HEAP32[$166>>2] = $167; - $$sum78 = $68 | 4; - $168 = (($p) + ($$sum78)|0); - $169 = HEAP32[$168>>2]|0; - $170 = $169 | 1; - HEAP32[$168>>2] = $170; - _dispose_chunk($162,$70); - $newp$0 = $p; - return ($newp$0|0); + $166 = (($0) + ($1)|0); + $167 = $159 | $1; + $168 = $167 | 2; + HEAP32[$2>>2] = $168; + $169 = ((($166)) + 4|0); + $170 = $74 | 3; + HEAP32[$169>>2] = $170; + $171 = (($166) + ($74)|0); + $172 = ((($171)) + 4|0); + $173 = HEAP32[$172>>2]|0; + $174 = $173 | 1; + HEAP32[$172>>2] = $174; + _dispose_chunk($166,$74); + $$2 = $0; + return ($$2|0); } return (0)|0; } -function _dispose_chunk($p,$psize) { - $p = $p|0; - $psize = $psize|0; - var $$0 = 0, $$02 = 0, $$1 = 0, $$lcssa = 0, $$pre = 0, $$pre$phi50Z2D = 0, $$pre$phi52Z2D = 0, $$pre$phiZ2D = 0, $$pre48 = 0, $$pre49 = 0, $$pre51 = 0, $$sum = 0, $$sum1 = 0, $$sum10 = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum16 = 0, $$sum17 = 0; - var $$sum18 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum7 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0; - var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; - var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; - var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; - var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; - var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; - var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; - var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0; - var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0; - var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0; - var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0; - var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; +function _dispose_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; + var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I19$0 = 0, $K20$043 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$042 = 0, $T$042$lcssa = 0, $cond = 0; - var $cond39 = 0, $not$ = 0, label = 0, sp = 0; + var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (($p) + ($psize)|0); - $1 = ((($p)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = $2 & 1; - $4 = ($3|0)==(0); - do { - if ($4) { - $5 = HEAP32[$p>>2]|0; - $6 = $2 & 3; - $7 = ($6|0)==(0); - if ($7) { + $2 = (($0) + ($1)|0); + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 & 1; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = HEAP32[$0>>2]|0; + $8 = $4 & 3; + $9 = ($8|0)==(0); + if ($9) { return; } - $8 = (0 - ($5))|0; - $9 = (($p) + ($8)|0); - $10 = (($5) + ($psize))|0; - $11 = HEAP32[(9044)>>2]|0; - $12 = ($9>>>0)<($11>>>0); - if ($12) { + $10 = (0 - ($7))|0; + $11 = (($0) + ($10)|0); + $12 = (($7) + ($1))|0; + $13 = HEAP32[(55272)>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { _abort(); // unreachable; } - $13 = HEAP32[(9048)>>2]|0; - $14 = ($9|0)==($13|0); - if ($14) { - $$sum = (($psize) + 4)|0; - $99 = (($p) + ($$sum)|0); - $100 = HEAP32[$99>>2]|0; - $101 = $100 & 3; - $102 = ($101|0)==(3); - if (!($102)) { - $$0 = $9;$$02 = $10; + $15 = HEAP32[(55276)>>2]|0; + $16 = ($11|0)==($15|0); + if ($16) { + $100 = ((($2)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 & 3; + $103 = ($102|0)==(3); + if (!($103)) { + $$1 = $11;$$1418 = $12; break; } - HEAP32[(9036)>>2] = $10; - $103 = $100 & -2; - HEAP32[$99>>2] = $103; - $104 = $10 | 1; - $$sum14 = (4 - ($5))|0; - $105 = (($p) + ($$sum14)|0); - HEAP32[$105>>2] = $104; - HEAP32[$0>>2] = $10; + $104 = (($11) + ($12)|0); + $105 = ((($11)) + 4|0); + $106 = $12 | 1; + $107 = $101 & -2; + HEAP32[(55264)>>2] = $12; + HEAP32[$100>>2] = $107; + HEAP32[$105>>2] = $106; + HEAP32[$104>>2] = $12; return; } - $15 = $5 >>> 3; - $16 = ($5>>>0)<(256); - if ($16) { - $$sum24 = (8 - ($5))|0; - $17 = (($p) + ($$sum24)|0); - $18 = HEAP32[$17>>2]|0; - $$sum25 = (12 - ($5))|0; - $19 = (($p) + ($$sum25)|0); + $17 = $7 >>> 3; + $18 = ($7>>>0)<(256); + if ($18) { + $19 = ((($11)) + 8|0); $20 = HEAP32[$19>>2]|0; - $21 = $15 << 1; - $22 = (9068 + ($21<<2)|0); - $23 = ($18|0)==($22|0); - if (!($23)) { - $24 = ($18>>>0)<($11>>>0); - if ($24) { + $21 = ((($11)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = $17 << 1; + $24 = (55296 + ($23<<2)|0); + $25 = ($20|0)==($24|0); + if (!($25)) { + $26 = ($20>>>0)<($13>>>0); + if ($26) { _abort(); // unreachable; } - $25 = ((($18)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($9|0); - if (!($27)) { + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($11|0); + if (!($29)) { _abort(); // unreachable; } } - $28 = ($20|0)==($18|0); - if ($28) { - $29 = 1 << $15; - $30 = $29 ^ -1; - $31 = HEAP32[9028>>2]|0; - $32 = $31 & $30; - HEAP32[9028>>2] = $32; - $$0 = $9;$$02 = $10; + $30 = ($22|0)==($20|0); + if ($30) { + $31 = 1 << $17; + $32 = $31 ^ -1; + $33 = HEAP32[13814]|0; + $34 = $33 & $32; + HEAP32[13814] = $34; + $$1 = $11;$$1418 = $12; break; } - $33 = ($20|0)==($22|0); - if ($33) { - $$pre51 = ((($20)) + 8|0); - $$pre$phi52Z2D = $$pre51; + $35 = ($22|0)==($24|0); + if ($35) { + $$pre25 = ((($22)) + 8|0); + $$pre$phi26Z2D = $$pre25; } else { - $34 = ($20>>>0)<($11>>>0); - if ($34) { + $36 = ($22>>>0)<($13>>>0); + if ($36) { _abort(); // unreachable; } - $35 = ((($20)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)==($9|0); - if ($37) { - $$pre$phi52Z2D = $35; + $37 = ((($22)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==($11|0); + if ($39) { + $$pre$phi26Z2D = $37; } else { _abort(); // unreachable; } } - $38 = ((($18)) + 12|0); - HEAP32[$38>>2] = $20; - HEAP32[$$pre$phi52Z2D>>2] = $18; - $$0 = $9;$$02 = $10; + $40 = ((($20)) + 12|0); + HEAP32[$40>>2] = $22; + HEAP32[$$pre$phi26Z2D>>2] = $20; + $$1 = $11;$$1418 = $12; break; } - $$sum16 = (24 - ($5))|0; - $39 = (($p) + ($$sum16)|0); - $40 = HEAP32[$39>>2]|0; - $$sum17 = (12 - ($5))|0; - $41 = (($p) + ($$sum17)|0); + $41 = ((($11)) + 24|0); $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($9|0); + $43 = ((($11)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==($11|0); do { - if ($43) { - $$sum18 = (16 - ($5))|0; - $$sum19 = (($$sum18) + 4)|0; - $53 = (($p) + ($$sum19)|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - $56 = (($p) + ($$sum18)|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $R$1 = 0; + if ($45) { + $55 = ((($11)) + 16|0); + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + $59 = HEAP32[$55>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + $$3 = 0; break; } else { - $R$0 = $57;$RP$0 = $56; + $$1426 = $59;$$1429 = $55; } } else { - $R$0 = $54;$RP$0 = $53; + $$1426 = $57;$$1429 = $56; } while(1) { - $59 = ((($R$0)) + 20|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)==(0|0); - if (!($61)) { - $R$0 = $60;$RP$0 = $59; + $61 = ((($$1426)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + if (!($63)) { + $$1426 = $62;$$1429 = $61; continue; } - $62 = ((($R$0)) + 16|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; + $64 = ((($$1426)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if ($66) { break; } else { - $R$0 = $63;$RP$0 = $62; + $$1426 = $65;$$1429 = $64; } } - $65 = ($RP$0$lcssa>>>0)<($11>>>0); - if ($65) { + $67 = ($$1429>>>0)<($13>>>0); + if ($67) { _abort(); // unreachable; } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; + HEAP32[$$1429>>2] = 0; + $$3 = $$1426; break; } } else { - $$sum23 = (8 - ($5))|0; - $44 = (($p) + ($$sum23)|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45>>>0)<($11>>>0); - if ($46) { + $46 = ((($11)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47>>>0)<($13>>>0); + if ($48) { _abort(); // unreachable; } - $47 = ((($45)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($9|0); - if (!($49)) { + $49 = ((($47)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==($11|0); + if (!($51)) { _abort(); // unreachable; } - $50 = ((($42)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)==($9|0); - if ($52) { - HEAP32[$47>>2] = $42; - HEAP32[$50>>2] = $45; - $R$1 = $42; + $52 = ((($44)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($11|0); + if ($54) { + HEAP32[$49>>2] = $44; + HEAP32[$52>>2] = $47; + $$3 = $44; break; } else { _abort(); @@ -280347,287 +334937,276 @@ function _dispose_chunk($p,$psize) { } } } while(0); - $66 = ($40|0)==(0|0); - if ($66) { - $$0 = $9;$$02 = $10; + $68 = ($42|0)==(0|0); + if ($68) { + $$1 = $11;$$1418 = $12; } else { - $$sum20 = (28 - ($5))|0; - $67 = (($p) + ($$sum20)|0); - $68 = HEAP32[$67>>2]|0; - $69 = (9332 + ($68<<2)|0); + $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = ($9|0)==($70|0); - if ($71) { - HEAP32[$69>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $72 = 1 << $68; - $73 = $72 ^ -1; - $74 = HEAP32[(9032)>>2]|0; - $75 = $74 & $73; - HEAP32[(9032)>>2] = $75; - $$0 = $9;$$02 = $10; - break; - } - } else { - $76 = HEAP32[(9044)>>2]|0; - $77 = ($40>>>0)<($76>>>0); - if ($77) { - _abort(); - // unreachable; - } - $78 = ((($40)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==($9|0); - if ($80) { - HEAP32[$78>>2] = $R$1; + $71 = (55560 + ($70<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($11|0)==($72|0); + do { + if ($73) { + HEAP32[$71>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $74 = 1 << $70; + $75 = $74 ^ -1; + $76 = HEAP32[(55260)>>2]|0; + $77 = $76 & $75; + HEAP32[(55260)>>2] = $77; + $$1 = $11;$$1418 = $12; + break L1; + } } else { - $81 = ((($40)) + 20|0); - HEAP32[$81>>2] = $R$1; - } - $82 = ($R$1|0)==(0|0); - if ($82) { - $$0 = $9;$$02 = $10; - break; + $78 = HEAP32[(55272)>>2]|0; + $79 = ($42>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } else { + $80 = ((($42)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $not$1 = ($81|0)!=($11|0); + $$sink2 = $not$1&1; + $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); + HEAP32[$82>>2] = $$3; + $83 = ($$3|0)==(0|0); + if ($83) { + $$1 = $11;$$1418 = $12; + break L1; + } else { + break; + } + } } - } - $83 = HEAP32[(9044)>>2]|0; - $84 = ($R$1>>>0)<($83>>>0); - if ($84) { + } while(0); + $84 = HEAP32[(55272)>>2]|0; + $85 = ($$3>>>0)<($84>>>0); + if ($85) { _abort(); // unreachable; } - $85 = ((($R$1)) + 24|0); - HEAP32[$85>>2] = $40; - $$sum21 = (16 - ($5))|0; - $86 = (($p) + ($$sum21)|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(0|0); + $86 = ((($$3)) + 24|0); + HEAP32[$86>>2] = $42; + $87 = ((($11)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)==(0|0); do { - if (!($88)) { - $89 = ($87>>>0)<($83>>>0); - if ($89) { + if (!($89)) { + $90 = ($88>>>0)<($84>>>0); + if ($90) { _abort(); // unreachable; } else { - $90 = ((($R$1)) + 16|0); - HEAP32[$90>>2] = $87; - $91 = ((($87)) + 24|0); - HEAP32[$91>>2] = $R$1; + $91 = ((($$3)) + 16|0); + HEAP32[$91>>2] = $88; + $92 = ((($88)) + 24|0); + HEAP32[$92>>2] = $$3; break; } } } while(0); - $$sum22 = (($$sum21) + 4)|0; - $92 = (($p) + ($$sum22)|0); - $93 = HEAP32[$92>>2]|0; - $94 = ($93|0)==(0|0); - if ($94) { - $$0 = $9;$$02 = $10; + $93 = ((($87)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0|0); + if ($95) { + $$1 = $11;$$1418 = $12; } else { - $95 = HEAP32[(9044)>>2]|0; - $96 = ($93>>>0)<($95>>>0); - if ($96) { + $96 = HEAP32[(55272)>>2]|0; + $97 = ($94>>>0)<($96>>>0); + if ($97) { _abort(); // unreachable; } else { - $97 = ((($R$1)) + 20|0); - HEAP32[$97>>2] = $93; - $98 = ((($93)) + 24|0); - HEAP32[$98>>2] = $R$1; - $$0 = $9;$$02 = $10; + $98 = ((($$3)) + 20|0); + HEAP32[$98>>2] = $94; + $99 = ((($94)) + 24|0); + HEAP32[$99>>2] = $$3; + $$1 = $11;$$1418 = $12; break; } } } } else { - $$0 = $p;$$02 = $psize; + $$1 = $0;$$1418 = $1; } } while(0); - $106 = HEAP32[(9044)>>2]|0; - $107 = ($0>>>0)<($106>>>0); - if ($107) { + $108 = HEAP32[(55272)>>2]|0; + $109 = ($2>>>0)<($108>>>0); + if ($109) { _abort(); // unreachable; } - $$sum1 = (($psize) + 4)|0; - $108 = (($p) + ($$sum1)|0); - $109 = HEAP32[$108>>2]|0; - $110 = $109 & 2; - $111 = ($110|0)==(0); - if ($111) { - $112 = HEAP32[(9052)>>2]|0; - $113 = ($0|0)==($112|0); - if ($113) { - $114 = HEAP32[(9040)>>2]|0; - $115 = (($114) + ($$02))|0; - HEAP32[(9040)>>2] = $115; - HEAP32[(9052)>>2] = $$0; - $116 = $115 | 1; - $117 = ((($$0)) + 4|0); - HEAP32[$117>>2] = $116; - $118 = HEAP32[(9048)>>2]|0; - $119 = ($$0|0)==($118|0); - if (!($119)) { + $110 = ((($2)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 & 2; + $113 = ($112|0)==(0); + if ($113) { + $114 = HEAP32[(55280)>>2]|0; + $115 = ($2|0)==($114|0); + $116 = HEAP32[(55276)>>2]|0; + if ($115) { + $117 = HEAP32[(55268)>>2]|0; + $118 = (($117) + ($$1418))|0; + HEAP32[(55268)>>2] = $118; + HEAP32[(55280)>>2] = $$1; + $119 = $118 | 1; + $120 = ((($$1)) + 4|0); + HEAP32[$120>>2] = $119; + $121 = ($$1|0)==($116|0); + if (!($121)) { return; } - HEAP32[(9048)>>2] = 0; - HEAP32[(9036)>>2] = 0; + HEAP32[(55276)>>2] = 0; + HEAP32[(55264)>>2] = 0; return; } - $120 = HEAP32[(9048)>>2]|0; - $121 = ($0|0)==($120|0); - if ($121) { - $122 = HEAP32[(9036)>>2]|0; - $123 = (($122) + ($$02))|0; - HEAP32[(9036)>>2] = $123; - HEAP32[(9048)>>2] = $$0; - $124 = $123 | 1; - $125 = ((($$0)) + 4|0); - HEAP32[$125>>2] = $124; - $126 = (($$0) + ($123)|0); - HEAP32[$126>>2] = $123; + $122 = ($2|0)==($116|0); + if ($122) { + $123 = HEAP32[(55264)>>2]|0; + $124 = (($123) + ($$1418))|0; + HEAP32[(55264)>>2] = $124; + HEAP32[(55276)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = (($$1) + ($124)|0); + HEAP32[$127>>2] = $124; return; } - $127 = $109 & -8; - $128 = (($127) + ($$02))|0; - $129 = $109 >>> 3; - $130 = ($109>>>0)<(256); - do { - if ($130) { - $$sum12 = (($psize) + 8)|0; - $131 = (($p) + ($$sum12)|0); - $132 = HEAP32[$131>>2]|0; - $$sum13 = (($psize) + 12)|0; - $133 = (($p) + ($$sum13)|0); - $134 = HEAP32[$133>>2]|0; - $135 = $129 << 1; - $136 = (9068 + ($135<<2)|0); - $137 = ($132|0)==($136|0); - if (!($137)) { - $138 = ($132>>>0)<($106>>>0); - if ($138) { + $128 = $111 & -8; + $129 = (($128) + ($$1418))|0; + $130 = $111 >>> 3; + $131 = ($111>>>0)<(256); + L96: do { + if ($131) { + $132 = ((($2)) + 8|0); + $133 = HEAP32[$132>>2]|0; + $134 = ((($2)) + 12|0); + $135 = HEAP32[$134>>2]|0; + $136 = $130 << 1; + $137 = (55296 + ($136<<2)|0); + $138 = ($133|0)==($137|0); + if (!($138)) { + $139 = ($133>>>0)<($108>>>0); + if ($139) { _abort(); // unreachable; } - $139 = ((($132)) + 12|0); - $140 = HEAP32[$139>>2]|0; - $141 = ($140|0)==($0|0); - if (!($141)) { + $140 = ((($133)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)==($2|0); + if (!($142)) { _abort(); // unreachable; } } - $142 = ($134|0)==($132|0); - if ($142) { - $143 = 1 << $129; - $144 = $143 ^ -1; - $145 = HEAP32[9028>>2]|0; - $146 = $145 & $144; - HEAP32[9028>>2] = $146; + $143 = ($135|0)==($133|0); + if ($143) { + $144 = 1 << $130; + $145 = $144 ^ -1; + $146 = HEAP32[13814]|0; + $147 = $146 & $145; + HEAP32[13814] = $147; break; } - $147 = ($134|0)==($136|0); - if ($147) { - $$pre49 = ((($134)) + 8|0); - $$pre$phi50Z2D = $$pre49; + $148 = ($135|0)==($137|0); + if ($148) { + $$pre23 = ((($135)) + 8|0); + $$pre$phi24Z2D = $$pre23; } else { - $148 = ($134>>>0)<($106>>>0); - if ($148) { + $149 = ($135>>>0)<($108>>>0); + if ($149) { _abort(); // unreachable; } - $149 = ((($134)) + 8|0); - $150 = HEAP32[$149>>2]|0; - $151 = ($150|0)==($0|0); - if ($151) { - $$pre$phi50Z2D = $149; + $150 = ((($135)) + 8|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==($2|0); + if ($152) { + $$pre$phi24Z2D = $150; } else { _abort(); // unreachable; } } - $152 = ((($132)) + 12|0); - HEAP32[$152>>2] = $134; - HEAP32[$$pre$phi50Z2D>>2] = $132; + $153 = ((($133)) + 12|0); + HEAP32[$153>>2] = $135; + HEAP32[$$pre$phi24Z2D>>2] = $133; } else { - $$sum2 = (($psize) + 24)|0; - $153 = (($p) + ($$sum2)|0); - $154 = HEAP32[$153>>2]|0; - $$sum3 = (($psize) + 12)|0; - $155 = (($p) + ($$sum3)|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($0|0); + $154 = ((($2)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($2)) + 12|0); + $157 = HEAP32[$156>>2]|0; + $158 = ($157|0)==($2|0); do { - if ($157) { - $$sum5 = (($psize) + 20)|0; - $167 = (($p) + ($$sum5)|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $$sum4 = (($psize) + 16)|0; - $170 = (($p) + ($$sum4)|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R7$1 = 0; + if ($158) { + $168 = ((($2)) + 16|0); + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $172 = HEAP32[$168>>2]|0; + $173 = ($172|0)==(0|0); + if ($173) { + $$3435 = 0; break; } else { - $R7$0 = $171;$RP9$0 = $170; + $$1433 = $172;$$1437 = $168; } } else { - $R7$0 = $168;$RP9$0 = $167; + $$1433 = $170;$$1437 = $169; } while(1) { - $173 = ((($R7$0)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R7$0 = $174;$RP9$0 = $173; + $174 = ((($$1433)) + 20|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==(0|0); + if (!($176)) { + $$1433 = $175;$$1437 = $174; continue; } - $176 = ((($R7$0)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; + $177 = ((($$1433)) + 16|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(0|0); + if ($179) { break; } else { - $R7$0 = $177;$RP9$0 = $176; + $$1433 = $178;$$1437 = $177; } } - $179 = ($RP9$0$lcssa>>>0)<($106>>>0); - if ($179) { + $180 = ($$1437>>>0)<($108>>>0); + if ($180) { _abort(); // unreachable; } else { - HEAP32[$RP9$0$lcssa>>2] = 0; - $R7$1 = $R7$0$lcssa; + HEAP32[$$1437>>2] = 0; + $$3435 = $$1433; break; } } else { - $$sum11 = (($psize) + 8)|0; - $158 = (($p) + ($$sum11)|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($106>>>0); - if ($160) { + $159 = ((($2)) + 8|0); + $160 = HEAP32[$159>>2]|0; + $161 = ($160>>>0)<($108>>>0); + if ($161) { _abort(); // unreachable; } - $161 = ((($159)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($0|0); - if (!($163)) { + $162 = ((($160)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)==($2|0); + if (!($164)) { _abort(); // unreachable; } - $164 = ((($156)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($0|0); - if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R7$1 = $156; + $165 = ((($157)) + 8|0); + $166 = HEAP32[$165>>2]|0; + $167 = ($166|0)==($2|0); + if ($167) { + HEAP32[$162>>2] = $157; + HEAP32[$165>>2] = $160; + $$3435 = $157; break; } else { _abort(); @@ -280635,56 +335214,56 @@ function _dispose_chunk($p,$psize) { } } } while(0); - $180 = ($154|0)==(0|0); - if (!($180)) { - $$sum8 = (($psize) + 28)|0; - $181 = (($p) + ($$sum8)|0); - $182 = HEAP32[$181>>2]|0; - $183 = (9332 + ($182<<2)|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($0|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R7$1; - $cond39 = ($R7$1|0)==(0|0); - if ($cond39) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[(9032)>>2]|0; - $189 = $188 & $187; - HEAP32[(9032)>>2] = $189; - break; - } - } else { - $190 = HEAP32[(9044)>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { - _abort(); - // unreachable; - } - $192 = ((($154)) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($0|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; + $181 = ($155|0)==(0|0); + if (!($181)) { + $182 = ((($2)) + 28|0); + $183 = HEAP32[$182>>2]|0; + $184 = (55560 + ($183<<2)|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($2|0)==($185|0); + do { + if ($186) { + HEAP32[$184>>2] = $$3435; + $cond17 = ($$3435|0)==(0|0); + if ($cond17) { + $187 = 1 << $183; + $188 = $187 ^ -1; + $189 = HEAP32[(55260)>>2]|0; + $190 = $189 & $188; + HEAP32[(55260)>>2] = $190; + break L96; + } } else { - $195 = ((($154)) + 20|0); - HEAP32[$195>>2] = $R7$1; - } - $196 = ($R7$1|0)==(0|0); - if ($196) { - break; + $191 = HEAP32[(55272)>>2]|0; + $192 = ($155>>>0)<($191>>>0); + if ($192) { + _abort(); + // unreachable; + } else { + $193 = ((($155)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $not$ = ($194|0)!=($2|0); + $$sink4 = $not$&1; + $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); + HEAP32[$195>>2] = $$3435; + $196 = ($$3435|0)==(0|0); + if ($196) { + break L96; + } else { + break; + } + } } - } - $197 = HEAP32[(9044)>>2]|0; - $198 = ($R7$1>>>0)<($197>>>0); + } while(0); + $197 = HEAP32[(55272)>>2]|0; + $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); // unreachable; } - $199 = ((($R7$1)) + 24|0); - HEAP32[$199>>2] = $154; - $$sum9 = (($psize) + 16)|0; - $200 = (($p) + ($$sum9)|0); + $199 = ((($$3435)) + 24|0); + HEAP32[$199>>2] = $155; + $200 = ((($2)) + 16|0); $201 = HEAP32[$200>>2]|0; $202 = ($201|0)==(0|0); do { @@ -280694,103 +335273,100 @@ function _dispose_chunk($p,$psize) { _abort(); // unreachable; } else { - $204 = ((($R7$1)) + 16|0); + $204 = ((($$3435)) + 16|0); HEAP32[$204>>2] = $201; $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $R7$1; + HEAP32[$205>>2] = $$3435; break; } } } while(0); - $$sum10 = (($psize) + 20)|0; - $206 = (($p) + ($$sum10)|0); + $206 = ((($200)) + 4|0); $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(9044)>>2]|0; + $209 = HEAP32[(55272)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); // unreachable; } else { - $211 = ((($R7$1)) + 20|0); + $211 = ((($$3435)) + 20|0); HEAP32[$211>>2] = $207; $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $R7$1; + HEAP32[$212>>2] = $$3435; break; } } } } } while(0); - $213 = $128 | 1; - $214 = ((($$0)) + 4|0); + $213 = $129 | 1; + $214 = ((($$1)) + 4|0); HEAP32[$214>>2] = $213; - $215 = (($$0) + ($128)|0); - HEAP32[$215>>2] = $128; - $216 = HEAP32[(9048)>>2]|0; - $217 = ($$0|0)==($216|0); + $215 = (($$1) + ($129)|0); + HEAP32[$215>>2] = $129; + $216 = HEAP32[(55276)>>2]|0; + $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(9036)>>2] = $128; + HEAP32[(55264)>>2] = $129; return; } else { - $$1 = $128; + $$2 = $129; } } else { - $218 = $109 & -2; - HEAP32[$108>>2] = $218; - $219 = $$02 | 1; - $220 = ((($$0)) + 4|0); + $218 = $111 & -2; + HEAP32[$110>>2] = $218; + $219 = $$1418 | 1; + $220 = ((($$1)) + 4|0); HEAP32[$220>>2] = $219; - $221 = (($$0) + ($$02)|0); - HEAP32[$221>>2] = $$02; - $$1 = $$02; + $221 = (($$1) + ($$1418)|0); + HEAP32[$221>>2] = $$1418; + $$2 = $$1418; } - $222 = $$1 >>> 3; - $223 = ($$1>>>0)<(256); + $222 = $$2 >>> 3; + $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (9068 + ($224<<2)|0); - $226 = HEAP32[9028>>2]|0; + $225 = (55296 + ($224<<2)|0); + $226 = HEAP32[13814]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[9028>>2] = $230; - $$pre = (($224) + 2)|0; - $$pre48 = (9068 + ($$pre<<2)|0); - $$pre$phiZ2D = $$pre48;$F16$0 = $225; + HEAP32[13814] = $230; + $$pre = ((($225)) + 8|0); + $$0438 = $225;$$pre$phiZ2D = $$pre; } else { - $$sum7 = (($224) + 2)|0; - $231 = (9068 + ($$sum7<<2)|0); + $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(9044)>>2]|0; + $233 = HEAP32[(55272)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); // unreachable; } else { - $$pre$phiZ2D = $231;$F16$0 = $232; + $$0438 = $232;$$pre$phiZ2D = $231; } } - HEAP32[$$pre$phiZ2D>>2] = $$0; - $235 = ((($F16$0)) + 12|0); - HEAP32[$235>>2] = $$0; - $236 = ((($$0)) + 8|0); - HEAP32[$236>>2] = $F16$0; - $237 = ((($$0)) + 12|0); + HEAP32[$$pre$phiZ2D>>2] = $$1; + $235 = ((($$0438)) + 12|0); + HEAP32[$235>>2] = $$1; + $236 = ((($$1)) + 8|0); + HEAP32[$236>>2] = $$0438; + $237 = ((($$1)) + 12|0); HEAP32[$237>>2] = $225; return; } - $238 = $$1 >>> 8; + $238 = $$2 >>> 8; $239 = ($238|0)==(0); if ($239) { - $I19$0 = 0; + $$0431 = 0; } else { - $240 = ($$1>>>0)>(16777215); + $240 = ($$2>>>0)>(16777215); if ($240) { - $I19$0 = 31; + $$0431 = 31; } else { $241 = (($238) + 1048320)|0; $242 = $241 >>> 16; @@ -280811,107 +335387,261 @@ function _dispose_chunk($p,$psize) { $257 = (($254) + ($256))|0; $258 = $257 << 1; $259 = (($257) + 7)|0; - $260 = $$1 >>> $259; + $260 = $$2 >>> $259; $261 = $260 & 1; $262 = $261 | $258; - $I19$0 = $262; + $$0431 = $262; } } - $263 = (9332 + ($I19$0<<2)|0); - $264 = ((($$0)) + 28|0); - HEAP32[$264>>2] = $I19$0; - $265 = ((($$0)) + 16|0); - $266 = ((($$0)) + 20|0); + $263 = (55560 + ($$0431<<2)|0); + $264 = ((($$1)) + 28|0); + HEAP32[$264>>2] = $$0431; + $265 = ((($$1)) + 16|0); + $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(9032)>>2]|0; - $268 = 1 << $I19$0; + $267 = HEAP32[(55260)>>2]|0; + $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(9032)>>2] = $271; - HEAP32[$263>>2] = $$0; - $272 = ((($$0)) + 24|0); + HEAP32[(55260)>>2] = $271; + HEAP32[$263>>2] = $$1; + $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; - $273 = ((($$0)) + 12|0); - HEAP32[$273>>2] = $$0; - $274 = ((($$0)) + 8|0); - HEAP32[$274>>2] = $$0; + $273 = ((($$1)) + 12|0); + HEAP32[$273>>2] = $$1; + $274 = ((($$1)) + 8|0); + HEAP32[$274>>2] = $$1; return; } $275 = HEAP32[$263>>2]|0; - $276 = ((($275)) + 4|0); - $277 = HEAP32[$276>>2]|0; - $278 = $277 & -8; - $279 = ($278|0)==($$1|0); - L191: do { - if ($279) { - $T$0$lcssa = $275; + $276 = ($$0431|0)==(31); + $277 = $$0431 >>> 1; + $278 = (25 - ($277))|0; + $279 = $276 ? 0 : $278; + $280 = $$2 << $279; + $$0419 = $280;$$0420 = $275; + while(1) { + $281 = ((($$0420)) + 4|0); + $282 = HEAP32[$281>>2]|0; + $283 = $282 & -8; + $284 = ($283|0)==($$2|0); + if ($284) { + label = 121; + break; + } + $285 = $$0419 >>> 31; + $286 = (((($$0420)) + 16|0) + ($285<<2)|0); + $287 = $$0419 << 1; + $288 = HEAP32[$286>>2]|0; + $289 = ($288|0)==(0|0); + if ($289) { + label = 118; + break; } else { - $280 = ($I19$0|0)==(31); - $281 = $I19$0 >>> 1; - $282 = (25 - ($281))|0; - $283 = $280 ? 0 : $282; - $284 = $$1 << $283; - $K20$043 = $284;$T$042 = $275; - while(1) { - $291 = $K20$043 >>> 31; - $292 = (((($T$042)) + 16|0) + ($291<<2)|0); - $287 = HEAP32[$292>>2]|0; - $293 = ($287|0)==(0|0); - if ($293) { - $$lcssa = $292;$T$042$lcssa = $T$042; - break; - } - $285 = $K20$043 << 1; - $286 = ((($287)) + 4|0); - $288 = HEAP32[$286>>2]|0; - $289 = $288 & -8; - $290 = ($289|0)==($$1|0); - if ($290) { - $T$0$lcssa = $287; - break L191; - } else { - $K20$043 = $285;$T$042 = $287; - } + $$0419 = $287;$$0420 = $288; + } + } + if ((label|0) == 118) { + $290 = HEAP32[(55272)>>2]|0; + $291 = ($286>>>0)<($290>>>0); + if ($291) { + _abort(); + // unreachable; + } + HEAP32[$286>>2] = $$1; + $292 = ((($$1)) + 24|0); + HEAP32[$292>>2] = $$0420; + $293 = ((($$1)) + 12|0); + HEAP32[$293>>2] = $$1; + $294 = ((($$1)) + 8|0); + HEAP32[$294>>2] = $$1; + return; + } + else if ((label|0) == 121) { + $295 = ((($$0420)) + 8|0); + $296 = HEAP32[$295>>2]|0; + $297 = HEAP32[(55272)>>2]|0; + $298 = ($296>>>0)>=($297>>>0); + $not$19 = ($$0420>>>0)>=($297>>>0); + $299 = $298 & $not$19; + if (!($299)) { + _abort(); + // unreachable; + } + $300 = ((($296)) + 12|0); + HEAP32[$300>>2] = $$1; + HEAP32[$295>>2] = $$1; + $301 = ((($$1)) + 8|0); + HEAP32[$301>>2] = $296; + $302 = ((($$1)) + 12|0); + HEAP32[$302>>2] = $$0420; + $303 = ((($$1)) + 24|0); + HEAP32[$303>>2] = 0; + return; + } +} +function _memalign($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0>>>0)<(9); + if ($2) { + $3 = (_malloc($1)|0); + $$0 = $3; + return ($$0|0); + } else { + $4 = (_internal_memalign($0,$1)|0); + $$0 = $4; + return ($$0|0); + } + return (0)|0; +} +function _internal_memalign($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0100 = 0, $$099 = 0, $$1 = 0, $$198 = 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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0>>>0)>(16); + $$ = $2 ? $0 : 16; + $3 = (($$) + -1)|0; + $4 = $3 & $$; + $5 = ($4|0)==(0); + if ($5) { + $$1 = $$; + } else { + $$099 = 16; + while(1) { + $6 = ($$099>>>0)<($$>>>0); + $7 = $$099 << 1; + if ($6) { + $$099 = $7; + } else { + $$1 = $$099; + break; } - $294 = HEAP32[(9044)>>2]|0; - $295 = ($$lcssa>>>0)<($294>>>0); - if ($295) { - _abort(); - // unreachable; + } + } + $8 = (-64 - ($$1))|0; + $9 = ($8>>>0)>($1>>>0); + if (!($9)) { + $10 = (___errno_location()|0); + HEAP32[$10>>2] = 12; + $$198 = 0; + return ($$198|0); + } + $11 = ($1>>>0)<(11); + $12 = (($1) + 11)|0; + $13 = $12 & -8; + $14 = $11 ? 16 : $13; + $15 = (($14) + 12)|0; + $16 = (($15) + ($$1))|0; + $17 = (_malloc($16)|0); + $18 = ($17|0)==(0|0); + if ($18) { + $$198 = 0; + return ($$198|0); + } + $19 = ((($17)) + -8|0); + $20 = $17; + $21 = (($$1) + -1)|0; + $22 = $20 & $21; + $23 = ($22|0)==(0); + do { + if ($23) { + $$0100 = $19;$72 = $19; + } else { + $24 = (($17) + ($$1)|0); + $25 = ((($24)) + -1|0); + $26 = $25; + $27 = (0 - ($$1))|0; + $28 = $26 & $27; + $29 = $28; + $30 = ((($29)) + -8|0); + $31 = $30; + $32 = $19; + $33 = (($31) - ($32))|0; + $34 = ($33>>>0)>(15); + $35 = (($30) + ($$1)|0); + $36 = $34 ? $30 : $35; + $37 = $36; + $38 = (($37) - ($32))|0; + $39 = ((($17)) + -4|0); + $40 = HEAP32[$39>>2]|0; + $41 = $40 & -8; + $42 = (($41) - ($38))|0; + $43 = $40 & 3; + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$19>>2]|0; + $46 = (($45) + ($38))|0; + HEAP32[$36>>2] = $46; + $47 = ((($36)) + 4|0); + HEAP32[$47>>2] = $42; + $$0100 = $36;$72 = $36; + break; + } else { + $48 = ((($36)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = $49 & 1; + $51 = $42 | $50; + $52 = $51 | 2; + HEAP32[$48>>2] = $52; + $53 = (($36) + ($42)|0); + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + $56 = $55 | 1; + HEAP32[$54>>2] = $56; + $57 = HEAP32[$39>>2]|0; + $58 = $57 & 1; + $59 = $38 | $58; + $60 = $59 | 2; + HEAP32[$39>>2] = $60; + $61 = HEAP32[$48>>2]|0; + $62 = $61 | 1; + HEAP32[$48>>2] = $62; + _dispose_chunk($19,$38); + $$0100 = $36;$72 = $36; + break; } - HEAP32[$$lcssa>>2] = $$0; - $296 = ((($$0)) + 24|0); - HEAP32[$296>>2] = $T$042$lcssa; - $297 = ((($$0)) + 12|0); - HEAP32[$297>>2] = $$0; - $298 = ((($$0)) + 8|0); - HEAP32[$298>>2] = $$0; - return; } } while(0); - $299 = ((($T$0$lcssa)) + 8|0); - $300 = HEAP32[$299>>2]|0; - $301 = HEAP32[(9044)>>2]|0; - $302 = ($300>>>0)>=($301>>>0); - $not$ = ($T$0$lcssa>>>0)>=($301>>>0); - $303 = $302 & $not$; - if (!($303)) { - _abort(); - // unreachable; + $63 = ((($$0100)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = $64 & 3; + $66 = ($65|0)==(0); + if (!($66)) { + $67 = $64 & -8; + $68 = (($14) + 16)|0; + $69 = ($67>>>0)>($68>>>0); + if ($69) { + $70 = (($67) - ($14))|0; + $71 = (($72) + ($14)|0); + $73 = $64 & 1; + $74 = $14 | $73; + $75 = $74 | 2; + HEAP32[$63>>2] = $75; + $76 = ((($71)) + 4|0); + $77 = $70 | 3; + HEAP32[$76>>2] = $77; + $78 = (($71) + ($70)|0); + $79 = ((($78)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = $80 | 1; + HEAP32[$79>>2] = $81; + _dispose_chunk($71,$70); + } } - $304 = ((($300)) + 12|0); - HEAP32[$304>>2] = $$0; - HEAP32[$299>>2] = $$0; - $305 = ((($$0)) + 8|0); - HEAP32[$305>>2] = $300; - $306 = ((($$0)) + 12|0); - HEAP32[$306>>2] = $T$0$lcssa; - $307 = ((($$0)) + 24|0); - HEAP32[$307>>2] = 0; - return; + $82 = ((($72)) + 8|0); + $$198 = $82; + return ($$198|0); } function runPostSets() { } @@ -280935,6 +335665,265 @@ function _i64Add(a, b, c, d) { h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. return ((tempRet0 = h,l|0)|0); } +function _pthread_mutex_lock(x) { + x = x | 0; + return 0; +} +function _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; +} +function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + $rem = $rem | 0; + var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; + $n_sroa_0_0_extract_trunc = $a$0; + $n_sroa_1_4_extract_shift$0 = $a$1; + $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; + $d_sroa_0_0_extract_trunc = $b$0; + $d_sroa_1_4_extract_shift$0 = $b$1; + $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; + if (($n_sroa_1_4_extract_trunc | 0) == 0) { + $4 = ($rem | 0) != 0; + if (($d_sroa_1_4_extract_trunc | 0) == 0) { + if ($4) { + HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); + HEAP32[$rem + 4 >> 2] = 0; + } + $_0$1 = 0; + $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + if (!$4) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + } + $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; + do { + if (($d_sroa_0_0_extract_trunc | 0) == 0) { + if ($17) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); + HEAP32[$rem + 4 >> 2] = 0; + } + $_0$1 = 0; + $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + if (($n_sroa_0_0_extract_trunc | 0) == 0) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0; + HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); + } + $_0$1 = 0; + $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $37 = $d_sroa_1_4_extract_trunc - 1 | 0; + if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; + } + $_0$1 = 0; + $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + if ($51 >>> 0 <= 30) { + $57 = $51 + 1 | 0; + $58 = 31 - $51 | 0; + $sr_1_ph = $57; + $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); + $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); + $q_sroa_0_1_ph = 0; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; + break; + } + if (($rem | 0) == 0) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + if (!$17) { + $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + if ($119 >>> 0 <= 31) { + $125 = $119 + 1 | 0; + $126 = 31 - $119 | 0; + $130 = $119 - 31 >> 31; + $sr_1_ph = $125; + $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; + $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; + $q_sroa_0_1_ph = 0; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; + break; + } + if (($rem | 0) == 0) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $66 = $d_sroa_0_0_extract_trunc - 1 | 0; + if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { + $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; + $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + $89 = 64 - $88 | 0; + $91 = 32 - $88 | 0; + $92 = $91 >> 31; + $95 = $88 - 32 | 0; + $105 = $95 >> 31; + $sr_1_ph = $88; + $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; + $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); + $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; + $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; + break; + } + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; + HEAP32[$rem + 4 >> 2] = 0; + } + if (($d_sroa_0_0_extract_trunc | 0) == 1) { + $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$0 = 0 | $a$0 & -1; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; + $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); + $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + } + } while (0); + if (($sr_1_ph | 0) == 0) { + $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; + $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; + $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; + $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = 0; + } else { + $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; + $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; + $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; + $137$1 = tempRet0; + $q_sroa_1_1198 = $q_sroa_1_1_ph; + $q_sroa_0_1199 = $q_sroa_0_1_ph; + $r_sroa_1_1200 = $r_sroa_1_1_ph; + $r_sroa_0_1201 = $r_sroa_0_1_ph; + $sr_1202 = $sr_1_ph; + $carry_0203 = 0; + while (1) { + $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; + $149 = $carry_0203 | $q_sroa_0_1199 << 1; + $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); + $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; + _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; + $150$1 = tempRet0; + $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; + $152 = $151$0 & 1; + $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; + $r_sroa_0_0_extract_trunc = $154$0; + $r_sroa_1_4_extract_trunc = tempRet0; + $155 = $sr_1202 - 1 | 0; + if (($155 | 0) == 0) { + break; + } else { + $q_sroa_1_1198 = $147; + $q_sroa_0_1199 = $149; + $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; + $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; + $sr_1202 = $155; + $carry_0203 = $152; + } + } + $q_sroa_1_1_lcssa = $147; + $q_sroa_0_1_lcssa = $149; + $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; + $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = $152; + } + $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; + $q_sroa_0_0_insert_ext75$1 = 0; + $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; + HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; + } + $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; + $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; + return (tempRet0 = $_0$1, $_0$0) | 0; +} +function ___remdi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $rem = 0, $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $10$0 = 0, $10$1 = 0, __stackBase__ = 0; + __stackBase__ = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + $rem = __stackBase__ | 0; + $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; + $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; + $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; + $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; + $4$0 = _i64Subtract($1$0 ^ $a$0 | 0, $1$1 ^ $a$1 | 0, $1$0 | 0, $1$1 | 0) | 0; + $4$1 = tempRet0; + $6$0 = _i64Subtract($2$0 ^ $b$0 | 0, $2$1 ^ $b$1 | 0, $2$0 | 0, $2$1 | 0) | 0; + ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, $rem) | 0; + $10$0 = _i64Subtract(HEAP32[$rem >> 2] ^ $1$0 | 0, HEAP32[$rem + 4 >> 2] ^ $1$1 | 0, $1$0 | 0, $1$1 | 0) | 0; + $10$1 = tempRet0; + STACKTOP = __stackBase__; + return (tempRet0 = $10$1, $10$0) | 0; +} +function _pthread_mutex_trylock(x) { + x = x | 0; + return 0; +} +function _bitshift64Ashr(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = high >> bits; + return (low >>> bits) | ((high&ander) << (32 - bits)); + } + tempRet0 = (high|0) < 0 ? -1 : 0; + return (high >> (bits - 32))|0; +} function _bitshift64Lshr(low, high, bits) { low = low|0; high = high|0; bits = bits|0; var ander = 0; @@ -280946,12 +335935,27 @@ function _bitshift64Lshr(low, high, bits) { tempRet0 = 0; return (high >>> (bits - 32))|0; } +function _pthread_mutex_unlock(x) { + x = x | 0; + return 0; +} function _memcpy(dest, src, num) { dest = dest|0; src = src|0; num = num|0; var ret = 0; - if ((num|0) >= 4096) return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; + var aligned_dest_end = 0; + var block_aligned_dest_end = 0; + var dest_end = 0; + // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. + if ((num|0) >= + 8192 + ) { + return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; + } + ret = dest|0; + dest_end = (dest + num)|0; if ((dest&3) == (src&3)) { + // The initial unaligned < 4-byte front. while (dest & 3) { if ((num|0) == 0) return ret|0; HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); @@ -280959,21 +335963,92 @@ function _memcpy(dest, src, num) { src = (src+1)|0; num = (num-1)|0; } - while ((num|0) >= 4) { + aligned_dest_end = (dest_end & -4)|0; + block_aligned_dest_end = (aligned_dest_end - 64)|0; + while ((dest|0) <= (block_aligned_dest_end|0) ) { + HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); + HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); + HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); + HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); + HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); + HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); + HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); + HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); + HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); + HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); + HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); + HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); + HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); + HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); + HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); + HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); + dest = (dest+64)|0; + src = (src+64)|0; + } + while ((dest|0) < (aligned_dest_end|0) ) { HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); dest = (dest+4)|0; src = (src+4)|0; - num = (num-4)|0; + } + } else { + // In the unaligned copy case, unroll a bit as well. + aligned_dest_end = (dest_end - 4)|0; + while ((dest|0) < (aligned_dest_end|0) ) { + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); + HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); + HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); + dest = (dest+4)|0; + src = (src+4)|0; } } - while ((num|0) > 0) { + // The remaining unaligned < 4 byte tail. + while ((dest|0) < (dest_end|0)) { HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); dest = (dest+1)|0; src = (src+1)|0; - num = (num-1)|0; } return ret|0; } +function _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|0; + oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; + newDynamicTop = oldDynamicTop + increment | 0; + + if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. + | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. + abortOnCannotGrowMemory()|0; + ___setErrNo(12); + return -1; + } + + HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; + totalMemory = getTotalMemory()|0; + if ((newDynamicTop|0) > (totalMemory|0)) { + if ((enlargeMemory()|0) == 0) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|0; +} +function _bitshift64Shl(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); + return low << bits; + } + tempRet0 = low << (bits - 32); + return 0; +} function _memmove(dest, src, num) { dest = dest|0; src = src|0; num = num|0; var ret = 0; @@ -280994,368 +336069,125 @@ function _memmove(dest, src, num) { } return dest | 0; } +function ___uremdi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $rem = 0, __stackBase__ = 0; + __stackBase__ = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + $rem = __stackBase__ | 0; + ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; + STACKTOP = __stackBase__; + return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; +} function _memset(ptr, value, num) { ptr = ptr|0; value = value|0; num = num|0; - var stop = 0, value4 = 0, stop4 = 0, unaligned = 0; - stop = (ptr + num)|0; - if ((num|0) >= 20) { - // This is unaligned, but quite large, so work hard to get to aligned settings - value = value & 0xff; - unaligned = ptr & 3; + var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; + end = (ptr + num)|0; + + value = value & 0xff; + if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { + while ((ptr&3) != 0) { + HEAP8[((ptr)>>0)]=value; + ptr = (ptr+1)|0; + } + + aligned_end = (end & -4)|0; + block_aligned_end = (aligned_end - 64)|0; value4 = value | (value << 8) | (value << 16) | (value << 24); - stop4 = stop & ~3; - if (unaligned) { - unaligned = (ptr + 4 - unaligned)|0; - while ((ptr|0) < (unaligned|0)) { // no need to check for stop, since we have large num - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } + + while((ptr|0) <= (block_aligned_end|0)) { + HEAP32[((ptr)>>2)]=value4; + HEAP32[(((ptr)+(4))>>2)]=value4; + HEAP32[(((ptr)+(8))>>2)]=value4; + HEAP32[(((ptr)+(12))>>2)]=value4; + HEAP32[(((ptr)+(16))>>2)]=value4; + HEAP32[(((ptr)+(20))>>2)]=value4; + HEAP32[(((ptr)+(24))>>2)]=value4; + HEAP32[(((ptr)+(28))>>2)]=value4; + HEAP32[(((ptr)+(32))>>2)]=value4; + HEAP32[(((ptr)+(36))>>2)]=value4; + HEAP32[(((ptr)+(40))>>2)]=value4; + HEAP32[(((ptr)+(44))>>2)]=value4; + HEAP32[(((ptr)+(48))>>2)]=value4; + HEAP32[(((ptr)+(52))>>2)]=value4; + HEAP32[(((ptr)+(56))>>2)]=value4; + HEAP32[(((ptr)+(60))>>2)]=value4; + ptr = (ptr + 64)|0; } - while ((ptr|0) < (stop4|0)) { + + while ((ptr|0) < (aligned_end|0) ) { HEAP32[((ptr)>>2)]=value4; ptr = (ptr+4)|0; } } - while ((ptr|0) < (stop|0)) { + // The remaining bytes. + while ((ptr|0) < (end|0)) { HEAP8[((ptr)>>0)]=value; ptr = (ptr+1)|0; } - return (ptr-num)|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _bitshift64Ashr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = (high|0) < 0 ? -1 : 0; - return (high >> (bits - 32))|0; - } -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; - } - -// ======== compiled code from system/lib/compiler-rt , see readme therein -function ___muldsi3($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; - $1 = $a & 65535; - $2 = $b & 65535; - $3 = Math_imul($2, $1) | 0; - $6 = $a >>> 16; - $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; - $11 = $b >>> 16; - $12 = Math_imul($11, $1) | 0; - return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; + return (end-num)|0; } function ___divdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $7$0 = 0, $7$1 = 0, $8$0 = 0, $10$0 = 0; - $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0; - $7$0 = $2$0 ^ $1$0; - $7$1 = $2$1 ^ $1$1; - $8$0 = ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, 0) | 0; - $10$0 = _i64Subtract($8$0 ^ $7$0, tempRet0 ^ $7$1, $7$0, $7$1) | 0; - return $10$0 | 0; -} -function ___remdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $10$0 = 0, $10$1 = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0; - ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, $rem) | 0; - $10$0 = _i64Subtract(HEAP32[$rem >> 2] ^ $1$0, HEAP32[$rem + 4 >> 2] ^ $1$1, $1$0, $1$1) | 0; - $10$1 = tempRet0; - STACKTOP = __stackBase__; - return (tempRet0 = $10$1, $10$0) | 0; -} -function ___muldi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; - $x_sroa_0_0_extract_trunc = $a$0; - $y_sroa_0_0_extract_trunc = $b$0; - $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; - $1$1 = tempRet0; - $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; - return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $7$0 = 0, $7$1 = 0, $8$0 = 0, $10$0 = 0; + $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; + $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; + $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; + $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; + $4$0 = _i64Subtract($1$0 ^ $a$0 | 0, $1$1 ^ $a$1 | 0, $1$0 | 0, $1$1 | 0) | 0; + $4$1 = tempRet0; + $6$0 = _i64Subtract($2$0 ^ $b$0 | 0, $2$1 ^ $b$1 | 0, $2$0 | 0, $2$1 | 0) | 0; + $7$0 = $2$0 ^ $1$0; + $7$1 = $2$1 ^ $1$1; + $8$0 = ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, 0) | 0; + $10$0 = _i64Subtract($8$0 ^ $7$0 | 0, tempRet0 ^ $7$1 | 0, $7$0 | 0, $7$1 | 0) | 0; + return $10$0 | 0; +} +function _llvm_bswap_i32(x) { + x = x|0; + return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; } function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $1$0 = 0; + $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; + return $1$0 | 0; } -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; +function ___muldsi3($a, $b) { + $a = $a | 0; + $b = $b | 0; + var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; + $1 = $a & 65535; + $2 = $b & 65535; + $3 = Math_imul($2, $1) | 0; + $6 = $a >>> 16; + $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; + $11 = $b >>> 16; + $12 = Math_imul($11, $1) | 0; + return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; } -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0, $137$1, $r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1, $151$0 & $d_sroa_0_0_insert_insert99$0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; +function ___muldi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; + $x_sroa_0_0_extract_trunc = $a$0; + $y_sroa_0_0_extract_trunc = $b$0; + $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; + $1$1 = tempRet0; + $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; + return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; } -// ======================================================================= - - function dynCall_iiii(index,a1,a2,a3) { @@ -281813,6 +336645,461 @@ function jsCall_iiii_63(a1,a2,a3) { +function dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&255](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function jsCall_viiiii_0(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(0,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_1(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(1,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_2(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(2,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_3(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(3,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_4(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(4,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_5(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(5,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_6(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(6,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_7(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(7,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_8(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(8,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_9(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(9,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_10(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(10,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_11(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(11,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_12(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(12,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_13(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(13,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_14(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(14,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_15(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(15,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_16(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(16,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_17(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(17,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_18(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(18,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_19(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(19,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_20(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(20,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_21(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(21,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_22(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(22,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_23(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(23,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_24(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(24,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_25(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(25,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_26(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(26,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_27(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(27,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_28(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(28,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_29(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(29,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_30(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(30,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_31(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(31,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_32(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(32,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_33(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(33,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_34(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(34,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_35(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(35,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_36(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(36,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_37(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(37,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_38(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(38,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_39(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(39,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_40(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(40,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_41(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(41,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_42(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(42,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_43(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(43,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_44(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(44,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_45(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(45,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_46(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(46,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_47(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(47,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_48(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(48,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_49(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(49,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_50(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(50,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_51(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(51,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_52(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(52,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_53(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(53,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_54(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(54,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_55(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(55,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_56(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(56,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_57(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(57,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_58(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(58,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_59(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(59,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_60(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(60,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_61(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(61,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_62(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(62,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + +function jsCall_viiiii_63(a1,a2,a3,a4,a5) { + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + jsCall_viiiii(63,a1|0,a2|0,a3|0,a4|0,a5|0); +} + + + function dynCall_i(index) { index = index|0; @@ -287275,41 +342562,44 @@ function jsCall_viiii_63(a1,a2,a3,a4) { function b0(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(0);return 0; } -function b1() { - ; abort(1);return 0; +function b1(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(1); +} +function b2() { + ; abort(2);return 0; } -function b2(p0) { - p0 = p0|0; abort(2); +function b3(p0) { + p0 = p0|0; abort(3); } -function b3(p0,p1) { - p0 = p0|0;p1 = p1|0; abort(3); +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; abort(4); } -function b4(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(4);return 0; +function b5(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(5);return 0; } -function b5(p0) { - p0 = p0|0; abort(5);return 0; +function b6(p0) { + p0 = p0|0; abort(6);return 0; } -function b6(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(6); +function b7(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(7); } -function b7() { - ; abort(7); +function b8() { + ; abort(8); } -function b8(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(8);return 0; +function b9(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(9);return 0; } -function b9(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(9); +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(10); } -function b10(p0,p1) { - p0 = p0|0;p1 = p1|0; abort(10);return 0; +function b11(p0,p1) { + p0 = p0|0;p1 = p1|0; abort(11);return 0; } -function b11(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(11);return 0; +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(12);return 0; } -function b12(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(12); +function b13(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(13); } // EMSCRIPTEN_END_FUNCS @@ -287317,130 +342607,145 @@ var FUNCTION_TABLE_iiii = [b0,b0,jsCall_iiii_0,b0,jsCall_iiii_1,b0,jsCall_iiii_2 ,b0,jsCall_iiii_14,b0,jsCall_iiii_15,b0,jsCall_iiii_16,b0,jsCall_iiii_17,b0,jsCall_iiii_18,b0,jsCall_iiii_19,b0,jsCall_iiii_20,b0,jsCall_iiii_21,b0,jsCall_iiii_22,b0,jsCall_iiii_23,b0,jsCall_iiii_24,b0,jsCall_iiii_25,b0,jsCall_iiii_26,b0,jsCall_iiii_27,b0,jsCall_iiii_28 ,b0,jsCall_iiii_29,b0,jsCall_iiii_30,b0,jsCall_iiii_31,b0,jsCall_iiii_32,b0,jsCall_iiii_33,b0,jsCall_iiii_34,b0,jsCall_iiii_35,b0,jsCall_iiii_36,b0,jsCall_iiii_37,b0,jsCall_iiii_38,b0,jsCall_iiii_39,b0,jsCall_iiii_40,b0,jsCall_iiii_41,b0,jsCall_iiii_42,b0,jsCall_iiii_43 ,b0,jsCall_iiii_44,b0,jsCall_iiii_45,b0,jsCall_iiii_46,b0,jsCall_iiii_47,b0,jsCall_iiii_48,b0,jsCall_iiii_49,b0,jsCall_iiii_50,b0,jsCall_iiii_51,b0,jsCall_iiii_52,b0,jsCall_iiii_53,b0,jsCall_iiii_54,b0,jsCall_iiii_55,b0,jsCall_iiii_56,b0,jsCall_iiii_57,b0,jsCall_iiii_58 -,b0,jsCall_iiii_59,b0,jsCall_iiii_60,b0,jsCall_iiii_61,b0,jsCall_iiii_62,b0,jsCall_iiii_63,b0,_unixDelete,_unixRandomness,_unixGetLastError,_unixSetSystemCall,_fts3ColumnMethod,_fts3tokColumnMethod,_porterCreate,_simpleCreate,_fts3auxColumnMethod,_unicodeCreate,_memjrnlTruncate,_pcache1Create,_pcache1Fetch,_unixTruncate,_unixFileControl,_posixOpen,_fcntl,_read,_write -,_fchown,_readlink,___stdout_write,___stdio_seek,_fts3ExprPhraseCountCb,_fts3ExprGlobalHitsCb,_fts3ExprLocalHitsCb,_fts3ExprLoadDoclistsCb,_fts3MatchinfoLcsCb,_fts3ExprTermOffsetInit,_fts3SnippetFindPositions,_vdbeRecordCompareInt,_vdbeRecordCompareString,_sqlite3VdbeRecordCompare,___stdio_write,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0 +,b0,jsCall_iiii_59,b0,jsCall_iiii_60,b0,jsCall_iiii_61,b0,jsCall_iiii_62,b0,jsCall_iiii_63,b0,_unixDelete,_unixRandomness,_unixGetLastError,_unixSetSystemCall,_unixTruncate,_unixFileControl,_posixOpen,_fcntl,_read,_write,_fchown,_readlink,_pcache1Create,_pcache1Fetch,_memjrnlTruncate,_fts3ColumnMethod,_fts3tokColumnMethod,_porterCreate,_simpleCreate +,_fts3auxColumnMethod,_unicodeCreate,_fts5ColumnMethod,_fts5VocabColumnMethod,_fts5ApiColumnTotalSize,_fts5ApiColumnSize,_fts5ApiSetAuxdata,___stdout_write,___stdio_seek,_vdbeRecordCompareInt,_vdbeRecordCompareString,_sqlite3VdbeRecordCompare,_fts3ExprPhraseCountCb,_fts3ExprGlobalHitsCb,_fts3ExprLocalHitsCb,_fts3ExprLoadDoclistsCb,_fts3MatchinfoLcsCb,_fts3ExprTermOffsetInit,_fts3SnippetFindPositions,_fts5CountCb,___stdio_write,b0,b0,b0,b0,b0,b0,b0,b0,b0 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0]; -var FUNCTION_TABLE_i = [b1,b1,jsCall_i_0,b1,jsCall_i_1,b1,jsCall_i_2,b1,jsCall_i_3,b1,jsCall_i_4,b1,jsCall_i_5,b1,jsCall_i_6,b1,jsCall_i_7,b1,jsCall_i_8,b1,jsCall_i_9,b1,jsCall_i_10,b1,jsCall_i_11,b1,jsCall_i_12,b1,jsCall_i_13 -,b1,jsCall_i_14,b1,jsCall_i_15,b1,jsCall_i_16,b1,jsCall_i_17,b1,jsCall_i_18,b1,jsCall_i_19,b1,jsCall_i_20,b1,jsCall_i_21,b1,jsCall_i_22,b1,jsCall_i_23,b1,jsCall_i_24,b1,jsCall_i_25,b1,jsCall_i_26,b1,jsCall_i_27,b1,jsCall_i_28 -,b1,jsCall_i_29,b1,jsCall_i_30,b1,jsCall_i_31,b1,jsCall_i_32,b1,jsCall_i_33,b1,jsCall_i_34,b1,jsCall_i_35,b1,jsCall_i_36,b1,jsCall_i_37,b1,jsCall_i_38,b1,jsCall_i_39,b1,jsCall_i_40,b1,jsCall_i_41,b1,jsCall_i_42,b1,jsCall_i_43 -,b1,jsCall_i_44,b1,jsCall_i_45,b1,jsCall_i_46,b1,jsCall_i_47,b1,jsCall_i_48,b1,jsCall_i_49,b1,jsCall_i_50,b1,jsCall_i_51,b1,jsCall_i_52,b1,jsCall_i_53,b1,jsCall_i_54,b1,jsCall_i_55,b1,jsCall_i_56,b1,jsCall_i_57,b1,jsCall_i_58 -,b1,jsCall_i_59,b1,jsCall_i_60,b1,jsCall_i_61,b1,jsCall_i_62,b1,jsCall_i_63,b1,_geteuid,_unixGetpagesize,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1 +var FUNCTION_TABLE_viiiii = [b1,b1,jsCall_viiiii_0,b1,jsCall_viiiii_1,b1,jsCall_viiiii_2,b1,jsCall_viiiii_3,b1,jsCall_viiiii_4,b1,jsCall_viiiii_5,b1,jsCall_viiiii_6,b1,jsCall_viiiii_7,b1,jsCall_viiiii_8,b1,jsCall_viiiii_9,b1,jsCall_viiiii_10,b1,jsCall_viiiii_11,b1,jsCall_viiiii_12,b1,jsCall_viiiii_13 +,b1,jsCall_viiiii_14,b1,jsCall_viiiii_15,b1,jsCall_viiiii_16,b1,jsCall_viiiii_17,b1,jsCall_viiiii_18,b1,jsCall_viiiii_19,b1,jsCall_viiiii_20,b1,jsCall_viiiii_21,b1,jsCall_viiiii_22,b1,jsCall_viiiii_23,b1,jsCall_viiiii_24,b1,jsCall_viiiii_25,b1,jsCall_viiiii_26,b1,jsCall_viiiii_27,b1,jsCall_viiiii_28 +,b1,jsCall_viiiii_29,b1,jsCall_viiiii_30,b1,jsCall_viiiii_31,b1,jsCall_viiiii_32,b1,jsCall_viiiii_33,b1,jsCall_viiiii_34,b1,jsCall_viiiii_35,b1,jsCall_viiiii_36,b1,jsCall_viiiii_37,b1,jsCall_viiiii_38,b1,jsCall_viiiii_39,b1,jsCall_viiiii_40,b1,jsCall_viiiii_41,b1,jsCall_viiiii_42,b1,jsCall_viiiii_43 +,b1,jsCall_viiiii_44,b1,jsCall_viiiii_45,b1,jsCall_viiiii_46,b1,jsCall_viiiii_47,b1,jsCall_viiiii_48,b1,jsCall_viiiii_49,b1,jsCall_viiiii_50,b1,jsCall_viiiii_51,b1,jsCall_viiiii_52,b1,jsCall_viiiii_53,b1,jsCall_viiiii_54,b1,jsCall_viiiii_55,b1,jsCall_viiiii_56,b1,jsCall_viiiii_57,b1,jsCall_viiiii_58 +,b1,jsCall_viiiii_59,b1,jsCall_viiiii_60,b1,jsCall_viiiii_61,b1,jsCall_viiiii_62,b1,jsCall_viiiii_63,b1,_fts5SnippetFunction,_fts5HighlightFunction,_fts5Bm25Function,_fts5AppendRowid,_fts5AppendPoslist,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1 ,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1 ,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1 ,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1 ,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1]; -var FUNCTION_TABLE_vi = [b2,b2,jsCall_vi_0,b2,jsCall_vi_1,b2,jsCall_vi_2,b2,jsCall_vi_3,b2,jsCall_vi_4,b2,jsCall_vi_5,b2,jsCall_vi_6,b2,jsCall_vi_7,b2,jsCall_vi_8,b2,jsCall_vi_9,b2,jsCall_vi_10,b2,jsCall_vi_11,b2,jsCall_vi_12,b2,jsCall_vi_13 -,b2,jsCall_vi_14,b2,jsCall_vi_15,b2,jsCall_vi_16,b2,jsCall_vi_17,b2,jsCall_vi_18,b2,jsCall_vi_19,b2,jsCall_vi_20,b2,jsCall_vi_21,b2,jsCall_vi_22,b2,jsCall_vi_23,b2,jsCall_vi_24,b2,jsCall_vi_25,b2,jsCall_vi_26,b2,jsCall_vi_27,b2,jsCall_vi_28 -,b2,jsCall_vi_29,b2,jsCall_vi_30,b2,jsCall_vi_31,b2,jsCall_vi_32,b2,jsCall_vi_33,b2,jsCall_vi_34,b2,jsCall_vi_35,b2,jsCall_vi_36,b2,jsCall_vi_37,b2,jsCall_vi_38,b2,jsCall_vi_39,b2,jsCall_vi_40,b2,jsCall_vi_41,b2,jsCall_vi_42,b2,jsCall_vi_43 -,b2,jsCall_vi_44,b2,jsCall_vi_45,b2,jsCall_vi_46,b2,jsCall_vi_47,b2,jsCall_vi_48,b2,jsCall_vi_49,b2,jsCall_vi_50,b2,jsCall_vi_51,b2,jsCall_vi_52,b2,jsCall_vi_53,b2,jsCall_vi_54,b2,jsCall_vi_55,b2,jsCall_vi_56,b2,jsCall_vi_57,b2,jsCall_vi_58 -,b2,jsCall_vi_59,b2,jsCall_vi_60,b2,jsCall_vi_61,b2,jsCall_vi_62,b2,jsCall_vi_63,b2,_stdevFinalize,_varianceFinalize,_modeFinalize,_medianFinalize,_lower_quartileFinalize,_upper_quartileFinalize,_pcache1Shutdown,_pcache1Destroy,_pcache1Shrink,_sqlite3MemFree,_sqlite3MemShutdown,_unixShmBarrier,_minMaxFinalize,_sumFinalize,_totalFinalize,_avgFinalize,_countFinalize,_groupConcatFinalize,_sqlite3_free -,_pageReinit,_sqlite3SchemaClear,_hashDestroy,_fts3MIBufferFree,_stat4Destructor,_cleanup392,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2 +var FUNCTION_TABLE_i = [b2,b2,jsCall_i_0,b2,jsCall_i_1,b2,jsCall_i_2,b2,jsCall_i_3,b2,jsCall_i_4,b2,jsCall_i_5,b2,jsCall_i_6,b2,jsCall_i_7,b2,jsCall_i_8,b2,jsCall_i_9,b2,jsCall_i_10,b2,jsCall_i_11,b2,jsCall_i_12,b2,jsCall_i_13 +,b2,jsCall_i_14,b2,jsCall_i_15,b2,jsCall_i_16,b2,jsCall_i_17,b2,jsCall_i_18,b2,jsCall_i_19,b2,jsCall_i_20,b2,jsCall_i_21,b2,jsCall_i_22,b2,jsCall_i_23,b2,jsCall_i_24,b2,jsCall_i_25,b2,jsCall_i_26,b2,jsCall_i_27,b2,jsCall_i_28 +,b2,jsCall_i_29,b2,jsCall_i_30,b2,jsCall_i_31,b2,jsCall_i_32,b2,jsCall_i_33,b2,jsCall_i_34,b2,jsCall_i_35,b2,jsCall_i_36,b2,jsCall_i_37,b2,jsCall_i_38,b2,jsCall_i_39,b2,jsCall_i_40,b2,jsCall_i_41,b2,jsCall_i_42,b2,jsCall_i_43 +,b2,jsCall_i_44,b2,jsCall_i_45,b2,jsCall_i_46,b2,jsCall_i_47,b2,jsCall_i_48,b2,jsCall_i_49,b2,jsCall_i_50,b2,jsCall_i_51,b2,jsCall_i_52,b2,jsCall_i_53,b2,jsCall_i_54,b2,jsCall_i_55,b2,jsCall_i_56,b2,jsCall_i_57,b2,jsCall_i_58 +,b2,jsCall_i_59,b2,jsCall_i_60,b2,jsCall_i_61,b2,jsCall_i_62,b2,jsCall_i_63,b2,_geteuid,_unixGetpagesize,_noopMutexInit,_noopMutexEnd,_pthreadMutexInit,_pthreadMutexEnd,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2 +,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2 ,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2 ,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2 ,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2]; -var FUNCTION_TABLE_vii = [b3,b3,jsCall_vii_0,b3,jsCall_vii_1,b3,jsCall_vii_2,b3,jsCall_vii_3,b3,jsCall_vii_4,b3,jsCall_vii_5,b3,jsCall_vii_6,b3,jsCall_vii_7,b3,jsCall_vii_8,b3,jsCall_vii_9,b3,jsCall_vii_10,b3,jsCall_vii_11,b3,jsCall_vii_12,b3,jsCall_vii_13 -,b3,jsCall_vii_14,b3,jsCall_vii_15,b3,jsCall_vii_16,b3,jsCall_vii_17,b3,jsCall_vii_18,b3,jsCall_vii_19,b3,jsCall_vii_20,b3,jsCall_vii_21,b3,jsCall_vii_22,b3,jsCall_vii_23,b3,jsCall_vii_24,b3,jsCall_vii_25,b3,jsCall_vii_26,b3,jsCall_vii_27,b3,jsCall_vii_28 -,b3,jsCall_vii_29,b3,jsCall_vii_30,b3,jsCall_vii_31,b3,jsCall_vii_32,b3,jsCall_vii_33,b3,jsCall_vii_34,b3,jsCall_vii_35,b3,jsCall_vii_36,b3,jsCall_vii_37,b3,jsCall_vii_38,b3,jsCall_vii_39,b3,jsCall_vii_40,b3,jsCall_vii_41,b3,jsCall_vii_42,b3,jsCall_vii_43 -,b3,jsCall_vii_44,b3,jsCall_vii_45,b3,jsCall_vii_46,b3,jsCall_vii_47,b3,jsCall_vii_48,b3,jsCall_vii_49,b3,jsCall_vii_50,b3,jsCall_vii_51,b3,jsCall_vii_52,b3,jsCall_vii_53,b3,jsCall_vii_54,b3,jsCall_vii_55,b3,jsCall_vii_56,b3,jsCall_vii_57,b3,jsCall_vii_58 -,b3,jsCall_vii_59,b3,jsCall_vii_60,b3,jsCall_vii_61,b3,jsCall_vii_62,b3,jsCall_vii_63,b3,_pcache1Cachesize,_pcache1Truncate,_selectPopWith,_selectAddSubqueryTypeInfo,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3 -,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3 +var FUNCTION_TABLE_vi = [b3,b3,jsCall_vi_0,b3,jsCall_vi_1,b3,jsCall_vi_2,b3,jsCall_vi_3,b3,jsCall_vi_4,b3,jsCall_vi_5,b3,jsCall_vi_6,b3,jsCall_vi_7,b3,jsCall_vi_8,b3,jsCall_vi_9,b3,jsCall_vi_10,b3,jsCall_vi_11,b3,jsCall_vi_12,b3,jsCall_vi_13 +,b3,jsCall_vi_14,b3,jsCall_vi_15,b3,jsCall_vi_16,b3,jsCall_vi_17,b3,jsCall_vi_18,b3,jsCall_vi_19,b3,jsCall_vi_20,b3,jsCall_vi_21,b3,jsCall_vi_22,b3,jsCall_vi_23,b3,jsCall_vi_24,b3,jsCall_vi_25,b3,jsCall_vi_26,b3,jsCall_vi_27,b3,jsCall_vi_28 +,b3,jsCall_vi_29,b3,jsCall_vi_30,b3,jsCall_vi_31,b3,jsCall_vi_32,b3,jsCall_vi_33,b3,jsCall_vi_34,b3,jsCall_vi_35,b3,jsCall_vi_36,b3,jsCall_vi_37,b3,jsCall_vi_38,b3,jsCall_vi_39,b3,jsCall_vi_40,b3,jsCall_vi_41,b3,jsCall_vi_42,b3,jsCall_vi_43 +,b3,jsCall_vi_44,b3,jsCall_vi_45,b3,jsCall_vi_46,b3,jsCall_vi_47,b3,jsCall_vi_48,b3,jsCall_vi_49,b3,jsCall_vi_50,b3,jsCall_vi_51,b3,jsCall_vi_52,b3,jsCall_vi_53,b3,jsCall_vi_54,b3,jsCall_vi_55,b3,jsCall_vi_56,b3,jsCall_vi_57,b3,jsCall_vi_58 +,b3,jsCall_vi_59,b3,jsCall_vi_60,b3,jsCall_vi_61,b3,jsCall_vi_62,b3,jsCall_vi_63,b3,_stdevFinalize,_varianceFinalize,_modeFinalize,_medianFinalize,_lower_quartileFinalize,_upper_quartileFinalize,_unixShmBarrier,_pcache1Shutdown,_pcache1Destroy,_pcache1Shrink,_sqlite3MemFree,_sqlite3MemShutdown,_minMaxFinalize,_sumFinalize,_totalFinalize,_avgFinalize,_countFinalize,_groupConcatFinalize,_noopMutexFree +,_noopMutexEnter,_noopMutexLeave,_pthreadMutexFree,_pthreadMutexEnter,_pthreadMutexLeave,_fts5UnicodeDelete,_fts5AsciiDelete,_fts5PorterDelete,_sqlite3_free,_pageReinit,_stat4Destructor,_sqlite3SchemaClear,_hashDestroy,_fts3MIBufferFree,_fts5ModuleDestroy,_fts5ParseFree,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3]; -var FUNCTION_TABLE_iiiiiii = [b4,b4,jsCall_iiiiiii_0,b4,jsCall_iiiiiii_1,b4,jsCall_iiiiiii_2,b4,jsCall_iiiiiii_3,b4,jsCall_iiiiiii_4,b4,jsCall_iiiiiii_5,b4,jsCall_iiiiiii_6,b4,jsCall_iiiiiii_7,b4,jsCall_iiiiiii_8,b4,jsCall_iiiiiii_9,b4,jsCall_iiiiiii_10,b4,jsCall_iiiiiii_11,b4,jsCall_iiiiiii_12,b4,jsCall_iiiiiii_13 -,b4,jsCall_iiiiiii_14,b4,jsCall_iiiiiii_15,b4,jsCall_iiiiiii_16,b4,jsCall_iiiiiii_17,b4,jsCall_iiiiiii_18,b4,jsCall_iiiiiii_19,b4,jsCall_iiiiiii_20,b4,jsCall_iiiiiii_21,b4,jsCall_iiiiiii_22,b4,jsCall_iiiiiii_23,b4,jsCall_iiiiiii_24,b4,jsCall_iiiiiii_25,b4,jsCall_iiiiiii_26,b4,jsCall_iiiiiii_27,b4,jsCall_iiiiiii_28 -,b4,jsCall_iiiiiii_29,b4,jsCall_iiiiiii_30,b4,jsCall_iiiiiii_31,b4,jsCall_iiiiiii_32,b4,jsCall_iiiiiii_33,b4,jsCall_iiiiiii_34,b4,jsCall_iiiiiii_35,b4,jsCall_iiiiiii_36,b4,jsCall_iiiiiii_37,b4,jsCall_iiiiiii_38,b4,jsCall_iiiiiii_39,b4,jsCall_iiiiiii_40,b4,jsCall_iiiiiii_41,b4,jsCall_iiiiiii_42,b4,jsCall_iiiiiii_43 -,b4,jsCall_iiiiiii_44,b4,jsCall_iiiiiii_45,b4,jsCall_iiiiiii_46,b4,jsCall_iiiiiii_47,b4,jsCall_iiiiiii_48,b4,jsCall_iiiiiii_49,b4,jsCall_iiiiiii_50,b4,jsCall_iiiiiii_51,b4,jsCall_iiiiiii_52,b4,jsCall_iiiiiii_53,b4,jsCall_iiiiiii_54,b4,jsCall_iiiiiii_55,b4,jsCall_iiiiiii_56,b4,jsCall_iiiiiii_57,b4,jsCall_iiiiiii_58 -,b4,jsCall_iiiiiii_59,b4,jsCall_iiiiiii_60,b4,jsCall_iiiiiii_61,b4,jsCall_iiiiiii_62,b4,jsCall_iiiiiii_63,b4,_fts3CreateMethod,_fts3ConnectMethod,_fts3tokConnectMethod,_porterNext,_simpleNext,_fts3auxConnectMethod,_unicodeNext,___mmap,_vdbeSorterCompareInt,_vdbeSorterCompareText,_vdbeSorterCompare,b4,b4,b4,b4,b4,b4,b4,b4 +var FUNCTION_TABLE_vii = [b4,b4,jsCall_vii_0,b4,jsCall_vii_1,b4,jsCall_vii_2,b4,jsCall_vii_3,b4,jsCall_vii_4,b4,jsCall_vii_5,b4,jsCall_vii_6,b4,jsCall_vii_7,b4,jsCall_vii_8,b4,jsCall_vii_9,b4,jsCall_vii_10,b4,jsCall_vii_11,b4,jsCall_vii_12,b4,jsCall_vii_13 +,b4,jsCall_vii_14,b4,jsCall_vii_15,b4,jsCall_vii_16,b4,jsCall_vii_17,b4,jsCall_vii_18,b4,jsCall_vii_19,b4,jsCall_vii_20,b4,jsCall_vii_21,b4,jsCall_vii_22,b4,jsCall_vii_23,b4,jsCall_vii_24,b4,jsCall_vii_25,b4,jsCall_vii_26,b4,jsCall_vii_27,b4,jsCall_vii_28 +,b4,jsCall_vii_29,b4,jsCall_vii_30,b4,jsCall_vii_31,b4,jsCall_vii_32,b4,jsCall_vii_33,b4,jsCall_vii_34,b4,jsCall_vii_35,b4,jsCall_vii_36,b4,jsCall_vii_37,b4,jsCall_vii_38,b4,jsCall_vii_39,b4,jsCall_vii_40,b4,jsCall_vii_41,b4,jsCall_vii_42,b4,jsCall_vii_43 +,b4,jsCall_vii_44,b4,jsCall_vii_45,b4,jsCall_vii_46,b4,jsCall_vii_47,b4,jsCall_vii_48,b4,jsCall_vii_49,b4,jsCall_vii_50,b4,jsCall_vii_51,b4,jsCall_vii_52,b4,jsCall_vii_53,b4,jsCall_vii_54,b4,jsCall_vii_55,b4,jsCall_vii_56,b4,jsCall_vii_57,b4,jsCall_vii_58 +,b4,jsCall_vii_59,b4,jsCall_vii_60,b4,jsCall_vii_61,b4,jsCall_vii_62,b4,jsCall_vii_63,b4,_pcache1Cachesize,_pcache1Truncate,_selectPopWith,_selectAddSubqueryTypeInfo,_fts5IterSetOutputs_None,_fts5IterSetOutputs_Nocolset,_fts5IterSetOutputs_ZeroColset,_fts5IterSetOutputs_Full,_fts5IterSetOutputs_Col100,_fts5IterSetOutputs_Col,_fts5IterSetOutputs_Noop,b4,b4,b4,b4,b4,b4,b4,b4 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,b5,jsCall_ii_0,b5,jsCall_ii_1,b5,jsCall_ii_2,b5,jsCall_ii_3,b5,jsCall_ii_4,b5,jsCall_ii_5,b5,jsCall_ii_6,b5,jsCall_ii_7,b5,jsCall_ii_8,b5,jsCall_ii_9,b5,jsCall_ii_10,b5,jsCall_ii_11,b5,jsCall_ii_12,b5,jsCall_ii_13 -,b5,jsCall_ii_14,b5,jsCall_ii_15,b5,jsCall_ii_16,b5,jsCall_ii_17,b5,jsCall_ii_18,b5,jsCall_ii_19,b5,jsCall_ii_20,b5,jsCall_ii_21,b5,jsCall_ii_22,b5,jsCall_ii_23,b5,jsCall_ii_24,b5,jsCall_ii_25,b5,jsCall_ii_26,b5,jsCall_ii_27,b5,jsCall_ii_28 -,b5,jsCall_ii_29,b5,jsCall_ii_30,b5,jsCall_ii_31,b5,jsCall_ii_32,b5,jsCall_ii_33,b5,jsCall_ii_34,b5,jsCall_ii_35,b5,jsCall_ii_36,b5,jsCall_ii_37,b5,jsCall_ii_38,b5,jsCall_ii_39,b5,jsCall_ii_40,b5,jsCall_ii_41,b5,jsCall_ii_42,b5,jsCall_ii_43 -,b5,jsCall_ii_44,b5,jsCall_ii_45,b5,jsCall_ii_46,b5,jsCall_ii_47,b5,jsCall_ii_48,b5,jsCall_ii_49,b5,jsCall_ii_50,b5,jsCall_ii_51,b5,jsCall_ii_52,b5,jsCall_ii_53,b5,jsCall_ii_54,b5,jsCall_ii_55,b5,jsCall_ii_56,b5,jsCall_ii_57,b5,jsCall_ii_58 -,b5,jsCall_ii_59,b5,jsCall_ii_60,b5,jsCall_ii_61,b5,jsCall_ii_62,b5,jsCall_ii_63,b5,_fts3DisconnectMethod,_fts3DestroyMethod,_fts3CloseMethod,_fts3NextMethod,_fts3EofMethod,_fts3BeginMethod,_fts3SyncMethod,_fts3CommitMethod,_fts3RollbackMethod,_fts3tokDisconnectMethod,_fts3tokCloseMethod,_fts3tokNextMethod,_fts3tokEofMethod,_porterDestroy,_porterClose,_simpleDestroy,_simpleClose,_fts3auxDisconnectMethod,_fts3auxCloseMethod -,_fts3auxNextMethod,_fts3auxEofMethod,_unicodeDestroy,_unicodeClose,_memjrnlClose,_pcache1Init,_pcache1Pagecount,_sqlite3MemMalloc,_sqlite3MemSize,_sqlite3MemRoundup,_sqlite3MemInit,_dotlockClose,_unixSectorSize,_unixDeviceCharacteristics,_close,_unlink,_rmdir,_nolockClose,_unixClose,___stdio_close,_sqlite3_value_text,_sqlite3MallocSize,_btreeInvokeBusyHandler,_m_gt_0,_hasVowel,_m_gt_1,b5,b5,b5,b5 +var FUNCTION_TABLE_iiiiiii = [b5,b5,jsCall_iiiiiii_0,b5,jsCall_iiiiiii_1,b5,jsCall_iiiiiii_2,b5,jsCall_iiiiiii_3,b5,jsCall_iiiiiii_4,b5,jsCall_iiiiiii_5,b5,jsCall_iiiiiii_6,b5,jsCall_iiiiiii_7,b5,jsCall_iiiiiii_8,b5,jsCall_iiiiiii_9,b5,jsCall_iiiiiii_10,b5,jsCall_iiiiiii_11,b5,jsCall_iiiiiii_12,b5,jsCall_iiiiiii_13 +,b5,jsCall_iiiiiii_14,b5,jsCall_iiiiiii_15,b5,jsCall_iiiiiii_16,b5,jsCall_iiiiiii_17,b5,jsCall_iiiiiii_18,b5,jsCall_iiiiiii_19,b5,jsCall_iiiiiii_20,b5,jsCall_iiiiiii_21,b5,jsCall_iiiiiii_22,b5,jsCall_iiiiiii_23,b5,jsCall_iiiiiii_24,b5,jsCall_iiiiiii_25,b5,jsCall_iiiiiii_26,b5,jsCall_iiiiiii_27,b5,jsCall_iiiiiii_28 +,b5,jsCall_iiiiiii_29,b5,jsCall_iiiiiii_30,b5,jsCall_iiiiiii_31,b5,jsCall_iiiiiii_32,b5,jsCall_iiiiiii_33,b5,jsCall_iiiiiii_34,b5,jsCall_iiiiiii_35,b5,jsCall_iiiiiii_36,b5,jsCall_iiiiiii_37,b5,jsCall_iiiiiii_38,b5,jsCall_iiiiiii_39,b5,jsCall_iiiiiii_40,b5,jsCall_iiiiiii_41,b5,jsCall_iiiiiii_42,b5,jsCall_iiiiiii_43 +,b5,jsCall_iiiiiii_44,b5,jsCall_iiiiiii_45,b5,jsCall_iiiiiii_46,b5,jsCall_iiiiiii_47,b5,jsCall_iiiiiii_48,b5,jsCall_iiiiiii_49,b5,jsCall_iiiiiii_50,b5,jsCall_iiiiiii_51,b5,jsCall_iiiiiii_52,b5,jsCall_iiiiiii_53,b5,jsCall_iiiiiii_54,b5,jsCall_iiiiiii_55,b5,jsCall_iiiiiii_56,b5,jsCall_iiiiiii_57,b5,jsCall_iiiiiii_58 +,b5,jsCall_iiiiiii_59,b5,jsCall_iiiiiii_60,b5,jsCall_iiiiiii_61,b5,jsCall_iiiiiii_62,b5,jsCall_iiiiiii_63,b5,___mmap,_fts3CreateMethod,_fts3ConnectMethod,_fts3tokConnectMethod,_porterNext,_simpleNext,_fts3auxConnectMethod,_unicodeNext,_fts5CreateMethod,_fts5ConnectMethod,_fts5VocabCreateMethod,_fts5VocabConnectMethod,_fts5UnicodeTokenize,_fts5AsciiTokenize,_fts5PorterTokenize,_vdbeSorterCompareInt,_vdbeSorterCompareText,_vdbeSorterCompare,_fts5PorterCb +,_fts5SentenceFinderCb,_fts5HighlightCb,_fts5ParseTokenize,_fts5ColumnSizeCb,_fts5ExprPopulatePoslistsCb,_fts5StorageInsertCallback,_fts5StorageIntegrityCallback,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5 ,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5 ,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5 ,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5]; -var FUNCTION_TABLE_viii = [b6,b6,jsCall_viii_0,b6,jsCall_viii_1,b6,jsCall_viii_2,b6,jsCall_viii_3,b6,jsCall_viii_4,b6,jsCall_viii_5,b6,jsCall_viii_6,b6,jsCall_viii_7,b6,jsCall_viii_8,b6,jsCall_viii_9,b6,jsCall_viii_10,b6,jsCall_viii_11,b6,jsCall_viii_12,b6,jsCall_viii_13 -,b6,jsCall_viii_14,b6,jsCall_viii_15,b6,jsCall_viii_16,b6,jsCall_viii_17,b6,jsCall_viii_18,b6,jsCall_viii_19,b6,jsCall_viii_20,b6,jsCall_viii_21,b6,jsCall_viii_22,b6,jsCall_viii_23,b6,jsCall_viii_24,b6,jsCall_viii_25,b6,jsCall_viii_26,b6,jsCall_viii_27,b6,jsCall_viii_28 -,b6,jsCall_viii_29,b6,jsCall_viii_30,b6,jsCall_viii_31,b6,jsCall_viii_32,b6,jsCall_viii_33,b6,jsCall_viii_34,b6,jsCall_viii_35,b6,jsCall_viii_36,b6,jsCall_viii_37,b6,jsCall_viii_38,b6,jsCall_viii_39,b6,jsCall_viii_40,b6,jsCall_viii_41,b6,jsCall_viii_42,b6,jsCall_viii_43 -,b6,jsCall_viii_44,b6,jsCall_viii_45,b6,jsCall_viii_46,b6,jsCall_viii_47,b6,jsCall_viii_48,b6,jsCall_viii_49,b6,jsCall_viii_50,b6,jsCall_viii_51,b6,jsCall_viii_52,b6,jsCall_viii_53,b6,jsCall_viii_54,b6,jsCall_viii_55,b6,jsCall_viii_56,b6,jsCall_viii_57,b6,jsCall_viii_58 -,b6,jsCall_viii_59,b6,jsCall_viii_60,b6,jsCall_viii_61,b6,jsCall_viii_62,b6,jsCall_viii_63,b6,_acosFunc,_asinFunc,_atanFunc,_atn2Func,_acoshFunc,_asinhFunc,_atanhFunc,_differenceFunc,_rad2degFunc,_deg2radFunc,_cosFunc,_sinFunc,_tanFunc,_cotFunc,_coshFunc,_sinhFunc,_tanhFunc,_cothFunc,_expFunc -,_logFunc,_log10Func,_powerFunc,_signFunc,_sqrtFunc,_squareFunc,_ceilFunc,_floorFunc,_piFunc,_replicateFunc,_charindexFunc,_leftFunc,_rightFunc,_reverseFunc,_properFunc,_padlFunc,_padrFunc,_padcFunc,_strfilterFunc,_varianceStep,_modeStep,_fts3SnippetFunc,_fts3OffsetsFunc,_fts3OptimizeFunc,_fts3MatchinfoFunc,_pcache1Unpin,_statInit,_statPush,_statGet,_detachFunc -,_attachFunc,_compileoptionusedFunc,_compileoptiongetFunc,_versionFunc,_trimFunc,_minmaxFunc,_minmaxStep,_typeofFunc,_lengthFunc,_instrFunc,_printfFunc,_unicodeFunc,_charFunc,_absFunc,_roundFunc,_upperFunc,_lowerFunc,_hexFunc,_randomFunc,_randomBlob,_nullifFunc,_sourceidFunc,_errlogFunc,_quoteFunc,_last_insert_rowid,_changes,_total_changes,_replaceFunc,_zeroblobFunc,_substrFunc -,_sumStep,_countStep,_groupConcatStep,_likeFunc,_juliandayFunc,_dateFunc,_timeFunc,_datetimeFunc,_strftimeFunc,_ctimeFunc,_ctimestampFunc,_cdateFunc,_renameTableFunc,_renameTriggerFunc,_renameParentFunc,_sqlite3InvalidFunction,_fts3TokenizerFunc,_btreeParseCellPtr,_btreeParseCellPtrNoPayload,_btreeParseCellPtrIndex,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6 +var FUNCTION_TABLE_ii = [b6,b6,jsCall_ii_0,b6,jsCall_ii_1,b6,jsCall_ii_2,b6,jsCall_ii_3,b6,jsCall_ii_4,b6,jsCall_ii_5,b6,jsCall_ii_6,b6,jsCall_ii_7,b6,jsCall_ii_8,b6,jsCall_ii_9,b6,jsCall_ii_10,b6,jsCall_ii_11,b6,jsCall_ii_12,b6,jsCall_ii_13 +,b6,jsCall_ii_14,b6,jsCall_ii_15,b6,jsCall_ii_16,b6,jsCall_ii_17,b6,jsCall_ii_18,b6,jsCall_ii_19,b6,jsCall_ii_20,b6,jsCall_ii_21,b6,jsCall_ii_22,b6,jsCall_ii_23,b6,jsCall_ii_24,b6,jsCall_ii_25,b6,jsCall_ii_26,b6,jsCall_ii_27,b6,jsCall_ii_28 +,b6,jsCall_ii_29,b6,jsCall_ii_30,b6,jsCall_ii_31,b6,jsCall_ii_32,b6,jsCall_ii_33,b6,jsCall_ii_34,b6,jsCall_ii_35,b6,jsCall_ii_36,b6,jsCall_ii_37,b6,jsCall_ii_38,b6,jsCall_ii_39,b6,jsCall_ii_40,b6,jsCall_ii_41,b6,jsCall_ii_42,b6,jsCall_ii_43 +,b6,jsCall_ii_44,b6,jsCall_ii_45,b6,jsCall_ii_46,b6,jsCall_ii_47,b6,jsCall_ii_48,b6,jsCall_ii_49,b6,jsCall_ii_50,b6,jsCall_ii_51,b6,jsCall_ii_52,b6,jsCall_ii_53,b6,jsCall_ii_54,b6,jsCall_ii_55,b6,jsCall_ii_56,b6,jsCall_ii_57,b6,jsCall_ii_58 +,b6,jsCall_ii_59,b6,jsCall_ii_60,b6,jsCall_ii_61,b6,jsCall_ii_62,b6,jsCall_ii_63,b6,_dotlockClose,_unixSectorSize,_unixDeviceCharacteristics,_close,_unlink,_rmdir,_nolockClose,_unixClose,_pcache1Init,_pcache1Pagecount,_sqlite3MemMalloc,_sqlite3MemSize,_sqlite3MemRoundup,_sqlite3MemInit,_noopMutexAlloc,_noopMutexTry,_pthreadMutexAlloc,_pthreadMutexTry,_memjrnlClose +,_fts3DisconnectMethod,_fts3DestroyMethod,_fts3CloseMethod,_fts3NextMethod,_fts3EofMethod,_fts3BeginMethod,_fts3SyncMethod,_fts3CommitMethod,_fts3RollbackMethod,_fts3tokDisconnectMethod,_fts3tokCloseMethod,_fts3tokNextMethod,_fts3tokEofMethod,_porterDestroy,_porterClose,_simpleDestroy,_simpleClose,_fts3auxDisconnectMethod,_fts3auxCloseMethod,_fts3auxNextMethod,_fts3auxEofMethod,_unicodeDestroy,_unicodeClose,_fts5DisconnectMethod,_fts5DestroyMethod,_fts5CloseMethod,_fts5NextMethod,_fts5EofMethod,_fts5BeginMethod,_fts5SyncMethod +,_fts5CommitMethod,_fts5RollbackMethod,_fts5VocabDisconnectMethod,_fts5VocabDestroyMethod,_fts5VocabCloseMethod,_fts5VocabNextMethod,_fts5VocabEofMethod,_fts5ApiUserData,_fts5ApiColumnCount,_fts5ApiPhraseCount,_fts5ApiRowid,___stdio_close,_sqlite3MallocSize,_btreeInvokeBusyHandler,_sqlite3_value_text,_vdbeSorterFlushThread,_vdbeIncrPopulateThread,_vdbePmaReaderBgIncrInit,_m_gt_0,_hasVowel,_m_gt_1,b6,b6,b6,b6,b6,b6,b6,b6,b6 +,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6 ,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6]; -var FUNCTION_TABLE_v = [b7,b7,jsCall_v_0,b7,jsCall_v_1,b7,jsCall_v_2,b7,jsCall_v_3,b7,jsCall_v_4,b7,jsCall_v_5,b7,jsCall_v_6,b7,jsCall_v_7,b7,jsCall_v_8,b7,jsCall_v_9,b7,jsCall_v_10,b7,jsCall_v_11,b7,jsCall_v_12,b7,jsCall_v_13 -,b7,jsCall_v_14,b7,jsCall_v_15,b7,jsCall_v_16,b7,jsCall_v_17,b7,jsCall_v_18,b7,jsCall_v_19,b7,jsCall_v_20,b7,jsCall_v_21,b7,jsCall_v_22,b7,jsCall_v_23,b7,jsCall_v_24,b7,jsCall_v_25,b7,jsCall_v_26,b7,jsCall_v_27,b7,jsCall_v_28 -,b7,jsCall_v_29,b7,jsCall_v_30,b7,jsCall_v_31,b7,jsCall_v_32,b7,jsCall_v_33,b7,jsCall_v_34,b7,jsCall_v_35,b7,jsCall_v_36,b7,jsCall_v_37,b7,jsCall_v_38,b7,jsCall_v_39,b7,jsCall_v_40,b7,jsCall_v_41,b7,jsCall_v_42,b7,jsCall_v_43 -,b7,jsCall_v_44,b7,jsCall_v_45,b7,jsCall_v_46,b7,jsCall_v_47,b7,jsCall_v_48,b7,jsCall_v_49,b7,jsCall_v_50,b7,jsCall_v_51,b7,jsCall_v_52,b7,jsCall_v_53,b7,jsCall_v_54,b7,jsCall_v_55,b7,jsCall_v_56,b7,jsCall_v_57,b7,jsCall_v_58 -,b7,jsCall_v_59,b7,jsCall_v_60,b7,jsCall_v_61,b7,jsCall_v_62,b7,jsCall_v_63,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7 -,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7 -,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7 -,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7 -,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7]; -var FUNCTION_TABLE_iiiii = [b8,b8,jsCall_iiiii_0,b8,jsCall_iiiii_1,b8,jsCall_iiiii_2,b8,jsCall_iiiii_3,b8,jsCall_iiiii_4,b8,jsCall_iiiii_5,b8,jsCall_iiiii_6,b8,jsCall_iiiii_7,b8,jsCall_iiiii_8,b8,jsCall_iiiii_9,b8,jsCall_iiiii_10,b8,jsCall_iiiii_11,b8,jsCall_iiiii_12,b8,jsCall_iiiii_13 -,b8,jsCall_iiiii_14,b8,jsCall_iiiii_15,b8,jsCall_iiiii_16,b8,jsCall_iiiii_17,b8,jsCall_iiiii_18,b8,jsCall_iiiii_19,b8,jsCall_iiiii_20,b8,jsCall_iiiii_21,b8,jsCall_iiiii_22,b8,jsCall_iiiii_23,b8,jsCall_iiiii_24,b8,jsCall_iiiii_25,b8,jsCall_iiiii_26,b8,jsCall_iiiii_27,b8,jsCall_iiiii_28 -,b8,jsCall_iiiii_29,b8,jsCall_iiiii_30,b8,jsCall_iiiii_31,b8,jsCall_iiiii_32,b8,jsCall_iiiii_33,b8,jsCall_iiiii_34,b8,jsCall_iiiii_35,b8,jsCall_iiiii_36,b8,jsCall_iiiii_37,b8,jsCall_iiiii_38,b8,jsCall_iiiii_39,b8,jsCall_iiiii_40,b8,jsCall_iiiii_41,b8,jsCall_iiiii_42,b8,jsCall_iiiii_43 -,b8,jsCall_iiiii_44,b8,jsCall_iiiii_45,b8,jsCall_iiiii_46,b8,jsCall_iiiii_47,b8,jsCall_iiiii_48,b8,jsCall_iiiii_49,b8,jsCall_iiiii_50,b8,jsCall_iiiii_51,b8,jsCall_iiiii_52,b8,jsCall_iiiii_53,b8,jsCall_iiiii_54,b8,jsCall_iiiii_55,b8,jsCall_iiiii_56,b8,jsCall_iiiii_57,b8,jsCall_iiiii_58 -,b8,jsCall_iiiii_59,b8,jsCall_iiiii_60,b8,jsCall_iiiii_61,b8,jsCall_iiiii_62,b8,jsCall_iiiii_63,b8,_unixAccess,_unixFullPathname,_fts3UpdateMethod,_porterOpen,_simpleOpen,_unicodeOpen,_unixShmLock,_unixUnfetch,_sqlite3BtreeData,_sqlite3WalDefaultHook,_sqlite3InitCallback,_analysisLoader,_fts3StrCompare,_fts3BinCompare,b8,b8,b8,b8,b8 +var FUNCTION_TABLE_viii = [b7,b7,jsCall_viii_0,b7,jsCall_viii_1,b7,jsCall_viii_2,b7,jsCall_viii_3,b7,jsCall_viii_4,b7,jsCall_viii_5,b7,jsCall_viii_6,b7,jsCall_viii_7,b7,jsCall_viii_8,b7,jsCall_viii_9,b7,jsCall_viii_10,b7,jsCall_viii_11,b7,jsCall_viii_12,b7,jsCall_viii_13 +,b7,jsCall_viii_14,b7,jsCall_viii_15,b7,jsCall_viii_16,b7,jsCall_viii_17,b7,jsCall_viii_18,b7,jsCall_viii_19,b7,jsCall_viii_20,b7,jsCall_viii_21,b7,jsCall_viii_22,b7,jsCall_viii_23,b7,jsCall_viii_24,b7,jsCall_viii_25,b7,jsCall_viii_26,b7,jsCall_viii_27,b7,jsCall_viii_28 +,b7,jsCall_viii_29,b7,jsCall_viii_30,b7,jsCall_viii_31,b7,jsCall_viii_32,b7,jsCall_viii_33,b7,jsCall_viii_34,b7,jsCall_viii_35,b7,jsCall_viii_36,b7,jsCall_viii_37,b7,jsCall_viii_38,b7,jsCall_viii_39,b7,jsCall_viii_40,b7,jsCall_viii_41,b7,jsCall_viii_42,b7,jsCall_viii_43 +,b7,jsCall_viii_44,b7,jsCall_viii_45,b7,jsCall_viii_46,b7,jsCall_viii_47,b7,jsCall_viii_48,b7,jsCall_viii_49,b7,jsCall_viii_50,b7,jsCall_viii_51,b7,jsCall_viii_52,b7,jsCall_viii_53,b7,jsCall_viii_54,b7,jsCall_viii_55,b7,jsCall_viii_56,b7,jsCall_viii_57,b7,jsCall_viii_58 +,b7,jsCall_viii_59,b7,jsCall_viii_60,b7,jsCall_viii_61,b7,jsCall_viii_62,b7,jsCall_viii_63,b7,_acosFunc,_asinFunc,_atanFunc,_atn2Func,_acoshFunc,_asinhFunc,_atanhFunc,_differenceFunc,_rad2degFunc,_deg2radFunc,_cosFunc,_sinFunc,_tanFunc,_cotFunc,_coshFunc,_sinhFunc,_tanhFunc,_cothFunc,_expFunc +,_logFunc,_log10Func,_powerFunc,_signFunc,_sqrtFunc,_squareFunc,_ceilFunc,_floorFunc,_piFunc,_replicateFunc,_charindexFunc,_leftFunc,_rightFunc,_reverseFunc,_properFunc,_padlFunc,_padrFunc,_padcFunc,_strfilterFunc,_varianceStep,_modeStep,_pcache1Unpin,_compileoptionusedFunc,_compileoptiongetFunc,_versionFunc,_trimFunc,_minmaxFunc,_minmaxStep,_typeofFunc,_lengthFunc +,_instrFunc,_printfFunc,_unicodeFunc,_charFunc,_absFunc,_roundFunc,_upperFunc,_lowerFunc,_hexFunc,_randomFunc,_randomBlob,_nullifFunc,_sourceidFunc,_errlogFunc,_quoteFunc,_last_insert_rowid,_changes,_total_changes,_replaceFunc,_zeroblobFunc,_substrFunc,_sumStep,_countStep,_groupConcatStep,_likeFunc,_juliandayFunc,_dateFunc,_timeFunc,_datetimeFunc,_strftimeFunc +,_ctimeFunc,_ctimestampFunc,_cdateFunc,_renameTableFunc,_renameTriggerFunc,_renameParentFunc,_statInit,_statPush,_statGet,_detachFunc,_attachFunc,_fts3SnippetFunc,_fts3OffsetsFunc,_fts3OptimizeFunc,_fts3MatchinfoFunc,_fts5ExprFunctionHr,_fts5ExprFunctionTcl,_fts5ExprIsAlnum,_fts5ExprFold,_fts5ApiPhraseNextColumn,_btreeParseCellPtrIndex,_btreeParseCellPtr,_btreeParseCellPtrNoPayload,_sqlite3InvalidFunction,_fts3TokenizerFunc,_fts5Fts5Func,_fts5SourceIdFunc,_fts5DecodeFunction,_fts5RowidFunction,_fts5MergeRowidLists +,_fts5MergePrefixLists,_fts5SegIterNext_Reverse,_fts5SegIterNext_None,_fts5SegIterNext,_fts5ApiCallback,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7]; +var FUNCTION_TABLE_v = [b8,b8,jsCall_v_0,b8,jsCall_v_1,b8,jsCall_v_2,b8,jsCall_v_3,b8,jsCall_v_4,b8,jsCall_v_5,b8,jsCall_v_6,b8,jsCall_v_7,b8,jsCall_v_8,b8,jsCall_v_9,b8,jsCall_v_10,b8,jsCall_v_11,b8,jsCall_v_12,b8,jsCall_v_13 +,b8,jsCall_v_14,b8,jsCall_v_15,b8,jsCall_v_16,b8,jsCall_v_17,b8,jsCall_v_18,b8,jsCall_v_19,b8,jsCall_v_20,b8,jsCall_v_21,b8,jsCall_v_22,b8,jsCall_v_23,b8,jsCall_v_24,b8,jsCall_v_25,b8,jsCall_v_26,b8,jsCall_v_27,b8,jsCall_v_28 +,b8,jsCall_v_29,b8,jsCall_v_30,b8,jsCall_v_31,b8,jsCall_v_32,b8,jsCall_v_33,b8,jsCall_v_34,b8,jsCall_v_35,b8,jsCall_v_36,b8,jsCall_v_37,b8,jsCall_v_38,b8,jsCall_v_39,b8,jsCall_v_40,b8,jsCall_v_41,b8,jsCall_v_42,b8,jsCall_v_43 +,b8,jsCall_v_44,b8,jsCall_v_45,b8,jsCall_v_46,b8,jsCall_v_47,b8,jsCall_v_48,b8,jsCall_v_49,b8,jsCall_v_50,b8,jsCall_v_51,b8,jsCall_v_52,b8,jsCall_v_53,b8,jsCall_v_54,b8,jsCall_v_55,b8,jsCall_v_56,b8,jsCall_v_57,b8,jsCall_v_58 +,b8,jsCall_v_59,b8,jsCall_v_60,b8,jsCall_v_61,b8,jsCall_v_62,b8,jsCall_v_63,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8 ,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8 ,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8 ,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8 ,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiii = [b9,b9,jsCall_viiiiii_0,b9,jsCall_viiiiii_1,b9,jsCall_viiiiii_2,b9,jsCall_viiiiii_3,b9,jsCall_viiiiii_4,b9,jsCall_viiiiii_5,b9,jsCall_viiiiii_6,b9,jsCall_viiiiii_7,b9,jsCall_viiiiii_8,b9,jsCall_viiiiii_9,b9,jsCall_viiiiii_10,b9,jsCall_viiiiii_11,b9,jsCall_viiiiii_12,b9,jsCall_viiiiii_13 -,b9,jsCall_viiiiii_14,b9,jsCall_viiiiii_15,b9,jsCall_viiiiii_16,b9,jsCall_viiiiii_17,b9,jsCall_viiiiii_18,b9,jsCall_viiiiii_19,b9,jsCall_viiiiii_20,b9,jsCall_viiiiii_21,b9,jsCall_viiiiii_22,b9,jsCall_viiiiii_23,b9,jsCall_viiiiii_24,b9,jsCall_viiiiii_25,b9,jsCall_viiiiii_26,b9,jsCall_viiiiii_27,b9,jsCall_viiiiii_28 -,b9,jsCall_viiiiii_29,b9,jsCall_viiiiii_30,b9,jsCall_viiiiii_31,b9,jsCall_viiiiii_32,b9,jsCall_viiiiii_33,b9,jsCall_viiiiii_34,b9,jsCall_viiiiii_35,b9,jsCall_viiiiii_36,b9,jsCall_viiiiii_37,b9,jsCall_viiiiii_38,b9,jsCall_viiiiii_39,b9,jsCall_viiiiii_40,b9,jsCall_viiiiii_41,b9,jsCall_viiiiii_42,b9,jsCall_viiiiii_43 -,b9,jsCall_viiiiii_44,b9,jsCall_viiiiii_45,b9,jsCall_viiiiii_46,b9,jsCall_viiiiii_47,b9,jsCall_viiiiii_48,b9,jsCall_viiiiii_49,b9,jsCall_viiiiii_50,b9,jsCall_viiiiii_51,b9,jsCall_viiiiii_52,b9,jsCall_viiiiii_53,b9,jsCall_viiiiii_54,b9,jsCall_viiiiii_55,b9,jsCall_viiiiii_56,b9,jsCall_viiiiii_57,b9,jsCall_viiiiii_58 -,b9,jsCall_viiiiii_59,b9,jsCall_viiiiii_60,b9,jsCall_viiiiii_61,b9,jsCall_viiiiii_62,b9,jsCall_viiiiii_63,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9 -,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9 +var FUNCTION_TABLE_iiiii = [b9,b9,jsCall_iiiii_0,b9,jsCall_iiiii_1,b9,jsCall_iiiii_2,b9,jsCall_iiiii_3,b9,jsCall_iiiii_4,b9,jsCall_iiiii_5,b9,jsCall_iiiii_6,b9,jsCall_iiiii_7,b9,jsCall_iiiii_8,b9,jsCall_iiiii_9,b9,jsCall_iiiii_10,b9,jsCall_iiiii_11,b9,jsCall_iiiii_12,b9,jsCall_iiiii_13 +,b9,jsCall_iiiii_14,b9,jsCall_iiiii_15,b9,jsCall_iiiii_16,b9,jsCall_iiiii_17,b9,jsCall_iiiii_18,b9,jsCall_iiiii_19,b9,jsCall_iiiii_20,b9,jsCall_iiiii_21,b9,jsCall_iiiii_22,b9,jsCall_iiiii_23,b9,jsCall_iiiii_24,b9,jsCall_iiiii_25,b9,jsCall_iiiii_26,b9,jsCall_iiiii_27,b9,jsCall_iiiii_28 +,b9,jsCall_iiiii_29,b9,jsCall_iiiii_30,b9,jsCall_iiiii_31,b9,jsCall_iiiii_32,b9,jsCall_iiiii_33,b9,jsCall_iiiii_34,b9,jsCall_iiiii_35,b9,jsCall_iiiii_36,b9,jsCall_iiiii_37,b9,jsCall_iiiii_38,b9,jsCall_iiiii_39,b9,jsCall_iiiii_40,b9,jsCall_iiiii_41,b9,jsCall_iiiii_42,b9,jsCall_iiiii_43 +,b9,jsCall_iiiii_44,b9,jsCall_iiiii_45,b9,jsCall_iiiii_46,b9,jsCall_iiiii_47,b9,jsCall_iiiii_48,b9,jsCall_iiiii_49,b9,jsCall_iiiii_50,b9,jsCall_iiiii_51,b9,jsCall_iiiii_52,b9,jsCall_iiiii_53,b9,jsCall_iiiii_54,b9,jsCall_iiiii_55,b9,jsCall_iiiii_56,b9,jsCall_iiiii_57,b9,jsCall_iiiii_58 +,b9,jsCall_iiiii_59,b9,jsCall_iiiii_60,b9,jsCall_iiiii_61,b9,jsCall_iiiii_62,b9,jsCall_iiiii_63,b9,_unixAccess,_unixFullPathname,_unixShmLock,_unixUnfetch,_fts3UpdateMethod,_porterOpen,_simpleOpen,_unicodeOpen,_fts5UpdateMethod,_fts5UnicodeCreate,_fts5AsciiCreate,_fts5PorterCreate,_fts5ApiColumnText,_fts5ApiQueryPhrase,_fts5ApiPhraseFirstColumn,_sqlite3WalDefaultHook,_sqlite3InitCallback,_analysisLoader,_sqlite3BtreeData +,_sqlite3BtreePutData,_fts3StrCompare,_fts3BinCompare,_fts5FindTokenizer,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9 ,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9 ,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9 ,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9]; -var FUNCTION_TABLE_iii = [b10,b10,jsCall_iii_0,b10,jsCall_iii_1,b10,jsCall_iii_2,b10,jsCall_iii_3,b10,jsCall_iii_4,b10,jsCall_iii_5,b10,jsCall_iii_6,b10,jsCall_iii_7,b10,jsCall_iii_8,b10,jsCall_iii_9,b10,jsCall_iii_10,b10,jsCall_iii_11,b10,jsCall_iii_12,b10,jsCall_iii_13 -,b10,jsCall_iii_14,b10,jsCall_iii_15,b10,jsCall_iii_16,b10,jsCall_iii_17,b10,jsCall_iii_18,b10,jsCall_iii_19,b10,jsCall_iii_20,b10,jsCall_iii_21,b10,jsCall_iii_22,b10,jsCall_iii_23,b10,jsCall_iii_24,b10,jsCall_iii_25,b10,jsCall_iii_26,b10,jsCall_iii_27,b10,jsCall_iii_28 -,b10,jsCall_iii_29,b10,jsCall_iii_30,b10,jsCall_iii_31,b10,jsCall_iii_32,b10,jsCall_iii_33,b10,jsCall_iii_34,b10,jsCall_iii_35,b10,jsCall_iii_36,b10,jsCall_iii_37,b10,jsCall_iii_38,b10,jsCall_iii_39,b10,jsCall_iii_40,b10,jsCall_iii_41,b10,jsCall_iii_42,b10,jsCall_iii_43 -,b10,jsCall_iii_44,b10,jsCall_iii_45,b10,jsCall_iii_46,b10,jsCall_iii_47,b10,jsCall_iii_48,b10,jsCall_iii_49,b10,jsCall_iii_50,b10,jsCall_iii_51,b10,jsCall_iii_52,b10,jsCall_iii_53,b10,jsCall_iii_54,b10,jsCall_iii_55,b10,jsCall_iii_56,b10,jsCall_iii_57,b10,jsCall_iii_58 -,b10,jsCall_iii_59,b10,jsCall_iii_60,b10,jsCall_iii_61,b10,jsCall_iii_62,b10,jsCall_iii_63,b10,_unixSleep,_unixCurrentTime,_unixCurrentTimeInt64,_unixGetSystemCall,_unixNextSystemCall,_fts3BestIndexMethod,_fts3OpenMethod,_fts3RowidMethod,_fts3RenameMethod,_fts3SavepointMethod,_fts3ReleaseMethod,_fts3RollbackToMethod,_fts3tokBestIndexMethod,_fts3tokOpenMethod,_fts3tokRowidMethod,_fts3auxBestIndexMethod,_fts3auxOpenMethod,_fts3auxRowidMethod,_memjrnlSync -,_memjrnlFileSize,_sqlite3MemRealloc,_posixIoFinderImpl,_nolockIoFinderImpl,_dotlockIoFinderImpl,_unixSync,_unixFileSize,_dotlockLock,_dotlockUnlock,_dotlockCheckReservedLock,_unixShmUnmap,_access,_getcwd,_stat,_fstat,_ftruncate,_fchmod,_openDirectory,_mkdir,___munmap,_lstat,_nolockLock,_nolockUnlock,_nolockCheckReservedLock,_unixLock,_unixUnlock,_unixCheckReservedLock,_int_cmp,_double_cmp,_sqliteDefaultBusyCallback -,_sqlite3Malloc,_fts3StrHash,_fts3BinHash,_fts3SegReaderDoclistCmpRev,_fts3SegReaderDoclistCmp,_fts3SegReaderCmp,_fts3CompareElemByTerm,_pagerStress,_pagerUndoCallback,_cellSizePtr,_cellSizePtrNoPayload,_sqlite3ExprWalkNoop,_convertCompoundSelectToSubquery,_selectExpander,_resolveExprStep,_resolveSelectStep,_incrAggDepth,_exprSrcCount,_exprNodeIsConstant,_selectNodeIsConstant,_exprIdxCover,_checkConstraintExprNode,_sqlite3BtreeNext,_sqlite3BtreePrevious,_analyzeAggregate,_analyzeAggregatesInSelect,b10,b10,b10,b10 +var FUNCTION_TABLE_viiiiii = [b10,b10,jsCall_viiiiii_0,b10,jsCall_viiiiii_1,b10,jsCall_viiiiii_2,b10,jsCall_viiiiii_3,b10,jsCall_viiiiii_4,b10,jsCall_viiiiii_5,b10,jsCall_viiiiii_6,b10,jsCall_viiiiii_7,b10,jsCall_viiiiii_8,b10,jsCall_viiiiii_9,b10,jsCall_viiiiii_10,b10,jsCall_viiiiii_11,b10,jsCall_viiiiii_12,b10,jsCall_viiiiii_13 +,b10,jsCall_viiiiii_14,b10,jsCall_viiiiii_15,b10,jsCall_viiiiii_16,b10,jsCall_viiiiii_17,b10,jsCall_viiiiii_18,b10,jsCall_viiiiii_19,b10,jsCall_viiiiii_20,b10,jsCall_viiiiii_21,b10,jsCall_viiiiii_22,b10,jsCall_viiiiii_23,b10,jsCall_viiiiii_24,b10,jsCall_viiiiii_25,b10,jsCall_viiiiii_26,b10,jsCall_viiiiii_27,b10,jsCall_viiiiii_28 +,b10,jsCall_viiiiii_29,b10,jsCall_viiiiii_30,b10,jsCall_viiiiii_31,b10,jsCall_viiiiii_32,b10,jsCall_viiiiii_33,b10,jsCall_viiiiii_34,b10,jsCall_viiiiii_35,b10,jsCall_viiiiii_36,b10,jsCall_viiiiii_37,b10,jsCall_viiiiii_38,b10,jsCall_viiiiii_39,b10,jsCall_viiiiii_40,b10,jsCall_viiiiii_41,b10,jsCall_viiiiii_42,b10,jsCall_viiiiii_43 +,b10,jsCall_viiiiii_44,b10,jsCall_viiiiii_45,b10,jsCall_viiiiii_46,b10,jsCall_viiiiii_47,b10,jsCall_viiiiii_48,b10,jsCall_viiiiii_49,b10,jsCall_viiiiii_50,b10,jsCall_viiiiii_51,b10,jsCall_viiiiii_52,b10,jsCall_viiiiii_53,b10,jsCall_viiiiii_54,b10,jsCall_viiiiii_55,b10,jsCall_viiiiii_56,b10,jsCall_viiiiii_57,b10,jsCall_viiiiii_58 +,b10,jsCall_viiiiii_59,b10,jsCall_viiiiii_60,b10,jsCall_viiiiii_61,b10,jsCall_viiiiii_62,b10,jsCall_viiiiii_63,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10 +,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10 +,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10 ,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10 ,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10]; -var FUNCTION_TABLE_iiiiii = [b11,b11,jsCall_iiiiii_0,b11,jsCall_iiiiii_1,b11,jsCall_iiiiii_2,b11,jsCall_iiiiii_3,b11,jsCall_iiiiii_4,b11,jsCall_iiiiii_5,b11,jsCall_iiiiii_6,b11,jsCall_iiiiii_7,b11,jsCall_iiiiii_8,b11,jsCall_iiiiii_9,b11,jsCall_iiiiii_10,b11,jsCall_iiiiii_11,b11,jsCall_iiiiii_12,b11,jsCall_iiiiii_13 -,b11,jsCall_iiiiii_14,b11,jsCall_iiiiii_15,b11,jsCall_iiiiii_16,b11,jsCall_iiiiii_17,b11,jsCall_iiiiii_18,b11,jsCall_iiiiii_19,b11,jsCall_iiiiii_20,b11,jsCall_iiiiii_21,b11,jsCall_iiiiii_22,b11,jsCall_iiiiii_23,b11,jsCall_iiiiii_24,b11,jsCall_iiiiii_25,b11,jsCall_iiiiii_26,b11,jsCall_iiiiii_27,b11,jsCall_iiiiii_28 -,b11,jsCall_iiiiii_29,b11,jsCall_iiiiii_30,b11,jsCall_iiiiii_31,b11,jsCall_iiiiii_32,b11,jsCall_iiiiii_33,b11,jsCall_iiiiii_34,b11,jsCall_iiiiii_35,b11,jsCall_iiiiii_36,b11,jsCall_iiiiii_37,b11,jsCall_iiiiii_38,b11,jsCall_iiiiii_39,b11,jsCall_iiiiii_40,b11,jsCall_iiiiii_41,b11,jsCall_iiiiii_42,b11,jsCall_iiiiii_43 -,b11,jsCall_iiiiii_44,b11,jsCall_iiiiii_45,b11,jsCall_iiiiii_46,b11,jsCall_iiiiii_47,b11,jsCall_iiiiii_48,b11,jsCall_iiiiii_49,b11,jsCall_iiiiii_50,b11,jsCall_iiiiii_51,b11,jsCall_iiiiii_52,b11,jsCall_iiiiii_53,b11,jsCall_iiiiii_54,b11,jsCall_iiiiii_55,b11,jsCall_iiiiii_56,b11,jsCall_iiiiii_57,b11,jsCall_iiiiii_58 -,b11,jsCall_iiiiii_59,b11,jsCall_iiiiii_60,b11,jsCall_iiiiii_61,b11,jsCall_iiiiii_62,b11,jsCall_iiiiii_63,b11,_unixOpen,_fts3FilterMethod,_fts3FindFunctionMethod,_fts3tokFilterMethod,_fts3auxFilterMethod,_memjrnlRead,_memjrnlWrite,_unixRead,_unixWrite,_unixFetch,_unixShmMap,_binCollFunc,_nocaseCollatingFunc,b11,b11,b11,b11,b11,b11 -,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11 -,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11 -,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11 +var FUNCTION_TABLE_iii = [b11,b11,jsCall_iii_0,b11,jsCall_iii_1,b11,jsCall_iii_2,b11,jsCall_iii_3,b11,jsCall_iii_4,b11,jsCall_iii_5,b11,jsCall_iii_6,b11,jsCall_iii_7,b11,jsCall_iii_8,b11,jsCall_iii_9,b11,jsCall_iii_10,b11,jsCall_iii_11,b11,jsCall_iii_12,b11,jsCall_iii_13 +,b11,jsCall_iii_14,b11,jsCall_iii_15,b11,jsCall_iii_16,b11,jsCall_iii_17,b11,jsCall_iii_18,b11,jsCall_iii_19,b11,jsCall_iii_20,b11,jsCall_iii_21,b11,jsCall_iii_22,b11,jsCall_iii_23,b11,jsCall_iii_24,b11,jsCall_iii_25,b11,jsCall_iii_26,b11,jsCall_iii_27,b11,jsCall_iii_28 +,b11,jsCall_iii_29,b11,jsCall_iii_30,b11,jsCall_iii_31,b11,jsCall_iii_32,b11,jsCall_iii_33,b11,jsCall_iii_34,b11,jsCall_iii_35,b11,jsCall_iii_36,b11,jsCall_iii_37,b11,jsCall_iii_38,b11,jsCall_iii_39,b11,jsCall_iii_40,b11,jsCall_iii_41,b11,jsCall_iii_42,b11,jsCall_iii_43 +,b11,jsCall_iii_44,b11,jsCall_iii_45,b11,jsCall_iii_46,b11,jsCall_iii_47,b11,jsCall_iii_48,b11,jsCall_iii_49,b11,jsCall_iii_50,b11,jsCall_iii_51,b11,jsCall_iii_52,b11,jsCall_iii_53,b11,jsCall_iii_54,b11,jsCall_iii_55,b11,jsCall_iii_56,b11,jsCall_iii_57,b11,jsCall_iii_58 +,b11,jsCall_iii_59,b11,jsCall_iii_60,b11,jsCall_iii_61,b11,jsCall_iii_62,b11,jsCall_iii_63,b11,_unixSleep,_unixCurrentTime,_unixCurrentTimeInt64,_unixGetSystemCall,_unixNextSystemCall,_posixIoFinderImpl,_nolockIoFinderImpl,_dotlockIoFinderImpl,_unixSync,_unixFileSize,_dotlockLock,_dotlockUnlock,_dotlockCheckReservedLock,_unixShmUnmap,_access,_getcwd,_stat,_fstat,_ftruncate +,_fchmod,_openDirectory,_mkdir,___munmap,_lstat,_nolockLock,_nolockUnlock,_nolockCheckReservedLock,_unixLock,_unixUnlock,_unixCheckReservedLock,_sqlite3MemRealloc,_memjrnlSync,_memjrnlFileSize,_fts3BestIndexMethod,_fts3OpenMethod,_fts3RowidMethod,_fts3RenameMethod,_fts3SavepointMethod,_fts3ReleaseMethod,_fts3RollbackToMethod,_fts3tokBestIndexMethod,_fts3tokOpenMethod,_fts3tokRowidMethod,_fts3auxBestIndexMethod,_fts3auxOpenMethod,_fts3auxRowidMethod,_fts5BestIndexMethod,_fts5OpenMethod,_fts5RowidMethod +,_fts5RenameMethod,_fts5SavepointMethod,_fts5ReleaseMethod,_fts5RollbackToMethod,_fts5VocabBestIndexMethod,_fts5VocabOpenMethod,_fts5VocabRowidMethod,_fts5ApiRowCount,_fts5ApiPhraseSize,_fts5ApiInstCount,_fts5ApiGetAuxdata,_int_cmp,_double_cmp,_pagerStress,_pagerUndoCallback,_cellSizePtr,_cellSizePtrNoPayload,_sqlite3Malloc,_sqlite3ExprWalkNoop,_convertCompoundSelectToSubquery,_selectExpander,_resolveExprStep,_resolveSelectStep,_incrAggDepth,_exprSrcCount,_exprNodeIsConstant,_selectNodeIsConstant,_sqliteDefaultBusyCallback,_exprIdxCover,_checkConstraintExprNode +,_sqlite3BtreeNext,_sqlite3BtreePrevious,_analyzeAggregate,_analyzeAggregatesInSelect,_fts3StrHash,_fts3BinHash,_fts3SegReaderDoclistCmpRev,_fts3SegReaderDoclistCmp,_fts3SegReaderCmp,_fts3CompareElemByTerm,_fts5ParseAlloc,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11 ,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11]; -var FUNCTION_TABLE_viiii = [b12,b12,jsCall_viiii_0,b12,jsCall_viiii_1,b12,jsCall_viiii_2,b12,jsCall_viiii_3,b12,jsCall_viiii_4,b12,jsCall_viiii_5,b12,jsCall_viiii_6,b12,jsCall_viiii_7,b12,jsCall_viiii_8,b12,jsCall_viiii_9,b12,jsCall_viiii_10,b12,jsCall_viiii_11,b12,jsCall_viiii_12,b12,jsCall_viiii_13 -,b12,jsCall_viiii_14,b12,jsCall_viiii_15,b12,jsCall_viiii_16,b12,jsCall_viiii_17,b12,jsCall_viiii_18,b12,jsCall_viiii_19,b12,jsCall_viiii_20,b12,jsCall_viiii_21,b12,jsCall_viiii_22,b12,jsCall_viiii_23,b12,jsCall_viiii_24,b12,jsCall_viiii_25,b12,jsCall_viiii_26,b12,jsCall_viiii_27,b12,jsCall_viiii_28 -,b12,jsCall_viiii_29,b12,jsCall_viiii_30,b12,jsCall_viiii_31,b12,jsCall_viiii_32,b12,jsCall_viiii_33,b12,jsCall_viiii_34,b12,jsCall_viiii_35,b12,jsCall_viiii_36,b12,jsCall_viiii_37,b12,jsCall_viiii_38,b12,jsCall_viiii_39,b12,jsCall_viiii_40,b12,jsCall_viiii_41,b12,jsCall_viiii_42,b12,jsCall_viiii_43 -,b12,jsCall_viiii_44,b12,jsCall_viiii_45,b12,jsCall_viiii_46,b12,jsCall_viiii_47,b12,jsCall_viiii_48,b12,jsCall_viiii_49,b12,jsCall_viiii_50,b12,jsCall_viiii_51,b12,jsCall_viiii_52,b12,jsCall_viiii_53,b12,jsCall_viiii_54,b12,jsCall_viiii_55,b12,jsCall_viiii_56,b12,jsCall_viiii_57,b12,jsCall_viiii_58 -,b12,jsCall_viiii_59,b12,jsCall_viiii_60,b12,jsCall_viiii_61,b12,jsCall_viiii_62,b12,jsCall_viiii_63,b12,_pcache1Rekey,_modeIterate,_medianIterate,_sqlite3ExprIfFalse,_sqlite3ExprIfTrue,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 -,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 +var FUNCTION_TABLE_iiiiii = [b12,b12,jsCall_iiiiii_0,b12,jsCall_iiiiii_1,b12,jsCall_iiiiii_2,b12,jsCall_iiiiii_3,b12,jsCall_iiiiii_4,b12,jsCall_iiiiii_5,b12,jsCall_iiiiii_6,b12,jsCall_iiiiii_7,b12,jsCall_iiiiii_8,b12,jsCall_iiiiii_9,b12,jsCall_iiiiii_10,b12,jsCall_iiiiii_11,b12,jsCall_iiiiii_12,b12,jsCall_iiiiii_13 +,b12,jsCall_iiiiii_14,b12,jsCall_iiiiii_15,b12,jsCall_iiiiii_16,b12,jsCall_iiiiii_17,b12,jsCall_iiiiii_18,b12,jsCall_iiiiii_19,b12,jsCall_iiiiii_20,b12,jsCall_iiiiii_21,b12,jsCall_iiiiii_22,b12,jsCall_iiiiii_23,b12,jsCall_iiiiii_24,b12,jsCall_iiiiii_25,b12,jsCall_iiiiii_26,b12,jsCall_iiiiii_27,b12,jsCall_iiiiii_28 +,b12,jsCall_iiiiii_29,b12,jsCall_iiiiii_30,b12,jsCall_iiiiii_31,b12,jsCall_iiiiii_32,b12,jsCall_iiiiii_33,b12,jsCall_iiiiii_34,b12,jsCall_iiiiii_35,b12,jsCall_iiiiii_36,b12,jsCall_iiiiii_37,b12,jsCall_iiiiii_38,b12,jsCall_iiiiii_39,b12,jsCall_iiiiii_40,b12,jsCall_iiiiii_41,b12,jsCall_iiiiii_42,b12,jsCall_iiiiii_43 +,b12,jsCall_iiiiii_44,b12,jsCall_iiiiii_45,b12,jsCall_iiiiii_46,b12,jsCall_iiiiii_47,b12,jsCall_iiiiii_48,b12,jsCall_iiiiii_49,b12,jsCall_iiiiii_50,b12,jsCall_iiiiii_51,b12,jsCall_iiiiii_52,b12,jsCall_iiiiii_53,b12,jsCall_iiiiii_54,b12,jsCall_iiiiii_55,b12,jsCall_iiiiii_56,b12,jsCall_iiiiii_57,b12,jsCall_iiiiii_58 +,b12,jsCall_iiiiii_59,b12,jsCall_iiiiii_60,b12,jsCall_iiiiii_61,b12,jsCall_iiiiii_62,b12,jsCall_iiiiii_63,b12,_unixOpen,_unixRead,_unixWrite,_unixFetch,_unixShmMap,_memjrnlRead,_memjrnlWrite,_fts3FilterMethod,_fts3FindFunctionMethod,_fts3tokFilterMethod,_fts3auxFilterMethod,_fts5FilterMethod,_fts5FindFunctionMethod,_fts5VocabFilterMethod,_fts5ApiTokenize,_fts5ApiInst,_fts5ApiPhraseFirst,_binCollFunc,_nocaseCollatingFunc +,_fts5CreateAux,_fts5CreateTokenizer,_fts5ExprNodeNext_TERM,_fts5ExprNodeNext_STRING,_fts5ExprNodeNext_OR,_fts5ExprNodeNext_AND,_fts5ExprNodeNext_NOT,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 ,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 ,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 ,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12]; - - return { _sqlite3_value_blob: _sqlite3_value_blob, _sqlite3_column_name: _sqlite3_column_name, _sqlite3_reset: _sqlite3_reset, _sqlite3_column_type: _sqlite3_column_type, _sqlite3_exec: _sqlite3_exec, _sqlite3_result_null: _sqlite3_result_null, _sqlite3_step: _sqlite3_step, _bitshift64Lshr: _bitshift64Lshr, _sqlite3_prepare_v2: _sqlite3_prepare_v2, _sqlite3_close_v2: _sqlite3_close_v2, _sqlite3_open: _sqlite3_open, _bitshift64Shl: _bitshift64Shl, _sqlite3_result_text: _sqlite3_result_text, _fflush: _fflush, _sqlite3_column_bytes: _sqlite3_column_bytes, _sqlite3_bind_int: _sqlite3_bind_int, _sqlite3_bind_blob: _sqlite3_bind_blob, _memset: _memset, _sqlite3_value_double: _sqlite3_value_double, _memcpy: _memcpy, _sqlite3_result_double: _sqlite3_result_double, _sqlite3_value_text: _sqlite3_value_text, _sqlite3_changes: _sqlite3_changes, _sqlite3_column_blob: _sqlite3_column_blob, _sqlite3_bind_parameter_index: _sqlite3_bind_parameter_index, _sqlite3_value_type: _sqlite3_value_type, _i64Subtract: _i64Subtract, _sqlite3_column_text: _sqlite3_column_text, _i64Add: _i64Add, _sqlite3_value_bytes: _sqlite3_value_bytes, _sqlite3_finalize: _sqlite3_finalize, _sqlite3_column_double: _sqlite3_column_double, _sqlite3_create_function_v2: _sqlite3_create_function_v2, _sqlite3_free: _sqlite3_free, _sqlite3_value_int: _sqlite3_value_int, _sqlite3_data_count: _sqlite3_data_count, _sqlite3_bind_text: _sqlite3_bind_text, _sqlite3_bind_double: _sqlite3_bind_double, ___errno_location: ___errno_location, _RegisterExtensionFunctions: _RegisterExtensionFunctions, _free: _free, _memmove: _memmove, _sqlite3_errmsg: _sqlite3_errmsg, _sqlite3_clear_bindings: _sqlite3_clear_bindings, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_iiii: dynCall_iiii, dynCall_i: dynCall_i, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_iiiiiii: dynCall_iiiiiii, dynCall_ii: dynCall_ii, dynCall_viii: dynCall_viii, dynCall_v: dynCall_v, dynCall_iiiii: dynCall_iiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_iii: dynCall_iii, dynCall_iiiiii: dynCall_iiiiii, dynCall_viiii: dynCall_viiii }; +var FUNCTION_TABLE_viiii = [b13,b13,jsCall_viiii_0,b13,jsCall_viiii_1,b13,jsCall_viiii_2,b13,jsCall_viiii_3,b13,jsCall_viiii_4,b13,jsCall_viiii_5,b13,jsCall_viiii_6,b13,jsCall_viiii_7,b13,jsCall_viiii_8,b13,jsCall_viiii_9,b13,jsCall_viiii_10,b13,jsCall_viiii_11,b13,jsCall_viiii_12,b13,jsCall_viiii_13 +,b13,jsCall_viiii_14,b13,jsCall_viiii_15,b13,jsCall_viiii_16,b13,jsCall_viiii_17,b13,jsCall_viiii_18,b13,jsCall_viiii_19,b13,jsCall_viiii_20,b13,jsCall_viiii_21,b13,jsCall_viiii_22,b13,jsCall_viiii_23,b13,jsCall_viiii_24,b13,jsCall_viiii_25,b13,jsCall_viiii_26,b13,jsCall_viiii_27,b13,jsCall_viiii_28 +,b13,jsCall_viiii_29,b13,jsCall_viiii_30,b13,jsCall_viiii_31,b13,jsCall_viiii_32,b13,jsCall_viiii_33,b13,jsCall_viiii_34,b13,jsCall_viiii_35,b13,jsCall_viiii_36,b13,jsCall_viiii_37,b13,jsCall_viiii_38,b13,jsCall_viiii_39,b13,jsCall_viiii_40,b13,jsCall_viiii_41,b13,jsCall_viiii_42,b13,jsCall_viiii_43 +,b13,jsCall_viiii_44,b13,jsCall_viiii_45,b13,jsCall_viiii_46,b13,jsCall_viiii_47,b13,jsCall_viiii_48,b13,jsCall_viiii_49,b13,jsCall_viiii_50,b13,jsCall_viiii_51,b13,jsCall_viiii_52,b13,jsCall_viiii_53,b13,jsCall_viiii_54,b13,jsCall_viiii_55,b13,jsCall_viiii_56,b13,jsCall_viiii_57,b13,jsCall_viiii_58 +,b13,jsCall_viiii_59,b13,jsCall_viiii_60,b13,jsCall_viiii_61,b13,jsCall_viiii_62,b13,jsCall_viiii_63,b13,_pcache1Rekey,_fts5ApiPhraseNext,_modeIterate,_medianIterate,_sqlite3ExprIfFalse,_sqlite3ExprIfTrue,_fts5PoslistCallback,_fts5PoslistFilterCallback,_fts5PoslistOffsetsCallback,_fts5MergeChunkCallback,b13,b13,b13,b13,b13,b13,b13,b13,b13 +,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13 +,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13 +,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13 +,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13]; + + return { ___uremdi3: ___uremdi3, _sqlite3_value_blob: _sqlite3_value_blob, _sqlite3_column_name: _sqlite3_column_name, _sqlite3_reset: _sqlite3_reset, _sqlite3_column_type: _sqlite3_column_type, _sqlite3_exec: _sqlite3_exec, _sqlite3_result_null: _sqlite3_result_null, ___udivdi3: ___udivdi3, _sqlite3_step: _sqlite3_step, _bitshift64Lshr: _bitshift64Lshr, _sqlite3_prepare_v2: _sqlite3_prepare_v2, _sqlite3_close_v2: _sqlite3_close_v2, _sqlite3_open: _sqlite3_open, _bitshift64Shl: _bitshift64Shl, _sqlite3_result_text: _sqlite3_result_text, _fflush: _fflush, _sqlite3_errmsg: _sqlite3_errmsg, _sqlite3_column_bytes: _sqlite3_column_bytes, _sqlite3_bind_int: _sqlite3_bind_int, _sqlite3_bind_blob: _sqlite3_bind_blob, _memset: _memset, _sbrk: _sbrk, _sqlite3_value_double: _sqlite3_value_double, _memcpy: _memcpy, _sqlite3_result_double: _sqlite3_result_double, _sqlite3_value_text: _sqlite3_value_text, ___muldi3: ___muldi3, _sqlite3_changes: _sqlite3_changes, _sqlite3_column_blob: _sqlite3_column_blob, _sqlite3_bind_parameter_index: _sqlite3_bind_parameter_index, ___divdi3: ___divdi3, _sqlite3_value_type: _sqlite3_value_type, _pthread_mutex_trylock: _pthread_mutex_trylock, _i64Subtract: _i64Subtract, _sqlite3_column_text: _sqlite3_column_text, ___udivmoddi4: ___udivmoddi4, _llvm_cttz_i32: _llvm_cttz_i32, _i64Add: _i64Add, _sqlite3_value_bytes: _sqlite3_value_bytes, _pthread_mutex_unlock: _pthread_mutex_unlock, _sqlite3_finalize: _sqlite3_finalize, _sqlite3_column_double: _sqlite3_column_double, _sqlite3_create_function_v2: _sqlite3_create_function_v2, _sqlite3_free: _sqlite3_free, _sqlite3_value_int: _sqlite3_value_int, _sqlite3_data_count: _sqlite3_data_count, _sqlite3_bind_text: _sqlite3_bind_text, _sqlite3_bind_double: _sqlite3_bind_double, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _RegisterExtensionFunctions: _RegisterExtensionFunctions, _free: _free, _memmove: _memmove, _emscripten_get_global_libc: _emscripten_get_global_libc, _sqlite3_clear_bindings: _sqlite3_clear_bindings, _malloc: _malloc, _bitshift64Ashr: _bitshift64Ashr, _pthread_mutex_lock: _pthread_mutex_lock, _memalign: _memalign, ___remdi3: ___remdi3, _llvm_bswap_i32: _llvm_bswap_i32, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_iiii: dynCall_iiii, dynCall_viiiii: dynCall_viiiii, dynCall_i: dynCall_i, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_iiiiiii: dynCall_iiiiiii, dynCall_ii: dynCall_ii, dynCall_viii: dynCall_viii, dynCall_v: dynCall_v, dynCall_iiiii: dynCall_iiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_iii: dynCall_iii, dynCall_iiiiii: dynCall_iiiiii, dynCall_viiii: dynCall_viiii }; }) // EMSCRIPTEN_END_ASM (Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; var _sqlite3_value_blob = Module["_sqlite3_value_blob"] = asm["_sqlite3_value_blob"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; var _sqlite3_column_name = Module["_sqlite3_column_name"] = asm["_sqlite3_column_name"]; var _sqlite3_reset = Module["_sqlite3_reset"] = asm["_sqlite3_reset"]; var _sqlite3_column_type = Module["_sqlite3_column_type"] = asm["_sqlite3_column_type"]; var _sqlite3_exec = Module["_sqlite3_exec"] = asm["_sqlite3_exec"]; +var _sqlite3_data_count = Module["_sqlite3_data_count"] = asm["_sqlite3_data_count"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; var _sqlite3_result_null = Module["_sqlite3_result_null"] = asm["_sqlite3_result_null"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; var _sqlite3_step = Module["_sqlite3_step"] = asm["_sqlite3_step"]; var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; var _sqlite3_prepare_v2 = Module["_sqlite3_prepare_v2"] = asm["_sqlite3_prepare_v2"]; @@ -287449,39 +342754,58 @@ var _sqlite3_open = Module["_sqlite3_open"] = asm["_sqlite3_open"]; var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; var _sqlite3_result_text = Module["_sqlite3_result_text"] = asm["_sqlite3_result_text"]; var _fflush = Module["_fflush"] = asm["_fflush"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; var _sqlite3_column_bytes = Module["_sqlite3_column_bytes"] = asm["_sqlite3_column_bytes"]; var _sqlite3_bind_int = Module["_sqlite3_bind_int"] = asm["_sqlite3_bind_int"]; var _sqlite3_bind_blob = Module["_sqlite3_bind_blob"] = asm["_sqlite3_bind_blob"]; var _memset = Module["_memset"] = asm["_memset"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; var _sqlite3_value_double = Module["_sqlite3_value_double"] = asm["_sqlite3_value_double"]; var _memcpy = Module["_memcpy"] = asm["_memcpy"]; var _sqlite3_result_double = Module["_sqlite3_result_double"] = asm["_sqlite3_result_double"]; var _sqlite3_value_text = Module["_sqlite3_value_text"] = asm["_sqlite3_value_text"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; var _sqlite3_changes = Module["_sqlite3_changes"] = asm["_sqlite3_changes"]; var _sqlite3_column_blob = Module["_sqlite3_column_blob"] = asm["_sqlite3_column_blob"]; -var _sqlite3_bind_parameter_index = Module["_sqlite3_bind_parameter_index"] = asm["_sqlite3_bind_parameter_index"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var ___divdi3 = Module["___divdi3"] = asm["___divdi3"]; var _sqlite3_value_type = Module["_sqlite3_value_type"] = asm["_sqlite3_value_type"]; +var _pthread_mutex_trylock = Module["_pthread_mutex_trylock"] = asm["_pthread_mutex_trylock"]; var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; var _sqlite3_column_text = Module["_sqlite3_column_text"] = asm["_sqlite3_column_text"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; var _i64Add = Module["_i64Add"] = asm["_i64Add"]; var _sqlite3_value_bytes = Module["_sqlite3_value_bytes"] = asm["_sqlite3_value_bytes"]; +var _pthread_mutex_unlock = Module["_pthread_mutex_unlock"] = asm["_pthread_mutex_unlock"]; var _sqlite3_finalize = Module["_sqlite3_finalize"] = asm["_sqlite3_finalize"]; var _sqlite3_column_double = Module["_sqlite3_column_double"] = asm["_sqlite3_column_double"]; var _sqlite3_create_function_v2 = Module["_sqlite3_create_function_v2"] = asm["_sqlite3_create_function_v2"]; -var _sqlite3_free = Module["_sqlite3_free"] = asm["_sqlite3_free"]; +var _sqlite3_errmsg = Module["_sqlite3_errmsg"] = asm["_sqlite3_errmsg"]; var _sqlite3_value_int = Module["_sqlite3_value_int"] = asm["_sqlite3_value_int"]; -var _sqlite3_data_count = Module["_sqlite3_data_count"] = asm["_sqlite3_data_count"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; var _sqlite3_bind_text = Module["_sqlite3_bind_text"] = asm["_sqlite3_bind_text"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; var _sqlite3_bind_double = Module["_sqlite3_bind_double"] = asm["_sqlite3_bind_double"]; var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; var _RegisterExtensionFunctions = Module["_RegisterExtensionFunctions"] = asm["_RegisterExtensionFunctions"]; var _free = Module["_free"] = asm["_free"]; var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _sqlite3_errmsg = Module["_sqlite3_errmsg"] = asm["_sqlite3_errmsg"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _sqlite3_bind_parameter_index = Module["_sqlite3_bind_parameter_index"] = asm["_sqlite3_bind_parameter_index"]; +var _sqlite3_free = Module["_sqlite3_free"] = asm["_sqlite3_free"]; var _sqlite3_clear_bindings = Module["_sqlite3_clear_bindings"] = asm["_sqlite3_clear_bindings"]; var _malloc = Module["_malloc"] = asm["_malloc"]; +var _bitshift64Ashr = Module["_bitshift64Ashr"] = asm["_bitshift64Ashr"]; +var _pthread_mutex_lock = Module["_pthread_mutex_lock"] = asm["_pthread_mutex_lock"]; +var _memalign = Module["_memalign"] = asm["_memalign"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var ___remdi3 = Module["___remdi3"] = asm["___remdi3"]; var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; @@ -287496,18 +342820,23 @@ var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"]; var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; ; -Runtime.stackAlloc = asm['stackAlloc']; -Runtime.stackSave = asm['stackSave']; -Runtime.stackRestore = asm['stackRestore']; -Runtime.establishStackSpace = asm['establishStackSpace']; +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = asm['setTempRet0']; -Runtime.getTempRet0 = asm['getTempRet0']; +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; // === Auto-generated postamble setup entry stuff === +Module['asm'] = asm; + + + + function ExitStatus(status) { this.name = "ExitStatus"; @@ -287528,8 +342857,6 @@ dependenciesFulfilled = function runCaller() { } Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); args = args || []; @@ -287569,8 +342896,12 @@ Module['callMain'] = Module.callMain = function callMain(args) { Module['noExitRuntime'] = true; return; } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); } } finally { calledMain = true; @@ -287589,6 +342920,7 @@ function run(args) { return; } + preRun(); if (runDependencies > 0) return; // a preRun added a dependency, run will be called later @@ -287598,7 +342930,7 @@ function run(args) { if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening Module['calledRun'] = true; - if (ABORT) return; + if (ABORT) return; ensureInitRuntime(); @@ -287644,25 +342976,9 @@ function exit(status, implicit) { } if (ENVIRONMENT_IS_NODE) { - // Work around a node.js bug where stdout buffer is not flushed at process exit: - // Instead of process.exit() directly, wait for stdout flush event. - // See https://github.com/joyent/node/issues/1669 and https://github.com/kripken/emscripten/issues/2582 - // Workaround is based on https://github.com/RReverser/acorn/commit/50ab143cecc9ed71a2d66f78b4aec3bb2e9844f6 - process['stdout']['once']('drain', function () { - process['exit'](status); - }); - console.log(' '); // Make sure to print something to force the drain event to occur, in case the stdout buffer was empty. - // Work around another node bug where sometimes 'drain' is never fired - make another effort - // to emit the exit status, after a significant delay (if node hasn't fired drain by then, give up) - setTimeout(function() { - process['exit'](status); - }, 500); - } else - if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') { - quit(status); + process['exit'](status); } - // if we reach here, we must throw an exception to halt the current execution - throw new ExitStatus(status); + Module['quit'](status, new ExitStatus(status)); } Module['exit'] = Module.exit = exit; @@ -287716,12 +343032,11 @@ run(); - // {{MODULE_ADDITIONS}} -// Generated by CoffeeScript 1.9.2 +// Generated by CoffeeScript 1.12.5 var Database, NULL, RegisterExtensionFunctions, Runtime, SQLite, Statement, apiTemp, i, sqlite3_bind_blob, sqlite3_bind_double, sqlite3_bind_int, sqlite3_bind_parameter_index, sqlite3_bind_text, sqlite3_changes, sqlite3_clear_bindings, sqlite3_close_v2, sqlite3_column_blob, sqlite3_column_bytes, sqlite3_column_double, sqlite3_column_name, sqlite3_column_text, sqlite3_column_type, sqlite3_create_function_v2, sqlite3_data_count, sqlite3_errmsg, sqlite3_exec, sqlite3_finalize, sqlite3_free, sqlite3_open, sqlite3_prepare_v2, sqlite3_prepare_v2_sqlptr, sqlite3_reset, sqlite3_result_double, sqlite3_result_null, sqlite3_result_text, sqlite3_step, sqlite3_value_blob, sqlite3_value_bytes, sqlite3_value_double, sqlite3_value_int, sqlite3_value_text, sqlite3_value_type; Runtime = Module['Runtime']; diff --git a/js/sql-memory-growth.js b/js/sql-memory-growth.js index b0845550..57d521bd 100644 --- a/js/sql-memory-growth.js +++ b/js/sql-memory-growth.js @@ -1,504 +1,529 @@ // This prevents pollution of the global namespace var SQL = (function () { -var f;f||(f=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var ba={},ca;for(ca in f)f.hasOwnProperty(ca)&&(ba[ca]=f[ca]);var da="object"===typeof window,ea="function"===typeof importScripts,fa="object"===typeof process&&"function"===typeof require&&!da&&!ea,ga=!da&&!fa&&!ea; -if(fa){f.print||(f.print=function(a){process.stdout.write(a+"\n")});f.printErr||(f.printErr=function(a){process.stderr.write(a+"\n")});var ha=require("fs"),ja=require("path");f.read=function(a,b){a=ja.normalize(a);var c=ha.readFileSync(a);c||a==ja.resolve(a)||(a=path.join(__dirname,"..","src",a),c=ha.readFileSync(a));c&&!b&&(c=c.toString());return c};f.readBinary=function(a){a=f.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};f.load=function(a){ka(read(a))};f.thisProgram||(f.thisProgram= -1 0) var gc = undefined");else if(da||ea)f.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},"undefined"!=typeof arguments&&(f.arguments=arguments),"undefined"!== -typeof console?(f.print||(f.print=function(a){console.log(a)}),f.printErr||(f.printErr=function(a){console.log(a)})):f.print||(f.print=function(){}),ea&&(f.load=importScripts),"undefined"===typeof f.setWindowTitle&&(f.setWindowTitle=function(a){document.title=a});else throw"Unknown runtime environment. Where are we?";function ka(a){eval.call(null,a)}!f.load&&f.read&&(f.load=function(a){ka(f.read(a))});f.print||(f.print=function(){});f.printErr||(f.printErr=f.print);f.arguments||(f.arguments=[]); -f.thisProgram||(f.thisProgram="./this.program");f.print=f.print;f.fa=f.printErr;f.preRun=[];f.postRun=[];for(ca in ba)ba.hasOwnProperty(ca)&&(f[ca]=ba[ca]); -var l={Qb:function(a){ma=a},Ab:function(){return ma},qa:function(){return k},ga:function(a){k=a},Xa:function(a){switch(a){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:return"*"===a[a.length-1]?l.M:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},xb:function(a){return Math.max(l.Xa(a),l.M)},oe:16,Ke:function(a,b){"double"===b||"i64"===b?a&7&&(assert(4===(a&7)),a+=4):assert(0===(a&3));return a}, -ye:function(a,b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?l.xb(a):0),l.M):Math.min(b,8):8},T:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),f["dynCall_"+a].apply(null,c)):f["dynCall_"+a].call(null,b)},A:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, -null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],La:function(a){for(var b=0;b=p&&!oa()?(n=b,0):b},ta:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},He:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},aa:8,M:4,re:0};f.Runtime=l;l.addFunction=l.La;l.removeFunction=l.Mb;var pa=!1,qa,ra,ma;function assert(a,b){a||q("Assertion failed: "+b)} -function sa(a){var b=f["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}assert(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var ta,ua; -(function(){function a(a){a=a.toString().match(d).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}var b={stackSave:function(){l.qa()},stackRestore:function(){l.ga()},arrayToC:function(a){var b=l.R(a.length);wa(a,b);return b},stringToC:function(a){var b=0;null!==a&&void 0!==a&&0!==a&&(b=l.R((a.length<<2)+1),xa(a,b));return b}},c={string:b.stringToC,array:b.arrayToC};ua=function(a,b,d,e,g){a=sa(a);var v=[],I=0;if(e)for(var J=0;J>0]=b;break;case "i8":w[a>>0]=b;break;case "i16":Aa[a>>1]=b;break;case "i32":y[a>>2]=b;break;case "i64":ra=[b>>>0,(qa=b,1<=+Ba(qa)?0>>0:~~+Ea((qa-+(~~qa>>>0))/4294967296)>>>0:0)];y[a>>2]=ra[0];y[a+4>>2]=ra[1];break;case "float":Fa[a>>2]=b;break;case "double":Ga[a>>3]=b;break;default:q("invalid type for setValue: "+c)}}f.setValue=za; -function Ha(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return w[a>>0];case "i8":return w[a>>0];case "i16":return Aa[a>>1];case "i32":return y[a>>2];case "i64":return y[a>>2];case "float":return Fa[a>>2];case "double":return Ga[a>>3];default:q("invalid type for setValue: "+b)}return null}f.getValue=Ha;f.ALLOC_NORMAL=0;f.ALLOC_STACK=1;f.ALLOC_STATIC=2;f.ALLOC_DYNAMIC=3;f.ALLOC_NONE=4; -function z(a,b,c,d){var e,g;"number"===typeof a?(e=!0,g=a):(e=!1,g=a.length);var h="string"===typeof b?b:null;c=4==c?d:[Ia,l.R,l.bb,l.ba][void 0===c?2:c](Math.max(g,h?1:b.length));if(e){d=c;assert(0==(c&3));for(a=c+(g&-4);d>2]=0;for(a=c+g;d>0]=0;return c}if("i8"===h)return a.subarray||a.slice?A.set(a,c):A.set(new Uint8Array(a),c),c;d=0;for(var m,t;d>0];c|=d;if(0==d&&!b)break;e++;if(b&&e==b)break}b||(b=e);d="";if(128>c){for(;0>0];if(!c)return b;b+=String.fromCharCode(c)}}; -f.stringToAscii=function(a,b){return Ma(a,b,!1)}; -function Na(a,b){for(var c,d,e,g,h,m,t="";;){c=a[b++];if(!c)return t;c&128?(d=a[b++]&63,192==(c&224)?t+=String.fromCharCode((c&31)<<6|d):(e=a[b++]&63,224==(c&240)?c=(c&15)<<12|d<<6|e:(g=a[b++]&63,240==(c&248)?c=(c&7)<<18|d<<12|e<<6|g:(h=a[b++]&63,248==(c&252)?c=(c&3)<<24|d<<18|e<<12|g<<6|h:(m=a[b++]&63,c=(c&1)<<30|d<<24|e<<18|g<<12|h<<6|m))),65536>c?t+=String.fromCharCode(c):(c-=65536,t+=String.fromCharCode(55296|c>>10,56320|c&1023)))):t+=String.fromCharCode(c)}}f.UTF8ArrayToString=Na; -f.UTF8ToString=function(a){return Na(A,a)}; -function Oa(a,b,c,d){if(!(0=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++g)&1023);if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(2097151>=h){if(c+3>=d)break;b[c++]=240|h>>18}else{if(67108863>=h){if(c+4>=d)break;b[c++]=248|h>>24}else{if(c+5>=d)break;b[c++]=252|h>>30;b[c++]=128|h>>24&63}b[c++]=128|h>>18&63}b[c++]=128| -h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-e}f.stringToUTF8Array=Oa;f.stringToUTF8=function(a,b,c){return Oa(a,A,b,c)};function Pa(a){for(var b=0,c=0;c=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:2097151>=d?b+4:67108863>=d?b+5:b+6}return b}f.lengthBytesUTF8=Pa;f.UTF16ToString=function(a){for(var b=0,c="";;){var d=Aa[a+2*b>>1];if(0==d)return c;++b;c+=String.fromCharCode(d)}}; -f.stringToUTF16=function(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e>1]=a.charCodeAt(e),b+=2;Aa[b>>1]=0;return b-d};f.lengthBytesUTF16=function(a){return 2*a.length};f.UTF32ToString=function(a){for(var b=0,c="";;){var d=y[a+4*b>>2];if(0==d)return c;++b;65536<=d?(d=d-65536,c+=String.fromCharCode(55296|d>>10,56320|d&1023)):c+=String.fromCharCode(d)}}; -f.stringToUTF32=function(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e=g)var h=a.charCodeAt(++e),g=65536+((g&1023)<<10)|h&1023;y[b>>2]=g;b+=4;if(b+4>c)break}y[b>>2]=0;return b-d};f.lengthBytesUTF32=function(a){for(var b=0,c=0;c=d&&++c;b+=4}return b}; -function Qa(a){function b(c,d,e){d=d||Infinity;var g="",h=[],v;if("N"===a[m]){m++;"K"===a[m]&&m++;for(v=[];"E"!==a[m];)if("S"===a[m]){m++;var H=a.indexOf("_",m);v.push(r[a.substring(m,H)||0]||"?");m=H+1}else if("C"===a[m])v.push(v[v.length-1]),m+=2;else{var H=parseInt(a.substr(m)),ia=H.toString().length;if(!H||!ia){m--;break}var oc=a.substr(m+ia,H);v.push(oc);r.push(oc);m+=ia+H}m++;v=v.join("::");d--;if(0===d)return c?[v]:v}else if(("K"===a[m]||x&&"L"===a[m])&&m++,H=parseInt(a.substr(m)))ia=H.toString().length, -v=a.substr(m+ia,H),m+=ia+H;x=!1;"I"===a[m]?(m++,H=b(!0),ia=b(!0,1,!0),g+=ia[0]+" "+v+"<"+H.join(", ")+">"):g=v;a:for(;m=a)return!1;for(;p<=n;)if(p=a)return!1;try{if(ArrayBuffer.B)buffer=ArrayBuffer.B(buffer,p);else{var c=w;buffer=new ArrayBuffer(p)}}catch(d){return!1}if(!ab(buffer))return!1;f.buffer=buffer;f.HEAP8=w=new Int8Array(buffer);f.HEAP16=Aa=new Int16Array(buffer);f.HEAP32=y=new Int32Array(buffer);f.HEAPU8=A=new Uint8Array(buffer);f.HEAPU16=Va=new Uint16Array(buffer);f.HEAPU32=Wa= -new Uint32Array(buffer);f.HEAPF32=Fa=new Float32Array(buffer);f.HEAPF64=Ga=new Float64Array(buffer);ArrayBuffer.B||w.set(c);return!0}var bb;try{bb=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),bb(new ArrayBuffer(4))}catch(cb){bb=function(a){return a.byteLength}}for(var db=f.TOTAL_STACK||5242880,p=f.TOTAL_MEMORY||16777216,C=65536;CC?2*C:C+16777216;C=Math.max(C,16777216);C!==p&&(p=C); -assert("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(p);w=new Int8Array(buffer);Aa=new Int16Array(buffer);y=new Int32Array(buffer);A=new Uint8Array(buffer);Va=new Uint16Array(buffer);Wa=new Uint32Array(buffer);Fa=new Float32Array(buffer);Ga=new Float64Array(buffer);y[0]=255;assert(255===A[0]&&0===A[3],"Typed arrays 2 must be run on a little-endian system"); -f.HEAP=void 0;f.buffer=buffer;f.HEAP8=w;f.HEAP16=Aa;f.HEAP32=y;f.HEAPU8=A;f.HEAPU16=Va;f.HEAPU32=Wa;f.HEAPF32=Fa;f.HEAPF64=Ga;function eb(a){for(;0>0]=a[c],c+=1}f.writeStringToMemory=xa;function wa(a,b){for(var c=0;c>0]=a[c]}f.writeArrayToMemory=wa; -function Ma(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(w[b>>0]=0)}f.writeAsciiToMemory=Ma;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0});Math.De=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.ue=Math.clz32; -var Ba=Math.abs,mb=Math.cos,nb=Math.sin,ob=Math.tan,pb=Math.acos,qb=Math.asin,rb=Math.atan,sb=Math.atan2,tb=Math.exp,ub=Math.log,vb=Math.sqrt,Ea=Math.ceil,Da=Math.floor,wb=Math.pow,Ca=Math.min,xb=0,yb=null,zb=null;function Ab(){xb++;f.monitorRunDependencies&&f.monitorRunDependencies(xb)}f.addRunDependency=Ab;function Bb(){xb--;f.monitorRunDependencies&&f.monitorRunDependencies(xb);if(0==xb&&(null!==yb&&(clearInterval(yb),yb=null),zb)){var a=zb;zb=null;a()}}f.removeRunDependency=Bb; -f.preloadedImages={};f.preloadedAudios={};Xa=8;na=Xa+48688;gb.push(); -z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,64,0,0,1,0,1,0,130,0,0,0,55,64,0,0,1,0,1,0,131,0,0,0,60,64,0,0,1,0,1,0,132,0,0,0,65,64,0,0,2,0,1,0,133,0,0,0,70,64,0,0,2,0,1,0,133,0,0,0,76,64,0,0,1,0,1,0,134,0,0,0,82,64,0,0,1,0,1,0,135,0,0,0,88,64,0,0,1,0,1,0,136,0,0,0,94,64,0,0,2,0,1,0,137,0,0,0,105,64,0,0,1,0,1,0, -138,0,0,0,113,64,0,0,1,0,1,0,139,0,0,0,121,64,0,0,1,0,1,0,140,0,0,0,125,64,0,0,1,0,1,0,141,0,0,0,129,64,0,0,1,0,1,0,142,0,0,0,133,64,0,0,1,0,1,0,143,0,0,0,137,64,0,0,1,0,1,0,144,0,0,0,142,64,0,0,1,0,1,0,145,0,0,0,147,64,0,0,1,0,1,0,146,0,0,0,152,64,0,0,1,0,1,0,147,0,0,0,157,64,0,0,1,0,1,0,148,0,0,0,143,98,0,0,1,0,1,0,149,0,0,0,161,64,0,0,1,0,1,0,150,0,0,0,167,64,0,0,2,0,1,0,151,0,0,0,173,64,0,0,1,0,1,0,152,0,0,0,178,64,0,0,1,0,1,0,153,0,0,0,183,64,0,0,1,0,1,0,154,0,0,0,190,64,0,0,1,0,1,0,155,0,0, -0,195,64,0,0,1,0,1,0,156,0,0,0,201,64,0,0,0,0,1,1,157,0,0,0,204,64,0,0,2,0,1,0,158,0,0,0,214,64,0,0,2,0,1,0,159,0,0,0,214,64,0,0,3,0,1,0,159,0,0,0,224,64,0,0,2,0,1,0,160,0,0,0,232,64,0,0,2,0,1,0,161,0,0,0,241,64,0,0,1,0,1,0,162,0,0,0,249,64,0,0,1,0,1,0,163,0,0,0,0,65,0,0,2,0,1,0,164,0,0,0,5,65,0,0,2,0,1,0,165,0,0,0,10,65,0,0,2,0,1,0,166,0,0,0,15,65,0,0,2,0,1,0,167,0,0,0,25,65,0,0,1,0,0,0,168,0,0,0,130,0,0,0,31,65,0,0,1,0,0,0,168,0,0,0,131,0,0,0,221,101,0,0,1,0,0,0,169,0,0,0,132,0,0,0,40,65,0,0,1, -0,0,0,169,0,0,0,133,0,0,0,47,65,0,0,1,0,0,0,169,0,0,0,134,0,0,0,62,65,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,45,178,0,0,66,178,0,0,78,178,0,0,90,178,0,0,114,178,0,0,125,178,0,0,145,178,0,0,159,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,21,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,26,172,0,0,208,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130, -0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,36,172,0,0,212,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,49,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0, -0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131, -0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,81,0,0,184,81,0,0,252,81,0,0,24,82,0,0,53,82,0,0,80,82,0,0,108,82,0,0,133,82,0,0,157,82,0,0,222,82,0,0,25,83,0,0,93,83,0,0,141,83,0,0,253,83,0, -0,132,84,0,0,184,84,0,0,250,84,0,0,37,85,0,0,96,85,0,0,135,85,0,0,179,85,0,0,220,85,0,0,11,86,0,0,53,86,0,0,226,71,0,0,226,71,0,0,91,86,0,0,146,86,0,0,207,86,0,0,70,87,0,0,173,87,0,0,228,87,0,0,30,88,0,0,137,88,0,0,216,88,0,0,25,89,0,0,85,89,0,0,133,89,0,0,239,89,0,0,56,90,0,0,6,80,0,0,170,0,0,0,14,80,0,0,171,0,0,0,32,80,0,0,172,0,0,0,22,80,0,0,173,0,0,0,0,93,0,0,2,0,4,0,3,93,0,0,3,1,3,0,7,93,0,0,3,1,2,0,11,93,0,0,4,0,1,0,22,80,0,0,9,0,0,0,236,96,0,0,6,0,0,0,99,94,0,0,8,0,0,0,108,94,0,0,10,0,0,0, -243,96,0,0,5,0,0,0,37,94,0,0,7,0,0,0,249,96,0,0,10,0,0,0,4,97,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255, -255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0, -9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24, -47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0, -6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110, -0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156, -0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1, -8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248, -3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68, -7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220, -7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,102,0,0,0,0,2,0,61,102,0,0,0,0,4,0,0,0,0,0,0,0,0,0,37,102,0,0,1,0,0,0,40,102,0,0,2,0,0,0,43,102,0,0,6,0,0,0,47,102,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150, -0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,133,0,0,1,0,0,0,226,77,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,185,120,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,175,120,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,155,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,78,0,0,248,120,0,0,5,121,0,0,0,0,0,0,18,121,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,85,122,0,0,0,0,0,0,3,0,1,0,0,0,0, -0,0,0,0,0,179,0,0,0,0,0,0,0,210,122,0,0,0,0,0,0,23,130,0,0,0,0,0,0,8,0,0,0,247,125,0,0,1,1,0,0,0,0,0,0,38,130,0,0,2,0,0,0,0,0,16,0,54,130,0,0,3,0,0,0,0,0,0,0,114,125,0,0,4,1,0,0,0,0,0,0,23,126,0,0,5,0,0,0,0,0,0,0,67,130,0,0,6,0,0,0,0,0,0,0,87,130,0,0,2,0,0,0,0,0,0,32,103,130,0,0,2,0,0,0,16,0,0,0,124,130,0,0,7,0,0,0,0,0,0,0,139,130,0,0,8,0,0,0,0,0,0,0,155,130,0,0,2,0,0,0,128,0,0,0,169,130,0,0,0,2,0,0,15,0,0,0,182,130,0,0,10,1,0,0,0,0,0,0,196,130,0,0,11,1,0,0,0,0,0,0,215,130,0,0,2,0,0,0,0,0,0,2,234, -130,0,0,2,0,0,0,0,1,0,0,126,127,0,0,12,0,0,0,0,0,0,0,1,131,0,0,13,1,0,0,0,0,0,0,19,131,0,0,14,1,0,0,0,0,0,0,36,131,0,0,2,0,0,0,0,0,8,0,49,131,0,0,0,2,0,0,0,0,0,0,64,131,0,0,2,0,0,0,4,0,0,0,82,131,0,0,2,0,0,0,8,0,0,0,92,131,0,0,2,0,0,0,0,32,0,0,117,131,0,0,15,1,0,0,0,0,0,0,136,131,0,0,16,1,0,0,0,0,0,0,147,131,0,0,17,1,0,0,0,0,0,0,158,131,0,0,16,1,0,0,1,0,0,0,221,126,0,0,18,1,0,0,0,0,0,0,215,125,0,0,19,1,0,0,0,0,0,0,228,125,0,0,20,0,0,0,0,0,0,0,170,131,0,0,2,0,0,0,0,128,0,0,202,125,0,0,22,0,0,0,0,0, -0,0,189,131,0,0,23,1,0,0,0,0,0,0,35,126,0,0,24,0,0,0,0,0,0,0,204,131,0,0,23,1,0,0,0,0,0,0,161,125,0,0,25,0,0,0,0,0,0,0,215,131,0,0,2,0,0,0,0,0,0,4,226,131,0,0,18,1,0,0,0,0,0,0,238,131,0,0,2,0,0,0,0,64,0,0,255,131,0,0,2,0,0,0,0,0,4,0,18,132,0,0,2,0,0,0,0,0,2,0,44,132,0,0,0,0,0,0,1,0,0,0,171,125,0,0,26,0,0,0,0,0,0,0,59,132,0,0,2,0,0,0,64,0,0,0,78,132,0,0,27,0,0,0,0,0,0,0,244,127,0,0,28,0,0,0,0,0,0,0,92,132,0,0,29,1,0,0,0,0,0,0,102,126,0,0,30,1,0,0,0,0,0,0,98,132,0,0,31,1,0,0,0,0,0,0,45,126,0,0,32,0, -0,0,0,0,0,0,56,126,0,0,33,0,0,0,0,0,0,0,4,128,0,0,34,0,0,0,0,0,0,0,109,132,0,0,0,0,0,0,6,0,0,0,217,127,0,0,35,0,0,0,0,0,0,0,122,132,0,0,36,1,0,0,0,0,0,0,137,132,0,0,2,0,0,0,0,8,1,0,121,129,0,0,76,129,0,0,153,129,0,0,158,129,0,0,166,129,0,0,90,129,0,0,225,128,0,0,134,129,0,0,140,129,0,0,146,129,0,0,115,129,0,0,121,129,0,0,76,129,0,0,9,94,0,0,125,129,0,0,130,129,0,0,38,129,0,0,76,129,0,0,93,129,0,0,100,129,0,0,107,129,0,0,86,129,0,0,88,129,0,0,90,129,0,0,38,129,0,0,76,129,0,0,81,129,0,0,38,129,0,0, -76,129,0,0,35,129,0,0,38,129,0,0,225,128,0,0,42,129,0,0,47,129,0,0,50,129,0,0,60,129,0,0,70,129,0,0,225,128,0,0,169,96,0,0,231,128,0,0,238,128,0,0,30,128,0,0,1,0,0,0,35,128,0,0,1,0,0,0,41,128,0,0,2,0,0,0,50,128,0,0,3,0,0,0,59,128,0,0,2,0,0,0,67,128,0,0,3,0,0,0,75,128,0,0,0,0,0,0,82,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,128,0,0,143,98,0,0,17,128,0,0,0,130,0,0,7,130,0,0,15,130,0,0,208,127,0,0,47,102,0,0,19,130,0,0,70,129,0,0,64,0,0,0,97,128,0,0,66,0,0,0,92,128,0,0,65,0,0,0,25,136,0,0,67,0,0,0,248,116, -0,0,3,0,0,0,244,116,0,0,3,0,0,0,226,71,0,0,19,146,0,0,25,146,0,0,30,146,0,0,35,146,0,0,151,146,0,0,157,146,0,0,165,146,0,0,216,154,0,0,221,154,0,0,228,154,0,0,231,154,0,0,234,154,0,0,237,154,0,0,240,154,0,0,243,154,0,0,251,154,0,0,243,96,0,0,42,129,0,0,4,155,0,0,148,163,0,0,157,163,0,0,164,163,0,0,170,163,0,0,253,163,0,0,7,164,0,0,18,164,0,0,30,164,0,0,41,164,0,0,52,164,0,0,63,164,0,0,68,164,0,0,73,164,0,0,84,164,0,0,96,164,0,0,103,164,0,0,111,164,0,0,119,164,0,0,124,164,0,0,130,164,0,0,144,164,0, -0,150,164,0,0,160,164,0,0,165,164,0,0,169,164,0,0,174,164,0,0,177,164,0,0,183,164,0,0,190,164,0,0,197,164,0,0,204,164,0,0,211,164,0,0,214,164,0,0,218,164,0,0,229,164,0,0,238,164,0,0,244,164,0,0,254,164,0,0,8,165,0,0,15,165,0,0,23,165,0,0,26,165,0,0,29,165,0,0,32,165,0,0,35,165,0,0,38,165,0,0,41,165,0,0,51,165,0,0,58,165,0,0,64,165,0,0,74,165,0,0,85,165,0,0,89,165,0,0,98,165,0,0,107,165,0,0,114,165,0,0,124,165,0,0,131,165,0,0,136,165,0,0,143,165,0,0,154,165,0,0,159,165,0,0,166,165,0,0,172,165,0,0, -178,165,0,0,184,165,0,0,190,165,0,0,201,165,0,0,212,165,0,0,220,165,0,0,229,165,0,0,235,165,0,0,245,165,0,0,2,166,0,0,13,166,0,0,19,166,0,0,24,166,0,0,31,166,0,0,44,166,0,0,55,166,0,0,60,166,0,0,68,166,0,0,74,166,0,0,81,166,0,0,86,166,0,0,95,166,0,0,100,166,0,0,109,166,0,0,114,166,0,0,119,166,0,0,125,166,0,0,133,166,0,0,143,166,0,0,151,166,0,0,161,166,0,0,170,166,0,0,177,166,0,0,190,166,0,0,195,166,0,0,207,166,0,0,215,166,0,0,222,166,0,0,230,166,0,0,239,166,0,0,250,166,0,0,0,167,0,0,11,167,0,0,21, -167,0,0,31,167,0,0,40,167,0,0,50,167,0,0,64,167,0,0,78,167,0,0,89,167,0,0,102,167,0,0,113,167,0,0,119,167,0,0,131,167,0,0,140,167,0,0,149,167,0,0,156,167,0,0,166,167,0,0,173,167,0,0,184,167,0,0,198,167,0,0,209,167,0,0,216,167,0,0,224,167,0,0,230,167,0,0,238,167,0,0,251,167,0,0,5,168,0,0,15,168,0,0,20,168,0,0,29,168,0,0,37,168,0,0,43,168,0,0,48,168,0,0,60,168,0,0,72,168,0,0,84,168,0,0,96,168,0,0,109,168,0,0,119,168,0,0,129,168,0,0,141,168,0,0,153,168,0,0,163,168,0,0,169,168,0,0,179,168,0,0,186,168, -0,0,198,168,0,0,207,168,0,0,215,168,0,0,224,168,0,0,231,168,0,0,241,168,0,0,248,168,0,0,0,169,0,0,9,169,0,0,15,169,0,0,23,169,0,0,31,169,0,0,41,169,0,0,50,169,0,0,61,169,0,0,66,169,0,0,150,169,0,0,163,169,0,0,0,0,0,0,199,169,0,0,224,169,0,0,255,169,0,0,18,170,0,0,184,97,0,0,43,170,0,0,80,170,0,0,92,170,0,0,107,170,0,0,140,170,0,0,158,170,0,0,183,170,0,0,212,170,0,0,229,170,0,0,73,157,0,0,250,70,0,0,252,170,0,0,14,171,0,0,32,171,0,0,71,171,0,0,102,171,0,0,123,171,0,0,155,171,0,0,189,171,0,0,151,0, -0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,96,172,0,0,145,0,0,0,0,0,0,0,59,172,0,0,163,0,0,0,0,0,0,0,226,101,0,0,160,0,0,0,0,0,0,0,101,172,0,0,161,0,0,0,0,0,0,0,108,172,0,0,162,0,0,0,0,0,0,0,113,172,0,0,163,0,0,0,0,0,0,0,119,172,0,0,164,0,0,0,0,0,0,0,129,172,0,0,146,0,0,0,0,0,0,0,135,172,0,0,147,0,0,0,0,0,0,0,140,172,0,0,0,0,0,0,0,0, -0,0,146,172,0,0,0,0,0,0,0,0,0,0,154,172,0,0,148,0,0,0,0,0,0,0,160,172,0,0,0,0,0,0,0,0,0,0,167,172,0,0,0,0,0,0,0,0,0,0,176,172,0,0,165,0,0,0,0,0,0,0,183,172,0,0,0,0,0,0,0,0,0,0,193,172,0,0,164,0,0,0,0,0,0,0,200,172,0,0,166,0,0,0,0,0,0,0,214,172,0,0,167,0,0,0,0,0,0,0,220,172,0,0,165,0,0,0,0,0,0,0,226,172,0,0,149,0,0,0,0,0,0,0,233,172,0,0,130,0,0,0,0,0,0,0,241,172,0,0,137,0,0,0,0,0,0,0,246,172,0,0,168,0,0,0,0,0,0,0,253,172,0,0,0,0,0,0,0,0,0,0,4,173,0,0,131,0,0,0,0,0,0,0,16,173,0,0,150,0,0,0,0,0,0,0, -25,173,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,173,0,0,131,173,0,0,140,173,0,0,145,173,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0, -0,0,0,180,0,0,0,0,0,0,0,17,175,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,43,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,68,175,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,77,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,88,175,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183, -0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,124,139,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0, -185,0,0,0,142,0,0,0,128,139,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,112,175,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,119,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,126,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,132,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,139,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,147,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,152,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0, -0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,162,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,168,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,174,175,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,178,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,185,175,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,192,175,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0, -199,0,0,0,0,0,0,0,203,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,210,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,225,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,242,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,253,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,3,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,21,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,29,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0, -0,0,0,0,0,43,176,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,51,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,67,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,71,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,77,176,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146, -0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,13,8,218,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,97,128,0,0,0,0,0,0,2,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,3,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0, -0,0,0,0,100,176,0,0,0,0,0,0,101,138,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,165,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,175,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,180,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,185,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,194,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,203,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,216,176,0,0,0,0,0,0,0,0,1,32,0, -0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,234,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,209,177,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,229,177,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,251,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,34,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,39,186,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71, -1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143, -1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118, -3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136, -31,150,8,152,31,150,8,168,31],"i8",4,l.aa); -z([150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62, -121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255, -170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29, -25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235,2,18,3,27,3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76, -0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0, -217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158,3,127,4,137,4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4, -102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202,4,226,4,230,4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239, -4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209, -3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,190,3,190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0, -98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2,46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3, -86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0, -178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25,0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94, -0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3,194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78, -3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0,169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83, -0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64,3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0,189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19, -0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0,151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166, -3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3,56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0,96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8, -3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214,3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121,3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12, -1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0,120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38,0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0, -42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0,18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194,1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121, -0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190,1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244,2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0, -242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0,143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158,3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0, -142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170,1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241,2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1, -134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239,2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3,96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211, -0,12,5,11,5,53,1,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2, -248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181,3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31, -6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255,181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2,42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73, -5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214,4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31,6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4, -153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133,5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158,5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5, -252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178,4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117,4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5, -52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52,5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243, -4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5,111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111, -4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104,4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52,5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52, -5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96,4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,12,0,14, -0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101, +var e;e||(e=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var ba={},ca;for(ca in e)e.hasOwnProperty(ca)&&(ba[ca]=e[ca]);var da=!1,k=!1,l=!1,ea=!1; +if(e.ENVIRONMENT)if("WEB"===e.ENVIRONMENT)da=!0;else if("WORKER"===e.ENVIRONMENT)k=!0;else if("NODE"===e.ENVIRONMENT)l=!0;else if("SHELL"===e.ENVIRONMENT)ea=!0;else throw Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else da="object"===typeof window,k="function"===typeof importScripts,l="object"===typeof process&&"function"===typeof require&&!da&&!k,ea=!da&&!l&&!k; +if(l){e.print||(e.print=console.log);e.printErr||(e.printErr=console.warn);var fa,ga;e.read=function(a,b){fa||(fa=require("fs"));ga||(ga=require("path"));a=ga.normalize(a);var c=fa.readFileSync(a);return b?c:c.toString()};e.readBinary=function(a){a=e.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};e.load=function(a){ha(read(a))};e.thisProgram||(e.thisProgram=1 0) var gc = undefined");else if(da||k)e.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},k&&(e.readBinary=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return b.response}),e.readAsync=function(a, +b,c){var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)},"undefined"!=typeof arguments&&(e.arguments=arguments),"undefined"!==typeof console?(e.print||(e.print=function(a){console.log(a)}),e.printErr||(e.printErr=function(a){console.warn(a)})):e.print||(e.print=function(){}),k&&(e.load=importScripts),"undefined"===typeof e.setWindowTitle&&(e.setWindowTitle=function(a){document.title= +a});else throw"Unknown runtime environment. Where are we?";function ha(a){eval.call(null,a)}!e.load&&e.read&&(e.load=function(a){ha(e.read(a))});e.print||(e.print=function(){});e.printErr||(e.printErr=e.print);e.arguments||(e.arguments=[]);e.thisProgram||(e.thisProgram="./this.program");e.quit||(e.quit=function(a,b){throw b;});e.print=e.print;e.Z=e.printErr;e.preRun=[];e.postRun=[];for(ca in ba)ba.hasOwnProperty(ca)&&(e[ca]=ba[ca]); +var ba=void 0,n={tb:function(a){return tempRet0=a},hb:function(){return tempRet0},$:function(){return m},Q:function(a){m=a},Ga:function(a){switch(a){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:return"*"===a[a.length-1]?n.U:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},eb:function(a){return Math.max(n.Ga(a),n.U)},Qd:16,ke:function(a,b){"double"===b||"i64"===b?a&7&&(assert(4===(a&7)),a+= +4):assert(0===(a&3));return a},$d:function(a,b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?n.eb(a):0),n.U):Math.min(b,8):8},ga:function(a,b,c){return c&&c.length?e["dynCall_"+a].apply(null,[b].concat(c)):e["dynCall_"+a].call(null,b)},j:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, +null,null,null,null,null,null,null,null,null,null,null,null],ua:function(a){for(var b=0;b>2];a=(b+a+15|0)&-16;t[u>>2]=a;return a>=w&&!ja()?(t[u>>2]=b,0):b},va:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},je:function(a, +b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},G:8,U:4,Td:0};e.Runtime=n;n.addFunction=n.ua;n.removeFunction=n.pb;var ka=0;function assert(a,b){a||x("Assertion failed: "+b)}function la(a){var b=e["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}assert(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var na,oa; +(function(){function a(a){a=a.toString().match(f).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}function b(){if(!g){g={};for(var b in c)c.hasOwnProperty(b)&&(g[b]=a(c[b]))}}var c={stackSave:function(){n.$()},stackRestore:function(){n.Q()},arrayToC:function(a){var b=n.D(a.length);pa(a,b);return b},stringToC:function(a){var b=0;if(null!==a&&void 0!==a&&0!==a){var c=(a.length<<2)+1,b=n.D(c);qa(a,b,c)}return b}},d={string:c.stringToC,array:c.arrayToC};oa=function(a,b,c,f,g){a=la(a);var B= +[],S=0;if(f)for(var H=0;H>0]=b;break;case "i8":z[a>>0]=b;break;case "i16":sa[a>>1]=b;break;case "i32":t[a>>2]=b;break;case "i64":tempI64=[b>>>0,(tempDouble=b,1<=+ta(tempDouble)?0>>0:~~+wa((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)];t[a>>2]=tempI64[0];t[a+4>>2]=tempI64[1];break;case "float":xa[a>>2]=b;break;case "double":ya[a>>3]=b;break;default:x("invalid type for setValue: "+ +c)}}e.setValue=ra;function za(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return z[a>>0];case "i8":return z[a>>0];case "i16":return sa[a>>1];case "i32":return t[a>>2];case "i64":return t[a>>2];case "float":return xa[a>>2];case "double":return ya[a>>3];default:x("invalid type for setValue: "+b)}return null}e.getValue=za;e.ALLOC_NORMAL=0;e.ALLOC_STACK=1;e.ALLOC_STATIC=2;e.ALLOC_DYNAMIC=3;e.ALLOC_NONE=4; +function A(a,b,c,d){var f,g;"number"===typeof a?(f=!0,g=a):(f=!1,g=a.length);var h="string"===typeof b?b:null;c=4==c?d:["function"===typeof Aa?Aa:n.oa,n.D,n.oa,n.Ba][void 0===c?2:c](Math.max(g,h?1:b.length));if(f){d=c;assert(0==(c&3));for(a=c+(g&-4);d>2]=0;for(a=c+g;d>0]=0;return c}if("i8"===h)return a.subarray||a.slice?C.set(a,c):C.set(new Uint8Array(a),c),c;d=0;for(var q,v;d>0];c|=d;if(0==d&&!b)break;f++;if(b&&f==b)break}b||(b=f);d="";if(128>c){for(;0>0];if(!c)return b;b+=String.fromCharCode(c)}}; +e.stringToAscii=function(a,b){return Da(a,b,!1)};var Ea="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0; +function Fa(a,b){for(var c=b;a[c];)++c;if(16d?c+=String.fromCharCode(d):(d-=65536,c+=String.fromCharCode(55296|d>> +10,56320|d&1023)))):c+=String.fromCharCode(d)}}e.UTF8ArrayToString=Fa;e.UTF8ToString=function(a){return Fa(C,a)}; +function Ga(a,b,c,d){if(!(0=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++g)&1023);if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(2097151>=h){if(c+3>=d)break;b[c++]=240|h>>18}else{if(67108863>=h){if(c+4>=d)break;b[c++]=248|h>>24}else{if(c+5>=d)break;b[c++]=252|h>>30;b[c++]=128|h>>24&63}b[c++]=128|h>>18&63}b[c++]=128| +h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-f}e.stringToUTF8Array=Ga;function qa(a,b,c){return Ga(a,C,b,c)}e.stringToUTF8=qa;function Ha(a){for(var b=0,c=0;c=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:2097151>=d?b+4:67108863>=d?b+5:b+6}return b}e.lengthBytesUTF8=Ha;"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le"); +function Ia(a){return a.replace(/__Z[\w\d_]+/g,function(a){var c;a:{var d=e.___cxa_demangle||e.__cxa_demangle;if(d)try{var f=a.substr(1),g=Ha(f)+1,h=Aa(g);qa(f,h,g);var q=Aa(4),v=d(h,0,0,q);if(0===za(q,"i32")&&v){c=y(v);break a}}catch(r){}finally{h&&Ja(h),q&&Ja(q),v&&Ja(v)}else n.K("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");c=a}return a===c?a:a+" ["+c+"]"})} +function Ka(){var a;a:{a=Error();if(!a.stack){try{throw Error(0);}catch(b){a=b}if(!a.stack){a="(no stack trace available)";break a}}a=a.stack.toString()}e.extraStackTrace&&(a+="\n"+e.extraStackTrace());return Ia(a)}e.stackTrace=Ka;var La=65536,Ma=16777216,Na=16777216;function Oa(a,b){0>2]>b)return!1;for(w=Math.max(w,Na);w>2];)536870912>=w?w=Oa(2*w,a):w=Math.min(Oa((3*w+2147483648)/4,a),b);a=e.reallocBuffer(w);if(!a||a.byteLength!=w)return!1;e.buffer=buffer=a;Ra();return!0}var Xa; +try{Xa=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),Xa(new ArrayBuffer(4))}catch(Ya){Xa=function(a){return a.byteLength}}var Za=e.TOTAL_STACK||5242880,w=e.TOTAL_MEMORY||16777216;w>0]=a.charCodeAt(d);c||(z[b>>0]=0)}e.writeAsciiToMemory=Da;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0});Math.ee=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.Xd=Math.clz32;Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)}); +Math.trunc=Math.trunc;var ta=Math.abs,wa=Math.ceil,va=Math.floor,ib=Math.pow,ua=Math.min,jb=0,kb=null,lb=null;function mb(){jb++;e.monitorRunDependencies&&e.monitorRunDependencies(jb)}e.addRunDependency=mb;function nb(){jb--;e.monitorRunDependencies&&e.monitorRunDependencies(jb);if(0==jb&&(null!==kb&&(clearInterval(kb),kb=null),lb)){var a=lb;lb=null;a()}}e.removeRunDependency=nb;e.preloadedImages={};e.preloadedAudios={};Sa=8;p=Sa+57088;bb.push(); +A([1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,73,0,0,1,0,1,0,130,0,0,0,201,73,0,0,1,0,1,0,131,0,0,0,206,73,0,0,1,0,1,0,132,0,0,0,211,73,0,0,2,0,1,0,133,0,0,0,216,73,0,0,2,0,1,0,133,0,0,0,222,73,0,0,1,0,1,0,134,0,0,0,228,73,0,0,1,0,1,0,135,0,0,0,234,73,0,0,1,0,1,0,136,0,0,0,240,73,0,0,2,0,1,0,137,0,0,0,251,73,0,0,1,0,1,0,138,0,0,0,3,74,0,0,1,0,1,0,139,0,0,0,11,74,0,0,1,0,1,0, +140,0,0,0,15,74,0,0,1,0,1,0,141,0,0,0,19,74,0,0,1,0,1,0,142,0,0,0,23,74,0,0,1,0,1,0,143,0,0,0,27,74,0,0,1,0,1,0,144,0,0,0,32,74,0,0,1,0,1,0,145,0,0,0,37,74,0,0,1,0,1,0,146,0,0,0,42,74,0,0,1,0,1,0,147,0,0,0,47,74,0,0,1,0,1,0,148,0,0,0,3,126,0,0,1,0,1,0,149,0,0,0,51,74,0,0,1,0,1,0,150,0,0,0,57,74,0,0,2,0,1,0,151,0,0,0,63,74,0,0,1,0,1,0,152,0,0,0,68,74,0,0,1,0,1,0,153,0,0,0,73,74,0,0,1,0,1,0,154,0,0,0,80,74,0,0,1,0,1,0,155,0,0,0,85,74,0,0,1,0,1,0,156,0,0,0,91,74,0,0,0,0,1,1,157,0,0,0,94,74,0,0,2,0,1, +0,158,0,0,0,104,74,0,0,2,0,1,0,159,0,0,0,104,74,0,0,3,0,1,0,159,0,0,0,114,74,0,0,2,0,1,0,160,0,0,0,122,74,0,0,2,0,1,0,161,0,0,0,131,74,0,0,1,0,1,0,162,0,0,0,139,74,0,0,1,0,1,0,163,0,0,0,146,74,0,0,2,0,1,0,164,0,0,0,151,74,0,0,2,0,1,0,165,0,0,0,156,74,0,0,2,0,1,0,166,0,0,0,161,74,0,0,2,0,1,0,167,0,0,0,171,74,0,0,1,0,0,0,168,0,0,0,130,0,0,0,177,74,0,0,1,0,0,0,168,0,0,0,131,0,0,0,250,120,0,0,1,0,0,0,169,0,0,0,132,0,0,0,186,74,0,0,1,0,0,0,169,0,0,0,133,0,0,0,193,74,0,0,1,0,0,0,169,0,0,0,134,0,0,0,208, +74,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,95,79,0,0,116,79,0,0,128,79,0,0,140,79,0,0,164,79,0,0,176,79,0,0,187,79,0,0,207,79,0,0,221,79,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,231,81,0,0,48,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,236,81,0,0,52,5,0,0,130,0,0, +0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,246,81,0,0,56,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,3,82,0,0,48,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0, +132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,1,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,0,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,50,82,0,0,136,0,0,0,0,0,0,0,13,82,0,0,133,0,0,0,0,0,0,0,55,82,0,0,144,0,0,0,0,0,0,0,62,82,0,0,145,0,0,0,0,0,0,0,69,82,0,0,146,0,0,0,0,0,0,0,74,82,0,0,147,0,0,0,0,0,0,0,80,82,0,0,148,0,0,0,0,0,0,0,90,82,0,0,137,0,0,0,0,0,0,0,96,82,0,0,138, +0,0,0,0,0,0,0,101,82,0,0,0,0,0,0,0,0,0,0,107,82,0,0,0,0,0,0,0,0,0,0,115,82,0,0,139,0,0,0,0,0,0,0,121,82,0,0,0,0,0,0,0,0,0,0,128,82,0,0,0,0,0,0,0,0,0,0,137,82,0,0,149,0,0,0,0,0,0,0,144,82,0,0,0,0,0,0,0,0,0,0,154,82,0,0,134,0,0,0,0,0,0,0,161,82,0,0,150,0,0,0,0,0,0,0,175,82,0,0,151,0,0,0,0,0,0,0,181,82,0,0,135,0,0,0,0,0,0,0,187,82,0,0,140,0,0,0,0,0,0,0,194,82,0,0,130,0,0,0,0,0,0,0,202,82,0,0,130,0,0,0,0,0,0,0,207,82,0,0,152,0,0,0,0,0,0,0,214,82,0,0,0,0,0,0,0,0,0,0,221,82,0,0,131,0,0,0,0,0,0,0,233,82, +0,0,141,0,0,0,0,0,0,0,242,82,0,0,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,83,0,0,112,83,0,0,121,83,0,0,229,81,0,0,3,0,0,0,136,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,0,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,3,0,0,0,137,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,0,0,0,64,1,0,0,0, +0,0,0,0,138,0,0,0,137,0,0,0,142,0,0,0,130,0,0,0,139,0,0,0,143,0,0,0,170,0,0,0,130,0,0,0,131,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,140,0,0,0,160,0,0,0,141,0,0,0,142,0,0,0,143,0,0,0,141,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,171,84,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,172,0,0,0,0,0,0,0,197,84,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,222,84,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,231,84,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,242,84,0,0,0,0, +0,0,1,0,1,8,1,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,249,84,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,249,84,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,255,84,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,255,84,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,5,85,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,5,85,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,10,85,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,85,0,0,0,0,0,0,1,0,33,16,0,0, +0,0,0,0,0,0,176,0,0,0,142,0,0,0,10,85,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,14,85,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,85,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,176,0,0,0,142,0,0,0,14,85,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,18,85,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,25,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,32,85,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,38,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0, +0,0,181,0,0,0,0,0,0,0,45,85,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,53,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,58,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,62,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,62,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,185,0,0,0,0,0,0,0,68,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,74,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,80,85,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,173,0,0,0,0,0, +0,0,84,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,91,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,98,85,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,109,85,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,116,85,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,131,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,148,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,159,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,165,85,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,183,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,191,85,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,205,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,213,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,222,85,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,222,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,143,0,0,0,229,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,144,0,0,0,233,85,0,0,0,0,0,0, +1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,145,0,0,0,239,85,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,201,0,0,0,146,0,0,0,243,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,201,0,0,0,146,0,0,0,243,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,202,0,0,0,147,0,0,0,249,85,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,202,0,0,0,147,0,0,0,249,85,0,0,0,0,0,0,2,0,13,8,6,86,0,0,0,0,0,0,203,0,0,0,0,0,0,0,10,86,0,0,0,0,0,0,2,0,5,8,15,86,0,0,0,0,0,0,203,0,0,0,0,0,0,0,19,86,0,0,0,0,0,0,3,0,5,8,15,86,0,0,0,0,0,0,203,0,0,0,0,0,0,0,19,86,0,0,0,0,0,0, +1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,86,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,86,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,24,86,0,0,0,0,0,0,60,87,0,0,73,87,0,0,0,0,0,0,109,87,0,0,134,87,0,0,165,87,0,0,184,87,0,0,209,87,0,0,223,87,0,0,4,88,0,0,16,88,0,0,31,88,0,0,64,88,0,0,82,88,0,0,107,88,0,0,136,88,0,0,153,88,0,0,176,88,0,0,187,86,0,0,204,88,0,0,222,88,0,0,240,88,0,0,23,89,0,0,54,89,0,0,75,89,0,0,107,89,0,0,141,89,0,0,237,89,0,0,255,0,1,32,0,0,0,0,0,0,0,0,204, +0,0,0,0,0,0,0,239,89,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,249,89,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,254,89,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,3,90,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,12,90,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,209,0,0,0,0,0,0,0,21,90,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,210,0,0,0,0,0,0,0,34,90,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,52,90,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,212,0,0, +0,0,0,0,0,33,91,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,53,91,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,75,91,0,0,0,0,0,0,132,0,0,0,133,0,0,0,144,0,0,0,148,0,0,0,149,0,0,0,145,0,0,0,150,0,0,0,0,0,0,0,0,0,0,0,134,0,0,0,135,0,0,0,146,0,0,0,151,0,0,0,152,0,0,0,147,0,0,0,153,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,148,0,0,0,135,0,0,0,136,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,98,0,0,143,98, +0,0,150,98,0,0,153,98,0,0,156,98,0,0,159,98,0,0,162,98,0,0,165,98,0,0,173,98,0,0,182,98,0,0,188,98,0,0,193,98,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,132,0,0,1,0,0,0,245,104,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,247,117,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,237,117,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,217,117,0,0,0,0,0,0,214,105,0,0,54,118,0,0,67,118,0,0,0,0,0,0,80,118,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,147,119,0,0, +0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,16,120,0,0,0,0,0,0,76,121,0,0,0,0,2,0,83,121,0,0,0,0,4,0,0,0,0,0,0,0,0,0,59,121,0,0,1,0,0,0,62,121,0,0,2,0,0,0,65,121,0,0,6,0,0,0,69,121,0,0,128,0,0,0,0,0,0,0,0,0,0,0,151,128,0,0,0,0,0,0,8,0,0,0,212,123,0,0,1,1,0,0,0,0,0,0,166,128,0,0,2,0,0,0,0,0,16,0,182,128,0,0,3,0,0,0,0,0,0,0,79,123,0,0,4,1,0,0,0,0,0,0,244,123,0,0,5,0,0,0,0,0,0,0,195,128,0,0,6,0,0,0,0,0,0,0,215,128,0,0,2,0,0,0,0,0,0,32,231,128,0,0,2,0,0,0,16,0,0,0,252,128,0,0,7,0,0,0,0,0,0,0,11, +129,0,0,8,0,0,0,0,0,0,0,27,129,0,0,2,0,0,0,128,0,0,0,41,129,0,0,0,2,0,0,15,0,0,0,54,129,0,0,10,1,0,0,0,0,0,0,68,129,0,0,11,1,0,0,0,0,0,0,87,129,0,0,2,0,0,0,0,0,0,2,106,129,0,0,2,0,0,0,0,1,0,0,91,125,0,0,12,0,0,0,0,0,0,0,129,129,0,0,13,1,0,0,0,0,0,0,147,129,0,0,14,1,0,0,0,0,0,0,164,129,0,0,2,0,0,0,0,0,8,0,177,129,0,0,0,2,0,0,0,0,0,0,192,129,0,0,2,0,0,0,4,0,0,0,210,129,0,0,2,0,0,0,8,0,0,0,220,129,0,0,2,0,0,0,0,32,0,0,245,129,0,0,15,1,0,0,0,0,0,0,8,130,0,0,16,1,0,0,0,0,0,0,19,130,0,0,17,1,0,0,0,0,0, +0,30,130,0,0,16,1,0,0,1,0,0,0,186,124,0,0,18,1,0,0,0,0,0,0,180,123,0,0,19,1,0,0,0,0,0,0,193,123,0,0,20,0,0,0,0,0,0,0,42,130,0,0,2,0,0,0,0,128,0,0,167,123,0,0,22,0,0,0,0,0,0,0,61,130,0,0,23,1,0,0,0,0,0,0,0,124,0,0,24,0,0,0,0,0,0,0,76,130,0,0,23,1,0,0,0,0,0,0,126,123,0,0,25,0,0,0,0,0,0,0,87,130,0,0,2,0,0,0,0,0,0,4,98,130,0,0,18,1,0,0,0,0,0,0,110,130,0,0,2,0,0,0,0,64,0,0,127,130,0,0,2,0,0,0,0,0,4,0,146,130,0,0,2,0,0,0,0,0,2,0,172,130,0,0,0,0,0,0,1,0,0,0,136,123,0,0,26,0,0,0,0,0,0,0,187,130,0,0,2,0,0, +0,64,0,0,0,206,130,0,0,27,0,0,0,0,0,0,0,209,125,0,0,28,0,0,0,0,0,0,0,220,130,0,0,29,1,0,0,0,0,0,0,67,124,0,0,30,1,0,0,0,0,0,0,226,130,0,0,31,1,0,0,0,0,0,0,10,124,0,0,32,0,0,0,0,0,0,0,21,124,0,0,33,0,0,0,0,0,0,0,225,125,0,0,34,0,0,0,0,0,0,0,237,130,0,0,0,0,0,0,6,0,0,0,182,125,0,0,35,0,0,0,0,0,0,0,250,130,0,0,36,1,0,0,0,0,0,0,9,131,0,0,2,0,0,0,0,8,1,0,81,127,0,0,36,127,0,0,118,127,0,0,123,127,0,0,131,127,0,0,50,127,0,0,190,126,0,0,99,127,0,0,105,127,0,0,111,127,0,0,75,127,0,0,81,127,0,0,36,127,0,0, +85,127,0,0,90,127,0,0,95,127,0,0,3,127,0,0,36,127,0,0,53,127,0,0,60,127,0,0,67,127,0,0,46,127,0,0,48,127,0,0,50,127,0,0,3,127,0,0,36,127,0,0,41,127,0,0,3,127,0,0,36,127,0,0,0,127,0,0,3,127,0,0,190,126,0,0,188,98,0,0,7,127,0,0,10,127,0,0,20,127,0,0,30,127,0,0,190,126,0,0,145,101,0,0,196,126,0,0,203,126,0,0,20,126,0,0,1,0,0,0,25,126,0,0,1,0,0,0,31,126,0,0,2,0,0,0,40,126,0,0,3,0,0,0,49,126,0,0,2,0,0,0,57,126,0,0,3,0,0,0,65,126,0,0,0,0,0,0,72,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,125,0,0,3,126,0,0,7,126, +0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,8,0,0,0,221,127,0,0,228,127,0,0,236,127,0,0,173,125,0,0,69,121,0,0,240,127,0,0,30,127,0,0,64,0,0,0,10,86,0,0,66,0,0,0,19,86,0,0,65,0,0,0,158,134,0,0,67,0,0,0,176,114,0,0,3,0,0,0,172,114,0,0,3,0,0,0,200,217,0,0,224,143,0,0,230,143,0,0,235,143,0,0,240,143,0,0,100,144,0,0,106,144,0,0,114,144,0,0,201,158,0,0,210,158,0,0,217,158,0,0,223,158,0,0,44,159,0,0,54,159,0,0,65,159,0,0,77,159, +0,0,88,159,0,0,99,159,0,0,110,159,0,0,115,159,0,0,120,159,0,0,131,159,0,0,143,159,0,0,150,159,0,0,158,159,0,0,166,159,0,0,171,159,0,0,177,159,0,0,191,159,0,0,197,159,0,0,207,159,0,0,212,159,0,0,216,159,0,0,221,159,0,0,224,159,0,0,230,159,0,0,237,159,0,0,244,159,0,0,251,159,0,0,2,160,0,0,5,160,0,0,9,160,0,0,20,160,0,0,29,160,0,0,35,160,0,0,45,160,0,0,55,160,0,0,62,160,0,0,70,160,0,0,73,160,0,0,76,160,0,0,79,160,0,0,82,160,0,0,85,160,0,0,88,160,0,0,98,160,0,0,105,160,0,0,111,160,0,0,121,160,0,0,132, +160,0,0,136,160,0,0,145,160,0,0,154,160,0,0,161,160,0,0,171,160,0,0,178,160,0,0,183,160,0,0,190,160,0,0,201,160,0,0,206,160,0,0,213,160,0,0,219,160,0,0,225,160,0,0,231,160,0,0,237,160,0,0,248,160,0,0,3,161,0,0,11,161,0,0,20,161,0,0,26,161,0,0,36,161,0,0,49,161,0,0,60,161,0,0,66,161,0,0,71,161,0,0,78,161,0,0,91,161,0,0,102,161,0,0,107,161,0,0,115,161,0,0,121,161,0,0,128,161,0,0,133,161,0,0,142,161,0,0,147,161,0,0,156,161,0,0,161,161,0,0,166,161,0,0,172,161,0,0,180,161,0,0,190,161,0,0,198,161,0,0,208, +161,0,0,217,161,0,0,224,161,0,0,237,161,0,0,242,161,0,0,254,161,0,0,6,162,0,0,13,162,0,0,21,162,0,0,30,162,0,0,41,162,0,0,47,162,0,0,58,162,0,0,68,162,0,0,78,162,0,0,87,162,0,0,97,162,0,0,111,162,0,0,125,162,0,0,136,162,0,0,149,162,0,0,160,162,0,0,166,162,0,0,178,162,0,0,187,162,0,0,196,162,0,0,203,162,0,0,213,162,0,0,220,162,0,0,231,162,0,0,245,162,0,0,0,163,0,0,7,163,0,0,15,163,0,0,21,163,0,0,29,163,0,0,42,163,0,0,52,163,0,0,62,163,0,0,67,163,0,0,76,163,0,0,84,163,0,0,90,163,0,0,95,163,0,0,107, +163,0,0,119,163,0,0,131,163,0,0,143,163,0,0,156,163,0,0,166,163,0,0,176,163,0,0,188,163,0,0,200,163,0,0,210,163,0,0,216,163,0,0,226,163,0,0,233,163,0,0,245,163,0,0,254,163,0,0,6,164,0,0,15,164,0,0,22,164,0,0,32,164,0,0,39,164,0,0,47,164,0,0,56,164,0,0,62,164,0,0,70,164,0,0,78,164,0,0,88,164,0,0,97,164,0,0,108,164,0,0,113,164,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,2,0,0,0,131,0,0,0,132,0,0,0,163,0,0,0,149,0,0,0,150,0,0,0,164,0,0,0,151,0,0,0,137,0,0,0,152,0,0, +0,153,0,0,0,145,0,0,0,165,0,0,0,134,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,138,0,0,0,166,0,0,0,167,0,0,0,168,0,0,0,169,0,0,0,0,0,0,0,133,0,0,0,133,0,0,0,170,0,0,0,158,0,0,0,158,0,0,0,171,0,0,0,159,0,0,0,139,0,0,0,160,0,0,0,161,0,0,0,146,0,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,167,0,0,37,168,0,0,105,168,0,0,133,168,0,0,162,168,0,0,189,168,0,0,217,168,0,0,242,168,0,0,10,169,0,0,75,169,0,0,134,169,0,0,202,169,0,0,250,169,0,0,106,170, +0,0,241,170,0,0,37,171,0,0,103,171,0,0,146,171,0,0,205,171,0,0,244,171,0,0,32,172,0,0,73,172,0,0,120,172,0,0,162,172,0,0,200,217,0,0,200,217,0,0,200,172,0,0,255,172,0,0,60,173,0,0,179,173,0,0,26,174,0,0,81,174,0,0,139,174,0,0,246,174,0,0,69,175,0,0,134,175,0,0,194,175,0,0,242,175,0,0,92,176,0,0,165,176,0,0,115,166,0,0,220,0,0,0,123,166,0,0,221,0,0,0,141,166,0,0,222,0,0,0,131,166,0,0,223,0,0,0,109,179,0,0,2,0,4,0,112,179,0,0,3,1,3,0,116,179,0,0,3,1,2,0,120,179,0,0,4,0,1,0,131,166,0,0,9,0,0,0,54,183, +0,0,6,0,0,0,184,180,0,0,8,0,0,0,193,180,0,0,10,0,0,0,182,98,0,0,5,0,0,0,141,180,0,0,7,0,0,0,61,183,0,0,10,0,0,0,72,183,0,0,10,0,0,0,0,0,0,0,147,0,0,0,162,0,0,0,135,0,0,0,163,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,148,0,0,0,164,0,0,0,136,0,0,0,165,0,0,0,135,0,0,0,0,0,0,0,0,0,0,0,136,0,0,0,136,0,0,0,173,0,0,0,166,0,0,0,166,0,0,0,174,0,0,0,167,0,0,0,140,0,0,0,168,0,0,0,169,0,0,0,149,0,0,0,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,0,0,170,0,0,0,137, +0,0,0,171,0,0,0,137,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27, +192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88, +45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52, +62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108, +0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0, +144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154, +2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200, +238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46, +68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24, +64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,2,0,0,0,138,0,0,0,139,0,0,0,176,0,0,0,172,0,0,0,173,0,0,0,177,0,0,0,174,0,0,0,141,0,0,0,175,0,0,0,176,0,0,0,151,0,0,0,178,0,0,0,138,0,0,0,177,0,0,0,178,0,0,0,179,0,0,0,180,0,0,0,142,0,0,0,179,0,0,0,180,0,0,0,181,0,0,0,182,0,0,0,2,0,0,0,140,0,0,0,141,0,0,0,183,0,0,0,181,0,0,0,182,0,0,0,184,0,0,0,183,0,0,0,143,0,0,0,184,0,0,0,185,0,0,0,152,0,0,0,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,242,188,0,0,26,189,0,0,90,166,0,0,139,0,0,0,154,0,0,0,142,0,0,0,61,189,0,0,140,0,0,0,155,0,0,0,143,0,0,0,83,166,0,0,141,0,0,0,156,0,0,0,144,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5, +0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1, +212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0, +1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0, +2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80, +132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0, +30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170, +2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228, +44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4],"i8",4,n.G); +A([4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212, +7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,115,166,0,0,0,0,0,0,130,0,0,0,0,0,0,0,45,191,0,0,0,0,0,0,131,0,0,0,0,0,0,0,55,191,0,0,0,0,0,0,132,0,0,0,0,0,0,0,117,191,0,0,224,0,0,0,127,191,0,0,225,0,0,0,141,191,0,0,226,0,0,0,154,191,0,0,227,0,0,0,204,127,0,0,1,0,0,0,160,125,0,0,0,0,0,0,249,196,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,186,0,0,0,187,0,0,0,186,0,0,0,153,0,0,0,144,0,0,0,188,0,0,0,187,0,0,0,188,0,0,0,145,0,0,0,189,0,0,0,142,0,0,0,154, +0,0,0,143,0,0,0,155,0,0,0,189,0,0,0,146,0,0,0,131,0,0,0,144,0,0,0,228,0,0,0,108,199,0,0,176,199,0,0,245,199,0,0,205,171,0,0,22,200,0,0,62,200,0,0,32,172,0,0,101,200,0,0,140,200,0,0,182,200,0,0,222,200,0,0,66,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,255,255,255,255,66,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,255,255,255,255,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,24,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,36,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,156,0,0,0,157,0,0,0,253,218,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,43,0,0,12,0,14,0,24,0,31,0,59,0,15,39,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184, +0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235, +2,18,3,27,3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76, +0,76,0,76,0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0,217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158, +3,127,4,137,4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4,102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202, +4,226,4,230,4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239,4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98, +0,98,0,98,0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209,3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0, +95,1,190,3,190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2,46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91, +1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3, +78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0,178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25, +0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3,194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96, +0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0, +169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83,0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64,3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0, +189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19,0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0, +151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166,3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3,56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0, +96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8,3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214,3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121, +3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12,1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0,120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38, +0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0,42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0,18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194, +1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121,0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190,1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244, +2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0,242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0,143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158, +3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0,142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170,1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241, +2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1,134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239,2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3, +96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211,0,12,5,11,5,53,1,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1, +203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181,3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181, +3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31,6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255,181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2, +42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73,5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214,4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31, +6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4,153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133,5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158, +5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5,252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178,4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117, +4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52,5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52, +5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243,4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5, +111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111,4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104,4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52, +5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96, +4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167, +1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144, +1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2, +232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14, +26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255, +249,255,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1, +18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193, +4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44, +22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0, +218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78, +11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246, +106,246,42,247,158,247,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101, 0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114, 116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0, 116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70, 117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116, -101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133, -134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117, -99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0,0,75,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12, -0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, -64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110, -111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5, -4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73, -79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67, -65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83, -67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131, -81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8, -0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116, -41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32, -114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101, -109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97, -105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110],"i8",4,l.aa+10240); -z([105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69, -32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81, -46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40, -83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111, -99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99, -107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116, -97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98, -108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101, -118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63, -0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101, -39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63, -32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32, -49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69, -32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39, -37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72, -69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32, -105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108, -61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116, -97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79, -73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114, -103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68, -69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80, -32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69, -88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102, -105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78, -44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116, -115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99, -107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37, -81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105, -108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109, -0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115, -116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118, -119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110, -111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115, -0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115, -116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32, -98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178, -0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3, -203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177, -0,177,3,187,5,187,3,229,0,229,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1, -168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105, -101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32, -115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115, -0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35, -37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97, -116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32, -97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100, -101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40, -37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115, -113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95, -114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117, -116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95, -115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101, -32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101, -103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117, -108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102, -32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109, -97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115, -0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117, -101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97,108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108, -105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105, -98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0, -97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111, -116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37, -115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116, -111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101],"i8",4,l.aa+20480); -z([32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116, -101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32, -105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114, -45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32,114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98, -105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97, -99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110, -97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99, -97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101, -114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115, -32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2,1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111, -114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114, -121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78, -79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32, -105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101, -97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115, -115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113, -0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111, -114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111, -117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108, -116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0, -102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114, -121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116, -97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112, -101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32, -110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97, -108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66, -76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111, -119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,44,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115, -116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0, -0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55, -56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32,97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,114,111, -119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37, -84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116, -101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97, -116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32, -98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119, -0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110, -97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115, -32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101, -32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105, -115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105, -99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32, -109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115, -32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115, -32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103, -101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101, -100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47, -48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157,90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119, -120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43,44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46, -47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33, -247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206, -179,180,92,172,173,95,152,97,98,188,99,101,219,102,103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97,85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83, -43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56,101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98,172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132, -133,134,135,136,89,16,207,92,93,19,172,173,169,170,195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152,172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172, -173,152,172,173,152,172,173,152,152,172,173,152,172,173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152,152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217, -166,167,163,163,163,163,163,196,130,217,211,212,217,116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175,175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159, -158,22,177,201,201,159,107,158,177,159,174,158,76,174,182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37,22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64, -22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24,1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3, -3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32, -100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114, -101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114, -101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110, -111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114, -111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104, -97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108, -32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65, -67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115, -99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68,32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34, -37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118],"i8",4,l.aa+30720); -z([97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32, -37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79, -110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101, -32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110, -99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115, -116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115, -45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109, -0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117, -116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116, -0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84, -0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101, -114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112, -97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110, -99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111, -119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112, -73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79, -112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32, -97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111, -99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105, -115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116, -32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32, -105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100, -58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114, -0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81, -76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116, -105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,109,111,100,101,111,102,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2, -14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103, -101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0, -110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110, -116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115, -116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101, -32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97, -114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,51,46,55,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25, -13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97, -32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99, -101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45, -111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100, -114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117, -115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100, -101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117, -108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109, -111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115, -99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111, -116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114, -101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111, -110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111, -116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+40960);var Cb=l.ta(z(12,"i8",2),8);assert(0==Cb%8);f._i64Subtract=Db;f._i64Add=Eb; -var E={H:1,J:2,Kd:3,Gc:4,O:5,Ka:6,$b:7,dd:8,L:9,nc:10,Ga:11,Ud:11,Ia:12,Y:13,zc:14,rd:15,Z:16,Ha:17,Vd:18,ha:19,ia:20,S:21,p:22,Zc:23,eb:24,$:25,Rd:26,Ac:27,nd:28,ja:29,Hd:30,Sc:31,Bd:32,wc:33,fb:34,jd:42,Dc:43,oc:44,Jc:45,Kc:46,Lc:47,Rc:48,Sd:49,bd:50,Ic:51,tc:35,ed:37,fc:52,ic:53,Wd:54,$c:55,jc:56,kc:57,uc:35,lc:59,pd:60,cd:61,Od:62,od:63,kd:64,ld:65,Gd:66,gd:67,cc:68,Ld:69,pc:70,Cd:71,Uc:72,xc:73,hc:74,wd:76,gc:77,Fd:78,Mc:79,Nc:80,Qc:81,Pc:82,Oc:83,qd:38,Ja:39,Vc:36,sa:40,xd:95,Ad:96,sc:104,ad:105, -dc:97,Ed:91,ud:88,md:92,Id:108,rc:111,ac:98,qc:103,Yc:101,Wc:100,Pd:110,Bc:112,Cc:113,Fc:115,ec:114,vc:89,Tc:90,Dd:93,Jd:94,bc:99,Xc:102,Hc:106,sd:107,Qd:109,Td:87,yc:122,Md:116,vd:95,hd:123,Ec:84,yd:75,mc:125,td:131,zd:130,Nd:86},Fb={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", +101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, +64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,52,46,48,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,69,78,65,66,76,69,95,70,84,83,53,0,73,78,84,54,52,95, +84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,49,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"i8",4,n.G+10240); +A([30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166, +167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0,1,0,0,109,105,115,117,115,101,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,37,0,100,10,1,0, +0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2,14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,78, +85,76,76,0,40,78,85,76,76,41,0,46,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,97,99,99,101,115,115,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112, +114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116, +0,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,102,117,108,108,95,102,115,121,110, +99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58, +32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,109,111,100,101,111,102,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32, +109,101,109,111,114,121,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,109,105,110,0,109,97,120,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110, +116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119, +105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,42,63,91,0,103,108,111,98,0,37,95,0,1,108,105,107,101,0,99,111,97,108,101,115,99,101,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65, +80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,37,108,108,100,0,37,33,46,49,53,103,0,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,44,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,105,110, +116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101, +100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100, +0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116, +97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112, +112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116, +97,98,97,115,101,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,105,110,116,101,103,101,114,0,116,101,120,116,0,114,101,97,108,0,98,108,111,98,0,110,117,108,108,0,1,32,0,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116, +101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,46,49,54,103,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101, +0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37, +119,34,0,37,115,37,115,0,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, +2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6, +2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82, +65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76, +76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78, +84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131,81,80,111,21,21, +27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0, +87,0,75,51,0,27,37,73,83,0,35,68,0,0,37,46,42,115,34,37,119,34,37,115,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98, +108,101,115,0,58,109,101,109,111,114,121,58,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0, +45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,64,32,32,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104, +32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,111,114,100,101,114,0,102,114,111,109,0,100,101,116,97,105,108,0, +117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181, +2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8, +218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177,0,177,3,187,5,187,3,229,0,229,2,149,4,149,1,149,2,149,3,149, +5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1, +190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,114,111,119,105,100,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110, +97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116, +115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111, +114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103, +101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,115,113,108,105,116, +101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100, +58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99, +104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100, +0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,99,114,101, +97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108, +117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46, +37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97, +109,101,61,37,81,0,45,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113, +108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95, +110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109, +101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101, +113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117, +108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,73,78,84,69,71,69,82,0,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116, +32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117, +116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109, +101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46, +34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110, +99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97, +108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115, +117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,82,79,87,73,68,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,95,82,79,87,73,68,95,0,79,73,68,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109, +97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,42,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104, +97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108, +101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32, +99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101, +58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37, +115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117, +110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32, +114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101, +32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115],"i8",4,n.G+20480); +A([32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115, +32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119, +101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109, +97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,116,114,105,103,103,101,114,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98, +108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37, +115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2, +1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112, +95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115, +105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101, +110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99, +97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,98,117,115,121,0,108,111,103,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49, +54,0,85,84,70,49,54,0,37,95,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84, +32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,100,101,115,99,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119, +105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108, +0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121, +95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116, +0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110, +95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110, +116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0, +115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98, +101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32, +99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98, +117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69, +82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65, +82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2, +2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,78,79,67,65,83,69,0,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26, +26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32, +97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,117, +110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116, +111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88, +32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99, +108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114, +115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84, +69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117, +109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105, +103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97, +98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89, +32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113, +39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105, +115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0, +84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101, +113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116, +115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50, +51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157, +90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119,120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43, +44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46,47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19, +207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33,247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54, +55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206,179,180,92,172,173,95,152,97,98,188,99,101,219,102,103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97, +85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83,43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56,101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98, +172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132,133,134,135,136,89,16,207,92,93,19,172,173,169,170,195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152, +172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172,173,152,172,173,152,172,173,152,152,172,173,152,172,173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152, +152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217,166,167,163,163,163,163,163,196,130,217,211,212,217,116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175, +175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159,158,22,177,201,201,159,107,158,177,159,174,158,76,174,182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37, +22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64,22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24,1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,117,110,111,112,101,110, +101,100,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110, +111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32, +105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82, +69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108, +111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105, +110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32, +115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68,32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34,37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77, +32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112, +101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32, +0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32, +111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116, +97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107, +101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98, +105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97, +109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111, +117,116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100],"i8",4,n.G+30720); +A([0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121, +0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112, +90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119, +0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73, +100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101, +108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83, +111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105, +116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119, +105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116, +32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0,0,75,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101, +32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,1,4,3,2,5,116,101,109,112,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117, +101,115,116,101,100,32,99,111,110,116,101,120,116,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117, +116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113, +95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95, +115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69, +32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32, +37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115, +39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61, +32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120, +32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82, +69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69, +80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65, +76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70, +82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113, +95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76, +69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114, +111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32, +49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105, +100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101, +103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115, +116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32, +97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79, +66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109, +117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84, +83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32, +37,115,0,97,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97, +110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113, +95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73, +78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59, +0,44,37,115,40,63,41,0,44,32,63,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105, +122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110, +116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116, +110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111, +110,115,116,114,117,99,116,111,114,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,102,116,115,53,0,102,116,115,53,95,115,111,117,114,99,101,95,105,100,0,102,116,115,53,58,32, +50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,102,116,115,53,118,111,99,97,98,0,83,69,76,69,67,84,32,112,103,110,111,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,105,100,120,39,32,87,72,69,82,69,32,115,101,103,105,100,61,63,32,65,78,68,32,116,101,114,109,60,61,63,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,68,69,83,67,32,76,73,77,73,84,32,49,0,83,69, +76,69,67,84,32,107,44,32,118,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,102,105,103,39,0,118,101,114,115,105,111,110,0,105,110,118,97,108,105,100,32,102,116,115,53,32,102,105,108,101,32,102,111,114,109,97,116,32,40,102,111,117,110,100,32,37,100,44,32,101,120,112,101,99,116,101,100,32,37,100,41,32,45,32,114,117,110,32,39,114,101,98,117,105,108,100,39,0,112,103,115,122,0,104,97,115,104,115,105,122,101,0,97,117,116,111,109,101,114,103,101,0,117,115,101,114,109,101,114,103,101,0,99,114,105,115, +105,115,109,101,114,103,101,0,114,97,110,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,80,82,65,71,77,65,32,37,81,46,100,97,116,97,95,118,101,114,115,105,111,110,0,83,69,76,69,67,84,32,116,46,37,81,32,70,82,79,77,32,37,81,46,37,81,32,65,83,32,116,32,87,72,69,82,69,32,116,46,37,81,32,77, +65,84,67,72,32,39,42,105,100,39,0,110,111,32,115,117,99,104,32,102,116,115,53,32,116,97,98,108,101,58,32,37,115,46,37,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,118,116,97,98,108,101,32,97,114,103,117,109,101,110,116,115,0,99,111,108,0,114,111,119,0,102,116,115,53,118,111,99,97,98,58,32,117,110,107,110,111,119,110,32,116,97,98,108,101,32,116,121,112,101,58,32,37,81,0,67,82,69,65,84,69,32,84,65,66,108,69,32,118,111,99,97,98,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99, +44,32,99,110,116,41,0,67,82,69,65,84,69,32,84,65,66,108,69,32,118,111,99,97,98,40,116,101,114,109,44,32,100,111,99,44,32,99,110,116,41,0,97,115,99,105,105,0,101,114,0,97,98,108,101,0,105,98,108,101,0,97,110,116,0,101,109,101,110,116,0,109,101,110,116,0,105,111,110,0,111,117,0,105,115,109,0,105,99,97,108,0,110,101,115,115,0,105,99,97,116,101,0,105,99,105,116,105,0,97,116,105,118,101,0,97,108,105,122,101,0,97,116,105,111,110,97,108,0,116,105,111,110,97,108,0,101,110,99,105,0,97,110,99,105,0,105,122, +101,114,0,108,111,103,105,0,98,108,105,0,97,108,108,105,0,101,110,116,108,105,0,101,108,105,0,111,117,115,108,105,0,105,122,97,116,105,111,110,0,97,116,105,111,110,0,97,116,111,114,0,97,108,105,115,109,0,105,118,101,110,101,115,115,0,102,117,108,110,101,115,115,0,111,117,115,110,101,115,115,0,97,108,105,116,105,0,105,118,105,116,105,0,98,105,108,105,116,105,0,97,116,0,98,108,0,105,122,0,101,101,100,0,101,100,0,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,116,111,107,101,110,99,104,97,114,115,0,115,101,112,97,114,97,116,111,114,115,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100, +100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,0,104,105,103,104,108,105,103,104,116,0,98,109,50,53,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,104,105,103,104,108,105,103,104,116,40,41,0,37,122,37,46,42,115,0,102,116,115,53,95,101,120,112,114,0,102, +116,115,53,95,101,120,112,114,95,116,99,108,0,102,116,115,53,95,105,115,97,108,110,117,109,0,102,116,115,53,95,102,111,108,100,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,102,116,115,53,95,102,111,108,100,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,102,116,115,53,95,105,115,97,108,110,117,109,0,110, +101,97,114,115,101,116,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,115,0,34,34,0,37,115,32,58,32,0,78,69,65,82,40,0,32,43,32,0,44,32,37,100,41,0,32,78,79,84,32,0,32,79,82,32,0,37,115,37,115,37,122,37,115,0,37,115,32,0,45,99,111,108,32,37,100,32,0,45,99,111,108,32,123,37,100,0,32,37,100,0,125,32,0,45,110,101,97,114,32,37,100,32,0,45,45,0,32,123,0,125,0,32,91,37,122,93,0,102,116,115,53,58,32,115, +121,110,116,97,120,32,101,114,114,111,114,32,110,101,97,114,32,34,37,46,42,115,34,0,16,1,17,3,17,3,17,3,17,3,17,1,19,1,19,2,18,1,18,3,21,4,21,3,21,1,21,2,22,2,22,1,20,1,20,5,23,1,23,2,25,0,25,2,24,4,24,2,26,1,26,0,240,248,0,9,17,28,26,35,33,13,13,22,54,13,51,98,16,51,5,53,27,83,7,26,15,51,5,53,27,13,69,26,48,51,5,53,27,19,11,26,9,20,51,5,53,27,13,22,26,28,51,5,53,27,68,1,26,19,11,17,9,52,10,53,27,23,24,26,54,3,4,2,26,6,21,49,71,3,4,2,7,56,59,55,59,4,2,12,69,58,60,18,67,62,69,25,66,8,14,2,101,120, +112,101,99,116,101,100,32,105,110,116,101,103,101,114,44,32,103,111,116,32,34,37,46,42,115,34,0,102,116,115,53,58,32,99,111,108,117,109,110,32,113,117,101,114,105,101,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,100,101,116,97,105,108,61,110,111,110,101,41,0,112,104,114,97,115,101,0,102,116,115,53,58,32,37,115,32,113,117,101,114,105,101,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,100,101,116,97,105,108,33,61,102,117,108,108,41,0,102, +116,115,53,58,32,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,34,34,34,34,34,14,20,3,36,1,59,64,64,65,65,53,61,56,58,63,68,67,70,67,71,72,67,77,81,16,17,18,19,20,21,5,6,24,17,18,19,20,21,11,14,24,17,18,19,20,21,8,9,24,11,17,18,19,20,21,11,12,24,17,18,19,20,21,26,6,24,8,9,22,11,18,11,20,21,24,25,24,20,1,2,3,24,23,24,7,0,1,2,3,6,10,11,10,11,2,3,9,14,11,11,22,26,7,14,13,11,5,11,3,97,97,97,97,97,76,91,97,97,96,96,97,97,96,96,97,97,97,97,97,73,89,97,90,97,97,87,97,72, +117,110,116,101,114,109,105,110,97,116,101,100,32,115,116,114,105,110,103,0,102,116,115,53,58,32,115,121,110,116,97,120,32,101,114,114,111,114,32,110,101,97,114,32,34,37,46,49,115,34,0,114,101,115,101,114,118,101,100,32,102,116,115,53,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,112,97,114,115,101,32,101,114,114,111,114,32,105,110,32,34,37,115,34,0,100,111,99,115,105,122,101,0,37,81,46,39,37,113,95,37,115,39,0,84,46,37,81,0,44,32,84,46,37,81,0,44,32,84,46,99,37,100,0,110,111,32,115,117,99, +104,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,101,114,114,111,114,32,105,110,32,116,111,107,101,110,105,122,101,114,32,99,111,110,115,116,114,117,99,116,111,114,0,114,101,115,101,114,118,101,100,32,102,116,115,53,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,117,110,105,110,100,101,120,101,100,0,117,110,114,101,99,111,103,110,105,122,101,100,32,99,111,108,117,109,110,32,111,112,116,105,111,110,58,32,37,115,0,109,97,108,102,111,114,109,101,100,32,112,114,101,102,105,120,61, +46,46,46,32,100,105,114,101,99,116,105,118,101,0,116,111,111,32,109,97,110,121,32,112,114,101,102,105,120,32,105,110,100,101,120,101,115,32,40,109,97,120,32,37,100,41,0,112,114,101,102,105,120,32,108,101,110,103,116,104,32,111,117,116,32,111,102,32,114,97,110,103,101,32,40,109,97,120,32,57,57,57,41,0,109,117,108,116,105,112,108,101,32,116,111,107,101,110,105,122,101,61,46,46,46,32,100,105,114,101,99,116,105,118,101,115,0,112,97,114,115,101,32,101,114,114,111,114,32,105,110,32,116,111,107,101,110, +105,122,101,32,100,105,114,101,99,116,105,118,101,0,109,117,108,116,105,112,108,101,32,99,111,110,116,101,110,116,61,46,46,46,32,100,105,114,101,99,116,105,118,101,115,0,37,81,46,37,81,0,99,111,110,116,101,110,116,95,114,111,119,105,100,0,109,117,108,116,105,112,108,101,32,99,111,110,116,101,110,116,95,114,111,119,105,100,61,46,46,46,32,100,105,114,101,99,116,105,118,101,115,0,99,111,108,117,109,110,115,105,122,101,0,109,97,108,102,111,114,109,101,100,32,99,111,108,117,109,110,115,105,122,101,61, +46,46,46,32,100,105,114,101,99,116,105,118,101,0,109,97,108,102,111,114,109,101,100,32,100,101,116,97,105,108,61,46,46,46,32,100,105,114,101,99,116,105,118,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,112,116,105,111,110,58,32,34,37,46,42,115,34,0,99,111,108,117,109,110,115,0,102,116,115,53,95,100,101,99,111,100,101,0,102,116,115,53,95,100,101,99,111,100,101,95,110,111,110,101,0,102,116,115,53,95,114,111,119,105,100,0,115,104,111,117,108,100,32,98,101,58,32,102,116,115,53,95,114,111, +119,105,100,40,115,117,98,106,101,99,116,44,32,46,46,46,46,41,0,115,101,103,109,101,110,116,0,115,104,111,117,108,100,32,98,101,58,32,102,116,115,53,95,114,111,119,105,100,40,39,115,101,103,109,101,110,116,39,44,32,115,101,103,105,100,44,32,112,103,110,111,41,41,0,102,105,114,115,116,32,97,114,103,32,116,111,32,102,116,115,53,95,114,111,119,105,100,40,41,32,109,117,115,116,32,98,101,32,39,115,101,103,109,101,110,116,39,0,32,37,100,40,37,108,108,100,41,0,32,116,101,114,109,61,37,46,42,115,0,99,111, +114,114,117,112,116,0,32,105,100,61,37,108,108,100,0,32,110,80,111,115,61,37,100,37,115,0,43,0,32,37,108,108,100,37,115,0,32,123,108,118,108,61,37,100,32,110,77,101,114,103,101,61,37,100,32,110,83,101,103,61,37,100,0,32,123,105,100,61,37,100,32,108,101,97,118,101,115,61,37,100,46,46,37,100,125,0,37,115,37,100,0,123,97,118,101,114,97,103,101,115,125,32,0,123,115,116,114,117,99,116,117,114,101,125,0,100,108,105,100,120,32,0,123,37,115,115,101,103,105,100,61,37,100,32,104,61,37,100,32,112,103,110,111, +61,37,100,125,0,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,100,97,116,97,39,40,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,100,97,116,97,39,32,87,72,69,82,69,32,105,100,62,61,63,32,65,78,68,32,105,100,60,61,63,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,105,100,120,39,32,87,72,69,82,69,32,115,101,103,105,100,61,63,0,73,78,83,69,82,84,32,73,78,84,79,32,39,37, +113,39,46,39,37,113,95,105,100,120,39,40,115,101,103,105,100,44,116,101,114,109,44,112,103,110,111,41,32,86,65,76,85,69,83,40,63,44,63,44,63,41,0,100,97,116,97,0,99,111,110,102,105,103,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,37,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,37,115,39,59,0,110,111,32,115,117,99,104,32,99,117,114,115,111,114,58,32,37,108,108,100,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,84,32,87,72,69,82,69,32,84,46,37,81,32,62,61,32,63,32, +65,78,68,32,84,46,37,81,32,60,61,32,63,32,79,82,68,69,82,32,66,89,32,84,46,37,81,32,65,83,67,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,84,32,87,72,69,82,69,32,84,46,37,81,32,60,61,32,63,32,65,78,68,32,84,46,37,81,32,62,61,32,63,32,79,82,68,69,82,32,66,89,32,84,46,37,81,32,68,69,83,67,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,84],"i8",4,n.G+40960); +A([32,87,72,69,82,69,32,84,46,37,81,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,105,100,61,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,105,100,61,63,0,83,69,76,69,67,84,32,115,122,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99, +115,105,122,101,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,102,105,103,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,65,83,32,84,0,85,80,68,65,84,69,0,68,69,76,69,84,69,32,102,114,111,109,0,99,97,110,110,111,116,32,37,115,32,99,111,110,116,101,110,116,108,101,115,115,32,102,116,115,53,32,116,97,98,108,101,58,32,37,115,0,100,101,108,101,116,101,45,97,108,108,0,39,100,101,108,101, +116,101,45,97,108,108,39,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,32,99,111,110,116,101,110,116,108,101,115,115,32,111,114,32,101,120,116,101,114,110,97,108,32,99,111,110,116,101,110,116,32,102,116,115,53,32,116,97,98,108,101,0,39,114,101,98,117,105,108,100,39,32,109,97,121,32,110,111,116,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,32,99,111,110,116,101,110,116,108,101,115,115,32,102,116,115,53,32,116,97,98,108,101,0,109,101,114,103,101,0,83, +69,76,69,67,84,32,115,101,103,105,100,44,32,116,101,114,109,44,32,40,112,103,110,111,62,62,49,41,44,32,40,112,103,110,111,38,49,41,32,70,82,79,77,32,37,81,46,39,37,113,95,105,100,120,39,32,87,72,69,82,69,32,115,101,103,105,100,61,37,100,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,37,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,97,116,97,39,59,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,105,100,120,39,59,0,68,69, +76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,59,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,115,0,37,115,58,32,116,97,98,108,101,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,99,97,110,110,105,110,103,0,83,69,76,69,67,84,32,114,111,119,105,100,44,32,114,97,110,107,32,70,82,79,77,32,37,81,46,37,81,32,79,82,68,69,82,32,66,89,32,37,115,40,37,115,37,115,37,115,41,32,37,115,0,114,101,97,100,115,0,117,110,107,110, +111,119,110,32,115,112,101,99,105,97,108,32,113,117,101,114,121,58,32,37,46,42,115,0,112,97,114,115,101,32,101,114,114,111,114,32,105,110,32,114,97,110,107,32,102,117,110,99,116,105,111,110,58,32,37,115,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,97,116,97,39,59,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,105,100,120,39,59,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99, +111,110,102,105,103,39,59,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,59,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,0,37,122,37,115,37,81,0,37,122,44,32,37,81,32,72,73,68,68,69,78,44,32,37,115,32,72,73,68,68,69,78,41,0,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,44,32,99,37,100, +0,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,122,32,66,76,79,66,0,107,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,0,32,87,73,84,72,79,85,84,32,82,79,87,73,68,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,37,113,39,40,37,115,41,37,115,0,102,116,115,53,58,32,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,115,104,97,100,111,119,32,116,97,98,108,101,32,37,113,95,37,115,58,32,37,115,0,37,115,95,100,97,116,97,0,105,100,32,73,78,84,69,71,69, +82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,0,115,101,103,105,100,44,32,116,101,114,109,44,32,112,103,110,111,44,32,80,82,73,77,65,82,89,32,75,69,89,40,115,101,103,105,100,44,32,116,101,114,109,41,0,77,65,84,67,72,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115, +0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78, +111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32, +115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82, +101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108, +101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105, +108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102, +105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111, +99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101, +114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108, +101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108, +101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108, +0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32, +105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108, +101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0],"i8",4,n.G+51200);var ob=p;p+=16;e._i64Subtract=pb;e._i64Add=qb;e._pthread_mutex_lock=rb; +var F={q:1,p:2,md:3,ic:4,A:5,ta:6,Cb:7,Gc:8,u:9,Qb:10,pa:11,wd:11,ra:12,L:13,bc:14,Sc:15,M:16,qa:17,xd:18,R:19,S:20,N:21,h:22,Bc:23,Ma:24,F:25,td:26,cc:27,Oc:28,T:29,jd:30,uc:31,bd:32,Zb:33,Na:34,Kc:42,fc:43,Rb:44,lc:45,mc:46,nc:47,tc:48,ud:49,Ec:50,kc:51,Wb:35,Hc:37,Ib:52,Lb:53,yd:54,Cc:55,Mb:56,Nb:57,Xb:35,Ob:59,Qc:60,Fc:61,qd:62,Pc:63,Lc:64,Mc:65,hd:66,Ic:67,Fb:68,nd:69,Sb:70,cd:71,wc:72,$b:73,Kb:74,Xc:76,Jb:77,gd:78,oc:79,pc:80,sc:81,rc:82,qc:83,Rc:38,sa:39,xc:36,ba:40,Yc:95,ad:96,Vb:104,Dc:105, +Gb:97,ed:91,Vc:88,Nc:92,kd:108,Ub:111,Db:98,Tb:103,Ac:101,yc:100,rd:110,dc:112,ec:113,hc:115,Hb:114,Yb:89,vc:90,dd:93,ld:94,Eb:99,zc:102,jc:106,Tc:107,sd:109,vd:87,ac:122,od:116,Wc:95,Jc:123,gc:84,Zc:75,Pb:125,Uc:131,$c:130,pd:86},sb={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 Gb(a){f.___errno_location&&(y[f.___errno_location()>>2]=a);return a} -function Hb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function Ib(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=Hb(a.split("/").filter(function(a){return!!a}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a} -function Jb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function Kb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function Lb(){var a=Array.prototype.slice.call(arguments,0);return Ib(a.join("/"))}function F(a,b){return Ib(a+"/"+b)} -function Mb(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Hb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var Nb=[];function Ob(a,b){Nb[a]={input:[],output:[],W:b};Pb(a,Qb)} -var Qb={open:function(a){var b=Nb[a.g.rdev];if(!b)throw new G(E.ha);a.tty=b;a.seekable=!1},close:function(a){a.tty.W.flush(a.tty)},flush:function(a){a.tty.W.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.W.Ya)throw new G(E.Ka);for(var e=0,g=0;ga.e.length&&(a.e=K.wb(a),a.q=a.e.length);if(!a.e||a.e.subarray){var c=a.e?a.e.buffer.byteLength:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.e,a.e=new Uint8Array(b),0b)a.e.length= -b;else for(;a.e.length=a.g.q)return 0;a=Math.min(a.g.q-e,d);assert(0<=a);if(8b)throw new G(E.p);return b},Ma:function(a,b,c){K.Sa(a.g,b+c);a.g.q=Math.max(a.g.q,b+c)},oa:function(a,b,c,d,e,g,h){if(32768!==(a.g.mode&61440))throw new G(E.ha);c=a.g.e;if(h& -2||c.buffer!==b&&c.buffer!==b.buffer){if(0>1)}catch(c){if(!c.code)throw c;throw new G(E[c.code]);}return b.mode},F:function(a){for(var b=[];a.parent!==a;)b.push(a.name),a=a.parent;b.push(a.D.Ba.root);b.reverse();return Lb.apply(null,b)},Ta:{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+"},ub:function(a){a&=-32769;if(a in M.Ta)return M.Ta[a];throw new G(E.p);},k:{G:function(a){a=M.F(a);var b;try{b=fs.lstatSync(a)}catch(c){if(!c.code)throw c;throw new G(E[c.code]);}M.na&&!b.P&&(b.P=4096);M.na&&!b.blocks&&(b.blocks=(b.size+b.P-1)/b.P|0);return{dev:b.dev,ino:b.ino,mode:b.mode,nlink:b.nlink,uid:b.uid,gid:b.gid,rdev:b.rdev,size:b.size,atime:b.atime,mtime:b.mtime,ctime:b.ctime,P:b.P,blocks:b.blocks}},C:function(a, -b){var c=M.F(a);try{void 0!==b.mode&&(fs.chmodSync(c,b.mode),a.mode=b.mode),void 0!==b.size&&fs.truncateSync(c,b.size)}catch(d){if(!d.code)throw d;throw new G(E[d.code]);}},lookup:function(a,b){var c=F(M.F(a),b),c=M.Wa(c);return M.createNode(a,b,c)},da:function(a,b,c,d){a=M.createNode(a,b,c,d);b=M.F(a);try{L(a.mode)?fs.mkdirSync(b,a.mode):fs.writeFileSync(b,"",{mode:a.mode})}catch(e){if(!e.code)throw e;throw new G(E[e.code]);}return a},rename:function(a,b,c){a=M.F(a);b=F(M.F(b),c);try{fs.renameSync(a, -b)}catch(d){if(!d.code)throw d;throw new G(E[d.code]);}},unlink:function(a,b){var c=F(M.F(a),b);try{fs.unlinkSync(c)}catch(d){if(!d.code)throw d;throw new G(E[d.code]);}},rmdir:function(a,b){var c=F(M.F(a),b);try{fs.rmdirSync(c)}catch(d){if(!d.code)throw d;throw new G(E[d.code]);}},readdir:function(a){a=M.F(a);try{return fs.readdirSync(a)}catch(b){if(!b.code)throw b;throw new G(E[b.code]);}},symlink:function(a,b,c){a=F(M.F(a),b);try{fs.symlinkSync(c,a)}catch(d){if(!d.code)throw d;throw new G(E[d.code]); -}},readlink:function(a){var b=M.F(a);try{return b=fs.readlinkSync(b),b=Xb.relative(Xb.resolve(a.D.Ba.root),b)}catch(c){if(!c.code)throw c;throw new G(E[c.code]);}}},n:{open:function(a){var b=M.F(a.g);try{32768===(a.g.mode&61440)&&(a.ea=fs.openSync(b,M.ub(a.flags)))}catch(c){if(!c.code)throw c;throw new G(E[c.code]);}},close:function(a){try{32768===(a.g.mode&61440)&&a.ea&&fs.closeSync(a.ea)}catch(b){if(!b.code)throw b;throw new G(E[b.code]);}},read:function(a,b,c,d,e){if(0===d)return 0;var g=new Buffer(d), -h;try{h=fs.readSync(a.ea,g,0,d,e)}catch(m){throw new G(E[m.code]);}if(0b)throw new G(E.p);return b}}};z(1,"i32*",2);z(1,"i32*",2);z(1,"i32*",2); -var Yb=null,Zb=[null],N=[],$b=1,ac=null,bc=!0,O={},G=null,Vb={}; -function P(a,b){a=Mb("/",a);b=b||{};if(!a)return{path:"",g:null};var c={Ua:!0,Da:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8>>0)%ac.length}function ec(a){var b=dc(a.parent.id,a.name);a.V=ac[b];ac[b]=a}function fc(a){var b=dc(a.parent.id,a.name);if(ac[b]===a)ac[b]=a.V;else for(b=ac[b];b;){if(b.V===a){b.V=a.V;break}b=b.V}} -function Wb(a,b){var c;if(c=(c=gc(a,"x"))?c:a.k.lookup?0:E.Y)throw new G(c,a);for(c=ac[dc(a.id,b)];c;c=c.V){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.k.lookup(a,b)} -function Ub(a,b,c,d){hc||(hc=function(a,b,c,d){a||(a=this);this.parent=a;this.D=a.D;this.U=null;this.id=$b++;this.name=b;this.mode=c;this.k={};this.n={};this.rdev=d},hc.prototype={},Object.defineProperties(hc.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},Fb:{get:function(){return L(this.mode)}},Eb:{get:function(){return 8192===(this.mode& -61440)}}}));a=new hc(a,b,c,d);ec(a);return a}function L(a){return 16384===(a&61440)}var ic={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};function gc(a,b){if(bc)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return E.Y}else return E.Y;return 0}function jc(a,b){try{return Wb(a,b),E.Ha}catch(c){}return gc(a,"wx")} -function kc(a,b,c){var d;try{d=Wb(a,b)}catch(e){return e.o}if(a=gc(a,"wx"))return a;if(c){if(!L(d.mode))return E.ia;if(d===d.parent||"/"===Q(d))return E.Z}else if(L(d.mode))return E.S;return 0}function lc(a){var b;b=4096;for(a=a||0;a<=b;a++)if(!N[a])return a;throw new G(E.eb);} -function mc(a,b){nc||(nc=function(){},nc.prototype={},Object.defineProperties(nc.prototype,{object:{get:function(){return this.g},set:function(a){this.g=a}},Fe:{get:function(){return 1!==(this.flags&2097155)}},Ge:{get:function(){return 0!==(this.flags&2097155)}},Ee:{get:function(){return this.flags&1024}}}));var c=new nc,d;for(d in a)c[d]=a[d];a=c;c=lc(b);a.fd=c;return N[c]=a}var Tb={open:function(a){a.n=Zb[a.g.rdev].n;a.n.open&&a.n.open(a)},N:function(){throw new G(E.ja);}}; -function Pb(a,b){Zb[a]={n:b}}function pc(a,b){var c="/"===b,d=!b,e;if(c&&Yb)throw new G(E.Z);if(!c&&!d){e=P(b,{Ua:!1});b=e.path;e=e.g;if(e.U)throw new G(E.Z);if(!L(e.mode))throw new G(E.ia);}var d={type:a,Ba:{},$a:b,Jb:[]},g=a.D(d);g.D=d;d.root=g;c?Yb=g:e&&(e.U=d,e.D&&e.D.Jb.push(d))}function qc(a,b,c){var d=P(a,{parent:!0}).g;a=Kb(a);if(!a||"."===a||".."===a)throw new G(E.p);var e=jc(d,a);if(e)throw new G(e);if(!d.k.da)throw new G(E.H);return d.k.da(d,a,b,c)} -function rc(a,b){b=(void 0!==b?b:438)&4095;b|=32768;return qc(a,b,0)}function R(a,b){b=(void 0!==b?b:511)&1023;b|=16384;return qc(a,b,0)}function sc(a,b,c){"undefined"===typeof c&&(c=b,b=438);return qc(a,b|8192,c)}function tc(a,b){if(!Mb(a))throw new G(E.J);var c=P(b,{parent:!0}).g;if(!c)throw new G(E.J);var d=Kb(b),e=jc(c,d);if(e)throw new G(e);if(!c.k.symlink)throw new G(E.H);return c.k.symlink(c,d,a)} -function uc(a){var b=P(a,{parent:!0}).g,c=Kb(a),d=Wb(b,c),e=kc(b,c,!1);if(e)throw e===E.S&&(e=E.H),new G(e);if(!b.k.unlink)throw new G(E.H);if(d.U)throw new G(E.Z);try{O.willDeletePath&&O.willDeletePath(a)}catch(g){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.k.unlink(b,c);fc(d);try{if(O.onDeletePath)O.onDeletePath(a)}catch(h){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+h.message)}} -function cc(a){a=P(a).g;if(!a)throw new G(E.J);if(!a.k.readlink)throw new G(E.p);return Mb(Q(a.parent),a.k.readlink(a))}function vc(a,b){var c=P(a,{Q:!b}).g;if(!c)throw new G(E.J);if(!c.k.G)throw new G(E.H);return c.k.G(c)}function wc(a){return vc(a,!0)}function xc(a,b){var c;"string"===typeof a?c=P(a,{Q:!0}).g:c=a;if(!c.k.C)throw new G(E.H);c.k.C(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})} -function yc(a){var b;"string"===typeof a?b=P(a,{Q:!0}).g:b=a;if(!b.k.C)throw new G(E.H);b.k.C(b,{timestamp:Date.now()})}function zc(a,b){if(0>b)throw new G(E.p);var c;"string"===typeof a?c=P(a,{Q:!0}).g:c=a;if(!c.k.C)throw new G(E.H);if(L(c.mode))throw new G(E.S);if(32768!==(c.mode&61440))throw new G(E.p);var d=gc(c,"w");if(d)throw new G(d);c.k.C(c,{size:b,timestamp:Date.now()})} -function Ac(a,b,c,d){if(""===a)throw new G(E.J);if("string"===typeof b){var e=ic[b];if("undefined"===typeof e)throw Error("Unknown file open mode: "+b);b=e}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;var g;if("object"===typeof a)g=a;else{a=Ib(a);try{g=P(a,{Q:!(b&131072)}).g}catch(h){}}e=!1;if(b&64)if(g){if(b&128)throw new G(E.Ha);}else g=qc(a,c,0),e=!0;if(!g)throw new G(E.J);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!L(g.mode))throw new G(E.ia);if(!e&&(g?40960===(g.mode&61440)?c=E.sa:L(g.mode)&& -(0!==(b&2097155)||b&512)?c=E.S:(c=["r","w","rw"][b&3],b&512&&(c+="w"),c=gc(g,c)):c=E.J,c))throw new G(c);b&512&&zc(g,0);b&=-641;d=mc({g:g,path:Q(g),flags:b,seekable:!0,position:0,n:g.n,Sb:[],error:!1},d);d.n.open&&d.n.open(d);!f.logReadFiles||b&1||(Bc||(Bc={}),a in Bc||(Bc[a]=1,f.printErr("read file: "+a)));try{O.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),O.onOpenFile(a,g))}catch(m){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+m.message)}return d} -function Cc(a){a.za&&(a.za=null);try{a.n.close&&a.n.close(a)}catch(b){throw b;}finally{N[a.fd]=null}}function Dc(a,b,c){if(!a.seekable||!a.n.N)throw new G(E.ja);a.position=a.n.N(a,b,c);a.Sb=[]}function Ec(a,b,c,d,e){if(0>d||0>e)throw new G(E.p);if(1===(a.flags&2097155))throw new G(E.L);if(L(a.g.mode))throw new G(E.S);if(!a.n.read)throw new G(E.p);var g=!0;if("undefined"===typeof e)e=a.position,g=!1;else if(!a.seekable)throw new G(E.ja);b=a.n.read(a,b,c,d,e);g||(a.position+=b);return b} -function Fc(a,b,c,d,e,g){if(0>d||0>e)throw new G(E.p);if(0===(a.flags&2097155))throw new G(E.L);if(L(a.g.mode))throw new G(E.S);if(!a.n.write)throw new G(E.p);a.flags&1024&&Dc(a,0,2);var h=!0;if("undefined"===typeof e)e=a.position,h=!1;else if(!a.seekable)throw new G(E.ja);b=a.n.write(a,b,c,d,e,g);h||(a.position+=b);try{if(a.path&&O.onWriteToFile)O.onWriteToFile(a.path)}catch(m){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+m.message)}return b} -function Gc(){G||(G=function(a,b){this.g=b;this.Pb=function(a){this.o=a;for(var b in E)if(E[b]===a){this.code=b;break}};this.Pb(a);this.message=Fb[a]},G.prototype=Error(),G.prototype.constructor=G,[E.J].forEach(function(a){Vb[a]=new G(a);Vb[a].stack=""}))}var Hc;function Ic(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}function Jc(a,b,c,d){a=F("string"===typeof a?a:Q(a),b);return rc(a,Ic(c,d))} -function Kc(a,b,c,d,e,g){a=b?F("string"===typeof a?a:Q(a),b):a;d=Ic(d,e);e=rc(a,d);if(c){if("string"===typeof c){a=Array(c.length);b=0;for(var h=c.length;b>2]=d.dev;y[c+4>>2]=0;y[c+8>>2]=d.ino;y[c+12>>2]=d.mode;y[c+16>>2]=d.nlink;y[c+20>>2]=d.uid;y[c+24>>2]=d.gid;y[c+28>>2]=d.rdev;y[c+32>>2]=0;y[c+36>>2]=d.size;y[c+40>>2]=4096;y[c+44>>2]=d.blocks;y[c+48>>2]=d.atime.getTime()/1E3|0;y[c+52>>2]=0;y[c+56>>2]=d.mtime.getTime()/1E3|0;y[c+60>>2]=0;y[c+64>>2]=d.ctime.getTime()/1E3|0;y[c+68>>2]=0;y[c+72>>2]=d.ino;return 0}var T=0; -function U(){T+=4;return y[T-4>>2]}function V(){return u(U())}function Pc(){var a;a=U();a=N[a];if(!a)throw new G(E.L);return a}var ya=void 0;function Qc(a){a=a/1E3;if((da||ea)&&self.performance&&self.performance.now)for(var b=self.performance.now();self.performance.now()-b>2]=60*-(new Date).getTimezoneOffset();var b=new Date(2E3,0,1),c=new Date(2E3,6,1);y[Tc>>2]=Number(b.getTimezoneOffset()!=c.getTimezoneOffset());var d=a(b),e=a(c),d=z(D(d),"i8",0),e=z(D(e),"i8",0);c.getTimezoneOffset()>2]=d,y[Sc+4>>2]=e):(y[Sc>>2]=e,y[Sc+4>>2]=d)}} -function Wc(a,b){Vc();var c=new Date(1E3*y[a>>2]);y[b>>2]=c.getSeconds();y[b+4>>2]=c.getMinutes();y[b+8>>2]=c.getHours();y[b+12>>2]=c.getDate();y[b+16>>2]=c.getMonth();y[b+20>>2]=c.getFullYear()-1900;y[b+24>>2]=c.getDay();var d=new Date(c.getFullYear(),0,1);y[b+28>>2]=(c.getTime()-d.getTime())/864E5|0;y[b+36>>2]=-(60*c.getTimezoneOffset());c=c.getTimezoneOffset()==Math.min(d.getTimezoneOffset(),(new Date(2E3,6,1)).getTimezoneOffset())|0;y[b+32>>2]=c;y[b+40>>2]=y[Sc+(c?l.M:0)>>2];return b} -f._bitshift64Lshr=Xc;function Yc(a,b){ib.push(function(){l.T("vi",a,[b])});Yc.level=ib.length}var Zc=z(1,"i32*",2); -function $c(a){var b,c;$c.B?(c=y[Zc>>2],b=y[c>>2]):($c.B=!0,W.USER=W.LOGNAME="web_user",W.PATH="/",W.PWD="/",W.HOME="/home/web_user",W.LANG="C",W._=f.thisProgram,b=z(1024,"i8",2),c=z(256,"i8*",2),y[c>>2]=b,y[Zc>>2]=c);var d=[],e=0,g;for(g in a)if("string"===typeof a[g]){var h=g+"="+a[g];d.push(h);e+=h.length}if(1024>2]=b,b+=h.length+1;y[c+4*d.length>>2]=0}var W={}; -function ad(a){if(0===a)return 0;a=u(a);if(!W.hasOwnProperty(a))return 0;ad.B&&Ra(ad.B);ad.B=z(D(W[a]),"i8",0);return ad.B}f._memcpy=bd;function Ka(a){Ka.Va||(n=Ua(n),Ka.Va=!0,assert(l.ba),Ka.Gb=l.ba,l.ba=function(){q("cannot dynamically allocate, sbrk now has control")});var b=n;return 0==a||Ka.Gb(a)?b:4294967295}f._memmove=cd;function dd(a,b){T=b;return 0}f._memset=ed;f._bitshift64Shl=fd;var gd=Da; -function hd(a,b){id=a;jd=b;if(!kd)return 1;if(0==a)ld=function(){setTimeout(md,b)},nd="timeout";else if(1==a)ld=function(){od(md)},nd="rAF";else if(2==a){if(!window.setImmediate){var c=[];window.addEventListener("message",function(a){a.source===window&&"__emcc"===a.data&&(a.stopPropagation(),c.shift()())},!0);window.setImmediate=function(a){c.push(a);window.postMessage("__emcc","*")}}ld=function(){window.setImmediate(md)};nd="immediate"}return 0} -function pd(a,b,c,d,e){f.noExitRuntime=!0;assert(!kd,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");kd=a;qd=d;var g=rd;md=function(){if(!pa)if(0>h-6&63,h=h-6,c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[v];2==h?(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(g&3)<<4],c+="=="):4==h&&(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(g&15)<<2],c+="=");I.src="data:audio/x-"+b.substr(-3)+";base64,"+c;m(I)}};I.src=x;Hd(function(){m(I)})}else return t()}});var c=f.canvas;c&&(c.Ea=c.requestPointerLock||c.mozRequestPointerLock|| -c.webkitRequestPointerLock||c.msRequestPointerLock||function(){},c.Ra=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},c.Ra=c.Ra.bind(document),document.addEventListener("pointerlockchange",a,!1),document.addEventListener("mozpointerlockchange",a,!1),document.addEventListener("webkitpointerlockchange",a,!1),document.addEventListener("mspointerlockchange",a,!1),f.elementPointerLock&&c.addEventListener("click",function(a){!zd&& -c.Ea&&(c.Ea(),a.preventDefault())},!1))}}function Id(a,b,c,d){if(b&&f.wa&&a==f.canvas)return f.wa;var e,g;if(b){g={antialias:!1,alpha:!1};if(d)for(var h in d)g[h]=d[h];if(g=GL.createContext(a,g))e=GL.getContext(g).Zd;a.style.backgroundColor="black"}else e=a.getContext("2d");if(!e)return null;c&&(b||assert("undefined"===typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),f.wa=e,b&&GL.Ie(g),f.Le=b,Ad.forEach(function(a){a()}),Bd());return e} -var Jd=!1,Kd=void 0,Ld=void 0; -function Md(a,b,c){function d(){yd=!1;var a=e.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===a?(e.Pa=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){}, -e.Pa=e.Pa.bind(document),Kd&&e.Ea(),yd=!0,Ld&&Nd()):(a.parentNode.insertBefore(e,a),a.parentNode.removeChild(a),Ld&&Od());if(f.onFullScreen)f.onFullScreen(yd);Pd(e)}Kd=a;Ld=b;Qd=c;"undefined"===typeof Kd&&(Kd=!0);"undefined"===typeof Ld&&(Ld=!1);"undefined"===typeof Qd&&(Qd=null);var e=f.canvas;Jd||(Jd=!0,document.addEventListener("fullscreenchange",d,!1),document.addEventListener("mozfullscreenchange",d,!1),document.addEventListener("webkitfullscreenchange",d,!1),document.addEventListener("MSFullscreenChange", -d,!1));var g=document.createElement("div");e.parentNode.insertBefore(g,e);g.appendChild(e);g.B=g.requestFullScreen||g.mozRequestFullScreen||g.msRequestFullscreen||(g.webkitRequestFullScreen?function(){g.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null);c?g.B({Me:c}):g.B()}var Rd=0;function Sd(a){var b=Date.now();if(0===Rd)Rd=b+1E3/60;else for(;b+2>=Rd;)Rd+=1E3/60;b=Math.max(Rd-b,0);setTimeout(a,b)} -function od(a){"undefined"===typeof window?Sd(a):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Sd),window.requestAnimationFrame(a))}function Hd(a){f.noExitRuntime=!0;setTimeout(function(){pa||a()},1E4)} -function Gd(a){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".")+1)]}function Td(a,b,c){var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)} -function Ud(a,b,c){Td(a,function(c){assert(c,'Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(c));Bb()},function(){if(c)c();else throw'Loading data file "'+a+'" failed.';});Ab()}var Vd=[];function Wd(){var a=f.canvas;Vd.forEach(function(b){b(a.width,a.height)})}function Nd(){if("undefined"!=typeof SDL){var a=Wa[SDL.screen+0*l.M>>2];y[SDL.screen+0*l.M>>2]=a|8388608}Wd()} -function Od(){if("undefined"!=typeof SDL){var a=Wa[SDL.screen+0*l.M>>2];y[SDL.screen+0*l.M>>2]=a&-8388609}Wd()} -function Pd(a,b,c){b&&c?(a.Tb=b,a.Cb=c):(b=a.Tb,c=a.Cb);var d=b,e=c;f.forcedAspectRatio&&0this.length-1||0>a)){var b=a%this.chunkSize;return this.Bb(a/this.chunkSize|0)[b]}};m.prototype.Ob=function(a){this.Bb=a};m.prototype.Oa=function(){var a=new XMLHttpRequest;a.open("HEAD",c,!1);a.send(null);if(!(200<=a.status&&300>a.status||304===a.status))throw Error("Couldn't load "+c+". Status: "+a.status);var b=Number(a.getResponseHeader("Content-length")),d,e=1048576;(d=a.getResponseHeader("Accept-Ranges"))&& -"bytes"===d||(e=b);var g=this;g.Ob(function(a){var d=a*e,h=(a+1)*e-1,h=Math.min(h,b-1);if("undefined"===typeof g.ma[a]){var m=g.ma;if(d>h)throw Error("invalid range ("+d+", "+h+") or no bytes requested!");if(h>b-1)throw Error("only "+b+" bytes available! programmer error!");var r=new XMLHttpRequest;r.open("GET",c,!1);b!==e&&r.setRequestHeader("Range","bytes="+d+"-"+h);"undefined"!=typeof Uint8Array&&(r.responseType="arraybuffer");r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined"); -r.send(null);if(!(200<=r.status&&300>r.status||304===r.status))throw Error("Couldn't load "+c+". Status: "+r.status);d=void 0!==r.response?new Uint8Array(r.response||[]):D(r.responseText||"",!0);m[a]=d}if("undefined"===typeof g.ma[a])throw Error("doXHR failed!");return g.ma[a]});this.lb=b;this.kb=e;this.Aa=!0};if("undefined"!==typeof XMLHttpRequest){if(!ea)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";g=new m;Object.defineProperty(g, -"length",{get:function(){this.Aa||this.Oa();return this.lb}});Object.defineProperty(g,"chunkSize",{get:function(){this.Aa||this.Oa();return this.kb}});h=void 0}else h=c,g=void 0;var t=Jc(a,b,d,e);g?t.e=g:h&&(t.e=null,t.url=h);Object.defineProperty(t,"usedBytes",{get:function(){return this.e.length}});var r={};Object.keys(t.n).forEach(function(a){var b=t.n[a];r[a]=function(){if(!Mc(t))throw new G(E.O);return b.apply(null,arguments)}});r.read=function(a,b,c,d,e){if(!Mc(t))throw new G(E.O);a=a.g.e;if(e>= -a.length)return 0;d=Math.min(a.length-e,d);assert(0<=d);if(a.slice)for(var g=0;g=g)e=-E.p;else{var h=cc(c),h=h.slice(0,Math.max(0,g));xa(h,d,!0);e=h.length}return e}catch(m){return"undefined"!==typeof S&&m instanceof G||q(m),-m.o}},_sin:nb,_exp:tb,_utimes:function(a,b){var c;b?(c=1E3*y[b+8>>2],c+=y[b+12>>2]/1E3):c=Date.now();a=u(a);try{var d=c,e=P(a,{Q:!0}).g;e.k.C(e,{timestamp:Math.max(d,c)});return 0}catch(g){if(!(g instanceof G))throw g+" : "+Sa();Gb(g.o);return-1}},_llvm_pow_f64:wb,_acos:pb,___syscall54:function(a,b){T=b;try{var c=Pc(), -d=U();switch(d){case 21505:return c.tty?0:-E.$;case 21506:return c.tty?0:-E.$;case 21519:if(!c.tty)return-E.$;var e=U();return y[e>>2]=0;case 21520:return c.tty?-E.p:-E.$;case 21531:e=U();if(!c.n.Db)throw new G(E.$);return c.n.Db(c,d,e);default:q("bad ioctl syscall "+d)}}catch(g){return"undefined"!==typeof S&&g instanceof G||q(g),-g.o}},_pthread_cleanup_push:Yc,_abort:function(){f.abort()},___syscall40:function(a,b){T=b;try{var c=V(),d=P(c,{parent:!0}).g,e=Kb(c),g=Wb(d,e),h=kc(d,e,!0);if(h)throw new G(h); -if(!d.k.rmdir)throw new G(E.H);if(g.U)throw new G(E.Z);try{O.willDeletePath&&O.willDeletePath(c)}catch(m){console.log("FS.trackingDelegate['willDeletePath']('"+c+"') threw an exception: "+m.message)}d.k.rmdir(d,e);fc(g);try{if(O.onDeletePath)O.onDeletePath(c)}catch(t){console.log("FS.trackingDelegate['onDeletePath']('"+c+"') threw an exception: "+t.message)}return 0}catch(r){return"undefined"!==typeof S&&r instanceof G||q(r),-r.o}},___syscall118:function(a,b){T=b;try{return Pc(),0}catch(c){return"undefined"!== -typeof S&&c instanceof G||q(c),-c.o}},___setErrNo:Gb,___syscall20:function(a,b){T=b;return 42},___syscall183:function(a,b){T=b;try{var c=U(),d=U();if(0===d)return-E.p;if(2>d)return-E.fb;Ma("/",c);return c}catch(e){return"undefined"!==typeof S&&e instanceof G||q(e),-e.o}},___assert_fail:function(a,b,c,d){pa=!0;throw"Assertion failed: "+u(a)+", at: "+[b?u(b):"unknown filename",c,d?u(d):"unknown function"]+" at "+Sa();},_usleep:Qc,_asin:qb,___buildEnvironment:$c,___syscall202:dd,___syscall91:function(a, -b){T=b;try{var c=U(),d=U(),e=Nc[c];if(!e)return 0;if(d===e.Hb){var g=N[e.fd],h=e.flags,m=new Uint8Array(A.subarray(c,c+d));g&&g.n.pa&&g.n.pa(g,m,0,d,h);Nc[c]=null;e.ua&&Ra(e.Ib)}return 0}catch(t){return"undefined"!==typeof S&&t instanceof G||q(t),-t.o}},_cos:mb,___syscall39:function(a,b){T=b;try{var c=V(),d=U(),c=Ib(c);"/"===c[c.length-1]&&(c=c.substr(0,c.length-1));R(c,d);return 0}catch(e){return"undefined"!==typeof S&&e instanceof G||q(e),-e.o}},_localtime_r:Wc,_tzset:Vc,_emscripten_set_main_loop_timing:hd, -_sbrk:Ka,___syscall192:function(a,b){T=b;try{var c=U(),d=U(),e=U(),g=U(),h=U(),m=U(),m=m<<12,t,r=!1;if(-1===h){t=Ia(d);if(!t)return-E.Ia;ed(t,0,d);r=!0}else{var x=N[h];if(!x)return-E.L;var v,I=A;if(1===(x.flags&2097155))throw new G(E.Y);if(!x.n.oa)throw new G(E.ha);v=x.n.oa(x,I,c,d,m,e,g);t=v.Kb;r=v.ua}Nc[t]={Ib:t,Hb:d,ua:r,fd:h,flags:g};return t}catch(J){return"undefined"!==typeof S&&J instanceof G||q(J),-J.o}},___syscall197:function(a,b){T=b;try{var c=Pc(),d=U();return Oc(vc,c.path,d)}catch(e){return"undefined"!== -typeof S&&e instanceof G||q(e),-e.o}},___syscall196:function(a,b){T=b;try{var c=V(),d=U();return Oc(wc,c,d)}catch(e){return"undefined"!==typeof S&&e instanceof G||q(e),-e.o}},___syscall195:function(a,b){T=b;try{var c=V(),d=U();return Oc(vc,c,d)}catch(e){return"undefined"!==typeof S&&e instanceof G||q(e),-e.o}},___syscall194:function(a,b){T=b;try{var c=U();assert(0===U());var d=U(),e=U();0<=d?assert(0===e):assert(-1===e);var g=N[c];if(!g)throw new G(E.L);if(0===(g.flags&2097155))throw new G(E.p);zc(g.g, -d);return 0}catch(h){return"undefined"!==typeof S&&h instanceof G||q(h),-h.o}},___syscall212:function(a,b){T=b;try{var c=V();U();U();yc(c);return 0}catch(d){return"undefined"!==typeof S&&d instanceof G||q(d),-d.o}},_sysconf:function(a){switch(a){case 30:return 4096;case 85:return C/4096;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; +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 tb(a){e.___errno_location&&(t[e.___errno_location()>>2]=a);return a} +function ub(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function vb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=ub(a.split("/").filter(function(a){return!!a}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a} +function wb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function xb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function yb(){var a=Array.prototype.slice.call(arguments,0);return vb(a.join("/"))}function G(a,b){return vb(a+"/"+b)} +function zb(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=ub(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var Ab=[];function Bb(a,b){Ab[a]={input:[],output:[],J:b};Cb(a,Db)} +var Db={open:function(a){var b=Ab[a.c.rdev];if(!b)throw new I(F.R);a.tty=b;a.seekable=!1},close:function(a){a.tty.J.flush(a.tty)},flush:function(a){a.tty.J.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.J.Ha)throw new I(F.ta);for(var f=0,g=0;ga.b.length&&(a.b=J.cb(a),a.g=a.b.length);if(!a.b||a.b.subarray){var c=a.b?a.b.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.b,a.b=new Uint8Array(b),0b)a.b.length=b;else for(;a.b.length=a.c.g)return 0;a=Math.min(a.c.g-f,d);assert(0<=a);if(8b)throw new I(F.h);return b},wa:function(a,b,c){J.Ca(a.c,b+c);a.c.g=Math.max(a.c.g,b+c)},X:function(a, +b,c,d,f,g,h){if(32768!==(a.c.mode&61440))throw new I(F.R);c=a.c.b;if(h&2||c.buffer!==b&&c.buffer!==b.buffer){if(0>1)}catch(c){if(!c.code)throw c;throw new I(F[c.code]);}return b.mode},m:function(a){for(var b=[];a.parent!==a;)b.push(a.name),a=a.parent;b.push(a.l.ka.root);b.reverse();return yb.apply(null,b)},Da:{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+"},bb:function(a){a&=-2099201;a&=-32769;a&=-524289;if(a in L.Da)return L.Da[a];throw new I(F.h);},d:{n:function(a){a=L.m(a);var b;try{b=fs.lstatSync(a)}catch(c){if(!c.code)throw c;throw new I(F[c.code]);}L.W&&!b.B&&(b.B=4096);L.W&&!b.blocks&&(b.blocks=(b.size+b.B-1)/b.B|0);return{dev:b.dev,ino:b.ino,mode:b.mode,nlink:b.nlink,uid:b.uid,gid:b.gid,rdev:b.rdev,size:b.size, +atime:b.atime,mtime:b.mtime,ctime:b.ctime,B:b.B,blocks:b.blocks}},k:function(a,b){var c=L.m(a);try{void 0!==b.mode&&(fs.chmodSync(c,b.mode),a.mode=b.mode),void 0!==b.size&&fs.truncateSync(c,b.size)}catch(d){if(!d.code)throw d;throw new I(F[d.code]);}},lookup:function(a,b){var c=G(L.m(a),b),c=L.Fa(c);return L.createNode(a,b,c)},O:function(a,b,c,d){a=L.createNode(a,b,c,d);b=L.m(a);try{K(a.mode)?fs.mkdirSync(b,a.mode):fs.writeFileSync(b,"",{mode:a.mode})}catch(f){if(!f.code)throw f;throw new I(F[f.code]); +}return a},rename:function(a,b,c){a=L.m(a);b=G(L.m(b),c);try{fs.renameSync(a,b)}catch(d){if(!d.code)throw d;throw new I(F[d.code]);}},unlink:function(a,b){var c=G(L.m(a),b);try{fs.unlinkSync(c)}catch(d){if(!d.code)throw d;throw new I(F[d.code]);}},rmdir:function(a,b){var c=G(L.m(a),b);try{fs.rmdirSync(c)}catch(d){if(!d.code)throw d;throw new I(F[d.code]);}},readdir:function(a){a=L.m(a);try{return fs.readdirSync(a)}catch(b){if(!b.code)throw b;throw new I(F[b.code]);}},symlink:function(a,b,c){a=G(L.m(a), +b);try{fs.symlinkSync(c,a)}catch(d){if(!d.code)throw d;throw new I(F[d.code]);}},readlink:function(a){var b=L.m(a);try{return b=fs.readlinkSync(b),b=Kb.relative(Kb.resolve(a.l.ka.root),b)}catch(c){if(!c.code)throw c;throw new I(F[c.code]);}}},e:{open:function(a){var b=L.m(a.c);try{32768===(a.c.mode&61440)&&(a.P=fs.openSync(b,L.bb(a.flags)))}catch(c){if(!c.code)throw c;throw new I(F[c.code]);}},close:function(a){try{32768===(a.c.mode&61440)&&a.P&&fs.closeSync(a.P)}catch(b){if(!b.code)throw b;throw new I(F[b.code]); +}},read:function(a,b,c,d,f){if(0===d)return 0;var g=new Buffer(d),h;try{h=fs.readSync(a.P,g,0,d,f)}catch(q){throw new I(F[q.code]);}if(0b)throw new I(F.h);return b}}};p+=16; +p+=16;p+=16;var Lb=null,Mb=[null],M=[],Nb=1,Ob=null,Pb=!0,N={},I=null,Ib={}; +function O(a,b){a=zb("/",a);b=b||{};if(!a)return{path:"",c:null};var c={Ea:!0,ma:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8>>0)%Ob.length}function Sb(a){var b=Rb(a.parent.id,a.name);a.I=Ob[b];Ob[b]=a}function Tb(a){var b=Rb(a.parent.id,a.name);if(Ob[b]===a)Ob[b]=a.I;else for(b=Ob[b];b;){if(b.I===a){b.I=a.I;break}b=b.I}} +function Jb(a,b){var c;if(c=(c=Ub(a,"x"))?c:a.d.lookup?0:F.L)throw new I(c,a);for(c=Ob[Rb(a.id,b)];c;c=c.I){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.d.lookup(a,b)} +function Hb(a,b,c,d){Vb||(Vb=function(a,b,c,d){a||(a=this);this.parent=a;this.l=a.l;this.H=null;this.id=Nb++;this.name=b;this.mode=c;this.d={};this.e={};this.rdev=d},Vb.prototype={},Object.defineProperties(Vb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},kb:{get:function(){return K(this.mode)}},jb:{get:function(){return 8192===(this.mode& +61440)}}}));a=new Vb(a,b,c,d);Sb(a);return a}function K(a){return 16384===(a&61440)}var Wb={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};function Xb(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function Ub(a,b){if(Pb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return F.L}else return F.L;return 0} +function Yb(a,b){try{return Jb(a,b),F.qa}catch(c){}return Ub(a,"wx")}function Zb(a,b,c){var d;try{d=Jb(a,b)}catch(f){return f.f}if(a=Ub(a,"wx"))return a;if(c){if(!K(d.mode))return F.S;if(d===d.parent||"/"===P(d))return F.M}else if(K(d.mode))return F.N;return 0}function $b(a){var b;b=4096;for(a=a||0;a<=b;a++)if(!M[a])return a;throw new I(F.Ma);} +function ac(a,b){bc||(bc=function(){},bc.prototype={},Object.defineProperties(bc.prototype,{object:{get:function(){return this.c},set:function(a){this.c=a}},he:{get:function(){return 1!==(this.flags&2097155)}},ie:{get:function(){return 0!==(this.flags&2097155)}},ge:{get:function(){return this.flags&1024}}}));var c=new bc,d;for(d in a)c[d]=a[d];a=c;c=$b(b);a.fd=c;return M[c]=a}var Gb={open:function(a){a.e=Mb[a.c.rdev].e;a.e.open&&a.e.open(a)},v:function(){throw new I(F.T);}}; +function Cb(a,b){Mb[a]={e:b}}function cc(a,b){var c="/"===b,d=!b,f;if(c&&Lb)throw new I(F.M);if(!c&&!d){f=O(b,{Ea:!1});b=f.path;f=f.c;if(f.H)throw new I(F.M);if(!K(f.mode))throw new I(F.S);}var d={type:a,ka:{},Ka:b,nb:[]},g=a.l(d);g.l=d;d.root=g;c?Lb=g:f&&(f.H=d,f.l&&f.l.nb.push(d))}function dc(a,b,c){var d=O(a,{parent:!0}).c;a=xb(a);if(!a||"."===a||".."===a)throw new I(F.h);var f=Yb(d,a);if(f)throw new I(f);if(!d.d.O)throw new I(F.q);return d.d.O(d,a,b,c)} +function ec(a,b){b=(void 0!==b?b:438)&4095;b|=32768;return dc(a,b,0)}function Q(a,b){b=(void 0!==b?b:511)&1023;b|=16384;return dc(a,b,0)}function fc(a,b,c){"undefined"===typeof c&&(c=b,b=438);return dc(a,b|8192,c)}function gc(a,b){if(!zb(a))throw new I(F.p);var c=O(b,{parent:!0}).c;if(!c)throw new I(F.p);var d=xb(b),f=Yb(c,d);if(f)throw new I(f);if(!c.d.symlink)throw new I(F.q);return c.d.symlink(c,d,a)} +function hc(a){var b=O(a,{parent:!0}).c,c=xb(a),d=Jb(b,c),f=Zb(b,c,!1);if(f)throw new I(f);if(!b.d.unlink)throw new I(F.q);if(d.H)throw new I(F.M);try{N.willDeletePath&&N.willDeletePath(a)}catch(g){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.d.unlink(b,c);Tb(d);try{if(N.onDeletePath)N.onDeletePath(a)}catch(h){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+h.message)}} +function Qb(a){a=O(a).c;if(!a)throw new I(F.p);if(!a.d.readlink)throw new I(F.h);return zb(P(a.parent),a.d.readlink(a))}function ic(a,b){var c=O(a,{C:!b}).c;if(!c)throw new I(F.p);if(!c.d.n)throw new I(F.q);return c.d.n(c)}function jc(a){return ic(a,!0)}function kc(a,b){var c;"string"===typeof a?c=O(a,{C:!0}).c:c=a;if(!c.d.k)throw new I(F.q);c.d.k(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})} +function lc(a){var b;"string"===typeof a?b=O(a,{C:!0}).c:b=a;if(!b.d.k)throw new I(F.q);b.d.k(b,{timestamp:Date.now()})}function mc(a,b){if(0>b)throw new I(F.h);var c;"string"===typeof a?c=O(a,{C:!0}).c:c=a;if(!c.d.k)throw new I(F.q);if(K(c.mode))throw new I(F.N);if(32768!==(c.mode&61440))throw new I(F.h);var d=Ub(c,"w");if(d)throw new I(d);c.d.k(c,{size:b,timestamp:Date.now()})} +function nc(a,b,c,d){if(""===a)throw new I(F.p);if("string"===typeof b){var f=Wb[b];if("undefined"===typeof f)throw Error("Unknown file open mode: "+b);b=f}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;var g;if("object"===typeof a)g=a;else{a=vb(a);try{g=O(a,{C:!(b&131072)}).c}catch(h){}}f=!1;if(b&64)if(g){if(b&128)throw new I(F.qa);}else g=dc(a,c,0),f=!0;if(!g)throw new I(F.p);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!K(g.mode))throw new I(F.S);if(!f&&(c=g?40960===(g.mode&61440)?F.ba:K(g.mode)&& +("r"!==Xb(b)||b&512)?F.N:Ub(g,Xb(b)):F.p))throw new I(c);b&512&&mc(g,0);b&=-641;d=ac({c:g,path:P(g),flags:b,seekable:!0,position:0,e:g.e,vb:[],error:!1},d);d.e.open&&d.e.open(d);!e.logReadFiles||b&1||(oc||(oc={}),a in oc||(oc[a]=1,e.printErr("read file: "+a)));try{N.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),N.onOpenFile(a,g))}catch(q){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+q.message)}return d} +function pc(a){a.ia&&(a.ia=null);try{a.e.close&&a.e.close(a)}catch(b){throw b;}finally{M[a.fd]=null}}function qc(a,b,c){if(!a.seekable||!a.e.v)throw new I(F.T);a.position=a.e.v(a,b,c);a.vb=[]}function rc(a,b,c,d,f){if(0>d||0>f)throw new I(F.h);if(1===(a.flags&2097155))throw new I(F.u);if(K(a.c.mode))throw new I(F.N);if(!a.e.read)throw new I(F.h);var g=!0;if("undefined"===typeof f)f=a.position,g=!1;else if(!a.seekable)throw new I(F.T);b=a.e.read(a,b,c,d,f);g||(a.position+=b);return b} +function sc(a,b,c,d,f,g){if(0>d||0>f)throw new I(F.h);if(0===(a.flags&2097155))throw new I(F.u);if(K(a.c.mode))throw new I(F.N);if(!a.e.write)throw new I(F.h);a.flags&1024&&qc(a,0,2);var h=!0;if("undefined"===typeof f)f=a.position,h=!1;else if(!a.seekable)throw new I(F.T);b=a.e.write(a,b,c,d,f,g);h||(a.position+=b);try{if(a.path&&N.onWriteToFile)N.onWriteToFile(a.path)}catch(q){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+q.message)}return b} +function tc(){I||(I=function(a,b){this.c=b;this.sb=function(a){this.f=a;for(var b in F)if(F[b]===a){this.code=b;break}};this.sb(a);this.message=sb[a]},I.prototype=Error(),I.prototype.constructor=I,[F.p].forEach(function(a){Ib[a]=new I(a);Ib[a].stack=""}))}var uc;function vc(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}function wc(a,b,c,d){a=G("string"===typeof a?a:P(a),b);return ec(a,vc(c,d))} +function xc(a,b,c,d,f,g){a=b?G("string"===typeof a?a:P(a),b):a;d=vc(d,f);f=ec(a,d);if(c){if("string"===typeof c){a=Array(c.length);b=0;for(var h=c.length;b>2]=d.dev;t[c+4>>2]=0;t[c+8>>2]=d.ino;t[c+12>>2]=d.mode;t[c+16>>2]=d.nlink;t[c+20>>2]=d.uid;t[c+24>>2]=d.gid;t[c+28>>2]=d.rdev;t[c+32>>2]=0;t[c+36>>2]=d.size;t[c+40>>2]=4096;t[c+44>>2]=d.blocks;t[c+48>>2]=d.atime.getTime()/1E3|0;t[c+52>>2]=0;t[c+56>>2]=d.mtime.getTime()/1E3|0;t[c+60>>2]=0;t[c+64>>2]=d.ctime.getTime()/1E3|0;t[c+68>>2]=0;t[c+72>>2]=d.ino;return 0}var T=0; +function U(){T+=4;return t[T-4>>2]}function V(){return y(U())}function Cc(){var a;a=U();a=M[a];if(!a)throw new I(F.u);return a} +var Dc=A([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",2);e._llvm_cttz_i32=Ec;e.___udivmoddi4=Fc;e.___remdi3=Gc;function Hc(a){a=a/1E3;if((da||k)&&self.performance&&self.performance.now)for(var b=self.performance.now();self.performance.now()-b>2]=60*-(new Date).getTimezoneOffset();var b=new Date(2E3,0,1),c=new Date(2E3,6,1);t[Lc>>2]=Number(b.getTimezoneOffset()!=c.getTimezoneOffset());var d=a(b),f=a(c),d=A(E(d),"i8",0),f=A(E(f),"i8",0);c.getTimezoneOffset()>2]=d,t[Kc+4>>2]=f):(t[Kc>>2]=f,t[Kc+4>>2]=d)}} +function Oc(a,b){Nc();var c=new Date(1E3*t[a>>2]);t[b>>2]=c.getSeconds();t[b+4>>2]=c.getMinutes();t[b+8>>2]=c.getHours();t[b+12>>2]=c.getDate();t[b+16>>2]=c.getMonth();t[b+20>>2]=c.getFullYear()-1900;t[b+24>>2]=c.getDay();var d=new Date(c.getFullYear(),0,1);t[b+28>>2]=(c.getTime()-d.getTime())/864E5|0;t[b+36>>2]=-(60*c.getTimezoneOffset());c=c.getTimezoneOffset()==Math.min(d.getTimezoneOffset(),(new Date(2E3,6,1)).getTimezoneOffset())|0;t[b+32>>2]=c;t[b+40>>2]=t[Kc+(c?n.U:0)>>2];return b} +e._bitshift64Ashr=Pc;e._bitshift64Lshr=Qc;var Rc=p;p+=16; +function Sc(a){var b,c;Sc.s?(c=t[Rc>>2],b=t[c>>2]):(Sc.s=!0,W.USER=W.LOGNAME="web_user",W.PATH="/",W.PWD="/",W.HOME="/home/web_user",W.LANG="C",W._=e.thisProgram,b=A(1024,"i8",2),c=A(256,"i8*",2),t[c>>2]=b,t[Rc>>2]=c);var d=[],f=0,g;for(g in a)if("string"===typeof a[g]){var h=g+"="+a[g];d.push(h);f+=h.length}if(1024>2]=b,b+=h.length+1;t[c+4*d.length>>2]=0}var W={}; +function Tc(a){if(0===a)return 0;a=y(a);if(!W.hasOwnProperty(a))return 0;Tc.s&&Ja(Tc.s);Tc.s=A(E(W[a]),"i8",0);return Tc.s}e._pthread_mutex_unlock=Uc;e._memcpy=Vc;e._sbrk=Wc;e._bitshift64Shl=Xc;e._memmove=Yc;e.___uremdi3=Zc;function $c(a,b){T=b;return 0}e._memset=ad;e.___divdi3=bd;e._llvm_bswap_i32=cd;e.___udivdi3=dd;e.___muldsi3=ed;e.___muldi3=fd;tc();Ob=Array(4096);cc(J,"/");Q("/tmp");Q("/home");Q("/home/web_user"); +(function(){Q("/dev");Cb(259,{read:function(){return 0},write:function(a,b,f,g){return g}});fc("/dev/null",259);Bb(1280,Eb);Bb(1536,Fb);fc("/dev/tty",1280);fc("/dev/tty1",1536);var a;if("undefined"!==typeof crypto){var b=new Uint8Array(1);a=function(){crypto.getRandomValues(b);return b[0]}}else a=l?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};yc("/dev","random",a);yc("/dev","urandom",a);Q("/dev/shm");Q("/dev/shm/tmp")})();Q("/proc");Q("/proc/self"); +Q("/proc/self/fd");cc({l:function(){var a=Hb("/proc/self","fd",16895,73);a.d={lookup:function(a,c){var d=M[+c];if(!d)throw new I(F.u);var f={parent:null,l:{Ka:"fake"},d:{readlink:function(){return d.path}}};return f.parent=f}};return a}},"/proc/self/fd"); +bb.unshift(function(){if(!e.noFSInit&&!uc){assert(!uc,"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)");uc=!0;tc();e.stdin=e.stdin;e.stdout=e.stdout;e.stderr=e.stderr;e.stdin?yc("/dev","stdin",e.stdin):gc("/dev/tty","/dev/stdin");e.stdout?yc("/dev","stdout",null,e.stdout):gc("/dev/tty","/dev/stdout");e.stderr?yc("/dev","stderr",null,e.stderr):gc("/dev/tty1","/dev/stderr"); +var a=nc("/dev/stdin","r");assert(0===a.fd,"invalid handle for stdin ("+a.fd+")");a=nc("/dev/stdout","w");assert(1===a.fd,"invalid handle for stdout ("+a.fd+")");a=nc("/dev/stderr","w");assert(2===a.fd,"invalid handle for stderr ("+a.fd+")")}});cb.push(function(){Pb=!1});db.push(function(){uc=!1;var a=e._fflush;a&&a(0);for(a=0;athis.length-1||0>a)){var b=a%this.chunkSize;return this.Ia(a/this.chunkSize|0)[b]}};q.prototype.rb=function(a){this.Ia=a};q.prototype.za=function(){var a=new XMLHttpRequest;a.open("HEAD",c,!1);a.send(null);if(!(200<=a.status&&300>a.status||304===a.status))throw Error("Couldn't load "+c+". Status: "+a.status);var b=Number(a.getResponseHeader("Content-length")),d,f=(d=a.getResponseHeader("Accept-Ranges"))&& +"bytes"===d,a=(d=a.getResponseHeader("Content-Encoding"))&&"gzip"===d,g=1048576;f||(g=b);var h=this;h.rb(function(a){var d=a*g,f=(a+1)*g-1,f=Math.min(f,b-1);if("undefined"===typeof h.V[a]){var q=h.V;if(d>f)throw Error("invalid range ("+d+", "+f+") or no bytes requested!");if(f>b-1)throw Error("only "+b+" bytes available! programmer error!");var r=new XMLHttpRequest;r.open("GET",c,!1);b!==g&&r.setRequestHeader("Range","bytes="+d+"-"+f);"undefined"!=typeof Uint8Array&&(r.responseType="arraybuffer"); +r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined");r.send(null);if(!(200<=r.status&&300>r.status||304===r.status))throw Error("Couldn't load "+c+". Status: "+r.status);d=void 0!==r.response?new Uint8Array(r.response||[]):E(r.responseText||"",!0);q[a]=d}if("undefined"===typeof h.V[a])throw Error("doXHR failed!");return h.V[a]});if(a||!b)g=b=1,g=b=this.Ia(0).length,console.log("LazyFiles on gzip forces download of the whole file when length is accessed");this.Ta=b;this.Sa= +g;this.ja=!0};if("undefined"!==typeof XMLHttpRequest){if(!k)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";g=new q;Object.defineProperties(g,{length:{get:function(){this.ja||this.za();return this.Ta}},chunkSize:{get:function(){this.ja||this.za();return this.Sa}}});h=void 0}else h=c,g=void 0;var v=wc(a,b,d,f);g?v.b=g:h&&(v.b=null,v.url=h);Object.defineProperties(v,{g:{get:function(){return this.b.length}}});var r={};Object.keys(v.e).forEach(function(a){var b= +v.e[a];r[a]=function(){if(!zc(v))throw new I(F.A);return b.apply(null,arguments)}});r.read=function(a,b,c,d,f){if(!zc(v))throw new I(F.A);a=a.c.b;if(f>=a.length)return 0;d=Math.min(a.length-f,d);assert(0<=d);if(a.slice)for(var g=0;g>2]=Va;Ba=!0;e.Ua={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,byteLength:Xa}; +e.Va={abort:x,assert:assert,enlargeMemory:ja,getTotalMemory:function(){return w},abortOnCannotGrowMemory:function(){x("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+w+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}, +invoke_iiii:function(a,b,c,d){try{return e.dynCall_iiii(a,b,c,d)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;e.setThrew(1,0)}},jsCall_iiii:function(a,b,c,d){return n.j[a](b,c,d)},invoke_viiiii:function(a,b,c,d,f,g){try{e.dynCall_viiiii(a,b,c,d,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},jsCall_viiiii:function(a,b,c,d,f,g){n.j[a](b,c,d,f,g)},invoke_i:function(a){try{return e.dynCall_i(a)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;e.setThrew(1, +0)}},jsCall_i:function(a){return n.j[a]()},invoke_vi:function(a,b){try{e.dynCall_vi(a,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;e.setThrew(1,0)}},jsCall_vi:function(a,b){n.j[a](b)},invoke_vii:function(a,b,c){try{e.dynCall_vii(a,b,c)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;e.setThrew(1,0)}},jsCall_vii:function(a,b,c){n.j[a](b,c)},invoke_iiiiiii:function(a,b,c,d,f,g,h){try{return e.dynCall_iiiiiii(a,b,c,d,f,g,h)}catch(q){if("number"!==typeof q&&"longjmp"!==q)throw q;e.setThrew(1, +0)}},jsCall_iiiiiii:function(a,b,c,d,f,g,h){return n.j[a](b,c,d,f,g,h)},invoke_ii:function(a,b){try{return e.dynCall_ii(a,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;e.setThrew(1,0)}},jsCall_ii:function(a,b){return n.j[a](b)},invoke_viii:function(a,b,c,d){try{e.dynCall_viii(a,b,c,d)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;e.setThrew(1,0)}},jsCall_viii:function(a,b,c,d){n.j[a](b,c,d)},invoke_v:function(a){try{e.dynCall_v(a)}catch(b){if("number"!==typeof b&&"longjmp"!== +b)throw b;e.setThrew(1,0)}},jsCall_v:function(a){n.j[a]()},invoke_iiiii:function(a,b,c,d,f){try{return e.dynCall_iiiii(a,b,c,d,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},jsCall_iiiii:function(a,b,c,d,f){return n.j[a](b,c,d,f)},invoke_viiiiii:function(a,b,c,d,f,g,h){try{e.dynCall_viiiiii(a,b,c,d,f,g,h)}catch(q){if("number"!==typeof q&&"longjmp"!==q)throw q;e.setThrew(1,0)}},jsCall_viiiiii:function(a,b,c,d,f,g,h){n.j[a](b,c,d,f,g,h)},invoke_iii:function(a,b,c){try{return e.dynCall_iii(a, +b,c)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;e.setThrew(1,0)}},jsCall_iii:function(a,b,c){return n.j[a](b,c)},invoke_iiiiii:function(a,b,c,d,f,g){try{return e.dynCall_iiiiii(a,b,c,d,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},jsCall_iiiiii:function(a,b,c,d,f,g){return n.j[a](b,c,d,f,g)},invoke_viiii:function(a,b,c,d,f){try{e.dynCall_viiii(a,b,c,d,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},jsCall_viiii:function(a,b,c, +d,f){n.j[a](b,c,d,f)},___syscall221:function(a,b){T=b;try{var c=Cc();switch(U()){case 0:var d=U();return 0>d?-F.h:nc(c.path,c.flags,0,d).fd;case 1:case 2:return 0;case 3:return c.flags;case 4:return d=U(),c.flags|=d,0;case 12:case 12:return d=U(),sa[d+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-F.h;case 9:return tb(F.h),-1;default:return-F.h}}catch(f){return"undefined"!==typeof R&&f instanceof I||x(f),-f.f}},___syscall85:function(a,b){T=b;try{var c=V(),d=U(),f;var g=U(); +if(0>=g)f=-F.h;else{var h=Qb(c),q=Math.min(g,Ha(h)),v=z[d+q];qa(h,d,g+1);z[d+q]=v;f=q}return f}catch(r){return"undefined"!==typeof R&&r instanceof I||x(r),-r.f}},_pthread_mutex_init:function(){},_utimes:function(a,b){var c;b?(c=1E3*t[b+8>>2],c+=t[b+12>>2]/1E3):c=Date.now();a=y(a);try{var d=c,f=O(a,{C:!0}).c;f.d.k(f,{timestamp:Math.max(d,c)});return 0}catch(g){if(!(g instanceof I))throw g+" : "+Ka();tb(g.f);return-1}},_llvm_pow_f64:ib,___syscall6:function(a,b){T=b;try{var c=Cc();pc(c);return 0}catch(d){return"undefined"!== +typeof R&&d instanceof I||x(d),-d.f}},___syscall40:function(a,b){T=b;try{var c=V(),d=O(c,{parent:!0}).c,f=xb(c),g=Jb(d,f),h=Zb(d,f,!0);if(h)throw new I(h);if(!d.d.rmdir)throw new I(F.q);if(g.H)throw new I(F.M);try{N.willDeletePath&&N.willDeletePath(c)}catch(q){console.log("FS.trackingDelegate['willDeletePath']('"+c+"') threw an exception: "+q.message)}d.d.rmdir(d,f);Tb(g);try{if(N.onDeletePath)N.onDeletePath(c)}catch(v){console.log("FS.trackingDelegate['onDeletePath']('"+c+"') threw an exception: "+ +v.message)}return 0}catch(r){return"undefined"!==typeof R&&r instanceof I||x(r),-r.f}},___syscall118:function(a,b){T=b;try{return Cc(),0}catch(c){return"undefined"!==typeof R&&c instanceof I||x(c),-c.f}},___syscall20:function(a,b){T=b;return 42},___syscall4:function(a,b){T=b;try{var c=Cc(),d=U(),f=U();return sc(c,z,d,f)}catch(g){return"undefined"!==typeof R&&g instanceof I||x(g),-g.f}},___assert_fail:function(a,b,c,d){ka=!0;throw"Assertion failed: "+y(a)+", at: "+[b?y(b):"unknown filename",c,d?y(d): +"unknown function"]+" at "+Ka();},_usleep:Hc,_pthread_join:function(){},___buildEnvironment:Sc,_pthread_mutexattr_destroy:function(){},_localtime_r:Oc,_tzset:Nc,___setErrNo:tb,___syscall192:function(a,b){T=b;try{var c=U(),d=U(),f=U(),g=U(),h=U(),q=U(),q=q<<12,v,r=!1;if(-1===h){v=gd(16384,d);if(!v)return-F.ra;ad(v,0,d);r=!0}else{var D=M[h];if(!D)return-F.u;var B,S=C;if(1===(D.flags&2097155))throw new I(F.L);if(!D.e.X)throw new I(F.R);B=D.e.X(D,S,c,d,q,f,g);v=B.ob;r=B.da}Ac[v]={mb:v,lb:d,da:r,fd:h, +flags:g};return v}catch(H){return"undefined"!==typeof R&&H instanceof I||x(H),-H.f}},___syscall197:function(a,b){T=b;try{var c=Cc(),d=U();return Bc(ic,c.path,d)}catch(f){return"undefined"!==typeof R&&f instanceof I||x(f),-f.f}},___syscall196:function(a,b){T=b;try{var c=V(),d=U();return Bc(jc,c,d)}catch(f){return"undefined"!==typeof R&&f instanceof I||x(f),-f.f}},___syscall195:function(a,b){T=b;try{var c=V(),d=U();return Bc(ic,c,d)}catch(f){return"undefined"!==typeof R&&f instanceof I||x(f),-f.f}}, +___syscall194:function(a,b){T=b;try{var c=U();assert(0===U());var d=U(),f=U();0<=d?assert(0===f):assert(-1===f);var g=M[c];if(!g)throw new I(F.u);if(0===(g.flags&2097155))throw new I(F.h);mc(g.c,d);return 0}catch(h){return"undefined"!==typeof R&&h instanceof I||x(h),-h.f}},___syscall212:function(a,b){T=b;try{var c=V();U();U();lc(c);return 0}catch(d){return"undefined"!==typeof R&&d instanceof I||x(d),-d.f}},_sysconf:function(a){switch(a){case 30:return 16384;case 85:return 130048;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 1E3;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:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}Gb(E.p);return-1}, -___syscall94:function(a,b){T=b;try{var c=U(),d=U(),e=N[c];if(!e)throw new G(E.L);xc(e.g,d);return 0}catch(g){return"undefined"!==typeof S&&g instanceof G||q(g),-g.o}},_nanosleep:function(a,b){var c=y[a>>2],d=y[a+4>>2];0!==b&&(y[b>>2]=0,y[b+4>>2]=0);return Qc(1E6*c+d/1E3)},_emscripten_memcpy_big:function(a,b,c){A.set(A.subarray(b,b+c),a);return a},___syscall221:function(a,b){T=b;try{var c=Pc();switch(U()){case 0:var d=U();return 0>d?-E.p:Ac(c.path,c.flags,0,d).fd;case 1:case 2:return 0;case 3:return c.flags; -case 4:return d=U(),c.flags|=d,0;case 12:case 12:return d=U(),Aa[d+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-E.p;case 9:return Gb(E.p),-1;default:return-E.p}}catch(e){return"undefined"!==typeof S&&e instanceof G||q(e),-e.o}},_floor:gd,_atan:rb,___syscall201:function(){return dd.apply(null,arguments)},_pthread_self:function(){return 0},_getenv:ad,___syscall33:function(a,b){T=b;try{var c=V(),d;var e=U();if(e&-8)d=-E.p;else{var g;g=P(c,{Q:!0}).g;c="";e&4&&(c+="r");e&2&& -(c+="w");e&1&&(c+="x");d=c&&gc(g,c)?-E.Y:0}return d}catch(h){return"undefined"!==typeof S&&h instanceof G||q(h),-h.o}},_log:ub,___unlock:function(){},___syscall140:function(a,b){T=b;try{var c=Pc(),d=U(),e=U(),g=U(),h=U();assert(0===d);Dc(c,e,h);y[g>>2]=c.position;c.za&&0===e&&0===h&&(c.za=null);return 0}catch(m){return"undefined"!==typeof S&&m instanceof G||q(m),-m.o}},___syscall15:function(a,b){T=b;try{var c=V(),d=U();xc(c,d);return 0}catch(e){return"undefined"!==typeof S&&e instanceof G||q(e),-e.o}}, -_emscripten_set_main_loop:pd,___syscall10:function(a,b){T=b;try{var c=V();uc(c);return 0}catch(d){return"undefined"!==typeof S&&d instanceof G||q(d),-d.o}},_tan:ob,___syscall3:function(a,b){T=b;try{var c=Pc(),d=U(),e=U();return Ec(c,w,d,e)}catch(g){return"undefined"!==typeof S&&g instanceof G||q(g),-g.o}},___lock:function(){},___syscall6:function(a,b){T=b;try{var c=Pc();Cc(c);return 0}catch(d){return"undefined"!==typeof S&&d instanceof G||q(d),-d.o}},___syscall5:function(a,b){T=b;try{var c=V(),d= -U(),e=U();return Ac(c,d,e).fd}catch(g){return"undefined"!==typeof S&&g instanceof G||q(g),-g.o}},___syscall4:function(a,b){T=b;try{var c=Pc(),d=U(),e=U();return Fc(c,w,d,e)}catch(g){return"undefined"!==typeof S&&g instanceof G||q(g),-g.o}},_time:function(a){var b=Date.now()/1E3|0;a&&(y[a>>2]=b);return b},_atan2:sb,_gettimeofday:function(a){var b=Date.now();y[a>>2]=b/1E3|0;y[a+4>>2]=b%1E3*1E3|0;return 0},_ceil:Xd,_sqrt:vb,_localtime:function(a){return Wc(a,Rc)},___syscall207:function(a,b){T=b;try{var c= -U();U();U();var d=N[c];if(!d)throw new G(E.L);yc(d.g);return 0}catch(e){return"undefined"!==typeof S&&e instanceof G||q(e),-e.o}},___syscall146:function(a,b){T=b;try{var c=Pc(),d=U(),e;a:{for(var g=U(),h=0,m=0;m>2],y[d+(8*m+4)>>2],void 0);if(0>t){e=-1;break a}h+=t}e=h}return e}catch(r){return"undefined"!==typeof S&&r instanceof G||q(r),-r.o}},STACKTOP:k,STACK_MAX:Za,tempDoublePtr:Cb,ABORT:pa,cttz_i8:Yd};// EMSCRIPTEN_START_ASM - +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 1E3;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:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}tb(F.h);return-1}, +___syscall94:function(a,b){T=b;try{var c=U(),d=U(),f=M[c];if(!f)throw new I(F.u);kc(f.c,d);return 0}catch(g){return"undefined"!==typeof R&&g instanceof I||x(g),-g.f}},_nanosleep:function(a,b){var c=t[a>>2],d=t[a+4>>2];0!==b&&(t[b>>2]=0,t[b+4>>2]=0);return Hc(1E6*c+d/1E3)},_emscripten_memcpy_big:function(a,b,c){C.set(C.subarray(b,b+c),a);return a},___syscall91:function(a,b){T=b;try{var c=U(),d=U(),f=Ac[c];if(!f)return 0;if(d===f.lb){var g=M[f.fd],h=f.flags,q=new Uint8Array(C.subarray(c,c+d));g&&g.e.Y&& +g.e.Y(g,q,0,d,h);Ac[c]=null;f.da&&Ja(f.mb)}return 0}catch(v){return"undefined"!==typeof R&&v instanceof I||x(v),-v.f}},_pthread_mutex_destroy:function(){},_pthread_mutexattr_settype:function(){},_getenv:Tc,___syscall33:function(a,b){T=b;try{var c=V(),d;var f=U();if(f&-8)d=-F.h;else{var g;g=O(c,{C:!0}).c;c="";f&4&&(c+="r");f&2&&(c+="w");f&1&&(c+="x");d=c&&Ub(g,c)?-F.L:0}return d}catch(h){return"undefined"!==typeof R&&h instanceof I||x(h),-h.f}},___syscall54:function(a,b){T=b;try{var c=Cc(),d=U();switch(d){case 21505:return c.tty? +0:-F.F;case 21506:return c.tty?0:-F.F;case 21519:if(!c.tty)return-F.F;var f=U();return t[f>>2]=0;case 21520:return c.tty?-F.h:-F.F;case 21531:f=U();if(!c.e.ib)throw new I(F.F);return c.e.ib(c,d,f);case 21523:return c.tty?0:-F.F;default:x("bad ioctl syscall "+d)}}catch(g){return"undefined"!==typeof R&&g instanceof I||x(g),-g.f}},___unlock:function(){},___syscall140:function(a,b){T=b;try{var c=Cc(),d=U(),f=U(),g=U(),h=U();assert(0===d);qc(c,f,h);t[g>>2]=c.position;c.ia&&0===f&&0===h&&(c.ia=null);return 0}catch(q){return"undefined"!== +typeof R&&q instanceof I||x(q),-q.f}},___syscall15:function(a,b){T=b;try{var c=V(),d=U();kc(c,d);return 0}catch(f){return"undefined"!==typeof R&&f instanceof I||x(f),-f.f}},_pthread_create:function(){return 11},___syscall39:function(a,b){T=b;try{var c=V(),d=U(),c=vb(c);"/"===c[c.length-1]&&(c=c.substr(0,c.length-1));Q(c,d);return 0}catch(f){return"undefined"!==typeof R&&f instanceof I||x(f),-f.f}},___syscall10:function(a,b){T=b;try{var c=V();hc(c);return 0}catch(d){return"undefined"!==typeof R&&d instanceof +I||x(d),-d.f}},_pthread_mutexattr_init:function(){},___syscall3:function(a,b){T=b;try{var c=Cc(),d=U(),f=U();return rc(c,z,d,f)}catch(g){return"undefined"!==typeof R&&g instanceof I||x(g),-g.f}},___lock:function(){},_abort:function(){e.abort()},___syscall5:function(a,b){T=b;try{var c=V(),d=U(),f=U();return nc(c,d,f).fd}catch(g){return"undefined"!==typeof R&&g instanceof I||x(g),-g.f}},___syscall183:function(a,b){T=b;try{var c=U(),d=U();if(0===d)return-F.h;if(2>d)return-F.Na;Da("/",c);return c}catch(f){return"undefined"!== +typeof R&&f instanceof I||x(f),-f.f}},_time:function(a){var b=Date.now()/1E3|0;a&&(t[a>>2]=b);return b},_gettimeofday:function(a){var b=Date.now();t[a>>2]=b/1E3|0;t[a+4>>2]=b%1E3*1E3|0;return 0},___syscall201:function(){return $c.apply(null,arguments)},___syscall207:function(a,b){T=b;try{var c=U();U();U();var d=M[c];if(!d)throw new I(F.u);lc(d.c);return 0}catch(f){return"undefined"!==typeof R&&f instanceof I||x(f),-f.f}},_localtime:function(a){return Oc(a,Jc)},___syscall202:$c,___syscall146:function(a, +b){T=b;try{var c=Cc(),d=U(),f;a:{for(var g=U(),h=0,q=0;q>2],t[d+(8*q+4)>>2],void 0);if(0>v){f=-1;break a}h+=v}f=h}return f}catch(r){return"undefined"!==typeof R&&r instanceof I||x(r),-r.f}},DYNAMICTOP_PTR:u,tempDoublePtr:ob,ABORT:ka,STACKTOP:m,STACK_MAX:Ua,cttz_i8:Dc};// EMSCRIPTEN_START_ASM var X=(function(global,env,buffer) { -"use asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.STACKTOP|0;var s=env.STACK_MAX|0;var t=env.tempDoublePtr|0;var u=env.ABORT|0;var v=env.cttz_i8|0;var w=0;var x=0;var y=0;var z=0;var A=global.NaN,B=global.Infinity;var C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0;var L=0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=0;var S=0;var T=0;var U=0;var V=global.Math.floor;var W=global.Math.abs;var X=global.Math.sqrt;var Y=global.Math.pow;var Z=global.Math.cos;var _=global.Math.sin;var $=global.Math.tan;var aa=global.Math.acos;var ba=global.Math.asin;var ca=global.Math.atan;var da=global.Math.atan2;var ea=global.Math.exp;var fa=global.Math.log;var ga=global.Math.ceil;var ha=global.Math.imul;var ia=global.Math.min;var ja=global.Math.clz32;var ka=env.abort;var la=env.assert;var ma=env.invoke_iiii;var na=env.jsCall_iiii;var oa=env.invoke_i;var pa=env.jsCall_i;var qa=env.invoke_vi;var ra=env.jsCall_vi;var sa=env.invoke_vii;var ta=env.jsCall_vii;var ua=env.invoke_iiiiiii;var va=env.jsCall_iiiiiii;var wa=env.invoke_ii;var xa=env.jsCall_ii;var ya=env.invoke_viii;var za=env.jsCall_viii;var Aa=env.invoke_v;var Ba=env.jsCall_v;var Ca=env.invoke_iiiii;var Da=env.jsCall_iiiii;var Ea=env.invoke_viiiiii;var Fa=env.jsCall_viiiiii;var Ga=env.invoke_iii;var Ha=env.jsCall_iii;var Ia=env.invoke_iiiiii;var Ja=env.jsCall_iiiiii;var Ka=env.invoke_viiii;var La=env.jsCall_viiii;var Ma=env._pthread_cleanup_pop;var Na=env.___syscall85;var Oa=env._sin;var Pa=env._exp;var Qa=env._utimes;var Ra=env._llvm_pow_f64;var Sa=env._acos;var Ta=env.___syscall54;var Ua=env._pthread_cleanup_push;var Va=env._abort;var Wa=env.___syscall40;var Xa=env.___syscall118;var Ya=env.___setErrNo;var Za=env.___syscall20;var _a=env.___syscall183;var $a=env.___assert_fail;var ab=env._usleep;var bb=env._asin;var cb=env.___buildEnvironment;var db=env.___syscall202;var eb=env.___syscall91;var fb=env._cos;var gb=env.___syscall39;var hb=env._localtime_r;var ib=env._tzset;var jb=env._emscripten_set_main_loop_timing;var kb=env._sbrk;var lb=env.___syscall192;var mb=env.___syscall197;var nb=env.___syscall196;var ob=env.___syscall195;var pb=env.___syscall194;var qb=env.___syscall212;var rb=env._sysconf;var sb=env.___syscall94;var tb=env._nanosleep;var ub=env._emscripten_memcpy_big;var vb=env.___syscall221;var wb=env._floor;var xb=env._atan;var yb=env.___syscall201;var zb=env._pthread_self;var Ab=env._getenv;var Bb=env.___syscall33;var Cb=env._log;var Db=env.___unlock;var Eb=env.___syscall140;var Fb=env.___syscall15;var Gb=env._emscripten_set_main_loop;var Hb=env.___syscall10;var Ib=env._tan;var Jb=env.___syscall3;var Kb=env.___lock;var Lb=env.___syscall6;var Mb=env.___syscall5;var Nb=env.___syscall4;var Ob=env._time;var Pb=env._atan2;var Qb=env._gettimeofday;var Rb=env._ceil;var Sb=env._sqrt;var Tb=env._localtime;var Ub=env.___syscall207;var Vb=env.___syscall146;var Wb=0.0;function Xb(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} +"almost asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0,I=0,J=0,K=0,L=0.0;var M=0;var N=global.Math.floor;var O=global.Math.abs;var P=global.Math.sqrt;var Q=global.Math.pow;var R=global.Math.cos;var S=global.Math.sin;var T=global.Math.tan;var U=global.Math.acos;var V=global.Math.asin;var W=global.Math.atan;var X=global.Math.atan2;var Y=global.Math.exp;var Z=global.Math.log;var _=global.Math.ceil;var $=global.Math.imul;var aa=global.Math.min;var ba=global.Math.max;var ca=global.Math.clz32;var da=env.abort;var ea=env.assert;var fa=env.enlargeMemory;var ga=env.getTotalMemory;var ha=env.abortOnCannotGrowMemory;var ia=env.invoke_iiii;var ja=env.jsCall_iiii;var ka=env.invoke_viiiii;var la=env.jsCall_viiiii;var ma=env.invoke_i;var na=env.jsCall_i;var oa=env.invoke_vi;var pa=env.jsCall_vi;var qa=env.invoke_vii;var ra=env.jsCall_vii;var sa=env.invoke_iiiiiii;var ta=env.jsCall_iiiiiii;var ua=env.invoke_ii;var va=env.jsCall_ii;var wa=env.invoke_viii;var xa=env.jsCall_viii;var ya=env.invoke_v;var za=env.jsCall_v;var Aa=env.invoke_iiiii;var Ba=env.jsCall_iiiii;var Ca=env.invoke_viiiiii;var Da=env.jsCall_viiiiii;var Ea=env.invoke_iii;var Fa=env.jsCall_iii;var Ga=env.invoke_iiiiii;var Ha=env.jsCall_iiiiii;var Ia=env.invoke_viiii;var Ja=env.jsCall_viiii;var Ka=env.___syscall221;var La=env.___syscall85;var Ma=env._pthread_mutex_init;var Na=env._utimes;var Oa=env._llvm_pow_f64;var Pa=env.___syscall6;var Qa=env.___syscall40;var Ra=env.___syscall118;var Sa=env.___syscall20;var Ta=env.___syscall4;var Ua=env.___assert_fail;var Va=env._usleep;var Wa=env._pthread_join;var Xa=env.___buildEnvironment;var Ya=env._pthread_mutexattr_destroy;var Za=env._localtime_r;var _a=env._tzset;var $a=env.___setErrNo;var ab=env.___syscall192;var bb=env.___syscall197;var cb=env.___syscall196;var db=env.___syscall195;var eb=env.___syscall194;var fb=env.___syscall212;var gb=env._sysconf;var hb=env.___syscall94;var ib=env._nanosleep;var jb=env._emscripten_memcpy_big;var kb=env.___syscall91;var lb=env._pthread_mutex_destroy;var mb=env._pthread_mutexattr_settype;var nb=env._getenv;var ob=env.___syscall33;var pb=env.___syscall54;var qb=env.___unlock;var rb=env.___syscall140;var sb=env.___syscall15;var tb=env._pthread_create;var ub=env.___syscall39;var vb=env.___syscall10;var wb=env._pthread_mutexattr_init;var xb=env.___syscall3;var yb=env.___lock;var zb=env._abort;var Ab=env.___syscall5;var Bb=env.___syscall183;var Cb=env._time;var Db=env._gettimeofday;var Eb=env.___syscall201;var Fb=env.___syscall207;var Gb=env._localtime;var Hb=env.___syscall202;var Ib=env.___syscall146;var Jb=0.0;function Kb(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function tz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;h=q+44|0;c=q+40|0;j=q+36|0;f=q+32|0;n=q+28|0;g=q+24|0;m=q+20|0;d=q+16|0;o=q+12|0;p=q+8|0;e=q;k[c>>2]=a;k[j>>2]=b;if(!(k[(k[j>>2]|0)+48>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}if(!(k[(k[j>>2]|0)+44>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}k[g>>2]=k[j>>2];while(1){if(!(k[g>>2]|0))break;if((l[(k[g>>2]|0)+4>>0]|0|0)!=116?(l[(k[g>>2]|0)+4>>0]|0|0)!=119:0)break;k[g>>2]=k[(k[g>>2]|0)+48>>2]}if(!(k[g>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}k[d>>2]=k[(k[(k[j>>2]|0)+44>>2]|0)+4>>2];k[f>>2]=(k[k[(k[j>>2]|0)+44>>2]>>2]|0)-1;while(1){if((k[f>>2]|0)<0)break;if(k[(k[(k[d>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}k[p>>2]=k[k[c>>2]>>2];k[m>>2]=k[k[p>>2]>>2];g=Ch(k[m>>2]|0,68,0)|0;k[n>>2]=g;if(!(k[n>>2]|0)){k[h>>2]=2;p=k[h>>2]|0;r=q;return p|0};k[e>>2]=0;k[e+4>>2]=0;g=$v(k[p>>2]|0,0,0,0,e,k[n>>2]|0,0,0)|0;k[o>>2]=g;if(!(k[o>>2]|0)){k[h>>2]=2;p=k[h>>2]|0;r=q;return p|0}else{c=k[n>>2]|0;d=k[j>>2]|0;e=c+68|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[(k[j>>2]|0)+28>>2]=k[o>>2];p=k[p>>2]|0;p=bw(p,0,ew(k[m>>2]|0,160,0)|0)|0;k[k[j>>2]>>2]=p;i[(k[j>>2]|0)+4>>0]=119;k[(k[j>>2]|0)+32>>2]=0;k[(k[n>>2]|0)+36>>2]=0;k[(k[n>>2]|0)+40>>2]=0;k[(k[n>>2]|0)+44>>2]=0;k[(k[j>>2]|0)+48>>2]=0;k[(k[j>>2]|0)+52>>2]=0;k[(k[j>>2]|0)+64>>2]=0;p=(k[j>>2]|0)+8|0;k[p>>2]=k[p>>2]&-257;p=(k[j>>2]|0)+8|0;k[p>>2]=k[p>>2]|65536;k[(k[(k[n>>2]|0)+48>>2]|0)+52>>2]=k[n>>2];k[(k[n>>2]|0)+56>>2]=0;k[(k[n>>2]|0)+60>>2]=0;k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}return 0}function uz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;o=Y+8|0;g=Y;p=Y+196|0;c=Y+192|0;q=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;f=Y+202|0;n=Y+140|0;e=Y+136|0;d=Y+200|0;s=Y+132|0;E=Y+128|0;h=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;k[c>>2]=a;k[q>>2]=b;k[F>>2]=k[k[c>>2]>>2];k[t>>2]=k[k[F>>2]>>2];j[f>>1]=k[(k[q>>2]|0)+8>>2];a=(k[q>>2]|0)+8|0;k[a>>2]=k[a>>2]|64;if(i[(k[t>>2]|0)+69>>0]|0){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}if((k[(k[q>>2]|0)+28>>2]|0)!=0?(m[f>>1]&64|0)==0:0){k[J>>2]=k[(k[q>>2]|0)+28>>2];k[A>>2]=k[k[q>>2]>>2];if((k[(k[c>>2]|0)+12>>2]|0)==132){a=k[F>>2]|0;f=(wz(k[q>>2]|0)|0)+64|0;lw(a,k[f>>2]|0,0)}jy(k[F>>2]|0,k[J>>2]|0);k[u>>2]=0;k[C>>2]=(k[J>>2]|0)+8;a:while(1){if((k[u>>2]|0)>=(k[k[J>>2]>>2]|0)){d=38;break}if(!((l[(k[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(xz(k[c>>2]|0,k[C>>2]|0)|0){d=12;break}do if(!(k[(k[C>>2]|0)+16>>2]|0)){if(!(k[(k[C>>2]|0)+8>>2]|0)){k[e>>2]=k[(k[C>>2]|0)+20>>2];if(Cy(k[c>>2]|0,k[e>>2]|0)|0){d=16;break a}f=Ch(k[t>>2]|0,72,0)|0;k[n>>2]=f;k[(k[C>>2]|0)+16>>2]=f;if(!(k[n>>2]|0)){d=18;break a}j[(k[n>>2]|0)+36>>1]=1;f=k[t>>2]|0;k[g>>2]=k[n>>2];f=Qh(f,30109,g)|0;k[k[n>>2]>>2]=f;while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2]}ly(k[F>>2]|0,k[k[e>>2]>>2]|0,(k[n>>2]|0)+34|0,(k[n>>2]|0)+4|0)|0;j[(k[n>>2]|0)+32>>1]=-1;j[(k[n>>2]|0)+38>>1]=200;f=(k[n>>2]|0)+42|0;i[f>>0]=l[f>>0]|2;break}f=zx(k[F>>2]|0,0,k[C>>2]|0)|0;k[n>>2]=f;k[(k[C>>2]|0)+16>>2]=f;if(!(k[n>>2]|0)){d=24;break a}if((m[(k[n>>2]|0)+36>>1]|0)==65535){d=26;break a}f=(k[n>>2]|0)+36|0;j[f>>1]=(j[f>>1]|0)+1<<16>>16;if((l[(k[n>>2]|0)+42>>0]&16|0)==0?(yz(k[F>>2]|0,k[C>>2]|0)|0)!=0:0){d=29;break a}if((l[(k[n>>2]|0)+42>>0]&16|0)==0?(k[(k[n>>2]|0)+12>>2]|0)==0:0)break;if(by(k[F>>2]|0,k[n>>2]|0)|0){d=33;break a}f=iy(k[t>>2]|0,k[(k[n>>2]|0)+12>>2]|0,0)|0;k[(k[C>>2]|0)+20>>2]=f;j[d>>1]=j[(k[n>>2]|0)+34>>1]|0;j[(k[n>>2]|0)+34>>1]=-1;Cy(k[c>>2]|0,k[(k[C>>2]|0)+20>>2]|0)|0;j[(k[n>>2]|0)+34>>1]=j[d>>1]|0}while(0);if(zz(k[F>>2]|0,k[C>>2]|0)|0){d=36;break}}k[u>>2]=(k[u>>2]|0)+1;k[C>>2]=(k[C>>2]|0)+72}if((d|0)==12){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==16){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==18){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==24){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==26){X=k[F>>2]|0;k[o>>2]=k[k[n>>2]>>2];Oh(X,30122,o);k[(k[C>>2]|0)+16>>2]=0;k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==29){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==33){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==36){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==38){if((l[(k[t>>2]|0)+69>>0]|0)==0?(Az(k[F>>2]|0,k[q>>2]|0)|0)==0:0){k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[k[A>>2]>>2]|0))break;k[z>>2]=k[(k[(k[A>>2]|0)+4>>2]|0)+((k[x>>2]|0)*20|0)>>2];if((l[k[z>>2]>>0]|0)==160)break;if((l[k[z>>2]>>0]|0)==122?(l[k[(k[z>>2]|0)+16>>2]>>0]|0)==160:0)break;k[x>>2]=(k[x>>2]|0)+1}if((k[x>>2]|0)<(k[k[A>>2]>>2]|0)){k[s>>2]=k[(k[A>>2]|0)+4>>2];k[E>>2]=0;k[h>>2]=k[(k[k[F>>2]>>2]|0)+24>>2];if(k[h>>2]&4)c=(k[h>>2]&64|0)==0;else c=0;k[y>>2]=c&1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[k[A>>2]>>2]|0))break;k[z>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2];k[G>>2]=k[(k[z>>2]|0)+16>>2];do if((l[k[z>>2]>>0]|0)!=160){if((l[k[z>>2]>>0]|0)==122?(l[k[G>>2]>>0]|0)==160:0){d=58;break}o=bw(k[F>>2]|0,k[E>>2]|0,k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2]|0)|0;k[E>>2]=o;if(k[E>>2]|0){k[(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+4>>2];k[(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+8>>2];k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+4>>2]=0;k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+8>>2]=0}k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2]=0}else d=58;while(0);do if((d|0)==58){d=0;k[M>>2]=0;k[V>>2]=0;if((l[k[z>>2]>>0]|0)==122)k[V>>2]=k[(k[(k[z>>2]|0)+12>>2]|0)+8>>2];k[u>>2]=0;k[C>>2]=(k[J>>2]|0)+8;while(1){if((k[u>>2]|0)>=(k[k[J>>2]>>2]|0))break;k[I>>2]=k[(k[C>>2]|0)+16>>2];k[H>>2]=k[(k[C>>2]|0)+20>>2];k[W>>2]=k[(k[C>>2]|0)+12>>2];k[U>>2]=0;if(!(k[W>>2]|0))k[W>>2]=k[k[I>>2]>>2];if(i[(k[t>>2]|0)+69>>0]|0)break;if((k[H>>2]|0)!=0?(k[(k[H>>2]|0)+8>>2]&2048|0)!=0:0)d=72;else d=67;do if((d|0)==67){d=0;k[H>>2]=0;if((k[V>>2]|0)!=0?(sg(k[V>>2]|0,k[W>>2]|0)|0)!=0:0)break;o=Ph(k[t>>2]|0,k[(k[I>>2]|0)+64>>2]|0)|0;k[v>>2]=o;if((k[v>>2]|0)>=0)c=k[(k[(k[t>>2]|0)+16>>2]|0)+(k[v>>2]<<4)>>2]|0;else c=25451;k[U>>2]=c;d=72}while(0);b:do if((d|0)==72){d=0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(j[(k[I>>2]|0)+34>>1]|0))break b;k[T>>2]=k[(k[(k[I>>2]|0)+4>>2]|0)+(k[w>>2]<<4)>>2];if(!((k[V>>2]|0)!=0&(k[H>>2]|0)!=0?(pz(k[(k[(k[k[H>>2]>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)+8>>2]|0,0,k[V>>2]|0,0)|0)==0:0))d=76;do if((d|0)==76){d=0;if((k[(k[q>>2]|0)+8>>2]&131072|0)==0?(l[(k[(k[I>>2]|0)+4>>2]|0)+(k[w>>2]<<4)+15>>0]&2|0)!=0:0)break;k[M>>2]=1;if((k[u>>2]|0)>0&(k[V>>2]|0)==0){if((l[(k[C>>2]|0)+36>>0]&4|0)!=0?(Bz(k[J>>2]|0,k[u>>2]|0,k[T>>2]|0,0,0)|0)!=0:0)break;if((Cz(k[(k[C>>2]|0)+52>>2]|0,k[T>>2]|0)|0)>=0)break}o=ew(k[t>>2]|0,55,k[T>>2]|0)|0;k[G>>2]=o;k[S>>2]=k[T>>2];k[X>>2]=0;do if(k[y>>2]|0)d=84;else{if((k[k[J>>2]>>2]|0)>1){d=84;break}k[B>>2]=k[G>>2]}while(0);do if((d|0)==84){d=0;o=ew(k[t>>2]|0,55,k[W>>2]|0)|0;k[D>>2]=o;o=Ov(k[F>>2]|0,122,k[D>>2]|0,k[G>>2]|0,0)|0;k[B>>2]=o;if(k[U>>2]|0){o=ew(k[t>>2]|0,55,k[U>>2]|0)|0;k[D>>2]=o;o=Ov(k[F>>2]|0,122,k[D>>2]|0,k[B>>2]|0,0)|0;k[B>>2]=o}if(!(k[y>>2]|0))break;o=k[t>>2]|0;n=k[T>>2]|0;k[R>>2]=k[W>>2];k[R+4>>2]=n;o=Qh(o,30161,R)|0;k[S>>2]=o;k[X>>2]=k[S>>2]}while(0);o=bw(k[F>>2]|0,k[E>>2]|0,k[B>>2]|0)|0;k[E>>2]=o;fz(L,k[S>>2]|0);cw(k[F>>2]|0,k[E>>2]|0,L,0);do if(k[E>>2]|0){if(!(k[(k[q>>2]|0)+8>>2]&2048))break;k[K>>2]=(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0);c=k[t>>2]|0;if(k[H>>2]|0){o=Ah(c,k[(k[(k[k[H>>2]>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)+8>>2]|0)|0;k[(k[K>>2]|0)+8>>2]=o}else{n=k[W>>2]|0;o=k[S>>2]|0;k[N>>2]=k[U>>2];k[N+4>>2]=n;k[N+8>>2]=o;o=Qh(c,30167,N)|0;k[(k[K>>2]|0)+8>>2]=o}o=(k[K>>2]|0)+13|0;i[o>>0]=i[o>>0]&-3|2}while(0);bg(k[t>>2]|0,k[X>>2]|0)}while(0);k[w>>2]=(k[w>>2]|0)+1}}while(0);k[u>>2]=(k[u>>2]|0)+1;k[C>>2]=(k[C>>2]|0)+72}if(!(k[M>>2]|0)){c=k[F>>2]|0;if(k[V>>2]|0){k[O>>2]=k[V>>2];Oh(c,30176,O);break}else{Oh(c,30194,P);break}}}while(0);k[x>>2]=(k[x>>2]|0)+1}ov(k[t>>2]|0,k[A>>2]|0);k[k[q>>2]>>2]=k[E>>2]}if((k[k[q>>2]>>2]|0)!=0?(k[k[k[q>>2]>>2]>>2]|0)>(k[(k[t>>2]|0)+96+8>>2]|0):0){Oh(k[F>>2]|0,30214,Q);k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}k[p>>2]=0;X=k[p>>2]|0;r=Y;return X|0}k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}}k[p>>2]=1;X=k[p>>2]|0;r=Y;return X|0}function vz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e+8|0;c=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[c>>2]=k[k[g>>2]>>2];a=(wz(k[f>>2]|0)|0)+64|0;k[d>>2]=k[a>>2];if(!(k[d>>2]|0)){r=e;return}k[(k[c>>2]|0)+472>>2]=k[(k[d>>2]|0)+4>>2];r=e;return}function wz(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+52>>2]|0))break;k[b>>2]=k[a+52>>2]}r=c;return a|0}function xz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;u=B+16|0;n=B+8|0;d=B;v=B+88|0;w=B+84|0;e=B+80|0;y=B+76|0;c=B+72|0;x=B+68|0;o=B+64|0;t=B+60|0;q=B+56|0;A=B+52|0;s=B+48|0;p=B+44|0;z=B+40|0;f=B+36|0;h=B+32|0;g=B+28|0;k[w>>2]=a;k[e>>2]=b;k[y>>2]=k[k[w>>2]>>2];k[c>>2]=k[k[y>>2]>>2];a=Pz(k[(k[y>>2]|0)+472>>2]|0,k[e>>2]|0,o)|0;k[x>>2]=a;if(k[x>>2]|0){b=k[y>>2]|0;if(k[(k[x>>2]|0)+12>>2]|0){A=k[(k[x>>2]|0)+12>>2]|0;k[d>>2]=k[k[x>>2]>>2];Oh(b,A,d);k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}if(yz(b,k[e>>2]|0)|0){k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}d=Ch(k[c>>2]|0,72,0)|0;k[t>>2]=d;k[(k[e>>2]|0)+16>>2]=d;if(!(k[t>>2]|0)){k[v>>2]=2;A=k[v>>2]|0;r=B;return A|0}j[(k[t>>2]|0)+36>>1]=1;d=Ah(k[c>>2]|0,k[k[x>>2]>>2]|0)|0;k[k[t>>2]>>2]=d;j[(k[t>>2]|0)+32>>1]=-1;j[(k[t>>2]|0)+38>>1]=200;d=(k[t>>2]|0)+42|0;i[d>>0]=l[d>>0]|66;d=iy(k[c>>2]|0,k[(k[x>>2]|0)+8>>2]|0,0)|0;k[(k[e>>2]|0)+20>>2]=d;if(i[(k[c>>2]|0)+69>>0]|0){k[v>>2]=7;A=k[v>>2]|0;r=B;return A|0}k[A>>2]=k[(k[e>>2]|0)+20>>2];if((l[(k[A>>2]|0)+4>>0]|0)==116)b=1;else b=(l[(k[A>>2]|0)+4>>0]|0)==115;k[p>>2]=b&1;a:do if(k[p>>2]|0){k[h>>2]=k[(k[(k[e>>2]|0)+20>>2]|0)+28>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[h>>2]>>2]|0))break a;k[g>>2]=(k[h>>2]|0)+8+((k[f>>2]|0)*72|0);if(((k[(k[g>>2]|0)+4>>2]|0)==0?(k[(k[g>>2]|0)+8>>2]|0)!=0:0)?0==(sg(k[(k[g>>2]|0)+8>>2]|0,k[k[x>>2]>>2]|0)|0):0){k[(k[g>>2]|0)+16>>2]=k[t>>2];e=(k[g>>2]|0)+36+1|0;i[e>>0]=i[e>>0]&-33|32;e=(k[t>>2]|0)+36|0;j[e>>1]=(j[e>>1]|0)+1<<16>>16;e=(k[A>>2]|0)+8|0;k[e>>2]=k[e>>2]|8192}k[f>>2]=(k[f>>2]|0)+1}}while(0);if((m[(k[t>>2]|0)+36>>1]|0)>2){A=k[y>>2]|0;k[n>>2]=k[k[x>>2]>>2];Oh(A,30455,n);k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}k[(k[x>>2]|0)+12>>2]=30498;k[z>>2]=k[(k[y>>2]|0)+472>>2];k[(k[y>>2]|0)+472>>2]=k[o>>2];b=k[A>>2]|0;if(k[p>>2]|0)b=k[b+48>>2]|0;Cy(k[w>>2]|0,b)|0;k[(k[y>>2]|0)+472>>2]=k[o>>2];k[s>>2]=k[A>>2];while(1){b=k[s>>2]|0;if(!(k[(k[s>>2]|0)+48>>2]|0))break;k[s>>2]=k[b+48>>2]}k[q>>2]=k[b>>2];if(k[(k[x>>2]|0)+4>>2]|0){if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=(k[k[(k[x>>2]|0)+4>>2]>>2]|0):0){A=k[y>>2]|0;t=k[k[q>>2]>>2]|0;w=k[k[(k[x>>2]|0)+4>>2]>>2]|0;k[u>>2]=k[k[x>>2]>>2];k[u+4>>2]=t;k[u+8>>2]=w;Oh(A,30521,u);k[(k[y>>2]|0)+472>>2]=k[z>>2];k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}k[q>>2]=k[(k[x>>2]|0)+4>>2]}ly(k[y>>2]|0,k[q>>2]|0,(k[t>>2]|0)+34|0,(k[t>>2]|0)+4|0)|0;if(k[p>>2]|0){b=(k[x>>2]|0)+12|0;if(k[(k[A>>2]|0)+8>>2]&8192)k[b>>2]=30559;else k[b>>2]=30593;Cy(k[w>>2]|0,k[A>>2]|0)|0}k[(k[x>>2]|0)+12>>2]=0;k[(k[y>>2]|0)+472>>2]=k[z>>2]}k[v>>2]=0;A=k[v>>2]|0;r=B;return A|0}function yz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1){a=k[d>>2]|0;k[f>>2]=k[(k[e>>2]|0)+8>>2];Oh(a,30432,f);k[c>>2]=1;f=k[c>>2]|0;r=g;return f|0}else{k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}return 0}function zz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;h=m;c=m+28|0;d=m+24|0;e=m+20|0;g=m+16|0;j=m+12|0;f=m+8|0;k[d>>2]=a;k[e>>2]=b;do if((k[(k[e>>2]|0)+16>>2]|0)!=0?((l[(k[e>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){k[g>>2]=k[(k[e>>2]|0)+16>>2];k[j>>2]=k[(k[e>>2]|0)+64>>2];k[f>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[f>>2]|0))break;if(!(sg(k[k[f>>2]>>2]|0,k[j>>2]|0)|0))break;k[f>>2]=k[(k[f>>2]|0)+20>>2]}if(k[f>>2]|0){k[(k[e>>2]|0)+68>>2]=k[f>>2];break}g=k[d>>2]|0;k[h>>2]=k[j>>2];k[h+4>>2]=0;Oh(g,30414,h);i[(k[d>>2]|0)+17>>0]=1;k[c>>2]=1;j=k[c>>2]|0;r=m;return j|0}while(0);k[c>>2]=0;j=k[c>>2]|0;r=m;return j|0}function Az(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;c=C+84|0;u=C+80|0;d=C+76|0;n=C+72|0;o=C+68|0;s=C+64|0;p=C+60|0;t=C+56|0;m=C+52|0;v=C+48|0;e=C+44|0;g=C+40|0;q=C+36|0;B=C+32|0;f=C+28|0;h=C+24|0;i=C+20|0;k[x>>2]=a;k[c>>2]=b;k[u>>2]=k[(k[c>>2]|0)+28>>2];k[o>>2]=(k[u>>2]|0)+8;k[s>>2]=(k[o>>2]|0)+72;k[d>>2]=0;a:while(1){if((k[d>>2]|0)>=((k[k[u>>2]>>2]|0)-1|0)){c=28;break}k[p>>2]=k[(k[o>>2]|0)+16>>2];k[t>>2]=k[(k[s>>2]|0)+16>>2];b:do if(!((k[p>>2]|0)==0|(k[t>>2]|0)==0)){k[m>>2]=(l[(k[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(l[(k[s>>2]|0)+36>>0]&4){if(k[(k[s>>2]|0)+48>>2]|0){c=7;break a}if(k[(k[s>>2]|0)+52>>2]|0){c=7;break a}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(j[(k[t>>2]|0)+34>>1]|0))break c;k[v>>2]=k[(k[(k[t>>2]|0)+4>>2]|0)+(k[n>>2]<<4)>>2];if(Bz(k[u>>2]|0,(k[d>>2]|0)+1|0,k[v>>2]|0,e,g)|0)Ez(k[x>>2]|0,k[u>>2]|0,k[e>>2]|0,k[g>>2]|0,(k[d>>2]|0)+1|0,k[n>>2]|0,k[m>>2]|0,(k[c>>2]|0)+32|0);k[n>>2]=(k[n>>2]|0)+1}}while(0);if((k[(k[s>>2]|0)+48>>2]|0)!=0?(k[(k[s>>2]|0)+52>>2]|0)!=0:0){c=15;break a}if(k[(k[s>>2]|0)+48>>2]|0){if(k[m>>2]|0)Fz(k[(k[s>>2]|0)+48>>2]|0,k[(k[s>>2]|0)+44>>2]|0);a=Gz(k[k[x>>2]>>2]|0,k[(k[c>>2]|0)+32>>2]|0,k[(k[s>>2]|0)+48>>2]|0)|0;k[(k[c>>2]|0)+32>>2]=a;k[(k[s>>2]|0)+48>>2]=0}if(k[(k[s>>2]|0)+52>>2]|0){k[q>>2]=k[(k[s>>2]|0)+52>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[(k[q>>2]|0)+4>>2]|0))break b;k[B>>2]=k[(k[k[q>>2]>>2]|0)+(k[n>>2]<<3)>>2];a=Dz(k[t>>2]|0,k[B>>2]|0)|0;k[i>>2]=a;if((k[i>>2]|0)<0){c=25;break a}if(!(Bz(k[u>>2]|0,(k[d>>2]|0)+1|0,k[B>>2]|0,f,h)|0)){c=25;break a}Ez(k[x>>2]|0,k[u>>2]|0,k[f>>2]|0,k[h>>2]|0,(k[d>>2]|0)+1|0,k[i>>2]|0,k[m>>2]|0,(k[c>>2]|0)+32|0);k[n>>2]=(k[n>>2]|0)+1}}}while(0);k[d>>2]=(k[d>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+72;k[o>>2]=(k[o>>2]|0)+72}if((c|0)==7){B=k[x>>2]|0;k[y>>2]=0;Oh(B,30245,y);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==15){Oh(k[x>>2]|0,30295,z);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==25){z=k[x>>2]|0;k[A>>2]=k[B>>2];Oh(z,30350,A);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==28){k[w>>2]=0;B=k[w>>2]|0;r=C;return B|0}return 0}function Bz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;l=p+8|0;m=p+4|0;n=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[h>>2]|0)){o=8;break}c=Dz(k[(k[g>>2]|0)+8+((k[m>>2]|0)*72|0)+16>>2]|0,k[i>>2]|0)|0;k[n>>2]=c;if((k[n>>2]|0)>=0)break;k[m>>2]=(k[m>>2]|0)+1}if((o|0)==8){k[f>>2]=0;o=k[f>>2]|0;r=p;return o|0}if(k[j>>2]|0){k[k[j>>2]>>2]=k[m>>2];k[k[l>>2]>>2]=k[n>>2]}k[f>>2]=1;o=k[f>>2]|0;r=p;return o|0}function Cz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+4>>2]|0)){a=8;break}a=(sg(k[(k[k[c>>2]>>2]|0)+(k[e>>2]<<3)>>2]|0,k[d>>2]|0)|0)==0;b=k[e>>2]|0;if(a){a=6;break}k[e>>2]=b+1}if((a|0)==6){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==8){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}return 0}function Dz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(j[(k[c>>2]|0)+34>>1]|0)){a=6;break}a=(sg(k[(k[(k[c>>2]|0)+4>>2]|0)+(k[e>>2]<<4)>>2]|0,k[d>>2]|0)|0)==0;b=k[e>>2]|0;if(a){a=4;break}k[e>>2]=b+1}if((a|0)==4){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==6){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}return 0}function Ez(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;o=r;r=r+48|0;s=o+44|0;v=o+40|0;x=o+36|0;w=o+32|0;u=o+28|0;t=o+24|0;p=o+20|0;i=o+16|0;l=o+12|0;q=o+8|0;m=o+4|0;n=o;k[s>>2]=a;k[v>>2]=b;k[x>>2]=c;k[w>>2]=d;k[u>>2]=e;k[t>>2]=f;k[p>>2]=g;k[i>>2]=h;k[l>>2]=k[k[s>>2]>>2];h=Oz(k[l>>2]|0,k[v>>2]|0,k[x>>2]|0,k[w>>2]|0)|0;k[q>>2]=h;h=Oz(k[l>>2]|0,k[v>>2]|0,k[u>>2]|0,k[t>>2]|0)|0;k[m>>2]=h;h=Ov(k[s>>2]|0,37,k[q>>2]|0,k[m>>2]|0,0)|0;k[n>>2]=h;if(!((k[n>>2]|0)!=0&(k[p>>2]|0)!=0)){v=k[l>>2]|0;x=k[i>>2]|0;x=k[x>>2]|0;w=k[n>>2]|0;w=Gz(v,x,w)|0;x=k[i>>2]|0;k[x>>2]=w;r=o;return}v=(k[n>>2]|0)+4|0;k[v>>2]=k[v>>2]|1;j[(k[n>>2]|0)+36>>1]=k[(k[m>>2]|0)+28>>2];v=k[l>>2]|0;x=k[i>>2]|0;x=k[x>>2]|0;w=k[n>>2]|0;w=Gz(v,x,w)|0;x=k[i>>2]|0;k[x>>2]=w;r=o;return}function Fz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+4|0;k[a>>2]=k[a>>2]|1;j[(k[c>>2]|0)+36>>1]=k[d>>2];a:do if((l[k[c>>2]>>0]|0|0)==151?(k[(k[c>>2]|0)+20>>2]|0)!=0:0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[c>>2]|0)+20>>2]>>2]|0))break a;Fz(k[(k[(k[(k[c>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0);k[e>>2]=(k[e>>2]|0)+1}}while(0);Fz(k[(k[c>>2]|0)+12>>2]|0,k[d>>2]|0);k[c>>2]=k[(k[c>>2]|0)+16>>2]}r=f;return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;if(!(k[f>>2]|0)){k[d>>2]=a;h=k[d>>2]|0;r=i;return h|0}b=k[f>>2]|0;if(!a){k[d>>2]=b;h=k[d>>2]|0;r=i;return h|0}if((Hz(b)|0)==0?(Hz(k[g>>2]|0)|0)==0:0){c=tw(k[e>>2]|0,28,0,0)|0;k[h>>2]=c;Iz(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0);k[d>>2]=k[h>>2];h=k[d>>2]|0;r=i;return h|0}sv(k[e>>2]|0,k[f>>2]|0);sv(k[e>>2]|0,k[g>>2]|0);h=tw(k[e>>2]|0,134,4276,0)|0;k[d>>2]=h;h=k[d>>2]|0;r=i;return h|0}function Hz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;do if(!(k[(k[c>>2]|0)+4>>2]&1))if(Py(k[c>>2]|0,d)|0){k[b>>2]=(k[d>>2]|0)==0&1;break}else{k[b>>2]=0;break}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function Iz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){sv(k[e>>2]|0,k[g>>2]|0);sv(k[e>>2]|0,k[h>>2]|0);r=i;return}if(k[h>>2]|0){k[(k[f>>2]|0)+16>>2]=k[h>>2];b=(k[f>>2]|0)+4|0;k[b>>2]=k[b>>2]|2097408&k[(k[h>>2]|0)+4>>2]}if(k[g>>2]|0){k[(k[f>>2]|0)+12>>2]=k[g>>2];b=(k[f>>2]|0)+4|0;k[b>>2]=k[b>>2]|2097408&k[(k[g>>2]|0)+4>>2]}Jz(k[f>>2]|0);r=i;return}function Jz(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;Kz(k[(k[b>>2]|0)+12>>2]|0,c);Kz(k[(k[b>>2]|0)+16>>2]|0,c);a=(k[b>>2]|0)+20|0;if(!(k[(k[b>>2]|0)+4>>2]&2048)){if(k[a>>2]|0){Mz(k[(k[b>>2]|0)+20>>2]|0,c);e=2097408&(Nz(k[(k[b>>2]|0)+20>>2]|0)|0);a=(k[b>>2]|0)+4|0;k[a>>2]=k[a>>2]|e}}else Lz(k[a>>2]|0,c);k[(k[b>>2]|0)+24>>2]=(k[c>>2]|0)+1;r=d;return}function Kz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}if((k[(k[c>>2]|0)+24>>2]|0)<=(k[k[d>>2]>>2]|0)){r=e;return}k[k[d>>2]>>2]=k[(k[c>>2]|0)+24>>2];r=e;return}function Lz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}Kz(k[(k[c>>2]|0)+32>>2]|0,k[d>>2]|0);Kz(k[(k[c>>2]|0)+40>>2]|0,k[d>>2]|0);Kz(k[(k[c>>2]|0)+56>>2]|0,k[d>>2]|0);Kz(k[(k[c>>2]|0)+60>>2]|0,k[d>>2]|0);Mz(k[k[c>>2]>>2]|0,k[d>>2]|0);Mz(k[(k[c>>2]|0)+36>>2]|0,k[d>>2]|0);Mz(k[(k[c>>2]|0)+44>>2]|0,k[d>>2]|0);Lz(k[(k[c>>2]|0)+48>>2]|0,k[d>>2]|0);r=e;return}function Mz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0))break;Kz(k[(k[(k[c>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=f;return}function Nz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=0;if(!(k[b>>2]|0)){a=k[d>>2]|0;r=f;return a|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;k[e>>2]=k[(k[(k[b>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2];k[d>>2]=k[d>>2]|k[(k[e>>2]|0)+4>>2];k[c>>2]=(k[c>>2]|0)+1}a=k[d>>2]|0;r=f;return a|0}function Oz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0;l=r;r=r+32|0;m=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;i=l;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;b=tw(k[m>>2]|0,152,0,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){m=k[h>>2]|0;r=l;return m|0}k[i>>2]=(k[e>>2]|0)+8+((k[f>>2]|0)*72|0);k[(k[h>>2]|0)+44>>2]=k[(k[i>>2]|0)+16>>2];k[(k[h>>2]|0)+28>>2]=k[(k[i>>2]|0)+44>>2];if((j[(k[(k[h>>2]|0)+44>>2]|0)+32>>1]|0)==(k[g>>2]|0))j[(k[h>>2]|0)+32>>1]=-1;else{j[(k[h>>2]|0)+32>>1]=k[g>>2];c=eS(1,0,((k[g>>2]|0)>=64?63:k[g>>2]|0)|0)|0;m=(k[i>>2]|0)+56|0;i=m;b=k[i+4>>2]|L;k[m>>2]=k[i>>2]|c;k[m+4>>2]=b}m=(k[h>>2]|0)+4|0;k[m>>2]=k[m>>2]|4;m=k[h>>2]|0;r=l;return m|0}function Pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;i=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a:do if((k[(k[f>>2]|0)+4>>2]|0)==0?(c=k[(k[f>>2]|0)+8>>2]|0,k[j>>2]=c,(c|0)!=0):0){k[i>>2]=k[e>>2];b:while(1){if(!(k[i>>2]|0))break a;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[i>>2]>>2]|0))break;if(!(sg(k[j>>2]|0,k[(k[i>>2]|0)+8+(k[h>>2]<<4)>>2]|0)|0))break b;k[h>>2]=(k[h>>2]|0)+1}k[i>>2]=k[(k[i>>2]|0)+4>>2]}k[k[g>>2]>>2]=k[i>>2];k[d>>2]=(k[i>>2]|0)+8+(k[h>>2]<<4);j=k[d>>2]|0;r=l;return j|0}while(0);k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;d=q+36|0;e=q+32|0;f=q+28|0;g=q+24|0;m=q+20|0;h=q+16|0;i=q+12|0;n=q+8|0;o=q+4|0;p=q;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}if((k[k[f>>2]>>2]|0)>0)a=((k[k[f>>2]>>2]|0)-1|0)*72|0;else a=0;k[i>>2]=80+a;i=k[i>>2]|0;i=dx(k[e>>2]|0,i,((i|0)<0)<<31>>31)|0;k[m>>2]=i;if(!(k[m>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}i=k[k[f>>2]>>2]|0;k[(k[m>>2]|0)+4>>2]=i;k[k[m>>2]>>2]=i;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[n>>2]=(k[m>>2]|0)+8+((k[h>>2]|0)*72|0);k[o>>2]=(k[f>>2]|0)+8+((k[h>>2]|0)*72|0);k[k[n>>2]>>2]=k[k[o>>2]>>2];i=Ah(k[e>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[n>>2]|0)+4>>2]=i;i=Ah(k[e>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[(k[n>>2]|0)+8>>2]=i;i=Ah(k[e>>2]|0,k[(k[o>>2]|0)+12>>2]|0)|0;k[(k[n>>2]|0)+12>>2]=i;k[(k[n>>2]|0)+36>>2]=k[(k[o>>2]|0)+36>>2];k[(k[n>>2]|0)+44>>2]=k[(k[o>>2]|0)+44>>2];k[(k[n>>2]|0)+24>>2]=k[(k[o>>2]|0)+24>>2];k[(k[n>>2]|0)+28>>2]=k[(k[o>>2]|0)+28>>2];if((l[(k[n>>2]|0)+36+1>>0]|0)>>>1&1){i=Ah(k[e>>2]|0,k[(k[o>>2]|0)+64>>2]|0)|0;k[(k[n>>2]|0)+64>>2]=i}k[(k[n>>2]|0)+68>>2]=k[(k[o>>2]|0)+68>>2];if((l[(k[n>>2]|0)+36+1>>0]|0)>>>2&1){i=_y(k[e>>2]|0,k[(k[o>>2]|0)+64>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+64>>2]=i}i=k[(k[o>>2]|0)+16>>2]|0;k[(k[n>>2]|0)+16>>2]=i;k[p>>2]=i;if(k[p>>2]|0){i=(k[p>>2]|0)+36|0;j[i>>1]=(j[i>>1]|0)+1<<16>>16}c=iy(k[e>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+20>>2]=c;c=Sy(k[e>>2]|0,k[(k[o>>2]|0)+48>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+48>>2]=c;c=Sz(k[e>>2]|0,k[(k[o>>2]|0)+52>>2]|0)|0;k[(k[n>>2]|0)+52>>2]=c;c=(k[o>>2]|0)+56|0;b=k[c+4>>2]|0;i=(k[n>>2]|0)+56|0;k[i>>2]=k[c>>2];k[i+4>>2]=b;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=k[m>>2];p=k[d>>2]|0;r=q;return p|0}function Rz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;if(!(k[d>>2]|0)){g=k[g>>2]|0;r=h;return g|0}k[f>>2]=24+((k[k[d>>2]>>2]|0)-1<<4);b=k[f>>2]|0;b=Ch(k[c>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;if(!(k[g>>2]|0)){g=k[g>>2]|0;r=h;return g|0}k[k[g>>2]>>2]=k[k[d>>2]>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;b=iy(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)+8>>2]|0,0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)+8>>2]=b;b=_y(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)+4>>2]|0,0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)+4>>2]=b;b=Ah(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)>>2]|0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)>>2]=b;k[e>>2]=(k[e>>2]|0)+1}g=k[g>>2]|0;r=h;return g|0}function Sz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;e=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}b=dx(k[d>>2]|0,8,0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}k[(k[g>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];b=dx(k[d>>2]|0,k[(k[e>>2]|0)+4>>2]<<3,0)|0;k[k[g>>2]>>2]=b;if(!(k[k[g>>2]>>2]|0)){bg(k[d>>2]|0,k[g>>2]|0);k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+4>>2]|0))break;k[h>>2]=(k[k[g>>2]>>2]|0)+(k[f>>2]<<3);k[i>>2]=(k[k[e>>2]>>2]|0)+(k[f>>2]<<3);b=Ah(k[d>>2]|0,k[k[i>>2]>>2]|0)|0;k[k[h>>2]>>2]=b;k[(k[h>>2]|0)+4>>2]=k[(k[i>>2]|0)+4>>2];k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=k[g>>2];i=k[c>>2]|0;r=j;return i|0}function Tz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=r;r=r+144|0;B=N+32|0;K=N+24|0;J=N+16|0;h=N+8|0;g=N;E=N+132|0;F=N+128|0;n=N+124|0;o=N+120|0;p=N+116|0;G=N+112|0;A=N+96|0;H=N+92|0;I=N+88|0;q=N+84|0;w=N+80|0;L=N+76|0;M=N+72|0;u=N+68|0;f=N+64|0;C=N+60|0;t=N+56|0;z=N+136|0;D=N+52|0;y=N+48|0;s=N+44|0;v=N+40|0;x=N+36|0;k[F>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[G>>2]=e;k[q>>2]=k[(k[n>>2]|0)+52>>2];k[w>>2]=k[(k[n>>2]|0)+48>>2];k[L>>2]=0;k[f>>2]=k[(k[F>>2]|0)+336>>2];while(1){if(!(k[f>>2]|0))break;if((k[(k[f>>2]|0)+4>>2]|0)==(k[n>>2]|0)){m=4;break}k[f>>2]=k[(k[f>>2]|0)+8>>2]}if((m|0)==4){M=k[F>>2]|0;k[g>>2]=k[k[n>>2]>>2];M=Qh(M,30650,g)|0;k[k[G>>2]>>2]=M;k[E>>2]=6;M=k[E>>2]|0;r=N;return M|0}m=k[F>>2]|0;k[h>>2]=k[k[n>>2]>>2];m=Qh(m,18391,h)|0;k[M>>2]=m;if(!(k[M>>2]|0)){k[E>>2]=7;M=k[E>>2]|0;r=N;return M|0}a=Ch(k[F>>2]|0,28,0)|0;k[H>>2]=a;a=k[F>>2]|0;if(!(k[H>>2]|0)){bg(a,k[M>>2]|0);k[E>>2]=7;M=k[E>>2]|0;r=N;return M|0}k[k[H>>2]>>2]=a;k[(k[H>>2]|0)+4>>2]=k[o>>2];m=Ph(k[F>>2]|0,k[(k[n>>2]|0)+64>>2]|0)|0;k[u>>2]=m;k[(k[(k[n>>2]|0)+52>>2]|0)+4>>2]=k[(k[(k[F>>2]|0)+16>>2]|0)+(k[u>>2]<<4)>>2];k[A+4>>2]=k[n>>2];k[A>>2]=k[H>>2];k[A+8>>2]=k[(k[F>>2]|0)+336>>2];k[A+12>>2]=0;k[(k[F>>2]|0)+336>>2]=A;w=ac[k[p>>2]&255](k[F>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[w>>2]|0,k[q>>2]|0,(k[H>>2]|0)+8|0,L)|0;k[I>>2]=w;k[(k[F>>2]|0)+336>>2]=k[A+8>>2];if((k[I>>2]|0)==7)wh(k[F>>2]|0);a:do if(!(k[I>>2]|0)){if(k[(k[H>>2]|0)+8>>2]|0){L=k[(k[H>>2]|0)+8>>2]|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[k[(k[H>>2]|0)+8>>2]>>2]=k[k[o>>2]>>2];k[(k[H>>2]|0)+12>>2]=1;if(!(k[A+12>>2]|0)){k[C>>2]=30722;K=k[F>>2]|0;L=k[C>>2]|0;k[B>>2]=k[k[n>>2]>>2];L=Qh(K,L,B)|0;k[k[G>>2]>>2]=L;Cu(k[H>>2]|0);k[I>>2]=1;break}i[z>>0]=0;k[(k[H>>2]|0)+24>>2]=k[(k[n>>2]|0)+56>>2];k[(k[n>>2]|0)+56>>2]=k[H>>2];k[t>>2]=0;while(1){if((k[t>>2]|0)>=(j[(k[n>>2]|0)+34>>1]|0))break a;L=Fi((k[(k[n>>2]|0)+4>>2]|0)+(k[t>>2]<<4)|0,18402)|0;k[D>>2]=L;k[s>>2]=0;L=Tf(k[D>>2]|0)|0;k[y>>2]=L;k[s>>2]=0;b:while(1){if((k[s>>2]|0)>=(k[y>>2]|0))break;do if(!(Jd(30768,(k[D>>2]|0)+(k[s>>2]|0)|0,6)|0)){if((k[s>>2]|0)!=0?(i[(k[D>>2]|0)+((k[s>>2]|0)-1)>>0]|0)!=32:0)break;if(!(i[(k[D>>2]|0)+((k[s>>2]|0)+6)>>0]|0))break b;if((i[(k[D>>2]|0)+((k[s>>2]|0)+6)>>0]|0)==32)break b}while(0);k[s>>2]=(k[s>>2]|0)+1}if((k[s>>2]|0)<(k[y>>2]|0)){k[x>>2]=6+((i[(k[D>>2]|0)+((k[s>>2]|0)+6)>>0]|0)!=0?1:0);k[v>>2]=k[s>>2];while(1){if(((k[v>>2]|0)+(k[x>>2]|0)|0)>(k[y>>2]|0))break;i[(k[D>>2]|0)+(k[v>>2]|0)>>0]=i[(k[D>>2]|0)+((k[v>>2]|0)+(k[x>>2]|0))>>0]|0;k[v>>2]=(k[v>>2]|0)+1}if((k[s>>2]|0)>0?(i[(k[D>>2]|0)+(k[s>>2]|0)>>0]|0)==0:0)i[(k[D>>2]|0)+((k[s>>2]|0)-1)>>0]=0;L=(k[(k[n>>2]|0)+4>>2]|0)+(k[t>>2]<<4)+15|0;i[L>>0]=l[L>>0]|2;i[z>>0]=-128}else{L=(k[n>>2]|0)+42|0;i[L>>0]=l[L>>0]|l[z>>0]}k[t>>2]=(k[t>>2]|0)+1}}}else{a=k[F>>2]|0;if(!(k[L>>2]|0)){k[J>>2]=k[M>>2];L=Qh(a,30692,J)|0;k[k[G>>2]>>2]=L}else{k[K>>2]=k[L>>2];K=Qh(a,18391,K)|0;k[k[G>>2]>>2]=K;Ud(k[L>>2]|0)}bg(k[F>>2]|0,k[H>>2]|0)}while(0);bg(k[F>>2]|0,k[M>>2]|0);k[E>>2]=k[I>>2];M=k[E>>2]|0;r=N;return M|0}function Uz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[k[b>>2]>>2];if(!(i[(k[c>>2]|0)+148+5>>0]|0)){a=Ci(k[c>>2]|0,(k[b>>2]|0)+4|0)|0;k[d>>2]=a}if(!(k[d>>2]|0)){d=k[d>>2]|0;r=e;return d|0}k[(k[b>>2]|0)+12>>2]=k[d>>2];a=(k[b>>2]|0)+36|0;k[a>>2]=(k[a>>2]|0)+1;d=k[d>>2]|0;r=e;return d|0}function Vz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;c=j+32|0;d=j+28|0;m=j+24|0;l=j+20|0;h=j+16|0;f=j+12|0;e=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[m>>2]=k[k[c>>2]>>2];k[l>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2];Bx(k[c>>2]|0,0,k[d>>2]|0);k[f>>2]=k[(k[c>>2]|0)+40>>2];a=(k[c>>2]|0)+40|0;k[a>>2]=(k[a>>2]|0)+3;Zz(k[c>>2]|0,k[d>>2]|0,k[f>>2]|0,0,0);k[e>>2]=(k[(k[c>>2]|0)+44>>2]|0)+1;k[g>>2]=k[(k[c>>2]|0)+40>>2];k[h>>2]=k[(k[l>>2]|0)+8+8>>2];while(1){if(!(k[h>>2]|0))break;k[i>>2]=k[(k[h>>2]|0)+8>>2];_z(k[c>>2]|0,k[i>>2]|0,0,k[f>>2]|0,k[e>>2]|0,k[g>>2]|0);k[h>>2]=k[k[h>>2]>>2]}$z(k[c>>2]|0,k[d>>2]|0);r=j;return}function Wz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+12|0;g=d+8|0;c=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;b=bx(k[f>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;b=xi(k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=b;bg(k[f>>2]|0,k[e>>2]|0);r=d;return k[c>>2]|0}function Xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=Ph(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;Bx(k[d>>2]|0,0,k[g>>2]|0);k[h>>2]=k[(k[d>>2]|0)+40>>2];c=(k[d>>2]|0)+40|0;k[c>>2]=(k[c>>2]|0)+3;c=k[d>>2]|0;a=k[g>>2]|0;b=k[h>>2]|0;if(k[f>>2]|0)Zz(c,a,b,k[k[f>>2]>>2]|0,30854);else Zz(c,a,b,k[k[e>>2]>>2]|0,30858);_z(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,k[h>>2]|0,(k[(k[d>>2]|0)+44>>2]|0)+1|0,k[(k[d>>2]|0)+40>>2]|0);$z(k[d>>2]|0,k[g>>2]|0);r=i;return}function Yz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q+8|0;o=q;e=q+36|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;n=q+16|0;m=q+12|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[m>>2]=k[k[f>>2]>>2];b=(k[m>>2]|0)+148|0;if((k[(k[h>>2]|0)+4>>2]|0)>>>0>0){if(i[b+5>>0]|0){Oh(k[f>>2]|0,30817,o);k[e>>2]=-1;p=k[e>>2]|0;r=q;return p|0}k[k[j>>2]>>2]=k[h>>2];o=Wz(k[m>>2]|0,k[g>>2]|0)|0;k[n>>2]=o;if((k[n>>2]|0)<0){o=k[f>>2]|0;k[p>>2]=k[g>>2];Oh(o,30834,p);k[e>>2]=-1;p=k[e>>2]|0;r=q;return p|0}}else{k[n>>2]=l[b+4>>0];k[k[j>>2]>>2]=k[g>>2]}k[e>>2]=k[n>>2];p=k[e>>2]|0;r=q;return p|0}function Zz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+96|0;v=x+16|0;u=x;f=x+84|0;g=x+80|0;h=x+76|0;j=x+72|0;l=x+68|0;p=x+64|0;o=x+60|0;q=x+56|0;t=x+52|0;n=x+40|0;m=x+88|0;w=x+36|0;s=x+32|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[o>>2]=k[k[f>>2]>>2];e=nx(k[f>>2]|0)|0;k[t>>2]=e;if(!(k[t>>2]|0)){r=x;return}k[q>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[g>>2]<<4);k[p>>2]=0;while(1){if((k[p>>2]|0)>=3)break;k[w>>2]=k[4396+(k[p>>2]<<3)>>2];e=Di(k[o>>2]|0,k[w>>2]|0,k[k[q>>2]>>2]|0)|0;k[s>>2]=e;do if(!e){if(k[4396+(k[p>>2]<<3)+4>>2]|0){e=k[f>>2]|0;a=k[w>>2]|0;d=k[4396+(k[p>>2]<<3)+4>>2]|0;k[u>>2]=k[k[q>>2]>>2];k[u+4>>2]=a;k[u+8>>2]=d;mx(e,30915,u);k[n+(k[p>>2]<<2)>>2]=k[(k[f>>2]|0)+104>>2];i[m+(k[p>>2]|0)>>0]=16}}else{k[n+(k[p>>2]<<2)>>2]=k[(k[s>>2]|0)+28>>2];i[m+(k[p>>2]|0)>>0]=0;bA(k[f>>2]|0,k[g>>2]|0,k[n+(k[p>>2]<<2)>>2]|0,1,k[w>>2]|0);if(k[j>>2]|0){e=k[f>>2]|0;c=k[w>>2]|0;a=k[l>>2]|0;d=k[j>>2]|0;k[v>>2]=k[k[q>>2]>>2];k[v+4>>2]=c;k[v+8>>2]=a;k[v+12>>2]=d;mx(e,30938,v);break}else{sx(k[t>>2]|0,131,k[n+(k[p>>2]<<2)>>2]|0,k[g>>2]|0)|0;break}}while(0);k[p>>2]=(k[p>>2]|0)+1}k[p>>2]=0;while(1){if(!(k[4396+(k[p>>2]<<3)+4>>2]|0))break;Sh(k[t>>2]|0,105,(k[h>>2]|0)+(k[p>>2]|0)|0,k[n+(k[p>>2]<<2)>>2]|0,k[g>>2]|0,3)|0;Th(k[t>>2]|0,i[m+(k[p>>2]|0)>>0]|0);k[p>>2]=(k[p>>2]|0)+1}r=x;return}function _z(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=r;r=r+128|0;j=R+116|0;n=R+112|0;o=R+108|0;p=R+104|0;g=R+100|0;h=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;q=R+4|0;E=R;k[j>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[g>>2]=e;k[h>>2]=f;k[u>>2]=k[k[j>>2]>>2];k[A>>2]=-1;i[D>>0]=1;b=k[g>>2]|0;k[g>>2]=b+1;k[I>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[L>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[G>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[N>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[M>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[H>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[K>>2]=b;k[J>>2]=k[g>>2];if((k[(k[j>>2]|0)+44>>2]|0)>(k[g>>2]|0))g=k[(k[j>>2]|0)+44>>2]|0;else g=k[g>>2]|0;k[(k[j>>2]|0)+44>>2]=g;b=nx(k[j>>2]|0)|0;k[O>>2]=b;if((k[O>>2]|0)==0|(k[n>>2]|0)==0){r=R;return}if(!(k[(k[n>>2]|0)+28>>2]|0)){r=R;return}if(!(jf(30862,k[k[n>>2]>>2]|0,0)|0)){r=R;return}b=Ph(k[u>>2]|0,k[(k[n>>2]|0)+64>>2]|0)|0;k[x>>2]=b;if(kx(k[j>>2]|0,28,k[k[n>>2]>>2]|0,0,k[(k[(k[u>>2]|0)+16>>2]|0)+(k[x>>2]<<4)>>2]|0)|0){r=R;return}bA(k[j>>2]|0,k[x>>2]|0,k[(k[n>>2]|0)+28>>2]|0,0,k[k[n>>2]>>2]|0);b=k[h>>2]|0;k[h>>2]=b+1;k[z>>2]=b;b=k[h>>2]|0;k[h>>2]=b+1;k[y>>2]=b;if((k[(k[j>>2]|0)+40>>2]|0)>(k[h>>2]|0))g=k[(k[j>>2]|0)+40>>2]|0;else g=k[h>>2]|0;k[(k[j>>2]|0)+40>>2]=g;cA(k[j>>2]|0,k[z>>2]|0,k[x>>2]|0,k[n>>2]|0,104);rx(k[O>>2]|0,k[M>>2]|0,k[k[n>>2]>>2]|0)|0;k[F>>2]=k[(k[n>>2]|0)+8>>2];while(1){g=k[o>>2]|0;if(!(k[F>>2]|0))break;if(!((g|0)!=0?(k[o>>2]|0)!=(k[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(k[(k[F>>2]|0)+36>>2]|0))i[D>>0]=0;if(((l[(k[n>>2]|0)+42>>0]|0)&32|0)!=0?(i[(k[F>>2]|0)+55>>0]&3|0)==2:0){k[B>>2]=m[(k[F>>2]|0)+50>>1];k[P>>2]=k[k[n>>2]>>2];k[C>>2]=(k[B>>2]|0)-1}else{k[B>>2]=m[(k[F>>2]|0)+52>>1];k[P>>2]=k[k[F>>2]>>2];if((l[(k[F>>2]|0)+55>>0]|0)>>>3&1)g=m[(k[F>>2]|0)+50>>1]|0;else g=k[B>>2]|0;k[C>>2]=g-1}rx(k[O>>2]|0,k[H>>2]|0,k[P>>2]|0)|0;if((k[(k[j>>2]|0)+44>>2]|0)>((k[J>>2]|0)+(k[C>>2]|0)|0))g=k[(k[j>>2]|0)+44>>2]|0;else g=(k[J>>2]|0)+(k[C>>2]|0)|0;k[(k[j>>2]|0)+44>>2]=g;tx(k[O>>2]|0,104,k[y>>2]|0,k[(k[F>>2]|0)+44>>2]|0,k[x>>2]|0)|0;dA(k[j>>2]|0,k[F>>2]|0);sx(k[O>>2]|0,76,k[B>>2]|0,(k[L>>2]|0)+1|0)|0;sx(k[O>>2]|0,76,m[(k[F>>2]|0)+50>>1]|0,(k[L>>2]|0)+2|0)|0;wx(k[O>>2]|0,89,0,(k[L>>2]|0)+1|0,k[L>>2]|0,4292,-5)|0;Th(k[O>>2]|0,2);h=aA(k[O>>2]|0,57,k[y>>2]|0)|0;k[t>>2]=h;sx(k[O>>2]|0,76,0,k[G>>2]|0)|0;h=Gx(k[O>>2]|0)|0;k[s>>2]=h;if((k[C>>2]|0)>0){h=eA(k[O>>2]|0)|0;k[v>>2]=h;h=dx(k[u>>2]|0,k[C>>2]<<2,0)|0;k[q>>2]=h;if(!(k[q>>2]|0))break;px(k[O>>2]|0,13)|0;h=Gx(k[O>>2]|0)|0;k[s>>2]=h;if(((k[C>>2]|0)==1?(m[(k[F>>2]|0)+50>>1]|0|0)==1:0)?(l[(k[F>>2]|0)+54>>0]|0|0)!=0:0)sx(k[O>>2]|0,35,k[J>>2]|0,k[v>>2]|0)|0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[C>>2]|0))break;h=fA(k[j>>2]|0,k[(k[(k[F>>2]|0)+32>>2]|0)+(k[w>>2]<<2)>>2]|0)|0;k[E>>2]=h;sx(k[O>>2]|0,76,k[w>>2]|0,k[G>>2]|0)|0;tx(k[O>>2]|0,96,k[y>>2]|0,k[w>>2]|0,k[N>>2]|0)|0;h=wx(k[O>>2]|0,36,k[N>>2]|0,0,(k[J>>2]|0)+(k[w>>2]|0)|0,k[E>>2]|0,-4)|0;k[(k[q>>2]|0)+(k[w>>2]<<2)>>2]=h;Th(k[O>>2]|0,-128);k[w>>2]=(k[w>>2]|0)+1}sx(k[O>>2]|0,76,k[C>>2]|0,k[G>>2]|0)|0;gA(k[O>>2]|0,k[v>>2]|0)|0;hA(k[O>>2]|0,(k[s>>2]|0)-1|0);k[w>>2]=0;while(1){g=k[O>>2]|0;if((k[w>>2]|0)>=(k[C>>2]|0))break;hA(g,k[(k[q>>2]|0)+(k[w>>2]<<2)>>2]|0);tx(k[O>>2]|0,96,k[y>>2]|0,k[w>>2]|0,(k[J>>2]|0)+(k[w>>2]|0)|0)|0;k[w>>2]=(k[w>>2]|0)+1}iA(g,k[v>>2]|0);bg(k[u>>2]|0,k[q>>2]|0)}wx(k[O>>2]|0,89,1,k[L>>2]|0,k[N>>2]|0,4320,-5)|0;Th(k[O>>2]|0,2);sx(k[O>>2]|0,7,k[y>>2]|0,k[s>>2]|0)|0;jA(k[O>>2]|0,k[L>>2]|0,0,k[K>>2]|0);wx(k[O>>2]|0,99,k[M>>2]|0,3,k[N>>2]|0,30871,0)|0;sx(k[O>>2]|0,114,k[p>>2]|0,k[I>>2]|0)|0;tx(k[O>>2]|0,115,k[p>>2]|0,k[N>>2]|0,k[I>>2]|0)|0;Th(k[O>>2]|0,8);hA(k[O>>2]|0,k[t>>2]|0)}while(0);k[F>>2]=k[(k[F>>2]|0)+20>>2]}if(g){r=R;return}if(!(l[D>>0]|0)){r=R;return}sx(k[O>>2]|0,100,k[z>>2]|0,k[K>>2]|0)|0;Q=aA(k[O>>2]|0,22,k[K>>2]|0)|0;k[A>>2]=Q;sx(k[O>>2]|0,79,0,k[H>>2]|0)|0;wx(k[O>>2]|0,99,k[M>>2]|0,3,k[N>>2]|0,30871,0)|0;sx(k[O>>2]|0,114,k[p>>2]|0,k[I>>2]|0)|0;tx(k[O>>2]|0,115,k[p>>2]|0,k[N>>2]|0,k[I>>2]|0)|0;Th(k[O>>2]|0,8);hA(k[O>>2]|0,k[A>>2]|0);r=R;return}function $z(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;a=nx(k[f>>2]|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){r=e;return}aA(k[d>>2]|0,137,k[c>>2]|0)|0;r=e;return}function aA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=tx(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0,0)|0;r=d;return c|0}function bA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;t=s+28|0;j=s+24|0;m=s+20|0;n=s+32|0;o=s+16|0;p=s+12|0;f=s+8|0;g=s+4|0;q=s;k[t>>2]=a;k[j>>2]=b;k[m>>2]=c;i[n>>0]=d;k[o>>2]=e;b=k[t>>2]|0;if(k[(k[t>>2]|0)+124>>2]|0)b=k[b+124>>2]|0;k[p>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+112>>2]|0))break;k[q>>2]=(k[(k[p>>2]|0)+116>>2]|0)+(k[f>>2]<<4);if((k[k[q>>2]>>2]|0)==(k[j>>2]|0)?(k[(k[q>>2]|0)+4>>2]|0)==(k[m>>2]|0):0){h=7;break}k[f>>2]=(k[f>>2]|0)+1}if((h|0)==7){if(l[(k[q>>2]|0)+8>>0]|0)b=1;else b=(l[n>>0]|0|0)!=0;i[(k[q>>2]|0)+8>>0]=b&1;r=s;return}k[g>>2]=(k[(k[p>>2]|0)+112>>2]|0)+1<<4;b=k[g>>2]|0;b=Zx(k[k[p>>2]>>2]|0,k[(k[p>>2]|0)+116>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[p>>2]|0)+116>>2]=b;b=(k[p>>2]|0)+112|0;if(k[(k[p>>2]|0)+116>>2]|0){t=k[b>>2]|0;k[b>>2]=t+1;k[q>>2]=(k[(k[p>>2]|0)+116>>2]|0)+(t<<4);k[k[q>>2]>>2]=k[j>>2];k[(k[q>>2]|0)+4>>2]=k[m>>2];i[(k[q>>2]|0)+8>>0]=i[n>>0]|0;k[(k[q>>2]|0)+12>>2]=k[o>>2];r=s;return}else{k[b>>2]=0;wh(k[k[p>>2]>>2]|0);r=s;return}}function cA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;o=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;d=nx(k[f>>2]|0)|0;k[o>>2]=d;bA(k[f>>2]|0,k[h>>2]|0,k[(k[i>>2]|0)+28>>2]|0,((k[m>>2]|0)==105?1:0)&255,k[k[i>>2]>>2]|0);if(!(l[(k[i>>2]|0)+42>>0]&32)){Sh(k[o>>2]|0,k[m>>2]|0,k[g>>2]|0,k[(k[i>>2]|0)+28>>2]|0,k[h>>2]|0,j[(k[i>>2]|0)+34>>1]|0)|0;r=p;return}else{d=Tj(k[i>>2]|0)|0;k[n>>2]=d;tx(k[o>>2]|0,k[m>>2]|0,k[g>>2]|0,k[(k[n>>2]|0)+44>>2]|0,k[h>>2]|0)|0;dA(k[f>>2]|0,k[n>>2]|0);r=p;return}}function dA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+8|0;d=c+4|0;f=c;k[e>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[e>>2]|0)+8>>2];a=k[f>>2]|0;Wh(a,-1,rA(k[e>>2]|0,k[d>>2]|0)|0,-6);r=c;return}function eA(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;c=d+4|0;b=d;k[e>>2]=a;k[c>>2]=k[(k[e>>2]|0)+12>>2];e=(k[c>>2]|0)+72|0;a=k[e>>2]|0;k[e>>2]=a+1;k[b>>2]=a;if(!(k[b>>2]&(k[b>>2]|0)-1)){e=Zx(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+76>>2]|0,(k[b>>2]<<1)+1<<2,0)|0;k[(k[c>>2]|0)+76>>2]=e}if(!(k[(k[c>>2]|0)+76>>2]|0)){e=k[b>>2]|0;e=-1-e|0;r=d;return e|0}k[(k[(k[c>>2]|0)+76>>2]|0)+(k[b>>2]<<2)>>2]=-1;e=k[b>>2]|0;e=-1-e|0;r=d;return e|0}function fA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=r;r=r+32|0;c=g+12|0;d=g+8|0;j=g+4|0;e=g+17|0;h=g+16|0;f=g;k[c>>2]=a;k[d>>2]=b;k[j>>2]=k[k[c>>2]>>2];i[e>>0]=i[(k[j>>2]|0)+66>>0]|0;i[h>>0]=i[(k[j>>2]|0)+148+5>>0]|0;b=ak(k[j>>2]|0,i[e>>0]|0,k[d>>2]|0,l[h>>0]|0)|0;k[f>>2]=b;if(i[h>>0]|0){j=k[f>>2]|0;r=g;return j|0}if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+12>>2]|0)!=0:0){j=k[f>>2]|0;r=g;return j|0}j=qy(k[c>>2]|0,i[e>>0]|0,k[f>>2]|0,k[d>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;r=g;return j|0}function gA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=tx(k[e>>2]|0,13,0,k[d>>2]|0,0)|0;r=c;return a|0}function hA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;nA(k[d>>2]|0,k[e>>2]|0,k[(k[d>>2]|0)+136>>2]|0);r=c;return}function iA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;e=f+4|0;d=f;k[c>>2]=a;k[g>>2]=b;k[e>>2]=k[(k[c>>2]|0)+12>>2];k[d>>2]=-1-(k[g>>2]|0);if(!(k[(k[e>>2]|0)+76>>2]|0)){r=f;return}k[(k[(k[e>>2]|0)+76>>2]|0)+(k[d>>2]<<2)>>2]=k[(k[c>>2]|0)+136>>2];r=f;return}function jA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;h=e+8|0;g=e;k[f>>2]=a;k[h>>2]=b;k[e+4>>2]=c;k[g>>2]=d;wx(k[f>>2]|0,89,0,k[h>>2]|0,k[g>>2]|0,4348,-5)|0;Th(k[f>>2]|0,1);r=e;return}function kA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+64|0;j=n+24|0;i=n+16|0;d=n+56|0;o=n+48|0;h=n+44|0;l=n+40|0;e=n+36|0;m=n+32|0;g=n+8|0;f=n;k[d>>2]=a;k[n+52>>2]=b;k[o>>2]=c;a=ie(k[k[o>>2]>>2]|0)|0;k[h>>2]=a;a=((k[(k[h>>2]|0)+12>>2]|0)+1|0)*25|0;a=ug(a,((a|0)<0)<<31>>31)|0;k[m>>2]=a;if(!(k[m>>2]|0)){Ce(k[d>>2]|0);r=n;return}o=k[m>>2]|0;a=i;k[a>>2]=k[k[h>>2]>>2];k[a+4>>2]=0;_d(24,o,30884,i)|0;o=k[m>>2]|0;o=o+(Tf(k[m>>2]|0)|0)|0;k[l>>2]=o;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[h>>2]|0)+12>>2]|0))break;o=g;k[o>>2]=(k[(k[(k[h>>2]|0)+20+4>>2]|0)+(k[e>>2]<<2)>>2]|0)+1;k[o+4>>2]=0;o=g;o=$R(k[k[h>>2]>>2]|0,0,k[o>>2]|0,k[o+4>>2]|0)|0;o=_R(o|0,L|0,1,0)|0;c=g;c=lS(o|0,L|0,k[c>>2]|0,k[c+4>>2]|0)|0;o=f;k[o>>2]=c;k[o+4>>2]=L;o=k[l>>2]|0;c=f;a=k[c+4>>2]|0;i=j;k[i>>2]=k[c>>2];k[i+4>>2]=a;_d(24,o,30889,j)|0;o=Tf(k[l>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+o;k[e>>2]=(k[e>>2]|0)+1}we(k[d>>2]|0,k[m>>2]|0,-1,148);r=n;return}function lA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;k[g+20>>2]=a;k[g+16>>2]=b;k[h>>2]=c;a=ie(k[k[h>>2]>>2]|0)|0;k[f>>2]=a;a=me(k[(k[h>>2]|0)+4>>2]|0)|0;k[e>>2]=a;if(!(k[k[f>>2]>>2]|0)){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[f>>2]|0)+8>>2]|0))break;k[(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)>>2]=1;k[d>>2]=(k[d>>2]|0)+1}h=k[f>>2]|0;f=k[h>>2]|0;f=f+1|0;k[h>>2]=f;r=g;return}mA(k[f>>2]|0,k[e>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[e>>2]|0))break;h=(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)|0;k[h>>2]=(k[h>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+1}k[d>>2]=k[e>>2];while(1){if((k[d>>2]|0)>=(k[(k[f>>2]|0)+8>>2]|0))break;h=(k[(k[f>>2]|0)+20+4>>2]|0)+(k[d>>2]<<2)|0;k[h>>2]=(k[h>>2]|0)+1;k[(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)>>2]=1;k[d>>2]=(k[d>>2]|0)+1}h=k[f>>2]|0;f=k[h>>2]|0;f=f+1|0;k[h>>2]=f;r=g;return}function mA(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return}function nA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(oA(k[f>>2]|0,k[e>>2]|0)|0)+8|0;k[c>>2]=a;r=d;return}function oA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)<0)k[e>>2]=(k[(k[d>>2]|0)+136>>2]|0)-1;if(i[(k[k[d>>2]>>2]|0)+69>>0]|0){k[c>>2]=4376;a=k[c>>2]|0;r=f;return a|0}else{k[c>>2]=(k[(k[d>>2]|0)+88>>2]|0)+((k[e>>2]|0)*20|0);a=k[c>>2]|0;r=f;return a|0}return 0}function pA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;d=j+32|0;m=j+24|0;i=j+20|0;f=j+16|0;h=j+12|0;g=j+8|0;l=j+4|0;e=j;k[d>>2]=a;k[j+28>>2]=b;k[m>>2]=c;a=me(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;k[g>>2]=(k[f>>2]|0)+1&-2;a=me(k[(k[m>>2]|0)+4>>2]|0)|0;k[h>>2]=a;k[l>>2]=56+(k[g>>2]<<2)+(k[g>>2]<<2);a=Fe(k[d>>2]|0)|0;k[e>>2]=a;a=k[l>>2]|0;a=Ch(k[e>>2]|0,a,((a|0)<0)<<31>>31)|0;k[i>>2]=a;if(!(k[i>>2]|0)){Ce(k[d>>2]|0);r=j;return}else{k[(k[i>>2]|0)+52>>2]=k[e>>2];k[k[i>>2]>>2]=0;k[(k[i>>2]|0)+8>>2]=k[f>>2];k[(k[i>>2]|0)+12>>2]=k[h>>2];k[(k[i>>2]|0)+20+4>>2]=(k[i>>2]|0)+56;k[(k[i>>2]|0)+20>>2]=(k[(k[i>>2]|0)+20+4>>2]|0)+(k[g>>2]<<2);pe(k[d>>2]|0,k[i>>2]|0,56,153);r=j;return}}function qA(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];bg(k[(k[c>>2]|0)+52>>2]|0,k[c>>2]|0);r=b;return}function rA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;c=o+8|0;j=o+4|0;n=o;k[e>>2]=a;k[f>>2]=b;k[h>>2]=m[(k[f>>2]|0)+52>>1];k[c>>2]=m[(k[f>>2]|0)+50>>1];if(k[(k[e>>2]|0)+36>>2]|0){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}b=k[k[e>>2]>>2]|0;if((l[(k[f>>2]|0)+55>>0]|0)>>>3&1){c=sA(b,k[c>>2]|0,(k[h>>2]|0)-(k[c>>2]|0)|0)|0;k[j>>2]=c}else{c=sA(b,k[h>>2]|0,0)|0;k[j>>2]=c}if(k[j>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[n>>2]=k[(k[(k[f>>2]|0)+32>>2]|0)+(k[g>>2]<<2)>>2];if((k[n>>2]|0)==34834)b=0;else b=fA(k[e>>2]|0,k[n>>2]|0)|0;k[(k[j>>2]|0)+20+(k[g>>2]<<2)>>2]=b;i[(k[(k[j>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[f>>2]|0)+28>>2]|0)+(k[g>>2]|0)>>0]|0;k[g>>2]=(k[g>>2]|0)+1}if(k[(k[e>>2]|0)+36>>2]|0){tA(k[j>>2]|0);k[j>>2]=0}}k[d>>2]=k[j>>2];n=k[d>>2]|0;r=o;return n|0}function sA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=((k[e>>2]|0)+(k[f>>2]|0)|0)*5;a=dx(k[d>>2]|0,24+(k[g>>2]|0)|0,0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+16>>2]=(k[h>>2]|0)+20+((k[e>>2]|0)+(k[f>>2]|0)<<2);j[(k[h>>2]|0)+6>>1]=k[e>>2];j[(k[h>>2]|0)+8>>1]=k[f>>2];i[(k[h>>2]|0)+4>>0]=i[(k[d>>2]|0)+66>>0]|0;k[(k[h>>2]|0)+12>>2]=k[d>>2];k[k[h>>2]>>2]=1;dS((k[h>>2]|0)+24|0,0,k[g>>2]|0)|0;h=k[h>>2]|0;r=l;return h|0}else{wh(k[d>>2]|0);h=k[h>>2]|0;r=l;return h|0}return 0}function tA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[k[b>>2]>>2]|0){r=c;return}bg(k[(k[b>>2]|0)+12>>2]|0,k[b>>2]|0);r=c;return}function uA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;h=j+16|0;f=j+12|0;e=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=0;k[h>>2]=k[(k[e>>2]|0)+16>>2];while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=k[(k[(k[h>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(k[g>>2]|0))break;k[i>>2]=k[(k[g>>2]|0)+8>>2];vA(k[c>>2]|0,k[i>>2]|0,k[d>>2]|0);k[g>>2]=k[k[g>>2]>>2]}k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+16}r=j;return}function vA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if(!((k[f>>2]|0)!=0?(RB(k[f>>2]|0,k[h>>2]|0)|0)==0:0)){c=Ph(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;Bx(k[d>>2]|0,0,k[g>>2]|0);wA(k[d>>2]|0,k[h>>2]|0,-1)}k[h>>2]=k[(k[h>>2]|0)+20>>2]}r=i;return}function wA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+80|0;j=x+64|0;n=x+60|0;d=x+56|0;h=x+52|0;t=x+48|0;q=x+44|0;s=x+40|0;o=x+36|0;p=x+32|0;i=x+28|0;f=x+24|0;w=x+20|0;g=x+16|0;v=x+12|0;y=x+8|0;e=x+4|0;u=x;k[j>>2]=a;k[n>>2]=b;k[d>>2]=c;k[h>>2]=k[(k[n>>2]|0)+12>>2];a=(k[j>>2]|0)+40|0;b=k[a>>2]|0;k[a>>2]=b+1;k[t>>2]=b;b=(k[j>>2]|0)+40|0;a=k[b>>2]|0;k[b>>2]=a+1;k[q>>2]=a;k[y>>2]=k[k[j>>2]>>2];a=Ph(k[y>>2]|0,k[(k[n>>2]|0)+24>>2]|0)|0;k[e>>2]=a;if(kx(k[j>>2]|0,27,k[k[n>>2]>>2]|0,0,k[(k[(k[y>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0)|0){r=x;return}bA(k[j>>2]|0,k[e>>2]|0,k[(k[h>>2]|0)+28>>2]|0,1,k[k[h>>2]>>2]|0);y=nx(k[j>>2]|0)|0;k[w>>2]=y;if(!(k[w>>2]|0)){r=x;return}if((k[d>>2]|0)>=0)k[i>>2]=k[d>>2];else k[i>>2]=k[(k[n>>2]|0)+44>>2];a=rA(k[j>>2]|0,k[n>>2]|0)|0;k[g>>2]=a;a=(k[j>>2]|0)+40|0;b=k[a>>2]|0;k[a>>2]=b+1;k[s>>2]=b;b=k[w>>2]|0;a=k[s>>2]|0;y=m[(k[n>>2]|0)+50>>1]|0;wx(b,108,a,0,y,xA(k[g>>2]|0)|0,-6)|0;cA(k[j>>2]|0,k[t>>2]|0,k[e>>2]|0,k[h>>2]|0,104);y=sx(k[w>>2]|0,57,k[t>>2]|0,0)|0;k[o>>2]=y;y=Fx(k[j>>2]|0)|0;k[v>>2]=y;yA(k[j>>2]|0,k[n>>2]|0,k[t>>2]|0,k[v>>2]|0,0,f,0,0)|0;sx(k[w>>2]|0,125,k[s>>2]|0,k[v>>2]|0)|0;zA(k[j>>2]|0,k[f>>2]|0);sx(k[w>>2]|0,7,k[t>>2]|0,(k[o>>2]|0)+1|0)|0;hA(k[w>>2]|0,k[o>>2]|0);if((k[d>>2]|0)<0)sx(k[w>>2]|0,131,k[i>>2]|0,k[e>>2]|0)|0;wx(k[w>>2]|0,105,k[q>>2]|0,k[i>>2]|0,k[e>>2]|0,k[g>>2]|0,-6)|0;Th(k[w>>2]|0,(1|((k[d>>2]|0)>=0?16:0))&255);y=sx(k[w>>2]|0,55,k[s>>2]|0,0)|0;k[o>>2]=y;y=(l[(k[n>>2]|0)+54>>0]|0|0)!=0;d=Gx(k[w>>2]|0)|0;if(y){k[u>>2]=d+3;gA(k[w>>2]|0,k[u>>2]|0)|0;y=Gx(k[w>>2]|0)|0;k[p>>2]=y;Sh(k[w>>2]|0,119,k[s>>2]|0,k[u>>2]|0,k[v>>2]|0,m[(k[n>>2]|0)+50>>1]|0)|0;AA(k[j>>2]|0,2,k[n>>2]|0)}else k[p>>2]=d;tx(k[w>>2]|0,120,k[s>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;tx(k[w>>2]|0,53,k[q>>2]|0,0,-1)|0;tx(k[w>>2]|0,126,k[q>>2]|0,k[v>>2]|0,0)|0;Th(k[w>>2]|0,16);Hx(k[j>>2]|0,k[v>>2]|0);sx(k[w>>2]|0,3,k[s>>2]|0,k[p>>2]|0)|0;hA(k[w>>2]|0,k[o>>2]|0);aA(k[w>>2]|0,111,k[t>>2]|0)|0;aA(k[w>>2]|0,111,k[q>>2]|0)|0;aA(k[w>>2]|0,111,k[s>>2]|0)|0;r=x;return}function xA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[b>>2]|0){a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+1}r=c;return k[b>>2]|0}function yA(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+48|0;n=y+44|0;o=y+40|0;p=y+36|0;q=y+32|0;i=y+28|0;m=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[i>>2]=e;k[m>>2]=f;k[s>>2]=g;k[t>>2]=h;k[x>>2]=k[(k[n>>2]|0)+8>>2];do if(k[m>>2]|0)if(k[(k[o>>2]|0)+36>>2]|0){h=eA(k[x>>2]|0)|0;k[k[m>>2]>>2]=h;k[(k[n>>2]|0)+60>>2]=k[p>>2];KA(k[n>>2]|0);LA(k[n>>2]|0,k[(k[o>>2]|0)+36>>2]|0,k[k[m>>2]>>2]|0,16);break}else{k[k[m>>2]>>2]=0;break}while(0);if((k[i>>2]|0)!=0?((l[(k[o>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)i=j[(k[o>>2]|0)+50>>1]|0;else i=j[(k[o>>2]|0)+52>>1]|0;k[v>>2]=i&65535;h=MA(k[n>>2]|0,k[v>>2]|0)|0;k[w>>2]=h;do if(k[s>>2]|0){if((k[w>>2]|0)==(k[t>>2]|0)?(k[(k[s>>2]|0)+36>>2]|0)==0:0)break;k[s>>2]=0}while(0);k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[v>>2]|0))break;if(!(((k[s>>2]|0)!=0?(j[(k[(k[s>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0)==(j[(k[(k[o>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0):0)?(j[(k[(k[s>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0)!=-2:0)){NA(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[u>>2]|0,(k[w>>2]|0)+(k[u>>2]|0)|0);OA(k[x>>2]|0,92)|0}k[u>>2]=(k[u>>2]|0)+1}if(!(k[q>>2]|0)){t=k[n>>2]|0;u=k[w>>2]|0;x=k[v>>2]|0;PA(t,u,x);x=k[w>>2]|0;r=y;return x|0}tx(k[x>>2]|0,99,k[w>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;t=k[n>>2]|0;u=k[w>>2]|0;x=k[v>>2]|0;PA(t,u,x);x=k[w>>2]|0;r=y;return x|0}function zA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}iA(k[(k[c>>2]|0)+8>>2]|0,k[d>>2]|0);IA(k[c>>2]|0);r=e;return}function AA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+80|0;o=s+8|0;n=s;d=s+68|0;e=s+64|0;f=s+60|0;q=s+56|0;h=s+52|0;g=s+24|0;l=s+20|0;p=s+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=k[(k[f>>2]|0)+12>>2];ng(g,k[k[d>>2]>>2]|0,0,0,200);if(k[(k[f>>2]|0)+40>>2]|0){k[n>>2]=k[k[f>>2]>>2];BA(g,31053,n);n=pg(g)|0;k[q>>2]=n;n=k[d>>2]|0;o=k[f>>2]|0;o=o+55|0;o=i[o>>0]|0;o=o&3;o=o&255;o=(o|0)==2;o=o?1555:2067;p=k[e>>2]|0;q=k[q>>2]|0;DA(n,o,p,q,-1,2);r=s;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break;k[p>>2]=k[(k[(k[l>>2]|0)+4>>2]|0)+(j[(k[(k[f>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]<<4)>>2];if(k[h>>2]|0)CA(g,31064,2);n=k[p>>2]|0;k[o>>2]=k[k[l>>2]>>2];k[o+4>>2]=n;BA(g,30161,o);k[h>>2]=(k[h>>2]|0)+1}n=pg(g)|0;k[q>>2]=n;n=k[d>>2]|0;o=k[f>>2]|0;o=o+55|0;o=i[o>>0]|0;o=o&3;o=o&255;o=(o|0)==2;o=o?1555:2067;p=k[e>>2]|0;q=k[q>>2]|0;DA(n,o,p,q,-1,2);r=s;return}function BA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;g=d+20|0;f=d+16|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;og(k[g>>2]|0,k[f>>2]|0,e);r=d;return}function CA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(((k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]|0)|0)>>>0>=(k[(k[d>>2]|0)+16>>2]|0)>>>0){EA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}else{b=(k[d>>2]|0)+12|0;k[b>>2]=(k[b>>2]|0)+(k[f>>2]|0);bS((k[(k[d>>2]|0)+8>>2]|0)+((k[(k[d>>2]|0)+12>>2]|0)-(k[f>>2]|0))|0,k[e>>2]|0,k[f>>2]|0)|0;r=g;return}}function DA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;g=p+16|0;h=p+12|0;j=p+8|0;l=p+4|0;m=p+21|0;n=p+20|0;o=p;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;i[m>>0]=e;i[n>>0]=f;a=nx(k[g>>2]|0)|0;k[o>>2]=a;if((k[j>>2]|0)==2)dy(k[g>>2]|0);wx(k[o>>2]|0,75,k[h>>2]|0,k[j>>2]|0,0,k[l>>2]|0,i[m>>0]|0)|0;Th(k[o>>2]|0,i[n>>0]|0);r=p;return}function EA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=FA(k[d>>2]|0,k[f>>2]|0)|0;k[f>>2]=b;if((k[f>>2]|0)<=0){r=g;return}bS((k[(k[d>>2]|0)+8>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0,k[e>>2]|0,k[f>>2]|0)|0;b=(k[d>>2]|0)+12|0;k[b>>2]=(k[b>>2]|0)+(k[f>>2]|0);r=g;return}function FA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+24|0;f=j+20|0;g=j+16|0;h=j+12|0;d=j+8|0;c=j;k[f>>2]=a;k[g>>2]=b;if(i[(k[f>>2]|0)+24>>0]|0){k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}b=k[f>>2]|0;if(!(k[(k[f>>2]|0)+20>>2]|0)){k[g>>2]=(k[b+16>>2]|0)-(k[(k[f>>2]|0)+12>>2]|0)-1;GA(k[f>>2]|0,2);k[e>>2]=k[g>>2];h=k[e>>2]|0;r=j;return h|0}if(l[b+25>>0]&4)b=k[(k[f>>2]|0)+8>>2]|0;else b=0;k[d>>2]=b;b=c;k[b>>2]=k[(k[f>>2]|0)+12>>2];k[b+4>>2]=0;b=(k[g>>2]|0)+1|0;a=c;b=$R(k[a>>2]|0,k[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L;a=c;a=$R(k[a>>2]|0,k[a+4>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;b=L;if((b|0)<0|((b|0)==0?a>>>0<=(k[(k[f>>2]|0)+20>>2]|0)>>>0:0)){b=c;b=$R(k[b>>2]|0,k[b+4>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L}a=c;b=k[a+4>>2]|0;if((b|0)>0|((b|0)==0?(k[a>>2]|0)>>>0>(k[(k[f>>2]|0)+20>>2]|0)>>>0:0)){HA(k[f>>2]|0);GA(k[f>>2]|0,2);k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}k[(k[f>>2]|0)+16>>2]=k[c>>2];if(k[k[f>>2]>>2]|0){d=cx(k[k[f>>2]>>2]|0,k[d>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0)|0;k[h>>2]=d}else{d=Wd(k[d>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0)|0;k[h>>2]=d}b=k[f>>2]|0;if(!(k[h>>2]|0)){HA(b);GA(k[f>>2]|0,1);k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}if((l[b+25>>0]&4|0)==0?(k[(k[f>>2]|0)+12>>2]|0)>>>0>0:0)bS(k[h>>2]|0,k[(k[f>>2]|0)+8>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[(k[f>>2]|0)+8>>2]=k[h>>2];h=uu(k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[(k[f>>2]|0)+16>>2]=h;h=(k[f>>2]|0)+25|0;i[h>>0]=l[h>>0]|4;k[e>>2]=k[g>>2];h=k[e>>2]|0;r=j;return h|0}function GA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c;e=c+4|0;k[d>>2]=a;i[e>>0]=b;i[(k[d>>2]|0)+24>>0]=i[e>>0]|0;k[(k[d>>2]|0)+16>>2]=0;r=c;return}function HA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((l[(k[b>>2]|0)+25>>0]|0)&4)){a=k[b>>2]|0;a=a+8|0;k[a>>2]=0;r=c;return}bg(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+8>>2]|0);a=(k[b>>2]|0)+25|0;i[a>>0]=(l[a>>0]|0)&-5;a=k[b>>2]|0;a=a+8|0;k[a>>2]=0;r=c;return}function IA(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;a=(k[b>>2]|0)+64|0;k[a>>2]=(k[a>>2]|0)+-1;while(1){if((k[c>>2]|0)>=(l[(k[b>>2]|0)+25>>0]|0|0))break;if((k[(k[b>>2]|0)+152+((k[c>>2]|0)*20|0)+8>>2]|0)>(k[(k[b>>2]|0)+64>>2]|0)){JA(k[b>>2]|0,k[c>>2]|0);continue}else{k[c>>2]=(k[c>>2]|0)+1;continue}}r=d;return}function JA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((i[(k[c>>2]|0)+152+((k[d>>2]|0)*20|0)+6>>0]|0)!=0?(l[(k[c>>2]|0)+19>>0]|0)<8:0){b=k[(k[c>>2]|0)+152+((k[d>>2]|0)*20|0)+12>>2]|0;f=(k[c>>2]|0)+19|0;a=i[f>>0]|0;i[f>>0]=a+1<<24>>24;k[(k[c>>2]|0)+352+((a&255)<<2)>>2]=b}f=(k[c>>2]|0)+25|0;i[f>>0]=(i[f>>0]|0)+-1<<24>>24;if((k[d>>2]|0)>=(l[(k[c>>2]|0)+25>>0]|0)){r=e;return}f=(k[c>>2]|0)+152+((k[d>>2]|0)*20|0)|0;a=(k[c>>2]|0)+152+((l[(k[c>>2]|0)+25>>0]|0)*20|0)|0;k[f>>2]=k[a>>2];k[f+4>>2]=k[a+4>>2];k[f+8>>2]=k[a+8>>2];k[f+12>>2]=k[a+12>>2];k[f+16>>2]=k[a+16>>2];r=e;return}function KA(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+64|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function LA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;j=r;r=r+32|0;e=j+20|0;m=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[m>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[k[e>>2]>>2];a=Sy(k[h>>2]|0,k[m>>2]|0,0)|0;k[i>>2]=a;if(l[(k[h>>2]|0)+69>>0]|0){a=k[h>>2]|0;m=k[i>>2]|0;sv(a,m);r=j;return}sB(k[e>>2]|0,k[i>>2]|0,k[f>>2]|0,k[g>>2]|0);a=k[h>>2]|0;m=k[i>>2]|0;sv(a,m);r=j;return}function MA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;if((k[e>>2]|0)==1){g=Fx(b)|0;k[c>>2]=g;g=k[c>>2]|0;r=h;return g|0}k[f>>2]=k[b+32>>2];k[g>>2]=k[(k[d>>2]|0)+28>>2];if((k[e>>2]|0)<=(k[g>>2]|0)){g=(k[d>>2]|0)+32|0;k[g>>2]=(k[g>>2]|0)+(k[e>>2]|0);g=(k[d>>2]|0)+28|0;k[g>>2]=(k[g>>2]|0)-(k[e>>2]|0)}else{k[f>>2]=(k[(k[d>>2]|0)+44>>2]|0)+1;g=(k[d>>2]|0)+44|0;k[g>>2]=(k[g>>2]|0)+(k[e>>2]|0)}k[c>>2]=k[f>>2];g=k[c>>2]|0;r=h;return g|0}function NA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;m=n+20|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;j[m>>1]=j[(k[(k[g>>2]|0)+4>>2]|0)+(k[i>>2]<<1)>>1]|0;if((j[m>>1]|0)==-2){k[(k[f>>2]|0)+60>>2]=k[h>>2];WA(k[f>>2]|0,k[(k[(k[(k[g>>2]|0)+40>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,k[l>>2]|0);r=n;return}else{XA(k[(k[f>>2]|0)+8>>2]|0,k[(k[g>>2]|0)+12>>2]|0,k[h>>2]|0,j[m>>1]|0,k[l>>2]|0);r=n;return}}function OA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;d=e;f=e+8|0;k[d>>2]=a;i[f>>0]=b;if((k[(k[d>>2]|0)+136>>2]|0)>0?(l[(k[(k[d>>2]|0)+88>>2]|0)+(((k[(k[d>>2]|0)+136>>2]|0)-1|0)*20|0)>>0]|0|0)==(l[f>>0]|0|0):0){f=RA(k[d>>2]|0,(k[(k[d>>2]|0)+136>>2]|0)-1|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}function PA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[d>>2]|0;c=k[e>>2]|0;if((k[f>>2]|0)==1){Hx(b,c);r=g;return}QA(b,c,k[f>>2]|0);if((k[f>>2]|0)<=(k[(k[d>>2]|0)+28>>2]|0)){r=g;return}k[(k[d>>2]|0)+28>>2]=k[f>>2];k[(k[d>>2]|0)+32>>2]=k[e>>2];r=g;return}function QA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(l[(k[d>>2]|0)+25>>0]|0|0))break;k[h>>2]=(k[d>>2]|0)+152+((k[g>>2]|0)*20|0);if((k[(k[h>>2]|0)+12>>2]|0)>=(k[e>>2]|0)?(k[(k[h>>2]|0)+12>>2]|0)<((k[e>>2]|0)+(k[f>>2]|0)|0):0){JA(k[d>>2]|0,k[g>>2]|0);continue}k[g>>2]=(k[g>>2]|0)+1}r=i;return}function RA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(i[(k[k[d>>2]>>2]|0)+69>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{k[f>>2]=(k[(k[d>>2]|0)+88>>2]|0)+((k[e>>2]|0)*20|0);SA(k[k[d>>2]>>2]|0,i[(k[f>>2]|0)+1>>0]|0,k[(k[f>>2]|0)+16>>2]|0);i[(k[f>>2]|0)+1>>0]=0;k[(k[f>>2]|0)+16>>2]=0;i[k[f>>2]>>0]=-95;k[c>>2]=1;f=k[c>>2]|0;r=g;return f|0}return 0}function SA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;a:do switch(k[g>>2]|0){case -21:{TA(k[d>>2]|0,k[e>>2]|0);break}case -15:case -1:case -13:case -12:{bg(k[d>>2]|0,k[e>>2]|0);break}case -6:{if(!(k[(k[d>>2]|0)+456>>2]|0))tA(k[e>>2]|0);break}case -11:{if(!(k[(k[d>>2]|0)+456>>2]|0))Ud(k[e>>2]|0);break}case -5:{UA(k[d>>2]|0,k[e>>2]|0);break}case -8:if(!(k[(k[d>>2]|0)+456>>2]|0)){mh(k[e>>2]|0);break a}else{VA(k[d>>2]|0,k[e>>2]|0);break a}case -10:{if(!(k[(k[d>>2]|0)+456>>2]|0))Cu(k[e>>2]|0);break}default:{}}while(0);r=f;return}function TA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;UA(k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function UA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!((m[(k[d>>2]|0)+2>>1]|0)&16)){r=e;return}bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function VA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[d>>2]|0)+24>>2]|0)bg(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function WA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];c=Sy(k[g>>2]|0,k[e>>2]|0,0)|0;k[e>>2]=c;if(i[(k[g>>2]|0)+69>>0]|0){a=k[g>>2]|0;c=k[e>>2]|0;sv(a,c);r=h;return}$A(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);a=k[g>>2]|0;c=k[e>>2]|0;sv(a,c);r=h;return}function XA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;n=p+4|0;o=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;if((k[i>>2]|0)>=0?(k[i>>2]|0)!=(j[(k[g>>2]|0)+32>>1]|0):0){k[n>>2]=(l[(k[g>>2]|0)+42>>0]&16|0)!=0?156:96;k[o>>2]=k[i>>2];if((l[(k[g>>2]|0)+42>>0]&32|0)!=0?(l[(k[g>>2]|0)+42>>0]&16|0)==0:0){a=Tj(k[g>>2]|0)|0;a=(YA(a,k[i>>2]&65535)|0)<<16>>16;k[o>>2]=a}tx(k[f>>2]|0,k[n>>2]|0,k[h>>2]|0,k[o>>2]|0,k[m>>2]|0)|0}else sx(k[f>>2]|0,123,k[h>>2]|0,k[m>>2]|0)|0;if((k[i>>2]|0)<0){r=p;return}ZA(k[f>>2]|0,k[g>>2]|0,k[i>>2]|0,k[m>>2]|0);r=p;return}function YA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+10|0;c=g+4|0;d=g+8|0;e=g;k[c>>2]=a;j[d>>1]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[c>>2]|0)+52>>1]|0)){b=6;break}a=k[e>>2]|0;if((j[d>>1]|0)==(j[(k[(k[c>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)){b=4;break}k[e>>2]=a+1}if((b|0)==4){j[f>>1]=a;f=j[f>>1]|0;r=g;return f|0}else if((b|0)==6){j[f>>1]=-1;f=j[f>>1]|0;r=g;return f|0}return 0}function ZA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n+24|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[(k[f>>2]|0)+12>>2]|0){r=n;return}k[m>>2]=0;a=(_A(k[e>>2]|0)|0)+66|0;i[j>>0]=i[a>>0]|0;k[l>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[g>>2]<<4);a=_A(k[e>>2]|0)|0;Ex(a,k[(k[l>>2]|0)+4>>2]|0,i[j>>0]|0,i[(k[l>>2]|0)+13>>0]|0,m)|0;if(k[m>>2]|0)Wh(k[e>>2]|0,-1,k[m>>2]|0,-8);if((i[(k[(k[f>>2]|0)+4>>2]|0)+(k[g>>2]<<4)+13>>0]|0)!=69){r=n;return}aA(k[e>>2]|0,92,k[h>>2]|0)|0;r=n;return}function _A(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function $A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)!=0?(l[k[e>>2]>>0]|0|0)==157:0){sx(k[(k[d>>2]|0)+8>>2]|0,84,k[(k[e>>2]|0)+28>>2]|0,k[f>>2]|0)|0;r=h;return}c=aB(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;if((k[g>>2]|0)==(k[f>>2]|0)){r=h;return}if(!(k[(k[d>>2]|0)+8>>2]|0)){r=h;return}sx(k[(k[d>>2]|0)+8>>2]|0,85,k[g>>2]|0,k[f>>2]|0)|0;r=h;return}function aB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ia=0,ja=0;ja=r;r=r+320|0;x=ja+24|0;w=ja+16|0;F=ja+8|0;v=ja;fa=ja+304|0;ga=ja+300|0;O=ja+296|0;ia=ja+292|0;da=ja+288|0;B=ja+284|0;aa=ja+280|0;ba=ja+276|0;ca=ja+272|0;R=ja+268|0;E=ja+264|0;S=ja+216|0;C=ja+208|0;p=ja+204|0;q=ja+200|0;g=ja+196|0;h=ja+192|0;y=ja+188|0;z=ja+184|0;D=ja+180|0;t=ja+176|0;d=ja+172|0;s=ja+168|0;Q=ja+164|0;P=ja+160|0;N=ja+156|0;G=ja+152|0;H=ja+148|0;L=ja+144|0;I=ja+140|0;A=ja+309|0;M=ja+136|0;J=ja+132|0;K=ja+308|0;n=ja+128|0;e=ja+124|0;f=ja+120|0;u=ja+116|0;o=ja+112|0;U=ja+108|0;X=ja+104|0;W=ja+100|0;V=ja+96|0;Z=ja+92|0;T=ja+88|0;Y=ja+40|0;$=ja+32|0;_=ja+28|0;k[ga>>2]=a;k[O>>2]=b;k[ia>>2]=c;k[da>>2]=k[(k[ga>>2]|0)+8>>2];k[aa>>2]=k[ia>>2];k[ba>>2]=0;k[ca>>2]=0;k[C>>2]=0;if(!(k[da>>2]|0)){k[fa>>2]=0;ia=k[fa>>2]|0;r=ja;return ia|0}if(!(k[O>>2]|0))k[B>>2]=101;else k[B>>2]=l[k[O>>2]>>0];a:do switch(k[B>>2]|0){case 154:{k[p>>2]=k[(k[O>>2]|0)+40>>2];k[q>>2]=(k[(k[p>>2]|0)+28>>2]|0)+((j[(k[O>>2]|0)+34>>1]|0)*24|0);if(!(i[k[p>>2]>>0]|0)){k[fa>>2]=k[(k[q>>2]|0)+16>>2];ia=k[fa>>2]|0;r=ja;return ia|0}if(i[(k[p>>2]|0)+1>>0]|0){tx(k[da>>2]|0,96,k[(k[p>>2]|0)+8>>2]|0,k[(k[q>>2]|0)+12>>2]|0,k[ia>>2]|0)|0;k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}else ea=11;break}case 152:{ea=11;break}case 134:{cB(k[ga>>2]|0,k[O>>2]|0,0,k[ia>>2]|0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 132:{dB(k[da>>2]|0,k[(k[O>>2]|0)+8>>2]|0,0,k[ia>>2]|0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 97:{rx(k[da>>2]|0,k[ia>>2]|0,k[(k[O>>2]|0)+8>>2]|0)|0;k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 101:{sx(k[da>>2]|0,79,0,k[ia>>2]|0)|0;k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 133:{k[y>>2]=(k[(k[O>>2]|0)+8>>2]|0)+2;ga=(Tf(k[y>>2]|0)|0)-1|0;k[h>>2]=ga;ga=Sx(_A(k[da>>2]|0)|0,k[y>>2]|0,k[h>>2]|0)|0;k[z>>2]=ga;wx(k[da>>2]|0,81,(k[h>>2]|0)/2|0,k[ia>>2]|0,0,k[z>>2]|0,-1)|0;k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 135:{sx(k[da>>2]|0,82,j[(k[O>>2]|0)+32>>1]|0,k[ia>>2]|0)|0;if(i[(k[(k[O>>2]|0)+8>>2]|0)+1>>0]|0)Wh(k[da>>2]|0,-1,k[(k[(k[ga>>2]|0)+428>>2]|0)+((j[(k[O>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 157:{k[fa>>2]=k[(k[O>>2]|0)+28>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 66:{ea=aB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,k[ia>>2]|0)|0;k[aa>>2]=ea;if((k[aa>>2]|0)!=(k[ia>>2]|0)){sx(k[da>>2]|0,85,k[aa>>2]|0,k[ia>>2]|0)|0;k[aa>>2]=k[ia>>2]}sx(k[da>>2]|0,93,k[ia>>2]|0,(Nx(k[(k[O>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;eB(k[ga>>2]|0,k[aa>>2]|0,1);k[fa>>2]=k[aa>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 148:case 29:{k[B>>2]=(k[B>>2]|0)==29?37:36;k[C>>2]=128;ea=29;break}case 37:case 36:case 41:case 38:case 39:case 40:{ea=29;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{$=hB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,ba)|0;k[R>>2]=$;$=hB(k[ga>>2]|0,k[(k[O>>2]|0)+16>>2]|0,ca)|0;k[E>>2]=$;tx(k[da>>2]|0,k[B>>2]|0,k[E>>2]|0,k[R>>2]|0,k[ia>>2]|0)|0;break}case 155:{k[t>>2]=k[(k[O>>2]|0)+12>>2];if((l[k[t>>2]>>0]|0)==134){cB(k[ga>>2]|0,k[t>>2]|0,1,k[ia>>2]|0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}if((l[k[t>>2]>>0]|0)!=132){i[S>>0]=-122;k[S+4>>2]=17408;k[S+8>>2]=0;$=hB(k[ga>>2]|0,S,ba)|0;k[R>>2]=$;$=hB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,ca)|0;k[E>>2]=$;tx(k[da>>2]|0,48,k[E>>2]|0,k[R>>2]|0,k[ia>>2]|0)|0;break a}dB(k[da>>2]|0,k[(k[t>>2]|0)+8>>2]|0,1,k[ia>>2]|0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 19:case 54:{ia=hB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,ba)|0;k[R>>2]=ia;sx(k[da>>2]|0,k[B>>2]|0,k[R>>2]|0,k[aa>>2]|0)|0;break}case 35:case 34:{sx(k[da>>2]|0,76,1,k[ia>>2]|0)|0;$=hB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,ba)|0;k[R>>2]=$;$=aA(k[da>>2]|0,k[B>>2]|0,k[R>>2]|0)|0;k[d>>2]=$;sx(k[da>>2]|0,76,0,k[ia>>2]|0)|0;hA(k[da>>2]|0,k[d>>2]|0);break}case 153:{k[s>>2]=k[(k[O>>2]|0)+40>>2];if(!(k[s>>2]|0)){ia=k[ga>>2]|0;k[v>>2]=k[(k[O>>2]|0)+8>>2];Oh(ia,31067,v);break a}k[fa>>2]=k[(k[(k[s>>2]|0)+40>>2]|0)+(j[(k[O>>2]|0)+34>>1]<<4)+8>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 151:{k[H>>2]=0;k[I>>2]=k[k[ga>>2]>>2];i[A>>0]=i[(k[I>>2]|0)+66>>0]|0;k[M>>2]=0;if(k[(k[O>>2]|0)+4>>2]&16384)k[Q>>2]=0;else k[Q>>2]=k[(k[O>>2]|0)+20>>2];if(k[Q>>2]|0)d=k[k[Q>>2]>>2]|0;else d=0;k[P>>2]=d;k[G>>2]=k[(k[O>>2]|0)+8>>2];$=ui(k[I>>2]|0,k[G>>2]|0,k[P>>2]|0,i[A>>0]|0,0)|0;k[N>>2]=$;if((k[N>>2]|0)!=0?(k[(k[N>>2]|0)+16>>2]|0)==0:0){if(m[(k[N>>2]|0)+2>>1]&512){$=eA(k[da>>2]|0)|0;k[J>>2]=$;$A(k[ga>>2]|0,k[k[(k[Q>>2]|0)+4>>2]>>2]|0,k[ia>>2]|0);k[L>>2]=1;while(1){d=k[da>>2]|0;if((k[L>>2]|0)>=(k[P>>2]|0))break;sx(d,35,k[ia>>2]|0,k[J>>2]|0)|0;QA(k[ga>>2]|0,k[ia>>2]|0,1);KA(k[ga>>2]|0);$A(k[ga>>2]|0,k[(k[(k[Q>>2]|0)+4>>2]|0)+((k[L>>2]|0)*20|0)>>2]|0,k[ia>>2]|0);IA(k[ga>>2]|0);k[L>>2]=(k[L>>2]|0)+1}iA(d,k[J>>2]|0);break a}if(m[(k[N>>2]|0)+2>>1]&1024){ia=aB(k[ga>>2]|0,k[k[(k[Q>>2]|0)+4>>2]>>2]|0,k[ia>>2]|0)|0;k[fa>>2]=ia;ia=k[fa>>2]|0;r=ja;return ia|0}k[L>>2]=0;while(1){if((k[L>>2]|0)>=(k[P>>2]|0))break;if((k[L>>2]|0)<32?(jB(k[(k[(k[Q>>2]|0)+4>>2]|0)+((k[L>>2]|0)*20|0)>>2]|0)|0)!=0:0)k[H>>2]=k[H>>2]|1<>2];if(!((k[M>>2]|0)!=0?1:(m[(k[N>>2]|0)+2>>1]&32|0)==0)){ca=py(k[ga>>2]|0,k[(k[(k[Q>>2]|0)+4>>2]|0)+((k[L>>2]|0)*20|0)>>2]|0)|0;k[M>>2]=ca}k[L>>2]=(k[L>>2]|0)+1}if(k[Q>>2]|0){d=k[ga>>2]|0;if(k[H>>2]|0){k[R>>2]=(k[d+44>>2]|0)+1;ca=(k[ga>>2]|0)+44|0;k[ca>>2]=(k[ca>>2]|0)+(k[P>>2]|0)}else{ca=MA(d,k[P>>2]|0)|0;k[R>>2]=ca}do if(m[(k[N>>2]|0)+2>>1]&192){i[K>>0]=i[k[k[(k[Q>>2]|0)+4>>2]>>2]>>0]|0;if((l[K>>0]|0)!=152?(l[K>>0]|0)!=154:0)break;i[(k[k[(k[Q>>2]|0)+4>>2]>>2]|0)+38>>0]=m[(k[N>>2]|0)+2>>1]&192}while(0);KA(k[ga>>2]|0);kB(k[ga>>2]|0,k[Q>>2]|0,k[R>>2]|0,0,3)|0;IA(k[ga>>2]|0)}else k[R>>2]=0;if((k[P>>2]|0)>=2?(k[(k[O>>2]|0)+4>>2]&128|0)!=0:0){ca=lB(k[I>>2]|0,k[N>>2]|0,k[P>>2]|0,k[(k[(k[Q>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[N>>2]=ca}else ea=79;if((ea|0)==79?(k[P>>2]|0)>0:0){ea=lB(k[I>>2]|0,k[N>>2]|0,k[P>>2]|0,k[k[(k[Q>>2]|0)+4>>2]>>2]|0)|0;k[N>>2]=ea}if(m[(k[N>>2]|0)+2>>1]&32){if(!(k[M>>2]|0))k[M>>2]=k[(k[I>>2]|0)+8>>2];wx(k[da>>2]|0,88,0,0,0,k[M>>2]|0,-4)|0}wx(k[da>>2]|0,89,k[H>>2]|0,k[R>>2]|0,k[ia>>2]|0,k[N>>2]|0,-5)|0;Th(k[da>>2]|0,k[P>>2]&255);if((k[P>>2]|0)!=0&(k[H>>2]|0)==0)PA(k[ga>>2]|0,k[R>>2]|0,k[P>>2]|0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}ia=k[ga>>2]|0;k[F>>2]=k[G>>2];Oh(ia,31093,F);break}case 119:case 20:{if((k[B>>2]|0)==119?(ia=k[k[k[(k[O>>2]|0)+20>>2]>>2]>>2]|0,k[n>>2]=ia,(ia|0)!=1):0){mB(k[ga>>2]|0,k[n>>2]|0,1);break a}ia=nB(k[ga>>2]|0,k[O>>2]|0,0,0)|0;k[fa>>2]=ia;ia=k[fa>>2]|0;r=ja;return ia|0}case 159:{if(!(k[(k[(k[O>>2]|0)+12>>2]|0)+28>>2]|0)){ia=nB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,0,0)|0;k[(k[(k[O>>2]|0)+12>>2]|0)+28>>2]=ia}k[fa>>2]=(k[(k[(k[O>>2]|0)+12>>2]|0)+28>>2]|0)+(j[(k[O>>2]|0)+32>>1]|0);ia=k[fa>>2]|0;r=ja;return ia|0}case 33:{ea=eA(k[da>>2]|0)|0;k[e>>2]=ea;ea=eA(k[da>>2]|0)|0;k[f>>2]=ea;sx(k[da>>2]|0,79,0,k[ia>>2]|0)|0;oB(k[ga>>2]|0,k[O>>2]|0,k[e>>2]|0,k[f>>2]|0);sx(k[da>>2]|0,76,1,k[ia>>2]|0)|0;iA(k[da>>2]|0,k[e>>2]|0);sx(k[da>>2]|0,91,k[ia>>2]|0,0)|0;iA(k[da>>2]|0,k[f>>2]|0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 32:{pB(k[ga>>2]|0,k[O>>2]|0,k[ia>>2]|0,0,0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 156:case 53:case 161:{ia=aB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,k[ia>>2]|0)|0;k[fa>>2]=ia;ia=k[fa>>2]|0;r=ja;return ia|0}case 88:{k[u>>2]=k[(k[O>>2]|0)+44>>2];$=(ha(k[(k[O>>2]|0)+28>>2]|0,(j[(k[u>>2]|0)+34>>1]|0)+1|0)|0)+1|0;k[o>>2]=$+(j[(k[O>>2]|0)+32>>1]|0);sx(k[da>>2]|0,143,k[o>>2]|0,k[ia>>2]|0)|0;if((j[(k[O>>2]|0)+32>>1]|0)>=0?(i[(k[(k[u>>2]|0)+4>>2]|0)+(j[(k[O>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)aA(k[da>>2]|0,92,k[ia>>2]|0)|0;break}case 158:{Oh(k[ga>>2]|0,29838,w);break}case 83:{if(!(k[(k[ga>>2]|0)+128>>2]|0)){Oh(k[ga>>2]|0,31116,x);k[fa>>2]=0;ia=k[fa>>2]|0;r=ja;return ia|0}if((i[(k[O>>2]|0)+1>>0]|0)==2)dy(k[ga>>2]|0);if((i[(k[O>>2]|0)+1>>0]|0)==4){wx(k[da>>2]|0,75,0,4,0,k[(k[O>>2]|0)+8>>2]|0,0)|0;break a}else{DA(k[ga>>2]|0,1811,i[(k[O>>2]|0)+1>>0]|0,k[(k[O>>2]|0)+8>>2]|0,0,0);break a}}default:{k[_>>2]=0;k[Z>>2]=k[(k[O>>2]|0)+20>>2];k[T>>2]=k[(k[Z>>2]|0)+4>>2];k[W>>2]=k[k[Z>>2]>>2];R=eA(k[da>>2]|0)|0;k[U>>2]=R;R=k[(k[O>>2]|0)+12>>2]|0;k[$>>2]=R;if(R){d=S;e=k[$>>2]|0;f=d+48|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));rB(S,qB(k[ga>>2]|0,S,ba)|0);d=Y;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));i[Y>>0]=37;k[Y+12>>2]=S;k[_>>2]=Y;k[ba>>2]=0}k[V>>2]=0;while(1){if((k[V>>2]|0)>=((k[W>>2]|0)-1|0))break;KA(k[ga>>2]|0);d=k[(k[T>>2]|0)+((k[V>>2]|0)*20|0)>>2]|0;if(k[$>>2]|0)k[Y+16>>2]=d;else k[_>>2]=d;S=eA(k[da>>2]|0)|0;k[X>>2]=S;sB(k[ga>>2]|0,k[_>>2]|0,k[X>>2]|0,16);$A(k[ga>>2]|0,k[(k[T>>2]|0)+(((k[V>>2]|0)+1|0)*20|0)>>2]|0,k[ia>>2]|0);gA(k[da>>2]|0,k[U>>2]|0)|0;IA(k[ga>>2]|0);iA(k[da>>2]|0,k[X>>2]|0);k[V>>2]=(k[V>>2]|0)+2}if(k[W>>2]&1){KA(k[ga>>2]|0);$A(k[ga>>2]|0,k[(k[(k[Z>>2]|0)+4>>2]|0)+(((k[W>>2]|0)-1|0)*20|0)>>2]|0,k[ia>>2]|0);IA(k[ga>>2]|0)}else sx(k[da>>2]|0,79,0,k[ia>>2]|0)|0;iA(k[da>>2]|0,k[U>>2]|0)}}while(0);do if((ea|0)==11){k[g>>2]=k[(k[O>>2]|0)+28>>2];do if((k[g>>2]|0)<0){if((k[(k[ga>>2]|0)+56>>2]|0)<=0){k[g>>2]=k[(k[ga>>2]|0)+60>>2];break}k[fa>>2]=(j[(k[O>>2]|0)+32>>1]|0)+(k[(k[ga>>2]|0)+56>>2]|0);ia=k[fa>>2]|0;r=ja;return ia|0}while(0);ia=bB(k[ga>>2]|0,k[(k[O>>2]|0)+44>>2]|0,j[(k[O>>2]|0)+32>>1]|0,k[g>>2]|0,k[ia>>2]|0,i[(k[O>>2]|0)+38>>0]|0)|0;k[fa>>2]=ia;ia=k[fa>>2]|0;r=ja;return ia|0}else if((ea|0)==29){k[D>>2]=k[(k[O>>2]|0)+12>>2];ea=(fB(k[D>>2]|0)|0)!=0;d=k[ga>>2]|0;if(ea){gB(d,k[O>>2]|0,k[ia>>2]|0,k[B>>2]&255,k[C>>2]&255);break}else{ia=hB(d,k[D>>2]|0,ba)|0;k[R>>2]=ia;ia=hB(k[ga>>2]|0,k[(k[O>>2]|0)+16>>2]|0,ca)|0;k[E>>2]=ia;iB(k[ga>>2]|0,k[D>>2]|0,k[(k[O>>2]|0)+16>>2]|0,k[B>>2]|0,k[R>>2]|0,k[E>>2]|0,k[aa>>2]|0,32|k[C>>2])|0;break}}while(0);Hx(k[ga>>2]|0,k[ba>>2]|0);Hx(k[ga>>2]|0,k[ca>>2]|0);k[fa>>2]=k[aa>>2];ia=k[fa>>2]|0;r=ja;return ia|0}function bB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;g=w+32|0;h=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;p=w+12|0;q=w+36|0;u=w+8|0;s=w+4|0;t=w;k[h>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;i[q>>0]=f;k[u>>2]=k[(k[h>>2]|0)+8>>2];k[s>>2]=0;k[t>>2]=(k[h>>2]|0)+152;while(1){if((k[s>>2]|0)>=(l[(k[h>>2]|0)+25>>0]|0))break;if((k[k[t>>2]>>2]|0)==(k[o>>2]|0)?(j[(k[t>>2]|0)+4>>1]|0)==(k[n>>2]|0):0){v=5;break}k[s>>2]=(k[s>>2]|0)+1;k[t>>2]=(k[t>>2]|0)+20}if((v|0)==5){u=(k[h>>2]|0)+68|0;v=k[u>>2]|0;k[u>>2]=v+1;k[(k[t>>2]|0)+16>>2]=v;PB(k[h>>2]|0,k[(k[t>>2]|0)+12>>2]|0);k[g>>2]=k[(k[t>>2]|0)+12>>2];v=k[g>>2]|0;r=w;return v|0}XA(k[u>>2]|0,k[m>>2]|0,k[o>>2]|0,k[n>>2]|0,k[p>>2]|0);if(i[q>>0]|0)Th(k[u>>2]|0,i[q>>0]|0);else QB(k[h>>2]|0,k[o>>2]|0,k[n>>2]|0,k[p>>2]|0);k[g>>2]=k[p>>2];v=k[g>>2]|0;r=w;return v|0}function cB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;m=o+8|0;e=o+40|0;p=o+36|0;f=o+32|0;g=o+28|0;j=o+24|0;i=o+20|0;h=o+16|0;l=o;n=o+12|0;k[e>>2]=a;k[p>>2]=b;k[f>>2]=c;k[g>>2]=d;k[j>>2]=k[(k[e>>2]|0)+8>>2];d=(k[p>>2]|0)+8|0;if(k[(k[p>>2]|0)+4>>2]&1024){k[i>>2]=k[d>>2];if(k[f>>2]|0)k[i>>2]=0-(k[i>>2]|0);sx(k[j>>2]|0,76,k[i>>2]|0,k[g>>2]|0)|0;r=o;return}k[n>>2]=k[d>>2];p=Ri(k[n>>2]|0,l)|0;k[h>>2]=p;if((k[h>>2]|0)!=0?!((k[h>>2]|0)==2&(k[f>>2]|0)!=0):0)if(!(Jd(k[n>>2]|0,31290,2)|0)){p=k[e>>2]|0;k[m>>2]=k[n>>2];Oh(p,31293,m);r=o;return}else{dB(k[j>>2]|0,k[n>>2]|0,k[f>>2]|0,k[g>>2]|0);r=o;return}if(k[f>>2]|0){n=(k[h>>2]|0)==2;m=l;m=_R(0,0,k[m>>2]|0,k[m+4>>2]|0)|0;p=l;k[p>>2]=n?0:m;k[p+4>>2]=n?-2147483648:L}OB(k[j>>2]|0,77,0,k[g>>2]|0,0,l,-13)|0;r=o;return}function dB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}b=k[f>>2]|0;oz(b,i,Tf(k[f>>2]|0)|0,1)|0;if(k[g>>2]|0)p[i>>3]=-+p[i>>3];OB(k[e>>2]|0,132,0,k[h>>2]|0,0,i,-12)|0;r=j;return}function eB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;QA(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function fB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(mz(k[c>>2]|0)|0)>1&1;r=b;return a|0}function gB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+80|0;f=C+64|0;D=C+60|0;g=C+56|0;h=C+70|0;j=C+69|0;B=C+52|0;s=C+48|0;u=C+44|0;o=C+40|0;n=C+36|0;z=C+32|0;A=C+28|0;p=C+68|0;m=C+24|0;x=C+20|0;y=C+16|0;q=C+12|0;t=C+8|0;v=C+4|0;w=C;k[f>>2]=a;k[D>>2]=b;k[g>>2]=c;i[h>>0]=d;i[j>>0]=e;k[B>>2]=k[(k[f>>2]|0)+8>>2];k[s>>2]=k[(k[D>>2]|0)+12>>2];k[u>>2]=k[(k[D>>2]|0)+16>>2];a=mz(k[s>>2]|0)|0;k[o>>2]=a;k[z>>2]=0;k[A>>2]=0;i[p>>0]=i[h>>0]|0;a=eA(k[B>>2]|0)|0;k[m>>2]=a;i[j>>0]=l[j>>0]|0|32;if((l[p>>0]|0|0)==39)i[p>>0]=40;if((l[p>>0]|0|0)==41)i[p>>0]=38;D=MB(k[f>>2]|0,k[s>>2]|0)|0;k[z>>2]=D;D=MB(k[f>>2]|0,k[u>>2]|0)|0;k[A>>2]=D;k[n>>2]=0;while(1){k[x>>2]=0;k[y>>2]=0;if((k[n>>2]|0)>0)KA(k[f>>2]|0);D=NB(k[f>>2]|0,k[s>>2]|0,k[n>>2]|0,k[z>>2]|0,q,x)|0;k[v>>2]=D;D=NB(k[f>>2]|0,k[u>>2]|0,k[n>>2]|0,k[A>>2]|0,t,y)|0;k[w>>2]=D;iB(k[f>>2]|0,k[q>>2]|0,k[t>>2]|0,l[p>>0]|0,k[v>>2]|0,k[w>>2]|0,k[g>>2]|0,l[j>>0]|0)|0;Hx(k[f>>2]|0,k[x>>2]|0);Hx(k[f>>2]|0,k[y>>2]|0);if((k[n>>2]|0)>0)IA(k[f>>2]|0);if((k[n>>2]|0)==((k[o>>2]|0)-1|0))break;do if((l[p>>0]|0|0)!=37){c=k[B>>2]|0;if((l[p>>0]|0|0)==36){sx(c,21,k[g>>2]|0,k[m>>2]|0)|0;i[j>>0]=l[j>>0]|0|8;break}sx(c,42,0,k[m>>2]|0)|0;if((k[n>>2]|0)==((k[o>>2]|0)-2|0))i[p>>0]=i[h>>0]|0}else{sx(k[B>>2]|0,22,k[g>>2]|0,k[m>>2]|0)|0;i[j>>0]=l[j>>0]|0|8}while(0);k[n>>2]=(k[n>>2]|0)+1}iA(k[B>>2]|0,k[m>>2]|0);r=C;return}function hB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;n=p+16|0;i=p+12|0;h=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=uy(k[f>>2]|0)|0;k[f>>2]=c;if(((l[(k[e>>2]|0)+23>>0]|0|0)!=0?(l[k[f>>2]>>0]|0|0)!=157:0)?(LB(k[f>>2]|0)|0)!=0:0){k[i>>2]=k[(k[e>>2]|0)+80>>2];k[k[g>>2]>>2]=0;a:do if(k[i>>2]|0){k[j>>2]=k[(k[i>>2]|0)+4>>2];k[h>>2]=k[k[i>>2]>>2];while(1){if((k[h>>2]|0)<=0)break a;if(((l[(k[j>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(Uy(k[k[j>>2]>>2]|0,k[f>>2]|0,-1)|0)==0:0)break;k[j>>2]=(k[j>>2]|0)+20;k[h>>2]=(k[h>>2]|0)+-1}k[d>>2]=k[(k[j>>2]|0)+16>>2];o=k[d>>2]|0;r=p;return o|0}while(0);c=(k[e>>2]|0)+44|0;m=(k[c>>2]|0)+1|0;k[c>>2]=m;k[n>>2]=m;GB(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,1)}else o=12;do if((o|0)==12){o=Fx(k[e>>2]|0)|0;k[m>>2]=o;o=aB(k[e>>2]|0,k[f>>2]|0,k[m>>2]|0)|0;k[n>>2]=o;if((k[n>>2]|0)==(k[m>>2]|0)){k[k[g>>2]>>2]=k[m>>2];break}else{Hx(k[e>>2]|0,k[m>>2]|0);k[k[g>>2]>>2]=0;break}}while(0);k[d>>2]=k[n>>2];o=k[d>>2]|0;r=p;return o|0}function iB(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;j=r;r=r+48|0;m=j+40|0;v=j+36|0;u=j+32|0;s=j+28|0;o=j+24|0;q=j+20|0;p=j+16|0;t=j+12|0;l=j+8|0;i=j+4|0;n=j;k[m>>2]=a;k[v>>2]=b;k[u>>2]=c;k[s>>2]=d;k[o>>2]=e;k[q>>2]=f;k[p>>2]=g;k[t>>2]=h;c=CB(k[m>>2]|0,k[v>>2]|0,k[u>>2]|0)|0;k[n>>2]=c;c=(KB(k[v>>2]|0,k[u>>2]|0,k[t>>2]|0)|0)&255;k[l>>2]=c;c=wx(k[(k[m>>2]|0)+8>>2]|0,k[s>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0,-4)|0;k[i>>2]=c;Th(k[(k[m>>2]|0)+8>>2]|0,k[l>>2]&255);r=j;return k[i>>2]|0}function jB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=HB(k[c>>2]|0,1,0)|0;r=b;return a|0}function kB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;f=z+44|0;g=z+40|0;h=z+36|0;j=z+32|0;n=z+49|0;v=z+28|0;p=z+24|0;s=z+20|0;t=z+16|0;o=z+48|0;x=z+12|0;u=z+8|0;q=z+4|0;w=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;i[n>>0]=e;i[o>>0]=(l[n>>0]&1|0)!=0?84:85;k[x>>2]=k[(k[f>>2]|0)+8>>2];k[t>>2]=k[k[g>>2]>>2];if(!(i[(k[f>>2]|0)+23>>0]|0))i[n>>0]=l[n>>0]&-3;k[v>>2]=k[(k[g>>2]|0)+4>>2];k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[t>>2]|0))break;k[u>>2]=k[k[v>>2]>>2];if((l[n>>0]&4|0)!=0?(c=m[(k[(k[g>>2]|0)+4>>2]|0)+((k[p>>2]|0)*20|0)+16>>1]|0,k[s>>2]=c,(c|0)>0):0)sx(k[x>>2]|0,l[o>>0]|0,(k[s>>2]|0)+(k[j>>2]|0)-1|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((l[n>>0]&2|0)!=0?(jB(k[u>>2]|0)|0)!=0:0){GB(k[f>>2]|0,k[u>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0,0);break}c=aB(k[f>>2]|0,k[u>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0;k[q>>2]=c;if((k[q>>2]|0)!=((k[h>>2]|0)+(k[p>>2]|0)|0)){if((((l[o>>0]|0)==84?(c=oA(k[x>>2]|0,-1)|0,k[w>>2]=c,(l[c>>0]|0)==84):0)?((k[(k[w>>2]|0)+4>>2]|0)+(k[(k[w>>2]|0)+12>>2]|0)+1|0)==(k[q>>2]|0):0)?((k[(k[w>>2]|0)+8>>2]|0)+(k[(k[w>>2]|0)+12>>2]|0)+1|0)==((k[h>>2]|0)+(k[p>>2]|0)|0):0){c=(k[w>>2]|0)+12|0;k[c>>2]=(k[c>>2]|0)+1;break}sx(k[x>>2]|0,l[o>>0]|0,k[q>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0}}while(0);k[p>>2]=(k[p>>2]|0)+1;k[v>>2]=(k[v>>2]|0)+20}r=z;return k[t>>2]|0}function lB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;e=y+52|0;f=y+48|0;g=y+44|0;h=y+40|0;n=y+36|0;s=y+32|0;t=y+28|0;p=y+24|0;v=y+20|0;o=y+16|0;q=y+12|0;u=y+8|0;x=y+4|0;w=y;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[n>>2]=d;k[v>>2]=0;k[o>>2]=0;k[u>>2]=0;if(!(k[n>>2]|0)){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}if((l[k[n>>2]>>0]|0)!=152){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}k[s>>2]=k[(k[n>>2]|0)+44>>2];if(!(k[s>>2]|0)){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}if(!(l[(k[s>>2]|0)+42>>0]&16)){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}s=(cy(k[f>>2]|0,k[s>>2]|0)|0)+8|0;k[t>>2]=k[s>>2];k[p>>2]=k[k[t>>2]>>2];if(!(k[(k[p>>2]|0)+72>>2]|0)){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}s=Ah(k[f>>2]|0,k[(k[g>>2]|0)+20>>2]|0)|0;k[x>>2]=s;if(k[x>>2]|0){k[w>>2]=k[x>>2];while(1){if(!(i[k[w>>2]>>0]|0))break;i[k[w>>2]>>0]=i[17613+(l[k[w>>2]>>0]|0)>>0]|0;k[w>>2]=(k[w>>2]|0)+1}w=hc[k[(k[p>>2]|0)+72>>2]&255](k[t>>2]|0,k[h>>2]|0,k[x>>2]|0,v,o)|0;k[u>>2]=w;bg(k[f>>2]|0,k[x>>2]|0)}if(!(k[u>>2]|0)){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}x=k[f>>2]|0;x=Ch(x,28+(Tf(k[(k[g>>2]|0)+20>>2]|0)|0)+1|0,0)|0;k[q>>2]=x;if(!(k[q>>2]|0)){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}else{w=k[q>>2]|0;x=k[g>>2]|0;k[w>>2]=k[x>>2];k[w+4>>2]=k[x+4>>2];k[w+8>>2]=k[x+8>>2];k[w+12>>2]=k[x+12>>2];k[w+16>>2]=k[x+16>>2];k[w+20>>2]=k[x+20>>2];k[w+24>>2]=k[x+24>>2];k[(k[q>>2]|0)+20>>2]=(k[q>>2]|0)+28;w=(k[q>>2]|0)+28|0;x=k[(k[g>>2]|0)+20>>2]|0;bS(w|0,x|0,(Tf(k[(k[g>>2]|0)+20>>2]|0)|0)+1|0)|0;k[(k[q>>2]|0)+12>>2]=k[v>>2];k[(k[q>>2]|0)+4>>2]=k[o>>2];x=(k[q>>2]|0)+2|0;j[x>>1]=m[x>>1]|16;k[e>>2]=k[q>>2];x=k[e>>2]|0;r=y;return x|0}return 0}function mB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=r;r=r+32|0;e=d;i=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;k[i>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=31246;c=k[i>>2]|0;a=k[h>>2]|0;b=k[g>>2]|0;k[e>>2]=k[f>>2];k[e+4>>2]=b;Oh(c,a,e);r=d;return}function nB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+176|0;e=O;H=O+168|0;I=O+164|0;J=O+160|0;K=O+156|0;v=O+152|0;L=O+148|0;M=O+144|0;N=O+140|0;f=O+136|0;w=O+132|0;s=O+128|0;C=O+124|0;o=O+120|0;u=O+116|0;q=O+112|0;m=O+88|0;n=O+80|0;p=O+76|0;x=O+172|0;y=O+72|0;t=O+68|0;B=O+64|0;D=O+60|0;E=O+56|0;F=O+52|0;A=O+48|0;z=O+44|0;j=O+40|0;g=O+16|0;h=O+12|0;k[I>>2]=a;k[J>>2]=b;k[K>>2]=c;k[v>>2]=d;k[L>>2]=-1;k[M>>2]=0;c=nx(k[I>>2]|0)|0;k[N>>2]=c;if(!(k[N>>2]|0)){k[H>>2]=0;N=k[H>>2]|0;r=O;return N|0}KA(k[I>>2]|0);if(!(k[(k[J>>2]|0)+4>>2]&32)){c=px(k[N>>2]|0,20)|0;k[L>>2]=c}if((l[(k[I>>2]|0)+409>>0]|0)==2){c=k[k[I>>2]>>2]|0;b=(l[k[J>>2]>>0]|0)==33?31209:31214;a=k[(k[I>>2]|0)+424>>2]|0;k[e>>2]=(k[L>>2]|0)>=0?18402:31197;k[e+4>>2]=b;k[e+8>>2]=a;e=Qh(c,31221,e)|0;k[f>>2]=e;wx(k[N>>2]|0,162,k[(k[I>>2]|0)+420>>2]|0,0,0,k[f>>2]|0,-1)|0}d=k[J>>2]|0;do if((l[k[J>>2]>>0]|0)==33){k[s>>2]=k[d+12>>2];k[C>>2]=0;h=mz(k[s>>2]|0)|0;k[o>>2]=h;h=(k[I>>2]|0)+40|0;j=k[h>>2]|0;k[h>>2]=j+1;k[(k[J>>2]|0)+28>>2]=j;j=sx(k[N>>2]|0,107,k[(k[J>>2]|0)+28>>2]|0,(k[v>>2]|0)!=0?0:k[o>>2]|0)|0;k[w>>2]=j;if(k[v>>2]|0)d=0;else d=sA(k[k[I>>2]>>2]|0,k[o>>2]|0,1)|0;k[C>>2]=d;d=(k[J>>2]|0)+20|0;a:do if(k[(k[J>>2]|0)+4>>2]&2048){k[u>>2]=k[d>>2];k[q>>2]=k[k[u>>2]>>2];if((k[k[q>>2]>>2]|0)==(k[o>>2]|0)){FB(m,11,k[(k[J>>2]|0)+28>>2]|0);G=wB(k[I>>2]|0,k[J>>2]|0)|0;k[m+4>>2]=G;k[(k[u>>2]|0)+12>>2]=0;G=(Zv(k[I>>2]|0,k[u>>2]|0,m)|0)!=0;bg(k[k[I>>2]>>2]|0,k[m+4>>2]|0);if(G){tA(k[C>>2]|0);k[H>>2]=0;N=k[H>>2]|0;r=O;return N|0}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[o>>2]|0))break a;G=zB(k[s>>2]|0,k[n>>2]|0)|0;k[p>>2]=G;G=CB(k[I>>2]|0,k[p>>2]|0,k[(k[(k[q>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0)|0;k[(k[C>>2]|0)+20+(k[n>>2]<<2)>>2]=G;k[n>>2]=(k[n>>2]|0)+1}}}else if(k[d>>2]|0){k[t>>2]=k[(k[J>>2]|0)+20>>2];u=oy(k[s>>2]|0)|0;i[x>>0]=u;i[x>>0]=(i[x>>0]|0)!=0?u:65;if(k[C>>2]|0){u=py(k[I>>2]|0,k[(k[J>>2]|0)+12>>2]|0)|0;k[(k[C>>2]|0)+20>>2]=u}u=Fx(k[I>>2]|0)|0;k[D>>2]=u;u=Fx(k[I>>2]|0)|0;k[E>>2]=u;if(k[v>>2]|0)sx(k[N>>2]|0,79,0,k[E>>2]|0)|0;k[y>>2]=k[k[t>>2]>>2];k[B>>2]=k[(k[t>>2]|0)+4>>2];while(1){if((k[y>>2]|0)<=0)break;k[A>>2]=k[k[B>>2]>>2];if((k[L>>2]|0)>=0?(jB(k[A>>2]|0)|0)==0:0){RA(k[N>>2]|0,k[L>>2]|0)|0;k[L>>2]=-1}if((k[v>>2]|0)!=0?(Py(k[A>>2]|0,z)|0)!=0:0)tx(k[N>>2]|0,116,k[(k[J>>2]|0)+28>>2]|0,k[E>>2]|0,k[z>>2]|0)|0;else G=30;do if((G|0)==30){G=0;d=aB(k[I>>2]|0,k[A>>2]|0,k[D>>2]|0)|0;k[F>>2]=d;d=k[N>>2]|0;b=k[F>>2]|0;if(k[v>>2]|0){sx(d,17,b,(Gx(k[N>>2]|0)|0)+2|0)|0;tx(k[N>>2]|0,115,k[(k[J>>2]|0)+28>>2]|0,k[E>>2]|0,k[F>>2]|0)|0;break}else{wx(d,99,b,1,k[E>>2]|0,x,1)|0;eB(k[I>>2]|0,k[F>>2]|0,1);sx(k[N>>2]|0,126,k[(k[J>>2]|0)+28>>2]|0,k[E>>2]|0)|0;break}}while(0);k[y>>2]=(k[y>>2]|0)+-1;k[B>>2]=(k[B>>2]|0)+20}Hx(k[I>>2]|0,k[D>>2]|0);Hx(k[I>>2]|0,k[E>>2]|0)}while(0);if(k[C>>2]|0)Wh(k[N>>2]|0,k[w>>2]|0,k[C>>2]|0,-6)}else{k[j>>2]=k[d+20>>2];if((l[k[J>>2]>>0]|0)==119)d=k[k[k[j>>2]>>2]>>2]|0;else d=1;k[h>>2]=d;FB(g,0,(k[(k[I>>2]|0)+44>>2]|0)+1|0);G=(k[I>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+(k[h>>2]|0);if((l[k[J>>2]>>0]|0)==119){i[g>>0]=10;k[g+12>>2]=k[g+8>>2];k[g+16>>2]=k[h>>2];tx(k[N>>2]|0,79,0,k[g+8>>2]|0,(k[g+8>>2]|0)+(k[h>>2]|0)-1|0)|0}else{i[g>>0]=3;sx(k[N>>2]|0,76,0,k[g+8>>2]|0)|0}sv(k[k[I>>2]>>2]|0,k[(k[j>>2]|0)+56>>2]|0);G=tw(k[k[I>>2]>>2]|0,134,4284,0)|0;k[(k[j>>2]|0)+56>>2]=G;k[(k[j>>2]|0)+12>>2]=0;G=(k[j>>2]|0)+8|0;k[G>>2]=k[G>>2]&-1025;if(!(Zv(k[I>>2]|0,k[j>>2]|0,g)|0)){k[M>>2]=k[g+8>>2];break}k[H>>2]=0;N=k[H>>2]|0;r=O;return N|0}while(0);if(k[K>>2]|0)DB(k[N>>2]|0,k[(k[J>>2]|0)+28>>2]|0,k[K>>2]|0);if((k[L>>2]|0)>=0)hA(k[N>>2]|0,k[L>>2]|0);IA(k[I>>2]|0);k[H>>2]=k[M>>2];N=k[H>>2]|0;r=O;return N|0}function oB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=r;r=r+128|0;q=L+120|0;s=L+116|0;t=L+112|0;u=L+108|0;I=L+104|0;p=L+100|0;G=L+96|0;H=L+92|0;J=L+88|0;x=L+84|0;K=L+80|0;B=L+76|0;E=L+68|0;A=L+64|0;e=L+60|0;z=L+56|0;w=L+52|0;y=L+48|0;v=L+44|0;l=L+40|0;j=L+36|0;g=L+32|0;m=L+28|0;o=L+24|0;n=L+20|0;f=L+16|0;h=L+12|0;C=L+8|0;D=L+4|0;F=L;k[q>>2]=a;k[s>>2]=b;k[t>>2]=c;k[u>>2]=d;k[I>>2]=0;k[x>>2]=0;k[K>>2]=0;k[z>>2]=0;k[E>>2]=k[(k[s>>2]|0)+12>>2];if(vB(k[q>>2]|0,k[s>>2]|0)|0){r=L;return}a=wB(k[q>>2]|0,k[s>>2]|0)|0;k[K>>2]=a;a=mz(k[(k[s>>2]|0)+12>>2]|0)|0;k[B>>2]=a;a=Ch(k[k[q>>2]>>2]|0,((k[B>>2]|0)*5|0)+1|0,0)|0;k[x>>2]=a;if(!(i[(k[k[q>>2]>>2]|0)+69>>0]|0)){k[J>>2]=k[(k[q>>2]|0)+8>>2];a=xB(k[q>>2]|0,k[s>>2]|0,3,(k[t>>2]|0)==(k[u>>2]|0)?0:I,k[x>>2]|0)|0;k[p>>2]=a;KA(k[q>>2]|0);a=qB(k[q>>2]|0,k[E>>2]|0,L+72|0)|0;k[H>>2]=a;k[A>>2]=0;while(1){if((k[A>>2]|0)>=(k[B>>2]|0))break;if((k[(k[x>>2]|0)+(k[A>>2]<<2)>>2]|0)!=(k[A>>2]|0))break;k[A>>2]=(k[A>>2]|0)+1}a:do if((k[A>>2]|0)==(k[B>>2]|0))k[G>>2]=k[H>>2];else{a=MA(k[q>>2]|0,k[B>>2]|0)|0;k[G>>2]=a;k[A>>2]=0;while(1){if((k[A>>2]|0)>=(k[B>>2]|0))break a;tx(k[J>>2]|0,84,(k[H>>2]|0)+(k[A>>2]|0)|0,(k[G>>2]|0)+(k[(k[x>>2]|0)+(k[A>>2]<<2)>>2]|0)|0,0)|0;k[A>>2]=(k[A>>2]|0)+1}}while(0);b:do if((k[p>>2]|0)==5){k[l>>2]=k[(k[s>>2]|0)+20>>2];I=py(k[q>>2]|0,k[(k[s>>2]|0)+12>>2]|0)|0;k[j>>2]=I;I=eA(k[J>>2]|0)|0;k[g>>2]=I;k[n>>2]=0;if((k[u>>2]|0)!=(k[t>>2]|0)){I=Fx(k[q>>2]|0)|0;k[n>>2]=I;tx(k[J>>2]|0,43,k[G>>2]|0,k[G>>2]|0,k[n>>2]|0)|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[l>>2]>>2]|0))break;I=hB(k[q>>2]|0,k[(k[(k[l>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0,o)|0;k[m>>2]=I;if((k[n>>2]|0)!=0?(yB(k[(k[(k[l>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0)!=0:0)tx(k[J>>2]|0,43,k[n>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;if((k[f>>2]|0)>=((k[k[l>>2]>>2]|0)-1|0)?(k[u>>2]|0)==(k[t>>2]|0):0){wx(k[J>>2]|0,36,k[G>>2]|0,k[t>>2]|0,k[m>>2]|0,k[j>>2]|0,-4)|0;Th(k[J>>2]|0,(i[k[K>>2]>>0]|16)&255)}else{wx(k[J>>2]|0,37,k[G>>2]|0,k[g>>2]|0,k[m>>2]|0,k[j>>2]|0,-4)|0;Th(k[J>>2]|0,i[k[K>>2]>>0]|0)}Hx(k[q>>2]|0,k[o>>2]|0);k[f>>2]=(k[f>>2]|0)+1}if(k[n>>2]|0){sx(k[J>>2]|0,34,k[n>>2]|0,k[u>>2]|0)|0;gA(k[J>>2]|0,k[t>>2]|0)|0}iA(k[J>>2]|0,k[g>>2]|0);Hx(k[q>>2]|0,k[n>>2]|0)}else{if((k[u>>2]|0)==(k[t>>2]|0))k[e>>2]=k[t>>2];else{o=eA(k[J>>2]|0)|0;k[z>>2]=o;k[e>>2]=o}k[A>>2]=0;while(1){if((k[A>>2]|0)>=(k[B>>2]|0))break;o=zB(k[(k[s>>2]|0)+12>>2]|0,k[A>>2]|0)|0;k[h>>2]=o;if(yB(k[h>>2]|0)|0)sx(k[J>>2]|0,34,(k[G>>2]|0)+(k[A>>2]|0)|0,k[e>>2]|0)|0;k[A>>2]=(k[A>>2]|0)+1}c=k[J>>2]|0;do if((k[p>>2]|0)!=1){wx(c,98,k[G>>2]|0,k[B>>2]|0,0,k[K>>2]|0,k[B>>2]|0)|0;c=k[J>>2]|0;d=k[(k[s>>2]|0)+28>>2]|0;if((k[t>>2]|0)==(k[u>>2]|0)){Sh(c,30,d,k[t>>2]|0,k[G>>2]|0,k[B>>2]|0)|0;break b}else{p=Sh(c,31,d,0,k[G>>2]|0,k[B>>2]|0)|0;k[w>>2]=p;break}}else{tx(c,32,k[(k[s>>2]|0)+28>>2]|0,k[t>>2]|0,k[G>>2]|0)|0;p=px(k[J>>2]|0,13)|0;k[w>>2]=p}while(0);if((k[I>>2]|0)!=0&(k[B>>2]|0)==1)sx(k[J>>2]|0,35,k[I>>2]|0,k[t>>2]|0)|0;if((k[t>>2]|0)==(k[u>>2]|0))gA(k[J>>2]|0,k[t>>2]|0)|0;if(k[z>>2]|0)iA(k[J>>2]|0,k[z>>2]|0);I=sx(k[J>>2]|0,57,k[(k[s>>2]|0)+28>>2]|0,k[t>>2]|0)|0;k[v>>2]=I;if((k[B>>2]|0)>1){I=eA(k[J>>2]|0)|0;k[y>>2]=I}else k[y>>2]=k[t>>2];k[A>>2]=0;while(1){if((k[A>>2]|0)>=(k[B>>2]|0))break;I=Fx(k[q>>2]|0)|0;k[F>>2]=I;I=zB(k[E>>2]|0,k[A>>2]|0)|0;k[C>>2]=I;I=py(k[q>>2]|0,k[C>>2]|0)|0;k[D>>2]=I;tx(k[J>>2]|0,96,k[(k[s>>2]|0)+28>>2]|0,k[A>>2]|0,k[F>>2]|0)|0;wx(k[J>>2]|0,36,(k[G>>2]|0)+(k[A>>2]|0)|0,k[y>>2]|0,k[F>>2]|0,k[D>>2]|0,-4)|0;Hx(k[q>>2]|0,k[F>>2]|0);k[A>>2]=(k[A>>2]|0)+1}sx(k[J>>2]|0,13,0,k[u>>2]|0)|0;if((k[B>>2]|0)>1){iA(k[J>>2]|0,k[y>>2]|0);sx(k[J>>2]|0,7,k[(k[s>>2]|0)+28>>2]|0,(k[v>>2]|0)+1|0)|0;sx(k[J>>2]|0,13,0,k[t>>2]|0)|0}hA(k[J>>2]|0,k[w>>2]|0)}while(0);if((k[G>>2]|0)!=(k[H>>2]|0))Hx(k[q>>2]|0,k[G>>2]|0);IA(k[q>>2]|0)}bg(k[k[q>>2]>>2]|0,k[x>>2]|0);bg(k[k[q>>2]>>2]|0,k[K>>2]|0);r=L;return}function pB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;f=s+216|0;g=s+212|0;h=s+208|0;j=s+204|0;l=s+200|0;o=s+152|0;m=s+104|0;n=s+56|0;p=s+8|0;q=s;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[q>>2]=0;c=m;b=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));c=n;b=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));c=o;b=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));c=p;e=k[(k[g>>2]|0)+12>>2]|0;b=c+48|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(b|0));i[o>>0]=28;k[o+12>>2]=m;k[o+16>>2]=n;i[m>>0]=41;k[m+12>>2]=p;k[m+16>>2]=k[k[(k[(k[g>>2]|0)+20>>2]|0)+4>>2]>>2];i[n>>0]=39;k[n+12>>2]=p;k[n+16>>2]=k[(k[(k[(k[g>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];rB(p,qB(k[f>>2]|0,p,q)|0);if(k[j>>2]|0){ic[k[j>>2]&255](k[f>>2]|0,o,k[h>>2]|0,k[l>>2]|0);p=k[f>>2]|0;q=k[q>>2]|0;Hx(p,q);r=s;return}else{p=p+4|0;k[p>>2]=k[p>>2]|1;aB(k[f>>2]|0,o,k[h>>2]|0)|0;p=k[f>>2]|0;q=k[q>>2]|0;Hx(p,q);r=s;return}}function qB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+16|0;d=j+12|0;h=j+8|0;i=j+4|0;g=j;k[e>>2]=a;k[f>>2]=b;k[d>>2]=c;c=mz(k[f>>2]|0)|0;k[i>>2]=c;if((k[i>>2]|0)==1){i=hB(k[e>>2]|0,k[f>>2]|0,k[d>>2]|0)|0;k[h>>2]=i;i=k[h>>2]|0;r=j;return i|0}k[k[d>>2]>>2]=0;d=k[e>>2]|0;if((l[k[f>>2]>>0]|0|0)==119){i=nB(d,k[f>>2]|0,0,0)|0;k[h>>2]=i;i=k[h>>2]|0;r=j;return i|0}k[h>>2]=(k[d+44>>2]|0)+1;c=(k[e>>2]|0)+44|0;k[c>>2]=(k[c>>2]|0)+(k[i>>2]|0);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[i>>2]|0))break;$A(k[e>>2]|0,k[(k[(k[(k[f>>2]|0)+20>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2]|0,(k[g>>2]|0)+(k[h>>2]|0)|0);k[g>>2]=(k[g>>2]|0)+1}i=k[h>>2]|0;r=j;return i|0}function rB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[(k[d>>2]|0)+38>>0]=i[k[d>>2]>>0]|0;i[k[d>>2]>>0]=-99;k[(k[d>>2]|0)+28>>2]=k[e>>2];a=(k[d>>2]|0)+4|0;k[a>>2]=k[a>>2]&-4097;r=c;return}function sB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;e=u+44|0;f=u+40|0;g=u+36|0;h=u+32|0;s=u+28|0;m=u+24|0;p=u+20|0;q=u+16|0;n=u+12|0;o=u+8|0;i=u+4|0;j=u;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[s>>2]=k[(k[e>>2]|0)+8>>2];k[m>>2]=0;k[p>>2]=0;k[q>>2]=0;if((k[s>>2]|0)==0|(k[f>>2]|0)==0){r=u;return}k[m>>2]=((l[k[f>>2]>>0]|0)+0^1)-0;a:do switch(l[k[f>>2]>>0]|0|0){case 28:{sB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);KA(k[e>>2]|0);sB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);IA(k[e>>2]|0);break}case 27:{o=eA(k[s>>2]|0)|0;k[i>>2]=o;tB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]^16);KA(k[e>>2]|0);sB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);iA(k[s>>2]|0,k[i>>2]|0);IA(k[e>>2]|0);break}case 19:{tB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);break}case 148:case 29:{k[m>>2]=(l[k[f>>2]>>0]|0|0)==29?36:37;k[h>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{o=hB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,p)|0;k[n>>2]=o;sx(k[s>>2]|0,k[m>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;break}case 32:{pB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,133,k[h>>2]|0);break}case 33:if(k[h>>2]|0){oB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[g>>2]|0);break a}else{o=eA(k[s>>2]|0)|0;k[j>>2]=o;oB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[j>>2]|0);iA(k[s>>2]|0,k[j>>2]|0);break a}default:t=14}while(0);if((t|0)==7)if(fB(k[(k[f>>2]|0)+12>>2]|0)|0)t=14;else{s=hB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,p)|0;k[n>>2]=s;s=hB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,q)|0;k[o>>2]=s;iB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[g>>2]|0,k[h>>2]|0)|0}do if((t|0)==14){if(Hz(k[f>>2]|0)|0){gA(k[s>>2]|0,k[g>>2]|0)|0;break}if(!(uB(k[f>>2]|0)|0)){t=hB(k[e>>2]|0,k[f>>2]|0,p)|0;k[n>>2]=t;tx(k[s>>2]|0,22,k[n>>2]|0,k[g>>2]|0,(k[h>>2]|0)!=0&1)|0}}while(0);Hx(k[e>>2]|0,k[p>>2]|0);Hx(k[e>>2]|0,k[q>>2]|0);r=u;return}function tB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;e=v+48|0;f=v+44|0;g=v+40|0;h=v+36|0;t=v+32|0;n=v+28|0;q=v+24|0;s=v+20|0;o=v+16|0;p=v+12|0;i=v+8|0;j=v+4|0;m=v;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[t>>2]=k[(k[e>>2]|0)+8>>2];k[n>>2]=0;k[q>>2]=0;k[s>>2]=0;if((k[t>>2]|0)==0|(k[f>>2]|0)==0){r=v;return}k[n>>2]=l[k[f>>2]>>0];switch(k[n>>2]|0){case 28:{p=eA(k[t>>2]|0)|0;k[i>>2]=p;sB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]^16);KA(k[e>>2]|0);tB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);iA(k[t>>2]|0,k[i>>2]|0);IA(k[e>>2]|0);break}case 27:{tB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);KA(k[e>>2]|0);tB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);IA(k[e>>2]|0);break}case 19:{sB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);break}case 148:case 29:{k[n>>2]=(k[n>>2]|0)==29?37:36;k[h>>2]=128;u=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{u=7;break}case 35:case 34:{p=hB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,q)|0;k[o>>2]=p;sx(k[t>>2]|0,k[n>>2]|0,k[o>>2]|0,k[g>>2]|0)|0;break}case 32:{pB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,134,k[h>>2]|0);break}case 33:{p=eA(k[t>>2]|0)|0;k[j>>2]=p;k[m>>2]=(k[h>>2]|0)!=0?k[g>>2]|0:k[j>>2]|0;oB(k[e>>2]|0,k[f>>2]|0,k[j>>2]|0,k[m>>2]|0);gA(k[t>>2]|0,k[g>>2]|0)|0;iA(k[t>>2]|0,k[j>>2]|0);break}default:u=12}if((u|0)==7)if(fB(k[(k[f>>2]|0)+12>>2]|0)|0)u=12;else{t=hB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,q)|0;k[o>>2]=t;t=hB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,s)|0;k[p>>2]=t;iB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[g>>2]|0,k[h>>2]|0)|0}do if((u|0)==12){if(uB(k[f>>2]|0)|0){gA(k[t>>2]|0,k[g>>2]|0)|0;break}if(!(Hz(k[f>>2]|0)|0)){u=hB(k[e>>2]|0,k[f>>2]|0,q)|0;k[o>>2]=u;tx(k[t>>2]|0,21,k[o>>2]|0,k[g>>2]|0,(k[h>>2]|0)!=0&1)|0}}while(0);Hx(k[e>>2]|0,k[q>>2]|0);Hx(k[e>>2]|0,k[s>>2]|0);r=v;return}function uB(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;do if(!(k[(k[c>>2]|0)+4>>2]&1))if(Py(k[c>>2]|0,d)|0){k[b>>2]=(k[d>>2]|0)!=0&1;break}else{k[b>>2]=0;break}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function vB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h;d=h+16|0;c=h+12|0;e=h+8|0;f=h+4|0;k[c>>2]=a;k[e>>2]=b;b=mz(k[(k[e>>2]|0)+12>>2]|0)|0;k[f>>2]=b;b=k[f>>2]|0;if(k[(k[e>>2]|0)+4>>2]&2048){if((b|0)!=(k[k[k[(k[e>>2]|0)+20>>2]>>2]>>2]|0)){mB(k[c>>2]|0,k[k[k[(k[e>>2]|0)+20>>2]>>2]>>2]|0,k[f>>2]|0);k[d>>2]=1;g=k[d>>2]|0;r=h;return g|0}}else if((b|0)!=1){b=k[c>>2]|0;if(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]&2048)mB(b,k[f>>2]|0,1);else Oh(b,29838,g);k[d>>2]=1;g=k[d>>2]|0;r=h;return g|0}k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}function wB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;d=n+28|0;c=n+24|0;j=n+20|0;g=n+16|0;l=n+12|0;m=n+8|0;f=n+4|0;h=n;e=n+32|0;k[d>>2]=a;k[c>>2]=b;k[j>>2]=k[(k[c>>2]|0)+12>>2];a=mz(k[j>>2]|0)|0;k[g>>2]=a;if(k[(k[c>>2]|0)+4>>2]&2048)c=k[(k[c>>2]|0)+20>>2]|0;else c=0;k[l>>2]=c;a=(k[g>>2]|0)+1|0;d=Ch(k[k[d>>2]>>2]|0,a,((a|0)<0)<<31>>31)|0;k[m>>2]=d;if(!(k[m>>2]|0)){m=k[m>>2]|0;r=n;return m|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break;d=zB(k[j>>2]|0,k[f>>2]|0)|0;k[h>>2]=d;d=oy(k[h>>2]|0)|0;i[e>>0]=d;if(k[l>>2]|0){d=BB(k[(k[(k[k[l>>2]>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0,i[e>>0]|0)|0;i[(k[m>>2]|0)+(k[f>>2]|0)>>0]=d}else i[(k[m>>2]|0)+(k[f>>2]|0)>>0]=i[e>>0]|0;k[f>>2]=(k[f>>2]|0)+1}i[(k[m>>2]|0)+(k[g>>2]|0)>>0]=0;m=k[m>>2]|0;r=n;return m|0}function xB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+160|0;W=X+16|0;f=X+140|0;g=X+136|0;h=X+132|0;n=X+128|0;o=X+124|0;J=X+120|0;u=X+116|0;C=X+112|0;G=X+108|0;V=X+104|0;v=X+100|0;K=X+96|0;t=X+92|0;S=X+88|0;B=X+144|0;M=X+84|0;I=X+80|0;y=X+76|0;N=X+72|0;p=X+68|0;w=X+64|0;O=X+60|0;A=X+56|0;D=X+147|0;q=X+146|0;s=X+8|0;F=X;P=X+52|0;R=X+48|0;Q=X+44|0;E=X+40|0;z=X+36|0;U=X+32|0;T=X+28|0;x=X+24|0;H=X+20|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[n>>2]=d;k[o>>2]=e;k[u>>2]=0;b=(k[f>>2]|0)+40|0;d=k[b>>2]|0;k[b>>2]=d+1;k[C>>2]=d;d=nx(k[f>>2]|0)|0;k[V>>2]=d;k[G>>2]=(k[h>>2]&4|0)!=0&1;if((k[n>>2]|0)!=0?(k[(k[g>>2]|0)+4>>2]&2048|0)!=0:0){k[K>>2]=k[k[(k[g>>2]|0)+20>>2]>>2];k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[k[K>>2]>>2]|0))break;if(yB(k[(k[(k[K>>2]|0)+4>>2]|0)+((k[v>>2]|0)*20|0)>>2]|0)|0)break;k[v>>2]=(k[v>>2]|0)+1}if((k[v>>2]|0)==(k[k[K>>2]>>2]|0))k[n>>2]=0}a:do if((k[(k[f>>2]|0)+36>>2]|0)==0?(d=AB(k[g>>2]|0)|0,k[J>>2]=d,(d|0)!=0):0){k[t>>2]=k[k[f>>2]>>2];k[M>>2]=k[k[J>>2]>>2];k[I>>2]=k[k[M>>2]>>2];k[S>>2]=k[(k[(k[J>>2]|0)+28>>2]|0)+8+16>>2];d=(Ph(k[t>>2]|0,k[(k[S>>2]|0)+64>>2]|0)|0)&65535;j[B>>1]=d;Cx(k[f>>2]|0,j[B>>1]|0);bA(k[f>>2]|0,j[B>>1]|0,k[(k[S>>2]|0)+28>>2]|0,0,k[k[S>>2]>>2]|0);if((k[I>>2]|0)==1?(j[(k[k[(k[M>>2]|0)+4>>2]>>2]|0)+32>>1]|0)<0:0){W=px(k[V>>2]|0,20)|0;k[y>>2]=W;cA(k[f>>2]|0,k[C>>2]|0,j[B>>1]|0,k[S>>2]|0,104);k[u>>2]=1;hA(k[V>>2]|0,k[y>>2]|0);break}k[p>>2]=1;k[w>>2]=0;while(1){if(!((k[w>>2]|0)<(k[I>>2]|0)?(k[p>>2]|0)!=0:0))break;d=zB(k[(k[g>>2]|0)+12>>2]|0,k[w>>2]|0)|0;k[O>>2]=d;k[A>>2]=j[(k[(k[(k[M>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)>>2]|0)+32>>1];d=vy(k[S>>2]|0,k[A>>2]|0)|0;i[D>>0]=d;d=BB(k[O>>2]|0,i[D>>0]|0)|0;i[q>>0]=d;if(((i[q>>0]|0)+-65|0)>>>0>=2)k[p>>2]=(i[D>>0]|0)>=67&1;k[w>>2]=(k[w>>2]|0)+1}if(k[p>>2]|0){k[N>>2]=k[(k[S>>2]|0)+8>>2];while(1){if(!((k[N>>2]|0)!=0?(k[u>>2]|0)==0:0))break a;do if((m[(k[N>>2]|0)+52>>1]|0)>=(k[I>>2]|0)?(m[(k[N>>2]|0)+52>>1]|0)<63:0){if(k[G>>2]|0){if((m[(k[N>>2]|0)+50>>1]|0)>(k[I>>2]|0))break;if((m[(k[N>>2]|0)+52>>1]|0)>(k[I>>2]|0)?(l[(k[N>>2]|0)+54>>0]|0)==0:0)break}d=s;k[d>>2]=0;k[d+4>>2]=0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[I>>2]|0))break;d=zB(k[(k[g>>2]|0)+12>>2]|0,k[w>>2]|0)|0;k[P>>2]=d;k[R>>2]=k[(k[(k[M>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)>>2];d=CB(k[f>>2]|0,k[P>>2]|0,k[R>>2]|0)|0;k[Q>>2]=d;k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[I>>2]|0))break;if((j[(k[(k[N>>2]|0)+4>>2]|0)+(k[E>>2]<<1)>>1]|0)==(j[(k[R>>2]|0)+32>>1]|0)){if(!(k[Q>>2]|0))break;if(!(sg(k[k[Q>>2]>>2]|0,k[(k[(k[N>>2]|0)+32>>2]|0)+(k[E>>2]<<2)>>2]|0)|0))break}k[E>>2]=(k[E>>2]|0)+1}if((k[E>>2]|0)==(k[I>>2]|0))break;d=eS(1,0,k[E>>2]|0)|0;b=F;k[b>>2]=d;k[b+4>>2]=L;b=F;d=s;if((k[b>>2]&k[d>>2]|0)!=0?1:(k[b+4>>2]&k[d+4>>2]|0)!=0)break;S=F;a=s;b=k[a+4>>2]|k[S+4>>2];d=s;k[d>>2]=k[a>>2]|k[S>>2];k[d+4>>2]=b;if(k[o>>2]|0)k[(k[o>>2]|0)+(k[w>>2]<<2)>>2]=k[E>>2];k[w>>2]=(k[w>>2]|0)+1}d=s;S=k[d>>2]|0;d=k[d+4>>2]|0;b=eS(1,0,k[I>>2]|0)|0;b=_R(b|0,L|0,1,0)|0;if((S|0)==(b|0)&(d|0)==(L|0)){b=px(k[V>>2]|0,20)|0;k[z>>2]=b;b=k[V>>2]|0;d=k[t>>2]|0;k[W>>2]=k[k[N>>2]>>2];wx(b,162,0,0,0,Qh(d,31166,W)|0,-1)|0;tx(k[V>>2]|0,104,k[C>>2]|0,k[(k[N>>2]|0)+44>>2]|0,j[B>>1]|0)|0;dA(k[f>>2]|0,k[N>>2]|0);k[u>>2]=3+(l[k[(k[N>>2]|0)+28>>2]>>0]|0);if((k[n>>2]|0)!=0?(b=(k[f>>2]|0)+44|0,d=(k[b>>2]|0)+1|0,k[b>>2]=d,k[k[n>>2]>>2]=d,(k[I>>2]|0)==1):0)DB(k[V>>2]|0,k[C>>2]|0,k[k[n>>2]>>2]|0);hA(k[V>>2]|0,k[z>>2]|0)}}while(0);k[N>>2]=k[(k[N>>2]|0)+20>>2]}}}while(0);do if(((k[u>>2]|0)==0?(k[h>>2]&1|0)!=0:0)?(k[(k[g>>2]|0)+4>>2]&2048|0)==0:0){if((EB(k[g>>2]|0)|0)!=0?(k[k[(k[g>>2]|0)+20>>2]>>2]|0)>2:0)break;k[u>>2]=5}while(0);if(!(k[u>>2]|0)){k[U>>2]=k[(k[f>>2]|0)+136>>2];k[T>>2]=0;k[u>>2]=2;if(k[h>>2]&4){k[(k[f>>2]|0)+136>>2]=0;if((j[(k[(k[g>>2]|0)+12>>2]|0)+32>>1]|0)<0?(k[(k[g>>2]|0)+4>>2]&2048|0)==0:0)k[u>>2]=1}else if(k[n>>2]|0){V=(k[f>>2]|0)+44|0;W=(k[V>>2]|0)+1|0;k[V>>2]=W;k[T>>2]=W;k[k[n>>2]>>2]=W}nB(k[f>>2]|0,k[g>>2]|0,k[T>>2]|0,(k[u>>2]|0)==1&1)|0;k[(k[f>>2]|0)+136>>2]=k[U>>2]}else k[(k[g>>2]|0)+28>>2]=k[C>>2];if(!((k[o>>2]|0)!=0&(k[u>>2]|0)!=3&(k[u>>2]|0)!=4)){W=k[u>>2]|0;r=X;return W|0}W=mz(k[(k[g>>2]|0)+12>>2]|0)|0;k[H>>2]=W;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[H>>2]|0))break;k[(k[o>>2]|0)+(k[x>>2]<<2)>>2]=k[x>>2];k[x>>2]=(k[x>>2]|0)+1}W=k[u>>2]|0;r=X;return W|0}function yB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+4|0;c=f;d=f+8|0;k[c>>2]=a;while(1){if((l[k[c>>2]>>0]|0)==156)b=1;else b=(l[k[c>>2]>>0]|0)==155;a=k[c>>2]|0;if(!b)break;k[c>>2]=k[a+12>>2]}i[d>>0]=i[a>>0]|0;if((l[d>>0]|0)==157)i[d>>0]=i[(k[c>>2]|0)+38>>0]|0;switch(l[d>>0]|0){case 133:case 132:case 97:case 134:{k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}case 152:{if(!(k[(k[c>>2]|0)+4>>2]&1048576))if((j[(k[c>>2]|0)+32>>1]|0)>=0)a=(l[(k[(k[(k[c>>2]|0)+44>>2]|0)+4>>2]|0)+(j[(k[c>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else a=0;else a=1;k[e>>2]=a&1;e=k[e>>2]|0;r=f;return e|0}default:{k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}}return 0}function zB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=(fB(k[d>>2]|0)|0)!=0;b=k[d>>2]|0;if(!a){k[c>>2]=b;e=k[c>>2]|0;r=f;return e|0}if((l[b>>0]|0|0)!=119?(l[(k[d>>2]|0)+38>>0]|0|0)!=119:0){k[c>>2]=k[(k[(k[(k[d>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2];e=k[c>>2]|0;r=f;return e|0}k[c>>2]=k[(k[(k[k[(k[d>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2];e=k[c>>2]|0;r=f;return e|0}function AB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j+28|0;b=j+24|0;i=j+20|0;f=j+16|0;d=j+12|0;g=j+8|0;c=j+4|0;e=j;k[b>>2]=a;do if(k[(k[b>>2]|0)+4>>2]&2048){if(k[(k[b>>2]|0)+4>>2]&32){k[h>>2]=0;break}k[i>>2]=k[(k[b>>2]|0)+20>>2];if(k[(k[i>>2]|0)+48>>2]|0){k[h>>2]=0;break}if(k[(k[i>>2]|0)+8>>2]&9){k[h>>2]=0;break}if(k[(k[i>>2]|0)+56>>2]|0){k[h>>2]=0;break}if(k[(k[i>>2]|0)+32>>2]|0){k[h>>2]=0;break}k[f>>2]=k[(k[i>>2]|0)+28>>2];if((k[k[f>>2]>>2]|0)!=1){k[h>>2]=0;break}if(k[(k[f>>2]|0)+8+20>>2]|0){k[h>>2]=0;break}k[g>>2]=k[(k[f>>2]|0)+8+16>>2];if((l[(k[g>>2]|0)+42>>0]|0)&16){k[h>>2]=0;break}k[d>>2]=k[k[i>>2]>>2];k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[d>>2]>>2]|0)){b=24;break}k[e>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2];if((l[k[e>>2]>>0]|0|0)!=152){b=22;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==22){k[h>>2]=0;break}else if((b|0)==24){k[h>>2]=k[i>>2];break}}else k[h>>2]=0;while(0);r=j;return k[h>>2]|0}function BB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+6|0;g=f;d=f+5|0;e=f+4|0;k[g>>2]=a;i[d>>0]=b;a=oy(k[g>>2]|0)|0;i[e>>0]=a;if((i[e>>0]|0)!=0?(i[d>>0]|0)!=0:0){if((i[e>>0]|0)<67?(i[d>>0]|0)<67:0){i[c>>0]=65;g=i[c>>0]|0;r=f;return g|0}i[c>>0]=67;g=i[c>>0]|0;r=f;return g|0}if((i[e>>0]|0)!=0|(i[d>>0]|0)!=0){i[c>>0]=(i[e>>0]|0)+(i[d>>0]|0);g=i[c>>0]|0;r=f;return g|0}else{i[c>>0]=65;g=i[c>>0]|0;r=f;return g|0}return 0}function CB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+4>>2]&256){c=py(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+4>>2]&256|0)!=0:0){c=py(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}c=py(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){c=k[g>>2]|0;r=h;return c|0}c=py(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}function DB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;f=d+12|0;h=d+8|0;g=d+4|0;e=d;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;sx(k[f>>2]|0,76,0,k[g>>2]|0)|0;a=aA(k[f>>2]|0,57,k[h>>2]|0)|0;k[e>>2]=a;tx(k[f>>2]|0,96,k[h>>2]|0,0,k[g>>2]|0)|0;Th(k[f>>2]|0,-128);hA(k[f>>2]|0,k[e>>2]|0);r=d;return}function EB(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;d=c+8|0;e=c+4|0;b=c;k[d>>2]=a;k[e>>2]=k[(k[d>>2]|0)+12>>2];k[(k[d>>2]|0)+12>>2]=0;a=jB(k[d>>2]|0)|0;k[b>>2]=a;k[(k[d>>2]|0)+12>>2]=k[e>>2];r=c;return k[b>>2]|0}function FB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;i[k[e>>2]>>0]=k[g>>2];k[(k[e>>2]|0)+8>>2]=k[f>>2];k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=0;k[(k[e>>2]|0)+16>>2]=0;r=d;return}function GB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0;m=r;r=r+32|0;e=m+16|0;n=m+12|0;f=m+8|0;g=m+20|0;h=m+4|0;j=m;k[e>>2]=a;k[n>>2]=b;k[f>>2]=c;i[g>>0]=d;k[h>>2]=k[(k[e>>2]|0)+80>>2];d=Sy(k[k[e>>2]>>2]|0,k[n>>2]|0,0)|0;k[n>>2]=d;d=bw(k[e>>2]|0,k[h>>2]|0,k[n>>2]|0)|0;k[h>>2]=d;if(!(k[h>>2]|0)){d=k[h>>2]|0;n=k[e>>2]|0;n=n+80|0;k[n>>2]=d;r=m;return}k[j>>2]=(k[(k[h>>2]|0)+4>>2]|0)+(((k[k[h>>2]>>2]|0)-1|0)*20|0);k[(k[j>>2]|0)+16>>2]=k[f>>2];d=(k[j>>2]|0)+13|0;i[d>>0]=i[d>>0]&-5|((l[g>>0]|0)&1)<<2&255;d=k[h>>2]|0;n=k[e>>2]|0;n=n+80|0;k[n>>2]=d;r=m;return}function HB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;f=e+36|0;h=e+32|0;g=e+28|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+20>>0]=k[h>>2];k[d+4>>2]=197;k[d+8>>2]=198;k[d+24>>2]=k[g>>2];Gy(d,k[f>>2]|0)|0;r=e;return l[d+20>>0]|0|0}function IB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+8|0;d=g+4|0;e=g;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+20>>0]|0|0)==2?(k[(k[e>>2]|0)+4>>2]&1|0)!=0:0){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2}else f=4;a:do if((f|0)==4){b:do switch(l[k[e>>2]>>0]|0|0){case 151:{if((l[(k[d>>2]|0)+20>>0]|0|0)<4?(k[(k[e>>2]|0)+4>>2]&524288|0)==0:0){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}k[c>>2]=0;break a}case 154:case 153:case 152:case 55:{if((l[(k[d>>2]|0)+20>>0]|0|0)==3?(k[(k[e>>2]|0)+28>>2]|0)==(k[(k[d>>2]|0)+24>>2]|0):0){k[c>>2]=0;break a}i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}case 135:{if((l[(k[d>>2]|0)+20>>0]|0|0)==5){i[k[e>>2]>>0]=101;break b}if((l[(k[d>>2]|0)+20>>0]|0|0)==4){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}break}default:{}}while(0);k[c>>2]=0}while(0);r=g;return k[c>>2]|0}function JB(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;i[(k[d>>2]|0)+20>>0]=0;r=c;return 2}function KB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+8|0;h=e+4|0;f=e;d=e+12|0;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;b=oy(k[h>>2]|0)|0;i[d>>0]=b;b=(BB(k[g>>2]|0,i[d>>0]|0)|0)&255;i[d>>0]=b|k[f>>2]&255;r=e;return i[d>>0]|0}function LB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=HB(k[c>>2]|0,2,0)|0;r=b;return a|0}function MB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((l[k[d>>2]>>0]|0|0)!=119){e=k[e>>2]|0;r=f;return e|0}a=nB(k[c>>2]|0,k[d>>2]|0,0,0)|0;k[e>>2]=a;e=k[e>>2]|0;r=f;return e|0}function NB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;h=s+24|0;j=s+20|0;g=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;q=s+28|0;k[j>>2]=a;k[g>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;i[q>>0]=i[k[g>>2]>>0]|0;if((l[q>>0]|0|0)==157){q=zB(k[g>>2]|0,k[m>>2]|0)|0;k[k[o>>2]>>2]=q;k[h>>2]=(k[(k[g>>2]|0)+28>>2]|0)+(k[m>>2]|0);q=k[h>>2]|0;r=s;return q|0}a=k[m>>2]|0;c=(k[g>>2]|0)+20|0;if((l[q>>0]|0|0)==119){k[k[o>>2]>>2]=k[(k[(k[k[c>>2]>>2]|0)+4>>2]|0)+(a*20|0)>>2];k[h>>2]=(k[n>>2]|0)+(k[m>>2]|0);q=k[h>>2]|0;r=s;return q|0}else{k[k[o>>2]>>2]=k[(k[(k[c>>2]|0)+4>>2]|0)+(a*20|0)>>2];q=hB(k[j>>2]|0,k[k[o>>2]>>2]|0,k[p>>2]|0)|0;k[h>>2]=q;q=k[h>>2]|0;r=s;return q|0}return 0}function OB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;h=s+28|0;j=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;f=dx(_A(k[h>>2]|0)|0,8,0)|0;k[q>>2]=f;if(k[q>>2]|0){f=k[q>>2]|0;g=k[o>>2]|0;i[f>>0]=i[g>>0]|0;i[f+1>>0]=i[g+1>>0]|0;i[f+2>>0]=i[g+2>>0]|0;i[f+3>>0]=i[g+3>>0]|0;i[f+4>>0]=i[g+4>>0]|0;i[f+5>>0]=i[g+5>>0]|0;i[f+6>>0]=i[g+6>>0]|0;i[f+7>>0]=i[g+7>>0]|0}f=wx(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[q>>2]|0,k[p>>2]|0)|0;r=s;return f|0}function PB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=(k[c>>2]|0)+152;while(1){if((k[e>>2]|0)>=(l[(k[c>>2]|0)+25>>0]|0|0))break;if((k[(k[f>>2]|0)+12>>2]|0)==(k[d>>2]|0))i[(k[f>>2]|0)+6>>0]=0;k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}r=g;return}function QB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;e=s+28|0;f=s+24|0;g=s+20|0;h=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((m[(k[k[e>>2]>>2]|0)+64>>1]|0)&2){r=s;return}if((l[(k[e>>2]|0)+25>>0]|0|0)>=10){k[p>>2]=2147483647;k[o>>2]=-1;k[n>>2]=0;k[q>>2]=(k[e>>2]|0)+152;while(1){if((k[n>>2]|0)>=10)break;if((k[(k[q>>2]|0)+16>>2]|0)<(k[p>>2]|0)){k[o>>2]=k[n>>2];k[p>>2]=k[(k[q>>2]|0)+16>>2]}k[n>>2]=(k[n>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+20}k[q>>2]=(k[e>>2]|0)+152+((k[o>>2]|0)*20|0)}else{p=(k[e>>2]|0)+25|0;a=i[p>>0]|0;i[p>>0]=a+1<<24>>24;k[q>>2]=(k[e>>2]|0)+152+((a&255)*20|0)}k[(k[q>>2]|0)+8>>2]=k[(k[e>>2]|0)+64>>2];k[k[q>>2]>>2]=k[f>>2];j[(k[q>>2]|0)+4>>1]=k[g>>2];k[(k[q>>2]|0)+12>>2]=k[h>>2];i[(k[q>>2]|0)+6>>0]=0;p=(k[e>>2]|0)+68|0;a=k[p>>2]|0;k[p>>2]=a+1;k[(k[q>>2]|0)+16>>2]=a;r=s;return}function RB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[d>>2]|0)+52>>1]|0)){c=7;break}k[f>>2]=k[(k[(k[d>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2];if((j[(k[(k[d>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)>=0?0==(sg(k[f>>2]|0,k[c>>2]|0)|0):0){c=5;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==5){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==7){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function SB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;h=y+76|0;j=y+72|0;m=y+68|0;n=y+64|0;o=y+60|0;p=y+56|0;q=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;k[h>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=k[k[h>>2]>>2];k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[v+24>>2]=0;k[v+28>>2]=0;k[v>>2]=k[h>>2];b=TB(v,k[o>>2]|0)|0;k[t>>2]=b;do if((0==(b|0)?(b=TB(v,k[p>>2]|0)|0,k[t>>2]=b,0==(b|0)):0)?(b=TB(v,k[q>>2]|0)|0,k[t>>2]=b,0==(b|0)):0){if(k[n>>2]|0){if((l[k[n>>2]>>0]|0)==97)k[x>>2]=k[(k[n>>2]|0)+8>>2];else k[x>>2]=0;x=kx(k[h>>2]|0,k[j>>2]|0,k[x>>2]|0,0,0)|0;k[t>>2]=x;if(k[t>>2]|0)break}x=nx(k[h>>2]|0)|0;k[w>>2]=x;x=MA(k[h>>2]|0,4)|0;k[u>>2]=x;$A(k[h>>2]|0,k[o>>2]|0,k[u>>2]|0);$A(k[h>>2]|0,k[p>>2]|0,(k[u>>2]|0)+1|0);$A(k[h>>2]|0,k[q>>2]|0,(k[u>>2]|0)+2|0);if(k[w>>2]|0){wx(k[w>>2]|0,89,0,(k[u>>2]|0)+3-(i[k[m>>2]>>0]|0)|0,(k[u>>2]|0)+3|0,k[m>>2]|0,-5)|0;Th(k[w>>2]|0,i[k[m>>2]>>0]|0);aA(k[w>>2]|0,150,(k[j>>2]|0)==24&1)|0}}while(0);sv(k[s>>2]|0,k[o>>2]|0);sv(k[s>>2]|0,k[p>>2]|0);sv(k[s>>2]|0,k[q>>2]|0);r=y;return}function TB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(k[d>>2]|0)if((l[k[d>>2]>>0]|0|0)!=55){a=Ky(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;break}else{i[k[d>>2]>>0]=97;break}while(0);r=f;return k[e>>2]|0}function UB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+192|0;m=p+24|0;l=p+16|0;j=p+8|0;h=p;d=p+52|0;q=p+44|0;o=p+40|0;e=p+36|0;f=p+32|0;g=p+28|0;n=p+56|0;k[d>>2]=a;k[p+48>>2]=b;k[q>>2]=c;a=je(k[k[q>>2]>>2]|0)|0;k[o>>2]=a;a=Fe(k[d>>2]|0)|0;k[e>>2]=a;k[g>>2]=0;if(!(k[o>>2]|0))k[o>>2]=18402;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4);if((k[(k[g>>2]|0)+4>>2]|0)!=0?(sg(k[k[g>>2]>>2]|0,k[o>>2]|0)|0)==0:0)break;k[f>>2]=(k[f>>2]|0)+1}do if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0)){k[h>>2]=k[o>>2];_d(128,n,31331,h)|0}else{if((k[f>>2]|0)<2){k[j>>2]=k[o>>2];_d(128,n,31352,j)|0;break}if(!(i[(k[e>>2]|0)+67>>0]|0)){_d(128,n,31378,l)|0;break}if((yg(k[(k[g>>2]|0)+4>>2]|0)|0)==0?(Au(k[(k[g>>2]|0)+4>>2]|0)|0)==0:0){VB(k[(k[g>>2]|0)+4>>2]|0)|0;k[(k[g>>2]|0)+4>>2]=0;k[(k[g>>2]|0)+12>>2]=0;WB(k[e>>2]|0);r=p;return}k[m>>2]=k[o>>2];_d(128,n,31420,m)|0}while(0);se(k[d>>2]|0,n,-1);r=p;return}function VB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];wg(k[b>>2]|0);k[d>>2]=k[(k[c>>2]|0)+8>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+8>>2];if((k[k[e>>2]>>2]|0)!=(k[b>>2]|0))continue;XB(k[e>>2]|0)|0}Zg(k[b>>2]|0,0,0)|0;if(!((i[(k[b>>2]|0)+9>>0]|0)!=0?(YB(k[c>>2]|0)|0)==0:0)){rr(k[k[c>>2]>>2]|0)|0;if((k[(k[c>>2]|0)+52>>2]|0)!=0?(k[(k[c>>2]|0)+48>>2]|0)!=0:0)_b[k[(k[c>>2]|0)+52>>2]&255](k[(k[c>>2]|0)+48>>2]|0);bg(0,k[(k[c>>2]|0)+48>>2]|0);cj(k[c>>2]|0);Ud(k[c>>2]|0)}if(k[(k[b>>2]|0)+28>>2]|0)k[(k[(k[b>>2]|0)+28>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];if(!(k[(k[b>>2]|0)+24>>2]|0)){e=k[b>>2]|0;Ud(e);r=f;return 0}k[(k[(k[b>>2]|0)+24>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];e=k[b>>2]|0;Ud(e);r=f;return 0}function WB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=2;k[c>>2]=2;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4);if(!(k[(k[e>>2]|0)+4>>2]|0)){bg(k[b>>2]|0,k[k[e>>2]>>2]|0);k[k[e>>2]>>2]=0}else{if((k[d>>2]|0)<(k[c>>2]|0)){a=(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4)|0;g=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)|0;k[a>>2]=k[g>>2];k[a+4>>2]=k[g+4>>2];k[a+8>>2]=k[g+8>>2];k[a+12>>2]=k[g+12>>2]}k[d>>2]=(k[d>>2]|0)+1}k[c>>2]=(k[c>>2]|0)+1}k[(k[b>>2]|0)+20>>2]=k[d>>2];if((k[(k[b>>2]|0)+20>>2]|0)>2){r=f;return}if((k[(k[b>>2]|0)+16>>2]|0)==((k[b>>2]|0)+392|0)){r=f;return}g=(k[b>>2]|0)+392|0;e=k[(k[b>>2]|0)+16>>2]|0;k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[g+12>>2]=k[e+12>>2];k[g+16>>2]=k[e+16>>2];k[g+20>>2]=k[e+20>>2];k[g+24>>2]=k[e+24>>2];k[g+28>>2]=k[e+28>>2];bg(k[b>>2]|0,k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+16>>2]=(k[b>>2]|0)+392;r=f;return}function XB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;e=g+12|0;c=g+8|0;d=g+4|0;f=g;k[b>>2]=a;k[e>>2]=k[k[b>>2]>>2];if(!(k[e>>2]|0)){r=g;return 0}k[d>>2]=k[(k[b>>2]|0)+4>>2];wg(k[e>>2]|0);ZB(k[b>>2]|0);a:do if((k[(k[d>>2]|0)+8>>2]|0)==(k[b>>2]|0))k[(k[d>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2];else{k[f>>2]=k[(k[d>>2]|0)+8>>2];while(1){if((k[(k[f>>2]|0)+8>>2]|0)==(k[b>>2]|0))break;k[f>>2]=k[(k[f>>2]|0)+8>>2];if(!(k[f>>2]|0))break a}k[(k[f>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2]}while(0);k[c>>2]=0;while(1){if((k[c>>2]|0)>(i[(k[b>>2]|0)+68>>0]|0))break;_B(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}$B(k[d>>2]|0);Ud(k[(k[b>>2]|0)+12>>2]|0);r=g;return 0}function YB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[e>>2]=0;b=(k[c>>2]|0)+64|0;k[b>>2]=(k[b>>2]|0)+-1;if((k[(k[c>>2]|0)+64>>2]|0)>0){e=k[e>>2]|0;r=f;return e|0}if((k[1006]|0)!=(k[c>>2]|0)){k[d>>2]=k[1006];while(1){if(k[d>>2]|0)b=(k[(k[d>>2]|0)+68>>2]|0)!=(k[c>>2]|0);else b=0;a=k[d>>2]|0;if(!b)break;k[d>>2]=k[a+68>>2]}if(a)k[(k[d>>2]|0)+68>>2]=k[(k[c>>2]|0)+68>>2]}else k[1006]=k[(k[c>>2]|0)+68>>2];k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}function ZB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[(k[c>>2]|0)+48>>2]|0);k[(k[c>>2]|0)+48>>2]=0;i[(k[c>>2]|0)+66>>0]=0;r=b;return}function _B(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}aC(k[b>>2]|0);r=c;return}function $B(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(l[(k[b>>2]|0)+20>>0]|0){r=d;return}if(!(k[(k[b>>2]|0)+12>>2]|0)){r=d;return}k[c>>2]=k[(k[b>>2]|0)+12>>2];k[(k[b>>2]|0)+12>>2]=0;aC(k[c>>2]|0);r=d;return}function aC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ts(k[(k[c>>2]|0)+72>>2]|0);r=b;return}function bC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;g=E+16|0;f=E+8|0;e=E;m=E+116|0;F=E+108|0;d=E+104|0;u=E+100|0;o=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;p=E+76|0;n=E+72|0;A=E+68|0;t=E+64|0;h=E+60|0;s=E+56|0;q=E+52|0;k[m>>2]=a;k[E+112>>2]=b;k[F>>2]=c;k[u>>2]=0;a=Fe(k[m>>2]|0)|0;k[o>>2]=a;k[D>>2]=0;k[z>>2]=0;k[A>>2]=0;a=je(k[k[F>>2]>>2]|0)|0;k[B>>2]=a;a=je(k[(k[F>>2]|0)+4>>2]|0)|0;k[C>>2]=a;if(!(k[B>>2]|0))k[B>>2]=18402;if(!(k[C>>2]|0))k[C>>2]=18402;b=k[o>>2]|0;do if((k[(k[o>>2]|0)+20>>2]|0)<((k[(k[o>>2]|0)+96+28>>2]|0)+2|0)){if(!(i[b+67>>0]|0)){F=Qh(k[o>>2]|0,31493,f)|0;k[A>>2]=F;break}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[o>>2]|0)+20>>2]|0))break;k[h>>2]=k[(k[(k[o>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2];if(!(sg(k[h>>2]|0,k[C>>2]|0)|0)){j=12;break}k[d>>2]=(k[d>>2]|0)+1}if((j|0)==12){F=k[o>>2]|0;k[g>>2]=k[C>>2];F=Qh(F,31535,g)|0;k[A>>2]=F;break}b=k[o>>2]|0;do if((k[(k[o>>2]|0)+16>>2]|0)==((k[o>>2]|0)+392|0)){F=dx(b,48,0)|0;k[n>>2]=F;if(!(k[n>>2]|0)){r=E;return}else{F=k[n>>2]|0;j=k[(k[o>>2]|0)+16>>2]|0;k[F>>2]=k[j>>2];k[F+4>>2]=k[j+4>>2];k[F+8>>2]=k[j+8>>2];k[F+12>>2]=k[j+12>>2];k[F+16>>2]=k[j+16>>2];k[F+20>>2]=k[j+20>>2];k[F+24>>2]=k[j+24>>2];k[F+28>>2]=k[j+28>>2];break}}else{F=cx(b,k[(k[o>>2]|0)+16>>2]|0,(k[(k[o>>2]|0)+20>>2]|0)+1<<4,0)|0;k[n>>2]=F;if(!(k[n>>2]|0)){r=E;return}}while(0);k[(k[o>>2]|0)+16>>2]=k[n>>2];k[n>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[(k[o>>2]|0)+20>>2]<<4);F=k[n>>2]|0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;k[p>>2]=k[(k[o>>2]|0)+48>>2];F=kk(k[(k[k[o>>2]>>2]|0)+16>>2]|0,k[B>>2]|0,p,t,D,z)|0;k[u>>2]=F;if(k[u>>2]|0){if((k[u>>2]|0)==7)wh(k[o>>2]|0);se(k[m>>2]|0,k[z>>2]|0,-1);Ud(k[z>>2]|0);r=E;return}k[p>>2]=k[p>>2]|256;F=lk(k[t>>2]|0,k[D>>2]|0,k[o>>2]|0,(k[n>>2]|0)+4|0,0,k[p>>2]|0)|0;k[u>>2]=F;Ud(k[D>>2]|0);F=(k[o>>2]|0)+20|0;k[F>>2]=(k[F>>2]|0)+1;if((k[u>>2]|0)!=19){if(!(k[u>>2]|0)){F=mk(k[o>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0;k[(k[n>>2]|0)+12>>2]=F;if(k[(k[n>>2]|0)+12>>2]|0){if((l[(k[(k[n>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(l[(k[(k[n>>2]|0)+12>>2]|0)+77>>0]|0)!=(l[(k[o>>2]|0)+66>>0]|0):0){F=Qh(k[o>>2]|0,20016,y)|0;k[A>>2]=F;k[u>>2]=1}}else k[u>>2]=7;wg(k[(k[n>>2]|0)+4>>2]|0);F=Zf(k[(k[n>>2]|0)+4>>2]|0)|0;k[s>>2]=F;cC(k[s>>2]|0,l[(k[o>>2]|0)+71>>0]|0)|0;F=k[(k[n>>2]|0)+4>>2]|0;dC(F,dC(k[(k[(k[o>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;eC(k[(k[n>>2]|0)+4>>2]|0,3|k[(k[o>>2]|0)+24>>2]&56)|0}}else{k[u>>2]=1;F=Qh(k[o>>2]|0,31565,x)|0;k[A>>2]=F}i[(k[n>>2]|0)+8>>0]=3;F=Ah(k[o>>2]|0,k[C>>2]|0)|0;k[k[n>>2]>>2]=F;if((k[u>>2]|0)==0?(k[k[n>>2]>>2]|0)==0:0)k[u>>2]=7;if(!(k[u>>2]|0)){Yf(k[o>>2]|0);F=Ci(k[o>>2]|0,A)|0;k[u>>2]=F}if(!(k[u>>2]|0)){r=E;return}k[q>>2]=(k[(k[o>>2]|0)+20>>2]|0)-1;if(k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0){VB(k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0)|0;k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]=0;k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+12>>2]=0}Mg(k[o>>2]|0);k[(k[o>>2]|0)+20>>2]=k[q>>2];if((k[u>>2]|0)==7|(k[u>>2]|0)==3082){wh(k[o>>2]|0);bg(k[o>>2]|0,k[A>>2]|0);F=Qh(k[o>>2]|0,25016,v)|0;k[A>>2]=F;break}if(!(k[A>>2]|0)){F=k[o>>2]|0;k[w>>2]=k[B>>2];F=Qh(F,31594,w)|0;k[A>>2]=F}}else{k[e>>2]=k[(k[o>>2]|0)+96+28>>2];F=Qh(b,31456,e)|0;k[A>>2]=F}while(0);if(k[A>>2]|0){se(k[m>>2]|0,k[A>>2]|0,-1);bg(k[o>>2]|0,k[A>>2]|0)}if(!(k[u>>2]|0)){r=E;return}Ae(k[m>>2]|0,k[u>>2]|0);r=E;return}function cC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(((k[d>>2]|0)>=0?(i[(k[c>>2]|0)+13>>0]|0)==0:0)?(gC(k[(k[c>>2]|0)+216>>2]|0)|0)==0:0)i[(k[c>>2]|0)+4>>0]=k[d>>2];r=e;return l[(k[c>>2]|0)+4>>0]|0}function dC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}wg(k[d>>2]|0);if((k[e>>2]|0)>=0?(a=(k[(k[d>>2]|0)+4>>2]|0)+22|0,j[a>>1]=(m[a>>1]|0)&-5,(k[e>>2]|0)!=0):0){a=(k[(k[d>>2]|0)+4>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|4}k[f>>2]=((m[(k[(k[d>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;k[c>>2]=k[f>>2];a=k[c>>2]|0;r=g;return a|0}function eC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[f>>2]|0)+4>>2];wg(k[f>>2]|0);fC(k[k[e>>2]>>2]|0,k[d>>2]|0);r=c;return 0}function fC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f+4|0;c=f;k[d>>2]=a;k[e>>2]=b;k[c>>2]=k[e>>2]&7;if(i[(k[d>>2]|0)+13>>0]|0){i[(k[d>>2]|0)+7>>0]=1;i[(k[d>>2]|0)+8>>0]=0;i[(k[d>>2]|0)+9>>0]=0}else{i[(k[d>>2]|0)+7>>0]=(k[c>>2]|0)==1?1:0;i[(k[d>>2]|0)+8>>0]=(k[c>>2]|0)>>>0>=3?1:0;i[(k[d>>2]|0)+9>>0]=(k[c>>2]|0)==4?1:0}do if(!(i[(k[d>>2]|0)+7>>0]|0)){if(k[e>>2]&8){i[(k[d>>2]|0)+12>>0]=3;i[(k[d>>2]|0)+10>>0]=3;break}b=(k[e>>2]&16|0)!=0;i[(k[d>>2]|0)+12>>0]=2;c=(k[d>>2]|0)+10|0;if(b){i[c>>0]=3;break}else{i[c>>0]=2;break}}else{i[(k[d>>2]|0)+12>>0]=0;i[(k[d>>2]|0)+10>>0]=0}while(0);i[(k[d>>2]|0)+11>>0]=i[(k[d>>2]|0)+12>>0]|0;if(i[(k[d>>2]|0)+8>>0]|0){b=(k[d>>2]|0)+11|0;i[b>>0]=l[b>>0]|32}c=(k[d>>2]|0)+21|0;a=l[c>>0]|0;if(k[e>>2]&32){i[c>>0]=a&-2;r=f;return}else{i[c>>0]=a|1;r=f;return}}function gC(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=0;a=a&1;r=c;return a|0}a=(l[(k[b>>2]|0)+43>>0]|0|0)==2;a=a&1;r=c;return a|0}function hC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4);do if(k[(k[g>>2]|0)+4>>2]|0){if((k[d>>2]|0)!=0?0!=(sg(k[d>>2]|0,k[k[g>>2]>>2]|0)|0):0)break;Cx(k[c>>2]|0,k[f>>2]|0)}while(0);k[f>>2]=(k[f>>2]|0)+1}r=h;return}function iC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n;c=n+44|0;d=n+40|0;h=n+36|0;i=n+32|0;f=n+28|0;g=n+24|0;e=n+20|0;l=n+16|0;m=n+12|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[k[c>>2]>>2];b=Ph(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0;k[g>>2]=b;b=jC(k[d>>2]|0)|0;k[h>>2]=b;k[e>>2]=16;k[l>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];k[m>>2]=(k[g>>2]|0)==1?19905:19924;if((k[g>>2]|0)==1)k[e>>2]=14;if(kx(k[c>>2]|0,k[e>>2]|0,k[k[d>>2]>>2]|0,k[k[h>>2]>>2]|0,k[l>>2]|0)|0){r=n;return}if(kx(k[c>>2]|0,9,k[m>>2]|0,0,k[l>>2]|0)|0){r=n;return}m=nx(k[c>>2]|0)|0;k[i>>2]=m;if(!m){r=n;return}m=k[c>>2]|0;b=(k[g>>2]|0)==1?19905:19924;l=k[k[d>>2]>>2]|0;k[j>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];k[j+4>>2]=b;k[j+8>>2]=l;mx(m,31642,j);ox(k[c>>2]|0,k[g>>2]|0);wx(k[i>>2]|0,140,k[g>>2]|0,0,0,k[k[d>>2]>>2]|0,0)|0;r=n;return}function jC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Cj((k[(k[c>>2]|0)+24>>2]|0)+8|0,k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return a|0}function kC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;j=h+12|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;i[d>>0]=b;k[e>>2]=c;c=Ch(k[j>>2]|0,36+(k[(k[e>>2]|0)+4>>2]|0)+1|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){j=k[f>>2]|0;r=h;return j|0}k[g>>2]=(k[f>>2]|0)+36;bS(k[g>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;hx(k[g>>2]|0);k[(k[f>>2]|0)+12>>2]=k[g>>2];i[k[f>>2]>>0]=i[d>>0]|0;j=k[f>>2]|0;r=h;return j|0}function lC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=(k[g>>2]|0)+8;b=zx(k[c>>2]|0,0,k[d>>2]|0)|0;k[e>>2]=b;$f(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=k[e>>2];if(k[e>>2]|0){g=(k[e>>2]|0)+36|0;j[g>>1]=(j[g>>1]|0)+1<<16>>16}if(!(zz(k[c>>2]|0,k[d>>2]|0)|0)){g=k[e>>2]|0;r=f;return g|0}k[e>>2]=0;g=k[e>>2]|0;r=f;return g|0}function mC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;f=r;r=r+32|0;g=f+20|0;m=f+16|0;h=f+12|0;j=f+8|0;i=f+4|0;l=f;k[g>>2]=a;k[m>>2]=b;k[h>>2]=c;k[j>>2]=d;k[i>>2]=e;k[l>>2]=k[k[m>>2]>>2];k[k[g>>2]>>2]=k[m>>2];k[(k[g>>2]|0)+12>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[(k[g>>2]|0)+4>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];k[(k[g>>2]|0)+16>>2]=k[j>>2];k[(k[g>>2]|0)+20>>2]=k[i>>2];k[(k[g>>2]|0)+8>>2]=(k[h>>2]|0)==1&1;r=f;return}function nC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+48|0;i=j;f=j+32|0;g=j+28|0;c=j+24|0;d=j+20|0;e=j+16|0;h=j+12|0;k[g>>2]=a;k[c>>2]=b;if(!(k[c>>2]|0)){k[f>>2]=0;i=k[f>>2]|0;r=j;return i|0}k[e>>2]=k[(k[g>>2]|0)+12>>2];k[d>>2]=0;k[h>>2]=(k[c>>2]|0)+8;while(1){if((k[d>>2]|0)>=(k[k[c>>2]>>2]|0)){c=15;break}if(!(k[(k[g>>2]|0)+8>>2]|0)){if((k[(k[h>>2]|0)+4>>2]|0)!=0?(sg(k[(k[h>>2]|0)+4>>2]|0,k[e>>2]|0)|0)!=0:0){c=8;break}bg(k[k[k[g>>2]>>2]>>2]|0,k[(k[h>>2]|0)+4>>2]|0);k[(k[h>>2]|0)+4>>2]=0;k[k[h>>2]>>2]=k[(k[g>>2]|0)+4>>2]}if(oC(k[g>>2]|0,k[(k[h>>2]|0)+20>>2]|0)|0){c=11;break}if(pC(k[g>>2]|0,k[(k[h>>2]|0)+48>>2]|0)|0){c=13;break}k[d>>2]=(k[d>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+72}if((c|0)==8){e=k[k[g>>2]>>2]|0;b=k[(k[g>>2]|0)+20>>2]|0;h=k[(k[h>>2]|0)+4>>2]|0;k[i>>2]=k[(k[g>>2]|0)+16>>2];k[i+4>>2]=b;k[i+8>>2]=h;Oh(e,31940,i);k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==11){k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==13){k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==15){k[f>>2]=0;i=k[f>>2]|0;r=j;return i|0}return 0}function oC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0)){c=20;break}if(qC(k[c>>2]|0,k[k[d>>2]>>2]|0)|0){c=4;break}if(nC(k[c>>2]|0,k[(k[d>>2]|0)+28>>2]|0)|0){c=6;break}if(pC(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0)|0){c=8;break}if(qC(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0)|0){c=10;break}if(pC(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0)|0){c=12;break}if(qC(k[c>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0){c=14;break}if(pC(k[c>>2]|0,k[(k[d>>2]|0)+56>>2]|0)|0){c=16;break}if(pC(k[c>>2]|0,k[(k[d>>2]|0)+60>>2]|0)|0){c=18;break}k[d>>2]=k[(k[d>>2]|0)+48>>2]}if((c|0)==4)k[e>>2]=1;else if((c|0)==6)k[e>>2]=1;else if((c|0)==8)k[e>>2]=1;else if((c|0)==10)k[e>>2]=1;else if((c|0)==12)k[e>>2]=1;else if((c|0)==14)k[e>>2]=1;else if((c|0)==16)k[e>>2]=1;else if((c|0)==18)k[e>>2]=1;else if((c|0)==20)k[e>>2]=0;r=f;return k[e>>2]|0}function pC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=g+12|0;e=g+8|0;c=g+4|0;k[e>>2]=a;k[c>>2]=b;while(1){if(!(k[c>>2]|0)){b=16;break}if((l[k[c>>2]>>0]|0)==135){if(!(i[(k[k[k[e>>2]>>2]>>2]|0)+148+5>>0]|0)){b=6;break}i[k[c>>2]>>0]=101}if(k[(k[c>>2]|0)+4>>2]&8404992){b=16;break}b=k[e>>2]|0;a=(k[c>>2]|0)+20|0;if(k[(k[c>>2]|0)+4>>2]&2048){if(oC(b,k[a>>2]|0)|0){b=10;break}}else if(qC(b,k[a>>2]|0)|0){b=12;break}if(pC(k[e>>2]|0,k[(k[c>>2]|0)+16>>2]|0)|0){b=14;break}k[c>>2]=k[(k[c>>2]|0)+12>>2]}if((b|0)==6){c=k[k[e>>2]>>2]|0;k[f>>2]=k[(k[e>>2]|0)+16>>2];Oh(c,31986,f);k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==10){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==12){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==14){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==16){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function qC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}k[e>>2]=0;k[f>>2]=k[(k[d>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if(pC(k[c>>2]|0,k[k[f>>2]>>2]|0)|0){c=6;break}k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}if((c|0)==6){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==8){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function rC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0)){c=10;break}if(oC(k[c>>2]|0,k[(k[d>>2]|0)+8>>2]|0)|0){c=4;break}if(pC(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0)|0){c=6;break}if(qC(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0){c=8;break}k[d>>2]=k[(k[d>>2]|0)+28>>2]}if((c|0)==4)k[e>>2]=1;else if((c|0)==6)k[e>>2]=1;else if((c|0)==8)k[e>>2]=1;else if((c|0)==10)k[e>>2]=0;r=f;return k[e>>2]|0}function sC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+144|0;j[a>>1]=j[a>>1]&-33|32;r=b;return}function tC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[f>>2]|0)){r=g;return}rx(k[d>>2]|0,1,k[f>>2]|0)|0;uC(k[d>>2]|0,k[e>>2]|0);sx(k[d>>2]|0,87,1,1)|0;r=g;return}function uC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;IC(k[e>>2]|0,1,d);r=c;return}function vC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;g=e+8|0;h=e;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;OB(k[f>>2]|0,77,0,1,0,h,-13)|0;uC(k[f>>2]|0,k[g>>2]|0);sx(k[f>>2]|0,87,1,1)|0;r=e;return}function wC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+32|0;c=e+16|0;g=e+12|0;d=e+4|0;f=e;k[c>>2]=a;k[g>>2]=b;k[f>>2]=k[k[c>>2]>>2];YC(k[(k[c>>2]|0)+100>>2]|0,(m[(k[c>>2]|0)+140>>1]|0)<<1);bg(k[f>>2]|0,k[(k[c>>2]|0)+100>>2]|0);k[d>>2]=k[g>>2]<<1;j[(k[c>>2]|0)+140>>1]=k[g>>2];a=dx(k[f>>2]|0,(k[d>>2]|0)*40|0,0)|0;k[e+8>>2]=a;k[(k[c>>2]|0)+100>>2]=a;if(!(k[(k[c>>2]|0)+100>>2]|0)){r=e;return}ZC(k[(k[c>>2]|0)+100>>2]|0,k[d>>2]|0,k[k[c>>2]>>2]|0,1);r=e;return}function xC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;f=q+28|0;g=q+24|0;h=q+20|0;j=q+16|0;l=q+12|0;n=q+8|0;p=q+4|0;o=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[n>>2]=e;if(i[(k[k[g>>2]>>2]|0)+69>>0]|0){k[f>>2]=7;d=k[f>>2]|0;r=q;return d|0}else{d=(k[h>>2]|0)+(ha(k[j>>2]|0,m[(k[g>>2]|0)+140>>1]|0)|0)|0;k[o>>2]=(k[(k[g>>2]|0)+100>>2]|0)+(d*40|0);d=qh(k[o>>2]|0,k[l>>2]|0,-1,1,k[n>>2]|0)|0;k[p>>2]=d;k[f>>2]=k[p>>2];d=k[f>>2]|0;r=q;return d|0}return 0}function yC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;c=e;k[c>>2]=a;do if(k[c>>2]|0){if(!(sg(k[c>>2]|0,32192)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,32185)|0))k[b>>2]=0;else d=6}else d=6;while(0);if((d|0)==6)k[b>>2]=-1;r=e;return k[b>>2]|0}function zC(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)==6)k[b>>2]=0;else k[b>>2]=k[5420+(k[c>>2]<<2)>>2];r=d;return k[b>>2]|0}function AC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=e;c=k[a+4>>2]|0;if((c|0)>-1|(c|0)==-1&(k[a>>2]|0)>>>0>=4294967295){b=e;c=k[b+4>>2]|0;a=(k[d>>2]|0)+168|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;a=e;XC(k[(k[d>>2]|0)+216>>2]|0,k[a>>2]|0,k[a+4>>2]|0)}a=(k[d>>2]|0)+168|0;L=k[a+4>>2]|0;r=f;return k[a>>2]|0}function BC(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;wg(k[b>>2]|0);if(!(i[(k[(k[b>>2]|0)+4>>2]|0)+17>>0]|0)){a=0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}a=(i[(k[(k[b>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function CC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(sg(k[c>>2]|0,33263)|0){if(!(sg(k[c>>2]|0,32707)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,33268)|0)){k[b>>2]=2;break}else{a=Zi(k[c>>2]|0)|0;k[d>>2]=a;k[b>>2]=((k[d>>2]|0)>=0&(k[d>>2]|0)<=2?k[d>>2]|0:0)&255;break}}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function DC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;g=f+12|0;h=f+8|0;d=f+4|0;e=f;c=f+16|0;k[g>>2]=a;k[h>>2]=b;k[d>>2]=k[(k[g>>2]|0)+4>>2];k[e>>2]=0;i[c>>0]=k[h>>2];wg(k[g>>2]|0);if(((m[(k[d>>2]|0)+22>>1]|0)&2|0)!=0?(((l[c>>0]|0|0)!=0?1:0)|0)!=(l[(k[d>>2]|0)+17>>0]|0|0):0){k[e>>2]=8;h=k[e>>2]|0;r=f;return h|0}i[(k[d>>2]|0)+17>>0]=(l[c>>0]|0|0)!=0?1:0;i[(k[d>>2]|0)+18>>0]=(l[c>>0]|0|0)==2?1:0;h=k[e>>2]|0;r=f;return h|0}function EC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;f=d+4|0;c=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[g>>2]|0)+4>>2];wg(k[g>>2]|0);a=VC(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function FC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(i[(k[b>>2]|0)+67>>0]|0)){r=e;return}k[d>>2]=k[(k[b>>2]|0)+16>>2];k[c>>2]=k[(k[b>>2]|0)+20>>2];while(1){a=k[c>>2]|0;k[c>>2]=a+-1;if((a|0)<=0)break;if(k[(k[d>>2]|0)+4>>2]|0)eC(k[(k[d>>2]|0)+4>>2]|0,l[(k[d>>2]|0)+8>>0]|k[(k[b>>2]|0)+24>>2]&56)|0;k[d>>2]=(k[d>>2]|0)+16}r=e;return}function GC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[h>>2]=b;b=UC(k[h>>2]|0)|0;k[f>>2]=b;k[e>>2]=k[k[d>>2]>>2];if((l[(k[e>>2]|0)+68>>0]|0|0)==(k[f>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}if(HC(k[d>>2]|0)|0){k[c>>2]=1;h=k[c>>2]|0;r=g;return h|0}else{i[(k[e>>2]|0)+68>>0]=k[f>>2];k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}return 0}function HC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f;b=f+12|0;c=f+8|0;d=f+4|0;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];do if(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0){if((i[(k[d>>2]|0)+67>>0]|0)!=0?(yg(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){VB(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]=0;Mg(k[d>>2]|0);break}Oh(k[c>>2]|0,33201,e);k[b>>2]=1;e=k[b>>2]|0;r=f;return e|0}while(0);k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}function IC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;wC(k[d>>2]|0,k[e>>2]|0);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;xC(k[d>>2]|0,k[g>>2]|0,0,k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0,0)|0;k[g>>2]=(k[g>>2]|0)+1}r=h;return}function JC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n+8|0;l=n+4|0;j=n+36|0;m=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;while(1){c=i[(k[g>>2]|0)+(k[l>>2]|0)>>0]|0;i[j>>0]=c;if(!(c<<24>>24))break;if((i[j>>0]|0)==115){d=(k[h>>2]|0)+(4-1)&~(4-1);a=k[d>>2]|0;k[h>>2]=d+4;k[m>>2]=a;a=k[e>>2]|0;d=(k[m>>2]|0)==0?79:97;c=k[f>>2]|0;k[f>>2]=c+1;wx(a,d,0,c,0,k[m>>2]|0,0)|0}else{a=k[e>>2]|0;c=(k[h>>2]|0)+(4-1)&~(4-1);d=k[c>>2]|0;k[h>>2]=c+4;c=k[f>>2]|0;k[f>>2]=c+1;sx(a,76,d,c)|0}k[l>>2]=(k[l>>2]|0)+1}r=n;return}function KC(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;i[d>>0]=a;switch(l[d>>0]|0|0){case 7:{k[b>>2]=33011;break}case 8:{k[b>>2]=33020;break}case 9:{k[b>>2]=33032;break}case 6:{k[b>>2]=33040;break}default:k[b>>2]=33049}r=c;return k[b>>2]|0}function LC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;y=D;f=D+64|0;g=D+60|0;h=D+56|0;n=D+52|0;o=D+48|0;p=D+44|0;x=D+40|0;q=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[x>>2]=0;k[q>>2]=0;k[w>>2]=k[(k[n>>2]|0)+20>>2];k[B>>2]=k[(k[n>>2]|0)+36+4>>2];do if((k[w>>2]|0)==1){if((j[(k[h>>2]|0)+32>>1]|0)>=0){if(!(k[B>>2]|0)){k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}if(!(sg(k[(k[(k[h>>2]|0)+4>>2]|0)+(j[(k[h>>2]|0)+32>>1]<<4)>>2]|0,k[B>>2]|0)|0)){k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}}}else if(k[p>>2]|0){d=dx(k[k[g>>2]>>2]|0,k[w>>2]<<2,0)|0;k[q>>2]=d;if(k[q>>2]|0){k[k[p>>2]>>2]=k[q>>2];break}k[f>>2]=1;C=k[f>>2]|0;r=D;return C|0}while(0);k[x>>2]=k[(k[h>>2]|0)+8>>2];a:while(1){if(!(k[x>>2]|0))break;do if((m[(k[x>>2]|0)+50>>1]|0)==(k[w>>2]|0)?(l[(k[x>>2]|0)+54>>0]|0)!=0:0){if(!(k[B>>2]|0))if((i[(k[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[w>>2]|0))break;j[u>>1]=j[(k[(k[x>>2]|0)+4>>2]|0)+(k[t>>2]<<1)>>1]|0;if((j[u>>1]|0)<0)break;d=k[(k[(k[h>>2]|0)+4>>2]|0)+(j[u>>1]<<4)+8>>2]|0;k[z>>2]=d;k[z>>2]=(k[z>>2]|0)!=0?d:34834;if(sg(k[(k[(k[x>>2]|0)+32>>2]|0)+(k[t>>2]<<2)>>2]|0,k[z>>2]|0)|0)break;k[A>>2]=k[(k[(k[h>>2]|0)+4>>2]|0)+(j[u>>1]<<4)>>2];k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[w>>2]|0))break;if(!(sg(k[(k[n>>2]|0)+36+(k[v>>2]<<3)+4>>2]|0,k[A>>2]|0)|0)){C=28;break}k[v>>2]=(k[v>>2]|0)+1}if((C|0)==28?(C=0,(k[q>>2]|0)!=0):0)k[(k[q>>2]|0)+(k[t>>2]<<2)>>2]=k[(k[n>>2]|0)+36+(k[v>>2]<<3)>>2];if((k[v>>2]|0)==(k[w>>2]|0))break;k[t>>2]=(k[t>>2]|0)+1}if((k[t>>2]|0)==(k[w>>2]|0))break a}while(0);k[x>>2]=k[(k[x>>2]|0)+20>>2]}b:do if((C|0)==17?(k[q>>2]|0)!=0:0){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[w>>2]|0))break b;k[(k[q>>2]|0)+(k[s>>2]<<2)>>2]=k[(k[n>>2]|0)+36+(k[s>>2]<<3)>>2];k[s>>2]=(k[s>>2]|0)+1}}while(0);if(k[x>>2]|0){k[k[o>>2]>>2]=k[x>>2];k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}if(!(i[(k[g>>2]|0)+150>>0]|0)){C=k[g>>2]|0;B=k[(k[n>>2]|0)+8>>2]|0;k[y>>2]=k[k[k[n>>2]>>2]>>2];k[y+4>>2]=B;Oh(C,32948,y)}bg(k[k[g>>2]>>2]|0,k[q>>2]|0);k[f>>2]=1;C=k[f>>2]|0;r=D;return C|0}function MC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0;n=r;r=r+32|0;d=n+16|0;c=n+12|0;e=n+8|0;g=n+4|0;h=n;l=n+20|0;f=n+22|0;k[c>>2]=a;k[e>>2]=b;if(!(k[(k[e>>2]|0)+16>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+12>>2];b=(m[(k[e>>2]|0)+52>>1]|0)+1|0;b=Mh(0,b,((b|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+16>>2]=b;if(!(k[(k[e>>2]|0)+16>>2]|0)){wh(k[c>>2]|0);k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}k[g>>2]=0;while(1){c=k[g>>2]|0;a=k[e>>2]|0;if((k[g>>2]|0)>=(m[(k[e>>2]|0)+52>>1]|0))break;j[l>>1]=j[(k[a+4>>2]|0)+(c<<1)>>1]|0;c=j[l>>1]|0;do if((j[l>>1]|0)<0){a=k[g>>2]|0;b=k[e>>2]|0;if((c|0)==-1){i[(k[b+16>>2]|0)+a>>0]=68;break}else{b=oy(k[(k[(k[b+40>>2]|0)+4>>2]|0)+(a*20|0)>>2]|0)|0;i[f>>0]=b;i[f>>0]=(i[f>>0]|0)==0?65:b;i[(k[(k[e>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[f>>0]|0;break}}else i[(k[(k[e>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[h>>2]|0)+4>>2]|0)+(c<<4)+13>>0]|0;while(0);k[g>>2]=(k[g>>2]|0)+1}i[(k[a+16>>2]|0)+c>>0]=0}k[d>>2]=k[(k[e>>2]|0)+16>>2];l=k[d>>2]|0;r=n;return l|0}function NC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0)k[e>>2]=32856;else k[e>>2]=18398;ti(k[c>>2]|0,32860,2,1,k[e>>2]|0,212,0,0,0)|0;ti(k[c>>2]|0,32860,3,1,k[e>>2]|0,212,0,0,0)|0;ti(k[c>>2]|0,32865,2,1,18394,212,0,0,0)|0;SC(k[c>>2]|0,32865,12);SC(k[c>>2]|0,32860,((k[d>>2]|0)!=0?12:4)&255);r=f;return}function OC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(l[(k[b>>2]|0)+25>>0]|0|0))break;if((l[(k[b>>2]|0)+152+((k[c>>2]|0)*20|0)+6>>0]|0|0)!=0?(l[(k[b>>2]|0)+19>>0]|0|0)<8:0){e=k[(k[b>>2]|0)+152+((k[c>>2]|0)*20|0)+12>>2]|0;f=(k[b>>2]|0)+19|0;a=i[f>>0]|0;i[f>>0]=a+1<<24>>24;k[(k[b>>2]|0)+352+((a&255)<<2)>>2]=e}k[c>>2]=(k[c>>2]|0)+1}i[(k[b>>2]|0)+25>>0]=0;r=d;return}function PC(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+64|0;o=C+52|0;p=C+48|0;q=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;j=C+24|0;x=C+20|0;y=C+16|0;m=C+12|0;A=C+8|0;B=C+4|0;z=C;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;i[t>>0]=d;k[u>>2]=e;k[v>>2]=f;k[w>>2]=g;k[j>>2]=h;if((l[(k[q>>2]|0)+42>>0]|0)&16){k[o>>2]=0;B=k[o>>2]|0;r=C;return B|0}h=Ph(k[k[p>>2]>>2]|0,k[(k[q>>2]|0)+64>>2]|0)|0;k[y>>2]=h;h=nx(k[p>>2]|0)|0;k[B>>2]=h;if((k[u>>2]|0)<0)k[u>>2]=k[(k[p>>2]|0)+40>>2];h=k[u>>2]|0;k[u>>2]=h+1;k[m>>2]=h;if(k[w>>2]|0)k[k[w>>2]>>2]=k[m>>2];do if(!((l[(k[q>>2]|0)+42>>0]|0)&32)){if((k[v>>2]|0)!=0?(l[k[v>>2]>>0]|0|0)==0:0){n=11;break}cA(k[p>>2]|0,k[m>>2]|0,k[y>>2]|0,k[q>>2]|0,k[s>>2]|0)}else n=11;while(0);if((n|0)==11)bA(k[p>>2]|0,k[y>>2]|0,k[(k[q>>2]|0)+28>>2]|0,(k[s>>2]|0)==105&255,k[k[q>>2]>>2]|0);if(k[j>>2]|0)k[k[j>>2]>>2]=k[u>>2];k[x>>2]=0;k[A>>2]=k[(k[q>>2]|0)+8>>2];while(1){j=k[u>>2]|0;if(!(k[A>>2]|0))break;k[u>>2]=j+1;k[z>>2]=j;if((i[(k[A>>2]|0)+55>>0]&3|0)==2?((l[(k[q>>2]|0)+42>>0]|0)&32|0)!=0:0){if(k[w>>2]|0)k[k[w>>2]>>2]=k[z>>2];i[t>>0]=0}if(!((k[v>>2]|0)!=0?(l[(k[v>>2]|0)+((k[x>>2]|0)+1)>>0]|0|0)==0:0)){tx(k[B>>2]|0,k[s>>2]|0,k[z>>2]|0,k[(k[A>>2]|0)+44>>2]|0,k[y>>2]|0)|0;dA(k[p>>2]|0,k[A>>2]|0);Th(k[B>>2]|0,i[t>>0]|0)}k[A>>2]=k[(k[A>>2]|0)+20>>2];k[x>>2]=(k[x>>2]|0)+1}if((j|0)>(k[(k[p>>2]|0)+40>>2]|0))k[(k[p>>2]|0)+40>>2]=k[u>>2];k[o>>2]=k[x>>2];B=k[o>>2]|0;r=C;return B|0}function QC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+144|0;j[a>>1]=j[a>>1]&-33;r=b;return}function RC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;d=n+36|0;e=n+32|0;f=n+28|0;i=n+24|0;j=n+20|0;g=n+16|0;p=n+12|0;o=n+8|0;h=n+4|0;m=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=Fe(k[d>>2]|0)|0;k[o>>2]=a;a=Ee(k[d>>2]|0)|0;k[h>>2]=a;a=je(k[k[f>>2]>>2]|0)|0;k[j>>2]=a;a=je(k[(k[f>>2]|0)+4>>2]|0)|0;k[i>>2]=a;a=ke(k[k[f>>2]>>2]|0)|0;k[p>>2]=a;if((k[p>>2]|0)>(k[(k[o>>2]|0)+96+32>>2]|0)){se(k[d>>2]|0,32870,-1);r=n;return}do if((k[e>>2]|0)==3){p=je(k[(k[f>>2]|0)+8>>2]|0)|0;k[m>>2]=p;if(!(k[m>>2]|0)){r=n;return}if((ey(k[m>>2]|0,-1)|0)==1){p=TC(m)|0;k[g>>2]=p;break}se(k[d>>2]|0,32903,-1);r=n;return}else k[g>>2]=l[(k[h>>2]|0)+2>>0];while(0);if(!((k[i>>2]|0)!=0&(k[j>>2]|0)!=0)){r=n;return}p=k[d>>2]|0;te(p,bi(k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0);r=n;return}function SC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+8|0;g=f+4|0;d=f+12|0;e=f;k[h>>2]=a;k[g>>2]=b;i[d>>0]=c;b=ui(k[h>>2]|0,k[g>>2]|0,2,1,0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){r=f;return}h=(k[e>>2]|0)+2|0;j[h>>1]=m[h>>1]|0|(l[d>>0]|0);r=f;return}function TC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;e=k[b>>2]|0;a=k[e>>2]|0;k[e>>2]=a+1;k[c>>2]=l[a>>0];if((k[c>>2]|0)>>>0<192){e=k[c>>2]|0;r=d;return e|0}k[c>>2]=l[25563+((k[c>>2]|0)-192)>>0];while(1){a=k[c>>2]|0;if(((l[k[k[b>>2]>>2]>>0]|0)&192|0)!=128)break;f=k[b>>2]|0;e=k[f>>2]|0;k[f>>2]=e+1;k[c>>2]=(a<<6)+(63&(l[e>>0]|0))}if((a>>>0>=128?(k[c>>2]&-2048|0)!=55296:0)?(k[c>>2]&-2|0)!=65534:0){f=k[c>>2]|0;r=d;return f|0}k[c>>2]=65533;f=k[c>>2]|0;r=d;return f|0}function UC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;c=e;k[c>>2]=a;if((i[k[c>>2]>>0]|0)>=48?(i[k[c>>2]>>0]|0)<=50:0)k[b>>2]=(i[k[c>>2]>>0]|0)-48;else d=4;do if((d|0)==4){if(!(sg(k[c>>2]|0,33105)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,26159)|0)){k[b>>2]=2;break}else{k[b>>2]=0;break}}while(0);r=e;return k[b>>2]|0}function VC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=WC(k[(k[e>>2]|0)+212>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function WC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){if((k[d>>2]|0)<0){b=k[d>>2]|0;b=kS(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+28>>2]|0)|0;a=iS(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;k[d>>2]=a}k[(k[c>>2]|0)+20>>2]=k[d>>2]}a=mj(k[c>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[e>>2]=k[(k[c>>2]|0)+20>>2];e=k[e>>2]|0;r=f;return e|0}function XC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if(!(k[d>>2]|0)){r=f;return}c=e;e=k[c+4>>2]|0;a=(k[d>>2]|0)+16|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;r=f;return}function YC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;c=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[c>>2]=b;if(!((k[d>>2]|0)!=0&(k[c>>2]|0)!=0)){r=g;return}k[f>>2]=(k[d>>2]|0)+((k[c>>2]|0)*40|0);k[e>>2]=k[(k[d>>2]|0)+32>>2];if(k[(k[e>>2]|0)+456>>2]|0){do{if(k[(k[d>>2]|0)+24>>2]|0)bg(k[e>>2]|0,k[(k[d>>2]|0)+20>>2]|0);a=(k[d>>2]|0)+40|0;k[d>>2]=a}while(a>>>0<(k[f>>2]|0)>>>0);r=g;return}do{c=k[d>>2]|0;if(!((m[(k[d>>2]|0)+8>>1]|0)&9312)){if(k[c+24>>2]|0){bg(k[e>>2]|0,k[(k[d>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+24>>2]=0}}else fh(c);j[(k[d>>2]|0)+8>>1]=128;a=(k[d>>2]|0)+40|0;k[d>>2]=a}while(a>>>0<(k[f>>2]|0)>>>0);r=g;return}function ZC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;e=i+8|0;f=i+4|0;g=i;h=i+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;j[h>>1]=d;while(1){a=k[f>>2]|0;k[f>>2]=a+-1;if((a|0)<=0)break;k[(k[e>>2]|0)+32>>2]=k[g>>2];j[(k[e>>2]|0)+8>>1]=j[h>>1]|0;k[(k[e>>2]|0)+24>>2]=0;k[e>>2]=(k[e>>2]|0)+40}r=i;return}function _C(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;j=n+8|0;i=n;e=n+44|0;o=n+40|0;f=n+36|0;g=n+32|0;h=n+28|0;l=n+24|0;m=n+48|0;k[e>>2]=a;k[o>>2]=b;k[f>>2]=c;k[g>>2]=d;k[l>>2]=k[(k[(k[k[e>>2]>>2]|0)+16>>2]|0)+(k[o>>2]<<4)>>2];k[h>>2]=1;while(1){if((k[h>>2]|0)>4)break;k[i>>2]=k[h>>2];_d(24,m,34141,i)|0;if(Di(k[k[e>>2]>>2]|0,m,k[l>>2]|0)|0){o=k[e>>2]|0;d=k[f>>2]|0;c=k[g>>2]|0;k[j>>2]=k[l>>2];k[j+4>>2]=m;k[j+8>>2]=d;k[j+12>>2]=c;mx(o,30938,j)}k[h>>2]=(k[h>>2]|0)+1}r=n;return}function $C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=r;r=r+48|0;g=d;f=d+36|0;h=d+32|0;j=d+28|0;i=d+24|0;e=d+20|0;k[f>>2]=a;k[h>>2]=b;k[j>>2]=c;a=nx(k[f>>2]|0)|0;k[i>>2]=a;a=Fx(k[f>>2]|0)|0;k[e>>2]=a;tx(k[i>>2]|0,130,k[h>>2]|0,k[e>>2]|0,k[j>>2]|0)|0;dy(k[f>>2]|0);a=k[f>>2]|0;i=(k[j>>2]|0)==1?19905:19924;h=k[h>>2]|0;c=k[e>>2]|0;b=k[e>>2]|0;k[g>>2]=k[(k[(k[k[f>>2]>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2];k[g+4>>2]=i;k[g+8>>2]=h;k[g+12>>2]=c;k[g+16>>2]=b;mx(a,34085,g);Hx(k[f>>2]|0,k[e>>2]|0);r=d;return}function aD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;l=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;n=q;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=k[k[j>>2]>>2];do if(!(k[m>>2]&(k[m>>2]|0)-1)){k[o>>2]=(k[m>>2]|0)==0?1:k[m>>2]<<1;c=ha(k[o>>2]|0,k[i>>2]|0)|0;c=cx(k[g>>2]|0,k[h>>2]|0,c,((c|0)<0)<<31>>31)|0;k[n>>2]=c;if(k[n>>2]|0){k[h>>2]=k[n>>2];break}k[k[l>>2]>>2]=-1;k[f>>2]=k[h>>2];p=k[f>>2]|0;r=q;return p|0}while(0);k[p>>2]=k[h>>2];c=ha(k[m>>2]|0,k[i>>2]|0)|0;dS((k[p>>2]|0)+c|0,0,k[i>>2]|0)|0;k[k[l>>2]>>2]=k[m>>2];p=k[j>>2]|0;k[p>>2]=(k[p>>2]|0)+1;k[f>>2]=k[h>>2];p=k[f>>2]|0;r=q;return p|0}function bD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;m=p+8|0;o=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[m>>2]=0;k[o>>2]=0;if(k[(k[k[f>>2]>>2]|0)+24>>2]&16777216){b=Jx(k[f>>2]|0,k[g>>2]|0)|0;k[o>>2]=b}k[n>>2]=k[o>>2];while(1){if(!(k[n>>2]|0))break;if((l[(k[n>>2]|0)+8>>0]|0|0)==(k[h>>2]|0)?(FG(k[(k[n>>2]|0)+16>>2]|0,k[i>>2]|0)|0)!=0:0)k[m>>2]=k[m>>2]|(l[(k[n>>2]|0)+9>>0]|0);k[n>>2]=k[(k[n>>2]|0)+32>>2]}if(!(k[j>>2]|0)){a=k[m>>2]|0;a=(a|0)!=0;b=k[o>>2]|0;b=a?b:0;r=p;return b|0}k[k[j>>2]>>2]=k[m>>2];a=k[m>>2]|0;a=(a|0)!=0;b=k[o>>2]|0;b=a?b:0;r=p;return b|0}function cD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;i=m+8|0;h=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(((l[(k[f>>2]|0)+42>>0]|0)&16|0)!=0?(c=(cy(k[k[e>>2]>>2]|0,k[f>>2]|0)|0)+4|0,(k[(k[k[c>>2]>>2]|0)+52>>2]|0)==0):0))j=3;do if((j|0)==3){if((((l[(k[f>>2]|0)+42>>0]|0)&1|0)!=0?(k[(k[k[e>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(l[(k[e>>2]|0)+18>>0]|0|0)==0:0)break;if((k[g>>2]|0)==0?(k[(k[f>>2]|0)+12>>2]|0)!=0:0){j=k[e>>2]|0;k[i>>2]=k[k[f>>2]>>2];Oh(j,35257,i);k[d>>2]=1;j=k[d>>2]|0;r=m;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=m;return j|0}while(0);j=k[e>>2]|0;k[h>>2]=k[k[f>>2]>>2];Oh(j,35228,h);k[d>>2]=1;j=k[d>>2]|0;r=m;return j|0}function dD(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+144|0;j[a>>1]=j[a>>1]&-17|16;r=b;return}function eD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+128|0;u=O+108|0;v=O+104|0;w=O+100|0;f=O+96|0;q=O+92|0;x=O+88|0;z=O+84|0;h=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;n=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;p=O+20|0;K=O+16|0;L=O+12|0;g=O+8|0;o=O+4|0;G=O+112|0;N=O;k[v>>2]=a;k[w>>2]=b;k[f>>2]=c;k[q>>2]=d;k[x>>2]=e;k[z>>2]=k[k[v>>2]>>2];k[A>>2]=0;k[B>>2]=0;k[p>>2]=0;if(!(k[f>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[(k[v>>2]|0)+472>>2]|0)==0?(k[(k[f>>2]|0)+64>>2]|0)==0:0){if(Jx(k[v>>2]|0,k[w>>2]|0)|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(l[(k[w>>2]|0)+42>>0]&16){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[q>>2]|0)==10){if((j[(k[w>>2]|0)+32>>1]|0)>=0)k[q>>2]=l[(k[w>>2]|0)+43>>0];if((k[q>>2]|0)==10)k[q>>2]=2}if((k[k[(k[f>>2]|0)+28>>2]>>2]|0)!=1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[(k[f>>2]|0)+28>>2]|0)+8+20>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+32>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+44>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+36>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+56>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+48>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+8>>2]&1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[h>>2]=k[k[f>>2]>>2];if((k[k[h>>2]>>2]|0)!=1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((l[k[k[(k[h>>2]|0)+4>>2]>>2]>>0]|0)!=160){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[n>>2]=(k[(k[f>>2]|0)+28>>2]|0)+8;c=zx(k[v>>2]|0,0,k[n>>2]|0)|0;k[I>>2]=c;if(!(k[I>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[I>>2]|0)==(k[w>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(((l[(k[w>>2]|0)+42>>0]&32|0)==0|0)!=((l[(k[I>>2]|0)+42>>0]&32|0)==0|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(l[(k[I>>2]|0)+42>>0]&16){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[I>>2]|0)+12>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((j[(k[w>>2]|0)+34>>1]|0)!=(j[(k[I>>2]|0)+34>>1]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((j[(k[w>>2]|0)+32>>1]|0)!=(j[(k[I>>2]|0)+32>>1]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[C>>2]=0;a:while(1){if((k[C>>2]|0)>=(j[(k[w>>2]|0)+34>>1]|0)){f=64;break}k[g>>2]=(k[(k[w>>2]|0)+4>>2]|0)+(k[C>>2]<<4);k[o>>2]=(k[(k[I>>2]|0)+4>>2]|0)+(k[C>>2]<<4);if((i[(k[g>>2]|0)+13>>0]|0)!=(i[(k[o>>2]|0)+13>>0]|0)){f=52;break}if(be(k[(k[g>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0){f=54;break}if((l[(k[g>>2]|0)+12>>0]|0)!=0?(i[(k[o>>2]|0)+12>>0]|0)==0:0){f=57;break}do if((k[C>>2]|0)>0){if(((k[(k[g>>2]|0)+4>>2]|0)==0|0)!=((k[(k[o>>2]|0)+4>>2]|0)==0|0)){f=62;break a}if(!(k[(k[g>>2]|0)+4>>2]|0))break;if(rR(k[(k[(k[g>>2]|0)+4>>2]|0)+8>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+8>>2]|0)|0){f=62;break a}}while(0);k[C>>2]=(k[C>>2]|0)+1}if((f|0)==52){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==54){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==57){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==62){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==64){k[H>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;if(l[(k[H>>2]|0)+54>>0]|0)k[p>>2]=1;k[J>>2]=k[(k[I>>2]|0)+8>>2];while(1){if(!(k[J>>2]|0))break;if(HG(k[H>>2]|0,k[J>>2]|0)|0)break;k[J>>2]=k[(k[J>>2]|0)+20>>2]}if(!(k[J>>2]|0)){f=73;break}k[H>>2]=k[(k[H>>2]|0)+20>>2]}if((f|0)==73){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}do if(k[(k[w>>2]|0)+24>>2]|0){if(!(Vy(k[(k[I>>2]|0)+24>>2]|0,k[(k[w>>2]|0)+24>>2]|0,-1)|0))break;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}while(0);do if(k[(k[z>>2]|0)+24>>2]&524288){if(!(k[(k[w>>2]|0)+16>>2]|0))break;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}while(0);if(k[(k[z>>2]|0)+24>>2]&128){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}o=Ph(k[z>>2]|0,k[(k[I>>2]|0)+64>>2]|0)|0;k[D>>2]=o;o=nx(k[v>>2]|0)|0;k[M>>2]=o;Cx(k[v>>2]|0,k[D>>2]|0);o=(k[v>>2]|0)+40|0;c=k[o>>2]|0;k[o>>2]=c+1;k[F>>2]=c;c=(k[v>>2]|0)+40|0;o=k[c>>2]|0;k[c>>2]=o+1;k[E>>2]=o;o=fD(k[v>>2]|0,k[x>>2]|0,k[w>>2]|0)|0;k[t>>2]=o;o=Fx(k[v>>2]|0)|0;k[K>>2]=o;o=Fx(k[v>>2]|0)|0;k[L>>2]=o;cA(k[v>>2]|0,k[E>>2]|0,k[x>>2]|0,k[w>>2]|0,105);do if(!(k[(k[z>>2]|0)+24>>2]&268435456)){if((j[(k[w>>2]|0)+32>>1]|0)<0){if(!((k[p>>2]|0)!=0?1:(k[(k[w>>2]|0)+8>>2]|0)!=0))f=87}else if(!(k[p>>2]|0))f=87;if((f|0)==87?!((k[q>>2]|0)!=2&(k[q>>2]|0)!=1):0)break;p=sx(k[M>>2]|0,57,k[E>>2]|0,0)|0;k[y>>2]=p;p=px(k[M>>2]|0,13)|0;k[A>>2]=p;hA(k[M>>2]|0,k[y>>2]|0)}while(0);f=k[v>>2]|0;if(!(l[(k[I>>2]|0)+42>>0]&32)){cA(f,k[F>>2]|0,k[D>>2]|0,k[I>>2]|0,104);p=sx(k[M>>2]|0,57,k[F>>2]|0,0)|0;k[B>>2]=p;do if((j[(k[w>>2]|0)+32>>1]|0)<0){f=k[M>>2]|0;if(!(k[(k[w>>2]|0)+8>>2]|0)){t=sx(f,114,k[E>>2]|0,k[L>>2]|0)|0;k[y>>2]=t;break}else{t=sx(f,123,k[F>>2]|0,k[L>>2]|0)|0;k[y>>2]=t;break}}else{p=sx(k[M>>2]|0,123,k[F>>2]|0,k[L>>2]|0)|0;k[y>>2]=p;p=tx(k[M>>2]|0,33,k[E>>2]|0,0,k[L>>2]|0)|0;k[s>>2]=p;uF(k[v>>2]|0,k[q>>2]|0,k[w>>2]|0);hA(k[M>>2]|0,k[s>>2]|0);lD(k[v>>2]|0,k[t>>2]|0,k[L>>2]|0)}while(0);sx(k[M>>2]|0,122,k[F>>2]|0,k[K>>2]|0)|0;wx(k[M>>2]|0,115,k[E>>2]|0,k[K>>2]|0,k[L>>2]|0,k[w>>2]|0,-20)|0;Th(k[M>>2]|0,11);sx(k[M>>2]|0,7,k[F>>2]|0,k[y>>2]|0)|0;sx(k[M>>2]|0,111,k[F>>2]|0,0)|0;sx(k[M>>2]|0,111,k[E>>2]|0,0)|0}else{bA(f,k[x>>2]|0,k[(k[w>>2]|0)+28>>2]|0,1,k[k[w>>2]>>2]|0);bA(k[v>>2]|0,k[D>>2]|0,k[(k[I>>2]|0)+28>>2]|0,0,k[k[I>>2]>>2]|0)}k[H>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;i[G>>0]=0;k[J>>2]=k[(k[I>>2]|0)+8>>2];while(1){if(!(k[J>>2]|0))break;if(HG(k[H>>2]|0,k[J>>2]|0)|0)break;k[J>>2]=k[(k[J>>2]|0)+20>>2]}tx(k[M>>2]|0,104,k[F>>2]|0,k[(k[J>>2]|0)+44>>2]|0,k[D>>2]|0)|0;dA(k[v>>2]|0,k[J>>2]|0);tx(k[M>>2]|0,105,k[E>>2]|0,k[(k[H>>2]|0)+44>>2]|0,k[x>>2]|0)|0;dA(k[v>>2]|0,k[H>>2]|0);Th(k[M>>2]|0,1);w=sx(k[M>>2]|0,57,k[F>>2]|0,0)|0;k[y>>2]=w;sx(k[M>>2]|0,121,k[F>>2]|0,k[K>>2]|0)|0;do if(k[(k[z>>2]|0)+24>>2]&268435456){k[C>>2]=0;while(1){if((k[C>>2]|0)>=(m[(k[J>>2]|0)+52>>1]|0))break;k[N>>2]=k[(k[(k[J>>2]|0)+32>>2]|0)+(k[C>>2]<<2)>>2];if(be(34834,k[N>>2]|0)|0)break;k[C>>2]=(k[C>>2]|0)+1}if((k[C>>2]|0)!=(m[(k[J>>2]|0)+52>>1]|0))break;i[G>>0]=16;tx(k[M>>2]|0,53,k[E>>2]|0,0,-1)|0}while(0);do if(l[(k[I>>2]|0)+42>>0]&32){if((i[(k[H>>2]|0)+55>>0]&3|0)!=2)break;i[G>>0]=l[G>>0]|1}while(0);tx(k[M>>2]|0,126,k[E>>2]|0,k[K>>2]|0,1)|0;Th(k[M>>2]|0,i[G>>0]|0);sx(k[M>>2]|0,7,k[F>>2]|0,(k[y>>2]|0)+1|0)|0;hA(k[M>>2]|0,k[y>>2]|0);sx(k[M>>2]|0,111,k[F>>2]|0,0)|0;sx(k[M>>2]|0,111,k[E>>2]|0,0)|0;k[H>>2]=k[(k[H>>2]|0)+20>>2]}if(k[B>>2]|0)hA(k[M>>2]|0,k[B>>2]|0);Hx(k[v>>2]|0,k[L>>2]|0);Hx(k[v>>2]|0,k[K>>2]|0);if(k[A>>2]|0){rD(k[v>>2]|0);sx(k[M>>2]|0,75,0,0)|0;hA(k[M>>2]|0,k[A>>2]|0);sx(k[M>>2]|0,111,k[E>>2]|0,0)|0;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else{k[u>>2]=1;N=k[u>>2]|0;r=O;return N|0}}}k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}function fD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;i=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=0;if(((l[(k[g>>2]|0)+42>>0]|0)&8|0)!=0?(k[(k[k[e>>2]>>2]|0)+24>>2]&268435456|0)==0:0){b=k[e>>2]|0;if(k[(k[e>>2]|0)+124>>2]|0)b=k[b+124>>2]|0;k[j>>2]=b;k[i>>2]=k[(k[j>>2]|0)+120>>2];while(1){if(k[i>>2]|0)a=(k[(k[i>>2]|0)+4>>2]|0)!=(k[g>>2]|0);else a=0;b=k[i>>2]|0;if(!a)break;k[i>>2]=k[b>>2]}do if(!b){e=dx(k[k[e>>2]>>2]|0,16,0)|0;k[i>>2]=e;if(k[i>>2]|0){k[k[i>>2]>>2]=k[(k[j>>2]|0)+120>>2];k[(k[j>>2]|0)+120>>2]=k[i>>2];k[(k[i>>2]|0)+4>>2]=k[g>>2];k[(k[i>>2]|0)+8>>2]=k[f>>2];f=(k[j>>2]|0)+44|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[j>>2]|0)+44|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[(k[i>>2]|0)+12>>2]=g;j=(k[j>>2]|0)+44|0;k[j>>2]=(k[j>>2]|0)+1;break}k[d>>2]=0;j=k[d>>2]|0;r=m;return j|0}while(0);k[h>>2]=k[(k[i>>2]|0)+12>>2]}k[d>>2]=k[h>>2];j=k[d>>2]|0;r=m;return j|0}function gD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;aA(k[d>>2]|0,73,k[e>>2]|0)|0;i[(k[(k[d>>2]|0)+12>>2]|0)+19>>0]=0;k[(k[(k[d>>2]|0)+12>>2]|0)+28>>2]=0;r=c;return}function hD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q+40|0;d=q+36|0;e=q+32|0;f=q+28|0;o=q+24|0;g=q+20|0;h=q+16|0;m=q+12|0;j=q+8|0;i=q+4|0;n=q;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=nx(k[d>>2]|0)|0;k[o>>2]=c;c=Gx(k[o>>2]|0)|0;k[h>>2]=c;if((l[(k[f>>2]|0)+42>>0]|0)&16)d=cy(k[k[d>>2]>>2]|0,k[f>>2]|0)|0;else d=0;k[m>>2]=d;k[g>>2]=1;a:while(1){if((k[g>>2]|0)>=(k[h>>2]|0)){d=18;break}c=oA(k[o>>2]|0,k[g>>2]|0)|0;k[j>>2]=c;b:do if((l[k[j>>2]>>0]|0|0)==104?(k[(k[j>>2]|0)+12>>2]|0)==(k[e>>2]|0):0){k[n>>2]=k[(k[j>>2]|0)+8>>2];if((k[n>>2]|0)==(k[(k[f>>2]|0)+28>>2]|0)){d=8;break a}k[i>>2]=k[(k[f>>2]|0)+8>>2];while(1){if(!(k[i>>2]|0))break b;if((k[n>>2]|0)==(k[(k[i>>2]|0)+44>>2]|0)){d=12;break a}k[i>>2]=k[(k[i>>2]|0)+20>>2]}}while(0);if((l[k[j>>2]>>0]|0|0)==155?(k[(k[j>>2]|0)+16>>2]|0)==(k[m>>2]|0):0){d=16;break}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==8){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==12){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==16){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==18){k[p>>2]=0;p=k[p>>2]|0;r=q;return p|0}return 0}function iD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=r;r=r+32|0;i=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;e=d;k[i>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[(k[i>>2]|0)+8>>2];$A(k[i>>2]|0,k[f>>2]|0,k[g>>2]|0);a=(k[i>>2]|0)+44|0;c=(k[a>>2]|0)+1|0;k[a>>2]=c;k[e>>2]=c;sx(k[h>>2]|0,84,k[g>>2]|0,k[e>>2]|0)|0;rB(k[f>>2]|0,k[e>>2]|0);r=d;return}function jD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;k[g>>2]=c;k[l>>2]=k[(k[e>>2]|0)+20>>2];if(!(k[l>>2]|0)){a=_A(k[d>>2]|0)|0;k[f>>2]=a;a=(j[(k[e>>2]|0)+34>>1]|0)+1|0;a=Mh(0,a,((a|0)<0)<<31>>31)|0;k[l>>2]=a;if(!(k[l>>2]|0)){wh(k[f>>2]|0);r=m;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[e>>2]|0)+34>>1]|0))break;i[(k[l>>2]|0)+(k[h>>2]|0)>>0]=i[(k[(k[e>>2]|0)+4>>2]|0)+(k[h>>2]<<4)+13>>0]|0;k[h>>2]=(k[h>>2]|0)+1}do{a=k[h>>2]|0;k[h>>2]=a+-1;i[(k[l>>2]|0)+a>>0]=0;if((k[h>>2]|0)<0)break}while((i[(k[l>>2]|0)+(k[h>>2]|0)>>0]|0)==65);k[(k[e>>2]|0)+20>>2]=k[l>>2]}a=Tf(k[l>>2]|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){r=m;return}d=k[d>>2]|0;if(k[g>>2]|0){wx(d,98,k[g>>2]|0,k[h>>2]|0,0,k[l>>2]|0,k[h>>2]|0)|0;r=m;return}else{Wh(d,-1,k[l>>2]|0,k[h>>2]|0);r=m;return}}function kD(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+48|0;j=v+36|0;w=v+32|0;m=v+28|0;n=v+24|0;o=v+20|0;p=v+16|0;q=v+12|0;s=v+8|0;t=v+4|0;u=v;k[j>>2]=a;k[w>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[u>>2]=k[w>>2];while(1){if(!(k[u>>2]|0))break;if(((l[(k[u>>2]|0)+8>>0]|0|0)==(k[m>>2]|0)?(l[(k[u>>2]|0)+9>>0]|0|0)==(k[o>>2]|0):0)?(FG(k[(k[u>>2]|0)+16>>2]|0,k[n>>2]|0)|0)!=0:0)DF(k[j>>2]|0,k[u>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0);k[u>>2]=k[(k[u>>2]|0)+32>>2]}r=v;return}function lD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){r=g;return}sx(k[(k[d>>2]|0)+8>>2]|0,145,k[e>>2]|0,k[f>>2]|0)|0;r=g;return}function mD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((l[(k[d>>2]|0)+23>>0]|0|0)!=0?(jB(k[e>>2]|0)|0)!=0:0){GB(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,0);r=g;return}$A(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function nD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;c=i+16|0;g=i+12|0;e=i+8|0;f=i+4|0;d=i;k[j>>2]=a;k[c>>2]=b;a=k[j>>2]|0;if(k[(k[j>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[g>>2]=a;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[g>>2]|0)+412>>2]|0))break;if((k[c>>2]|0)==(k[(k[(k[g>>2]|0)+460>>2]|0)+(k[e>>2]<<2)>>2]|0)){h=10;break}k[e>>2]=(k[e>>2]|0)+1}if((h|0)==10){r=i;return}k[f>>2]=(k[(k[g>>2]|0)+412>>2]|0)+1<<2;j=k[f>>2]|0;j=Wd(k[(k[g>>2]|0)+460>>2]|0,j,((j|0)<0)<<31>>31)|0;k[d>>2]=j;if(k[d>>2]|0){k[(k[g>>2]|0)+460>>2]=k[d>>2];h=k[c>>2]|0;f=(k[g>>2]|0)+412|0;j=k[f>>2]|0;k[f>>2]=j+1;k[(k[(k[g>>2]|0)+460>>2]|0)+(j<<2)>>2]=h;r=i;return}else{wh(k[k[g>>2]>>2]|0);r=i;return}}function oD(a,b,c,d,e,f,g,h,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;p=p|0;q=q|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=r;r=r+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;k[E>>2]=a;k[F>>2]=b;k[H>>2]=c;k[I>>2]=d;k[J>>2]=e;k[K>>2]=f;k[L>>2]=g;i[M>>0]=h;i[N>>0]=n;k[O>>2]=o;k[G>>2]=p;k[s>>2]=q;k[da>>2]=0;k[ja>>2]=0;k[X>>2]=0;k[W>>2]=0;i[R>>0]=0;k[ia>>2]=-1;i[Y>>0]=(k[L>>2]|0)!=0;k[S>>2]=k[k[E>>2]>>2];g=nx(k[E>>2]|0)|0;k[ka>>2]=g;k[w>>2]=j[(k[F>>2]|0)+34>>1];if(!(l[(k[F>>2]|0)+42>>0]&32)){k[da>>2]=0;k[_>>2]=1}else{g=Tj(k[F>>2]|0)|0;k[da>>2]=g;k[_>>2]=m[(k[da>>2]|0)+50>>1]}k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[w>>2]|0))break;a:do if((k[T>>2]|0)!=(j[(k[F>>2]|0)+32>>1]|0)){if((k[s>>2]|0)!=0?(k[(k[s>>2]|0)+(k[T>>2]<<2)>>2]|0)<0:0)break;k[$>>2]=l[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+12>>0];if(k[$>>2]|0){if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];if((k[$>>2]|0)==5?(k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0)==0:0)k[$>>2]=2;switch(k[$>>2]|0){case 2:{dy(k[E>>2]|0);break}case 3:case 1:break;case 4:{sx(k[ka>>2]|0,34,(k[K>>2]|0)+1+(k[T>>2]|0)|0,k[O>>2]|0)|0;break a}default:{g=aA(k[ka>>2]|0,35,(k[K>>2]|0)+1+(k[T>>2]|0)|0)|0;k[t>>2]=g;$A(k[E>>2]|0,k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0,(k[K>>2]|0)+1+(k[T>>2]|0)|0);hA(k[ka>>2]|0,k[t>>2]|0);break a}}g=k[S>>2]|0;f=k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)>>2]|0;k[A>>2]=k[k[F>>2]>>2];k[A+4>>2]=f;g=Qh(g,30161,A)|0;k[B>>2]=g;wx(k[ka>>2]|0,74,1299,k[$>>2]|0,(k[K>>2]|0)+1+(k[T>>2]|0)|0,k[B>>2]|0,-1)|0;Th(k[ka>>2]|0,1)}}while(0);k[T>>2]=(k[T>>2]|0)+1}b:do if((k[(k[F>>2]|0)+24>>2]|0)!=0?(k[(k[S>>2]|0)+24>>2]&8192|0)==0:0){k[x>>2]=k[(k[F>>2]|0)+24>>2];k[(k[E>>2]|0)+56>>2]=(k[K>>2]|0)+1;k[$>>2]=(l[N>>0]|0)!=10?l[N>>0]|0:2;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[k[x>>2]>>2]|0))break b;k[y>>2]=k[(k[(k[x>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)>>2];if(!((k[s>>2]|0)!=0?(tF(k[y>>2]|0,k[s>>2]|0,l[M>>0]|0)|0)!=0:0)){B=eA(k[ka>>2]|0)|0;k[v>>2]=B;tB(k[E>>2]|0,k[y>>2]|0,k[v>>2]|0,16);if((k[$>>2]|0)==4)gA(k[ka>>2]|0,k[O>>2]|0)|0;else{k[C>>2]=k[(k[(k[x>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)+4>>2];if(!(k[C>>2]|0))k[C>>2]=k[k[F>>2]>>2];if((k[$>>2]|0)==5)k[$>>2]=2;DA(k[E>>2]|0,275,k[$>>2]|0,k[C>>2]|0,0,3)}iA(k[ka>>2]|0,k[v>>2]|0)}k[T>>2]=(k[T>>2]|0)+1}}while(0);if((l[M>>0]|0)!=0&(k[da>>2]|0)==0){C=eA(k[ka>>2]|0)|0;k[u>>2]=C;k[$>>2]=l[(k[F>>2]|0)+43>>0];if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];if(i[Y>>0]|0){tx(k[ka>>2]|0,37,k[K>>2]|0,k[u>>2]|0,k[L>>2]|0)|0;Th(k[ka>>2]|0,-112)}c:do if((k[$>>2]|0)==5?(l[N>>0]|0)!=5:0){k[ca>>2]=k[(k[F>>2]|0)+8>>2];while(1){if(!(k[ca>>2]|0))break c;if((l[(k[ca>>2]|0)+54>>0]|0)==4)break;if((l[(k[ca>>2]|0)+54>>0]|0)==3)break;k[ca>>2]=k[(k[ca>>2]|0)+20>>2]}C=px(k[ka>>2]|0,13)|0;k[X>>2]=C}while(0);tx(k[ka>>2]|0,33,k[I>>2]|0,k[u>>2]|0,k[K>>2]|0)|0;switch(k[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{k[z>>2]=0;if(k[(k[S>>2]|0)+24>>2]&262144){C=bD(k[E>>2]|0,k[F>>2]|0,109,0,0)|0;k[z>>2]=C}if((k[z>>2]|0)==0?(vF(k[E>>2]|0,k[F>>2]|0,0,0)|0)==0:0){if(k[(k[F>>2]|0)+8>>2]|0){wF(k[E>>2]|0);yF(k[E>>2]|0,k[F>>2]|0,k[I>>2]|0,k[J>>2]|0,0,-1)}}else{wF(k[E>>2]|0);xF(k[E>>2]|0,k[F>>2]|0,k[z>>2]|0,k[I>>2]|0,k[J>>2]|0,k[K>>2]|0,1,0,5,1,-1)}k[ja>>2]=1;break}case 4:{gA(k[ka>>2]|0,k[O>>2]|0)|0;break}default:{k[$>>2]=2;D=55}}if((D|0)==55)uF(k[E>>2]|0,k[$>>2]|0,k[F>>2]|0);iA(k[ka>>2]|0,k[u>>2]|0);if(k[X>>2]|0){D=px(k[ka>>2]|0,13)|0;k[W>>2]=D;hA(k[ka>>2]|0,k[X>>2]|0)}}k[Z>>2]=0;k[ca>>2]=k[(k[F>>2]|0)+8>>2];while(1){if(!(k[ca>>2]|0))break;do if(k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0){if(!(l[R>>0]|0)){jD(k[ka>>2]|0,k[F>>2]|0,(k[K>>2]|0)+1|0);i[R>>0]=1}k[V>>2]=(k[J>>2]|0)+(k[Z>>2]|0);D=eA(k[ka>>2]|0)|0;k[Q>>2]=D;if(k[(k[ca>>2]|0)+36>>2]|0){sx(k[ka>>2]|0,79,0,k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0)|0;k[(k[E>>2]|0)+56>>2]=(k[K>>2]|0)+1;LA(k[E>>2]|0,k[(k[ca>>2]|0)+36>>2]|0,k[Q>>2]|0,16);k[(k[E>>2]|0)+56>>2]=0}D=MA(k[E>>2]|0,m[(k[ca>>2]|0)+52>>1]|0)|0;k[ga>>2]=D;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[ca>>2]|0)+52>>1]|0))break;k[U>>2]=j[(k[(k[ca>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1];do if((k[U>>2]|0)==-2){k[(k[E>>2]|0)+56>>2]=(k[K>>2]|0)+1;WA(k[E>>2]|0,k[(k[(k[(k[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)>>2]|0,(k[ga>>2]|0)+(k[T>>2]|0)|0);k[(k[E>>2]|0)+56>>2]=0}else{if((k[U>>2]|0)!=-1?(k[U>>2]|0)!=(j[(k[F>>2]|0)+32>>1]|0):0)k[la>>2]=(k[U>>2]|0)+(k[K>>2]|0)+1;else{if((k[ia>>2]|0)==((k[ga>>2]|0)+(k[T>>2]|0)|0))break;k[la>>2]=k[K>>2];if(k[(k[ca>>2]|0)+36>>2]|0)s=-1;else s=(k[ga>>2]|0)+(k[T>>2]|0)|0;k[ia>>2]=s}sx(k[ka>>2]|0,(k[U>>2]|0)<0?86:85,k[la>>2]|0,(k[ga>>2]|0)+(k[T>>2]|0)|0)|0}while(0);k[T>>2]=(k[T>>2]|0)+1}tx(k[ka>>2]|0,99,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0,k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0)|0;eB(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);if(((l[Y>>0]|0)!=0?(k[da>>2]|0)==(k[ca>>2]|0):0)?(l[M>>0]|0)==0:0){iA(k[ka>>2]|0,k[Q>>2]|0);break}k[$>>2]=l[(k[ca>>2]|0)+54>>0];if(!(k[$>>2]|0)){PA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);iA(k[ka>>2]|0,k[Q>>2]|0);break}if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];Sh(k[ka>>2]|0,29,k[V>>2]|0,k[Q>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+50>>1]|0)|0;if((k[ca>>2]|0)==(k[da>>2]|0))s=k[ga>>2]|0;else s=MA(k[E>>2]|0,k[_>>2]|0)|0;k[ha>>2]=s;d:do if((l[Y>>0]|0)!=0|(k[$>>2]|0)==5){if(!(l[(k[F>>2]|0)+42>>0]&32)){sx(k[ka>>2]|0,129,k[V>>2]|0,k[ha>>2]|0)|0;if(!(i[Y>>0]|0))break;tx(k[ka>>2]|0,37,k[ha>>2]|0,k[Q>>2]|0,k[L>>2]|0)|0;Th(k[ka>>2]|0,-112);break}e:do if((k[ca>>2]|0)!=(k[da>>2]|0)){k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[da>>2]|0)+50>>1]|0))break e;D=(YA(k[ca>>2]|0,j[(k[(k[da>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1]|0)|0)<<16>>16;k[ma>>2]=D;tx(k[ka>>2]|0,96,k[V>>2]|0,k[ma>>2]|0,(k[ha>>2]|0)+(k[T>>2]|0)|0)|0;k[T>>2]=(k[T>>2]|0)+1}}while(0);if(i[Y>>0]|0){D=Gx(k[ka>>2]|0)|0;k[P>>2]=D+(m[(k[da>>2]|0)+50>>1]|0);k[aa>>2]=36;k[fa>>2]=(i[(k[ca>>2]|0)+55>>0]&3|0)==2?k[ga>>2]|0:k[ha>>2]|0;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[da>>2]|0)+50>>1]|0))break d;D=fA(k[E>>2]|0,k[(k[(k[da>>2]|0)+32>>2]|0)+(k[T>>2]<<2)>>2]|0)|0;k[ba>>2]=D;k[ma>>2]=j[(k[(k[da>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1];if((k[T>>2]|0)==((m[(k[da>>2]|0)+50>>1]|0)-1|0)){k[P>>2]=k[Q>>2];k[aa>>2]=37}wx(k[ka>>2]|0,k[aa>>2]|0,(k[L>>2]|0)+1+(k[ma>>2]|0)|0,k[P>>2]|0,(k[fa>>2]|0)+(k[T>>2]|0)|0,k[ba>>2]|0,-4)|0;Th(k[ka>>2]|0,-112);k[T>>2]=(k[T>>2]|0)+1}}}while(0);switch(k[$>>2]|0){case 3:case 2:case 1:{AA(k[E>>2]|0,k[$>>2]|0,k[ca>>2]|0);break}case 4:{gA(k[ka>>2]|0,k[O>>2]|0)|0;break}default:{k[ea>>2]=0;wF(k[E>>2]|0);if(k[(k[S>>2]|0)+24>>2]&262144){D=bD(k[E>>2]|0,k[F>>2]|0,109,0,0)|0;k[ea>>2]=D}xF(k[E>>2]|0,k[F>>2]|0,k[ea>>2]|0,k[I>>2]|0,k[J>>2]|0,k[ha>>2]|0,k[_>>2]&65535,0,5,((k[ca>>2]|0)==(k[da>>2]|0)?1:0)&255,-1);k[ja>>2]=1}}iA(k[ka>>2]|0,k[Q>>2]|0);PA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);if((k[ha>>2]|0)!=(k[ga>>2]|0))PA(k[E>>2]|0,k[ha>>2]|0,k[_>>2]|0)}while(0);k[ca>>2]=k[(k[ca>>2]|0)+20>>2];k[Z>>2]=(k[Z>>2]|0)+1}if(!(k[X>>2]|0)){la=k[ja>>2]|0;ma=k[G>>2]|0;k[ma>>2]=la;r=na;return}gA(k[ka>>2]|0,(k[X>>2]|0)+1|0)|0;hA(k[ka>>2]|0,k[W>>2]|0);la=k[ja>>2]|0;ma=k[G>>2]|0;k[ma>>2]=la;r=na;return}function pD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+112|0;g=O+108|0;h=O+104|0;m=O+100|0;n=O+96|0;o=O+92|0;p=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;q=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;k[g>>2]=a;k[h>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[v>>2]=k[k[g>>2]>>2];k[C>>2]=l[(k[g>>2]|0)+150>>0];if(!(k[(k[v>>2]|0)+24>>2]&524288)){r=O;return}c=Ph(k[v>>2]|0,k[(k[h>>2]|0)+64>>2]|0)|0;k[z>>2]=c;k[M>>2]=k[(k[(k[v>>2]|0)+16>>2]|0)+(k[z>>2]<<4)>>2];k[D>>2]=k[(k[h>>2]|0)+16>>2];a:while(1){if(!(k[D>>2]|0)){N=39;break}k[E>>2]=0;k[t>>2]=0;k[u>>2]=0;if(!(((k[o>>2]|0)!=0?(be(k[k[h>>2]>>2]|0,k[(k[D>>2]|0)+8>>2]|0)|0)!=0:0)?(tD(k[h>>2]|0,k[D>>2]|0,k[o>>2]|0,k[p>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(i[(k[g>>2]|0)+150>>0]|0){c=Di(k[v>>2]|0,k[(k[D>>2]|0)+8>>2]|0,k[M>>2]|0)|0;k[I>>2]=c}else{c=Nh(k[g>>2]|0,0,k[(k[D>>2]|0)+8>>2]|0,k[M>>2]|0)|0;k[I>>2]=c}if((k[I>>2]|0)!=0?(LC(k[g>>2]|0,k[I>>2]|0,k[D>>2]|0,E,t)|0)==0:0){if(k[t>>2]|0)k[q>>2]=k[t>>2];else{k[y>>2]=k[(k[D>>2]|0)+36>>2];k[q>>2]=y}k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[D>>2]|0)+20>>2]|0))break;if((k[(k[q>>2]|0)+(k[x>>2]<<2)>>2]|0)==(j[(k[h>>2]|0)+32>>1]|0))k[(k[q>>2]|0)+(k[x>>2]<<2)>>2]=-1;if(k[(k[v>>2]|0)+296>>2]|0){if(k[E>>2]|0)e=j[(k[(k[E>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0;else e=j[(k[I>>2]|0)+32>>1]|0;k[L>>2]=k[(k[(k[I>>2]|0)+4>>2]|0)+(e<<16>>16<<4)>>2];c=sz(k[g>>2]|0,k[k[I>>2]>>2]|0,k[L>>2]|0,k[z>>2]|0)|0;k[J>>2]=c;k[u>>2]=(k[J>>2]|0)==2&1}k[x>>2]=(k[x>>2]|0)+1}bA(k[g>>2]|0,k[z>>2]|0,k[(k[I>>2]|0)+28>>2]|0,0,k[k[I>>2]>>2]|0);c=(k[g>>2]|0)+40|0;k[c>>2]=(k[c>>2]|0)+1;if(k[m>>2]|0)uD(k[g>>2]|0,k[z>>2]|0,k[I>>2]|0,k[E>>2]|0,k[D>>2]|0,k[q>>2]|0,k[m>>2]|0,-1,k[u>>2]|0);if((k[n>>2]|0)!=0?(vD(k[g>>2]|0,k[D>>2]|0)|0)==0:0)uD(k[g>>2]|0,k[z>>2]|0,k[I>>2]|0,k[E>>2]|0,k[D>>2]|0,k[q>>2]|0,k[n>>2]|0,1,k[u>>2]|0);bg(k[v>>2]|0,k[t>>2]|0);break}if(!(k[C>>2]|0)){N=59;break a}if(l[(k[v>>2]|0)+69>>0]|0){N=59;break a}if(!(k[I>>2]|0)){c=nx(k[g>>2]|0)|0;k[K>>2]=c;c=Gx(k[K>>2]|0)|0;k[A>>2]=c+(k[(k[D>>2]|0)+20>>2]|0)+1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[D>>2]|0)+20>>2]|0))break;k[B>>2]=(k[(k[D>>2]|0)+36+(k[x>>2]<<3)>>2]|0)+(k[m>>2]|0)+1;sx(k[K>>2]|0,34,k[B>>2]|0,k[A>>2]|0)|0;k[x>>2]=(k[x>>2]|0)+1}sx(k[K>>2]|0,144,l[(k[D>>2]|0)+24>>0]|0,-1)|0}}while(0);k[D>>2]=k[(k[D>>2]|0)+4>>2]}if((N|0)==39){M=gy(k[h>>2]|0)|0;k[D>>2]=M;b:while(1){if(!(k[D>>2]|0)){N=59;break}k[F>>2]=0;k[s>>2]=0;if(!((k[o>>2]|0)!=0?(wD(k[h>>2]|0,k[D>>2]|0,k[o>>2]|0,k[p>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((i[(k[D>>2]|0)+24>>0]|0)==0?(k[(k[v>>2]|0)+24>>2]&33554432|0)==0:0)?(k[(k[g>>2]|0)+124>>2]|0)==0:0)?(i[(k[g>>2]|0)+20>>0]|0)==0:0)break;if(LC(k[g>>2]|0,k[h>>2]|0,k[D>>2]|0,F,s)|0){if(!(k[C>>2]|0)){N=59;break b}if(l[(k[v>>2]|0)+69>>0]|0){N=59;break b}else break}M=iw(k[v>>2]|0,0,0,0)|0;k[H>>2]=M;if(k[H>>2]|0){k[G>>2]=(k[H>>2]|0)+8;k[(k[G>>2]|0)+16>>2]=k[k[D>>2]>>2];k[(k[G>>2]|0)+8>>2]=k[k[k[D>>2]>>2]>>2];L=(k[(k[G>>2]|0)+16>>2]|0)+36|0;j[L>>1]=(j[L>>1]|0)+1<<16>>16;L=(k[g>>2]|0)+40|0;M=k[L>>2]|0;k[L>>2]=M+1;k[(k[G>>2]|0)+44>>2]=M;if(k[n>>2]|0)xD(k[g>>2]|0,k[H>>2]|0,k[h>>2]|0,k[F>>2]|0,k[D>>2]|0,k[s>>2]|0,k[n>>2]|0,-1);if((k[m>>2]|0)!=0?(k[w>>2]=l[(k[D>>2]|0)+25+((k[o>>2]|0)!=0&1)>>0],xD(k[g>>2]|0,k[H>>2]|0,k[h>>2]|0,k[F>>2]|0,k[D>>2]|0,k[s>>2]|0,k[m>>2]|0,1),((k[w>>2]|0)!=9?(i[(k[D>>2]|0)+24>>0]|0)==0:0)&(k[w>>2]|0)!=7):0)dy(k[g>>2]|0);k[(k[G>>2]|0)+8>>2]=0;rv(k[v>>2]|0,k[H>>2]|0)}bg(k[v>>2]|0,k[s>>2]|0)}while(0);k[D>>2]=k[(k[D>>2]|0)+12>>2]}if((N|0)==59){r=O;return}}else if((N|0)==59){r=O;return}}function qD(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+64|0;n=E+52|0;o=E+48|0;p=E+44|0;q=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=m;i[x>>0]=0;m=nx(k[n>>2]|0)|0;k[D>>2]=m;k[y>>2]=0;k[z>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;if(k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0){i[x>>0]=1;if(k[(k[z>>2]|0)+36>>2]|0){e=k[D>>2]|0;m=k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0;sx(e,34,m,(Gx(k[D>>2]|0)|0)+2|0)|0}sx(k[D>>2]|0,126,(k[q>>2]|0)+(k[y>>2]|0)|0,k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0)|0;i[A>>0]=0;i[A>>0]=(k[w>>2]|0)!=0?16:0;if((i[(k[z>>2]|0)+55>>0]&3|0)==2?(l[(k[o>>2]|0)+42>>0]&32|0)!=0:0)i[A>>0]=l[A>>0]|1;Th(k[D>>2]|0,i[A>>0]|0)}k[z>>2]=k[(k[z>>2]|0)+20>>2];k[y>>2]=(k[y>>2]|0)+1}if(l[(k[o>>2]|0)+42>>0]&32){r=E;return}k[B>>2]=(k[s>>2]|0)+1;m=Fx(k[n>>2]|0)|0;k[C>>2]=m;tx(k[D>>2]|0,99,k[B>>2]|0,j[(k[o>>2]|0)+34>>1]|0,k[C>>2]|0)|0;if(!(i[x>>0]|0))jD(k[D>>2]|0,k[o>>2]|0,0);eB(k[n>>2]|0,k[B>>2]|0,j[(k[o>>2]|0)+34>>1]|0);if(i[(k[n>>2]|0)+18>>0]|0)i[A>>0]=0;else{i[A>>0]=1;i[A>>0]=l[A>>0]|((k[u>>2]|0)!=0?4:2)}if(k[v>>2]|0)i[A>>0]=l[A>>0]|8;if(k[w>>2]|0)i[A>>0]=l[A>>0]|16;tx(k[D>>2]|0,115,k[p>>2]|0,k[C>>2]|0,k[s>>2]|0)|0;if(!(i[(k[n>>2]|0)+18>>0]|0))Wh(k[D>>2]|0,-1,k[o>>2]|0,-20);Th(k[D>>2]|0,i[A>>0]|0);r=E;return}function rD(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+120>>2]|0)){r=c;return}sD(k[b>>2]|0);r=c;return}function sD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;g=l+24|0;j=l+20|0;d=l+16|0;c=l+12|0;h=l+8|0;e=l+4|0;f=l;k[b>>2]=a;k[j>>2]=k[(k[b>>2]|0)+8>>2];k[d>>2]=k[k[b>>2]>>2];k[g>>2]=k[(k[b>>2]|0)+120>>2];while(1){if(!(k[g>>2]|0)){b=5;break}k[h>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[(k[g>>2]|0)+8>>2]<<4);k[f>>2]=k[(k[g>>2]|0)+12>>2];a=Fx(k[b>>2]|0)|0;k[e>>2]=a;cA(k[b>>2]|0,0,k[(k[g>>2]|0)+8>>2]|0,k[(k[(k[h>>2]|0)+12>>2]|0)+72>>2]|0,105);a=Uh(k[j>>2]|0,5,34384,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){b=5;break}k[(k[c>>2]|0)+4>>2]=(k[f>>2]|0)+1;k[(k[c>>2]|0)+20+8>>2]=(k[f>>2]|0)+1;k[(k[c>>2]|0)+40+4>>2]=(k[f>>2]|0)-1;k[(k[c>>2]|0)+40+12>>2]=k[e>>2];k[(k[c>>2]|0)+60+8>>2]=k[e>>2];k[(k[c>>2]|0)+60+12>>2]=(k[f>>2]|0)+1;i[(k[c>>2]|0)+60+3>>0]=8;Hx(k[b>>2]|0,k[e>>2]|0);k[g>>2]=k[k[g>>2]>>2]}if((b|0)==5){r=l;return}}function tD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;m=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[f>>2]|0)+20>>2]|0)){e=8;break}k[l>>2]=k[(k[f>>2]|0)+36+(k[i>>2]<<3)>>2];if((k[(k[g>>2]|0)+(k[l>>2]<<2)>>2]|0)>=0){e=4;break}if((k[h>>2]|0)!=0?(k[l>>2]|0)==(j[(k[e>>2]|0)+32>>1]|0):0){e=6;break}k[i>>2]=(k[i>>2]|0)+1}if((e|0)==4){k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else if((e|0)==6){k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else if((e|0)==8){k[m>>2]=0;m=k[m>>2]|0;r=n;return m|0}return 0} -function jc(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function kc(){return r|0}function lc(a){a=a|0;r=a}function mc(a,b){a=a|0;b=b|0;r=a;s=b}function nc(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function oc(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function pc(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function qc(a){a=a|0;L=a}function rc(){return L|0}function sc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=40)break;k[d>>2]=0;switch(l[360+((k[c>>2]|0)*12|0)+5>>0]|0){case 1:{k[d>>2]=k[b>>2];break}case 2:{k[d>>2]=-1;break}default:{}}Gf(k[b>>2]|0,k[360+((k[c>>2]|0)*12|0)>>2]|0,i[360+((k[c>>2]|0)*12|0)+4>>0]|0,l[360+((k[c>>2]|0)*12|0)+6>>0]|0,k[d>>2]|0,k[360+((k[c>>2]|0)*12|0)+8>>2]|0,0,0)|0;k[c>>2]=(k[c>>2]|0)+1}k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=6)break;k[e>>2]=0;switch(l[840+(k[c>>2]<<4)+5>>0]|0){case 1:{k[e>>2]=k[b>>2];break}case 2:{k[e>>2]=-1;break}default:{}}Gf(k[b>>2]|0,k[840+(k[c>>2]<<4)>>2]|0,i[840+(k[c>>2]<<4)+4>>0]|0,1,k[e>>2]|0,0,k[840+(k[c>>2]<<4)+8>>2]|0,k[840+(k[c>>2]<<4)+12>>2]|0)|0;k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,378,16758);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+aa(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,379,16767);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+ba(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,380,16776);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+ca(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;p[g>>3]=0.0;if((k[i>>2]|0)!=2)$a(16785,16734,570,16793);if((oe(k[k[e>>2]>>2]|0)|0)!=5?(oe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;j=+le(k[(k[e>>2]|0)+4>>2]|0);p[g>>3]=j;re(k[d>>2]|0,+da(+(+p[f>>3]),+(+p[g>>3])));r=h;return}ve(k[d>>2]|0);r=h;return}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,394,16802);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+SQ(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,402,16812);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+TQ(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,410,16822);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+UQ(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+64|0;d=n+32|0;o=n+28|0;e=n+24|0;l=n+20|0;m=n+16|0;g=n+12|0;f=n+8|0;h=n+4|0;j=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[l>>2]=n+48;k[m>>2]=n+40;k[g>>2]=0;k[f>>2]=0;if((k[o>>2]|0)!=2)$a(16785,16734,1680,16832);if((oe(k[k[e>>2]>>2]|0)|0)!=5?(oe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){o=je(k[k[e>>2]>>2]|0)|0;k[h>>2]=o;o=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[j>>2]=o;wd(k[h>>2]|0,k[l>>2]|0);wd(k[j>>2]|0,k[m>>2]|0);k[f>>2]=0;while(1){if((k[f>>2]|0)>=4)break;o=xd(k[l>>2]|0)|0;if((o|0)==(xd(k[m>>2]|0)|0))k[g>>2]=(k[g>>2]|0)+1;do{o=(k[l>>2]|0)+1|0;k[l>>2]=o}while((192&i[o>>0]|0)==128);do{o=(k[m>>2]|0)+1|0;k[m>>2]=o}while((192&i[o>>0]|0)==128);k[f>>2]=(k[f>>2]|0)+1}te(k[d>>2]|0,k[g>>2]|0);r=n;return}ve(k[d>>2]|0);r=n;return}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,498,17236);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+yd(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,499,17248);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+zd(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,420,17260);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+Z(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,419,17268);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+_(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,421,17276);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+$(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,422,17284);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+Ad(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,446,17292);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+VQ(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,438,17301);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+ZQ(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,454,17310);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+_Q(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,456,17319);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+Bd(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,474,17328);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+ea(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,472,17336);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+fa(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,473,17344);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+XQ(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0.0;i=r;r=r+48|0;d=i+32|0;j=i+28|0;e=i+24|0;f=i+16|0;g=i+8|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;p[f>>3]=0.0;p[g>>3]=0.0;if((k[j>>2]|0)!=2)$a(16785,16734,546,17354);if((oe(k[k[e>>2]>>2]|0)|0)!=5?(oe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){l=+le(k[k[e>>2]>>2]|0);p[f>>3]=l;l=+le(k[(k[e>>2]|0)+4>>2]|0);p[g>>3]=l;j=LQ()|0;k[j>>2]=0;l=+Y(+(+p[f>>3]),+(+p[g>>3]));p[h>>3]=l;j=LQ()|0;d=k[d>>2]|0;if(!(k[j>>2]|0)){re(d,+p[h>>3]);r=i;return}else{h=LQ()|0;h=MQ(k[h>>2]|0)|0;j=LQ()|0;se(d,h,k[j>>2]|0);r=i;return}}ve(k[d>>2]|0);r=i;return}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;g=h+24|0;i=h+20|0;d=h+16|0;f=h+8|0;e=h;k[g>>2]=a;k[i>>2]=b;k[d>>2]=c;p[f>>3]=0.0;a=e;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(16726,16734,590,17364);switch(oe(k[k[d>>2]>>2]|0)|0){case 1:{f=ne(k[k[d>>2]>>2]|0)|0;i=e;k[i>>2]=f;k[i+4>>2]=L;i=e;f=k[i+4>>2]|0;if((f|0)>0|(f|0)==0&(k[i>>2]|0)>>>0>0)d=1;else d=(k[e+4>>2]|0)<0?-1:0;i=e;k[i>>2]=d;k[i+4>>2]=((d|0)<0)<<31>>31;i=e;ue(k[g>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{ve(k[g>>2]|0);r=h;return}default:{j=+le(k[k[d>>2]>>2]|0);p[f>>3]=j;if(+p[f>>3]>0.0)d=1;else d=+p[f>>3]<0.0?-1:0;p[f>>3]=+(d|0);re(k[g>>2]|0,+p[f>>3]);r=h;return}}}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,375,17373);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+X(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;a=f;k[a>>2]=0;k[a+4>>2]=0;p[g>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,514,17382);switch(oe(k[k[e>>2]>>2]|0)|0){case 1:{g=ne(k[k[e>>2]>>2]|0)|0;a=f;k[a>>2]=g;k[a+4>>2]=L;a=k[d>>2]|0;g=f;i=f;ue(a,kS(k[g>>2]|0,k[g+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0,L);r=h;return}case 5:{ve(k[d>>2]|0);r=h;return}default:{j=+le(k[k[e>>2]>>2]|0);p[g>>3]=j;re(k[d>>2]|0,+p[g>>3]*+p[g>>3]);r=h;return}}}function Sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+48|0;d=h+32|0;i=h+28|0;e=h+24|0;g=h+16|0;f=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[g>>3]=0.0;a=h+8|0;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(16726,16734,620,17393);switch(oe(k[k[e>>2]>>2]|0)|0){case 1:{g=ne(k[k[e>>2]>>2]|0)|0;i=f;k[i>>2]=g;k[i+4>>2]=L;i=f;ue(k[d>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{ve(k[d>>2]|0);r=h;return}default:{j=+le(k[k[e>>2]>>2]|0);p[g>>3]=j;j=+ga(+(+p[g>>3]));ue(k[d>>2]|0,~~j>>>0,+W(j)>=1.0?(j>0.0?~~+ia(+V(j/4294967296.0),4294967295.0)>>>0:~~+ga((j-+(~~j>>>0))/4294967296.0)>>>0):0);r=h;return}}}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+48|0;d=h+32|0;i=h+28|0;e=h+24|0;g=h+16|0;f=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[g>>3]=0.0;a=h+8|0;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(16726,16734,645,17402);switch(oe(k[k[e>>2]>>2]|0)|0){case 1:{g=ne(k[k[e>>2]>>2]|0)|0;i=f;k[i>>2]=g;k[i+4>>2]=L;i=f;ue(k[d>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{ve(k[d>>2]|0);r=h;return}default:{j=+le(k[k[e>>2]>>2]|0);p[g>>3]=j;j=+V(+(+p[g>>3]));ue(k[d>>2]|0,~~j>>>0,+W(j)>=1.0?(j>0.0?~~+ia(+V(j/4294967296.0),4294967295.0)>>>0:~~+ga((j-+(~~j>>>0))/4294967296.0)>>>0):0);r=h;return}}}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;re(k[e>>2]|0,3.141592653589793);r=d;return}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;d=m+48|0;n=m+44|0;e=m+40|0;j=m+36|0;l=m+32|0;g=m+24|0;h=m+16|0;i=m+8|0;f=m;k[d>>2]=a;k[n>>2]=b;k[e>>2]=c;a=f;k[a>>2]=0;k[a+4>>2]=0;if((k[n>>2]|0)!=2){r=m;return}if(5==(oe(k[k[e>>2]>>2]|0)|0)){r=m;return}a=ne(k[(k[e>>2]|0)+4>>2]|0)|0;n=g;k[n>>2]=a;k[n+4>>2]=L;if((k[g+4>>2]|0)<0){se(k[d>>2]|0,17412,-1);r=m;return}a=ke(k[k[e>>2]>>2]|0)|0;n=h;k[n>>2]=a;k[n+4>>2]=((a|0)<0)<<31>>31;n=h;a=g;a=kS(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=i;k[n>>2]=a;k[n+4>>2]=L;n=i;n=$R(k[n>>2]|0,k[n+4>>2]|0,1,0)|0;n=Sd(n)|0;k[j>>2]=n;n=h;n=$R(k[n>>2]|0,k[n+4>>2]|0,1,0)|0;n=Sd(n)|0;k[l>>2]=n;if((k[j>>2]|0)!=0&(k[l>>2]|0)!=0){n=k[l>>2]|0;sR(n,je(k[k[e>>2]>>2]|0)|0)|0;n=f;k[n>>2]=0;k[n+4>>2]=0;while(1){i=f;c=k[i+4>>2]|0;n=g;a=k[n+4>>2]|0;if(!((c|0)<(a|0)|((c|0)==(a|0)?(k[i>>2]|0)>>>0<(k[n>>2]|0)>>>0:0)))break;n=k[j>>2]|0;a=f;i=h;i=kS(k[a>>2]|0,k[a+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0;sR(n+i|0,k[l>>2]|0)|0;i=f;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;n=f;k[n>>2]=i;k[n+4>>2]=L}we(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);Ud(k[l>>2]|0);r=m;return}Ce(k[d>>2]|0);if(k[j>>2]|0)Ud(k[j>>2]|0);if(!(k[l>>2]|0)){r=m;return}Ud(k[l>>2]|0);r=m;return}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;i=l+12|0;j=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;k[g>>2]=0;if(!((k[e>>2]|0)==3|(k[e>>2]|0)==2))$a(17425,16734,1038,17443);if(5!=(oe(k[k[f>>2]>>2]|0)|0)?5!=(oe(k[(k[f>>2]|0)+4>>2]|0)|0):0){a=je(k[k[f>>2]>>2]|0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){r=l;return}a=je(k[(k[f>>2]|0)+4>>2]|0)|0;k[j>>2]=a;if((k[e>>2]|0)==3){a=(me(k[(k[f>>2]|0)+8>>2]|0)|0)-1|0;k[h>>2]=a;k[h>>2]=(k[h>>2]|0)<0?0:a}else k[h>>2]=0;j=Cd(k[i>>2]|0,k[j>>2]|0,k[h>>2]|0,0)|0;k[g>>2]=j;te(k[d>>2]|0,(k[g>>2]|0)+1|0);r=l;return}ve(k[d>>2]|0);r=l;return}function Xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+32|0;p=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;m=o+8|0;n=o+4|0;j=o;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=0;k[h>>2]=0;if((k[p>>2]|0)!=2)$a(16785,16734,1073,17457);if(5!=(oe(k[k[e>>2]>>2]|0)|0)?5!=(oe(k[(k[e>>2]|0)+4>>2]|0)|0):0){p=je(k[k[e>>2]>>2]|0)|0;k[m>>2]=p;p=me(k[(k[e>>2]|0)+4>>2]|0)|0;k[h>>2]=p;k[n>>2]=k[m>>2];a:while(1){if(!(xd(k[n>>2]|0)|0))break;p=k[f>>2]|0;k[f>>2]=p+1;if((p|0)>=(k[h>>2]|0))break;while(1){p=(k[n>>2]|0)+1|0;k[n>>2]=p;if((192&(l[p>>0]|0)|0)!=128)continue a}}k[g>>2]=(k[n>>2]|0)-(k[m>>2]|0);p=Sd((k[n>>2]|0)-(k[m>>2]|0)+1|0)|0;k[j>>2]=p;if(k[j>>2]|0){wR(k[j>>2]|0,k[m>>2]|0,(k[n>>2]|0)-(k[m>>2]|0)|0)|0;i[(k[j>>2]|0)+(k[g>>2]|0)>>0]=0;we(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=o;return}else{Ce(k[d>>2]|0);r=o;return}}ve(k[d>>2]|0);r=o;return}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+36|0;p=o+32|0;e=o+28|0;h=o+24|0;f=o+20|0;g=o+16|0;l=o+12|0;n=o+8|0;m=o+4|0;j=o;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[h>>2]=0;k[f>>2]=0;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(16785,16734,1113,17466);if(5!=(oe(k[k[e>>2]>>2]|0)|0)?5!=(oe(k[(k[e>>2]|0)+4>>2]|0)|0):0){p=je(k[k[e>>2]>>2]|0)|0;k[l>>2]=p;p=me(k[(k[e>>2]|0)+4>>2]|0)|0;k[h>>2]=p;k[n>>2]=k[l>>2];while(1){if(!(xd(k[n>>2]|0)|0))break;do{p=(k[n>>2]|0)+1|0;k[n>>2]=p}while((192&i[p>>0]|0)==128);k[f>>2]=(k[f>>2]|0)+1}k[m>>2]=k[n>>2];k[n>>2]=k[l>>2];p=(k[f>>2]|0)-(k[h>>2]|0)|0;k[g>>2]=p;k[g>>2]=(k[g>>2]|0)<0?0:p;a:while(1){p=k[g>>2]|0;k[g>>2]=p+-1;if((p|0)<=0)break;while(1){p=(k[n>>2]|0)+1|0;k[n>>2]=p;if((192&i[p>>0]|0)!=128)continue a}}p=Sd((k[m>>2]|0)-(k[n>>2]|0)+1|0)|0;k[j>>2]=p;if(k[j>>2]|0){sR(k[j>>2]|0,k[n>>2]|0)|0;we(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=o;return}else{Ce(k[d>>2]|0);r=o;return}}ve(k[d>>2]|0);r=o;return}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+32|0;o=n+28|0;e=n+24|0;l=n+20|0;m=n+16|0;h=n+12|0;j=n+8|0;g=n+4|0;f=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[g>>2]=0;k[f>>2]=0;if(1!=(k[o>>2]|0))$a(17476,16734,1323,17484);if(5==(oe(k[k[e>>2]>>2]|0)|0)){ve(k[d>>2]|0);r=n;return}o=je(k[k[e>>2]>>2]|0)|0;k[l>>2]=o;o=uR(k[l>>2]|0)|0;k[g>>2]=o;o=Sd((k[g>>2]|0)+1|0)|0;k[h>>2]=o;if(!(k[h>>2]|0)){Ce(k[d>>2]|0);r=n;return}k[j>>2]=(k[h>>2]|0)+(k[g>>2]|0);o=k[j>>2]|0;k[j>>2]=o+-1;i[o>>0]=0;k[m>>2]=k[l>>2];a:while(1){if(!(xd(k[m>>2]|0)|0))break;k[l>>2]=k[m>>2];do{o=(k[m>>2]|0)+1|0;k[m>>2]=o}while((192&i[o>>0]|0)==128);k[f>>2]=1;while(1){if(((k[m>>2]|0)+(0-(k[f>>2]|0))|0)>>>0<(k[l>>2]|0)>>>0)continue a;g=i[(k[m>>2]|0)+(0-(k[f>>2]|0))>>0]|0;o=k[j>>2]|0;k[j>>2]=o+-1;i[o>>0]=g;k[f>>2]=(k[f>>2]|0)+1}}we(k[d>>2]|0,k[h>>2]|0,-1,-1);Ud(k[h>>2]|0);r=n;return}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;e=m+24|0;n=m+20|0;d=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;g=m+28|0;f=m;k[e>>2]=a;k[n>>2]=b;k[d>>2]=c;k[f>>2]=1;if((k[n>>2]|0)!=1)$a(16726,16734,724,17496);if(5==(oe(k[k[d>>2]>>2]|0)|0)){ve(k[e>>2]|0);r=m;return}n=je(k[k[d>>2]>>2]|0)|0;k[h>>2]=n;n=Dd(k[h>>2]|0)|0;k[j>>2]=n;if(!(k[j>>2]|0)){Ce(k[e>>2]|0);r=m;return}k[l>>2]=k[j>>2];while(1){n=k[h>>2]|0;k[h>>2]=n+1;n=i[n>>0]|0;i[g>>0]=n;if(!(n<<24>>24))break;if(GQ(i[g>>0]|0)|0)k[f>>2]=1;else{d=i[g>>0]|0;if((k[f>>2]|0)==1){n=(KQ(d)|0)&255;i[g>>0]=n}else{n=(JQ(d)|0)&255;i[g>>0]=n}k[f>>2]=0}a=i[g>>0]|0;n=k[l>>2]|0;k[l>>2]=n+1;i[n>>0]=a}i[k[l>>2]>>0]=0;we(k[e>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=m;return}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;l=n+40|0;o=n+36|0;d=n+32|0;f=n+8|0;h=n;e=n+28|0;g=n+24|0;m=n+20|0;j=n+16|0;k[l>>2]=a;k[o>>2]=b;k[d>>2]=c;k[e>>2]=0;if((k[o>>2]|0)!=2)$a(16785,16734,771,17507);if((oe(k[k[d>>2]>>2]|0)|0)==5){ve(k[l>>2]|0);r=n;return}a=je(k[k[d>>2]>>2]|0)|0;k[g>>2]=a;a=ne(k[(k[d>>2]|0)+4>>2]|0)|0;o=f;k[o>>2]=a;k[o+4>>2]=L;if((k[f+4>>2]|0)<0){se(k[l>>2]|0,17412,-1);r=n;return}b=Ed(k[g>>2]|0,-1)|0;a=h;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=h;b=k[a+4>>2]|0;o=f;c=k[o+4>>2]|0;d=k[g>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[o>>2]|0)>>>0:0)){d=Dd(d)|0;k[m>>2]=d;d=k[l>>2]|0;if(k[m>>2]|0){we(d,k[m>>2]|0,-1,-1);break}Ce(d);r=n;return}else{o=uR(d)|0;a=f;a=$R(o|0,0,k[a>>2]|0,k[a+4>>2]|0)|0;o=h;o=_R(a|0,L|0,k[o>>2]|0,k[o+4>>2]|0)|0;o=$R(o|0,L|0,1,0)|0;o=Sd(o)|0;k[m>>2]=o;if(!(k[m>>2]|0)){Ce(k[l>>2]|0);r=n;return}k[j>>2]=k[m>>2];k[e>>2]=1;while(1){b=k[e>>2]|0;a=h;a=$R(b|0,((b|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;o=f;c=k[o+4>>2]|0;d=k[j>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?a>>>0<=(k[o>>2]|0)>>>0:0)))break;k[j>>2]=d+1;i[d>>0]=32;k[e>>2]=(k[e>>2]|0)+1}sR(d,k[g>>2]|0)|0}while(0);we(k[l>>2]|0,k[m>>2]|0,-1,-1);Ud(k[m>>2]|0);r=n;return}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+64|0;m=o+48|0;p=o+44|0;d=o+40|0;h=o+16|0;j=o+8|0;f=o;g=o+36|0;e=o+32|0;n=o+28|0;l=o+24|0;k[m>>2]=a;k[p>>2]=b;k[d>>2]=c;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(16785,16734,825,17544);if((oe(k[k[d>>2]>>2]|0)|0)==5){ve(k[m>>2]|0);r=o;return}a=je(k[k[d>>2]>>2]|0)|0;k[e>>2]=a;a=ne(k[(k[d>>2]|0)+4>>2]|0)|0;p=h;k[p>>2]=a;k[p+4>>2]=L;if((k[h+4>>2]|0)<0){se(k[m>>2]|0,17412,-1);r=o;return}b=Ed(k[e>>2]|0,-1)|0;a=j;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=j;b=k[a+4>>2]|0;p=h;c=k[p+4>>2]|0;d=k[e>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[p>>2]|0)>>>0:0)){d=Dd(d)|0;k[n>>2]=d;d=k[m>>2]|0;if(k[n>>2]|0){we(d,k[n>>2]|0,-1,-1);break}Ce(d);r=o;return}else{a=uR(d)|0;p=f;k[p>>2]=a;k[p+4>>2]=0;p=f;a=h;a=$R(k[p>>2]|0,k[p+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;p=j;p=_R(a|0,L|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=$R(p|0,L|0,1,0)|0;p=Sd(p)|0;k[n>>2]=p;if(!(k[n>>2]|0)){Ce(k[m>>2]|0);r=o;return}p=sR(k[n>>2]|0,k[e>>2]|0)|0;k[l>>2]=p+(k[f>>2]|0);k[g>>2]=1;while(1){a=k[g>>2]|0;f=j;f=$R(a|0,((a|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;a=L;p=h;e=k[p+4>>2]|0;d=k[l>>2]|0;if(!((a|0)<(e|0)|((a|0)==(e|0)?f>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}i[d>>0]=0}while(0);we(k[m>>2]|0,k[n>>2]|0,-1,-1);Ud(k[n>>2]|0);r=o;return}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+64|0;m=o+48|0;p=o+44|0;d=o+40|0;h=o+16|0;j=o+8|0;f=o;g=o+36|0;e=o+32|0;n=o+28|0;l=o+24|0;k[m>>2]=a;k[p>>2]=b;k[d>>2]=c;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(16785,16734,880,17553);if((oe(k[k[d>>2]>>2]|0)|0)==5){ve(k[m>>2]|0);r=o;return}a=je(k[k[d>>2]>>2]|0)|0;k[e>>2]=a;a=ne(k[(k[d>>2]|0)+4>>2]|0)|0;p=h;k[p>>2]=a;k[p+4>>2]=L;if((k[h+4>>2]|0)<0){se(k[m>>2]|0,17412,-1);r=o;return}b=Ed(k[e>>2]|0,-1)|0;a=j;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=j;b=k[a+4>>2]|0;p=h;c=k[p+4>>2]|0;d=k[e>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[p>>2]|0)>>>0:0)){d=Dd(d)|0;k[n>>2]=d;d=k[m>>2]|0;if(k[n>>2]|0){we(d,k[n>>2]|0,-1,-1);break}Ce(d);r=o;return}else{a=uR(d)|0;p=f;k[p>>2]=a;k[p+4>>2]=0;p=f;a=h;a=$R(k[p>>2]|0,k[p+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;p=j;p=_R(a|0,L|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=$R(p|0,L|0,1,0)|0;p=Sd(p)|0;k[n>>2]=p;if(!(k[n>>2]|0)){Ce(k[m>>2]|0);r=o;return}k[l>>2]=k[n>>2];k[g>>2]=1;while(1){b=k[g>>2]<<1;a=j;a=$R(b|0,((b|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;p=h;c=k[p+4>>2]|0;d=k[l>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?a>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}sR(d,k[e>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);while(1){a=k[g>>2]|0;f=j;f=$R(a|0,((a|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;a=L;p=h;e=k[p+4>>2]|0;d=k[l>>2]|0;if(!((a|0)<(e|0)|((a|0)==(e|0)?f>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}i[d>>0]=0}while(0);we(k[m>>2]|0,k[n>>2]|0,-1,-1);Ud(k[n>>2]|0);r=o;return}function cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+44|0;s=q+40|0;e=q+36|0;m=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;l=q+16|0;o=q+12|0;p=q+8|0;f=q+4|0;g=q;k[d>>2]=a;k[s>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=0;if((k[s>>2]|0)!=2)$a(16785,16734,939,17562);if((oe(k[k[e>>2]>>2]|0)|0)!=5?(oe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){s=je(k[k[e>>2]>>2]|0)|0;k[m>>2]=s;s=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=s;s=Sd((uR(k[m>>2]|0)|0)+1|0)|0;k[o>>2]=s;if(!(k[o>>2]|0)){Ce(k[d>>2]|0);r=q;return}k[p>>2]=k[o>>2];k[h>>2]=k[m>>2];a:while(1){s=xd(k[h>>2]|0)|0;k[f>>2]=s;if(!s)break;k[j>>2]=k[n>>2];b:while(1){s=xd(k[j>>2]|0)|0;k[g>>2]=s;if(!s)break;if((k[g>>2]|0)==(k[f>>2]|0))break;while(1){s=(k[j>>2]|0)+1|0;k[j>>2]=s;if((192&i[s>>0]|0)!=128)continue b}}if(k[g>>2]|0){k[l>>2]=k[j>>2];do{s=(k[l>>2]|0)+1|0;k[l>>2]=s}while((192&i[s>>0]|0)==128);wR(k[p>>2]|0,k[j>>2]|0,(k[l>>2]|0)-(k[j>>2]|0)|0)|0;k[p>>2]=(k[p>>2]|0)+((k[l>>2]|0)-(k[j>>2]|0))}while(1){s=(k[h>>2]|0)+1|0;k[h>>2]=s;if((192&i[s>>0]|0)!=128)continue a}}i[k[p>>2]>>0]=0;we(k[d>>2]|0,k[o>>2]|0,-1,-1);Ud(k[o>>2]|0);r=q;return}ve(k[d>>2]|0);r=q;return}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0.0;i=r;r=r+32|0;d=i+28|0;j=i+24|0;e=i+20|0;g=i+16|0;f=i+8|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;if((k[j>>2]|0)!=1)$a(16726,16734,1395,17576);j=Ge(k[d>>2]|0,24)|0;k[g>>2]=j;if(5==(bf(k[k[e>>2]>>2]|0)|0)){r=i;return}a=(k[g>>2]|0)+16|0;j=a;j=$R(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[a>>2]=j;k[a+4>>2]=L;l=+le(k[k[e>>2]>>2]|0);p[h>>3]=l;p[f>>3]=+p[h>>3]-+p[k[g>>2]>>3];a=(k[g>>2]|0)+16|0;j=k[g>>2]|0;p[j>>3]=+p[j>>3]+ +p[f>>3]/(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0));j=(k[g>>2]|0)+8|0;p[j>>3]=+p[j>>3]+ +p[f>>3]*(+p[h>>3]-+p[k[g>>2]>>3]);r=i;return}function ed(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if((k[c>>2]|0)!=0?(a=(k[c>>2]|0)+16|0,e=k[a+4>>2]|0,(e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>1):0){a=k[b>>2]|0;f=+p[(k[c>>2]|0)+8>>3];e=(k[c>>2]|0)+16|0;e=_R(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;re(a,+X(+(f/(+(e>>>0)+4294967296.0*+(L|0)))));r=d;return}re(k[b>>2]|0,0.0);r=d;return}function fd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if((k[c>>2]|0)!=0?(a=(k[c>>2]|0)+16|0,e=k[a+4>>2]|0,(e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>1):0){a=k[b>>2]|0;f=+p[(k[c>>2]|0)+8>>3];e=(k[c>>2]|0)+16|0;e=_R(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;re(a,f/(+(e>>>0)+4294967296.0*+(L|0)));r=d;return}re(k[b>>2]|0,0.0);r=d;return}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0.0;o=r;r=r+80|0;d=o+64|0;q=o+60|0;e=o+56|0;l=o+52|0;n=o+8|0;m=o;j=o+48|0;i=o+44|0;h=o+40|0;f=o+28|0;g=o+16|0;k[d>>2]=a;k[q>>2]=b;k[e>>2]=c;a=n;k[a>>2]=0;k[a+4>>2]=0;p[m>>3]=0.0;if((k[q>>2]|0)!=1)$a(16726,16734,1418,17589);q=bf(k[k[e>>2]>>2]|0)|0;k[h>>2]=q;if((k[h>>2]|0)==5){r=o;return}q=Ge(k[d>>2]|0,64)|0;k[l>>2]=q;do if(!(k[(k[l>>2]|0)+56>>2]|0)){d=VR(1,12)|0;k[(k[l>>2]|0)+56>>2]=d;d=k[l>>2]|0;if((k[h>>2]|0)==1){q=k[d+56>>2]|0;ld(f,176);k[q>>2]=k[f>>2];k[q+4>>2]=k[f+4>>2];k[q+8>>2]=k[f+8>>2];q=(k[l>>2]|0)+48|0;k[q>>2]=0;k[q+4>>2]=0;break}else{q=d+48|0;k[q>>2]=1;k[q+4>>2]=0;q=k[(k[l>>2]|0)+56>>2]|0;ld(g,177);k[q>>2]=k[g>>2];k[q+4>>2]=k[g+4>>2];k[q+8>>2]=k[g+8>>2];break}}while(0);q=(k[l>>2]|0)+16|0;d=q;d=$R(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[q>>2]=d;k[q+4>>2]=L;q=(k[l>>2]|0)+48|0;d=k[k[e>>2]>>2]|0;if(0==(k[q>>2]|0)?0==(k[q+4>>2]|0):0){q=ne(d)|0;m=n;k[m>>2]=q;k[m+4>>2]=L;m=VR(1,8)|0;k[j>>2]=m;m=n;n=k[m+4>>2]|0;q=k[j>>2]|0;k[q>>2]=k[m>>2];k[q+4>>2]=n;pd(k[(k[l>>2]|0)+56>>2]|0,k[j>>2]|0);r=o;return}else{s=+le(d);p[m>>3]=s;q=VR(1,8)|0;k[i>>2]=q;p[k[i>>2]>>3]=+p[m>>3];pd(k[(k[l>>2]|0)+56>>2]|0,k[i>>2]|0);r=o;return}}function hd(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if(!(k[(k[c>>2]|0)+56>>2]|0)){r=d;return}rd(k[(k[c>>2]|0)+56>>2]|0,131,k[c>>2]|0);td(k[(k[c>>2]|0)+56>>2]|0);UR(k[(k[c>>2]|0)+56>>2]|0);a=(k[c>>2]|0)+40|0;if(!(1==(k[a>>2]|0)?0==(k[a+4>>2]|0):0)){r=d;return}e=(k[c>>2]|0)+48|0;a=k[b>>2]|0;b=k[c>>2]|0;if(0==(k[e>>2]|0)?0==(k[e+4>>2]|0):0){e=b;ue(a,k[e>>2]|0,k[e+4>>2]|0);r=d;return}else{re(a,+p[b+8>>3]);r=d;return}}function id(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;p[(k[c>>2]|0)+24>>3]=(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0))/2.0;Gd(k[b>>2]|0);r=d;return}function jd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;p[(k[c>>2]|0)+24>>3]=(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0))/4.0;Gd(k[b>>2]|0);r=d;return}function kd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;a=kS(k[a>>2]|0,k[a+4>>2]|0,3,0)|0;p[(k[c>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(L|0))/4.0;Gd(k[b>>2]|0);r=d;return}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+12|0;d=c;k[e>>2]=b;k[d+4>>2]=k[e>>2];k[d>>2]=0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];r=c;return}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e+8|0;d=e;k[g>>2]=a;k[f>>2]=b;k[e+4>>2]=c;b=VR(k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function nd(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;UR(k[c>>2]|0);r=b;return}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;e=i;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[k[d>>2]>>2]|0)){h=md(1,24,16717)|0;k[e>>2]=h;k[(k[e>>2]|0)+8>>2]=k[g>>2];h=(k[e>>2]|0)+16|0;k[h>>2]=1;k[h+4>>2]=0;k[k[d>>2]>>2]=k[e>>2];r=i;return}e=gc[k[f>>2]&255](k[(k[k[d>>2]>>2]|0)+8>>2]|0,k[g>>2]|0)|0;k[h>>2]=e;if(!(k[h>>2]|0)){h=(k[k[d>>2]>>2]|0)+16|0;f=h;f=$R(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;k[h>>2]=f;k[h+4>>2]=L;nd(k[g>>2]|0);r=i;return}d=k[k[d>>2]>>2]|0;if((k[h>>2]|0)>0){od(d,k[f>>2]|0,k[g>>2]|0);r=i;return}else{od(d+4|0,k[f>>2]|0,k[g>>2]|0);r=i;return}}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;od(k[e>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[d>>2]|0);r=c;return}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=g;return}if(k[k[d>>2]>>2]|0)qd(k[k[d>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0);c=(k[d>>2]|0)+16|0;ic[k[e>>2]&255](k[(k[d>>2]|0)+8>>2]|0,k[c>>2]|0,k[c+4>>2]|0,k[f>>2]|0);if(!(k[(k[d>>2]|0)+4>>2]|0)){r=g;return}qd(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;qd(k[k[g>>2]>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function sd(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}nd(k[(k[b>>2]|0)+8>>2]|0);if(k[k[b>>2]>>2]|0)sd(k[k[b>>2]>>2]|0);if(k[(k[b>>2]|0)+4>>2]|0)sd(k[(k[b>>2]|0)+4>>2]|0);nd(k[b>>2]|0);r=c;return}function td(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;sd(k[k[c>>2]>>2]|0);r=b;return}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+24|0;h=f+20|0;g=f+16|0;d=f+8|0;e=f;k[h>>2]=a;k[g>>2]=b;h=k[h>>2]|0;a=k[h+4>>2]|0;b=d;k[b>>2]=k[h>>2];k[b+4>>2]=a;g=k[g>>2]|0;b=k[g+4>>2]|0;a=e;k[a>>2]=k[g>>2];k[a+4>>2]=b;a=d;b=e;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[c>>2]=0;h=k[c>>2]|0;r=f;return h|0}g=d;b=k[g+4>>2]|0;h=e;e=k[h+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(k[g>>2]|0)>>>0<(k[h>>2]|0)>>>0:0)){k[c>>2]=-1;h=k[c>>2]|0;r=f;return h|0}else{k[c>>2]=1;h=k[c>>2]|0;r=f;return h|0}return 0}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+24|0;h=f+20|0;g=f+16|0;d=f+8|0;e=f;k[h>>2]=a;k[g>>2]=b;p[d>>3]=+p[k[h>>2]>>3];p[e>>3]=+p[k[g>>2]>>3];do if(!(+p[d>>3]==+p[e>>3]))if(+p[d>>3]<+p[e>>3]){k[c>>2]=-1;break}else{k[c>>2]=1;break}else k[c>>2]=0;while(0);r=f;return k[c>>2]|0}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;k[c>>2]=a;k[f>>2]=b;k[e>>2]=0;while(1){if(!(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0))break;if(!((FQ(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)|0)!=0^1))break;k[e>>2]=(k[e>>2]|0)+1}if(!(i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)){sR(k[f>>2]|0,16975)|0;r=h;return}b=(KQ(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)|0)&255;i[k[f>>2]>>0]=b;k[g>>2]=1;while(1){if((k[g>>2]|0)>=4)break;if(!(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0))break;k[d>>2]=l[16847+(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]&127)>>0];if((k[d>>2]|0)>0){a=(k[d>>2]|0)+48&255;b=k[g>>2]|0;k[g>>2]=b+1;i[(k[f>>2]|0)+b>>0]=a}k[e>>2]=(k[e>>2]|0)+1}while(1){c=k[g>>2]|0;if((k[g>>2]|0)>=4)break;k[g>>2]=c+1;i[(k[f>>2]|0)+c>>0]=48}i[(k[f>>2]|0)+c>>0]=0;r=h;return}function xd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;a=k[b>>2]|0;k[b>>2]=a+1;k[c>>2]=l[a>>0];k[d>>2]=l[16980+(k[c>>2]|0)>>0];switch(k[d>>2]|0){case 4:{k[c>>2]=65533;e=k[c>>2]|0;r=f;return e|0}case 3:{a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0);e=4;break}case 2:{e=4;break}case 1:break;default:{e=k[c>>2]|0;r=f;return e|0}}if((e|0)==4){a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0)}a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0);k[c>>2]=(k[c>>2]|0)-(k[936+(k[d>>2]<<2)>>2]|0);if(((k[952+(k[d>>2]<<2)>>2]&k[c>>2]|0)!=0?(k[c>>2]&-2048|0)!=55296:0)?(k[c>>2]&-2|0)!=65534:0){e=k[c>>2]|0;r=f;return e|0}k[c>>2]=65533;e=k[c>>2]|0;r=f;return e|0}function yd(a){a=+a;var b=0,c=0;c=r;r=r+16|0;b=c;p[b>>3]=a;r=c;return +(+p[b>>3]*180.0/3.141592653589793)}function zd(a){a=+a;var b=0,c=0;c=r;r=r+16|0;b=c;p[b>>3]=a;r=c;return +(+p[b>>3]*3.141592653589793/180.0)}function Ad(a){a=+a;var b=0,c=0;b=r;r=r+16|0;c=b;p[c>>3]=a;a=1.0/+$(+(+p[c>>3]));r=b;return +a}function Bd(a){a=+a;var b=0,c=0;b=r;r=r+16|0;c=b;p[c>>3]=a;a=1.0/+_Q(+p[c>>3]);r=b;return +a}function Cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+40|0;f=t+36|0;g=t+32|0;h=t+28|0;j=t+24|0;l=t+20|0;o=t+16|0;p=t+12|0;q=t+8|0;m=t+4|0;n=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;k[o>>2]=-1;if(!(i[k[f>>2]>>0]|0)){k[e>>2]=-1;s=k[e>>2]|0;r=t;return s|0}a:while(1){if(!(xd(k[g>>2]|0)|0))break;b=k[l>>2]|0;k[l>>2]=b+1;if((b|0)>=(k[h>>2]|0))break;while(1){b=(k[g>>2]|0)+1|0;k[g>>2]=b;if((192&i[b>>0]|0)!=128)continue a}}k[l>>2]=0;while(1){if(!(xd(k[g>>2]|0)|0))break;k[p>>2]=k[f>>2];k[q>>2]=k[g>>2];do{b=xd(k[p>>2]|0)|0;k[m>>2]=b;b=xd(k[q>>2]|0)|0;k[n>>2]=b;do{b=(k[p>>2]|0)+1|0;k[p>>2]=b}while((192&i[b>>0]|0)==128);do{b=(k[q>>2]|0)+1|0;k[q>>2]=b}while((192&i[b>>0]|0)==128)}while(((k[m>>2]|0)!=0?(k[m>>2]|0)==(k[n>>2]|0):0)&(k[n>>2]|0)!=0);if(!(k[m>>2]|0)){s=14;break}do{b=(k[g>>2]|0)+1|0;k[g>>2]=b}while((192&i[b>>0]|0)==128);k[l>>2]=(k[l>>2]|0)+1}if((s|0)==14)k[o>>2]=k[l>>2];if(k[j>>2]|0)k[k[j>>2]>>2]=k[g>>2];s=k[o>>2]|0;k[e>>2]=(k[o>>2]|0)>=0?s+(k[h>>2]|0)|0:s;s=k[e>>2]|0;r=t;return s|0}function Dd(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=Sd((uR(k[c>>2]|0)|0)+1|0)|0;k[d>>2]=a;a=sR(k[d>>2]|0,k[c>>2]|0)|0;r=b;return a|0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if((k[d>>2]|0)>=0)k[e>>2]=(k[c>>2]|0)+(k[d>>2]|0);else k[e>>2]=-1;if((k[c>>2]|0)>>>0>(k[e>>2]|0)>>>0)$a(17516,16734,316,17525);while(1){if(!(i[k[c>>2]>>0]|0)){c=10;break}if((k[c>>2]|0)>>>0>=(k[e>>2]|0)>>>0){c=10;break}k[c>>2]=(k[c>>2]|0)+((l[16980+(l[k[c>>2]>>0]|0)>>0]|0)+1);k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){r=g;return k[f>>2]|0}return 0}function Fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+48|0;j=i+32|0;g=i+16|0;l=i+28|0;f=i+8|0;e=i;h=i+24|0;k[j>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[l>>2]=d;k[h>>2]=k[l>>2];d=(k[h>>2]|0)+48|0;b=k[j>>2]|0;if(0==(k[d>>2]|0)?0==(k[d+4>>2]|0):0){l=k[b>>2]|0;j=f;k[j>>2]=l;k[j+4>>2]=((l|0)<0)<<31>>31;j=(k[h>>2]|0)+32|0;l=g;b=k[h>>2]|0;if((k[j>>2]|0)==(k[l>>2]|0)?(k[j+4>>2]|0)==(k[l+4>>2]|0):0){l=b+40|0;j=l;j=$R(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[l>>2]=j;k[l+4>>2]=L;r=i;return}j=b+32|0;d=k[j+4>>2]|0;l=g;e=k[l+4>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?(k[j>>2]|0)>>>0<(k[l>>2]|0)>>>0:0))){r=i;return}l=k[f+4>>2]|0;j=k[h>>2]|0;k[j>>2]=k[f>>2];k[j+4>>2]=l;j=k[g+4>>2]|0;l=(k[h>>2]|0)+32|0;k[l>>2]=k[g>>2];k[l+4>>2]=j;l=(k[h>>2]|0)+40|0;k[l>>2]=1;k[l+4>>2]=0;r=i;return}else{p[e>>3]=+p[b>>3];j=(k[h>>2]|0)+32|0;l=g;b=k[h>>2]|0;if((k[j>>2]|0)==(k[l>>2]|0)?(k[j+4>>2]|0)==(k[l+4>>2]|0):0){l=b+40|0;j=l;j=$R(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[l>>2]=j;k[l+4>>2]=L;r=i;return}j=b+32|0;d=k[j+4>>2]|0;l=g;f=k[l+4>>2]|0;if(!((d|0)<(f|0)|((d|0)==(f|0)?(k[j>>2]|0)>>>0<(k[l>>2]|0)>>>0:0))){r=i;return}p[(k[h>>2]|0)+8>>3]=+p[e>>3];j=k[g+4>>2]|0;l=(k[h>>2]|0)+32|0;k[l>>2]=k[g>>2];k[l+4>>2]=j;l=(k[h>>2]|0)+40|0;k[l>>2]=1;k[l+4>>2]=0;r=i;return}}function Gd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+4|0;d=e;k[b>>2]=a;c=Ge(k[b>>2]|0,0)|0;k[d>>2]=c;if(!(k[d>>2]|0)){r=e;return}if(!(k[(k[d>>2]|0)+56>>2]|0)){r=e;return}k[(k[d>>2]|0)+60>>2]=0;rd(k[(k[d>>2]|0)+56>>2]|0,132,k[d>>2]|0);td(k[(k[d>>2]|0)+56>>2]|0);UR(k[(k[d>>2]|0)+56>>2]|0);c=(k[d>>2]|0)+48|0;if(!(0==(k[c>>2]|0)?0==(k[c+4>>2]|0):0)){c=(k[d>>2]|0)+40|0;re(k[b>>2]|0,+p[(k[d>>2]|0)+8>>3]/(+((k[c>>2]|0)>>>0)+4294967296.0*+(k[c+4>>2]|0)));r=e;return}f=(k[d>>2]|0)+40|0;b=k[b>>2]|0;c=k[d>>2]|0;a=k[c>>2]|0;c=k[c+4>>2]|0;if(1==(k[f>>2]|0)?0==(k[f+4>>2]|0):0){ue(b,a,c);r=e;return}else{f=(k[d>>2]|0)+40|0;re(b,(+(a>>>0)+4294967296.0*+(c|0))*1.0/(+((k[f>>2]|0)>>>0)+4294967296.0*+(k[f+4>>2]|0)));r=e;return}}function Hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0;o=r;r=r+64|0;g=o+56|0;j=o+32|0;q=o+52|0;m=o+24|0;l=o+16|0;e=o+8|0;h=o;f=o+48|0;i=o+44|0;n=o+40|0;k[g>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[q>>2]=d;k[n>>2]=k[q>>2];if((k[(k[n>>2]|0)+60>>2]|0)>0){r=o;return}p[e>>3]=+p[(k[n>>2]|0)+24>>3];q=(k[n>>2]|0)+16|0;p[h>>3]=+((k[q>>2]|0)>>>0)+4294967296.0*+(k[q+4>>2]|0)-+p[(k[n>>2]|0)+24>>3];q=(k[n>>2]|0)+32|0;d=j;d=$R(k[q>>2]|0,k[q+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[f>>2]=d;d=(k[n>>2]|0)+16|0;q=(k[n>>2]|0)+32|0;q=_R(k[d>>2]|0,k[d+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;k[i>>2]=q;do if(+(k[f>>2]|0)>=+p[e>>3]){b=k[n>>2]|0;if(!(+(k[i>>2]|0)>=+p[h>>3])){k[b+60>>2]=1;break}q=b+40|0;b=q;b=$R(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[q>>2]=b;k[q+4>>2]=L;q=(k[n>>2]|0)+48|0;b=k[g>>2]|0;if(0==(k[q>>2]|0)?0==(k[q+4>>2]|0):0){l=k[b>>2]|0;q=m;k[q>>2]=l;k[q+4>>2]=((l|0)<0)<<31>>31;q=k[n>>2]|0;l=q;m=$R(k[l>>2]|0,k[l+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[q>>2]=m;k[q+4>>2]=L;break}else{p[l>>3]=+p[b>>3];q=(k[n>>2]|0)+8|0;p[q>>3]=+p[q>>3]+ +p[l>>3];break}}while(0);m=j;q=(k[n>>2]|0)+32|0;n=q;n=$R(k[n>>2]|0,k[n+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[q>>2]=n;k[q+4>>2]=L;r=o;return}function Id(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;if(!(Jd(k[b>>2]|0,17605,7)|0))k[b>>2]=(k[b>>2]|0)+7;a=Tf(k[b>>2]|0)|0;k[d>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=8){b=9;break}if((Jd(k[b>>2]|0,k[976+(k[c>>2]<<2)>>2]|0,k[d>>2]|0)|0)==0?(Uf(i[(k[976+(k[c>>2]<<2)>>2]|0)+(k[d>>2]|0)>>0]|0)|0)==0:0){b=7;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==7){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else if((b|0)==9){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;i=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=k[e>>2]|0;if(!(k[d>>2]|0)){k[i>>2]=(c|0)!=0?-1:0;i=k[i>>2]|0;r=j;return i|0}if(!c){k[i>>2]=1;i=k[i>>2]|0;r=j;return i|0}k[g>>2]=k[d>>2];k[h>>2]=k[e>>2];while(1){e=k[f>>2]|0;k[f>>2]=e+-1;if((e|0)<=0)break;if(!(l[k[g>>2]>>0]|0))break;if((l[17613+(l[k[g>>2]>>0]|0)>>0]|0|0)!=(l[17613+(l[k[h>>2]>>0]|0)>>0]|0|0))break;k[g>>2]=(k[g>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}if((k[f>>2]|0)<0)c=0;else c=(l[17613+(l[k[g>>2]>>0]|0)>>0]|0)-(l[17613+(l[k[h>>2]>>0]|0)>>0]|0)|0;k[i>>2]=c;i=k[i>>2]|0;r=j;return i|0}function Kd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)>=0&(k[c>>2]|0)<8){k[b>>2]=k[976+(k[c>>2]<<2)>>2];a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[f>>2]|0)<0|(k[f>>2]|0)>=10){j=Vf(18365)|0;k[e>>2]=j;j=k[e>>2]|0;r=l;return j|0}if(i[17869+(k[f>>2]|0)>>0]|0)a=Wf()|0;else a=Xf()|0;k[l>>2]=a;g=k[g>>2]|0;k[g>>2]=k[1008+(k[f>>2]<<2)>>2];k[g+4>>2]=0;h=k[h>>2]|0;k[h>>2]=k[1048+(k[f>>2]<<2)>>2];k[h+4>>2]=0;if(k[j>>2]|0)k[1048+(k[f>>2]<<2)>>2]=k[1008+(k[f>>2]<<2)>>2];k[e>>2]=0;j=k[e>>2]|0;r=l;return j|0}function Md(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e+4|0;f=e;k[c>>2]=a;k[d>>2]=0;a=Nd()|0;k[f>>2]=a;if(k[f>>2]|0){k[b>>2]=0;f=k[b>>2]|0;r=e;return f|0}k[d>>2]=k[272];while(1){if((k[d>>2]|0)==0|(k[c>>2]|0)==0)break;if(!(rR(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0)|0))break;k[d>>2]=k[(k[d>>2]|0)+12>>2]}k[b>>2]=k[d>>2];f=k[b>>2]|0;r=e;return f|0}function Nd(){var a=0,b=0,c=0,d=0,e=0;d=r;r=r+16|0;a=d+4|0;b=d;if(k[59]|0){k[a>>2]=0;e=k[a>>2]|0;r=d;return e|0}k[b>>2]=0;if(k[b>>2]|0){k[a>>2]=k[b>>2];e=k[a>>2]|0;r=d;return e|0}k[61]=1;if(!(k[62]|0)){e=cg()|0;k[b>>2]=e}if(((k[b>>2]|0)==0?(k[62]=1,(k[65]|0)==0):0)?(k[65]=8,!((k[3]|0)==0|(k[65]|0)!=0)):0)k[b>>2]=7;if(!(k[b>>2]|0))k[64]=(k[64]|0)+1;if(k[b>>2]|0){k[a>>2]=k[b>>2];e=k[a>>2]|0;r=d;return e|0}if((k[59]|0)==0&(k[60]|0)==0){k[60]=1;c=1092;e=c+92|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(e|0));dg();if(!(k[63]|0)){e=eg()|0;k[b>>2]=e}if(!(k[b>>2]|0)){k[63]=1;e=fg()|0;k[b>>2]=e}if(!(k[b>>2]|0)){gg(k[53]|0,k[54]|0,k[55]|0);k[59]=1}k[60]=0}k[64]=(k[64]|0)+-1;if((k[64]|0)<=0)k[65]=0;k[a>>2]=k[b>>2];e=k[a>>2]|0;r=d;return e|0}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g+4|0;c=g;k[e>>2]=a;k[f>>2]=b;a=Nd()|0;k[c>>2]=a;if(k[c>>2]|0){k[d>>2]=k[c>>2];f=k[d>>2]|0;r=g;return f|0}hg(k[e>>2]|0);b=k[272]|0;if((k[f>>2]|0)!=0|(k[272]|0)==0){k[(k[e>>2]|0)+12>>2]=b;k[272]=k[e>>2]}else{k[(k[e>>2]|0)+12>>2]=k[b+12>>2];k[(k[272]|0)+12>>2]=k[e>>2]}k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function Pd(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+48|0;d=h+32|0;e=h+24|0;g=h+16|0;f=h+8|0;c=h;i=h+40|0;j=e;k[j>>2]=a;k[j+4>>2]=b;b=Nd()|0;k[i>>2]=b;if(k[i>>2]|0){i=d;k[i>>2]=-1;k[i+4>>2]=-1;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}b=296;i=k[b+4>>2]|0;j=g;k[j>>2]=k[b>>2];k[j+4>>2]=i;if((k[e+4>>2]|0)<0){j=k[g+4>>2]|0;i=d;k[i>>2]=k[g>>2];k[i+4>>2]=j;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}b=e;j=k[b+4>>2]|0;i=296;k[i>>2]=k[b>>2];k[i+4>>2]=j;i=ig(0)|0;j=c;k[j>>2]=i;k[j+4>>2]=L;j=e;i=k[j+4>>2]|0;if((i|0)>0|(i|0)==0&(k[j>>2]|0)>>>0>0){j=e;b=k[j+4>>2]|0;a=c;i=k[a+4>>2]|0;a=(b|0)<(i|0)|((b|0)==(i|0)?(k[j>>2]|0)>>>0<=(k[a>>2]|0)>>>0:0)}else a=0;k[79]=a&1;j=Rd()|0;i=e;i=_R(j|0,L|0,k[i>>2]|0,k[i+4>>2]|0)|0;j=f;k[j>>2]=i;k[j+4>>2]=L;j=f;i=k[j+4>>2]|0;if((i|0)>0|(i|0)==0&(k[j>>2]|0)>>>0>0)Pd(k[f>>2]&2147483647)|0;j=k[g+4>>2]|0;i=d;k[i>>2]=k[g>>2];k[i+4>>2]=j;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}function Rd(){var a=0,b=0;b=r;r=r+16|0;a=b+8|0;Ld(0,a,b,0)|0;L=k[a+4>>2]|0;r=b;return k[a>>2]|0}function Sd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;c=d+4|0;b=d;k[b>>2]=a;if(Nd()|0){k[c>>2]=0;c=k[c>>2]|0;r=d;return c|0}if((k[b>>2]|0)<=0)b=0;else{b=k[b>>2]|0;b=jg(b,((b|0)<0)<<31>>31)|0}k[c>>2]=b;c=k[c>>2]|0;r=d;return c|0}function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;d=e;f=d;k[f>>2]=a;k[f+4>>2]=b;if(Nd()|0){k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}else{f=d;f=jg(k[f>>2]|0,k[f+4>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}return 0}function Ud(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}if(k[2]|0){lg(0,kg(k[b>>2]|0)|0);lg(9,1);_b[k[52>>2]&255](k[b>>2]|0);r=c;return}else{_b[k[52>>2]&255](k[b>>2]|0);r=c;return}}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=f;return a|0}if((k[e>>2]|0)<0)k[e>>2]=0;a=k[e>>2]|0;a=mg(k[d>>2]|0,a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;a=k[c>>2]|0;r=f;return a|0}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(Nd()|0){k[d>>2]=0;a=k[d>>2]|0;r=g;return a|0}else{a=f;a=mg(k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[d>>2]=a;a=k[d>>2]|0;r=g;return a|0}return 0}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+128|0;c=h+40|0;d=h+36|0;e=h+32|0;g=h+28|0;f=h;k[d>>2]=a;k[e>>2]=b;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=h;return a|0}else{ng(f,0,h+44|0,70,1e9);og(f,k[d>>2]|0,k[e>>2]|0);a=pg(f)|0;k[g>>2]=a;k[c>>2]=k[g>>2];a=k[c>>2]|0;r=h;return a|0}return 0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+28|0;d=g+24|0;e=g+8|0;f=g;k[d>>2]=a;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}else{k[e>>2]=b;a=Xd(k[d>>2]|0,e)|0;k[f>>2]=a;k[c>>2]=k[f>>2];a=k[c>>2]|0;r=g;return a|0}return 0}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+48|0;e=j+44|0;f=j+40|0;l=j+36|0;g=j+32|0;h=j+28|0;i=j;k[f>>2]=a;k[l>>2]=b;k[g>>2]=c;k[h>>2]=d;d=k[l>>2]|0;if((k[f>>2]|0)<=0){k[e>>2]=d;l=k[e>>2]|0;r=j;return l|0}else{ng(i,0,d,k[f>>2]|0,0);og(i,k[g>>2]|0,k[h>>2]|0);l=pg(i)|0;k[e>>2]=l;l=k[e>>2]|0;r=j;return l|0}return 0}function _d(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;j=f+28|0;i=f+24|0;h=f+20|0;e=f+16|0;g=f;k[j>>2]=a;k[i>>2]=b;k[h>>2]=c;k[g>>2]=d;c=Zd(k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,g)|0;k[e>>2]=c;r=f;return k[e>>2]|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+32|0;d=g+20|0;e=g+16|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[66]|0)){r=g;return}k[f>>2]=c;qg(k[d>>2]|0,k[e>>2]|0,f);r=g;return}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+288|0;c=j+12|0;d=j+8|0;g=j+272|0;h=j+4|0;e=j;f=j+16|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[d>>2];if(Nd()|0){r=j;return}if((k[c>>2]|0)<=0|(k[d>>2]|0)==0){i[17879]=0;r=j;return}if(!(i[17879]|0)){i[17881]=0;i[17880]=0;rg(Md(0)|0,256,f)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=256)break;i[17882+(k[e>>2]|0)>>0]=k[e>>2];k[e>>2]=(k[e>>2]|0)+1}k[e>>2]=0;while(1){if((k[e>>2]|0)>=256)break;i[17881]=(l[17881]|0)+((l[17882+(k[e>>2]|0)>>0]|0)+(i[f+(k[e>>2]|0)>>0]|0));i[g>>0]=i[17882+(l[17881]|0)>>0]|0;i[17882+(l[17881]|0)>>0]=i[17882+(k[e>>2]|0)>>0]|0;i[17882+(k[e>>2]|0)>>0]=i[g>>0]|0;k[e>>2]=(k[e>>2]|0)+1}i[17879]=1}do{i[17880]=(i[17880]|0)+1<<24>>24;i[g>>0]=i[17882+(l[17880]|0)>>0]|0;i[17881]=(l[17881]|0)+(l[g>>0]|0);i[17882+(l[17880]|0)>>0]=i[17882+(l[17881]|0)>>0]|0;i[17882+(l[17881]|0)>>0]=i[g>>0]|0;i[g>>0]=(l[g>>0]|0)+(l[17882+(l[17880]|0)>>0]|0);f=i[17882+(l[g>>0]|0)>>0]|0;b=k[h>>2]|0;k[h>>2]=b+1;i[b>>0]=f;b=(k[c>>2]|0)+-1|0;k[c>>2]=b}while((b|0)!=0);r=j;return}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=k[e>>2]|0;do if(k[d>>2]|0)if(!a){k[c>>2]=1;break}else{e=sg(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=e;break}else k[c>>2]=(a|0)!=0?-1:0;while(0);r=f;return k[c>>2]|0}function ce(){var a=0,b=0;b=r;r=r+16|0;a=b;k[a>>2]=0;while(1){if((k[a>>2]|0)>>>0>=4)break;Od(1184+((k[a>>2]|0)*88|0)|0,(k[a>>2]|0)==0&1)|0;k[a>>2]=(k[a>>2]|0)+1}r=b;return 0}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+112|0;q=E+108|0;c=E+104|0;C=E+100|0;d=E+96|0;B=E+92|0;o=E+88|0;z=E+84|0;x=E+80|0;g=E+76|0;j=E+72|0;s=E+68|0;f=E+64|0;n=E+60|0;h=E+56|0;p=E+52|0;v=E+16|0;y=E+48|0;e=E+44|0;i=E+40|0;u=E+8|0;t=E;m=E+36|0;A=E+32|0;w=E+28|0;D=E+24|0;k[q>>2]=a;k[c>>2]=b;k[B>>2]=0;k[o>>2]=0;wg(k[(k[q>>2]|0)+24>>2]|0);k[C>>2]=k[(k[q>>2]|0)+28>>2];if(xg(k[C>>2]|0)|0){D=k[C>>2]|0;r=E;return D|0}a=Zf(k[(k[q>>2]|0)+24>>2]|0)|0;k[z>>2]=a;a=Zf(k[(k[q>>2]|0)+4>>2]|0)|0;k[x>>2]=a;k[j>>2]=-1;k[s>>2]=0;if((k[k[q>>2]>>2]|0)!=0?(l[(k[(k[(k[q>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)k[C>>2]=5;else k[C>>2]=0;if((k[C>>2]|0)==0?0==(yg(k[(k[q>>2]|0)+24>>2]|0)|0):0){a=zg(k[(k[q>>2]|0)+24>>2]|0,0)|0;k[C>>2]=a;k[s>>2]=1}if(((k[C>>2]|0)==0?(k[(k[q>>2]|0)+12>>2]|0)==0:0)?(Ag(k[q>>2]|0)|0)==7:0)k[C>>2]=7;if((0==(k[C>>2]|0)?(k[(k[q>>2]|0)+12>>2]|0)==0:0)?(a=zg(k[(k[q>>2]|0)+4>>2]|0,2)|0,k[C>>2]=a,0==(a|0)):0){k[(k[q>>2]|0)+12>>2]=1;Bg(k[(k[q>>2]|0)+4>>2]|0,1,(k[q>>2]|0)+8|0)}a=Cg(k[(k[q>>2]|0)+24>>2]|0)|0;k[B>>2]=a;a=Cg(k[(k[q>>2]|0)+4>>2]|0)|0;k[o>>2]=a;a=Dg(Zf(k[(k[q>>2]|0)+4>>2]|0)|0)|0;k[d>>2]=a;if(0==(k[C>>2]|0)&(k[d>>2]|0)==5?(k[B>>2]|0)!=(k[o>>2]|0):0)k[C>>2]=8;a=Eg(k[(k[q>>2]|0)+24>>2]|0)|0;k[j>>2]=a;k[g>>2]=0;while(1){if((k[c>>2]|0)>=0?(k[g>>2]|0)>=(k[c>>2]|0):0)break;if((k[(k[q>>2]|0)+16>>2]|0)>>>0>(k[j>>2]|0)>>>0)break;if(!((k[C>>2]|0)!=0^1))break;k[f>>2]=k[(k[q>>2]|0)+16>>2];if((k[f>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(a=Fg(k[z>>2]|0,k[f>>2]|0,n,2)|0,k[C>>2]=a,(k[C>>2]|0)==0):0){b=k[q>>2]|0;a=k[f>>2]|0;a=Hg(b,a,Gg(k[n>>2]|0)|0,0)|0;k[C>>2]=a;Ig(k[n>>2]|0)}a=(k[q>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}do if(!(k[C>>2]|0)){k[(k[q>>2]|0)+36>>2]=k[j>>2];k[(k[q>>2]|0)+32>>2]=(k[j>>2]|0)+1-(k[(k[q>>2]|0)+16>>2]|0);if((k[(k[q>>2]|0)+16>>2]|0)>>>0>(k[j>>2]|0)>>>0){k[C>>2]=101;break}if(!(k[(k[q>>2]|0)+40>>2]|0))Jg(k[q>>2]|0)}while(0);if((k[C>>2]|0)==101){if(!(k[j>>2]|0)){n=Kg(k[(k[q>>2]|0)+4>>2]|0)|0;k[C>>2]=n;k[j>>2]=1}if((k[C>>2]|0)==0|(k[C>>2]|0)==101){n=Lg(k[(k[q>>2]|0)+4>>2]|0,1,(k[(k[q>>2]|0)+8>>2]|0)+1|0)|0;k[C>>2]=n}if(!(k[C>>2]|0)){if(k[k[q>>2]>>2]|0)Mg(k[k[q>>2]>>2]|0);if((k[d>>2]|0)==5){n=Ng(k[(k[q>>2]|0)+4>>2]|0,2)|0;k[C>>2]=n}}if(!(k[C>>2]|0)){if((k[B>>2]|0)<(k[o>>2]|0)){k[p>>2]=(k[o>>2]|0)/(k[B>>2]|0)|0;k[h>>2]=((k[j>>2]|0)+(k[p>>2]|0)-1|0)/(k[p>>2]|0)|0;if((k[h>>2]|0)==((((k[384]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))k[h>>2]=(k[h>>2]|0)+-1}else{p=ha(k[j>>2]|0,(k[B>>2]|0)/(k[o>>2]|0)|0)|0;k[h>>2]=p}if((k[B>>2]|0)<(k[o>>2]|0)){p=k[B>>2]|0;n=k[j>>2]|0;n=kS(p|0,((p|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;p=v;k[p>>2]=n;k[p+4>>2]=L;p=Og(k[x>>2]|0)|0;k[y>>2]=p;Pg(k[x>>2]|0,i);k[e>>2]=k[h>>2];while(1){if(k[C>>2]|0)break;if((k[e>>2]|0)>>>0>(k[i>>2]|0)>>>0)break;do if((k[e>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){p=Fg(k[x>>2]|0,k[e>>2]|0,m,0)|0;k[C>>2]=p;if(k[C>>2]|0)break;p=Qg(k[m>>2]|0)|0;k[C>>2]=p;Ig(k[m>>2]|0)}while(0);k[e>>2]=(k[e>>2]|0)+1}if(!(k[C>>2]|0)){p=Rg(k[x>>2]|0,0,1)|0;k[C>>2]=p}n=(k[384]|0)+(k[o>>2]|0)|0;a=((n|0)<0)<<31>>31;p=v;m=k[p+4>>2]|0;if((a|0)<(m|0)|((a|0)==(m|0)?n>>>0<(k[p>>2]|0)>>>0:0)){d=(k[384]|0)+(k[o>>2]|0)|0;c=d;d=((d|0)<0)<<31>>31}else{d=v;c=k[d>>2]|0;d=k[d+4>>2]|0}o=t;k[o>>2]=c;k[o+4>>2]=d;o=(k[384]|0)+(k[B>>2]|0)|0;p=u;k[p>>2]=o;k[p+4>>2]=((o|0)<0)<<31>>31;while(1){if(k[C>>2]|0)break;o=u;m=k[o+4>>2]|0;p=t;n=k[p+4>>2]|0;if(!((m|0)<(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0<(k[p>>2]|0)>>>0:0)))break;k[A>>2]=0;o=u;p=k[B>>2]|0;p=iS(k[o>>2]|0,k[o+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=$R(p|0,L|0,1,0)|0;k[w>>2]=p;p=Fg(k[z>>2]|0,k[w>>2]|0,A,0)|0;k[C>>2]=p;if(!(k[C>>2]|0)){p=Gg(k[A>>2]|0)|0;k[D>>2]=p;p=u;p=Sg(k[y>>2]|0,k[D>>2]|0,k[B>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;k[C>>2]=p}Ig(k[A>>2]|0);o=k[B>>2]|0;p=u;o=$R(k[p>>2]|0,k[p+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;p=u;k[p>>2]=o;k[p+4>>2]=L}if(!(k[C>>2]|0)){D=v;D=Tg(k[y>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0;k[C>>2]=D}if(!(k[C>>2]|0)){D=Ug(k[x>>2]|0,0)|0;k[C>>2]=D}}else{Vg(k[x>>2]|0,k[h>>2]|0);D=Rg(k[x>>2]|0,0,0)|0;k[C>>2]=D}if(!(k[C>>2]|0)){D=Wg(k[(k[q>>2]|0)+4>>2]|0,0)|0;k[C>>2]=D;k[C>>2]=0==(D|0)?101:D}}}if(k[s>>2]|0){Xg(k[(k[q>>2]|0)+24>>2]|0,0)|0;Wg(k[(k[q>>2]|0)+24>>2]|0,0)|0}if((k[C>>2]|0)==3082)k[C>>2]=7;k[(k[q>>2]|0)+28>>2]=k[C>>2];D=k[C>>2]|0;r=E;return D|0}function ee(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;b=g+8|0;e=g+4|0;f=g;k[d>>2]=a;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}k[e>>2]=k[(k[d>>2]|0)+20>>2];wg(k[(k[d>>2]|0)+24>>2]|0);if(k[k[d>>2]>>2]|0){a=(k[(k[d>>2]|0)+24>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+-1}if(k[(k[d>>2]|0)+40>>2]|0){a=Yg(Zf(k[(k[d>>2]|0)+24>>2]|0)|0)|0;k[b>>2]=a;while(1){if((k[k[b>>2]>>2]|0)==(k[d>>2]|0))break;k[b>>2]=(k[k[b>>2]>>2]|0)+44}k[k[b>>2]>>2]=k[(k[d>>2]|0)+44>>2]}Zg(k[(k[d>>2]|0)+4>>2]|0,0,0)|0;if((k[(k[d>>2]|0)+28>>2]|0)==101)a=0;else a=k[(k[d>>2]|0)+28>>2]|0;k[f>>2]=a;if(k[k[d>>2]>>2]|0){vg(k[k[d>>2]>>2]|0,k[f>>2]|0);_g(k[k[d>>2]>>2]|0)}if(k[k[d>>2]>>2]|0)Ud(k[d>>2]|0);_g(k[e>>2]|0);k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}function fe(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;e=g+8|0;f=g+4|0;d=g;k[c>>2]=a;if(!(k[c>>2]|0))k[e>>2]=0;else{k[f>>2]=k[c>>2];k[d>>2]=k[k[f>>2]>>2];if($g(k[f>>2]|0)|0){f=Vf(75223)|0;k[b>>2]=f;f=k[b>>2]|0;r=g;return f|0}a=(k[f>>2]|0)+128|0;c=k[a+4>>2]|0;if((c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>0)ah(k[d>>2]|0,k[f>>2]|0);f=bh(k[f>>2]|0)|0;k[e>>2]=f;f=ch(k[d>>2]|0,k[e>>2]|0)|0;k[e>>2]=f;_g(k[d>>2]|0)}k[b>>2]=k[e>>2];f=k[b>>2]|0;r=g;return f|0}function ge(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;e=f+4|0;c=f;k[b>>2]=a;if(!(k[b>>2]|0)){k[d>>2]=0;e=k[d>>2]|0;r=f;return e|0}k[e>>2]=k[b>>2];k[c>>2]=k[k[e>>2]>>2];a=(k[e>>2]|0)+128|0;b=k[a+4>>2]|0;if((b|0)>0|(b|0)==0&(k[a>>2]|0)>>>0>0)ah(k[c>>2]|0,k[e>>2]|0);a=dh(k[e>>2]|0)|0;k[d>>2]=a;eh(k[e>>2]|0);e=ch(k[c>>2]|0,k[d>>2]|0)|0;k[d>>2]=e;e=k[d>>2]|0;r=f;return e|0}function he(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;b=e+8|0;d=e+4|0;c=e;k[f>>2]=a;k[d>>2]=0;k[c>>2]=k[f>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(j[(k[c>>2]|0)+16>>1]|0))break;fh((k[(k[c>>2]|0)+116>>2]|0)+((k[b>>2]|0)*40|0)|0);j[(k[(k[c>>2]|0)+116>>2]|0)+((k[b>>2]|0)*40|0)+8>>1]=1;k[b>>2]=(k[b>>2]|0)+1}if(!((m[(k[c>>2]|0)+144>>1]|0)>>>9&1)){f=k[d>>2]|0;r=e;return f|0}if(!(k[(k[c>>2]|0)+196>>2]|0)){f=k[d>>2]|0;r=e;return f|0}f=(k[c>>2]|0)+144|0;j[f>>1]=j[f>>1]&-2|1;f=k[d>>2]|0;r=e;return f|0}function ie(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e+8|0;b=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[b>>2];if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){c=je(k[b>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;r=e;return d|0}if((m[(k[c>>2]|0)+8>>1]|0)&16384)b=gh(k[c>>2]|0)|0;else b=0;if(b){k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|16;if(k[(k[c>>2]|0)+12>>2]|0)b=k[(k[c>>2]|0)+16>>2]|0;else b=0;k[d>>2]=b;d=k[d>>2]|0;r=e;return d|0}function je(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=hh(k[c>>2]|0,1)|0;r=b;return a|0}function ke(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=ih(k[c>>2]|0,1)|0;r=b;return a|0}function le(a){a=a|0;var b=0.0,c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;b=+jh(k[d>>2]|0);r=c;return +b}function me(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=kh(k[c>>2]|0)|0;r=b;return a|0}function ne(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=kh(k[c>>2]|0)|0;r=b;return a|0}function oe(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[18138+((m[(k[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;nh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,0,k[f>>2]|0);r=e;return}function qe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=e;b=h;e=k[b+4>>2]|0;if(e>>>0>0|(e|0)==0&(k[b>>2]|0)>>>0>2147483647){oh(k[g>>2]|0,k[i>>2]|0,k[f>>2]|0)|0;r=j;return}else{nh(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,k[i>>2]|0);r=j;return}}function re(a,b){a=a|0;b=+b;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c;k[e>>2]=a;p[d>>3]=b;ph(k[k[e>>2]>>2]|0,+p[d>>3]);r=c;return}function se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[(k[g>>2]|0)+20>>2]=1;i[(k[g>>2]|0)+25>>0]=1;qh(k[k[g>>2]>>2]|0,k[f>>2]|0,k[e>>2]|0,1,-1)|0;r=d;return}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;a=k[e>>2]|0;rh(k[k[d>>2]>>2]|0,a,((a|0)<0)<<31>>31);r=c;return}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;rh(k[k[e>>2]>>2]|0,k[a>>2]|0,k[a+4>>2]|0);r=d;return}function ve(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;sh(k[k[c>>2]>>2]|0);r=b;return}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;nh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,1,k[f>>2]|0);r=e;return}function xe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+16|0;h=o+12|0;j=o;m=o+8|0;n=o+20|0;k[g>>2]=a;k[h>>2]=b;b=j;k[b>>2]=c;k[b+4>>2]=d;k[m>>2]=e;i[n>>0]=f;if((l[n>>0]|0)==4)i[n>>0]=(i[968]|0)==0?3:2;b=j;e=k[b+4>>2]|0;if(e>>>0>0|(e|0)==0&(k[b>>2]|0)>>>0>2147483647){oh(k[h>>2]|0,k[m>>2]|0,k[g>>2]|0)|0;r=o;return}else{nh(k[g>>2]|0,k[h>>2]|0,k[j>>2]|0,i[n>>0]|0,k[m>>2]|0);r=o;return}}function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;th(k[k[e>>2]>>2]|0,k[d>>2]|0)|0;r=c;return}function ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;d=g+16|0;e=g+12|0;f=g;i=g+8|0;k[e>>2]=a;h=f;k[h>>2]=b;k[h+4>>2]=c;k[i>>2]=k[k[e>>2]>>2];c=f;h=k[c+4>>2]|0;a=k[(k[(k[i>>2]|0)+32>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if(h>>>0>b>>>0|((h|0)==(b|0)?(k[c>>2]|0)>>>0>a>>>0:0)){k[d>>2]=18;i=k[d>>2]|0;r=g;return i|0}else{uh(k[k[e>>2]>>2]|0,k[f>>2]|0);k[d>>2]=0;i=k[d>>2]|0;r=g;return i|0}return 0}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;k[(k[c>>2]|0)+20>>2]=k[d>>2];i[(k[c>>2]|0)+25>>0]=1;if(!((m[(k[k[c>>2]>>2]|0)+8>>1]|0)&1)){r=e;return}a=k[k[c>>2]>>2]|0;qh(a,vh(k[d>>2]|0)|0,-1,1,0)|0;r=e;return}function Be(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+20>>2]=18;i[(k[c>>2]|0)+25>>0]=1;qh(k[k[c>>2]>>2]|0,18170,-1,1,0)|0;r=b;return}function Ce(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;sh(k[k[c>>2]>>2]|0);k[(k[c>>2]|0)+20>>2]=7;i[(k[c>>2]|0)+25>>0]=1;wh(k[(k[k[c>>2]>>2]|0)+32>>2]|0);r=b;return}function De(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+48|0;b=n+32|0;c=n+28|0;f=n+24|0;g=n+20|0;l=n+16|0;d=n+12|0;e=n+8|0;h=n+4|0;m=n;k[c>>2]=a;k[f>>2]=0;k[g>>2]=0;k[l>>2]=k[c>>2];k[d>>2]=0;if(xh(k[l>>2]|0)|0){m=Vf(75775)|0;k[b>>2]=m;m=k[b>>2]|0;r=n;return m|0}k[e>>2]=k[k[l>>2]>>2];a=(k[l>>2]|0)+144|0;j[a>>1]=j[a>>1]&-3;while(1){a=yh(k[l>>2]|0)|0;k[f>>2]=a;if((a|0)!=17)break;a=k[d>>2]|0;k[d>>2]=a+1;if((a|0)>=50)break;k[h>>2]=k[(k[l>>2]|0)+36>>2];a=zh(k[l>>2]|0)|0;k[f>>2]=a;k[g>>2]=a;if(k[f>>2]|0)break;ge(k[c>>2]|0)|0;if((k[h>>2]|0)<0)continue;a=(k[l>>2]|0)+144|0;j[a>>1]=j[a>>1]&-3|2}do if(k[g>>2]|0){h=je(k[(k[e>>2]|0)+244>>2]|0)|0;k[m>>2]=h;bg(k[e>>2]|0,k[(k[l>>2]|0)+108>>2]|0);if(i[(k[e>>2]|0)+69>>0]|0){k[(k[l>>2]|0)+108>>2]=0;k[f>>2]=7;k[(k[l>>2]|0)+40>>2]=7;break}else{m=Ah(k[e>>2]|0,k[m>>2]|0)|0;k[(k[l>>2]|0)+108>>2]=m;k[(k[l>>2]|0)+40>>2]=k[g>>2];break}}while(0);m=ch(k[e>>2]|0,k[f>>2]|0)|0;k[f>>2]=m;k[b>>2]=k[f>>2];m=k[b>>2]|0;r=n;return m|0}function Ee(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[(k[b>>2]|0)+4>>2]|0)+4>>2]|0}function Fe(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[k[b>>2]>>2]|0)+32>>2]|0}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;b=k[f>>2]|0;if(!((m[(k[(k[f>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){f=Bh(b,k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}else{k[c>>2]=k[(k[b+8>>2]|0)+16>>2];f=k[c>>2]|0;r=e;return f|0}return 0}function He(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=m[(k[b>>2]|0)+140>>1]|0;r=c;return d|0}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=k[e>>2];if((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+104>>2]|0)!=0:0){k[b>>2]=m[(k[c>>2]|0)+140>>1];e=k[b>>2]|0;r=d;return e|0}k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}function Je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=ie(Dh(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Eh(k[e>>2]|0);r=d;return k[c>>2]|0}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=ke(Dh(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Eh(k[e>>2]|0);r=d;return k[c>>2]|0}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0;d=r;r=r+16|0;e=d+12|0;g=d+8|0;c=d;k[e>>2]=a;k[g>>2]=b;f=+le(Dh(k[e>>2]|0,k[g>>2]|0)|0);p[c>>3]=f;Eh(k[e>>2]|0);r=d;return +(+p[c>>3])}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=me(Dh(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Eh(k[e>>2]|0);r=d;return k[c>>2]|0}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+12|0;f=c+8|0;d=c;k[e>>2]=a;k[f>>2]=b;b=ne(Dh(k[e>>2]|0,k[f>>2]|0)|0)|0;a=d;k[a>>2]=b;k[a+4>>2]=L;Eh(k[e>>2]|0);a=d;L=k[a+4>>2]|0;r=c;return k[a>>2]|0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=je(Dh(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Eh(k[e>>2]|0);r=d;return k[c>>2]|0}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=Dh(k[c>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;if(!((m[(k[d>>2]|0)+8>>1]|0)&2048)){f=k[c>>2]|0;Eh(f);f=k[d>>2]|0;r=e;return f|0}f=(k[d>>2]|0)+8|0;j[f>>1]=(m[f>>1]|0)&-2049;f=(k[d>>2]|0)+8|0;j[f>>1]=m[f>>1]|0|4096;f=k[c>>2]|0;Eh(f);f=k[d>>2]|0;r=e;return f|0}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=oe(Dh(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Eh(k[e>>2]|0);r=d;return k[c>>2]|0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=Fh(k[e>>2]|0,k[d>>2]|0,169,0)|0;r=c;return a|0}function Se(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=Gh(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,0)|0;r=f;return c|0}function Te(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+20|0;d=h+16|0;e=h;g=h+12|0;f=h+8|0;k[i>>2]=a;k[d>>2]=b;p[e>>3]=c;k[f>>2]=k[i>>2];a=Hh(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}ph((k[(k[f>>2]|0)+116>>2]|0)+(((k[d>>2]|0)-1|0)*40|0)|0,+p[e>>3]);i=k[g>>2]|0;r=h;return i|0}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;a=Ve(k[f>>2]|0,k[e>>2]|0,a,((a|0)<0)<<31>>31)|0;r=d;return a|0}function Ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i+16|0;f=i;h=i+12|0;g=i+8|0;k[j>>2]=a;k[e>>2]=b;a=f;k[a>>2]=c;k[a+4>>2]=d;k[g>>2]=k[j>>2];a=Hh(k[g>>2]|0,k[e>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=f;rh((k[(k[g>>2]|0)+116>>2]|0)+(((k[e>>2]|0)-1|0)*40|0)|0,k[j>>2]|0,k[j+4>>2]|0);j=k[h>>2]|0;r=i;return j|0}function We(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;c=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[g>>2];a=Hh(k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function Xe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=Gh(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,1)|0;r=f;return c|0}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;switch(oe(k[f>>2]|0)|0){case 1:{f=k[f>>2]|0;f=Ve(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}case 2:{f=Te(k[d>>2]|0,k[e>>2]|0,+p[k[f>>2]>>3])|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}case 4:{a=k[d>>2]|0;d=k[e>>2]|0;b=k[f>>2]|0;if((m[(k[f>>2]|0)+8>>1]|0)&16384){f=Ze(a,d,k[b>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}else{f=Se(a,d,k[b+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0,-1)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}}case 3:{f=Gh(k[d>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0,-1,i[(k[f>>2]|0)+10>>0]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}default:{f=We(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}}return 0}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[i>>2];a=Hh(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}uh((k[(k[f>>2]|0)+116>>2]|0)+(((k[d>>2]|0)-1|0)*40|0)|0,k[e>>2]|0);i=k[g>>2]|0;r=h;return i|0}function _e(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=j[(k[b>>2]|0)+16>>1]|0;r=c;return d|0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[e>>2]|0;b=k[d>>2]|0;b=Ih(a,b,Tf(k[d>>2]|0)|0)|0;r=c;return b|0}function af(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=k[(k[b>>2]|0)+176>>2]|0;r=c;return d|0}function bf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=oe(k[b>>2]|0)|0;k[c>>2]=a;if((k[c>>2]|0)!=3){a=k[c>>2]|0;r=e;return a|0}k[d>>2]=k[b>>2];Lh(k[d>>2]|0,0);a=oe(k[b>>2]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=e;return a|0}function cf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;n=Q+128|0;o=Q+124|0;G=Q+120|0;p=Q;q=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;k[F>>2]=a;k[n>>2]=b;k[o>>2]=c;k[G>>2]=d;c=p;k[c>>2]=e;k[c+4>>2]=f;k[q>>2]=g;k[H>>2]=h;k[x>>2]=0;k[K>>2]=0;k[O>>2]=0;k[J>>2]=0;k[I>>2]=0;k[k[H>>2]>>2]=0;k[q>>2]=((k[q>>2]|0)!=0^1^1)&1;c=Ch(k[F>>2]|0,36,0)|0;k[I>>2]=c;a:do if((k[I>>2]|0)!=0?(c=Mh(k[F>>2]|0,480,0)|0,k[J>>2]=c,(k[J>>2]|0)!=0):0){while(1){dS(k[J>>2]|0,0,480)|0;k[k[J>>2]>>2]=k[F>>2];bg(k[F>>2]|0,k[O>>2]|0);k[O>>2]=0;Yf(k[F>>2]|0);c=Nh(k[J>>2]|0,0,k[o>>2]|0,k[n>>2]|0)|0;k[A>>2]=c;if((k[A>>2]|0)!=0?(l[(k[A>>2]|0)+42>>0]&16|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[C>>2]=k[o>>2];Oh(c,18193,C)}if((k[A>>2]|0)!=0?(l[(k[A>>2]|0)+42>>0]&32|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[D>>2]=k[o>>2];Oh(c,18223,D)}if((k[A>>2]|0)!=0?(k[(k[A>>2]|0)+12>>2]|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[E>>2]=k[o>>2];Oh(c,18259,E)}if(!(k[A>>2]|0)){e=13;break}k[(k[I>>2]|0)+32>>2]=k[A>>2];c=Ph(k[F>>2]|0,k[(k[A>>2]|0)+64>>2]|0)|0;k[(k[I>>2]|0)+28>>2]=k[(k[(k[F>>2]|0)+16>>2]|0)+(c<<4)>>2];k[t>>2]=0;while(1){if((k[t>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break;if(!(sg(k[(k[(k[A>>2]|0)+4>>2]|0)+(k[t>>2]<<4)>>2]|0,k[G>>2]|0)|0))break;k[t>>2]=(k[t>>2]|0)+1}if((k[t>>2]|0)==(j[(k[A>>2]|0)+34>>1]|0)){e=21;break}if(k[q>>2]|0){k[P>>2]=0;b:do if(k[(k[F>>2]|0)+24>>2]&524288){k[y>>2]=k[(k[A>>2]|0)+16>>2];while(1){if(!(k[y>>2]|0))break b;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[(k[y>>2]|0)+20>>2]|0))break;if((k[(k[y>>2]|0)+36+(k[v>>2]<<3)>>2]|0)==(k[t>>2]|0))k[P>>2]=18301;k[v>>2]=(k[v>>2]|0)+1}k[y>>2]=k[(k[y>>2]|0)+4>>2]}}while(0);k[z>>2]=k[(k[A>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(m[(k[z>>2]|0)+50>>1]|0))break;if(!((j[(k[(k[z>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0)!=(k[t>>2]|0)?(j[(k[(k[z>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0)!=-2:0))k[P>>2]=18313;k[w>>2]=(k[w>>2]|0)+1}k[z>>2]=k[(k[z>>2]|0)+20>>2]}if(k[P>>2]|0){e=42;break}}c=Rh(k[J>>2]|0)|0;k[(k[I>>2]|0)+20>>2]=c;if(k[(k[I>>2]|0)+20>>2]|0){k[B>>2]=k[(k[I>>2]|0)+20>>2];c=Ph(k[F>>2]|0,k[(k[A>>2]|0)+64>>2]|0)|0;k[u>>2]=c;Sh(k[B>>2]|0,2,k[u>>2]|0,k[q>>2]|0,k[k[(k[A>>2]|0)+64>>2]>>2]|0,k[(k[(k[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Th(k[B>>2]|0,1);c=Uh(k[B>>2]|0,9,18355,0)|0;k[s>>2]=c;Vh(k[B>>2]|0,k[u>>2]|0);if(!(l[(k[F>>2]|0)+69>>0]|0)){k[(k[s>>2]|0)+4>>2]=k[u>>2];k[(k[s>>2]|0)+8>>2]=k[(k[A>>2]|0)+28>>2];k[(k[s>>2]|0)+12>>2]=k[q>>2];Wh(k[B>>2]|0,1,k[k[A>>2]>>2]|0,0)}if(!(l[(k[F>>2]|0)+69>>0]|0)){if(k[q>>2]|0)i[(k[s>>2]|0)+20>>0]=105;k[(k[s>>2]|0)+20+8>>2]=k[(k[A>>2]|0)+28>>2];k[(k[s>>2]|0)+20+12>>2]=k[u>>2];i[(k[s>>2]|0)+20+1>>0]=-14;k[(k[s>>2]|0)+20+16>>2]=(j[(k[A>>2]|0)+34>>1]|0)+1;k[(k[s>>2]|0)+80+8>>2]=j[(k[A>>2]|0)+34>>1];j[(k[J>>2]|0)+400>>1]=1;k[(k[J>>2]|0)+44>>2]=1;k[(k[J>>2]|0)+40>>2]=1;Xh(k[B>>2]|0,k[J>>2]|0)}}k[k[I>>2]>>2]=k[q>>2];k[(k[I>>2]|0)+12>>2]=k[t>>2];k[(k[I>>2]|0)+24>>2]=k[F>>2];if(i[(k[F>>2]|0)+69>>0]|0)break a;c=p;Ve(k[(k[I>>2]|0)+20>>2]|0,1,k[c>>2]|0,k[c+4>>2]|0)|0;c=p;c=Yh(k[I>>2]|0,k[c>>2]|0,k[c+4>>2]|0,O)|0;k[K>>2]=c;c=(k[x>>2]|0)+1|0;k[x>>2]=c;if(!((c|0)<50?(k[K>>2]|0)==17:0))break a}if((e|0)==13){if(k[(k[J>>2]|0)+4>>2]|0){bg(k[F>>2]|0,k[O>>2]|0);k[O>>2]=k[(k[J>>2]|0)+4>>2];k[(k[J>>2]|0)+4>>2]=0}k[K>>2]=1;break}else if((e|0)==21){bg(k[F>>2]|0,k[O>>2]|0);P=k[F>>2]|0;k[N>>2]=k[G>>2];P=Qh(P,18280,N)|0;k[O>>2]=P;k[K>>2]=1;break}else if((e|0)==42){bg(k[F>>2]|0,k[O>>2]|0);N=k[F>>2]|0;k[L>>2]=k[P>>2];P=Qh(N,18321,L)|0;k[O>>2]=P;k[K>>2]=1;break}}while(0);if((k[K>>2]|0)==0?(l[(k[F>>2]|0)+69>>0]|0)==0:0){k[k[H>>2]>>2]=k[I>>2];L=k[F>>2]|0;P=k[K>>2]|0;N=k[O>>2]|0;N=(N|0)!=0;N=N?18391:0;I=k[O>>2]|0;k[M>>2]=I;tg(L,P,N,M);N=k[F>>2]|0;P=k[O>>2]|0;bg(N,P);P=k[J>>2]|0;Zh(P);P=k[F>>2]|0;O=k[J>>2]|0;bg(P,O);O=k[F>>2]|0;P=k[K>>2]|0;P=ch(O,P)|0;k[K>>2]=P;P=k[K>>2]|0;r=Q;return P|0}if((k[I>>2]|0)!=0?(k[(k[I>>2]|0)+20>>2]|0)!=0:0)bh(k[(k[I>>2]|0)+20>>2]|0)|0;bg(k[F>>2]|0,k[I>>2]|0);L=k[F>>2]|0;P=k[K>>2]|0;N=k[O>>2]|0;N=(N|0)!=0;N=N?18391:0;I=k[O>>2]|0;k[M>>2]=I;tg(L,P,N,M);N=k[F>>2]|0;P=k[O>>2]|0;bg(N,P);P=k[J>>2]|0;Zh(P);P=k[F>>2]|0;O=k[J>>2]|0;bg(P,O);O=k[F>>2]|0;P=k[K>>2]|0;P=ch(O,P)|0;k[K>>2]=P;P=k[K>>2]|0;r=Q;return P|0}function df(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;c=e+8|0;d=e+4|0;b=e;k[f>>2]=a;k[c>>2]=k[f>>2];if(k[c>>2]|0){k[b>>2]=k[(k[c>>2]|0)+24>>2];f=fe(k[(k[c>>2]|0)+20>>2]|0)|0;k[d>>2]=f;bg(k[b>>2]|0,k[c>>2]|0);f=k[d>>2]|0;r=e;return f|0}else{k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}return 0}function ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=$h(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,138)|0;r=e;return b|0}function ff(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}if(!(k[(k[b>>2]|0)+20>>2]|0)){d=0;r=c;return d|0}d=k[(k[b>>2]|0)+4>>2]|0;r=c;return d|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+48|0;i=l+8|0;d=l+32|0;m=l+28|0;e=l;h=l+24|0;g=l+20|0;f=l+16|0;j=l+12|0;k[m>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=k[m>>2];if(!(k[g>>2]|0)){m=Vf(84814)|0;k[d>>2]=m;m=k[d>>2]|0;r=l;return m|0}k[f>>2]=k[(k[g>>2]|0)+24>>2];if(k[(k[g>>2]|0)+20>>2]|0){m=e;m=Yh(k[g>>2]|0,k[m>>2]|0,k[m+4>>2]|0,j)|0;k[h>>2]=m;if(k[h>>2]|0){g=k[f>>2]|0;a=k[h>>2]|0;m=(k[j>>2]|0)!=0?18391:0;k[i>>2]=k[j>>2];tg(g,a,m,i);bg(k[f>>2]|0,k[j>>2]|0)}}else k[h>>2]=4;m=ch(k[f>>2]|0,k[h>>2]|0)|0;k[h>>2]=m;k[d>>2]=k[h>>2];m=k[d>>2]|0;r=l;return m|0}function hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=(bi(k[e>>2]|0,k[d>>2]|0,18394,91)|0)==0&1;r=c;return b|0}function jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;b=(bi(k[g>>2]|0,k[f>>2]|0,18398,k[e>>2]|0)|0)==0&1;r=d;return b|0}function kf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;f=z+56|0;g=z+52|0;h=z+48|0;j=z+44|0;m=z+40|0;n=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;o=z+20|0;q=z+16|0;t=z+12|0;p=z+8|0;s=z+4|0;u=z;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[w>>2]=0;k[v>>2]=0;k[o>>2]=0;if(!(ci(k[g>>2]|0)|0)){y=Vf(109597)|0;k[f>>2]=y;y=k[f>>2]|0;r=z;return y|0}if(!(k[h>>2]|0))k[h>>2]=18402;vg(k[g>>2]|0,0);a:while(1){if(k[w>>2]|0)break;if(!(i[k[h>>2]>>0]|0))break;k[p>>2]=0;k[v>>2]=0;b=lf(k[g>>2]|0,k[h>>2]|0,-1,v,x)|0;k[w>>2]=b;if(k[w>>2]|0)continue;if(!(k[v>>2]|0)){k[h>>2]=k[x>>2];continue}k[q>>2]=0;b=He(k[v>>2]|0)|0;k[t>>2]=b;do{b=De(k[v>>2]|0)|0;k[w>>2]=b;do if(k[j>>2]|0){if(100!=(k[w>>2]|0)){if(101!=(k[w>>2]|0)|(k[q>>2]|0)!=0)break;if(!(k[(k[g>>2]|0)+24>>2]&256))break}if(!(k[q>>2]|0)){b=Ch(k[g>>2]|0,(k[t>>2]<<1<<2)+1|0,0)|0;k[o>>2]=b;if(!(k[o>>2]|0))break a;k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break;b=Re(k[v>>2]|0,k[s>>2]|0)|0;k[(k[o>>2]|0)+(k[s>>2]<<2)>>2]=b;k[s>>2]=(k[s>>2]|0)+1}k[q>>2]=1}b:do if((k[w>>2]|0)==100){k[p>>2]=(k[o>>2]|0)+(k[t>>2]<<2);k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break b;b=Oe(k[v>>2]|0,k[s>>2]|0)|0;k[(k[p>>2]|0)+(k[s>>2]<<2)>>2]=b;if((k[(k[p>>2]|0)+(k[s>>2]<<2)>>2]|0)==0?(Qe(k[v>>2]|0,k[s>>2]|0)|0)!=5:0){y=27;break a}k[s>>2]=(k[s>>2]|0)+1}}while(0);if(ec[k[j>>2]&255](k[m>>2]|0,k[t>>2]|0,k[p>>2]|0,k[o>>2]|0)|0){y=30;break a}}while(0)}while((k[w>>2]|0)==100);b=bh(k[v>>2]|0)|0;k[w>>2]=b;k[v>>2]=0;k[h>>2]=k[x>>2];while(1){if(!(l[18403+(l[k[h>>2]>>0]|0)>>0]&1))break;k[h>>2]=(k[h>>2]|0)+1}bg(k[g>>2]|0,k[o>>2]|0);k[o>>2]=0}if((y|0)==27)wh(k[g>>2]|0);else if((y|0)==30){k[w>>2]=4;bh(k[v>>2]|0)|0;k[v>>2]=0;vg(k[g>>2]|0,4)}if(k[v>>2]|0)bh(k[v>>2]|0)|0;bg(k[g>>2]|0,k[o>>2]|0);y=ch(k[g>>2]|0,k[w>>2]|0)|0;k[w>>2]=y;do if((k[w>>2]|0)!=0&(k[n>>2]|0)!=0){y=1+(Tf(mf(k[g>>2]|0)|0)|0)|0;k[u>>2]=y;y=k[u>>2]|0;y=jg(y,((y|0)<0)<<31>>31)|0;k[k[n>>2]>>2]=y;if(k[k[n>>2]>>2]|0){b=k[k[n>>2]>>2]|0;y=mf(k[g>>2]|0)|0;bS(b|0,y|0,k[u>>2]|0)|0;break}else{k[w>>2]=7;vg(k[g>>2]|0,7);break}}else if(k[n>>2]|0)k[k[n>>2]>>2]=0;while(0);k[f>>2]=k[w>>2];y=k[f>>2]|0;r=z;return y|0}function lf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=di(k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,1,0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function mf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){d=vh(7)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}if(!(ei(k[c>>2]|0)|0)){d=vh(Vf(140046)|0)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}if(!(i[(k[c>>2]|0)+69>>0]|0)){a=je(k[(k[c>>2]|0)+244>>2]|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){a=vh(k[(k[c>>2]|0)+52>>2]|0)|0;k[d>>2]=a}}else{a=vh(7)|0;k[d>>2]=a}k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}function nf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=di(k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,0,0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=fi(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return b|0}function pf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;b=fi(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;r=f;return b|0}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;p=s;c=s+40|0;d=s+36|0;e=s+32|0;f=s+28|0;m=s+24|0;o=s+20|0;n=s+16|0;q=s+12|0;h=s+8|0;g=s+4|0;k[d>>2]=a;k[e>>2]=b;k[o>>2]=0;k[q>>2]=0;k[f>>2]=k[(k[d>>2]|0)+336>>2];if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+12>>2]|0)==0:0){k[n>>2]=k[(k[f>>2]|0)+4>>2];b=Ch(k[d>>2]|0,480,0)|0;k[m>>2]=b;if(!(k[m>>2]|0))k[o>>2]=7;else{i[(k[m>>2]|0)+410>>0]=1;k[k[m>>2]>>2]=k[d>>2];k[(k[m>>2]|0)+136>>2]=1;if((((0==(gi(k[m>>2]|0,k[e>>2]|0,q)|0)?(k[(k[m>>2]|0)+440>>2]|0)!=0:0)?(i[(k[d>>2]|0)+69>>0]|0)==0:0)?(k[(k[(k[m>>2]|0)+440>>2]|0)+12>>2]|0)==0:0)?(l[(k[(k[m>>2]|0)+440>>2]|0)+42>>0]&16|0)==0:0){if(!(k[(k[n>>2]|0)+4>>2]|0)){k[h>>2]=k[(k[m>>2]|0)+440>>2];k[(k[n>>2]|0)+4>>2]=k[(k[h>>2]|0)+4>>2];j[(k[n>>2]|0)+34>>1]=j[(k[h>>2]|0)+34>>1]|0;q=(k[n>>2]|0)+42|0;i[q>>0]=l[q>>0]|l[(k[h>>2]|0)+42>>0]&96;j[(k[h>>2]|0)+34>>1]=0;k[(k[h>>2]|0)+4>>2]=0;if((l[(k[h>>2]|0)+42>>0]&32|0)!=0?(k[(k[k[(k[k[f>>2]>>2]|0)+4>>2]>>2]|0)+52>>2]|0)!=0:0)k[o>>2]=1;k[g>>2]=k[(k[h>>2]|0)+8>>2];if(k[g>>2]|0){k[(k[n>>2]|0)+8>>2]=k[g>>2];k[(k[h>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+12>>2]=k[n>>2]}}k[(k[f>>2]|0)+12>>2]=1}else{n=k[d>>2]|0;b=(k[q>>2]|0)!=0?18391:0;k[p>>2]=k[q>>2];tg(n,1,b,p);bg(k[d>>2]|0,k[q>>2]|0);k[o>>2]=1}i[(k[m>>2]|0)+410>>0]=0;if(k[(k[m>>2]|0)+8>>2]|0)bh(k[(k[m>>2]|0)+8>>2]|0)|0;$f(k[d>>2]|0,k[(k[m>>2]|0)+440>>2]|0);Zh(k[m>>2]|0);bg(k[d>>2]|0,k[m>>2]|0)}q=ch(k[d>>2]|0,k[o>>2]|0)|0;k[o>>2]=q;k[c>>2]=k[o>>2];q=k[c>>2]|0;r=s;return q|0}vg(k[d>>2]|0,21);q=Vf(123278)|0;k[c>>2]=q;q=k[c>>2]|0;r=s;return q|0}function rf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[18659+((l[(k[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;d=h+28|0;j=h+24|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[j>>2]=b;k[g>>2]=0;k[e>>2]=c;do if((k[j>>2]|0)==1){k[f>>2]=k[(k[d>>2]|0)+336>>2];if(k[f>>2]|0){c=(k[e>>2]|0)+(4-1)&~(4-1);j=k[c>>2]|0;k[e>>2]=c+4;i[(k[k[f>>2]>>2]|0)+16>>0]=j;break}else{j=Vf(123749)|0;k[g>>2]=j;break}}else{j=Vf(123757)|0;k[g>>2]=j}while(0);if(!(k[g>>2]|0)){j=k[g>>2]|0;r=h;return j|0}vg(k[d>>2]|0,k[g>>2]|0);j=k[g>>2]|0;r=h;return j|0}function tf(){return 17598}function uf(){return 18677}function vf(){return 3015001}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+48|0;g=i+44|0;c=i+40|0;d=i+24|0;h=i+16|0;f=i+8|0;e=i;k[c>>2]=a;k[h>>2]=0;if(k[59]|0){h=Vf(138190)|0;k[g>>2]=h;h=k[g>>2]|0;r=i;return h|0}k[d>>2]=b;do switch(k[c>>2]|0){case 4:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[12]=k[b>>2];k[13]=k[b+4>>2];k[14]=k[b+8>>2];k[15]=k[b+12>>2];k[16]=k[b+16>>2];k[17]=k[b+20>>2];k[18]=k[b+24>>2];k[19]=k[b+28>>2];break}case 5:{if(!(k[12]|0))ji();f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[b>>2]=k[12];k[b+4>>2]=k[13];k[b+8>>2]=k[14];k[b+12>>2]=k[15];k[b+16>>2]=k[16];k[b+20>>2]=k[17];k[b+24>>2]=k[18];k[b+28>>2]=k[19];break}case 9:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[2]=b;break}case 6:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[50]=b;b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[51]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[52]=b;break}case 7:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[53]=b;b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[54]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[55]=b;break}case 24:{f=(ki()|0)+(li()|0)+(mi()|0)|0;a=(k[d>>2]|0)+(4-1)&~(4-1);b=k[a>>2]|0;k[d>>2]=a+4;k[b>>2]=f;break}case 14:break;case 15:{k[h>>2]=1;break}case 18:{c=(k[d>>2]|0)+(4-1)&~(4-1);e=k[c>>2]|0;k[d>>2]=c+4;c=116;d=e;e=c+52|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));break}case 19:{if(!(k[31]|0))ni();e=(k[d>>2]|0)+(4-1)&~(4-1);c=k[e>>2]|0;k[d>>2]=e+4;d=116;e=c+52|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));break}case 13:{b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[9]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[10]=b;break}case 16:{b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[66]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[67]=b;break}case 17:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[5]=b;break}case 20:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[6]=b;break}case 22:{b=(k[d>>2]|0)+(8-1)&~(8-1);a=b;c=k[a>>2]|0;a=k[a+4>>2]|0;k[d>>2]=b+8;b=f;k[b>>2]=c;k[b+4>>2]=a;b=(k[d>>2]|0)+(8-1)&~(8-1);a=b;c=k[a>>2]|0;a=k[a+4>>2]|0;k[d>>2]=b+8;d=e;k[d>>2]=c;k[d+4>>2]=a;d=e;b=k[d+4>>2]|0;d=(k[e+4>>2]|0)<0|((b|0)>0|(b|0)==0&(k[d>>2]|0)>>>0>0);b=e;k[b>>2]=d?0:c;k[b+4>>2]=d?0:a;if((k[f+4>>2]|0)<0){b=f;k[b>>2]=0;k[b+4>>2]=0}a=f;c=k[a+4>>2]|0;b=e;d=k[b+4>>2]|0;if((c|0)>(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)){d=e;a=k[d+4>>2]|0;b=f;k[b>>2]=k[d>>2];k[b+4>>2]=a}b=k[e+4>>2]|0;a=192;k[a>>2]=k[e>>2];k[a+4>>2]=b;a=f;f=k[a+4>>2]|0;b=184;k[b>>2]=k[a>>2];k[b+4>>2]=f;break}case 25:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[58]=b;break}case 26:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[11]=b;break}default:k[h>>2]=1}while(0);k[g>>2]=k[h>>2];h=k[g>>2]|0;r=i;return h|0}function xf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;Yf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0){a=Zf(k[d>>2]|0)|0;k[e>>2]=a;oi(k[e>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;d=q+52|0;e=q+48|0;f=q+32|0;n=q+28|0;l=q+24|0;o=q+20|0;g=q+16|0;h=q+12|0;j=q+8|0;m=q+4|0;i=q;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;switch(k[e>>2]|0){case 1e3:{c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[k[(k[d>>2]|0)+16>>2]>>2]=p;k[n>>2]=0;p=k[n>>2]|0;r=q;return p|0}case 1001:{c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[l>>2]=p;p=(k[f>>2]|0)+(4-1)&~(4-1);c=k[p>>2]|0;k[f>>2]=p+4;k[o>>2]=c;c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[g>>2]=p;p=qi(k[d>>2]|0,k[l>>2]|0,k[o>>2]|0,k[g>>2]|0)|0;k[n>>2]=p;p=k[n>>2]|0;r=q;return p|0}default:{k[n>>2]=1;k[h>>2]=0;while(1){if((k[h>>2]|0)>>>0>=4){p=17;break}if((k[1548+(k[h>>2]<<3)>>2]|0)==(k[e>>2]|0))break;k[h>>2]=(k[h>>2]|0)+1}if((p|0)==17){p=k[n>>2]|0;r=q;return p|0}p=(k[f>>2]|0)+(4-1)&~(4-1);c=k[p>>2]|0;k[f>>2]=p+4;k[j>>2]=c;c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[m>>2]=p;k[i>>2]=k[(k[d>>2]|0)+24>>2];if((k[j>>2]|0)<=0){if(!(k[j>>2]|0)){p=(k[d>>2]|0)+24|0;k[p>>2]=k[p>>2]&~k[1548+(k[h>>2]<<3)+4>>2]}}else{p=(k[d>>2]|0)+24|0;k[p>>2]=k[p>>2]|k[1548+(k[h>>2]<<3)+4>>2]}if((k[i>>2]|0)!=(k[(k[d>>2]|0)+24>>2]|0))ai(k[d>>2]|0);if(k[m>>2]|0)k[k[m>>2]>>2]=(k[(k[d>>2]|0)+24>>2]&k[1548+(k[h>>2]<<3)+4>>2]|0)!=0&1;k[n>>2]=0;p=k[n>>2]|0;r=q;return p|0}}return 0}function zf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+32|0;L=k[a+4>>2]|0;r=b;return k[a>>2]|0}function Af(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+88>>2]|0}function Bf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+92>>2]|0}function Cf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=ri(k[c>>2]|0,0)|0;r=b;return a|0}function Df(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=ri(k[c>>2]|0,1)|0;r=b;return a|0}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[e>>2]|0)+380>>2]=k[g>>2];k[(k[e>>2]|0)+380+4>>2]=k[f>>2];k[(k[e>>2]|0)+380+8>>2]=0;k[(k[e>>2]|0)+428>>2]=0;r=d;return 0}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;if((k[d>>2]|0)>0){Ef(a,178,k[c>>2]|0)|0;k[(k[c>>2]|0)+428>>2]=k[d>>2];r=e;return 0}else{Ef(a,0,0)|0;r=e;return 0}return 0}function Gf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;i=r;r=r+32|0;s=i+28|0;q=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;m=i+8|0;l=i+4|0;j=i;k[s>>2]=a;k[q>>2]=b;k[p>>2]=c;k[o>>2]=d;k[n>>2]=e;k[m>>2]=f;k[l>>2]=g;k[j>>2]=h;b=Hf(k[s>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,0)|0;r=i;return b|0}function Hf(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;j=x+40|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[v>>2]=1;k[u>>2]=0;do if(k[t>>2]|0){a=Ch(k[j>>2]|0,12,0)|0;k[u>>2]=a;a=k[t>>2]|0;if(k[u>>2]|0){k[(k[u>>2]|0)+4>>2]=a;k[(k[u>>2]|0)+8>>2]=k[o>>2];w=5;break}else{_b[a&255](k[o>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(w=ti(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[u>>2]|0)|0,k[v>>2]=w,(k[u>>2]|0)!=0):0)?(k[k[u>>2]>>2]|0)==0:0){_b[k[t>>2]&255](k[o>>2]|0);bg(k[j>>2]|0,k[u>>2]|0)}w=ch(k[j>>2]|0,k[v>>2]|0)|0;k[v>>2]=w;r=x;return k[v>>2]|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;if(!(ui(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1,0)|0)){b=ti(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1,0,224,0,0,0)|0;k[g>>2]=b}b=ch(k[d>>2]|0,k[g>>2]|0)|0;k[g>>2]=b;r=h;return k[g>>2]|0}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;a=k[e>>2]|0;if((k[c>>2]|0)>0){Kf(a,139,k[c>>2]|0)|0;r=d;return 0}else{Kf(a,0,0)|0;r=d;return 0}return 0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;h=e+8|0;g=e+4|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;k[d>>2]=k[(k[f>>2]|0)+228>>2];k[(k[f>>2]|0)+224>>2]=k[h>>2];k[(k[f>>2]|0)+228>>2]=k[g>>2];r=e;return k[d>>2]|0}function Lf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;n=q+4|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=10;if(k[l>>2]|0)k[k[l>>2]>>2]=-1;if(k[m>>2]|0)k[k[m>>2]>>2]=-1;if((k[j>>2]|0)<0|(k[j>>2]|0)>3){k[f>>2]=21;b=k[f>>2]|0;r=q;return b|0}if((k[h>>2]|0)!=0?(i[k[h>>2]>>0]|0)!=0:0){b=xi(k[g>>2]|0,k[h>>2]|0)|0;k[n>>2]=b}if((k[n>>2]|0)<0){k[o>>2]=1;b=k[g>>2]|0;k[p>>2]=k[h>>2];tg(b,1,18738,p)}else{k[(k[g>>2]|0)+380+8>>2]=0;b=yi(k[g>>2]|0,k[n>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[o>>2]=b;vg(k[g>>2]|0,k[o>>2]|0)}b=ch(k[g>>2]|0,k[o>>2]|0)|0;k[o>>2]=b;k[f>>2]=k[o>>2];b=k[f>>2]|0;r=q;return b|0}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Lf(k[e>>2]|0,k[d>>2]|0,0,0,0)|0;r=c;return b|0}function Nf(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)!=0?(ei(k[c>>2]|0)|0)==0:0){a=Vf(140115)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}if((k[c>>2]|0)!=0?(l[(k[c>>2]|0)+69>>0]|0|0)==0:0){k[b>>2]=k[(k[c>>2]|0)+52>>2]&k[(k[c>>2]|0)+56>>2];a=k[b>>2]|0;r=d;return a|0}k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[f>>2]|0)<0|(k[f>>2]|0)>=12){k[d>>2]=-1;h=k[d>>2]|0;r=i;return h|0}k[h>>2]=k[(k[e>>2]|0)+96+(k[f>>2]<<2)>>2];if((k[g>>2]|0)>=0){if((k[g>>2]|0)>(k[1580+(k[f>>2]<<2)>>2]|0))k[g>>2]=k[1580+(k[f>>2]<<2)>>2];k[(k[e>>2]|0)+96+(k[f>>2]<<2)>>2]=k[g>>2]}k[d>>2]=k[h>>2];h=k[d>>2]|0;r=i;return h|0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=Ai(k[e>>2]|0,k[d>>2]|0,6,0)|0;r=c;return a|0}function Qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;n=l+28|0;m=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;h=l+8|0;i=l+4|0;g=l;k[n>>2]=a;k[m>>2]=b;k[e>>2]=c;k[f>>2]=d;k[j>>2]=1;b=Hi(k[n>>2]|0,k[m>>2]|0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){n=k[j>>2]|0;r=l;return n|0}wg(k[h>>2]|0);n=Zf(k[h>>2]|0)|0;k[i>>2]=n;n=Og(k[i>>2]|0)|0;k[g>>2]=n;if((k[e>>2]|0)==7){k[k[f>>2]>>2]=k[g>>2];k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if((k[e>>2]|0)==27){n=Ii(k[i>>2]|0)|0;k[k[f>>2]>>2]=n;k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if((k[e>>2]|0)==28){n=Ji(k[i>>2]|0)|0;k[k[f>>2]>>2]=n;k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if(k[k[g>>2]>>2]|0){n=Ki(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[j>>2]=n;n=k[j>>2]|0;r=l;return n|0}else{k[j>>2]=12;n=k[j>>2]|0;r=l;return n|0}return 0}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)==0){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}b=(Tf(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b;while(1){if(!(i[k[c>>2]>>0]|0)){a=8;break}b=rR(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;b=(Tf(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b;b=k[c>>2]|0;if(!(k[e>>2]|0)){a=6;break}b=(Tf(b)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b}if((a|0)==6){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==8){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}return 0}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=c;b=Rf(k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;k[d>>2]=(k[d>>2]|0)!=0&1;if(k[e>>2]|0){h=(Qi(k[e>>2]|0,k[d>>2]&255)|0)&255;r=f;return h|0}else{h=k[d>>2]|0;r=f;return h|0}return 0}function Tf(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(!(k[c>>2]|0))k[b>>2]=0;else{a=1073741823&(uR(k[c>>2]|0)|0);k[b>>2]=a}r=d;return k[b>>2]|0}function Uf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;r=c;return ((l[18403+(l[b>>0]|0)>>0]|0)&70|0)!=0|0}function Vf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=$j(21,k[c>>2]|0,45606)|0;r=b;return a|0}function Wf(){return k[428]|0}function Xf(){return k[72]|0}function Yf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0)k[(k[(k[d>>2]|0)+4>>2]|0)+4>>2]=k[k[d>>2]>>2];k[c>>2]=(k[c>>2]|0)+1}r=e;return}function Zf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[(k[b>>2]|0)+4>>2]>>2]|0}function _f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}yv(k[c>>2]|0,k[(k[d>>2]|0)+28>>2]|0);bg(k[c>>2]|0,k[k[d>>2]>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+4>>2]|0);sv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);uv(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))e=4;if((e|0)==4?(b=(k[d>>2]|0)+36|0,e=(j[b>>1]|0)+-1<<16>>16,j[b>>1]=e,(e&65535|0)>0):0){r=f;return}CQ(k[c>>2]|0,k[d>>2]|0);r=f;return}function ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;c=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;YC(k[(k[f>>2]|0)+100>>2]|0,m[(k[f>>2]|0)+140>>1]<<1);k[d>>2]=k[(k[f>>2]|0)+200>>2];while(1){if(!(k[d>>2]|0))break;k[c>>2]=k[(k[d>>2]|0)+20>>2];BQ(k[e>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);k[d>>2]=k[c>>2]}if((k[(k[f>>2]|0)+20>>2]|0)!=381479589){YC(k[(k[f>>2]|0)+116>>2]|0,j[(k[f>>2]|0)+16>>1]|0);k[g>>2]=(j[(k[f>>2]|0)+18>>1]|0)-1;while(1){a=k[e>>2]|0;if((k[g>>2]|0)<0)break;bg(a,k[(k[(k[f>>2]|0)+120>>2]|0)+(k[g>>2]<<2)>>2]|0);k[g>>2]=(k[g>>2]|0)+-1}bg(a,k[(k[f>>2]|0)+120>>2]|0);bg(k[e>>2]|0,k[(k[f>>2]|0)+180>>2]|0)}BQ(k[e>>2]|0,k[(k[f>>2]|0)+88>>2]|0,k[(k[f>>2]|0)+136>>2]|0);bg(k[e>>2]|0,k[(k[f>>2]|0)+100>>2]|0);bg(k[e>>2]|0,k[(k[f>>2]|0)+176>>2]|0);r=h;return}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}if(k[c>>2]|0){a=k[c>>2]|0;b=k[d>>2]|0;if(k[(k[c>>2]|0)+456>>2]|0){AQ(a,b);r=f;return}if(vu(a,b)|0){k[e>>2]=k[d>>2];k[k[e>>2]>>2]=k[(k[c>>2]|0)+256+28>>2];k[(k[c>>2]|0)+256+28>>2]=k[e>>2];e=(k[c>>2]|0)+256+8|0;k[e>>2]=(k[e>>2]|0)+-1;r=f;return}}Ud(k[d>>2]|0);r=f;return}function cg(){var a=0,b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;d=f+16|0;a=f+12|0;b=f+8|0;e=f+4|0;c=f;if(!(k[12]|0))ji();k[72]=0;k[73]=0;k[74]=0;k[75]=0;k[76]=0;k[77]=0;k[78]=0;k[79]=0;k[72]=8;if((k[50]|0)!=0&(k[51]|0)>=100&(k[52]|0)>0){k[e>>2]=k[51]&-8;k[51]=k[e>>2];k[c>>2]=k[50];k[b>>2]=k[52];k[77]=k[c>>2];k[78]=k[b>>2];k[a>>2]=0;while(1){if((k[a>>2]|0)>=((k[b>>2]|0)-1|0))break;k[k[c>>2]>>2]=(k[c>>2]|0)+(k[e>>2]|0);k[c>>2]=k[k[c>>2]>>2];k[a>>2]=(k[a>>2]|0)+1}k[k[c>>2]>>2]=0;k[76]=(k[c>>2]|0)+4}else{k[76]=0;k[50]=0;k[51]=0;k[52]=0}if((k[53]|0)==0|(k[54]|0)<512|(k[55]|0)<=0){k[53]=0;k[54]=0}e=bc[k[68>>2]&255](k[19]|0)|0;k[d>>2]=e;if(!(k[d>>2]|0)){e=k[d>>2]|0;r=f;return e|0};k[72]=0;k[73]=0;k[74]=0;k[75]=0;k[76]=0;k[77]=0;k[78]=0;k[79]=0;e=k[d>>2]|0;r=f;return e|0}function dg(){jP();kP();lP(6956,57);return}function eg(){if(!(k[31]|0))ni();return bc[k[124>>2]&255](k[30]|0)|0}function fg(){var a=0,b=0,c=0,d=0;c=r;r=r+16|0;a=c+4|0;b=c;d=Sd(10)|0;k[b>>2]=d;if(!(k[b>>2]|0)){k[a>>2]=7;d=k[a>>2]|0;r=c;return d|0}else{Ud(k[b>>2]|0);d=ce()|0;k[a>>2]=d;d=k[a>>2]|0;r=c;return d|0}return 0}function gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[420]|0)){r=h;return}if(!(k[d>>2]|0)){k[f>>2]=0;k[e>>2]=0}k[e>>2]=k[e>>2]&-8;k[423]=k[e>>2];b=k[f>>2]|0;k[430]=b;k[424]=b;if((k[f>>2]|0)>90)c=10;else c=((k[f>>2]|0)/10|0)+1|0;k[425]=c;k[426]=k[d>>2];k[429]=0;k[431]=0;while(1){b=k[f>>2]|0;k[f>>2]=b+-1;c=k[d>>2]|0;if(!b)break;k[g>>2]=c;k[k[g>>2]>>2]=k[429];k[429]=k[g>>2];k[d>>2]=(k[d>>2]|0)+(k[e>>2]|0)}k[427]=c;r=h;return}function hg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){r=e;return}if((k[272]|0)==(k[c>>2]|0)){k[272]=k[(k[c>>2]|0)+12>>2];r=e;return}if(!(k[272]|0)){r=e;return}k[d>>2]=k[272];while(1){if(k[(k[d>>2]|0)+12>>2]|0)b=(k[(k[d>>2]|0)+12>>2]|0)!=(k[c>>2]|0);else b=0;a=k[(k[d>>2]|0)+12>>2]|0;if(!b)break;k[d>>2]=a}if((a|0)!=(k[c>>2]|0)){r=e;return}k[(k[d>>2]|0)+12>>2]=k[(k[c>>2]|0)+12>>2];r=e;return}function ig(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;L=0;r=c;return k[1008+(k[b>>2]<<2)>>2]|0}function jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;f=c;b=c;a=k[b+4>>2]|0;if((k[f>>2]|0)==0&(k[f+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(k[b>>2]|0)>>>0>=2147483392)){k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}if(k[2]|0){iP(k[c>>2]|0,d)|0;f=k[d>>2]|0;r=e;return f|0}else{f=bc[k[48>>2]&255](k[c>>2]|0)|0;k[d>>2]=f;f=k[d>>2]|0;r=e;return f|0}return 0}function kg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[60>>2]&255](k[c>>2]|0)|0;r=b;return a|0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=1008+(k[e>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)-(k[d>>2]|0);r=c;return}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;d=l+28|0;e=l+24|0;f=l;i=l+20|0;h=l+16|0;g=l+12|0;j=l+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;c=f;b=k[c>>2]|0;c=k[c+4>>2]|0;if(!(k[e>>2]|0)){j=jg(b,c)|0;k[d>>2]=j;j=k[d>>2]|0;r=l;return j|0}if((b|0)==0&(c|0)==0){Ud(k[e>>2]|0);k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}a=f;c=k[a+4>>2]|0;if(c>>>0>0|(c|0)==0&(k[a>>2]|0)>>>0>=2147483392){k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}a=kg(k[e>>2]|0)|0;k[i>>2]=a;a=bc[k[64>>2]&255](k[f>>2]|0)|0;k[h>>2]=a;do if((k[i>>2]|0)!=(k[h>>2]|0)){if(!(k[2]|0)){i=gc[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=i;break}$i(5,k[f>>2]|0);k[g>>2]=(k[h>>2]|0)-(k[i>>2]|0);c=ig(0)|0;m=L;b=296;a=k[g>>2]|0;a=_R(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=L;if((m|0)>(b|0)|(m|0)==(b|0)&c>>>0>=a>>>0)hP(k[g>>2]|0);m=gc[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=m;m=296;g=k[m+4>>2]|0;if((k[j>>2]|0)==0&((g|0)>0|(g|0)==0&(k[m>>2]|0)>>>0>0)){hP(k[f>>2]|0);m=gc[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=m}if(k[j>>2]|0){m=kg(k[j>>2]|0)|0;k[h>>2]=m;aj(0,(k[h>>2]|0)-(k[i>>2]|0)|0)}}else k[j>>2]=k[e>>2];while(0);k[d>>2]=k[j>>2];m=k[d>>2]|0;r=l;return m|0}function ng(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;f=r;r=r+32|0;g=f+16|0;l=f+12|0;m=f+8|0;j=f+4|0;h=f;k[g>>2]=a;k[l>>2]=b;k[m>>2]=c;k[j>>2]=d;k[h>>2]=e;c=k[m>>2]|0;k[(k[g>>2]|0)+4>>2]=c;k[(k[g>>2]|0)+8>>2]=c;k[k[g>>2]>>2]=k[l>>2];k[(k[g>>2]|0)+12>>2]=0;k[(k[g>>2]|0)+16>>2]=k[j>>2];k[(k[g>>2]|0)+20>>2]=k[h>>2];i[(k[g>>2]|0)+24>>0]=0;i[(k[g>>2]|0)+25>>0]=0;r=f;return}function og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=r;r=r+272|0;e=ra+176|0;f=ra+172|0;g=ra+168|0;o=ra+164|0;n=ra+160|0;aa=ra+156|0;Q=ra+152|0;J=ra+148|0;ja=ra+144|0;B=ra+268|0;E=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;G=ra+263|0;C=ra+262|0;D=ra+261|0;t=ra+260|0;na=ra+259|0;h=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;K=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;F=ra+254|0;X=ra+112|0;m=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;j=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;H=ra+88|0;U=ra+84|0;I=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;q=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;i[na>>0]=16;k[oa>>2]=0;k[X>>2]=0;k[n>>2]=0;if(i[(k[e>>2]|0)+25>>0]|0){a=l[(k[e>>2]|0)+25>>0]&2;i[h>>0]=a;if(a&255){b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[X>>2]=a}i[ha>>0]=l[(k[e>>2]|0)+25>>0]&1}else{i[ha>>0]=0;i[h>>0]=0}a:while(1){a=i[k[f>>2]>>0]|0;k[o>>2]=a;if(!a){qa=268;break}if((k[o>>2]|0)!=37){k[n>>2]=k[f>>2];do{k[f>>2]=(k[f>>2]|0)+1;if(!(i[k[f>>2]>>0]|0))break}while((i[k[f>>2]>>0]|0)!=37);CA(k[e>>2]|0,k[n>>2]|0,(k[f>>2]|0)-(k[n>>2]|0)|0);if(!(i[k[f>>2]>>0]|0)){qa=268;break}}a=(k[f>>2]|0)+1|0;k[f>>2]=a;a=i[a>>0]|0;k[o>>2]=a;if(!a){qa=13;break}i[G>>0]=0;i[y>>0]=0;i[x>>0]=0;i[z>>0]=0;i[E>>0]=0;i[B>>0]=0;i[t>>0]=0;do{switch(k[o>>2]|0){case 45:{i[B>>0]=1;break}case 43:{i[E>>0]=1;break}case 32:{i[z>>0]=1;break}case 35:{i[x>>0]=1;break}case 33:{i[y>>0]=1;break}case 48:{i[G>>0]=1;break}default:i[t>>0]=1}if(i[t>>0]|0)break;a=(k[f>>2]|0)+1|0;k[f>>2]=a;a=i[a>>0]|0;k[o>>2]=a}while((a|0)!=0);if((k[o>>2]|0)==42){if(i[h>>0]|0){a=cP(k[X>>2]|0)|0;k[ja>>2]=a}else{b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[ja>>2]=a}if((k[ja>>2]|0)<0){i[B>>0]=1;k[ja>>2]=(k[ja>>2]|0)>=-2147483647?0-(k[ja>>2]|0)|0:0}a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}else{k[ka>>2]=0;while(1){c=k[ka>>2]|0;if(!((k[o>>2]|0)>=48?(k[o>>2]|0)<=57:0))break;k[ka>>2]=(c*10|0)+(k[o>>2]|0)-48;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}k[ja>>2]=c&2147483647}do if((k[o>>2]|0)==46){a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[o>>2]|0)!=42){k[ca>>2]=0;while(1){c=k[ca>>2]|0;if(!((k[o>>2]|0)>=48?(k[o>>2]|0)<=57:0))break;k[ca>>2]=(c*10|0)+(k[o>>2]|0)-48;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}k[aa>>2]=c&2147483647;break}if(i[h>>0]|0){a=cP(k[X>>2]|0)|0;k[aa>>2]=a}else{b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[aa>>2]=a}a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[aa>>2]|0)<0)k[aa>>2]=(k[aa>>2]|0)>=-2147483647?0-(k[aa>>2]|0)|0:-1}else k[aa>>2]=-1;while(0);do if((k[o>>2]|0)==108){i[C>>0]=1;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[o>>2]|0)==108){i[D>>0]=1;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];break}else{i[D>>0]=0;break}}else{i[D>>0]=0;i[C>>0]=0}while(0);k[K>>2]=44615;i[na>>0]=16;k[J>>2]=0;while(1){if((k[J>>2]|0)>=23)break;c=k[J>>2]|0;if((k[o>>2]|0)==(i[44615+((k[J>>2]|0)*6|0)>>0]|0)){qa=56;break}k[J>>2]=c+1}if((qa|0)==56){qa=0;k[K>>2]=44615+(c*6|0);if((l[ha>>0]|0)==0?(l[(k[K>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}i[na>>0]=i[(k[K>>2]|0)+3>>0]|0}b:do switch(l[na>>0]|0){case 13:{i[D>>0]=0;i[C>>0]=1;qa=62;break}case 0:case 15:{qa=62;break}case 3:case 2:case 1:{if(i[h>>0]|0){d=+dP(k[X>>2]|0);p[ea>>3]=d}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(8-1)&~(8-1);d=+p[b>>3];k[a>>2]=b+8;p[ea>>3]=d}if((k[aa>>2]|0)<0)k[aa>>2]=6;do if(!(+p[ea>>3]<0.0)){if(i[E>>0]|0){i[ba>>0]=43;break}if(i[z>>0]|0){i[ba>>0]=32;break}else{i[ba>>0]=0;break}}else{p[ea>>3]=-+p[ea>>3];i[ba>>0]=45}while(0);if((l[na>>0]|0)==3&(k[aa>>2]|0)>0)k[aa>>2]=(k[aa>>2]|0)+-1;k[J>>2]=k[aa>>2]&4095;p[fa>>3]=.5;while(1){if((k[J>>2]|0)<=0)break;k[J>>2]=(k[J>>2]|0)+-1;p[fa>>3]=+p[fa>>3]*.1}if((l[na>>0]|0)==1)p[ea>>3]=+p[ea>>3]+ +p[fa>>3];k[w>>2]=0;if(AG(+p[ea>>3])|0){k[n>>2]=44802;k[Q>>2]=3;break b}if(+p[ea>>3]>0.0){p[ga>>3]=1.0;while(1){if(!(+p[ea>>3]>=+p[ga>>3]*1.e+100?(k[w>>2]|0)<=350:0))break;p[ga>>3]=+p[ga>>3]*1.e+100;k[w>>2]=(k[w>>2]|0)+100}while(1){if(!(+p[ea>>3]>=+p[ga>>3]*1.0e10?(k[w>>2]|0)<=350:0))break;p[ga>>3]=+p[ga>>3]*1.0e10;k[w>>2]=(k[w>>2]|0)+10}while(1){d=+p[ga>>3];if(!(+p[ea>>3]>=+p[ga>>3]*10.0?(k[w>>2]|0)<=350:0))break;p[ga>>3]=d*10.0;k[w>>2]=(k[w>>2]|0)+1}p[ea>>3]=+p[ea>>3]/d;while(1){if(!(+p[ea>>3]<1.0e-08))break;p[ea>>3]=+p[ea>>3]*1.0e8;k[w>>2]=(k[w>>2]|0)-8}while(1){if(!(+p[ea>>3]<1.0))break;p[ea>>3]=+p[ea>>3]*10.0;k[w>>2]=(k[w>>2]|0)+-1}if((k[w>>2]|0)>350){k[n>>2]=m;i[m>>0]=i[ba>>0]|0;a=m+((i[ba>>0]|0)!=0&1)|0;i[a>>0]=i[44806]|0;i[a+1>>0]=i[44807]|0;i[a+2>>0]=i[44808]|0;i[a+3>>0]=i[44809]|0;k[Q>>2]=3+((i[ba>>0]|0)!=0&1);break b}}k[n>>2]=m;if((l[na>>0]|0)!=1?(p[ea>>3]=+p[ea>>3]+ +p[fa>>3],+p[ea>>3]>=10.0):0){p[ea>>3]=+p[ea>>3]*.1;k[w>>2]=(k[w>>2]|0)+1}c:do if((l[na>>0]|0)==3){i[F>>0]=((i[x>>0]|0)!=0^1)&1;do if((k[w>>2]|0)>=-4){if((k[w>>2]|0)>(k[aa>>2]|0))break;k[aa>>2]=(k[aa>>2]|0)-(k[w>>2]|0);i[na>>0]=1;break c}while(0);i[na>>0]=2}else i[F>>0]=i[y>>0]|0;while(0);if((l[na>>0]|0)==2)k[u>>2]=0;else k[u>>2]=k[w>>2];a=(k[u>>2]|0)>0?k[u>>2]|0:0;b=k[aa>>2]|0;b=$R(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;a=k[ja>>2]|0;a=$R(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;b=L;if((b|0)>0|(b|0)==0&a>>>0>55?(a=(k[u>>2]|0)>0?k[u>>2]|0:0,b=k[aa>>2]|0,b=$R(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=k[ja>>2]|0,a=$R(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0,a=$R(a|0,L|0,15,0)|0,a=jg(a,L)|0,k[oa>>2]=a,k[n>>2]=a,(k[n>>2]|0)==0):0){qa=161;break a}k[pa>>2]=k[n>>2];k[W>>2]=16+((l[y>>0]|0)*10|0);i[A>>0]=((k[aa>>2]|0)>0?1:0)|l[x>>0]|l[y>>0];if(i[ba>>0]|0){b=i[ba>>0]|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}d:do if((k[u>>2]|0)<0){a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=48}else while(1){if((k[u>>2]|0)<0)break d;b=eP(ea,W)|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b;k[u>>2]=(k[u>>2]|0)+-1}while(0);if(i[A>>0]|0){a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=46}k[u>>2]=(k[u>>2]|0)+1;while(1){if((k[u>>2]|0)>=0)break;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=48;k[aa>>2]=(k[aa>>2]|0)+-1;k[u>>2]=(k[u>>2]|0)+1}while(1){a=k[aa>>2]|0;k[aa>>2]=a+-1;if((a|0)<=0)break;b=eP(ea,W)|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}do if(l[F>>0]|0){if(!(l[A>>0]|0))break;while(1){c=(k[n>>2]|0)+-1|0;if((i[(k[n>>2]|0)+-1>>0]|0)!=48)break;k[n>>2]=c;i[c>>0]=0}if((i[c>>0]|0)!=46)break;c=k[n>>2]|0;if(i[y>>0]|0){k[n>>2]=c+1;i[c>>0]=48;break}else{a=c+-1|0;k[n>>2]=a;i[a>>0]=0;break}}while(0);if((l[na>>0]|0)==2){c=i[44762+(l[(k[K>>2]|0)+4>>0]|0)>>0]|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=c;a=(k[w>>2]|0)<0;c=k[n>>2]|0;k[n>>2]=c+1;if(a){i[c>>0]=45;k[w>>2]=0-(k[w>>2]|0)}else i[c>>0]=43;if((k[w>>2]|0)>=100){b=((k[w>>2]|0)/100|0)+48&255;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b;k[w>>2]=(k[w>>2]|0)%100|0}a=((k[w>>2]|0)/10|0)+48&255;b=k[n>>2]|0;k[n>>2]=b+1;i[b>>0]=a;b=((k[w>>2]|0)%10|0)+48&255;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}i[k[n>>2]>>0]=0;k[Q>>2]=(k[n>>2]|0)-(k[pa>>2]|0);k[n>>2]=k[pa>>2];if((l[G>>0]|0)==0|(i[B>>0]|0)!=0)break b;if((k[Q>>2]|0)>=(k[ja>>2]|0))break b;k[U>>2]=(k[ja>>2]|0)-(k[Q>>2]|0);k[H>>2]=k[ja>>2];while(1){if((k[H>>2]|0)<(k[U>>2]|0))break;i[(k[n>>2]|0)+(k[H>>2]|0)>>0]=i[(k[n>>2]|0)+((k[H>>2]|0)-(k[U>>2]|0))>>0]|0;k[H>>2]=(k[H>>2]|0)+-1}k[H>>2]=(i[ba>>0]|0)!=0&1;while(1){a=k[U>>2]|0;k[U>>2]=a+-1;if(!a)break;a=k[H>>2]|0;k[H>>2]=a+1;i[(k[n>>2]|0)+a>>0]=48}k[Q>>2]=k[ja>>2];break}case 4:{if(!(i[h>>0]|0)){b=k[(k[e>>2]|0)+12>>2]|0;c=k[g>>2]|0;sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;k[a>>2]=b}k[ja>>2]=0;k[Q>>2]=0;break}case 7:{i[m>>0]=37;k[n>>2]=m;k[Q>>2]=1;break}case 8:{if(i[h>>0]|0){sa=fP(k[X>>2]|0)|0;k[n>>2]=sa;if(k[n>>2]|0)c=i[k[n>>2]>>0]|0;else c=0;k[o>>2]=c}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[o>>2]=sa}if((k[aa>>2]|0)>1){k[ja>>2]=(k[ja>>2]|0)-((k[aa>>2]|0)-1);if(!((k[ja>>2]|0)<=1|(i[B>>0]|0)!=0)){gP(k[e>>2]|0,(k[ja>>2]|0)-1|0,32);k[ja>>2]=0}gP(k[e>>2]|0,(k[aa>>2]|0)-1|0,k[o>>2]&255)}k[Q>>2]=1;i[m>>0]=k[o>>2];k[n>>2]=m;break}case 6:case 5:{if(i[h>>0]|0){sa=fP(k[X>>2]|0)|0;k[n>>2]=sa;i[na>>0]=5}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[n>>2]=sa}if(k[n>>2]|0){if((l[na>>0]|0)==6)k[oa>>2]=k[n>>2]}else k[n>>2]=18402;if((k[aa>>2]|0)<0){sa=Tf(k[n>>2]|0)|0;k[Q>>2]=sa;break b}k[Q>>2]=0;while(1){if((k[Q>>2]|0)>=(k[aa>>2]|0))break b;if(!(i[(k[n>>2]|0)+(k[Q>>2]|0)>>0]|0))break b;k[Q>>2]=(k[Q>>2]|0)+1}}case 14:case 10:case 9:{i[da>>0]=(l[na>>0]|0)==14?34:39;if(i[h>>0]|0){sa=fP(k[X>>2]|0)|0;k[v>>2]=sa}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[v>>2]=sa}k[M>>2]=(k[v>>2]|0)==0&1;if(k[M>>2]|0)k[v>>2]=(l[na>>0]|0)==10?39691:44810;k[O>>2]=k[aa>>2];k[S>>2]=0;k[I>>2]=0;while(1){if(!(k[O>>2]|0))break;sa=i[(k[v>>2]|0)+(k[I>>2]|0)>>0]|0;i[q>>0]=sa;if(!(sa<<24>>24))break;if((i[q>>0]|0)==(i[da>>0]|0))k[S>>2]=(k[S>>2]|0)+1;k[I>>2]=(k[I>>2]|0)+1;k[O>>2]=(k[O>>2]|0)+-1}if(k[M>>2]|0)c=0;else c=(l[na>>0]|0)==10;k[V>>2]=c&1;k[S>>2]=(k[S>>2]|0)+((k[I>>2]|0)+3);if((k[S>>2]|0)>70){sa=k[S>>2]|0;sa=jg(sa,((sa|0)<0)<<31>>31)|0;k[oa>>2]=sa;k[n>>2]=sa;if(!(k[n>>2]|0)){qa=241;break a}}else k[n>>2]=m;k[N>>2]=0;if(k[V>>2]|0){a=i[da>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}k[O>>2]=k[I>>2];k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[O>>2]|0))break;a=i[(k[v>>2]|0)+(k[I>>2]|0)>>0]|0;i[q>>0]=a;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a;if((i[q>>0]|0)==(i[da>>0]|0)){a=i[q>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}k[I>>2]=(k[I>>2]|0)+1}if(k[V>>2]|0){a=i[da>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}i[(k[n>>2]|0)+(k[N>>2]|0)>>0]=0;k[Q>>2]=k[N>>2];break}case 11:{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[_>>2]=sa;if((k[_>>2]|0)!=0?(k[(k[_>>2]|0)+4>>2]|0)!=0:0)CA(k[e>>2]|0,k[k[_>>2]>>2]|0,k[(k[_>>2]|0)+4>>2]|0);k[ja>>2]=0;k[Q>>2]=0;break}case 12:{b=k[g>>2]|0;sa=(k[b>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[b>>2]=sa+4;k[Z>>2]=a;a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[P>>2]=sa;k[Y>>2]=(k[Z>>2]|0)+8+((k[P>>2]|0)*72|0);if(k[(k[Y>>2]|0)+4>>2]|0){nE(k[e>>2]|0,k[(k[Y>>2]|0)+4>>2]|0);CA(k[e>>2]|0,44433,1)}nE(k[e>>2]|0,k[(k[Y>>2]|0)+8>>2]|0);k[ja>>2]=0;k[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;c=(i[h>>0]|0)!=0;do if(l[(k[K>>2]|0)+2>>0]&1){do if(!c){c=k[g>>2]|0;if(i[D>>0]|0){sa=(k[c>>2]|0)+(8-1)&~(8-1);a=sa;b=k[a>>2]|0;a=k[a+4>>2]|0;k[c>>2]=sa+8;sa=ia;k[sa>>2]=b;k[sa+4>>2]=a;break}else{sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;sa=ia;k[sa>>2]=a;k[sa+4>>2]=((a|0)<0)<<31>>31;break}}else{a=cP(k[X>>2]|0)|0;sa=ia;k[sa>>2]=a;k[sa+4>>2]=L}while(0);b=ia;c=k[b>>2]|0;b=k[b+4>>2]|0;if((k[ia+4>>2]|0)<0){if((c|0)==0&(b|0)==-2147483648){sa=R;k[sa>>2]=0;k[sa+4>>2]=-2147483648}else{a=ia;a=_R(0,0,k[a>>2]|0,k[a+4>>2]|0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L}i[ba>>0]=45;break}sa=R;k[sa>>2]=c;k[sa+4>>2]=b;if(i[E>>0]|0){i[ba>>0]=43;break}if(i[z>>0]|0){i[ba>>0]=32;break}else{i[ba>>0]=0;break}}else{do if(!c){c=k[g>>2]|0;if(i[D>>0]|0){sa=(k[c>>2]|0)+(8-1)&~(8-1);a=sa;b=k[a>>2]|0;a=k[a+4>>2]|0;k[c>>2]=sa+8;sa=R;k[sa>>2]=b;k[sa+4>>2]=a;break}else{sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;sa=R;k[sa>>2]=a;k[sa+4>>2]=0;break}}else{a=cP(k[X>>2]|0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L}while(0);i[ba>>0]=0}while(0);sa=R;if((k[sa>>2]|0)==0&(k[sa+4>>2]|0)==0)i[x>>0]=0;if((l[G>>0]|0)!=0?(k[aa>>2]|0)<((k[ja>>2]|0)-((i[ba>>0]|0)!=0&1)|0):0)k[aa>>2]=(k[ja>>2]|0)-((i[ba>>0]|0)!=0&1);if((k[aa>>2]|0)>=60){k[T>>2]=(k[aa>>2]|0)+10;sa=k[T>>2]|0;sa=jg(sa,((sa|0)<0)<<31>>31)|0;k[oa>>2]=sa;k[pa>>2]=sa;if(!(k[pa>>2]|0)){qa=92;break}}else{k[T>>2]=70;k[pa>>2]=m}k[n>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1);if((l[na>>0]|0)==15){sa=R;sa=mS(k[sa>>2]|0,k[sa+4>>2]|0,10,0)|0;k[la>>2]=sa;if(!((k[la>>2]|0)<4?(sa=R,sa=lS(k[sa>>2]|0,k[sa+4>>2]|0,10,0)|0,sa=mS(sa|0,L|0,10,0)|0,!((sa|0)==1&(L|0)==0)):0))k[la>>2]=0;sa=i[44753+((k[la>>2]<<1)+1)>>0]|0;a=(k[n>>2]|0)+-1|0;k[n>>2]=a;i[a>>0]=sa;a=i[44753+(k[la>>2]<<1)>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a}k[s>>2]=44762+(l[(k[K>>2]|0)+4>>0]|0);i[j>>0]=i[(k[K>>2]|0)+1>>0]|0;do{sa=R;sa=mS(k[sa>>2]|0,k[sa+4>>2]|0,l[j>>0]|0,0)|0;sa=i[(k[s>>2]|0)+sa>>0]|0;a=(k[n>>2]|0)+-1|0;k[n>>2]=a;i[a>>0]=sa;a=R;a=lS(k[a>>2]|0,k[a+4>>2]|0,l[j>>0]|0,0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L;sa=R;a=k[sa+4>>2]|0}while(a>>>0>0|(a|0)==0&(k[sa>>2]|0)>>>0>0);k[Q>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1)-(k[n>>2]|0);k[J>>2]=(k[aa>>2]|0)-(k[Q>>2]|0);while(1){if((k[J>>2]|0)<=0)break;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=48;k[J>>2]=(k[J>>2]|0)+-1}if(i[ba>>0]|0){a=i[ba>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a}e:do if((l[x>>0]|0)!=0?(l[(k[K>>2]|0)+5>>0]|0)!=0:0){k[$>>2]=44795+(l[(k[K>>2]|0)+5>>0]|0);while(1){sa=i[k[$>>2]>>0]|0;i[ma>>0]=sa;if(!(sa<<24>>24))break e;a=i[ma>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a;k[$>>2]=(k[$>>2]|0)+1}}while(0);k[Q>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1)-(k[n>>2]|0)}k[ja>>2]=(k[ja>>2]|0)-(k[Q>>2]|0);if(!((k[ja>>2]|0)<=0|(i[B>>0]|0)!=0))gP(k[e>>2]|0,k[ja>>2]|0,32);CA(k[e>>2]|0,k[n>>2]|0,k[Q>>2]|0);if((k[ja>>2]|0)>0?(l[B>>0]|0)!=0:0)gP(k[e>>2]|0,k[ja>>2]|0,32);if(k[oa>>2]|0){bg(k[k[e>>2]>>2]|0,k[oa>>2]|0);k[oa>>2]=0}k[f>>2]=(k[f>>2]|0)+1}if((qa|0)==13){CA(k[e>>2]|0,44613,1);r=ra;return}else if((qa|0)==92){GA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==161){GA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==241){GA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==268){r=ra;return}}function pg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if(((k[(k[b>>2]|0)+8>>2]|0)!=0?(i[(k[(k[b>>2]|0)+8>>2]|0)+(k[(k[b>>2]|0)+12>>2]|0)>>0]=0,(k[(k[b>>2]|0)+20>>2]|0)>>>0>0):0)?((l[(k[b>>2]|0)+25>>0]|0)&4|0)==0:0){a=Mh(k[k[b>>2]>>2]|0,(k[(k[b>>2]|0)+12>>2]|0)+1|0,0)|0;k[(k[b>>2]|0)+8>>2]=a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+8>>2]|0){bS(k[a+8>>2]|0,k[(k[b>>2]|0)+4>>2]|0,(k[(k[b>>2]|0)+12>>2]|0)+1|0)|0;a=(k[b>>2]|0)+25|0;i[a>>0]=l[a>>0]|0|4;break}else{GA(a,1);break}}while(0);r=c;return k[(k[b>>2]|0)+8>>2]|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+256|0;g=d+36|0;h=d+32|0;e=d+28|0;f=d;k[g>>2]=a;k[h>>2]=b;k[e>>2]=c;ng(f,0,d+40|0,210,0);og(f,k[h>>2]|0,k[e>>2]|0);e=k[66]|0;c=k[67]|0;a=k[g>>2]|0;b=pg(f)|0;cc[e&255](c,a,b);r=d;return}function rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Yb[k[(k[g>>2]|0)+56>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return c|0}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;h=f+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[c>>2]=k[h>>2];k[d>>2]=k[g>>2];while(1){k[e>>2]=(l[17613+(l[k[c>>2]>>0]|0)>>0]|0)-(l[17613+(l[k[d>>2]>>0]|0)>>0]|0);if(k[e>>2]|0){c=5;break}if(!(l[k[c>>2]>>0]|0)){c=5;break}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+1}if((c|0)==5){r=f;return k[e>>2]|0}return 0}function tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+28|0;f=j+24|0;g=j+20|0;i=j+16|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[(k[e>>2]|0)+52>>2]=k[f>>2];aK(k[e>>2]|0,k[f>>2]|0);a=k[e>>2]|0;if(!(k[g>>2]|0)){vg(a,k[f>>2]|0);r=j;return}if((k[a+244>>2]|0)==0?(f=hi(k[e>>2]|0)|0,k[(k[e>>2]|0)+244>>2]=f,(f|0)==0):0){r=j;return}k[h>>2]=d;d=yx(k[e>>2]|0,k[g>>2]|0,h)|0;k[i>>2]=d;ii(k[(k[e>>2]|0)+244>>2]|0,-1,k[i>>2]|0,1,170);r=j;return}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;b=c;b=jg(k[b>>2]|0,k[b+4>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){f=k[d>>2]|0;r=e;return f|0}dS(k[d>>2]|0,0,k[c>>2]|0)|0;f=k[d>>2]|0;r=e;return f|0}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;k[(k[c>>2]|0)+52>>2]=k[d>>2];if((k[d>>2]|0)==0?(k[(k[c>>2]|0)+244>>2]|0)==0:0){r=e;return}DN(k[c>>2]|0,k[d>>2]|0);r=e;return}function wg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[(k[c>>2]|0)+4>>2]|0)+4>>2]=k[k[c>>2]>>2];r=b;return}function xg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((k[b>>2]|0)!=0&(k[b>>2]|0)!=5)){a=0;a=a&1;r=c;return a|0}a=(k[b>>2]|0)!=6;a=a&1;r=c;return a|0}function yg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+8>>0]|0|0)!=0|0}function zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;c=o+24|0;d=o+20|0;f=o+16|0;n=o+12|0;e=o+8|0;g=o+4|0;h=o;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+4>>2];k[n>>2]=0;wg(k[c>>2]|0);do if((l[(k[c>>2]|0)+8>>0]|0)!=2?((k[d>>2]|0)!=0?1:(l[(k[c>>2]|0)+8>>0]|0)!=1):0){if((k[d>>2]|0)!=0?(m[(k[f>>2]|0)+22>>1]&1|0)!=0:0){k[n>>2]=8;break}k[e>>2]=0;if((k[d>>2]|0)!=0?(l[(k[f>>2]|0)+20>>0]|0)==2:0)b=8;else b=7;a:do if((b|0)==7)if(!(m[(k[f>>2]|0)+22>>1]&64)){if((k[d>>2]|0)>1){k[g>>2]=k[(k[f>>2]|0)+72>>2];while(1){if(!(k[g>>2]|0))break a;a=k[g>>2]|0;if((k[k[g>>2]>>2]|0)!=(k[c>>2]|0))break;k[g>>2]=k[a+12>>2]}k[e>>2]=k[k[a>>2]>>2]}}else b=8;while(0);if((b|0)==8)k[e>>2]=k[k[(k[f>>2]|0)+76>>2]>>2];if(k[e>>2]|0){k[n>>2]=262;break}g=eI(k[c>>2]|0,1,1)|0;k[n>>2]=g;if(!(k[n>>2]|0)){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]&-9;if(!(k[(k[f>>2]|0)+44>>2]|0)){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]|8}while(1){if((k[(k[f>>2]|0)+12>>2]|0)==0?(g=AN(k[f>>2]|0)|0,k[n>>2]=g,0==(g|0)):0)continue;do if((k[n>>2]|0)==0&(k[d>>2]|0)!=0){if(m[(k[f>>2]|0)+22>>1]&1){k[n>>2]=8;break}e=k[k[f>>2]>>2]|0;g=(k[d>>2]|0)>1&1;g=BN(e,g,hr(k[k[c>>2]>>2]|0)|0)|0;k[n>>2]=g;if(!(k[n>>2]|0)){g=KM(k[f>>2]|0)|0;k[n>>2]=g}}while(0);if(k[n>>2]|0)$B(k[f>>2]|0);if((k[n>>2]&255|0)!=5)break;if(l[(k[f>>2]|0)+20>>0]|0)break;if(!(nr(k[f>>2]|0)|0))break}if(!(k[n>>2]|0)){if((l[(k[c>>2]|0)+8>>0]|0)==0?(g=(k[f>>2]|0)+40|0,k[g>>2]=(k[g>>2]|0)+1,(i[(k[c>>2]|0)+9>>0]|0)!=0):0){i[(k[c>>2]|0)+32+8>>0]=1;k[(k[c>>2]|0)+32+12>>2]=k[(k[f>>2]|0)+72>>2];k[(k[f>>2]|0)+72>>2]=(k[c>>2]|0)+32}i[(k[c>>2]|0)+8>>0]=(k[d>>2]|0)!=0?2:1;if((l[(k[c>>2]|0)+8>>0]|0)>(l[(k[f>>2]|0)+20>>0]|0))i[(k[f>>2]|0)+20>>0]=i[(k[c>>2]|0)+8>>0]|0;if(k[d>>2]|0){k[h>>2]=k[(k[f>>2]|0)+12>>2];k[(k[f>>2]|0)+76>>2]=k[c>>2];g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]&-33;if((k[d>>2]|0)>1){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]|32}g=k[(k[f>>2]|0)+44>>2]|0;if((g|0)!=(qr((k[(k[h>>2]|0)+56>>2]|0)+28|0)|0)?(g=Qg(k[(k[h>>2]|0)+72>>2]|0)|0,k[n>>2]=g,(k[n>>2]|0)==0):0)pt((k[(k[h>>2]|0)+56>>2]|0)+28|0,k[(k[f>>2]|0)+44>>2]|0)}}}}while(0);if(!((k[n>>2]|0)==0&(k[d>>2]|0)!=0)){n=k[n>>2]|0;r=o;return n|0}h=HM(k[k[f>>2]>>2]|0,k[(k[k[c>>2]>>2]|0)+432>>2]|0)|0;k[n>>2]=h;n=k[n>>2]|0;r=o;return n|0}function Ag(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[(k[d>>2]|0)+4>>2]|0;a=Mi(a,Cg(k[(k[d>>2]|0)+24>>2]|0)|0,-1,0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);if((k[e>>2]|0)==15){c=zN(k[k[g>>2]>>2]|0)|0;k[k[f>>2]>>2]=c+(k[(k[d>>2]|0)+20>>2]|0);r=h;return}else{c=qr((k[(k[(k[g>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(k[e>>2]<<2))|0)|0;k[k[f>>2]>>2]=c;r=h;return}}function Cg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[(k[b>>2]|0)+4>>2]|0)+32>>2]|0}function Dg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+5>>0]|0|0}function Eg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=TF(k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return a|0}function Fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+48|0;h=t+44|0;i=t+40|0;j=t+36|0;m=t+32|0;u=t+28|0;s=t+24|0;q=t+20|0;o=t+16|0;p=t+12|0;n=t+8|0;f=t+4|0;e=t;k[i>>2]=a;k[j>>2]=b;k[m>>2]=c;k[u>>2]=d;k[s>>2]=0;k[q>>2]=0;k[o>>2]=0;k[p>>2]=k[u>>2]&1;k[n>>2]=0;if((k[j>>2]|0)>>>0<=1&(k[j>>2]|0)==0){u=_j(51704)|0;k[h>>2]=u;u=k[h>>2]|0;r=t;return u|0}do if(k[(k[i>>2]|0)+44>>2]|0){k[s>>2]=k[(k[i>>2]|0)+44>>2];g=24}else{if(((k[n>>2]|0)!=0?(Lr(k[i>>2]|0)|0)!=0:0)?(u=Rs(k[(k[i>>2]|0)+216>>2]|0,k[j>>2]|0,o)|0,k[s>>2]=u,(k[s>>2]|0)!=0):0)break;if((k[n>>2]|0)!=0&(k[o>>2]|0)==0){k[f>>2]=0;c=k[(k[i>>2]|0)+64>>2]|0;u=k[(k[i>>2]|0)+160>>2]|0;u=kS((k[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;u=QL(c,u,L,k[(k[i>>2]|0)+160>>2]|0,f)|0;k[s>>2]=u;if((k[s>>2]|0)==0&(k[f>>2]|0)!=0){if(!((l[(k[i>>2]|0)+17>>0]|0|0)<=1?(l[(k[i>>2]|0)+13>>0]|0|0)==0:0)){u=rs(k[i>>2]|0,k[j>>2]|0)|0;k[q>>2]=u}d=k[i>>2]|0;if(!(k[q>>2]|0)){u=wN(d,k[j>>2]|0,k[f>>2]|0,q)|0;k[s>>2]=u}else{c=k[d+64>>2]|0;u=k[(k[i>>2]|0)+160>>2]|0;u=kS((k[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Ws(c,u,L,k[f>>2]|0)|0}if(k[q>>2]|0){k[k[m>>2]>>2]=k[q>>2];k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}}if(k[s>>2]|0)break}u=ws(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,3)|0;k[e>>2]=u;if(!(k[e>>2]|0)){u=xN(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,e)|0;k[s>>2]=u;if(k[s>>2]|0)break;if(!(k[e>>2]|0)){k[k[m>>2]>>2]=0;k[q>>2]=0;k[s>>2]=7;break}}g=xs(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,k[e>>2]|0)|0;k[k[m>>2]>>2]=g;k[q>>2]=g;g=24}while(0);do if((g|0)==24){if(k[s>>2]|0){k[q>>2]=0;break}d=k[i>>2]|0;if(!((k[p>>2]|0)!=0?1:(k[(k[q>>2]|0)+16>>2]|0)==0)){u=d+192|0;k[u>>2]=(k[u>>2]|0)+1;k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}k[(k[q>>2]|0)+16>>2]=d;if((k[j>>2]|0)>>>0<=2147483647?(k[j>>2]|0)!=(((k[384]|0)/(k[(k[i>>2]|0)+160>>2]|0)|0)+1|0):0){if((k[k[(k[i>>2]|0)+64>>2]>>2]|0)!=0?!((k[p>>2]|0)!=0?1:(k[(k[i>>2]|0)+28>>2]|0)>>>0<(k[j>>2]|0)>>>0):0){u=(Lr(k[i>>2]|0)|0)!=0;if(u&(k[n>>2]|0)==0?(u=Rs(k[(k[i>>2]|0)+216>>2]|0,k[j>>2]|0,o)|0,k[s>>2]=u,(k[s>>2]|0)!=0):0)break;u=(k[i>>2]|0)+192+4|0;k[u>>2]=(k[u>>2]|0)+1;u=Ss(k[q>>2]|0,k[o>>2]|0)|0;k[s>>2]=u;if(k[s>>2]|0)break}else{if((k[j>>2]|0)>>>0>(k[(k[i>>2]|0)+164>>2]|0)>>>0){k[s>>2]=13;break}if(k[p>>2]|0){gk();if((k[j>>2]|0)>>>0<=(k[(k[i>>2]|0)+32>>2]|0)>>>0)vj(k[(k[i>>2]|0)+60>>2]|0,k[j>>2]|0)|0;au(k[i>>2]|0,k[j>>2]|0)|0;hk()}dS(k[(k[q>>2]|0)+4>>2]|0,0,k[(k[i>>2]|0)+160>>2]|0)|0}k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}u=_j(51793)|0;k[s>>2]=u}while(0);if(k[q>>2]|0)Qs(k[q>>2]|0);Vs(k[i>>2]|0);k[k[m>>2]>>2]=0;k[h>>2]=k[s>>2];u=k[h>>2]|0;r=t;return u|0}function Gg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+4>>2]|0}function Hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+80|0;e=w+68|0;x=w+64|0;f=w+60|0;g=w+56|0;p=w+52|0;o=w+48|0;n=w+44|0;m=w+40|0;j=w+8|0;v=w+36|0;l=w;q=w+32|0;h=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;k[e>>2]=a;k[x>>2]=b;k[f>>2]=c;k[g>>2]=d;a=Zf(k[(k[e>>2]|0)+4>>2]|0)|0;k[p>>2]=a;a=Cg(k[(k[e>>2]|0)+24>>2]|0)|0;k[o>>2]=a;a=Cg(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=a;k[m>>2]=(k[o>>2]|0)<(k[n>>2]|0)?k[o>>2]|0:k[n>>2]|0;a=k[o>>2]|0;a=kS(k[x>>2]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=j;k[c>>2]=a;k[c+4>>2]=L;k[v>>2]=0;if((k[o>>2]|0)!=(k[n>>2]|0)?(uK(k[p>>2]|0)|0)!=0:0)k[v>>2]=8;x=j;c=k[o>>2]|0;c=_R(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;x=l;k[x>>2]=c;k[x+4>>2]=L;while(1){if(k[v>>2]|0){e=14;break}c=l;b=k[c+4>>2]|0;x=j;a=k[x+4>>2]|0;if(!((b|0)<(a|0)|((b|0)==(a|0)?(k[c>>2]|0)>>>0<(k[x>>2]|0)>>>0:0))){e=14;break}k[q>>2]=0;c=l;x=k[n>>2]|0;x=iS(k[c>>2]|0,k[c+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;k[h>>2]=x+1;if((k[h>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[(k[(k[e>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=Fg(k[p>>2]|0,k[h>>2]|0,q,0)|0;k[v>>2]=x;if((0==(x|0)?(x=Qg(k[q>>2]|0)|0,k[v>>2]=x,0==(x|0)):0)?(x=l,c=k[o>>2]|0,c=jS(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,k[t>>2]=(k[f>>2]|0)+c,c=Gg(k[q>>2]|0)|0,k[s>>2]=c,c=l,x=k[n>>2]|0,x=jS(k[c>>2]|0,k[c+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,k[u>>2]=(k[s>>2]|0)+x,bS(k[u>>2]|0,k[t>>2]|0,k[m>>2]|0)|0,x=cu(k[q>>2]|0)|0,i[x>>0]=0,x=l,(k[x>>2]|0)==0&(k[x+4>>2]|0)==0&(k[g>>2]|0)==0):0){x=(k[u>>2]|0)+28|0;pt(x,Eg(k[(k[e>>2]|0)+24>>2]|0)|0)}Ig(k[q>>2]|0)}c=k[n>>2]|0;x=l;c=$R(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;x=l;k[x>>2]=c;k[x+4>>2]=L}if((e|0)==14){r=w;return k[v>>2]|0}return 0}function Ig(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}Ts(k[b>>2]|0);r=c;return}function Jg(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=Yg(Zf(k[(k[c>>2]|0)+24>>2]|0)|0)|0;k[d>>2]=a;k[(k[c>>2]|0)+44>>2]=k[k[d>>2]>>2];k[k[d>>2]>>2]=k[c>>2];k[(k[c>>2]|0)+40>>2]=1;r=b;return}function Kg(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;wg(k[d>>2]|0);k[(k[(k[d>>2]|0)+4>>2]|0)+44>>2]=0;a=KM(k[(k[d>>2]|0)+4>>2]|0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;l=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[(k[l>>2]|0)+4>>2];wg(k[l>>2]|0);k[g>>2]=k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2];a=Qg(k[(k[(k[f>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){l=k[h>>2]|0;r=j;return l|0}pt((k[g>>2]|0)+(36+(k[d>>2]<<2))|0,k[e>>2]|0);if((k[d>>2]|0)!=7){l=k[h>>2]|0;r=j;return l|0}i[(k[f>>2]|0)+18>>0]=k[e>>2];l=k[h>>2]|0;r=j;return l|0}function Mg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;Yf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4);if(k[(k[d>>2]|0)+12>>2]|0)Ij(k[(k[d>>2]|0)+12>>2]|0);k[c>>2]=(k[c>>2]|0)+1}d=(k[b>>2]|0)+24|0;k[d>>2]=k[d>>2]&-3;Eu(k[b>>2]|0);WB(k[b>>2]|0);r=e;return}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+4>>2];a=(k[f>>2]|0)+22|0;j[a>>1]=(m[a>>1]|0)&-17;if((k[d>>2]|0)==1){a=(k[f>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|16}a=zg(k[c>>2]|0,0)|0;k[g>>2]=a;do if(!(k[g>>2]|0)){k[e>>2]=k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2];if((l[(k[e>>2]|0)+18>>0]|0|0)==(k[d>>2]&255|0)?(l[(k[e>>2]|0)+19>>0]|0|0)==(k[d>>2]&255|0):0)break;a=zg(k[c>>2]|0,2)|0;k[g>>2]=a;if((k[g>>2]|0)==0?(a=Qg(k[(k[(k[f>>2]|0)+12>>2]|0)+72>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0){i[(k[e>>2]|0)+18>>0]=k[d>>2];i[(k[e>>2]|0)+19>>0]=k[d>>2]}}while(0);a=(k[f>>2]|0)+22|0;j[a>>1]=(m[a>>1]|0)&-17;r=h;return k[g>>2]|0}function Og(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+64>>2]|0}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=k[(k[e>>2]|0)+28>>2];r=c;return}function Qg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+16>>2];if(k[(k[d>>2]|0)+44>>2]|0){k[c>>2]=k[(k[d>>2]|0)+44>>2];d=k[c>>2]|0;r=e;return d|0}if(((m[(k[b>>2]|0)+24>>1]|0)&4|0)!=0?(k[(k[d>>2]|0)+28>>2]|0)>>>0>=(k[(k[b>>2]|0)+20>>2]|0)>>>0:0)if(k[(k[d>>2]|0)+104>>2]|0){d=Gt(k[b>>2]|0)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}else{k[c>>2]=0;d=k[c>>2]|0;r=e;return d|0}b=k[b>>2]|0;if((k[(k[d>>2]|0)+156>>2]|0)>>>0>(k[(k[d>>2]|0)+160>>2]|0)>>>0){d=qN(b)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}else{d=rN(b)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}return 0}function Rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;n=o+12|0;j=o+8|0;m=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[n>>2]=0;if(k[(k[e>>2]|0)+44>>2]|0){k[d>>2]=k[(k[e>>2]|0)+44>>2];n=k[d>>2]|0;r=o;return n|0}if(Li(400)|0){k[d>>2]=10;n=k[d>>2]|0;r=o;return n|0}if((l[(k[e>>2]|0)+17>>0]|0|0)<3){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}b=0==(Ir(k[e>>2]|0,1)|0);c=k[e>>2]|0;do if(!b){b=(Lr(c)|0)!=0;c=k[e>>2]|0;if(b){h=Ks(k[c+212>>2]|0)|0;k[j>>2]=h;k[m>>2]=0;if(!(k[j>>2]|0)){h=Fg(k[e>>2]|0,1,m,0)|0;k[n>>2]=h;k[j>>2]=k[m>>2];k[(k[j>>2]|0)+12>>2]=0}if(k[j>>2]|0){j=Ht(k[e>>2]|0,k[j>>2]|0,k[(k[e>>2]|0)+28>>2]|0,1)|0;k[n>>2]=j}Ig(k[m>>2]|0);if(k[n>>2]|0)break;Jr(k[(k[e>>2]|0)+212>>2]|0);break}m=oN(c,0)|0;k[n>>2]=m;if((((k[n>>2]|0)==0?(m=pN(k[e>>2]|0,k[f>>2]|0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0)?(m=It(k[e>>2]|0,0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0)?(m=k[e>>2]|0,m=Jt(m,Ks(k[(k[e>>2]|0)+212>>2]|0)|0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0){Jr(k[(k[e>>2]|0)+212>>2]|0);if((k[(k[e>>2]|0)+28>>2]|0)>>>0>(k[(k[e>>2]|0)+36>>2]|0)>>>0){k[h>>2]=(k[(k[e>>2]|0)+28>>2]|0)-((k[(k[e>>2]|0)+28>>2]|0)==(((k[384]|0)/(k[(k[e>>2]|0)+160>>2]|0)|0)+1|0)&1);m=Nr(k[e>>2]|0,k[h>>2]|0)|0;k[n>>2]=m;if((k[n>>2]|0)!=0|(k[g>>2]|0)!=0)break}else if(k[g>>2]|0)break;m=Ug(k[e>>2]|0,k[f>>2]|0)|0;k[n>>2]=m}}else nj(k[c+96>>2]|0);while(0);if((k[n>>2]|0)==0?(Lr(k[e>>2]|0)|0)==0:0)i[(k[e>>2]|0)+17>>0]=5;k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function Sg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;i=f+16|0;h=f+12|0;g=f+8|0;j=f;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;b=j;k[b>>2]=d;k[b+4>>2]=e;b=j;b=hc[k[(k[k[i>>2]>>2]|0)+12>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;r=f;return b|0}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+20|0;e=h+8|0;f=h;g=h+16|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=fj(k[d>>2]|0,f)|0;k[g>>2]=a;if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}b=k[f+4>>2]|0;a=e;c=k[a+4>>2]|0;if(!((b|0)>(c|0)|((b|0)==(c|0)?(k[f>>2]|0)>>>0>(k[a>>2]|0)>>>0:0))){g=k[g>>2]|0;r=h;return g|0}a=e;a=Er(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[g>>2]=a;g=k[g>>2]|0;r=h;return g|0}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(k[k[(k[c>>2]|0)+64>>2]>>2]|0){k[e>>2]=k[d>>2];b=Ki(k[(k[c>>2]|0)+64>>2]|0,21,k[e>>2]|0)|0;k[f>>2]=b;k[f>>2]=(k[f>>2]|0)==12?0:b}if(k[f>>2]|0){b=k[f>>2]|0;r=g;return b|0}if(i[(k[c>>2]|0)+7>>0]|0){b=k[f>>2]|0;r=g;return b|0}b=Fr(k[(k[c>>2]|0)+64>>2]|0,l[(k[c>>2]|0)+12>>0]|0)|0;k[f>>2]=b;b=k[f>>2]|0;r=g;return b|0}function Vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+28>>2]=k[e>>2];r=c;return}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if(!(l[(k[d>>2]|0)+8>>0]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}wg(k[d>>2]|0);do if((l[(k[d>>2]|0)+8>>0]|0|0)==2){k[f>>2]=k[(k[d>>2]|0)+4>>2];a=nN(k[k[f>>2]>>2]|0)|0;k[g>>2]=a;if(!((k[g>>2]|0)!=0&(k[e>>2]|0)==0)){g=(k[d>>2]|0)+20|0;k[g>>2]=(k[g>>2]|0)+-1;i[(k[f>>2]|0)+20>>0]=1;iN(k[f>>2]|0);break}k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}while(0);jN(k[d>>2]|0);k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function Xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if((l[(k[d>>2]|0)+8>>0]|0)==2){k[f>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);if((i[(k[f>>2]|0)+17>>0]|0)!=0?(b=mN(k[f>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0){k[c>>2]=k[g>>2];b=k[c>>2]|0;r=h;return b|0}if(i[(k[f>>2]|0)+19>>0]|0)Vg(k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+44>>2]|0);b=Rg(k[k[f>>2]>>2]|0,k[e>>2]|0,0)|0;k[g>>2]=b}k[c>>2]=k[g>>2];b=k[c>>2]|0;r=h;return b|0}function Yg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+96|0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;m=p+20|0;h=p+16|0;j=p+12|0;n=p+8|0;o=p+4|0;g=p;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);if(!(k[e>>2]|0)){c=fI(k[h>>2]|0,0,0)|0;k[e>>2]=c;k[m>>2]=c;if(k[m>>2]|0)k[f>>2]=0}else k[m>>2]=0;if((k[e>>2]|0)!=0?(c=eJ(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0,k[n>>2]=c,(k[n>>2]|0)!=0):0)k[m>>2]=k[n>>2];if((l[(k[d>>2]|0)+8>>0]|0|0)!=2){c=k[d>>2]|0;jN(c);c=k[m>>2]|0;r=p;return c|0}c=Ar(k[k[h>>2]>>2]|0)|0;k[o>>2]=c;if(k[o>>2]|0)k[m>>2]=k[o>>2];if(!(fG(k[h>>2]|0,1,j,0)|0)){c=qr((k[(k[j>>2]|0)+56>>2]|0)+28|0)|0;k[g>>2]=c;if(!(k[g>>2]|0))Pg(k[k[h>>2]>>2]|0,g);k[(k[h>>2]|0)+44>>2]=k[g>>2];_B(k[j>>2]|0)}i[(k[h>>2]|0)+20>>0]=1;iN(k[h>>2]|0);c=k[d>>2]|0;jN(c);c=k[m>>2]|0;r=p;return c|0}function _g(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;c=l+24|0;d=l+20|0;g=l+16|0;j=l+12|0;e=l+8|0;f=l+4|0;h=l;k[b>>2]=a;if((k[(k[b>>2]|0)+84>>2]|0)!=1691352191){r=l;return}if(zu(k[b>>2]|0)|0){r=l;return}gJ(k[b>>2]|0,0);hJ(k[b>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4);if((k[(k[g>>2]|0)+4>>2]|0)!=0?(VB(k[(k[g>>2]|0)+4>>2]|0)|0,k[(k[g>>2]|0)+4>>2]=0,(k[d>>2]|0)!=1):0)k[(k[g>>2]|0)+12>>2]=0;k[d>>2]=(k[d>>2]|0)+1}if(k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0)Ij(k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0);Eu(k[b>>2]|0);WB(k[b>>2]|0);k[c>>2]=k[(k[b>>2]|0)+348+8>>2];while(1){if(!(k[c>>2]|0))break;k[e>>2]=k[(k[c>>2]|0)+8>>2];do{wu(k[b>>2]|0,k[e>>2]|0);k[j>>2]=k[(k[e>>2]|0)+8>>2];bg(k[b>>2]|0,k[e>>2]|0);k[e>>2]=k[j>>2]}while((k[e>>2]|0)!=0);k[c>>2]=k[k[c>>2]>>2]}Kj((k[b>>2]|0)+348|0);k[c>>2]=k[(k[b>>2]|0)+364+8>>2];while(1){if(!(k[c>>2]|0))break;k[f>>2]=k[(k[c>>2]|0)+8>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=3)break;if(k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]|0)_b[k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]&255](k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+8>>2]|0);k[d>>2]=(k[d>>2]|0)+1}bg(k[b>>2]|0,k[f>>2]|0);k[c>>2]=k[k[c>>2]>>2]}Kj((k[b>>2]|0)+364|0);k[c>>2]=k[(k[b>>2]|0)+320+8>>2];while(1){if(!(k[c>>2]|0))break;k[h>>2]=k[(k[c>>2]|0)+8>>2];if(k[(k[h>>2]|0)+12>>2]|0)_b[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0);uI(k[b>>2]|0,k[h>>2]|0);bg(k[b>>2]|0,k[h>>2]|0);k[c>>2]=k[k[c>>2]>>2]}Kj((k[b>>2]|0)+320|0);vg(k[b>>2]|0,0);mh(k[(k[b>>2]|0)+244>>2]|0);k[(k[b>>2]|0)+84>>2]=-1254786768;bg(k[b>>2]|0,k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0);k[(k[b>>2]|0)+84>>2]=-1623446221;if(i[(k[b>>2]|0)+256+6>>0]|0)Ud(k[(k[b>>2]|0)+256+32>>2]|0);Ud(k[b>>2]|0);r=l;return}function $g(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+8|0;d=c+4|0;k[d>>2]=a;if(!(k[k[d>>2]>>2]|0)){$d(21,44004,c);k[b>>2]=1;d=k[b>>2]|0;r=c;return d|0}else{k[b>>2]=0;d=k[b>>2]|0;r=c;return d|0}return 0}function ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;c=f+20|0;d=f+16|0;g=f+8|0;e=f;k[c>>2]=a;k[d>>2]=b;AI(k[k[c>>2]>>2]|0,g)|0;b=g;a=(k[d>>2]|0)+128|0;a=_R(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;a=kS(a|0,L|0,1e6,0)|0;b=e;k[b>>2]=a;k[b+4>>2]=L;if(k[(k[c>>2]|0)+192>>2]|0){g=e;ic[k[(k[c>>2]|0)+192>>2]&255](k[(k[c>>2]|0)+196>>2]|0,k[(k[d>>2]|0)+176>>2]|0,k[g>>2]|0,k[g+4>>2]|0)}if(!((l[(k[c>>2]|0)+76>>0]|0)&2)){g=k[d>>2]|0;g=g+128|0;b=g;k[b>>2]=0;g=g+4|0;k[g>>2]=0;r=f;return}ec[k[(k[c>>2]|0)+184>>2]&255](2,k[(k[c>>2]|0)+188>>2]|0,k[d>>2]|0,e)|0;g=k[d>>2]|0;g=g+128|0;b=g;k[b>>2]=0;g=g+4|0;k[g>>2]=0;r=f;return}function bh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!((k[(k[b>>2]|0)+20>>2]|0)!=770837923?(k[(k[b>>2]|0)+20>>2]|0)!=832317811:0)){a=dh(k[b>>2]|0)|0;k[c>>2]=a}mv(k[b>>2]|0);r=d;return k[c>>2]|0}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)==3082?1:(l[(k[d>>2]|0)+69>>0]|0|0)!=0){b=hN(k[d>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}else{k[c>>2]=k[e>>2]&k[(k[d>>2]|0)+56>>2];b=k[c>>2]|0;r=f;return b|0}return 0}function dh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;d=e;b=e+8|0;c=e+4|0;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];LI(k[b>>2]|0)|0;a=k[b>>2]|0;if((k[(k[b>>2]|0)+36>>2]|0)>=0){EI(a)|0;bg(k[c>>2]|0,k[(k[b>>2]|0)+108>>2]|0);k[(k[b>>2]|0)+108>>2]=0;if((m[(k[b>>2]|0)+144>>1]|0)>>>5&1){d=(k[b>>2]|0)+144|0;j[d>>1]=j[d>>1]&-2|1}}else if((k[a+40>>2]|0)!=0?(j[(k[b>>2]|0)+144>>1]&1|0)!=0:0){g=k[c>>2]|0;f=k[(k[b>>2]|0)+40>>2]|0;a=(k[(k[b>>2]|0)+108>>2]|0)!=0?18391:0;k[d>>2]=k[(k[b>>2]|0)+108>>2];tg(g,f,a,d);bg(k[c>>2]|0,k[(k[b>>2]|0)+108>>2]|0);k[(k[b>>2]|0)+108>>2]=0}gN(k[b>>2]|0);g=(k[b>>2]|0)+56|0;k[g>>2]=0;k[g+4>>2]=0;k[(k[b>>2]|0)+20>>2]=1224384374;r=e;return k[(k[b>>2]|0)+40>>2]&k[(k[c>>2]|0)+56>>2]|0}function eh(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+20>>2]=770837923;k[(k[c>>2]|0)+36>>2]=-1;k[(k[c>>2]|0)+40>>2]=0;i[(k[c>>2]|0)+142>>0]=2;k[(k[c>>2]|0)+44>>2]=0;k[(k[c>>2]|0)+32>>2]=1;i[(k[c>>2]|0)+143>>0]=-1;k[(k[c>>2]|0)+48>>2]=0;a=(k[c>>2]|0)+64|0;k[a>>2]=0;k[a+4>>2]=0;r=b;return}function fh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(((m[(k[b>>2]|0)+8>>1]|0)&9312|0)==0?(k[(k[b>>2]|0)+24>>2]|0)==0:0){r=c;return}fN(k[b>>2]|0);r=c;return}function gh(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;e=d;k[c>>2]=a;a=(k[(k[c>>2]|0)+12>>2]|0)+(k[k[c>>2]>>2]|0)|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)<=0?1:a;if(Yx(k[c>>2]|0,k[e>>2]|0,1)|0){k[b>>2]=7;e=k[b>>2]|0;r=d;return e|0}else{dS((k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)|0,0,k[k[c>>2]>>2]|0)|0;e=(k[c>>2]|0)+12|0;k[e>>2]=(k[e>>2]|0)+(k[k[c>>2]>>2]|0);e=(k[c>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&-16897;k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}return 0}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;e=f+8|0;k[d>>2]=a;i[e>>0]=b;do if(k[d>>2]|0){if(((m[(k[d>>2]|0)+8>>1]|0)&514|0)==514?(l[(k[d>>2]|0)+10>>0]|0|0)==(l[e>>0]|0|0):0){k[c>>2]=k[(k[d>>2]|0)+16>>2];break}if((m[(k[d>>2]|0)+8>>1]|0)&1){k[c>>2]=0;break}else{a=eN(k[d>>2]|0,i[e>>0]|0)|0;k[c>>2]=a;break}}else k[c>>2]=0;while(0);r=f;return k[c>>2]|0}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+8|0;c=g+4|0;d=g+12|0;f=g;k[c>>2]=a;i[d>>0]=b;k[f>>2]=k[c>>2];if(((m[(k[f>>2]|0)+8>>1]|0)&2|0)!=0?(l[(k[c>>2]|0)+10>>0]|0|0)==(l[d>>0]|0|0):0){k[e>>2]=k[(k[f>>2]|0)+12>>2];f=k[e>>2]|0;r=g;return f|0}a=m[(k[f>>2]|0)+8>>1]|0;if((m[(k[f>>2]|0)+8>>1]|0)&16){b=k[(k[f>>2]|0)+12>>2]|0;if(a&16384){k[e>>2]=b+(k[k[f>>2]>>2]|0);f=k[e>>2]|0;r=g;return f|0}else{k[e>>2]=b;f=k[e>>2]|0;r=g;return f|0}}else if(a&1){k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}else{f=dN(k[c>>2]|0,i[d>>0]|0)|0;k[e>>2]=f;f=k[e>>2]|0;r=g;return f|0}return 0}function jh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0.0;f=r;r=r+32|0;c=f+8|0;d=f+16|0;e=f;k[d>>2]=a;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&8){p[c>>3]=+p[b>>3];g=+p[c>>3];r=f;return +g}a=k[d>>2]|0;if((m[b+8>>1]|0)&4){e=a;p[c>>3]=+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0);g=+p[c>>3];r=f;return +g}if((m[a+8>>1]|0)&18){p[e>>3]=0.0;oz(k[(k[d>>2]|0)+16>>2]|0,e,k[(k[d>>2]|0)+12>>2]|0,i[(k[d>>2]|0)+10>>0]|0)|0;p[c>>3]=+p[e>>3];g=+p[c>>3];r=f;return +g}else{p[c>>3]=0.0;g=+p[c>>3];r=f;return +g}return 0.0}function kh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+8|0;c=f+20|0;d=f+16|0;e=f;k[c>>2]=a;k[d>>2]=m[(k[c>>2]|0)+8>>1];do if(!(k[d>>2]&4)){if(k[d>>2]&8){a=Ux(+p[k[c>>2]>>3])|0;e=b;k[e>>2]=a;k[e+4>>2]=L;break}if(k[d>>2]&18){d=e;k[d>>2]=0;k[d+4>>2]=0;Wi(k[(k[c>>2]|0)+16>>2]|0,e,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0;d=e;a=k[d+4>>2]|0;e=b;k[e>>2]=k[d>>2];k[e+4>>2]=a;break}else{e=b;k[e>>2]=0;k[e+4>>2]=0;break}}else{d=k[c>>2]|0;a=k[d+4>>2]|0;e=b;k[e>>2]=k[d>>2];k[e+4>>2]=a}while(0);e=b;L=k[e+4>>2]|0;r=f;return k[e>>2]|0}function lh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if((m[(k[c>>2]|0)+8>>1]|0)&18){if(((m[(k[c>>2]|0)+8>>1]|0)&16384|0)!=0?(gh(k[c>>2]|0)|0)!=0:0){k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}if((k[(k[c>>2]|0)+24>>2]|0)!=0?(k[(k[c>>2]|0)+16>>2]|0)==(k[(k[c>>2]|0)+20>>2]|0):0)break;if(!(Yx(k[c>>2]|0,(k[(k[c>>2]|0)+12>>2]|0)+2|0,1)|0)){i[(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[c>>2]|0)+16>>2]|0)+((k[(k[c>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|512;break}k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}while(0);a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-4097;k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}function mh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}fh(k[b>>2]|0);bg(k[(k[b>>2]|0)+32>>2]|0,k[b>>2]|0);r=c;return}function nh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;g=r;r=r+32|0;f=g+12|0;m=g+8|0;l=g+4|0;j=g+16|0;h=g;k[f>>2]=a;k[m>>2]=b;k[l>>2]=c;i[j>>0]=d;k[h>>2]=e;if((qh(k[k[f>>2]>>2]|0,k[m>>2]|0,k[l>>2]|0,i[j>>0]|0,k[h>>2]|0)|0)!=18){r=g;return}Be(k[f>>2]|0);r=g;return}function oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!((k[e>>2]|0)==0|(k[e>>2]|0)==(-1|0)))_b[k[e>>2]&255](k[d>>2]|0);if(!(k[f>>2]|0)){r=g;return 18}Be(k[f>>2]|0);r=g;return 18}function ph(a,b){a=a|0;b=+b;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e;k[c>>2]=a;p[d>>3]=b;sh(k[c>>2]|0);if(AG(+p[d>>3])|0){r=e;return}p[k[c>>2]>>3]=+p[d>>3];j[(k[c>>2]|0)+8>>1]=8;r=e;return}function qh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;h=u+28|0;n=u+24|0;f=u+20|0;v=u+16|0;o=u+34|0;p=u+12|0;t=u+8|0;s=u+4|0;q=u+32|0;g=u;k[n>>2]=a;k[f>>2]=b;k[v>>2]=c;i[o>>0]=d;k[p>>2]=e;k[t>>2]=k[v>>2];j[q>>1]=0;d=k[n>>2]|0;if(!(k[f>>2]|0)){sh(d);k[h>>2]=0;v=k[h>>2]|0;r=u;return v|0}if(k[d+32>>2]|0)k[s>>2]=k[(k[(k[n>>2]|0)+32>>2]|0)+96>>2];else k[s>>2]=1e9;j[q>>1]=(l[o>>0]|0)==0?16:2;if((k[t>>2]|0)<0){a:do if((l[o>>0]|0)==1){v=Tf(k[f>>2]|0)|0;k[t>>2]=v;if((k[t>>2]|0)>(k[s>>2]|0))k[t>>2]=(k[s>>2]|0)+1}else{k[t>>2]=0;while(1){if((k[t>>2]|0)>(k[s>>2]|0))break a;if(!(i[(k[f>>2]|0)+(k[t>>2]|0)>>0]|i[(k[f>>2]|0)+((k[t>>2]|0)+1)>>0]))break a;k[t>>2]=(k[t>>2]|0)+2}}while(0);j[q>>1]=m[q>>1]|512}do if((k[p>>2]|0)!=(-1|0)){v=(k[p>>2]|0)==170;fh(k[n>>2]|0);d=k[f>>2]|0;k[(k[n>>2]|0)+16>>2]=d;if(v){k[(k[n>>2]|0)+20>>2]=d;v=uu(k[(k[n>>2]|0)+32>>2]|0,k[(k[n>>2]|0)+20>>2]|0)|0;k[(k[n>>2]|0)+24>>2]=v;break}else{k[(k[n>>2]|0)+36>>2]=k[p>>2];j[q>>1]=m[q>>1]|((k[p>>2]|0)==0?2048:1024);break}}else{k[g>>2]=k[t>>2];if(m[q>>1]&512)k[g>>2]=(k[g>>2]|0)+((l[o>>0]|0)==1?1:2);if((k[t>>2]|0)>(k[s>>2]|0)){k[h>>2]=18;v=k[h>>2]|0;r=u;return v|0}if(!(Xx(k[n>>2]|0,(k[g>>2]|0)>32?k[g>>2]|0:32)|0)){bS(k[(k[n>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;break}k[h>>2]=7;v=k[h>>2]|0;r=u;return v|0}while(0);k[(k[n>>2]|0)+12>>2]=k[t>>2];j[(k[n>>2]|0)+8>>1]=j[q>>1]|0;i[(k[n>>2]|0)+10>>0]=(l[o>>0]|0)==0?1:l[o>>0]|0;if((l[(k[n>>2]|0)+10>>0]|0)!=1?(cN(k[n>>2]|0)|0)!=0:0){k[h>>2]=7;v=k[h>>2]|0;r=u;return v|0}if((k[t>>2]|0)>(k[s>>2]|0)){k[h>>2]=18;v=k[h>>2]|0;r=u;return v|0}else{k[h>>2]=0;v=k[h>>2]|0;r=u;return v|0}return 0}function rh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if((m[(k[d>>2]|0)+8>>1]|0)&9312){a=e;bN(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0);r=f;return}else{c=e;e=k[c+4>>2]|0;a=k[d>>2]|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;j[(k[d>>2]|0)+8>>1]=4;r=f;return}}function sh(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;if((m[(k[c>>2]|0)+8>>1]|0)&9312){wG(a);r=b;return}else{j[a+8>>1]=1;r=b;return}}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((m[(k[c>>2]|0)+8>>1]|0)&9312)wG(k[c>>2]|0);a=k[c>>2]|0;b=k[d>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-1025;if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){e=k[e>>2]|0;r=f;return e|0}if((m[(k[d>>2]|0)+8>>1]|0)&2048){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|4096;a=lh(k[c>>2]|0)|0;k[e>>2]=a;e=k[e>>2]|0;r=f;return e|0}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;fh(k[c>>2]|0);j[(k[c>>2]|0)+8>>1]=16400;k[(k[c>>2]|0)+12>>2]=0;if((k[d>>2]|0)<0)k[d>>2]=0;k[k[c>>2]>>2]=k[d>>2];i[(k[c>>2]|0)+10>>0]=1;k[(k[c>>2]|0)+16>>2]=0;r=e;return}function vh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=43378;if((k[b>>2]|0)!=516){k[b>>2]=k[b>>2]&255;if((k[b>>2]|0)>=0&(k[b>>2]|0)<27?(k[6240+(k[b>>2]<<2)>>2]|0)!=0:0)k[c>>2]=k[6240+(k[b>>2]<<2)>>2]}else k[c>>2]=43392;r=d;return k[c>>2]|0}function wh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+69>>0]|0){r=c;return}if(l[(k[b>>2]|0)+70>>0]|0){r=c;return}i[(k[b>>2]|0)+69>>0]=1;if((k[(k[b>>2]|0)+168>>2]|0)>0)k[(k[b>>2]|0)+248>>2]=1;a=(k[b>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+1;r=c;return}function xh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;k[c>>2]=a;if(!(k[c>>2]|0)){$d(21,43338,d);k[b>>2]=1;a=k[b>>2]|0;r=d;return a|0}else{a=$g(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function yh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;b=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;if((k[(k[c>>2]|0)+20>>2]|0)!=770837923)ge(k[c>>2]|0)|0;k[d>>2]=k[k[c>>2]>>2];a=k[c>>2]|0;if(i[(k[d>>2]|0)+69>>0]|0){k[a+40>>2]=7;k[b>>2]=7;f=k[b>>2]|0;r=g;return f|0}if((k[a+36>>2]|0)<=0?(j[(k[c>>2]|0)+144>>1]&1|0)!=0:0){k[(k[c>>2]|0)+40>>2]=17;k[e>>2]=1}else{if((k[(k[c>>2]|0)+36>>2]|0)<0){if(!(k[(k[d>>2]|0)+156>>2]|0))k[(k[d>>2]|0)+248>>2]=0;if(!((k[(k[d>>2]|0)+192>>2]|0)==0?(l[(k[d>>2]|0)+76>>0]&2|0)==0:0))f=13;if(((f|0)==13?(i[(k[d>>2]|0)+148+5>>0]|0)==0:0)?(k[(k[c>>2]|0)+176>>2]|0)!=0:0)AI(k[k[d>>2]>>2]|0,(k[c>>2]|0)+128|0)|0;f=(k[d>>2]|0)+156|0;k[f>>2]=(k[f>>2]|0)+1;if(!((m[(k[c>>2]|0)+144>>1]|0)>>>7&1)){f=(k[d>>2]|0)+164|0;k[f>>2]=(k[f>>2]|0)+1}if((m[(k[c>>2]|0)+144>>1]|0)>>>8&1){f=(k[d>>2]|0)+160|0;k[f>>2]=(k[f>>2]|0)+1}k[(k[c>>2]|0)+36>>2]=0}if((m[(k[c>>2]|0)+144>>1]|0)>>>2&3){f=BI(k[c>>2]|0)|0;k[e>>2]=f}else{f=(k[d>>2]|0)+168|0;k[f>>2]=(k[f>>2]|0)+1;f=CI(k[c>>2]|0)|0;k[e>>2]=f;f=(k[d>>2]|0)+168|0;k[f>>2]=(k[f>>2]|0)+-1}if((k[e>>2]|0)!=100?(f=(k[c>>2]|0)+128|0,a=k[f+4>>2]|0,(a|0)>0|(a|0)==0&(k[f>>2]|0)>>>0>0):0)ah(k[d>>2]|0,k[c>>2]|0);if((k[e>>2]|0)==101?(f=DI(k[d>>2]|0)|0,k[(k[c>>2]|0)+40>>2]=f,(k[(k[c>>2]|0)+40>>2]|0)!=0):0)k[e>>2]=1;k[(k[d>>2]|0)+52>>2]=k[e>>2];if(7==(ch(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+40>>2]|0)|0))k[(k[c>>2]|0)+40>>2]=7}if(((k[e>>2]|0)!=100?((m[(k[c>>2]|0)+144>>1]|0)>>>9&1|0)!=0:0)&(k[e>>2]|0)!=101){f=EI(k[c>>2]|0)|0;k[e>>2]=f}k[b>>2]=k[e>>2]&k[(k[d>>2]|0)+56>>2];f=k[b>>2]|0;r=g;return f|0}function zh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+20|0;c=g+16|0;f=g+12|0;e=g+8|0;h=g+4|0;d=g;k[c>>2]=a;a=af(k[c>>2]|0)|0;k[h>>2]=a;a=_A(k[c>>2]|0)|0;k[d>>2]=a;a=di(k[d>>2]|0,k[h>>2]|0,-1,0,k[c>>2]|0,e,0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){yI(k[e>>2]|0,k[c>>2]|0);Jh(k[e>>2]|0,k[c>>2]|0)|0;zI(k[e>>2]|0);bh(k[e>>2]|0)|0;k[b>>2]=0;h=k[b>>2]|0;r=g;return h|0}if((k[f>>2]|0)==7)wh(k[d>>2]|0);k[b>>2]=k[f>>2];h=k[b>>2]|0;r=g;return h|0}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}b=(Tf(k[e>>2]|0)|0)+1|0;k[f>>2]=b;b=k[f>>2]|0;b=Mh(k[d>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;if(k[g>>2]|0)bS(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+8>>2];b=k[e>>2]|0;if((k[d>>2]|0)>0){Xx(b,k[d>>2]|0)|0;j[(k[e>>2]|0)+8>>1]=8192;k[k[e>>2]>>2]=k[(k[c>>2]|0)+4>>2];if(k[(k[e>>2]|0)+16>>2]|0)dS(k[(k[e>>2]|0)+16>>2]|0,0,k[d>>2]|0)|0}else{sh(b);k[(k[e>>2]|0)+16>>2]=0}r=f;return k[(k[e>>2]|0)+16>>2]|0}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;d=f;e=f+8|0;k[g>>2]=a;a=d;k[a>>2]=b;k[a+4>>2]=c;a=d;a=Mh(k[g>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){g=k[e>>2]|0;r=f;return g|0}dS(k[e>>2]|0,0,k[d>>2]|0)|0;g=k[e>>2]|0;r=f;return g|0}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;k[h>>2]=a;k[d>>2]=b;k[f>>2]=k[h>>2];if(!(k[f>>2]|0)){h=xI()|0;k[c>>2]=h;h=k[c>>2]|0;r=g;return h|0}if((k[(k[f>>2]|0)+104>>2]|0)!=0?((k[d>>2]|0)>=0?(k[d>>2]|0)<(m[(k[f>>2]|0)+140>>1]|0|0):0):0)k[e>>2]=(k[(k[f>>2]|0)+104>>2]|0)+((k[d>>2]|0)*40|0);else{vg(k[k[f>>2]>>2]|0,25);h=xI()|0;k[e>>2]=h}k[c>>2]=k[e>>2];h=k[c>>2]|0;r=g;return h|0}function Eh(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){r=c;return}d=ch(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+40>>2]|0)|0;k[(k[b>>2]|0)+40>>2]=d;r=c;return}function Fh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;o=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;m=n+12|0;l=n+8|0;j=n+4|0;h=n;k[o>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[m>>2]=0;k[l>>2]=k[o>>2];k[h>>2]=k[k[l>>2]>>2];c=He(k[o>>2]|0)|0;k[j>>2]=c;if(!((k[e>>2]|0)>=0?(k[e>>2]|0)<(k[j>>2]|0):0)){o=k[m>>2]|0;r=n;return o|0}o=ha(k[g>>2]|0,k[j>>2]|0)|0;k[e>>2]=(k[e>>2]|0)+o;o=bc[k[f>>2]&255]((k[(k[l>>2]|0)+100>>2]|0)+((k[e>>2]|0)*40|0)|0)|0;k[m>>2]=o;if(!(i[(k[h>>2]|0)+69>>0]|0)){o=k[m>>2]|0;r=n;return o|0}zi(k[h>>2]|0);k[m>>2]=0;o=k[m>>2]|0;r=n;return o|0}function Gh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;t=s+28|0;g=s+24|0;h=s+20|0;j=s+16|0;m=s+12|0;n=s+32|0;o=s+8|0;p=s+4|0;q=s;k[t>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[m>>2]=e;i[n>>0]=f;k[o>>2]=k[t>>2];c=Hh(k[o>>2]|0,k[g>>2]|0)|0;k[q>>2]=c;if(k[q>>2]|0){if(!((k[m>>2]|0)!=0&(k[m>>2]|0)!=(-1|0))){t=k[q>>2]|0;r=s;return t|0}_b[k[m>>2]&255](k[h>>2]|0);t=k[q>>2]|0;r=s;return t|0}if(!(k[h>>2]|0)){t=k[q>>2]|0;r=s;return t|0}k[p>>2]=(k[(k[o>>2]|0)+116>>2]|0)+(((k[g>>2]|0)-1|0)*40|0);t=qh(k[p>>2]|0,k[h>>2]|0,k[j>>2]|0,i[n>>0]|0,k[m>>2]|0)|0;k[q>>2]=t;if((k[q>>2]|0)==0?(l[n>>0]|0|0)!=0:0){t=su(k[p>>2]|0,l[(k[k[o>>2]>>2]|0)+66>>0]|0)|0;k[q>>2]=t}vg(k[k[o>>2]>>2]|0,k[q>>2]|0);t=ch(k[k[o>>2]>>2]|0,k[q>>2]|0)|0;k[q>>2]=t;t=k[q>>2]|0;r=s;return t|0}function Hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i;c=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;k[d>>2]=a;k[e>>2]=b;if(xh(k[d>>2]|0)|0){h=Vf(76348)|0;k[c>>2]=h;h=k[c>>2]|0;r=i;return h|0}if((k[(k[d>>2]|0)+20>>2]|0)==770837923?(k[(k[d>>2]|0)+36>>2]|0)<0:0){if((k[e>>2]|0)>=1?(k[e>>2]|0)<=(j[(k[d>>2]|0)+16>>1]|0):0){k[e>>2]=(k[e>>2]|0)+-1;k[f>>2]=(k[(k[d>>2]|0)+116>>2]|0)+((k[e>>2]|0)*40|0);fh(k[f>>2]|0);j[(k[f>>2]|0)+8>>1]=1;vg(k[k[d>>2]>>2]|0,0);do if((m[(k[d>>2]|0)+144>>1]|0)>>>9&1){if(!((k[e>>2]|0)<32?(k[(k[d>>2]|0)+196>>2]&1<>2]|0)!=0:0))h=12;if((h|0)==12?(k[(k[d>>2]|0)+196>>2]|0)!=-1:0)break;h=(k[d>>2]|0)+144|0;j[h>>1]=j[h>>1]&-2|1}while(0);k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}vg(k[k[d>>2]>>2]|0,25);k[c>>2]=25;h=k[c>>2]|0;r=i;return h|0}vg(k[k[d>>2]>>2]|0,21);k[g>>2]=k[(k[d>>2]|0)+176>>2];$d(21,39833,g);h=Vf(76356)|0;k[c>>2]=h;h=k[c>>2]|0;r=i;return h|0}function Ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[e>>2]|0)){k[d>>2]=0;b=k[d>>2]|0;r=m;return b|0}a:do if(k[f>>2]|0){k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[e>>2]|0)+18>>1]|0))break a;k[l>>2]=k[(k[(k[e>>2]|0)+120>>2]|0)+(k[h>>2]<<2)>>2];if(((k[l>>2]|0)!=0?(vR(k[l>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)==0:0)?(i[(k[l>>2]|0)+(k[g>>2]|0)>>0]|0)==0:0)break;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=(k[h>>2]|0)+1;b=k[d>>2]|0;r=m;return b|0}while(0);k[d>>2]=0;b=k[d>>2]|0;r=m;return b|0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;h=f+16|0;g=f+12|0;d=f+8|0;e=f+4|0;c=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=k[h>>2];k[e>>2]=k[g>>2];k[c>>2]=0;while(1){if((k[c>>2]|0)>=(j[(k[d>>2]|0)+16>>1]|0))break;wI((k[(k[e>>2]|0)+116>>2]|0)+((k[c>>2]|0)*40|0)|0,(k[(k[d>>2]|0)+116>>2]|0)+((k[c>>2]|0)*40|0)|0);k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function Kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+256|0;A=D+72|0;C=D+64|0;B=D+56|0;z=D+48|0;y=D+40|0;d=D+148|0;e=D+144|0;f=D+140|0;n=D+136|0;u=D+132|0;o=D+128|0;t=D+124|0;h=D+120|0;w=D+116|0;v=D+88|0;x=D;c=D+84|0;q=D+80|0;g=D+152|0;s=D+76|0;k[d>>2]=a;k[e>>2]=b;k[n>>2]=0;k[u>>2]=1;k[f>>2]=k[k[d>>2]>>2];ng(v,0,D+156|0,100,k[(k[f>>2]|0)+96>>2]|0);a:do if((k[(k[f>>2]|0)+168>>2]|0)>1)while(1){if(!(i[k[e>>2]>>0]|0))break a;k[c>>2]=k[e>>2];do{C=k[e>>2]|0;k[e>>2]=C+1;if((i[C>>0]|0)==10)break}while((i[k[e>>2]>>0]|0)!=0);CA(v,39799,3);CA(v,k[c>>2]|0,(k[e>>2]|0)-(k[c>>2]|0)|0)}else{if(!(j[(k[d>>2]|0)+16>>1]|0)){C=k[e>>2]|0;CA(v,C,Tf(k[e>>2]|0)|0);break}while(1){if(!(i[k[e>>2]>>0]|0))break a;c=vI(k[e>>2]|0,t)|0;k[o>>2]=c;CA(v,k[e>>2]|0,k[o>>2]|0);k[e>>2]=(k[e>>2]|0)+(k[o>>2]|0);if(!(k[t>>2]|0))break a;do if((i[k[e>>2]>>0]|0)==63)if((k[t>>2]|0)>1){_i((k[e>>2]|0)+1|0,n)|0;break}else{k[n>>2]=k[u>>2];break}else{c=Ih(k[d>>2]|0,k[e>>2]|0,k[t>>2]|0)|0;k[n>>2]=c}while(0);k[e>>2]=(k[e>>2]|0)+(k[t>>2]|0);k[u>>2]=(k[n>>2]|0)+1;k[w>>2]=(k[(k[d>>2]|0)+116>>2]|0)+(((k[n>>2]|0)-1|0)*40|0);if(m[(k[w>>2]|0)+8>>1]&1){CA(v,39691,4);continue}b=k[w>>2]|0;if(m[(k[w>>2]|0)+8>>1]&4){a=b;b=k[a+4>>2]|0;c=y;k[c>>2]=k[a>>2];k[c+4>>2]=b;BA(v,28266,y);continue}a=k[w>>2]|0;if(m[b+8>>1]&8){p[z>>3]=+p[a>>3];BA(v,28271,z);continue}if(m[a+8>>1]&2){i[g>>0]=i[(k[f>>2]|0)+66>>0]|0;if((l[g>>0]|0)!=1){a=x;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[x+32>>2]=k[f>>2];qh(x,k[(k[w>>2]|0)+16>>2]|0,k[(k[w>>2]|0)+12>>2]|0,i[g>>0]|0,0)|0;if(7==(su(x,1)|0)){i[v+24>>0]=1;k[v+16>>2]=0}k[w>>2]=x}k[q>>2]=k[(k[w>>2]|0)+12>>2];c=k[(k[w>>2]|0)+16>>2]|0;k[B>>2]=k[q>>2];k[B+4>>2]=c;BA(v,39803,B);if((l[g>>0]|0)==1)continue;fh(x);continue}else{if(m[(k[w>>2]|0)+8>>1]&16384){k[C>>2]=k[k[w>>2]>>2];BA(v,39810,C);continue}CA(v,39823,2);k[s>>2]=k[(k[w>>2]|0)+12>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[s>>2]|0))break;k[A>>2]=i[(k[(k[w>>2]|0)+16>>2]|0)+(k[h>>2]|0)>>0]&255;BA(v,39826,A);k[h>>2]=(k[h>>2]|0)+1}CA(v,39831,1);continue}}}while(0);if(!(i[v+24>>0]|0)){C=pg(v)|0;r=D;return C|0}HA(v);C=pg(v)|0;r=D;return C|0}function Lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;g=h+8|0;f=h;e=h+24|0;k[c>>2]=a;k[d>>2]=b;i[e>>0]=i[(k[c>>2]|0)+10>>0]|0;if(!(oz(k[(k[c>>2]|0)+16>>2]|0,g,k[(k[c>>2]|0)+12>>2]|0,i[e>>0]|0)|0)){r=h;return}if(!(Wi(k[(k[c>>2]|0)+16>>2]|0,f,k[(k[c>>2]|0)+12>>2]|0,i[e>>0]|0)|0)){a=k[f+4>>2]|0;g=k[c>>2]|0;k[g>>2]=k[f>>2];k[g+4>>2]=a;g=(k[c>>2]|0)+8|0;j[g>>1]=m[g>>1]|0|4;r=h;return}p[k[c>>2]>>3]=+p[g>>3];g=(k[c>>2]|0)+8|0;j[g>>1]=m[g>>1]|0|8;if(!(k[d>>2]|0)){r=h;return}Tx(k[c>>2]|0);r=h;return}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(k[e>>2]|0){g=f;g=dx(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;r=h;return g|0}else{a=f;a=jg(k[a>>2]|0,k[a+4>>2]|0)|0;k[g>>2]=a;k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}return 0}function Nh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+16|0;o=q;h=q+52|0;j=q+48|0;e=q+44|0;l=q+40|0;m=q+36|0;n=q+32|0;g=q+28|0;f=q+24|0;k[j>>2]=a;k[e>>2]=b;k[l>>2]=c;k[m>>2]=d;if(Uz(k[j>>2]|0)|0){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}c=Di(k[k[j>>2]>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){k[g>>2]=(k[e>>2]&1|0)!=0?39772:39785;if(((xi(k[k[j>>2]>>2]|0,k[m>>2]|0)|0)<1?(c=Cj((k[k[j>>2]>>2]|0)+320|0,k[l>>2]|0)|0,k[f>>2]=c,(k[f>>2]|0)!=0):0)?(tI(k[j>>2]|0,k[f>>2]|0)|0)!=0:0){k[h>>2]=k[(k[f>>2]|0)+16>>2];p=k[h>>2]|0;r=q;return p|0}if(!(k[e>>2]&2)){b=k[j>>2]|0;e=k[g>>2]|0;if(k[m>>2]|0){m=k[m>>2]|0;p=k[l>>2]|0;k[o>>2]=e;k[o+4>>2]=m;k[o+8>>2]=p;Oh(b,30029,o)}else{o=k[l>>2]|0;k[p>>2]=e;k[p+4>>2]=o;Oh(b,30039,p)}i[(k[j>>2]|0)+17>>0]=1}}k[h>>2]=k[n>>2];p=k[h>>2]|0;r=q;return p|0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=r;r=r+48|0;d=g+32|0;j=g+28|0;f=g+24|0;h=g+8|0;e=g;k[d>>2]=a;k[j>>2]=b;k[e>>2]=k[k[d>>2]>>2];k[h>>2]=c;b=yx(k[e>>2]|0,k[j>>2]|0,h)|0;k[f>>2]=b;if(i[(k[e>>2]|0)+73>>0]|0){bg(k[e>>2]|0,k[f>>2]|0);r=g;return}else{j=(k[d>>2]|0)+36|0;k[j>>2]=(k[j>>2]|0)+1;bg(k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0);k[(k[d>>2]|0)+4>>2]=k[f>>2];k[(k[d>>2]|0)+12>>2]=1;r=g;return}}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=-1e6;if(!(k[d>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){c=6;break}if((k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)==(k[d>>2]|0)){c=6;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==6){e=k[e>>2]|0;r=f;return e|0}return 0}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e+28|0;g=e+24|0;f=e+8|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;b=yx(k[h>>2]|0,k[g>>2]|0,f)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function Rh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=k[k[d>>2]>>2];b=dx(k[e>>2]|0,208,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}a=(k[f>>2]|0)+88|0;b=a+120|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[f>>2]>>2]=k[e>>2];if(k[(k[e>>2]|0)+4>>2]|0)k[(k[(k[e>>2]|0)+4>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+8>>2]=k[(k[e>>2]|0)+4>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+20>>2]=381479589;k[(k[f>>2]|0)+12>>2]=k[d>>2];k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}function Sh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=r;r=r+32|0;j=h+24|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;i=h+4|0;g=h;k[j>>2]=a;k[o>>2]=b;k[n>>2]=c;k[m>>2]=d;k[l>>2]=e;k[i>>2]=f;f=tx(k[j>>2]|0,k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;k[g>>2]=f;Wh(k[j>>2]|0,k[g>>2]|0,k[i>>2]|0,-14);r=h;return k[g>>2]|0}function Th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e;d=e+4|0;k[c>>2]=a;i[d>>0]=b;if((k[(k[c>>2]|0)+136>>2]|0)<=0){r=e;return}i[(k[(k[c>>2]|0)+88>>2]|0)+(((k[(k[c>>2]|0)+136>>2]|0)-1|0)*20|0)+3>>0]=i[d>>0]|0;r=e;return}function Uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+8|0;n=o+4|0;m=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[o+12>>2]=d;if(((k[(k[f>>2]|0)+136>>2]|0)+(k[g>>2]|0)|0)>(k[(k[(k[f>>2]|0)+12>>2]|0)+48>>2]|0)?(vx(k[f>>2]|0,k[g>>2]|0)|0)!=0:0){k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}a=(k[(k[f>>2]|0)+88>>2]|0)+((k[(k[f>>2]|0)+136>>2]|0)*20|0)|0;k[n>>2]=a;k[m>>2]=a;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[g>>2]|0))break;i[k[n>>2]>>0]=i[k[h>>2]>>0]|0;k[(k[n>>2]|0)+4>>2]=i[(k[h>>2]|0)+1>>0];k[(k[n>>2]|0)+8>>2]=i[(k[h>>2]|0)+2>>0];if((l[34898+(l[k[h>>2]>>0]|0)>>0]&1|0)!=0?(i[(k[h>>2]|0)+2>>0]|0)>0:0){a=(k[n>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)+(k[(k[f>>2]|0)+136>>2]|0)}k[(k[n>>2]|0)+12>>2]=i[(k[h>>2]|0)+3>>0];i[(k[n>>2]|0)+1>>0]=0;k[(k[n>>2]|0)+16>>2]=0;i[(k[n>>2]|0)+3>>0]=0;k[j>>2]=(k[j>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+4;k[n>>2]=(k[n>>2]|0)+20}n=(k[f>>2]|0)+136|0;k[n>>2]=(k[n>>2]|0)+(k[g>>2]|0);k[e>>2]=k[m>>2];n=k[e>>2]|0;r=o;return n|0}function Vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;a=(k[c>>2]|0)+148|0;k[a>>2]=k[a>>2]|1<>2];if((k[d>>2]|0)==1){r=e;return}if(!(sI(k[(k[(k[k[c>>2]>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+4>>2]|0)|0)){r=e;return}a=(k[c>>2]|0)+152|0;k[a>>2]=k[a>>2]|1<>2];r=e;return}function Wh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;g=m;k[e>>2]=a;k[f>>2]=b;k[h>>2]=c;k[j>>2]=d;k[g>>2]=k[k[e>>2]>>2];if(i[(k[g>>2]|0)+69>>0]|0){if((k[j>>2]|0)==-10){r=m;return}SA(k[g>>2]|0,k[j>>2]|0,k[h>>2]|0);r=m;return}if((k[f>>2]|0)<0)k[f>>2]=(k[(k[e>>2]|0)+136>>2]|0)-1;k[l>>2]=(k[(k[e>>2]|0)+88>>2]|0)+((k[f>>2]|0)*20|0);if((k[j>>2]|0)<0?(i[(k[l>>2]|0)+1>>0]|0)==0:0){e=k[h>>2]|0;if((k[j>>2]|0)==-14){k[(k[l>>2]|0)+16>>2]=e;i[(k[l>>2]|0)+1>>0]=-14;r=m;return}if(!e){r=m;return}k[(k[l>>2]|0)+16>>2]=k[h>>2];i[(k[l>>2]|0)+1>>0]=k[j>>2];if((k[j>>2]|0)!=-10){r=m;return}rI(k[h>>2]|0);r=m;return}qI(k[e>>2]|0,k[l>>2]|0,k[h>>2]|0,k[j>>2]|0);r=m;return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+40|0;e=p+36|0;f=p+32|0;n=p+28|0;m=p+24|0;h=p+20|0;g=p+16|0;c=p+12|0;o=p;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[n>>2]=j[(k[e>>2]|0)+400>>1];k[m>>2]=k[(k[e>>2]|0)+44>>2];k[h>>2]=k[(k[e>>2]|0)+40>>2];k[g>>2]=k[(k[e>>2]|0)+108>>2];k[m>>2]=(k[m>>2]|0)+(k[h>>2]|0);if((k[h>>2]|0)==0&(k[m>>2]|0)>0)k[m>>2]=(k[m>>2]|0)+1;k[c>>2]=((k[(k[d>>2]|0)+136>>2]|0)*20|0)+7&-8;k[o>>2]=(k[(k[d>>2]|0)+88>>2]|0)+(k[c>>2]|0);k[o+4>>2]=(k[(k[e>>2]|0)+52>>2]|0)-(k[c>>2]|0)&-8;KF(k[d>>2]|0,g);if(l[(k[e>>2]|0)+20>>0]|0)c=(l[(k[e>>2]|0)+21>>0]|0)!=0;else c=0;b=(k[d>>2]|0)+144|0;j[b>>1]=j[b>>1]&-65|(c&1)<<6&65535;if((k[m>>2]|0)<10?(l[(k[e>>2]|0)+409>>0]|0)!=0:0)k[m>>2]=10;b=(k[d>>2]|0)+144|0;j[b>>1]=j[b>>1]&-2;do{k[o+8>>2]=0;b=pI(o,k[(k[d>>2]|0)+92>>2]|0,(k[m>>2]|0)*40|0)|0;k[(k[d>>2]|0)+92>>2]=b;b=pI(o,k[(k[d>>2]|0)+116>>2]|0,(k[n>>2]|0)*40|0)|0;k[(k[d>>2]|0)+116>>2]=b;b=pI(o,k[(k[d>>2]|0)+96>>2]|0,k[g>>2]<<2)|0;k[(k[d>>2]|0)+96>>2]=b;b=pI(o,k[(k[d>>2]|0)+112>>2]|0,k[h>>2]<<2)|0;k[(k[d>>2]|0)+112>>2]=b;if(!(k[o+8>>2]|0))break;b=k[o+8>>2]|0;b=dx(k[f>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[d>>2]|0)+180>>2]=b;k[o>>2]=b;k[o+4>>2]=k[o+8>>2]}while((i[(k[f>>2]|0)+69>>0]|0)!=0^1);j[(k[d>>2]|0)+18>>1]=k[(k[e>>2]|0)+404>>2];k[(k[d>>2]|0)+120>>2]=k[(k[e>>2]|0)+428>>2];k[(k[e>>2]|0)+404>>2]=0;k[(k[e>>2]|0)+428>>2]=0;o=(k[d>>2]|0)+144|0;j[o>>1]=j[o>>1]&-13|(l[(k[e>>2]|0)+409>>0]&3)<<2&65535;if(i[(k[f>>2]|0)+69>>0]|0){j[(k[d>>2]|0)+16>>1]=0;k[(k[d>>2]|0)+28>>2]=0;k[(k[d>>2]|0)+24>>2]=0;o=k[d>>2]|0;eh(o);r=p;return}else{k[(k[d>>2]|0)+28>>2]=k[h>>2];j[(k[d>>2]|0)+16>>1]=k[n>>2];ZC(k[(k[d>>2]|0)+116>>2]|0,k[n>>2]|0,k[f>>2]|0,1);k[(k[d>>2]|0)+24>>2]=k[m>>2];ZC(k[(k[d>>2]|0)+92>>2]|0,k[m>>2]|0,k[f>>2]|0,128);dS(k[(k[d>>2]|0)+112>>2]|0,0,k[h>>2]<<2|0)|0;o=k[d>>2]|0;eh(o);r=p;return}}function Yh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;p=s+24|0;o=s+16|0;h=s+8|0;i=s+52|0;l=s;m=s+48|0;n=s+44|0;q=s+40|0;e=s+36|0;f=s+32|0;g=s+28|0;k[i>>2]=a;a=l;k[a>>2]=b;k[a+4>>2]=c;k[m>>2]=d;k[q>>2]=0;k[e>>2]=k[(k[i>>2]|0)+20>>2];c=l;a=k[c+4>>2]|0;d=k[(k[e>>2]|0)+116>>2]|0;k[d>>2]=k[c>>2];k[d+4>>2]=a;d=De(k[(k[i>>2]|0)+20>>2]|0)|0;k[n>>2]=d;do if((k[n>>2]|0)==100){k[f>>2]=k[k[(k[e>>2]|0)+112>>2]>>2];k[g>>2]=k[(k[f>>2]|0)+80+(k[(k[i>>2]|0)+12>>2]<<2)>>2];b=k[i>>2]|0;if((k[g>>2]|0)>>>0>=12){k[(k[i>>2]|0)+8>>2]=k[(k[f>>2]|0)+80+((k[b+12>>2]|0)+(j[(k[f>>2]|0)+12>>1]|0)<<2)>>2];h=mG(k[g>>2]|0)|0;k[(k[i>>2]|0)+4>>2]=h;k[(k[i>>2]|0)+16>>2]=k[(k[f>>2]|0)+16>>2];oI(k[(k[i>>2]|0)+16>>2]|0);break}c=k[b+24>>2]|0;if(!(k[g>>2]|0))b=39718;else b=(k[g>>2]|0)==7?39705:39710;k[h>>2]=b;h=Qh(c,39723,h)|0;k[q>>2]=h;k[n>>2]=1;fe(k[(k[i>>2]|0)+20>>2]|0)|0;k[(k[i>>2]|0)+20>>2]=0}while(0);if((k[n>>2]|0)==100){k[n>>2]=0;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}if(!(k[(k[i>>2]|0)+20>>2]|0)){p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}b=fe(k[(k[i>>2]|0)+20>>2]|0)|0;k[n>>2]=b;k[(k[i>>2]|0)+20>>2]=0;b=k[(k[i>>2]|0)+24>>2]|0;if(!(k[n>>2]|0)){i=l;l=k[i+4>>2]|0;p=o;k[p>>2]=k[i>>2];k[p+4>>2]=l;p=Qh(b,39752,o)|0;k[q>>2]=p;k[n>>2]=1;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}else{o=mf(k[(k[i>>2]|0)+24>>2]|0)|0;k[p>>2]=o;p=Qh(b,18391,p)|0;k[q>>2]=p;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}return 0}function Zh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=k[k[b>>2]>>2];bg(k[c>>2]|0,k[(k[b>>2]|0)+76>>2]|0);ov(k[c>>2]|0,k[(k[b>>2]|0)+80>>2]|0);if(k[c>>2]|0){a=(k[c>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)-(l[(k[b>>2]|0)+24>>0]|0)}i[(k[b>>2]|0)+24>>0]=0;r=d;return}function _h(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if(!(l[(k[f>>2]|0)+66>>0]|0)){k[e>>2]=4;j=k[e>>2]|0;r=m;return j|0}if((l[(k[f>>2]|0)+66>>0]|0|0)>=3)c=OF(k[f>>2]|0)|0;else c=0;k[j>>2]=c;if(!(k[j>>2]|0)){i=$F(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0)|0;k[j>>2]=i}k[e>>2]=k[j>>2];j=k[e>>2]|0;r=m;return j|0}function $h(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;f=q+36|0;s=q+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;n=q+12|0;m=q+8|0;o=q+4|0;l=q;k[s>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[m>>2]=k[s>>2];if(!(k[m>>2]|0)){s=Vf(84716)|0;k[f>>2]=s;s=k[f>>2]|0;r=q;return s|0}k[l>>2]=k[(k[m>>2]|0)+24>>2];k[o>>2]=k[(k[m>>2]|0)+20>>2];do if(!((k[h>>2]|0)<0|(k[i>>2]|0)<0)?(a=k[i>>2]|0,b=k[h>>2]|0,b=$R(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=L,s=k[(k[m>>2]|0)+4>>2]|0,e=((s|0)<0)<<31>>31,!((a|0)>(e|0)|(a|0)==(e|0)&b>>>0>s>>>0)):0){if(!(k[o>>2]|0)){k[n>>2]=4;break}nI(k[(k[m>>2]|0)+16>>2]|0);s=ec[k[j>>2]&255](k[(k[m>>2]|0)+16>>2]|0,(k[i>>2]|0)+(k[(k[m>>2]|0)+8>>2]|0)|0,k[h>>2]|0,k[g>>2]|0)|0;k[n>>2]=s;if((k[n>>2]|0)==4){bh(k[o>>2]|0)|0;k[(k[m>>2]|0)+20>>2]=0;break}else{k[(k[o>>2]|0)+40>>2]=k[n>>2];break}}else p=5;while(0);if((p|0)==5)k[n>>2]=1;vg(k[l>>2]|0,k[n>>2]|0);s=ch(k[l>>2]|0,k[n>>2]|0)|0;k[n>>2]=s;k[f>>2]=k[n>>2];s=k[f>>2]|0;r=q;return s|0}function ai(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+4>>2];while(1){if(!(k[b>>2]|0))break;d=(k[b>>2]|0)+144|0;j[d>>1]=j[d>>1]&-2|1;k[b>>2]=k[(k[b>>2]|0)+8>>2]}r=c;return}function bi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;p=x+32|0;q=x+28|0;m=x+24|0;j=x+20|0;o=x+56|0;h=x+16|0;n=x+12|0;f=x+8|0;g=x+4|0;e=x;k[t>>2]=a;k[u>>2]=b;k[v>>2]=c;k[w>>2]=d;k[m>>2]=l[(k[v>>2]|0)+1>>0];k[j>>2]=l[k[v>>2]>>0];i[o>>0]=i[(k[v>>2]|0)+3>>0]|0;k[h>>2]=0;a:while(1){if((l[k[t>>2]>>0]|0)<128){d=k[t>>2]|0;k[t>>2]=d+1;d=l[d>>0]|0}else d=TC(t)|0;k[p>>2]=d;if(!d){a=83;break}if((k[p>>2]|0)==(k[j>>2]|0)){a=7;break}do if((k[p>>2]|0)==(k[w>>2]|0)){if(!(l[(k[v>>2]|0)+2>>0]|0)){b=TC(t)|0;k[p>>2]=b;if(!(k[p>>2]|0)){a=49;break a}k[h>>2]=k[t>>2];break}k[f>>2]=0;k[g>>2]=0;k[e>>2]=0;b=TC(u)|0;k[p>>2]=b;if(!(k[p>>2]|0)){a=52;break a}b=TC(t)|0;k[q>>2]=b;if((k[q>>2]|0)==94){k[e>>2]=1;b=TC(t)|0;k[q>>2]=b}if((k[q>>2]|0)==93){if((k[p>>2]|0)==93)k[g>>2]=1;b=TC(t)|0;k[q>>2]=b}while(1){d=k[q>>2]|0;if(!((k[q>>2]|0)!=0?(k[q>>2]|0)!=93:0))break;if(((d|0)==45?(l[k[t>>2]>>0]|0)!=93:0)?((k[f>>2]|0)>>>0>0?(l[k[t>>2]>>0]|0)!=0:0):0){b=TC(t)|0;k[q>>2]=b;if((k[p>>2]|0)>>>0>=(k[f>>2]|0)>>>0?(k[p>>2]|0)>>>0<=(k[q>>2]|0)>>>0:0)k[g>>2]=1;k[f>>2]=0}else{if((k[p>>2]|0)==(k[q>>2]|0))k[g>>2]=1;k[f>>2]=k[q>>2]}b=TC(t)|0;k[q>>2]=b}if(!d){a=73;break a}if(!(k[g>>2]^k[e>>2])){a=73;break a}else continue a}while(0);if((l[k[u>>2]>>0]|0)<128){d=k[u>>2]|0;k[u>>2]=d+1;d=l[d>>0]|0}else d=TC(u)|0;k[q>>2]=d;if((k[p>>2]|0)==(k[q>>2]|0))continue;if((l[o>>0]|0)!=0?((k[p>>2]|0)>>>0<128?(l[17613+(k[p>>2]&255)>>0]|0)==(l[17613+(k[q>>2]&255)>>0]|0):0)&(k[q>>2]|0)>>>0<128:0)continue;if((k[p>>2]|0)!=(k[m>>2]|0)){a=82;break}if(!((k[q>>2]|0)!=0?(k[t>>2]|0)!=(k[h>>2]|0):0)){a=82;break}}if((a|0)==7){while(1){a=0;if((l[k[t>>2]>>0]|0)<128){d=k[t>>2]|0;k[t>>2]=d+1;d=l[d>>0]|0}else d=TC(t)|0;k[p>>2]=d;if((d|0)==(k[j>>2]|0))d=1;else d=(k[p>>2]|0)==(k[m>>2]|0);c=k[p>>2]|0;if(!d)break;if((c|0)!=(k[m>>2]|0)){a=7;continue}if(!(TC(u)|0)){a=15;break}else a=7}if((a|0)==15){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}if(!c){k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}do if((k[p>>2]|0)==(k[w>>2]|0)){if(!(l[(k[v>>2]|0)+2>>0]|0)){m=TC(t)|0;k[p>>2]=m;if(k[p>>2]|0)break;k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}b:while(1){if(l[k[u>>2]>>0]|0)d=(bi((k[t>>2]|0)+-1|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)==0;else d=0;c=k[u>>2]|0;if(!d)break;k[u>>2]=c+1;if((l[c>>0]|0)<192)continue;while(1){if((l[k[u>>2]>>0]&192|0)!=128)continue b;k[u>>2]=(k[u>>2]|0)+1}}k[s>>2]=(l[c>>0]|0)!=0&1;w=k[s>>2]|0;r=x;return w|0}while(0);c:do if((k[p>>2]|0)>>>0<=128){d=k[p>>2]|0;if(i[o>>0]|0){k[n>>2]=d&~(l[18403+(k[p>>2]&255)>>0]&32);k[p>>2]=l[17613+(k[p>>2]&255)>>0]}else k[n>>2]=d;while(1){o=k[u>>2]|0;k[u>>2]=o+1;o=l[o>>0]|0;k[q>>2]=o;if(!o)break c;if((k[q>>2]|0)!=(k[p>>2]|0)?(k[q>>2]|0)!=(k[n>>2]|0):0)continue;if(bi(k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)break}k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}else{while(1){if((l[k[u>>2]>>0]|0)<128){d=k[u>>2]|0;k[u>>2]=d+1;d=l[d>>0]|0}else d=TC(u)|0;k[q>>2]=d;if(!d)break c;if((k[q>>2]|0)!=(k[p>>2]|0))continue;if(bi(k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)break}k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}while(0);k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==49){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==52){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==73){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==82){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==83){k[s>>2]=(l[k[u>>2]>>0]|0)==0&1;w=k[s>>2]|0;r=x;return w|0}return 0}function ci(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(k[c>>2]|0)){$H(39691);k[b>>2]=0}else{k[d>>2]=k[(k[c>>2]|0)+84>>2];if((k[d>>2]|0)==-1607883113){k[b>>2]=1;break}if(ei(k[c>>2]|0)|0)$H(39696);k[b>>2]=0}while(0);r=e;return k[b>>2]|0}function di(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;h=s+32|0;i=s+28|0;j=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[k[o>>2]>>2]=0;b=(ci(k[i>>2]|0)|0)==0;if(b|(k[j>>2]|0)==0){b=Vf(114197)|0;k[h>>2]=b;b=k[h>>2]|0;r=s;return b|0}Yf(k[i>>2]|0);b=aI(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[q>>2]=b;if((k[q>>2]|0)==17){fe(k[k[o>>2]>>2]|0)|0;b=aI(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[q>>2]=b}k[h>>2]=k[q>>2];b=k[h>>2]|0;r=s;return b|0}function ei(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;b=c+8|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[(k[e>>2]|0)+84>>2];if((k[d>>2]|0)!=1266094736&(k[d>>2]|0)!=-1607883113&(k[d>>2]|0)!=-264537850){$H(39538);k[b>>2]=0;e=k[b>>2]|0;r=c;return e|0}else{k[b>>2]=1;e=k[b>>2]|0;r=c;return e|0}return 0}function fi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;n=q+8|0;m=q+4|0;p=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[o>>2]=0;b=Tf(k[g>>2]|0)|0;k[l>>2]=b;if(!(Cj((k[f>>2]|0)+320|0,k[g>>2]|0)|0)){b=dx(k[f>>2]|0,20+(k[l>>2]|0)+1|0,0)|0;k[n>>2]=b;if((k[n>>2]|0)!=0?(k[p>>2]=(k[n>>2]|0)+20,bS(k[p>>2]|0,k[g>>2]|0,(k[l>>2]|0)+1|0)|0,k[(k[n>>2]|0)+4>>2]=k[p>>2],k[k[n>>2]>>2]=k[h>>2],k[(k[n>>2]|0)+8>>2]=k[i>>2],k[(k[n>>2]|0)+12>>2]=k[j>>2],k[(k[n>>2]|0)+16>>2]=0,b=ck((k[f>>2]|0)+320|0,k[p>>2]|0,k[n>>2]|0)|0,k[m>>2]=b,(k[m>>2]|0)!=0):0){wh(k[f>>2]|0);bg(k[f>>2]|0,k[m>>2]|0)}}else{b=Vf(122590)|0;k[o>>2]=b}b=ch(k[f>>2]|0,k[o>>2]|0)|0;k[o>>2]=b;if(!((k[o>>2]|0)!=0&(k[j>>2]|0)!=0)){b=k[o>>2]|0;r=q;return b|0}_b[k[j>>2]&255](k[i>>2]|0);b=k[o>>2]|0;r=q;return b|0}function gi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+80|0;d=z+72|0;p=z+16|0;o=z+8|0;n=z;s=z+68|0;t=z+64|0;e=z+60|0;f=z+56|0;w=z+52|0;v=z+48|0;j=z+44|0;m=z+40|0;g=z+36|0;u=z+32|0;h=z+28|0;x=z+24|0;y=z+20|0;k[t>>2]=a;k[e>>2]=b;k[f>>2]=c;k[w>>2]=0;k[g>>2]=-1;k[u>>2]=k[k[t>>2]>>2];k[h>>2]=k[(k[u>>2]|0)+96+4>>2];if(!(k[(k[u>>2]|0)+156>>2]|0))k[(k[u>>2]|0)+248>>2]=0;k[(k[t>>2]|0)+12>>2]=0;k[(k[t>>2]|0)+436>>2]=k[e>>2];k[v>>2]=0;b=iv(179)|0;k[j>>2]=b;if(!(k[j>>2]|0)){wh(k[u>>2]|0);k[s>>2]=7;y=k[s>>2]|0;r=z;return y|0}a:while(1){do if(i[(k[e>>2]|0)+(k[v>>2]|0)>>0]|0){k[(k[t>>2]|0)+392>>2]=(k[e>>2]|0)+(k[v>>2]|0);b=jv((k[e>>2]|0)+(k[v>>2]|0)|0,m)|0;k[(k[t>>2]|0)+392+4>>2]=b;k[v>>2]=(k[v>>2]|0)+(k[(k[t>>2]|0)+392+4>>2]|0);if((k[v>>2]|0)>(k[h>>2]|0)){q=7;break a}}else{if((k[g>>2]|0)==1){k[m>>2]=0;break}if(!(k[g>>2]|0))break a;k[m>>2]=1}while(0);if((k[m>>2]|0)>=162){if(k[(k[u>>2]|0)+248>>2]|0){q=14;break}if((k[m>>2]|0)==163){q=16;break}else continue}else{a=k[j>>2]|0;c=k[m>>2]|0;A=(k[t>>2]|0)+392|0;b=k[t>>2]|0;k[d>>2]=k[A>>2];k[d+4>>2]=k[A+4>>2];kv(a,c,d,b);k[g>>2]=k[m>>2];if(k[(k[t>>2]|0)+12>>2]|0)break;if(l[(k[u>>2]|0)+69>>0]|0)break;else continue}}if((q|0)==7)k[(k[t>>2]|0)+12>>2]=18;else if((q|0)==14)k[(k[t>>2]|0)+12>>2]=9;else if((q|0)==16){A=k[t>>2]|0;k[n>>2]=(k[t>>2]|0)+392;Oh(A,26437,n)}k[(k[t>>2]|0)+436>>2]=(k[e>>2]|0)+(k[v>>2]|0);lv(k[j>>2]|0,148);if(i[(k[u>>2]|0)+69>>0]|0)k[(k[t>>2]|0)+12>>2]=7;if(((k[(k[t>>2]|0)+12>>2]|0)!=0?(k[(k[t>>2]|0)+12>>2]|0)!=101:0)?(k[(k[t>>2]|0)+4>>2]|0)==0:0){A=k[u>>2]|0;q=vh(k[(k[t>>2]|0)+12>>2]|0)|0;k[o>>2]=q;A=Qh(A,18391,o)|0;k[(k[t>>2]|0)+4>>2]=A}if(k[(k[t>>2]|0)+4>>2]|0){k[k[f>>2]>>2]=k[(k[t>>2]|0)+4>>2];A=k[(k[t>>2]|0)+12>>2]|0;k[p>>2]=k[k[f>>2]>>2];$d(A,18391,p);k[(k[t>>2]|0)+4>>2]=0;k[w>>2]=(k[w>>2]|0)+1}if(((k[(k[t>>2]|0)+8>>2]|0)!=0?(k[(k[t>>2]|0)+36>>2]|0)>0:0)?(l[(k[t>>2]|0)+18>>0]|0)==0:0){mv(k[(k[t>>2]|0)+8>>2]|0);k[(k[t>>2]|0)+8>>2]=0}if(!(l[(k[t>>2]|0)+18>>0]|0)){bg(k[u>>2]|0,k[(k[t>>2]|0)+116>>2]|0);k[(k[t>>2]|0)+116>>2]=0;k[(k[t>>2]|0)+112>>2]=0}Ud(k[(k[t>>2]|0)+460>>2]|0);if(!(i[(k[t>>2]|0)+410>>0]|0))$f(k[u>>2]|0,k[(k[t>>2]|0)+440>>2]|0);if(k[(k[t>>2]|0)+476>>2]|0)nv(k[u>>2]|0,k[(k[t>>2]|0)+476>>2]|0);_f(k[u>>2]|0,k[(k[t>>2]|0)+444>>2]|0);k[v>>2]=(k[(k[t>>2]|0)+404>>2]|0)-1;while(1){d=k[u>>2]|0;if((k[v>>2]|0)<0)break;bg(d,k[(k[(k[t>>2]|0)+428>>2]|0)+(k[v>>2]<<2)>>2]|0);k[v>>2]=(k[v>>2]|0)+-1}bg(d,k[(k[t>>2]|0)+428>>2]|0);while(1){if(!(k[(k[t>>2]|0)+120>>2]|0))break;k[x>>2]=k[(k[t>>2]|0)+120>>2];k[(k[t>>2]|0)+120>>2]=k[k[x>>2]>>2];bg(k[u>>2]|0,k[x>>2]|0)}while(1){if(!(k[(k[t>>2]|0)+464>>2]|0))break;k[y>>2]=k[(k[t>>2]|0)+464>>2];k[(k[t>>2]|0)+464>>2]=k[(k[y>>2]|0)+68>>2];$f(k[u>>2]|0,k[y>>2]|0)}k[s>>2]=k[w>>2];A=k[s>>2]|0;r=z;return A|0}function hi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ch(k[b>>2]|0,40,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}j[(k[c>>2]|0)+8>>1]=1;k[(k[c>>2]|0)+32>>2]=k[b>>2];c=k[c>>2]|0;r=d;return c|0}function ii(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m+16|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[j>>0]=d;k[l>>2]=e;if(!(k[f>>2]|0)){r=m;return}qh(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0,i[j>>0]|0,k[l>>2]|0)|0;r=m;return}function ji(){var a=0,b=0;a=r;r=r+16|0;b=a;k[b>>2]=4220;wf(4,b)|0;r=a;return}function ki(){return 88}function li(){return 40}function mi(){return 32}function ni(){var a=0,b=0;a=r;r=r+16|0;b=a;k[b>>2]=4168;wf(18,b)|0;r=a;return}function oi(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Fu(k[(k[c>>2]|0)+212>>2]|0);r=b;return}function pi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=0;a=a&1;r=c;return a|0}a=(l[(k[b>>2]|0)+8>>0]|0|0)==2;a=a&1;r=c;return a|0}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;l=p+12|0;o=p+8|0;m=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;if(k[(k[f>>2]|0)+256+8>>2]|0){k[e>>2]=5;c=k[e>>2]|0;r=p;return c|0}if(i[(k[f>>2]|0)+256+6>>0]|0)Ud(k[(k[f>>2]|0)+256+32>>2]|0);c=k[h>>2]&-8;k[h>>2]=c;k[h>>2]=(k[h>>2]|0)<=4?0:c;if((k[l>>2]|0)<0)k[l>>2]=0;do if(!((k[h>>2]|0)==0|(k[l>>2]|0)==0)){if(k[g>>2]|0){k[o>>2]=k[g>>2];break}gk();c=ha(k[h>>2]|0,k[l>>2]|0)|0;c=jg(c,((c|0)<0)<<31>>31)|0;k[o>>2]=c;hk();if(k[o>>2]|0){c=kg(k[o>>2]|0)|0;k[l>>2]=(c|0)/(k[h>>2]|0)|0}}else{k[h>>2]=0;k[o>>2]=0}while(0);k[(k[f>>2]|0)+256+32>>2]=k[o>>2];k[(k[f>>2]|0)+256+28>>2]=0;j[(k[f>>2]|0)+256+4>>1]=k[h>>2];if(k[o>>2]|0){k[n>>2]=k[o>>2];k[m>>2]=(k[l>>2]|0)-1;while(1){if((k[m>>2]|0)<0)break;k[k[n>>2]>>2]=k[(k[f>>2]|0)+256+28>>2];k[(k[f>>2]|0)+256+28>>2]=k[n>>2];k[n>>2]=(k[n>>2]|0)+(k[h>>2]|0);k[m>>2]=(k[m>>2]|0)+-1}k[(k[f>>2]|0)+256+36>>2]=k[n>>2];k[(k[f>>2]|0)+256>>2]=0;i[(k[f>>2]|0)+256+6>>0]=(k[g>>2]|0)==0?1:0}else{k[(k[f>>2]|0)+256+32>>2]=k[f>>2];k[(k[f>>2]|0)+256+36>>2]=k[f>>2];k[(k[f>>2]|0)+256>>2]=1;i[(k[f>>2]|0)+256+6>>0]=0}k[e>>2]=0;c=k[e>>2]|0;r=p;return c|0}function ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}if(!(ei(k[d>>2]|0)|0)){f=Vf(138867)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}if((l[(k[d>>2]|0)+76>>0]|0)&8)ec[k[(k[d>>2]|0)+184>>2]&255](8,k[(k[d>>2]|0)+188>>2]|0,k[d>>2]|0,0)|0;xu(k[d>>2]|0);yu(k[d>>2]|0)|0;if((k[e>>2]|0)==0?(zu(k[d>>2]|0)|0)!=0:0){tg(k[d>>2]|0,5,26295,f);k[c>>2]=5;f=k[c>>2]|0;r=g;return f|0}k[(k[d>>2]|0)+84>>2]=1691352191;_g(k[d>>2]|0);k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}function si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;c=e+16|0;h=e+12|0;g=e+8|0;d=e+4|0;f=e;k[h>>2]=a;k[g>>2]=b;k[d>>2]=k[h>>2];k[f>>2]=k[(k[h>>2]|0)+428>>2];if((((k[g>>2]|0)+1|0)*1e3|0)>(k[f>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=e;return h|0}else{Gi(k[k[d>>2]>>2]|0,1e6)|0;k[c>>2]=1;h=k[c>>2]|0;r=e;return h|0}return 0} -function ti(a,b,c,d,e,f,g,h,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+64|0;C=D;p=D+56|0;q=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;y=D+24|0;z=D+20|0;B=D+16|0;n=D+12|0;A=D+8|0;o=D+4|0;k[q>>2]=a;k[s>>2]=b;k[t>>2]=c;k[u>>2]=d;k[v>>2]=e;k[w>>2]=f;k[x>>2]=g;k[y>>2]=h;k[z>>2]=l;do if(k[s>>2]|0){if((k[w>>2]|0)!=0?(k[y>>2]|0)!=0|(k[x>>2]|0)!=0:0)break;if(((k[w>>2]|0)==0&(k[y>>2]|0)!=0^1|(k[x>>2]|0)!=0?!((((k[w>>2]|0)!=0|(k[y>>2]|0)!=0)^1)&(k[x>>2]|0)!=0|(k[t>>2]|0)<-1|(k[t>>2]|0)>127):0)?(b=Tf(k[s>>2]|0)|0,k[n>>2]=b,255>=(b|0)):0){k[A>>2]=k[u>>2]&2048;k[u>>2]=k[u>>2]&7;do if((k[u>>2]|0)!=4){if((k[u>>2]|0)==5){b=ti(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,1|k[A>>2],k[v>>2]|0,k[w>>2]|0,k[x>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[o>>2]=b;if(!(k[o>>2]|0)){b=ti(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,2|k[A>>2],k[v>>2]|0,k[w>>2]|0,k[x>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[o>>2]=b}if(!(k[o>>2]|0)){k[u>>2]=3;break}k[p>>2]=k[o>>2];C=k[p>>2]|0;r=D;return C|0}}else k[u>>2]=(i[968]|0)==0?3:2;while(0);b=ui(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]&255,0)|0;k[B>>2]=b;do if(((k[B>>2]|0)!=0?(m[(k[B>>2]|0)+2>>1]&3|0)==(k[u>>2]|0):0)?(i[k[B>>2]>>0]|0)==(k[t>>2]|0):0){a=k[q>>2]|0;if(!(k[(k[q>>2]|0)+156>>2]|0)){ai(a);break}tg(a,5,26232,C);k[p>>2]=5;C=k[p>>2]|0;r=D;return C|0}while(0);C=ui(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]&255,1)|0;k[B>>2]=C;if(!(k[B>>2]|0)){k[p>>2]=7;C=k[p>>2]|0;r=D;return C|0}wu(k[q>>2]|0,k[B>>2]|0);if(k[z>>2]|0){C=k[z>>2]|0;k[C>>2]=(k[C>>2]|0)+1}k[(k[B>>2]|0)+24>>2]=k[z>>2];j[(k[B>>2]|0)+2>>1]=m[(k[B>>2]|0)+2>>1]&3|k[A>>2];k[(k[B>>2]|0)+12>>2]=(k[w>>2]|0)!=0?k[w>>2]|0:k[x>>2]|0;k[(k[B>>2]|0)+16>>2]=k[y>>2];k[(k[B>>2]|0)+4>>2]=k[v>>2];i[k[B>>2]>>0]=k[t>>2];k[p>>2]=0;C=k[p>>2]|0;r=D;return C|0}}while(0);C=Vf(139436)|0;k[p>>2]=C;C=k[p>>2]|0;r=D;return C|0}function ui(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;f=y+44|0;g=y+40|0;h=y+36|0;m=y+32|0;n=y+49|0;o=y+48|0;t=y+28|0;u=y+24|0;p=y+20|0;q=y+16|0;s=y+12|0;w=y+8|0;x=y+4|0;v=y;k[g>>2]=a;k[h>>2]=b;k[m>>2]=c;i[n>>0]=d;i[o>>0]=e;k[u>>2]=0;k[p>>2]=0;b=Tf(k[h>>2]|0)|0;k[s>>2]=b;b=Cj((k[g>>2]|0)+348|0,k[h>>2]|0)|0;k[t>>2]=b;while(1){if(!(k[t>>2]|0))break;b=qu(k[t>>2]|0,k[m>>2]|0,i[n>>0]|0)|0;k[w>>2]=b;if((k[w>>2]|0)>(k[p>>2]|0)){k[u>>2]=k[t>>2];k[p>>2]=k[w>>2]}k[t>>2]=k[(k[t>>2]|0)+8>>2]}a:do if(!(i[o>>0]|0)){if((k[u>>2]|0)!=0?(k[(k[g>>2]|0)+24>>2]&2097152|0)==0:0)break;k[p>>2]=0;k[q>>2]=((l[17613+(l[k[h>>2]>>0]|0)>>0]|0)+(k[s>>2]|0)|0)%23|0;b=ru(k[q>>2]|0,k[h>>2]|0)|0;k[t>>2]=b;while(1){if(!(k[t>>2]|0))break a;b=qu(k[t>>2]|0,k[m>>2]|0,i[n>>0]|0)|0;k[x>>2]=b;if((k[x>>2]|0)>(k[p>>2]|0)){k[u>>2]=k[t>>2];k[p>>2]=k[x>>2]}k[t>>2]=k[(k[t>>2]|0)+8>>2]}}while(0);do if((l[o>>0]|0)!=0&(k[p>>2]|0)<6?(b=Ch(k[g>>2]|0,28+(k[s>>2]|0)+1|0,0)|0,k[u>>2]=b,(b|0)!=0):0){k[(k[u>>2]|0)+20>>2]=(k[u>>2]|0)+28;i[k[u>>2]>>0]=k[m>>2];j[(k[u>>2]|0)+2>>1]=l[n>>0]|0;bS((k[u>>2]|0)+28|0,k[h>>2]|0,(k[s>>2]|0)+1|0)|0;b=ck((k[g>>2]|0)+348|0,k[(k[u>>2]|0)+20>>2]|0,k[u>>2]|0)|0;k[v>>2]=b;if((k[v>>2]|0)!=(k[u>>2]|0)){k[(k[u>>2]|0)+8>>2]=k[v>>2];break}bg(k[g>>2]|0,k[u>>2]|0);wh(k[g>>2]|0);k[f>>2]=0;b=k[f>>2]|0;r=y;return b|0}while(0);do if(k[u>>2]|0){if((k[(k[u>>2]|0)+12>>2]|0)==0?(l[o>>0]|0)==0:0)break;k[f>>2]=k[u>>2];b=k[f>>2]|0;r=y;return b|0}while(0);k[f>>2]=0;b=k[f>>2]|0;r=y;return b|0}function vi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d;f=d+20|0;h=d+8|0;e=d+4|0;k[f>>2]=a;k[d+16>>2]=b;k[d+12>>2]=c;k[h>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+20>>2];k[g>>2]=k[h>>2];a=Yd(26181,g)|0;k[e>>2]=a;se(k[f>>2]|0,k[e>>2]|0,-1);Ud(k[e>>2]|0);r=d;return}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=r;r=r+16|0;h=g+12|0;e=g+8|0;f=g+4|0;i=g;k[h>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=d;if((k[i>>2]|0)<(k[h>>2]|0)){r=g;return 0}gk();Mf(k[e>>2]|0,k[f>>2]|0)|0;hk();r=g;return 0}function xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=-1;if(!(k[d>>2]|0)){f=k[f>>2]|0;r=g;return f|0}k[f>>2]=(k[(k[c>>2]|0)+20>>2]|0)-1;k[e>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4);while(1){if((k[f>>2]|0)<0){c=6;break}if(!(sg(k[k[e>>2]>>2]|0,k[d>>2]|0)|0)){c=6;break}k[f>>2]=(k[f>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+-16}if((c|0)==6){f=k[f>>2]|0;r=g;return f|0}return 0}function yi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=0;k[l>>2]=0;k[m>>2]=0;while(1){if(!((k[m>>2]|0)<(k[(k[f>>2]|0)+20>>2]|0)?(k[n>>2]|0)==0:0))break;if(((k[g>>2]|0)==10?1:(k[m>>2]|0)==(k[g>>2]|0))?(d=ou(k[(k[(k[f>>2]|0)+16>>2]|0)+(k[m>>2]<<4)+4>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0)|0,k[n>>2]=d,k[i>>2]=0,k[j>>2]=0,(k[n>>2]|0)==5):0){k[l>>2]=1;k[n>>2]=0}k[m>>2]=(k[m>>2]|0)+1}r=o;return ((k[n>>2]|0)==0&(k[l>>2]|0)!=0?5:k[n>>2]|0)|0}function zi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(l[(k[b>>2]|0)+69>>0]|0)){r=c;return}if(k[(k[b>>2]|0)+168>>2]|0){r=c;return}i[(k[b>>2]|0)+69>>0]=0;k[(k[b>>2]|0)+248>>2]=0;a=(k[b>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+-1;r=c;return}function Ai(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;o=s;f=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;e=s+12|0;q=s+8|0;p=s+4|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[q>>2]=0;k[p>>2]=0;k[k[h>>2]>>2]=0;d=Nd()|0;k[n>>2]=d;if(k[n>>2]|0){k[f>>2]=k[n>>2];q=k[f>>2]|0;r=s;return q|0}if(!(1<<(k[j>>2]&7)&70)){q=Vf(140621)|0;k[f>>2]=q;q=k[f>>2]|0;r=s;return q|0}do if(k[3]|0){if(k[j>>2]&32768){k[e>>2]=0;break}if(k[j>>2]&65536){k[e>>2]=1;break}else{k[e>>2]=k[4];break}}else k[e>>2]=0;while(0);if(!(k[j>>2]&262144)){if(k[57]|0)k[j>>2]=k[j>>2]|131072}else k[j>>2]=k[j>>2]&-131073;k[j>>2]=k[j>>2]&-655129;d=ug(464,0)|0;k[m>>2]=d;do if(k[m>>2]|0){if((k[e>>2]|0)!=0?(k[(k[m>>2]|0)+12>>2]=8,(k[(k[m>>2]|0)+12>>2]|0)==0):0){Ud(k[m>>2]|0);k[m>>2]=0;break}k[(k[m>>2]|0)+56>>2]=255;k[(k[m>>2]|0)+20>>2]=2;k[(k[m>>2]|0)+84>>2]=-264537850;k[(k[m>>2]|0)+16>>2]=(k[m>>2]|0)+392;c=(k[m>>2]|0)+96|0;e=1580;b=c+48|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(b|0));k[(k[m>>2]|0)+96+44>>2]=0;i[(k[m>>2]|0)+67>>0]=1;i[(k[m>>2]|0)+72>>0]=-1;b=184;a=k[b+4>>2]|0;d=(k[m>>2]|0)+40|0;k[d>>2]=k[b>>2];k[d+4>>2]=a;k[(k[m>>2]|0)+80>>2]=0;k[(k[m>>2]|0)+144>>2]=2147483647;d=(k[m>>2]|0)+24|0;k[d>>2]=k[d>>2]|17825888;Jj((k[m>>2]|0)+364|0);Jj((k[m>>2]|0)+320|0);Bi(k[m>>2]|0,34834,1,0,141,0)|0;Bi(k[m>>2]|0,34834,3,0,141,0)|0;Bi(k[m>>2]|0,34834,2,0,141,0)|0;Bi(k[m>>2]|0,20429,1,0,142,0)|0;Bi(k[m>>2]|0,20436,1,1,141,0)|0;if(!(i[(k[m>>2]|0)+69>>0]|0)){d=ak(k[m>>2]|0,1,34834,0)|0;k[(k[m>>2]|0)+8>>2]=d;k[(k[m>>2]|0)+48>>2]=k[j>>2];l=kk(k[l>>2]|0,k[g>>2]|0,j,k[m>>2]|0,q,p)|0;k[n>>2]=l;if(k[n>>2]|0){if((k[n>>2]|0)==7)wh(k[m>>2]|0);g=k[m>>2]|0;j=k[n>>2]|0;l=(k[p>>2]|0)!=0?18391:0;k[o>>2]=k[p>>2];tg(g,j,l,o);Ud(k[p>>2]|0);break}p=lk(k[k[m>>2]>>2]|0,k[q>>2]|0,k[m>>2]|0,(k[(k[m>>2]|0)+16>>2]|0)+4|0,0,k[j>>2]|256)|0;k[n>>2]=p;if(k[n>>2]|0){if((k[n>>2]|0)==3082)k[n>>2]=7;vg(k[m>>2]|0,k[n>>2]|0);break}wg(k[(k[(k[m>>2]|0)+16>>2]|0)+4>>2]|0);p=mk(k[m>>2]|0,k[(k[(k[m>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[(k[(k[m>>2]|0)+16>>2]|0)+12>>2]=p;if(!(i[(k[m>>2]|0)+69>>0]|0))i[(k[m>>2]|0)+66>>0]=i[(k[(k[(k[m>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;p=mk(k[m>>2]|0,0)|0;k[(k[(k[m>>2]|0)+16>>2]|0)+16+12>>2]=p;k[k[(k[m>>2]|0)+16>>2]>>2]=20442;i[(k[(k[m>>2]|0)+16>>2]|0)+8>>0]=3;k[(k[(k[m>>2]|0)+16>>2]|0)+16>>2]=18672;i[(k[(k[m>>2]|0)+16>>2]|0)+16+8>>0]=1;k[(k[m>>2]|0)+84>>2]=-1607883113;if(!(i[(k[m>>2]|0)+69>>0]|0)){vg(k[m>>2]|0,0);nk(k[m>>2]|0);p=Nf(k[m>>2]|0)|0;k[n>>2]=p;if((k[n>>2]|0)==0?(ok(k[m>>2]|0),p=Nf(k[m>>2]|0)|0,k[n>>2]=p,(k[n>>2]|0)!=0):0)break;if((k[n>>2]|0)==0?(i[(k[m>>2]|0)+69>>0]|0)==0:0){p=pk(k[m>>2]|0)|0;k[n>>2]=p}if(k[n>>2]|0)vg(k[m>>2]|0,k[n>>2]|0);qi(k[m>>2]|0,0,k[9]|0,k[10]|0)|0;Jf(k[m>>2]|0,1e3)|0}}}while(0);p=Nf(k[m>>2]|0)|0;k[n>>2]=p;if((k[n>>2]|0)!=7){if(k[n>>2]|0)k[(k[m>>2]|0)+84>>2]=1266094736}else{Cf(k[m>>2]|0)|0;k[m>>2]=0}k[k[h>>2]>>2]=k[m>>2];Ud(k[q>>2]|0);k[f>>2]=k[n>>2]&255;q=k[f>>2]|0;r=s;return q|0}function Bi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;w=x;g=x+44|0;h=x+40|0;j=x+36|0;m=x+48|0;n=x+32|0;o=x+28|0;p=x+24|0;v=x+20|0;s=x+16|0;q=x+12|0;t=x+8|0;u=x+4|0;k[h>>2]=a;k[j>>2]=b;i[m>>0]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[s>>2]=l[m>>0];if((k[s>>2]|0)==4|(k[s>>2]|0)==8)k[s>>2]=(i[968]|0)==0?3:2;if((k[s>>2]|0)<1|(k[s>>2]|0)>3){w=Vf(140172)|0;k[g>>2]=w;w=k[g>>2]|0;r=x;return w|0}b=ak(k[h>>2]|0,k[s>>2]&255,k[j>>2]|0,0)|0;k[v>>2]=b;a:do if((k[v>>2]|0)!=0?(k[(k[v>>2]|0)+12>>2]|0)!=0:0){a=k[h>>2]|0;if(k[(k[h>>2]|0)+156>>2]|0){tg(a,5,20361,w);k[g>>2]=5;w=k[g>>2]|0;r=x;return w|0}ai(a);if((l[(k[v>>2]|0)+4>>0]&-9|0)==(k[s>>2]|0)){w=Cj((k[h>>2]|0)+364|0,k[j>>2]|0)|0;k[q>>2]=w;k[t>>2]=0;while(1){if((k[t>>2]|0)>=3)break a;k[u>>2]=(k[q>>2]|0)+((k[t>>2]|0)*20|0);if((l[(k[u>>2]|0)+4>>0]|0)==(l[(k[v>>2]|0)+4>>0]|0)){if(k[(k[u>>2]|0)+16>>2]|0)_b[k[(k[u>>2]|0)+16>>2]&255](k[(k[u>>2]|0)+8>>2]|0);k[(k[u>>2]|0)+12>>2]=0}k[t>>2]=(k[t>>2]|0)+1}}}while(0);w=ak(k[h>>2]|0,k[s>>2]&255,k[j>>2]|0,1)|0;k[v>>2]=w;if(!(k[v>>2]|0)){k[g>>2]=7;w=k[g>>2]|0;r=x;return w|0}else{k[(k[v>>2]|0)+12>>2]=k[o>>2];k[(k[v>>2]|0)+8>>2]=k[n>>2];k[(k[v>>2]|0)+16>>2]=k[p>>2];i[(k[v>>2]|0)+4>>0]=k[s>>2]|l[m>>0]&8;vg(k[h>>2]|0,0);k[g>>2]=0;w=k[g>>2]|0;r=x;return w|0}return 0}function Ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+24>>2]&2|0)!=0^1)&1;k[g>>2]=0;i[(k[c>>2]|0)+148+5>>0]=1;i[(k[c>>2]|0)+66>>0]=i[(k[(k[(k[c>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;k[f>>2]=0;while(1){if(k[g>>2]|0)break;if((k[f>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;if(!((k[f>>2]|0)==1?1:((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(b=Fj(k[c>>2]|0,k[f>>2]|0,k[d>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0)Gj(k[c>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}if(((k[g>>2]|0)==0?((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(b=Fj(k[c>>2]|0,1,k[d>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0)Gj(k[c>>2]|0,1);i[(k[c>>2]|0)+148+5>>0]=0;if(!((k[g>>2]|0)==0&(k[e>>2]|0)!=0)){g=k[g>>2]|0;r=h;return g|0}Hj(k[c>>2]|0);g=k[g>>2]|0;r=h;return g|0}function Di(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;i=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){j=7;break}b=k[g>>2]|0;k[h>>2]=(k[g>>2]|0)<2?b^1:b;if(!((k[f>>2]|0)!=0?(sg(k[f>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)!=0:0))j=5;if((j|0)==5?(j=0,b=Cj((k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+8|0,k[e>>2]|0)|0,k[i>>2]=b,(k[i>>2]|0)!=0):0){j=7;break}k[g>>2]=(k[g>>2]|0)+1}if((j|0)==7){r=l;return k[i>>2]|0}return 0}function Ei(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if(sg(k[c>>2]|0,19887)|0){if(!(sg(k[c>>2]|0,19895)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,19901)|0)){k[b>>2]=1;break}else{k[b>>2]=0;break}}else k[b>>2]=1;while(0);r=d;return k[b>>2]|0}function Fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(!((l[(k[d>>2]|0)+15>>0]|0)&4)){k[c>>2]=k[e>>2];b=k[c>>2]|0;r=f;return b|0}else{b=k[k[d>>2]>>2]|0;b=b+(uR(k[k[d>>2]>>2]|0)|0)+1|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}return 0}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[e>>2]|0)+60>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0)){c=8;break}if(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2]|0){if(!(k[c>>2]|0)){c=6;break}if(!(sg(k[c>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0)){c=6;break}}k[f>>2]=(k[f>>2]|0)+1}if((c|0)==6){k[d>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2];f=k[d>>2]|0;r=g;return f|0}else if((c|0)==8){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function Ii(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function Ji(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;if(k[(k[c>>2]|0)+216>>2]|0){c=Bj(k[a+216>>2]|0)|0;r=b;return c|0}else{c=k[a+68>>2]|0;r=b;return c|0}return 0}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Yb[k[(k[k[g>>2]>>2]|0)+40>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return c|0}function Li(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[68];if(!(k[c>>2]|0)){c=0;r=d;return c|0}c=bc[k[c>>2]&255](k[b>>2]|0)|0;r=d;return c|0}function Mi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;n=r;r=r+32|0;e=n+24|0;o=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;l=n+4|0;i=n;k[o>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[i>>2]=k[(k[o>>2]|0)+4>>2];wg(k[o>>2]|0);if((m[(k[i>>2]|0)+22>>1]|0)&2){k[e>>2]=8;o=k[e>>2]|0;r=n;return o|0}if((k[g>>2]|0)<0)k[g>>2]=(k[(k[i>>2]|0)+32>>2]|0)-(k[(k[i>>2]|0)+36>>2]|0);if((k[f>>2]|0)>=512&(k[f>>2]|0)<=65536?((k[f>>2]|0)-1&k[f>>2]|0)==0:0){k[(k[i>>2]|0)+32>>2]=k[f>>2];cj(k[i>>2]|0)}o=dj(k[k[i>>2]>>2]|0,(k[i>>2]|0)+32|0,k[g>>2]|0)|0;k[l>>2]=o;k[(k[i>>2]|0)+36>>2]=(k[(k[i>>2]|0)+32>>2]|0)-(k[g>>2]&65535);if(k[h>>2]|0){o=(k[i>>2]|0)+22|0;j[o>>1]=m[o>>1]|0|2}k[e>>2]=k[l>>2];o=k[e>>2]|0;r=n;return o|0}function Ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;k[c>>2]=55;bj(k[f>>2]|0,k[e>>2]|0,c)|0;r=d;return k[c>>2]|0}function Oi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;$i(8,k[b>>2]|0);if((k[78]|0)!=0?(k[51]|0)>=(k[b>>2]|0):0){k[c>>2]=k[77];k[77]=k[k[77]>>2];k[78]=(k[78]|0)+-1;aj(3,1);c=k[c>>2]|0;r=d;return c|0}a=k[b>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;if(!((k[2]|0)!=0&(k[c>>2]|0)!=0)){c=k[c>>2]|0;r=d;return c|0}aj(4,kg(k[c>>2]|0)|0);c=k[c>>2]|0;r=d;return c|0}function Pi(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}if((k[b>>2]|0)>>>0>=(k[50]|0)>>>0?(k[b>>2]|0)>>>0<(k[76]|0)>>>0:0){k[d>>2]=k[b>>2];k[k[d>>2]>>2]=k[77];k[77]=k[d>>2];k[78]=(k[78]|0)+1;lg(3,1);r=e;return}if(k[2]|0){d=kg(k[b>>2]|0)|0;k[c>>2]=d;lg(4,k[c>>2]|0);lg(0,k[c>>2]|0);lg(9,1);_b[k[52>>2]&255](k[b>>2]|0);r=e;return}else{_b[k[52>>2]&255](k[b>>2]|0);r=e;return}}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c;d=c+4|0;k[e>>2]=a;i[d>>0]=b;a=((Yi(k[e>>2]|0,1,i[d>>0]|0)|0)&255|0)!=0&255;r=c;return a|0}function Ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;h=j+24|0;c=j+20|0;d=j+16|0;g=j;e=j+12|0;f=j+8|0;k[c>>2]=a;k[d>>2]=b;do if((i[k[c>>2]>>0]|0)==48){if((i[(k[c>>2]|0)+1>>0]|0)!=120?(i[(k[c>>2]|0)+1>>0]|0)!=88:0)break;a=g;k[a>>2]=0;k[a+4>>2]=0;k[e>>2]=2;while(1){b=k[e>>2]|0;if((i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)!=48)break;k[e>>2]=b+1}k[f>>2]=b;while(1){if(!(l[18403+(l[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0)>>0]&8))break;a=g;a=kS(k[a>>2]|0,k[a+4>>2]|0,16,0)|0;b=L;b=$R(a|0,b|0,(Vi(i[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0)|0)&255|0,0)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;k[f>>2]=(k[f>>2]|0)+1}d=k[d>>2]|0;k[d>>2]=k[g>>2];k[d+4>>2]=k[g+4>>2];if(!(i[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0))b=((k[f>>2]|0)-(k[e>>2]|0)|0)<=16;else b=0;k[h>>2]=b?0:1;h=k[h>>2]|0;r=j;return h|0}while(0);f=k[c>>2]|0;g=k[d>>2]|0;g=Wi(f,g,Tf(k[c>>2]|0)|0,1)|0;k[h>>2]=g;h=k[h>>2]|0;r=j;return h|0}function Si(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Ui(k[k[(k[c>>2]|0)+4>>2]>>2]|0,1)|0;r=b;return a|0}function Ti(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return ((m[(k[(k[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;if((k[e>>2]|0)!=0?(l[(k[c>>2]|0)+16>>0]|0|0)!=0:0){e=18402;r=d;return e|0}e=k[(k[c>>2]|0)+176>>2]|0;r=d;return e|0}function Vi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;k[b>>2]=(k[b>>2]|0)+((1&k[b>>2]>>6)*9|0);r=c;return k[b>>2]&15|0}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;h=v+48|0;j=v+44|0;m=v+40|0;e=v+36|0;f=v+52|0;p=v+32|0;g=v;q=v+28|0;o=v+24|0;n=v+20|0;s=v+16|0;u=v+12|0;t=v+8|0;k[j>>2]=a;k[m>>2]=b;k[e>>2]=c;i[f>>0]=d;a=g;k[a>>2]=0;k[a+4>>2]=0;k[q>>2]=0;k[n>>2]=0;k[s>>2]=0;k[t>>2]=(k[j>>2]|0)+(k[e>>2]|0);if((l[f>>0]|0)==1)k[p>>2]=1;else{k[p>>2]=2;k[o>>2]=3-(l[f>>0]|0);while(1){if((k[o>>2]|0)>=(k[e>>2]|0))break;if(i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)break;k[o>>2]=(k[o>>2]|0)+2}k[s>>2]=(k[o>>2]|0)<(k[e>>2]|0)&1;k[t>>2]=(k[j>>2]|0)+(k[o>>2]^1);k[j>>2]=(k[j>>2]|0)+(l[f>>0]&1)}while(1){if((k[j>>2]|0)>>>0>=(k[t>>2]|0)>>>0)break;if(!(l[18403+(l[k[j>>2]>>0]|0)>>0]&1))break;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}do if((k[j>>2]|0)>>>0<(k[t>>2]|0)>>>0){if((i[k[j>>2]>>0]|0)==45){k[q>>2]=1;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0);break}if((i[k[j>>2]>>0]|0)==43)k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}while(0);k[u>>2]=k[j>>2];while(1){if((k[j>>2]|0)>>>0>=(k[t>>2]|0)>>>0)break;if((i[k[j>>2]>>0]|0)!=48)break;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}k[o>>2]=0;while(1){if(((k[j>>2]|0)+(k[o>>2]|0)|0)>>>0<(k[t>>2]|0)>>>0?(a=i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0,k[n>>2]=a,(a|0)>=48):0)e=(k[n>>2]|0)<=57;else e=0;f=g;d=k[f>>2]|0;f=k[f+4>>2]|0;if(!e)break;a=kS(d|0,f|0,10,0)|0;b=k[n>>2]|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;b=_R(b|0,L|0,48,0)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;k[o>>2]=(k[o>>2]|0)+(k[p>>2]|0)}c=(k[q>>2]|0)!=0;do if(!(f>>>0>2147483647|(f|0)==2147483647&d>>>0>4294967295)){f=g;e=k[f>>2]|0;f=k[f+4>>2]|0;if(c){g=_R(0,0,e|0,f|0)|0;m=k[m>>2]|0;k[m>>2]=g;k[m+4>>2]=L;break}else{m=k[m>>2]|0;k[m>>2]=e;k[m+4>>2]=f;break}}else{m=k[m>>2]|0;k[m>>2]=c?0:-1;k[m+4>>2]=c?-2147483648:2147483647}while(0);do if(((k[j>>2]|0)+(k[o>>2]|0)|0)>>>0>=(k[t>>2]|0)>>>0){if((k[o>>2]|0)==0?(k[u>>2]|0)==(k[j>>2]|0):0)break;if(!((k[s>>2]|0)!=0?1:(k[o>>2]|0)>((k[p>>2]|0)*19|0))){if((k[o>>2]|0)<((k[p>>2]|0)*19|0)){k[h>>2]=0;u=k[h>>2]|0;r=v;return u|0}u=Xi(k[j>>2]|0,k[p>>2]|0)|0;k[n>>2]=u;if((k[n>>2]|0)<0){k[h>>2]=0;u=k[h>>2]|0;r=v;return u|0}if((k[n>>2]|0)>0){k[h>>2]=1;u=k[h>>2]|0;r=v;return u|0}else{k[h>>2]=(k[q>>2]|0)!=0?0:2;u=k[h>>2]|0;r=v;return u|0}}}while(0);k[h>>2]=1;u=k[h>>2]|0;r=v;return u|0}function Xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[g>>2]=18767;k[f>>2]=0;while(1){if(!((k[e>>2]|0)==0?(k[f>>2]|0)<18:0))break;a=ha(k[f>>2]|0,k[d>>2]|0)|0;k[e>>2]=((i[(k[c>>2]|0)+a>>0]|0)-(i[(k[g>>2]|0)+(k[f>>2]|0)>>0]|0)|0)*10;k[f>>2]=(k[f>>2]|0)+1}if(k[e>>2]|0){a=k[e>>2]|0;r=h;return a|0}k[e>>2]=(i[(k[c>>2]|0)+((k[d>>2]|0)*18|0)>>0]|0)-56;a=k[e>>2]|0;r=h;return a|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;g=m+17|0;d=m+12|0;e=m+8|0;h=m+16|0;j=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;i[h>>0]=c;c=k[d>>2]|0;if((l[18403+(l[k[d>>2]>>0]|0)>>0]|0)&4){j=(Zi(c)|0)&255;i[g>>0]=j;j=i[g>>0]|0;r=m;return j|0}a=Tf(c)|0;k[f>>2]=a;k[j>>2]=0;while(1){if((k[j>>2]|0)>=8){c=11;break}if((l[18786+(k[j>>2]|0)>>0]|0|0)==(k[f>>2]|0)?(Jd(18802+(l[18794+(k[j>>2]|0)>>0]|0)|0,k[d>>2]|0,k[f>>2]|0)|0)==0:0){if(!(k[e>>2]|0)){c=9;break}if((l[18827+(k[j>>2]|0)>>0]|0|0)<=1){c=9;break}}k[j>>2]=(k[j>>2]|0)+1}if((c|0)==9){i[g>>0]=i[18827+(k[j>>2]|0)>>0]|0;j=i[g>>0]|0;r=m;return j|0}else if((c|0)==11){i[g>>0]=i[h>>0]|0;j=i[g>>0]|0;r=m;return j|0}return 0}function Zi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(k[b>>2]|0)_i(k[b>>2]|0,c)|0;r=d;return k[c>>2]|0}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;f=n+32|0;g=n+28|0;h=n+24|0;e=n;j=n+20|0;c=n+16|0;d=n+12|0;m=n+8|0;k[g>>2]=a;k[h>>2]=b;a=e;k[a>>2]=0;k[a+4>>2]=0;k[d>>2]=0;do if((i[k[g>>2]>>0]|0)!=45){b=k[g>>2]|0;if((i[k[g>>2]>>0]|0)==43){k[g>>2]=b+1;break}if((i[b>>0]|0)==48){if((i[(k[g>>2]|0)+1>>0]|0)!=120?(i[(k[g>>2]|0)+1>>0]|0)!=88:0)break;if(l[18403+(l[(k[g>>2]|0)+2>>0]|0)>>0]&8){k[m>>2]=0;k[g>>2]=(k[g>>2]|0)+2;while(1){if((i[k[g>>2]>>0]|0)!=48)break;k[g>>2]=(k[g>>2]|0)+1}k[j>>2]=0;while(1){b=k[m>>2]|0;if(!((l[18403+(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)>>0]&8|0)!=0?(k[j>>2]|0)<8:0))break;e=(b<<4)+((Vi(i[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)|0)&255)|0;k[m>>2]=e;k[j>>2]=(k[j>>2]|0)+1}if((b&-2147483648|0)==0?(l[18403+(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)>>0]&8|0)==0:0){k[k[h>>2]>>2]=k[m>>2];k[f>>2]=1;m=k[f>>2]|0;r=n;return m|0}k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}}}else{k[d>>2]=1;k[g>>2]=(k[g>>2]|0)+1}while(0);while(1){if((i[k[g>>2]>>0]|0)!=48)break;k[g>>2]=(k[g>>2]|0)+1}k[j>>2]=0;while(1){if((k[j>>2]|0)>=11)break;m=(i[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)-48|0;k[c>>2]=m;if(!((m|0)>=0&(k[c>>2]|0)<=9))break;m=e;m=kS(k[m>>2]|0,k[m+4>>2]|0,10,0)|0;a=k[c>>2]|0;a=$R(m|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;m=e;k[m>>2]=a;k[m+4>>2]=L;k[j>>2]=(k[j>>2]|0)+1}if((k[j>>2]|0)>10){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}j=e;m=k[d>>2]|0;m=_R(k[j>>2]|0,k[j+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;j=L;if((j|0)>0|(j|0)==0&m>>>0>2147483647){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}if(k[d>>2]|0){j=e;j=_R(0,0,k[j>>2]|0,k[j+4>>2]|0)|0;m=e;k[m>>2]=j;k[m+4>>2]=L}k[k[h>>2]>>2]=k[e>>2];k[f>>2]=1;m=k[f>>2]|0;r=n;return m|0}function $i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[f>>2];if((k[d>>2]|0)>>>0<=(k[1048+(k[c>>2]<<2)>>2]|0)>>>0){r=e;return}k[1048+(k[c>>2]<<2)>>2]=k[d>>2];r=e;return}function aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;a=1008+(k[c>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)+(k[e>>2]|0);if((k[1008+(k[c>>2]<<2)>>2]|0)>>>0<=(k[1048+(k[c>>2]<<2)>>2]|0)>>>0){r=d;return}k[1048+(k[c>>2]<<2)>>2]=k[1008+(k[c>>2]<<2)>>2];r=d;return}function bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;j=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<2){n=k[e>>2]|0;r=o;return n|0}k[g>>2]=(l[17613+(l[k[d>>2]>>0]|0)>>0]<<2^(l[17613+(l[(k[d>>2]|0)+((k[e>>2]|0)-1)>>0]|0)>>0]|0)*3^k[e>>2]|0)%127|0;k[g>>2]=(l[18835+(k[g>>2]|0)>>0]|0)-1;while(1){if((k[g>>2]|0)<0){n=13;break}if((l[18962+(k[g>>2]|0)>>0]|0)==(k[e>>2]|0)){k[h>>2]=0;k[j>>2]=19086+(m[9524+(k[g>>2]<<1)>>1]|0);while(1){if((k[h>>2]|0)<(k[e>>2]|0))c=(i[(k[d>>2]|0)+(k[h>>2]|0)>>0]&-33|0)==(i[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0);else c=0;b=k[h>>2]|0;if(!c)break;k[h>>2]=b+1}if((b|0)>=(k[e>>2]|0))break}k[g>>2]=(l[19763+(k[g>>2]|0)>>0]|0)-1}if((n|0)==13){n=k[e>>2]|0;r=o;return n|0}k[k[f>>2]>>2]=l[19639+(k[g>>2]|0)>>0];n=k[e>>2]|0;r=o;return n|0}function cj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){r=c;return}a=(k[b>>2]|0)+80|0;k[a>>2]=(k[a>>2]|0)+-4;jj(k[(k[b>>2]|0)+80>>2]|0);k[(k[b>>2]|0)+80>>2]=0;r=c;return}function dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;m=o+16|0;i=o+12|0;h=o+8|0;g=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;k[i>>2]=k[k[e>>2]>>2];if(!((l[(k[d>>2]|0)+16>>0]|0)!=0?(k[(k[d>>2]|0)+28>>2]|0)!=0:0))n=3;do if(((n|0)==3?(n=(ej(k[(k[d>>2]|0)+212>>2]|0)|0)==0,n&(k[i>>2]|0)!=0):0)?(k[i>>2]|0)!=(k[(k[d>>2]|0)+160>>2]|0):0){k[h>>2]=0;n=g;k[n>>2]=0;k[n+4>>2]=0;if((l[(k[d>>2]|0)+17>>0]|0)>0?(k[k[(k[d>>2]|0)+64>>2]>>2]|0)!=0:0){n=fj(k[(k[d>>2]|0)+64>>2]|0,g)|0;k[m>>2]=n}if((k[m>>2]|0)==0?(n=gj(k[i>>2]|0)|0,k[h>>2]=n,(k[h>>2]|0)==0):0)k[m>>2]=7;if(!(k[m>>2]|0)){hj(k[d>>2]|0);n=ij(k[(k[d>>2]|0)+212>>2]|0,k[i>>2]|0)|0;k[m>>2]=n}if(!(k[m>>2]|0)){jj(k[(k[d>>2]|0)+208>>2]|0);k[(k[d>>2]|0)+208>>2]=k[h>>2];n=g;n=$R(k[n>>2]|0,k[n+4>>2]|0,k[i>>2]|0,0)|0;n=_R(n|0,L|0,1,0)|0;n=iS(n|0,L|0,k[i>>2]|0,0)|0;k[(k[d>>2]|0)+28>>2]=n;k[(k[d>>2]|0)+160>>2]=k[i>>2];break}else{jj(k[h>>2]|0);break}}while(0);k[k[e>>2]>>2]=k[(k[d>>2]|0)+160>>2];if(k[m>>2]|0){n=k[m>>2]|0;r=o;return n|0}if((k[f>>2]|0)<0)k[f>>2]=j[(k[d>>2]|0)+150>>1];j[(k[d>>2]|0)+150>>1]=k[f>>2];kj(k[d>>2]|0);n=k[m>>2]|0;r=o;return n|0}function ej(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+12>>2]|0}function fj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+24>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function gj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=tj(k[c>>2]|0)|0;r=b;return a|0}function hj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;nj(k[(k[c>>2]|0)+96>>2]|0);oj(k[(k[c>>2]|0)+212>>2]|0);r=b;return}function ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(k[(k[d>>2]|0)+24>>2]|0){b=Yb[k[132>>2]&255](k[e>>2]|0,(k[(k[d>>2]|0)+28>>2]|0)+40|0,l[(k[d>>2]|0)+32>>0]|0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=7;b=k[c>>2]|0;r=g;return b|0}h=k[34]|0;a=k[f>>2]|0;b=mj(k[d>>2]|0)|0;$b[h&255](a,b);if(k[(k[d>>2]|0)+44>>2]|0)_b[k[160>>2]&255](k[(k[d>>2]|0)+44>>2]|0);k[(k[d>>2]|0)+44>>2]=k[f>>2];k[(k[d>>2]|0)+24>>2]=k[e>>2]}k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function jj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;lj(k[c>>2]|0);r=b;return}function kj(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return}function lj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}if((k[b>>2]|0)>>>0>=(k[426]|0)>>>0?(k[b>>2]|0)>>>0<(k[427]|0)>>>0:0){lg(1,1);k[d>>2]=k[b>>2];k[k[d>>2]>>2]=k[429];k[429]=k[d>>2];k[430]=(k[430]|0)+1;k[431]=(k[430]|0)<(k[425]|0)&1;r=e;return}k[c>>2]=0;d=kg(k[b>>2]|0)|0;k[c>>2]=d;lg(2,k[c>>2]|0);Ud(k[b>>2]|0);r=e;return}function mj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[(k[c>>2]|0)+16>>2]|0;if((k[(k[c>>2]|0)+16>>2]|0)>=0){k[b>>2]=a;c=k[b>>2]|0;r=d;return c|0}else{a=kS(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;c=(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+28>>2]|0)|0;c=iS(a|0,L|0,c|0,((c|0)<0)<<31>>31|0)|0;k[b>>2]=c;c=k[b>>2]|0;r=d;return c|0}return 0}function nj(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];while(1){if(!(k[b>>2]|0))break;k[(k[b>>2]|0)+16>>2]=1;k[b>>2]=k[(k[b>>2]|0)+44>>2]}r=c;return}function oj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;pj(k[c>>2]|0,0);r=b;return}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[c>>2]|0)+44>>2]|0)){r=h;return}k[e>>2]=k[k[c>>2]>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+32>>2];if((k[(k[e>>2]|0)+20>>2]|0)>>>0>(k[d>>2]|0)>>>0)qj(k[e>>2]|0);k[e>>2]=k[f>>2]}if(((k[d>>2]|0)==0?(k[(k[c>>2]|0)+12>>2]|0)!=0:0)?(b=Yb[k[144>>2]&255](k[(k[c>>2]|0)+44>>2]|0,1,0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0){dS(k[k[g>>2]>>2]|0,0,k[(k[c>>2]|0)+24>>2]|0)|0;k[d>>2]=1}$b[k[156>>2]&255](k[(k[c>>2]|0)+44>>2]|0,(k[d>>2]|0)+1|0);r=h;return}function qj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(m[(k[b>>2]|0)+24>>1]&2)){r=c;return}rj(k[b>>2]|0,1);a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]&-15;a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]|1;if(j[(k[b>>2]|0)+26>>1]|0){r=c;return}sj(k[b>>2]|0);r=c;return}function rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+4|0;c=f+8|0;e=f;k[d>>2]=a;i[c>>0]=b;k[e>>2]=k[(k[d>>2]|0)+28>>2];if(l[c>>0]&1){if((k[(k[e>>2]|0)+8>>2]|0)==(k[d>>2]|0))k[(k[e>>2]|0)+8>>2]=k[(k[d>>2]|0)+36>>2];b=k[(k[d>>2]|0)+36>>2]|0;if(k[(k[d>>2]|0)+32>>2]|0)k[(k[(k[d>>2]|0)+32>>2]|0)+36>>2]=b;else k[(k[e>>2]|0)+4>>2]=b;b=k[(k[d>>2]|0)+32>>2]|0;if(!(k[(k[d>>2]|0)+36>>2]|0)){k[k[e>>2]>>2]=b;if(!(k[k[e>>2]>>2]|0))i[(k[e>>2]|0)+33>>0]=2}else k[(k[(k[d>>2]|0)+36>>2]|0)+32>>2]=b;k[(k[d>>2]|0)+32>>2]=0;k[(k[d>>2]|0)+36>>2]=0}if(!(l[c>>0]&2)){r=f;return}k[(k[d>>2]|0)+32>>2]=k[k[e>>2]>>2];b=k[d>>2]|0;if(!(k[(k[d>>2]|0)+32>>2]|0)){k[(k[e>>2]|0)+4>>2]=b;if(i[(k[e>>2]|0)+32>>0]|0)i[(k[e>>2]|0)+33>>0]=1}else k[(k[(k[d>>2]|0)+32>>2]|0)+36>>2]=b;k[k[e>>2]>>2]=k[d>>2];if(k[(k[e>>2]|0)+8>>2]|0){r=f;return}if(m[(k[d>>2]|0)+24>>1]&8){r=f;return}k[(k[e>>2]|0)+8>>2]=k[d>>2];r=f;return}function sj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(i[(k[(k[b>>2]|0)+28>>2]|0)+32>>0]|0)){r=c;return}cc[k[148>>2]&255](k[(k[(k[b>>2]|0)+28>>2]|0)+44>>2]|0,k[k[b>>2]>>2]|0,0);r=c;return}function tj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;if((k[b>>2]|0)<=(k[423]|0)?(k[c>>2]=k[429],(k[c>>2]|0)!=0):0){k[429]=k[k[429]>>2];k[430]=(k[430]|0)+-1;k[431]=(k[430]|0)<(k[425]|0)&1;$i(7,k[b>>2]|0);aj(1,1)}if(k[c>>2]|0){d=k[c>>2]|0;r=e;return d|0}a=k[b>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;if(!(k[c>>2]|0)){d=k[c>>2]|0;r=e;return d|0}a=kg(k[c>>2]|0)|0;k[d>>2]=a;$i(7,k[b>>2]|0);aj(2,k[d>>2]|0);d=k[c>>2]|0;r=e;return d|0}function uj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=ug(512,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}k[k[c>>2]>>2]=k[b>>2];c=k[c>>2]|0;r=d;return c|0}function vj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;h=o+16|0;c=o+12|0;j=o+8|0;m=o+4|0;g=o;k[e>>2]=a;k[f>>2]=b;if(!(k[e>>2]|0)){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[f>>2]=(k[f>>2]|0)+-1;while(1){if((k[k[e>>2]>>2]|0)>>>0<=4e3)break;if(!(k[(k[e>>2]|0)+8>>2]|0))break;k[c>>2]=((k[f>>2]|0)>>>0)/((k[(k[e>>2]|0)+8>>2]|0)>>>0)|0;k[f>>2]=((k[f>>2]|0)>>>0)%((k[(k[e>>2]|0)+8>>2]|0)>>>0)|0;if((k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]|0)==0?(a=uj(k[(k[e>>2]|0)+8>>2]|0)|0,k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]=a,(k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]|0)==0):0){n=8;break}k[e>>2]=k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]}if((n|0)==8){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}c=k[f>>2]|0;if((k[k[e>>2]>>2]|0)>>>0<=4e3){n=(k[e>>2]|0)+12+(((k[f>>2]|0)>>>0)/8|0)|0;i[n>>0]=l[n>>0]|0|1<<(c&7);k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[f>>2]=c+1;k[h>>2]=(c>>>0)%125|0;a:do if(!(k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){if((k[(k[e>>2]|0)+4>>2]|0)>>>0>=124)n=17}else{while(1){if((k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)==(k[f>>2]|0))break;n=(k[h>>2]|0)+1|0;k[h>>2]=n;k[h>>2]=(k[h>>2]|0)>>>0>=125?0:n;if(!(k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){n=17;break a}}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}while(0);if((n|0)==17?(k[(k[e>>2]|0)+4>>2]|0)>>>0>=62:0){n=Mh(0,500,0)|0;k[g>>2]=n;if(!(k[g>>2]|0)){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}bS(k[g>>2]|0,(k[e>>2]|0)+12|0,500)|0;dS((k[e>>2]|0)+12|0,0,500)|0;k[(k[e>>2]|0)+8>>2]=(((k[k[e>>2]>>2]|0)+125-1|0)>>>0)/125|0;n=vj(k[e>>2]|0,k[f>>2]|0)|0;k[m>>2]=n;k[j>>2]=0;while(1){if((k[j>>2]|0)>>>0>=125)break;if(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0){n=vj(k[e>>2]|0,k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[m>>2]=k[m>>2]|n}k[j>>2]=(k[j>>2]|0)+1}bg(0,k[g>>2]|0);k[d>>2]=k[m>>2];n=k[d>>2]|0;r=o;return n|0}n=(k[e>>2]|0)+4|0;k[n>>2]=(k[n>>2]|0)+1;k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]=k[f>>2];k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}function wj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;h=o+12|0;m=o+8|0;g=o+4|0;j=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=o;return}k[e>>2]=(k[e>>2]|0)+-1;while(1){if(!(k[(k[d>>2]|0)+8>>2]|0))break;k[h>>2]=((k[e>>2]|0)>>>0)/((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[e>>2]=((k[e>>2]|0)>>>0)%((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[d>>2]=k[(k[d>>2]|0)+12+(k[h>>2]<<2)>>2];if(!(k[d>>2]|0)){n=16;break}}if((n|0)==16){r=o;return}if((k[k[d>>2]>>2]|0)>>>0<=4e3){n=(k[d>>2]|0)+12+(((k[e>>2]|0)>>>0)/8|0)|0;i[n>>0]=(l[n>>0]|0)&~(1<<(k[e>>2]&7));r=o;return}k[g>>2]=k[f>>2];bS(k[g>>2]|0,(k[d>>2]|0)+12|0,500)|0;dS((k[d>>2]|0)+12|0,0,500)|0;k[(k[d>>2]|0)+4>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>>>0>=125)break;if((k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)!=0?(k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)!=((k[e>>2]|0)+1|0):0){k[j>>2]=(((k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;n=(k[d>>2]|0)+4|0;k[n>>2]=(k[n>>2]|0)+1;while(1){if(!(k[(k[d>>2]|0)+12+(k[j>>2]<<2)>>2]|0))break;n=(k[j>>2]|0)+1|0;k[j>>2]=n;k[j>>2]=(k[j>>2]|0)>>>0>=125?0:n}k[(k[d>>2]|0)+12+(k[j>>2]<<2)>>2]=k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]}k[m>>2]=(k[m>>2]|0)+1}r=o;return}function xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){a=0;a=a&1;r=e;return a|0}a=(Aj(k[c>>2]|0,k[d>>2]|0)|0)!=0;a=a&1;r=e;return a|0}function yj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function zj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}a:do if(k[(k[b>>2]|0)+8>>2]|0){k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=125)break a;zj(k[(k[b>>2]|0)+12+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}}while(0);Ud(k[b>>2]|0);r=d;return}function Aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;c=i+4|0;h=i;k[f>>2]=a;k[g>>2]=b;k[g>>2]=(k[g>>2]|0)+-1;if((k[g>>2]|0)>>>0>=(k[k[f>>2]>>2]|0)>>>0){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}while(1){if(!(k[(k[f>>2]|0)+8>>2]|0))break;k[c>>2]=((k[g>>2]|0)>>>0)/((k[(k[f>>2]|0)+8>>2]|0)>>>0)|0;k[g>>2]=((k[g>>2]|0)>>>0)%((k[(k[f>>2]|0)+8>>2]|0)>>>0)|0;k[f>>2]=k[(k[f>>2]|0)+12+(k[c>>2]<<2)>>2];if(!(k[f>>2]|0)){d=5;break}}if((d|0)==5){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}c=k[g>>2]|0;if((k[k[f>>2]>>2]|0)>>>0<=4e3){k[e>>2]=((l[(k[f>>2]|0)+12+((c>>>0)/8|0)>>0]|0)&1<<(k[g>>2]&7)|0)!=0&1;h=k[e>>2]|0;r=i;return h|0}k[g>>2]=c+1;k[h>>2]=(c>>>0)%125|0;while(1){if(!(k[(k[f>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){d=13;break}if((k[(k[f>>2]|0)+12+(k[h>>2]<<2)>>2]|0)==(k[g>>2]|0)){d=11;break}k[h>>2]=(((k[h>>2]|0)+1|0)>>>0)%125|0}if((d|0)==11){k[e>>2]=1;h=k[e>>2]|0;r=i;return h|0}else if((d|0)==13){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}return 0}function Bj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+8>>2]|0}function Cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d+8|0;c=d+4|0;k[f>>2]=a;k[e>>2]=b;b=Dj(k[f>>2]|0,k[e>>2]|0,d)|0;k[c>>2]=b;if(!(k[c>>2]|0)){f=0;r=d;return f|0}f=k[(k[c>>2]|0)+8>>2]|0;r=d;return f|0}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;l=m+28|0;d=m+24|0;h=m+20|0;e=m+16|0;j=m+12|0;i=m+8|0;f=m+4|0;g=m;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;if(k[(k[d>>2]|0)+12>>2]|0){b=Ej(k[h>>2]|0)|0;k[f>>2]=(b>>>0)%((k[k[d>>2]>>2]|0)>>>0)|0;k[g>>2]=(k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]<<3);k[j>>2]=k[(k[g>>2]|0)+4>>2];k[i>>2]=k[k[g>>2]>>2]}else{k[f>>2]=0;k[j>>2]=k[(k[d>>2]|0)+8>>2];k[i>>2]=k[(k[d>>2]|0)+4>>2]}k[k[e>>2]>>2]=k[f>>2];while(1){b=k[i>>2]|0;k[i>>2]=b+-1;if(!b){d=9;break}b=(sg(k[(k[j>>2]|0)+12>>2]|0,k[h>>2]|0)|0)==0;e=k[j>>2]|0;if(b){d=7;break}k[j>>2]=k[e>>2]}if((d|0)==7){k[l>>2]=e;l=k[l>>2]|0;r=m;return l|0}else if((d|0)==9){k[l>>2]=0;l=k[l>>2]|0;r=m;return l|0}return 0}function Ej(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;d=e;c=e+8|0;k[b>>2]=a;k[d>>2]=0;while(1){a=k[b>>2]|0;k[b>>2]=a+1;a=i[a>>0]|0;i[c>>0]=a;if(!(a&255))break;k[d>>2]=(k[d>>2]|0)+(l[17613+(l[c>>0]|0)>>0]|0);a=ha(k[d>>2]|0,-1640531535)|0;k[d>>2]=a}r=e;return k[d>>2]|0}function Fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=r;r=r+128|0;w=A;f=A+108|0;g=A+104|0;h=A+100|0;n=A+96|0;u=A+92|0;d=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;q=A+40|0;p=A+24|0;y=A+20|0;s=A+16|0;o=A+112|0;z=A+12|0;x=A+8|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[s>>2]=0;c=(k[h>>2]|0)==1?19905:19924;k[y>>2]=c;k[B>>2]=c;k[B+4>>2]=19938;k[B+8>>2]=19940;k[B+12>>2]=0;k[p>>2]=k[g>>2];k[p+8>>2]=k[h>>2];k[p+12>>2]=0;k[p+4>>2]=k[n>>2];Lj(p,3,B,0)|0;if(!(k[p+12>>2]|0)){k[t>>2]=(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4);if(!(k[(k[t>>2]|0)+4>>2]|0)){if((k[h>>2]|0)==1){B=(k[(k[(k[g>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|1}k[f>>2]=0;B=k[f>>2]|0;r=A;return B|0}wg(k[(k[t>>2]|0)+4>>2]|0);do if(!(yg(k[(k[t>>2]|0)+4>>2]|0)|0)){B=zg(k[(k[t>>2]|0)+4>>2]|0,0)|0;k[u>>2]=B;if(k[u>>2]|0){z=k[n>>2]|0;B=k[g>>2]|0;Mj(z,B,vh(k[u>>2]|0)|0);break}else{k[s>>2]=1;e=11;break}}else e=11;while(0);a:do if((e|0)==11){k[d>>2]=0;while(1){if((k[d>>2]|0)>=5)break;Bg(k[(k[t>>2]|0)+4>>2]|0,(k[d>>2]|0)+1|0,q+(k[d>>2]<<2)|0);k[d>>2]=(k[d>>2]|0)+1}k[k[(k[t>>2]|0)+12>>2]>>2]=k[q>>2];a=k[h>>2]|0;do if(k[q+16>>2]|0){d=k[q+16>>2]|0;if(!a){B=d&3;i[o>>0]=B;i[o>>0]=(l[o>>0]|0)==0?1:B;i[(k[g>>2]|0)+66>>0]=i[o>>0]|0;break}if((d|0)!=(l[(k[g>>2]|0)+66>>0]|0)){Mj(k[n>>2]|0,k[g>>2]|0,20016);k[u>>2]=1;break a}}else{B=(k[(k[(k[g>>2]|0)+16>>2]|0)+(a<<4)+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|4}while(0);i[(k[(k[t>>2]|0)+12>>2]|0)+77>>0]=i[(k[g>>2]|0)+66>>0]|0;if(!(k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Nj(k[q+8>>2]|0)|0;k[v>>2]=B;k[v>>2]=(k[v>>2]|0)==0?-2e3:B;k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]=k[v>>2];Oj(k[(k[t>>2]|0)+4>>2]|0,k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}i[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]=k[q+4>>2];if(!(l[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]|0))i[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]=1;if((l[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Mj(k[n>>2]|0,k[g>>2]|0,20084);k[u>>2]=1;break}if((k[h>>2]|0)==0?(k[q+4>>2]|0)>=4:0){B=(k[g>>2]|0)+24|0;k[B>>2]=k[B>>2]&-32769}B=k[g>>2]|0;y=k[y>>2]|0;k[w>>2]=k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[w+4>>2]=y;B=Qh(B,20108,w)|0;k[z>>2]=B;k[x>>2]=k[(k[g>>2]|0)+296>>2];k[(k[g>>2]|0)+296>>2]=0;B=kf(k[g>>2]|0,k[z>>2]|0,140,p,0)|0;k[u>>2]=B;k[(k[g>>2]|0)+296>>2]=k[x>>2];if(!(k[u>>2]|0))k[u>>2]=k[p+12>>2];bg(k[g>>2]|0,k[z>>2]|0);if(!(k[u>>2]|0))Pj(k[g>>2]|0,k[h>>2]|0)|0;if(i[(k[g>>2]|0)+69>>0]|0){k[u>>2]=7;Mg(k[g>>2]|0)}if((k[u>>2]|0)!=0?(k[(k[g>>2]|0)+24>>2]&65536|0)==0:0)break;B=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|1;k[u>>2]=0}while(0);if(k[s>>2]|0)Qj(k[(k[t>>2]|0)+4>>2]|0)|0}else k[u>>2]=k[p+12>>2];if((k[u>>2]|0)==7|(k[u>>2]|0)==3082)wh(k[g>>2]|0);k[f>>2]=k[u>>2];B=k[f>>2]|0;r=A;return B|0}function Gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4);Ij(k[(k[d>>2]|0)+12>>2]|0);if((k[f>>2]|0)==1){r=e;return}k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+16;Ij(k[(k[d>>2]|0)+12>>2]|0);r=e;return}function Hj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+24|0;k[a>>2]=k[a>>2]&-3;r=b;return}function Ij(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+64|0;h=g+48|0;e=g+32|0;f=g+16|0;b=g+8|0;c=g+4|0;d=g;k[h>>2]=a;k[c>>2]=k[h>>2];a=(k[c>>2]|0)+8|0;k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];k[e+8>>2]=k[a+8>>2];k[e+12>>2]=k[a+12>>2];a=(k[c>>2]|0)+40|0;k[f>>2]=k[a>>2];k[f+4>>2]=k[a+4>>2];k[f+8>>2]=k[a+8>>2];k[f+12>>2]=k[a+12>>2];Jj((k[c>>2]|0)+40|0);Kj((k[c>>2]|0)+24|0);k[b>>2]=k[f+8>>2];while(1){if(!(k[b>>2]|0))break;_f(0,k[(k[b>>2]|0)+8>>2]|0);k[b>>2]=k[k[b>>2]>>2]}Kj(f);Jj((k[c>>2]|0)+8|0);k[b>>2]=k[e+8>>2];while(1){if(!(k[b>>2]|0))break;k[d>>2]=k[(k[b>>2]|0)+8>>2];$f(0,k[d>>2]|0);k[b>>2]=k[k[b>>2]>>2]}Kj(e);Kj((k[c>>2]|0)+56|0);k[(k[c>>2]|0)+72>>2]=0;if(!((m[(k[c>>2]|0)+78>>1]|0)&1)){r=g;return}h=(k[c>>2]|0)+4|0;k[h>>2]=(k[h>>2]|0)+1;h=(k[c>>2]|0)+78|0;j[h>>1]=(m[h>>1]|0)&-2;r=g;return}function Jj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=0;k[(k[c>>2]|0)+4>>2]=0;k[k[c>>2]>>2]=0;k[(k[c>>2]|0)+12>>2]=0;r=b;return}function Kj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[(k[b>>2]|0)+8>>2]=0;Ud(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+12>>2]=0;k[k[b>>2]>>2]=0;while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+4>>2]=0;r=e;return}function Lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;e=s+40|0;t=s+36|0;f=s+28|0;l=s+20|0;g=s+16|0;h=s+12|0;p=s+8|0;q=s+44|0;o=s+4|0;n=s;k[t>>2]=a;k[s+32>>2]=b;k[f>>2]=c;k[s+24>>2]=d;k[l>>2]=k[t>>2];k[g>>2]=k[k[l>>2]>>2];k[h>>2]=k[(k[l>>2]|0)+8>>2];a=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+78|0;j[a>>1]=m[a>>1]&-5;if(i[(k[g>>2]|0)+69>>0]|0){Zj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);k[e>>2]=1;t=k[e>>2]|0;r=s;return t|0}if(!(k[f>>2]|0)){k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}a:do if(!(k[(k[f>>2]|0)+4>>2]|0))Zj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);else{if(Jd(k[(k[f>>2]|0)+8>>2]|0,20250,7)|0){do if(k[k[f>>2]>>2]|0){if((k[(k[f>>2]|0)+8>>2]|0)!=0?(i[k[(k[f>>2]|0)+8>>2]>>0]|0)!=0:0)break;t=Uj(k[g>>2]|0,k[k[f>>2]>>2]|0,k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0;k[n>>2]=t;if(!(k[n>>2]|0))break a;if(_i(k[(k[f>>2]|0)+4>>2]|0,(k[n>>2]|0)+44|0)|0)break a;Zj(k[l>>2]|0,k[k[f>>2]>>2]|0,20258);break a}while(0);Zj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);break}i[q>>0]=i[(k[g>>2]|0)+148+4>>0]|0;i[(k[g>>2]|0)+148+4>>0]=k[h>>2];t=Zi(k[(k[f>>2]|0)+4>>2]|0)|0;k[(k[g>>2]|0)+148>>2]=t;i[(k[g>>2]|0)+148+6>>0]=0;nf(k[g>>2]|0,k[(k[f>>2]|0)+8>>2]|0,-1,o,0)|0;k[p>>2]=k[(k[g>>2]|0)+52>>2];i[(k[g>>2]|0)+148+4>>0]=i[q>>0]|0;do if(0!=(k[p>>2]|0)?(i[(k[g>>2]|0)+148+6>>0]|0)==0:0){k[(k[l>>2]|0)+12>>2]=k[p>>2];if((k[p>>2]|0)==7){wh(k[g>>2]|0);break}if((k[p>>2]|0)!=9?(k[p>>2]&255|0)!=6:0){q=k[l>>2]|0;t=k[k[f>>2]>>2]|0;Zj(q,t,mf(k[g>>2]|0)|0)}}while(0);fe(k[o>>2]|0)|0}while(0);k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}function Mj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;bg(k[g>>2]|0,k[k[e>>2]>>2]|0);c=Ah(k[g>>2]|0,k[f>>2]|0)|0;k[k[e>>2]>>2]=c;r=d;return}function Nj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[c>>2]|0;do if((k[c>>2]|0)<0)if((a|0)==-2147483648){k[b>>2]=2147483647;break}else{k[b>>2]=0-(k[c>>2]|0);break}else k[b>>2]=a;while(0);r=d;return k[b>>2]|0}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[f>>2]|0)+4>>2];wg(k[f>>2]|0);Xj(k[k[e>>2]>>2]|0,k[d>>2]|0);r=c;return 0}function Pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+48|0;l=n;c=n+36|0;d=n+32|0;i=n+24|0;e=n+20|0;m=n+16|0;h=n+12|0;f=n+8|0;g=n+4|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=0;k[e>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+8>>2];j[k[(k[f>>2]|0)+8>>2]>>1]=0;k[e>>2]=k[k[e>>2]>>2]}k[i>>2]=k[c>>2];k[i+4>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2];do if(Di(k[c>>2]|0,20163,k[i+4>>2]|0)|0){f=k[c>>2]|0;k[l>>2]=k[i+4>>2];l=Qh(f,20176,l)|0;k[m>>2]=l;if(!(k[m>>2]|0)){k[h>>2]=7;break}else{l=kf(k[c>>2]|0,k[m>>2]|0,141,i,0)|0;k[h>>2]=l;bg(k[c>>2]|0,k[m>>2]|0);break}}while(0);k[e>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(k[e>>2]|0))break;k[g>>2]=k[(k[e>>2]|0)+8>>2];if(!(j[k[(k[g>>2]|0)+8>>2]>>1]|0))Sj(k[g>>2]|0);k[e>>2]=k[k[e>>2]>>2]}if((k[h>>2]|0)!=7){m=k[h>>2]|0;r=n;return m|0}wh(k[c>>2]|0);m=k[h>>2]|0;r=n;return m|0}function Qj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;wg(k[b>>2]|0);a=Xg(k[b>>2]|0,0)|0;k[c>>2]=a;if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}a=Wg(k[b>>2]|0,0)|0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function Rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+112|0;e=s+96|0;t=s+92|0;f=s+84|0;o=s+76|0;n=s+72|0;p=s+68|0;q=s+64|0;g=s+60|0;l=s+56|0;h=s;k[t>>2]=a;k[s+88>>2]=b;k[f>>2]=c;k[s+80>>2]=d;k[o>>2]=k[t>>2];if(((k[f>>2]|0)!=0?(k[k[f>>2]>>2]|0)!=0:0)?(k[(k[f>>2]|0)+8>>2]|0)!=0:0){t=Di(k[k[o>>2]>>2]|0,k[k[f>>2]>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[p>>2]=t;if(!(k[p>>2]|0)){k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}do if(k[(k[f>>2]|0)+4>>2]|0)if(!(be(k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0)){t=Tj(k[p>>2]|0)|0;k[n>>2]=t;break}else{t=Uj(k[k[o>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[n>>2]=t;break}else k[n>>2]=0;while(0);k[q>>2]=k[(k[f>>2]|0)+8>>2];if(k[n>>2]|0){k[g>>2]=0;k[l>>2]=(m[(k[n>>2]|0)+50>>1]|0)+1;t=(k[n>>2]|0)+55|0;i[t>>0]=i[t>>0]&-5;Vj(k[q>>2]|0,k[l>>2]|0,k[g>>2]|0,k[(k[n>>2]|0)+8>>2]|0,k[n>>2]|0);if(!(k[(k[n>>2]|0)+36>>2]|0))j[(k[p>>2]|0)+38>>1]=j[k[(k[n>>2]|0)+8>>2]>>1]|0}else{j[h+48>>1]=j[(k[p>>2]|0)+40>>1]|0;Vj(k[q>>2]|0,1,0,(k[p>>2]|0)+38|0,h);j[(k[p>>2]|0)+40>>1]=j[h+48>>1]|0}k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}function Sj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+12|0;d=g+16|0;c=g+8|0;f=g+4|0;e=g;k[b>>2]=a;j[d>>1]=j[4886]|0;j[d+2>>1]=j[4887]|0;j[d+4>>1]=j[4888]|0;j[d+6>>1]=j[4889]|0;j[d+8>>1]=j[4890]|0;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(5<(m[(k[b>>2]|0)+50>>1]|0))a=5;else a=m[(k[b>>2]|0)+50>>1]|0;k[f>>2]=a;j[k[c>>2]>>1]=j[(k[(k[b>>2]|0)+12>>2]|0)+38>>1]|0;if(k[(k[b>>2]|0)+36>>2]|0){a=k[c>>2]|0;j[a>>1]=(j[a>>1]|0)-10}if((j[k[c>>2]>>1]|0)<33)j[k[c>>2]>>1]=33;bS((k[c>>2]|0)+2|0,d|0,k[f>>2]<<1|0)|0;k[e>>2]=(k[f>>2]|0)+1;while(1){if((k[e>>2]|0)>(m[(k[b>>2]|0)+50>>1]|0))break;j[(k[c>>2]|0)+(k[e>>2]<<1)>>1]=23;k[e>>2]=(k[e>>2]|0)+1}if(!(l[(k[b>>2]|0)+54>>0]|0)){r=g;return}j[(k[c>>2]|0)+(m[(k[b>>2]|0)+50>>1]<<1)>>1]=0;r=g;return}function Tj(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[b>>2]|0)){a=5;break}if(!((i[(k[b>>2]|0)+55>>0]&3|0)==2^1)){a=5;break}k[b>>2]=k[(k[b>>2]|0)+20>>2]}if((a|0)==5){r=c;return k[b>>2]|0}return 0}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;i=m+12|0;g=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){l=7;break}b=k[g>>2]|0;k[h>>2]=(k[g>>2]|0)<2?b^1:b;k[j>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];if(!((k[f>>2]|0)!=0?(sg(k[f>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,b=Cj((k[j>>2]|0)+24|0,k[e>>2]|0)|0,k[i>>2]=b,(k[i>>2]|0)!=0):0){l=7;break}k[g>>2]=(k[g>>2]|0)+1}if((l|0)==7){r=m;return k[i>>2]|0}return 0}function Vj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;q=p+32|0;f=p+28|0;g=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;l=p+4|0;m=p;k[q>>2]=a;k[f>>2]=b;k[p+24>>2]=c;k[g>>2]=d;k[n>>2]=e;k[o>>2]=k[q>>2];k[l>>2]=0;while(1){if(!(i[k[o>>2]>>0]|0))break;if((k[l>>2]|0)>=(k[f>>2]|0))break;k[m>>2]=0;while(1){q=i[k[o>>2]>>0]|0;k[h>>2]=q;if(!((q|0)>=48?(k[h>>2]|0)<=57:0))break;k[m>>2]=((k[m>>2]|0)*10|0)+(k[h>>2]|0)-48;k[o>>2]=(k[o>>2]|0)+1}q=Wj(k[m>>2]|0,0)|0;j[(k[g>>2]|0)+(k[l>>2]<<1)>>1]=q;if((i[k[o>>2]>>0]|0)==32)k[o>>2]=(k[o>>2]|0)+1;k[l>>2]=(k[l>>2]|0)+1}q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-5;q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-65;a:while(1){if(!(i[k[o>>2]>>0]|0))break;do if(hf(20217,k[o>>2]|0)|0){q=(hf(20228,k[o>>2]|0)|0)==0;f=k[o>>2]|0;if(q){q=Zi(f+3|0)|0;q=Wj(q,((q|0)<0)<<31>>31)|0;j[(k[n>>2]|0)+48>>1]=q;break}if(!(hf(20238,f)|0)){q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-65|64}}else{q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-5|4}while(0);while(1){if(!(i[k[o>>2]>>0]|0))break;if((i[k[o>>2]>>0]|0)==32)break;k[o>>2]=(k[o>>2]|0)+1}while(1){if((i[k[o>>2]>>0]|0)!=32)continue a;k[o>>2]=(k[o>>2]|0)+1}}r=p;return}function Wj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+10|0;d=f;e=f+8|0;g=d;k[g>>2]=a;k[g+4>>2]=b;j[e>>1]=40;b=d;a=k[b+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(k[b>>2]|0)>>>0<8){g=d;b=k[g+4>>2]|0;if(b>>>0<0|(b|0)==0&(k[g>>2]|0)>>>0<2){j[c>>1]=0;g=j[c>>1]|0;r=f;return g|0}else while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(k[g>>2]|0)>>>0<8))break a;j[e>>1]=(j[e>>1]|0)-10;b=d;b=eS(k[b>>2]|0,k[b+4>>2]|0,1)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}}else{while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0>0|(b|0)==0&(k[g>>2]|0)>>>0>255))break;j[e>>1]=(j[e>>1]|0)+40;b=d;b=aS(k[b>>2]|0,k[b+4>>2]|0,4)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0>0|(b|0)==0&(k[g>>2]|0)>>>0>15))break a;j[e>>1]=(j[e>>1]|0)+10;b=d;b=aS(k[b>>2]|0,k[b+4>>2]|0,1)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}}while(0);j[c>>1]=(j[9782+((k[d>>2]&7)<<1)>>1]|0)+(j[e>>1]|0)-10;g=j[c>>1]|0;r=f;return g|0}function Xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;Yj(k[(k[e>>2]|0)+212>>2]|0,k[d>>2]|0);r=c;return}function Yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[(k[e>>2]|0)+16>>2]=k[d>>2];d=k[34]|0;b=k[(k[e>>2]|0)+44>>2]|0;a=mj(k[e>>2]|0)|0;$b[d&255](b,a);r=c;return}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;j=n+8|0;h=n;d=n+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if((i[(k[g>>2]|0)+69>>0]|0)==0?(k[(k[g>>2]|0)+24>>2]&65536|0)==0:0){if(!(k[e>>2]|0))k[e>>2]=20275;b=k[g>>2]|0;k[h>>2]=k[e>>2];b=Qh(b,20277,h)|0;k[m>>2]=b;if(k[f>>2]|0){b=k[g>>2]|0;c=k[f>>2]|0;k[j>>2]=k[m>>2];k[j+4>>2]=c;b=Qh(b,20308,j)|0;k[m>>2]=b}bg(k[g>>2]|0,k[k[(k[d>>2]|0)+4>>2]>>2]|0);k[k[(k[d>>2]|0)+4>>2]>>2]=k[m>>2]}if(l[(k[g>>2]|0)+69>>0]|0){c=7;b=k[d>>2]|0;b=b+12|0;k[b>>2]=c;r=n;return}c=_j(113554)|0;b=k[d>>2]|0;b=b+12|0;k[b>>2]=c;r=n;return}function _j(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=$j(11,k[c>>2]|0,20316)|0;r=b;return a|0}function $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;f=e;d=e+20|0;h=e+16|0;g=e+12|0;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;c=k[d>>2]|0;g=k[g>>2]|0;a=k[h>>2]|0;b=(uf()|0)+20|0;k[f>>2]=g;k[f+4>>2]=a;k[f+8>>2]=b;$d(c,20336,f);r=e;return k[d>>2]|0}function ak(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;m=j+12|0;e=j+16|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;i[e>>0]=b;k[f>>2]=c;k[g>>2]=d;d=k[m>>2]|0;if(k[f>>2]|0){m=bk(d,k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=m}else k[h>>2]=k[d+8>>2];if(!(k[h>>2]|0)){m=k[h>>2]|0;r=j;return m|0}k[h>>2]=(k[h>>2]|0)+(((l[e>>0]|0)-1|0)*20|0);m=k[h>>2]|0;r=j;return m|0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;l=j+12|0;g=j+8|0;f=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[l>>2]=c;b=Cj((k[d>>2]|0)+364|0,k[e>>2]|0)|0;k[g>>2]=b;if(!(0==(k[g>>2]|0)&(k[l>>2]|0)!=0)){l=k[g>>2]|0;r=j;return l|0}l=Tf(k[e>>2]|0)|0;k[f>>2]=l;l=Ch(k[d>>2]|0,60+(k[f>>2]|0)+1|0,0)|0;k[g>>2]=l;if(!(k[g>>2]|0)){l=k[g>>2]|0;r=j;return l|0}k[h>>2]=0;k[k[g>>2]>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+4>>0]=1;k[(k[g>>2]|0)+20>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+20+4>>0]=2;k[(k[g>>2]|0)+40>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+40+4>>0]=3;bS(k[k[g>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;i[(k[k[g>>2]>>2]|0)+(k[f>>2]|0)>>0]=0;l=ck((k[d>>2]|0)+364|0,k[k[g>>2]>>2]|0,k[g>>2]|0)|0;k[h>>2]=l;if(!(k[h>>2]|0)){l=k[g>>2]|0;r=j;return l|0}wh(k[d>>2]|0);bg(k[d>>2]|0,k[h>>2]|0);k[g>>2]=0;l=k[g>>2]|0;r=j;return l|0}function ck(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;i=m+28|0;j=m+24|0;d=m+20|0;e=m+16|0;g=m+12|0;f=m+8|0;l=m+4|0;h=m;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;b=Dj(k[j>>2]|0,k[d>>2]|0,g)|0;k[f>>2]=b;if(k[f>>2]|0){k[h>>2]=k[(k[f>>2]|0)+8>>2];if(!(k[e>>2]|0))dk(k[j>>2]|0,k[f>>2]|0,k[g>>2]|0);else{k[(k[f>>2]|0)+8>>2]=k[e>>2];k[(k[f>>2]|0)+12>>2]=k[d>>2]}k[i>>2]=k[h>>2];l=k[i>>2]|0;r=m;return l|0}if(!(k[e>>2]|0)){k[i>>2]=0;l=k[i>>2]|0;r=m;return l|0}b=jg(16,0)|0;k[l>>2]=b;if(!(k[l>>2]|0)){k[i>>2]=k[e>>2];l=k[i>>2]|0;r=m;return l|0}k[(k[l>>2]|0)+12>>2]=k[d>>2];k[(k[l>>2]|0)+8>>2]=k[e>>2];b=(k[j>>2]|0)+4|0;k[b>>2]=(k[b>>2]|0)+1;if(((k[(k[j>>2]|0)+4>>2]|0)>>>0>=10?(k[(k[j>>2]|0)+4>>2]|0)>>>0>k[k[j>>2]>>2]<<1>>>0:0)?(ek(k[j>>2]|0,k[(k[j>>2]|0)+4>>2]<<1)|0)!=0:0){b=Ej(k[d>>2]|0)|0;k[g>>2]=(b>>>0)%((k[k[j>>2]>>2]|0)>>>0)|0}if(k[(k[j>>2]|0)+12>>2]|0)d=(k[(k[j>>2]|0)+12>>2]|0)+(k[g>>2]<<3)|0;else d=0;fk(k[j>>2]|0,d,k[l>>2]|0);k[i>>2]=0;l=k[i>>2]|0;r=m;return l|0}function dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[k[e>>2]>>2]|0;if(k[(k[e>>2]|0)+4>>2]|0)k[k[(k[e>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;if(k[k[e>>2]>>2]|0)k[(k[k[e>>2]>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];if(k[(k[d>>2]|0)+12>>2]|0){k[g>>2]=(k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]<<3);if((k[(k[g>>2]|0)+4>>2]|0)==(k[e>>2]|0))k[(k[g>>2]|0)+4>>2]=k[k[e>>2]>>2];g=k[g>>2]|0;k[g>>2]=(k[g>>2]|0)+-1}Ud(k[e>>2]|0);g=(k[d>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+-1;if(k[(k[d>>2]|0)+4>>2]|0){r=h;return}Kj(k[d>>2]|0);r=h;return}function ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;e=j+16|0;h=j+12|0;f=j+8|0;i=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[e>>2]=k[e>>2]<<3>>>0>1024?128:b;if((k[e>>2]|0)==(k[k[d>>2]>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=j;return a|0}gk();a=jg(k[e>>2]<<3,0)|0;k[h>>2]=a;hk();if(!(k[h>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=j;return a|0}Ud(k[(k[d>>2]|0)+12>>2]|0);k[(k[d>>2]|0)+12>>2]=k[h>>2];a=((kg(k[h>>2]|0)|0)>>>0)/8|0;k[e>>2]=a;k[k[d>>2]>>2]=a;dS(k[h>>2]|0,0,k[e>>2]<<3|0)|0;k[f>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;while(1){if(!(k[f>>2]|0))break;a=Ej(k[(k[f>>2]|0)+12>>2]|0)|0;k[g>>2]=(a>>>0)%((k[e>>2]|0)>>>0)|0;k[i>>2]=k[k[f>>2]>>2];fk(k[d>>2]|0,(k[h>>2]|0)+(k[g>>2]<<3)|0,k[f>>2]|0);k[f>>2]=k[i>>2]}k[c>>2]=1;a=k[c>>2]|0;r=j;return a|0}function fk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;if(k[d>>2]|0){if(k[k[d>>2]>>2]|0)b=k[(k[d>>2]|0)+4>>2]|0;else b=0;k[g>>2]=b;c=k[d>>2]|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[d>>2]|0)+4>>2]=k[f>>2]}else k[g>>2]=0;if(!(k[g>>2]|0)){k[k[f>>2]>>2]=k[(k[e>>2]|0)+8>>2];if(k[(k[e>>2]|0)+8>>2]|0)k[(k[(k[e>>2]|0)+8>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+8>>2]=k[f>>2];r=h;return}k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];b=k[f>>2]|0;if(k[(k[g>>2]|0)+4>>2]|0)k[k[(k[g>>2]|0)+4>>2]>>2]=b;else k[(k[e>>2]|0)+8>>2]=b;k[(k[g>>2]|0)+4>>2]=k[f>>2];r=h;return}function gk(){if(!(k[432]|0))return;dc[k[1728>>2]&255]();return}function hk(){if(!(k[433]|0))return;dc[k[1732>>2]&255]();return}function ik(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;m=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=(k[g>>2]|0)<(k[i>>2]|0)?k[g>>2]|0:k[i>>2]|0;a=oR(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[m>>2]=a;if(k[m>>2]|0){m=k[m>>2]|0;r=n;return m|0}if(((k[f>>2]|0)!=0?(nu((k[h>>2]|0)+(k[l>>2]|0)|0,(k[g>>2]|0)-(k[l>>2]|0)|0)|0)!=0:0)?(nu((k[j>>2]|0)+(k[l>>2]|0)|0,(k[i>>2]|0)-(k[l>>2]|0)|0)|0)!=0:0){m=k[m>>2]|0;r=n;return m|0}k[m>>2]=(k[g>>2]|0)-(k[i>>2]|0);m=k[m>>2]|0;r=n;return m|0}function jk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;f=i+16|0;l=i+12|0;g=i+8|0;j=i+4|0;h=i;k[i+20>>2]=a;k[f>>2]=b;k[l>>2]=c;k[g>>2]=d;k[j>>2]=e;e=Jd(k[l>>2]|0,k[j>>2]|0,(k[f>>2]|0)<(k[g>>2]|0)?k[f>>2]|0:k[g>>2]|0)|0;k[h>>2]=e;if(k[h>>2]|0){l=k[h>>2]|0;r=i;return l|0}k[h>>2]=(k[f>>2]|0)-(k[g>>2]|0);l=k[h>>2]|0;r=i;return l|0}function kk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=r;r=r+160|0;J=S+32|0;I=S+24|0;H=S+16|0;G=S+8|0;j=S+140|0;T=S+136|0;m=S+132|0;n=S+128|0;o=S+124|0;p=S+120|0;q=S+116|0;F=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;h=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;g=S;E=S+76|0;C=S+72|0;P=S+68|0;D=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;K=S+36|0;k[T>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[q>>2]=f;k[F>>2]=0;k[v>>2]=k[k[n>>2]>>2];k[Q>>2]=k[T>>2];b=Tf(k[m>>2]|0)|0;k[h>>2]=b;a:do if(((k[v>>2]&64|0)!=0|(k[5]|0)!=0)&(k[h>>2]|0)>=5?(oR(k[m>>2]|0,26023,5)|0)==0:0){k[y>>2]=0;b=(k[h>>2]|0)+2|0;T=g;k[T>>2]=b;k[T+4>>2]=((b|0)<0)<<31>>31;k[v>>2]=k[v>>2]|64;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[h>>2]|0))break;b=(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)==38&1;T=g;b=$R(k[T>>2]|0,k[T+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;T=g;k[T>>2]=b;k[T+4>>2]=L;k[x>>2]=(k[x>>2]|0)+1}T=g;T=Td(k[T>>2]|0,k[T+4>>2]|0)|0;k[M>>2]=T;if(!(k[M>>2]|0)){k[j>>2]=7;T=k[j>>2]|0;r=S;return T|0}k[x>>2]=5;do if((i[(k[m>>2]|0)+5>>0]|0)==47?(i[(k[m>>2]|0)+6>>0]|0)==47:0){k[x>>2]=7;while(1){if(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)g=(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)!=47;else g=0;h=k[x>>2]|0;if(!g)break;k[x>>2]=h+1}if((h|0)!=7){if((k[x>>2]|0)==16?(oR(26029,(k[m>>2]|0)+7|0,9)|0)==0:0)break;T=(k[m>>2]|0)+7|0;k[G>>2]=(k[x>>2]|0)-7;k[G+4>>2]=T;T=Yd(26039,G)|0;k[k[q>>2]>>2]=T;k[F>>2]=1;break a}}while(0);k[u>>2]=0;b:while(1){T=i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0;i[t>>0]=T;if(!(T<<24>>24))break;if((i[t>>0]|0)==35)break;k[x>>2]=(k[x>>2]|0)+1;do if(((i[t>>0]|0)==37?(l[18403+(l[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(l[18403+(l[(k[m>>2]|0)+((k[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=k[x>>2]|0;k[x>>2]=T+1;T=((Vi(i[(k[m>>2]|0)+T>>0]|0)|0)&255)<<4;k[E>>2]=T;T=k[x>>2]|0;k[x>>2]=T+1;T=(Vi(i[(k[m>>2]|0)+T>>0]|0)|0)&255;k[E>>2]=(k[E>>2]|0)+T;if(k[E>>2]|0){i[t>>0]=k[E>>2];break}while(1){T=i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0;i[t>>0]=T;if(!(T<<24>>24))continue b;if((i[t>>0]|0)==35)continue b;if((k[u>>2]|0)==0?(i[t>>0]|0)==63:0)continue b;if((k[u>>2]|0)==1){if((i[t>>0]|0)==61)continue b;if((i[t>>0]|0)==38)continue b}if((k[u>>2]|0)==2?(i[t>>0]|0)==38:0)continue b;k[x>>2]=(k[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((k[u>>2]|0)==1){if((i[t>>0]|0)!=38?(i[t>>0]|0)!=61:0)break;if(!(i[(k[M>>2]|0)+((k[y>>2]|0)-1)>>0]|0))while(1){if(!(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0))continue b;if((i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)==35)continue b;if((i[(k[m>>2]|0)+((k[x>>2]|0)-1)>>0]|0)==38)continue b;k[x>>2]=(k[x>>2]|0)+1}else{if((i[t>>0]|0)==38){T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0}else k[u>>2]=2;i[t>>0]=0;break c}}while(0);if(!((k[u>>2]|0)==0?(i[t>>0]|0)==63:0)){if((k[u>>2]|0)!=2)break;if((i[t>>0]|0)!=38)break}i[t>>0]=0;k[u>>2]=1}while(0);G=i[t>>0]|0;T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=G}if((k[u>>2]|0)==1){T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0}T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0;T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0;T=(Tf(k[M>>2]|0)|0)+1|0;k[O>>2]=(k[M>>2]|0)+T;while(1){if(!(i[k[O>>2]>>0]|0)){R=84;break a}T=Tf(k[O>>2]|0)|0;k[C>>2]=T;k[P>>2]=(k[O>>2]|0)+((k[C>>2]|0)+1);T=Tf(k[P>>2]|0)|0;k[D>>2]=T;if((k[C>>2]|0)==3?(oR(26067,k[O>>2]|0,3)|0)==0:0)k[Q>>2]=k[P>>2];else{k[s>>2]=0;k[N>>2]=0;k[A>>2]=0;k[z>>2]=0;if((k[C>>2]|0)==5?(oR(26071,k[O>>2]|0,5)|0)==0:0){k[A>>2]=393216;k[s>>2]=4104;k[z>>2]=k[A>>2];k[N>>2]=26071}if((k[C>>2]|0)==4?(oR(26077,k[O>>2]|0,4)|0)==0:0){k[A>>2]=135;k[s>>2]=4128;k[z>>2]=k[A>>2]&k[v>>2];k[N>>2]=26082}if(k[s>>2]|0){k[B>>2]=0;k[w>>2]=0;while(1){if(!(k[(k[s>>2]|0)+(k[w>>2]<<3)>>2]|0))break;k[K>>2]=k[(k[s>>2]|0)+(k[w>>2]<<3)>>2];T=k[D>>2]|0;if((T|0)==(Tf(k[K>>2]|0)|0)?0==(oR(k[P>>2]|0,k[K>>2]|0,k[D>>2]|0)|0):0){R=73;break}k[w>>2]=(k[w>>2]|0)+1}if((R|0)==73){R=0;k[B>>2]=k[(k[s>>2]|0)+(k[w>>2]<<3)+4>>2]}if(!(k[B>>2]|0)){R=76;break}if((k[B>>2]&-129|0)>(k[z>>2]|0)){R=78;break}k[v>>2]=k[v>>2]&~k[A>>2]|k[B>>2]}}k[O>>2]=(k[P>>2]|0)+((k[D>>2]|0)+1)}if((R|0)==76){T=k[P>>2]|0;k[H>>2]=k[N>>2];k[H+4>>2]=T;T=Yd(26089,H)|0;k[k[q>>2]>>2]=T;k[F>>2]=1;break}else if((R|0)==78){T=k[P>>2]|0;k[I>>2]=k[N>>2];k[I+4>>2]=T;T=Yd(26109,I)|0;k[k[q>>2]>>2]=T;k[F>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(k[h>>2]|0)+2|0;T=Td(T,((T|0)<0)<<31>>31)|0;k[M>>2]=T;if(k[M>>2]|0){bS(k[M>>2]|0,k[m>>2]|0,k[h>>2]|0)|0;i[(k[M>>2]|0)+(k[h>>2]|0)>>0]=0;i[(k[M>>2]|0)+((k[h>>2]|0)+1)>>0]=0;k[v>>2]=k[v>>2]&-65;R=84;break}k[j>>2]=7;T=k[j>>2]|0;r=S;return T|0}while(0);if((R|0)==84?(T=Md(k[Q>>2]|0)|0,k[k[o>>2]>>2]=T,(k[k[o>>2]>>2]|0)==0):0){k[J>>2]=k[Q>>2];T=Yd(26133,J)|0;k[k[q>>2]>>2]=T;k[F>>2]=1}if(k[F>>2]|0){Ud(k[M>>2]|0);k[M>>2]=0}k[k[n>>2]>>2]=k[v>>2];k[k[p>>2]>>2]=k[M>>2];k[j>>2]=k[F>>2];T=k[j>>2]|0;r=S;return T|0}function lk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+192|0;C=I+76|0;g=I+72|0;h=I+68|0;n=I+64|0;D=I+60|0;o=I+56|0;p=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;q=I+4|0;G=I;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[D>>2]=d;k[o>>2]=e;k[p>>2]=f;k[F>>2]=0;k[I+40>>2]=0;k[H>>2]=0;if(!(k[h>>2]|0))c=1;else c=(i[k[h>>2]>>0]|0)==0;k[u>>2]=c&1;if((k[h>>2]|0)!=0?(rR(k[h>>2]|0,25837)|0)==0:0)c=1;else B=5;do if((B|0)==5){if((k[u>>2]|0)!=0?(hr(k[n>>2]|0)|0)!=0:0){c=1;break}c=(k[p>>2]&128|0)!=0}while(0);k[t>>2]=c&1;if(k[t>>2]|0)k[o>>2]=k[o>>2]|2;if((k[p>>2]&256|0)!=0?(k[t>>2]|0)!=0|(k[u>>2]|0)!=0:0)k[p>>2]=k[p>>2]&-257|512;b=ug(48,0)|0;k[E>>2]=b;if(!(k[E>>2]|0)){k[C>>2]=7;H=k[C>>2]|0;r=I;return H|0}i[(k[E>>2]|0)+8>>0]=0;k[k[E>>2]>>2]=k[n>>2];k[(k[E>>2]|0)+32>>2]=k[E>>2];k[(k[E>>2]|0)+32+4>>2]=1;do if(!(k[u>>2]|0)){if((k[t>>2]|0)!=0?(k[p>>2]&64|0)==0:0)break;if(k[p>>2]&131072){u=(Tf(k[h>>2]|0)|0)+1|0;k[v>>2]=u;k[w>>2]=(k[(k[g>>2]|0)+8>>2]|0)+1;u=(k[w>>2]|0)>(k[v>>2]|0)?k[w>>2]|0:k[v>>2]|0;u=jg(u,((u|0)<0)<<31>>31)|0;k[A>>2]=u;i[(k[E>>2]|0)+9>>0]=1;if(!(k[A>>2]|0)){Ud(k[E>>2]|0);k[C>>2]=7;H=k[C>>2]|0;r=I;return H|0}if(!(k[t>>2]|0)){w=ir(k[g>>2]|0,k[h>>2]|0,k[w>>2]|0,k[A>>2]|0)|0;k[H>>2]=w;if(k[H>>2]|0){Ud(k[A>>2]|0);Ud(k[E>>2]|0);k[C>>2]=k[H>>2];H=k[C>>2]|0;r=I;return H|0}}else bS(k[A>>2]|0,k[h>>2]|0,k[v>>2]|0)|0;k[F>>2]=k[1006];while(1){if(!(k[F>>2]|0))break;w=k[A>>2]|0;if(0==(rR(w,Ui(k[k[F>>2]>>2]|0,0)|0)|0)?(w=Ii(k[k[F>>2]>>2]|0)|0,(w|0)==(k[g>>2]|0)):0){B=29;break}k[F>>2]=k[(k[F>>2]|0)+68>>2]}do if((B|0)==29){k[s>>2]=(k[(k[n>>2]|0)+20>>2]|0)-1;while(1){if((k[s>>2]|0)<0){B=35;break}k[y>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+(k[s>>2]<<4)+4>>2];if((k[y>>2]|0)!=0?(k[(k[y>>2]|0)+4>>2]|0)==(k[F>>2]|0):0)break;k[s>>2]=(k[s>>2]|0)+-1}if((B|0)==35){k[(k[E>>2]|0)+4>>2]=k[F>>2];y=(k[F>>2]|0)+64|0;k[y>>2]=(k[y>>2]|0)+1;break}Ud(k[A>>2]|0);Ud(k[E>>2]|0);k[C>>2]=19;H=k[C>>2]|0;r=I;return H|0}while(0);Ud(k[A>>2]|0)}}while(0);do if(!(k[F>>2]|0)){A=ug(84,0)|0;k[F>>2]=A;if(!(k[F>>2]|0)){k[H>>2]=7;break}A=kr(k[g>>2]|0,k[F>>2]|0,k[h>>2]|0,88,k[o>>2]|0,k[p>>2]|0,149)|0;k[H>>2]=A;if(!(k[H>>2]|0)){A=(k[n>>2]|0)+40|0;lr(k[k[F>>2]>>2]|0,k[A>>2]|0,k[A+4>>2]|0);A=mr(k[k[F>>2]>>2]|0,100,z)|0;k[H>>2]=A}if(!(k[H>>2]|0)){i[(k[F>>2]|0)+16>>0]=k[o>>2];k[(k[F>>2]|0)+4>>2]=k[n>>2];or(k[k[F>>2]>>2]|0,171,k[F>>2]|0);k[(k[E>>2]|0)+4>>2]=k[F>>2];k[(k[F>>2]|0)+8>>2]=0;k[(k[F>>2]|0)+12>>2]=0;if((pr(k[k[F>>2]>>2]|0)|0)<<24>>24){A=(k[F>>2]|0)+22|0;j[A>>1]=m[A>>1]|1}k[(k[F>>2]|0)+32>>2]=l[z+16>>0]<<8|l[z+17>>0]<<16;if(((k[(k[F>>2]|0)+32>>2]|0)>>>0>=512?(k[(k[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((k[(k[F>>2]|0)+32>>2]|0)-1&k[(k[F>>2]|0)+32>>2]|0)==0:0){i[x>>0]=i[z+20>>0]|0;A=(k[F>>2]|0)+22|0;j[A>>1]=m[A>>1]|2;A=(qr(z+52|0)|0)!=0;i[(k[F>>2]|0)+17>>0]=A?1:0;A=(qr(z+64|0)|0)!=0;i[(k[F>>2]|0)+18>>0]=A?1:0}else{k[(k[F>>2]|0)+32>>2]=0;if(!((k[h>>2]|0)==0|(k[t>>2]|0)!=0)){i[(k[F>>2]|0)+17>>0]=0;i[(k[F>>2]|0)+18>>0]=0}i[x>>0]=0}A=dj(k[k[F>>2]>>2]|0,(k[F>>2]|0)+32|0,l[x>>0]|0)|0;k[H>>2]=A;if(!(k[H>>2]|0)){k[(k[F>>2]|0)+36>>2]=(k[(k[F>>2]|0)+32>>2]|0)-(l[x>>0]|0);k[(k[F>>2]|0)+64>>2]=1;if(i[(k[E>>2]|0)+9>>0]|0){k[(k[F>>2]|0)+68>>2]=k[1006];k[1006]=k[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(i[(k[E>>2]|0)+9>>0]|0){k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[(k[n>>2]|0)+20>>2]|0))break a;B=k[(k[(k[n>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0;k[G>>2]=B;if((B|0)!=0?(l[(k[G>>2]|0)+9>>0]|0)!=0:0)break;k[q>>2]=(k[q>>2]|0)+1}while(1){if(!(k[(k[G>>2]|0)+28>>2]|0))break;k[G>>2]=k[(k[G>>2]|0)+28>>2]}if((k[(k[E>>2]|0)+4>>2]|0)>>>0<(k[(k[G>>2]|0)+4>>2]|0)>>>0){k[(k[E>>2]|0)+24>>2]=k[G>>2];k[(k[E>>2]|0)+28>>2]=0;k[(k[G>>2]|0)+28>>2]=k[E>>2];break}while(1){if(k[(k[G>>2]|0)+24>>2]|0)e=(k[(k[(k[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(k[(k[E>>2]|0)+4>>2]|0)>>>0;else e=0;c=k[(k[G>>2]|0)+24>>2]|0;if(!e)break;k[G>>2]=c}k[(k[E>>2]|0)+24>>2]=c;k[(k[E>>2]|0)+28>>2]=k[G>>2];if(k[(k[E>>2]|0)+24>>2]|0)k[(k[(k[E>>2]|0)+24>>2]|0)+28>>2]=k[E>>2];k[(k[G>>2]|0)+24>>2]=k[E>>2]}while(0);k[k[D>>2]>>2]=k[E>>2]}if(!(k[H>>2]|0)){if(!(gr(k[E>>2]|0,0,0)|0))Xj(k[k[(k[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if((k[F>>2]|0)!=0?(k[k[F>>2]>>2]|0)!=0:0)rr(k[k[F>>2]>>2]|0)|0;Ud(k[F>>2]|0);Ud(k[E>>2]|0);k[k[D>>2]>>2]=0}k[C>>2]=k[H>>2];H=k[C>>2]|0;r=I;return H|0}function mk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=gr(k[d>>2]|0,84,150)|0;k[e>>2]=b}else{b=Ch(0,84,0)|0;k[e>>2]=b}if(!(k[e>>2]|0)){wh(k[c>>2]|0);b=k[e>>2]|0;r=f;return b|0}if(l[(k[e>>2]|0)+76>>0]|0){b=k[e>>2]|0;r=f;return b|0}Jj((k[e>>2]|0)+8|0);Jj((k[e>>2]|0)+24|0);Jj((k[e>>2]|0)+40|0);Jj((k[e>>2]|0)+56|0);i[(k[e>>2]|0)+77>>0]=1;b=k[e>>2]|0;r=f;return b|0}function nk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;a=If(k[b>>2]|0,25831,2)|0;k[d>>2]=a;if((k[d>>2]|0)!=7){r=c;return}wh(k[b>>2]|0);r=c;return}function ok(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;g=j;b=j+28|0;d=j+24|0;c=j+20|0;f=j+16|0;h=j+12|0;i=j+8|0;e=j+4|0;k[b>>2]=a;k[c>>2]=1;if(!(k[385]|0)){r=j;return}k[d>>2]=0;while(1){if(!(k[c>>2]|0))break;k[e>>2]=0;if((k[d>>2]|0)>>>0>=(k[385]|0)>>>0){k[h>>2]=0;k[c>>2]=0}else k[h>>2]=k[(k[386]|0)+(k[d>>2]<<2)>>2];k[i>>2]=0;if((k[h>>2]|0)!=0?(a=Yb[k[h>>2]&255](k[b>>2]|0,i,k[e>>2]|0)|0,k[f>>2]=a,(a|0)!=0):0){l=k[b>>2]|0;a=k[f>>2]|0;k[g>>2]=k[i>>2];tg(l,a,25792,g);k[c>>2]=0}Ud(k[i>>2]|0);k[d>>2]=(k[d>>2]|0)+1}r=j;return}function pk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;h=i+16|0;d=i+12|0;f=i+8|0;e=i+4|0;g=i;k[c>>2]=a;k[h>>2]=0;k[d>>2]=0;k[f>>2]=0;k[e>>2]=0;k[g>>2]=0;qk(g);a=rk(k[c>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}sk(f);tk(e);a=Sd(20)|0;k[d>>2]=a;if(k[d>>2]|0)uk(k[d>>2]|0,1,1);else k[h>>2]=7;do if(!(k[h>>2]|0)){if(((vk(k[d>>2]|0,20447,7,k[f>>2]|0)|0)==0?(vk(k[d>>2]|0,20454,7,k[e>>2]|0)|0)==0:0)?(vk(k[d>>2]|0,20461,10,k[g>>2]|0)|0)==0:0)break;k[h>>2]=7}while(0);if((((((0==(k[h>>2]|0)?(g=wk(k[c>>2]|0,k[d>>2]|0,20471)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,20486,-1)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,20494,1)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,20502,1)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,20502,2)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,20512,1)|0,k[h>>2]=g,0==(g|0)):0){g=pf(k[c>>2]|0,20521,1736,k[d>>2]|0,151)|0;k[h>>2]=g;if(!(k[h>>2]|0)){g=pf(k[c>>2]|0,20526,1736,k[d>>2]|0,0)|0;k[h>>2]=g}if(!(k[h>>2]|0)){g=yk(k[c>>2]|0,k[d>>2]|0)|0;k[h>>2]=g}k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}if(k[d>>2]|0){zk(k[d>>2]|0);Ud(k[d>>2]|0)}k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}function qk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2356;r=b;return}function rk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=of(k[d>>2]|0,25443,2264,0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function sk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2236;r=b;return}function tk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2208;r=b;return}function uk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d;g=d+5|0;f=d+4|0;k[e>>2]=a;i[g>>0]=b;i[f>>0]=c;i[k[e>>2]>>0]=i[g>>0]|0;i[(k[e>>2]|0)+1>>0]=i[f>>0]|0;k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=0;k[(k[e>>2]|0)+16>>2]=0;r=d;return}function vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;h=s+40|0;j=s+36|0;l=s+32|0;m=s+28|0;n=s+24|0;p=s+20|0;o=s+16|0;e=s+12|0;q=s+8|0;t=s+4|0;f=s;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;b=Rk(i[k[j>>2]>>0]|0)|0;k[t>>2]=b;b=gc[k[t>>2]&255](k[l>>2]|0,k[m>>2]|0)|0;k[p>>2]=b;k[o>>2]=k[p>>2]&(k[(k[j>>2]|0)+12>>2]|0)-1;b=Sk(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[o>>2]|0)|0;k[e>>2]=b;if(k[e>>2]|0){k[f>>2]=k[(k[e>>2]|0)+8>>2];if(!(k[n>>2]|0))kq(k[j>>2]|0,k[e>>2]|0,k[o>>2]|0);else k[(k[e>>2]|0)+8>>2]=k[n>>2];k[h>>2]=k[f>>2];t=k[h>>2]|0;r=s;return t|0}if(!(k[n>>2]|0)){k[h>>2]=0;t=k[h>>2]|0;r=s;return t|0}if(!((k[(k[j>>2]|0)+12>>2]|0)==0?(lq(k[j>>2]|0,8)|0)!=0:0))g=10;do if((g|0)==10){if((k[(k[j>>2]|0)+4>>2]|0)>=(k[(k[j>>2]|0)+12>>2]|0)?(lq(k[j>>2]|0,k[(k[j>>2]|0)+12>>2]<<1)|0)!=0:0)break;t=mq(20)|0;k[q>>2]=t;if(!(k[q>>2]|0)){k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}do if((k[l>>2]|0)!=0?(i[(k[j>>2]|0)+1>>0]|0)!=0:0){d=mq(k[m>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=d;d=k[q>>2]|0;if(k[(k[q>>2]|0)+12>>2]|0){bS(k[d+12>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;break}Ak(d);k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}else k[(k[q>>2]|0)+12>>2]=k[l>>2];while(0);k[(k[q>>2]|0)+16>>2]=k[m>>2];t=(k[j>>2]|0)+4|0;k[t>>2]=(k[t>>2]|0)+1;k[o>>2]=k[p>>2]&(k[(k[j>>2]|0)+12>>2]|0)-1;nq(k[j>>2]|0,(k[(k[j>>2]|0)+16>>2]|0)+(k[o>>2]<<3)|0,k[q>>2]|0);k[(k[q>>2]|0)+8>>2]=k[n>>2];k[h>>2]=0;t=k[h>>2]|0;r=s;return t|0}while(0);k[(k[j>>2]|0)+4>>2]=0;k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}function wk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;k[g>>2]=0;k[f>>2]=k[i>>2];k[h>>2]=5;if(!(k[g>>2]|0)){i=Gf(k[d>>2]|0,k[e>>2]|0,1,5,k[f>>2]|0,225,0,0)|0;k[g>>2]=i}if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}i=Gf(k[d>>2]|0,k[e>>2]|0,2,5,k[f>>2]|0,225,0,0)|0;k[g>>2]=i;i=k[g>>2]|0;r=h;return i|0}function xk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];zk(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=of(k[f>>2]|0,20531,1828,k[e>>2]|0)|0;k[c>>2]=b;r=d;return k[c>>2]|0}function zk(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[(k[b>>2]|0)+8>>2]=0;Ak(k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+16>>2]=0;k[(k[b>>2]|0)+12>>2]=0;while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];if((i[(k[b>>2]|0)+1>>0]|0)!=0?(k[(k[c>>2]|0)+12>>2]|0)!=0:0)Ak(k[(k[c>>2]|0)+12>>2]|0);Ak(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+4>>2]=0;r=e;return}function Ak(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function Bk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+64|0;g=w+56|0;x=w+52|0;h=w+48|0;i=w+44|0;j=w+40|0;l=w+36|0;m=w+32|0;s=w+28|0;q=w+24|0;t=w+20|0;u=w+16|0;o=w+12|0;p=w+8|0;v=w+4|0;n=w;k[x>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[s>>2]=0;k[q>>2]=0;k[t>>2]=0;k[o>>2]=0;f=qf(k[x>>2]|0,20544)|0;k[u>>2]=f;if(k[u>>2]|0){k[g>>2]=k[u>>2];x=k[g>>2]|0;r=w;return x|0}k[p>>2]=(k[i>>2]|0)-3;x=Mk(k[p>>2]|0,(k[j>>2]|0)+12|0,o)|0;k[u>>2]=x;if(!(k[u>>2]|0)){if((k[p>>2]|0)<1)k[v>>2]=20447;else k[v>>2]=k[k[o>>2]>>2];x=Nk(k[h>>2]|0,k[v>>2]|0,q,k[m>>2]|0)|0;k[u>>2]=x}if(!(k[u>>2]|0)){k[n>>2]=(k[o>>2]|0)+4;x=Yb[k[(k[q>>2]|0)+4>>2]&255]((k[p>>2]|0)>1?(k[p>>2]|0)-1|0:0,k[n>>2]|0,t)|0;k[u>>2]=x}if((k[u>>2]|0)==0?(x=Sd(20)|0,k[s>>2]=x,(k[s>>2]|0)==0):0)k[u>>2]=7;if(k[u>>2]|0){if(k[t>>2]|0)bc[k[(k[q>>2]|0)+8>>2]&255](k[t>>2]|0)|0}else{x=k[s>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[x+16>>2]=0;k[(k[s>>2]|0)+12>>2]=k[q>>2];k[(k[s>>2]|0)+16>>2]=k[t>>2];k[k[l>>2]>>2]=k[s>>2]}Ud(k[o>>2]|0);k[g>>2]=k[u>>2];x=k[g>>2]|0;r=w;return x|0}function Ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){b=8;break}if(((l[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+5>>0]|0|0)!=0?(k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)>>2]|0)==0:0)?(l[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+4>>0]|0|0)==2:0){b=6;break}k[e>>2]=(k[e>>2]|0)+1}if((b|0)==6){k[(k[d>>2]|0)+20>>2]=1;k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<3)>>2]=1;i[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<3)+4>>0]=1;p[(k[d>>2]|0)+40>>3]=1.0;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}else if((b|0)==8){k[(k[d>>2]|0)+20>>2]=0;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Dk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];bc[k[(k[(k[c>>2]|0)+12>>2]|0)+8>>2]&255](k[(k[c>>2]|0)+16>>2]|0)|0;Ud(k[c>>2]|0);r=b;return 0}function Ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;b=Sd(36)|0;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=7;e=k[c>>2]|0;r=f;return e|0}else{a=k[e>>2]|0;b=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[d>>2]>>2]=k[e>>2];k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Fk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Lk(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Gk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;f=p+40|0;g=p+36|0;q=p+32|0;h=p+20|0;n=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;j=p;k[g>>2]=a;k[q>>2]=b;k[p+28>>2]=c;k[p+24>>2]=d;k[h>>2]=e;k[n>>2]=1;k[l>>2]=k[g>>2];k[m>>2]=k[k[g>>2]>>2];Lk(k[l>>2]|0);do if((k[q>>2]|0)==1){q=je(k[k[h>>2]>>2]|0)|0;k[o>>2]=q;q=ke(k[k[h>>2]>>2]|0)|0;k[j>>2]=q;q=Sd((k[j>>2]|0)+1|0)|0;k[(k[l>>2]|0)+4>>2]=q;if(!(k[(k[l>>2]|0)+4>>2]|0)){k[n>>2]=7;break}bS(k[(k[l>>2]|0)+4>>2]|0,k[o>>2]|0,k[j>>2]|0)|0;i[(k[(k[l>>2]|0)+4>>2]|0)+(k[j>>2]|0)>>0]=0;q=ec[k[(k[(k[m>>2]|0)+12>>2]|0)+12>>2]&255](k[(k[m>>2]|0)+16>>2]|0,k[(k[l>>2]|0)+4>>2]|0,k[j>>2]|0,(k[l>>2]|0)+8|0)|0;k[n>>2]=q;if(!(k[n>>2]|0))k[k[(k[l>>2]|0)+8>>2]>>2]=k[(k[m>>2]|0)+16>>2]}while(0);if(k[n>>2]|0){k[f>>2]=k[n>>2];q=k[f>>2]|0;r=p;return q|0}else{q=Hk(k[g>>2]|0)|0;k[f>>2]=q;q=k[f>>2]|0;r=p;return q|0}return 0}function Hk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;b=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[b>>2]=k[f>>2];k[e>>2]=k[k[f>>2]>>2];a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;a=ac[k[(k[(k[e>>2]|0)+12>>2]|0)+20>>2]&255](k[(k[b>>2]|0)+8>>2]|0,(k[b>>2]|0)+16|0,(k[b>>2]|0)+20|0,(k[b>>2]|0)+24|0,(k[b>>2]|0)+28|0,(k[b>>2]|0)+32|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){f=k[c>>2]|0;r=d;return f|0}Lk(k[b>>2]|0);if((k[c>>2]|0)!=101){f=k[c>>2]|0;r=d;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=d;return f|0}function Ik(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];r=c;return (k[(k[b>>2]|0)+16>>2]|0)==0|0}function Jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;d=f+8|0;g=f+4|0;e=f;k[h>>2]=a;k[d>>2]=b;k[g>>2]=c;k[e>>2]=k[h>>2];switch(k[g>>2]|0){case 0:{we(k[d>>2]|0,k[(k[e>>2]|0)+4>>2]|0,-1,-1);r=f;return 0}case 1:{we(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0,-1);r=f;return 0}case 2:{te(k[d>>2]|0,k[(k[e>>2]|0)+24>>2]|0);r=f;return 0}case 3:{te(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0);r=f;return 0}default:{te(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0);r=f;return 0}}return 0}function Kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[f>>2];a=k[(k[e>>2]|0)+12>>2]|0;b=k[d>>2]|0;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;r=c;return 0}function Lk(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(k[(k[b>>2]|0)+8>>2]|0){k[c>>2]=k[k[b>>2]>>2];bc[k[(k[(k[c>>2]|0)+12>>2]|0)+16>>2]&255](k[(k[b>>2]|0)+8>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=0}Ud(k[(k[b>>2]|0)+4>>2]|0);k[(k[b>>2]|0)+4>>2]=0;k[(k[b>>2]|0)+16>>2]=0;k[(k[b>>2]|0)+20>>2]=0;k[(k[b>>2]|0)+24>>2]=0;k[(k[b>>2]|0)+28>>2]=0;k[(k[b>>2]|0)+32>>2]=0;k[(k[b>>2]|0)+12>>2]=0;r=d;return}function Mk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;d=n+32|0;e=n+28|0;f=n+24|0;m=n+20|0;h=n+16|0;j=n+12|0;g=n+8|0;l=n+4|0;i=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;if(!(k[d>>2]|0)){k[k[f>>2]>>2]=0;m=k[m>>2]|0;r=n;return m|0}k[j>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[d>>2]|0))break;c=(uR(k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0)|0)+1|0;k[j>>2]=(k[j>>2]|0)+c;k[h>>2]=(k[h>>2]|0)+1}c=Sd((k[d>>2]<<2)+(k[j>>2]|0)|0)|0;k[g>>2]=c;k[k[f>>2]>>2]=c;if(!(k[g>>2]|0)){k[m>>2]=7;m=k[m>>2]|0;r=n;return m|0}k[l>>2]=(k[g>>2]|0)+(k[d>>2]<<2);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[d>>2]|0))break;c=uR(k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;k[i>>2]=c;k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[l>>2];bS(k[l>>2]|0,k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0,(k[i>>2]|0)+1|0)|0;Yk(k[l>>2]|0);k[l>>2]=(k[l>>2]|0)+((k[i>>2]|0)+1);k[h>>2]=(k[h>>2]|0)+1}m=k[m>>2]|0;r=n;return m|0}function Nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;j=l;e=l+28|0;n=l+24|0;f=l+20|0;g=l+16|0;h=l+12|0;i=l+8|0;m=l+4|0;k[n>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=uR(k[f>>2]|0)|0;k[m>>2]=b;b=Ok(k[n>>2]|0,k[f>>2]|0,(k[m>>2]|0)+1|0)|0;k[i>>2]=b;if(k[i>>2]|0){k[k[g>>2]>>2]=k[i>>2];k[e>>2]=0;n=k[e>>2]|0;r=l;return n|0}else{n=k[h>>2]|0;k[j>>2]=k[f>>2];Pk(n,20595,j);k[e>>2]=1;n=k[e>>2]|0;r=l;return n|0}return 0}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;b=Qk(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){h=0;r=e;return h|0}h=k[(k[d>>2]|0)+8>>2]|0;r=e;return h|0}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;Ud(k[k[e>>2]>>2]|0);k[f>>2]=c;b=Xd(k[g>>2]|0,f)|0;k[k[e>>2]>>2]=b;r=d;return}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[e>>2]|0)!=0?(k[(k[e>>2]|0)+16>>2]|0)!=0:0){b=Rk(i[k[e>>2]>>0]|0)|0;k[j>>2]=b;j=gc[k[j>>2]&255](k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=j;j=Sk(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]&(k[(k[e>>2]|0)+12>>2]|0)-1)|0;k[d>>2]=j;j=k[d>>2]|0;r=l;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function Rk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[d>>2]|0)==1)k[b>>2]=180;else k[b>>2]=181;r=c;return k[b>>2]|0}function Sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;h=p+32|0;e=p+28|0;j=p+24|0;l=p+20|0;f=p+16|0;n=p+12|0;m=p+8|0;o=p+4|0;g=p;k[e>>2]=a;k[j>>2]=b;k[l>>2]=c;k[f>>2]=d;a:do if(k[(k[e>>2]|0)+16>>2]|0){k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<3);k[n>>2]=k[(k[g>>2]|0)+4>>2];k[m>>2]=k[k[g>>2]>>2];b=Tk(i[k[e>>2]>>0]|0)|0;k[o>>2]=b;while(1){b=k[m>>2]|0;k[m>>2]=b+-1;if(!((b|0)!=0?(k[n>>2]|0)!=0:0))break a;b=(ec[k[o>>2]&255](k[(k[n>>2]|0)+12>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[j>>2]|0,k[l>>2]|0)|0)==0;e=k[n>>2]|0;if(b)break;k[n>>2]=k[e>>2]}k[h>>2]=e;o=k[h>>2]|0;r=p;return o|0}while(0);k[h>>2]=0;o=k[h>>2]|0;r=p;return o|0}function Tk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[d>>2]|0)==1)k[b>>2]=142;else k[b>>2]=143;r=c;return k[b>>2]|0}function Uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;j=i;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[g>>2]|0)!=(k[j>>2]|0)){k[e>>2]=1;j=k[e>>2]|0;r=i;return j|0}else{j=vR(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;r=i;return j|0}return 0}function Vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;j=i;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[g>>2]|0)!=(k[j>>2]|0)){k[e>>2]=1;j=k[e>>2]|0;r=i;return j|0}else{j=oR(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;r=i;return j|0}return 0}function Wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[e>>2]=k[g>>2];k[d>>2]=0;if((k[c>>2]|0)<=0){g=uR(k[e>>2]|0)|0;k[c>>2]=g}while(1){b=k[d>>2]|0;if((k[c>>2]|0)<=0)break;a=b<<3^k[d>>2];g=k[e>>2]|0;k[e>>2]=g+1;k[d>>2]=a^i[g>>0];k[c>>2]=(k[c>>2]|0)+-1}r=f;return b&2147483647|0}function Xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=k[g>>2];while(1){g=k[c>>2]|0;k[c>>2]=g+-1;b=k[d>>2]|0;if((g|0)<=0)break;a=b<<3^k[d>>2];g=k[e>>2]|0;k[e>>2]=g+1;k[d>>2]=a^i[g>>0]}r=f;return b&2147483647|0}function Yk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+8|0;f=g+12|0;d=g+4|0;e=g;k[c>>2]=a;i[f>>0]=i[k[c>>2]>>0]|0;if((((i[f>>0]|0)!=91?(i[f>>0]|0)!=39:0)?(i[f>>0]|0)!=34:0)?(i[f>>0]|0)!=96:0){r=g;return}k[d>>2]=1;k[e>>2]=0;if((i[f>>0]|0)==91)i[f>>0]=93;while(1){if(!(i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0))break;a=k[d>>2]|0;b=a+1|0;if((i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0)!=(i[f>>0]|0)){k[d>>2]=b;a=i[(k[c>>2]|0)+a>>0]|0;b=k[e>>2]|0;k[e>>2]=b+1;i[(k[c>>2]|0)+b>>0]=a;continue}if((i[(k[c>>2]|0)+b>>0]|0)!=(i[f>>0]|0))break;a=i[f>>0]|0;b=k[e>>2]|0;k[e>>2]=b+1;i[(k[c>>2]|0)+b>>0]=a;k[d>>2]=(k[d>>2]|0)+2}i[(k[c>>2]|0)+(k[e>>2]|0)>>0]=0;r=g;return}function Zk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=r;r=r+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=Vp(1,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;r=g;return f|0}function _k(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=r;r=r+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=Vp(0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;r=g;return f|0}function $k(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+64|0;q=u+48|0;v=u+44|0;s=u+40|0;m=u+36|0;d=u+32|0;e=u+28|0;j=u+24|0;f=u+20|0;g=u+16|0;h=u+12|0;c=u+8|0;n=u+4|0;t=u;k[v>>2]=a;k[s>>2]=b;k[m>>2]=k[v>>2];k[e>>2]=-1;k[j>>2]=-1;k[f>>2]=-1;k[g>>2]=-1;k[(k[s>>2]|0)+20>>2]=0;p[(k[s>>2]|0)+40>>3]=5.0e6;k[d>>2]=0;a:while(1){if((k[d>>2]|0)>=(k[k[s>>2]>>2]|0))break;k[n>>2]=(k[(k[s>>2]|0)+4>>2]|0)+((k[d>>2]|0)*12|0);b=k[n>>2]|0;b:do if(!(l[(k[n>>2]|0)+5>>0]|0)){if((l[b+4>>0]|0)==64){o=5;break a}}else{if((k[b>>2]|0)<0)b=1;else b=(k[k[n>>2]>>2]|0)==((k[(k[m>>2]|0)+24>>2]|0)+1|0);k[c>>2]=b&1;if((k[e>>2]|0)<0?((k[c>>2]|0)!=0?(l[(k[n>>2]|0)+4>>0]|0)==2:0):0){k[(k[s>>2]|0)+20>>2]=1;p[(k[s>>2]|0)+40>>3]=1.0;k[e>>2]=k[d>>2]}if(((l[(k[n>>2]|0)+4>>0]|0)==64?(k[k[n>>2]>>2]|0)>=0:0)?(k[k[n>>2]>>2]|0)<=(k[(k[m>>2]|0)+24>>2]|0):0){k[(k[s>>2]|0)+20>>2]=2+(k[k[n>>2]>>2]|0);p[(k[s>>2]|0)+40>>3]=2.0;k[e>>2]=k[d>>2]}if((l[(k[n>>2]|0)+4>>0]|0)==2?(k[k[n>>2]>>2]|0)==((k[(k[m>>2]|0)+24>>2]|0)+2|0):0)k[j>>2]=k[d>>2];if(k[c>>2]|0)switch(l[(k[n>>2]|0)+4>>0]|0){case 4:case 32:{k[f>>2]=k[d>>2];break b}case 16:case 8:{k[g>>2]=k[d>>2];break b}default:break b}}while(0);k[d>>2]=(k[d>>2]|0)+1}if((o|0)==5){k[(k[s>>2]|0)+20>>2]=0;p[(k[s>>2]|0)+40>>3]=1.e+50;Tp(k[s>>2]|0,0,262144);k[q>>2]=0;v=k[q>>2]|0;r=u;return v|0}if((k[(k[s>>2]|0)+20>>2]|0)==1)Up(k[s>>2]|0);k[h>>2]=1;if((k[e>>2]|0)>=0){v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<3)>>2]=v;i[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<3)+4>>0]=1}if((k[j>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|65536;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[j>>2]<<3)>>2]=v}if((k[f>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|131072;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[f>>2]<<3)>>2]=v}if((k[g>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|262144;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]=v}do if((k[(k[s>>2]|0)+8>>2]|0)==1){k[t>>2]=k[(k[s>>2]|0)+12>>2];if((k[k[t>>2]>>2]|0)>=0?(k[k[t>>2]>>2]|0)!=((k[(k[m>>2]|0)+24>>2]|0)+1|0):0)break;b=(k[s>>2]|0)+24|0;if(i[(k[t>>2]|0)+4>>0]|0)k[b>>2]=23624;else k[b>>2]=23629;k[(k[s>>2]|0)+32>>2]=1}while(0);k[q>>2]=0;v=k[q>>2]|0;r=u;return v|0}function al(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;c=d+4|0;b=d;k[e>>2]=a;k[c>>2]=k[e>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=40)break;fe(k[(k[c>>2]|0)+56+(k[b>>2]<<2)>>2]|0)|0;k[b>>2]=(k[b>>2]|0)+1}Ud(k[(k[c>>2]|0)+240>>2]|0);Ud(k[(k[c>>2]|0)+216>>2]|0);Ud(k[(k[c>>2]|0)+220>>2]|0);Ud(k[(k[c>>2]|0)+40>>2]|0);Ud(k[(k[c>>2]|0)+44>>2]|0);bc[k[(k[k[(k[c>>2]|0)+36>>2]>>2]|0)+8>>2]&255](k[(k[c>>2]|0)+36>>2]|0)|0;Ud(k[c>>2]|0);r=d;return 0}function bl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;h=m+32|0;g=m+24|0;j=m+16|0;i=m+8|0;f=m;b=m+56|0;d=m+52|0;e=m+48|0;l=m+44|0;c=m+40|0;k[b>>2]=a;k[d>>2]=k[b>>2];k[e>>2]=0;k[l>>2]=k[(k[d>>2]|0)+16>>2];k[c>>2]=k[(k[d>>2]|0)+12>>2];if(!(k[(k[d>>2]|0)+40>>2]|0)){a=k[c>>2]|0;n=k[(k[d>>2]|0)+20>>2]|0;k[f>>2]=k[l>>2];k[f+4>>2]=n;xl(e,a,23824,f)}n=k[c>>2]|0;f=k[(k[d>>2]|0)+20>>2]|0;k[i>>2]=k[l>>2];k[i+4>>2]=f;xl(e,n,23861,i);n=k[c>>2]|0;i=k[(k[d>>2]|0)+20>>2]|0;k[j>>2]=k[l>>2];k[j+4>>2]=i;xl(e,n,23899,j);n=k[c>>2]|0;j=k[(k[d>>2]|0)+20>>2]|0;k[g>>2]=k[l>>2];k[g+4>>2]=j;xl(e,n,23935,g);n=k[c>>2]|0;j=k[(k[d>>2]|0)+20>>2]|0;k[h>>2]=k[l>>2];k[h+4>>2]=j;xl(e,n,23972,h);if(!(k[e>>2]|0)){n=al(k[b>>2]|0)|0;r=m;return n|0}else{n=k[e>>2]|0;r=m;return n|0}return 0}function cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;d=e+12|0;f=e+4|0;c=e;k[e+8>>2]=a;k[f>>2]=b;b=Sd(96)|0;k[c>>2]=b;k[k[f>>2]>>2]=b;if(k[c>>2]|0){c=k[c>>2]|0;a=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}else{k[d>>2]=7;f=k[d>>2]|0;r=e;return f|0}return 0}function dl(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];fe(k[(k[c>>2]|0)+8>>2]|0)|0;qp(k[(k[c>>2]|0)+12>>2]|0);Sp(k[c>>2]|0);Ud(k[(k[c>>2]|0)+44>>2]|0);Jm(k[(k[c>>2]|0)+92>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function el(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+112|0;B=D+32|0;A=D;t=D+108|0;u=D+104|0;f=D+100|0;m=D+96|0;g=D+88|0;z=D+84|0;C=D+80|0;n=D+76|0;v=D+72|0;w=D+68|0;p=D+64|0;q=D+60|0;x=D+56|0;y=D+52|0;h=D+48|0;o=D+44|0;s=D+40|0;k[u>>2]=a;k[f>>2]=b;k[m>>2]=c;k[D+92>>2]=d;k[g>>2]=e;k[z>>2]=0;k[v>>2]=k[k[u>>2]>>2];k[w>>2]=k[u>>2];k[p>>2]=0;k[q>>2]=0;k[x>>2]=0;k[y>>2]=0;k[n>>2]=k[f>>2]&65535;k[h>>2]=0;if(k[n>>2]|0){a=k[h>>2]|0;k[h>>2]=a+1;k[p>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&65536){a=k[h>>2]|0;k[h>>2]=a+1;k[q>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&131072){a=k[h>>2]|0;k[h>>2]=a+1;k[x>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&262144){a=k[h>>2]|0;k[h>>2]=a+1;k[y>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}fe(k[(k[w>>2]|0)+8>>2]|0)|0;Ud(k[(k[w>>2]|0)+44>>2]|0);Jm(k[(k[w>>2]|0)+92>>2]|0);qp(k[(k[w>>2]|0)+12>>2]|0);f=(k[u>>2]|0)+4|0;g=f+92|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a=rp(k[x>>2]|0,0,-2147483648)|0;d=(k[w>>2]|0)+72|0;k[d>>2]=a;k[d+4>>2]=L;d=rp(k[y>>2]|0,-1,2147483647)|0;a=(k[w>>2]|0)+80|0;k[a>>2]=d;k[a+4>>2]=L;if(k[m>>2]|0)i[(k[w>>2]|0)+52>>0]=(i[k[m>>2]>>0]|0)==68;else i[(k[w>>2]|0)+52>>0]=i[(k[v>>2]|0)+231>>0]|0;j[(k[w>>2]|0)+4>>1]=k[n>>2];do if((k[n>>2]|0)!=1&(k[n>>2]|0)!=0){k[o>>2]=(k[n>>2]|0)-2;m=je(k[p>>2]|0)|0;k[s>>2]=m;if((k[s>>2]|0)==0?(oe(k[p>>2]|0)|0)!=5:0){k[t>>2]=7;C=k[t>>2]|0;r=D;return C|0}k[(k[w>>2]|0)+16>>2]=0;if(k[q>>2]|0){q=me(k[q>>2]|0)|0;k[(k[w>>2]|0)+16>>2]=q}s=sp(k[(k[v>>2]|0)+36>>2]|0,k[(k[w>>2]|0)+16>>2]|0,k[(k[v>>2]|0)+28>>2]|0,l[(k[v>>2]|0)+228>>0]|0,k[(k[v>>2]|0)+24>>2]|0,k[o>>2]|0,k[s>>2]|0,-1,(k[w>>2]|0)+12|0,(k[v>>2]|0)+8|0)|0;k[z>>2]=s;if(k[z>>2]|0){k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}s=tp(k[w>>2]|0)|0;k[z>>2]=s;Im(k[v>>2]|0);if(!(k[z>>2]|0)){k[(k[w>>2]|0)+40>>2]=k[(k[w>>2]|0)+44>>2];s=(k[w>>2]|0)+32|0;k[s>>2]=0;k[s+4>>2]=0;break}k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}while(0);do if(!(k[n>>2]|0)){f=k[(k[v>>2]|0)+216>>2]|0;g=k[w>>2]|0;if((k[x>>2]|0)!=0|(k[y>>2]|0)!=0){q=g+72|0;p=k[q>>2]|0;q=k[q+4>>2]|0;x=(k[w>>2]|0)+80|0;s=k[x>>2]|0;x=k[x+4>>2]|0;B=(l[(k[w>>2]|0)+52>>0]|0)!=0?23624:23629;k[A>>2]=f;y=A+8|0;k[y>>2]=p;k[y+4>>2]=q;y=A+16|0;k[y>>2]=s;k[y+4>>2]=x;k[A+24>>2]=B;B=Yd(23633,A)|0;k[C>>2]=B}else{A=(l[g+52>>0]|0)!=0?23624:23629;k[B>>2]=f;k[B+4>>2]=A;B=Yd(23695,B)|0;k[C>>2]=B}if(k[C>>2]|0){B=lf(k[(k[v>>2]|0)+12>>2]|0,k[C>>2]|0,-1,(k[w>>2]|0)+8|0,0)|0;k[z>>2]=B;Ud(k[C>>2]|0);break}else{k[z>>2]=7;break}}else if((k[n>>2]|0)==1?(C=Pn(k[w>>2]|0,(k[w>>2]|0)+8|0)|0,k[z>>2]=C,(k[z>>2]|0)==0):0){C=Ye(k[(k[w>>2]|0)+8>>2]|0,1,k[p>>2]|0)|0;k[z>>2]=C}while(0);if(k[z>>2]|0){k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}else{C=fl(k[u>>2]|0)|0;k[t>>2]=C;C=k[t>>2]|0;r=D;return C|0}return 0}function fl(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[b>>2];if((j[(k[c>>2]|0)+4>>1]|0)!=1?(j[(k[c>>2]|0)+4>>1]|0)!=0:0){c=pp(k[b>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;r=e;return d|0}a=100!=(De(k[(k[c>>2]|0)+8>>2]|0)|0);b=k[c>>2]|0;if(a){i[b+6>>0]=1;c=ge(k[(k[c>>2]|0)+8>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;r=e;return d|0}else{a=Ne(k[b+8>>2]|0,0)|0;c=(k[c>>2]|0)+32|0;k[c>>2]=a;k[c+4>>2]=L;k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}return 0}function gl(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+6>>0]|0|0}function hl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+24|0;d=j+20|0;e=j+16|0;i=j+12|0;h=j+8|0;g=j+4|0;f=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[i>>2]=0;k[h>>2]=k[l>>2];k[g>>2]=k[k[l>>2]>>2];if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+1|0)){l=(k[h>>2]|0)+32|0;ue(k[d>>2]|0,k[l>>2]|0,k[l+4>>2]|0);l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==(k[(k[g>>2]|0)+24>>2]|0)){pe(k[d>>2]|0,h,4,-1);l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+2|0)?(k[(k[h>>2]|0)+12>>2]|0)!=0:0){l=k[(k[h>>2]|0)+16>>2]|0;ue(k[d>>2]|0,l,((l|0)<0)<<31>>31);l=k[i>>2]|0;r=j;return l|0}l=Dn(0,k[h>>2]|0)|0;k[i>>2]=l;if(k[i>>2]|0){l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+2|0)){k[f>>2]=0;if(k[(k[g>>2]|0)+44>>2]|0){l=Me(k[(k[h>>2]|0)+8>>2]|0,(k[(k[g>>2]|0)+24>>2]|0)+1|0)|0;k[f>>2]=l}te(k[d>>2]|0,k[f>>2]|0);l=k[i>>2]|0;r=j;return l|0}else{l=Ie(k[(k[h>>2]|0)+8>>2]|0)|0;if((l|0)<=((k[e>>2]|0)+1|0)){l=k[i>>2]|0;r=j;return l|0}l=k[d>>2]|0;ye(l,Pe(k[(k[h>>2]|0)+8>>2]|0,(k[e>>2]|0)+1|0)|0);l=k[i>>2]|0;r=j;return l|0}return 0}function il(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+32|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function jl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;a=Qo(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return a|0}function kl(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];k[(k[c>>2]|0)+52>>2]=0;a=vl(k[c>>2]|0)|0;r=b;return a|0}function ll(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;g=f+20|0;d=f+12|0;e=f+8|0;c=f+4|0;b=f;k[g>>2]=a;k[f+16>>2]=64;k[d>>2]=k[g>>2];a=wl(k[d>>2]|0)|0;k[e>>2]=a;if(((((k[e>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)>>>0>4:0)?(k[(k[d>>2]|0)+48>>2]|0)!=0:0)?(k[(k[d>>2]|0)+48>>2]|0)!=255:0)?(k[c>>2]=0,g=po(k[d>>2]|0,c)|0,k[e>>2]=g,g=ha(k[(k[d>>2]|0)+52>>2]|0,k[c>>2]|0)|0,k[b>>2]=g,k[b>>2]=(k[b>>2]|0)+((k[b>>2]|0)/2|0),(k[b>>2]|0)>64):0){g=qo(k[d>>2]|0,k[b>>2]|0,k[(k[d>>2]|0)+48>>2]|0)|0;k[e>>2]=g}Im(k[d>>2]|0);r=f;return k[e>>2]|0}function ml(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function nl(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];tl(k[c>>2]|0);r=b;return 0}function ol(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+64|0;h=l+60|0;f=l+48|0;i=l+44|0;j=l+8|0;g=l;k[l+56>>2]=a;k[l+52>>2]=b;k[f>>2]=c;k[i>>2]=d;k[l+40>>2]=e;k[j>>2]=k[520];k[j+4>>2]=k[521];k[j+8>>2]=k[522];k[j+12>>2]=k[523];k[j+16>>2]=k[524];k[j+20>>2]=k[525];k[j+24>>2]=k[526];k[j+28>>2]=k[527];k[g>>2]=0;while(1){if((k[g>>2]|0)>=4){b=6;break}c=(rR(k[f>>2]|0,k[j+(k[g>>2]<<3)>>2]|0)|0)==0;a=k[g>>2]|0;if(c){b=4;break}k[g>>2]=a+1}if((b|0)==4){k[k[i>>2]>>2]=k[j+(a<<3)+4>>2];k[h>>2]=1;j=k[h>>2]|0;r=l;return j|0}else if((b|0)==6){k[h>>2]=0;j=k[h>>2]|0;r=l;return j|0}return 0}function pl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+96|0;j=n+64|0;h=n+48|0;m=n+32|0;l=n+16|0;g=n;o=n+92|0;c=n+88|0;e=n+84|0;d=n+80|0;f=n+76|0;k[o>>2]=a;k[c>>2]=b;k[e>>2]=k[o>>2];k[d>>2]=k[(k[e>>2]|0)+12>>2];b=vl(k[e>>2]|0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){o=wl(k[e>>2]|0)|0;k[f>>2]=o}if(!(k[(k[e>>2]|0)+40>>2]|0)){o=k[d>>2]|0;a=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[g>>2]=k[(k[e>>2]|0)+16>>2];k[g+4>>2]=a;k[g+8>>2]=b;xl(f,o,20617,g)}if(i[(k[e>>2]|0)+230>>0]|0){o=k[d>>2]|0;g=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[l>>2]=k[(k[e>>2]|0)+16>>2];k[l+4>>2]=g;k[l+8>>2]=b;xl(f,o,20670,l)}if(i[(k[e>>2]|0)+229>>0]|0){o=k[d>>2]|0;l=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[m>>2]=k[(k[e>>2]|0)+16>>2];k[m+4>>2]=l;k[m+8>>2]=b;xl(f,o,20723,m)}o=k[d>>2]|0;b=k[(k[e>>2]|0)+20>>2]|0;m=k[c>>2]|0;k[h>>2]=k[(k[e>>2]|0)+16>>2];k[h+4>>2]=b;k[h+8>>2]=m;xl(f,o,20770,h);o=k[d>>2]|0;m=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[j>>2]=k[(k[e>>2]|0)+16>>2];k[j+4>>2]=m;k[j+8>>2]=b;xl(f,o,20824,j);r=n;return k[f>>2]|0}function ql(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e;k[c>>2]=a;k[e+4>>2]=b;k[d>>2]=0;if(l[(k[c>>2]|0)+232>>0]|0){d=k[d>>2]|0;r=e;return d|0}a=ll(k[c>>2]|0)|0;k[d>>2]=a;d=k[d>>2]|0;r=e;return d|0}function rl(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c;k[e>>2]=a;k[c+4>>2]=b;k[d>>2]=k[e>>2];tl(k[d>>2]|0);r=c;return 0}function tl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+248>>2]|0))break;k[e>>2]=(k[(k[b>>2]|0)+252>>2]|0)+((k[c>>2]|0)*24|0)+4;k[d>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[d>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+8>>2];ul(k[f>>2]|0);k[d>>2]=k[k[d>>2]>>2]}zk(k[e>>2]|0);k[c>>2]=(k[c>>2]|0)+1}k[(k[b>>2]|0)+260>>2]=0;r=g;return}function ul(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function vl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;f=j;b=j+28|0;e=j+24|0;g=j+20|0;h=j+16|0;d=j+12|0;c=j+8|0;k[b>>2]=a;k[e>>2]=0;if((l[(k[b>>2]|0)+229>>0]|0|0)!=2){h=k[e>>2]|0;r=j;return h|0}k[g>>2]=23181;g=k[g>>2]|0;a=k[(k[b>>2]|0)+20>>2]|0;k[f>>2]=k[(k[b>>2]|0)+16>>2];k[f+4>>2]=a;g=Yd(g,f)|0;k[h>>2]=g;if(!(k[h>>2]|0)){k[e>>2]=7;h=k[e>>2]|0;r=j;return h|0}k[d>>2]=0;g=lf(k[(k[b>>2]|0)+12>>2]|0,k[h>>2]|0,-1,d,0)|0;k[e>>2]=g;if((k[e>>2]|0)==0?(g=(De(k[d>>2]|0)|0)==100&1,k[c>>2]=g,g=fe(k[d>>2]|0)|0,k[e>>2]=g,(k[e>>2]|0)==0):0)i[(k[b>>2]|0)+229>>0]=k[c>>2];Ud(k[h>>2]|0);h=k[e>>2]|0;r=j;return h|0}function wl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[f>>2]=0;k[d>>2]=0;while(1){if(!(k[f>>2]|0))a=(k[d>>2]|0)<(k[(k[c>>2]|0)+248>>2]|0);else a=0;b=k[c>>2]|0;if(!a)break;b=yl(b,k[(k[c>>2]|0)+272>>2]|0,k[d>>2]|0,-1)|0;k[f>>2]=b;k[f>>2]=(k[f>>2]|0)==101?0:b;k[d>>2]=(k[d>>2]|0)+1}tl(b);if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}if(!(l[(k[c>>2]|0)+229>>0]|0)){f=k[f>>2]|0;r=g;return f|0}if((k[(k[c>>2]|0)+48>>2]|0)!=255){f=k[f>>2]|0;r=g;return f|0}if((k[(k[c>>2]|0)+52>>2]|0)>>>0<=0){f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;d=zl(k[c>>2]|0,22,e,0)|0;k[f>>2]=d;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}Ue(k[e>>2]|0,1,2)|0;d=De(k[e>>2]|0)|0;k[f>>2]=d;if((k[f>>2]|0)==100){d=Me(k[e>>2]|0,0)|0;k[(k[c>>2]|0)+48>>2]=d;if((k[(k[c>>2]|0)+48>>2]|0)==1)k[(k[c>>2]|0)+48>>2]=8}else if((k[f>>2]|0)==101)k[(k[c>>2]|0)+48>>2]=0;e=ge(k[e>>2]|0)|0;k[f>>2]=e;f=k[f>>2]|0;r=g;return f|0}function xl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+48|0;e=j+32|0;f=j+28|0;g=j+24|0;h=j+8|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[k[e>>2]>>2]|0){r=j;return}k[h>>2]=d;c=Xd(k[g>>2]|0,h)|0;k[i>>2]=c;if(!(k[i>>2]|0)){k[k[e>>2]>>2]=7;r=j;return}else{c=kf(k[f>>2]|0,k[i>>2]|0,0,0,0)|0;k[k[e>>2]>>2]=c;Ud(k[i>>2]|0);r=j;return}}function yl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+128|0;e=s+120|0;f=s+116|0;g=s+112|0;h=s+108|0;q=s+104|0;m=s+100|0;o=s+8|0;p=s+96|0;l=s+80|0;j=s+24|0;i=s+16|0;n=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[m>>2]=0;a=o;k[a>>2]=0;k[a+4>>2]=0;k[p>>2]=0;k[i>>2]=0;a=n;k[a>>2]=0;k[a+4>>2]=0;a=Al(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,0,1,0,j)|0;k[q>>2]=a;do if((k[q>>2]|0)==0?(k[j+4>>2]|0)!=0:0){if((k[h>>2]|0)!=-1?(a=Bl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,n)|0,k[q>>2]=a,(k[q>>2]|0)!=0):0)break;if((k[h>>2]|0)==-2){if((k[j+4>>2]|0)==1?0==((k[(k[k[j>>2]>>2]|0)+56>>2]|0)!=0|0):0){k[q>>2]=101;break}b=n;d=k[b+4>>2]|0;a=o;k[a>>2]=k[b>>2];k[a+4>>2]=d;k[i>>2]=1}else{d=Cl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,(k[h>>2]|0)+1|0)|0;a=o;k[a>>2]=d;k[a+4>>2]=L;a=Dl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,(k[h>>2]|0)+1|0,m)|0;k[q>>2]=a;if((k[h>>2]|0)!=-1){a=o;b=k[a+4>>2]|0;c=n;d=k[c+4>>2]|0;c=(b|0)>(d|0)|((b|0)==(d|0)?(k[a>>2]|0)>>>0>(k[c>>2]|0)>>>0:0)}else c=0;k[i>>2]=c&1}if(!(k[q>>2]|0)){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+12>>2]=1;a=l+12|0;k[a>>2]=k[a>>2]|((k[i>>2]|0)!=0?2:0);l=El(k[e>>2]|0,j,l)|0;k[q>>2]=l;while(1){if(k[q>>2]|0)break;l=Fl(k[e>>2]|0,j)|0;k[q>>2]=l;if((k[q>>2]|0)!=100)break;l=Gl(k[e>>2]|0,p,1,k[j+40>>2]|0,k[j+44>>2]|0,k[j+48>>2]|0,k[j+52>>2]|0)|0;k[q>>2]=l}if(!(k[q>>2]|0)){if((k[h>>2]|0)!=-1){l=Hl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[q>>2]=l;if(!((k[q>>2]|0)==0&(k[p>>2]|0)!=0))break}else if(!(k[p>>2]|0))break;l=o;m=Il(k[e>>2]|0,k[p>>2]|0,k[l>>2]|0,k[l+4>>2]|0,k[m>>2]|0)|0;k[q>>2]=m;if(!(k[q>>2]|0)){if((k[h>>2]|0)!=-1?(m=o,i=k[m+4>>2]|0,n,l=k[n+4>>2]|0,!((i|0)<(l|0)|((i|0)==(l|0)?(k[m>>2]|0)>>>0<(k[n>>2]|0)>>>0:0))):0)break;n=o;o=(k[p>>2]|0)+56|0;o=Jl(k[e>>2]|0,k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[q>>2]=o}}}}while(0);Kl(k[p>>2]|0);Ll(j);r=s;return k[q>>2]|0}function zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+240|0;n=t+24|0;m=t+16|0;f=t;g=t+228|0;h=t+224|0;p=t+220|0;i=t+216|0;e=t+56|0;s=t+48|0;q=t+44|0;o=t+40|0;j=t+36|0;l=t+32|0;k[g>>2]=a;k[h>>2]=b;k[p>>2]=c;k[i>>2]=d;bS(e|0,1920,160)|0;k[s>>2]=0;k[q>>2]=k[(k[g>>2]|0)+56+(k[h>>2]<<2)>>2];do if(!(k[q>>2]|0)){a=k[h>>2]|0;do if((k[h>>2]|0)!=18){d=k[e+(k[h>>2]<<2)>>2]|0;b=k[g>>2]|0;if((a|0)==7){k[m>>2]=k[b+216>>2];n=Yd(d,m)|0;k[o>>2]=n;break}else{m=k[(k[g>>2]|0)+20>>2]|0;k[n>>2]=k[b+16>>2];k[n+4>>2]=m;n=Yd(d,n)|0;k[o>>2]=n;break}}else{n=k[e+(a<<2)>>2]|0;e=k[(k[g>>2]|0)+20>>2]|0;m=k[(k[g>>2]|0)+220>>2]|0;k[f>>2]=k[(k[g>>2]|0)+16>>2];k[f+4>>2]=e;k[f+8>>2]=m;n=Yd(n,f)|0;k[o>>2]=n}while(0);if(k[o>>2]|0){n=lf(k[(k[g>>2]|0)+12>>2]|0,k[o>>2]|0,-1,q,0)|0;k[s>>2]=n;Ud(k[o>>2]|0);k[(k[g>>2]|0)+56+(k[h>>2]<<2)>>2]=k[q>>2];break}else{k[s>>2]=7;break}}while(0);if(!(k[i>>2]|0)){o=k[q>>2]|0;q=k[p>>2]|0;k[q>>2]=o;s=k[s>>2]|0;r=t;return s|0}o=_e(k[q>>2]|0)|0;k[l>>2]=o;k[j>>2]=0;while(1){if(k[s>>2]|0){d=15;break}if((k[j>>2]|0)>=(k[l>>2]|0)){d=15;break}o=Ye(k[q>>2]|0,(k[j>>2]|0)+1|0,k[(k[i>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[s>>2]=o;k[j>>2]=(k[j>>2]|0)+1}if((d|0)==15){o=k[q>>2]|0;q=k[p>>2]|0;k[q>>2]=o;s=k[s>>2]|0;r=t;return s|0}return 0}function Al(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;j=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;p=u+12|0;q=u+8|0;s=u+4|0;t=u;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;c=k[t>>2]|0;b=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));t=tm(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0)|0;r=u;return t|0}function Bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;d=zl(k[f>>2]|0,15,j,0)|0;k[l>>2]=d;if(k[l>>2]|0){k[e>>2]=k[l>>2];l=k[e>>2]|0;r=m;return l|0}l=k[j>>2]|0;d=Cl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0)|0;Ve(l,1,d,L)|0;d=k[j>>2]|0;l=Cl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,1023)|0;Ve(d,2,l,L)|0;if(100==(De(k[j>>2]|0)|0)){d=Ne(k[j>>2]|0,0)|0;l=k[i>>2]|0;k[l>>2]=d;k[l+4>>2]=L}l=ge(k[j>>2]|0)|0;k[e>>2]=l;l=k[e>>2]|0;r=m;return l|0}function Cl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+32|0;i=e+20|0;j=e+16|0;h=e+12|0;f=e+8|0;g=e;k[i>>2]=a;k[j>>2]=b;k[h>>2]=c;k[f>>2]=d;a=k[j>>2]|0;d=k[(k[i>>2]|0)+248>>2]|0;d=kS(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;a=k[h>>2]|0;a=$R(d|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;a=kS(a|0,L|0,1024,0)|0;d=g;k[d>>2]=a;k[d+4>>2]=L;d=g;a=k[f>>2]|0;a=$R(k[d>>2]|0,k[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;r=e;return a|0}function Dl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=0;e=zl(k[f>>2]|0,8,m,0)|0;k[n>>2]=e;if(!(k[n>>2]|0)){a=k[m>>2]|0;e=Cl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;Ve(a,1,e,L)|0;if(100==(De(k[m>>2]|0)|0)){e=Me(k[m>>2]|0,0)|0;k[l>>2]=e}e=ge(k[m>>2]|0)|0;k[n>>2]=e}if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if((k[l>>2]|0)>=16){e=yl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[n>>2]=e;k[k[j>>2]>>2]=0;n=k[n>>2]|0;r=o;return n|0}else{k[k[j>>2]>>2]=k[l>>2];n=k[n>>2]|0;r=o;return n|0}return 0}function El(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[(k[f>>2]|0)+12>>2]=k[e>>2];c=rm(k[g>>2]|0,k[f>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;r=d;return c|0}function Fl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+128|0;c=J+120|0;d=J+116|0;e=J+112|0;G=J+108|0;s=J+104|0;u=J+100|0;p=J+96|0;t=J+92|0;v=J+88|0;q=J+84|0;h=J+80|0;B=J+76|0;D=J+72|0;H=J+68|0;A=J+64|0;j=J+60|0;F=J+56|0;y=J+52|0;o=J+16|0;w=J+48|0;E=J+44|0;z=J+40|0;x=J+36|0;n=J+8|0;m=J;g=J+32|0;f=J+28|0;C=J+24|0;k[d>>2]=a;k[e>>2]=b;k[G>>2]=0;k[s>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&2;k[u>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&1;k[p>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&4;k[t>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&8;k[v>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&16;k[q>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&32;k[h>>2]=k[k[e>>2]>>2];k[B>>2]=k[(k[e>>2]|0)+4>>2];k[D>>2]=k[(k[e>>2]|0)+12>>2];k[H>>2]=(l[(k[d>>2]|0)+231>>0]|0)!=0?182:183;if(!(k[(k[e>>2]|0)+4>>2]|0)){k[c>>2]=0;I=k[c>>2]|0;r=J;return I|0}a:while(1){k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[e>>2]|0)+8>>2]|0))break;k[F>>2]=k[(k[h>>2]|0)+(k[j>>2]<<2)>>2];if(i[(k[F>>2]|0)+4>>0]|0)_l(k[F>>2]|0);else{b=$l(k[d>>2]|0,k[F>>2]|0,0)|0;k[G>>2]=b}if(k[G>>2]|0){I=9;break a}k[j>>2]=(k[j>>2]|0)+1}bm(k[h>>2]|0,k[B>>2]|0,k[(k[e>>2]|0)+8>>2]|0,184);k[(k[e>>2]|0)+8>>2]=0;if(!(k[(k[k[h>>2]>>2]|0)+40>>2]|0)){I=61;break}k[(k[e>>2]|0)+44>>2]=k[(k[k[h>>2]>>2]|0)+60>>2];k[(k[e>>2]|0)+40>>2]=k[(k[k[h>>2]>>2]|0)+64>>2];if(!((k[v>>2]|0)!=0?1:(k[k[D>>2]>>2]|0)==0)){if((k[(k[e>>2]|0)+44>>2]|0)<(k[(k[D>>2]|0)+4>>2]|0)){I=61;break}if((k[t>>2]|0)==0?(k[(k[e>>2]|0)+44>>2]|0)>(k[(k[D>>2]|0)+4>>2]|0):0){I=61;break}if(oR(k[(k[e>>2]|0)+40>>2]|0,k[k[D>>2]>>2]|0,k[(k[D>>2]|0)+4>>2]|0)|0){I=61;break}}k[A>>2]=1;while(1){if(((k[A>>2]|0)<(k[B>>2]|0)?(k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+60>>2]|0)==(k[(k[e>>2]|0)+44>>2]|0):0)b=0==(oR(k[(k[e>>2]|0)+40>>2]|0,k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+64>>2]|0,k[(k[e>>2]|0)+44>>2]|0)|0);else b=0;a=k[A>>2]|0;if(!b)break;k[A>>2]=a+1}do if(!((a|0)!=1|(k[s>>2]|0)!=0|(k[q>>2]|0)!=0)){if((l[(k[d>>2]|0)+231>>0]|0)!=0?((k[(k[k[h>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){I=32;break}k[(k[e>>2]|0)+52>>2]=k[(k[k[h>>2]>>2]|0)+76>>2];if(k[(k[k[h>>2]>>2]|0)+56>>2]|0){b=cm(k[e>>2]|0,k[(k[k[h>>2]>>2]|0)+72>>2]|0,k[(k[e>>2]|0)+52>>2]|0)|0;k[G>>2]=b;k[(k[e>>2]|0)+48>>2]=k[(k[e>>2]|0)+16>>2]}else k[(k[e>>2]|0)+48>>2]=k[(k[k[h>>2]>>2]|0)+72>>2];if(!(k[G>>2]|0))k[G>>2]=100}else I=32;while(0);if((I|0)==32){I=0;k[y>>2]=0;b=o;k[b>>2]=0;k[b+4>>2]=0;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[A>>2]|0))break;dm(k[d>>2]|0,k[(k[h>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+1}bm(k[h>>2]|0,k[A>>2]|0,k[A>>2]|0,k[H>>2]|0);while(1){if(!(k[(k[k[h>>2]>>2]|0)+80>>2]|0))break;k[E>>2]=0;k[z>>2]=0;K=(k[k[h>>2]>>2]|0)+88|0;a=k[K+4>>2]|0;b=n;k[b>>2]=k[K>>2];k[b+4>>2]=a;em(k[d>>2]|0,k[k[h>>2]>>2]|0,E,z)|0;k[w>>2]=1;while(1){if((k[w>>2]|0)>=(k[A>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0)+80>>2]|0))break;b=(k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0)+88|0;K=n;if(!((k[b>>2]|0)==(k[K>>2]|0)?(k[b+4>>2]|0)==(k[K+4>>2]|0):0))break;em(k[d>>2]|0,k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0,0,0)|0;k[w>>2]=(k[w>>2]|0)+1}if(k[p>>2]|0)fm(k[(k[D>>2]|0)+8>>2]|0,0,E,z);do if((k[s>>2]|0)==0|(k[z>>2]|0)>0){if((k[y>>2]|0)>0?(l[(k[d>>2]|0)+231>>0]|0)!=0:0){K=o;b=n;b=_R(k[K>>2]|0,k[K+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;K=m;k[K>>2]=b;k[K+4>>2]=L}else{K=n;b=o;b=_R(k[K>>2]|0,k[K+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;K=m;k[K>>2]=b;k[K+4>>2]=L}K=m;K=Tl(k[K>>2]|0,k[K+4>>2]|0)|0;k[x>>2]=K+((k[u>>2]|0)!=0?(k[z>>2]|0)+1|0:0);if(((k[y>>2]|0)+(k[x>>2]|0)|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[(k[e>>2]|0)+20>>2]=(k[y>>2]|0)+(k[x>>2]|0)<<1;K=Vd(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;k[g>>2]=K;if(!(k[g>>2]|0)){I=50;break a}k[(k[e>>2]|0)+16>>2]=k[g>>2]}a=(k[(k[e>>2]|0)+16>>2]|0)+(k[y>>2]|0)|0;if(k[q>>2]|0){k[f>>2]=a;K=m;K=gm(k[K>>2]|0,k[K+4>>2]|0,k[E>>2]|0,k[z>>2]|0,k[f>>2]|0)|0;k[C>>2]=K;if(!(k[C>>2]|0))break;a=n;b=k[a+4>>2]|0;K=o;k[K>>2]=k[a>>2];k[K+4>>2]=b;k[y>>2]=(k[y>>2]|0)+(k[C>>2]|0);break}else{b=m;a=Ul(a,k[b>>2]|0,k[b+4>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+a;a=n;b=k[a+4>>2]|0;K=o;k[K>>2]=k[a>>2];k[K+4>>2]=b;if(!(k[u>>2]|0))break;bS((k[(k[e>>2]|0)+16>>2]|0)+(k[y>>2]|0)|0,k[E>>2]|0,k[z>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+(k[z>>2]|0);K=k[y>>2]|0;k[y>>2]=K+1;i[(k[(k[e>>2]|0)+16>>2]|0)+K>>0]=0;break}}while(0);bm(k[h>>2]|0,k[A>>2]|0,k[w>>2]|0,k[H>>2]|0)}if((k[y>>2]|0)>0){k[(k[e>>2]|0)+48>>2]=k[(k[e>>2]|0)+16>>2];k[(k[e>>2]|0)+52>>2]=k[y>>2];k[G>>2]=100}}k[(k[e>>2]|0)+8>>2]=k[A>>2];if(k[G>>2]|0){I=61;break}}if((I|0)==9){k[c>>2]=k[G>>2];K=k[c>>2]|0;r=J;return K|0}else if((I|0)==50){k[c>>2]=7;K=k[c>>2]|0;r=J;return K|0}else if((I|0)==61){k[c>>2]=k[G>>2];K=k[c>>2]|0;r=J;return K|0}return 0}function Gl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;h=B+68|0;i=B+64|0;j=B+60|0;l=B+56|0;m=B+52|0;n=B+48|0;o=B+44|0;p=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;q=B+4|0;A=B;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[x>>2]=k[k[j>>2]>>2];if(!(k[x>>2]|0)){d=Sd(64)|0;k[x>>2]=d;if(!(k[x>>2]|0)){k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}f=k[x>>2]|0;c=f+64|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(c|0));k[k[j>>2]>>2]=k[x>>2];j=Sd(k[(k[i>>2]|0)+224>>2]|0)|0;k[(k[x>>2]|0)+48>>2]=j;if(!(k[(k[x>>2]|0)+48>>2]|0)){k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}k[(k[x>>2]|0)+40>>2]=k[(k[i>>2]|0)+224>>2];j=zl(k[i>>2]|0,10,w,0)|0;k[y>>2]=j;if(k[y>>2]|0){k[h>>2]=k[y>>2];A=k[h>>2]|0;r=B;return A|0}if(100==(De(k[w>>2]|0)|0)){d=Ne(k[w>>2]|0,0)|0;b=(k[x>>2]|0)+16|0;k[b>>2]=d;k[b+4>>2]=L;b=(k[x>>2]|0)+16|0;d=k[b+4>>2]|0;j=(k[x>>2]|0)+8|0;k[j>>2]=k[b>>2];k[j+4>>2]=d}w=ge(k[w>>2]|0)|0;k[y>>2]=w;if(k[y>>2]|0){k[h>>2]=k[y>>2];A=k[h>>2]|0;r=B;return A|0}}k[s>>2]=k[(k[x>>2]|0)+44>>2];y=Wl(k[(k[x>>2]|0)+24>>2]|0,k[(k[x>>2]|0)+28>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[t>>2]=y;k[v>>2]=(k[n>>2]|0)-(k[t>>2]|0);y=k[t>>2]|0;y=Tl(y,((y|0)<0)<<31>>31)|0;w=k[v>>2]|0;w=y+(Tl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(k[v>>2]|0)|0;y=k[p>>2]|0;y=w+(Tl(y,((y|0)<0)<<31>>31)|0)|0;k[u>>2]=y+(k[p>>2]|0);do if((k[s>>2]|0)>0?((k[s>>2]|0)+(k[u>>2]|0)|0)>(k[(k[i>>2]|0)+224>>2]|0):0){j=k[i>>2]|0;d=(k[x>>2]|0)+16|0;y=d;w=k[y>>2]|0;y=k[y+4>>2]|0;b=$R(w|0,y|0,1,0)|0;k[d>>2]=b;k[d+4>>2]=L;y=Pl(j,w,y,k[(k[x>>2]|0)+48>>2]|0,k[s>>2]|0)|0;k[z>>2]=y;if(k[z>>2]|0){k[h>>2]=k[z>>2];A=k[h>>2]|0;r=B;return A|0}y=(k[i>>2]|0)+52|0;k[y>>2]=(k[y>>2]|0)+1;y=Xl(k[i>>2]|0,k[x>>2]|0,k[l>>2]|0,k[m>>2]|0,(k[t>>2]|0)+1|0)|0;k[z>>2]=y;if(!(k[z>>2]|0)){k[s>>2]=0;k[(k[x>>2]|0)+28>>2]=0;k[t>>2]=0;k[v>>2]=k[n>>2];y=k[n>>2]|0;y=1+(Tl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(k[n>>2]|0)|0;z=k[p>>2]|0;z=y+(Tl(z,((z|0)<0)<<31>>31)|0)|0;k[u>>2]=z+(k[p>>2]|0);break}k[h>>2]=k[z>>2];A=k[h>>2]|0;r=B;return A|0}while(0);y=k[u>>2]|0;z=(k[x>>2]|0)+56|0;w=z;y=$R(k[w>>2]|0,k[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;k[z>>2]=y;k[z+4>>2]=L;do if((k[u>>2]|0)>(k[(k[x>>2]|0)+40>>2]|0)){z=Vd(k[(k[x>>2]|0)+48>>2]|0,k[u>>2]|0)|0;k[q>>2]=z;if(k[q>>2]|0){k[(k[x>>2]|0)+48>>2]=k[q>>2];k[(k[x>>2]|0)+40>>2]=k[u>>2];break}k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}while(0);z=k[t>>2]|0;z=Ul((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;z=k[v>>2]|0;z=Ul((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;bS((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,(k[m>>2]|0)+(k[t>>2]|0)|0,k[v>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+(k[v>>2]|0);z=k[p>>2]|0;z=Ul((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;bS((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,k[o>>2]|0,k[p>>2]|0)|0;k[(k[x>>2]|0)+44>>2]=(k[s>>2]|0)+(k[p>>2]|0);if(k[l>>2]|0){do if((k[n>>2]|0)>(k[(k[x>>2]|0)+32>>2]|0)){z=Vd(k[(k[x>>2]|0)+36>>2]|0,k[n>>2]<<1)|0;k[A>>2]=z;if(k[A>>2]|0){k[(k[x>>2]|0)+32>>2]=k[n>>2]<<1;k[(k[x>>2]|0)+36>>2]=k[A>>2];k[(k[x>>2]|0)+24>>2]=k[A>>2];break}k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}while(0);bS(k[(k[x>>2]|0)+24>>2]|0,k[m>>2]|0,k[n>>2]|0)|0}else k[(k[x>>2]|0)+24>>2]=k[m>>2];k[(k[x>>2]|0)+28>>2]=k[n>>2];k[h>>2]=0;A=k[h>>2]|0;r=B;return A|0}function Hl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;j=s+36|0;l=s+32|0;m=s+28|0;n=s+24|0;o=s+20|0;g=s+16|0;h=s+12|0;q=s+8|0;i=s+4|0;p=s;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[g>>2]=e;k[h>>2]=f;k[q>>2]=0;k[p>>2]=0;k[i>>2]=0;while(1){if(k[q>>2]|0)break;if((k[i>>2]|0)>=(k[h>>2]|0))break;a=Vl(k[l>>2]|0,k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[q>>2]=a;k[i>>2]=(k[i>>2]|0)+1}if(k[q>>2]|0){k[j>>2]=k[q>>2];q=k[j>>2]|0;r=s;return q|0}g=k[l>>2]|0;if((k[o>>2]|0)==-2){o=zl(g,26,p,0)|0;k[q>>2]=o;if(!(k[q>>2]|0)){o=k[p>>2]|0;a=Cl(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,0)|0;Ve(o,1,a,L)|0;a=k[p>>2]|0;o=Cl(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,1023)|0;Ve(a,2,o,L)|0}}else{a=zl(g,16,p,0)|0;k[q>>2]=a;if(!(k[q>>2]|0)){a=k[p>>2]|0;o=Cl(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;Ve(a,1,o,L)|0}}if(!(k[q>>2]|0)){De(k[p>>2]|0)|0;p=ge(k[p>>2]|0)|0;k[q>>2]=p}k[j>>2]=k[q>>2];q=k[j>>2]|0;r=s;return q|0}function Il(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+44|0;g=p+40|0;h=p+16|0;i=p+36|0;n=p+32|0;j=p+8|0;l=p;o=p+28|0;m=p+24|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=e;if(!(k[k[g>>2]>>2]|0)){b=h;o=(k[g>>2]|0)+56|0;o=Rl(k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[i>>2]|0,0,0,0,0,0,0,k[o>>2]|0,k[o+4>>2]|0,k[(k[g>>2]|0)+48>>2]|0,k[(k[g>>2]|0)+44>>2]|0)|0;k[n>>2]=o;o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}b=j;k[b>>2]=0;k[b+4>>2]=0;k[o>>2]=0;k[m>>2]=0;b=(k[g>>2]|0)+16|0;d=k[b+4>>2]|0;e=l;k[e>>2]=k[b>>2];k[e+4>>2]=d;e=k[f>>2]|0;d=(k[g>>2]|0)+16|0;b=d;a=k[b>>2]|0;b=k[b+4>>2]|0;c=$R(a|0,b|0,1,0)|0;k[d>>2]=c;k[d+4>>2]=L;b=Pl(e,a,b,k[(k[g>>2]|0)+48>>2]|0,k[(k[g>>2]|0)+44>>2]|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){a=(k[g>>2]|0)+8|0;b=(k[g>>2]|0)+16|0;b=Ql(k[f>>2]|0,k[k[g>>2]>>2]|0,1,k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,j,o,m)|0;k[n>>2]=b}if(k[n>>2]|0){o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}e=(k[g>>2]|0)+8|0;a=j;b=(k[g>>2]|0)+56|0;o=Rl(k[f>>2]|0,k[h>>2]|0,k[h+4>>2]|0,k[i>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[l>>2]|0,k[l+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[o>>2]|0,k[m>>2]|0)|0;k[n>>2]=o;o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}function Jl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+80|0;f=v+72|0;g=v+40|0;h=v+32|0;t=v+68|0;p=v+64|0;i=v+60|0;m=v+24|0;n=v+16|0;o=v+8|0;j=v;l=v+56|0;q=v+52|0;s=v+48|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;a=h;k[a>>2]=d;k[a+4>>2]=e;k[t>>2]=0;a=zl(k[f>>2]|0,37,p,0)|0;k[t>>2]=a;if(k[t>>2]|0){u=k[t>>2]|0;r=v;return u|0}k[i>>2]=0;e=g;e=iS(k[e>>2]|0,k[e+4>>2]|0,1024,0)|0;e=$R(e|0,L|0,1,0)|0;e=kS(e|0,L|0,1024,0)|0;e=_R(e|0,L|0,1,0)|0;a=m;k[a>>2]=e;k[a+4>>2]=L;a=h;a=kS(k[a>>2]|0,k[a+4>>2]|0,3,0)|0;a=iS(a|0,L|0,2,0)|0;h=n;k[h>>2]=a;k[h+4>>2]=L;h=k[p>>2]|0;a=g;a=$R(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;Ve(h,1,a,L)|0;a=m;Ve(k[p>>2]|0,2,k[a>>2]|0,k[a+4>>2]|0)|0;while(1){if(100!=(De(k[p>>2]|0)|0))break;a=o;k[a>>2]=0;k[a+4>>2]=0;Ol(k[p>>2]|0,2,j,o);a=o;m=k[a+4>>2]|0;if((m|0)<0|(m|0)==0&(k[a>>2]|0)>>>0<=0){u=6;break}m=o;e=k[m+4>>2]|0;a=n;h=k[a+4>>2]|0;if((e|0)>(h|0)|((e|0)==(h|0)?(k[m>>2]|0)>>>0>(k[a>>2]|0)>>>0:0)){u=6;break}k[i>>2]=1}if((u|0)==6)k[i>>2]=0;u=ge(k[p>>2]|0)|0;k[t>>2]=u;if(!(k[i>>2]|0)){u=k[t>>2]|0;r=v;return u|0}k[l>>2]=0;k[q>>2]=0;k[s>>2]=0;if(!(k[t>>2]|0)){u=zl(k[f>>2]|0,38,q,0)|0;k[t>>2]=u}if(!(k[t>>2]|0)){u=zl(k[f>>2]|0,39,s,0)|0;k[t>>2]=u}a:do if(!(k[t>>2]|0)){u=g;Ve(k[p>>2]|0,1,k[u>>2]|0,k[u+4>>2]|0)|0;do{if(100!=(De(k[p>>2]|0)|0))break a;a=k[q>>2]|0;u=k[l>>2]|0;k[l>>2]=u+1;Ue(a,1,u)|0;u=k[q>>2]|0;Ue(u,2,Me(k[p>>2]|0,0)|0)|0;u=k[q>>2]|0;Ue(u,3,Me(k[p>>2]|0,1)|0)|0;De(k[q>>2]|0)|0;u=ge(k[q>>2]|0)|0;k[t>>2]=u}while((k[t>>2]|0)==0);ge(k[p>>2]|0)|0}while(0);if(!(k[t>>2]|0)){u=ge(k[p>>2]|0)|0;k[t>>2]=u}if(k[t>>2]|0){u=k[t>>2]|0;r=v;return u|0}u=g;Ve(k[s>>2]|0,1,k[u>>2]|0,k[u+4>>2]|0)|0;De(k[s>>2]|0)|0;u=ge(k[s>>2]|0)|0;k[t>>2]=u;u=k[t>>2]|0;r=v;return u|0}function Kl(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}Ud(k[(k[b>>2]|0)+48>>2]|0);Ud(k[(k[b>>2]|0)+36>>2]|0);Nl(k[k[b>>2]>>2]|0);Ud(k[b>>2]|0);r=c;return}function Ll(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+4>>2]|0))break;Ml(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}Ud(k[k[b>>2]>>2]|0);Ud(k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+4>>2]=0;k[k[b>>2]>>2]=0;k[(k[b>>2]|0)+16>>2]=0;r=d;return}function Ml(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=k[b>>2]|0;Ud(a);r=c;return}if(!(k[(k[b>>2]|0)+56>>2]|0))Ud(k[(k[b>>2]|0)+64>>2]|0);if(!(l[(k[b>>2]|0)+5>>0]|0))Ud(k[(k[b>>2]|0)+40>>2]|0);df(k[(k[b>>2]|0)+52>>2]|0)|0;a=k[b>>2]|0;Ud(a);r=c;return}function Nl(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}k[c>>2]=k[(k[b>>2]|0)+8>>2];Nl(k[k[c>>2]>>2]|0);while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+4>>2];if((k[(k[c>>2]|0)+36>>2]|0)!=((k[c>>2]|0)+40|0))Ud(k[(k[c>>2]|0)+36>>2]|0);Ud(k[(k[c>>2]|0)+28>>2]|0);Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}r=e;return}function Ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;m=r;r=r+48|0;o=m+32|0;n=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;g=m+12|0;h=m+8|0;i=m;k[o>>2]=a;k[n>>2]=b;k[e>>2]=c;k[f>>2]=d;d=Oe(k[o>>2]|0,k[n>>2]|0)|0;k[j>>2]=d;if(!(k[j>>2]|0)){r=m;return}k[h>>2]=1;o=i;k[o>>2]=0;k[o+4>>2]=0;k[g>>2]=0;while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)>=48)b=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)<=57;else b=0;c=i;a=k[c>>2]|0;c=k[c+4>>2]|0;if(!b)break;o=kS(a|0,c|0,10,0)|0;n=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)-48|0;n=$R(o|0,L|0,n|0,((n|0)<0)<<31>>31|0)|0;o=i;k[o>>2]=n;k[o+4>>2]=L;k[g>>2]=(k[g>>2]|0)+1}o=k[e>>2]|0;k[o>>2]=a;k[o+4>>2]=c;while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)!=32)break;k[g>>2]=(k[g>>2]|0)+1}o=i;k[o>>2]=0;k[o+4>>2]=0;if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)==45){k[g>>2]=(k[g>>2]|0)+1;k[h>>2]=-1}while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)>=48)b=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)<=57;else b=0;c=i;a=k[c>>2]|0;c=k[c+4>>2]|0;if(!b)break;o=kS(a|0,c|0,10,0)|0;n=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)-48|0;n=$R(o|0,L|0,n|0,((n|0)<0)<<31>>31|0)|0;o=i;k[o>>2]=n;k[o+4>>2]=L;k[g>>2]=(k[g>>2]|0)+1}n=k[h>>2]|0;n=kS(a|0,c|0,n|0,((n|0)<0)<<31>>31|0)|0;o=k[f>>2]|0;k[o>>2]=n;k[o+4>>2]=L;r=m;return}function Pl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;i=l+12|0;j=l+8|0;k[m>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;k[h>>2]=e;d=zl(k[m>>2]|0,9,i,0)|0;k[j>>2]=d;if(k[j>>2]|0){m=k[j>>2]|0;r=l;return m|0}m=f;Ve(k[i>>2]|0,1,k[m>>2]|0,k[m+4>>2]|0)|0;Se(k[i>>2]|0,2,k[g>>2]|0,k[h>>2]|0,0)|0;De(k[i>>2]|0)|0;m=ge(k[i>>2]|0)|0;k[j>>2]=m;m=k[j>>2]|0;r=l;return m|0}function Ql(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;n=B+72|0;o=B+68|0;p=B+64|0;q=B+24|0;s=B+16|0;t=B+60|0;l=B+56|0;m=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;b=q;k[b>>2]=d;k[b+4>>2]=e;b=s;k[b>>2]=f;k[b+4>>2]=g;k[t>>2]=h;k[l>>2]=i;k[m>>2]=j;k[A>>2]=0;if(!(k[k[o>>2]>>2]|0)){h=q;h=Sl(k[o>>2]|0,k[p>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[w>>2]=h;h=s;h=_R(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=k[t>>2]|0;k[j>>2]=h;k[j+4>>2]=L;k[k[m>>2]>>2]=(k[(k[o>>2]|0)+32>>2]|0)-(k[w>>2]|0);k[k[l>>2]>>2]=(k[(k[o>>2]|0)+36>>2]|0)+(k[w>>2]|0);A=k[A>>2]|0;r=B;return A|0}j=s;h=k[j+4>>2]|0;i=u;k[i>>2]=k[j>>2];k[i+4>>2]=h;i=q;h=k[i+4>>2]|0;j=v;k[j>>2]=k[i>>2];k[j+4>>2]=h;k[z>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!((k[z>>2]|0)!=0?(k[A>>2]|0)==0:0))break;j=v;j=Sl(k[z>>2]|0,k[p>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[x>>2]=j;k[y>>2]=(k[(k[z>>2]|0)+32>>2]|0)-(k[x>>2]|0);j=u;j=Pl(k[n>>2]|0,k[j>>2]|0,k[j+4>>2]|0,(k[(k[z>>2]|0)+36>>2]|0)+(k[x>>2]|0)|0,k[y>>2]|0)|0;k[A>>2]=j;j=u;j=$R(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;h=u;k[h>>2]=j;k[h+4>>2]=L;h=(k[(k[z>>2]|0)+12>>2]|0)+1|0;j=v;h=$R(k[j>>2]|0,k[j+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;j=v;k[j>>2]=h;k[j+4>>2]=L;k[z>>2]=k[(k[z>>2]|0)+4>>2]}if(k[A>>2]|0){A=k[A>>2]|0;r=B;return A|0}h=s;j=u;j=Ql(k[n>>2]|0,k[k[o>>2]>>2]|0,(k[p>>2]|0)+1|0,k[h>>2]|0,k[h+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0,k[t>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[A>>2]=j;A=k[A>>2]|0;r=B;return A|0}function Rl(a,b,c,d,e,f,g,h,i,j,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+96|0;B=D+40|0;p=D+84|0;E=D+80|0;q=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;k[E>>2]=a;a=q;k[a>>2]=b;k[a+4>>2]=c;k[s>>2]=d;a=t;k[a>>2]=e;k[a+4>>2]=f;a=u;k[a>>2]=g;k[a+4>>2]=h;a=v;k[a>>2]=i;k[a+4>>2]=j;a=w;k[a>>2]=l;k[a+4>>2]=m;k[x>>2]=n;k[y>>2]=o;n=zl(k[E>>2]|0,11,z,0)|0;k[A>>2]=n;if(!(k[A>>2]|0)){E=q;Ve(k[z>>2]|0,1,k[E>>2]|0,k[E+4>>2]|0)|0;Ue(k[z>>2]|0,2,k[s>>2]|0)|0;E=t;Ve(k[z>>2]|0,3,k[E>>2]|0,k[E+4>>2]|0)|0;E=u;Ve(k[z>>2]|0,4,k[E>>2]|0,k[E+4>>2]|0)|0;E=w;do if((k[E>>2]|0)==0&(k[E+4>>2]|0)==0){E=v;Ve(k[z>>2]|0,5,k[E>>2]|0,k[E+4>>2]|0)|0}else{d=v;o=k[d+4>>2]|0;n=w;a=k[n>>2]|0;n=k[n+4>>2]|0;E=B;k[E>>2]=k[d>>2];k[E+4>>2]=o;E=B+8|0;k[E>>2]=a;k[E+4>>2]=n;E=Yd(23153,B)|0;k[C>>2]=E;if(k[C>>2]|0){Xe(k[z>>2]|0,5,k[C>>2]|0,-1,148)|0;break}k[p>>2]=7;E=k[p>>2]|0;r=D;return E|0}while(0);Se(k[z>>2]|0,6,k[x>>2]|0,k[y>>2]|0,0)|0;De(k[z>>2]|0)|0;E=ge(k[z>>2]|0)|0;k[A>>2]=E}k[p>>2]=k[A>>2];E=k[p>>2]|0;r=D;return E|0}function Sl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=r;r=r+32|0;g=f+16|0;j=f+12|0;h=f;e=f+8|0;k[g>>2]=a;k[j>>2]=b;a=h;k[a>>2]=c;k[a+4>>2]=d;a=h;a=10-(Tl(k[a>>2]|0,k[a+4>>2]|0)|0)|0;k[e>>2]=a;i[(k[(k[g>>2]|0)+36>>2]|0)+(k[e>>2]|0)>>0]=k[j>>2];a=h;Ul((k[(k[g>>2]|0)+36>>2]|0)+((k[e>>2]|0)+1)|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=f;return k[e>>2]|0}function Tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;k[d>>2]=0;do{k[d>>2]=(k[d>>2]|0)+1;b=c;b=aS(k[b>>2]|0,k[b+4>>2]|0,7)|0;f=c;k[f>>2]=b;k[f+4>>2]=L;f=c}while((k[f>>2]|0)!=0|(k[f+4>>2]|0)!=0);r=e;return k[d>>2]|0}function Ul(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+20|0;h=g+8|0;e=g+16|0;f=g;k[d>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=k[d>>2];b=h;c=k[b+4>>2]|0;a=f;k[a>>2]=k[b>>2];k[a+4>>2]=c;do{h=(k[f>>2]&127|128)&255;a=k[e>>2]|0;k[e>>2]=a+1;i[a>>0]=h;a=f;a=aS(k[a>>2]|0,k[a+4>>2]|0,7)|0;h=f;k[h>>2]=a;k[h+4>>2]=L;h=f}while((k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0);h=(k[e>>2]|0)+-1|0;i[h>>0]=(l[h>>0]|0)&127;r=g;return (k[e>>2]|0)-(k[d>>2]|0)|0}function Vl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;b=(k[d>>2]|0)+8|0;if(!((k[b>>2]|0)!=0|(k[b+4>>2]|0)!=0)){f=k[f>>2]|0;r=g;return f|0}b=zl(k[c>>2]|0,17,e,0)|0;k[f>>2]=b;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}b=(k[d>>2]|0)+8|0;Ve(k[e>>2]|0,1,k[b>>2]|0,k[b+4>>2]|0)|0;b=(k[d>>2]|0)+24|0;Ve(k[e>>2]|0,2,k[b>>2]|0,k[b+4>>2]|0)|0;De(k[e>>2]|0)|0;b=ge(k[e>>2]|0)|0;k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}function Wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j+4>>2]=d;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[f>>2]|0)){e=5;break}if((i[(k[e>>2]|0)+(k[h>>2]|0)>>0]|0)!=(i[(k[g>>2]|0)+(k[h>>2]|0)>>0]|0)){e=5;break}k[h>>2]=(k[h>>2]|0)+1}if((e|0)==5){r=j;return k[h>>2]|0}return 0}function Xl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;l=w+56|0;m=w+52|0;n=w+48|0;o=w+44|0;p=w+40|0;q=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;f=w+20|0;h=w+16|0;g=w+12|0;i=w+8|0;j=w+4|0;t=w;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[u>>2]=k[k[n>>2]>>2];do if(k[u>>2]|0){k[f>>2]=k[(k[u>>2]|0)+32>>2];k[h>>2]=k[f>>2];b=Wl(k[(k[u>>2]|0)+16>>2]|0,k[(k[u>>2]|0)+20>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[g>>2]=b;k[i>>2]=(k[q>>2]|0)-(k[g>>2]|0);b=k[g>>2]|0;b=Tl(b,((b|0)<0)<<31>>31)|0;d=k[i>>2]|0;d=b+(Tl(d,((d|0)<0)<<31>>31)|0)|0;k[h>>2]=(k[h>>2]|0)+(d+(k[i>>2]|0));if((k[h>>2]|0)>(k[(k[m>>2]|0)+224>>2]|0)?(k[(k[u>>2]|0)+16>>2]|0)!=0:0)break;if((k[h>>2]|0)>(k[(k[m>>2]|0)+224>>2]|0)?(v=Sd(k[h>>2]|0)|0,k[(k[u>>2]|0)+36>>2]=v,(k[(k[u>>2]|0)+36>>2]|0)==0):0){k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}if(k[(k[u>>2]|0)+16>>2]|0){v=k[g>>2]|0;v=Ul((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;k[f>>2]=(k[f>>2]|0)+v}v=k[i>>2]|0;v=Ul((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;k[f>>2]=(k[f>>2]|0)+v;bS((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,(k[p>>2]|0)+(k[g>>2]|0)|0,k[i>>2]|0)|0;k[(k[u>>2]|0)+32>>2]=(k[f>>2]|0)+(k[i>>2]|0);v=(k[u>>2]|0)+12|0;k[v>>2]=(k[v>>2]|0)+1;if(k[o>>2]|0){do if((k[(k[u>>2]|0)+24>>2]|0)<(k[q>>2]|0)){v=Vd(k[(k[u>>2]|0)+28>>2]|0,k[q>>2]<<1)|0;k[j>>2]=v;if(k[j>>2]|0){k[(k[u>>2]|0)+24>>2]=k[q>>2]<<1;k[(k[u>>2]|0)+28>>2]=k[j>>2];break}k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}while(0);k[(k[u>>2]|0)+16>>2]=k[(k[u>>2]|0)+28>>2];bS(k[(k[u>>2]|0)+16>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[(k[u>>2]|0)+20>>2]=k[q>>2]}else{k[(k[u>>2]|0)+16>>2]=k[p>>2];k[(k[u>>2]|0)+20>>2]=k[q>>2]}k[l>>2]=0;v=k[l>>2]|0;r=w;return v|0}while(0);d=Sd(40+(k[(k[m>>2]|0)+224>>2]|0)|0)|0;k[s>>2]=d;if(!(k[s>>2]|0)){k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}c=k[s>>2]|0;f=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(f|0));k[(k[s>>2]|0)+32>>2]=11;k[(k[s>>2]|0)+36>>2]=(k[s>>2]|0)+40;if(k[u>>2]|0){k[t>>2]=k[k[u>>2]>>2];q=Xl(k[m>>2]|0,t,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[v>>2]=q;if(!(k[k[u>>2]>>2]|0))k[k[u>>2]>>2]=k[t>>2];k[(k[u>>2]|0)+4>>2]=k[s>>2];k[(k[s>>2]|0)+8>>2]=k[(k[u>>2]|0)+8>>2];k[k[s>>2]>>2]=k[t>>2];k[(k[s>>2]|0)+28>>2]=k[(k[u>>2]|0)+28>>2];k[(k[s>>2]|0)+24>>2]=k[(k[u>>2]|0)+24>>2];k[(k[u>>2]|0)+28>>2]=0}else{k[(k[s>>2]|0)+8>>2]=k[s>>2];u=Xl(k[m>>2]|0,s,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[v>>2]=u}k[k[n>>2]>>2]=k[s>>2];k[l>>2]=k[v>>2];v=k[l>>2]|0;r=w;return v|0}function Yl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+80>>2]|0)==0&1)-((k[(k[d>>2]|0)+80>>2]|0)==0&1);if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+88|0;b=(k[d>>2]|0)+88|0;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{a=(k[c>>2]|0)+88|0;c=k[a+4>>2]|0;b=(k[d>>2]|0)+88|0;d=k[b+4>>2]|0;k[e>>2]=(c|0)<(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)?1:-1;e=k[e>>2]|0;r=f;return e|0}return 0}function Zl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+80>>2]|0)==0&1)-((k[(k[d>>2]|0)+80>>2]|0)==0&1);if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+88|0;b=(k[d>>2]|0)+88|0;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{a=(k[c>>2]|0)+88|0;c=k[a+4>>2]|0;b=(k[d>>2]|0)+88|0;d=k[b+4>>2]|0;k[e>>2]=(c|0)>(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)?1:-1;e=k[e>>2]|0;r=f;return e|0}return 0}function _l(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+5>>0]|0){a=k[b>>2]|0;a=a+40|0;k[a>>2]=0;r=c;return}Ud(k[(k[b>>2]|0)+40>>2]|0);df(k[(k[b>>2]|0)+52>>2]|0)|0;k[(k[b>>2]|0)+52>>2]=0;a=k[b>>2]|0;a=a+40|0;k[a>>2]=0;r=c;return}function $l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;s=v+52|0;d=v+48|0;t=v+44|0;e=v+40|0;p=v+36|0;u=v+32|0;n=v+28|0;o=v+24|0;h=v+20|0;f=v+16|0;j=v+12|0;g=v+8|0;m=v+4|0;q=v;k[d>>2]=a;k[t>>2]=b;k[e>>2]=c;c=k[t>>2]|0;if(k[(k[t>>2]|0)+72>>2]|0)k[u>>2]=(k[(k[t>>2]|0)+72>>2]|0)+(k[c+76>>2]|0);else k[u>>2]=k[c+40>>2];if(!((k[u>>2]|0)!=0?(k[u>>2]|0)>>>0<((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0:0)){c=k[t>>2]|0;if(k[(k[t>>2]|0)+56>>2]|0){k[h>>2]=k[k[c+56>>2]>>2];Ud(k[(k[t>>2]|0)+40>>2]|0);k[(k[t>>2]|0)+40>>2]=0;do if(k[h>>2]|0){k[j>>2]=k[(k[h>>2]|0)+8>>2];k[g>>2]=(k[k[j>>2]>>2]|0)+1;k[(k[t>>2]|0)+64>>2]=k[(k[h>>2]|0)+12>>2];k[(k[t>>2]|0)+60>>2]=k[(k[h>>2]|0)+16>>2];u=Sd(k[g>>2]|0)|0;k[f>>2]=u;if(k[f>>2]|0){bS(k[f>>2]|0,k[(k[j>>2]|0)+4>>2]|0,k[g>>2]|0)|0;u=k[g>>2]|0;k[(k[t>>2]|0)+76>>2]=u;k[(k[t>>2]|0)+44>>2]=u;u=k[f>>2]|0;k[(k[t>>2]|0)+72>>2]=u;k[(k[t>>2]|0)+40>>2]=u;u=(k[t>>2]|0)+56|0;k[u>>2]=(k[u>>2]|0)+4;break}k[s>>2]=7;u=k[s>>2]|0;r=v;return u|0}while(0);k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}_l(c);h=(k[t>>2]|0)+32|0;f=k[h+4>>2]|0;j=(k[t>>2]|0)+16|0;g=k[j+4>>2]|0;if((f|0)>(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0>=(k[j>>2]|0)>>>0:0)){k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}g=k[d>>2]|0;f=(k[t>>2]|0)+32|0;h=f;h=$R(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=L;k[f>>2]=h;k[f+4>>2]=j;j=qm(g,h,j,(k[t>>2]|0)+40|0,(k[t>>2]|0)+44|0,(k[e>>2]|0)!=0?(k[t>>2]|0)+48|0:0)|0;k[p>>2]=j;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}if((k[e>>2]|0)!=0?(k[(k[t>>2]|0)+48>>2]|0)<(k[(k[t>>2]|0)+44>>2]|0):0){k[(k[t>>2]|0)+52>>2]=k[(k[d>>2]|0)+244>>2];k[(k[d>>2]|0)+244>>2]=0}k[u>>2]=k[(k[t>>2]|0)+40>>2]}j=mm(k[t>>2]|0,k[u>>2]|0,20)|0;k[p>>2]=j;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=jm(c,n)|0;else{k[n>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=jm(c,o)|0;else{k[o>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;if(!((k[n>>2]|0)<0|(k[o>>2]|0)<=0)?((k[u>>2]|0)+(k[o>>2]|0)|0)>>>0<=((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((k[n>>2]|0)+(k[o>>2]|0)|0)>(k[(k[t>>2]|0)+68>>2]|0)){k[m>>2]=(k[n>>2]|0)+(k[o>>2]|0)<<1;j=Vd(k[(k[t>>2]|0)+64>>2]|0,k[m>>2]|0)|0;k[q>>2]=j;if(k[q>>2]|0){k[(k[t>>2]|0)+64>>2]=k[q>>2];k[(k[t>>2]|0)+68>>2]=k[m>>2];break}k[s>>2]=7;u=k[s>>2]|0;r=v;return u|0}while(0);q=mm(k[t>>2]|0,k[u>>2]|0,(k[o>>2]|0)+10|0)|0;k[p>>2]=q;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}bS((k[(k[t>>2]|0)+64>>2]|0)+(k[n>>2]|0)|0,k[u>>2]|0,k[o>>2]|0)|0;k[(k[t>>2]|0)+60>>2]=(k[n>>2]|0)+(k[o>>2]|0);k[u>>2]=(k[u>>2]|0)+(k[o>>2]|0);c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=jm(c,(k[t>>2]|0)+76|0)|0;else{k[(k[t>>2]|0)+76>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;k[(k[t>>2]|0)+72>>2]=k[u>>2];k[(k[t>>2]|0)+80>>2]=0;do if(((k[(k[t>>2]|0)+72>>2]|0)+(k[(k[t>>2]|0)+76>>2]|0)|0)>>>0<=((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0){if((k[(k[t>>2]|0)+48>>2]|0)==0?(i[(k[(k[t>>2]|0)+72>>2]|0)+((k[(k[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}while(0);k[s>>2]=267;u=k[s>>2]|0;r=v;return u|0}k[s>>2]=267;u=k[s>>2]|0;r=v;return u|0}function am(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if((k[(k[c>>2]|0)+40>>2]|0)!=0?(k[(k[d>>2]|0)+40>>2]|0)!=0:0){k[f>>2]=(k[(k[c>>2]|0)+60>>2]|0)-(k[(k[d>>2]|0)+60>>2]|0);a=k[(k[c>>2]|0)+64>>2]|0;b=k[(k[d>>2]|0)+64>>2]|0;if((k[f>>2]|0)<0){b=oR(a,b,k[(k[c>>2]|0)+60>>2]|0)|0;k[e>>2]=b}else{b=oR(a,b,k[(k[d>>2]|0)+60>>2]|0)|0;k[e>>2]=b}if(!(k[e>>2]|0))k[e>>2]=k[f>>2]}else k[e>>2]=((k[(k[c>>2]|0)+40>>2]|0)==0&1)-((k[(k[d>>2]|0)+40>>2]|0)==0&1);if(k[e>>2]|0){f=k[e>>2]|0;r=g;return f|0}k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);f=k[e>>2]|0;r=g;return f|0}function bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((k[g>>2]|0)==(k[f>>2]|0))k[g>>2]=(k[g>>2]|0)+-1;k[i>>2]=(k[g>>2]|0)-1;while(1){if((k[i>>2]|0)<0)break;k[j>>2]=k[i>>2];while(1){if((k[j>>2]|0)>=((k[f>>2]|0)-1|0))break;if((gc[k[h>>2]&255](k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]|0,k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2]|0)|0)<0)break;k[l>>2]=k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2];k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2]=k[(k[e>>2]|0)+(k[j>>2]<<2)>>2];k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]=k[l>>2];k[j>>2]=(k[j>>2]|0)+1}k[i>>2]=(k[i>>2]|0)+-1}r=m;return}function cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;do if((k[g>>2]|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[(k[e>>2]|0)+20>>2]=k[g>>2]<<1;a=Vd(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[e>>2]|0)+16>>2]=k[h>>2];break}k[d>>2]=7;h=k[d>>2]|0;r=i;return h|0}while(0);bS(k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function dm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+12|0;c=g+8|0;f=g+4|0;d=g+16|0;e=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;if((l[(k[h>>2]|0)+231>>0]|0|0)!=0?(k[(k[c>>2]|0)+56>>2]|0)!=0:0){i[d>>0]=0;h=(k[c>>2]|0)+88|0;k[h>>2]=0;k[h+4>>2]=0;k[(k[c>>2]|0)+84>>2]=0;km(0,k[(k[c>>2]|0)+72>>2]|0,k[(k[c>>2]|0)+76>>2]|0,(k[c>>2]|0)+80|0,(k[c>>2]|0)+88|0,(k[c>>2]|0)+84|0,d);h=k[f>>2]|0;r=g;return h|0}h=mm(k[c>>2]|0,k[(k[c>>2]|0)+72>>2]|0,10)|0;k[f>>2]=h;if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}h=im(k[(k[c>>2]|0)+72>>2]|0,(k[c>>2]|0)+88|0)|0;k[e>>2]=h;k[(k[c>>2]|0)+80>>2]=(k[(k[c>>2]|0)+72>>2]|0)+(k[e>>2]|0);h=k[f>>2]|0;r=g;return h|0}function em(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;s=u+36|0;t=u+32|0;q=u+28|0;e=u+24|0;f=u+20|0;p=u+16|0;n=u+12|0;h=u+41|0;g=u+40|0;o=u+8|0;m=u;k[t>>2]=a;k[q>>2]=b;k[e>>2]=c;k[f>>2]=d;k[p>>2]=0;k[n>>2]=k[(k[q>>2]|0)+80>>2];i[h>>0]=0;do if((l[(k[t>>2]|0)+231>>0]|0)!=0?(k[(k[q>>2]|0)+56>>2]|0)!=0:0){i[g>>0]=0;if(k[e>>2]|0){k[k[e>>2]>>2]=k[(k[q>>2]|0)+80>>2];k[k[f>>2]>>2]=(k[(k[q>>2]|0)+84>>2]|0)-1}km(0,k[(k[q>>2]|0)+72>>2]|0,k[(k[q>>2]|0)+76>>2]|0,n,(k[q>>2]|0)+88|0,(k[q>>2]|0)+84|0,g);if(i[g>>0]|0){k[(k[q>>2]|0)+80>>2]=0;break}else{k[(k[q>>2]|0)+80>>2]=k[n>>2];break}}else j=8;while(0);do if((j|0)==8){k[o>>2]=(k[(k[q>>2]|0)+72>>2]|0)+(k[(k[q>>2]|0)+76>>2]|0);while(1){if(i[k[n>>2]>>0]|i[h>>0]){c=k[n>>2]|0;k[n>>2]=c+1;i[h>>0]=i[c>>0]&128;continue}if(!(k[(k[q>>2]|0)+52>>2]|0))break;if((k[n>>2]|0)>>>0<((k[(k[q>>2]|0)+40>>2]|0)+(k[(k[q>>2]|0)+48>>2]|0)|0)>>>0)break;c=lm(k[q>>2]|0)|0;k[p>>2]=c;if(k[p>>2]|0){j=14;break}}if((j|0)==14){k[s>>2]=k[p>>2];t=k[s>>2]|0;r=u;return t|0}k[n>>2]=(k[n>>2]|0)+1;if(k[e>>2]|0){k[k[e>>2]>>2]=k[(k[q>>2]|0)+80>>2];k[k[f>>2]>>2]=(k[n>>2]|0)-(k[(k[q>>2]|0)+80>>2]|0)-1}while(1){if((k[n>>2]|0)>>>0<(k[o>>2]|0)>>>0)e=(i[k[n>>2]>>0]|0)==0;else e=0;f=k[n>>2]|0;if(!e)break;k[n>>2]=f+1}e=k[q>>2]|0;if(f>>>0>=(k[o>>2]|0)>>>0){k[e+80>>2]=0;break}o=mm(e,k[n>>2]|0,10)|0;k[p>>2]=o;if(!(k[p>>2]|0)){b=k[n>>2]|0;b=b+(im(k[n>>2]|0,m)|0)|0;k[(k[q>>2]|0)+80>>2]=b;b=m;h=k[b>>2]|0;b=k[b+4>>2]|0;e=(k[q>>2]|0)+88|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(i[(k[t>>2]|0)+231>>0]|0){q=_R(f|0,g|0,h|0,b|0)|0;t=e;k[t>>2]=q;k[t+4>>2]=L;break}else{q=$R(f|0,g|0,h|0,b|0)|0;t=e;k[t>>2]=q;k[t+4>>2]=L;break}}}while(0);k[s>>2]=0;t=k[s>>2]|0;r=u;return t|0}function fm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+32|0;f=t+28|0;g=t+24|0;h=t+20|0;q=t+16|0;n=t+12|0;p=t+8|0;m=t+4|0;o=t;j=t+36|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[q>>2]=k[k[g>>2]>>2];k[n>>2]=k[k[h>>2]>>2];k[p>>2]=(k[q>>2]|0)+(k[n>>2]|0);k[m>>2]=0;k[o>>2]=k[q>>2];while(1){i[j>>0]=0;while(1){if((k[o>>2]|0)>>>0>=(k[p>>2]|0)>>>0)break;if(!((i[j>>0]|i[k[o>>2]>>0])&254))break;c=k[o>>2]|0;k[o>>2]=c+1;i[j>>0]=i[c>>0]&128}b=(k[o>>2]|0)-(k[q>>2]|0)|0;if((k[e>>2]|0)==(k[m>>2]|0)){s=7;break}k[n>>2]=(k[n>>2]|0)-b;k[q>>2]=k[o>>2];if(!(k[n>>2]|0))break;k[o>>2]=(k[q>>2]|0)+1;b=k[o>>2]|0;if(l[k[o>>2]>>0]&128)b=jm(b,m)|0;else{k[m>>2]=l[b>>0];b=1}k[o>>2]=(k[o>>2]|0)+b}if((s|0)==7)k[n>>2]=b;if(!(k[f>>2]|0)){s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}if(((k[q>>2]|0)+(k[n>>2]|0)|0)==(k[p>>2]|0)){s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}dS((k[q>>2]|0)+(k[n>>2]|0)|0,0,(k[p>>2]|0)-((k[q>>2]|0)+(k[n>>2]|0))|0)|0;s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}function gm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;o=r;r=r+48|0;f=o+8|0;q=o+40|0;p=o+36|0;g=o+32|0;l=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;j=o;s=f;k[s>>2]=a;k[s+4>>2]=b;k[q>>2]=c;k[p>>2]=d;k[g>>2]=e;k[l>>2]=0;k[h>>2]=0;k[m>>2]=k[q>>2];k[n>>2]=(k[q>>2]|0)+(k[p>>2]|0);if((i[k[m>>2]>>0]|0)!=1){if((i[k[m>>2]>>0]|0)==2){s=f;s=Ul((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=2;k[h>>2]=1}hm(0,m)}while(1){if((k[m>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;if((i[k[m>>2]>>0]|0)!=1)break;k[m>>2]=(k[m>>2]|0)+1;s=im(k[m>>2]|0,j)|0;k[m>>2]=(k[m>>2]|0)+s;if((i[k[m>>2]>>0]|0)==2){if(!(k[h>>2]|0)){s=f;s=Ul((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;k[h>>2]=1}s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=1;s=j;s=Ul((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=2}hm(0,m)}if(!(k[h>>2]|0)){s=k[l>>2]|0;r=o;return s|0}s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=0;s=k[l>>2]|0;r=o;return s|0}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;h=j+8|0;e=j+20|0;f=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[k[d>>2]>>2];i[e>>0]=0;while(1){if(!(254&(i[k[h>>2]>>0]|i[e>>0])))break;b=k[h>>2]|0;k[h>>2]=b+1;i[e>>0]=i[b>>0]&128}if(!(k[c>>2]|0)){a=k[h>>2]|0;b=k[d>>2]|0;k[b>>2]=a;r=j;return}k[f>>2]=(k[h>>2]|0)-(k[k[d>>2]>>2]|0);k[g>>2]=k[k[c>>2]>>2];bS(k[g>>2]|0,k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+(k[f>>2]|0);k[k[c>>2]>>2]=k[g>>2];a=k[h>>2]|0;b=k[d>>2]|0;k[b>>2]=a;r=j;return}function im(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;c=m+36|0;d=m+32|0;e=m+28|0;j=m+24|0;f=m+20|0;g=m+8|0;l=m+16|0;h=m;k[d>>2]=a;k[e>>2]=b;k[j>>2]=k[d>>2];a=k[d>>2]|0;k[d>>2]=a+1;k[f>>2]=i[a>>0];a=k[f>>2]|0;if(!(k[f>>2]&128)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=1;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&127|i[b>>0]<<7;a=k[f>>2]|0;if(!(k[f>>2]&16384)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=2;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&16383|i[b>>0]<<14;a=k[f>>2]|0;if(!(k[f>>2]&2097152)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=3;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&2097151|i[b>>0]<<21;a=k[f>>2]|0;if(!(k[f>>2]&268435456)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=4;l=k[c>>2]|0;r=m;return l|0}f=g;k[f>>2]=a&268435455;k[f+4>>2]=0;k[l>>2]=28;while(1){if((k[l>>2]|0)>63)break;f=k[d>>2]|0;k[d>>2]=f+1;f=i[f>>0]|0;b=h;k[b>>2]=f;k[b+4>>2]=((f|0)<0)<<31>>31;b=eS(k[h>>2]&127|0,0,k[l>>2]|0)|0;f=g;b=$R(k[f>>2]|0,k[f+4>>2]|0,b|0,L|0)|0;f=g;k[f>>2]=b;k[f+4>>2]=L;if((k[h>>2]&128|0)==0&0==0)break;k[l>>2]=(k[l>>2]|0)+7}h=k[g+4>>2]|0;l=k[e>>2]|0;k[l>>2]=k[g>>2];k[l+4>>2]=h;k[c>>2]=(k[d>>2]|0)-(k[j>>2]|0);l=k[c>>2]|0;r=m;return l|0}function jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=i[b>>0];b=k[f>>2]&127;a=k[d>>2]|0;k[d>>2]=a+1;k[f>>2]=b|i[a>>0]<<7;a=k[f>>2]|0;if(!(k[f>>2]&16384)){k[k[e>>2]>>2]=a;k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&16383|i[b>>0]<<14;a=k[f>>2]|0;if(!(k[f>>2]&2097152)){k[k[e>>2]>>2]=a;k[c>>2]=3;f=k[c>>2]|0;r=g;return f|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&2097151|i[b>>0]<<21;a=k[f>>2]|0;if(!(k[f>>2]&268435456)){k[k[e>>2]>>2]=a;k[c>>2]=4;f=k[c>>2]|0;r=g;return f|0}else{k[f>>2]=a&268435455;k[k[e>>2]>>2]=k[f>>2]|(i[k[d>>2]>>0]&15)<<28;k[c>>2]=5;f=k[c>>2]|0;r=g;return f|0}return 0}function km(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;h=B+76|0;j=B+72|0;l=B+68|0;m=B+64|0;n=B+60|0;o=B+56|0;p=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;q=B+8|0;v=B+28|0;s=B;A=B+24|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[w>>2]=k[k[m>>2]>>2];if(k[w>>2]|0){k[v>>2]=(k[h>>2]|0)!=0?-1:1;om(w,k[j>>2]|0,s);d=k[v>>2]|0;f=s;f=kS(d|0,((d|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;d=k[n>>2]|0;e=d;f=_R(k[e>>2]|0,k[e+4>>2]|0,f|0,L|0)|0;k[d>>2]=f;k[d+4>>2]=L;if((k[w>>2]|0)==(k[j>>2]|0))i[k[p>>2]>>0]=1;else{k[A>>2]=k[w>>2];pm(k[j>>2]|0,w);k[k[o>>2]>>2]=(k[A>>2]|0)-(k[w>>2]|0)}k[k[m>>2]>>2]=k[w>>2];r=B;return}d=t;k[d>>2]=0;k[d+4>>2]=0;k[z>>2]=0;k[x>>2]=k[j>>2];k[y>>2]=(k[j>>2]|0)+(k[l>>2]|0);k[u>>2]=1;while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;d=im(k[x>>2]|0,q)|0;k[x>>2]=(k[x>>2]|0)+d;d=k[u>>2]|0;f=q;f=kS(d|0,((d|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;d=t;f=$R(k[d>>2]|0,k[d+4>>2]|0,f|0,L|0)|0;d=t;k[d>>2]=f;k[d+4>>2]=L;k[z>>2]=k[x>>2];nm(0,x);while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;if(i[k[x>>2]>>0]|0)break;k[x>>2]=(k[x>>2]|0)+1}k[u>>2]=(k[h>>2]|0)!=0?-1:1}k[k[o>>2]>>2]=(k[y>>2]|0)-(k[z>>2]|0);k[k[m>>2]>>2]=k[z>>2];e=t;f=k[e+4>>2]|0;d=k[n>>2]|0;k[d>>2]=k[e>>2];k[d+4>>2]=f;r=B;return}function lm(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[c>>2]=a;if(((k[(k[c>>2]|0)+44>>2]|0)-(k[(k[c>>2]|0)+48>>2]|0)|0)<4096)a=(k[(k[c>>2]|0)+44>>2]|0)-(k[(k[c>>2]|0)+48>>2]|0)|0;else a=4096;k[b>>2]=a;a=ef(k[(k[c>>2]|0)+52>>2]|0,(k[(k[c>>2]|0)+40>>2]|0)+(k[(k[c>>2]|0)+48>>2]|0)|0,k[b>>2]|0,k[(k[c>>2]|0)+48>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+48|0;k[a>>2]=(k[a>>2]|0)+(k[b>>2]|0);a=(k[(k[c>>2]|0)+40>>2]|0)+(k[(k[c>>2]|0)+48>>2]|0)|0;b=a+20|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0));if((k[(k[c>>2]|0)+48>>2]|0)!=(k[(k[c>>2]|0)+44>>2]|0)){d=k[d>>2]|0;r=e;return d|0}df(k[(k[c>>2]|0)+52>>2]|0)|0;k[(k[c>>2]|0)+52>>2]=0;k[(k[c>>2]|0)+48>>2]=0;d=k[d>>2]|0;r=e;return d|0}function mm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if(!((k[g>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)!=0:0)){d=5;break}if(((k[e>>2]|0)-(k[(k[d>>2]|0)+40>>2]|0)+(k[f>>2]|0)|0)<=(k[(k[d>>2]|0)+48>>2]|0)){d=5;break}a=lm(k[d>>2]|0)|0;k[g>>2]=a}if((d|0)==5){r=h;return k[g>>2]|0}return 0}function nm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;h=j+8|0;e=j+20|0;f=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[k[d>>2]>>2];i[e>>0]=0;while(1){b=(i[k[h>>2]>>0]|i[e>>0]|0)!=0;a=k[h>>2]|0;k[h>>2]=a+1;if(!b)break;i[e>>0]=i[a>>0]&128}if(!(k[c>>2]|0)){g=k[h>>2]|0;h=k[d>>2]|0;k[h>>2]=g;r=j;return}k[f>>2]=(k[h>>2]|0)-(k[k[d>>2]>>2]|0);k[g>>2]=k[k[c>>2]>>2];bS(k[g>>2]|0,k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+(k[f>>2]|0);k[k[c>>2]>>2]=k[g>>2];g=k[h>>2]|0;h=k[d>>2]|0;k[h>>2]=g;r=j;return}function om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=(k[k[d>>2]>>2]|0)+-2;while(1){if((k[h>>2]|0)>>>0<(k[e>>2]|0)>>>0)break;if(!(i[k[h>>2]>>0]&128))break;k[h>>2]=(k[h>>2]|0)+-1}k[h>>2]=(k[h>>2]|0)+1;k[k[d>>2]>>2]=k[h>>2];im(k[h>>2]|0,g)|0;b=g;c=k[b+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;r=j;return}function pm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;c=h+8|0;d=h+4|0;f=h;e=h+12|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=(k[k[d>>2]>>2]|0)+-2;i[e>>0]=0;do{if((k[f>>2]|0)>>>0<=(k[c>>2]|0)>>>0)break;b=k[f>>2]|0;k[f>>2]=b+-1;b=i[b>>0]|0;i[e>>0]=b}while((b<<24>>24|0)==0);while(1){if((k[f>>2]|0)>>>0>(k[c>>2]|0)>>>0)b=(i[k[f>>2]>>0]&128|i[e>>0]|0)!=0;else b=0;a=k[f>>2]|0;if(!b)break;k[f>>2]=a+-1;i[e>>0]=i[a>>0]|0}if(a>>>0<=(k[c>>2]|0)>>>0){if((i[e>>0]|0)==0?(k[k[d>>2]>>2]|0)>>>0>((k[f>>2]|0)+2|0)>>>0:0)g=11}else g=11;if((g|0)==11)k[f>>2]=(k[f>>2]|0)+2;do{g=k[f>>2]|0;k[f>>2]=g+1}while((i[g>>0]&128|0)!=0);k[k[d>>2]>>2]=k[f>>2];r=h;return}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;n=t+8|0;o=t+40|0;g=t+36|0;h=t;p=t+32|0;j=t+28|0;l=t+24|0;s=t+20|0;m=t+16|0;q=t+12|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[p>>2]=d;k[j>>2]=e;k[l>>2]=f;b=k[g>>2]|0;if(k[(k[g>>2]|0)+244>>2]|0){n=h;n=gf(k[b+244>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[s>>2]=n}else{if(0==(k[b+240>>2]|0)?(k[n>>2]=k[(k[g>>2]|0)+20>>2],n=Yd(23163,n)|0,k[(k[g>>2]|0)+240>>2]=n,0==(k[(k[g>>2]|0)+240>>2]|0)):0){k[o>>2]=7;s=k[o>>2]|0;r=t;return s|0}n=h;n=cf(k[(k[g>>2]|0)+12>>2]|0,k[(k[g>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+240>>2]|0,23175,k[n>>2]|0,k[n+4>>2]|0,0,(k[g>>2]|0)+244|0)|0;k[s>>2]=n}if((k[s>>2]|0)==0?(n=ff(k[(k[g>>2]|0)+244>>2]|0)|0,k[m>>2]=n,k[k[j>>2]>>2]=k[m>>2],(k[p>>2]|0)!=0):0){n=Sd((k[m>>2]|0)+20|0)|0;k[q>>2]=n;if(k[q>>2]|0){if((k[l>>2]|0)!=0&(k[m>>2]|0)>16384){k[m>>2]=4096;k[k[l>>2]>>2]=k[m>>2]}b=ef(k[(k[g>>2]|0)+244>>2]|0,k[q>>2]|0,k[m>>2]|0,0)|0;k[s>>2]=b;b=(k[q>>2]|0)+(k[m>>2]|0)|0;c=b+20|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(c|0));if(k[s>>2]|0){Ud(k[q>>2]|0);k[q>>2]=0}}else k[s>>2]=7;k[k[p>>2]>>2]=k[q>>2]}k[o>>2]=k[s>>2];s=k[o>>2]|0;r=t;return s|0}function rm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;m=q+36|0;e=q+32|0;n=q+28|0;f=q+24|0;g=q+20|0;h=q+16|0;o=q+12|0;j=q+8|0;i=q+4|0;p=q;k[e>>2]=a;k[n>>2]=b;k[f>>2]=c;k[g>>2]=d;k[o>>2]=k[(k[n>>2]|0)+4>>2];k[h>>2]=0;a:while(1){if(k[(k[n>>2]|0)+28>>2]|0){e=12;break}if((k[h>>2]|0)>=(k[(k[n>>2]|0)+4>>2]|0)){e=12;break}k[j>>2]=0;k[i>>2]=k[(k[k[n>>2]>>2]|0)+(k[h>>2]<<2)>>2];do{c=$l(k[e>>2]|0,k[i>>2]|0,0)|0;k[p>>2]=c;if(k[p>>2]|0){e=6;break a}if(!(k[f>>2]|0))break;c=sm(k[i>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[j>>2]=c}while((c|0)<0);if((k[j>>2]|0)!=0?(l[(k[i>>2]|0)+4>>0]|0|0)!=0:0)_l(k[i>>2]|0);k[h>>2]=(k[h>>2]|0)+1}if((e|0)==6){k[m>>2]=k[p>>2];p=k[m>>2]|0;r=q;return p|0}else if((e|0)==12){bm(k[k[n>>2]>>2]|0,k[o>>2]|0,k[o>>2]|0,184);k[m>>2]=0;p=k[m>>2]|0;r=q;return p|0}return 0}function sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;k[g>>2]=0;if(!(k[(k[e>>2]|0)+40>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=k[(k[e>>2]|0)+64>>2]|0;c=k[d>>2]|0;if((k[(k[e>>2]|0)+60>>2]|0)>(k[f>>2]|0)){d=oR(a,c,k[f>>2]|0)|0;k[g>>2]=d}else{d=oR(a,c,k[(k[e>>2]|0)+60>>2]|0)|0;k[g>>2]=d}if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}k[g>>2]=(k[(k[e>>2]|0)+60>>2]|0)-(k[f>>2]|0);g=k[g>>2]|0;r=h;return g|0}function tm(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;j=F+88|0;l=F+84|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+68|0;q=F+64|0;s=F+60|0;t=F+56|0;C=F+52|0;A=F+48|0;D=F+44|0;y=F+40|0;z=F+36|0;w=F+16|0;v=F+8|0;u=F;x=F+32|0;E=F+28|0;B=F+24|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[C>>2]=0;k[A>>2]=0;if(((k[n>>2]|0)<0?(k[(k[j>>2]|0)+252>>2]|0)!=0:0)?(k[y>>2]=0,e=um(k[j>>2]|0,k[m>>2]|0,k[o>>2]|0,k[p>>2]|0,((k[q>>2]|0)!=0?1:(k[s>>2]|0)!=0)&1,y)|0,k[C>>2]=e,(k[C>>2]|0)==0&(k[y>>2]|0)!=0):0){e=vm(k[t>>2]|0,k[y>>2]|0)|0;k[C>>2]=e}a:do if((k[n>>2]|0)!=-1){if(!(k[C>>2]|0)){e=wm(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,A)|0;k[C>>2]=e}while(1){if(k[C>>2]|0)break a;e=De(k[A>>2]|0)|0;k[C>>2]=e;if(100!=(e|0))break a;k[z>>2]=0;y=Ne(k[A>>2]|0,1)|0;e=w;k[e>>2]=y;k[e+4>>2]=L;e=Ne(k[A>>2]|0,2)|0;y=v;k[y>>2]=e;k[y+4>>2]=L;y=Ne(k[A>>2]|0,3)|0;e=u;k[e>>2]=y;k[e+4>>2]=L;e=Ke(k[A>>2]|0,4)|0;k[x>>2]=e;e=Je(k[A>>2]|0,4)|0;k[E>>2]=e;e=w;if(((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0)&(k[o>>2]|0)!=0){k[B>>2]=(k[q>>2]|0)!=0?v:0;e=xm(k[j>>2]|0,k[o>>2]|0,k[p>>2]|0,k[E>>2]|0,k[x>>2]|0,w,k[B>>2]|0)|0;k[C>>2]=e;if(k[C>>2]|0)break a;if((k[q>>2]|0)==0&(k[s>>2]|0)==0){i=w;y=k[i+4>>2]|0;e=v;k[e>>2]=k[i>>2];k[e+4>>2]=y}}i=w;y=v;e=u;e=ym((k[(k[t>>2]|0)+4>>2]|0)+1|0,((k[q>>2]|0)==0?(k[s>>2]|0)==0:0)&1,k[i>>2]|0,k[i+4>>2]|0,k[y>>2]|0,k[y+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[E>>2]|0,k[x>>2]|0,z)|0;k[C>>2]=e;if(k[C>>2]|0)break a;e=vm(k[t>>2]|0,k[z>>2]|0)|0;k[C>>2]=e}}while(0);e=ge(k[A>>2]|0)|0;k[D>>2]=e;if((k[C>>2]|0)!=101){e=k[C>>2]|0;r=F;return e|0}k[C>>2]=k[D>>2];e=k[C>>2]|0;r=F;return e|0}function um(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+80|0;A=y+64|0;z=y+60|0;g=y+56|0;h=y+52|0;i=y+48|0;j=y+44|0;u=y+40|0;s=y+36|0;l=y+32|0;p=y+28|0;v=y+24|0;t=y+20|0;n=y+16|0;w=y+12|0;q=y+8|0;m=y+4|0;o=y;k[A>>2]=a;k[z>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=e;k[j>>2]=f;k[u>>2]=0;k[l>>2]=0;k[p>>2]=0;k[v>>2]=0;k[t>>2]=(k[(k[A>>2]|0)+252>>2]|0)+((k[z>>2]|0)*24|0)+4;if(k[i>>2]|0){k[n>>2]=0;k[s>>2]=k[(k[t>>2]|0)+8>>2];while(1){if(!(k[s>>2]|0))break;k[w>>2]=k[(k[s>>2]|0)+12>>2];k[q>>2]=k[(k[s>>2]|0)+16>>2];if(k[h>>2]|0){if((k[q>>2]|0)>=(k[h>>2]|0)?0==(oR(k[w>>2]|0,k[g>>2]|0,k[h>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((k[p>>2]|0)==(k[n>>2]|0)){k[n>>2]=(k[n>>2]|0)+16;A=Vd(k[l>>2]|0,k[n>>2]<<2)|0;k[m>>2]=A;if(!(k[m>>2]|0)){x=9;break}k[l>>2]=k[m>>2]}z=k[s>>2]|0;A=k[p>>2]|0;k[p>>2]=A+1;k[(k[l>>2]|0)+(A<<2)>>2]=z}k[s>>2]=k[k[s>>2]>>2]}if((x|0)==9){k[v>>2]=7;k[p>>2]=0}if((k[p>>2]|0)>1)nR(k[l>>2]|0,k[p>>2]|0,4,185)}else{A=Qk(k[t>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[s>>2]=A;if(k[s>>2]|0){k[l>>2]=s;k[p>>2]=1}}do if((k[p>>2]|0)>0){k[o>>2]=96+((k[p>>2]|0)+1<<2);A=Sd(k[o>>2]|0)|0;k[u>>2]=A;if(k[u>>2]|0){dS(k[u>>2]|0,0,k[o>>2]|0)|0;k[k[u>>2]>>2]=2147483647;k[(k[u>>2]|0)+56>>2]=(k[u>>2]|0)+96;bS(k[(k[u>>2]|0)+56>>2]|0,k[l>>2]|0,k[p>>2]<<2|0)|0;break}else{k[v>>2]=7;break}}while(0);if(!(k[i>>2]|0)){z=k[u>>2]|0;A=k[j>>2]|0;k[A>>2]=z;A=k[v>>2]|0;r=y;return A|0}Ud(k[l>>2]|0);z=k[u>>2]|0;A=k[j>>2]|0;k[A>>2]=z;A=k[v>>2]|0;r=y;return A|0}function vm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;do if(!((k[(k[d>>2]|0)+4>>2]|0)%16|0)){k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+16<<2;b=Vd(k[k[d>>2]>>2]|0,k[g>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){k[k[d>>2]>>2]=k[f>>2];break}Ml(k[e>>2]|0);k[c>>2]=7;b=k[c>>2]|0;r=h;return b|0}while(0);a=k[e>>2]|0;g=(k[d>>2]|0)+4|0;b=k[g>>2]|0;k[g>>2]=b+1;k[(k[k[d>>2]>>2]|0)+(b<<2)>>2]=a;k[c>>2]=0;b=k[c>>2]|0;r=h;return b|0}function wm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;m=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=0;c=k[f>>2]|0;if((k[i>>2]|0)<0){i=zl(c,13,l,0)|0;k[m>>2]=i;if(!(k[m>>2]|0)){i=k[l>>2]|0;e=Cl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0)|0;Ve(i,1,e,L)|0;e=k[l>>2]|0;i=Cl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,1023)|0;Ve(e,2,i,L)|0}}else{e=zl(c,12,l,0)|0;k[m>>2]=e;if(!(k[m>>2]|0)){e=k[l>>2]|0;i=Cl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;Ve(e,1,i,L)|0}}k[k[j>>2]>>2]=k[l>>2];r=n;return k[m>>2]|0}function xm(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;m=v+40|0;n=v+36|0;o=v+32|0;h=v+28|0;i=v+24|0;p=v+20|0;q=v+16|0;t=v+12|0;j=v+8|0;u=v+4|0;s=v;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[h>>2]=d;k[i>>2]=e;k[p>>2]=f;k[q>>2]=g;k[t>>2]=0;e=k[h>>2]|0;if((l[k[h>>2]>>0]|0)&128)jm(e,j)|0;else k[j>>2]=l[e>>0];i=zm(k[n>>2]|0,k[o>>2]|0,k[h>>2]|0,k[i>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[t>>2]=i;if(!((k[t>>2]|0)==0&(k[j>>2]|0)>1)){u=k[t>>2]|0;r=v;return u|0}k[u>>2]=0;k[s>>2]=0;if((k[p>>2]|0)!=0&(k[q>>2]|0)!=0?(i=k[p>>2]|0,j=k[q>>2]|0,(k[i>>2]|0)!=(k[j>>2]|0)?1:(k[i+4>>2]|0)!=(k[j+4>>2]|0)):0){j=k[p>>2]|0;j=qm(k[m>>2]|0,k[j>>2]|0,k[j+4>>2]|0,u,s,0)|0;k[t>>2]=j;if(!(k[t>>2]|0)){j=xm(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[u>>2]|0,k[s>>2]|0,k[p>>2]|0,0)|0;k[t>>2]=j}Ud(k[u>>2]|0);k[p>>2]=0;k[u>>2]=0}if(!(k[t>>2]|0)){if(k[p>>2]|0){c=k[p>>2]|0;e=k[c>>2]|0;c=k[c+4>>2]|0}else{c=k[q>>2]|0;e=k[c>>2]|0;c=k[c+4>>2]|0}j=qm(k[m>>2]|0,e,c,u,s,0)|0;k[t>>2]=j}if(!(k[t>>2]|0)){s=xm(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[u>>2]|0,k[s>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[t>>2]=s}Ud(k[u>>2]|0);u=k[t>>2]|0;r=v;return u|0}function ym(a,b,c,d,e,f,g,h,j,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;n=z+8|0;o=z;p=z+40|0;q=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;k[u>>2]=a;k[v>>2]=b;a=w;k[a>>2]=c;k[a+4>>2]=d;a=n;k[a>>2]=e;k[a+4>>2]=f;a=o;k[a>>2]=g;k[a+4>>2]=h;k[p>>2]=j;k[q>>2]=l;k[s>>2]=m;k[x>>2]=0;j=w;if((k[j>>2]|0)==0&(k[j+4>>2]|0)==0)k[x>>2]=(k[q>>2]|0)+20;j=Sd(96+(k[x>>2]|0)|0)|0;k[y>>2]=j;if(!(k[y>>2]|0)){k[t>>2]=7;y=k[t>>2]|0;r=z;return y|0}c=k[y>>2]|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[k[y>>2]>>2]=k[u>>2];i[(k[y>>2]|0)+4>>0]=(k[v>>2]|0)!=0;j=w;u=k[j+4>>2]|0;v=(k[y>>2]|0)+8|0;k[v>>2]=k[j>>2];k[v+4>>2]=u;v=k[n+4>>2]|0;u=(k[y>>2]|0)+16|0;k[u>>2]=k[n>>2];k[u+4>>2]=v;u=k[o+4>>2]|0;v=(k[y>>2]|0)+24|0;k[v>>2]=k[o>>2];k[v+4>>2]=u;if(k[x>>2]|0){k[(k[y>>2]|0)+40>>2]=(k[y>>2]|0)+96;i[(k[y>>2]|0)+5>>0]=1;k[(k[y>>2]|0)+44>>2]=k[q>>2];bS(k[(k[y>>2]|0)+40>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;c=(k[(k[y>>2]|0)+40>>2]|0)+(k[q>>2]|0)|0;d=c+20|0;do{i[c>>0]=0;c=c+1|0}while((c|0)<(d|0))}else{w=_R(k[w>>2]|0,k[w+4>>2]|0,1,0)|0;x=(k[y>>2]|0)+32|0;k[x>>2]=w;k[x+4>>2]=L}k[k[s>>2]>>2]=k[y>>2];k[t>>2]=0;y=k[t>>2]|0;r=z;return y|0}function zm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+80|0;u=A+76|0;g=A+72|0;h=A+68|0;C=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;q=A+44|0;s=A+40|0;z=A+36|0;m=A+32|0;j=A+28|0;x=A;i=A+24|0;p=A+20|0;o=A+16|0;n=A+12|0;t=A+8|0;k[g>>2]=a;k[h>>2]=b;k[C>>2]=c;k[B>>2]=d;k[v>>2]=e;k[w>>2]=f;k[y>>2]=0;k[q>>2]=k[C>>2];k[s>>2]=(k[q>>2]|0)+(k[B>>2]|0);k[z>>2]=0;k[m>>2]=0;k[j>>2]=1;a=im(k[q>>2]|0,x)|0;k[q>>2]=(k[q>>2]|0)+a;a=im(k[q>>2]|0,x)|0;k[q>>2]=(k[q>>2]|0)+a;if((k[q>>2]|0)>>>0>(k[s>>2]|0)>>>0){k[u>>2]=267;C=k[u>>2]|0;r=A;return C|0}while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0){d=28;break}if(!((k[v>>2]|0)!=0?1:(k[w>>2]|0)!=0)){d=28;break}k[o>>2]=0;if(!(k[j>>2]|0)){d=k[q>>2]|0;if((l[k[q>>2]>>0]|0)&128)d=jm(d,o)|0;else{k[o>>2]=l[d>>0];d=1}k[q>>2]=(k[q>>2]|0)+d}k[j>>2]=0;d=k[q>>2]|0;if((l[k[q>>2]>>0]|0)&128)d=jm(d,p)|0;else{k[p>>2]=l[d>>0];d=1}k[q>>2]=(k[q>>2]|0)+d;if((k[o>>2]|0)<0|(k[p>>2]|0)<0){d=15;break}if(((k[q>>2]|0)+(k[p>>2]|0)|0)>>>0>(k[s>>2]|0)>>>0){d=15;break}if(((k[o>>2]|0)+(k[p>>2]|0)|0)>(k[m>>2]|0)){k[m>>2]=(k[o>>2]|0)+(k[p>>2]|0)<<1;C=Vd(k[z>>2]|0,k[m>>2]|0)|0;k[t>>2]=C;if(!(k[t>>2]|0)){d=18;break}k[z>>2]=k[t>>2]}bS((k[z>>2]|0)+(k[o>>2]|0)|0,k[q>>2]|0,k[p>>2]|0)|0;k[n>>2]=(k[o>>2]|0)+(k[p>>2]|0);k[q>>2]=(k[q>>2]|0)+(k[p>>2]|0);C=oR(k[g>>2]|0,k[z>>2]|0,(k[n>>2]|0)>(k[h>>2]|0)?k[h>>2]|0:k[n>>2]|0)|0;k[i>>2]=C;do if(k[v>>2]|0){if((k[i>>2]|0)>=0){if(k[i>>2]|0)break;if((k[n>>2]|0)<=(k[h>>2]|0))break}a=x;B=k[a+4>>2]|0;C=k[v>>2]|0;k[C>>2]=k[a>>2];k[C+4>>2]=B;k[v>>2]=0}while(0);if((k[w>>2]|0)!=0&(k[i>>2]|0)<0){a=x;B=k[a+4>>2]|0;C=k[w>>2]|0;k[C>>2]=k[a>>2];k[C+4>>2]=B;k[w>>2]=0}B=x;B=$R(k[B>>2]|0,k[B+4>>2]|0,1,0)|0;C=x;k[C>>2]=B;k[C+4>>2]=L}if((d|0)==15)k[y>>2]=267;else if((d|0)==18)k[y>>2]=7;else if((d|0)==28){if(k[v>>2]|0){t=x;B=k[t+4>>2]|0;C=k[v>>2]|0;k[C>>2]=k[t>>2];k[C+4>>2]=B}if(k[w>>2]|0){B=k[x+4>>2]|0;C=k[w>>2]|0;k[C>>2]=k[x>>2];k[C+4>>2]=B}}Ud(k[z>>2]|0);k[u>>2]=k[y>>2];C=k[u>>2]|0;r=A;return C|0}function Am(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+28|0;j=f+24|0;i=f+20|0;h=f+16|0;d=f+12|0;e=f+8|0;g=f+4|0;c=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=k[(k[k[l>>2]>>2]|0)+12>>2];k[h>>2]=k[(k[k[j>>2]>>2]|0)+12>>2];k[d>>2]=k[(k[k[l>>2]>>2]|0)+16>>2];k[e>>2]=k[(k[k[j>>2]>>2]|0)+16>>2];k[g>>2]=(k[d>>2]|0)<(k[e>>2]|0)?k[d>>2]|0:k[e>>2]|0;b=oR(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[c>>2]=b;if(k[c>>2]|0){l=k[c>>2]|0;r=f;return l|0}k[c>>2]=(k[d>>2]|0)-(k[e>>2]|0);l=k[c>>2]|0;r=f;return l|0}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;g=o+32|0;d=o+28|0;e=o+24|0;j=o+20|0;n=o+16|0;m=o+12|0;l=o+8|0;h=o+4|0;i=o;k[g>>2]=a;k[d>>2]=b;k[e>>2]=c;k[n>>2]=23427;k[m>>2]=23431;k[l>>2]=23436;k[h>>2]=-1;k[i>>2]=15;c=k[g>>2]|0;if((k[d>>2]|0)>6){se(c,23447,-1);r=o;return}if(Fm(c,20486,k[k[e>>2]>>2]|0,j)|0){r=o;return}switch(k[d>>2]|0){case 6:{f=me(k[(k[e>>2]|0)+20>>2]|0)|0;k[i>>2]=f;f=6;break}case 5:{f=6;break}case 4:{f=7;break}case 3:{f=8;break}case 2:{f=9;break}default:{}}if((f|0)==6){d=me(k[(k[e>>2]|0)+16>>2]|0)|0;k[h>>2]=d;f=7}if((f|0)==7){d=je(k[(k[e>>2]|0)+12>>2]|0)|0;k[l>>2]=d;f=8}if((f|0)==8){d=je(k[(k[e>>2]|0)+8>>2]|0)|0;k[m>>2]=d;f=9}if((f|0)==9){f=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=f}if(!((k[l>>2]|0)!=0&(k[m>>2]|0)!=0&(k[n>>2]|0)!=0)){Ce(k[g>>2]|0);r=o;return}c=k[g>>2]|0;if(!(k[i>>2]|0)){we(c,18402,-1,0);r=o;return}if(Dn(c,k[j>>2]|0)|0){r=o;return}ho(k[g>>2]|0,k[j>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[h>>2]|0,k[i>>2]|0);r=o;return}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;if(Fm(k[d>>2]|0,20494,k[k[g>>2]>>2]|0,e)|0){r=f;return}if(Dn(k[d>>2]|0,k[e>>2]|0)|0){r=f;return}co(k[d>>2]|0,k[e>>2]|0);r=f;return}function Dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+12|0;g=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[h+16>>2]=b;k[i>>2]=c;if(Fm(k[d>>2]|0,20512,k[k[i>>2]>>2]|0,f)|0){r=h;return}k[e>>2]=k[k[f>>2]>>2];i=ao(k[e>>2]|0)|0;k[g>>2]=i;switch(k[g>>2]|0){case 0:{we(k[d>>2]|0,23331,-1,0);r=h;return}case 101:{we(k[d>>2]|0,23347,-1,0);r=h;return}default:{Ae(k[d>>2]|0,k[g>>2]|0);r=h;return}}}function Em(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(Fm(k[d>>2]|0,20502,k[k[f>>2]>>2]|0,g)|0){r=i;return}k[h>>2]=0;if((k[e>>2]|0)>1){a=je(k[(k[f>>2]|0)+4>>2]|0)|0;k[h>>2]=a}Gm(k[d>>2]|0,k[g>>2]|0,k[h>>2]|0);r=i;return}function Fm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;m=o;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;n=o+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((oe(k[h>>2]|0)|0)==4?(ke(k[h>>2]|0)|0)==4:0){b=ie(k[h>>2]|0)|0;i[l>>0]=i[b>>0]|0;i[l+1>>0]=i[b+1>>0]|0;i[l+2>>0]=i[b+2>>0]|0;i[l+3>>0]=i[b+3>>0]|0;k[k[j>>2]>>2]=k[l>>2];k[e>>2]=0;b=k[e>>2]|0;r=o;return b|0}k[m>>2]=k[g>>2];b=Yd(23302,m)|0;k[n>>2]=b;se(k[f>>2]|0,k[n>>2]|0,-1);Ud(k[n>>2]|0);k[e>>2]=1;b=k[e>>2]|0;r=o;return b|0}function Gm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;f=i+12|0;e=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=k[k[f>>2]>>2];if(k[e>>2]|0)k[h>>2]=k[e>>2];else k[h>>2]=23237;d=k[d>>2]|0;if(k[(k[f>>2]|0)+12>>2]|0){Hm(d,k[f>>2]|0,k[h>>2]|0);Im(k[g>>2]|0);r=i;return}else{pe(d,18402,0,0);r=i;return}}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;d=u+76|0;e=u+72|0;f=u+68|0;p=u;n=u+64|0;o=u+60|0;h=u+56|0;g=u+52|0;q=u+48|0;m=u+44|0;j=u+40|0;s=u+36|0;l=u+32|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[n>>2]=k[k[e>>2]>>2];k[o>>2]=0;k[h>>2]=0;k[g>>2]=0;k[q>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;k[p+16>>2]=0;k[p+20>>2]=0;k[p+24>>2]=0;k[p+28>>2]=0;k[p>>2]=k[e>>2];k[p+4>>2]=k[(k[n>>2]|0)+24>>2];if((k[(k[e>>2]|0)+92>>2]|0)!=0?(rR(k[(k[(k[e>>2]|0)+92>>2]|0)+12>>2]|0,k[f>>2]|0)|0)!=0:0){Jm(k[(k[e>>2]|0)+92>>2]|0);k[(k[e>>2]|0)+92>>2]=0}if(!(k[(k[e>>2]|0)+92>>2]|0)){k[m>>2]=0;c=Km(k[(k[e>>2]|0)+12>>2]|0)|0;k[(k[e>>2]|0)+20>>2]=c;k[p+8>>2]=k[(k[e>>2]|0)+20>>2];k[j>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0))break;k[s>>2]=0;if(Lm(k[n>>2]|0,i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0,s)|0){t=8;break}c=Mm(p,i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0)|0;k[m>>2]=(k[m>>2]|0)+c;k[j>>2]=(k[j>>2]|0)+1}if((t|0)==8){se(k[d>>2]|0,k[s>>2]|0,-1);Ud(k[s>>2]|0);r=u;return}t=Nm(k[m>>2]|0,k[f>>2]|0)|0;k[(k[e>>2]|0)+92>>2]=t;if(!(k[(k[e>>2]|0)+92>>2]|0))k[o>>2]=7;k[(k[e>>2]|0)+88>>2]=1;k[h>>2]=1}if((k[o>>2]|0)==0?(t=Om(k[(k[e>>2]|0)+92>>2]|0,g)|0,k[q>>2]=t,(k[q>>2]|0)==0):0)k[o>>2]=7;if((k[o>>2]|0)==0?(k[p+28>>2]=k[g>>2],k[p+8>>2]=k[(k[e>>2]|0)+20>>2],t=Pm(k[e>>2]|0,k[h>>2]|0,p,k[f>>2]|0)|0,k[o>>2]=t,(k[h>>2]|0)!=0):0)Qm(k[(k[e>>2]|0)+92>>2]|0);if(!(k[o>>2]|0)){k[l>>2]=k[(k[(k[e>>2]|0)+92>>2]|0)+4>>2]<<2;pe(k[d>>2]|0,k[g>>2]|0,k[l>>2]|0,k[q>>2]|0);r=u;return}Ae(k[d>>2]|0,k[o>>2]|0);if(!(k[q>>2]|0)){r=u;return}_b[k[q>>2]&255](k[g>>2]|0);r=u;return}function Im(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;df(k[(k[c>>2]|0)+244>>2]|0)|0;k[(k[c>>2]|0)+244>>2]=0;r=b;return}function Jm(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}i[k[b>>2]>>0]=0;if(l[k[b>>2]>>0]|0){r=c;return}if(l[(k[b>>2]|0)+1>>0]|0){r=c;return}if(l[(k[b>>2]|0)+2>>0]|0){r=c;return}Ud(k[b>>2]|0);r=c;return}function Km(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;Xm(k[d>>2]|0,153,b)|0;r=c;return k[b>>2]|0}function Lm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;h=j;d=j+12|0;e=j+8|0;f=j+16|0;g=j+4|0;k[e>>2]=a;i[f>>0]=b;k[g>>2]=c;do if((i[f>>0]|0)!=112?(i[f>>0]|0)!=99:0){if((i[f>>0]|0)==110?(l[(k[e>>2]|0)+228>>0]|0)!=0:0)break;if((i[f>>0]|0)==97?(l[(k[e>>2]|0)+228>>0]|0)!=0:0)break;if((i[f>>0]|0)==108?(l[(k[e>>2]|0)+230>>0]|0)!=0:0)break;if((((i[f>>0]|0)!=115?(i[f>>0]|0)!=120:0)?(i[f>>0]|0)!=121:0)?(i[f>>0]|0)!=98:0){c=k[g>>2]|0;k[h>>2]=i[f>>0];Pk(c,23267,h);k[d>>2]=1;h=k[d>>2]|0;r=j;return h|0}}while(0);k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}function Mm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;f=e+8|0;d=e;k[c>>2]=a;i[f>>0]=b;switch(i[f>>0]|0){case 99:case 112:case 110:{k[d>>2]=1;break}case 115:case 108:case 97:{k[d>>2]=k[(k[c>>2]|0)+4>>2];break}case 121:{f=ha(k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+8>>2]|0)|0;k[d>>2]=f;break}case 98:{f=ha(k[(k[c>>2]|0)+8>>2]|0,((k[(k[c>>2]|0)+4>>2]|0)+31|0)/32|0)|0;k[d>>2]=f;break}default:{f=(ha(k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+8>>2]|0)|0)*3|0;k[d>>2]=f}}r=e;return k[d>>2]|0}function Nm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[c>>2]<<1)+1<<2)+20;b=uR(k[d>>2]|0)|0;k[f>>2]=b;b=Sd((k[e>>2]|0)+(k[f>>2]|0)+1|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){b=k[g>>2]|0;r=h;return b|0}dS(k[g>>2]|0,0,k[e>>2]|0)|0;k[(k[g>>2]|0)+16>>2]=(k[g>>2]|0)+16+4-(k[g>>2]|0);k[(k[g>>2]|0)+16+(1+(k[c>>2]|0)<<2)>>2]=(k[(k[g>>2]|0)+16>>2]|0)+((k[c>>2]|0)+1<<2);k[(k[g>>2]|0)+4>>2]=k[c>>2];k[(k[g>>2]|0)+12>>2]=(k[g>>2]|0)+(k[e>>2]|0);bS(k[(k[g>>2]|0)+12>>2]|0,k[d>>2]|0,(k[f>>2]|0)+1|0)|0;i[k[g>>2]>>0]=1;b=k[g>>2]|0;r=h;return b|0}function Om(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[e>>2]=0;b=k[c>>2]|0;do if(l[(k[c>>2]|0)+1>>0]|0){a=k[c>>2]|0;if(!(l[b+2>>0]|0)){i[a+2>>0]=1;k[e>>2]=(k[c>>2]|0)+16+((k[(k[c>>2]|0)+4>>2]|0)+2<<2);k[f>>2]=152;break}b=Sd(k[a+4>>2]<<2)|0;k[e>>2]=b;if((k[e>>2]|0)!=0?(k[f>>2]=148,(k[(k[c>>2]|0)+8>>2]|0)!=0):0)bS(k[e>>2]|0,(k[c>>2]|0)+16+4|0,k[(k[c>>2]|0)+4>>2]<<2|0)|0}else{i[b+1>>0]=1;k[e>>2]=(k[c>>2]|0)+16+4;k[f>>2]=152}while(0);k[k[d>>2]>>2]=k[e>>2];r=g;return k[f>>2]|0}function Pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;e=B+92|0;f=B+88|0;g=B+84|0;h=B+80|0;A=B+76|0;m=B+72|0;y=B+68|0;z=B+64|0;q=B+24|0;s=B+16|0;j=B+60|0;n=B+56|0;p=B+52|0;t=B+8|0;x=B+48|0;o=B+44|0;l=B+40|0;u=B;v=B+36|0;w=B+32|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[A>>2]=0;k[y>>2]=k[k[e>>2]>>2];k[z>>2]=0;k[m>>2]=0;while(1){if(k[A>>2]|0){e=31;break}if(!(i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)){e=31;break}i[(k[g>>2]|0)+24>>0]=i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0;a:do switch(i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0){case 112:{if(k[f>>2]|0)k[k[(k[g>>2]|0)+28>>2]>>2]=k[(k[g>>2]|0)+8>>2];break}case 99:{if(k[f>>2]|0)k[k[(k[g>>2]|0)+28>>2]>>2]=k[(k[g>>2]|0)+4>>2];break}case 110:{if(k[f>>2]|0){d=q;k[d>>2]=0;k[d+4>>2]=0;d=Rm(k[y>>2]|0,z,q,0)|0;k[A>>2]=d;k[k[(k[g>>2]|0)+28>>2]>>2]=k[q>>2]}break}case 97:{if((k[f>>2]|0)!=0?(d=Rm(k[y>>2]|0,z,s,j)|0,k[A>>2]=d,(k[A>>2]|0)==0):0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[(k[g>>2]|0)+4>>2]|0))break a;d=im(k[j>>2]|0,t)|0;k[j>>2]=(k[j>>2]|0)+d;d=k[t>>2]|0;c=s;c=iS(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;c=$R(d|0,0,c|0,L|0)|0;d=s;d=iS(c|0,L|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[p>>2]=d;k[(k[(k[g>>2]|0)+28>>2]|0)+(k[n>>2]<<2)>>2]=k[p>>2];k[n>>2]=(k[n>>2]|0)+1}}break}case 108:{k[x>>2]=0;d=(k[e>>2]|0)+32|0;d=Sm(k[y>>2]|0,k[d>>2]|0,k[d+4>>2]|0,x)|0;k[A>>2]=d;b:do if(!(k[A>>2]|0)){d=Je(k[x>>2]|0,0)|0;k[l>>2]=d;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[(k[g>>2]|0)+4>>2]|0))break b;d=im(k[l>>2]|0,u)|0;k[l>>2]=(k[l>>2]|0)+d;k[(k[(k[g>>2]|0)+28>>2]|0)+(k[o>>2]<<2)>>2]=k[u>>2];k[o>>2]=(k[o>>2]|0)+1}}while(0);ge(k[x>>2]|0)|0;break}case 115:{d=Tm(k[e>>2]|0,0,0)|0;k[A>>2]=d;if(!(k[A>>2]|0)){d=Um(k[e>>2]|0,k[g>>2]|0)|0;k[A>>2]=d}break}case 121:case 98:{d=(Mm(k[g>>2]|0,i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)|0)<<2;k[v>>2]=d;dS(k[(k[g>>2]|0)+28>>2]|0,0,k[v>>2]|0)|0;Vm(k[(k[e>>2]|0)+12>>2]|0,k[g>>2]|0);break}default:{k[w>>2]=k[(k[e>>2]|0)+12>>2];d=Tm(k[e>>2]|0,0,0)|0;k[A>>2]=d;if(!(k[A>>2]|0)){if(k[f>>2]|0){if((k[(k[e>>2]|0)+24>>2]|0)!=0?(d=Rm(k[y>>2]|0,z,(k[g>>2]|0)+16|0,0)|0,k[A>>2]=d,(k[A>>2]|0)!=0):0)break a;d=Xm(k[w>>2]|0,154,k[g>>2]|0)|0;k[A>>2]=d;Ym(k[e>>2]|0,A)|0;if(k[A>>2]|0)break a}Xm(k[w>>2]|0,155,k[g>>2]|0)|0}}}while(0);c=Mm(k[g>>2]|0,i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)|0;d=(k[g>>2]|0)+28|0;k[d>>2]=(k[d>>2]|0)+(c<<2);k[m>>2]=(k[m>>2]|0)+1}if((e|0)==31){ge(k[z>>2]|0)|0;r=B;return k[A>>2]|0}return 0}function Qm(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=1;bS((k[c>>2]|0)+16+(2+(k[(k[c>>2]|0)+4>>2]|0)<<2)|0,(k[c>>2]|0)+16+4|0,k[(k[c>>2]|0)+4>>2]<<2|0)|0;r=b;return}function Rm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;e=o+36|0;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;m=o+16|0;j=o+12|0;l=o;n=o+8|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if((k[k[g>>2]>>2]|0)==0?(b=Zn(k[f>>2]|0,k[g>>2]|0)|0,k[n>>2]=b,(k[n>>2]|0)!=0):0){k[e>>2]=k[n>>2];n=k[e>>2]|0;r=o;return n|0}k[m>>2]=k[k[g>>2]>>2];n=Je(k[m>>2]|0,0)|0;k[j>>2]=n;n=im(k[j>>2]|0,l)|0;k[j>>2]=(k[j>>2]|0)+n;n=l;if((k[n>>2]|0)==0&(k[n+4>>2]|0)==0){k[e>>2]=267;n=k[e>>2]|0;r=o;return n|0}n=k[h>>2]|0;k[n>>2]=k[l>>2];k[n+4>>2]=0;if(k[i>>2]|0)k[k[i>>2]>>2]=k[j>>2];k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}function Sm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+12|0;h=e;f=e+8|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;d=h;d=Yn(k[g>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[f>>2]|0)|0;r=e;return d|0}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+24|0;d=h+20|0;e=h+16|0;f=h+12|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g>>2]=k[i>>2];c=Xm(k[(k[i>>2]|0)+12>>2]|0,156,g)|0;k[f>>2]=c;if(k[d>>2]|0)k[k[d>>2]>>2]=k[g+4>>2];if(!(k[e>>2]|0)){i=k[f>>2]|0;r=h;return i|0}k[k[e>>2]>>2]=k[g+8>>2];i=k[f>>2]|0;r=h;return i|0}function Um(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;p=t+56|0;c=t+52|0;d=t+48|0;q=t+44|0;e=t+40|0;f=t+36|0;j=t+32|0;n=t+28|0;g=t+24|0;h=t+20|0;s=t+16|0;m=t+12|0;l=t+8|0;i=t+4|0;o=t;k[c>>2]=a;k[d>>2]=b;k[j>>2]=0;b=Sd(k[(k[c>>2]|0)+20>>2]<<4)|0;k[q>>2]=b;if(!(k[q>>2]|0)){k[p>>2]=7;s=k[p>>2]|0;r=t;return s|0}dS(k[q>>2]|0,0,k[(k[c>>2]|0)+20>>2]<<4|0)|0;Xm(k[(k[c>>2]|0)+12>>2]|0,157,k[q>>2]|0)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[n>>2]=(k[q>>2]|0)+(k[e>>2]<<4);k[j>>2]=(k[j>>2]|0)-(k[(k[(k[k[n>>2]>>2]|0)+20>>2]|0)+64>>2]|0);k[(k[n>>2]|0)+4>>2]=k[j>>2];k[e>>2]=(k[e>>2]|0)+1}k[f>>2]=0;a:while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0)){c=33;break}k[g>>2]=0;k[h>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[m>>2]=(k[q>>2]|0)+(k[e>>2]<<4);n=_m(k[c>>2]|0,k[k[m>>2]>>2]|0,k[f>>2]|0,(k[m>>2]|0)+8|0)|0;k[s>>2]=n;if(k[s>>2]|0){c=11;break a}if(k[(k[m>>2]|0)+8>>2]|0){k[(k[m>>2]|0)+12>>2]=k[(k[m>>2]|0)+4>>2];Wn((k[q>>2]|0)+(k[e>>2]<<4)|0)|0;k[h>>2]=(k[h>>2]|0)+1}k[e>>2]=(k[e>>2]|0)+1}while(1){if((k[h>>2]|0)<=0)break;k[l>>2]=0;k[i>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[o>>2]=(k[q>>2]|0)+(k[e>>2]<<4);if(k[(k[o>>2]|0)+8>>2]|0){if(!((k[l>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)>=(k[(k[l>>2]|0)+12>>2]|0):0))k[l>>2]=k[o>>2];if((k[i>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)!=(k[(k[o>>2]|0)+-16+12>>2]|0):0)k[i>>2]=1;else k[i>>2]=(k[i>>2]|0)+1;if((k[i>>2]|0)>(k[g>>2]|0))k[g>>2]=k[i>>2]}else k[i>>2]=0;k[e>>2]=(k[e>>2]|0)+1}if(!(Wn(k[l>>2]|0)|0))continue;k[h>>2]=(k[h>>2]|0)+-1}k[(k[(k[d>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2]=k[g>>2];k[f>>2]=(k[f>>2]|0)+1}if((c|0)==11){k[p>>2]=k[s>>2];s=k[p>>2]|0;r=t;return s|0}else if((c|0)==33){Ud(k[q>>2]|0);k[p>>2]=0;s=k[p>>2]|0;r=t;return s|0}return 0}function Vm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(l[(k[c>>2]|0)+32>>0]|0){r=e;return}b=(k[c>>2]|0)+24|0;a=(k[k[d>>2]>>2]|0)+32|0;if(!((k[b>>2]|0)==(k[a>>2]|0)?(k[b+4>>2]|0)==(k[a+4>>2]|0):0)){r=e;return}b=k[c>>2]|0;if(k[(k[c>>2]|0)+12>>2]|0){Vm(k[b+12>>2]|0,k[d>>2]|0);Vm(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0);r=e;return}else{Un(b,k[d>>2]|0);r=e;return}}function Wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;f=d+12|0;g=d+8|0;h=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[e>>2]=k[h>>2];a=ha((k[g>>2]|0)*3|0,k[(k[e>>2]|0)+4>>2]|0)|0;a=Rn(k[k[e>>2]>>2]|0,k[f>>2]|0,(k[(k[e>>2]|0)+28>>2]|0)+(a<<2)|0)|0;r=d;return a|0}function Xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;h=d+12|0;f=d+8|0;e=d+4|0;g=d;k[h>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=0;b=Qn(k[h>>2]|0,g,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function Ym(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[e>>2]=0;if(k[f>>2]|0){b=k[f>>2]|0;b=(b|0)==0;f=k[e>>2]|0;f=(f|0)!=0;f=b?f:0;f=f&1;r=g;return f|0}if((k[(k[c>>2]|0)+24>>2]|0)!=0?(b=Dn(0,k[c>>2]|0)|0,k[f>>2]=b,(k[f>>2]|0)==0):0){b=En(k[c>>2]|0)|0;k[f>>2]=b}b=0==(Fn(k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,f)|0)&1;k[e>>2]=b;Gn(k[c>>2]|0);k[k[d>>2]>>2]=k[f>>2];b=k[f>>2]|0;b=(b|0)==0;f=k[e>>2]|0;f=(f|0)!=0;f=b?f:0;f=f&1;r=g;return f|0}function Zm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+32|0;d=j+28|0;l=j+24|0;m=j+20|0;i=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;h=j;k[d>>2]=a;k[l>>2]=b;k[m>>2]=c;k[i>>2]=0;k[g>>2]=k[m>>2];a=(ha(k[l>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0)*3|0;k[f>>2]=a;k[e>>2]=0;while(1){if(!((k[e>>2]|0)<(k[(k[g>>2]|0)+4>>2]|0)?(k[i>>2]|0)==0:0))break;m=_m(k[k[g>>2]>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[i>>2]=m;if(k[h>>2]|0){m=$m(h)|0;k[(k[(k[g>>2]|0)+28>>2]|0)+((k[f>>2]|0)+((k[e>>2]|0)*3|0)<<2)>>2]=m}else k[(k[(k[g>>2]|0)+28>>2]|0)+((k[f>>2]|0)+((k[e>>2]|0)*3|0)<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}r=j;return k[i>>2]|0}function _m(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;z=F+80|0;o=F+76|0;e=F+72|0;A=F+68|0;B=F+64|0;x=F+60|0;m=F+56|0;D=F+52|0;C=F+48|0;u=F;n=F+44|0;p=F+40|0;g=F+36|0;h=F+85|0;v=F+32|0;j=F+28|0;s=F+24|0;f=F+20|0;q=F+84|0;y=F+16|0;w=F+12|0;t=F+8|0;k[o>>2]=a;k[e>>2]=b;k[A>>2]=c;k[B>>2]=d;k[x>>2]=k[(k[e>>2]|0)+20>>2];k[m>>2]=k[k[o>>2]>>2];k[k[B>>2]>>2]=0;if((k[(k[x>>2]|0)+68>>2]|0)<(k[(k[m>>2]|0)+24>>2]|0)?(k[(k[x>>2]|0)+68>>2]|0)!=(k[A>>2]|0):0){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}a=(k[e>>2]|0)+24|0;d=k[a+4>>2]|0;b=u;k[b>>2]=k[a>>2];k[b+4>>2]=d;k[D>>2]=k[(k[x>>2]|0)+28>>2];b=u;d=(k[o>>2]|0)+32|0;if(!(!((k[b>>2]|0)!=(k[d>>2]|0)?1:(k[b+4>>2]|0)!=(k[d+4>>2]|0))?(l[(k[e>>2]|0)+32>>0]|0)==0:0))E=6;do if((E|0)==6){k[n>>2]=0;k[p>>2]=l[(k[m>>2]|0)+231>>0];k[g>>2]=0;i[h>>0]=0;k[j>>2]=k[e>>2];k[v>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[v>>2]|0))break;if((k[k[v>>2]>>2]|0)==4)k[g>>2]=1;if((k[k[v>>2]>>2]|0)==1)k[j>>2]=k[v>>2];if(i[(k[v>>2]|0)+32>>0]|0)i[h>>0]=1;k[v>>2]=k[(k[v>>2]|0)+8>>2]}if(!(k[g>>2]|0)){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}a:do if(k[(k[x>>2]|0)+40>>2]|0){k[f>>2]=l[(k[j>>2]|0)+32>>0];an(k[o>>2]|0,k[j>>2]|0,n);b:while(1){if(k[n>>2]|0)break a;while(1){if(!((i[(k[j>>2]|0)+32>>0]|0)!=0^1))break a;bn(k[o>>2]|0,k[j>>2]|0,n);if(k[f>>2]|0)continue b;m=(k[j>>2]|0)+24|0;d=u;if(!(((k[m>>2]|0)!=(k[d>>2]|0)?1:(k[m+4>>2]|0)!=(k[d+4>>2]|0))&(k[n>>2]|0)==0))break a}}}while(0);c:do if((i[h>>0]|0)!=0&(k[n>>2]|0)==0)do{if(!((i[(k[j>>2]|0)+32>>0]|0)!=0^1))break c;bn(k[o>>2]|0,k[j>>2]|0,n)}while((k[n>>2]|0)==0);while(0);if(k[n>>2]|0){k[z>>2]=k[n>>2];E=k[z>>2]|0;r=F;return E|0}k[s>>2]=1;k[v>>2]=k[j>>2];while(1){if(!(k[v>>2]|0))break;i[q>>0]=0;k[y>>2]=k[v>>2];if((k[k[y>>2]>>2]|0)==1)k[y>>2]=k[(k[y>>2]|0)+16>>2];k[w>>2]=k[(k[y>>2]|0)+20>>2];k[D>>2]=k[(k[w>>2]|0)+48>>2];d=(k[w>>2]|0)+56|0;n=k[d+4>>2]|0;e=u;k[e>>2]=k[d>>2];k[e+4>>2]=n;e=(k[(k[w>>2]|0)+4>>2]|0)!=0;d:do if((l[(k[o>>2]|0)+52>>0]|0)==(k[p>>2]|0)){if(e)e=(k[D>>2]|0)>>>0>=((k[k[w>>2]>>2]|0)+(k[(k[w>>2]|0)+4>>2]|0)|0)>>>0;else e=1;i[q>>0]=e&1;while(1){if((k[D>>2]|0)!=0?(d=(k[p>>2]|0)!=0?-1:1,m=u,n=(k[o>>2]|0)+32|0,n=_R(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0,kS(d|0,((d|0)<0)<<31>>31|0,n|0,L|0)|0,(L|0)>=0):0)break d;if(l[q>>0]|0)break d;cn(k[p>>2]|0,k[k[w>>2]>>2]|0,k[(k[w>>2]|0)+4>>2]|0,D,u,q)}}else{if(e)if(k[D>>2]|0)e=(k[D>>2]|0)>>>0<=(k[k[w>>2]>>2]|0)>>>0;else e=0;else e=1;i[q>>0]=e&1;while(1){if((k[D>>2]|0)!=0?(d=(k[p>>2]|0)!=0?-1:1,m=u,n=(k[o>>2]|0)+32|0,n=_R(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0,n=kS(d|0,((d|0)<0)<<31>>31|0,n|0,L|0)|0,d=L,!((d|0)>0|(d|0)==0&n>>>0>0)):0)break d;if(l[q>>0]|0)break d;km(k[p>>2]|0,k[k[w>>2]>>2]|0,k[(k[w>>2]|0)+4>>2]|0,D,u,t,q)}}while(0);k[(k[w>>2]|0)+48>>2]=k[D>>2];m=u;d=k[m+4>>2]|0;n=(k[w>>2]|0)+56|0;k[n>>2]=k[m>>2];k[n+4>>2]=d;if(!((l[q>>0]|0)==0?(d=u,n=(k[o>>2]|0)+32|0,!((k[d>>2]|0)!=(k[n>>2]|0)?1:(k[d+4>>2]|0)!=(k[n+4>>2]|0))):0))k[s>>2]=0;k[v>>2]=k[(k[v>>2]|0)+12>>2]}if(k[s>>2]|0){k[D>>2]=k[(k[x>>2]|0)+48>>2];break}else{k[D>>2]=0;break}}while(0);if(!(k[D>>2]|0)){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}if((i[k[D>>2]>>0]|0)==1){k[D>>2]=(k[D>>2]|0)+1;e=k[D>>2]|0;if(l[k[D>>2]>>0]&128)e=jm(e,C)|0;else{k[C>>2]=l[e>>0];e=1}k[D>>2]=(k[D>>2]|0)+e}else k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[A>>2]|0))break;hm(0,D);if(!(i[k[D>>2]>>0]|0)){E=65;break}k[D>>2]=(k[D>>2]|0)+1;e=k[D>>2]|0;if(l[k[D>>2]>>0]&128)e=jm(e,C)|0;else{k[C>>2]=l[e>>0];e=1}k[D>>2]=(k[D>>2]|0)+e}if((E|0)==65){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}if(!(i[k[D>>2]>>0]|0))k[D>>2]=0;k[k[B>>2]>>2]=(k[A>>2]|0)==(k[C>>2]|0)?k[D>>2]|0:0;k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}function $m(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;e=f+4|0;c=f+12|0;d=f;k[b>>2]=a;k[e>>2]=k[k[b>>2]>>2];i[c>>0]=0;k[d>>2]=0;while(1){a=k[e>>2]|0;if(!(254&(i[k[e>>2]>>0]|i[c>>0])))break;k[e>>2]=a+1;i[c>>0]=i[a>>0]&128;if(i[c>>0]|0)continue;k[d>>2]=(k[d>>2]|0)+1}k[k[b>>2]>>2]=a;r=f;return k[d>>2]|0}function an(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=l;return}if(k[k[f>>2]>>2]|0){r=l;return}k[h>>2]=k[(k[e>>2]|0)+20>>2];if(k[h>>2]|0){dn(k[h>>2]|0);if(k[(k[h>>2]|0)+40>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+64>>2]|0))break;k[j>>2]=(k[h>>2]|0)+72+((k[g>>2]|0)*24|0);if(k[(k[j>>2]|0)+20>>2]|0)nn(k[(k[j>>2]|0)+20>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+1}j=on(k[d>>2]|0,0,k[h>>2]|0)|0;k[k[f>>2]>>2]=j}k[(k[h>>2]|0)+8>>2]=0;j=(k[h>>2]|0)+16|0;k[j>>2]=0;k[j+4>>2]=0;k[(k[h>>2]|0)+48>>2]=0}j=(k[e>>2]|0)+24|0;k[j>>2]=0;k[j+4>>2]=0;i[(k[e>>2]|0)+32>>0]=0;i[(k[e>>2]|0)+33>>0]=0;an(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0);an(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0);r=l;return} -function $p(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;d=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c=h+20|0;k[j>>2]=a;k[e>>2]=b;k[g>>2]=0;k[f>>2]=k[j>>2];a:while(1){if(k[g>>2]|0){b=21;break}i[c>>0]=i[k[f>>2]>>0]|0;switch(i[c>>0]|0){case 0:{b=4;break a}case 96:case 34:case 39:{k[g>>2]=k[f>>2];while(1){j=(k[g>>2]|0)+1|0;k[g>>2]=j;if(!(i[j>>0]|0))continue a;if((i[k[g>>2]>>0]|0)!=(i[c>>0]|0))continue;j=(k[g>>2]|0)+1|0;k[g>>2]=j;if((i[j>>0]|0)!=(i[c>>0]|0))continue a}}case 91:{k[g>>2]=(k[f>>2]|0)+1;while(1){if(i[k[g>>2]>>0]|0)a=(i[k[g>>2]>>0]|0)!=93;else a=0;b=k[g>>2]|0;if(!a)break;k[g>>2]=b+1}if(!(i[b>>0]|0))continue a;k[g>>2]=(k[g>>2]|0)+1;continue a}default:{j=(Wp(i[k[f>>2]>>0]|0)|0)!=0;b=(k[f>>2]|0)+1|0;if(!j){k[f>>2]=b;continue a}k[g>>2]=b;while(1){if(!(Wp(i[k[g>>2]>>0]|0)|0))continue a;k[g>>2]=(k[g>>2]|0)+1}}}}if((b|0)==4){k[d>>2]=0;j=k[d>>2]|0;r=h;return j|0}else if((b|0)==21){k[k[e>>2]>>2]=(k[g>>2]|0)-(k[f>>2]|0);k[d>>2]=k[f>>2];j=k[d>>2]|0;r=h;return j|0}return 0}function aq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+96|0;q=t+56|0;j=t+48|0;i=t+40|0;m=t+32|0;l=t+24|0;h=t+8|0;g=t;p=t+92|0;d=t+88|0;e=t+84|0;s=t+80|0;n=t+76|0;o=t+72|0;f=t+68|0;k[p>>2]=a;k[d>>2]=b;k[e>>2]=c;k[s>>2]=0;k[n>>2]=0;if(k[(k[p>>2]|0)+40>>2]|0){gq(k[e>>2]|0,s,24745,m);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+24>>2]|0))break;o=k[e>>2]|0;k[i>>2]=k[(k[(k[p>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2];gq(o,s,24751,i);k[f>>2]=(k[f>>2]|0)+1}if(k[(k[p>>2]|0)+44>>2]|0){o=k[e>>2]|0;k[j>>2]=k[(k[p>>2]|0)+44>>2];gq(o,s,24731,j)}}else{if(k[d>>2]|0){b=fq(k[d>>2]|0)|0;k[o>>2]=b;k[n>>2]=b}else k[o>>2]=18402;gq(k[e>>2]|0,s,24710,g);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+24>>2]|0))break;b=k[e>>2]|0;j=k[f>>2]|0;m=k[(k[(k[p>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2]|0;k[h>>2]=k[o>>2];k[h+4>>2]=j;k[h+8>>2]=m;gq(b,s,24716,h);k[f>>2]=(k[f>>2]|0)+1}if(k[(k[p>>2]|0)+44>>2]|0){o=k[e>>2]|0;k[l>>2]=24738;gq(o,s,24731,l)}Ud(k[n>>2]|0)}d=k[e>>2]|0;e=k[(k[p>>2]|0)+16>>2]|0;f=k[p>>2]|0;if(k[(k[p>>2]|0)+40>>2]|0){b=k[f+40>>2]|0;o=k[p>>2]|0;o=o+40|0;o=k[o>>2]|0;o=(o|0)!=0;o=o?18402:24760;k[q>>2]=e;p=q+4|0;k[p>>2]=b;p=q+8|0;k[p>>2]=o;gq(d,s,24769,q);s=k[s>>2]|0;r=t;return s|0}else{b=k[f+20>>2]|0;o=k[p>>2]|0;o=o+40|0;o=k[o>>2]|0;o=(o|0)!=0;o=o?18402:24760;k[q>>2]=e;p=q+4|0;k[p>>2]=b;p=q+8|0;k[p>>2]=o;gq(d,s,24769,q);s=k[s>>2]|0;r=t;return s|0}return 0}function bq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;i=n+16|0;h=n+8|0;d=n+44|0;e=n+40|0;f=n+36|0;m=n+32|0;j=n+28|0;l=n+24|0;g=n+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;k[j>>2]=0;if(k[e>>2]|0){b=fq(k[e>>2]|0)|0;k[l>>2]=b;k[j>>2]=b}else k[l>>2]=18402;gq(k[f>>2]|0,m,20275,n);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+24>>2]|0))break;b=k[f>>2]|0;k[h>>2]=k[l>>2];gq(b,m,24694,h);k[g>>2]=(k[g>>2]|0)+1}if(!(k[(k[d>>2]|0)+44>>2]|0)){l=k[j>>2]|0;Ud(l);m=k[m>>2]|0;r=n;return m|0}gq(k[f>>2]|0,m,24701,i);l=k[j>>2]|0;Ud(l);m=k[m>>2]|0;r=n;return m|0}function cq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+112|0;l=q+64|0;h=q+56|0;g=q+48|0;f=q+32|0;m=q+24|0;j=q+8|0;b=q+96|0;e=q+92|0;d=q+88|0;c=q+84|0;p=q+80|0;o=q+76|0;n=q+72|0;k[b>>2]=a;k[e>>2]=0;k[c>>2]=k[(k[b>>2]|0)+12>>2];if(!(k[(k[b>>2]|0)+40>>2]|0)){k[p>>2]=k[(k[b>>2]|0)+44>>2];a=Yd(24319,q)|0;k[o>>2]=a;k[d>>2]=0;while(1){if(!(k[o>>2]|0))break;if((k[d>>2]|0)>=(k[(k[b>>2]|0)+24>>2]|0))break;k[n>>2]=k[(k[(k[b>>2]|0)+28>>2]|0)+(k[d>>2]<<2)>>2];s=k[d>>2]|0;a=k[n>>2]|0;k[j>>2]=k[o>>2];k[j+4>>2]=s;k[j+8>>2]=a;a=Yd(24345,j)|0;k[o>>2]=a;k[d>>2]=(k[d>>2]|0)+1}if((k[p>>2]|0)!=0&(k[o>>2]|0)!=0){s=k[p>>2]|0;k[m>>2]=k[o>>2];k[m+4>>2]=s;s=Yd(24357,m)|0;k[o>>2]=s}if(!(k[o>>2]|0))k[e>>2]=7;s=k[c>>2]|0;n=k[(k[b>>2]|0)+20>>2]|0;p=k[o>>2]|0;k[f>>2]=k[(k[b>>2]|0)+16>>2];k[f+4>>2]=n;k[f+8>>2]=p;xl(e,s,24368,f);Ud(k[o>>2]|0)}s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[g>>2]=k[(k[b>>2]|0)+16>>2];k[g+4>>2]=p;xl(e,s,24401,g);s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[h>>2]=k[(k[b>>2]|0)+16>>2];k[h+4>>2]=p;xl(e,s,24473,h);if(i[(k[b>>2]|0)+230>>0]|0){s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[l>>2]=k[(k[b>>2]|0)+16>>2];k[l+4>>2]=p;xl(e,s,24626,l)}if(!(i[(k[b>>2]|0)+229>>0]|0)){s=k[e>>2]|0;r=q;return s|0}lp(e,k[b>>2]|0);s=k[e>>2]|0;r=q;return s|0}function dq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i;c=i+20|0;d=i+16|0;f=i+12|0;h=i+8|0;e=i+4|0;k[c>>2]=a;k[d>>2]=b;if(k[k[c>>2]>>2]|0){r=i;return}k[g>>2]=k[(k[d>>2]|0)+16>>2];g=Yd(24299,g)|0;k[h>>2]=g;do if(k[h>>2]|0){g=nf(k[(k[d>>2]|0)+12>>2]|0,k[h>>2]|0,-1,e,0)|0;k[f>>2]=g;if(!(k[f>>2]|0)){De(k[e>>2]|0)|0;g=Me(k[e>>2]|0,0)|0;k[(k[d>>2]|0)+236>>2]=g;g=fe(k[e>>2]|0)|0;k[f>>2]=g;break}if((k[f>>2]|0)==23){k[(k[d>>2]|0)+236>>2]=1024;k[f>>2]=0}}else k[f>>2]=7;while(0);Ud(k[h>>2]|0);k[k[c>>2]>>2]=k[f>>2];r=i;return}function eq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;j=o+24|0;i=o+16|0;d=o+8|0;c=o;e=o+60|0;f=o+56|0;g=o+52|0;h=o+48|0;n=o+44|0;l=o+40|0;m=o+36|0;k[e>>2]=a;k[f>>2]=b;if(k[k[e>>2]>>2]|0){r=o;return}if(k[(k[f>>2]|0)+44>>2]|0)b=k[(k[f>>2]|0)+44>>2]|0;else b=24224;k[m>>2]=b;a=k[(k[f>>2]|0)+12>>2]|0;k[c>>2]=1;sf(a,1,c)|0;k[d>>2]=k[k[(k[f>>2]|0)+28>>2]>>2];d=Yd(24233,d)|0;k[l>>2]=d;k[g>>2]=1;while(1){if(k[l>>2]|0)a=(k[g>>2]|0)<(k[(k[f>>2]|0)+24>>2]|0);else a=0;b=k[l>>2]|0;if(!a)break;d=k[(k[(k[f>>2]|0)+28>>2]|0)+(k[g>>2]<<2)>>2]|0;k[i>>2]=b;k[i+4>>2]=d;d=Yd(24238,i)|0;k[l>>2]=d;k[g>>2]=(k[g>>2]|0)+1}i=k[(k[f>>2]|0)+20>>2]|0;m=k[m>>2]|0;k[j>>2]=b;k[j+4>>2]=i;k[j+8>>2]=m;m=Yd(24245,j)|0;k[n>>2]=m;if((k[l>>2]|0)!=0&(k[n>>2]|0)!=0){m=qf(k[(k[f>>2]|0)+12>>2]|0,k[n>>2]|0)|0;k[h>>2]=m}else k[h>>2]=7;Ud(k[n>>2]|0);Ud(k[l>>2]|0);k[k[e>>2]>>2]=k[h>>2];r=o;return}function fq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;b=f+16|0;g=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;a=2+((uR(k[b>>2]|0)|0)<<1)+1|0;k[g>>2]=a;a=Sd(k[g>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){g=k[e>>2]|0;r=f;return g|0}k[d>>2]=k[e>>2];g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34;k[c>>2]=0;while(1){if(!(i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0))break;if((i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0)==34){g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34}a=i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0;g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=a;k[c>>2]=(k[c>>2]|0)+1}g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34;g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=0;g=k[e>>2]|0;r=f;return g|0}function gq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;i=m;e=m+40|0;f=m+36|0;g=m+32|0;h=m+16|0;j=m+12|0;l=m+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[k[e>>2]>>2]|0){r=m;return}k[h>>2]=d;c=Xd(k[g>>2]|0,h)|0;k[j>>2]=c;if((k[j>>2]|0)!=0?(k[k[f>>2]>>2]|0)!=0:0){c=k[j>>2]|0;k[i>>2]=k[k[f>>2]>>2];k[i+4>>2]=c;c=Yd(24705,i)|0;k[l>>2]=c;Ud(k[j>>2]|0);k[j>>2]=k[l>>2]}if(!(k[j>>2]|0))k[k[e>>2]>>2]=7;Ud(k[k[f>>2]>>2]|0);k[k[f>>2]>>2]=k[j>>2];r=m;return}function hq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;g=j+4|0;f=j;k[d>>2]=a;k[e>>2]=b;k[j+8>>2]=1e7;k[f>>2]=0;k[g>>2]=k[k[d>>2]>>2];while(1){if((i[k[g>>2]>>0]|0)<48)break;if((i[k[g>>2]>>0]|0)>57)break;k[f>>2]=((k[f>>2]|0)*10|0)+((i[k[g>>2]>>0]|0)-48);if((k[f>>2]|0)>1e7){h=5;break}k[g>>2]=(k[g>>2]|0)+1}if((h|0)==5)k[f>>2]=0;if((k[g>>2]|0)==(k[k[d>>2]>>2]|0)){k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}else{k[k[e>>2]>>2]=k[f>>2];k[k[d>>2]>>2]=k[g>>2];k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}return 0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;l=o;d=o+40|0;p=o+36|0;e=o+32|0;h=o+28|0;j=o+24|0;n=o+20|0;g=o+16|0;i=o+12|0;f=o+8|0;m=o+4|0;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[j>>2]=0;a=Ee(k[d>>2]|0)|0;k[h>>2]=a;a=je(k[k[e>>2]>>2]|0)|0;k[n>>2]=a;a=(ke(k[k[e>>2]>>2]|0)|0)+1|0;k[g>>2]=a;do if((k[p>>2]|0)==2){if(!(jq(k[d>>2]|0)|0)){se(k[d>>2]|0,25030,-1);r=o;return}p=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[f>>2]=p;if((k[n>>2]|0)==0|(k[f>>2]|0)!=4){se(k[d>>2]|0,24993,-1);r=o;return}else{p=ie(k[(k[e>>2]|0)+4>>2]|0)|0;k[j>>2]=k[p>>2];p=vk(k[h>>2]|0,k[n>>2]|0,k[g>>2]|0,k[j>>2]|0)|0;k[i>>2]=p;if((k[i>>2]|0)!=(k[j>>2]|0))break;se(k[d>>2]|0,25016,-1);break}}else{if(k[n>>2]|0){p=Ok(k[h>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;k[j>>2]=p}if(!(k[j>>2]|0)){k[l>>2]=k[n>>2];p=Yd(20595,l)|0;k[m>>2]=p;se(k[d>>2]|0,k[m>>2]|0,-1);Ud(k[m>>2]|0);r=o;return}}while(0);pe(k[d>>2]|0,j,4,-1);r=o;return}function jq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+32|0;d=c;f=c+16|0;e=c+12|0;b=c+8|0;k[f>>2]=a;a=Fe(k[f>>2]|0)|0;k[e>>2]=a;k[b>>2]=0;a=k[e>>2]|0;k[d>>2]=-1;k[d+4>>2]=b;yf(a,1004,d)|0;r=c;return k[b>>2]|0}function kq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[k[e>>2]>>2]|0;if(k[(k[e>>2]|0)+4>>2]|0)k[k[(k[e>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;if(k[k[e>>2]>>2]|0)k[(k[k[e>>2]>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];k[g>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[f>>2]<<3);if((k[(k[g>>2]|0)+4>>2]|0)==(k[e>>2]|0))k[(k[g>>2]|0)+4>>2]=k[k[e>>2]>>2];f=k[g>>2]|0;k[f>>2]=(k[f>>2]|0)+-1;if((k[k[g>>2]>>2]|0)<=0)k[(k[g>>2]|0)+4>>2]=0;if((i[(k[d>>2]|0)+1>>0]|0)!=0?(k[(k[e>>2]|0)+12>>2]|0)!=0:0)Ak(k[(k[e>>2]|0)+12>>2]|0);Ak(k[e>>2]|0);g=(k[d>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+-1;if((k[(k[d>>2]|0)+4>>2]|0)>0){r=h;return}zk(k[d>>2]|0);r=h;return}function lq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;c=m+28|0;d=m+24|0;e=m+20|0;h=m+16|0;f=m+12|0;j=m+8|0;l=m+4|0;g=m;k[d>>2]=a;k[e>>2]=b;a=mq(k[e>>2]<<3)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[c>>2]=1;l=k[c>>2]|0;r=m;return l|0}Ak(k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=k[h>>2];k[(k[d>>2]|0)+12>>2]=k[e>>2];a=Rk(i[k[d>>2]>>0]|0)|0;k[l>>2]=a;k[f>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;while(1){if(!(k[f>>2]|0))break;a=gc[k[l>>2]&255](k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=a&(k[e>>2]|0)-1;k[j>>2]=k[k[f>>2]>>2];nq(k[d>>2]|0,(k[h>>2]|0)+(k[g>>2]<<3)|0,k[f>>2]|0);k[f>>2]=k[j>>2]}k[c>>2]=0;l=k[c>>2]|0;r=m;return l|0}function mq(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Sd(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}dS(k[c>>2]|0,0,k[b>>2]|0)|0;c=k[c>>2]|0;r=d;return c|0}function nq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[e>>2]|0)+4>>2];if(!(k[g>>2]|0)){k[k[f>>2]>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[d>>2]|0)+8>>2]|0)k[(k[(k[d>>2]|0)+8>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+8>>2]=k[f>>2];g=k[e>>2]|0;d=k[g>>2]|0;d=d+1|0;k[g>>2]=d;f=k[f>>2]|0;g=k[e>>2]|0;g=g+4|0;k[g>>2]=f;r=h;return}k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];b=k[f>>2]|0;if(k[(k[g>>2]|0)+4>>2]|0)k[k[(k[g>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;k[(k[g>>2]|0)+4>>2]=k[f>>2];g=k[e>>2]|0;d=k[g>>2]|0;d=d+1|0;k[g>>2]=d;f=k[f>>2]|0;g=k[e>>2]|0;g=g+4|0;k[g>>2]=f;r=h;return}function oq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+32|0;d=g+16|0;e=g+4|0;f=g;k[g+12>>2]=a;k[g+8>>2]=b;k[e>>2]=c;c=Sd(4)|0;k[f>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=7;f=k[d>>2]|0;r=g;return f|0}else{k[k[f>>2]>>2]=0;k[k[e>>2]>>2]=k[f>>2];k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function pq(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return 0}function qq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=Sd(28)|0;k[i>>2]=b;if(!(k[i>>2]|0)){k[e>>2]=7;b=k[e>>2]|0;r=j;return b|0}k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){b=uR(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=b;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[(k[i>>2]|0)+12>>2]=0;k[(k[i>>2]|0)+16>>2]=0;k[(k[i>>2]|0)+20>>2]=0;k[(k[i>>2]|0)+24>>2]=0;k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;b=k[e>>2]|0;r=j;return b|0}function rq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function sq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+64|0;g=w+48|0;x=w+44|0;h=w+40|0;j=w+36|0;l=w+32|0;m=w+28|0;n=w+24|0;o=w+20|0;u=w+16|0;q=w+12|0;p=w+8|0;s=w+4|0;t=w;k[x>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=k[x>>2];k[u>>2]=k[(k[o>>2]|0)+4>>2];do{if((k[(k[o>>2]|0)+12>>2]|0)>=(k[(k[o>>2]|0)+8>>2]|0)){v=23;break}while(1){if((k[(k[o>>2]|0)+12>>2]|0)<(k[(k[o>>2]|0)+8>>2]|0)?(x=i[(k[u>>2]|0)+(k[(k[o>>2]|0)+12>>2]|0)>>0]|0,k[p>>2]=x,(x&128|0)==0):0)if((k[p>>2]|0)<48)a=1;else a=(i[25052+((k[p>>2]|0)-48)>>0]|0)!=0^1;else a=0;e=(k[o>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}k[q>>2]=f;while(1){if((k[(k[o>>2]|0)+12>>2]|0)<(k[(k[o>>2]|0)+8>>2]|0)){x=i[(k[u>>2]|0)+(k[(k[o>>2]|0)+12>>2]|0)>>0]|0;k[p>>2]=x;if(!(x&128))if((k[p>>2]|0)<48)a=1;else a=(i[25052+((k[p>>2]|0)-48)>>0]|0)!=0^1;else a=0;a=a^1}else a=0;e=(k[o>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}}while((f|0)<=(k[q>>2]|0));if((v|0)==23){k[g>>2]=101;x=k[g>>2]|0;r=w;return x|0}k[s>>2]=(k[(k[o>>2]|0)+12>>2]|0)-(k[q>>2]|0);do if((k[s>>2]|0)>(k[(k[o>>2]|0)+24>>2]|0)){k[(k[o>>2]|0)+24>>2]=(k[s>>2]|0)+20;x=Vd(k[(k[o>>2]|0)+20>>2]|0,k[(k[o>>2]|0)+24>>2]|0)|0;k[t>>2]=x;if(k[t>>2]|0){k[(k[o>>2]|0)+20>>2]=k[t>>2];break}k[g>>2]=7;x=k[g>>2]|0;r=w;return x|0}while(0);tq((k[u>>2]|0)+(k[q>>2]|0)|0,k[s>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[j>>2]|0);k[k[h>>2]>>2]=k[(k[o>>2]|0)+20>>2];k[k[l>>2]>>2]=k[q>>2];k[k[m>>2]>>2]=k[(k[o>>2]|0)+12>>2];v=(k[o>>2]|0)+16|0;x=k[v>>2]|0;k[v>>2]=x+1;k[k[n>>2]>>2]=x;k[g>>2]=0;x=k[g>>2]|0;r=w;return x|0}function tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;e=s+28|0;f=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;h=s+8|0;l=s+36|0;q=s+4|0;j=s;g=s+32|0;k[e>>2]=a;k[f>>2]=b;k[n>>2]=c;k[o>>2]=d;if((k[f>>2]|0)<3|(k[f>>2]|0)>=21){uq(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,k[o>>2]|0);r=s;return}k[p>>2]=0;k[h>>2]=22;while(1){if((k[p>>2]|0)>=(k[f>>2]|0))break;i[g>>0]=i[(k[e>>2]|0)+(k[p>>2]|0)>>0]|0;if((i[g>>0]|0)>=65?(i[g>>0]|0)<=90:0)i[l+(k[h>>2]|0)>>0]=(i[g>>0]|0)+97-65;else{if((i[g>>0]|0)<97){m=11;break}if((i[g>>0]|0)>122){m=11;break}i[l+(k[h>>2]|0)>>0]=i[g>>0]|0}k[p>>2]=(k[p>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+-1}if((m|0)==11){uq(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,k[o>>2]|0);r=s;return}m=l+23|0;i[m>>0]=0;i[m+1>>0]=0;i[m+2>>0]=0;i[m+3>>0]=0;i[m+4>>0]=0;k[q>>2]=l+((k[h>>2]|0)+1);if((((i[k[q>>2]>>0]|0)==115?(vq(q,25132,25137,0)|0)==0:0)?(vq(q,25140,25144,0)|0)==0:0)?(vq(q,25137,25137,0)|0)==0:0)k[q>>2]=(k[q>>2]|0)+1;k[j>>2]=k[q>>2];do if(!(vq(q,25146,25150,172)|0)){if((vq(q,25153,18402,173)|0)==0?(vq(q,25157,18402,173)|0)==0:0)break;if((((k[q>>2]|0)!=(k[j>>2]|0)?(vq(q,25160,25163,0)|0)==0:0)?(vq(q,25167,25170,0)|0)==0:0)?(vq(q,25174,25177,0)|0)==0:0){if((((yq(k[q>>2]|0)|0)!=0?(i[k[q>>2]>>0]|0)!=108:0)?(i[k[q>>2]>>0]|0)!=115:0)?(i[k[q>>2]>>0]|0)!=122:0){k[q>>2]=(k[q>>2]|0)+1;break}if((zq(k[q>>2]|0)|0)!=0?(Aq(k[q>>2]|0)|0)!=0:0){m=(k[q>>2]|0)+-1|0;k[q>>2]=m;i[m>>0]=101}}}while(0);if((i[k[q>>2]>>0]|0)==121?(xq((k[q>>2]|0)+1|0)|0)!=0:0)i[k[q>>2]>>0]=105;switch(i[(k[q>>2]|0)+1>>0]|0){case 97:{if(!(vq(q,25181,25163,172)|0))vq(q,25189,25196,172)|0;break}case 99:{if(!(vq(q,25201,25206,172)|0))vq(q,25211,25216,172)|0;break}case 101:{vq(q,25221,25177,172)|0;break}case 103:{vq(q,25226,25231,172)|0;break}case 108:{if((((vq(q,25235,25170,172)|0)==0?(vq(q,25239,25244,172)|0)==0:0)?(vq(q,25247,25253,172)|0)==0:0)?(vq(q,25257,25261,172)|0)==0:0)vq(q,25263,25269,172)|0;break}case 111:{if((vq(q,25273,25177,172)|0)==0?(vq(q,25281,25163,172)|0)==0:0)vq(q,25287,25163,172)|0;break}case 115:{if(((vq(q,25292,25244,172)|0)==0?(vq(q,25298,25306,172)|0)==0:0)?(vq(q,25310,25318,172)|0)==0:0)vq(q,25322,25269,172)|0;break}case 116:{if((vq(q,25330,25244,172)|0)==0?(vq(q,25336,25306,172)|0)==0:0)vq(q,25342,25170,172)|0;break}default:{}}switch(i[k[q>>2]>>0]|0){case 101:{if((vq(q,25349,25355,172)|0)==0?(vq(q,25358,18402,172)|0)==0:0)vq(q,25364,25244,172)|0;break}case 105:{vq(q,25370,25355,172)|0;break}case 108:{if(!(vq(q,25376,25355,172)|0))vq(q,25381,18402,172)|0;break}case 115:{vq(q,25385,18402,172)|0;break}default:{}}a:do switch(i[(k[q>>2]|0)+1>>0]|0){case 97:{if((i[k[q>>2]>>0]|0)==108?(Bq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 99:{if((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==110:0){if((i[(k[q>>2]|0)+3>>0]|0)!=97?(i[(k[q>>2]|0)+3>>0]|0)!=101:0)break a;if(Bq((k[q>>2]|0)+4|0)|0)k[q>>2]=(k[q>>2]|0)+4}break}case 101:{if((i[k[q>>2]>>0]|0)==114?(Bq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 105:{if((i[k[q>>2]>>0]|0)==99?(Bq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 108:{if((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==98:0){if((i[(k[q>>2]|0)+3>>0]|0)!=97?(i[(k[q>>2]|0)+3>>0]|0)!=105:0)break a;if(Bq((k[q>>2]|0)+4|0)|0)k[q>>2]=(k[q>>2]|0)+4}break}case 110:{if((i[k[q>>2]>>0]|0)==116){e=k[q>>2]|0;if((i[(k[q>>2]|0)+2>>0]|0)==97){if(!(Bq(e+3|0)|0))break a;k[q>>2]=(k[q>>2]|0)+3;break a}if(((i[e+2>>0]|0)==101?(vq(q,25390,18402,174)|0)==0:0)?(vq(q,25396,18402,174)|0)==0:0)vq(q,25401,18402,174)|0}break}case 111:{e=k[q>>2]|0;if((i[k[q>>2]>>0]|0)==117){if(!(Bq(e+2|0)|0))break a;k[q>>2]=(k[q>>2]|0)+2;break a}if((i[e+3>>0]|0)!=115?(i[(k[q>>2]|0)+3>>0]|0)!=116:0)break a;vq(q,25405,18402,174)|0;break}case 115:{if(((i[k[q>>2]>>0]|0)==109?(i[(k[q>>2]|0)+2>>0]|0)==105:0)?(Bq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}case 116:{if(!(vq(q,25409,18402,174)|0))vq(q,25413,18402,174)|0;break}case 117:{if(((i[k[q>>2]>>0]|0)==115?(i[(k[q>>2]|0)+2>>0]|0)==111:0)?(Bq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}case 122:case 118:{if(((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==105:0)?(Bq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}default:{}}while(0);do if((i[k[q>>2]>>0]|0)==101){m=(Bq((k[q>>2]|0)+1|0)|0)!=0;e=(k[q>>2]|0)+1|0;if(m){k[q>>2]=e;break}if((zq(e)|0)!=0?(Aq((k[q>>2]|0)+1|0)|0)==0:0)k[q>>2]=(k[q>>2]|0)+1}while(0);if(((Bq(k[q>>2]|0)|0)!=0?(i[k[q>>2]>>0]|0)==108:0)?(i[(k[q>>2]|0)+1>>0]|0)==108:0)k[q>>2]=(k[q>>2]|0)+1;m=uR(k[q>>2]|0)|0;k[p>>2]=m;k[k[o>>2]>>2]=m;i[(k[n>>2]|0)+(k[p>>2]|0)>>0]=0;while(1){if(!(i[k[q>>2]>>0]|0))break;m=k[q>>2]|0;k[q>>2]=m+1;m=i[m>>0]|0;o=(k[p>>2]|0)+-1|0;k[p>>2]=o;i[(k[n>>2]|0)+o>>0]=m}r=s;return}function uq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;j=p+32|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[f>>2]|0))break;i[j>>0]=i[(k[e>>2]|0)+(k[m>>2]|0)>>0]|0;if((i[j>>0]|0)>=65?(i[j>>0]|0)<=90:0)i[(k[g>>2]|0)+(k[m>>2]|0)>>0]=(i[j>>0]|0)-65+97;else{if((i[j>>0]|0)>=48?(i[j>>0]|0)<=57:0)k[l>>2]=1;i[(k[g>>2]|0)+(k[m>>2]|0)>>0]=i[j>>0]|0}k[m>>2]=(k[m>>2]|0)+1}k[o>>2]=(k[l>>2]|0)!=0?3:10;if((k[f>>2]|0)<=(k[o>>2]<<1|0)){a=k[m>>2]|0;c=k[g>>2]|0;a=c+a|0;i[a>>0]=0;a=k[m>>2]|0;c=k[h>>2]|0;k[c>>2]=a;r=p;return}k[n>>2]=k[o>>2];k[m>>2]=(k[f>>2]|0)-(k[o>>2]|0);while(1){if((k[m>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[n>>2]|0)>>0]=i[(k[g>>2]|0)+(k[m>>2]|0)>>0]|0;k[m>>2]=(k[m>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}k[m>>2]=k[n>>2];a=k[m>>2]|0;c=k[g>>2]|0;a=c+a|0;i[a>>0]=0;a=k[m>>2]|0;c=k[h>>2]|0;k[c>>2]=a;r=p;return}function vq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=k[k[f>>2]>>2];while(1){if(!(i[k[g>>2]>>0]|0))break;if((i[k[g>>2]>>0]|0)!=(i[k[l>>2]>>0]|0))break;k[l>>2]=(k[l>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}if(i[k[g>>2]>>0]|0){k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}if((k[j>>2]|0)!=0?(bc[k[j>>2]&255](k[l>>2]|0)|0)==0:0){k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}while(1){if(!(i[k[h>>2]>>0]|0))break;b=k[h>>2]|0;k[h>>2]=b+1;b=i[b>>0]|0;c=(k[l>>2]|0)+-1|0;k[l>>2]=c;i[c>>0]=b}k[k[f>>2]>>2]=k[l>>2];k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}function wq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(Cq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Dq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)!=0&1;e=k[b>>2]|0;r=d;return e|0}function xq(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;while(1){d=(Dq(k[b>>2]|0)|0)!=0;a=k[b>>2]|0;if(!d)break;k[b>>2]=a+1}r=c;return (i[a>>0]|0)!=0|0}function yq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(Dq(k[b>>2]|0)|0)){a=0;a=a&1;r=c;return a|0}a=(i[k[b>>2]>>0]|0)==(i[(k[b>>2]|0)+1>>0]|0);a=a&1;r=c;return a|0}function zq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(Cq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Dq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Cq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=1;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Dq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)==0&1;e=k[b>>2]|0;r=d;return e|0}function Aq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(((((Dq(k[b>>2]|0)|0)!=0?(i[k[b>>2]>>0]|0)!=119:0)?(i[k[b>>2]>>0]|0)!=120:0)?(i[k[b>>2]>>0]|0)!=121:0)?(Cq((k[b>>2]|0)+1|0)|0)!=0:0)b=(Dq((k[b>>2]|0)+2|0)|0)!=0;else b=0;r=c;return b&1|0}function Bq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(Cq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Dq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Cq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Dq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)!=0&1;e=k[b>>2]|0;r=d;return e|0}function Cq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;c=f+4|0;d=f;e=f+12|0;k[c>>2]=a;i[e>>0]=i[k[c>>2]>>0]|0;if(!(i[e>>0]|0)){k[b>>2]=0;a=k[b>>2]|0;r=f;return a|0}k[d>>2]=i[25417+((i[e>>0]|0)-97)>>0];if((k[d>>2]|0)<2){k[b>>2]=1-(k[d>>2]|0);a=k[b>>2]|0;r=f;return a|0}else{a=Dq((k[c>>2]|0)+1|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=f;return a|0}return 0}function Dq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;b=f+4|0;c=f;d=f+12|0;k[b>>2]=a;i[d>>0]=i[k[b>>2]>>0]|0;if(!(i[d>>0]|0)){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}k[c>>2]=i[25417+((i[d>>0]|0)-97)>>0];if((k[c>>2]|0)<2){k[e>>2]=k[c>>2];e=k[e>>2]|0;r=f;return e|0}if(!(i[(k[b>>2]|0)+1>>0]|0))b=1;else b=(Cq((k[b>>2]|0)+1|0)|0)!=0;k[e>>2]=b&1;e=k[e>>2]|0;r=f;return e|0}function Eq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+28|0;e=p+24|0;f=p+20|0;g=p+16|0;o=p+12|0;j=p+8|0;n=p+4|0;h=p+32|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=Sd(132)|0;k[o>>2]=c;if(!(k[o>>2]|0)){k[d>>2]=7;o=k[d>>2]|0;r=p;return o|0}dS(k[o>>2]|0,0,132)|0;a:do if((k[e>>2]|0)>1){c=uR(k[(k[f>>2]|0)+4>>2]|0)|0;k[n>>2]=c;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[n>>2]|0))break a;i[h>>0]=i[(k[(k[f>>2]|0)+4>>2]|0)+(k[j>>2]|0)>>0]|0;if((l[h>>0]|0|0)>=128)break;i[(k[o>>2]|0)+4+(l[h>>0]|0)>>0]=1;k[j>>2]=(k[j>>2]|0)+1}Ud(k[o>>2]|0);k[d>>2]=1;o=k[d>>2]|0;r=p;return o|0}else{k[m>>2]=1;while(1){if((k[m>>2]|0)>=128)break a;c=(Kq(k[m>>2]|0)|0)!=0^1;i[(k[o>>2]|0)+4+(k[m>>2]|0)>>0]=c?-1:0;k[m>>2]=(k[m>>2]|0)+1}}while(0);k[k[g>>2]>>2]=k[o>>2];k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}function Fq(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return 0}function Gq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=Sd(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[e>>2]=7;d=k[e>>2]|0;r=j;return d|0}k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){d=uR(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=d;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[(k[i>>2]|0)+12>>2]=0;k[(k[i>>2]|0)+16>>2]=0;k[(k[i>>2]|0)+20>>2]=0;k[(k[i>>2]|0)+24>>2]=0;k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;d=k[e>>2]|0;r=j;return d|0}function Hq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Iq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+64|0;m=z+52|0;A=z+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;s=z+28|0;t=z+24|0;h=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;g=z;u=z+56|0;k[A>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=k[A>>2];k[h>>2]=k[k[A>>2]>>2];k[y>>2]=k[(k[t>>2]|0)+4>>2];do{if((k[(k[t>>2]|0)+12>>2]|0)>=(k[(k[t>>2]|0)+8>>2]|0)){j=25;break}while(1){if((k[(k[t>>2]|0)+12>>2]|0)<(k[(k[t>>2]|0)+8>>2]|0))a=(Jq(k[h>>2]|0,i[(k[y>>2]|0)+(k[(k[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else a=0;e=(k[t>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}k[w>>2]=f;while(1){if((k[(k[t>>2]|0)+12>>2]|0)<(k[(k[t>>2]|0)+8>>2]|0))a=(Jq(k[h>>2]|0,i[(k[y>>2]|0)+(k[(k[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else a=0;e=(k[t>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}}while((f|0)<=(k[w>>2]|0));if((j|0)==25){k[m>>2]=101;A=k[m>>2]|0;r=z;return A|0}k[x>>2]=(k[(k[t>>2]|0)+12>>2]|0)-(k[w>>2]|0);do if((k[x>>2]|0)>(k[(k[t>>2]|0)+24>>2]|0)){k[(k[t>>2]|0)+24>>2]=(k[x>>2]|0)+20;A=Vd(k[(k[t>>2]|0)+20>>2]|0,k[(k[t>>2]|0)+24>>2]|0)|0;k[g>>2]=A;if(k[g>>2]|0){k[(k[t>>2]|0)+20>>2]=k[g>>2];break}k[m>>2]=7;A=k[m>>2]|0;r=z;return A|0}while(0);k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[x>>2]|0))break;i[u>>0]=i[(k[y>>2]|0)+((k[w>>2]|0)+(k[v>>2]|0))>>0]|0;if((l[u>>0]|0|0)>=65?(l[u>>0]|0|0)<=90:0)a=(l[u>>0]|0)-65+97|0;else a=l[u>>0]|0;i[(k[(k[t>>2]|0)+20>>2]|0)+(k[v>>2]|0)>>0]=a;k[v>>2]=(k[v>>2]|0)+1}k[k[n>>2]>>2]=k[(k[t>>2]|0)+20>>2];k[k[o>>2]>>2]=k[x>>2];k[k[p>>2]>>2]=k[w>>2];k[k[q>>2]>>2]=k[(k[t>>2]|0)+12>>2];y=(k[t>>2]|0)+16|0;A=k[y>>2]|0;k[y>>2]=A+1;k[k[s>>2]>>2]=A;k[m>>2]=0;A=k[m>>2]|0;r=z;return A|0}function Jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e;d=e+4|0;k[c>>2]=a;i[d>>0]=b;if((l[d>>0]|0)>=128){a=0;a=a&1;r=e;return a|0}a=(i[(k[c>>2]|0)+4+(l[d>>0]|0)>>0]|0)!=0;a=a&1;r=e;return a|0}function Kq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((k[b>>2]|0)>=48&(k[b>>2]|0)<=57)?!((k[b>>2]|0)>=65&(k[b>>2]|0)<=90):0)b=(k[b>>2]|0)>=97?(k[b>>2]|0)<=122:0;else b=1;r=c;return b&1|0}function Lq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;t=w;g=w+56|0;h=w+52|0;i=w+44|0;j=w+40|0;l=w+36|0;m=w+32|0;u=w+28|0;v=w+24|0;o=w+20|0;p=w+16|0;n=w+12|0;s=w+8|0;q=w+4|0;k[h>>2]=a;k[w+48>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;do if(!((k[i>>2]|0)!=4&(k[i>>2]|0)!=5)){k[u>>2]=k[(k[j>>2]|0)+4>>2];f=uR(k[u>>2]|0)|0;k[o>>2]=f;if((k[i>>2]|0)==5){if((k[o>>2]|0)!=4)break;if(Jd(18672,k[u>>2]|0,4)|0)break;k[u>>2]=k[(k[j>>2]|0)+12>>2];t=uR(k[u>>2]|0)|0;k[o>>2]=t;k[v>>2]=k[(k[j>>2]|0)+16>>2]}else k[v>>2]=k[(k[j>>2]|0)+12>>2];t=uR(k[v>>2]|0)|0;k[p>>2]=t;t=qf(k[h>>2]|0,25453)|0;k[s>>2]=t;if(k[s>>2]|0){k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}k[n>>2]=296+(k[o>>2]|0)+(k[p>>2]|0)+2;t=Sd(k[n>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0){dS(k[q>>2]|0,0,k[n>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=(k[q>>2]|0)+16;k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]=(k[(k[q>>2]|0)+12>>2]|0)+280;k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]=(k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]|0)+((k[o>>2]|0)+1);k[(k[(k[q>>2]|0)+12>>2]|0)+12>>2]=k[h>>2];k[(k[(k[q>>2]|0)+12>>2]|0)+248>>2]=1;bS(k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]|0,k[u>>2]|0,k[o>>2]|0)|0;bS(k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]|0,k[v>>2]|0,k[p>>2]|0)|0;Yk(k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]|0);k[k[l>>2]>>2]=k[q>>2];k[g>>2]=0;v=k[g>>2]|0;r=w;return v|0}else{k[g>>2]=7;v=k[g>>2]|0;r=w;return v|0}}while(0);Pk(k[m>>2]|0,25522,t);k[g>>2]=1;v=k[g>>2]|0;r=w;return v|0}function Mq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;f=o+32|0;c=o+28|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;n=o+8|0;e=o+4|0;d=o;k[o+36>>2]=a;k[f>>2]=b;k[g>>2]=-1;k[h>>2]=-1;k[m>>2]=-1;k[j>>2]=-1;k[n>>2]=1;if(((k[(k[f>>2]|0)+8>>2]|0)==1?(k[k[(k[f>>2]|0)+12>>2]>>2]|0)==0:0)?(l[(k[(k[f>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)k[(k[f>>2]|0)+32>>2]=1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[f>>2]>>2]|0))break;if(i[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)+5>>0]|0){k[e>>2]=l[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)+4>>0];k[d>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)>>2];if(!(k[d>>2]|0)){if((k[e>>2]|0)==2)k[g>>2]=k[c>>2];if((k[e>>2]|0)==16)k[m>>2]=k[c>>2];if((k[e>>2]|0)==8)k[m>>2]=k[c>>2];if((k[e>>2]|0)==4)k[h>>2]=k[c>>2];if((k[e>>2]|0)==32)k[h>>2]=k[c>>2]}if((k[d>>2]|0)==4&(k[e>>2]|0)==2)k[j>>2]=k[c>>2]}k[c>>2]=(k[c>>2]|0)+1}c=(k[f>>2]|0)+20|0;if((k[g>>2]|0)<0){k[c>>2]=0;p[(k[f>>2]|0)+40>>3]=2.0e4;if((k[h>>2]|0)>=0){g=(k[f>>2]|0)+20|0;k[g>>2]=(k[g>>2]|0)+2;g=k[n>>2]|0;k[n>>2]=g+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[h>>2]<<3)>>2]=g;h=(k[f>>2]|0)+40|0;p[h>>3]=+p[h>>3]/2.0}if((k[m>>2]|0)>=0){h=(k[f>>2]|0)+20|0;k[h>>2]=(k[h>>2]|0)+4;h=k[n>>2]|0;k[n>>2]=h+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[m>>2]<<3)>>2]=h;m=(k[f>>2]|0)+40|0;p[m>>3]=+p[m>>3]/2.0}}else{k[c>>2]=1;m=k[n>>2]|0;k[n>>2]=m+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]=m;p[(k[f>>2]|0)+40>>3]=5.0}if((k[j>>2]|0)<0){r=o;return 0}m=k[n>>2]|0;k[n>>2]=m+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[j>>2]<<3)>>2]=m;n=(k[f>>2]|0)+40|0;p[n>>3]=+p[n>>3]+-1.0;r=o;return 0}function Nq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;c=e+8|0;d=e+4|0;b=e;k[f>>2]=a;k[c>>2]=k[f>>2];k[d>>2]=k[(k[c>>2]|0)+12>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=40)break;fe(k[(k[d>>2]|0)+56+(k[b>>2]<<2)>>2]|0)|0;k[b>>2]=(k[b>>2]|0)+1}Ud(k[(k[d>>2]|0)+240>>2]|0);Ud(k[c>>2]|0);r=e;return 0}function Oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;b=Sd(120)|0;k[e>>2]=b;if(k[e>>2]|0){a=k[e>>2]|0;b=a+120|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[d>>2]>>2]=k[e>>2];k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=7;e=k[c>>2]|0;r=f;return e|0}return 0}function Pq(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;e=b+8|0;d=b+4|0;c=b;k[e>>2]=a;k[d>>2]=k[(k[k[e>>2]>>2]|0)+12>>2];k[c>>2]=k[e>>2];Im(k[d>>2]|0);Ll((k[c>>2]|0)+4|0);Ud(k[(k[c>>2]|0)+60>>2]|0);Ud(k[(k[c>>2]|0)+76>>2]|0);Ud(k[(k[c>>2]|0)+112>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Qq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+80|0;x=z+8|0;w=z;f=z+76|0;g=z+72|0;h=z+68|0;i=z+60|0;j=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;n=z+36|0;l=z+32|0;m=z+28|0;p=z+24|0;o=z+20|0;q=z+16|0;y=z+12|0;k[g>>2]=a;k[h>>2]=b;k[z+64>>2]=c;k[i>>2]=d;k[j>>2]=e;k[t>>2]=k[g>>2];k[u>>2]=k[(k[k[g>>2]>>2]|0)+12>>2];k[s>>2]=0;k[n>>2]=0;k[l>>2]=-1;k[m>>2]=-1;k[p>>2]=-1;k[o>>2]=-1;k[q>>2]=0;if((k[h>>2]|0)!=1){k[s>>2]=1;if(k[h>>2]&2){a=k[q>>2]|0;k[q>>2]=a+1;k[m>>2]=a}if(k[h>>2]&4){a=k[q>>2]|0;k[q>>2]=a+1;k[p>>2]=a}}else{a=k[q>>2]|0;k[q>>2]=a+1;k[l>>2]=a}if((k[q>>2]|0)<(k[i>>2]|0)){a=k[q>>2]|0;k[q>>2]=a+1;k[o>>2]=a}Ll((k[t>>2]|0)+4|0);Ud(k[(k[t>>2]|0)+60>>2]|0);Ud(k[(k[t>>2]|0)+112>>2]|0);dS((k[t>>2]|0)+4|0,0,(k[t>>2]|0)+120-((k[t>>2]|0)+4)|0)|0;k[(k[t>>2]|0)+60+12>>2]=3;if(k[s>>2]|0){a=(k[t>>2]|0)+60+12|0;k[a>>2]=k[a>>2]|16}if(((k[l>>2]|0)>=0|(k[m>>2]|0)>=0?(a=je(k[k[j>>2]>>2]|0)|0,k[y>>2]=a,(k[y>>2]|0)!=0):0)?(k[w>>2]=k[y>>2],y=Yd(18391,w)|0,k[(k[t>>2]|0)+60>>2]=y,y=ke(k[k[j>>2]>>2]|0)|0,k[(k[t>>2]|0)+60+4>>2]=y,(k[(k[t>>2]|0)+60>>2]|0)==0):0){k[f>>2]=7;y=k[f>>2]|0;r=z;return y|0}if((k[p>>2]|0)>=0?(y=je(k[(k[j>>2]|0)+(k[p>>2]<<2)>>2]|0)|0,k[x>>2]=y,y=Yd(18391,x)|0,k[(k[t>>2]|0)+76>>2]=y,y=ke(k[(k[j>>2]|0)+(k[p>>2]<<2)>>2]|0)|0,k[(k[t>>2]|0)+80>>2]=y,(k[(k[t>>2]|0)+76>>2]|0)==0):0){k[f>>2]=7;y=k[f>>2]|0;r=z;return y|0}if((k[o>>2]|0)>=0){y=me(k[(k[j>>2]|0)+(k[o>>2]<<2)>>2]|0)|0;k[n>>2]=y;k[n>>2]=(k[n>>2]|0)<0?0:y}k[(k[t>>2]|0)+84>>2]=k[n>>2];y=Al(k[u>>2]|0,k[n>>2]|0,0,-2,k[(k[t>>2]|0)+60>>2]|0,k[(k[t>>2]|0)+60+4>>2]|0,0,k[s>>2]|0,(k[t>>2]|0)+4|0)|0;k[v>>2]=y;if(!(k[v>>2]|0)){y=El(k[u>>2]|0,(k[t>>2]|0)+4|0,(k[t>>2]|0)+60|0)|0;k[v>>2]=y}if(!(k[v>>2]|0)){y=Rq(k[g>>2]|0)|0;k[v>>2]=y}k[f>>2]=k[v>>2];y=k[f>>2]|0;r=z;return y|0}function Rq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+64|0;c=p+52|0;q=p+48|0;l=p+44|0;b=p+40|0;m=p+36|0;f=p+32|0;j=p+28|0;d=p+24|0;g=p+20|0;e=p+16|0;i=p+12|0;h=p+8|0;n=p;k[q>>2]=a;k[l>>2]=k[q>>2];k[b>>2]=k[(k[k[q>>2]>>2]|0)+12>>2];a=(k[l>>2]|0)+96|0;q=a;q=$R(k[q>>2]|0,k[q+4>>2]|0,1,0)|0;k[a>>2]=q;k[a+4>>2]=L;a=(k[l>>2]|0)+104|0;k[a>>2]=(k[a>>2]|0)+1;while(1){if((k[(k[l>>2]|0)+104>>2]|0)>=(k[(k[l>>2]|0)+108>>2]|0))break;q=(k[(k[l>>2]|0)+112>>2]|0)+(k[(k[l>>2]|0)+104>>2]<<4)|0;a=k[q+4>>2]|0;if((a|0)>0|(a|0)==0&(k[q>>2]|0)>>>0>0){o=4;break}q=(k[l>>2]|0)+104|0;k[q>>2]=(k[q>>2]|0)+1}if((o|0)==4){k[c>>2]=0;q=k[c>>2]|0;r=p;return q|0}q=Fl(k[b>>2]|0,(k[l>>2]|0)+4|0)|0;k[m>>2]=q;do if((k[m>>2]|0)==100){k[f>>2]=0;k[j>>2]=k[(k[l>>2]|0)+4+52>>2];k[d>>2]=k[(k[l>>2]|0)+4+48>>2];k[e>>2]=0;do if(k[(k[l>>2]|0)+76>>2]|0){a=k[l>>2]|0;if((k[(k[l>>2]|0)+80>>2]|0)<(k[(k[l>>2]|0)+4+44>>2]|0))a=k[a+80>>2]|0;else a=k[a+4+44>>2]|0;k[i>>2]=a;q=oR(k[(k[l>>2]|0)+76>>2]|0,k[(k[l>>2]|0)+4+40>>2]|0,k[i>>2]|0)|0;k[h>>2]=q;if((k[h>>2]|0)>=0){if(k[h>>2]|0)break;if((k[(k[l>>2]|0)+4+44>>2]|0)<=(k[(k[l>>2]|0)+80>>2]|0))break}k[(k[l>>2]|0)+88>>2]=1;k[c>>2]=0;q=k[c>>2]|0;r=p;return q|0}while(0);if(Vq(k[l>>2]|0,2)|0){k[c>>2]=7;q=k[c>>2]|0;r=p;return q|0}dS(k[(k[l>>2]|0)+112>>2]|0,0,k[(k[l>>2]|0)+108>>2]<<4|0)|0;k[g>>2]=0;a:while(1){if((k[f>>2]|0)>=(k[j>>2]|0)){o=32;break}q=n;k[q>>2]=0;k[q+4>>2]=0;q=im((k[d>>2]|0)+(k[f>>2]|0)|0,n)|0;k[f>>2]=(k[f>>2]|0)+q;switch(k[e>>2]|0){case 0:{q=k[(k[l>>2]|0)+112>>2]|0;i=q;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;k[e>>2]=1;k[g>>2]=0;continue a}case 1:{q=n;i=k[q+4>>2]|0;if((i|0)>0|(i|0)==0&(k[q>>2]|0)>>>0>1){q=(k[(k[l>>2]|0)+112>>2]|0)+16|0;i=q;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L}k[e>>2]=2;break}case 2:break;default:{k[g>>2]=k[n>>2];if(Vq(k[l>>2]|0,(k[g>>2]|0)+2|0)|0)break a;q=(k[(k[l>>2]|0)+112>>2]|0)+((k[g>>2]|0)+1<<4)|0;i=q;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;k[e>>2]=2;continue a}}q=n;if((k[q>>2]|0)==0&(k[q+4>>2]|0)==0){k[e>>2]=0;continue}q=n;if((k[q>>2]|0)==1&(k[q+4>>2]|0)==0){k[e>>2]=3;continue}else{q=(k[(k[l>>2]|0)+112>>2]|0)+((k[g>>2]|0)+1<<4)+8|0;i=q;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;q=(k[(k[l>>2]|0)+112>>2]|0)+8|0;i=q;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;continue}}if((o|0)==32){k[(k[l>>2]|0)+104>>2]=0;k[m>>2]=0;break}k[c>>2]=7;q=k[c>>2]|0;r=p;return q|0}else k[(k[l>>2]|0)+88>>2]=1;while(0);k[c>>2]=k[m>>2];q=k[c>>2]|0;r=p;return q|0}function Sq(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];r=c;return k[(k[b>>2]|0)+88>>2]|0}function Tq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;d=f+8|0;g=f+4|0;e=f;k[h>>2]=a;k[d>>2]=b;k[g>>2]=c;k[e>>2]=k[h>>2];switch(k[g>>2]|0){case 0:{we(k[d>>2]|0,k[(k[e>>2]|0)+4+40>>2]|0,k[(k[e>>2]|0)+4+44>>2]|0,-1);r=f;return 0}case 1:{d=k[d>>2]|0;if(k[(k[e>>2]|0)+104>>2]|0){te(d,(k[(k[e>>2]|0)+104>>2]|0)-1|0);r=f;return 0}else{we(d,25451,-1,0);r=f;return 0}}case 2:{h=(k[(k[e>>2]|0)+112>>2]|0)+(k[(k[e>>2]|0)+104>>2]<<4)|0;ue(k[d>>2]|0,k[h>>2]|0,k[h+4>>2]|0);r=f;return 0}case 3:{h=(k[(k[e>>2]|0)+112>>2]|0)+(k[(k[e>>2]|0)+104>>2]<<4)+8|0;ue(k[d>>2]|0,k[h>>2]|0,k[h+4>>2]|0);r=f;return 0}default:{te(k[d>>2]|0,k[(k[e>>2]|0)+84>>2]|0);r=f;return 0}}return 0}function Uq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+96|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function Vq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;do if((k[e>>2]|0)>(k[(k[d>>2]|0)+108>>2]|0)){a=Vd(k[(k[d>>2]|0)+112>>2]|0,k[e>>2]<<4)|0;k[f>>2]=a;if(k[f>>2]|0){dS((k[f>>2]|0)+(k[(k[d>>2]|0)+108>>2]<<4)|0,0,(k[e>>2]|0)-(k[(k[d>>2]|0)+108>>2]|0)<<4|0)|0;k[(k[d>>2]|0)+112>>2]=k[f>>2];k[(k[d>>2]|0)+108>>2]=k[e>>2];break}k[c>>2]=7;a=k[c>>2]|0;r=g;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}function Wq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;j=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;i=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=0;c=Sd(16)|0;k[j>>2]=c;if(!(k[j>>2]|0)){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}c=k[j>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[(k[j>>2]|0)+4>>2]=1;k[h>>2]=0;while(1){if(k[l>>2]|0)break;if((k[h>>2]|0)>=(k[e>>2]|0))break;k[m>>2]=k[(k[f>>2]|0)+(k[h>>2]<<2)>>2];c=uR(k[m>>2]|0)|0;k[i>>2]=c;if((k[i>>2]|0)==19?(oR(25728,k[m>>2]|0,19)|0)==0:0)k[(k[j>>2]|0)+4>>2]=1;else n=9;do if((n|0)==9){n=0;if((k[i>>2]|0)==19?(oR(25748,k[m>>2]|0,19)|0)==0:0){k[(k[j>>2]|0)+4>>2]=0;break}if((k[i>>2]|0)>=11?(oR(25768,k[m>>2]|0,11)|0)==0:0){c=fr(k[j>>2]|0,1,(k[m>>2]|0)+11|0,(k[i>>2]|0)-11|0)|0;k[l>>2]=c;break}if((k[i>>2]|0)>=11?(oR(25780,k[m>>2]|0,11)|0)==0:0){c=fr(k[j>>2]|0,0,(k[m>>2]|0)+11|0,(k[i>>2]|0)-11|0)|0;k[l>>2]=c;break}k[l>>2]=1}while(0);k[h>>2]=(k[h>>2]|0)+1}if(k[l>>2]|0){Xq(k[j>>2]|0)|0;k[j>>2]=0}k[k[g>>2]>>2]=k[j>>2];k[d>>2]=k[l>>2];n=k[d>>2]|0;r=o;return n|0}function Xq(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return 0}k[c>>2]=k[b>>2];Ud(k[(k[c>>2]|0)+12>>2]|0);Ud(k[c>>2]|0);r=d;return 0}function Yq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=Sd(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[e>>2]=7;d=k[e>>2]|0;r=j;return d|0}d=k[i>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){d=uR(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=d;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;d=k[e>>2]|0;r=j;return d|0}function Zq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function _q(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=r;r=r+80|0;o=A+64|0;B=A+60|0;p=A+56|0;q=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;j=A+32|0;g=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;n=A+8|0;h=A+4|0;m=A;k[B>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=e;k[u>>2]=f;k[v>>2]=k[B>>2];k[j>>2]=k[k[v>>2]>>2];k[g>>2]=0;k[w>>2]=(k[(k[v>>2]|0)+4>>2]|0)+(k[(k[v>>2]|0)+12>>2]|0);k[z>>2]=k[w>>2];k[n>>2]=(k[(k[v>>2]|0)+4>>2]|0)+(k[(k[v>>2]|0)+8>>2]|0);while(1){if((k[w>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=l[B>>0];do if((k[g>>2]|0)>=192){k[g>>2]=l[25563+((k[g>>2]|0)-192)>>0];while(1){if((k[w>>2]|0)!=(k[n>>2]|0))a=((l[k[w>>2]>>0]|0)&192|0)==128;else a=0;b=k[g>>2]|0;if(!a)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=(b<<6)+(63&(l[B>>0]|0))}if(((b|0)>=128?(k[g>>2]&-2048|0)!=55296:0)?(k[g>>2]&-2|0)!=65534:0)break;k[g>>2]=65533}while(0);if($q(k[j>>2]|0,k[g>>2]|0)|0)break;k[z>>2]=k[w>>2]}if((k[z>>2]|0)>>>0>=(k[n>>2]|0)>>>0){k[o>>2]=101;B=k[o>>2]|0;r=A;return B|0}k[y>>2]=k[(k[v>>2]|0)+20>>2];while(1){if(((k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0)|0)>=((k[(k[v>>2]|0)+24>>2]|0)-4|0)){B=Vd(k[(k[v>>2]|0)+20>>2]|0,(k[(k[v>>2]|0)+24>>2]|0)+64|0)|0;k[m>>2]=B;if(!(k[m>>2]|0)){a=20;break}k[y>>2]=(k[m>>2]|0)+((k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0));k[(k[v>>2]|0)+20>>2]=k[m>>2];B=(k[v>>2]|0)+24|0;k[B>>2]=(k[B>>2]|0)+64}k[x>>2]=k[w>>2];B=ar(k[g>>2]|0,k[(k[j>>2]|0)+4>>2]|0)|0;k[h>>2]=B;do if(k[h>>2]|0){a=k[h>>2]|0;if((k[h>>2]|0)<128){B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=a;break}b=k[h>>2]|0;if((a|0)<2048){c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=192+(b>>6&31);c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}a=k[h>>2]|0;if((b|0)<65536){B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=224+(a>>12&15);B=128+(k[h>>2]>>6&63)&255;c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=B;c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}else{c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=240+(a>>18&7);c=128+(k[h>>2]>>12&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;B=128+(k[h>>2]>>6&63)&255;c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=B;c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}}while(0);if((k[w>>2]|0)>>>0>=(k[n>>2]|0)>>>0){a=43;break}B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=l[B>>0];do if((k[g>>2]|0)>=192){k[g>>2]=l[25563+((k[g>>2]|0)-192)>>0];while(1){if((k[w>>2]|0)!=(k[n>>2]|0))b=((l[k[w>>2]>>0]|0)&192|0)==128;else b=0;a=k[g>>2]|0;if(!b)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=(a<<6)+(63&(l[B>>0]|0))}if(((a|0)>=128?(k[g>>2]&-2048|0)!=55296:0)?(k[g>>2]&-2|0)!=65534:0)break;k[g>>2]=65533}while(0);if($q(k[j>>2]|0,k[g>>2]|0)|0)continue;if(!(br(k[g>>2]|0)|0)){a=43;break}}if((a|0)==20){k[o>>2]=7;B=k[o>>2]|0;r=A;return B|0}else if((a|0)==43){k[(k[v>>2]|0)+12>>2]=(k[w>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);k[k[p>>2]>>2]=k[(k[v>>2]|0)+20>>2];k[k[q>>2]>>2]=(k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0);k[k[s>>2]>>2]=(k[z>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);k[k[t>>2]>>2]=(k[x>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);z=(k[v>>2]|0)+16|0;B=k[z>>2]|0;k[z>>2]=B+1;k[k[u>>2]>>2]=B;k[o>>2]=0;B=k[o>>2]|0;r=A;return B|0}return 0}function $q(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=dr(k[d>>2]|0)|0;a=a^(er(k[e>>2]|0,k[d>>2]|0)|0);r=c;return a|0}function ar(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0;o=r;r=r+48|0;c=o+32|0;d=o+28|0;n=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;i=o+8|0;e=o+4|0;j=o;k[c>>2]=a;k[d>>2]=b;k[n>>2]=k[c>>2];b=k[c>>2]|0;if((k[c>>2]|0)<128){if(!((b|0)>=65&(k[c>>2]|0)<=90)){n=k[n>>2]|0;r=o;return n|0}k[n>>2]=(k[c>>2]|0)+32;n=k[n>>2]|0;r=o;return n|0}if((b|0)>=65536){if(!((k[c>>2]|0)>=66560&(k[c>>2]|0)<66600)){n=k[n>>2]|0;r=o;return n|0}k[n>>2]=(k[c>>2]|0)+40;n=k[n>>2]|0;r=o;return n|0}k[f>>2]=162;k[g>>2]=0;k[h>>2]=-1;while(1){if((k[f>>2]|0)<(k[g>>2]|0))break;k[i>>2]=((k[f>>2]|0)+(k[g>>2]|0)|0)/2|0;k[e>>2]=(k[c>>2]|0)-(m[9798+(k[i>>2]<<2)>>1]|0);b=k[i>>2]|0;if((k[e>>2]|0)>=0){k[h>>2]=b;k[g>>2]=(k[i>>2]|0)+1;continue}else{k[f>>2]=b-1;continue}}if(((k[h>>2]|0)>=0?(k[j>>2]=9798+(k[h>>2]<<2),(k[c>>2]|0)<((m[k[j>>2]>>1]|0)+(l[(k[j>>2]|0)+3>>0]|0)|0)):0)?0==(1&(l[(k[j>>2]|0)+2>>0]|0)&((m[k[j>>2]>>1]|0)^k[c>>2])|0):0)k[n>>2]=(k[c>>2]|0)+(m[10450+((l[(k[j>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(k[d>>2]|0)){n=k[n>>2]|0;r=o;return n|0}j=cr(k[n>>2]|0)|0;k[n>>2]=j;n=k[n>>2]|0;r=o;return n|0}function br(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[c>>2]=134389727;k[d>>2]=221688;if((k[b>>2]|0)<768|(k[b>>2]|0)>817){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}if((k[b>>2]|0)<800)b=k[c>>2]&1<<(k[b>>2]|0)-768;else b=k[d>>2]&1<<(k[b>>2]|0)-768-32;k[e>>2]=b;e=k[e>>2]|0;r=f;return e|0}function cr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0;o=r;r=r+336|0;d=o+20|0;f=o+24|0;e=o+226|0;n=o+16|0;j=o+12|0;g=o+8|0;h=o+4|0;l=o;k[d>>2]=a;bS(f|0,10604,202)|0;a=e;b=25627;c=a+101|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));k[n>>2]=k[d>>2]<<3|7;k[j>>2]=0;k[g>>2]=100;k[h>>2]=0;while(1){if((k[g>>2]|0)<(k[h>>2]|0))break;k[l>>2]=((k[g>>2]|0)+(k[h>>2]|0)|0)/2|0;a=k[l>>2]|0;if((k[n>>2]|0)>>>0>=(m[f+(k[l>>2]<<1)>>1]|0)>>>0){k[j>>2]=a;k[h>>2]=(k[l>>2]|0)+1;continue}else{k[g>>2]=a-1;continue}}if((k[d>>2]|0)>((m[f+(k[j>>2]<<1)>>1]>>3)+(m[f+(k[j>>2]<<1)>>1]&7)|0)){n=k[d>>2]|0;r=o;return n|0}else{n=i[e+(k[j>>2]|0)>>0]|0;r=o;return n|0}return 0}function dr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;h=i+16|0;f=i+12|0;d=i+8|0;e=i+4|0;g=i;k[c>>2]=a;a=k[c>>2]|0;if((k[c>>2]|0)<128){k[b>>2]=(k[2384+(a>>5<<2)>>2]&1<<(k[c>>2]&31)|0)==0&1;h=k[b>>2]|0;r=i;return h|0}if((a|0)>=4194304){k[b>>2]=1;h=k[b>>2]|0;r=i;return h|0}k[h>>2]=k[c>>2]<<10|1023;k[f>>2]=0;k[d>>2]=405;k[e>>2]=0;while(1){if((k[d>>2]|0)<(k[e>>2]|0))break;k[g>>2]=((k[d>>2]|0)+(k[e>>2]|0)|0)/2|0;a=k[g>>2]|0;if((k[h>>2]|0)>>>0>=(k[2400+(k[g>>2]<<2)>>2]|0)>>>0){k[f>>2]=a;k[e>>2]=(k[g>>2]|0)+1;continue}else{k[d>>2]=a-1;continue}}k[b>>2]=(k[c>>2]|0)>>>0>=(((k[2400+(k[f>>2]<<2)>>2]|0)>>>10)+(k[2400+(k[f>>2]<<2)>>2]&1023)|0)>>>0&1;h=k[b>>2]|0;r=i;return h|0}function er(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+24|0;c=j+20|0;e=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[e>>2]=b;a:do if((k[(k[c>>2]|0)+8>>2]|0)>0){k[f>>2]=k[(k[c>>2]|0)+12>>2];k[h>>2]=0;k[g>>2]=(k[(k[c>>2]|0)+8>>2]|0)-1;while(1){if((k[g>>2]|0)<(k[h>>2]|0))break a;k[i>>2]=((k[g>>2]|0)+(k[h>>2]|0)|0)/2|0;if((k[e>>2]|0)==(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0))break;c=k[i>>2]|0;if((k[e>>2]|0)>(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0)){k[h>>2]=c+1;continue}else{k[g>>2]=c-1;continue}}k[d>>2]=1;i=k[d>>2]|0;r=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;r=j;return i|0}function fr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;g=t+48|0;h=t+44|0;i=t+40|0;e=t+36|0;u=t+32|0;q=t+28|0;s=t+24|0;n=t+20|0;f=t+16|0;j=t+12|0;p=t+8|0;m=t+4|0;o=t;k[h>>2]=a;k[i>>2]=b;k[e>>2]=c;k[u>>2]=d;k[q>>2]=k[e>>2];k[s>>2]=(k[q>>2]|0)+(k[u>>2]|0);k[f>>2]=0;while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=l[u>>0];do if((k[n>>2]|0)>=192){k[n>>2]=l[25563+((k[n>>2]|0)-192)>>0];while(1){if((k[q>>2]|0)!=(k[s>>2]|0))b=((l[k[q>>2]>>0]|0)&192|0)==128;else b=0;d=k[n>>2]|0;if(!b)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=(d<<6)+(63&(l[u>>0]|0))}if(((d|0)>=128?(k[n>>2]&-2048|0)!=55296:0)?(k[n>>2]&-2|0)!=65534:0)break;k[n>>2]=65533}while(0);u=dr(k[n>>2]|0)|0;if((u|0)==(k[i>>2]|0))continue;if(br(k[n>>2]|0)|0)continue;k[f>>2]=(k[f>>2]|0)+1}if(k[f>>2]|0){u=Vd(k[(k[h>>2]|0)+12>>2]|0,(k[(k[h>>2]|0)+8>>2]|0)+(k[f>>2]|0)<<2)|0;k[j>>2]=u;if(!(k[j>>2]|0)){k[g>>2]=7;u=k[g>>2]|0;r=t;return u|0}k[p>>2]=k[(k[h>>2]|0)+8>>2];k[q>>2]=k[e>>2];while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=l[u>>0];do if((k[n>>2]|0)>=192){k[n>>2]=l[25563+((k[n>>2]|0)-192)>>0];while(1){if((k[q>>2]|0)!=(k[s>>2]|0))b=((l[k[q>>2]>>0]|0)&192|0)==128;else b=0;d=k[n>>2]|0;if(!b)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=(d<<6)+(63&(l[u>>0]|0))}if(((d|0)>=128?(k[n>>2]&-2048|0)!=55296:0)?(k[n>>2]&-2|0)!=65534:0)break;k[n>>2]=65533}while(0);u=dr(k[n>>2]|0)|0;if((u|0)==(k[i>>2]|0))continue;if(br(k[n>>2]|0)|0)continue;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;if((k[(k[j>>2]|0)+(k[m>>2]<<2)>>2]|0)>=(k[n>>2]|0))break;k[m>>2]=(k[m>>2]|0)+1}k[o>>2]=k[p>>2];while(1){if((k[o>>2]|0)<=(k[m>>2]|0))break;k[(k[j>>2]|0)+(k[o>>2]<<2)>>2]=k[(k[j>>2]|0)+((k[o>>2]|0)-1<<2)>>2];k[o>>2]=(k[o>>2]|0)+-1}k[(k[j>>2]|0)+(k[m>>2]<<2)>>2]=k[n>>2];k[p>>2]=(k[p>>2]|0)+1}k[(k[h>>2]|0)+12>>2]=k[j>>2];k[(k[h>>2]|0)+8>>2]=k[p>>2]}k[g>>2]=0;u=k[g>>2]|0;r=t;return u|0}function gr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[(k[h>>2]|0)+4>>2];wg(k[h>>2]|0);if(!((k[d>>2]|0)!=0?(k[(k[f>>2]|0)+48>>2]|0)==0:0)){h=k[f>>2]|0;h=h+48|0;h=k[h>>2]|0;r=g;return h|0}h=k[d>>2]|0;h=Ch(0,h,((h|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+48>>2]=h;k[(k[f>>2]|0)+52>>2]=k[e>>2];h=k[f>>2]|0;h=h+48|0;h=k[h>>2]|0;r=g;return h|0}function hr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+68>>0]|0|0)==2|0}function ir(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=r;r=r+16|0;j=e+12|0;h=e+8|0;g=e+4|0;f=e;k[j>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;i[k[f>>2]>>0]=0;d=ec[k[(k[j>>2]|0)+36>>2]&255](k[j>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return d|0}function jr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=cu(k[b>>2]|0)|0;k[c>>2]=a;if(!(i[k[c>>2]>>0]|0)){r=d;return}i[k[c>>2]>>0]=0;if((du(k[b>>2]|0)|0)<=1){r=d;return}eu(k[c>>2]|0)|0;r=d;return}function kr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=r;r=r+112|0;q=K+96|0;s=K+92|0;t=K+88|0;u=K+84|0;v=K+80|0;L=K+76|0;w=K+72|0;x=K+68|0;m=K+64|0;C=K+60|0;D=K+56|0;G=K+52|0;A=K+48|0;E=K+44|0;h=K+40|0;I=K+36|0;B=K+32|0;H=K+28|0;n=K+24|0;F=K+20|0;p=K+16|0;l=K+12|0;o=K+8|0;y=K+4|0;z=K;k[s>>2]=a;k[t>>2]=b;k[u>>2]=c;k[v>>2]=d;k[L>>2]=e;k[w>>2]=f;k[x>>2]=g;k[C>>2]=0;k[D>>2]=0;k[G>>2]=0;k[A>>2]=0;k[E>>2]=0;k[I>>2]=0;k[B>>2]=0;k[H>>2]=(k[L>>2]&1|0)==0&1;c=Ct()|0;k[n>>2]=c;k[F>>2]=4096;k[p>>2]=0;k[l>>2]=0;c=(Dt(k[s>>2]|0)|0)+7&-8;k[h>>2]=c;k[k[t>>2]>>2]=0;do if(((k[L>>2]&2|0)!=0?(k[A>>2]=1,(k[u>>2]|0)!=0):0)?(i[k[u>>2]>>0]|0)!=0:0){L=Ah(0,k[u>>2]|0)|0;k[I>>2]=L;if(k[I>>2]|0){L=Tf(k[I>>2]|0)|0;k[B>>2]=L;k[u>>2]=0;break}k[q>>2]=7;L=k[q>>2]|0;r=K;return L|0}while(0);if((k[u>>2]|0)!=0?(i[k[u>>2]>>0]|0)!=0:0){k[B>>2]=(k[(k[s>>2]|0)+8>>2]|0)+1;L=k[B>>2]<<1;L=Mh(0,L,((L|0)<0)<<31>>31)|0;k[I>>2]=L;if(!(k[I>>2]|0)){k[q>>2]=7;L=k[q>>2]|0;r=K;return L|0}i[k[I>>2]>>0]=0;L=ir(k[s>>2]|0,k[u>>2]|0,k[B>>2]|0,k[I>>2]|0)|0;k[D>>2]=L;L=Tf(k[I>>2]|0)|0;k[B>>2]=L;L=(Tf(k[u>>2]|0)|0)+1|0;L=(k[u>>2]|0)+L|0;k[p>>2]=L;k[o>>2]=L;while(1){e=k[o>>2]|0;if(!(i[k[o>>2]>>0]|0))break;L=(Tf(e)|0)+1|0;k[o>>2]=(k[o>>2]|0)+L;L=(Tf(k[o>>2]|0)|0)+1|0;k[o>>2]=(k[o>>2]|0)+L}k[l>>2]=e+1-(k[p>>2]|0);if((k[D>>2]|0)==0?((k[B>>2]|0)+8|0)>(k[(k[s>>2]|0)+8>>2]|0):0){L=yt(51006)|0;k[D>>2]=L}if(k[D>>2]|0){bg(0,k[I>>2]|0);k[q>>2]=k[D>>2];L=k[q>>2]|0;r=K;return L|0}}L=ug(224+((k[n>>2]|0)+7&-8)+((k[(k[s>>2]|0)+4>>2]|0)+7&-8)+(k[h>>2]<<1)+(k[B>>2]|0)+1+(k[l>>2]|0)+(k[B>>2]|0)+8+2+(k[B>>2]|0)+4+2|0,0)|0;k[m>>2]=L;if(!(k[m>>2]|0)){bg(0,k[I>>2]|0);k[q>>2]=7;L=k[q>>2]|0;r=K;return L|0}k[C>>2]=k[m>>2];L=(k[m>>2]|0)+224|0;k[m>>2]=L;k[(k[C>>2]|0)+212>>2]=L;L=(k[m>>2]|0)+((k[n>>2]|0)+7&-8)|0;k[m>>2]=L;k[(k[C>>2]|0)+64>>2]=L;L=(k[m>>2]|0)+((k[(k[s>>2]|0)+4>>2]|0)+7&-8)|0;k[m>>2]=L;k[(k[C>>2]|0)+72>>2]=L;L=(k[m>>2]|0)+(k[h>>2]|0)|0;k[m>>2]=L;k[(k[C>>2]|0)+68>>2]=L;L=(k[m>>2]|0)+(k[h>>2]|0)|0;k[m>>2]=L;k[(k[C>>2]|0)+176>>2]=L;if(k[I>>2]|0){L=(k[m>>2]|0)+((k[B>>2]|0)+1+(k[l>>2]|0))|0;k[m>>2]=L;k[(k[C>>2]|0)+180>>2]=L;bS(k[(k[C>>2]|0)+176>>2]|0,k[I>>2]|0,k[B>>2]|0)|0;if(k[l>>2]|0)bS((k[(k[C>>2]|0)+176>>2]|0)+((k[B>>2]|0)+1)|0,k[p>>2]|0,k[l>>2]|0)|0;bS(k[(k[C>>2]|0)+180>>2]|0,k[I>>2]|0,k[B>>2]|0)|0;e=(k[(k[C>>2]|0)+180>>2]|0)+(k[B>>2]|0)|0;d=25989;a=e+10|0;do{i[e>>0]=i[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(a|0));k[(k[C>>2]|0)+220>>2]=(k[(k[C>>2]|0)+180>>2]|0)+((k[B>>2]|0)+8+1);bS(k[(k[C>>2]|0)+220>>2]|0,k[I>>2]|0,k[B>>2]|0)|0;L=(k[(k[C>>2]|0)+220>>2]|0)+(k[B>>2]|0)|0;i[L>>0]=i[25999]|0;i[L+1>>0]=i[26e3]|0;i[L+2>>0]=i[26001]|0;i[L+3>>0]=i[26002]|0;i[L+4>>0]=i[26003]|0;bg(0,k[I>>2]|0)}k[k[C>>2]>>2]=k[s>>2];k[(k[C>>2]|0)+152>>2]=k[w>>2];do if((k[u>>2]|0)!=0?(i[k[u>>2]>>0]|0)!=0:0){k[y>>2]=0;L=cs(k[s>>2]|0,k[(k[C>>2]|0)+176>>2]|0,k[(k[C>>2]|0)+64>>2]|0,k[w>>2]|0,y)|0;k[D>>2]=L;k[E>>2]=k[y>>2]&1;if(!(k[D>>2]|0)){L=ls(k[(k[C>>2]|0)+64>>2]|0)|0;k[z>>2]=L;do if((k[E>>2]|0)==0?(ks(k[C>>2]|0),(k[F>>2]|0)>>>0<(k[(k[C>>2]|0)+156>>2]|0)>>>0):0)if((k[(k[C>>2]|0)+156>>2]|0)>>>0>8192){k[F>>2]=8192;break}else{k[F>>2]=k[(k[C>>2]|0)+156>>2];break}while(0);L=(Sf(k[u>>2]|0,26005,0)|0)&255;i[(k[C>>2]|0)+14>>0]=L;if((k[z>>2]&8192|0)==0?(Sf(k[u>>2]|0,26012,0)|0)==0:0)break;k[w>>2]=k[w>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){k[G>>2]=1;i[(k[C>>2]|0)+17>>0]=1;i[(k[C>>2]|0)+18>>0]=4;i[(k[C>>2]|0)+14>>0]=1;k[E>>2]=k[w>>2]&1}if(!(k[D>>2]|0)){L=dj(k[C>>2]|0,F,-1)|0;k[D>>2]=L}if(!(k[D>>2]|0)){k[v>>2]=(k[v>>2]|0)+7&-8;L=Ft(k[F>>2]|0,k[v>>2]|0,((k[A>>2]|0)!=0^1)&1,(k[A>>2]|0)!=0^1?186:0,k[C>>2]|0,k[(k[C>>2]|0)+212>>2]|0)|0;k[D>>2]=L}if(k[D>>2]|0){yr(k[(k[C>>2]|0)+64>>2]|0);jj(k[(k[C>>2]|0)+208>>2]|0);Ud(k[C>>2]|0);k[q>>2]=k[D>>2];L=k[q>>2]|0;r=K;return L|0}i[(k[C>>2]|0)+6>>0]=k[H>>2];k[(k[C>>2]|0)+164>>2]=1073741823;i[(k[C>>2]|0)+13>>0]=k[G>>2];i[(k[C>>2]|0)+4>>0]=k[G>>2];i[(k[C>>2]|0)+19>>0]=i[(k[C>>2]|0)+13>>0]|0;i[(k[C>>2]|0)+16>>0]=k[A>>2];i[(k[C>>2]|0)+15>>0]=k[E>>2];i[(k[C>>2]|0)+7>>0]=i[(k[C>>2]|0)+13>>0]|0;if(!(i[(k[C>>2]|0)+7>>0]|0)){i[(k[C>>2]|0)+8>>0]=1;i[(k[C>>2]|0)+9>>0]=0;i[(k[C>>2]|0)+12>>0]=2;i[(k[C>>2]|0)+11>>0]=34;i[(k[C>>2]|0)+10>>0]=2}j[(k[C>>2]|0)+148>>1]=k[v>>2];L=(k[C>>2]|0)+168|0;k[L>>2]=-1;k[L+4>>2]=-1;ks(k[C>>2]|0);if(k[H>>2]|0){if(k[A>>2]|0)i[(k[C>>2]|0)+5>>0]=4}else i[(k[C>>2]|0)+5>>0]=2;k[(k[C>>2]|0)+204>>2]=k[x>>2];k[k[t>>2]>>2]=k[C>>2];k[q>>2]=0;L=k[q>>2]|0;r=K;return L|0}function lr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;b=f;c=k[b+4>>2]|0;a=(k[e>>2]|0)+136|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;kj(k[e>>2]|0);r=d;return}function mr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;dS(k[f>>2]|0,0,k[e>>2]|0)|0;if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=os(k[(k[d>>2]|0)+64>>2]|0,k[f>>2]|0,k[e>>2]|0,0,0)|0;k[g>>2]=a;k[g>>2]=(k[g>>2]|0)==522?0:a;g=k[g>>2]|0;r=h;return g|0}function nr(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];a=Bt((k[(k[c>>2]|0)+4>>2]|0)+380|0)|0;r=b;return a|0}function or(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;d=f+12|0;h=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;k[(k[d>>2]|0)+184>>2]=k[h>>2];k[(k[d>>2]|0)+188>>2]=k[g>>2];if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){r=f;return}k[e>>2]=(k[d>>2]|0)+184;bt(k[(k[d>>2]|0)+64>>2]|0,15,k[e>>2]|0);r=f;return}function pr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return i[(k[b>>2]|0)+15>>0]|0}function qr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[k[b>>2]>>0]|0)<<24|(l[(k[b>>2]|0)+1>>0]|0)<<16|(l[(k[b>>2]|0)+2>>0]|0)<<8|(l[(k[b>>2]|0)+3>>0]|0)|0}function rr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+208>>2];gk();sr(k[b>>2]|0);i[(k[b>>2]|0)+4>>0]=0;tr(k[(k[b>>2]|0)+216>>2]|0,l[(k[b>>2]|0)+10>>0]|0,k[(k[b>>2]|0)+160>>2]|0,k[c>>2]|0)|0;k[(k[b>>2]|0)+216>>2]=0;hj(k[b>>2]|0);a=k[b>>2]|0;if(i[(k[b>>2]|0)+16>>0]|0)ur(a);else{if(k[k[a+68>>2]>>2]|0){a=k[b>>2]|0;wr(a,vr(k[b>>2]|0)|0)|0}xr(k[b>>2]|0)}hk();yr(k[(k[b>>2]|0)+68>>2]|0);yr(k[(k[b>>2]|0)+64>>2]|0);jj(k[c>>2]|0);zr(k[(k[b>>2]|0)+212>>2]|0);Ud(k[b>>2]|0);r=d;return 0}function sr(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+144>>2];while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+12>>2];Ud(k[b>>2]|0);k[b>>2]=k[c>>2]}r=d;return}function tr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;n=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;if(!(k[e>>2]|0)){d=k[n>>2]|0;r=o;return d|0}k[m>>2]=0;d=$s(k[(k[e>>2]|0)+4>>2]|0,4)|0;k[n>>2]=d;do if(!(k[n>>2]|0)){if(!(l[(k[e>>2]|0)+43>>0]|0))i[(k[e>>2]|0)+43>>0]=1;d=at(k[e>>2]|0,0,0,0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,0)|0;k[n>>2]=d;if(!(k[n>>2]|0)){k[j>>2]=-1;bt(k[(k[e>>2]|0)+4>>2]|0,10,j);if((k[j>>2]|0)!=1){k[m>>2]=1;break}d=(k[e>>2]|0)+16|0;b=k[d+4>>2]|0;if((b|0)>0|(b|0)==0&(k[d>>2]|0)>>>0>=0)ct(k[e>>2]|0,0,0)}}while(0);dt(k[e>>2]|0,k[m>>2]|0);yr(k[(k[e>>2]|0)+8>>2]|0);if(k[m>>2]|0){gk();Hr(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+108>>2]|0,0)|0;hk()}Ud(k[(k[e>>2]|0)+32>>2]|0);Ud(k[e>>2]|0);d=k[n>>2]|0;r=o;return d|0}function ur(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;d=e+8|0;c=e+4|0;b=e;k[d>>2]=a;zj(k[(k[d>>2]|0)+60>>2]|0);k[(k[d>>2]|0)+60>>2]=0;Cr(k[d>>2]|0);f=(Lr(k[d>>2]|0)|0)!=0;a=k[d>>2]|0;if(!f){if(!(i[a+4>>0]|0)){if(k[k[(k[d>>2]|0)+64>>2]>>2]|0)a=ls(k[(k[d>>2]|0)+64>>2]|0)|0;else a=0;k[b>>2]=a;if(!(0!=(k[b>>2]&2048|0)?1==(l[(k[d>>2]|0)+5>>0]&5|0):0))yr(k[(k[d>>2]|0)+68>>2]|0);f=Pr(k[d>>2]|0,0)|0;k[c>>2]=f;if((k[c>>2]|0)!=0?(l[(k[d>>2]|0)+17>>0]|0)==6:0)i[(k[d>>2]|0)+18>>0]=5;i[(k[d>>2]|0)+19>>0]=0;i[(k[d>>2]|0)+17>>0]=0}}else{_s(k[a+216>>2]|0);i[(k[d>>2]|0)+17>>0]=0}if(!(k[(k[d>>2]|0)+44>>2]|0)){f=k[d>>2]|0;f=f+80|0;c=f;k[c>>2]=0;f=f+4|0;k[f>>2]=0;f=k[d>>2]|0;f=f+88|0;c=f;k[c>>2]=0;f=f+4|0;k[f>>2]=0;f=k[d>>2]|0;f=f+20|0;i[f>>0]=0;r=e;return}a=k[d>>2]|0;if(!(l[(k[d>>2]|0)+13>>0]|0)){hj(a);i[(k[d>>2]|0)+19>>0]=0;i[(k[d>>2]|0)+17>>0]=0}else i[(k[d>>2]|0)+17>>0]=(k[k[a+68>>2]>>2]|0)!=0?0:1;k[(k[d>>2]|0)+44>>2]=0;f=k[d>>2]|0;f=f+80|0;c=f;k[c>>2]=0;f=f+4|0;k[f>>2]=0;f=k[d>>2]|0;f=f+88|0;c=f;k[c>>2]=0;f=f+4|0;k[f>>2]=0;f=k[d>>2]|0;f=f+20|0;i[f>>0]=0;r=e;return}function vr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(i[(k[b>>2]|0)+7>>0]|0)){a=Fr(k[(k[b>>2]|0)+68>>2]|0,2)|0;k[c>>2]=a}if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}a=fj(k[(k[b>>2]|0)+68>>2]|0,(k[b>>2]|0)+88|0)|0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function wr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;d=e+4|0;f=e;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[d>>2]&255;if(!((k[f>>2]|0)==13|(k[f>>2]|0)==10)){f=k[d>>2]|0;r=e;return f|0}k[(k[c>>2]|0)+44>>2]=k[d>>2];i[(k[c>>2]|0)+17>>0]=6;f=k[d>>2]|0;r=e;return f|0}function xr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if((l[(k[b>>2]|0)+17>>0]|0)!=6?(l[(k[b>>2]|0)+17>>0]|0)!=0:0){if((l[(k[b>>2]|0)+17>>0]|0)>=2){gk();Ar(k[b>>2]|0)|0;hk();break}if(!(i[(k[b>>2]|0)+4>>0]|0))Br(k[b>>2]|0,0,0)|0}while(0);ur(k[b>>2]|0);r=c;return}function yr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[k[b>>2]>>2]|0)){r=c;return}bc[k[(k[k[b>>2]>>2]|0)+4>>2]&255](k[b>>2]|0)|0;k[k[b>>2]>>2]=0;r=c;return}function zr(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[160>>2]&255](k[(k[c>>2]|0)+44>>2]|0);r=b;return}function Ar(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;e=g+8|0;f=g+4|0;d=g;k[c>>2]=a;k[e>>2]=0;a=k[c>>2]|0;if((l[(k[c>>2]|0)+17>>0]|0)==6){k[b>>2]=k[a+44>>2];f=k[b>>2]|0;r=g;return f|0}if((l[a+17>>0]|0)<=1){k[b>>2]=0;f=k[b>>2]|0;r=g;return f|0}h=(Lr(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;do if(h){h=ds(a,2,-1)|0;k[e>>2]=h;h=Br(k[c>>2]|0,l[(k[c>>2]|0)+20>>0]|0,0)|0;k[f>>2]=h;if(!(k[e>>2]|0))k[e>>2]=k[f>>2]}else{if((k[k[a+68>>2]>>2]|0)!=0?(l[(k[c>>2]|0)+17>>0]|0)!=2:0){h=es(k[c>>2]|0,0)|0;k[e>>2]=h;break}k[d>>2]=l[(k[c>>2]|0)+17>>0];h=Br(k[c>>2]|0,0,0)|0;k[e>>2]=h;if((k[d>>2]|0)>2?(i[(k[c>>2]|0)+16>>0]|0)==0:0){k[(k[c>>2]|0)+44>>2]=4;i[(k[c>>2]|0)+17>>0]=6;k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}}while(0);h=wr(k[c>>2]|0,k[e>>2]|0)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}function Br(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;d=n+16|0;h=n+12|0;j=n+8|0;m=n+4|0;e=n;k[g>>2]=a;k[d>>2]=b;k[h>>2]=c;k[j>>2]=0;k[m>>2]=0;if((l[(k[g>>2]|0)+17>>0]|0)<2?(l[(k[g>>2]|0)+18>>0]|0)<2:0){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}Cr(k[g>>2]|0);a:do if(k[k[(k[g>>2]|0)+68>>2]>>2]|0){a=(Dr(k[(k[g>>2]|0)+68>>2]|0)|0)!=0;c=k[g>>2]|0;if(a){yr(k[c+68>>2]|0);break}b=k[g>>2]|0;if((l[c+5>>0]|0)==3){e=b+80|0;if(!((k[e>>2]|0)==0&(k[e+4>>2]|0)==0)){e=Er(k[(k[g>>2]|0)+68>>2]|0,0,0)|0;k[j>>2]=e;if((k[j>>2]|0)==0?(l[(k[g>>2]|0)+8>>0]|0)!=0:0){e=Fr(k[(k[g>>2]|0)+68>>2]|0,l[(k[g>>2]|0)+12>>0]|0)|0;k[j>>2]=e}}else k[j>>2]=0;e=(k[g>>2]|0)+80|0;k[e>>2]=0;k[e+4>>2]=0;break}do if((l[b+5>>0]|0)!=1){if((l[(k[g>>2]|0)+4>>0]|0)!=0?(l[(k[g>>2]|0)+5>>0]|0)!=5:0)break;k[e>>2]=((i[(k[g>>2]|0)+13>>0]|0)!=0^1)&1;yr(k[(k[g>>2]|0)+68>>2]|0);if(!(k[e>>2]|0))break a;e=Hr(k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+180>>2]|0,l[(k[g>>2]|0)+9>>0]|0)|0;k[j>>2]=e;break a}while(0);if(k[d>>2]|0)c=1;else c=(l[(k[g>>2]|0)+13>>0]|0)!=0;e=Gr(k[g>>2]|0,c&1)|0;k[j>>2]=e;e=(k[g>>2]|0)+80|0;k[e>>2]=0;k[e+4>>2]=0}while(0);zj(k[(k[g>>2]|0)+60>>2]|0);k[(k[g>>2]|0)+60>>2]=0;k[(k[g>>2]|0)+48>>2]=0;if(!(k[j>>2]|0)){e=(Ir(k[g>>2]|0,k[h>>2]|0)|0)!=0;c=k[(k[g>>2]|0)+212>>2]|0;if(e)Jr(c);else Kr(c);pj(k[(k[g>>2]|0)+212>>2]|0,k[(k[g>>2]|0)+28>>2]|0)}if(!(Lr(k[g>>2]|0)|0)){if((k[j>>2]|0)==0&(k[h>>2]|0)!=0?(k[(k[g>>2]|0)+36>>2]|0)>>>0>(k[(k[g>>2]|0)+28>>2]|0)>>>0:0){e=Nr(k[g>>2]|0,k[(k[g>>2]|0)+28>>2]|0)|0;k[j>>2]=e}}else{e=Mr(k[(k[g>>2]|0)+216>>2]|0)|0;k[m>>2]=e}if((k[j>>2]|0)==0&(k[h>>2]|0)!=0?(k[k[(k[g>>2]|0)+64>>2]>>2]|0)!=0:0){h=Ki(k[(k[g>>2]|0)+64>>2]|0,22,0)|0;k[j>>2]=h;k[j>>2]=(k[j>>2]|0)==12?0:h}do if(!(i[(k[g>>2]|0)+4>>0]|0)){if((Lr(k[g>>2]|0)|0)!=0?(Or(k[(k[g>>2]|0)+216>>2]|0,0)|0)==0:0)break;h=Pr(k[g>>2]|0,1)|0;k[m>>2]=h;i[(k[g>>2]|0)+19>>0]=0}while(0);i[(k[g>>2]|0)+17>>0]=1;i[(k[g>>2]|0)+20>>0]=0;k[f>>2]=(k[j>>2]|0)==0?k[m>>2]|0:k[j>>2]|0;m=k[f>>2]|0;r=n;return m|0}function Cr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+104>>2]|0))break;zj(k[(k[(k[b>>2]|0)+100>>2]|0)+((k[c>>2]|0)*48|0)+16>>2]|0);k[c>>2]=(k[c>>2]|0)+1}if(!((i[(k[b>>2]|0)+4>>0]|0)!=0?(Dr(k[(k[b>>2]|0)+72>>2]|0)|0)==0:0))yr(k[(k[b>>2]|0)+72>>2]|0);Ud(k[(k[b>>2]|0)+100>>2]|0);k[(k[b>>2]|0)+100>>2]=0;k[(k[b>>2]|0)+104>>2]=0;k[(k[b>>2]|0)+56>>2]=0;r=d;return}function Dr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[k[b>>2]>>2]|0)==4028|0}function Er(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;a=Yb[k[(k[k[e>>2]>>2]|0)+16>>2]&255](k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=d;return a|0}function Fr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[k[e>>2]>>2]|0)+20>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function Gr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;c=h+24|0;d=h+20|0;f=h+16|0;e=h+8|0;g=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;a=(k[c>>2]|0)+80|0;if(!((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)){g=k[f>>2]|0;r=h;return g|0}j=(k[c>>2]|0)+168|0;b=k[j+4>>2]|0;a=e;k[a>>2]=k[j>>2];k[a+4>>2]=b;a=e;b=k[(k[c>>2]|0)+68>>2]|0;if((k[d>>2]|0)!=0|(k[a>>2]|0)==0&(k[a+4>>2]|0)==0){j=Er(b,0,0)|0;k[f>>2]=j}else{j=Sg(b,25846,28,0,0)|0;k[f>>2]=j}if((k[f>>2]|0)==0?(i[(k[c>>2]|0)+7>>0]|0)==0:0){j=Fr(k[(k[c>>2]|0)+68>>2]|0,16|l[(k[c>>2]|0)+12>>0])|0;k[f>>2]=j}j=e;d=k[j+4>>2]|0;if(!((k[f>>2]|0)==0&((d|0)>0|(d|0)==0&(k[j>>2]|0)>>>0>0))){j=k[f>>2]|0;r=h;return j|0}j=fj(k[(k[c>>2]|0)+68>>2]|0,g)|0;k[f>>2]=j;if(k[f>>2]|0){j=k[f>>2]|0;r=h;return j|0}a=k[g+4>>2]|0;j=e;d=k[j+4>>2]|0;if(!((a|0)>(d|0)|((a|0)==(d|0)?(k[g>>2]|0)>>>0>(k[j>>2]|0)>>>0:0))){j=k[f>>2]|0;r=h;return j|0}j=e;j=Er(k[(k[c>>2]|0)+68>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;r=h;return j|0}function Hr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;b=Yb[k[(k[g>>2]|0)+28>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function Ir(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;do if(l[(k[d>>2]|0)+13>>0]|0){if(!(k[e>>2]|0)){k[c>>2]=0;break}if(k[k[(k[d>>2]|0)+64>>2]>>2]|0){a=(Vr(k[(k[d>>2]|0)+212>>2]|0)|0)>=25&1;k[c>>2]=a;break}else{k[c>>2]=0;break}}else k[c>>2]=1;while(0);r=f;return k[c>>2]|0}function Jr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;while(1){a=k[k[b>>2]>>2]|0;k[c>>2]=a;if(!a)break;qj(k[c>>2]|0)}r=d;return}function Kr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-13;k[c>>2]=k[(k[c>>2]|0)+32>>2]}k[(k[b>>2]|0)+8>>2]=k[(k[b>>2]|0)+4>>2];r=d;return}function Lr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[(k[b>>2]|0)+216>>2]|0)!=0|0}function Mr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(i[(k[b>>2]|0)+44>>0]|0)){r=c;return 0}Ur(k[b>>2]|0,0,1);i[(k[b>>2]|0)+44>>0]=0;k[(k[b>>2]|0)+104>>2]=0;i[(k[b>>2]|0)+47>>0]=0;r=c;return 0}function Nr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;j=r;r=r+48|0;c=j+32|0;d=j+28|0;h=j+24|0;e=j+8|0;f=j;i=j+20|0;g=j+16|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=0;if(!(k[k[(k[c>>2]|0)+64>>2]>>2]|0)){i=k[h>>2]|0;r=j;return i|0}if((l[(k[c>>2]|0)+17>>0]|0|0)<4?(l[(k[c>>2]|0)+17>>0]|0|0)!=0:0){i=k[h>>2]|0;r=j;return i|0}k[i>>2]=k[(k[c>>2]|0)+160>>2];b=fj(k[(k[c>>2]|0)+64>>2]|0,e)|0;k[h>>2]=b;b=k[i>>2]|0;b=kS(b|0,((b|0)<0)<<31>>31|0,k[d>>2]|0,0)|0;a=f;k[a>>2]=b;k[a+4>>2]=L;if(k[h>>2]|0){i=k[h>>2]|0;r=j;return i|0}b=e;a=f;if(!((k[b>>2]|0)!=(k[a>>2]|0)?1:(k[b+4>>2]|0)!=(k[a+4>>2]|0))){i=k[h>>2]|0;r=j;return i|0}b=e;n=k[b+4>>2]|0;a=f;m=k[a+4>>2]|0;if(!((n|0)>(m|0)|((n|0)==(m|0)?(k[b>>2]|0)>>>0>(k[a>>2]|0)>>>0:0))){b=e;m=k[i>>2]|0;m=$R(k[b>>2]|0,k[b+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;b=L;n=f;a=k[n+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?m>>>0<=(k[n>>2]|0)>>>0:0)){k[g>>2]=k[(k[c>>2]|0)+208>>2];dS(k[g>>2]|0,0,k[i>>2]|0)|0;a=k[(k[c>>2]|0)+64>>2]|0;g=k[g>>2]|0;m=k[i>>2]|0;n=k[i>>2]|0;n=_R(k[f>>2]|0,k[f+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;n=Sg(a,g,m,n,L)|0;k[h>>2]=n}}else{n=f;n=Er(k[(k[c>>2]|0)+64>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[h>>2]=n}if(k[h>>2]|0){n=k[h>>2]|0;r=j;return n|0}k[(k[c>>2]|0)+36>>2]=k[d>>2];n=k[h>>2]|0;r=j;return n|0}function Or(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=k[c>>2]|0;if((k[d>>2]|0)>0){Sr(b,3+(j[(k[c>>2]|0)+40>>1]|0)|0);i[(k[c>>2]|0)+43>>0]=1;k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else{k[e>>2]=(l[b+43>>0]|0)==0&1;e=k[e>>2]|0;r=f;return e|0}}if(!(i[(k[c>>2]|0)+43>>0]|0)){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+43>>0]=0;if(Rr(k[c>>2]|0,3+(j[(k[c>>2]|0)+40>>1]|0)|0)|0)i[(k[c>>2]|0)+43>>0]=1;k[e>>2]=(l[(k[c>>2]|0)+43>>0]|0)==0&1;e=k[e>>2]|0;r=f;return e|0}function Pr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[k[(k[c>>2]|0)+64>>2]>>2]|0)){e=k[e>>2]|0;r=f;return e|0}if(l[(k[c>>2]|0)+14>>0]|0)b=0;else b=Qr(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if((l[(k[c>>2]|0)+18>>0]|0|0)==5){e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+18>>0]=k[d>>2];e=k[e>>2]|0;r=f;return e|0}function Qr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+32>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function Rr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(i[(k[d>>2]|0)+43>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{a=Tr(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,1,6)|0;k[f>>2]=a;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}return 0}function Sr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[(k[c>>2]|0)+43>>0]|0){r=e;return}Tr(k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0,1,5)|0;r=e;return}function Tr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=ec[k[(k[k[i>>2]>>2]|0)+56>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return b|0}function Ur(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(i[(k[d>>2]|0)+43>>0]|0){r=g;return}Tr(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,k[f>>2]|0,9)|0;r=g;return}function Vr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;d=e+8|0;c=e+4|0;b=e;k[f>>2]=a;k[c>>2]=0;a=mj(k[f>>2]|0)|0;k[b>>2]=a;k[d>>2]=k[k[f>>2]>>2];while(1){if(!(k[d>>2]|0))break;k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=k[(k[d>>2]|0)+32>>2]}if(!(k[b>>2]|0)){f=0;r=e;return f|0}d=k[c>>2]|0;d=kS(d|0,((d|0)<0)<<31>>31|0,100,0)|0;f=k[b>>2]|0;f=iS(d|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;r=e;return f|0}function Wr(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];as(k[c>>2]|0);r=b;return 0}function Xr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=r;r=r+64|0;t=q+52|0;s=q+48|0;g=q+44|0;h=q+8|0;n=q+40|0;p=q+36|0;m=q+32|0;i=q+28|0;o=q+24|0;f=q;j=q+20|0;l=q+16|0;k[t>>2]=a;k[s>>2]=b;k[g>>2]=c;c=h;k[c>>2]=d;k[c+4>>2]=e;k[n>>2]=k[t>>2];k[p>>2]=k[s>>2];k[m>>2]=k[g>>2];c=(k[n>>2]|0)+40|0;a=h;b=h;a:do if(((k[c>>2]|0)!=(k[a>>2]|0)?1:(k[c+4>>2]|0)!=(k[a+4>>2]|0))|(k[b>>2]|0)==0&(k[b+4>>2]|0)==0){t=f;k[t>>2]=0;k[t+4>>2]=0;k[o>>2]=k[(k[n>>2]|0)+16>>2];while(1){if(!(k[o>>2]|0))break a;a=f;s=k[(k[n>>2]|0)+4>>2]|0;s=$R(k[a>>2]|0,k[a+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;a=L;t=h;b=k[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(k[t>>2]|0)>>>0:0)))break a;s=k[(k[n>>2]|0)+4>>2]|0;t=f;s=$R(k[t>>2]|0,k[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=f;k[t>>2]=s;k[t+4>>2]=L;k[o>>2]=k[k[o>>2]>>2]}}else k[o>>2]=k[(k[n>>2]|0)+40+8>>2];while(0);s=h;t=k[(k[n>>2]|0)+4>>2]|0;t=jS(k[s>>2]|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;k[i>>2]=t;do{k[j>>2]=(k[(k[n>>2]|0)+4>>2]|0)-(k[i>>2]|0);if((k[m>>2]|0)<((k[(k[n>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0))d=k[m>>2]|0;else d=(k[(k[n>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0;k[l>>2]=d;bS(k[p>>2]|0,(k[o>>2]|0)+4+(k[i>>2]|0)|0,k[l>>2]|0)|0;k[p>>2]=(k[p>>2]|0)+(k[l>>2]|0);k[m>>2]=(k[m>>2]|0)-(k[j>>2]|0);k[i>>2]=0;if((k[m>>2]|0)<0)break;t=k[k[o>>2]>>2]|0;k[o>>2]=t}while((t|0)!=0&(k[m>>2]|0)>0);if(!(k[o>>2]|0)){m=0;t=0;s=k[n>>2]|0;s=s+40|0;p=s;k[p>>2]=m;s=s+4|0;k[s>>2]=t;s=k[o>>2]|0;t=k[n>>2]|0;t=t+40|0;t=t+8|0;k[t>>2]=s;r=q;return 0}t=h;m=k[g>>2]|0;m=$R(k[t>>2]|0,k[t+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;t=L;s=k[n>>2]|0;s=s+40|0;p=s;k[p>>2]=m;s=s+4|0;k[s>>2]=t;s=k[o>>2]|0;t=k[n>>2]|0;t=t+40|0;t=t+8|0;k[t>>2]=s;r=q;return 0}function Yr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;p=u+52|0;f=u+48|0;g=u+44|0;q=u+40|0;s=u;t=u+36|0;l=u+32|0;o=u+28|0;h=u+24|0;m=u+20|0;i=u+16|0;j=u+12|0;n=u+8|0;k[f>>2]=a;k[g>>2]=b;k[q>>2]=c;b=s;k[b>>2]=d;k[b+4>>2]=e;k[t>>2]=k[f>>2];k[l>>2]=k[q>>2];k[o>>2]=k[g>>2];if((k[(k[t>>2]|0)+8>>2]|0)>0?(e=k[q>>2]|0,a=s,a=$R(e|0,((e|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0,e=L,b=k[(k[t>>2]|0)+8>>2]|0,c=((b|0)<0)<<31>>31,(e|0)>(c|0)|(e|0)==(c|0)&a>>>0>b>>>0):0){t=bs(k[t>>2]|0)|0;k[h>>2]=t;if(!(k[h>>2]|0)){t=s;t=Sg(k[f>>2]|0,k[g>>2]|0,k[q>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;k[h>>2]=t}k[p>>2]=k[h>>2];t=k[p>>2]|0;r=u;return t|0}while(1){if((k[l>>2]|0)<=0){d=18;break}k[m>>2]=k[(k[t>>2]|0)+24+8>>2];h=(k[t>>2]|0)+24|0;b=k[(k[t>>2]|0)+4>>2]|0;b=jS(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[i>>2]=b;if((k[l>>2]|0)<((k[(k[t>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0))d=k[l>>2]|0;else d=(k[(k[t>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0;k[j>>2]=d;if(!(k[i>>2]|0)){b=Sd(12+((k[(k[t>>2]|0)+4>>2]|0)-8)|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){d=12;break}k[k[n>>2]>>2]=0;d=k[n>>2]|0;if(k[m>>2]|0)k[k[m>>2]>>2]=d;else k[(k[t>>2]|0)+16>>2]=d;k[(k[t>>2]|0)+24+8>>2]=k[n>>2]}bS((k[(k[t>>2]|0)+24+8>>2]|0)+4+(k[i>>2]|0)|0,k[o>>2]|0,k[j>>2]|0)|0;k[o>>2]=(k[o>>2]|0)+(k[j>>2]|0);k[l>>2]=(k[l>>2]|0)-(k[j>>2]|0);h=k[j>>2]|0;b=(k[t>>2]|0)+24|0;a=b;h=$R(k[a>>2]|0,k[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;k[b>>2]=h;k[b+4>>2]=L}if((d|0)==12){k[p>>2]=3082;t=k[p>>2]|0;r=u;return t|0}else if((d|0)==18){q=k[q>>2]|0;s=$R(q|0,((q|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[(k[t>>2]|0)+12>>2]=s;k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}return 0}function Zr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e;d=e+8|0;k[g>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[d>>2]=k[g>>2];a=f;if(!((k[a>>2]|0)==0&(k[a+4>>2]|0)==0)){r=e;return 0}as(k[d>>2]|0);k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+24+8>>2]=0;g=(k[d>>2]|0)+24|0;k[g>>2]=0;k[g+4>>2]=0;k[(k[d>>2]|0)+40+8>>2]=0;g=(k[d>>2]|0)+40|0;k[g>>2]=0;k[g+4>>2]=0;r=e;return 0}function _r(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function $r(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+24|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function as(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+16>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+16>>2]=0;r=e;return}function bs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+112|0;d=l+96|0;j=l+92|0;i=l+88|0;e=l+8|0;g=l+84|0;f=l;h=l+80|0;k[d>>2]=a;k[i>>2]=k[d>>2];a=e;b=k[d>>2]|0;c=a+72|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));a=k[d>>2]|0;c=a+72|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));c=cs(k[e+60>>2]|0,k[e+64>>2]|0,k[i>>2]|0,k[e+56>>2]|0,0)|0;k[j>>2]=c;if(!(k[j>>2]|0)){k[g>>2]=k[e+4>>2];c=f;k[c>>2]=0;k[c+4>>2]=0;k[h>>2]=k[e+16>>2];while(1){if(!(k[h>>2]|0))break;m=f;b=k[g>>2]|0;b=$R(k[m>>2]|0,k[m+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;m=L;c=e+24|0;a=k[c+4>>2]|0;if((m|0)>(a|0)|((m|0)==(a|0)?b>>>0>(k[c>>2]|0)>>>0:0)){c=e+24|0;m=f;m=_R(k[c>>2]|0,k[c+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[g>>2]=m}m=f;m=Sg(k[i>>2]|0,(k[h>>2]|0)+4|0,k[g>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[j>>2]=m;if(k[j>>2]|0)break;c=k[g>>2]|0;m=f;c=$R(k[m>>2]|0,k[m+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;m=f;k[m>>2]=c;k[m+4>>2]=L;k[h>>2]=k[k[h>>2]>>2]}if(!(k[j>>2]|0))as(e)}if(!(k[j>>2]|0)){m=k[j>>2]|0;r=l;return m|0}yr(k[i>>2]|0);a=k[d>>2]|0;b=e;c=a+72|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));m=k[j>>2]|0;r=l;return m|0}function cs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=hc[k[(k[m>>2]|0)+24>>2]&255](k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]&556927,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function ds(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;h=l+24|0;d=l+20|0;e=l+16|0;j=l+12|0;f=l+8|0;g=l+4|0;i=l;k[h>>2]=a;k[d>>2]=b;k[e>>2]=c;k[j>>2]=k[(k[h>>2]|0)+44>>2];if(k[j>>2]|0){j=k[j>>2]|0;r=l;return j|0}if((k[e>>2]|0)>=(k[(k[h>>2]|0)+104>>2]|0)){j=k[j>>2]|0;r=l;return j|0}k[g>>2]=(k[e>>2]|0)+((k[d>>2]|0)==1?0:1);k[f>>2]=k[g>>2];while(1){if((k[f>>2]|0)>=(k[(k[h>>2]|0)+104>>2]|0))break;zj(k[(k[(k[h>>2]|0)+100>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]|0);k[f>>2]=(k[f>>2]|0)+1}k[(k[h>>2]|0)+104>>2]=k[g>>2];if((k[d>>2]|0)!=1){if((Lr(k[h>>2]|0)|0)==0?(k[k[(k[h>>2]|0)+68>>2]>>2]|0)==0:0){j=k[j>>2]|0;r=l;return j|0}if(!(k[g>>2]|0))d=0;else d=(k[(k[h>>2]|0)+100>>2]|0)+(((k[g>>2]|0)-1|0)*48|0)|0;k[i>>2]=d;i=As(k[h>>2]|0,k[i>>2]|0)|0;k[j>>2]=i;j=k[j>>2]|0;r=l;return j|0}if(k[g>>2]|0){j=k[j>>2]|0;r=l;return j|0}if(!(k[k[(k[h>>2]|0)+72>>2]>>2]|0)){j=k[j>>2]|0;r=l;return j|0}if(Dr(k[(k[h>>2]|0)+72>>2]|0)|0){i=Er(k[(k[h>>2]|0)+72>>2]|0,0,0)|0;k[j>>2]=i}k[(k[h>>2]|0)+56>>2]=0;j=k[j>>2]|0;r=l;return j|0}function es(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;q=t+8|0;j=t+56|0;m=t+52|0;f=t+48|0;g=t;d=t+44|0;h=t+40|0;c=t+36|0;o=t+32|0;p=t+28|0;s=t+24|0;e=t+20|0;n=t+16|0;k[j>>2]=a;k[m>>2]=b;k[f>>2]=k[k[j>>2]>>2];k[c>>2]=0;k[p>>2]=1;k[s>>2]=0;k[n>>2]=0;a=fj(k[(k[j>>2]|0)+68>>2]|0,g)|0;k[o>>2]=a;a:do if(!(k[o>>2]|0)){k[s>>2]=k[(k[j>>2]|0)+208>>2];a=fs(k[(k[j>>2]|0)+68>>2]|0,k[s>>2]|0,(k[(k[k[j>>2]>>2]|0)+8>>2]|0)+1|0)|0;k[o>>2]=a;if((k[o>>2]|0)==0?(i[k[s>>2]>>0]|0)!=0:0){f=gs(k[f>>2]|0,k[s>>2]|0,0,p)|0;k[o>>2]=f}k[s>>2]=0;if((k[o>>2]|0)==0&(k[p>>2]|0)!=0){f=(k[j>>2]|0)+80|0;k[f>>2]=0;k[f+4>>2]=0;k[e>>2]=k[m>>2];b:while(1){f=g;f=hs(k[j>>2]|0,k[m>>2]|0,k[f>>2]|0,k[f+4>>2]|0,d,c)|0;k[o>>2]=f;if(k[o>>2]|0){b=8;break}if((k[d>>2]|0)==-1){a=g;a=_R(k[a>>2]|0,k[a+4>>2]|0,k[(k[j>>2]|0)+156>>2]|0,0)|0;f=(k[(k[j>>2]|0)+160>>2]|0)+8|0;f=iS(a|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;k[d>>2]=f}if(!((k[d>>2]|0)!=0|(k[m>>2]|0)!=0)?(a=(k[j>>2]|0)+88|0,a=$R(k[a>>2]|0,k[a+4>>2]|0,k[(k[j>>2]|0)+156>>2]|0,0)|0,f=(k[j>>2]|0)+80|0,(a|0)==(k[f>>2]|0)?(L|0)==(k[f+4>>2]|0):0):0){f=g;a=(k[j>>2]|0)+80|0;a=_R(k[f>>2]|0,k[f+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;f=(k[(k[j>>2]|0)+160>>2]|0)+8|0;f=iS(a|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;k[d>>2]=f}f=(k[j>>2]|0)+80|0;if((k[f+4>>2]|0)==0?(k[f>>2]|0)==(k[(k[j>>2]|0)+156>>2]|0):0){f=Nr(k[j>>2]|0,k[c>>2]|0)|0;k[o>>2]=f;if(k[o>>2]|0)break a;k[(k[j>>2]|0)+28>>2]=k[c>>2]}k[h>>2]=0;while(1){if((k[h>>2]|0)>>>0>=(k[d>>2]|0)>>>0)continue b;if(k[e>>2]|0){hj(k[j>>2]|0);k[e>>2]=0}f=is(k[j>>2]|0,(k[j>>2]|0)+80|0,0,1,0)|0;k[o>>2]=f;if(k[o>>2]|0)break;k[n>>2]=(k[n>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}if((k[o>>2]|0)!=101){b=26;break}b=g;a=k[b+4>>2]|0;f=(k[j>>2]|0)+80|0;k[f>>2]=k[b>>2];k[f+4>>2]=a}if((b|0)==8){if((k[o>>2]|0)!=101)break;k[o>>2]=0;break}else if((b|0)==26){if((k[o>>2]|0)!=522)break;k[o>>2]=0;break}}}while(0);i[(k[j>>2]|0)+19>>0]=i[(k[j>>2]|0)+13>>0]|0;if(!(k[o>>2]|0)){k[s>>2]=k[(k[j>>2]|0)+208>>2];h=fs(k[(k[j>>2]|0)+68>>2]|0,k[s>>2]|0,(k[(k[k[j>>2]>>2]|0)+8>>2]|0)+1|0)|0;k[o>>2]=h}do if(!(k[o>>2]|0)){if((l[(k[j>>2]|0)+17>>0]|0)<4?(l[(k[j>>2]|0)+17>>0]|0)!=0:0)break;h=Ug(k[j>>2]|0,0)|0;k[o>>2]=h}while(0);if(!(k[o>>2]|0)){h=Br(k[j>>2]|0,(i[k[s>>2]>>0]|0)!=0&1,0)|0;k[o>>2]=h}if((k[o>>2]|0)==0?((k[p>>2]|0)!=0?(i[k[s>>2]>>0]|0)!=0:0):0){s=js(k[j>>2]|0,k[s>>2]|0)|0;k[o>>2]=s}if(!((k[m>>2]|0)!=0&(k[n>>2]|0)!=0)){s=k[j>>2]|0;ks(s);s=k[o>>2]|0;r=t;return s|0}s=k[(k[j>>2]|0)+180>>2]|0;k[q>>2]=k[n>>2];k[q+4>>2]=s;$d(539,25874,q);s=k[j>>2]|0;ks(s);s=k[o>>2]|0;r=t;return s|0}function fs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+36|0;e=p+32|0;f=p+28|0;g=p+24|0;m=p+20|0;l=p+16|0;n=p;j=p+12|0;o=p+8|0;h=p+40|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;i[k[f>>2]>>0]=0;c=fj(k[e>>2]|0,n)|0;k[m>>2]=c;b=n;a=k[b+4>>2]|0;if((((((!(0!=(c|0)|((a|0)<0|(a|0)==0&(k[b>>2]|0)>>>0<16))?(a=k[e>>2]|0,b=n,b=_R(k[b>>2]|0,k[b+4>>2]|0,16,0)|0,b=ps(a,b,L,l)|0,k[m>>2]=b,0==(b|0)):0)?!((k[l>>2]|0)==0?1:(k[l>>2]|0)>>>0>=(k[g>>2]|0)>>>0):0)?(a=k[e>>2]|0,b=n,b=_R(k[b>>2]|0,k[b+4>>2]|0,12,0)|0,b=ps(a,b,L,j)|0,k[m>>2]=b,0==(b|0)):0)?(a=k[e>>2]|0,b=n,b=_R(k[b>>2]|0,k[b+4>>2]|0,8,0)|0,b=os(a,h,8,b,L)|0,k[m>>2]=b,0==(b|0)):0)?(oR(h,25901,8)|0)==0:0)?(h=k[e>>2]|0,c=k[f>>2]|0,a=k[l>>2]|0,b=n,b=_R(k[b>>2]|0,k[b+4>>2]|0,16,0)|0,b=_R(b|0,L|0,k[l>>2]|0,0)|0,b=os(h,c,a,b,L)|0,k[m>>2]=b,0==(b|0)):0){k[o>>2]=0;while(1){if((k[o>>2]|0)>>>0>=(k[l>>2]|0)>>>0)break;k[j>>2]=(k[j>>2]|0)-(i[(k[f>>2]|0)+(k[o>>2]|0)>>0]|0);k[o>>2]=(k[o>>2]|0)+1}if(k[j>>2]|0)k[l>>2]=0;i[(k[f>>2]|0)+(k[l>>2]|0)>>0]=0;k[d>>2]=0;b=k[d>>2]|0;r=p;return b|0}k[d>>2]=k[m>>2];b=k[d>>2]|0;r=p;return b|0}function gs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=ec[k[(k[i>>2]|0)+32>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return b|0}function hs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;g=s+44|0;h=s+40|0;i=s+36|0;t=s+8|0;j=s+32|0;l=s+28|0;q=s+24|0;m=s+48|0;n=s;o=s+20|0;p=s+16|0;k[h>>2]=a;k[i>>2]=b;b=t;k[b>>2]=c;k[b+4>>2]=d;k[j>>2]=e;k[l>>2]=f;b=zs(k[h>>2]|0)|0;e=(k[h>>2]|0)+80|0;k[e>>2]=b;k[e+4>>2]=L;e=(k[h>>2]|0)+80|0;e=$R(k[e>>2]|0,k[e+4>>2]|0,k[(k[h>>2]|0)+156>>2]|0,0)|0;b=L;a=t;f=k[a+4>>2]|0;if((b|0)>(f|0)|((b|0)==(f|0)?e>>>0>(k[a>>2]|0)>>>0:0)){k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}e=(k[h>>2]|0)+80|0;a=k[e+4>>2]|0;t=n;k[t>>2]=k[e>>2];k[t+4>>2]=a;if(!((k[i>>2]|0)==0?(a=n,t=(k[h>>2]|0)+88|0,!((k[a>>2]|0)!=(k[t>>2]|0)?1:(k[a+4>>2]|0)!=(k[t+4>>2]|0))):0)){t=n;t=os(k[(k[h>>2]|0)+68>>2]|0,m,8,k[t>>2]|0,k[t+4>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0){k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}if(oR(m,25901,8)|0){k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}}a=k[(k[h>>2]|0)+68>>2]|0;t=n;t=$R(k[t>>2]|0,k[t+4>>2]|0,8,0)|0;t=ps(a,t,L,k[j>>2]|0)|0;k[q>>2]=t;if((0==(t|0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=$R(k[t>>2]|0,k[t+4>>2]|0,12,0)|0,t=ps(a,t,L,(k[h>>2]|0)+52|0)|0,k[q>>2]=t,0==(t|0)):0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=$R(k[t>>2]|0,k[t+4>>2]|0,16,0)|0,t=ps(a,t,L,k[l>>2]|0)|0,k[q>>2]=t,0==(t|0)):0){t=(k[h>>2]|0)+80|0;do if((k[t>>2]|0)==0&(k[t+4>>2]|0)==0){a=k[(k[h>>2]|0)+68>>2]|0;t=n;t=$R(k[t>>2]|0,k[t+4>>2]|0,20,0)|0;t=ps(a,t,L,p)|0;k[q>>2]=t;if(0==(t|0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=$R(k[t>>2]|0,k[t+4>>2]|0,24,0)|0,t=ps(a,t,L,o)|0,k[q>>2]=t,0==(t|0)):0){if(!(k[o>>2]|0))k[o>>2]=k[(k[h>>2]|0)+160>>2];if((!((k[o>>2]|0)>>>0<512|(k[p>>2]|0)>>>0<32|(k[o>>2]|0)>>>0>65536|(k[p>>2]|0)>>>0>65536)?((k[o>>2]|0)-1&k[o>>2]|0)==0:0)?((k[p>>2]|0)-1&k[p>>2]|0)==0:0){t=dj(k[h>>2]|0,o,-1)|0;k[q>>2]=t;k[(k[h>>2]|0)+156>>2]=k[p>>2];break}k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}while(0);t=(k[h>>2]|0)+80|0;a=t;a=$R(k[a>>2]|0,k[a+4>>2]|0,k[(k[h>>2]|0)+156>>2]|0,0)|0;k[t>>2]=a;k[t+4>>2]=L;k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}function is(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+64|0;y=B+60|0;p=B+56|0;f=B+52|0;g=B+48|0;q=B+44|0;h=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;n=B+24|0;s=B+20|0;o=B+16|0;t=B+12|0;u=B;x=B+8|0;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[q>>2]=d;k[h>>2]=e;k[s>>2]=k[(k[p>>2]|0)+208>>2];d=k[p>>2]|0;if(k[q>>2]|0)d=k[d+68>>2]|0;else d=k[d+72>>2]|0;k[o>>2]=d;a=k[f>>2]|0;a=ps(k[o>>2]|0,k[a>>2]|0,k[a+4>>2]|0,v)|0;k[A>>2]=a;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}e=k[o>>2]|0;c=k[s>>2]|0;b=k[(k[p>>2]|0)+160>>2]|0;a=k[f>>2]|0;a=$R(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;a=os(e,c,b,a,L)|0;k[A>>2]=a;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}b=(k[(k[p>>2]|0)+160>>2]|0)+4+(k[q>>2]<<2)|0;a=k[f>>2]|0;c=a;b=$R(k[c>>2]|0,k[c+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[a>>2]=b;k[a+4>>2]=L;if((k[v>>2]|0)!=0?(k[v>>2]|0)!=(((k[384]|0)/(k[(k[p>>2]|0)+160>>2]|0)|0)+1|0):0){if((k[v>>2]|0)>>>0<=(k[(k[p>>2]|0)+28>>2]|0)>>>0?(xj(k[g>>2]|0,k[v>>2]|0)|0)==0:0){if(k[q>>2]|0){a=k[o>>2]|0;o=k[f>>2]|0;o=_R(k[o>>2]|0,k[o+4>>2]|0,4,0)|0;o=ps(a,o,L,n)|0;k[A>>2]=o;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}if((k[h>>2]|0)==0?(o=qs(k[p>>2]|0,k[s>>2]|0)|0,(o|0)!=(k[n>>2]|0)):0){k[y>>2]=101;A=k[y>>2]|0;r=B;return A|0}}if((k[g>>2]|0)!=0?(o=vj(k[g>>2]|0,k[v>>2]|0)|0,k[A>>2]=o,(o|0)!=0):0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}if((k[v>>2]|0)==1?(j[(k[p>>2]|0)+150>>1]|0)!=(l[(k[s>>2]|0)+20>>0]|0):0)j[(k[p>>2]|0)+150>>1]=l[(k[s>>2]|0)+20>>0]|0;if(Lr(k[p>>2]|0)|0)k[z>>2]=0;else{o=rs(k[p>>2]|0,k[v>>2]|0)|0;k[z>>2]=o}if(k[q>>2]|0){if(l[(k[p>>2]|0)+7>>0]|0)d=1;else{o=k[f>>2]|0;h=k[o+4>>2]|0;d=(k[p>>2]|0)+88|0;n=k[d+4>>2]|0;d=(h|0)<(n|0)|((h|0)==(n|0)?(k[o>>2]|0)>>>0<=(k[d>>2]|0)>>>0:0)}k[t>>2]=d&1}else{if(!(k[z>>2]|0))d=1;else d=0==(m[(k[z>>2]|0)+24>>1]&8|0);k[t>>2]=d&1}do if(k[k[(k[p>>2]|0)+64>>2]>>2]|0){if((l[(k[p>>2]|0)+17>>0]|0)>=4){if(!(k[t>>2]|0)){w=44;break}}else if(!((k[t>>2]|0)!=0?(l[(k[p>>2]|0)+17>>0]|0)==0:0)){w=44;break}o=k[(k[p>>2]|0)+160>>2]|0;o=kS((k[v>>2]|0)-1|0,0,o|0,((o|0)<0)<<31>>31|0)|0;t=u;k[t>>2]=o;k[t+4>>2]=L;u=Sg(k[(k[p>>2]|0)+64>>2]|0,k[s>>2]|0,k[(k[p>>2]|0)+160>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[A>>2]=u;if((k[v>>2]|0)>>>0>(k[(k[p>>2]|0)+36>>2]|0)>>>0)k[(k[p>>2]|0)+36>>2]=k[v>>2];if(k[(k[p>>2]|0)+96>>2]|0){ss(k[(k[p>>2]|0)+96>>2]|0,k[v>>2]|0,k[s>>2]|0);k[s>>2]=k[s>>2]}}else w=44;while(0);do if((w|0)==44?(k[q>>2]|0)==0&(k[z>>2]|0)==0:0){w=(k[p>>2]|0)+21|0;i[w>>0]=l[w>>0]|2;w=Fg(k[p>>2]|0,k[v>>2]|0,z,1)|0;k[A>>2]=w;w=(k[p>>2]|0)+21|0;i[w>>0]=l[w>>0]&-3;if(!(k[A>>2]|0)){ts(k[z>>2]|0);break}k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}while(0);if(k[z>>2]|0){k[x>>2]=k[(k[z>>2]|0)+4>>2];bS(k[x>>2]|0,k[s>>2]|0,k[(k[p>>2]|0)+160>>2]|0)|0;_b[k[(k[p>>2]|0)+204>>2]&255](k[z>>2]|0);if((k[v>>2]|0)==1){c=(k[p>>2]|0)+112|0;d=(k[x>>2]|0)+24|0;e=c+16|0;do{i[c>>0]=i[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0))}us(k[z>>2]|0)}k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}k[y>>2]=0;A=k[y>>2]|0;r=B;return A|0}k[y>>2]=101;A=k[y>>2]|0;r=B;return A|0}function js(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;t=s+60|0;c=s+56|0;m=s+52|0;n=s+48|0;l=s+44|0;j=s+40|0;p=s+36|0;g=s;o=s+32|0;q=s+28|0;h=s+24|0;e=s+16|0;d=s+12|0;f=s+8|0;k[t>>2]=a;k[c>>2]=b;k[m>>2]=k[k[t>>2]>>2];k[p>>2]=0;b=k[(k[m>>2]|0)+4>>2]<<1;b=ug(b,((b|0)<0)<<31>>31)|0;k[l>>2]=b;k[j>>2]=(k[l>>2]|0)+(k[(k[m>>2]|0)+4>>2]|0);if(k[l>>2]|0){k[s+20>>2]=16385;t=cs(k[m>>2]|0,k[c>>2]|0,k[l>>2]|0,16385,0)|0;k[n>>2]=t}else k[n>>2]=7;a:do if((k[n>>2]|0)==0?(t=fj(k[l>>2]|0,g)|0,k[n>>2]=t,(k[n>>2]|0)==0):0){k[h>>2]=(k[(k[m>>2]|0)+8>>2]|0)+1;b=g;t=k[h>>2]|0;t=$R(k[b>>2]|0,k[b+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=$R(t|0,L|0,1,0)|0;t=jg(t,L)|0;k[p>>2]=t;if(!(k[p>>2]|0)){k[n>>2]=7;break}t=g;t=$R(k[t>>2]|0,k[t+4>>2]|0,1,0)|0;k[q>>2]=(k[p>>2]|0)+t;t=os(k[l>>2]|0,k[p>>2]|0,k[g>>2]|0,0,0)|0;k[n>>2]=t;if(!(k[n>>2]|0)){i[(k[p>>2]|0)+(k[g>>2]|0)>>0]=0;k[o>>2]=k[p>>2];while(1){b=(k[o>>2]|0)-(k[p>>2]|0)|0;u=((b|0)<0)<<31>>31;t=g;a=k[t+4>>2]|0;if(!((u|0)<(a|0)|((u|0)==(a|0)?b>>>0<(k[t>>2]|0)>>>0:0)))break;u=gs(k[m>>2]|0,k[o>>2]|0,0,e)|0;k[n>>2]=u;if(k[n>>2]|0)break a;if(k[e>>2]|0){k[f>>2]=2049;u=cs(k[m>>2]|0,k[o>>2]|0,k[j>>2]|0,k[f>>2]|0,0)|0;k[n>>2]=u;if(k[n>>2]|0)break a;u=fs(k[j>>2]|0,k[q>>2]|0,k[h>>2]|0)|0;k[n>>2]=u;yr(k[j>>2]|0);if(k[n>>2]|0)break a;if(i[k[q>>2]>>0]|0)a=(rR(k[q>>2]|0,k[c>>2]|0)|0)==0;else a=0;k[d>>2]=a&1;if(k[d>>2]|0)break a}u=(Tf(k[o>>2]|0)|0)+1|0;k[o>>2]=(k[o>>2]|0)+u}yr(k[l>>2]|0);u=Hr(k[m>>2]|0,k[c>>2]|0,0)|0;k[n>>2]=u}}while(0);Ud(k[p>>2]|0);if(!(k[l>>2]|0)){u=k[n>>2]|0;r=s;return u|0}yr(k[l>>2]|0);Ud(k[l>>2]|0);u=k[n>>2]|0;r=s;return u|0}function ks(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((l[(k[b>>2]|0)+13>>0]|0|0)==0?((ls(k[(k[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=ms(k[(k[b>>2]|0)+64>>2]|0)|0;k[(k[b>>2]|0)+156>>2]=a;r=c;return}k[(k[b>>2]|0)+156>>2]=512;r=c;return}function ls(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[(k[k[c>>2]>>2]|0)+48>>2]&255](k[c>>2]|0)|0;r=b;return a|0}function ms(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=ns(k[d>>2]|0)|0;k[b>>2]=a;if((k[b>>2]|0)>=32){if((k[b>>2]|0)>65536)k[b>>2]=65536}else k[b>>2]=512;r=c;return k[b>>2]|0}function ns(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[k[b>>2]>>2]|0)+44>>2];if(!(k[c>>2]|0)){c=4096;r=d;return c|0}c=bc[k[c>>2]&255](k[b>>2]|0)|0;r=d;return c|0}function os(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;i=f+16|0;h=f+12|0;g=f+8|0;j=f;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;b=j;k[b>>2]=d;k[b+4>>2]=e;b=j;b=hc[k[(k[k[i>>2]>>2]|0)+8>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;r=f;return b|0}function ps(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;i=h+16|0;j=h;e=h+12|0;f=h+20|0;g=h+8|0;k[i>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=d;d=j;d=os(k[i>>2]|0,f,4,k[d>>2]|0,k[d+4>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0){j=k[g>>2]|0;r=h;return j|0}j=qr(f)|0;k[k[e>>2]>>2]=j;j=k[g>>2]|0;r=h;return j|0}function qs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[g>>2]|0)+52>>2];k[e>>2]=(k[(k[g>>2]|0)+160>>2]|0)-200;while(1){if((k[e>>2]|0)<=0)break;k[d>>2]=(k[d>>2]|0)+(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0);k[e>>2]=(k[e>>2]|0)-200}r=f;return k[d>>2]|0}function rs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=ws(k[(k[d>>2]|0)+212>>2]|0,k[e>>2]|0,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}else{b=xs(k[(k[d>>2]|0)+212>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=g;return b|0}return 0}function ss(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=g;return}vs(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function ts(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((m[(k[b>>2]|0)+24>>1]|0)&17)){r=c;return}a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-17;if(!((m[(k[b>>2]|0)+24>>1]|0)&1)){r=c;return}a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)^3;rj(k[b>>2]|0,2);r=c;return}function us(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;d=(k[(k[b>>2]|0)+28>>2]|0)+12|0;k[d>>2]=(k[d>>2]|0)+-1;d=(k[b>>2]|0)+26|0;a=(j[d>>1]|0)+-1<<16>>16;j[d>>1]=a;if(a<<16>>16){r=c;return}a=k[b>>2]|0;if((m[(k[b>>2]|0)+24>>1]|0)&1){sj(a);r=c;return}if(!(k[a+36>>2]|0)){r=c;return}rj(k[b>>2]|0,3);r=c;return}function vs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do{if(((xg(k[(k[d>>2]|0)+28>>2]|0)|0)==0?(k[e>>2]|0)>>>0<(k[(k[d>>2]|0)+16>>2]|0)>>>0:0)?(a=Hg(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1)|0,k[g>>2]=a,(k[g>>2]|0)!=0):0)k[(k[d>>2]|0)+28>>2]=k[g>>2];a=k[(k[d>>2]|0)+44>>2]|0;k[d>>2]=a}while((a|0)!=0);r=h;return}function ws(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;h=e+16|0;g=e+12|0;i=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[f>>2]=k[i>>2]&(l[(k[h>>2]|0)+33>>0]|0);b=Yb[k[144>>2]&255](k[(k[h>>2]|0)+44>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function xs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[f>>2]|0)+4>>2];a=k[i>>2]|0;if(k[k[g>>2]>>2]|0){i=a+12|0;k[i>>2]=(k[i>>2]|0)+1;i=(k[g>>2]|0)+26|0;j[i>>1]=(j[i>>1]|0)+1<<16>>16;k[d>>2]=k[g>>2];i=k[d>>2]|0;r=h;return i|0}else{i=ys(a,k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=i;i=k[d>>2]|0;r=h;return i|0}return 0}function ys(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;g=d+12|0;f=d+8|0;e=d+4|0;h=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];b=(k[h>>2]|0)+12|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;k[k[h>>2]>>2]=k[e>>2];k[(k[h>>2]|0)+4>>2]=k[k[e>>2]>>2];k[(k[h>>2]|0)+8>>2]=(k[h>>2]|0)+40;dS(k[(k[h>>2]|0)+8>>2]|0,0,k[(k[g>>2]|0)+28>>2]|0)|0;k[(k[h>>2]|0)+28>>2]=k[g>>2];k[(k[h>>2]|0)+20>>2]=k[f>>2];j[(k[h>>2]|0)+24>>1]=1;b=xs(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function zs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+32|0;b=e+16|0;d=e+8|0;c=e;k[b>>2]=a;g=d;k[g>>2]=0;k[g+4>>2]=0;g=(k[b>>2]|0)+80|0;f=k[g+4>>2]|0;a=c;k[a>>2]=k[g>>2];k[a+4>>2]=f;a=c;if(!((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)){f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;L=f;r=e;return g|0}g=c;g=_R(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;g=iS(g|0,L|0,k[(k[b>>2]|0)+156>>2]|0,0)|0;g=$R(g|0,L|0,1,0)|0;g=kS(g|0,L|0,k[(k[b>>2]|0)+156>>2]|0,0)|0;f=d;k[f>>2]=g;k[f+4>>2]=L;f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;L=f;r=e;return g|0}function As(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;c=s+56|0;d=s+52|0;e=s+48|0;p=s+16|0;g=s+8|0;o=s+44|0;n=s+40|0;h=s+36|0;l=s+32|0;f=s+28|0;j=s+24|0;m=s;k[d>>2]=a;k[e>>2]=b;k[o>>2]=0;k[n>>2]=0;if((k[e>>2]|0)!=0?(b=uj(k[(k[e>>2]|0)+20>>2]|0)|0,k[n>>2]=b,(k[n>>2]|0)==0):0){k[c>>2]=7;q=k[c>>2]|0;r=s;return q|0}if(k[e>>2]|0)a=k[(k[e>>2]|0)+20>>2]|0;else a=k[(k[d>>2]|0)+32>>2]|0;k[(k[d>>2]|0)+28>>2]=a;i[(k[d>>2]|0)+19>>0]=i[(k[d>>2]|0)+13>>0]|0;if((k[e>>2]|0)==0?(Lr(k[d>>2]|0)|0)!=0:0){q=Bs(k[d>>2]|0)|0;k[c>>2]=q;q=k[c>>2]|0;r=s;return q|0}t=(k[d>>2]|0)+80|0;a=k[t+4>>2]|0;b=p;k[b>>2]=k[t>>2];k[b+4>>2]=a;a:do if((k[e>>2]|0)!=0?(Lr(k[d>>2]|0)|0)==0:0){t=(k[e>>2]|0)+8|0;if((k[t>>2]|0)!=0|(k[t+4>>2]|0)!=0){b=(k[e>>2]|0)+8|0;a=k[b>>2]|0;b=k[b+4>>2]|0}else{b=p;a=k[b>>2]|0;b=k[b+4>>2]|0}t=g;k[t>>2]=a;k[t+4>>2]=b;a=k[e>>2]|0;b=k[a+4>>2]|0;t=(k[d>>2]|0)+80|0;k[t>>2]=k[a>>2];k[t+4>>2]=b;while(1){if(k[o>>2]|0)break a;b=(k[d>>2]|0)+80|0;u=k[b+4>>2]|0;t=g;a=k[t+4>>2]|0;if(!((u|0)<(a|0)|((u|0)==(a|0)?(k[b>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)))break a;u=is(k[d>>2]|0,(k[d>>2]|0)+80|0,k[n>>2]|0,1,1)|0;k[o>>2]=u}}else q=19;while(0);if((q|0)==19){u=(k[d>>2]|0)+80|0;k[u>>2]=0;k[u+4>>2]=0}b:while(1){if(k[o>>2]|0)break;t=(k[d>>2]|0)+80|0;g=k[t+4>>2]|0;u=p;q=k[u+4>>2]|0;if(!((g|0)<(q|0)|((g|0)==(q|0)?(k[t>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)))break;k[l>>2]=0;u=p;u=hs(k[d>>2]|0,0,k[u>>2]|0,k[u+4>>2]|0,l,f)|0;k[o>>2]=u;if((k[l>>2]|0)==0?(t=(k[d>>2]|0)+88|0,t=$R(k[t>>2]|0,k[t+4>>2]|0,k[(k[d>>2]|0)+156>>2]|0,0)|0,u=(k[d>>2]|0)+80|0,(t|0)==(k[u>>2]|0)?(L|0)==(k[u+4>>2]|0):0):0){u=p;t=(k[d>>2]|0)+80|0;t=_R(k[u>>2]|0,k[u+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;u=(k[(k[d>>2]|0)+160>>2]|0)+8|0;u=iS(t|0,L|0,u|0,((u|0)<0)<<31>>31|0)|0;k[l>>2]=u}k[h>>2]=0;while(1){if(k[o>>2]|0)continue b;if((k[h>>2]|0)>>>0>=(k[l>>2]|0)>>>0)continue b;t=(k[d>>2]|0)+80|0;g=k[t+4>>2]|0;u=p;q=k[u+4>>2]|0;if(!((g|0)<(q|0)|((g|0)==(q|0)?(k[t>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)))continue b;u=is(k[d>>2]|0,(k[d>>2]|0)+80|0,k[n>>2]|0,1,1)|0;k[o>>2]=u;k[h>>2]=(k[h>>2]|0)+1}}c:do if(k[e>>2]|0){t=4+(k[(k[d>>2]|0)+160>>2]|0)|0;t=kS(k[(k[e>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=m;k[u>>2]=t;k[u+4>>2]=L;if(Lr(k[d>>2]|0)|0){u=Cs(k[(k[d>>2]|0)+216>>2]|0,(k[e>>2]|0)+28|0)|0;k[o>>2]=u}k[j>>2]=k[(k[e>>2]|0)+24>>2];while(1){if(k[o>>2]|0)break c;if((k[j>>2]|0)>>>0>=(k[(k[d>>2]|0)+56>>2]|0)>>>0)break c;u=is(k[d>>2]|0,m,k[n>>2]|0,0,1)|0;k[o>>2]=u;k[j>>2]=(k[j>>2]|0)+1}}while(0);zj(k[n>>2]|0);if(!(k[o>>2]|0)){q=p;t=k[q+4>>2]|0;u=(k[d>>2]|0)+80|0;k[u>>2]=k[q>>2];k[u+4>>2]=t}k[c>>2]=k[o>>2];u=k[c>>2]|0;r=s;return u|0}function Bs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[(k[b>>2]|0)+28>>2]=k[(k[b>>2]|0)+32>>2];a=Js(k[(k[b>>2]|0)+216>>2]|0,187,k[b>>2]|0)|0;k[e>>2]=a;a=Ks(k[(k[b>>2]|0)+212>>2]|0)|0;k[c>>2]=a;while(1){if(!((k[c>>2]|0)!=0?(k[e>>2]|0)==0:0))break;k[d>>2]=k[(k[c>>2]|0)+12>>2];a=Is(k[b>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[e>>2]=a;k[c>>2]=k[d>>2]}r=f;return k[e>>2]|0}function Cs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[d>>2]|0)+12>>2]|0)!=(k[(k[c>>2]|0)+112>>2]|0)){k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+12>>2]=k[(k[c>>2]|0)+112>>2]}if((k[k[d>>2]>>2]|0)>>>0>=(k[(k[c>>2]|0)+52+16>>2]|0)>>>0){e=k[e>>2]|0;r=f;return e|0}k[(k[c>>2]|0)+52+16>>2]=k[k[d>>2]>>2];k[(k[c>>2]|0)+52+24>>2]=k[(k[d>>2]|0)+4>>2];k[(k[c>>2]|0)+52+24+4>>2]=k[(k[d>>2]|0)+8>>2];Ds(k[c>>2]|0);e=k[e>>2]|0;r=f;return e|0}function Ds(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;d=i+16|0;g=i+12|0;f=i+8|0;h=i+4|0;e=i;k[b>>2]=a;k[c>>2]=0;k[d>>2]=0;k[g>>2]=0;k[f>>2]=0;if(!(k[(k[b>>2]|0)+52+16>>2]|0)){r=i;return}a=k[b>>2]|0;Fs(a,Es(k[(k[b>>2]|0)+52+16>>2]|0)|0,c,d,g)|0;k[f>>2]=(k[(k[b>>2]|0)+52+16>>2]|0)-(k[g>>2]|0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=8192)break;if((m[(k[c>>2]|0)+(k[e>>2]<<1)>>1]|0|0)>(k[f>>2]|0))j[(k[c>>2]|0)+(k[e>>2]<<1)>>1]=0;k[e>>2]=(k[e>>2]|0)+1}k[h>>2]=(k[c>>2]|0)-((k[d>>2]|0)+((k[f>>2]|0)+1<<2));dS((k[d>>2]|0)+((k[f>>2]|0)+1<<2)|0,0,k[h>>2]|0)|0;r=i;return}function Es(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(((k[d>>2]|0)+4096-4062-1|0)>>>0)/4096|0;r=c;return k[b>>2]|0}function Fs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;p=o+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;n=o+12|0;l=o+8|0;m=o+4|0;j=o;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=e;e=Gs(k[p>>2]|0,k[f>>2]|0,l)|0;k[n>>2]=e;if(k[n>>2]|0){p=k[n>>2]|0;r=o;return p|0}k[j>>2]=(k[l>>2]|0)+16384;if(!(k[f>>2]|0)){k[l>>2]=(k[l>>2]|0)+136;k[m>>2]=0}else k[m>>2]=4062+((k[f>>2]|0)-1<<12);k[k[h>>2]>>2]=(k[l>>2]|0)+-4;k[k[g>>2]>>2]=k[j>>2];k[k[i>>2]>>2]=k[m>>2];p=k[n>>2]|0;r=o;return p|0}function Gs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;m=n+8|0;j=n+4|0;h=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;do if((k[(k[e>>2]|0)+24>>2]|0)<=(k[f>>2]|0)){k[j>>2]=(k[f>>2]|0)+1<<2;c=k[j>>2]|0;c=Wd(k[(k[e>>2]|0)+32>>2]|0,c,((c|0)<0)<<31>>31)|0;k[h>>2]=c;if(k[h>>2]|0){dS((k[h>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0,0,(k[f>>2]|0)+1-(k[(k[e>>2]|0)+24>>2]|0)<<2|0)|0;k[(k[e>>2]|0)+32>>2]=k[h>>2];k[(k[e>>2]|0)+24>>2]=(k[f>>2]|0)+1;break}k[k[g>>2]>>2]=0;k[d>>2]=7;m=k[d>>2]|0;r=n;return m|0}while(0);do if(!(k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]|0))if((l[(k[e>>2]|0)+43>>0]|0|0)==2){c=ug(32768,0)|0;k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]=c;if(k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]|0)break;k[m>>2]=7;break}else{c=Hs(k[(k[e>>2]|0)+4>>2]|0,k[f>>2]|0,32768,l[(k[e>>2]|0)+44>>0]|0,(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)|0)|0;k[m>>2]=c;if((k[m>>2]|0)!=8)break;c=(k[e>>2]|0)+46|0;i[c>>0]=l[c>>0]|0|2;k[m>>2]=0;break}while(0);k[k[g>>2]>>2]=k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2];k[d>>2]=k[m>>2];m=k[d>>2]|0;r=n;return m|0}function Hs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;e=hc[k[(k[k[l>>2]>>2]|0)+52>>2]&255](k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;r=f;return e|0}function Is(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;i=g+20|0;h=g+16|0;f=g+12|0;d=g+8|0;e=g+4|0;c=g;k[i>>2]=a;k[h>>2]=b;k[f>>2]=0;k[d>>2]=k[i>>2];a=rs(k[d>>2]|0,k[h>>2]|0)|0;k[e>>2]=a;do if(k[e>>2]|0){if((Ps(k[e>>2]|0)|0)==1){Qs(k[e>>2]|0);break}k[c>>2]=0;i=Rs(k[(k[d>>2]|0)+216>>2]|0,k[(k[e>>2]|0)+20>>2]|0,c)|0;k[f>>2]=i;if(!(k[f>>2]|0)){i=Ss(k[e>>2]|0,k[c>>2]|0)|0;k[f>>2]=i}if(!(k[f>>2]|0))_b[k[(k[d>>2]|0)+204>>2]&255](k[e>>2]|0);Ts(k[e>>2]|0)}while(0);nj(k[(k[d>>2]|0)+96>>2]|0);r=g;return k[f>>2]|0}function Js(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=0;if(!(i[(k[d>>2]|0)+44>>0]|0)){j=k[j>>2]|0;r=l;return j|0}k[h>>2]=k[(k[d>>2]|0)+52+16>>2];c=(k[d>>2]|0)+52|0;a=Ns(k[d>>2]|0)|0;b=c+48|0;do{i[c>>0]=i[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(b|0));k[g>>2]=(k[(k[d>>2]|0)+52+16>>2]|0)+1;while(1){if(k[j>>2]|0)break;if((k[g>>2]|0)>>>0>(k[h>>2]|0)>>>0)break;c=k[e>>2]|0;a=k[f>>2]|0;b=Os(k[d>>2]|0,k[g>>2]|0)|0;b=gc[c&255](a,b)|0;k[j>>2]=b;k[g>>2]=(k[g>>2]|0)+1}if((k[h>>2]|0)==(k[(k[d>>2]|0)+52+16>>2]|0)){j=k[j>>2]|0;r=l;return j|0}Ds(k[d>>2]|0);j=k[j>>2]|0;r=l;return j|0}function Ks(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;k[(k[c>>2]|0)+12>>2]=k[(k[c>>2]|0)+32>>2];k[c>>2]=k[(k[c>>2]|0)+32>>2]}a=Ls(k[k[b>>2]>>2]|0)|0;r=d;return a|0}function Ls(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+144|0;c=h+136|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;a=e;b=a+128|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(k[c>>2]|0))break;k[g>>2]=k[c>>2];k[c>>2]=k[(k[g>>2]|0)+12>>2];k[(k[g>>2]|0)+12>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=31)break;if(!(k[e+(k[f>>2]<<2)>>2]|0)){d=6;break}b=Ms(k[e+(k[f>>2]<<2)>>2]|0,k[g>>2]|0)|0;k[g>>2]=b;k[e+(k[f>>2]<<2)>>2]=0;k[f>>2]=(k[f>>2]|0)+1}if((d|0)==6){d=0;k[e+(k[f>>2]<<2)>>2]=k[g>>2]}if((k[f>>2]|0)!=31)continue;b=Ms(k[e+(k[f>>2]<<2)>>2]|0,k[g>>2]|0)|0;k[e+(k[f>>2]<<2)>>2]=b}k[g>>2]=k[e>>2];k[f>>2]=1;while(1){if((k[f>>2]|0)>=32)break;if(k[e+(k[f>>2]<<2)>>2]|0){if(k[g>>2]|0)a=Ms(k[g>>2]|0,k[e+(k[f>>2]<<2)>>2]|0)|0;else a=k[e+(k[f>>2]<<2)>>2]|0;k[g>>2]=a}k[f>>2]=(k[f>>2]|0)+1}r=h;return k[g>>2]|0}function Ms(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;c=g+52|0;d=g+48|0;f=g+8|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=f;while(1)if((k[(k[c>>2]|0)+20>>2]|0)>>>0<(k[(k[d>>2]|0)+20>>2]|0)>>>0){k[(k[e>>2]|0)+12>>2]=k[c>>2];k[e>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+12>>2];if(!(k[c>>2]|0)){a=4;break}else continue}else{k[(k[e>>2]|0)+12>>2]=k[d>>2];k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+12>>2];if(!(k[d>>2]|0)){a=6;break}else continue}if((a|0)==4){k[(k[e>>2]|0)+12>>2]=k[d>>2];f=f+12|0;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==6){k[(k[e>>2]|0)+12>>2]=k[c>>2];f=f+12|0;f=k[f>>2]|0;r=g;return f|0}return 0}function Ns(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[(k[b>>2]|0)+32>>2]>>2]|0}function Os(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;b=Es(k[g>>2]|0)|0;k[e>>2]=b;b=k[g>>2]|0;if(!(k[e>>2]|0)){k[c>>2]=k[(k[k[(k[d>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];g=k[c>>2]|0;r=f;return g|0}else{k[c>>2]=k[(k[(k[(k[d>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];g=k[c>>2]|0;r=f;return g|0}return 0}function Ps(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return j[(k[b>>2]|0)+26>>1]|0}function Qs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((m[(k[b>>2]|0)+24>>1]|0)&2)rj(k[b>>2]|0,1);a=(k[(k[b>>2]|0)+28>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;cc[k[148>>2]&255](k[(k[(k[b>>2]|0)+28>>2]|0)+44>>2]|0,k[k[b>>2]>>2]|0,1);r=c;return}function Rs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;s=w+56|0;d=w+52|0;e=w+48|0;t=w+44|0;u=w+40|0;n=w+36|0;i=w+32|0;o=w+28|0;f=w+24|0;g=w+20|0;p=w+16|0;l=w+12|0;q=w+8|0;v=w+4|0;h=w;k[d>>2]=a;k[e>>2]=b;k[t>>2]=c;k[u>>2]=0;k[n>>2]=k[(k[d>>2]|0)+52+16>>2];if((k[n>>2]|0)!=0?(j[(k[d>>2]|0)+40>>1]|0)!=0:0){c=Es(k[(k[d>>2]|0)+100>>2]|0)|0;k[o>>2]=c;c=Es(k[n>>2]|0)|0;k[i>>2]=c;a:while(1){if(!((k[i>>2]|0)>=(k[o>>2]|0)?(k[u>>2]|0)==0:0)){d=18;break}c=Fs(k[d>>2]|0,k[i>>2]|0,f,g,p)|0;k[v>>2]=c;if(k[v>>2]|0){d=7;break}k[q>>2]=8192;c=Ys(k[e>>2]|0)|0;k[l>>2]=c;while(1){if(!(j[(k[f>>2]|0)+(k[l>>2]<<1)>>1]|0))break;k[h>>2]=(m[(k[f>>2]|0)+(k[l>>2]<<1)>>1]|0)+(k[p>>2]|0);if(((k[h>>2]|0)>>>0<=(k[n>>2]|0)>>>0?(k[h>>2]|0)>>>0>=(k[(k[d>>2]|0)+100>>2]|0)>>>0:0)?(k[(k[g>>2]|0)+(m[(k[f>>2]|0)+(k[l>>2]<<1)>>1]<<2)>>2]|0)==(k[e>>2]|0):0)k[u>>2]=k[h>>2];c=k[q>>2]|0;k[q>>2]=c+-1;if(!c){d=15;break a}c=Zs(k[l>>2]|0)|0;k[l>>2]=c}k[i>>2]=(k[i>>2]|0)+-1}if((d|0)==7){k[s>>2]=k[v>>2];v=k[s>>2]|0;r=w;return v|0}else if((d|0)==15){v=_j(56344)|0;k[s>>2]=v;v=k[s>>2]|0;r=w;return v|0}else if((d|0)==18){k[k[t>>2]>>2]=k[u>>2];k[s>>2]=0;v=k[s>>2]|0;r=w;return v|0}}k[k[t>>2]>>2]=0;k[s>>2]=0;v=k[s>>2]|0;r=w;return v|0}function Ss(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;c=m+32|0;d=m+28|0;f=m+24|0;g=m+20|0;l=m+16|0;h=m+12|0;e=m;j=m+8|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+16>>2];k[g>>2]=k[(k[c>>2]|0)+20>>2];k[l>>2]=0;k[h>>2]=k[(k[f>>2]|0)+160>>2];if(k[d>>2]|0){h=Xs(k[(k[f>>2]|0)+216>>2]|0,k[d>>2]|0,k[h>>2]|0,k[(k[c>>2]|0)+4>>2]|0)|0;k[l>>2]=h}else{b=k[(k[f>>2]|0)+160>>2]|0;b=kS((k[g>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;a=e;k[a>>2]=b;k[a+4>>2]=L;a=e;h=os(k[(k[f>>2]|0)+64>>2]|0,k[(k[c>>2]|0)+4>>2]|0,k[h>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[l>>2]=h;k[l>>2]=(k[l>>2]|0)==522?0:h}if((k[g>>2]|0)!=1){l=k[l>>2]|0;r=m;return l|0}if(k[l>>2]|0){b=(k[f>>2]|0)+112|0;d=b+16|0;do{i[b>>0]=255;b=b+1|0}while((b|0)<(d|0));l=k[l>>2]|0;r=m;return l|0}else{k[j>>2]=(k[(k[c>>2]|0)+4>>2]|0)+24;b=(k[f>>2]|0)+112|0;c=k[j>>2]|0;d=b+16|0;do{i[b>>0]=i[c>>0]|0;b=b+1|0;c=c+1|0}while((b|0)<(d|0));l=k[l>>2]|0;r=m;return l|0}return 0}function Ts(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+16>>2];a=k[d>>2]|0;if((m[(k[d>>2]|0)+24>>1]|0)&32){Us(a);d=k[b>>2]|0;Vs(d);r=c;return}else{us(a);d=k[b>>2]|0;Vs(d);r=c;return}}function Us(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;c=b+4|0;e=b;k[c>>2]=a;k[e>>2]=k[(k[c>>2]|0)+16>>2];d=(k[e>>2]|0)+128|0;k[d>>2]=(k[d>>2]|0)+-1;k[(k[c>>2]|0)+12>>2]=k[(k[e>>2]|0)+144>>2];k[(k[e>>2]|0)+144>>2]=k[c>>2];d=k[(k[e>>2]|0)+64>>2]|0;a=k[(k[e>>2]|0)+160>>2]|0;a=kS((k[(k[c>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Ws(d,a,L,k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return}function Vs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+128>>2]|0){r=c;return}if(ej(k[(k[b>>2]|0)+212>>2]|0)|0){r=c;return}xr(k[b>>2]|0);r=c;return}function Ws(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=r;r=r+16|0;k[e+12>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[e+8>>2]=d;r=e;return 0}function Xs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;e=r;r=r+32|0;i=e+24|0;l=e+20|0;f=e+16|0;h=e+12|0;g=e+8|0;j=e;k[i>>2]=a;k[l>>2]=b;k[f>>2]=c;k[h>>2]=d;k[g>>2]=m[(k[i>>2]|0)+52+14>>1];k[g>>2]=(k[g>>2]&65024)+((k[g>>2]&1)<<16);d=(k[g>>2]|0)+24|0;d=kS((k[l>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;d=$R(32,0,d|0,L|0)|0;d=$R(d|0,L|0,24,0)|0;a=j;k[a>>2]=d;k[a+4>>2]=L;a=j;a=os(k[(k[i>>2]|0)+8>>2]|0,k[h>>2]|0,(k[f>>2]|0)>(k[g>>2]|0)?k[g>>2]|0:k[f>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=e;return a|0}function Ys(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)*383&8191|0}function Zs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+1&8191|0}function _s(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;Mr(k[b>>2]|0)|0;if((j[(k[b>>2]|0)+40>>1]|0)<0){r=c;return}Sr(k[b>>2]|0,3+(j[(k[b>>2]|0)+40>>1]|0)|0);j[(k[b>>2]|0)+40>>1]=-1;r=c;return}function $s(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+28>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function at(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+64|0;z=A+52|0;v=A+48|0;w=A+44|0;l=A+40|0;m=A+36|0;n=A+32|0;o=A+28|0;p=A+24|0;q=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;k[v>>2]=a;k[w>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[s>>2]=j;k[t>>2]=0;k[x>>2]=k[w>>2];k[u>>2]=k[l>>2];if(i[(k[v>>2]|0)+46>>0]|0){k[z>>2]=8;z=k[z>>2]|0;r=A;return z|0}g=ft(k[v>>2]|0,1,1)|0;k[y>>2]=g;if(k[y>>2]|0){k[z>>2]=k[y>>2];z=k[z>>2]|0;r=A;return z|0}i[(k[v>>2]|0)+45>>0]=1;do if(k[w>>2]|0){g=gt(k[v>>2]|0,k[l>>2]|0,k[m>>2]|0,0,1)|0;k[y>>2]=g;if(!(k[y>>2]|0)){i[(k[v>>2]|0)+44>>0]=1;break}if((k[y>>2]|0)==5){k[x>>2]=0;k[u>>2]=0;k[y>>2]=0}}while(0);if(((k[y>>2]|0)==0?(g=ht(k[v>>2]|0,t)|0,k[y>>2]=g,(k[t>>2]|0)!=0):0)?(k[k[k[(k[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Ws(k[(k[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(k[y>>2]|0)){if((k[(k[v>>2]|0)+52+16>>2]|0)!=0?(g=it(k[v>>2]|0)|0,(g|0)!=(k[o>>2]|0)):0){g=_j(57049)|0;k[y>>2]=g}else{g=jt(k[v>>2]|0,k[x>>2]|0,k[u>>2]|0,k[m>>2]|0,k[n>>2]|0,k[p>>2]|0)|0;k[y>>2]=g}if((k[y>>2]|0)==0|(k[y>>2]|0)==5){if(k[q>>2]|0)k[k[q>>2]>>2]=k[(k[v>>2]|0)+52+16>>2];if(k[s>>2]|0){g=kt(k[v>>2]|0)|0;k[k[s>>2]>>2]=k[g>>2]}}}if(k[t>>2]|0){l=(k[v>>2]|0)+52|0;m=l+48|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0))}Mr(k[v>>2]|0)|0;Ur(k[v>>2]|0,1,1);i[(k[v>>2]|0)+45>>0]=0;if((k[y>>2]|0)==0?(k[w>>2]|0)!=(k[x>>2]|0):0)l=5;else l=k[y>>2]|0;k[z>>2]=l;z=k[z>>2]|0;r=A;return z|0}function bt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;Yb[k[(k[k[g>>2]>>2]|0)+40>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return}function ct(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;h=i+16|0;d=i+24|0;e=i+8|0;g=i;f=i+20|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;gk();a=fj(k[(k[d>>2]|0)+8>>2]|0,g)|0;k[f>>2]=a;if((k[f>>2]|0)==0?(a=g,b=k[a+4>>2]|0,g=e,c=k[g+4>>2]|0,(b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>(k[g>>2]|0)>>>0:0)):0){g=e;g=Er(k[(k[d>>2]|0)+8>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[f>>2]=g}hk();if(!(k[f>>2]|0)){r=i;return}g=k[f>>2]|0;k[h>>2]=k[(k[d>>2]|0)+108>>2];$d(g,25909,h);r=i;return}function dt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if((l[(k[c>>2]|0)+43>>0]|0|0)!=2){et(k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0)|0;r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+24>>2]|0))break;Ud(k[(k[(k[c>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]|0);k[(k[(k[c>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}r=f;return}function et(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[k[e>>2]>>2]|0)+64>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function ft(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(i[(k[e>>2]|0)+43>>0]|0){k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}else{a=Tr(k[(k[e>>2]|0)+4>>2]|0,k[f>>2]|0,k[g>>2]|0,10)|0;k[h>>2]=a;k[d>>2]=k[h>>2];h=k[d>>2]|0;r=j;return h|0}return 0}function gt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;while(1){b=ft(k[f>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=b;if(!((k[g>>2]|0)!=0&(k[l>>2]|0)==5)){f=4;break}if(!(bc[k[g>>2]&255](k[h>>2]|0)|0)){f=4;break}}if((f|0)==4){r=m;return k[l>>2]|0}return 0}function ht(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;a=Gs(k[d>>2]|0,0,g)|0;k[h>>2]=a;if(k[h>>2]|0){k[c>>2]=k[h>>2];h=k[c>>2]|0;r=j;return h|0}if(k[g>>2]|0)b=wt(k[d>>2]|0,k[e>>2]|0)|0;else b=1;k[f>>2]=b;do if(k[f>>2]|0){b=k[d>>2]|0;if((l[(k[d>>2]|0)+46>>0]|0)&2){g=Rr(b,0)|0;k[h>>2]=g;if(g)break;Sr(k[d>>2]|0,0);k[h>>2]=264;break}a=ft(b,0,1)|0;k[h>>2]=a;if(!a){i[(k[d>>2]|0)+44>>0]=1;g=Gs(k[d>>2]|0,0,g)|0;k[h>>2]=g;if(0==(g|0)?(g=wt(k[d>>2]|0,k[e>>2]|0)|0,k[f>>2]=g,(k[f>>2]|0)!=0):0){g=xt(k[d>>2]|0)|0;k[h>>2]=g;k[k[e>>2]>>2]=1}i[(k[d>>2]|0)+44>>0]=0;Ur(k[d>>2]|0,0,1)}}while(0);if((k[f>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)!=3007e3:0){g=yt(55897)|0;k[h>>2]=g}k[c>>2]=k[h>>2];h=k[c>>2]|0;r=j;return h|0}function it(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return ((m[(k[b>>2]|0)+52+14>>1]|0)&65024)+(((m[(k[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function jt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+112|0;g=G+104|0;h=G+100|0;i=G+96|0;j=G+92|0;l=G+88|0;m=G+84|0;n=G+80|0;A=G+76|0;D=G+72|0;z=G+68|0;p=G+64|0;q=G+60|0;u=G+56|0;t=G+52|0;o=G+48|0;y=G+44|0;E=G+40|0;x=G+24|0;v=G+36|0;w=G+16|0;s=G+8|0;C=G;B=G+32|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[A>>2]=0;k[z>>2]=0;k[p>>2]=0;k[q>>2]=0;f=it(k[h>>2]|0)|0;k[D>>2]=f;f=kt(k[h>>2]|0)|0;k[y>>2]=f;a:do if((k[k[y>>2]>>2]|0)>>>0<(k[(k[h>>2]|0)+52+16>>2]|0)>>>0){f=lt(k[h>>2]|0,z)|0;k[A>>2]=f;if(k[A>>2]|0){k[g>>2]=k[A>>2];F=k[g>>2]|0;r=G;return F|0}k[u>>2]=k[(k[h>>2]|0)+52+16>>2];k[t>>2]=k[(k[h>>2]|0)+52+20>>2];k[o>>2]=1;while(1){if((k[o>>2]|0)>=5)break;k[E>>2]=k[(k[y>>2]|0)+4+(k[o>>2]<<2)>>2];do if((k[u>>2]|0)>>>0>(k[E>>2]|0)>>>0){f=gt(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,3+(k[o>>2]|0)|0,1)|0;k[A>>2]=f;if(!(k[A>>2]|0)){k[(k[y>>2]|0)+4+(k[o>>2]<<2)>>2]=(k[o>>2]|0)==1?k[u>>2]|0:-1;Ur(k[h>>2]|0,3+(k[o>>2]|0)|0,1);break}if((k[A>>2]|0)!=5)break a;k[u>>2]=k[E>>2];k[j>>2]=0}while(0);k[o>>2]=(k[o>>2]|0)+1}if((k[k[y>>2]>>2]|0)>>>0<(k[u>>2]|0)>>>0?(F=gt(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,3,1)|0,k[A>>2]=F,(F|0)==0):0){k[v>>2]=k[k[y>>2]>>2];k[(k[y>>2]|0)+32>>2]=k[u>>2];if(k[m>>2]|0){F=Fr(k[(k[h>>2]|0)+8>>2]|0,k[m>>2]|0)|0;k[A>>2]=F}if(((k[A>>2]|0)==0?(f=k[D>>2]|0,f=kS(k[t>>2]|0,0,f|0,((f|0)<0)<<31>>31|0)|0,F=w,k[F>>2]=f,k[F+4>>2]=L,F=fj(k[(k[h>>2]|0)+4>>2]|0,x)|0,k[A>>2]=F,(k[A>>2]|0)==0):0)?(f=x,c=k[f+4>>2]|0,F=w,E=k[F+4>>2]|0,(c|0)<(E|0)|((c|0)==(E|0)?(k[f>>2]|0)>>>0<(k[F>>2]|0)>>>0:0)):0)bt(k[(k[h>>2]|0)+4>>2]|0,5,w);b:while(1){if(k[A>>2]|0)break;while(1){if(mt(k[z>>2]|0,p,q)|0)break b;if((k[q>>2]|0)>>>0<=(k[v>>2]|0)>>>0)continue b;if((k[q>>2]|0)>>>0>(k[u>>2]|0)>>>0)continue b;if((k[p>>2]|0)>>>0>(k[t>>2]|0)>>>0)continue b;f=(k[D>>2]|0)+24|0;f=kS((k[q>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=$R(32,0,f|0,L|0)|0;f=$R(f|0,L|0,24,0)|0;F=s;k[F>>2]=f;k[F+4>>2]=L;F=s;F=os(k[(k[h>>2]|0)+8>>2]|0,k[n>>2]|0,k[D>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[A>>2]=F;if(k[A>>2]|0)break b;f=k[D>>2]|0;f=kS((k[p>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;F=s;k[F>>2]=f;k[F+4>>2]=L;F=s;F=Sg(k[(k[h>>2]|0)+4>>2]|0,k[n>>2]|0,k[D>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[A>>2]=F;if(!((k[A>>2]|0)==0&(k[A>>2]|0)==0))break b}}if(!(k[A>>2]|0)){f=k[u>>2]|0;F=(Ns(k[h>>2]|0)|0)+16|0;if((f|0)==(k[F>>2]|0)?(f=k[D>>2]|0,f=kS(k[(k[h>>2]|0)+52+20>>2]|0,0,f|0,((f|0)<0)<<31>>31|0)|0,F=C,k[F>>2]=f,k[F+4>>2]=L,F=C,F=Er(k[(k[h>>2]|0)+4>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0,k[A>>2]=F,(k[A>>2]|0)==0&(k[m>>2]|0)!=0):0){F=Fr(k[(k[h>>2]|0)+4>>2]|0,k[m>>2]|0)|0;k[A>>2]=F}if(!(k[A>>2]|0))k[k[y>>2]>>2]=k[u>>2]}Ur(k[h>>2]|0,3,1)}if((k[A>>2]|0)==5){k[A>>2]=0;F=36}else F=36}else F=36;while(0);do if((F|0)==36?(k[A>>2]|0)==0&(k[i>>2]|0)!=0:0){if((k[k[y>>2]>>2]|0)>>>0<(k[(k[h>>2]|0)+52+16>>2]|0)>>>0){k[A>>2]=5;break}if((k[i>>2]|0)>=2?(ae(4,B),F=gt(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,4,4)|0,k[A>>2]=F,(k[A>>2]|0)==0):0){if((k[i>>2]|0)==3){nt(k[h>>2]|0,k[B>>2]|0);F=Er(k[(k[h>>2]|0)+8>>2]|0,0,0)|0;k[A>>2]=F}Ur(k[h>>2]|0,4,4)}}while(0);ot(k[z>>2]|0);k[g>>2]=k[A>>2];F=k[g>>2]|0;r=G;return F|0}function kt(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[k[(k[b>>2]|0)+32>>2]>>2]|0)+96|0}function lt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+60|0;d=v+56|0;e=v+52|0;t=v+48|0;s=v+44|0;m=v+40|0;p=v+36|0;l=v+32|0;i=v+28|0;u=v+24|0;f=v+20|0;n=v+16|0;h=v+12|0;o=v+8|0;q=v+4|0;g=v;k[d>>2]=a;k[e>>2]=b;k[u>>2]=0;k[m>>2]=k[(k[d>>2]|0)+52+16>>2];b=(Es(k[m>>2]|0)|0)+1|0;k[s>>2]=b;k[p>>2]=28+(((k[s>>2]|0)-1|0)*20|0)+(k[m>>2]<<1);b=k[p>>2]|0;b=Td(b,((b|0)<0)<<31>>31)|0;k[t>>2]=b;if(!(k[t>>2]|0)){k[c>>2]=7;u=k[c>>2]|0;r=v;return u|0}dS(k[t>>2]|0,0,k[p>>2]|0)|0;k[(k[t>>2]|0)+4>>2]=k[s>>2];b=Td(((k[m>>2]|0)>>>0>4096?4096:k[m>>2]|0)<<1,0)|0;k[i>>2]=b;if(!(k[i>>2]|0))k[u>>2]=7;k[l>>2]=0;while(1){if(k[u>>2]|0)break;if((k[l>>2]|0)>=(k[s>>2]|0))break;b=Fs(k[d>>2]|0,k[l>>2]|0,f,h,n)|0;k[u>>2]=b;if(!(k[u>>2]|0)){k[h>>2]=(k[h>>2]|0)+4;if(((k[l>>2]|0)+1|0)==(k[s>>2]|0))k[q>>2]=(k[m>>2]|0)-(k[n>>2]|0);else k[q>>2]=((k[f>>2]|0)-(k[h>>2]|0)|0)/4|0;k[g>>2]=(k[t>>2]|0)+8+((k[(k[t>>2]|0)+4>>2]|0)*20|0)+(k[n>>2]<<1);k[n>>2]=(k[n>>2]|0)+1;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break;j[(k[g>>2]|0)+(k[o>>2]<<1)>>1]=k[o>>2];k[o>>2]=(k[o>>2]|0)+1}ut(k[h>>2]|0,k[i>>2]|0,k[g>>2]|0,q);k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+16>>2]=k[n>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+12>>2]=k[q>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+4>>2]=k[g>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+8>>2]=k[h>>2]}k[l>>2]=(k[l>>2]|0)+1}Ud(k[i>>2]|0);if(k[u>>2]|0)ot(k[t>>2]|0);k[k[e>>2]>>2]=k[t>>2];k[c>>2]=k[u>>2];u=k[c>>2]|0;r=v;return u|0}function mt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;h=o+16|0;j=o+12|0;g=o+8|0;l=o+4|0;i=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=-1;k[h>>2]=k[k[d>>2]>>2];k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)-1;while(1){if((k[g>>2]|0)<0)break;k[l>>2]=(k[d>>2]|0)+8+((k[g>>2]|0)*20|0);while(1){if((k[k[l>>2]>>2]|0)>=(k[(k[l>>2]|0)+12>>2]|0))break;k[i>>2]=k[(k[(k[l>>2]|0)+8>>2]|0)+((m[(k[(k[l>>2]|0)+4>>2]|0)+(k[k[l>>2]>>2]<<1)>>1]|0)<<2)>>2];if((k[i>>2]|0)>>>0>(k[h>>2]|0)>>>0){n=6;break}b=k[l>>2]|0;k[b>>2]=(k[b>>2]|0)+1}if((n|0)==6?(n=0,(k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0):0){k[j>>2]=k[i>>2];k[k[f>>2]>>2]=(k[(k[l>>2]|0)+16>>2]|0)+(m[(k[(k[l>>2]|0)+4>>2]|0)+(k[k[l>>2]>>2]<<1)>>1]|0)}k[g>>2]=(k[g>>2]|0)+-1}n=k[j>>2]|0;k[k[d>>2]>>2]=n;k[k[e>>2]>>2]=n;r=o;return (k[j>>2]|0)==-1|0}function nt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;f=e+16|0;g=e+12|0;d=e+8|0;c=e+4|0;h=e;k[f>>2]=a;k[g>>2]=b;b=kt(k[f>>2]|0)|0;k[d>>2]=b;k[h>>2]=(k[f>>2]|0)+52+32;b=(k[f>>2]|0)+112|0;k[b>>2]=(k[b>>2]|0)+1;k[(k[f>>2]|0)+52+16>>2]=0;b=k[h>>2]|0;pt(b,1+(qr(k[h>>2]|0)|0)|0);k[(k[f>>2]|0)+52+32+4>>2]=k[g>>2];qt(k[f>>2]|0);k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+32>>2]=0;k[(k[d>>2]|0)+4+4>>2]=0;k[c>>2]=2;while(1){if((k[c>>2]|0)>=5)break;k[(k[d>>2]|0)+4+(k[c>>2]<<2)>>2]=-1;k[c>>2]=(k[c>>2]|0)+1}r=e;return}function ot(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function pt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[k[d>>2]>>0]=(k[e>>2]|0)>>>24;i[(k[d>>2]|0)+1>>0]=(k[e>>2]|0)>>>16;i[(k[d>>2]|0)+2>>0]=(k[e>>2]|0)>>>8;i[(k[d>>2]|0)+3>>0]=k[e>>2];r=c;return}function qt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f+4|0;k[d>>2]=a;a=Ns(k[d>>2]|0)|0;k[e>>2]=a;k[f>>2]=40;i[(k[d>>2]|0)+52+12>>0]=1;k[(k[d>>2]|0)+52>>2]=3007e3;rt(1,(k[d>>2]|0)+52|0,40,0,(k[d>>2]|0)+52+40|0);a=(k[e>>2]|0)+48|0;b=(k[d>>2]|0)+52|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));st(k[d>>2]|0);a=k[e>>2]|0;b=(k[d>>2]|0)+52|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));r=f;return}function rt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;f=n+32|0;p=n+28|0;o=n+24|0;g=n+20|0;h=n+16|0;l=n+12|0;m=n+8|0;i=n+4|0;j=n;k[f>>2]=a;k[p>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=k[p>>2];k[j>>2]=(k[p>>2]|0)+(k[o>>2]|0);if(k[g>>2]|0){k[l>>2]=k[k[g>>2]>>2];k[m>>2]=k[(k[g>>2]|0)+4>>2]}else{k[m>>2]=0;k[l>>2]=0}if(k[f>>2]|0){do{p=k[i>>2]|0;k[i>>2]=p+4;k[l>>2]=(k[l>>2]|0)+((k[p>>2]|0)+(k[m>>2]|0));p=k[i>>2]|0;k[i>>2]=p+4;k[m>>2]=(k[m>>2]|0)+((k[p>>2]|0)+(k[l>>2]|0))}while((k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0);p=k[l>>2]|0;o=k[h>>2]|0;k[o>>2]=p;o=k[m>>2]|0;p=k[h>>2]|0;p=p+4|0;k[p>>2]=o;r=n;return}else{do{k[l>>2]=(k[l>>2]|0)+(((k[k[i>>2]>>2]&255)<<24)+((k[k[i>>2]>>2]&65280)<<8)+((k[k[i>>2]>>2]&16711680)>>>8)+((k[k[i>>2]>>2]&-16777216)>>>24)+(k[m>>2]|0));k[m>>2]=(k[m>>2]|0)+(((k[(k[i>>2]|0)+4>>2]&255)<<24)+((k[(k[i>>2]|0)+4>>2]&65280)<<8)+((k[(k[i>>2]|0)+4>>2]&16711680)>>>8)+((k[(k[i>>2]|0)+4>>2]&-16777216)>>>24)+(k[l>>2]|0));k[i>>2]=(k[i>>2]|0)+8}while((k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0);p=k[l>>2]|0;o=k[h>>2]|0;k[o>>2]=p;o=k[m>>2]|0;p=k[h>>2]|0;p=p+4|0;k[p>>2]=o;r=n;return}}function st(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((l[(k[b>>2]|0)+43>>0]|0|0)==2){r=c;return}tt(k[(k[b>>2]|0)+4>>2]|0);r=c;return}function tt(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[(k[k[c>>2]>>2]|0)+60>>2]&255](k[c>>2]|0);r=b;return}function ut(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+160|0;e=s+144|0;f=s+140|0;g=s+136|0;h=s+132|0;n=s+128|0;o=s+124|0;i=s+120|0;l=s+116|0;m=s+112|0;j=s+8|0;p=s+4|0;q=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=k[k[h>>2]>>2];k[o>>2]=0;k[i>>2]=0;k[m>>2]=0;b=j;a=b+104|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[n>>2]|0))break;k[o>>2]=1;k[i>>2]=(k[g>>2]|0)+(k[l>>2]<<1);k[m>>2]=0;while(1){if(!(k[l>>2]&1<>2]))break;k[p>>2]=j+(k[m>>2]<<3);vt(k[e>>2]|0,k[(k[p>>2]|0)+4>>2]|0,k[k[p>>2]>>2]|0,i,o,k[f>>2]|0);k[m>>2]=(k[m>>2]|0)+1}k[j+(k[m>>2]<<3)+4>>2]=k[i>>2];k[j+(k[m>>2]<<3)>>2]=k[o>>2];k[l>>2]=(k[l>>2]|0)+1}k[m>>2]=(k[m>>2]|0)+1;while(1){if((k[m>>2]|0)>>>0>=13)break;if(k[n>>2]&1<>2]){k[q>>2]=j+(k[m>>2]<<3);vt(k[e>>2]|0,k[(k[q>>2]|0)+4>>2]|0,k[k[q>>2]>>2]|0,i,o,k[f>>2]|0)}k[m>>2]=(k[m>>2]|0)+1}k[k[h>>2]>>2]=k[o>>2];r=s;return}function vt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;g=y+44|0;h=y+40|0;i=y+36|0;l=y+32|0;n=y+28|0;o=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;p=y+4|0;v=y+48|0;q=y;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[l>>2]=d;k[n>>2]=e;k[o>>2]=f;k[s>>2]=0;k[u>>2]=0;k[t>>2]=0;k[w>>2]=k[k[n>>2]>>2];k[p>>2]=k[k[l>>2]>>2];while(1){if((k[u>>2]|0)>=(k[w>>2]|0)?(k[s>>2]|0)>=(k[i>>2]|0):0)break;do if((k[s>>2]|0)<(k[i>>2]|0)){if((k[u>>2]|0)<(k[w>>2]|0)?(k[(k[g>>2]|0)+((m[(k[h>>2]|0)+(k[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(k[(k[g>>2]|0)+((m[(k[p>>2]|0)+(k[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}e=k[s>>2]|0;k[s>>2]=e+1;j[v>>1]=j[(k[h>>2]|0)+(e<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;e=k[u>>2]|0;k[u>>2]=e+1;j[v>>1]=j[(k[p>>2]|0)+(e<<1)>>1]|0}k[q>>2]=k[(k[g>>2]|0)+((m[v>>1]|0)<<2)>>2];d=j[v>>1]|0;e=k[t>>2]|0;k[t>>2]=e+1;j[(k[o>>2]|0)+(e<<1)>>1]=d;if((k[s>>2]|0)>=(k[i>>2]|0))continue;if((k[(k[g>>2]|0)+((m[(k[h>>2]|0)+(k[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(k[q>>2]|0))continue;k[s>>2]=(k[s>>2]|0)+1}k[k[l>>2]>>2]=k[h>>2];k[k[n>>2]>>2]=k[t>>2];bS(k[h>>2]|0,k[o>>2]|0,k[t>>2]<<1|0)|0;r=y;return}function wt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+128|0;d=o+120|0;e=o+116|0;f=o+112|0;g=o+104|0;j=o+56|0;n=o+8|0;h=o;k[e>>2]=a;k[f>>2]=b;b=Ns(k[e>>2]|0)|0;k[h>>2]=b;b=j;a=k[h>>2]|0;c=b+48|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0));st(k[e>>2]|0);b=n;a=(k[h>>2]|0)+48|0;c=b+48|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0));if(oR(j,n,48)|0){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}if(!(l[j+12>>0]|0)){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}rt(1,j,40,0,g);if((k[g>>2]|0)==(k[j+40>>2]|0)?(k[g+4>>2]|0)==(k[j+40+4>>2]|0):0){if(oR((k[e>>2]|0)+52|0,j,48)|0){k[k[f>>2]>>2]=1;b=(k[e>>2]|0)+52|0;a=j;c=b+48|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));k[(k[e>>2]|0)+36>>2]=((m[(k[e>>2]|0)+52+14>>1]|0)&65024)+(((m[(k[e>>2]|0)+52+14>>1]|0)&1)<<16)}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}function xt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+144|0;B=D+16|0;c=D+96|0;d=D+92|0;y=D+88|0;u=D+8|0;h=D+80|0;o=D+76|0;t=D+72|0;e=D+104|0;g=D+68|0;z=D+64|0;f=D+60|0;n=D+56|0;p=D;A=D+52|0;s=D+48|0;C=D+44|0;q=D+40|0;x=D+36|0;v=D+32|0;w=D+28|0;m=D+24|0;k[d>>2]=a;k[h>>2]=0;k[h+4>>2]=0;k[o>>2]=1+(l[(k[d>>2]|0)+45>>0]|0);k[t>>2]=8-(k[o>>2]|0);b=ft(k[d>>2]|0,k[o>>2]|0,k[t>>2]|0)|0;k[y>>2]=b;if(k[y>>2]|0){k[c>>2]=k[y>>2];C=k[c>>2]|0;r=D;return C|0}a=(k[d>>2]|0)+52|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));b=fj(k[(k[d>>2]|0)+8>>2]|0,u)|0;k[y>>2]=b;a:do if(!(k[y>>2]|0)){b=u;a=k[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>32){k[g>>2]=0;b=os(k[(k[d>>2]|0)+8>>2]|0,e,32,0,0)|0;k[y>>2]=b;if(k[y>>2]|0)break a;b=qr(e)|0;k[s>>2]=b;b=qr(e+8|0)|0;k[A>>2]=b;if((((k[s>>2]&-2|0)==931071618?!(((k[A>>2]|0)>65536?1:(k[A>>2]&(k[A>>2]|0)-1|0)!=0)|(k[A>>2]|0)<512):0)?(i[(k[d>>2]|0)+52+13>>0]=k[s>>2]&1,k[(k[d>>2]|0)+36>>2]=k[A>>2],s=qr(e+12|0)|0,k[(k[d>>2]|0)+112>>2]=s,s=(k[d>>2]|0)+52+32|0,b=e+16|0,i[s>>0]=i[b>>0]|0,i[s+1>>0]=i[b+1>>0]|0,i[s+2>>0]=i[b+2>>0]|0,i[s+3>>0]=i[b+3>>0]|0,i[s+4>>0]=i[b+4>>0]|0,i[s+5>>0]=i[b+5>>0]|0,i[s+6>>0]=i[b+6>>0]|0,i[s+7>>0]=i[b+7>>0]|0,rt((l[(k[d>>2]|0)+52+13>>0]|0)==((i[968]|0)==0|0)&1,e,24,0,(k[d>>2]|0)+52+24|0),s=k[(k[d>>2]|0)+52+24>>2]|0,(s|0)==(qr(e+24|0)|0)):0)?(s=k[(k[d>>2]|0)+52+24+4>>2]|0,(s|0)==(qr(e+28|0)|0)):0){s=qr(e+4|0)|0;k[C>>2]=s;if((k[C>>2]|0)!=3007e3){C=yt(54951)|0;k[y>>2]=C;break}k[z>>2]=(k[A>>2]|0)+24;C=k[z>>2]|0;C=Td(C,((C|0)<0)<<31>>31)|0;k[g>>2]=C;if(!(k[g>>2]|0)){k[y>>2]=7;break a}k[f>>2]=(k[g>>2]|0)+24;k[n>>2]=0;C=p;k[C>>2]=32;k[C+4>>2]=0;while(1){b=p;s=k[z>>2]|0;s=$R(k[b>>2]|0,k[b+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;b=L;C=u;e=k[C+4>>2]|0;if(!((b|0)<(e|0)|((b|0)==(e|0)?s>>>0<=(k[C>>2]|0)>>>0:0)))break;k[n>>2]=(k[n>>2]|0)+1;C=p;C=os(k[(k[d>>2]|0)+8>>2]|0,k[g>>2]|0,k[z>>2]|0,k[C>>2]|0,k[C+4>>2]|0)|0;k[y>>2]=C;if(k[y>>2]|0)break;C=zt(k[d>>2]|0,x,v,k[f>>2]|0,k[g>>2]|0)|0;k[q>>2]=C;if(!(k[q>>2]|0))break;C=At(k[d>>2]|0,k[n>>2]|0,k[x>>2]|0)|0;k[y>>2]=C;if(k[y>>2]|0)break;if(k[v>>2]|0){k[(k[d>>2]|0)+52+16>>2]=k[n>>2];k[(k[d>>2]|0)+52+20>>2]=k[v>>2];j[(k[d>>2]|0)+52+14>>1]=k[A>>2]&65280|k[A>>2]>>16;k[h>>2]=k[(k[d>>2]|0)+52+24>>2];k[h+4>>2]=k[(k[d>>2]|0)+52+24+4>>2]}s=k[z>>2]|0;C=p;s=$R(k[C>>2]|0,k[C+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;C=p;k[C>>2]=s;k[C+4>>2]=L}Ud(k[g>>2]|0)}}while(0);if(!(k[y>>2]|0)){k[(k[d>>2]|0)+52+24>>2]=k[h>>2];k[(k[d>>2]|0)+52+24+4>>2]=k[h+4>>2];qt(k[d>>2]|0);C=kt(k[d>>2]|0)|0;k[w>>2]=C;k[k[w>>2]>>2]=0;k[(k[w>>2]|0)+32>>2]=k[(k[d>>2]|0)+52+16>>2];k[(k[w>>2]|0)+4>>2]=0;k[m>>2]=1;while(1){if((k[m>>2]|0)>=5)break;k[(k[w>>2]|0)+4+(k[m>>2]<<2)>>2]=-1;k[m>>2]=(k[m>>2]|0)+1}if(k[(k[d>>2]|0)+52+16>>2]|0)k[(k[w>>2]|0)+4+4>>2]=k[(k[d>>2]|0)+52+16>>2];if(k[(k[d>>2]|0)+52+20>>2]|0){C=k[(k[d>>2]|0)+108>>2]|0;k[B>>2]=k[(k[d>>2]|0)+52+16>>2];k[B+4>>2]=C;$d(283,25952,B)}}}while(0);Ur(k[d>>2]|0,k[o>>2]|0,k[t>>2]|0);k[c>>2]=k[y>>2];C=k[c>>2]|0;r=D;return C|0}function yt(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=$j(14,k[c>>2]|0,25935)|0;r=b;return a|0}function zt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;f=s+32|0;g=s+28|0;h=s+24|0;j=s+20|0;m=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=(k[g>>2]|0)+52+24;if(oR((k[g>>2]|0)+52+32|0,(k[n>>2]|0)+8|0,8)|0){k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}c=qr(k[n>>2]|0)|0;k[q>>2]=c;if(!(k[q>>2]|0)){k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}k[p>>2]=(l[(k[g>>2]|0)+52+13>>0]|0)==((i[968]|0)==0|0)&1;rt(k[p>>2]|0,k[n>>2]|0,8,k[o>>2]|0,k[o>>2]|0);rt(k[p>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[o>>2]|0,k[o>>2]|0);c=k[k[o>>2]>>2]|0;if((c|0)==(qr((k[n>>2]|0)+16|0)|0)?(c=k[(k[o>>2]|0)+4>>2]|0,(c|0)==(qr((k[n>>2]|0)+20|0)|0)):0){k[k[h>>2]>>2]=k[q>>2];c=qr((k[n>>2]|0)+4|0)|0;k[k[j>>2]>>2]=c;k[f>>2]=1;c=k[f>>2]|0;r=s;return c|0}k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}function At(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;d=t+44|0;e=t+40|0;f=t+36|0;g=t+32|0;q=t+28|0;m=t+24|0;i=t+20|0;h=t+16|0;l=t+12|0;n=t+8|0;p=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;k[i>>2]=0;k[h>>2]=0;a=k[e>>2]|0;a=Fs(a,Es(k[f>>2]|0)|0,h,i,m)|0;k[q>>2]=a;do if(!(k[q>>2]|0)){k[n>>2]=(k[f>>2]|0)-(k[m>>2]|0);if((k[n>>2]|0)==1){k[o>>2]=(k[h>>2]|0)+16384-((k[i>>2]|0)+4);dS((k[i>>2]|0)+4|0,0,k[o>>2]|0)|0}if(k[(k[i>>2]|0)+(k[n>>2]<<2)>>2]|0)Ds(k[e>>2]|0);k[p>>2]=k[n>>2];a=Ys(k[g>>2]|0)|0;k[l>>2]=a;while(1){if(!(j[(k[h>>2]|0)+(k[l>>2]<<1)>>1]|0)){s=11;break}a=k[p>>2]|0;k[p>>2]=a+-1;if(!a)break;a=Zs(k[l>>2]|0)|0;k[l>>2]=a}if((s|0)==11){k[(k[i>>2]|0)+(k[n>>2]<<2)>>2]=k[g>>2];j[(k[h>>2]|0)+(k[l>>2]<<1)>>1]=k[n>>2];break}s=_j(54820)|0;k[d>>2]=s;s=k[d>>2]|0;r=t;return s|0}while(0);k[d>>2]=k[q>>2];s=k[d>>2]|0;r=t;return s|0}function Bt(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[b>>2]=a;if(((k[b>>2]|0)!=0?(k[k[b>>2]>>2]|0)!=0:0)?(k[(k[b>>2]|0)+8>>2]|0)>=0:0){a=gc[k[k[b>>2]>>2]&255](k[(k[b>>2]|0)+4>>2]|0,k[(k[b>>2]|0)+8>>2]|0)|0;k[d>>2]=a;b=(k[b>>2]|0)+8|0;if(!(k[d>>2]|0))k[b>>2]=-1;else k[b>>2]=(k[b>>2]|0)+1;k[c>>2]=k[d>>2];d=k[c>>2]|0;r=e;return d|0}k[c>>2]=0;d=k[c>>2]|0;r=e;return d|0}function Ct(){return 48}function Dt(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((k[(k[b>>2]|0)+4>>2]|0)<=72){a=72;r=c;return a|0}a=k[(k[b>>2]|0)+4>>2]|0;r=c;return a|0}function Et(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[e>>2]=k[h>>2];k[f>>2]=0;if(k[(k[e>>2]|0)+44>>2]|0){k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}do if(l[(k[e>>2]|0)+21>>0]|0){if(((l[(k[e>>2]|0)+21>>0]|0)&3|0)==0?((m[(k[d>>2]|0)+24>>1]|0)&8|0)==0:0)break;k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}while(0);k[(k[d>>2]|0)+12>>2]=0;h=(Lr(k[e>>2]|0)|0)!=0;a=k[d>>2]|0;if(h){h=Gt(a)|0;k[f>>2]=h;if(!(k[f>>2]|0)){h=Ht(k[e>>2]|0,k[d>>2]|0,0,0)|0;k[f>>2]=h}}else{if(!(((m[a+24>>1]|0)&8|0)==0?(l[(k[e>>2]|0)+17>>0]|0|0)!=3:0)){h=It(k[e>>2]|0,1)|0;k[f>>2]=h}if(!(k[f>>2]|0)){h=Jt(k[e>>2]|0,k[d>>2]|0)|0;k[f>>2]=h}}if(!(k[f>>2]|0))qj(k[d>>2]|0);h=wr(k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=h;h=k[c>>2]|0;r=g;return h|0}function Ft(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;c=k[n>>2]|0;f=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(f|0));k[(k[n>>2]|0)+24>>2]=1;k[(k[n>>2]|0)+28>>2]=k[h>>2];i[(k[n>>2]|0)+32>>0]=k[j>>2];i[(k[n>>2]|0)+33>>0]=2;k[(k[n>>2]|0)+36>>2]=k[l>>2];k[(k[n>>2]|0)+40>>2]=k[m>>2];k[(k[n>>2]|0)+16>>2]=100;k[(k[n>>2]|0)+20>>2]=1;n=ij(k[n>>2]|0,k[g>>2]|0)|0;r=o;return n|0}function Gt(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(Yt(k[c>>2]|0)|0){a=Zt(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function Ht(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;n=o+12|0;i=o+8|0;j=o+4|0;m=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a:do if(k[h>>2]|0){k[m>>2]=f;k[i>>2]=0;k[j>>2]=k[f>>2];while(1){a=k[j>>2]|0;k[k[m>>2]>>2]=a;if(!a)break a;if((k[(k[j>>2]|0)+20>>2]|0)>>>0<=(k[g>>2]|0)>>>0){k[m>>2]=(k[j>>2]|0)+12;k[i>>2]=(k[i>>2]|0)+1}k[j>>2]=k[(k[j>>2]|0)+12>>2]}}else k[i>>2]=1;while(0);m=(k[e>>2]|0)+192+8|0;k[m>>2]=(k[m>>2]|0)+(k[i>>2]|0);if((k[(k[f>>2]|0)+20>>2]|0)==1)Lt(k[f>>2]|0);m=Rt(k[(k[e>>2]|0)+216>>2]|0,k[(k[e>>2]|0)+160>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,l[(k[e>>2]|0)+11>>0]|0)|0;k[n>>2]=m;if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if(!(k[(k[e>>2]|0)+96>>2]|0)){n=k[n>>2]|0;r=o;return n|0}k[j>>2]=k[f>>2];while(1){if(!(k[j>>2]|0))break;ss(k[(k[e>>2]|0)+96>>2]|0,k[(k[j>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+4>>2]|0);k[j>>2]=k[(k[j>>2]|0)+12>>2]}n=k[n>>2]|0;r=o;return n|0}function It(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;c=n+24|0;d=n+20|0;e=n+16|0;j=n+12|0;g=n+8|0;h=n;f=n+40|0;m=n+28|0;k[d>>2]=a;k[e>>2]=b;a=Mt(k[d>>2]|0)|0;k[j>>2]=a;if(k[j>>2]|0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}do if(!(i[(k[d>>2]|0)+7>>0]|0)){if((k[k[(k[d>>2]|0)+68>>2]>>2]|0)!=0?(l[(k[d>>2]|0)+5>>0]|0)!=4:0){a=ls(k[(k[d>>2]|0)+64>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]&512)){i[m>>0]=i[25901]|0;i[m+1>>0]=i[25902]|0;i[m+2>>0]=i[25903]|0;i[m+3>>0]=i[25904]|0;i[m+4>>0]=i[25905]|0;i[m+5>>0]=i[25906]|0;i[m+6>>0]=i[25907]|0;i[m+7>>0]=i[25908]|0;pt(m+8|0,k[(k[d>>2]|0)+48>>2]|0);b=zs(k[d>>2]|0)|0;a=h;k[a>>2]=b;k[a+4>>2]=L;a=h;a=os(k[(k[d>>2]|0)+68>>2]|0,f,8,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=a;if((k[j>>2]|0)==0?0==(oR(f,25901,8)|0):0){a=h;a=Sg(k[(k[d>>2]|0)+68>>2]|0,26022,1,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=a}if((k[j>>2]|0)!=0&(k[j>>2]|0)!=522){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}if(((l[(k[d>>2]|0)+8>>0]|0)!=0?0==(k[g>>2]&1024|0):0)?(a=Fr(k[(k[d>>2]|0)+68>>2]|0,l[(k[d>>2]|0)+12>>0]|0)|0,k[j>>2]=a,(k[j>>2]|0)!=0):0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}a=(k[d>>2]|0)+88|0;m=Sg(k[(k[d>>2]|0)+68>>2]|0,m,12,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=m;if(k[j>>2]|0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}}if(0==(k[g>>2]&1024|0)?(m=Fr(k[(k[d>>2]|0)+68>>2]|0,l[(k[d>>2]|0)+12>>0]|((l[(k[d>>2]|0)+12>>0]|0)==3?16:0))|0,k[j>>2]=m,(k[j>>2]|0)!=0):0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}b=(k[d>>2]|0)+80|0;a=k[b+4>>2]|0;m=(k[d>>2]|0)+88|0;k[m>>2]=k[b>>2];k[m+4>>2]=a;if(!(k[e>>2]|0))break;if(k[g>>2]&512)break;k[(k[d>>2]|0)+48>>2]=0;m=Nt(k[d>>2]|0)|0;k[j>>2]=m;if(!(k[j>>2]|0))break;k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}a=(k[d>>2]|0)+80|0;j=k[a+4>>2]|0;m=(k[d>>2]|0)+88|0;k[m>>2]=k[a>>2];k[m+4>>2]=j}while(0);Ot(k[(k[d>>2]|0)+212>>2]|0);i[(k[d>>2]|0)+17>>0]=4;k[c>>2]=0;m=k[c>>2]|0;r=n;return m|0}function Jt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+48|0;d=l+32|0;e=l+28|0;j=l+24|0;c=l+8|0;h=l+20|0;f=l;g=l+16|0;k[d>>2]=a;k[e>>2]=b;k[j>>2]=0;if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){a=Kt(k[d>>2]|0,k[(k[d>>2]|0)+64>>2]|0,k[(k[d>>2]|0)+152>>2]|0)|0;k[j>>2]=a}do if((k[j>>2]|0)==0?(k[(k[d>>2]|0)+40>>2]|0)>>>0<(k[(k[d>>2]|0)+28>>2]|0)>>>0:0){if((k[(k[e>>2]|0)+12>>2]|0)==0?(k[(k[e>>2]|0)+20>>2]|0)>>>0<=(k[(k[d>>2]|0)+40>>2]|0)>>>0:0)break;b=k[(k[d>>2]|0)+160>>2]|0;b=kS(b|0,((b|0)<0)<<31>>31|0,k[(k[d>>2]|0)+28>>2]|0,0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L;bt(k[(k[d>>2]|0)+64>>2]|0,5,c);k[(k[d>>2]|0)+40>>2]=k[(k[d>>2]|0)+28>>2]}while(0);while(1){if(!((k[j>>2]|0)==0?(k[e>>2]|0)!=0:0))break;k[h>>2]=k[(k[e>>2]|0)+20>>2];if((k[h>>2]|0)>>>0<=(k[(k[d>>2]|0)+28>>2]|0)>>>0?0==((m[(k[e>>2]|0)+24>>1]|0)&16|0):0){a=k[(k[d>>2]|0)+160>>2]|0;a=kS((k[h>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=f;k[c>>2]=a;k[c+4>>2]=L;if((k[(k[e>>2]|0)+20>>2]|0)==1)Lt(k[e>>2]|0);k[g>>2]=k[(k[e>>2]|0)+4>>2];c=f;c=Sg(k[(k[d>>2]|0)+64>>2]|0,k[g>>2]|0,k[(k[d>>2]|0)+160>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[j>>2]=c;if((k[h>>2]|0)==1){b=(k[d>>2]|0)+112|0;a=(k[g>>2]|0)+24|0;c=b+16|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0))}if((k[h>>2]|0)>>>0>(k[(k[d>>2]|0)+36>>2]|0)>>>0)k[(k[d>>2]|0)+36>>2]=k[h>>2];c=(k[d>>2]|0)+192+8|0;k[c>>2]=(k[c>>2]|0)+1;ss(k[(k[d>>2]|0)+96>>2]|0,k[h>>2]|0,k[(k[e>>2]|0)+4>>2]|0)}k[e>>2]=k[(k[e>>2]|0)+12>>2]}r=l;return k[j>>2]|0}function Kt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;k[f>>2]=k[f>>2]|30;c=cs(k[k[h>>2]>>2]|0,0,k[g>>2]|0,k[f>>2]|0,0)|0;k[d>>2]=c;r=e;return k[d>>2]|0}function Lt(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=(qr((k[(k[c>>2]|0)+16>>2]|0)+112|0)|0)+1|0;k[d>>2]=a;pt((k[(k[c>>2]|0)+4>>2]|0)+24|0,k[d>>2]|0);pt((k[(k[c>>2]|0)+4>>2]|0)+92|0,k[d>>2]|0);pt((k[(k[c>>2]|0)+4>>2]|0)+96|0,3015001);r=b;return}function Mt(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+44>>2];if((k[c>>2]|0)==0?0==(Lr(k[b>>2]|0)|0):0){a=Pt(k[b>>2]|0,4)|0;k[c>>2]=a}r=d;return k[c>>2]|0}function Nt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;h=r;r=r+32|0;c=h+20|0;g=h+16|0;f=h+12|0;d=h+8|0;e=h+4|0;b=h;k[c>>2]=a;k[g>>2]=0;k[f>>2]=k[(k[c>>2]|0)+208>>2];k[d>>2]=k[(k[c>>2]|0)+160>>2];if((k[d>>2]|0)>>>0>(k[(k[c>>2]|0)+156>>2]|0)>>>0)k[d>>2]=k[(k[c>>2]|0)+156>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(k[(k[c>>2]|0)+104>>2]|0))break;a=(k[(k[c>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0)+8|0;if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0){m=(k[c>>2]|0)+80|0;j=k[m+4>>2]|0;a=(k[(k[c>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0)+8|0;k[a>>2]=k[m>>2];k[a+4>>2]=j}k[b>>2]=(k[b>>2]|0)+1}a=zs(k[c>>2]|0)|0;j=L;m=(k[c>>2]|0)+80|0;k[m>>2]=a;k[m+4>>2]=j;m=(k[c>>2]|0)+88|0;k[m>>2]=a;k[m+4>>2]=j;if(((l[(k[c>>2]|0)+7>>0]|0|0)==0?(l[(k[c>>2]|0)+5>>0]|0|0)!=4:0)?((ls(k[(k[c>>2]|0)+64>>2]|0)|0)&512|0)==0:0){b=k[f>>2]|0;a=b+12|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(a|0))}else{m=k[f>>2]|0;i[m>>0]=i[25901]|0;i[m+1>>0]=i[25902]|0;i[m+2>>0]=i[25903]|0;i[m+3>>0]=i[25904]|0;i[m+4>>0]=i[25905]|0;i[m+5>>0]=i[25906]|0;i[m+6>>0]=i[25907]|0;i[m+7>>0]=i[25908]|0;pt((k[f>>2]|0)+8|0,-1)}ae(4,(k[c>>2]|0)+52|0);pt((k[f>>2]|0)+12|0,k[(k[c>>2]|0)+52>>2]|0);pt((k[f>>2]|0)+16|0,k[(k[c>>2]|0)+32>>2]|0);pt((k[f>>2]|0)+20|0,k[(k[c>>2]|0)+156>>2]|0);pt((k[f>>2]|0)+24|0,k[(k[c>>2]|0)+160>>2]|0);dS((k[f>>2]|0)+28|0,0,(k[d>>2]|0)-28|0)|0;k[e>>2]=0;while(1){if(k[g>>2]|0){b=17;break}if((k[e>>2]|0)>>>0>=(k[(k[c>>2]|0)+156>>2]|0)>>>0){b=17;break}m=(k[c>>2]|0)+80|0;m=Sg(k[(k[c>>2]|0)+68>>2]|0,k[f>>2]|0,k[d>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[g>>2]=m;m=(k[c>>2]|0)+80|0;j=m;j=$R(k[j>>2]|0,k[j+4>>2]|0,k[d>>2]|0,0)|0;k[m>>2]=j;k[m+4>>2]=L;k[e>>2]=(k[e>>2]|0)+(k[d>>2]|0)}if((b|0)==17){r=h;return k[g>>2]|0}return 0}function Ot(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-9;k[c>>2]=k[(k[c>>2]|0)+32>>2]}k[(k[b>>2]|0)+8>>2]=k[(k[b>>2]|0)+4>>2];r=d;return}function Pt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){a=Qt(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)!=5){c=4;break}if(!(bc[k[(k[c>>2]|0)+184>>2]&255](k[(k[c>>2]|0)+188>>2]|0)|0)){c=4;break}}if((c|0)==4){r=f;return k[e>>2]|0}return 0}function Qt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((l[(k[c>>2]|0)+18>>0]|0|0)>=(k[d>>2]|0)?(l[(k[c>>2]|0)+18>>0]|0|0)!=5:0){e=k[e>>2]|0;r=f;return e|0}if(l[(k[c>>2]|0)+14>>0]|0)b=0;else b=$s(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}if(!((k[d>>2]|0)==4?1:(l[(k[c>>2]|0)+18>>0]|0|0)!=5)){e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+18>>0]=k[d>>2];e=k[e>>2]|0;r=f;return e|0}function Rt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0;N=r;r=r+176|0;u=N+136|0;v=N+132|0;w=N+128|0;x=N+124|0;y=N+120|0;z=N+116|0;A=N+112|0;H=N+108|0;C=N+104|0;F=N+100|0;G=N+96|0;E=N+92|0;K=N+88|0;D=N+40|0;M=N+16|0;o=N+84|0;n=N+80|0;h=N+144|0;g=N+72|0;s=N+64|0;q=N+60|0;p=N+8|0;t=N+56|0;B=N+52|0;I=N+48|0;J=N;k[v>>2]=a;k[w>>2]=b;k[x>>2]=c;k[y>>2]=d;k[z>>2]=e;k[A>>2]=f;k[G>>2]=0;k[E>>2]=0;k[o>>2]=0;b=Ns(k[v>>2]|0)|0;k[n>>2]=b;if(oR((k[v>>2]|0)+52|0,k[n>>2]|0,48)|0)k[o>>2]=(k[(k[n>>2]|0)+16>>2]|0)+1;b=St(k[v>>2]|0)|0;k[H>>2]=b;if(b){k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}k[C>>2]=k[(k[v>>2]|0)+52+16>>2];if(!(k[C>>2]|0)){pt(h,931071618|(i[968]|0)==0);pt(h+4|0,3007e3);pt(h+8|0,k[w>>2]|0);pt(h+12|0,k[(k[v>>2]|0)+112>>2]|0);if(!(k[(k[v>>2]|0)+112>>2]|0))ae(8,(k[v>>2]|0)+52+32|0);b=h+16|0;f=(k[v>>2]|0)+52+32|0;i[b>>0]=i[f>>0]|0;i[b+1>>0]=i[f+1>>0]|0;i[b+2>>0]=i[f+2>>0]|0;i[b+3>>0]=i[f+3>>0]|0;i[b+4>>0]=i[f+4>>0]|0;i[b+5>>0]=i[f+5>>0]|0;i[b+6>>0]=i[f+6>>0]|0;i[b+7>>0]=i[f+7>>0]|0;rt(1,h,24,0,g);pt(h+24|0,k[g>>2]|0);pt(h+28|0,k[g+4>>2]|0);k[(k[v>>2]|0)+36>>2]=k[w>>2];i[(k[v>>2]|0)+52+13>>0]=(i[968]|0)==0;k[(k[v>>2]|0)+52+24>>2]=k[g>>2];k[(k[v>>2]|0)+52+24+4>>2]=k[g+4>>2];i[(k[v>>2]|0)+47>>0]=1;b=Sg(k[(k[v>>2]|0)+8>>2]|0,h,32,0,0)|0;k[H>>2]=b;if(k[H>>2]|0){k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}if(((k[A>>2]|0)!=0?(l[(k[v>>2]|0)+48>>0]|0)!=0:0)?(b=Fr(k[(k[v>>2]|0)+8>>2]|0,k[A>>2]&19)|0,k[H>>2]=b,(k[H>>2]|0)!=0):0){k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}}k[M>>2]=k[v>>2];k[M+4>>2]=k[(k[v>>2]|0)+8>>2];f=M+8|0;k[f>>2]=0;k[f+4>>2]=0;k[M+16>>2]=k[A>>2];k[M+20>>2]=k[w>>2];f=(k[w>>2]|0)+24|0;f=kS((k[C>>2]|0)+1-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=$R(32,0,f|0,L|0)|0;b=D;k[b>>2]=f;k[b+4>>2]=L;k[K>>2]=(k[w>>2]|0)+24;k[F>>2]=k[x>>2];while(1){if(!(k[F>>2]|0)){g=30;break}if(((k[o>>2]|0)!=0?((k[z>>2]|0)==0?1:(k[(k[F>>2]|0)+12>>2]|0)!=0):0)?(k[q>>2]=0,Rs(k[v>>2]|0,k[(k[F>>2]|0)+20>>2]|0,q)|0,(k[q>>2]|0)>>>0>=(k[o>>2]|0)>>>0):0){f=(k[w>>2]|0)+24|0;f=kS((k[q>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=$R(32,0,f|0,L|0)|0;f=$R(f|0,L|0,24,0)|0;b=p;k[b>>2]=f;k[b+4>>2]=L;if(!((k[(k[v>>2]|0)+104>>2]|0)!=0?(k[q>>2]|0)>>>0>=(k[(k[v>>2]|0)+104>>2]|0)>>>0:0))k[(k[v>>2]|0)+104>>2]=k[q>>2];k[t>>2]=k[(k[F>>2]|0)+4>>2];b=p;b=Sg(k[(k[v>>2]|0)+8>>2]|0,k[t>>2]|0,k[w>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[H>>2]=b;if(k[H>>2]|0){g=22;break}b=(k[F>>2]|0)+24|0;j[b>>1]=m[b>>1]&-65}else{k[C>>2]=(k[C>>2]|0)+1;if(k[z>>2]|0)g=(k[(k[F>>2]|0)+12>>2]|0)==0?k[y>>2]|0:0;else g=0;k[s>>2]=g;b=D;b=Tt(M,k[F>>2]|0,k[s>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[H>>2]=b;if(k[H>>2]|0){g=27;break}k[G>>2]=k[F>>2];f=k[K>>2]|0;b=D;f=$R(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;b=D;k[b>>2]=f;k[b+4>>2]=L;b=(k[F>>2]|0)+24|0;j[b>>1]=m[b>>1]|64}k[F>>2]=k[(k[F>>2]|0)+12>>2]}if((g|0)==22){k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}else if((g|0)==27){k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}else if((g|0)==30){if(((k[z>>2]|0)!=0?(k[(k[v>>2]|0)+104>>2]|0)!=0:0)?(t=Ut(k[v>>2]|0,k[C>>2]|0)|0,k[H>>2]=t,(k[H>>2]|0)!=0):0){k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}if((k[z>>2]|0)!=0?(k[A>>2]&32|0)!=0:0){k[B>>2]=1;a:do if(i[(k[v>>2]|0)+49>>0]|0){t=ms(k[(k[v>>2]|0)+8>>2]|0)|0;k[I>>2]=t;t=D;s=k[I>>2]|0;s=$R(k[t>>2]|0,k[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;s=_R(s|0,L|0,1,0)|0;t=k[I>>2]|0;t=iS(s|0,L|0,t|0,((t|0)<0)<<31>>31|0)|0;I=k[I>>2]|0;I=kS(t|0,L|0,I|0,((I|0)<0)<<31>>31|0)|0;t=M+8|0;k[t>>2]=I;k[t+4>>2]=L;t=M+8|0;I=D;k[B>>2]=((k[t>>2]|0)==(k[I>>2]|0)?(k[t+4>>2]|0)==(k[I+4>>2]|0):0)&1;while(1){t=D;q=k[t+4>>2]|0;I=M+8|0;s=k[I+4>>2]|0;if(!((q|0)<(s|0)|((q|0)==(s|0)?(k[t>>2]|0)>>>0<(k[I>>2]|0)>>>0:0)))break a;I=D;I=Tt(M,k[G>>2]|0,k[y>>2]|0,k[I>>2]|0,k[I+4>>2]|0)|0;k[H>>2]=I;if(k[H>>2]|0)break;t=k[K>>2]|0;I=D;t=$R(k[I>>2]|0,k[I+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;I=D;k[I>>2]=t;k[I+4>>2]=L;k[E>>2]=(k[E>>2]|0)+1}k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}while(0);if(k[B>>2]|0){M=Fr(k[M+4>>2]|0,k[A>>2]&19)|0;k[H>>2]=M}}if(((k[z>>2]|0)!=0?(l[(k[v>>2]|0)+47>>0]|0)!=0:0)?(M=(k[v>>2]|0)+16|0,K=k[M+4>>2]|0,(K|0)>0|(K|0)==0&(k[M>>2]|0)>>>0>=0):0){M=(k[v>>2]|0)+16|0;D=k[M+4>>2]|0;K=J;k[K>>2]=k[M>>2];k[K+4>>2]=D;K=(k[w>>2]|0)+24|0;K=kS((k[C>>2]|0)+(k[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=$R(32,0,K|0,L|0)|0;D=L;M=(k[v>>2]|0)+16|0;I=k[M+4>>2]|0;if((D|0)>(I|0)|((D|0)==(I|0)?K>>>0>(k[M>>2]|0)>>>0:0)){K=(k[w>>2]|0)+24|0;K=kS((k[C>>2]|0)+(k[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=$R(32,0,K|0,L|0)|0;M=J;k[M>>2]=K;k[M+4>>2]=L}M=J;ct(k[v>>2]|0,k[M>>2]|0,k[M+4>>2]|0);i[(k[v>>2]|0)+47>>0]=0}k[C>>2]=k[(k[v>>2]|0)+52+16>>2];k[F>>2]=k[x>>2];while(1){if(!((k[F>>2]|0)!=0?(k[H>>2]|0)==0:0))break;if(m[(k[F>>2]|0)+24>>1]&64){k[C>>2]=(k[C>>2]|0)+1;M=At(k[v>>2]|0,k[C>>2]|0,k[(k[F>>2]|0)+20>>2]|0)|0;k[H>>2]=M}k[F>>2]=k[(k[F>>2]|0)+12>>2]}while(1){if(!((k[H>>2]|0)==0?(k[E>>2]|0)>0:0))break;k[C>>2]=(k[C>>2]|0)+1;k[E>>2]=(k[E>>2]|0)+-1;M=At(k[v>>2]|0,k[C>>2]|0,k[(k[G>>2]|0)+20>>2]|0)|0;k[H>>2]=M}if(!(k[H>>2]|0)){j[(k[v>>2]|0)+52+14>>1]=k[w>>2]&65280|k[w>>2]>>16;k[(k[v>>2]|0)+52+16>>2]=k[C>>2];if(k[z>>2]|0){M=(k[v>>2]|0)+52+8|0;k[M>>2]=(k[M>>2]|0)+1;k[(k[v>>2]|0)+52+20>>2]=k[y>>2]}if(k[z>>2]|0){qt(k[v>>2]|0);k[(k[v>>2]|0)+12>>2]=k[C>>2]}}k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}return 0}function St(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;g=i+16|0;d=i+12|0;f=i+8|0;h=i+4|0;e=i;k[c>>2]=a;k[g>>2]=0;if(!(j[(k[c>>2]|0)+40>>1]|0)){a=kt(k[c>>2]|0)|0;k[f>>2]=a;do if((k[k[f>>2]>>2]|0)>>>0>0){ae(4,h);a=ft(k[c>>2]|0,4,4)|0;k[g>>2]=a;if(!(k[g>>2]|0)){nt(k[c>>2]|0,k[h>>2]|0);Ur(k[c>>2]|0,4,4);break}if((k[g>>2]|0)!=5){k[b>>2]=k[g>>2];h=k[b>>2]|0;r=i;return h|0}}while(0);Sr(k[c>>2]|0,3);j[(k[c>>2]|0)+40>>1]=-1;k[d>>2]=0;do{a=k[c>>2]|0;h=(k[d>>2]|0)+1|0;k[d>>2]=h;h=Xt(a,e,1,h)|0;k[g>>2]=h}while((k[g>>2]|0)==-1)}k[b>>2]=k[g>>2];h=k[b>>2]|0;r=i;return h|0}function Tt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+64|0;f=l+28|0;g=l+24|0;o=l+20|0;n=l+16|0;h=l;j=l+12|0;i=l+8|0;m=l+32|0;k[g>>2]=a;k[o>>2]=b;k[n>>2]=c;b=h;k[b>>2]=d;k[b+4>>2]=e;k[i>>2]=k[(k[o>>2]|0)+4>>2];Vt(k[k[g>>2]>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[n>>2]|0,k[i>>2]|0,m);b=h;b=Wt(k[g>>2]|0,m,24,k[b>>2]|0,k[b+4>>2]|0)|0;k[j>>2]=b;if(k[j>>2]|0){k[f>>2]=k[j>>2];o=k[f>>2]|0;r=l;return o|0}else{b=k[g>>2]|0;m=k[i>>2]|0;n=k[(k[g>>2]|0)+20>>2]|0;o=h;o=$R(k[o>>2]|0,k[o+4>>2]|0,24,0)|0;o=Wt(b,m,n,o,L)|0;k[j>>2]=o;k[f>>2]=k[j>>2];o=k[f>>2]|0;r=l;return o|0}return 0}function Ut(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+80|0;c=p+48|0;d=p+44|0;e=p+40|0;o=p+36|0;n=p+32|0;f=p+28|0;g=p+56|0;l=p+24|0;h=p+8|0;i=p;j=p+20|0;m=p+16|0;k[d>>2]=a;k[e>>2]=b;k[o>>2]=k[(k[d>>2]|0)+36>>2];k[n>>2]=0;a=Sd((k[o>>2]|0)+24|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){k[c>>2]=7;o=k[c>>2]|0;r=p;return o|0}if((k[(k[d>>2]|0)+104>>2]|0)==1){a=h;k[a>>2]=24;k[a+4>>2]=0}else{b=(k[o>>2]|0)+24|0;b=kS((k[(k[d>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=$R(32,0,b|0,L|0)|0;b=$R(b|0,L|0,16,0)|0;a=h;k[a>>2]=b;k[a+4>>2]=L}a=h;a=os(k[(k[d>>2]|0)+8>>2]|0,k[f>>2]|0,8,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a;a=qr(k[f>>2]|0)|0;k[(k[d>>2]|0)+52+24>>2]=a;a=qr((k[f>>2]|0)+4|0)|0;k[(k[d>>2]|0)+52+24+4>>2]=a;k[l>>2]=k[(k[d>>2]|0)+104>>2];k[(k[d>>2]|0)+104>>2]=0;while(1){if(k[n>>2]|0)break;if((k[l>>2]|0)>>>0>(k[e>>2]|0)>>>0)break;b=(k[o>>2]|0)+24|0;b=kS((k[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=$R(32,0,b|0,L|0)|0;a=i;k[a>>2]=b;k[a+4>>2]=L;a=i;a=os(k[(k[d>>2]|0)+8>>2]|0,k[f>>2]|0,(k[o>>2]|0)+24|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){a=qr(k[f>>2]|0)|0;k[j>>2]=a;a=qr((k[f>>2]|0)+4|0)|0;k[m>>2]=a;Vt(k[d>>2]|0,k[j>>2]|0,k[m>>2]|0,(k[f>>2]|0)+24|0,g);a=i;a=Sg(k[(k[d>>2]|0)+8>>2]|0,g,24,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a}k[l>>2]=(k[l>>2]|0)+1}Ud(k[f>>2]|0);k[c>>2]=k[n>>2];o=k[c>>2]|0;r=p;return o|0}function Vt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+32|0;f=n+24|0;p=n+20|0;o=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;k[f>>2]=a;k[p>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[j>>2]=(k[f>>2]|0)+52+24;pt(k[h>>2]|0,k[p>>2]|0);pt((k[h>>2]|0)+4|0,k[o>>2]|0);d=(k[h>>2]|0)+8|0;if(!(k[(k[f>>2]|0)+104>>2]|0)){p=(k[f>>2]|0)+52+32|0;i[d>>0]=i[p>>0]|0;i[d+1>>0]=i[p+1>>0]|0;i[d+2>>0]=i[p+2>>0]|0;i[d+3>>0]=i[p+3>>0]|0;i[d+4>>0]=i[p+4>>0]|0;i[d+5>>0]=i[p+5>>0]|0;i[d+6>>0]=i[p+6>>0]|0;i[d+7>>0]=i[p+7>>0]|0;k[m>>2]=(l[(k[f>>2]|0)+52+13>>0]|0)==((i[968]|0)==0|0)&1;rt(k[m>>2]|0,k[h>>2]|0,8,k[j>>2]|0,k[j>>2]|0);rt(k[m>>2]|0,k[g>>2]|0,k[(k[f>>2]|0)+36>>2]|0,k[j>>2]|0,k[j>>2]|0);pt((k[h>>2]|0)+16|0,k[k[j>>2]>>2]|0);pt((k[h>>2]|0)+20|0,k[(k[j>>2]|0)+4>>2]|0);r=n;return}else{e=d+16|0;do{i[d>>0]=0;d=d+1|0}while((d|0)<(e|0));r=n;return}}function Wt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n;m=n+12|0;l=n+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=j;k[a>>2]=d;k[a+4>>2]=e;a=j;e=k[a+4>>2]|0;b=(k[g>>2]|0)+8|0;c=k[b+4>>2]|0;if((e|0)<(c|0)|((e|0)==(c|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)?(e=j,a=k[i>>2]|0,a=$R(k[e>>2]|0,k[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,e=L,b=(k[g>>2]|0)+8|0,c=k[b+4>>2]|0,(e|0)>(c|0)|((e|0)==(c|0)?a>>>0>=(k[b>>2]|0)>>>0:0)):0){a=(k[g>>2]|0)+8|0;b=j;b=_R(k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[l>>2]=b;b=j;b=Sg(k[(k[g>>2]|0)+4>>2]|0,k[h>>2]|0,k[l>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[m>>2]=b;if(k[m>>2]|0){k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}a=k[l>>2]|0;b=j;a=$R(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=j;k[b>>2]=a;k[b+4>>2]=L;k[i>>2]=(k[i>>2]|0)-(k[l>>2]|0);k[h>>2]=(k[h>>2]|0)+(k[l>>2]|0);b=Fr(k[(k[g>>2]|0)+4>>2]|0,k[(k[g>>2]|0)+16>>2]&19)|0;k[m>>2]=b;if((k[i>>2]|0)==0|(k[m>>2]|0)!=0){k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}}b=j;b=Sg(k[(k[g>>2]|0)+4>>2]|0,k[h>>2]|0,k[i>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[m>>2]=b;k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}function Xt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;v=w+48|0;e=w+44|0;f=w+40|0;g=w+36|0;h=w+32|0;q=w+28|0;o=w+24|0;n=w+20|0;i=w+16|0;s=w+12|0;m=w+8|0;p=w+4|0;t=w;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[s>>2]=0;if((k[h>>2]|0)>5){k[p>>2]=1;if((k[h>>2]|0)>100){k[v>>2]=15;v=k[v>>2]|0;r=w;return v|0}if((k[h>>2]|0)>=10){c=(ha((k[h>>2]|0)-9|0,(k[h>>2]|0)-9|0)|0)*39|0;k[p>>2]=c}Gi(k[k[e>>2]>>2]|0,k[p>>2]|0)|0}if(!(k[g>>2]|0)){c=ht(k[e>>2]|0,k[f>>2]|0)|0;k[s>>2]=c;do if((k[s>>2]|0)==5){if(!(k[k[(k[e>>2]|0)+32>>2]>>2]|0)){k[s>>2]=-1;break}c=Rr(k[e>>2]|0,2)|0;k[s>>2]=c;if(!c){Sr(k[e>>2]|0,2);k[s>>2]=-1;break}if((k[s>>2]|0)==5)k[s>>2]=261}while(0);if(k[s>>2]|0){k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}}c=kt(k[e>>2]|0)|0;k[q>>2]=c;do if((k[g>>2]|0)==0?(k[k[q>>2]>>2]|0)==(k[(k[e>>2]|0)+52+16>>2]|0):0){c=Rr(k[e>>2]|0,3)|0;k[s>>2]=c;st(k[e>>2]|0);if(k[s>>2]|0){if((k[s>>2]|0)==5)break;k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}u=Ns(k[e>>2]|0)|0;u=(oR(u,(k[e>>2]|0)+52|0,48)|0)!=0;e=k[e>>2]|0;if(u){Sr(e,3);k[v>>2]=-1;v=k[v>>2]|0;r=w;return v|0}else{j[e+40>>1]=0;k[v>>2]=0;v=k[v>>2]|0;r=w;return v|0}}while(0);k[o>>2]=0;k[n>>2]=0;k[m>>2]=k[(k[e>>2]|0)+52+16>>2];k[i>>2]=1;while(1){if((k[i>>2]|0)>=5)break;k[t>>2]=k[(k[q>>2]|0)+4+(k[i>>2]<<2)>>2];if((k[o>>2]|0)>>>0<=(k[t>>2]|0)>>>0?(k[t>>2]|0)>>>0<=(k[m>>2]|0)>>>0:0){k[o>>2]=k[t>>2];k[n>>2]=k[i>>2]}k[i>>2]=(k[i>>2]|0)+1}a:do if(((l[(k[e>>2]|0)+46>>0]|0)&2|0)==0?((k[n>>2]|0)==0?1:(k[o>>2]|0)>>>0<(k[m>>2]|0)>>>0):0){k[i>>2]=1;while(1){if((k[i>>2]|0)>=5)break a;c=ft(k[e>>2]|0,3+(k[i>>2]|0)|0,1)|0;k[s>>2]=c;if(!(k[s>>2]|0)){u=36;break}if((k[s>>2]|0)!=5)break;k[i>>2]=(k[i>>2]|0)+1}if((u|0)==36){u=k[m>>2]|0;k[(k[q>>2]|0)+4+(k[i>>2]<<2)>>2]=u;k[o>>2]=u;k[n>>2]=k[i>>2];Ur(k[e>>2]|0,3+(k[i>>2]|0)|0,1);break}k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}while(0);if(!(k[n>>2]|0)){k[v>>2]=(k[s>>2]|0)==5?-1:520;v=k[v>>2]|0;r=w;return v|0}u=Rr(k[e>>2]|0,3+(k[n>>2]|0)|0)|0;k[s>>2]=u;if(k[s>>2]|0){k[v>>2]=(k[s>>2]|0)==5?-1:k[s>>2]|0;v=k[v>>2]|0;r=w;return v|0}k[(k[e>>2]|0)+100>>2]=(k[k[q>>2]>>2]|0)+1;st(k[e>>2]|0);if((k[(k[q>>2]|0)+4+(k[n>>2]<<2)>>2]|0)==(k[o>>2]|0)?(u=Ns(k[e>>2]|0)|0,(oR(u,(k[e>>2]|0)+52|0,48)|0)==0):0){j[(k[e>>2]|0)+40>>1]=k[n>>2];k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}Sr(k[e>>2]|0,3+(k[n>>2]|0)|0);k[v>>2]=-1;v=k[v>>2]|0;r=w;return v|0}function Yt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;f=g+20|0;h=g+16|0;d=g+12|0;c=g+8|0;e=g+4|0;b=g;k[h>>2]=a;k[d>>2]=k[(k[h>>2]|0)+16>>2];k[e>>2]=k[(k[h>>2]|0)+20>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(k[(k[d>>2]|0)+104>>2]|0)){b=7;break}k[c>>2]=(k[(k[d>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0);if((k[(k[c>>2]|0)+20>>2]|0)>>>0>=(k[e>>2]|0)>>>0?0==(Aj(k[(k[c>>2]|0)+16>>2]|0,k[e>>2]|0)|0):0){b=5;break}k[b>>2]=(k[b>>2]|0)+1}if((b|0)==5){k[f>>2]=1;h=k[f>>2]|0;r=g;return h|0}else if((b|0)==7){k[f>>2]=0;h=k[f>>2]|0;r=g;return h|0}return 0}function Zt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;b=h+24|0;g=h+20|0;f=h+16|0;d=h+12|0;c=h;e=h+8|0;k[b>>2]=a;k[g>>2]=0;k[f>>2]=k[(k[b>>2]|0)+16>>2];if(((l[(k[f>>2]|0)+5>>0]|0|0)!=2?(a=_t(k[f>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0)?(k[d>>2]=k[(k[b>>2]|0)+4>>2],i=4+(k[(k[f>>2]|0)+160>>2]|0)|0,i=kS(k[(k[f>>2]|0)+56>>2]|0,0,i|0,((i|0)<0)<<31>>31|0)|0,a=c,k[a>>2]=i,k[a+4>>2]=L,k[e>>2]=k[d>>2],a=c,a=$t(k[(k[f>>2]|0)+72>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0){d=k[(k[f>>2]|0)+72>>2]|0;e=k[e>>2]|0;a=k[(k[f>>2]|0)+160>>2]|0;i=c;i=$R(k[i>>2]|0,k[i+4>>2]|0,4,0)|0;i=Sg(d,e,a,i,L)|0;k[g>>2]=i}if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}i=(k[f>>2]|0)+56|0;k[i>>2]=(k[i>>2]|0)+1;i=au(k[f>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0;k[g>>2]=i;i=k[g>>2]|0;r=h;return i|0}function _t(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+12|0;d=e+8|0;c=e;k[b>>2]=a;k[d>>2]=0;if(k[k[(k[b>>2]|0)+72>>2]>>2]|0){d=k[d>>2]|0;r=e;return d|0}k[e+4>>2]=8222;k[c>>2]=k[11];if(!((l[(k[b>>2]|0)+5>>0]|0|0)!=4?(l[(k[b>>2]|0)+22>>0]|0|0)==0:0))k[c>>2]=-1;a=bu(k[k[b>>2]>>2]|0,0,k[(k[b>>2]|0)+72>>2]|0,8222,k[c>>2]|0)|0;k[d>>2]=a;d=k[d>>2]|0;r=e;return d|0}function $t(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;g=e+12|0;h=e;i=e+8|0;f=e+16|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;pt(f,k[i>>2]|0);d=h;d=Sg(k[g>>2]|0,f,4,k[d>>2]|0,k[d+4>>2]|0)|0;r=e;return d|0}function au(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+104>>2]|0))break;k[f>>2]=(k[(k[c>>2]|0)+100>>2]|0)+((k[e>>2]|0)*48|0);if((k[d>>2]|0)>>>0<=(k[(k[f>>2]|0)+20>>2]|0)>>>0){b=vj(k[(k[f>>2]|0)+16>>2]|0,k[d>>2]|0)|0;k[g>>2]=k[g>>2]|b}k[e>>2]=(k[e>>2]|0)+1}r=h;return k[g>>2]|0}function bu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;l=n+4|0;m=n;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=k[i>>2];d=k[m>>2]|0;e=d+72|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(k[l>>2]|0)){m=cs(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,0)|0;k[f>>2]=m;m=k[f>>2]|0;r=n;return m|0}if((k[l>>2]|0)>0)k[(k[m>>2]|0)+4>>2]=k[l>>2];else k[(k[m>>2]|0)+4>>2]=1020;k[k[m>>2]>>2]=4028;k[(k[m>>2]|0)+8>>2]=k[l>>2];k[(k[m>>2]|0)+56>>2]=k[j>>2];k[(k[m>>2]|0)+64>>2]=k[h>>2];k[(k[m>>2]|0)+60>>2]=k[g>>2];k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}function cu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+8>>2]|0}function du(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Ps(k[c>>2]|0)|0;r=b;return a|0}function eu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;f=x+40|0;g=x+36|0;t=x+50|0;n=x+52|0;h=x+32|0;d=x+28|0;w=x+24|0;b=x+48|0;q=x+20|0;v=x+16|0;o=x+12|0;p=x+8|0;c=x+4|0;e=x;s=x+46|0;u=x+44|0;k[g>>2]=a;do if(!(i[k[g>>2]>>0]|0)){k[d>>2]=k[(k[g>>2]|0)+52>>2];i[n>>0]=i[(k[g>>2]|0)+5>>0]|0;k[h>>2]=k[(k[g>>2]|0)+56>>2];if(fu(k[g>>2]|0,l[(k[h>>2]|0)+(l[n>>0]|0)>>0]|0)|0){w=_j(60006)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}j[(k[g>>2]|0)+20>>1]=(k[(k[d>>2]|0)+32>>2]|0)-1;i[(k[g>>2]|0)+1>>0]=0;k[w>>2]=k[(k[d>>2]|0)+36>>2];a=(l[n>>0]|0)+8+(l[(k[g>>2]|0)+6>>0]|0)&65535;j[b>>1]=a;j[(k[g>>2]|0)+14>>1]=a;k[(k[g>>2]|0)+60>>2]=(k[h>>2]|0)+(k[w>>2]|0);k[(k[g>>2]|0)+64>>2]=(k[h>>2]|0)+(m[b>>1]|0);k[(k[g>>2]|0)+68>>2]=(k[h>>2]|0)+(l[(k[g>>2]|0)+6>>0]|0);k[v>>2]=((l[(k[h>>2]|0)+((l[n>>0]|0)+5)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+5)+1>>0])-1&65535)+1;j[(k[g>>2]|0)+18>>1]=l[(k[h>>2]|0)+((l[n>>0]|0)+3)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+3)+1>>0];if((m[(k[g>>2]|0)+18>>1]|0)>>>0>((((k[(k[d>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){w=_j(60024)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}k[o>>2]=(m[b>>1]|0)+(m[(k[g>>2]|0)+18>>1]<<1);k[p>>2]=(k[w>>2]|0)-4;do if(k[(k[(k[d>>2]|0)+4>>2]|0)+24>>2]&536870912){if(!(i[(k[g>>2]|0)+4>>0]|0))k[p>>2]=(k[p>>2]|0)+-1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(m[(k[g>>2]|0)+18>>1]|0)){b=17;break}j[t>>1]=l[(k[h>>2]|0)+((m[b>>1]|0)+(k[c>>2]<<1))>>0]<<8|l[(k[h>>2]|0)+((m[b>>1]|0)+(k[c>>2]<<1))+1>>0];if((m[t>>1]|0)<(k[o>>2]|0)){b=13;break}if((m[t>>1]|0)>(k[p>>2]|0)){b=13;break}a=(gc[k[(k[g>>2]|0)+76>>2]&255](k[g>>2]|0,(k[h>>2]|0)+(m[t>>1]|0)|0)|0)&65535;k[e>>2]=a;if(((m[t>>1]|0)+(k[e>>2]|0)|0)>(k[w>>2]|0)){b=15;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==13){w=_j(60052)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==15){w=_j(60057)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==17){if(i[(k[g>>2]|0)+4>>0]|0)break;k[p>>2]=(k[p>>2]|0)+1;break}}while(0);j[t>>1]=l[(k[h>>2]|0)+((l[n>>0]|0)+1)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+1)+1>>0];k[q>>2]=(l[(k[h>>2]|0)+((l[n>>0]|0)+7)>>0]|0)+(k[v>>2]|0);while(1){if((m[t>>1]|0)<=0){b=29;break}if((m[t>>1]|0)<(k[o>>2]|0)){b=23;break}if((m[t>>1]|0)>(k[p>>2]|0)){b=23;break}j[s>>1]=l[(k[h>>2]|0)+(m[t>>1]|0)>>0]<<8|l[(k[h>>2]|0)+(m[t>>1]|0)+1>>0];j[u>>1]=l[(k[h>>2]|0)+((m[t>>1]|0)+2)>>0]<<8|l[(k[h>>2]|0)+((m[t>>1]|0)+2)+1>>0];if((m[s>>1]|0)>0?(m[s>>1]|0)<=((m[t>>1]|0)+(m[u>>1]|0)+3|0):0){b=27;break}if(((m[t>>1]|0)+(m[u>>1]|0)|0)>(k[w>>2]|0)){b=27;break}k[q>>2]=(k[q>>2]|0)+(m[u>>1]|0);j[t>>1]=j[s>>1]|0}if((b|0)==23){w=_j(60077)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==27){w=_j(60084)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==29){if((k[q>>2]|0)<=(k[w>>2]|0)){j[(k[g>>2]|0)+16>>1]=(k[q>>2]|0)-(k[o>>2]|0);i[k[g>>2]>>0]=1;break}w=_j(60098)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}}while(0);k[f>>2]=0;w=k[f>>2]|0;r=x;return w|0}function fu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;i[(k[e>>2]|0)+4>>0]=k[c>>2]>>3;k[c>>2]=k[c>>2]&-9;i[(k[e>>2]|0)+6>>0]=4-(l[(k[e>>2]|0)+4>>0]<<2);k[(k[e>>2]|0)+76>>2]=188;k[f>>2]=k[(k[e>>2]|0)+52>>2];do if((k[c>>2]|0)==5){i[(k[e>>2]|0)+2>>0]=1;c=(k[e>>2]|0)+3|0;if(i[(k[e>>2]|0)+4>>0]|0){i[c>>0]=1;k[(k[e>>2]|0)+80>>2]=226}else{i[c>>0]=0;k[(k[e>>2]|0)+76>>2]=189;k[(k[e>>2]|0)+80>>2]=227}j[(k[e>>2]|0)+10>>1]=j[(k[f>>2]|0)+28>>1]|0;j[(k[e>>2]|0)+12>>1]=j[(k[f>>2]|0)+30>>1]|0}else{if((k[c>>2]|0)==2){i[(k[e>>2]|0)+2>>0]=0;i[(k[e>>2]|0)+3>>0]=0;k[(k[e>>2]|0)+80>>2]=228;j[(k[e>>2]|0)+10>>1]=j[(k[f>>2]|0)+24>>1]|0;j[(k[e>>2]|0)+12>>1]=j[(k[f>>2]|0)+26>>1]|0;break}f=_j(59964)|0;k[d>>2]=f;f=k[d>>2]|0;r=g;return f|0}while(0);i[(k[e>>2]|0)+7>>0]=i[(k[f>>2]|0)+21>>0]|0;k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function gu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;h=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=(k[d>>2]|0)+(l[(k[c>>2]|0)+6>>0]|0);k[f>>2]=l[k[h>>2]>>0];a:do if((k[f>>2]|0)>>>0>=128){k[g>>2]=(k[h>>2]|0)+8;k[f>>2]=k[f>>2]&127;do{b=k[f>>2]<<7;a=(k[h>>2]|0)+1|0;k[h>>2]=a;k[f>>2]=b|l[a>>0]&127;if((l[k[h>>2]>>0]|0)<128)break a}while((k[h>>2]|0)>>>0<(k[g>>2]|0)>>>0)}while(0);k[h>>2]=(k[h>>2]|0)+1;b:do if(i[(k[c>>2]|0)+2>>0]|0){k[g>>2]=(k[h>>2]|0)+9;do{a=k[h>>2]|0;k[h>>2]=a+1;if(!(l[a>>0]&128))break b}while((k[h>>2]|0)>>>0<(k[g>>2]|0)>>>0)}while(0);if((k[f>>2]|0)>>>0<=(m[(k[c>>2]|0)+10>>1]|0)>>>0){a=(k[f>>2]|0)+((k[h>>2]|0)-(k[d>>2]|0))|0;k[f>>2]=a;k[f>>2]=(k[f>>2]|0)>>>0<4?4:a;a=k[f>>2]|0;a=a&65535;r=j;return a|0}k[e>>2]=m[(k[c>>2]|0)+12>>1];k[f>>2]=(k[e>>2]|0)+((((k[f>>2]|0)-(k[e>>2]|0)|0)>>>0)%(((k[(k[(k[c>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[f>>2]|0)>>>0>(m[(k[c>>2]|0)+10>>1]|0)>>>0)k[f>>2]=k[e>>2];k[f>>2]=(k[f>>2]|0)+(4+((k[h>>2]|0)-(k[d>>2]|0)&65535));a=k[f>>2]|0;a=a&65535;r=j;return a|0}function hu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;o=p+20|0;h=p+16|0;g=p;i=p+12|0;n=p+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[o>>2]=k[e>>2];k[h>>2]=l[k[o>>2]>>0];a:do if((k[h>>2]|0)>>>0>=128){k[i>>2]=(k[o>>2]|0)+8;k[h>>2]=k[h>>2]&127;do{c=k[h>>2]<<7;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[h>>2]=c|(l[a>>0]|0)&127;if((l[k[o>>2]>>0]|0|0)<128)break a}while((k[o>>2]|0)>>>0<(k[i>>2]|0)>>>0)}while(0);k[o>>2]=(k[o>>2]|0)+1;a=g;k[a>>2]=l[k[o>>2]>>0];k[a+4>>2]=0;a=g;c=k[a+4>>2]|0;b:do if(c>>>0>0|(c|0)==0&(k[a>>2]|0)>>>0>=128){k[n>>2]=(k[o>>2]|0)+7;a=g;k[a>>2]=k[g>>2]&127;k[a+4>>2]=0;do{i=g;i=eS(k[i>>2]|0,k[i+4>>2]|0,7)|0;c=(k[o>>2]|0)+1|0;k[o>>2]=c;c=(l[c>>0]|0)&127;a=g;k[a>>2]=i|c;k[a+4>>2]=L|((c|0)<0)<<31>>31;if((l[k[o>>2]>>0]|0|0)<128)break b}while((k[o>>2]|0)>>>0<(k[n>>2]|0)>>>0);n=g;n=eS(k[n>>2]|0,k[n+4>>2]|0,8)|0;c=(k[o>>2]|0)+1|0;k[o>>2]=c;a=g;k[a>>2]=n|(l[c>>0]|0);k[a+4>>2]=L}while(0);k[o>>2]=(k[o>>2]|0)+1;n=g;c=k[n+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[n>>2];k[a+4>>2]=c;k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+8>>2]=k[o>>2];if((k[h>>2]|0)>>>0>(m[(k[d>>2]|0)+10>>1]|0)>>>0){lu(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=p;return}j[(k[f>>2]|0)+18>>1]=(k[h>>2]|0)+((k[o>>2]|0)-(k[e>>2]|0)&65535);if((m[(k[f>>2]|0)+18>>1]|0|0)<4)j[(k[f>>2]|0)+18>>1]=4;j[(k[f>>2]|0)+16>>1]=k[h>>2];r=p;return}function iu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;e=f+4|0;d=f;k[f+12>>2]=a;k[c>>2]=b;k[e>>2]=(k[c>>2]|0)+4;k[d>>2]=(k[e>>2]|0)+9;do{a=k[e>>2]|0;k[e>>2]=a+1;if(!((l[a>>0]|0)&128))break}while((k[e>>2]|0)>>>0<(k[d>>2]|0)>>>0);r=f;return (k[e>>2]|0)-(k[c>>2]|0)&65535|0}function ju(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+4|0;e=d;k[d+8>>2]=a;k[f>>2]=b;k[e>>2]=c;a=4+((mu((k[f>>2]|0)+4|0,k[e>>2]|0)|0)&255)&65535;j[(k[e>>2]|0)+18>>1]=a;k[(k[e>>2]|0)+12>>2]=0;j[(k[e>>2]|0)+16>>1]=0;k[(k[e>>2]|0)+8>>2]=0;r=d;return}function ku(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;i=n+8|0;g=n+4|0;h=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=(k[e>>2]|0)+(l[(k[d>>2]|0)+6>>0]|0);k[g>>2]=l[k[i>>2]>>0];a:do if((k[g>>2]|0)>>>0>=128){k[h>>2]=(k[i>>2]|0)+8;k[g>>2]=k[g>>2]&127;do{c=k[g>>2]<<7;a=(k[i>>2]|0)+1|0;k[i>>2]=a;k[g>>2]=c|(l[a>>0]|0)&127;if((l[k[i>>2]>>0]|0|0)<128)break a}while((k[i>>2]|0)>>>0<(k[h>>2]|0)>>>0)}while(0);k[i>>2]=(k[i>>2]|0)+1;a=k[f>>2]|0;k[a>>2]=k[g>>2];k[a+4>>2]=0;k[(k[f>>2]|0)+12>>2]=k[g>>2];k[(k[f>>2]|0)+8>>2]=k[i>>2];if((k[g>>2]|0)>>>0>(m[(k[d>>2]|0)+10>>1]|0)>>>0){lu(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=n;return}j[(k[f>>2]|0)+18>>1]=(k[g>>2]|0)+((k[i>>2]|0)-(k[e>>2]|0)&65535);if((m[(k[f>>2]|0)+18>>1]|0|0)<4)j[(k[f>>2]|0)+18>>1]=4;j[(k[f>>2]|0)+16>>1]=k[g>>2];r=n;return}function lu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;h=r;r=r+32|0;l=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;i=h+4|0;g=h;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=m[(k[l>>2]|0)+12>>1];k[i>>2]=m[(k[l>>2]|0)+10>>1];k[g>>2]=(k[f>>2]|0)+((((k[(k[e>>2]|0)+12>>2]|0)-(k[f>>2]|0)|0)>>>0)%(((k[(k[(k[l>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[g>>2]|0)<=(k[i>>2]|0))j[(k[e>>2]|0)+16>>1]=k[g>>2];else j[(k[e>>2]|0)+16>>1]=k[f>>2];j[(k[e>>2]|0)+18>>1]=((k[(k[e>>2]|0)+8>>2]|0)+(m[(k[e>>2]|0)+16>>1]|0)-(k[d>>2]|0)&65535)+4;r=h;return}function mu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];if(!(k[f>>2]&128)){h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=1;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=2;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);b=(k[f>>2]&128|0)!=0;k[f>>2]=k[f>>2]&2080895;if(!b){k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=3;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);b=(k[g>>2]&128|0)!=0;k[g>>2]=k[g>>2]&2080895;a=k[f>>2]|0;if(!b){k[f>>2]=a<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=4;h=i[c>>0]|0;r=j;return h|0}k[h>>2]=a;k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=5;h=i[c>>0]|0;r=j;return h|0}k[h>>2]=k[h>>2]<<7;k[h>>2]=k[h>>2]|k[g>>2];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=6;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);a=k[f>>2]|0;if(!(k[f>>2]&128)){k[f>>2]=a&-266354561;k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>11;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=7;h=i[c>>0]|0;r=j;return h|0}k[f>>2]=a&2080895;k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(k[g>>2]&128){k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<15;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<8;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=k[h>>2]<<4;k[g>>2]=l[(k[d>>2]|0)+-4>>0];k[g>>2]=k[g>>2]&127;k[g>>2]=(k[g>>2]|0)>>>3;k[h>>2]=k[h>>2]|k[g>>2];g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=9;h=i[c>>0]|0;r=j;return h|0}else{k[g>>2]=k[g>>2]&-266354561;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>4;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=8;h=i[c>>0]|0;r=j;return h|0}return 0}function nu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;while(1){if((k[d>>2]|0)>0)a=(i[(k[c>>2]|0)+((k[d>>2]|0)-1)>>0]|0)==32;else a=0;b=k[d>>2]|0;if(!a)break;k[d>>2]=b+-1}r=e;return (b|0)==0|0}function ou(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;i=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;if(!(k[e>>2]|0)){j=k[j>>2]|0;r=m;return j|0}k[i>>2]=k[(k[e>>2]|0)+4>>2];wg(k[e>>2]|0);if(l[(k[i>>2]|0)+20>>0]|0){k[j>>2]=6;j=k[j>>2]|0;r=m;return j|0}else{c=pu(k[k[i>>2]>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;j=k[j>>2]|0;r=m;return j|0}return 0}function pu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;if(!(k[(k[e>>2]|0)+216>>2]|0)){i=k[i>>2]|0;r=j;return i|0}if(!(k[f>>2]|0))b=0;else b=k[(k[e>>2]|0)+184>>2]|0;h=at(k[(k[e>>2]|0)+216>>2]|0,k[f>>2]|0,b,k[(k[e>>2]|0)+188>>2]|0,l[(k[e>>2]|0)+10>>0]|0,k[(k[e>>2]|0)+160>>2]|0,k[(k[e>>2]|0)+208>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=h;i=k[i>>2]|0;r=j;return i|0}function qu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j+16|0;h=j;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;c=k[e>>2]|0;if((k[f>>2]|0)==-2){k[d>>2]=(k[c+12>>2]|0)==0?0:6;h=k[d>>2]|0;r=j;return h|0}if((i[c>>0]|0)!=(k[f>>2]|0)?(i[k[e>>2]>>0]|0)>=0:0){k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}if((i[k[e>>2]>>0]|0)==(k[f>>2]|0))k[h>>2]=4;else k[h>>2]=1;if((l[g>>0]|0)!=(m[(k[e>>2]|0)+2>>1]&3|0)){if(l[g>>0]&m[(k[e>>2]|0)+2>>1]&2)k[h>>2]=(k[h>>2]|0)+1}else k[h>>2]=(k[h>>2]|0)+2;k[d>>2]=k[h>>2];h=k[d>>2]|0;r=j;return h|0}function ru(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;e=f+12|0;g=f+8|0;c=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[1092+(k[g>>2]<<2)>>2];while(1){if(!(k[d>>2]|0)){a=6;break}g=(sg(k[(k[d>>2]|0)+20>>2]|0,k[c>>2]|0)|0)==0;b=k[d>>2]|0;if(g){a=4;break}k[d>>2]=k[b+24>>2]}if((a|0)==4){k[e>>2]=b;g=k[e>>2]|0;r=f;return g|0}else if((a|0)==6){k[e>>2]=0;g=k[e>>2]|0;r=f;return g|0}return 0}function su(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(((m[(k[d>>2]|0)+8>>1]|0)&2|0)!=0?(l[(k[d>>2]|0)+10>>0]|0|0)!=(k[e>>2]|0):0){a=tu(k[d>>2]|0,k[e>>2]&255)|0;k[f>>2]=a;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}function tu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;h=v+40|0;n=v+36|0;o=v+45|0;e=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;q=v+16|0;p=v+12|0;d=v+44|0;c=v+8|0;f=v+4|0;g=v;k[n>>2]=a;i[o>>0]=b;if((l[(k[n>>2]|0)+10>>0]|0|0)!=1?(l[o>>0]|0|0)!=1:0){t=lh(k[n>>2]|0)|0;k[c>>2]=t;if(k[c>>2]|0){k[h>>2]=7;u=k[h>>2]|0;r=v;return u|0}k[s>>2]=k[(k[n>>2]|0)+16>>2];k[u>>2]=(k[s>>2]|0)+(k[(k[n>>2]|0)+12>>2]&-2);while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break;i[d>>0]=i[k[s>>2]>>0]|0;i[k[s>>2]>>0]=i[(k[s>>2]|0)+1>>0]|0;k[s>>2]=(k[s>>2]|0)+1;q=i[d>>0]|0;t=k[s>>2]|0;k[s>>2]=t+1;i[t>>0]=q}i[(k[n>>2]|0)+10>>0]=i[o>>0]|0}else{b=(k[n>>2]|0)+12|0;a=k[b>>2]|0;if((l[o>>0]|0|0)==1){k[b>>2]=a&-2;k[e>>2]=(k[(k[n>>2]|0)+12>>2]<<1)+1}else k[e>>2]=(a<<1)+2;k[s>>2]=k[(k[n>>2]|0)+16>>2];k[u>>2]=(k[s>>2]|0)+(k[(k[n>>2]|0)+12>>2]|0);e=k[e>>2]|0;e=Mh(k[(k[n>>2]|0)+32>>2]|0,e,((e|0)<0)<<31>>31)|0;k[t>>2]=e;if(!(k[t>>2]|0)){k[h>>2]=7;u=k[h>>2]|0;r=v;return u|0}k[q>>2]=k[t>>2];if((l[(k[n>>2]|0)+10>>0]|0|0)==1){a:do if((l[o>>0]|0|0)==2)while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break a;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];do if((k[p>>2]|0)>>>0>=192){k[p>>2]=l[25563+((k[p>>2]|0)-192)>>0];while(1){if((k[s>>2]|0)!=(k[u>>2]|0))a=((l[k[s>>2]>>0]|0)&192|0)==128;else a=0;b=k[p>>2]|0;if(!a)break;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(b<<6)+(63&(l[g>>0]|0))}if((b>>>0>=128?(k[p>>2]&-2048|0)!=55296:0)?(k[p>>2]&-2|0)!=65534:0)break;k[p>>2]=65533}while(0);b=k[p>>2]|0;if((k[p>>2]|0)>>>0<=65535){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b;f=(k[p>>2]|0)>>>8&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}else{g=(b>>>10&63)+(((k[p>>2]|0)-65536|0)>>>10&192)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=216+(((k[p>>2]|0)-65536|0)>>>18&3)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;g=k[p>>2]&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=220+((k[p>>2]|0)>>>8&3)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}}else while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break a;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];do if((k[p>>2]|0)>>>0>=192){k[p>>2]=l[25563+((k[p>>2]|0)-192)>>0];while(1){if((k[s>>2]|0)!=(k[u>>2]|0))a=((l[k[s>>2]>>0]|0)&192|0)==128;else a=0;b=k[p>>2]|0;if(!a)break;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(b<<6)+(63&(l[g>>0]|0))}if((b>>>0>=128?(k[p>>2]&-2048|0)!=55296:0)?(k[p>>2]&-2|0)!=65534:0)break;k[p>>2]=65533}while(0);b=k[p>>2]|0;if((k[p>>2]|0)>>>0<=65535){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b>>>8;f=k[p>>2]&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}else{f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=216+((b-65536|0)>>>18&3);f=((k[p>>2]|0)>>>10&63)+(((k[p>>2]|0)-65536|0)>>>10&192)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;g=220+((k[p>>2]|0)>>>8&3)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=k[p>>2]&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}}while(0);k[(k[n>>2]|0)+12>>2]=(k[q>>2]|0)-(k[t>>2]|0);u=k[q>>2]|0;k[q>>2]=u+1;i[u>>0]=0}else{b:do if((l[(k[n>>2]|0)+10>>0]|0|0)==2)while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break b;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(k[p>>2]|0)+((l[g>>0]|0)<<8);if((k[p>>2]|0)>>>0>=55296&(k[p>>2]|0)>>>0<57344?(k[s>>2]|0)>>>0<(k[u>>2]|0)>>>0:0){g=k[s>>2]|0;k[s>>2]=g+1;k[f>>2]=l[g>>0];g=k[s>>2]|0;k[s>>2]=g+1;k[f>>2]=(k[f>>2]|0)+((l[g>>0]|0)<<8);k[p>>2]=(k[f>>2]&1023)+((k[p>>2]&63)<<10)+((k[p>>2]&960)+64<<10)}b=k[p>>2]|0;if((k[p>>2]|0)>>>0<128){g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=b;continue}a=k[p>>2]|0;if(b>>>0<2048){e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=192+(a>>>6&31);e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}b=k[p>>2]|0;if(a>>>0<65536){g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=224+(b>>>12&15);g=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=g;e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}else{e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=240+(b>>>18&7);e=128+((k[p>>2]|0)>>>12&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;g=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=g;e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}}else while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break b;f=k[s>>2]|0;k[s>>2]=f+1;k[p>>2]=(l[f>>0]|0)<<8;f=k[s>>2]|0;k[s>>2]=f+1;k[p>>2]=(k[p>>2]|0)+(l[f>>0]|0);if((k[p>>2]|0)>>>0>=55296&(k[p>>2]|0)>>>0<57344?(k[s>>2]|0)>>>0<(k[u>>2]|0)>>>0:0){f=k[s>>2]|0;k[s>>2]=f+1;k[g>>2]=(l[f>>0]|0)<<8;f=k[s>>2]|0;k[s>>2]=f+1;k[g>>2]=(k[g>>2]|0)+(l[f>>0]|0);k[p>>2]=(k[g>>2]&1023)+((k[p>>2]&63)<<10)+((k[p>>2]&960)+64<<10)}b=k[p>>2]|0;if((k[p>>2]|0)>>>0<128){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b;continue}a=k[p>>2]|0;if(b>>>0<2048){e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=192+(a>>>6&31);e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}b=k[p>>2]|0;if(a>>>0<65536){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=224+(b>>>12&15);f=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=f;e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}else{e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=240+(b>>>18&7);e=128+((k[p>>2]|0)>>>12&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;f=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=f;e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}}while(0);k[(k[n>>2]|0)+12>>2]=(k[q>>2]|0)-(k[t>>2]|0)}i[k[q>>2]>>0]=0;k[p>>2]=m[(k[n>>2]|0)+8>>1];fh(k[n>>2]|0);j[(k[n>>2]|0)+8>>1]=514|k[p>>2]&32799;i[(k[n>>2]|0)+10>>0]=i[o>>0]|0;k[(k[n>>2]|0)+16>>2]=k[t>>2];k[(k[n>>2]|0)+20>>2]=k[(k[n>>2]|0)+16>>2];u=uu(k[(k[n>>2]|0)+32>>2]|0,k[(k[n>>2]|0)+16>>2]|0)|0;k[(k[n>>2]|0)+24>>2]=u}k[h>>2]=0;u=k[h>>2]|0;r=v;return u|0}function uu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[d>>2]|0)!=0?(vu(k[d>>2]|0,k[e>>2]|0)|0)!=0:0){k[c>>2]=m[(k[d>>2]|0)+256+4>>1];b=k[c>>2]|0;r=f;return b|0}b=bc[k[60>>2]&255](k[e>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}function vu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>>>0<(k[(k[c>>2]|0)+256+32>>2]|0)>>>0){b=0;b=b&1;r=e;return b|0}b=(k[d>>2]|0)>>>0<(k[(k[c>>2]|0)+256+36>>2]|0)>>>0;b=b&1;r=e;return b|0}function wu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[f>>2]|0)+24>>2];if(!(k[d>>2]|0)){r=e;return}f=k[d>>2]|0;k[f>>2]=(k[f>>2]|0)+-1;if(k[k[d>>2]>>2]|0){r=e;return}_b[k[(k[d>>2]|0)+4>>2]&255](k[(k[d>>2]|0)+8>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function xu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;b=h+20|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[b>>2]=a;Yf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[f>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2];a:do if(k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2]|0){k[d>>2]=k[(k[f>>2]|0)+8+8>>2];while(1){if(!(k[d>>2]|0))break a;k[g>>2]=k[(k[d>>2]|0)+8>>2];if((l[(k[g>>2]|0)+42>>0]|0)&16)Du(k[b>>2]|0,k[g>>2]|0);k[d>>2]=k[k[d>>2]>>2]}}while(0);k[c>>2]=(k[c>>2]|0)+1}k[d>>2]=k[(k[b>>2]|0)+320+8>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[e>>2]|0)+16>>2]|0)Du(k[b>>2]|0,k[(k[e>>2]|0)+16>>2]|0);k[d>>2]=k[k[d>>2]>>2]}Eu(k[b>>2]|0);r=h;return}function yu(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Bu(k[c>>2]|0,68);r=b;return 0} -function FJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+48|0;o=m+32|0;n=m+28|0;e=m+24|0;f=m+20|0;h=m+16|0;i=m+12|0;g=m+8|0;l=m+4|0;j=m;k[o>>2]=a;k[n>>2]=b;k[e>>2]=c;k[f>>2]=d;k[g>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[n>>2]<<4);k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+8;k[h>>2]=k[(k[i>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;k[l>>2]=k[(k[h>>2]|0)+8>>2];if((k[(k[l>>2]|0)+28>>2]|0)==(k[e>>2]|0))k[(k[l>>2]|0)+28>>2]=k[f>>2];k[h>>2]=k[k[h>>2]>>2]}k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+24;k[h>>2]=k[(k[i>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;k[j>>2]=k[(k[h>>2]|0)+8>>2];if((k[(k[j>>2]|0)+44>>2]|0)==(k[e>>2]|0))k[(k[j>>2]|0)+44>>2]=k[f>>2];k[h>>2]=k[k[h>>2]>>2]}r=m;return}function GJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);c=fI(k[g>>2]|0,k[e>>2]|0,0)|0;k[h>>2]=c;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}hL(k[d>>2]|0,0,0,1);c=iL(k[g>>2]|0,k[e>>2]|0,0,k[f>>2]|0)|0;k[h>>2]=c;h=k[h>>2]|0;r=i;return h|0}function HJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;bL(k[(k[d>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+20>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(l[(k[d>>2]|0)+59>>0]|0|0))break;k[f>>2]=(k[d>>2]|0)+64+((k[e>>2]|0)*72|0);cL(k[c>>2]|0,k[f>>2]|0);k[(k[f>>2]|0)+8>>2]=k[d>>2];k[e>>2]=(k[e>>2]|0)+1}if(!(k[(k[d>>2]|0)+36+4>>2]|0))dL(0,k[(k[d>>2]|0)+36>>2]|0);k[(k[d>>2]|0)+36>>2]=0;k[(k[d>>2]|0)+36+8>>2]=0;i[(k[d>>2]|0)+56>>0]=0;k[(k[d>>2]|0)+48>>2]=0;k[(k[d>>2]|0)+8>>2]=0;bg(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0);k[(k[d>>2]|0)+32>>2]=0;r=g;return}function IJ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=GJ(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+52>>2]|0,0)|0;r=b;return a|0}function JJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=r;r=r+32|0;e=d+16|0;i=d+12|0;g=d+8|0;f=d+4|0;h=d;k[e>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[i>>2]<<4);c=ck((k[(k[h>>2]|0)+12>>2]|0)+8|0,k[g>>2]|0,0)|0;k[f>>2]=c;$f(k[e>>2]|0,k[f>>2]|0);c=(k[e>>2]|0)+24|0;k[c>>2]=k[c>>2]|2;r=d;return}function KJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=r;r=r+32|0;d=g+20|0;j=g+16|0;h=g+12|0;f=g+8|0;i=g+4|0;e=g;k[d>>2]=a;k[j>>2]=b;k[h>>2]=c;k[i>>2]=(k[(k[(k[d>>2]|0)+16>>2]|0)+(k[j>>2]<<4)+12>>2]|0)+24;c=ck(k[i>>2]|0,k[h>>2]|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){j=k[d>>2]|0;j=j+24|0;i=k[j>>2]|0;i=i|2;k[j>>2]=i;r=g;return}a=k[f>>2]|0;if((k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2]|0)!=(k[f>>2]|0)){k[e>>2]=k[(k[a+12>>2]|0)+8>>2];while(1){if(k[e>>2]|0)b=(k[(k[e>>2]|0)+20>>2]|0)!=(k[f>>2]|0);else b=0;a=k[e>>2]|0;if(!b)break;k[e>>2]=k[a+20>>2]}if((a|0)!=0?(k[(k[e>>2]|0)+20>>2]|0)==(k[f>>2]|0):0)k[(k[e>>2]|0)+20>>2]=k[(k[f>>2]|0)+20>>2]}else k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2]=k[a+20>>2];PH(k[d>>2]|0,k[f>>2]|0);j=k[d>>2]|0;j=j+24|0;i=k[j>>2]|0;i=i|2;k[j>>2]=i;r=g;return}function LJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;e=h+24|0;l=h+20|0;i=h+16|0;f=h+12|0;j=h+8|0;d=h+4|0;g=h;k[e>>2]=a;k[l>>2]=b;k[i>>2]=c;k[j>>2]=(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[l>>2]<<4)+12>>2]|0)+40;c=ck(k[j>>2]|0,k[i>>2]|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){r=h;return}if((k[(k[f>>2]|0)+20>>2]|0)==(k[(k[f>>2]|0)+24>>2]|0)){l=jC(k[f>>2]|0)|0;k[d>>2]=l;k[g>>2]=(k[d>>2]|0)+60;while(1){a=(k[k[g>>2]>>2]|0)+32|0;if((k[k[g>>2]>>2]|0)==(k[f>>2]|0))break;k[g>>2]=a}k[k[g>>2]>>2]=k[a>>2]}_f(k[e>>2]|0,k[f>>2]|0);l=(k[e>>2]|0)+24|0;k[l>>2]=k[l>>2]|2;r=h;return}function MJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+240|0;s=t+16|0;q=t+8|0;v=t+124|0;f=t+120|0;g=t+116|0;u=t+112|0;h=t+108|0;j=t+104|0;o=t+32|0;n=t+24|0;p=t+20|0;m=t;k[v>>2]=a;k[f>>2]=b;k[g>>2]=c;k[u>>2]=d;k[h>>2]=e;k[n>>2]=k[(k[v>>2]|0)+4>>2];k[p>>2]=k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2];wg(k[v>>2]|0);k[o>>2]=k[n>>2];k[o+4>>2]=k[k[n>>2]>>2];e=TF(k[o>>2]|0)|0;k[o+12>>2]=e;k[o+16>>2]=k[u>>2];k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o+32>>2]=0;k[o+36>>2]=0;k[o+8>>2]=0;k[o+68>>2]=0;ng(o+40|0,0,t+128|0,100,1e9);i[o+40+25>>0]=1;a:do if(k[o+12>>2]|0){v=ug((((k[o+12>>2]|0)>>>0)/8|0)+1|0,0)|0;k[o+8>>2]=v;if(!(k[o+8>>2]|0)){k[o+24>>2]=1;break}v=gj(k[(k[n>>2]|0)+32>>2]|0)|0;k[o+68>>2]=v;if(!(k[o+68>>2]|0)){k[o+24>>2]=1;break}k[j>>2]=(((k[384]|0)>>>0)/((k[(k[n>>2]|0)+32>>2]|0)>>>0)|0)+1;if((k[j>>2]|0)>>>0<=(k[o+12>>2]|0)>>>0)UK(o,k[j>>2]|0);k[o+28>>2]=41095;v=qr((k[(k[(k[n>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;VK(o,1,v,qr((k[(k[(k[n>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);k[o+28>>2]=0;v=(k[(k[n>>2]|0)+4>>2]|0)+24|0;k[v>>2]=k[v>>2]&-536870913;k[j>>2]=0;while(1){if(!((k[j>>2]|0)<(k[g>>2]|0)?(k[o+16>>2]|0)!=0:0))break;if(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0){if((l[(k[n>>2]|0)+17>>0]|0)!=0?(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0)>1:0)WK(o,k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0,1,0);XK(o,k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0,m,-1,2147483647)|0}k[j>>2]=(k[j>>2]|0)+1}k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2]=k[p>>2];k[j>>2]=1;while(1){if(!((k[j>>2]|0)>>>0<=(k[o+12>>2]|0)>>>0?(k[o+16>>2]|0)!=0:0))break a;do if(!(YK(o,k[j>>2]|0)|0)){v=dG(k[n>>2]|0,k[j>>2]|0)|0;if((v|0)==(k[j>>2]|0)?(i[(k[n>>2]|0)+17>>0]|0)!=0:0)break;k[q>>2]=k[j>>2];ZK(o,41111,q)}while(0);if(((YK(o,k[j>>2]|0)|0)!=0?(v=dG(k[n>>2]|0,k[j>>2]|0)|0,(v|0)==(k[j>>2]|0)):0)?(l[(k[n>>2]|0)+17>>0]|0)!=0:0){k[s>>2]=k[j>>2];ZK(o,41133,s)}k[j>>2]=(k[j>>2]|0)+1}}while(0);jj(k[o+68>>2]|0);Ud(k[o+8>>2]|0);if(k[o+24>>2]|0){HA(o+40|0);v=o+20|0;k[v>>2]=(k[v>>2]|0)+1}k[k[h>>2]>>2]=k[o+20>>2];if(k[o+20>>2]|0){v=o+40|0;v=pg(v)|0;r=t;return v|0}HA(o+40|0);v=o+40|0;v=pg(v)|0;r=t;return v|0}function NJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+32>>2];fh(k[b>>2]|0);a=dx(k[c>>2]|0,64,0)|0;k[(k[b>>2]|0)+20>>2]=a;if(i[(k[c>>2]|0)+69>>0]|0){j[(k[b>>2]|0)+8>>1]=1;k[(k[b>>2]|0)+24>>2]=0;r=d;return}else{a=uu(k[c>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0;k[(k[b>>2]|0)+24>>2]=a;a=TK(k[c>>2]|0,k[(k[b>>2]|0)+20>>2]|0,k[(k[b>>2]|0)+24>>2]|0)|0;k[k[b>>2]>>2]=a;j[(k[b>>2]|0)+8>>1]=32;r=d;return}}function OJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h;f=h+12|0;g=h+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=RK(k[d>>2]|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){r=h;return}b=e;c=k[b+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;k[(k[f>>2]|0)+8>>2]=0;k[g>>2]=k[(k[d>>2]|0)+12>>2];if(k[g>>2]|0){b=k[e+4>>2]|0;a=k[g>>2]|0;c=k[a+4>>2]|0;if((b|0)<(c|0)|((b|0)==(c|0)?(k[e>>2]|0)>>>0<=(k[a>>2]|0)>>>0:0)){a=(k[d>>2]|0)+26|0;j[a>>1]=(m[a>>1]|0)&-2}k[(k[g>>2]|0)+8>>2]=k[f>>2]}else k[(k[d>>2]|0)+8>>2]=k[f>>2];k[(k[d>>2]|0)+12>>2]=k[f>>2];r=h;return}function PJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(!((m[(k[d>>2]|0)+26>>1]|0)&2)){if(!((m[(k[d>>2]|0)+26>>1]|0)&1)){b=NK(k[(k[d>>2]|0)+8>>2]|0)|0;k[(k[d>>2]|0)+8>>2]=b}b=(k[d>>2]|0)+26|0;j[b>>1]=m[b>>1]|0|3}if(!(k[(k[d>>2]|0)+8>>2]|0)){k[c>>2]=0;b=k[c>>2]|0;r=f;return b|0}g=k[(k[d>>2]|0)+8>>2]|0;a=k[g+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[g>>2];k[b+4>>2]=a;k[(k[d>>2]|0)+8>>2]=k[(k[(k[d>>2]|0)+8>>2]|0)+8>>2];if(!(k[(k[d>>2]|0)+8>>2]|0))yG(k[d>>2]|0);k[c>>2]=1;g=k[c>>2]|0;r=f;return g|0}function QJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;n=s+36|0;e=s+32|0;f=s+28|0;o=s;p=s+24|0;q=s+20|0;i=s+16|0;g=s+12|0;h=s+8|0;k[e>>2]=a;k[f>>2]=b;a=o;k[a>>2]=c;k[a+4>>2]=d;if((k[f>>2]|0)!=(k[(k[e>>2]|0)+28>>2]|0)){k[p>>2]=k[(k[e>>2]|0)+8>>2];if(k[p>>2]|0){k[i>>2]=(k[e>>2]|0)+20;if(!((m[(k[e>>2]|0)+26>>1]|0)&1)){a=NK(k[p>>2]|0)|0;k[p>>2]=a}k[q>>2]=k[(k[e>>2]|0)+20>>2];while(1){if(!(k[q>>2]|0))break;k[i>>2]=(k[q>>2]|0)+8;if(!(k[(k[q>>2]|0)+12>>2]|0)){l=8;break}PK(k[(k[q>>2]|0)+12>>2]|0,g,h);k[(k[q>>2]|0)+12>>2]=0;a=QK(k[g>>2]|0,k[p>>2]|0)|0;k[p>>2]=a;k[q>>2]=k[(k[q>>2]|0)+8>>2]}if((l|0)==8){l=OK(k[p>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=l}if((k[q>>2]|0)==0?(l=RK(k[e>>2]|0)|0,k[q>>2]=l,k[k[i>>2]>>2]=l,(k[q>>2]|0)!=0):0){l=k[q>>2]|0;k[l>>2]=0;k[l+4>>2]=0;k[(k[q>>2]|0)+8>>2]=0;l=OK(k[p>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=l}k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+12>>2]=0;l=(k[e>>2]|0)+26|0;j[l>>1]=m[l>>1]|0|1}k[(k[e>>2]|0)+28>>2]=k[f>>2]}k[q>>2]=k[(k[e>>2]|0)+20>>2];a:while(1){if(!(k[q>>2]|0)){l=25;break}k[p>>2]=k[(k[q>>2]|0)+12>>2];while(1){if(!(k[p>>2]|0))break;i=k[p>>2]|0;a=k[i+4>>2]|0;l=o;h=k[l+4>>2]|0;c=k[p>>2]|0;if((a|0)<(h|0)|((a|0)==(h|0)?(k[i>>2]|0)>>>0<(k[l>>2]|0)>>>0:0)){k[p>>2]=k[c+8>>2];continue}i=c;a=k[i+4>>2]|0;l=o;h=k[l+4>>2]|0;if(!((a|0)>(h|0)|((a|0)==(h|0)?(k[i>>2]|0)>>>0>(k[l>>2]|0)>>>0:0))){l=23;break a}k[p>>2]=k[(k[p>>2]|0)+12>>2]}k[q>>2]=k[(k[q>>2]|0)+8>>2]}if((l|0)==23){k[n>>2]=1;q=k[n>>2]|0;r=s;return q|0}else if((l|0)==25){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}return 0}function RJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((l[(k[c>>2]|0)+17>>0]|0|0)>=3){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}if((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0?(a=(k[c>>2]|0)+80|0,c=k[a+4>>2]|0,(c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>0):0){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}k[b>>2]=1;a=k[b>>2]|0;r=d;return a|0}function SJ(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e+8|0;b=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[k[(k[b>>2]|0)+64>>2]>>2];if(i[(k[b>>2]|0)+14>>0]|0){k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}if(!(l[(k[b>>2]|0)+4>>0]|0))if((k[k[c>>2]>>2]|0)>=2)b=(k[(k[c>>2]|0)+52>>2]|0)!=0;else b=0;else b=1;k[d>>2]=b&1;d=k[d>>2]|0;r=e;return d|0}function TJ(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;if(!(k[(k[b>>2]|0)+216>>2]|0)){k[c>>2]=0;a=Qt(k[b>>2]|0,1)|0;k[d>>2]=a;if(!(k[d>>2]|0)){a=gs(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+220>>2]|0,0,c)|0;k[d>>2]=a}if((k[d>>2]|0)==0&(k[c>>2]|0)!=0){a=IK(k[b>>2]|0)|0;k[d>>2]=a}}if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}if(!(k[(k[b>>2]|0)+216>>2]|0)){d=k[d>>2]|0;r=e;return d|0}a=JK(k[b>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}a=tr(k[(k[b>>2]|0)+216>>2]|0,l[(k[b>>2]|0)+10>>0]|0,k[(k[b>>2]|0)+160>>2]|0,k[(k[b>>2]|0)+208>>2]|0)|0;k[d>>2]=a;k[(k[b>>2]|0)+216>>2]=0;kj(k[b>>2]|0);if(!(k[d>>2]|0)){d=k[d>>2]|0;r=e;return d|0}if(i[(k[b>>2]|0)+4>>0]|0){d=k[d>>2]|0;r=e;return d|0}Pr(k[b>>2]|0,1)|0;d=k[d>>2]|0;r=e;return d|0}function UJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+12|0;d=h+8|0;e=h+16|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;i[e>>0]=i[(k[c>>2]|0)+5>>0]|0;if((i[(k[c>>2]|0)+16>>0]|0)!=0?(k[d>>2]|0)!=4&(k[d>>2]|0)!=2:0)k[d>>2]=l[e>>0];do if((k[d>>2]|0)!=(l[e>>0]|0)){i[(k[c>>2]|0)+5>>0]=k[d>>2];if(((i[(k[c>>2]|0)+4>>0]|0)==0?(l[e>>0]&5|0)==1:0)?(k[d>>2]&1|0)==0:0){yr(k[(k[c>>2]|0)+68>>2]|0);if((l[(k[c>>2]|0)+18>>0]|0)>=2){Hr(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0;break}k[f>>2]=0;k[g>>2]=l[(k[c>>2]|0)+17>>0];if(!(k[g>>2]|0)){a=BK(k[c>>2]|0)|0;k[f>>2]=a}if((l[(k[c>>2]|0)+17>>0]|0)==1){a=Qt(k[c>>2]|0,2)|0;k[f>>2]=a}if(!(k[f>>2]|0))Hr(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0;if((k[f>>2]|0)==0&(k[g>>2]|0)==1){Pr(k[c>>2]|0,1)|0;break}if(k[g>>2]|0)break;ur(k[c>>2]|0);break}if((k[d>>2]|0)==2)yr(k[(k[c>>2]|0)+68>>2]|0)}while(0);r=h;return l[(k[c>>2]|0)+5>>0]|0}function VJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+112|0;n=D+24|0;m=D+16|0;j=D+8|0;h=D;p=D+92|0;f=D+88|0;q=D+84|0;d=D+80|0;y=D+76|0;w=D+72|0;x=D+68|0;z=D+64|0;B=D+60|0;C=D+56|0;A=D+96|0;v=D+52|0;e=D+48|0;u=D+44|0;g=D+40|0;o=D+36|0;t=D+32|0;s=D+28|0;k[f>>2]=a;k[q>>2]=b;k[d>>2]=c;k[y>>2]=0;k[v>>2]=0;if(!(i[(k[q>>2]|0)+67>>0]|0)){Mj(k[f>>2]|0,k[q>>2]|0,40519);k[p>>2]=1;C=k[p>>2]|0;r=D;return C|0}if((k[(k[q>>2]|0)+156>>2]|0)>1){Mj(k[f>>2]|0,k[q>>2]|0,40559);k[p>>2]=1;C=k[p>>2]|0;r=D;return C|0}k[z>>2]=k[(k[q>>2]|0)+24>>2];k[B>>2]=k[(k[q>>2]|0)+88>>2];k[C>>2]=k[(k[q>>2]|0)+92>>2];i[A>>0]=i[(k[q>>2]|0)+76>>0]|0;a=(k[q>>2]|0)+24|0;k[a>>2]=k[a>>2]|270542848;a=(k[q>>2]|0)+24|0;k[a>>2]=k[a>>2]&-655489;i[(k[q>>2]|0)+76>>0]=0;k[o>>2]=k[(k[(k[q>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2];k[w>>2]=k[(k[(k[q>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+4>>2];a=uK(Zf(k[w>>2]|0)|0)|0;k[e>>2]=a;k[g>>2]=k[(k[q>>2]|0)+20>>2];a=vK(k[q>>2]|0,k[f>>2]|0,40602)|0;k[y>>2]=a;a:do if(((k[y>>2]|0)==0?(k[v>>2]=(k[(k[q>>2]|0)+16>>2]|0)+(k[g>>2]<<4),k[x>>2]=k[(k[v>>2]|0)+4>>2],Qj(k[x>>2]|0)|0,a=wK(k[w>>2]|0)|0,k[u>>2]=a,Oj(k[x>>2]|0,k[(k[(k[(k[q>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+80>>2]|0)|0,a=k[x>>2]|0,EC(a,EC(k[w>>2]|0,0)|0)|0,eC(k[x>>2]|0,33)|0,a=vK(k[q>>2]|0,k[f>>2]|0,37527)|0,k[y>>2]=a,(k[y>>2]|0)==0):0)?(a=zg(k[w>>2]|0,2)|0,k[y>>2]=a,(k[y>>2]|0)==0):0){if((Dg(Zf(k[w>>2]|0)|0)|0)==5)k[(k[q>>2]|0)+80>>2]=0;c=k[x>>2]|0;a=Cg(k[w>>2]|0)|0;do if(!(Mi(c,a,k[u>>2]|0,0)|0)){if((k[e>>2]|0)==0?(Mi(k[x>>2]|0,k[(k[q>>2]|0)+80>>2]|0,k[u>>2]|0,0)|0)!=0:0)break;if(!(l[(k[q>>2]|0)+69>>0]|0)){d=k[x>>2]|0;if((i[(k[q>>2]|0)+72>>0]|0)>=0)b=i[(k[q>>2]|0)+72>>0]|0;else b=BC(k[w>>2]|0)|0;DC(d,b)|0;i[(k[q>>2]|0)+148+4>>0]=k[g>>2];a=k[q>>2]|0;g=k[f>>2]|0;k[h>>2]=k[o>>2];h=xK(a,g,40623,h)|0;k[y>>2]=h;if(k[y>>2]|0)break a;g=k[q>>2]|0;h=k[f>>2]|0;k[j>>2]=k[o>>2];j=xK(g,h,40731,j)|0;k[y>>2]=j;if(k[y>>2]|0)break a;i[(k[q>>2]|0)+148+4>>0]=0;h=k[q>>2]|0;j=k[f>>2]|0;k[m>>2]=k[o>>2];m=xK(h,j,40804,m)|0;k[y>>2]=m;m=(k[q>>2]|0)+24|0;k[m>>2]=k[m>>2]&-268435457;if(k[y>>2]|0)break a;j=k[q>>2]|0;m=k[f>>2]|0;k[n>>2]=k[o>>2];o=xK(j,m,40955,n)|0;k[y>>2]=o;if(k[y>>2]|0)break a;k[s>>2]=0;while(1){d=k[w>>2]|0;if((k[s>>2]|0)>=10)break;Bg(d,l[41085+(k[s>>2]|0)>>0]|0,t);o=Lg(k[x>>2]|0,l[41085+(k[s>>2]|0)>>0]|0,(k[t>>2]|0)+(l[41085+((k[s>>2]|0)+1)>>0]|0)|0)|0;k[y>>2]=o;if(k[y>>2]|0)break a;k[s>>2]=(k[s>>2]|0)+2}t=yK(d,k[x>>2]|0)|0;k[y>>2]=t;if(k[y>>2]|0)break a;t=Qj(k[x>>2]|0)|0;k[y>>2]=t;if(k[y>>2]|0)break a;t=k[w>>2]|0;DC(t,BC(k[x>>2]|0)|0)|0;t=k[w>>2]|0;x=Cg(k[x>>2]|0)|0;x=Mi(t,x,k[u>>2]|0,1)|0;k[y>>2]=x;break a}}while(0);k[y>>2]=7}while(0);i[(k[q>>2]|0)+148+4>>0]=0;k[(k[q>>2]|0)+24>>2]=k[z>>2];k[(k[q>>2]|0)+88>>2]=k[B>>2];k[(k[q>>2]|0)+92>>2]=k[C>>2];i[(k[q>>2]|0)+76>>0]=i[A>>0]|0;Mi(k[w>>2]|0,-1,-1,1)|0;i[(k[q>>2]|0)+67>>0]=1;if(k[v>>2]|0){VB(k[(k[v>>2]|0)+4>>2]|0)|0;k[(k[v>>2]|0)+4>>2]=0;k[(k[v>>2]|0)+12>>2]=0}Mg(k[q>>2]|0);k[p>>2]=k[y>>2];C=k[p>>2]|0;r=D;return C|0}function WJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+20|0;f=g+16|0;e=g+12|0;d=g+8|0;c=g+4|0;b=g;k[h>>2]=a;k[e>>2]=k[(k[h>>2]|0)+4>>2];wg(k[h>>2]|0);if(!(i[(k[e>>2]|0)+17>>0]|0)){k[f>>2]=101;h=k[f>>2]|0;r=g;return h|0}h=TF(k[e>>2]|0)|0;k[d>>2]=h;h=qr((k[(k[(k[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[c>>2]=h;h=hK(k[e>>2]|0,k[d>>2]|0,k[c>>2]|0)|0;k[b>>2]=h;if((k[d>>2]|0)>>>0<(k[b>>2]|0)>>>0){h=_j(61866)|0;k[f>>2]=h;h=k[f>>2]|0;r=g;return h|0}if((k[c>>2]|0)>>>0<=0){k[f>>2]=101;h=k[f>>2]|0;r=g;return h|0}h=fI(k[e>>2]|0,0,0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){iK(k[e>>2]|0);h=jK(k[e>>2]|0,k[b>>2]|0,k[d>>2]|0,0)|0;k[f>>2]=h}if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}h=Qg(k[(k[(k[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[f>>2]=h;pt((k[(k[(k[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[(k[e>>2]|0)+44>>2]|0);h=k[f>>2]|0;r=g;return h|0}function XJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;d=j+8|0;e=j+4|0;f=j+13|0;h=j;g=j+12|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;k[h>>2]=0;if(!(i[(k[d>>2]|0)+9>>0]|0)){h=k[h>>2]|0;r=j;return h|0}i[g>>0]=1+(l[f>>0]|0);wg(k[d>>2]|0);a=eI(k[d>>2]|0,k[e>>2]|0,i[g>>0]|0)|0;k[h>>2]=a;if(k[h>>2]|0){h=k[h>>2]|0;r=j;return h|0}a=gK(k[d>>2]|0,k[e>>2]|0,i[g>>0]|0)|0;k[h>>2]=a;h=k[h>>2]|0;r=j;return h|0}function YJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+24|0;d=l+20|0;e=l+16|0;i=l+12|0;h=l+8|0;f=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[i>>2]=0;if((k[(k[d>>2]|0)+316>>2]|0)>0?(k[(k[d>>2]|0)+340>>2]|0)==0:0){k[c>>2]=6;j=k[c>>2]|0;r=l;return j|0}if(!(k[e>>2]|0)){k[c>>2]=0;j=k[c>>2]|0;r=l;return j|0}k[h>>2]=k[k[(k[e>>2]|0)+8>>2]>>2];if(k[(k[h>>2]|0)+56>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+316>>2]|0))break;if((k[(k[(k[d>>2]|0)+340>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[e>>2]|0)){j=10;break}k[f>>2]=(k[f>>2]|0)+1}if((j|0)==10){k[c>>2]=0;j=k[c>>2]|0;r=l;return j|0}j=eK(k[d>>2]|0)|0;k[i>>2]=j;if((((k[i>>2]|0)==0?(j=bc[k[(k[h>>2]|0)+56>>2]&255](k[(k[e>>2]|0)+8>>2]|0)|0,k[i>>2]=j,(k[i>>2]|0)==0):0)?(k[g>>2]=(k[(k[d>>2]|0)+436>>2]|0)+(k[(k[d>>2]|0)+432>>2]|0),fK(k[d>>2]|0,k[e>>2]|0),(k[g>>2]|0)!=0):0)?(k[(k[h>>2]|0)+80>>2]|0)!=0:0){k[(k[e>>2]|0)+20>>2]=k[g>>2];j=gc[k[(k[h>>2]|0)+80>>2]&255](k[(k[e>>2]|0)+8>>2]|0,(k[g>>2]|0)-1|0)|0;k[i>>2]=j}}k[c>>2]=k[i>>2];j=k[c>>2]|0;r=l;return j|0}function ZJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+48|0;j=m;e=m+32|0;n=m+28|0;o=m+24|0;f=m+20|0;i=m+16|0;h=m+12|0;g=m+8|0;l=m+4|0;k[e>>2]=a;k[n>>2]=b;k[o>>2]=c;k[f>>2]=d;k[i>>2]=0;c=Di(k[e>>2]|0,k[o>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[n>>2]<<4)>>2]|0)|0;k[h>>2]=c;k[l>>2]=k[k[(k[h>>2]|0)+52>>2]>>2];c=Cj((k[e>>2]|0)+320|0,k[l>>2]|0)|0;k[g>>2]=c;if(((k[g>>2]|0)!=0?(k[(k[k[g>>2]>>2]|0)+4>>2]|0)!=0:0)?(k[(k[k[g>>2]>>2]|0)+20>>2]|0)!=0:0){o=Tz(k[e>>2]|0,k[h>>2]|0,k[g>>2]|0,k[(k[k[g>>2]>>2]|0)+4>>2]|0,k[f>>2]|0)|0;k[i>>2]=o}else{o=k[e>>2]|0;k[j>>2]=k[l>>2];o=Qh(o,30631,j)|0;k[k[f>>2]>>2]=o;k[i>>2]=1}if(k[i>>2]|0){o=k[i>>2]|0;r=m;return o|0}if(!(cy(k[e>>2]|0,k[h>>2]|0)|0)){o=k[i>>2]|0;r=m;return o|0}o=eK(k[e>>2]|0)|0;k[i>>2]=o;if(k[i>>2]|0){o=k[i>>2]|0;r=m;return o|0}o=k[e>>2]|0;fK(o,cy(k[e>>2]|0,k[h>>2]|0)|0);o=k[i>>2]|0;r=m;return o|0}function _J(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+32|0;d=j+28|0;e=j+24|0;l=j+20|0;m=j+16|0;h=j+12|0;g=j+8|0;f=j+4|0;i=j;k[e>>2]=a;k[l>>2]=b;k[m>>2]=c;k[h>>2]=0;c=Di(k[e>>2]|0,k[m>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2]|0)|0;k[g>>2]=c;do if((k[g>>2]|0)!=0?(k[(k[g>>2]|0)+56>>2]|0)!=0:0){k[f>>2]=k[(k[g>>2]|0)+56>>2];while(1){if(!(k[f>>2]|0)){a=8;break}if((k[(k[(k[f>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}k[f>>2]=k[(k[f>>2]|0)+24>>2]}if((a|0)==6){k[d>>2]=6;m=k[d>>2]|0;r=j;return m|0}else if((a|0)==8){m=dK(k[e>>2]|0,k[g>>2]|0)|0;k[f>>2]=m;k[i>>2]=k[(k[k[(k[f>>2]|0)+4>>2]>>2]|0)+20>>2];m=bc[k[i>>2]&255](k[(k[f>>2]|0)+8>>2]|0)|0;k[h>>2]=m;if(k[h>>2]|0)break;k[(k[f>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+56>>2]=0;Cu(k[f>>2]|0);break}}while(0);k[d>>2]=k[h>>2];m=k[d>>2]|0;r=j;return m|0}function $J(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;wg(k[f>>2]|0);a=cK(k[k[(k[f>>2]|0)+4>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function aK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)==3082){r=e;return}k[d>>2]=k[d>>2]&255;if(!((k[d>>2]|0)==14|(k[d>>2]|0)==10)){r=e;return}b=bK(k[k[c>>2]>>2]|0)|0;k[(k[c>>2]|0)+60>>2]=b;r=e;return}function bK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+68>>2]|0)){a=0;r=c;return a|0}a=Yb[k[(k[b>>2]|0)+68>>2]&255](k[b>>2]|0,0,0)|0;r=c;return a|0}function cK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>0)k[(k[c>>2]|0)+164>>2]=k[d>>2];r=e;return k[(k[c>>2]|0)+164>>2]|0}function dK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;g=i+12|0;h=i+8|0;e=i+4|0;f=i;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;k[h>>2]=k[(k[d>>2]|0)+56>>2];k[(k[d>>2]|0)+56>>2]=0;while(1){if(!(k[h>>2]|0))break;k[e>>2]=k[k[h>>2]>>2];k[f>>2]=k[(k[h>>2]|0)+24>>2];if((k[e>>2]|0)==(k[c>>2]|0)){k[g>>2]=k[h>>2];k[(k[d>>2]|0)+56>>2]=k[g>>2];k[(k[g>>2]|0)+24>>2]=0}else{k[(k[h>>2]|0)+24>>2]=k[(k[e>>2]|0)+344>>2];k[(k[e>>2]|0)+344>>2]=k[h>>2]}k[h>>2]=k[f>>2]}r=i;return k[g>>2]|0}function eK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+16|0;c=f+12|0;d=f+4|0;e=f;k[c>>2]=a;k[f+8>>2]=5;do if(!((k[(k[c>>2]|0)+316>>2]|0)%5|0)){k[e>>2]=(k[(k[c>>2]|0)+316>>2]|0)+5<<2;e=k[e>>2]|0;e=cx(k[c>>2]|0,k[(k[c>>2]|0)+340>>2]|0,e,((e|0)<0)<<31>>31)|0;k[d>>2]=e;if(k[d>>2]|0){e=(k[d>>2]|0)+(k[(k[c>>2]|0)+316>>2]<<2)|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[(k[c>>2]|0)+340>>2]=k[d>>2];break}k[b>>2]=7;e=k[b>>2]|0;r=f;return e|0}while(0);k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}function fK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[d>>2]|0;f=(k[e>>2]|0)+316|0;b=k[f>>2]|0;k[f>>2]=b+1;k[(k[(k[e>>2]|0)+340>>2]|0)+(b<<2)>>2]=a;rI(k[d>>2]|0);r=c;return}function gK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+24|0;h=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];k[m>>2]=0;k[j>>2]=k[(k[h>>2]|0)+72>>2];while(1){if(!(k[j>>2]|0))break;if((k[(k[j>>2]|0)+4>>2]|0)==(k[f>>2]|0)?(k[k[j>>2]>>2]|0)==(k[e>>2]|0):0){n=5;break}k[j>>2]=k[(k[j>>2]|0)+12>>2]}if((n|0)==5)k[m>>2]=k[j>>2];do if(!(k[m>>2]|0)){n=ug(16,0)|0;k[m>>2]=n;if(k[m>>2]|0){k[(k[m>>2]|0)+4>>2]=k[f>>2];k[k[m>>2]>>2]=k[e>>2];k[(k[m>>2]|0)+12>>2]=k[(k[h>>2]|0)+72>>2];k[(k[h>>2]|0)+72>>2]=k[m>>2];break}k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}while(0);if((l[g>>0]|0|0)>(l[(k[m>>2]|0)+8>>0]|0|0))i[(k[m>>2]|0)+8>>0]=i[g>>0]|0;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}function hK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;d=f+20|0;g=f+16|0;i=f+12|0;j=f+8|0;h=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[i>>2]=c;k[j>>2]=((k[(k[d>>2]|0)+36>>2]|0)>>>0)/5|0;a=(k[i>>2]|0)-(k[g>>2]|0)|0;a=a+(dG(k[d>>2]|0,k[g>>2]|0)|0)|0;k[h>>2]=((a+(k[j>>2]|0)|0)>>>0)/((k[j>>2]|0)>>>0)|0;k[e>>2]=(k[g>>2]|0)-(k[i>>2]|0)-(k[h>>2]|0);if((k[g>>2]|0)>>>0>((((k[384]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(k[e>>2]|0)>>>0<((((k[384]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)k[e>>2]=(k[e>>2]|0)+-1;while(1){j=dG(k[d>>2]|0,k[e>>2]|0)|0;if((j|0)==(k[e>>2]|0))b=1;else b=(k[e>>2]|0)==((((k[384]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0);c=k[e>>2]|0;if(!b)break;k[e>>2]=c+-1}r=f;return c|0}function iK(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[b>>2]|0))break;d=(k[b>>2]|0)+64|0;i[d>>0]=(l[d>>0]|0)&-5;k[b>>2]=k[(k[b>>2]|0)+8>>2]}r=c;return}function jK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;e=z+52|0;f=z+48|0;g=z+44|0;h=z+40|0;j=z+36|0;t=z+32|0;x=z+28|0;n=z+57|0;s=z+24|0;o=z+20|0;u=z+16|0;p=z+12|0;w=z+8|0;m=z+56|0;q=z+4|0;v=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;a=dG(k[f>>2]|0,k[h>>2]|0)|0;do if((a|0)!=(k[h>>2]|0)?(k[h>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[f>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){a=qr((k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[t>>2]=a;if(!(k[t>>2]|0)){k[e>>2]=101;y=k[e>>2]|0;r=z;return y|0}a=eG(k[f>>2]|0,k[h>>2]|0,n,s)|0;k[x>>2]=a;if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}if((l[n>>0]|0|0)==1){y=_j(61751)|0;k[e>>2]=y;y=k[e>>2]|0;r=z;return y|0}if((l[n>>0]|0|0)==2){if(k[j>>2]|0)break;y=kK(k[f>>2]|0,u,o,k[h>>2]|0,1)|0;k[x>>2]=y;if(!(k[x>>2]|0)){_B(k[u>>2]|0);break}k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}i[m>>0]=0;k[q>>2]=0;u=fG(k[f>>2]|0,k[h>>2]|0,w,0)|0;k[x>>2]=u;if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}if(!(k[j>>2]|0)){i[m>>0]=2;k[q>>2]=k[g>>2]}do{u=kK(k[f>>2]|0,v,p,k[q>>2]|0,i[m>>0]|0)|0;k[x>>2]=u;if(k[x>>2]|0){y=19;break}_B(k[v>>2]|0);if(!(k[j>>2]|0))break}while((k[p>>2]|0)>>>0>(k[g>>2]|0)>>>0);if((y|0)==19){_B(k[w>>2]|0);k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}y=lK(k[f>>2]|0,k[w>>2]|0,i[n>>0]|0,k[s>>2]|0,k[p>>2]|0,k[j>>2]|0)|0;k[x>>2]=y;_B(k[w>>2]|0);if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}}while(0);if(!(k[j>>2]|0)){while(1){k[h>>2]=(k[h>>2]|0)+-1;if((k[h>>2]|0)==((((k[384]|0)>>>0)/((k[(k[f>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=dG(k[f>>2]|0,k[h>>2]|0)|0;if((y|0)!=(k[h>>2]|0))break}i[(k[f>>2]|0)+19>>0]=1;k[(k[f>>2]|0)+44>>2]=k[h>>2]}k[e>>2]=0;y=k[e>>2]|0;r=z;return y|0}function kK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=r;r=r+112|0;H=L+96|0;j=L+92|0;m=L+88|0;n=L+84|0;o=L+80|0;p=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;g=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;q=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;f=L+4|0;h=L;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;i[p>>0]=e;k[J>>2]=0;k[I>>2]=0;k[F>>2]=k[(k[j>>2]|0)+12>>2];b=TF(k[j>>2]|0)|0;k[A>>2]=b;b=qr((k[(k[F>>2]|0)+56>>2]|0)+36|0)|0;k[B>>2]=b;if((k[B>>2]|0)>>>0>=(k[A>>2]|0)>>>0){K=_j(63793)|0;k[H>>2]=K;K=k[H>>2]|0;r=L;return K|0}a:do if((k[B>>2]|0)>>>0>0){i[G>>0]=0;k[C>>2]=0;do if((l[p>>0]|0)==1){if((k[o>>2]|0)>>>0<=(k[A>>2]|0)>>>0){b=eG(k[j>>2]|0,k[o>>2]|0,g,0)|0;k[K>>2]=b;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{if((l[g>>0]|0)!=2)break;i[G>>0]=1;break}}}else if((l[p>>0]|0)==2)i[G>>0]=1;while(0);b=Qg(k[(k[F>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}pt((k[(k[F>>2]|0)+56>>2]|0)+36|0,(k[B>>2]|0)-1|0);b:while(1){k[I>>2]=k[J>>2];if(k[I>>2]|0){b=qr(k[(k[I>>2]|0)+56>>2]|0)|0;k[y>>2]=b}else{b=qr((k[(k[F>>2]|0)+56>>2]|0)+32|0)|0;k[y>>2]=b}if((k[y>>2]|0)>>>0<=(k[A>>2]|0)>>>0?(b=k[C>>2]|0,k[C>>2]=b+1,b>>>0<=(k[B>>2]|0)>>>0):0){b=sK(k[j>>2]|0,k[y>>2]|0,J,0)|0;k[K>>2]=b}else{b=_j(63849)|0;k[K>>2]=b}if(k[K>>2]|0){f=23;break}b=qr((k[(k[J>>2]|0)+56>>2]|0)+4|0)|0;k[z>>2]=b;c:do if((k[z>>2]|0)!=0|(i[G>>0]|0)!=0){if((k[z>>2]|0)>>>0>((((k[(k[j>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){f=28;break b}do if(l[G>>0]|0){if((k[o>>2]|0)!=(k[y>>2]|0)){if((k[y>>2]|0)>>>0>=(k[o>>2]|0)>>>0)break;if((l[p>>0]|0)!=2)break}k[k[n>>2]>>2]=k[y>>2];k[k[m>>2]>>2]=k[J>>2];i[G>>0]=0;b=Qg(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;do if(!(k[z>>2]|0)){if(!(k[I>>2]|0)){b=(k[(k[F>>2]|0)+56>>2]|0)+32|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;break}b=Qg(k[(k[I>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;b=k[(k[I>>2]|0)+56>>2]|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0}else{b=qr((k[(k[J>>2]|0)+56>>2]|0)+8|0)|0;k[w>>2]=b;if((k[w>>2]|0)>>>0>(k[A>>2]|0)>>>0){f=40;break b}b=sK(k[j>>2]|0,k[w>>2]|0,E,0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;e=Qg(k[(k[E>>2]|0)+72>>2]|0)|0;k[K>>2]=e;e=k[E>>2]|0;if(k[K>>2]|0){f=43;break b}b=k[e+56>>2]|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;pt((k[(k[E>>2]|0)+56>>2]|0)+4|0,(k[z>>2]|0)-1|0);bS((k[(k[E>>2]|0)+56>>2]|0)+8|0,(k[(k[J>>2]|0)+56>>2]|0)+12|0,(k[z>>2]|0)-1<<2|0)|0;_B(k[E>>2]|0);if(!(k[I>>2]|0)){pt((k[(k[F>>2]|0)+56>>2]|0)+32|0,k[w>>2]|0);break}b=Qg(k[(k[I>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;pt(k[(k[I>>2]|0)+56>>2]|0,k[w>>2]|0)}while(0);k[J>>2]=0;break c}while(0);if((k[z>>2]|0)>>>0>0){k[q>>2]=k[(k[J>>2]|0)+56>>2];b=(k[o>>2]|0)>>>0>0;k[s>>2]=0;d:do if(b)if((l[p>>0]|0)==2){k[v>>2]=0;while(1){if((k[v>>2]|0)>>>0>=(k[z>>2]|0)>>>0)break d;f=qr((k[q>>2]|0)+(8+(k[v>>2]<<2))|0)|0;k[x>>2]=f;f=k[v>>2]|0;if((k[x>>2]|0)>>>0<=(k[o>>2]|0)>>>0)break;k[v>>2]=f+1}k[s>>2]=f;break}else{b=qr((k[q>>2]|0)+8|0)|0;b=Nj(b-(k[o>>2]|0)|0)|0;k[u>>2]=b;k[v>>2]=1;while(1){if((k[v>>2]|0)>>>0>=(k[z>>2]|0)>>>0)break d;b=qr((k[q>>2]|0)+(8+(k[v>>2]<<2))|0)|0;b=Nj(b-(k[o>>2]|0)|0)|0;k[t>>2]=b;if((k[t>>2]|0)<(k[u>>2]|0)){k[s>>2]=k[v>>2];k[u>>2]=k[t>>2]}k[v>>2]=(k[v>>2]|0)+1}}while(0);b=qr((k[q>>2]|0)+(8+(k[s>>2]<<2))|0)|0;k[x>>2]=b;if((k[x>>2]|0)>>>0>(k[A>>2]|0)>>>0){f=63;break b}if((i[G>>0]|0)!=0?(k[x>>2]|0)!=(k[o>>2]|0):0){if((k[x>>2]|0)>>>0>=(k[o>>2]|0)>>>0)break;if((l[p>>0]|0)!=2)break}k[k[n>>2]>>2]=k[x>>2];b=Qg(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;if((k[s>>2]|0)>>>0<((k[z>>2]|0)-1|0)>>>0){b=(k[q>>2]|0)+(8+(k[s>>2]<<2))|0;c=(k[q>>2]|0)+(4+(k[z>>2]<<2))|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0}pt((k[q>>2]|0)+4|0,(k[z>>2]|0)-1|0);b=(tK(k[j>>2]|0,k[k[n>>2]>>2]|0)|0)!=0^1;k[D>>2]=b?1:0;b=sK(k[j>>2]|0,k[k[n>>2]>>2]|0,k[m>>2]|0,k[D>>2]|0)|0;k[K>>2]=b;do if(!(k[K>>2]|0)){b=Qg(k[(k[k[m>>2]>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(!(k[K>>2]|0))break;_B(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0}while(0);i[G>>0]=0}}else{b=Qg(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;k[k[n>>2]>>2]=k[y>>2];b=(k[(k[F>>2]|0)+56>>2]|0)+32|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;k[k[m>>2]>>2]=k[J>>2];k[J>>2]=0}while(0);_B(k[I>>2]|0);k[I>>2]=0;if(!(i[G>>0]|0))break a}if((f|0)==23){k[J>>2]=0;break}else if((f|0)==28){G=_j(63878)|0;k[K>>2]=G;break}else if((f|0)==40){G=_j(63912)|0;k[K>>2]=G;break}else if((f|0)==43){_B(e);break}else if((f|0)==63){G=_j(63977)|0;k[K>>2]=G;break}}else{k[f>>2]=0==(l[(k[j>>2]|0)+19>>0]|0)?1:0;G=Qg(k[(k[(k[j>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[K>>2]=G;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;if((k[(k[j>>2]|0)+44>>2]|0)==((((k[384]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1}do if((l[(k[j>>2]|0)+17>>0]|0)!=0?(G=dG(k[j>>2]|0,k[(k[j>>2]|0)+44>>2]|0)|0,(G|0)==(k[(k[j>>2]|0)+44>>2]|0)):0){k[h>>2]=0;G=sK(k[j>>2]|0,k[(k[j>>2]|0)+44>>2]|0,h,k[f>>2]|0)|0;k[K>>2]=G;if(!(k[K>>2]|0)){G=Qg(k[(k[h>>2]|0)+72>>2]|0)|0;k[K>>2]=G;_B(k[h>>2]|0)}if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;if((k[(k[j>>2]|0)+44>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;break}}while(0);pt((k[(k[(k[j>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[(k[j>>2]|0)+44>>2]|0);k[k[n>>2]>>2]=k[(k[j>>2]|0)+44>>2];G=sK(k[j>>2]|0,k[k[n>>2]>>2]|0,k[m>>2]|0,k[f>>2]|0)|0;k[K>>2]=G;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{G=Qg(k[(k[k[m>>2]>>2]|0)+72>>2]|0)|0;k[K>>2]=G;if(!(k[K>>2]|0))break;_B(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0;break}}while(0);_B(k[J>>2]|0);_B(k[I>>2]|0);k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}function lK(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=r;r=r+48|0;m=v+40|0;n=v+36|0;g=v+32|0;o=v+44|0;p=v+28|0;q=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;h=v;k[n>>2]=a;k[g>>2]=b;i[o>>0]=c;k[p>>2]=d;k[q>>2]=e;k[w>>2]=f;k[s>>2]=k[(k[g>>2]|0)+84>>2];k[x>>2]=k[k[n>>2]>>2];b=mK(k[x>>2]|0,k[(k[g>>2]|0)+72>>2]|0,k[q>>2]|0,k[w>>2]|0)|0;k[u>>2]=b;if(k[u>>2]|0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}k[(k[g>>2]|0)+84>>2]=k[q>>2];if((l[o>>0]|0|0)!=5?(l[o>>0]|0|0)!=1:0){x=qr(k[(k[g>>2]|0)+56>>2]|0)|0;k[h>>2]=x;if((k[h>>2]|0)!=0?(oK(k[n>>2]|0,k[h>>2]|0,4,k[q>>2]|0,u),(k[u>>2]|0)!=0):0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}}else j=5;if((j|0)==5?(x=nK(k[g>>2]|0)|0,k[u>>2]=x,(k[u>>2]|0)!=0):0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}do if((l[o>>0]|0|0)!=1){x=fG(k[n>>2]|0,k[p>>2]|0,t,0)|0;k[u>>2]=x;if(k[u>>2]|0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}g=Qg(k[(k[t>>2]|0)+72>>2]|0)|0;k[u>>2]=g;g=k[t>>2]|0;if(k[u>>2]|0){_B(g);k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}else{x=pK(g,k[s>>2]|0,k[q>>2]|0,i[o>>0]|0)|0;k[u>>2]=x;_B(k[t>>2]|0);if(k[u>>2]|0)break;oK(k[n>>2]|0,k[q>>2]|0,i[o>>0]|0,k[p>>2]|0,u);break}}while(0);k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}function mK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;f=u+36|0;g=u+32|0;h=u+28|0;n=u+24|0;e=u+20|0;s=u+16|0;o=u+12|0;t=u+8|0;p=u+4|0;q=u;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[e>>2]=d;k[o>>2]=0;if((i[(k[g>>2]|0)+13>>0]|0)!=0?(c=Qg(k[h>>2]|0)|0,k[t>>2]=c,(k[t>>2]|0)!=0):0){k[f>>2]=k[t>>2];t=k[f>>2]|0;r=u;return t|0}if((m[(k[h>>2]|0)+24>>1]&2|0)!=0?(c=Gt(k[h>>2]|0)|0,k[t>>2]=c,0!=(c|0)):0){k[f>>2]=k[t>>2];t=k[f>>2]|0;r=u;return t|0}if(!((k[e>>2]|0)!=0?1:(m[(k[h>>2]|0)+24>>1]&8|0)==0))k[o>>2]=k[(k[h>>2]|0)+20>>2];c=(k[h>>2]|0)+24|0;j[c>>1]=m[c>>1]&-9;c=rs(k[g>>2]|0,k[n>>2]|0)|0;k[s>>2]=c;do if(k[s>>2]|0){e=(k[h>>2]|0)+24|0;j[e>>1]=m[e>>1]|m[(k[s>>2]|0)+24>>1]&8;e=k[s>>2]|0;if(i[(k[g>>2]|0)+13>>0]|0){rK(e,(k[(k[g>>2]|0)+28>>2]|0)+1|0);break}else{Qs(e);break}}while(0);k[p>>2]=k[(k[h>>2]|0)+20>>2];rK(k[h>>2]|0,k[n>>2]|0);ts(k[h>>2]|0);if((k[s>>2]|0)!=0?(l[(k[g>>2]|0)+13>>0]|0)!=0:0){rK(k[s>>2]|0,k[p>>2]|0);Ts(k[s>>2]|0)}do if(k[o>>2]|0){s=Fg(k[g>>2]|0,k[o>>2]|0,q,0)|0;k[t>>2]=s;if(!(k[t>>2]|0)){t=(k[q>>2]|0)+24|0;j[t>>1]=m[t>>1]|8;ts(k[q>>2]|0);Ts(k[q>>2]|0);break}if((k[o>>2]|0)>>>0<=(k[(k[g>>2]|0)+32>>2]|0)>>>0)wj(k[(k[g>>2]|0)+60>>2]|0,k[o>>2]|0,k[(k[g>>2]|0)+208>>2]|0);k[f>>2]=k[t>>2];t=k[f>>2]|0;r=u;return t|0}while(0);k[f>>2]=0;t=k[f>>2]|0;r=u;return t|0}function nK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0;p=r;r=r+48|0;b=p+32|0;e=p+28|0;g=p+24|0;o=p+20|0;h=p+16|0;f=p+36|0;n=p+12|0;j=p+8|0;c=p+4|0;d=p;k[b>>2]=a;k[h>>2]=k[(k[b>>2]|0)+52>>2];i[f>>0]=i[k[b>>2]>>0]|0;k[n>>2]=k[(k[b>>2]|0)+84>>2];a=eu(k[b>>2]|0)|0;k[o>>2]=a;if(k[o>>2]|0){j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}k[g>>2]=m[(k[b>>2]|0)+18>>1];k[e>>2]=0;while(1){a=k[b>>2]|0;if((k[e>>2]|0)>=(k[g>>2]|0))break;k[j>>2]=(k[a+56>>2]|0)+(m[(k[b>>2]|0)+20>>1]&(l[(k[(k[b>>2]|0)+64>>2]|0)+(k[e>>2]<<1)>>0]<<8|l[(k[(k[b>>2]|0)+64>>2]|0)+(k[e>>2]<<1)+1>>0]));qK(k[b>>2]|0,k[j>>2]|0,o);if(!(i[(k[b>>2]|0)+4>>0]|0)){a=qr(k[j>>2]|0)|0;k[c>>2]=a;oK(k[h>>2]|0,k[c>>2]|0,5,k[n>>2]|0,o)}k[e>>2]=(k[e>>2]|0)+1}if(i[a+4>>0]|0){j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}j=qr((k[(k[b>>2]|0)+56>>2]|0)+((l[(k[b>>2]|0)+5>>0]|0)+8)|0)|0;k[d>>2]=j;oK(k[h>>2]|0,k[d>>2]|0,5,k[n>>2]|0,o);j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}function oK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+32|0;g=t+28|0;h=t+36|0;j=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;n=t+8|0;o=t+4|0;s=t;k[f>>2]=a;k[g>>2]=b;i[h>>0]=c;k[j>>2]=d;k[m>>2]=e;if(k[k[m>>2]>>2]|0){r=t;return}if(!(k[g>>2]|0)){s=_j(59184)|0;k[k[m>>2]>>2]=s;r=t;return}d=dG(k[f>>2]|0,k[g>>2]|0)|0;k[n>>2]=d;d=Fg(k[k[f>>2]>>2]|0,k[n>>2]|0,p,0)|0;k[s>>2]=d;if(k[s>>2]|0){k[k[m>>2]>>2]=k[s>>2];r=t;return}k[o>>2]=((k[g>>2]|0)-(k[n>>2]|0)-1|0)*5;do if((k[o>>2]|0)>=0){d=Gg(k[p>>2]|0)|0;k[q>>2]=d;if((l[h>>0]|0|0)==(l[(k[q>>2]|0)+(k[o>>2]|0)>>0]|0|0)?(d=qr((k[q>>2]|0)+((k[o>>2]|0)+1)|0)|0,(d|0)==(k[j>>2]|0)):0)break;d=Qg(k[p>>2]|0)|0;k[s>>2]=d;k[k[m>>2]>>2]=d;if(!(k[s>>2]|0)){i[(k[q>>2]|0)+(k[o>>2]|0)>>0]=i[h>>0]|0;pt((k[q>>2]|0)+((k[o>>2]|0)+1)|0,k[j>>2]|0)}}else{s=_j(59195)|0;k[k[m>>2]>>2]=s}while(0);Ig(k[p>>2]|0);r=t;return}function pK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;e=v+52|0;f=v+48|0;g=v+44|0;h=v+40|0;j=v+57|0;p=v+56|0;n=v+36|0;q=v+32|0;t=v+28|0;s=v+24|0;o=v;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[j>>0]=d;d=k[f>>2]|0;do if((l[j>>0]|0|0)==4){u=qr(k[d+56>>2]|0)|0;if((u|0)==(k[g>>2]|0)){pt(k[(k[f>>2]|0)+56>>2]|0,k[h>>2]|0);break}u=_j(61581)|0;k[e>>2]=u;u=k[e>>2]|0;r=v;return u|0}else{i[p>>0]=i[d>>0]|0;a=eu(k[f>>2]|0)|0;k[t>>2]=a;if(k[t>>2]|0){k[e>>2]=k[t>>2];u=k[e>>2]|0;r=v;return u|0}k[q>>2]=m[(k[f>>2]|0)+18>>1];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[q>>2]|0))break;k[s>>2]=(k[(k[f>>2]|0)+56>>2]|0)+((m[(k[f>>2]|0)+20>>1]|0)&((l[(k[(k[f>>2]|0)+64>>2]|0)+(k[n>>2]<<1)>>0]|0)<<8|(l[(k[(k[f>>2]|0)+64>>2]|0)+(k[n>>2]<<1)+1>>0]|0)));if((l[j>>0]|0|0)==3){cc[k[(k[f>>2]|0)+80>>2]&255](k[f>>2]|0,k[s>>2]|0,o);if(((m[o+16>>1]|0)>>>0<(k[o+12>>2]|0)>>>0?((k[s>>2]|0)+(m[o+18>>1]|0)+-1|0)>>>0<=((k[(k[f>>2]|0)+56>>2]|0)+(m[(k[f>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=k[g>>2]|0,(t|0)==(qr((k[s>>2]|0)+(m[o+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=qr(k[s>>2]|0)|0;if((t|0)==(k[g>>2]|0)){u=15;break}}k[n>>2]=(k[n>>2]|0)+1}if((u|0)==13)pt((k[s>>2]|0)+(m[o+18>>1]|0)+-4|0,k[h>>2]|0);else if((u|0)==15)pt(k[s>>2]|0,k[h>>2]|0);do if((k[n>>2]|0)==(k[q>>2]|0)){if((l[j>>0]|0|0)==5?(u=qr((k[(k[f>>2]|0)+56>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(k[g>>2]|0)):0){pt((k[(k[f>>2]|0)+56>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8)|0,k[h>>2]|0);break}u=_j(61617)|0;k[e>>2]=u;u=k[e>>2]|0;r=v;return u|0}while(0);i[k[f>>2]>>0]=i[p>>0]|0}while(0);k[e>>2]=0;u=k[e>>2]|0;r=v;return u|0}function qK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+48|0;d=i+36|0;e=i+32|0;f=i+28|0;g=i;h=i+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=i;return}cc[k[(k[d>>2]|0)+80>>2]&255](k[d>>2]|0,k[e>>2]|0,g);if((m[g+16>>1]|0)>>>0>=(k[g+12>>2]|0)>>>0){r=i;return}c=qr((k[e>>2]|0)+((m[g+18>>1]|0)-4)|0)|0;k[h>>2]=c;oK(k[(k[d>>2]|0)+52>>2]|0,k[h>>2]|0,3,k[(k[d>>2]|0)+84>>2]|0,k[f>>2]|0);r=i;return}function rK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;c=d+8|0;e=d+4|0;f=d;k[c>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[c>>2]|0)+28>>2];ic[k[152>>2]&255](k[(k[f>>2]|0)+44>>2]|0,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+20>>2]|0,k[e>>2]|0);k[(k[c>>2]|0)+20>>2]=k[e>>2];if(!((m[(k[c>>2]|0)+24>>1]|0)&2)){r=d;return}if(!((m[(k[c>>2]|0)+24>>1]|0)&8)){r=d;return}rj(k[c>>2]|0,3);r=d;return}function sK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;h=r;r=r+32|0;e=h+20|0;m=h+16|0;l=h+12|0;f=h+8|0;j=h+4|0;g=h;k[m>>2]=a;k[l>>2]=b;k[f>>2]=c;k[j>>2]=d;d=fG(k[m>>2]|0,k[l>>2]|0,k[f>>2]|0,k[j>>2]|0)|0;k[g>>2]=d;d=k[f>>2]|0;do if(!(k[g>>2]|0)){m=(du(k[(k[d>>2]|0)+72>>2]|0)|0)>1;d=k[k[f>>2]>>2]|0;if(!m){i[d>>0]=0;break}_B(d);k[k[f>>2]>>2]=0;m=_j(60316)|0;k[e>>2]=m;m=k[e>>2]|0;r=h;return m|0}else k[d>>2]=0;while(0);k[e>>2]=k[g>>2];m=k[e>>2]|0;r=h;return m|0}function tK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[f>>2]|0)+60>>2];if(!(k[d>>2]|0)){f=0;f=f&1;r=e;return f|0}f=k[c>>2]|0;if(f>>>0>(yj(k[d>>2]|0)|0)>>>0){f=1;f=f&1;r=e;return f|0}f=(xj(k[d>>2]|0,k[c>>2]|0)|0)!=0;f=f&1;r=e;return f|0}function uK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+13>>0]|0|0}function vK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;d=j+24|0;e=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[l>>2]=c;c=lf(k[e>>2]|0,k[l>>2]|0,-1,g,0)|0;k[h>>2]=c;if(k[h>>2]|0){k[d>>2]=k[h>>2];l=k[d>>2]|0;r=j;return l|0}while(1){l=De(k[g>>2]|0)|0;k[h>>2]=l;if(100!=(l|0))break;l=Oe(k[g>>2]|0,0)|0;k[i>>2]=l;if(!(k[i>>2]|0))continue;l=vK(k[e>>2]|0,k[f>>2]|0,k[i>>2]|0)|0;k[h>>2]=l;if(k[h>>2]|0)break}if((k[h>>2]|0)==101)k[h>>2]=0;if(k[h>>2]|0){i=k[f>>2]|0;l=k[e>>2]|0;Mj(i,l,mf(k[e>>2]|0)|0)}fe(k[g>>2]|0)|0;k[d>>2]=k[h>>2];l=k[d>>2]|0;r=j;return l|0}function wK(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;wg(k[d>>2]|0);a=AK(k[d>>2]|0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function xK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;e=j+40|0;f=j+36|0;g=j+32|0;m=j+28|0;i=j+24|0;l=j+8|0;h=j;k[f>>2]=a;k[g>>2]=b;k[m>>2]=c;k[l>>2]=d;c=yx(k[f>>2]|0,k[m>>2]|0,l)|0;k[i>>2]=c;if(!(k[i>>2]|0)){k[e>>2]=7;m=k[e>>2]|0;r=j;return m|0}else{m=vK(k[f>>2]|0,k[g>>2]|0,k[i>>2]|0)|0;k[h>>2]=m;bg(k[f>>2]|0,k[i>>2]|0);k[e>>2]=k[h>>2];m=k[e>>2]|0;r=j;return m|0}return 0}function yK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+80|0;e=i+68|0;f=i+64|0;h=i+60|0;d=i+56|0;g=i+8|0;c=i;k[e>>2]=a;k[f>>2]=b;wg(k[e>>2]|0);wg(k[f>>2]|0);a=Og(Zf(k[e>>2]|0)|0)|0;k[d>>2]=a;if((k[k[d>>2]>>2]|0)!=0?(b=Cg(k[f>>2]|0)|0,b=kS(b|0,((b|0)<0)<<31>>31|0,Eg(k[f>>2]|0)|0,0)|0,a=c,k[a>>2]=b,k[a+4>>2]=L,a=Ki(k[d>>2]|0,11,c)|0,k[h>>2]=a,k[h>>2]=(k[h>>2]|0)==12?0:a,(k[h>>2]|0)!=0):0){h=k[h>>2]|0;r=i;return h|0}c=g;d=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[g+20>>2]=k[k[f>>2]>>2];k[g+24>>2]=k[f>>2];k[g+4>>2]=k[e>>2];k[g+16>>2]=1;de(g,2147483647)|0;f=ee(g)|0;k[h>>2]=f;if(!(k[h>>2]|0)){g=(k[(k[e>>2]|0)+4>>2]|0)+22|0;j[g>>1]=(m[g>>1]|0)&-3;h=k[h>>2]|0;r=i;return h|0}else{zK(Zf(k[g+4>>2]|0)|0);h=k[h>>2]|0;r=i;return h|0}return 0}function zK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+13>>0]|0){r=c;return}hj(k[b>>2]|0);r=c;return}function AK(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[(k[(k[d>>2]|0)+4>>2]|0)+32>>2]|0)-(k[(k[(k[d>>2]|0)+4>>2]|0)+36>>2]|0);r=c;return k[b>>2]|0}function BK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;m=o+28|0;n=o+24|0;c=o+20|0;f=o+16|0;b=o+12|0;e=o+8|0;d=o+4|0;g=o;j=o+32|0;k[m>>2]=a;k[n>>2]=0;do if((Lr(k[m>>2]|0)|0)==0?(l[(k[m>>2]|0)+17>>0]|0)==0:0){k[c>>2]=1;a=Pt(k[m>>2]|0,1)|0;k[n>>2]=a;if(!(k[n>>2]|0)){if((l[(k[m>>2]|0)+18>>0]|0)<=1){a=CK(k[m>>2]|0,c)|0;k[n>>2]=a}if(!(k[n>>2]|0)){if(k[c>>2]|0){if(i[(k[m>>2]|0)+15>>0]|0){k[n>>2]=776;break}a=Qt(k[m>>2]|0,4)|0;k[n>>2]=a;if(k[n>>2]|0)break;if((((k[k[(k[m>>2]|0)+68>>2]>>2]|0)==0?(k[f>>2]=k[k[m>>2]>>2],a=gs(k[f>>2]|0,k[(k[m>>2]|0)+180>>2]|0,0,b)|0,k[n>>2]=a,(k[n>>2]|0)==0&(k[b>>2]|0)!=0):0)?(k[e>>2]=0,k[d>>2]=2050,f=cs(k[f>>2]|0,k[(k[m>>2]|0)+180>>2]|0,k[(k[m>>2]|0)+68>>2]|0,k[d>>2]|0,e)|0,k[n>>2]=f,(k[n>>2]|0)==0):0)?(k[e>>2]&1|0)!=0:0){f=yt(51483)|0;k[n>>2]=f;yr(k[(k[m>>2]|0)+68>>2]|0)}b=k[m>>2]|0;if(k[k[(k[m>>2]|0)+68>>2]>>2]|0){f=vr(b)|0;k[n>>2]=f;if(!(k[n>>2]|0)){f=es(k[m>>2]|0,((i[(k[m>>2]|0)+13>>0]|0)!=0^1)&1)|0;k[n>>2]=f;i[(k[m>>2]|0)+17>>0]=0}}else if(!(i[b+4>>0]|0))Pr(k[m>>2]|0,1)|0;if(k[n>>2]|0){wr(k[m>>2]|0,k[n>>2]|0)|0;break}}if((i[(k[m>>2]|0)+13>>0]|0)==0?(l[(k[m>>2]|0)+24>>0]|0)!=0:0){k[g>>2]=0;f=DK(k[m>>2]|0,g)|0;k[n>>2]=f;if(k[n>>2]|0)break;if((k[g>>2]|0)>>>0>0){g=os(k[(k[m>>2]|0)+64>>2]|0,j,16,24,0)|0;k[n>>2]=g;if((k[n>>2]|0)!=0&(k[n>>2]|0)!=522)break}else{b=j;c=b+16|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(c|0))}if(oR((k[m>>2]|0)+112|0,j,16)|0)hj(k[m>>2]|0)}h=EK(k[m>>2]|0)|0;k[n>>2]=h;h=32}}}else h=32;while(0);if((h|0)==32){if(Lr(k[m>>2]|0)|0){j=FK(k[m>>2]|0)|0;k[n>>2]=j}if((l[(k[m>>2]|0)+13>>0]|0)==0?((k[n>>2]|0)==0?(l[(k[m>>2]|0)+17>>0]|0)==0:0):0){j=DK(k[m>>2]|0,(k[m>>2]|0)+28|0)|0;k[n>>2]=j}}b=k[m>>2]|0;if(k[n>>2]|0){ur(b);n=k[n>>2]|0;r=o;return n|0}else{i[b+17>>0]=1;i[(k[m>>2]|0)+24>>0]=1;n=k[n>>2]|0;r=o;return n|0}return 0}function CK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+32|0;d=p+28|0;n=p+24|0;o=p+20|0;e=p+16|0;h=p+12|0;j=p+8|0;m=p+4|0;f=p;g=p+36|0;k[c>>2]=a;k[d>>2]=b;k[n>>2]=k[k[c>>2]>>2];k[o>>2]=0;k[e>>2]=1;k[h>>2]=((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;k[k[d>>2]>>2]=0;if(!(k[h>>2]|0)){a=gs(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0,e)|0;k[o>>2]=a}if(!((k[o>>2]|0)==0&(k[e>>2]|0)!=0)){o=k[o>>2]|0;r=p;return o|0}k[j>>2]=0;a=MK(k[(k[c>>2]|0)+64>>2]|0,j)|0;k[o>>2]=a;if((k[o>>2]|0)!=0|(k[j>>2]|0)!=0){o=k[o>>2]|0;r=p;return o|0}a=DK(k[c>>2]|0,m)|0;k[o>>2]=a;if(k[o>>2]|0){o=k[o>>2]|0;r=p;return o|0}if(!((k[m>>2]|0)!=0|(k[h>>2]|0)!=0)){gk();if((Qt(k[c>>2]|0,2)|0)==0?(Hr(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0,(i[(k[c>>2]|0)+4>>0]|0)==0):0)Pr(k[c>>2]|0,1)|0;hk();o=k[o>>2]|0;r=p;return o|0}if(!(k[h>>2]|0)){k[f>>2]=2049;n=cs(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,k[(k[c>>2]|0)+68>>2]|0,k[f>>2]|0,f)|0;k[o>>2]=n}if(!(k[o>>2]|0)){i[g>>0]=0;n=os(k[(k[c>>2]|0)+68>>2]|0,g,1,0,0)|0;k[o>>2]=n;k[o>>2]=(k[o>>2]|0)==522?0:n;if(!(k[h>>2]|0))yr(k[(k[c>>2]|0)+68>>2]|0);k[k[d>>2]>>2]=(l[g>>0]|0)!=0&1;o=k[o>>2]|0;r=p;return o|0}else{if((k[o>>2]|0)!=14){o=k[o>>2]|0;r=p;return o|0}k[k[d>>2]>>2]=1;k[o>>2]=0;o=k[o>>2]|0;r=p;return o|0}return 0}function DK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+24|0;d=i+20|0;e=i+16|0;g=i+12|0;f=i;h=i+8|0;k[d>>2]=a;k[e>>2]=b;b=LK(k[(k[d>>2]|0)+216>>2]|0)|0;k[g>>2]=b;do if((k[g>>2]|0)==0?(k[k[(k[d>>2]|0)+64>>2]>>2]|0)!=0:0){b=f;k[b>>2]=0;k[b+4>>2]=0;b=fj(k[(k[d>>2]|0)+64>>2]|0,f)|0;k[h>>2]=b;if(!(k[h>>2]|0)){h=f;b=k[(k[d>>2]|0)+160>>2]|0;b=$R(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=_R(b|0,L|0,1,0)|0;h=k[(k[d>>2]|0)+160>>2]|0;h=iS(b|0,L|0,h|0,((h|0)<0)<<31>>31|0)|0;k[g>>2]=h;break}k[c>>2]=k[h>>2];h=k[c>>2]|0;r=i;return h|0}while(0);if((k[g>>2]|0)>>>0>(k[(k[d>>2]|0)+164>>2]|0)>>>0)k[(k[d>>2]|0)+164>>2]=k[g>>2];k[k[e>>2]>>2]=k[g>>2];k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}function EK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;c=h;k[e>>2]=a;k[g>>2]=0;do if(!(i[(k[e>>2]|0)+13>>0]|0)){b=DK(k[e>>2]|0,c)|0;k[g>>2]=b;if(k[g>>2]|0){k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}a=k[k[e>>2]>>2]|0;b=k[(k[e>>2]|0)+220>>2]|0;if(!(k[c>>2]|0)){c=Hr(a,b,0)|0;k[g>>2]=c;k[g>>2]=(k[g>>2]|0)==5898?0:c;k[f>>2]=0}else{c=gs(a,b,0,f)|0;k[g>>2]=c}if(!(k[g>>2]|0)){a=k[e>>2]|0;if(k[f>>2]|0){f=HK(a,0)|0;k[g>>2]=f;break}if((l[a+5>>0]|0)==5)i[(k[e>>2]|0)+5>>0]=0}}while(0);k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}function FK(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;e=d;k[b>>2]=a;k[e>>2]=0;_s(k[(k[b>>2]|0)+216>>2]|0);a=GK(k[(k[b>>2]|0)+216>>2]|0,e)|0;k[c>>2]=a;if(!((k[c>>2]|0)!=0|(k[e>>2]|0)!=0)){e=k[c>>2]|0;r=d;return e|0}hj(k[b>>2]|0);e=k[c>>2]|0;r=d;return e|0}function GK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do{h=k[c>>2]|0;b=k[d>>2]|0;a=(k[e>>2]|0)+1|0;k[e>>2]=a;a=Xt(h,b,0,a)|0;k[f>>2]=a}while((k[f>>2]|0)==-1);r=g;return k[f>>2]|0}function HK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if((i[(k[d>>2]|0)+13>>0]|0)==0?(k[(k[d>>2]|0)+216>>2]|0)==0:0)if(SJ(k[d>>2]|0)|0){yr(k[(k[d>>2]|0)+68>>2]|0);b=IK(k[d>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0)break;i[(k[d>>2]|0)+5>>0]=5;i[(k[d>>2]|0)+17>>0]=0;break}else{k[c>>2]=14;g=k[c>>2]|0;r=h;return g|0}else g=7;while(0);if((g|0)==7)k[k[e>>2]>>2]=1;k[c>>2]=k[f>>2];g=k[c>>2]|0;r=h;return g|0}function IK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(i[(k[b>>2]|0)+4>>0]|0){a=JK(k[b>>2]|0)|0;k[c>>2]=a}if(k[c>>2]|0){a=k[b>>2]|0;kj(a);c=k[c>>2]|0;r=d;return c|0}a=(k[b>>2]|0)+168|0;a=KK(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+64>>2]|0,k[(k[b>>2]|0)+220>>2]|0,l[(k[b>>2]|0)+4>>0]|0,k[a>>2]|0,k[a+4>>2]|0,(k[b>>2]|0)+216|0)|0;k[c>>2]=a;a=k[b>>2]|0;kj(a);c=k[c>>2]|0;r=d;return c|0}function JK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Qt(k[b>>2]|0,4)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}Pr(k[b>>2]|0,1)|0;c=k[c>>2]|0;r=d;return c|0}function KK(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;h=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;o=w+28|0;p=w;q=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;c=p;k[c>>2]=e;k[c+4>>2]=f;k[q>>2]=g;k[k[q>>2]>>2]=0;c=ug(120+(k[(k[l>>2]|0)+4>>2]|0)|0,0)|0;k[u>>2]=c;if(!(k[u>>2]|0)){k[h>>2]=7;c=k[h>>2]|0;r=w;return c|0}k[k[u>>2]>>2]=k[l>>2];k[(k[u>>2]|0)+8>>2]=(k[u>>2]|0)+120;k[(k[u>>2]|0)+4>>2]=k[m>>2];j[(k[u>>2]|0)+40>>1]=-1;a=p;g=k[a+4>>2]|0;c=(k[u>>2]|0)+16|0;k[c>>2]=k[a>>2];k[c+4>>2]=g;k[(k[u>>2]|0)+108>>2]=k[n>>2];i[(k[u>>2]|0)+48>>0]=1;i[(k[u>>2]|0)+49>>0]=1;i[(k[u>>2]|0)+43>>0]=(k[o>>2]|0)!=0?2:0;k[s>>2]=524294;c=cs(k[l>>2]|0,k[n>>2]|0,k[(k[u>>2]|0)+8>>2]|0,k[s>>2]|0,s)|0;k[v>>2]=c;if((k[v>>2]|0)==0?(k[s>>2]&1|0)!=0:0)i[(k[u>>2]|0)+46>>0]=1;if(k[v>>2]|0){dt(k[u>>2]|0,0);yr(k[(k[u>>2]|0)+8>>2]|0);Ud(k[u>>2]|0)}else{c=ls(k[m>>2]|0)|0;k[t>>2]=c;if(k[t>>2]&1024)i[(k[u>>2]|0)+48>>0]=0;if(k[t>>2]&4096)i[(k[u>>2]|0)+49>>0]=0;k[k[q>>2]>>2]=k[u>>2]}k[h>>2]=k[v>>2];c=k[h>>2]|0;r=w;return c|0}function LK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)!=0?(j[(k[c>>2]|0)+40>>1]|0)>=0:0){k[b>>2]=k[(k[c>>2]|0)+52+20>>2];a=k[b>>2]|0;r=d;return a|0}k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}function MK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+36>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function NK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+176|0;c=f+168|0;e=f+164|0;b=f+160|0;d=f;k[c>>2]=a;dS(d|0,0,160)|0;while(1){if(!(k[c>>2]|0))break;k[b>>2]=k[(k[c>>2]|0)+8>>2];k[(k[c>>2]|0)+8>>2]=0;k[e>>2]=0;while(1){if(!(k[d+(k[e>>2]<<2)>>2]|0))break;a=QK(k[d+(k[e>>2]<<2)>>2]|0,k[c>>2]|0)|0;k[c>>2]=a;k[d+(k[e>>2]<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}k[d+(k[e>>2]<<2)>>2]=k[c>>2];k[c>>2]=k[b>>2]}k[c>>2]=k[d>>2];k[e>>2]=1;while(1){if((k[e>>2]|0)>>>0>=40)break;if(k[d+(k[e>>2]<<2)>>2]|0){if(k[c>>2]|0)a=QK(k[c>>2]|0,k[d+(k[e>>2]<<2)>>2]|0)|0;else a=k[d+(k[e>>2]<<2)>>2]|0;k[c>>2]=a}k[e>>2]=(k[e>>2]|0)+1}r=f;return k[c>>2]|0}function OK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=k[b>>2];k[b>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[c>>2]=1;while(1){a=k[d>>2]|0;if(!(k[b>>2]|0))break;k[e>>2]=a;k[d>>2]=k[b>>2];k[b>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+12>>2]=k[e>>2];a=SK(b,k[c>>2]|0)|0;k[(k[d>>2]|0)+8>>2]=a;k[c>>2]=(k[c>>2]|0)+1}r=f;return a|0}function PK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+12|0;d=h+8|0;g=h+4|0;e=h;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;a=k[f>>2]|0;if(k[(k[f>>2]|0)+12>>2]|0){PK(k[a+12>>2]|0,k[d>>2]|0,e);k[(k[e>>2]|0)+8>>2]=k[f>>2]}else k[k[d>>2]>>2]=a;a=k[f>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0){PK(k[a+8>>2]|0,(k[f>>2]|0)+8|0,k[g>>2]|0);r=h;return}else{k[k[g>>2]>>2]=a;r=h;return}}function QK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+24|0;d=g+20|0;e=g;f=g+16|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=e;while(1){a=k[c>>2]|0;i=k[a+4>>2]|0;b=k[d>>2]|0;h=k[b+4>>2]|0;if(!((i|0)<(h|0)|((i|0)==(h|0)?(k[a>>2]|0)>>>0<=(k[b>>2]|0)>>>0:0))){i=k[d>>2]|0;k[(k[f>>2]|0)+8>>2]=i;k[f>>2]=i;k[d>>2]=k[(k[d>>2]|0)+8>>2];if(!(k[d>>2]|0)){a=8;break}else continue}h=k[c>>2]|0;a=k[h+4>>2]|0;i=k[d>>2]|0;b=k[i+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[h>>2]|0)>>>0<(k[i>>2]|0)>>>0:0)){i=k[c>>2]|0;k[(k[f>>2]|0)+8>>2]=i;k[f>>2]=i}k[c>>2]=k[(k[c>>2]|0)+8>>2];if(!(k[c>>2]|0)){a=6;break}}if((a|0)==6){k[(k[f>>2]|0)+8>>2]=k[d>>2];i=e+8|0;i=k[i>>2]|0;r=g;return i|0}else if((a|0)==8){k[(k[f>>2]|0)+8>>2]=k[c>>2];i=e+8|0;i=k[i>>2]|0;r=g;return i|0}return 0}function RK(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(m[(k[c>>2]|0)+24>>1]|0)){a=dx(k[(k[c>>2]|0)+4>>2]|0,1016,0)|0;k[d>>2]=a;if(k[d>>2]|0){k[k[d>>2]>>2]=k[k[c>>2]>>2];k[k[c>>2]>>2]=k[d>>2];k[(k[c>>2]|0)+16>>2]=(k[d>>2]|0)+8;j[(k[c>>2]|0)+24>>1]=63;break}k[b>>2]=0;d=k[b>>2]|0;r=e;return d|0}while(0);a=(k[c>>2]|0)+24|0;j[a>>1]=(j[a>>1]|0)+-1<<16>>16;a=(k[c>>2]|0)+16|0;d=k[a>>2]|0;k[a>>2]=d+16;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}function SK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;c=h;k[e>>2]=a;k[f>>2]=b;if(!(k[k[e>>2]>>2]|0)){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}b=k[e>>2]|0;do if((k[f>>2]|0)>1){b=SK(b,(k[f>>2]|0)-1|0)|0;k[c>>2]=b;k[g>>2]=k[k[e>>2]>>2];b=k[c>>2]|0;if(k[g>>2]|0){k[(k[g>>2]|0)+12>>2]=b;k[k[e>>2]>>2]=k[(k[g>>2]|0)+8>>2];f=SK(k[e>>2]|0,(k[f>>2]|0)-1|0)|0;k[(k[g>>2]|0)+8>>2]=f;break}k[d>>2]=b;g=k[d>>2]|0;r=h;return g|0}else{k[g>>2]=k[b>>2];k[k[e>>2]>>2]=k[(k[g>>2]|0)+8>>2];k[(k[g>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+12>>2]=0}while(0);k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}function TK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+12|0;h=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[d>>2]=k[h>>2];k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+4>>2]=k[g>>2];k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+20>>2]=0;k[(k[d>>2]|0)+16>>2]=(k[d>>2]|0)+32;j[(k[d>>2]|0)+24>>1]=(((k[f>>2]|0)-32|0)>>>0)/16|0;j[(k[d>>2]|0)+26>>1]=1;k[(k[d>>2]|0)+28>>2]=0;r=e;return k[d>>2]|0}function UK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=(k[(k[e>>2]|0)+8>>2]|0)+(((k[d>>2]|0)>>>0)/8|0)|0;i[a>>0]=l[a>>0]|0|1<<(k[d>>2]&7);r=c;return}function VK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;n=x+32|0;o=x+24|0;w=x+16|0;v=x;p=x+76|0;e=x+72|0;q=x+68|0;s=x+64|0;f=x+60|0;t=x+56|0;u=x+52|0;m=x+48|0;j=x+44|0;h=x+40|0;g=x+36|0;k[p>>2]=a;k[e>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=k[s>>2];k[u>>2]=k[q>>2];while(1){a=k[s>>2]|0;k[s>>2]=a+-1;if((a|0)<=0){d=25;break}if(!(k[(k[p>>2]|0)+16>>2]|0)){d=25;break}c=k[p>>2]|0;if((k[q>>2]|0)<1){d=5;break}if(_K(c,k[q>>2]|0)|0){d=25;break}if(Fg(k[(k[p>>2]|0)+4>>2]|0,k[q>>2]|0,m,0)|0){d=8;break}a=Gg(k[m>>2]|0)|0;k[j>>2]=a;do if(!(k[e>>2]|0)){if((k[s>>2]|0)>0?(l[(k[k[p>>2]>>2]|0)+17>>0]|0)!=0:0){a=qr(k[j>>2]|0)|0;k[f>>2]=a;WK(k[p>>2]|0,k[f>>2]|0,4,k[q>>2]|0)}}else{a=qr((k[j>>2]|0)+4|0)|0;k[h>>2]=a;if(i[(k[k[p>>2]>>2]|0)+17>>0]|0)WK(k[p>>2]|0,k[q>>2]|0,2,0);if((k[h>>2]|0)>(((k[(k[k[p>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){a=k[p>>2]|0;k[o>>2]=k[q>>2];ZK(a,41711,o);k[s>>2]=(k[s>>2]|0)+-1;break}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[h>>2]|0))break;a=qr((k[j>>2]|0)+(8+(k[f>>2]<<2))|0)|0;k[g>>2]=a;if(i[(k[k[p>>2]>>2]|0)+17>>0]|0)WK(k[p>>2]|0,k[g>>2]|0,2,0);_K(k[p>>2]|0,k[g>>2]|0)|0;k[f>>2]=(k[f>>2]|0)+1}k[s>>2]=(k[s>>2]|0)-(k[h>>2]|0)}while(0);a=qr(k[j>>2]|0)|0;k[q>>2]=a;Ig(k[m>>2]|0);if(!(k[e>>2]|0))continue;if((k[s>>2]|0)>=((k[q>>2]|0)!=0|0))continue;ZK(k[p>>2]|0,41750,n)}if((d|0)==5){t=k[t>>2]|0;w=k[u>>2]|0;k[v>>2]=(k[s>>2]|0)+1;k[v+4>>2]=t;k[v+8>>2]=w;ZK(c,41632,v);r=x;return}else if((d|0)==8){v=k[p>>2]|0;k[w>>2]=k[q>>2];ZK(v,41689,w);r=x;return}else if((d|0)==25){r=x;return}}function WK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+8|0;o=q;e=q+44|0;f=q+40|0;g=q+49|0;h=q+36|0;n=q+32|0;j=q+48|0;m=q+28|0;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=d;a=eG(k[k[e>>2]>>2]|0,k[f>>2]|0,j,m)|0;k[n>>2]=a;if(k[n>>2]|0){if((k[n>>2]|0)==7|(k[n>>2]|0)==3082)k[(k[e>>2]|0)+24>>2]=1;p=k[e>>2]|0;k[o>>2]=k[f>>2];ZK(p,41549,o);r=q;return}if((l[j>>0]|0|0)==(l[g>>0]|0|0)?(k[m>>2]|0)==(k[h>>2]|0):0){r=q;return}o=k[e>>2]|0;b=l[g>>0]|0;d=k[h>>2]|0;a=l[j>>0]|0;n=k[m>>2]|0;k[p>>2]=k[f>>2];k[p+4>>2]=b;k[p+8>>2]=d;k[p+12>>2]=a;k[p+16>>2]=n;ZK(o,41578,p);r=q;return}function XK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;h=ca+40|0;g=ca+32|0;j=ca+240|0;n=ca+236|0;o=ca+232|0;p=ca+228|0;q=ca+24|0;K=ca+224|0;A=ca+220|0;f=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;c=q;k[c>>2]=d;k[c+4>>2]=e;k[K>>2]=0;k[w>>2]=-1;k[x>>2]=1;k[D>>2]=1;k[z>>2]=0;k[O>>2]=0;k[S>>2]=k[(k[n>>2]|0)+28>>2];k[Q>>2]=k[(k[n>>2]|0)+32>>2];k[R>>2]=k[(k[n>>2]|0)+36>>2];i[P>>0]=0;k[H>>2]=k[k[n>>2]>>2];k[V>>2]=k[(k[H>>2]|0)+36>>2];if(!(k[o>>2]|0)){k[j>>2]=0;ba=k[j>>2]|0;r=ca;return ba|0}if(_K(k[n>>2]|0,k[o>>2]|0)|0){k[j>>2]=0;ba=k[j>>2]|0;r=ca;return ba|0}k[(k[n>>2]|0)+28>>2]=41169;k[(k[n>>2]|0)+32>>2]=k[o>>2];c=fG(k[H>>2]|0,k[o>>2]|0,K,0)|0;k[f>>2]=c;do if(!c){i[P>>0]=i[k[K>>2]>>0]|0;i[k[K>>2]>>0]=0;g=eu(k[K>>2]|0)|0;k[f>>2]=g;if(g){ba=k[n>>2]|0;k[h>>2]=k[f>>2];ZK(ba,41217,h);break}k[v>>2]=k[(k[K>>2]|0)+56>>2];k[y>>2]=l[(k[K>>2]|0)+5>>0];k[(k[n>>2]|0)+28>>2]=41255;k[t>>2]=((l[(k[v>>2]|0)+((k[y>>2]|0)+5)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+5)+1>>0])-1&65535)+1;k[E>>2]=l[(k[v>>2]|0)+((k[y>>2]|0)+3)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+3)+1>>0];k[s>>2]=(k[y>>2]|0)+12-(l[(k[K>>2]|0)+4>>0]<<2);k[J>>2]=(k[v>>2]|0)+((k[s>>2]|0)+((k[E>>2]|0)-1<<1));if(i[(k[K>>2]|0)+4>>0]|0){k[z>>2]=k[(k[n>>2]|0)+68>>2];k[k[z>>2]>>2]=0}else{h=qr((k[v>>2]|0)+((k[y>>2]|0)+8)|0)|0;k[M>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0){k[(k[n>>2]|0)+28>>2]=41281;WK(k[n>>2]|0,k[M>>2]|0,5,k[o>>2]|0)}h=q;h=XK(k[n>>2]|0,k[M>>2]|0,q,k[h>>2]|0,k[h+4>>2]|0)|0;k[w>>2]=h;k[D>>2]=0}k[A>>2]=(k[E>>2]|0)-1;while(1){if((k[A>>2]|0)<0)break;if(!(k[(k[n>>2]|0)+16>>2]|0))break;k[(k[n>>2]|0)+36>>2]=k[A>>2];k[L>>2]=l[k[J>>2]>>0]<<8|l[(k[J>>2]|0)+1>>0];k[J>>2]=(k[J>>2]|0)+-2;do if((k[L>>2]|0)>>>0>=(k[t>>2]|0)>>>0?(k[L>>2]|0)>>>0<=((k[V>>2]|0)-4|0)>>>0:0){k[I>>2]=(k[v>>2]|0)+(k[L>>2]|0);cc[k[(k[K>>2]|0)+80>>2]&255](k[K>>2]|0,k[I>>2]|0,B);if(((k[L>>2]|0)+(m[B+18>>1]|0)|0)>>>0>(k[V>>2]|0)>>>0){ZK(k[n>>2]|0,41339,$);k[x>>2]=0;break}if(i[(k[K>>2]|0)+2>>0]|0){e=B;d=k[e>>2]|0;e=k[e+4>>2]|0;a=q;b=k[a>>2]|0;a=k[a+4>>2]|0;if(k[D>>2]|0){if((e|0)>(a|0)|(e|0)==(a|0)&d>>>0>b>>>0)ba=26}else if((e|0)>(a|0)|(e|0)==(a|0)&d>>>0>=b>>>0)ba=26;if((ba|0)==26){ba=0;h=k[n>>2]|0;c=B;f=k[c+4>>2]|0;g=W;k[g>>2]=k[c>>2];k[g+4>>2]=f;ZK(h,41363,W)}f=B;g=k[f+4>>2]|0;h=q;k[h>>2]=k[f>>2];k[h+4>>2]=g}if((k[B+12>>2]|0)>>>0>(m[B+16>>1]|0)>>>0){k[G>>2]=(((k[B+12>>2]|0)-(m[B+16>>1]|0)+(k[V>>2]|0)-5|0)>>>0)/(((k[V>>2]|0)-4|0)>>>0)|0;h=qr((k[I>>2]|0)+((m[B+18>>1]|0)-4)|0)|0;k[N>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0)WK(k[n>>2]|0,k[N>>2]|0,3,k[o>>2]|0);VK(k[n>>2]|0,0,k[N>>2]|0,k[G>>2]|0)}if(i[(k[K>>2]|0)+4>>0]|0){$K(k[z>>2]|0,k[L>>2]<<16|(k[L>>2]|0)+(m[B+18>>1]|0)-1);break}h=qr(k[I>>2]|0)|0;k[M>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0)WK(k[n>>2]|0,k[M>>2]|0,5,k[o>>2]|0);h=q;h=XK(k[n>>2]|0,k[M>>2]|0,q,k[h>>2]|0,k[h+4>>2]|0)|0;k[u>>2]=h;k[D>>2]=0;if((k[u>>2]|0)!=(k[w>>2]|0)){ZK(k[n>>2]|0,41387,X);k[w>>2]=k[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;h=k[n>>2]|0;f=k[t>>2]|0;g=(k[V>>2]|0)-4|0;k[_>>2]=k[L>>2];k[_+4>>2]=f;k[_+8>>2]=g;ZK(h,41309,_);k[x>>2]=0}k[A>>2]=(k[A>>2]|0)+-1}X=q;_=k[X+4>>2]|0;$=k[p>>2]|0;k[$>>2]=k[X>>2];k[$+4>>2]=_;k[(k[n>>2]|0)+28>>2]=0;if((k[x>>2]|0)!=0?(k[(k[n>>2]|0)+16>>2]|0)>0:0){a:do if(!(i[(k[K>>2]|0)+4>>0]|0)){k[z>>2]=k[(k[n>>2]|0)+68>>2];k[k[z>>2]>>2]=0;k[A>>2]=(k[E>>2]|0)-1;while(1){if((k[A>>2]|0)<0)break a;k[L>>2]=l[(k[v>>2]|0)+((k[s>>2]|0)+(k[A>>2]<<1))>>0]<<8|l[(k[v>>2]|0)+((k[s>>2]|0)+(k[A>>2]<<1))+1>>0];$=(gc[k[(k[K>>2]|0)+76>>2]&255](k[K>>2]|0,(k[v>>2]|0)+(k[L>>2]|0)|0)|0)&65535;k[T>>2]=$;$K(k[z>>2]|0,k[L>>2]<<16|(k[L>>2]|0)+(k[T>>2]|0)-1);k[A>>2]=(k[A>>2]|0)+-1}}while(0);k[A>>2]=l[(k[v>>2]|0)+((k[y>>2]|0)+1)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+1)+1>>0];while(1){if((k[A>>2]|0)<=0)break;k[U>>2]=l[(k[v>>2]|0)+((k[A>>2]|0)+2)>>0]<<8|l[(k[v>>2]|0)+((k[A>>2]|0)+2)+1>>0];$K(k[z>>2]|0,k[A>>2]<<16|(k[A>>2]|0)+(k[U>>2]|0)-1);k[C>>2]=l[(k[v>>2]|0)+(k[A>>2]|0)>>0]<<8|l[(k[v>>2]|0)+(k[A>>2]|0)+1>>0];k[A>>2]=k[C>>2]}k[F>>2]=0;k[O>>2]=(k[t>>2]|0)-1;while(1){if(!(aL(k[z>>2]|0,aa)|0))break;if((k[O>>2]&65535)>>>0>=(k[aa>>2]|0)>>>16>>>0){ba=51;break}k[F>>2]=(k[F>>2]|0)+(((k[aa>>2]|0)>>>16)-(k[O>>2]&65535)-1);k[O>>2]=k[aa>>2]}if((ba|0)==51){ba=k[n>>2]|0;$=k[o>>2]|0;k[Y>>2]=(k[aa>>2]|0)>>>16;k[Y+4>>2]=$;ZK(ba,41412,Y)}k[F>>2]=(k[F>>2]|0)+((k[V>>2]|0)-(k[O>>2]&65535)-1);if((k[k[z>>2]>>2]|0)==0?(k[F>>2]|0)!=(l[(k[v>>2]|0)+((k[y>>2]|0)+7)>>0]|0):0){ba=k[n>>2]|0;$=l[(k[v>>2]|0)+((k[y>>2]|0)+7)>>0]|0;aa=k[o>>2]|0;k[Z>>2]=k[F>>2];k[Z+4>>2]=$;k[Z+8>>2]=aa;ZK(ba,41449,Z)}}}else{ba=k[n>>2]|0;k[g>>2]=k[f>>2];ZK(ba,41179,g)}while(0);if(!(k[x>>2]|0))i[k[K>>2]>>0]=i[P>>0]|0;_B(k[K>>2]|0);k[(k[n>>2]|0)+28>>2]=k[S>>2];k[(k[n>>2]|0)+32>>2]=k[Q>>2];k[(k[n>>2]|0)+36>>2]=k[R>>2];k[j>>2]=(k[w>>2]|0)+1;ba=k[j>>2]|0;r=ca;return ba|0}function YK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;r=e;return (l[(k[(k[d>>2]|0)+8>>2]|0)+(((k[c>>2]|0)>>>0)/8|0)>>0]|0)&1<<(k[c>>2]&7)|0}function ZK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h;d=h+28|0;e=h+24|0;f=h+8|0;k[d>>2]=a;k[e>>2]=b;if(!(k[(k[d>>2]|0)+16>>2]|0)){r=h;return}b=(k[d>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+-1;b=(k[d>>2]|0)+20|0;k[b>>2]=(k[b>>2]|0)+1;k[f>>2]=c;if(k[(k[d>>2]|0)+40+12>>2]|0)CA((k[d>>2]|0)+40|0,41167,1);if(k[(k[d>>2]|0)+28>>2]|0){c=(k[d>>2]|0)+40|0;b=k[(k[d>>2]|0)+28>>2]|0;a=k[(k[d>>2]|0)+36>>2]|0;k[g>>2]=k[(k[d>>2]|0)+32>>2];k[g+4>>2]=a;BA(c,b,g)}og((k[d>>2]|0)+40|0,k[e>>2]|0,f);if((l[(k[d>>2]|0)+40+24>>0]|0|0)!=1){r=h;return}k[(k[d>>2]|0)+24>>2]=1;r=h;return}function _K(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+8|0;d=h;f=h+20|0;c=h+16|0;e=h+12|0;k[c>>2]=a;k[e>>2]=b;do if(k[e>>2]|0){b=k[c>>2]|0;a=k[e>>2]|0;if((k[e>>2]|0)>>>0>(k[(k[c>>2]|0)+12>>2]|0)>>>0){k[d>>2]=a;ZK(b,41501,d);k[f>>2]=1;break}d=(YK(b,a)|0)!=0;a=k[c>>2]|0;b=k[e>>2]|0;if(d){k[g>>2]=b;ZK(a,41524,g);k[f>>2]=1;break}else{UK(a,b);k[f>>2]=0;break}}else k[f>>2]=1;while(0);r=h;return k[f>>2]|0}function $K(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;b=(k[a>>2]|0)+1|0;k[a>>2]=b;k[e>>2]=b;k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]=k[d>>2];while(1){b=((k[e>>2]|0)>>>0)/2|0;k[f>>2]=b;if(b>>>0<=0){c=5;break}if((k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0<=(k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]|0)>>>0){c=5;break}k[d>>2]=k[(k[c>>2]|0)+(k[f>>2]<<2)>>2];k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]=k[(k[c>>2]|0)+(k[e>>2]<<2)>>2];k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]=k[d>>2];k[e>>2]=k[f>>2]}if((c|0)==5){r=g;return}}function aL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;b=k[k[d>>2]>>2]|0;k[h>>2]=b;if(!b){k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}k[k[e>>2]>>2]=k[(k[d>>2]|0)+4>>2];k[(k[d>>2]|0)+4>>2]=k[(k[d>>2]|0)+(k[h>>2]<<2)>>2];k[(k[d>>2]|0)+(k[h>>2]<<2)>>2]=-1;b=k[d>>2]|0;k[b>>2]=(k[b>>2]|0)+-1;k[f>>2]=1;while(1){b=k[f>>2]<<1;k[g>>2]=b;if(b>>>0>(k[k[d>>2]>>2]|0)>>>0)break;if((k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]|0)>>>0>(k[(k[d>>2]|0)+((k[g>>2]|0)+1<<2)>>2]|0)>>>0)k[g>>2]=(k[g>>2]|0)+1;if((k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0<(k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]|0)>>>0)break;k[h>>2]=k[(k[d>>2]|0)+(k[f>>2]<<2)>>2];k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]=k[(k[d>>2]|0)+(k[g>>2]<<2)>>2];k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]=k[h>>2];k[f>>2]=k[g>>2]}k[c>>2]=1;h=k[c>>2]|0;r=i;return h|0}function bL(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){a=k[b>>2]|0;Ud(a);r=d;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;fL((k[(k[b>>2]|0)+12>>2]|0)+((k[c>>2]|0)*56|0)|0);k[c>>2]=(k[c>>2]|0)+1}a=k[b>>2]|0;Ud(a);r=d;return}function cL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;bg(k[e>>2]|0,k[(k[c>>2]|0)+12>>2]|0);dL(0,k[(k[c>>2]|0)+16>>2]|0);if(k[(k[c>>2]|0)+40>>2]|0)eL(k[(k[c>>2]|0)+40>>2]|0);if(!(k[(k[c>>2]|0)+56>>2]|0)){c=k[c>>2]|0;a=c+72|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));r=d;return}eL(k[(k[c>>2]|0)+56>>2]|0);c=k[c>>2]|0;a=c+72|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));r=d;return}function dL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=k[g>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+4>>2];bg(k[c>>2]|0,k[d>>2]|0);k[d>>2]=k[e>>2]}r=f;return}function eL(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;yr(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function fL(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;Ud(k[(k[b>>2]|0)+28>>2]|0);Ud(k[(k[b>>2]|0)+36>>2]|0);if(k[(k[b>>2]|0)+44>>2]|0)Ws(k[(k[b>>2]|0)+24>>2]|0,0,0,k[(k[b>>2]|0)+44>>2]|0)|0;gL(k[(k[b>>2]|0)+48>>2]|0);b=k[b>>2]|0;a=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));r=c;return}function gL(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}bL(k[(k[b>>2]|0)+4>>2]|0);Ud(k[b>>2]|0);r=c;return}function hL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j;g=j+12|0;h=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;if(!(l[(k[e>>2]|0)+11>>0]|0)){r=j;return}i[(k[e>>2]|0)+11>>0]=0;k[h>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;do if((l[(k[h>>2]|0)+64>>0]|0)&16){i[(k[e>>2]|0)+11>>0]=1;if((k[g>>2]|0)==0?(d=(k[h>>2]|0)+16|0,a=f,!((k[d>>2]|0)==(k[a>>2]|0)?(k[d+4>>2]|0)==(k[a+4>>2]|0):0)):0)break;i[(k[h>>2]|0)+66>>0]=0}while(0);k[h>>2]=k[(k[h>>2]|0)+8>>2]}r=j;return}function iL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;o=u+36|0;f=u+32|0;e=u+28|0;p=u+24|0;g=u+20|0;s=u+16|0;t=u+12|0;j=u+8|0;h=u+4|0;q=u;n=u+40|0;k[f>>2]=a;k[e>>2]=b;k[p>>2]=c;k[g>>2]=d;d=k[e>>2]|0;if(d>>>0>(TF(k[f>>2]|0)|0)>>>0){t=_j(66688)|0;k[o>>2]=t;t=k[o>>2]|0;r=u;return t|0}d=SF(k[f>>2]|0,k[e>>2]|0,s,0,0)|0;k[t>>2]=d;if(k[t>>2]|0){k[o>>2]=k[t>>2];t=k[o>>2]|0;r=u;return t|0}a:do if(!(i[(k[s>>2]|0)+8>>0]|0)){i[(k[s>>2]|0)+8>>0]=1;k[q>>2]=l[(k[s>>2]|0)+5>>0];k[h>>2]=0;while(1){e=k[s>>2]|0;if((k[h>>2]|0)>=(m[(k[s>>2]|0)+18>>1]|0))break;k[j>>2]=(k[e+56>>2]|0)+(m[(k[s>>2]|0)+20>>1]&(l[(k[(k[s>>2]|0)+64>>2]|0)+(k[h>>2]<<1)>>0]<<8|l[(k[(k[s>>2]|0)+64>>2]|0)+(k[h>>2]<<1)+1>>0]));if((i[(k[s>>2]|0)+4>>0]|0)==0?(b=k[f>>2]|0,d=qr(k[j>>2]|0)|0,d=iL(b,d,1,k[g>>2]|0)|0,k[t>>2]=d,(k[t>>2]|0)!=0):0)break a;d=jL(k[s>>2]|0,k[j>>2]|0,n)|0;k[t>>2]=d;if(k[t>>2]|0)break a;k[h>>2]=(k[h>>2]|0)+1}if(i[e+4>>0]|0){if(k[g>>2]|0){n=k[g>>2]|0;k[n>>2]=(k[n>>2]|0)+(m[(k[s>>2]|0)+18>>1]|0)}}else{j=k[f>>2]|0;n=qr((k[(k[s>>2]|0)+56>>2]|0)+((k[q>>2]|0)+8)|0)|0;n=iL(j,n,1,k[g>>2]|0)|0;k[t>>2]=n;if(k[t>>2]|0)break}e=k[s>>2]|0;if(k[p>>2]|0){kL(e,t);break}p=Qg(k[e+72>>2]|0)|0;k[t>>2]=p;if(!p)lL(k[s>>2]|0,l[(k[(k[s>>2]|0)+56>>2]|0)+(k[q>>2]|0)>>0]|8)}else{q=_j(66693)|0;k[t>>2]=q}while(0);i[(k[s>>2]|0)+8>>0]=0;_B(k[s>>2]|0);k[o>>2]=k[t>>2];t=k[o>>2]|0;r=u;return t|0}function jL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+80|0;d=t+64|0;e=t+60|0;f=t+56|0;u=t+52|0;o=t+48|0;h=t;n=t+44|0;q=t+40|0;i=t+36|0;l=t+32|0;g=t+28|0;p=t+24|0;k[e>>2]=a;k[f>>2]=b;k[u>>2]=c;k[o>>2]=k[(k[e>>2]|0)+52>>2];cc[k[(k[e>>2]|0)+80>>2]&255](k[e>>2]|0,k[f>>2]|0,h);j[k[u>>2]>>1]=j[h+18>>1]|0;if((m[h+16>>1]|0|0)==(k[h+12>>2]|0)){k[d>>2]=0;u=k[d>>2]|0;r=t;return u|0}if(((k[f>>2]|0)+(m[h+18>>1]|0)+-1|0)>>>0>((k[(k[e>>2]|0)+56>>2]|0)+(m[(k[e>>2]|0)+20>>1]|0)|0)>>>0){u=_j(64249)|0;k[d>>2]=u;u=k[d>>2]|0;r=t;return u|0}u=qr((k[f>>2]|0)+(m[h+18>>1]|0)+-4|0)|0;k[n>>2]=u;k[l>>2]=(k[(k[o>>2]|0)+36>>2]|0)-4;k[i>>2]=(((k[h+12>>2]|0)-(m[h+16>>1]|0)+(k[l>>2]|0)-1|0)>>>0)/((k[l>>2]|0)>>>0)|0;while(1){u=k[i>>2]|0;k[i>>2]=u+-1;if(!u){s=23;break}k[g>>2]=0;k[p>>2]=0;if((k[n>>2]|0)>>>0<2){s=9;break}u=k[n>>2]|0;if(u>>>0>(TF(k[o>>2]|0)|0)>>>0){s=9;break}if((k[i>>2]|0)!=0?(u=cG(k[o>>2]|0,k[n>>2]|0,p,g)|0,k[q>>2]=u,(k[q>>2]|0)!=0):0){s=12;break}if((k[p>>2]|0)==0?(u=oL(k[o>>2]|0,k[n>>2]|0)|0,k[p>>2]=u,(u|0)==0):0)s=17;else if((du(k[(k[p>>2]|0)+72>>2]|0)|0)!=1){u=_j(64285)|0;k[q>>2]=u}else s=17;if((s|0)==17){s=0;u=mL(k[o>>2]|0,k[p>>2]|0,k[n>>2]|0)|0;k[q>>2]=u}if(k[p>>2]|0)Ig(k[(k[p>>2]|0)+72>>2]|0);if(k[q>>2]|0){s=21;break}k[n>>2]=k[g>>2]}if((s|0)==9){u=_j(64265)|0;k[d>>2]=u;u=k[d>>2]|0;r=t;return u|0}else if((s|0)==12){k[d>>2]=k[q>>2];u=k[d>>2]|0;r=t;return u|0}else if((s|0)==21){k[d>>2]=k[q>>2];u=k[d>>2]|0;r=t;return u|0}else if((s|0)==23){k[d>>2]=0;u=k[d>>2]|0;r=t;return u|0}return 0}function kL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[k[d>>2]>>2]|0){r=e;return}b=mL(k[(k[c>>2]|0)+52>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+84>>2]|0)|0;k[k[d>>2]>>2]=b;r=e;return}function lL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0;n=r;r=r+32|0;c=n+12|0;d=n+8|0;e=n+4|0;h=n;g=n+18|0;f=n+16|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+56>>2];k[h>>2]=k[(k[c>>2]|0)+52>>2];i[g>>0]=i[(k[c>>2]|0)+5>>0]|0;if((m[(k[h>>2]|0)+22>>1]|0)&4)dS((k[e>>2]|0)+(l[g>>0]|0)|0,0,(k[(k[h>>2]|0)+36>>2]|0)-(l[g>>0]|0)|0)|0;i[(k[e>>2]|0)+(l[g>>0]|0)>>0]=k[d>>2];j[f>>1]=(l[g>>0]|0)+((k[d>>2]&8|0)==0?12:8);a=(k[e>>2]|0)+((l[g>>0]|0)+1)|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[(k[e>>2]|0)+((l[g>>0]|0)+7)>>0]=0;i[(k[e>>2]|0)+((l[g>>0]|0)+5)>>0]=(k[(k[h>>2]|0)+36>>2]|0)>>>8;i[(k[e>>2]|0)+((l[g>>0]|0)+5)+1>>0]=k[(k[h>>2]|0)+36>>2];j[(k[c>>2]|0)+16>>1]=(k[(k[h>>2]|0)+36>>2]|0)-(m[f>>1]|0);fu(k[c>>2]|0,k[d>>2]|0)|0;j[(k[c>>2]|0)+14>>1]=j[f>>1]|0;k[(k[c>>2]|0)+60>>2]=(k[e>>2]|0)+(k[(k[h>>2]|0)+36>>2]|0);k[(k[c>>2]|0)+64>>2]=(k[e>>2]|0)+(m[f>>1]|0);k[(k[c>>2]|0)+68>>2]=(k[e>>2]|0)+(l[(k[c>>2]|0)+6>>0]|0);i[(k[c>>2]|0)+1>>0]=0;j[(k[c>>2]|0)+20>>1]=(k[(k[h>>2]|0)+32>>2]|0)-1;j[(k[c>>2]|0)+18>>1]=0;i[k[c>>2]>>0]=1;r=n;return}function mL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+40|0;e=s+36|0;f=s+32|0;g=s+28|0;p=s+24|0;h=s+20|0;o=s+16|0;n=s+12|0;q=s+8|0;j=s+4|0;l=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[p>>2]=0;k[h>>2]=0;k[o>>2]=k[(k[e>>2]|0)+12>>2];if((k[g>>2]|0)>>>0<2){q=_j(64103)|0;k[d>>2]=q;q=k[d>>2]|0;r=s;return q|0}if(k[f>>2]|0){k[n>>2]=k[f>>2];nL(k[(k[n>>2]|0)+72>>2]|0)}else{b=oL(k[e>>2]|0,k[g>>2]|0)|0;k[n>>2]=b}b=Qg(k[(k[o>>2]|0)+72>>2]|0)|0;k[q>>2]=b;do if(!(k[q>>2]|0)){b=qr((k[(k[o>>2]|0)+56>>2]|0)+36|0)|0;k[j>>2]=b;pt((k[(k[o>>2]|0)+56>>2]|0)+36|0,(k[j>>2]|0)+1|0);if(m[(k[e>>2]|0)+22>>1]&4){if((k[n>>2]|0)==0?(b=fG(k[e>>2]|0,k[g>>2]|0,n,0)|0,k[q>>2]=b,(b|0)!=0):0)break;b=Qg(k[(k[n>>2]|0)+72>>2]|0)|0;k[q>>2]=b;if(b)break;dS(k[(k[n>>2]|0)+56>>2]|0,0,k[(k[(k[n>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((i[(k[e>>2]|0)+17>>0]|0)!=0?(oK(k[e>>2]|0,k[g>>2]|0,2,0,q),(k[q>>2]|0)!=0):0)break;if(k[j>>2]|0){b=qr((k[(k[o>>2]|0)+56>>2]|0)+32|0)|0;k[h>>2]=b;b=fG(k[e>>2]|0,k[h>>2]|0,p,0)|0;k[q>>2]=b;if(k[q>>2]|0)break;b=qr((k[(k[p>>2]|0)+56>>2]|0)+4|0)|0;k[l>>2]=b;if((k[l>>2]|0)>>>0>((((k[(k[e>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){o=_j(64156)|0;k[q>>2]=o;break}if((k[l>>2]|0)>>>0<((((k[(k[e>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){o=Qg(k[(k[p>>2]|0)+72>>2]|0)|0;k[q>>2]=o;if(k[q>>2]|0)break;pt((k[(k[p>>2]|0)+56>>2]|0)+4|0,(k[l>>2]|0)+1|0);pt((k[(k[p>>2]|0)+56>>2]|0)+(8+(k[l>>2]<<2))|0,k[g>>2]|0);if((k[n>>2]|0)!=0?(m[(k[e>>2]|0)+22>>1]&4|0)==0:0)pL(k[(k[n>>2]|0)+72>>2]|0);o=qL(k[e>>2]|0,k[g>>2]|0)|0;k[q>>2]=o;break}}if((k[n>>2]|0)==0?(b=fG(k[e>>2]|0,k[g>>2]|0,n,0)|0,k[q>>2]=b,0!=(b|0)):0)break;b=Qg(k[(k[n>>2]|0)+72>>2]|0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){pt(k[(k[n>>2]|0)+56>>2]|0,k[h>>2]|0);pt((k[(k[n>>2]|0)+56>>2]|0)+4|0,0);pt((k[(k[o>>2]|0)+56>>2]|0)+32|0,k[g>>2]|0)}}while(0);if(k[n>>2]|0)i[k[n>>2]>>0]=0;_B(k[n>>2]|0);_B(k[p>>2]|0);k[d>>2]=k[q>>2];q=k[d>>2]|0;r=s;return q|0}function nL(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;rL(k[c>>2]|0);r=b;return}function oL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=rs(k[k[d>>2]>>2]|0,k[e>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){b=UF(k[f>>2]|0,k[e>>2]|0,k[d>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=g;return b|0}else{k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}return 0}function pL(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+16>>2];if(i[(k[c>>2]|0)+13>>0]|0){r=d;return}if(!(m[(k[b>>2]|0)+24>>1]&2)){r=d;return}if(k[(k[c>>2]|0)+104>>2]|0){r=d;return}a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]|16;a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]&-5;r=d;return}function qL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[c>>2]|0)+60>>2]|0)==0?(b=uj(k[(k[c>>2]|0)+44>>2]|0)|0,k[(k[c>>2]|0)+60>>2]=b,(k[(k[c>>2]|0)+60>>2]|0)==0):0)k[e>>2]=7;if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}b=k[d>>2]|0;if(b>>>0>(yj(k[(k[c>>2]|0)+60>>2]|0)|0)>>>0){e=k[e>>2]|0;r=f;return e|0}b=vj(k[(k[c>>2]|0)+60>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;e=k[e>>2]|0;r=f;return e|0}function rL(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+26|0;j[a>>1]=(j[a>>1]|0)+1<<16>>16;a=(k[(k[c>>2]|0)+28>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function sL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;n=o+16|0;m=o+12|0;j=o+8|0;h=o+4|0;l=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;k[j>>2]=k[(k[e>>2]|0)+4>>2];if(k[(k[j>>2]|0)+8>>2]|0){k[d>>2]=262;n=k[d>>2]|0;r=o;return n|0}if((k[f>>2]|0)>>>0<2){n=_j(66814)|0;k[d>>2]=n;n=k[d>>2]|0;r=o;return n|0}c=fG(k[j>>2]|0,k[f>>2]|0,m,0)|0;k[n>>2]=c;if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}c=GJ(k[e>>2]|0,k[f>>2]|0,0)|0;k[n>>2]=c;if(k[n>>2]|0){_B(k[m>>2]|0);k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}k[k[g>>2]>>2]=0;if(i[(k[j>>2]|0)+17>>0]|0){Bg(k[e>>2]|0,4,h);b=k[m>>2]|0;do if((k[f>>2]|0)==(k[h>>2]|0)){kL(b,n);_B(k[m>>2]|0);if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}}else{_B(b);m=fG(k[j>>2]|0,k[h>>2]|0,l,0)|0;k[n>>2]=m;if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}m=lK(k[j>>2]|0,k[l>>2]|0,1,0,k[f>>2]|0,0)|0;k[n>>2]=m;_B(k[l>>2]|0);if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}k[l>>2]=0;m=fG(k[j>>2]|0,k[h>>2]|0,l,0)|0;k[n>>2]=m;kL(k[l>>2]|0,n);_B(k[l>>2]|0);if(!(k[n>>2]|0)){k[k[g>>2]>>2]=k[h>>2];break}k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}while(0);k[h>>2]=(k[h>>2]|0)+-1;while(1){if((k[h>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(m=dG(k[j>>2]|0,k[h>>2]|0)|0,(m|0)!=(k[h>>2]|0)):0)break;k[h>>2]=(k[h>>2]|0)+-1}m=Lg(k[e>>2]|0,4,k[h>>2]|0)|0;k[n>>2]=m}else{kL(k[m>>2]|0,n);_B(k[m>>2]|0)}k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function tL(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+56>>0]=1;a=uL((k[c>>2]|0)+64|0,(k[c>>2]|0)+36|0)|0;r=b;return a|0}function uL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+64|0;d=j+60|0;e=j+56|0;c=j+52|0;h=j+48|0;i=j;f=j+44|0;g=j+40|0;k[d>>2]=a;k[e>>2]=b;k[c>>2]=k[(k[(k[d>>2]|0)+8>>2]|0)+24>>2];k[h>>2]=0;b=i;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(k[(k[d>>2]|0)+40>>2]|0)){c=vL(k[c>>2]|0,0,0,(k[d>>2]|0)+40|0)|0;k[h>>2]=c}if(!(k[h>>2]|0)){c=wL(k[d>>2]|0,k[e>>2]|0)|0;k[h>>2]=c}if(k[h>>2]|0){i=k[h>>2]|0;r=j;return i|0}k[g>>2]=0;c=(k[d>>2]|0)+40+8|0;xL(k[(k[d>>2]|0)+40>>2]|0,i,k[(k[(k[d>>2]|0)+8>>2]|0)+12>>2]|0,k[c>>2]|0,k[c+4>>2]|0);c=(k[d>>2]|0)+28|0;k[c>>2]=(k[c>>2]|0)+1;c=k[(k[e>>2]|0)+8>>2]|0;yL(i,c,((c|0)<0)<<31>>31);k[f>>2]=k[k[e>>2]>>2];while(1){b=k[f>>2]|0;if(!(k[f>>2]|0))break;k[g>>2]=k[b+4>>2];c=k[k[f>>2]>>2]|0;yL(i,c,((c|0)<0)<<31>>31);zL(i,(k[f>>2]|0)+8|0,k[k[f>>2]>>2]|0);if(!(k[(k[e>>2]|0)+4>>2]|0))Ud(k[f>>2]|0);k[f>>2]=k[g>>2]}k[k[e>>2]>>2]=b;i=AL(i,(k[d>>2]|0)+40+8|0)|0;k[h>>2]=i;i=k[h>>2]|0;r=j;return i|0}function vL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+28|0;f=j+24|0;g=j+20|0;i=j+16|0;h=j;k[f>>2]=a;a=j+8|0;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;if(Li(202)|0){k[e>>2]=3338;i=k[e>>2]|0;r=j;return i|0}d=IL(k[k[f>>2]>>2]|0,0,k[g>>2]|0,4126,i)|0;k[i>>2]=d;if(!(k[i>>2]|0)){d=h;k[d>>2]=0;k[d+4>>2]=0;bt(k[k[g>>2]>>2]|0,18,h)}k[e>>2]=k[i>>2];i=k[e>>2]|0;r=j;return i|0}function wL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;e=m+28|0;f=m+24|0;g=m+20|0;i=m+16|0;h=m+12|0;j=m+8|0;c=m+4|0;d=m;k[f>>2]=a;k[g>>2]=b;a=BL(k[f>>2]|0)|0;k[c>>2]=a;if(k[c>>2]|0){k[e>>2]=k[c>>2];j=k[e>>2]|0;r=m;return j|0}k[j>>2]=k[k[g>>2]>>2];c=CL(k[(k[f>>2]|0)+8>>2]|0)|0;k[(k[f>>2]|0)+32>>2]=c;c=ug(256,0)|0;k[h>>2]=c;if(!(k[h>>2]|0)){k[e>>2]=7;j=k[e>>2]|0;r=m;return j|0}while(1){if(!(k[j>>2]|0))break;b=k[j>>2]|0;do if(k[(k[g>>2]|0)+4>>2]|0)if((b|0)==(k[(k[g>>2]|0)+4>>2]|0)){k[d>>2]=0;break}else{k[d>>2]=(k[(k[g>>2]|0)+4>>2]|0)+(k[(k[j>>2]|0)+4>>2]|0);break}else k[d>>2]=k[b+4>>2];while(0);k[(k[j>>2]|0)+4>>2]=0;k[i>>2]=0;while(1){if(!(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0))break;c=DL(k[f>>2]|0,k[j>>2]|0,k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[j>>2]=c;k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]=0;k[i>>2]=(k[i>>2]|0)+1}k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]=k[j>>2];k[j>>2]=k[d>>2]}k[j>>2]=0;k[i>>2]=0;while(1){if((k[i>>2]|0)>=64)break;if(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0){if(k[j>>2]|0)b=DL(k[f>>2]|0,k[j>>2]|0,k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;else b=k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0;k[j>>2]=b}k[i>>2]=(k[i>>2]|0)+1}k[k[g>>2]>>2]=k[j>>2];Ud(k[h>>2]|0);k[e>>2]=l[(k[(k[f>>2]|0)+12>>2]|0)+11>>0];j=k[e>>2]|0;r=m;return j|0}function xL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;a=i;k[a>>2]=d;k[a+4>>2]=e;d=k[g>>2]|0;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a=k[h>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+4>>2]=a;if(k[(k[g>>2]|0)+4>>2]|0){b=i;a=k[h>>2]|0;a=jS(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[(k[g>>2]|0)+12>>2]=a;k[(k[g>>2]|0)+16>>2]=a;a=k[(k[g>>2]|0)+12>>2]|0;a=_R(k[i>>2]|0,k[i+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=(k[g>>2]|0)+24|0;k[i>>2]=a;k[i+4>>2]=L;k[(k[g>>2]|0)+8>>2]=k[h>>2];k[(k[g>>2]|0)+32>>2]=k[f>>2];r=j;return}else{k[k[g>>2]>>2]=7;r=j;return}}function yL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d+12|0;h=d;e=d+8|0;f=d+16|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;a=h;a=aJ(f,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;zL(k[g>>2]|0,f,k[e>>2]|0);r=d;return}function zL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[f>>2];while(1){if((k[h>>2]|0)<=0){d=9;break}if(k[k[d>>2]>>2]|0){d=9;break}k[g>>2]=k[h>>2];if((k[g>>2]|0)>((k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+16>>2]|0)|0))k[g>>2]=(k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+16>>2]|0);bS((k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+16>>2]|0)|0,(k[e>>2]|0)+((k[f>>2]|0)-(k[h>>2]|0))|0,k[g>>2]|0)|0;b=(k[d>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+(k[g>>2]|0);if((k[(k[d>>2]|0)+16>>2]|0)==(k[(k[d>>2]|0)+8>>2]|0)){j=k[(k[d>>2]|0)+32>>2]|0;c=(k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0;b=(k[(k[d>>2]|0)+16>>2]|0)-(k[(k[d>>2]|0)+12>>2]|0)|0;l=(k[d>>2]|0)+24|0;a=k[(k[d>>2]|0)+12>>2]|0;a=$R(k[l>>2]|0,k[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Sg(j,c,b,a,L)|0;k[k[d>>2]>>2]=a;k[(k[d>>2]|0)+16>>2]=0;k[(k[d>>2]|0)+12>>2]=0;a=k[(k[d>>2]|0)+8>>2]|0;b=(k[d>>2]|0)+24|0;c=b;a=$R(k[c>>2]|0,k[c+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[b>>2]=a;k[b+4>>2]=L}k[h>>2]=(k[h>>2]|0)-(k[g>>2]|0)}if((d|0)==9){r=i;return}}function AL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(((k[k[c>>2]>>2]|0)==0?(k[(k[c>>2]|0)+4>>2]|0)!=0:0)?(k[(k[c>>2]|0)+16>>2]|0)>(k[(k[c>>2]|0)+12>>2]|0):0){h=k[(k[c>>2]|0)+32>>2]|0;g=(k[(k[c>>2]|0)+4>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)|0;a=(k[(k[c>>2]|0)+16>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0;i=(k[c>>2]|0)+24|0;b=k[(k[c>>2]|0)+12>>2]|0;b=$R(k[i>>2]|0,k[i+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Sg(h,g,a,b,L)|0;k[k[c>>2]>>2]=b}h=(k[c>>2]|0)+24|0;i=k[(k[c>>2]|0)+16>>2]|0;i=$R(k[h>>2]|0,k[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;d=k[d>>2]|0;k[d>>2]=i;k[d+4>>2]=L;Ud(k[(k[c>>2]|0)+4>>2]|0);k[e>>2]=k[k[c>>2]>>2];c=k[c>>2]|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));r=f;return k[e>>2]|0}function BL(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(k[(k[c>>2]|0)+12>>2]|0)){a=WF(k[(k[(k[c>>2]|0)+8>>2]|0)+28>>2]|0,0,0,d)|0;k[(k[c>>2]|0)+12>>2]=a;if(k[d>>2]|0){j[(k[(k[c>>2]|0)+12>>2]|0)+8>>1]=j[(k[(k[(k[c>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;i[(k[(k[c>>2]|0)+12>>2]|0)+11>>0]=0;break}k[b>>2]=7;a=k[b>>2]|0;r=e;return a|0}while(0);k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}function CL(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if((l[(k[c>>2]|0)+60>>0]|0|0)!=1)if((l[(k[c>>2]|0)+60>>0]|0|0)==2){k[b>>2]=139;break}else{k[b>>2]=140;break}else k[b>>2]=138;while(0);r=d;return k[b>>2]|0}function DL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;g=l+20|0;h=l+16|0;i=l+12|0;j=l+8|0;e=l+4|0;f=l;k[d>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=0;k[j>>2]=i;k[e>>2]=0;while(1){a=ac[k[(k[d>>2]|0)+32>>2]&255](k[d>>2]|0,e,(k[g>>2]|0)+8|0,k[k[g>>2]>>2]|0,(k[h>>2]|0)+8|0,k[k[h>>2]>>2]|0)|0;k[f>>2]=a;if((k[f>>2]|0)<=0){k[k[j>>2]>>2]=k[g>>2];k[j>>2]=(k[g>>2]|0)+4;k[g>>2]=k[(k[g>>2]|0)+4>>2];if(!(k[g>>2]|0)){d=4;break}else continue}else{k[k[j>>2]>>2]=k[h>>2];k[j>>2]=(k[h>>2]|0)+4;k[h>>2]=k[(k[h>>2]|0)+4>>2];k[e>>2]=0;if(!(k[h>>2]|0)){d=6;break}else continue}}if((d|0)==4){k[k[j>>2]>>2]=k[h>>2];j=k[i>>2]|0;r=l;return j|0}else if((d|0)==6){k[k[j>>2]>>2]=k[g>>2];j=k[i>>2]|0;r=l;return j|0}return 0}function EL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=r;r=r+64|0;p=x+52|0;q=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;h=x+20|0;j=x+16|0;n=x+12|0;o=x+8|0;w=x+4|0;g=x;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[v>>2]=f;k[z>>2]=k[s>>2];k[y>>2]=k[u>>2];k[h>>2]=l[(k[z>>2]|0)+1>>0];k[j>>2]=l[(k[y>>2]|0)+1>>0];k[n>>2]=(k[z>>2]|0)+(l[k[z>>2]>>0]|0);k[o>>2]=(k[y>>2]|0)+(l[k[y>>2]>>0]|0);d=k[h>>2]|0;f=k[j>>2]|0;a:do if(!((k[h>>2]|0)>7&(k[j>>2]|0)>7)){if((d|0)==(f|0)){if((l[k[n>>2]>>0]^l[k[o>>2]>>0])&128){k[w>>2]=(l[k[n>>2]>>0]&128|0)!=0?-1:1;break}k[w>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(l[41789+(k[h>>2]|0)>>0]|0))break a;z=(l[(k[n>>2]|0)+(k[g>>2]|0)>>0]|0)-(l[(k[o>>2]|0)+(k[g>>2]|0)>>0]|0)|0;k[w>>2]=z;if(z)break a;k[g>>2]=(k[g>>2]|0)+1}}do if((k[j>>2]|0)<=7)if((k[h>>2]|0)>7){k[w>>2]=-1;break}else{k[w>>2]=(k[h>>2]|0)-(k[j>>2]|0);break}else k[w>>2]=1;while(0);if((k[w>>2]|0)>0){if(!(l[k[n>>2]>>0]&128))break;k[w>>2]=-1;break}else{if(!(l[k[o>>2]>>0]&128))break;k[w>>2]=1;break}}else k[w>>2]=d-f;while(0);d=k[(k[(k[p>>2]|0)+8>>2]|0)+28>>2]|0;if(!(k[w>>2]|0)){if((m[d+6>>1]|0)<=1){z=k[w>>2]|0;r=x;return z|0}z=HL(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0)|0;k[w>>2]=z;z=k[w>>2]|0;r=x;return z|0}else{if(!(i[k[d+16>>2]>>0]|0)){z=k[w>>2]|0;r=x;return z|0}z=ha(k[w>>2]|0,-1)|0;k[w>>2]=z;z=k[w>>2]|0;r=x;return z|0}return 0}function FL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+64|0;p=x+48|0;q=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;j=x+20|0;n=x+16|0;o=x+12|0;g=x+8|0;h=x+4|0;w=x;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[v>>2]=f;k[y>>2]=k[s>>2];k[j>>2]=k[u>>2];k[n>>2]=(k[y>>2]|0)+(l[k[y>>2]>>0]|0);k[o>>2]=(k[j>>2]|0)+(l[k[j>>2]>>0]|0);d=(k[y>>2]|0)+1|0;if((l[(k[y>>2]|0)+1>>0]|0)<128)k[g>>2]=l[d>>0];else lG(d,g)|0;k[g>>2]=((k[g>>2]|0)-13|0)/2|0;d=(k[j>>2]|0)+1|0;if((l[(k[j>>2]|0)+1>>0]|0)<128)k[h>>2]=l[d>>0];else lG(d,h)|0;k[h>>2]=((k[h>>2]|0)-13|0)/2|0;y=oR(k[n>>2]|0,k[o>>2]|0,(k[g>>2]|0)<(k[h>>2]|0)?k[g>>2]|0:k[h>>2]|0)|0;k[w>>2]=y;if(!(k[w>>2]|0))k[w>>2]=(k[g>>2]|0)-(k[h>>2]|0);d=k[(k[(k[p>>2]|0)+8>>2]|0)+28>>2]|0;if(!(k[w>>2]|0)){if((m[d+6>>1]|0)<=1){y=k[w>>2]|0;r=x;return y|0}y=HL(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0)|0;k[w>>2]=y;y=k[w>>2]|0;r=x;return y|0}else{if(!(i[k[d+16>>2]>>0]|0)){y=k[w>>2]|0;r=x;return y|0}y=ha(k[w>>2]|0,-1)|0;k[w>>2]=y;y=k[w>>2]|0;r=x;return y|0}return 0}function GL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[n>>2]=k[(k[g>>2]|0)+12>>2];if(k[k[h>>2]>>2]|0){a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=jG(a,b,n)|0;r=o;return n|0}XF(k[(k[(k[g>>2]|0)+8>>2]|0)+28>>2]|0,k[m>>2]|0,k[l>>2]|0,k[n>>2]|0);k[k[h>>2]>>2]=1;a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=jG(a,b,n)|0;r=o;return n|0}function HL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[n>>2]=k[(k[g>>2]|0)+12>>2];if(k[k[h>>2]>>2]|0){a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=kG(a,b,n,1)|0;r=o;return n|0}XF(k[(k[(k[g>>2]|0)+8>>2]|0)+28>>2]|0,k[m>>2]|0,k[l>>2]|0,k[n>>2]|0);k[k[h>>2]>>2]=1;a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=kG(a,b,n,1)|0;r=o;return n|0}function IL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;l=n+16|0;h=n+12|0;i=n+8|0;m=n+4|0;j=n;k[f>>2]=a;k[g>>2]=b;k[l>>2]=c;k[h>>2]=d;k[i>>2]=e;b=k[(k[f>>2]|0)+4>>2]|0;b=ug(b,((b|0)<0)<<31>>31)|0;k[j>>2]=b;if(!(k[j>>2]|0)){k[m>>2]=7;m=k[m>>2]|0;r=n;return m|0}f=cs(k[f>>2]|0,k[g>>2]|0,k[j>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[m>>2]=f;f=k[j>>2]|0;if(k[m>>2]|0){Ud(f);m=k[m>>2]|0;r=n;return m|0}else{k[k[l>>2]>>2]=f;m=k[m>>2]|0;r=n;return m|0}return 0}function JL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+36|0;d=p+32|0;n=p+28|0;g=p+24|0;m=p+20|0;f=p+16|0;i=p+12|0;j=p+8|0;e=p+4|0;h=p;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+4>>2];k[m>>2]=k[(k[c>>2]|0)+4>>2];b=KL((k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0)|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){k[e>>2]=0;k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]&65534)*56|0);k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|1)*56|0);k[f>>2]=((k[k[c>>2]>>2]|0)+(k[g>>2]|0)|0)/2|0;while(1){if((k[f>>2]|0)<=0)break;do if(k[(k[i>>2]|0)+24>>2]|0)if(!(k[(k[j>>2]|0)+24>>2]|0)){k[h>>2]=-1;break}else{b=ac[k[(k[m>>2]|0)+32>>2]&255](k[m>>2]|0,e,k[(k[i>>2]|0)+32>>2]|0,k[(k[i>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+32>>2]|0,k[(k[j>>2]|0)+20>>2]|0)|0;k[h>>2]=b;break}else k[h>>2]=1;while(0);do if((k[h>>2]|0)<0)o=12;else{if((k[h>>2]|0)==0?(k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0:0){o=12;break}if(k[(k[i>>2]|0)+24>>2]|0)k[e>>2]=0;k[(k[(k[c>>2]|0)+8>>2]|0)+(k[f>>2]<<2)>>2]=((k[j>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0)/56|0;k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((o|0)==12){o=0;k[(k[(k[c>>2]|0)+8>>2]|0)+(k[f>>2]<<2)>>2]=((k[i>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0)/56|0;k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]^1)<<2)>>2]|0)*56|0);k[e>>2]=0}k[f>>2]=(k[f>>2]|0)/2|0}k[k[d>>2]>>2]=(k[(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(k[n>>2]|0)){o=l[(k[(k[m>>2]|0)+12>>2]|0)+11>>0]|0;r=p;return o|0}else{o=k[n>>2]|0;r=p;return o|0}return 0}function KL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;b=h+24|0;c=h+20|0;g=h+16|0;e=h;f=h+12|0;d=h+8|0;k[c>>2]=a;k[g>>2]=0;i=e;k[i>>2]=0;k[i+4>>2]=0;i=k[c>>2]|0;l=k[i+4>>2]|0;a=(k[c>>2]|0)+8|0;j=k[a+4>>2]|0;if((l|0)>(j|0)|((l|0)==(j|0)?(k[i>>2]|0)>>>0>=(k[a>>2]|0)>>>0:0)){k[f>>2]=k[(k[c>>2]|0)+48>>2];k[d>>2]=1;if(((k[f>>2]|0)!=0?(l=LL(k[f>>2]|0)|0,k[g>>2]=l,(k[g>>2]|0)==0):0)?(k[(k[f>>2]|0)+20>>2]|0)==0:0){l=(k[f>>2]|0)+8|0;l=ML(k[k[f>>2]>>2]|0,k[c>>2]|0,(k[f>>2]|0)+32|0,k[l>>2]|0,k[l+4>>2]|0)|0;k[g>>2]=l;k[d>>2]=0}if(k[d>>2]|0){fL(k[c>>2]|0);k[b>>2]=k[g>>2];l=k[b>>2]|0;r=h;return l|0}}if(!(k[g>>2]|0)){l=NL(k[c>>2]|0,e)|0;k[g>>2]=l}if(!(k[g>>2]|0)){k[(k[c>>2]|0)+20>>2]=k[e>>2];l=OL(k[c>>2]|0,k[e>>2]|0,(k[c>>2]|0)+32|0)|0;k[g>>2]=l}k[b>>2]=k[g>>2];l=k[b>>2]|0;r=h;return l|0}function LL(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;e=RL(k[b>>2]|0)|0;k[c>>2]=e;e=(k[b>>2]|0)+32|0;a=(k[b>>2]|0)+32+16|0;k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];k[e+8>>2]=k[a+8>>2];k[e+12>>2]=k[a+12>>2];e=(k[b>>2]|0)+32+8|0;a=(k[b>>2]|0)+8|0;if(!((k[e>>2]|0)==(k[a>>2]|0)?(k[e+4>>2]|0)==(k[a+4>>2]|0):0)){e=k[c>>2]|0;r=d;return e|0}k[(k[b>>2]|0)+20>>2]=1;e=k[c>>2]|0;r=d;return e|0}function ML(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+36|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p;o=p+20|0;n=p+16|0;l=p+12|0;m=p+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=j;k[a>>2]=d;k[a+4>>2]=e;k[o>>2]=0;if(Li(201)|0){k[f>>2]=266;o=k[f>>2]|0;r=p;return o|0}if(k[(k[h>>2]|0)+44>>2]|0){Ws(k[(k[h>>2]|0)+24>>2]|0,0,0,k[(k[h>>2]|0)+44>>2]|0)|0;k[(k[h>>2]|0)+44>>2]=0}a=j;b=k[a+4>>2]|0;c=k[h>>2]|0;k[c>>2]=k[a>>2];k[c+4>>2]=b;c=(k[i>>2]|0)+8|0;b=k[c+4>>2]|0;a=(k[h>>2]|0)+8|0;k[a>>2]=k[c>>2];k[a+4>>2]=b;k[(k[h>>2]|0)+24>>2]=k[k[i>>2]>>2];a=PL(k[g>>2]|0,k[i>>2]|0,(k[h>>2]|0)+44|0)|0;k[o>>2]=a;if((k[o>>2]|0)==0?(k[(k[h>>2]|0)+44>>2]|0)==0:0){k[n>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+12>>2];b=k[h>>2]|0;a=k[n>>2]|0;a=jS(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[l>>2]=a;if(!(k[(k[h>>2]|0)+36>>2]|0)){a=k[n>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[(k[h>>2]|0)+36>>2]=a;if(!(k[(k[h>>2]|0)+36>>2]|0))k[o>>2]=7;k[(k[h>>2]|0)+40>>2]=k[n>>2]}if((k[o>>2]|0)==0&(k[l>>2]|0)!=0){k[m>>2]=(k[n>>2]|0)-(k[l>>2]|0);c=k[h>>2]|0;a=k[m>>2]|0;a=$R(k[c>>2]|0,k[c+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c=L;n=(k[h>>2]|0)+8|0;b=k[n+4>>2]|0;if((c|0)>(b|0)|((c|0)==(b|0)?a>>>0>(k[n>>2]|0)>>>0:0)){a=(k[h>>2]|0)+8|0;n=k[h>>2]|0;n=_R(k[a>>2]|0,k[a+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[m>>2]=n}n=k[h>>2]|0;n=os(k[(k[h>>2]|0)+24>>2]|0,(k[(k[h>>2]|0)+36>>2]|0)+(k[l>>2]|0)|0,k[m>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[o>>2]=n}}k[f>>2]=k[o>>2];o=k[f>>2]|0;r=p;return o|0}function NL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;c=o+24|0;d=o+20|0;e=o+16|0;j=o+12|0;g=o+32|0;f=o+8|0;h=o+4|0;m=o;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;a=k[b>>2]|0;b=k[b+4>>2]|0;do if(k[(k[d>>2]|0)+44>>2]|0){m=(mu((k[(k[d>>2]|0)+44>>2]|0)+a|0,k[e>>2]|0)|0)&255;n=k[d>>2]|0;j=n;m=$R(k[j>>2]|0,k[j+4>>2]|0,m|0,0)|0;k[n>>2]=m;k[n+4>>2]=L}else{p=k[(k[d>>2]|0)+40>>2]|0;b=jS(a|0,b|0,p|0,((p|0)<0)<<31>>31|0)|0;k[j>>2]=b;if((k[j>>2]|0)!=0?((k[(k[d>>2]|0)+40>>2]|0)-(k[j>>2]|0)|0)>=9:0){n=(mu((k[(k[d>>2]|0)+36>>2]|0)+(k[j>>2]|0)|0,k[e>>2]|0)|0)&255;p=k[d>>2]|0;m=p;n=$R(k[m>>2]|0,k[m+4>>2]|0,n|0,0)|0;k[p>>2]=n;k[p+4>>2]=L;break}k[h>>2]=0;while(1){p=OL(k[d>>2]|0,1,f)|0;k[m>>2]=p;if(k[m>>2]|0)break;j=i[k[f>>2]>>0]|0;p=k[h>>2]|0;k[h>>2]=p+1;i[g+(p&15)>>0]=j;if(!((l[k[f>>2]>>0]|0)&128)){n=10;break}}if((n|0)==10){mu(g,k[e>>2]|0)|0;break}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=o;return p|0}while(0);k[c>>2]=0;p=k[c>>2]|0;r=o;return p|0}function OL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=r;r=r+64|0;f=u+52|0;g=u+48|0;h=u+44|0;i=u+40|0;m=u+36|0;n=u+32|0;d=u+28|0;e=u+24|0;q=u+20|0;j=u+16|0;p=u+12|0;s=u+8|0;o=u+4|0;l=u;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=k[g>>2]|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(k[(k[g>>2]|0)+44>>2]|0){k[k[i>>2]>>2]=(k[(k[g>>2]|0)+44>>2]|0)+b;s=k[h>>2]|0;t=k[g>>2]|0;q=t;s=$R(k[q>>2]|0,k[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;k[t>>2]=s;k[t+4>>2]=L;k[f>>2]=0;t=k[f>>2]|0;r=u;return t|0}c=k[(k[g>>2]|0)+40>>2]|0;c=jS(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;k[m>>2]=c;if(!(k[m>>2]|0)){w=(k[g>>2]|0)+8|0;a=k[g>>2]|0;a=_R(k[w>>2]|0,k[w+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;w=L;c=k[(k[g>>2]|0)+40>>2]|0;v=((c|0)<0)<<31>>31;b=k[g>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>c>>>0)k[d>>2]=k[b+40>>2];else{v=b+8|0;w=k[g>>2]|0;w=_R(k[v>>2]|0,k[v+4>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[d>>2]=w}w=k[g>>2]|0;w=os(k[(k[g>>2]|0)+24>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[d>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[e>>2]=w;if(k[e>>2]|0){k[f>>2]=k[e>>2];w=k[f>>2]|0;r=u;return w|0}}k[n>>2]=(k[(k[g>>2]|0)+40>>2]|0)-(k[m>>2]|0);do if((k[h>>2]|0)<=(k[n>>2]|0)){k[k[i>>2]>>2]=(k[(k[g>>2]|0)+36>>2]|0)+(k[m>>2]|0);v=k[h>>2]|0;w=k[g>>2]|0;t=w;v=$R(k[t>>2]|0,k[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;k[w>>2]=v;k[w+4>>2]=L}else{do if((k[(k[g>>2]|0)+16>>2]|0)<(k[h>>2]|0)){if(128>(k[(k[g>>2]|0)+16>>2]<<1|0))b=128;else b=k[(k[g>>2]|0)+16>>2]<<1;k[p>>2]=b;while(1){if((k[h>>2]|0)<=(k[p>>2]|0))break;k[p>>2]=k[p>>2]<<1}w=k[p>>2]|0;w=mg(k[(k[g>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;k[j>>2]=w;if(k[j>>2]|0){k[(k[g>>2]|0)+16>>2]=k[p>>2];k[(k[g>>2]|0)+28>>2]=k[j>>2];break}k[f>>2]=7;w=k[f>>2]|0;r=u;return w|0}while(0);bS(k[(k[g>>2]|0)+28>>2]|0,(k[(k[g>>2]|0)+36>>2]|0)+(k[m>>2]|0)|0,k[n>>2]|0)|0;v=k[n>>2]|0;w=k[g>>2]|0;p=w;v=$R(k[p>>2]|0,k[p+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;k[w>>2]=v;k[w+4>>2]=L;k[q>>2]=(k[h>>2]|0)-(k[n>>2]|0);while(1){if((k[q>>2]|0)<=0){t=27;break}k[o>>2]=k[q>>2];if((k[q>>2]|0)>(k[(k[g>>2]|0)+40>>2]|0))k[o>>2]=k[(k[g>>2]|0)+40>>2];w=OL(k[g>>2]|0,k[o>>2]|0,l)|0;k[s>>2]=w;if(k[s>>2]|0)break;bS((k[(k[g>>2]|0)+28>>2]|0)+((k[h>>2]|0)-(k[q>>2]|0))|0,k[l>>2]|0,k[o>>2]|0)|0;k[q>>2]=(k[q>>2]|0)-(k[o>>2]|0)}if((t|0)==27){k[k[i>>2]>>2]=k[(k[g>>2]|0)+28>>2];break}k[f>>2]=k[s>>2];w=k[f>>2]|0;r=u;return w|0}while(0);k[f>>2]=0;w=k[f>>2]|0;r=u;return w|0}function PL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;j=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;a=(k[d>>2]|0)+8|0;i=k[a+4>>2]|0;c=k[(k[(k[(k[j>>2]|0)+8>>2]|0)+24>>2]|0)+144>>2]|0;b=((c|0)<0)<<31>>31;if(!((i|0)<(b|0)|((i|0)==(b|0)?(k[a>>2]|0)>>>0<=c>>>0:0))){j=k[g>>2]|0;r=h;return j|0}k[f>>2]=k[k[d>>2]>>2];if((k[k[k[f>>2]>>2]>>2]|0)<3){j=k[g>>2]|0;r=h;return j|0}j=QL(k[f>>2]|0,0,0,k[(k[d>>2]|0)+8>>2]|0,k[e>>2]|0)|0;k[g>>2]=j;j=k[g>>2]|0;r=h;return j|0}function QL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=r;r=r+32|0;g=f+8|0;k[f+16>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;k[k[g>>2]>>2]=0;r=f;return 0}function RL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+96|0;b=n+88|0;j=n+84|0;l=n+80|0;e=n+48|0;h=n+76|0;o=n+72|0;g=n+68|0;m=n+8|0;c=n+64|0;i=n+60|0;f=n+56|0;d=n;k[b>>2]=a;k[j>>2]=0;q=(k[b>>2]|0)+8|0;p=k[q+4>>2]|0;a=e;k[a>>2]=k[q>>2];k[a+4>>2]=p;k[h>>2]=(k[b>>2]|0)+32+16;k[o>>2]=k[k[b>>2]>>2];k[g>>2]=k[(k[b>>2]|0)+4>>2];a=e;xL(k[k[h>>2]>>2]|0,m,k[(k[(k[o>>2]|0)+8>>2]|0)+12>>2]|0,k[a>>2]|0,k[a+4>>2]|0);while(1){if(k[j>>2]|0)break;k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+((k[(k[(k[g>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);k[f>>2]=k[(k[i>>2]|0)+20>>2];q=m+24|0;p=k[m+16>>2]|0;p=$R(k[q>>2]|0,k[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=d;k[q>>2]=p;k[q+4>>2]=L;if(!(k[(k[i>>2]|0)+24>>2]|0))break;a=d;o=k[f>>2]|0;o=$R(k[a>>2]|0,k[a+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;a=L;p=k[f>>2]|0;p=sG(p,((p|0)<0)<<31>>31)|0;p=$R(o|0,a|0,p|0,((p|0)<0)<<31>>31|0)|0;a=L;o=e;q=k[(k[b>>2]|0)+16>>2]|0;q=$R(k[o>>2]|0,k[o+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;o=L;if((a|0)>(o|0)|(a|0)==(o|0)&p>>>0>q>>>0)break;q=k[f>>2]|0;yL(m,q,((q|0)<0)<<31>>31);zL(m,k[(k[i>>2]|0)+32>>2]|0,k[f>>2]|0);q=JL(k[(k[b>>2]|0)+4>>2]|0,c)|0;k[j>>2]=q}q=AL(m,(k[h>>2]|0)+8|0)|0;k[l>>2]=q;if(k[j>>2]|0){q=k[j>>2]|0;r=n;return q|0}k[j>>2]=k[l>>2];q=k[j>>2]|0;r=n;return q|0}function SL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[d>>2]=(k[b>>2]|0)+64;k[c>>2]=0;a=TL(k[b>>2]|0,c)|0;k[e>>2]=a;if(!(k[e>>2]|0)){d=UL(k[d>>2]|0,k[c>>2]|0,0)|0;k[e>>2]=d;k[(k[b>>2]|0)+20>>2]=k[c>>2];k[c>>2]=0}if(!(k[e>>2]|0)){e=k[e>>2]|0;r=f;return e|0}bL(k[c>>2]|0);e=k[e>>2]|0;r=f;return e|0}function TL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;c=s+52|0;d=s+48|0;m=s+44|0;q=s+40|0;h=s+36|0;p=s+32|0;o=s+28|0;i=s+24|0;f=s;e=s+20|0;g=s+16|0;n=s+12|0;j=s+8|0;k[c>>2]=a;k[d>>2]=b;k[m>>2]=0;k[q>>2]=0;k[h>>2]=0;while(1){if(k[q>>2]|0)break;if((k[h>>2]|0)>=(l[(k[c>>2]|0)+59>>0]|0|0))break;k[p>>2]=(k[c>>2]|0)+64+((k[h>>2]|0)*72|0);k[o>>2]=0;b=YL(k[(k[p>>2]|0)+28>>2]|0)|0;k[i>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;a:do if((k[(k[p>>2]|0)+28>>2]|0)<=16){b=ZL(k[p>>2]|0,k[(k[p>>2]|0)+28>>2]|0,f,o)|0;k[q>>2]=b}else{k[g>>2]=0;b=_L(16)|0;k[o>>2]=b;if(!(k[o>>2]|0))k[q>>2]=7;k[e>>2]=0;while(1){if(!((k[e>>2]|0)<(k[(k[p>>2]|0)+28>>2]|0)?(k[q>>2]|0)==0:0))break a;k[n>>2]=0;if(((k[(k[p>>2]|0)+28>>2]|0)-(k[e>>2]|0)|0)<16)a=(k[(k[p>>2]|0)+28>>2]|0)-(k[e>>2]|0)|0;else a=16;k[j>>2]=a;b=ZL(k[p>>2]|0,k[j>>2]|0,f,n)|0;k[q>>2]=b;if(!(k[q>>2]|0)){t=k[p>>2]|0;a=k[i>>2]|0;b=k[g>>2]|0;k[g>>2]=b+1;b=$L(t,a,b,k[o>>2]|0,k[n>>2]|0)|0;k[q>>2]=b}k[e>>2]=(k[e>>2]|0)+16}}while(0);a=k[o>>2]|0;if(!(k[q>>2]|0))k[m>>2]=a;else bL(a);k[h>>2]=(k[h>>2]|0)+1}if(!(k[q>>2]|0)){p=k[m>>2]|0;t=k[d>>2]|0;k[t>>2]=p;t=k[q>>2]|0;r=s;return t|0}bL(k[m>>2]|0);k[m>>2]=0;p=k[m>>2]|0;t=k[d>>2]|0;k[t>>2]=p;t=k[q>>2]|0;r=s;return t|0}function UL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;i=m+8|0;g=m+4|0;h=m;k[e>>2]=a;k[f>>2]=b;k[m+12>>2]=c;k[i>>2]=0;k[h>>2]=k[k[f>>2]>>2];k[(k[f>>2]|0)+4>>2]=k[e>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;a=VL((k[(k[f>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0)|0,0)|0;k[i>>2]=a;if(k[i>>2]|0){j=4;break}k[g>>2]=(k[g>>2]|0)+1}if((j|0)==4){k[d>>2]=k[i>>2];j=k[d>>2]|0;r=m;return j|0}k[g>>2]=(k[k[f>>2]>>2]|0)-1;while(1){if((k[g>>2]|0)<=0)break;WL(k[f>>2]|0,k[g>>2]|0);k[g>>2]=(k[g>>2]|0)+-1}k[d>>2]=l[(k[(k[e>>2]|0)+12>>2]|0)+11>>0];j=k[d>>2]|0;r=m;return j|0}function VL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[(k[c>>2]|0)+48>>2];k[e>>2]=0;if(!(k[g>>2]|0)){g=k[e>>2]|0;r=f;return g|0}g=XL(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=g;g=k[e>>2]|0;r=f;return g|0}function WL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;c=n+36|0;d=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;l=n+8|0;e=n+4|0;m=n;k[c>>2]=a;k[d>>2]=b;b=k[d>>2]|0;if((k[d>>2]|0)>=((k[k[c>>2]>>2]|0)/2|0|0)){k[f>>2]=b-((k[k[c>>2]>>2]|0)/2|0)<<1;k[g>>2]=(k[f>>2]|0)+1}else{k[f>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];k[g>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+((k[d>>2]<<1)+1<<2)>>2]}k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[f>>2]|0)*56|0);k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0);do if(k[(k[i>>2]|0)+24>>2]|0){if(!(k[(k[j>>2]|0)+24>>2]|0)){k[h>>2]=k[f>>2];break}k[l>>2]=k[(k[c>>2]|0)+4>>2];k[e>>2]=0;l=ac[k[(k[l>>2]|0)+32>>2]&255](k[l>>2]|0,e,k[(k[i>>2]|0)+32>>2]|0,k[(k[i>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+32>>2]|0,k[(k[j>>2]|0)+20>>2]|0)|0;k[m>>2]=l;if((k[m>>2]|0)<=0){k[h>>2]=k[f>>2];break}else{k[h>>2]=k[g>>2];break}}else k[h>>2]=k[g>>2];while(0);k[(k[(k[c>>2]|0)+8>>2]|0)+(k[d>>2]<<2)>>2]=k[h>>2];r=n;return}function XL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+24|0;j=i+20|0;h=i+16|0;f=i+12|0;g=i+8|0;d=i+4|0;e=i;k[c>>2]=a;k[j>>2]=b;k[h>>2]=0;k[f>>2]=k[(k[c>>2]|0)+48>>2];k[g>>2]=k[k[f>>2]>>2];k[d>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+24>>2];a=UL(k[g>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[j>>2]|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[e>>2]=k[(k[f>>2]|0)+16>>2];if(!(k[(k[g>>2]|0)+56>>2]|0)){j=(k[g>>2]|0)+56+8|0;j=vL(k[d>>2]|0,k[j>>2]|0,k[j+4>>2]|0,(k[g>>2]|0)+56|0)|0;k[h>>2]=j;j=(k[g>>2]|0)+56+8|0;k[j>>2]=0;k[j+4>>2]=0}if(!(k[h>>2]|0)){k[(k[f>>2]|0)+32+16>>2]=k[(k[g>>2]|0)+56>>2];b=(k[g>>2]|0)+56+8|0;j=k[b+4>>2]|0;a=(k[f>>2]|0)+8|0;k[a>>2]=k[b>>2];k[a+4>>2]=j;a=k[e>>2]|0;j=(k[g>>2]|0)+56+8|0;g=j;g=$R(k[g>>2]|0,k[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[j>>2]=g;k[j+4>>2]=L}}if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=KL(k[c>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function YL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e;k[b>>2]=a;k[c>>2]=0;a=d;k[a>>2]=16;k[a+4>>2]=0;while(1){f=d;h=k[f+4>>2]|0;a=k[b>>2]|0;g=((a|0)<0)<<31>>31;if(!((h|0)<(g|0)|((h|0)==(g|0)?(k[f>>2]|0)>>>0>>0:0)))break;g=d;g=kS(k[g>>2]|0,k[g+4>>2]|0,16,0)|0;h=d;k[h>>2]=g;k[h+4>>2]=L;k[c>>2]=(k[c>>2]|0)+1}r=e;return k[c>>2]|0}function ZL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;e=p+44|0;f=p+40|0;g=p+36|0;h=p+32|0;m=p+28|0;j=p+8|0;i=p+24|0;o=p+20|0;l=p;n=p+16|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a=k[g>>2]|0;c=k[a+4>>2]|0;d=j;k[d>>2]=k[a>>2];k[d+4>>2]=c;k[o>>2]=0;d=_L(k[f>>2]|0)|0;k[m>>2]=d;k[k[h>>2]>>2]=d;if(!(k[m>>2]|0))k[o>>2]=7;k[i>>2]=0;while(1){if(!((k[i>>2]|0)<(k[f>>2]|0)?(k[o>>2]|0)==0:0))break;a=l;k[a>>2]=0;k[a+4>>2]=0;k[n>>2]=(k[(k[m>>2]|0)+12>>2]|0)+((k[i>>2]|0)*56|0);a=j;a=bM(k[e>>2]|0,(k[e>>2]|0)+40|0,k[a>>2]|0,k[a+4>>2]|0,k[n>>2]|0,l)|0;k[o>>2]=a;a=(k[n>>2]|0)+8|0;c=k[a+4>>2]|0;d=j;k[d>>2]=k[a>>2];k[d+4>>2]=c;k[i>>2]=(k[i>>2]|0)+1}if(!(k[o>>2]|0)){c=j;n=c;n=k[n>>2]|0;c=c+4|0;c=k[c>>2]|0;d=k[g>>2]|0;a=d;k[a>>2]=n;d=d+4|0;k[d>>2]=c;o=k[o>>2]|0;r=p;return o|0}bL(k[m>>2]|0);k[k[h>>2]>>2]=0;c=j;n=c;n=k[n>>2]|0;c=c+4|0;c=k[c>>2]|0;d=k[g>>2]|0;a=d;k[a>>2]=n;d=d+4|0;k[d>>2]=c;o=k[o>>2]|0;r=p;return o|0}function _L(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;c=f+4|0;e=f;k[b>>2]=a;k[d>>2]=2;while(1){a=k[d>>2]|0;if((k[d>>2]|0)>=(k[b>>2]|0))break;k[d>>2]=(k[d>>2]|0)+a}k[c>>2]=16+(a*60|0);if(Li(100)|0)a=0;else{a=k[c>>2]|0;a=ug(a,((a|0)<0)<<31>>31)|0}k[e>>2]=a;if(!(k[e>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[k[e>>2]>>2]=k[d>>2];k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=(k[e>>2]|0)+16;k[(k[e>>2]|0)+8>>2]=(k[(k[e>>2]|0)+12>>2]|0)+((k[d>>2]|0)*56|0);e=k[e>>2]|0;r=f;return e|0}function $L(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;f=s+48|0;g=s+44|0;o=s+40|0;u=s+36|0;t=s+32|0;q=s+28|0;j=s+24|0;h=s+20|0;p=s+16|0;l=s+12|0;i=s+8|0;n=s+4|0;m=s;k[f>>2]=a;k[g>>2]=b;k[o>>2]=c;k[u>>2]=d;k[t>>2]=e;k[q>>2]=0;k[j>>2]=1;k[p>>2]=k[u>>2];a=aM(k[f>>2]|0,k[t>>2]|0,l)|0;k[q>>2]=a;k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[g>>2]|0))break;k[j>>2]=k[j>>2]<<4;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=1;while(1){if(!((k[h>>2]|0)<(k[g>>2]|0)?(k[q>>2]|0)==0:0))break;k[i>>2]=((k[o>>2]|0)/(k[j>>2]|0)|0|0)%16|0;k[n>>2]=(k[(k[p>>2]|0)+12>>2]|0)+((k[i>>2]|0)*56|0);do if(!(k[(k[n>>2]|0)+48>>2]|0)){u=_L(16)|0;k[m>>2]=u;if(!(k[m>>2]|0)){k[q>>2]=7;break}else{u=aM(k[f>>2]|0,k[m>>2]|0,(k[n>>2]|0)+48|0)|0;k[q>>2]=u;break}}while(0);if(!(k[q>>2]|0)){k[p>>2]=k[(k[(k[n>>2]|0)+48>>2]|0)+4>>2];k[j>>2]=(k[j>>2]|0)/16|0}k[h>>2]=(k[h>>2]|0)+1}f=k[l>>2]|0;if(!(k[q>>2]|0)){k[(k[(k[p>>2]|0)+12>>2]|0)+(((k[o>>2]|0)%16|0)*56|0)+48>>2]=f;u=k[q>>2]|0;r=s;return u|0}else{gL(f);u=k[q>>2]|0;r=s;return u|0}return 0}function aM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;f=i+16|0;d=i+12|0;e=i+8|0;h=i+4|0;g=i;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;k[h>>2]=0;if(Li(100)|0)b=0;else b=ug(64,0)|0;k[k[e>>2]>>2]=b;k[g>>2]=b;b=k[d>>2]|0;if(!(k[g>>2]|0)){bL(b);k[h>>2]=7;h=k[h>>2]|0;r=i;return h|0}k[(k[g>>2]|0)+4>>2]=b;k[k[g>>2]>>2]=k[f>>2];b=k[(k[f>>2]|0)+8>>2]|0;if(((k[(k[(k[f>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((k[(k[(k[f>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(k[b+8>>2]|0)+9|0;else b=(k[b+4>>2]|0)/2|0;k[(k[g>>2]|0)+16>>2]=b;e=k[(k[g>>2]|0)+16>>2]|0;g=(k[f>>2]|0)+56+8|0;f=g;f=$R(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;k[g>>2]=f;k[g+4>>2]=L;h=k[h>>2]|0;r=i;return h|0}function bM(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+48|0;n=l+32|0;m=l+28|0;o=l+8|0;g=l+24|0;h=l+20|0;j=l+16|0;i=l;k[n>>2]=a;k[m>>2]=b;a=o;k[a>>2]=c;k[a+4>>2]=d;k[g>>2]=e;k[h>>2]=f;f=o;f=ML(k[n>>2]|0,k[g>>2]|0,k[m>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[j>>2]=f;if(!(k[j>>2]|0)){n=i;k[n>>2]=0;k[n+4>>2]=0;n=NL(k[g>>2]|0,i)|0;k[j>>2]=n;n=k[g>>2]|0;o=i;o=$R(k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;n=(k[g>>2]|0)+8|0;k[n>>2]=o;k[n+4>>2]=L;n=i;o=k[h>>2]|0;m=o;n=$R(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[o>>2]=n;k[o+4>>2]=L}if(k[j>>2]|0){o=k[j>>2]|0;r=l;return o|0}o=KL(k[g>>2]|0)|0;k[j>>2]=o;o=k[j>>2]|0;r=l;return o|0}function cM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+66>>0]|0|0)!=1|0}function dM(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;e=d+4|0;c=d;k[b>>2]=a;a=eM(k[(k[b>>2]|0)+16>>2]|0,e)|0;k[c>>2]=a;k[(k[b>>2]|0)+56>>2]=0;if(!(k[e>>2]|0)){e=k[c>>2]|0;r=d;return e|0}i[(k[b>>2]|0)+2>>0]=1;e=k[c>>2]|0;r=d;return e|0}function eM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+12|0;f=g+8|0;c=g+4|0;d=g;k[f>>2]=a;k[c>>2]=b;if((l[(k[f>>2]|0)+66>>0]|0|0)>=3)a=OF(k[f>>2]|0)|0;else a=0;k[d>>2]=a;if(k[d>>2]|0){k[k[c>>2]>>2]=1;k[e>>2]=k[d>>2];f=k[e>>2]|0;r=g;return f|0}a=k[c>>2]|0;if((l[(k[f>>2]|0)+66>>0]|0|0)!=1)k[a>>2]=1;else k[a>>2]=0;k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}function fM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;if(i[(k[c>>2]|0)+56>>0]|0){k[f>>2]=(k[(k[(k[c>>2]|0)+20>>2]|0)+12>>2]|0)+((k[(k[(k[a+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);k[k[d>>2]>>2]=k[(k[f>>2]|0)+20>>2];k[e>>2]=k[(k[f>>2]|0)+32>>2];f=k[e>>2]|0;r=g;return f|0}else{k[k[d>>2]>>2]=k[k[a+36>>2]>>2];k[e>>2]=(k[(k[c>>2]|0)+36>>2]|0)+8;f=k[e>>2]|0;r=g;return f|0}return 0}function gM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+32|0;f=t+28|0;g=t+24|0;h=t+20|0;p=t+16|0;n=t+12|0;q=t+8|0;s=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[h>>2]>>2]|0){r=t;return}k[n>>2]=k[(k[e>>2]|0)+56>>2];k[q>>2]=(k[(k[e>>2]|0)+64>>2]|0)+(k[f>>2]<<1);k[p>>2]=(l[k[q>>2]>>0]|0)<<8|(l[(k[q>>2]|0)+1>>0]|0);k[o>>2]=l[(k[e>>2]|0)+5>>0];if((k[p>>2]|0)>>>0>=((l[(k[n>>2]|0)+((k[o>>2]|0)+5)>>0]|0)<<8|(l[(k[n>>2]|0)+((k[o>>2]|0)+5)+1>>0]|0))>>>0?((k[p>>2]|0)+(k[g>>2]|0)|0)>>>0<=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c=xM(k[e>>2]|0,k[p>>2]&65535,k[g>>2]&65535)|0;k[s>>2]=c;if(k[s>>2]|0){k[k[h>>2]>>2]=k[s>>2];r=t;return}c=(k[e>>2]|0)+18|0;j[c>>1]=(j[c>>1]|0)+-1<<16>>16;if(!(m[(k[e>>2]|0)+18>>1]|0)){c=(k[n>>2]|0)+((k[o>>2]|0)+1)|0;i[c>>0]=0;i[c+1>>0]=0;i[c+2>>0]=0;i[c+3>>0]=0;i[(k[n>>2]|0)+((k[o>>2]|0)+7)>>0]=0;i[(k[n>>2]|0)+((k[o>>2]|0)+5)>>0]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;i[(k[n>>2]|0)+((k[o>>2]|0)+5)+1>>0]=k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2];j[(k[e>>2]|0)+16>>1]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)-(l[(k[e>>2]|0)+5>>0]|0)-(l[(k[e>>2]|0)+6>>0]|0)-8;r=t;return}else{cS(k[q>>2]|0,(k[q>>2]|0)+2|0,(m[(k[e>>2]|0)+18>>1]|0)-(k[f>>2]|0)<<1|0)|0;i[(k[n>>2]|0)+((k[o>>2]|0)+3)>>0]=(m[(k[e>>2]|0)+18>>1]|0)>>8;i[(k[n>>2]|0)+((k[o>>2]|0)+3)+1>>0]=j[(k[e>>2]|0)+18>>1];c=(k[e>>2]|0)+16|0;j[c>>1]=(m[c>>1]|0)+2;r=t;return}}c=_j(64508)|0;k[k[h>>2]>>2]=c;r=t;return}function hM(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+48|0;h=z+44|0;n=z+40|0;o=z+36|0;p=z+32|0;q=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;k[h>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[v>>2]=0;if((l[(k[h>>2]|0)+1>>0]|0)==0?((k[p>>2]|0)+2|0)<=(m[(k[h>>2]|0)+16>>1]|0):0){d=Qg(k[(k[h>>2]|0)+72>>2]|0)|0;k[y>>2]=d;if(k[y>>2]|0){k[k[t>>2]>>2]=k[y>>2];r=z;return}k[u>>2]=k[(k[h>>2]|0)+56>>2];d=zM(k[h>>2]|0,k[p>>2]|0,v)|0;k[y>>2]=d;if(k[y>>2]|0){k[k[t>>2]>>2]=k[y>>2];r=z;return}d=(k[h>>2]|0)+16|0;j[d>>1]=(m[d>>1]|0)-(2+(k[p>>2]|0)&65535);bS((k[u>>2]|0)+(k[v>>2]|0)|0,k[o>>2]|0,k[p>>2]|0)|0;if(k[s>>2]|0)pt((k[u>>2]|0)+(k[v>>2]|0)|0,k[s>>2]|0);k[x>>2]=(k[(k[h>>2]|0)+64>>2]|0)+(k[n>>2]<<1);cS((k[x>>2]|0)+2|0,k[x>>2]|0,(m[(k[h>>2]|0)+18>>1]|0)-(k[n>>2]|0)<<1|0)|0;i[k[x>>2]>>0]=k[v>>2]>>8;i[(k[x>>2]|0)+1>>0]=k[v>>2];y=(k[h>>2]|0)+18|0;j[y>>1]=(j[y>>1]|0)+1<<16>>16;y=(k[u>>2]|0)+((l[(k[h>>2]|0)+5>>0]|0)+4)|0;d=(i[y>>0]|0)+1<<24>>24;i[y>>0]=d;if(!(d&255)){d=(k[u>>2]|0)+((l[(k[h>>2]|0)+5>>0]|0)+3)|0;i[d>>0]=(i[d>>0]|0)+1<<24>>24}if(!(i[(k[(k[h>>2]|0)+52>>2]|0)+17>>0]|0)){r=z;return}qK(k[h>>2]|0,k[o>>2]|0,k[t>>2]|0);r=z;return}if(k[q>>2]|0){bS(k[q>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[o>>2]=k[q>>2]}if(k[s>>2]|0)pt(k[o>>2]|0,k[s>>2]|0);y=(k[h>>2]|0)+1|0;d=i[y>>0]|0;i[y>>0]=d+1<<24>>24;k[w>>2]=d&255;k[(k[h>>2]|0)+32+(k[w>>2]<<2)>>2]=k[o>>2];j[(k[h>>2]|0)+22+(k[w>>2]<<1)>>1]=k[n>>2];r=z;return}function iM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;b=q+32|0;p=q+28|0;f=q+24|0;c=q+36|0;g=q+20|0;e=q+16|0;h=q+12|0;n=q+8|0;d=q+4|0;o=q;k[b>>2]=a;k[p>>2]=0;k[f>>2]=(k[(k[(k[b>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;k[g>>2]=0;do{k[e>>2]=i[(k[b>>2]|0)+68>>0];k[h>>2]=k[(k[b>>2]|0)+120+(k[e>>2]<<2)>>2];a=i[(k[h>>2]|0)+1>>0]|0;if(!(k[e>>2]|0)){if(!(a<<24>>24))break;a=jM(k[h>>2]|0,(k[b>>2]|0)+120+4|0)|0;k[p>>2]=a;if(!(k[p>>2]|0)){i[(k[b>>2]|0)+68>>0]=1;j[(k[b>>2]|0)+80>>1]=0;j[(k[b>>2]|0)+80+2>>1]=0}}else{if((a&255|0)==0?(m[(k[h>>2]|0)+16>>1]|0)<=(k[f>>2]|0):0)break;k[n>>2]=k[(k[b>>2]|0)+120+((k[e>>2]|0)-1<<2)>>2];k[d>>2]=m[(k[b>>2]|0)+80+((k[e>>2]|0)-1<<1)>>1];a=Qg(k[(k[n>>2]|0)+72>>2]|0)|0;k[p>>2]=a;do if(!(k[p>>2]|0)){if(((((l[(k[h>>2]|0)+3>>0]|0)!=0?(l[(k[h>>2]|0)+1>>0]|0)==1:0)?(m[(k[h>>2]|0)+22>>1]|0)==(m[(k[h>>2]|0)+18>>1]|0):0)?(k[(k[n>>2]|0)+84>>2]|0)!=1:0)?(m[(k[n>>2]|0)+18>>1]|0)==(k[d>>2]|0):0){a=kM(k[n>>2]|0,k[h>>2]|0,c)|0;k[p>>2]=a;break}a=gj(k[(k[(k[b>>2]|0)+4>>2]|0)+32>>2]|0)|0;k[o>>2]=a;a=lM(k[n>>2]|0,k[d>>2]|0,k[o>>2]|0,(k[e>>2]|0)==1&1,l[(k[b>>2]|0)+67>>0]&1)|0;k[p>>2]=a;if(k[g>>2]|0)jj(k[g>>2]|0);k[g>>2]=k[o>>2]}while(0);i[(k[h>>2]|0)+1>>0]=0;_B(k[h>>2]|0);a=(k[b>>2]|0)+68|0;i[a>>0]=(i[a>>0]|0)+-1<<24>>24}}while((k[p>>2]|0)==0);if(!(k[g>>2]|0)){p=k[p>>2]|0;r=q;return p|0}jj(k[g>>2]|0);p=k[p>>2]|0;r=q;return p|0}function jM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+24|0;d=m+20|0;e=m+16|0;j=m+12|0;g=m+8|0;h=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;k[h>>2]=0;k[f>>2]=k[(k[d>>2]|0)+52>>2];b=Qg(k[(k[d>>2]|0)+72>>2]|0)|0;k[j>>2]=b;if((k[j>>2]|0)==0?(b=kK(k[f>>2]|0,g,h,k[(k[d>>2]|0)+84>>2]|0,0)|0,k[j>>2]=b,qM(k[d>>2]|0,k[g>>2]|0,j),(i[(k[f>>2]|0)+17>>0]|0)!=0):0)oK(k[f>>2]|0,k[h>>2]|0,5,k[(k[d>>2]|0)+84>>2]|0,j);if(k[j>>2]|0){k[k[e>>2]>>2]=0;_B(k[g>>2]|0);k[c>>2]=k[j>>2];j=k[c>>2]|0;r=m;return j|0}else{bS((k[g>>2]|0)+22|0,(k[d>>2]|0)+22|0,l[(k[d>>2]|0)+1>>0]<<1|0)|0;bS((k[g>>2]|0)+32|0,(k[d>>2]|0)+32|0,l[(k[d>>2]|0)+1>>0]<<2|0)|0;i[(k[g>>2]|0)+1>>0]=i[(k[d>>2]|0)+1>>0]|0;lL(k[d>>2]|0,l[k[(k[g>>2]|0)+56>>2]>>0]&-9);pt((k[(k[d>>2]|0)+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0,k[h>>2]|0);k[k[e>>2]>>2]=k[g>>2];k[c>>2]=0;j=k[c>>2]|0;r=m;return j|0}return 0}function kM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;d=v+40|0;e=v+36|0;f=v+32|0;g=v+28|0;h=v+24|0;o=v+20|0;t=v+16|0;s=v+12|0;p=v+8|0;n=v+4|0;u=v+44|0;q=v;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[(k[f>>2]|0)+52>>2];if(!(m[(k[f>>2]|0)+18>>1]|0)){u=_j(65006)|0;k[d>>2]=u;u=k[d>>2]|0;r=v;return u|0}c=kK(k[h>>2]|0,o,s,0,0)|0;k[t>>2]=c;if(!(k[t>>2]|0)){k[p>>2]=(k[g>>2]|0)+4;k[n>>2]=k[(k[f>>2]|0)+32>>2];c=gc[k[(k[f>>2]|0)+76>>2]&255](k[f>>2]|0,k[n>>2]|0)|0;j[u>>1]=c;lL(k[o>>2]|0,13);c=vM(k[o>>2]|0,1,n,u)|0;k[t>>2]=c;if(k[t>>2]|0){k[d>>2]=k[t>>2];u=k[d>>2]|0;r=v;return u|0}j[(k[o>>2]|0)+16>>1]=(k[(k[h>>2]|0)+36>>2]|0)-(m[(k[o>>2]|0)+14>>1]|0)-2-(m[u>>1]|0);if((i[(k[h>>2]|0)+17>>0]|0)!=0?(oK(k[h>>2]|0,k[s>>2]|0,5,k[(k[e>>2]|0)+84>>2]|0,t),(m[u>>1]|0)>(m[(k[o>>2]|0)+12>>1]|0)):0)qK(k[o>>2]|0,k[n>>2]|0,t);k[n>>2]=(k[(k[f>>2]|0)+56>>2]|0)+(m[(k[f>>2]|0)+20>>1]&(l[(k[(k[f>>2]|0)+64>>2]|0)+((m[(k[f>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|l[(k[(k[f>>2]|0)+64>>2]|0)+((m[(k[f>>2]|0)+18>>1]|0)-1<<1)+1>>0]));k[q>>2]=(k[n>>2]|0)+9;do{u=k[n>>2]|0;k[n>>2]=u+1;if(!(l[u>>0]&128))break}while((k[n>>2]|0)>>>0<(k[q>>2]|0)>>>0);k[q>>2]=(k[n>>2]|0)+9;do{u=k[n>>2]|0;k[n>>2]=u+1;u=i[u>>0]|0;c=k[p>>2]|0;k[p>>2]=c+1;i[c>>0]=u;if(!(u&128))break}while((k[n>>2]|0)>>>0<(k[q>>2]|0)>>>0);if(!(k[t>>2]|0))hM(k[e>>2]|0,m[(k[e>>2]|0)+18>>1]|0,k[g>>2]|0,(k[p>>2]|0)-(k[g>>2]|0)|0,0,k[(k[f>>2]|0)+84>>2]|0,t);pt((k[(k[e>>2]|0)+56>>2]|0)+((l[(k[e>>2]|0)+5>>0]|0)+8)|0,k[s>>2]|0);_B(k[o>>2]|0)}k[d>>2]=k[t>>2];u=k[d>>2]|0;r=v;return u|0}function lM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=r;r=r+448|0;ga=Da+412|0;ha=Da+408|0;f=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;p=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;o=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;n=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;g=Da+152|0;v=Da+148|0;q=Da+144|0;h=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;k[ha>>2]=a;k[f>>2]=b;k[Q>>2]=c;k[ia>>2]=d;k[C>>2]=e;k[t>>2]=0;k[wa>>2]=0;k[Aa>>2]=0;k[p>>2]=0;k[W>>2]=0;i[ja>>0]=0;i[ja+1>>0]=0;i[ja+2>>0]=0;i[ja+3>>0]=0;i[ja+4>>0]=0;k[ma>>2]=0;k[ma+8>>2]=0;k[za>>2]=k[(k[ha>>2]|0)+52>>2];if(!(k[Q>>2]|0)){k[ga>>2]=7;Ca=k[ga>>2]|0;r=Da;return Ca|0}k[pa>>2]=(l[(k[ha>>2]|0)+1>>0]|0)+(m[(k[ha>>2]|0)+18>>1]|0);if((k[pa>>2]|0)<2)k[Z>>2]=0;else{do if(k[f>>2]|0)if((k[f>>2]|0)==(k[pa>>2]|0)){k[Z>>2]=(k[pa>>2]|0)-2+(k[C>>2]|0);break}else{k[Z>>2]=(k[f>>2]|0)-1;break}else k[Z>>2]=0;while(0);k[pa>>2]=2-(k[C>>2]|0)}k[ya>>2]=(k[pa>>2]|0)+1;f=k[ha>>2]|0;if(((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)|0)==(m[(k[ha>>2]|0)+18>>1]|0))k[K>>2]=(k[(k[ha>>2]|0)+56>>2]|0)+((l[f+5>>0]|0)+8);else k[K>>2]=(k[f+56>>2]|0)+(m[(k[ha>>2]|0)+20>>1]&(l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));a=qr(k[K>>2]|0)|0;k[M>>2]=a;while(1){a=SF(k[za>>2]|0,k[M>>2]|0,la+(k[pa>>2]<<2)|0,0,0)|0;k[Aa>>2]=a;if(k[Aa>>2]|0){c=16;break}k[t>>2]=(k[t>>2]|0)+(1+(m[(k[la+(k[pa>>2]<<2)>>2]|0)+18>>1]|0)+(l[(k[la+(k[pa>>2]<<2)>>2]|0)+1>>0]|0));a=k[pa>>2]|0;k[pa>>2]=a+-1;if(!a){c=26;break}if(((k[pa>>2]|0)+(k[Z>>2]|0)|0)==(m[(k[ha>>2]|0)+22>>1]|0)?(l[(k[ha>>2]|0)+1>>0]|0)!=0:0){k[o+(k[pa>>2]<<2)>>2]=k[(k[ha>>2]|0)+32>>2];a=qr(k[o+(k[pa>>2]<<2)>>2]|0)|0;k[M>>2]=a;a=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0)|0)&65535;k[Ba+(k[pa>>2]<<2)>>2]=a;i[(k[ha>>2]|0)+1>>0]=0;continue}k[o+(k[pa>>2]<<2)>>2]=(k[(k[ha>>2]|0)+56>>2]|0)+(m[(k[ha>>2]|0)+20>>1]&(l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));a=qr(k[o+(k[pa>>2]<<2)>>2]|0)|0;k[M>>2]=a;a=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0)|0)&65535;k[Ba+(k[pa>>2]<<2)>>2]=a;if(m[(k[za>>2]|0)+22>>1]&4){k[g>>2]=(k[o+(k[pa>>2]<<2)>>2]|0)-(k[(k[ha>>2]|0)+56>>2]|0);if(((k[g>>2]|0)+(k[Ba+(k[pa>>2]<<2)>>2]|0)|0)>(k[(k[za>>2]|0)+36>>2]|0)){c=23;break}bS((k[Q>>2]|0)+(k[g>>2]|0)|0,k[o+(k[pa>>2]<<2)>>2]|0,k[Ba+(k[pa>>2]<<2)>>2]|0)|0;k[o+(k[pa>>2]<<2)>>2]=(k[Q>>2]|0)+((k[o+(k[pa>>2]<<2)>>2]|0)-(k[(k[ha>>2]|0)+56>>2]|0))}gM(k[ha>>2]|0,(k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)|0,k[Ba+(k[pa>>2]<<2)>>2]|0,Aa)}a:do if((c|0)==16)dS(la|0,0,(k[pa>>2]|0)+1<<2|0)|0;else if((c|0)==23){Ca=_j(65347)|0;k[Aa>>2]=Ca;dS(la|0,0,(k[pa>>2]|0)+1<<2|0)|0}else if((c|0)==26){k[t>>2]=(k[t>>2]|0)+3&-4;k[A>>2]=(k[t>>2]<<2)+(k[t>>2]<<1)+(k[(k[za>>2]|0)+32>>2]|0);A=Oi(k[A>>2]|0)|0;k[ma+8>>2]=A;if(!(k[ma+8>>2]|0)){k[Aa>>2]=7;break}k[ma+12>>2]=(k[ma+8>>2]|0)+(k[t>>2]<<2);k[n>>2]=(k[ma+12>>2]|0)+(k[t>>2]<<1);k[ma+4>>2]=k[la>>2];j[ua>>1]=l[(k[ma+4>>2]|0)+4>>0]<<2;k[va>>2]=l[(k[ma+4>>2]|0)+3>>0];k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;k[v>>2]=k[la+(k[pa>>2]<<2)>>2];k[q>>2]=m[(k[v>>2]|0)+18>>1];k[h>>2]=k[(k[v>>2]|0)+56>>2];j[s>>1]=j[(k[v>>2]|0)+20>>1]|0;k[x>>2]=(k[h>>2]|0)+(m[(k[v>>2]|0)+14>>1]|0);if((l[k[(k[v>>2]|0)+56>>2]>>0]|0)!=(l[k[(k[la>>2]|0)+56>>2]>>0]|0)){c=31;break}dS((k[ma+12>>2]|0)+(k[ma>>2]<<1)|0,0,(k[q>>2]|0)+(l[(k[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((l[(k[v>>2]|0)+1>>0]|0)>0){k[q>>2]=m[(k[v>>2]|0)+22>>1];k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(k[q>>2]|0))break;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[h>>2]|0)+(m[s>>1]&(l[k[x>>2]>>0]<<8|l[(k[x>>2]|0)+1>>0]));k[x>>2]=(k[x>>2]|0)+2;k[ma>>2]=(k[ma>>2]|0)+1;k[Y>>2]=(k[Y>>2]|0)+1}k[H>>2]=0;while(1){if((k[H>>2]|0)>=(l[(k[v>>2]|0)+1>>0]|0))break b;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=k[(k[v>>2]|0)+32+(k[H>>2]<<2)>>2];k[ma>>2]=(k[ma>>2]|0)+1;k[H>>2]=(k[H>>2]|0)+1}}while(0);k[y>>2]=(k[h>>2]|0)+(m[(k[v>>2]|0)+14>>1]|0)+(m[(k[v>>2]|0)+18>>1]<<1);while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[h>>2]|0)+(m[s>>1]&(l[k[x>>2]>>0]<<8|l[(k[x>>2]|0)+1>>0]));k[x>>2]=(k[x>>2]|0)+2;k[ma>>2]=(k[ma>>2]|0)+1}k[oa+(k[pa>>2]<<2)>>2]=k[ma>>2];if(!((k[va>>2]|0)!=0?1:(k[pa>>2]|0)>=((k[ya>>2]|0)-1|0))){j[z>>1]=k[Ba+(k[pa>>2]<<2)>>2];j[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]=j[z>>1]|0;k[w>>2]=(k[n>>2]|0)+(k[p>>2]|0);k[p>>2]=(k[p>>2]|0)+(m[z>>1]|0);bS(k[w>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0,m[z>>1]|0)|0;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[w>>2]|0)+(m[ua>>1]|0);j[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]=(m[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]|0)-(m[ua>>1]|0);c:do if(i[(k[v>>2]|0)+4>>0]|0)while(1){if((m[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]|0)>=4)break c;A=k[p>>2]|0;k[p>>2]=A+1;i[(k[n>>2]|0)+A>>0]=0;A=(k[ma+12>>2]|0)+(k[ma>>2]<<1)|0;j[A>>1]=(j[A>>1]|0)+1<<16>>16}else{A=k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]|0;t=(k[(k[v>>2]|0)+56>>2]|0)+8|0;i[A>>0]=i[t>>0]|0;i[A+1>>0]=i[t+1>>0]|0;i[A+2>>0]=i[t+2>>0]|0;i[A+3>>0]=i[t+3>>0]|0}while(0);k[ma>>2]=(k[ma>>2]|0)+1}k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==31){Ca=_j(65414)|0;k[Aa>>2]=Ca;break}k[Ca>>2]=(k[(k[za>>2]|0)+36>>2]|0)-12+(m[ua>>1]|0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;k[u>>2]=k[la+(k[pa>>2]<<2)>>2];k[Ba+(k[pa>>2]<<2)>>2]=(k[Ca>>2]|0)-(m[(k[u>>2]|0)+16>>1]|0);if((k[Ba+(k[pa>>2]<<2)>>2]|0)<0){c=52;break}k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(l[(k[u>>2]|0)+1>>0]|0))break;z=2+((gc[k[(k[u>>2]|0)+76>>2]&255](k[u>>2]|0,k[(k[u>>2]|0)+32+(k[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+z;k[Y>>2]=(k[Y>>2]|0)+1}k[na+(k[pa>>2]<<2)>>2]=k[oa+(k[pa>>2]<<2)>>2];k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==52){Ca=_j(65512)|0;k[Aa>>2]=Ca;break}k[H>>2]=k[ya>>2];k[pa>>2]=0;d:while(1){if((k[pa>>2]|0)>=(k[H>>2]|0)){c=83;break}while(1){if((k[Ba+(k[pa>>2]<<2)>>2]|0)<=(k[Ca>>2]|0))break;if(((k[pa>>2]|0)+1|0)>=(k[H>>2]|0)){k[H>>2]=(k[pa>>2]|0)+2;if((k[H>>2]|0)>5){c=62;break d}k[Ba+((k[H>>2]|0)-1<<2)>>2]=0;k[na+((k[H>>2]|0)-1<<2)>>2]=k[ma>>2]}A=2+((mM(ma,(k[na+(k[pa>>2]<<2)>>2]|0)-1|0)|0)&65535)|0;k[B>>2]=A;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)-(k[B>>2]|0);do if(!(k[va>>2]|0))if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){A=2+((mM(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;break}else{k[B>>2]=0;break}while(0);A=Ba+((k[pa>>2]|0)+1<<2)|0;k[A>>2]=(k[A>>2]|0)+(k[B>>2]|0);A=na+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+-1}while(1){if((k[na+(k[pa>>2]<<2)>>2]|0)>=(k[ma>>2]|0))break;A=2+((mM(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;if(((k[Ba+(k[pa>>2]<<2)>>2]|0)+(k[B>>2]|0)|0)>(k[Ca>>2]|0))break;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+(k[B>>2]|0);A=na+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+1;do if(!(k[va>>2]|0))if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){A=2+((mM(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;break}else{k[B>>2]=0;break}while(0);A=Ba+((k[pa>>2]|0)+1<<2)|0;k[A>>2]=(k[A>>2]|0)-(k[B>>2]|0)}f=k[pa>>2]|0;if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){if((k[pa>>2]|0)>0)c=k[na+((k[pa>>2]|0)-1<<2)>>2]|0;else c=0;if((k[na+(f<<2)>>2]|0)<=(c|0)){c=81;break}}else k[H>>2]=f+1;k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==62){Ca=_j(65524)|0;k[Aa>>2]=Ca;break}else if((c|0)==81){Ca=_j(65557)|0;k[Aa>>2]=Ca;break}else if((c|0)==83){k[pa>>2]=(k[H>>2]|0)-1;while(1){if((k[pa>>2]|0)<=0)break;k[P>>2]=k[Ba+(k[pa>>2]<<2)>>2];k[O>>2]=k[Ba+((k[pa>>2]|0)-1<<2)>>2];k[N>>2]=(k[na+((k[pa>>2]|0)-1<<2)>>2]|0)-1;k[F>>2]=(k[N>>2]|0)+1-(k[va>>2]|0);mM(ma,k[F>>2]|0)|0;do{mM(ma,k[N>>2]|0)|0;if(k[P>>2]|0){if(k[C>>2]|0)break;if(((k[P>>2]|0)+(m[(k[ma+12>>2]|0)+(k[F>>2]<<1)>>1]|0)+2|0)>((k[O>>2]|0)-((m[(k[ma+12>>2]|0)+(k[N>>2]<<1)>>1]|0)+((k[pa>>2]|0)==((k[H>>2]|0)-1|0)?0:2))|0))break}k[P>>2]=(k[P>>2]|0)+((m[(k[ma+12>>2]|0)+(k[F>>2]<<1)>>1]|0)+2);k[O>>2]=(k[O>>2]|0)-((m[(k[ma+12>>2]|0)+(k[N>>2]<<1)>>1]|0)+2);k[na+((k[pa>>2]|0)-1<<2)>>2]=k[N>>2];k[N>>2]=(k[N>>2]|0)+-1;k[F>>2]=(k[F>>2]|0)+-1}while((k[N>>2]|0)>=0);k[Ba+(k[pa>>2]<<2)>>2]=k[P>>2];k[Ba+((k[pa>>2]|0)-1<<2)>>2]=k[O>>2];if((k[pa>>2]|0)>1)f=k[na+((k[pa>>2]|0)-2<<2)>>2]|0;else f=0;if((k[na+((k[pa>>2]|0)-1<<2)>>2]|0)<=(f|0)){c=93;break}k[pa>>2]=(k[pa>>2]|0)+-1}if((c|0)==93){Ca=_j(65599)|0;k[Aa>>2]=Ca;break}k[L>>2]=l[k[(k[la>>2]|0)+56>>2]>>0];k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[H>>2]|0))break;if((k[pa>>2]|0)<(k[ya>>2]|0)){P=k[la+(k[pa>>2]<<2)>>2]|0;k[ka+(k[pa>>2]<<2)>>2]=P;k[I>>2]=P;k[la+(k[pa>>2]<<2)>>2]=0;P=Qg(k[(k[I>>2]|0)+72>>2]|0)|0;k[Aa>>2]=P;k[wa>>2]=(k[wa>>2]|0)+1;if(k[Aa>>2]|0)break a}else{P=kK(k[za>>2]|0,I,M,(k[C>>2]|0)!=0?1:k[M>>2]|0,0)|0;k[Aa>>2]=P;if(k[Aa>>2]|0)break a;lL(k[I>>2]|0,k[L>>2]|0);k[ka+(k[pa>>2]<<2)>>2]=k[I>>2];k[wa>>2]=(k[wa>>2]|0)+1;k[oa+(k[pa>>2]<<2)>>2]=k[ma>>2];if((i[(k[za>>2]|0)+17>>0]|0)!=0?(oK(k[za>>2]|0,k[(k[I>>2]|0)+84>>2]|0,5,k[(k[ha>>2]|0)+84>>2]|0,Aa),(k[Aa>>2]|0)!=0):0)break a}k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=0;e:while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;P=k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]|0;k[S+(k[pa>>2]<<2)>>2]=P;k[E+(k[pa>>2]<<2)>>2]=P;j[D+(k[pa>>2]<<1)>>1]=j[(k[(k[ka+(k[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(k[pa>>2]|0))break;if((k[S+(k[Y>>2]<<2)>>2]|0)==(k[S+(k[pa>>2]<<2)>>2]|0)){c=108;break e}k[Y>>2]=(k[Y>>2]|0)+1}k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==108){Ca=_j(65673)|0;k[Aa>>2]=Ca;break}k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;k[G>>2]=0;k[Y>>2]=1;while(1){if((k[Y>>2]|0)>=(k[wa>>2]|0))break;if((k[E+(k[Y>>2]<<2)>>2]|0)>>>0<(k[E+(k[G>>2]<<2)>>2]|0)>>>0)k[G>>2]=k[Y>>2];k[Y>>2]=(k[Y>>2]|0)+1}k[M>>2]=k[E+(k[G>>2]<<2)>>2];k[E+(k[G>>2]<<2)>>2]=-1;if((k[G>>2]|0)!=(k[pa>>2]|0)){if((k[G>>2]|0)>(k[pa>>2]|0))nM(k[(k[ka+(k[G>>2]<<2)>>2]|0)+72>>2]|0,(k[(k[za>>2]|0)+44>>2]|0)+(k[G>>2]|0)+1|0,0);nM(k[(k[ka+(k[pa>>2]<<2)>>2]|0)+72>>2]|0,k[M>>2]|0,j[D+(k[G>>2]<<1)>>1]|0);k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]=k[M>>2]}k[pa>>2]=(k[pa>>2]|0)+1}pt(k[K>>2]|0,k[(k[ka+((k[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((k[L>>2]&8|0)==0?(k[ya>>2]|0)!=(k[wa>>2]|0):0){k[J>>2]=k[((k[wa>>2]|0)>(k[ya>>2]|0)?ka:la)+((k[ya>>2]|0)-1<<2)>>2];P=(k[(k[ka+((k[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(k[(k[J>>2]|0)+56>>2]|0)+8|0;i[P>>0]=i[O>>0]|0;i[P+1>>0]=i[O+1>>0]|0;i[P+2>>0]=i[O+2>>0]|0;i[P+3>>0]=i[O+3>>0]|0}f:do if(i[(k[za>>2]|0)+17>>0]|0){k[aa>>2]=k[ka>>2];k[R>>2]=k[(k[aa>>2]|0)+56>>2];k[T>>2]=(m[(k[aa>>2]|0)+18>>1]|0)+(l[(k[aa>>2]|0)+1>>0]|0);k[fa>>2]=k[(k[za>>2]|0)+36>>2];k[U>>2]=0;k[V>>2]=0;k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ma>>2]|0))break f;k[_>>2]=k[(k[ma+8>>2]|0)+(k[pa>>2]<<2)>>2];if((k[pa>>2]|0)==(k[T>>2]|0)){P=(k[V>>2]|0)+1|0;k[V>>2]=P;f=k[V>>2]|0;if((P|0)<(k[wa>>2]|0))f=k[ka+(f<<2)>>2]|0;else f=k[la+(f<<2)>>2]|0;k[ca>>2]=f;k[T>>2]=(k[T>>2]|0)+((m[(k[ca>>2]|0)+18>>1]|0)+(l[(k[ca>>2]|0)+1>>0]|0)+(((k[va>>2]|0)!=0^1)&1));k[R>>2]=k[(k[ca>>2]|0)+56>>2]}if(!((k[pa>>2]|0)==(k[na+(k[U>>2]<<2)>>2]|0)?(P=(k[U>>2]|0)+1|0,k[U>>2]=P,k[aa>>2]=k[ka+(P<<2)>>2],(k[va>>2]|0)==0):0))c=136;do if((c|0)==136){c=0;if((((k[V>>2]|0)<(k[wa>>2]|0)?(k[(k[aa>>2]|0)+84>>2]|0)==(k[S+(k[V>>2]<<2)>>2]|0):0)?(k[_>>2]|0)>>>0>=(k[R>>2]|0)>>>0:0)?(k[_>>2]|0)>>>0<((k[R>>2]|0)+(k[fa>>2]|0)|0)>>>0:0)break;if(!(j[ua>>1]|0)){O=k[za>>2]|0;P=qr(k[_>>2]|0)|0;oK(O,P,5,k[(k[aa>>2]|0)+84>>2]|0,Aa)}P=(mM(ma,k[pa>>2]|0)|0)&65535;if((P|0)>(m[(k[aa>>2]|0)+12>>1]|0))qK(k[aa>>2]|0,k[_>>2]|0,Aa);if(k[Aa>>2]|0)break a}while(0);k[pa>>2]=(k[pa>>2]|0)+1}}while(0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=((k[wa>>2]|0)-1|0))break;k[ba>>2]=k[ka+(k[pa>>2]<<2)>>2];k[Y>>2]=k[na+(k[pa>>2]<<2)>>2];k[$>>2]=k[(k[ma+8>>2]|0)+(k[Y>>2]<<2)>>2];k[ea>>2]=(m[(k[ma+12>>2]|0)+(k[Y>>2]<<1)>>1]|0)+(m[ua>>1]|0);k[da>>2]=(k[Q>>2]|0)+(k[W>>2]|0);do if(i[(k[ba>>2]|0)+4>>0]|0){if(k[va>>2]|0){k[Y>>2]=(k[Y>>2]|0)+-1;cc[k[(k[ba>>2]|0)+80>>2]&255](k[ba>>2]|0,k[(k[ma+8>>2]|0)+(k[Y>>2]<<2)>>2]|0,X);k[$>>2]=k[da>>2];fa=X;fa=4+(aJ((k[$>>2]|0)+4|0,k[fa>>2]|0,k[fa+4>>2]|0)|0)|0;k[ea>>2]=fa;k[da>>2]=0;break}k[$>>2]=(k[$>>2]|0)+-4;if((m[(k[ma+12>>2]|0)+(k[Y>>2]<<1)>>1]|0)==4){fa=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[$>>2]|0)|0)&65535;k[ea>>2]=fa}}else{fa=(k[(k[ba>>2]|0)+56>>2]|0)+8|0;ca=k[$>>2]|0;i[fa>>0]=i[ca>>0]|0;i[fa+1>>0]=i[ca+1>>0]|0;i[fa+2>>0]=i[ca+2>>0]|0;i[fa+3>>0]=i[ca+3>>0]|0}while(0);k[W>>2]=(k[W>>2]|0)+(k[ea>>2]|0);hM(k[ha>>2]|0,(k[Z>>2]|0)+(k[pa>>2]|0)|0,k[$>>2]|0,k[ea>>2]|0,k[da>>2]|0,k[(k[ba>>2]|0)+84>>2]|0,Aa);if(k[Aa>>2]|0)break a;k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=1-(k[wa>>2]|0);while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;fa=k[pa>>2]|0;k[sa>>2]=(k[pa>>2]|0)<0?0-fa|0:fa;do if(!(i[ja+(k[sa>>2]|0)>>0]|0)){if((k[pa>>2]|0)<0?(k[oa+((k[sa>>2]|0)-1<<2)>>2]|0)<(k[na+((k[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(k[sa>>2]|0)){k[ra>>2]=0;k[qa>>2]=0;k[xa>>2]=k[na>>2]}else{if((k[sa>>2]|0)<(k[ya>>2]|0))f=(k[oa+((k[sa>>2]|0)-1<<2)>>2]|0)+(((k[va>>2]|0)!=0^1)&1)|0;else f=k[ma>>2]|0;k[ra>>2]=f;k[qa>>2]=(k[na+((k[sa>>2]|0)-1<<2)>>2]|0)+(((k[va>>2]|0)!=0^1)&1);k[xa>>2]=(k[na+(k[sa>>2]<<2)>>2]|0)-(k[qa>>2]|0)}fa=oM(k[ka+(k[sa>>2]<<2)>>2]|0,k[ra>>2]|0,k[qa>>2]|0,k[xa>>2]|0,ma)|0;k[Aa>>2]=fa;if(k[Aa>>2]|0)break a;fa=ja+(k[sa>>2]|0)|0;i[fa>>0]=(i[fa>>0]|0)+1<<24>>24;j[(k[ka+(k[sa>>2]<<2)>>2]|0)+16>>1]=(k[Ca>>2]|0)-(k[Ba+(k[sa>>2]<<2)>>2]|0)}while(0);k[pa>>2]=(k[pa>>2]|0)+1}if(((k[ia>>2]|0)!=0?(m[(k[ha>>2]|0)+18>>1]|0)==0:0)?(l[(k[ha>>2]|0)+5>>0]|0)<=(m[(k[ka>>2]|0)+16>>1]|0):0){Ca=pM(k[ka>>2]|0)|0;k[Aa>>2]=Ca;qM(k[ka>>2]|0,k[ha>>2]|0,Aa);kL(k[ka>>2]|0,Aa)}else c=174;g:do if((c|0)==174?!((j[ua>>1]|0)!=0?1:(l[(k[za>>2]|0)+17>>0]|0)==0):0){k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break g;Ca=qr((k[(k[ka+(k[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;k[ta>>2]=Ca;oK(k[za>>2]|0,k[ta>>2]|0,5,k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);k[pa>>2]=(k[pa>>2]|0)+1}}while(0);k[pa>>2]=k[wa>>2];while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break a;kL(k[la+(k[pa>>2]<<2)>>2]|0,Aa);k[pa>>2]=(k[pa>>2]|0)+1}}}while(0);Pi(k[ma+8>>2]|0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;_B(k[la+(k[pa>>2]<<2)>>2]|0);k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;_B(k[ka+(k[pa>>2]<<2)>>2]|0);k[pa>>2]=(k[pa>>2]|0)+1}k[ga>>2]=k[Aa>>2];Ca=k[ga>>2]|0;r=Da;return Ca|0}function mM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0){j[c>>1]=j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0;a=j[c>>1]|0;r=f;return a|0}else{a=yM(k[d>>2]|0,k[e>>2]|0)|0;j[c>>1]=a;a=j[c>>1]|0;r=f;return a|0}return 0}function nM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+4|0;e=d;g=d+8|0;k[f>>2]=a;k[e>>2]=b;j[g>>1]=c;j[(k[f>>2]|0)+24>>1]=j[g>>1]|0;rK(k[f>>2]|0,k[e>>2]|0);r=d;return}function oM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;g=D+16|0;f=D+12|0;h=D+8|0;y=D+4|0;x=D;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=e;k[u>>2]=k[(k[o>>2]|0)+56>>2];k[v>>2]=l[(k[o>>2]|0)+5>>0];k[A>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[s>>2]<<1);k[z>>2]=m[(k[o>>2]|0)+18>>1];k[g>>2]=(k[p>>2]|0)+(m[(k[o>>2]|0)+18>>1]|0)+(l[(k[o>>2]|0)+1>>0]|0);k[f>>2]=(k[q>>2]|0)+(k[s>>2]|0);if((k[p>>2]|0)<(k[q>>2]|0)){a=sM(k[o>>2]|0,k[p>>2]|0,(k[q>>2]|0)-(k[p>>2]|0)|0,k[t>>2]|0)|0;k[h>>2]=a;cS(k[(k[o>>2]|0)+64>>2]|0,(k[(k[o>>2]|0)+64>>2]|0)+(k[h>>2]<<1)|0,k[z>>2]<<1|0)|0;k[z>>2]=(k[z>>2]|0)-(k[h>>2]|0)}if((k[f>>2]|0)<(k[g>>2]|0)){a=sM(k[o>>2]|0,k[f>>2]|0,(k[g>>2]|0)-(k[f>>2]|0)|0,k[t>>2]|0)|0;k[z>>2]=(k[z>>2]|0)-a}k[C>>2]=(k[u>>2]|0)+((((l[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]|0)<<8|(l[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((k[C>>2]|0)>>>0>=(k[A>>2]|0)>>>0){if((k[q>>2]|0)<(k[p>>2]|0)){if((k[s>>2]|0)<((k[p>>2]|0)-(k[q>>2]|0)|0))c=k[s>>2]|0;else c=(k[p>>2]|0)-(k[q>>2]|0)|0;k[y>>2]=c;k[B>>2]=k[(k[o>>2]|0)+64>>2];cS((k[B>>2]|0)+(k[y>>2]<<1)|0,k[B>>2]|0,k[z>>2]<<1|0)|0;if(tM(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,k[q>>2]|0,k[y>>2]|0,k[t>>2]|0)|0)break;k[z>>2]=(k[z>>2]|0)+(k[y>>2]|0)}k[w>>2]=0;while(1){if((k[w>>2]|0)>=(l[(k[o>>2]|0)+1>>0]|0|0))break;k[x>>2]=(k[p>>2]|0)+(m[(k[o>>2]|0)+22+(k[w>>2]<<1)>>1]|0)-(k[q>>2]|0);if(((k[x>>2]|0)>=0?(k[x>>2]|0)<(k[s>>2]|0):0)?(k[B>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[x>>2]<<1),cS((k[B>>2]|0)+2|0,k[B>>2]|0,(k[z>>2]|0)-(k[x>>2]|0)<<1|0)|0,k[z>>2]=(k[z>>2]|0)+1,(tM(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,(k[x>>2]|0)+(k[q>>2]|0)|0,1,k[t>>2]|0)|0)!=0):0)break a;k[w>>2]=(k[w>>2]|0)+1}k[B>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[z>>2]<<1);if(!(tM(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,(k[q>>2]|0)+(k[z>>2]|0)|0,(k[s>>2]|0)-(k[z>>2]|0)|0,k[t>>2]|0)|0)){j[(k[o>>2]|0)+18>>1]=k[s>>2];i[(k[o>>2]|0)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+3)>>0]=(m[(k[o>>2]|0)+18>>1]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+3)+1>>0]=j[(k[o>>2]|0)+18>>1];i[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]=(k[C>>2]|0)-(k[u>>2]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]=(k[C>>2]|0)-(k[u>>2]|0);k[n>>2]=0;C=k[n>>2]|0;r=D;return C|0}}while(0);uM(k[t>>2]|0,k[q>>2]|0,k[s>>2]|0);C=vM(k[o>>2]|0,k[s>>2]|0,(k[(k[t>>2]|0)+8>>2]|0)+(k[q>>2]<<2)|0,(k[(k[t>>2]|0)+12>>2]|0)+(k[q>>2]<<1)|0)|0;k[n>>2]=C;C=k[n>>2]|0;r=D;return C|0}function pM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;b=y+64|0;c=y+60|0;h=y+56|0;q=y+52|0;g=y+48|0;s=y+44|0;v=y+40|0;e=y+36|0;d=y+32|0;o=y+28|0;f=y+24|0;u=y+20|0;t=y+16|0;j=y+12|0;n=y+8|0;p=y+4|0;w=y;k[c>>2]=a;k[u>>2]=0;a=k[(k[c>>2]|0)+56>>2]|0;k[f>>2]=a;k[t>>2]=a;k[g>>2]=l[(k[c>>2]|0)+5>>0];k[e>>2]=m[(k[c>>2]|0)+14>>1];k[o>>2]=m[(k[c>>2]|0)+18>>1];k[v>>2]=k[(k[(k[c>>2]|0)+52>>2]|0)+36>>2];k[d>>2]=k[v>>2];k[j>>2]=(k[e>>2]|0)+(k[o>>2]<<1);k[n>>2]=(k[v>>2]|0)-4;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[o>>2]|0)){x=14;break}k[p>>2]=(k[f>>2]|0)+((k[e>>2]|0)+(k[h>>2]<<1));k[q>>2]=(l[k[p>>2]>>0]|0)<<8|(l[(k[p>>2]|0)+1>>0]|0);if((k[q>>2]|0)<(k[j>>2]|0)){x=5;break}if((k[q>>2]|0)>(k[n>>2]|0)){x=5;break}a=(gc[k[(k[c>>2]|0)+76>>2]&255](k[c>>2]|0,(k[t>>2]|0)+(k[q>>2]|0)|0)|0)&65535;k[s>>2]=a;k[d>>2]=(k[d>>2]|0)-(k[s>>2]|0);if((k[d>>2]|0)<(k[j>>2]|0)){x=8;break}if(((k[q>>2]|0)+(k[s>>2]|0)|0)>(k[v>>2]|0)){x=8;break}i[k[p>>2]>>0]=k[d>>2]>>8;i[(k[p>>2]|0)+1>>0]=k[d>>2];if(!(k[u>>2]|0)){if((k[d>>2]|0)!=(k[q>>2]|0)){x=rM(k[k[(k[c>>2]|0)+52>>2]>>2]|0)|0;k[u>>2]=x;k[w>>2]=(l[(k[f>>2]|0)+((k[g>>2]|0)+5)>>0]|0)<<8|(l[(k[f>>2]|0)+((k[g>>2]|0)+5)+1>>0]|0);bS((k[u>>2]|0)+(k[w>>2]|0)|0,(k[f>>2]|0)+(k[w>>2]|0)|0,(k[d>>2]|0)+(k[s>>2]|0)-(k[w>>2]|0)|0)|0;k[t>>2]=k[u>>2];x=12}}else x=12;if((x|0)==12){x=0;bS((k[f>>2]|0)+(k[d>>2]|0)|0,(k[t>>2]|0)+(k[q>>2]|0)|0,k[s>>2]|0)|0}k[h>>2]=(k[h>>2]|0)+1}if((x|0)==5){x=_j(59617)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else if((x|0)==8){x=_j(59623)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else if((x|0)==14){i[(k[f>>2]|0)+((k[g>>2]|0)+5)>>0]=k[d>>2]>>8;i[(k[f>>2]|0)+((k[g>>2]|0)+5)+1>>0]=k[d>>2];i[(k[f>>2]|0)+((k[g>>2]|0)+1)>>0]=0;i[(k[f>>2]|0)+((k[g>>2]|0)+2)>>0]=0;i[(k[f>>2]|0)+((k[g>>2]|0)+7)>>0]=0;dS((k[f>>2]|0)+(k[j>>2]|0)|0,0,(k[d>>2]|0)-(k[j>>2]|0)|0)|0;if(((k[d>>2]|0)-(k[j>>2]|0)|0)!=(m[(k[c>>2]|0)+16>>1]|0|0)){x=_j(59647)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else{k[b>>2]=0;x=k[b>>2]|0;r=y;return x|0}}return 0}function qM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+36|0;e=s+32|0;f=s+28|0;p=s+24|0;g=s+20|0;h=s+16|0;n=s+12|0;o=s+8|0;q=s+4|0;j=s;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=s;return}k[p>>2]=k[(k[d>>2]|0)+52>>2];k[g>>2]=k[(k[d>>2]|0)+56>>2];k[h>>2]=k[(k[e>>2]|0)+56>>2];k[n>>2]=l[(k[d>>2]|0)+5>>0];k[o>>2]=(k[(k[e>>2]|0)+84>>2]|0)==1?100:0;k[j>>2]=l[(k[g>>2]|0)+((k[n>>2]|0)+5)>>0]<<8|l[(k[g>>2]|0)+((k[n>>2]|0)+5)+1>>0];bS((k[h>>2]|0)+(k[j>>2]|0)|0,(k[g>>2]|0)+(k[j>>2]|0)|0,(k[(k[p>>2]|0)+36>>2]|0)-(k[j>>2]|0)|0)|0;bS((k[h>>2]|0)+(k[o>>2]|0)|0,(k[g>>2]|0)+(k[n>>2]|0)|0,(m[(k[d>>2]|0)+14>>1]|0)+(m[(k[d>>2]|0)+18>>1]<<1)|0)|0;i[k[e>>2]>>0]=0;b=eu(k[e>>2]|0)|0;k[q>>2]=b;if(k[q>>2]|0){k[k[f>>2]>>2]=k[q>>2];r=s;return}if(!(i[(k[p>>2]|0)+17>>0]|0)){r=s;return}q=nK(k[e>>2]|0)|0;k[k[f>>2]>>2]=q;r=s;return}function rM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+208>>2]|0}function sM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=r;r=r+64|0;e=w+56|0;f=w+52|0;x=w+48|0;y=w+44|0;g=w+40|0;h=w+36|0;p=w+32|0;s=w+28|0;n=w+24|0;i=w+20|0;j=w+16|0;q=w+12|0;u=w+8|0;o=w+4|0;t=w;k[f>>2]=a;k[x>>2]=b;k[y>>2]=c;k[g>>2]=d;k[h>>2]=k[(k[f>>2]|0)+56>>2];k[p>>2]=(k[h>>2]|0)+(k[(k[(k[f>>2]|0)+52>>2]|0)+36>>2]|0);k[s>>2]=(k[h>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8+(l[(k[f>>2]|0)+6>>0]|0));k[n>>2]=0;k[j>>2]=(k[x>>2]|0)+(k[y>>2]|0);k[q>>2]=0;k[u>>2]=0;k[i>>2]=k[x>>2];while(1){if((k[i>>2]|0)>=(k[j>>2]|0))break;k[o>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+(k[i>>2]<<2)>>2];if((k[o>>2]|0)>>>0>=(k[s>>2]|0)>>>0?(k[o>>2]|0)>>>0<(k[p>>2]|0)>>>0:0){k[t>>2]=m[(k[(k[g>>2]|0)+12>>2]|0)+(k[i>>2]<<1)>>1];if((k[q>>2]|0)!=((k[o>>2]|0)+(k[t>>2]|0)|0)){if(k[q>>2]|0)xM(k[f>>2]|0,(k[q>>2]|0)-(k[h>>2]|0)&65535,k[u>>2]&65535)|0;k[q>>2]=k[o>>2];k[u>>2]=k[t>>2];if(((k[q>>2]|0)+(k[t>>2]|0)|0)>>>0>(k[p>>2]|0)>>>0){v=9;break}}else{k[q>>2]=k[o>>2];k[u>>2]=(k[u>>2]|0)+(k[t>>2]|0)}k[n>>2]=(k[n>>2]|0)+1}k[i>>2]=(k[i>>2]|0)+1}if((v|0)==9){k[e>>2]=0;y=k[e>>2]|0;r=w;return y|0}if(k[q>>2]|0)xM(k[f>>2]|0,(k[q>>2]|0)-(k[h>>2]|0)&65535,k[u>>2]&65535)|0;k[e>>2]=k[n>>2];y=k[e>>2]|0;r=w;return y|0}function tM(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+64|0;h=y+56|0;j=y+52|0;m=y+48|0;n=y+44|0;o=y+40|0;z=y+36|0;A=y+32|0;p=y+28|0;s=y+24|0;q=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[z>>2]=e;k[A>>2]=f;k[p>>2]=g;k[q>>2]=k[(k[j>>2]|0)+56>>2];k[u>>2]=k[k[n>>2]>>2];k[t>>2]=(k[z>>2]|0)+(k[A>>2]|0);k[s>>2]=k[z>>2];while(1){if((k[s>>2]|0)>=(k[t>>2]|0)){e=10;break}A=(mM(k[p>>2]|0,k[s>>2]|0)|0)&65535;k[x>>2]=A;if((l[(k[q>>2]|0)+1>>0]|0|0)==0?(l[(k[q>>2]|0)+2>>0]|0|0)==0:0)e=6;else e=5;if((e|0)==5?(e=0,A=wM(k[j>>2]|0,k[x>>2]|0,w)|0,k[v>>2]=A,(A|0)==0):0)e=6;if((e|0)==6){if(((k[u>>2]|0)-(k[m>>2]|0)|0)<(k[x>>2]|0)){e=7;break}k[u>>2]=(k[u>>2]|0)+(0-(k[x>>2]|0));k[v>>2]=k[u>>2]}cS(k[v>>2]|0,k[(k[(k[p>>2]|0)+8>>2]|0)+(k[s>>2]<<2)>>2]|0,k[x>>2]|0)|0;i[k[o>>2]>>0]=(k[v>>2]|0)-(k[q>>2]|0)>>8;i[(k[o>>2]|0)+1>>0]=(k[v>>2]|0)-(k[q>>2]|0);k[o>>2]=(k[o>>2]|0)+2;k[s>>2]=(k[s>>2]|0)+1}if((e|0)==7){k[h>>2]=1;A=k[h>>2]|0;r=y;return A|0}else if((e|0)==10){k[k[n>>2]>>2]=k[u>>2];k[h>>2]=0;A=k[h>>2]|0;r=y;return A|0}return 0}function uM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){if((k[f>>2]|0)<=0)break;if(!(m[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0)){a=gc[k[(k[(k[d>>2]|0)+4>>2]|0)+76>>2]&255](k[(k[d>>2]|0)+4>>2]|0,k[(k[(k[d>>2]|0)+8>>2]|0)+(k[e>>2]<<2)>>2]|0)|0;j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]=a}k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+-1}r=g;return}function vM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+64|0;q=x+52|0;s=x+48|0;t=x+44|0;e=x+40|0;f=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;o=x+20|0;g=x+16|0;n=x+12|0;p=x+8|0;w=x+4|0;h=x;k[s>>2]=a;k[t>>2]=b;k[e>>2]=c;k[f>>2]=d;k[v>>2]=l[(k[s>>2]|0)+5>>0];k[u>>2]=k[(k[s>>2]|0)+56>>2];k[y>>2]=k[(k[(k[s>>2]|0)+52>>2]|0)+36>>2];k[o>>2]=(k[u>>2]|0)+(k[y>>2]|0);k[n>>2]=k[(k[s>>2]|0)+64>>2];d=rM(k[k[(k[s>>2]|0)+52>>2]>>2]|0)|0;k[p>>2]=d;k[g>>2]=(l[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]|0)<<8|(l[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]|0);bS((k[p>>2]|0)+(k[g>>2]|0)|0,(k[u>>2]|0)+(k[g>>2]|0)|0,(k[y>>2]|0)-(k[g>>2]|0)|0)|0;k[w>>2]=k[o>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[t>>2]|0)){e=9;break}k[h>>2]=k[(k[e>>2]|0)+(k[g>>2]<<2)>>2];if((k[h>>2]|0)>>>0>=(k[u>>2]|0)>>>0?(k[h>>2]|0)>>>0<(k[o>>2]|0)>>>0:0)k[h>>2]=(k[p>>2]|0)+((k[h>>2]|0)-(k[u>>2]|0));k[w>>2]=(k[w>>2]|0)+(0-(m[(k[f>>2]|0)+(k[g>>2]<<1)>>1]|0));i[k[n>>2]>>0]=(k[w>>2]|0)-(k[u>>2]|0)>>8;i[(k[n>>2]|0)+1>>0]=(k[w>>2]|0)-(k[u>>2]|0);k[n>>2]=(k[n>>2]|0)+2;if((k[w>>2]|0)>>>0<(k[n>>2]|0)>>>0){e=7;break}bS(k[w>>2]|0,k[h>>2]|0,m[(k[f>>2]|0)+(k[g>>2]<<1)>>1]|0|0)|0;k[g>>2]=(k[g>>2]|0)+1}if((e|0)==7){y=_j(64716)|0;k[q>>2]=y;y=k[q>>2]|0;r=x;return y|0}else if((e|0)==9){j[(k[s>>2]|0)+18>>1]=k[t>>2];i[(k[s>>2]|0)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+1)>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+1)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+3)>>0]=(m[(k[s>>2]|0)+18>>1]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+3)+1>>0]=j[(k[s>>2]|0)+18>>1];i[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]=(k[w>>2]|0)-(k[u>>2]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]=(k[w>>2]|0)-(k[u>>2]|0);i[(k[u>>2]|0)+((k[v>>2]|0)+7)>>0]=0;k[q>>2]=0;y=k[q>>2]|0;r=x;return y|0}return 0}function wM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+40|0;f=t+36|0;d=t+32|0;g=t+28|0;j=t+24|0;h=t+20|0;n=t+16|0;o=t+12|0;s=t+8|0;q=t+4|0;p=t;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;k[j>>2]=l[(k[f>>2]|0)+5>>0];k[h>>2]=k[(k[f>>2]|0)+56>>2];k[n>>2]=(k[j>>2]|0)+1;k[o>>2]=(l[(k[h>>2]|0)+(k[n>>2]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(k[n>>2]|0)+1>>0]|0);k[q>>2]=k[(k[(k[f>>2]|0)+52>>2]|0)+36>>2];while(1){if((k[o>>2]|0)>((k[q>>2]|0)-4|0)){b=4;break}if((k[o>>2]|0)<((k[n>>2]|0)+4|0)){b=4;break}k[p>>2]=(l[(k[h>>2]|0)+((k[o>>2]|0)+2)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[o>>2]|0)+2)+1>>0]|0);c=(k[p>>2]|0)-(k[d>>2]|0)|0;k[s>>2]=c;a=k[o>>2]|0;if((c|0)>=0){b=6;break}k[n>>2]=a;k[o>>2]=(l[(k[h>>2]|0)+(k[o>>2]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(k[o>>2]|0)+1>>0]|0);if(!(k[o>>2]|0)){b=16;break}}if((b|0)==4){s=_j(59680)|0;k[k[g>>2]>>2]=s;k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else if((b|0)==6){if((a|0)>=((m[(k[f>>2]|0)+14>>1]|0)+((m[(k[f>>2]|0)+18>>1]|0)<<1)|0)?((k[p>>2]|0)+(k[o>>2]|0)|0)<=(k[q>>2]|0):0){do if((k[s>>2]|0)<4){if((l[(k[h>>2]|0)+((k[j>>2]|0)+7)>>0]|0|0)<=57){q=(k[h>>2]|0)+(k[n>>2]|0)|0;p=(k[h>>2]|0)+(k[o>>2]|0)|0;i[q>>0]=i[p>>0]|0;i[q+1>>0]=i[p+1>>0]|0;q=(k[h>>2]|0)+((k[j>>2]|0)+7)|0;i[q>>0]=(l[q>>0]|0)+(k[s>>2]&255);break}k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else{i[(k[h>>2]|0)+((k[o>>2]|0)+2)>>0]=k[s>>2]>>8;i[(k[h>>2]|0)+((k[o>>2]|0)+2)+1>>0]=k[s>>2]}while(0);k[e>>2]=(k[h>>2]|0)+((k[o>>2]|0)+(k[s>>2]|0));s=k[e>>2]|0;r=t;return s|0}s=_j(59691)|0;k[k[g>>2]>>2]=s;k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else if((b|0)==16){k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}return 0}function xM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+48|0;d=y+20|0;e=y+16|0;f=y+32|0;g=y+30|0;u=y+28|0;q=y+26|0;o=y+35|0;w=y+34|0;t=y+24|0;s=y+12|0;p=y+8|0;n=y+4|0;v=y;k[e>>2]=a;j[f>>1]=b;j[g>>1]=c;i[w>>0]=0;j[t>>1]=j[g>>1]|0;k[s>>2]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)-4;k[p>>2]=(m[f>>1]|0)+(m[g>>1]|0);k[n>>2]=k[(k[e>>2]|0)+56>>2];if((m[(k[(k[e>>2]|0)+52>>2]|0)+22>>1]|0)&4)dS((k[n>>2]|0)+(m[f>>1]|0)|0,0,m[g>>1]|0|0)|0;i[o>>0]=i[(k[e>>2]|0)+5>>0]|0;j[u>>1]=(l[o>>0]|0)+1;if((l[(k[n>>2]|0)+((m[u>>1]|0)+1)>>0]|0|0)==0?(l[(k[n>>2]|0)+(m[u>>1]|0)>>0]|0|0)==0:0)j[q>>1]=0;else x=6;do if((x|0)==6){while(1){x=0;a=((l[(k[n>>2]|0)+(m[u>>1]|0)>>0]|0)<<8|(l[(k[n>>2]|0)+(m[u>>1]|0)+1>>0]|0))&65535;j[q>>1]=a;if((a&65535|0)>=(m[f>>1]|0|0))break;h=j[q>>1]|0;if((m[q>>1]|0|0)<((m[u>>1]|0)+4|0)){x=8;break}j[u>>1]=h;x=6}if((x|0)==8?(h&65535|0)!=0:0){x=_j(59854)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}if((m[q>>1]|0)>>>0>(k[s>>2]|0)>>>0){x=_j(59858)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}do if((m[q>>1]|0|0)!=0?((k[p>>2]|0)+3|0)>>>0>=(m[q>>1]|0)>>>0:0){i[w>>0]=(m[q>>1]|0)-(k[p>>2]|0);if((k[p>>2]|0)>>>0>(m[q>>1]|0)>>>0){x=_j(59869)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}k[p>>2]=(m[q>>1]|0)+((l[(k[n>>2]|0)+((m[q>>1]|0)+2)>>0]|0)<<8|(l[(k[n>>2]|0)+((m[q>>1]|0)+2)+1>>0]|0));if((k[p>>2]|0)>>>0<=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){j[g>>1]=(k[p>>2]|0)-(m[f>>1]|0);j[q>>1]=(l[(k[n>>2]|0)+(m[q>>1]|0)>>0]|0)<<8|(l[(k[n>>2]|0)+(m[q>>1]|0)+1>>0]|0);break}x=_j(59871)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}while(0);do if((m[u>>1]|0|0)>((l[o>>0]|0)+1|0)?(k[v>>2]=(m[u>>1]|0)+((l[(k[n>>2]|0)+((m[u>>1]|0)+2)>>0]|0)<<8|(l[(k[n>>2]|0)+((m[u>>1]|0)+2)+1>>0]|0)),((k[v>>2]|0)+3|0)>=(m[f>>1]|0|0)):0){if((k[v>>2]|0)<=(m[f>>1]|0|0)){i[w>>0]=(l[w>>0]|0)+((m[f>>1]|0)-(k[v>>2]|0));j[g>>1]=(k[p>>2]|0)-(m[u>>1]|0);j[f>>1]=j[u>>1]|0;break}x=_j(59883)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}while(0);if((l[w>>0]|0|0)<=(l[(k[n>>2]|0)+((l[o>>0]|0)+7)>>0]|0|0)){x=(k[n>>2]|0)+((l[o>>0]|0)+7)|0;i[x>>0]=(l[x>>0]|0)-(l[w>>0]|0);break}x=_j(59889)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}while(0);do if((m[f>>1]|0|0)==((l[(k[n>>2]|0)+((l[o>>0]|0)+5)>>0]|0)<<8|(l[(k[n>>2]|0)+((l[o>>0]|0)+5)+1>>0]|0)|0)){if((m[u>>1]|0|0)==((l[o>>0]|0)+1|0)){i[(k[n>>2]|0)+((l[o>>0]|0)+1)>>0]=(m[q>>1]|0)>>8;i[(k[n>>2]|0)+((l[o>>0]|0)+1)+1>>0]=j[q>>1];i[(k[n>>2]|0)+((l[o>>0]|0)+5)>>0]=(k[p>>2]|0)>>>8;i[(k[n>>2]|0)+((l[o>>0]|0)+5)+1>>0]=k[p>>2];break}x=_j(59896)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}else{i[(k[n>>2]|0)+(m[u>>1]|0)>>0]=(m[f>>1]|0)>>8;i[(k[n>>2]|0)+(m[u>>1]|0)+1>>0]=j[f>>1];i[(k[n>>2]|0)+(m[f>>1]|0)>>0]=(m[q>>1]|0)>>8;i[(k[n>>2]|0)+(m[f>>1]|0)+1>>0]=j[q>>1];i[(k[n>>2]|0)+((m[f>>1]|0)+2)>>0]=(m[g>>1]|0)>>8;i[(k[n>>2]|0)+((m[f>>1]|0)+2)+1>>0]=j[g>>1]}while(0);x=(k[e>>2]|0)+16|0;j[x>>1]=(m[x>>1]|0)+(m[t>>1]|0);k[d>>2]=0;x=k[d>>2]|0;r=y;return x|0}function yM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;a=gc[k[(k[(k[d>>2]|0)+4>>2]|0)+76>>2]&255](k[(k[d>>2]|0)+4>>2]|0,k[(k[(k[d>>2]|0)+8>>2]|0)+(k[c>>2]<<2)>>2]|0)|0;j[(k[(k[d>>2]|0)+12>>2]|0)+(k[c>>2]<<1)>>1]=a;r=e;return j[(k[(k[d>>2]|0)+12>>2]|0)+(k[c>>2]<<1)>>1]|0}function zM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;d=t+36|0;e=t+32|0;f=t+28|0;g=t+24|0;n=t+20|0;h=t+16|0;q=t+12|0;p=t+8|0;j=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[n>>2]=l[(k[e>>2]|0)+5>>0];k[h>>2]=k[(k[e>>2]|0)+56>>2];k[p>>2]=0;k[j>>2]=(m[(k[e>>2]|0)+14>>1]|0)+((m[(k[e>>2]|0)+18>>1]|0)<<1);k[q>>2]=(l[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]|0);do if((k[j>>2]|0)>(k[q>>2]|0)){if((k[q>>2]|0)==0?(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){k[q>>2]=65536;break}s=_j(59758)|0;k[d>>2]=s;s=k[d>>2]|0;r=t;return s|0}while(0);if(!((l[(k[h>>2]|0)+((k[n>>2]|0)+2)>>0]|0|0)==0?(l[(k[h>>2]|0)+((k[n>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((k[j>>2]|0)+2|0)<=(k[q>>2]|0):0){s=wM(k[e>>2]|0,k[f>>2]|0,p)|0;k[o>>2]=s;if(k[o>>2]|0){k[k[g>>2]>>2]=(k[o>>2]|0)-(k[h>>2]|0);k[d>>2]=0;s=k[d>>2]|0;r=t;return s|0}if(k[p>>2]|0){k[d>>2]=k[p>>2];s=k[d>>2]|0;r=t;return s|0}}do if(((k[j>>2]|0)+2+(k[f>>2]|0)|0)>(k[q>>2]|0)){s=pM(k[e>>2]|0)|0;k[p>>2]=s;if(!(k[p>>2]|0)){k[q>>2]=(((l[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}k[d>>2]=k[p>>2];s=k[d>>2]|0;r=t;return s|0}while(0);k[q>>2]=(k[q>>2]|0)-(k[f>>2]|0);i[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]=k[q>>2]>>8;i[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]=k[q>>2];k[k[g>>2]>>2]=k[q>>2];k[d>>2]=0;s=k[d>>2]|0;r=t;return s|0}function AM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;B=E+76|0;f=E+72|0;g=E+68|0;e=E+64|0;h=E+60|0;q=E+56|0;x=E+52|0;s=E+48|0;o=E+44|0;D=E+40|0;A=E+36|0;u=E+32|0;C=E+28|0;w=E+24|0;v=E+20|0;t=E+16|0;y=E+12|0;p=E+8|0;n=E+4|0;z=E;j=E+80|0;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[h>>2]=d;k[u>>2]=0;k[C>>2]=0;k[t>>2]=k[(k[f>>2]|0)+52>>2];k[y>>2]=0;k[p>>2]=l[(k[f>>2]|0)+6>>0];b=k[e>>2]|0;if(i[(k[f>>2]|0)+2>>0]|0){k[q>>2]=(k[b+20>>2]|0)+(k[(k[e>>2]|0)+24>>2]|0);k[x>>2]=k[(k[e>>2]|0)+16>>2];k[s>>2]=k[(k[e>>2]|0)+20>>2];if((k[q>>2]|0)>>>0<128){i[(k[g>>2]|0)+(k[p>>2]|0)>>0]=k[q>>2];b=1}else{b=k[q>>2]|0;b=aJ((k[g>>2]|0)+(k[p>>2]|0)|0,b,((b|0)<0)<<31>>31)|0}k[p>>2]=(k[p>>2]|0)+(b&255);e=(k[e>>2]|0)+8|0;e=aJ((k[g>>2]|0)+(k[p>>2]|0)|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[p>>2]=(k[p>>2]|0)+e}else{d=k[b+8>>2]|0;k[q>>2]=d;k[s>>2]=d;k[x>>2]=k[k[e>>2]>>2];if((k[q>>2]|0)>>>0<128){i[(k[g>>2]|0)+(k[p>>2]|0)>>0]=k[q>>2];b=1}else{b=k[q>>2]|0;b=aJ((k[g>>2]|0)+(k[p>>2]|0)|0,b,((b|0)<0)<<31>>31)|0}k[p>>2]=(k[p>>2]|0)+(b&255)}if((k[q>>2]|0)<=(m[(k[f>>2]|0)+10>>1]|0)){n=(k[p>>2]|0)+(k[q>>2]|0)|0;k[o>>2]=n;k[o>>2]=(k[o>>2]|0)<4?4:n;k[k[h>>2]>>2]=k[o>>2];k[A>>2]=k[q>>2];k[w>>2]=k[g>>2]}else{k[n>>2]=m[(k[f>>2]|0)+12>>1];k[o>>2]=(k[n>>2]|0)+((((k[q>>2]|0)-(k[n>>2]|0)|0)>>>0)%(((k[(k[(k[f>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[o>>2]|0)>(m[(k[f>>2]|0)+10>>1]|0))k[o>>2]=k[n>>2];k[A>>2]=k[o>>2];k[k[h>>2]>>2]=(k[o>>2]|0)+(k[p>>2]|0)+4;k[w>>2]=(k[g>>2]|0)+((k[p>>2]|0)+(k[o>>2]|0))}k[v>>2]=(k[g>>2]|0)+(k[p>>2]|0);while(1){if((k[q>>2]|0)<=0){b=35;break}if(!(k[A>>2]|0)){k[z>>2]=k[y>>2];if(i[(k[t>>2]|0)+17>>0]|0)while(1){k[y>>2]=(k[y>>2]|0)+1;p=dG(k[t>>2]|0,k[y>>2]|0)|0;if((p|0)==(k[y>>2]|0))continue;if((k[y>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[t>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}p=kK(k[t>>2]|0,u,y,k[y>>2]|0,0)|0;k[D>>2]=p;if(((k[D>>2]|0)==0?(l[(k[t>>2]|0)+17>>0]|0)!=0:0)?(i[j>>0]=(k[z>>2]|0)!=0?4:3,oK(k[t>>2]|0,k[y>>2]|0,i[j>>0]|0,k[z>>2]|0,D),(k[D>>2]|0)!=0):0)_B(k[u>>2]|0);if(k[D>>2]|0){b=25;break}pt(k[w>>2]|0,k[y>>2]|0);_B(k[C>>2]|0);k[C>>2]=k[u>>2];k[w>>2]=k[(k[u>>2]|0)+56>>2];pt(k[w>>2]|0,0);k[v>>2]=(k[(k[u>>2]|0)+56>>2]|0)+4;k[A>>2]=(k[(k[t>>2]|0)+36>>2]|0)-4}k[o>>2]=k[q>>2];if((k[o>>2]|0)>(k[A>>2]|0))k[o>>2]=k[A>>2];if((k[s>>2]|0)>0){if((k[o>>2]|0)>(k[s>>2]|0))k[o>>2]=k[s>>2];bS(k[v>>2]|0,k[x>>2]|0,k[o>>2]|0)|0}else dS(k[v>>2]|0,0,k[o>>2]|0)|0;k[q>>2]=(k[q>>2]|0)-(k[o>>2]|0);k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[x>>2]=(k[x>>2]|0)+(k[o>>2]|0);k[s>>2]=(k[s>>2]|0)-(k[o>>2]|0);k[A>>2]=(k[A>>2]|0)-(k[o>>2]|0)}if((b|0)==25){_B(k[C>>2]|0);k[B>>2]=k[D>>2];D=k[B>>2]|0;r=E;return D|0}else if((b|0)==35){_B(k[C>>2]|0);k[B>>2]=0;D=k[B>>2]|0;r=E;return D|0}return 0}function BM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[e>>2]|0)){r=f;return}HJ(k[c>>2]|0,k[e>>2]|0);Ud(k[(k[e>>2]|0)+36+4>>2]|0);bg(k[c>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+16>>2]=0;r=f;return}function CM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;d=u+44|0;e=u+40|0;f=u+36|0;g=u+32|0;m=u+28|0;o=u+24|0;q=u+20|0;t=u+16|0;s=u+12|0;p=u+8|0;n=u+4|0;h=u+48|0;j=u;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=k[(k[e>>2]|0)+4>>2];c=k[m>>2]|0;if(i[(k[m>>2]|0)+17>>0]|0){iK(c);Bg(k[e>>2]|0,4,q);k[q>>2]=(k[q>>2]|0)+1;while(1){b=k[q>>2]|0;if((b|0)!=(dG(k[m>>2]|0,k[q>>2]|0)|0)?(k[q>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;k[q>>2]=(k[q>>2]|0)+1}b=kK(k[m>>2]|0,n,p,k[q>>2]|0,1)|0;k[t>>2]=b;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}if((k[p>>2]|0)!=(k[q>>2]|0)){i[h>>0]=0;k[j>>2]=0;b=fI(k[m>>2]|0,0,0)|0;k[t>>2]=b;_B(k[n>>2]|0);if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}n=fG(k[m>>2]|0,k[q>>2]|0,o,0)|0;k[t>>2]=n;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}n=eG(k[m>>2]|0,k[q>>2]|0,h,j)|0;k[t>>2]=n;if(!((l[h>>0]|0)!=1?(l[h>>0]|0)!=2:0)){n=_j(66598)|0;k[t>>2]=n}if(k[t>>2]|0){_B(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=lK(k[m>>2]|0,k[o>>2]|0,i[h>>0]|0,k[j>>2]|0,k[p>>2]|0,0)|0;k[t>>2]=p;_B(k[o>>2]|0);if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=fG(k[m>>2]|0,k[q>>2]|0,o,0)|0;k[t>>2]=p;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=Qg(k[(k[o>>2]|0)+72>>2]|0)|0;k[t>>2]=p;if(k[t>>2]|0){_B(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}else k[o>>2]=k[n>>2];oK(k[m>>2]|0,k[q>>2]|0,1,0,t);if(k[t>>2]|0){_B(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=Lg(k[e>>2]|0,4,k[q>>2]|0)|0;k[t>>2]=p;if(k[t>>2]|0){_B(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}else{p=kK(c,o,q,1,0)|0;k[t>>2]=p;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}if(k[g>>2]&1)k[s>>2]=13;else k[s>>2]=10;lL(k[o>>2]|0,k[s>>2]|0);Ig(k[(k[o>>2]|0)+72>>2]|0);k[k[f>>2]>>2]=k[q>>2];k[d>>2]=0;t=k[d>>2]|0;r=u;return t|0}function DM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;f=q+28|0;g=q+24|0;h=q+20|0;j=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=k[(k[g>>2]|0)+4>>2];if((k[j>>2]|0)!=0?(EM(k[o>>2]|0),(k[(k[o>>2]|0)+80>>2]|0)==0):0){k[f>>2]=7;c=k[f>>2]|0;r=q;return c|0}if((k[h>>2]|0)==1?(TF(k[o>>2]|0)|0)==0:0)k[h>>2]=0;k[(k[n>>2]|0)+52>>2]=k[h>>2];i[(k[n>>2]|0)+68>>0]=-1;k[(k[n>>2]|0)+72>>2]=k[m>>2];k[k[n>>2]>>2]=k[g>>2];k[(k[n>>2]|0)+4>>2]=k[o>>2];i[(k[n>>2]|0)+64>>0]=(k[j>>2]|0)!=0?1:0;i[(k[n>>2]|0)+65>>0]=(k[j>>2]|0)!=0?0:2;k[p>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[p>>2]|0))break;if((k[(k[p>>2]|0)+52>>2]|0)==(k[h>>2]|0)){c=(k[p>>2]|0)+64|0;i[c>>0]=l[c>>0]|0|32;c=(k[n>>2]|0)+64|0;i[c>>0]=l[c>>0]|0|32}k[p>>2]=k[(k[p>>2]|0)+8>>2]}k[(k[n>>2]|0)+8>>2]=k[(k[o>>2]|0)+8>>2];k[(k[o>>2]|0)+8>>2]=k[n>>2];i[(k[n>>2]|0)+66>>0]=0;k[f>>2]=0;c=k[f>>2]|0;r=q;return c|0}function EM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+80>>2]|0){r=c;return}a=gj(k[(k[b>>2]|0)+32>>2]|0)|0;k[(k[b>>2]|0)+80>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){r=c;return}a=k[(k[b>>2]|0)+80>>2]|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;i[a+5>>0]=0;i[a+6>>0]=0;i[a+7>>0]=0;a=(k[b>>2]|0)+80|0;k[a>>2]=(k[a>>2]|0)+4;r=c;return}function FM(){return 200}function GM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=k[b>>2]|0;b=a+68|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return}function HM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>(k[(k[d>>2]|0)+104>>2]|0)?(l[(k[d>>2]|0)+6>>0]|0|0)!=0:0){a=IM(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=f;return a|0}k[c>>2]=0;a=k[c>>2]|0;r=f;return a|0}function IM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j+24|0;c=j+20|0;d=j+16|0;i=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[i>>2]=0;k[g>>2]=k[(k[c>>2]|0)+104>>2];a=mg(k[(k[c>>2]|0)+100>>2]|0,(k[d>>2]|0)*48|0,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){k[h>>2]=7;i=k[h>>2]|0;r=j;return i|0}dS((k[e>>2]|0)+((k[g>>2]|0)*48|0)|0,0,((k[d>>2]|0)-(k[g>>2]|0)|0)*48|0)|0;k[(k[c>>2]|0)+100>>2]=k[e>>2];k[f>>2]=k[g>>2];while(1){if((k[f>>2]|0)>=(k[d>>2]|0)){c=14;break}k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+20>>2]=k[(k[c>>2]|0)+28>>2];if((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0?(a=(k[c>>2]|0)+80|0,b=k[a+4>>2]|0,(b|0)>0|(b|0)==0&(k[a>>2]|0)>>>0>0):0){g=(k[c>>2]|0)+80|0;b=k[g+4>>2]|0;a=(k[e>>2]|0)+((k[f>>2]|0)*48|0)|0;k[a>>2]=k[g>>2];k[a+4>>2]=b}else{a=(k[e>>2]|0)+((k[f>>2]|0)*48|0)|0;k[a>>2]=k[(k[c>>2]|0)+156>>2];k[a+4>>2]=0}k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+24>>2]=k[(k[c>>2]|0)+56>>2];a=uj(k[(k[c>>2]|0)+28>>2]|0)|0;k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]=a;if(!(k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]|0)){c=10;break}if(Lr(k[c>>2]|0)|0)JM(k[(k[c>>2]|0)+216>>2]|0,(k[e>>2]|0)+((k[f>>2]|0)*48|0)+28|0);k[(k[c>>2]|0)+104>>2]=(k[f>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){k[h>>2]=7;i=k[h>>2]|0;r=j;return i|0}else if((c|0)==14){k[h>>2]=k[i>>2];i=k[h>>2]|0;r=j;return i|0}return 0}function JM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=k[(k[e>>2]|0)+52+16>>2];k[(k[d>>2]|0)+4>>2]=k[(k[e>>2]|0)+52+24>>2];k[(k[d>>2]|0)+8>>2]=k[(k[e>>2]|0)+52+24+4>>2];k[(k[d>>2]|0)+12>>2]=k[(k[e>>2]|0)+112>>2];r=c;return}function KM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;b=h;k[e>>2]=a;if((k[(k[e>>2]|0)+44>>2]|0)>>>0>0){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}k[g>>2]=k[(k[e>>2]|0)+12>>2];k[f>>2]=k[(k[g>>2]|0)+56>>2];c=Qg(k[(k[g>>2]|0)+72>>2]|0)|0;k[b>>2]=c;if(k[b>>2]|0){k[d>>2]=k[b>>2];g=k[d>>2]|0;r=h;return g|0}else{a=k[f>>2]|0;b=41796;c=a+16|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));i[(k[f>>2]|0)+16>>0]=(k[(k[e>>2]|0)+32>>2]|0)>>>8;i[(k[f>>2]|0)+17>>0]=(k[(k[e>>2]|0)+32>>2]|0)>>>16;i[(k[f>>2]|0)+18>>0]=1;i[(k[f>>2]|0)+19>>0]=1;i[(k[f>>2]|0)+20>>0]=(k[(k[e>>2]|0)+32>>2]|0)-(k[(k[e>>2]|0)+36>>2]|0);i[(k[f>>2]|0)+21>>0]=64;i[(k[f>>2]|0)+22>>0]=32;i[(k[f>>2]|0)+23>>0]=32;a=(k[f>>2]|0)+24|0;c=a+76|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(c|0));lL(k[g>>2]|0,13);g=(k[e>>2]|0)+22|0;j[g>>1]=m[g>>1]|0|2;pt((k[f>>2]|0)+52|0,l[(k[e>>2]|0)+17>>0]|0);pt((k[f>>2]|0)+64|0,l[(k[e>>2]|0)+18>>0]|0);k[(k[e>>2]|0)+44>>2]=1;i[(k[f>>2]|0)+31>>0]=1;k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}return 0}function LM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;d=n+24|0;e=n+20|0;f=n;h=n+16|0;j=n+12|0;m=n+8|0;g=n+28|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(0!=0?1:(k[f+4>>2]&-16777216|0)!=0){i[(k[e>>2]|0)+8>>0]=k[f>>2];m=f;m=aS(k[m>>2]|0,k[m+4>>2]|0,8)|0;a=f;k[a>>2]=m;k[a+4>>2]=L;k[h>>2]=7;while(1){if((k[h>>2]|0)<0)break;i[(k[e>>2]|0)+(k[h>>2]|0)>>0]=k[f>>2]&127|128;m=f;m=aS(k[m>>2]|0,k[m+4>>2]|0,7)|0;a=f;k[a>>2]=m;k[a+4>>2]=L;k[h>>2]=(k[h>>2]|0)+-1}k[d>>2]=9;a=k[d>>2]|0;r=n;return a|0}k[m>>2]=0;do{a=(k[f>>2]&127|128)&255;c=k[m>>2]|0;k[m>>2]=c+1;i[g+c>>0]=a;c=f;c=aS(k[c>>2]|0,k[c+4>>2]|0,7)|0;a=f;k[a>>2]=c;k[a+4>>2]=L;a=f}while((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0);i[g>>0]=(l[g>>0]|0)&127;k[h>>2]=0;k[j>>2]=(k[m>>2]|0)-1;while(1){if((k[j>>2]|0)<0)break;i[(k[e>>2]|0)+(k[h>>2]|0)>>0]=i[g+(k[j>>2]|0)>>0]|0;k[j>>2]=(k[j>>2]|0)+-1;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=k[m>>2];a=k[d>>2]|0;r=n;return a|0}function MM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+20|0;g=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;k[m>>2]=e;j[(k[m>>2]|0)+8>>1]=1;e=Xx(k[m>>2]|0,(k[h>>2]|0)+2|0)|0;k[n>>2]=e;if(e){n=k[n>>2]|0;r=o;return n|0}b=k[f>>2]|0;f=k[g>>2]|0;c=k[h>>2]|0;d=k[(k[m>>2]|0)+16>>2]|0;if(k[l>>2]|0){l=mI(b,f,c,d)|0;k[n>>2]=l}else{l=_h(b,f,c,d)|0;k[n>>2]=l}if(!(k[n>>2]|0)){i[(k[(k[m>>2]|0)+16>>2]|0)+(k[h>>2]|0)>>0]=0;i[(k[(k[m>>2]|0)+16>>2]|0)+((k[h>>2]|0)+1)>>0]=0;j[(k[m>>2]|0)+8>>1]=528;k[(k[m>>2]|0)+12>>2]=k[h>>2];n=k[n>>2]|0;r=o;return n|0}else{fh(k[m>>2]|0);n=k[n>>2]|0;r=o;return n|0}return 0}function NM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[(k[(k[c>>2]|0)+120+(i[(k[c>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(k[(k[c>>2]|0)+16+8>>2]|0);if((m[(k[c>>2]|0)+16+16>>1]|0)>>>0<(k[e>>2]|0)>>>0)k[e>>2]=m[(k[c>>2]|0)+16+16>>1];k[k[d>>2]>>2]=k[e>>2];r=f;return k[(k[c>>2]|0)+16+8>>2]|0}function OM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;e=f+4|0;d=f;k[c>>2]=a;a=(k[c>>2]|0)+40|0;a=YF(k[(k[c>>2]|0)+16>>2]|0,0,k[a>>2]|0,k[a+4>>2]|0,0,e)|0;k[d>>2]=a;if(k[d>>2]|0){k[b>>2]=k[d>>2];e=k[b>>2]|0;r=f;return e|0}if(k[e>>2]|0){e=_j(73491)|0;k[b>>2]=e;e=k[b>>2]|0;r=f;return e|0}else{i[(k[c>>2]|0)+3>>0]=0;k[(k[c>>2]|0)+56>>2]=0;k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}return 0}function PM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;c=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=k[(k[e>>2]|0)+12>>2];k[h>>2]=k[(k[f>>2]|0)+12>>2];b=k[e>>2]|0;if(!((m[(k[e>>2]|0)+8>>1]|0|(m[(k[f>>2]|0)+8>>1]|0))&16384)){f=oR(k[b+16>>2]|0,k[(k[f>>2]|0)+16>>2]|0,(k[g>>2]|0)>(k[h>>2]|0)?k[h>>2]|0:k[g>>2]|0)|0;k[c>>2]=f;if(k[c>>2]|0){k[d>>2]=k[c>>2];h=k[d>>2]|0;r=i;return h|0}else{k[d>>2]=(k[g>>2]|0)-(k[h>>2]|0);h=k[d>>2]|0;r=i;return h|0}}a=k[e>>2]|0;if((m[b+8>>1]|0)&(m[(k[f>>2]|0)+8>>1]|0)&16384){k[d>>2]=(k[a>>2]|0)-(k[k[f>>2]>>2]|0);h=k[d>>2]|0;r=i;return h|0}if((m[a+8>>1]|0)&16384)if(rG(k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0){k[d>>2]=(k[k[e>>2]>>2]|0)-(k[h>>2]|0);h=k[d>>2]|0;r=i;return h|0}else{k[d>>2]=-1;h=k[d>>2]|0;r=i;return h|0}else if(rG(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0){k[d>>2]=(k[g>>2]|0)-(k[k[f>>2]>>2]|0);h=k[d>>2]|0;r=i;return h|0}else{k[d>>2]=1;h=k[d>>2]|0;r=i;return h|0}return 0}function QM(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(!(oz(k[(k[c>>2]|0)+16>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0)){j[b>>1]=0;a=j[b>>1]|0;r=d;return a|0}if(!(Wi(k[(k[c>>2]|0)+16>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0)){j[b>>1]=4;a=j[b>>1]|0;r=d;return a|0}else{j[b>>1]=8;a=j[b>>1]|0;r=d;return a|0}return 0}function RM(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(Yx(k[c>>2]|0,(k[(k[c>>2]|0)+12>>2]|0)+2|0,1)|0){k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}else{i[(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[c>>2]|0)+16>>2]|0)+((k[(k[c>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|512;k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function SM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;sh(k[b>>2]|0);j[(k[b>>2]|0)+8>>1]=4;r=c;return k[b>>2]|0}function TM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[c>>2]=a;if(k[(k[c>>2]|0)+184>>2]|0){k[b>>2]=k[(k[c>>2]|0)+184>>2];while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+4>>2]|0))break;k[b>>2]=k[a+4>>2]}JI(a)|0;k[(k[c>>2]|0)+184>>2]=0;k[(k[c>>2]|0)+192>>2]=0}ZM(k[c>>2]|0);if(k[(k[c>>2]|0)+92>>2]|0)YC(k[(k[c>>2]|0)+92>>2]|0,k[(k[c>>2]|0)+24>>2]|0);while(1){a=k[c>>2]|0;if(!(k[(k[c>>2]|0)+188>>2]|0))break;k[d>>2]=k[a+188>>2];k[(k[c>>2]|0)+188>>2]=k[(k[d>>2]|0)+4>>2];_M(k[d>>2]|0)}if(!(k[a+204>>2]|0)){r=e;return}VI(k[k[c>>2]>>2]|0,(k[c>>2]|0)+204|0,-1,0);r=e;return}function UM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=r;r=r+144|0;A=H+32|0;C=H+24|0;B=H+16|0;z=H+8|0;c=H+128|0;d=H+124|0;I=H+120|0;e=H+116|0;h=H+112|0;w=H+108|0;i=H+104|0;m=H+100|0;u=H+96|0;n=H+92|0;o=H+88|0;v=H+84|0;F=H+80|0;E=H+76|0;t=H+72|0;j=H;x=H+68|0;y=H+64|0;g=H+60|0;f=H+56|0;p=H+52|0;D=H+48|0;q=H+44|0;s=H+40|0;k[d>>2]=a;k[I>>2]=b;k[h>>2]=0;k[w>>2]=0;k[i>>2]=0;b=VM(k[d>>2]|0,k[I>>2]|0)|0;k[w>>2]=b;k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[m>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(pi(k[m>>2]|0)|0){k[i>>2]=1;wg(k[m>>2]|0);I=Zf(k[m>>2]|0)|0;k[u>>2]=I;if((l[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+8>>0]|0|0)!=1?(I=41812+(Dg(k[u>>2]|0)|0)|0,(l[I>>0]|0|0)!=0):0)k[h>>2]=(k[h>>2]|0)+1;I=Mt(k[u>>2]|0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}if(k[w>>2]|0){k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}if(((k[i>>2]|0)!=0?(k[(k[d>>2]|0)+204>>2]|0)!=0:0)?(I=bc[k[(k[d>>2]|0)+204>>2]&255](k[(k[d>>2]|0)+200>>2]|0)|0,k[w>>2]=I,(k[w>>2]|0)!=0):0){k[c>>2]=531;I=k[c>>2]|0;r=H;return I|0}I=0==(Tf(Si(k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(I|(k[h>>2]|0)<=1){k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[n>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[n>>2]|0){I=Xg(k[n>>2]|0,0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[o>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[o>>2]|0){I=Wg(k[o>>2]|0,0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}if(!(k[w>>2]|0))WM(k[d>>2]|0)|0}else{k[v>>2]=k[k[d>>2]>>2];k[F>>2]=0;I=Si(k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[E>>2]=I;k[t>>2]=0;I=j;k[I>>2]=0;k[I+4>>2]=0;k[y>>2]=0;I=Tf(k[E>>2]|0)|0;k[g>>2]=I;I=k[d>>2]|0;k[z>>2]=k[E>>2];I=Qh(I,41818,z)|0;k[F>>2]=I;if(!(k[F>>2]|0)){k[c>>2]=7;I=k[c>>2]|0;r=H;return I|0}do{if(k[y>>2]|0){if((k[y>>2]|0)>100){G=35;break}if((k[y>>2]|0)==1){k[C>>2]=k[F>>2];$d(13,41848,C)}}k[y>>2]=(k[y>>2]|0)+1;ae(4,f);I=(k[F>>2]|0)+(k[g>>2]|0)|0;E=k[f>>2]&255;k[A>>2]=(k[f>>2]|0)>>>8&16777215;k[A+4>>2]=E;_d(13,I,41863,A)|0;I=gs(k[v>>2]|0,k[F>>2]|0,0,x)|0;k[w>>2]=I}while((k[w>>2]|0)==0?(k[x>>2]|0)!=0:0);if((G|0)==35){k[B>>2]=k[F>>2];$d(13,41834,B);Hr(k[v>>2]|0,k[F>>2]|0,0)|0}if(!(k[w>>2]|0)){I=IL(k[v>>2]|0,k[F>>2]|0,t,16406,0)|0;k[w>>2]=I}if(k[w>>2]|0){bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[p>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(((pi(k[p>>2]|0)|0)!=0?(I=XM(k[p>>2]|0)|0,k[D>>2]=I,(k[D>>2]|0)!=0):0)?(B=k[t>>2]|0,C=k[D>>2]|0,I=(Tf(k[D>>2]|0)|0)+1|0,E=j,E=Sg(B,C,I,k[E>>2]|0,k[E+4>>2]|0)|0,k[w>>2]=E,E=(Tf(k[D>>2]|0)|0)+1|0,I=j,E=$R(k[I>>2]|0,k[I+4>>2]|0,E|0,((E|0)<0)<<31>>31|0)|0,I=j,k[I>>2]=E,k[I+4>>2]=L,(k[w>>2]|0)!=0):0){G=48;break}k[e>>2]=(k[e>>2]|0)+1}if((G|0)==48){eL(k[t>>2]|0);Hr(k[v>>2]|0,k[F>>2]|0,0)|0;bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}if(0==((ls(k[t>>2]|0)|0)&1024|0)?(I=Fr(k[t>>2]|0,2)|0,k[w>>2]=I,0!=(I|0)):0){eL(k[t>>2]|0);Hr(k[v>>2]|0,k[F>>2]|0,0)|0;bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[q>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[q>>2]|0){I=Xg(k[q>>2]|0,k[F>>2]|0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}eL(k[t>>2]|0);if(k[w>>2]|0){bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}I=Hr(k[v>>2]|0,k[F>>2]|0,1)|0;k[w>>2]=I;bg(k[d>>2]|0,k[F>>2]|0);k[F>>2]=0;if(k[w>>2]|0){k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}gk();k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[s>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[s>>2]|0)Wg(k[s>>2]|0,1)|0;k[e>>2]=(k[e>>2]|0)+1}hk();WM(k[d>>2]|0)|0}k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}function VM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;g=j+24|0;c=j+20|0;d=j+16|0;i=j+12|0;h=j+8|0;f=j+4|0;e=j;k[g>>2]=a;k[c>>2]=b;k[i>>2]=0;k[h>>2]=k[(k[g>>2]|0)+340>>2];k[(k[g>>2]|0)+340>>2]=0;k[d>>2]=0;while(1){if(k[i>>2]|0){c=8;break}if((k[d>>2]|0)>=(k[(k[g>>2]|0)+316>>2]|0)){c=8;break}k[e>>2]=k[(k[(k[h>>2]|0)+(k[d>>2]<<2)>>2]|0)+8>>2];if((k[e>>2]|0)!=0?(b=k[(k[k[e>>2]>>2]|0)+60>>2]|0,k[f>>2]=b,(b|0)!=0):0){b=bc[k[f>>2]&255](k[e>>2]|0)|0;k[i>>2]=b;wJ(k[c>>2]|0,k[e>>2]|0)}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==8){k[(k[g>>2]|0)+340>>2]=k[h>>2];r=j;return k[i>>2]|0}return 0}function WM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Bu(k[c>>2]|0,64);r=b;return 0}function XM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=YM(k[k[(k[c>>2]|0)+4>>2]>>2]|0)|0;r=b;return a|0}function YM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+180>>2]|0}function ZM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[(k[b>>2]|0)+112>>2]|0)){r=e;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+28>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+112>>2]|0)+(k[c>>2]<<2)>>2];if(k[d>>2]|0){oJ(k[b>>2]|0,k[d>>2]|0);k[(k[(k[b>>2]|0)+112>>2]|0)+(k[c>>2]<<2)>>2]=0}k[c>>2]=(k[c>>2]|0)+1}r=e;return}function _M(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[c>>2]=(k[b>>2]|0)+80;k[d>>2]=(k[c>>2]|0)+((k[(k[b>>2]|0)+60>>2]|0)*40|0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[b>>2]|0)+64>>2]|0))break;oJ(k[k[b>>2]>>2]|0,k[(k[d>>2]|0)+(k[e>>2]<<2)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}YC(k[c>>2]|0,k[(k[b>>2]|0)+60>>2]|0);VI(k[k[k[b>>2]>>2]>>2]|0,(k[b>>2]|0)+40|0,-1,0);bg(k[k[k[b>>2]>>2]>>2]|0,k[b>>2]|0);r=f;return}function $M(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[5588+(k[b>>2]<<2)>>2]|0}function aN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=r;r=r+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;u=L+48|0;t=L+40|0;s=L+32|0;A=L+24|0;z=L+16|0;E=L+8|0;q=L;d=L+184|0;e=L+180|0;M=L+176|0;K=L+172|0;J=L+144|0;B=L+140|0;D=L+136|0;C=L+132|0;F=L+128|0;j=L+124|0;n=L+120|0;G=L+116|0;o=L+112|0;g=L+108|0;f=L+104|0;h=L+100|0;k[d>>2]=a;k[e>>2]=b;k[M>>2]=c;k[K>>2]=k[e>>2];ng(J,0,k[e>>2]|0,k[M>>2]|0,0);a:do switch(i[(k[d>>2]|0)+1>>0]|0){case -6:{k[D>>2]=k[(k[d>>2]|0)+16>>2];k[q>>2]=m[(k[D>>2]|0)+6>>1];BA(J,41915,q);k[B>>2]=0;while(1){if((k[B>>2]|0)>=(m[(k[D>>2]|0)+6>>1]|0))break;k[C>>2]=k[(k[D>>2]|0)+20+(k[B>>2]<<2)>>2];if(k[C>>2]|0)d=k[k[C>>2]>>2]|0;else d=18402;k[F>>2]=d;M=(rR(k[F>>2]|0,34834)|0)==0;k[F>>2]=M?41920:d;M=k[F>>2]|0;k[E>>2]=(l[(k[(k[D>>2]|0)+16>>2]|0)+(k[B>>2]|0)>>0]|0)!=0?28264:18402;k[E+4>>2]=M;BA(J,41922,E);k[B>>2]=(k[B>>2]|0)+1}CA(J,34706,1);break}case -4:{k[j>>2]=k[(k[d>>2]|0)+16>>2];k[z>>2]=k[k[j>>2]>>2];BA(J,41928,z);break}case -5:{k[n>>2]=k[(k[d>>2]|0)+16>>2];M=i[k[n>>2]>>0]|0;k[A>>2]=k[(k[n>>2]|0)+20>>2];k[A+4>>2]=M;BA(J,41936,A);break}case -13:{H=k[(k[d>>2]|0)+16>>2]|0;I=k[H+4>>2]|0;M=s;k[M>>2]=k[H>>2];k[M+4>>2]=I;BA(J,28266,s);break}case -14:{k[t>>2]=k[(k[d>>2]|0)+16>>2];BA(J,41943,t);break}case -12:{p[u>>3]=+p[k[(k[d>>2]|0)+16>>2]>>3];BA(J,41946,u);break}case -8:{k[G>>2]=k[(k[d>>2]|0)+16>>2];d=k[G>>2]|0;if(m[(k[G>>2]|0)+8>>1]&2){k[K>>2]=k[d+16>>2];break a}e=k[G>>2]|0;if(m[d+8>>1]&4){G=e;I=k[G+4>>2]|0;M=H;k[M>>2]=k[G>>2];k[M+4>>2]=I;BA(J,28266,H);break a}d=k[G>>2]|0;if(m[e+8>>1]&8){p[I>>3]=+p[d>>3];BA(J,41946,I);break a}if(m[d+8>>1]&1){k[K>>2]=39691;break a}else{k[K>>2]=41952;break a}}case -10:{k[o>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+8>>2];k[v>>2]=k[o>>2];BA(J,41959,v);break}case -15:{k[f>>2]=k[(k[d>>2]|0)+16>>2];k[h>>2]=k[k[f>>2]>>2];k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[w>>2]=k[(k[f>>2]|0)+(k[g>>2]<<2)>>2];BA(J,41967,w);k[g>>2]=(k[g>>2]|0)+1}i[k[e>>2]>>0]=91;CA(J,41971,1);break}case -18:{BA(J,41973,x);break}case -19:{i[k[e>>2]>>0]=0;break}case -20:{k[y>>2]=k[k[(k[d>>2]|0)+16>>2]>>2];BA(J,18391,y);break}default:{k[K>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[K>>2]|0)){k[K>>2]=k[e>>2];i[k[e>>2]>>0]=0}}}while(0);pg(J)|0;r=L;return k[K>>2]|0}function bN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;sh(k[e>>2]|0);b=f;c=k[b+4>>2]|0;a=k[e>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;j[(k[e>>2]|0)+8>>1]=4;r=d;return}function cN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;b=g+4|0;f=g;e=g+10|0;c=g+9|0;d=g+8|0;k[b>>2]=a;k[f>>2]=0;i[e>>0]=0;if((k[(k[b>>2]|0)+12>>2]|0)>1){i[c>>0]=i[k[(k[b>>2]|0)+16>>2]>>0]|0;i[d>>0]=i[(k[(k[b>>2]|0)+16>>2]|0)+1>>0]|0;if((l[c>>0]|0)==254?(l[d>>0]|0)==255:0)i[e>>0]=3;if((l[c>>0]|0)==255?(l[d>>0]|0)==254:0)i[e>>0]=2}if(!(i[e>>0]|0)){f=k[f>>2]|0;r=g;return f|0}a=lh(k[b>>2]|0)|0;k[f>>2]=a;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)-2;cS(k[(k[b>>2]|0)+16>>2]|0,(k[(k[b>>2]|0)+16>>2]|0)+2|0,k[(k[b>>2]|0)+12>>2]|0)|0;i[(k[(k[b>>2]|0)+16>>2]|0)+(k[(k[b>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[b>>2]|0)+16>>2]|0)+((k[(k[b>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[b>>2]|0)+8|0;j[a>>1]=m[a>>1]|512;i[(k[b>>2]|0)+10>>0]=i[e>>0]|0;f=k[f>>2]|0;r=g;return f|0}function dN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d;e=d+4|0;k[c>>2]=a;i[e>>0]=b;if(!(eN(k[c>>2]|0,i[e>>0]|0)|0)){e=0;r=d;return e|0}e=k[(k[c>>2]|0)+12>>2]|0;r=d;return e|0}function eN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;e=f+8|0;k[d>>2]=a;i[e>>0]=b;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&18){a=b+8|0;j[a>>1]=m[a>>1]|0|2;if((l[(k[d>>2]|0)+10>>0]|0|0)!=((l[e>>0]|0)&-9|0))su(k[d>>2]|0,(l[e>>0]|0)&-9)|0;if((((l[e>>0]|0)&8|0)!=0?1==(1&k[(k[d>>2]|0)+16>>2]|0):0)?(lh(k[d>>2]|0)|0)!=0:0){k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}QI(k[d>>2]|0)|0}else Wx(b,i[e>>0]|0,0)|0;if((l[(k[d>>2]|0)+10>>0]|0|0)==((l[e>>0]|0)&-9|0)){k[c>>2]=k[(k[d>>2]|0)+16>>2];e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function fN(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((m[(k[b>>2]|0)+8>>1]|0)&9312)wG(k[b>>2]|0);if(!(k[(k[b>>2]|0)+24>>2]|0)){a=k[b>>2]|0;a=a+16|0;k[a>>2]=0;r=c;return}bg(k[(k[b>>2]|0)+32>>2]|0,k[(k[b>>2]|0)+20>>2]|0);k[(k[b>>2]|0)+24>>2]=0;a=k[b>>2]|0;a=a+16|0;k[a>>2]=0;r=c;return}function gN(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];bg(k[d>>2]|0,k[(k[c>>2]|0)+108>>2]|0);k[(k[c>>2]|0)+108>>2]=0;k[(k[c>>2]|0)+104>>2]=0;r=b;return}function hN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;zi(k[c>>2]|0);vg(k[c>>2]|0,7);r=b;return 7}function iN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;zj(k[(k[c>>2]|0)+60>>2]|0);k[(k[c>>2]|0)+60>>2]=0;r=b;return}function jN(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;e=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];k[e>>2]=k[k[b>>2]>>2];i[(k[c>>2]|0)+19>>0]=0;if((l[(k[b>>2]|0)+8>>0]|0|0)>0?(k[(k[e>>2]|0)+160>>2]|0)>1:0){kN(k[b>>2]|0);i[(k[b>>2]|0)+8>>0]=1;r=d;return}if((l[(k[b>>2]|0)+8>>0]|0|0)!=0?(lN(k[b>>2]|0),e=(k[c>>2]|0)+40|0,k[e>>2]=(k[e>>2]|0)+-1,0==(k[(k[c>>2]|0)+40>>2]|0)):0)i[(k[c>>2]|0)+20>>0]=0;i[(k[b>>2]|0)+8>>0]=0;$B(k[c>>2]|0);r=d;return}function kN(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+4>>2];if((k[(k[b>>2]|0)+76>>2]|0)!=(k[e>>2]|0)){r=d;return}k[(k[b>>2]|0)+76>>2]=0;e=(k[b>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-97;k[c>>2]=k[(k[b>>2]|0)+72>>2];while(1){if(!(k[c>>2]|0))break;i[(k[c>>2]|0)+8>>0]=1;k[c>>2]=k[(k[c>>2]|0)+12>>2]}r=d;return} -function bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;o=x+64|0;w=x+60|0;p=x+56|0;q=x+52|0;u=x+48|0;v=x+44|0;j=x+8|0;s=x+40|0;t=x+36|0;m=x+32|0;n=x+28|0;h=x;d=x+24|0;f=x+20|0;e=x+16|0;k[o>>2]=a;k[w>>2]=b;k[p>>2]=c;if(k[k[p>>2]>>2]|0){r=x;return}k[q>>2]=l[(k[o>>2]|0)+52>>0];i[(k[w>>2]|0)+33>>0]=1;switch(k[k[w>>2]>>2]|0){case 3:case 1:{k[u>>2]=k[(k[w>>2]|0)+12>>2];k[v>>2]=k[(k[w>>2]|0)+16>>2];if(i[(k[u>>2]|0)+34>>0]|0){bn(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0);s=(k[v>>2]|0)+24|0;t=k[s+4>>2]|0;u=(k[w>>2]|0)+24|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;i[(k[w>>2]|0)+32>>0]=i[(k[v>>2]|0)+32>>0]|0;r=x;return}n=(i[(k[v>>2]|0)+34>>0]|0)!=0;bn(k[o>>2]|0,k[u>>2]|0,k[p>>2]|0);if(n){s=(k[u>>2]|0)+24|0;t=k[s+4>>2]|0;v=(k[w>>2]|0)+24|0;k[v>>2]=k[s>>2];k[v+4>>2]=t;i[(k[w>>2]|0)+32>>0]=i[(k[u>>2]|0)+32>>0]|0;r=x;return}bn(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0);while(1){if(i[(k[u>>2]|0)+32>>0]|0)break;if(i[(k[v>>2]|0)+32>>0]|0)break;if(k[k[p>>2]>>2]|0)break;n=(k[q>>2]|0)!=0?-1:1;h=(k[u>>2]|0)+24|0;m=(k[v>>2]|0)+24|0;m=_R(k[h>>2]|0,k[h+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;m=kS(n|0,((n|0)<0)<<31>>31|0,m|0,L|0)|0;n=j;k[n>>2]=m;k[n+4>>2]=L;n=j;if((k[n>>2]|0)==0&(k[n+4>>2]|0)==0)break;a=k[o>>2]|0;if((k[j+4>>2]|0)<0){bn(a,k[u>>2]|0,k[p>>2]|0);continue}else{bn(a,k[v>>2]|0,k[p>>2]|0);continue}}m=(k[u>>2]|0)+24|0;n=k[m+4>>2]|0;q=(k[w>>2]|0)+24|0;k[q>>2]=k[m>>2];k[q+4>>2]=n;if(l[(k[u>>2]|0)+32>>0]|0)a=1;else a=(l[(k[v>>2]|0)+32>>0]|0)!=0;i[(k[w>>2]|0)+32>>0]=a&1;if((k[k[w>>2]>>2]|0)!=1){r=x;return}if(!(l[(k[w>>2]|0)+32>>0]|0)){r=x;return}a:do if((k[(k[v>>2]|0)+20>>2]|0)!=0?(k[k[(k[v>>2]|0)+20>>2]>>2]|0)!=0:0){k[s>>2]=k[(k[v>>2]|0)+20>>2];while(1){if(k[k[p>>2]>>2]|0)break a;if(l[(k[v>>2]|0)+32>>0]|0)break a;dS(k[(k[s>>2]|0)+28>>2]|0,0,k[(k[s>>2]|0)+32>>2]|0)|0;bn(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0)}}while(0);if(!(k[(k[u>>2]|0)+20>>2]|0)){r=x;return}if(!(k[k[(k[u>>2]|0)+20>>2]>>2]|0)){r=x;return}k[t>>2]=k[(k[u>>2]|0)+20>>2];while(1){if(k[k[p>>2]>>2]|0){g=53;break}if(l[(k[u>>2]|0)+32>>0]|0){g=53;break}dS(k[(k[t>>2]|0)+28>>2]|0,0,k[(k[t>>2]|0)+32>>2]|0)|0;bn(k[o>>2]|0,k[u>>2]|0,k[p>>2]|0)}if((g|0)==53){r=x;return}break}case 4:{k[m>>2]=k[(k[w>>2]|0)+12>>2];k[n>>2]=k[(k[w>>2]|0)+16>>2];v=(k[q>>2]|0)!=0?-1:1;t=(k[m>>2]|0)+24|0;u=(k[n>>2]|0)+24|0;u=_R(k[t>>2]|0,k[t+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;u=kS(v|0,((v|0)<0)<<31>>31|0,u|0,L|0)|0;v=h;k[v>>2]=u;k[v+4>>2]=L;do if((l[(k[n>>2]|0)+32>>0]|0)==0?!((k[h+4>>2]|0)<0?(l[(k[m>>2]|0)+32>>0]|0)==0:0):0){if((l[(k[m>>2]|0)+32>>0]|0)==0?(v=h,u=k[v+4>>2]|0,!((l[(k[n>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(k[v>>2]|0)>>>0>0))):0){bn(k[o>>2]|0,k[m>>2]|0,k[p>>2]|0);bn(k[o>>2]|0,k[n>>2]|0,k[p>>2]|0);break}bn(k[o>>2]|0,k[n>>2]|0,k[p>>2]|0)}else g=33;while(0);if((g|0)==33)bn(k[o>>2]|0,k[m>>2]|0,k[p>>2]|0);if(l[(k[m>>2]|0)+32>>0]|0)a=(l[(k[n>>2]|0)+32>>0]|0)!=0;else a=0;i[(k[w>>2]|0)+32>>0]=a&1;v=(k[q>>2]|0)!=0?-1:1;t=(k[m>>2]|0)+24|0;u=(k[n>>2]|0)+24|0;u=_R(k[t>>2]|0,k[t+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;u=kS(v|0,((v|0)<0)<<31>>31|0,u|0,L|0)|0;v=h;k[v>>2]=u;k[v+4>>2]=L;if((l[(k[n>>2]|0)+32>>0]|0)==0?!((k[h+4>>2]|0)<0?(l[(k[m>>2]|0)+32>>0]|0)==0:0):0){u=(k[n>>2]|0)+24|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}u=(k[m>>2]|0)+24|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}case 2:{k[d>>2]=k[(k[w>>2]|0)+12>>2];k[f>>2]=k[(k[w>>2]|0)+16>>2];if(!(l[(k[f>>2]|0)+33>>0]|0))bn(k[o>>2]|0,k[f>>2]|0,k[p>>2]|0);bn(k[o>>2]|0,k[d>>2]|0,k[p>>2]|0);b:do if(!(l[(k[d>>2]|0)+32>>0]|0))while(1){if(k[k[p>>2]>>2]|0)break b;if(i[(k[f>>2]|0)+32>>0]|0)break b;u=(k[q>>2]|0)!=0?-1:1;t=(k[d>>2]|0)+24|0;v=(k[f>>2]|0)+24|0;v=_R(k[t>>2]|0,k[t+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;v=kS(u|0,((u|0)<0)<<31>>31|0,v|0,L|0)|0;u=L;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;bn(k[o>>2]|0,k[f>>2]|0,k[p>>2]|0)}while(0);t=(k[d>>2]|0)+24|0;u=k[t+4>>2]|0;v=(k[w>>2]|0)+24|0;k[v>>2]=k[t>>2];k[v+4>>2]=u;i[(k[w>>2]|0)+32>>0]=i[(k[d>>2]|0)+32>>0]|0;r=x;return}default:{k[e>>2]=k[(k[w>>2]|0)+20>>2];dn(k[e>>2]|0);u=en(k[o>>2]|0,k[e>>2]|0,(k[w>>2]|0)+32|0)|0;k[k[p>>2]>>2]=u;u=(k[e>>2]|0)+16|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}}}function cn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;g=q+32|0;h=q+28|0;j=q+24|0;l=q+20|0;m=q+16|0;n=q+12|0;p=q+8|0;o=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[p>>2]=k[k[l>>2]>>2];if(!(k[p>>2]|0)){k[p>>2]=k[h>>2];o=im(k[p>>2]|0,k[m>>2]|0)|0;k[p>>2]=(k[p>>2]|0)+o;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}nm(0,p);while(1){if((k[p>>2]|0)>>>0<((k[h>>2]|0)+(k[j>>2]|0)|0)>>>0)a=(i[k[p>>2]>>0]|0)==0;else a=0;b=k[p>>2]|0;if(!a)break;k[p>>2]=b+1}if(b>>>0>=((k[h>>2]|0)+(k[j>>2]|0)|0)>>>0){i[k[n>>2]>>0]=1;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}else{j=im(k[p>>2]|0,o)|0;k[p>>2]=(k[p>>2]|0)+j;j=(k[g>>2]|0)!=0?-1:1;n=o;n=kS(j|0,((j|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;o=k[m>>2]|0;m=o;n=$R(k[m>>2]|0,k[m+4>>2]|0,n|0,L|0)|0;k[o>>2]=n;k[o+4>>2]=L;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}}function dn(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+24>>2]|0)Ud(k[(k[b>>2]|0)+28>>2]|0);k[(k[b>>2]|0)+28>>2]=0;k[(k[b>>2]|0)+32>>2]=0;k[(k[b>>2]|0)+24>>2]=0;r=c;return}function en(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;d=i+16|0;e=i+12|0;h=i+8|0;f=i+4|0;g=i;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[h>>2]=0;k[f>>2]=k[d>>2];k[g>>2]=k[k[j>>2]>>2];b=k[j>>2]|0;if(k[(k[d>>2]|0)+40>>2]|0){j=fn(b,k[d>>2]|0,k[e>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}if((l[b+52>>0]|0|0)!=(l[(k[g>>2]|0)+231>>0]|0|0)?(k[(k[f>>2]|0)+4>>2]|0)!=0:0){km(l[(k[g>>2]|0)+231>>0]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(k[f>>2]|0)+8|0,(k[f>>2]|0)+16|0,(k[f>>2]|0)+32|0,k[e>>2]|0);k[(k[f>>2]|0)+28>>2]=k[(k[f>>2]|0)+8>>2];j=k[h>>2]|0;r=i;return j|0}gn(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);j=k[h>>2]|0;r=i;return j|0}function fn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+192|0;e=D+172|0;d=D+168|0;f=D+164|0;g=D+160|0;A=D+156|0;v=D+152|0;z=D+148|0;n=D+176|0;m=D+144|0;h=D+8|0;o=D+140|0;q=D;p=D+136|0;u=D+132|0;s=D+128|0;j=D+124|0;w=D+120|0;y=D+116|0;x=D+112|0;t=D+108|0;B=D+104|0;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;k[A>>2]=0;k[v>>2]=k[f>>2];k[z>>2]=k[k[d>>2]>>2];i[n>>0]=0;if((k[(k[f>>2]|0)+64>>2]|0)==1?(k[(k[f>>2]|0)+40>>2]|0)!=0:0){B=hn(k[z>>2]|0,k[(k[f>>2]|0)+72+20>>2]|0,(k[v>>2]|0)+16|0,(k[v>>2]|0)+28|0,(k[v>>2]|0)+32|0)|0;k[A>>2]=B;if(!(k[(k[v>>2]|0)+28>>2]|0))i[n>>0]=1}else C=5;a:do if((C|0)==5){k[m>>2]=l[(k[d>>2]|0)+52>>0];d=h;b=d+96|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(b|0));while(1){if(l[n>>0]|0)break a;k[o>>2]=0;c=q;k[c>>2]=0;k[c+4>>2]=0;k[p>>2]=0;while(1){if(k[A>>2]|0)break;if((k[p>>2]|0)>=(k[(k[f>>2]|0)+64>>2]|0))break;if(l[n>>0]|0)break;c=jn(k[z>>2]|0,k[f>>2]|0,k[p>>2]|0,h+((k[p>>2]|0)*24|0)|0,n)|0;k[A>>2]=c;do if(!(k[h+((k[p>>2]|0)*24|0)>>2]|0)){if((k[o>>2]|0)!=0?(a=(k[m>>2]|0)!=0?-1:1,b=q,c=h+((k[p>>2]|0)*24|0)+8|0,c=_R(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0,kS(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0,(L|0)>=0):0)break;b=h+((k[p>>2]|0)*24|0)+8|0;a=k[b+4>>2]|0;c=q;k[c>>2]=k[b>>2];k[c+4>>2]=a;k[o>>2]=1}while(0);k[p>>2]=(k[p>>2]|0)+1}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[f>>2]|0)+64>>2]|0))break;while(1){if(k[A>>2]|0)break;if(l[n>>0]|0)break;if(k[h+((k[p>>2]|0)*24|0)>>2]|0)break;a=(k[m>>2]|0)!=0?-1:1;b=h+((k[p>>2]|0)*24|0)+8|0;c=q;c=_R(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;kS(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0;if((L|0)>=0)break;a=jn(k[z>>2]|0,k[f>>2]|0,k[p>>2]|0,h+((k[p>>2]|0)*24|0)|0,n)|0;k[A>>2]=a;a=(k[m>>2]|0)!=0?-1:1;b=h+((k[p>>2]|0)*24|0)+8|0;c=q;c=_R(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;c=kS(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0;a=L;if(!((a|0)>0|(a|0)==0&c>>>0>0))continue;b=h+((k[p>>2]|0)*24|0)+8|0;a=k[b+4>>2]|0;c=q;k[c>>2]=k[b>>2];k[c+4>>2]=a;k[p>>2]=0}k[p>>2]=(k[p>>2]|0)+1}if(l[n>>0]|0)continue;k[u>>2]=0;k[s>>2]=k[h+(((k[(k[f>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c=Sd((k[s>>2]|0)+1|0)|0;k[j>>2]=c;if(!(k[j>>2]|0))break;bS(k[j>>2]|0,k[h+(((k[(k[f>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(k[s>>2]|0)+1|0)|0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=((k[(k[f>>2]|0)+64>>2]|0)-1|0))break;if(!(k[h+((k[p>>2]|0)*24|0)>>2]|0)){k[w>>2]=k[h+((k[p>>2]|0)*24|0)+16>>2];k[y>>2]=k[j>>2];k[x>>2]=k[j>>2];k[t>>2]=(k[(k[f>>2]|0)+64>>2]|0)-1-(k[p>>2]|0);c=kn(x,k[t>>2]|0,0,1,w,y)|0;k[B>>2]=c;if(!(k[B>>2]|0))break;k[u>>2]=(k[x>>2]|0)-(k[j>>2]|0)}k[p>>2]=(k[p>>2]|0)+1}if((k[p>>2]|0)==((k[(k[f>>2]|0)+64>>2]|0)-1|0)){C=35;break}Ud(k[j>>2]|0)}if((C|0)==35){z=q;B=k[z+4>>2]|0;C=(k[v>>2]|0)+16|0;k[C>>2]=k[z>>2];k[C+4>>2]=B;k[(k[v>>2]|0)+28>>2]=k[j>>2];k[(k[v>>2]|0)+32>>2]=k[u>>2];k[(k[v>>2]|0)+24>>2]=1;break}k[e>>2]=7;C=k[e>>2]|0;r=D;return C|0}while(0);i[k[g>>2]>>0]=i[n>>0]|0;k[e>>2]=k[A>>2];C=k[e>>2]|0;r=D;return C|0}function gn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;e=m;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=(k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0);b=k[f>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0)k[j>>2]=k[b+8>>2];else k[j>>2]=k[b>>2];if((k[j>>2]|0)>>>0>=(k[h>>2]|0)>>>0){i[k[g>>2]>>0]=1;r=m;return}c=im(k[j>>2]|0,e)|0;k[j>>2]=(k[j>>2]|0)+c;if((l[(k[d>>2]|0)+231>>0]|0)!=0?(k[(k[f>>2]|0)+8>>2]|0)!=0:0){d=e;e=(k[f>>2]|0)+16|0;c=e;d=_R(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;k[e+4>>2]=L}else{d=e;e=(k[f>>2]|0)+16|0;c=e;d=$R(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;k[e+4>>2]=L}k[(k[f>>2]|0)+28>>2]=k[j>>2];nm(0,j);k[(k[f>>2]|0)+32>>2]=(k[j>>2]|0)-(k[(k[f>>2]|0)+28>>2]|0);while(1){if((k[j>>2]|0)>>>0<(k[h>>2]|0)>>>0)a=(i[k[j>>2]>>0]|0)==0;else a=0;b=k[j>>2]|0;if(!a)break;k[j>>2]=b+1}k[(k[f>>2]|0)+8>>2]=b;i[k[g>>2]>>0]=0;r=m;return}function hn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;o=x+60|0;f=x+56|0;g=x+52|0;p=x+48|0;q=x+44|0;s=x+40|0;j=x+36|0;h=x+32|0;n=x+28|0;m=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;i=x+8|0;t=x;k[f>>2]=a;k[g>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[j>>2]=k[(k[g>>2]|0)+8>>2];k[h>>2]=k[k[g>>2]>>2];k[n>>2]=(l[(k[f>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(k[j>>2]|0)){k[k[q>>2]>>2]=0;k[o>>2]=0;w=k[o>>2]|0;r=x;return w|0}while(1){k[m>>2]=k[k[k[g>>2]>>2]>>2];if(!(k[(k[m>>2]|0)+80>>2]|0)){f=4;break}d=(k[k[h>>2]>>2]|0)+88|0;c=k[d+4>>2]|0;e=t;k[e>>2]=k[d>>2];k[e+4>>2]=c;e=em(k[f>>2]|0,k[k[h>>2]>>2]|0,v,u)|0;k[w>>2]=e;k[i>>2]=1;while(1){if(k[w>>2]|0)break;if((k[i>>2]|0)>=(k[j>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)+80>>2]|0))break;c=(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)+88|0;e=t;if(!((k[c>>2]|0)==(k[e>>2]|0)?(k[c+4>>2]|0)==(k[e+4>>2]|0):0))break;e=em(k[f>>2]|0,k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0,0,0)|0;k[w>>2]=e;k[i>>2]=(k[i>>2]|0)+1}if(k[w>>2]|0){f=12;break}bm(k[k[g>>2]>>2]|0,k[j>>2]|0,k[i>>2]|0,k[n>>2]|0);if((k[u>>2]|0)>0?(k[(k[k[h>>2]>>2]|0)+56>>2]|0)!=0:0){e=cm(k[g>>2]|0,k[v>>2]|0,(k[u>>2]|0)+1|0)|0;k[w>>2]=e;if(k[w>>2]|0){f=16;break}k[v>>2]=k[(k[g>>2]|0)+16>>2]}if((k[(k[g>>2]|0)+24>>2]|0)>=0)fm(k[(k[g>>2]|0)+24>>2]|0,1,v,u);if((k[u>>2]|0)>0){f=21;break}}if((f|0)==4)k[k[q>>2]>>2]=0;else if((f|0)==12){k[o>>2]=k[w>>2];w=k[o>>2]|0;r=x;return w|0}else if((f|0)==16){k[o>>2]=k[w>>2];w=k[o>>2]|0;r=x;return w|0}else if((f|0)==21){k[k[q>>2]>>2]=k[v>>2];v=k[t+4>>2]|0;w=k[p>>2]|0;k[w>>2]=k[t>>2];k[w+4>>2]=v;k[k[s>>2]>>2]=k[u>>2]}k[o>>2]=0;w=k[o>>2]|0;r=x;return w|0}function jn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;n=o+4|0;m=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[n>>2]=0;if((k[(k[g>>2]|0)+44>>2]|0)==(k[h>>2]|0)){gn(k[f>>2]|0,k[g>>2]|0,k[l>>2]|0);k[(k[j>>2]|0)+16>>2]=k[(k[g>>2]|0)+28>>2];k[(k[j>>2]|0)+20>>2]=k[(k[g>>2]|0)+32>>2];a=(k[g>>2]|0)+16|0;m=k[a+4>>2]|0;e=(k[j>>2]|0)+8|0;k[e>>2]=k[a>>2];k[e+4>>2]=m;n=k[n>>2]|0;r=o;return n|0}k[m>>2]=(k[g>>2]|0)+72+((k[h>>2]|0)*24|0);if(!(k[(k[m>>2]|0)+20>>2]|0)){k[k[j>>2]>>2]=1;n=k[n>>2]|0;r=o;return n|0}e=hn(k[f>>2]|0,k[(k[m>>2]|0)+20>>2]|0,(k[j>>2]|0)+8|0,(k[j>>2]|0)+16|0,(k[j>>2]|0)+20|0)|0;k[n>>2]=e;if(k[(k[j>>2]|0)+16>>2]|0){n=k[n>>2]|0;r=o;return n|0}i[k[l>>2]>>0]=1;n=k[n>>2]|0;r=o;return n|0}function kn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;g=C+80|0;h=C+76|0;j=C+72|0;m=C+68|0;n=C+64|0;o=C+60|0;p=C+56|0;x=C+52|0;y=C+48|0;z=C+44|0;q=C+40|0;s=C+36|0;A=C+32|0;v=C+24|0;t=C+16|0;u=C+8|0;w=C;k[h>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[x>>2]=k[k[h>>2]>>2];k[y>>2]=k[k[o>>2]>>2];k[z>>2]=k[k[p>>2]>>2];k[q>>2]=0;k[s>>2]=0;if((i[k[y>>2]>>0]|0)==1){k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=jm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d}if((i[k[z>>2]>>0]|0)==1){k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=jm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d}while(1){if((k[q>>2]|0)!=(k[s>>2]|0))if((k[q>>2]|0)<(k[s>>2]|0)){hm(0,y);if(!(i[k[y>>2]>>0]|0))break;k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=jm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d;continue}else{hm(0,z);if(!(i[k[z>>2]>>0]|0))break;k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=jm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d;continue}k[A>>2]=k[x>>2];f=v;k[f>>2]=0;k[f+4>>2]=0;f=t;k[f>>2]=0;k[f+4>>2]=0;f=u;k[f>>2]=0;k[f+4>>2]=0;if(k[q>>2]|0){f=k[x>>2]|0;k[x>>2]=f+1;i[f>>0]=1;f=k[q>>2]|0;f=Ul(k[x>>2]|0,f,((f|0)<0)<<31>>31)|0;k[x>>2]=(k[x>>2]|0)+f}ln(y,t);f=t;f=_R(k[f>>2]|0,k[f+4>>2]|0,2,0)|0;e=t;k[e>>2]=f;k[e+4>>2]=L;ln(z,u);e=u;e=_R(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=u;k[f>>2]=e;k[f+4>>2]=L;while(1){f=u;a=k[f>>2]|0;f=k[f+4>>2]|0;b=t;e=k[j>>2]|0;e=$R(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;if(!((a|0)==(e|0)&(f|0)==(L|0))){if(((k[n>>2]|0)==0?(e=u,b=k[e+4>>2]|0,f=t,a=k[f+4>>2]|0,(b|0)>(a|0)|((b|0)==(a|0)?(k[e>>2]|0)>>>0>(k[f>>2]|0)>>>0:0)):0)?(b=u,e=k[b>>2]|0,b=k[b+4>>2]|0,a=t,f=k[j>>2]|0,f=$R(k[a>>2]|0,k[a+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,a=L,(b|0)<(a|0)|(b|0)==(a|0)&e>>>0<=f>>>0):0)B=19}else B=19;if((B|0)==19){B=0;c=(k[m>>2]|0)!=0;b=t;a=u;f=c?k[b+4>>2]|0:k[a+4>>2]|0;e=w;k[e>>2]=c?k[b>>2]|0:k[a>>2]|0;k[e+4>>2]=f;e=w;e=$R(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;mn(x,v,e,L);e=v;e=_R(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=v;k[f>>2]=e;k[f+4>>2]=L;k[A>>2]=0}if(!((k[m>>2]|0)==0?(b=u,e=k[b>>2]|0,b=k[b+4>>2]|0,a=t,f=k[j>>2]|0,f=$R(k[a>>2]|0,k[a+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,a=L,(b|0)<(a|0)|(b|0)==(a|0)&e>>>0<=f>>>0):0))B=22;if((B|0)==22?(B=0,e=u,b=k[e+4>>2]|0,f=t,a=k[f+4>>2]|0,!((b|0)<(a|0)|((b|0)==(a|0)?(k[e>>2]|0)>>>0<=(k[f>>2]|0)>>>0:0))):0){if(!(i[k[y>>2]>>0]&254))break;ln(y,t);e=t;e=_R(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=t;k[f>>2]=e;k[f+4>>2]=L;continue}if(!(i[k[z>>2]>>0]&254))break;ln(z,u);e=u;e=_R(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=u;k[f>>2]=e;k[f+4>>2]=L}if(k[A>>2]|0)k[x>>2]=k[A>>2];hm(0,y);hm(0,z);if(!(i[k[y>>2]>>0]|0))break;if(!(i[k[z>>2]>>0]|0))break;k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=jm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d;k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=jm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d}nm(0,z);nm(0,y);k[k[o>>2]>>2]=k[y>>2];k[k[p>>2]>>2]=k[z>>2];if((k[k[h>>2]>>2]|0)==(k[x>>2]|0)){k[g>>2]=0;B=k[g>>2]|0;r=C;return B|0}else{B=k[x>>2]|0;k[x>>2]=B+1;i[B>>0]=0;k[k[h>>2]>>2]=k[x>>2];k[g>>2]=1;B=k[g>>2]|0;r=C;return B|0}return 0}function ln(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+12|0;d=c+8|0;e=c;k[f>>2]=a;k[d>>2]=b;a=im(k[k[f>>2]>>2]|0,e)|0;b=k[f>>2]|0;k[b>>2]=(k[b>>2]|0)+a;b=e;a=k[d>>2]|0;d=a;b=$R(k[d>>2]|0,k[d+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=L;r=c;return}function mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;f=e+8|0;g=e;k[h>>2]=a;k[f>>2]=b;a=g;k[a>>2]=c;k[a+4>>2]=d;d=k[k[h>>2]>>2]|0;a=g;b=k[f>>2]|0;b=_R(k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;b=Ul(d,b,L)|0;d=k[h>>2]|0;k[d>>2]=(k[d>>2]|0)+b;d=g;b=k[d+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[d>>2];k[a+4>>2]=b;r=e;return}function nn(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[(k[b>>2]|0)+8>>2]=0;k[(k[b>>2]|0)+28>>2]=1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+4>>2]|0))break;k[(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+80>>2]=0;k[(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+84>>2]=0;a=(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+88|0;k[a>>2]=0;k[a+4>>2]=0;k[c>>2]=(k[c>>2]|0)+1}r=d;return 0}function on(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;d=s+44|0;t=s+40|0;i=s+36|0;o=s+32|0;q=s+28|0;j=s+24|0;e=s+20|0;f=s+16|0;g=s+12|0;m=s+8|0;p=s+4|0;n=s;k[d>>2]=a;k[t>>2]=b;k[i>>2]=c;k[o>>2]=k[k[d>>2]>>2];k[q>>2]=0;k[e>>2]=0;if(((k[t>>2]|0)!=0?(l[(k[d>>2]|0)+52>>0]|0|0)==(l[(k[o>>2]|0)+231>>0]|0|0):0)?(k[(k[i>>2]|0)+64>>2]|0)<=4:0)b=(k[(k[i>>2]|0)+64>>2]|0)>0;else b=0;k[f>>2]=b&1;k[j>>2]=0;while(1){if((k[f>>2]|0)!=1)break;if((k[j>>2]|0)>=(k[(k[i>>2]|0)+64>>2]|0))break;k[g>>2]=(k[i>>2]|0)+72+((k[j>>2]|0)*24|0);if(!(k[(k[g>>2]|0)+12>>2]|0)){if((k[(k[g>>2]|0)+20>>2]|0)!=0?(k[(k[(k[g>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)h=11}else h=11;if((h|0)==11){h=0;k[f>>2]=0}if(k[(k[g>>2]|0)+20>>2]|0)k[e>>2]=1;k[j>>2]=(k[j>>2]|0)+1}if(!((k[f>>2]|0)!=0&(k[e>>2]|0)!=0)){t=qn(k[d>>2]|0,k[i>>2]|0)|0;k[q>>2]=t;k[(k[i>>2]|0)+40>>2]=0;t=k[q>>2]|0;r=s;return t|0}if((k[(k[i>>2]|0)+68>>2]|0)>=(k[(k[o>>2]|0)+24>>2]|0))b=-1;else b=k[(k[i>>2]|0)+68>>2]|0;k[m>>2]=b;k[j>>2]=0;while(1){if(k[q>>2]|0)break;if((k[j>>2]|0)>=(k[(k[i>>2]|0)+64>>2]|0))break;k[p>>2]=(k[i>>2]|0)+72+((k[j>>2]|0)*24|0);k[n>>2]=k[(k[p>>2]|0)+20>>2];if(k[n>>2]|0){t=pn(k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[k[p>>2]>>2]|0,k[(k[p>>2]|0)+4>>2]|0)|0;k[q>>2]=t}k[j>>2]=(k[j>>2]|0)+1}k[(k[i>>2]|0)+40>>2]=1;t=k[q>>2]|0;r=s;return t|0}function pn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;m=t+40|0;f=t+36|0;n=t+32|0;o=t+28|0;g=t+24|0;h=t+20|0;p=t+16|0;q=t+12|0;i=t+8|0;s=t+4|0;j=t;k[f>>2]=a;k[n>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=k[(k[n>>2]|0)+4>>2];k[s>>2]=(l[(k[f>>2]|0)+231>>0]|0|0)!=0?182:183;d=rm(k[f>>2]|0,k[n>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[q>>2]=d;if(k[q>>2]|0){k[m>>2]=k[q>>2];s=k[m>>2]|0;r=t;return s|0}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[i>>2]|0))break;k[j>>2]=k[(k[k[n>>2]>>2]|0)+(k[p>>2]<<2)>>2];if(!(k[(k[j>>2]|0)+40>>2]|0))break;if(sm(k[j>>2]|0,k[g>>2]|0,k[h>>2]|0)|0)break;k[p>>2]=(k[p>>2]|0)+1}k[(k[n>>2]|0)+8>>2]=k[p>>2];k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[n>>2]|0)+8>>2]|0)){f=13;break}d=dm(k[f>>2]|0,k[(k[k[n>>2]>>2]|0)+(k[p>>2]<<2)>>2]|0)|0;k[q>>2]=d;if(k[q>>2]|0){f=11;break}k[p>>2]=(k[p>>2]|0)+1}if((f|0)==11){k[m>>2]=k[q>>2];s=k[m>>2]|0;r=t;return s|0}else if((f|0)==13){bm(k[k[n>>2]>>2]|0,k[p>>2]|0,k[p>>2]|0,k[s>>2]|0);k[(k[n>>2]|0)+24>>2]=k[o>>2];k[m>>2]=0;s=k[m>>2]|0;r=t;return s|0}return 0}function qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+28|0;c=j+24|0;f=j+20|0;d=j+16|0;i=j+12|0;h=j+8|0;e=j+4|0;g=j;k[l>>2]=a;k[c>>2]=b;k[f>>2]=k[k[l>>2]>>2];k[i>>2]=0;k[d>>2]=0;while(1){if(k[i>>2]|0){c=8;break}if((k[d>>2]|0)>=(k[(k[c>>2]|0)+64>>2]|0)){c=8;break}k[h>>2]=(k[c>>2]|0)+72+((k[d>>2]|0)*24|0);if((k[(k[h>>2]|0)+20>>2]|0)!=0?(k[e>>2]=0,k[g>>2]=0,l=rn(k[f>>2]|0,k[h>>2]|0,k[(k[c>>2]|0)+68>>2]|0,e,g)|0,k[i>>2]=l,(k[i>>2]|0)==0):0){l=sn(k[f>>2]|0,k[c>>2]|0,k[d>>2]|0,k[g>>2]|0,k[e>>2]|0)|0;k[i>>2]=l}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==8){r=j;return k[i>>2]|0}return 0}function rn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+192|0;f=q+176|0;g=q+172|0;h=q+168|0;i=q+164|0;j=q+160|0;o=q+156|0;n=q+152|0;p=q+24|0;l=q+8|0;m=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=k[(k[g>>2]|0)+20>>2];c=p;a=c+128|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));k[l+12>>2]=3|((k[(k[g>>2]|0)+8>>2]|0)!=0?8:0)|((k[(k[g>>2]|0)+12>>2]|0)!=0?32:0)|((k[h>>2]|0)<(k[(k[f>>2]|0)+24>>2]|0)?4:0);k[l+8>>2]=k[h>>2];k[l>>2]=k[k[g>>2]>>2];k[l+4>>2]=k[(k[g>>2]|0)+4>>2];l=El(k[f>>2]|0,k[n>>2]|0,l)|0;k[o>>2]=l;while(1){if(k[o>>2]|0)break;l=Fl(k[f>>2]|0,k[n>>2]|0)|0;k[o>>2]=l;if(100!=(l|0))break;l=wn(k[f>>2]|0,p,k[(k[n>>2]|0)+48>>2]|0,k[(k[n>>2]|0)+52>>2]|0)|0;k[o>>2]=l}if(!(k[o>>2]|0)){l=xn(k[f>>2]|0,p)|0;k[o>>2]=l}if(!(k[o>>2]|0)){k[k[j>>2]>>2]=k[p>>2];k[k[i>>2]>>2]=k[p+64>>2];p=k[n>>2]|0;yn(p);p=k[g>>2]|0;p=p+20|0;k[p>>2]=0;p=k[o>>2]|0;r=q;return p|0}k[m>>2]=0;while(1){if((k[m>>2]|0)>=16)break;Ud(k[p+(k[m>>2]<<2)>>2]|0);k[m>>2]=(k[m>>2]|0)+1}p=k[n>>2]|0;yn(p);p=k[g>>2]|0;p=p+20|0;k[p>>2]=0;p=k[o>>2]|0;r=q;return p|0}function sn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+40|0;g=t+36|0;h=t+32|0;i=t+28|0;j=t+24|0;s=t+20|0;p=t+16|0;q=t+12|0;n=t+8|0;o=t+4|0;m=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[s>>2]=0;c=k[g>>2]|0;do if(!(k[i>>2]|0)){Ud(k[c>>2]|0);k[k[g>>2]>>2]=0;k[(k[g>>2]|0)+4>>2]=0}else{if((k[c+44>>2]|0)<0){k[k[g>>2]>>2]=k[i>>2];k[(k[g>>2]|0)+4>>2]=k[j>>2];break}if(!(k[k[g>>2]>>2]|0)){Ud(k[i>>2]|0);break}c=k[k[g>>2]>>2]|0;if((k[(k[g>>2]|0)+44>>2]|0)<(k[h>>2]|0)){k[p>>2]=c;k[n>>2]=k[(k[g>>2]|0)+4>>2];k[q>>2]=k[i>>2];k[o>>2]=k[j>>2];k[m>>2]=(k[h>>2]|0)-(k[(k[g>>2]|0)+44>>2]|0)}else{k[q>>2]=c;k[o>>2]=k[(k[g>>2]|0)+4>>2];k[p>>2]=k[i>>2];k[n>>2]=k[j>>2];k[m>>2]=(k[(k[g>>2]|0)+44>>2]|0)-(k[h>>2]|0)}n=tn(l[(k[f>>2]|0)+231>>0]|0,k[m>>2]|0,k[p>>2]|0,k[n>>2]|0,q,o)|0;k[s>>2]=n;Ud(k[p>>2]|0);k[k[g>>2]>>2]=k[q>>2];k[(k[g>>2]|0)+4>>2]=k[o>>2]}while(0);if((k[h>>2]|0)<=(k[(k[g>>2]|0)+44>>2]|0)){s=k[s>>2]|0;r=t;return s|0}k[(k[g>>2]|0)+44>>2]=k[h>>2];s=k[s>>2]|0;r=t;return s|0}function tn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=r;r=r+112|0;g=C+104|0;h=C+100|0;i=C+96|0;D=C+92|0;E=C+88|0;j=C+84|0;l=C+80|0;q=C+32|0;s=C+24|0;u=C+16|0;n=C+76|0;z=C+72|0;A=C+68|0;x=C+64|0;y=C+60|0;w=C+56|0;o=C+52|0;m=C+48|0;t=C+8|0;B=C+44|0;v=C;p=C+40|0;k[h>>2]=a;k[i>>2]=b;k[D>>2]=c;k[E>>2]=d;k[j>>2]=e;k[l>>2]=f;f=q;k[f>>2]=0;k[f+4>>2]=0;f=s;k[f>>2]=0;k[f+4>>2]=0;f=u;k[f>>2]=0;k[f+4>>2]=0;k[n>>2]=k[k[j>>2]>>2];k[z>>2]=(k[D>>2]|0)+(k[E>>2]|0);k[A>>2]=(k[n>>2]|0)+(k[k[l>>2]>>2]|0);k[x>>2]=k[D>>2];k[y>>2]=k[n>>2];k[o>>2]=0;if(k[h>>2]|0){E=Sd((k[k[l>>2]>>2]|0)+10|0)|0;k[m>>2]=E;if(!(k[m>>2]|0)){k[g>>2]=7;E=k[g>>2]|0;r=C;return E|0}}else k[m>>2]=k[n>>2];k[w>>2]=k[m>>2];un(x,k[z>>2]|0,0,q);un(y,k[A>>2]|0,0,s);while(1){if(!((k[x>>2]|0)!=0?(k[y>>2]|0)!=0:0))break;E=(k[h>>2]|0)!=0?-1:1;f=q;D=s;D=_R(k[f>>2]|0,k[f+4>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0;D=kS(E|0,((E|0)<0)<<31>>31|0,D|0,L|0)|0;E=t;k[E>>2]=D;k[E+4>>2]=L;E=t;if(!((k[E>>2]|0)==0&(k[E+4>>2]|0)==0))if((k[t+4>>2]|0)<0){nm(0,x);un(x,k[z>>2]|0,k[h>>2]|0,q);continue}else{nm(0,y);un(y,k[A>>2]|0,k[h>>2]|0,s);continue}else{k[B>>2]=k[w>>2];f=u;D=k[f+4>>2]|0;E=v;k[E>>2]=k[f>>2];k[E+4>>2]=D;k[p>>2]=k[o>>2];E=q;vn(w,k[h>>2]|0,u,o,k[E>>2]|0,k[E+4>>2]|0);if(!(kn(w,k[i>>2]|0,0,1,x,y)|0)){k[w>>2]=k[B>>2];f=v;D=k[f+4>>2]|0;E=u;k[E>>2]=k[f>>2];k[E+4>>2]=D;k[o>>2]=k[p>>2]}un(x,k[z>>2]|0,k[h>>2]|0,q);un(y,k[A>>2]|0,k[h>>2]|0,s);continue}}k[k[l>>2]>>2]=(k[w>>2]|0)-(k[m>>2]|0);if(k[h>>2]|0){Ud(k[n>>2]|0);k[k[j>>2]>>2]=k[m>>2]}k[g>>2]=0;E=k[g>>2]|0;r=C;return E|0}function un(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+20|0;j=i+16|0;h=i+12|0;g=i+8|0;f=i;k[e>>2]=a;k[j>>2]=b;k[h>>2]=c;k[g>>2]=d;c=k[e>>2]|0;if((k[k[e>>2]>>2]|0)>>>0>=(k[j>>2]|0)>>>0){k[c>>2]=0;r=i;return}a=im(k[c>>2]|0,f)|0;e=k[e>>2]|0;k[e>>2]=(k[e>>2]|0)+a;e=f;a=k[e>>2]|0;e=k[e+4>>2]|0;c=k[g>>2]|0;d=c;b=k[d>>2]|0;d=k[d+4>>2]|0;if(k[h>>2]|0){h=_R(b|0,d|0,a|0,e|0)|0;j=c;k[j>>2]=h;k[j+4>>2]=L;r=i;return}else{h=$R(b|0,d|0,a|0,e|0)|0;j=c;k[j>>2]=h;k[j+4>>2]=L;r=i;return}}function vn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;g=m+28|0;n=m+24|0;h=m+20|0;i=m+16|0;j=m+8|0;l=m;k[g>>2]=a;k[n>>2]=b;k[h>>2]=c;k[i>>2]=d;a=j;k[a>>2]=e;k[a+4>>2]=f;if((k[n>>2]|0)!=0?(k[k[i>>2]>>2]|0)!=0:0){n=k[h>>2]|0;a=j;a=_R(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=l;k[n>>2]=a;k[n+4>>2]=L}else{n=j;a=k[h>>2]|0;a=_R(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=l;k[n>>2]=a;k[n+4>>2]=L}a=l;a=Ul(k[k[g>>2]>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;c=k[g>>2]|0;k[c>>2]=(k[c>>2]|0)+a;c=j;a=k[c+4>>2]|0;n=k[h>>2]|0;k[n>>2]=k[c>>2];k[n+4>>2]=a;k[k[i>>2]>>2]=1;r=m;return}function wn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+40|0;g=t+36|0;h=t+32|0;i=t+28|0;e=t+24|0;j=t+20|0;o=t+16|0;n=t+12|0;m=t+8|0;p=t+4|0;q=t;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[e>>2]=d;a:do if(!(k[k[h>>2]>>2]|0)){s=Sd((k[e>>2]|0)+10+1|0)|0;k[k[h>>2]>>2]=s;k[(k[h>>2]|0)+64>>2]=k[e>>2];if(k[k[h>>2]>>2]|0){bS(k[k[h>>2]>>2]|0,k[i>>2]|0,k[e>>2]|0)|0;break}k[f>>2]=7;s=k[f>>2]|0;r=t;return s|0}else{k[j>>2]=k[i>>2];k[o>>2]=k[e>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=16)break a;if(!(k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0)){s=8;break}e=zn(l[(k[g>>2]|0)+231>>0]|0,k[j>>2]|0,k[o>>2]|0,k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0,k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]|0,m,p)|0;k[q>>2]=e;e=(k[j>>2]|0)!=(k[i>>2]|0);if(k[q>>2]|0)break;if(e)Ud(k[j>>2]|0);Ud(k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0);k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=0;k[j>>2]=k[m>>2];k[o>>2]=k[p>>2];if(((k[n>>2]|0)+1|0)==16){k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=k[j>>2];k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]=k[o>>2]}k[n>>2]=(k[n>>2]|0)+1}if((s|0)==8){k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=k[j>>2];k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]=k[o>>2];break}if(e)Ud(k[j>>2]|0);k[f>>2]=k[q>>2];s=k[f>>2]|0;r=t;return s|0}while(0);k[f>>2]=0;s=k[f>>2]|0;r=t;return s|0}function xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;n=r;r=r+48|0;g=n+32|0;c=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;e=n+12|0;f=n+8|0;d=n+4|0;m=n;k[c>>2]=a;k[h>>2]=b;k[i>>2]=0;k[j>>2]=0;k[e>>2]=0;a:while(1){if((k[e>>2]|0)>=16){c=10;break}do if(k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0){if(!(k[i>>2]|0)){k[i>>2]=k[(k[h>>2]|0)+(k[e>>2]<<2)>>2];k[j>>2]=k[(k[h>>2]|0)+64+(k[e>>2]<<2)>>2];k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]=0;break}b=zn(l[(k[c>>2]|0)+231>>0]|0,k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0,k[(k[h>>2]|0)+64+(k[e>>2]<<2)>>2]|0,k[i>>2]|0,k[j>>2]|0,d,f)|0;k[m>>2]=b;if(k[m>>2]|0){c=7;break a}Ud(k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0);Ud(k[i>>2]|0);k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]=0;k[i>>2]=k[d>>2];k[j>>2]=k[f>>2]}while(0);k[e>>2]=(k[e>>2]|0)+1}if((c|0)==7){Ud(k[i>>2]|0);k[g>>2]=k[m>>2];m=k[g>>2]|0;r=n;return m|0}else if((c|0)==10){k[k[h>>2]>>2]=k[i>>2];k[(k[h>>2]|0)+64>>2]=k[j>>2];k[g>>2]=0;m=k[g>>2]|0;r=n;return m|0}return 0}function yn(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ll(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function zn(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;y=r;r=r+96|0;h=y+88|0;i=y+84|0;C=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;j=y+64|0;l=y+60|0;o=y+24|0;p=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;m=y+36|0;n=y+32|0;q=y;k[i>>2]=a;k[C>>2]=b;k[A>>2]=c;k[B>>2]=d;k[z>>2]=e;k[j>>2]=f;k[l>>2]=g;g=o;k[g>>2]=0;k[g+4>>2]=0;g=p;k[g>>2]=0;k[g+4>>2]=0;g=s;k[g>>2]=0;k[g+4>>2]=0;k[w>>2]=(k[C>>2]|0)+(k[A>>2]|0);k[x>>2]=(k[B>>2]|0)+(k[z>>2]|0);k[u>>2]=k[C>>2];k[v>>2]=k[B>>2];k[n>>2]=0;k[k[j>>2]>>2]=0;k[k[l>>2]>>2]=0;g=Sd((k[A>>2]|0)+(k[z>>2]|0)+10-1|0)|0;k[m>>2]=g;if(!(k[m>>2]|0)){k[h>>2]=7;C=k[h>>2]|0;r=y;return C|0}k[t>>2]=k[m>>2];un(u,k[w>>2]|0,0,o);un(v,k[x>>2]|0,0,p);while(1){if(!((k[u>>2]|0)!=0?1:(k[v>>2]|0)!=0))break;C=(k[i>>2]|0)!=0?-1:1;A=o;B=p;B=_R(k[A>>2]|0,k[A+4>>2]|0,k[B>>2]|0,k[B+4>>2]|0)|0;B=kS(C|0,((C|0)<0)<<31>>31|0,B|0,L|0)|0;C=q;k[C>>2]=B;k[C+4>>2]=L;C=q;if((k[v>>2]|0)!=0&(k[u>>2]|0)!=0&((k[C>>2]|0)==0&(k[C+4>>2]|0)==0)){C=o;vn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);An(t,u,v);un(u,k[w>>2]|0,k[i>>2]|0,o);un(v,k[x>>2]|0,k[i>>2]|0,p);continue}if((k[v>>2]|0)!=0?!((k[u>>2]|0)!=0&(k[q+4>>2]|0)<0):0){C=p;vn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);nm(t,v);un(v,k[x>>2]|0,k[i>>2]|0,p);continue}C=o;vn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);nm(t,u);un(u,k[w>>2]|0,k[i>>2]|0,o)}k[k[j>>2]>>2]=k[m>>2];k[k[l>>2]>>2]=(k[t>>2]|0)-(k[m>>2]|0);k[h>>2]=0;C=k[h>>2]|0;r=y;return C|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;d=t+56|0;e=t+52|0;f=t+48|0;p=t+44|0;q=t+40|0;s=t+36|0;j=t+32|0;m=t+28|0;g=t+16|0;h=t+8|0;n=t;o=t+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[p>>2]=k[k[d>>2]>>2];k[q>>2]=k[k[e>>2]>>2];k[s>>2]=k[k[f>>2]>>2];a:while(1){if((i[k[q>>2]>>0]|0)==0?(i[k[s>>2]>>0]|0)==0:0)break;a=k[q>>2]|0;do if((i[k[q>>2]>>0]|0)==1){b=(k[q>>2]|0)+1|0;if(l[a+1>>0]&128){jm(b,j)|0;break}else{k[j>>2]=l[b>>0];break}}else if(!(i[a>>0]|0)){k[j>>2]=2147483647;break}else{k[j>>2]=0;break}while(0);a=k[s>>2]|0;do if((i[k[s>>2]>>0]|0)==1){b=(k[s>>2]|0)+1|0;if(l[a+1>>0]&128){jm(b,m)|0;break}else{k[m>>2]=l[b>>0];break}}else if(!(i[a>>0]|0)){k[m>>2]=2147483647;break}else{k[m>>2]=0;break}while(0);if((k[j>>2]|0)!=(k[m>>2]|0))if((k[j>>2]|0)<(k[m>>2]|0)){c=Bn(p,k[j>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+c;hm(p,q);continue}else{c=Bn(p,k[m>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+c;hm(p,s);continue}c=g;k[c>>2]=0;k[c+4>>2]=0;c=h;k[c>>2]=0;k[c+4>>2]=0;c=n;k[c>>2]=0;k[c+4>>2]=0;c=Bn(p,k[j>>2]|0)|0;k[o>>2]=c;k[q>>2]=(k[q>>2]|0)+(k[o>>2]|0);k[s>>2]=(k[s>>2]|0)+(k[o>>2]|0);ln(q,g);ln(s,h);while(1){b=g;u=k[b+4>>2]|0;a=h;c=k[a+4>>2]|0;a=(u|0)<(c|0)|((u|0)==(c|0)?(k[b>>2]|0)>>>0<(k[a>>2]|0)>>>0:0);b=g;c=h;mn(p,n,a?k[b>>2]|0:k[c>>2]|0,a?k[b+4>>2]|0:k[c+4>>2]|0);c=n;c=_R(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;b=n;k[b>>2]=c;k[b+4>>2]=L;b=g;c=h;do if(!((k[b>>2]|0)==(k[c>>2]|0)?(k[b+4>>2]|0)==(k[c+4>>2]|0):0)){c=g;a=k[c+4>>2]|0;u=h;b=k[u+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)){Cn(q,g);break}else{Cn(s,h);break}}else{Cn(q,g);Cn(s,h)}while(0);c=g;u=h;if(!((k[c>>2]|0)!=2147483647|(k[c+4>>2]|0)!=0?1:(k[u>>2]|0)!=2147483647|(k[u+4>>2]|0)!=0))continue a}}u=k[p>>2]|0;k[p>>2]=u+1;i[u>>0]=0;k[k[d>>2]>>2]=k[p>>2];k[k[e>>2]>>2]=(k[q>>2]|0)+1;k[k[f>>2]>>2]=(k[s>>2]|0)+1;r=t;return}function Bn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[d>>2]|0)){a=k[e>>2]|0;r=g;return a|0}k[f>>2]=k[k[c>>2]>>2];a=k[d>>2]|0;a=1+(Ul((k[f>>2]|0)+1|0,a,((a|0)<0)<<31>>31)|0)|0;k[e>>2]=a;i[k[f>>2]>>0]=1;k[k[c>>2]>>2]=(k[f>>2]|0)+(k[e>>2]|0);a=k[e>>2]|0;r=g;return a|0}function Cn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[k[k[c>>2]>>2]>>0]&254){ln(k[c>>2]|0,k[d>>2]|0);a=k[d>>2]|0;b=a;b=_R(k[b>>2]|0,k[b+4>>2]|0,2,0)|0;k[a>>2]=b;k[a+4>>2]=L;r=e;return}else{a=k[d>>2]|0;k[a>>2]=2147483647;k[a+4>>2]=0;r=e;return}}function Dn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if((i[(k[e>>2]|0)+7>>0]|0)!=0?(k[f>>2]=0,f=Pn(k[e>>2]|0,f)|0,k[g>>2]=f,(k[g>>2]|0)==0):0){f=(k[e>>2]|0)+32|0;Ve(k[(k[e>>2]|0)+8>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;i[(k[e>>2]|0)+7>>0]=0;if(100==(De(k[(k[e>>2]|0)+8>>2]|0)|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}f=ge(k[(k[e>>2]|0)+8>>2]|0)|0;k[g>>2]=f;if((k[g>>2]|0)==0?(k[(k[k[e>>2]>>2]|0)+40>>2]|0)==0:0){k[g>>2]=267;i[(k[e>>2]|0)+6>>0]=1}}if((k[g>>2]|0)!=0&(k[d>>2]|0)!=0)Ae(k[d>>2]|0,k[g>>2]|0);k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}function En(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=r;r=r+80|0;b=v+64|0;q=v+60|0;c=v+56|0;d=v;j=v+52|0;i=v+48|0;o=v+44|0;m=v+40|0;s=v+36|0;p=v+32|0;t=v+28|0;h=v+24|0;e=v+20|0;f=v+16|0;g=v+12|0;n=v+8|0;k[b>>2]=a;k[q>>2]=0;if(!(k[(k[b>>2]|0)+24>>2]|0)){u=k[q>>2]|0;r=v;return u|0}k[i>>2]=k[k[b>>2]>>2];k[o>>2]=k[(k[i>>2]|0)+36>>2];k[m>>2]=k[k[o>>2]>>2];w=Ne(k[(k[b>>2]|0)+8>>2]|0,0)|0;a=d;k[a>>2]=w;k[a+4>>2]=L;k[c>>2]=0;while(1){if(!((k[c>>2]|0)<(k[(k[i>>2]|0)+24>>2]|0)?(k[q>>2]|0)==0:0))break;if(!(l[(k[(k[i>>2]|0)+32>>2]|0)+(k[c>>2]|0)>>0]|0)){w=Oe(k[(k[b>>2]|0)+8>>2]|0,(k[c>>2]|0)+1|0)|0;k[s>>2]=w;k[p>>2]=0;w=Mn(k[o>>2]|0,k[(k[b>>2]|0)+16>>2]|0,k[s>>2]|0,-1,p)|0;k[q>>2]=w;a:while(1){if(k[q>>2]|0)break;k[h>>2]=0;k[e>>2]=0;k[f>>2]=0;k[g>>2]=0;w=ac[k[(k[m>>2]|0)+20>>2]&255](k[p>>2]|0,t,h,e,f,g)|0;k[q>>2]=w;k[j>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!((k[j>>2]|0)!=0?(k[q>>2]|0)==0:0))continue a;k[n>>2]=k[k[j>>2]>>2];if(!((k[(k[j>>2]|0)+4>>2]|0)<(k[(k[i>>2]|0)+24>>2]|0)?(k[(k[j>>2]|0)+4>>2]|0)!=(k[c>>2]|0):0))u=11;do if((u|0)==11?(u=0,(k[g>>2]|0)==0?1:(k[(k[n>>2]|0)+12>>2]|0)==0):0){if((k[(k[n>>2]|0)+4>>2]|0)!=(k[h>>2]|0)){if(!(k[(k[n>>2]|0)+8>>2]|0))break;if((k[(k[n>>2]|0)+4>>2]|0)>=(k[h>>2]|0))break}if(!(oR(k[t>>2]|0,k[k[n>>2]>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0)){x=d;a=k[c>>2]|0;w=k[g>>2]|0;Nn((k[j>>2]|0)+12|0,k[x>>2]|0,k[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,q)|0}}while(0);k[j>>2]=k[(k[j>>2]|0)+8>>2]}}if(k[p>>2]|0)bc[k[(k[m>>2]|0)+16>>2]&255](k[p>>2]|0)|0;if((k[q>>2]|0)==101)k[q>>2]=0}k[c>>2]=(k[c>>2]|0)+1}k[j>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!((k[j>>2]|0)!=0?(k[q>>2]|0)==0:0))break;if(k[(k[j>>2]|0)+12>>2]|0){x=On((k[j>>2]|0)+12|0,0,0)|0;k[q>>2]=x}k[j>>2]=k[(k[j>>2]|0)+8>>2]}x=k[q>>2]|0;r=v;return x|0}function Fn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;j=o+28|0;h=o+24|0;d=o+20|0;n=o+16|0;m=o+12|0;e=o+8|0;f=o+4|0;g=o;k[j>>2]=a;k[h>>2]=b;k[d>>2]=c;k[n>>2]=1;if(k[k[d>>2]>>2]|0){n=k[n>>2]|0;r=o;return n|0}switch(k[k[h>>2]>>2]|0){case 3:case 1:{if((Fn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0)!=0?(Fn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0)!=0:0)d=(Hn(k[h>>2]|0,k[d>>2]|0)|0)!=0;else d=0;k[n>>2]=d&1;if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if((k[k[h>>2]>>2]|0)!=1){n=k[n>>2]|0;r=o;return n|0}if((k[(k[h>>2]|0)+8>>2]|0)!=0?(k[k[(k[h>>2]|0)+8>>2]>>2]|0)==1:0){n=k[n>>2]|0;r=o;return n|0}k[m>>2]=k[h>>2];while(1){d=k[m>>2]|0;if(k[(k[m>>2]|0)+20>>2]|0)break;c=(k[d+16>>2]|0)+24|0;h=(k[j>>2]|0)+32|0;if((k[c>>2]|0)==(k[h>>2]|0)?(k[c+4>>2]|0)==(k[h+4>>2]|0):0)dn(k[(k[(k[m>>2]|0)+16>>2]|0)+20>>2]|0);k[m>>2]=k[(k[m>>2]|0)+12>>2]}h=d+24|0;j=(k[j>>2]|0)+32|0;if(!((k[h>>2]|0)==(k[j>>2]|0)?(k[h+4>>2]|0)==(k[j+4>>2]|0):0)){n=k[n>>2]|0;r=o;return n|0}dn(k[(k[m>>2]|0)+20>>2]|0);n=k[n>>2]|0;r=o;return n|0}case 4:{m=Fn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0;k[e>>2]=m;m=Fn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0;k[f>>2]=m;k[n>>2]=((k[e>>2]|0)!=0?1:(k[f>>2]|0)!=0)&1;n=k[n>>2]|0;r=o;return n|0}case 2:{if(Fn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0)d=(Fn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0)!=0^1;else d=0;k[n>>2]=d&1;n=k[n>>2]|0;r=o;return n|0}default:{do if(k[(k[j>>2]|0)+24>>2]|0){c=(k[h>>2]|0)+24|0;m=(k[j>>2]|0)+32|0;if(!((k[c>>2]|0)==(k[m>>2]|0)?(k[c+4>>2]|0)==(k[m+4>>2]|0):0)?(l[(k[h>>2]|0)+34>>0]|0)==0:0)break;k[g>>2]=k[(k[h>>2]|0)+20>>2];if(i[(k[h>>2]|0)+34>>0]|0)dn(k[g>>2]|0);c=In(k[j>>2]|0,k[g>>2]|0)|0;k[k[d>>2]>>2]=c;k[n>>2]=(k[(k[g>>2]|0)+28>>2]|0)!=0&1;c=(k[j>>2]|0)+32|0;j=k[c+4>>2]|0;m=(k[h>>2]|0)+24|0;k[m>>2]=k[c>>2];k[m+4>>2]=j;n=k[n>>2]|0;r=o;return n|0}while(0);if(!(l[(k[h>>2]|0)+32>>0]|0)){m=(k[h>>2]|0)+24|0;d=(k[j>>2]|0)+32|0;d=(k[m>>2]|0)==(k[d>>2]|0)?(k[m+4>>2]|0)==(k[d+4>>2]|0):0}else d=0;k[n>>2]=d&1;n=k[n>>2]|0;r=o;return n|0}}return 0}function Gn(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+24>>2];while(1){if(!(k[b>>2]|0))break;ul(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+12>>2]=0;k[b>>2]=k[(k[b>>2]|0)+8>>2]}r=c;return}function Hn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;c=q+44|0;d=q+40|0;p=q+36|0;n=q+32|0;f=q+28|0;i=q+24|0;h=q+20|0;m=q+16|0;g=q+12|0;e=q+8|0;j=q+4|0;o=q;k[c>>2]=a;k[d>>2]=b;k[p>>2]=1;if(k[k[d>>2]>>2]|0){p=k[p>>2]|0;r=q;return p|0}if((k[k[c>>2]>>2]|0)!=1){p=k[p>>2]|0;r=q;return p|0}if(l[(k[c>>2]|0)+32>>0]|0){p=k[p>>2]|0;r=q;return p|0}if((k[(k[c>>2]|0)+8>>2]|0)!=0?(k[k[(k[c>>2]|0)+8>>2]>>2]|0)==1:0){p=k[p>>2]|0;r=q;return p|0}k[f>>2]=0;k[n>>2]=k[c>>2];while(1){a=k[n>>2]|0;if(!(k[(k[n>>2]|0)+12>>2]|0))break;k[f>>2]=(k[f>>2]|0)+(k[(k[(k[a+16>>2]|0)+20>>2]|0)+32>>2]|0);k[n>>2]=k[(k[n>>2]|0)+12>>2]}k[f>>2]=(k[f>>2]|0)+(k[(k[a+20>>2]|0)+32>>2]|0);if(!(k[f>>2]|0)){k[p>>2]=0;p=k[p>>2]|0;r=q;return p|0}f=Sd(k[f>>2]<<1)|0;k[i>>2]=f;a:do if(k[i>>2]|0){k[h>>2]=k[(k[(k[n>>2]|0)+20>>2]|0)+28>>2];k[m>>2]=k[(k[(k[n>>2]|0)+20>>2]|0)+64>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];while(1){if(!((k[p>>2]|0)!=0&(k[n>>2]|0)!=0))break;if((k[k[n>>2]>>2]|0)!=1)break;k[g>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+20>>2];k[e>>2]=k[(k[n>>2]|0)+4>>2];f=Kn(k[e>>2]|0,k[i>>2]|0,h,m,k[g>>2]|0)|0;k[p>>2]=f;k[n>>2]=k[(k[n>>2]|0)+8>>2]}k[h>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];k[m>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];k[n>>2]=k[(k[c>>2]|0)+12>>2];while(1){if(!((k[n>>2]|0)!=0?(k[p>>2]|0)!=0:0))break a;k[j>>2]=k[(k[(k[n>>2]|0)+8>>2]|0)+4>>2];a=k[n>>2]|0;if((k[k[n>>2]>>2]|0)==1)a=k[(k[a+16>>2]|0)+20>>2]|0;else a=k[a+20>>2]|0;k[o>>2]=a;g=Kn(k[j>>2]|0,k[i>>2]|0,h,m,k[o>>2]|0)|0;k[p>>2]=g;k[n>>2]=k[(k[n>>2]|0)+12>>2]}}else{k[k[d>>2]>>2]=7;k[p>>2]=0}while(0);Ud(k[i>>2]|0);p=k[p>>2]|0;r=q;return p|0}function In(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;l=y+76|0;m=y+72|0;n=y+68|0;d=y+64|0;p=y+60|0;u=y+56|0;q=y+52|0;j=y+48|0;h=y+44|0;i=y+40|0;e=y+36|0;x=y+32|0;c=y+28|0;f=y+24|0;g=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;o=y;k[m>>2]=a;k[n>>2]=b;k[p>>2]=0;k[u>>2]=0;k[q>>2]=-1;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[n>>2]|0)+64>>2]|0)){a=14;break}k[j>>2]=(k[n>>2]|0)+72+((k[d>>2]|0)*24|0);k[h>>2]=k[(k[j>>2]|0)+16>>2];if(k[h>>2]|0){b=Jn(k[h>>2]|0,i,e)|0;k[x>>2]=b;if(k[x>>2]|0){a=5;break}b=k[p>>2]|0;if(!(k[i>>2]|0)){a=7;break}a=k[i>>2]|0;if(b){k[c>>2]=a;k[f>>2]=k[p>>2];k[g>>2]=k[c>>2];kn(c,(k[d>>2]|0)-(k[q>>2]|0)|0,0,1,f,g)|0;Ud(k[p>>2]|0);k[p>>2]=k[i>>2];k[u>>2]=(k[c>>2]|0)-(k[p>>2]|0);if(!(k[u>>2]|0)){a=11;break}}else{k[p>>2]=a;k[u>>2]=k[e>>2]}k[q>>2]=k[d>>2]}k[d>>2]=(k[d>>2]|0)+1}if((a|0)==5){k[l>>2]=k[x>>2];x=k[l>>2]|0;r=y;return x|0}else if((a|0)==7){Ud(b);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0;k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}else if((a|0)==11){Ud(k[p>>2]|0);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0;k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}else if((a|0)==14){do if((k[q>>2]|0)>=0){k[t>>2]=k[(k[n>>2]|0)+44>>2];if((k[t>>2]|0)<0){k[(k[n>>2]|0)+28>>2]=k[p>>2];k[(k[n>>2]|0)+32>>2]=k[u>>2];v=(k[m>>2]|0)+32|0;w=k[v+4>>2]|0;x=(k[n>>2]|0)+16|0;k[x>>2]=k[v>>2];k[x+4>>2]=w;k[(k[n>>2]|0)+24>>2]=1;break}if((k[t>>2]|0)>(k[q>>2]|0)){k[v>>2]=k[p>>2];k[w>>2]=k[(k[n>>2]|0)+28>>2];k[s>>2]=(k[t>>2]|0)-(k[q>>2]|0)}else{k[v>>2]=k[(k[n>>2]|0)+28>>2];k[w>>2]=k[p>>2];k[s>>2]=(k[q>>2]|0)-(k[t>>2]|0)}x=Sd((k[u>>2]|0)+8|0)|0;k[o>>2]=x;if(!(k[o>>2]|0)){Ud(k[p>>2]|0);k[l>>2]=7;x=k[l>>2]|0;r=y;return x|0}k[(k[n>>2]|0)+28>>2]=k[o>>2];if(kn(o,k[s>>2]|0,0,1,v,w)|0){k[(k[n>>2]|0)+24>>2]=1;k[(k[n>>2]|0)+32>>2]=(k[o>>2]|0)-(k[(k[n>>2]|0)+28>>2]|0)}else{Ud(k[o>>2]|0);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0}Ud(k[p>>2]|0)}while(0);k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}return 0}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+28|0;e=j+24|0;f=j+20|0;g=j+16|0;i=j+12|0;h=j+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[k[f>>2]>>2]=0;k[k[g>>2]>>2]=0;if(!(k[(k[e>>2]|0)+12>>2]|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}b=Sd(k[k[(k[e>>2]|0)+12>>2]>>2]|0)|0;k[i>>2]=b;if(k[i>>2]|0){b=im(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0,j)|0;k[h>>2]=b;k[k[g>>2]>>2]=(k[k[(k[e>>2]|0)+12>>2]>>2]|0)-(k[h>>2]|0);k[k[f>>2]>>2]=k[i>>2];bS(k[i>>2]|0,(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0)+(k[h>>2]|0)|0,k[k[g>>2]>>2]|0)|0;k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}else{k[d>>2]=7;b=k[d>>2]|0;r=j;return b|0}return 0}function Kn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;m=r;r=r+48|0;s=m+40|0;q=m+36|0;f=m+32|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;i=m+12|0;n=m+8|0;j=m+4|0;l=m;k[s>>2]=a;k[q>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=e;k[p>>2]=(k[s>>2]|0)+(k[(k[h>>2]|0)+64>>2]|0);k[o>>2]=(k[s>>2]|0)+(k[k[g>>2]>>2]|0);d=k[(k[h>>2]|0)+28>>2]|0;k[j>>2]=d;k[n>>2]=d;d=Ln(j,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[f>>2]|0,n)|0;k[l>>2]=d;if(!(k[l>>2]|0)){s=k[l>>2]|0;r=m;return s|0}k[i>>2]=(k[j>>2]|0)-(k[(k[h>>2]|0)+28>>2]|0)-1;dS((k[(k[h>>2]|0)+28>>2]|0)+(k[i>>2]|0)|0,0,(k[(k[h>>2]|0)+32>>2]|0)-(k[i>>2]|0)|0)|0;k[(k[h>>2]|0)+32>>2]=k[i>>2];k[k[f>>2]>>2]=k[(k[h>>2]|0)+28>>2];k[k[g>>2]>>2]=k[(k[h>>2]|0)+64>>2];s=k[l>>2]|0;r=m;return s|0}function Ln(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;n=r;r=r+48|0;g=n+44|0;h=n+40|0;u=n+36|0;q=n+32|0;o=n+28|0;p=n+24|0;t=n+20|0;s=n+16|0;j=n+12|0;l=n+8|0;i=n+4|0;m=n;k[g>>2]=a;k[h>>2]=b;k[u>>2]=c;k[q>>2]=d;k[o>>2]=e;k[p>>2]=f;k[t>>2]=k[k[o>>2]>>2];k[s>>2]=k[k[p>>2]>>2];k[j>>2]=k[h>>2];k[m>>2]=1;kn(j,k[u>>2]|0,0,0,k[o>>2]|0,k[p>>2]|0)|0;f=k[j>>2]|0;k[l>>2]=f;k[i>>2]=f;k[k[o>>2]>>2]=k[t>>2];k[k[p>>2]>>2]=k[s>>2];kn(l,k[q>>2]|0,1,0,k[p>>2]|0,k[o>>2]|0)|0;if((k[j>>2]|0)!=(k[h>>2]|0)?(k[l>>2]|0)!=(k[i>>2]|0):0){An(k[g>>2]|0,h,i);u=k[m>>2]|0;r=n;return u|0}if((k[j>>2]|0)!=(k[h>>2]|0)){nm(k[g>>2]|0,h);u=k[m>>2]|0;r=n;return u|0}if((k[l>>2]|0)!=(k[i>>2]|0)){nm(k[g>>2]|0,i);u=k[m>>2]|0;r=n;return u|0}else{k[m>>2]=0;u=k[m>>2]|0;r=n;return u|0}return 0}function Mn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+32|0;f=m+28|0;g=m+24|0;o=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;i=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[o>>2]=c;k[n>>2]=d;k[h>>2]=e;k[j>>2]=k[k[f>>2]>>2];k[i>>2]=0;c=ec[k[(k[j>>2]|0)+12>>2]&255](k[f>>2]|0,k[o>>2]|0,k[n>>2]|0,i)|0;k[l>>2]=c;if(((k[l>>2]|0)==0?(k[k[i>>2]>>2]=k[f>>2],(k[k[j>>2]>>2]|0)>=1):0)?(o=gc[k[(k[j>>2]|0)+24>>2]&255](k[i>>2]|0,k[g>>2]|0)|0,k[l>>2]=o,(k[l>>2]|0)!=0):0){bc[k[(k[j>>2]|0)+16>>2]&255](k[i>>2]|0)|0;k[i>>2]=0}k[k[h>>2]>>2]=k[i>>2];r=m;return k[l>>2]|0}function Nn(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;l=u+48|0;m=u+44|0;n=u+24|0;o=u+16|0;i=u+8|0;j=u+40|0;q=u+36|0;s=u+32|0;p=u;k[m>>2]=a;a=n;k[a>>2]=b;k[a+4>>2]=c;a=o;k[a>>2]=d;k[a+4>>2]=e;a=i;k[a>>2]=f;k[a+4>>2]=g;k[j>>2]=h;k[q>>2]=k[k[m>>2]>>2];k[s>>2]=0;if((k[q>>2]|0)!=0?(h=(k[q>>2]|0)+16|0,a=n,!((k[h>>2]|0)!=(k[a>>2]|0)?1:(k[h+4>>2]|0)!=(k[a+4>>2]|0))):0)t=9;else{b=n;if(k[q>>2]|0){d=(k[q>>2]|0)+16|0;c=k[d>>2]|0;d=k[d+4>>2]|0}else{c=0;d=0}h=_R(k[b>>2]|0,k[b+4>>2]|0,c|0,d|0)|0;a=p;k[a>>2]=h;k[a+4>>2]=L;if(k[q>>2]|0){a=k[q>>2]|0;k[a>>2]=(k[a>>2]|0)+1}p=On(q,k[p>>2]|0,k[p+4>>2]|0)|0;k[s>>2]=p;if(!p){p=(k[q>>2]|0)+24|0;k[p>>2]=-1;k[p+4>>2]=-1;p=(k[q>>2]|0)+32|0;k[p>>2]=0;k[p+4>>2]=0;p=k[n+4>>2]|0;t=(k[q>>2]|0)+16|0;k[t>>2]=k[n>>2];k[t+4>>2]=p;t=9}}do if((t|0)==9){t=o;p=k[t+4>>2]|0;if((p|0)>0|(p|0)==0&(k[t>>2]|0)>>>0>0?(p=(k[q>>2]|0)+24|0,t=o,(k[p>>2]|0)!=(k[t>>2]|0)?1:(k[p+4>>2]|0)!=(k[t+4>>2]|0)):0){t=On(q,1,0)|0;k[s>>2]=t;if(t)break;t=o;t=On(q,k[t>>2]|0,k[t+4>>2]|0)|0;k[s>>2]=t;if(t)break;n=o;p=k[n+4>>2]|0;t=(k[q>>2]|0)+24|0;k[t>>2]=k[n>>2];k[t+4>>2]=p;t=(k[q>>2]|0)+32|0;k[t>>2]=0;k[t+4>>2]=0}t=o;p=k[t+4>>2]|0;if((p|0)>0|(p|0)==0&(k[t>>2]|0)>>>0>=0?(p=i,p=$R(2,0,k[p>>2]|0,k[p+4>>2]|0)|0,t=(k[q>>2]|0)+32|0,t=_R(p|0,L|0,k[t>>2]|0,k[t+4>>2]|0)|0,t=On(q,t,L)|0,k[s>>2]=t,(k[s>>2]|0)==0):0){o=i;p=k[o+4>>2]|0;t=(k[q>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=p}}while(0);k[k[j>>2]>>2]=k[s>>2];if((k[q>>2]|0)!=(k[k[m>>2]>>2]|0)){k[k[m>>2]>>2]=k[q>>2];k[l>>2]=1;t=k[l>>2]|0;r=u;return t|0}else{k[l>>2]=0;t=k[l>>2]|0;r=u;return t|0}return 0}function On(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j;h=j+12|0;g=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=k[k[e>>2]>>2];do if(k[h>>2]|0){if(((k[k[h>>2]>>2]|0)+10+1|0)>(k[(k[h>>2]|0)+8>>2]|0)){k[g>>2]=k[(k[h>>2]|0)+8>>2]<<1;a=Vd(k[h>>2]|0,40+(k[g>>2]|0)|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+8>>2]=k[g>>2];k[(k[h>>2]|0)+4>>2]=(k[h>>2]|0)+40;break}Ud(k[k[e>>2]>>2]|0);k[k[e>>2]>>2]=0;k[d>>2]=7;a=k[d>>2]|0;r=j;return a|0}}else{a=Sd(140)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+8>>2]=100;k[(k[h>>2]|0)+4>>2]=(k[h>>2]|0)+40;k[k[h>>2]>>2]=0;break}k[d>>2]=7;a=k[d>>2]|0;r=j;return a|0}while(0);g=f;g=Ul((k[(k[h>>2]|0)+4>>2]|0)+(k[k[h>>2]>>2]|0)|0,k[g>>2]|0,k[g+4>>2]|0)|0;a=k[h>>2]|0;k[a>>2]=(k[a>>2]|0)+g;i[(k[(k[h>>2]|0)+4>>2]|0)+(k[k[h>>2]>>2]|0)>>0]=0;k[k[e>>2]>>2]=k[h>>2];k[d>>2]=0;a=k[d>>2]|0;r=j;return a|0}function Pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j;c=j+24|0;d=j+20|0;e=j+16|0;g=j+12|0;f=j+8|0;i=j+4|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;do if(!(k[(k[d>>2]|0)+8>>2]|0)){k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[(k[f>>2]|0)+216>>2];h=Yd(23241,h)|0;k[i>>2]=h;if(k[i>>2]|0){h=lf(k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,-1,(k[d>>2]|0)+8|0,0)|0;k[g>>2]=h;Ud(k[i>>2]|0);break}k[c>>2]=7;i=k[c>>2]|0;r=j;return i|0}while(0);k[k[e>>2]>>2]=k[(k[d>>2]|0)+8>>2];k[c>>2]=k[g>>2];i=k[c>>2]|0;r=j;return i|0}function Qn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];if((k[i>>2]|0)==5){c=Yb[k[g>>2]&255](k[e>>2]|0,k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;c=k[f>>2]|0;k[c>>2]=(k[c>>2]|0)+1;c=k[j>>2]|0;r=l;return c|0}c=Qn(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;if(!((k[j>>2]|0)==0&(k[i>>2]|0)!=2)){c=k[j>>2]|0;r=l;return c|0}c=Qn(k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;c=k[j>>2]|0;r=l;return c|0}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;h=j+8|0;i=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];k[i>>2]=0;if((l[(k[e>>2]|0)+34>>0]|0|0)!=0?(k[k[(k[e>>2]|0)+8>>2]>>2]|0)!=1:0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+24>>2]|0))break;k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2]=k[(k[d>>2]|0)+64>>2];k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2]=k[(k[d>>2]|0)+64>>2];k[g>>2]=(k[g>>2]|0)+1}i=k[i>>2]|0;r=j;return i|0}b=Sn(k[d>>2]|0,k[e>>2]|0)|0;k[i>>2]=b;if(k[i>>2]|0){i=k[i>>2]|0;r=j;return i|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+24>>2]|0))break;k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2]=k[(k[(k[e>>2]|0)+40>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2];k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2]=k[(k[(k[e>>2]|0)+40>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2];k[g>>2]=(k[g>>2]|0)+1}i=k[i>>2]|0;r=j;return i|0}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;d=s+44|0;e=s+40|0;c=s+36|0;p=s+32|0;o=s+28|0;n=s+24|0;j=s+20|0;h=s+8|0;g=s;f=s+48|0;m=s+16|0;k[e>>2]=a;k[c>>2]=b;k[p>>2]=0;do if(!(k[(k[c>>2]|0)+40>>2]|0)){k[o>>2]=k[k[e>>2]>>2];t=(k[e>>2]|0)+32|0;a=k[t+4>>2]|0;b=h;k[b>>2]=k[t>>2];k[b+4>>2]=a;k[n>>2]=k[c>>2];while(1){if(k[(k[n>>2]|0)+8>>2]|0)c=(k[k[(k[n>>2]|0)+8>>2]>>2]|0)==1;else c=0;a=k[n>>2]|0;if(!c)break;k[n>>2]=k[a+8>>2]}a=a+24|0;b=k[a+4>>2]|0;t=g;k[t>>2]=k[a>>2];k[t+4>>2]=b;i[f>>0]=i[(k[n>>2]|0)+32>>0]|0;k[j>>2]=k[n>>2];while(1){if(!(k[j>>2]|0))break;c=k[j>>2]|0;if((k[k[j>>2]>>2]|0)!=5)c=k[c+16>>2]|0;k[m>>2]=c;t=Sd((k[(k[o>>2]|0)+24>>2]|0)*3<<2)|0;k[(k[m>>2]|0)+40>>2]=t;if(!(k[(k[m>>2]|0)+40>>2]|0)){q=12;break}dS(k[(k[m>>2]|0)+40>>2]|0,0,(k[(k[o>>2]|0)+24>>2]|0)*3<<2|0)|0;k[j>>2]=k[(k[j>>2]|0)+12>>2]}if((q|0)==12){k[d>>2]=7;t=k[d>>2]|0;r=s;return t|0}an(k[e>>2]|0,k[n>>2]|0,p);while(1){if(!((l[(k[e>>2]|0)+6>>0]|0)==0?(k[p>>2]|0)==0:0))break;do{if(!(l[(k[e>>2]|0)+7>>0]|0))ge(k[(k[e>>2]|0)+8>>2]|0)|0;bn(k[e>>2]|0,k[n>>2]|0,p);i[(k[e>>2]|0)+6>>0]=i[(k[n>>2]|0)+32>>0]|0;i[(k[e>>2]|0)+7>>0]=1;k[(k[e>>2]|0)+88>>2]=1;o=(k[n>>2]|0)+24|0;q=k[o+4>>2]|0;t=(k[e>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=q;if(l[(k[e>>2]|0)+6>>0]|0)break;if((k[k[n>>2]>>2]|0)!=1)break}while((Ym(k[e>>2]|0,p)|0)!=0);if(k[p>>2]|0)continue;if(l[(k[e>>2]|0)+6>>0]|0)continue;Tn(k[n>>2]|0)}i[(k[e>>2]|0)+6>>0]=0;o=h;q=k[o+4>>2]|0;t=(k[e>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=q;if(i[f>>0]|0){i[(k[n>>2]|0)+32>>0]=i[f>>0]|0;break}an(k[e>>2]|0,k[n>>2]|0,p);do{bn(k[e>>2]|0,k[n>>2]|0,p);q=(k[n>>2]|0)+24|0;t=g}while(((k[q>>2]|0)!=(k[t>>2]|0)?1:(k[q+4>>2]|0)!=(k[t+4>>2]|0))?(k[p>>2]|0)==0:0)}while(0);k[d>>2]=k[p>>2];t=k[d>>2]|0;r=s;return t|0}function Tn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;b=h+12|0;f=h+8|0;g=h+4|0;d=h+20|0;e=h;k[c>>2]=a;if(!(k[c>>2]|0)){r=h;return}k[b>>2]=k[(k[c>>2]|0)+20>>2];a:do if((k[b>>2]|0)!=0?(k[(k[b>>2]|0)+28>>2]|0)!=0:0){k[f>>2]=0;k[g>>2]=k[(k[b>>2]|0)+28>>2];while(1){i[d>>0]=0;k[e>>2]=0;while(1){if(!(254&(i[k[g>>2]>>0]|l[d>>0])))break;if(!(l[d>>0]&128))k[e>>2]=(k[e>>2]|0)+1;b=k[g>>2]|0;k[g>>2]=b+1;i[d>>0]=i[b>>0]&128}b=(k[(k[c>>2]|0)+40>>2]|0)+(((k[f>>2]|0)*3|0)+1<<2)|0;k[b>>2]=(k[b>>2]|0)+(k[e>>2]|0);b=(k[(k[c>>2]|0)+40>>2]|0)+(((k[f>>2]|0)*3|0)+2<<2)|0;k[b>>2]=(k[b>>2]|0)+((k[e>>2]|0)>0&1);if(!(i[k[g>>2]>>0]|0))break a;k[g>>2]=(k[g>>2]|0)+1;a=k[g>>2]|0;if(l[k[g>>2]>>0]&128)a=jm(a,f)|0;else{k[f>>2]=l[a>>0];a=1}k[g>>2]=(k[g>>2]|0)+a}}while(0);Tn(k[(k[c>>2]|0)+12>>2]|0);Tn(k[(k[c>>2]|0)+16>>2]|0);r=h;return}function Un(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+32|0;o=n+28|0;c=n+24|0;j=n+20|0;e=n+16|0;h=n+12|0;g=n+8|0;d=n+4|0;f=n;k[o>>2]=a;k[c>>2]=b;k[j>>2]=k[k[k[c>>2]>>2]>>2];k[h>>2]=k[(k[o>>2]|0)+20>>2];k[g>>2]=k[(k[h>>2]|0)+28>>2];k[d>>2]=0;b=k[(k[o>>2]|0)+36>>2]|0;a=k[(k[c>>2]|0)+4>>2]|0;if((i[(k[c>>2]|0)+24>>0]|0)==121){o=ha(b,a)|0;k[e>>2]=o}else{o=ha(b,(a+31|0)/32|0)|0;k[e>>2]=o}while(1){o=$m(g)|0;k[f>>2]=o;if(!((k[(k[h>>2]|0)+68>>2]|0)<(k[(k[j>>2]|0)+24>>2]|0)?(k[(k[h>>2]|0)+68>>2]|0)!=(k[d>>2]|0):0))m=6;do if((m|0)==6){m=0;b=k[f>>2]|0;if((i[(k[c>>2]|0)+24>>0]|0)==121){k[(k[(k[c>>2]|0)+28>>2]|0)+((k[e>>2]|0)+(k[d>>2]|0)<<2)>>2]=b;break}if(b){o=(k[(k[c>>2]|0)+28>>2]|0)+((k[e>>2]|0)+(((k[d>>2]|0)+1|0)/32|0)<<2)|0;k[o>>2]=k[o>>2]|1<<(k[d>>2]&31)}}while(0);if((i[k[g>>2]>>0]|0)!=1)break;k[g>>2]=(k[g>>2]|0)+1;b=k[g>>2]|0;if(l[k[g>>2]>>0]&128)b=jm(b,d)|0;else{k[d>>2]=l[b>>0];b=1}k[g>>2]=(k[g>>2]|0)+b}r=n;return}function Vn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;h=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[h>>2]=c;k[f>>2]=k[h>>2];k[(k[f>>2]|0)+(k[e>>2]<<4)>>2]=k[g>>2];r=d;return 0}function Wn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;b=f+16|0;d=f+12|0;c=f;e=f+8|0;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+8>>2];k[e>>2]=0;g=im(k[d>>2]|0,c)|0;k[d>>2]=(k[d>>2]|0)+g;g=c;a=c;if((k[g>>2]|0)==0&(k[g+4>>2]|0)==0|(k[a>>2]|0)==1&(k[a+4>>2]|0)==0){k[d>>2]=0;k[e>>2]=1;d=k[d>>2]|0;g=k[b>>2]|0;g=g+8|0;k[g>>2]=d;g=k[e>>2]|0;r=f;return g|0}else{a=c;a=_R(k[a>>2]|0,k[a+4>>2]|0,2,0)|0;g=(k[b>>2]|0)+12|0;k[g>>2]=(k[g>>2]|0)+a;d=k[d>>2]|0;g=k[b>>2]|0;g=g+8|0;k[g>>2]=d;g=k[e>>2]|0;r=f;return g|0}return 0}function Xn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;i=e+20|0;h=e+12|0;d=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[e+16>>2]=b;k[h>>2]=c;k[d>>2]=0;k[f>>2]=k[(k[i>>2]|0)+20>>2];k[g>>2]=k[h>>2];a=(k[g>>2]|0)+4|0;k[a>>2]=(k[a>>2]|0)+1;a=(k[g>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)+(k[(k[f>>2]|0)+64>>2]|0);r=e;return k[d>>2]|0}function Yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;g=i+12|0;h=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;d=zl(k[j>>2]|0,21,g,0)|0;k[h>>2]=d;do if(!(k[h>>2]|0)){j=e;Ve(k[g>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;j=De(k[g>>2]|0)|0;k[h>>2]=j;if((k[h>>2]|0)==100?(Qe(k[g>>2]|0,0)|0)==4:0){k[h>>2]=0;break}j=ge(k[g>>2]|0)|0;k[h>>2]=j;k[h>>2]=(k[h>>2]|0)==0?267:j;k[g>>2]=0}while(0);k[k[f>>2]>>2]=k[g>>2];r=i;return k[h>>2]|0}function Zn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;b=zl(k[g>>2]|0,22,d,0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){Ue(k[d>>2]|0,1,0)|0;if((De(k[d>>2]|0)|0)==100?(Qe(k[d>>2]|0,0)|0)==4:0)break;g=ge(k[d>>2]|0)|0;k[e>>2]=g;k[e>>2]=(k[e>>2]|0)==0?267:g;k[d>>2]=0}while(0);k[k[c>>2]>>2]=k[d>>2];r=f;return k[e>>2]|0}function _n(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[d>>2]|0)+(0-(k[(k[d>>2]|0)+-4>>2]|0));a=k[b>>2]|0;if((k[d>>2]|0)==((k[b>>2]|0)+16+4|0))i[a+1>>0]=0;else i[a+2>>0]=0;if(l[k[b>>2]>>0]|0){r=c;return}if(l[(k[b>>2]|0)+1>>0]|0){r=c;return}if(l[(k[b>>2]|0)+2>>0]|0){r=c;return}Ud(k[b>>2]|0);r=c;return}function $n(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;g=d;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;k[a>>2]=(k[a>>2]|0)+1;k[(k[e>>2]|0)+36>>2]=k[f>>2];r=d;return 0}function ao(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=kf(k[(k[b>>2]|0)+12>>2]|0,23369,0,0,0)|0;k[c>>2]=a;do if(!(k[c>>2]|0)){a=bo(k[b>>2]|0,1)|0;k[c>>2]=a;a=k[(k[b>>2]|0)+12>>2]|0;if(!((k[c>>2]|0)==0|(k[c>>2]|0)==101)){kf(a,23397,0,0,0)|0;kf(k[(k[b>>2]|0)+12>>2]|0,23384,0,0,0)|0;break}a=kf(a,23384,0,0,0)|0;k[d>>2]=a;if(k[d>>2]|0)k[c>>2]=k[d>>2]}while(0);Im(k[b>>2]|0);r=e;return k[c>>2]|0}function bo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+28|0;d=l+24|0;e=l+20|0;i=l+16|0;h=l+12|0;j=l+8|0;f=l+4|0;g=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[h>>2]=0;a=zl(k[c>>2]|0,27,h,0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){Ue(k[h>>2]|0,1,k[(k[c>>2]|0)+272>>2]|0)|0;Ue(k[h>>2]|0,2,k[(k[c>>2]|0)+248>>2]|0)|0;a:while(1){a=(De(k[h>>2]|0)|0)==100;b=k[h>>2]|0;if(!a)break;a=Me(b,0)|0;k[g>>2]=a;k[f>>2]=0;while(1){if(k[i>>2]|0)continue a;if((k[f>>2]|0)>=(k[(k[c>>2]|0)+248>>2]|0))continue a;a=yl(k[c>>2]|0,k[g>>2]|0,k[f>>2]|0,-2)|0;k[i>>2]=a;if((k[i>>2]|0)==101){k[e>>2]=1;k[i>>2]=0}k[f>>2]=(k[f>>2]|0)+1}}h=ge(b)|0;k[j>>2]=h;if(!(k[i>>2]|0))k[i>>2]=k[j>>2]}Im(k[c>>2]|0);tl(k[c>>2]|0);r=l;return ((k[i>>2]|0)==0&(k[d>>2]|0)!=0&(k[e>>2]|0)!=0?101:k[i>>2]|0)|0}function co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+208|0;y=C+32|0;c=C+132|0;d=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;q=C+112|0;j=C+108|0;B=C+96|0;x=C;s=C+92|0;f=C+88|0;e=C+84|0;o=C+80|0;m=C+76|0;l=C+72|0;z=C+68|0;p=C+64|0;h=C+60|0;n=C+56|0;w=C+52|0;u=C+48|0;g=C+136|0;k[c>>2]=a;k[d>>2]=b;k[v>>2]=k[k[d>>2]>>2];k[t>>2]=k[k[(k[v>>2]|0)+36>>2]>>2];k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;if(!(k[(k[d>>2]|0)+12>>2]|0)){we(k[c>>2]|0,18402,0,0);r=C;return};k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[x+16>>2]=0;k[x+20>>2]=0;k[x+24>>2]=0;k[x+28>>2]=0;a=Tm(k[d>>2]|0,0,q)|0;k[A>>2]=a;a:do if(!(k[A>>2]|0)){a=Sd((k[q>>2]|0)*12|0)|0;k[x+24>>2]=a;if(!(k[x+24>>2]|0)){k[A>>2]=7;break}D=(k[d>>2]|0)+32|0;b=k[D+4>>2]|0;a=x+16|0;k[a>>2]=k[D>>2];k[a+4>>2]=b;k[x>>2]=k[d>>2];k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[v>>2]|0)+24>>2]|0))break a;k[e>>2]=0;k[o>>2]=0;k[m>>2]=0;k[l>>2]=0;k[x+4>>2]=k[j>>2];k[x+8>>2]=0;Xm(k[(k[d>>2]|0)+12>>2]|0,158,x)|0;D=Oe(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0;k[z>>2]=D;D=Ke(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0;k[p>>2]=D;if(!(k[z>>2]|0)){if((Qe(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0)!=5)break}else{D=Mn(k[(k[v>>2]|0)+36>>2]|0,k[(k[d>>2]|0)+16>>2]|0,k[z>>2]|0,k[p>>2]|0,s)|0;k[A>>2]=D;if(k[A>>2]|0)break a;D=ac[k[(k[t>>2]|0)+20>>2]&255](k[s>>2]|0,f,e,o,m,l)|0;k[A>>2]=D;while(1){if(k[A>>2]|0)break;k[n>>2]=2147483647;k[w>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[q>>2]|0))break;k[u>>2]=(k[x+24>>2]|0)+((k[h>>2]|0)*12|0);if((k[k[u>>2]>>2]|0)!=0?((k[(k[u>>2]|0)+4>>2]|0)-(k[(k[u>>2]|0)+8>>2]|0)|0)<(k[n>>2]|0):0){k[n>>2]=(k[(k[u>>2]|0)+4>>2]|0)-(k[(k[u>>2]|0)+8>>2]|0);k[w>>2]=k[u>>2]}k[h>>2]=(k[h>>2]|0)+1}if(!(k[w>>2]|0)){k[A>>2]=101;continue}b=k[w>>2]|0;if(!(254&i[k[k[w>>2]>>2]>>0]))k[b>>2]=0;else fo(b,(k[w>>2]|0)+4|0);while(1){if(k[A>>2]|0)break;if((k[l>>2]|0)>=(k[n>>2]|0))break;D=ac[k[(k[t>>2]|0)+20>>2]&255](k[s>>2]|0,f,e,o,m,l)|0;k[A>>2]=D}if(!(k[A>>2]|0)){b=((k[w>>2]|0)-(k[x+24>>2]|0)|0)/12|0;a=k[o>>2]|0;D=(k[m>>2]|0)-(k[o>>2]|0)|0;k[y>>2]=k[j>>2];k[y+4>>2]=b;k[y+8>>2]=a;k[y+12>>2]=D;_d(64,g,23414,y)|0;D=go(B,g,-1)|0;k[A>>2]=D;continue}if((k[A>>2]|0)!=101)continue;if(k[(k[v>>2]|0)+40>>2]|0)continue;k[A>>2]=267}if((k[A>>2]|0)==101)k[A>>2]=0;bc[k[(k[t>>2]|0)+16>>2]&255](k[s>>2]|0)|0;if(k[A>>2]|0)break a}k[j>>2]=(k[j>>2]|0)+1}k[A>>2]=7}while(0);Ud(k[x+24>>2]|0);Im(k[v>>2]|0);b=k[c>>2]|0;if(k[A>>2]|0){Ae(b,k[A>>2]|0);Ud(k[B>>2]|0);r=C;return}else{we(b,k[B>>2]|0,(k[B+4>>2]|0)-1|0,148);r=C;return}}function eo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+48|0;m=l+36|0;n=l+28|0;g=l+24|0;f=l+20|0;e=l+16|0;h=l+12|0;d=l+8|0;j=l+4|0;i=l;k[m>>2]=a;k[l+32>>2]=b;k[n>>2]=c;k[g>>2]=k[n>>2];k[d>>2]=0;a=_m(k[k[g>>2]>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+4>>2]|0,h)|0;k[j>>2]=a;k[f>>2]=k[(k[(k[m>>2]|0)+20>>2]|0)+64>>2];if(k[h>>2]|0)fo(h,d);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;m=(k[g>>2]|0)+8|0;n=k[m>>2]|0;k[m>>2]=n+1;k[i>>2]=(k[(k[g>>2]|0)+24>>2]|0)+(n*12|0);k[(k[i>>2]|0)+8>>2]=(k[f>>2]|0)-(k[e>>2]|0)-1;k[k[i>>2]>>2]=k[h>>2];k[(k[i>>2]|0)+4>>2]=k[d>>2];k[e>>2]=(k[e>>2]|0)+1}r=l;return k[j>>2]|0}function fo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;b=k[k[c>>2]>>2]|0;if((l[k[k[c>>2]>>2]>>0]|0)&128)b=jm(b,e)|0;else{k[e>>2]=l[b>>0];b=1}c=k[c>>2]|0;k[c>>2]=(k[c>>2]|0)+b;d=k[d>>2]|0;k[d>>2]=(k[d>>2]|0)+((k[e>>2]|0)-2);r=f;return}function go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[g>>2]|0)<0){b=uR(k[f>>2]|0)|0;k[g>>2]=b}do if(((k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]|0)+1|0)>=(k[(k[e>>2]|0)+8>>2]|0)){k[h>>2]=(k[(k[e>>2]|0)+8>>2]|0)+(k[g>>2]|0)+100;b=Vd(k[k[e>>2]>>2]|0,k[h>>2]|0)|0;k[j>>2]=b;if(k[j>>2]|0){k[k[e>>2]>>2]=k[j>>2];k[(k[e>>2]|0)+8>>2]=k[h>>2];break}k[d>>2]=7;j=k[d>>2]|0;r=l;return j|0}while(0);bS((k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)|0,k[f>>2]|0,k[g>>2]|0)|0;j=(k[e>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+(k[g>>2]|0);i[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)>>0]=0;k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function ho(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+224|0;h=G+212|0;i=G+208|0;j=G+204|0;l=G+200|0;m=G+196|0;n=G+192|0;o=G+188|0;B=G+184|0;E=G+180|0;q=G+176|0;F=G+164|0;z=G+160|0;p=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[B>>2]=k[k[i>>2]>>2];k[E>>2]=0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[z>>2]=0;k[y>>2]=-1;if(!(k[(k[i>>2]|0)+12>>2]|0)){we(k[h>>2]|0,18402,0,0);r=G;return}k[z>>2]=1;a:while(1){f=w;k[f>>2]=0;k[f+4>>2]=0;f=x;k[f>>2]=0;k[f+4>>2]=0;f=k[o>>2]|0;if((k[o>>2]|0)>=0)k[y>>2]=(f+(k[z>>2]|0)-1|0)/(k[z>>2]|0)|0;else{c=ha(-1,f)|0;k[y>>2]=c}k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[z>>2]|0))break;k[s>>2]=-1;k[A>>2]=p+((k[v>>2]|0)*24|0);c=k[A>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[B>>2]|0)+24>>2]|0))break;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[C+12>>2]=0;k[C+16>>2]=0;k[C+20>>2]=0;k[u>>2]=0;if(!((k[n>>2]|0)>=0?(k[t>>2]|0)!=(k[n>>2]|0):0)){c=w;c=io(k[y>>2]|0,k[i>>2]|0,k[t>>2]|0,k[c>>2]|0,k[c+4>>2]|0,x,C,u)|0;k[E>>2]=c;if(k[E>>2]|0)break a;if((k[u>>2]|0)>(k[s>>2]|0)){c=k[A>>2]|0;k[c>>2]=k[C>>2];k[c+4>>2]=k[C+4>>2];k[c+8>>2]=k[C+8>>2];k[c+12>>2]=k[C+12>>2];k[c+16>>2]=k[C+16>>2];k[c+20>>2]=k[C+20>>2];k[s>>2]=k[u>>2]}}k[t>>2]=(k[t>>2]|0)+1}e=(k[A>>2]|0)+8|0;a=w;d=k[a+4>>2]|k[e+4>>2];c=w;k[c>>2]=k[a>>2]|k[e>>2];k[c+4>>2]=d;k[v>>2]=(k[v>>2]|0)+1}d=x;c=w;if(((k[d>>2]|0)==(k[c>>2]|0)?(k[d+4>>2]|0)==(k[c+4>>2]|0):0)|(k[z>>2]|0)==4){D=20;break}k[z>>2]=(k[z>>2]|0)+1}b:do if((D|0)==20){k[q>>2]=0;while(1){if(!((k[q>>2]|0)<(k[z>>2]|0)?(k[E>>2]|0)==0:0))break b;D=jo(k[i>>2]|0,p+((k[q>>2]|0)*24|0)|0,k[q>>2]|0,(k[q>>2]|0)==((k[z>>2]|0)-1|0)&1,k[y>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,F)|0;k[E>>2]=D;k[q>>2]=(k[q>>2]|0)+1}}while(0);Im(k[B>>2]|0);f=k[h>>2]|0;if(k[E>>2]|0){Ae(f,k[E>>2]|0);Ud(k[F>>2]|0);r=G;return}else{we(f,k[F>>2]|0,-1,148);r=G;return}}function io(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+112|0;i=C+104|0;j=C+100|0;l=C+96|0;m=C+92|0;n=C+16|0;o=C+88|0;p=C+84|0;q=C+80|0;A=C+76|0;z=C+72|0;B=C+48|0;y=C+40|0;t=C+36|0;s=C+32|0;u=C+28|0;v=C+24|0;w=C+8|0;x=C;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;b=n;k[b>>2]=d;k[b+4>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[t>>2]=-1;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;k[B+16>>2]=0;k[B+20>>2]=0;f=Tm(k[l>>2]|0,z,0)|0;k[A>>2]=f;if(k[A>>2]|0){k[i>>2]=k[A>>2];B=k[i>>2]|0;r=C;return B|0}k[y>>2]=(k[z>>2]|0)*24;f=Sd(k[y>>2]|0)|0;k[B+16>>2]=f;if(!(k[B+16>>2]|0)){k[i>>2]=7;B=k[i>>2]|0;r=C;return B|0}dS(k[B+16>>2]|0,0,k[y>>2]|0)|0;k[B>>2]=k[l>>2];k[B+4>>2]=k[m>>2];k[B+8>>2]=k[j>>2];k[B+12>>2]=k[z>>2];k[B+20>>2]=-1;f=Xm(k[(k[l>>2]|0)+12>>2]|0,159,B)|0;k[A>>2]=f;if(!(k[A>>2]|0)){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[z>>2]|0))break;if(k[(k[B+16>>2]|0)+((k[s>>2]|0)*24|0)+12>>2]|0){g=eS(1,0,k[s>>2]|0)|0;f=k[o>>2]|0;b=f;h=k[b+4>>2]|L;k[f>>2]=k[b>>2]|g;k[f+4>>2]=h}k[s>>2]=(k[s>>2]|0)+1}k[k[p>>2]>>2]=k[m>>2];while(1){if(!((mo(B)|0)!=0^1))break;f=n;no(B,k[f>>2]|0,k[f+4>>2]|0,u,v,w,x);if((k[v>>2]|0)<=(k[t>>2]|0))continue;k[(k[p>>2]|0)+4>>2]=k[u>>2];f=x;h=k[f+4>>2]|0;g=(k[p>>2]|0)+16|0;k[g>>2]=k[f>>2];k[g+4>>2]=h;g=w;h=k[g+4>>2]|0;f=(k[p>>2]|0)+8|0;k[f>>2]=k[g>>2];k[f+4>>2]=h;k[t>>2]=k[v>>2]}k[k[q>>2]>>2]=k[t>>2]}Ud(k[B+16>>2]|0);k[i>>2]=k[A>>2];B=k[i>>2]|0;r=C;return B|0}function jo(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0;N=r;r=r+128|0;j=N+112|0;l=N+108|0;P=N+104|0;m=N+100|0;n=N+96|0;o=N+92|0;p=N+88|0;q=N+84|0;s=N+80|0;t=N+76|0;I=N+72|0;J=N+68|0;K=N+64|0;F=N+60|0;y=N+56|0;z=N+52|0;D=N+48|0;B=N+44|0;w=N;O=N+40|0;H=N+36|0;G=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;C=N+12|0;E=N+8|0;k[l>>2]=a;k[P>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[I>>2]=k[k[l>>2]>>2];k[y>>2]=0;k[z>>2]=0;k[D>>2]=0;k[B>>2]=k[(k[P>>2]|0)+4>>2];f=(k[P>>2]|0)+16|0;d=k[f+4>>2]|0;c=w;k[c>>2]=k[f>>2];k[c+4>>2]=d;k[O>>2]=(k[k[P>>2]>>2]|0)+1;c=Oe(k[(k[l>>2]|0)+8>>2]|0,k[O>>2]|0)|0;k[K>>2]=c;c=k[(k[l>>2]|0)+8>>2]|0;d=k[O>>2]|0;if(!(k[K>>2]|0))if((Qe(c,d)|0)!=5){k[j>>2]=7;P=k[j>>2]|0;r=N;return P|0}else{k[j>>2]=0;P=k[j>>2]|0;r=N;return P|0}P=Ke(c,d)|0;k[F>>2]=P;k[H>>2]=k[k[(k[I>>2]|0)+36>>2]>>2];P=Mn(k[(k[I>>2]|0)+36>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[K>>2]|0,k[F>>2]|0,G)|0;k[J>>2]=P;if(k[J>>2]|0){k[j>>2]=k[J>>2];P=k[j>>2]|0;r=N;return P|0}while(1){if(k[J>>2]|0)break;k[u>>2]=-1;k[x>>2]=0;k[A>>2]=0;k[C>>2]=0;P=ac[k[(k[H>>2]|0)+20>>2]&255](k[G>>2]|0,v,u,x,A,y)|0;k[J>>2]=P;if(k[J>>2]|0){M=9;break}if((k[y>>2]|0)<(k[B>>2]|0))continue;if(!(k[D>>2]|0)){k[E>>2]=(k[F>>2]|0)-(k[x>>2]|0);P=ko(k[I>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[o>>2]|0,(k[K>>2]|0)+(k[x>>2]|0)|0,k[E>>2]|0,B,w)|0;k[J>>2]=P;k[D>>2]=1;do if(!(k[J>>2]|0)){if((k[B>>2]|0)>0|(k[m>>2]|0)>0){P=go(k[t>>2]|0,k[s>>2]|0,-1)|0;k[J>>2]=P;break}if(k[x>>2]|0){P=go(k[t>>2]|0,k[K>>2]|0,k[x>>2]|0)|0;k[J>>2]=P}}while(0);if(k[J>>2]|0)continue;if((k[y>>2]|0)<(k[B>>2]|0))continue}if((k[y>>2]|0)>=((k[B>>2]|0)+(k[o>>2]|0)|0)){M=21;break}P=w;f=k[P>>2]|0;P=k[P+4>>2]|0;O=eS(1,0,(k[y>>2]|0)-(k[B>>2]|0)|0)|0;k[C>>2]=((f&O|0)!=0|(P&L|0)!=0)&1;if((k[y>>2]|0)>(k[B>>2]|0)){P=go(k[t>>2]|0,(k[K>>2]|0)+(k[z>>2]|0)|0,(k[x>>2]|0)-(k[z>>2]|0)|0)|0;k[J>>2]=P}if((k[J>>2]|0)==0&(k[C>>2]|0)!=0){P=go(k[t>>2]|0,k[p>>2]|0,-1)|0;k[J>>2]=P}if(!(k[J>>2]|0)){P=go(k[t>>2]|0,(k[K>>2]|0)+(k[x>>2]|0)|0,(k[A>>2]|0)-(k[x>>2]|0)|0)|0;k[J>>2]=P}if((k[J>>2]|0)==0&(k[C>>2]|0)!=0){P=go(k[t>>2]|0,k[q>>2]|0,-1)|0;k[J>>2]=P}k[z>>2]=k[A>>2]}if((M|0)==9){if((k[J>>2]|0)==101){P=go(k[t>>2]|0,(k[K>>2]|0)+(k[z>>2]|0)|0,-1)|0;k[J>>2]=P}}else if((M|0)==21?(k[n>>2]|0)!=0:0){P=go(k[t>>2]|0,k[s>>2]|0,-1)|0;k[J>>2]=P}bc[k[(k[H>>2]|0)+16>>2]&255](k[G>>2]|0)|0;k[j>>2]=k[J>>2];P=k[j>>2]|0;r=N;return P|0}function ko(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;w=E+84|0;h=E+80|0;i=E+76|0;x=E+72|0;j=E+68|0;l=E+64|0;y=E+60|0;z=E+56|0;A=E;s=E+52|0;t=E+48|0;q=E+44|0;C=E+40|0;B=E+36|0;D=E+32|0;v=E+28|0;u=E+24|0;p=E+20|0;m=E+16|0;n=E+12|0;o=E+8|0;k[h>>2]=a;k[i>>2]=b;k[x>>2]=c;k[j>>2]=d;k[l>>2]=e;k[y>>2]=f;k[z>>2]=g;a=k[z>>2]|0;f=k[a+4>>2]|0;d=A;k[d>>2]=k[a>>2];k[d+4>>2]=f;d=A;do if((k[d>>2]|0)!=0|(k[d+4>>2]|0)!=0){k[s>>2]=0;while(1){d=A;a=k[d>>2]|0;d=k[d+4>>2]|0;f=eS(1,0,k[s>>2]|0)|0;if(!(((a&f|0)!=0|(d&L|0)!=0)^1))break;k[s>>2]=(k[s>>2]|0)+1}k[t>>2]=0;while(1){d=A;a=k[d>>2]|0;d=k[d+4>>2]|0;f=eS(1,0,(k[x>>2]|0)-1-(k[t>>2]|0)|0)|0;if(!(((a&f|0)!=0|(d&L|0)!=0)^1))break;k[t>>2]=(k[t>>2]|0)+1}k[q>>2]=((k[s>>2]|0)-(k[t>>2]|0)|0)/2|0;if((k[q>>2]|0)>0){k[B>>2]=0;k[v>>2]=k[k[(k[h>>2]|0)+36>>2]>>2];d=Mn(k[(k[h>>2]|0)+36>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,u)|0;k[D>>2]=d;if(k[D>>2]|0){k[w>>2]=k[D>>2];D=k[w>>2]|0;r=E;return D|0}while(1){if(k[D>>2]|0)break;if((k[B>>2]|0)>=((k[x>>2]|0)+(k[q>>2]|0)|0))break;k[m>>2]=0;k[n>>2]=0;k[o>>2]=0;d=ac[k[(k[v>>2]|0)+20>>2]&255](k[u>>2]|0,p,m,n,o,B)|0;k[D>>2]=d}bc[k[(k[v>>2]|0)+16>>2]&255](k[u>>2]|0)|0;h=k[D>>2]|0;if((k[D>>2]|0)!=0&(k[D>>2]|0)!=101){k[w>>2]=h;D=k[w>>2]|0;r=E;return D|0}else{k[C>>2]=((h|0)==101&1)+(k[B>>2]|0)-(k[x>>2]|0);if((k[C>>2]|0)<=0)break;D=k[y>>2]|0;k[D>>2]=(k[D>>2]|0)+(k[C>>2]|0);D=A;C=aS(k[D>>2]|0,k[D+4>>2]|0,k[C>>2]|0)|0;D=k[z>>2]|0;k[D>>2]=C;k[D+4>>2]=L;break}}}while(0);k[w>>2]=0;D=k[w>>2]|0;r=E;return D|0}function lo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=r;r=r+32|0;j=h+28|0;l=h+24|0;m=h+20|0;i=h+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[i>>2]=k[m>>2];k[f>>2]=(k[(k[i>>2]|0)+16>>2]|0)+((k[l>>2]|0)*24|0);k[k[f>>2]>>2]=k[(k[(k[j>>2]|0)+20>>2]|0)+64>>2];a=_m(k[k[i>>2]>>2]|0,k[j>>2]|0,k[(k[i>>2]|0)+4>>2]|0,e)|0;k[g>>2]=a;if(!(k[e>>2]|0)){m=k[g>>2]|0;r=h;return m|0}k[d>>2]=0;k[(k[f>>2]|0)+4>>2]=k[e>>2];fo(e,d);k[(k[f>>2]|0)+12>>2]=k[e>>2];k[(k[f>>2]|0)+20>>2]=k[e>>2];k[(k[f>>2]|0)+8>>2]=k[d>>2];k[(k[f>>2]|0)+16>>2]=k[d>>2];m=k[g>>2]|0;r=h;return m|0}function mo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;b=j+28|0;c=j+24|0;d=j+20|0;g=j+16|0;f=j+12|0;e=j+8|0;h=j+4|0;i=j;k[c>>2]=a;a:do if((k[(k[c>>2]|0)+20>>2]|0)<0){k[(k[c>>2]|0)+20>>2]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break a;k[g>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);oo((k[g>>2]|0)+12|0,(k[g>>2]|0)+8|0,k[(k[c>>2]|0)+8>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}else{k[e>>2]=2147483647;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break;k[h>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);if((k[(k[h>>2]|0)+12>>2]|0)!=0?(k[(k[h>>2]|0)+8>>2]|0)<(k[e>>2]|0):0)k[e>>2]=k[(k[h>>2]|0)+8>>2];k[d>>2]=(k[d>>2]|0)+1}if((k[e>>2]|0)==2147483647){k[b>>2]=1;i=k[b>>2]|0;r=j;return i|0}h=(k[e>>2]|0)-(k[(k[c>>2]|0)+8>>2]|0)+1|0;k[f>>2]=h;k[(k[c>>2]|0)+20>>2]=h;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break a;k[i>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);oo((k[i>>2]|0)+12|0,(k[i>>2]|0)+8|0,(k[e>>2]|0)+1|0);oo((k[i>>2]|0)+20|0,(k[i>>2]|0)+16|0,k[f>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);k[b>>2]=0;i=k[b>>2]|0;r=j;return i|0}function no(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;h=B+84|0;j=B+32|0;l=B+80|0;m=B+76|0;n=B+72|0;o=B+68|0;t=B+64|0;s=B+60|0;p=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;q=B+44|0;u=B+40|0;x=B+8|0;y=B;k[h>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[t>>2]=k[(k[h>>2]|0)+20>>2];k[s>>2]=0;g=v;k[g>>2]=0;k[g+4>>2]=0;g=w;k[g>>2]=0;k[g+4>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[h>>2]|0)+12>>2]|0))break;k[A>>2]=(k[(k[h>>2]|0)+16>>2]|0)+((k[p>>2]|0)*24|0);a:do if(k[(k[A>>2]|0)+20>>2]|0){k[z>>2]=k[(k[A>>2]|0)+20>>2];k[q>>2]=k[(k[A>>2]|0)+16>>2];while(1){if((k[q>>2]|0)>=((k[t>>2]|0)+(k[(k[h>>2]|0)+8>>2]|0)|0))break a;d=eS(1,0,k[p>>2]|0)|0;f=x;k[f>>2]=d;k[f+4>>2]=L;f=eS(1,0,(k[q>>2]|0)-(k[t>>2]|0)|0)|0;d=y;k[d>>2]=f;k[d+4>>2]=L;d=v;f=j;g=x;b=k[s>>2]|0;if(((k[d>>2]|k[f>>2])&k[g>>2]|0)!=0?1:((k[d+4>>2]|k[f+4>>2])&k[g+4>>2]|0)!=0)k[s>>2]=b+1;else k[s>>2]=b+1e3;d=x;e=v;f=k[e+4>>2]|k[d+4>>2];g=v;k[g>>2]=k[e>>2]|k[d>>2];k[g+4>>2]=f;k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[k[A>>2]>>2]|0))break;d=y;d=aS(k[d>>2]|0,k[d+4>>2]|0,k[u>>2]|0)|0;e=w;f=k[e+4>>2]|L;g=w;k[g>>2]=k[e>>2]|d;k[g+4>>2]=f;k[u>>2]=(k[u>>2]|0)+1}if(!(i[k[z>>2]>>0]&254))break a;fo(z,q)}}while(0);k[p>>2]=(k[p>>2]|0)+1}k[k[l>>2]>>2]=k[t>>2];k[k[m>>2]>>2]=k[s>>2];A=v;z=k[A+4>>2]|0;y=k[n>>2]|0;k[y>>2]=k[A>>2];k[y+4>>2]=z;y=w;z=k[y+4>>2]|0;A=k[o>>2]|0;k[A>>2]=k[y>>2];k[A+4>>2]=z;r=B;return}function oo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];if(!(k[h>>2]|0)){r=l;return}k[g>>2]=k[k[e>>2]>>2];while(1){if((k[g>>2]|0)>=(k[f>>2]|0))break;if(!(i[k[h>>2]>>0]&254)){j=5;break}fo(h,g)}if((j|0)==5){k[g>>2]=-1;k[h>>2]=0}k[k[e>>2]>>2]=k[g>>2];k[k[d>>2]>>2]=k[h>>2];r=l;return}function po(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[h>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=0;b=zl(k[h>>2]|0,36,e,0)|0;k[f>>2]=b;if(k[f>>2]|0){b=k[d>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[f>>2]|0;r=g;return h|0}if(100==(De(k[e>>2]|0)|0)){h=Me(k[e>>2]|0,0)|0;k[d>>2]=h}b=ge(k[e>>2]|0)|0;k[f>>2]=b;b=k[d>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[f>>2]|0;r=g;return h|0}function qo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+128|0;d=C+112|0;e=C+108|0;D=C+104|0;f=C+100|0;A=C+96|0;u=C+92|0;w=C+88|0;x=C+84|0;z=C+80|0;v=C+76|0;m=C+16|0;j=C+64|0;g=C+60|0;t=C+8|0;y=C+52|0;i=C+48|0;o=C+44|0;p=C+40|0;n=C;q=C+36|0;h=C+32|0;B=C+28|0;s=C+24|0;k[e>>2]=a;k[D>>2]=b;k[f>>2]=c;k[u>>2]=k[D>>2];k[v>>2]=0;a=m;k[a>>2]=0;k[a+4>>2]=0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[g>>2]=0;k[C+56>>2]=640;a=Sd(640)|0;k[z>>2]=a;if(!(k[z>>2]|0)){k[d>>2]=7;D=k[d>>2]|0;r=C;return D|0}k[x>>2]=(k[z>>2]|0)+568;k[w>>2]=(k[x>>2]|0)+16;D=ro(k[e>>2]|0,j)|0;k[A>>2]=D;while(1){if(!((k[A>>2]|0)==0?(k[u>>2]|0)>0:0))break;a=k[(k[e>>2]|0)+248>>2]<<10;D=t;k[D>>2]=a;k[D+4>>2]=((a|0)<0)<<31>>31;k[y>>2]=0;k[i>>2]=0;k[o>>2]=0;D=zl(k[e>>2]|0,28,y,0)|0;k[A>>2]=D;Ue(k[y>>2]|0,1,2>(k[f>>2]|0)?2:k[f>>2]|0)|0;if((De(k[y>>2]|0)|0)==100){a=Ne(k[y>>2]|0,0)|0;D=m;k[D>>2]=a;k[D+4>>2]=L;D=Me(k[y>>2]|0,1)|0;k[v>>2]=D}else k[v>>2]=-1;D=ge(k[y>>2]|0)|0;k[A>>2]=D;do if((k[A>>2]|0)==0?(k[j+4>>2]|0)!=0:0){k[p>>2]=k[j+4>>2];D=n;k[D>>2]=0;k[D+4>>2]=0;k[q>>2]=0;D=so(j,n,q)|0;k[A>>2]=D;if((k[v>>2]|0)>=0?(b=m,a=t,a=jS(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0,b=L,c=n,D=t,D=jS(k[c>>2]|0,k[c+4>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0,c=L,!((b|0)>(c|0)|(b|0)==(c|0)&a>>>0>=D>>>0)):0){k[j+4>>2]=k[p>>2];break}c=n;a=k[c+4>>2]|0;D=m;k[D>>2]=k[c>>2];k[D+4>>2]=a;k[v>>2]=k[q>>2];k[i>>2]=1;k[g>>2]=1}while(0);if((k[v>>2]|0)<0)break;dS(k[z>>2]|0,0,640)|0;k[(k[x>>2]|0)+12>>2]=1;do if(!(k[A>>2]|0)){D=m;D=to(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,o)|0;k[A>>2]=D;if((k[o>>2]|0)!=0?!((k[i>>2]|0)!=0&(k[o>>2]|0)==1):0)break;k[h>>2]=0;a=k[e>>2]|0;D=m;D=$R(k[D>>2]|0,k[D+4>>2]|0,1,0)|0;D=uo(a,D,L,h)|0;k[A>>2]=D;if(k[h>>2]|0){D=(k[x>>2]|0)+12|0;k[D>>2]=k[D>>2]|2}}while(0);if(!(k[A>>2]|0)){D=m;D=vo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[v>>2]|0,k[w>>2]|0)|0;k[A>>2]=D}if(((0==(k[A>>2]|0)?(k[(k[w>>2]|0)+4>>2]|0)==(k[v>>2]|0):0)?(D=El(k[e>>2]|0,k[w>>2]|0,k[x>>2]|0)|0,k[A>>2]=D,0==(D|0)):0)?(D=Fl(k[e>>2]|0,k[w>>2]|0)|0,k[A>>2]=D,100==(D|0)):0){if((k[i>>2]|0)!=0&(k[o>>2]|0)>0){k[B>>2]=k[(k[w>>2]|0)+40>>2];k[s>>2]=k[(k[w>>2]|0)+44>>2];D=m;D=wo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,(k[o>>2]|0)-1|0,k[B>>2]|0,k[s>>2]|0,k[z>>2]|0)|0;k[A>>2]=D}else{D=m;D=xo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[o>>2]|0,k[w>>2]|0,k[z>>2]|0)|0;k[A>>2]=D}if((k[A>>2]|0)==0?(k[k[z>>2]>>2]|0)!=0:0){do{D=yo(k[e>>2]|0,k[z>>2]|0,k[w>>2]|0)|0;k[A>>2]=D;if(!(k[A>>2]|0)){D=Fl(k[e>>2]|0,k[w>>2]|0)|0;k[A>>2]=D}if((k[A>>2]|0)==100?(k[(k[z>>2]|0)+4>>2]|0)>=(k[u>>2]|0):0)k[A>>2]=0}while((k[A>>2]|0)==100);if((k[A>>2]|0)==0?(k[u>>2]=(k[u>>2]|0)-(1+(k[(k[z>>2]|0)+4>>2]|0)),D=m,D=zo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[w>>2]|0,v)|0,k[A>>2]=D,(k[v>>2]|0)!=0):0){k[g>>2]=1;D=m;Ao(j,k[D>>2]|0,k[D+4>>2]|0,k[v>>2]|0,A)}}if(k[v>>2]|0){a=(k[z>>2]|0)+40|0;a=kS(k[a>>2]|0,k[a+4>>2]|0,-1,-1)|0;D=(k[z>>2]|0)+40|0;k[D>>2]=a;k[D+4>>2]=L}Bo(k[e>>2]|0,k[z>>2]|0,A);if((k[v>>2]|0)==0?(l[(k[z>>2]|0)+48>>0]|0|0)==0:0){c=k[e>>2]|0;a=m;a=$R(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;D=(k[z>>2]|0)+40|0;Jl(c,a,L,k[D>>2]|0,k[D+4>>2]|0)|0}}Ll(k[w>>2]|0)}if((k[g>>2]|0)!=0&(k[A>>2]|0)==0){D=Co(k[e>>2]|0,j)|0;k[A>>2]=D}Ud(k[z>>2]|0);Ud(k[j>>2]|0);k[d>>2]=k[A>>2];D=k[d>>2]|0;r=C;return D|0}function ro(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+24|0;c=i+20|0;f=i+16|0;g=i+12|0;h=i+8|0;d=i+4|0;e=i;k[j>>2]=a;k[c>>2]=b;k[f>>2]=0;k[(k[c>>2]|0)+4>>2]=0;b=zl(k[j>>2]|0,22,f,0)|0;k[g>>2]=b;if(k[g>>2]|0){j=k[g>>2]|0;r=i;return j|0}Ue(k[f>>2]|0,1,1)|0;if((100==(De(k[f>>2]|0)|0)?(j=Je(k[f>>2]|0,0)|0,k[d>>2]=j,j=Ke(k[f>>2]|0,0)|0,k[e>>2]=j,(k[d>>2]|0)!=0):0)?(Do(k[c>>2]|0,k[e>>2]|0,g),(k[g>>2]|0)==0):0){bS(k[k[c>>2]>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[(k[c>>2]|0)+4>>2]=k[e>>2]}j=ge(k[f>>2]|0)|0;k[h>>2]=j;if(k[g>>2]|0){j=k[g>>2]|0;r=i;return j|0}k[g>>2]=k[h>>2];j=k[g>>2]|0;r=i;return j|0}function so(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;g=m+20|0;e=m+16|0;d=m+12|0;f=m+8|0;j=m+4|0;h=m;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;k[j>>2]=k[(k[e>>2]|0)+4>>2];k[h>>2]=(k[(k[e>>2]|0)+4>>2]|0)-2;while(1){if((k[h>>2]|0)<=0)break;if(!(i[(k[k[e>>2]>>2]|0)+((k[h>>2]|0)-1)>>0]&128))break;k[h>>2]=(k[h>>2]|0)+-1}while(1){if((k[h>>2]|0)>0)b=(i[(k[k[e>>2]>>2]|0)+((k[h>>2]|0)-1)>>0]&128|0)!=0;else b=0;a=k[h>>2]|0;if(!b)break;k[h>>2]=a+-1}k[(k[e>>2]|0)+4>>2]=a;a=im((k[k[e>>2]>>2]|0)+(k[h>>2]|0)|0,k[d>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+a;a=(k[k[e>>2]>>2]|0)+(k[h>>2]|0)|0;if(l[(k[k[e>>2]>>2]|0)+(k[h>>2]|0)>>0]&128)a=jm(a,k[f>>2]|0)|0;else{k[k[f>>2]>>2]=l[a>>0];a=1}k[h>>2]=(k[h>>2]|0)+a;if((k[h>>2]|0)!=(k[j>>2]|0)){k[g>>2]=267;j=k[g>>2]|0;r=m;return j|0}else{k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}return 0}function to(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;h=i+12|0;g=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;d=zl(k[j>>2]|0,8,g,0)|0;k[h>>2]=d;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}d=k[g>>2]|0;j=e;j=$R(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;Ve(d,1,j,L)|0;De(k[g>>2]|0)|0;j=Me(k[g>>2]|0,0)|0;k[k[f>>2]>>2]=j;j=ge(k[g>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function uo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;e=j+24|0;l=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;k[l>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;d=zl(k[l>>2]|0,15,h,0)|0;k[i>>2]=d;if(k[i>>2]|0){k[e>>2]=k[i>>2];l=k[e>>2]|0;r=j;return l|0}l=k[h>>2]|0;i=f;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;Ve(l,1,i,L)|0;i=k[h>>2]|0;l=f;l=iS(k[l>>2]|0,k[l+4>>2]|0,1024,0)|0;l=$R(l|0,L|0,1,0)|0;l=kS(l|0,L|0,1024,0)|0;Ve(i,2,l,L)|0;k[k[g>>2]>>2]=0;if(100==(De(k[h>>2]|0)|0)){l=(Qe(k[h>>2]|0,0)|0)==5&1;k[k[g>>2]>>2]=l}l=ge(k[h>>2]|0)|0;k[e>>2]=l;l=k[e>>2]|0;r=j;return l|0}function vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;f=p+36|0;g=p;h=p+32|0;i=p+28|0;n=p+24|0;m=p+20|0;l=p+16|0;j=p+12|0;o=p+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;k[m>>2]=0;b=k[i>>2]|0;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[l>>2]=k[h>>2]<<2;e=Sd(k[l>>2]|0)|0;k[k[i>>2]>>2]=e;if(!(k[k[i>>2]>>2]|0))k[n>>2]=7;else{dS(k[k[i>>2]>>2]|0,0,k[l>>2]|0)|0;l=zl(k[f>>2]|0,12,m,0)|0;k[n>>2]=l}if(k[n>>2]|0){o=k[n>>2]|0;r=p;return o|0}l=g;Ve(k[m>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;k[j>>2]=0;while(1){if(k[n>>2]|0)break;if((De(k[m>>2]|0)|0)!=100)break;if((k[j>>2]|0)>=(k[h>>2]|0))break;q=k[j>>2]|0;b=Ne(k[m>>2]|0,1)|0;c=L;d=Ne(k[m>>2]|0,2)|0;a=L;e=Ne(k[m>>2]|0,3)|0;f=L;g=Je(k[m>>2]|0,4)|0;l=Ke(k[m>>2]|0,4)|0;l=ym(q,0,b,c,d,a,e,f,g,l,(k[k[i>>2]>>2]|0)+(k[j>>2]<<2)|0)|0;k[n>>2]=l;l=(k[i>>2]|0)+4|0;k[l>>2]=(k[l>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+1}q=ge(k[m>>2]|0)|0;k[o>>2]=q;if(k[n>>2]|0){q=k[n>>2]|0;r=p;return q|0}k[n>>2]=k[o>>2];q=k[n>>2]|0;r=p;return q|0}function wo(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+208|0;y=J+200|0;z=J+196|0;h=J+120|0;j=J+192|0;l=J+188|0;m=J+184|0;A=J+180|0;G=J+176|0;F=J+172|0;s=J+112|0;q=J+104|0;p=J+96|0;v=J+168|0;x=J+164|0;H=J+160|0;o=J+156|0;n=J+152|0;t=J+148|0;u=J+48|0;C=J+144|0;w=J+140|0;E=J+136|0;I=J;B=J+132|0;D=J+128|0;k[z>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[A>>2]=g;k[F>>2]=0;e=zl(k[z>>2]|0,32,F,0)|0;k[G>>2]=e;if(!(k[G>>2]|0)){b=s;k[b>>2]=0;k[b+4>>2]=0;b=q;k[b>>2]=0;k[b+4>>2]=0;b=p;k[b>>2]=0;k[b+4>>2]=0;k[v>>2]=0;k[x>>2]=0;k[o>>2]=0;b=k[F>>2]|0;e=h;e=$R(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;Ve(b,1,e,L)|0;Ue(k[F>>2]|0,2,k[j>>2]|0)|0;e=(De(k[F>>2]|0)|0)==100;b=k[F>>2]|0;if(!e){I=ge(b)|0;k[y>>2]=I;I=k[y>>2]|0;r=J;return I|0}e=Ne(b,1)|0;g=s;k[g>>2]=e;k[g+4>>2]=L;g=Ne(k[F>>2]|0,2)|0;e=q;k[e>>2]=g;k[e+4>>2]=L;Ol(k[F>>2]|0,3,p,(k[A>>2]|0)+40|0);if((k[(k[A>>2]|0)+40+4>>2]|0)<0){g=(k[A>>2]|0)+40|0;g=kS(k[g>>2]|0,k[g+4>>2]|0,-1,-1)|0;e=(k[A>>2]|0)+40|0;k[e>>2]=g;k[e+4>>2]=L}e=(k[A>>2]|0)+40|0;i[(k[A>>2]|0)+48>>0]=(k[e>>2]|0)==0&(k[e+4>>2]|0)==0&1;e=Ke(k[F>>2]|0,4)|0;k[x>>2]=e;e=Je(k[F>>2]|0,4)|0;k[v>>2]=e;e=p;e=Po(k[z>>2]|0,k[e>>2]|0,k[e+4>>2]|0,o)|0;k[G>>2]=e;if((k[G>>2]|0)==0&(k[o>>2]|0)!=0){k[n>>2]=0;k[t>>2]=0;q=qm(k[z>>2]|0,k[q>>2]|0,k[q+4>>2]|0,n,t,0)|0;k[G>>2]=q;if(!(k[G>>2]|0)){t=Io(u,k[n>>2]|0,k[t>>2]|0)|0;k[G>>2]=t;while(1){if(!((k[G>>2]|0)==0?(k[u>>2]|0)!=0:0))break;t=Mo(u)|0;k[G>>2]=t}if((Jo(k[l>>2]|0,k[m>>2]|0,k[u+24>>2]|0,k[u+24+4>>2]|0)|0)<=0)k[o>>2]=0;No(u)}Ud(k[n>>2]|0)}a:do if((k[G>>2]|0)==0&(k[o>>2]|0)!=0){k[w>>2]=i[k[v>>2]>>0];u=p;t=s;t=_R(k[u>>2]|0,k[u+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;t=$R(t|0,L|0,1,0)|0;k[k[A>>2]>>2]=(t|0)/16|0;t=k[s+4>>2]|0;u=(k[A>>2]|0)+24|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;u=p;t=k[u+4>>2]|0;s=(k[A>>2]|0)+32|0;k[s>>2]=k[u>>2];k[s+4>>2]=t;s=h;t=k[s+4>>2]|0;u=(k[A>>2]|0)+8|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;k[(k[A>>2]|0)+16>>2]=k[j>>2];k[C>>2]=(k[w>>2]|0)+1;while(1){if((k[C>>2]|0)>=16)break;u=(k[A>>2]|0)+24|0;t=ha(k[C>>2]|0,k[k[A>>2]>>2]|0)|0;t=$R(k[u>>2]|0,k[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(k[A>>2]|0)+56+(k[C>>2]<<5)|0;k[u>>2]=t;k[u+4>>2]=L;k[C>>2]=(k[C>>2]|0)+1}k[E>>2]=(k[A>>2]|0)+56+(k[w>>2]<<5);u=(k[A>>2]|0)+24|0;t=ha(k[k[A>>2]>>2]|0,k[w>>2]|0)|0;t=$R(k[u>>2]|0,k[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=k[E>>2]|0;k[u>>2]=t;k[u+4>>2]=L;if((k[x>>2]|0)>(k[(k[z>>2]|0)+224>>2]|0))b=k[x>>2]|0;else b=k[(k[z>>2]|0)+224>>2]|0;Do((k[E>>2]|0)+20|0,b,G);if(!(k[G>>2]|0)){bS(k[(k[E>>2]|0)+20>>2]|0,k[v>>2]|0,k[x>>2]|0)|0;k[(k[E>>2]|0)+20+4>>2]=k[x>>2]}k[C>>2]=k[w>>2];while(1){if(!((k[C>>2]|0)>=0?(k[G>>2]|0)==0:0))break a;k[E>>2]=(k[A>>2]|0)+56+(k[C>>2]<<5);x=Io(I,k[(k[E>>2]|0)+20>>2]|0,k[(k[E>>2]|0)+20+4>>2]|0)|0;k[G>>2]=x;while(1){if(!((k[I>>2]|0)!=0?(k[G>>2]|0)==0:0))break;x=Mo(I)|0;k[G>>2]=x}Do((k[E>>2]|0)+8|0,k[I+24+4>>2]|0,G);if((k[G>>2]|0)==0?(bS(k[(k[E>>2]|0)+8>>2]|0,k[I+24>>2]|0,k[I+24+4>>2]|0)|0,k[(k[E>>2]|0)+8+4>>2]=k[I+24+4>>2],(k[C>>2]|0)>0):0){k[B>>2]=0;k[D>>2]=0;k[E>>2]=(k[A>>2]|0)+56+((k[C>>2]|0)-1<<5);v=I+16|0;w=k[v+4>>2]|0;x=k[E>>2]|0;k[x>>2]=k[v>>2];k[x+4>>2]=w;x=I+16|0;x=qm(k[z>>2]|0,k[x>>2]|0,k[x+4>>2]|0,B,D,0)|0;k[G>>2]=x;if((k[D>>2]|0)>(k[(k[z>>2]|0)+224>>2]|0))b=k[D>>2]|0;else b=k[(k[z>>2]|0)+224>>2]|0;Do((k[E>>2]|0)+20|0,b,G);if(!(k[G>>2]|0)){bS(k[(k[E>>2]|0)+20>>2]|0,k[B>>2]|0,k[D>>2]|0)|0;k[(k[E>>2]|0)+20+4>>2]=k[D>>2]}Ud(k[B>>2]|0)}No(I);k[C>>2]=(k[C>>2]|0)+-1}}while(0);I=ge(k[F>>2]|0)|0;k[H>>2]=I;if(!(k[G>>2]|0))k[G>>2]=k[H>>2]}k[y>>2]=k[G>>2];I=k[y>>2]|0;r=J;return I|0}function xo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t+44|0;h=t+40|0;i=t;j=t+36|0;l=t+32|0;m=t+28|0;s=t+24|0;n=t+20|0;o=t+16|0;q=t+12|0;p=t+8|0;k[h>>2]=a;a=i;k[a>>2]=b;k[a+4>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[o>>2]=0;k[q>>2]=0;k[p>>2]=0;f=zl(k[h>>2]|0,29,q,0)|0;k[s>>2]=f;if(!(k[s>>2]|0)){f=i;Ve(k[q>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;f=k[(k[l>>2]|0)+4>>2]|0;Ve(k[q>>2]|0,2,f,((f|0)<0)<<31>>31)|0;if(100==(De(k[q>>2]|0)|0)){f=Me(k[q>>2]|0,0)|0;k[o>>2]=f}f=ge(k[q>>2]|0)|0;k[s>>2]=f}if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}f=zl(k[h>>2]|0,10,p,0)|0;k[s>>2]=f;if(!(k[s>>2]|0)){if(100==(De(k[p>>2]|0)|0)){q=Ne(k[p>>2]|0,0)|0;f=(k[m>>2]|0)+24|0;k[f>>2]=q;k[f+4>>2]=L;f=(k[m>>2]|0)+24|0;f=_R(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;q=(k[m>>2]|0)+32|0;k[q>>2]=f;k[q+4>>2]=L;q=k[o>>2]<<4;f=(k[m>>2]|0)+32|0;e=f;q=$R(k[e>>2]|0,k[e+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;k[f>>2]=q;k[f+4>>2]=L}f=ge(k[p>>2]|0)|0;k[s>>2]=f}if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}f=(k[m>>2]|0)+32|0;f=Pl(k[h>>2]|0,k[f>>2]|0,k[f+4>>2]|0,0,0)|0;k[s>>2]=f;if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}q=i;f=k[q+4>>2]|0;s=(k[m>>2]|0)+8|0;k[s>>2]=k[q>>2];k[s+4>>2]=f;k[k[m>>2]>>2]=k[o>>2];k[(k[m>>2]|0)+16>>2]=k[j>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=16)break;s=(k[m>>2]|0)+24|0;f=ha(k[n>>2]|0,k[k[m>>2]>>2]|0)|0;f=$R(k[s>>2]|0,k[s+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;s=(k[m>>2]|0)+56+(k[n>>2]<<5)|0;k[s>>2]=f;k[s+4>>2]=L;k[n>>2]=(k[n>>2]|0)+1}k[g>>2]=0;s=k[g>>2]|0;r=t;return s|0}function yo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+44|0;e=q+40|0;s=q+36|0;p=q+32|0;m=q+28|0;f=q+24|0;g=q+20|0;o=q+16|0;j=q+12|0;h=q+8|0;l=q+4|0;n=q;k[d>>2]=a;k[e>>2]=b;k[s>>2]=c;k[p>>2]=k[(k[s>>2]|0)+40>>2];k[m>>2]=k[(k[s>>2]|0)+44>>2];k[f>>2]=k[(k[s>>2]|0)+48>>2];k[g>>2]=k[(k[s>>2]|0)+52>>2];k[o>>2]=0;k[n>>2]=(k[e>>2]|0)+56;b=Wl(k[(k[n>>2]|0)+8>>2]|0,k[(k[n>>2]|0)+8+4>>2]|0,k[p>>2]|0,k[m>>2]|0)|0;k[h>>2]=b;k[l>>2]=(k[m>>2]|0)-(k[h>>2]|0);b=k[h>>2]|0;b=Tl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=b;b=k[l>>2]|0;b=Tl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(b+(k[l>>2]|0));b=k[g>>2]|0;b=Tl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(b+(k[g>>2]|0));if((k[(k[n>>2]|0)+20+4>>2]|0)>0?((k[(k[n>>2]|0)+20+4>>2]|0)+(k[j>>2]|0)|0)>(k[(k[d>>2]|0)+224>>2]|0):0){s=k[n>>2]|0;s=Pl(k[d>>2]|0,k[s>>2]|0,k[s+4>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[(k[n>>2]|0)+20+4>>2]|0)|0;k[o>>2]=s;s=(k[e>>2]|0)+4|0;k[s>>2]=(k[s>>2]|0)+1;if(!(k[o>>2]|0)){s=Oo(k[d>>2]|0,k[e>>2]|0,k[p>>2]|0,(k[h>>2]|0)+1|0)|0;k[o>>2]=s}s=k[n>>2]|0;b=s;b=$R(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[s>>2]=b;k[s+4>>2]=L;k[(k[n>>2]|0)+8+4>>2]=0;k[(k[n>>2]|0)+20+4>>2]=0;k[l>>2]=k[m>>2];k[j>>2]=1;s=k[l>>2]|0;s=Tl(s,((s|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(s+(k[l>>2]|0));s=k[g>>2]|0;s=Tl(s,((s|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(s+(k[g>>2]|0))}b=k[j>>2]|0;s=(k[e>>2]|0)+40|0;c=s;b=$R(k[c>>2]|0,k[c+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=b;k[s+4>>2]=L;Do((k[n>>2]|0)+20|0,(k[(k[n>>2]|0)+20+4>>2]|0)+(k[j>>2]|0)|0,o);if(k[o>>2]|0){s=k[o>>2]|0;r=q;return s|0}if(!(k[(k[n>>2]|0)+20+4>>2]|0)){k[(k[n>>2]|0)+20+4>>2]=1;i[k[(k[n>>2]|0)+20>>2]>>0]=0}s=Lo((k[n>>2]|0)+20|0,(k[n>>2]|0)+8|0,k[p>>2]|0,k[m>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[o>>2]=s;s=k[o>>2]|0;r=q;return s|0}function zo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;f=s+44|0;g=s;h=s+40|0;i=s+36|0;j=s+32|0;m=s+28|0;p=s+24|0;o=s+20|0;l=s+16|0;q=s+12|0;n=s+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;k[m>>2]=0;k[p>>2]=0;k[j>>2]=(k[(k[h>>2]|0)+4>>2]|0)-1;while(1){if(!((k[j>>2]|0)>=0?(k[p>>2]|0)==0:0))break;k[o>>2]=0;k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[(k[h>>2]|0)+4>>2]|0))break;k[o>>2]=k[(k[k[h>>2]>>2]|0)+(k[l>>2]<<2)>>2];if((k[k[o>>2]>>2]|0)==(k[j>>2]|0))break;k[l>>2]=(k[l>>2]|0)+1}if(!(k[(k[o>>2]|0)+40>>2]|0)){e=Vl(k[f>>2]|0,k[o>>2]|0)|0;k[p>>2]=e;if(!(k[p>>2]|0)){e=g;e=Eo(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[k[o>>2]>>2]|0)|0;k[p>>2]=e}k[k[i>>2]>>2]=0}else{k[q>>2]=k[(k[o>>2]|0)+64>>2];k[n>>2]=k[(k[o>>2]|0)+60>>2];e=g;e=Fo(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[k[o>>2]>>2]|0,k[q>>2]|0,k[n>>2]|0)|0;k[p>>2]=e;k[m>>2]=(k[m>>2]|0)+1}k[j>>2]=(k[j>>2]|0)+-1}if(k[p>>2]|0){e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}if((k[m>>2]|0)==(k[(k[h>>2]|0)+4>>2]|0)){e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}e=g;e=Go(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[p>>2]=e;e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}function Ao(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;f=i+16|0;g=i;h=i+12|0;j=i+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[j>>2]=e;Do(k[f>>2]|0,(k[(k[f>>2]|0)+4>>2]|0)+20|0,k[j>>2]|0);if(k[k[j>>2]>>2]|0){r=i;return}j=g;j=Ul((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,k[j>>2]|0,k[j+4>>2]|0)|0;e=(k[f>>2]|0)+4|0;k[e>>2]=(k[e>>2]|0)+j;e=k[h>>2]|0;e=Ul((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,e,((e|0)<0)<<31>>31)|0;j=(k[f>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+e;r=i;return}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;d=q+36|0;m=q+32|0;n=q+28|0;e=q+24|0;f=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;g=q+4|0;j=q;k[d>>2]=a;k[m>>2]=b;k[n>>2]=c;k[p>>2]=k[k[n>>2]>>2];k[f>>2]=15;while(1){if((k[f>>2]|0)<0)break;k[h>>2]=(k[m>>2]|0)+56+(k[f>>2]<<5);if((k[(k[h>>2]|0)+20+4>>2]|0)>0)break;Ud(k[(k[h>>2]|0)+20>>2]|0);Ud(k[(k[h>>2]|0)+8>>2]|0);k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){r=q;return}if(!(k[f>>2]|0)){k[g>>2]=(k[m>>2]|0)+56+32+20;Do(k[g>>2]|0,11,p);if(!(k[p>>2]|0)){i[k[k[g>>2]>>2]>>0]=1;b=(k[m>>2]|0)+56|0;b=1+(Ul((k[k[g>>2]>>2]|0)+1|0,k[b>>2]|0,k[b+4>>2]|0)|0)|0;k[(k[g>>2]|0)+4>>2]=b}k[f>>2]=1}k[o>>2]=(k[m>>2]|0)+56+(k[f>>2]<<5);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;k[j>>2]=(k[m>>2]|0)+56+(k[e>>2]<<5);if((k[p>>2]|0)==0?(k[(k[j>>2]|0)+20+4>>2]|0)>0:0){b=k[j>>2]|0;b=Pl(k[d>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[(k[j>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+20+4>>2]|0)|0;k[p>>2]=b}Ud(k[(k[j>>2]|0)+20>>2]|0);Ud(k[(k[j>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1}if(!(k[p>>2]|0)){j=k[d>>2]|0;d=(k[m>>2]|0)+8|0;d=$R(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;e=(k[m>>2]|0)+24|0;f=(k[m>>2]|0)+56|0;a=(k[m>>2]|0)+32|0;if(!(l[(k[m>>2]|0)+48>>0]|0)){h=(k[m>>2]|0)+40|0;g=k[h>>2]|0;h=k[h+4>>2]|0}else{g=0;h=0}m=Rl(j,d,L,k[(k[m>>2]|0)+16>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0,g,h,k[(k[o>>2]|0)+20>>2]|0,k[(k[o>>2]|0)+20+4>>2]|0)|0;k[p>>2]=m}Ud(k[(k[o>>2]|0)+20>>2]|0);Ud(k[(k[o>>2]|0)+8>>2]|0);k[k[n>>2]>>2]=k[p>>2];r=q;return}function Co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;b=zl(k[g>>2]|0,23,d,0)|0;k[e>>2]=b;if(k[e>>2]|0){g=k[e>>2]|0;r=f;return g|0}Ue(k[d>>2]|0,1,1)|0;Se(k[d>>2]|0,2,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+4>>2]|0,0)|0;De(k[d>>2]|0)|0;g=ge(k[d>>2]|0)|0;k[e>>2]=g;g=k[e>>2]|0;r=f;return g|0}function Do(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=i;return}if((k[e>>2]|0)<=(k[(k[d>>2]|0)+8>>2]|0)){r=i;return}k[h>>2]=k[e>>2];c=Vd(k[k[d>>2]>>2]|0,k[h>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){k[(k[d>>2]|0)+8>>2]=k[h>>2];k[k[d>>2]>>2]=k[g>>2];r=i;return}else{k[k[f>>2]>>2]=7;r=i;return}}function Eo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;h=i+12|0;g=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;a=zl(k[j>>2]|0,30,g,0)|0;k[h>>2]=a;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=e;Ve(k[g>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;Ue(k[g>>2]|0,2,k[f>>2]|0)|0;De(k[g>>2]|0)|0;j=ge(k[g>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function Fo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+112|0;g=B+104|0;h=B+24|0;i=B+100|0;j=B+96|0;l=B+92|0;y=B+88|0;A=B+76|0;o=B+64|0;p=B+16|0;q=B+8|0;s=B;x=B+60|0;z=B+56|0;n=B+52|0;u=B+48|0;m=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[y>>2]=0;k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;e=p;k[e>>2]=0;k[e+4>>2]=0;e=q;k[e>>2]=0;k[e+4>>2]=0;e=s;k[e>>2]=0;k[e+4>>2]=0;k[x>>2]=0;e=zl(k[g>>2]|0,32,x,0)|0;k[y>>2]=e;if(!(k[y>>2]|0)){e=h;Ve(k[x>>2]|0,1,k[e>>2]|0,k[e+4>>2]|0)|0;Ue(k[x>>2]|0,2,k[i>>2]|0)|0;if(100==(De(k[x>>2]|0)|0)){a=Je(k[x>>2]|0,4)|0;k[n>>2]=a;a=Ke(k[x>>2]|0,4)|0;k[u>>2]=a;a=Ne(k[x>>2]|0,1)|0;e=s;k[e>>2]=a;k[e+4>>2]=L;e=Ho(k[n>>2]|0,k[u>>2]|0,A,k[j>>2]|0,k[l>>2]|0,p)|0;k[y>>2]=e}e=ge(k[x>>2]|0)|0;k[z>>2]=e;if(!(k[y>>2]|0))k[y>>2]=k[z>>2]}while(1){e=p;if(!((k[y>>2]|0)==0?(k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0:0))break;k[m>>2]=0;k[t>>2]=0;x=p;z=k[x+4>>2]|0;e=q;k[e>>2]=k[x>>2];k[e+4>>2]=z;e=p;e=qm(k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0,m,t,0)|0;k[y>>2]=e;if(!(k[y>>2]|0)){e=Ho(k[m>>2]|0,k[t>>2]|0,o,k[j>>2]|0,k[l>>2]|0,p)|0;k[y>>2]=e}if(!(k[y>>2]|0)){e=q;e=Pl(k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[y>>2]=e}Ud(k[m>>2]|0)}e=q;if((k[y>>2]|0)==0&((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0)?(k[w>>2]=0,e=zl(k[g>>2]|0,17,w,0)|0,k[y>>2]=e,(k[y>>2]|0)==0):0){z=s;Ve(k[w>>2]|0,1,k[z>>2]|0,k[z+4>>2]|0)|0;z=k[w>>2]|0;e=q;e=_R(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;Ve(z,2,e,L)|0;De(k[w>>2]|0)|0;e=ge(k[w>>2]|0)|0;k[y>>2]=e}if(k[y>>2]|0){e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}k[v>>2]=0;e=zl(k[g>>2]|0,33,v,0)|0;k[y>>2]=e;if(k[y>>2]|0){e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}e=q;Ve(k[v>>2]|0,1,k[e>>2]|0,k[e+4>>2]|0)|0;Se(k[v>>2]|0,2,k[A>>2]|0,k[A+4>>2]|0,0)|0;e=h;Ve(k[v>>2]|0,3,k[e>>2]|0,k[e+4>>2]|0)|0;Ue(k[v>>2]|0,4,k[i>>2]|0)|0;De(k[v>>2]|0)|0;e=ge(k[v>>2]|0)|0;k[y>>2]=e;e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}function Go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+44|0;e=s;o=s+40|0;f=s+36|0;l=s+32|0;j=s+28|0;h=s+24|0;m=s+20|0;n=s+16|0;p=s+12|0;g=s+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=0;k[l>>2]=0;k[j>>2]=0;k[m>>2]=0;k[n>>2]=0;a=zl(k[d>>2]|0,35,m,0)|0;k[o>>2]=a;if(!(k[o>>2]|0)){a=e;Ve(k[m>>2]|0,1,k[a>>2]|0,k[a+4>>2]|0)|0;while(1){if(100!=(De(k[m>>2]|0)|0))break;if((k[l>>2]|0)>=(k[j>>2]|0)){k[j>>2]=(k[j>>2]|0)+16;a=Vd(k[f>>2]|0,k[j>>2]<<2)|0;k[g>>2]=a;if(!(k[g>>2]|0)){q=6;break}k[f>>2]=k[g>>2]}c=Me(k[m>>2]|0,0)|0;a=k[l>>2]|0;k[l>>2]=a+1;k[(k[f>>2]|0)+(a<<2)>>2]=c}if((q|0)==6)k[o>>2]=7;q=ge(k[m>>2]|0)|0;k[p>>2]=q;if(!(k[o>>2]|0))k[o>>2]=k[p>>2]}if(!(k[o>>2]|0)){q=zl(k[d>>2]|0,31,n,0)|0;k[o>>2]=q}if(!(k[o>>2]|0)){q=e;Ve(k[n>>2]|0,2,k[q>>2]|0,k[q+4>>2]|0)|0}i[(k[d>>2]|0)+232>>0]=1;k[h>>2]=0;while(1){if(k[o>>2]|0){q=21;break}if((k[h>>2]|0)>=(k[l>>2]|0)){q=21;break}if((k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)!=(k[h>>2]|0)){Ue(k[n>>2]|0,3,k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;Ue(k[n>>2]|0,1,k[h>>2]|0)|0;De(k[n>>2]|0)|0;q=ge(k[n>>2]|0)|0;k[o>>2]=q}k[h>>2]=(k[h>>2]|0)+1}if((q|0)==21){i[(k[d>>2]|0)+232>>0]=0;Ud(k[f>>2]|0);r=s;return k[o>>2]|0}return 0}function Ho(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+112|0;g=w+96|0;h=w+92|0;j=w+88|0;l=w+84|0;m=w+80|0;n=w+76|0;o=w+72|0;t=w;q=w+60|0;s=w+56|0;p=w+52|0;u=w+48|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[s>>2]=0;k[p>>2]=(i[k[h>>2]>>0]|0)==0&1;Do(k[l>>2]|0,k[j>>2]|0,s);if(k[s>>2]|0){k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}k[(k[l>>2]|0)+4>>2]=0;d=Io(t,k[h>>2]|0,k[j>>2]|0)|0;k[s>>2]=d;while(1){if(!((k[s>>2]|0)==0?(k[t>>2]|0)!=0:0))break;if(!(k[(k[l>>2]|0)+4>>2]|0)){d=Jo(k[t+24>>2]|0,k[t+24+4>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[u>>2]=d;if((k[u>>2]|0)>=0?!((k[p>>2]|0)==0&(k[u>>2]|0)==0):0){f=t+16|0;Ko(k[l>>2]|0,i[k[h>>2]>>0]|0,k[f>>2]|0,k[f+4>>2]|0);f=t+16|0;d=k[f+4>>2]|0;v=k[o>>2]|0;k[v>>2]=k[f>>2];k[v+4>>2]=d;v=9}}else v=9;if((v|0)==9?(v=0,d=Lo(k[l>>2]|0,q,k[t+24>>2]|0,k[t+24+4>>2]|0,k[t+36>>2]|0,k[t+40>>2]|0)|0,k[s>>2]=d,(k[s>>2]|0)!=0):0)break;d=Mo(t)|0;k[s>>2]=d}if(!(k[(k[l>>2]|0)+4>>2]|0)){u=t+16|0;Ko(k[l>>2]|0,i[k[h>>2]>>0]|0,k[u>>2]|0,k[u+4>>2]|0);u=t+16|0;d=k[u+4>>2]|0;v=k[o>>2]|0;k[v>>2]=k[u>>2];k[v+4>>2]=d}No(t);Ud(k[q>>2]|0);k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}function Io(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+8|0;d=g+4|0;e=g;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;b=k[f>>2]|0;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[k[f>>2]>>2]=k[d>>2];k[(k[f>>2]|0)+4>>2]=k[e>>2];b=k[f>>2]|0;if(i[k[k[f>>2]>>2]>>0]|0){e=1+(im((k[b>>2]|0)+1|0,(k[f>>2]|0)+16|0)|0)|0;k[(k[f>>2]|0)+8>>2]=e;f=k[f>>2]|0;f=Mo(f)|0;r=g;return f|0}else{k[b+8>>2]=1;f=k[f>>2]|0;f=Mo(f)|0;r=g;return f|0}return 0}function Jo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;l=h+20|0;e=h+16|0;j=h+12|0;f=h+8|0;i=h+4|0;g=h;k[l>>2]=a;k[e>>2]=b;k[j>>2]=c;k[f>>2]=d;k[i>>2]=(k[e>>2]|0)<(k[f>>2]|0)?k[e>>2]|0:k[f>>2]|0;c=oR(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){l=k[g>>2]|0;r=h;return l|0}k[g>>2]=(k[e>>2]|0)-(k[f>>2]|0);l=k[g>>2]|0;r=h;return l|0}function Ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;h=g+8|0;f=g;k[e>>2]=a;k[h>>2]=b;a=f;k[a>>2]=c;k[a+4>>2]=d;i[k[k[e>>2]>>2]>>0]=k[h>>2];a=f;c=k[e>>2]|0;if((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0){h=f;h=1+(Ul((k[c>>2]|0)+1|0,k[h>>2]|0,k[h+4>>2]|0)|0)|0;k[(k[e>>2]|0)+4>>2]=h;r=g;return}else{k[c+4>>2]=1;r=g;return}}function Lo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t+40|0;h=t+36|0;i=t+32|0;j=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;o=t+8|0;p=t+4|0;q=t;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[s>>2]=0;k[o>>2]=(k[(k[i>>2]|0)+4>>2]|0)==0&1;Do(k[i>>2]|0,k[l>>2]|0,s);if(k[s>>2]|0){k[g>>2]=k[s>>2];c=k[g>>2]|0;r=t;return c|0}c=Wl(k[k[i>>2]>>2]|0,k[(k[i>>2]|0)+4>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[p>>2]=c;k[q>>2]=(k[l>>2]|0)-(k[p>>2]|0);bS(k[k[i>>2]>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[(k[i>>2]|0)+4>>2]=k[l>>2];if(!(k[o>>2]|0)){s=k[p>>2]|0;s=Ul((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s}s=k[q>>2]|0;s=Ul((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s;bS((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,(k[j>>2]|0)+(k[p>>2]|0)|0,k[q>>2]|0)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[q>>2]|0);if(k[m>>2]|0){s=k[n>>2]|0;s=Ul((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s;bS((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,k[m>>2]|0,k[n>>2]|0)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[n>>2]|0)}k[g>>2]=0;c=k[g>>2]|0;r=t;return c|0}function Mo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;e=g+16|0;b=g+12|0;c=g+8|0;d=g+4|0;f=g;k[e>>2]=a;k[b>>2]=(k[(k[e>>2]|0)+24+4>>2]|0)==0&1;k[c>>2]=0;k[d>>2]=0;k[f>>2]=0;a=(k[e>>2]|0)+16|0;if(((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)&(k[b>>2]|0)==0){a=(k[e>>2]|0)+16|0;h=a;h=$R(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;k[a>>2]=h;k[a+4>>2]=L}if((k[(k[e>>2]|0)+8>>2]|0)>=(k[(k[e>>2]|0)+4>>2]|0)){k[k[e>>2]>>2]=0;h=k[f>>2]|0;r=g;return h|0}if(!(k[b>>2]|0)){b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=jm(b,c)|0;else{k[c>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b}b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=jm(b,d)|0;else{k[d>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b;Do((k[e>>2]|0)+24|0,(k[c>>2]|0)+(k[d>>2]|0)|0,f);if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}bS((k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]|0)|0,(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0,k[d>>2]|0)|0;k[(k[e>>2]|0)+24+4>>2]=(k[c>>2]|0)+(k[d>>2]|0);h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+(k[d>>2]|0);h=(k[e>>2]|0)+16|0;if(!((k[h>>2]|0)==0&(k[h+4>>2]|0)==0)){h=k[f>>2]|0;r=g;return h|0}b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=jm(b,(k[e>>2]|0)+40|0)|0;else{k[(k[e>>2]|0)+40>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b;k[(k[e>>2]|0)+36>>2]=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0);h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+(k[(k[e>>2]|0)+40>>2]|0);h=k[f>>2]|0;r=g;return h|0}function No(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[(k[c>>2]|0)+24>>2]|0);r=b;return}function Oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;t=v+60|0;e=v+56|0;f=v+52|0;g=v+48|0;h=v+44|0;m=v+8|0;j=v+40|0;l=v;s=v+36|0;u=v+32|0;n=v+28|0;p=v+24|0;o=v+20|0;q=v+16|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a=(k[f>>2]|0)+56|0;b=k[a+4>>2]|0;c=m;k[c>>2]=k[a>>2];k[c+4>>2]=b;k[j>>2]=1;while(1){if((k[j>>2]|0)>=16){e=16;break}c=l;k[c>>2]=0;k[c+4>>2]=0;k[s>>2]=(k[f>>2]|0)+56+(k[j>>2]<<5);k[u>>2]=0;c=Wl(k[(k[s>>2]|0)+8>>2]|0,k[(k[s>>2]|0)+8+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[n>>2]=c;k[p>>2]=(k[h>>2]|0)-(k[n>>2]|0);c=k[n>>2]|0;c=Tl(c,((c|0)<0)<<31>>31)|0;k[o>>2]=c;c=k[p>>2]|0;c=Tl(c,((c|0)<0)<<31>>31)|0;k[o>>2]=(k[o>>2]|0)+(c+(k[p>>2]|0));if((k[(k[s>>2]|0)+8+4>>2]|0)!=0?((k[(k[s>>2]|0)+20+4>>2]|0)+(k[o>>2]|0)|0)>(k[(k[e>>2]|0)+224>>2]|0):0){b=k[s>>2]|0;b=Pl(k[e>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[(k[s>>2]|0)+20>>2]|0,k[(k[s>>2]|0)+20+4>>2]|0)|0;k[u>>2]=b;i[k[(k[s>>2]|0)+20>>2]>>0]=k[j>>2];b=(k[(k[s>>2]|0)+20>>2]|0)+1|0;a=m;a=$R(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;a=1+(Ul(b,a,L)|0)|0;k[(k[s>>2]|0)+20+4>>2]=a;a=k[s>>2]|0;b=k[a+4>>2]|0;c=l;k[c>>2]=k[a>>2];k[c+4>>2]=b;c=k[s>>2]|0;b=c;b=$R(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[c>>2]=b;k[c+4>>2]=L;k[(k[s>>2]|0)+8+4>>2]=0}else{k[q>>2]=(k[s>>2]|0)+20;if((k[(k[q>>2]|0)+4>>2]|0)==0?(Do(k[q>>2]|0,k[(k[e>>2]|0)+224>>2]|0,u),(k[u>>2]|0)==0):0){i[k[k[q>>2]>>2]>>0]=k[j>>2];c=m;c=1+(Ul((k[k[q>>2]>>2]|0)+1|0,k[c>>2]|0,k[c+4>>2]|0)|0)|0;k[(k[q>>2]|0)+4>>2]=c}Do(k[q>>2]|0,(k[(k[q>>2]|0)+4>>2]|0)+(k[o>>2]|0)|0,u);Do((k[s>>2]|0)+8|0,k[h>>2]|0,u);if(!(k[u>>2]|0)){if(k[(k[s>>2]|0)+8+4>>2]|0){b=k[n>>2]|0;b=Ul((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+b}b=k[p>>2]|0;b=Ul((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+b;bS((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,(k[g>>2]|0)+(k[n>>2]|0)|0,k[p>>2]|0)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[p>>2]|0);bS(k[(k[s>>2]|0)+8>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[(k[s>>2]|0)+8+4>>2]=k[h>>2]}}c=l;if((k[u>>2]|0)!=0|(k[c>>2]|0)==0&(k[c+4>>2]|0)==0){e=14;break}a=l;b=k[a+4>>2]|0;c=m;k[c>>2]=k[a>>2];k[c+4>>2]=b;k[j>>2]=(k[j>>2]|0)+1}if((e|0)==14){k[t>>2]=k[u>>2];u=k[t>>2]|0;r=v;return u|0}else if((e|0)==16){k[t>>2]=0;u=k[t>>2]|0;r=v;return u|0}return 0}function Po(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+24|0;e=j;f=j+20|0;g=j+16|0;h=j+12|0;i=j+8|0;k[l>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;k[h>>2]=0;d=zl(k[l>>2]|0,34,h,0)|0;k[i>>2]=d;if(k[i>>2]|0){d=k[g>>2]|0;l=k[f>>2]|0;k[l>>2]=d;l=k[i>>2]|0;r=j;return l|0}l=e;Ve(k[h>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;if(100==(De(k[h>>2]|0)|0))k[g>>2]=1;d=ge(k[h>>2]|0)|0;k[i>>2]=d;d=k[g>>2]|0;l=k[f>>2]|0;k[l>>2]=d;l=k[i>>2]|0;r=j;return l|0}function Qo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;u=t+48|0;e=t+44|0;f=t+40|0;g=t+36|0;p=t+32|0;s=t+28|0;n=t+24|0;j=t+20|0;h=t+16|0;o=t+12|0;l=t+8|0;q=t+4|0;m=t;k[u>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[p>>2]=k[u>>2];k[s>>2]=0;k[n>>2]=0;k[j>>2]=0;k[h>>2]=0;k[o>>2]=0;k[l>>2]=0;if(((k[e>>2]|0)>1?(oe(k[k[f>>2]>>2]|0)|0)==5:0)?(oe(k[(k[f>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){u=Ro(k[p>>2]|0,k[(k[f>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;k[s>>2]=u;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}if((k[e>>2]|0)>1?(me(k[(k[f>>2]|0)+(2+(k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){k[s>>2]=19;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}u=Sd((k[(k[p>>2]|0)+24>>2]|0)+1<<2<<1)|0;k[h>>2]=u;if(!(k[h>>2]|0)){k[s>>2]=7;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}k[j>>2]=(k[h>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+1<<2);dS(k[h>>2]|0,0,(k[(k[p>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;u=So(k[p>>2]|0)|0;k[s>>2]=u;if(k[s>>2]|0){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}do if((k[e>>2]|0)>1?(k[(k[p>>2]|0)+40>>2]|0)==0:0){k[q>>2]=k[(k[f>>2]|0)+(3+(k[(k[p>>2]|0)+24>>2]|0)<<2)>>2];if((oe(k[q>>2]|0)|0)==5)k[q>>2]=k[(k[f>>2]|0)+4>>2];if((oe(k[q>>2]|0)|0)!=5){if((oe(k[k[f>>2]>>2]|0)|0)!=5?(d=ne(k[k[f>>2]>>2]|0)|0,u=L,a=ne(k[q>>2]|0)|0,!((d|0)!=(a|0)|(u|0)!=(L|0))):0)break;u=(rf(k[(k[p>>2]|0)+12>>2]|0)|0)==5;c=k[p>>2]|0;if(u){u=To(c,k[q>>2]|0,o,k[h>>2]|0)|0;k[s>>2]=u;break}else{u=Uo(c,k[f>>2]|0,k[g>>2]|0)|0;k[s>>2]=u;k[l>>2]=1;break}}}while(0);if(k[s>>2]|0){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}if((oe(k[k[f>>2]>>2]|0)|0)!=5){u=To(k[p>>2]|0,k[k[f>>2]>>2]|0,o,k[h>>2]|0)|0;k[s>>2]=u;k[n>>2]=1}if((k[e>>2]|0)>1&(k[s>>2]|0)==0){u=me(k[(k[f>>2]|0)+(2+(k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;k[m>>2]=u;if(((k[l>>2]|0)==0?(u=Uo(k[p>>2]|0,k[f>>2]|0,k[g>>2]|0)|0,k[s>>2]=u,(k[s>>2]|0)==19):0)?(k[(k[p>>2]|0)+40>>2]|0)==0:0)k[s>>2]=267;do if(!(k[s>>2]|0)){if((k[n>>2]|0)!=0?(q=k[g>>2]|0,u=(k[p>>2]|0)+264|0,!((k[q>>2]|0)!=(k[u>>2]|0)?1:(k[q+4>>2]|0)!=(k[u+4>>2]|0))):0)break;u=k[g>>2]|0;u=Vo(k[p>>2]|0,0,k[m>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[s>>2]=u}while(0);if(!(k[s>>2]|0)){u=Wo(k[p>>2]|0,k[m>>2]|0,k[f>>2]|0,k[j>>2]|0)|0;k[s>>2]=u}if(i[(k[p>>2]|0)+230>>0]|0)Xo(s,k[p>>2]|0,k[j>>2]|0);k[o>>2]=(k[o>>2]|0)+1}if(!(i[(k[p>>2]|0)+228>>0]|0)){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}Yo(s,k[p>>2]|0,k[j>>2]|0,k[h>>2]|0,k[o>>2]|0);u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}function Ro(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;j=i+12|0;f=i+8|0;g=i+4|0;e=i;k[d>>2]=a;k[j>>2]=b;b=je(k[j>>2]|0)|0;k[g>>2]=b;b=ke(k[j>>2]|0)|0;k[e>>2]=b;if(!(k[g>>2]|0)){k[c>>2]=7;j=k[c>>2]|0;r=i;return j|0}if((k[e>>2]|0)==8?0==(Jd(k[g>>2]|0,20512,8)|0):0){j=bo(k[d>>2]|0,0)|0;k[f>>2]=j}else h=6;do if((h|0)==6){if((k[e>>2]|0)==7?0==(Jd(k[g>>2]|0,23495,7)|0):0){j=gp(k[d>>2]|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)==15?0==(Jd(k[g>>2]|0,23503,15)|0):0){j=hp(k[d>>2]|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)>6?0==(Jd(k[g>>2]|0,23519,6)|0):0){j=ip(k[d>>2]|0,(k[g>>2]|0)+6|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)>10?0==(Jd(k[g>>2]|0,23526,10)|0):0){j=jp(k[d>>2]|0,(k[g>>2]|0)+10|0)|0;k[f>>2]=j;break}k[f>>2]=1}while(0);k[c>>2]=k[f>>2];j=k[c>>2]|0;r=i;return j|0}function So(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;if((k[(k[b>>2]|0)+260>>2]|0)==0?(a=zl(k[b>>2]|0,16,c,0)|0,k[d>>2]=a,(k[d>>2]|0)==0):0){We(k[c>>2]|0,1)|0;De(k[c>>2]|0)|0;c=ge(k[c>>2]|0)|0;k[d>>2]=c}r=e;return k[d>>2]|0}function To(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;n=m+4|0;j=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[n>>2]=0;bp(l,k[e>>2]|0,k[f>>2]|0,k[h>>2]|0,n);if(!((k[n>>2]|0)!=0&(k[l>>2]|0)==0)){n=k[l>>2]|0;r=m;return n|0}k[j>>2]=0;n=cp(k[e>>2]|0,k[f>>2]|0,j)|0;k[l>>2]=n;if(k[l>>2]|0){n=k[l>>2]|0;r=m;return n|0}if(k[j>>2]|0){n=dp(k[e>>2]|0,1)|0;k[l>>2]=n;k[k[g>>2]>>2]=0;dS(k[h>>2]|0,0,(k[(k[e>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;n=k[l>>2]|0;r=m;return n|0}k[k[g>>2]>>2]=(k[k[g>>2]>>2]|0)-1;if(!(k[(k[e>>2]|0)+40>>2]|0))ep(l,k[e>>2]|0,0,f);if(!(i[(k[e>>2]|0)+230>>0]|0)){n=k[l>>2]|0;r=m;return n|0}ep(l,k[e>>2]|0,19,f);n=k[l>>2]|0;r=m;return n|0}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;b=k[e>>2]|0;if(k[(k[e>>2]|0)+40>>2]|0){k[i>>2]=k[(k[f>>2]|0)+((k[b+24>>2]|0)+3<<2)>>2];if((oe(k[i>>2]|0)|0)==5)k[i>>2]=k[(k[f>>2]|0)+4>>2];if((oe(k[i>>2]|0)|0)!=1){k[d>>2]=19;j=k[d>>2]|0;r=l;return j|0}else{i=ne(k[i>>2]|0)|0;j=k[g>>2]|0;k[j>>2]=i;k[j+4>>2]=L;k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}}i=zl(b,18,h,(k[f>>2]|0)+4|0)|0;k[j>>2]=i;if((k[j>>2]|0)==0?(k[(k[e>>2]|0)+44>>2]|0)!=0:0){c=k[h>>2]|0;i=(k[(k[e>>2]|0)+24>>2]|0)+2|0;i=Ue(c,i,me(k[(k[f>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0;k[j>>2]=i}if(k[j>>2]|0){k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}if(5!=(oe(k[(k[f>>2]|0)+(3+(k[(k[e>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(oe(k[k[f>>2]>>2]|0)|0)?5!=(oe(k[(k[f>>2]|0)+4>>2]|0)|0):0){k[d>>2]=1;j=k[d>>2]|0;r=l;return j|0}i=Ye(k[h>>2]|0,1,k[(k[f>>2]|0)+(3+(k[(k[e>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;k[j>>2]=i;if(k[j>>2]|0){k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}}De(k[h>>2]|0)|0;h=ge(k[h>>2]|0)|0;k[j>>2]=h;h=zf(k[(k[e>>2]|0)+12>>2]|0)|0;i=k[g>>2]|0;k[i>>2]=h;k[i+4>>2]=L;k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n;l=n+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;c=j;k[c>>2]=d;k[c+4>>2]=e;c=j;e=k[c+4>>2]|0;a=(k[g>>2]|0)+264|0;b=k[a+4>>2]|0;do if(!((e|0)<(b|0)|((e|0)==(b|0)?(k[c>>2]|0)>>>0<(k[a>>2]|0)>>>0:0))){c=j;a=(k[g>>2]|0)+264|0;if(((k[c>>2]|0)==(k[a>>2]|0)?(k[c+4>>2]|0)==(k[a+4>>2]|0):0)?(k[(k[g>>2]|0)+276>>2]|0)==0:0){m=6;break}if(!((k[(k[g>>2]|0)+272>>2]|0)==(k[i>>2]|0)?(k[(k[g>>2]|0)+260>>2]|0)<=(k[(k[g>>2]|0)+256>>2]|0):0))m=6}else m=6;while(0);if((m|0)==6?(m=wl(k[g>>2]|0)|0,k[l>>2]=m,(k[l>>2]|0)!=0):0){k[f>>2]=k[l>>2];m=k[f>>2]|0;r=n;return m|0}a=j;l=k[a+4>>2]|0;m=(k[g>>2]|0)+264|0;k[m>>2]=k[a>>2];k[m+4>>2]=l;k[(k[g>>2]|0)+272>>2]=k[i>>2];k[(k[g>>2]|0)+276>>2]=k[h>>2];k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}function Wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;j=p+8|0;m=p+4|0;o=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=2;while(1){if((k[i>>2]|0)>=((k[(k[e>>2]|0)+24>>2]|0)+2|0)){e=8;break}k[j>>2]=(k[i>>2]|0)-2;if(!(l[(k[(k[e>>2]|0)+32>>2]|0)+(k[j>>2]|0)>>0]|0)){a=je(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[m>>2]=a;a=$o(k[e>>2]|0,k[f>>2]|0,k[m>>2]|0,k[j>>2]|0,(k[h>>2]|0)+(k[j>>2]<<2)|0)|0;k[o>>2]=a;if(k[o>>2]|0){e=5;break}b=ke(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;a=(k[h>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)+b}k[i>>2]=(k[i>>2]|0)+1}if((e|0)==5){k[n>>2]=k[o>>2];o=k[n>>2]|0;r=p;return o|0}else if((e|0)==8){k[n>>2]=0;o=k[n>>2]|0;r=p;return o|0}return 0}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;i=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[d>>2]>>2]|0){r=l;return}a=Sd((k[(k[e>>2]|0)+24>>2]|0)*10|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[k[d>>2]>>2]=7;r=l;return}_o(k[(k[e>>2]|0)+24>>2]|0,k[f>>2]|0,k[h>>2]|0,g);a=zl(k[e>>2]|0,20,i,0)|0;k[j>>2]=a;if(k[j>>2]|0){Ud(k[h>>2]|0);k[k[d>>2]>>2]=k[j>>2];r=l;return}else{j=(k[e>>2]|0)+264|0;Ve(k[i>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;Se(k[i>>2]|0,2,k[h>>2]|0,k[g>>2]|0,148)|0;De(k[i>>2]|0)|0;j=ge(k[i>>2]|0)|0;k[k[d>>2]>>2]=j;r=l;return}}function Yo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;f=u+48|0;g=u+44|0;h=u+40|0;i=u+36|0;j=u+32|0;p=u+28|0;n=u+24|0;l=u+20|0;q=u+16|0;m=u+12|0;s=u+8|0;o=u+4|0;t=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[o>>2]=(k[(k[g>>2]|0)+24>>2]|0)+2;if(k[k[f>>2]>>2]|0){r=u;return}a=Sd((k[o>>2]|0)*14|0)|0;k[l>>2]=a;if(!(k[l>>2]|0)){k[k[f>>2]>>2]=7;r=u;return}k[p>>2]=(k[l>>2]|0)+(k[o>>2]<<2);a=zl(k[g>>2]|0,22,q,0)|0;k[s>>2]=a;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}Ue(k[q>>2]|0,1,0)|0;if((De(k[q>>2]|0)|0)==100){e=k[o>>2]|0;b=k[l>>2]|0;a=Je(k[q>>2]|0,0)|0;Zo(e,b,a,Ke(k[q>>2]|0,0)|0)}else dS(k[l>>2]|0,0,k[o>>2]<<2|0)|0;a=ge(k[q>>2]|0)|0;k[s>>2]=a;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}if((k[j>>2]|0)<0?(k[k[l>>2]>>2]|0)>>>0<(0-(k[j>>2]|0)|0)>>>0:0)k[k[l>>2]>>2]=0;else{a=k[l>>2]|0;k[a>>2]=(k[a>>2]|0)+(k[j>>2]|0)}k[m>>2]=0;while(1){if((k[m>>2]|0)>=((k[(k[g>>2]|0)+24>>2]|0)+1|0))break;k[t>>2]=k[(k[l>>2]|0)+((k[m>>2]|0)+1<<2)>>2];if(((k[t>>2]|0)+(k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0)|0)>>>0<(k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0)>>>0)k[t>>2]=0;else k[t>>2]=(k[t>>2]|0)+(k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0)-(k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0);k[(k[l>>2]|0)+((k[m>>2]|0)+1<<2)>>2]=k[t>>2];k[m>>2]=(k[m>>2]|0)+1}_o(k[o>>2]|0,k[l>>2]|0,k[p>>2]|0,n);t=zl(k[g>>2]|0,23,q,0)|0;k[s>>2]=t;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}else{Ue(k[q>>2]|0,1,0)|0;Se(k[q>>2]|0,2,k[p>>2]|0,k[n>>2]|0,0)|0;De(k[q>>2]|0)|0;t=ge(k[q>>2]|0)|0;k[k[f>>2]>>2]=t;Ud(k[l>>2]|0);r=u;return}}function Zo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+12|0;i=l+8|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l+16>>2]=d;k[i>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[e>>2]|0))break;c=im((k[g>>2]|0)+(k[i>>2]|0)|0,j)|0;k[i>>2]=(k[i>>2]|0)+c;k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]=k[j>>2];k[h>>2]=(k[h>>2]|0)+1}r=l;return}function _o(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;k[i>>2]=0;while(1){a=k[j>>2]|0;if((k[i>>2]|0)>=(k[e>>2]|0))break;c=Ul((k[g>>2]|0)+a|0,k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0,0)|0;k[j>>2]=(k[j>>2]|0)+c;k[i>>2]=(k[i>>2]|0)+1}k[k[h>>2]>>2]=a;r=l;return}function $o(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;f=B+72|0;g=B+68|0;h=B+64|0;i=B+60|0;j=B+56|0;l=B+52|0;x=B+48|0;p=B+44|0;n=B+40|0;o=B+36|0;s=B+32|0;z=B+28|0;q=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;m=B+4|0;u=B;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[p>>2]=0;k[n>>2]=0;k[o>>2]=0;k[s>>2]=0;k[q>>2]=0;k[w>>2]=k[(k[g>>2]|0)+36>>2];k[v>>2]=k[k[w>>2]>>2];if(!(k[i>>2]|0)){k[k[l>>2]>>2]=0;k[f>>2]=0;A=k[f>>2]|0;r=B;return A|0}c=Mn(k[w>>2]|0,k[h>>2]|0,k[i>>2]|0,-1,t)|0;k[x>>2]=c;if(k[x>>2]|0){k[f>>2]=k[x>>2];A=k[f>>2]|0;r=B;return A|0}k[y>>2]=k[(k[v>>2]|0)+20>>2];a:while(1){if(k[x>>2]|0)break;c=ac[k[y>>2]&255](k[t>>2]|0,z,q,p,n,o)|0;k[x>>2]=c;if(c)break;if((k[o>>2]|0)>=(k[s>>2]|0))k[s>>2]=(k[o>>2]|0)+1;if((k[o>>2]|0)>=0&(k[z>>2]|0)!=0^1|(k[q>>2]|0)<=0){A=11;break}c=ap(k[g>>2]|0,k[j>>2]|0,k[o>>2]|0,(k[(k[g>>2]|0)+252>>2]|0)+4|0,k[z>>2]|0,k[q>>2]|0)|0;k[x>>2]=c;k[m>>2]=1;while(1){if(k[x>>2]|0)continue a;if((k[m>>2]|0)>=(k[(k[g>>2]|0)+248>>2]|0))continue a;k[u>>2]=(k[(k[g>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0);if((k[q>>2]|0)>=(k[k[u>>2]>>2]|0)){c=ap(k[g>>2]|0,k[j>>2]|0,k[o>>2]|0,(k[u>>2]|0)+4|0,k[z>>2]|0,k[k[u>>2]>>2]|0)|0;k[x>>2]=c}k[m>>2]=(k[m>>2]|0)+1}}if((A|0)==11)k[x>>2]=1;bc[k[(k[v>>2]|0)+16>>2]&255](k[t>>2]|0)|0;A=k[l>>2]|0;k[A>>2]=(k[A>>2]|0)+(k[s>>2]|0);k[f>>2]=(k[x>>2]|0)==101?0:k[x>>2]|0;A=k[f>>2]|0;r=B;return A|0}function ap(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[o>>2]=0;e=Ok(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=e;if(k[n>>2]|0){e=(k[g>>2]|0)+260|0;k[e>>2]=(k[e>>2]|0)-((k[k[n>>2]>>2]|0)+(k[m>>2]|0)+20)}a=(k[g>>2]|0)+264|0;d=k[h>>2]|0;e=k[i>>2]|0;if((Nn(n,k[a>>2]|0,k[a+4>>2]|0,d,((d|0)<0)<<31>>31,e,((e|0)<0)<<31>>31,o)|0)!=0?(e=k[n>>2]|0,(e|0)==(vk(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0)|0)):0){Ud(k[n>>2]|0);k[o>>2]=7}if(k[o>>2]|0){e=k[o>>2]|0;r=p;return e|0}e=(k[g>>2]|0)+260|0;k[e>>2]=(k[e>>2]|0)+((k[k[n>>2]>>2]|0)+(k[m>>2]|0)+20);e=k[o>>2]|0;r=p;return e|0}function bp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;g=u+48|0;h=u+44|0;f=u+40|0;i=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;m=u+20|0;p=u+16|0;o=u;n=u+12|0;t=u+8|0;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[i>>2]=d;k[j>>2]=e;if(k[k[g>>2]>>2]|0){r=u;return}f=zl(k[h>>2]|0,7,q,f)|0;k[s>>2]=f;f=k[q>>2]|0;if(!(k[s>>2]|0)){do if(100==(De(f)|0)){c=fp(k[h>>2]|0,k[q>>2]|0)|0;k[p>>2]=c;c=Ne(k[q>>2]|0,0)|0;e=o;k[e>>2]=c;k[e+4>>2]=L;o=Vo(k[h>>2]|0,1,k[p>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[s>>2]=o;k[m>>2]=1;while(1){if(k[s>>2]|0)break;if((k[m>>2]|0)>(k[(k[h>>2]|0)+24>>2]|0))break;k[n>>2]=(k[m>>2]|0)-1;if(!(l[(k[(k[h>>2]|0)+32>>2]|0)+(k[n>>2]|0)>>0]|0)){e=Oe(k[q>>2]|0,k[m>>2]|0)|0;k[t>>2]=e;e=$o(k[h>>2]|0,k[p>>2]|0,k[t>>2]|0,-1,(k[i>>2]|0)+(k[n>>2]<<2)|0)|0;k[s>>2]=e;e=Ke(k[q>>2]|0,k[m>>2]|0)|0;o=(k[i>>2]|0)+(k[(k[h>>2]|0)+24>>2]<<2)|0;k[o>>2]=(k[o>>2]|0)+e}k[m>>2]=(k[m>>2]|0)+1}if(!(k[s>>2]|0)){k[k[j>>2]>>2]=1;break}ge(k[q>>2]|0)|0;k[k[g>>2]>>2]=k[s>>2];r=u;return}while(0);t=ge(k[q>>2]|0)|0;k[s>>2]=t}else ge(f)|0;k[k[g>>2]>>2]=k[s>>2];r=u;return}function cp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[d>>2]|0)+40>>2]|0){k[k[f>>2]>>2]=0;k[h>>2]=0;h=k[h>>2]|0;r=i;return h|0}c=zl(k[d>>2]|0,1,g,e)|0;k[h>>2]=c;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}if(100==(De(k[g>>2]|0)|0)){c=Me(k[g>>2]|0,0)|0;k[k[f>>2]>>2]=c}c=ge(k[g>>2]|0)|0;k[h>>2]=c;h=k[h>>2]|0;r=i;return h|0}function dp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=0;tl(k[c>>2]|0);if(k[f>>2]|0)ep(d,k[c>>2]|0,2,0);ep(d,k[c>>2]|0,3,0);ep(d,k[c>>2]|0,4,0);if(i[(k[c>>2]|0)+230>>0]|0)ep(d,k[c>>2]|0,5,0);if(!(i[(k[c>>2]|0)+229>>0]|0)){f=k[d>>2]|0;r=e;return f|0}ep(d,k[c>>2]|0,6,0);f=k[d>>2]|0;r=e;return f|0}function ep(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[e>>2]>>2]|0){r=l;return}a=zl(k[f>>2]|0,k[g>>2]|0,i,k[h>>2]|0)|0;k[j>>2]=a;if(!(k[j>>2]|0)){De(k[i>>2]|0)|0;i=ge(k[i>>2]|0)|0;k[j>>2]=i}k[k[e>>2]>>2]=k[j>>2];r=l;return}function fp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[(k[c>>2]|0)+44>>2]|0)){b=k[e>>2]|0;r=f;return b|0}b=Me(k[d>>2]|0,(k[(k[c>>2]|0)+24>>2]|0)+1|0)|0;k[e>>2]=b;b=k[e>>2]|0;r=f;return b|0}function gp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;c=t;e=t+52|0;p=t+48|0;f=t+44|0;h=t+40|0;g=t+36|0;o=t+32|0;n=t+28|0;d=t+24|0;b=t+20|0;j=t+16|0;m=t+12|0;s=t+8|0;q=t+4|0;k[e>>2]=a;a=dp(k[e>>2]|0,0)|0;k[p>>2]=a;if(k[p>>2]|0){s=k[p>>2]|0;r=t;return s|0}k[f>>2]=0;k[h>>2]=0;k[g>>2]=0;k[o>>2]=0;k[n>>2]=0;k[c>>2]=k[(k[e>>2]|0)+216>>2];c=Yd(23614,c)|0;k[d>>2]=c;if(k[d>>2]|0){c=lf(k[(k[e>>2]|0)+12>>2]|0,k[d>>2]|0,-1,o,0)|0;k[p>>2]=c;Ud(k[d>>2]|0)}else k[p>>2]=7;do if(!(k[p>>2]|0)){k[b>>2]=((k[(k[e>>2]|0)+24>>2]|0)+1<<2)*3;d=Sd(k[b>>2]|0)|0;k[f>>2]=d;if(!(k[f>>2]|0)){k[p>>2]=7;break}else{dS(k[f>>2]|0,0,k[b>>2]|0)|0;k[h>>2]=(k[f>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+1<<2);k[g>>2]=(k[h>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(k[p>>2]|0))b=100==(De(k[o>>2]|0)|0);else b=0;a=k[e>>2]|0;if(!b)break;a=fp(a,k[o>>2]|0)|0;k[m>>2]=a;a=k[e>>2]|0;c=k[m>>2]|0;d=Ne(k[o>>2]|0,0)|0;d=Vo(a,0,c,d,L)|0;k[p>>2]=d;dS(k[f>>2]|0,0,(k[(k[e>>2]|0)+24>>2]|0)+1<<2|0)|0;k[j>>2]=0;while(1){if(k[p>>2]|0)break;if((k[j>>2]|0)>=(k[(k[e>>2]|0)+24>>2]|0))break;if(!(l[(k[(k[e>>2]|0)+32>>2]|0)+(k[j>>2]|0)>>0]|0)){c=Oe(k[o>>2]|0,(k[j>>2]|0)+1|0)|0;k[s>>2]=c;c=$o(k[e>>2]|0,k[m>>2]|0,k[s>>2]|0,k[j>>2]|0,(k[f>>2]|0)+(k[j>>2]<<2)|0)|0;k[p>>2]=c;c=Ke(k[o>>2]|0,(k[j>>2]|0)+1|0)|0;d=(k[f>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+c}k[j>>2]=(k[j>>2]|0)+1}if(i[(k[e>>2]|0)+230>>0]|0)Xo(p,k[e>>2]|0,k[f>>2]|0);if(k[p>>2]|0){fe(k[o>>2]|0)|0;k[o>>2]=0;continue}k[n>>2]=(k[n>>2]|0)+1;k[j>>2]=0;while(1){if((k[j>>2]|0)>(k[(k[e>>2]|0)+24>>2]|0))continue a;d=(k[h>>2]|0)+(k[j>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0);k[j>>2]=(k[j>>2]|0)+1}}if(i[a+228>>0]|0)Yo(p,k[e>>2]|0,k[h>>2]|0,k[g>>2]|0,k[n>>2]|0);Ud(k[f>>2]|0);if(!(k[o>>2]|0)){s=k[p>>2]|0;r=t;return s|0}s=fe(k[o>>2]|0)|0;k[q>>2]=s;if(k[p>>2]|0){s=k[p>>2]|0;r=t;return s|0}k[p>>2]=k[q>>2];s=k[p>>2]|0;r=t;return s|0}function hp(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=0;a=mp(k[e>>2]|0,d)|0;k[b>>2]=a;k[b>>2]=(k[b>>2]|0)==0&(k[d>>2]|0)==0?267:a;r=c;return k[b>>2]|0}function ip(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;c=h+20|0;j=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;k[c>>2]=a;k[j>>2]=b;k[e>>2]=8;k[d>>2]=0;k[g>>2]=k[j>>2];b=kp(g)|0;k[d>>2]=b;if((i[k[g>>2]>>0]|0)==44?(i[(k[g>>2]|0)+1>>0]|0)!=0:0){k[g>>2]=(k[g>>2]|0)+1;j=kp(g)|0;k[e>>2]=j}if((k[e>>2]|0)<2?1:(i[k[g>>2]>>0]|0)!=0){k[f>>2]=1;j=k[f>>2]|0;r=h;return j|0}k[f>>2]=0;if(!(i[(k[c>>2]|0)+229>>0]|0))lp(f,k[c>>2]|0);if(!(k[f>>2]|0)){j=qo(k[c>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=j}Im(k[c>>2]|0);j=k[f>>2]|0;r=h;return j|0}function jp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[h>>2]=b;k[f>>2]=0;k[e>>2]=0;b=kp(h)|0;k[(k[d>>2]|0)+48>>2]=b;if(!((k[(k[d>>2]|0)+48>>2]|0)!=1?(k[(k[d>>2]|0)+48>>2]|0)<=16:0))k[(k[d>>2]|0)+48>>2]=8;if((i[(k[d>>2]|0)+229>>0]|0)==0?(lp(f,k[d>>2]|0),(k[f>>2]|0)!=0):0){k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}h=zl(k[d>>2]|0,23,e,0)|0;k[f>>2]=h;if(k[f>>2]|0){k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}else{Ue(k[e>>2]|0,1,2)|0;Ue(k[e>>2]|0,2,k[(k[d>>2]|0)+48>>2]|0)|0;De(k[e>>2]|0)|0;h=ge(k[e>>2]|0)|0;k[f>>2]=h;k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}return 0}function kp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[c>>2]=0;while(1){if((i[k[d>>2]>>0]|0)<48){a=5;break}if((i[k[d>>2]>>0]|0)>57){a=5;break}f=(k[c>>2]|0)*10|0;a=k[d>>2]|0;k[d>>2]=a+1;k[c>>2]=f+(i[a>>0]|0)-48}if((a|0)==5){k[k[b>>2]>>2]=k[d>>2];r=e;return k[c>>2]|0}return 0}function lp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d;e=d+12|0;c=d+8|0;k[e>>2]=a;k[c>>2]=b;b=k[e>>2]|0;a=k[(k[c>>2]|0)+12>>2]|0;g=k[(k[c>>2]|0)+20>>2]|0;k[f>>2]=k[(k[c>>2]|0)+16>>2];k[f+4>>2]=g;xl(b,a,23537,f);if(k[k[e>>2]>>2]|0){r=d;return}i[(k[c>>2]|0)+229>>0]=1;r=d;return}function mp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=r;r=r+112|0;g=E+24|0;i=E+108|0;j=E+104|0;B=E+100|0;m=E+16|0;n=E+8|0;e=E+96|0;f=E+92|0;d=E+88|0;c=E+84|0;y=E+80|0;z=E+76|0;h=E+72|0;q=E;u=E+68|0;p=E+64|0;C=E+60|0;w=E+56|0;A=E+52|0;D=E+48|0;x=E+44|0;s=E+40|0;t=E+36|0;v=E+32|0;o=E+28|0;k[i>>2]=a;k[j>>2]=b;k[B>>2]=0;b=m;k[b>>2]=0;k[b+4>>2]=0;b=n;k[b>>2]=0;k[b+4>>2]=0;k[e>>2]=0;b=zl(k[i>>2]|0,27,e,0)|0;k[B>>2]=b;if(!(k[B>>2]|0)){Ue(k[e>>2]|0,1,k[(k[i>>2]|0)+272>>2]|0)|0;Ue(k[e>>2]|0,2,k[(k[i>>2]|0)+248>>2]|0)|0;a:while(1){if(!(k[B>>2]|0))a=(De(k[e>>2]|0)|0)==100;else a=0;b=k[e>>2]|0;if(!a)break;b=Me(b,0)|0;k[d>>2]=b;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[i>>2]|0)+248>>2]|0))continue a;a=m;G=k[a>>2]|0;a=k[a+4>>2]|0;F=np(k[i>>2]|0,k[d>>2]|0,k[c>>2]|0,B)|0;b=m;k[b>>2]=G^F;k[b+4>>2]=a^L;k[c>>2]=(k[c>>2]|0)+1}}G=ge(b)|0;k[f>>2]=G;if(!(k[B>>2]|0))k[B>>2]=k[f>>2]}if(k[B>>2]|0){D=m;C=D;C=k[C>>2]|0;D=D+4|0;D=k[D>>2]|0;F=n;G=F;G=k[G>>2]|0;F=F+4|0;F=k[F>>2]|0;G=(C|0)==(G|0);F=(D|0)==(F|0);F=G&F;F=F&1;G=k[j>>2]|0;k[G>>2]=F;G=k[B>>2]|0;r=E;return G|0}k[y>>2]=k[k[(k[i>>2]|0)+36>>2]>>2];k[z>>2]=0;k[g>>2]=k[(k[i>>2]|0)+216>>2];G=Yd(23614,g)|0;k[h>>2]=G;if(k[h>>2]|0){G=lf(k[(k[i>>2]|0)+12>>2]|0,k[h>>2]|0,-1,z,0)|0;k[B>>2]=G;Ud(k[h>>2]|0)}else k[B>>2]=7;b:while(1){if(!(k[B>>2]|0))a=100==(De(k[z>>2]|0)|0);else a=0;b=k[z>>2]|0;if(!a)break;F=Ne(b,0)|0;G=q;k[G>>2]=F;k[G+4>>2]=L;G=fp(k[i>>2]|0,k[z>>2]|0)|0;k[u>>2]=G;k[p>>2]=0;while(1){if(k[B>>2]|0)continue b;if((k[p>>2]|0)>=(k[(k[i>>2]|0)+24>>2]|0))continue b;if(!(l[(k[(k[i>>2]|0)+32>>2]|0)+(k[p>>2]|0)>>0]|0)){G=Oe(k[z>>2]|0,(k[p>>2]|0)+1|0)|0;k[C>>2]=G;G=Ke(k[z>>2]|0,(k[p>>2]|0)+1|0)|0;k[w>>2]=G;k[A>>2]=0;G=Mn(k[(k[i>>2]|0)+36>>2]|0,k[u>>2]|0,k[C>>2]|0,k[w>>2]|0,A)|0;k[B>>2]=G;c:while(1){if(k[B>>2]|0)break;k[x>>2]=0;k[s>>2]=0;k[t>>2]=0;k[v>>2]=0;G=ac[k[(k[y>>2]|0)+20>>2]&255](k[A>>2]|0,D,x,s,t,v)|0;k[B>>2]=G;if(k[B>>2]|0)continue;F=n;g=k[F>>2]|0;F=k[F+4>>2]|0;h=q;h=op(k[D>>2]|0,k[x>>2]|0,k[u>>2]|0,0,k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[v>>2]|0)|0;G=n;k[G>>2]=g^h;k[G+4>>2]=F^L;k[o>>2]=1;while(1){if((k[o>>2]|0)>=(k[(k[i>>2]|0)+248>>2]|0))continue c;if((k[(k[(k[i>>2]|0)+252>>2]|0)+((k[o>>2]|0)*24|0)>>2]|0)<=(k[x>>2]|0)){F=n;g=k[F>>2]|0;F=k[F+4>>2]|0;h=q;h=op(k[D>>2]|0,k[(k[(k[i>>2]|0)+252>>2]|0)+((k[o>>2]|0)*24|0)>>2]|0,k[u>>2]|0,k[o>>2]|0,k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[v>>2]|0)|0;G=n;k[G>>2]=g^h;k[G+4>>2]=F^L}k[o>>2]=(k[o>>2]|0)+1}}if(k[A>>2]|0)bc[k[(k[y>>2]|0)+16>>2]&255](k[A>>2]|0)|0;if((k[B>>2]|0)==101)k[B>>2]=0}k[p>>2]=(k[p>>2]|0)+1}}fe(b)|0;D=m;C=D;C=k[C>>2]|0;D=D+4|0;D=k[D>>2]|0;F=n;G=F;G=k[G>>2]|0;F=F+4|0;F=k[F>>2]|0;G=(C|0)==(G|0);F=(D|0)==(F|0);F=G&F;F=F&1;G=k[j>>2]|0;k[G>>2]=F;G=k[B>>2]|0;r=E;return G|0}function np(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+144|0;f=u+140|0;g=u+136|0;h=u+132|0;i=u+128|0;e=u+112|0;l=u+56|0;t=u+48|0;j=u+32|0;q=u+44|0;s=u+40|0;n=u+24|0;m=u+16|0;o=u+8|0;p=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;c=j;k[c>>2]=0;k[c+4>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;c=l;b=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));k[e+12>>2]=3;d=e+12|0;k[d>>2]=k[d>>2]|16;d=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,-2,0,0,0,1,l)|0;k[t>>2]=d;if(!(k[t>>2]|0)){e=El(k[f>>2]|0,l,e)|0;k[t>>2]=e}if(k[t>>2]|0){Ll(l);t=k[t>>2]|0;s=k[i>>2]|0;k[s>>2]=t;s=j;t=s;t=k[t>>2]|0;s=s+4|0;s=k[s>>2]|0;L=s;r=u;return t|0}a:while(1){e=Fl(k[f>>2]|0,l)|0;k[t>>2]=e;if(100!=(e|0))break;k[q>>2]=k[l+48>>2];k[s>>2]=(k[q>>2]|0)+(k[l+52>>2]|0);e=n;k[e>>2]=0;k[e+4>>2]=0;e=m;k[e>>2]=0;k[e+4>>2]=0;e=o;k[e>>2]=0;k[e+4>>2]=0;e=im(k[q>>2]|0,n)|0;k[q>>2]=(k[q>>2]|0)+e;while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)continue a;e=p;k[e>>2]=0;k[e+4>>2]=0;e=im(k[q>>2]|0,p)|0;k[q>>2]=(k[q>>2]|0)+e;if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)continue;d=p;e=p;if(!((k[d>>2]|0)==0&(k[d+4>>2]|0)==0|(k[e>>2]|0)==1&(k[e+4>>2]|0)==0)){b=p;b=_R(k[b>>2]|0,k[b+4>>2]|0,2,0)|0;d=o;b=$R(k[d>>2]|0,k[d+4>>2]|0,b|0,L|0)|0;d=o;k[d>>2]=b;k[d+4>>2]=L;d=j;b=k[d>>2]|0;d=k[d+4>>2]|0;a=n;a=op(k[l+40>>2]|0,k[l+44>>2]|0,k[g>>2]|0,k[h>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[m>>2]|0,k[o>>2]|0)|0;e=j;k[e>>2]=b^a;k[e+4>>2]=d^L;continue}e=m;k[e>>2]=0;k[e+4>>2]=0;e=o;k[e>>2]=0;k[e+4>>2]=0;e=p;c=k[q>>2]|0;if((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0){e=im(c,m)|0;k[q>>2]=(k[q>>2]|0)+e;continue}else{d=im(c,p)|0;k[q>>2]=(k[q>>2]|0)+d;d=p;e=n;d=$R(k[e>>2]|0,k[e+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=L;continue}}}Ll(l);t=k[t>>2]|0;s=k[i>>2]|0;k[s>>2]=t;s=j;t=s;t=k[t>>2]|0;s=s+4|0;s=k[s>>2]|0;L=s;r=u;return t|0}function op(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;o=r;r=r+48|0;j=o+40|0;l=o+36|0;t=o+32|0;s=o+28|0;u=o+8|0;q=o+24|0;p=o+20|0;m=o+16|0;n=o;k[j>>2]=a;k[l>>2]=b;k[t>>2]=c;k[s>>2]=d;b=u;k[b>>2]=e;k[b+4>>2]=f;k[q>>2]=g;k[p>>2]=h;h=u;b=k[h+4>>2]|0;a=n;k[a>>2]=k[h>>2];k[a+4>>2]=b;a=n;a=eS(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[t>>2]|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=$R(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=eS(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[s>>2]|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=$R(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=eS(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[q>>2]|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=$R(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=eS(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[p>>2]|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=$R(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;k[m>>2]=0;while(1){f=n;e=k[f>>2]|0;f=k[f+4>>2]|0;if((k[m>>2]|0)>=(k[l>>2]|0))break;u=eS(e|0,f|0,3)|0;t=i[(k[j>>2]|0)+(k[m>>2]|0)>>0]|0;t=$R(u|0,L|0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;t=$R(k[u>>2]|0,k[u+4>>2]|0,t|0,L|0)|0;u=n;k[u>>2]=t;k[u+4>>2]=L;k[m>>2]=(k[m>>2]|0)+1}L=f;r=o;return e|0}function pp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[(k[b>>2]|0)+12>>2];a:do if(!(k[c>>2]|0))i[(k[b>>2]|0)+6>>0]=1;else do{if(!(l[(k[b>>2]|0)+7>>0]|0))ge(k[(k[b>>2]|0)+8>>2]|0)|0;bn(k[b>>2]|0,k[c>>2]|0,d);i[(k[b>>2]|0)+6>>0]=i[(k[c>>2]|0)+32>>0]|0;i[(k[b>>2]|0)+7>>0]=1;k[(k[b>>2]|0)+88>>2]=1;g=(k[c>>2]|0)+24|0;f=k[g+4>>2]|0;a=(k[b>>2]|0)+32|0;k[a>>2]=k[g>>2];k[a+4>>2]=f;if(l[(k[b>>2]|0)+6>>0]|0)break a}while((Ym(k[b>>2]|0,d)|0)!=0);while(0);if(k[d>>2]|0){g=k[d>>2]|0;r=e;return g|0}if(!((l[(k[b>>2]|0)+52>>0]|0|0)==0?(f=(k[b>>2]|0)+32|0,a=k[f+4>>2]|0,g=(k[b>>2]|0)+80|0,c=k[g+4>>2]|0,(a|0)>(c|0)|((a|0)==(c|0)?(k[f>>2]|0)>>>0>(k[g>>2]|0)>>>0:0)):0)){if(!(l[(k[b>>2]|0)+52>>0]|0)){g=k[d>>2]|0;r=e;return g|0}f=(k[b>>2]|0)+32|0;a=k[f+4>>2]|0;g=(k[b>>2]|0)+72|0;c=k[g+4>>2]|0;if(!((a|0)<(c|0)|((a|0)==(c|0)?(k[f>>2]|0)>>>0<(k[g>>2]|0)>>>0:0))){g=k[d>>2]|0;r=e;return g|0}}i[(k[b>>2]|0)+6>>0]=1;g=k[d>>2]|0;r=e;return g|0}function qp(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[e>>2];while(1){if(!(k[b>>2]|0))break;if((k[(k[b>>2]|0)+12>>2]|0)==0?(k[(k[b>>2]|0)+16>>2]|0)==0:0)break;a=k[b>>2]|0;if(k[(k[b>>2]|0)+12>>2]|0)a=k[a+12>>2]|0;else a=k[a+16>>2]|0;k[b>>2]=a}a:while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+8>>2];Qp(k[b>>2]|0);if(((k[c>>2]|0)!=0?(k[b>>2]|0)==(k[(k[c>>2]|0)+12>>2]|0):0)?(k[(k[c>>2]|0)+16>>2]|0)!=0:0){k[b>>2]=k[(k[c>>2]|0)+16>>2];while(1){if(!(k[b>>2]|0))continue a;if((k[(k[b>>2]|0)+12>>2]|0)==0?(k[(k[b>>2]|0)+16>>2]|0)==0:0)continue a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+12>>2]|0)a=k[a+12>>2]|0;else a=k[a+16>>2]|0;k[b>>2]=a}}k[b>>2]=k[c>>2]}r=d;return}function rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+8|0;e=h+20|0;f=h;g=h+16|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if((k[e>>2]|0)!=0?(a=bf(k[e>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==1):0){a=ne(k[e>>2]|0)|0;g=d;k[g>>2]=a;k[g+4>>2]=L;g=d;a=g;a=k[a>>2]|0;g=g+4|0;g=k[g>>2]|0;L=g;r=h;return a|0}a=k[f+4>>2]|0;g=d;k[g>>2]=k[f>>2];k[g+4>>2]=a;g=d;a=g;a=k[a>>2]|0;g=g+4|0;g=k[g>>2]|0;L=g;r=h;return a|0}function sp(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=r;r=r+64|0;q=s+8|0;p=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;l=s+28|0;t=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;k[z>>2]=a;k[y>>2]=b;k[x>>2]=c;k[w>>2]=d;k[v>>2]=e;k[u>>2]=f;k[l>>2]=g;k[t>>2]=h;k[m>>2]=i;k[n>>2]=j;g=Ep(k[z>>2]|0,k[y>>2]|0,k[x>>2]|0,k[w>>2]|0,k[v>>2]|0,k[u>>2]|0,k[l>>2]|0,k[t>>2]|0,k[m>>2]|0)|0;k[o>>2]=g;if(((k[o>>2]|0)==0?(k[k[m>>2]>>2]|0)!=0:0)?(z=Fp(k[m>>2]|0,12)|0,k[o>>2]=z,(k[o>>2]|0)==0):0){z=Gp(k[k[m>>2]>>2]|0,12)|0;k[o>>2]=z}if(!(k[o>>2]|0)){z=k[o>>2]|0;r=s;return z|0}qp(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0;if((k[o>>2]|0)==18){z=k[n>>2]|0;k[p>>2]=12;Pk(z,23723,p);k[o>>2]=1;z=k[o>>2]|0;r=s;return z|0}if((k[o>>2]|0)!=1){z=k[o>>2]|0;r=s;return z|0}z=k[n>>2]|0;k[q>>2]=k[l>>2];Pk(z,23775,q);z=k[o>>2]|0;r=s;return z|0}function tp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;m=r;r=r+48|0;b=m+36|0;n=m+32|0;j=m+28|0;g=m+24|0;f=m+20|0;c=m+16|0;d=m+12|0;e=m+8|0;h=m+4|0;i=m;k[b>>2]=a;k[n>>2]=k[k[b>>2]>>2];k[j>>2]=0;k[g>>2]=0;k[f>>2]=0;up(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,g,f,j);do if((k[j>>2]|0)==0&(k[g>>2]|0)>1?(l[(k[n>>2]|0)+228>>0]|0|0)!=0:0){n=Sd(((k[g>>2]|0)*24|0)+(k[f>>2]<<2<<1)|0)|0;k[c>>2]=n;k[d>>2]=(k[c>>2]|0)+((k[g>>2]|0)*24|0);if(!(k[c>>2]|0)){k[j>>2]=7;break}k[h>>2]=k[c>>2];k[i>>2]=k[d>>2];vp(k[b>>2]|0,0,k[(k[b>>2]|0)+12>>2]|0,h,i,j);k[g>>2]=((k[h>>2]|0)-(k[c>>2]|0)|0)/24|0;k[f>>2]=((k[i>>2]|0)-(k[d>>2]|0)|0)/4|0;a:do if(!(k[j>>2]|0)){n=wp(k[b>>2]|0,0,k[c>>2]|0,k[g>>2]|0)|0;k[j>>2]=n;k[e>>2]=0;while(1){if(k[j>>2]|0)break a;if((k[e>>2]|0)>=(k[f>>2]|0))break a;n=wp(k[b>>2]|0,k[(k[d>>2]|0)+(k[e>>2]<<2)>>2]|0,k[c>>2]|0,k[g>>2]|0)|0;k[j>>2]=n;k[e>>2]=(k[e>>2]|0)+1}}while(0);Ud(k[c>>2]|0)}while(0);xp(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,j);r=m;return k[j>>2]|0}function up(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+32|0;m=p+28|0;g=p+24|0;h=p+20|0;n=p+16|0;i=p+12|0;j=p+8|0;l=p+4|0;o=p;k[f>>2]=a;k[m>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=e;if(!(k[m>>2]|0)){r=p;return}if(k[k[n>>2]>>2]|0){r=p;return}a=k[m>>2]|0;if((k[k[m>>2]>>2]|0)!=5){o=k[h>>2]|0;k[o>>2]=(k[o>>2]|0)+((k[a>>2]|0)==4&1);up(k[f>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0,k[n>>2]|0);up(k[f>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0,k[n>>2]|0);r=p;return}k[j>>2]=k[(k[a+20>>2]|0)+64>>2];h=k[g>>2]|0;k[h>>2]=(k[h>>2]|0)+(k[j>>2]|0);k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[j>>2]|0)){a=9;break}k[l>>2]=(k[(k[m>>2]|0)+20>>2]|0)+72+((k[i>>2]|0)*24|0);h=Cp(k[f>>2]|0,k[k[l>>2]>>2]|0,k[(k[l>>2]|0)+4>>2]|0,k[(k[l>>2]|0)+8>>2]|0,(k[l>>2]|0)+20|0)|0;k[o>>2]=h;if(k[o>>2]|0){a=7;break}k[i>>2]=(k[i>>2]|0)+1}if((a|0)==7){k[k[n>>2]>>2]=k[o>>2];r=p;return}else if((a|0)==9){k[(k[(k[m>>2]|0)+20>>2]|0)+44>>2]=-1;r=p;return}}function vp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;g=q+4|0;i=q;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;if(k[k[p>>2]>>2]|0){r=q;return}c=k[m>>2]|0;if((k[k[m>>2]>>2]|0)==5){k[h>>2]=k[c+20>>2];k[g>>2]=0;while(1){if(k[k[p>>2]>>2]|0){a=13;break}if((k[g>>2]|0)>=(k[(k[h>>2]|0)+64>>2]|0)){a=13;break}m=k[n>>2]|0;o=k[m>>2]|0;k[m>>2]=o+24;k[i>>2]=o;k[k[i>>2]>>2]=k[h>>2];k[(k[i>>2]|0)+4>>2]=k[g>>2];k[(k[i>>2]|0)+12>>2]=k[l>>2];k[(k[i>>2]|0)+8>>2]=(k[h>>2]|0)+72+((k[g>>2]|0)*24|0);k[(k[i>>2]|0)+20>>2]=k[(k[h>>2]|0)+68>>2];o=Bp(k[j>>2]|0,k[(k[(k[i>>2]|0)+8>>2]|0)+20>>2]|0,(k[i>>2]|0)+16|0)|0;k[k[p>>2]>>2]=o;k[g>>2]=(k[g>>2]|0)+1}if((a|0)==13){r=q;return}}if((k[c>>2]|0)==2){r=q;return}if((k[k[m>>2]>>2]|0)==4){k[l>>2]=k[(k[m>>2]|0)+12>>2];k[k[k[o>>2]>>2]>>2]=k[l>>2];i=k[o>>2]|0;k[i>>2]=(k[i>>2]|0)+4}vp(k[j>>2]|0,k[l>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0);if((k[k[m>>2]>>2]|0)==4){k[l>>2]=k[(k[m>>2]|0)+16>>2];k[k[k[o>>2]>>2]>>2]=k[l>>2];i=k[o>>2]|0;k[i>>2]=(k[i>>2]|0)+4}vp(k[j>>2]|0,k[l>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0);r=q;return}function wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;e=B+76|0;f=B+72|0;g=B+68|0;h=B+64|0;i=B+60|0;w=B+56|0;n=B+52|0;z=B+48|0;l=B+44|0;s=B+40|0;t=B+36|0;q=B+32|0;p=B+28|0;j=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;o=B+8|0;u=B+4|0;m=B;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[w>>2]=k[k[f>>2]>>2];k[n>>2]=0;k[z>>2]=0;k[s>>2]=0;k[t>>2]=0;k[q>>2]=0;k[p>>2]=1;if(k[(k[w>>2]|0)+40>>2]|0){k[e>>2]=0;A=k[e>>2]|0;r=B;return A|0}k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[i>>2]|0))break;if((k[(k[h>>2]|0)+((k[l>>2]|0)*24|0)+12>>2]|0)==(k[g>>2]|0)){k[s>>2]=(k[s>>2]|0)+(k[(k[h>>2]|0)+((k[l>>2]|0)*24|0)+16>>2]|0);k[t>>2]=(k[t>>2]|0)+1}k[l>>2]=(k[l>>2]|0)+1}if((k[s>>2]|0)==0|(k[t>>2]|0)<2){k[e>>2]=0;A=k[e>>2]|0;r=B;return A|0}b=yp(k[f>>2]|0,n)|0;k[z>>2]=b;k[l>>2]=0;while(1){if(!((k[l>>2]|0)<(k[t>>2]|0)?(k[z>>2]|0)==0:0))break;k[v>>2]=0;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[i>>2]|0))break;do if((k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+8>>2]|0)!=0?(k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+12>>2]|0)==(k[g>>2]|0):0){if((k[v>>2]|0)!=0?(k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+16>>2]|0)>=(k[(k[v>>2]|0)+16>>2]|0):0)break;k[v>>2]=(k[h>>2]|0)+((k[j>>2]|0)*24|0)}while(0);k[j>>2]=(k[j>>2]|0)+1}if((k[l>>2]|0)!=0?(k[(k[v>>2]|0)+16>>2]|0)>=(ha(((k[q>>2]|0)+((k[p>>2]|0)/4|0)-1|0)/((k[p>>2]|0)/4|0|0)|0,k[n>>2]|0)|0):0){k[x>>2]=k[(k[v>>2]|0)+8>>2];b=zp(k[f>>2]|0,k[x>>2]|0,k[(k[v>>2]|0)+20>>2]|0)|0;k[z>>2]=b;yn(k[(k[x>>2]|0)+20>>2]|0);k[(k[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((k[l>>2]|0)<12)k[p>>2]=k[p>>2]<<2;if(k[l>>2]|0){if((k[(k[k[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((k[l>>2]|0)==((k[t>>2]|0)-1|0))break}k[y>>2]=k[(k[v>>2]|0)+8>>2];k[o>>2]=0;k[u>>2]=0;b=rn(k[w>>2]|0,k[y>>2]|0,k[(k[v>>2]|0)+20>>2]|0,o,u)|0;k[z>>2]=b;if(!(k[z>>2]|0)){b=sn(k[w>>2]|0,k[k[v>>2]>>2]|0,k[(k[v>>2]|0)+4>>2]|0,k[u>>2]|0,k[o>>2]|0)|0;k[z>>2]=b}if(!(k[z>>2]|0)){b=Ap(k[k[k[v>>2]>>2]>>2]|0,k[(k[k[v>>2]>>2]|0)+4>>2]|0)|0;k[m>>2]=b;if((k[l>>2]|0)!=0?(k[m>>2]|0)>=(k[q>>2]|0):0)break;k[q>>2]=k[m>>2]}}while(0);k[(k[v>>2]|0)+8>>2]=0;k[l>>2]=(k[l>>2]|0)+1}k[e>>2]=k[z>>2];A=k[e>>2]|0;r=B;return A|0}function xp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;h=j+12|0;e=j+8|0;g=j+4|0;f=j;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;if(!(k[h>>2]|0)){r=j;return}if(k[k[e>>2]>>2]|0){r=j;return}if((k[k[h>>2]>>2]|0)!=5){xp(k[d>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[e>>2]|0);xp(k[d>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[e>>2]|0);if(l[(k[(k[h>>2]|0)+12>>2]|0)+34>>0]|0)d=(l[(k[(k[h>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else d=0;i[(k[h>>2]|0)+34>>0]=d&1;r=j;return}k[g>>2]=k[(k[(k[h>>2]|0)+20>>2]|0)+64>>2];if(k[g>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+20>>2]|0)+72+((k[f>>2]|0)*24|0)+16>>2]|0))break;k[f>>2]=(k[f>>2]|0)+1}i[(k[h>>2]|0)+34>>0]=(k[f>>2]|0)==(k[g>>2]|0)}h=on(k[d>>2]|0,1,k[(k[h>>2]|0)+20>>2]|0)|0;k[k[e>>2]>>2]=h;r=j;return}function yp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;c=n+44|0;d=n+40|0;e=n+36|0;m=n+32|0;i=n+28|0;l=n+24|0;h=n+8|0;g=n;j=n+20|0;f=n+16|0;k[d>>2]=a;k[e>>2]=b;if(!(k[(k[d>>2]|0)+60>>2]|0)){k[i>>2]=k[k[d>>2]>>2];b=h;k[b>>2]=0;k[b+4>>2]=0;b=g;k[b>>2]=0;k[b+4>>2]=0;b=Zn(k[i>>2]|0,l)|0;k[m>>2]=b;if(k[m>>2]|0){k[c>>2]=k[m>>2];m=k[c>>2]|0;r=n;return m|0}b=Je(k[l>>2]|0,0)|0;k[f>>2]=b;b=Ke(k[l>>2]|0,0)|0;k[j>>2]=(k[f>>2]|0)+b;b=im(k[f>>2]|0,h)|0;k[f>>2]=(k[f>>2]|0)+b;while(1){if((k[f>>2]|0)>>>0>=(k[j>>2]|0)>>>0)break;b=im(k[f>>2]|0,g)|0;k[f>>2]=(k[f>>2]|0)+b}j=h;b=g;if((k[j>>2]|0)==0&(k[j+4>>2]|0)==0|(k[b>>2]|0)==0&(k[b+4>>2]|0)==0){ge(k[l>>2]|0)|0;k[c>>2]=267;m=k[c>>2]|0;r=n;return m|0}a=h;b=k[a+4>>2]|0;j=(k[d>>2]|0)+64|0;k[j>>2]=k[a>>2];k[j+4>>2]=b;j=g;b=h;b=iS(k[j>>2]|0,k[j+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;j=k[(k[i>>2]|0)+236>>2]|0;j=$R(b|0,L|0,j|0,((j|0)<0)<<31>>31|0)|0;b=k[(k[i>>2]|0)+236>>2]|0;b=iS(j|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;k[(k[d>>2]|0)+60>>2]=b;b=ge(k[l>>2]|0)|0;k[m>>2]=b;if(k[m>>2]|0){k[c>>2]=k[m>>2];m=k[c>>2]|0;r=n;return m|0}}k[k[e>>2]>>2]=k[(k[d>>2]|0)+60>>2];k[c>>2]=0;m=k[c>>2]|0;r=n;return m|0}function zp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;b=Sd(16)|0;k[h>>2]=b;if(k[h>>2]|0){b=k[h>>2]|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[k[h>>2]>>2]=k[f>>2];k[(k[h>>2]|0)+8>>2]=k[(k[e>>2]|0)+24>>2];k[(k[h>>2]|0)+4>>2]=k[g>>2];k[(k[e>>2]|0)+24>>2]=k[h>>2];k[(k[f>>2]|0)+16>>2]=k[h>>2];k[d>>2]=0;b=k[d>>2]|0;r=i;return b|0}else{k[d>>2]=7;b=k[d>>2]|0;r=i;return b|0}return 0}function Ap(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(!(k[c>>2]|0)){g=k[f>>2]|0;r=h;return g|0}k[e>>2]=(k[c>>2]|0)+(k[d>>2]|0);k[g>>2]=k[c>>2];while(1){if((k[g>>2]|0)>>>0>=(k[e>>2]|0)>>>0)break;k[f>>2]=(k[f>>2]|0)+1;do{b=k[g>>2]|0;k[g>>2]=b+1}while((i[b>>0]&128|0)!=0);nm(0,g)}g=k[f>>2]|0;r=h;return g|0}function Bp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;q=p+44|0;d=p+40|0;m=p+36|0;h=p+32|0;n=p+28|0;e=p+24|0;o=p+20|0;j=p+16|0;i=p+12|0;f=p;g=p+8|0;k[q>>2]=a;k[d>>2]=b;k[m>>2]=c;k[h>>2]=k[k[q>>2]>>2];k[n>>2]=0;k[o>>2]=0;k[j>>2]=k[(k[h>>2]|0)+236>>2];k[e>>2]=0;while(1){if(k[o>>2]|0){d=13;break}if((k[e>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0)){d=13;break}k[i>>2]=k[(k[k[d>>2]>>2]|0)+(k[e>>2]<<2)>>2];a:do if((k[(k[i>>2]|0)+56>>2]|0)==0?(l[(k[i>>2]|0)+5>>0]|0|0)==0:0){b=(k[i>>2]|0)+8|0;c=k[b+4>>2]|0;q=f;k[q>>2]=k[b>>2];k[q+4>>2]=c;while(1){c=f;a=k[c+4>>2]|0;q=(k[i>>2]|0)+16|0;b=k[q+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<=(k[q>>2]|0)>>>0:0)))break a;q=f;q=qm(k[h>>2]|0,k[q>>2]|0,k[q+4>>2]|0,0,g,0)|0;k[o>>2]=q;if(k[o>>2]|0)break a;if(((k[g>>2]|0)+35|0)>(k[j>>2]|0))k[n>>2]=(k[n>>2]|0)+(((k[g>>2]|0)+34|0)/(k[j>>2]|0)|0);c=f;c=$R(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;q=f;k[q>>2]=c;k[q+4>>2]=L}}while(0);k[e>>2]=(k[e>>2]|0)+1}if((d|0)==13){k[k[m>>2]>>2]=k[n>>2];r=p;return k[o>>2]|0}return 0}function Cp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;o=q+16|0;p=q+12|0;m=q+8|0;l=q+4|0;n=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[p>>2]=7;b=Sd(56)|0;k[o>>2]=b;if(!(k[o>>2]|0)){e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}k[l>>2]=0;k[n>>2]=k[k[f>>2]>>2];a:do if(k[i>>2]|0){k[m>>2]=1;while(1){if(k[l>>2]|0)break;if((k[m>>2]|0)>=(k[(k[n>>2]|0)+248>>2]|0))break;if((k[(k[(k[n>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0)>>2]|0)==(k[h>>2]|0)){k[l>>2]=1;b=Al(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,-2,k[g>>2]|0,k[h>>2]|0,0,0,k[o>>2]|0)|0;k[p>>2]=b;k[(k[o>>2]|0)+36>>2]=1}k[m>>2]=(k[m>>2]|0)+1}k[m>>2]=1;while(1){if(k[l>>2]|0)break a;if((k[m>>2]|0)>=(k[(k[n>>2]|0)+248>>2]|0))break a;if((k[(k[(k[n>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0)>>2]|0)==((k[h>>2]|0)+1|0)?(k[l>>2]=1,b=Al(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,-2,k[g>>2]|0,k[h>>2]|0,1,0,k[o>>2]|0)|0,k[p>>2]=b,(k[p>>2]|0)==0):0){b=Dp(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0,k[o>>2]|0)|0;k[p>>2]=b}k[m>>2]=(k[m>>2]|0)+1}}while(0);if(k[l>>2]|0){e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}e=Al(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0,-2,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0,k[o>>2]|0)|0;k[p>>2]=e;k[(k[o>>2]|0)+36>>2]=((k[i>>2]|0)!=0^1)&1;e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}function Dp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=tm(k[l>>2]|0,k[j>>2]|0,0,-2,k[i>>2]|0,k[h>>2]|0,0,0,k[g>>2]|0)|0;r=f;return c|0}function Ep(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+96|0;j=y+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[q>>2]=f;k[s>>2]=g;k[t>>2]=h;k[u>>2]=i;c=x;d=c+36|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[x>>2]=k[l>>2];k[x+4>>2]=k[m>>2];k[x+8>>2]=k[n>>2];k[x+16>>2]=k[p>>2];k[x+20>>2]=k[q>>2];k[x+12>>2]=k[o>>2];if(!(k[s>>2]|0)){k[k[u>>2]>>2]=0;k[j>>2]=0;x=k[j>>2]|0;r=y;return x|0}if((k[t>>2]|0)<0){q=uR(k[s>>2]|0)|0;k[t>>2]=q}v=Hp(x,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,v)|0;k[w>>2]=v;if((k[w>>2]|0)==0?(k[x+32>>2]|0)!=0:0)k[w>>2]=1;k[j>>2]=k[w>>2];x=k[j>>2]|0;r=y;return x|0}function Fp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;e=t+52|0;f=t+48|0;q=t+44|0;p=t+40|0;n=t+36|0;h=t+32|0;g=t+28|0;i=t+24|0;l=t+20|0;j=t+16|0;o=t+12|0;m=t+8|0;c=t+4|0;d=t;k[e>>2]=a;k[f>>2]=b;k[q>>2]=0;k[p>>2]=k[k[e>>2]>>2];k[n>>2]=0;k[h>>2]=k[k[p>>2]>>2];if(!(k[f>>2]|0))k[q>>2]=1;do if(!(k[q>>2]|0)){if(!((k[h>>2]|0)==3|(k[h>>2]|0)==4)){if((k[h>>2]|0)!=2)break;k[c>>2]=k[(k[p>>2]|0)+12>>2];k[d>>2]=k[(k[p>>2]|0)+16>>2];k[(k[p>>2]|0)+12>>2]=0;k[(k[p>>2]|0)+16>>2]=0;k[(k[c>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+8>>2]=0;s=Fp(c,(k[f>>2]|0)-1|0)|0;k[q>>2]=s;if(!(k[q>>2]|0)){s=Fp(d,(k[f>>2]|0)-1|0)|0;k[q>>2]=s}if(k[q>>2]|0){qp(k[d>>2]|0);qp(k[c>>2]|0);break}else{k[(k[p>>2]|0)+12>>2]=k[c>>2];k[(k[c>>2]|0)+8>>2]=k[p>>2];k[(k[p>>2]|0)+16>>2]=k[d>>2];k[(k[d>>2]|0)+8>>2]=k[p>>2];break}}a=Sd(k[f>>2]<<2)|0;k[g>>2]=a;if(!(k[g>>2]|0))k[q>>2]=7;else dS(k[g>>2]|0,0,k[f>>2]<<2|0)|0;if(!(k[q>>2]|0)){k[l>>2]=k[p>>2];while(1){if((k[k[l>>2]>>2]|0)!=(k[h>>2]|0))break;k[l>>2]=k[(k[l>>2]|0)+12>>2]}while(1){k[o>>2]=k[(k[l>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;if(k[o>>2]|0)k[(k[o>>2]|0)+12>>2]=0;else k[p>>2]=0;a=Fp(l,(k[f>>2]|0)-1|0)|0;k[q>>2]=a;if(k[q>>2]|0)break;k[j>>2]=0;while(1){if(!(k[l>>2]|0))break;if((k[j>>2]|0)>=(k[f>>2]|0))break;if(!(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)){k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]=k[l>>2];k[l>>2]=0}else{k[(k[n>>2]|0)+12>>2]=k[(k[g>>2]|0)+(k[j>>2]<<2)>>2];k[(k[n>>2]|0)+16>>2]=k[l>>2];k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2]=k[n>>2];k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2]=k[n>>2];k[l>>2]=k[n>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]=0}k[j>>2]=(k[j>>2]|0)+1}if(k[l>>2]|0){s=24;break}if(!(k[o>>2]|0))break;k[l>>2]=k[(k[o>>2]|0)+16>>2];while(1){if((k[k[l>>2]>>2]|0)!=(k[h>>2]|0))break;k[l>>2]=k[(k[l>>2]|0)+12>>2]}k[(k[(k[o>>2]|0)+16>>2]|0)+8>>2]=k[(k[o>>2]|0)+8>>2];b=k[(k[o>>2]|0)+16>>2]|0;if(k[(k[o>>2]|0)+8>>2]|0)k[(k[(k[o>>2]|0)+8>>2]|0)+12>>2]=b;else k[p>>2]=b;k[(k[o>>2]|0)+8>>2]=k[n>>2];k[n>>2]=k[o>>2]}if((s|0)==24){qp(k[l>>2]|0);k[q>>2]=18}a:do if(!(k[q>>2]|0)){k[l>>2]=0;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[f>>2]|0))break;do if(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)if(!(k[l>>2]|0)){k[l>>2]=k[(k[g>>2]|0)+(k[i>>2]<<2)>>2];k[(k[l>>2]|0)+8>>2]=0;break}else{k[(k[n>>2]|0)+16>>2]=k[l>>2];k[(k[n>>2]|0)+12>>2]=k[(k[g>>2]|0)+(k[i>>2]<<2)>>2];k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2]=k[n>>2];k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2]=k[n>>2];k[l>>2]=k[n>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;break}while(0);k[i>>2]=(k[i>>2]|0)+1}k[p>>2]=k[l>>2]}else{k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[f>>2]|0))break;qp(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0);k[i>>2]=(k[i>>2]|0)+1}while(1){s=k[n>>2]|0;k[m>>2]=s;if(!s)break a;k[n>>2]=k[(k[m>>2]|0)+8>>2];Ud(k[m>>2]|0)}}while(0);Ud(k[g>>2]|0)}}while(0);if(!(k[q>>2]|0)){p=k[p>>2]|0;s=k[e>>2]|0;k[s>>2]=p;s=k[q>>2]|0;r=t;return s|0}qp(k[p>>2]|0);k[p>>2]=0;p=k[p>>2]|0;s=k[e>>2]|0;k[s>>2]=p;s=k[q>>2]|0;r=t;return s|0}function Gp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(k[c>>2]|0){if((k[d>>2]|0)<0){k[e>>2]=18;break}a=Gp(k[(k[c>>2]|0)+12>>2]|0,(k[d>>2]|0)-1|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){a=Gp(k[(k[c>>2]|0)+16>>2]|0,(k[d>>2]|0)-1|0)|0;k[e>>2]=a}}while(0);r=f;return k[e>>2]|0}function Hp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+80|0;f=x+64|0;y=x+60|0;n=x+56|0;o=x+52|0;p=x+48|0;v=x+44|0;l=x+40|0;u=x+36|0;s=x+32|0;m=x+28|0;w=x+24|0;q=x+20|0;t=x+16|0;i=x+12|0;h=x+8|0;g=x+4|0;j=x;k[f>>2]=a;k[y>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[v>>2]=0;k[l>>2]=0;k[u>>2]=0;k[s>>2]=k[n>>2];k[m>>2]=k[y>>2];k[w>>2]=0;k[q>>2]=1;while(1){if(k[w>>2]|0){c=25;break}k[t>>2]=0;k[i>>2]=0;y=Ip(k[f>>2]|0,k[m>>2]|0,k[s>>2]|0,t,i)|0;k[w>>2]=y;if((k[w>>2]|0)==0&(k[t>>2]|0)!=0){k[g>>2]=k[k[t>>2]>>2];if((k[g>>2]|0)==5)c=1;else c=(k[(k[t>>2]|0)+12>>2]|0)!=0;k[h>>2]=c&1;if((k[h>>2]|0)==0&(k[q>>2]|0)!=0){c=7;break}if(!((k[h>>2]|0)==0|(k[q>>2]|0)!=0)){y=Jp(48)|0;k[j>>2]=y;if(!(k[j>>2]|0)){c=10;break}k[k[j>>2]>>2]=3;Kp(v,k[l>>2]|0,k[j>>2]|0);k[l>>2]=k[j>>2]}if(k[l>>2]|0){if(!((k[g>>2]|0)!=1|(k[h>>2]|0)!=0)?(k[k[l>>2]>>2]|0)!=5:0){c=17;break}if((k[g>>2]|0)!=5&(k[h>>2]|0)!=0?(k[k[l>>2]>>2]|0)==1:0){c=17;break}}do if(k[h>>2]|0){c=k[t>>2]|0;if(k[v>>2]|0){k[(k[l>>2]|0)+16>>2]=c;k[(k[t>>2]|0)+8>>2]=k[l>>2];break}else{k[v>>2]=c;break}}else Kp(v,k[l>>2]|0,k[t>>2]|0);while(0);k[q>>2]=((k[h>>2]|0)!=0^1)&1;k[l>>2]=k[t>>2]}k[s>>2]=(k[s>>2]|0)-(k[i>>2]|0);k[m>>2]=(k[m>>2]|0)+(k[i>>2]|0)}if((c|0)==7){qp(k[t>>2]|0);k[w>>2]=1}else if((c|0)==10){qp(k[t>>2]|0);k[w>>2]=7}else if((c|0)==17){qp(k[t>>2]|0);k[w>>2]=1}else if((c|0)==25){if((k[w>>2]|0)==101&(k[v>>2]|0)!=0&(k[q>>2]|0)!=0)k[w>>2]=1;if((k[w>>2]|0)==101)k[w>>2]=0;k[k[p>>2]>>2]=(k[n>>2]|0)-(k[s>>2]|0)}if(!(k[w>>2]|0)){v=k[v>>2]|0;y=k[o>>2]|0;k[y>>2]=v;y=k[w>>2]|0;r=x;return y|0}qp(k[v>>2]|0);qp(k[u>>2]|0);k[v>>2]=0;v=k[v>>2]|0;y=k[o>>2]|0;k[y>>2]=v;y=k[w>>2]|0;r=x;return y|0}function Ip(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+80|0;o=E+72|0;p=E+68|0;q=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;n=E+32|0;B=E+28|0;y=E+24|0;m=E+20|0;j=E+16|0;h=E+12|0;f=E+76|0;g=E+8|0;C=E+4|0;z=E;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[n>>2]=0;k[B>>2]=k[q>>2];k[y>>2]=k[s>>2];k[(k[p>>2]|0)+24>>2]=0;while(1){if((k[y>>2]|0)>0)a=(Mp(i[k[B>>2]>>0]|0)|0)!=0;else a=0;c=k[y>>2]|0;if(!a)break;k[y>>2]=c+-1;k[B>>2]=(k[B>>2]|0)+1}if(!c){k[o>>2]=101;D=k[o>>2]|0;r=E;return D|0}k[x>>2]=0;while(1){if((k[x>>2]|0)>=4)break;k[m>>2]=2112+(k[x>>2]<<3);if(((l[(k[m>>2]|0)+5>>0]&-2|0)==0?(k[y>>2]|0)>=(l[(k[m>>2]|0)+4>>0]|0):0)?0==(oR(k[B>>2]|0,k[k[m>>2]>>2]|0,l[(k[m>>2]|0)+4>>0]|0)|0):0){k[j>>2]=10;k[h>>2]=l[(k[m>>2]|0)+4>>0];a:do if((((l[(k[m>>2]|0)+6>>0]|0)==1?(i[(k[B>>2]|0)+4>>0]|0)==47:0)?(i[(k[B>>2]|0)+5>>0]|0)>=48:0)?(i[(k[B>>2]|0)+5>>0]|0)<=57:0){k[j>>2]=0;k[h>>2]=5;while(1){if((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)<48)break a;if((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)>57)break a;k[j>>2]=((k[j>>2]|0)*10|0)+((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)-48);k[h>>2]=(k[h>>2]|0)+1}}while(0);i[f>>0]=i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0;if(Mp(i[f>>0]|0)|0){D=26;break}if((i[f>>0]|0)==34){D=26;break}if((i[f>>0]|0)==40){D=26;break}if((i[f>>0]|0)==41){D=26;break}if(!(i[f>>0]|0)){D=26;break}}k[x>>2]=(k[x>>2]|0)+1}if((D|0)==26){D=Jp(48)|0;k[n>>2]=D;if(k[n>>2]|0){k[k[n>>2]>>2]=l[(k[m>>2]|0)+6>>0];k[(k[n>>2]|0)+4>>2]=k[j>>2];k[k[t>>2]>>2]=k[n>>2];k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[h>>2]|0);k[o>>2]=0;D=k[o>>2]|0;r=E;return D|0}else{k[o>>2]=7;D=k[o>>2]|0;r=E;return D|0}}if((i[k[B>>2]>>0]|0)==34){k[x>>2]=1;while(1){if((k[x>>2]|0)>=(k[y>>2]|0))break;if((i[(k[B>>2]|0)+(k[x>>2]|0)>>0]|0)==34)break;k[x>>2]=(k[x>>2]|0)+1}k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[x>>2]|0)+1;if((k[x>>2]|0)==(k[y>>2]|0)){k[o>>2]=1;D=k[o>>2]|0;r=E;return D|0}else{D=Np(k[p>>2]|0,(k[B>>2]|0)+1|0,(k[x>>2]|0)-1|0,k[t>>2]|0)|0;k[o>>2]=D;D=k[o>>2]|0;r=E;return D|0}}if((i[k[B>>2]>>0]|0)==40){k[g>>2]=0;D=(k[p>>2]|0)+32|0;k[D>>2]=(k[D>>2]|0)+1;D=Hp(k[p>>2]|0,(k[B>>2]|0)+1|0,(k[y>>2]|0)-1|0,k[t>>2]|0,g)|0;k[A>>2]=D;if((k[A>>2]|0)==0?(k[k[t>>2]>>2]|0)==0:0)k[A>>2]=101;k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+1+(k[g>>2]|0);k[o>>2]=k[A>>2];D=k[o>>2]|0;r=E;return D|0}c=k[p>>2]|0;if((i[k[B>>2]>>0]|0)==41){D=c+32|0;k[D>>2]=(k[D>>2]|0)+-1;k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+1;k[k[t>>2]>>2]=0;k[o>>2]=101;D=k[o>>2]|0;r=E;return D|0}k[v>>2]=k[c+20>>2];k[w>>2]=0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[p>>2]|0)+16>>2]|0))break;k[C>>2]=k[(k[(k[p>>2]|0)+8>>2]|0)+(k[x>>2]<<2)>>2];n=uR(k[C>>2]|0)|0;k[z>>2]=n;if(((k[y>>2]|0)>(k[z>>2]|0)?(i[(k[B>>2]|0)+(k[z>>2]|0)>>0]|0)==58:0)?(Jd(k[C>>2]|0,k[B>>2]|0,k[z>>2]|0)|0)==0:0){D=50;break}k[x>>2]=(k[x>>2]|0)+1}if((D|0)==50){k[v>>2]=k[x>>2];k[w>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[z>>2]|0)+1}D=Op(k[p>>2]|0,k[v>>2]|0,(k[q>>2]|0)+(k[w>>2]|0)|0,(k[s>>2]|0)-(k[w>>2]|0)|0,k[t>>2]|0,k[u>>2]|0)|0;k[A>>2]=D;D=k[u>>2]|0;k[D>>2]=(k[D>>2]|0)+(k[w>>2]|0);k[o>>2]=k[A>>2];D=k[o>>2]|0;r=E;return D|0}function Jp(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Sd(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}dS(k[c>>2]|0,0,k[b>>2]|0)|0;c=k[c>>2]|0;r=d;return c|0}function Kp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;k[f>>2]=k[h>>2];while(1){if(k[(k[f>>2]|0)+8>>2]|0){c=Lp(k[(k[f>>2]|0)+8>>2]|0)|0;c=(c|0)<=(Lp(k[e>>2]|0)|0)}else c=0;b=k[(k[f>>2]|0)+8>>2]|0;if(!c)break;k[f>>2]=b}c=k[e>>2]|0;if(b){k[(k[(k[f>>2]|0)+8>>2]|0)+16>>2]=c;k[(k[e>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2];d=k[f>>2]|0;h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;e=k[e>>2]|0;h=k[f>>2]|0;h=h+8|0;k[h>>2]=e;r=g;return}else{k[k[d>>2]>>2]=c;d=k[f>>2]|0;h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;e=k[e>>2]|0;h=k[f>>2]|0;h=h+8|0;k[h>>2]=e;r=g;return}}function Lp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function Mp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;if(((((i[b>>0]|0)!=32?(i[b>>0]|0)!=9:0)?(i[b>>0]|0)!=10:0)?(i[b>>0]|0)!=13:0)?(i[b>>0]|0)!=11:0)b=(i[b>>0]|0)==12;else b=1;r=c;return b&1|0}function Np(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+96|0;e=D+88|0;f=D+84|0;g=D+80|0;h=D+76|0;j=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;o=D+32|0;A=D+28|0;q=D+24|0;l=D+20|0;m=D+16|0;n=D+12|0;x=D+8|0;p=D+4|0;z=D;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[E>>2]=k[k[f>>2]>>2];k[w>>2]=k[k[E>>2]>>2];k[u>>2]=0;k[v>>2]=0;k[B>>2]=0;k[s>>2]=0;k[D+40>>2]=144;k[t>>2]=0;b=Mn(k[E>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[g>>2]|0,k[h>>2]|0,v)|0;k[y>>2]=b;a:do if(!(k[y>>2]|0)){k[o>>2]=0;while(1){if(k[y>>2]|0)break;k[q>>2]=0;k[l>>2]=0;k[m>>2]=0;k[n>>2]=0;E=ac[k[(k[w>>2]|0)+20>>2]&255](k[v>>2]|0,A,q,l,m,n)|0;k[y>>2]=E;if(!(k[y>>2]|0)){E=Pp(k[u>>2]|0,144+((k[o>>2]|0)*24|0)|0)|0;k[u>>2]=E;if(!(k[u>>2]|0))break a;E=Pp(k[B>>2]|0,(k[s>>2]|0)+(k[q>>2]|0)|0)|0;k[B>>2]=E;if(!(k[B>>2]|0))break a;k[x>>2]=(k[u>>2]|0)+48+72+((k[o>>2]|0)*24|0);E=k[x>>2]|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;k[E+16>>2]=0;k[E+20>>2]=0;bS((k[B>>2]|0)+(k[s>>2]|0)|0,k[A>>2]|0,k[q>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+(k[q>>2]|0);k[(k[x>>2]|0)+4>>2]=k[q>>2];if((k[m>>2]|0)<(k[h>>2]|0))c=(i[(k[g>>2]|0)+(k[m>>2]|0)>>0]|0)==42;else c=0;k[(k[x>>2]|0)+8>>2]=c&1;if((k[l>>2]|0)>0)c=(i[(k[g>>2]|0)+((k[l>>2]|0)-1)>>0]|0)==94;else c=0;k[(k[x>>2]|0)+12>>2]=c&1;k[t>>2]=(k[o>>2]|0)+1}k[o>>2]=(k[o>>2]|0)+1}bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;k[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((k[y>>2]|0)==101){k[z>>2]=0;E=Pp(k[u>>2]|0,144+((k[t>>2]|0)*24|0)+(k[s>>2]|0)|0)|0;k[u>>2]=E;if(!(k[u>>2]|0))break;dS(k[u>>2]|0,0,(k[u>>2]|0)+48+72-(k[u>>2]|0)|0)|0;k[k[u>>2]>>2]=5;k[(k[u>>2]|0)+20>>2]=(k[u>>2]|0)+48;k[(k[(k[u>>2]|0)+20>>2]|0)+68>>2]=k[(k[f>>2]|0)+20>>2];k[(k[(k[u>>2]|0)+20>>2]|0)+64>>2]=k[t>>2];k[z>>2]=(k[(k[u>>2]|0)+20>>2]|0)+72+((k[t>>2]|0)*24|0);if(k[B>>2]|0){bS(k[z>>2]|0,k[B>>2]|0,k[s>>2]|0)|0;Ud(k[B>>2]|0)}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[(k[u>>2]|0)+20>>2]|0)+64>>2]|0))break;k[(k[(k[u>>2]|0)+20>>2]|0)+72+((k[p>>2]|0)*24|0)>>2]=k[z>>2];k[z>>2]=(k[z>>2]|0)+(k[(k[(k[u>>2]|0)+20>>2]|0)+72+((k[p>>2]|0)*24|0)+4>>2]|0);k[p>>2]=(k[p>>2]|0)+1}k[y>>2]=0}k[k[j>>2]>>2]=k[u>>2];k[e>>2]=k[y>>2];E=k[e>>2]|0;r=D;return E|0}while(0);if(k[v>>2]|0)bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;Ud(k[B>>2]|0);Ud(k[u>>2]|0);k[k[j>>2]>>2]=0;k[e>>2]=7;E=k[e>>2]|0;r=D;return E|0}function Op(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;g=B+68|0;h=B+64|0;j=B+60|0;l=B+56|0;m=B+52|0;n=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;o=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;p=B+8|0;q=B+4|0;t=B;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[y>>2]=k[k[g>>2]>>2];k[w>>2]=k[k[y>>2]>>2];k[x>>2]=0;k[o>>2]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[l>>2]|0))break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==40)break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==41)break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==34)break;k[o>>2]=(k[o>>2]|0)+1}k[k[n>>2]>>2]=k[o>>2];c=Mn(k[y>>2]|0,k[(k[g>>2]|0)+4>>2]|0,k[j>>2]|0,k[o>>2]|0,v)|0;k[z>>2]=c;if(k[z>>2]|0){c=k[x>>2]|0;A=k[m>>2]|0;k[A>>2]=c;A=k[z>>2]|0;r=B;return A|0}k[u>>2]=0;k[s>>2]=0;k[p>>2]=0;k[q>>2]=0;c=ac[k[(k[w>>2]|0)+20>>2]&255](k[v>>2]|0,A,u,s,p,q)|0;k[z>>2]=c;if(k[z>>2]|0){if((k[o>>2]|0)!=0&(k[z>>2]|0)==101)k[z>>2]=0}else{k[t>>2]=144+(k[u>>2]|0);c=Jp(k[t>>2]|0)|0;k[x>>2]=c;a:do if(k[x>>2]|0){k[k[x>>2]>>2]=5;k[(k[x>>2]|0)+20>>2]=(k[x>>2]|0)+48;k[(k[(k[x>>2]|0)+20>>2]|0)+64>>2]=1;k[(k[(k[x>>2]|0)+20>>2]|0)+68>>2]=k[h>>2];k[(k[(k[x>>2]|0)+20>>2]|0)+72+4>>2]=k[u>>2];k[(k[(k[x>>2]|0)+20>>2]|0)+72>>2]=(k[(k[x>>2]|0)+20>>2]|0)+96;bS(k[(k[(k[x>>2]|0)+20>>2]|0)+72>>2]|0,k[A>>2]|0,k[u>>2]|0)|0;if((k[p>>2]|0)<(k[l>>2]|0)?(i[(k[j>>2]|0)+(k[p>>2]|0)>>0]|0)==42:0){k[(k[(k[x>>2]|0)+20>>2]|0)+72+8>>2]=1;k[p>>2]=(k[p>>2]|0)+1}while(1){if(!((k[s>>2]|0)>0?(k[(k[g>>2]|0)+12>>2]|0)!=0:0))break a;if((i[(k[j>>2]|0)+((k[s>>2]|0)-1)>>0]|0)!=94)break a;k[(k[(k[x>>2]|0)+20>>2]|0)+72+12>>2]=1;k[s>>2]=(k[s>>2]|0)+-1}}else k[z>>2]=7;while(0);k[k[n>>2]>>2]=k[p>>2]}bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;c=k[x>>2]|0;A=k[m>>2]|0;k[A>>2]=c;A=k[z>>2]|0;r=B;return A|0}function Pp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=Vd(k[c>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){f=k[d>>2]|0;r=e;return f|0}Ud(k[c>>2]|0);f=k[d>>2]|0;r=e;return f|0}function Qp(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Rp(k[(k[c>>2]|0)+20>>2]|0);Ud(k[(k[c>>2]|0)+40>>2]|0);Ud(k[c>>2]|0);r=b;return}function Rp(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){r=e;return}Ud(k[k[c>>2]>>2]|0);dn(k[c>>2]|0);a=k[c>>2]|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+64>>2]|0))break;yn(k[(k[c>>2]|0)+72+((k[d>>2]|0)*24|0)+20>>2]|0);k[(k[c>>2]|0)+72+((k[d>>2]|0)*24|0)+20>>2]=0;k[d>>2]=(k[d>>2]|0)+1}r=e;return}function Sp(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+8>>2];ul(k[(k[c>>2]|0)+12>>2]|0);Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+24>>2]=0;r=e;return}function Tp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if((vf()|0)<3008002){r=f;return}c=e;e=k[c+4>>2]|0;a=(k[d>>2]|0)+48|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;r=f;return}function Up(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((vf()|0)<3008012){r=c;return}a=(k[b>>2]|0)+56|0;k[a>>2]=k[a>>2]|1;r=c;return}function Vp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=r;r=r+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;p=ha+16|0;q=ha+8|0;o=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;h=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;m=ha+148|0;t=ha+144|0;j=ha+80|0;l=ha+76|0;n=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;k[v>>2]=a;k[w>>2]=b;k[ia>>2]=c;k[h>>2]=d;k[x>>2]=e;k[da>>2]=f;k[y>>2]=g;k[S>>2]=k[ia>>2];k[ea>>2]=0;k[ga>>2]=0;k[R>>2]=0;k[M>>2]=0;k[G>>2]=(i[(k[k[x>>2]>>2]|0)+3>>0]|0)==52&1;k[fa>>2]=0;k[O>>2]=0;k[A>>2]=0;k[D>>2]=0;k[C>>2]=0;k[ba>>2]=0;k[X>>2]=0;k[ca>>2]=0;k[Y>>2]=0;k[_>>2]=0;k[B>>2]=0;k[Q>>2]=0;g=(uR(k[(k[x>>2]|0)+4>>2]|0)|0)+1|0;k[N>>2]=g;g=(uR(k[(k[x>>2]|0)+8>>2]|0)|0)+1|0;k[P>>2]=g;k[L>>2]=(k[h>>2]|0)-2<<2;g=Sd(k[L>>2]|0)|0;k[z>>2]=g;if(k[z>>2]|0){dS(k[z>>2]|0,0,k[L>>2]|0)|0;ia=Sd(k[L>>2]|0)|0;k[B>>2]=ia}if(k[B>>2]|0)dS(k[B>>2]|0,0,k[L>>2]|0)|0;do if((k[z>>2]|0)!=0&(k[B>>2]|0)!=0){k[E>>2]=3;while(1){if(k[ga>>2]|0)break;if((k[E>>2]|0)>=(k[h>>2]|0))break;k[s>>2]=k[(k[x>>2]|0)+(k[E>>2]<<2)>>2];if((((k[fa>>2]|0)==0?(uR(k[s>>2]|0)|0)>>>0>8:0)?0==(Jd(k[s>>2]|0,24006,8)|0):0)?0==(Wp(i[(k[s>>2]|0)+8>>0]|0)|0):0){ia=Xp(k[S>>2]|0,(k[s>>2]|0)+9|0,fa,k[y>>2]|0)|0;k[ga>>2]=ia}else u=15;do if((u|0)==15){u=0;if((k[G>>2]|0)!=0?(Yp(k[s>>2]|0,m,t)|0)!=0:0){d=j;e=2144;b=d+64|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(b|0));if(!(k[t>>2]|0)){k[ga>>2]=7;break}k[l>>2]=0;while(1){if((k[l>>2]|0)>=8)break;k[n>>2]=j+(k[l>>2]<<3);if((k[m>>2]|0)==(k[(k[n>>2]|0)+4>>2]|0)?(Jd(k[s>>2]|0,k[k[n>>2]>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0)==0:0)break;k[l>>2]=(k[l>>2]|0)+1}a:do if((k[l>>2]|0)==8){ia=k[y>>2]|0;k[o>>2]=k[s>>2];Pk(ia,24015,o);k[ga>>2]=1}else switch(k[l>>2]|0){case 0:{if(!((uR(k[t>>2]|0)|0)==4?(Jd(k[t>>2]|0,20521,4)|0)==0:0)){ia=k[y>>2]|0;k[q>>2]=k[t>>2];Pk(ia,24042,q);k[ga>>2]=1}k[D>>2]=1;break a}case 1:{Ud(k[ba>>2]|0);k[ba>>2]=k[t>>2];k[t>>2]=0;break a}case 2:{Ud(k[X>>2]|0);k[X>>2]=k[t>>2];k[t>>2]=0;break a}case 3:{Ud(k[ca>>2]|0);k[ca>>2]=k[t>>2];k[t>>2]=0;break a}case 4:{if(!((uR(k[t>>2]|0)|0)==3?(Jd(k[t>>2]|0,24069,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((uR(k[t>>2]|0)|0)==4?(Jd(k[t>>2]|0,24073,4)|0)==0:0)break;ia=k[y>>2]|0;k[p>>2]=k[t>>2];Pk(ia,24078,p);k[ga>>2]=1}while(0);if((i[k[t>>2]>>0]|0)==100)d=1;else d=(i[k[t>>2]>>0]|0)==68;k[C>>2]=d&1;break a}case 5:{Ud(k[Y>>2]|0);k[Y>>2]=k[t>>2];k[t>>2]=0;break a}case 6:{Ud(k[_>>2]|0);k[_>>2]=k[t>>2];k[t>>2]=0;break a}case 7:{g=k[t>>2]|0;ia=k[Q>>2]|0;k[Q>>2]=ia+1;k[(k[B>>2]|0)+(ia<<2)>>2]=g;k[t>>2]=0;break a}default:break a}while(0);Ud(k[t>>2]|0);break}g=(uR(k[s>>2]|0)|0)+1|0;k[R>>2]=(k[R>>2]|0)+g;g=k[s>>2]|0;ia=k[M>>2]|0;k[M>>2]=ia+1;k[(k[z>>2]|0)+(ia<<2)>>2]=g}while(0);k[E>>2]=(k[E>>2]|0)+1}b:do if(((k[ga>>2]|0)==0&(k[Y>>2]|0)!=0?(Ud(k[X>>2]|0),Ud(k[ca>>2]|0),k[X>>2]=0,k[ca>>2]=0,(k[M>>2]|0)==0):0)?(Ud(k[z>>2]|0),k[z>>2]=0,ia=Zp(k[w>>2]|0,k[(k[x>>2]|0)+4>>2]|0,k[Y>>2]|0,z,M,R,k[y>>2]|0)|0,k[ga>>2]=ia,(k[ga>>2]|0)==0&(k[_>>2]|0)!=0):0){k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[M>>2]|0))break b;ia=(be(k[_>>2]|0,k[(k[z>>2]|0)+(k[H>>2]<<2)>>2]|0)|0)==0;d=k[H>>2]|0;if(ia)break;k[H>>2]=d+1}k[I>>2]=d;while(1){if((k[I>>2]|0)>=(k[M>>2]|0))break;k[(k[z>>2]|0)+(k[I>>2]<<2)>>2]=k[(k[z>>2]|0)+((k[I>>2]|0)+1<<2)>>2];k[I>>2]=(k[I>>2]|0)+1}k[M>>2]=(k[M>>2]|0)+-1}while(0);if(!(k[ga>>2]|0)){if(!(k[M>>2]|0)){k[k[z>>2]>>2]=24101;k[R>>2]=8;k[M>>2]=1}if((k[fa>>2]|0)==0?(ia=Xp(k[S>>2]|0,20447,fa,k[y>>2]|0)|0,k[ga>>2]=ia,(k[ga>>2]|0)!=0):0)break;ia=_p(k[ba>>2]|0,O,A)|0;k[ga>>2]=ia;if((k[ga>>2]|0)==1){ia=k[y>>2]|0;k[T>>2]=k[ba>>2];Pk(ia,24109,T)}if(!(k[ga>>2]|0)){k[L>>2]=280+(k[M>>2]<<2)+((k[O>>2]|0)*24|0)+(k[M>>2]|0)+(k[P>>2]|0)+(k[N>>2]|0)+(k[R>>2]|0);ia=Sd(k[L>>2]|0)|0;k[ea>>2]=ia;if(!(k[ea>>2]|0)){k[ga>>2]=7;break}dS(k[ea>>2]|0,0,k[L>>2]|0)|0;k[(k[ea>>2]|0)+12>>2]=k[w>>2];k[(k[ea>>2]|0)+24>>2]=k[M>>2];k[(k[ea>>2]|0)+260>>2]=0;k[(k[ea>>2]|0)+28>>2]=(k[ea>>2]|0)+280;k[(k[ea>>2]|0)+36>>2]=k[fa>>2];k[(k[ea>>2]|0)+256>>2]=1048576;i[(k[ea>>2]|0)+230>>0]=((k[G>>2]|0)!=0?(k[D>>2]|0)==0:0)&1;i[(k[ea>>2]|0)+229>>0]=k[G>>2];i[(k[ea>>2]|0)+228>>0]=k[G>>2];i[(k[ea>>2]|0)+231>>0]=k[C>>2];k[(k[ea>>2]|0)+48>>2]=255;k[(k[ea>>2]|0)+40>>2]=k[Y>>2];k[(k[ea>>2]|0)+44>>2]=k[_>>2];k[Y>>2]=0;k[_>>2]=0;k[(k[ea>>2]|0)+252>>2]=(k[(k[ea>>2]|0)+28>>2]|0)+(k[M>>2]<<2);bS(k[(k[ea>>2]|0)+252>>2]|0,k[A>>2]|0,(k[O>>2]|0)*24|0)|0;k[(k[ea>>2]|0)+248>>2]=k[O>>2];k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[O>>2]|0))break;uk((k[(k[ea>>2]|0)+252>>2]|0)+((k[E>>2]|0)*24|0)+4|0,1,1);k[E>>2]=(k[E>>2]|0)+1}k[(k[ea>>2]|0)+32>>2]=(k[(k[ea>>2]|0)+252>>2]|0)+((k[O>>2]|0)*24|0);k[Z>>2]=(k[(k[ea>>2]|0)+32>>2]|0)+(k[M>>2]|0);k[(k[ea>>2]|0)+20>>2]=k[Z>>2];bS(k[Z>>2]|0,k[(k[x>>2]|0)+8>>2]|0,k[P>>2]|0)|0;k[Z>>2]=(k[Z>>2]|0)+(k[P>>2]|0);k[(k[ea>>2]|0)+16>>2]=k[Z>>2];bS(k[Z>>2]|0,k[(k[x>>2]|0)+4>>2]|0,k[N>>2]|0)|0;k[Z>>2]=(k[Z>>2]|0)+(k[N>>2]|0);k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[M>>2]|0))break;k[J>>2]=0;ia=$p(k[(k[z>>2]|0)+(k[F>>2]<<2)>>2]|0,J)|0;k[W>>2]=ia;bS(k[Z>>2]|0,k[W>>2]|0,k[J>>2]|0)|0;i[(k[Z>>2]|0)+(k[J>>2]|0)>>0]=0;Yk(k[Z>>2]|0);k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]=k[Z>>2];k[Z>>2]=(k[Z>>2]|0)+((k[J>>2]|0)+1);k[F>>2]=(k[F>>2]|0)+1}k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[M>>2]|0))break;ia=uR(k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]|0)|0;k[K>>2]=ia;k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;k[aa>>2]=k[(k[B>>2]|0)+(k[E>>2]<<2)>>2];if(((k[aa>>2]|0)!=0?(ia=k[K>>2]|0,(ia|0)==(uR(k[aa>>2]|0)|0)):0)?0==(Jd(k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]|0,k[aa>>2]|0,k[K>>2]|0)|0):0){i[(k[(k[ea>>2]|0)+32>>2]|0)+(k[F>>2]|0)>>0]=1;Ud(k[aa>>2]|0);k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]=0}k[E>>2]=(k[E>>2]|0)+1}k[F>>2]=(k[F>>2]|0)+1}k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;if(k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]|0){ia=k[y>>2]|0;k[U>>2]=k[(k[B>>2]|0)+(k[E>>2]<<2)>>2];Pk(ia,24144,U);k[ga>>2]=1}k[E>>2]=(k[E>>2]|0)+1}if((k[ga>>2]|0)==0?((k[X>>2]|0)==0|0)!=((k[ca>>2]|0)==0|0):0){k[$>>2]=(k[X>>2]|0)==0?24163:24172;k[ga>>2]=1;ia=k[y>>2]|0;k[V>>2]=k[$>>2];Pk(ia,24183,V)}ia=aq(k[ea>>2]|0,k[ca>>2]|0,ga)|0;k[(k[ea>>2]|0)+216>>2]=ia;ia=bq(k[ea>>2]|0,k[X>>2]|0,ga)|0;k[(k[ea>>2]|0)+220>>2]=ia;if(!(k[ga>>2]|0)){if(k[v>>2]|0){ia=cq(k[ea>>2]|0)|0;k[ga>>2]=ia}if(!((k[G>>2]|0)!=0|(k[v>>2]|0)!=0))i[(k[ea>>2]|0)+229>>0]=2;dq(ga,k[ea>>2]|0);k[(k[ea>>2]|0)+224>>2]=(k[(k[ea>>2]|0)+236>>2]|0)-35;eq(ga,k[ea>>2]|0)}}}}else k[ga>>2]=7;while(0);Ud(k[ba>>2]|0);Ud(k[A>>2]|0);Ud(k[X>>2]|0);Ud(k[ca>>2]|0);Ud(k[Y>>2]|0);Ud(k[_>>2]|0);k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;Ud(k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]|0);k[E>>2]=(k[E>>2]|0)+1}Ud(k[z>>2]|0);Ud(k[B>>2]|0);d=k[ea>>2]|0;if(!(k[ga>>2]|0)){k[k[da>>2]>>2]=d;ia=k[ga>>2]|0;r=ha;return ia|0}if(d){al(k[ea>>2]|0)|0;ia=k[ga>>2]|0;r=ha;return ia|0}if(!(k[fa>>2]|0)){ia=k[ga>>2]|0;r=ha;return ia|0}bc[k[(k[k[fa>>2]>>2]|0)+8>>2]&255](k[fa>>2]|0)|0;ia=k[ga>>2]|0;r=ha;return ia|0}function Wp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;if(i[b>>0]&128){a=1;a=a&1;r=c;return a|0}a=(i[24865+(i[b>>0]|0)>>0]|0)!=0;a=a&1;r=c;return a|0}function Xp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+80|0;t=y+16|0;s=y+8|0;z=y;e=y+76|0;f=y+72|0;A=y+68|0;g=y+64|0;h=y+60|0;q=y+56|0;u=y+52|0;o=y+48|0;v=y+44|0;w=y+40|0;n=y+36|0;j=y+32|0;m=y+28|0;p=y+24|0;l=y+20|0;k[f>>2]=a;k[A>>2]=b;k[g>>2]=c;k[h>>2]=d;k[u>>2]=k[A>>2];k[o>>2]=0;k[z>>2]=k[A>>2];b=Yd(18391,z)|0;k[v>>2]=b;if(!(k[v>>2]|0)){k[e>>2]=7;A=k[e>>2]|0;r=y;return A|0}A=uR(k[v>>2]|0)|0;k[w>>2]=(k[v>>2]|0)+A;A=$p(k[v>>2]|0,o)|0;k[u>>2]=A;if(!(k[u>>2]|0))k[u>>2]=k[v>>2];i[(k[u>>2]|0)+(k[o>>2]|0)>>0]=0;Yk(k[u>>2]|0);z=k[f>>2]|0;A=k[u>>2]|0;A=Ok(z,A,(uR(k[u>>2]|0)|0)+1|0)|0;k[n>>2]=A;if(k[n>>2]|0){k[j>>2]=0;k[m>>2]=0;k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+1);while(1){if((k[u>>2]|0)>>>0>=(k[w>>2]|0)>>>0)break;A=$p(k[u>>2]|0,o)|0;k[u>>2]=A;if(!A)break;k[p>>2]=(k[m>>2]|0)+1<<2;A=Vd(k[j>>2]|0,k[p>>2]|0)|0;k[l>>2]=A;if(!(k[l>>2]|0)){x=11;break}k[j>>2]=k[l>>2];z=k[u>>2]|0;A=k[m>>2]|0;k[m>>2]=A+1;k[(k[j>>2]|0)+(A<<2)>>2]=z;i[(k[u>>2]|0)+(k[o>>2]|0)>>0]=0;Yk(k[u>>2]|0);k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+1)}if((x|0)==11){Ud(k[v>>2]|0);Ud(k[j>>2]|0);k[e>>2]=7;A=k[e>>2]|0;r=y;return A|0}A=Yb[k[(k[n>>2]|0)+4>>2]&255](k[m>>2]|0,k[j>>2]|0,k[g>>2]|0)|0;k[q>>2]=A;if(k[q>>2]|0)Pk(k[h>>2]|0,24847,t);else k[k[k[g>>2]>>2]>>2]=k[n>>2];Ud(k[j>>2]|0)}else{A=k[h>>2]|0;k[s>>2]=k[u>>2];Pk(A,20595,s);k[q>>2]=1}Ud(k[v>>2]|0);k[e>>2]=k[q>>2];A=k[e>>2]|0;r=y;return A|0}function Yp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;h=n;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;l=n+8|0;j=n+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j>>2]=k[e>>2];while(1){b=k[j>>2]|0;if((i[k[j>>2]>>0]|0)==61)break;if(!(i[b>>0]|0)){m=4;break}k[j>>2]=(k[j>>2]|0)+1}if((m|0)==4){k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}k[k[f>>2]>>2]=b-(k[e>>2]|0);k[h>>2]=(k[j>>2]|0)+1;m=Yd(18391,h)|0;k[l>>2]=m;if(k[l>>2]|0)Yk(k[l>>2]|0);k[k[g>>2]>>2]=k[l>>2];k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}function Zp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+96|0;w=A+8|0;B=A;h=A+80|0;C=A+76|0;D=A+72|0;i=A+68|0;j=A+64|0;l=A+60|0;m=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;n=A+40|0;s=A+36|0;q=A+32|0;o=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;p=A+12|0;k[h>>2]=a;k[C>>2]=b;k[D>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[m>>2]=g;k[v>>2]=0;k[u>>2]=0;c=k[D>>2]|0;k[B>>2]=k[C>>2];k[B+4>>2]=c;c=Yd(24792,B)|0;k[z>>2]=c;if(k[z>>2]|0){D=nf(k[h>>2]|0,k[z>>2]|0,-1,u,0)|0;k[v>>2]=D;if(k[v>>2]|0){D=k[m>>2]|0;C=mf(k[h>>2]|0)|0;k[w>>2]=C;Pk(D,18391,w)}}else k[v>>2]=7;Ud(k[z>>2]|0);if(k[v>>2]|0){D=k[v>>2]|0;r=A;return D|0}k[s>>2]=0;D=He(k[u>>2]|0)|0;k[q>>2]=D;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break;D=Re(k[u>>2]|0,k[o>>2]|0)|0;k[x>>2]=D;D=(uR(k[x>>2]|0)|0)+1|0;k[s>>2]=(k[s>>2]|0)+D;k[o>>2]=(k[o>>2]|0)+1}D=Sd((k[q>>2]<<2)+(k[s>>2]|0)|0)|0;k[n>>2]=D;a:do if(!(k[n>>2]|0))k[v>>2]=7;else{k[t>>2]=(k[n>>2]|0)+(k[q>>2]<<2);k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break a;D=Re(k[u>>2]|0,k[o>>2]|0)|0;k[y>>2]=D;D=(uR(k[y>>2]|0)|0)+1|0;k[p>>2]=D;bS(k[t>>2]|0,k[y>>2]|0,k[p>>2]|0)|0;k[(k[n>>2]|0)+(k[o>>2]<<2)>>2]=k[t>>2];k[t>>2]=(k[t>>2]|0)+(k[p>>2]|0);k[o>>2]=(k[o>>2]|0)+1}}while(0);fe(k[u>>2]|0)|0;k[k[j>>2]>>2]=k[q>>2];k[k[l>>2]>>2]=k[s>>2];k[k[i>>2]>>2]=k[n>>2];D=k[v>>2]|0;r=A;return D|0}function _p(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+36|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;n=p+12|0;o=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=1;a:do if((k[e>>2]|0)!=0?(i[k[e>>2]>>0]|0)!=0:0){k[l>>2]=(k[l>>2]|0)+1;k[n>>2]=k[e>>2];while(1){if(!(i[k[n>>2]>>0]|0))break a;if((i[k[n>>2]>>0]|0)==44)k[l>>2]=(k[l>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}}while(0);a=Sd((k[l>>2]|0)*24|0)|0;k[h>>2]=a;k[k[g>>2]>>2]=k[h>>2];if(!(k[h>>2]|0)){k[d>>2]=7;a=k[d>>2]|0;r=p;return a|0}dS(k[h>>2]|0,0,(k[l>>2]|0)*24|0)|0;b:do if(k[e>>2]|0){k[o>>2]=k[e>>2];k[j>>2]=1;while(1){if((k[j>>2]|0)>=(k[l>>2]|0))break b;k[m>>2]=0;if(hq(o,m)|0)break;if(!(k[m>>2]|0)){k[l>>2]=(k[l>>2]|0)+-1;k[j>>2]=(k[j>>2]|0)+-1}else k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)>>2]=k[m>>2];k[o>>2]=(k[o>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+1}k[d>>2]=1;a=k[d>>2]|0;r=p;return a|0}while(0);k[k[f>>2]>>2]=k[l>>2];k[d>>2]=0;a=k[d>>2]|0;r=p;return a|0} -function aF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+256|0;f=oa+228|0;g=oa+224|0;h=oa+220|0;d=oa+216|0;ha=oa+212|0;V=oa+208|0;P=oa+204|0;la=oa+40|0;ia=oa+32|0;t=oa+24|0;fa=oa+200|0;H=oa+196|0;J=oa+192|0;K=oa+188|0;ba=oa+184|0;p=oa+180|0;s=oa+240|0;e=oa+16|0;z=oa+176|0;y=oa+172|0;Q=oa+168|0;ca=oa+164|0;M=oa+236|0;W=oa+160|0;O=oa+156|0;q=oa+234|0;A=oa+152|0;U=oa+148|0;u=oa+144|0;Y=oa+140|0;B=oa+136|0;S=oa+132|0;ga=oa+128|0;Z=oa+124|0;_=oa+120|0;D=oa+116|0;F=oa+112|0;na=oa+108|0;ma=oa+232|0;x=oa+104|0;n=oa+239|0;o=oa+238|0;N=oa+100|0;G=oa+96|0;ea=oa+92|0;T=oa+88|0;aa=oa+84|0;ja=oa+8|0;ka=oa;$=oa+80|0;I=oa+76|0;v=oa+72|0;C=oa+68|0;X=oa+64|0;R=oa+60|0;da=oa+56|0;w=oa+52|0;E=oa+48|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[d>>2]=k[k[g>>2]>>2];b=t;k[b>>2]=0;k[b+4>>2]=0;k[fa>>2]=0;k[H>>2]=0;k[J>>2]=0;k[ba>>2]=k[k[d>>2]>>2];k[p>>2]=k[k[ba>>2]>>2];if(i[(k[p>>2]|0)+69>>0]|0){r=oa;return}k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);k[V>>2]=(k[d>>2]|0)+488;k[P>>2]=k[k[ha>>2]>>2];b=vE(k[V>>2]|0,k[(k[P>>2]|0)+12>>2]|0)|0;d=la;k[d>>2]=b;k[d+4>>2]=L;k[K>>2]=l[k[P>>2]>>0];do if((k[K>>2]|0)==33){if(vB(k[ba>>2]|0,k[P>>2]|0)|0){r=oa;return}c=k[V>>2]|0;a=(k[P>>2]|0)+20|0;if(k[(k[P>>2]|0)+4>>2]&2048){b=wE(c,k[a>>2]|0)|0;d=(k[ha>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}else{b=UD(c,k[a>>2]|0)|0;d=(k[ha>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}}else if((k[K>>2]|0)==34){d=(k[ha>>2]|0)+32|0;k[d>>2]=0;k[d+4>>2]=0;break}else{b=vE(k[V>>2]|0,k[(k[P>>2]|0)+16>>2]|0)|0;d=(k[ha>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}while(0);b=vE(k[V>>2]|0,k[P>>2]|0)|0;d=ia;k[d>>2]=b;k[d+4>>2]=L;if(k[(k[P>>2]|0)+4>>2]&1){c=YD(k[V>>2]|0,j[(k[P>>2]|0)+36>>1]|0)|0;a=e;k[a>>2]=c;k[a+4>>2]=L;a=e;c=ia;b=k[c+4>>2]|k[a+4>>2];d=ia;k[d>>2]=k[c>>2]|k[a>>2];k[d+4>>2]=b;d=e;d=_R(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;e=t;k[e>>2]=d;k[e+4>>2]=L}d=ia;c=k[d+4>>2]|0;e=(k[ha>>2]|0)+40|0;k[e>>2]=k[d>>2];k[e+4>>2]=c;k[(k[ha>>2]|0)+20>>2]=-1;k[(k[ha>>2]|0)+16>>2]=-1;j[(k[ha>>2]|0)+12>>1]=0;e=(bF(k[K>>2]|0)|0)!=0;c=k[P>>2]|0;a:do if(e){U=uy(k[c+12>>2]|0)|0;k[Q>>2]=U;U=uy(k[(k[P>>2]|0)+16>>2]|0)|0;k[ca>>2]=U;U=(k[ha>>2]|0)+32|0;Y=la;j[M>>1]=((k[U>>2]&k[Y>>2]|0)==0?(k[U+4>>2]&k[Y+4>>2]|0)==0:0)?8191:2048;if((k[(k[ha>>2]|0)+24>>2]|0)>0)k[Q>>2]=k[(k[(k[(k[Q>>2]|0)+20>>2]|0)+4>>2]|0)+(((k[(k[ha>>2]|0)+24>>2]|0)-1|0)*20|0)>>2];Y=la;if(cF(k[f>>2]|0,k[K>>2]|0,k[Y>>2]|0,k[Y+4>>2]|0,k[Q>>2]|0,z,y)|0){k[(k[ha>>2]|0)+20>>2]=k[z>>2];k[(k[ha>>2]|0)+28>>2]=k[y>>2];Y=(dF(k[K>>2]|0)|0)&65535;j[(k[ha>>2]|0)+12>>1]=Y&m[M>>1]}if((k[K>>2]|0)==29){Y=(k[ha>>2]|0)+10|0;j[Y>>1]=m[Y>>1]|2048}if((k[ca>>2]|0)!=0?(Y=(k[ha>>2]|0)+32|0,(cF(k[f>>2]|0,k[K>>2]|0,k[Y>>2]|0,k[Y+4>>2]|0,k[ca>>2]|0,z,y)|0)!=0):0){j[q>>1]=0;if((k[(k[ha>>2]|0)+20>>2]|0)>=0){ca=Sy(k[p>>2]|0,k[P>>2]|0,0)|0;k[O>>2]=ca;if(i[(k[p>>2]|0)+69>>0]|0){sv(k[p>>2]|0,k[O>>2]|0);r=oa;return}ca=eF(k[g>>2]|0,k[O>>2]|0,3)|0;k[A>>2]=ca;if(!(k[A>>2]|0)){r=oa;return}k[W>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[A>>2]|0)*48|0);fF(k[g>>2]|0,k[A>>2]|0,k[h>>2]|0);if((k[K>>2]|0)==29){ca=(k[W>>2]|0)+10|0;j[ca>>1]=m[ca>>1]|2048}k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);ca=(k[ha>>2]|0)+10|0;j[ca>>1]=m[ca>>1]|8;if(gF(k[ba>>2]|0,k[O>>2]|0)|0){ca=(k[ha>>2]|0)+12|0;j[ca>>1]=m[ca>>1]|2048;j[q>>1]=2048}}else{k[O>>2]=k[P>>2];k[W>>2]=k[ha>>2]}hF(k[ba>>2]|0,k[O>>2]|0);k[(k[W>>2]|0)+20>>2]=k[z>>2];k[(k[W>>2]|0)+28>>2]=k[y>>2];U=la;Y=t;la=k[U+4>>2]|k[Y+4>>2];ca=(k[W>>2]|0)+32|0;k[ca>>2]=k[U>>2]|k[Y>>2];k[ca+4>>2]=la;ca=ia;ia=k[ca+4>>2]|0;la=(k[W>>2]|0)+40|0;k[la>>2]=k[ca>>2];k[la+4>>2]=ia;la=(dF(l[k[O>>2]>>0]|0)|0)&65535;j[(k[W>>2]|0)+12>>1]=la+(m[q>>1]|0)&m[M>>1]}}else{if((l[c>>0]|0)==32?(l[(k[g>>2]|0)+8>>0]|0)==28:0){k[U>>2]=k[(k[P>>2]|0)+20>>2];k[u>>2]=0;while(1){if((k[u>>2]|0)>=2)break a;ca=k[ba>>2]|0;ia=l[34832+(k[u>>2]|0)>>0]|0;la=Sy(k[p>>2]|0,k[(k[P>>2]|0)+12>>2]|0,0)|0;la=Ov(ca,ia,la,Sy(k[p>>2]|0,k[(k[(k[U>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;k[Y>>2]=la;iF(k[Y>>2]|0,k[P>>2]|0);la=eF(k[g>>2]|0,k[Y>>2]|0,3)|0;k[B>>2]=la;aF(k[f>>2]|0,k[g>>2]|0,k[B>>2]|0);k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);fF(k[g>>2]|0,k[B>>2]|0,k[h>>2]|0);k[u>>2]=(k[u>>2]|0)+1}}if((l[k[P>>2]>>0]|0)==27){jF(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0);k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0)}}while(0);if((l[(k[g>>2]|0)+8>>0]|0)==28?(kF(k[ba>>2]|0,k[P>>2]|0,fa,H,J)|0)!=0:0){j[ma>>1]=259;k[S>>2]=k[(k[(k[(k[P>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];ma=Sy(k[p>>2]|0,k[fa>>2]|0,0)|0;k[ga>>2]=ma;b:do if((k[J>>2]|0)!=0?(i[(k[k[ba>>2]>>2]|0)+69>>0]|0)==0:0){ma=(k[ha>>2]|0)+10|0;j[ma>>1]=m[ma>>1]|1024;k[x>>2]=0;while(1){ma=i[(k[(k[fa>>2]|0)+8>>2]|0)+(k[x>>2]|0)>>0]|0;i[n>>0]=ma;if(!(ma<<24>>24))break b;i[(k[(k[fa>>2]|0)+8>>2]|0)+(k[x>>2]|0)>>0]=i[n>>0]&~(l[18403+(l[n>>0]|0)>>0]&32);i[(k[(k[ga>>2]|0)+8>>2]|0)+(k[x>>2]|0)>>0]=i[17613+(l[n>>0]|0)>>0]|0;k[x>>2]=(k[x>>2]|0)+1}}while(0);if(!(i[(k[p>>2]|0)+69>>0]|0)){ma=(Tf(k[(k[ga>>2]|0)+8>>2]|0)|0)-1|0;k[N>>2]=(k[(k[ga>>2]|0)+8>>2]|0)+ma;i[o>>0]=i[k[N>>2]>>0]|0;if(k[J>>2]|0){if((l[o>>0]|0)==64)k[H>>2]=0;i[o>>0]=i[17613+(l[o>>0]|0)>>0]|0}i[k[N>>2]>>0]=(l[o>>0]|0)+1}k[na>>2]=(k[J>>2]|0)!=0?20429:34834;la=Sy(k[p>>2]|0,k[S>>2]|0,0)|0;k[Z>>2]=la;la=k[ba>>2]|0;ma=ez(k[ba>>2]|0,k[Z>>2]|0,k[na>>2]|0)|0;ma=Ov(la,41,ma,k[fa>>2]|0,0)|0;k[Z>>2]=ma;iF(k[Z>>2]|0,k[P>>2]|0);ma=eF(k[g>>2]|0,k[Z>>2]|0,259)|0;k[D>>2]=ma;aF(k[f>>2]|0,k[g>>2]|0,k[D>>2]|0);ma=Sy(k[p>>2]|0,k[S>>2]|0,0)|0;k[_>>2]=ma;ma=k[ba>>2]|0;na=ez(k[ba>>2]|0,k[_>>2]|0,k[na>>2]|0)|0;na=Ov(ma,40,na,k[ga>>2]|0,0)|0;k[_>>2]=na;iF(k[_>>2]|0,k[P>>2]|0);na=eF(k[g>>2]|0,k[_>>2]|0,259)|0;k[F>>2]=na;aF(k[f>>2]|0,k[g>>2]|0,k[F>>2]|0);k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);if(k[H>>2]|0){fF(k[g>>2]|0,k[D>>2]|0,k[h>>2]|0);fF(k[g>>2]|0,k[F>>2]|0,k[h>>2]|0)}}if(((l[(k[g>>2]|0)+8>>0]|0)==28?(lF(k[P>>2]|0,s)|0)!=0:0)?(k[ea>>2]=k[k[(k[(k[P>>2]|0)+20>>2]|0)+4>>2]>>2],k[T>>2]=k[(k[(k[(k[P>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ma=vE(k[V>>2]|0,k[ea>>2]|0)|0,na=ka,k[na>>2]=ma,k[na+4>>2]=L,na=vE(k[V>>2]|0,k[T>>2]|0)|0,ma=ja,k[ma>>2]=na,k[ma+4>>2]=L,ma=ka,na=ja,(k[ma>>2]&k[na>>2]|0)==0?(k[ma+4>>2]&k[na+4>>2]|0)==0:0):0){na=k[ba>>2]|0;na=Ov(na,30,0,Sy(k[p>>2]|0,k[ea>>2]|0,0)|0,0)|0;k[$>>2]=na;na=eF(k[g>>2]|0,k[$>>2]|0,3)|0;k[G>>2]=na;k[aa>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[G>>2]|0)*48|0);na=ka;ma=k[na+4>>2]|0;la=(k[aa>>2]|0)+32|0;k[la>>2]=k[na>>2];k[la+4>>2]=ma;k[(k[aa>>2]|0)+20>>2]=k[(k[T>>2]|0)+28>>2];k[(k[aa>>2]|0)+28>>2]=j[(k[T>>2]|0)+32>>1];j[(k[aa>>2]|0)+12>>1]=64;i[(k[aa>>2]|0)+15>>0]=i[s>>0]|0;fF(k[g>>2]|0,k[G>>2]|0,k[h>>2]|0);k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);la=(k[ha>>2]|0)+10|0;j[la>>1]=m[la>>1]|8;la=(k[ha>>2]|0)+40|0;ma=k[la+4>>2]|0;na=(k[aa>>2]|0)+40|0;k[na>>2]=k[la>>2];k[na+4>>2]=ma}do if((l[(k[g>>2]|0)+8>>0]|0)==28){if((l[k[P>>2]>>0]|0)!=37?(l[k[P>>2]>>0]|0)!=29:0)break;if(fB(k[(k[P>>2]|0)+12>>2]|0)|0){if((k[(k[(k[P>>2]|0)+12>>2]|0)+4>>2]&2048|0)!=0?(k[(k[(k[P>>2]|0)+16>>2]|0)+4>>2]&2048|0)!=0:0)break;na=mz(k[(k[P>>2]|0)+12>>2]|0)|0;k[I>>2]=na;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[I>>2]|0))break;na=mF(k[ba>>2]|0,k[(k[P>>2]|0)+12>>2]|0,k[v>>2]|0)|0;k[R>>2]=na;na=mF(k[ba>>2]|0,k[(k[P>>2]|0)+16>>2]|0,k[v>>2]|0)|0;k[da>>2]=na;na=Ov(k[ba>>2]|0,l[k[P>>2]>>0]|0,k[R>>2]|0,k[da>>2]|0,0)|0;k[X>>2]=na;iF(k[X>>2]|0,k[P>>2]|0);na=eF(k[g>>2]|0,k[X>>2]|0,1)|0;k[C>>2]=na;aF(k[f>>2]|0,k[g>>2]|0,k[C>>2]|0);k[v>>2]=(k[v>>2]|0)+1}k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);j[(k[ha>>2]|0)+10>>1]=6;j[(k[ha>>2]|0)+12>>1]=0}}while(0);c:do if(((((l[(k[g>>2]|0)+8>>0]|0)==28?(l[k[P>>2]>>0]|0)==33:0)?(k[(k[ha>>2]|0)+24>>2]|0)==0:0)?(l[k[(k[P>>2]|0)+12>>2]>>0]|0)==158:0)?(k[(k[(k[P>>2]|0)+20>>2]|0)+48>>2]|0)==0:0){k[w>>2]=0;while(1){na=k[w>>2]|0;if((na|0)>=(mz(k[(k[P>>2]|0)+12>>2]|0)|0))break c;na=eF(k[g>>2]|0,k[P>>2]|0,2)|0;k[E>>2]=na;k[(k[(k[g>>2]|0)+20>>2]|0)+((k[E>>2]|0)*48|0)+24>>2]=(k[w>>2]|0)+1;aF(k[f>>2]|0,k[g>>2]|0,k[E>>2]|0);fF(k[g>>2]|0,k[E>>2]|0,k[h>>2]|0);k[w>>2]=(k[w>>2]|0)+1}}while(0);la=t;na=(k[ha>>2]|0)+32|0;ka=na;ma=k[ka+4>>2]|k[la+4>>2];k[na>>2]=k[ka>>2]|k[la>>2];k[na+4>>2]=ma;r=oa;return}function bF(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((k[b>>2]|0)!=33?!((k[b>>2]|0)>=37&(k[b>>2]|0)<=41|(k[b>>2]|0)==34):0)b=(k[b>>2]|0)==29;else b=1;r=c;return b&1|0}function cF(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+48|0;q=v+40|0;h=v+36|0;w=v+32|0;i=v;n=v+28|0;s=v+24|0;t=v+20|0;p=v+16|0;o=v+12|0;u=v+8|0;k[h>>2]=a;k[w>>2]=b;a=i;k[a>>2]=c;k[a+4>>2]=d;k[n>>2]=e;k[s>>2]=f;k[t>>2]=g;if(((k[w>>2]|0)>=38?(l[k[n>>2]>>0]|0)==158:0)&(k[w>>2]|0)<=41)k[n>>2]=k[k[(k[(k[n>>2]|0)+20>>2]|0)+4>>2]>>2];if((l[k[n>>2]>>0]|0)==152){k[k[s>>2]>>2]=k[(k[n>>2]|0)+28>>2];k[k[t>>2]>>2]=j[(k[n>>2]|0)+32>>1];k[q>>2]=1;w=k[q>>2]|0;r=v;return w|0}w=i;if((k[w>>2]|0)==0&(k[w+4>>2]|0)==0){k[q>>2]=0;w=k[q>>2]|0;r=v;return w|0}w=i;g=k[w>>2]|0;w=k[w+4>>2]|0;f=i;f=_R(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;if((g&f|0)!=0|(w&L|0)!=0){k[q>>2]=0;w=k[q>>2]|0;r=v;return w|0}k[o>>2]=0;while(1){w=i;f=k[w+4>>2]|0;c=k[o>>2]|0;if(!(f>>>0>0|(f|0)==0&(k[w>>2]|0)>>>0>1))break;k[o>>2]=c+1;f=i;f=aS(k[f>>2]|0,k[f+4>>2]|0,1)|0;w=i;k[w>>2]=f;k[w+4>>2]=L}k[u>>2]=k[(k[h>>2]|0)+8+(c*72|0)+44>>2];k[p>>2]=k[(k[(k[h>>2]|0)+8+((k[o>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(k[p>>2]|0)){c=22;break}b:do if(k[(k[p>>2]|0)+40>>2]|0){k[o>>2]=0;while(1){if((k[o>>2]|0)>=(m[(k[p>>2]|0)+50>>1]|0))break b;if((j[(k[(k[p>>2]|0)+4>>2]|0)+(k[o>>2]<<1)>>1]|0)==-2?(Uy(k[n>>2]|0,k[(k[(k[(k[p>>2]|0)+40>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2]|0,k[u>>2]|0)|0)==0:0){c=19;break a}k[o>>2]=(k[o>>2]|0)+1}}while(0);k[p>>2]=k[(k[p>>2]|0)+20>>2]}if((c|0)==19){k[k[s>>2]>>2]=k[u>>2];k[k[t>>2]>>2]=-2;k[q>>2]=1;w=k[q>>2]|0;r=v;return w|0}else if((c|0)==22){k[q>>2]=0;w=k[q>>2]|0;r=v;return w|0}return 0}function dF(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d;c=d+4|0;k[b>>2]=a;do if((k[b>>2]|0)!=33){if((k[b>>2]|0)==34){j[c>>1]=256;break}if((k[b>>2]|0)==29){j[c>>1]=128;break}else{j[c>>1]=2<<(k[b>>2]|0)-37;break}}else j[c>>1]=1;while(0);r=d;return j[c>>1]|0}function eF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;o=r;r=r+32|0;l=o+24|0;d=o+20|0;e=o+16|0;f=o+28|0;i=o+12|0;n=o+8|0;h=o+4|0;g=o;k[d>>2]=a;k[e>>2]=b;j[f>>1]=c;do if((k[(k[d>>2]|0)+12>>2]|0)>=(k[(k[d>>2]|0)+16>>2]|0)){k[h>>2]=k[(k[d>>2]|0)+20>>2];k[g>>2]=k[k[k[k[d>>2]>>2]>>2]>>2];c=dx(k[g>>2]|0,(k[(k[d>>2]|0)+16>>2]|0)*48<<1,0)|0;k[(k[d>>2]|0)+20>>2]=c;if(k[(k[d>>2]|0)+20>>2]|0){bS(k[(k[d>>2]|0)+20>>2]|0,k[h>>2]|0,(k[(k[d>>2]|0)+12>>2]|0)*48|0)|0;if((k[h>>2]|0)!=((k[d>>2]|0)+24|0))bg(k[g>>2]|0,k[h>>2]|0);c=((uu(k[g>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0)>>>0)/48|0;k[(k[d>>2]|0)+16>>2]=c;break}if((m[f>>1]|0)&1)sv(k[g>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+20>>2]=k[h>>2];k[l>>2]=0;n=k[l>>2]|0;r=o;return n|0}while(0);a=(k[d>>2]|0)+12|0;c=k[a>>2]|0;k[a>>2]=c+1;k[n>>2]=c;k[i>>2]=(k[(k[d>>2]|0)+20>>2]|0)+(c*48|0);if((k[e>>2]|0)!=0?(k[(k[e>>2]|0)+4>>2]&262144|0)!=0:0){c=k[(k[e>>2]|0)+28>>2]|0;c=((Wj(c,((c|0)<0)<<31>>31)|0)<<16>>16)-270&65535;j[(k[i>>2]|0)+8>>1]=c}else j[(k[i>>2]|0)+8>>1]=1;e=uy(k[e>>2]|0)|0;k[k[i>>2]>>2]=e;j[(k[i>>2]|0)+10>>1]=j[f>>1]|0;k[(k[i>>2]|0)+4>>2]=k[d>>2];k[(k[i>>2]|0)+16>>2]=-1;d=(k[i>>2]|0)+12|0;e=d+36|0;do{j[d>>1]=0;d=d+2|0}while((d|0)<(e|0));k[l>>2]=k[n>>2];n=k[l>>2]|0;r=o;return n|0}function fF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;g=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[(k[(k[f>>2]|0)+20>>2]|0)+((k[g>>2]|0)*48|0)+16>>2]=k[e>>2];j[(k[(k[f>>2]|0)+20>>2]|0)+((k[g>>2]|0)*48|0)+8>>1]=j[(k[(k[f>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0)+8>>1]|0;a=(k[(k[f>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0)+14|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;r=d;return}function gF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;h=o+20|0;e=o+16|0;f=o+12|0;c=o+25|0;d=o+24|0;g=o+8|0;j=o+4|0;n=o;k[e>>2]=a;k[f>>2]=b;if(m[(k[k[e>>2]>>2]|0)+64>>1]&512){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}if((l[k[f>>2]>>0]|0)!=37?(l[k[f>>2]>>0]|0)!=29:0){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}if(k[(k[f>>2]|0)+4>>2]&1){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}a=oy(k[(k[f>>2]|0)+12>>2]|0)|0;i[c>>0]=a;a=oy(k[(k[f>>2]|0)+16>>2]|0)|0;i[d>>0]=a;do if((i[c>>0]|0)!=(i[d>>0]|0)){if((i[c>>0]|0)>=67?(i[d>>0]|0)>=67:0)break;k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}while(0);a=CB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=a;if((k[g>>2]|0)!=0?(sg(k[k[g>>2]>>2]|0,34834)|0)!=0:0){a=py(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0)c=k[k[g>>2]>>2]|0;else c=0;k[j>>2]=c;f=py(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=f;if(k[g>>2]|0)c=k[k[g>>2]>>2]|0;else c=0;k[n>>2]=c;n=(be(k[j>>2]|0,k[n>>2]|0)|0)==0&1;k[h>>2]=n;n=k[h>>2]|0;r=o;return n|0}k[h>>2]=1;n=k[h>>2]|0;r=o;return n|0}function hF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+8|0;d=g+4|0;e=g+14|0;h=g+12|0;f=g;k[c>>2]=a;k[d>>2]=b;j[e>>1]=k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]&256;j[h>>1]=k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]&256;do if((m[e>>1]|0)==(m[h>>1]|0)){if(j[e>>1]|0){h=(k[(k[d>>2]|0)+16>>2]|0)+4|0;k[h>>2]=k[h>>2]&-257;break}if(py(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0)|0){h=(k[(k[d>>2]|0)+12>>2]|0)+4|0;k[h>>2]=k[h>>2]|256}}while(0);k[f>>2]=k[(k[d>>2]|0)+16>>2];k[(k[d>>2]|0)+16>>2]=k[(k[d>>2]|0)+12>>2];k[(k[d>>2]|0)+12>>2]=k[f>>2];if((l[k[d>>2]>>0]|0)<38){r=g;return}i[k[d>>2]>>0]=((l[k[d>>2]>>0]|0)-38^2)+38;r=g;return}function iF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}a=(k[c>>2]|0)+4|0;k[a>>2]=k[a>>2]|k[(k[d>>2]|0)+4>>2]&1;j[(k[c>>2]|0)+36>>1]=j[(k[d>>2]|0)+36>>1]|0;r=e;return}function jF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=r;r=r+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;C=V+136|0;S=V+132|0;K=V+128|0;D=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;h=V+16|0;o=V+108|0;q=V+104|0;p=V+100|0;n=V+96|0;d=V+8|0;e=V;u=V+92|0;f=V+88|0;s=V+84|0;g=V+80|0;v=V+76|0;I=V+72|0;E=V+68|0;F=V+64|0;H=V+60|0;z=V+56|0;A=V+52|0;J=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;G=V+32|0;k[w>>2]=a;k[x>>2]=b;k[y>>2]=c;k[T>>2]=k[k[x>>2]>>2];k[R>>2]=k[k[T>>2]>>2];k[C>>2]=k[k[R>>2]>>2];k[S>>2]=(k[(k[x>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);k[K>>2]=k[k[S>>2]>>2];b=Ch(k[C>>2]|0,416,0)|0;k[t>>2]=b;k[(k[S>>2]|0)+28>>2]=b;if(!(k[t>>2]|0)){r=V;return}b=(k[S>>2]|0)+10|0;j[b>>1]=m[b>>1]|16;k[Q>>2]=k[t>>2];dS((k[Q>>2]|0)+24|0,0,384)|0;LD(k[Q>>2]|0,k[T>>2]|0);MD(k[Q>>2]|0,k[K>>2]|0,27);PD(k[w>>2]|0,k[Q>>2]|0);if(i[(k[C>>2]|0)+69>>0]|0){r=V;return}b=h;k[b>>2]=-1;k[b+4>>2]=-1;b=B;k[b>>2]=-1;k[b+4>>2]=-1;k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;k[P>>2]=k[(k[Q>>2]|0)+20>>2];while(1){b=h;if(!((k[D>>2]|0)>=0?(k[b>>2]|0)!=0|(k[b+4>>2]|0)!=0:0))break;do if(!(m[(k[P>>2]|0)+12>>1]&511)){b=B;k[b>>2]=0;k[b+4>>2]=0;b=dx(k[C>>2]|0,408,0)|0;k[o>>2]=b;if(k[o>>2]|0){b=d;k[b>>2]=0;k[b+4>>2]=0;k[(k[P>>2]|0)+28>>2]=k[o>>2];b=(k[P>>2]|0)+10|0;j[b>>1]=m[b>>1]|32;j[(k[P>>2]|0)+12>>1]=1024;k[q>>2]=k[o>>2];dS((k[q>>2]|0)+24|0,0,384)|0;LD(k[q>>2]|0,k[k[x>>2]>>2]|0);MD(k[q>>2]|0,k[k[P>>2]>>2]|0,28);PD(k[w>>2]|0,k[q>>2]|0);k[(k[q>>2]|0)+4>>2]=k[x>>2];a:do if(!(i[(k[C>>2]|0)+69>>0]|0)){k[n>>2]=0;k[p>>2]=k[(k[q>>2]|0)+20>>2];while(1){if((k[n>>2]|0)>=(k[(k[q>>2]|0)+12>>2]|0))break a;if(!((bF(l[k[k[p>>2]>>2]>>0]|0)|0)==0?(m[(k[p>>2]|0)+12>>1]|0)!=64:0)){c=YD((k[T>>2]|0)+488|0,k[(k[p>>2]|0)+20>>2]|0)|0;W=d;a=k[W+4>>2]|L;b=d;k[b>>2]=k[W>>2]|c;k[b+4>>2]=a}k[n>>2]=(k[n>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+48}}while(0);a=d;c=h;b=k[c+4>>2]&k[a+4>>2];W=h;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b}}else if(!(m[(k[P>>2]|0)+10>>1]&8)){b=YD((k[T>>2]|0)+488|0,k[(k[P>>2]|0)+20>>2]|0)|0;W=e;k[W>>2]=b;k[W+4>>2]=L;if(m[(k[P>>2]|0)+10>>1]&2){k[u>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[(k[P>>2]|0)+16>>2]|0)*48|0);a=YD((k[T>>2]|0)+488|0,k[(k[u>>2]|0)+20>>2]|0)|0;c=e;b=k[c+4>>2]|L;W=e;k[W>>2]=k[c>>2]|a;k[W+4>>2]=b}a=e;c=h;b=k[c+4>>2]&k[a+4>>2];W=h;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b;if(!(m[(k[P>>2]|0)+12>>1]&2)){W=B;k[W>>2]=0;k[W+4>>2]=0;break}else{a=e;c=B;b=k[c+4>>2]&k[a+4>>2];W=B;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b;break}}while(0);k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}a=h;b=k[a+4>>2]|0;W=(k[t>>2]|0)+408|0;k[W>>2]=k[a>>2];k[W+4>>2]=b;W=h;j[(k[S>>2]|0)+12>>1]=(k[W>>2]|0)==0&(k[W+4>>2]|0)==0?0:512;W=h;b:do if((k[W>>2]|0)!=0|(k[W+4>>2]|0)!=0?(k[(k[Q>>2]|0)+12>>2]|0)==2:0){k[f>>2]=0;c:while(1){b=k[(k[Q>>2]|0)+20>>2]|0;W=k[f>>2]|0;k[f>>2]=W+1;W=rF(b,W)|0;k[s>>2]=W;if(!W)break b;k[g>>2]=0;while(1){b=(k[(k[Q>>2]|0)+20>>2]|0)+48|0;W=k[g>>2]|0;k[g>>2]=W+1;W=rF(b,W)|0;k[v>>2]=W;if(!W)continue c;sF(k[w>>2]|0,k[x>>2]|0,k[s>>2]|0,k[v>>2]|0)}}}while(0);W=B;if(!((k[W>>2]|0)!=0|(k[W+4>>2]|0)!=0)){r=V;return}k[I>>2]=0;k[E>>2]=-1;k[F>>2]=-1;k[H>>2]=0;k[H>>2]=0;while(1){if((k[H>>2]|0)>=2)break;if(!((k[I>>2]|0)!=0^1))break;k[P>>2]=k[(k[Q>>2]|0)+20>>2];k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;while(1){if((k[D>>2]|0)<0)break;W=(k[P>>2]|0)+10|0;j[W>>1]=m[W>>1]&-65;if((k[(k[P>>2]|0)+20>>2]|0)!=(k[F>>2]|0)?(W=B,v=k[W>>2]|0,W=k[W+4>>2]|0,b=YD((k[T>>2]|0)+488|0,k[(k[P>>2]|0)+20>>2]|0)|0,!((v&b|0)==0&(W&L|0)==0)):0){U=37;break}k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}if((U|0)==37){U=0;k[E>>2]=k[(k[P>>2]|0)+28>>2];k[F>>2]=k[(k[P>>2]|0)+20>>2]}if((k[D>>2]|0)<0)break;k[I>>2]=1;while(1){if(!((k[D>>2]|0)>=0?(k[I>>2]|0)!=0:0))break;d=k[P>>2]|0;do if((k[(k[P>>2]|0)+20>>2]|0)!=(k[F>>2]|0)){W=d+10|0;j[W>>1]=m[W>>1]&-65}else{if((k[d+28>>2]|0)!=(k[E>>2]|0)){k[I>>2]=0;break}W=(oy(k[(k[k[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;k[A>>2]=W;W=(oy(k[(k[k[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;k[z>>2]=W;if((k[A>>2]|0)!=0?(k[A>>2]|0)!=(k[z>>2]|0):0){k[I>>2]=0;break}W=(k[P>>2]|0)+10|0;j[W>>1]=m[W>>1]|64}while(0);k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}k[H>>2]=(k[H>>2]|0)+1}if(!(k[I>>2]|0)){r=V;return}k[N>>2]=0;k[M>>2]=0;k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;k[P>>2]=k[(k[Q>>2]|0)+20>>2];while(1){if((k[D>>2]|0)<0)break;if(m[(k[P>>2]|0)+10>>1]&64){W=Sy(k[C>>2]|0,k[(k[k[P>>2]>>2]|0)+16>>2]|0,0)|0;k[J>>2]=W;W=bw(k[k[T>>2]>>2]|0,k[N>>2]|0,k[J>>2]|0)|0;k[N>>2]=W;k[M>>2]=k[(k[k[P>>2]>>2]|0)+12>>2]}k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}W=Sy(k[C>>2]|0,k[M>>2]|0,0)|0;k[J>>2]=W;W=Ov(k[R>>2]|0,33,k[J>>2]|0,0,0)|0;k[O>>2]=W;if(k[O>>2]|0){iF(k[O>>2]|0,k[K>>2]|0);k[(k[O>>2]|0)+20>>2]=k[N>>2];W=eF(k[x>>2]|0,k[O>>2]|0,3)|0;k[G>>2]=W;aF(k[w>>2]|0,k[x>>2]|0,k[G>>2]|0);k[S>>2]=(k[(k[x>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);fF(k[x>>2]|0,k[G>>2]|0,k[y>>2]|0)}else ov(k[C>>2]|0,k[N>>2]|0);j[(k[S>>2]|0)+12>>1]=4096;r=V;return}function kF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=r;r=r+96|0;q=F+80|0;s=F+76|0;f=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;h=F+48|0;m=F+44|0;o=F+40|0;v=F+36|0;p=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;n=F+16|0;g=F+12|0;y=F+8|0;D=F+4|0;B=F;k[s>>2]=a;k[f>>2]=b;k[t>>2]=c;k[u>>2]=d;k[G>>2]=e;k[E>>2]=0;k[w>>2]=k[k[s>>2]>>2];k[A>>2]=0;if(!(nF(k[w>>2]|0,k[f>>2]|0,k[G>>2]|0,p)|0)){k[q>>2]=0;G=k[q>>2]|0;r=F;return G|0}k[m>>2]=k[(k[f>>2]|0)+20>>2];k[h>>2]=k[(k[(k[m>>2]|0)+4>>2]|0)+20>>2];if(((l[k[h>>2]>>0]|0)==152?((oy(k[h>>2]|0)|0)<<24>>24|0)==66:0)?(l[(k[(k[h>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){G=uy(k[k[(k[m>>2]|0)+4>>2]>>2]|0)|0;k[z>>2]=G;k[x>>2]=l[k[z>>2]>>0];if((k[x>>2]|0)!=135){if((k[x>>2]|0)==97)k[E>>2]=k[(k[z>>2]|0)+8>>2]}else{k[n>>2]=k[(k[s>>2]|0)+432>>2];k[g>>2]=j[(k[z>>2]|0)+32>>1];G=oF(k[n>>2]|0,k[g>>2]|0,65)|0;k[A>>2]=G;if((k[A>>2]|0)!=0?(oe(k[A>>2]|0)|0)==3:0){G=je(k[A>>2]|0)|0;k[E>>2]=G}pF(k[(k[s>>2]|0)+8>>2]|0,k[g>>2]|0)}do if(k[E>>2]|0){k[v>>2]=0;while(1){G=i[(k[E>>2]|0)+(k[v>>2]|0)>>0]|0;k[o>>2]=G;if(((G|0)!=0?(k[o>>2]|0)!=(i[p>>0]|0):0)?(k[o>>2]|0)!=(i[p+1>>0]|0):0)f=(k[o>>2]|0)!=(i[p+2>>0]|0);else f=0;g=k[v>>2]|0;if(!f)break;k[v>>2]=g+1}if((g|0)!=0?255!=(l[(k[E>>2]|0)+((k[v>>2]|0)-1)>>0]|0):0){if((k[o>>2]|0)==(i[p>>0]|0))f=(i[(k[E>>2]|0)+((k[v>>2]|0)+1)>>0]|0)==0;else f=0;k[k[u>>2]>>2]=f&1;G=ew(k[w>>2]|0,97,k[E>>2]|0)|0;k[y>>2]=G;if(k[y>>2]|0)i[(k[(k[y>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]=0;k[k[t>>2]>>2]=k[y>>2];if((k[x>>2]|0)!=135)break;k[D>>2]=k[(k[s>>2]|0)+8>>2];pF(k[D>>2]|0,j[(k[z>>2]|0)+32>>1]|0);if(!(k[k[u>>2]>>2]|0))break;if(!(i[(k[(k[z>>2]|0)+8>>2]|0)+1>>0]|0))break;G=Fx(k[s>>2]|0)|0;k[B>>2]=G;aB(k[s>>2]|0,k[z>>2]|0,k[B>>2]|0)|0;G=k[D>>2]|0;qF(G,(Gx(k[D>>2]|0)|0)-1|0,0);Hx(k[s>>2]|0,k[B>>2]|0);break}k[E>>2]=0}while(0);k[C>>2]=(k[E>>2]|0)!=0&1;mh(k[A>>2]|0);k[q>>2]=k[C>>2];G=k[q>>2]|0;r=F;return G|0}k[q>>2]=0;G=k[q>>2]|0;r=F;return G|0}function lF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;g=j+20|0;e=j+16|0;h=j+12|0;d=j+8|0;c=j+4|0;f=j;k[e>>2]=a;k[h>>2]=b;if((l[k[e>>2]>>0]|0|0)!=151){k[g>>2]=0;h=k[g>>2]|0;r=j;return h|0}k[d>>2]=k[(k[e>>2]|0)+20>>2];if((k[d>>2]|0)!=0?(k[k[d>>2]>>2]|0)==2:0){k[c>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+20>>2];if((l[k[c>>2]>>0]|0|0)==152?((l[(k[(k[c>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=4){c=14;break}b=(sg(k[(k[e>>2]|0)+8>>2]|0,k[5444+(k[f>>2]<<3)>>2]|0)|0)==0;a=k[f>>2]|0;if(b){c=12;break}k[f>>2]=a+1}if((c|0)==12){i[k[h>>2]>>0]=i[5444+(a<<3)+4>>0]|0;k[g>>2]=1;h=k[g>>2]|0;r=j;return h|0}else if((c|0)==14){k[g>>2]=0;h=k[g>>2]|0;r=j;return h|0}}k[g>>2]=0;h=k[g>>2]|0;r=j;return h|0}k[g>>2]=0;h=k[g>>2]|0;r=j;return h|0}function mF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((l[k[e>>2]>>0]|0|0)==119){b=Ov(k[d>>2]|0,159,0,0,0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){b=k[g>>2]|0;r=h;return b|0}j[(k[g>>2]|0)+32>>1]=k[f>>2];k[(k[g>>2]|0)+12>>2]=k[e>>2];b=k[g>>2]|0;r=h;return b|0}else{if((l[k[e>>2]>>0]|0|0)==158)k[e>>2]=k[(k[(k[(k[e>>2]|0)+20>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2];b=Sy(k[k[d>>2]>>2]|0,k[e>>2]|0,0)|0;k[g>>2]=b;b=k[g>>2]|0;r=h;return b|0}return 0}function nF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;j=o+4|0;n=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if(((l[k[g>>2]>>0]|0|0)==151?(k[(k[g>>2]|0)+20>>2]|0)!=0:0)?(k[k[(k[g>>2]|0)+20>>2]>>2]|0)==2:0){c=ui(k[f>>2]|0,k[(k[g>>2]|0)+8>>2]|0,2,1,0)|0;k[n>>2]=c;if((k[n>>2]|0)!=0?((m[(k[n>>2]|0)+2>>1]|0)&4|0)!=0:0){c=k[j>>2]|0;b=k[(k[n>>2]|0)+4>>2]|0;i[c>>0]=i[b>>0]|0;i[c+1>>0]=i[b+1>>0]|0;i[c+2>>0]=i[b+2>>0]|0;k[k[h>>2]>>2]=((m[(k[n>>2]|0)+2>>1]|0)&8|0)==0&1;k[e>>2]=1;c=k[e>>2]|0;r=o;return c|0}k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}function oF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+20|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;if((k[e>>2]|0)!=0?(k[h>>2]=(k[(k[e>>2]|0)+116>>2]|0)+(((k[f>>2]|0)-1|0)*40|0),0==((m[(k[h>>2]|0)+8>>1]|0)&1|0)):0){a=hi(k[k[e>>2]>>2]|0)|0;k[j>>2]=a;if(k[j>>2]|0){th(k[j>>2]|0,k[h>>2]|0)|0;Px(k[j>>2]|0,i[g>>0]|0,1)}k[d>>2]=k[j>>2];a=k[d>>2]|0;r=l;return a|0}k[d>>2]=0;a=k[d>>2]|0;r=l;return a|0}function pF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>32){k[(k[c>>2]|0)+196>>2]=-1;r=e;return}else{a=(k[c>>2]|0)+196|0;k[a>>2]=k[a>>2]|1<<(k[d>>2]|0)-1;r=e;return}}function qF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(oA(k[f>>2]|0,k[e>>2]|0)|0)+12|0;k[c>>2]=a;r=d;return}function rF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;b=k[e>>2]|0;if((m[(k[d>>2]|0)+12>>1]|0|0)!=1024){k[c>>2]=(b|0)==0?k[d>>2]|0:0;e=k[c>>2]|0;r=f;return e|0}if((b|0)<(k[(k[(k[d>>2]|0)+28>>2]|0)+12>>2]|0)){k[c>>2]=(k[(k[(k[d>>2]|0)+28>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0);e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function sF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;h=s+28|0;l=s+24|0;e=s+20|0;f=s+16|0;n=s+32|0;g=s+12|0;q=s+8|0;p=s+4|0;o=s;k[h>>2]=a;k[l>>2]=b;k[e>>2]=c;k[f>>2]=d;j[n>>1]=m[(k[e>>2]|0)+12>>1]|0|(m[(k[f>>2]|0)+12>>1]|0);if(!((m[(k[e>>2]|0)+12>>1]|0)&62)){r=s;return}if(!((m[(k[f>>2]|0)+12>>1]|0)&62)){r=s;return}if(((m[n>>1]|0)&26|0)!=(m[n>>1]|0|0)?((m[n>>1]|0)&38|0)!=(m[n>>1]|0|0):0){r=s;return}if(Uy(k[(k[k[e>>2]>>2]|0)+12>>2]|0,k[(k[k[f>>2]>>2]|0)+12>>2]|0,-1)|0){r=s;return}if(Uy(k[(k[k[e>>2]>>2]|0)+16>>2]|0,k[(k[k[f>>2]>>2]|0)+16>>2]|0,-1)|0){r=s;return}do if((m[n>>1]|0)&(m[n>>1]|0)-1)if((m[n>>1]|0)&24){j[n>>1]=8;break}else{j[n>>1]=32;break}while(0);k[g>>2]=k[k[k[k[l>>2]>>2]>>2]>>2];b=Sy(k[g>>2]|0,k[k[e>>2]>>2]|0,0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){r=s;return}k[p>>2]=37;while(1){e=k[p>>2]|0;if((m[n>>1]|0|0)==(2<<(k[p>>2]|0)-37|0))break;k[p>>2]=e+1}i[k[q>>2]>>0]=e;q=eF(k[l>>2]|0,k[q>>2]|0,3)|0;k[o>>2]=q;aF(k[h>>2]|0,k[l>>2]|0,k[o>>2]|0);r=s;return}function tF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+36|0;h=e+32|0;f=e+28|0;d=e;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+20>>0]=0;k[d+4>>2]=200;k[d+24>>2]=k[h>>2];Gy(d,k[g>>2]|0)|0;if(k[f>>2]|0){h=d+20|0;h=i[h>>0]|0;h=h<<24>>24!=0;h=h^1;h=h&1;r=e;return h|0}h=d+20|0;i[h>>0]=(l[h>>0]|0)&-3;h=d+20|0;h=i[h>>0]|0;h=h<<24>>24!=0;h=h^1;h=h&1;r=e;return h|0}function uF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;i=m+8|0;h=m;d=m+28|0;e=m+24|0;f=m+20|0;l=m+16|0;g=m+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[k[d>>2]>>2]|0;b=k[k[f>>2]>>2]|0;if((j[(k[f>>2]|0)+32>>1]|0)>=0){f=k[(k[(k[f>>2]|0)+4>>2]|0)+(j[(k[f>>2]|0)+32>>1]<<4)>>2]|0;k[h>>2]=b;k[h+4>>2]=f;f=Qh(a,30161,h)|0;k[l>>2]=f;k[g>>2]=1555;f=k[d>>2]|0;h=k[g>>2]|0;i=k[e>>2]|0;l=k[l>>2]|0;DA(f,h,i,l,-1,2);r=m;return}else{k[i>>2]=b;f=Qh(a,35219,i)|0;k[l>>2]=f;k[g>>2]=2579;f=k[d>>2]|0;h=k[g>>2]|0;i=k[e>>2]|0;l=k[l>>2]|0;DA(f,h,i,l,-1,2);r=m;return}}function vF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;j=l+20|0;m=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;a:do if(k[(k[k[m>>2]>>2]|0)+24>>2]&524288){c=k[e>>2]|0;if(!(k[f>>2]|0)){if(gy(c)|0)c=1;else c=(k[(k[e>>2]|0)+16>>2]|0)!=0;k[j>>2]=c&1;m=k[j>>2]|0;r=l;return m|0}k[h>>2]=k[c+16>>2];while(1){c=k[e>>2]|0;if(!(k[h>>2]|0))break;if(tD(c,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0)|0){i=9;break}k[h>>2]=k[(k[h>>2]|0)+4>>2]}if((i|0)==9){k[j>>2]=1;m=k[j>>2]|0;r=l;return m|0}m=gy(c)|0;k[h>>2]=m;while(1){if(!(k[h>>2]|0))break a;if(wD(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)break;k[h>>2]=k[(k[h>>2]|0)+12>>2]}k[j>>2]=1;m=k[j>>2]|0;r=l;return m|0}while(0);k[j>>2]=0;m=k[j>>2]|0;r=l;return m|0}function wF(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[b>>2]=a;i[(k[b>>2]|0)+20>>0]=1;r=c;return}function xF(a,b,c,d,e,f,g,h,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;p=K+48|0;q=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;k[p>>2]=a;k[q>>2]=b;k[t>>2]=c;k[u>>2]=d;k[v>>2]=e;k[w>>2]=f;j[x>>1]=g;i[y>>0]=h;i[z>>0]=m;i[A>>0]=n;k[s>>2]=o;k[I>>2]=k[(k[p>>2]|0)+8>>2];k[E>>2]=0;c=eA(k[I>>2]|0)|0;k[D>>2]=c;i[G>>0]=(l[(k[q>>2]|0)+42>>0]&32|0)==0?33:30;if(!(l[A>>0]|0))Sh(k[I>>2]|0,l[G>>0]|0,k[u>>2]|0,k[D>>2]|0,k[w>>2]|0,j[x>>1]|0)|0;c=(vF(k[p>>2]|0,k[q>>2]|0,0,0)|0)!=0;if(c|(k[t>>2]|0)!=0){c=zF(k[p>>2]|0,k[t>>2]|0,0,0,3,k[q>>2]|0,l[z>>0]|0)|0;k[F>>2]=c;c=AF(k[p>>2]|0,k[q>>2]|0)|0;k[F>>2]=k[F>>2]|c;k[E>>2]=(k[(k[p>>2]|0)+44>>2]|0)+1;c=(k[p>>2]|0)+44|0;k[c>>2]=(k[c>>2]|0)+(1+(j[(k[q>>2]|0)+34>>1]|0));sx(k[I>>2]|0,84,k[w>>2]|0,k[E>>2]|0)|0;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(j[(k[q>>2]|0)+34>>1]|0))break;if((k[F>>2]|0)!=-1){if((k[C>>2]|0)<=31?(k[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;XA(k[I>>2]|0,k[q>>2]|0,k[u>>2]|0,k[C>>2]|0,(k[E>>2]|0)+(k[C>>2]|0)+1|0)}k[C>>2]=(k[C>>2]|0)+1}J=Gx(k[I>>2]|0)|0;k[B>>2]=J;kD(k[p>>2]|0,k[t>>2]|0,109,0,1,k[q>>2]|0,k[E>>2]|0,l[z>>0]|0,k[D>>2]|0);J=k[B>>2]|0;if((J|0)<(Gx(k[I>>2]|0)|0))Sh(k[I>>2]|0,l[G>>0]|0,k[u>>2]|0,k[D>>2]|0,k[w>>2]|0,j[x>>1]|0)|0;pD(k[p>>2]|0,k[q>>2]|0,k[E>>2]|0,0,0,0)}if(k[(k[q>>2]|0)+12>>2]|0){a=k[p>>2]|0;H=k[q>>2]|0;G=k[E>>2]|0;BF(a,H,0,G,0,0);G=k[p>>2]|0;H=k[t>>2]|0;a=k[q>>2]|0;b=k[E>>2]|0;c=i[z>>0]|0;c=c&255;J=k[D>>2]|0;kD(G,H,109,0,2,a,b,c,J);I=k[I>>2]|0;J=k[D>>2]|0;iA(I,J);r=K;return}i[H>>0]=0;yF(k[p>>2]|0,k[q>>2]|0,k[u>>2]|0,k[v>>2]|0,0,k[s>>2]|0);sx(k[I>>2]|0,117,k[u>>2]|0,(l[y>>0]|0)!=0?1:0)|0;Wh(k[I>>2]|0,-1,k[q>>2]|0,-20);if(l[A>>0]|0)Th(k[I>>2]|0,4);if((k[s>>2]|0)>=0)aA(k[I>>2]|0,117,k[s>>2]|0)|0;if((l[A>>0]|0)==2)i[H>>0]=l[H>>0]|2;Th(k[I>>2]|0,i[H>>0]|0);a=k[p>>2]|0;H=k[q>>2]|0;G=k[E>>2]|0;BF(a,H,0,G,0,0);G=k[p>>2]|0;H=k[t>>2]|0;a=k[q>>2]|0;b=k[E>>2]|0;c=i[z>>0]|0;c=c&255;J=k[D>>2]|0;kD(G,H,109,0,2,a,b,c,J);I=k[I>>2]|0;J=k[D>>2]|0;iA(I,J);r=K;return}function yF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;h=y+48|0;g=y+44|0;i=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;v=y+20|0;q=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[v>>2]=-1;k[u>>2]=0;k[w>>2]=k[(k[h>>2]|0)+8>>2];if(!((l[(k[g>>2]|0)+42>>0]|0)&32))e=0;else e=Tj(k[g>>2]|0)|0;k[t>>2]=e;k[p>>2]=0;k[s>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[s>>2]|0))break;if(!((k[n>>2]|0)!=0?(k[(k[n>>2]|0)+(k[p>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(k[s>>2]|0)!=(k[t>>2]|0)):0)?((k[m>>2]|0)+(k[p>>2]|0)|0)!=(k[o>>2]|0):0){e=yA(k[h>>2]|0,k[s>>2]|0,k[i>>2]|0,0,1,q,k[u>>2]|0,k[v>>2]|0)|0;k[v>>2]=e;e=k[s>>2]|0;if((l[(k[s>>2]|0)+55>>0]|0)>>>3&1)e=j[e+50>>1]|0;else e=j[e+52>>1]|0;tx(k[w>>2]|0,127,(k[m>>2]|0)+(k[p>>2]|0)|0,k[v>>2]|0,e&65535)|0;zA(k[h>>2]|0,k[q>>2]|0);k[u>>2]=k[s>>2]}k[p>>2]=(k[p>>2]|0)+1;k[s>>2]=k[(k[s>>2]|0)+20>>2]}r=y;return}function zF(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;h=u+40|0;v=u+36|0;i=u+32|0;j=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;q=u+12|0;p=u+8|0;s=u+4|0;t=u;k[h>>2]=a;k[v>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[q>>2]=(k[i>>2]|0)!=0?110:109;k[p>>2]=0;k[s>>2]=k[v>>2];while(1){if(!(k[s>>2]|0))break;if((((l[(k[s>>2]|0)+8>>0]|0|0)==(k[q>>2]|0)?(k[m>>2]&(l[(k[s>>2]|0)+9>>0]|0)|0)!=0:0)?(FG(k[(k[s>>2]|0)+16>>2]|0,k[i>>2]|0)|0)!=0:0)?(v=EF(k[h>>2]|0,k[s>>2]|0,k[n>>2]|0,k[o>>2]|0)|0,k[t>>2]=v,(k[t>>2]|0)!=0):0)k[p>>2]=k[p>>2]|k[(k[t>>2]|0)+16+(k[j>>2]<<2)>>2];k[s>>2]=k[(k[s>>2]|0)+32>>2]}r=u;return k[p>>2]|0}function AF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;f=i+12|0;g=i+8|0;e=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(!(k[(k[k[c>>2]>>2]|0)+24>>2]&524288)){h=k[f>>2]|0;r=i;return h|0}k[g>>2]=k[(k[d>>2]|0)+16>>2];while(1){if(!(k[g>>2]|0))break;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0))break;if((k[(k[g>>2]|0)+36+(k[e>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(k[e>>2]<<3)>>2];k[f>>2]=k[f>>2]|a;k[e>>2]=(k[e>>2]|0)+1}k[g>>2]=k[(k[g>>2]|0)+4>>2]}b=gy(k[d>>2]|0)|0;k[g>>2]=b;while(1){if(!(k[g>>2]|0))break;k[h>>2]=0;LC(k[c>>2]|0,k[d>>2]|0,k[g>>2]|0,h,0)|0;a:do if(k[h>>2]|0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[h>>2]|0)+50>>1]|0))break a;if((j[(k[(k[h>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1];k[f>>2]=k[f>>2]|a;k[e>>2]=(k[e>>2]|0)+1}}while(0);k[g>>2]=k[(k[g>>2]|0)+12>>2]}h=k[f>>2]|0;r=i;return h|0}function BF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;l=q+12|0;m=q+8|0;o=q+4|0;n=q;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;if(!(k[(k[k[g>>2]>>2]|0)+24>>2]&524288)){r=q;return}d=gy(k[h>>2]|0)|0;k[o>>2]=d;while(1){if(!(k[o>>2]|0))break;if(!((k[l>>2]|0)!=0?(wD(k[h>>2]|0,k[o>>2]|0,k[l>>2]|0,k[m>>2]|0)|0)==0:0))p=6;if((p|0)==6?(p=0,d=CF(k[g>>2]|0,k[h>>2]|0,k[o>>2]|0,k[i>>2]|0)|0,k[n>>2]=d,(k[n>>2]|0)!=0):0)DF(k[g>>2]|0,k[n>>2]|0,k[h>>2]|0,k[j>>2]|0,2,0);k[o>>2]=k[(k[o>>2]|0)+12>>2]}r=q;return}function CF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=r;r=r+144|0;e=N+136|0;f=N+132|0;g=N+128|0;h=N+124|0;m=N+120|0;p=N+116|0;n=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;o=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;q=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[m>>2]=d;k[p>>2]=k[k[f>>2]>>2];k[s>>2]=(k[m>>2]|0)!=0&1;k[n>>2]=l[(k[h>>2]|0)+25+(k[s>>2]|0)>>0];if((k[n>>2]|0)==6?(k[(k[p>>2]|0)+24>>2]&33554432|0)!=0:0){k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}k[D>>2]=k[(k[h>>2]|0)+28+(k[s>>2]<<2)>>2];if(!((k[n>>2]|0)==0|(k[D>>2]|0)!=0)){k[x>>2]=0;k[o>>2]=0;k[C>>2]=0;k[F>>2]=0;k[y>>2]=0;k[B>>2]=0;k[E>>2]=0;if(LC(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,x,o)|0){k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[(k[h>>2]|0)+20>>2]|0))break;k[J>>2]=k[1369];k[J+4>>2]=k[1370];k[I>>2]=k[1371];k[I+4>>2]=k[1372];if(k[o>>2]|0)d=k[(k[o>>2]|0)+(k[q>>2]<<2)>>2]|0;else d=k[(k[h>>2]|0)+36>>2]|0;k[t>>2]=d;if(k[x>>2]|0)d=j[(k[(k[x>>2]|0)+4>>2]|0)+(k[q>>2]<<1)>>1]|0;else d=j[(k[g>>2]|0)+32>>1]|0;fz(K,k[(k[(k[g>>2]|0)+4>>2]|0)+(d<<16>>16<<4)>>2]|0);fz(H,k[(k[(k[k[h>>2]>>2]|0)+4>>2]|0)+(k[t>>2]<<4)>>2]|0);a=k[f>>2]|0;c=k[f>>2]|0;b=tw(k[p>>2]|0,55,J,0)|0;b=Ov(c,122,b,tw(k[p>>2]|0,55,K,0)|0,0)|0;b=Ov(a,37,b,tw(k[p>>2]|0,55,H,0)|0,0)|0;k[w>>2]=b;b=Gz(k[p>>2]|0,k[F>>2]|0,k[w>>2]|0)|0;k[F>>2]=b;if(k[m>>2]|0){d=k[f>>2]|0;a=k[f>>2]|0;c=tw(k[p>>2]|0,55,J,0)|0;c=Ov(a,122,c,tw(k[p>>2]|0,55,K,0)|0,0)|0;a=k[f>>2]|0;b=tw(k[p>>2]|0,55,I,0)|0;b=Ov(d,29,c,Ov(a,122,b,tw(k[p>>2]|0,55,K,0)|0,0)|0,0)|0;k[w>>2]=b;b=Gz(k[p>>2]|0,k[E>>2]|0,k[w>>2]|0)|0;k[E>>2]=b}if((k[n>>2]|0)!=6?(k[n>>2]|0)!=9|(k[m>>2]|0)!=0:0){do if((k[n>>2]|0)!=9){if((k[n>>2]|0)!=8){b=tw(k[p>>2]|0,101,0,0)|0;k[z>>2]=b;break}k[v>>2]=k[(k[(k[k[h>>2]>>2]|0)+4>>2]|0)+(k[t>>2]<<4)+4>>2];d=k[p>>2]|0;if(k[v>>2]|0){b=Sy(d,k[v>>2]|0,0)|0;k[z>>2]=b;break}else{b=tw(d,101,0,0)|0;k[z>>2]=b;break}}else{a=k[f>>2]|0;b=tw(k[p>>2]|0,55,I,0)|0;b=Ov(a,122,b,tw(k[p>>2]|0,55,K,0)|0,0)|0;k[z>>2]=b}while(0);b=bw(k[f>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[y>>2]=b;cw(k[f>>2]|0,k[y>>2]|0,H,0)}k[q>>2]=(k[q>>2]|0)+1}bg(k[p>>2]|0,k[o>>2]|0);k[L>>2]=k[k[k[h>>2]>>2]>>2];K=Tf(k[L>>2]|0)|0;k[u>>2]=K;if((k[n>>2]|0)==6){k[G>>2]=k[L>>2];k[G+4>>2]=k[u>>2];K=ew(k[p>>2]|0,83,35189)|0;k[A>>2]=K;if(k[A>>2]|0)i[(k[A>>2]|0)+1>>0]=2;I=k[f>>2]|0;J=bw(k[f>>2]|0,0,k[A>>2]|0)|0;K=iw(k[p>>2]|0,0,G,0)|0;K=aw(I,J,K,k[F>>2]|0,0,0,0,0,0,0)|0;k[B>>2]=K;k[F>>2]=0}K=(k[p>>2]|0)+256|0;k[K>>2]=(k[K>>2]|0)+1;K=Ch(k[p>>2]|0,72+(k[u>>2]|0)+1|0,0)|0;k[D>>2]=K;if((k[D>>2]|0)!=0?(K=(k[D>>2]|0)+36|0,k[(k[D>>2]|0)+28>>2]=K,k[C>>2]=K,k[(k[C>>2]|0)+12>>2]=(k[C>>2]|0)+36,bS(k[(k[C>>2]|0)+12>>2]|0,k[L>>2]|0,k[u>>2]|0)|0,L=Sy(k[p>>2]|0,k[F>>2]|0,1)|0,k[(k[C>>2]|0)+16>>2]=L,L=_y(k[p>>2]|0,k[y>>2]|0,1)|0,k[(k[C>>2]|0)+20>>2]=L,L=iy(k[p>>2]|0,k[B>>2]|0,1)|0,k[(k[C>>2]|0)+8>>2]=L,(k[E>>2]|0)!=0):0){L=Ov(k[f>>2]|0,19,k[E>>2]|0,0,0)|0;k[E>>2]=L;L=Sy(k[p>>2]|0,k[E>>2]|0,1)|0;k[(k[D>>2]|0)+12>>2]=L}L=(k[p>>2]|0)+256|0;k[L>>2]=(k[L>>2]|0)+-1;sv(k[p>>2]|0,k[F>>2]|0);sv(k[p>>2]|0,k[E>>2]|0);ov(k[p>>2]|0,k[y>>2]|0);pv(k[p>>2]|0,k[B>>2]|0);if((l[(k[p>>2]|0)+69>>0]|0|0)==1){EG(k[p>>2]|0,k[D>>2]|0);k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}switch(k[n>>2]|0){case 6:{i[k[C>>2]>>0]=119;break}case 9:{if(k[m>>2]|0)M=41;else i[k[C>>2]>>0]=109;break}default:M=41}if((M|0)==41)i[k[C>>2]>>0]=110;k[(k[C>>2]|0)+4>>2]=k[D>>2];k[(k[D>>2]|0)+20>>2]=k[(k[g>>2]|0)+64>>2];k[(k[D>>2]|0)+24>>2]=k[(k[g>>2]|0)+64>>2];k[(k[h>>2]|0)+28+(k[s>>2]<<2)>>2]=k[D>>2];i[(k[D>>2]|0)+8>>0]=(k[m>>2]|0)!=0?110:109}k[e>>2]=k[D>>2];M=k[e>>2]|0;r=N;return M|0}function DF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;o=r;r=r+48|0;h=o+32|0;g=o+28|0;q=o+24|0;i=o+20|0;p=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[h>>2]=a;k[g>>2]=b;k[q>>2]=c;k[i>>2]=d;k[p>>2]=e;k[j>>2]=f;d=nx(k[h>>2]|0)|0;k[n>>2]=d;d=EF(k[h>>2]|0,k[g>>2]|0,k[q>>2]|0,k[p>>2]|0)|0;k[m>>2]=d;if(!(k[m>>2]|0)){r=o;return}if(k[k[g>>2]>>2]|0)g=0==(k[(k[k[h>>2]>>2]|0)+24>>2]&262144|0);else g=0;k[l>>2]=g&1;d=k[n>>2]|0;i=k[i>>2]|0;p=k[j>>2]|0;j=(k[h>>2]|0)+44|0;q=(k[j>>2]|0)+1|0;k[j>>2]=q;wx(d,64,i,p,q,k[(k[m>>2]|0)+8>>2]|0,-18)|0;Th(k[n>>2]|0,k[l>>2]&255);r=o;return}function EF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=k[e>>2]|0;if(k[(k[e>>2]|0)+124>>2]|0)d=k[d+124>>2]|0;k[j>>2]=d;k[i>>2]=k[(k[j>>2]|0)+468>>2];while(1){if(!(k[i>>2]|0))break;if((k[k[i>>2]>>2]|0)==(k[f>>2]|0)?(k[(k[i>>2]|0)+12>>2]|0)==(k[h>>2]|0):0)break;k[i>>2]=k[(k[i>>2]|0)+4>>2]}if(k[i>>2]|0){j=k[i>>2]|0;r=l;return j|0}j=FF(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=j;j=k[i>>2]|0;r=l;return j|0}function FF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+96|0;w=x;e=x+84|0;f=x+80|0;g=x+76|0;h=x+72|0;j=x+68|0;s=x+64|0;m=x+60|0;o=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;p=x+12|0;q=x+8|0;n=x+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;d=k[f>>2]|0;if(k[(k[f>>2]|0)+124>>2]|0)d=k[d+124>>2]|0;k[s>>2]=d;k[m>>2]=k[k[f>>2]>>2];k[t>>2]=0;k[p>>2]=0;k[n>>2]=0;b=Ch(k[m>>2]|0,24,0)|0;k[o>>2]=b;if(!(k[o>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0}k[(k[o>>2]|0)+4>>2]=k[(k[s>>2]|0)+468>>2];k[(k[s>>2]|0)+468>>2]=k[o>>2];b=Ch(k[m>>2]|0,24,0)|0;k[p>>2]=b;k[(k[o>>2]|0)+8>>2]=b;if(!(k[p>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0}GF(k[(k[s>>2]|0)+8>>2]|0,k[p>>2]|0);k[k[o>>2]>>2]=k[g>>2];k[(k[o>>2]|0)+12>>2]=k[j>>2];k[(k[o>>2]|0)+16>>2]=-1;k[(k[o>>2]|0)+16+4>>2]=-1;b=Ch(k[m>>2]|0,480,0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0};k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[u+16>>2]=0;k[u+20>>2]=0;k[u+24>>2]=0;k[u+28>>2]=0;k[u>>2]=k[q>>2];k[k[q>>2]>>2]=k[m>>2];k[(k[q>>2]|0)+128>>2]=k[h>>2];k[(k[q>>2]|0)+124>>2]=k[s>>2];k[(k[q>>2]|0)+448>>2]=k[k[g>>2]>>2];i[(k[q>>2]|0)+148>>0]=i[(k[g>>2]|0)+8>>0]|0;k[(k[q>>2]|0)+136>>2]=k[(k[f>>2]|0)+136>>2];h=nx(k[q>>2]|0)|0;k[v>>2]=h;if(k[v>>2]|0){b=k[v>>2]|0;h=k[m>>2]|0;k[w>>2]=k[k[g>>2]>>2];Wh(b,-1,Qh(h,34884,w)|0,-1);if(k[(k[g>>2]|0)+12>>2]|0){w=Sy(k[m>>2]|0,k[(k[g>>2]|0)+12>>2]|0,0)|0;k[t>>2]=w;if(0==(Ky(u,k[t>>2]|0)|0)?(l[(k[m>>2]|0)+69>>0]|0|0)==0:0){w=eA(k[v>>2]|0)|0;k[n>>2]=w;sB(k[q>>2]|0,k[t>>2]|0,k[n>>2]|0,16)}sv(k[m>>2]|0,k[t>>2]|0)}HF(k[q>>2]|0,k[(k[g>>2]|0)+28>>2]|0,k[j>>2]|0)|0;if(k[n>>2]|0)iA(k[v>>2]|0,k[n>>2]|0);px(k[v>>2]|0,75)|0;IF(k[f>>2]|0,k[q>>2]|0);if(!(l[(k[m>>2]|0)+69>>0]|0)){w=JF(k[v>>2]|0,(k[p>>2]|0)+4|0,(k[s>>2]|0)+108|0)|0;k[k[p>>2]>>2]=w}k[(k[p>>2]|0)+8>>2]=k[(k[q>>2]|0)+44>>2];k[(k[p>>2]|0)+12>>2]=k[(k[q>>2]|0)+40>>2];k[(k[p>>2]|0)+16>>2]=k[g>>2];k[(k[o>>2]|0)+16>>2]=k[(k[q>>2]|0)+140>>2];k[(k[o>>2]|0)+16+4>>2]=k[(k[q>>2]|0)+144>>2];mv(k[v>>2]|0)}Zh(k[q>>2]|0);bg(k[m>>2]|0,k[q>>2]|0);k[e>>2]=k[o>>2];w=k[e>>2]|0;r=x;return w|0}function GF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[e>>2]|0)+20>>2]=k[(k[d>>2]|0)+200>>2];k[(k[d>>2]|0)+200>>2]=k[e>>2];r=c;return}function HF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+64|0;d=n+52|0;o=n+48|0;e=n+44|0;h=n+40|0;m=n+36|0;f=n+32|0;j=n+8|0;g=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[m>>2]=k[(k[d>>2]|0)+8>>2];k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[o>>2];while(1){if(!(k[h>>2]|0))break;if((k[e>>2]|0)==10)c=i[(k[h>>2]|0)+1>>0]|0;else c=k[e>>2]&255;i[(k[d>>2]|0)+149>>0]=c;switch(l[k[h>>2]>>0]|0|0){case 110:{a=k[d>>2]|0;b=DG(k[d>>2]|0,k[h>>2]|0)|0;o=_y(k[f>>2]|0,k[(k[h>>2]|0)+20>>2]|0,0)|0;ow(a,b,o,Sy(k[f>>2]|0,k[(k[h>>2]|0)+16>>2]|0,0)|0,l[(k[d>>2]|0)+149>>0]|0);break}case 108:{a=k[d>>2]|0;b=DG(k[d>>2]|0,k[h>>2]|0)|0;o=iy(k[f>>2]|0,k[(k[h>>2]|0)+8>>2]|0,0)|0;qw(a,b,o,Sz(k[f>>2]|0,k[(k[h>>2]|0)+24>>2]|0)|0,l[(k[d>>2]|0)+149>>0]|0);break}case 109:{o=k[d>>2]|0;mw(o,DG(k[d>>2]|0,k[h>>2]|0)|0,Sy(k[f>>2]|0,k[(k[h>>2]|0)+16>>2]|0,0)|0);break}default:{o=iy(k[f>>2]|0,k[(k[h>>2]|0)+8>>2]|0,0)|0;k[g>>2]=o;FB(j,4,0);Zv(k[d>>2]|0,k[g>>2]|0,j)|0;pv(k[f>>2]|0,k[g>>2]|0)}}if((l[k[h>>2]>>0]|0|0)!=119)px(k[m>>2]|0,118)|0;k[h>>2]=k[(k[h>>2]|0)+28>>2]}r=n;return 0}function IF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;b=k[d>>2]|0;if(!(k[(k[c>>2]|0)+36>>2]|0)){k[(k[c>>2]|0)+4>>2]=k[b+4>>2];k[(k[c>>2]|0)+36>>2]=k[(k[d>>2]|0)+36>>2];k[(k[c>>2]|0)+12>>2]=k[(k[d>>2]|0)+12>>2];r=e;return}else{bg(k[b>>2]|0,k[(k[d>>2]|0)+4>>2]|0);r=e;return}}function JF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;g=e+8|0;h=e+4|0;d=e;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[d>>2]=k[(k[f>>2]|0)+88>>2];KF(k[f>>2]|0,k[h>>2]|0);k[k[g>>2]>>2]=k[(k[f>>2]|0)+136>>2];k[(k[f>>2]|0)+88>>2]=0;r=e;return k[d>>2]|0}function KF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0;o=r;r=r+32|0;c=o+24|0;d=o+20|0;g=o+16|0;h=o+12|0;m=o+8|0;e=o+4|0;f=o;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[k[d>>2]>>2];k[m>>2]=k[(k[c>>2]|0)+12>>2];k[e>>2]=k[(k[m>>2]|0)+76>>2];b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-129|128;b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-257;k[h>>2]=(k[(k[c>>2]|0)+88>>2]|0)+(((k[(k[c>>2]|0)+136>>2]|0)-1|0)*20|0);while(1){if((l[k[h>>2]>>0]|0|0)<=71){switch(l[k[h>>2]>>0]|0|0){case 2:{if(k[(k[h>>2]|0)+8>>2]|0){n=(k[c>>2]|0)+144|0;j[n>>1]=j[n>>1]&-129;n=6}else n=6;break}case 0:case 1:{n=6;break}case 9:case 10:case 8:{b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-129;b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-257|256;break}case 12:{if((k[(k[h>>2]|0)+8>>2]|0)>(k[g>>2]|0))k[g>>2]=k[(k[h>>2]|0)+8>>2];break}case 11:{k[f>>2]=k[(k[h>>2]|0)+-20+4>>2];if((k[f>>2]|0)>(k[g>>2]|0))k[g>>2]=k[f>>2];break}case 3:case 5:case 7:{k[(k[h>>2]|0)+16>>2]=201;i[(k[h>>2]|0)+1>>0]=-19;break}case 4:case 6:{k[(k[h>>2]|0)+16>>2]=202;i[(k[h>>2]|0)+1>>0]=-19;break}default:{}}if((n|0)==6){n=0;b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-257|256}if(((l[34898+(l[k[h>>2]>>0]|0)>>0]|0)&1|0)!=0?(k[(k[h>>2]|0)+8>>2]|0)<0:0)k[(k[h>>2]|0)+8>>2]=k[(k[e>>2]|0)+(-1-(k[(k[h>>2]|0)+8>>2]|0)<<2)>>2]}if((k[h>>2]|0)==(k[(k[c>>2]|0)+88>>2]|0))break;k[h>>2]=(k[h>>2]|0)+-20}bg(k[k[c>>2]>>2]|0,k[(k[m>>2]|0)+76>>2]|0);k[(k[m>>2]|0)+76>>2]=0;k[(k[m>>2]|0)+72>>2]=0;k[k[d>>2]>>2]=k[g>>2];r=o;return}function LF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;j[(k[d>>2]|0)+16+18>>1]=0;a=(k[d>>2]|0)+64|0;i[a>>0]=l[a>>0]&-7;k[k[e>>2]>>2]=0;a=k[d>>2]|0;if((l[(k[d>>2]|0)+66>>0]|0)!=1){f=BG(a,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}k[f>>2]=k[(k[d>>2]|0)+120+(i[a+68>>0]<<2)>>2];a=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;b=(j[a>>1]|0)+1<<16>>16;j[a>>1]=b;if((b&65535|0)>=(m[(k[f>>2]|0)+18>>1]|0)){f=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;j[f>>1]=(j[f>>1]|0)+-1<<16>>16;f=BG(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}if(i[(k[f>>2]|0)+4>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{f=CG(k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}return 0}function MF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;k[k[e>>2]>>2]=0;b=(k[d>>2]|0)+64|0;i[b>>0]=l[b>>0]&-15;j[(k[d>>2]|0)+16+18>>1]=0;if(((l[(k[d>>2]|0)+66>>0]|0)==1?(m[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(l[(k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){b=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;j[b>>1]=(j[b>>1]|0)+-1<<16>>16;k[c>>2]=0;b=k[c>>2]|0;r=f;return b|0}b=NF(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}function NF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;h=o+8|0;g=o+4|0;c=o;k[e>>2]=a;k[f>>2]=b;if((l[(k[e>>2]|0)+66>>0]|0)!=1){if((l[(k[e>>2]|0)+66>>0]|0)>=3)a=OF(k[e>>2]|0)|0;else a=0;k[h>>2]=a;if(k[h>>2]|0){k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}if(!(l[(k[e>>2]|0)+66>>0]|0)){k[k[f>>2]>>2]=1;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}if((k[(k[e>>2]|0)+60>>2]|0)!=0?(i[(k[e>>2]|0)+66>>0]=1,b=(k[(k[e>>2]|0)+60>>2]|0)<0,k[(k[e>>2]|0)+60>>2]=0,b):0){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}}k[g>>2]=k[(k[e>>2]|0)+120+(i[(k[e>>2]|0)+68>>0]<<2)>>2];do if(i[(k[g>>2]|0)+4>>0]|0){while(1){a=i[(k[e>>2]|0)+68>>0]|0;if(m[(k[e>>2]|0)+80+(i[(k[e>>2]|0)+68>>0]<<1)>>1]|0)break;b=k[e>>2]|0;if(!a){n=17;break}RF(b)}if((n|0)==17){i[b+66>>0]=0;k[k[f>>2]>>2]=1;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}n=(k[e>>2]|0)+80+(a<<1)|0;j[n>>1]=(j[n>>1]|0)+-1<<16>>16;k[g>>2]=k[(k[e>>2]|0)+120+(i[(k[e>>2]|0)+68>>0]<<2)>>2];if((l[(k[g>>2]|0)+2>>0]|0)!=0?(i[(k[g>>2]|0)+4>>0]|0)==0:0){n=MF(k[e>>2]|0,k[f>>2]|0)|0;k[h>>2]=n;break}k[h>>2]=0}else{k[c>>2]=m[(k[e>>2]|0)+80+(i[(k[e>>2]|0)+68>>0]<<1)>>1];n=k[e>>2]|0;n=PF(n,qr((k[(k[g>>2]|0)+56>>2]|0)+(m[(k[g>>2]|0)+20>>1]&(l[(k[(k[g>>2]|0)+64>>2]|0)+(k[c>>2]<<1)>>0]<<8|l[(k[(k[g>>2]|0)+64>>2]|0)+(k[c>>2]<<1)+1>>0]))|0)|0)|0;k[h>>2]=n;if(!(k[h>>2]|0)){n=QF(k[e>>2]|0)|0;k[h>>2]=n;break}k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}while(0);k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}function OF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;a=k[c>>2]|0;if((l[(k[c>>2]|0)+66>>0]|0|0)==4){k[b>>2]=k[a+60>>2];e=k[b>>2]|0;r=f;return e|0}i[a+66>>0]=0;a=(k[c>>2]|0)+40|0;a=VF(k[c>>2]|0,k[(k[c>>2]|0)+48>>2]|0,k[a>>2]|0,k[a+4>>2]|0,0,e)|0;k[d>>2]=a;if(((k[d>>2]|0)==0?(Ud(k[(k[c>>2]|0)+48>>2]|0),k[(k[c>>2]|0)+48>>2]=0,a=(k[c>>2]|0)+60|0,k[a>>2]=k[a>>2]|k[e>>2],(k[(k[c>>2]|0)+60>>2]|0)!=0):0)?(l[(k[c>>2]|0)+66>>0]|0|0)==1:0)i[(k[c>>2]|0)+66>>0]=2;k[b>>2]=k[d>>2];e=k[b>>2]|0;r=f;return e|0}function PF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[d>>2]|0)+4>>2];if((i[(k[d>>2]|0)+68>>0]|0)>=19){a=_j(63009)|0;k[c>>2]=a;a=k[c>>2]|0;r=g;return a|0}else{j[(k[d>>2]|0)+16+18>>1]=0;a=(k[d>>2]|0)+64|0;i[a>>0]=l[a>>0]&-7;a=(k[d>>2]|0)+68|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;j[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]=0;a=SF(k[f>>2]|0,k[e>>2]|0,(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)|0,k[d>>2]|0,l[(k[d>>2]|0)+65>>0]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=g;return a|0}return 0}function QF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;g=h+4|0;c=h;k[f>>2]=a;k[g>>2]=0;k[c>>2]=0;while(1){a=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0;k[c>>2]=a;b=k[c>>2]|0;if(!((i[a+4>>0]|0)!=0^1)){a=5;break}b=qr((k[(k[c>>2]|0)+56>>2]|0)+((l[b+5>>0]|0)+8)|0)|0;k[d>>2]=b;j[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]=j[(k[c>>2]|0)+18>>1]|0;b=PF(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=b;if(k[g>>2]|0){a=4;break}}if((a|0)==4){k[e>>2]=k[g>>2];g=k[e>>2]|0;r=h;return g|0}else if((a|0)==5){j[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]=(m[b+18>>1]|0)-1;k[e>>2]=0;g=k[e>>2]|0;r=h;return g|0}return 0}function RF(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;k[c>>2]=a;j[(k[c>>2]|0)+16+18>>1]=0;d=(k[c>>2]|0)+64|0;i[d>>0]=(l[d>>0]|0)&-7;d=(k[c>>2]|0)+68|0;a=i[d>>0]|0;i[d>>0]=a+-1<<24>>24;aC(k[(k[c>>2]|0)+120+(a<<24>>24<<2)>>2]|0);r=b;return}function SF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;f=s+28|0;g=s+24|0;h=s+20|0;j=s+16|0;n=s+12|0;o=s+8|0;q=s+4|0;p=s;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[n>>2]=d;k[o>>2]=e;c=k[h>>2]|0;a:do if(c>>>0<=(TF(k[g>>2]|0)|0)>>>0){c=Fg(k[k[g>>2]>>2]|0,k[h>>2]|0,p,k[o>>2]|0)|0;k[q>>2]=c;if(!(k[q>>2]|0)){c=cu(k[p>>2]|0)|0;k[k[j>>2]>>2]=c;if((l[k[k[j>>2]>>2]>>0]|0|0)==0?(UF(k[p>>2]|0,k[h>>2]|0,k[g>>2]|0)|0,c=eu(k[k[j>>2]>>2]|0)|0,k[q>>2]=c,(k[q>>2]|0)!=0):0){_B(k[k[j>>2]>>2]|0);break}do if(k[n>>2]|0){if((m[(k[k[j>>2]>>2]|0)+18>>1]|0|0)>=1?(l[(k[k[j>>2]>>2]|0)+2>>0]|0|0)==(l[(k[n>>2]|0)+69>>0]|0|0):0)break;c=_j(60266)|0;k[q>>2]=c;_B(k[k[j>>2]>>2]|0);break a}while(0);k[f>>2]=0;q=k[f>>2]|0;r=s;return q|0}}else{c=_j(60244)|0;k[q>>2]=c}while(0);if(k[n>>2]|0){c=(k[n>>2]|0)+68|0;i[c>>0]=(i[c>>0]|0)+-1<<24>>24}k[f>>2]=k[q>>2];q=k[f>>2]|0;r=s;return q|0}function TF(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+44>>2]|0}function UF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=cu(k[d>>2]|0)|0;k[g>>2]=b;if((k[e>>2]|0)==(k[(k[g>>2]|0)+84>>2]|0)){b=k[g>>2]|0;r=h;return b|0}b=Gg(k[d>>2]|0)|0;k[(k[g>>2]|0)+56>>2]=b;k[(k[g>>2]|0)+72>>2]=k[d>>2];k[(k[g>>2]|0)+52>>2]=k[f>>2];k[(k[g>>2]|0)+84>>2]=k[e>>2];i[(k[g>>2]|0)+5>>0]=(k[e>>2]|0)==1?100:0;b=k[g>>2]|0;r=h;return b|0}function VF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+432|0;g=s+36|0;h=s+32|0;i=s+28|0;j=s;l=s+24|0;n=s+20|0;q=s+16|0;p=s+12|0;o=s+8|0;k[h>>2]=a;k[i>>2]=b;b=j;k[b>>2]=c;k[b+4>>2]=d;k[l>>2]=e;k[n>>2]=f;k[o>>2]=0;if(k[i>>2]|0){f=WF(k[(k[h>>2]|0)+72>>2]|0,s+40|0,384,o)|0;k[p>>2]=f;if(!(k[p>>2]|0)){k[g>>2]=7;q=k[g>>2]|0;r=s;return q|0}XF(k[(k[h>>2]|0)+72>>2]|0,k[j>>2]|0,k[i>>2]|0,k[p>>2]|0);if(!(m[(k[p>>2]|0)+8>>1]|0)){bg(k[(k[(k[h>>2]|0)+72>>2]|0)+12>>2]|0,k[o>>2]|0);q=_j(59021)|0;k[g>>2]=q;q=k[g>>2]|0;r=s;return q|0}}else k[p>>2]=0;f=j;f=YF(k[h>>2]|0,k[p>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[q>>2]=f;if(k[o>>2]|0)bg(k[(k[(k[h>>2]|0)+72>>2]|0)+12>>2]|0,k[o>>2]|0);k[g>>2]=k[q>>2];q=k[g>>2]|0;r=s;return q|0}function WF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;p=o+16|0;h=o+12|0;n=o+8|0;l=o+4|0;i=o;k[f>>2]=a;k[g>>2]=b;k[p>>2]=c;k[h>>2]=d;k[l>>2]=8-(k[g>>2]&7)&7;k[i>>2]=16+(((m[(k[f>>2]|0)+6>>1]|0)+1|0)*40|0);if((k[i>>2]|0)>((k[p>>2]|0)+(k[l>>2]|0)|0)){p=k[i>>2]|0;p=Mh(k[(k[f>>2]|0)+12>>2]|0,p,((p|0)<0)<<31>>31)|0;k[n>>2]=p;k[k[h>>2]>>2]=k[n>>2];if(!(k[n>>2]|0)){k[e>>2]=0;p=k[e>>2]|0;r=o;return p|0}}else{k[n>>2]=(k[g>>2]|0)+(k[l>>2]|0);k[k[h>>2]>>2]=0}k[(k[n>>2]|0)+4>>2]=(k[n>>2]|0)+16;k[k[n>>2]>>2]=k[f>>2];j[(k[n>>2]|0)+8>>1]=(m[(k[f>>2]|0)+6>>1]|0)+1;k[e>>2]=k[n>>2];p=k[e>>2]|0;r=o;return p|0}function XF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;e=u+36|0;f=u+32|0;v=u+28|0;s=u+24|0;g=u+20|0;h=u+16|0;n=u+12|0;t=u+40|0;q=u+8|0;o=u+4|0;p=u;k[e>>2]=a;k[f>>2]=b;k[v>>2]=c;k[s>>2]=d;k[g>>2]=k[v>>2];k[o>>2]=k[(k[s>>2]|0)+4>>2];i[(k[s>>2]|0)+10>>0]=0;b=k[g>>2]|0;if((l[k[g>>2]>>0]|0|0)<128){k[q>>2]=l[b>>0];b=1}else b=(lG(b,q)|0)&255;k[n>>2]=b&255;k[h>>2]=k[q>>2];j[t>>1]=0;while(1){if((k[n>>2]|0)>>>0>=(k[q>>2]|0)>>>0){b=11;break}if((k[h>>2]|0)>(k[f>>2]|0)){b=11;break}b=(k[g>>2]|0)+(k[n>>2]|0)|0;if((l[(k[g>>2]|0)+(k[n>>2]|0)>>0]|0|0)<128){k[p>>2]=l[b>>0];b=1}else b=(lG(b,p)|0)&255;k[n>>2]=(k[n>>2]|0)+(b&255);i[(k[o>>2]|0)+10>>0]=i[(k[e>>2]|0)+4>>0]|0;k[(k[o>>2]|0)+32>>2]=k[(k[e>>2]|0)+12>>2];k[(k[o>>2]|0)+24>>2]=0;k[(k[o>>2]|0)+16>>2]=0;v=nG((k[g>>2]|0)+(k[h>>2]|0)|0,k[p>>2]|0,k[o>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+v;k[o>>2]=(k[o>>2]|0)+40;v=(j[t>>1]|0)+1<<16>>16;j[t>>1]=v;if((v&65535|0)>=(m[(k[s>>2]|0)+8>>1]|0|0)){b=11;break}}if((b|0)==11){j[(k[s>>2]|0)+8>>1]=j[t>>1]|0;r=u;return}}function YF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;g=F+80|0;h=F+76|0;n=F+72|0;o=F+8|0;p=F+68|0;q=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;k[h>>2]=a;k[n>>2]=b;b=o;k[b>>2]=c;k[b+4>>2]=d;k[p>>2]=e;k[q>>2]=f;if(((k[n>>2]|0)==0?(l[(k[h>>2]|0)+66>>0]|0)==1:0)?(l[(k[h>>2]|0)+64>>0]&2|0)!=0:0){b=(k[h>>2]|0)+16|0;f=o;if((k[b>>2]|0)==(k[f>>2]|0)?(k[b+4>>2]|0)==(k[f+4>>2]|0):0){k[k[q>>2]>>2]=0;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}if((l[(k[h>>2]|0)+64>>0]&8|0)!=0?(b=(k[h>>2]|0)+16|0,e=k[b+4>>2]|0,f=o,a=k[f+4>>2]|0,(e|0)<(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0<(k[f>>2]|0)>>>0:0)):0){k[k[q>>2]>>2]=-1;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}}if(k[n>>2]|0){f=ZF(k[n>>2]|0)|0;k[E>>2]=f;i[(k[n>>2]|0)+11>>0]=0}else k[E>>2]=0;f=_F(k[h>>2]|0)|0;k[C>>2]=f;if(k[C>>2]|0){k[g>>2]=k[C>>2];E=k[g>>2]|0;r=F;return E|0}if(!(l[(k[h>>2]|0)+66>>0]|0)){k[k[q>>2]>>2]=-1;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}a:do{k[B>>2]=k[(k[h>>2]|0)+120+(i[(k[h>>2]|0)+68>>0]<<2)>>2];k[v>>2]=0;k[D>>2]=(m[(k[B>>2]|0)+18>>1]|0)-1;k[u>>2]=k[D>>2]>>1-(k[p>>2]|0);j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];b:do if(!(k[E>>2]|0)){while(1){k[y>>2]=(k[(k[B>>2]|0)+68>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)+1>>0]));c:do if(i[(k[B>>2]|0)+3>>0]|0)while(1){f=k[y>>2]|0;k[y>>2]=f+1;if(128>(l[f>>0]|0))break c;if((k[y>>2]|0)>>>0>=(k[(k[B>>2]|0)+60>>2]|0)>>>0){d=20;break a}}while(0);mu(k[y>>2]|0,x)|0;b=x;e=k[b+4>>2]|0;f=o;a=k[f+4>>2]|0;if((e|0)<(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0<(k[f>>2]|0)>>>0:0)){k[v>>2]=(k[u>>2]|0)+1;if((k[v>>2]|0)>(k[D>>2]|0)){d=23;break}}else{b=x;e=k[b+4>>2]|0;f=o;a=k[f+4>>2]|0;if(!((e|0)>(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0:0))){d=27;break}k[D>>2]=(k[u>>2]|0)-1;if((k[v>>2]|0)>(k[D>>2]|0)){d=26;break}}k[u>>2]=(k[v>>2]|0)+(k[D>>2]|0)>>1}if((d|0)==23){k[s>>2]=-1;d=51;break}else if((d|0)==26){k[s>>2]=1;d=51;break}else if((d|0)==27){d=0;a=(k[h>>2]|0)+64|0;i[a>>0]=l[a>>0]|2;a=x;b=k[a+4>>2]|0;f=(k[h>>2]|0)+16|0;k[f>>2]=k[a>>2];k[f+4>>2]=b;j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];if(i[(k[B>>2]|0)+4>>0]|0){d=29;break a}k[v>>2]=k[u>>2];break}}else while(1){k[y>>2]=(k[(k[B>>2]|0)+68>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)+1>>0]));k[w>>2]=l[k[y>>2]>>0];do if((k[w>>2]|0)<=(l[(k[B>>2]|0)+7>>0]|0)){f=Yb[k[E>>2]&255](k[w>>2]|0,(k[y>>2]|0)+1|0,k[n>>2]|0)|0;k[s>>2]=f}else{if((l[(k[y>>2]|0)+1>>0]&128|0)==0?(f=((k[w>>2]&127)<<7)+(l[(k[y>>2]|0)+1>>0]|0)|0,k[w>>2]=f,(f|0)<=(m[(k[B>>2]|0)+10>>1]|0)):0){f=Yb[k[E>>2]&255](k[w>>2]|0,(k[y>>2]|0)+2|0,k[n>>2]|0)|0;k[s>>2]=f;break}k[z>>2]=(k[y>>2]|0)+(0-(l[(k[B>>2]|0)+6>>0]|0));cc[k[(k[B>>2]|0)+80>>2]&255](k[B>>2]|0,k[z>>2]|0,(k[h>>2]|0)+16|0);k[w>>2]=k[(k[h>>2]|0)+16>>2];if((k[w>>2]|0)<2){d=37;break a}f=(k[w>>2]|0)+18|0;f=jg(f,((f|0)<0)<<31>>31)|0;k[A>>2]=f;if(!(k[A>>2]|0)){d=39;break a}j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];f=$F(k[h>>2]|0,0,k[w>>2]|0,k[A>>2]|0,2)|0;k[C>>2]=f;if(k[C>>2]|0){d=41;break a}f=Yb[k[E>>2]&255](k[w>>2]|0,k[A>>2]|0,k[n>>2]|0)|0;k[s>>2]=f;Ud(k[A>>2]|0)}while(0);if((k[s>>2]|0)<0)k[v>>2]=(k[u>>2]|0)+1;else{if((k[s>>2]|0)<=0){d=47;break a}k[D>>2]=(k[u>>2]|0)-1}if((k[v>>2]|0)>(k[D>>2]|0)){d=51;break b}k[u>>2]=(k[v>>2]|0)+(k[D>>2]|0)>>1}while(0);if((d|0)==51?(d=0,(i[(k[B>>2]|0)+4>>0]|0)!=0):0){d=52;break}c=k[B>>2]|0;if((k[v>>2]|0)>=(m[(k[B>>2]|0)+18>>1]|0)){f=qr((k[(k[B>>2]|0)+56>>2]|0)+((l[c+5>>0]|0)+8)|0)|0;k[t>>2]=f}else{f=qr((k[c+56>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[v>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[v>>2]<<1)+1>>0]))|0)|0;k[t>>2]=f}j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[v>>2];f=PF(k[h>>2]|0,k[t>>2]|0)|0;k[C>>2]=f}while((k[C>>2]|0)==0);if((d|0)==20){E=_j(63387)|0;k[g>>2]=E;E=k[g>>2]|0;r=F;return E|0}else if((d|0)==29){k[k[q>>2]>>2]=0;k[C>>2]=0}else if((d|0)==37){E=_j(63460)|0;k[C>>2]=E}else if((d|0)==39)k[C>>2]=7;else if((d|0)==41)Ud(k[A>>2]|0);else if((d|0)==47){k[k[q>>2]>>2]=0;k[C>>2]=0;j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];if(i[(k[n>>2]|0)+11>>0]|0)k[C>>2]=11}else if((d|0)==52){j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];k[k[q>>2]>>2]=k[s>>2];k[C>>2]=0}j[(k[h>>2]|0)+16+18>>1]=0;E=(k[h>>2]|0)+64|0;i[E>>0]=l[E>>0]&-7;k[g>>2]=k[C>>2];E=k[g>>2]|0;r=F;return E|0}function ZF(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(((m[(k[k[c>>2]>>2]|0)+6>>1]|0)+(m[(k[k[c>>2]>>2]|0)+8>>1]|0)|0)<=13){k[d>>2]=m[(k[(k[c>>2]|0)+4>>2]|0)+8>>1];a=(k[c>>2]|0)+12|0;if(i[k[(k[k[c>>2]>>2]|0)+16>>2]>>0]|0){i[a>>0]=1;i[(k[c>>2]|0)+13>>0]=-1}else{i[a>>0]=-1;i[(k[c>>2]|0)+13>>0]=1}if(k[d>>2]&4){k[b>>2]=160;d=k[b>>2]|0;r=e;return d|0}if((k[d>>2]&25|0)==0?(k[(k[k[c>>2]>>2]|0)+20>>2]|0)==0:0){k[b>>2]=161;d=k[b>>2]|0;r=e;return d|0}}k[b>>2]=162;d=k[b>>2]|0;r=e;return d|0}function _F(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[e>>2]=0;do if((l[(k[c>>2]|0)+66>>0]|0)>=3){a=k[c>>2]|0;if((l[(k[c>>2]|0)+66>>0]|0)!=4){ZB(a);break}k[b>>2]=k[a+60>>2];f=k[b>>2]|0;r=g;return f|0}while(0);a:do if((i[(k[c>>2]|0)+68>>0]|0)>=0)while(1){if(!(i[(k[c>>2]|0)+68>>0]|0))break a;h=(k[c>>2]|0)+68|0;a=i[h>>0]|0;i[h>>0]=a+-1<<24>>24;aC(k[(k[c>>2]|0)+120+(a<<24>>24<<2)>>2]|0)}else{a=k[c>>2]|0;if(!(k[(k[c>>2]|0)+52>>2]|0)){i[a+66>>0]=0;k[b>>2]=0;h=k[b>>2]|0;r=g;return h|0}a=SF(k[(k[a>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+52>>2]|0,(k[c>>2]|0)+120|0,0,l[(k[c>>2]|0)+65>>0]|0)|0;k[e>>2]=a;a=k[c>>2]|0;if(!(k[e>>2]|0)){i[a+68>>0]=0;i[(k[c>>2]|0)+69>>0]=i[(k[(k[c>>2]|0)+120>>2]|0)+2>>0]|0;break}i[a+66>>0]=0;k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}while(0);k[d>>2]=k[(k[c>>2]|0)+120>>2];if((l[k[d>>2]>>0]|0)!=0?((k[(k[c>>2]|0)+72>>2]|0)==0|0)==(l[(k[d>>2]|0)+2>>0]|0):0){j[(k[c>>2]|0)+80>>1]=0;j[(k[c>>2]|0)+16+18>>1]=0;h=(k[c>>2]|0)+64|0;i[h>>0]=l[h>>0]&-15;do if((m[(k[d>>2]|0)+18>>1]|0)>0)i[(k[c>>2]|0)+66>>0]=1;else{if(i[(k[d>>2]|0)+4>>0]|0){i[(k[c>>2]|0)+66>>0]=0;break}if((k[(k[d>>2]|0)+84>>2]|0)==1){h=qr((k[(k[d>>2]|0)+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0)|0;k[f>>2]=h;i[(k[c>>2]|0)+66>>0]=1;h=PF(k[c>>2]|0,k[f>>2]|0)|0;k[e>>2]=h;break}h=_j(63147)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}while(0);k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}h=_j(63136)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}function $F(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+80|0;f=C+68|0;g=C+64|0;h=C+60|0;j=C+56|0;n=C+52|0;o=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;p=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;q=C+4|0;z=C;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[n>>2]=d;k[o>>2]=e;k[B>>2]=0;k[u>>2]=0;k[A>>2]=k[(k[g>>2]|0)+120+(i[(k[g>>2]|0)+68>>0]<<2)>>2];k[y>>2]=k[(k[g>>2]|0)+4>>2];aG(k[g>>2]|0);k[t>>2]=k[(k[g>>2]|0)+16+8>>2];if(((k[t>>2]|0)-(k[(k[A>>2]|0)+56>>2]|0)|0)>>>0>((k[(k[y>>2]|0)+36>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0)|0)>>>0){B=_j(62723)|0;k[f>>2]=B;B=k[f>>2]|0;r=C;return B|0}if((k[h>>2]|0)>>>0<(m[(k[g>>2]|0)+16+16>>1]|0)>>>0){k[p>>2]=k[j>>2];if(((k[p>>2]|0)+(k[h>>2]|0)|0)>>>0>(m[(k[g>>2]|0)+16+16>>1]|0)>>>0)k[p>>2]=(m[(k[g>>2]|0)+16+16>>1]|0)-(k[h>>2]|0);A=bG((k[t>>2]|0)+(k[h>>2]|0)|0,k[n>>2]|0,k[p>>2]|0,k[o>>2]&1,k[(k[A>>2]|0)+72>>2]|0)|0;k[B>>2]=A;k[h>>2]=0;k[n>>2]=(k[n>>2]|0)+(k[p>>2]|0);k[j>>2]=(k[j>>2]|0)-(k[p>>2]|0)}else k[h>>2]=(k[h>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0);a:do if((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0){k[x>>2]=(k[(k[y>>2]|0)+36>>2]|0)-4;A=qr((k[t>>2]|0)+(m[(k[g>>2]|0)+16+16>>1]|0)|0)|0;k[w>>2]=A;if((k[o>>2]|0)!=2?(l[(k[g>>2]|0)+64>>0]&4|0)==0:0){k[v>>2]=(((k[(k[g>>2]|0)+16+12>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0)+(k[x>>2]|0)-1|0)>>>0)/((k[x>>2]|0)>>>0)|0;do if((k[v>>2]|0)>(k[(k[g>>2]|0)+56>>2]|0)){A=mg(k[(k[g>>2]|0)+12>>2]|0,k[v>>2]<<1<<2,0)|0;k[s>>2]=A;if(!(k[s>>2]|0)){k[B>>2]=7;break}else{k[(k[g>>2]|0)+56>>2]=k[v>>2]<<1;k[(k[g>>2]|0)+12>>2]=k[s>>2];break}}while(0);if(!(k[B>>2]|0)){dS(k[(k[g>>2]|0)+12>>2]|0,0,k[v>>2]<<2|0)|0;A=(k[g>>2]|0)+64|0;i[A>>0]=l[A>>0]|4}}if((l[(k[g>>2]|0)+64>>0]&4|0)!=0?(k[(k[(k[g>>2]|0)+12>>2]|0)+((((k[h>>2]|0)>>>0)/((k[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){k[u>>2]=((k[h>>2]|0)>>>0)/((k[x>>2]|0)>>>0)|0;k[w>>2]=k[(k[(k[g>>2]|0)+12>>2]|0)+(k[u>>2]<<2)>>2];k[h>>2]=((k[h>>2]|0)>>>0)%((k[x>>2]|0)>>>0)|0}while(1){if(!((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0&(k[w>>2]|0)!=0))break a;if(l[(k[g>>2]|0)+64>>0]&4)k[(k[(k[g>>2]|0)+12>>2]|0)+(k[u>>2]<<2)>>2]=k[w>>2];if((k[h>>2]|0)>>>0>=(k[x>>2]|0)>>>0){if(k[(k[(k[g>>2]|0)+12>>2]|0)+((k[u>>2]|0)+1<<2)>>2]|0)k[w>>2]=k[(k[(k[g>>2]|0)+12>>2]|0)+((k[u>>2]|0)+1<<2)>>2];else{A=cG(k[y>>2]|0,k[w>>2]|0,0,w)|0;k[B>>2]=A}k[h>>2]=(k[h>>2]|0)-(k[x>>2]|0)}else{k[q>>2]=k[j>>2];if(((k[q>>2]|0)+(k[h>>2]|0)|0)>>>0>(k[x>>2]|0)>>>0)k[q>>2]=(k[x>>2]|0)-(k[h>>2]|0);A=Fg(k[k[y>>2]>>2]|0,k[w>>2]|0,z,(k[o>>2]&1|0)==0?2:0)|0;k[B>>2]=A;if(!(k[B>>2]|0)){A=Gg(k[z>>2]|0)|0;k[t>>2]=A;A=qr(k[t>>2]|0)|0;k[w>>2]=A;A=bG((k[t>>2]|0)+((k[h>>2]|0)+4)|0,k[n>>2]|0,k[q>>2]|0,k[o>>2]&1,k[z>>2]|0)|0;k[B>>2]=A;Ig(k[z>>2]|0);k[h>>2]=0}k[j>>2]=(k[j>>2]|0)-(k[q>>2]|0);k[n>>2]=(k[n>>2]|0)+(k[q>>2]|0)}k[u>>2]=(k[u>>2]|0)+1}}while(0);if((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0){B=_j(62880)|0;k[f>>2]=B;B=k[f>>2]|0;r=C;return B|0}else{k[f>>2]=k[B>>2];B=k[f>>2]|0;r=C;return B|0}return 0}function aG(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(m[(k[b>>2]|0)+16+18>>1]|0){r=d;return}k[c>>2]=i[(k[b>>2]|0)+68>>0];a=(k[b>>2]|0)+64|0;i[a>>0]=l[a>>0]|2;gG(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0,m[(k[b>>2]|0)+80+(k[c>>2]<<1)>>1]|0,(k[b>>2]|0)+16|0);r=d;return}function bG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;n=m+8|0;j=m+4|0;l=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[n>>2]=d;k[j>>2]=e;do if(k[n>>2]|0){n=Qg(k[j>>2]|0)|0;k[l>>2]=n;if(!(k[l>>2]|0)){bS(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;break}k[f>>2]=k[l>>2];n=k[f>>2]|0;r=m;return n|0}else bS(k[h>>2]|0,k[g>>2]|0,k[i>>2]|0)|0;while(0);k[f>>2]=0;n=k[f>>2]|0;r=m;return n|0}function cG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;e=s+32|0;f=s+28|0;p=s+24|0;g=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;j=s;h=s+36|0;k[e>>2]=a;k[f>>2]=b;k[p>>2]=c;k[g>>2]=d;k[m>>2]=0;k[n>>2]=0;k[q>>2]=0;if(i[(k[e>>2]|0)+17>>0]|0){k[j>>2]=(k[f>>2]|0)+1;while(1){c=dG(k[e>>2]|0,k[j>>2]|0)|0;if((c|0)==(k[j>>2]|0))a=1;else a=(k[j>>2]|0)==((((k[384]|0)>>>0)/((k[(k[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);b=k[j>>2]|0;if(!a)break;k[j>>2]=b+1}if(((b>>>0<=(TF(k[e>>2]|0)|0)>>>0?(c=eG(k[e>>2]|0,k[j>>2]|0,h,o)|0,k[q>>2]=c,(k[q>>2]|0)==0):0)?(l[h>>0]|0)==4:0)?(k[o>>2]|0)==(k[f>>2]|0):0){k[m>>2]=k[j>>2];k[q>>2]=101}}if((k[q>>2]|0)==0?(o=fG(k[e>>2]|0,k[f>>2]|0,n,(k[p>>2]|0)==0?2:0)|0,k[q>>2]=o,(k[q>>2]|0)==0):0){o=qr(k[(k[n>>2]|0)+56>>2]|0)|0;k[m>>2]=o}k[k[g>>2]>>2]=k[m>>2];b=k[n>>2]|0;if(k[p>>2]|0){k[k[p>>2]>>2]=b;p=k[q>>2]|0;p=(p|0)==101;q=k[q>>2]|0;q=p?0:q;r=s;return q|0}else{_B(b);p=k[q>>2]|0;p=(p|0)==101;q=k[q>>2]|0;q=p?0:q;r=s;return q|0}return 0}function dG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>>>0<2){k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}k[g>>2]=(((k[(k[d>>2]|0)+36>>2]|0)>>>0)/5|0)+1;k[f>>2]=(((k[e>>2]|0)-2|0)>>>0)/((k[g>>2]|0)>>>0)|0;b=(ha(k[f>>2]|0,k[g>>2]|0)|0)+2|0;k[h>>2]=b;if((k[h>>2]|0)==((((k[384]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0))k[h>>2]=(k[h>>2]|0)+1;k[c>>2]=k[h>>2];h=k[c>>2]|0;r=i;return h|0}function eG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;e=q+36|0;s=q+32|0;f=q+28|0;g=q+24|0;h=q+20|0;n=q+16|0;j=q+12|0;o=q+8|0;m=q+4|0;p=q;k[s>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=dG(k[s>>2]|0,k[f>>2]|0)|0;k[j>>2]=d;d=Fg(k[k[s>>2]>>2]|0,k[j>>2]|0,n,0)|0;k[p>>2]=d;if(k[p>>2]|0){k[e>>2]=k[p>>2];s=k[e>>2]|0;r=q;return s|0}s=Gg(k[n>>2]|0)|0;k[o>>2]=s;k[m>>2]=((k[f>>2]|0)-(k[j>>2]|0)-1|0)*5;if((k[m>>2]|0)<0){Ig(k[n>>2]|0);s=_j(59240)|0;k[e>>2]=s;s=k[e>>2]|0;r=q;return s|0}i[k[g>>2]>>0]=i[(k[o>>2]|0)+(k[m>>2]|0)>>0]|0;if(k[h>>2]|0){s=qr((k[o>>2]|0)+((k[m>>2]|0)+1)|0)|0;k[k[h>>2]>>2]=s}Ig(k[n>>2]|0);if((l[k[g>>2]>>0]|0|0)>=1?(l[k[g>>2]>>0]|0|0)<=5:0){k[e>>2]=0;s=k[e>>2]|0;r=q;return s|0}s=_j(59248)|0;k[e>>2]=s;s=k[e>>2]|0;r=q;return s|0}function fG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;e=l+24|0;f=l+20|0;g=l+16|0;h=l+12|0;m=l+8|0;j=l+4|0;i=l;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[m>>2]=d;c=Fg(k[k[f>>2]>>2]|0,k[g>>2]|0,i,k[m>>2]|0)|0;k[j>>2]=c;if(k[j>>2]|0){k[e>>2]=k[j>>2];m=k[e>>2]|0;r=l;return m|0}else{m=UF(k[i>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[k[h>>2]>>2]=m;k[e>>2]=0;m=k[e>>2]|0;r=l;return m|0}return 0}function gG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;cc[k[(k[g>>2]|0)+80>>2]&255](k[g>>2]|0,(k[(k[g>>2]|0)+56>>2]|0)+((m[(k[g>>2]|0)+20>>1]|0)&((l[(k[(k[g>>2]|0)+64>>2]|0)+(k[f>>2]<<1)>>0]|0)<<8|(l[(k[(k[g>>2]|0)+64>>2]|0)+(k[f>>2]<<1)+1>>0]|0)))|0,k[e>>2]|0);r=d;return}function hG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;j=s+52|0;n=s+48|0;o=s+44|0;p=s+40|0;d=s+36|0;t=s+32|0;q=s+28|0;h=s+24|0;g=s+16|0;f=s+8|0;e=s;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[d>>2]=(k[o>>2]|0)+(l[k[o>>2]>>0]&63);k[t>>2]=l[(k[o>>2]|0)+1>>0];do switch(k[t>>2]|0){case 1:{h=i[k[d>>2]>>0]|0;t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 2:{h=i[k[d>>2]>>0]<<8|l[(k[d>>2]|0)+1>>0];t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 3:{h=i[k[d>>2]>>0]<<16|l[(k[d>>2]|0)+1>>0]<<8|l[(k[d>>2]|0)+2>>0];t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 4:{k[h>>2]=l[k[d>>2]>>0]<<24|l[(k[d>>2]|0)+1>>0]<<16|l[(k[d>>2]|0)+2>>0]<<8|l[(k[d>>2]|0)+3>>0];h=k[h>>2]|0;t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 5:{h=i[k[d>>2]>>0]<<8|l[(k[d>>2]|0)+1>>0];h=$R(l[(k[d>>2]|0)+2>>0]<<24|l[(k[d>>2]|0)+2+1>>0]<<16|l[(k[d>>2]|0)+2+2>>0]<<8|l[(k[d>>2]|0)+2+3>>0]|0,0,kS(0,1,h|0,((h|0)<0)<<31>>31|0)|0,L|0)|0;t=e;k[t>>2]=h;k[t+4>>2]=L;break}case 6:{t=g;k[t>>2]=l[k[d>>2]>>0]<<24|l[(k[d>>2]|0)+1>>0]<<16|l[(k[d>>2]|0)+2>>0]<<8|l[(k[d>>2]|0)+3>>0];k[t+4>>2]=0;t=k[g>>2]|0;h=g;k[h>>2]=l[(k[d>>2]|0)+4>>0]<<24|l[(k[d>>2]|0)+4+1>>0]<<16|l[(k[d>>2]|0)+4+2>>0]<<8|l[(k[d>>2]|0)+4+3>>0];k[h+4>>2]=t;h=k[g+4>>2]|0;t=e;k[t>>2]=k[g>>2];k[t+4>>2]=h;break}case 8:{t=e;k[t>>2]=0;k[t+4>>2]=0;break}case 9:{t=e;k[t>>2]=1;k[t+4>>2]=0;break}case 7:case 0:{t=jG(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[j>>2]=t;t=k[j>>2]|0;r=s;return t|0}default:{t=jG(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[j>>2]=t;t=k[j>>2]|0;r=s;return t|0}}while(0);t=k[(k[p>>2]|0)+4>>2]|0;c=k[t+4>>2]|0;h=f;k[h>>2]=k[t>>2];k[h+4>>2]=c;h=f;c=k[h+4>>2]|0;t=e;g=k[t+4>>2]|0;do if(!((c|0)>(g|0)|((c|0)==(g|0)?(k[h>>2]|0)>>>0>(k[t>>2]|0)>>>0:0))){h=f;f=k[h+4>>2]|0;t=e;g=k[t+4>>2]|0;d=k[p>>2]|0;if((f|0)<(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)){k[q>>2]=i[d+13>>0];break}if((m[d+8>>1]|0)>1){t=kG(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,1)|0;k[q>>2]=t;break}else{k[q>>2]=i[(k[p>>2]|0)+10>>0];i[(k[p>>2]|0)+14>>0]=1;break}}else k[q>>2]=i[(k[p>>2]|0)+12>>0];while(0);k[j>>2]=k[q>>2];t=k[j>>2]|0;r=s;return t|0}function iG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;p=s+36|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s+20|0;d=s+16|0;q=s+12|0;j=s+8|0;n=s+4|0;o=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[f>>2];a=(k[h>>2]|0)+1|0;if((l[(k[h>>2]|0)+1>>0]|0)<128)k[d>>2]=l[a>>0];else lG(a,d)|0;do if((k[d>>2]|0)>=12){if(!(k[d>>2]&1)){k[q>>2]=i[(k[g>>2]|0)+13>>0];break}k[o>>2]=l[k[h>>2]>>0];k[n>>2]=((k[d>>2]|0)-12|0)/2|0;if(((k[o>>2]|0)+(k[n>>2]|0)|0)>(k[e>>2]|0)){q=(_j(74742)|0)&255;i[(k[g>>2]|0)+11>>0]=q;k[p>>2]=0;q=k[p>>2]|0;r=s;return q|0}if((k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0)<(k[n>>2]|0))a=k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0;else a=k[n>>2]|0;k[j>>2]=a;o=oR((k[h>>2]|0)+(k[o>>2]|0)|0,k[(k[(k[g>>2]|0)+4>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[q>>2]=o;if(k[q>>2]|0){a=k[g>>2]|0;if((k[q>>2]|0)>0){k[q>>2]=i[a+13>>0];break}else{k[q>>2]=i[a+12>>0];break}}k[q>>2]=(k[n>>2]|0)-(k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0);if(!(k[q>>2]|0))if((m[(k[g>>2]|0)+8>>1]|0)>1){o=kG(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,1)|0;k[q>>2]=o;break}else{k[q>>2]=i[(k[g>>2]|0)+10>>0];i[(k[g>>2]|0)+14>>0]=1;break}else{a=k[g>>2]|0;if((k[q>>2]|0)>0){k[q>>2]=i[a+13>>0];break}else{k[q>>2]=i[a+12>>0];break}}}else k[q>>2]=i[(k[g>>2]|0)+12>>0];while(0);k[p>>2]=k[q>>2];q=k[p>>2]|0;r=s;return q|0}function jG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=kG(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0)|0;r=d;return c|0}function kG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=r;r=r+128|0;A=E+124|0;f=E+120|0;G=E+116|0;B=E+112|0;F=E+108|0;h=E+104|0;n=E+100|0;z=E+96|0;o=E+92|0;D=E+88|0;w=E+84|0;C=E+80|0;g=E+76|0;s=E+16|0;e=E+72|0;y=E+68|0;q=E+8|0;x=E;t=E+64|0;v=E+60|0;u=E+56|0;k[f>>2]=a;k[G>>2]=b;k[B>>2]=c;k[F>>2]=d;k[D>>2]=0;k[w>>2]=k[(k[B>>2]|0)+4>>2];k[C>>2]=k[k[B>>2]>>2];k[g>>2]=k[G>>2];a=k[g>>2]|0;do if(k[F>>2]|0){d=(k[g>>2]|0)+1|0;if((l[a+1>>0]|0)<128){k[e>>2]=l[d>>0];d=1}else d=(lG(d,e)|0)&255;k[o>>2]=1+(d&255);k[z>>2]=l[k[g>>2]>>0];G=k[z>>2]|0;G=G+(mG(k[e>>2]|0)|0)|0;k[h>>2]=G;k[n>>2]=1;k[w>>2]=(k[w>>2]|0)+40}else{d=k[g>>2]|0;if((l[a>>0]|0)<128){k[z>>2]=l[d>>0];d=1}else d=(lG(d,z)|0)&255;k[o>>2]=d&255;k[h>>2]=k[z>>2];if((k[h>>2]|0)>>>0<=(k[f>>2]|0)>>>0){k[n>>2]=0;break}G=(_j(74452)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}while(0);a:while(1){do if(m[(k[w>>2]|0)+8>>1]&4){k[y>>2]=l[(k[g>>2]|0)+(k[o>>2]|0)>>0];if((k[y>>2]|0)>>>0>=10){k[D>>2]=1;break}if(!(k[y>>2]|0)){k[D>>2]=-1;break}if((k[y>>2]|0)==7){nG((k[g>>2]|0)+(k[h>>2]|0)|0,k[y>>2]|0,s)|0;G=k[w>>2]|0;G=0-(oG(k[G>>2]|0,k[G+4>>2]|0,+p[s>>3])|0)|0;k[D>>2]=G;break}c=pG(k[y>>2]|0,(k[g>>2]|0)+(k[h>>2]|0)|0)|0;G=q;k[G>>2]=c;k[G+4>>2]=L;G=k[w>>2]|0;c=k[G+4>>2]|0;F=x;k[F>>2]=k[G>>2];k[F+4>>2]=c;F=q;c=k[F+4>>2]|0;G=x;e=k[G+4>>2]|0;if((c|0)<(e|0)|((c|0)==(e|0)?(k[F>>2]|0)>>>0<(k[G>>2]|0)>>>0:0)){k[D>>2]=-1;break}F=q;c=k[F+4>>2]|0;G=x;e=k[G+4>>2]|0;if((c|0)>(e|0)|((c|0)==(e|0)?(k[F>>2]|0)>>>0>(k[G>>2]|0)>>>0:0))k[D>>2]=1}else{if(m[(k[w>>2]|0)+8>>1]&8){k[y>>2]=l[(k[g>>2]|0)+(k[o>>2]|0)>>0];if((k[y>>2]|0)>>>0>=10){k[D>>2]=1;break}if(!(k[y>>2]|0)){k[D>>2]=-1;break}nG((k[g>>2]|0)+(k[h>>2]|0)|0,k[y>>2]|0,s)|0;if((k[y>>2]|0)!=7){G=s;G=oG(k[G>>2]|0,k[G+4>>2]|0,+p[k[w>>2]>>3])|0;k[D>>2]=G;break}if(+p[s>>3]<+p[k[w>>2]>>3]){k[D>>2]=-1;break}if(!(+p[s>>3]>+p[k[w>>2]>>3]))break;k[D>>2]=1;break}if(m[(k[w>>2]|0)+8>>1]&2){d=(k[g>>2]|0)+(k[o>>2]|0)|0;if((l[(k[g>>2]|0)+(k[o>>2]|0)>>0]|0)<128)k[y>>2]=l[d>>0];else lG(d,y)|0;if((k[y>>2]|0)>>>0<12){k[D>>2]=-1;break}if(!(k[y>>2]&1)){k[D>>2]=1;break}k[s+12>>2]=(((k[y>>2]|0)-12|0)>>>0)/2|0;if(((k[h>>2]|0)+(k[s+12>>2]|0)|0)>>>0>(k[f>>2]|0)>>>0){d=43;break a}if(k[(k[C>>2]|0)+20+(k[n>>2]<<2)>>2]|0){i[s+10>>0]=i[(k[C>>2]|0)+4>>0]|0;k[s+32>>2]=k[(k[C>>2]|0)+12>>2];j[s+8>>1]=2;k[s+16>>2]=(k[g>>2]|0)+(k[h>>2]|0);G=qG(s,k[w>>2]|0,k[(k[C>>2]|0)+20+(k[n>>2]<<2)>>2]|0,(k[B>>2]|0)+11|0)|0;k[D>>2]=G;break}if((k[s+12>>2]|0)<(k[(k[w>>2]|0)+12>>2]|0))d=k[s+12>>2]|0;else d=k[(k[w>>2]|0)+12>>2]|0;k[t>>2]=d;G=oR((k[g>>2]|0)+(k[h>>2]|0)|0,k[(k[w>>2]|0)+16>>2]|0,k[t>>2]|0)|0;k[D>>2]=G;if(k[D>>2]|0)break;k[D>>2]=(k[s+12>>2]|0)-(k[(k[w>>2]|0)+12>>2]|0);break}d=l[(k[g>>2]|0)+(k[o>>2]|0)>>0]|0;if(!(m[(k[w>>2]|0)+8>>1]&16)){k[y>>2]=d;k[D>>2]=(k[y>>2]|0)!=0&1;break}a=(k[g>>2]|0)+(k[o>>2]|0)|0;if((d|0)<128)k[y>>2]=l[a>>0];else lG(a,y)|0;if((k[y>>2]|0)>>>0>=12?(k[y>>2]&1|0)==0:0){k[v>>2]=(((k[y>>2]|0)-12|0)>>>0)/2|0;if(((k[h>>2]|0)+(k[v>>2]|0)|0)>>>0>(k[f>>2]|0)>>>0){d=59;break a}if(m[(k[w>>2]|0)+8>>1]&16384)if(rG((k[g>>2]|0)+(k[h>>2]|0)|0,k[v>>2]|0)|0){k[D>>2]=(k[v>>2]|0)-(k[k[w>>2]>>2]|0);break}else{k[D>>2]=1;break}if((k[v>>2]|0)<(k[(k[w>>2]|0)+12>>2]|0))d=k[v>>2]|0;else d=k[(k[w>>2]|0)+12>>2]|0;k[u>>2]=d;G=oR((k[g>>2]|0)+(k[h>>2]|0)|0,k[(k[w>>2]|0)+16>>2]|0,k[u>>2]|0)|0;k[D>>2]=G;if(k[D>>2]|0)break;k[D>>2]=(k[v>>2]|0)-(k[(k[w>>2]|0)+12>>2]|0);break}k[D>>2]=-1}while(0);a=k[n>>2]|0;if(k[D>>2]|0){d=71;break}k[n>>2]=a+1;k[w>>2]=(k[w>>2]|0)+40;G=mG(k[y>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+G;G=sG(k[y>>2]|0,0)|0;k[o>>2]=(k[o>>2]|0)+G;if((k[o>>2]|0)>>>0>=(k[z>>2]|0)>>>0){d=77;break}if((k[n>>2]|0)>=(m[(k[B>>2]|0)+8>>1]|0)){d=77;break}if((k[h>>2]|0)>>>0>(k[f>>2]|0)>>>0){d=77;break}}if((d|0)==43){G=(_j(74527)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}else if((d|0)==59){G=(_j(74557)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}else if((d|0)==71){if(i[(k[(k[C>>2]|0)+16>>2]|0)+a>>0]|0)k[D>>2]=0-(k[D>>2]|0);k[A>>2]=k[D>>2];G=k[A>>2]|0;r=E;return G|0}else if((d|0)==77){i[(k[B>>2]|0)+14>>0]=1;k[A>>2]=i[(k[B>>2]|0)+10>>0];G=k[A>>2]|0;r=E;return G|0}return 0}function lG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+25|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;j=m;h=m+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];i[c>>0]=2;j=i[c>>0]|0;r=m;return j|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];i[c>>0]=3;j=i[c>>0]|0;r=m;return j|0}k[d>>2]=(k[d>>2]|0)+-2;b=mu(k[d>>2]|0,j)|0;i[h>>0]=b;b=j;if(0!=(k[b+4>>2]|0)?1:(k[j>>2]|0)!=(k[b>>2]|0))k[k[e>>2]>>2]=-1;else k[k[e>>2]>>2]=k[j>>2];i[c>>0]=i[h>>0]|0;j=i[c>>0]|0;r=m;return j|0}function mG(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;a=k[d>>2]|0;if((k[d>>2]|0)>>>0>=128){k[b>>2]=((a-12|0)>>>0)/2|0;d=k[b>>2]|0;r=c;return d|0}else{k[b>>2]=l[35061+a>>0];d=k[b>>2]|0;r=c;return d|0}return 0}function nG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;switch(k[f>>2]|0){case 0:case 11:case 10:{j[(k[g>>2]|0)+8>>1]=1;k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}case 1:{c=i[k[e>>2]>>0]|0;b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}case 2:{c=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=2;b=k[d>>2]|0;r=h;return b|0}case 3:{c=i[k[e>>2]>>0]<<16|l[(k[e>>2]|0)+1>>0]<<8|l[(k[e>>2]|0)+2>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=3;b=k[d>>2]|0;r=h;return b|0}case 4:{c=i[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=4;b=k[d>>2]|0;r=h;return b|0}case 5:{b=l[(k[e>>2]|0)+2>>0]<<24|l[(k[e>>2]|0)+2+1>>0]<<16|l[(k[e>>2]|0)+2+2>>0]<<8|l[(k[e>>2]|0)+2+3>>0];c=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];c=$R(b|0,0,kS(0,1,c|0,((c|0)<0)<<31>>31|0)|0,L|0)|0;b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=L;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=6;b=k[d>>2]|0;r=h;return b|0}case 7:case 6:{b=zG(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[d>>2]=b;b=k[d>>2]|0;r=h;return b|0}case 9:case 8:{b=k[g>>2]|0;k[b>>2]=(k[f>>2]|0)-8;k[b+4>>2]=0;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}default:{k[(k[g>>2]|0)+16>>2]=k[e>>2];k[(k[g>>2]|0)+12>>2]=(((k[f>>2]|0)-12|0)>>>0)/2|0;j[(k[g>>2]|0)+8>>1]=j[14590+((k[f>>2]&1)<<1)>>1]|0;k[d>>2]=k[(k[g>>2]|0)+12>>2];b=k[d>>2]|0;r=h;return b|0}}return 0}function oG(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+48|0;d=i+32|0;e=i+24|0;f=i+16|0;h=i+8|0;g=i;j=e;k[j>>2]=a;k[j+4>>2]=b;p[f>>3]=c;if(+p[f>>3]<-9223372036854775808.0){k[d>>2]=1;j=k[d>>2]|0;r=i;return j|0}if(+p[f>>3]>9223372036854775808.0){k[d>>2]=-1;j=k[d>>2]|0;r=i;return j|0}c=+p[f>>3];l=+W(c)>=1.0?(c>0.0?~~+ia(+V(c/4294967296.0),4294967295.0)>>>0:~~+ga((c-+(~~c>>>0))/4294967296.0)>>>0):0;b=h;k[b>>2]=~~c>>>0;k[b+4>>2]=l;b=e;l=k[b+4>>2]|0;j=h;a=k[j+4>>2]|0;if((l|0)<(a|0)|((l|0)==(a|0)?(k[b>>2]|0)>>>0<(k[j>>2]|0)>>>0:0)){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}j=e;a=k[j+4>>2]|0;l=h;b=k[l+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(k[j>>2]|0)>>>0>(k[l>>2]|0)>>>0:0)){l=h;if(((k[l>>2]|0)==0?(k[l+4>>2]|0)==-2147483648:0)&+p[f>>3]>0.0){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}else{k[d>>2]=1;l=k[d>>2]|0;r=i;return l|0}}l=e;p[g>>3]=+((k[l>>2]|0)>>>0)+4294967296.0*+(k[l+4>>2]|0);if(+p[g>>3]<+p[f>>3]){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}if(+p[g>>3]>+p[f>>3]){k[d>>2]=1;l=k[d>>2]|0;r=i;return l|0}else{k[d>>2]=0;l=k[d>>2]|0;r=i;return l|0}return 0}function pG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+8|0;d=h+24|0;e=h+20|0;g=h+16|0;f=h;k[d>>2]=a;k[e>>2]=b;switch(k[d>>2]|0){case 1:case 0:{f=i[k[e>>2]>>0]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 2:{f=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 3:{f=i[k[e>>2]>>0]<<16|l[(k[e>>2]|0)+1>>0]<<8|l[(k[e>>2]|0)+2>>0];g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 4:{k[g>>2]=l[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];f=k[g>>2]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 5:{g=l[(k[e>>2]|0)+2>>0]<<24|l[(k[e>>2]|0)+2+1>>0]<<16|l[(k[e>>2]|0)+2+2>>0]<<8|l[(k[e>>2]|0)+2+3>>0];f=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];f=$R(g|0,0,kS(0,1,f|0,((f|0)<0)<<31>>31|0)|0,L|0)|0;g=c;k[g>>2]=f;k[g+4>>2]=L;break}case 6:{g=f;k[g>>2]=l[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];k[g+4>>2]=0;g=k[f>>2]|0;a=f;k[a>>2]=l[(k[e>>2]|0)+4>>0]<<24|l[(k[e>>2]|0)+4+1>>0]<<16|l[(k[e>>2]|0)+4+2>>0]<<8|l[(k[e>>2]|0)+4+3>>0];k[a+4>>2]=g;a=f;f=k[a+4>>2]|0;g=c;k[g>>2]=k[a>>2];k[g+4>>2]=f;break}default:{g=c;k[g>>2]=(k[d>>2]|0)-8;k[g+4>>2]=0}}g=c;L=k[g+4>>2]|0;r=h;return k[g>>2]|0}function qG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+128|0;e=u+116|0;f=u+112|0;g=u+108|0;h=u+104|0;j=u+100|0;q=u+96|0;s=u+92|0;t=u+88|0;o=u+84|0;p=u+80|0;m=u+40|0;n=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((l[(k[f>>2]|0)+10>>0]|0|0)==(l[(k[h>>2]|0)+4>>0]|0|0)){t=hc[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+12>>2]|0,k[(k[g>>2]|0)+16>>2]|0)|0;k[e>>2]=t;t=k[e>>2]|0;r=u;return t|0}tG(m,k[(k[f>>2]|0)+32>>2]|0,1);tG(n,k[(k[f>>2]|0)+32>>2]|0,1);uG(m,k[f>>2]|0,4096);uG(n,k[g>>2]|0,4096);d=hh(m,i[(k[h>>2]|0)+4>>0]|0)|0;k[s>>2]=d;k[o>>2]=(k[s>>2]|0)==0?0:k[m+12>>2]|0;d=hh(n,i[(k[h>>2]|0)+4>>0]|0)|0;k[t>>2]=d;k[p>>2]=(k[t>>2]|0)==0?0:k[n+12>>2]|0;d=hc[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0,k[o>>2]|0,k[s>>2]|0,k[p>>2]|0,k[t>>2]|0)|0;k[q>>2]=d;if(((k[s>>2]|0)==0|(k[t>>2]|0)==0)&(k[j>>2]|0)!=0)i[k[j>>2]>>0]=7;fh(m);fh(n);k[e>>2]=k[q>>2];t=k[e>>2]|0;r=u;return t|0}function rG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[d>>2]|0)){c=6;break}if(i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0){c=4;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==4){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}else if((c|0)==6){k[f>>2]=1;f=k[f>>2]|0;r=g;return f|0}return 0}function sG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;k[d>>2]=1;while(1){b=c;b=aS(k[b>>2]|0,k[b+4>>2]|0,7)|0;f=L;a=c;k[a>>2]=b;k[a+4>>2]=f;a=k[d>>2]|0;if(!((b|0)!=0|(f|0)!=0))break;k[d>>2]=a+1}r=e;return a|0}function tG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+4|0;f=d;g=d+8|0;k[e>>2]=a;k[f>>2]=b;j[g>>1]=c;j[(k[e>>2]|0)+8>>1]=j[g>>1]|0;k[(k[e>>2]|0)+32>>2]=k[f>>2];k[(k[e>>2]|0)+24>>2]=0;r=d;return}function uG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&9312){vG(b,k[e>>2]|0,k[f>>2]|0);r=g;return}c=k[e>>2]|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];k[b+16>>2]=k[c+16>>2];if((m[(k[e>>2]|0)+8>>1]|0)&2048){r=g;return}e=(k[d>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&-7169;e=(k[d>>2]|0)+8|0;j[e>>1]=m[e>>1]|0|k[f>>2];r=g;return}function vG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;wG(k[g>>2]|0);uG(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function wG(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if((m[(k[c>>2]|0)+8>>1]|0)&8192)xG(k[c>>2]|0,k[k[c>>2]>>2]|0)|0;a=k[c>>2]|0;do if(!((m[(k[c>>2]|0)+8>>1]|0)&1024)){b=k[c>>2]|0;if((m[a+8>>1]|0)&32){yG(k[b>>2]|0);break}if((m[b+8>>1]|0)&64){k[d>>2]=k[k[c>>2]>>2];k[(k[d>>2]|0)+4>>2]=k[(k[k[d>>2]>>2]|0)+188>>2];k[(k[k[d>>2]>>2]|0)+188>>2]=k[d>>2]}}else _b[k[a+36>>2]&255](k[(k[c>>2]|0)+16>>2]|0);while(0);j[(k[c>>2]|0)+8>>1]=1;r=e;return}function xG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+96|0;d=h+80|0;e=h+76|0;g=h+72|0;f=h+40|0;c=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if(!(k[e>>2]|0)){g=k[g>>2]|0;r=h;return g|0}if(!(k[(k[e>>2]|0)+16>>2]|0)){g=k[g>>2]|0;r=h;return g|0};k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+28>>2]=0;b=c;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));j[c+8>>1]=1;k[c+32>>2]=k[(k[d>>2]|0)+32>>2];k[f>>2]=c;k[f+8>>2]=k[d>>2];k[f+4>>2]=k[e>>2];_b[k[(k[e>>2]|0)+16>>2]&255](f);if((k[(k[d>>2]|0)+24>>2]|0)>0)bg(k[(k[d>>2]|0)+32>>2]|0,k[(k[d>>2]|0)+20>>2]|0);b=k[d>>2]|0;a=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(a|0));k[g>>2]=k[f+20>>2];g=k[g>>2]|0;r=h;return g|0}function yG(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];bg(k[(k[b>>2]|0)+4>>2]|0,k[c>>2]|0);k[c>>2]=k[d>>2]}k[k[b>>2]>>2]=0;j[(k[b>>2]|0)+24>>1]=0;k[(k[b>>2]|0)+8>>2]=0;k[(k[b>>2]|0)+12>>2]=0;k[(k[b>>2]|0)+20>>2]=0;j[(k[b>>2]|0)+26>>1]=1;r=e;return}function zG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+32|0;i=f+20|0;g=f+16|0;d=f+12|0;e=f;h=f+8|0;k[i>>2]=a;k[g>>2]=b;k[d>>2]=c;c=e;k[c>>2]=(l[k[i>>2]>>0]|0)<<24|(l[(k[i>>2]|0)+1>>0]|0)<<16|(l[(k[i>>2]|0)+2>>0]|0)<<8|(l[(k[i>>2]|0)+3>>0]|0);k[c+4>>2]=0;k[h>>2]=(l[(k[i>>2]|0)+4>>0]|0)<<24|(l[(k[i>>2]|0)+4+1>>0]|0)<<16|(l[(k[i>>2]|0)+4+2>>0]|0)<<8|(l[(k[i>>2]|0)+4+3>>0]|0);c=$R(0,k[e>>2]|0,k[h>>2]|0,0)|0;b=e;k[b>>2]=c;k[b+4>>2]=L;if((k[g>>2]|0)==6){g=e;h=k[g+4>>2]|0;i=k[d>>2]|0;k[i>>2]=k[g>>2];k[i+4>>2]=h;j[(k[d>>2]|0)+8>>1]=4;r=f;return 8}else{i=k[d>>2]|0;k[i>>2]=k[e>>2];k[i+4>>2]=k[e+4>>2];i=(AG(+p[k[d>>2]>>3])|0)!=0;j[(k[d>>2]|0)+8>>1]=i?1:8;r=f;return 8}return 0}function AG(a){a=+a;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+32|0;f=c+16|0;b=c+24|0;e=c+8|0;d=c;p[f>>3]=a;p[e>>3]=+p[f>>3];p[d>>3]=+p[e>>3];k[b>>2]=+p[e>>3]!=+p[d>>3]&1;r=c;return k[b>>2]|0}function BG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;c=o+20|0;d=o+16|0;e=o+12|0;h=o+8|0;f=o+4|0;g=o;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+66>>0]|0)!=1){if((l[(k[d>>2]|0)+66>>0]|0)>=3)a=OF(k[d>>2]|0)|0;else a=0;k[h>>2]=a;if(k[h>>2]|0){k[c>>2]=k[h>>2];n=k[c>>2]|0;r=o;return n|0}if(!(l[(k[d>>2]|0)+66>>0]|0)){k[k[e>>2]>>2]=1;k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}if((k[(k[d>>2]|0)+60>>2]|0)!=0?(i[(k[d>>2]|0)+66>>0]=1,b=(k[(k[d>>2]|0)+60>>2]|0)>0,k[(k[d>>2]|0)+60>>2]=0,b):0){k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}}k[g>>2]=k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2];b=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;a=(j[b>>1]|0)+1<<16>>16;j[b>>1]=a;k[f>>2]=a&65535;a=(i[(k[g>>2]|0)+4>>0]|0)!=0;if((k[f>>2]|0)<(m[(k[g>>2]|0)+18>>1]|0))if(a){k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}else{n=CG(k[d>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}if(!a){n=k[d>>2]|0;n=PF(n,qr((k[(k[g>>2]|0)+56>>2]|0)+((l[(k[g>>2]|0)+5>>0]|0)+8)|0)|0)|0;k[h>>2]=n;if(k[h>>2]|0){k[c>>2]=k[h>>2];n=k[c>>2]|0;r=o;return n|0}else{n=CG(k[d>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}}do{if(!(i[(k[d>>2]|0)+68>>0]|0)){n=17;break}RF(k[d>>2]|0);k[g>>2]=k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2]}while((m[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]|0)>=(m[(k[g>>2]|0)+18>>1]|0));if((n|0)==17){k[k[e>>2]>>2]=1;i[(k[d>>2]|0)+66>>0]=0;k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}if(i[(k[g>>2]|0)+2>>0]|0){n=LF(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}else{k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}return 0}function CG(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;e=f+4|0;c=f;k[b>>2]=a;k[e>>2]=0;while(1){if(k[e>>2]|0){b=5;break}a=k[(k[b>>2]|0)+120+(i[(k[b>>2]|0)+68>>0]<<2)>>2]|0;k[c>>2]=a;if(!((i[a+4>>0]|0)!=0^1)){b=5;break}a=qr((k[(k[c>>2]|0)+56>>2]|0)+(m[(k[c>>2]|0)+20>>1]&(l[(k[(k[c>>2]|0)+64>>2]|0)+(m[(k[b>>2]|0)+80+(i[(k[b>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|l[(k[(k[c>>2]|0)+64>>2]|0)+(m[(k[b>>2]|0)+80+(i[(k[b>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;k[d>>2]=a;a=PF(k[b>>2]|0,k[d>>2]|0)|0;k[e>>2]=a}if((b|0)==5){r=f;return k[e>>2]|0}return 0}function DG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+20|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[c>>2]=b;k[d>>2]=k[k[i>>2]>>2];b=iw(k[d>>2]|0,0,0,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){i=k[f>>2]|0;r=h;return i|0}i=Ah(k[d>>2]|0,k[(k[c>>2]|0)+12>>2]|0)|0;k[(k[f>>2]|0)+8+(((k[k[f>>2]>>2]|0)-1|0)*72|0)+8>>2]=i;i=Ph(k[d>>2]|0,k[(k[(k[c>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[e>>2]=i;if(!((k[e>>2]|0)==0|(k[e>>2]|0)>=2)){i=k[f>>2]|0;r=h;return i|0}k[g>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];i=Ah(k[d>>2]|0,k[g>>2]|0)|0;k[(k[f>>2]|0)+8+(((k[k[f>>2]>>2]|0)-1|0)*72|0)+4>>2]=i;i=k[f>>2]|0;r=h;return i|0}function EG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}k[e>>2]=k[(k[d>>2]|0)+28>>2];sv(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0);ov(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0);pv(k[c>>2]|0,k[(k[e>>2]|0)+8>>2]|0);sv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=f;return}function FG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)==0){k[f>>2]=1;f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if((Cz(k[c>>2]|0,k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)+4>>2]|0)|0)>=0){c=6;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==6){k[f>>2]=1;f=k[f>>2]|0;r=g;return f|0}else if((c|0)==8){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}return 0}function GG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0)!=152){r=e;return 0}if((j[(k[d>>2]|0)+32>>1]|0)<0){a=(k[c>>2]|0)+20|0;i[a>>0]=l[a>>0]|2;r=e;return 0}if((k[(k[(k[c>>2]|0)+24>>2]|0)+(j[(k[d>>2]|0)+32>>1]<<2)>>2]|0)<0){r=e;return 0}a=(k[c>>2]|0)+20|0;i[a>>0]=l[a>>0]|1;r=e;return 0}function HG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g+4|0;c=g;k[e>>2]=a;k[f>>2]=b;if((m[(k[e>>2]|0)+50>>1]|0)!=(m[(k[f>>2]|0)+50>>1]|0)){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}if((l[(k[e>>2]|0)+54>>0]|0)!=(l[(k[f>>2]|0)+54>>0]|0)){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0)){c=17;break}if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)!=(j[(k[(k[e>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)){c=8;break}if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)==-2?(Uy(k[(k[(k[(k[f>>2]|0)+40>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2]|0,k[(k[(k[(k[e>>2]|0)+40>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){c=11;break}if((l[(k[(k[f>>2]|0)+28>>2]|0)+(k[c>>2]|0)>>0]|0)!=(l[(k[(k[e>>2]|0)+28>>2]|0)+(k[c>>2]|0)>>0]|0)){c=13;break}if(be(k[(k[(k[f>>2]|0)+32>>2]|0)+(k[c>>2]<<2)>>2]|0,k[(k[(k[e>>2]|0)+32>>2]|0)+(k[c>>2]<<2)>>2]|0)|0){c=15;break}k[c>>2]=(k[c>>2]|0)+1}if((c|0)==8){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==11){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==13){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==15){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==17)if(Uy(k[(k[f>>2]|0)+36>>2]|0,k[(k[e>>2]|0)+36>>2]|0,-1)|0){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else{k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}return 0}function IG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[g>>2]|0)+4>>2]=k[e>>2];k[k[g>>2]>>2]=k[(k[e>>2]|0)+448>>2];k[(k[e>>2]|0)+448>>2]=k[f>>2];r=d;return}function JG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;e=o+52|0;f=o+48|0;g=o+44|0;h=o+40|0;j=o+16|0;n=o+12|0;m=o+8|0;i=o+4|0;l=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];c=Ph(k[i>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[l>>2]=c;c=Sy(k[i>>2]|0,k[g>>2]|0,0)|0;k[g>>2]=c;c=iw(k[i>>2]|0,0,0,0)|0;k[m>>2]=c;if(k[m>>2]|0){c=Ah(k[i>>2]|0,k[k[f>>2]>>2]|0)|0;k[(k[m>>2]|0)+8+8>>2]=c;c=Ah(k[i>>2]|0,k[(k[(k[i>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2]|0)|0;k[(k[m>>2]|0)+8+4>>2]=c}c=aw(k[e>>2]|0,0,k[m>>2]|0,k[g>>2]|0,0,0,0,131072,0,0)|0;k[n>>2]=c;FB(j,12,k[h>>2]|0);Zv(k[e>>2]|0,k[n>>2]|0,j)|0;pv(k[i>>2]|0,k[n>>2]|0);r=o;return}function KG(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=r;r=r+96|0;q=F+88|0;H=F+84|0;s=F+80|0;l=F+76|0;m=F+72|0;n=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;p=F+16|0;o=F+8|0;v=F+4|0;u=F;k[q>>2]=a;k[H>>2]=b;k[s>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[G>>2]=g;k[t>>2]=h;k[E>>2]=k[(k[q>>2]|0)+8>>2];k[I>>2]=k[k[q>>2]>>2];c=cy(k[I>>2]|0,k[s>>2]|0)|0;k[z>>2]=c;k[y>>2]=2+(j[(k[s>>2]|0)+34>>1]|0);k[p>>2]=k[(k[H>>2]|0)+8+44>>2];c=(k[q>>2]|0)+40|0;g=k[c>>2]|0;k[c>>2]=g+1;k[w>>2]=g;g=sx(k[E>>2]|0,107,k[w>>2]|0,k[y>>2]|0)|0;k[u>>2]=g;k[B>>2]=(k[(k[q>>2]|0)+44>>2]|0)+1;g=(k[q>>2]|0)+44|0;k[g>>2]=(k[g>>2]|0)+(k[y>>2]|0);g=(k[q>>2]|0)+44|0;c=(k[g>>2]|0)+1|0;k[g>>2]=c;k[C>>2]=c;c=(k[q>>2]|0)+44|0;g=(k[c>>2]|0)+1|0;k[c>>2]=g;k[D>>2]=g;g=AD(k[q>>2]|0,k[H>>2]|0,k[G>>2]|0,0,0,4,0)|0;k[A>>2]=g;if(!(k[A>>2]|0)){r=F;return}sx(k[E>>2]|0,123,k[p>>2]|0,k[B>>2]|0)|0;if(k[m>>2]|0)$A(k[q>>2]|0,k[m>>2]|0,(k[B>>2]|0)+1|0);else sx(k[E>>2]|0,123,k[p>>2]|0,(k[B>>2]|0)+1|0)|0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(j[(k[s>>2]|0)+34>>1]|0))break;if((k[(k[n>>2]|0)+(k[x>>2]<<2)>>2]|0)>=0)$A(k[q>>2]|0,k[(k[(k[l>>2]|0)+4>>2]|0)+((k[(k[n>>2]|0)+(k[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(k[B>>2]|0)+2+(k[x>>2]|0)|0);else tx(k[E>>2]|0,156,k[p>>2]|0,k[x>>2]|0,(k[B>>2]|0)+2+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}l=LG(k[A>>2]|0,o)|0;k[v>>2]=l;l=k[E>>2]|0;if(k[v>>2]|0){RA(l,k[u>>2]|0)|0;if(!(k[(k[q>>2]|0)+124>>2]|0))i[(k[q>>2]|0)+20>>0]=0}else{tx(l,99,k[B>>2]|0,k[y>>2]|0,k[C>>2]|0)|0;sx(k[E>>2]|0,114,k[w>>2]|0,k[D>>2]|0)|0;tx(k[E>>2]|0,115,k[w>>2]|0,k[C>>2]|0,k[D>>2]|0)|0}a:do if(!(k[v>>2]|0)){BD(k[A>>2]|0);I=aA(k[E>>2]|0,57,k[w>>2]|0)|0;k[u>>2]=I;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[y>>2]|0))break a;tx(k[E>>2]|0,96,k[w>>2]|0,k[x>>2]|0,(k[B>>2]|0)+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}}while(0);nD(k[q>>2]|0,k[s>>2]|0);wx(k[E>>2]|0,12,0,k[y>>2]|0,k[B>>2]|0,k[z>>2]|0,-10)|0;Th(k[E>>2]|0,((k[t>>2]|0)==10?2:k[t>>2]|0)&255);dy(k[q>>2]|0);if(!(k[v>>2]|0)){sx(k[E>>2]|0,7,k[w>>2]|0,(k[u>>2]|0)+1|0)|0;hA(k[E>>2]|0,k[u>>2]|0);sx(k[E>>2]|0,111,k[w>>2]|0,0)|0;r=F;return}else{BD(k[A>>2]|0);r=F;return}}function LG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;a=k[e>>2]|0;b=(k[c>>2]|0)+20|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];r=d;return l[(k[c>>2]|0)+45>>0]|0|0}function MG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+4>>2]|0)){r=c;return}k[(k[(k[b>>2]|0)+4>>2]|0)+448>>2]=k[k[b>>2]>>2];k[(k[b>>2]|0)+4>>2]=0;r=c;return}function NG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;i=o+32|0;e=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;h=o+8|0;f=o+4|0;g=o;k[e>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;do if(((k[k[j>>2]>>2]|0)+(k[l>>2]|0)|0)>>>0>(k[(k[j>>2]|0)+4>>2]|0)>>>0){k[f>>2]=(k[k[j>>2]>>2]|0)+(k[l>>2]|0);b=cx(k[e>>2]|0,k[j>>2]|0,80+(((k[f>>2]|0)-1|0)*72|0)|0,0)|0;k[h>>2]=b;if(k[h>>2]|0){k[j>>2]=k[h>>2];b=((((uu(k[e>>2]|0,k[h>>2]|0)|0)-80|0)>>>0)/72|0)+1|0;k[g>>2]=b;k[(k[j>>2]|0)+4>>2]=k[g>>2];break}k[i>>2]=k[j>>2];n=k[i>>2]|0;r=o;return n|0}while(0);k[n>>2]=(k[k[j>>2]>>2]|0)-1;while(1){if((k[n>>2]|0)<(k[m>>2]|0))break;e=(k[j>>2]|0)+8+(((k[n>>2]|0)+(k[l>>2]|0)|0)*72|0)|0;a=(k[j>>2]|0)+8+((k[n>>2]|0)*72|0)|0;d=e+72|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));k[n>>2]=(k[n>>2]|0)+-1}b=k[j>>2]|0;k[b>>2]=(k[b>>2]|0)+(k[l>>2]|0);dS((k[j>>2]|0)+8+((k[m>>2]|0)*72|0)|0,0,(k[l>>2]|0)*72|0)|0;k[n>>2]=k[m>>2];while(1){if((k[n>>2]|0)>=((k[m>>2]|0)+(k[l>>2]|0)|0))break;k[(k[j>>2]|0)+8+((k[n>>2]|0)*72|0)+44>>2]=-1;k[n>>2]=(k[n>>2]|0)+1}k[i>>2]=k[j>>2];n=k[i>>2]|0;r=o;return n|0}function OG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;f=Q+96|0;A=Q+92|0;h=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;g=Q+40|0;o=Q+36|0;q=Q+32|0;n=Q+28|0;p=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;k[u>>2]=a;k[v>>2]=b;k[z>>2]=c;k[f>>2]=d;k[A>>2]=e;k[h>>2]=k[(k[u>>2]|0)+448>>2];k[B>>2]=k[k[u>>2]>>2];if(m[(k[B>>2]|0)+64>>1]&1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}k[J>>2]=k[(k[v>>2]|0)+28>>2];k[N>>2]=(k[J>>2]|0)+8+((k[z>>2]|0)*72|0);k[D>>2]=k[(k[N>>2]|0)+44>>2];k[K>>2]=k[(k[N>>2]|0)+20>>2];do if(k[A>>2]|0){if(k[f>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[k[J>>2]>>2]|0)>1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!((k[(k[v>>2]|0)+32>>2]|0)!=0?(k[(k[(k[v>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((Nz(k[k[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((Nz(k[(k[v>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[M>>2]=k[(k[K>>2]|0)+28>>2];if((k[(k[K>>2]|0)+56>>2]|0)!=0?(k[(k[v>>2]|0)+56>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+60>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+8>>2]&256|0)!=0?(k[(k[K>>2]|0)+56>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!(k[k[M>>2]>>2]|0)){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+8>>2]&1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+56>>2]|0)!=0?((k[f>>2]|0)!=0?1:(k[k[J>>2]>>2]|0)>1):0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[A>>2]|0)!=0?(k[(k[v>>2]|0)+8>>2]&1|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+44>>2]|0)!=0?(k[(k[K>>2]|0)+44>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[f>>2]|0)!=0?(k[(k[K>>2]|0)+44>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+56>>2]|0)!=0?(k[(k[v>>2]|0)+32>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+56>>2]|0)!=0?(k[(k[v>>2]|0)+8>>2]&1|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+8>>2]&12288){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+8>>2]&8192|0)!=0?(k[(k[K>>2]|0)+48>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(l[(k[N>>2]|0)+36>>0]&32){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}a:do if(k[(k[K>>2]|0)+48>>2]|0){if(k[(k[K>>2]|0)+44>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}do if(!(k[f>>2]|0)){if(k[(k[v>>2]|0)+8>>2]&1)break;if((k[k[J>>2]>>2]|0)!=1)break;k[L>>2]=k[K>>2];while(1){if(!(k[L>>2]|0))break;if(k[(k[L>>2]|0)+8>>2]&9){t=62;break}if((k[(k[L>>2]|0)+48>>2]|0)!=0?(l[(k[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((k[k[(k[L>>2]|0)+28>>2]>>2]|0)<1){t=62;break}k[L>>2]=k[(k[L>>2]|0)+48>>2]}if((t|0)==62){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!(k[(k[v>>2]|0)+44>>2]|0))break a;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[(k[v>>2]|0)+44>>2]>>2]|0))break a;if(!(m[(k[(k[(k[v>>2]|0)+44>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+16>>1]|0))break;k[g>>2]=(k[g>>2]|0)+1}k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[(k[u>>2]|0)+448>>2]=k[(k[N>>2]|0)+8>>2];kx(k[u>>2]|0,21,0,0,0)|0;k[(k[u>>2]|0)+448>>2]=k[h>>2];k[K>>2]=k[(k[K>>2]|0)+48>>2];while(1){if(!(k[K>>2]|0))break;k[q>>2]=k[(k[v>>2]|0)+44>>2];k[n>>2]=k[(k[v>>2]|0)+56>>2];k[p>>2]=k[(k[v>>2]|0)+60>>2];k[s>>2]=k[(k[v>>2]|0)+48>>2];k[(k[v>>2]|0)+44>>2]=0;k[(k[v>>2]|0)+28>>2]=0;k[(k[v>>2]|0)+48>>2]=0;k[(k[v>>2]|0)+56>>2]=0;k[(k[v>>2]|0)+60>>2]=0;f=iy(k[B>>2]|0,k[v>>2]|0,0)|0;k[o>>2]=f;k[(k[v>>2]|0)+60>>2]=k[p>>2];k[(k[v>>2]|0)+56>>2]=k[n>>2];k[(k[v>>2]|0)+44>>2]=k[q>>2];k[(k[v>>2]|0)+28>>2]=k[J>>2];i[(k[v>>2]|0)+4>>0]=116;f=k[s>>2]|0;if(!(k[o>>2]|0))k[(k[v>>2]|0)+48>>2]=f;else{k[(k[o>>2]|0)+48>>2]=f;if(k[s>>2]|0)k[(k[s>>2]|0)+52>>2]=k[o>>2];k[(k[o>>2]|0)+52>>2]=k[v>>2];k[(k[v>>2]|0)+48>>2]=k[o>>2]}if(i[(k[B>>2]|0)+69>>0]|0){t=78;break}k[K>>2]=k[(k[K>>2]|0)+48>>2]}if((t|0)==78){k[y>>2]=1;P=k[y>>2]|0;r=Q;return P|0}t=k[(k[N>>2]|0)+20>>2]|0;k[L>>2]=t;k[K>>2]=t;bg(k[B>>2]|0,k[(k[N>>2]|0)+4>>2]|0);bg(k[B>>2]|0,k[(k[N>>2]|0)+8>>2]|0);bg(k[B>>2]|0,k[(k[N>>2]|0)+12>>2]|0);k[(k[N>>2]|0)+4>>2]=0;k[(k[N>>2]|0)+8>>2]=0;k[(k[N>>2]|0)+12>>2]=0;k[(k[N>>2]|0)+20>>2]=0;if(k[(k[N>>2]|0)+16>>2]|0){k[w>>2]=k[(k[N>>2]|0)+16>>2];if((m[(k[w>>2]|0)+36>>1]|0)==1){f=k[u>>2]|0;if(k[(k[u>>2]|0)+124>>2]|0)f=k[f+124>>2]|0;k[x>>2]=f;k[(k[w>>2]|0)+68>>2]=k[(k[x>>2]|0)+464>>2];k[(k[x>>2]|0)+464>>2]=k[w>>2]}else{x=(k[w>>2]|0)+36|0;j[x>>1]=(j[x>>1]|0)+-1<<16>>16}k[(k[N>>2]|0)+16>>2]=0}k[I>>2]=k[v>>2];while(1){if(!(k[I>>2]|0))break;i[E>>0]=0;k[M>>2]=k[(k[K>>2]|0)+28>>2];k[F>>2]=k[k[M>>2]>>2];k[J>>2]=k[(k[I>>2]|0)+28>>2];if(!(k[J>>2]|0)){x=iw(k[B>>2]|0,0,0,0)|0;k[(k[I>>2]|0)+28>>2]=x;k[J>>2]=x;if(!(k[J>>2]|0))break}else i[E>>0]=i[(k[N>>2]|0)+36>>0]|0;if((k[F>>2]|0)>1?(x=NG(k[B>>2]|0,k[J>>2]|0,(k[F>>2]|0)-1|0,(k[z>>2]|0)+1|0)|0,k[J>>2]=x,k[(k[I>>2]|0)+28>>2]=x,(i[(k[B>>2]|0)+69>>0]|0)!=0):0)break;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[F>>2]|0))break;uv(k[B>>2]|0,k[(k[J>>2]|0)+8+(((k[C>>2]|0)+(k[z>>2]|0)|0)*72|0)+52>>2]|0);f=(k[J>>2]|0)+8+(((k[C>>2]|0)+(k[z>>2]|0)|0)*72|0)|0;c=(k[M>>2]|0)+8+((k[C>>2]|0)*72|0)|0;g=f+72|0;do{k[f>>2]=k[c>>2];f=f+4|0;c=c+4|0}while((f|0)<(g|0));f=(k[M>>2]|0)+8+((k[C>>2]|0)*72|0)|0;g=f+72|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));k[C>>2]=(k[C>>2]|0)+1}i[(k[J>>2]|0)+8+((k[z>>2]|0)*72|0)+36>>0]=i[E>>0]|0;k[G>>2]=k[k[I>>2]>>2];k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[k[G>>2]>>2]|0))break;if(!(k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+4>>2]|0)){x=Ah(k[B>>2]|0,k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+8>>2]|0)|0;k[P>>2]=x;hx(k[P>>2]|0);k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+4>>2]=k[P>>2]}k[C>>2]=(k[C>>2]|0)+1}if(k[(k[K>>2]|0)+44>>2]|0){k[H>>2]=k[(k[K>>2]|0)+44>>2];k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[k[H>>2]>>2]|0))break;j[(k[(k[H>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+16>>1]=0;k[C>>2]=(k[C>>2]|0)+1}k[(k[I>>2]|0)+44>>2]=k[H>>2];k[(k[K>>2]|0)+44>>2]=0}x=Sy(k[B>>2]|0,k[(k[K>>2]|0)+32>>2]|0,0)|0;k[O>>2]=x;if(k[A>>2]|0){k[(k[I>>2]|0)+40>>2]=k[(k[I>>2]|0)+32>>2];k[(k[I>>2]|0)+32>>2]=k[O>>2];w=k[B>>2]|0;x=Sy(k[B>>2]|0,k[(k[K>>2]|0)+40>>2]|0,0)|0;x=Gz(w,x,k[(k[I>>2]|0)+40>>2]|0)|0;k[(k[I>>2]|0)+40>>2]=x;x=_y(k[B>>2]|0,k[(k[K>>2]|0)+36>>2]|0,0)|0;k[(k[I>>2]|0)+36>>2]=x}else{x=Gz(k[B>>2]|0,k[O>>2]|0,k[(k[I>>2]|0)+32>>2]|0)|0;k[(k[I>>2]|0)+32>>2]=x}xH(k[B>>2]|0,k[I>>2]|0,k[D>>2]|0,k[k[K>>2]>>2]|0,0);x=(k[I>>2]|0)+8|0;k[x>>2]=k[x>>2]|k[(k[K>>2]|0)+8>>2]&1;if(k[(k[K>>2]|0)+56>>2]|0){k[(k[I>>2]|0)+56>>2]=k[(k[K>>2]|0)+56>>2];k[(k[K>>2]|0)+56>>2]=0}k[I>>2]=k[(k[I>>2]|0)+48>>2];k[K>>2]=k[(k[K>>2]|0)+48>>2]}pv(k[B>>2]|0,k[L>>2]|0);k[y>>2]=1;P=k[y>>2]|0;r=Q;return P|0}function PG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=r;r=r+256|0;Z=_+8|0;d=_;e=_+240|0;f=_+236|0;g=_+232|0;h=_+228|0;T=_+224|0;Q=_+220|0;Y=_+216|0;t=_+192|0;H=_+184|0;s=_+180|0;B=_+176|0;C=_+172|0;m=_+168|0;F=_+164|0;W=_+160|0;G=_+244|0;R=_+156|0;L=_+152|0;O=_+148|0;n=_+144|0;X=_+120|0;x=_+116|0;v=_+112|0;z=_+108|0;I=_+104|0;U=_+100|0;V=_+96|0;y=_+92|0;w=_+88|0;A=_+84|0;M=_+80|0;P=_+76|0;o=_+72|0;D=_+48|0;S=_+40|0;J=_+36|0;u=_+32|0;K=_+28|0;N=_+24|0;q=_+20|0;E=_+16|0;p=_+12|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[T>>2]=0;k[H>>2]=0;k[B>>2]=0;k[C>>2]=0;k[s>>2]=k[k[f>>2]>>2];k[Q>>2]=k[(k[g>>2]|0)+48>>2];a=k[h>>2]|0;k[t>>2]=k[a>>2];k[t+4>>2]=k[a+4>>2];k[t+8>>2]=k[a+8>>2];k[t+12>>2]=k[a+12>>2];k[t+16>>2]=k[a+16>>2];k[t+20>>2]=k[a+20>>2];a:do if(!(k[(k[Q>>2]|0)+44>>2]|0)){b=k[f>>2]|0;if(k[(k[Q>>2]|0)+56>>2]|0){Y=az(l[(k[g>>2]|0)+4>>0]|0)|0;k[Z>>2]=Y;Oh(b,35879,Z);k[T>>2]=1;break}Z=nx(b)|0;k[Y>>2]=Z;if((l[t>>0]|0)==12){sx(k[Y>>2]|0,107,k[t+8>>2]|0,k[k[k[g>>2]>>2]>>2]|0)|0;i[t>>0]=14}if(k[(k[g>>2]|0)+8>>2]&1024){Z=zH(k[f>>2]|0,k[g>>2]|0,t)|0;k[T>>2]=Z;break}b:do if(k[(k[g>>2]|0)+8>>2]&8192)AH(k[f>>2]|0,k[g>>2]|0,t);else{if(k[(k[g>>2]|0)+44>>2]|0){Z=BH(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[e>>2]=Z;Z=k[e>>2]|0;r=_;return Z|0}switch(l[(k[g>>2]|0)+4>>0]|0){case 116:{k[m>>2]=0;k[(k[Q>>2]|0)+12>>2]=k[(k[g>>2]|0)+12>>2];k[(k[Q>>2]|0)+16>>2]=k[(k[g>>2]|0)+16>>2];k[(k[Q>>2]|0)+56>>2]=k[(k[g>>2]|0)+56>>2];k[(k[Q>>2]|0)+60>>2]=k[(k[g>>2]|0)+60>>2];k[B>>2]=k[(k[f>>2]|0)+424>>2];Z=Zv(k[f>>2]|0,k[Q>>2]|0,t)|0;k[T>>2]=Z;k[(k[g>>2]|0)+56>>2]=0;k[(k[g>>2]|0)+60>>2]=0;if(k[T>>2]|0)break a;k[(k[g>>2]|0)+48>>2]=0;k[(k[g>>2]|0)+12>>2]=k[(k[Q>>2]|0)+12>>2];k[(k[g>>2]|0)+16>>2]=k[(k[Q>>2]|0)+16>>2];if((k[(k[g>>2]|0)+12>>2]|0)!=0?(Z=aA(k[Y>>2]|0,22,k[(k[g>>2]|0)+12>>2]|0)|0,k[m>>2]=Z,(k[(k[g>>2]|0)+16>>2]|0)!=0):0)tx(k[Y>>2]|0,146,k[(k[g>>2]|0)+12>>2]|0,(k[(k[g>>2]|0)+16>>2]|0)+1|0,k[(k[g>>2]|0)+16>>2]|0)|0;k[C>>2]=k[(k[f>>2]|0)+424>>2];Z=Zv(k[f>>2]|0,k[g>>2]|0,t)|0;k[T>>2]=Z;k[H>>2]=k[(k[g>>2]|0)+48>>2];k[(k[g>>2]|0)+48>>2]=k[Q>>2];Z=xE(j[(k[g>>2]|0)+6>>1]|0,j[(k[Q>>2]|0)+6>>1]|0)|0;j[(k[g>>2]|0)+6>>1]=Z;if(((k[(k[Q>>2]|0)+56>>2]|0)!=0?(Z=(Py(k[(k[Q>>2]|0)+56>>2]|0,F)|0)!=0,Z&(k[F>>2]|0)>0):0)?(X=j[(k[g>>2]|0)+6>>1]|0,Z=k[F>>2]|0,(X|0)>((Wj(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=k[F>>2]|0;Z=Wj(Z,((Z|0)<0)<<31>>31)|0;j[(k[g>>2]|0)+6>>1]=Z}if(!(k[m>>2]|0))break b;hA(k[Y>>2]|0,k[m>>2]|0);break b}case 115:case 117:{i[G>>0]=0;k[R>>2]=1;if((l[t>>0]|0)==(k[R>>2]|0))k[W>>2]=k[t+8>>2];else{V=(k[f>>2]|0)+40|0;Z=k[V>>2]|0;k[V>>2]=Z+1;k[W>>2]=Z;Z=sx(k[Y>>2]|0,107,k[W>>2]|0,0)|0;k[n>>2]=Z;k[(k[g>>2]|0)+20>>2]=k[n>>2];Z=(wz(k[g>>2]|0)|0)+8|0;k[Z>>2]=k[Z>>2]|32}FB(X,k[R>>2]|0,k[W>>2]|0);k[B>>2]=k[(k[f>>2]|0)+424>>2];Z=Zv(k[f>>2]|0,k[Q>>2]|0,X)|0;k[T>>2]=Z;if(k[T>>2]|0)break a;if((l[(k[g>>2]|0)+4>>0]|0)==117)i[G>>0]=2;else i[G>>0]=1;k[(k[g>>2]|0)+48>>2]=0;k[L>>2]=k[(k[g>>2]|0)+56>>2];k[(k[g>>2]|0)+56>>2]=0;k[O>>2]=k[(k[g>>2]|0)+60>>2];k[(k[g>>2]|0)+60>>2]=0;i[X>>0]=i[G>>0]|0;k[C>>2]=k[(k[f>>2]|0)+424>>2];Z=Zv(k[f>>2]|0,k[g>>2]|0,X)|0;k[T>>2]=Z;ov(k[s>>2]|0,k[(k[g>>2]|0)+44>>2]|0);k[H>>2]=k[(k[g>>2]|0)+48>>2];k[(k[g>>2]|0)+48>>2]=k[Q>>2];k[(k[g>>2]|0)+44>>2]=0;if((l[(k[g>>2]|0)+4>>0]|0)==115){Z=xE(j[(k[g>>2]|0)+6>>1]|0,j[(k[Q>>2]|0)+6>>1]|0)|0;j[(k[g>>2]|0)+6>>1]=Z}sv(k[s>>2]|0,k[(k[g>>2]|0)+56>>2]|0);k[(k[g>>2]|0)+56>>2]=k[L>>2];k[(k[g>>2]|0)+60>>2]=k[O>>2];k[(k[g>>2]|0)+12>>2]=0;k[(k[g>>2]|0)+16>>2]=0;if((l[t>>0]|0)==(k[R>>2]|0))break b;if((l[t>>0]|0)==9){k[I>>2]=k[g>>2];while(1){if(!(k[(k[I>>2]|0)+48>>2]|0))break;k[I>>2]=k[(k[I>>2]|0)+48>>2]}nH(k[f>>2]|0,k[(k[I>>2]|0)+28>>2]|0,k[k[I>>2]>>2]|0)}Z=eA(k[Y>>2]|0)|0;k[v>>2]=Z;Z=eA(k[Y>>2]|0)|0;k[x>>2]=Z;UG(k[f>>2]|0,k[g>>2]|0,k[v>>2]|0);sx(k[Y>>2]|0,57,k[W>>2]|0,k[v>>2]|0)|0;Z=Gx(k[Y>>2]|0)|0;k[z>>2]=Z;aH(k[f>>2]|0,k[g>>2]|0,k[k[g>>2]>>2]|0,k[W>>2]|0,0,0,t,k[x>>2]|0,k[v>>2]|0);iA(k[Y>>2]|0,k[x>>2]|0);sx(k[Y>>2]|0,7,k[W>>2]|0,k[z>>2]|0)|0;iA(k[Y>>2]|0,k[v>>2]|0);sx(k[Y>>2]|0,111,k[W>>2]|0,0)|0;break b}default:{Z=(k[f>>2]|0)+40|0;X=k[Z>>2]|0;k[Z>>2]=X+1;k[U>>2]=X;X=(k[f>>2]|0)+40|0;Z=k[X>>2]|0;k[X>>2]=Z+1;k[V>>2]=Z;Z=sx(k[Y>>2]|0,107,k[U>>2]|0,0)|0;k[o>>2]=Z;k[(k[g>>2]|0)+20>>2]=k[o>>2];Z=(wz(k[g>>2]|0)|0)+8|0;k[Z>>2]=k[Z>>2]|32;FB(D,1,k[U>>2]|0);k[B>>2]=k[(k[f>>2]|0)+424>>2];Z=Zv(k[f>>2]|0,k[Q>>2]|0,D)|0;k[T>>2]=Z;if(k[T>>2]|0)break a;Z=sx(k[Y>>2]|0,107,k[V>>2]|0,0)|0;k[o>>2]=Z;k[(k[g>>2]|0)+20+4>>2]=k[o>>2];k[(k[g>>2]|0)+48>>2]=0;k[M>>2]=k[(k[g>>2]|0)+56>>2];k[(k[g>>2]|0)+56>>2]=0;k[P>>2]=k[(k[g>>2]|0)+60>>2];k[(k[g>>2]|0)+60>>2]=0;k[D+8>>2]=k[V>>2];k[C>>2]=k[(k[f>>2]|0)+424>>2];Z=Zv(k[f>>2]|0,k[g>>2]|0,D)|0;k[T>>2]=Z;k[H>>2]=k[(k[g>>2]|0)+48>>2];k[(k[g>>2]|0)+48>>2]=k[Q>>2];if((j[(k[g>>2]|0)+6>>1]|0)>(j[(k[Q>>2]|0)+6>>1]|0))j[(k[g>>2]|0)+6>>1]=j[(k[Q>>2]|0)+6>>1]|0;sv(k[s>>2]|0,k[(k[g>>2]|0)+56>>2]|0);k[(k[g>>2]|0)+56>>2]=k[M>>2];k[(k[g>>2]|0)+60>>2]=k[P>>2];if((l[t>>0]|0)==9){k[J>>2]=k[g>>2];while(1){if(!(k[(k[J>>2]|0)+48>>2]|0))break;k[J>>2]=k[(k[J>>2]|0)+48>>2]}nH(k[f>>2]|0,k[(k[J>>2]|0)+28>>2]|0,k[k[J>>2]>>2]|0)}Z=eA(k[Y>>2]|0)|0;k[w>>2]=Z;Z=eA(k[Y>>2]|0)|0;k[y>>2]=Z;UG(k[f>>2]|0,k[g>>2]|0,k[w>>2]|0);sx(k[Y>>2]|0,57,k[U>>2]|0,k[w>>2]|0)|0;Z=Fx(k[f>>2]|0)|0;k[S>>2]=Z;Z=sx(k[Y>>2]|0,121,k[U>>2]|0,k[S>>2]|0)|0;k[A>>2]=Z;Sh(k[Y>>2]|0,30,k[V>>2]|0,k[y>>2]|0,k[S>>2]|0,0)|0;Hx(k[f>>2]|0,k[S>>2]|0);aH(k[f>>2]|0,k[g>>2]|0,k[k[g>>2]>>2]|0,k[U>>2]|0,0,0,t,k[y>>2]|0,k[w>>2]|0);iA(k[Y>>2]|0,k[y>>2]|0);sx(k[Y>>2]|0,7,k[U>>2]|0,k[A>>2]|0)|0;iA(k[Y>>2]|0,k[w>>2]|0);sx(k[Y>>2]|0,111,k[V>>2]|0,0)|0;sx(k[Y>>2]|0,111,k[U>>2]|0,0)|0;break b}}}while(0);CH(k[f>>2]|0,l[(k[g>>2]|0)+4>>0]|0,k[B>>2]|0,k[C>>2]|0,(l[(k[g>>2]|0)+4>>0]|0)!=116&1);if(k[(k[g>>2]|0)+8>>2]&32){k[E>>2]=k[k[k[g>>2]>>2]>>2];Z=sA(k[s>>2]|0,k[E>>2]|0,1)|0;k[K>>2]=Z;if(!(k[K>>2]|0)){k[T>>2]=7;break}k[u>>2]=0;k[q>>2]=(k[K>>2]|0)+20;while(1){if((k[u>>2]|0)>=(k[E>>2]|0))break;Z=DH(k[f>>2]|0,k[g>>2]|0,k[u>>2]|0)|0;k[k[q>>2]>>2]=Z;if(!(k[k[q>>2]>>2]|0))k[k[q>>2]>>2]=k[(k[s>>2]|0)+8>>2];k[u>>2]=(k[u>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+4}k[N>>2]=k[g>>2];while(1){if(!(k[N>>2]|0))break;k[u>>2]=0;while(1){if((k[u>>2]|0)>=2)break;k[p>>2]=k[(k[N>>2]|0)+20+(k[u>>2]<<2)>>2];if((k[p>>2]|0)<0)break;nA(k[Y>>2]|0,k[p>>2]|0,k[E>>2]|0);X=k[Y>>2]|0;Z=k[p>>2]|0;Wh(X,Z,xA(k[K>>2]|0)|0,-6);k[(k[N>>2]|0)+20+(k[u>>2]<<2)>>2]=-1;k[u>>2]=(k[u>>2]|0)+1}k[N>>2]=k[(k[N>>2]|0)+48>>2]}tA(k[K>>2]|0)}}else{Z=k[f>>2]|0;Y=az(l[(k[g>>2]|0)+4>>0]|0)|0;k[d>>2]=Y;Oh(Z,35831,d);k[T>>2]=1}while(0);k[(k[h>>2]|0)+12>>2]=k[t+12>>2];k[(k[h>>2]|0)+16>>2]=k[t+16>>2];pv(k[s>>2]|0,k[H>>2]|0);k[e>>2]=k[T>>2];Z=k[e>>2]|0;r=_;return Z|0}function QG(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;Lz(k[d>>2]|0,b);r=c;return k[b>>2]|0}function RG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;j=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=0;if(!(k[h>>2]|0)){k[e>>2]=0;o=k[e>>2]|0;r=p;return o|0}k[n>>2]=k[g>>2];while(1){if(!(k[n>>2]|0))break;if(k[(k[n>>2]|0)+8>>2]&8200){o=6;break}k[n>>2]=k[(k[n>>2]|0)+48>>2]}if((o|0)==6){k[e>>2]=0;o=k[e>>2]|0;r=p;return o|0}if(k[(k[g>>2]|0)+56>>2]|0){k[e>>2]=0;o=k[e>>2]|0;r=p;return o|0}while(1){if((l[k[h>>2]>>0]|0|0)!=28)break;o=RG(k[f>>2]|0,k[g>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[i>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+o;k[h>>2]=k[(k[h>>2]|0)+12>>2]}if(k[(k[h>>2]|0)+4>>2]&1){k[e>>2]=0;o=k[e>>2]|0;r=p;return o|0}a:do if(rE(k[h>>2]|0,k[i>>2]|0)|0){k[j>>2]=(k[j>>2]|0)+1;while(1){if(!(k[g>>2]|0))break a;o=Sy(k[f>>2]|0,k[h>>2]|0,0)|0;k[m>>2]=o;o=wH(k[f>>2]|0,k[m>>2]|0,k[i>>2]|0,k[k[g>>2]>>2]|0)|0;k[m>>2]=o;o=Gz(k[f>>2]|0,k[(k[g>>2]|0)+32>>2]|0,k[m>>2]|0)|0;k[(k[g>>2]|0)+32>>2]=o;k[g>>2]=k[(k[g>>2]|0)+48>>2]}}while(0);k[e>>2]=k[j>>2];o=k[e>>2]|0;r=p;return o|0}function SG(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+19>>0]=0;k[(k[c>>2]|0)+28>>2]=0;r=b;return}function TG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;e=p+36|0;f=p+32|0;g=p+28|0;q=p+24|0;l=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[q>>2]=d;k[h>>2]=k[k[e>>2]>>2];k[l>>2]=k[k[f>>2]>>2];a=sA(k[h>>2]|0,(k[l>>2]|0)-(k[g>>2]|0)|0,(k[q>>2]|0)+1|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){q=k[n>>2]|0;r=p;return q|0}k[j>>2]=k[g>>2];k[o>>2]=(k[(k[f>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0);while(1){if((k[j>>2]|0)>=(k[l>>2]|0))break;q=py(k[e>>2]|0,k[k[o>>2]>>2]|0)|0;k[m>>2]=q;if(!(k[m>>2]|0))k[m>>2]=k[(k[h>>2]|0)+8>>2];k[(k[n>>2]|0)+20+((k[j>>2]|0)-(k[g>>2]|0)<<2)>>2]=k[m>>2];i[(k[(k[n>>2]|0)+16>>2]|0)+((k[j>>2]|0)-(k[g>>2]|0))>>0]=i[(k[o>>2]|0)+12>>0]|0;k[j>>2]=(k[j>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+20}q=k[n>>2]|0;r=p;return q|0}function UG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;i=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=0;k[g>>2]=0;if(k[(k[e>>2]|0)+12>>2]|0){r=m;return}OC(k[d>>2]|0);if(!(k[(k[e>>2]|0)+56>>2]|0)){r=m;return}b=(k[d>>2]|0)+44|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[g>>2]=a;k[(k[e>>2]|0)+12>>2]=a;a=nx(k[d>>2]|0)|0;k[l>>2]=a;do if(Py(k[(k[e>>2]|0)+56>>2]|0,i)|0){sx(k[l>>2]|0,76,k[i>>2]|0,k[g>>2]|0)|0;if(!(k[i>>2]|0)){gA(k[l>>2]|0,k[f>>2]|0)|0;break}if((k[i>>2]|0)>=0?(b=j[(k[e>>2]|0)+6>>1]|0,a=k[i>>2]|0,(b|0)>((Wj(a,((a|0)<0)<<31>>31)|0)<<16>>16|0)):0){a=k[i>>2]|0;a=Wj(a,((a|0)<0)<<31>>31)|0;j[(k[e>>2]|0)+6>>1]=a;a=(k[e>>2]|0)+8|0;k[a>>2]=k[a>>2]|16384}}else{$A(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0,k[g>>2]|0);aA(k[l>>2]|0,17,k[g>>2]|0)|0;sx(k[l>>2]|0,22,k[g>>2]|0,k[f>>2]|0)|0}while(0);if(!(k[(k[e>>2]|0)+60>>2]|0)){r=m;return}b=(k[d>>2]|0)+44|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[h>>2]=a;k[(k[e>>2]|0)+16>>2]=a;a=(k[d>>2]|0)+44|0;k[a>>2]=(k[a>>2]|0)+1;$A(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0,k[h>>2]|0);aA(k[l>>2]|0,17,k[h>>2]|0)|0;tx(k[l>>2]|0,146,k[g>>2]|0,(k[h>>2]|0)+1|0,k[h>>2]|0)|0;r=m;return}function VG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+4|0;e=d;g=d+8|0;k[f>>2]=a;k[e>>2]=b;i[g>>0]=c;c=i[g>>0]|0;a=oA(k[f>>2]|0,k[e>>2]|0)|0;i[a>>0]=c;r=d;return}function WG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return j[(k[b>>2]|0)+72>>1]|0}function XG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+47>>0]|0|0}function YG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return i[(k[b>>2]|0)+43>>0]|0}function ZG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+48>>0]|0|0}function _G(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+28>>2]|0}function $G(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+32>>2]|0}function aH(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=r;r=r+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;n=V+112|0;R=V+108|0;o=V+104|0;L=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;q=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;N=V+64|0;M=V+60|0;p=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;G=V+36|0;v=V+32|0;J=V+28|0;H=V+24|0;E=V+20|0;I=V+16|0;K=V+12|0;z=V+8|0;B=V+4|0;F=V;k[P>>2]=a;k[Q>>2]=b;k[t>>2]=c;k[n>>2]=d;k[R>>2]=e;k[o>>2]=f;k[L>>2]=g;k[u>>2]=h;k[S>>2]=j;k[U>>2]=k[(k[P>>2]|0)+8>>2];k[C>>2]=l[k[L>>2]>>0];k[O>>2]=k[(k[L>>2]|0)+8>>2];k[M>>2]=0;if(k[o>>2]|0)j=l[(k[o>>2]|0)+1>>0]|0;else j=0;k[q>>2]=j;if((k[R>>2]|0)!=0?(k[k[R>>2]>>2]|0)==0:0)k[R>>2]=0;if(!((k[R>>2]|0)!=0|(k[q>>2]|0)!=0))pH(k[U>>2]|0,k[(k[Q>>2]|0)+16>>2]|0,k[u>>2]|0);k[N>>2]=k[k[t>>2]>>2];if(k[(k[L>>2]|0)+12>>2]|0){if(((k[(k[L>>2]|0)+12>>2]|0)+(k[N>>2]|0)|0)>(k[(k[P>>2]|0)+44>>2]|0)){d=(k[P>>2]|0)+44|0;k[d>>2]=(k[d>>2]|0)+(k[N>>2]|0)}}else{if(k[R>>2]|0){k[M>>2]=k[k[k[R>>2]>>2]>>2];if(!((l[(k[R>>2]|0)+28>>0]|0)&1))k[M>>2]=(k[M>>2]|0)+1;d=(k[P>>2]|0)+44|0;k[d>>2]=(k[d>>2]|0)+(k[M>>2]|0)}k[(k[L>>2]|0)+12>>2]=(k[(k[P>>2]|0)+44>>2]|0)+1;d=(k[P>>2]|0)+44|0;k[d>>2]=(k[d>>2]|0)+(k[N>>2]|0)}k[(k[L>>2]|0)+16>>2]=k[N>>2];k[T>>2]=k[(k[L>>2]|0)+12>>2];a:do if((k[n>>2]|0)<0){if((k[C>>2]|0)!=3){if((k[C>>2]|0)==10|(k[C>>2]|0)==9|(k[C>>2]|0)==13)i[p>>0]=1;else i[p>>0]=0;kB(k[P>>2]|0,k[t>>2]|0,k[T>>2]|0,0,i[p>>0]|0)|0}}else{k[D>>2]=0;while(1){if((k[D>>2]|0)>=(k[N>>2]|0))break a;tx(k[U>>2]|0,96,k[n>>2]|0,k[D>>2]|0,(k[T>>2]|0)+(k[D>>2]|0)|0)|0;k[D>>2]=(k[D>>2]|0)+1}}while(0);if(k[q>>2]|0){switch(l[(k[o>>2]|0)+1>>0]|0|0){case 2:{k[A>>2]=(k[(k[P>>2]|0)+44>>2]|0)+1;q=(k[P>>2]|0)+44|0;k[q>>2]=(k[q>>2]|0)+(k[N>>2]|0);RA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;q=oA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[s>>2]=q;i[k[s>>2]>>0]=79;k[(k[s>>2]|0)+4>>2]=1;k[(k[s>>2]|0)+8>>2]=k[A>>2];s=Gx(k[U>>2]|0)|0;k[w>>2]=s+(k[N>>2]|0);k[D>>2]=0;while(1){if((k[D>>2]|0)>=(k[N>>2]|0))break;j=py(k[P>>2]|0,k[(k[(k[t>>2]|0)+4>>2]|0)+((k[D>>2]|0)*20|0)>>2]|0)|0;k[x>>2]=j;j=k[U>>2]|0;h=(k[T>>2]|0)+(k[D>>2]|0)|0;if((k[D>>2]|0)<((k[N>>2]|0)-1|0))tx(j,36,h,k[w>>2]|0,(k[A>>2]|0)+(k[D>>2]|0)|0)|0;else tx(j,37,h,k[u>>2]|0,(k[A>>2]|0)+(k[D>>2]|0)|0)|0;Wh(k[U>>2]|0,-1,k[x>>2]|0,-4);Th(k[U>>2]|0,-128);k[D>>2]=(k[D>>2]|0)+1}tx(k[U>>2]|0,84,k[T>>2]|0,k[A>>2]|0,(k[N>>2]|0)-1|0)|0;break}case 1:{RA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;break}default:qH(k[P>>2]|0,k[(k[o>>2]|0)+4>>2]|0,k[u>>2]|0,k[N>>2]|0,k[T>>2]|0)}if(!(k[R>>2]|0))pH(k[U>>2]|0,k[(k[Q>>2]|0)+16>>2]|0,k[u>>2]|0)}b:do switch(k[C>>2]|0){case 1:{M=Fx(k[P>>2]|0)|0;k[y>>2]=M;tx(k[U>>2]|0,99,k[T>>2]|0,k[N>>2]|0,k[y>>2]|0)|0;sx(k[U>>2]|0,126,k[O>>2]|0,k[y>>2]|0)|0;Hx(k[P>>2]|0,k[y>>2]|0);break}case 2:{tx(k[U>>2]|0,127,k[O>>2]|0,k[T>>2]|0,k[N>>2]|0)|0;break}case 12:case 14:case 6:case 5:{L=MA(k[P>>2]|0,(k[M>>2]|0)+1|0)|0;k[G>>2]=L;tx(k[U>>2]|0,99,k[T>>2]|0,k[N>>2]|0,(k[G>>2]|0)+(k[M>>2]|0)|0)|0;if((k[C>>2]|0)==6){N=(Gx(k[U>>2]|0)|0)+4|0;k[v>>2]=N;Sh(k[U>>2]|0,31,(k[O>>2]|0)+1|0,k[v>>2]|0,k[G>>2]|0,0)|0;sx(k[U>>2]|0,126,(k[O>>2]|0)+1|0,k[G>>2]|0)|0}j=k[P>>2]|0;if(k[R>>2]|0)vH(j,k[R>>2]|0,k[Q>>2]|0,(k[G>>2]|0)+(k[M>>2]|0)|0,k[T>>2]|0,1,k[M>>2]|0);else{T=Fx(j)|0;k[J>>2]=T;sx(k[U>>2]|0,114,k[O>>2]|0,k[J>>2]|0)|0;tx(k[U>>2]|0,115,k[O>>2]|0,k[G>>2]|0,k[J>>2]|0)|0;Th(k[U>>2]|0,8);Hx(k[P>>2]|0,k[J>>2]|0)}PA(k[P>>2]|0,k[G>>2]|0,(k[M>>2]|0)+1|0);break}case 11:{j=k[P>>2]|0;if(k[R>>2]|0){vH(j,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,k[N>>2]|0,k[M>>2]|0);break b}else{M=Fx(j)|0;k[H>>2]=M;wx(k[U>>2]|0,99,k[T>>2]|0,k[N>>2]|0,k[H>>2]|0,k[(k[L>>2]|0)+4>>2]|0,k[N>>2]|0)|0;eB(k[P>>2]|0,k[T>>2]|0,k[N>>2]|0);sx(k[U>>2]|0,126,k[O>>2]|0,k[H>>2]|0)|0;Hx(k[P>>2]|0,k[H>>2]|0);break b}}case 3:{sx(k[U>>2]|0,76,1,k[O>>2]|0)|0;break}case 10:{if(k[R>>2]|0)vH(k[P>>2]|0,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,k[N>>2]|0,k[M>>2]|0);break}case 9:case 13:{if(k[R>>2]|0){vH(k[P>>2]|0,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,k[N>>2]|0,k[M>>2]|0);break b}j=k[U>>2]|0;if((k[C>>2]|0)==13){aA(j,16,k[(k[L>>2]|0)+8>>2]|0)|0;break b}else{sx(j,87,k[T>>2]|0,k[N>>2]|0)|0;eB(k[P>>2]|0,k[T>>2]|0,k[N>>2]|0);break b}}case 7:case 8:{k[B>>2]=0;k[F>>2]=k[(k[L>>2]|0)+20>>2];k[E>>2]=k[k[F>>2]>>2];M=Fx(k[P>>2]|0)|0;k[I>>2]=M;M=MA(k[P>>2]|0,(k[E>>2]|0)+2|0)|0;k[K>>2]=M;k[z>>2]=(k[K>>2]|0)+(k[E>>2]|0)+1;if((k[C>>2]|0)==8){M=Sh(k[U>>2]|0,31,(k[O>>2]|0)+1|0,0,k[T>>2]|0,k[N>>2]|0)|0;k[B>>2]=M}tx(k[U>>2]|0,99,k[T>>2]|0,k[N>>2]|0,k[z>>2]|0)|0;if((k[C>>2]|0)==8){sx(k[U>>2]|0,126,(k[O>>2]|0)+1|0,k[z>>2]|0)|0;Th(k[U>>2]|0,16)}k[D>>2]=0;while(1){j=k[U>>2]|0;if((k[D>>2]|0)>=(k[E>>2]|0))break;sx(j,85,(k[T>>2]|0)+(m[(k[(k[F>>2]|0)+4>>2]|0)+((k[D>>2]|0)*20|0)+16>>1]|0)-1|0,(k[K>>2]|0)+(k[D>>2]|0)|0)|0;k[D>>2]=(k[D>>2]|0)+1}sx(j,113,k[O>>2]|0,(k[K>>2]|0)+(k[E>>2]|0)|0)|0;tx(k[U>>2]|0,99,k[K>>2]|0,(k[E>>2]|0)+2|0,k[I>>2]|0)|0;sx(k[U>>2]|0,126,k[O>>2]|0,k[I>>2]|0)|0;if(k[B>>2]|0)hA(k[U>>2]|0,k[B>>2]|0);Hx(k[P>>2]|0,k[I>>2]|0);PA(k[P>>2]|0,k[K>>2]|0,(k[E>>2]|0)+2|0);break}default:{}}while(0);if(k[R>>2]|0){r=V;return}if(!(k[(k[Q>>2]|0)+12>>2]|0)){r=V;return}sx(k[U>>2]|0,68,k[(k[Q>>2]|0)+12>>2]|0,k[S>>2]|0)|0;r=V;return}function bH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[f>>2]=k[(k[d>>2]|0)+4>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;cH(k[c>>2]|0,k[k[f>>2]>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}r=g;return}function cH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+48|0;f=c+32|0;d=c+28|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+4>>2]=203;k[e+8>>2]=204;k[e+24>>2]=k[f>>2];Gy(e,k[d>>2]|0)|0;r=c;return}function dH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;f=h;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;k[c>>2]=a;k[d>>2]=b;if((l[(k[c>>2]|0)+409>>0]|0|0)!=2){r=h;return}k[e>>2]=k[(k[c>>2]|0)+8>>2];b=k[k[c>>2]>>2]|0;k[f>>2]=k[d>>2];b=Qh(b,35808,f)|0;k[g>>2]=b;wx(k[e>>2]|0,162,k[(k[c>>2]|0)+420>>2]|0,0,0,k[g>>2]|0,-1)|0;r=h;return}function eH(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+44>>0]|0|0}function fH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;i=e+4|0;f=e;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[f>>2]=d;tx(k[(k[h>>2]|0)+8>>2]|0,83,k[g>>2]|0,k[i>>2]|0,k[f>>2]|0)|0;QA(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);r=e;return}function gH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+56|0;d=v+52|0;u=v+48|0;g=v+44|0;t=v+40|0;e=v+36|0;o=v+32|0;l=v+28|0;j=v+24|0;f=v+20|0;s=v+16|0;q=v+12|0;n=v+8|0;p=v+4|0;h=v;k[c>>2]=a;k[d>>2]=b;k[u>>2]=k[(k[c>>2]|0)+8>>2];k[t>>2]=0;k[e>>2]=0;i[k[d>>2]>>0]=1;k[g>>2]=0;k[o>>2]=k[(k[d>>2]|0)+40>>2];while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+44>>2]|0))break;k[f>>2]=0;k[q>>2]=k[(k[k[o>>2]>>2]|0)+20>>2];if(k[q>>2]|0){k[j>>2]=k[k[q>>2]>>2];a=MA(k[c>>2]|0,k[j>>2]|0)|0;k[s>>2]=a;kB(k[c>>2]|0,k[q>>2]|0,k[s>>2]|0,0,1)|0}else{k[j>>2]=0;k[s>>2]=0}if((k[(k[o>>2]|0)+12>>2]|0)>=0){a=eA(k[u>>2]|0)|0;k[f>>2]=a;qH(k[c>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[f>>2]|0,1,k[s>>2]|0)}if((m[(k[(k[o>>2]|0)+4>>2]|0)+2>>1]|0)&32){k[n>>2]=0;k[h>>2]=0;k[p>>2]=k[(k[q>>2]|0)+4>>2];while(1){if(k[n>>2]|0)break;if((k[h>>2]|0)>=(k[j>>2]|0))break;a=py(k[c>>2]|0,k[k[p>>2]>>2]|0)|0;k[n>>2]=a;k[h>>2]=(k[h>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}if(!(k[n>>2]|0))k[n>>2]=k[(k[k[c>>2]>>2]|0)+8>>2];if((k[t>>2]|0)==0?(k[(k[d>>2]|0)+36>>2]|0)!=0:0){b=(k[c>>2]|0)+44|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[t>>2]=a}wx(k[u>>2]|0,88,k[t>>2]|0,0,0,k[n>>2]|0,-4)|0}wx(k[u>>2]|0,147,0,k[s>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+4>>2]|0,-5)|0;Th(k[u>>2]|0,k[j>>2]&255);eB(k[c>>2]|0,k[s>>2]|0,k[j>>2]|0);PA(k[c>>2]|0,k[s>>2]|0,k[j>>2]|0);if(k[f>>2]|0){iA(k[u>>2]|0,k[f>>2]|0);OC(k[c>>2]|0)}k[g>>2]=(k[g>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+16}if(k[t>>2]|0){t=aA(k[u>>2]|0,21,k[t>>2]|0)|0;k[e>>2]=t}OC(k[c>>2]|0);k[g>>2]=0;k[l>>2]=k[(k[d>>2]|0)+28>>2];while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+36>>2]|0))break;$A(k[c>>2]|0,k[(k[l>>2]|0)+20>>2]|0,k[(k[l>>2]|0)+16>>2]|0);k[g>>2]=(k[g>>2]|0)+1;k[l>>2]=(k[l>>2]|0)+24}i[k[d>>2]>>0]=0;OC(k[c>>2]|0);if(!(k[e>>2]|0)){r=v;return}hA(k[u>>2]|0,k[e>>2]|0);r=v;return}function hH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+20|0;c=h+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;k[i>>2]=a;k[c>>2]=b;k[g>>2]=k[(k[i>>2]|0)+8>>2];k[d>>2]=0;k[e>>2]=k[(k[c>>2]|0)+40>>2];while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+44>>2]|0))break;k[f>>2]=k[(k[k[e>>2]>>2]|0)+20>>2];if(k[f>>2]|0)b=k[k[f>>2]>>2]|0;else b=0;wx(k[g>>2]|0,149,k[(k[e>>2]|0)+8>>2]|0,b,0,k[(k[e>>2]|0)+4>>2]|0,-5)|0;k[d>>2]=(k[d>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+16}r=h;return}function iH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+48|0;j=l;c=l+32|0;d=l+28|0;i=l+24|0;e=l+20|0;g=l+16|0;m=l+12|0;f=l+8|0;h=l+4|0;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[c>>2]|0)+8>>2];k[m>>2]=(k[(k[d>>2]|0)+44>>2]|0)+(k[(k[d>>2]|0)+32>>2]|0);if(!(k[m>>2]|0)){r=l;return}tx(k[i>>2]|0,79,0,k[(k[d>>2]|0)+16>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0;k[g>>2]=k[(k[d>>2]|0)+40>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+44>>2]|0))break;do if((k[(k[g>>2]|0)+12>>2]|0)>=0){k[f>>2]=k[k[g>>2]>>2];if((k[(k[f>>2]|0)+20>>2]|0)!=0?(k[k[(k[f>>2]|0)+20>>2]>>2]|0)==1:0){m=TG(k[c>>2]|0,k[(k[f>>2]|0)+20>>2]|0,0,0)|0;k[h>>2]=m;wx(k[i>>2]|0,107,k[(k[g>>2]|0)+12>>2]|0,0,0,k[h>>2]|0,-6)|0;break}Oh(k[c>>2]|0,35757,j);k[(k[g>>2]|0)+12>>2]=-1}while(0);k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+16}r=l;return}function jH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if((((k[(k[d>>2]|0)+32>>2]|0)==0?(k[k[k[d>>2]>>2]>>2]|0)==1:0)?(k[k[(k[d>>2]|0)+28>>2]>>2]|0)==1:0)?(k[(k[(k[d>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){k[g>>2]=k[(k[(k[d>>2]|0)+28>>2]|0)+8+16>>2];k[f>>2]=k[k[(k[k[d>>2]>>2]|0)+4>>2]>>2];if((l[(k[g>>2]|0)+42>>0]|0)&16){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if((l[k[f>>2]>>0]|0|0)!=153){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(!(k[(k[e>>2]|0)+44>>2]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(!((m[(k[(k[(k[e>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(k[(k[f>>2]|0)+4>>2]&16){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}else{k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}}k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function kH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;h=m;f=m+28|0;g=m+24|0;d=m+20|0;e=m+16|0;j=m+12|0;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;if((l[(k[f>>2]|0)+409>>0]|0|0)!=2){r=m;return}if(k[d>>2]|0)if(!((l[(k[g>>2]|0)+42>>0]|0)&32))c=1;else c=(i[(k[d>>2]|0)+55>>0]&3|0)==2^1;else c=0;k[e>>2]=c&1;a=k[k[f>>2]>>2]|0;b=(k[e>>2]|0)!=0?35716:18402;if(k[e>>2]|0)c=k[k[d>>2]>>2]|0;else c=18402;k[h>>2]=k[k[g>>2]>>2];k[h+4>>2]=b;k[h+8>>2]=c;h=Qh(a,35739,h)|0;k[j>>2]=h;wx(k[(k[f>>2]|0)+8>>2]|0,162,k[(k[f>>2]|0)+420>>2]|0,0,0,k[j>>2]|0,-1)|0;r=m;return}function lH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[k[d>>2]>>2]=0;do if((((k[(k[c>>2]|0)+44>>2]|0)==1?(k[g>>2]=k[k[(k[c>>2]|0)+40>>2]>>2],k[f>>2]=k[(k[g>>2]|0)+20>>2],(k[f>>2]|0)!=0):0)?(k[k[f>>2]>>2]|0)==1:0)?(l[k[k[(k[f>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){k[h>>2]=k[(k[g>>2]|0)+8>>2];if(!(sg(k[h>>2]|0,35708)|0)){k[e>>2]=1;k[k[d>>2]>>2]=k[f>>2];break}if(!(sg(k[h>>2]|0,35712)|0)){k[e>>2]=2;k[k[d>>2]>>2]=k[f>>2]}}while(0);r=i;return k[e>>2]&255|0}function mH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;u=E+84|0;f=E+80|0;B=E+76|0;v=E+72|0;s=E+68|0;D=E+64|0;C=E+60|0;w=E+56|0;A=E+52|0;g=E+48|0;z=E+44|0;p=E+40|0;x=E+36|0;j=E+32|0;t=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;o=E+12|0;i=E+8|0;h=E+4|0;q=E;k[u>>2]=a;k[f>>2]=b;k[B>>2]=c;k[v>>2]=d;k[s>>2]=e;k[D>>2]=k[(k[u>>2]|0)+8>>2];k[C>>2]=k[(k[B>>2]|0)+24>>2];c=eA(k[D>>2]|0)|0;k[w>>2]=c;k[g>>2]=0;k[p>>2]=k[k[B>>2]>>2];k[x>>2]=l[k[s>>2]>>0];k[j>>2]=k[(k[s>>2]|0)+8>>2];if(k[(k[B>>2]|0)+16>>2]|0){sx(k[D>>2]|0,14,k[(k[B>>2]|0)+12>>2]|0,k[(k[B>>2]|0)+16>>2]|0)|0;gA(k[D>>2]|0,k[C>>2]|0)|0;iA(k[D>>2]|0,k[(k[B>>2]|0)+16>>2]|0)}k[z>>2]=k[(k[B>>2]|0)+8>>2];if((k[x>>2]|0)==9|(k[x>>2]|0)==13|(k[x>>2]|0)==10){k[y>>2]=0;k[t>>2]=k[(k[s>>2]|0)+12>>2];k[o>>2]=k[v>>2]}else{c=Fx(k[u>>2]|0)|0;k[y>>2]=c;c=MA(k[u>>2]|0,k[v>>2]|0)|0;k[t>>2]=c;k[o>>2]=k[v>>2]}k[n>>2]=(k[k[p>>2]>>2]|0)-(k[(k[B>>2]|0)+4>>2]|0);if((l[(k[B>>2]|0)+28>>0]|0)&1){c=(k[u>>2]|0)+44|0;a=(k[c>>2]|0)+1|0;k[c>>2]=a;k[q>>2]=a;a=(k[u>>2]|0)+40|0;c=k[a>>2]|0;k[a>>2]=c+1;k[m>>2]=c;if(k[(k[B>>2]|0)+16>>2]|0){c=px(k[D>>2]|0,20)|0;k[g>>2]=c}tx(k[D>>2]|0,110,k[m>>2]|0,k[q>>2]|0,(k[n>>2]|0)+1+(k[o>>2]|0)|0)|0;if(k[g>>2]|0)hA(k[D>>2]|0,k[g>>2]|0);c=1+(sx(k[D>>2]|0,55,k[z>>2]|0,k[C>>2]|0)|0)|0;k[A>>2]=c;pH(k[D>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[w>>2]|0);tx(k[D>>2]|0,120,k[z>>2]|0,k[q>>2]|0,k[m>>2]|0)|0;k[h>>2]=0}else{q=1+(sx(k[D>>2]|0,56,k[z>>2]|0,k[C>>2]|0)|0)|0;k[A>>2]=q;pH(k[D>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[w>>2]|0);k[m>>2]=k[z>>2];k[h>>2]=1}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[o>>2]|0))break;tx(k[D>>2]|0,96,k[m>>2]|0,(k[n>>2]|0)+(k[h>>2]|0)+(k[i>>2]|0)|0,(k[t>>2]|0)+(k[i>>2]|0)|0)|0;k[i>>2]=(k[i>>2]|0)+1}a:do switch(k[x>>2]|0){case 12:{sx(k[D>>2]|0,114,k[j>>2]|0,k[y>>2]|0)|0;tx(k[D>>2]|0,115,k[j>>2]|0,k[t>>2]|0,k[y>>2]|0)|0;Th(k[D>>2]|0,8);break}case 11:{wx(k[D>>2]|0,99,k[t>>2]|0,k[v>>2]|0,k[y>>2]|0,k[(k[s>>2]|0)+4>>2]|0,k[v>>2]|0)|0;eB(k[u>>2]|0,k[t>>2]|0,k[v>>2]|0);sx(k[D>>2]|0,126,k[j>>2]|0,k[y>>2]|0)|0;break}case 10:break;default:{f=k[D>>2]|0;g=k[s>>2]|0;if((k[x>>2]|0)==9){sx(f,87,k[g+12>>2]|0,k[v>>2]|0)|0;eB(k[u>>2]|0,k[(k[s>>2]|0)+12>>2]|0,k[v>>2]|0);break a}else{aA(f,16,k[g+8>>2]|0)|0;break a}}}while(0);if(k[y>>2]|0){g=k[u>>2]|0;f=k[t>>2]|0;if((k[x>>2]|0)==11)PA(g,f,k[v>>2]|0);else Hx(g,f);Hx(k[u>>2]|0,k[y>>2]|0)}iA(k[D>>2]|0,k[w>>2]|0);h=k[D>>2]|0;g=k[z>>2]|0;f=k[A>>2]|0;if((l[(k[B>>2]|0)+28>>0]|0)&1)sx(h,3,g,f)|0;else sx(h,7,g,f)|0;if(!(k[(k[B>>2]|0)+12>>2]|0)){B=k[D>>2]|0;D=k[C>>2]|0;iA(B,D);r=E;return}aA(k[D>>2]|0,72,k[(k[B>>2]|0)+12>>2]|0)|0;B=k[D>>2]|0;D=k[C>>2]|0;iA(B,D);r=E;return}function nH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;v=A+8|0;u=A;d=A+72|0;e=A+68|0;f=A+64|0;t=A+60|0;m=A+56|0;o=A+52|0;g=A+48|0;h=A+44|0;s=A+40|0;p=A+36|0;y=A+32|0;q=A+28|0;x=A+24|0;n=A+20|0;z=A+16|0;w=A+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[t>>2]=k[(k[d>>2]|0)+8>>2];k[g>>2]=k[k[d>>2]>>2];if(i[(k[d>>2]|0)+409>>0]|0){r=A;return}if(l[(k[d>>2]|0)+16>>0]|0){r=A;return}if(l[(k[g>>2]|0)+69>>0]|0){r=A;return}i[(k[d>>2]|0)+16>>0]=1;k[h>>2]=(k[(k[g>>2]|0)+24>>2]&4|0)!=0&1;k[s>>2]=(k[(k[g>>2]|0)+24>>2]&64|0)!=0&1;wC(k[t>>2]|0,k[k[f>>2]>>2]|0);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[p>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)>>2];do if(k[p>>2]|0){if(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+4>>2]|0){k[y>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+4>>2];xC(k[t>>2]|0,k[m>>2]|0,0,k[y>>2]|0,-1)|0;break}if((l[k[p>>2]>>0]|0)!=152?(l[k[p>>2]>>0]|0)!=154:0){k[w>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+8>>2];c=k[g>>2]|0;if(!(k[w>>2]|0)){k[v>>2]=(k[m>>2]|0)+1;c=Qh(c,35699,v)|0}else c=Ah(c,k[w>>2]|0)|0;k[w>>2]=c;xC(k[t>>2]|0,k[m>>2]|0,0,k[w>>2]|0,170)|0;break}k[n>>2]=j[(k[p>>2]|0)+32>>1];k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[e>>2]>>2]|0))break;if((k[(k[e>>2]|0)+8+((k[o>>2]|0)*72|0)+44>>2]|0)==(k[(k[p>>2]|0)+28>>2]|0))break;k[o>>2]=(k[o>>2]|0)+1}k[q>>2]=k[(k[e>>2]|0)+8+((k[o>>2]|0)*72|0)+16>>2];if((k[n>>2]|0)<0)k[n>>2]=j[(k[q>>2]|0)+32>>1];if((k[n>>2]|0)<0)k[x>>2]=24745;else k[x>>2]=k[(k[(k[q>>2]|0)+4>>2]|0)+(k[n>>2]<<4)>>2];if(!((k[s>>2]|0)!=0|(k[h>>2]|0)!=0)){a=k[t>>2]|0;b=k[m>>2]|0;xC(a,b,0,Ah(k[g>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(k[h>>2]|0){k[z>>2]=0;b=k[g>>2]|0;a=k[x>>2]|0;k[u>>2]=k[k[q>>2]>>2];k[u+4>>2]=a;b=Qh(b,30161,u)|0;k[z>>2]=b;xC(k[t>>2]|0,k[m>>2]|0,0,k[z>>2]|0,170)|0;break}else{xC(k[t>>2]|0,k[m>>2]|0,0,k[x>>2]|0,-1)|0;break}}while(0);k[m>>2]=(k[m>>2]|0)+1}oH(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=A;return}function oH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+64|0;l=j+56|0;m=j+52|0;d=j+48|0;h=j+44|0;e=j+40|0;g=j+8|0;f=j+4|0;i=j;k[l>>2]=a;k[m>>2]=b;k[d>>2]=c;k[h>>2]=k[(k[l>>2]|0)+8>>2];k[g+4>>2]=k[m>>2];k[g>>2]=k[l>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;k[f>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2];m=ny(g,k[f>>2]|0,0)|0;k[i>>2]=m;xC(k[h>>2]|0,k[e>>2]|0,1,k[i>>2]|0,-1)|0;k[e>>2]=(k[e>>2]|0)+1}r=j;return}function pH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){r=g;return}tx(k[d>>2]|0,66,k[e>>2]|0,k[f>>2]|0,1)|0;r=g;return}function qH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;f=r;r=r+32|0;h=f+24|0;i=f+20|0;n=f+16|0;l=f+12|0;m=f+8|0;j=f+4|0;g=f;k[h>>2]=a;k[i>>2]=b;k[n>>2]=c;k[l>>2]=d;k[m>>2]=e;k[j>>2]=k[(k[h>>2]|0)+8>>2];a=Fx(k[h>>2]|0)|0;k[g>>2]=a;Sh(k[j>>2]|0,31,k[i>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;tx(k[j>>2]|0,99,k[m>>2]|0,k[l>>2]|0,k[g>>2]|0)|0;sx(k[j>>2]|0,126,k[i>>2]|0,k[g>>2]|0)|0;Hx(k[h>>2]|0,k[g>>2]|0);r=f;return}function rH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;t=A+64|0;c=A+60|0;u=A+56|0;w=A+52|0;p=A+48|0;z=A+44|0;q=A+40|0;x=A+36|0;o=A+32|0;g=A+28|0;e=A+24|0;d=A+20|0;f=A+16|0;n=A+12|0;s=A+8|0;h=A+4|0;y=A;v=A+68|0;k[c>>2]=a;k[u>>2]=b;k[p>>2]=k[(k[c>>2]|0)+24>>2];k[z>>2]=k[k[p>>2]>>2];k[q>>2]=k[(k[p>>2]|0)+4>>2];k[x>>2]=k[(k[p>>2]|0)+12>>2];switch(l[k[u>>2]>>0]|0){case 152:case 154:{a:do if(k[q>>2]|0){k[o>>2]=(k[q>>2]|0)+8;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[k[q>>2]>>2]|0))break a;if((k[(k[u>>2]|0)+28>>2]|0)==(k[(k[o>>2]|0)+44>>2]|0))break;k[w>>2]=(k[w>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+72}k[g>>2]=k[(k[x>>2]|0)+28>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[x>>2]|0)+32>>2]|0))break;if((k[(k[g>>2]|0)+4>>2]|0)==(k[(k[u>>2]|0)+28>>2]|0)?(k[(k[g>>2]|0)+8>>2]|0)==(j[(k[u>>2]|0)+32>>1]|0):0)break;k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+24}if((k[e>>2]|0)>=(k[(k[x>>2]|0)+32>>2]|0)?(y=tH(k[k[z>>2]>>2]|0,k[x>>2]|0)|0,k[e>>2]=y,(y|0)>=0):0){k[g>>2]=(k[(k[x>>2]|0)+28>>2]|0)+((k[e>>2]|0)*24|0);k[k[g>>2]>>2]=k[(k[u>>2]|0)+44>>2];k[(k[g>>2]|0)+4>>2]=k[(k[u>>2]|0)+28>>2];k[(k[g>>2]|0)+8>>2]=j[(k[u>>2]|0)+32>>1];y=(k[z>>2]|0)+44|0;z=(k[y>>2]|0)+1|0;k[y>>2]=z;k[(k[g>>2]|0)+16>>2]=z;k[(k[g>>2]|0)+12>>2]=-1;k[(k[g>>2]|0)+20>>2]=k[u>>2];b:do if(k[(k[x>>2]|0)+24>>2]|0){k[n>>2]=k[(k[x>>2]|0)+24>>2];k[s>>2]=k[(k[n>>2]|0)+4>>2];k[f>>2]=k[k[n>>2]>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[f>>2]|0))break b;k[h>>2]=k[k[s>>2]>>2];if(((l[k[h>>2]>>0]|0)==152?(k[(k[h>>2]|0)+28>>2]|0)==(k[(k[u>>2]|0)+28>>2]|0):0)?(j[(k[h>>2]|0)+32>>1]|0)==(j[(k[u>>2]|0)+32>>1]|0):0)break;k[d>>2]=(k[d>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+20}k[(k[g>>2]|0)+12>>2]=k[d>>2]}while(0);if((k[(k[g>>2]|0)+12>>2]|0)<0){y=(k[x>>2]|0)+12|0;z=k[y>>2]|0;k[y>>2]=z+1;k[(k[g>>2]|0)+12>>2]=z}}k[(k[u>>2]|0)+40>>2]=k[x>>2];i[k[u>>2]>>0]=-102;j[(k[u>>2]|0)+34>>1]=k[e>>2]}while(0);k[t>>2]=1;z=k[t>>2]|0;r=A;return z|0}case 153:{if((m[(k[p>>2]|0)+28>>1]&8|0)==0?(k[(k[c>>2]|0)+16>>2]|0)==(l[(k[u>>2]|0)+38>>0]|0):0){k[y>>2]=k[(k[x>>2]|0)+40>>2];k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[x>>2]|0)+44>>2]|0))break;if(!(Uy(k[k[y>>2]>>2]|0,k[u>>2]|0,-1)|0))break;k[w>>2]=(k[w>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+16}do if((k[w>>2]|0)>=(k[(k[x>>2]|0)+44>>2]|0)?(i[v>>0]=i[(k[k[z>>2]>>2]|0)+66>>0]|0,a=uH(k[k[z>>2]>>2]|0,k[x>>2]|0)|0,k[w>>2]=a,(k[w>>2]|0)>=0):0){k[y>>2]=(k[(k[x>>2]|0)+40>>2]|0)+(k[w>>2]<<4);k[k[y>>2]>>2]=k[u>>2];s=(k[z>>2]|0)+44|0;a=(k[s>>2]|0)+1|0;k[s>>2]=a;k[(k[y>>2]|0)+8>>2]=a;if(k[(k[u>>2]|0)+20>>2]|0)c=k[k[(k[u>>2]|0)+20>>2]>>2]|0;else c=0;v=ui(k[k[z>>2]>>2]|0,k[(k[u>>2]|0)+8>>2]|0,c,i[v>>0]|0,0)|0;k[(k[y>>2]|0)+4>>2]=v;if(k[(k[u>>2]|0)+4>>2]&16){v=(k[z>>2]|0)+40|0;z=k[v>>2]|0;k[v>>2]=z+1;k[(k[y>>2]|0)+12>>2]=z;break}else{k[(k[y>>2]|0)+12>>2]=-1;break}}while(0);j[(k[u>>2]|0)+34>>1]=k[w>>2];k[(k[u>>2]|0)+40>>2]=k[x>>2];k[t>>2]=1;z=k[t>>2]|0;r=A;return z|0}k[t>>2]=0;z=k[t>>2]|0;r=A;return z|0}default:{k[t>>2]=0;z=k[t>>2]|0;r=A;return z|0}}return 0}function sH(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function tH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=aD(k[f>>2]|0,k[(k[e>>2]|0)+28>>2]|0,24,(k[e>>2]|0)+32|0,c)|0;k[(k[e>>2]|0)+28>>2]=b;r=d;return k[c>>2]|0}function uH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=aD(k[f>>2]|0,k[(k[e>>2]|0)+40>>2]|0,16,(k[e>>2]|0)+44|0,c)|0;k[(k[e>>2]|0)+40>>2]=b;r=d;return k[c>>2]|0}function vH(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=r;r=r+112|0;q=L+96|0;s=L+92|0;h=L+88|0;j=L+84|0;n=L+80|0;t=L+76|0;o=L+72|0;K=L+68|0;x=L+64|0;A=L+60|0;p=L+56|0;H=L+52|0;J=L+48|0;C=L+44|0;D=L+40|0;z=L+36|0;I=L+32|0;v=L+28|0;w=L+24|0;F=L+20|0;B=L+16|0;E=L+12|0;u=L+8|0;G=L+4|0;y=L;k[q>>2]=a;k[s>>2]=b;k[h>>2]=c;k[j>>2]=d;k[n>>2]=e;k[t>>2]=f;k[o>>2]=g;k[K>>2]=k[(k[q>>2]|0)+8>>2];k[x>>2]=(l[(k[s>>2]|0)+28>>0]&1|0)==0&1;k[A>>2]=k[k[k[s>>2]>>2]>>2];k[p>>2]=(k[A>>2]|0)+(k[x>>2]|0)+(k[t>>2]|0);d=(k[q>>2]|0)+44|0;e=(k[d>>2]|0)+1|0;k[d>>2]=e;k[J>>2]=e;k[C>>2]=k[(k[s>>2]|0)+4>>2];if(k[o>>2]|0)k[H>>2]=(k[j>>2]|0)-(k[A>>2]|0)-(k[x>>2]|0);else{k[H>>2]=(k[(k[q>>2]|0)+44>>2]|0)+1;e=(k[q>>2]|0)+44|0;k[e>>2]=(k[e>>2]|0)+(k[p>>2]|0)}f=k[h>>2]|0;if(k[(k[h>>2]|0)+16>>2]|0)f=(k[f+16>>2]|0)+1|0;else f=k[f+12>>2]|0;k[z>>2]=f;h=eA(k[K>>2]|0)|0;k[(k[s>>2]|0)+24>>2]=h;kB(k[q>>2]|0,k[k[s>>2]>>2]|0,k[H>>2]|0,k[n>>2]|0,5)|0;if(k[x>>2]|0)sx(k[K>>2]|0,113,k[(k[s>>2]|0)+8>>2]|0,(k[H>>2]|0)+(k[A>>2]|0)|0)|0;if(!(k[o>>2]|0))fH(k[q>>2]|0,k[j>>2]|0,(k[H>>2]|0)+(k[A>>2]|0)+(k[x>>2]|0)|0,k[t>>2]|0);tx(k[K>>2]|0,99,(k[H>>2]|0)+(k[C>>2]|0)|0,(k[p>>2]|0)-(k[C>>2]|0)|0,k[J>>2]|0)|0;if((k[C>>2]|0)>0){k[I>>2]=(k[(k[q>>2]|0)+44>>2]|0)+1;f=(k[q>>2]|0)+44|0;k[f>>2]=(k[f>>2]|0)+(k[(k[s>>2]|0)+4>>2]|0);k[B>>2]=(k[A>>2]|0)-(k[(k[s>>2]|0)+4>>2]|0)+(k[x>>2]|0);f=k[K>>2]|0;if(k[x>>2]|0){x=aA(f,22,(k[H>>2]|0)+(k[A>>2]|0)|0)|0;k[v>>2]=x}else{x=aA(f,109,k[(k[s>>2]|0)+8>>2]|0)|0;k[v>>2]=x}tx(k[K>>2]|0,95,k[I>>2]|0,k[H>>2]|0,k[(k[s>>2]|0)+4>>2]|0)|0;x=oA(k[K>>2]|0,k[(k[s>>2]|0)+20>>2]|0)|0;k[F>>2]=x;if(i[(k[k[q>>2]>>2]|0)+69>>0]|0){r=L;return}k[(k[F>>2]|0)+8>>2]=(k[B>>2]|0)+(k[t>>2]|0);k[E>>2]=k[(k[F>>2]|0)+16>>2];dS(k[(k[E>>2]|0)+16>>2]|0,0,m[(k[E>>2]|0)+6>>1]|0)|0;Wh(k[K>>2]|0,-1,k[E>>2]|0,-6);E=TG(k[q>>2]|0,k[k[s>>2]>>2]|0,k[C>>2]|0,(m[(k[E>>2]|0)+8>>1]|0)-1|0)|0;k[(k[F>>2]|0)+16>>2]=E;E=Gx(k[K>>2]|0)|0;k[w>>2]=E;tx(k[K>>2]|0,18,(k[w>>2]|0)+1|0,0,(k[w>>2]|0)+1|0)|0;E=eA(k[K>>2]|0)|0;k[(k[s>>2]|0)+16>>2]=E;E=(k[q>>2]|0)+44|0;F=(k[E>>2]|0)+1|0;k[E>>2]=F;k[(k[s>>2]|0)+12>>2]=F;sx(k[K>>2]|0,14,k[(k[s>>2]|0)+12>>2]|0,k[(k[s>>2]|0)+16>>2]|0)|0;aA(k[K>>2]|0,133,k[(k[s>>2]|0)+8>>2]|0)|0;if(k[z>>2]|0)sx(k[K>>2]|0,22,k[z>>2]|0,k[(k[s>>2]|0)+24>>2]|0)|0;hA(k[K>>2]|0,k[v>>2]|0);fH(k[q>>2]|0,k[H>>2]|0,k[I>>2]|0,k[(k[s>>2]|0)+4>>2]|0);hA(k[K>>2]|0,k[w>>2]|0)}if(l[(k[s>>2]|0)+28>>0]&1)k[D>>2]=125;else k[D>>2]=126;sx(k[K>>2]|0,k[D>>2]|0,k[(k[s>>2]|0)+8>>2]|0,k[J>>2]|0)|0;if(!(k[z>>2]|0)){r=L;return}k[G>>2]=0;J=tx(k[K>>2]|0,67,k[z>>2]|0,0,1)|0;k[u>>2]=J;aA(k[K>>2]|0,53,k[(k[s>>2]|0)+8>>2]|0)|0;if(i[(k[s>>2]|0)+29>>0]|0){I=(k[q>>2]|0)+44|0;J=(k[I>>2]|0)+1|0;k[I>>2]=J;k[G>>2]=J;tx(k[K>>2]|0,96,k[(k[s>>2]|0)+8>>2]|0,k[A>>2]|0,k[G>>2]|0)|0}aA(k[K>>2]|0,117,k[(k[s>>2]|0)+8>>2]|0)|0;if(i[(k[s>>2]|0)+29>>0]|0){J=(Gx(k[K>>2]|0)|0)+2|0;k[y>>2]=J;tx(k[K>>2]|0,37,(k[H>>2]|0)+(k[A>>2]|0)|0,k[y>>2]|0,k[G>>2]|0)|0;Th(k[K>>2]|0,-128)}hA(k[K>>2]|0,k[u>>2]|0);r=L;return}function wH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;h=p+20|0;e=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;f=p;k[e>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;if(!(k[m>>2]|0)){k[h>>2]=0;o=k[h>>2]|0;r=p;return o|0}do if((l[k[m>>2]>>0]|0)==152?(k[(k[m>>2]|0)+28>>2]|0)==(k[n>>2]|0):0)if((j[(k[m>>2]|0)+32>>1]|0)<0){i[k[m>>2]>>0]=101;break}else{o=Sy(k[e>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+((j[(k[m>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;k[f>>2]=o;sv(k[e>>2]|0,k[m>>2]|0);k[m>>2]=k[f>>2];break}else g=8;while(0);do if((g|0)==8){a=wH(k[e>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[m>>2]|0)+12>>2]=a;a=wH(k[e>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[m>>2]|0)+16>>2]=a;e=k[e>>2]|0;a=(k[m>>2]|0)+20|0;if(k[(k[m>>2]|0)+4>>2]&2048){xH(e,k[a>>2]|0,k[n>>2]|0,k[o>>2]|0,1);break}else{yH(e,k[a>>2]|0,k[n>>2]|0,k[o>>2]|0);break}}while(0);k[h>>2]=k[m>>2];o=k[h>>2]|0;r=p;return o|0}function xH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;o=p+8|0;n=p+4|0;m=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if(!(k[g>>2]|0)){r=p;return}while(1){yH(k[f>>2]|0,k[k[g>>2]>>2]|0,k[h>>2]|0,k[i>>2]|0);yH(k[f>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[h>>2]|0,k[i>>2]|0);yH(k[f>>2]|0,k[(k[g>>2]|0)+44>>2]|0,k[h>>2]|0,k[i>>2]|0);d=wH(k[f>>2]|0,k[(k[g>>2]|0)+40>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[(k[g>>2]|0)+40>>2]=d;d=wH(k[f>>2]|0,k[(k[g>>2]|0)+32>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[(k[g>>2]|0)+32>>2]=d;k[o>>2]=k[(k[g>>2]|0)+28>>2];k[m>>2]=k[k[o>>2]>>2];k[n>>2]=(k[o>>2]|0)+8;while(1){if((k[m>>2]|0)<=0)break;xH(k[f>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[h>>2]|0,k[i>>2]|0,1);if((l[(k[n>>2]|0)+36+1>>0]|0)>>>2&1)yH(k[f>>2]|0,k[(k[n>>2]|0)+64>>2]|0,k[h>>2]|0,k[i>>2]|0);k[m>>2]=(k[m>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+72}if(!(k[j>>2]|0)){f=9;break}d=k[(k[g>>2]|0)+48>>2]|0;k[g>>2]=d;if(!d){f=9;break}}if((f|0)==9){r=p;return}}function yH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[k[f>>2]>>2]|0))break;b=wH(k[e>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[(k[(k[f>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]=b;k[i>>2]=(k[i>>2]|0)+1}r=j;return}function zH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;i=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=1;k[i>>2]=0;while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2];k[g>>2]=(k[g>>2]|0)+1}while(1){if(!(k[e>>2]|0)){d=7;break}k[h>>2]=k[(k[e>>2]|0)+48>>2];k[(k[e>>2]|0)+48>>2]=0;a=Zv(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[i>>2]=a;k[(k[e>>2]|0)+48>>2]=k[h>>2];if(k[i>>2]|0){d=7;break}j[(k[e>>2]|0)+6>>1]=k[g>>2];k[e>>2]=k[(k[e>>2]|0)+52>>2]}if((d|0)==7){r=l;return k[i>>2]|0}return 0}function AH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+128|0;F=G;n=G+120|0;o=G+116|0;p=G+112|0;e=G+108|0;i=G+104|0;E=G+100|0;A=G+96|0;t=G+92|0;s=G+88|0;q=G+84|0;v=G+80|0;B=G+76|0;w=G+72|0;h=G+68|0;g=G+64|0;u=G+40|0;d=G+32|0;m=G+28|0;z=G+24|0;x=G+20|0;y=G+16|0;C=G+12|0;D=G+8|0;j=G+4|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[e>>2]=k[(k[o>>2]|0)+28>>2];k[i>>2]=k[k[k[o>>2]>>2]>>2];k[E>>2]=k[(k[n>>2]|0)+8>>2];k[A>>2]=k[(k[o>>2]|0)+48>>2];k[v>>2]=0;k[h>>2]=0;k[g>>2]=5;if(kx(k[n>>2]|0,33,0,0,0)|0){r=G;return}a=eA(k[E>>2]|0)|0;k[q>>2]=a;UG(k[n>>2]|0,k[o>>2]|0,k[q>>2]|0);k[x>>2]=k[(k[o>>2]|0)+56>>2];k[y>>2]=k[(k[o>>2]|0)+60>>2];k[C>>2]=k[(k[o>>2]|0)+12>>2];k[D>>2]=k[(k[o>>2]|0)+16>>2];k[(k[o>>2]|0)+60>>2]=0;k[(k[o>>2]|0)+56>>2]=0;k[(k[o>>2]|0)+16>>2]=0;k[(k[o>>2]|0)+12>>2]=0;k[z>>2]=k[(k[o>>2]|0)+44>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[e>>2]>>2]|0))break;b=k[d>>2]|0;if((l[(k[e>>2]|0)+8+((k[d>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){f=5;break}k[d>>2]=b+1}if((f|0)==5)k[v>>2]=k[(k[e>>2]|0)+8+(b*72|0)+44>>2];f=(k[n>>2]|0)+40|0;b=k[f>>2]|0;k[f>>2]=b+1;k[w>>2]=b;b=(k[z>>2]|0)!=0;if((l[(k[o>>2]|0)+4>>0]|0|0)==115){k[g>>2]=b?8:6;e=(k[n>>2]|0)+40|0;f=k[e>>2]|0;k[e>>2]=f+1;k[h>>2]=f}else k[g>>2]=b?7:5;FB(u,k[g>>2]|0,k[w>>2]|0);f=(k[n>>2]|0)+44|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[B>>2]=g;tx(k[E>>2]|0,110,k[v>>2]|0,k[B>>2]|0,k[i>>2]|0)|0;if(k[z>>2]|0){i=EH(k[n>>2]|0,k[o>>2]|0,1)|0;k[j>>2]=i;wx(k[E>>2]|0,107,k[w>>2]|0,(k[k[z>>2]>>2]|0)+2|0,0,k[j>>2]|0,-6)|0;k[u+20>>2]=k[z>>2]}else sx(k[E>>2]|0,107,k[w>>2]|0,k[i>>2]|0)|0;if(k[h>>2]|0){j=sx(k[E>>2]|0,107,k[h>>2]|0,0)|0;k[(k[o>>2]|0)+20>>2]=j;j=(k[o>>2]|0)+8|0;k[j>>2]=k[j>>2]|32}k[(k[o>>2]|0)+44>>2]=0;k[(k[A>>2]|0)+52>>2]=0;j=Zv(k[n>>2]|0,k[A>>2]|0,u)|0;k[m>>2]=j;k[(k[A>>2]|0)+52>>2]=k[o>>2];if(!(k[m>>2]|0)){b=sx(k[E>>2]|0,57,k[w>>2]|0,k[q>>2]|0)|0;k[t>>2]=b;aA(k[E>>2]|0,124,k[v>>2]|0)|0;b=k[E>>2]|0;c=k[w>>2]|0;if(k[z>>2]|0)tx(b,96,c,(k[k[z>>2]>>2]|0)+1|0,k[B>>2]|0)|0;else sx(b,122,c,k[B>>2]|0)|0;aA(k[E>>2]|0,117,k[w>>2]|0)|0;B=eA(k[E>>2]|0)|0;k[s>>2]=B;pH(k[E>>2]|0,k[D>>2]|0,k[s>>2]|0);aH(k[n>>2]|0,k[o>>2]|0,k[k[o>>2]>>2]|0,k[v>>2]|0,0,0,k[p>>2]|0,k[s>>2]|0,k[q>>2]|0);if(k[C>>2]|0)sx(k[E>>2]|0,68,k[C>>2]|0,k[q>>2]|0)|0;iA(k[E>>2]|0,k[s>>2]|0);if(k[(k[o>>2]|0)+8>>2]&8)Oh(k[n>>2]|0,35980,F);else{k[(k[o>>2]|0)+48>>2]=0;Zv(k[n>>2]|0,k[o>>2]|0,u)|0;k[(k[o>>2]|0)+48>>2]=k[A>>2]}gA(k[E>>2]|0,k[t>>2]|0)|0;iA(k[E>>2]|0,k[q>>2]|0)}ov(k[k[n>>2]>>2]|0,k[(k[o>>2]|0)+44>>2]|0);k[(k[o>>2]|0)+44>>2]=k[z>>2];k[(k[o>>2]|0)+56>>2]=k[x>>2];k[(k[o>>2]|0)+60>>2]=k[y>>2];r=G;return}function BH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=r;r=r+224|0;p=ba+220|0;q=ba+216|0;s=ba+212|0;t=ba+208|0;d=ba+204|0;e=ba+200|0;S=ba+196|0;aa=ba+192|0;H=ba+168|0;I=ba+144|0;T=ba+140|0;U=ba+136|0;E=ba+132|0;F=ba+128|0;X=ba+124|0;Y=ba+120|0;C=ba+116|0;D=ba+112|0;z=ba+108|0;A=ba+104|0;B=ba+100|0;y=ba+96|0;w=ba+92|0;x=ba+88|0;V=ba+84|0;W=ba+80|0;Z=ba+76|0;_=ba+72|0;$=ba+68|0;L=ba+64|0;M=ba+60|0;v=ba+56|0;O=ba+52|0;Q=ba+48|0;R=ba+44|0;G=ba+40|0;o=ba+36|0;N=ba+32|0;u=ba+28|0;J=ba+24|0;K=ba+20|0;g=ba+16|0;n=ba+12|0;h=ba+8|0;f=ba+4|0;P=ba;k[q>>2]=a;k[s>>2]=b;k[t>>2]=c;k[D>>2]=0;k[Q>>2]=0;k[G>>2]=k[k[q>>2]>>2];k[aa>>2]=k[(k[q>>2]|0)+8>>2];a=eA(k[aa>>2]|0)|0;k[M>>2]=a;a=eA(k[aa>>2]|0)|0;k[L>>2]=a;k[O>>2]=l[(k[s>>2]|0)+4>>0];k[S>>2]=k[(k[s>>2]|0)+48>>2];k[o>>2]=k[(k[s>>2]|0)+44>>2];k[N>>2]=k[k[o>>2]>>2];a:do if((k[O>>2]|0)!=116){k[d>>2]=1;while(1){if(l[(k[G>>2]|0)+69>>0]|0)break a;if((k[d>>2]|0)>(k[k[k[s>>2]>>2]>>2]|0))break a;k[e>>2]=0;k[g>>2]=k[(k[o>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[N>>2]|0))break;if((m[(k[g>>2]|0)+16>>1]|0)==(k[d>>2]|0))break;k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+20}if((k[e>>2]|0)==(k[N>>2]|0)){a=ew(k[G>>2]|0,134,0)|0;k[n>>2]=a;if(!(k[n>>2]|0))break;a=(k[n>>2]|0)+4|0;k[a>>2]=k[a>>2]|1024;k[(k[n>>2]|0)+8>>2]=k[d>>2];a=bw(k[q>>2]|0,k[o>>2]|0,k[n>>2]|0)|0;k[o>>2]=a;if(k[o>>2]|0){c=k[d>>2]&65535;a=k[N>>2]|0;k[N>>2]=a+1;j[(k[(k[o>>2]|0)+4>>2]|0)+(a*20|0)+16>>1]=c}}k[d>>2]=(k[d>>2]|0)+1}k[p>>2]=7;aa=k[p>>2]|0;r=ba;return aa|0}while(0);a=dx(k[G>>2]|0,(k[N>>2]|0)+1<<2,0)|0;k[u>>2]=a;if(k[u>>2]|0){k[k[u>>2]>>2]=k[N>>2];k[d>>2]=1;k[h>>2]=k[(k[o>>2]|0)+4>>2];while(1){if((k[d>>2]|0)>(k[N>>2]|0))break;k[(k[u>>2]|0)+(k[d>>2]<<2)>>2]=(m[(k[h>>2]|0)+16>>1]|0)-1;k[d>>2]=(k[d>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+20}a=EH(k[q>>2]|0,k[s>>2]|0,1)|0;k[R>>2]=a}else k[R>>2]=0;k[(k[s>>2]|0)+44>>2]=k[o>>2];a=_y(k[k[q>>2]>>2]|0,k[o>>2]|0,0)|0;k[(k[S>>2]|0)+44>>2]=a;b:do if((k[O>>2]|0)!=116){k[f>>2]=k[k[k[s>>2]>>2]>>2];k[Z>>2]=(k[(k[q>>2]|0)+44>>2]|0)+1;a=(k[q>>2]|0)+44|0;k[a>>2]=(k[a>>2]|0)+((k[f>>2]|0)+1);sx(k[aa>>2]|0,76,0,k[Z>>2]|0)|0;a=sA(k[G>>2]|0,k[f>>2]|0,1)|0;k[Q>>2]=a;if(k[Q>>2]|0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[f>>2]|0))break b;a=DH(k[q>>2]|0,k[s>>2]|0,k[d>>2]|0)|0;k[(k[Q>>2]|0)+20+(k[d>>2]<<2)>>2]=a;i[(k[(k[Q>>2]|0)+16>>2]|0)+(k[d>>2]|0)>>0]=0;k[d>>2]=(k[d>>2]|0)+1}}}else k[Z>>2]=0;while(0);k[(k[s>>2]|0)+48>>2]=0;k[(k[S>>2]|0)+52>>2]=0;bz(k[q>>2]|0,k[s>>2]|0,k[(k[s>>2]|0)+44>>2]|0,29099)|0;if(!(k[(k[S>>2]|0)+48>>2]|0))bz(k[q>>2]|0,k[S>>2]|0,k[(k[S>>2]|0)+44>>2]|0,29099)|0;UG(k[q>>2]|0,k[s>>2]|0,k[M>>2]|0);if((k[O>>2]|0)==116?(k[(k[s>>2]|0)+12>>2]|0)!=0:0){d=(k[q>>2]|0)+44|0;a=(k[d>>2]|0)+1|0;k[d>>2]=a;k[V>>2]=a;a=(k[q>>2]|0)+44|0;d=(k[a>>2]|0)+1|0;k[a>>2]=d;k[W>>2]=d;d=k[s>>2]|0;if(k[(k[s>>2]|0)+16>>2]|0)d=(k[d+16>>2]|0)+1|0;else d=k[d+12>>2]|0;sx(k[aa>>2]|0,84,d,k[V>>2]|0)|0;sx(k[aa>>2]|0,84,k[V>>2]|0,k[W>>2]|0)|0}else{k[W>>2]=0;k[V>>2]=0}sv(k[G>>2]|0,k[(k[s>>2]|0)+56>>2]|0);k[(k[s>>2]|0)+56>>2]=0;sv(k[G>>2]|0,k[(k[s>>2]|0)+60>>2]|0);k[(k[s>>2]|0)+60>>2]=0;a=(k[q>>2]|0)+44|0;o=(k[a>>2]|0)+1|0;k[a>>2]=o;k[T>>2]=o;o=(k[q>>2]|0)+44|0;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[U>>2]=a;a=(k[q>>2]|0)+44|0;o=(k[a>>2]|0)+1|0;k[a>>2]=o;k[X>>2]=o;o=(k[q>>2]|0)+44|0;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[Y>>2]=a;FB(H,13,k[T>>2]|0);FB(I,13,k[U>>2]|0);a=(Gx(k[aa>>2]|0)|0)+1|0;k[E>>2]=a;E=tx(k[aa>>2]|0,15,k[T>>2]|0,0,k[E>>2]|0)|0;k[v>>2]=E;k[(k[S>>2]|0)+12>>2]=k[V>>2];k[J>>2]=k[(k[q>>2]|0)+424>>2];Zv(k[q>>2]|0,k[S>>2]|0,H)|0;gD(k[aa>>2]|0,k[T>>2]|0);hA(k[aa>>2]|0,k[v>>2]|0);V=(Gx(k[aa>>2]|0)|0)+1|0;k[F>>2]=V;V=tx(k[aa>>2]|0,15,k[U>>2]|0,0,k[F>>2]|0)|0;k[v>>2]=V;k[_>>2]=k[(k[s>>2]|0)+12>>2];k[$>>2]=k[(k[s>>2]|0)+16>>2];k[(k[s>>2]|0)+12>>2]=k[W>>2];k[(k[s>>2]|0)+16>>2]=0;k[K>>2]=k[(k[q>>2]|0)+424>>2];Zv(k[q>>2]|0,k[s>>2]|0,I)|0;k[(k[s>>2]|0)+12>>2]=k[_>>2];k[(k[s>>2]|0)+16>>2]=k[$>>2];gD(k[aa>>2]|0,k[U>>2]|0);$=FH(k[q>>2]|0,k[s>>2]|0,H,k[t>>2]|0,k[X>>2]|0,k[Z>>2]|0,k[Q>>2]|0,k[M>>2]|0)|0;k[C>>2]=$;if((k[O>>2]|0)==116|(k[O>>2]|0)==115){$=FH(k[q>>2]|0,k[s>>2]|0,I,k[t>>2]|0,k[Y>>2]|0,k[Z>>2]|0,k[Q>>2]|0,k[M>>2]|0)|0;k[D>>2]=$}tA(k[Q>>2]|0);if((k[O>>2]|0)==117|(k[O>>2]|0)==118){$=k[M>>2]|0;k[z>>2]=$;k[A>>2]=$}else{$=sx(k[aa>>2]|0,14,k[Y>>2]|0,k[D>>2]|0)|0;k[z>>2]=$;$=sx(k[aa>>2]|0,16,k[U>>2]|0,k[M>>2]|0)|0;k[A>>2]=$;gA(k[aa>>2]|0,k[z>>2]|0)|0;$=xE(j[(k[s>>2]|0)+6>>1]|0,j[(k[S>>2]|0)+6>>1]|0)|0;j[(k[s>>2]|0)+6>>1]=$}if((k[O>>2]|0)==118){k[B>>2]=k[z>>2];if((j[(k[s>>2]|0)+6>>1]|0)>(j[(k[S>>2]|0)+6>>1]|0))j[(k[s>>2]|0)+6>>1]=j[(k[S>>2]|0)+6>>1]|0}else{$=sx(k[aa>>2]|0,14,k[X>>2]|0,k[C>>2]|0)|0;k[B>>2]=$;sx(k[aa>>2]|0,16,k[T>>2]|0,k[M>>2]|0)|0;gA(k[aa>>2]|0,k[B>>2]|0)|0}$=sx(k[aa>>2]|0,14,k[X>>2]|0,k[C>>2]|0)|0;k[y>>2]=$;sx(k[aa>>2]|0,16,k[T>>2]|0,k[z>>2]|0)|0;gA(k[aa>>2]|0,k[L>>2]|0)|0;do if((k[O>>2]|0)!=116)if((k[O>>2]|0)==118){k[w>>2]=k[y>>2];k[y>>2]=(k[y>>2]|0)+1;break}else{$=sx(k[aa>>2]|0,16,k[T>>2]|0,k[z>>2]|0)|0;k[w>>2]=$;gA(k[aa>>2]|0,k[L>>2]|0)|0;break}else k[w>>2]=k[y>>2];while(0);$=Gx(k[aa>>2]|0)|0;k[x>>2]=$;if((k[O>>2]|0)==116|(k[O>>2]|0)==115)sx(k[aa>>2]|0,14,k[Y>>2]|0,k[D>>2]|0)|0;sx(k[aa>>2]|0,16,k[U>>2]|0,k[B>>2]|0)|0;gA(k[aa>>2]|0,k[L>>2]|0)|0;hA(k[aa>>2]|0,k[v>>2]|0);sx(k[aa>>2]|0,16,k[T>>2]|0,k[A>>2]|0)|0;sx(k[aa>>2]|0,16,k[U>>2]|0,k[B>>2]|0)|0;iA(k[aa>>2]|0,k[L>>2]|0);wx(k[aa>>2]|0,94,0,0,0,k[u>>2]|0,-15)|0;wx(k[aa>>2]|0,95,k[H+12>>2]|0,k[I+12>>2]|0,k[N>>2]|0,k[R>>2]|0,-6)|0;Th(k[aa>>2]|0,1);tx(k[aa>>2]|0,18,k[y>>2]|0,k[w>>2]|0,k[x>>2]|0)|0;iA(k[aa>>2]|0,k[M>>2]|0);if((l[k[t>>2]>>0]|0)==9){k[P>>2]=k[S>>2];while(1){if(!(k[(k[P>>2]|0)+48>>2]|0))break;k[P>>2]=k[(k[P>>2]|0)+48>>2]}nH(k[q>>2]|0,k[(k[P>>2]|0)+28>>2]|0,k[k[P>>2]>>2]|0)}if(k[(k[s>>2]|0)+48>>2]|0)pv(k[G>>2]|0,k[(k[s>>2]|0)+48>>2]|0);k[(k[s>>2]|0)+48>>2]=k[S>>2];k[(k[S>>2]|0)+52>>2]=k[s>>2];CH(k[q>>2]|0,l[(k[s>>2]|0)+4>>0]|0,k[J>>2]|0,k[K>>2]|0,0);k[p>>2]=(k[(k[q>>2]|0)+36>>2]|0)!=0&1;aa=k[p>>2]|0;r=ba;return aa|0}function CH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p;f=p+40|0;g=p+36|0;h=p+32|0;i=p+28|0;j=p+24|0;m=p+20|0;o=p+16|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((l[(k[f>>2]|0)+409>>0]|0|0)!=2){r=p;return}k[m>>2]=k[(k[f>>2]|0)+8>>2];a=k[k[f>>2]>>2]|0;e=k[h>>2]|0;c=k[i>>2]|0;d=(k[j>>2]|0)!=0?35924:18402;b=az(k[g>>2]|0)|0;k[n>>2]=e;k[n+4>>2]=c;k[n+8>>2]=d;k[n+12>>2]=b;n=Qh(a,35943,n)|0;k[o>>2]=n;wx(k[m>>2]|0,162,k[(k[f>>2]|0)+420>>2]|0,0,0,k[o>>2]|0,-1)|0;r=p;return}function DH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+48>>2]|0){a=DH(k[d>>2]|0,k[(k[e>>2]|0)+48>>2]|0,k[f>>2]|0)|0;k[g>>2]=a}else k[g>>2]=0;if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}if((k[f>>2]|0)>=(k[k[k[e>>2]>>2]>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=py(k[d>>2]|0,k[(k[(k[k[e>>2]>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0;k[g>>2]=a;g=k[g>>2]|0;r=h;return g|0}function EH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+40|0;e=q+36|0;s=q+32|0;n=q+28|0;h=q+24|0;f=q+20|0;o=q+16|0;g=q+12|0;l=q+8|0;p=q+4|0;j=q;k[d>>2]=a;k[e>>2]=b;k[s>>2]=c;k[n>>2]=k[(k[e>>2]|0)+44>>2];k[h>>2]=k[k[(k[e>>2]|0)+44>>2]>>2];k[f>>2]=k[k[d>>2]>>2];a=sA(k[f>>2]|0,(k[h>>2]|0)+(k[s>>2]|0)|0,1)|0;k[o>>2]=a;if(!(k[o>>2]|0)){s=k[o>>2]|0;r=q;return s|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[l>>2]=(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0);k[p>>2]=k[k[l>>2]>>2];c=k[d>>2]|0;if(k[(k[p>>2]|0)+4>>2]&256){s=py(c,k[p>>2]|0)|0;k[j>>2]=s}else{s=DH(c,k[e>>2]|0,(m[(k[l>>2]|0)+16>>1]|0)-1|0)|0;k[j>>2]=s;if(!(k[j>>2]|0))k[j>>2]=k[(k[f>>2]|0)+8>>2];s=ez(k[d>>2]|0,k[p>>2]|0,k[k[j>>2]>>2]|0)|0;k[(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2]=s}k[(k[o>>2]|0)+20+(k[g>>2]<<2)>>2]=k[j>>2];i[(k[(k[o>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0;k[g>>2]=(k[g>>2]|0)+1}s=k[o>>2]|0;r=q;return s|0}function FH(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;j=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[u>>2]=h;k[C>>2]=k[(k[m>>2]|0)+8>>2];e=Gx(k[C>>2]|0)|0;k[v>>2]=e;e=eA(k[C>>2]|0)|0;k[y>>2]=e;if(k[s>>2]|0){g=aA(k[C>>2]|0,22,k[s>>2]|0)|0;k[w>>2]=g;g=k[C>>2]|0;a=k[(k[o>>2]|0)+12>>2]|0;f=(k[s>>2]|0)+1|0;e=k[(k[o>>2]|0)+16>>2]|0;e=wx(g,95,a,f,e,xA(k[t>>2]|0)|0,-6)|0;k[x>>2]=e;tx(k[C>>2]|0,18,(k[x>>2]|0)+2|0,k[y>>2]|0,(k[x>>2]|0)+2|0)|0;hA(k[C>>2]|0,k[w>>2]|0);tx(k[C>>2]|0,84,k[(k[o>>2]|0)+12>>2]|0,(k[s>>2]|0)+1|0,(k[(k[o>>2]|0)+16>>2]|0)-1|0)|0;sx(k[C>>2]|0,76,1,k[s>>2]|0)|0}if(i[(k[k[m>>2]>>2]|0)+69>>0]|0){k[j>>2]=0;C=k[j>>2]|0;r=D;return C|0}pH(k[C>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[y>>2]|0);switch(l[k[p>>2]>>0]|0){case 12:{e=Fx(k[m>>2]|0)|0;k[z>>2]=e;e=Fx(k[m>>2]|0)|0;k[B>>2]=e;tx(k[C>>2]|0,99,k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[z>>2]|0)|0;sx(k[C>>2]|0,114,k[(k[p>>2]|0)+8>>2]|0,k[B>>2]|0)|0;tx(k[C>>2]|0,115,k[(k[p>>2]|0)+8>>2]|0,k[z>>2]|0,k[B>>2]|0)|0;Th(k[C>>2]|0,8);Hx(k[m>>2]|0,k[B>>2]|0);Hx(k[m>>2]|0,k[z>>2]|0);break}case 11:{e=Fx(k[m>>2]|0)|0;k[A>>2]=e;wx(k[C>>2]|0,99,k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[A>>2]|0,k[(k[p>>2]|0)+4>>2]|0,k[(k[o>>2]|0)+16>>2]|0)|0;eB(k[m>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0);sx(k[C>>2]|0,126,k[(k[p>>2]|0)+8>>2]|0,k[A>>2]|0)|0;Hx(k[m>>2]|0,k[A>>2]|0);break}case 10:{fH(k[m>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[(k[p>>2]|0)+8>>2]|0,1);break}case 13:{if(!(k[(k[p>>2]|0)+12>>2]|0)){e=MA(k[m>>2]|0,k[(k[o>>2]|0)+16>>2]|0)|0;k[(k[p>>2]|0)+12>>2]=e;k[(k[p>>2]|0)+16>>2]=k[(k[o>>2]|0)+16>>2]}fH(k[m>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[(k[p>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0);aA(k[C>>2]|0,16,k[(k[p>>2]|0)+8>>2]|0)|0;break}default:{sx(k[C>>2]|0,87,k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0)|0;eB(k[m>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0)}}if(k[(k[n>>2]|0)+12>>2]|0)sx(k[C>>2]|0,68,k[(k[n>>2]|0)+12>>2]|0,k[u>>2]|0)|0;iA(k[C>>2]|0,k[y>>2]|0);aA(k[C>>2]|0,72,k[q>>2]|0)|0;k[j>>2]=k[v>>2];C=k[j>>2]|0;r=D;return C|0}function GH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if(!(k[(k[g>>2]|0)+24>>2]&524288)){r=n;return}if((l[(k[f>>2]|0)+42>>0]|0)&16){r=n;return}if(k[(k[f>>2]|0)+12>>2]|0){r=n;return}k[h>>2]=0;c=nx(k[d>>2]|0)|0;k[m>>2]=c;do if(!(gy(k[f>>2]|0)|0)){k[j>>2]=k[(k[f>>2]|0)+16>>2];while(1){if(!(k[j>>2]|0))break;if(l[(k[j>>2]|0)+24>>0]|0)break;if(k[(k[g>>2]|0)+24>>2]&33554432)break;k[j>>2]=k[(k[j>>2]|0)+4>>2]}if(k[j>>2]|0){c=eA(k[m>>2]|0)|0;k[h>>2]=c;sx(k[m>>2]|0,65,1,k[h>>2]|0)|0;break}else{r=n;return}}while(0);i[(k[d>>2]|0)+150>>0]=1;c=k[d>>2]|0;mw(c,Qz(k[g>>2]|0,k[e>>2]|0,0)|0,0);i[(k[d>>2]|0)+150>>0]=0;if(!(k[(k[g>>2]|0)+24>>2]&33554432)){c=k[m>>2]|0;sx(c,65,0,(Gx(k[m>>2]|0)|0)+2|0)|0;DA(k[d>>2]|0,787,2,0,-2,4)}if(!(k[h>>2]|0)){r=n;return}iA(k[m>>2]|0,k[h>>2]|0);r=n;return}function HH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+8|0;o=q;e=q+48|0;f=q+44|0;g=q+40|0;h=q+36|0;n=q+32|0;i=q+28|0;m=q+24|0;j=q+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];k[j>>2]=(k[(k[i>>2]|0)+16>>2]|0)+(k[g>>2]<<4);b=nx(k[e>>2]|0)|0;k[n>>2]=b;Bx(k[e>>2]|0,1,k[g>>2]|0);if((l[(k[f>>2]|0)+42>>0]|0)&16)px(k[n>>2]|0,152)|0;b=Jx(k[e>>2]|0,k[f>>2]|0)|0;k[m>>2]=b;while(1){if(!(k[m>>2]|0))break;iC(k[e>>2]|0,k[m>>2]|0);k[m>>2]=k[(k[m>>2]|0)+32>>2]}if((l[(k[f>>2]|0)+42>>0]|0)&8){m=k[e>>2]|0;b=k[k[f>>2]>>2]|0;k[o>>2]=k[k[j>>2]>>2];k[o+4>>2]=b;mx(m,36169,o)}o=k[e>>2]|0;b=(k[g>>2]|0)==1?19905:19924;m=k[k[f>>2]>>2]|0;k[p>>2]=k[k[j>>2]>>2];k[p+4>>2]=b;k[p+8>>2]=m;mx(o,36214,p);if((k[h>>2]|0)==0?((l[(k[f>>2]|0)+42>>0]|0)&16|0)==0:0)IH(k[e>>2]|0,k[f>>2]|0);if(!((l[(k[f>>2]|0)+42>>0]|0)&16)){n=k[n>>2]|0;o=k[g>>2]|0;p=k[f>>2]|0;p=k[p>>2]|0;wx(n,138,o,0,0,p,0)|0;p=k[e>>2]|0;o=k[g>>2]|0;ox(p,o);o=k[i>>2]|0;p=k[g>>2]|0;JH(o,p);r=q;return}wx(k[n>>2]|0,154,k[g>>2]|0,0,0,k[k[f>>2]>>2]|0,0)|0;n=k[n>>2]|0;o=k[g>>2]|0;p=k[f>>2]|0;p=k[p>>2]|0;wx(n,138,o,0,0,p,0)|0;p=k[e>>2]|0;o=k[g>>2]|0;ox(p,o);o=k[i>>2]|0;p=k[g>>2]|0;JH(o,p);r=q;return}function IH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;c=m+28|0;d=m+24|0;i=m+20|0;f=m+16|0;j=m+12|0;h=m+8|0;g=m+4|0;e=m;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[d>>2]|0)+28>>2];k[f>>2]=0;while(1){k[h>>2]=0;if(!((k[f>>2]|0)!=0?(k[i>>2]|0)>=(k[f>>2]|0):0))k[h>>2]=k[i>>2];k[j>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[j>>2]|0))break;k[g>>2]=k[(k[j>>2]|0)+44>>2];if(!((k[f>>2]|0)!=0?(k[g>>2]|0)>=(k[f>>2]|0):0))l=9;if((l|0)==9?(l=0,(k[g>>2]|0)>(k[h>>2]|0)):0)k[h>>2]=k[g>>2];k[j>>2]=k[(k[j>>2]|0)+20>>2]}if(!(k[h>>2]|0))break;b=Ph(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+64>>2]|0)|0;k[e>>2]=b;$C(k[c>>2]|0,k[h>>2]|0,k[e>>2]|0);k[f>>2]=k[h>>2]}r=m;return}function JH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){r=g;return}k[e>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+8>>2];if(k[(k[f>>2]|0)+12>>2]|0){KH(k[c>>2]|0,k[f>>2]|0);k[(k[f>>2]|0)+4>>2]=0;j[(k[f>>2]|0)+34>>1]=0}k[e>>2]=k[k[e>>2]>>2]}f=(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+78|0;j[f>>1]=(m[f>>1]|0)&-3;r=g;return}function KH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;b=k[(k[d>>2]|0)+4>>2]|0;k[f>>2]=b;if(!b){r=g;return}k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break;bg(a,k[k[f>>2]>>2]|0);sv(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+16}bg(a,k[(k[d>>2]|0)+4>>2]|0);r=g;return}function LH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;o=r;r=r+144|0;f=o+128|0;g=o+124|0;h=o+120|0;i=o+116|0;l=o+112|0;n=o;m=o+80|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[m+16>>2]=0;k[m+20>>2]=0;k[m+24>>2]=0;k[m+28>>2]=0;d=n;e=d+80|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=1;k[n+8+8>>2]=k[k[g>>2]>>2];k[n+8+16>>2]=k[g>>2];k[n+8+44>>2]=-1;k[m>>2]=k[f>>2];k[m+4>>2]=n;j[m+28>>1]=k[h>>2];n=(Ky(m,k[i>>2]|0)|0)==0;if(!(n&(k[l>>2]|0)!=0)){r=o;return}Ly(m,k[l>>2]|0)|0;r=o;return}function MH(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=k[b>>2]|0;if((l[k[b>>2]>>0]|0|0)==97){i[a>>0]=55;r=c;return}if((l[a>>0]|0|0)!=53){r=c;return}if((l[k[(k[b>>2]|0)+12>>2]>>0]|0|0)!=97){r=c;return}i[k[(k[b>>2]|0)+12>>2]>>0]=55;r=c;return}function NH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){c=k[e>>2]|0;k[e>>2]=c+-1;if((c|0)<=0){d=5;break}b=k[f>>2]|0;c=k[d>>2]|0;k[d>>2]=c+2;if((b|0)==(j[c>>1]|0)){d=4;break}}if((d|0)==4){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((d|0)==5){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function OH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+12|0;e=g+8|0;d=g+4|0;c=g;f=g+16|0;k[b>>2]=a;k[e>>2]=0;k[c>>2]=k[(k[(k[b>>2]|0)+12>>2]|0)+4>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(m[(k[b>>2]|0)+52>>1]|0))break;j[f>>1]=j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]|0;if((j[f>>1]|0)<0)a=1;else a=l[(k[c>>2]|0)+(j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]<<4)+14>>0]|0;k[e>>2]=(k[e>>2]|0)+a;k[d>>2]=(k[d>>2]|0)+1}f=Wj(k[e>>2]<<2,0)|0;j[(k[b>>2]|0)+48>>1]=f;r=g;return}function PH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;QH(k[c>>2]|0,k[d>>2]|0);sv(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0);ov(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);if(!((l[(k[d>>2]|0)+55>>0]|0)>>>4&1)){a=k[c>>2]|0;b=k[d>>2]|0;bg(a,b);r=e;return}bg(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0);a=k[c>>2]|0;b=k[d>>2]|0;bg(a,b);r=e;return}function QH(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return}function RH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c;d=c+4|0;k[e>>2]=a;i[d>>0]=b;a=HB(k[e>>2]|0,4+(l[d>>0]|0)|0,0)|0;r=c;return a|0}function SH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+52|0;d=v+48|0;p=v+44|0;s=v+40|0;o=v+36|0;f=v+32|0;h=v+28|0;e=v+24|0;t=v+20|0;q=v+16|0;g=v+8|0;n=v;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[t>>2]=k[(k[c>>2]|0)+8>>2];a:do if(!(i[(k[e>>2]|0)+148+7>>0]|0)){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break a;if(l[(k[(k[d>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+15>>0]&1)i[(k[(k[d>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+12>>0]=2;k[f>>2]=(k[f>>2]|0)+1}}while(0);if(i[(k[c>>2]|0)+410>>0]|0){r=v;return}if(k[(k[c>>2]|0)+132>>2]|0)VG(k[t>>2]|0,k[(k[c>>2]|0)+132>>2]|0,-122);a=k[d>>2]|0;do if((j[(k[d>>2]|0)+32>>1]|0)>=0){fz(g,k[(k[(k[d>>2]|0)+4>>2]|0)+(j[a+32>>1]<<4)>>2]|0);t=k[c>>2]|0;t=bw(t,0,tw(k[e>>2]|0,55,g,0)|0)|0;k[q>>2]=t;if(!(k[q>>2]|0)){r=v;return}i[(k[(k[q>>2]|0)+4>>2]|0)+12>>0]=i[(k[c>>2]|0)+408>>0]|0;Sv(k[c>>2]|0,0,0,0,k[q>>2]|0,l[(k[d>>2]|0)+43>>0]|0,0,0,0,0,2);if(i[(k[e>>2]|0)+69>>0]|0){r=v;return}else{t=Tj(k[d>>2]|0)|0;k[s>>2]=t;j[(k[d>>2]|0)+32>>1]=-1;break}}else{q=Tj(a)|0;k[s>>2]=q;if(k[t>>2]|0)VG(k[t>>2]|0,k[(k[s>>2]|0)+44>>2]|0,13);k[h>>2]=1;k[f>>2]=1;while(1){if((k[f>>2]|0)>=(m[(k[s>>2]|0)+50>>1]|0))break;if(NH(k[(k[s>>2]|0)+4>>2]|0,k[h>>2]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0){t=(k[s>>2]|0)+52|0;j[t>>1]=(j[t>>1]|0)+-1<<16>>16}else{q=j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0;t=k[h>>2]|0;k[h>>2]=t+1;j[(k[(k[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=q}k[f>>2]=(k[f>>2]|0)+1}j[(k[s>>2]|0)+50>>1]=k[h>>2]}while(0);t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-33|32;if(!(i[(k[e>>2]|0)+148+7>>0]|0)){t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-9|8}k[o>>2]=m[(k[s>>2]|0)+50>>1];k[(k[s>>2]|0)+44>>2]=k[(k[d>>2]|0)+28>>2];k[p>>2]=k[(k[d>>2]|0)+8>>2];b:while(1){if(!(k[p>>2]|0))break;c:do if((i[(k[p>>2]|0)+55>>0]&3|0)!=2){k[n>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break;if(!(NH(k[(k[p>>2]|0)+4>>2]|0,m[(k[p>>2]|0)+50>>1]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0))k[n>>2]=(k[n>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+1}if(!(k[n>>2]|0)){j[(k[p>>2]|0)+52>>1]=j[(k[p>>2]|0)+50>>1]|0;break}if(XH(k[e>>2]|0,k[p>>2]|0,(m[(k[p>>2]|0)+50>>1]|0)+(k[n>>2]|0)|0)|0){u=50;break b}k[f>>2]=0;k[h>>2]=m[(k[p>>2]|0)+50>>1];while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break c;if(!(NH(k[(k[p>>2]|0)+4>>2]|0,m[(k[p>>2]|0)+50>>1]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0)){j[(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]=j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0;k[(k[(k[p>>2]|0)+32>>2]|0)+(k[h>>2]<<2)>>2]=k[(k[(k[s>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2];k[h>>2]=(k[h>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1}}while(0);k[p>>2]=k[(k[p>>2]|0)+20>>2]}if((u|0)==50){r=v;return}if((k[o>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0)){j[(k[s>>2]|0)+52>>1]=j[(k[d>>2]|0)+34>>1]|0;r=v;return}if(XH(k[e>>2]|0,k[s>>2]|0,j[(k[d>>2]|0)+34>>1]|0)|0){r=v;return}k[f>>2]=0;k[h>>2]=k[o>>2];while(1){if((k[f>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break;if(!(NH(k[(k[s>>2]|0)+4>>2]|0,k[h>>2]|0,k[f>>2]|0)|0)){j[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]=k[f>>2];k[(k[(k[s>>2]|0)+32>>2]|0)+(k[h>>2]<<2)>>2]=34834;k[h>>2]=(k[h>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1}r=v;return}function TH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[e>>2]=0;k[c>>2]=j[(k[b>>2]|0)+34>>1];k[d>>2]=k[(k[b>>2]|0)+4>>2];while(1){if((k[c>>2]|0)<=0)break;k[e>>2]=(k[e>>2]|0)+(l[(k[d>>2]|0)+14>>0]|0);k[c>>2]=(k[c>>2]|0)+-1;k[d>>2]=(k[d>>2]|0)+16}if((j[(k[b>>2]|0)+32>>1]|0)>=0){d=k[e>>2]|0;d=d<<2;d=Wj(d,0)|0;e=k[b>>2]|0;e=e+40|0;j[e>>1]=d;r=f;return}k[e>>2]=(k[e>>2]|0)+1;d=k[e>>2]|0;d=d<<2;d=Wj(d,0)|0;e=k[b>>2]|0;e=e+40|0;j[e>>1]=d;r=f;return}function UH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;p=w+16|0;o=w+8|0;d=w;e=w+68|0;c=w+64|0;f=w+60|0;g=w+56|0;h=w+52|0;m=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;q=w+32|0;n=w+28|0;l=w+24|0;v=w+20|0;k[c>>2]=a;k[f>>2]=b;k[m>>2]=0;k[n>>2]=k[(k[f>>2]|0)+4>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;b=(VH(k[k[n>>2]>>2]|0)|0)+5|0;k[m>>2]=(k[m>>2]|0)+b;k[g>>2]=(k[g>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+16}b=VH(k[k[f>>2]>>2]|0)|0;k[m>>2]=(k[m>>2]|0)+b;if((k[m>>2]|0)<50){k[s>>2]=18402;k[t>>2]=34710;k[q>>2]=34706}else{k[s>>2]=37369;k[t>>2]=37373;k[q>>2]=37378}k[m>>2]=(k[m>>2]|0)+(35+((j[(k[f>>2]|0)+34>>1]|0)*6|0));b=k[m>>2]|0;b=Mh(0,b,((b|0)<0)<<31>>31)|0;k[u>>2]=b;if(!(k[u>>2]|0)){wh(k[c>>2]|0);k[e>>2]=0;v=k[e>>2]|0;r=w;return v|0}_d(k[m>>2]|0,k[u>>2]|0,37381,d)|0;d=Tf(k[u>>2]|0)|0;k[h>>2]=d;WH(k[u>>2]|0,h,k[k[f>>2]>>2]|0);d=k[h>>2]|0;k[h>>2]=d+1;i[(k[u>>2]|0)+d>>0]=40;k[n>>2]=k[(k[f>>2]|0)+4>>2];k[g>>2]=0;while(1){c=(k[m>>2]|0)-(k[h>>2]|0)|0;a=(k[u>>2]|0)+(k[h>>2]|0)|0;if((k[g>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;_d(c,a,k[s>>2]|0,o)|0;d=Tf((k[u>>2]|0)+(k[h>>2]|0)|0)|0;k[h>>2]=(k[h>>2]|0)+d;k[s>>2]=k[t>>2];WH(k[u>>2]|0,h,k[k[n>>2]>>2]|0);k[v>>2]=k[5492+((i[(k[n>>2]|0)+13>>0]|0)-65<<2)>>2];d=Tf(k[v>>2]|0)|0;k[l>>2]=d;bS((k[u>>2]|0)+(k[h>>2]|0)|0,k[v>>2]|0,k[l>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+(k[l>>2]|0);k[g>>2]=(k[g>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+16}k[p>>2]=k[q>>2];_d(c,a,18391,p)|0;k[e>>2]=k[u>>2];v=k[e>>2]|0;r=w;return v|0}function VH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if(!(i[k[b>>2]>>0]|0))break;if((i[k[b>>2]>>0]|0)==34)k[c>>2]=(k[c>>2]|0)+1;k[c>>2]=(k[c>>2]|0)+1;k[b>>2]=(k[b>>2]|0)+1}r=d;return (k[c>>2]|0)+2|0}function WH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;n=m+16|0;j=m+12|0;f=m+8|0;g=m+4|0;h=m;k[d>>2]=a;k[e>>2]=b;k[n>>2]=c;k[j>>2]=k[n>>2];k[f>>2]=k[k[e>>2]>>2];k[g>>2]=0;while(1){if(!(i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0))break;if((l[18403+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&6|0)==0?(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)!=95:0)break;k[g>>2]=(k[g>>2]|0)+1}if(((l[18403+(l[k[j>>2]>>0]|0)>>0]&4|0)==0?(Ni(k[j>>2]|0,k[g>>2]|0)|0)==55:0)?(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==0:0)b=(k[g>>2]|0)==0;else b=1;k[h>>2]=b&1;if(k[h>>2]|0){n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=34}k[g>>2]=0;while(1){if(!(i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0))break;c=i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0;n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=c;if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==34){n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=34}k[g>>2]=(k[g>>2]|0)+1}if(!(k[h>>2]|0)){j=k[f>>2]|0;n=k[d>>2]|0;j=n+j|0;i[j>>0]=0;j=k[f>>2]|0;n=k[e>>2]|0;k[n>>2]=j;r=m;return}j=k[f>>2]|0;k[f>>2]=j+1;i[(k[d>>2]|0)+j>>0]=34;j=k[f>>2]|0;n=k[d>>2]|0;j=n+j|0;i[j>>0]=0;j=k[f>>2]|0;n=k[e>>2]|0;k[n>>2]=j;r=m;return}function XH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;l=n+4|0;h=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((m[(k[f>>2]|0)+52>>1]|0|0)>=(k[g>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}k[h>>2]=(k[g>>2]|0)*7;b=k[h>>2]|0;b=Ch(k[e>>2]|0,b,((b|0)<0)<<31>>31)|0;k[l>>2]=b;if(!(k[l>>2]|0)){k[d>>2]=7;l=k[d>>2]|0;r=n;return l|0}else{bS(k[l>>2]|0,k[(k[f>>2]|0)+32>>2]|0,(m[(k[f>>2]|0)+52>>1]|0)<<2|0)|0;k[(k[f>>2]|0)+32>>2]=k[l>>2];k[l>>2]=(k[l>>2]|0)+(k[g>>2]<<2);bS(k[l>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(m[(k[f>>2]|0)+52>>1]|0)<<1|0)|0;k[(k[f>>2]|0)+4>>2]=k[l>>2];k[l>>2]=(k[l>>2]|0)+(k[g>>2]<<1);bS(k[l>>2]|0,k[(k[f>>2]|0)+28>>2]|0,m[(k[f>>2]|0)+52>>1]|0|0)|0;k[(k[f>>2]|0)+28>>2]=k[l>>2];j[(k[f>>2]|0)+52>>1]=k[g>>2];l=(k[f>>2]|0)+55|0;i[l>>0]=i[l>>0]&-17|16;k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}return 0}function YH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;c=d+8|0;e=d+4|0;f=d;k[c>>2]=a;k[e>>2]=b;a=nx(k[c>>2]|0)|0;k[f>>2]=a;bA(k[c>>2]|0,k[e>>2]|0,1,1,(k[e>>2]|0)==1?19905:19924);Sh(k[f>>2]|0,105,0,1,k[e>>2]|0,5)|0;if(k[(k[c>>2]|0)+40>>2]|0){r=d;return}k[(k[c>>2]|0)+40>>2]=1;r=d;return}function ZH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[b>>2]=a;a=nx(k[b>>2]|0)|0;k[f>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+112>>2]|0))break;k[d>>2]=(k[(k[b>>2]|0)+116>>2]|0)+(k[c>>2]<<4);k[e>>2]=k[k[d>>2]>>2];wx(k[f>>2]|0,151,k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0,l[(k[d>>2]|0)+8>>0]|0,k[(k[d>>2]|0)+12>>2]|0,-2)|0;k[c>>2]=(k[c>>2]|0)+1}r=g;return}function _H(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;b=j+24|0;f=j+20|0;d=j+16|0;g=j+12|0;e=j+8|0;h=j+4|0;c=j;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[h>>2]=k[(k[b>>2]|0)+8>>2];k[f>>2]=k[(k[b>>2]|0)+120>>2];while(1){if(!(k[f>>2]|0)){b=5;break}k[g>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[(k[f>>2]|0)+8>>2]<<4);k[e>>2]=k[(k[f>>2]|0)+12>>2];cA(k[b>>2]|0,0,k[(k[f>>2]|0)+8>>2]|0,k[(k[(k[g>>2]|0)+12>>2]|0)+72>>2]|0,104);rx(k[h>>2]|0,(k[e>>2]|0)-1|0,k[k[(k[f>>2]|0)+4>>2]>>2]|0)|0;a=Uh(k[h>>2]|0,10,37557,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){b=5;break}k[(k[c>>2]|0)+8>>2]=k[e>>2];k[(k[c>>2]|0)+12>>2]=(k[e>>2]|0)+1;k[(k[c>>2]|0)+40+12>>2]=k[e>>2];k[(k[c>>2]|0)+60+4>>2]=(k[e>>2]|0)-1;k[(k[c>>2]|0)+60+12>>2]=k[e>>2];i[(k[c>>2]|0)+60+3>>0]=16;k[(k[c>>2]|0)+80+8>>2]=(k[e>>2]|0)+1;k[(k[c>>2]|0)+100+12>>2]=k[e>>2];k[(k[c>>2]|0)+160+8>>2]=k[e>>2];k[f>>2]=k[k[f>>2]>>2]}if((b|0)==5){r=j;return}}function $H(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=b+4|0;k[d>>2]=a;k[c>>2]=k[d>>2];$d(21,39546,c);r=b;return} -function qw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+304|0;C=oa+32|0;B=oa+16|0;A=oa;F=oa+284|0;G=oa+280|0;H=oa+276|0;I=oa+272|0;J=oa+268|0;P=oa+264|0;ca=oa+260|0;f=oa+256|0;R=oa+252|0;Z=oa+248|0;V=oa+244|0;na=oa+240|0;aa=oa+236|0;_=oa+232|0;$=oa+228|0;S=oa+224|0;T=oa+220|0;W=oa+216|0;Q=oa+212|0;la=oa+208|0;N=oa+204|0;M=oa+200|0;o=oa+176|0;p=oa+172|0;ma=oa+291|0;O=oa+290|0;D=oa+289|0;n=oa+288|0;ba=oa+168|0;ha=oa+164|0;fa=oa+160|0;ja=oa+156|0;ia=oa+152|0;ka=oa+148|0;ga=oa+144|0;K=oa+140|0;Y=oa+136|0;da=oa+132|0;z=oa+128|0;x=oa+124|0;m=oa+120|0;t=oa+116|0;v=oa+112|0;w=oa+108|0;h=oa+104|0;y=oa+72|0;q=oa+68|0;u=oa+64|0;g=oa+60|0;s=oa+56|0;L=oa+52|0;U=oa+48|0;ea=oa+44|0;X=oa+40|0;k[F>>2]=a;k[G>>2]=b;k[H>>2]=c;k[I>>2]=d;k[J>>2]=e;k[$>>2]=0;k[S>>2]=0;k[T>>2]=0;k[W>>2]=-1;k[la>>2]=0;k[N>>2]=0;k[M>>2]=0;i[ma>>0]=0;i[O>>0]=0;k[ba>>2]=0;k[ha>>2]=0;k[fa>>2]=0;k[ja>>2]=0;k[K>>2]=0;k[P>>2]=k[k[F>>2]>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;a:do if((k[(k[F>>2]|0)+36>>2]|0)==0?(l[(k[P>>2]|0)+69>>0]|0)==0:0){if(((k[H>>2]|0)!=0?(k[(k[H>>2]|0)+8>>2]&512|0)!=0:0)?(k[(k[H>>2]|0)+48>>2]|0)==0:0){k[ba>>2]=k[k[H>>2]>>2];k[k[H>>2]>>2]=0;pv(k[P>>2]|0,k[H>>2]|0);k[H>>2]=0}k[f>>2]=k[(k[G>>2]|0)+8+8>>2];if((((((k[f>>2]|0)!=0?(f=lC(k[F>>2]|0,k[G>>2]|0)|0,k[ca>>2]=f,(k[ca>>2]|0)!=0):0)?(f=Ph(k[P>>2]|0,k[(k[ca>>2]|0)+64>>2]|0)|0,k[p>>2]=f,(kx(k[F>>2]|0,18,k[k[ca>>2]>>2]|0,0,k[(k[(k[P>>2]|0)+16>>2]|0)+(k[p>>2]<<4)>>2]|0)|0)==0):0)?(i[D>>0]=((l[(k[ca>>2]|0)+42>>0]&32|0)==0^1)&1,f=bD(k[F>>2]|0,k[ca>>2]|0,108,0,z)|0,k[da>>2]=f,k[Y>>2]=(k[(k[ca>>2]|0)+12>>2]|0)!=0&1,(by(k[F>>2]|0,k[ca>>2]|0)|0)==0):0)?(cD(k[F>>2]|0,k[ca>>2]|0,k[z>>2]|0)|0)==0:0)?(f=nx(k[F>>2]|0)|0,k[na>>2]=f,(k[na>>2]|0)!=0):0){if(!(l[(k[F>>2]|0)+18>>0]|0))dD(k[na>>2]|0);Bx(k[F>>2]|0,((k[H>>2]|0)!=0?1:(k[da>>2]|0)!=0)&1,k[p>>2]|0);if(!((k[I>>2]|0)==0?(eD(k[F>>2]|0,k[ca>>2]|0,k[H>>2]|0,k[J>>2]|0,k[p>>2]|0)|0)!=0:0))E=17;b:do if((E|0)==17){f=fD(k[F>>2]|0,k[p>>2]|0,k[ca>>2]|0)|0;k[fa>>2]=f;f=(k[(k[F>>2]|0)+44>>2]|0)+1|0;k[ia>>2]=f;k[ka>>2]=f;f=(k[F>>2]|0)+44|0;k[f>>2]=(k[f>>2]|0)+((j[(k[ca>>2]|0)+34>>1]|0)+1);if(l[(k[ca>>2]|0)+42>>0]&16){k[ka>>2]=(k[ka>>2]|0)+1;f=(k[F>>2]|0)+44|0;k[f>>2]=(k[f>>2]|0)+1}k[ga>>2]=(k[ka>>2]|0)+1;i[n>>0]=(l[(k[ca>>2]|0)+42>>0]&128|0)==0;c:do if(k[I>>2]|0){k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[(k[I>>2]|0)+4>>2]|0))break;k[(k[k[I>>2]>>2]|0)+(k[R>>2]<<3)+4>>2]=-1;k[R>>2]=(k[R>>2]|0)+1}k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[(k[I>>2]|0)+4>>2]|0))break c;k[Z>>2]=0;while(1){if((k[Z>>2]|0)>=(j[(k[ca>>2]|0)+34>>1]|0))break;f=(sg(k[(k[k[I>>2]>>2]|0)+(k[R>>2]<<3)>>2]|0,k[(k[(k[ca>>2]|0)+4>>2]|0)+(k[Z>>2]<<4)>>2]|0)|0)==0;e=k[Z>>2]|0;if(f){E=28;break}k[Z>>2]=e+1}do if((E|0)==28){E=0;k[(k[k[I>>2]>>2]|0)+(k[R>>2]<<3)+4>>2]=e;if((k[R>>2]|0)!=(k[Z>>2]|0))i[n>>0]=0;if((k[Z>>2]|0)!=(j[(k[ca>>2]|0)+32>>1]|0))break;k[W>>2]=k[R>>2]}while(0);if((k[Z>>2]|0)>=(j[(k[ca>>2]|0)+34>>1]|0)){f=(Ei(k[(k[k[I>>2]>>2]|0)+(k[R>>2]<<3)>>2]|0)|0)==0;if(f|(i[D>>0]|0)!=0)break;k[W>>2]=k[R>>2];i[n>>0]=0}k[R>>2]=(k[R>>2]|0)+1}na=k[F>>2]|0;ma=k[(k[k[I>>2]>>2]|0)+(k[R>>2]<<3)>>2]|0;k[A>>2]=k[G>>2];k[A+4>>2]=0;k[A+8>>2]=ma;Oh(na,34261,A);i[(k[F>>2]|0)+17>>0]=1;break a}while(0);do if(!(k[H>>2]|0)){k[y>>2]=0;k[y+4>>2]=0;k[y+8>>2]=0;k[y+12>>2]=0;k[y+16>>2]=0;k[y+20>>2]=0;k[y+24>>2]=0;k[y+28>>2]=0;k[y>>2]=k[F>>2];k[la>>2]=-1;if(k[ba>>2]|0){k[_>>2]=k[k[ba>>2]>>2];if(Ly(y,k[ba>>2]|0)|0)break a;else break}else{k[_>>2]=0;break}}else{y=(k[F>>2]|0)+44|0;A=(k[y>>2]|0)+1|0;k[y>>2]=A;k[x>>2]=A;A=(Gx(k[na>>2]|0)|0)+1|0;k[m>>2]=A;tx(k[na>>2]|0,15,k[x>>2]|0,0,k[m>>2]|0)|0;FB(o,13,k[x>>2]|0);k[o+12>>2]=(l[n>>0]|0)!=0?k[ga>>2]|0:0;k[o+16>>2]=j[(k[ca>>2]|0)+34>>1];A=Zv(k[F>>2]|0,k[H>>2]|0,o)|0;k[t>>2]=A;k[ha>>2]=k[o+12>>2];if(k[t>>2]|0)break a;if(l[(k[P>>2]|0)+69>>0]|0)break a;if(k[(k[F>>2]|0)+36>>2]|0)break a;gD(k[na>>2]|0,k[x>>2]|0);hA(k[na>>2]|0,(k[m>>2]|0)-1|0);k[_>>2]=k[k[k[H>>2]>>2]>>2];if(!((k[da>>2]|0)==0?(hD(k[F>>2]|0,k[p>>2]|0,k[ca>>2]|0)|0)==0:0))i[ma>>0]=1;if(!(i[ma>>0]|0))break;y=(k[F>>2]|0)+40|0;A=k[y>>2]|0;k[y>>2]=A+1;k[la>>2]=A;A=Fx(k[F>>2]|0)|0;k[v>>2]=A;A=Fx(k[F>>2]|0)|0;k[w>>2]=A;sx(k[na>>2]|0,107,k[la>>2]|0,k[_>>2]|0)|0;A=aA(k[na>>2]|0,16,k[o+8>>2]|0)|0;k[h>>2]=A;tx(k[na>>2]|0,99,k[ha>>2]|0,k[_>>2]|0,k[v>>2]|0)|0;sx(k[na>>2]|0,114,k[la>>2]|0,k[w>>2]|0)|0;tx(k[na>>2]|0,115,k[la>>2]|0,k[v>>2]|0,k[w>>2]|0)|0;gA(k[na>>2]|0,k[h>>2]|0)|0;hA(k[na>>2]|0,k[h>>2]|0);Hx(k[F>>2]|0,k[v>>2]|0);Hx(k[F>>2]|0,k[w>>2]|0)}while(0);if((k[I>>2]|0)==0&(k[_>>2]|0)>0)k[W>>2]=j[(k[ca>>2]|0)+32>>1];k[R>>2]=0;while(1){if((k[R>>2]|0)>=(j[(k[ca>>2]|0)+34>>1]|0))break;k[$>>2]=(k[$>>2]|0)+((l[(k[(k[ca>>2]|0)+4>>2]|0)+(k[R>>2]<<4)+15>>0]&2|0)!=0?1:0);k[R>>2]=(k[R>>2]|0)+1}if((k[I>>2]|0)==0&(k[_>>2]|0)!=0?(k[_>>2]|0)!=((j[(k[ca>>2]|0)+34>>1]|0)-(k[$>>2]|0)|0):0){na=k[F>>2]|0;la=(j[(k[ca>>2]|0)+34>>1]|0)-(k[$>>2]|0)|0;ma=k[_>>2]|0;k[B>>2]=k[G>>2];k[B+4>>2]=0;k[B+8>>2]=la;k[B+12>>2]=ma;Oh(na,34293,B);break a}do if(k[I>>2]|0){if((k[_>>2]|0)==(k[(k[I>>2]|0)+4>>2]|0))break;na=k[F>>2]|0;ma=k[(k[I>>2]|0)+4>>2]|0;k[C>>2]=k[_>>2];k[C+4>>2]=ma;Oh(na,34345,C);break a}while(0);if(k[(k[P>>2]|0)+24>>2]&128){B=(k[F>>2]|0)+44|0;C=(k[B>>2]|0)+1|0;k[B>>2]=C;k[ja>>2]=C;sx(k[na>>2]|0,76,0,k[ja>>2]|0)|0}d:do if(!(k[Y>>2]|0)){C=PC(k[F>>2]|0,k[ca>>2]|0,105,0,-1,0,S,T)|0;k[q>>2]=C;C=dx(k[P>>2]|0,(k[q>>2]|0)+1<<2,0)|0;k[K>>2]=C;if(!(k[K>>2]|0))break a;k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[q>>2]|0))break d;B=(k[F>>2]|0)+44|0;C=(k[B>>2]|0)+1|0;k[B>>2]=C;k[(k[K>>2]|0)+(k[R>>2]<<2)>>2]=C;k[R>>2]=(k[R>>2]|0)+1}}while(0);do if(i[ma>>0]|0){C=aA(k[na>>2]|0,57,k[la>>2]|0)|0;k[N>>2]=C;C=Gx(k[na>>2]|0)|0;k[M>>2]=C}else{if(!(k[H>>2]|0))break;C=aA(k[na>>2]|0,16,k[o+8>>2]|0)|0;k[M>>2]=C;k[N>>2]=C}while(0);C=eA(k[na>>2]|0)|0;k[Q>>2]=C;if(k[z>>2]&1){C=MA(k[F>>2]|0,(j[(k[ca>>2]|0)+34>>1]|0)+1|0)|0;k[u>>2]=C;if((k[W>>2]|0)<0)sx(k[na>>2]|0,76,-1,k[u>>2]|0)|0;else{if(i[ma>>0]|0)tx(k[na>>2]|0,96,k[la>>2]|0,k[W>>2]|0,k[u>>2]|0)|0;else $A(k[F>>2]|0,k[(k[(k[ba>>2]|0)+4>>2]|0)+((k[W>>2]|0)*20|0)>>2]|0,k[u>>2]|0);C=aA(k[na>>2]|0,35,k[u>>2]|0)|0;k[g>>2]=C;sx(k[na>>2]|0,76,-1,k[u>>2]|0)|0;hA(k[na>>2]|0,k[g>>2]|0);aA(k[na>>2]|0,17,k[u>>2]|0)|0}k[Z>>2]=0;k[R>>2]=0;while(1){if((k[R>>2]|0)>=(j[(k[ca>>2]|0)+34>>1]|0))break;e:do if(k[I>>2]|0){k[Z>>2]=0;while(1){if((k[Z>>2]|0)>=(k[(k[I>>2]|0)+4>>2]|0))break e;if((k[(k[k[I>>2]>>2]|0)+(k[Z>>2]<<3)+4>>2]|0)==(k[R>>2]|0))break e;k[Z>>2]=(k[Z>>2]|0)+1}}while(0);do if((i[ma>>0]|0)!=0|(k[ba>>2]|0)!=0){if((k[I>>2]|0)!=0?(k[Z>>2]|0)>=(k[(k[I>>2]|0)+4>>2]|0):0){E=90;break}if(i[ma>>0]|0){tx(k[na>>2]|0,96,k[la>>2]|0,k[Z>>2]|0,(k[u>>2]|0)+(k[R>>2]|0)+1|0)|0;break}else{iD(k[F>>2]|0,k[(k[(k[ba>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)>>2]|0,(k[u>>2]|0)+(k[R>>2]|0)+1|0);break}}else E=90;while(0);if((E|0)==90){E=0;$A(k[F>>2]|0,k[(k[(k[ca>>2]|0)+4>>2]|0)+(k[R>>2]<<4)+4>>2]|0,(k[u>>2]|0)+(k[R>>2]|0)+1|0)}if(!(k[I>>2]|0))k[Z>>2]=(k[Z>>2]|0)+1;k[R>>2]=(k[R>>2]|0)+1}if(!(k[Y>>2]|0))jD(k[na>>2]|0,k[ca>>2]|0,(k[u>>2]|0)+1|0);kD(k[F>>2]|0,k[da>>2]|0,108,0,1,k[ca>>2]|0,(k[u>>2]|0)-(j[(k[ca>>2]|0)+34>>1]|0)-1|0,k[J>>2]|0,k[Q>>2]|0);PA(k[F>>2]|0,k[u>>2]|0,(j[(k[ca>>2]|0)+34>>1]|0)+1|0)}do if(!(k[Y>>2]|0)){if(l[(k[ca>>2]|0)+42>>0]&16)sx(k[na>>2]|0,79,0,k[ia>>2]|0)|0;f:do if((k[W>>2]|0)>=0){do if(i[ma>>0]|0)tx(k[na>>2]|0,96,k[la>>2]|0,k[W>>2]|0,k[ka>>2]|0)|0;else{if(k[H>>2]|0){sx(k[na>>2]|0,84,(k[ha>>2]|0)+(k[W>>2]|0)|0,k[ka>>2]|0)|0;break}$A(k[F>>2]|0,k[(k[(k[ba>>2]|0)+4>>2]|0)+((k[W>>2]|0)*20|0)>>2]|0,k[ka>>2]|0);E=oA(k[na>>2]|0,-1)|0;k[s>>2]=E;if(!(k[s>>2]|0))break;if((l[k[s>>2]>>0]|0)!=79)break;if(l[(k[ca>>2]|0)+42>>0]&16)break;i[O>>0]=1;i[k[s>>2]>>0]=114;k[(k[s>>2]|0)+4>>2]=k[S>>2];k[(k[s>>2]|0)+8>>2]=k[ka>>2];k[(k[s>>2]|0)+12>>2]=k[fa>>2]}while(0);if(i[O>>0]|0)break;e=k[na>>2]|0;if(l[(k[ca>>2]|0)+42>>0]&16){E=Gx(e)|0;k[L>>2]=E;sx(k[na>>2]|0,34,k[ka>>2]|0,(k[L>>2]|0)+2|0)|0}else{E=aA(e,35,k[ka>>2]|0)|0;k[L>>2]=E;tx(k[na>>2]|0,114,k[S>>2]|0,k[ka>>2]|0,k[fa>>2]|0)|0;hA(k[na>>2]|0,k[L>>2]|0)}aA(k[na>>2]|0,17,k[ka>>2]|0)|0}else{do if(!(l[(k[ca>>2]|0)+42>>0]&16)){if(l[D>>0]|0)break;tx(k[na>>2]|0,114,k[S>>2]|0,k[ka>>2]|0,k[fa>>2]|0)|0;i[O>>0]=1;break f}while(0);sx(k[na>>2]|0,79,0,k[ka>>2]|0)|0}while(0);lD(k[F>>2]|0,k[fa>>2]|0,k[ka>>2]|0);k[$>>2]=0;k[R>>2]=0;while(1){if((k[R>>2]|0)>=(j[(k[ca>>2]|0)+34>>1]|0))break;k[U>>2]=(k[ka>>2]|0)+1+(k[R>>2]|0);g:do if((k[R>>2]|0)==(j[(k[ca>>2]|0)+32>>1]|0))aA(k[na>>2]|0,80,k[U>>2]|0)|0;else{h:do if(!(k[I>>2]|0))if(l[(k[(k[ca>>2]|0)+4>>2]|0)+(k[R>>2]<<4)+15>>0]&2){k[Z>>2]=-1;k[$>>2]=(k[$>>2]|0)+1;break}else{k[Z>>2]=(k[R>>2]|0)-(k[$>>2]|0);break}else{k[Z>>2]=0;while(1){if((k[Z>>2]|0)>=(k[(k[I>>2]|0)+4>>2]|0))break h;if((k[(k[k[I>>2]>>2]|0)+(k[Z>>2]<<3)+4>>2]|0)==(k[R>>2]|0))break h;k[Z>>2]=(k[Z>>2]|0)+1}}while(0);do if(!((k[Z>>2]|0)<0|(k[_>>2]|0)==0)){if((k[I>>2]|0)!=0?(k[Z>>2]|0)>=(k[(k[I>>2]|0)+4>>2]|0):0)break;if(i[ma>>0]|0){tx(k[na>>2]|0,96,k[la>>2]|0,k[Z>>2]|0,k[U>>2]|0)|0;break g}if(!(k[H>>2]|0)){$A(k[F>>2]|0,k[(k[(k[ba>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)>>2]|0,k[U>>2]|0);break g}if((k[ha>>2]|0)==(k[ga>>2]|0))break g;sx(k[na>>2]|0,85,(k[ha>>2]|0)+(k[Z>>2]|0)|0,k[U>>2]|0)|0;break g}while(0);mD(k[F>>2]|0,k[(k[(k[ca>>2]|0)+4>>2]|0)+(k[R>>2]<<4)+4>>2]|0,k[U>>2]|0)}while(0);k[R>>2]=(k[R>>2]|0)+1}if(l[(k[ca>>2]|0)+42>>0]&16){ka=cy(k[P>>2]|0,k[ca>>2]|0)|0;k[ea>>2]=ka;nD(k[F>>2]|0,k[ca>>2]|0);wx(k[na>>2]|0,12,1,(j[(k[ca>>2]|0)+34>>1]|0)+2|0,k[ia>>2]|0,k[ea>>2]|0,-10)|0;Th(k[na>>2]|0,((k[J>>2]|0)==10?2:k[J>>2]|0)&255);dy(k[F>>2]|0);break}else{oD(k[F>>2]|0,k[ca>>2]|0,k[K>>2]|0,k[S>>2]|0,k[T>>2]|0,k[ia>>2]|0,0,(k[W>>2]|0)>=0&255,k[J>>2]&255,k[Q>>2]|0,X,0);pD(k[F>>2]|0,k[ca>>2]|0,0,k[ia>>2]|0,0,0);qD(k[F>>2]|0,k[ca>>2]|0,k[S>>2]|0,k[T>>2]|0,k[ia>>2]|0,k[K>>2]|0,0,l[O>>0]|0,(k[X>>2]|0)==0&1);break}}while(0);if(k[(k[P>>2]|0)+24>>2]&128)sx(k[na>>2]|0,91,k[ja>>2]|0,1)|0;if(k[da>>2]|0)kD(k[F>>2]|0,k[da>>2]|0,108,0,2,k[ca>>2]|0,(k[ga>>2]|0)-2-(j[(k[ca>>2]|0)+34>>1]|0)|0,k[J>>2]|0,k[Q>>2]|0);iA(k[na>>2]|0,k[Q>>2]|0);do if(i[ma>>0]|0){sx(k[na>>2]|0,7,k[la>>2]|0,k[M>>2]|0)|0;hA(k[na>>2]|0,k[N>>2]|0);aA(k[na>>2]|0,111,k[la>>2]|0)|0}else{if(!(k[H>>2]|0))break;gA(k[na>>2]|0,k[M>>2]|0)|0;hA(k[na>>2]|0,k[N>>2]|0)}while(0);if((k[Y>>2]|0)!=0?1:(l[(k[ca>>2]|0)+42>>0]&16|0)!=0)break;if((k[S>>2]|0)<(k[T>>2]|0))aA(k[na>>2]|0,111,k[S>>2]|0)|0;k[V>>2]=0;k[aa>>2]=k[(k[ca>>2]|0)+8>>2];while(1){if(!(k[aa>>2]|0))break b;aA(k[na>>2]|0,111,(k[V>>2]|0)+(k[T>>2]|0)|0)|0;k[aa>>2]=k[(k[aa>>2]|0)+20>>2];k[V>>2]=(k[V>>2]|0)+1}}while(0);if((l[(k[F>>2]|0)+18>>0]|0)==0?(k[(k[F>>2]|0)+128>>2]|0)==0:0)rD(k[F>>2]|0);if(((k[(k[P>>2]|0)+24>>2]&128|0)!=0?(i[(k[F>>2]|0)+18>>0]|0)==0:0)?(k[(k[F>>2]|0)+128>>2]|0)==0:0){sx(k[na>>2]|0,87,k[ja>>2]|0,1)|0;wC(k[na>>2]|0,1);xC(k[na>>2]|0,0,0,34370,0)|0}}}while(0);rv(k[P>>2]|0,k[G>>2]|0);ov(k[P>>2]|0,k[ba>>2]|0);pv(k[P>>2]|0,k[H>>2]|0);uv(k[P>>2]|0,k[I>>2]|0);bg(k[P>>2]|0,k[K>>2]|0);r=oa;return}function rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;d=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[f>>2]|0)==0?(c=Ch(k[d>>2]|0,8,0)|0,k[f>>2]=c,(k[f>>2]|0)==0):0){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}c=aD(k[d>>2]|0,k[k[f>>2]>>2]|0,8,(k[f>>2]|0)+4|0,h)|0;k[k[f>>2]>>2]=c;d=k[d>>2]|0;if((k[h>>2]|0)<0){uv(d,k[f>>2]|0);k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}else{g=bx(d,k[g>>2]|0)|0;k[(k[k[f>>2]>>2]|0)+(k[h>>2]<<3)>>2]=g;k[e>>2]=k[f>>2];h=k[e>>2]|0;r=i;return h|0}return 0}function sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[e>>2]|0)+4>>2]=k[k[g>>2]>>2];k[(k[e>>2]|0)+8>>2]=(k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0);r=d;return}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+24|0;f=p+20|0;g=p+16|0;h=p+12|0;o=p+8|0;n=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;k[m>>2]=0;do if(k[g>>2]|0){if(((k[f>>2]|0)==134?(k[k[g>>2]>>2]|0)!=0:0)?(_i(k[k[g>>2]>>2]|0,m)|0)!=0:0)break;k[n>>2]=(k[(k[g>>2]|0)+4>>2]|0)+1}while(0);c=dx(k[e>>2]|0,48+(k[n>>2]|0)|0,0)|0;k[o>>2]=c;if(!(k[o>>2]|0)){o=k[o>>2]|0;r=p;return o|0}e=k[o>>2]|0;a=e+48|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(a|0));i[k[o>>2]>>0]=k[f>>2];j[(k[o>>2]|0)+34>>1]=-1;do if(k[g>>2]|0){e=k[o>>2]|0;if(!(k[n>>2]|0)){n=e+4|0;k[n>>2]=k[n>>2]|1024;k[(k[o>>2]|0)+8>>2]=k[m>>2];break}k[(k[o>>2]|0)+8>>2]=e+48;if(k[(k[g>>2]|0)+4>>2]|0)bS(k[(k[o>>2]|0)+8>>2]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0;i[(k[(k[o>>2]|0)+8>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0)>>0]=0;if((k[h>>2]|0)!=0?(l[18403+(l[k[(k[o>>2]|0)+8>>2]>>0]|0)>>0]&128|0)!=0:0){if((i[k[(k[o>>2]|0)+8>>2]>>0]|0)==34){n=(k[o>>2]|0)+4|0;k[n>>2]=k[n>>2]|64}hx(k[(k[o>>2]|0)+8>>2]|0)}}while(0);k[(k[o>>2]|0)+24>>2]=1;o=k[o>>2]|0;r=p;return o|0}function uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;p=u+16|0;o=u+8|0;d=u+44|0;e=u+40|0;f=u+36|0;l=u+32|0;s=u+28|0;q=u+50|0;m=u;h=u+24|0;n=u+48|0;g=u+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=k[k[d>>2]>>2];if(!(k[e>>2]|0)){r=u;return}k[s>>2]=k[(k[e>>2]|0)+8>>2];if(i[(k[s>>2]|0)+1>>0]|0){do if((i[k[s>>2]>>0]|0)!=63){j[q>>1]=0;j[n>>1]=0;while(1){if((j[n>>1]|0)>=(k[(k[d>>2]|0)+404>>2]|0))break;if((k[(k[(k[d>>2]|0)+428>>2]|0)+(j[n>>1]<<2)>>2]|0)!=0?(rR(k[(k[(k[d>>2]|0)+428>>2]|0)+(j[n>>1]<<2)>>2]|0,k[s>>2]|0)|0)==0:0){t=14;break}j[n>>1]=(j[n>>1]|0)+1<<16>>16}if((t|0)==14)j[q>>1]=(j[n>>1]|0)+1;if(!(j[q>>1]|0)){o=(k[d>>2]|0)+400|0;t=(j[o>>1]|0)+1<<16>>16;j[o>>1]=t;j[q>>1]=t}}else{t=0==(Wi((k[s>>2]|0)+1|0,m,(k[f>>2]|0)-1|0,1)|0)&1;k[h>>2]=t;j[q>>1]=k[m>>2];t=m;a=k[t+4>>2]|0;if(!((k[h>>2]|0)==0|((a|0)<0|(a|0)==0&(k[t>>2]|0)>>>0<1))?(a=m,c=k[a+4>>2]|0,t=k[(k[l>>2]|0)+96+36>>2]|0,b=((t|0)<0)<<31>>31,!((c|0)>(b|0)|((c|0)==(b|0)?(k[a>>2]|0)>>>0>t>>>0:0))):0){o=m;b=k[o+4>>2]|0;t=j[(k[d>>2]|0)+400>>1]|0;a=((t|0)<0)<<31>>31;if(!((b|0)>(a|0)|((b|0)==(a|0)?(k[o>>2]|0)>>>0>t>>>0:0)))break;j[(k[d>>2]|0)+400>>1]=k[m>>2];break}t=k[d>>2]|0;k[o>>2]=k[(k[l>>2]|0)+96+36>>2];Oh(t,34195,o);r=u;return}while(0);j[(k[e>>2]|0)+32>>1]=j[q>>1]|0;do if((j[q>>1]|0)>(k[(k[d>>2]|0)+404>>2]|0)){t=cx(k[l>>2]|0,k[(k[d>>2]|0)+428>>2]|0,j[q>>1]<<2,0)|0;k[g>>2]=t;if(!(k[g>>2]|0)){r=u;return}else{k[(k[d>>2]|0)+428>>2]=k[g>>2];dS((k[g>>2]|0)+(k[(k[d>>2]|0)+404>>2]<<2)|0,0,(j[q>>1]|0)-(k[(k[d>>2]|0)+404>>2]|0)<<2|0)|0;k[(k[d>>2]|0)+404>>2]=j[q>>1];break}}while(0);if(!(k[(k[(k[d>>2]|0)+428>>2]|0)+((j[q>>1]|0)-1<<2)>>2]|0)){t=gx(k[l>>2]|0,k[s>>2]|0,k[f>>2]|0,0)|0;k[(k[(k[d>>2]|0)+428>>2]|0)+((j[q>>1]|0)-1<<2)>>2]=t}}else{s=(k[d>>2]|0)+400|0;t=(j[s>>1]|0)+1<<16>>16;j[s>>1]=t;j[(k[e>>2]|0)+32>>1]=t}if((j[(k[d>>2]|0)+400>>1]|0)<=(k[(k[l>>2]|0)+96+36>>2]|0)){r=u;return}Oh(k[d>>2]|0,34238,p);r=u;return}function vw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((k[(k[g>>2]|0)+4>>2]|0)>>>0<=0){a=k[f>>2]|0;r=j;return a|0}a=tw(k[k[e>>2]>>2]|0,53,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){a=k[f>>2]|0;r=j;return a|0}k[(k[i>>2]|0)+12>>2]=k[f>>2];a=(k[i>>2]|0)+4|0;k[a>>2]=k[a>>2]|4352;k[f>>2]=k[i>>2];a=k[f>>2]|0;r=j;return a|0}function ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;h=i+4|0;g=i;k[e>>2]=a;k[f>>2]=b;k[j>>2]=c;k[g>>2]=k[k[e>>2]>>2];c=tw(k[g>>2]|0,151,k[j>>2]|0,1)|0;k[h>>2]=c;if(!(k[h>>2]|0)){ov(k[g>>2]|0,k[f>>2]|0);k[d>>2]=0;j=k[d>>2]|0;r=i;return j|0}else{k[(k[h>>2]|0)+20>>2]=k[f>>2];Cw(k[e>>2]|0,k[h>>2]|0);k[d>>2]=k[h>>2];j=k[d>>2]|0;r=i;return j|0}return 0}function xw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[h>>2]=b;k[f>>2]=c;k[g>>2]=d;d=Ov(k[i>>2]|0,k[h>>2]|0,k[k[f>>2]>>2]|0,k[k[g>>2]>>2]|0,0)|0;k[k[f>>2]>>2]=d;k[(k[f>>2]|0)+8>>2]=k[(k[g>>2]|0)+8>>2];r=e;return}function yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;if(!(k[g>>2]|0)){r=f;return}g=Ov(k[d>>2]|0,19,k[k[e>>2]>>2]|0,0,0)|0;k[k[e>>2]>>2]=g;r=f;return}function zw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[h>>2]=b;k[f>>2]=c;k[g>>2]=d;d=Ov(k[i>>2]|0,k[h>>2]|0,k[k[f>>2]>>2]|0,0,0)|0;k[k[f>>2]>>2]=d;k[(k[f>>2]|0)+8>>2]=(k[k[g>>2]>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0);r=e;return}function Aw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;m=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[k[m>>2]>>2];if(!((k[f>>2]|0)!=0&(k[e>>2]|0)!=0)){r=j;return}if((l[k[e>>2]>>0]|0|0)!=101){r=j;return}i[k[f>>2]>>0]=k[g>>2];sv(k[h>>2]|0,k[(k[f>>2]|0)+16>>2]|0);k[(k[f>>2]|0)+16>>2]=0;r=j;return}function Bw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;g=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;l=f;k[g>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[l>>2]=e;k[(k[g>>2]|0)+4>>2]=k[k[l>>2]>>2];e=Ov(k[j>>2]|0,k[i>>2]|0,k[k[h>>2]>>2]|0,0,0)|0;k[k[g>>2]>>2]=e;k[(k[g>>2]|0)+8>>2]=k[(k[h>>2]|0)+8>>2];r=f;return}function Cw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+36>>2]|0){r=e;return}Jz(k[d>>2]|0);hz(k[c>>2]|0,k[(k[d>>2]|0)+24>>2]|0)|0;r=e;return}function Dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){k[(k[e>>2]|0)+20>>2]=k[f>>2];c=(k[e>>2]|0)+4|0;k[c>>2]=k[c>>2]|2099200;Cw(k[d>>2]|0,k[e>>2]|0);r=g;return}else{pv(k[k[d>>2]>>2]|0,k[f>>2]|0);r=g;return}}function Ew(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;j=r;r=r+32|0;i=j;f=j+28|0;o=j+24|0;g=j+20|0;n=j+16|0;m=j+12|0;h=j+8|0;k[f>>2]=a;k[o>>2]=b;k[g>>2]=c;k[n>>2]=d;k[m>>2]=e;e=bw(k[f>>2]|0,k[o>>2]|0,0)|0;k[h>>2]=e;if((k[n>>2]|0)!=0|(k[m>>2]|0)!=-1?(l[(k[k[f>>2]>>2]|0)+148+5>>0]|0|0)==0:0){o=k[f>>2]|0;n=k[k[g>>2]>>2]|0;k[i>>2]=k[(k[g>>2]|0)+4>>2];k[i+4>>2]=n;Oh(o,34155,i)}cw(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0,1);r=j;return k[h>>2]|0}function Fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;l=u+16|0;j=u+8|0;t=u;o=u+68|0;p=u+64|0;q=u+60|0;f=u+56|0;h=u+52|0;s=u+48|0;e=u+44|0;d=u+40|0;g=u+36|0;m=u+32|0;n=u+28|0;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=k[k[o>>2]>>2];if(i[(k[s>>2]|0)+69>>0]|0){s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}if(Uz(k[o>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}a=Uj(k[s>>2]|0,k[(k[p>>2]|0)+8+8>>2]|0,k[(k[p>>2]|0)+8+4>>2]|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){d=k[o>>2]|0;e=k[p>>2]|0;if(k[q>>2]|0)hC(d,k[e+8+4>>2]|0);else{k[t>>2]=e;k[t+4>>2]=0;Oh(d,33945,t)}i[(k[o>>2]|0)+17>>0]=1;s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}if(i[(k[f>>2]|0)+55>>0]&3){t=k[o>>2]|0;k[j>>2]=0;Oh(t,33963,j);s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}t=Ph(k[s>>2]|0,k[(k[f>>2]|0)+24>>2]|0)|0;k[e>>2]=t;k[d>>2]=10;k[g>>2]=k[(k[f>>2]|0)+12>>2];k[m>>2]=k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];k[n>>2]=(k[e>>2]|0)==1?19905:19924;if(kx(k[o>>2]|0,9,k[n>>2]|0,0,k[m>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}if(k[e>>2]|0)k[d>>2]=12;if(kx(k[o>>2]|0,k[d>>2]|0,k[k[f>>2]>>2]|0,k[k[g>>2]>>2]|0,k[m>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}t=nx(k[o>>2]|0)|0;k[h>>2]=t;if(!(k[h>>2]|0)){s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}Bx(k[o>>2]|0,1,k[e>>2]|0);t=k[o>>2]|0;n=(k[e>>2]|0)==1?19905:19924;q=k[k[f>>2]>>2]|0;k[l>>2]=k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];k[l+4>>2]=n;k[l+8>>2]=q;mx(t,34036,l);_C(k[o>>2]|0,k[e>>2]|0,30854,k[k[f>>2]>>2]|0);ox(k[o>>2]|0,k[e>>2]|0);$C(k[o>>2]|0,k[(k[f>>2]|0)+44>>2]|0,k[e>>2]|0);wx(k[h>>2]|0,139,k[e>>2]|0,0,0,k[k[f>>2]>>2]|0,0)|0;s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}function Gw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;a=nx(k[c>>2]|0)|0;k[f>>2]=a;if(k[d>>2]|0)c=Yz(k[c>>2]|0,k[d>>2]|0,k[d>>2]|0,d)|0;else c=0;k[e>>2]=c;if(!(k[f>>2]|0)){r=g;return}if(!((k[e>>2]|0)>=2|(k[e>>2]|0)==0)){r=g;return}aA(k[f>>2]|0,10,k[e>>2]|0)|0;Vh(k[f>>2]|0,k[e>>2]|0);r=g;return}function Hw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=r;r=r+816|0;Ia=fc+264|0;Qb=fc+256|0;Pb=fc+248|0;Ya=fc+240|0;za=fc+208|0;ya=fc+200|0;xa=fc+184|0;wa=fc+160|0;Ob=fc+144|0;Nb=fc+128|0;va=fc+112|0;ua=fc+96|0;Zb=fc+72|0;ta=fc+64|0;sa=fc+56|0;ra=fc+48|0;q=fc+40|0;o=fc+32|0;ac=fc+808|0;f=fc+804|0;s=fc+800|0;h=fc+796|0;n=fc+792|0;dc=fc+788|0;ec=fc+784|0;_a=fc+780|0;g=fc+776|0;p=fc+760|0;$b=fc+756|0;W=fc+752|0;qa=fc+748|0;X=fc+744|0;ka=fc+740|0;cc=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Eb=fc+724|0;v=fc+720|0;ma=fc+716|0;_=fc+712|0;Fa=fc+708|0;$=fc+704|0;B=fc+700|0;S=fc+696|0;Oa=fc+692|0;Ba=fc+688|0;D=fc+684|0;fa=fc+680|0;T=fc+676|0;E=fc+672|0;U=fc+668|0;Aa=fc+664|0;Y=fc+660|0;ga=fc+656|0;Q=fc+24|0;aa=fc+652|0;C=fc+648|0;y=fc+644|0;M=fc+640|0;R=fc+636|0;z=fc+632|0;na=fc+628|0;oa=fc+624|0;pa=fc+16|0;la=fc+620|0;P=fc+616|0;Da=fc+612|0;Yb=fc+608|0;Tb=fc+604|0;Ub=fc+600|0;Vb=fc+596|0;Wb=fc+592|0;Xb=fc+588|0;da=fc+584|0;G=fc+580|0;ha=fc+576|0;zb=fc+572|0;Gb=fc+568|0;fb=fc+564|0;vb=fc+560|0;eb=fc+812|0;ea=fc+556|0;ia=fc+552|0;H=fc+548|0;A=fc+536|0;I=fc+532|0;J=fc+528|0;Z=fc+524|0;ba=fc+520|0;ca=fc+516|0;ja=fc+512|0;K=fc+508|0;V=fc+504|0;Ra=fc+500|0;Ua=fc+496|0;Ta=fc+492|0;Sa=fc+488|0;Ma=fc+484|0;Pa=fc+480|0;Qa=fc+476|0;Za=fc+472|0;Wa=fc+468|0;Va=fc+464|0;Xa=fc+460|0;Ka=fc+456|0;Ja=fc+452|0;La=fc+448|0;Na=fc+444|0;gb=fc+440|0;lb=fc+436|0;bb=fc+432|0;wb=fc+428|0;kb=fc+424|0;Rb=fc+420|0;Kb=fc+416|0;ab=fc+412|0;db=fc+408|0;xb=fc+404|0;yb=fc+400|0;Hb=fc+396|0;Ab=fc+392|0;Ib=fc+388|0;Bb=fc+384|0;Jb=fc+380|0;Cb=fc+376|0;Db=fc+372|0;Fb=fc+368|0;ub=fc+364|0;ib=fc+360|0;jb=fc+356|0;Lb=fc+352|0;Sb=fc+348|0;mb=fc+344|0;ob=fc+340|0;nb=fc+336|0;pb=fc+332|0;qb=fc+328|0;rb=fc+324|0;cb=fc+320|0;Mb=fc+316|0;sb=fc+312|0;tb=fc+308|0;hb=fc+304|0;$a=fc+300|0;Ha=fc+296|0;O=fc+292|0;w=fc+288|0;x=fc+284|0;Ca=fc+280|0;Ga=fc+276|0;N=fc+272|0;F=fc+268|0;t=fc+8|0;u=fc;k[ac>>2]=a;k[f>>2]=b;k[s>>2]=c;k[h>>2]=d;k[n>>2]=e;k[dc>>2]=0;k[ec>>2]=0;k[_a>>2]=0;k[X>>2]=0;k[cc>>2]=k[k[ac>>2]>>2];d=nx(k[ac>>2]|0)|0;k[bc>>2]=d;if(!(k[bc>>2]|0)){r=fc;return}sC(k[bc>>2]|0);k[(k[ac>>2]|0)+44>>2]=2;d=Yz(k[ac>>2]|0,k[f>>2]|0,k[s>>2]|0,g)|0;k[$b>>2]=d;if((k[$b>>2]|0)<0){r=fc;return}k[Ea>>2]=(k[(k[cc>>2]|0)+16>>2]|0)+(k[$b>>2]<<4);if((k[$b>>2]|0)==1?(Dx(k[ac>>2]|0)|0)!=0:0){r=fc;return}d=bx(k[cc>>2]|0,k[g>>2]|0)|0;k[dc>>2]=d;if(!(k[dc>>2]|0)){r=fc;return}e=k[cc>>2]|0;f=k[h>>2]|0;if(k[n>>2]|0){k[o>>2]=f;o=Qh(e,32103,o)|0;k[ec>>2]=o}else{o=bx(e,f)|0;k[ec>>2]=o}if((k[(k[s>>2]|0)+4>>2]|0)>>>0>0)f=k[k[Ea>>2]>>2]|0;else f=0;k[_a>>2]=f;a:do if(!(kx(k[ac>>2]|0,19,k[dc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0)){k[p>>2]=0;k[p+4>>2]=k[dc>>2];k[p+8>>2]=k[ec>>2];k[p+12>>2]=0;k[(k[cc>>2]|0)+380+8>>2]=0;o=Qf(k[cc>>2]|0,k[_a>>2]|0,14,p)|0;k[ka>>2]=o;if(!(k[ka>>2]|0)){tC(k[bc>>2]|0,32107,k[p>>2]|0);Ud(k[p>>2]|0);break}if((k[ka>>2]|0)!=12){if(k[p>>2]|0){bc=k[ac>>2]|0;k[q>>2]=k[p>>2];Oh(bc,18391,q);Ud(k[p>>2]|0)}bc=(k[ac>>2]|0)+36|0;k[bc>>2]=(k[bc>>2]|0)+1;k[(k[ac>>2]|0)+12>>2]=k[ka>>2];break}k[W>>2]=0;k[qa>>2]=57;while(1){if((k[W>>2]|0)>(k[qa>>2]|0))break;k[X>>2]=((k[W>>2]|0)+(k[qa>>2]|0)|0)/2|0;q=be(k[dc>>2]|0,k[4476+((k[X>>2]|0)*12|0)>>2]|0)|0;k[ka>>2]=q;if(!(k[ka>>2]|0))break;f=k[X>>2]|0;if((k[ka>>2]|0)<0){k[qa>>2]=f-1;continue}else{k[W>>2]=f+1;continue}}if((k[W>>2]|0)<=(k[qa>>2]|0)){k[Eb>>2]=4476+((k[X>>2]|0)*12|0);if((l[(k[Eb>>2]|0)+5>>0]&1|0)!=0?(Uz(k[ac>>2]|0)|0)!=0:0)break;do switch(l[(k[Eb>>2]|0)+4>>0]|0){case 11:{Vh(k[bc>>2]|0,k[$b>>2]|0);if(k[ec>>2]|0){_b=Nj(Zi(k[ec>>2]|0)|0)|0;k[ma>>2]=_b;Bx(k[ac>>2]|0,0,k[$b>>2]|0);tx(k[bc>>2]|0,102,k[$b>>2]|0,3,k[ma>>2]|0)|0;k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]=k[ma>>2];Oj(k[(k[Ea>>2]|0)+4>>2]|0,k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{uC(k[bc>>2]|0,32114);ac=(k[ac>>2]|0)+44|0;k[ac>>2]=(k[ac>>2]|0)+2;bc=Uh(k[bc>>2]|0,9,32125,0)|0;k[v>>2]=bc;k[(k[v>>2]|0)+4>>2]=k[$b>>2];k[(k[v>>2]|0)+20+4>>2]=k[$b>>2];k[(k[v>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{k[_>>2]=k[(k[Ea>>2]|0)+4>>2];if(k[ec>>2]|0){bc=Zi(k[ec>>2]|0)|0;k[(k[cc>>2]|0)+80>>2]=bc;if(7!=(Mi(k[_>>2]|0,k[(k[cc>>2]|0)+80>>2]|0,-1,0)|0))break a;wh(k[cc>>2]|0);break a}if(k[_>>2]|0)f=Cg(k[_>>2]|0)|0;else f=0;k[Fa>>2]=f;ac=k[Fa>>2]|0;vC(k[bc>>2]|0,32161,ac,((ac|0)<0)<<31>>31);break a}case 26:{k[$>>2]=k[(k[Ea>>2]|0)+4>>2];k[B>>2]=-1;if(k[ec>>2]|0){ac=(Qi(k[ec>>2]|0,0)|0)&255;k[B>>2]=ac}b:do if((k[B>>2]|0)>=0?(k[(k[s>>2]|0)+4>>2]|0)==0:0){k[S>>2]=0;while(1){if((k[S>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break b;dC(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[S>>2]<<4)+4>>2]|0,k[B>>2]|0)|0;k[S>>2]=(k[S>>2]|0)+1}}while(0);ac=dC(k[$>>2]|0,k[B>>2]|0)|0;k[B>>2]=ac;ac=k[B>>2]|0;vC(k[bc>>2]|0,32171,ac,((ac|0)<0)<<31>>31);break a}case 23:{Cx(k[ac>>2]|0,k[$b>>2]|0);f=(k[ac>>2]|0)+44|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[Oa>>2]=g;g=k[bc>>2]|0;f=k[$b>>2]|0;e=k[Oa>>2]|0;if((l[17613+(l[k[dc>>2]>>0]|0)>>0]|0)==112)sx(g,158,f,e)|0;else tx(g,159,f,e,Nj(Zi(k[ec>>2]|0)|0)|0)|0;sx(k[bc>>2]|0,87,k[Oa>>2]|0,1)|0;wC(k[bc>>2]|0,1);xC(k[bc>>2]|0,0,0,k[dc>>2]|0,-1)|0;break a}case 22:{k[Ba>>2]=32185;ac=yC(k[ec>>2]|0)|0;k[D>>2]=ac;if((k[D>>2]|0)==-1?(k[(k[s>>2]|0)+4>>2]|0)==0:0)k[D>>2]=l[(k[cc>>2]|0)+71>>0];else{if(!(k[(k[s>>2]|0)+4>>2]|0)){k[T>>2]=2;while(1){if((k[T>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break;ac=Zf(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[T>>2]<<4)+4>>2]|0)|0;k[fa>>2]=ac;cC(k[fa>>2]|0,k[D>>2]|0)|0;k[T>>2]=(k[T>>2]|0)+1}i[(k[cc>>2]|0)+71>>0]=k[D>>2]}ac=Zf(k[(k[Ea>>2]|0)+4>>2]|0)|0;k[fa>>2]=ac;ac=cC(k[fa>>2]|0,k[D>>2]|0)|0;k[D>>2]=ac}if((k[D>>2]|0)==1)k[Ba>>2]=32192;tC(k[bc>>2]|0,32202,k[Ba>>2]|0);break a}case 19:{uC(k[bc>>2]|0,32215);if(k[ec>>2]|0){ac=Tf(k[ec>>2]|0)|0;k[Y>>2]=ac;k[E>>2]=0;while(1){ac=zC(k[E>>2]|0)|0;k[Aa>>2]=ac;if(!ac)break;if(!(Jd(k[ec>>2]|0,k[Aa>>2]|0,k[Y>>2]|0)|0))break;k[E>>2]=(k[E>>2]|0)+1}if(!(k[Aa>>2]|0))k[E>>2]=-1}else k[E>>2]=-1;if((k[E>>2]|0)==-1?(k[(k[s>>2]|0)+4>>2]|0)==0:0){k[$b>>2]=0;k[(k[s>>2]|0)+4>>2]=1}k[U>>2]=(k[(k[cc>>2]|0)+20>>2]|0)-1;while(1){if((k[U>>2]|0)<0)break;do if(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[U>>2]<<4)+4>>2]|0){if((k[U>>2]|0)!=(k[$b>>2]|0)?(k[(k[s>>2]|0)+4>>2]|0)!=0:0)break;Vh(k[bc>>2]|0,k[U>>2]|0);tx(k[bc>>2]|0,9,k[U>>2]|0,1,k[E>>2]|0)|0}while(0);k[U>>2]=(k[U>>2]|0)+-1}sx(k[bc>>2]|0,87,1,1)|0;break a}case 20:{ac=Zf(k[(k[Ea>>2]|0)+4>>2]|0)|0;k[ga>>2]=ac;ac=Q;k[ac>>2]=-2;k[ac+4>>2]=-1;if((k[ec>>2]|0)!=0?(Ri(k[ec>>2]|0,Q)|0,ac=Q,$b=k[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(k[ac>>2]|0)>>>0<4294967295):0){ac=Q;k[ac>>2]=-1;k[ac+4>>2]=-1}$b=Q;$b=AC(k[ga>>2]|0,k[$b>>2]|0,k[$b+4>>2]|0)|0;ac=Q;k[ac>>2]=$b;k[ac+4>>2]=L;ac=Q;vC(k[bc>>2]|0,32228,k[ac>>2]|0,k[ac+4>>2]|0);break a}case 1:{k[aa>>2]=k[(k[Ea>>2]|0)+4>>2];if(!(k[ec>>2]|0)){ac=k[bc>>2]|0;bc=BC(k[aa>>2]|0)|0;vC(ac,32247,bc,((bc|0)<0)<<31>>31);break a}ac=CC(k[ec>>2]|0)|0;k[C>>2]=ac;i[(k[cc>>2]|0)+72>>0]=k[C>>2];ac=DC(k[aa>>2]|0,k[C>>2]|0)|0;k[ka>>2]=ac;if(k[ka>>2]|0)break a;if(!((k[C>>2]|0)==1|(k[C>>2]|0)==2))break a;ac=Gx(k[bc>>2]|0)|0;k[M>>2]=ac;ac=Uh(k[bc>>2]|0,5,32259,0)|0;k[y>>2]=ac;k[(k[y>>2]|0)+4>>2]=k[$b>>2];k[(k[y>>2]|0)+20+4>>2]=k[$b>>2];k[(k[y>>2]|0)+40+8>>2]=(k[M>>2]|0)+4;k[(k[y>>2]|0)+80+4>>2]=k[$b>>2];k[(k[y>>2]|0)+80+12>>2]=(k[C>>2]|0)-1;Vh(k[bc>>2]|0,k[$b>>2]|0);break a}case 15:{if(!((k[ec>>2]|0)!=0?(_b=(_i(k[ec>>2]|0,R)|0)==0,!(_b|(k[R>>2]|0)<=0)):0))k[R>>2]=2147483647;Bx(k[ac>>2]|0,0,k[$b>>2]|0);sx(k[bc>>2]|0,76,k[R>>2]|0,1)|0;ac=aA(k[bc>>2]|0,69,k[$b>>2]|0)|0;k[z>>2]=ac;aA(k[bc>>2]|0,87,1)|0;sx(k[bc>>2]|0,91,1,-1)|0;sx(k[bc>>2]|0,66,1,k[z>>2]|0)|0;hA(k[bc>>2]|0,k[z>>2]|0);break a}case 4:if(k[ec>>2]|0){bc=Zi(k[ec>>2]|0)|0;k[na>>2]=bc;k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]=k[na>>2];Oj(k[(k[Ea>>2]|0)+4>>2]|0,k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0;vC(k[bc>>2]|0,32114,ac,((ac|0)<0)<<31>>31);break a}case 5:{if(!(k[ec>>2]|0)){e=k[bc>>2]|0;if(!(k[(k[cc>>2]|0)+24>>2]&32))f=0;else f=EC(k[(k[Ea>>2]|0)+4>>2]|0,0)|0;vC(e,32279,f,((f|0)<0)<<31>>31);break a}k[oa>>2]=1;if(_i(k[ec>>2]|0,oa)|0)EC(k[(k[Ea>>2]|0)+4>>2]|0,k[oa>>2]|0)|0;bc=(Qi(k[ec>>2]|0,(k[oa>>2]|0)!=0&255)|0)<<24>>24!=0;f=(k[cc>>2]|0)+24|0;e=k[f>>2]|0;if(bc)k[f>>2]=e|32;else k[f>>2]=e&-33;FC(k[cc>>2]|0);break a}case 24:{$b=pa;k[$b>>2]=0;k[$b+4>>2]=0;k[ka>>2]=0;if(!(k[ka>>2]|0)){ac=pa;vC(k[bc>>2]|0,32291,k[ac>>2]|0,k[ac+4>>2]|0);break a}if((k[ka>>2]|0)==12)break a;bc=(k[ac>>2]|0)+36|0;k[bc>>2]=(k[bc>>2]|0)+1;k[(k[ac>>2]|0)+12>>2]=k[ka>>2];break a}case 32:if(k[ec>>2]|0){GC(k[ac>>2]|0,k[ec>>2]|0)|0;break a}else{vC(k[bc>>2]|0,32301,l[(k[cc>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(k[ec>>2]|0)){tC(k[bc>>2]|0,32312,k[243]|0);break a}if((i[k[ec>>2]>>0]|0)!=0?(bc=gs(k[k[cc>>2]>>2]|0,k[ec>>2]|0,1,la)|0,k[ka>>2]=bc,(k[ka>>2]|0)!=0|(k[la>>2]|0)==0):0){Oh(k[ac>>2]|0,32333,ra);break a}if((l[(k[cc>>2]|0)+68>>0]|0)<=1)HC(k[ac>>2]|0)|0;Ud(k[243]|0);if(i[k[ec>>2]>>0]|0){k[sa>>2]=k[ec>>2];bc=Yd(18391,sa)|0;k[243]=bc;break a}else{k[243]=0;break a}}case 30:{if(!(k[ec>>2]|0)){ac=(l[(k[Ea>>2]|0)+8>>0]|0)-1|0;vC(k[bc>>2]|0,32358,ac,((ac|0)<0)<<31>>31);break a}if(i[(k[cc>>2]|0)+67>>0]|0){bc=((Yi(k[ec>>2]|0,0,1)|0)&255)+1&7;k[P>>2]=bc;k[P>>2]=(k[P>>2]|0)==0?1:bc;i[(k[Ea>>2]|0)+8>>0]=k[P>>2];i[(k[Ea>>2]|0)+9>>0]=1;FC(k[cc>>2]|0);break a}else{Oh(k[ac>>2]|0,32370,ta);break a}}case 2:{if(!(k[ec>>2]|0)){ac=(k[(k[cc>>2]|0)+24>>2]&k[(k[Eb>>2]|0)+8>>2]|0)!=0&1;vC(k[bc>>2]|0,k[k[Eb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}k[Da>>2]=k[(k[Eb>>2]|0)+8>>2];if(!(l[(k[cc>>2]|0)+67>>0]|0))k[Da>>2]=k[Da>>2]&-524289;ac=(Qi(k[ec>>2]|0,0)|0)<<24>>24!=0;f=k[Da>>2]|0;if(!ac){ac=(k[cc>>2]|0)+24|0;k[ac>>2]=k[ac>>2]&~f;if((k[Da>>2]|0)==33554432){ac=(k[cc>>2]|0)+448|0;k[ac>>2]=0;k[ac+4>>2]=0}}else{ac=(k[cc>>2]|0)+24|0;k[ac>>2]=k[ac>>2]|f}px(k[bc>>2]|0,150)|0;FC(k[cc>>2]|0);break a}case 31:{if(!(k[ec>>2]|0))break a;_b=Nh(k[ac>>2]|0,2,k[ec>>2]|0,k[_a>>2]|0)|0;k[Yb>>2]=_b;if(!(k[Yb>>2]|0))break a;k[Vb>>2]=0;_b=Tj(k[Yb>>2]|0)|0;k[Xb>>2]=_b;k[(k[ac>>2]|0)+44>>2]=6;Cx(k[ac>>2]|0,k[$b>>2]|0);IC(k[bc>>2]|0,6,5172);by(k[ac>>2]|0,k[Yb>>2]|0)|0;k[Tb>>2]=0;k[Wb>>2]=k[(k[Yb>>2]|0)+4>>2];while(1){if((k[Tb>>2]|0)>=(j[(k[Yb>>2]|0)+34>>1]|0))break a;if(l[(k[Wb>>2]|0)+15>>0]&2)k[Vb>>2]=(k[Vb>>2]|0)+1;else{c:do if(!(l[(k[Wb>>2]|0)+15>>0]&1))k[Ub>>2]=0;else{ac=(k[Xb>>2]|0)==0;k[Ub>>2]=1;if(ac)break;while(1){if((k[Ub>>2]|0)>(j[(k[Yb>>2]|0)+34>>1]|0))break c;if((j[(k[(k[Xb>>2]|0)+4>>2]|0)+((k[Ub>>2]|0)-1<<1)>>1]|0)==(k[Tb>>2]|0))break c;k[Ub>>2]=(k[Ub>>2]|0)+1}}while(0);f=k[bc>>2]|0;e=(k[Tb>>2]|0)-(k[Vb>>2]|0)|0;g=k[k[Wb>>2]>>2]|0;b=Fi(k[Wb>>2]|0,18402)|0;c=(l[(k[Wb>>2]|0)+12>>0]|0)!=0?1:0;if(k[(k[Wb>>2]|0)+4>>2]|0)a=k[(k[(k[Wb>>2]|0)+4>>2]|0)+8>>2]|0;else a=0;ac=k[Ub>>2]|0;k[Zb>>2]=e;k[Zb+4>>2]=g;k[Zb+8>>2]=b;k[Zb+12>>2]=c;k[Zb+16>>2]=a;k[Zb+20>>2]=ac;JC(f,1,32423,Zb);sx(k[bc>>2]|0,87,1,6)|0}k[Tb>>2]=(k[Tb>>2]|0)+1;k[Wb>>2]=(k[Wb>>2]|0)+16}}case 29:{_b=nx(k[ac>>2]|0)|0;k[bc>>2]=_b;k[(k[ac>>2]|0)+44>>2]=4;Cx(k[ac>>2]|0,k[$b>>2]|0);IC(k[bc>>2]|0,4,5196);k[G>>2]=k[(k[(k[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(k[G>>2]|0))break a;k[ha>>2]=k[(k[G>>2]|0)+8>>2];ac=k[bc>>2]|0;_b=j[(k[ha>>2]|0)+40>>1]|0;$b=j[(k[ha>>2]|0)+38>>1]|0;k[ua>>2]=k[k[ha>>2]>>2];k[ua+4>>2]=0;k[ua+8>>2]=_b;k[ua+12>>2]=$b;JC(ac,1,32430,ua);sx(k[bc>>2]|0,87,1,4)|0;k[da>>2]=k[(k[ha>>2]|0)+8>>2];while(1){if(!(k[da>>2]|0))break;ac=k[bc>>2]|0;_b=j[(k[da>>2]|0)+48>>1]|0;$b=j[k[(k[da>>2]|0)+8>>2]>>1]|0;k[va>>2]=k[k[da>>2]>>2];k[va+4>>2]=_b;k[va+8>>2]=$b;JC(ac,2,32435,va);sx(k[bc>>2]|0,87,1,4)|0;k[da>>2]=k[(k[da>>2]|0)+20>>2]}k[G>>2]=k[k[G>>2]>>2]}}case 16:{if(!(k[ec>>2]|0))break a;_b=Uj(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[zb>>2]=_b;if(!(k[zb>>2]|0))break a;f=k[zb>>2]|0;if(k[(k[Eb>>2]|0)+8>>2]|0){k[vb>>2]=m[f+52>>1];k[(k[ac>>2]|0)+44>>2]=6}else{k[vb>>2]=m[f+50>>1];k[(k[ac>>2]|0)+44>>2]=3}k[Gb>>2]=k[(k[zb>>2]|0)+12>>2];Cx(k[ac>>2]|0,k[$b>>2]|0);IC(k[bc>>2]|0,k[(k[ac>>2]|0)+44>>2]|0,5212);k[fb>>2]=0;while(1){if((k[fb>>2]|0)>=(k[vb>>2]|0))break a;j[eb>>1]=j[(k[(k[zb>>2]|0)+4>>2]|0)+(k[fb>>2]<<1)>>1]|0;f=k[bc>>2]|0;e=j[eb>>1]|0;if((j[eb>>1]|0)<0)g=0;else g=k[(k[(k[Gb>>2]|0)+4>>2]|0)+(j[eb>>1]<<4)>>2]|0;k[Nb>>2]=k[fb>>2];k[Nb+4>>2]=e;k[Nb+8>>2]=g;JC(f,1,32439,Nb);if(k[(k[Eb>>2]|0)+8>>2]|0){$b=k[bc>>2]|0;Zb=k[(k[(k[zb>>2]|0)+32>>2]|0)+(k[fb>>2]<<2)>>2]|0;_b=(k[fb>>2]|0)<(m[(k[zb>>2]|0)+50>>1]|0)&1;k[Ob>>2]=l[(k[(k[zb>>2]|0)+28>>2]|0)+(k[fb>>2]|0)>>0];k[Ob+4>>2]=Zb;k[Ob+8>>2]=_b;JC($b,4,32443,Ob)}sx(k[bc>>2]|0,87,1,k[(k[ac>>2]|0)+44>>2]|0)|0;k[fb>>2]=(k[fb>>2]|0)+1}}case 17:{if(!(k[ec>>2]|0))break a;_b=Di(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[ia>>2]=_b;if(!(k[ia>>2]|0))break a;_b=nx(k[ac>>2]|0)|0;k[bc>>2]=_b;k[(k[ac>>2]|0)+44>>2]=5;Cx(k[ac>>2]|0,k[$b>>2]|0);IC(k[bc>>2]|0,5,5236);k[ea>>2]=k[(k[ia>>2]|0)+8>>2];k[H>>2]=0;while(1){if(!(k[ea>>2]|0))break a;k[A>>2]=k[1314];k[A+4>>2]=k[1315];k[A+8>>2]=k[1316];ac=k[bc>>2]|0;Yb=k[k[ea>>2]>>2]|0;Zb=(l[(k[ea>>2]|0)+54>>0]|0)!=0&1;_b=k[A+((i[(k[ea>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(k[(k[ea>>2]|0)+36>>2]|0)!=0&1;k[wa>>2]=k[H>>2];k[wa+4>>2]=Yb;k[wa+8>>2]=Zb;k[wa+12>>2]=_b;k[wa+16>>2]=$b;JC(ac,1,32447,wa);sx(k[bc>>2]|0,87,1,5)|0;k[ea>>2]=k[(k[ea>>2]|0)+20>>2];k[H>>2]=(k[H>>2]|0)+1}}case 10:{k[(k[ac>>2]|0)+44>>2]=3;IC(k[bc>>2]|0,3,5268);k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break a;if(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+4>>2]|0){ac=k[bc>>2]|0;Zb=k[I>>2]|0;_b=k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2]|0;$b=Si(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+4>>2]|0)|0;k[xa>>2]=Zb;k[xa+4>>2]=_b;k[xa+8>>2]=$b;JC(ac,1,32453,xa);sx(k[bc>>2]|0,87,1,3)|0}k[I>>2]=(k[I>>2]|0)+1}}case 7:{k[J>>2]=0;k[(k[ac>>2]|0)+44>>2]=2;IC(k[bc>>2]|0,2,5280);k[Z>>2]=k[(k[cc>>2]|0)+364+8>>2];while(1){if(!(k[Z>>2]|0))break a;k[ba>>2]=k[(k[Z>>2]|0)+8>>2];ac=k[bc>>2]|0;_b=k[J>>2]|0;k[J>>2]=_b+1;$b=k[k[ba>>2]>>2]|0;k[ya>>2]=_b;k[ya+4>>2]=$b;JC(ac,1,32457,ya);sx(k[bc>>2]|0,87,1,2)|0;k[Z>>2]=k[k[Z>>2]>>2]}}case 14:{if(!(k[ec>>2]|0))break a;_b=Di(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[ja>>2]=_b;if(!(k[ja>>2]|0))break a;_b=nx(k[ac>>2]|0)|0;k[bc>>2]=_b;k[ca>>2]=k[(k[ja>>2]|0)+16>>2];if(!(k[ca>>2]|0))break a;k[K>>2]=0;k[(k[ac>>2]|0)+44>>2]=8;Cx(k[ac>>2]|0,k[$b>>2]|0);IC(k[bc>>2]|0,8,5288);while(1){if(!(k[ca>>2]|0))break a;k[V>>2]=0;while(1){if((k[V>>2]|0)>=(k[(k[ca>>2]|0)+20>>2]|0))break;ac=k[bc>>2]|0;Vb=k[K>>2]|0;Wb=k[V>>2]|0;Xb=k[(k[ca>>2]|0)+8>>2]|0;Yb=k[(k[(k[ja>>2]|0)+4>>2]|0)+(k[(k[ca>>2]|0)+36+(k[V>>2]<<3)>>2]<<4)>>2]|0;Zb=k[(k[ca>>2]|0)+36+(k[V>>2]<<3)+4>>2]|0;_b=KC(i[(k[ca>>2]|0)+25+1>>0]|0)|0;$b=KC(i[(k[ca>>2]|0)+25>>0]|0)|0;k[za>>2]=Vb;k[za+4>>2]=Wb;k[za+8>>2]=Xb;k[za+12>>2]=Yb;k[za+16>>2]=Zb;k[za+20>>2]=_b;k[za+24>>2]=$b;k[za+28>>2]=32469;JC(ac,1,32460,za);sx(k[bc>>2]|0,87,1,8)|0;k[V>>2]=(k[V>>2]|0)+1}k[K>>2]=(k[K>>2]|0)+1;k[ca>>2]=k[(k[ca>>2]|0)+4>>2]}}case 13:{k[Wa>>2]=(k[(k[ac>>2]|0)+44>>2]|0)+1;Zb=(k[ac>>2]|0)+44|0;k[Zb>>2]=(k[Zb>>2]|0)+4;Zb=(k[ac>>2]|0)+44|0;Yb=(k[Zb>>2]|0)+1|0;k[Zb>>2]=Yb;k[Va>>2]=Yb;Yb=(k[ac>>2]|0)+44|0;Zb=(k[Yb>>2]|0)+1|0;k[Yb>>2]=Zb;k[Xa>>2]=Zb;Zb=nx(k[ac>>2]|0)|0;k[bc>>2]=Zb;IC(k[bc>>2]|0,4,5320);Cx(k[ac>>2]|0,k[$b>>2]|0);k[Qa>>2]=k[(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(k[Qa>>2]|0))break a;if(k[ec>>2]|0){Zb=Nh(k[ac>>2]|0,0,k[ec>>2]|0,k[_a>>2]|0)|0;k[Ua>>2]=Zb;k[Qa>>2]=0}else{k[Ua>>2]=k[(k[Qa>>2]|0)+8>>2];k[Qa>>2]=k[k[Qa>>2]>>2]}if(!(k[Ua>>2]|0))continue;if(!(k[(k[Ua>>2]|0)+16>>2]|0))continue;bA(k[ac>>2]|0,k[$b>>2]|0,k[(k[Ua>>2]|0)+28>>2]|0,0,k[k[Ua>>2]>>2]|0);if(((j[(k[Ua>>2]|0)+34>>1]|0)+(k[Xa>>2]|0)|0)>(k[(k[ac>>2]|0)+44>>2]|0))k[(k[ac>>2]|0)+44>>2]=(j[(k[Ua>>2]|0)+34>>1]|0)+(k[Xa>>2]|0);cA(k[ac>>2]|0,0,k[$b>>2]|0,k[Ua>>2]|0,104);rx(k[bc>>2]|0,k[Wa>>2]|0,k[k[Ua>>2]>>2]|0)|0;k[Ma>>2]=1;k[Ra>>2]=k[(k[Ua>>2]|0)+16>>2];d:while(1){if(!(k[Ra>>2]|0))break;Zb=Di(k[cc>>2]|0,k[(k[Ra>>2]|0)+8>>2]|0,k[_a>>2]|0)|0;k[Ta>>2]=Zb;do if(k[Ta>>2]|0){k[Sa>>2]=0;bA(k[ac>>2]|0,k[$b>>2]|0,k[(k[Ta>>2]|0)+28>>2]|0,0,k[k[Ta>>2]>>2]|0);Zb=LC(k[ac>>2]|0,k[Ta>>2]|0,k[Ra>>2]|0,Sa,0)|0;k[Za>>2]=Zb;if(k[Za>>2]|0){_b=207;break d}if(!(k[Sa>>2]|0)){cA(k[ac>>2]|0,k[Ma>>2]|0,k[$b>>2]|0,k[Ta>>2]|0,104);break}else{tx(k[bc>>2]|0,104,k[Ma>>2]|0,k[(k[Sa>>2]|0)+44>>2]|0,k[$b>>2]|0)|0;dA(k[ac>>2]|0,k[Sa>>2]|0);break}}while(0);k[Ma>>2]=(k[Ma>>2]|0)+1;k[Ra>>2]=k[(k[Ra>>2]|0)+4>>2]}if((_b|0)==207){_b=0;k[Qa>>2]=0}if(k[Ra>>2]|0)break a;if((k[(k[ac>>2]|0)+40>>2]|0)<(k[Ma>>2]|0))k[(k[ac>>2]|0)+40>>2]=k[Ma>>2];Zb=aA(k[bc>>2]|0,57,0)|0;k[Ka>>2]=Zb;k[Ma>>2]=1;k[Ra>>2]=k[(k[Ua>>2]|0)+16>>2];while(1){if(!(k[Ra>>2]|0))break;Zb=Di(k[cc>>2]|0,k[(k[Ra>>2]|0)+8>>2]|0,k[_a>>2]|0)|0;k[Ta>>2]=Zb;k[Sa>>2]=0;k[La>>2]=0;if(k[Ta>>2]|0){Zb=LC(k[ac>>2]|0,k[Ta>>2]|0,k[Ra>>2]|0,Sa,La)|0;k[Za>>2]=Zb}Zb=eA(k[bc>>2]|0)|0;k[Ja>>2]=Zb;do if((k[Ta>>2]|0)!=0&(k[Sa>>2]|0)==0){k[Na>>2]=k[(k[Ra>>2]|0)+36>>2];f=k[bc>>2]|0;if((k[Na>>2]|0)!=(j[(k[Ua>>2]|0)+32>>1]|0)){tx(f,96,0,k[Na>>2]|0,k[Xa>>2]|0)|0;ZA(k[bc>>2]|0,k[Ua>>2]|0,k[Na>>2]|0,k[Xa>>2]|0);sx(k[bc>>2]|0,34,k[Xa>>2]|0,k[Ja>>2]|0)|0}else sx(f,123,0,k[Xa>>2]|0)|0;tx(k[bc>>2]|0,32,k[Ma>>2]|0,0,k[Xa>>2]|0)|0;gA(k[bc>>2]|0,k[Ja>>2]|0)|0;Zb=k[bc>>2]|0;hA(Zb,(Gx(k[bc>>2]|0)|0)-2|0)}else{k[Pa>>2]=0;while(1){if((k[Pa>>2]|0)>=(k[(k[Ra>>2]|0)+20>>2]|0))break;f=k[Pa>>2]|0;if(k[La>>2]|0)f=k[(k[La>>2]|0)+(f<<2)>>2]|0;else f=k[(k[Ra>>2]|0)+36+(f<<3)>>2]|0;XA(k[bc>>2]|0,k[Ua>>2]|0,0,f,(k[Xa>>2]|0)+(k[Pa>>2]|0)|0);sx(k[bc>>2]|0,34,(k[Xa>>2]|0)+(k[Pa>>2]|0)|0,k[Ja>>2]|0)|0;k[Pa>>2]=(k[Pa>>2]|0)+1}if(!(k[Ta>>2]|0))break;Vb=k[bc>>2]|0;Wb=k[Xa>>2]|0;Xb=k[(k[Ra>>2]|0)+20>>2]|0;Yb=k[Va>>2]|0;Zb=MC(k[cc>>2]|0,k[Sa>>2]|0)|0;wx(Vb,99,Wb,Xb,Yb,Zb,k[(k[Ra>>2]|0)+20>>2]|0)|0;Sh(k[bc>>2]|0,31,k[Ma>>2]|0,k[Ja>>2]|0,k[Va>>2]|0,0)|0}while(0);sx(k[bc>>2]|0,123,0,(k[Wa>>2]|0)+1|0)|0;Yb=k[bc>>2]|0;Zb=(k[Wa>>2]|0)+2|0;Xb=(k[Ma>>2]|0)-1|0;k[Ya>>2]=k[(k[Ra>>2]|0)+8>>2];k[Ya+4>>2]=Xb;JC(Yb,Zb,32474,Ya);sx(k[bc>>2]|0,87,k[Wa>>2]|0,4)|0;iA(k[bc>>2]|0,k[Ja>>2]|0);bg(k[cc>>2]|0,k[La>>2]|0);k[Ma>>2]=(k[Ma>>2]|0)+1;k[Ra>>2]=k[(k[Ra>>2]|0)+4>>2]}sx(k[bc>>2]|0,7,0,(k[Ka>>2]|0)+1|0)|0;hA(k[bc>>2]|0,k[Ka>>2]|0)}}case 6:{if(!(k[ec>>2]|0))break a;bc=k[cc>>2]|0;NC(bc,(Qi(k[ec>>2]|0,0)|0)&255);break a}case 18:{k[kb>>2]=(l[17613+(l[k[dc>>2]>>0]|0)>>0]|0)==113&1;if(!(k[k[s>>2]>>2]|0))k[$b>>2]=-1;k[(k[ac>>2]|0)+44>>2]=6;uC(k[bc>>2]|0,32477);k[wb>>2]=100;if((k[ec>>2]|0)!=0?(_i(k[ec>>2]|0,wb)|0,(k[wb>>2]|0)<=0):0)k[wb>>2]=100;sx(k[bc>>2]|0,76,k[wb>>2]|0,1)|0;k[gb>>2]=0;e:while(1){if((k[gb>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break;k[db>>2]=0;k[xb>>2]=0;if(!((k[$b>>2]|0)>=0?(k[gb>>2]|0)!=(k[$b>>2]|0):0))_b=242;f:do if((_b|0)==242){_b=0;Cx(k[ac>>2]|0,k[gb>>2]|0);Zb=aA(k[bc>>2]|0,66,1)|0;k[bb>>2]=Zb;sx(k[bc>>2]|0,75,0,0)|0;hA(k[bc>>2]|0,k[bb>>2]|0);k[Kb>>2]=(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[gb>>2]<<4)+12>>2]|0)+8;k[db>>2]=0;k[Rb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Rb>>2]|0))break;k[Hb>>2]=k[(k[Rb>>2]|0)+8>>2];if(!(l[(k[Hb>>2]|0)+42>>0]&32))k[db>>2]=(k[db>>2]|0)+1;k[yb>>2]=0;k[Ab>>2]=k[(k[Hb>>2]|0)+8>>2];while(1){if(!(k[Ab>>2]|0))break;k[db>>2]=(k[db>>2]|0)+1;k[Ab>>2]=k[(k[Ab>>2]|0)+20>>2];k[yb>>2]=(k[yb>>2]|0)+1}if((k[yb>>2]|0)>(k[xb>>2]|0))k[xb>>2]=k[yb>>2];k[Rb>>2]=k[k[Rb>>2]>>2]}Zb=dx(k[cc>>2]|0,(k[db>>2]|0)+1<<2,0)|0;k[ab>>2]=Zb;if(!(k[ab>>2]|0))break e;k[db>>2]=0;k[Rb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Rb>>2]|0))break;k[Ib>>2]=k[(k[Rb>>2]|0)+8>>2];if(!(l[(k[Ib>>2]|0)+42>>0]&32)){Yb=k[(k[Ib>>2]|0)+28>>2]|0;Zb=k[db>>2]|0;k[db>>2]=Zb+1;k[(k[ab>>2]|0)+(Zb<<2)>>2]=Yb}k[Bb>>2]=k[(k[Ib>>2]|0)+8>>2];while(1){if(!(k[Bb>>2]|0))break;Yb=k[(k[Bb>>2]|0)+44>>2]|0;Zb=k[db>>2]|0;k[db>>2]=Zb+1;k[(k[ab>>2]|0)+(Zb<<2)>>2]=Yb;k[Bb>>2]=k[(k[Bb>>2]|0)+20>>2]}k[Rb>>2]=k[k[Rb>>2]>>2]}k[(k[ab>>2]|0)+(k[db>>2]<<2)>>2]=0;if((k[(k[ac>>2]|0)+44>>2]|0)>(8+(k[xb>>2]|0)|0))f=k[(k[ac>>2]|0)+44>>2]|0;else f=8+(k[xb>>2]|0)|0;k[(k[ac>>2]|0)+44>>2]=f;wx(k[bc>>2]|0,141,2,k[db>>2]|0,1,k[ab>>2]|0,-15)|0;Th(k[bc>>2]|0,k[gb>>2]&255);Yb=aA(k[bc>>2]|0,34,2)|0;k[bb>>2]=Yb;Yb=k[bc>>2]|0;Zb=k[cc>>2]|0;k[Pb>>2]=k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[gb>>2]<<4)>>2];wx(Yb,97,0,3,0,Qh(Zb,32493,Pb)|0,-1)|0;tx(k[bc>>2]|0,83,2,4,1)|0;tx(k[bc>>2]|0,52,4,3,2)|0;sx(k[bc>>2]|0,87,2,1)|0;hA(k[bc>>2]|0,k[bb>>2]|0);k[Rb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Rb>>2]|0))break f;if(!((k[kb>>2]|0)!=0^1))break f;k[Jb>>2]=k[(k[Rb>>2]|0)+8>>2];k[Fb>>2]=0;k[Lb>>2]=-1;g:do if(k[(k[Jb>>2]|0)+8>>2]|0){if(!(l[(k[Jb>>2]|0)+42>>0]&32))f=0;else f=Tj(k[Jb>>2]|0)|0;k[Db>>2]=f;Zb=aA(k[bc>>2]|0,66,1)|0;k[bb>>2]=Zb;sx(k[bc>>2]|0,75,0,0)|0;hA(k[bc>>2]|0,k[bb>>2]|0);OC(k[ac>>2]|0);PC(k[ac>>2]|0,k[Jb>>2]|0,104,0,1,0,ib,jb)|0;sx(k[bc>>2]|0,76,0,7)|0;k[lb>>2]=0;k[Cb>>2]=k[(k[Jb>>2]|0)+8>>2];while(1){f=k[bc>>2]|0;if(!(k[Cb>>2]|0))break;sx(f,76,0,8+(k[lb>>2]|0)|0)|0;k[Cb>>2]=k[(k[Cb>>2]|0)+20>>2];k[lb>>2]=(k[lb>>2]|0)+1}sx(f,57,k[ib>>2]|0,0)|0;Zb=sx(k[bc>>2]|0,91,7,1)|0;k[ub>>2]=Zb;k[lb>>2]=0;while(1){if((k[lb>>2]|0)>=(j[(k[Jb>>2]|0)+34>>1]|0))break;do if((k[lb>>2]|0)!=(j[(k[Jb>>2]|0)+32>>1]|0)){if(!(l[(k[(k[Jb>>2]|0)+4>>2]|0)+(k[lb>>2]<<4)+12>>0]|0))break;XA(k[bc>>2]|0,k[Jb>>2]|0,k[ib>>2]|0,k[lb>>2]|0,3);Th(k[bc>>2]|0,-128);Zb=aA(k[bc>>2]|0,35,3)|0;k[mb>>2]=Zb;sx(k[bc>>2]|0,91,1,-1)|0;Zb=k[cc>>2]|0;Yb=k[(k[(k[Jb>>2]|0)+4>>2]|0)+(k[lb>>2]<<4)>>2]|0;k[Qb>>2]=k[k[Jb>>2]>>2];k[Qb+4>>2]=Yb;Zb=Qh(Zb,32517,Qb)|0;k[Sb>>2]=Zb;wx(k[bc>>2]|0,97,0,3,0,k[Sb>>2]|0,-1)|0;sx(k[bc>>2]|0,87,3,1)|0;Zb=aA(k[bc>>2]|0,66,1)|0;k[ob>>2]=Zb;px(k[bc>>2]|0,75)|0;hA(k[bc>>2]|0,k[mb>>2]|0);hA(k[bc>>2]|0,k[ob>>2]|0)}while(0);k[lb>>2]=(k[lb>>2]|0)+1}k[lb>>2]=0;k[Cb>>2]=k[(k[Jb>>2]|0)+8>>2];while(1){f=k[bc>>2]|0;if(!(k[Cb>>2]|0))break;Zb=eA(f)|0;k[cb>>2]=Zb;if((k[Db>>2]|0)!=(k[Cb>>2]|0)){Zb=yA(k[ac>>2]|0,k[Cb>>2]|0,k[ib>>2]|0,0,0,pb,k[Fb>>2]|0,k[Lb>>2]|0)|0;k[Lb>>2]=Zb;k[Fb>>2]=k[Cb>>2];sx(k[bc>>2]|0,91,8+(k[lb>>2]|0)|0,1)|0;Zb=Sh(k[bc>>2]|0,31,(k[jb>>2]|0)+(k[lb>>2]|0)|0,k[cb>>2]|0,k[Lb>>2]|0,m[(k[Cb>>2]|0)+52>>1]|0)|0;k[nb>>2]=Zb;sx(k[bc>>2]|0,91,1,-1)|0;rx(k[bc>>2]|0,3,32537)|0;tx(k[bc>>2]|0,52,7,3,3)|0;rx(k[bc>>2]|0,4,32542)|0;tx(k[bc>>2]|0,52,4,3,3)|0;Zb=rx(k[bc>>2]|0,4,k[k[Cb>>2]>>2]|0)|0;k[rb>>2]=Zb;tx(k[bc>>2]|0,52,4,3,3)|0;sx(k[bc>>2]|0,87,3,1)|0;Zb=aA(k[bc>>2]|0,66,1)|0;k[qb>>2]=Zb;px(k[bc>>2]|0,75)|0;hA(k[bc>>2]|0,k[nb>>2]|0);if(l[(k[Cb>>2]|0)+54>>0]|0){Zb=eA(k[bc>>2]|0)|0;k[Mb>>2]=Zb;k[tb>>2]=0;while(1){if((k[tb>>2]|0)>=(m[(k[Cb>>2]|0)+50>>1]|0))break;k[hb>>2]=j[(k[(k[Cb>>2]|0)+4>>2]|0)+(k[tb>>2]<<1)>>1];if(!((k[hb>>2]|0)>=0?(l[(k[(k[Jb>>2]|0)+4>>2]|0)+(k[hb>>2]<<4)+12>>0]|0)!=0:0))sx(k[bc>>2]|0,34,(k[Lb>>2]|0)+(k[tb>>2]|0)|0,k[Mb>>2]|0)|0;k[tb>>2]=(k[tb>>2]|0)+1}Zb=aA(k[bc>>2]|0,7,(k[jb>>2]|0)+(k[lb>>2]|0)|0)|0;k[sb>>2]=Zb;gA(k[bc>>2]|0,k[Mb>>2]|0)|0;hA(k[bc>>2]|0,k[sb>>2]|0);Sh(k[bc>>2]|0,59,(k[jb>>2]|0)+(k[lb>>2]|0)|0,k[Mb>>2]|0,k[Lb>>2]|0,m[(k[Cb>>2]|0)+50>>1]|0)|0;sx(k[bc>>2]|0,91,1,-1)|0;rx(k[bc>>2]|0,3,32563)|0;gA(k[bc>>2]|0,k[rb>>2]|0)|0;iA(k[bc>>2]|0,k[Mb>>2]|0)}hA(k[bc>>2]|0,k[qb>>2]|0);zA(k[ac>>2]|0,k[pb>>2]|0)}k[Cb>>2]=k[(k[Cb>>2]|0)+20>>2];k[lb>>2]=(k[lb>>2]|0)+1}sx(f,7,k[ib>>2]|0,k[ub>>2]|0)|0;hA(k[bc>>2]|0,(k[ub>>2]|0)-1|0);rx(k[bc>>2]|0,2,32590)|0;k[lb>>2]=0;k[Cb>>2]=k[(k[Jb>>2]|0)+8>>2];while(1){if(!(k[Cb>>2]|0))break g;if((k[Db>>2]|0)!=(k[Cb>>2]|0)){Zb=Gx(k[bc>>2]|0)|0;k[bb>>2]=Zb;sx(k[bc>>2]|0,66,1,(k[bb>>2]|0)+2|0)|0;sx(k[bc>>2]|0,75,0,0)|0;sx(k[bc>>2]|0,100,(k[jb>>2]|0)+(k[lb>>2]|0)|0,3)|0;tx(k[bc>>2]|0,37,8+(k[lb>>2]|0)|0,(k[bb>>2]|0)+8|0,3)|0;Th(k[bc>>2]|0,-112);sx(k[bc>>2]|0,91,1,-1)|0;rx(k[bc>>2]|0,3,k[k[Cb>>2]>>2]|0)|0;tx(k[bc>>2]|0,52,3,2,7)|0;sx(k[bc>>2]|0,87,7,1)|0}k[Cb>>2]=k[(k[Cb>>2]|0)+20>>2];k[lb>>2]=(k[lb>>2]|0)+1}}while(0);k[Rb>>2]=k[k[Rb>>2]>>2]}}while(0);k[gb>>2]=(k[gb>>2]|0)+1}bc=Uh(k[bc>>2]|0,4,32619,0)|0;k[$a>>2]=bc;if(!(k[$a>>2]|0))break a;k[(k[$a>>2]|0)+8>>2]=0-(k[wb>>2]|0);i[(k[$a>>2]|0)+40+1>>0]=-2;k[(k[$a>>2]|0)+40+16>>2]=32635;break a}case 12:{if(!(k[ec>>2]|0)){if(Uz(k[ac>>2]|0)|0)break a;tC(k[bc>>2]|0,32638,k[5336+(l[(k[k[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((m[(k[(k[(k[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(m[(k[(k[(k[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;k[Ha>>2]=5336;while(1){if(!(k[k[Ha>>2]>>2]|0))break;bc=0==(sg(k[ec>>2]|0,k[k[Ha>>2]>>2]|0)|0);f=k[Ha>>2]|0;if(bc){_b=309;break}k[Ha>>2]=f+8}if((_b|0)==309){if(l[f+4>>0]|0)f=l[(k[Ha>>2]|0)+4>>0]|0;else f=(i[968]|0)==0?3:2;bc=f&255;i[(k[cc>>2]|0)+66>>0]=bc;i[(k[(k[(k[cc>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(k[k[Ha>>2]>>2]|0)break a;bc=k[ac>>2]|0;k[Ia>>2]=k[ec>>2];Oh(bc,32647,Ia);break a}case 0:{k[O>>2]=k[(k[Eb>>2]|0)+8>>2];Vh(k[bc>>2]|0,k[$b>>2]|0);if((k[ec>>2]|0)!=0?(l[(k[Eb>>2]|0)+5>>0]&2|0)==0:0){bc=Uh(k[bc>>2]|0,2,32672,0)|0;k[w>>2]=bc;k[(k[w>>2]|0)+4>>2]=k[$b>>2];k[(k[w>>2]|0)+20+4>>2]=k[$b>>2];k[(k[w>>2]|0)+20+8>>2]=k[O>>2];bc=Zi(k[ec>>2]|0)|0;k[(k[w>>2]|0)+20+12>>2]=bc;break a}ac=Uh(k[bc>>2]|0,3,32680,0)|0;k[x>>2]=ac;k[(k[x>>2]|0)+4>>2]=k[$b>>2];k[(k[x>>2]|0)+20+4>>2]=k[$b>>2];k[(k[x>>2]|0)+20+12>>2]=k[O>>2];wC(k[bc>>2]|0,1);xC(k[bc>>2]|0,0,0,k[dc>>2]|0,-1)|0;QC(k[bc>>2]|0);break a}case 8:{k[Ca>>2]=0;k[(k[ac>>2]|0)+44>>2]=1;uC(k[bc>>2]|0,32692);while(1){ac=k[Ca>>2]|0;k[Ca>>2]=ac+1;ac=Kd(ac)|0;k[Ga>>2]=ac;f=k[bc>>2]|0;if(!ac)break;rx(f,1,k[Ga>>2]|0)|0;sx(k[bc>>2]|0,87,1,1)|0}QC(f);break a}case 36:{k[N>>2]=(k[k[s>>2]>>2]|0)!=0?k[$b>>2]|0:10;k[F>>2]=0;do if(k[ec>>2]|0){if(!(sg(k[ec>>2]|0,32707)|0)){k[F>>2]=1;break}if(!(sg(k[ec>>2]|0,32712)|0)){k[F>>2]=2;break}if(!(sg(k[ec>>2]|0,32720)|0))k[F>>2]=3}while(0);IC(k[bc>>2]|0,3,5408);k[(k[ac>>2]|0)+44>>2]=3;tx(k[bc>>2]|0,8,k[N>>2]|0,k[F>>2]|0,1)|0;sx(k[bc>>2]|0,87,1,3)|0;break a}case 35:{if(k[ec>>2]|0){ac=k[cc>>2]|0;Jf(ac,Zi(k[ec>>2]|0)|0)|0}if((k[(k[cc>>2]|0)+224>>2]|0)==139)f=k[(k[cc>>2]|0)+228>>2]|0;else f=0;vC(k[bc>>2]|0,32729,f,((f|0)<0)<<31>>31);break a}case 27:{xf(k[cc>>2]|0)|0;break a}case 28:{if((k[ec>>2]|0)!=0?(Ri(k[ec>>2]|0,t)|0)==0:0){ac=t;Qd(k[ac>>2]|0,k[ac+4>>2]|0)|0}ac=k[bc>>2]|0;bc=Qd(-1,-1)|0;vC(ac,32756,bc,L);break a}case 34:{if((k[ec>>2]|0)!=0?(_b=(Ri(k[ec>>2]|0,u)|0)==0,ac=u,$b=k[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(k[ac>>2]|0)>>>0>=0)):0)Of(k[cc>>2]|0,11,k[u>>2]&2147483647)|0;ac=k[bc>>2]|0;bc=Of(k[cc>>2]|0,11,-1)|0;vC(ac,32772,bc,((bc|0)<0)<<31>>31);break a}default:{if(k[ec>>2]|0){ac=k[cc>>2]|0;Ff(ac,Zi(k[ec>>2]|0)|0)|0}ac=k[(k[cc>>2]|0)+428>>2]|0;vC(k[bc>>2]|0,32748,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);bg(k[cc>>2]|0,k[dc>>2]|0);bg(k[cc>>2]|0,k[ec>>2]|0);r=fc;return}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+112|0;t=w+24|0;s=w;d=w+108|0;e=w+104|0;f=w+100|0;o=w+96|0;v=w+92|0;g=w+88|0;p=w+64|0;h=w+56|0;j=w+48|0;q=w+44|0;u=w+40|0;m=w+36|0;l=w+32|0;n=w+28|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[o>>2]=k[(k[d>>2]|0)+444>>2];k[g>>2]=k[k[d>>2]>>2];k[(k[d>>2]|0)+444>>2]=0;do if((k[o>>2]|0)!=0?(k[(k[d>>2]|0)+36>>2]|0)==0:0){k[v>>2]=k[k[o>>2]>>2];b=Ph(k[k[d>>2]>>2]|0,k[(k[o>>2]|0)+20>>2]|0)|0;k[h>>2]=b;k[(k[o>>2]|0)+28>>2]=k[e>>2];while(1){c=k[o>>2]|0;if(!(k[e>>2]|0))break;k[(k[e>>2]|0)+4>>2]=c;k[e>>2]=k[(k[e>>2]|0)+28>>2]}fz(j,k[c>>2]|0);mC(p,k[d>>2]|0,k[h>>2]|0,18664,j);if((rC(p,k[(k[o>>2]|0)+28>>2]|0)|0)==0?(pC(p,k[(k[o>>2]|0)+12>>2]|0)|0)==0:0){if(!(i[(k[g>>2]|0)+148+5>>0]|0)){p=nx(k[d>>2]|0)|0;k[q>>2]=p;if(!(k[q>>2]|0))break;Bx(k[d>>2]|0,0,k[h>>2]|0);p=gx(k[g>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,0)|0;k[u>>2]=p;p=k[d>>2]|0;a=(k[h>>2]|0)==1?19905:19924;b=k[v>>2]|0;f=k[(k[o>>2]|0)+4>>2]|0;j=k[u>>2]|0;k[s>>2]=k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[s+4>>2]=a;k[s+8>>2]=b;k[s+12>>2]=f;k[s+16>>2]=j;mx(p,32010,s);bg(k[g>>2]|0,k[u>>2]|0);ox(k[d>>2]|0,k[h>>2]|0);q=k[q>>2]|0;s=k[h>>2]|0;u=k[g>>2]|0;k[t>>2]=k[v>>2];qx(q,s,Qh(u,32074,t)|0)}if(i[(k[g>>2]|0)+148+5>>0]|0){k[m>>2]=k[o>>2];k[l>>2]=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+40;v=ck(k[l>>2]|0,k[v>>2]|0,k[o>>2]|0)|0;k[o>>2]=v;if(k[o>>2]|0){wh(k[g>>2]|0);break}if((k[(k[m>>2]|0)+20>>2]|0)==(k[(k[m>>2]|0)+24>>2]|0)){v=Cj((k[(k[m>>2]|0)+24>>2]|0)+8|0,k[(k[m>>2]|0)+4>>2]|0)|0;k[n>>2]=v;k[(k[m>>2]|0)+32>>2]=k[(k[n>>2]|0)+60>>2];k[(k[n>>2]|0)+60>>2]=k[m>>2]}}}}while(0);_f(k[g>>2]|0,k[o>>2]|0);yv(k[g>>2]|0,k[e>>2]|0);r=w;return}function Jw(a,b,c,d,e,f,g,h,j,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;q=Q;I=Q+156|0;n=Q+152|0;o=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;p=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;k[I>>2]=a;k[n>>2]=b;k[o>>2]=c;k[x>>2]=d;k[y>>2]=e;k[J>>2]=f;k[K>>2]=g;k[L>>2]=h;k[z>>2]=j;k[A>>2]=m;k[O>>2]=0;k[P>>2]=0;k[M>>2]=k[k[I>>2]>>2];do if(k[z>>2]|0)if((k[(k[o>>2]|0)+4>>2]|0)>>>0<=0){k[N>>2]=1;k[D>>2]=k[n>>2];if(k[K>>2]|0){w=6;break}else break}else{Oh(k[I>>2]|0,31693,q);break}else{q=Yz(k[I>>2]|0,k[n>>2]|0,k[o>>2]|0,D)|0;k[N>>2]=q;if((k[N>>2]|0)>=0&(k[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(l[(k[M>>2]|0)+69>>0]|0)==0:0){if((k[N>>2]|0)!=1?(l[(k[M>>2]|0)+148+5>>0]|0)!=0:0){bg(k[M>>2]|0,k[(k[K>>2]|0)+8+4>>2]|0);k[(k[K>>2]|0)+8+4>>2]=0}w=lC(k[I>>2]|0,k[K>>2]|0)|0;k[E>>2]=w;if(((l[(k[M>>2]|0)+148+5>>0]|0)==0?((k[E>>2]|0)!=0?(k[(k[o>>2]|0)+4>>2]|0)==0:0):0)?(k[(k[E>>2]|0)+64>>2]|0)==(k[(k[(k[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)k[N>>2]=1;if((i[(k[M>>2]|0)+69>>0]|0)==0?(mC(p,k[I>>2]|0,k[N>>2]|0,18664,k[D>>2]|0),(nC(p,k[K>>2]|0)|0)==0):0){w=lC(k[I>>2]|0,k[K>>2]|0)|0;k[E>>2]=w;if(!(k[E>>2]|0)){if((l[(k[M>>2]|0)+148+4>>0]|0)!=1)break;i[(k[M>>2]|0)+148+6>>0]=1;break}if(l[(k[E>>2]|0)+42>>0]&16){Oh(k[I>>2]|0,31739,s);break}w=bx(k[M>>2]|0,k[D>>2]|0)|0;k[P>>2]=w;if((k[P>>2]|0)!=0?0==(ay(k[I>>2]|0,k[P>>2]|0)|0):0){if(Cj((k[(k[(k[M>>2]|0)+16>>2]|0)+(k[N>>2]<<4)+12>>2]|0)+40|0,k[P>>2]|0)|0){n=k[I>>2]|0;if(k[A>>2]|0){Cx(n,k[N>>2]|0);break}else{k[F>>2]=k[D>>2];Oh(n,31780,F);break}}if(!(Jd(k[k[E>>2]>>2]|0,27844,7)|0)){Oh(k[I>>2]|0,31806,t);break}if((k[x>>2]|0)!=77?(k[(k[E>>2]|0)+12>>2]|0)!=0:0){N=k[I>>2]|0;H=k[K>>2]|0;k[u>>2]=(k[x>>2]|0)==63?31844:31851;k[u+4>>2]=H;k[u+8>>2]=0;Oh(N,31857,u);break}if((k[x>>2]|0)==77?(k[(k[E>>2]|0)+12>>2]|0)==0:0){N=k[I>>2]|0;k[v>>2]=k[K>>2];k[v+4>>2]=0;Oh(N,31894,v);break}F=Ph(k[M>>2]|0,k[(k[E>>2]|0)+64>>2]|0)|0;k[C>>2]=F;k[B>>2]=7;k[G>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[C>>2]<<4)>>2];if(k[z>>2]|0)n=k[(k[(k[M>>2]|0)+16>>2]|0)+16>>2]|0;else n=k[G>>2]|0;k[H>>2]=n;if((k[C>>2]|0)==1|(k[z>>2]|0)!=0)k[B>>2]=5;if((kx(k[I>>2]|0,k[B>>2]|0,k[P>>2]|0,k[k[E>>2]>>2]|0,k[H>>2]|0)|0)==0?(kx(k[I>>2]|0,18,(k[C>>2]|0)==1?19905:19924,0,k[G>>2]|0)|0)==0:0){if((k[x>>2]|0)==77)k[x>>2]=63;H=Ch(k[M>>2]|0,36,0)|0;k[O>>2]=H;if(!(k[O>>2]|0))break;k[k[O>>2]>>2]=k[P>>2];k[P>>2]=0;H=Ah(k[M>>2]|0,k[(k[K>>2]|0)+8+8>>2]|0)|0;k[(k[O>>2]|0)+4>>2]=H;k[(k[O>>2]|0)+20>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[N>>2]<<4)+12>>2];k[(k[O>>2]|0)+24>>2]=k[(k[E>>2]|0)+64>>2];i[(k[O>>2]|0)+8>>0]=k[y>>2];i[(k[O>>2]|0)+9>>0]=(k[x>>2]|0)==63?1:2;N=Sy(k[M>>2]|0,k[L>>2]|0,1)|0;k[(k[O>>2]|0)+12>>2]=N;N=Sz(k[M>>2]|0,k[J>>2]|0)|0;k[(k[O>>2]|0)+16>>2]=N;k[(k[I>>2]|0)+444>>2]=k[O>>2]}}}}while(0);bg(k[M>>2]|0,k[P>>2]|0);rv(k[M>>2]|0,k[K>>2]|0);uv(k[M>>2]|0,k[J>>2]|0);sv(k[M>>2]|0,k[L>>2]|0);if(k[(k[I>>2]|0)+444>>2]|0){r=Q;return}_f(k[M>>2]|0,k[O>>2]|0);r=Q;return}function Kw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+16|0;n=m+12|0;g=m+8|0;h=m+4|0;j=m+20|0;l=m;k[f>>2]=a;k[n>>2]=b;k[g>>2]=c;k[h>>2]=d;i[j>>0]=e;d=kC(k[f>>2]|0,110,k[n>>2]|0)|0;k[l>>2]=d;if(k[l>>2]|0){n=_y(k[f>>2]|0,k[g>>2]|0,1)|0;k[(k[l>>2]|0)+20>>2]=n;n=Sy(k[f>>2]|0,k[h>>2]|0,1)|0;k[(k[l>>2]|0)+16>>2]=n;i[(k[l>>2]|0)+1>>0]=i[j>>0]|0}ov(k[f>>2]|0,k[g>>2]|0);sv(k[f>>2]|0,k[h>>2]|0);r=m;return k[l>>2]|0}function Lw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+16|0;n=m+12|0;g=m+8|0;h=m+4|0;j=m+20|0;l=m;k[f>>2]=a;k[n>>2]=b;k[g>>2]=c;k[h>>2]=d;i[j>>0]=e;a=kC(k[f>>2]|0,108,k[n>>2]|0)|0;k[l>>2]=a;a=k[f>>2]|0;if(k[l>>2]|0){n=iy(a,k[h>>2]|0,1)|0;k[(k[l>>2]|0)+8>>2]=n;k[(k[l>>2]|0)+24>>2]=k[g>>2];i[(k[l>>2]|0)+1>>0]=i[j>>0]|0;j=k[f>>2]|0;n=k[h>>2]|0;pv(j,n);n=k[l>>2]|0;r=m;return n|0}else{uv(a,k[g>>2]|0);j=k[f>>2]|0;n=k[h>>2]|0;pv(j,n);n=k[l>>2]|0;r=m;return n|0}return 0}function Mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;c=kC(k[d>>2]|0,109,k[h>>2]|0)|0;k[f>>2]=c;if(k[f>>2]|0){h=Sy(k[d>>2]|0,k[e>>2]|0,1)|0;k[(k[f>>2]|0)+16>>2]=h;i[(k[f>>2]|0)+1>>0]=10}sv(k[d>>2]|0,k[e>>2]|0);r=g;return k[f>>2]|0}function Nw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=Ch(k[d>>2]|0,36,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){pv(k[d>>2]|0,k[e>>2]|0);k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{i[k[f>>2]>>0]=119;k[(k[f>>2]|0)+8>>2]=k[e>>2];i[(k[f>>2]|0)+1>>0]=10;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}return 0}function Ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;o=q;j=q+40|0;l=q+36|0;m=q+32|0;f=q+28|0;d=q+24|0;p=q+20|0;g=q+16|0;n=q+12|0;e=q+8|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[f>>2]=0;k[n>>2]=k[k[j>>2]>>2];if(i[(k[n>>2]|0)+69>>0]|0){o=k[n>>2]|0;p=k[l>>2]|0;rv(o,p);r=q;return}if(Uz(k[j>>2]|0)|0){o=k[n>>2]|0;p=k[l>>2]|0;rv(o,p);r=q;return}k[p>>2]=k[(k[l>>2]|0)+8+4>>2];k[g>>2]=k[(k[l>>2]|0)+8+8>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[n>>2]|0)+20>>2]|0))break;a=k[d>>2]|0;k[e>>2]=(k[d>>2]|0)<2?a^1:a;if(!((k[p>>2]|0)!=0?(sg(k[(k[(k[n>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0,k[p>>2]|0)|0)!=0:0))h=7;if((h|0)==7?(h=0,a=Cj((k[(k[(k[n>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)+40|0,k[g>>2]|0)|0,k[f>>2]=a,(k[f>>2]|0)!=0):0)break;k[d>>2]=(k[d>>2]|0)+1}if(k[f>>2]|0){iC(k[j>>2]|0,k[f>>2]|0);o=k[n>>2]|0;p=k[l>>2]|0;rv(o,p);r=q;return}d=k[j>>2]|0;if(k[m>>2]|0)hC(d,k[p>>2]|0);else{k[o>>2]=k[l>>2];k[o+4>>2]=0;Oh(d,31622,o)}i[(k[j>>2]|0)+17>>0]=1;o=k[n>>2]|0;p=k[l>>2]|0;rv(o,p);r=q;return}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;SB(k[i>>2]|0,24,4448,k[h>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);r=e;return}function Qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;SB(k[e>>2]|0,25,4420,k[d>>2]|0,0,0,k[d>>2]|0);r=c;return}function Rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;p=u+48|0;d=u+44|0;e=u+40|0;g=u+36|0;l=u+32|0;n=u+28|0;j=u+24|0;s=u+20|0;q=u+16|0;f=u+12|0;h=u+8|0;m=u+4|0;k[p>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[k[p>>2]>>2];if(Uz(k[p>>2]|0)|0){r=u;return}if(!(k[d>>2]|0)){uA(k[p>>2]|0,0);r=u;return}if(!((k[e>>2]|0)!=0?(k[k[e>>2]>>2]|0)!=0:0))o=6;do if((o|0)==6){o=bx(k[k[p>>2]>>2]|0,k[d>>2]|0)|0;k[m>>2]=o;if(!(k[m>>2]|0)){r=u;return}o=ak(k[f>>2]|0,i[(k[f>>2]|0)+66>>0]|0,k[m>>2]|0,0)|0;k[g>>2]=o;if(!(k[g>>2]|0)){bg(k[f>>2]|0,k[m>>2]|0);break}uA(k[p>>2]|0,k[m>>2]|0);bg(k[f>>2]|0,k[m>>2]|0);r=u;return}while(0);o=Yz(k[p>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[q>>2]=o;if((k[q>>2]|0)<0){r=u;return}o=bx(k[f>>2]|0,k[h>>2]|0)|0;k[l>>2]=o;if(!(k[l>>2]|0)){r=u;return}k[n>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[q>>2]<<4)>>2];o=Di(k[f>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[j>>2]=o;if(k[j>>2]|0){vA(k[p>>2]|0,k[j>>2]|0,0);bg(k[f>>2]|0,k[l>>2]|0);r=u;return}d=Uj(k[f>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[s>>2]=d;bg(k[f>>2]|0,k[l>>2]|0);d=k[p>>2]|0;if(k[s>>2]|0){Bx(d,0,k[q>>2]|0);wA(k[p>>2]|0,k[s>>2]|0,-1);r=u;return}else{Oh(d,31007,t);r=u;return}}function Sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+44|0;d=q+40|0;e=q+36|0;l=q+32|0;g=q+28|0;f=q+24|0;p=q+20|0;i=q+16|0;n=q+12|0;m=q+8|0;h=q+4|0;o=q;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[l>>2]=k[k[j>>2]>>2];if(Uz(k[j>>2]|0)|0){r=q;return}a:do if(k[d>>2]|0){if(k[(k[e>>2]|0)+4>>2]|0){a=Yz(k[j>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[g>>2]=a;if((k[g>>2]|0)<0)break;k[i>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];h=bx(k[l>>2]|0,k[h>>2]|0)|0;k[p>>2]=h;if(!(k[p>>2]|0))break;h=Uj(k[l>>2]|0,k[p>>2]|0,k[i>>2]|0)|0;k[m>>2]=h;d=k[j>>2]|0;if(!h){m=Nh(d,0,k[p>>2]|0,k[i>>2]|0)|0;k[n>>2]=m;if(m)Xz(k[j>>2]|0,k[n>>2]|0,0)}else Xz(d,k[(k[m>>2]|0)+12>>2]|0,k[m>>2]|0);bg(k[l>>2]|0,k[p>>2]|0);break}i=Wz(k[l>>2]|0,k[d>>2]|0)|0;k[g>>2]=i;if((k[g>>2]|0)>=0){Vz(k[j>>2]|0,k[g>>2]|0);break}i=bx(k[l>>2]|0,k[d>>2]|0)|0;k[p>>2]=i;if(k[p>>2]|0){i=Uj(k[l>>2]|0,k[p>>2]|0,0)|0;k[m>>2]=i;d=k[j>>2]|0;if(!i){m=Nh(d,0,k[p>>2]|0,0)|0;k[n>>2]=m;if(m)Xz(k[j>>2]|0,k[n>>2]|0,0)}else Xz(d,k[(k[m>>2]|0)+12>>2]|0,k[m>>2]|0);bg(k[l>>2]|0,k[p>>2]|0)}}else{k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[l>>2]|0)+20>>2]|0))break a;if((k[f>>2]|0)!=1)Vz(k[j>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}}while(0);p=nx(k[j>>2]|0)|0;k[o>>2]=p;if(!(k[o>>2]|0)){r=q;return}px(k[o>>2]|0,150)|0;r=q;return}function Tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;e=E;f=E+172|0;g=E+168|0;d=E+164|0;m=E+160|0;A=E+156|0;q=E+152|0;B=E+148|0;h=E+144|0;n=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;j=E+116|0;o=E+112|0;p=E+108|0;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;k[B>>2]=0;k[h>>2]=k[k[f>>2]>>2];k[D>>2]=0;k[s>>2]=0;k[t>>2]=k[(k[h>>2]|0)+24>>2];do if(((i[(k[h>>2]|0)+69>>0]|0)==0?(b=zx(k[f>>2]|0,0,(k[g>>2]|0)+8|0)|0,k[q>>2]=b,(k[q>>2]|0)!=0):0)?(b=Ph(k[k[f>>2]>>2]|0,k[(k[q>>2]|0)+64>>2]|0)|0,k[m>>2]=b,k[A>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+(k[m>>2]<<4)>>2],b=(k[h>>2]|0)+24|0,k[b>>2]=k[b>>2]|2097152,b=bx(k[h>>2]|0,k[d>>2]|0)|0,k[B>>2]=b,(k[B>>2]|0)!=0):0){if((Di(k[h>>2]|0,k[B>>2]|0,k[A>>2]|0)|0)==0?(Uj(k[h>>2]|0,k[B>>2]|0,k[A>>2]|0)|0)==0:0){if(Ax(k[f>>2]|0,k[k[q>>2]>>2]|0)|0)break;if(ay(k[f>>2]|0,k[B>>2]|0)|0)break;d=k[f>>2]|0;if(k[(k[q>>2]|0)+12>>2]|0){k[v>>2]=k[k[q>>2]>>2];Oh(d,28337,v);break}if(kx(d,26,k[A>>2]|0,k[k[q>>2]>>2]|0,0)|0)break;if(by(k[f>>2]|0,k[q>>2]|0)|0)break;if((l[(k[q>>2]|0)+42>>0]&16|0)!=0?(v=cy(k[h>>2]|0,k[q>>2]|0)|0,k[s>>2]=v,(k[(k[k[(k[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)k[s>>2]=0;v=nx(k[f>>2]|0)|0;k[u>>2]=v;if(!(k[u>>2]|0))break;Bx(k[f>>2]|0,(k[s>>2]|0)!=0&1,k[m>>2]|0);ox(k[f>>2]|0,k[m>>2]|0);if(k[s>>2]|0){e=(k[f>>2]|0)+44|0;v=(k[e>>2]|0)+1|0;k[e>>2]=v;k[j>>2]=v;rx(k[u>>2]|0,k[j>>2]|0,k[B>>2]|0)|0;wx(k[u>>2]|0,157,k[j>>2]|0,0,0,k[s>>2]|0,-10)|0;dy(k[f>>2]|0)}k[C>>2]=k[k[q>>2]>>2];v=ey(k[C>>2]|0,-1)|0;k[n>>2]=v;if((k[(k[h>>2]|0)+24>>2]&524288|0)!=0?(v=fy(k[f>>2]|0,k[q>>2]|0)|0,k[D>>2]=v,(v|0)!=0):0){v=k[f>>2]|0;e=(k[m>>2]|0)==1?19905:19924;j=k[C>>2]|0;s=k[B>>2]|0;u=k[D>>2]|0;k[z>>2]=k[A>>2];k[z+4>>2]=e;k[z+8>>2]=j;k[z+12>>2]=s;k[z+16>>2]=u;mx(v,28364,z);bg(k[h>>2]|0,k[D>>2]|0)}z=k[f>>2]|0;b=(k[m>>2]|0)==1?19905:19924;e=k[B>>2]|0;j=k[B>>2]|0;m=k[B>>2]|0;s=k[B>>2]|0;u=k[B>>2]|0;v=k[n>>2]|0;C=k[C>>2]|0;k[w>>2]=k[A>>2];k[w+4>>2]=b;k[w+8>>2]=e;k[w+12>>2]=j;k[w+16>>2]=m;k[w+20>>2]=s;k[w+24>>2]=u;k[w+28>>2]=v;k[w+32>>2]=C;mx(z,28433,w);if(Di(k[h>>2]|0,28817,k[A>>2]|0)|0){C=k[f>>2]|0;w=k[B>>2]|0;z=k[k[q>>2]>>2]|0;k[x>>2]=k[A>>2];k[x+4>>2]=w;k[x+8>>2]=z;mx(C,28833,x)}C=Kx(k[f>>2]|0,k[q>>2]|0)|0;k[D>>2]=C;if(C){C=k[f>>2]|0;z=k[B>>2]|0;A=k[D>>2]|0;k[y>>2]=k[B>>2];k[y+4>>2]=z;k[y+8>>2]=A;mx(C,28891,y);bg(k[h>>2]|0,k[D>>2]|0)}a:do if(k[(k[h>>2]|0)+24>>2]&524288){D=gy(k[q>>2]|0)|0;k[o>>2]=D;while(1){if(!(k[o>>2]|0))break a;k[p>>2]=k[k[o>>2]>>2];if((k[p>>2]|0)!=(k[q>>2]|0))Ix(k[f>>2]|0,k[k[o>>2]>>2]|0,k[k[p>>2]>>2]|0);k[o>>2]=k[(k[o>>2]|0)+12>>2]}}while(0);Ix(k[f>>2]|0,k[q>>2]|0,k[B>>2]|0);break}D=k[f>>2]|0;k[e>>2]=k[B>>2];Oh(D,28278,e)}while(0);rv(k[h>>2]|0,k[g>>2]|0);bg(k[h>>2]|0,k[B>>2]|0);k[(k[h>>2]|0)+24>>2]=k[t>>2];r=E;return}function Uw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+144|0;w=E+40|0;v=E+32|0;z=E+24|0;y=E+16|0;x=E+8|0;u=E;c=E+128|0;d=E+124|0;m=E+120|0;n=E+116|0;f=E+112|0;B=E+108|0;D=E+104|0;A=E+100|0;g=E+96|0;h=E+92|0;e=E+88|0;t=E+84|0;p=E+80|0;o=E+76|0;q=E+72|0;C=E+68|0;s=E+64|0;k[c>>2]=a;k[d>>2]=b;k[t>>2]=k[(k[c>>2]|0)+8>>2];k[e>>2]=k[k[c>>2]>>2];if(k[(k[c>>2]|0)+36>>2]|0){r=E;return}if(l[(k[e>>2]|0)+69>>0]|0){r=E;return}k[m>>2]=k[(k[c>>2]|0)+440>>2];a=Ph(k[e>>2]|0,k[(k[m>>2]|0)+64>>2]|0)|0;k[f>>2]=a;k[B>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2];k[D>>2]=(k[k[m>>2]>>2]|0)+16;k[g>>2]=(k[(k[m>>2]|0)+4>>2]|0)+((j[(k[m>>2]|0)+34>>1]|0)-1<<4);k[h>>2]=k[(k[g>>2]|0)+4>>2];a=Di(k[e>>2]|0,k[D>>2]|0,k[B>>2]|0)|0;k[n>>2]=a;if(kx(k[c>>2]|0,26,k[B>>2]|0,k[k[n>>2]>>2]|0,0)|0){r=E;return}if((k[h>>2]|0)!=0?(l[k[(k[h>>2]|0)+12>>2]>>0]|0)==101:0)k[h>>2]=0;if(l[(k[g>>2]|0)+15>>0]&1){Oh(k[c>>2]|0,27880,u);r=E;return}if(k[(k[m>>2]|0)+8>>2]|0){Oh(k[c>>2]|0,27912,x);r=E;return}if((k[(k[e>>2]|0)+24>>2]&524288|0)!=0?((k[h>>2]|0)!=0?(k[(k[m>>2]|0)+16>>2]|0)!=0:0):0){Oh(k[c>>2]|0,27939,y);r=E;return}if(!((k[h>>2]|0)!=0?1:(l[(k[g>>2]|0)+12>>0]|0)==0)){Oh(k[c>>2]|0,27998,z);r=E;return}do if(k[h>>2]|0){k[o>>2]=0;z=Ex(k[e>>2]|0,k[h>>2]|0,1,65,o)|0;k[q>>2]=z;if(k[q>>2]|0){r=E;return}if(k[o>>2]|0){mh(k[o>>2]|0);break}Oh(k[c>>2]|0,28051,v);r=E;return}while(0);z=gx(k[e>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0,0)|0;k[A>>2]=z;if(k[A>>2]|0){k[C>>2]=(k[A>>2]|0)+((k[(k[d>>2]|0)+4>>2]|0)-1);k[s>>2]=k[(k[e>>2]|0)+24>>2];while(1){if((k[C>>2]|0)>>>0<=(k[A>>2]|0)>>>0)break;if((i[k[C>>2]>>0]|0)!=59?(l[18403+(l[k[C>>2]>>0]|0)>>0]&1|0)==0:0)break;z=k[C>>2]|0;k[C>>2]=z+-1;i[z>>0]=0}C=(k[e>>2]|0)+24|0;k[C>>2]=k[C>>2]|2097152;C=k[c>>2]|0;v=(k[f>>2]|0)==1?19905:19924;x=k[(k[m>>2]|0)+44>>2]|0;y=k[A>>2]|0;z=(k[(k[m>>2]|0)+44>>2]|0)+1|0;D=k[D>>2]|0;k[w>>2]=k[B>>2];k[w+4>>2]=v;k[w+8>>2]=x;k[w+12>>2]=y;k[w+16>>2]=z;k[w+20>>2]=D;mx(C,28097,w);bg(k[e>>2]|0,k[A>>2]|0);k[(k[e>>2]|0)+24>>2]=k[s>>2]}C=Fx(k[c>>2]|0)|0;k[p>>2]=C;tx(k[t>>2]|0,101,k[f>>2]|0,k[p>>2]|0,2)|0;Vh(k[t>>2]|0,k[f>>2]|0);sx(k[t>>2]|0,91,k[p>>2]|0,-2)|0;C=k[t>>2]|0;D=k[p>>2]|0;sx(C,66,D,(Gx(k[t>>2]|0)|0)+2|0)|0;tx(k[t>>2]|0,102,k[f>>2]|0,2,3)|0;Hx(k[c>>2]|0,k[p>>2]|0);Ix(k[c>>2]|0,k[n>>2]|0,k[k[n>>2]>>2]|0);r=E;return}function Vw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u+16|0;s=u+8|0;c=u;d=u+56|0;e=u+52|0;o=u+48|0;p=u+44|0;q=u+40|0;h=u+36|0;g=u+32|0;m=u+28|0;f=u+24|0;n=u+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];do if((i[(k[f>>2]|0)+69>>0]|0)==0?(b=zx(k[d>>2]|0,0,(k[e>>2]|0)+8|0)|0,k[p>>2]=b,(k[p>>2]|0)!=0):0){if(l[(k[p>>2]|0)+42>>0]&16){Oh(k[d>>2]|0,27691,c);break}a=k[d>>2]|0;if(k[(k[p>>2]|0)+12>>2]|0){Oh(a,27725,s);break}if(((0==(Ax(a,k[k[p>>2]>>2]|0)|0)?(s=Ph(k[f>>2]|0,k[(k[p>>2]|0)+64>>2]|0)|0,k[h>>2]=s,s=Ch(k[f>>2]|0,72,0)|0,k[o>>2]=s,(k[o>>2]|0)!=0):0)?(k[(k[d>>2]|0)+440>>2]=k[o>>2],j[(k[o>>2]|0)+36>>1]=1,j[(k[o>>2]|0)+34>>1]=j[(k[p>>2]|0)+34>>1]|0,k[m>>2]=((((j[(k[o>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=Ch(k[f>>2]|0,k[m>>2]<<4,0)|0,k[(k[o>>2]|0)+4>>2]=s,s=k[f>>2]|0,k[t>>2]=k[k[p>>2]>>2],t=Qh(s,27755,t)|0,k[k[o>>2]>>2]=t,(k[(k[o>>2]|0)+4>>2]|0)!=0):0)?(k[k[o>>2]>>2]|0)!=0:0){bS(k[(k[o>>2]|0)+4>>2]|0,k[(k[p>>2]|0)+4>>2]|0,j[(k[o>>2]|0)+34>>1]<<4|0)|0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(j[(k[o>>2]|0)+34>>1]|0))break;k[n>>2]=(k[(k[o>>2]|0)+4>>2]|0)+(k[g>>2]<<4);t=Ah(k[f>>2]|0,k[k[n>>2]>>2]|0)|0;k[k[n>>2]>>2]=t;k[(k[n>>2]|0)+8>>2]=0;k[(k[n>>2]|0)+4>>2]=0;k[g>>2]=(k[g>>2]|0)+1}k[(k[o>>2]|0)+64>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];k[(k[o>>2]|0)+44>>2]=k[(k[p>>2]|0)+44>>2];j[(k[o>>2]|0)+36>>1]=1;Bx(k[d>>2]|0,0,k[h>>2]|0);t=nx(k[d>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0)ox(k[d>>2]|0,k[h>>2]|0)}}while(0);rv(k[f>>2]|0,k[e>>2]|0);r=u;return}function Ww(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+96|0;p=u+32|0;o=u+8|0;n=u;c=u+80|0;d=u+76|0;l=u+72|0;e=u+68|0;s=u+64|0;t=u+60|0;f=u+56|0;g=u+52|0;m=u+48|0;h=u+44|0;j=u+40|0;q=u+36|0;k[c>>2]=a;k[d>>2]=b;k[l>>2]=k[(k[c>>2]|0)+440>>2];k[e>>2]=k[k[c>>2]>>2];if(!(k[l>>2]|0)){r=u;return}ix(k[c>>2]|0);k[(k[c>>2]|0)+452>>2]=0;if((k[(k[l>>2]|0)+48>>2]|0)<1){r=u;return}if(!(i[(k[e>>2]|0)+148+5>>0]|0)){if(k[d>>2]|0)k[(k[c>>2]|0)+384+4>>2]=(k[k[d>>2]>>2]|0)-(k[(k[c>>2]|0)+384>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);q=k[e>>2]|0;k[n>>2]=(k[c>>2]|0)+384;q=Qh(q,27552,n)|0;k[s>>2]=q;q=Ph(k[e>>2]|0,k[(k[l>>2]|0)+64>>2]|0)|0;k[f>>2]=q;q=k[c>>2]|0;b=(k[f>>2]|0)==1?19905:19924;h=k[k[l>>2]>>2]|0;a=k[k[l>>2]>>2]|0;j=k[s>>2]|0;n=k[(k[c>>2]|0)+100>>2]|0;k[o>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2];k[o+4>>2]=b;k[o+8>>2]=h;k[o+12>>2]=a;k[o+16>>2]=j;k[o+20>>2]=n;mx(q,27576,o);bg(k[e>>2]|0,k[s>>2]|0);s=nx(k[c>>2]|0)|0;k[m>>2]=s;ox(k[c>>2]|0,k[f>>2]|0);px(k[m>>2]|0,150)|0;s=k[e>>2]|0;k[p>>2]=k[k[l>>2]>>2];s=Qh(s,27664,p)|0;k[t>>2]=s;qx(k[m>>2]|0,k[f>>2]|0,k[t>>2]|0);s=(k[c>>2]|0)+44|0;t=(k[s>>2]|0)+1|0;k[s>>2]=t;k[g>>2]=t;rx(k[m>>2]|0,k[g>>2]|0,k[k[l>>2]>>2]|0)|0;sx(k[m>>2]|0,153,k[f>>2]|0,k[g>>2]|0)|0;r=u;return}k[j>>2]=k[(k[l>>2]|0)+64>>2];k[q>>2]=k[k[l>>2]>>2];t=ck((k[j>>2]|0)+8|0,k[q>>2]|0,k[l>>2]|0)|0;k[h>>2]=t;if(k[h>>2]|0){wh(k[e>>2]|0);r=u;return}else{k[(k[c>>2]|0)+440>>2]=0;r=u;return}}function Xw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+32|0;f=n+28|0;q=n+24|0;p=n+20|0;g=n+16|0;o=n+12|0;j=n+8|0;m=n+4|0;h=n;k[f>>2]=a;k[q>>2]=b;k[p>>2]=c;k[g>>2]=d;k[o>>2]=e;Jv(k[f>>2]|0,k[q>>2]|0,k[p>>2]|0,0,0,1,k[o>>2]|0);k[m>>2]=k[(k[f>>2]|0)+440>>2];if(!(k[m>>2]|0)){r=n;return}k[h>>2]=k[k[f>>2]>>2];q=Ph(k[h>>2]|0,k[(k[m>>2]|0)+64>>2]|0)|0;k[j>>2]=q;q=(k[m>>2]|0)+42|0;i[q>>0]=l[q>>0]|0|16;k[(k[m>>2]|0)+48>>2]=0;q=k[h>>2]|0;p=k[m>>2]|0;jx(q,p,bx(k[h>>2]|0,k[g>>2]|0)|0);jx(k[h>>2]|0,k[m>>2]|0,0);p=k[h>>2]|0;q=k[m>>2]|0;jx(p,q,Ah(k[h>>2]|0,k[k[m>>2]>>2]|0)|0);k[(k[f>>2]|0)+384+4>>2]=(k[k[g>>2]>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0)-(k[(k[f>>2]|0)+384>>2]|0);if(!(k[(k[m>>2]|0)+52>>2]|0)){r=n;return}kx(k[f>>2]|0,29,k[k[m>>2]>>2]|0,k[k[(k[m>>2]|0)+52>>2]>>2]|0,k[(k[(k[k[f>>2]>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2]|0)|0;r=n;return}function Yw(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;ix(k[c>>2]|0);k[(k[c>>2]|0)+452>>2]=0;k[(k[c>>2]|0)+452+4>>2]=0;r=b;return}function Zw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=(k[f>>2]|0)+452;b=k[c>>2]|0;if(!(k[k[d>>2]>>2]|0)){k[k[d>>2]>>2]=k[b>>2];k[(k[d>>2]|0)+4>>2]=k[(k[c>>2]|0)+4>>2];r=e;return}else{k[(k[d>>2]|0)+4>>2]=(k[k[c>>2]>>2]|0)+(k[b+4>>2]|0)-(k[k[d>>2]>>2]|0);r=e;return}}function _w(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;p=s;f=s+40|0;g=s+36|0;t=s+32|0;h=s+28|0;j=s+24|0;l=s+20|0;o=s+16|0;q=s+12|0;m=s+8|0;n=s+4|0;k[f>>2]=a;k[g>>2]=b;k[t>>2]=c;k[h>>2]=d;k[j>>2]=e;k[l>>2]=k[k[f>>2]>>2];b=bx(k[k[f>>2]>>2]|0,k[t>>2]|0)|0;k[q>>2]=b;a:do if((k[q>>2]|0)!=0&(k[g>>2]|0)!=0){k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[g>>2]>>2]|0))break a;if(!(sg(k[q>>2]|0,k[(k[g>>2]|0)+8+(k[m>>2]<<4)>>2]|0)|0)){t=k[f>>2]|0;k[p>>2]=k[q>>2];Oh(t,27484,p)}k[m>>2]=(k[m>>2]|0)+1}}while(0);if(k[g>>2]|0){k[n>>2]=24+(k[k[g>>2]>>2]<<4);t=k[n>>2]|0;t=cx(k[l>>2]|0,k[g>>2]|0,t,((t|0)<0)<<31>>31)|0;k[o>>2]=t}else{t=Ch(k[l>>2]|0,24,0)|0;k[o>>2]=t}if(i[(k[l>>2]|0)+69>>0]|0){ov(k[l>>2]|0,k[h>>2]|0);pv(k[l>>2]|0,k[j>>2]|0);bg(k[l>>2]|0,k[q>>2]|0);k[o>>2]=k[g>>2];t=k[o>>2]|0;r=s;return t|0}else{k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+8>>2]=k[j>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+4>>2]=k[h>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)>>2]=k[q>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+12>>2]=0;t=k[o>>2]|0;k[t>>2]=(k[t>>2]|0)+1;t=k[o>>2]|0;r=s;return t|0}return 0}function $w(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+4|0;e=d+8|0;c=d;k[f>>2]=a;i[e>>0]=b;k[c>>2]=j[10806+(k[f>>2]<<1)>>1];k[c>>2]=(k[c>>2]|0)+(l[e>>0]|0);r=d;return m[11456+(k[c>>2]<<1)>>1]|0}function ax(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+4>>2];k[(k[c>>2]|0)+4>>2]=k[d>>2];r=b;return}function bx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=gx(k[c>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0,0)|0;k[e>>2]=b;hx(k[e>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;c=k[f>>2]|0;if(!(k[g>>2]|0)){h=dx(c,k[h>>2]|0,k[h+4>>2]|0)|0;k[e>>2]=h;h=k[e>>2]|0;r=i;return h|0}if((vu(c,k[g>>2]|0)|0)!=0?(b=h,a=k[b+4>>2]|0,a>>>0<0|((a|0)==0?(k[b>>2]|0)>>>0<=(m[(k[f>>2]|0)+256+4>>1]|0)>>>0:0)):0){k[e>>2]=k[g>>2];h=k[e>>2]|0;r=i;return h|0}h=ex(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[e>>2]=h;h=k[e>>2]|0;r=i;return h|0}function dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;do if(k[(k[e>>2]|0)+256>>2]|0){if(i[(k[e>>2]|0)+69>>0]|0){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}}else{a=f;c=k[a+4>>2]|0;b=(k[e>>2]|0)+256|0;if(c>>>0>0|((c|0)==0?(k[a>>2]|0)>>>0>(m[(k[e>>2]|0)+256+4>>1]|0)>>>0:0)){g=b+16+4|0;k[g>>2]=(k[g>>2]|0)+1;break}a=k[b+28>>2]|0;k[g>>2]=a;if(!a){g=(k[e>>2]|0)+256+16+8|0;k[g>>2]=(k[g>>2]|0)+1;break}k[(k[e>>2]|0)+256+28>>2]=k[k[g>>2]>>2];f=(k[e>>2]|0)+256+8|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[e>>2]|0)+256+16|0;k[f>>2]=(k[f>>2]|0)+1;if((k[(k[e>>2]|0)+256+8>>2]|0)>(k[(k[e>>2]|0)+256+12>>2]|0))k[(k[e>>2]|0)+256+12>>2]=k[(k[e>>2]|0)+256+8>>2];k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}while(0);g=f;g=fx(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;r=h;return g|0}function ex(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i;h=i+8|0;k[e>>2]=a;k[f>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;k[h>>2]=0;if(l[(k[e>>2]|0)+69>>0]|0){h=k[h>>2]|0;r=i;return h|0}if(vu(k[e>>2]|0,k[f>>2]|0)|0){b=g;b=dx(k[e>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){h=k[h>>2]|0;r=i;return h|0}bS(k[h>>2]|0,k[f>>2]|0,m[(k[e>>2]|0)+256+4>>1]|0|0)|0;bg(k[e>>2]|0,k[f>>2]|0);h=k[h>>2]|0;r=i;return h|0}else{b=g;b=Wd(k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[h>>2]=b;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}wh(k[e>>2]|0);h=k[h>>2]|0;r=i;return h|0}return 0}function fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f;e=f+8|0;k[d>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;a=g;a=jg(k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){g=k[e>>2]|0;r=f;return g|0}wh(k[d>>2]|0);g=k[e>>2]|0;r=f;return g|0}function gx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l;j=l+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;if(!(k[g>>2]|0)){k[e>>2]=0;j=k[e>>2]|0;r=l;return j|0}a=k[f>>2]|0;b=h;b=$R(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;b=dx(a,b,L)|0;k[j>>2]=b;if(k[j>>2]|0){bS(k[j>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;i[(k[j>>2]|0)+(k[h>>2]|0)>>0]=0}k[e>>2]=k[j>>2];j=k[e>>2]|0;r=l;return j|0}function hx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+8|0;e=f+12|0;c=f+4|0;d=f;k[b>>2]=a;if(!(k[b>>2]|0)){r=f;return}i[e>>0]=i[k[b>>2]>>0]|0;if(!(l[18403+(l[e>>0]|0)>>0]&128)){r=f;return}if((i[e>>0]|0)==91)i[e>>0]=93;k[c>>2]=1;k[d>>2]=0;while(1){a=k[c>>2]|0;if((i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0)==(i[e>>0]|0)){if((i[(k[b>>2]|0)+(a+1)>>0]|0)!=(i[e>>0]|0))break;g=i[e>>0]|0;a=k[d>>2]|0;k[d>>2]=a+1;i[(k[b>>2]|0)+a>>0]=g;k[c>>2]=(k[c>>2]|0)+1}else{a=i[(k[b>>2]|0)+a>>0]|0;g=k[d>>2]|0;k[d>>2]=g+1;i[(k[b>>2]|0)+g>>0]=a}k[c>>2]=(k[c>>2]|0)+1}i[(k[b>>2]|0)+(k[d>>2]|0)>>0]=0;r=f;return}function ix(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;if(!(k[(k[b>>2]|0)+452>>2]|0)){r=f;return}if(!(k[(k[b>>2]|0)+440>>2]|0)){r=f;return}k[e>>2]=k[(k[b>>2]|0)+452>>2];k[d>>2]=k[(k[b>>2]|0)+452+4>>2];k[c>>2]=k[k[b>>2]>>2];g=k[c>>2]|0;b=k[(k[b>>2]|0)+440>>2]|0;a=k[d>>2]|0;jx(g,b,gx(k[c>>2]|0,k[e>>2]|0,a,((a|0)<0)<<31>>31)|0);r=f;return}function jx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=2+(k[(k[e>>2]|0)+48>>2]|0)<<2;c=k[j>>2]|0;c=cx(k[d>>2]|0,k[(k[e>>2]|0)+52>>2]|0,c,((c|0)<0)<<31>>31)|0;k[g>>2]=c;if(!(k[g>>2]|0)){bg(k[d>>2]|0,k[f>>2]|0);r=i;return}else{c=(k[e>>2]|0)+48|0;j=k[c>>2]|0;k[c>>2]=j+1;k[h>>2]=j;k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[f>>2];k[(k[g>>2]|0)+((k[h>>2]|0)+1<<2)>>2]=0;k[(k[e>>2]|0)+52>>2]=k[g>>2];r=i;return}}function kx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;f=q+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=e;k[n>>2]=k[k[g>>2]>>2];if((l[(k[n>>2]|0)+148+5>>0]|0|0)==0?(l[(k[g>>2]|0)+410>>0]|0|0)==0:0){if(!(k[(k[n>>2]|0)+296>>2]|0)){k[f>>2]=0;e=k[f>>2]|0;r=q;return e|0}e=ac[k[(k[n>>2]|0)+296>>2]&255](k[(k[n>>2]|0)+300>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+448>>2]|0)|0;k[o>>2]=e;if((k[o>>2]|0)!=1){if((k[o>>2]|0)!=0&(k[o>>2]|0)!=2){k[o>>2]=1;lx(k[g>>2]|0)}}else{Oh(k[g>>2]|0,27514,p);k[(k[g>>2]|0)+12>>2]=23}k[f>>2]=k[o>>2];e=k[f>>2]|0;r=q;return e|0}k[f>>2]=0;e=k[f>>2]|0;r=q;return e|0}function lx(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b+4|0;k[c>>2]=a;Oh(k[c>>2]|0,27529,b);k[(k[c>>2]|0)+12>>2]=1;r=b;return}function mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+128|0;f=m+36|0;d=m+32|0;e=m+16|0;l=m+8|0;j=m+4|0;g=m;h=m+40|0;k[f>>2]=a;k[d>>2]=b;k[j>>2]=0;k[g>>2]=k[k[f>>2]>>2];if(k[(k[f>>2]|0)+36>>2]|0){r=m;return}k[e>>2]=c;b=yx(k[g>>2]|0,k[d>>2]|0,e)|0;k[l>>2]=b;if(!(k[l>>2]|0)){r=m;return}d=(k[f>>2]|0)+18|0;i[d>>0]=(i[d>>0]|0)+1<<24>>24;d=h;e=(k[f>>2]|0)+400|0;a=d+80|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(a|0));d=(k[f>>2]|0)+400|0;a=d+80|0;do{i[d>>0]=0;d=d+1|0}while((d|0)<(a|0));gi(k[f>>2]|0,k[l>>2]|0,j)|0;bg(k[g>>2]|0,k[j>>2]|0);bg(k[g>>2]|0,k[l>>2]|0);d=(k[f>>2]|0)+400|0;e=h;a=d+80|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(a|0));l=(k[f>>2]|0)+18|0;i[l>>0]=(i[l>>0]|0)+-1<<24>>24;r=m;return}function nx(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}else{c=xx(k[b>>2]|0)|0;r=d;return c|0}return 0}function ox(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=r;r=r+16|0;g=c+12|0;d=c+8|0;e=c+4|0;f=c;k[g>>2]=a;k[d>>2]=b;k[e>>2]=k[k[g>>2]>>2];k[f>>2]=k[(k[g>>2]|0)+8>>2];tx(k[f>>2]|0,102,k[d>>2]|0,1,(k[k[(k[(k[e>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]>>2]|0)+1|0)|0;r=c;return}function px(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=tx(k[e>>2]|0,k[d>>2]|0,0,0,0)|0;r=c;return a|0}function qx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;d=f+12|0;h=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;wx(k[d>>2]|0,136,k[h>>2]|0,0,0,k[g>>2]|0,-1)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[k[d>>2]>>2]|0)+20>>2]|0))break;Vh(k[d>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=f;return}function rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=wx(k[g>>2]|0,97,0,k[f>>2]|0,0,k[e>>2]|0,0)|0;r=d;return c|0}function sx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=tx(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return d|0}function tx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=k[(k[g>>2]|0)+136>>2];b=k[g>>2]|0;if((k[(k[(k[g>>2]|0)+12>>2]|0)+48>>2]|0)<=(k[n>>2]|0)){o=ux(b,k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[f>>2]=o;o=k[f>>2]|0;r=p;return o|0}else{e=b+136|0;k[e>>2]=(k[e>>2]|0)+1;k[o>>2]=(k[(k[g>>2]|0)+88>>2]|0)+((k[n>>2]|0)*20|0);i[k[o>>2]>>0]=k[h>>2];i[(k[o>>2]|0)+3>>0]=0;k[(k[o>>2]|0)+4>>2]=k[j>>2];k[(k[o>>2]|0)+8>>2]=k[l>>2];k[(k[o>>2]|0)+12>>2]=k[m>>2];k[(k[o>>2]|0)+16>>2]=0;i[(k[o>>2]|0)+1>>0]=0;k[f>>2]=k[n>>2];o=k[f>>2]|0;r=p;return o|0}return 0}function ux(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;if(vx(k[g>>2]|0,1)|0){k[f>>2]=1;e=k[f>>2]|0;r=m;return e|0}else{e=tx(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[f>>2]=e;e=k[f>>2]|0;r=m;return e|0}return 0}function vx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+16|0;f=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[g+12>>2]=b;k[e>>2]=k[(k[c>>2]|0)+12>>2];if(k[(k[e>>2]|0)+48>>2]|0)b=k[(k[e>>2]|0)+48>>2]<<1;else b=51;k[d>>2]=b;d=cx(k[k[e>>2]>>2]|0,k[(k[c>>2]|0)+88>>2]|0,(k[d>>2]|0)*20|0,0)|0;k[f>>2]=d;if(!(k[f>>2]|0)){f=k[f>>2]|0;f=(f|0)!=0;f=f?0:7;r=g;return f|0}d=uu(k[k[e>>2]>>2]|0,k[f>>2]|0)|0;k[(k[e>>2]|0)+52>>2]=d;k[(k[e>>2]|0)+48>>2]=((k[(k[e>>2]|0)+52>>2]|0)>>>0)/20|0;k[(k[c>>2]|0)+88>>2]=k[f>>2];f=k[f>>2]|0;f=(f|0)!=0;f=f?0:7;r=g;return f|0}function wx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;i=r;r=r+32|0;m=i+28|0;q=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;l=i+8|0;j=i+4|0;h=i;k[m>>2]=a;k[q>>2]=b;k[p>>2]=c;k[o>>2]=d;k[n>>2]=e;k[l>>2]=f;k[j>>2]=g;f=tx(k[m>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0)|0;k[h>>2]=f;Wh(k[m>>2]|0,k[h>>2]|0,k[l>>2]|0,k[j>>2]|0);r=i;return k[h>>2]|0}function xx(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Rh(k[b>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=a;k[c>>2]=a;if(k[c>>2]|0)sx(k[c>>2]|0,71,0,1)|0;if(k[(k[b>>2]|0)+124>>2]|0){c=k[c>>2]|0;r=d;return c|0}if((m[(k[k[b>>2]>>2]|0)+64>>1]|0)&8){c=k[c>>2]|0;r=d;return c|0}i[(k[b>>2]|0)+23>>0]=1;c=k[c>>2]|0;r=d;return c|0}function yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=r;r=r+128|0;d=f+40|0;j=f+36|0;h=f+32|0;e=f+28|0;g=f;k[d>>2]=a;k[j>>2]=b;k[h>>2]=c;ng(g,k[d>>2]|0,f+44|0,70,k[(k[d>>2]|0)+96>>2]|0);i[g+25>>0]=1;og(g,k[j>>2]|0,k[h>>2]|0);b=pg(g)|0;k[e>>2]=b;if((l[g+24>>0]|0|0)!=1){j=k[e>>2]|0;r=f;return j|0}wh(k[d>>2]|0);j=k[e>>2]|0;r=f;return j|0}function zx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){a=Ph(k[k[d>>2]>>2]|0,k[k[f>>2]>>2]|0)|0;k[g>>2]=a;k[h>>2]=k[(k[(k[k[d>>2]>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2]}else k[h>>2]=k[(k[f>>2]|0)+4>>2];h=Nh(k[d>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+8>>2]|0,k[h>>2]|0)|0;r=i;return h|0}function Ax(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((Tf(k[e>>2]|0)|0)>6?0==(Jd(k[e>>2]|0,27844,7)|0):0){b=k[d>>2]|0;k[f>>2]=k[e>>2];Oh(b,27852,f);k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=k[d>>2]|0;if(k[(k[d>>2]|0)+124>>2]|0)c=k[c+124>>2]|0;k[g>>2]=c;Cx(k[d>>2]|0,k[f>>2]|0);d=(k[g>>2]|0)+92|0;k[d>>2]=k[d>>2]|1<>2];g=(k[g>>2]|0)+20|0;i[g>>0]=l[g>>0]|0|k[e>>2];r=h;return}function Cx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;b=k[f>>2]|0;if(k[(k[f>>2]|0)+124>>2]|0)b=k[b+124>>2]|0;k[d>>2]=b;if((k[(k[d>>2]|0)+96>>2]&1<>2]|0)!=0|0){r=e;return}f=(k[d>>2]|0)+96|0;k[f>>2]=k[f>>2]|1<>2];if((k[c>>2]|0)!=1){r=e;return}Dx(k[d>>2]|0)|0;r=e;return}function Dx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h;b=h+20|0;c=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];if((k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(i[(k[c>>2]|0)+409>>0]|0)==0:0){a=lk(k[k[d>>2]>>2]|0,0,k[d>>2]|0,e,0,542)|0;k[f>>2]=a;if(k[f>>2]|0){Oh(k[c>>2]|0,27774,g);k[(k[c>>2]|0)+12>>2]=k[f>>2];k[b>>2]=1;g=k[b>>2]|0;r=h;return g|0}k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]=k[e>>2];if(7==(Mi(k[e>>2]|0,k[(k[d>>2]|0)+80>>2]|0,-1,0)|0)){wh(k[d>>2]|0);k[b>>2]=1;g=k[b>>2]|0;r=h;return g|0}}k[b>>2]=0;g=k[b>>2]|0;r=h;return g|0}function Ex(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+16|0;f=m+8|0;g=m+4|0;h=m+13|0;j=m+12|0;l=m;k[f>>2]=a;k[g>>2]=b;i[h>>0]=c;i[j>>0]=d;k[l>>2]=e;if(!(k[g>>2]|0)){e=0;r=m;return e|0}e=Mx(k[f>>2]|0,k[g>>2]|0,i[h>>0]|0,i[j>>0]|0,k[l>>2]|0,0)|0;r=m;return e|0}function Fx(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[c>>2]|0;if(!(l[(k[c>>2]|0)+19>>0]|0)){a=a+44|0;c=(k[a>>2]|0)+1|0;k[a>>2]=c;k[b>>2]=c;c=k[b>>2]|0;r=d;return c|0}else{e=a+19|0;a=(i[e>>0]|0)+-1<<24>>24;i[e>>0]=a;k[b>>2]=k[(k[c>>2]|0)+352+((a&255)<<2)>>2];c=k[b>>2]|0;r=d;return c|0}return 0}function Gx(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+136>>2]|0}function Hx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){r=g;return}if((l[(k[d>>2]|0)+19>>0]|0|0)>=8){r=g;return}k[c>>2]=0;k[f>>2]=(k[d>>2]|0)+152;while(1){if((k[c>>2]|0)>=(l[(k[d>>2]|0)+25>>0]|0|0)){c=8;break}if((k[(k[f>>2]|0)+12>>2]|0)==(k[e>>2]|0)){c=6;break}k[c>>2]=(k[c>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}if((c|0)==6){i[(k[f>>2]|0)+6>>0]=1;r=g;return}else if((c|0)==8){e=k[e>>2]|0;a=(k[d>>2]|0)+19|0;f=i[a>>0]|0;i[a>>0]=f+1<<24>>24;k[(k[d>>2]|0)+352+((f&255)<<2)>>2]=e;r=g;return}}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;l=n;d=n+32|0;e=n+28|0;f=n+24|0;j=n+20|0;m=n+16|0;g=n+12|0;i=n+8|0;h=n+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=nx(k[d>>2]|0)|0;k[j>>2]=c;if(!(k[j>>2]|0)){r=n;return}c=Ph(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;c=Jx(k[d>>2]|0,k[e>>2]|0)|0;k[i>>2]=c;while(1){if(!(k[i>>2]|0))break;c=Ph(k[k[d>>2]>>2]|0,k[(k[i>>2]|0)+20>>2]|0)|0;k[h>>2]=c;wx(k[j>>2]|0,140,k[h>>2]|0,0,0,k[k[i>>2]>>2]|0,0)|0;k[i>>2]=k[(k[i>>2]|0)+32>>2]}wx(k[j>>2]|0,138,k[g>>2]|0,0,0,k[k[e>>2]>>2]|0,0)|0;c=k[k[d>>2]>>2]|0;k[l>>2]=k[f>>2];c=Qh(c,28206,l)|0;k[m>>2]=c;if(!(k[m>>2]|0)){r=n;return}qx(k[j>>2]|0,k[g>>2]|0,k[m>>2]|0);c=Kx(k[d>>2]|0,k[e>>2]|0)|0;k[m>>2]=c;if(!c){r=n;return}qx(k[j>>2]|0,1,k[m>>2]|0);r=n;return}function Jx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;h=j+24|0;l=j+20|0;d=j+16|0;c=j+12|0;f=j+8|0;e=j+4|0;g=j;k[l>>2]=a;k[d>>2]=b;k[c>>2]=k[(k[(k[k[l>>2]>>2]|0)+16>>2]|0)+16+12>>2];k[f>>2]=0;if(i[(k[l>>2]|0)+150>>0]|0){k[h>>2]=0;l=k[h>>2]|0;r=j;return l|0}a:do if((k[c>>2]|0)!=(k[(k[d>>2]|0)+64>>2]|0)){k[e>>2]=k[(k[c>>2]|0)+40+8>>2];while(1){if(!(k[e>>2]|0))break a;k[g>>2]=k[(k[e>>2]|0)+8>>2];if((k[(k[g>>2]|0)+24>>2]|0)==(k[(k[d>>2]|0)+64>>2]|0)?0==(sg(k[(k[g>>2]|0)+4>>2]|0,k[k[d>>2]>>2]|0)|0):0){if(k[f>>2]|0)a=k[f>>2]|0;else a=k[(k[d>>2]|0)+60>>2]|0;k[(k[g>>2]|0)+32>>2]=a;k[f>>2]=k[g>>2]}k[e>>2]=k[k[e>>2]>>2]}}while(0);if(k[f>>2]|0)a=k[f>>2]|0;else a=k[(k[d>>2]|0)+60>>2]|0;k[h>>2]=a;l=k[h>>2]|0;r=j;return l|0}function Kx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;h=l;c=l+28|0;d=l+24|0;g=l+20|0;j=l+16|0;f=l+12|0;e=l+8|0;i=l+4|0;k[c>>2]=a;k[d>>2]=b;k[j>>2]=0;k[f>>2]=k[(k[(k[k[c>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((k[(k[d>>2]|0)+64>>2]|0)!=(k[f>>2]|0)){k[e>>2]=k[k[c>>2]>>2];b=Jx(k[c>>2]|0,k[d>>2]|0)|0;k[g>>2]=b;while(1){if(!(k[g>>2]|0))break a;if((k[(k[g>>2]|0)+20>>2]|0)==(k[f>>2]|0)){b=Lx(k[e>>2]|0,k[j>>2]|0,k[k[g>>2]>>2]|0)|0;k[j>>2]=b}k[g>>2]=k[(k[g>>2]|0)+32>>2]}}while(0);if(!(k[j>>2]|0)){j=k[j>>2]|0;r=l;return j|0}g=k[k[c>>2]>>2]|0;k[h>>2]=k[j>>2];h=Qh(g,28218,h)|0;k[i>>2]=h;bg(k[k[c>>2]>>2]|0,k[j>>2]|0);k[j>>2]=k[i>>2];j=k[j>>2]|0;r=l;return j|0}function Lx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j+8|0;g=j;d=j+28|0;e=j+24|0;f=j+20|0;i=j+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[d>>2]|0;if(k[e>>2]|0){g=k[f>>2]|0;k[h>>2]=k[e>>2];k[h+4>>2]=g;h=Qh(a,28250,h)|0;k[i>>2]=h;bg(k[d>>2]|0,k[e>>2]|0);i=k[i>>2]|0;r=j;return i|0}else{k[g>>2]=k[f>>2];h=Qh(a,28242,g)|0;k[i>>2]=h;i=k[i>>2]|0;r=j;return i|0}return 0}function Mx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+64|0;t=D;z=D+52|0;v=D+48|0;g=D+44|0;x=D+58|0;y=D+57|0;A=D+40|0;h=D+36|0;s=D+32|0;w=D+28|0;B=D+24|0;q=D+20|0;u=D+16|0;C=D+12|0;n=D+56|0;o=D+8|0;k[v>>2]=a;k[g>>2]=b;i[x>>0]=c;i[y>>0]=d;k[A>>2]=e;k[h>>2]=f;k[w>>2]=0;k[B>>2]=0;k[q>>2]=1;k[u>>2]=18402;k[C>>2]=0;while(1){e=l[k[g>>2]>>0]|0;k[s>>2]=e;if(!((e|0)==156?1:(k[s>>2]|0)==161))break;k[g>>2]=k[(k[g>>2]|0)+12>>2]}if((k[s>>2]|0)==157)k[s>>2]=l[(k[g>>2]|0)+38>>0];if((k[s>>2]|0)==66){B=Nx(k[(k[g>>2]|0)+8>>2]|0,0)|0;i[n>>0]=B;B=Mx(k[v>>2]|0,k[(k[g>>2]|0)+12>>2]|0,i[x>>0]|0,i[n>>0]|0,k[A>>2]|0,k[h>>2]|0)|0;k[C>>2]=B;if(k[k[A>>2]>>2]|0){Ox(k[k[A>>2]>>2]|0,i[n>>0]|0,1);Px(k[k[A>>2]>>2]|0,i[y>>0]|0,1)}k[z>>2]=k[C>>2];C=k[z>>2]|0;r=D;return C|0}do if((k[s>>2]|0)==155){if((l[k[(k[g>>2]|0)+12>>2]>>0]|0|0)!=134?(l[k[(k[g>>2]|0)+12>>2]>>0]|0|0)!=132:0)break;k[g>>2]=k[(k[g>>2]|0)+12>>2];k[s>>2]=l[k[g>>2]>>0];k[q>>2]=-1;k[u>>2]=28264}while(0);do if((k[s>>2]|0)==97|(k[s>>2]|0)==132|(k[s>>2]|0)==134){e=Qx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=e;if(k[B>>2]|0){if(k[(k[g>>2]|0)+4>>2]&1024){v=k[B>>2]|0;u=k[(k[g>>2]|0)+8>>2]|0;w=k[q>>2]|0;w=kS(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;rh(v,w,L)}else{e=k[v>>2]|0;b=k[(k[g>>2]|0)+8>>2]|0;k[t>>2]=k[u>>2];k[t+4>>2]=b;u=Qh(e,24705,t)|0;k[w>>2]=u;if(!(k[w>>2]|0)){g=42;break}ii(k[B>>2]|0,-1,k[w>>2]|0,1,170)}if((k[s>>2]|0)==134|(k[s>>2]|0)==132?(l[y>>0]|0|0)==65:0)Px(k[B>>2]|0,67,1);else Px(k[B>>2]|0,i[y>>0]|0,1);if((m[(k[B>>2]|0)+8>>1]|0)&12){y=(k[B>>2]|0)+8|0;j[y>>1]=(m[y>>1]|0)&-3}if((l[x>>0]|0|0)!=1){g=su(k[B>>2]|0,l[x>>0]|0)|0;k[C>>2]=g;g=41}else g=41}else g=42}else{if((k[s>>2]|0)!=155){if((k[s>>2]|0)==101){y=Qx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=y;if(!(k[B>>2]|0)){g=42;break}else{g=41;break}}if((k[s>>2]|0)!=133){g=41;break}y=Qx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=y;if(!(k[B>>2]|0)){g=42;break}k[w>>2]=(k[(k[g>>2]|0)+8>>2]|0)+2;y=(Tf(k[w>>2]|0)|0)-1|0;k[o>>2]=y;y=k[B>>2]|0;g=Sx(k[v>>2]|0,k[w>>2]|0,k[o>>2]|0)|0;qh(y,g,(k[o>>2]|0)/2|0,0,170)|0;g=41;break}w=0==(Ex(k[v>>2]|0,k[(k[g>>2]|0)+12>>2]|0,i[x>>0]|0,i[y>>0]|0,B)|0);if(w&(k[B>>2]|0)!=0){Rx(k[B>>2]|0)|0;g=k[B>>2]|0;do if(!((m[(k[B>>2]|0)+8>>1]|0)&8)){w=g;g=k[B>>2]|0;if((k[w>>2]|0)==0?(k[w+4>>2]|0)==-2147483648:0){p[g>>3]=9223372036854775808.0;j[(k[B>>2]|0)+8>>1]=(m[(k[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=g;v=_R(0,0,k[v>>2]|0,k[v+4>>2]|0)|0;w=k[B>>2]|0;k[w>>2]=v;k[w+4>>2]=L;break}}else p[k[B>>2]>>3]=-+p[g>>3];while(0);Px(k[B>>2]|0,i[y>>0]|0,i[x>>0]|0);g=41}else g=41}while(0);if((g|0)==41){k[k[A>>2]>>2]=k[B>>2];k[z>>2]=k[C>>2];C=k[z>>2]|0;r=D;return C|0}else if((g|0)==42){wh(k[v>>2]|0);bg(k[v>>2]|0,k[w>>2]|0);mh(k[B>>2]|0);k[z>>2]=7;C=k[z>>2]|0;r=D;return C|0}return 0}function Nx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+16|0;d=m+12|0;f=m+8|0;e=m+20|0;h=m+4|0;g=m;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;i[e>>0]=67;k[h>>2]=0;a:while(1){if(!(i[k[c>>2]>>0]|0))break;k[f>>2]=(k[f>>2]<<8)+(l[17613+(i[k[c>>2]>>0]&255)>>0]|0);k[c>>2]=(k[c>>2]|0)+1;if((k[f>>2]|0)==1667785074){i[e>>0]=66;k[h>>2]=k[c>>2];continue}if((k[f>>2]|0)==1668050786){i[e>>0]=66;continue}if((k[f>>2]|0)==1952807028){i[e>>0]=66;continue}do if((k[f>>2]|0)==1651273570){if((i[e>>0]|0)!=67?(i[e>>0]|0)!=69:0)break;i[e>>0]=65;if((i[k[c>>2]>>0]|0)!=40)continue a;k[h>>2]=k[c>>2];continue a}while(0);if((k[f>>2]|0)==1919246700?(i[e>>0]|0)==67:0){i[e>>0]=69;continue}if((k[f>>2]|0)==1718382433?(i[e>>0]|0)==67:0){i[e>>0]=69;continue}if((k[f>>2]|0)==1685026146?(i[e>>0]|0)==67:0){i[e>>0]=69;continue}if((k[f>>2]&16777215|0)==6909556){j=24;break}}if((j|0)==24)i[e>>0]=68;if(!(k[d>>2]|0)){j=i[e>>0]|0;r=m;return j|0}i[k[d>>2]>>0]=1;if((i[e>>0]|0)>=67){j=i[e>>0]|0;r=m;return j|0}if(!(k[h>>2]|0)){i[k[d>>2]>>0]=5;j=i[e>>0]|0;r=m;return j|0}while(1){if(!(i[k[h>>2]>>0]|0)){j=33;break}if(l[18403+(l[k[h>>2]>>0]|0)>>0]&4)break;k[h>>2]=(k[h>>2]|0)+1}if((j|0)==33){j=i[e>>0]|0;r=m;return j|0}k[g>>2]=0;_i(k[h>>2]|0,g)|0;j=((k[g>>2]|0)/4|0)+1|0;k[g>>2]=j;k[g>>2]=(k[g>>2]|0)>255?255:j;i[k[d>>2]>>0]=k[g>>2];j=i[e>>0]|0;r=m;return j|0}function Ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g;d=g+5|0;f=g+4|0;k[e>>2]=a;i[d>>0]=b;i[f>>0]=c;if((m[(k[e>>2]|0)+8>>1]|0)&1){r=g;return}switch(l[d>>0]|0|0){case 65:{d=k[e>>2]|0;if((m[(k[e>>2]|0)+8>>1]|0)&16){f=d+8|0;j[f>>1]=(m[f>>1]|0)&-33264;r=g;return}Px(d,66,i[f>>0]|0);if(!((m[(k[e>>2]|0)+8>>1]|0)&2)){r=g;return}j[(k[e>>2]|0)+8>>1]=(m[(k[e>>2]|0)+8>>1]|0)&-49664|16;r=g;return}case 67:{Rx(k[e>>2]|0)|0;r=g;return}case 68:{_x(k[e>>2]|0)|0;r=g;return}case 69:{$x(k[e>>2]|0)|0;r=g;return}default:{a=(k[e>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|((m[(k[e>>2]|0)+8>>1]|0)&16)>>3;Px(k[e>>2]|0,66,i[f>>0]|0);f=(k[e>>2]|0)+8|0;j[f>>1]=(m[f>>1]|0)&-16413;r=g;return}}}function Px(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d;f=d+5|0;e=d+4|0;k[g>>2]=a;i[f>>0]=b;i[e>>0]=c;Vx(k[g>>2]|0,i[f>>0]|0,i[e>>0]|0);r=d;return}function Qx(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;b=hi(k[d>>2]|0)|0;r=c;return b|0}function Rx(a){a=a|0;var b=0,c=0,d=0,e=0.0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if(!((m[(k[b>>2]|0)+8>>1]|0)&13)){d=0==(Wi(k[(k[b>>2]|0)+16>>2]|0,k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,i[(k[b>>2]|0)+10>>0]|0)|0);a=k[b>>2]|0;if(d){j[(k[b>>2]|0)+8>>1]=(m[a+8>>1]|0)&-49664|4;break}else{e=+jh(a);p[k[b>>2]>>3]=e;j[(k[b>>2]|0)+8>>1]=(m[(k[b>>2]|0)+8>>1]|0)&-49664|8;Tx(k[b>>2]|0);break}}while(0);d=(k[b>>2]|0)+8|0;j[d>>1]=(m[d>>1]|0)&-16403;r=c;return 0}function Sx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;j=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;b=((k[e>>2]|0)/2|0)+1|0;b=dx(k[j>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;k[e>>2]=(k[e>>2]|0)+-1;if(!(k[g>>2]|0)){j=k[g>>2]|0;r=h;return j|0}k[f>>2]=0;while(1){a=k[f>>2]|0;if((k[f>>2]|0)>=(k[e>>2]|0))break;j=((Vi(i[(k[d>>2]|0)+a>>0]|0)|0)&255)<<4;j=(j|(Vi(i[(k[d>>2]|0)+((k[f>>2]|0)+1)>>0]|0)|0)&255)&255;i[(k[g>>2]|0)+((k[f>>2]|0)/2|0)>>0]=j;k[f>>2]=(k[f>>2]|0)+2}i[(k[g>>2]|0)+((a|0)/2|0)>>0]=0;j=k[g>>2]|0;r=h;return j|0}function Tx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;b=d+8|0;c=d;k[b>>2]=a;f=Ux(+p[k[b>>2]>>3])|0;h=c;k[h>>2]=f;k[h+4>>2]=L;h=c;f=c;g=k[f+4>>2]|0;a=c;e=k[a+4>>2]|0;if(!(+p[k[b>>2]>>3]==+((k[h>>2]|0)>>>0)+4294967296.0*+(k[h+4>>2]|0)&((g|0)>-2147483648|(g|0)==-2147483648&(k[f>>2]|0)>>>0>0)&((e|0)<2147483647|(e|0)==2147483647&(k[a>>2]|0)>>>0<4294967295))){r=d;return}f=c;g=k[f+4>>2]|0;h=k[b>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;j[(k[b>>2]|0)+8>>1]=(m[(k[b>>2]|0)+8>>1]|0)&-49664|4;r=d;return}function Ux(a){a=+a;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d;p[c>>3]=a;do if(!(+p[c>>3]<=-9223372036854775808.0))if(+p[c>>3]>=9223372036854775808.0){c=b;k[c>>2]=-1;k[c+4>>2]=2147483647;break}else{a=+p[c>>3];e=+W(a)>=1.0?(a>0.0?~~+ia(+V(a/4294967296.0),4294967295.0)>>>0:~~+ga((a-+(~~a>>>0))/4294967296.0)>>>0):0;c=b;k[c>>2]=~~a>>>0;k[c+4>>2]=e;break}else{e=b;k[e>>2]=0;k[e+4>>2]=-2147483648}while(0);e=b;L=k[e+4>>2]|0;r=d;return k[e>>2]|0}function Vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=g+5|0;e=g+4|0;k[f>>2]=a;i[d>>0]=b;i[e>>0]=c;if((i[d>>0]|0)<67){if((i[d>>0]|0)!=66){r=g;return}if(0==(m[(k[f>>2]|0)+8>>1]&2|0)?(m[(k[f>>2]|0)+8>>1]&12|0)!=0:0)Wx(k[f>>2]|0,i[e>>0]|0,1)|0;f=(k[f>>2]|0)+8|0;j[f>>1]=m[f>>1]&-13;r=g;return}if(m[(k[f>>2]|0)+8>>1]&4){r=g;return}d=k[f>>2]|0;if(m[(k[f>>2]|0)+8>>1]&8){Tx(d);r=g;return}if(!(m[d+8>>1]&2)){r=g;return}Lh(k[f>>2]|0,1);r=g;return}function Wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0;q=r;r=r+48|0;o=q+8|0;n=q;d=q+28|0;e=q+24|0;f=q+33|0;g=q+32|0;h=q+20|0;k[e>>2]=a;i[f>>0]=b;i[g>>0]=c;k[h>>2]=m[(k[e>>2]|0)+8>>1];k[q+16>>2]=32;if(Xx(k[e>>2]|0,32)|0){i[(k[e>>2]|0)+10>>0]=0;k[d>>2]=7;o=k[d>>2]|0;r=q;return o|0}c=k[(k[e>>2]|0)+16>>2]|0;b=k[e>>2]|0;if(k[h>>2]&4){a=b;h=k[a+4>>2]|0;o=n;k[o>>2]=k[a>>2];k[o+4>>2]=h;_d(32,c,28266,n)|0}else{p[o>>3]=+p[b>>3];_d(32,c,28271,o)|0}o=Tf(k[(k[e>>2]|0)+16>>2]|0)|0;k[(k[e>>2]|0)+12>>2]=o;i[(k[e>>2]|0)+10>>0]=1;o=(k[e>>2]|0)+8|0;j[o>>1]=m[o>>1]|514;if(i[g>>0]|0){o=(k[e>>2]|0)+8|0;j[o>>1]=m[o>>1]&-13}su(k[e>>2]|0,l[f>>0]|0)|0;k[d>>2]=0;o=k[d>>2]|0;r=q;return o|0}function Xx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=k[d>>2]|0;if((k[(k[d>>2]|0)+24>>2]|0)<(k[e>>2]|0)){e=Yx(a,k[e>>2]|0,0)|0;k[c>>2]=e;e=k[c>>2]|0;r=f;return e|0}else{k[(k[d>>2]|0)+16>>2]=k[a+20>>2];e=(k[d>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&13;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;do if((k[(k[f>>2]|0)+24>>2]|0)<(k[d>>2]|0)){if((k[d>>2]|0)<32)k[d>>2]=32;if(((k[g>>2]|0)!=0?(k[(k[f>>2]|0)+24>>2]|0)>0:0)?(k[(k[f>>2]|0)+16>>2]|0)==(k[(k[f>>2]|0)+20>>2]|0):0){a=k[d>>2]|0;a=Zx(k[(k[f>>2]|0)+32>>2]|0,k[(k[f>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+20>>2]=a;k[(k[f>>2]|0)+16>>2]=a;k[g>>2]=0}else{if((k[(k[f>>2]|0)+24>>2]|0)>0)bg(k[(k[f>>2]|0)+32>>2]|0,k[(k[f>>2]|0)+20>>2]|0);a=k[d>>2]|0;a=Mh(k[(k[f>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+20>>2]=a}d=k[f>>2]|0;if(k[(k[f>>2]|0)+20>>2]|0){a=uu(k[d+32>>2]|0,k[(k[f>>2]|0)+20>>2]|0)|0;k[(k[f>>2]|0)+24>>2]=a;break}sh(d);k[(k[f>>2]|0)+16>>2]=0;k[(k[f>>2]|0)+24>>2]=0;k[e>>2]=7;g=k[e>>2]|0;r=h;return g|0}while(0);if(((k[g>>2]|0)!=0?(k[(k[f>>2]|0)+16>>2]|0)!=0:0)?(k[(k[f>>2]|0)+16>>2]|0)!=(k[(k[f>>2]|0)+20>>2]|0):0)bS(k[(k[f>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;if((m[(k[f>>2]|0)+8>>1]|0)&1024)_b[k[(k[f>>2]|0)+36>>2]&255](k[(k[f>>2]|0)+16>>2]|0);k[(k[f>>2]|0)+16>>2]=k[(k[f>>2]|0)+20>>2];g=(k[f>>2]|0)+8|0;j[g>>1]=(m[g>>1]|0)&-7169;k[e>>2]=0;g=k[e>>2]|0;r=h;return g|0}function Zx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;i=h;g=h+8|0;k[e>>2]=a;k[f>>2]=b;b=i;k[b>>2]=c;k[b+4>>2]=d;b=i;b=cx(k[e>>2]|0,k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[g>>2]=b;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}bg(k[e>>2]|0,k[f>>2]|0);i=k[g>>2]|0;r=h;return i|0}function _x(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;k[c>>2]=a;d=kh(k[c>>2]|0)|0;a=k[c>>2]|0;k[a>>2]=d;k[a+4>>2]=L;j[(k[c>>2]|0)+8>>1]=(m[(k[c>>2]|0)+8>>1]|0)&-49664|4;r=b;return 0}function $x(a){a=a|0;var b=0,c=0,d=0.0;b=r;r=r+16|0;c=b;k[c>>2]=a;d=+jh(k[c>>2]|0);p[k[c>>2]>>3]=d;j[(k[c>>2]|0)+8>>1]=(m[(k[c>>2]|0)+8>>1]|0)&-49664|8;r=b;return 0}function ay(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((((i[(k[k[d>>2]>>2]|0)+148+5>>0]|0)==0?(l[(k[d>>2]|0)+18>>0]|0)==0:0)?(k[(k[k[d>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(Jd(k[e>>2]|0,27844,7)|0):0){b=k[d>>2]|0;k[f>>2]=k[e>>2];Oh(b,30775,f);k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function by(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;o=q;c=q+36|0;d=q+32|0;e=q+28|0;n=q+24|0;i=q+20|0;h=q+16|0;g=q+12|0;f=q+8|0;p=q+4|0;k[d>>2]=a;k[e>>2]=b;k[h>>2]=0;k[f>>2]=k[k[d>>2]>>2];if(hy(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=1;p=k[c>>2]|0;r=q;return p|0}if(l[(k[e>>2]|0)+42>>0]&16){k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}if((j[(k[e>>2]|0)+34>>1]|0)>0){k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}if((j[(k[e>>2]|0)+34>>1]|0)<0){p=k[d>>2]|0;k[o>>2]=k[k[e>>2]>>2];Oh(p,28983,o);k[c>>2]=1;p=k[c>>2]|0;r=q;return p|0}o=iy(k[f>>2]|0,k[(k[e>>2]|0)+12>>2]|0,0)|0;k[i>>2]=o;if(k[i>>2]|0){k[g>>2]=k[(k[d>>2]|0)+40>>2];jy(k[d>>2]|0,k[(k[i>>2]|0)+28>>2]|0);j[(k[e>>2]|0)+34>>1]=-1;o=(k[f>>2]|0)+256|0;k[o>>2]=(k[o>>2]|0)+1;k[p>>2]=k[(k[f>>2]|0)+296>>2];k[(k[f>>2]|0)+296>>2]=0;o=ky(k[d>>2]|0,k[i>>2]|0)|0;k[n>>2]=o;k[(k[f>>2]|0)+296>>2]=k[p>>2];k[(k[d>>2]|0)+40>>2]=k[g>>2];do if(k[(k[e>>2]|0)+24>>2]|0){ly(k[d>>2]|0,k[(k[e>>2]|0)+24>>2]|0,(k[e>>2]|0)+34|0,(k[e>>2]|0)+4|0)|0;if(((l[(k[f>>2]|0)+69>>0]|0)==0?(k[(k[d>>2]|0)+36>>2]|0)==0:0)?(j[(k[e>>2]|0)+34>>1]|0)==(k[k[k[i>>2]>>2]>>2]|0):0)my(k[d>>2]|0,k[e>>2]|0,k[i>>2]|0)}else if(k[n>>2]|0){j[(k[e>>2]|0)+34>>1]=j[(k[n>>2]|0)+34>>1]|0;k[(k[e>>2]|0)+4>>2]=k[(k[n>>2]|0)+4>>2];j[(k[n>>2]|0)+34>>1]=0;k[(k[n>>2]|0)+4>>2]=0;break}else{j[(k[e>>2]|0)+34>>1]=0;k[h>>2]=(k[h>>2]|0)+1;break}while(0);$f(k[f>>2]|0,k[n>>2]|0);pv(k[f>>2]|0,k[i>>2]|0);p=(k[f>>2]|0)+256|0;k[p>>2]=(k[p>>2]|0)+-1}else k[h>>2]=(k[h>>2]|0)+1;p=(k[(k[e>>2]|0)+64>>2]|0)+78|0;j[p>>1]=m[p>>1]|2;k[c>>2]=k[h>>2];p=k[c>>2]|0;r=q;return p|0}function cy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[f>>2]|0)+56>>2];while(1){if(!(k[d>>2]|0)){c=5;break}if((k[k[d>>2]>>2]|0)==(k[c>>2]|0)){c=5;break}k[d>>2]=k[(k[d>>2]|0)+24>>2]}if((c|0)==5){r=e;return k[d>>2]|0}return 0}function dy(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[b>>2]=a;i[(k[b>>2]|0)+21>>0]=1;r=c;return}function ey(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;k[d>>2]=k[h>>2];if((k[c>>2]|0)>=0)k[e>>2]=(k[d>>2]|0)+(k[c>>2]|0);else k[e>>2]=-1;while(1){if(!(l[k[d>>2]>>0]|0)){c=10;break}if((k[d>>2]|0)>>>0>=(k[e>>2]|0)>>>0){c=10;break}h=k[d>>2]|0;k[d>>2]=h+1;a:do if((l[h>>0]|0|0)>=192)while(1){if(((l[k[d>>2]>>0]|0)&192|0)!=128)break a;k[d>>2]=(k[d>>2]|0)+1}while(0);k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){r=g;return k[f>>2]|0}return 0}function fy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[e>>2]=0;b=gy(k[g>>2]|0)|0;k[d>>2]=b;while(1){if(!(k[d>>2]|0))break;g=Lx(k[k[c>>2]>>2]|0,k[e>>2]|0,k[k[k[d>>2]>>2]>>2]|0)|0;k[e>>2]=g;k[d>>2]=k[(k[d>>2]|0)+12>>2]}r=f;return k[e>>2]|0}function gy(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Cj((k[(k[c>>2]|0)+64>>2]|0)+56|0,k[k[c>>2]>>2]|0)|0;r=b;return a|0}function hy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;j=p+8|0;i=p;c=p+44|0;d=p+40|0;e=p+36|0;f=p+32|0;n=p+28|0;g=p+24|0;h=p+20|0;o=p+16|0;m=p+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];if(((l[(k[e>>2]|0)+42>>0]|0)&16|0)!=0?(cy(k[f>>2]|0,k[e>>2]|0)|0)==0:0){k[n>>2]=k[k[(k[e>>2]|0)+52>>2]>>2];n=Cj((k[f>>2]|0)+320|0,k[n>>2]|0)|0;k[g>>2]=n;if(k[g>>2]|0){k[m>>2]=0;o=Tz(k[f>>2]|0,k[e>>2]|0,k[g>>2]|0,k[(k[k[g>>2]>>2]|0)+8>>2]|0,m)|0;k[h>>2]=o;if(k[h>>2]|0){o=k[d>>2]|0;k[j>>2]=k[m>>2];Oh(o,18391,j)}bg(k[f>>2]|0,k[m>>2]|0)}else{k[o>>2]=k[k[(k[e>>2]|0)+52>>2]>>2];n=k[d>>2]|0;k[i>>2]=k[o>>2];Oh(n,30631,i);k[h>>2]=1}k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}function iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=m;return l|0}b=dx(k[e>>2]|0,68,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=m;return l|0}b=_y(k[e>>2]|0,k[k[f>>2]>>2]|0,k[g>>2]|0)|0;k[k[h>>2]>>2]=b;b=Qz(k[e>>2]|0,k[(k[f>>2]|0)+28>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+28>>2]=b;b=Sy(k[e>>2]|0,k[(k[f>>2]|0)+32>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+32>>2]=b;b=_y(k[e>>2]|0,k[(k[f>>2]|0)+36>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+36>>2]=b;b=Sy(k[e>>2]|0,k[(k[f>>2]|0)+40>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+40>>2]=b;b=_y(k[e>>2]|0,k[(k[f>>2]|0)+44>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+44>>2]=b;i[(k[h>>2]|0)+4>>0]=i[(k[f>>2]|0)+4>>0]|0;b=iy(k[e>>2]|0,k[(k[f>>2]|0)+48>>2]|0,k[g>>2]|0)|0;k[l>>2]=b;k[(k[h>>2]|0)+48>>2]=b;if(k[l>>2]|0)k[(k[l>>2]|0)+52>>2]=k[h>>2];k[(k[h>>2]|0)+52>>2]=0;l=Sy(k[e>>2]|0,k[(k[f>>2]|0)+56>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+56>>2]=l;l=Sy(k[e>>2]|0,k[(k[f>>2]|0)+60>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+60>>2]=l;k[(k[h>>2]|0)+12>>2]=0;k[(k[h>>2]|0)+16>>2]=0;k[(k[h>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2]&-33;k[(k[h>>2]|0)+20>>2]=-1;k[(k[h>>2]|0)+20+4>>2]=-1;j[(k[h>>2]|0)+6>>1]=j[(k[f>>2]|0)+6>>1]|0;l=Rz(k[e>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[(k[h>>2]|0)+64>>2]=l;k[d>>2]=k[h>>2];l=k[d>>2]|0;r=m;return l|0}function jy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[e>>2]=0;k[f>>2]=(k[d>>2]|0)+8;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if((k[(k[f>>2]|0)+44>>2]|0)>=0){c=8;break}b=(k[c>>2]|0)+40|0;a=k[b>>2]|0;k[b>>2]=a+1;k[(k[f>>2]|0)+44>>2]=a;if(k[(k[f>>2]|0)+20>>2]|0)jy(k[c>>2]|0,k[(k[(k[f>>2]|0)+20>>2]|0)+28>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}if((c|0)==8){r=g;return}}function ky(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+32|0;c=l+20|0;d=l+16|0;e=l+12|0;g=l+8|0;f=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[(k[f>>2]|0)+24>>2];b=(k[f>>2]|0)+24|0;k[b>>2]=k[b>>2]&-5;b=(k[f>>2]|0)+24|0;k[b>>2]=k[b>>2]|64;wy(k[d>>2]|0,k[e>>2]|0,0);if(k[(k[d>>2]|0)+36>>2]|0){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2]}k[(k[f>>2]|0)+24>>2]=k[h>>2];h=Ch(k[f>>2]|0,72,0)|0;k[g>>2]=h;if(!(k[g>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}j[(k[g>>2]|0)+36>>1]=1;k[k[g>>2]>>2]=0;j[(k[g>>2]|0)+38>>1]=200;ly(k[d>>2]|0,k[k[e>>2]>>2]|0,(k[g>>2]|0)+34|0,(k[g>>2]|0)+4|0)|0;my(k[d>>2]|0,k[g>>2]|0,k[e>>2]|0);j[(k[g>>2]|0)+32>>1]=-1;if(i[(k[f>>2]|0)+69>>0]|0){$f(k[f>>2]|0,k[g>>2]|0);k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}else{k[c>>2]=k[g>>2];h=k[c>>2]|0;r=l;return h|0}return 0}function ly(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;e=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;f=D+72|0;z=D+68|0;p=D+64|0;m=D+60|0;o=D+56|0;v=D+52|0;n=D+48|0;g=D+32|0;q=D+28|0;s=D+24|0;h=D+20|0;k[E>>2]=a;k[e>>2]=b;k[x>>2]=c;k[y>>2]=d;k[A>>2]=k[k[E>>2]>>2];Jj(g);if(k[e>>2]|0){k[m>>2]=k[k[e>>2]>>2];E=Ch(k[A>>2]|0,k[m>>2]<<4,0)|0;k[z>>2]=E}else{k[m>>2]=0;k[z>>2]=0}j[k[x>>2]>>1]=k[m>>2];k[k[y>>2]>>2]=k[z>>2];k[B>>2]=0;k[p>>2]=k[z>>2];while(1){if((k[B>>2]|0)>=(k[m>>2]|0))break;if(!((i[(k[A>>2]|0)+69>>0]|0)!=0^1))break;E=uy(k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)>>2]|0)|0;k[o>>2]=E;E=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)+4>>2]|0;k[v>>2]=E;do if(!E){k[q>>2]=k[o>>2];while(1){b=k[q>>2]|0;if((l[k[q>>2]>>0]|0)!=122)break;k[q>>2]=k[b+16>>2]}if((l[b>>0]|0)==152?(k[(k[q>>2]|0)+44>>2]|0)!=0:0){k[h>>2]=j[(k[q>>2]|0)+32>>1];k[s>>2]=k[(k[q>>2]|0)+44>>2];if((k[h>>2]|0)<0)k[h>>2]=j[(k[s>>2]|0)+32>>1];if((k[h>>2]|0)>=0)b=k[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0;else b=24745;k[v>>2]=b;break}if((l[k[q>>2]>>0]|0)==55){k[v>>2]=k[(k[q>>2]|0)+8>>2];break}else{k[v>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)+8>>2];break}}while(0);E=k[A>>2]|0;k[t>>2]=k[v>>2];E=Qh(E,18391,t)|0;k[v>>2]=E;k[f>>2]=0;while(1){if(k[v>>2]|0)a=(Cj(g,k[v>>2]|0)|0)!=0;else a=0;b=k[v>>2]|0;if(!a)break;E=Tf(b)|0;k[n>>2]=E;if((k[n>>2]|0)>0){k[C>>2]=(k[n>>2]|0)-1;while(1){if((k[C>>2]|0)<=0)break;if(!(l[18403+(l[(k[v>>2]|0)+(k[C>>2]|0)>>0]|0)>>0]&4))break;k[C>>2]=(k[C>>2]|0)+-1}if((i[(k[v>>2]|0)+(k[C>>2]|0)>>0]|0)==58)k[n>>2]=k[C>>2]}E=k[A>>2]|0;a=k[n>>2]|0;d=k[v>>2]|0;c=(k[f>>2]|0)+1|0;k[f>>2]=c;k[u>>2]=a;k[u+4>>2]=d;k[u+8>>2]=c;E=Qh(E,29047,u)|0;k[v>>2]=E;if((k[f>>2]|0)>>>0<=3)continue;ae(4,f)}k[k[p>>2]>>2]=b;if((k[v>>2]|0)!=0?(E=ck(g,k[v>>2]|0,k[p>>2]|0)|0,(E|0)==(k[p>>2]|0)):0)wh(k[A>>2]|0);k[B>>2]=(k[B>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+16}Kj(g);if(!(i[(k[A>>2]|0)+69>>0]|0)){k[w>>2]=0;E=k[w>>2]|0;r=D;return E|0}k[C>>2]=0;while(1){b=k[A>>2]|0;if((k[C>>2]|0)>=(k[B>>2]|0))break;bg(b,k[(k[z>>2]|0)+(k[C>>2]<<4)>>2]|0);k[C>>2]=(k[C>>2]|0)+1}bg(b,k[z>>2]|0);k[k[y>>2]>>2]=0;j[k[x>>2]>>1]=0;k[w>>2]=7;E=k[w>>2]|0;r=D;return E|0}function my(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+96|0;d=w+84|0;e=w+80|0;f=w+76|0;h=w+72|0;t=w+40|0;q=w+36|0;s=w+32|0;m=w+28|0;p=w+24|0;g=w+20|0;u=w;v=w+16|0;o=w+12|0;n=w+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];b=u;k[b>>2]=0;k[b+4>>2]=0;if(i[(k[h>>2]|0)+69>>0]|0){r=w;return};k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;k[t+12>>2]=0;k[t+16>>2]=0;k[t+20>>2]=0;k[t+24>>2]=0;k[t+28>>2]=0;k[t+4>>2]=k[(k[f>>2]|0)+28>>2];k[g>>2]=k[(k[k[f>>2]>>2]|0)+4>>2];k[m>>2]=0;k[q>>2]=k[(k[e>>2]|0)+4>>2];while(1){if((k[m>>2]|0)>=(j[(k[e>>2]|0)+34>>1]|0))break;k[p>>2]=k[(k[g>>2]|0)+((k[m>>2]|0)*20|0)>>2];c=ny(t,k[p>>2]|0,(k[q>>2]|0)+14|0)|0;k[v>>2]=c;c=u;c=$R(k[c>>2]|0,k[c+4>>2]|0,l[(k[q>>2]|0)+14>>0]|0,0)|0;b=u;k[b>>2]=c;k[b+4>>2]=L;b=oy(k[p>>2]|0)|0;i[(k[q>>2]|0)+13>>0]=b;if(((k[v>>2]|0)!=0?(b=Tf(k[v>>2]|0)|0,k[n>>2]=b,(b|0)>0):0)?(b=Tf(k[k[q>>2]>>2]|0)|0,k[o>>2]=b,b=(k[o>>2]|0)+(k[n>>2]|0)+2|0,b=Zx(k[h>>2]|0,k[k[q>>2]>>2]|0,b,((b|0)<0)<<31>>31)|0,k[k[q>>2]>>2]=b,(k[k[q>>2]>>2]|0)!=0):0){bS((k[k[q>>2]>>2]|0)+((k[o>>2]|0)+1)|0,k[v>>2]|0,(k[n>>2]|0)+1|0)|0;b=(k[q>>2]|0)+15|0;i[b>>0]=l[b>>0]|4}if(!(i[(k[q>>2]|0)+13>>0]|0))i[(k[q>>2]|0)+13>>0]=65;b=py(k[d>>2]|0,k[p>>2]|0)|0;k[s>>2]=b;if((k[s>>2]|0)!=0?(k[(k[q>>2]|0)+8>>2]|0)==0:0){b=Ah(k[h>>2]|0,k[k[s>>2]>>2]|0)|0;k[(k[q>>2]|0)+8>>2]=b}k[m>>2]=(k[m>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+16}v=u;v=kS(k[v>>2]|0,k[v+4>>2]|0,4,0)|0;v=Wj(v,L)|0;j[(k[e>>2]|0)+40>>1]=v;r=w;return}function ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+128|0;d=x+112|0;e=x+108|0;f=x+104|0;w=x+100|0;m=x+96|0;g=x+116|0;s=x+92|0;p=x+88|0;h=x+84|0;t=x+80|0;u=x+48|0;n=x+40|0;v=x+8|0;q=x+4|0;o=x;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[w>>2]=0;i[g>>0]=1;a:do switch(l[k[e>>2]>>0]|0){case 152:case 154:{k[s>>2]=0;k[p>>2]=0;k[h>>2]=j[(k[e>>2]|0)+32>>1];while(1){if(!(k[d>>2]|0))break;if(!((k[s>>2]|0)!=0^1))break;k[t>>2]=k[(k[d>>2]|0)+4>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[t>>2]>>2]|0))break;if((k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+44>>2]|0)==(k[(k[e>>2]|0)+28>>2]|0))break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)<(k[k[t>>2]>>2]|0)){k[s>>2]=k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+16>>2];k[p>>2]=k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+20>>2];continue}else{k[d>>2]=k[(k[d>>2]|0)+16>>2];continue}}if(k[s>>2]|0){if(k[p>>2]|0){if((k[h>>2]|0)<0)break a;if((k[h>>2]|0)>=(k[k[k[p>>2]>>2]>>2]|0))break a;k[n>>2]=k[(k[(k[k[p>>2]>>2]|0)+4>>2]|0)+((k[h>>2]|0)*20|0)>>2];k[u+4>>2]=k[(k[p>>2]|0)+28>>2];k[u+16>>2]=k[d>>2];k[u>>2]=k[k[d>>2]>>2];v=ny(u,k[n>>2]|0,g)|0;k[w>>2]=v;break a}if(k[(k[s>>2]|0)+64>>2]|0){if((k[h>>2]|0)<0)k[h>>2]=j[(k[s>>2]|0)+32>>1];if((k[h>>2]|0)<0){k[w>>2]=18759;break a}else{v=Fi((k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<4)|0,0)|0;k[w>>2]=v;i[g>>0]=i[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<4)+14>>0]|0;break a}}}break}case 119:{k[q>>2]=k[(k[e>>2]|0)+20>>2];k[o>>2]=k[k[(k[k[q>>2]>>2]|0)+4>>2]>>2];k[v+4>>2]=k[(k[q>>2]|0)+28>>2];k[v+16>>2]=k[d>>2];k[v>>2]=k[k[d>>2]>>2];v=ny(v,k[o>>2]|0,g)|0;k[w>>2]=v;break}default:{}}while(0);if(!(k[f>>2]|0)){w=k[w>>2]|0;r=x;return w|0}i[k[f>>2]>>0]=i[g>>0]|0;w=k[w>>2]|0;r=x;return w|0}function oy(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;a=uy(k[c>>2]|0)|0;k[c>>2]=a;if(k[(k[c>>2]|0)+4>>2]&512){i[b>>0]=0;d=i[b>>0]|0;r=e;return d|0}k[d>>2]=l[k[c>>2]>>0];if((k[d>>2]|0)==119){d=oy(k[k[(k[k[(k[c>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;i[b>>0]=d;d=i[b>>0]|0;r=e;return d|0}if((k[d>>2]|0)==157)k[d>>2]=l[(k[c>>2]|0)+38>>0];if((k[d>>2]|0)==66){d=Nx(k[(k[c>>2]|0)+8>>2]|0,0)|0;i[b>>0]=d;d=i[b>>0]|0;r=e;return d|0}if((k[d>>2]|0)==154|(k[d>>2]|0)==152){d=vy(k[(k[c>>2]|0)+44>>2]|0,j[(k[c>>2]|0)+32>>1]|0)|0;i[b>>0]=d;d=i[b>>0]|0;r=e;return d|0}a=k[c>>2]|0;if((k[d>>2]|0)==159){d=oy(k[(k[(k[k[(k[(k[c>>2]|0)+12>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((j[a+32>>1]|0)*20|0)>>2]|0)|0;i[b>>0]=d;d=i[b>>0]|0;r=e;return d|0}else{i[b>>0]=i[a+1>>0]|0;d=i[b>>0]|0;r=e;return d|0}return 0}function py(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;c=q+36|0;s=q+32|0;d=q+28|0;m=q+24|0;h=q+20|0;g=q+16|0;f=q+12|0;o=q+8|0;n=q+4|0;e=q;k[c>>2]=a;k[s>>2]=b;k[d>>2]=k[k[c>>2]>>2];k[m>>2]=0;k[h>>2]=k[s>>2];while(1){if(!(k[h>>2]|0))break;k[g>>2]=l[k[h>>2]>>0];if(k[(k[h>>2]|0)+4>>2]&512)break;if((k[g>>2]|0)==66|(k[g>>2]|0)==156){k[h>>2]=k[(k[h>>2]|0)+12>>2];continue}if((k[g>>2]|0)==53){p=9;break}if((k[g>>2]|0)==157?(l[(k[h>>2]|0)+38>>0]|0)==53:0){p=9;break}if((k[g>>2]|0)==154|(k[g>>2]|0)==152|(k[g>>2]|0)==157|(k[g>>2]|0)==88?(k[(k[h>>2]|0)+44>>2]|0)!=0:0){p=12;break}if(!(k[(k[h>>2]|0)+4>>2]&256))break;if((k[(k[h>>2]|0)+12>>2]|0)!=0?(k[(k[(k[h>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){k[h>>2]=k[(k[h>>2]|0)+12>>2];continue}k[n>>2]=k[(k[h>>2]|0)+16>>2];a:do if((k[(k[h>>2]|0)+20>>2]|0)!=0?(k[(k[h>>2]|0)+4>>2]&2048|0)==0:0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[h>>2]|0)+20>>2]>>2]|0))break a;b=k[e>>2]|0;if(k[(k[(k[(k[(k[h>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;k[e>>2]=b+1}k[n>>2]=k[(k[(k[(k[h>>2]|0)+20>>2]|0)+4>>2]|0)+(b*20|0)>>2]}while(0);k[h>>2]=k[n>>2]}if((p|0)==9){s=qy(k[c>>2]|0,i[(k[d>>2]|0)+66>>0]|0,0,k[(k[h>>2]|0)+8>>2]|0)|0;k[m>>2]=s}else if((p|0)==12?(k[f>>2]=j[(k[h>>2]|0)+32>>1],(k[f>>2]|0)>=0):0){k[o>>2]=k[(k[(k[(k[h>>2]|0)+44>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2];s=ak(k[d>>2]|0,i[(k[d>>2]|0)+66>>0]|0,k[o>>2]|0,0)|0;k[m>>2]=s}if(!(ry(k[c>>2]|0,k[m>>2]|0)|0)){s=k[m>>2]|0;r=q;return s|0}k[m>>2]=0;s=k[m>>2]|0;r=q;return s|0}function qy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+32|0;m=n;e=n+20|0;f=n+24|0;o=n+16|0;g=n+12|0;j=n+8|0;h=n+4|0;k[e>>2]=a;i[f>>0]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=k[k[e>>2]>>2];k[j>>2]=k[o>>2];if(!(k[j>>2]|0)){o=ak(k[h>>2]|0,i[f>>0]|0,k[g>>2]|0,0)|0;k[j>>2]=o}if(!((k[j>>2]|0)!=0?(k[(k[j>>2]|0)+12>>2]|0)!=0:0)){sy(k[h>>2]|0,l[f>>0]|0,k[g>>2]|0);o=ak(k[h>>2]|0,i[f>>0]|0,k[g>>2]|0,0)|0;k[j>>2]=o}if(((k[j>>2]|0)!=0?(k[(k[j>>2]|0)+12>>2]|0)==0:0)?(ty(k[h>>2]|0,k[j>>2]|0)|0)!=0:0)k[j>>2]=0;if(k[j>>2]|0){o=k[j>>2]|0;r=n;return o|0}o=k[e>>2]|0;k[m>>2]=k[g>>2];Oh(o,29013,m);o=k[j>>2]|0;r=n;return o|0}function ry(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)!=0?(k[h>>2]=k[k[e>>2]>>2],k[f>>2]=k[k[d>>2]>>2],h=qy(k[d>>2]|0,i[(k[f>>2]|0)+66>>0]|0,k[e>>2]|0,k[h>>2]|0)|0,k[g>>2]=h,(k[g>>2]|0)==0):0){k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}function sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;h=m+8|0;j=m+4|0;g=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do if(k[(k[d>>2]|0)+232>>2]|0){c=Ah(k[d>>2]|0,k[f>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){ic[k[(k[d>>2]|0)+232>>2]&255](k[(k[d>>2]|0)+240>>2]|0,k[d>>2]|0,k[e>>2]|0,k[h>>2]|0);bg(k[d>>2]|0,k[h>>2]|0);break}else{r=m;return}}while(0);if(!(k[(k[d>>2]|0)+236>>2]|0)){r=m;return}c=hi(k[d>>2]|0)|0;k[g>>2]=c;ii(k[g>>2]|0,-1,k[f>>2]|0,1,0);c=hh(k[g>>2]|0,((i[968]|0)==0?3:2)&255)|0;k[j>>2]=c;if(k[j>>2]|0)ic[k[(k[d>>2]|0)+236>>2]&255](k[(k[d>>2]|0)+240>>2]|0,k[d>>2]|0,l[(k[d>>2]|0)+66>>0]|0,k[j>>2]|0);mh(k[g>>2]|0);r=m;return}function ty(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;f=j+20|0;c=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;d=j;k[c>>2]=a;k[g>>2]=b;k[e>>2]=k[k[g>>2]>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=3){c=6;break}b=ak(k[c>>2]|0,i[29044+(k[d>>2]|0)>>0]|0,k[e>>2]|0,0)|0;k[h>>2]=b;if(k[(k[h>>2]|0)+12>>2]|0){c=4;break}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==4){e=k[g>>2]|0;h=k[h>>2]|0;k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];k[e+12>>2]=k[h+12>>2];k[e+16>>2]=k[h+16>>2];k[(k[g>>2]|0)+16>>2]=0;k[f>>2]=0;h=k[f>>2]|0;r=j;return h|0}else if((c|0)==6){k[f>>2]=1;h=k[f>>2]|0;r=j;return h|0}return 0}function uy(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;c=d;k[c>>2]=a;while(1){if(k[c>>2]|0)a=(k[(k[c>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=k[c>>2]|0;if(!a)break;a=k[c>>2]|0;if(k[b+4>>2]&262144){k[c>>2]=k[k[(k[a+20>>2]|0)+4>>2]>>2];continue}else{k[c>>2]=k[a+12>>2];continue}}r=d;return b|0}function vy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)<0){a=68;a=a&255;r=e;return a|0}a=i[(k[(k[c>>2]|0)+4>>2]|0)+(k[d>>2]<<4)+13>>0]|0;a=a&255;r=e;return a|0}function wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=h;return}k[g>>2]=k[k[d>>2]>>2];if(i[(k[g>>2]|0)+69>>0]|0){r=h;return}if(k[(k[e>>2]|0)+8>>2]&128){r=h;return}xy(k[d>>2]|0,k[e>>2]|0);if(k[(k[d>>2]|0)+36>>2]|0){r=h;return}if(l[(k[g>>2]|0)+69>>0]|0){r=h;return}yy(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);if(k[(k[d>>2]|0)+36>>2]|0){r=h;return}if(l[(k[g>>2]|0)+69>>0]|0){r=h;return}zy(k[d>>2]|0,k[e>>2]|0);r=h;return}function xy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+48|0;f=e+32|0;c=e+28|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[d+4>>2]=190;k[d>>2]=k[f>>2];if(i[(k[f>>2]|0)+22>>0]|0){k[d+8>>2]=191;Cy(d,k[c>>2]|0)|0}k[d+8>>2]=192;if(k[(k[c>>2]|0)+8>>2]&1024){f=k[c>>2]|0;Cy(d,f)|0;r=e;return}k[d+12>>2]=132;f=k[c>>2]|0;Cy(d,f)|0;r=e;return}function yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+48|0;h=d+36|0;e=d+32|0;g=d+28|0;f=d;k[h>>2]=a;k[e>>2]=b;k[g>>2]=c;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+4>>2]=193;k[f+8>>2]=194;k[f>>2]=k[h>>2];k[f+24>>2]=k[g>>2];Cy(f,k[e>>2]|0)|0;r=d;return}function zy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+48|0;f=c+32|0;d=c+28|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+12>>2]=133;k[e+4>>2]=190;k[e>>2]=k[f>>2];Cy(e,k[d>>2]|0)|0;r=c;return}function Ay(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=r;r=r+32|0;m=i+28|0;j=i+24|0;e=i+20|0;c=i+16|0;h=i+12|0;d=i+8|0;g=i+4|0;f=i;k[m>>2]=a;k[j>>2]=b;a=(k[j>>2]|0)+8|0;k[a>>2]=k[a>>2]|128;k[e>>2]=k[k[m>>2]>>2];k[h>>2]=k[(k[j>>2]|0)+28>>2];k[c>>2]=0;k[d>>2]=(k[h>>2]|0)+8;while(1){if((k[c>>2]|0)>=(k[k[h>>2]>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+16>>2];if(((l[(k[g>>2]|0)+42>>0]|0)&2|0)!=0?(k[f>>2]=k[(k[d>>2]|0)+20>>2],(k[f>>2]|0)!=0):0){while(1){if(!(k[(k[f>>2]|0)+48>>2]|0))break;k[f>>2]=k[(k[f>>2]|0)+48>>2]}my(k[e>>2]|0,k[g>>2]|0,k[f>>2]|0)}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+72}r=i;return}function By(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function Cy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;do if(k[c>>2]|0){if((k[(k[e>>2]|0)+8>>2]|0)==0?(k[(k[e>>2]|0)+12>>2]|0)==0:0)break;k[f>>2]=0;a=(k[e>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+1;while(1){if(!(k[c>>2]|0)){c=15;break}if((k[(k[e>>2]|0)+8>>2]|0)!=0?(a=gc[k[(k[e>>2]|0)+8>>2]&255](k[e>>2]|0,k[c>>2]|0)|0,k[f>>2]=a,(k[f>>2]|0)!=0):0){c=15;break}if(Dy(k[e>>2]|0,k[c>>2]|0)|0){c=11;break}if(Ey(k[e>>2]|0,k[c>>2]|0)|0){c=11;break}if(k[(k[e>>2]|0)+12>>2]|0)$b[k[(k[e>>2]|0)+12>>2]&255](k[e>>2]|0,k[c>>2]|0);k[c>>2]=k[(k[c>>2]|0)+48>>2]}if((c|0)==11){f=(k[e>>2]|0)+16|0;k[f>>2]=(k[f>>2]|0)+-1;k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==15){e=(k[e>>2]|0)+16|0;k[e>>2]=(k[e>>2]|0)+-1;k[d>>2]=k[f>>2]&2;f=k[d>>2]|0;r=g;return f|0}}while(0);k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function Dy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;do if(!(Fy(k[d>>2]|0,k[k[e>>2]>>2]|0)|0)){if(Gy(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0)|0){k[c>>2]=2;break}if(Fy(k[d>>2]|0,k[(k[e>>2]|0)+36>>2]|0)|0){k[c>>2]=2;break}if(Gy(k[d>>2]|0,k[(k[e>>2]|0)+40>>2]|0)|0){k[c>>2]=2;break}if(Fy(k[d>>2]|0,k[(k[e>>2]|0)+44>>2]|0)|0){k[c>>2]=2;break}if(Gy(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0)|0){k[c>>2]=2;break}if(Gy(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0)|0){k[c>>2]=2;break}else{k[c>>2]=0;break}}else k[c>>2]=2;while(0);r=f;return k[c>>2]|0}function Ey(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;g=h+20|0;c=h+16|0;i=h+12|0;f=h+8|0;d=h+4|0;e=h;k[c>>2]=a;k[i>>2]=b;k[f>>2]=k[(k[i>>2]|0)+28>>2];a:do if(k[f>>2]|0){k[d>>2]=k[k[f>>2]>>2];k[e>>2]=(k[f>>2]|0)+8;while(1){if((k[d>>2]|0)<=0)break a;if(Cy(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0){c=5;break}if(((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(Fy(k[c>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0)!=0:0){c=8;break}k[d>>2]=(k[d>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+72}if((c|0)==5){k[g>>2]=2;i=k[g>>2]|0;r=h;return i|0}else if((c|0)==8){k[g>>2]=2;i=k[g>>2]|0;r=h;return i|0}}while(0);k[g>>2]=0;i=k[g>>2]|0;r=h;return i|0}function Fy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;a:do if(k[e>>2]|0){k[f>>2]=k[k[e>>2]>>2];k[g>>2]=k[(k[e>>2]|0)+4>>2];while(1){if((k[f>>2]|0)<=0)break a;if(Gy(k[d>>2]|0,k[k[g>>2]>>2]|0)|0)break;k[f>>2]=(k[f>>2]|0)+-1;k[g>>2]=(k[g>>2]|0)+20}k[c>>2]=2;a=k[c>>2]|0;r=h;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=h;return a|0}function Gy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){a=0;r=e;return a|0}a=Hy(k[c>>2]|0,k[d>>2]|0)|0;r=e;return a|0}function Hy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a=gc[k[(k[d>>2]|0)+4>>2]&255](k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=a;if((k[f>>2]|0)==0?(k[(k[e>>2]|0)+4>>2]&8404992|0)==0:0){if((k[(k[e>>2]|0)+12>>2]|0)!=0?(Hy(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0)!=0:0){k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}if((k[(k[e>>2]|0)+16>>2]|0)!=0?(Hy(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0)!=0:0){k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}if(k[(k[e>>2]|0)+4>>2]&2048){if(Cy(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0){k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}}else if((k[(k[e>>2]|0)+20>>2]|0)!=0?(Fy(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0)!=0:0){k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}k[c>>2]=k[f>>2]&2;f=k[c>>2]|0;r=g;return f|0}function Iy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=r;r=r+144|0;g=M+40|0;F=M+32|0;H=M+24|0;G=M+16|0;E=M+8|0;D=M;L=M+128|0;p=M+124|0;q=M+120|0;A=M+116|0;C=M+112|0;h=M+108|0;o=M+104|0;n=M+100|0;f=M+96|0;z=M+92|0;v=M+88|0;x=M+84|0;I=M+80|0;u=M+76|0;w=M+72|0;J=M+68|0;y=M+64|0;t=M+132|0;s=M+60|0;B=M+56|0;d=M+52|0;c=M+48|0;e=M+44|0;k[p>>2]=a;k[q>>2]=b;k[A>>2]=k[(k[p>>2]|0)+24>>2];k[C>>2]=k[k[A>>2]>>2];if(k[(k[q>>2]|0)+4>>2]&4){k[L>>2]=1;L=k[L>>2]|0;r=M;return L|0}a=(k[q>>2]|0)+4|0;k[a>>2]=k[a>>2]|4;switch(l[k[q>>2]>>0]|0){case 55:{K=iz(k[C>>2]|0,0,0,k[(k[q>>2]|0)+8>>2]|0,k[A>>2]|0,k[q>>2]|0)|0;k[L>>2]=K;L=k[L>>2]|0;r=M;return L|0}case 122:{jz(k[C>>2]|0,k[A>>2]|0,29561,32);k[f>>2]=k[(k[q>>2]|0)+16>>2];if((l[k[f>>2]>>0]|0)==55){k[n>>2]=0;k[o>>2]=k[(k[(k[q>>2]|0)+12>>2]|0)+8>>2];k[h>>2]=k[(k[f>>2]|0)+8>>2]}else{k[n>>2]=k[(k[(k[q>>2]|0)+12>>2]|0)+8>>2];k[o>>2]=k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2];k[h>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+8>>2]}K=iz(k[C>>2]|0,k[n>>2]|0,k[o>>2]|0,k[h>>2]|0,k[A>>2]|0,k[q>>2]|0)|0;k[L>>2]=K;L=k[L>>2]|0;r=M;return L|0}case 151:{k[z>>2]=k[(k[q>>2]|0)+20>>2];if(k[z>>2]|0)c=k[k[z>>2]>>2]|0;else c=0;k[v>>2]=c;k[x>>2]=0;k[I>>2]=0;k[u>>2]=0;i[t>>0]=i[(k[k[C>>2]>>2]|0)+66>>0]|0;k[J>>2]=k[(k[q>>2]|0)+8>>2];o=Tf(k[J>>2]|0)|0;k[w>>2]=o;o=ui(k[k[C>>2]>>2]|0,k[J>>2]|0,k[v>>2]|0,i[t>>0]|0,0)|0;k[y>>2]=o;do if(!(k[y>>2]|0)){E=ui(k[k[C>>2]>>2]|0,k[J>>2]|0,-2,i[t>>0]|0,0)|0;k[y>>2]=E;if(!(k[y>>2]|0)){k[x>>2]=1;break}else{k[I>>2]=1;break}}else{k[u>>2]=(k[(k[y>>2]|0)+16>>2]|0)!=0&1;do if(m[(k[y>>2]|0)+2>>1]&1024){t=(k[q>>2]|0)+4|0;k[t>>2]=k[t>>2]|266240;if((k[v>>2]|0)!=2){k[(k[q>>2]|0)+28>>2]=(i[k[(k[y>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}v=kz(k[(k[(k[z>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[(k[q>>2]|0)+28>>2]=v;if((k[(k[q>>2]|0)+28>>2]|0)<0){Oh(k[C>>2]|0,29578,D);D=(k[A>>2]|0)+24|0;k[D>>2]=(k[D>>2]|0)+1}}while(0);D=kx(k[C>>2]|0,31,0,k[(k[y>>2]|0)+20>>2]|0,0)|0;k[s>>2]=D;if(k[s>>2]|0){if((k[s>>2]|0)==1){K=k[C>>2]|0;k[E>>2]=k[(k[y>>2]|0)+20>>2];Oh(K,29649,E);K=(k[A>>2]|0)+24|0;k[K>>2]=(k[K>>2]|0)+1}i[k[q>>2]>>0]=101;k[L>>2]=1;L=k[L>>2]|0;r=M;return L|0}else{if(m[(k[y>>2]|0)+2>>1]&10240){E=(k[q>>2]|0)+4|0;k[E>>2]=k[E>>2]|524288}if(m[(k[y>>2]|0)+2>>1]&2048)break;jz(k[C>>2]|0,k[A>>2]|0,29684,34);break}}while(0);if((k[u>>2]|0)!=0?(m[(k[A>>2]|0)+28>>1]&1|0)==0:0){I=k[C>>2]|0;J=k[J>>2]|0;k[G>>2]=k[w>>2];k[G+4>>2]=J;Oh(I,29712,G);J=(k[A>>2]|0)+24|0;k[J>>2]=(k[J>>2]|0)+1;k[u>>2]=0}else K=31;do if((K|0)==31){if((k[x>>2]|0)!=0?(l[(k[k[C>>2]>>2]|0)+148+5>>0]|0)==0:0){K=k[C>>2]|0;J=k[J>>2]|0;k[H>>2]=k[w>>2];k[H+4>>2]=J;Oh(K,29748,H);K=(k[A>>2]|0)+24|0;k[K>>2]=(k[K>>2]|0)+1;break}if(k[I>>2]|0){K=k[C>>2]|0;J=k[J>>2]|0;k[F>>2]=k[w>>2];k[F+4>>2]=J;Oh(K,29771,F);K=(k[A>>2]|0)+24|0;k[K>>2]=(k[K>>2]|0)+1}}while(0);if(k[u>>2]|0){K=(k[A>>2]|0)+28|0;j[K>>1]=m[K>>1]&-2}Fy(k[p>>2]|0,k[z>>2]|0)|0;if(k[u>>2]|0){k[B>>2]=k[A>>2];i[k[q>>2]>>0]=-103;i[(k[q>>2]|0)+38>>0]=0;while(1){if(!(k[B>>2]|0))break;if(!((lz(k[q>>2]|0,k[(k[B>>2]|0)+4>>2]|0)|0)!=0^1))break;K=(k[q>>2]|0)+38|0;i[K>>0]=(i[K>>0]|0)+1<<24>>24;k[B>>2]=k[(k[B>>2]|0)+16>>2]}if(k[B>>2]|0){K=(k[B>>2]|0)+28|0;j[K>>1]=m[K>>1]|(16|m[(k[y>>2]|0)+2>>1]&4096)}K=(k[A>>2]|0)+28|0;j[K>>1]=m[K>>1]|1}k[L>>2]=1;L=k[L>>2]|0;r=M;return L|0}case 33:case 20:case 119:{if((k[(k[q>>2]|0)+4>>2]&2048|0)!=0?(k[d>>2]=k[(k[A>>2]|0)+20>>2],jz(k[C>>2]|0,k[A>>2]|0,29816,38),Cy(k[p>>2]|0,k[(k[q>>2]|0)+20>>2]|0)|0,(k[d>>2]|0)!=(k[(k[A>>2]|0)+20>>2]|0)):0){K=(k[q>>2]|0)+4|0;k[K>>2]=k[K>>2]|32;K=(k[A>>2]|0)+28|0;j[K>>1]=m[K>>1]|64}break}case 135:{jz(k[C>>2]|0,k[A>>2]|0,29827,38);break}case 148:case 29:case 41:case 38:case 39:case 40:case 36:case 37:{if((i[(k[k[C>>2]>>2]|0)+69>>0]|0)==0?(K=mz(k[(k[q>>2]|0)+12>>2]|0)|0,k[c>>2]=K,K=mz(k[(k[q>>2]|0)+16>>2]|0)|0,k[e>>2]=K,(k[c>>2]|0)!=(k[e>>2]|0)):0)Oh(k[C>>2]|0,29838,g);break}default:{}}if(k[(k[C>>2]|0)+36>>2]|0)c=1;else c=(l[(k[k[C>>2]>>2]|0)+69>>0]|0)!=0;k[L>>2]=c?2:0;L=k[L>>2]|0;r=M;return L|0}function Jy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+128|0;C=E+8|0;B=E;D=E+116|0;c=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;f=E+64|0;A=E+60|0;e=E+56|0;h=E+52|0;z=E+48|0;d=E+44|0;t=E+40|0;n=E+36|0;q=E+32|0;g=E+28|0;w=E+24|0;o=E+20|0;u=E+16|0;p=E+12|0;k[c>>2]=a;k[x>>2]=b;if(k[(k[x>>2]|0)+8>>2]&4){k[D>>2]=1;D=k[D>>2]|0;r=E;return D|0}k[s>>2]=k[(k[c>>2]|0)+24>>2];k[A>>2]=k[k[c>>2]>>2];k[d>>2]=k[k[A>>2]>>2];if(!(k[(k[x>>2]|0)+8>>2]&64)){wy(k[A>>2]|0,k[x>>2]|0,k[s>>2]|0);if(k[(k[A>>2]|0)+36>>2]|0)c=1;else c=(l[(k[d>>2]|0)+69>>0]|0)!=0;k[D>>2]=c?2:1;D=k[D>>2]|0;r=E;return D|0}k[y>>2]=(k[(k[x>>2]|0)+48>>2]|0)!=0&1;k[f>>2]=0;k[z>>2]=k[x>>2];a:while(1){if(!(k[x>>2]|0)){c=68;break}a=(k[x>>2]|0)+8|0;k[a>>2]=k[a>>2]|4;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[v+24>>2]=0;k[v+28>>2]=0;k[v>>2]=k[A>>2];if(Ky(v,k[(k[x>>2]|0)+56>>2]|0)|0){c=11;break}if(Ky(v,k[(k[x>>2]|0)+60>>2]|0)|0){c=11;break}if(k[(k[x>>2]|0)+8>>2]&65536){k[t>>2]=k[(k[(k[x>>2]|0)+28>>2]|0)+8+20>>2];k[(k[t>>2]|0)+44>>2]=k[(k[x>>2]|0)+44>>2];k[(k[x>>2]|0)+44>>2]=0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[x>>2]|0)+28>>2]>>2]|0))break;k[n>>2]=(k[(k[x>>2]|0)+28>>2]|0)+8+((k[e>>2]|0)*72|0);if(k[(k[n>>2]|0)+20>>2]|0){k[g>>2]=0;k[w>>2]=k[(k[A>>2]|0)+448>>2];k[q>>2]=k[s>>2];while(1){if(!(k[q>>2]|0))break;k[g>>2]=(k[g>>2]|0)+(k[(k[q>>2]|0)+20>>2]|0);k[q>>2]=k[(k[q>>2]|0)+16>>2]}if(k[(k[n>>2]|0)+8>>2]|0)k[(k[A>>2]|0)+448>>2]=k[(k[n>>2]|0)+8>>2];yy(k[A>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[s>>2]|0);k[(k[A>>2]|0)+448>>2]=k[w>>2];if(k[(k[A>>2]|0)+36>>2]|0){c=24;break a}if(l[(k[d>>2]|0)+69>>0]|0){c=24;break a}k[q>>2]=k[s>>2];while(1){if(!(k[q>>2]|0))break;k[g>>2]=(k[g>>2]|0)-(k[(k[q>>2]|0)+20>>2]|0);k[q>>2]=k[(k[q>>2]|0)+16>>2]}a=(k[n>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-9|((k[g>>2]|0)!=0&1)<<3&255}k[e>>2]=(k[e>>2]|0)+1}j[v+28>>1]=1;k[v+4>>2]=k[(k[x>>2]|0)+28>>2];k[v+16>>2]=k[s>>2];if(Ly(v,k[k[x>>2]>>2]|0)|0){c=31;break}k[h>>2]=k[(k[x>>2]|0)+36>>2];if((k[h>>2]|0)==0?(m[v+28>>1]&16|0)==0:0){a=v+28|0;j[a>>1]=m[a>>1]&-2}else{a=(k[x>>2]|0)+8|0;k[a>>2]=k[a>>2]|(8|m[v+28>>1]&4096)}if(!((k[h>>2]|0)!=0?1:(k[(k[x>>2]|0)+40>>2]|0)==0)){c=37;break}k[v+8>>2]=k[k[x>>2]>>2];if(Ky(v,k[(k[x>>2]|0)+40>>2]|0)|0){c=39;break}if(Ky(v,k[(k[x>>2]|0)+32>>2]|0)|0){c=41;break}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[x>>2]|0)+28>>2]>>2]|0))break;k[o>>2]=(k[(k[x>>2]|0)+28>>2]|0)+8+((k[e>>2]|0)*72|0);if(((l[(k[o>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(Ly(v,k[(k[o>>2]|0)+64>>2]|0)|0)!=0:0){c=46;break a}k[e>>2]=(k[e>>2]|0)+1}k[v+16>>2]=0;a=v+28|0;j[a>>1]=m[a>>1]|1;if(k[(k[x>>2]|0)+8>>2]&65536){k[u>>2]=k[(k[(k[x>>2]|0)+28>>2]|0)+8+20>>2];k[(k[x>>2]|0)+44>>2]=k[(k[u>>2]|0)+44>>2];k[(k[u>>2]|0)+44>>2]=0}if((k[y>>2]|0)<=(k[f>>2]|0)?(My(v,k[x>>2]|0,k[(k[x>>2]|0)+44>>2]|0,29099)|0)!=0:0){c=52;break}if(i[(k[d>>2]|0)+69>>0]|0){c=54;break}b:do if(k[h>>2]|0){if(My(v,k[x>>2]|0,k[h>>2]|0,29105)|0){c=58;break a}if(l[(k[d>>2]|0)+69>>0]|0){c=58;break a}k[e>>2]=0;k[p>>2]=k[(k[h>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[k[h>>2]>>2]|0))break b;if(k[(k[k[p>>2]>>2]|0)+4>>2]&2){c=62;break a}k[e>>2]=(k[e>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}}while(0);if((k[(k[x>>2]|0)+52>>2]|0)!=0?(k[k[k[x>>2]>>2]>>2]|0)!=(k[k[k[(k[x>>2]|0)+52>>2]>>2]>>2]|0):0){c=66;break}k[x>>2]=k[(k[x>>2]|0)+48>>2];k[f>>2]=(k[f>>2]|0)+1}switch(c|0){case 11:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 24:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 31:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 37:{Oh(k[A>>2]|0,29055,B);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 39:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 41:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 46:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 52:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 54:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 58:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 62:{Oh(k[A>>2]|0,29111,C);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 66:{Ny(k[A>>2]|0,k[(k[x>>2]|0)+52>>2]|0);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 68:{if((k[y>>2]|0)!=0?(Oy(k[A>>2]|0,k[z>>2]|0)|0)!=0:0){k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}k[D>>2]=1;D=k[D>>2]|0;r=E;return D|0}}return 0}function Ky(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+48|0;c=l+40|0;d=l+36|0;e=l+32|0;g=l+44|0;h=l+4|0;f=l;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}k[f>>2]=k[k[d>>2]>>2];if(hz(k[f>>2]|0,(k[(k[e>>2]|0)+24>>2]|0)+(k[(k[k[d>>2]>>2]|0)+416>>2]|0)|0)|0){k[c>>2]=1;h=k[c>>2]|0;r=l;return h|0}f=(k[f>>2]|0)+416|0;k[f>>2]=(k[f>>2]|0)+(k[(k[e>>2]|0)+24>>2]|0);j[g>>1]=(m[(k[d>>2]|0)+28>>1]|0)&4112;f=(k[d>>2]|0)+28|0;j[f>>1]=(m[f>>1]|0)&-4113;k[h>>2]=k[k[d>>2]>>2];k[h+4>>2]=193;k[h+8>>2]=194;k[h+12>>2]=0;k[h+16>>2]=0;i[h+20>>0]=0;k[h+24>>2]=k[d>>2];Gy(h,k[e>>2]|0)|0;f=(k[k[d>>2]>>2]|0)+416|0;k[f>>2]=(k[f>>2]|0)-(k[(k[e>>2]|0)+24>>2]|0);if(!((k[(k[d>>2]|0)+24>>2]|0)<=0?(k[(k[h>>2]|0)+36>>2]|0)<=0:0)){h=(k[e>>2]|0)+4|0;k[h>>2]=k[h>>2]|8}if((m[(k[d>>2]|0)+28>>1]|0)&16){h=(k[e>>2]|0)+4|0;k[h>>2]=k[h>>2]|2}h=(k[d>>2]|0)+28|0;j[h>>1]=m[h>>1]|0|(m[g>>1]|0);k[c>>2]=(k[(k[e>>2]|0)+4>>2]&8|0)!=0&1;h=k[c>>2]|0;r=l;return h|0}function Ly(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a:do if(k[e>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[e>>2]>>2]|0))break a;if(Ky(k[d>>2]|0,k[(k[(k[e>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0)break;k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=2;a=k[c>>2]|0;r=g;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}function My(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;e=w+48|0;f=w+44|0;g=w+40|0;h=w+36|0;l=w+32|0;m=w+28|0;o=w+24|0;n=w+20|0;t=w+16|0;u=w+12|0;p=w+8|0;q=w+4|0;s=w;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;if(!(k[h>>2]|0)){k[e>>2]=0;v=k[e>>2]|0;r=w;return v|0}k[p>>2]=k[k[k[g>>2]>>2]>>2];k[u>>2]=k[k[f>>2]>>2];k[m>>2]=0;k[t>>2]=k[(k[h>>2]|0)+4>>2];a:while(1){if((k[m>>2]|0)>=(k[k[h>>2]>>2]|0)){v=20;break}k[q>>2]=k[k[t>>2]>>2];d=uy(k[q>>2]|0)|0;k[s>>2]=d;if((i[k[l>>2]>>0]|0)!=71?(d=Ry(k[u>>2]|0,k[k[g>>2]>>2]|0,k[s>>2]|0)|0,k[n>>2]=d,(k[n>>2]|0)>0):0)j[(k[t>>2]|0)+16>>1]=k[n>>2];else v=8;b:do if((v|0)==8){v=0;if(Py(k[s>>2]|0,n)|0){if((k[n>>2]|0)<1|(k[n>>2]|0)>65535){v=10;break a}j[(k[t>>2]|0)+16>>1]=k[n>>2];break}j[(k[t>>2]|0)+16>>1]=0;if(Ky(k[f>>2]|0,k[q>>2]|0)|0){v=13;break a}k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[k[g>>2]>>2]>>2]|0))break b;if(!(Uy(k[q>>2]|0,k[(k[(k[k[g>>2]>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2]|0,-1)|0))j[(k[t>>2]|0)+16>>1]=(k[o>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[m>>2]=(k[m>>2]|0)+1;k[t>>2]=(k[t>>2]|0)+20}if((v|0)==10){Qy(k[u>>2]|0,k[l>>2]|0,(k[m>>2]|0)+1|0,k[p>>2]|0);k[e>>2]=1;v=k[e>>2]|0;r=w;return v|0}else if((v|0)==13){k[e>>2]=1;v=k[e>>2]|0;r=w;return v|0}else if((v|0)==20){v=bz(k[u>>2]|0,k[g>>2]|0,k[h>>2]|0,k[l>>2]|0)|0;k[e>>2]=v;v=k[e>>2]|0;r=w;return v|0}return 0}function Ny(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+32|0;d=e+8|0;f=e+16|0;c=e+12|0;k[f>>2]=a;k[c>>2]=b;b=k[f>>2]|0;if(k[(k[c>>2]|0)+8>>2]&512){Oh(b,29321,e);r=e;return}else{f=az(l[(k[c>>2]|0)+4>>0]|0)|0;k[d>>2]=f;Oh(b,29367,d);r=e;return}}function Oy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;v=w+8|0;p=w+64|0;q=w+60|0;c=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;d=w+40|0;f=w+36|0;m=w+32|0;e=w+28|0;h=w+24|0;g=w+20|0;n=w+16|0;o=w+12|0;k[q>>2]=a;k[c>>2]=b;k[f>>2]=1;k[u>>2]=k[(k[c>>2]|0)+44>>2];if(!(k[u>>2]|0)){k[p>>2]=0;v=k[p>>2]|0;r=w;return v|0}k[d>>2]=k[k[q>>2]>>2];if((k[k[u>>2]>>2]|0)>(k[(k[d>>2]|0)+96+8>>2]|0)){Oh(k[q>>2]|0,29170,w);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0))break;b=(k[(k[u>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+13|0;i[b>>0]=i[b>>0]&-2;k[s>>2]=(k[s>>2]|0)+1}k[(k[c>>2]|0)+52>>2]=0;while(1){if(!(k[(k[c>>2]|0)+48>>2]|0))break;k[(k[(k[c>>2]|0)+48>>2]|0)+52>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+48>>2]}a:while(1){if(!((k[c>>2]|0)!=0?(k[f>>2]|0)!=0:0)){c=36;break}k[f>>2]=0;k[t>>2]=k[k[c>>2]>>2];k[s>>2]=0;k[m>>2]=k[(k[u>>2]|0)+4>>2];while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0))break;k[e>>2]=-1;do if(!(i[(k[m>>2]|0)+13>>0]&1)){b=uy(k[k[m>>2]>>2]|0)|0;k[h>>2]=b;if(Py(k[h>>2]|0,e)|0){if((k[e>>2]|0)<=0){c=18;break a}if((k[e>>2]|0)>(k[k[t>>2]>>2]|0)){c=18;break a}}else{b=Ry(k[q>>2]|0,k[t>>2]|0,k[h>>2]|0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){b=Sy(k[d>>2]|0,k[h>>2]|0,0)|0;k[g>>2]=b;if(!(i[(k[d>>2]|0)+69>>0]|0)){b=Ty(k[q>>2]|0,k[c>>2]|0,k[g>>2]|0)|0;k[e>>2]=b}sv(k[d>>2]|0,k[g>>2]|0)}}if((k[e>>2]|0)<=0){k[f>>2]=1;break}b=ew(k[d>>2]|0,134,0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){c=25;break a}b=(k[n>>2]|0)+4|0;k[b>>2]=k[b>>2]|1024;k[(k[n>>2]|0)+8>>2]=k[e>>2];if((k[k[m>>2]>>2]|0)==(k[h>>2]|0))k[k[m>>2]>>2]=k[n>>2];else{k[o>>2]=k[k[m>>2]>>2];while(1){if((l[k[(k[o>>2]|0)+12>>2]>>0]|0)!=53)break;k[o>>2]=k[(k[o>>2]|0)+12>>2]}k[(k[o>>2]|0)+12>>2]=k[n>>2]}sv(k[d>>2]|0,k[h>>2]|0);j[(k[m>>2]|0)+16>>1]=k[e>>2];b=(k[m>>2]|0)+13|0;i[b>>0]=i[b>>0]&-2|1}while(0);k[s>>2]=(k[s>>2]|0)+1;k[m>>2]=(k[m>>2]|0)+20}k[c>>2]=k[(k[c>>2]|0)+52>>2]}if((c|0)==18){Qy(k[q>>2]|0,29099,(k[s>>2]|0)+1|0,k[k[t>>2]>>2]|0);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==25){k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==36){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0)){c=41;break}if(!(i[(k[(k[u>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+13>>0]&1)){c=39;break}k[s>>2]=(k[s>>2]|0)+1}if((c|0)==39){u=k[q>>2]|0;k[v>>2]=(k[s>>2]|0)+1;Oh(u,29204,v);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==41){k[p>>2]=0;v=k[p>>2]|0;r=w;return v|0}}return 0}function Py(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;a=k[d>>2]|0;if(k[(k[d>>2]|0)+4>>2]&1024){k[k[e>>2]>>2]=k[a+8>>2];k[c>>2]=1;g=k[c>>2]|0;r=h;return g|0}switch(l[a>>0]|0|0){case 156:{g=Py(k[(k[d>>2]|0)+12>>2]|0,k[e>>2]|0)|0;k[f>>2]=g;break}case 155:{if(Py(k[(k[d>>2]|0)+12>>2]|0,g)|0){k[k[e>>2]>>2]=0-(k[g>>2]|0);k[f>>2]=1}break}default:{}}k[c>>2]=k[f>>2];g=k[c>>2]|0;r=h;return g|0}function Qy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+32|0;f=e;j=e+24|0;i=e+20|0;g=e+16|0;h=e+12|0;k[j>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=d;b=k[j>>2]|0;d=k[i>>2]|0;a=k[h>>2]|0;k[f>>2]=k[g>>2];k[f+4>>2]=d;k[f+8>>2]=a;Oh(b,29265,f);r=e;return}function Ry(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+24|0;e=j+16|0;f=j+12|0;g=j+8|0;i=j+4|0;h=j;k[j+20>>2]=a;k[e>>2]=b;k[f>>2]=c;a:do if((l[k[f>>2]>>0]|0|0)==55){k[i>>2]=k[(k[f>>2]|0)+8>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[e>>2]>>2]|0))break a;k[h>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+4>>2];if((k[h>>2]|0)!=0?(sg(k[h>>2]|0,k[i>>2]|0)|0)==0:0)break;k[g>>2]=(k[g>>2]|0)+1}k[d>>2]=(k[g>>2]|0)+1;i=k[d>>2]|0;r=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;r=j;return i|0}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){b=0;r=g;return b|0}b=Wy(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,0)|0;r=g;return b|0}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;h=r;r=r+80|0;g=h+60|0;p=h+56|0;q=h+52|0;d=h+48|0;e=h+44|0;f=h+40|0;o=h+8|0;m=h+4|0;l=h;n=h+64|0;k[p>>2]=a;k[q>>2]=b;k[d>>2]=c;k[f>>2]=k[k[q>>2]>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=k[p>>2];k[o+4>>2]=k[(k[q>>2]|0)+28>>2];k[o+8>>2]=k[f>>2];j[o+28>>1]=1;k[o+24>>2]=0;k[m>>2]=k[k[p>>2]>>2];i[n>>0]=i[(k[m>>2]|0)+73>>0]|0;i[(k[m>>2]|0)+73>>0]=1;b=Ky(o,k[d>>2]|0)|0;k[l>>2]=b;i[(k[m>>2]|0)+73>>0]=i[n>>0]|0;if(k[l>>2]|0){k[g>>2]=0;q=k[g>>2]|0;r=h;return q|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[f>>2]>>2]|0)){c=8;break}q=(Uy(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0,-1)|0)<2;a=(k[e>>2]|0)+1|0;if(q){c=6;break}k[e>>2]=a}if((c|0)==6){k[g>>2]=a;q=k[g>>2]|0;r=h;return q|0}else if((c|0)==8){k[g>>2]=0;q=k[g>>2]|0;r=h;return q|0}return 0}function Uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[e>>2]|0)==0|(k[f>>2]|0)==0){k[d>>2]=(k[f>>2]|0)==(k[e>>2]|0)?0:2;h=k[d>>2]|0;r=i;return h|0}k[h>>2]=k[(k[e>>2]|0)+4>>2]|k[(k[f>>2]|0)+4>>2];c=k[e>>2]|0;if(k[h>>2]&1024){if((k[c+4>>2]&k[(k[f>>2]|0)+4>>2]&1024|0)!=0?(k[(k[e>>2]|0)+8>>2]|0)==(k[(k[f>>2]|0)+8>>2]|0):0){k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}a=l[k[e>>2]>>0]|0;if((l[c>>0]|0)!=(l[k[f>>2]>>0]|0)){if((a|0)==53?(Uy(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)<2:0){k[d>>2]=1;h=k[d>>2]|0;r=i;return h|0}if((l[k[f>>2]>>0]|0)==53?(Uy(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)<2:0){k[d>>2]=1;h=k[d>>2]|0;r=i;return h|0}k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}do if(((a|0)!=152?(l[k[e>>2]>>0]|0)!=154:0)?(k[(k[e>>2]|0)+8>>2]|0)!=0:0){c=k[(k[e>>2]|0)+8>>2]|0;a=k[(k[f>>2]|0)+8>>2]|0;if((l[k[e>>2]>>0]|0)==151){if(!(sg(c,a)|0))break;k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}else{if(!(rR(c,a)|0))break;k[d>>2]=(l[k[e>>2]>>0]|0)==53?1:2;h=k[d>>2]|0;r=i;return h|0}}while(0);if((k[(k[e>>2]|0)+4>>2]&16|0)!=(k[(k[f>>2]|0)+4>>2]&16|0)){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}do if(!(k[h>>2]&16384)){if(k[h>>2]&2048){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(Uy(k[(k[e>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(Uy(k[(k[e>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(Vy(k[(k[e>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+20>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if((k[h>>2]&8192|0)==0?(l[k[e>>2]>>0]|0)!=97:0){if((j[(k[e>>2]|0)+32>>1]|0)!=(j[(k[f>>2]|0)+32>>1]|0)){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if((k[(k[e>>2]|0)+28>>2]|0)!=(k[(k[f>>2]|0)+28>>2]|0)){if((k[(k[e>>2]|0)+28>>2]|0)==(k[g>>2]|0)?(k[(k[f>>2]|0)+28>>2]|0)<0:0)break;k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}}}while(0);k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function Vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;j=m+24|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[d>>2]|0)==0&(k[e>>2]|0)==0){k[j>>2]=0;j=k[j>>2]|0;r=m;return j|0}if((k[d>>2]|0)==0|(k[e>>2]|0)==0){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}if((k[k[d>>2]>>2]|0)!=(k[k[e>>2]>>2]|0)){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[d>>2]>>2]|0)){d=14;break}k[h>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];k[i>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];if((l[(k[(k[d>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0|0)!=(l[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0|0)){d=10;break}if(Uy(k[h>>2]|0,k[i>>2]|0,k[f>>2]|0)|0){d=12;break}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==10){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}else if((d|0)==12){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}else if((d|0)==14){k[j>>2]=0;j=k[j>>2]|0;r=m;return j|0}return 0}function Wy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;n=t+44|0;o=t+40|0;m=t+36|0;p=t+32|0;q=t+28|0;s=t+24|0;i=t+20|0;g=t+16|0;e=t+12|0;h=t+8|0;f=t+4|0;j=t;k[n>>2]=a;k[o>>2]=b;k[m>>2]=c;k[p>>2]=d;if(k[p>>2]|0){k[s>>2]=k[k[p>>2]>>2];k[i>>2]=32768}else{b=k[n>>2]|0;d=Xy(k[o>>2]|0,k[m>>2]|0)|0;d=dx(b,d,((d|0)<0)<<31>>31)|0;k[s>>2]=d;k[i>>2]=0}k[q>>2]=k[s>>2];if(!(k[q>>2]|0)){s=k[q>>2]|0;r=t;return s|0}d=Yy(k[o>>2]|0,k[m>>2]|0)|0;k[g>>2]=d;k[e>>2]=k[g>>2]&4095;if((k[(k[o>>2]|0)+4>>2]&1024|0)==0?(k[(k[o>>2]|0)+8>>2]|0)!=0:0){d=(Tf(k[(k[o>>2]|0)+8>>2]|0)|0)+1|0;k[h>>2]=d}else k[h>>2]=0;if(!(k[m>>2]|0)){d=Zy(k[o>>2]|0)|0;k[f>>2]=d;bS(k[s>>2]|0,k[o>>2]|0,k[f>>2]|0)|0;if((k[f>>2]|0)>>>0<48)dS((k[s>>2]|0)+(k[f>>2]|0)|0,0,48-(k[f>>2]|0)|0)|0}else bS(k[s>>2]|0,k[o>>2]|0,k[e>>2]|0)|0;d=(k[q>>2]|0)+4|0;k[d>>2]=k[d>>2]&-122881;d=(k[q>>2]|0)+4|0;k[d>>2]=k[d>>2]|k[g>>2]&24576;d=(k[q>>2]|0)+4|0;k[d>>2]=k[d>>2]|k[i>>2];if(k[h>>2]|0){i=(k[s>>2]|0)+(k[e>>2]|0)|0;k[(k[q>>2]|0)+8>>2]=i;k[j>>2]=i;bS(k[j>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[h>>2]|0)|0}do if(!((k[(k[o>>2]|0)+4>>2]|k[(k[q>>2]|0)+4>>2])&8404992)){a=k[n>>2]|0;c=(k[o>>2]|0)+20|0;if(k[(k[o>>2]|0)+4>>2]&2048){j=iy(a,k[c>>2]|0,k[m>>2]|0)|0;k[(k[q>>2]|0)+20>>2]=j;break}else{j=_y(a,k[c>>2]|0,k[m>>2]|0)|0;k[(k[q>>2]|0)+20>>2]=j;break}}while(0);a=k[o>>2]|0;if(!(k[(k[q>>2]|0)+4>>2]&24576)){if(k[a+4>>2]&8404992){s=k[q>>2]|0;r=t;return s|0}if((l[k[q>>2]>>0]|0|0)==159)k[(k[q>>2]|0)+12>>2]=k[(k[o>>2]|0)+12>>2];else{s=Sy(k[n>>2]|0,k[(k[o>>2]|0)+12>>2]|0,0)|0;k[(k[q>>2]|0)+12>>2]=s}s=Sy(k[n>>2]|0,k[(k[o>>2]|0)+16>>2]|0,0)|0;k[(k[q>>2]|0)+16>>2]=s;s=k[q>>2]|0;r=t;return s|0}m=$y(a,k[m>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+m;if(!(k[(k[q>>2]|0)+4>>2]&8404992)){if(k[(k[o>>2]|0)+12>>2]|0)a=Wy(k[n>>2]|0,k[(k[o>>2]|0)+12>>2]|0,1,s)|0;else a=0;k[(k[q>>2]|0)+12>>2]=a;if(k[(k[o>>2]|0)+16>>2]|0)a=Wy(k[n>>2]|0,k[(k[o>>2]|0)+16>>2]|0,1,s)|0;else a=0;k[(k[q>>2]|0)+16>>2]=a}if(!(k[p>>2]|0)){s=k[q>>2]|0;r=t;return s|0}k[k[p>>2]>>2]=k[s>>2];s=k[q>>2]|0;r=t;return s|0}function Xy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[c>>2]|0)){a=k[e>>2]|0;r=f;return a|0}a=$y(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;if(!(k[d>>2]&1)){a=k[e>>2]|0;r=f;return a|0}a=Xy(k[(k[c>>2]|0)+12>>2]|0,k[d>>2]|0)|0;a=a+(Xy(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0)|0)|0;k[e>>2]=(k[e>>2]|0)+a;a=k[e>>2]|0;r=f;return a|0}function Yy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;do if(!(k[f>>2]|0))k[d>>2]=48;else{if((k[(k[c>>2]|0)+12>>2]|0)==0?(k[(k[c>>2]|0)+20>>2]|0)==0:0){k[d>>2]=16396;break}k[d>>2]=8220}while(0);r=e;return k[d>>2]|0}function Zy(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if(!(k[(k[c>>2]|0)+4>>2]&16384))if(k[(k[c>>2]|0)+4>>2]&8192){k[b>>2]=28;break}else{k[b>>2]=48;break}else k[b>>2]=12;while(0);r=d;return k[b>>2]|0}function _y(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;m=p+16|0;j=p+12|0;o=p+8|0;h=p+4|0;n=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}b=dx(k[e>>2]|0,8,0)|0;k[m>>2]=b;if(!(k[m>>2]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}b=k[k[f>>2]>>2]|0;k[h>>2]=b;k[k[m>>2]>>2]=b;a:do if(!(k[g>>2]&1)){k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break a;k[h>>2]=(k[h>>2]|0)+(k[h>>2]|0)}}while(0);b=dx(k[e>>2]|0,(k[h>>2]|0)*20|0,0)|0;k[j>>2]=b;k[(k[m>>2]|0)+4>>2]=b;if(!(k[j>>2]|0)){bg(k[e>>2]|0,k[m>>2]|0);k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}k[o>>2]=k[(k[f>>2]|0)+4>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[n>>2]=k[k[o>>2]>>2];b=Sy(k[e>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;k[k[j>>2]>>2]=b;b=Ah(k[e>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[j>>2]|0)+4>>2]=b;b=Ah(k[e>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[(k[j>>2]|0)+8>>2]=b;i[(k[j>>2]|0)+12>>0]=i[(k[o>>2]|0)+12>>0]|0;b=(k[j>>2]|0)+13|0;i[b>>0]=i[b>>0]&-2;b=(k[j>>2]|0)+13|0;i[b>>0]=i[b>>0]&-3|((l[(k[o>>2]|0)+13>>0]|0)>>>1&1)<<1&255;k[(k[j>>2]|0)+16>>2]=k[(k[o>>2]|0)+16>>2];k[h>>2]=(k[h>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+20;k[o>>2]=(k[o>>2]|0)+20}k[d>>2]=k[m>>2];o=k[d>>2]|0;r=p;return o|0}function $y(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=(Yy(k[c>>2]|0,k[f>>2]|0)|0)&4095;k[d>>2]=a;if((k[(k[c>>2]|0)+4>>2]&1024|0)==0?(k[(k[c>>2]|0)+8>>2]|0)!=0:0){f=(Tf(k[(k[c>>2]|0)+8>>2]|0)|0)+1|0;k[d>>2]=(k[d>>2]|0)+f}r=e;return (k[d>>2]|0)+7&-8|0}function az(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;switch(k[d>>2]|0){case 116:{k[b>>2]=29449;break}case 118:{k[b>>2]=29459;break}case 117:{k[b>>2]=29469;break}default:k[b>>2]=29476}r=c;return k[b>>2]|0}function bz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t;o=t+36|0;h=t+32|0;e=t+28|0;i=t+24|0;p=t+20|0;q=t+16|0;f=t+12|0;s=t+8|0;n=t+4|0;k[h>>2]=a;k[e>>2]=b;k[i>>2]=c;k[p>>2]=d;k[f>>2]=k[k[h>>2]>>2];if((k[i>>2]|0)!=0?(l[(k[k[h>>2]>>2]|0)+69>>0]|0)==0:0){if((k[k[i>>2]>>2]|0)>(k[(k[f>>2]|0)+96+8>>2]|0)){s=k[h>>2]|0;k[g>>2]=k[p>>2];Oh(s,29482,g);k[o>>2]=1;s=k[o>>2]|0;r=t;return s|0}k[s>>2]=k[k[e>>2]>>2];k[q>>2]=0;k[n>>2]=k[(k[i>>2]|0)+4>>2];while(1){if((k[q>>2]|0)>=(k[k[i>>2]>>2]|0)){e=13;break}if(j[(k[n>>2]|0)+16>>1]|0){f=k[h>>2]|0;if((m[(k[n>>2]|0)+16>>1]|0)>(k[k[s>>2]>>2]|0)){e=10;break}cz(f,k[s>>2]|0,(m[(k[n>>2]|0)+16>>1]|0)-1|0,k[k[n>>2]>>2]|0,k[p>>2]|0,0)}k[q>>2]=(k[q>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+20}if((e|0)==10){Qy(f,k[p>>2]|0,(k[q>>2]|0)+1|0,k[k[s>>2]>>2]|0);k[o>>2]=1;s=k[o>>2]|0;r=t;return s|0}else if((e|0)==13){k[o>>2]=0;s=k[o>>2]|0;r=t;return s|0}}k[o>>2]=0;s=k[o>>2]|0;r=t;return s|0}function cz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;p=r;r=r+48|0;g=p+32|0;t=p+28|0;s=p+24|0;m=p+20|0;h=p+16|0;j=p+12|0;q=p+8|0;o=p+4|0;n=p;k[g>>2]=a;k[t>>2]=b;k[s>>2]=c;k[m>>2]=d;k[h>>2]=e;k[j>>2]=f;k[q>>2]=k[(k[(k[t>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];k[n>>2]=k[k[g>>2]>>2];e=Sy(k[n>>2]|0,k[q>>2]|0,0)|0;k[o>>2]=e;if(!(k[o>>2]|0)){r=p;return}if((i[k[h>>2]>>0]|0)!=71)dz(k[o>>2]|0,k[j>>2]|0);if((l[k[m>>2]>>0]|0)==53){t=ez(k[g>>2]|0,k[o>>2]|0,k[(k[m>>2]|0)+8>>2]|0)|0;k[o>>2]=t}g=(k[o>>2]|0)+4|0;k[g>>2]=k[g>>2]|4194304;g=(k[m>>2]|0)+4|0;k[g>>2]=k[g>>2]|32768;sv(k[n>>2]|0,k[m>>2]|0);g=k[m>>2]|0;h=k[o>>2]|0;j=g+48|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));if((k[(k[m>>2]|0)+4>>2]&1024|0)==0?(k[(k[m>>2]|0)+8>>2]|0)!=0:0){t=Ah(k[n>>2]|0,k[(k[m>>2]|0)+8>>2]|0)|0;k[(k[m>>2]|0)+8>>2]=t;t=(k[m>>2]|0)+4|0;k[t>>2]=k[t>>2]|65536}bg(k[n>>2]|0,k[o>>2]|0);r=p;return}function dz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+48|0;c=f+32|0;d=f+28|0;e=f;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)<=0){r=f;return};k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+4>>2]=195;k[e+24>>2]=k[d>>2];Gy(e,k[c>>2]|0)|0;r=f;return}function ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d+16|0;f=d+12|0;h=d+8|0;e=d;k[g>>2]=a;k[f>>2]=b;k[h>>2]=c;fz(e,k[h>>2]|0);c=vw(k[g>>2]|0,k[f>>2]|0,e,0)|0;r=d;return c|0}function fz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[k[d>>2]>>2]=k[e>>2];b=Tf(k[e>>2]|0)|0;k[(k[d>>2]|0)+4>>2]=b;r=c;return}function gz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0|0)!=153){r=e;return 0}a=(k[d>>2]|0)+38|0;i[a>>0]=(l[a>>0]|0)+(k[(k[c>>2]|0)+24>>2]|0);r=e;return 0}function hz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;f=g;c=g+16|0;h=g+12|0;e=g+8|0;d=g+4|0;k[c>>2]=a;k[h>>2]=b;k[e>>2]=0;k[d>>2]=k[(k[k[c>>2]>>2]|0)+96+12>>2];if((k[h>>2]|0)<=(k[d>>2]|0)){h=k[e>>2]|0;r=g;return h|0}h=k[c>>2]|0;k[f>>2]=k[d>>2];Oh(h,29513,f);k[e>>2]=1;h=k[e>>2]|0;r=g;return h|0}function iz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+176|0;W=X+40|0;V=X+24|0;C=X+8|0;B=X;H=X+164|0;I=X+160|0;g=X+156|0;J=X+152|0;K=X+148|0;M=X+144|0;N=X+140|0;p=X+136|0;s=X+132|0;O=X+128|0;n=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;o=X+76|0;E=X+72|0;u=X+68|0;q=X+64|0;D=X+60|0;y=X+56|0;G=X+52|0;R=X+48|0;k[I>>2]=a;k[g>>2]=b;k[J>>2]=c;k[K>>2]=d;k[M>>2]=e;k[N>>2]=f;k[O>>2]=0;k[n>>2]=0;k[t>>2]=0;k[P>>2]=k[k[I>>2]>>2];k[S>>2]=0;k[U>>2]=k[M>>2];k[T>>2]=0;k[Q>>2]=0;k[A>>2]=0;k[(k[N>>2]|0)+28>>2]=-1;k[(k[N>>2]|0)+44>>2]=0;a:do if(k[g>>2]|0){if(m[(k[M>>2]|0)+28>>1]&6){k[g>>2]=0;break}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[P>>2]|0)+20>>2]|0))break a;c=(sg(k[(k[(k[P>>2]|0)+16>>2]|0)+(k[p>>2]<<4)>>2]|0,k[g>>2]|0)|0)==0;f=k[p>>2]|0;if(c)break;k[p>>2]=f+1}k[T>>2]=k[(k[(k[P>>2]|0)+16>>2]|0)+(f<<4)+12>>2]}while(0);b:while(1){if(!((k[M>>2]|0)!=0?(k[O>>2]|0)==0:0)){F=89;break}k[z>>2]=k[(k[M>>2]|0)+4>>2];if(k[z>>2]|0){k[p>>2]=0;k[x>>2]=(k[z>>2]|0)+8;while(1){if((k[p>>2]|0)>=(k[k[z>>2]>>2]|0))break;k[A>>2]=k[(k[x>>2]|0)+16>>2];if((k[(k[x>>2]|0)+20>>2]|0)!=0?(k[(k[(k[x>>2]|0)+20>>2]|0)+8>>2]&2048|0)!=0:0){k[o>>2]=0;k[w>>2]=k[k[(k[x>>2]|0)+20>>2]>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[w>>2]>>2]|0))break;if(pz(k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+8>>2]|0,k[K>>2]|0,k[J>>2]|0,k[g>>2]|0)|0){k[O>>2]=(k[O>>2]|0)+1;k[n>>2]=2;k[S>>2]=k[x>>2];j[(k[N>>2]|0)+32>>1]=k[s>>2];k[o>>2]=1}k[s>>2]=(k[s>>2]|0)+1}if(!((k[o>>2]|0)!=0|(k[J>>2]|0)==0))F=21}else F=21;c:do if((F|0)==21){F=0;if((k[g>>2]|0)!=0?(k[(k[A>>2]|0)+64>>2]|0)!=(k[T>>2]|0):0)break;if(k[J>>2]|0){if(k[(k[x>>2]|0)+12>>2]|0)f=k[(k[x>>2]|0)+12>>2]|0;else f=k[k[A>>2]>>2]|0;k[E>>2]=f;if(sg(k[E>>2]|0,k[J>>2]|0)|0)break}c=k[n>>2]|0;k[n>>2]=c+1;if(!c)k[S>>2]=k[x>>2];k[s>>2]=0;k[v>>2]=k[(k[A>>2]|0)+4>>2];while(1){if((k[s>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break c;if(!(sg(k[k[v>>2]>>2]|0,k[K>>2]|0)|0)){if((k[O>>2]|0)!=1)break;if((l[(k[x>>2]|0)+36>>0]&4|0)==0?(qz(k[(k[x>>2]|0)+52>>2]|0,k[K>>2]|0)|0)==0:0)break}k[s>>2]=(k[s>>2]|0)+1;k[v>>2]=(k[v>>2]|0)+16}k[O>>2]=(k[O>>2]|0)+1;k[S>>2]=k[x>>2];if((k[s>>2]|0)==(j[(k[A>>2]|0)+32>>1]|0))f=-1;else f=(k[s>>2]&65535)<<16>>16;j[(k[N>>2]|0)+32>>1]=f}while(0);k[p>>2]=(k[p>>2]|0)+1;k[x>>2]=(k[x>>2]|0)+72}if(k[S>>2]|0){k[(k[N>>2]|0)+28>>2]=k[(k[S>>2]|0)+44>>2];k[(k[N>>2]|0)+44>>2]=k[(k[S>>2]|0)+16>>2];if(l[(k[S>>2]|0)+36>>0]&8){c=(k[N>>2]|0)+4|0;k[c>>2]=k[c>>2]|1048576}k[T>>2]=k[(k[(k[N>>2]|0)+44>>2]|0)+64>>2]}}if((k[g>>2]|0)==0&(k[J>>2]|0)!=0&(k[n>>2]|0)==0?(k[(k[I>>2]|0)+128>>2]|0)!=0:0){k[u>>2]=l[(k[I>>2]|0)+148>>0];if((k[u>>2]|0)!=109?(sg(29940,k[J>>2]|0)|0)==0:0){k[(k[N>>2]|0)+28>>2]=1;k[A>>2]=k[(k[I>>2]|0)+128>>2]}else F=50;do if((F|0)==50){F=0;if((k[u>>2]|0)!=108?(sg(29944,k[J>>2]|0)|0)==0:0){k[(k[N>>2]|0)+28>>2]=0;k[A>>2]=k[(k[I>>2]|0)+128>>2];break}k[A>>2]=0}while(0);if(k[A>>2]|0){k[T>>2]=k[(k[A>>2]|0)+64>>2];k[n>>2]=(k[n>>2]|0)+1;k[q>>2]=0;k[v>>2]=k[(k[A>>2]|0)+4>>2];while(1){if((k[q>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break;c=(sg(k[k[v>>2]>>2]|0,k[K>>2]|0)|0)==0;h=k[q>>2]|0;if(c){F=58;break}k[q>>2]=h+1;k[v>>2]=(k[v>>2]|0)+16}if((F|0)==58?(F=0,(h|0)==(j[(k[A>>2]|0)+32>>1]|0)):0)k[q>>2]=-1;if(((k[q>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0)?(Ei(k[K>>2]|0)|0)!=0:0)?(l[(k[A>>2]|0)+42>>0]&64|0)==0:0)k[q>>2]=-1;if((k[q>>2]|0)<(j[(k[A>>2]|0)+34>>1]|0)){k[O>>2]=(k[O>>2]|0)+1;f=k[N>>2]|0;do if((k[q>>2]|0)>=0){e=(k[q>>2]|0)>=32?-1:1<>2];a=k[I>>2]|0;if(!(k[f+28>>2]|0)){c=a+140|0;k[c>>2]=k[c>>2]|e;break}else{c=a+144|0;k[c>>2]=k[c>>2]|e;break}}else i[f+1>>0]=68;while(0);j[(k[N>>2]|0)+32>>1]=k[q>>2];k[(k[N>>2]|0)+44>>2]=k[A>>2];k[Q>>2]=1}}}if((((k[O>>2]|0)==0&(k[n>>2]|0)==1&(k[S>>2]|0)!=0?(m[(k[M>>2]|0)+28>>1]&32|0)==0:0)?(Ei(k[K>>2]|0)|0)!=0:0)?(l[(k[(k[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){k[O>>2]=1;j[(k[N>>2]|0)+32>>1]=-1;i[(k[N>>2]|0)+1>>0]=68}c=k[(k[M>>2]|0)+8>>2]|0;k[w>>2]=c;d:do if((c|0)!=0&(k[J>>2]|0)==0&(k[O>>2]|0)==0){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[w>>2]>>2]|0))break d;k[D>>2]=k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+4>>2];if((k[D>>2]|0)!=0?(sg(k[D>>2]|0,k[K>>2]|0)|0)==0:0){F=82;break b}k[s>>2]=(k[s>>2]|0)+1}}while(0);if(k[O>>2]|0)continue;k[M>>2]=k[(k[M>>2]|0)+16>>2];k[t>>2]=(k[t>>2]|0)+1}if((F|0)==82){k[y>>2]=k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];if((m[(k[M>>2]|0)+28>>1]&1|0)==0?(k[(k[y>>2]|0)+4>>2]&2|0)!=0:0){W=k[I>>2]|0;k[B>>2]=k[D>>2];Oh(W,29948,B);k[H>>2]=2;W=k[H>>2]|0;r=X;return W|0}cz(k[I>>2]|0,k[w>>2]|0,k[s>>2]|0,k[N>>2]|0,18402,k[t>>2]|0);k[O>>2]=1;k[S>>2]=0}else if((F|0)==89){if((k[O>>2]|0)==0&(k[J>>2]|0)==0?(k[(k[N>>2]|0)+4>>2]&64|0)!=0:0){i[k[N>>2]>>0]=97;k[(k[N>>2]|0)+44>>2]=0;k[H>>2]=1;W=k[H>>2]|0;r=X;return W|0}if((k[O>>2]|0)!=1){k[G>>2]=(k[O>>2]|0)==0?29979:29994;do if(!(k[g>>2]|0)){e=k[I>>2]|0;f=k[G>>2]|0;if(k[J>>2]|0){J=k[J>>2]|0;W=k[K>>2]|0;k[V>>2]=f;k[V+4>>2]=J;k[V+8>>2]=W;Oh(e,30029,V);break}else{V=k[K>>2]|0;k[W>>2]=f;k[W+4>>2]=V;Oh(e,30039,W);break}}else{W=k[I>>2]|0;F=k[g>>2]|0;J=k[J>>2]|0;V=k[K>>2]|0;k[C>>2]=k[G>>2];k[C+4>>2]=F;k[C+8>>2]=J;k[C+12>>2]=V;Oh(W,30016,C)}while(0);i[(k[I>>2]|0)+17>>0]=1;W=(k[U>>2]|0)+24|0;k[W>>2]=(k[W>>2]|0)+1}if((k[S>>2]|0)!=0?(j[(k[N>>2]|0)+32>>1]|0)>=0:0){W=j[(k[N>>2]|0)+32>>1]|0;k[R>>2]=W;k[R>>2]=(k[R>>2]|0)>=64?63:W;R=eS(1,0,k[R>>2]|0)|0;W=(k[S>>2]|0)+56|0;S=W;V=k[S+4>>2]|L;k[W>>2]=k[S>>2]|R;k[W+4>>2]=V}sv(k[P>>2]|0,k[(k[N>>2]|0)+12>>2]|0);k[(k[N>>2]|0)+12>>2]=0;sv(k[P>>2]|0,k[(k[N>>2]|0)+16>>2]|0);k[(k[N>>2]|0)+16>>2]=0;i[k[N>>2]>>0]=(k[Q>>2]|0)!=0?88:152}if((k[O>>2]|0)!=1){k[H>>2]=2;W=k[H>>2]|0;r=X;return W|0}if(!(k[(k[N>>2]|0)+4>>2]&4194304))rz(k[I>>2]|0,k[N>>2]|0,k[T>>2]|0,k[(k[M>>2]|0)+4>>2]|0);while(1){W=(k[U>>2]|0)+20|0;k[W>>2]=(k[W>>2]|0)+1;if((k[U>>2]|0)==(k[M>>2]|0))break;k[U>>2]=k[(k[U>>2]|0)+16>>2]}k[H>>2]=1;W=k[H>>2]|0;r=X;return W|0}function jz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;h=j;e=j+24|0;f=j+20|0;g=j+16|0;l=j+12|0;i=j+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=d;if(!((m[(k[f>>2]|0)+28>>1]|0)&k[l>>2])){r=j;return}k[i>>2]=29856;if(!((m[(k[f>>2]|0)+28>>1]|0)&32)){if((m[(k[f>>2]|0)+28>>1]|0)&4)k[i>>2]=29902}else k[i>>2]=29884;l=k[e>>2]|0;c=k[i>>2]|0;k[h>>2]=k[g>>2];k[h+4>>2]=c;Oh(l,29920,h);r=j;return}function kz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e;k[c>>2]=a;p[d>>3]=-1.0;if((l[k[c>>2]>>0]|0|0)!=132){k[b>>2]=-1;d=k[b>>2]|0;r=e;return d|0}a=k[(k[c>>2]|0)+8>>2]|0;oz(a,d,Tf(k[(k[c>>2]|0)+8>>2]|0)|0,1)|0;if(+p[d>>3]>1.0){k[b>>2]=-1;d=k[b>>2]|0;r=e;return d|0}else{k[b>>2]=~~(+p[d>>3]*134217728.0);d=k[b>>2]|0;r=e;return d|0}return 0}function lz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+48|0;e=d+44|0;g=d+40|0;f=d+12|0;c=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+4>>2]=196;k[f+24>>2]=c;k[c>>2]=k[g>>2];k[c+4>>2]=0;k[c+8>>2]=0;Fy(f,k[(k[e>>2]|0)+20>>2]|0)|0;r=d;return ((k[c+4>>2]|0)>0?1:(k[c+8>>2]|0)==0)&1|0}function mz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;c=e;d=e+8|0;k[c>>2]=a;i[d>>0]=i[k[c>>2]>>0]|0;if((l[d>>0]|0|0)==157)i[d>>0]=i[(k[c>>2]|0)+38>>0]|0;if((l[d>>0]|0|0)==158){k[b>>2]=k[k[(k[c>>2]|0)+20>>2]>>2];a=k[b>>2]|0;r=e;return a|0}if((l[d>>0]|0|0)==119){k[b>>2]=k[k[k[(k[c>>2]|0)+20>>2]>>2]>>2];a=k[b>>2]|0;r=e;return a|0}else{k[b>>2]=1;a=k[b>>2]|0;r=e;return a|0}return 0}function nz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;g=i+12|0;e=i+8|0;f=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0|0)!=152?(l[k[d>>2]>>0]|0|0)!=154:0){r=i;return 0}k[e>>2]=k[(k[c>>2]|0)+24>>2];k[f>>2]=k[k[e>>2]>>2];if(k[f>>2]|0)c=k[k[f>>2]>>2]|0;else c=0;k[h>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;if((k[(k[d>>2]|0)+28>>2]|0)==(k[(k[f>>2]|0)+8+((k[g>>2]|0)*72|0)+44>>2]|0))break;k[g>>2]=(k[g>>2]|0)+1}c=k[e>>2]|0;if((k[g>>2]|0)<(k[h>>2]|0)){h=c+4|0;k[h>>2]=(k[h>>2]|0)+1;r=i;return 0}else{h=c+8|0;k[h>>2]=(k[h>>2]|0)+1;r=i;return 0}return 0}function oz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;E=F+76|0;v=F+72|0;w=F+68|0;e=F+64|0;h=F+80|0;o=F+60|0;D=F+56|0;t=F+52|0;s=F+16|0;n=F+48|0;y=F+44|0;q=F+40|0;x=F+36|0;C=F+8|0;z=F+32|0;A=F+28|0;j=F+24|0;u=F;k[v>>2]=a;k[w>>2]=b;k[e>>2]=c;i[h>>0]=d;k[D>>2]=(k[v>>2]|0)+(k[e>>2]|0);k[t>>2]=1;a=s;k[a>>2]=0;k[a+4>>2]=0;k[n>>2]=0;k[y>>2]=1;k[q>>2]=0;k[x>>2]=1;k[z>>2]=0;k[A>>2]=0;p[k[w>>2]>>3]=0.0;if((l[h>>0]|0)==1)k[o>>2]=1;else{k[o>>2]=2;k[j>>2]=3-(l[h>>0]|0);while(1){if((k[j>>2]|0)>=(k[e>>2]|0))break;if(i[(k[v>>2]|0)+(k[j>>2]|0)>>0]|0)break;k[j>>2]=(k[j>>2]|0)+2}k[A>>2]=(k[j>>2]|0)<(k[e>>2]|0)&1;k[D>>2]=(k[v>>2]|0)+(k[j>>2]^1);k[v>>2]=(k[v>>2]|0)+(l[h>>0]&1)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;if(!(l[18403+(l[k[v>>2]>>0]|0)>>0]&1))break;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0){k[E>>2]=0;E=k[E>>2]|0;r=F;return E|0}if((i[k[v>>2]>>0]|0)!=45){if((i[k[v>>2]>>0]|0)==43)k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}else{k[t>>2]=-1;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;a=s;b=k[a+4>>2]|0;if(!((l[18403+(l[k[v>>2]>>0]|0)>>0]&4|0)!=0&((b|0)<214748364|(b|0)==214748364&(k[a>>2]|0)>>>0<3435973835)))break;a=s;a=kS(k[a>>2]|0,k[a+4>>2]|0,10,0)|0;b=(i[k[v>>2]>>0]|0)-48|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=s;k[a>>2]=b;k[a+4>>2]=L;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[z>>2]=(k[z>>2]|0)+1}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;if(!(l[18403+(l[k[v>>2]>>0]|0)>>0]&4))break;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[z>>2]=(k[z>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}a:do if((k[v>>2]|0)>>>0<(k[D>>2]|0)>>>0){b:do if((i[k[v>>2]>>0]|0)==46){k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break b;if(!(l[18403+(l[k[v>>2]>>0]|0)>>0]&4))break b;a=s;b=k[a+4>>2]|0;if((b|0)<214748364|(b|0)==214748364&(k[a>>2]|0)>>>0<3435973835){a=s;a=kS(k[a>>2]|0,k[a+4>>2]|0,10,0)|0;b=(i[k[v>>2]>>0]|0)-48|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=s;k[a>>2]=b;k[a+4>>2]=L;k[n>>2]=(k[n>>2]|0)+-1}k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[z>>2]=(k[z>>2]|0)+1}}while(0);if((k[v>>2]|0)>>>0<(k[D>>2]|0)>>>0){if(!((i[k[v>>2]>>0]|0)!=101?(i[k[v>>2]>>0]|0)!=69:0))m=34;c:do if((m|0)==34){k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[x>>2]=0;if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break a;if((i[k[v>>2]>>0]|0)!=45){if((i[k[v>>2]>>0]|0)==43)k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}else{k[y>>2]=-1;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break c;if(!(l[18403+(l[k[v>>2]>>0]|0)>>0]&4))break c;if((k[q>>2]|0)<1e4)e=((k[q>>2]|0)*10|0)+((i[k[v>>2]>>0]|0)-48)|0;else e=1e4;k[q>>2]=e;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[x>>2]=1}}while(0);while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break a;if(!(l[18403+(l[k[v>>2]>>0]|0)>>0]&1))break a;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}}}while(0);o=ha(k[q>>2]|0,k[y>>2]|0)|0;k[q>>2]=o+(k[n>>2]|0);if((k[q>>2]|0)<0){k[y>>2]=-1;o=ha(k[q>>2]|0,-1)|0;k[q>>2]=o}else k[y>>2]=1;o=s;do if(!((k[o>>2]|0)==0&(k[o+4>>2]|0)==0)){while(1){if((k[q>>2]|0)<=0)break;h=s;e=k[h>>2]|0;h=k[h+4>>2]|0;if((k[y>>2]|0)>0){if((h|0)>214748364|(h|0)==214748364&e>>>0>=3435973836)break;n=s;n=kS(k[n>>2]|0,k[n+4>>2]|0,10,0)|0;o=s;k[o>>2]=n;k[o+4>>2]=L}else{o=jS(e|0,h|0,10,0)|0;if((o|0)!=0|(L|0)!=0)break;n=s;n=iS(k[n>>2]|0,k[n+4>>2]|0,10,0)|0;o=s;k[o>>2]=n;k[o+4>>2]=L}k[q>>2]=(k[q>>2]|0)+-1}n=(k[t>>2]|0)<0;o=s;m=k[o>>2]|0;o=k[o+4>>2]|0;a=_R(0,0,m|0,o|0)|0;t=s;k[t>>2]=n?a:m;k[t+4>>2]=n?L:o;if(!(k[q>>2]|0)){y=s;p[C>>3]=+((k[y>>2]|0)>>>0)+4294967296.0*+(k[y+4>>2]|0);break}p[u>>3]=1.0;if((k[q>>2]|0)<=307){while(1){if(!((k[q>>2]|0)%22|0))break;p[u>>3]=+p[u>>3]*10.0;k[q>>2]=(k[q>>2]|0)-1}while(1){if((k[q>>2]|0)<=0)break;p[u>>3]=+p[u>>3]*1.0e22;k[q>>2]=(k[q>>2]|0)-22}t=s;g=+((k[t>>2]|0)>>>0)+4294967296.0*+(k[t+4>>2]|0);f=+p[u>>3];if((k[y>>2]|0)<0){p[C>>3]=g/f;break}else{p[C>>3]=g*f;break}}if((k[q>>2]|0)>=342){u=s;f=+((k[u>>2]|0)>>>0)+4294967296.0*+(k[u+4>>2]|0);if((k[y>>2]|0)<0){p[C>>3]=0.0*f;break}else{p[C>>3]=B*f;break}}while(1){if(!((k[q>>2]|0)%308|0))break;p[u>>3]=+p[u>>3]*10.0;k[q>>2]=(k[q>>2]|0)-1}t=s;g=+((k[t>>2]|0)>>>0)+4294967296.0*+(k[t+4>>2]|0);f=+p[u>>3];if((k[y>>2]|0)<0){p[C>>3]=g/f;p[C>>3]=+p[C>>3]/1.e+308;break}else{p[C>>3]=g*f;p[C>>3]=+p[C>>3]*1.e+308;break}}else p[C>>3]=(k[t>>2]|0)<0?-0.0:0.0;while(0);p[k[w>>2]>>3]=+p[C>>3];if(((k[z>>2]|0)>0?(k[v>>2]|0)==(k[D>>2]|0):0)&(k[x>>2]|0)!=0)e=(k[A>>2]|0)==0;else e=0;k[E>>2]=e&1;E=k[E>>2]|0;r=F;return E|0}function pz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0)==46)break;k[l>>2]=(k[l>>2]|0)+1}do if(k[j>>2]|0){if((Jd(k[f>>2]|0,k[j>>2]|0,k[l>>2]|0)|0)==0?(i[(k[j>>2]|0)+(k[l>>2]|0)>>0]|0)==0:0)break;k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}while(0);k[f>>2]=(k[f>>2]|0)+((k[l>>2]|0)+1);k[l>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0)==46)break;k[l>>2]=(k[l>>2]|0)+1}do if(k[h>>2]|0){if((Jd(k[f>>2]|0,k[h>>2]|0,k[l>>2]|0)|0)==0?(i[(k[h>>2]|0)+(k[l>>2]|0)>>0]|0)==0:0)break;k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}while(0);k[f>>2]=(k[f>>2]|0)+((k[l>>2]|0)+1);if((k[g>>2]|0)!=0?(sg(k[f>>2]|0,k[g>>2]|0)|0)!=0:0){k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}function qz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a:do if(k[d>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0))break a;if(!(sg(k[(k[k[d>>2]>>2]|0)+(k[f>>2]<<3)>>2]|0,k[e>>2]|0)|0))break;k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}while(0);k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function rz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;f=s+36|0;g=s+32|0;e=s+28|0;h=s+24|0;t=s+20|0;p=s+16|0;q=s+12|0;o=s+8|0;n=s+4|0;m=s;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[h>>2]=d;k[t>>2]=k[k[f>>2]>>2];k[p>>2]=0;if(!(k[(k[t>>2]|0)+296>>2]|0)){r=s;return}t=Ph(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[n>>2]=t;if((k[n>>2]|0)<0){r=s;return}a:do if((l[k[g>>2]>>0]|0)==88)k[p>>2]=k[(k[f>>2]|0)+128>>2];else{k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[h>>2]>>2]|0))break a;e=k[o>>2]|0;if((k[(k[g>>2]|0)+28>>2]|0)==(k[(k[h>>2]|0)+8+((k[o>>2]|0)*72|0)+44>>2]|0))break;k[o>>2]=e+1}k[p>>2]=k[(k[h>>2]|0)+8+(e*72|0)+16>>2]}while(0);k[m>>2]=j[(k[g>>2]|0)+32>>1];if(!(k[p>>2]|0)){r=s;return}do if((k[m>>2]|0)<0)if((j[(k[p>>2]|0)+32>>1]|0)>=0){k[q>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+(j[(k[p>>2]|0)+32>>1]<<4)>>2];break}else{k[q>>2]=19895;break}else k[q>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+(k[m>>2]<<4)>>2];while(0);if(2!=(sz(k[f>>2]|0,k[k[p>>2]>>2]|0,k[q>>2]|0,k[n>>2]|0)|0)){r=s;return}i[k[g>>2]>>0]=101;r=s;return}function sz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;o=q+16|0;n=q;e=q+52|0;f=q+48|0;g=q+44|0;h=q+40|0;j=q+36|0;l=q+32|0;p=q+28|0;m=q+24|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=k[k[f>>2]>>2];k[p>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2];if(i[(k[l>>2]|0)+148+5>>0]|0){k[e>>2]=0;p=k[e>>2]|0;r=q;return p|0}b=ac[k[(k[l>>2]|0)+296>>2]&255](k[(k[l>>2]|0)+300>>2]|0,20,k[g>>2]|0,k[h>>2]|0,k[p>>2]|0,k[(k[f>>2]|0)+448>>2]|0)|0;k[m>>2]=b;if((k[m>>2]|0)!=1){if((k[m>>2]|0)!=2&(k[m>>2]|0)!=0)lx(k[f>>2]|0)}else{d=k[f>>2]|0;if((k[j>>2]|0)!=0?1:(k[(k[l>>2]|0)+20>>2]|0)>2){l=k[g>>2]|0;o=k[h>>2]|0;k[n>>2]=k[p>>2];k[n+4>>2]=l;k[n+8>>2]=o;Oh(d,30046,n)}else{p=k[h>>2]|0;k[o>>2]=k[g>>2];k[o+4>>2]=p;Oh(d,30079,o)}k[(k[f>>2]|0)+12>>2]=23}k[e>>2]=k[m>>2];p=k[e>>2]|0;r=q;return p|0} -function lN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+12|0;e=f+8|0;c=f+4|0;b=f;k[d>>2]=a;k[e>>2]=k[(k[d>>2]|0)+4>>2];k[c>>2]=(k[e>>2]|0)+72;while(1){if(!(k[k[c>>2]>>2]|0))break;k[b>>2]=k[k[c>>2]>>2];a=(k[b>>2]|0)+12|0;if((k[k[b>>2]>>2]|0)!=(k[d>>2]|0)){k[c>>2]=a;continue}k[k[c>>2]>>2]=k[a>>2];if((k[(k[b>>2]|0)+4>>2]|0)==1)continue;Ud(k[b>>2]|0)}a=k[e>>2]|0;if((k[(k[e>>2]|0)+76>>2]|0)==(k[d>>2]|0)){k[a+76>>2]=0;e=(k[e>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-97;r=f;return}if((k[a+40>>2]|0)!=2){r=f;return}e=(k[e>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-65;r=f;return}function mN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;c=l+24|0;j=l+20|0;h=l+16|0;e=l+12|0;f=l+8|0;d=l+4|0;g=l;k[c>>2]=a;k[j>>2]=0;k[h>>2]=k[k[c>>2]>>2];iK(k[c>>2]|0);do if(!(i[(k[c>>2]|0)+18>>0]|0)){a=TF(k[c>>2]|0)|0;k[g>>2]=a;a=dG(k[c>>2]|0,k[g>>2]|0)|0;if((a|0)!=(k[g>>2]|0)?(k[g>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[c>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){a=qr((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[f>>2]=a;a=hK(k[c>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)>>>0>(k[g>>2]|0)>>>0){j=_j(61919)|0;k[b>>2]=j;j=k[b>>2]|0;r=l;return j|0}if((k[e>>2]|0)>>>0<(k[g>>2]|0)>>>0){a=fI(k[c>>2]|0,0,0)|0;k[j>>2]=a}k[d>>2]=k[g>>2];while(1){if(!((k[d>>2]|0)>>>0>(k[e>>2]|0)>>>0?(k[j>>2]|0)==0:0))break;a=jK(k[c>>2]|0,k[e>>2]|0,k[d>>2]|0,1)|0;k[j>>2]=a;k[d>>2]=(k[d>>2]|0)+-1}if(((k[j>>2]|0)==101|(k[j>>2]|0)==0)&(k[f>>2]|0)>>>0>0){a=Qg(k[(k[(k[c>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[j>>2]=a;pt((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);pt((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);pt((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[e>>2]|0);i[(k[c>>2]|0)+19>>0]=1;k[(k[c>>2]|0)+44>>2]=k[e>>2]}if(!(k[j>>2]|0))break;Ar(k[h>>2]|0)|0;break}j=_j(61914)|0;k[b>>2]=j;j=k[b>>2]|0;r=l;return j|0}while(0);k[b>>2]=k[j>>2];j=k[b>>2]|0;r=l;return j|0}function nN(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;a=k[c>>2]|0;if(k[(k[c>>2]|0)+44>>2]|0){k[b>>2]=k[a+44>>2];d=k[b>>2]|0;r=e;return d|0}if(((l[a+17>>0]|0|0)==2?(l[(k[c>>2]|0)+4>>0]|0|0)!=0:0)?(l[(k[c>>2]|0)+5>>0]|0|0)==1:0){i[(k[c>>2]|0)+17>>0]=1;k[b>>2]=0;d=k[b>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;a=Br(k[c>>2]|0,l[(k[c>>2]|0)+20>>0]|0,1)|0;k[d>>2]=a;d=wr(k[c>>2]|0,k[d>>2]|0)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}function oN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;e=f+4|0;d=f;k[c>>2]=a;k[f+8>>2]=b;k[e>>2]=0;if(i[(k[c>>2]|0)+19>>0]|0){e=k[e>>2]|0;r=f;return e|0}if((k[(k[c>>2]|0)+28>>2]|0)>>>0<=0){e=k[e>>2]|0;r=f;return e|0}a=Fg(k[c>>2]|0,1,d,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){a=Qg(k[d>>2]|0)|0;k[e>>2]=a}if(!(k[e>>2]|0)){Lt(k[d>>2]|0);i[(k[c>>2]|0)+19>>0]=1}Ig(k[d>>2]|0);e=k[e>>2]|0;r=f;return e|0}function pN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;c=n+36|0;d=n+32|0;e=n+28|0;m=n+24|0;j=n+20|0;g=n+8|0;h=n;f=n+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;if(((k[e>>2]|0)!=0?(l[(k[d>>2]|0)+5>>0]|0)!=4:0)?(k[k[(k[d>>2]|0)+68>>2]>>2]|0)!=0:0){i[(k[d>>2]|0)+20>>0]=1;k[j>>2]=0;while(1){if(!(i[(k[e>>2]|0)+(k[j>>2]|0)>>0]|0))break;k[f>>2]=(k[f>>2]|0)+(i[(k[e>>2]|0)+(k[j>>2]|0)>>0]|0);k[j>>2]=(k[j>>2]|0)+1}if(i[(k[d>>2]|0)+8>>0]|0){a=zs(k[d>>2]|0)|0;b=(k[d>>2]|0)+80|0;k[b>>2]=a;k[b+4>>2]=L}o=(k[d>>2]|0)+80|0;a=k[o+4>>2]|0;b=g;k[b>>2]=k[o>>2];k[b+4>>2]=a;b=g;b=$t(k[(k[d>>2]|0)+68>>2]|0,k[b>>2]|0,k[b+4>>2]|0,((k[384]|0)/(k[(k[d>>2]|0)+160>>2]|0)|0)+1|0)|0;k[m>>2]=b;if((((0==(b|0)?(p=k[(k[d>>2]|0)+68>>2]|0,a=k[e>>2]|0,b=k[j>>2]|0,o=g,o=$R(k[o>>2]|0,k[o+4>>2]|0,4,0)|0,o=Sg(p,a,b,o,L)|0,k[m>>2]=o,0==(o|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=$R(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=$R(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=$t(o,p,L,k[j>>2]|0)|0,k[m>>2]=p,0==(p|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=$R(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=$R(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=$R(p|0,L|0,4,0)|0,p=$t(o,p,L,k[f>>2]|0)|0,k[m>>2]=p,0==(p|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=$R(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=$R(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=$R(p|0,L|0,8,0)|0,p=Sg(o,25901,8,p,L)|0,k[m>>2]=p,0==(p|0)):0){o=(k[j>>2]|0)+20|0;p=(k[d>>2]|0)+80|0;b=p;o=$R(k[b>>2]|0,k[b+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;k[p>>2]=o;k[p+4>>2]=L;p=fj(k[(k[d>>2]|0)+68>>2]|0,h)|0;k[m>>2]=p;if(0==(p|0)?(o=h,a=k[o+4>>2]|0,p=(k[d>>2]|0)+80|0,b=k[p+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(k[o>>2]|0)>>>0>(k[p>>2]|0)>>>0:0)):0){p=(k[d>>2]|0)+80|0;p=Er(k[(k[d>>2]|0)+68>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;k[m>>2]=p}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=n;return p|0}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=n;return p|0}k[c>>2]=0;p=k[c>>2]|0;r=n;return p|0}function qN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;b=u+44|0;s=u+40|0;e=u+36|0;q=u+32|0;d=u+28|0;c=u+24|0;g=u+20|0;o=u+16|0;f=u+12|0;p=u+8|0;h=u+4|0;n=u;k[b>>2]=a;k[s>>2]=0;k[d>>2]=0;k[g>>2]=0;k[o>>2]=k[(k[b>>2]|0)+16>>2];k[f>>2]=((k[(k[o>>2]|0)+156>>2]|0)>>>0)/((k[(k[o>>2]|0)+160>>2]|0)>>>0)|0;a=(k[o>>2]|0)+21|0;i[a>>0]=l[a>>0]|0|4;k[q>>2]=((k[(k[b>>2]|0)+20>>2]|0)-1&~((k[f>>2]|0)-1))+1;k[e>>2]=k[(k[o>>2]|0)+28>>2];do if((k[(k[b>>2]|0)+20>>2]|0)>>>0<=(k[e>>2]|0)>>>0)if(((k[q>>2]|0)+(k[f>>2]|0)-1|0)>>>0>(k[e>>2]|0)>>>0){k[d>>2]=(k[e>>2]|0)+1-(k[q>>2]|0);break}else{k[d>>2]=k[f>>2];break}else k[d>>2]=(k[(k[b>>2]|0)+20>>2]|0)-(k[q>>2]|0)+1;while(0);k[c>>2]=0;while(1){if(!((k[c>>2]|0)<(k[d>>2]|0)?(k[s>>2]|0)==0:0))break;k[p>>2]=(k[q>>2]|0)+(k[c>>2]|0);if((k[p>>2]|0)!=(k[(k[b>>2]|0)+20>>2]|0)?(xj(k[(k[o>>2]|0)+60>>2]|0,k[p>>2]|0)|0)!=0:0){a=rs(k[o>>2]|0,k[p>>2]|0)|0;k[h>>2]=a;if(a){if((m[(k[h>>2]|0)+24>>1]|0)&8)k[g>>2]=1;Ts(k[h>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(k[p>>2]|0)!=(((k[384]|0)/(k[(k[o>>2]|0)+160>>2]|0)|0)+1|0)):0)?(a=Fg(k[o>>2]|0,k[p>>2]|0,h,0)|0,k[s>>2]=a,(k[s>>2]|0)==0):0){a=rN(k[h>>2]|0)|0;k[s>>2]=a;if((m[(k[h>>2]|0)+24>>1]|0)&8)k[g>>2]=1;Ts(k[h>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}if(!((k[s>>2]|0)==0&(k[g>>2]|0)!=0)){t=k[o>>2]|0;t=t+21|0;q=i[t>>0]|0;q=q&255;q=q&-5;q=q&255;i[t>>0]=q;t=k[s>>2]|0;r=u;return t|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[d>>2]|0))break;t=rs(k[o>>2]|0,(k[q>>2]|0)+(k[c>>2]|0)|0)|0;k[n>>2]=t;if(k[n>>2]|0){t=(k[n>>2]|0)+24|0;j[t>>1]=m[t>>1]|0|8;Ts(k[n>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}t=k[o>>2]|0;t=t+21|0;q=i[t>>0]|0;q=q&255;q=q&-5;q=q&255;i[t>>0]=q;t=k[s>>2]|0;r=u;return t|0}function rN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+16>>2];k[e>>2]=0;if((l[(k[d>>2]|0)+17>>0]|0|0)==2?(a=sN(k[d>>2]|0)|0,k[e>>2]=a,(k[e>>2]|0)!=0):0){k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}ts(k[c>>2]|0);do if((k[(k[d>>2]|0)+60>>2]|0)!=0?(Aj(k[(k[d>>2]|0)+60>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0)==0:0){if((k[(k[c>>2]|0)+20>>2]|0)>>>0>(k[(k[d>>2]|0)+32>>2]|0)>>>0){if((l[(k[d>>2]|0)+17>>0]|0|0)==4)break;a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|8;break}a=tN(k[c>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}}while(0);a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|4;if((k[(k[d>>2]|0)+104>>2]|0)>0){a=Gt(k[c>>2]|0)|0;k[e>>2]=a}if((k[(k[d>>2]|0)+28>>2]|0)>>>0<(k[(k[c>>2]|0)+20>>2]|0)>>>0)k[(k[d>>2]|0)+28>>2]=k[(k[c>>2]|0)+20>>2];k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}function sN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+20|0;f=h+16|0;g=h+12|0;d=h+8|0;b=h+4|0;c=h;k[f>>2]=a;k[g>>2]=0;k[d>>2]=k[k[f>>2]>>2];a=k[f>>2]|0;if(k[(k[f>>2]|0)+44>>2]|0){k[e>>2]=k[a+44>>2];g=k[e>>2]|0;r=h;return g|0}if((Lr(a)|0)==0?(l[(k[f>>2]|0)+5>>0]|0)!=2:0){a=uj(k[(k[f>>2]|0)+28>>2]|0)|0;k[(k[f>>2]|0)+60>>2]=a;if(!(k[(k[f>>2]|0)+60>>2]|0)){k[e>>2]=7;g=k[e>>2]|0;r=h;return g|0}do if(!(k[k[(k[f>>2]|0)+68>>2]>>2]|0)){if((l[(k[f>>2]|0)+5>>0]|0)==4){uN(k[(k[f>>2]|0)+68>>2]|0);break}k[b>>2]=6;a=k[b>>2]|0;if(i[(k[f>>2]|0)+13>>0]|0){k[b>>2]=a|4104;k[c>>2]=k[11]}else{k[b>>2]=a|2048;k[c>>2]=0}a=vN(k[f>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){d=bu(k[d>>2]|0,k[(k[f>>2]|0)+180>>2]|0,k[(k[f>>2]|0)+68>>2]|0,k[b>>2]|0,k[c>>2]|0)|0;k[g>>2]=d}}while(0);if(!(k[g>>2]|0)){k[(k[f>>2]|0)+48>>2]=0;d=(k[f>>2]|0)+80|0;k[d>>2]=0;k[d+4>>2]=0;i[(k[f>>2]|0)+20>>0]=0;d=(k[f>>2]|0)+88|0;k[d>>2]=0;k[d+4>>2]=0;d=Nt(k[f>>2]|0)|0;k[g>>2]=d}}a=k[f>>2]|0;if(k[g>>2]|0){zj(k[a+60>>2]|0);k[(k[f>>2]|0)+60>>2]=0}else i[a+17>>0]=3;k[e>>2]=k[g>>2];g=k[e>>2]|0;r=h;return g|0}function tN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;i=r;r=r+32|0;b=i+28|0;c=i+24|0;g=i+20|0;h=i+16|0;d=i+12|0;f=i+8|0;e=i;k[c>>2]=a;k[g>>2]=k[(k[c>>2]|0)+16>>2];n=(k[g>>2]|0)+80|0;l=k[n+4>>2]|0;a=e;k[a>>2]=k[n>>2];k[a+4>>2]=l;k[f>>2]=k[(k[c>>2]|0)+4>>2];a=qs(k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|8;a=e;a=$t(k[(k[g>>2]|0)+68>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[b>>2]=k[h>>2];n=k[b>>2]|0;r=i;return n|0}o=k[(k[g>>2]|0)+68>>2]|0;a=k[f>>2]|0;l=k[(k[g>>2]|0)+160>>2]|0;n=e;n=$R(k[n>>2]|0,k[n+4>>2]|0,4,0)|0;n=Sg(o,a,l,n,L)|0;k[h>>2]=n;if(k[h>>2]|0){k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}n=k[(k[g>>2]|0)+68>>2]|0;l=e;o=k[(k[g>>2]|0)+160>>2]|0;o=$R(k[l>>2]|0,k[l+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=$R(o|0,L|0,4,0)|0;o=$t(n,o,L,k[d>>2]|0)|0;k[h>>2]=o;if(k[h>>2]|0){k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}else{n=8+(k[(k[g>>2]|0)+160>>2]|0)|0;o=(k[g>>2]|0)+80|0;l=o;n=$R(k[l>>2]|0,k[l+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;k[o>>2]=n;k[o+4>>2]=L;o=(k[g>>2]|0)+48|0;k[o>>2]=(k[o>>2]|0)+1;o=vj(k[(k[g>>2]|0)+60>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=o;o=au(k[g>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=k[h>>2]|o;k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}return 0}function uN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;bu(0,0,k[c>>2]|0,0,-1)|0;r=b;return}function vN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=0;if(i[(k[c>>2]|0)+13>>0]|0){k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}if(!(k[(k[c>>2]|0)+28>>2]|0)){k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}a=Ki(k[(k[c>>2]|0)+64>>2]|0,20,d)|0;k[e>>2]=a;if((k[e>>2]|0)!=12){if((k[e>>2]|0)==0&(k[d>>2]|0)!=0)k[e>>2]=1032}else k[e>>2]=0;k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}function wN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0;n=r;r=r+32|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;c=k[f>>2]|0;do if(k[(k[f>>2]|0)+144>>2]|0){d=k[c+144>>2]|0;k[l>>2]=d;k[k[i>>2]>>2]=d;k[(k[f>>2]|0)+144>>2]=k[(k[l>>2]|0)+12>>2];k[(k[l>>2]|0)+12>>2]=0;dS(k[(k[l>>2]|0)+8>>2]|0,0,m[(k[f>>2]|0)+148>>1]|0|0)|0}else{d=ug(40+(m[c+148>>1]|0)|0,0)|0;k[l>>2]=d;k[k[i>>2]>>2]=d;if(k[l>>2]|0){k[(k[l>>2]|0)+8>>2]=(k[l>>2]|0)+40;j[(k[l>>2]|0)+24>>1]=32;j[(k[l>>2]|0)+26>>1]=1;k[(k[l>>2]|0)+16>>2]=k[f>>2];break}i=k[(k[f>>2]|0)+64>>2]|0;l=k[(k[f>>2]|0)+160>>2]|0;l=kS((k[g>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;Ws(i,l,L,k[h>>2]|0)|0;k[e>>2]=7;l=k[e>>2]|0;r=n;return l|0}while(0);k[(k[l>>2]|0)+20>>2]=k[g>>2];k[(k[l>>2]|0)+4>>2]=k[h>>2];l=(k[f>>2]|0)+128|0;k[l>>2]=(k[l>>2]|0)+1;k[e>>2]=0;l=k[e>>2]|0;r=n;return l|0}function xN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n+4|0;i=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((l[(k[e>>2]|0)+33>>0]|0)==2){k[d>>2]=0;i=k[d>>2]|0;r=n;return i|0}c=yN(k[e>>2]|0)|0;if((c|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if((j[(k[h>>2]|0)+26>>1]|0)==0?(m[(k[h>>2]|0)+24>>1]&8|0)==0:0)break;k[h>>2]=k[(k[h>>2]|0)+36>>2]}k[(k[e>>2]|0)+8>>2]=k[h>>2];a:do if(!(k[h>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+4>>2];while(1){if(!(k[h>>2]|0))break a;if(!(j[(k[h>>2]|0)+26>>1]|0))break a;k[h>>2]=k[(k[h>>2]|0)+36>>2]}}while(0);if((k[h>>2]|0)!=0?(c=gc[k[(k[e>>2]|0)+36>>2]&255](k[(k[e>>2]|0)+40>>2]|0,k[h>>2]|0)|0,k[i>>2]=c,(k[i>>2]|0)!=0&(k[i>>2]|0)!=5):0){k[d>>2]=k[i>>2];i=k[d>>2]|0;r=n;return i|0}}i=Yb[k[144>>2]&255](k[(k[e>>2]|0)+44>>2]|0,k[f>>2]|0,2)|0;k[k[g>>2]>>2]=i;k[d>>2]=(k[k[g>>2]>>2]|0)==0?7:0;i=k[d>>2]|0;r=n;return i|0}function yN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[140>>2]&255](k[(k[c>>2]|0)+44>>2]|0)|0;r=b;return a|0}function zN(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+108>>2]|0}function AN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;h=q+40|0;n=q+36|0;f=q+32|0;p=q+28|0;o=q+24|0;c=q+20|0;e=q+12|0;g=q+8|0;d=q+4|0;b=q;k[n>>2]=a;k[c>>2]=0;a=BK(k[k[n>>2]>>2]|0)|0;k[f>>2]=a;if(k[f>>2]|0){k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}a=fG(k[n>>2]|0,1,p,0)|0;k[f>>2]=a;if(k[f>>2]|0){k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}a=qr((k[(k[p>>2]|0)+56>>2]|0)+28|0)|0;k[q+16>>2]=a;k[o>>2]=a;Pg(k[k[n>>2]>>2]|0,c);if(!((k[o>>2]|0)!=0?(oR((k[(k[p>>2]|0)+56>>2]|0)+24|0,(k[(k[p>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))k[o>>2]=k[c>>2];a:do if((k[o>>2]|0)>0){k[d>>2]=k[(k[p>>2]|0)+56>>2];k[f>>2]=26;b:do if(!(oR(k[d>>2]|0,41796,16)|0)){if((l[(k[d>>2]|0)+18>>0]|0|0)>2){a=(k[n>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|1}if((l[(k[d>>2]|0)+19>>0]|0|0)<=2){do if((l[(k[d>>2]|0)+19>>0]|0|0)==2?((m[(k[n>>2]|0)+22>>1]|0)&16|0)==0:0){k[b>>2]=0;a=HK(k[k[n>>2]>>2]|0,b)|0;k[f>>2]=a;if(k[f>>2]|0)break b;if(k[b>>2]|0){k[f>>2]=26;break}_B(k[p>>2]|0);k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}while(0);if((oR((k[d>>2]|0)+21|0,44049,3)|0)==0?(k[e>>2]=(l[(k[d>>2]|0)+16>>0]|0)<<8|(l[(k[d>>2]|0)+17>>0]|0)<<16,!(((k[e>>2]|0)>>>0>65536?1:((k[e>>2]|0)-1&k[e>>2]|0)!=0)|(k[e>>2]|0)>>>0<=256)):0){k[g>>2]=(k[e>>2]|0)-(l[(k[d>>2]|0)+20>>0]|0);if((k[e>>2]|0)!=(k[(k[n>>2]|0)+32>>2]|0)){_B(k[p>>2]|0);k[(k[n>>2]|0)+36>>2]=k[g>>2];k[(k[n>>2]|0)+32>>2]=k[e>>2];cj(k[n>>2]|0);p=dj(k[k[n>>2]>>2]|0,(k[n>>2]|0)+32|0,(k[e>>2]|0)-(k[g>>2]|0)|0)|0;k[f>>2]=p;k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}if((k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(k[o>>2]|0)>(k[c>>2]|0):0){o=_j(61191)|0;k[f>>2]=o;break}if((k[g>>2]|0)>>>0>=480){k[(k[n>>2]|0)+32>>2]=k[e>>2];k[(k[n>>2]|0)+36>>2]=k[g>>2];g=(qr((k[d>>2]|0)+52|0)|0)!=0;i[(k[n>>2]|0)+17>>0]=g?1:0;g=(qr((k[d>>2]|0)+64|0)|0)!=0;i[(k[n>>2]|0)+18>>0]=g?1:0;break a}}}}while(0);_B(k[p>>2]|0);k[(k[n>>2]|0)+12>>2]=0;k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}while(0);j[(k[n>>2]|0)+24>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;j[(k[n>>2]|0)+26>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;j[(k[n>>2]|0)+28>>1]=(k[(k[n>>2]|0)+36>>2]|0)-35;j[(k[n>>2]|0)+30>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b=k[n>>2]|0;if((m[(k[n>>2]|0)+24>>1]|0|0)>127)i[b+21>>0]=127;else i[(k[n>>2]|0)+21>>0]=j[b+24>>1];k[(k[n>>2]|0)+12>>2]=k[p>>2];k[(k[n>>2]|0)+44>>2]=k[o>>2];k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}function BN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;d=j+4|0;h=j;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;k[h>>2]=0;if(k[(k[f>>2]|0)+44>>2]|0){k[e>>2]=k[(k[f>>2]|0)+44>>2];h=k[e>>2]|0;r=j;return h|0}i[(k[f>>2]|0)+22>>0]=k[d>>2];if((l[(k[f>>2]|0)+17>>0]|0|0)==1){c=(Lr(k[f>>2]|0)|0)!=0;d=k[f>>2]|0;if(!c){c=Qt(d,2)|0;k[h>>2]=c;if((k[h>>2]|0)==0&(k[g>>2]|0)!=0){g=Pt(k[f>>2]|0,4)|0;k[h>>2]=g}}else{do if((l[d+4>>0]|0|0)!=0?(Or(k[(k[f>>2]|0)+216>>2]|0,-1)|0)!=0:0){g=Qt(k[f>>2]|0,4)|0;k[h>>2]=g;if(!(k[h>>2]|0)){Or(k[(k[f>>2]|0)+216>>2]|0,1)|0;break}k[e>>2]=k[h>>2];h=k[e>>2]|0;r=j;return h|0}while(0);g=CN(k[(k[f>>2]|0)+216>>2]|0)|0;k[h>>2]=g}if(!(k[h>>2]|0)){i[(k[f>>2]|0)+17>>0]=2;k[(k[f>>2]|0)+40>>2]=k[(k[f>>2]|0)+28>>2];k[(k[f>>2]|0)+36>>2]=k[(k[f>>2]|0)+28>>2];k[(k[f>>2]|0)+32>>2]=k[(k[f>>2]|0)+28>>2];g=(k[f>>2]|0)+80|0;k[g>>2]=0;k[g+4>>2]=0}}k[e>>2]=k[h>>2];h=k[e>>2]|0;r=j;return h|0}function CN(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(i[(k[c>>2]|0)+46>>0]|0){k[b>>2]=8;d=k[b>>2]|0;r=e;return d|0}a=ft(k[c>>2]|0,0,1)|0;k[d>>2]=a;if(k[d>>2]|0){k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}i[(k[c>>2]|0)+44>>0]=1;a=(k[c>>2]|0)+52|0;if(oR(a,Ns(k[c>>2]|0)|0,48)|0){Ur(k[c>>2]|0,0,1);i[(k[c>>2]|0)+44>>0]=0;k[d>>2]=517}k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}function DN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+244>>2]|0)EN(k[(k[c>>2]|0)+244>>2]|0);aK(k[c>>2]|0,k[d>>2]|0);r=e;return}function EN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;sh(k[c>>2]|0);r=b;return}function FN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+624|0;f=H+92|0;g=H+88|0;h=H+84|0;i=H+80|0;j=H+76|0;l=H+72|0;z=H+68|0;o=H+64|0;x=H+60|0;n=H+56|0;w=H+52|0;B=H+48|0;m=H+44|0;t=H+40|0;s=H+36|0;q=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;p=H;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[z>>2]=k[i>>2];k[o>>2]=-1;k[x>>2]=0;k[n>>2]=k[j>>2]&-256;k[B>>2]=0;k[m>>2]=0;k[t>>2]=k[j>>2]&16;k[s>>2]=k[j>>2]&8;k[q>>2]=k[j>>2]&4;k[v>>2]=k[j>>2]&1;k[u>>2]=k[j>>2]&2;if(k[q>>2]|0)if((k[n>>2]|0)==16384|(k[n>>2]|0)==2048)d=1;else d=(k[n>>2]|0)==524288;else d=0;k[C>>2]=d&1;k[E>>2]=k[h>>2];b=k[1718]|0;if((b|0)!=(ER()|0)){b=ER()|0;k[1718]=b;ae(0,0)}d=k[z>>2]|0;c=d+44|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(c|0));d=k[E>>2]|0;do if((k[n>>2]|0)!=256){if(!d){A=uO(k[(k[g>>2]|0)+8>>2]|0,F)|0;k[B>>2]=A;if(!(k[B>>2]|0)){k[E>>2]=F;break}k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}}else{F=LO(d,k[j>>2]|0)|0;k[A>>2]=F;if(!(k[A>>2]|0)){F=Td(12,0)|0;k[A>>2]=F;if(!(k[A>>2]|0)){k[f>>2]=7;G=k[f>>2]|0;r=H;return G|0}}else k[o>>2]=k[k[A>>2]>>2];k[(k[z>>2]|0)+28>>2]=k[A>>2]}while(0);if(k[v>>2]|0)k[x>>2]=k[x>>2];if(k[u>>2]|0)k[x>>2]=k[x>>2]|2;if(k[q>>2]|0)k[x>>2]=k[x>>2]|64;if(k[t>>2]|0)k[x>>2]=k[x>>2]|131200;k[x>>2]=k[x>>2];do if((k[o>>2]|0)<0){F=MO(k[E>>2]|0,k[j>>2]|0,y,D,p)|0;k[B>>2]=F;if(k[B>>2]|0){k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}F=qO(k[E>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[o>>2]=F;if((k[o>>2]|0)<0?(F=LQ()|0,(k[F>>2]|0)!=21&(k[u>>2]|0)!=0):0){k[j>>2]=k[j>>2]&-7;k[x>>2]=k[x>>2]&-67;k[j>>2]=k[j>>2]|1;k[x>>2]=k[x>>2];k[v>>2]=1;F=qO(k[E>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[o>>2]=F}if((k[o>>2]|0)<0){F=yt(35186)|0;F=mO(F,44128,k[E>>2]|0,35186)|0;k[B>>2]=F;break}if(k[j>>2]&526336){NO(k[o>>2]|0,k[D>>2]|0,k[p>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(k[l>>2]|0)k[k[l>>2]>>2]=k[j>>2];if(k[(k[z>>2]|0)+28>>2]|0){k[k[(k[z>>2]|0)+28>>2]>>2]=k[o>>2];k[(k[(k[z>>2]|0)+28>>2]|0)+4>>2]=k[j>>2]}if(k[s>>2]|0)bc[k[6632>>2]&255](k[E>>2]|0)|0;if(k[s>>2]|0)k[m>>2]=k[m>>2]|32;if(k[v>>2]|0)k[m>>2]=k[m>>2]|2;k[w>>2]=(k[n>>2]|0)!=256&1;if(k[w>>2]|0)k[m>>2]=k[m>>2]|128;if(k[C>>2]|0)k[m>>2]=k[m>>2]|8;if(k[j>>2]&64)k[m>>2]=k[m>>2]|64;G=OO(k[g>>2]|0,k[o>>2]|0,k[i>>2]|0,k[h>>2]|0,k[m>>2]|0)|0;k[B>>2]=G}if(k[B>>2]|0)Ud(k[(k[z>>2]|0)+28>>2]|0);k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}function GN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+20|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[i+16>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;if((bc[k[6632>>2]&255](k[e>>2]|0)|0)==-1){b=LQ()|0;if((k[b>>2]|0)==2)k[h>>2]=5898;else{b=mO(2570,44225,k[e>>2]|0,35312)|0;k[h>>2]=b}k[d>>2]=k[h>>2];b=k[d>>2]|0;r=i;return b|0}do if(k[f>>2]&1){b=gc[k[6644>>2]&255](k[e>>2]|0,g)|0;k[h>>2]=b;if(k[h>>2]|0){k[h>>2]=0;break}if(BO(k[g>>2]|0,0,0)|0){b=mO(1290,44459,k[e>>2]|0,35322)|0;k[h>>2]=b}lO(0,k[g>>2]|0,35324)}while(0);k[d>>2]=k[h>>2];b=k[d>>2]|0;r=i;return b|0}function HN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+96|0;e=h+84|0;i=h+80|0;f=h+76|0;g=h;k[h+88>>2]=a;k[e>>2]=b;k[i>>2]=c;k[f>>2]=d;if(!(k[i>>2]|0)){i=0==(gc[k[6488>>2]&255](k[e>>2]|0,g)|0);k[k[f>>2]>>2]=(i?(k[g+36>>2]|0)>0:0)&1;r=h;return 0}else{i=(gc[k[6464>>2]&255](k[e>>2]|0,6)|0)==0&1;k[k[f>>2]>>2]=i;r=h;return 0}return 0}function IN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+128|0;s=q+112|0;e=q+108|0;f=q+104|0;o=q+100|0;l=q+96|0;m=q+92|0;n=q+88|0;p=q+84|0;g=q+80|0;h=q+4|0;j=q;k[q+116>>2]=a;k[s>>2]=b;k[e>>2]=c;k[f>>2]=d;k[o>>2]=0;k[m>>2]=1;k[n>>2]=k[s>>2];k[p>>2]=0;while(1){k[g>>2]=0;if(gc[k[6764>>2]&255](k[n>>2]|0,h)|0){s=LQ()|0;if((k[s>>2]|0)!=2){s=yt(35436)|0;s=mO(s,44313,k[n>>2]|0,35436)|0;k[o>>2]=s}}else k[g>>2]=(k[h+12>>2]&61440|0)==40960&1;if(k[g>>2]|0){if(!(k[p>>2]|0)){s=Sd(k[e>>2]|0)|0;k[p>>2]=s;if(!(k[p>>2]|0))k[o>>2]=7}else{s=(k[m>>2]|0)+1|0;k[m>>2]=s;if((s|0)>100){s=yt(35447)|0;k[o>>2]=s}}do if(!(k[o>>2]|0)){s=Yb[k[6752>>2]&255](k[n>>2]|0,k[p>>2]|0,(k[e>>2]|0)-1|0)|0;k[l>>2]=s;if((k[l>>2]|0)<0){s=yt(35453)|0;s=mO(s,44304,k[n>>2]|0,35453)|0;k[o>>2]=s;break}do if((i[k[p>>2]>>0]|0)!=47){s=Tf(k[n>>2]|0)|0;k[j>>2]=s;while(1){if((k[j>>2]|0)<=0)break;if((i[(k[n>>2]|0)+((k[j>>2]|0)-1)>>0]|0)==47)break;k[j>>2]=(k[j>>2]|0)+-1}if(((k[l>>2]|0)+(k[j>>2]|0)+1|0)>(k[e>>2]|0)){s=yt(35459)|0;k[o>>2]=s;break}else{cS((k[p>>2]|0)+(k[j>>2]|0)|0,k[p>>2]|0,(k[l>>2]|0)+1|0)|0;bS(k[p>>2]|0,k[n>>2]|0,k[j>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[j>>2]|0);break}}while(0);i[(k[p>>2]|0)+(k[l>>2]|0)>>0]=0}while(0);k[n>>2]=k[p>>2]}if((k[o>>2]|0)==0?(k[n>>2]|0)!=(k[f>>2]|0):0){s=KO(k[n>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[o>>2]=s}if(!(k[g>>2]|0)){e=30;break}k[n>>2]=k[f>>2];if(k[o>>2]|0){e=30;break}}if((e|0)==30){Ud(k[p>>2]|0);r=q;return k[o>>2]|0}return 0}function JN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[j+20>>2]=a;k[d>>2]=b;k[e>>2]=c;dS(k[e>>2]|0,0,k[d>>2]|0)|0;c=ER()|0;k[1718]=c;c=qO(44446,0,0)|0;k[f>>2]=c;if((k[f>>2]|0)<0){Ob(h|0)|0;c=k[e>>2]|0;i[c>>0]=i[h>>0]|0;i[c+1>>0]=i[h+1>>0]|0;i[c+2>>0]=i[h+2>>0]|0;i[c+3>>0]=i[h+3>>0]|0;c=(k[e>>2]|0)+4|0;i[c>>0]=i[6872]|0;i[c+1>>0]=i[6873]|0;i[c+2>>0]=i[6874]|0;i[c+3>>0]=i[6875]|0;k[d>>2]=8;c=k[d>>2]|0;r=j;return c|0}do{c=Yb[k[6536>>2]&255](k[f>>2]|0,k[e>>2]|0,k[d>>2]|0)|0;k[g>>2]=c;if((k[g>>2]|0)>=0)break;c=LQ()|0}while((k[c>>2]|0)==4);lO(0,k[f>>2]|0,35583);c=k[d>>2]|0;r=j;return c|0}function KN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[d+8>>2]=a;k[e>>2]=b;k[c>>2]=((k[e>>2]|0)+999999|0)/1e6|0;JR(k[c>>2]|0)|0;r=d;return (k[c>>2]|0)*1e6|0}function LN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+32|0;e=d+12|0;f=d;c=d+8|0;k[d+16>>2]=a;k[e>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;b=NN(0,f)|0;k[c>>2]=b;b=f;p[k[e>>2]>>3]=(+((k[b>>2]|0)>>>0)+4294967296.0*+(k[b+4>>2]|0))/864.0e5;r=d;return k[c>>2]|0}function MN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=r;r=r+16|0;k[d+8>>2]=a;k[d+4>>2]=b;k[d>>2]=c;c=LQ()|0;r=d;return k[c>>2]|0}function NN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+32|0;e=d+12|0;c=d+8|0;f=d;k[d+16>>2]=a;k[e>>2]=b;k[c>>2]=0;Qb(f|0,0)|0;b=k[f>>2]|0;b=kS(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=$R(1045635584,49096,b|0,L|0)|0;a=(k[f+4>>2]|0)/1e3|0;a=$R(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;b=k[e>>2]|0;k[b>>2]=a;k[b+4>>2]=L;r=d;return k[c>>2]|0}function ON(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[i+16>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=12;if(!(k[d>>2]|0)){k[g>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>>>0>=28)break;if(k[6436+((k[f>>2]|0)*12|0)+8>>2]|0)k[6436+((k[f>>2]|0)*12|0)+4>>2]=k[6436+((k[f>>2]|0)*12|0)+8>>2];k[f>>2]=(k[f>>2]|0)+1}h=k[g>>2]|0;r=i;return h|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>>>0>=28){h=16;break}b=(rR(k[d>>2]|0,k[6436+((k[f>>2]|0)*12|0)>>2]|0)|0)==0;c=k[f>>2]|0;if(b)break;k[f>>2]=c+1}if((h|0)==16){h=k[g>>2]|0;r=i;return h|0}if(!(k[6436+(c*12|0)+8>>2]|0))k[6436+((k[f>>2]|0)*12|0)+8>>2]=k[6436+((k[f>>2]|0)*12|0)+4>>2];k[g>>2]=0;if(!(k[e>>2]|0))k[e>>2]=k[6436+((k[f>>2]|0)*12|0)+8>>2];k[6436+((k[f>>2]|0)*12|0)+4>>2]=k[e>>2];h=k[g>>2]|0;r=i;return h|0}function PN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;c=f+4|0;d=f;k[f+8>>2]=a;k[c>>2]=b;k[d>>2]=0;while(1){if((k[d>>2]|0)>>>0>=28){a=6;break}a=(rR(k[c>>2]|0,k[6436+((k[d>>2]|0)*12|0)>>2]|0)|0)==0;b=k[d>>2]|0;if(a){a=4;break}k[d>>2]=b+1}if((a|0)==4){k[e>>2]=k[6436+(b*12|0)+4>>2];e=k[e>>2]|0;r=f;return e|0}else if((a|0)==6){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function QN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;c=f+4|0;d=f;k[f+8>>2]=a;k[c>>2]=b;k[d>>2]=-1;a:do if(k[c>>2]|0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=27)break a;if(!(rR(k[c>>2]|0,k[6436+((k[d>>2]|0)*12|0)>>2]|0)|0))break a;k[d>>2]=(k[d>>2]|0)+1}}while(0);k[d>>2]=(k[d>>2]|0)+1;while(1){if((k[d>>2]|0)>=28){c=11;break}a=k[d>>2]|0;if(k[6436+((k[d>>2]|0)*12|0)+4>>2]|0){c=9;break}k[d>>2]=a+1}if((c|0)==9){k[e>>2]=k[6436+(a*12|0)>>2];e=k[e>>2]|0;r=f;return e|0}else if((c|0)==11){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function RN(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 6360}function SN(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[c>>2];ZN(k[c>>2]|0,0)|0;Ud(k[(k[d>>2]|0)+24>>2]|0);a=EO(k[c>>2]|0)|0;r=b;return a|0}function TN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;f=l+28|0;n=l+24|0;g=l+20|0;h=l+16|0;m=l;j=l+12|0;i=l+8|0;k[n>>2]=a;k[g>>2]=b;k[h>>2]=c;b=m;k[b>>2]=d;k[b+4>>2]=e;k[j>>2]=k[n>>2];b=m;b=DO(k[j>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=b;if((k[i>>2]|0)==(k[h>>2]|0)){k[f>>2]=0;n=k[f>>2]|0;r=l;return n|0}if((k[i>>2]|0)<0){k[f>>2]=266;n=k[f>>2]|0;r=l;return n|0}else{zO(k[j>>2]|0,0);dS((k[g>>2]|0)+(k[i>>2]|0)|0,0,(k[h>>2]|0)-(k[i>>2]|0)|0)|0;k[f>>2]=522;n=k[f>>2]|0;r=l;return n|0}return 0}function UN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+28|0;n=m+24|0;g=m+20|0;h=m+16|0;i=m;j=m+12|0;l=m+8|0;k[n>>2]=a;k[g>>2]=b;k[h>>2]=c;b=i;k[b>>2]=d;k[b+4>>2]=e;k[j>>2]=k[n>>2];k[l>>2]=0;while(1){n=i;n=xO(k[j>>2]|0,k[n>>2]|0,k[n+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[l>>2]=n;if(!((n|0)<(k[h>>2]|0)?(k[l>>2]|0)>0:0))break;k[h>>2]=(k[h>>2]|0)-(k[l>>2]|0);b=k[l>>2]|0;n=i;b=$R(k[n>>2]|0,k[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=i;k[n>>2]=b;k[n+4>>2]=L;k[g>>2]=(k[g>>2]|0)+(k[l>>2]|0)}if((k[h>>2]|0)<=(k[l>>2]|0)){k[f>>2]=0;n=k[f>>2]|0;r=m;return n|0}if((k[l>>2]|0)<0?(k[(k[j>>2]|0)+20>>2]|0)!=28:0){k[f>>2]=778;n=k[f>>2]|0;r=m;return n|0}zO(k[j>>2]|0,0);k[f>>2]=13;n=k[f>>2]|0;r=m;return n|0}function VN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+16|0;e=h;f=h+12|0;g=h+8|0;k[i>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=k[i>>2];if((k[(k[f>>2]|0)+40>>2]|0)>0){i=e;a=k[(k[f>>2]|0)+40>>2]|0;a=$R(k[i>>2]|0,k[i+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=_R(a|0,L|0,1,0)|0;i=k[(k[f>>2]|0)+40>>2]|0;i=iS(a|0,L|0,i|0,((i|0)<0)<<31>>31|0)|0;a=k[(k[f>>2]|0)+40>>2]|0;a=kS(i|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;i=e;k[i>>2]=a;k[i+4>>2]=L}i=e;i=CO(k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0;k[g>>2]=i;if(k[g>>2]|0){g=k[f>>2]|0;i=LQ()|0;zO(g,k[i>>2]|0);i=mO(1546,44151,k[(k[f>>2]|0)+32>>2]|0,32998)|0;k[d>>2]=i;i=k[d>>2]|0;r=h;return i|0}else{k[d>>2]=0;i=k[d>>2]|0;r=h;return i|0}return 0}function WN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0;g=r;r=r+32|0;c=g+28|0;n=g+24|0;l=g+20|0;f=g+16|0;e=g+12|0;h=g+8|0;i=g+4|0;d=g;k[n>>2]=a;k[l>>2]=b;k[e>>2]=k[n>>2];k[h>>2]=k[l>>2]&16;k[i>>2]=(k[l>>2]&15|0)==3&1;b=BO(k[(k[e>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;b=k[e>>2]|0;if(k[f>>2]|0){n=LQ()|0;zO(b,k[n>>2]|0);n=mO(1034,44435,k[(k[e>>2]|0)+32>>2]|0,32953)|0;k[c>>2]=n;n=k[c>>2]|0;r=g;return n|0}if((m[b+18>>1]|0)&8){n=gc[k[6644>>2]&255](k[(k[e>>2]|0)+32>>2]|0,d)|0;k[f>>2]=n;if(!(k[f>>2]|0)){BO(k[d>>2]|0,0,0)|0;lO(k[e>>2]|0,k[d>>2]|0,32967)}else k[f>>2]=0;n=(k[e>>2]|0)+18|0;j[n>>1]=(m[n>>1]|0)&-9}k[c>>2]=k[f>>2];n=k[c>>2]|0;r=g;return n|0}function XN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+96|0;c=g+88|0;d=g+84|0;e=g+80|0;h=g+76|0;f=g;k[d>>2]=a;k[e>>2]=b;b=gc[k[6500>>2]&255](k[(k[d>>2]|0)+12>>2]|0,f)|0;k[h>>2]=b;if(k[h>>2]|0){b=k[d>>2]|0;h=LQ()|0;zO(b,k[h>>2]|0);k[c>>2]=1802;h=k[c>>2]|0;r=g;return h|0}b=k[f+36>>2]|0;h=k[e>>2]|0;k[h>>2]=b;k[h+4>>2]=((b|0)<0)<<31>>31;h=k[e>>2]|0;if((k[h>>2]|0)==1&(k[h+4>>2]|0)==0){h=k[e>>2]|0;k[h>>2]=0;k[h+4>>2]=0}k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function YN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;c=j+24|0;m=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=k[m>>2];k[h>>2]=k[(k[e>>2]|0)+24>>2];k[f>>2]=0;if((l[(k[e>>2]|0)+16>>0]|0|0)>0){i[(k[e>>2]|0)+16>>0]=k[d>>2];Qa(k[h>>2]|0,0)|0;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=gc[k[6656>>2]&255](k[h>>2]|0,511)|0;k[f>>2]=m;if((k[f>>2]|0)>=0){i[(k[e>>2]|0)+16>>0]=k[d>>2];k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}m=LQ()|0;k[g>>2]=k[m>>2];if(17!=(k[g>>2]|0)){m=AO(k[g>>2]|0,3850)|0;k[f>>2]=m;if((k[f>>2]|0)!=5)zO(k[e>>2]|0,k[g>>2]|0)}else k[f>>2]=5;k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}function ZN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;c=j+24|0;m=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=k[m>>2];k[h>>2]=k[(k[e>>2]|0)+24>>2];if((l[(k[e>>2]|0)+16>>0]|0|0)==(k[d>>2]|0)){k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}if((k[d>>2]|0)==1){i[(k[e>>2]|0)+16>>0]=1;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=bc[k[6668>>2]&255](k[h>>2]|0)|0;k[f>>2]=m;if((k[f>>2]|0)>=0){i[(k[e>>2]|0)+16>>0]=0;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=LQ()|0;k[g>>2]=k[m>>2];if((k[g>>2]|0)==2)k[f>>2]=0;else{k[f>>2]=2058;zO(k[e>>2]|0,k[g>>2]|0)}k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}function _N(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;h=d+16|0;e=d+12|0;c=d+8|0;f=d+4|0;g=d;k[h>>2]=a;k[e>>2]=b;k[c>>2]=0;k[f>>2]=0;k[g>>2]=k[h>>2];b=(gc[k[6464>>2]&255](k[(k[g>>2]|0)+24>>2]|0,0)|0)==0&1;k[f>>2]=b;k[k[e>>2]>>2]=k[f>>2];r=d;return k[c>>2]|0}function $N(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;j=r;r=r+32|0;h=j;d=j+28|0;n=j+24|0;m=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;i=j+4|0;k[n>>2]=a;k[m>>2]=b;k[e>>2]=c;k[f>>2]=k[n>>2];do switch(k[m>>2]|0){case 1:{k[k[e>>2]>>2]=l[(k[f>>2]|0)+16>>0];k[d>>2]=0;break}case 4:{k[k[e>>2]>>2]=k[(k[f>>2]|0)+20>>2];k[d>>2]=0;break}case 6:{k[(k[f>>2]|0)+40>>2]=k[k[e>>2]>>2];k[d>>2]=0;break}case 5:{n=k[e>>2]|0;n=sO(k[f>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[g>>2]=n;k[d>>2]=k[g>>2];break}case 10:{tO(k[f>>2]|0,4,k[e>>2]|0);k[d>>2]=0;break}case 13:{tO(k[f>>2]|0,16,k[e>>2]|0);k[d>>2]=0;break}case 12:{k[h>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+16>>2];n=Yd(18391,h)|0;k[k[e>>2]>>2]=n;k[d>>2]=0;break}case 16:{n=k[(k[(k[f>>2]|0)+4>>2]|0)+8>>2]|0;n=Td(n,((n|0)<0)<<31>>31)|0;k[i>>2]=n;if(k[i>>2]|0){uO(k[(k[(k[f>>2]|0)+4>>2]|0)+8>>2]|0,k[i>>2]|0)|0;k[k[e>>2]>>2]=k[i>>2]}k[d>>2]=0;break}case 20:{n=vO(k[f>>2]|0)|0;k[k[e>>2]>>2]=n;k[d>>2]=0;break}default:k[d>>2]=12}while(0);r=j;return k[d>>2]|0}function aO(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 4096}function bO(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c+4|0;b=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[b>>2]=0;if(!((m[(k[d>>2]|0)+18>>1]|0)&16)){e=k[b>>2]|0;r=c;return e|0}k[b>>2]=k[b>>2]|4096;e=k[b>>2]|0;r=c;return e|0}function cO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;v=u+32|0;e=u+28|0;f=u+24|0;g=u+20|0;o=u+16|0;n=u+12|0;q=u+8|0;p=u+4|0;s=u;l=u+40|0;h=u+38|0;i=u+36|0;k[v>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[o>>2]=k[v>>2];k[n>>2]=k[(k[o>>2]|0)+36>>2];k[p>>2]=k[k[n>>2]>>2];k[s>>2]=0;j[l>>1]=(1<<(k[e>>2]|0)+(k[f>>2]|0))-(1<>2]);if(k[g>>2]&1){j[h>>1]=0;k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((k[q>>2]|0)!=(k[n>>2]|0))j[h>>1]=m[h>>1]|0|(m[(k[q>>2]|0)+10>>1]|0);k[q>>2]=k[(k[q>>2]|0)+4>>2]}if(!((m[l>>1]|0)&(m[h>>1]|0))){v=rO(k[o>>2]|0,2,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v}else k[s>>2]=0;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+12|0;j[v>>1]=(m[v>>1]|0)&~(m[l>>1]|0);v=(k[n>>2]|0)+10|0;j[v>>1]=(m[v>>1]|0)&~(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}if(!(k[g>>2]&4)){k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((m[(k[q>>2]|0)+12>>1]|0)&(m[l>>1]|0)){t=28;break}if((m[(k[q>>2]|0)+10>>1]|0)&(m[l>>1]|0)){t=28;break}k[q>>2]=k[(k[q>>2]|0)+4>>2]}if((t|0)==28)k[s>>2]=5;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=rO(k[o>>2]|0,1,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+12|0;j[v>>1]=m[v>>1]|0|(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}j[i>>1]=0;k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((m[(k[q>>2]|0)+12>>1]|0)&(m[l>>1]|0)){t=16;break}j[i>>1]=m[i>>1]|0|(m[(k[q>>2]|0)+10>>1]|0);k[q>>2]=k[(k[q>>2]|0)+4>>2]}if((t|0)==16)k[s>>2]=5;do if(!(k[s>>2]|0))if(!((m[i>>1]|0)&(m[l>>1]|0))){v=rO(k[o>>2]|0,0,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v;break}else{k[s>>2]=0;break}while(0);if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+10|0;j[v>>1]=m[v>>1]|0|(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}function dO(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;hO();jO();r=b;return}function eO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+24|0;j=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;h=i+4|0;f=i;k[j>>2]=a;k[d>>2]=b;k[f>>2]=k[j>>2];k[e>>2]=k[(k[f>>2]|0)+36>>2];if(!(k[e>>2]|0)){k[c>>2]=0;j=k[c>>2]|0;r=i;return j|0}k[g>>2]=k[k[e>>2]>>2];k[h>>2]=(k[g>>2]|0)+32;while(1){if((k[k[h>>2]>>2]|0)==(k[e>>2]|0))break;k[h>>2]=(k[k[h>>2]>>2]|0)+4}k[k[h>>2]>>2]=k[(k[e>>2]|0)+4>>2];Ud(k[e>>2]|0);k[(k[f>>2]|0)+36>>2]=0;hO();j=(k[g>>2]|0)+28|0;k[j>>2]=(k[j>>2]|0)+-1;if(!(k[(k[g>>2]|0)+28>>2]|0)){if((k[d>>2]|0)!=0?(k[(k[g>>2]|0)+12>>2]|0)>=0:0)bc[k[6632>>2]&255](k[(k[g>>2]|0)+8>>2]|0)|0;iO(k[f>>2]|0)}jO();k[c>>2]=0;j=k[c>>2]|0;r=i;return j|0}function fO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=r;r=r+32|0;g=f+8|0;k[f+16>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;k[k[g>>2]>>2]=0;r=f;return 0}function gO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=r;r=r+16|0;k[e+12>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[e+8>>2]=d;r=e;return 0}function hO(){return}function iO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[e>>2]=k[(k[(k[b>>2]|0)+8>>2]|0)+20>>2];if(!(k[e>>2]|0)){r=f;return}if(k[(k[e>>2]|0)+28>>2]|0){r=f;return}a=kO()|0;k[d>>2]=a;k[c>>2]=0;while(1){a=k[e>>2]|0;if((k[c>>2]|0)>=(m[(k[e>>2]|0)+20>>1]|0|0))break;if((k[a+12>>2]|0)>=0)gc[k[6716>>2]&255](k[(k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]<<2)>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0;else Ud(k[(k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+(k[d>>2]|0)}Ud(k[a+24>>2]|0);if((k[(k[e>>2]|0)+12>>2]|0)>=0){lO(k[b>>2]|0,k[(k[e>>2]|0)+12>>2]|0,33574);k[(k[e>>2]|0)+12>>2]=-1}k[(k[k[e>>2]>>2]|0)+20>>2]=0;Ud(k[e>>2]|0);r=f;return}function jO(){return}function kO(){var a=0,b=0,c=0,d=0,e=0;d=r;r=r+16|0;a=d+8|0;c=d+4|0;b=d;k[c>>2]=32768;e=Zb[k[6740>>2]&255]()|0;k[b>>2]=e;if((k[b>>2]|0)<(k[c>>2]|0)){k[a>>2]=1;e=k[a>>2]|0;r=d;return e|0}else{k[a>>2]=(k[b>>2]|0)/(k[c>>2]|0)|0;e=k[a>>2]|0;r=d;return e|0}return 0}function lO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;if(!(bc[k[6452>>2]&255](k[g>>2]|0)|0)){r=f;return}if(k[d>>2]|0)d=k[(k[d>>2]|0)+32>>2]|0;else d=0;mO(4106,44091,d,k[e>>2]|0)|0;r=f;return}function mO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;j=m;e=m+40|0;f=m+36|0;g=m+32|0;h=m+28|0;l=m+24|0;i=m+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;c=LQ()|0;k[i>>2]=k[c>>2];c=MQ(k[i>>2]|0)|0;k[l>>2]=c;if(!(k[g>>2]|0))k[g>>2]=18402;c=k[e>>2]|0;a=k[i>>2]|0;i=k[f>>2]|0;d=k[g>>2]|0;b=k[l>>2]|0;k[j>>2]=k[h>>2];k[j+4>>2]=a;k[j+8>>2]=i;k[j+12>>2]=d;k[j+16>>2]=b;$d(c,44097,j);r=m;return k[e>>2]|0}function nO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;e=d;h=d+12|0;g=d+8|0;f=d+4|0;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;c=k[h>>2]|0;a=k[g>>2]|0;k[e>>2]=k[f>>2];a=OQ(c,a,e)|0;r=d;return a|0}function oO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=r;r=r+544|0;j=h;c=h+20|0;l=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h+24|0;k[l>>2]=a;k[d>>2]=b;k[e>>2]=-1;k[j>>2]=k[l>>2];_d(512,g,18391,j)|0;a=uR(g)|0;k[f>>2]=a;while(1){if((k[f>>2]|0)<=0)break;if((i[g+(k[f>>2]|0)>>0]|0)==47)break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)>0)i[g+(k[f>>2]|0)>>0]=0;else{if((i[g>>0]|0)!=47)i[g>>0]=46;i[g+1>>0]=0}l=qO(g,0,0)|0;k[e>>2]=l;k[k[d>>2]>>2]=k[e>>2];if((k[e>>2]|0)>=0){k[c>>2]=0;l=k[c>>2]|0;r=h;return l|0}else{l=mO(yt(32912)|0,44232,g,32912)|0;k[c>>2]=l;l=k[c>>2]|0;r=h;return l|0}return 0}function pO(){return rb(30)|0}function qO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+112|0;j=l;d=l+100|0;e=l+96|0;f=l+92|0;g=l+88|0;h=l+84|0;i=l+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=(k[f>>2]|0)!=0?k[f>>2]|0:420;while(1){a=Yb[k[6440>>2]&255](k[d>>2]|0,k[e>>2]|524288,k[h>>2]|0)|0;k[g>>2]=a;if((k[g>>2]|0)<0){a=LQ()|0;if((k[a>>2]|0)==4)continue;else break}if((k[g>>2]|0)>=3)break;bc[k[6452>>2]&255](k[g>>2]|0)|0;a=k[g>>2]|0;k[j>>2]=k[d>>2];k[j+4>>2]=a;$d(28,44319,j);k[g>>2]=-1;if((Yb[k[6440>>2]&255](44362,k[e>>2]|0,k[f>>2]|0)|0)<0)break}if(!((k[g>>2]|0)>=0&(k[f>>2]|0)!=0)){a=k[g>>2]|0;r=l;return a|0}if(gc[k[6500>>2]&255](k[g>>2]|0,i)|0){a=k[g>>2]|0;r=l;return a|0}if(k[i+36>>2]|0){a=k[g>>2]|0;r=l;return a|0}if((k[i+12>>2]&511|0)==(k[f>>2]|0)){a=k[g>>2]|0;r=l;return a|0}gc[k[6608>>2]&255](k[g>>2]|0,k[f>>2]|0)|0;a=k[g>>2]|0;r=l;return a|0}function rO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;m=n;o=n+40|0;e=n+36|0;f=n+32|0;g=n+28|0;i=n+24|0;h=n+8|0;l=n+4|0;k[o>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[l>>2]=0;k[i>>2]=k[(k[(k[o>>2]|0)+8>>2]|0)+20>>2];if((k[(k[i>>2]|0)+12>>2]|0)<0){o=k[l>>2]|0;r=n;return o|0};k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;j[h>>1]=k[e>>2];j[h+2>>1]=0;k[h+4>>2]=k[f>>2];k[h+8>>2]=k[g>>2];a=k[1631]|0;o=k[(k[i>>2]|0)+12>>2]|0;k[m>>2]=h;o=Yb[a&255](o,13,m)|0;k[l>>2]=o;k[l>>2]=(k[l>>2]|0)!=-1?0:5;o=k[l>>2]|0;r=n;return o|0}function sO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+128|0;d=m+112|0;e=m+108|0;f=m+16|0;j=m+8|0;g=m+32|0;i=m+28|0;l=m+24|0;h=m;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a:do if((k[(k[e>>2]|0)+40>>2]|0)>0){if(gc[k[6500>>2]&255](k[(k[e>>2]|0)+12>>2]|0,g)|0){k[d>>2]=1802;a=k[d>>2]|0;r=m;return a|0}b=k[(k[e>>2]|0)+40>>2]|0;b=$R(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=_R(b|0,L|0,1,0)|0;f=k[(k[e>>2]|0)+40>>2]|0;f=iS(b|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;b=k[(k[e>>2]|0)+40>>2]|0;b=kS(f|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;k[f>>2]=b;k[f+4>>2]=L;f=j;b=k[f+4>>2]|0;a=k[g+36>>2]|0;c=((a|0)<0)<<31>>31;if((b|0)>(c|0)|((b|0)==(c|0)?(k[f>>2]|0)>>>0>a>>>0:0)){k[i>>2]=k[g+40>>2];k[l>>2]=0;g=ha((k[g+36>>2]|0)/(k[i>>2]|0)|0,k[i>>2]|0)|0;g=g+(k[i>>2]|0)-1|0;a=h;k[a>>2]=g;k[a+4>>2]=((g|0)<0)<<31>>31;while(1){c=h;g=k[c>>2]|0;c=k[c+4>>2]|0;f=j;a=k[i>>2]|0;a=$R(k[f>>2]|0,k[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=_R(a|0,L|0,1,0)|0;f=L;if(!((c|0)<(f|0)|(c|0)==(f|0)&g>>>0>>0))break a;g=h;c=k[g+4>>2]|0;a=j;f=k[a+4>>2]|0;if((c|0)>(f|0)|((c|0)==(f|0)?(k[g>>2]|0)>>>0>=(k[a>>2]|0)>>>0:0)){g=j;g=_R(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;a=h;k[a>>2]=g;k[a+4>>2]=L}a=h;a=xO(k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0,18402,1)|0;k[l>>2]=a;if((k[l>>2]|0)!=1)break;g=k[i>>2]|0;a=h;g=$R(k[a>>2]|0,k[a+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;a=h;k[a>>2]=g;k[a+4>>2]=L}k[d>>2]=778;a=k[d>>2]|0;r=m;return a|0}}while(0);k[d>>2]=0;a=k[d>>2]|0;r=m;return a|0}function tO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+4|0;d=g+8|0;f=g;k[e>>2]=a;i[d>>0]=b;k[f>>2]=c;if((k[k[f>>2]>>2]|0)<0){k[k[f>>2]>>2]=((m[(k[e>>2]|0)+18>>1]|0)&(l[d>>0]|0)|0)!=0&1;r=g;return}d=l[d>>0]|0;if(!(k[k[f>>2]>>2]|0)){f=(k[e>>2]|0)+18|0;j[f>>1]=(m[f>>1]|0)&~d;r=g;return}else{f=(k[e>>2]|0)+18|0;j[f>>1]=m[f>>1]|0|d;r=g;return}}function uO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+64|0;g=l+8|0;j=l+48|0;c=l+44|0;d=l+40|0;h=l+36|0;e=l+32|0;f=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;i[k[d>>2]>>0]=0;b=wO()|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[j>>2]=6410;j=k[j>>2]|0;r=l;return j|0}while(1){ae(8,f);i[(k[d>>2]|0)+((k[c>>2]|0)-2)>>0]=0;a=k[c>>2]|0;b=k[d>>2]|0;n=f;o=k[n>>2]|0;n=k[n+4>>2]|0;k[g>>2]=k[h>>2];m=g+8|0;k[m>>2]=o;k[m+4>>2]=n;k[g+16>>2]=0;_d(a,b,44372,g)|0;if(i[(k[d>>2]|0)+((k[c>>2]|0)-2)>>0]|0){c=5;break}o=k[e>>2]|0;k[e>>2]=o+1;if((o|0)>10){c=5;break}if(gc[k[6464>>2]&255](k[d>>2]|0,0)|0){c=7;break}}if((c|0)==5){k[j>>2]=1;o=k[j>>2]|0;r=l;return o|0}else if((c|0)==7){k[j>>2]=0;o=k[j>>2]|0;r=l;return o|0}return 0}function vO(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+80|0;b=d+76|0;c=d;k[b>>2]=a;if(!(k[(k[b>>2]|0)+8>>2]|0)){a=0;a=a&1;r=d;return a|0}if(gc[k[6488>>2]&255](k[(k[b>>2]|0)+32>>2]|0,c)|0){a=1;a=a&1;r=d;return a|0}a=(k[c+72>>2]|0)!=(k[(k[(k[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;r=d;return a|0}function wO(){var a=0,b=0,c=0,d=0,e=0,f=0;e=r;r=r+96|0;c=e+84|0;b=e+80|0;a=e+4|0;d=e;k[b>>2]=0;k[d>>2]=k[243];if(!(k[1693]|0)){f=Ab(44389)|0;k[1693]=f}if(!(k[1694]|0)){f=Ab(44403)|0;k[1694]=f}while(1){if((((k[d>>2]|0)!=0?(gc[k[6488>>2]&255](k[d>>2]|0,a)|0)==0:0)?(k[a+12>>2]&61440|0)==16384:0)?(gc[k[6464>>2]&255](k[d>>2]|0,3)|0)==0:0){a=9;break}if((k[b>>2]|0)>>>0>=6){a=12;break}f=k[b>>2]|0;k[b>>2]=f+1;k[d>>2]=k[6772+(f<<2)>>2]}if((a|0)==9){k[c>>2]=k[d>>2];f=k[c>>2]|0;r=e;return f|0}else if((a|0)==12){k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}return 0}function xO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;g=f+16|0;j=f;i=f+12|0;h=f+8|0;k[g>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[h>>2]=e;d=j;d=yO(k[(k[g>>2]|0)+12>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[i>>2]|0,k[h>>2]|0,(k[g>>2]|0)+20|0)|0;r=f;return d|0}function yO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;g=p+32|0;h=p+8|0;i=p+28|0;j=p+24|0;l=p+20|0;n=p+16|0;m=p;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[n>>2]=0;k[j>>2]=k[j>>2]&131071;do{d=FR(k[g>>2]|0,k[h>>2]|0,0)|0;f=m;k[f>>2]=d;k[f+4>>2]=((d|0)<0)<<31>>31;if((k[m+4>>2]|0)<0){o=3;break}f=Yb[k[6572>>2]&255](k[g>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[n>>2]=f;if((k[n>>2]|0)>=0)break;f=LQ()|0}while((k[f>>2]|0)==4);if((o|0)==3)k[n>>2]=-1;if((k[n>>2]|0)>=0){o=k[n>>2]|0;r=p;return o|0}o=LQ()|0;k[k[l>>2]>>2]=k[o>>2];o=k[n>>2]|0;r=p;return o|0}function zO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+20>>2]=k[e>>2];r=c;return}function AO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;switch(k[f>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{k[c>>2]=5;break}case 1:{k[c>>2]=3;break}default:k[c>>2]=k[d>>2]}r=e;return k[c>>2]|0}function BO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;d=e;k[f>>2]=a;k[e+8>>2]=b;k[e+4>>2]=c;b=AR(k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function CO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g;f=g+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;while(1){a=gc[k[6512>>2]&255](k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=a;if((k[f>>2]|0)>=0){b=4;break}a=LQ()|0;if((k[a>>2]|0)!=4){b=4;break}}if((b|0)==4){r=g;return k[f>>2]|0}return 0}function DO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+36|0;g=p+32|0;h=p+8|0;i=p+28|0;j=p+24|0;l=p+20|0;n=p+16|0;m=p;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=0;do{a=FR(k[(k[g>>2]|0)+12>>2]|0,k[h>>2]|0,0)|0;d=m;k[d>>2]=a;k[d+4>>2]=((a|0)<0)<<31>>31;if((k[m+4>>2]|0)<0){o=3;break}d=Yb[k[6536>>2]&255](k[(k[g>>2]|0)+12>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=d;if((k[l>>2]|0)==(k[j>>2]|0))break;if((k[l>>2]|0)>=0){if((k[l>>2]|0)>0){k[j>>2]=(k[j>>2]|0)-(k[l>>2]|0);a=k[l>>2]|0;d=h;a=$R(k[d>>2]|0,k[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=h;k[d>>2]=a;k[d+4>>2]=L;k[n>>2]=(k[n>>2]|0)+(k[l>>2]|0);k[i>>2]=(k[i>>2]|0)+(k[l>>2]|0)}}else{d=LQ()|0;if((k[d>>2]|0)!=4){o=8;break}k[l>>2]=1}}while((k[l>>2]|0)>0);if((o|0)==3){n=k[g>>2]|0;o=LQ()|0;zO(n,k[o>>2]|0);k[f>>2]=-1;o=k[f>>2]|0;r=p;return o|0}else if((o|0)==8){k[n>>2]=0;d=k[g>>2]|0;o=LQ()|0;zO(d,k[o>>2]|0)}k[f>>2]=(k[l>>2]|0)+(k[n>>2]|0);o=k[f>>2]|0;r=p;return o|0}function EO(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if((k[(k[b>>2]|0)+12>>2]|0)>=0){lO(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,31321);k[(k[b>>2]|0)+12>>2]=-1}Ud(k[(k[b>>2]|0)+28>>2]|0);a=k[b>>2]|0;b=a+44|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return 0}function FO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 6796}function GO(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=EO(k[c>>2]|0)|0;r=b;return a|0}function HO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function IO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function JO(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[c+4>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=0;r=c;return 0}function KO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;l=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;j=m+8|0;h=m+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=Tf(k[e>>2]|0)|0;k[j>>2]=a;k[h>>2]=0;do if((i[k[e>>2]>>0]|0)!=47){if(gc[k[6476>>2]&255](k[f>>2]|0,(k[g>>2]|0)-2|0)|0){a=Tf(k[f>>2]|0)|0;k[h>>2]=a;a=k[h>>2]|0;k[h>>2]=a+1;i[(k[f>>2]|0)+a>>0]=47;break}a=yt(35379)|0;a=mO(a,44133,k[e>>2]|0,35379)|0;k[d>>2]=a;a=k[d>>2]|0;r=m;return a|0}while(0);if(((k[h>>2]|0)+(k[j>>2]|0)+1|0)>(k[g>>2]|0)){i[(k[f>>2]|0)+(k[h>>2]|0)>>0]=0;a=yt(35388)|0;k[d>>2]=a;a=k[d>>2]|0;r=m;return a|0}else{b=(k[g>>2]|0)-(k[h>>2]|0)|0;a=(k[f>>2]|0)+(k[h>>2]|0)|0;k[l>>2]=k[e>>2];_d(b,a,18391,l)|0;k[d>>2]=0;a=k[d>>2]|0;r=m;return a|0}return 0}function LO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+96|0;i=h+92|0;c=h+88|0;e=h+84|0;g=h+8|0;d=h+4|0;f=h;k[i>>2]=a;k[c>>2]=b;k[e>>2]=0;if(gc[k[6488>>2]&255](k[i>>2]|0,g)|0){i=k[e>>2]|0;r=h;return i|0}hO();k[d>>2]=k[1738];while(1){if(k[d>>2]|0)if((k[k[d>>2]>>2]|0)!=(k[g>>2]|0))a=1;else a=(k[(k[d>>2]|0)+4>>2]|0)!=(k[g+72>>2]|0);else a=0;b=k[d>>2]|0;if(!a)break;k[d>>2]=k[b+32>>2]}if(b){k[f>>2]=(k[d>>2]|0)+28;while(1){if(!(k[k[f>>2]>>2]|0))break;if((k[(k[k[f>>2]>>2]|0)+4>>2]|0)==(k[c>>2]|0))break;k[f>>2]=(k[k[f>>2]>>2]|0)+8}k[e>>2]=k[k[f>>2]>>2];if(k[e>>2]|0)k[k[f>>2]>>2]=k[(k[e>>2]|0)+8>>2]}jO();i=k[e>>2]|0;r=h;return i|0}function MO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+560|0;f=q+28|0;g=q+24|0;h=q+20|0;j=q+16|0;l=q+12|0;n=q+8|0;p=q+32|0;m=q+4|0;o=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[n>>2]=0;k[k[h>>2]>>2]=0;k[k[j>>2]>>2]=0;k[k[l>>2]>>2]=0;if(k[g>>2]&526336){a=(Tf(k[f>>2]|0)|0)-1|0;k[m>>2]=a;while(1){if((i[(k[f>>2]|0)+(k[m>>2]|0)>>0]|0)==45)break;k[m>>2]=(k[m>>2]|0)+-1}bS(p|0,k[f>>2]|0,k[m>>2]|0)|0;i[p+(k[m>>2]|0)>>0]=0;a=aP(p,k[h>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[n>>2]=a;a=k[n>>2]|0;r=q;return a|0}if(k[g>>2]&8){k[k[h>>2]>>2]=384;a=k[n>>2]|0;r=q;return a|0}if(!(k[g>>2]&64)){a=k[n>>2]|0;r=q;return a|0}a=Rf(k[f>>2]|0,44606)|0;k[o>>2]=a;if(!(k[o>>2]|0)){a=k[n>>2]|0;r=q;return a|0}a=aP(k[o>>2]|0,k[h>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[n>>2]=a;a=k[n>>2]|0;r=q;return a|0}function NO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(Zb[k[6692>>2]&255]()|0){b=0;r=g;return b|0}b=Yb[k[6680>>2]&255](k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;r=g;return b|0}function OO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+48|0;q=t;f=t+40|0;g=t+36|0;u=t+32|0;h=t+28|0;i=t+24|0;n=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;l=t+4|0;k[f>>2]=a;k[g>>2]=b;k[u>>2]=c;k[h>>2]=d;k[i>>2]=e;k[o>>2]=k[u>>2];k[p>>2]=0;k[(k[o>>2]|0)+12>>2]=k[g>>2];k[(k[o>>2]|0)+4>>2]=k[f>>2];k[(k[o>>2]|0)+32>>2]=k[h>>2];j[(k[o>>2]|0)+18>>1]=k[i>>2]&255;if(Sf((k[i>>2]&64|0)!=0?k[h>>2]|0:0,44465,1)|0){u=(k[o>>2]|0)+18|0;j[u>>1]=m[u>>1]|0|16}if(!(rR(k[(k[f>>2]|0)+16>>2]|0,44081)|0)){u=(k[o>>2]|0)+18|0;j[u>>1]=m[u>>1]|0|1}if(k[i>>2]&128)k[n>>2]=6796;else{u=gc[k[k[(k[f>>2]|0)+20>>2]>>2]&255](k[h>>2]|0,k[o>>2]|0)|0;k[n>>2]=u}if((k[n>>2]|0)!=6876){if((k[n>>2]|0)==6360){u=(uR(k[h>>2]|0)|0)+6|0;k[l>>2]=u;u=k[l>>2]|0;u=Td(u,((u|0)<0)<<31>>31)|0;k[s>>2]=u;if(!(k[s>>2]|0))k[p>>2]=7;else{d=k[l>>2]|0;u=k[s>>2]|0;k[q>>2]=k[h>>2];_d(d,u,44470,q)|0}k[(k[o>>2]|0)+24>>2]=k[s>>2]}}else{hO();u=PO(k[o>>2]|0,(k[o>>2]|0)+8|0)|0;k[p>>2]=u;if(k[p>>2]|0){lO(k[o>>2]|0,k[g>>2]|0,34692);k[g>>2]=-1}jO()}zO(k[o>>2]|0,0);if(!(k[p>>2]|0)){k[k[o>>2]>>2]=k[n>>2];QO(k[o>>2]|0);u=k[p>>2]|0;r=t;return u|0}if((k[g>>2]|0)<0){u=k[p>>2]|0;r=t;return u|0}lO(k[o>>2]|0,k[g>>2]|0,34777);u=k[p>>2]|0;r=t;return u|0}function PO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+112|0;e=i+104|0;c=i+100|0;f=i+96|0;j=i+92|0;l=i+88|0;g=i+80|0;d=i+4|0;h=i;k[c>>2]=a;k[f>>2]=b;k[h>>2]=0;k[l>>2]=k[(k[c>>2]|0)+12>>2];b=gc[k[6500>>2]&255](k[l>>2]|0,d)|0;k[j>>2]=b;if(k[j>>2]|0){j=k[c>>2]|0;l=LQ()|0;zO(j,k[l>>2]|0);if((k[(k[c>>2]|0)+20>>2]|0)==75){k[e>>2]=22;l=k[e>>2]|0;r=i;return l|0}else{k[e>>2]=10;l=k[e>>2]|0;r=i;return l|0}};k[g>>2]=0;k[g+4>>2]=0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+72>>2];k[h>>2]=k[1738];while(1){if(k[h>>2]|0)a=(oR(g,k[h>>2]|0,8)|0)!=0;else a=0;c=k[h>>2]|0;if(!a)break;k[h>>2]=k[c+32>>2]}if(!c){l=Td(40,0)|0;k[h>>2]=l;if(!(k[h>>2]|0)){k[e>>2]=7;l=k[e>>2]|0;r=i;return l|0}c=k[h>>2]|0;a=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));l=k[h>>2]|0;k[l>>2]=k[g>>2];k[l+4>>2]=k[g+4>>2];k[(k[h>>2]|0)+16>>2]=1;k[(k[h>>2]|0)+32>>2]=k[1738];k[(k[h>>2]|0)+36>>2]=0;if(k[1738]|0)k[(k[1738]|0)+36>>2]=k[h>>2];k[1738]=k[h>>2]}else{l=(k[h>>2]|0)+16|0;k[l>>2]=(k[l>>2]|0)+1}k[k[f>>2]>>2]=k[h>>2];k[e>>2]=0;l=k[e>>2]|0;r=i;return l|0}function QO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+112|0;h=i+24|0;g=i+16|0;d=i+8|0;c=i;e=i+108|0;f=i+32|0;b=i+28|0;k[e>>2]=a;if((m[(k[e>>2]|0)+18>>1]|0)&128){r=i;return}a=gc[k[6500>>2]&255](k[(k[e>>2]|0)+12>>2]|0,f)|0;k[b>>2]=a;if(k[b>>2]|0){k[c>>2]=k[(k[e>>2]|0)+32>>2];$d(28,44478,c);r=i;return}if(!(k[f+16>>2]|0)){k[d>>2]=k[(k[e>>2]|0)+32>>2];$d(28,44502,d);r=i;return}a=k[e>>2]|0;if((k[f+16>>2]|0)>>>0>1){k[g>>2]=k[a+32>>2];$d(28,44531,g);r=i;return}if(!(vO(a)|0)){r=i;return}k[h>>2]=k[(k[e>>2]|0)+32>>2];$d(28,44558,h);r=i;return}function RO(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[b>>2];QO(k[c>>2]|0);TO(k[b>>2]|0,0)|0;hO();if((k[(k[c>>2]|0)+8>>2]|0)!=0?(k[(k[(k[c>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)_O(k[c>>2]|0);$O(k[c>>2]|0);c=EO(k[b>>2]|0)|0;k[d>>2]=c;jO();r=e;return k[d>>2]|0}function SO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;f=o+44|0;p=o+40|0;g=o+36|0;n=o+32|0;h=o+28|0;m=o+24|0;d=o+8|0;e=o;k[p>>2]=a;k[g>>2]=b;k[n>>2]=0;k[h>>2]=k[p>>2];k[e>>2]=0;if((l[(k[h>>2]|0)+16>>0]|0|0)>=(k[g>>2]|0)){k[f>>2]=0;p=k[f>>2]|0;r=o;return p|0}hO();k[m>>2]=k[(k[h>>2]|0)+8>>2];if((l[(k[h>>2]|0)+16>>0]|0|0)!=(l[(k[m>>2]|0)+12>>0]|0|0)?((k[g>>2]|0)>1?1:(l[(k[m>>2]|0)+12>>0]|0|0)>=3):0)k[n>>2]=5;else c=6;a:do if((c|0)==6){do if((k[g>>2]|0)==1){if((l[(k[m>>2]|0)+12>>0]|0|0)!=1?(l[(k[m>>2]|0)+12>>0]|0|0)!=2:0)break;i[(k[h>>2]|0)+16>>0]=1;p=(k[m>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+1;p=(k[m>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+1;break a}while(0);k[d+8>>2]=1;j[d+2>>1]=0;if((k[g>>2]|0)!=1){if((k[g>>2]|0)==4?(l[(k[h>>2]|0)+16>>0]|0|0)<3:0)c=13}else c=13;if((c|0)==13?(j[d>>1]=(k[g>>2]|0)==1?0:1,k[d+4>>2]=k[384],(YO(k[h>>2]|0,d)|0)!=0):0){p=LQ()|0;k[e>>2]=k[p>>2];p=AO(k[e>>2]|0,3850)|0;k[n>>2]=p;if((k[n>>2]|0)==5)break;zO(k[h>>2]|0,k[e>>2]|0);break}do if((k[g>>2]|0)!=1){if((k[g>>2]|0)==4?(k[(k[m>>2]|0)+8>>2]|0)>1:0){k[n>>2]=5;break}j[d>>1]=1;b=k[384]|0;if((k[g>>2]|0)==2){k[d+4>>2]=b+1;k[d+8>>2]=1}else{k[d+4>>2]=b+2;k[d+8>>2]=510}if((YO(k[h>>2]|0,d)|0)!=0?(p=LQ()|0,k[e>>2]=k[p>>2],p=AO(k[e>>2]|0,3850)|0,k[n>>2]=p,(k[n>>2]|0)!=5):0)zO(k[h>>2]|0,k[e>>2]|0)}else{k[d+4>>2]=(k[384]|0)+2;k[d+8>>2]=510;if(YO(k[h>>2]|0,d)|0){p=LQ()|0;k[e>>2]=k[p>>2];p=AO(k[e>>2]|0,3850)|0;k[n>>2]=p}k[d+4>>2]=k[384];k[d+8>>2]=1;j[d>>1]=2;p=(YO(k[h>>2]|0,d)|0)!=0;if(p&(k[n>>2]|0)==0){p=LQ()|0;k[e>>2]=k[p>>2];k[n>>2]=2058}if(!(k[n>>2]|0)){i[(k[h>>2]|0)+16>>0]=1;p=(k[m>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+1;k[(k[m>>2]|0)+8>>2]=1;break}if((k[n>>2]|0)==5)break a;zO(k[h>>2]|0,k[e>>2]|0);break a}while(0);b=k[g>>2]|0;if(!(k[n>>2]|0)){i[(k[h>>2]|0)+16>>0]=b;i[(k[m>>2]|0)+12>>0]=k[g>>2];break}if((b|0)==4){i[(k[h>>2]|0)+16>>0]=3;i[(k[m>>2]|0)+12>>0]=3}}while(0);jO();k[f>>2]=k[n>>2];p=k[f>>2]|0;r=o;return p|0}function TO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=XO(k[e>>2]|0,k[d>>2]|0,0)|0;r=c;return a|0}function UO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0;m=r;r=r+48|0;h=m;n=m+40|0;c=m+36|0;f=m+32|0;g=m+28|0;e=m+24|0;d=m+8|0;k[n>>2]=a;k[c>>2]=b;k[f>>2]=0;k[g>>2]=0;k[e>>2]=k[n>>2];hO();if((l[(k[(k[e>>2]|0)+8>>2]|0)+12>>0]|0)>1)k[g>>2]=1;do if((k[g>>2]|0)==0?(i[(k[(k[e>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){j[d+2>>1]=0;k[d+4>>2]=(k[384]|0)+1;k[d+8>>2]=1;j[d>>1]=1;b=k[1631]|0;n=k[(k[e>>2]|0)+12>>2]|0;k[h>>2]=d;if(Yb[b&255](n,12,h)|0){k[f>>2]=3594;h=k[e>>2]|0;n=LQ()|0;zO(h,k[n>>2]|0);break}if((j[d>>1]|0)!=2)k[g>>2]=1}while(0);jO();k[k[c>>2]>>2]=k[g>>2];r=m;return k[f>>2]|0}function VO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+160|0;z=E+152|0;F=E+148|0;A=E+144|0;f=E+140|0;g=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;q=E+108|0;h=E+104|0;o=E+100|0;w=E+24|0;n=E+20|0;x=E+16|0;y=E+12|0;p=E+8|0;i=E+4|0;v=E;k[F>>2]=a;k[A>>2]=b;k[f>>2]=c;k[g>>2]=d;k[B>>2]=e;k[u>>2]=k[F>>2];k[D>>2]=0;c=kO()|0;k[s>>2]=c;if((k[(k[u>>2]|0)+36>>2]|0)==0?(F=WO(k[u>>2]|0)|0,k[D>>2]=F,(k[D>>2]|0)!=0):0){k[z>>2]=k[D>>2];F=k[z>>2]|0;r=E;return F|0}k[t>>2]=k[(k[u>>2]|0)+36>>2];k[C>>2]=k[k[t>>2]>>2];F=ha(((k[A>>2]|0)+(k[s>>2]|0)|0)/(k[s>>2]|0)|0,k[s>>2]|0)|0;k[q>>2]=F;a:do if((m[(k[C>>2]|0)+20>>1]|0|0)<(k[q>>2]|0)){F=ha(k[q>>2]|0,k[f>>2]|0)|0;k[o>>2]=F;k[(k[C>>2]|0)+16>>2]=k[f>>2];b:do if((k[(k[C>>2]|0)+12>>2]|0)>=0){if(gc[k[6500>>2]&255](k[(k[C>>2]|0)+12>>2]|0,w)|0){k[D>>2]=4874;break a}if((k[w+36>>2]|0)<(k[o>>2]|0)){if(!(k[g>>2]|0))break a;k[n>>2]=(k[w+36>>2]|0)/4096|0;while(1){if((k[n>>2]|0)>=((k[o>>2]|0)/4096|0|0))break b;k[x>>2]=0;F=(k[n>>2]<<12)+4096-1|0;if((yO(k[(k[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,18402,1,x)|0)!=1)break;k[n>>2]=(k[n>>2]|0)+1}k[y>>2]=k[(k[C>>2]|0)+8>>2];F=mO(4874,44186,k[y>>2]|0,33839)|0;k[D>>2]=F;break a}}while(0);F=Vd(k[(k[C>>2]|0)+24>>2]|0,k[q>>2]<<2)|0;k[h>>2]=F;if(!(k[h>>2]|0)){k[D>>2]=3082;break}k[(k[C>>2]|0)+24>>2]=k[h>>2];while(1){if((m[(k[C>>2]|0)+20>>1]|0|0)>=(k[q>>2]|0))break a;F=ha(k[f>>2]|0,k[s>>2]|0)|0;k[p>>2]=F;if((k[(k[C>>2]|0)+12>>2]|0)>=0){w=k[1676]|0;c=k[p>>2]|0;x=(l[(k[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=k[(k[C>>2]|0)+12>>2]|0;F=k[f>>2]|0;F=kS(F|0,((F|0)<0)<<31>>31|0,m[(k[C>>2]|0)+20>>1]|0|0,0)|0;F=ac[w&255](0,c,x,1,y,F)|0;k[v>>2]=F;if((k[v>>2]|0)==(-1|0)){f=21;break}}else{F=k[f>>2]|0;F=Td(F,((F|0)<0)<<31>>31)|0;k[v>>2]=F;if(!(k[v>>2]|0)){f=23;break}dS(k[v>>2]|0,0,k[f>>2]|0)|0}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[s>>2]|0))break;F=ha(k[f>>2]|0,k[i>>2]|0)|0;k[(k[(k[C>>2]|0)+24>>2]|0)+((m[(k[C>>2]|0)+20>>1]|0)+(k[i>>2]|0)<<2)>>2]=(k[v>>2]|0)+F;k[i>>2]=(k[i>>2]|0)+1}F=(k[C>>2]|0)+20|0;j[F>>1]=(m[F>>1]|0)+(k[s>>2]|0)}if((f|0)==21){F=mO(5386,44273,k[(k[C>>2]|0)+8>>2]|0,33866)|0;k[D>>2]=F;break}else if((f|0)==23){k[D>>2]=7;break}}while(0);if((m[(k[C>>2]|0)+20>>1]|0|0)>(k[A>>2]|0))k[k[B>>2]>>2]=k[(k[(k[C>>2]|0)+24>>2]|0)+(k[A>>2]<<2)>>2];else k[k[B>>2]>>2]=0;if((k[D>>2]|0)==0?(l[(k[C>>2]|0)+22>>0]|0|0)!=0:0)k[D>>2]=8;k[z>>2]=k[D>>2];F=k[z>>2]|0;r=E;return F|0}function WO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+128|0;n=q;b=q+116|0;c=q+112|0;f=q+108|0;h=q+104|0;j=q+100|0;g=q+96|0;p=q+92|0;d=q+88|0;m=q+12|0;o=q+8|0;e=q+4|0;k[c>>2]=a;k[f>>2]=0;a=Td(16,0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){k[b>>2]=7;p=k[b>>2]|0;r=q;return p|0}a=k[f>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;hO();k[g>>2]=k[(k[c>>2]|0)+8>>2];k[h>>2]=k[(k[g>>2]|0)+20>>2];a:do if(!(k[h>>2]|0)){k[o>>2]=k[(k[c>>2]|0)+32>>2];do if(!(gc[k[6500>>2]&255](k[(k[c>>2]|0)+12>>2]|0,m)|0)){a=6+(uR(k[o>>2]|0)|0)|0;k[d>>2]=a;a=Td(36+(k[d>>2]|0)|0,0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[j>>2]=7;break}dS(k[h>>2]|0,0,36+(k[d>>2]|0)|0)|0;a=(k[h>>2]|0)+36|0;k[(k[h>>2]|0)+8>>2]=a;k[p>>2]=a;d=k[d>>2]|0;a=k[p>>2]|0;k[n>>2]=k[o>>2];_d(d,a,44586,n)|0;k[(k[h>>2]|0)+12>>2]=-1;k[(k[(k[c>>2]|0)+8>>2]|0)+20>>2]=k[h>>2];k[k[h>>2]>>2]=k[(k[c>>2]|0)+8>>2];if((k[3]|0)!=0?(k[(k[h>>2]|0)+4>>2]=8,(k[(k[h>>2]|0)+4>>2]|0)==0):0){k[j>>2]=7;break}if(l[(k[g>>2]|0)+13>>0]|0)break a;k[e>>2]=66;if(Sf(k[(k[c>>2]|0)+32>>2]|0,44593,0)|0){k[e>>2]=0;i[(k[h>>2]|0)+22>>0]=1}o=qO(k[p>>2]|0,k[e>>2]|0,k[m+12>>2]&511)|0;k[(k[h>>2]|0)+12>>2]=o;if((k[(k[h>>2]|0)+12>>2]|0)<0){o=yt(33691)|0;p=mO(o,44128,k[p>>2]|0,33691)|0;k[j>>2]=p;break}NO(k[(k[h>>2]|0)+12>>2]|0,k[m+20>>2]|0,k[m+24>>2]|0)|0;k[j>>2]=0;if((rO(k[c>>2]|0,1,128,1)|0)==0?(CO(k[(k[h>>2]|0)+12>>2]|0,0,0)|0)!=0:0){p=mO(4618,44151,k[p>>2]|0,33707)|0;k[j>>2]=p}if(!(k[j>>2]|0)){p=rO(k[c>>2]|0,0,128,1)|0;k[j>>2]=p}if(!(k[j>>2]|0))break a}else k[j>>2]=1802;while(0);iO(k[c>>2]|0);Ud(k[f>>2]|0);jO();k[b>>2]=k[j>>2];p=k[b>>2]|0;r=q;return p|0}while(0);k[k[f>>2]>>2]=k[h>>2];p=(k[h>>2]|0)+28|0;k[p>>2]=(k[p>>2]|0)+1;k[(k[c>>2]|0)+36>>2]=k[f>>2];jO();k[(k[f>>2]|0)+4>>2]=k[(k[h>>2]|0)+32>>2];k[(k[h>>2]|0)+32>>2]=k[f>>2];k[b>>2]=0;p=k[b>>2]|0;r=q;return p|0}function XO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+44|0;p=o+40|0;e=o+36|0;g=o+28|0;h=o+24|0;f=o+8|0;m=o;k[p>>2]=a;k[e>>2]=b;k[o+32>>2]=c;k[g>>2]=k[p>>2];k[m>>2]=0;if((l[(k[g>>2]|0)+16>>0]|0|0)<=(k[e>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=o;return p|0}hO();k[h>>2]=k[(k[g>>2]|0)+8>>2];do if((l[(k[g>>2]|0)+16>>0]|0|0)>1){if((k[e>>2]|0)==1?(j[f>>1]=0,j[f+2>>1]=0,k[f+4>>2]=(k[384]|0)+2,k[f+8>>2]=510,(YO(k[g>>2]|0,f)|0)!=0):0){k[m>>2]=2314;a=k[g>>2]|0;p=LQ()|0;zO(a,k[p>>2]|0);break}j[f>>1]=2;j[f+2>>1]=0;k[f+4>>2]=k[384];k[f+8>>2]=2;if(!(YO(k[g>>2]|0,f)|0)){i[(k[h>>2]|0)+12>>0]=1;n=10;break}else{k[m>>2]=2058;a=k[g>>2]|0;p=LQ()|0;zO(a,k[p>>2]|0);break}}else n=10;while(0);if((n|0)==10?(k[e>>2]|0)==0:0){p=(k[h>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+-1;do if(!(k[(k[h>>2]|0)+8>>2]|0)){j[f>>1]=2;j[f+2>>1]=0;k[f+8>>2]=0;k[f+4>>2]=0;if(!(YO(k[g>>2]|0,f)|0)){i[(k[h>>2]|0)+12>>0]=0;break}else{k[m>>2]=2058;n=k[g>>2]|0;p=LQ()|0;zO(n,k[p>>2]|0);i[(k[h>>2]|0)+12>>0]=0;i[(k[g>>2]|0)+16>>0]=0;break}}while(0);p=(k[h>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+-1;if(!(k[(k[h>>2]|0)+24>>2]|0))ZO(k[g>>2]|0)}jO();if(!(k[m>>2]|0))i[(k[g>>2]|0)+16>>0]=k[e>>2];k[d>>2]=k[m>>2];p=k[d>>2]|0;r=o;return p|0}function YO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p+8|0;n=p;c=p+48|0;d=p+44|0;e=p+40|0;h=p+36|0;g=p+32|0;f=p+16|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[(k[d>>2]|0)+8>>2];do if(((m[(k[d>>2]|0)+18>>1]|0)&3|0)==1){if(l[(k[g>>2]|0)+13>>0]|0){k[h>>2]=0;break}j[f+2>>1]=0;k[f+4>>2]=(k[384]|0)+2;k[f+8>>2]=510;j[f>>1]=1;b=k[1631]|0;o=k[(k[d>>2]|0)+12>>2]|0;k[n>>2]=f;o=Yb[b&255](o,13,n)|0;k[h>>2]=o;if((k[h>>2]|0)>=0){i[(k[g>>2]|0)+13>>0]=1;o=(k[g>>2]|0)+24|0;k[o>>2]=(k[o>>2]|0)+1;break}k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}else{b=k[1631]|0;n=k[(k[d>>2]|0)+12>>2]|0;k[o>>2]=k[e>>2];o=Yb[b&255](n,13,o)|0;k[h>>2]=o}while(0);k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}function ZO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;c=f+4|0;e=f;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+8>>2];k[c>>2]=k[(k[d>>2]|0)+28>>2];while(1){if(!(k[c>>2]|0))break;k[e>>2]=k[(k[c>>2]|0)+8>>2];lO(k[b>>2]|0,k[k[c>>2]>>2]|0,30592);Ud(k[c>>2]|0);k[c>>2]=k[e>>2]}k[(k[d>>2]|0)+28>>2]=0;r=f;return}function _O(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;c=b+8|0;d=b+4|0;e=b;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+8>>2];k[e>>2]=k[(k[c>>2]|0)+28>>2];k[(k[e>>2]|0)+8>>2]=k[(k[d>>2]|0)+28>>2];k[(k[d>>2]|0)+28>>2]=k[e>>2];k[(k[c>>2]|0)+12>>2]=-1;k[(k[c>>2]|0)+28>>2]=0;r=b;return}function $O(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[c>>2]|0)+16>>2]|0){r=d;return}ZO(k[b>>2]|0);b=k[(k[c>>2]|0)+32>>2]|0;if(k[(k[c>>2]|0)+36>>2]|0)k[(k[(k[c>>2]|0)+36>>2]|0)+32>>2]=b;else k[1738]=b;if(k[(k[c>>2]|0)+32>>2]|0)k[(k[(k[c>>2]|0)+32>>2]|0)+36>>2]=k[(k[c>>2]|0)+36>>2];Ud(k[c>>2]|0);r=d;return}function aP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+96|0;l=j+92|0;e=j+88|0;f=j+84|0;g=j+80|0;i=j+4|0;h=j;k[l>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=0;if(!(gc[k[6488>>2]&255](k[l>>2]|0,i)|0)){k[k[e>>2]>>2]=k[i+12>>2]&511;k[k[f>>2]>>2]=k[i+20>>2];k[k[g>>2]>>2]=k[i+24>>2];l=k[h>>2]|0;r=j;return l|0}else{k[h>>2]=1802;l=k[h>>2]|0;r=j;return l|0}return 0}function bP(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 6876}function cP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d;c=d+8|0;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){c=b;k[c>>2]=0;k[c+4>>2]=0;c=b;a=c;a=k[a>>2]|0;c=c+4|0;c=k[c>>2]|0;L=c;r=d;return a|0}else{e=(k[c>>2]|0)+4|0;a=k[e>>2]|0;k[e>>2]=a+1;a=ne(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;c=b;k[c>>2]=a;k[c+4>>2]=L;c=b;a=c;a=k[a>>2]|0;c=c+4|0;c=k[c>>2]|0;L=c;r=d;return a|0}return 0}function dP(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0;d=r;r=r+16|0;b=d;c=d+8|0;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){p[b>>3]=0.0;e=+p[b>>3];r=d;return +e}else{f=(k[c>>2]|0)+4|0;a=k[f>>2]|0;k[f>>2]=a+1;e=+le(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);p[b>>3]=e;e=+p[b>>3];r=d;return +e}return 0.0}function eP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;k[d>>2]=a;k[e>>2]=b;if((k[k[e>>2]>>2]|0)<=0){i[c>>0]=48;a=i[c>>0]|0;r=h;return a|0}else{a=k[e>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;k[g>>2]=~~+p[k[d>>2]>>3];p[f>>3]=+(k[g>>2]|0);k[g>>2]=(k[g>>2]|0)+48;p[k[d>>2]>>3]=(+p[k[d>>2]>>3]-+p[f>>3])*10.0;i[c>>0]=k[g>>2];a=i[c>>0]|0;r=h;return a|0}return 0}function fP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}else{e=(k[c>>2]|0)+4|0;a=k[e>>2]|0;k[e>>2]=a+1;a=je(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function gP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+4|0;e=g;f=g+8|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;a=k[e>>2]|0;a=$R(k[(k[d>>2]|0)+12>>2]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=L;if((c|0)>0|((c|0)==0?a>>>0>=(k[(k[d>>2]|0)+16>>2]|0)>>>0:0)?(a=FA(k[d>>2]|0,k[e>>2]|0)|0,k[e>>2]=a,(a|0)<=0):0){r=g;return}while(1){a=k[e>>2]|0;k[e>>2]=a+-1;if((a|0)<=0)break;c=i[f>>0]|0;b=(k[d>>2]|0)+12|0;a=k[b>>2]|0;k[b>>2]=a+1;i[(k[(k[d>>2]|0)+8>>2]|0)+a>>0]=c}r=g;return}function hP(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=296;d=k[a+4>>2]|0;if((d|0)<0|(d|0)==0&(k[a>>2]|0)>>>0<=0){r=c;return}Pd(k[b>>2]|0)|0;r=c;return}function iP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+20|0;c=g+16|0;d=g+12|0;f=g+8|0;e=g;k[h>>2]=a;k[c>>2]=b;b=bc[k[64>>2]&255](k[h>>2]|0)|0;k[d>>2]=b;$i(5,k[h>>2]|0);b=296;a=k[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0){b=ig(0)|0;a=e;k[a>>2]=b;k[a+4>>2]=L;a=e;b=k[a>>2]|0;a=k[a+4>>2]|0;e=296;h=k[d>>2]|0;h=_R(k[e>>2]|0,k[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;e=L;if((a|0)>(e|0)|(a|0)==(e|0)&b>>>0>=h>>>0){k[79]=1;hP(k[d>>2]|0);break}else{k[79]=0;break}}while(0);h=bc[k[48>>2]&255](k[d>>2]|0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){b=k[f>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[d>>2]|0;r=g;return h|0}b=kg(k[f>>2]|0)|0;k[d>>2]=b;aj(0,k[d>>2]|0);aj(9,1);b=k[f>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[d>>2]|0;r=g;return h|0}function jP(){lP(8780,3);return}function kP(){lP(8556,8);return}function lP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;f=j+16|0;h=j+12|0;i=j+8|0;g=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[d>>2]|0))break;k[i>>2]=k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+20>>2];b=Tf(k[i>>2]|0)|0;k[g>>2]=b;k[e>>2]=((l[17613+(l[k[i>>2]>>0]|0)>>0]|0)+(k[g>>2]|0)|0)%23|0;b=ru(k[e>>2]|0,k[i>>2]|0)|0;k[h>>2]=b;if(k[h>>2]|0){k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+8>>2]=k[(k[h>>2]|0)+8>>2];k[(k[h>>2]|0)+8>>2]=(k[c>>2]|0)+((k[f>>2]|0)*28|0)}else{k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+8>>2]=0;k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+24>>2]=k[1092+(k[e>>2]<<2)>>2];k[1092+(k[e>>2]<<2)>>2]=(k[c>>2]|0)+((k[f>>2]|0)*28|0)}k[f>>2]=(k[f>>2]|0)+1}r=j;return}function mP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;a=je(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;if(!a){r=f;return}g=k[d>>2]|0;te(g,Id(k[e>>2]|0)|0);r=f;return}function nP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+12|0;g=d+4|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[g>>2]=c;a=me(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;we(a,Kd(k[e>>2]|0)|0,-1,0);r=d;return}function oP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;a=k[e>>2]|0;we(a,tf()|0,-1,0);r=d;return}function pP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;d=v+52|0;e=v+48|0;f=v+44|0;u=v+40|0;t=v+36|0;q=v+32|0;j=v+28|0;m=v+24|0;g=v+20|0;h=v+16|0;p=v+12|0;s=v+8|0;n=v+4|0;o=v;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;k[h>>2]=0;if((oe(k[k[f>>2]>>2]|0)|0)==5){r=v;return}a=je(k[k[f>>2]>>2]|0)|0;k[u>>2]=a;if(!(k[u>>2]|0)){r=v;return}a=ke(k[k[f>>2]>>2]|0)|0;k[q>>2]=a;a:do if((k[e>>2]|0)!=1){a=je(k[(k[f>>2]|0)+4>>2]|0)|0;k[t>>2]=a;if(!a){r=v;return}k[s>>2]=k[t>>2];k[p>>2]=0;while(1){if(!(i[k[s>>2]>>0]|0))break;a=k[s>>2]|0;k[s>>2]=a+1;b:do if((l[a>>0]|0)>=192)while(1){if((l[k[s>>2]>>0]&192|0)!=128)break b;k[s>>2]=(k[s>>2]|0)+1}while(0);k[p>>2]=(k[p>>2]|0)+1}if((k[p>>2]|0)>0){c=k[d>>2]|0;a=k[p>>2]|0;a=kS(a|0,((a|0)<0)<<31>>31|0,5,0)|0;a=YP(c,a,L)|0;k[h>>2]=a;if(!(k[h>>2]|0)){r=v;return}k[g>>2]=(k[h>>2]|0)+(k[p>>2]<<2);k[s>>2]=k[t>>2];k[p>>2]=0;while(1){if(!(i[k[s>>2]>>0]|0))break a;k[(k[h>>2]|0)+(k[p>>2]<<2)>>2]=k[s>>2];a=k[s>>2]|0;k[s>>2]=a+1;c:do if((l[a>>0]|0)>=192)while(1){if((l[k[s>>2]>>0]&192|0)!=128)break c;k[s>>2]=(k[s>>2]|0)+1}while(0);i[(k[g>>2]|0)+(k[p>>2]|0)>>0]=(k[s>>2]|0)-(k[(k[h>>2]|0)+(k[p>>2]<<2)>>2]|0);k[p>>2]=(k[p>>2]|0)+1}}}else{k[p>>2]=1;k[g>>2]=45220;k[h>>2]=8552;k[t>>2]=0}while(0);if((k[p>>2]|0)>0){s=Ee(k[d>>2]|0)|0;k[j>>2]=s;d:do if((k[j>>2]&1|0)!=0&(k[q>>2]|0)>0)do{k[n>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;k[n>>2]=l[(k[g>>2]|0)+(k[m>>2]|0)>>0];if((k[n>>2]|0)<=(k[q>>2]|0)?(oR(k[u>>2]|0,k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0,k[n>>2]|0)|0)==0:0)break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)>=(k[p>>2]|0))break d;k[u>>2]=(k[u>>2]|0)+(k[n>>2]|0);k[q>>2]=(k[q>>2]|0)-(k[n>>2]|0)}while((k[q>>2]|0)>0);while(0);e:do if((k[j>>2]&2|0)!=0&(k[q>>2]|0)>0)do{k[o>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;k[o>>2]=l[(k[g>>2]|0)+(k[m>>2]|0)>>0];if((k[o>>2]|0)<=(k[q>>2]|0)?(oR((k[u>>2]|0)+((k[q>>2]|0)-(k[o>>2]|0))|0,k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0,k[o>>2]|0)|0)==0:0)break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)>=(k[p>>2]|0))break e;k[q>>2]=(k[q>>2]|0)-(k[o>>2]|0)}while((k[q>>2]|0)>0);while(0);if(k[t>>2]|0)Ud(k[h>>2]|0)}we(k[d>>2]|0,k[u>>2]|0,k[q>>2]|0,-1);r=v;return}function qP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;i=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=(Ee(k[d>>2]|0)|0)==0;k[i>>2]=a?0:-1;a=ZP(k[d>>2]|0)|0;k[j>>2]=a;k[h>>2]=0;if((oe(k[k[f>>2]>>2]|0)|0)==5){r=m;return}k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;if((oe(k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0)|0)==5){l=9;break}a=WI(k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0,k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0,k[j>>2]|0)|0;if((a^k[i>>2]|0)>=0)k[h>>2]=k[g>>2];k[g>>2]=(k[g>>2]|0)+1}if((l|0)==9){r=m;return}ye(k[d>>2]|0,k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0);r=m;return}function rP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;e=m+28|0;d=m+20|0;h=m+16|0;i=m+12|0;g=m+8|0;f=m+4|0;l=m;k[e>>2]=a;k[m+24>>2]=b;k[d>>2]=c;k[h>>2]=k[k[d>>2]>>2];a=Ge(k[e>>2]|0,40)|0;k[i>>2]=a;if(!(k[i>>2]|0)){r=m;return}a=(oe(k[k[d>>2]>>2]|0)|0)==5;d=(j[(k[i>>2]|0)+8>>1]|0)!=0;if(a){if(!d){r=m;return}_P(k[e>>2]|0);r=m;return}b=k[e>>2]|0;if(!d){l=Fe(b)|0;k[(k[i>>2]|0)+32>>2]=l;th(k[i>>2]|0,k[h>>2]|0)|0;r=m;return}a=ZP(b)|0;k[l>>2]=a;a=(Ee(k[e>>2]|0)|0)!=0&1;k[g>>2]=a;l=WI(k[i>>2]|0,k[h>>2]|0,k[l>>2]|0)|0;k[f>>2]=l;if(!((k[g>>2]|0)!=0&(k[f>>2]|0)<0)?!((k[g>>2]|0)==0&(k[f>>2]|0)>0):0){_P(k[e>>2]|0);r=m;return}th(k[i>>2]|0,k[h>>2]|0)|0;r=m;return}function sP(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if(j[(k[c>>2]|0)+8>>1]|0)ye(k[b>>2]|0,k[c>>2]|0);fh(k[c>>2]|0);r=d;return}function tP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;k[e>>2]=0;switch(oe(k[k[g>>2]>>2]|0)|0){case 1:{k[e>>2]=39710;break}case 3:{k[e>>2]=45210;break}case 2:{k[e>>2]=39705;break}case 4:{k[e>>2]=45215;break}default:k[e>>2]=39718}we(k[d>>2]|0,k[e>>2]|0,-1,0);r=f;return}function uP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[h+12>>2]=b;k[e>>2]=c;switch(oe(k[k[e>>2]>>2]|0)|0){case 2:case 1:case 4:{te(k[d>>2]|0,ke(k[k[e>>2]>>2]|0)|0);r=h;return}case 3:{a=je(k[k[e>>2]>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){r=h;return}k[f>>2]=0;a:while(1){if(!(i[k[g>>2]>>0]|0))break;k[f>>2]=(k[f>>2]|0)+1;a=k[g>>2]|0;k[g>>2]=a+1;if((l[a>>0]|0)<192)continue;while(1){if((l[k[g>>2]>>0]&192|0)!=128)continue a;k[g>>2]=(k[g>>2]|0)+1}}te(k[d>>2]|0,k[f>>2]|0);r=h;return}default:{ve(k[d>>2]|0);r=h;return}}}function vP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+40|0;e=p+32|0;n=p+28|0;o=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;m=p+8|0;f=p+4|0;g=p;k[d>>2]=a;k[p+36>>2]=b;k[e>>2]=c;k[f>>2]=1;a=oe(k[k[e>>2]>>2]|0)|0;k[j>>2]=a;a=oe(k[(k[e>>2]|0)+4>>2]|0)|0;k[m>>2]=a;if((k[j>>2]|0)==5|(k[m>>2]|0)==5){r=p;return}b=ke(k[k[e>>2]>>2]|0)|0;k[h>>2]=b;b=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[i>>2]=b;b=k[k[e>>2]>>2]|0;if((k[j>>2]|0)==4&(k[m>>2]|0)==4){m=ie(b)|0;k[n>>2]=m;m=ie(k[(k[e>>2]|0)+4>>2]|0)|0;k[o>>2]=m;k[g>>2]=0}else{m=je(b)|0;k[n>>2]=m;m=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[o>>2]=m;k[g>>2]=1}a:while(1){if((k[i>>2]|0)>(k[h>>2]|0))break;if(!(oR(k[n>>2]|0,k[o>>2]|0,k[i>>2]|0)|0))break;k[f>>2]=(k[f>>2]|0)+1;while(1){k[h>>2]=(k[h>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+1;if(!(k[g>>2]|0))continue a;if(((l[k[n>>2]>>0]|0)&192|0)!=128)continue a}}if((k[i>>2]|0)>(k[h>>2]|0))k[f>>2]=0;te(k[d>>2]|0,k[f>>2]|0);r=p;return}function wP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+80|0;l=o;d=o+64|0;e=o+60|0;f=o+56|0;m=o+44|0;j=o+16|0;n=o+12|0;h=o+8|0;g=o+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=Fe(k[d>>2]|0)|0;k[g>>2]=a;if((k[e>>2]|0)<1){r=o;return}a=je(k[k[f>>2]>>2]|0)|0;k[n>>2]=a;if(!a){r=o;return}k[m>>2]=(k[e>>2]|0)-1;k[m+4>>2]=0;k[m+8>>2]=(k[f>>2]|0)+4;ng(j,k[g>>2]|0,0,0,k[(k[g>>2]|0)+96>>2]|0);i[j+25>>0]=2;n=k[n>>2]|0;k[l>>2]=m;BA(j,n,l);k[h>>2]=k[j+12>>2];m=k[d>>2]|0;n=pg(j)|0;we(m,n,k[h>>2]|0,170);r=o;return}function xP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;a=je(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){r=f;return}if(!(l[k[e>>2]>>0]|0)){r=f;return}g=k[d>>2]|0;te(g,TC(e)|0);r=f;return}function yP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+32|0;e=n+28|0;f=n+24|0;l=n+20|0;m=n+16|0;h=n+12|0;j=n;g=n+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=(k[e>>2]<<2)+1|0;a=Td(a,((a|0)<0)<<31>>31)|0;k[l>>2]=a;k[m>>2]=a;if(!(k[l>>2]|0)){Ce(k[d>>2]|0);r=n;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[e>>2]|0))break;o=ne(k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;a=L;c=j;k[c>>2]=o;k[c+4>>2]=a;c=j;b=k[c+4>>2]|0;c=(k[j+4>>2]|0)<0|((b|0)>0|(b|0)==0&(k[c>>2]|0)>>>0>1114111);b=j;k[b>>2]=c?65533:o;k[b+4>>2]=c?0:a;k[g>>2]=k[j>>2]&2097151;b=k[g>>2]|0;do if((k[g>>2]|0)>>>0>=128){c=k[g>>2]|0;if(b>>>0<2048){a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=192+(c>>>6&31);a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}b=k[g>>2]|0;if(c>>>0<65536){o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=224+(b>>>12&15);o=128+((k[g>>2]|0)>>>6&63)&255;a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=o;a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}else{a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=240+(b>>>18&7);a=128+((k[g>>2]|0)>>>12&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;o=128+((k[g>>2]|0)>>>6&63)&255;a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=o;a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}}else{o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=b}while(0);k[h>>2]=(k[h>>2]|0)+1}o=(k[m>>2]|0)-(k[l>>2]|0)|0;xe(k[d>>2]|0,k[l>>2]|0,o,((o|0)<0)<<31>>31,148,1);r=n;return}function zP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0.0;h=r;r=r+32|0;d=h+24|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[h+20>>2]=b;k[e>>2]=c;switch(oe(k[k[e>>2]>>2]|0)|0){case 1:{a=ne(k[k[e>>2]>>2]|0)|0;g=f;k[g>>2]=a;k[g+4>>2]=L;do if((k[f+4>>2]|0)<0){g=f;if(!((k[g>>2]|0)==0?(k[g+4>>2]|0)==-2147483648:0)){a=f;a=_R(0,0,k[a>>2]|0,k[a+4>>2]|0)|0;g=f;k[g>>2]=a;k[g+4>>2]=L;break}se(k[d>>2]|0,45165,-1);r=h;return}while(0);g=f;ue(k[d>>2]|0,k[g>>2]|0,k[g+4>>2]|0);r=h;return}case 5:{ve(k[d>>2]|0);r=h;return}default:{i=+le(k[k[e>>2]>>2]|0);p[g>>3]=i;if(+p[g>>3]<0.0)p[g>>3]=-+p[g>>3];re(k[d>>2]|0,+p[g>>3]);r=h;return}}}function AP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0.0;j=r;r=r+48|0;h=j+8|0;d=j+40|0;l=j+36|0;e=j+32|0;f=j+28|0;g=j;i=j+24|0;k[d>>2]=a;k[l>>2]=b;k[e>>2]=c;k[f>>2]=0;do if((k[l>>2]|0)==2)if(5==(oe(k[(k[e>>2]|0)+4>>2]|0)|0)){r=j;return}else{l=me(k[(k[e>>2]|0)+4>>2]|0)|0;k[f>>2]=l;l=(k[f>>2]|0)>30?30:l;k[f>>2]=l;k[f>>2]=(k[f>>2]|0)<0?0:l;break}while(0);if((oe(k[k[e>>2]>>2]|0)|0)==5){r=j;return}m=+le(k[k[e>>2]>>2]|0);p[g>>3]=m;do if((k[f>>2]|0)==0&+p[g>>3]>=0.0&+p[g>>3]<9223372036854775808.0){m=+p[g>>3]+.5;m=+(~~m>>>0>>>0)+4294967296.0*+((+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);p[g>>3]=m}else{if((k[f>>2]|0)==0&+p[g>>3]<0.0?-+p[g>>3]<9223372036854775808.0:0){m=-+p[g>>3]+.5;m=-(+(~~m>>>0>>>0)+4294967296.0*+((+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0));p[g>>3]=m;break}m=+p[g>>3];k[h>>2]=k[f>>2];p[h+8>>3]=m;l=Yd(45205,h)|0;k[i>>2]=l;if(k[i>>2]|0){l=k[i>>2]|0;oz(l,g,Tf(k[i>>2]|0)|0,1)|0;Ud(k[i>>2]|0);break}Ce(k[d>>2]|0);r=j;return}while(0);re(k[d>>2]|0,+p[g>>3]);r=j;return}function BP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;d=j+24|0;m=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;k[d>>2]=a;k[j+20>>2]=b;k[m>>2]=c;a=je(k[k[m>>2]>>2]|0)|0;k[h>>2]=a;a=ke(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;if(!(k[h>>2]|0)){r=j;return}a=k[d>>2]|0;m=k[f>>2]|0;m=$R(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=YP(a,m,L)|0;k[g>>2]=m;if(!(k[g>>2]|0)){r=j;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[e>>2]|0)>>0]=i[(k[h>>2]|0)+(k[e>>2]|0)>>0]&~(l[18403+(l[(k[h>>2]|0)+(k[e>>2]|0)>>0]|0)>>0]&32);k[e>>2]=(k[e>>2]|0)+1}we(k[d>>2]|0,k[g>>2]|0,k[f>>2]|0,148);r=j;return}function CP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;d=j+24|0;m=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;k[d>>2]=a;k[j+20>>2]=b;k[m>>2]=c;a=je(k[k[m>>2]>>2]|0)|0;k[h>>2]=a;a=ke(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;if(!(k[h>>2]|0)){r=j;return}a=k[d>>2]|0;m=k[f>>2]|0;m=$R(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=YP(a,m,L)|0;k[g>>2]=m;if(!(k[g>>2]|0)){r=j;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[e>>2]|0)>>0]=i[17613+(l[(k[h>>2]|0)+(k[e>>2]|0)>>0]|0)>>0]|0;k[e>>2]=(k[e>>2]|0)+1}we(k[d>>2]|0,k[g>>2]|0,k[f>>2]|0,148);r=j;return}function DP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+28|0;o=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;e=n+32|0;k[d>>2]=a;k[n+24>>2]=b;k[o>>2]=c;c=ie(k[k[o>>2]>>2]|0)|0;k[h>>2]=c;c=ke(k[k[o>>2]>>2]|0)|0;k[g>>2]=c;c=k[d>>2]|0;a=k[g>>2]|0;a=kS(a|0,((a|0)<0)<<31>>31|0,2,0)|0;a=$R(a|0,L|0,1,0)|0;a=YP(c,a,L)|0;k[m>>2]=a;k[j>>2]=a;if(!(k[m>>2]|0)){r=n;return}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break;i[e>>0]=i[k[h>>2]>>0]|0;o=i[45189+((l[e>>0]|0)>>4&15)>>0]|0;a=k[j>>2]|0;k[j>>2]=a+1;i[a>>0]=o;a=i[45189+((l[e>>0]|0)&15)>>0]|0;o=k[j>>2]|0;k[j>>2]=o+1;i[o>>0]=a;k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}i[k[j>>2]>>0]=0;we(k[d>>2]|0,k[m>>2]|0,k[g>>2]<<1,148);r=n;return}function EP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+32|0;d=f+16|0;e=f;k[d>>2]=a;k[f+12>>2]=b;k[f+8>>2]=c;ae(8,e);if((k[e+4>>2]|0)<0){c=e;c=_R(0,0,k[c>>2]|0,k[c+4>>2]&2147483647|0)|0;a=e;k[a>>2]=c;k[a+4>>2]=L}ue(k[d>>2]|0,k[e>>2]|0,k[e+4>>2]|0);r=f;return}function FP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+16|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[g+12>>2]=b;k[h>>2]=c;a=me(k[k[h>>2]>>2]|0)|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)<1?1:a;a=k[e>>2]|0;a=YP(k[d>>2]|0,a,((a|0)<0)<<31>>31)|0;k[f>>2]=a;if(!(k[f>>2]|0)){r=g;return}ae(k[e>>2]|0,k[f>>2]|0);pe(k[d>>2]|0,k[f>>2]|0,k[e>>2]|0,148);r=g;return}function GP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;e=f+4|0;g=f;k[d>>2]=a;k[f+8>>2]=b;k[e>>2]=c;a=ZP(k[d>>2]|0)|0;k[g>>2]=a;if(!(WI(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[g>>2]|0)|0)){r=f;return}ye(k[d>>2]|0,k[k[e>>2]>>2]|0);r=f;return}function HP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;a=k[e>>2]|0;we(a,uf()|0,-1,0);r=d;return}function IP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d;f=d+4|0;k[d+12>>2]=a;k[d+8>>2]=b;k[f>>2]=c;a=me(k[k[f>>2]>>2]|0)|0;c=je(k[(k[f>>2]|0)+4>>2]|0)|0;k[e>>2]=c;$d(a,18391,e);r=d;return}function JP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=r;r=r+144|0;s=y+32|0;q=y+24|0;d=y+80|0;e=y+72|0;n=y+16|0;o=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;m=y+60|0;f=y+56|0;g=y+52|0;h=y+48|0;j=y;u=y+44|0;t=y+40|0;k[d>>2]=a;k[y+76>>2]=b;k[e>>2]=c;switch(oe(k[k[e>>2]>>2]|0)|0){case 2:{z=+le(k[k[e>>2]>>2]|0);p[n>>3]=z;p[q>>3]=+p[n>>3];_d(50,w,28271,q)|0;oz(w,o,20,1)|0;if(+p[n>>3]!=+p[o>>3]){p[s>>3]=+p[n>>3];_d(50,w,45182,s)|0}we(k[d>>2]|0,w,-1,-1);r=y;return}case 1:{ye(k[d>>2]|0,k[k[e>>2]>>2]|0);r=y;return}case 4:{k[x>>2]=0;u=ie(k[k[e>>2]>>2]|0)|0;k[v>>2]=u;u=ke(k[k[e>>2]>>2]|0)|0;k[m>>2]=u;u=k[d>>2]|0;w=k[m>>2]|0;w=YP(u,$R(kS(2,0,w|0,((w|0)<0)<<31>>31|0)|0,L|0,4,0)|0,L)|0;k[x>>2]=w;if(!(k[x>>2]|0)){r=y;return}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[m>>2]|0))break;i[(k[x>>2]|0)+((k[f>>2]<<1)+2)>>0]=i[45189+(i[(k[v>>2]|0)+(k[f>>2]|0)>>0]>>4&15)>>0]|0;i[(k[x>>2]|0)+((k[f>>2]<<1)+3)>>0]=i[45189+(i[(k[v>>2]|0)+(k[f>>2]|0)>>0]&15)>>0]|0;k[f>>2]=(k[f>>2]|0)+1}i[(k[x>>2]|0)+((k[m>>2]<<1)+2)>>0]=39;i[(k[x>>2]|0)+((k[m>>2]<<1)+3)>>0]=0;i[k[x>>2]>>0]=88;i[(k[x>>2]|0)+1>>0]=39;we(k[d>>2]|0,k[x>>2]|0,-1,-1);Ud(k[x>>2]|0);r=y;return}case 3:{x=je(k[k[e>>2]>>2]|0)|0;k[u>>2]=x;if(!(k[u>>2]|0)){r=y;return}k[g>>2]=0;x=j;k[x>>2]=0;k[x+4>>2]=0;while(1){if(!(i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0))break;if((l[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0)==39){w=j;w=$R(k[w>>2]|0,k[w+4>>2]|0,1,0)|0;x=j;k[x>>2]=w;k[x+4>>2]=L}k[g>>2]=(k[g>>2]|0)+1}w=k[d>>2]|0;v=k[g>>2]|0;x=j;x=$R(v|0,((v|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;x=$R(x|0,L|0,3,0)|0;x=YP(w,x,L)|0;k[t>>2]=x;if(!(k[t>>2]|0)){r=y;return}i[k[t>>2]>>0]=39;k[g>>2]=0;k[h>>2]=1;while(1){if(!(i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0))break;w=i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0;x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=w;if((l[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0)==39){x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=39}k[g>>2]=(k[g>>2]|0)+1}x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=39;i[(k[t>>2]|0)+(k[h>>2]|0)>>0]=0;we(k[d>>2]|0,k[t>>2]|0,k[h>>2]|0,148);r=y;return}default:{we(k[d>>2]|0,39691,4,0);r=y;return}}}function KP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;c=Fe(k[f>>2]|0)|0;k[e>>2]=c;c=k[f>>2]|0;a=zf(k[e>>2]|0)|0;ue(c,a,L);r=d;return}function LP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;a=Fe(k[f>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;te(a,Af(k[e>>2]|0)|0);r=d;return}function MP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;a=Fe(k[f>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;te(a,Bf(k[e>>2]|0)|0);r=d;return}function NP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;o=w+64|0;d=w+56|0;v=w+52|0;m=w+48|0;n=w+44|0;u=w+40|0;s=w+36|0;h=w+32|0;j=w+28|0;g=w;f=w+24|0;p=w+20|0;q=w+16|0;t=w+12|0;e=w+8|0;k[o>>2]=a;k[w+60>>2]=b;k[d>>2]=c;a=je(k[k[d>>2]>>2]|0)|0;k[v>>2]=a;if(!(k[v>>2]|0)){r=w;return}a=ke(k[k[d>>2]>>2]|0)|0;k[s>>2]=a;a=je(k[(k[d>>2]|0)+4>>2]|0)|0;k[m>>2]=a;if(!(k[m>>2]|0)){r=w;return}if(!(l[k[m>>2]>>0]|0)){ye(k[o>>2]|0,k[k[d>>2]>>2]|0);r=w;return}a=ke(k[(k[d>>2]|0)+4>>2]|0)|0;k[h>>2]=a;a=je(k[(k[d>>2]|0)+8>>2]|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){r=w;return}c=ke(k[(k[d>>2]|0)+8>>2]|0)|0;k[j>>2]=c;c=(k[s>>2]|0)+1|0;a=g;k[a>>2]=c;k[a+4>>2]=((c|0)<0)<<31>>31;a=g;a=YP(k[o>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[u>>2]=a;if(!(k[u>>2]|0)){r=w;return}k[f>>2]=(k[s>>2]|0)-(k[h>>2]|0);k[q>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>(k[f>>2]|0)){d=18;break}if((l[(k[v>>2]|0)+(k[p>>2]|0)>>0]|0|0)==(l[k[m>>2]>>0]|0|0)?(oR((k[v>>2]|0)+(k[p>>2]|0)|0,k[m>>2]|0,k[h>>2]|0)|0)==0:0){d=Fe(k[o>>2]|0)|0;k[e>>2]=d;d=(k[j>>2]|0)-(k[h>>2]|0)|0;c=g;d=$R(k[c>>2]|0,k[c+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c=g;k[c>>2]=d;k[c+4>>2]=L;c=g;c=_R(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;d=L;a=k[(k[e>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if((d|0)>(b|0)|(d|0)==(b|0)&c>>>0>a>>>0){d=13;break}k[t>>2]=k[u>>2];a=k[g>>2]|0;a=Wd(k[u>>2]|0,a,((a|0)<0)<<31>>31)|0;k[u>>2]=a;if(!(k[u>>2]|0)){d=15;break}bS((k[u>>2]|0)+(k[q>>2]|0)|0,k[n>>2]|0,k[j>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+(k[j>>2]|0);k[p>>2]=(k[p>>2]|0)+((k[h>>2]|0)-1)}else{c=i[(k[v>>2]|0)+(k[p>>2]|0)>>0]|0;a=k[q>>2]|0;k[q>>2]=a+1;i[(k[u>>2]|0)+a>>0]=c}k[p>>2]=(k[p>>2]|0)+1}if((d|0)==13){Be(k[o>>2]|0);Ud(k[u>>2]|0);r=w;return}else if((d|0)==15){Ce(k[o>>2]|0);Ud(k[t>>2]|0);r=w;return}else if((d|0)==18){bS((k[u>>2]|0)+(k[q>>2]|0)|0,(k[v>>2]|0)+(k[p>>2]|0)|0,(k[s>>2]|0)-(k[p>>2]|0)|0)|0;k[q>>2]=(k[q>>2]|0)+((k[s>>2]|0)-(k[p>>2]|0));i[(k[u>>2]|0)+(k[q>>2]|0)>>0]=0;we(k[o>>2]|0,k[u>>2]|0,k[q>>2]|0,148);r=w;return}}function OP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;d=f+20|0;h=f+12|0;g=f;e=f+8|0;k[d>>2]=a;k[f+16>>2]=b;k[h>>2]=c;h=ne(k[k[h>>2]>>2]|0)|0;c=L;b=g;k[b>>2]=h;k[b+4>>2]=c;b=(k[g+4>>2]|0)<0;a=g;k[a>>2]=b?0:h;k[a+4>>2]=b?0:c;a=g;a=ze(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){r=f;return}Ae(k[d>>2]|0,k[e>>2]|0);r=f;return}function PP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+44|0;d=q+40|0;e=q+36|0;o=q+32|0;p=q+28|0;f=q+24|0;h=q+20|0;m=q+8|0;n=q;g=q+16|0;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;if((oe(k[(k[e>>2]|0)+4>>2]|0)|0)==5){r=q;return}if((k[d>>2]|0)==3?(oe(k[(k[e>>2]|0)+8>>2]|0)|0)==5:0){r=q;return}a=oe(k[k[e>>2]>>2]|0)|0;k[h>>2]=a;a=me(k[(k[e>>2]|0)+4>>2]|0)|0;b=m;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;b=k[k[e>>2]>>2]|0;a:do if((k[h>>2]|0)==4){a=ke(b)|0;k[f>>2]=a;a=ie(k[k[e>>2]>>2]|0)|0;k[o>>2]=a;if(!(k[o>>2]|0)){r=q;return}}else{a=je(b)|0;k[o>>2]=a;if(!(k[o>>2]|0)){r=q;return}k[f>>2]=0;if((k[m+4>>2]|0)<0){k[p>>2]=k[o>>2];while(1){if(!(i[k[p>>2]>>0]|0))break a;a=k[p>>2]|0;k[p>>2]=a+1;b:do if((l[a>>0]|0)>=192)while(1){if((l[k[p>>2]>>0]&192|0)!=128)break b;k[p>>2]=(k[p>>2]|0)+1}while(0);k[f>>2]=(k[f>>2]|0)+1}}}while(0);if((k[d>>2]|0)==3){d=me(k[(k[e>>2]|0)+8>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;if((k[n+4>>2]|0)<0){d=n;d=_R(0,0,k[d>>2]|0,k[d+4>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=L;k[g>>2]=1}}else{d=(Fe(k[j>>2]|0)|0)+96|0;d=k[d>>2]|0;e=n;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31}do if((k[m+4>>2]|0)<0){d=k[f>>2]|0;e=m;d=$R(k[e>>2]|0,k[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=m;k[e>>2]=d;k[e+4>>2]=L;if((k[m+4>>2]|0)<0){c=m;d=n;c=$R(k[d>>2]|0,k[d+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;d=L;a=n;k[a>>2]=c;k[a+4>>2]=d;a=(k[n+4>>2]|0)<0;e=n;k[e>>2]=a?0:c;k[e+4>>2]=a?0:d;e=m;k[e>>2]=0;k[e+4>>2]=0}}else{e=m;d=k[e+4>>2]|0;if((d|0)>0|(d|0)==0&(k[e>>2]|0)>>>0>0){d=m;d=$R(k[d>>2]|0,k[d+4>>2]|0,-1,-1)|0;e=m;k[e>>2]=d;k[e+4>>2]=L;break}e=n;d=k[e+4>>2]|0;if((d|0)>0|(d|0)==0&(k[e>>2]|0)>>>0>0){d=n;d=$R(k[d>>2]|0,k[d+4>>2]|0,-1,-1)|0;e=n;k[e>>2]=d;k[e+4>>2]=L}}while(0);if((k[g>>2]|0)!=0?(e=n,g=m,e=_R(k[g>>2]|0,k[g+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0,g=m,k[g>>2]=e,k[g+4>>2]=L,(k[m+4>>2]|0)<0):0){e=m;g=n;e=$R(k[g>>2]|0,k[g+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;g=n;k[g>>2]=e;k[g+4>>2]=L;g=m;k[g>>2]=0;k[g+4>>2]=0}if((k[h>>2]|0)==4){e=m;h=n;h=$R(k[e>>2]|0,k[e+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;e=L;p=k[f>>2]|0;g=((p|0)<0)<<31>>31;if((e|0)>(g|0)|(e|0)==(g|0)&h>>>0>p>>>0){h=k[f>>2]|0;f=m;f=_R(h|0,((h|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;h=L;g=n;k[g>>2]=f;k[g+4>>2]=h;g=(k[n+4>>2]|0)<0;p=n;k[p>>2]=g?0:f;k[p+4>>2]=g?0:h}p=n;qe(k[j>>2]|0,(k[o>>2]|0)+(k[m>>2]|0)|0,k[p>>2]|0,k[p+4>>2]|0,-1);r=q;return}while(1){h=m;b=k[o>>2]|0;if(!((l[k[o>>2]>>0]|0)!=0?(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0:0))break;k[o>>2]=b+1;c:do if((l[b>>0]|0)>=192)while(1){if((l[k[o>>2]>>0]&192|0)!=128)break c;k[o>>2]=(k[o>>2]|0)+1}while(0);g=m;g=$R(k[g>>2]|0,k[g+4>>2]|0,-1,-1)|0;h=m;k[h>>2]=g;k[h+4>>2]=L}k[p>>2]=b;while(1){m=n;if(!((l[k[p>>2]>>0]|0)!=0?(k[m>>2]|0)!=0|(k[m+4>>2]|0)!=0:0))break;m=k[p>>2]|0;k[p>>2]=m+1;d:do if((l[m>>0]|0)>=192)while(1){if((l[k[p>>2]>>0]&192|0)!=128)break d;k[p>>2]=(k[p>>2]|0)+1}while(0);h=n;h=$R(k[h>>2]|0,k[h+4>>2]|0,-1,-1)|0;m=n;k[m>>2]=h;k[m+4>>2]=L}p=(k[p>>2]|0)-(k[o>>2]|0)|0;xe(k[j>>2]|0,k[o>>2]|0,p,((p|0)<0)<<31>>31,-1,1);r=q;return}function QP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0.0;h=r;r=r+32|0;j=h+24|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;k[j>>2]=a;k[h+20>>2]=b;k[d>>2]=c;a=Ge(k[j>>2]|0,32)|0;k[e>>2]=a;a=bf(k[k[d>>2]>>2]|0)|0;k[f>>2]=a;if(!((k[e>>2]|0)!=0&(k[f>>2]|0)!=5)){r=h;return}j=(k[e>>2]|0)+16|0;a=j;a=$R(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;k[j>>2]=a;k[j+4>>2]=L;d=k[k[d>>2]>>2]|0;if((k[f>>2]|0)!=1){m=+le(d);j=k[e>>2]|0;p[j>>3]=+p[j>>3]+m;i[(k[e>>2]|0)+25>>0]=1;r=h;return}j=ne(d)|0;f=g;k[f>>2]=j;k[f+4>>2]=L;f=g;j=k[e>>2]|0;p[j>>3]=+p[j>>3]+(+((k[f>>2]|0)>>>0)+4294967296.0*+(k[f+4>>2]|0));if(l[(k[e>>2]|0)+25>>0]|0|(l[(k[e>>2]|0)+24>>0]|0)){r=h;return}j=g;if(!(SI((k[e>>2]|0)+8|0,k[j>>2]|0,k[j+4>>2]|0)|0)){r=h;return}i[(k[e>>2]|0)+24>>0]=1;r=h;return}function RP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;e=k[a+4>>2]|0;if(!((e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>0)){r=d;return}if(i[(k[c>>2]|0)+24>>0]|0){se(k[b>>2]|0,45165,-1);r=d;return}b=k[b>>2]|0;a=k[c>>2]|0;if(i[(k[c>>2]|0)+25>>0]|0){re(b,+p[a>>3]);r=d;return}else{e=a+8|0;ue(b,k[e>>2]|0,k[e+4>>2]|0);r=d;return}}function SP(a){a=a|0;var b=0,c=0,d=0,e=0.0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=Ge(k[d>>2]|0,0)|0;k[b>>2]=a;a=k[d>>2]|0;if(!(k[b>>2]|0)){e=0.0;re(a,e);r=c;return}e=+p[k[b>>2]>>3];re(a,e);r=c;return}function TP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;e=k[a+4>>2]|0;if(!((e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>0)){r=d;return}e=(k[c>>2]|0)+16|0;re(k[b>>2]|0,+p[k[c>>2]>>3]/(+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0)));r=d;return}function UP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=c;a=Ge(k[h>>2]|0,8)|0;k[e>>2]=a;if(!(k[g>>2]|0)){if(!(k[e>>2]|0)){r=f;return}}else{h=5!=(oe(k[k[d>>2]>>2]|0)|0);if(!(h&(k[e>>2]|0)!=0)){r=f;return}}h=k[e>>2]|0;g=h;g=$R(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[h>>2]=g;k[h+4>>2]=L;r=f;return}function VP(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=Ge(k[d>>2]|0,0)|0;k[b>>2]=a;a=k[d>>2]|0;if(!(k[b>>2]|0)){b=0;d=0;ue(a,b,d);r=c;return}d=k[b>>2]|0;b=k[d>>2]|0;d=k[d+4>>2]|0;ue(a,b,d);r=c;return}function WP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+36|0;e=o+32|0;f=o+28|0;n=o+24|0;l=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;g=o+4|0;h=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((oe(k[k[f>>2]>>2]|0)|0)==5){r=o;return}a=Ge(k[d>>2]|0,28)|0;k[l>>2]=a;if(!(k[l>>2]|0)){r=o;return}a=Fe(k[d>>2]|0)|0;k[g>>2]=a;k[h>>2]=(k[(k[l>>2]|0)+20>>2]|0)==0&1;k[(k[l>>2]|0)+20>>2]=k[(k[g>>2]|0)+96>>2];if(!(k[h>>2]|0)){if((k[e>>2]|0)==2){h=je(k[(k[f>>2]|0)+4>>2]|0)|0;k[m>>2]=h;h=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[i>>2]=h}else{k[m>>2]=34710;k[i>>2]=1}if(k[i>>2]|0)CA(k[l>>2]|0,k[m>>2]|0,k[i>>2]|0)}m=je(k[k[f>>2]>>2]|0)|0;k[n>>2]=m;m=ke(k[k[f>>2]>>2]|0)|0;k[j>>2]=m;if(!(k[n>>2]|0)){r=o;return}CA(k[l>>2]|0,k[n>>2]|0,k[j>>2]|0);r=o;return}function XP(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if((l[(k[c>>2]|0)+24>>0]|0|0)==2){Be(k[b>>2]|0);r=d;return}b=k[b>>2]|0;if((l[(k[c>>2]|0)+24>>0]|0|0)==1){Ce(b);r=d;return}else{we(b,pg(k[c>>2]|0)|0,-1,148);r=d;return}}function YP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;d=g+16|0;e=g;f=g+12|0;i=g+8|0;k[d>>2]=a;h=e;k[h>>2]=b;k[h+4>>2]=c;c=Fe(k[d>>2]|0)|0;k[i>>2]=c;c=e;h=k[c+4>>2]|0;a=k[(k[i>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if((h|0)>(b|0)|((h|0)==(b|0)?(k[c>>2]|0)>>>0>a>>>0:0)){Be(k[d>>2]|0);k[f>>2]=0;i=k[f>>2]|0;r=g;return i|0}i=e;i=jg(k[i>>2]|0,k[i+4>>2]|0)|0;k[f>>2]=i;if(k[f>>2]|0){i=k[f>>2]|0;r=g;return i|0}Ce(k[d>>2]|0);i=k[f>>2]|0;r=g;return i|0}function ZP(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[(k[(k[d>>2]|0)+12>>2]|0)+88>>2]|0)+(((k[(k[d>>2]|0)+16>>2]|0)-1|0)*20|0);r=c;return k[(k[b>>2]|0)+16>>2]|0}function _P(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+24>>0]=1;r=b;return}function $P(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+64|0;d=f+56|0;h=f+52|0;g=f+48|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;if(hQ(k[d>>2]|0,k[h>>2]|0,k[g>>2]|0,e)|0){r=f;return}iQ(e);h=e;re(k[d>>2]|0,(+((k[h>>2]|0)>>>0)+4294967296.0*+(k[h+4>>2]|0))/864.0e5);r=f;return}function aQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+176|0;e=h+48|0;d=h+68|0;j=h+64|0;i=h+60|0;f=h;g=h+72|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(hQ(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}kQ(f);i=k[f+12>>2]|0;j=k[f+16>>2]|0;k[e>>2]=k[f+8>>2];k[e+4>>2]=i;k[e+8>>2]=j;_d(100,g,45506,e)|0;we(k[d>>2]|0,g,-1,-1);r=h;return}function bQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+176|0;e=h+48|0;d=h+68|0;j=h+64|0;i=h+60|0;f=h;g=h+72|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(hQ(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}lQ(f);i=k[f+24>>2]|0;j=~~+p[f+32>>3];k[e>>2]=k[f+20>>2];k[e+4>>2]=i;k[e+8>>2]=j;_d(100,g,45491,e)|0;we(k[d>>2]|0,g,-1,-1);r=h;return}function cQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+192|0;e=h+48|0;d=h+80|0;j=h+76|0;i=h+72|0;f=h;g=h+84|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(hQ(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}jQ(f);b=k[f+12>>2]|0;c=k[f+16>>2]|0;a=k[f+20>>2]|0;i=k[f+24>>2]|0;j=~~+p[f+32>>3];k[e>>2]=k[f+8>>2];k[e+4>>2]=b;k[e+8>>2]=c;k[e+12>>2]=a;k[e+16>>2]=i;k[e+20>>2]=j;_d(100,g,45461,e)|0;we(k[d>>2]|0,g,-1,-1);r=h;return}function dQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+336|0;z=I+192|0;y=I+184|0;x=I+176|0;w=I+168|0;v=I+160|0;u=I+152|0;t=I+144|0;B=I+136|0;A=I+128|0;s=I+120|0;q=I+112|0;j=I+232|0;d=I+228|0;e=I+224|0;D=I+64|0;g=I+56|0;l=I+220|0;m=I+216|0;F=I+212|0;f=I+208|0;H=I+204|0;G=I+236|0;o=I+48|0;n=I+200|0;E=I;C=I+196|0;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;if(!(k[d>>2]|0)){r=I;return}a=je(k[k[e>>2]>>2]|0)|0;k[H>>2]=a;if(!(k[H>>2]|0)){r=I;return}if(hQ(k[j>>2]|0,(k[d>>2]|0)-1|0,(k[e>>2]|0)+4|0,D)|0){r=I;return}a=Fe(k[j>>2]|0)|0;k[f>>2]=a;k[l>>2]=0;a=g;k[a>>2]=1;k[a+4>>2]=0;a:while(1){if(!(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)==37){switch(i[(k[H>>2]|0)+((k[l>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{c=g;c=$R(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 37:case 119:break;case 102:{c=g;c=$R(k[c>>2]|0,k[c+4>>2]|0,8,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 106:{c=g;c=$R(k[c>>2]|0,k[c+4>>2]|0,3,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 89:{c=g;c=$R(k[c>>2]|0,k[c+4>>2]|0,8,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 74:case 115:{c=g;c=$R(k[c>>2]|0,k[c+4>>2]|0,50,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}default:{h=44;break a}}k[l>>2]=(k[l>>2]|0)+1}k[l>>2]=(k[l>>2]|0)+1;c=g;c=$R(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L}if((h|0)==44){r=I;return}h=g;a=k[h+4>>2]|0;if(!(a>>>0<0|(a|0)==0&(k[h>>2]|0)>>>0<100)){a=g;b=k[a+4>>2]|0;h=k[(k[f>>2]|0)+96>>2]|0;c=((h|0)<0)<<31>>31;if(b>>>0>c>>>0|((b|0)==(c|0)?(k[a>>2]|0)>>>0>h>>>0:0)){Be(k[j>>2]|0);r=I;return}h=k[g>>2]|0;h=dx(k[f>>2]|0,h,((h|0)<0)<<31>>31)|0;k[F>>2]=h;if(!(k[F>>2]|0)){Ce(k[j>>2]|0);r=I;return}}else k[F>>2]=G;iQ(D);jQ(D);k[m>>2]=0;k[l>>2]=0;while(1){if(!(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0))break;d=k[l>>2]|0;b:do if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)!=37){g=i[(k[H>>2]|0)+d>>0]|0;h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=g}else{k[l>>2]=d+1;do switch(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0){case 100:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[q>>2]=k[D+16>>2];_d(3,h,45303,q)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 102:{p[o>>3]=+p[D+32>>3];if(+p[o>>3]>59.999)p[o>>3]=59.999;h=(k[F>>2]|0)+(k[m>>2]|0)|0;p[s>>3]=+p[o>>3];_d(7,h,45308,s)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 72:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[A>>2]=k[D+20>>2];_d(3,h,45303,A)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 106:case 87:{d=E;e=D;b=d+48|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(b|0));i[E+42>>0]=0;k[E+12>>2]=1;k[E+16>>2]=1;iQ(E);g=D;h=E;h=iS($R(_R(k[g>>2]|0,k[g+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0,L|0,432e5,0)|0,L|0,864e5,0)|0;k[n>>2]=h;if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)==87){h=D;h=$R(k[h>>2]|0,k[h+4>>2]|0,432e5,0)|0;h=iS(h|0,L|0,864e5,0)|0;h=jS(h|0,L|0,7,0)|0;k[C>>2]=h;h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[B>>2]=((k[n>>2]|0)+7-(k[C>>2]|0)|0)/7|0;_d(3,h,45303,B)|0;k[m>>2]=(k[m>>2]|0)+2;break b}else{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[t>>2]=(k[n>>2]|0)+1;_d(4,h,45315,t)|0;k[m>>2]=(k[m>>2]|0)+3;break b}}case 74:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;g=D;p[u>>3]=(+((k[g>>2]|0)>>>0)+4294967296.0*+(k[g+4>>2]|0))/864.0e5;_d(20,h,41946,u)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 109:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[v>>2]=k[D+12>>2];_d(3,h,45303,v)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 77:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[w>>2]=k[D+24>>2];_d(3,h,45303,w)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 115:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;f=D;f=_R(iS(k[f>>2]|0,k[f+4>>2]|0,1e3,0)|0,L|0,413362496,49)|0;g=x;k[g>>2]=f;k[g+4>>2]=L;_d(30,h,28266,x)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 83:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[y>>2]=~~+p[D+32>>3];_d(3,h,45303,y)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 119:{g=D;g=jS(iS($R(k[g>>2]|0,k[g+4>>2]|0,1296e5,0)|0,L|0,864e5,0)|0,L|0,7,0)|0;h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=((g&255)<<24>>24)+48;break b}case 89:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[z>>2]=k[D+8>>2];_d(5,h,45320,z)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}default:{h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=37;break b}}while(0)}while(0);k[l>>2]=(k[l>>2]|0)+1}i[(k[F>>2]|0)+(k[m>>2]|0)>>0]=0;we(k[j>>2]|0,k[F>>2]|0,-1,(k[F>>2]|0)==(G|0)?-1:170);r=I;return}function eQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;bQ(k[e>>2]|0,0,0);r=d;return}function fQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;cQ(k[e>>2]|0,0,0);r=d;return}function gQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;aQ(k[e>>2]|0,0,0);r=d;return}function hQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0.0;o=r;r=r+32|0;n=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=k[h>>2]|0;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if(!(k[f>>2]|0)){m=mQ(k[e>>2]|0,k[h>>2]|0)|0;k[n>>2]=m;n=k[n>>2]|0;r=o;return n|0}d=oe(k[k[g>>2]>>2]|0)|0;k[j>>2]=d;b=k[k[g>>2]>>2]|0;do if((d|0)==2|(k[j>>2]|0)==1){p=+le(b)*864.0e5+.5;d=+W(p)>=1.0?(p>0.0?~~+ia(+V(p/4294967296.0),4294967295.0)>>>0:~~+ga((p-+(~~p>>>0))/4294967296.0)>>>0):0;j=k[h>>2]|0;k[j>>2]=~~p>>>0;k[j+4>>2]=d;i[(k[h>>2]|0)+42>>0]=1}else{j=je(b)|0;k[m>>2]=j;if((k[m>>2]|0)!=0?(nQ(k[e>>2]|0,k[m>>2]|0,k[h>>2]|0)|0)==0:0)break;k[n>>2]=1;n=k[n>>2]|0;r=o;return n|0}while(0);k[l>>2]=1;while(1){if((k[l>>2]|0)>=(k[f>>2]|0)){b=14;break}j=je(k[(k[g>>2]|0)+(k[l>>2]<<2)>>2]|0)|0;k[m>>2]=j;if(!(k[m>>2]|0)){b=12;break}if(oQ(k[e>>2]|0,k[m>>2]|0,k[h>>2]|0)|0){b=12;break}k[l>>2]=(k[l>>2]|0)+1}if((b|0)==12){k[n>>2]=1;n=k[n>>2]|0;r=o;return n|0}else if((b|0)==14){k[n>>2]=0;n=k[n>>2]|0;r=o;return n|0}return 0}function iQ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0.0;l=r;r=r+32|0;b=l+28|0;j=l+24|0;f=l+20|0;e=l+16|0;c=l+12|0;d=l+8|0;g=l+4|0;h=l;k[b>>2]=a;if(i[(k[b>>2]|0)+42>>0]|0){r=l;return}if(i[(k[b>>2]|0)+40>>0]|0){k[j>>2]=k[(k[b>>2]|0)+8>>2];k[f>>2]=k[(k[b>>2]|0)+12>>2];k[e>>2]=k[(k[b>>2]|0)+16>>2]}else{k[j>>2]=2e3;k[f>>2]=1;k[e>>2]=1}if((k[f>>2]|0)<=2){k[j>>2]=(k[j>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+12}k[c>>2]=(k[j>>2]|0)/100|0;k[d>>2]=2-(k[c>>2]|0)+((k[c>>2]|0)/4|0);k[g>>2]=(((k[j>>2]|0)+4716|0)*36525|0)/100|0;k[h>>2]=(((k[f>>2]|0)+1|0)*306001|0)/1e4|0;m=(+((k[g>>2]|0)+(k[h>>2]|0)+(k[e>>2]|0)+(k[d>>2]|0)|0)-1524.5)*864.0e5;j=+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0;a=k[b>>2]|0;k[a>>2]=~~m>>>0;k[a+4>>2]=j;i[(k[b>>2]|0)+42>>0]=1;if(!(i[(k[b>>2]|0)+41>>0]|0)){r=l;return}j=ha(k[(k[b>>2]|0)+20>>2]|0,36e5)|0;j=j+((k[(k[b>>2]|0)+24>>2]|0)*6e4|0)|0;m=+p[(k[b>>2]|0)+32>>3]*1.0e3;j=$R(j|0,((j|0)<0)<<31>>31|0,~~m>>>0|0,(+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0)|0;a=k[b>>2]|0;h=a;j=$R(k[h>>2]|0,k[h+4>>2]|0,j|0,L|0)|0;k[a>>2]=j;k[a+4>>2]=L;if(!(i[(k[b>>2]|0)+43>>0]|0)){r=l;return}j=(k[(k[b>>2]|0)+28>>2]|0)*6e4|0;a=k[b>>2]|0;h=a;j=_R(k[h>>2]|0,k[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;k[a>>2]=j;k[a+4>>2]=L;i[(k[b>>2]|0)+40>>0]=0;i[(k[b>>2]|0)+41>>0]=0;i[(k[b>>2]|0)+43>>0]=0;r=l;return}function jQ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;kQ(k[c>>2]|0);lQ(k[c>>2]|0);r=b;return}function kQ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;j=l+24|0;c=l+20|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[b>>2]=a;if(i[(k[b>>2]|0)+40>>0]|0){r=l;return}a=k[b>>2]|0;if(i[(k[b>>2]|0)+42>>0]|0){a=$R(k[a>>2]|0,k[a+4>>2]|0,432e5,0)|0;a=iS(a|0,L|0,864e5,0)|0;k[j>>2]=a;k[c>>2]=~~((+(k[j>>2]|0)-1867216.25)/36524.25);k[c>>2]=(k[j>>2]|0)+1+(k[c>>2]|0)-((k[c>>2]|0)/4|0);k[d>>2]=(k[c>>2]|0)+1524;k[e>>2]=~~((+(k[d>>2]|0)-122.1)/365.25);k[f>>2]=((k[e>>2]&32767)*36525|0)/100|0;k[g>>2]=~~(+((k[d>>2]|0)-(k[f>>2]|0)|0)/30.6001);k[h>>2]=~~(+(k[g>>2]|0)*30.6001);k[(k[b>>2]|0)+16>>2]=(k[d>>2]|0)-(k[f>>2]|0)-(k[h>>2]|0);j=k[g>>2]|0;k[(k[b>>2]|0)+12>>2]=(k[g>>2]|0)<14?j-1|0:j-13|0;j=k[e>>2]|0;k[(k[b>>2]|0)+8>>2]=(k[(k[b>>2]|0)+12>>2]|0)>2?j-4716|0:j-4715|0}else{k[a+8>>2]=2e3;k[(k[b>>2]|0)+12>>2]=1;k[(k[b>>2]|0)+16>>2]=1}i[(k[b>>2]|0)+40>>0]=1;r=l;return}function lQ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(i[(k[b>>2]|0)+41>>0]|0){r=d;return}iQ(k[b>>2]|0);a=k[b>>2]|0;a=$R(k[a>>2]|0,k[a+4>>2]|0,432e5,0)|0;a=jS(a|0,L|0,864e5,0)|0;k[c>>2]=a;p[(k[b>>2]|0)+32>>3]=+(k[c>>2]|0)/1.0e3;k[c>>2]=~~+p[(k[b>>2]|0)+32>>3];a=(k[b>>2]|0)+32|0;p[a>>3]=+p[a>>3]-+(k[c>>2]|0);k[(k[b>>2]|0)+20>>2]=(k[c>>2]|0)/3600|0;k[c>>2]=(k[c>>2]|0)-((k[(k[b>>2]|0)+20>>2]|0)*3600|0);k[(k[b>>2]|0)+24>>2]=(k[c>>2]|0)/60|0;a=(k[b>>2]|0)+32|0;p[a>>3]=+p[a>>3]+ +((k[c>>2]|0)-((k[(k[b>>2]|0)+24>>2]|0)*60|0)|0);i[(k[b>>2]|0)+41>>0]=1;r=d;return}function mQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;a=wQ(k[f>>2]|0)|0;b=k[d>>2]|0;k[b>>2]=a;k[b+4>>2]=L;b=k[d>>2]|0;a=k[b+4>>2]|0;if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0){i[(k[d>>2]|0)+42>>0]=1;k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}else{k[c>>2]=1;f=k[c>>2]|0;r=e;return f|0}return 0}function nQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0.0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(vQ(k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}if(!(rQ(k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}if(!(sg(k[f>>2]|0,45445)|0)){b=mQ(k[e>>2]|0,k[g>>2]|0)|0;k[d>>2]=b;b=k[d>>2]|0;r=j;return b|0}b=k[f>>2]|0;if(oz(b,h,Tf(k[f>>2]|0)|0,1)|0){l=+p[h>>3]*864.0e5+.5;h=+W(l)>=1.0?(l>0.0?~~+ia(+V(l/4294967296.0),4294967295.0)>>>0:~~+ga((l-+(~~l>>>0))/4294967296.0)>>>0):0;b=k[g>>2]|0;k[b>>2]=~~l>>>0;k[b+4>>2]=h;i[(k[g>>2]|0)+42>>0]=1;k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}else{k[d>>2]=1;b=k[d>>2]|0;r=j;return b|0}return 0}function oQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=r;r=r+160|0;d=z+124|0;e=z+120|0;w=z+116|0;x=z+112|0;h=z+108|0;j=z+80|0;y=z+104|0;g=z+72|0;f=z+64|0;m=z+56|0;v=z+100|0;u=z+8|0;t=z;n=z+96|0;o=z+92|0;q=z+88|0;k[d>>2]=a;k[e>>2]=b;k[w>>2]=c;k[x>>2]=1;k[y>>2]=z+128;k[h>>2]=0;while(1){if((k[h>>2]|0)<29)a=(i[(k[e>>2]|0)+(k[h>>2]|0)>>0]|0)!=0;else a=0;c=k[h>>2]|0;if(!a)break;i[(k[y>>2]|0)+(k[h>>2]|0)>>0]=i[17613+(l[(k[e>>2]|0)+c>>0]|0)>>0]|0;k[h>>2]=(k[h>>2]|0)+1}i[(k[y>>2]|0)+c>>0]=0;switch(i[k[y>>2]>>0]|0){case 108:{if(rR(k[y>>2]|0,45325)|0){y=k[x>>2]|0;r=z;return y|0}iQ(k[w>>2]|0);v=pQ(k[w>>2]|0,k[d>>2]|0,x)|0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L;qQ(k[w>>2]|0);y=k[x>>2]|0;r=z;return y|0}case 117:{if((rR(k[y>>2]|0,45335)|0)==0?(i[(k[w>>2]|0)+42>>0]|0)!=0:0){v=k[w>>2]|0;v=$R(k[v>>2]|0,k[v+4>>2]|0,43200,0)|0;v=iS(v|0,L|0,86400,0)|0;v=$R(v|0,L|0,1045635584,49096)|0;y=k[w>>2]|0;k[y>>2]=v;k[y+4>>2]=L;qQ(k[w>>2]|0);k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(rR(k[y>>2]|0,45345)|0){y=k[x>>2]|0;r=z;return y|0}if(i[(k[w>>2]|0)+44>>0]|0){k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}iQ(k[w>>2]|0);v=pQ(k[w>>2]|0,k[d>>2]|0,x)|0;y=g;k[y>>2]=v;k[y+4>>2]=L;if(!(k[x>>2]|0)){u=g;y=k[w>>2]|0;v=y;u=_R(k[v>>2]|0,k[v+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[y>>2]=u;k[y+4>>2]=L;qQ(k[w>>2]|0);y=g;u=k[y>>2]|0;y=k[y+4>>2]|0;v=pQ(k[w>>2]|0,k[d>>2]|0,x)|0;v=_R(u|0,y|0,v|0,L|0)|0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L}i[(k[w>>2]|0)+44>>0]=1;y=k[x>>2]|0;r=z;return y|0}case 119:{if(vR(k[y>>2]|0,45349,8)|0){y=k[x>>2]|0;r=z;return y|0}if(!(oz((k[y>>2]|0)+8|0,j,Tf((k[y>>2]|0)+8|0)|0,1)|0)){y=k[x>>2]|0;r=z;return y|0}y=~~+p[j>>3];k[h>>2]=y;if(!(((k[h>>2]|0)>=0?+(y|0)==+p[j>>3]:0)&+p[j>>3]<7.0)){y=k[x>>2]|0;r=z;return y|0}jQ(k[w>>2]|0);i[(k[w>>2]|0)+43>>0]=0;i[(k[w>>2]|0)+42>>0]=0;iQ(k[w>>2]|0);t=k[w>>2]|0;t=jS(iS($R(k[t>>2]|0,k[t+4>>2]|0,1296e5,0)|0,L|0,864e5,0)|0,L|0,7,0)|0;v=f;k[v>>2]=t;k[v+4>>2]=L;v=f;t=k[v+4>>2]|0;y=k[h>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(k[v>>2]|0)>>>0>y>>>0:0)){v=f;v=_R(k[v>>2]|0,k[v+4>>2]|0,7,0)|0;y=f;k[y>>2]=v;k[y+4>>2]=L}y=k[h>>2]|0;v=f;v=kS(_R(y|0,((y|0)<0)<<31>>31|0,k[v>>2]|0,k[v+4>>2]|0)|0,L|0,864e5,0)|0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L;qQ(k[w>>2]|0);k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}case 115:{if(vR(k[y>>2]|0,45358,9)|0){y=k[x>>2]|0;r=z;return y|0}k[y>>2]=(k[y>>2]|0)+9;kQ(k[w>>2]|0);i[(k[w>>2]|0)+41>>0]=1;k[(k[w>>2]|0)+24>>2]=0;k[(k[w>>2]|0)+20>>2]=0;p[(k[w>>2]|0)+32>>3]=0.0;i[(k[w>>2]|0)+43>>0]=0;i[(k[w>>2]|0)+42>>0]=0;if(!(rR(k[y>>2]|0,45368)|0)){k[(k[w>>2]|0)+16>>2]=1;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(!(rR(k[y>>2]|0,45374)|0)){kQ(k[w>>2]|0);k[(k[w>>2]|0)+12>>2]=1;k[(k[w>>2]|0)+16>>2]=1;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(rR(k[y>>2]|0,45379)|0){y=k[x>>2]|0;r=z;return y|0}k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{k[h>>2]=1;while(1){if(!(i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0))break;if((i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)==58)break;if(!((l[18403+(l[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;k[h>>2]=(k[h>>2]|0)+1}if(!(oz(k[y>>2]|0,j,k[h>>2]|0,1)|0)){k[x>>2]=1;y=k[x>>2]|0;r=z;return y|0}if((i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)==58){k[v>>2]=k[y>>2];if(!(l[18403+(l[k[v>>2]>>0]|0)>>0]&4))k[v>>2]=(k[v>>2]|0)+1;c=u;a=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));if(rQ(k[v>>2]|0,u)|0){y=k[x>>2]|0;r=z;return y|0}iQ(u);v=u;v=_R(k[v>>2]|0,k[v+4>>2]|0,432e5,0)|0;s=u;k[s>>2]=v;k[s+4>>2]=L;s=u;s=iS(k[s>>2]|0,k[s+4>>2]|0,864e5,0)|0;v=t;k[v>>2]=s;k[v+4>>2]=L;t=kS(k[t>>2]|0,k[t+4>>2]|0,864e5,0)|0;v=u;t=_R(k[v>>2]|0,k[v+4>>2]|0,t|0,L|0)|0;v=u;k[v>>2]=t;k[v+4>>2]=L;if((i[k[y>>2]>>0]|0)==45){v=u;v=_R(0,0,k[v>>2]|0,k[v+4>>2]|0)|0;y=u;k[y>>2]=v;k[y+4>>2]=L}iQ(k[w>>2]|0);qQ(k[w>>2]|0);v=u;y=k[w>>2]|0;w=y;w=$R(k[w>>2]|0,k[w+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[y>>2]=w;k[y+4>>2]=L;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}k[y>>2]=(k[y>>2]|0)+(k[h>>2]|0);while(1){c=k[y>>2]|0;if(!(l[18403+(l[k[y>>2]>>0]|0)>>0]&1))break;k[y>>2]=c+1}v=Tf(c)|0;k[h>>2]=v;if((k[h>>2]|0)>10|(k[h>>2]|0)<3){y=k[x>>2]|0;r=z;return y|0}if((i[(k[y>>2]|0)+((k[h>>2]|0)-1)>>0]|0)==115){i[(k[y>>2]|0)+((k[h>>2]|0)-1)>>0]=0;k[h>>2]=(k[h>>2]|0)+-1}iQ(k[w>>2]|0);k[x>>2]=0;p[m>>3]=+p[j>>3]<0.0?-.5:.5;if((k[h>>2]|0)==3?(rR(k[y>>2]|0,45379)|0)==0:0){A=+p[j>>3]*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L}else s=54;do if((s|0)==54){if((k[h>>2]|0)==4?(rR(k[y>>2]|0,45383)|0)==0:0){A=+p[j>>3]*36.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==6?(rR(k[y>>2]|0,45388)|0)==0:0){A=+p[j>>3]*6.0e4+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==6?(rR(k[y>>2]|0,45395)|0)==0:0){A=+p[j>>3]*1.0e3+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==5?(rR(k[y>>2]|0,45368)|0)==0:0){jQ(k[w>>2]|0);y=(k[w>>2]|0)+12|0;k[y>>2]=(k[y>>2]|0)+~~+p[j>>3];y=k[(k[w>>2]|0)+12>>2]|0;k[n>>2]=(((k[(k[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(k[w>>2]|0)+8|0;k[y>>2]=(k[y>>2]|0)+(k[n>>2]|0);y=(k[w>>2]|0)+12|0;k[y>>2]=(k[y>>2]|0)-((k[n>>2]|0)*12|0);i[(k[w>>2]|0)+42>>0]=0;iQ(k[w>>2]|0);k[o>>2]=~~+p[j>>3];if(!(+(k[o>>2]|0)!=+p[j>>3]))break;A=(+p[j>>3]-+(k[o>>2]|0))*30.0*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==4?(rR(k[y>>2]|0,45374)|0)==0:0){k[q>>2]=~~+p[j>>3];jQ(k[w>>2]|0);y=(k[w>>2]|0)+8|0;k[y>>2]=(k[y>>2]|0)+(k[q>>2]|0);i[(k[w>>2]|0)+42>>0]=0;iQ(k[w>>2]|0);if(!(+(k[q>>2]|0)!=+p[j>>3]))break;A=(+p[j>>3]-+(k[q>>2]|0))*365.0*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}k[x>>2]=1}while(0);qQ(k[w>>2]|0);y=k[x>>2]|0;r=z;return y|0}default:{y=k[x>>2]|0;r=z;return y|0}}return 0}function pQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+176|0;e=o+96|0;d=o+164|0;f=o+160|0;g=o+156|0;m=o+48|0;n=o;l=o+152|0;j=o+108|0;h=o+104|0;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;b=j;c=b+44|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));b=m;a=k[d>>2]|0;c=b+48|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));jQ(m);if((k[m+8>>2]|0)>=1971?(k[m+8>>2]|0)<2038:0){k[h>>2]=~~(+p[m+32>>3]+.5);p[m+32>>3]=+(k[h>>2]|0)}else{k[m+8>>2]=2e3;k[m+12>>2]=1;k[m+16>>2]=1;k[m+20>>2]=0;k[m+24>>2]=0;p[m+32>>3]=0.0}k[m+28>>2]=0;i[m+42>>0]=0;iQ(m);h=m;h=iS(k[h>>2]|0,k[h+4>>2]|0,1e3,0)|0;h=_R(h|0,L|0,413362496,49)|0;k[l>>2]=h;if(uQ(l,j)|0){se(k[f>>2]|0,45422,-1);k[k[g>>2]>>2]=1;m=e;k[m>>2]=0;k[m+4>>2]=0;m=e;n=m;n=k[n>>2]|0;m=m+4|0;m=k[m>>2]|0;L=m;r=o;return n|0}else{k[n+8>>2]=(k[j+20>>2]|0)+1900;k[n+12>>2]=(k[j+16>>2]|0)+1;k[n+16>>2]=k[j+12>>2];k[n+20>>2]=k[j+8>>2];k[n+24>>2]=k[j+4>>2];p[n+32>>3]=+(k[j>>2]|0);i[n+40>>0]=1;i[n+41>>0]=1;i[n+42>>0]=0;i[n+43>>0]=0;iQ(n);k[k[g>>2]>>2]=0;l=n;n=m;n=_R(k[l>>2]|0,k[l+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;m=e;k[m>>2]=n;k[m+4>>2]=L;m=e;n=m;n=k[n>>2]|0;m=m+4|0;m=k[m>>2]|0;L=m;r=o;return n|0}return 0}function qQ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+40>>0]=0;i[(k[c>>2]|0)+41>>0]=0;i[(k[c>>2]|0)+43>>0]=0;r=b;return}function rQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0;o=r;r=r+64|0;n=o+24|0;q=o+16|0;c=o+48|0;d=o+44|0;e=o+40|0;f=o+36|0;g=o+32|0;m=o+28|0;h=o+8|0;j=o;k[d>>2]=a;k[e>>2]=b;p[h>>3]=0.0;a=k[d>>2]|0;k[q>>2]=f;k[q+4>>2]=g;if((sQ(a,45402,q)|0)!=2){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}k[d>>2]=(k[d>>2]|0)+5;if((i[k[d>>2]>>0]|0)==58){k[d>>2]=(k[d>>2]|0)+1;q=k[d>>2]|0;k[n>>2]=m;if((sQ(q,45410,n)|0)!=1){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}k[d>>2]=(k[d>>2]|0)+2;if((i[k[d>>2]>>0]|0)==46?(l[18403+(l[(k[d>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){p[j>>3]=1.0;k[d>>2]=(k[d>>2]|0)+1;while(1){if(!(l[18403+(l[k[d>>2]>>0]|0)>>0]&4))break;p[h>>3]=+p[h>>3]*10.0+ +(i[k[d>>2]>>0]|0)-48.0;p[j>>3]=+p[j>>3]*10.0;k[d>>2]=(k[d>>2]|0)+1}p[h>>3]=+p[h>>3]/+p[j>>3]}}else k[m>>2]=0;i[(k[e>>2]|0)+42>>0]=0;i[(k[e>>2]|0)+41>>0]=1;k[(k[e>>2]|0)+20>>2]=k[f>>2];k[(k[e>>2]|0)+24>>2]=k[g>>2];p[(k[e>>2]|0)+32>>3]=+(k[m>>2]|0)+ +p[h>>3];if(tQ(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}else{i[(k[e>>2]|0)+43>>0]=(k[(k[e>>2]|0)+28>>2]|0)!=0?1:0;k[c>>2]=0;q=k[c>>2]|0;r=o;return q|0}return 0}function sQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+28|0;e=s+24|0;g=s+8|0;q=s+4|0;o=s+36|0;f=s+35|0;n=s+34|0;p=s;h=s+32|0;k[d>>2]=a;k[e>>2]=b;k[q>>2]=0;k[g>>2]=c;a:while(1){i[f>>0]=(i[k[e>>2]>>0]|0)-48;i[n>>0]=(i[(k[e>>2]|0)+1>>0]|0)-48;k[p>>2]=0;j[h>>1]=j[16422+((i[(k[e>>2]|0)+2>>0]|0)-97<<1)>>1]|0;i[o>>0]=i[(k[e>>2]|0)+3>>0]|0;k[p>>2]=0;while(1){b=i[f>>0]|0;i[f>>0]=b+-1<<24>>24;if(!(b<<24>>24))break;if(!(l[18403+(l[k[d>>2]>>0]|0)>>0]&4)){d=11;break a}k[p>>2]=((k[p>>2]|0)*10|0)+(i[k[d>>2]>>0]|0)-48;k[d>>2]=(k[d>>2]|0)+1}if((k[p>>2]|0)<(i[n>>0]|0)){d=11;break}if((k[p>>2]|0)>(m[h>>1]|0)){d=11;break}if((i[o>>0]|0)!=0?(i[o>>0]|0)!=(i[k[d>>2]>>0]|0):0){d=11;break}a=k[p>>2]|0;c=(k[g>>2]|0)+(4-1)&~(4-1);b=k[c>>2]|0;k[g>>2]=c+4;k[b>>2]=a;k[d>>2]=(k[d>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+4;if(!(i[o>>0]|0)){d=11;break}}if((d|0)==11){r=s;return k[q>>2]|0}return 0}function tQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;m=o;c=o+32|0;d=o+28|0;e=o+24|0;j=o+20|0;g=o+16|0;h=o+12|0;f=o+8|0;k[d>>2]=a;k[e>>2]=b;k[j>>2]=0;while(1){if(!(l[18403+(l[k[d>>2]>>0]|0)>>0]&1))break;k[d>>2]=(k[d>>2]|0)+1}k[(k[e>>2]|0)+28>>2]=0;k[f>>2]=i[k[d>>2]>>0];do if((k[f>>2]|0)==45){k[j>>2]=-1;n=11}else{if((k[f>>2]|0)==43){k[j>>2]=1;n=11;break}if((k[f>>2]|0)==90|(k[f>>2]|0)==122){k[d>>2]=(k[d>>2]|0)+1;break}k[c>>2]=(k[f>>2]|0)!=0&1;n=k[c>>2]|0;r=o;return n|0}while(0);do if((n|0)==11){k[d>>2]=(k[d>>2]|0)+1;n=k[d>>2]|0;k[m>>2]=g;k[m+4>>2]=h;if((sQ(n,45414,m)|0)==2){k[d>>2]=(k[d>>2]|0)+5;n=ha(k[j>>2]|0,(k[h>>2]|0)+((k[g>>2]|0)*60|0)|0)|0;k[(k[e>>2]|0)+28>>2]=n;break}k[c>>2]=1;n=k[c>>2]|0;r=o;return n|0}while(0);while(1){if(!(l[18403+(l[k[d>>2]>>0]|0)>>0]&1))break;k[d>>2]=(k[d>>2]|0)+1}i[(k[e>>2]|0)+44>>0]=1;k[c>>2]=(i[k[d>>2]>>0]|0)!=0&1;n=k[c>>2]|0;r=o;return n|0}function uQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;a=Tb(k[g>>2]|0)|0;k[d>>2]=a;k[d>>2]=(k[69]|0)!=0?0:a;if(k[d>>2]|0){c=k[c>>2]|0;b=k[d>>2]|0;a=c+44|0;do{k[c>>2]=k[b>>2];c=c+4|0;b=b+4|0}while((c|0)<(a|0))}k[e>>2]=(k[d>>2]|0)==0&1;r=f;return k[e>>2]|0}function vQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;c=n;d=n+36|0;e=n+32|0;f=n+28|0;j=n+24|0;h=n+20|0;g=n+16|0;m=n+12|0;k[e>>2]=a;k[f>>2]=b;if((i[k[e>>2]>>0]|0)==45){k[e>>2]=(k[e>>2]|0)+1;k[m>>2]=1}else k[m>>2]=0;a=k[e>>2]|0;k[c>>2]=j;k[c+4>>2]=h;k[c+8>>2]=g;if((sQ(a,45449,c)|0)!=3){k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}k[e>>2]=(k[e>>2]|0)+10;while(1){if(l[18403+(l[k[e>>2]>>0]|0)>>0]&1)c=1;else c=84==(l[k[e>>2]>>0]|0);b=k[e>>2]|0;if(!c)break;k[e>>2]=b+1}do if(rQ(b,k[f>>2]|0)|0){if(!(i[k[e>>2]>>0]|0)){i[(k[f>>2]|0)+41>>0]=0;break}k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}while(0);i[(k[f>>2]|0)+42>>0]=0;i[(k[f>>2]|0)+40>>0]=1;j=k[j>>2]|0;k[(k[f>>2]|0)+8>>2]=(k[m>>2]|0)!=0?0-j|0:j;k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+16>>2]=k[g>>2];if(i[(k[f>>2]|0)+43>>0]|0)iQ(k[f>>2]|0);k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}function wQ(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[c>>2]=(k[(k[b>>2]|0)+12>>2]|0)+56;a=k[c>>2]|0;if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0?(a=AI(k[k[(k[k[b>>2]>>2]|0)+32>>2]>>2]|0,k[c>>2]|0)|0,k[d>>2]=a,(k[d>>2]|0)!=0):0){d=k[c>>2]|0;k[d>>2]=0;k[d+4>>2]=0}d=k[c>>2]|0;L=k[d+4>>2]|0;r=e;return k[d>>2]|0}function xQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+64|0;j=q;d=q+60|0;s=q+52|0;n=q+48|0;o=q+44|0;h=q+40|0;g=q+32|0;l=q+28|0;f=q+24|0;m=q+20|0;e=q+16|0;k[d>>2]=a;k[q+56>>2]=b;k[s>>2]=c;a=je(k[k[s>>2]>>2]|0)|0;k[n>>2]=a;a=je(k[(k[s>>2]|0)+4>>2]|0)|0;k[o>>2]=a;k[l>>2]=k[n>>2];k[f>>2]=0;a=Fe(k[d>>2]|0)|0;k[e>>2]=a;if(!(k[n>>2]|0)){r=q;return}do{if(!(i[k[l>>2]>>0]|0)){p=7;break}k[g>>2]=k[l>>2];k[g+4>>2]=k[f>>2];do{k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);s=jv(k[l>>2]|0,h)|0;k[f>>2]=s}while((k[h>>2]|0)==162)}while((k[h>>2]|0)!=22?(k[h>>2]|0)!=125:0);if((p|0)==7){r=q;return}s=k[e>>2]|0;l=k[n>>2]|0;o=k[o>>2]|0;p=(k[g>>2]|0)+(k[g+4>>2]|0)|0;k[j>>2]=(k[g>>2]|0)-(k[n>>2]|0);k[j+4>>2]=l;k[j+8>>2]=o;k[j+12>>2]=p;s=Qh(s,45595,j)|0;k[m>>2]=s;we(k[d>>2]|0,k[m>>2]|0,-1,170);r=q;return}function yQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+80|0;l=s;d=s+68|0;t=s+60|0;o=s+56|0;p=s+52|0;j=s+48|0;h=s+40|0;f=s+32|0;m=s+28|0;g=s+24|0;n=s+20|0;e=s+16|0;k[d>>2]=a;k[s+64>>2]=b;k[t>>2]=c;a=je(k[k[t>>2]>>2]|0)|0;k[o>>2]=a;a=je(k[(k[t>>2]|0)+4>>2]|0)|0;k[p>>2]=a;k[f>>2]=3;k[m>>2]=k[o>>2];k[g>>2]=0;a=Fe(k[d>>2]|0)|0;k[e>>2]=a;if(!(k[o>>2]|0)){r=s;return}while(1){if(!(i[k[m>>2]>>0]|0)){q=8;break}k[h>>2]=k[m>>2];k[h+4>>2]=k[g>>2];do{k[m>>2]=(k[m>>2]|0)+(k[g>>2]|0);t=jv(k[m>>2]|0,j)|0;k[g>>2]=t}while((k[j>>2]|0)==162);t=(k[f>>2]|0)+1|0;k[f>>2]=t;k[f>>2]=(k[j>>2]|0)==122|(k[j>>2]|0)==107?0:t;if((k[f>>2]|0)!=2)continue;if(!((k[j>>2]|0)!=137&(k[j>>2]|0)!=74&(k[j>>2]|0)!=5))break}if((q|0)==8){r=s;return}t=k[e>>2]|0;m=k[o>>2]|0;p=k[p>>2]|0;q=(k[h>>2]|0)+(k[h+4>>2]|0)|0;k[l>>2]=(k[h>>2]|0)-(k[o>>2]|0);k[l+4>>2]=m;k[l+8>>2]=p;k[l+12>>2]=q;t=Qh(t,45595,l)|0;k[n>>2]=t;we(k[d>>2]|0,k[n>>2]|0,-1,170);r=s;return}function zQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+80|0;j=u+16|0;h=u;d=u+76|0;v=u+68|0;e=u+64|0;q=u+60|0;t=u+56|0;m=u+52|0;o=u+48|0;n=u+44|0;l=u+40|0;f=u+36|0;g=u+32|0;s=u+28|0;p=u+24|0;k[d>>2]=a;k[u+72>>2]=b;k[v>>2]=c;a=Fe(k[d>>2]|0)|0;k[e>>2]=a;k[q>>2]=0;a=je(k[k[v>>2]>>2]|0)|0;k[m>>2]=a;a=je(k[(k[v>>2]|0)+4>>2]|0)|0;k[o>>2]=a;a=je(k[(k[v>>2]|0)+8>>2]|0)|0;k[n>>2]=a;if((k[m>>2]|0)==0|(k[o>>2]|0)==0){r=u;return}k[l>>2]=k[m>>2];while(1){if(!(i[k[l>>2]>>0]|0))break;v=jv(k[l>>2]|0,g)|0;k[f>>2]=v;if((k[g>>2]|0)==105){do{k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);v=jv(k[l>>2]|0,g)|0;k[f>>2]=v}while((k[g>>2]|0)==162);if((k[g>>2]|0)==163)break;v=k[f>>2]|0;v=gx(k[e>>2]|0,k[l>>2]|0,v,((v|0)<0)<<31>>31)|0;k[s>>2]=v;if(!(k[s>>2]|0))break;hx(k[s>>2]|0);if(!(sg(k[o>>2]|0,k[s>>2]|0)|0)){v=k[e>>2]|0;b=(k[l>>2]|0)-(k[m>>2]|0)|0;c=k[m>>2]|0;a=k[n>>2]|0;k[h>>2]=(k[q>>2]|0)!=0?k[q>>2]|0:18402;k[h+4>>2]=b;k[h+8>>2]=c;k[h+12>>2]=a;v=Qh(v,45584,h)|0;k[p>>2]=v;bg(k[e>>2]|0,k[q>>2]|0);k[q>>2]=k[p>>2];k[m>>2]=(k[l>>2]|0)+(k[f>>2]|0)}bg(k[e>>2]|0,k[s>>2]|0)}k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0)}v=k[e>>2]|0;s=k[m>>2]|0;k[j>>2]=(k[q>>2]|0)!=0?k[q>>2]|0:18402;k[j+4>>2]=s;v=Qh(v,24705,j)|0;k[t>>2]=v;we(k[d>>2]|0,k[t>>2]|0,-1,170);bg(k[e>>2]|0,k[q>>2]|0);r=u;return}function AQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;a=uu(k[d>>2]|0,k[e>>2]|0)|0;b=k[(k[d>>2]|0)+456>>2]|0;k[b>>2]=(k[b>>2]|0)+a;r=c;return}function BQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){c=k[d>>2]|0;g=k[e>>2]|0;bg(c,g);r=h;return}k[g>>2]=k[e>>2];while(1){if((k[g>>2]|0)>>>0>=((k[e>>2]|0)+((k[f>>2]|0)*20|0)|0)>>>0)break;if(i[(k[g>>2]|0)+1>>0]|0)SA(k[d>>2]|0,i[(k[g>>2]|0)+1>>0]|0,k[(k[g>>2]|0)+16>>2]|0);k[g>>2]=(k[g>>2]|0)+20}c=k[d>>2]|0;g=k[e>>2]|0;bg(c,g);r=h;return}function CQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+20>>2];if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))h=5;if((h|0)==5?(h=0,((l[(k[d>>2]|0)+42>>0]|0)&16|0)==0):0){k[g>>2]=k[k[e>>2]>>2];ck((k[(k[e>>2]|0)+24>>2]|0)+24|0,k[g>>2]|0,0)|0}PH(k[c>>2]|0,k[e>>2]|0);k[e>>2]=k[f>>2]}DQ(k[c>>2]|0,k[d>>2]|0);KH(k[c>>2]|0,k[d>>2]|0);bg(k[c>>2]|0,k[k[d>>2]>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0);pv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);ov(k[c>>2]|0,k[(k[d>>2]|0)+24>>2]|0);EQ(k[c>>2]|0,k[d>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=i;return}function DQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;f=i+12|0;g=i+8|0;e=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[d>>2]|0)+16>>2];while(1){if(!(k[f>>2]|0))break;if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0)){a=k[(k[f>>2]|0)+12>>2]|0;if(k[(k[f>>2]|0)+16>>2]|0)k[(k[(k[f>>2]|0)+16>>2]|0)+12>>2]=a;else{k[e>>2]=a;a=k[f>>2]|0;if(k[e>>2]|0)a=k[(k[a+12>>2]|0)+8>>2]|0;else a=k[a+8>>2]|0;k[h>>2]=a;ck((k[(k[d>>2]|0)+64>>2]|0)+56|0,k[h>>2]|0,k[e>>2]|0)|0}if(k[(k[f>>2]|0)+12>>2]|0)k[(k[(k[f>>2]|0)+12>>2]|0)+16>>2]=k[(k[f>>2]|0)+16>>2]}EG(k[c>>2]|0,k[(k[f>>2]|0)+28>>2]|0);EG(k[c>>2]|0,k[(k[f>>2]|0)+28+4>>2]|0);k[g>>2]=k[(k[f>>2]|0)+4>>2];bg(k[c>>2]|0,k[f>>2]|0);k[f>>2]=k[g>>2]}r=i;return}function EQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))dK(0,k[d>>2]|0)|0;if(!(k[(k[d>>2]|0)+52>>2]|0)){r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+48>>2]|0))break;if((k[e>>2]|0)!=1)bg(k[c>>2]|0,k[(k[(k[d>>2]|0)+52>>2]|0)+(k[e>>2]<<2)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}bg(k[c>>2]|0,k[(k[d>>2]|0)+52>>2]|0);r=f;return}function FQ(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function GQ(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function HQ(a){a=a|0;return (a+-97|0)>>>0<26|0}function IQ(a){a=a|0;return (a+-65|0)>>>0<26|0}function JQ(a){a=a|0;var b=0;b=(IQ(a)|0)==0;return (b?a:a|32)|0}function KQ(a){a=a|0;var b=0;b=(HQ(a)|0)==0;return (b?a:a&95)|0}function LQ(){var a=0;if(!(k[2216]|0))a=8912;else{a=(zb()|0)+60|0;a=k[a>>2]|0}return a|0}function MQ(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[45740+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=45828;c=5;break}}if((c|0)==2)if(!b)a=45828;else{a=45828;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function NQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+192|0;h=s+152|0;g=s+136|0;q=s+120|0;p=s+104|0;o=s+96|0;l=s+80|0;j=s+64|0;e=s+48|0;m=s+32|0;f=s+16|0;d=s;t=s+176|0;i=s+168|0;k[t>>2]=c;c=(k[t>>2]|0)+(4-1)&~(4-1);n=k[c>>2]|0;k[t>>2]=c+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{k[d>>2]=a;k[d+4>>2]=14;k[d+8>>2]=n;c=QQ(vb(221,d|0)|0)|0;break}case 9:{k[f>>2]=a;k[f+4>>2]=16;k[f+8>>2]=i;c=vb(221,f|0)|0;switch(c|0){case -22:{k[m>>2]=a;k[m+4>>2]=9;k[m+8>>2]=n;c=vb(221,m|0)|0;break a}case 0:{c=k[i+4>>2]|0;c=(k[i>>2]|0)==2?0-c|0:c;break a}default:{c=QQ(c)|0;break a}}}case 1030:{k[e>>2]=a;k[e+4>>2]=1030;k[e+8>>2]=n;c=vb(221,e|0)|0;if((c|0)!=-22){if((c|0)>-1){k[j>>2]=c;k[j+4>>2]=2;k[j+8>>2]=1;vb(221,j|0)|0}c=QQ(c)|0;break a}k[l>>2]=a;k[l+4>>2]=1030;k[l+8>>2]=0;c=vb(221,l|0)|0;if((c|0)==-22){k[p>>2]=a;k[p+4>>2]=0;k[p+8>>2]=n;c=vb(221,p|0)|0;if((c|0)>-1){k[q>>2]=c;k[q+4>>2]=2;k[q+8>>2]=1;vb(221,q|0)|0}c=QQ(c)|0;break a}else{if((c|0)>-1){k[o>>2]=c;Lb(6,o|0)|0}c=QQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){k[g>>2]=a;k[g+4>>2]=b;k[g+8>>2]=n;c=QQ(vb(221,g|0)|0)|0;break a}else{k[h>>2]=a;k[h+4>>2]=b;k[h+8>>2]=n;c=QQ(vb(221,h|0)|0)|0;break a}}while(0);r=s;return c|0}function OQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d;f=d+16|0;k[f>>2]=c;g=(k[f>>2]|0)+(4-1)&~(4-1);c=k[g>>2]|0;k[f>>2]=g+4;k[e>>2]=a;k[e+4>>2]=b|32768;k[e+8>>2]=c;c=QQ(Mb(5,e|0)|0)|0;r=d;return c|0}function PQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=0;while(1){i[a+c>>0]=i[47632+c>>0]|0;if((c|0)==14)break;else c=c+1|0}if(!b){i[a+14>>0]=48;i[a+15>>0]=0}else{c=14;d=b;while(1){c=c+1|0;if(d>>>0<10)break;else d=(d>>>0)/10|0}i[a+c>>0]=0;while(1){c=c+-1|0;i[a+c>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}}return}function QQ(a){a=a|0;var b=0;if(a>>>0>4294963200){b=LQ()|0;k[b>>2]=0-a;a=-1}return a|0}function RQ(a){a=+a;return +(+ea(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function SQ(a){a=+a;var b=0;p[t>>3]=a;b=aS(k[t>>2]|0,k[t+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+fa(+(a*2.0-1.0/(+X(+(a*a+-1.0))+a)));break}else{a=+fa(+a)+.6931471805599453;break}else{a=a+-1.0;a=+YQ(a+ +X(+(a*a+a*2.0)))}while(0);return +a}function TQ(a){a=+a;var b=0,c=0,d=0,e=0.0;p[t>>3]=a;d=k[t>>2]|0;c=k[t+4>>2]|0;b=aS(d|0,c|0,52)|0;b=b&2047;k[t>>2]=d;k[t+4>>2]=c&2147483647;a=+p[t>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+fa(+(a*2.0+1.0/(a+ +X(+(a*a+1.0)))));break}if(b>>>0>996){e=a*a;a=+YQ(a+e/(+X(+(e+1.0))+1.0))}}else a=+fa(+a)+.6931471805599453;while(0);return +((c|0)<0?-a:a)}function UQ(a){a=+a;var b=0,c=0,d=0,e=0.0;p[t>>3]=a;d=k[t>>2]|0;c=k[t+4>>2]|0;b=aS(d|0,c|0,52)|0;b=b&2047;k[t>>2]=d;k[t+4>>2]=c&2147483647;a=+p[t>>3];if(b>>>0<1022){if(b>>>0>=991){e=a*2.0;a=+YQ(e+a*e/(1.0-a))*.5}}else a=+YQ(a/(1.0-a)*2.0)*.5;return +((c|0)<0?-a:a)}function VQ(a){a=+a;var b=0;p[t>>3]=a;b=k[t+4>>2]&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=b;a=+p[t>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+WQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+ea(+a);a=(a+1.0/a)*.5;break}else{a=+RQ(a);break}while(0);return +a}function WQ(a){a=+a;var b=0.0,c=0.0,d=0,e=0,f=0,g=0,h=0.0,i=0,j=0.0;p[t>>3]=a;d=k[t>>2]|0;e=k[t+4>>2]|0;f=e&2147483647;g=aS(d|0,e|0,63)|0;do if(f>>>0>1078159481){f=e&2147483647;if(!(f>>>0>2146435072|(f|0)==2146435072&d>>>0>0))if(!g)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else i=11;else a=-1.0}else{if(f>>>0<=1071001154)if(f>>>0<1016070144)break;else{h=0.0;f=0;i=14;break}if(f>>>0<1072734898)if(!g){b=a+-.6931471803691238;d=1;c=1.9082149292705877e-10;i=12;break}else{b=a+.6931471803691238;d=-1;c=-1.9082149292705877e-10;i=12;break}else i=11}while(0);if((i|0)==11){d=~~(a*1.4426950408889634+((g|0)!=0?-.5:.5));c=+(d|0);b=a-c*.6931471803691238;c=c*1.9082149292705877e-10;i=12}if((i|0)==12){h=b-c;a=h;h=b-h-c;f=d;i=14}a:do if((i|0)==14){c=a*.5;b=a*c;j=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;c=3.0-c*j;c=b*((j-c)/(6.0-a*c));if(!f){a=a-(a*c-b);break}b=a*(c-h)-h-b;switch(f|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{g=eS(f+1023|0,0,52)|0;i=L;k[t>>2]=g;k[t+4>>2]=i;c=+p[t>>3];if(f>>>0>56){a=a-b+1.0;a=((f|0)==1024?a*2.0*8988465674311579538646525.0e283:c*a)+-1.0;break a}d=eS(1023-f|0,0,52)|0;e=L;if((f|0)<20){k[t>>2]=d;k[t+4>>2]=e;a=1.0-+p[t>>3]+(a-b)}else{k[t>>2]=d;k[t+4>>2]=e;a=a-(+p[t>>3]+b)+1.0}a=c*a;break a}}}while(0);return +a}function XQ(a){a=+a;var b=0,c=0,d=0,e=0,f=0.0,g=0.0,h=0.0,i=0.0,j=0.0;p[t>>3]=a;c=k[t>>2]|0;b=k[t+4>>2]|0;d=(b|0)<0;do if(d|b>>>0<1048576){if((c|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[t>>3]=a*18014398509481984.0;b=k[t+4>>2]|0;d=k[t>>2]|0;c=-1077;e=9;break}}else if(b>>>0<=2146435071)if((c|0)==0&0==0&(b|0)==1072693248)a=0.0;else{d=c;c=-1023;e=9}while(0);if((e|0)==9){e=b+614242|0;k[t>>2]=d;k[t+4>>2]=(e&1048575)+1072079006;j=+p[t>>3]+-1.0;a=j*(j*.5);h=j/(j+2.0);i=h*h;g=i*i;p[t>>3]=j-a;d=k[t+4>>2]|0;k[t>>2]=0;k[t+4>>2]=d;f=+p[t>>3];a=h*(a+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(j-f-a);j=f*.4342944818781689;g=+(c+(e>>>20)|0);i=g*.30102999566361177;h=i+j;a=h+(j+(i-h)+(a*.4342944818781689+(g*3.694239077158931e-13+(f+a)*2.5082946711645275e-11)))}return +a}function YQ(a){a=+a;var b=0,c=0.0,d=0.0,e=0,f=0,g=0.0,h=0.0,i=0.0,j=0.0;p[t>>3]=a;b=k[t+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){f=eS(b|0,0,1)|0;if(f>>>0<2034237440)break;if(b>>>0<3218259653){d=0.0;c=0.0;e=11;break}else{e=8;break}}else{if(a==-1.0){a=-B;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)e=8;while(0);if((e|0)==8){c=a+1.0;p[t>>3]=c;b=(k[t+4>>2]|0)+614242|0;e=(b>>>20)+-1023|0;if((e|0)<54)a=((e|0)>1?1.0-(c-a):a-(c+-1.0))/c;else a=0.0;k[t>>2]=k[t>>2];k[t+4>>2]=(b&1048575)+1072079006;d=a;a=+p[t>>3]+-1.0;c=+(e|0);e=11}if((e|0)==11){g=a*(a*.5);j=a/(a+2.0);i=j*j;h=i*i;a=c*.6931471803691238+(a+(d+c*1.9082149292705877e-10+j*(g+(h*(h*(h*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(h*(h*(h*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-g))}return +a}function ZQ(a){a=+a;var b=0.0,c=0.0,d=0;p[t>>3]=a;d=k[t+4>>2]|0;c=(d|0)<0?-.5:.5;d=d&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=d;b=+p[t>>3];do if(d>>>0<1082535490){b=+WQ(b);if(d>>>0>=1072693248){a=c*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=c*(b*2.0-b*b/(b+1.0))}else a=c*2.0*+RQ(b);while(0);return +a}function _Q(a){a=+a;var b=0,c=0;p[t>>3]=a;c=k[t+4>>2]|0;b=c&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=b;a=+p[t>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+WQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+WQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+WQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((c|0)<0?-a:a)}function $Q(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=r;r=r+32|0;g=i;do if((f&4095|0)==0&(((f|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){e=LQ()|0;k[e>>2]=12;e=-1;break}h=(d&16|0)!=0;if(h)QR(-1);k[g>>2]=a;k[g+4>>2]=b;k[g+8>>2]=c;k[g+12>>2]=d;k[g+16>>2]=e;k[g+20>>2]=f>>12;e=QQ(lb(192,g|0)|0)|0;if(h)RR()}else{e=LQ()|0;k[e>>2]=22;e=-1}while(0);r=i;return e|0}function aR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;QR(-1);k[d>>2]=a;k[d+4>>2]=b;a=QQ(eb(91,d|0)|0)|0;RR();r=c;return a|0}function bR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g+16|0;e=g+8|0;c=g;d=g+24|0;k[c>>2]=a;k[c+4>>2]=b;c=sb(94,c|0)|0;if((c|0)==-9?(k[e>>2]=a,k[e+4>>2]=1,(vb(221,e|0)|0)>=0):0){PQ(d,a);k[f>>2]=d;k[f+4>>2]=b;c=QQ(Fb(15,f|0)|0)|0}else c=QQ(c)|0;r=g;return c|0}function cR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g+16|0;e=g+8|0;c=g;d=g+24|0;k[c>>2]=a;k[c+4>>2]=b;c=mb(197,c|0)|0;if((c|0)==-9?(k[e>>2]=a,k[e+4>>2]=1,(vb(221,e|0)|0)>=0):0){PQ(d,a);k[f>>2]=d;k[f+4>>2]=b;c=QQ(ob(195,f|0)|0)|0}else c=QQ(c)|0;r=g;return c|0}function dR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=QQ(nb(196,d|0)|0)|0;r=c;return a|0}function eR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=QQ(gb(39,d|0)|0)|0;r=c;return a|0}function fR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=QQ(ob(195,d|0)|0)|0;r=c;return a|0}function gR(a){a=a|0;return 0}function hR(a){a=a|0;return}function iR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=QQ(Lb(6,c|0)|0)|0;r=b;return a|0}function jR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((QQ(Eb(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function kR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[2216]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=QQ(Vb(146,m|0)|0)|0}else{Ua(154,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=QQ(Vb(146,l|0)|0)|0;Ma(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0<=f>>>0)if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;else{h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function lR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=163;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21505,k[d+8>>2]=e+12,(Ta(54,d|0)|0)!=0):0)i[a+75>>0]=-1;d=kR(a,b,c)|0;r=e;return d|0}function mR(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=NR(a)|0;break}c=(gR(a)|0)==0;b=NR(a)|0;if(!c)hR(a)}else{if(!(k[2227]|0))b=0;else b=mR(k[2227]|0)|0;Kb(8892);a=k[2222]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=gR(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=NR(a)|0|b;if(c)hR(a);a=k[a+56>>2]|0}while((a|0)!=0);Db(8892)}while(0);return b|0}function nR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+208|0;n=q+8|0;o=q;e=ha(c,b)|0;m=o;k[m>>2]=1;k[m+4>>2]=0;if(e){h=e-c|0;k[n+4>>2]=c;k[n>>2]=c;f=c;b=c;g=2;while(1){b=b+c+f|0;k[n+(g<<2)>>2]=b;if(b>>>0>>0){m=f;f=b;g=g+1|0;b=m}else break}m=0-c|0;i=a+h|0;l=o+4|0;if((h|0)>0){h=i;e=1;g=1;while(1){do if((e&3|0)==3){OR(a,c,d,g,n);j=k[l>>2]|0;b=j<<30|(k[o>>2]|0)>>>2;k[o>>2]=b;k[l>>2]=j>>>2;g=g+2|0}else{b=g+-1|0;if((k[n+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)OR(a,c,d,g,n);else PR(a,c,d,o,g,0,n);if((g|0)==1){b=k[o>>2]|0;k[l>>2]=b>>>31|k[l>>2]<<1;b=b<<1;k[o>>2]=b;g=0;break}if(b>>>0>31){e=k[o>>2]|0;k[l>>2]=e;k[o>>2]=0;b=g+-33|0;f=0}else{e=k[l>>2]|0;f=k[o>>2]|0}k[l>>2]=f>>>(32-b|0)|e<>2]=b;g=1}while(0);e=b|1;k[o>>2]=e;b=a+c|0;if(b>>>0>=i>>>0){e=b;break}else a=b}}else{e=a;g=1}PR(e,c,d,o,g,0,n);j=o+4|0;b=k[o>>2]|0;if(!((g|0)==1&(b|0)==1&(k[j>>2]|0)==0)){f=e;while(1){if((g|0)<2){e=b+-1|0;do if(e){if(!(e&1)){h=e;e=0;do{e=e+1|0;h=h>>>1}while((h&1|0)==0);if(!e)p=24}else p=24;if((p|0)==24){p=0;i=k[l>>2]|0;if(!i){e=64;p=30;break}if(!(i&1)){h=i;e=0}else{a=0;h=i;e=0;break}while(1){a=e+1|0;h=h>>>1;if(h&1){h=a;break}else e=a}if(!h){a=0;h=i;e=0;break}else e=e+33|0}if(e>>>0>31)p=30;else{a=e;h=k[l>>2]|0}}else{e=32;p=30}while(0);if((p|0)==30){p=0;b=k[l>>2]|0;k[o>>2]=b;k[l>>2]=0;a=e+-32|0;h=0}k[o>>2]=h<<32-a|b>>>a;k[l>>2]=h>>>a;f=f+m|0;e=e+g|0}else{a=b>>>30;i=a|k[l>>2]<<2;e=g+-2|0;k[o>>2]=(b<<1&2147483646|a<<31)^3;k[l>>2]=i>>>1;PR(f+(0-((k[n+(e<<2)>>2]|0)+c))|0,c,d,o,g+-1|0,1,n);i=k[o>>2]|0;k[l>>2]=i>>>31|k[l>>2]<<1;k[o>>2]=i<<1|1;f=f+m|0;PR(f,c,d,o,e,1,n)}b=k[o>>2]|0;if((e|0)==1&(b|0)==1&(k[j>>2]|0)==0)break;else g=e}}}r=q;return}function oR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do if(!c)c=0;else{e=c;d=a;while(1){a=i[d>>0]|0;c=i[b>>0]|0;if(a<<24>>24!=c<<24>>24)break;e=e+-1|0;if(!e){c=0;break a}else{d=d+1|0;b=b+1|0}}c=(a&255)-(c&255)|0}while(0);return c|0}function pR(a,b){a=a|0;b=b|0;var c=0,d=0;c=b;a:do if(!((c^a)&3)){if(c&3)do{c=i[b>>0]|0;i[a>>0]=c;if(!(c<<24>>24))break a;b=b+1|0;a=a+1|0}while((b&3|0)!=0);c=k[b>>2]|0;if(!((c&-2139062144^-2139062144)&c+-16843009)){d=a;while(1){b=b+4|0;a=d+4|0;k[d>>2]=c;c=k[b>>2]|0;if((c&-2139062144^-2139062144)&c+-16843009)break;else d=a}}d=8}else d=8;while(0);if((d|0)==8){d=i[b>>0]|0;i[a>>0]=d;if(d<<24>>24)do{b=b+1|0;a=a+1|0;d=i[b>>0]|0;i[a>>0]=d}while(d<<24>>24!=0)}return a|0}function qR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=b;do if(!((e^a)&3)){d=(c|0)!=0;a:do if(d&(e&3|0)!=0)while(1){e=i[b>>0]|0;i[a>>0]=e;if(!(e<<24>>24))break a;c=c+-1|0;b=b+1|0;a=a+1|0;d=(c|0)!=0;if(!(d&(b&3|0)!=0)){f=5;break}}else f=5;while(0);if((f|0)==5)if(!d){c=0;break}if(i[b>>0]|0){b:do if(c>>>0>3)do{d=k[b>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009)break b;k[a>>2]=d;c=c+-4|0;b=b+4|0;a=a+4|0}while(c>>>0>3);while(0);f=11}}else f=11;while(0);c:do if((f|0)==11)if(!c)c=0;else while(1){f=i[b>>0]|0;i[a>>0]=f;if(!(f<<24>>24))break c;c=c+-1|0;a=a+1|0;if(!c){c=0;break}else b=b+1|0}while(0);dS(a|0,0,c|0)|0;return a|0}function rR(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function sR(a,b){a=a|0;b=b|0;pR(a,b)|0;return a|0}function tR(a){a=a|0;var b=0,c=0;c=(uR(a)|0)+1|0;b=TR(c)|0;if(!b)b=0;else bS(b|0,a|0,c|0)|0;return b|0}function uR(a){a=a|0;var b=0,c=0,d=0;d=a;a:do if(!(d&3))c=4;else{b=a;a=d;while(1){if(!(i[b>>0]|0))break a;b=b+1|0;a=b;if(!(a&3)){a=b;c=4;break}}}while(0);if((c|0)==4){while(1){b=k[a>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))a=a+4|0;else break}if((b&255)<<24>>24)do a=a+1|0;while((i[a>>0]|0)!=0)}return a-d|0}function vR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(!c)b=0;else{d=i[a>>0]|0;a:do if(!(d<<24>>24))d=0;else while(1){c=c+-1|0;e=i[b>>0]|0;if(!(d<<24>>24==e<<24>>24&((c|0)!=0&e<<24>>24!=0)))break a;a=a+1|0;b=b+1|0;d=i[a>>0]|0;if(!(d<<24>>24)){d=0;break}}while(0);b=(d&255)-(l[b>>0]|0)|0}return b|0}function wR(a,b,c){a=a|0;b=b|0;c=c|0;qR(a,b,c)|0;return a|0}function xR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=QQ(Bb(33,d|0)|0)|0;r=c;return a|0}function yR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Lb(6,c|0)|0;a=QQ((a|0)==-4?-115:a)|0;r=b;return a|0}function zR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+64|0;g=h+24|0;f=h+16|0;d=h;e=h+36|0;k[d>>2]=a;k[d+4>>2]=b;k[d+8>>2]=c;d=Ub(207,d|0)|0;if((d|0)==-9?(k[f>>2]=a,k[f+4>>2]=1,(vb(221,f|0)|0)>=0):0){PQ(e,a);k[g>>2]=e;k[g+4>>2]=b;k[g+8>>2]=c;d=QQ(qb(212,g|0)|0)|0}else d=QQ(d)|0;r=h;return d|0}function AR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=QQ(Xa(118,c|0)|0)|0;r=b;return a|0}function BR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=b;k[d+12>>2]=((b|0)<0)<<31>>31;b=QQ(pb(194,d|0)|0)|0;r=c;return b|0}function CR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+4112|0;d=f;c=f+8|0;if(a)if(!b){a=LQ()|0;k[a>>2]=22;a=0}else e=4;else{b=4096;a=c;e=4}if((e|0)==4){k[d>>2]=a;k[d+4>>2]=b;if((QQ(_a(183,d|0)|0)|0)>=0){if((a|0)==(c|0))a=tR(c)|0}else a=0}r=f;return a|0}function DR(){var a=0,b=0;b=r;r=r+16|0;a=yb(201,b|0)|0;r=b;return a|0}function ER(){var a=0,b=0;b=r;r=r+16|0;a=Za(20,b|0)|0;r=b;return a|0}function FR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=a;k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;c=(QQ(Eb(140,f|0)|0)|0)!=0;r=e;return (c?-1:k[d>>2]|0)|0}function GR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=QQ(Jb(3,e|0)|0)|0;r=d;return a|0}function HR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=QQ(Na(85,e|0)|0)|0;r=d;return a|0}function IR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=QQ(Wa(40,c|0)|0)|0;r=b;return a|0}function JR(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;k[b+4>>2]=0;a=(tb(b|0,b|0)|0)==0;r=c;return (a?0:k[b>>2]|0)|0}function KR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=QQ(Hb(10,c|0)|0)|0;r=b;return a|0}function LR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=QQ(Nb(4,e|0)|0)|0;r=d;return a|0}function MR(a){a=a|0;if(!(k[a+68>>2]|0))hR(a);return}function NR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;f=a+28|0;if((k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0?(Yb[k[a+36>>2]&255](a,0,0)|0,(k[b>>2]|0)==0):0)b=-1;else{g=a+4|0;c=k[g>>2]|0;d=a+8|0;e=k[d>>2]|0;if(c>>>0>>0)Yb[k[a+40>>2]&255](a,c-e|0,1)|0;k[a+16>>2]=0;k[f>>2]=0;k[b>>2]=0;k[d>>2]=0;k[g>>2]=0;b=0}return b|0}function OR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+240|0;n=o;k[n>>2]=a;a:do if((d|0)>1){m=0-b|0;f=d;g=a;i=a;j=1;while(1){a=g+m|0;l=f+-2|0;h=g+(0-((k[e+(l<<2)>>2]|0)+b))|0;if((gc[c&255](i,h)|0)>-1?(gc[c&255](i,a)|0)>-1:0){d=j;break a}d=j+1|0;g=n+(j<<2)|0;if((gc[c&255](h,a)|0)>-1){k[g>>2]=h;a=h;f=f+-1|0}else{k[g>>2]=a;f=l}if((f|0)<=1)break a;g=a;i=k[n>>2]|0;j=d}}else d=1;while(0);SR(b,n,d);r=o;return}function PR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+240|0;o=q;i=k[d>>2]|0;d=k[d+4>>2]|0;k[o>>2]=a;n=0-b|0;a:do if((d|0)!=0|(i|0)!=1?(h=a+(0-(k[g+(e<<2)>>2]|0))|0,(gc[c&255](h,a)|0)>=1):0){f=(f|0)==0;m=h;j=i;l=d;h=1;while(1){if(f&(e|0)>1){d=k[g+(e+-2<<2)>>2]|0;if((gc[c&255](a+n|0,m)|0)>-1){f=e;d=h;p=20;break a}if((gc[c&255](a+(0-(d+b))|0,m)|0)>-1){f=e;d=h;p=20;break a}}d=h+1|0;k[o+(h<<2)>>2]=m;f=j+-1|0;do if(f){if(!(f&1)){a=f;f=0;do{f=f+1|0;a=a>>>1}while((a&1|0)==0);if(!f)p=11}else p=11;if((p|0)==11){p=0;if(!l){f=64;p=16;break}if(!(l&1)){a=l;f=0}else{i=0;a=j;h=l;f=0;break}while(1){h=f+1|0;a=a>>>1;if(a&1){a=h;break}else f=h}if(!a){i=0;a=j;h=l;f=0;break}else f=f+33|0}if(f>>>0>31)p=16;else{i=f;a=j;h=l}}else{f=32;p=16}while(0);if((p|0)==16){p=0;i=f+-32|0;a=l;h=0}j=h<<32-i|a>>>i;l=h>>>i;f=f+e|0;if(!((l|0)!=0|(j|0)!=1)){a=m;p=20;break a}a=m+(0-(k[g+(f<<2)>>2]|0))|0;if((gc[c&255](a,k[o>>2]|0)|0)<1){a=m;e=f;f=0;p=19;break}else{i=m;e=f;f=1;m=a;h=d;a=i}}}else{d=1;p=19}while(0);if((p|0)==19?(f|0)==0:0){f=e;p=20}if((p|0)==20){SR(b,o,d);OR(a,b,c,f,g)}r=q;return}function QR(a){a=a|0;return}function RR(){return}function SR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+256|0;d=g;a:do if((c|0)>=2?(f=b+(c<<2)|0,k[f>>2]=d,(a|0)!=0):0)while(1){e=a>>>0>256?256:a;bS(d|0,k[b>>2]|0,e|0)|0;d=0;do{h=b+(d<<2)|0;d=d+1|0;bS(k[h>>2]|0,k[b+(d<<2)>>2]|0,e|0)|0;k[h>>2]=(k[h>>2]|0)+e}while((d|0)!=(c|0));if((a|0)==(e|0))break a;a=a-e|0;d=k[f>>2]|0}while(0);r=g;return}function TR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;h=k[2257]|0;c=h>>>a;if(c&3){a=(c&1^1)+a|0;d=a<<1;c=9068+(d<<2)|0;d=9068+(d+2<<2)|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[2261]|0)>>>0)Va();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else Va()}else k[2257]=h&~(1<>2]=M|3;M=e+(M|4)|0;k[M>>2]=k[M>>2]|1;M=f;return M|0}g=k[2259]|0;if(o>>>0>g>>>0){if(c){d=2<>>12&16;d=d>>>i;e=d>>>5&8;d=d>>>e;f=d>>>2&4;d=d>>>f;c=d>>>1&2;d=d>>>c;a=d>>>1&1;a=(e|i|f|c|a)+(d>>>a)|0;d=a<<1;c=9068+(d<<2)|0;d=9068+(d+2<<2)|0;f=k[d>>2]|0;i=f+8|0;e=k[i>>2]|0;do if((c|0)!=(e|0)){if(e>>>0<(k[2261]|0)>>>0)Va();b=e+12|0;if((k[b>>2]|0)==(f|0)){k[b>>2]=c;k[d>>2]=e;j=k[2259]|0;break}else Va()}else{k[2257]=h&~(1<>2]=o|3;h=f+o|0;k[f+(o|4)>>2]=g|1;k[f+M>>2]=g;if(j){e=k[2262]|0;c=j>>>3;b=c<<1;d=9068+(b<<2)|0;a=k[2257]|0;c=1<>2]|0;if(b>>>0<(k[2261]|0)>>>0)Va();else{l=a;m=b}}else{k[2257]=a|c;l=9068+(b+2<<2)|0;m=d}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=d}k[2259]=g;k[2262]=h;M=i;return M|0}a=k[2258]|0;if(a){c=(a&0-a)+-1|0;L=c>>>12&16;c=c>>>L;K=c>>>5&8;c=c>>>K;M=c>>>2&4;c=c>>>M;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=k[9332+((K|L|M|a|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-o|0;a=d;while(1){b=k[a+16>>2]|0;if(!b){b=k[a+20>>2]|0;if(!b){i=c;break}}a=(k[b+4>>2]&-8)-o|0;M=a>>>0>>0;c=M?a:c;a=b;d=M?b:d}f=k[2261]|0;if(d>>>0>>0)Va();h=d+o|0;if(d>>>0>=h>>>0)Va();g=k[d+24>>2]|0;c=k[d+12>>2]|0;do if((c|0)==(d|0)){a=d+20|0;b=k[a>>2]|0;if(!b){a=d+16|0;b=k[a>>2]|0;if(!b){n=0;break}}while(1){c=b+20|0;e=k[c>>2]|0;if(e){b=e;a=c;continue}c=b+16|0;e=k[c>>2]|0;if(!e)break;else{b=e;a=c}}if(a>>>0>>0)Va();else{k[a>>2]=0;n=b;break}}else{e=k[d+8>>2]|0;if(e>>>0>>0)Va();b=e+12|0;if((k[b>>2]|0)!=(d|0))Va();a=c+8|0;if((k[a>>2]|0)==(d|0)){k[b>>2]=c;k[a>>2]=e;n=c;break}else Va()}while(0);do if(g){b=k[d+28>>2]|0;a=9332+(b<<2)|0;if((d|0)==(k[a>>2]|0)){k[a>>2]=n;if(!n){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(d|0))k[b>>2]=n;else k[g+20>>2]=n;if(!n)break}a=k[2261]|0;if(n>>>0>>0)Va();k[n+24>>2]=g;b=k[d+16>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[n+16>>2]=b;k[b+24>>2]=n;break}while(0);b=k[d+20>>2]|0;if(b)if(b>>>0<(k[2261]|0)>>>0)Va();else{k[n+20>>2]=b;k[b+24>>2]=n;break}}while(0);if(i>>>0<16){M=i+o|0;k[d+4>>2]=M|3;M=d+(M+4)|0;k[M>>2]=k[M>>2]|1}else{k[d+4>>2]=o|3;k[d+(o|4)>>2]=i|1;k[d+(i+o)>>2]=i;b=k[2259]|0;if(b){f=k[2262]|0;c=b>>>3;b=c<<1;e=9068+(b<<2)|0;a=k[2257]|0;c=1<>2]|0;if(a>>>0<(k[2261]|0)>>>0)Va();else{p=b;q=a}}else{k[2257]=a|c;p=9068+(b+2<<2)|0;q=e}k[p>>2]=f;k[q+12>>2]=f;k[f+8>>2]=q;k[f+12>>2]=e}k[2259]=i;k[2262]=h}M=d+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=k[2258]|0;if(l){c=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(p|q|j)+(v<>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;a=k[9332+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=86}else{g=c;e=0;h=m<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){f=k[i+4>>2]&-8;c=f-m|0;if(c>>>0>>0)if((f|0)==(m|0)){f=i;a=i;v=90;break a}else a=i;else c=g;v=k[i+20>>2]|0;i=k[i+16+(h>>>31<<2)>>2]|0;e=(v|0)==0|(v|0)==(i|0)?e:v;if(!i){v=86;break}else{g=c;h=h<<1}}}while(0);if((v|0)==86){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;e=a>>>1&1;e=k[9332+((l|n|p|q|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){h=c;i=a}else{f=e;v=90}}if((v|0)==90)while(1){v=0;q=(k[f+4>>2]&-8)-m|0;e=q>>>0>>0;c=e?q:c;a=e?f:a;e=k[f+16>>2]|0;if(e){f=e;v=90;continue}f=k[f+20>>2]|0;if(!f){h=c;i=a;break}else v=90}if((i|0)!=0?h>>>0<((k[2259]|0)-m|0)>>>0:0){e=k[2261]|0;if(i>>>0>>0)Va();g=i+m|0;if(i>>>0>=g>>>0)Va();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){o=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)Va();else{k[a>>2]=0;o=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)Va();b=d+12|0;if((k[b>>2]|0)!=(i|0))Va();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;o=c;break}else Va()}while(0);do if(f){b=k[i+28>>2]|0;a=9332+(b<<2)|0;if((i|0)==(k[a>>2]|0)){k[a>>2]=o;if(!o){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();b=f+16|0;if((k[b>>2]|0)==(i|0))k[b>>2]=o;else k[f+20>>2]=o;if(!o)break}a=k[2261]|0;if(o>>>0>>0)Va();k[o+24>>2]=f;b=k[i+16>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[o+16>>2]=b;k[b+24>>2]=o;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[2261]|0)>>>0)Va();else{k[o+20>>2]=b;k[b+24>>2]=o;break}}while(0);b:do if(h>>>0>=16){k[i+4>>2]=m|3;k[i+(m|4)>>2]=h|1;k[i+(h+m)>>2]=h;b=h>>>3;if(h>>>0<256){a=b<<1;d=9068+(a<<2)|0;c=k[2257]|0;b=1<>2]|0;if(a>>>0<(k[2261]|0)>>>0)Va();else{s=b;t=a}}else{k[2257]=c|b;s=9068+(a+2<<2)|0;t=d}k[s>>2]=g;k[t+12>>2]=g;k[i+(m+8)>>2]=t;k[i+(m+12)>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;d=14-(K|L|d)+(M<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=9332+(d<<2)|0;k[i+(m+28)>>2]=d;k[i+(m+20)>>2]=0;k[i+(m+16)>>2]=0;a=k[2258]|0;c=1<>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break}b=k[b>>2]|0;c:do if((k[b+4>>2]&-8|0)!=(h|0)){d=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(h|0)){y=c;break c}else{d=d<<1;b=c}}if(a>>>0<(k[2261]|0)>>>0)Va();else{k[a>>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break b}}else y=b;while(0);b=y+8|0;a=k[b>>2]|0;M=k[2261]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[i+(m+8)>>2]=a;k[i+(m+12)>>2]=y;k[i+(m+24)>>2]=0;break}else Va()}else{M=h+m|0;k[i+4>>2]=M|3;M=i+(M+4)|0;k[M>>2]=k[M>>2]|1}while(0);M=i+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);c=k[2259]|0;if(c>>>0>=q>>>0){b=c-q|0;a=k[2262]|0;if(b>>>0>15){k[2262]=a+q;k[2259]=b;k[a+(q+4)>>2]=b|1;k[a+c>>2]=b;k[a+4>>2]=q|3}else{k[2259]=0;k[2262]=0;k[a+4>>2]=c|3;M=a+(c+4)|0;k[M>>2]=k[M>>2]|1}M=a+8|0;return M|0}a=k[2260]|0;if(a>>>0>q>>>0){L=a-q|0;k[2260]=L;M=k[2263]|0;k[2263]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(k[2375]|0)){a=rb(30)|0;if(!(a+-1&a)){k[2377]=a;k[2376]=a;k[2378]=-1;k[2379]=-1;k[2380]=0;k[2368]=0;y=(Ob(0)|0)&-16^1431655768;k[2375]=y;break}else Va()}while(0);i=q+48|0;h=k[2377]|0;j=q+47|0;g=h+j|0;h=0-h|0;l=g&h;if(l>>>0<=q>>>0){M=0;return M|0}a=k[2367]|0;if((a|0)!=0?(t=k[2365]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(k[2368]&4)){a=k[2263]|0;e:do if(a){e=9476;while(1){c=k[e>>2]|0;if(c>>>0<=a>>>0?(r=e+4|0,(c+(k[r>>2]|0)|0)>>>0>a>>>0):0){f=e;a=r;break}e=k[e+8>>2]|0;if(!e){v=174;break e}}c=g-(k[2260]|0)&h;if(c>>>0<2147483647){e=kb(c|0)|0;y=(e|0)==((k[f>>2]|0)+(k[a>>2]|0)|0);a=y?c:0;if(y){if((e|0)!=(-1|0)){w=e;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){f=kb(0)|0;if((f|0)!=(-1|0)){a=f;c=k[2376]|0;e=c+-1|0;if(!(e&a))c=l;else c=l-a+(e+a&0-c)|0;a=k[2365]|0;e=a+c|0;if(c>>>0>q>>>0&c>>>0<2147483647){y=k[2367]|0;if((y|0)!=0?e>>>0<=a>>>0|e>>>0>y>>>0:0){a=0;break}e=kb(c|0)|0;y=(e|0)==(f|0);a=y?c:0;if(y){w=f;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){f=0-c|0;do if(i>>>0>c>>>0&(c>>>0<2147483647&(e|0)!=(-1|0))?(u=k[2377]|0,u=j-c+u&0-u,u>>>0<2147483647):0)if((kb(u|0)|0)==(-1|0)){kb(f|0)|0;break f}else{c=u+c|0;break}while(0);if((e|0)!=(-1|0)){w=e;p=c;v=194;break d}}while(0);k[2368]=k[2368]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=kb(l|0)|0,x=kb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(k[2365]|0)+p|0;k[2365]=a;if(a>>>0>(k[2366]|0)>>>0)k[2366]=a;g=k[2263]|0;g:do if(g){f=9476;do{a=k[f>>2]|0;c=f+4|0;e=k[c>>2]|0;if((w|0)==(a+e|0)){B=a;C=c;D=e;E=f;v=204;break}f=k[f+8>>2]|0}while((f|0)!=0);if(((v|0)==204?(k[E+12>>2]&8|0)==0:0)?g>>>0>>0&g>>>0>=B>>>0:0){k[C>>2]=D+p;M=(k[2260]|0)+p|0;L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;k[2263]=g+L;k[2260]=K;k[g+(L+4)>>2]=K|1;k[g+(M+4)>>2]=40;k[2264]=k[2379];break}a=k[2261]|0;if(w>>>0>>0){k[2261]=w;a=w}c=w+p|0;f=9476;while(1){if((k[f>>2]|0)==(c|0)){e=f;c=f;v=212;break}f=k[f+8>>2]|0;if(!f){c=9476;break}}if((v|0)==212)if(!(k[c+12>>2]&8)){k[e>>2]=w;n=c+4|0;k[n>>2]=(k[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;j=w+(p+8)|0;j=(j&7|0)==0?0:0-j&7;b=w+(j+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;k[w+(n+4)>>2]=q|3;h:do if((b|0)!=(g|0)){if((b|0)==(k[2262]|0)){M=(k[2259]|0)+l|0;k[2259]=M;k[2262]=o;k[w+(m+4)>>2]=M|1;k[w+(M+m)>>2]=M;break}h=p+4|0;c=k[w+(h+j)>>2]|0;if((c&3|0)==1){i=c&-8;f=c>>>3;i:do if(c>>>0>=256){g=k[w+((j|24)+p)>>2]|0;d=k[w+(p+12+j)>>2]|0;do if((d|0)==(b|0)){e=j|16;d=w+(h+e)|0;c=k[d>>2]|0;if(!c){d=w+(e+p)|0;c=k[d>>2]|0;if(!c){J=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;J=c;break}}else{e=k[w+((j|8)+p)>>2]|0;if(e>>>0>>0)Va();a=e+12|0;if((k[a>>2]|0)!=(b|0))Va();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;J=d;break}else Va()}while(0);if(!g)break;a=k[w+(p+28+j)>>2]|0;c=9332+(a<<2)|0;do if((b|0)!=(k[c>>2]|0)){if(g>>>0<(k[2261]|0)>>>0)Va();a=g+16|0;if((k[a>>2]|0)==(b|0))k[a>>2]=J;else k[g+20>>2]=J;if(!J)break i}else{k[c>>2]=J;if(J)break;k[2258]=k[2258]&~(1<>>0>>0)Va();k[J+24>>2]=g;b=j|16;a=k[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Va();else{k[J+16>>2]=a;k[a+24>>2]=J;break}while(0);b=k[w+(h+b)>>2]|0;if(!b)break;if(b>>>0<(k[2261]|0)>>>0)Va();else{k[J+20>>2]=b;k[b+24>>2]=J;break}}else{d=k[w+((j|8)+p)>>2]|0;e=k[w+(p+12+j)>>2]|0;c=9068+(f<<1<<2)|0;do if((d|0)!=(c|0)){if(d>>>0>>0)Va();if((k[d+12>>2]|0)==(b|0))break;Va()}while(0);if((e|0)==(d|0)){k[2257]=k[2257]&~(1<>>0>>0)Va();a=e+8|0;if((k[a>>2]|0)==(b|0)){F=a;break}Va()}while(0);k[d+12>>2]=e;k[F>>2]=d}while(0);b=w+((i|j)+p)|0;e=i+l|0}else e=l;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[w+(m+4)>>2]=e|1;k[w+(e+m)>>2]=e;b=e>>>3;if(e>>>0<256){a=b<<1;d=9068+(a<<2)|0;c=k[2257]|0;b=1<>2]|0;if(a>>>0>=(k[2261]|0)>>>0){K=b;L=a;break}Va()}while(0);k[K>>2]=o;k[L+12>>2]=o;k[w+(m+8)>>2]=L;k[w+(m+12)>>2]=d;break}b=e>>>8;do if(!b)d=0;else{if(e>>>0>16777215){d=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;d=14-(J|K|d)+(L<>>15)|0;d=e>>>(d+7|0)&1|d<<1}while(0);b=9332+(d<<2)|0;k[w+(m+28)>>2]=d;k[w+(m+20)>>2]=0;k[w+(m+16)>>2]=0;a=k[2258]|0;c=1<>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break}b=k[b>>2]|0;j:do if((k[b+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(e|0)){M=c;break j}else{d=d<<1;b=c}}if(a>>>0<(k[2261]|0)>>>0)Va();else{k[a>>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=k[b>>2]|0;L=k[2261]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){k[a+12>>2]=o;k[b>>2]=o;k[w+(m+8)>>2]=a;k[w+(m+12)>>2]=M;k[w+(m+24)>>2]=0;break}else Va()}else{M=(k[2260]|0)+l|0;k[2260]=M;k[2263]=o;k[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else c=9476;while(1){a=k[c>>2]|0;if(a>>>0<=g>>>0?(b=k[c+4>>2]|0,d=a+b|0,d>>>0>g>>>0):0)break;c=k[c+8>>2]|0}e=a+(b+-39)|0;a=a+(b+-47+((e&7|0)==0?0:0-e&7))|0;e=g+16|0;a=a>>>0>>0?g:a;b=a+8|0;c=w+8|0;c=(c&7|0)==0?0:0-c&7;M=p+-40-c|0;k[2263]=w+c;k[2260]=M;k[w+(c+4)>>2]=M|1;k[w+(p+-36)>>2]=40;k[2264]=k[2379];c=a+4|0;k[c>>2]=27;k[b>>2]=k[2369];k[b+4>>2]=k[2370];k[b+8>>2]=k[2371];k[b+12>>2]=k[2372];k[2369]=w;k[2370]=p;k[2372]=0;k[2371]=b;b=a+28|0;k[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;k[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(g|0)){f=a-g|0;k[c>>2]=k[c>>2]&-2;k[g+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;d=9068+(a<<2)|0;c=k[2257]|0;b=1<>2]|0;if(a>>>0<(k[2261]|0)>>>0)Va();else{G=b;H=a}}else{k[2257]=c|b;G=9068+(a+2<<2)|0;H=d}k[G>>2]=g;k[H+12>>2]=g;k[g+8>>2]=H;k[g+12>>2]=d;break}b=f>>>8;if(b)if(f>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;d=14-(K|L|d)+(M<>>15)|0;d=f>>>(d+7|0)&1|d<<1}else d=0;c=9332+(d<<2)|0;k[g+28>>2]=d;k[g+20>>2]=0;k[e>>2]=0;b=k[2258]|0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}b=k[c>>2]|0;k:do if((k[b+4>>2]&-8|0)!=(f|0)){d=f<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(f|0)){I=c;break k}else{d=d<<1;b=c}}if(a>>>0<(k[2261]|0)>>>0)Va();else{k[a>>2]=g;k[g+24>>2]=b;k[g+12>>2]=g;k[g+8>>2]=g;break g}}else I=b;while(0);b=I+8|0;a=k[b>>2]|0;M=k[2261]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=I;k[g+24>>2]=0;break}else Va()}}else{M=k[2261]|0;if((M|0)==0|w>>>0>>0)k[2261]=w;k[2369]=w;k[2370]=p;k[2372]=0;k[2266]=k[2375];k[2265]=-1;b=0;do{M=b<<1;L=9068+(M<<2)|0;k[9068+(M+3<<2)>>2]=L;k[9068+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;k[2263]=w+M;k[2260]=L;k[w+(M+4)>>2]=L|1;k[w+(p+-36)>>2]=40;k[2264]=k[2379]}while(0);b=k[2260]|0;if(b>>>0>q>>>0){L=b-q|0;k[2260]=L;M=k[2263]|0;k[2263]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}}M=LQ()|0;k[M>>2]=12;M=0;return M|0}function UR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;h=k[2261]|0;if(b>>>0>>0)Va();c=k[a+-4>>2]|0;d=c&3;if((d|0)==1)Va();o=c&-8;q=a+(o+-8)|0;do if(!(c&1)){b=k[b>>2]|0;if(!d)return;i=-8-b|0;l=a+i|0;m=b+o|0;if(l>>>0>>0)Va();if((l|0)==(k[2262]|0)){b=a+(o+-4)|0;c=k[b>>2]|0;if((c&3|0)!=3){u=l;f=m;break}k[2259]=m;k[b>>2]=c&-2;k[a+(i+4)>>2]=m|1;k[q>>2]=m;return}e=b>>>3;if(b>>>0<256){d=k[a+(i+8)>>2]|0;c=k[a+(i+12)>>2]|0;b=9068+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0>>0)Va();if((k[d+12>>2]|0)!=(l|0))Va()}if((c|0)==(d|0)){k[2257]=k[2257]&~(1<>>0>>0)Va();b=c+8|0;if((k[b>>2]|0)==(l|0))g=b;else Va()}else g=c+8|0;k[d+12>>2]=c;k[g>>2]=d;u=l;f=m;break}g=k[a+(i+24)>>2]|0;d=k[a+(i+12)>>2]|0;do if((d|0)==(l|0)){c=a+(i+20)|0;b=k[c>>2]|0;if(!b){c=a+(i+16)|0;b=k[c>>2]|0;if(!b){j=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0>>0)Va();else{k[c>>2]=0;j=b;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0>>0)Va();b=e+12|0;if((k[b>>2]|0)!=(l|0))Va();c=d+8|0;if((k[c>>2]|0)==(l|0)){k[b>>2]=d;k[c>>2]=e;j=d;break}else Va()}while(0);if(g){b=k[a+(i+28)>>2]|0;c=9332+(b<<2)|0;if((l|0)==(k[c>>2]|0)){k[c>>2]=j;if(!j){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(l|0))k[b>>2]=j;else k[g+20>>2]=j;if(!j){u=l;f=m;break}}c=k[2261]|0;if(j>>>0>>0)Va();k[j+24>>2]=g;b=k[a+(i+16)>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[j+16>>2]=b;k[b+24>>2]=j;break}while(0);b=k[a+(i+20)>>2]|0;if(b)if(b>>>0<(k[2261]|0)>>>0)Va();else{k[j+20>>2]=b;k[b+24>>2]=j;u=l;f=m;break}else{u=l;f=m}}else{u=l;f=m}}else{u=b;f=o}while(0);if(u>>>0>=q>>>0)Va();b=a+(o+-4)|0;c=k[b>>2]|0;if(!(c&1))Va();if(!(c&2)){if((q|0)==(k[2263]|0)){t=(k[2260]|0)+f|0;k[2260]=t;k[2263]=u;k[u+4>>2]=t|1;if((u|0)!=(k[2262]|0))return;k[2262]=0;k[2259]=0;return}if((q|0)==(k[2262]|0)){t=(k[2259]|0)+f|0;k[2259]=t;k[2262]=u;k[u+4>>2]=t|1;k[u+t>>2]=t;return}f=(c&-8)+f|0;e=c>>>3;do if(c>>>0>=256){g=k[a+(o+16)>>2]|0;b=k[a+(o|4)>>2]|0;do if((b|0)==(q|0)){c=a+(o+12)|0;b=k[c>>2]|0;if(!b){c=a+(o+8)|0;b=k[c>>2]|0;if(!b){p=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0<(k[2261]|0)>>>0)Va();else{k[c>>2]=0;p=b;break}}else{c=k[a+o>>2]|0;if(c>>>0<(k[2261]|0)>>>0)Va();d=c+12|0;if((k[d>>2]|0)!=(q|0))Va();e=b+8|0;if((k[e>>2]|0)==(q|0)){k[d>>2]=b;k[e>>2]=c;p=b;break}else Va()}while(0);if(g){b=k[a+(o+20)>>2]|0;c=9332+(b<<2)|0;if((q|0)==(k[c>>2]|0)){k[c>>2]=p;if(!p){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(q|0))k[b>>2]=p;else k[g+20>>2]=p;if(!p)break}c=k[2261]|0;if(p>>>0>>0)Va();k[p+24>>2]=g;b=k[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[p+16>>2]=b;k[b+24>>2]=p;break}while(0);b=k[a+(o+12)>>2]|0;if(b)if(b>>>0<(k[2261]|0)>>>0)Va();else{k[p+20>>2]=b;k[b+24>>2]=p;break}}}else{d=k[a+o>>2]|0;c=k[a+(o|4)>>2]|0;b=9068+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0<(k[2261]|0)>>>0)Va();if((k[d+12>>2]|0)!=(q|0))Va()}if((c|0)==(d|0)){k[2257]=k[2257]&~(1<>>0<(k[2261]|0)>>>0)Va();b=c+8|0;if((k[b>>2]|0)==(q|0))n=b;else Va()}else n=c+8|0;k[d+12>>2]=c;k[n>>2]=d}while(0);k[u+4>>2]=f|1;k[u+f>>2]=f;if((u|0)==(k[2262]|0)){k[2259]=f;return}}else{k[b>>2]=c&-2;k[u+4>>2]=f|1;k[u+f>>2]=f}b=f>>>3;if(f>>>0<256){c=b<<1;e=9068+(c<<2)|0;d=k[2257]|0;b=1<>2]|0;if(c>>>0<(k[2261]|0)>>>0)Va();else{r=b;s=c}}else{k[2257]=d|b;r=9068+(c+2<<2)|0;s=e}k[r>>2]=u;k[s+12>>2]=u;k[u+8>>2]=s;k[u+12>>2]=e;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;e=14-(q|r|e)+(s<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=9332+(e<<2)|0;k[u+28>>2]=e;k[u+20>>2]=0;k[u+16>>2]=0;c=k[2258]|0;d=1<>2]|0;b:do if((k[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){c=b+16+(e>>>31<<2)|0;d=k[c>>2]|0;if(!d)break;if((k[d+4>>2]&-8|0)==(f|0)){t=d;break b}else{e=e<<1;b=d}}if(c>>>0<(k[2261]|0)>>>0)Va();else{k[c>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;c=k[b>>2]|0;s=k[2261]|0;if(c>>>0>=s>>>0&t>>>0>=s>>>0){k[c+12>>2]=u;k[b>>2]=u;k[u+8>>2]=c;k[u+12>>2]=t;k[u+24>>2]=0;break}else Va()}else{k[2258]=c|d;k[b>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u}while(0);u=(k[2265]|0)+-1|0;k[2265]=u;if(!u)b=9484;else return;while(1){b=k[b>>2]|0;if(!b)break;else b=b+8|0}k[2265]=-1;return}function VR(a,b){a=a|0;b=b|0;var c=0;if(a){c=ha(b,a)|0;if((b|a)>>>0>65535)c=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1}else c=0;b=TR(c)|0;if(!b)return b|0;if(!(k[b+-4>>2]&3))return b|0;dS(b|0,0,c|0)|0;return b|0}function WR(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){a=TR(b)|0;return a|0}if(b>>>0>4294967231){a=LQ()|0;k[a>>2]=12;a=0;return a|0}c=XR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c){a=c+8|0;return a|0}c=TR(b)|0;if(!c){a=0;return a|0}d=k[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;bS(c|0,a|0,(d>>>0>>0?d:b)|0)|0;UR(a);a=c;return a|0}function XR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=k[o>>2]|0;i=p&-8;l=a+i|0;h=k[2261]|0;c=p&3;if(!((c|0)!=1&a>>>0>=h>>>0&a>>>0>>0))Va();d=a+(i|4)|0;e=k[d>>2]|0;if(!(e&1))Va();if(!c){if(b>>>0<256){a=0;return a|0}if(i>>>0>=(b+4|0)>>>0?(i-b|0)>>>0<=k[2377]<<1>>>0:0)return a|0;a=0;return a|0}if(i>>>0>=b>>>0){c=i-b|0;if(c>>>0<=15)return a|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|3;k[d>>2]=k[d>>2]|1;YR(a+b|0,c);return a|0}if((l|0)==(k[2263]|0)){c=(k[2260]|0)+i|0;if(c>>>0<=b>>>0){a=0;return a|0}n=c-b|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|1;k[2263]=a+b;k[2260]=n;return a|0}if((l|0)==(k[2262]|0)){d=(k[2259]|0)+i|0;if(d>>>0>>0){a=0;return a|0}c=d-b|0;if(c>>>0>15){k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|1;k[a+d>>2]=c;d=a+(d+4)|0;k[d>>2]=k[d>>2]&-2;d=a+b|0}else{k[o>>2]=p&1|d|2;d=a+(d+4)|0;k[d>>2]=k[d>>2]|1;d=0;c=0}k[2259]=c;k[2262]=d;return a|0}if(e&2){a=0;return a|0}m=(e&-8)+i|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;f=e>>>3;do if(e>>>0>=256){g=k[a+(i+24)>>2]|0;f=k[a+(i+12)>>2]|0;do if((f|0)==(l|0)){d=a+(i+20)|0;c=k[d>>2]|0;if(!c){d=a+(i+16)|0;c=k[d>>2]|0;if(!c){j=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;j=c;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0>>0)Va();c=e+12|0;if((k[c>>2]|0)!=(l|0))Va();d=f+8|0;if((k[d>>2]|0)==(l|0)){k[c>>2]=f;k[d>>2]=e;j=f;break}else Va()}while(0);if(g){c=k[a+(i+28)>>2]|0;d=9332+(c<<2)|0;if((l|0)==(k[d>>2]|0)){k[d>>2]=j;if(!j){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();c=g+16|0;if((k[c>>2]|0)==(l|0))k[c>>2]=j;else k[g+20>>2]=j;if(!j)break}d=k[2261]|0;if(j>>>0>>0)Va();k[j+24>>2]=g;c=k[a+(i+16)>>2]|0;do if(c)if(c>>>0>>0)Va();else{k[j+16>>2]=c;k[c+24>>2]=j;break}while(0);c=k[a+(i+20)>>2]|0;if(c)if(c>>>0<(k[2261]|0)>>>0)Va();else{k[j+20>>2]=c;k[c+24>>2]=j;break}}}else{e=k[a+(i+8)>>2]|0;d=k[a+(i+12)>>2]|0;c=9068+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(l|0))Va()}if((d|0)==(e|0)){k[2257]=k[2257]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(l|0))g=c;else Va()}else g=d+8|0;k[e+12>>2]=d;k[g>>2]=e}while(0);if(n>>>0<16){k[o>>2]=m|p&1|2;b=a+(m|4)|0;k[b>>2]=k[b>>2]|1;return a|0}else{k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|3;p=a+(m|4)|0;k[p>>2]=k[p>>2]|1;YR(a+b|0,n);return a|0}return 0} -function zu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;if(k[(k[b>>2]|0)+4>>2]|0){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0)){b=9;break}k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if((k[d>>2]|0)!=0?(Au(k[d>>2]|0)|0)!=0:0){b=7;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==7){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else if((b|0)==9){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function Au(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[(k[b>>2]|0)+16>>2]|0)!=0|0}function Bu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;f=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[c>>2]|0)+340>>2]|0)){r=j;return}k[e>>2]=k[(k[c>>2]|0)+340>>2];k[(k[c>>2]|0)+340>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[c>>2]|0)+316>>2]|0))break;k[h>>2]=k[(k[e>>2]|0)+(k[f>>2]<<2)>>2];k[g>>2]=k[(k[h>>2]|0)+8>>2];if((k[g>>2]|0)!=0?(k[i>>2]=k[(k[k[g>>2]>>2]|0)+(k[d>>2]|0)>>2],(k[i>>2]|0)!=0):0)bc[k[i>>2]&255](k[g>>2]|0)|0;k[(k[h>>2]|0)+20>>2]=0;Cu(k[h>>2]|0);k[f>>2]=(k[f>>2]|0)+1}bg(k[c>>2]|0,k[e>>2]|0);k[(k[c>>2]|0)+316>>2]=0;r=j;return}function Cu(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[b>>2]|0)+12>>2]|0){r=e;return}k[d>>2]=k[(k[b>>2]|0)+8>>2];if(k[d>>2]|0)bc[k[(k[k[d>>2]>>2]|0)+16>>2]&255](k[d>>2]|0)|0;bg(k[c>>2]|0,k[b>>2]|0);r=e;return}function Du(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;h=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[h>>2]=b;k[e>>2]=(k[h>>2]|0)+56;while(1){if(!(k[k[e>>2]>>2]|0)){f=6;break}a=k[k[e>>2]>>2]|0;if((k[k[k[e>>2]>>2]>>2]|0)==(k[c>>2]|0))break;k[e>>2]=a+24}if((f|0)==6){r=g;return}k[d>>2]=a;k[k[e>>2]>>2]=k[(k[d>>2]|0)+24>>2];Cu(k[d>>2]|0);r=g;return}function Eu(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+344>>2];k[(k[b>>2]|0)+344>>2]=0;if(!(k[c>>2]|0)){r=e;return}ai(k[b>>2]|0);do{k[d>>2]=k[(k[c>>2]|0)+24>>2];Cu(k[c>>2]|0);k[c>>2]=k[d>>2]}while((k[c>>2]|0)!=0);r=e;return}function Fu(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[164>>2]&255](k[(k[c>>2]|0)+44>>2]|0);r=b;return}function Gu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;k[c>>2]=a;a=1628;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[421]=(k[53]|0)==0&1;if((k[421]|0)!=0&(k[55]|0)!=0&(k[53]|0)==0){k[422]=k[55];k[410]=10;k[420]=1;r=c;return 0}else{k[422]=0;k[410]=10;k[420]=1;r=c;return 0}return 0}function Hu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;k[c>>2]=a;a=1628;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return}function Iu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;m=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=60+((k[421]|0)*52|0);a=k[m>>2]|0;a=ug(a,((a|0)<0)<<31>>31)|0;k[g>>2]=a;if(!(k[g>>2]|0)){m=k[g>>2]|0;r=j;return m|0}if(k[421]|0){k[h>>2]=(k[g>>2]|0)+60;k[(k[h>>2]|0)+12>>2]=10}else k[h>>2]=1628;if(!(l[(k[h>>2]|0)+20+14>>0]|0)){i[(k[h>>2]|0)+20+14>>0]=1;m=(k[h>>2]|0)+20|0;k[(k[h>>2]|0)+20+24>>2]=m;k[(k[h>>2]|0)+20+28>>2]=m}k[k[g>>2]>>2]=k[h>>2];k[(k[g>>2]|0)+4>>2]=k[d>>2];k[(k[g>>2]|0)+8>>2]=k[e>>2];k[(k[g>>2]|0)+12>>2]=(k[d>>2]|0)+(k[e>>2]|0)+32;k[(k[g>>2]|0)+16>>2]=(k[f>>2]|0)!=0?1:0;Zu(k[g>>2]|0);if(k[f>>2]|0){k[(k[g>>2]|0)+20>>2]=10;m=(k[h>>2]|0)+8|0;k[m>>2]=(k[m>>2]|0)+(k[(k[g>>2]|0)+20>>2]|0);k[(k[h>>2]|0)+12>>2]=(k[(k[h>>2]|0)+4>>2]|0)+10-(k[(k[h>>2]|0)+8>>2]|0)}if(k[(k[g>>2]|0)+44>>2]|0){m=k[g>>2]|0;r=j;return m|0}Pu(k[g>>2]|0);k[g>>2]=0;m=k[g>>2]|0;r=j;return m|0}function Ju(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[g>>2];if(!(k[(k[d>>2]|0)+16>>2]|0)){r=f;return}k[e>>2]=k[k[d>>2]>>2];g=(k[e>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+((k[c>>2]|0)-(k[(k[d>>2]|0)+24>>2]|0));k[(k[e>>2]|0)+12>>2]=(k[(k[e>>2]|0)+4>>2]|0)+10-(k[(k[e>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+24>>2]=k[c>>2];k[(k[d>>2]|0)+28>>2]=(((k[(k[d>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Ru(k[d>>2]|0);r=f;return}function Ku(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[b>>2]=k[(k[d>>2]|0)+40>>2];r=c;return k[b>>2]|0}function Lu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;a=Wu(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return a|0}function Mu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;h=r;r=r+32|0;m=h+24|0;l=h+20|0;j=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[d>>2]=k[m>>2];k[f>>2]=k[l>>2];k[e>>2]=k[k[d>>2]>>2];if((k[j>>2]|0)==0?(k[(k[e>>2]|0)+16>>2]|0)>>>0<=(k[(k[e>>2]|0)+4>>2]|0)>>>0:0){k[g>>2]=(k[e>>2]|0)+20+24;k[(k[f>>2]|0)+28>>2]=(k[e>>2]|0)+20;l=k[f>>2]|0;m=k[k[g>>2]>>2]|0;k[(k[f>>2]|0)+24>>2]=m;k[m+28>>2]=l;k[k[g>>2]>>2]=k[f>>2];m=(k[d>>2]|0)+36|0;k[m>>2]=(k[m>>2]|0)+1;i[(k[f>>2]|0)+12>>0]=0;r=h;return}Tu(k[f>>2]|0,1);r=h;return}function Nu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;j=r;r=r+32|0;n=j+28|0;m=j+24|0;l=j+20|0;e=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;f=j;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[e>>2]=d;k[g>>2]=k[n>>2];k[h>>2]=k[m>>2];k[f>>2]=((k[l>>2]|0)>>>0)%((k[(k[g>>2]|0)+44>>2]|0)>>>0)|0;k[i>>2]=(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2);while(1){if((k[k[i>>2]>>2]|0)==(k[h>>2]|0))break;k[i>>2]=(k[k[i>>2]>>2]|0)+16}k[k[i>>2]>>2]=k[(k[h>>2]|0)+16>>2];k[f>>2]=((k[e>>2]|0)>>>0)%((k[(k[g>>2]|0)+44>>2]|0)>>>0)|0;k[(k[h>>2]|0)+8>>2]=k[e>>2];k[(k[h>>2]|0)+16>>2]=k[(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2];k[(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2]=k[h>>2];if((k[e>>2]|0)>>>0<=(k[(k[g>>2]|0)+32>>2]|0)>>>0){r=j;return}k[(k[g>>2]|0)+32>>2]=k[e>>2];r=j;return}function Ou(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];if((k[c>>2]|0)>>>0>(k[(k[d>>2]|0)+32>>2]|0)>>>0){r=e;return}Vu(k[d>>2]|0,k[c>>2]|0);k[(k[d>>2]|0)+32>>2]=(k[c>>2]|0)-1;r=e;return}function Pu(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[e>>2];k[c>>2]=k[k[b>>2]>>2];if(k[(k[b>>2]|0)+40>>2]|0)Vu(k[b>>2]|0,0);e=(k[c>>2]|0)+4|0;k[e>>2]=(k[e>>2]|0)-(k[(k[b>>2]|0)+24>>2]|0);e=(k[c>>2]|0)+8|0;k[e>>2]=(k[e>>2]|0)-(k[(k[b>>2]|0)+20>>2]|0);k[(k[c>>2]|0)+12>>2]=(k[(k[c>>2]|0)+4>>2]|0)+10-(k[(k[c>>2]|0)+8>>2]|0);Ru(k[b>>2]|0);Ud(k[(k[b>>2]|0)+56>>2]|0);Ud(k[(k[b>>2]|0)+48>>2]|0);Ud(k[b>>2]|0);r=d;return}function Qu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;b=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[b>>2]=k[f>>2];if(!(k[(k[b>>2]|0)+16>>2]|0)){r=e;return}k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[c>>2]|0)+4>>2];k[(k[c>>2]|0)+4>>2]=0;Ru(k[b>>2]|0);k[(k[c>>2]|0)+4>>2]=k[d>>2];r=e;return}function Ru(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];while(1){if((k[(k[d>>2]|0)+16>>2]|0)>>>0<=(k[(k[d>>2]|0)+4>>2]|0)>>>0)break;a=k[(k[d>>2]|0)+20+28>>2]|0;k[c>>2]=a;if(l[a+14>>0]|0)break;Su(k[c>>2]|0)|0;Tu(k[c>>2]|0,1)}if(k[(k[b>>2]|0)+40>>2]|0){r=e;return}if(!(k[(k[b>>2]|0)+56>>2]|0)){r=e;return}Ud(k[(k[b>>2]|0)+56>>2]|0);k[(k[b>>2]|0)+52>>2]=0;k[(k[b>>2]|0)+56>>2]=0;r=e;return}function Su(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+20>>2];k[(k[(k[b>>2]|0)+28>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];k[(k[(k[b>>2]|0)+24>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];k[(k[b>>2]|0)+24>>2]=0;k[(k[b>>2]|0)+28>>2]=0;i[(k[b>>2]|0)+12>>0]=1;a=(k[d>>2]|0)+36|0;k[a>>2]=(k[a>>2]|0)+-1;r=c;return k[b>>2]|0}function Tu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+20>>2];k[h>>2]=((k[(k[c>>2]|0)+8>>2]|0)>>>0)%((k[(k[e>>2]|0)+44>>2]|0)>>>0)|0;k[f>>2]=(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2);while(1){b=(k[k[f>>2]>>2]|0)+16|0;if((k[k[f>>2]>>2]|0)==(k[c>>2]|0))break;k[f>>2]=b}k[k[f>>2]>>2]=k[b>>2];h=(k[e>>2]|0)+40|0;k[h>>2]=(k[h>>2]|0)+-1;if(!(k[d>>2]|0)){r=g;return}Uu(k[c>>2]|0);r=g;return}function Uu(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+20>>2];if(i[(k[b>>2]|0)+13>>0]|0){k[(k[b>>2]|0)+16>>2]=k[(k[c>>2]|0)+52>>2];k[(k[c>>2]|0)+52>>2]=k[b>>2]}else lj(k[k[b>>2]>>2]|0);if(!(k[(k[c>>2]|0)+16>>2]|0)){r=d;return}c=(k[k[c>>2]>>2]|0)+16|0;k[c>>2]=(k[c>>2]|0)+-1;r=d;return}function Vu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;if(((k[(k[c>>2]|0)+32>>2]|0)-(k[d>>2]|0)|0)>>>0<(k[(k[c>>2]|0)+44>>2]|0)>>>0){k[e>>2]=((k[d>>2]|0)>>>0)%((k[(k[c>>2]|0)+44>>2]|0)>>>0)|0;k[f>>2]=((k[(k[c>>2]|0)+32>>2]|0)>>>0)%((k[(k[c>>2]|0)+44>>2]|0)>>>0)|0}else{k[e>>2]=((k[(k[c>>2]|0)+44>>2]|0)>>>0)/2|0;k[f>>2]=(k[e>>2]|0)-1}while(1){k[h>>2]=(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2);while(1){a=k[k[h>>2]>>2]|0;k[g>>2]=a;if(!a)break;if((k[(k[g>>2]|0)+8>>2]|0)>>>0<(k[d>>2]|0)>>>0){k[h>>2]=(k[g>>2]|0)+16;continue}a=(k[c>>2]|0)+40|0;k[a>>2]=(k[a>>2]|0)+-1;k[k[h>>2]>>2]=k[(k[g>>2]|0)+16>>2];if(!(i[(k[g>>2]|0)+12>>0]|0))Su(k[g>>2]|0)|0;Uu(k[g>>2]|0)}if((k[e>>2]|0)==(k[f>>2]|0))break;k[e>>2]=(((k[e>>2]|0)+1|0)>>>0)%((k[(k[c>>2]|0)+44>>2]|0)>>>0)|0}r=j;return}function Wu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;g=j+20|0;l=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;h=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[l>>2];k[h>>2]=0;k[h>>2]=k[(k[(k[f>>2]|0)+48>>2]|0)+((((k[d>>2]|0)>>>0)%((k[(k[f>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(k[h>>2]|0)b=(k[(k[h>>2]|0)+8>>2]|0)!=(k[d>>2]|0);else b=0;c=k[h>>2]|0;if(!b)break;k[h>>2]=k[c+16>>2]}if(c){c=k[h>>2]|0;if(i[(k[h>>2]|0)+12>>0]|0){k[g>>2]=c;l=k[g>>2]|0;r=j;return l|0}else{l=Su(c)|0;k[g>>2]=l;l=k[g>>2]|0;r=j;return l|0}}else if(k[e>>2]|0){l=Xu(k[f>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=l;l=k[g>>2]|0;r=j;return l|0}else{k[g>>2]=0;l=k[g>>2]|0;r=j;return l|0}return 0}function Xu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;j=o+16|0;l=o+12|0;n=o+8|0;m=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=k[k[e>>2]>>2];k[n>>2]=0;k[j>>2]=(k[(k[e>>2]|0)+40>>2]|0)-(k[(k[e>>2]|0)+36>>2]|0);do if((k[g>>2]|0)==1){if((k[j>>2]|0)>>>0<(k[(k[l>>2]|0)+12>>2]|0)>>>0?(k[j>>2]|0)>>>0<(k[(k[e>>2]|0)+28>>2]|0)>>>0:0){if(!(Yu(k[e>>2]|0)|0))break;if((k[(k[e>>2]|0)+36>>2]|0)>>>0>=(k[j>>2]|0)>>>0)break}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}while(0);if((k[(k[e>>2]|0)+40>>2]|0)>>>0>=(k[(k[e>>2]|0)+44>>2]|0)>>>0)Zu(k[e>>2]|0);do if((k[(k[e>>2]|0)+16>>2]|0)!=0?(i[(k[(k[l>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((k[(k[e>>2]|0)+40>>2]|0)+1|0)>>>0<(k[(k[e>>2]|0)+24>>2]|0)>>>0?(Yu(k[e>>2]|0)|0)==0:0)break;k[n>>2]=k[(k[l>>2]|0)+20+28>>2];Tu(k[n>>2]|0,0);Su(k[n>>2]|0)|0;k[m>>2]=k[(k[n>>2]|0)+20>>2];if((k[(k[m>>2]|0)+12>>2]|0)!=(k[(k[e>>2]|0)+12>>2]|0)){Uu(k[n>>2]|0);k[n>>2]=0;break}else{l=(k[l>>2]|0)+16|0;k[l>>2]=(k[l>>2]|0)-((k[(k[m>>2]|0)+16>>2]|0)-(k[(k[e>>2]|0)+16>>2]|0));break}}while(0);if(!(k[n>>2]|0)){m=_u(k[e>>2]|0,(k[g>>2]|0)==1&1)|0;k[n>>2]=m}if((k[n>>2]|0)!=0?(k[h>>2]=((k[f>>2]|0)>>>0)%((k[(k[e>>2]|0)+44>>2]|0)>>>0)|0,m=(k[e>>2]|0)+40|0,k[m>>2]=(k[m>>2]|0)+1,k[(k[n>>2]|0)+8>>2]=k[f>>2],k[(k[n>>2]|0)+16>>2]=k[(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2)>>2],k[(k[n>>2]|0)+20>>2]=k[e>>2],k[(k[n>>2]|0)+28>>2]=0,k[(k[n>>2]|0)+24>>2]=0,i[(k[n>>2]|0)+12>>0]=1,k[k[(k[n>>2]|0)+4>>2]>>2]=0,k[(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2)>>2]=k[n>>2],(k[f>>2]|0)>>>0>(k[(k[e>>2]|0)+32>>2]|0)>>>0):0)k[(k[e>>2]|0)+32>>2]=k[f>>2];k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function Yu(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[424]|0)!=0?((k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+8>>2]|0)|0)<=(k[423]|0):0){k[b>>2]=k[431];d=k[b>>2]|0;r=c;return d|0}d=av()|0;k[b>>2]=d;d=k[b>>2]|0;r=c;return d|0}function Zu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;f=i+16|0;e=i+12|0;h=i+8|0;g=i+4|0;d=i;k[b>>2]=a;a=k[(k[b>>2]|0)+44>>2]<<1;k[f>>2]=a;k[f>>2]=(k[f>>2]|0)>>>0<256?256:a;if(k[(k[b>>2]|0)+44>>2]|0)gk();a=ug(k[f>>2]<<2,0)|0;k[c>>2]=a;if(k[(k[b>>2]|0)+44>>2]|0)hk();if(!(k[c>>2]|0)){r=i;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>>>0>=(k[(k[b>>2]|0)+44>>2]|0)>>>0)break;k[g>>2]=k[(k[(k[b>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2];while(1){a=k[g>>2]|0;k[h>>2]=a;if(!a)break;k[d>>2]=((k[(k[h>>2]|0)+8>>2]|0)>>>0)%((k[f>>2]|0)>>>0)|0;k[g>>2]=k[(k[h>>2]|0)+16>>2];k[(k[h>>2]|0)+16>>2]=k[(k[c>>2]|0)+(k[d>>2]<<2)>>2];k[(k[c>>2]|0)+(k[d>>2]<<2)>>2]=k[h>>2]}k[e>>2]=(k[e>>2]|0)+1}Ud(k[(k[b>>2]|0)+48>>2]|0);k[(k[b>>2]|0)+48>>2]=k[c>>2];k[(k[b>>2]|0)+44>>2]=k[f>>2];r=i;return}function _u(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if(k[(k[d>>2]|0)+52>>2]|0)h=4;else{if((k[(k[d>>2]|0)+40>>2]|0)==0?($u(k[d>>2]|0)|0)!=0:0){h=4;break}if(k[e>>2]|0)gk();a=tj(k[(k[d>>2]|0)+12>>2]|0)|0;k[g>>2]=a;k[f>>2]=(k[g>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);if(k[e>>2]|0)hk();if(k[g>>2]|0){k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=(k[f>>2]|0)+32;i[(k[f>>2]|0)+13>>0]=0;i[(k[f>>2]|0)+14>>0]=0;break}k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}while(0);if((h|0)==4){k[f>>2]=k[(k[d>>2]|0)+52>>2];k[(k[d>>2]|0)+52>>2]=k[(k[f>>2]|0)+16>>2];k[(k[f>>2]|0)+16>>2]=0}if(k[(k[d>>2]|0)+16>>2]|0){h=(k[k[d>>2]>>2]|0)+16|0;k[h>>2]=(k[h>>2]|0)+1}k[c>>2]=k[f>>2];h=k[c>>2]|0;r=j;return h|0}function $u(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;j=r;r=r+32|0;b=j+28|0;c=j+24|0;g=j;h=j+20|0;e=j+16|0;d=j+12|0;f=j+8|0;k[c>>2]=a;if(!(k[422]|0)){k[b>>2]=0;h=k[b>>2]|0;r=j;return h|0}if((k[(k[c>>2]|0)+24>>2]|0)>>>0<3){k[b>>2]=0;h=k[b>>2]|0;r=j;return h|0}gk();if((k[422]|0)>0){a=k[(k[c>>2]|0)+12>>2]|0;l=k[422]|0;l=kS(a|0,((a|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;a=g;k[a>>2]=l;k[a+4>>2]=L}else{a=k[422]|0;a=kS(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;l=g;k[l>>2]=a;k[l+4>>2]=L}n=g;a=k[n>>2]|0;n=k[n+4>>2]|0;l=k[(k[c>>2]|0)+12>>2]|0;l=kS(l|0,((l|0)<0)<<31>>31|0,k[(k[c>>2]|0)+24>>2]|0,0)|0;m=L;if((n|0)>(m|0)|(n|0)==(m|0)&a>>>0>l>>>0){m=k[(k[c>>2]|0)+12>>2]|0;m=kS(m|0,((m|0)<0)<<31>>31|0,k[(k[c>>2]|0)+24>>2]|0,0)|0;n=g;k[n>>2]=m;k[n+4>>2]=L}n=g;n=jg(k[n>>2]|0,k[n+4>>2]|0)|0;k[(k[c>>2]|0)+56>>2]=n;k[h>>2]=n;hk();a:do if(k[h>>2]|0){n=kg(k[h>>2]|0)|0;k[e>>2]=(n|0)/(k[(k[c>>2]|0)+12>>2]|0)|0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[e>>2]|0))break a;k[f>>2]=(k[h>>2]|0)+(k[(k[c>>2]|0)+4>>2]|0);k[k[f>>2]>>2]=k[h>>2];k[(k[f>>2]|0)+4>>2]=(k[f>>2]|0)+32;i[(k[f>>2]|0)+13>>0]=1;i[(k[f>>2]|0)+14>>0]=0;k[(k[f>>2]|0)+16>>2]=k[(k[c>>2]|0)+52>>2];k[(k[c>>2]|0)+52>>2]=k[f>>2];k[h>>2]=(k[h>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);k[b>>2]=(k[(k[c>>2]|0)+52>>2]|0)!=0&1;n=k[b>>2]|0;r=j;return n|0}function av(){return k[79]|0}function bv(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;c=d;e=d+8|0;b=d+4|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)+7&-8;a=TR((k[e>>2]|0)+8|0)|0;k[b>>2]=a;a=k[e>>2]|0;if(k[b>>2]|0){e=k[b>>2]|0;k[e>>2]=a;k[e+4>>2]=((a|0)<0)<<31>>31;k[b>>2]=(k[b>>2]|0)+8;e=k[b>>2]|0;r=d;return e|0}else{k[c>>2]=a;$d(7,26399,c);e=k[b>>2]|0;r=d;return e|0}return 0}function cv(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];k[c>>2]=(k[c>>2]|0)+-8;UR(k[c>>2]|0);r=b;return}function dv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;f=g;c=g+16|0;d=g+12|0;e=g+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[c>>2];k[e>>2]=(k[e>>2]|0)+-8;a=WR(k[e>>2]|0,(k[d>>2]|0)+8|0)|0;k[e>>2]=a;if(k[e>>2]|0){a=k[d>>2]|0;f=k[e>>2]|0;k[f>>2]=a;k[f+4>>2]=((a|0)<0)<<31>>31;k[e>>2]=(k[e>>2]|0)+8;f=k[e>>2]|0;r=g;return f|0}else{b=ev(k[c>>2]|0)|0;a=k[d>>2]|0;k[f>>2]=b;k[f+4>>2]=a;$d(7,26363,f);f=k[e>>2]|0;r=g;return f|0}return 0}function ev(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];k[b>>2]=(k[b>>2]|0)+-8;r=c;return k[k[b>>2]>>2]|0}function fv(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+7&-8|0}function gv(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function hv(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return}function iv(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=gc[k[d>>2]&255](1608,0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){d=k[b>>2]|0;r=c;return d|0}k[k[b>>2]>>2]=(k[b>>2]|0)+8;j[(k[b>>2]|0)+8>>1]=0;i[(k[b>>2]|0)+8+2>>0]=0;d=k[b>>2]|0;r=c;return d|0}function jv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;m=n+24|0;j=n+20|0;e=n+16|0;h=n+12|0;f=n+8|0;c=n+4|0;d=n;k[j>>2]=a;k[e>>2]=b;a:do switch(l[39282+(l[k[j>>2]>>0]|0)>>0]|0){case 7:{k[h>>2]=1;while(1){if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&1))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=162;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 11:{if((l[(k[j>>2]|0)+1>>0]|0)!=45){k[k[e>>2]>>2]=48;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}k[h>>2]=2;while(1){g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!((g|0)!=0?(k[f>>2]|0)!=10:0))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=162;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 17:{k[k[e>>2]>>2]=22;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 18:{k[k[e>>2]>>2]=23;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 19:{k[k[e>>2]>>2]=1;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 20:{k[k[e>>2]>>2]=47;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 21:{k[k[e>>2]>>2]=49;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 16:{if((l[(k[j>>2]|0)+1>>0]|0)==42?(l[(k[j>>2]|0)+2>>0]|0)!=0:0){k[h>>2]=3;k[f>>2]=l[(k[j>>2]|0)+2>>0];while(1){if((k[f>>2]|0)==42?(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)==47:0)break;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;k[h>>2]=(k[h>>2]|0)+1}if(k[f>>2]|0)k[h>>2]=(k[h>>2]|0)+1;k[k[e>>2]>>2]=162;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}k[k[e>>2]>>2]=50;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 22:{k[k[e>>2]>>2]=51;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 14:{k[k[e>>2]>>2]=37;k[m>>2]=1+((l[(k[j>>2]|0)+1>>0]|0)==61&1);m=k[m>>2]|0;r=n;return m|0}case 12:{j=l[(k[j>>2]|0)+1>>0]|0;k[f>>2]=j;if((j|0)==61){k[k[e>>2]>>2]=39;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}if((k[f>>2]|0)==62){k[k[e>>2]>>2]=36;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if((k[f>>2]|0)==60){k[c>>2]=45;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=40;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}case 13:{j=l[(k[j>>2]|0)+1>>0]|0;k[f>>2]=j;if((j|0)==61){k[k[e>>2]>>2]=41;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if((k[f>>2]|0)==62){k[c>>2]=46;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=38;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}case 15:{c=k[e>>2]|0;if((l[(k[j>>2]|0)+1>>0]|0)!=61){k[c>>2]=163;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=36;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}}case 10:{c=k[e>>2]|0;if((l[(k[j>>2]|0)+1>>0]|0)!=124){k[c>>2]=44;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=52;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}}case 23:{k[k[e>>2]>>2]=26;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 24:{k[k[e>>2]>>2]=43;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 25:{k[k[e>>2]>>2]=54;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 8:{k[c>>2]=l[k[j>>2]>>0];k[h>>2]=1;while(1){g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;if((k[f>>2]|0)==(k[c>>2]|0)){if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=(k[c>>2]|0))break;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=(k[h>>2]|0)+1}if((k[f>>2]|0)==39){k[k[e>>2]>>2]=97;k[m>>2]=(k[h>>2]|0)+1;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if(k[f>>2]|0){k[c>>2]=55;k[m>>2]=(k[h>>2]|0)+1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=163;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}}case 26:{if(l[18403+(l[(k[j>>2]|0)+1>>0]|0)>>0]&4)g=64;else{k[k[e>>2]>>2]=122;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}break}case 3:{g=64;break}case 9:{k[h>>2]=1;k[f>>2]=l[k[j>>2]>>0];while(1){if((k[f>>2]|0)==93)break;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=(k[f>>2]|0)==93?55:163;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 6:{k[k[e>>2]>>2]=135;k[h>>2]=1;while(1){c=k[h>>2]|0;if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=c+1}k[m>>2]=c;m=k[m>>2]|0;r=n;return m|0}case 5:case 4:{k[d>>2]=0;k[k[e>>2]>>2]=135;k[h>>2]=1;while(1){a=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=a;if(!a)break;if(l[18403+(k[f>>2]&255)>>0]&70)k[d>>2]=(k[d>>2]|0)+1;else{if((k[f>>2]|0)==40&(k[d>>2]|0)>0){g=107;break}if((k[f>>2]|0)!=58)break;if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=58)break;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=(k[h>>2]|0)+1}do if((g|0)==107){while(1){k[h>>2]=(k[h>>2]|0)+1;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;if((k[f>>2]|0)!=41?(l[18403+(k[f>>2]&255)>>0]&1|0)==0:0)g=107;else break}if((k[f>>2]|0)==41){k[h>>2]=(k[h>>2]|0)+1;break}else{k[k[e>>2]>>2]=163;break}}while(0);if(!(k[d>>2]|0))k[k[e>>2]>>2]=163;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 1:{k[h>>2]=1;while(1){c=k[h>>2]|0;if((l[39282+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]|0)>1)break;k[h>>2]=c+1}if(l[18403+(l[(k[j>>2]|0)+c>>0]|0)>>0]&70){k[h>>2]=(k[h>>2]|0)+1;break a}k[k[e>>2]>>2]=55;j=bj(k[j>>2]|0,k[h>>2]|0,k[e>>2]|0)|0;k[m>>2]=j;m=k[m>>2]|0;r=n;return m|0}case 0:{if((l[(k[j>>2]|0)+1>>0]|0)==39){k[k[e>>2]>>2]=133;k[h>>2]=2;while(1){c=k[h>>2]|0;if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&8))break;k[h>>2]=c+1}if(!((l[(k[j>>2]|0)+c>>0]|0)==39?((k[h>>2]|0)%2|0|0)==0:0))g=131;b:do if((g|0)==131){k[k[e>>2]>>2]=163;while(1){if(!(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0))break b;if((l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)==39)break b;k[h>>2]=(k[h>>2]|0)+1}}while(0);if(i[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)k[h>>2]=(k[h>>2]|0)+1;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}else g=138;break}case 2:{g=138;break}default:{k[k[e>>2]>>2]=163;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}while(0);if((g|0)==64){k[k[e>>2]>>2]=134;do if((l[k[j>>2]>>0]|0)==48){if((l[(k[j>>2]|0)+1>>0]|0)!=120?(l[(k[j>>2]|0)+1>>0]|0)!=88:0)break;if(l[18403+(l[(k[j>>2]|0)+2>>0]|0)>>0]&8){k[h>>2]=3;while(1){c=k[h>>2]|0;if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&8))break;k[h>>2]=c+1}k[m>>2]=c;m=k[m>>2]|0;r=n;return m|0}}while(0);k[h>>2]=0;while(1){c=k[h>>2]|0;if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=c+1}if((l[(k[j>>2]|0)+c>>0]|0)==46){k[h>>2]=(k[h>>2]|0)+1;while(1){if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=132}if(!((l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)!=101?(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)!=69:0))g=82;do if((g|0)==82){if(!(l[18403+(l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)>>0]&4)){if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=43?(l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=45:0)break;if(!(l[18403+(l[(k[j>>2]|0)+((k[h>>2]|0)+2)>>0]|0)>>0]&4))break}k[h>>2]=(k[h>>2]|0)+2;while(1){if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=132}while(0);while(1){if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&70))break;k[k[e>>2]>>2]=163;k[h>>2]=(k[h>>2]|0)+1}k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}else if((g|0)==138)k[h>>2]=1;while(1){if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&70))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=55;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}function kv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;g=j+32|0;m=j+28|0;e=j+24|0;l=j+20|0;h=j+8|0;f=j+4|0;i=j;k[m>>2]=a;k[e>>2]=b;k[l>>2]=d;k[i>>2]=k[m>>2];k[(k[i>>2]|0)+4>>2]=k[l>>2];while(1){m=zv(k[i>>2]|0,k[e>>2]&255)|0;k[f>>2]=m;do if((k[f>>2]|0)>>>0>999)if((k[f>>2]|0)>>>0<=1331){Bv(k[i>>2]|0,(k[f>>2]|0)-1e3|0);break}else{k[h>>2]=k[c>>2];k[h+4>>2]=k[c+4>>2];l=k[i>>2]|0;m=k[e>>2]|0;k[g>>2]=k[c>>2];k[g+4>>2]=k[c+4>>2];Cv(l,m,g);xv(k[i>>2]|0,k[e>>2]&255,h);k[e>>2]=252;break}else{a=k[i>>2]|0;l=k[f>>2]|0;m=k[e>>2]|0;k[g>>2]=k[c>>2];k[g+4>>2]=k[c+4>>2];Av(a,l,m,g);k[e>>2]=252}while(0);if((k[e>>2]|0)==252){e=9;break}if((k[k[i>>2]>>2]|0)>>>0<=((k[i>>2]|0)+8|0)>>>0){e=9;break}}if((e|0)==9){r=j;return}}function lv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];while(1){if((k[k[d>>2]>>2]|0)>>>0<=((k[d>>2]|0)+8|0)>>>0)break;wv(k[d>>2]|0)}_b[k[c>>2]&255](k[d>>2]|0);r=e;return}function mv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=k[k[b>>2]>>2];ag(k[c>>2]|0,k[b>>2]|0);a=k[(k[b>>2]|0)+8>>2]|0;if(k[(k[b>>2]|0)+4>>2]|0)k[(k[(k[b>>2]|0)+4>>2]|0)+8>>2]=a;else k[(k[c>>2]|0)+4>>2]=a;if(k[(k[b>>2]|0)+8>>2]|0)k[(k[(k[b>>2]|0)+8>>2]|0)+4>>2]=k[(k[b>>2]|0)+4>>2];k[(k[b>>2]|0)+20>>2]=1443283912;k[k[b>>2]>>2]=0;bg(k[c>>2]|0,k[b>>2]|0);r=d;return}function nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;k[f>>2]=(k[d>>2]|0)+8+(k[e>>2]<<4);ov(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);pv(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);bg(k[c>>2]|0,k[k[f>>2]>>2]|0);k[e>>2]=(k[e>>2]|0)+1}bg(k[c>>2]|0,k[d>>2]|0);r=g;return}function ov(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}vv(k[c>>2]|0,k[d>>2]|0);r=e;return}function pv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}qv(k[c>>2]|0,k[d>>2]|0,1);r=e;return}function qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){if(!(k[e>>2]|0))break;k[g>>2]=k[(k[e>>2]|0)+48>>2];ov(k[d>>2]|0,k[k[e>>2]>>2]|0);rv(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0);sv(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0);ov(k[d>>2]|0,k[(k[e>>2]|0)+36>>2]|0);sv(k[d>>2]|0,k[(k[e>>2]|0)+40>>2]|0);ov(k[d>>2]|0,k[(k[e>>2]|0)+44>>2]|0);sv(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0);sv(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0);if(k[(k[e>>2]|0)+64>>2]|0)nv(k[d>>2]|0,k[(k[e>>2]|0)+64>>2]|0);if(k[f>>2]|0)bg(k[d>>2]|0,k[e>>2]|0);k[e>>2]=k[g>>2];k[f>>2]=1}r=h;return}function rv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[f>>2]=(k[d>>2]|0)+8;k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;bg(a,k[(k[f>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+12>>2]|0);if((l[(k[f>>2]|0)+36+1>>0]|0)>>>1&1)bg(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0);if((l[(k[f>>2]|0)+36+1>>0]|0)>>>2&1)ov(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0);$f(k[c>>2]|0,k[(k[f>>2]|0)+16>>2]|0);pv(k[c>>2]|0,k[(k[f>>2]|0)+20>>2]|0);sv(k[c>>2]|0,k[(k[f>>2]|0)+48>>2]|0);uv(k[c>>2]|0,k[(k[f>>2]|0)+52>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}bg(a,k[d>>2]|0);r=g;return}function sv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}tv(k[c>>2]|0,k[d>>2]|0);r=e;return}function tv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;do if(!(k[(k[d>>2]|0)+4>>2]&8404992)){if((k[(k[d>>2]|0)+12>>2]|0)!=0?(l[k[d>>2]>>0]|0|0)!=159:0)tv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);sv(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);a=k[c>>2]|0;b=(k[d>>2]|0)+20|0;if(k[(k[d>>2]|0)+4>>2]&2048){pv(a,k[b>>2]|0);break}else{ov(a,k[b>>2]|0);break}}while(0);if(k[(k[d>>2]|0)+4>>2]&65536)bg(k[c>>2]|0,k[(k[d>>2]|0)+8>>2]|0);if(k[(k[d>>2]|0)+4>>2]&32768){r=e;return}bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function uv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0))break;bg(a,k[(k[k[d>>2]>>2]|0)+(k[e>>2]<<3)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}bg(a,k[k[d>>2]>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=f;return}function vv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[d>>2]|0)+4>>2];k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;sv(a,k[k[f>>2]>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}bg(a,k[(k[d>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=g;return}function wv(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;e=k[d>>2]|0;a=k[e>>2]|0;k[e>>2]=a+-16;k[c>>2]=a;xv(k[d>>2]|0,i[(k[c>>2]|0)+2>>0]|0,(k[c>>2]|0)+4|0);r=b;return}function xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+8|0;g=f+12|0;d=f+4|0;e=f;k[h>>2]=a;i[g>>0]=b;k[d>>2]=c;k[e>>2]=k[(k[h>>2]|0)+4>>2];do switch(l[g>>0]|0|0){case 206:case 195:case 194:case 163:{pv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 173:case 172:{sv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 226:case 224:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{ov(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 212:case 211:case 200:case 193:{rv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 250:case 196:{nv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 241:case 236:case 227:case 225:case 215:case 203:case 201:{sv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 220:case 217:case 216:{uv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 237:case 232:{yv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 234:{uv(k[k[e>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0);r=f;return}default:{r=f;return}}while(0)}function yv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+28>>2];sv(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0);ov(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0);pv(k[c>>2]|0,k[(k[e>>2]|0)+8>>2]|0);uv(k[c>>2]|0,k[(k[e>>2]|0)+24>>2]|0);bg(k[c>>2]|0,k[e>>2]|0)}r=f;return}function zv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;o=r;r=r+32|0;c=o+16|0;p=o+12|0;d=o+21|0;e=o+8|0;h=o+4|0;f=o+20|0;g=o;k[p>>2]=a;i[d>>0]=b;k[h>>2]=m[k[k[p>>2]>>2]>>1];if((k[h>>2]|0)>=1e3){k[c>>2]=k[h>>2];p=k[c>>2]|0;r=o;return p|0}while(1){k[e>>2]=j[14594+(k[h>>2]<<1)>>1];k[e>>2]=(k[e>>2]|0)+(l[d>>0]|0);if(!((k[e>>2]|0)<0|(k[e>>2]|0)>=1567)?(l[37619+(k[e>>2]|0)>>0]|0)==(l[d>>0]|0):0){n=13;break}if((l[d>>0]|0)>>>0>=96)break;p=i[39186+(l[d>>0]|0)>>0]|0;i[f>>0]=p;if(!(p&255))break;i[d>>0]=i[f>>0]|0}if((n|0)==13){k[c>>2]=m[11456+(k[e>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}k[g>>2]=(k[e>>2]|0)-(l[d>>0]|0)+96;if(((k[g>>2]|0)<1567?(l[37619+(k[g>>2]|0)>>0]|0)==96:0)?(l[d>>0]|0)>0:0){k[c>>2]=m[11456+(k[g>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}k[c>>2]=m[15506+(k[h>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}function Av(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0;l=r;r=r+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[e>>2]|0;k[a>>2]=(k[a>>2]|0)+16;if((k[k[e>>2]>>2]|0)>>>0>=((k[e>>2]|0)+8+1600|0)>>>0){Dv(k[e>>2]|0);r=l;return}if((k[f>>2]|0)>455)k[f>>2]=(k[f>>2]|0)+332;k[h>>2]=k[k[e>>2]>>2];j[k[h>>2]>>1]=k[f>>2];i[(k[h>>2]|0)+2>>0]=k[g>>2];h=(k[h>>2]|0)+4|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];r=l;return}function Bv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+288|0;c=fa+280|0;T=fa+40|0;S=fa+32|0;V=fa+24|0;U=fa+16|0;Z=fa+8|0;R=fa;$=fa+276|0;aa=fa+272|0;ca=fa+268|0;ba=fa+264|0;da=fa+260|0;ea=fa+256|0;_=fa+252|0;X=fa+240|0;P=fa+228|0;Q=fa+216|0;g=fa+192|0;n=fa+188|0;D=fa+184|0;v=fa+180|0;s=fa+176|0;W=fa+168|0;E=fa+164|0;t=fa+160|0;p=fa+156|0;F=fa+152|0;u=fa+148|0;q=fa+144|0;A=fa+140|0;B=fa+136|0;I=fa+132|0;J=fa+128|0;L=fa+124|0;K=fa+120|0;M=fa+116|0;N=fa+112|0;O=fa+108|0;h=fa+104|0;Y=fa+96|0;w=fa+92|0;y=fa+88|0;e=fa+84|0;z=fa+80|0;f=fa+76|0;x=fa+72|0;C=fa+68|0;H=fa+64|0;G=fa+60|0;o=fa+56|0;d=fa+48|0;k[$>>2]=a;k[aa>>2]=b;k[_>>2]=k[(k[$>>2]|0)+4>>2];k[da>>2]=k[k[$>>2]>>2];if((l[26486+(k[aa>>2]<<1)+1>>0]|0)==0?(k[k[$>>2]>>2]|0)>>>0>=((k[$>>2]|0)+8+1584|0)>>>0:0){Dv(k[$>>2]|0);r=fa;return}a:do switch(k[aa>>2]|0){case 0:{i[(k[_>>2]|0)+409>>0]=1;break}case 1:{i[(k[_>>2]|0)+409>>0]=2;break}case 2:{Ev(k[_>>2]|0);break}case 3:{Fv(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 4:{k[(k[da>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{k[(k[da>>2]|0)+4>>2]=l[(k[da>>2]|0)+2>>0];break}case 9:case 8:{Gv(k[_>>2]|0);break}case 10:{Hv(k[_>>2]|0);break}case 11:{Iv(k[_>>2]|0,0,(k[da>>2]|0)+4|0);break}case 12:{Iv(k[_>>2]|0,1,(k[da>>2]|0)+4|0);break}case 13:{Iv(k[_>>2]|0,2,(k[da>>2]|0)+4|0);break}case 14:{Jv(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0,k[(k[da>>2]|0)+-64+4>>2]|0,0,0,k[(k[da>>2]|0)+-32+4>>2]|0);break}case 15:{Kv(k[_>>2]|0);break}case 215:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 17:{k[(k[da>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{k[(k[da>>2]|0)+4>>2]=1;break}case 20:{Lv(k[_>>2]|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-16+4|0,k[(k[da>>2]|0)+4>>2]&255,0);break}case 21:{Lv(k[_>>2]|0,0,0,0,k[(k[da>>2]|0)+4>>2]|0);pv(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 23:{if((k[(k[da>>2]|0)+4+4>>2]|0)==5?(Jd(k[(k[da>>2]|0)+4>>2]|0,24745,5)|0)==0:0){k[(k[da>>2]|0)+-16+4>>2]=96;break a}k[(k[da>>2]|0)+-16+4>>2]=0;_=k[_>>2]|0;Z=k[(k[da>>2]|0)+4>>2]|0;k[R>>2]=k[(k[da>>2]|0)+4+4>>2];k[R+4>>2]=Z;Oh(_,27150,R);break}case 24:{Mv(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0);break}case 96:case 60:case 25:{k[(k[da>>2]|0)+16+4+4>>2]=0;k[(k[da>>2]|0)+16+4>>2]=0;break}case 26:{k[(k[da>>2]|0)+-48+4+4>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0)-(k[(k[da>>2]|0)+-48+4>>2]|0);break}case 27:{k[(k[da>>2]|0)+-80+4+4>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0)-(k[(k[da>>2]|0)+-80+4>>2]|0);break}case 28:{k[(k[da>>2]|0)+-16+4+4>>2]=(k[(k[da>>2]|0)+4+4>>2]|0)+((k[(k[da>>2]|0)+4>>2]|0)-(k[(k[da>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{_=(k[_>>2]|0)+84|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];break}case 32:case 30:{Nv(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 31:{Nv(k[_>>2]|0,(k[da>>2]|0)+-16+4|0);break}case 33:{Z=Ov(k[_>>2]|0,155,k[(k[da>>2]|0)+4>>2]|0,0,0)|0;k[P>>2]=Z;k[P+4>>2]=k[(k[da>>2]|0)+-16+4>>2];k[P+8>>2]=k[(k[da>>2]|0)+4+8>>2];Nv(k[_>>2]|0,P);break}case 34:{Z=k[_>>2]|0;Y=(k[da>>2]|0)+4|0;k[c>>2]=k[Y>>2];k[c+4>>2]=k[Y+4>>2];Pv(Q,Z,97,c);Nv(k[_>>2]|0,Q);break}case 35:{Qv(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 36:{Rv(k[_>>2]|0,0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0);break}case 37:{Sv(k[_>>2]|0,0,0,0,0,k[(k[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 38:{Tv(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 39:{Uv(k[_>>2]|0,0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 40:{Vv(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 41:{Wv(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 44:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 45:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+-16+4>>2]&~k[(k[da>>2]|0)+4+4>>2]|k[(k[da>>2]|0)+4>>2];break}case 46:{k[(k[da>>2]|0)+-16+4>>2]=0;k[(k[da>>2]|0)+-16+4+4>>2]=0;break}case 47:{k[(k[da>>2]|0)+-32+4>>2]=0;k[(k[da>>2]|0)+-32+4+4>>2]=0;break}case 48:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2];k[(k[da>>2]|0)+-32+4+4>>2]=255;break}case 49:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2]<<8;k[(k[da>>2]|0)+-32+4+4>>2]=65280;break}case 50:{k[(k[da>>2]|0)+-16+4>>2]=7;break}case 51:{k[(k[da>>2]|0)+-16+4>>2]=8;break}case 52:{k[(k[da>>2]|0)+4>>2]=9;break}case 53:{k[(k[da>>2]|0)+4>>2]=6;break}case 54:{k[(k[da>>2]|0)+-16+4>>2]=0;break}case 55:{k[(k[da>>2]|0)+-32+4>>2]=0;break}case 144:case 71:case 56:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 216:case 190:case 187:case 75:case 58:{k[(k[da>>2]|0)+-16+4>>2]=1;break}case 59:{k[(k[da>>2]|0)+-16+4>>2]=0;break}case 61:{k[(k[_>>2]|0)+84+4>>2]=0;break}case 63:{Rv(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,0);break}case 64:{Sv(k[_>>2]|0,0,0,0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 65:{Tv(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0);break}case 66:{Uv(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,(k[da>>2]|0)+-48+4|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);Vv(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 70:case 68:{k[(k[da>>2]|0)+16+4>>2]=10;break}case 69:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 72:{k[(k[da>>2]|0)+4>>2]=4;break}case 145:case 73:{k[(k[da>>2]|0)+4>>2]=5;break}case 74:{Xv(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 77:{Yv(k[_>>2]|0,(k[da>>2]|0)+-128+4|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-48+4|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-112+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0);break}case 78:{Xv(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,1,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 79:{k[g>>2]=k[1063];k[g+4>>2]=k[1064];k[g+8>>2]=k[1065];k[g+12>>2]=k[1066];k[g+16>>2]=k[1067];k[g+20>>2]=k[1068];Zv(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,g)|0;pv(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 80:{k[n>>2]=k[(k[da>>2]|0)+4>>2];if(k[n>>2]|0){k[(k[n>>2]|0)+64>>2]=k[(k[da>>2]|0)+-16+4>>2];_v(k[_>>2]|0,k[n>>2]|0)}else nv(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);k[(k[da>>2]|0)+-16+4>>2]=k[n>>2];break}case 81:{k[D>>2]=k[(k[da>>2]|0)+4>>2];k[v>>2]=k[(k[da>>2]|0)+-32+4>>2];if((k[D>>2]|0)!=0?(k[(k[D>>2]|0)+48>>2]|0)!=0:0){k[W+4>>2]=0;_v(k[_>>2]|0,k[D>>2]|0);Z=$v(k[_>>2]|0,0,0,0,W,k[D>>2]|0,0,0)|0;k[s>>2]=Z;Z=aw(k[_>>2]|0,0,k[s>>2]|0,0,0,0,0,0,0,0)|0;k[D>>2]=Z}if(k[D>>2]|0){i[(k[D>>2]|0)+4>>0]=k[(k[da>>2]|0)+-16+4>>2];k[(k[D>>2]|0)+48>>2]=k[v>>2];if(k[v>>2]|0){Z=(k[v>>2]|0)+8|0;k[Z>>2]=k[Z>>2]&-1025}Z=(k[D>>2]|0)+8|0;k[Z>>2]=k[Z>>2]&-1025;if((k[(k[da>>2]|0)+-16+4>>2]|0)!=116)i[(k[_>>2]|0)+22>>0]=1}else pv(k[k[_>>2]>>2]|0,k[v>>2]|0);k[(k[da>>2]|0)+-32+4>>2]=k[D>>2];break}case 84:case 82:{k[(k[da>>2]|0)+4>>2]=l[(k[da>>2]|0)+2>>0];break}case 83:{k[(k[da>>2]|0)+-16+4>>2]=116;break}case 85:{_=aw(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+-112+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+4+4>>2]|0)|0;k[(k[da>>2]|0)+-128+4>>2]=_;break}case 86:{_=aw(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;break}case 87:{k[t>>2]=k[(k[da>>2]|0)+-64+4>>2];_=aw(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;k[E>>2]=_;if(k[t>>2]|0){_=(k[t>>2]|0)+8|0;k[_>>2]=k[_>>2]&-1025}if(k[E>>2]|0){i[(k[E>>2]|0)+4>>0]=116;k[(k[E>>2]|0)+48>>2]=k[t>>2];k[(k[da>>2]|0)+-64+4>>2]=k[E>>2];break a}else{k[(k[da>>2]|0)+-64+4>>2]=k[t>>2];break a}}case 88:{k[(k[da>>2]|0)+4>>2]=1;break}case 89:{k[(k[da>>2]|0)+4>>2]=2;break}case 211:case 206:case 203:case 126:case 119:case 91:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 92:{Z=bw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-32+4>>2]=Z;if((k[(k[da>>2]|0)+4+4>>2]|0)>>>0>0)cw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+4|0,1);dw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+-16+4|0);break}case 93:{Z=ew(k[k[_>>2]>>2]|0,160,0)|0;k[p>>2]=Z;_=bw(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[p>>2]|0)|0;k[(k[da>>2]|0)+-16+4>>2]=_;break}case 94:{Z=Ov(k[_>>2]|0,160,0,0,0)|0;k[F>>2]=Z;Z=Ov(k[_>>2]|0,55,0,0,(k[da>>2]|0)+-32+4|0)|0;k[u>>2]=Z;Z=Ov(k[_>>2]|0,122,k[u>>2]|0,k[F>>2]|0,0)|0;k[q>>2]=Z;_=bw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[q>>2]|0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;break}case 226:case 225:case 106:case 95:{_=(k[da>>2]|0)+-16+4|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];break}case 97:{_=Ch(k[k[_>>2]>>2]|0,80,0)|0;k[(k[da>>2]|0)+16+4>>2]=_;break}case 98:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];fw(k[(k[da>>2]|0)+-16+4>>2]|0);break}case 99:{if((k[(k[da>>2]|0)+-16+4>>2]|0)!=0?(k[k[(k[da>>2]|0)+-16+4>>2]>>2]|0)>0:0)i[(k[(k[da>>2]|0)+-16+4>>2]|0)+8+(((k[k[(k[da>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=k[(k[da>>2]|0)+4>>2];break}case 100:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 101:{Z=$v(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,(k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-48+4|0,0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=Z;gw(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,(k[da>>2]|0)+-32+4|0);break}case 102:{Z=$v(k[_>>2]|0,k[(k[da>>2]|0)+-128+4>>2]|0,(k[da>>2]|0)+-112+4|0,(k[da>>2]|0)+-96+4|0,(k[da>>2]|0)+-32+4|0,0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-128+4>>2]=Z;hw(k[_>>2]|0,k[(k[da>>2]|0)+-128+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 103:{_=$v(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,0,0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=_;break}case 104:{if((((k[(k[da>>2]|0)+-96+4>>2]|0)==0?(k[(k[da>>2]|0)+-32+4+4>>2]|0)==0:0)?(k[(k[da>>2]|0)+-16+4>>2]|0)==0:0)?(k[(k[da>>2]|0)+4>>2]|0)==0:0){k[(k[da>>2]|0)+-96+4>>2]=k[(k[da>>2]|0)+-64+4>>2];break a}if((k[k[(k[da>>2]|0)+-64+4>>2]>>2]|0)!=1){fw(k[(k[da>>2]|0)+-64+4>>2]|0);Z=aw(k[_>>2]|0,0,k[(k[da>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;k[I>>2]=Z;_=$v(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,0,0,(k[da>>2]|0)+-32+4|0,k[I>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=_;break a}Z=$v(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,0,0,(k[da>>2]|0)+-32+4|0,0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=Z;if(k[(k[da>>2]|0)+-96+4>>2]|0){k[A>>2]=(k[(k[da>>2]|0)+-96+4>>2]|0)+8+(((k[k[(k[da>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);k[B>>2]=(k[(k[da>>2]|0)+-64+4>>2]|0)+8;k[(k[A>>2]|0)+8>>2]=k[(k[B>>2]|0)+8>>2];k[(k[A>>2]|0)+4>>2]=k[(k[B>>2]|0)+4>>2];k[(k[A>>2]|0)+20>>2]=k[(k[B>>2]|0)+20>>2];k[(k[B>>2]|0)+4>>2]=0;k[(k[B>>2]|0)+8>>2]=0;k[(k[B>>2]|0)+20>>2]=0}rv(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{k[(k[da>>2]|0)+16+4>>2]=0;k[(k[da>>2]|0)+16+4+4>>2]=0;break}case 107:{_=iw(k[k[_>>2]>>2]|0,0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0)|0;k[(k[da>>2]|0)+-16+4>>2]=_;break}case 108:{k[(k[da>>2]|0)+4>>2]=1;break}case 109:{_=jw(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,0,0)|0;k[(k[da>>2]|0)+-16+4>>2]=_;break}case 110:{_=jw(k[_>>2]|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-16+4|0,0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 111:{_=jw(k[_>>2]|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-16+4|0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;break}case 199:case 136:case 129:case 112:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 202:case 200:case 135:case 128:case 113:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 115:{_=(k[da>>2]|0)+-32+4|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];break}case 116:{k[(k[da>>2]|0)+-16+4>>2]=0;k[(k[da>>2]|0)+-16+4+4>>2]=1;break}case 117:{k[(k[da>>2]|0)+-48+4>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 146:case 118:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 127:case 120:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 121:{_=bw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;kw(k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 122:{_=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-16+4>>2]=_;kw(k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 123:{k[(k[da>>2]|0)+4>>2]=0;break}case 124:{k[(k[da>>2]|0)+4>>2]=1;break}case 125:{k[(k[da>>2]|0)+16+4>>2]=-1;break}case 130:{k[(k[da>>2]|0)+16+4>>2]=0;k[(k[da>>2]|0)+16+4+4>>2]=0;break}case 131:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];k[(k[da>>2]|0)+-16+4+4>>2]=0;break}case 132:{k[(k[da>>2]|0)+-48+4>>2]=k[(k[da>>2]|0)+-32+4>>2];k[(k[da>>2]|0)+-48+4+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 133:{k[(k[da>>2]|0)+-48+4+4>>2]=k[(k[da>>2]|0)+-32+4>>2];k[(k[da>>2]|0)+-48+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 134:{lw(k[_>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0,1);gw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+-16+4|0);mw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 137:{lw(k[_>>2]|0,k[(k[da>>2]|0)+-112+4>>2]|0,1);gw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,(k[da>>2]|0)+-48+4|0);nw(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,27177);ow(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0);break}case 138:{Z=bw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;cw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,(k[da>>2]|0)+-32+4|0,1);break}case 139:{_=pw(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=_;break}case 140:{Z=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+4>>2]|0)|0;k[X>>2]=Z;cw(k[_>>2]|0,k[X>>2]|0,(k[da>>2]|0)+-32+4|0,1);k[(k[da>>2]|0)+-32+4>>2]=k[X>>2];break}case 141:{_=pw(k[_>>2]|0,0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 142:{lw(k[_>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0,1);qw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 143:{lw(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,1);qw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0);break}case 147:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 148:{_=rw(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+4|0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 149:{_=rw(k[k[_>>2]>>2]|0,0,(k[da>>2]|0)+4|0)|0;k[(k[da>>2]|0)+4>>2]=_;break}case 150:{sw((k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 157:case 156:case 151:{Y=(k[da>>2]|0)+4|0;Z=k[_>>2]|0;_=l[(k[da>>2]|0)+2>>0]|0;b=(k[da>>2]|0)+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];Pv(Y,Z,_,c);break}case 153:case 152:{Z=(k[da>>2]|0)+4|0;_=k[_>>2]|0;Y=(k[da>>2]|0)+4|0;k[c>>2]=k[Y>>2];k[c+4>>2]=k[Y+4>>2];Pv(Z,_,55,c);break}case 154:{Z=tw(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+-32+4|0,1)|0;k[J>>2]=Z;Z=tw(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+4|0,1)|0;k[L>>2]=Z;sw((k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);_=Ov(k[_>>2]|0,122,k[J>>2]|0,k[L>>2]|0,0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 155:{Z=tw(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+-64+4|0,1)|0;k[K>>2]=Z;Z=tw(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+-32+4|0,1)|0;k[M>>2]=Z;Z=tw(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+4|0,1)|0;k[N>>2]=Z;Z=Ov(k[_>>2]|0,122,k[M>>2]|0,k[N>>2]|0,0)|0;k[O>>2]=Z;sw((k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+4|0);_=Ov(k[_>>2]|0,122,k[K>>2]|0,k[O>>2]|0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 158:{_=tw(k[k[_>>2]>>2]|0,134,(k[da>>2]|0)+4|0,1)|0;k[X>>2]=_;k[X+4>>2]=k[(k[da>>2]|0)+4>>2];k[X+8>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);if(k[X>>2]|0){_=(k[X>>2]|0)+4|0;k[_>>2]=k[_>>2]|8388608}_=(k[da>>2]|0)+4|0;k[_>>2]=k[X>>2];k[_+4>>2]=k[X+4>>2];k[_+8>>2]=k[X+8>>2];break}case 159:{if((i[k[(k[da>>2]|0)+4>>2]>>0]|0)==35?(l[18403+(l[(k[(k[da>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){c=(k[da>>2]|0)+4|0;k[Y>>2]=k[c>>2];k[Y+4>>2]=k[c+4>>2];sw((k[da>>2]|0)+4|0,Y,Y);c=k[_>>2]|0;if(!(l[(k[_>>2]|0)+18>>0]|0)){k[Z>>2]=Y;Oh(c,26462,Z);k[(k[da>>2]|0)+4>>2]=0;break a}_=Ov(c,157,0,0,0)|0;k[(k[da>>2]|0)+4>>2]=_;if(!(k[(k[da>>2]|0)+4>>2]|0))break a;_i((k[Y>>2]|0)+1|0,(k[(k[da>>2]|0)+4>>2]|0)+28|0)|0;break a}k[h>>2]=k[(k[da>>2]|0)+4+4>>2];Y=(k[da>>2]|0)+4|0;Z=k[_>>2]|0;b=(k[da>>2]|0)+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];Pv(Y,Z,135,c);uw(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[h>>2]|0);break}case 160:{_=vw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+4|0,1)|0;k[(k[da>>2]|0)+-32+4>>2]=_;k[(k[da>>2]|0)+-32+4+8>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);break}case 161:{sw((k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+4|0);_=Ov(k[_>>2]|0,66,k[(k[da>>2]|0)+-48+4>>2]|0,0,(k[da>>2]|0)+-16+4|0)|0;k[(k[da>>2]|0)+-80+4>>2]=_;break}case 162:{if((k[(k[da>>2]|0)+-16+4>>2]|0)!=0?(k[k[(k[da>>2]|0)+-16+4>>2]>>2]|0)>(k[(k[k[_>>2]>>2]|0)+96+24>>2]|0):0){Z=k[_>>2]|0;k[U>>2]=(k[da>>2]|0)+-64+4;Oh(Z,27186,U)}_=ww(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,(k[da>>2]|0)+-64+4|0)|0;k[X>>2]=_;sw(X,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+4|0);if((k[(k[da>>2]|0)+-32+4>>2]|0)==1?(k[X>>2]|0)!=0:0){_=(k[X>>2]|0)+4|0;k[_>>2]=k[_>>2]|16}_=(k[da>>2]|0)+-64+4|0;k[_>>2]=k[X>>2];k[_+4>>2]=k[X+4>>2];k[_+8>>2]=k[X+8>>2];break}case 163:{_=ww(k[_>>2]|0,0,(k[da>>2]|0)+-48+4|0)|0;k[X>>2]=_;sw(X,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+4|0);_=(k[da>>2]|0)+-48+4|0;k[_>>2]=k[X>>2];k[_+4>>2]=k[X+4>>2];k[_+8>>2]=k[X+8>>2];break}case 164:{_=ww(k[_>>2]|0,0,(k[da>>2]|0)+4|0)|0;k[X>>2]=_;sw(X,(k[da>>2]|0)+4|0,(k[da>>2]|0)+4|0);_=(k[da>>2]|0)+4|0;k[_>>2]=k[X>>2];k[_+4>>2]=k[X+4>>2];k[_+8>>2]=k[X+8>>2];break}case 165:{Z=bw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[w>>2]=Z;Z=Ov(k[_>>2]|0,158,0,0,0)|0;k[X>>2]=Z;if(k[X>>2]|0){k[(k[X>>2]|0)+20>>2]=k[w>>2];sw(X,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+4|0)}else ov(k[k[_>>2]>>2]|0,k[w>>2]|0);_=(k[da>>2]|0)+-64+4|0;k[_>>2]=k[X>>2];k[_+4>>2]=k[X+4>>2];k[_+8>>2]=k[X+8>>2];break}case 173:case 172:case 171:case 170:case 169:case 168:case 167:case 166:{xw(k[_>>2]|0,l[(k[da>>2]|0)+-16+2>>0]|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);break}case 174:{_=(k[da>>2]|0)+4|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];break}case 175:{_=(k[da>>2]|0)+-16+4|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];_=(k[da>>2]|0)+-16+4+4|0;k[_>>2]=k[_>>2]|-2147483648;break}case 176:{k[e>>2]=k[(k[da>>2]|0)+-16+4+4>>2]&-2147483648;Z=(k[da>>2]|0)+-16+4+4|0;k[Z>>2]=k[Z>>2]&2147483647;Z=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+4>>2]|0)|0;k[y>>2]=Z;Z=bw(k[_>>2]|0,k[y>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[y>>2]=Z;Z=ww(k[_>>2]|0,k[y>>2]|0,(k[da>>2]|0)+-16+4|0)|0;k[(k[da>>2]|0)+-32+4>>2]=Z;yw(k[_>>2]|0,k[e>>2]|0,(k[da>>2]|0)+-32+4|0);k[(k[da>>2]|0)+-32+4+8>>2]=k[(k[da>>2]|0)+4+8>>2];if(k[(k[da>>2]|0)+-32+4>>2]|0){_=(k[(k[da>>2]|0)+-32+4>>2]|0)+4|0;k[_>>2]=k[_>>2]|128}break}case 177:{k[f>>2]=k[(k[da>>2]|0)+-48+4+4>>2]&-2147483648;Z=(k[da>>2]|0)+-48+4+4|0;k[Z>>2]=k[Z>>2]&2147483647;Z=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[z>>2]=Z;Z=bw(k[_>>2]|0,k[z>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0)|0;k[z>>2]=Z;Z=bw(k[_>>2]|0,k[z>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[z>>2]=Z;Z=ww(k[_>>2]|0,k[z>>2]|0,(k[da>>2]|0)+-48+4|0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;yw(k[_>>2]|0,k[f>>2]|0,(k[da>>2]|0)+-64+4|0);k[(k[da>>2]|0)+-64+4+8>>2]=k[(k[da>>2]|0)+4+8>>2];if(k[(k[da>>2]|0)+-64+4>>2]|0){_=(k[(k[da>>2]|0)+-64+4>>2]|0)+4|0;k[_>>2]=k[_>>2]|128}break}case 178:{zw(k[_>>2]|0,l[(k[da>>2]|0)+2>>0]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0);break}case 179:{zw(k[_>>2]|0,35,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);break}case 180:{xw(k[_>>2]|0,29,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);Aw(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,34);break}case 181:{xw(k[_>>2]|0,148,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+4|0);Aw(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,35);break}case 183:case 182:{Bw((k[da>>2]|0)+-16+4|0,k[_>>2]|0,l[(k[da>>2]|0)+-16+2>>0]|0,(k[da>>2]|0)+4|0,(k[da>>2]|0)+-16+4|0);break}case 184:{Bw((k[da>>2]|0)+-16+4|0,k[_>>2]|0,155,(k[da>>2]|0)+4|0,(k[da>>2]|0)+-16+4|0);break}case 185:{Bw((k[da>>2]|0)+-16+4|0,k[_>>2]|0,156,(k[da>>2]|0)+4|0,(k[da>>2]|0)+-16+4|0);break}case 189:case 186:{k[(k[da>>2]|0)+4>>2]=0;break}case 188:{Z=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[x>>2]=Z;Z=bw(k[_>>2]|0,k[x>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[x>>2]=Z;Z=Ov(k[_>>2]|0,32,k[(k[da>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;if(k[(k[da>>2]|0)+-64+4>>2]|0)k[(k[(k[da>>2]|0)+-64+4>>2]|0)+20>>2]=k[x>>2];else ov(k[k[_>>2]>>2]|0,k[x>>2]|0);yw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+-64+4|0);k[(k[da>>2]|0)+-64+4+8>>2]=k[(k[da>>2]|0)+4+8>>2];break}case 191:{do if(!(k[(k[da>>2]|0)+-16+4>>2]|0)){sv(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);_=Ov(k[_>>2]|0,134,0,0,4276+(k[(k[da>>2]|0)+-48+4>>2]<<3)|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_}else{if((k[k[(k[da>>2]|0)+-16+4>>2]>>2]|0)==1){k[C>>2]=k[k[(k[(k[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2];k[k[(k[(k[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;ov(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);if(k[C>>2]|0){Z=(k[C>>2]|0)+4|0;k[Z>>2]=k[Z>>2]&-257;Z=(k[C>>2]|0)+4|0;k[Z>>2]=k[Z>>2]|512}_=Ov(k[_>>2]|0,(k[(k[da>>2]|0)+-48+4>>2]|0)!=0?36:37,k[(k[da>>2]|0)+-64+4>>2]|0,k[C>>2]|0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}Z=Ov(k[_>>2]|0,33,k[(k[da>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;if(k[(k[da>>2]|0)+-64+4>>2]|0){k[(k[(k[da>>2]|0)+-64+4>>2]|0)+20>>2]=k[(k[da>>2]|0)+-16+4>>2];Cw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0)}else ov(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);yw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+-64+4|0)}while(0);k[(k[da>>2]|0)+-64+4+8>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);break}case 192:{sw((k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);Z=Ov(k[_>>2]|0,119,0,0,0)|0;k[(k[da>>2]|0)+-32+4>>2]=Z;Dw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 193:{Z=Ov(k[_>>2]|0,33,k[(k[da>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;Dw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);yw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+-64+4|0);k[(k[da>>2]|0)+-64+4+8>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);break}case 194:{Z=iw(k[k[_>>2]>>2]|0,0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-16+4|0)|0;k[H>>2]=Z;Z=aw(k[_>>2]|0,0,k[H>>2]|0,0,0,0,0,0,0,0)|0;k[G>>2]=Z;if(k[(k[da>>2]|0)+4>>2]|0)hw(k[_>>2]|0,(k[G>>2]|0)!=0?k[H>>2]|0:0,k[(k[da>>2]|0)+4>>2]|0);c=Ov(k[_>>2]|0,33,k[(k[da>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=c;Dw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[G>>2]|0);yw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+-64+4|0);c=k[da>>2]|0;if(k[(k[da>>2]|0)+-16+4>>2]|0)c=(k[(k[da>>2]|0)+-16+4>>2]|0)+(k[c+-16+4+4>>2]|0)|0;else c=(k[(k[da>>2]|0)+-32+4>>2]|0)+(k[c+-32+4+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4+8>>2]=c;break}case 195:{sw((k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+4|0);Z=Ov(k[_>>2]|0,20,0,0,0)|0;k[(k[da>>2]|0)+-48+4>>2]=Z;k[o>>2]=Z;Dw(k[_>>2]|0,k[o>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 196:{sw((k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+4|0);Z=Ov(k[_>>2]|0,136,k[(k[da>>2]|0)+-48+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;if(!(k[(k[da>>2]|0)+-64+4>>2]|0)){ov(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0);sv(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break a}if(k[(k[da>>2]|0)+-16+4>>2]|0)c=bw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;else c=k[(k[da>>2]|0)+-32+4>>2]|0;k[(k[(k[da>>2]|0)+-64+4>>2]|0)+20>>2]=c;Cw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 197:{Z=bw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;_=bw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 198:{Z=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[(k[da>>2]|0)+-48+4>>2]=Z;_=bw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;break}case 201:{k[(k[da>>2]|0)+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 204:{_=bw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 205:{_=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+4>>2]=_;break}case 212:case 207:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 208:{Sv(k[_>>2]|0,(k[da>>2]|0)+-112+4|0,(k[da>>2]|0)+-96+4|0,iw(k[k[_>>2]>>2]|0,0,(k[da>>2]|0)+-64+4|0,0)|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-160+4>>2]|0,(k[da>>2]|0)+-176+4|0,k[(k[da>>2]|0)+4>>2]|0,0,k[(k[da>>2]|0)+-128+4>>2]|0,0);break}case 250:case 209:{k[(k[da>>2]|0)+4>>2]=2;break}case 210:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 213:{_=Ew(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 214:{_=Ew(k[_>>2]|0,0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 217:{Fw(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 218:{Gw(k[_>>2]|0,0);break}case 219:{Gw(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 220:{Hw(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0,0,0);break}case 221:{Hw(k[_>>2]|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0,0);break}case 222:{Hw(k[_>>2]|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-16+4|0,0);break}case 223:{Hw(k[_>>2]|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0,1);break}case 224:{Hw(k[_>>2]|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-16+4|0,1);break}case 227:{k[d>>2]=k[(k[da>>2]|0)+-48+4>>2];k[d+4>>2]=(k[(k[da>>2]|0)+4>>2]|0)-(k[(k[da>>2]|0)+-48+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);Iw(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,d);break}case 228:{Jw(k[_>>2]|0,(k[da>>2]|0)+-112+4|0,(k[da>>2]|0)+-96+4|0,k[(k[da>>2]|0)+-80+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-64+4+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-160+4>>2]|0,k[(k[da>>2]|0)+-128+4>>2]|0);c=(k[da>>2]|0)+-160+4|0;d=k[da>>2]|0;if(!(k[(k[da>>2]|0)+-96+4+4>>2]|0)){_=d+-112+4|0;k[c>>2]=k[_>>2];k[c+4>>2]=k[_+4>>2];break a}else{_=d+-96+4|0;k[c>>2]=k[_>>2];k[c+4>>2]=k[_+4>>2];break a}}case 229:{k[(k[da>>2]|0)+4>>2]=63;break}case 230:{k[(k[da>>2]|0)+4>>2]=59;break}case 231:{k[(k[da>>2]|0)+-16+4>>2]=77;break}case 232:{k[(k[da>>2]|0)+16+4>>2]=63;break}case 234:case 233:{k[(k[da>>2]|0)+4>>2]=l[(k[da>>2]|0)+2>>0];k[(k[da>>2]|0)+4+4>>2]=0;break}case 235:{k[(k[da>>2]|0)+-32+4>>2]=110;k[(k[da>>2]|0)+-32+4+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 255:case 236:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 256:case 237:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 238:{k[(k[(k[(k[da>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=k[(k[da>>2]|0)+-16+4>>2];k[(k[(k[da>>2]|0)+-32+4>>2]|0)+32>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 239:{k[(k[(k[da>>2]|0)+-16+4>>2]|0)+32>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 240:{Z=(k[da>>2]|0)+-32+4|0;Y=(k[da>>2]|0)+4|0;k[Z>>2]=k[Y>>2];k[Z+4>>2]=k[Y+4>>2];Oh(k[_>>2]|0,27220,V);break}case 241:{Oh(k[_>>2]|0,27315,S);break}case 242:{Oh(k[_>>2]|0,27399,T);break}case 243:{_=Kw(k[k[_>>2]>>2]|0,(k[da>>2]|0)+-64+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]&255)|0;k[(k[da>>2]|0)+-96+4>>2]=_;break}case 244:{_=Lw(k[k[_>>2]>>2]|0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]&255)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 245:{_=Mw(k[k[_>>2]>>2]|0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 246:{_=Nw(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+4>>2]=_;break}case 247:{sw((k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+4|0);_=Ov(k[_>>2]|0,83,0,0,0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;if(k[(k[da>>2]|0)+-48+4>>2]|0)i[(k[(k[da>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 248:{sw((k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+4|0);_=Ov(k[_>>2]|0,83,0,0,(k[da>>2]|0)+-16+4|0)|0;k[(k[da>>2]|0)+-80+4>>2]=_;if(k[(k[da>>2]|0)+-80+4>>2]|0)i[(k[(k[da>>2]|0)+-80+4>>2]|0)+1>>0]=k[(k[da>>2]|0)+-48+4>>2];break}case 249:{k[(k[da>>2]|0)+4>>2]=1;break}case 251:{k[(k[da>>2]|0)+4>>2]=3;break}case 252:{Ow(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 253:{Pw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 254:{Qw(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 257:{Rw(k[_>>2]|0,0,0);break}case 258:{Rw(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0);break}case 259:{Sw(k[_>>2]|0,0,0);break}case 260:{Sw(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0);break}case 261:{Tw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+4|0);break}case 262:{k[(k[da>>2]|0)+-16+4+4>>2]=(k[(k[_>>2]|0)+392>>2]|0)-(k[(k[da>>2]|0)+-16+4>>2]|0)+(k[(k[_>>2]|0)+392+4>>2]|0);Uw(k[_>>2]|0,(k[da>>2]|0)+-16+4|0);break}case 263:{Kv(k[_>>2]|0);Vw(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 264:{Ww(k[_>>2]|0,0);break}case 265:{Ww(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 266:{Xw(k[_>>2]|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 267:{Yw(k[_>>2]|0);break}case 270:case 269:case 268:{Zw(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 271:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 272:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 273:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 274:{_=_w(k[_>>2]|0,0,(k[da>>2]|0)+-80+4|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-80+4>>2]=_;break}case 275:{_=_w(k[_>>2]|0,k[(k[da>>2]|0)+-112+4>>2]|0,(k[da>>2]|0)+-80+4|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-112+4>>2]=_;break}default:{}}while(0);k[ca>>2]=l[26486+(k[aa>>2]<<1)>>0];k[ea>>2]=l[26486+(k[aa>>2]<<1)+1>>0];aa=$w(m[(k[da>>2]|0)+(0-(k[ea>>2]|0)<<4)>>1]|0,k[ca>>2]&255)|0;k[ba>>2]=aa;if((k[ba>>2]|0)>999){da=k[$>>2]|0;k[da>>2]=(k[da>>2]|0)+(0-(k[ea>>2]|0)<<4);ax(k[$>>2]|0);r=fa;return}if((k[ba>>2]|0)>455)k[ba>>2]=(k[ba>>2]|0)+332;k[da>>2]=(k[da>>2]|0)+(0-((k[ea>>2]|0)-1)<<4);k[k[$>>2]>>2]=k[da>>2];j[k[da>>2]>>1]=k[ba>>2];i[(k[da>>2]|0)+2>>0]=k[ca>>2];r=fa;return}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d;e=d+12|0;f=d+4|0;k[e>>2]=a;k[d+8>>2]=b;k[f>>2]=k[(k[e>>2]|0)+4>>2];a=k[f>>2]|0;k[g>>2]=c;Oh(a,26462,g);k[(k[e>>2]|0)+4>>2]=k[f>>2];r=d;return}function Dv(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e;b=e+8|0;c=e+4|0;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+-16;while(1){if((k[k[b>>2]>>2]|0)>>>0<=((k[b>>2]|0)+8|0)>>>0)break;wv(k[b>>2]|0)}Oh(k[c>>2]|0,37597,d);k[(k[b>>2]|0)+4>>2]=k[c>>2];r=e;return}function Ev(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;b=m+28|0;c=m+24|0;h=m+20|0;e=m+16|0;d=m+12|0;g=m+8|0;j=m+4|0;f=m;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];if(i[(k[b>>2]|0)+18>>0]|0){r=m;return}if((l[(k[c>>2]|0)+69>>0]|0)==0?(k[(k[b>>2]|0)+36>>2]|0)==0:0){a=nx(k[b>>2]|0)|0;k[h>>2]=a;do if((k[h>>2]|0)!=0?(px(k[h>>2]|0,75)|0,(l[(k[c>>2]|0)+69>>0]|0)==0):0){if((k[(k[b>>2]|0)+96>>2]|0)==0?(k[(k[b>>2]|0)+80>>2]|0)==0:0)break;hA(k[h>>2]|0,0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;if(((k[(k[b>>2]|0)+96>>2]&1<>2]|0)!=0|0)!=0?(Vh(k[h>>2]|0,k[e>>2]|0),k[g>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2],Sh(k[h>>2]|0,2,k[e>>2]|0,(k[(k[b>>2]|0)+92>>2]&1<>2]|0)!=0&1,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0,(l[(k[c>>2]|0)+148+5>>0]|0)==0):0)Th(k[h>>2]|0,1);k[e>>2]=(k[e>>2]|0)+1}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[b>>2]|0)+412>>2]|0))break;g=cy(k[c>>2]|0,k[(k[(k[b>>2]|0)+460>>2]|0)+(k[d>>2]<<2)>>2]|0)|0;k[j>>2]=g;wx(k[h>>2]|0,152,0,0,0,k[j>>2]|0,-10)|0;k[d>>2]=(k[d>>2]|0)+1}k[(k[b>>2]|0)+412>>2]=0;ZH(k[b>>2]|0);_H(k[b>>2]|0);a:do if(k[(k[b>>2]|0)+80>>2]|0){k[f>>2]=k[(k[b>>2]|0)+80>>2];i[(k[b>>2]|0)+23>>0]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[f>>2]>>2]|0))break a;$A(k[b>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);gA(k[h>>2]|0,1)|0}while(0);if(((k[h>>2]|0)!=0?(k[(k[b>>2]|0)+36>>2]|0)==0:0)?(i[(k[c>>2]|0)+69>>0]|0)==0:0){if((k[(k[b>>2]|0)+120>>2]|0)!=0?(k[(k[b>>2]|0)+40>>2]|0)==0:0)k[(k[b>>2]|0)+40>>2]=1;Xh(k[h>>2]|0,k[b>>2]|0);k[(k[b>>2]|0)+12>>2]=101;r=m;return}k[(k[b>>2]|0)+12>>2]=1;r=m;return}if(k[(k[b>>2]|0)+12>>2]|0){r=m;return}k[(k[b>>2]|0)+12>>2]=1;r=m;return}function Fv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];if(kx(k[c>>2]|0,22,37527,0,0)|0){r=h;return}b=nx(k[c>>2]|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){r=h;return}a:do if((k[d>>2]|0)!=7){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break a;sx(k[g>>2]|0,2,k[f>>2]|0,((k[d>>2]|0)==9&1)+1|0)|0;Vh(k[g>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}}while(0);px(k[g>>2]|0,1)|0;r=h;return}function Gv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(kx(k[b>>2]|0,22,37550,0,0)|0){r=d;return}a=nx(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}aA(k[c>>2]|0,1,1)|0;r=d;return}function Hv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(kx(k[b>>2]|0,22,37541,0,0)|0){r=d;return}a=nx(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}sx(k[c>>2]|0,1,1,1)|0;r=d;return}function Iv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;i=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[i>>2]=c;a=bx(k[k[d>>2]>>2]|0,k[i>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){r=h;return}i=nx(k[d>>2]|0)|0;k[f>>2]=i;if((k[f>>2]|0)!=0?(kx(k[d>>2]|0,32,k[5512+(k[e>>2]<<2)>>2]|0,k[g>>2]|0,0)|0)==0:0){wx(k[f>>2]|0,0,k[e>>2]|0,0,0,k[g>>2]|0,-1)|0;r=h;return}bg(k[k[d>>2]>>2]|0,k[g>>2]|0);r=h;return}function Jv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;h=J+92|0;m=J+88|0;n=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;q=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;o=J+36|0;p=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;k[w>>2]=a;k[h>>2]=b;k[m>>2]=c;k[n>>2]=d;k[x>>2]=e;k[y>>2]=f;k[z>>2]=g;k[H>>2]=0;k[A>>2]=k[k[w>>2]>>2];if((l[(k[A>>2]|0)+148+5>>0]|0)!=0?(k[(k[A>>2]|0)+148>>2]|0)==1:0){k[I>>2]=l[(k[A>>2]|0)+148+4>>0];s=Ah(k[A>>2]|0,(k[I>>2]|0)==1?19905:19924)|0;k[H>>2]=s;k[B>>2]=k[h>>2]}else{a=Yz(k[w>>2]|0,k[h>>2]|0,k[m>>2]|0,B)|0;k[I>>2]=a;if((k[I>>2]|0)<0){r=J;return}if((k[n>>2]|0)!=0?((k[I>>2]|0)!=1?(k[(k[m>>2]|0)+4>>2]|0)>>>0>0:0):0){Oh(k[w>>2]|0,37417,s);r=J;return}if(k[n>>2]|0)k[I>>2]=1;s=bx(k[A>>2]|0,k[B>>2]|0)|0;k[H>>2]=s}s=(k[w>>2]|0)+384|0;a=k[B>>2]|0;k[s>>2]=k[a>>2];k[s+4>>2]=k[a+4>>2];if(!(k[H>>2]|0)){r=J;return}a:do if(!(ay(k[w>>2]|0,k[H>>2]|0)|0)){if((l[(k[A>>2]|0)+148+4>>0]|0)==1)k[n>>2]=1;k[u>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2];if(!(kx(k[w>>2]|0,18,(k[n>>2]|0)==1?19905:19924,0,k[u>>2]|0)|0)){if((k[y>>2]|0)==0?(kx(k[w>>2]|0,l[37458+((k[n>>2]|0)+(k[x>>2]<<1))>>0]|0,k[H>>2]|0,0,k[u>>2]|0)|0)!=0:0)break;do if(!(i[(k[w>>2]|0)+410>>0]|0)){k[v>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2];if(Uz(k[w>>2]|0)|0)break a;u=Di(k[A>>2]|0,k[H>>2]|0,k[v>>2]|0)|0;k[q>>2]=u;if(!(k[q>>2]|0)){if(!(Uj(k[A>>2]|0,k[H>>2]|0,k[v>>2]|0)|0))break;I=k[w>>2]|0;k[t>>2]=k[H>>2];Oh(I,37486,t);break a}h=k[w>>2]|0;if(k[z>>2]|0){Cx(h,k[I>>2]|0);break a}else{k[G>>2]=k[B>>2];Oh(h,37462,G);break a}}while(0);G=Ch(k[A>>2]|0,72,0)|0;k[q>>2]=G;if(!(k[q>>2]|0)){k[(k[w>>2]|0)+12>>2]=7;I=(k[w>>2]|0)+36|0;k[I>>2]=(k[I>>2]|0)+1;break}k[k[q>>2]>>2]=k[H>>2];j[(k[q>>2]|0)+32>>1]=-1;k[(k[q>>2]|0)+64>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+12>>2];j[(k[q>>2]|0)+36>>1]=1;j[(k[q>>2]|0)+38>>1]=200;k[(k[w>>2]|0)+440>>2]=k[q>>2];if((i[(k[w>>2]|0)+18>>0]|0)==0?(rR(k[H>>2]|0,28817)|0)==0:0)k[(k[(k[q>>2]|0)+64>>2]|0)+72>>2]=k[q>>2];if(i[(k[A>>2]|0)+148+5>>0]|0){r=J;return}H=nx(k[w>>2]|0)|0;k[F>>2]=H;if(!H){r=J;return}Bx(k[w>>2]|0,1,k[I>>2]|0);if(k[y>>2]|0)px(k[F>>2]|0,152)|0;H=(k[w>>2]|0)+44|0;h=(k[H>>2]|0)+1|0;k[H>>2]=h;k[(k[w>>2]|0)+100>>2]=h;k[C>>2]=h;h=(k[w>>2]|0)+44|0;H=(k[h>>2]|0)+1|0;k[h>>2]=H;k[(k[w>>2]|0)+104>>2]=H;k[D>>2]=H;H=(k[w>>2]|0)+44|0;h=(k[H>>2]|0)+1|0;k[H>>2]=h;k[E>>2]=h;tx(k[F>>2]|0,101,k[I>>2]|0,k[E>>2]|0,2)|0;Vh(k[F>>2]|0,k[I>>2]|0);h=aA(k[F>>2]|0,21,k[E>>2]|0)|0;k[o>>2]=h;k[p>>2]=(k[(k[A>>2]|0)+24>>2]&32768|0)!=0?1:4;tx(k[F>>2]|0,102,k[I>>2]|0,2,k[p>>2]|0)|0;tx(k[F>>2]|0,102,k[I>>2]|0,5,l[(k[A>>2]|0)+66>>0]|0)|0;hA(k[F>>2]|0,k[o>>2]|0);h=k[F>>2]|0;if((k[x>>2]|0)!=0|(k[y>>2]|0)!=0)sx(h,76,0,k[D>>2]|0)|0;else{H=sx(h,135,k[I>>2]|0,k[D>>2]|0)|0;k[(k[w>>2]|0)+132>>2]=H}YH(k[w>>2]|0,k[I>>2]|0);sx(k[F>>2]|0,114,0,k[C>>2]|0)|0;wx(k[F>>2]|0,81,6,k[E>>2]|0,0,37521,-2)|0;tx(k[F>>2]|0,115,0,k[E>>2]|0,k[C>>2]|0)|0;Th(k[F>>2]|0,8);px(k[F>>2]|0,111)|0;r=J;return}}while(0);bg(k[A>>2]|0,k[H>>2]|0);r=J;return}function Kv(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+24|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;a=(k[k[c>>2]>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function Lv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=r;r=r+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;f=R+200|0;g=R+196|0;h=R+192|0;m=R+204|0;n=R+188|0;w=R+184|0;q=R+180|0;t=R+176|0;z=R+172|0;u=R+168|0;G=R+164|0;P=R+160|0;Q=R+156|0;O=R+152|0;s=R+128|0;F=R+120|0;p=R+116|0;D=R+112|0;E=R+108|0;o=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[m>>0]=d;k[n>>2]=e;k[q>>2]=k[k[f>>2]>>2];if((k[h>>2]|0)==0&(k[n>>2]|0)==0){r=R;return}k[w>>2]=k[(k[f>>2]|0)+440>>2];if(!(k[w>>2]|0)){r=R;return}if((i[(k[q>>2]|0)+148+5>>0]|0)!=0?(k[(k[w>>2]|0)+28>>2]=k[(k[q>>2]|0)+148>>2],(k[(k[w>>2]|0)+28>>2]|0)==1):0){d=(k[w>>2]|0)+42|0;i[d>>0]=l[d>>0]|1}do if(l[m>>0]&32){if(l[(k[w>>2]|0)+42>>0]&8){Oh(k[f>>2]|0,37098,H);r=R;return}if(!(l[(k[w>>2]|0)+42>>0]&4)){H=k[f>>2]|0;k[J>>2]=k[k[w>>2]>>2];Oh(H,37148,J);break}else{J=(k[w>>2]|0)+42|0;i[J>>0]=l[J>>0]|96;SH(k[f>>2]|0,k[w>>2]|0);break}}while(0);J=Ph(k[q>>2]|0,k[(k[w>>2]|0)+64>>2]|0)|0;k[t>>2]=J;if(k[(k[w>>2]|0)+24>>2]|0)LH(k[f>>2]|0,k[w>>2]|0,4,0,k[(k[w>>2]|0)+24>>2]|0);TH(k[w>>2]|0);k[z>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;OH(k[z>>2]|0);k[z>>2]=k[(k[z>>2]|0)+20>>2]}if(!(i[(k[q>>2]|0)+148+5>>0]|0)){J=nx(k[f>>2]|0)|0;k[G>>2]=J;if(!(k[G>>2]|0)){r=R;return}aA(k[G>>2]|0,111,0)|0;if(!(k[(k[w>>2]|0)+12>>2]|0)){k[P>>2]=32993;k[Q>>2]=37180}else{k[P>>2]=36058;k[Q>>2]=37186}do if(k[n>>2]|0){H=(k[f>>2]|0)+44|0;J=(k[H>>2]|0)+1|0;k[H>>2]=J;k[F>>2]=J;J=(k[f>>2]|0)+44|0;H=(k[J>>2]|0)+1|0;k[J>>2]=H;k[D>>2]=H;H=(k[f>>2]|0)+44|0;J=(k[H>>2]|0)+1|0;k[H>>2]=J;k[E>>2]=J;dy(k[f>>2]|0);tx(k[G>>2]|0,105,1,k[(k[f>>2]|0)+104>>2]|0,k[t>>2]|0)|0;Th(k[G>>2]|0,16);k[(k[f>>2]|0)+40>>2]=2;J=(Gx(k[G>>2]|0)|0)+1|0;k[p>>2]=J;tx(k[G>>2]|0,15,k[F>>2]|0,0,k[p>>2]|0)|0;FB(s,13,k[F>>2]|0);Zv(k[f>>2]|0,k[n>>2]|0,s)|0;gD(k[G>>2]|0,k[F>>2]|0);hA(k[G>>2]|0,(k[p>>2]|0)-1|0);if(k[(k[f>>2]|0)+36>>2]|0){r=R;return}J=ky(k[f>>2]|0,k[n>>2]|0)|0;k[C>>2]=J;if(!(k[C>>2]|0)){r=R;return}else{j[(k[w>>2]|0)+34>>1]=j[(k[C>>2]|0)+34>>1]|0;k[(k[w>>2]|0)+4>>2]=k[(k[C>>2]|0)+4>>2];j[(k[C>>2]|0)+34>>1]=0;k[(k[C>>2]|0)+4>>2]=0;$f(k[q>>2]|0,k[C>>2]|0);J=aA(k[G>>2]|0,16,k[s+8>>2]|0)|0;k[o>>2]=J;tx(k[G>>2]|0,99,k[s+12>>2]|0,k[s+16>>2]|0,k[D>>2]|0)|0;jD(k[G>>2]|0,k[w>>2]|0,0);sx(k[G>>2]|0,114,1,k[E>>2]|0)|0;tx(k[G>>2]|0,115,1,k[D>>2]|0,k[E>>2]|0)|0;gA(k[G>>2]|0,k[o>>2]|0)|0;hA(k[G>>2]|0,k[o>>2]|0);aA(k[G>>2]|0,111,1)|0;break}}while(0);if(k[n>>2]|0){Q=UH(k[q>>2]|0,k[w>>2]|0)|0;k[O>>2]=Q}else{k[y>>2]=(l[m>>0]|0)!=0?(k[f>>2]|0)+392|0:k[h>>2]|0;k[u>>2]=(k[k[y>>2]>>2]|0)-(k[(k[f>>2]|0)+384>>2]|0);if((i[k[k[y>>2]>>2]>>0]|0)!=59)k[u>>2]=(k[u>>2]|0)+(k[(k[y>>2]|0)+4>>2]|0);J=k[q>>2]|0;d=k[u>>2]|0;H=k[(k[f>>2]|0)+384>>2]|0;k[L>>2]=k[Q>>2];k[L+4>>2]=d;k[L+8>>2]=H;Q=Qh(J,37191,L)|0;k[O>>2]=Q}Q=k[f>>2]|0;E=(k[t>>2]|0)==1?19905:19924;F=k[P>>2]|0;d=k[k[w>>2]>>2]|0;H=k[k[w>>2]>>2]|0;J=k[(k[f>>2]|0)+104>>2]|0;L=k[O>>2]|0;P=k[(k[f>>2]|0)+100>>2]|0;k[M>>2]=k[(k[(k[q>>2]|0)+16>>2]|0)+(k[t>>2]<<4)>>2];k[M+4>>2]=E;k[M+8>>2]=F;k[M+12>>2]=d;k[M+16>>2]=H;k[M+20>>2]=J;k[M+24>>2]=L;k[M+28>>2]=P;mx(Q,37206,M);bg(k[q>>2]|0,k[O>>2]|0);ox(k[f>>2]|0,k[t>>2]|0);if((l[(k[w>>2]|0)+42>>0]&8|0)!=0?(k[x>>2]=(k[(k[q>>2]|0)+16>>2]|0)+(k[t>>2]<<4),(k[(k[(k[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=k[f>>2]|0;k[I>>2]=k[k[x>>2]>>2];mx(Q,37293,I)}O=k[G>>2]|0;P=k[t>>2]|0;Q=k[q>>2]|0;k[K>>2]=k[k[w>>2]>>2];qx(O,P,Qh(Q,37335,K)|0)}if(!(i[(k[q>>2]|0)+148+5>>0]|0)){r=R;return}k[B>>2]=k[(k[w>>2]|0)+64>>2];Q=ck((k[B>>2]|0)+8|0,k[k[w>>2]>>2]|0,k[w>>2]|0)|0;k[A>>2]=Q;if(k[A>>2]|0){wh(k[q>>2]|0);r=R;return}k[(k[f>>2]|0)+440>>2]=0;Q=(k[q>>2]|0)+24|0;k[Q>>2]=k[Q>>2]|2;if(k[(k[w>>2]|0)+12>>2]|0){r=R;return}k[N>>2]=k[(k[f>>2]|0)+384>>2];if(!(k[k[g>>2]>>2]|0))k[g>>2]=k[h>>2];k[v>>2]=(k[k[g>>2]>>2]|0)-(k[N>>2]|0);Q=13+(ey(k[N>>2]|0,k[v>>2]|0)|0)|0;k[(k[w>>2]|0)+44>>2]=Q;r=R;return}function Mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;q=v+8|0;p=v;d=v+48|0;e=v+44|0;f=v+40|0;n=v+36|0;m=v+32|0;s=v+28|0;t=v+24|0;o=v+20|0;h=v+16|0;g=v+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];c=k[(k[d>>2]|0)+440>>2]|0;k[n>>2]=c;if(!c){r=v;return}if(((j[(k[n>>2]|0)+34>>1]|0)+1|0)>(k[(k[h>>2]|0)+96+8>>2]|0)){u=k[d>>2]|0;k[p>>2]=k[k[n>>2]>>2];Oh(u,37049,p);r=v;return}p=Mh(k[h>>2]|0,(k[(k[e>>2]|0)+4>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)+2|0,0)|0;k[s>>2]=p;if(!(k[s>>2]|0)){r=v;return}bS(k[s>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;i[(k[s>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)>>0]=0;hx(k[s>>2]|0);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(j[(k[n>>2]|0)+34>>1]|0))break;if(!(be(k[s>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+(k[m>>2]<<4)>>2]|0)|0)){u=8;break}k[m>>2]=(k[m>>2]|0)+1}if((u|0)==8){u=k[d>>2]|0;k[q>>2]=k[s>>2];Oh(u,37072,q);bg(k[h>>2]|0,k[s>>2]|0);r=v;return}do if(!(j[(k[n>>2]|0)+34>>1]&7)){u=cx(k[h>>2]|0,k[(k[n>>2]|0)+4>>2]|0,(j[(k[n>>2]|0)+34>>1]|0)+8<<4,0)|0;k[g>>2]=u;if(k[g>>2]|0){k[(k[n>>2]|0)+4>>2]=k[g>>2];break}bg(k[h>>2]|0,k[s>>2]|0);r=v;return}while(0);k[o>>2]=(k[(k[n>>2]|0)+4>>2]|0)+(j[(k[n>>2]|0)+34>>1]<<4);u=k[o>>2]|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[k[o>>2]>>2]=k[s>>2];if(!(k[(k[f>>2]|0)+4>>2]|0)){i[(k[o>>2]|0)+13>>0]=65;i[(k[o>>2]|0)+14>>0]=1}else{u=k[s>>2]|0;u=u+(Tf(k[s>>2]|0)|0)+1|0;k[t>>2]=u;bS(k[t>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;i[(k[t>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)>>0]=0;hx(k[t>>2]|0);u=Nx(k[t>>2]|0,(k[o>>2]|0)+14|0)|0;i[(k[o>>2]|0)+13>>0]=u;u=(k[o>>2]|0)+15|0;i[u>>0]=l[u>>0]|4}u=(k[n>>2]|0)+34|0;j[u>>1]=(j[u>>1]|0)+1<<16>>16;k[(k[d>>2]|0)+84+4>>2]=0;r=v;return}function Nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+80|0;e=m;c=m+72|0;f=m+68|0;d=m+64|0;h=m+60|0;g=m+56|0;l=m+8|0;k[c>>2]=a;k[f>>2]=b;k[g>>2]=k[k[c>>2]>>2];k[d>>2]=k[(k[c>>2]|0)+440>>2];if(!(k[d>>2]|0)){h=k[g>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;sv(h,l);r=m;return}k[h>>2]=(k[(k[d>>2]|0)+4>>2]|0)+((j[(k[d>>2]|0)+34>>1]|0)-1<<4);if(RH(k[k[f>>2]>>2]|0,i[(k[g>>2]|0)+148+5>>0]|0)|0){sv(k[g>>2]|0,k[(k[h>>2]|0)+4>>2]|0);c=l;d=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));i[l>>0]=-95;e=(k[(k[f>>2]|0)+8>>2]|0)-(k[(k[f>>2]|0)+4>>2]|0)|0;e=gx(k[g>>2]|0,k[(k[f>>2]|0)+4>>2]|0,e,((e|0)<0)<<31>>31)|0;k[l+8>>2]=e;k[l+12>>2]=k[k[f>>2]>>2];k[l+4>>2]=4096;e=Sy(k[g>>2]|0,l,1)|0;k[(k[h>>2]|0)+4>>2]=e;bg(k[g>>2]|0,k[l+8>>2]|0);h=k[g>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;sv(h,l);r=m;return}else{l=k[c>>2]|0;k[e>>2]=k[k[h>>2]>>2];Oh(l,37004,e);h=k[g>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;sv(h,l);r=m;return}}function Ov(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((k[g>>2]|0)==28?(k[(k[f>>2]|0)+36>>2]|0)==0:0){e=Gz(k[k[f>>2]>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[l>>2]=e}else{e=tw(k[k[f>>2]>>2]|0,k[g>>2]&255,k[j>>2]|0,1)|0;k[l>>2]=e;Iz(k[k[f>>2]>>2]|0,k[l>>2]|0,k[h>>2]|0,k[i>>2]|0)}if(!(k[l>>2]|0)){e=k[l>>2]|0;r=m;return e|0}hz(k[f>>2]|0,k[(k[l>>2]|0)+24>>2]|0)|0;e=k[l>>2]|0;r=m;return e|0}function Pv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0;h=r;r=r+16|0;e=h+12|0;m=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[m>>2]=b;k[f>>2]=c;b=dx(k[k[m>>2]>>2]|0,48+(k[d+4>>2]|0)+1|0,0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){m=k[g>>2]|0;g=k[e>>2]|0;k[g>>2]=m;g=k[d>>2]|0;m=k[e>>2]|0;m=m+4|0;k[m>>2]=g;m=d+4|0;m=k[m>>2]|0;d=k[d>>2]|0;d=d+m|0;m=k[e>>2]|0;m=m+8|0;k[m>>2]=d;r=h;return}c=k[g>>2]|0;a=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));i[k[g>>2]>>0]=k[f>>2];k[(k[g>>2]|0)+4>>2]=8388608;j[(k[g>>2]|0)+34>>1]=-1;k[(k[g>>2]|0)+8>>2]=(k[g>>2]|0)+48;bS(k[(k[g>>2]|0)+8>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;i[(k[(k[g>>2]|0)+8>>2]|0)+(k[d+4>>2]|0)>>0]=0;if(l[18403+(l[k[(k[g>>2]|0)+8>>2]>>0]|0)>>0]&128){if((i[k[(k[g>>2]|0)+8>>2]>>0]|0)==34){m=(k[g>>2]|0)+4|0;k[m>>2]=k[m>>2]|64}hx(k[(k[g>>2]|0)+8>>2]|0)}k[(k[g>>2]|0)+24>>2]=1;m=k[g>>2]|0;g=k[e>>2]|0;k[g>>2]=m;g=k[d>>2]|0;m=k[e>>2]|0;m=m+4|0;k[m>>2]=g;m=d+4|0;m=k[m>>2]|0;d=k[d>>2]|0;d=d+m|0;m=k[e>>2]|0;m=m+8|0;k[m>>2]=d;r=h;return}function Qv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[f>>2]|0)+440>>2];if(!(k[d>>2]|0)){r=e;return}if((j[(k[d>>2]|0)+34>>1]|0)<1){r=e;return}i[(k[(k[d>>2]|0)+4>>2]|0)+((j[(k[d>>2]|0)+34>>1]|0)-1<<4)+12>>0]=k[c>>2];r=e;return}function Rv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;x=y+8|0;f=y;s=y+56|0;t=y+52|0;u=y+48|0;v=y+44|0;w=y+40|0;p=y+36|0;o=y+32|0;h=y+28|0;g=y+24|0;m=y+20|0;n=y+16|0;q=y+12|0;k[s>>2]=a;k[t>>2]=b;k[u>>2]=c;k[v>>2]=d;k[w>>2]=e;k[p>>2]=k[(k[s>>2]|0)+440>>2];k[o>>2]=0;k[h>>2]=-1;if(!(k[p>>2]|0)){w=k[s>>2]|0;w=k[w>>2]|0;x=k[t>>2]|0;ov(w,x);r=y;return}if(l[(k[p>>2]|0)+42>>0]&4){w=k[s>>2]|0;k[f>>2]=k[k[p>>2]>>2];Oh(w,36907,f);w=k[s>>2]|0;w=k[w>>2]|0;x=k[t>>2]|0;ov(w,x);r=y;return}f=(k[p>>2]|0)+42|0;i[f>>0]=l[f>>0]|4;a:do if(!(k[t>>2]|0)){k[h>>2]=(j[(k[p>>2]|0)+34>>1]|0)-1;k[o>>2]=(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<4);q=(k[o>>2]|0)+15|0;i[q>>0]=l[q>>0]|1;k[m>>2]=1}else{k[m>>2]=k[k[t>>2]>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[m>>2]|0))break a;f=uy(k[(k[(k[t>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2]|0)|0;k[n>>2]=f;MH(k[n>>2]|0);b:do if((l[k[n>>2]>>0]|0)==55){k[q>>2]=k[(k[n>>2]|0)+8>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[p>>2]|0)+34>>1]|0))break b;f=(sg(k[q>>2]|0,k[(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)==0;d=k[h>>2]|0;if(f)break;k[h>>2]=d+1}k[o>>2]=(k[(k[p>>2]|0)+4>>2]|0)+(d<<4);f=(k[o>>2]|0)+15|0;i[f>>0]=l[f>>0]|1}while(0);k[g>>2]=(k[g>>2]|0)+1}}while(0);if((k[m>>2]|0)==1&(k[o>>2]|0)!=0?(q=(sg(Fi(k[o>>2]|0,18402)|0,18759)|0)==0,q&(k[w>>2]|0)!=1):0){j[(k[p>>2]|0)+32>>1]=k[h>>2];i[(k[p>>2]|0)+43>>0]=k[u>>2];x=(k[p>>2]|0)+42|0;i[x>>0]=l[x>>0]|k[v>>2]<<3;if(!(k[t>>2]|0)){w=k[s>>2]|0;w=k[w>>2]|0;x=k[t>>2]|0;ov(w,x);r=y;return}i[(k[s>>2]|0)+408>>0]=i[(k[(k[t>>2]|0)+4>>2]|0)+12>>0]|0;w=k[s>>2]|0;w=k[w>>2]|0;x=k[t>>2]|0;ov(w,x);r=y;return}d=k[s>>2]|0;if(k[v>>2]|0){Oh(d,36948,x);w=k[s>>2]|0;w=k[w>>2]|0;x=k[t>>2]|0;ov(w,x);r=y;return}else{Sv(d,0,0,0,k[t>>2]|0,k[u>>2]|0,0,0,k[w>>2]|0,0,2);k[t>>2]=0;w=k[s>>2]|0;w=k[w>>2]|0;x=k[t>>2]|0;ov(w,x);r=y;return}}function Sv(a,b,c,d,e,f,g,h,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;p=p|0;var q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=r;r=r+352|0;ga=za+112|0;fa=za+88|0;ea=za+72|0;da=za+64|0;ca=za+56|0;C=za+48|0;ba=za+40|0;B=za+32|0;A=za+24|0;E=za+16|0;D=za+8|0;z=za;G=za+332|0;q=za+328|0;s=za+324|0;ta=za+320|0;ua=za+316|0;na=za+312|0;I=za+308|0;va=za+304|0;t=za+300|0;J=za+296|0;H=za+336|0;qa=za+292|0;xa=za+288|0;ya=za+284|0;S=za+280|0;K=za+276|0;M=za+272|0;y=za+248|0;$=za+240|0;wa=za+236|0;V=za+232|0;oa=za+228|0;Y=za+224|0;X=za+220|0;Q=za+216|0;R=za+212|0;la=za+208|0;Z=za+204|0;u=za+200|0;w=za+196|0;F=za+192|0;x=za+184|0;v=za+180|0;T=za+176|0;_=za+172|0;ka=za+168|0;U=za+164|0;P=za+160|0;ha=za+156|0;W=za+152|0;N=za+148|0;ia=za+144|0;ja=za+140|0;pa=za+136|0;aa=za+132|0;ma=za+128|0;L=za+124|0;O=za+120|0;ra=za+116|0;k[G>>2]=a;k[q>>2]=b;k[s>>2]=c;k[ta>>2]=d;k[ua>>2]=e;k[na>>2]=f;k[I>>2]=g;k[va>>2]=h;k[t>>2]=n;k[J>>2]=o;i[H>>0]=p;k[qa>>2]=0;k[xa>>2]=0;k[ya>>2]=0;k[wa>>2]=k[k[G>>2]>>2];k[Y>>2]=0;k[Q>>2]=0;k[la>>2]=0;k[Z>>2]=0;a:do if((l[(k[wa>>2]|0)+69>>0]|0)==0?(k[(k[G>>2]|0)+36>>2]|0)<=0:0){if((l[(k[G>>2]|0)+410>>0]|0)!=0?(l[H>>0]|0)!=2:0)break;if(!(Uz(k[G>>2]|0)|0)){p=k[G>>2]|0;if(k[ta>>2]|0){q=Yz(p,k[q>>2]|0,k[s>>2]|0,Y)|0;k[oa>>2]=q;if((k[oa>>2]|0)<0)break;if(((i[(k[wa>>2]|0)+148+5>>0]|0)==0?(q=lC(k[G>>2]|0,k[ta>>2]|0)|0,k[qa>>2]=q,(k[qa>>2]|0)!=0?(k[(k[s>>2]|0)+4>>2]|0)==0:0):0)?(k[(k[qa>>2]|0)+64>>2]|0)==(k[(k[(k[wa>>2]|0)+16>>2]|0)+16+12>>2]|0):0)k[oa>>2]=1;mC(y,k[G>>2]|0,k[oa>>2]|0,33158,k[Y>>2]|0);nC(y,k[ta>>2]|0)|0;y=zx(k[G>>2]|0,0,(k[ta>>2]|0)+8|0)|0;k[qa>>2]=y;if(!(k[qa>>2]|0))break;if((k[oa>>2]|0)==1?(k[(k[(k[wa>>2]|0)+16>>2]|0)+(k[oa>>2]<<4)+12>>2]|0)!=(k[(k[qa>>2]|0)+64>>2]|0):0){sa=k[G>>2]|0;k[z>>2]=k[k[qa>>2]>>2];Oh(sa,36473,z);break}if(l[(k[qa>>2]|0)+42>>0]&32){z=Tj(k[qa>>2]|0)|0;k[Z>>2]=z}}else{k[qa>>2]=k[p+440>>2];if(!(k[qa>>2]|0))break;z=Ph(k[wa>>2]|0,k[(k[qa>>2]|0)+64>>2]|0)|0;k[oa>>2]=z}k[V>>2]=(k[(k[wa>>2]|0)+16>>2]|0)+(k[oa>>2]<<4);if(((Jd(k[k[qa>>2]>>2]|0,27844,7)|0)==0?(l[(k[wa>>2]|0)+148+5>>0]|0)==0:0)?(Jd((k[k[qa>>2]>>2]|0)+7|0,36523,9)|0)!=0:0){sa=k[G>>2]|0;k[D>>2]=k[k[qa>>2]>>2];Oh(sa,36533,D);break}if(k[(k[qa>>2]|0)+12>>2]|0){Oh(k[G>>2]|0,36561,E);break}if(l[(k[qa>>2]|0)+42>>0]&16){Oh(k[G>>2]|0,36586,A);break}if(k[Y>>2]|0){E=bx(k[wa>>2]|0,k[Y>>2]|0)|0;k[ya>>2]=E;if(!(k[ya>>2]|0))break;if(ay(k[G>>2]|0,k[ya>>2]|0)|0)break;if((i[(k[wa>>2]|0)+148+5>>0]|0)==0?(Di(k[wa>>2]|0,k[ya>>2]|0,0)|0)!=0:0){sa=k[G>>2]|0;k[B>>2]=k[ya>>2];Oh(sa,36620,B);break}if(Uj(k[wa>>2]|0,k[ya>>2]|0,k[k[V>>2]>>2]|0)|0){p=k[G>>2]|0;if(k[J>>2]|0){Cx(p,k[oa>>2]|0);break}else{k[ba>>2]=k[ya>>2];Oh(p,36654,ba);break}}}else{k[w>>2]=k[(k[qa>>2]|0)+8>>2];k[u>>2]=1;while(1){if(!(k[w>>2]|0))break;k[w>>2]=k[(k[w>>2]|0)+20>>2];k[u>>2]=(k[u>>2]|0)+1}ba=k[wa>>2]|0;J=k[u>>2]|0;k[C>>2]=k[k[qa>>2]>>2];k[C+4>>2]=J;ba=Qh(ba,36678,C)|0;k[ya>>2]=ba;if(!(k[ya>>2]|0))break;if(i[(k[G>>2]|0)+410>>0]|0){ba=(k[ya>>2]|0)+7|0;i[ba>>0]=(i[ba>>0]|0)+1<<24>>24}}k[F>>2]=k[k[V>>2]>>2];if((kx(k[G>>2]|0,18,(k[oa>>2]|0)==1?19905:19924,0,k[F>>2]|0)|0)==0?(k[K>>2]=1,k[K>>2]=(k[oa>>2]|0)==1?3:1,(kx(k[G>>2]|0,k[K>>2]|0,k[ya>>2]|0,k[k[qa>>2]>>2]|0,k[F>>2]|0)|0)==0):0){if(!(k[ua>>2]|0)){fz(x,k[(k[(k[qa>>2]|0)+4>>2]|0)+((j[(k[qa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);ba=k[G>>2]|0;ba=bw(ba,0,tw(k[wa>>2]|0,55,x,0)|0)|0;k[ua>>2]=ba;if(!(k[ua>>2]|0))break;kw(k[ua>>2]|0,k[t>>2]|0)}else nw(k[G>>2]|0,k[ua>>2]|0,33158);k[K>>2]=0;while(1){if((k[K>>2]|0)>=(k[k[ua>>2]>>2]|0))break;k[v>>2]=k[(k[(k[ua>>2]|0)+4>>2]|0)+((k[K>>2]|0)*20|0)>>2];if((l[k[v>>2]>>0]|0)==53){ba=1+(Tf(k[(k[v>>2]|0)+8>>2]|0)|0)|0;k[Q>>2]=(k[Q>>2]|0)+ba}k[K>>2]=(k[K>>2]|0)+1}ba=Tf(k[ya>>2]|0)|0;k[S>>2]=ba;if(k[Z>>2]|0)p=m[(k[Z>>2]|0)+50>>1]|0;else p=1;k[R>>2]=p;ba=uE(k[wa>>2]|0,(k[k[ua>>2]>>2]|0)+(k[R>>2]|0)&65535,(k[S>>2]|0)+(k[Q>>2]|0)+1|0,la)|0;k[xa>>2]=ba;if(!(i[(k[wa>>2]|0)+69>>0]|0)){k[k[xa>>2]>>2]=k[la>>2];k[la>>2]=(k[la>>2]|0)+((k[S>>2]|0)+1);bS(k[k[xa>>2]>>2]|0,k[ya>>2]|0,(k[S>>2]|0)+1|0)|0;k[(k[xa>>2]|0)+12>>2]=k[qa>>2];i[(k[xa>>2]|0)+54>>0]=k[na>>2];ba=(k[xa>>2]|0)+55|0;i[ba>>0]=i[ba>>0]&-9|((k[na>>2]|0)!=0&1)<<3&255;ba=(k[xa>>2]|0)+55|0;i[ba>>0]=i[ba>>0]&-4|l[H>>0]&3;k[(k[xa>>2]|0)+24>>2]=k[(k[(k[wa>>2]|0)+16>>2]|0)+(k[oa>>2]<<4)+12>>2];j[(k[xa>>2]|0)+50>>1]=k[k[ua>>2]>>2];if(k[va>>2]|0){LH(k[G>>2]|0,k[qa>>2]|0,2,k[va>>2]|0,0);k[(k[xa>>2]|0)+36>>2]=k[va>>2];k[va>>2]=0}if((l[(k[(k[V>>2]|0)+12>>2]|0)+76>>0]|0)>=4)k[$>>2]=-1;else k[$>>2]=0;k[K>>2]=0;k[X>>2]=k[(k[ua>>2]|0)+4>>2];while(1){if((k[K>>2]|0)>=(k[k[ua>>2]>>2]|0))break;MH(k[k[X>>2]>>2]|0);LH(k[G>>2]|0,k[qa>>2]|0,32,k[k[X>>2]>>2]|0,0);if(k[(k[G>>2]|0)+36>>2]|0)break a;ba=uy(k[k[X>>2]>>2]|0)|0;k[T>>2]=ba;if((l[k[T>>2]>>0]|0)!=152){if((k[qa>>2]|0)==(k[(k[G>>2]|0)+440>>2]|0)){sa=68;break}do if(!(k[(k[xa>>2]|0)+40>>2]|0)){ba=_y(k[wa>>2]|0,k[ua>>2]|0,0)|0;k[U>>2]=ba;k[(k[xa>>2]|0)+40>>2]=k[U>>2];if(i[(k[wa>>2]|0)+69>>0]|0)break;k[X>>2]=(k[(k[U>>2]|0)+4>>2]|0)+((k[K>>2]|0)*20|0)}while(0);k[M>>2]=-2;j[(k[(k[xa>>2]|0)+4>>2]|0)+(k[K>>2]<<1)>>1]=-2;ba=(k[xa>>2]|0)+55|0;i[ba>>0]=i[ba>>0]&-9}else{k[M>>2]=j[(k[T>>2]|0)+32>>1];do if((k[M>>2]|0)<0)k[M>>2]=j[(k[qa>>2]|0)+32>>1];else{if(l[(k[(k[qa>>2]|0)+4>>2]|0)+(k[M>>2]<<4)+12>>0]|0)break;ba=(k[xa>>2]|0)+55|0;i[ba>>0]=i[ba>>0]&-9}while(0);j[(k[(k[xa>>2]|0)+4>>2]|0)+(k[K>>2]<<1)>>1]=k[M>>2]}k[ka>>2]=0;do if((l[k[k[X>>2]>>2]>>0]|0)==53){k[ka>>2]=k[(k[k[X>>2]>>2]|0)+8>>2];ba=(Tf(k[ka>>2]|0)|0)+1|0;k[P>>2]=ba;bS(k[la>>2]|0,k[ka>>2]|0,k[P>>2]|0)|0;k[ka>>2]=k[la>>2];k[la>>2]=(k[la>>2]|0)+(k[P>>2]|0);k[Q>>2]=(k[Q>>2]|0)-(k[P>>2]|0)}else{if((k[M>>2]|0)<0)break;k[ka>>2]=k[(k[(k[qa>>2]|0)+4>>2]|0)+(k[M>>2]<<4)+8>>2]}while(0);if(!(k[ka>>2]|0))k[ka>>2]=34834;if((i[(k[wa>>2]|0)+148+5>>0]|0)==0?(fA(k[G>>2]|0,k[ka>>2]|0)|0)==0:0)break a;k[(k[(k[xa>>2]|0)+32>>2]|0)+(k[K>>2]<<2)>>2]=k[ka>>2];k[_>>2]=l[(k[X>>2]|0)+12>>0]&k[$>>2];i[(k[(k[xa>>2]|0)+28>>2]|0)+(k[K>>2]|0)>>0]=k[_>>2];k[K>>2]=(k[K>>2]|0)+1;k[X>>2]=(k[X>>2]|0)+20}if((sa|0)==68){Oh(k[G>>2]|0,36701,ca);break}b:do if(k[Z>>2]|0){k[M>>2]=0;while(1){if((k[M>>2]|0)>=(m[(k[Z>>2]|0)+50>>1]|0))break b;k[ha>>2]=j[(k[(k[Z>>2]|0)+4>>2]|0)+(k[M>>2]<<1)>>1];if(NH(k[(k[xa>>2]|0)+4>>2]|0,m[(k[xa>>2]|0)+50>>1]|0,k[ha>>2]|0)|0){la=(k[xa>>2]|0)+52|0;j[la>>1]=(j[la>>1]|0)+-1<<16>>16}else{j[(k[(k[xa>>2]|0)+4>>2]|0)+(k[K>>2]<<1)>>1]=k[ha>>2];k[(k[(k[xa>>2]|0)+32>>2]|0)+(k[K>>2]<<2)>>2]=k[(k[(k[Z>>2]|0)+32>>2]|0)+(k[M>>2]<<2)>>2];i[(k[(k[xa>>2]|0)+28>>2]|0)+(k[K>>2]|0)>>0]=i[(k[(k[Z>>2]|0)+28>>2]|0)+(k[M>>2]|0)>>0]|0;k[K>>2]=(k[K>>2]|0)+1}k[M>>2]=(k[M>>2]|0)+1}}else{j[(k[(k[xa>>2]|0)+4>>2]|0)+(k[K>>2]<<1)>>1]=-1;k[(k[(k[xa>>2]|0)+32>>2]|0)+(k[K>>2]<<2)>>2]=34834}while(0);Sj(k[xa>>2]|0);if(!(k[(k[G>>2]|0)+440>>2]|0))OH(k[xa>>2]|0);c:do if(k[ta>>2]|0){if((m[(k[xa>>2]|0)+52>>1]|0)<(j[(k[qa>>2]|0)+34>>1]|0))break;la=(k[xa>>2]|0)+55|0;i[la>>0]=i[la>>0]&-33|32;k[M>>2]=0;while(1){if((k[M>>2]|0)>=(j[(k[qa>>2]|0)+34>>1]|0))break c;if((k[M>>2]|0)!=(j[(k[qa>>2]|0)+32>>1]|0)?((YA(k[xa>>2]|0,k[M>>2]&65535)|0)<<16>>16|0)<0:0)break;k[M>>2]=(k[M>>2]|0)+1}la=(k[xa>>2]|0)+55|0;i[la>>0]=i[la>>0]&-33}while(0);d:do if((k[qa>>2]|0)==(k[(k[G>>2]|0)+440>>2]|0)){k[W>>2]=k[(k[qa>>2]|0)+8>>2];while(1){if(!(k[W>>2]|0))break d;if((m[(k[W>>2]|0)+50>>1]|0)==(m[(k[xa>>2]|0)+50>>1]|0)){k[N>>2]=0;while(1){if((k[N>>2]|0)>=(m[(k[W>>2]|0)+50>>1]|0))break;if((j[(k[(k[W>>2]|0)+4>>2]|0)+(k[N>>2]<<1)>>1]|0)!=(j[(k[(k[xa>>2]|0)+4>>2]|0)+(k[N>>2]<<1)>>1]|0))break;k[ia>>2]=k[(k[(k[W>>2]|0)+32>>2]|0)+(k[N>>2]<<2)>>2];k[ja>>2]=k[(k[(k[xa>>2]|0)+32>>2]|0)+(k[N>>2]<<2)>>2];if(sg(k[ia>>2]|0,k[ja>>2]|0)|0)break;k[N>>2]=(k[N>>2]|0)+1}if((k[N>>2]|0)==(m[(k[W>>2]|0)+50>>1]|0))break}k[W>>2]=k[(k[W>>2]|0)+20>>2]}do if((l[(k[W>>2]|0)+54>>0]|0)!=(l[(k[xa>>2]|0)+54>>0]|0)){do if((l[(k[W>>2]|0)+54>>0]|0)!=10){if((l[(k[xa>>2]|0)+54>>0]|0)==10)break;sa=k[G>>2]|0;k[da>>2]=0;Oh(sa,36762,da)}while(0);if((l[(k[W>>2]|0)+54>>0]|0)!=10)break;i[(k[W>>2]|0)+54>>0]=i[(k[xa>>2]|0)+54>>0]|0}while(0);if((l[H>>0]|0)!=2)break a;sa=(k[W>>2]|0)+55|0;i[sa>>0]=i[sa>>0]&-4|l[H>>0]&3;break a}while(0);do if(i[(k[wa>>2]|0)+148+5>>0]|0){p=ck((k[(k[xa>>2]|0)+24>>2]|0)+24|0,k[k[xa>>2]>>2]|0,k[xa>>2]|0)|0;k[pa>>2]=p;p=k[wa>>2]|0;if(k[pa>>2]|0){wh(p);break a}pa=p+24|0;k[pa>>2]=k[pa>>2]|2;if(!(k[ta>>2]|0))break;k[(k[xa>>2]|0)+44>>2]=k[(k[wa>>2]|0)+148>>2]}else{if(!((k[ta>>2]|0)!=0?1:(l[(k[qa>>2]|0)+42>>0]&32|0)==0))break;la=(k[G>>2]|0)+44|0;pa=(k[la>>2]|0)+1|0;k[la>>2]=pa;k[L>>2]=pa;pa=nx(k[G>>2]|0)|0;k[aa>>2]=pa;if(!(k[aa>>2]|0))break a;Bx(k[G>>2]|0,1,k[oa>>2]|0);pa=px(k[aa>>2]|0,161)|0;k[(k[xa>>2]|0)+44>>2]=pa;sx(k[aa>>2]|0,134,k[oa>>2]|0,k[L>>2]|0)|0;if(k[I>>2]|0){k[O>>2]=(k[(k[G>>2]|0)+392>>2]|0)-(k[k[Y>>2]>>2]|0)+(k[(k[G>>2]|0)+392+4>>2]|0);if((i[(k[k[Y>>2]>>2]|0)+((k[O>>2]|0)-1)>>0]|0)==59)k[O>>2]=(k[O>>2]|0)+-1;pa=k[wa>>2]|0;ka=k[O>>2]|0;la=k[k[Y>>2]>>2]|0;k[ea>>2]=(k[na>>2]|0)==0?18402:36804;k[ea+4>>2]=ka;k[ea+8>>2]=la;pa=Qh(pa,36812,ea)|0;k[ma>>2]=pa}else k[ma>>2]=0;pa=k[G>>2]|0;ha=(k[oa>>2]|0)==1?19905:19924;ia=k[k[xa>>2]>>2]|0;ja=k[k[qa>>2]>>2]|0;ka=k[L>>2]|0;la=k[ma>>2]|0;k[fa>>2]=k[(k[(k[wa>>2]|0)+16>>2]|0)+(k[oa>>2]<<4)>>2];k[fa+4>>2]=ha;k[fa+8>>2]=ia;k[fa+12>>2]=ja;k[fa+16>>2]=ka;k[fa+20>>2]=la;mx(pa,36832,fa);bg(k[wa>>2]|0,k[ma>>2]|0);if(k[ta>>2]|0){wA(k[G>>2]|0,k[xa>>2]|0,k[L>>2]|0);ox(k[G>>2]|0,k[oa>>2]|0);ma=k[aa>>2]|0;oa=k[oa>>2]|0;pa=k[wa>>2]|0;k[ga>>2]=k[k[xa>>2]>>2];qx(ma,oa,Qh(pa,36880,ga)|0);px(k[aa>>2]|0,150)|0}hA(k[aa>>2]|0,k[(k[xa>>2]|0)+44>>2]|0)}while(0);if(!((k[ta>>2]|0)==0?1:(l[(k[wa>>2]|0)+148+5>>0]|0)!=0))break;do if((k[na>>2]|0)!=5)sa=143;else{if(!(k[(k[qa>>2]|0)+8>>2]|0)){sa=143;break}if((l[(k[(k[qa>>2]|0)+8>>2]|0)+54>>0]|0)==5){sa=143;break}k[ra>>2]=k[(k[qa>>2]|0)+8>>2];while(1){if(k[(k[ra>>2]|0)+20>>2]|0)o=(l[(k[(k[ra>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else o=0;p=k[(k[ra>>2]|0)+20>>2]|0;if(!o)break;k[ra>>2]=p}k[(k[xa>>2]|0)+20>>2]=p;k[(k[ra>>2]|0)+20>>2]=k[xa>>2]}while(0);if((sa|0)==143){k[(k[xa>>2]|0)+20>>2]=k[(k[qa>>2]|0)+8>>2];k[(k[qa>>2]|0)+8>>2]=k[xa>>2]}k[xa>>2]=0}}}}while(0);if(!(k[xa>>2]|0)){sa=k[wa>>2]|0;xa=k[va>>2]|0;sv(sa,xa);xa=k[wa>>2]|0;va=k[ua>>2]|0;ov(xa,va);va=k[wa>>2]|0;xa=k[ta>>2]|0;rv(va,xa);xa=k[wa>>2]|0;ya=k[ya>>2]|0;bg(xa,ya);r=za;return}PH(k[wa>>2]|0,k[xa>>2]|0);sa=k[wa>>2]|0;xa=k[va>>2]|0;sv(sa,xa);xa=k[wa>>2]|0;va=k[ua>>2]|0;ov(xa,va);va=k[wa>>2]|0;xa=k[ta>>2]|0;rv(va,xa);xa=k[wa>>2]|0;ya=k[ya>>2]|0;bg(xa,ya);r=za;return}function Tv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+440>>2];k[e>>2]=k[k[c>>2]>>2];if(((k[f>>2]|0)!=0?(i[(k[c>>2]|0)+410>>0]|0)==0:0)?(Ti(k[(k[(k[e>>2]|0)+16>>2]|0)+(l[(k[e>>2]|0)+148+4>>0]<<4)+4>>2]|0)|0)==0:0){a=bw(k[c>>2]|0,k[(k[f>>2]|0)+24>>2]|0,k[d>>2]|0)|0;k[(k[f>>2]|0)+24>>2]=a;if(!(k[(k[c>>2]|0)+84+4>>2]|0)){r=g;return}cw(k[c>>2]|0,k[(k[f>>2]|0)+24>>2]|0,(k[c>>2]|0)+84|0,1);r=g;return}sv(k[k[c>>2]>>2]|0,k[d>>2]|0);r=g;return}function Uv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;B=E+16|0;n=E+8|0;m=E;o=E+80|0;p=E+76|0;f=E+72|0;q=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;h=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;g=E+28|0;v=E+24|0;w=E+20|0;k[o>>2]=a;k[p>>2]=b;k[f>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=k[k[o>>2]>>2];k[z>>2]=0;k[y>>2]=k[(k[o>>2]|0)+440>>2];a:do if((k[y>>2]|0)!=0?(l[(k[o>>2]|0)+410>>0]|0)==0:0){if(!(k[p>>2]|0)){k[g>>2]=(j[(k[y>>2]|0)+34>>1]|0)-1;if((k[g>>2]|0)<0)break;if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=1:0){D=k[o>>2]|0;C=k[f>>2]|0;k[m>>2]=k[(k[(k[y>>2]|0)+4>>2]|0)+(k[g>>2]<<4)>>2];k[m+4>>2]=C;Oh(D,36270,m);break}k[x>>2]=1}else{if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=(k[k[p>>2]>>2]|0):0){Oh(k[o>>2]|0,36333,n);break}k[x>>2]=k[k[p>>2]>>2]}k[h>>2]=44+((k[x>>2]|0)-1<<3)+(k[(k[f>>2]|0)+4>>2]|0)+1;b:do if(k[q>>2]|0){k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[k[q>>2]>>2]|0))break b;n=(Tf(k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;k[h>>2]=(k[h>>2]|0)+n;k[u>>2]=(k[u>>2]|0)+1}}while(0);n=k[h>>2]|0;n=Ch(k[t>>2]|0,n,((n|0)<0)<<31>>31)|0;k[z>>2]=n;if(k[z>>2]|0){k[k[z>>2]>>2]=k[y>>2];k[(k[z>>2]|0)+4>>2]=k[(k[y>>2]|0)+16>>2];k[C>>2]=(k[z>>2]|0)+36+(k[x>>2]<<3);k[(k[z>>2]|0)+8>>2]=k[C>>2];bS(k[C>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;i[(k[C>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)>>0]=0;hx(k[C>>2]|0);k[C>>2]=(k[C>>2]|0)+((k[(k[f>>2]|0)+4>>2]|0)+1);k[(k[z>>2]|0)+20>>2]=k[x>>2];c:do if(!(k[p>>2]|0))k[(k[z>>2]|0)+36>>2]=(j[(k[y>>2]|0)+34>>1]|0)-1;else{k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[x>>2]|0))break c;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(j[(k[y>>2]|0)+34>>1]|0))break;n=(sg(k[(k[(k[y>>2]|0)+4>>2]|0)+(k[v>>2]<<4)>>2]|0,k[(k[(k[p>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0)==0;f=k[v>>2]|0;if(n){D=25;break}k[v>>2]=f+1}if((D|0)==25){D=0;k[(k[z>>2]|0)+36+(k[u>>2]<<3)>>2]=f}if((k[v>>2]|0)>=(j[(k[y>>2]|0)+34>>1]|0))break;k[u>>2]=(k[u>>2]|0)+1}D=k[o>>2]|0;k[B>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2];Oh(D,36427,B);break a}while(0);d:do if(k[q>>2]|0){k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[x>>2]|0))break d;D=Tf(k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0;k[w>>2]=D;k[(k[z>>2]|0)+36+(k[u>>2]<<3)+4>>2]=k[C>>2];bS(k[C>>2]|0,k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0,k[w>>2]|0)|0;i[(k[C>>2]|0)+(k[w>>2]|0)>>0]=0;k[C>>2]=(k[C>>2]|0)+((k[w>>2]|0)+1);k[u>>2]=(k[u>>2]|0)+1}}while(0);i[(k[z>>2]|0)+24>>0]=0;i[(k[z>>2]|0)+25>>0]=k[s>>2];i[(k[z>>2]|0)+25+1>>0]=k[s>>2]>>8;D=ck((k[(k[y>>2]|0)+64>>2]|0)+56|0,k[(k[z>>2]|0)+8>>2]|0,k[z>>2]|0)|0;k[A>>2]=D;if((k[A>>2]|0)==(k[z>>2]|0)){wh(k[t>>2]|0);break}if(k[A>>2]|0){k[(k[z>>2]|0)+12>>2]=k[A>>2];k[(k[A>>2]|0)+16>>2]=k[z>>2]}k[(k[y>>2]|0)+16>>2]=k[z>>2];k[z>>2]=0}}while(0);bg(k[t>>2]|0,k[z>>2]|0);ov(k[t>>2]|0,k[p>>2]|0);ov(k[t>>2]|0,k[q>>2]|0);r=E;return}function Vv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;a=k[(k[g>>2]|0)+440>>2]|0;k[e>>2]=a;if(!a){r=f;return}g=k[(k[e>>2]|0)+16>>2]|0;k[d>>2]=g;if(!g){r=f;return}i[(k[d>>2]|0)+24>>0]=k[c>>2];r=f;return}function Wv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=r;r=r+32|0;c=l+24|0;d=l+20|0;g=l+16|0;f=l+12|0;i=l+8|0;e=l+4|0;h=l;k[c>>2]=a;k[d>>2]=b;b=k[(k[c>>2]|0)+440>>2]|0;k[g>>2]=b;if(!b){r=l;return}k[f>>2]=(j[(k[g>>2]|0)+34>>1]|0)-1;k[e>>2]=k[k[c>>2]>>2];b=bx(k[e>>2]|0,k[d>>2]|0)|0;k[i>>2]=b;if(!(k[i>>2]|0)){r=l;return}b=(fA(k[c>>2]|0,k[i>>2]|0)|0)!=0;c=k[e>>2]|0;if(!b){bg(c,k[i>>2]|0);r=l;return}bg(c,k[(k[(k[g>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2]|0);k[(k[(k[g>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2]=k[i>>2];k[h>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if((j[k[(k[h>>2]|0)+4>>2]>>1]|0)==(k[f>>2]|0))k[k[(k[h>>2]|0)+32>>2]>>2]=k[(k[(k[g>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2];k[h>>2]=k[(k[h>>2]|0)+20>>2]}r=l;return}function Xv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;t=x+16|0;s=x+8|0;q=x;e=x+64|0;f=x+60|0;g=x+56|0;h=x+52|0;o=x+48|0;p=x+44|0;m=x+40|0;n=x+36|0;j=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[m>>2]=k[k[e>>2]>>2];do if((i[(k[m>>2]|0)+69>>0]|0)==0?(Uz(k[e>>2]|0)|0)==0:0){if(k[h>>2]|0){a=(k[m>>2]|0)+73|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}a=zx(k[e>>2]|0,k[g>>2]|0,(k[f>>2]|0)+8|0)|0;k[o>>2]=a;if(k[h>>2]|0){a=(k[m>>2]|0)+73|0;i[a>>0]=(i[a>>0]|0)+-1<<24>>24}if(!(k[o>>2]|0)){if(!(k[h>>2]|0))break;hC(k[e>>2]|0,k[(k[f>>2]|0)+8+4>>2]|0);break}a=Ph(k[m>>2]|0,k[(k[o>>2]|0)+64>>2]|0)|0;k[n>>2]=a;if((l[(k[o>>2]|0)+42>>0]&16|0)!=0?(by(k[e>>2]|0,k[o>>2]|0)|0)!=0:0)break;k[w>>2]=(k[n>>2]|0)==1?19905:19924;k[v>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+(k[n>>2]<<4)>>2];k[u>>2]=0;if(!(kx(k[e>>2]|0,9,k[w>>2]|0,0,k[v>>2]|0)|0)){do if(k[g>>2]|0)if((k[n>>2]|0)==1){k[j>>2]=15;break}else{k[j>>2]=17;break}else{if(l[(k[o>>2]|0)+42>>0]&16){k[j>>2]=30;w=(cy(k[m>>2]|0,k[o>>2]|0)|0)+4|0;k[u>>2]=k[(k[w>>2]|0)+4>>2];break}if((k[n>>2]|0)==1){k[j>>2]=13;break}else{k[j>>2]=11;break}}while(0);if((kx(k[e>>2]|0,k[j>>2]|0,k[k[o>>2]>>2]|0,k[u>>2]|0,k[v>>2]|0)|0)==0?(kx(k[e>>2]|0,9,k[k[o>>2]>>2]|0,0,k[v>>2]|0)|0)==0:0){if((Jd(k[k[o>>2]>>2]|0,27844,7)|0)==0?(Jd(k[k[o>>2]>>2]|0,36063,11)|0)!=0:0){w=k[e>>2]|0;k[q>>2]=k[k[o>>2]>>2];Oh(w,36075,q);break}if((k[g>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)==0:0){w=k[e>>2]|0;k[s>>2]=k[k[o>>2]>>2];Oh(w,36103,s);break}if((k[g>>2]|0)==0?(k[(k[o>>2]|0)+12>>2]|0)!=0:0){w=k[e>>2]|0;k[t>>2]=k[k[o>>2]>>2];Oh(w,36137,t);break}w=nx(k[e>>2]|0)|0;k[p>>2]=w;if(k[p>>2]|0){Bx(k[e>>2]|0,1,k[n>>2]|0);_C(k[e>>2]|0,k[n>>2]|0,30858,k[k[o>>2]>>2]|0);GH(k[e>>2]|0,k[f>>2]|0,k[o>>2]|0);HH(k[e>>2]|0,k[o>>2]|0,k[n>>2]|0,k[g>>2]|0)}}}}while(0);rv(k[m>>2]|0,k[f>>2]|0);r=x;return}function Yv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+96|0;w=D+88|0;m=D+84|0;n=D+80|0;o=D+76|0;x=D+72|0;y=D+68|0;p=D+64|0;q=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;k[w>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[x>>2]=e;k[y>>2]=f;k[p>>2]=g;k[q>>2]=h;k[u>>2]=0;k[z>>2]=k[k[w>>2]>>2];g=k[w>>2]|0;if((j[(k[w>>2]|0)+400>>1]|0)<=0){Jv(g,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,1,0,k[q>>2]|0);k[t>>2]=k[(k[w>>2]|0)+440>>2];if((((k[t>>2]|0)!=0?(k[(k[w>>2]|0)+36>>2]|0)==0:0)?(Yz(k[w>>2]|0,k[n>>2]|0,k[o>>2]|0,u)|0,q=Ph(k[z>>2]|0,k[(k[t>>2]|0)+64>>2]|0)|0,k[s>>2]=q,mC(v,k[w>>2]|0,k[s>>2]|0,36058,k[u>>2]|0),(oC(v,k[y>>2]|0)|0)==0):0)?(v=iy(k[z>>2]|0,k[y>>2]|0,1)|0,k[(k[t>>2]|0)+12>>2]=v,v=_y(k[z>>2]|0,k[x>>2]|0,1)|0,k[(k[t>>2]|0)+24>>2]=v,(i[(k[z>>2]|0)+69>>0]|0)==0):0){v=(k[w>>2]|0)+392|0;k[B>>2]=k[v>>2];k[B+4>>2]=k[v+4>>2];if((i[k[B>>2]>>0]|0)!=59)k[B>>2]=(k[B>>2]|0)+(k[B+4>>2]|0);k[B+4>>2]=0;k[A>>2]=(k[B>>2]|0)-(k[k[m>>2]>>2]|0);k[C>>2]=k[k[m>>2]>>2];while(1){g=k[A>>2]|0;if(!(l[18403+(l[(k[C>>2]|0)+((k[A>>2]|0)-1)>>0]|0)>>0]&1))break;k[A>>2]=g+-1}k[B>>2]=(k[C>>2]|0)+(g-1);k[B+4>>2]=1;Lv(k[w>>2]|0,0,B,0,0)}}else Oh(g,36022,D);pv(k[z>>2]|0,k[y>>2]|0);ov(k[z>>2]|0,k[x>>2]|0);r=D;return}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=r;r=r+432|0;w=Ca;N=Ca+412|0;O=Ca+408|0;P=Ca+404|0;Q=Ca+400|0;_=Ca+396|0;fa=Ca+392|0;pa=Ca+388|0;Ba=Ca+384|0;f=Ca+380|0;ka=Ca+376|0;oa=Ca+372|0;L=Ca+368|0;la=Ca+364|0;ma=Ca+360|0;ra=Ca+356|0;xa=Ca+344|0;ya=Ca+312|0;wa=Ca+264|0;ca=Ca+260|0;Y=Ca+256|0;da=Ca+252|0;n=Ca+248|0;q=Ca+244|0;g=Ca+240|0;t=Ca+236|0;o=Ca+232|0;e=Ca+208|0;s=Ca+204|0;d=Ca+200|0;v=Ca+196|0;h=Ca+192|0;u=Ca+188|0;p=Ca+184|0;x=Ca+416|0;M=Ca+152|0;$=Ca+148|0;ba=Ca+144|0;ea=Ca+140|0;aa=Ca+136|0;Z=Ca+132|0;S=Ca+128|0;Aa=Ca+124|0;za=Ca+120|0;ia=Ca+116|0;z=Ca+112|0;A=Ca+108|0;na=Ca+104|0;R=Ca+100|0;T=Ca+96|0;ta=Ca+92|0;V=Ca+88|0;X=Ca+84|0;W=Ca+80|0;U=Ca+76|0;va=Ca+72|0;sa=Ca+68|0;ua=Ca+64|0;ga=Ca+60|0;ha=Ca+56|0;ja=Ca+52|0;qa=Ca+48|0;G=Ca+44|0;K=Ca+40|0;D=Ca+36|0;C=Ca+32|0;H=Ca+28|0;I=Ca+24|0;F=Ca+20|0;E=Ca+16|0;J=Ca+12|0;B=Ca+418|0;k[O>>2]=a;k[P>>2]=b;k[Q>>2]=c;k[ka>>2]=0;k[ra>>2]=1;k[da>>2]=k[(k[O>>2]|0)+420>>2];c=(k[O>>2]|0)+424|0;a=k[c>>2]|0;k[c>>2]=a+1;k[(k[O>>2]|0)+420>>2]=a;k[Y>>2]=k[k[O>>2]>>2];if(((k[P>>2]|0)!=0?(l[(k[Y>>2]|0)+69>>0]|0)==0:0)?(k[(k[O>>2]|0)+36>>2]|0)==0:0){if(kx(k[O>>2]|0,21,0,0,0)|0){k[N>>2]=1;Ba=k[N>>2]|0;r=Ca;return Ba|0}b=wa;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if((l[k[Q>>2]>>0]|0)<=8){ov(k[Y>>2]|0,k[(k[P>>2]|0)+44>>2]|0);k[(k[P>>2]|0)+44>>2]=0;a=(k[P>>2]|0)+8|0;k[a>>2]=k[a>>2]&-2}wy(k[O>>2]|0,k[P>>2]|0,0);k[ya>>2]=0;k[ya+4>>2]=0;k[ya+8>>2]=0;k[ya+12>>2]=0;k[ya+16>>2]=0;k[ya+20>>2]=0;k[ya+24>>2]=0;k[ya+28>>2]=0;k[ya>>2]=k[(k[P>>2]|0)+44>>2];k[oa>>2]=k[(k[P>>2]|0)+28>>2];a:do if((k[(k[O>>2]|0)+36>>2]|0)==0?(l[(k[Y>>2]|0)+69>>0]|0)==0:0){k[f>>2]=(k[(k[P>>2]|0)+8>>2]&8|0)!=0&1;k[_>>2]=0;while(1){if(k[(k[P>>2]|0)+48>>2]|0)break;if((k[_>>2]|0)>=(k[k[oa>>2]>>2]|0))break;k[n>>2]=(k[oa>>2]|0)+8+((k[_>>2]|0)*72|0);k[q>>2]=k[(k[n>>2]|0)+20>>2];k[t>>2]=k[(k[n>>2]|0)+16>>2];if(k[q>>2]|0){if((j[(k[t>>2]|0)+34>>1]|0)!=(k[k[k[q>>2]>>2]>>2]|0)){y=16;break}k[g>>2]=(k[(k[q>>2]|0)+8>>2]&8|0)!=0&1;if(OG(k[O>>2]|0,k[P>>2]|0,k[_>>2]|0,k[f>>2]|0,k[g>>2]|0)|0){if(k[g>>2]|0){k[f>>2]=1;a=(k[P>>2]|0)+8|0;k[a>>2]=k[a>>2]|8}k[_>>2]=-1}k[oa>>2]=k[(k[P>>2]|0)+28>>2];if(i[(k[Y>>2]|0)+69>>0]|0)break a;if((l[k[Q>>2]>>0]|0)>8)k[ya>>2]=k[(k[P>>2]|0)+44>>2]}k[_>>2]=(k[_>>2]|0)+1}if((y|0)==16){Ba=k[O>>2]|0;za=k[k[t>>2]>>2]|0;Aa=k[k[k[q>>2]>>2]>>2]|0;k[w>>2]=j[(k[t>>2]|0)+34>>1];k[w+4>>2]=za;k[w+8>>2]=Aa;Oh(Ba,35609,w);break}w=nx(k[O>>2]|0)|0;k[Ba>>2]=w;if(k[Ba>>2]|0){if(k[(k[P>>2]|0)+48>>2]|0){Ba=PG(k[O>>2]|0,k[P>>2]|0,k[Q>>2]|0)|0;k[ra>>2]=Ba;k[(k[O>>2]|0)+420>>2]=k[da>>2];k[N>>2]=k[ra>>2];Ba=k[N>>2]|0;r=Ca;return Ba|0}k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[k[oa>>2]>>2]|0))break;k[o>>2]=(k[oa>>2]|0)+8+((k[_>>2]|0)*72|0);k[s>>2]=k[(k[o>>2]|0)+20>>2];do if(k[s>>2]|0){if(k[(k[o>>2]|0)+24>>2]|0){if((l[(k[o>>2]|0)+36+1>>0]|0)>>>4&1)break;sx(k[Ba>>2]|0,14,k[(k[o>>2]|0)+28>>2]|0,k[(k[o>>2]|0)+24>>2]|0)|0;break}t=QG(k[P>>2]|0)|0;w=(k[O>>2]|0)+416|0;k[w>>2]=(k[w>>2]|0)+t;if(!(l[(k[o>>2]|0)+36>>0]&32))RG(k[Y>>2]|0,k[s>>2]|0,k[(k[P>>2]|0)+32>>2]|0,k[(k[o>>2]|0)+44>>2]|0)|0;do if(!(k[_>>2]|0)){if((k[k[oa>>2]>>2]|0)!=1?(l[(k[oa>>2]|0)+8+72+36>>0]&10|0)==0:0){y=42;break}if(k[(k[P>>2]|0)+8>>2]&2){y=42;break}if(m[(k[Y>>2]|0)+64>>1]&256){y=42;break}t=(Gx(k[Ba>>2]|0)|0)+1|0;k[d>>2]=t;t=(k[O>>2]|0)+44|0;w=(k[t>>2]|0)+1|0;k[t>>2]=w;k[(k[o>>2]|0)+28>>2]=w;tx(k[Ba>>2]|0,15,k[(k[o>>2]|0)+28>>2]|0,0,k[d>>2]|0)|0;k[(k[o>>2]|0)+24>>2]=k[d>>2];FB(e,13,k[(k[o>>2]|0)+28>>2]|0);i[(k[o>>2]|0)+40>>0]=k[(k[O>>2]|0)+424>>2];Zv(k[O>>2]|0,k[s>>2]|0,e)|0;j[(k[(k[o>>2]|0)+16>>2]|0)+38>>1]=j[(k[s>>2]|0)+6>>1]|0;w=(k[o>>2]|0)+36+1|0;i[w>>0]=i[w>>0]&-17|16;k[(k[o>>2]|0)+32>>2]=k[e+12>>2];gD(k[Ba>>2]|0,k[(k[o>>2]|0)+28>>2]|0);hA(k[Ba>>2]|0,(k[d>>2]|0)-1|0);SG(k[O>>2]|0)}else y=42;while(0);if((y|0)==42){y=0;k[h>>2]=0;t=(k[O>>2]|0)+44|0;w=(k[t>>2]|0)+1|0;k[t>>2]=w;k[(k[o>>2]|0)+28>>2]=w;w=sx(k[Ba>>2]|0,76,0,k[(k[o>>2]|0)+28>>2]|0)|0;k[v>>2]=w;k[(k[o>>2]|0)+24>>2]=(k[v>>2]|0)+1;if(!((l[(k[o>>2]|0)+36+1>>0]|0)>>>3&1)){w=px(k[Ba>>2]|0,20)|0;k[h>>2]=w}FB(e,12,k[(k[o>>2]|0)+44>>2]|0);i[(k[o>>2]|0)+40>>0]=k[(k[O>>2]|0)+424>>2];Zv(k[O>>2]|0,k[s>>2]|0,e)|0;j[(k[(k[o>>2]|0)+16>>2]|0)+38>>1]=j[(k[s>>2]|0)+6>>1]|0;if(k[h>>2]|0)hA(k[Ba>>2]|0,k[h>>2]|0);w=aA(k[Ba>>2]|0,72,k[(k[o>>2]|0)+28>>2]|0)|0;k[u>>2]=w;gE(k[Ba>>2]|0,k[v>>2]|0,k[u>>2]|0);SG(k[O>>2]|0)}if(i[(k[Y>>2]|0)+69>>0]|0)break a;t=QG(k[P>>2]|0)|0;w=(k[O>>2]|0)+416|0;k[w>>2]=(k[w>>2]|0)-t}while(0);k[_>>2]=(k[_>>2]|0)+1}k[ka>>2]=k[k[P>>2]>>2];k[L>>2]=k[(k[P>>2]|0)+32>>2];k[la>>2]=k[(k[P>>2]|0)+36>>2];k[ma>>2]=k[(k[P>>2]|0)+40>>2];i[xa>>0]=(k[(k[P>>2]|0)+8>>2]&1|0)!=0;if((k[(k[P>>2]|0)+8>>2]&9|0)==1?(Vy(k[ya>>2]|0,k[ka>>2]|0,-1)|0)==0:0){y=(k[P>>2]|0)+8|0;k[y>>2]=k[y>>2]&-2;y=_y(k[Y>>2]|0,k[ka>>2]|0,0)|0;k[(k[P>>2]|0)+36>>2]=y;k[la>>2]=y}if(k[ya>>2]|0){w=TG(k[O>>2]|0,k[ya>>2]|0,0,k[k[ka>>2]>>2]|0)|0;k[p>>2]=w;w=(k[O>>2]|0)+40|0;y=k[w>>2]|0;k[w>>2]=y+1;k[ya+8>>2]=y;y=wx(k[Ba>>2]|0,107,k[ya+8>>2]|0,(k[k[ya>>2]>>2]|0)+1+(k[k[ka>>2]>>2]|0)|0,0,k[p>>2]|0,-6)|0;k[ya+20>>2]=y}else k[ya+20>>2]=-1;if((l[k[Q>>2]>>0]|0)==12)sx(k[Ba>>2]|0,107,k[(k[Q>>2]|0)+8>>2]|0,k[k[ka>>2]>>2]|0)|0;y=eA(k[Ba>>2]|0)|0;k[ca>>2]=y;j[(k[P>>2]|0)+6>>1]=320;UG(k[O>>2]|0,k[P>>2]|0,k[ca>>2]|0);if((k[(k[P>>2]|0)+12>>2]|0)==0?(k[ya+20>>2]|0)>=0:0){VG(k[Ba>>2]|0,k[ya+20>>2]|0,108);y=ya+28|0;i[y>>0]=l[y>>0]|1}if(k[(k[P>>2]|0)+8>>2]&1){y=(k[O>>2]|0)+40|0;w=k[y>>2]|0;k[y>>2]=w+1;k[xa+4>>2]=w;w=k[Ba>>2]|0;y=k[xa+4>>2]|0;y=wx(w,107,y,0,0,TG(k[O>>2]|0,k[k[P>>2]>>2]|0,0,0)|0,-6)|0;k[xa+8>>2]=y;Th(k[Ba>>2]|0,8);i[xa+1>>0]=3}else i[xa+1>>0]=0;if((k[f>>2]|0)==0&(k[la>>2]|0)==0){j[x>>1]=(l[xa>>0]|0)!=0?256:0;j[x>>1]=m[x>>1]|k[(k[P>>2]|0)+8>>2]&16384;Aa=AD(k[O>>2]|0,k[oa>>2]|0,k[L>>2]|0,k[ya>>2]|0,k[k[P>>2]>>2]|0,j[x>>1]|0,j[(k[P>>2]|0)+6>>1]|0)|0;k[pa>>2]=Aa;if(!(k[pa>>2]|0))break;Aa=(WG(k[pa>>2]|0)|0)<<16>>16;if((Aa|0)<(j[(k[P>>2]|0)+6>>1]|0)){Aa=WG(k[pa>>2]|0)|0;j[(k[P>>2]|0)+6>>1]=Aa}do if(l[xa>>0]|0){if(!(XG(k[pa>>2]|0)|0))break;Aa=(XG(k[pa>>2]|0)|0)&255;i[xa+1>>0]=Aa}while(0);do if(k[ya>>2]|0){Aa=YG(k[pa>>2]|0)|0;k[ya+4>>2]=Aa;Aa=(ZG(k[pa>>2]|0)|0)&255;i[ya+29>>0]=Aa;if((k[ya+4>>2]|0)!=(k[k[ya>>2]>>2]|0))break;k[ya>>2]=0}while(0);do if((k[ya+20>>2]|0)>=0){if(k[ya>>2]|0)break;RA(k[Ba>>2]|0,k[ya+20>>2]|0)|0}while(0);ta=k[O>>2]|0;ua=k[P>>2]|0;va=k[ka>>2]|0;za=k[Q>>2]|0;Aa=_G(k[pa>>2]|0)|0;aH(ta,ua,va,-1,ya,xa,za,Aa,$G(k[pa>>2]|0)|0);BD(k[pa>>2]|0)}else{k[Aa>>2]=0;k[za>>2]=0;k[ia>>2]=0;b=k[P>>2]|0;do if(k[la>>2]|0){k[z>>2]=k[k[b>>2]>>2];k[A>>2]=k[(k[k[P>>2]>>2]|0)+4>>2];while(1){if((k[z>>2]|0)<=0)break;j[(k[A>>2]|0)+16+2>>1]=0;k[z>>2]=(k[z>>2]|0)+-1;k[A>>2]=(k[A>>2]|0)+20}k[z>>2]=k[k[la>>2]>>2];k[A>>2]=k[(k[la>>2]|0)+4>>2];while(1){if((k[z>>2]|0)<=0)break;j[(k[A>>2]|0)+16+2>>1]=0;k[z>>2]=(k[z>>2]|0)+-1;k[A>>2]=(k[A>>2]|0)+20}if((j[(k[P>>2]|0)+6>>1]|0)<=66)break;j[(k[P>>2]|0)+6>>1]=66}else j[b+6>>1]=0;while(0);if(!(Vy(k[la>>2]|0,k[ya>>2]|0,-1)|0))k[ia>>2]=1;A=eA(k[Ba>>2]|0)|0;k[S>>2]=A;k[M>>2]=0;k[M+4>>2]=0;k[M+8>>2]=0;k[M+12>>2]=0;k[M+16>>2]=0;k[M+20>>2]=0;k[M+24>>2]=0;k[M+28>>2]=0;k[M>>2]=k[O>>2];k[M+4>>2]=k[oa>>2];k[M+12>>2]=wa;k[wa+16>>2]=(k[(k[O>>2]|0)+44>>2]|0)+1;if(k[la>>2]|0)b=k[k[la>>2]>>2]|0;else b=0;k[wa+12>>2]=b;k[wa+24>>2]=k[la>>2];bH(M,k[ka>>2]|0);bH(M,k[ya>>2]|0);if(k[ma>>2]|0)cH(M,k[ma>>2]|0);k[wa+36>>2]=k[wa+32>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[wa+44>>2]|0))break;A=M+28|0;j[A>>1]=m[A>>1]|8;bH(M,k[(k[(k[wa+40>>2]|0)+(k[_>>2]<<4)>>2]|0)+20>>2]|0);A=M+28|0;j[A>>1]=m[A>>1]&-9;k[_>>2]=(k[_>>2]|0)+1}k[wa+20>>2]=k[(k[O>>2]|0)+44>>2];if(i[(k[Y>>2]|0)+69>>0]|0)break;if(k[la>>2]|0){K=(k[O>>2]|0)+40|0;M=k[K>>2]|0;k[K>>2]=M+1;k[wa+4>>2]=M;M=TG(k[O>>2]|0,k[la>>2]|0,0,k[wa+32>>2]|0)|0;k[na>>2]=M;M=wx(k[Ba>>2]|0,108,k[wa+4>>2]|0,k[wa+12>>2]|0,0,k[na>>2]|0,-6)|0;k[W>>2]=M;M=(k[O>>2]|0)+44|0;K=(k[M>>2]|0)+1|0;k[M>>2]=K;k[ea>>2]=K;K=(k[O>>2]|0)+44|0;M=(k[K>>2]|0)+1|0;k[K>>2]=M;k[aa>>2]=M;M=(k[O>>2]|0)+44|0;K=(k[M>>2]|0)+1|0;k[M>>2]=K;k[ta>>2]=K;K=eA(k[Ba>>2]|0)|0;k[T>>2]=K;K=(k[O>>2]|0)+44|0;M=(k[K>>2]|0)+1|0;k[K>>2]=M;k[va>>2]=M;M=eA(k[Ba>>2]|0)|0;k[U>>2]=M;k[$>>2]=(k[(k[O>>2]|0)+44>>2]|0)+1;M=(k[O>>2]|0)+44|0;k[M>>2]=(k[M>>2]|0)+(k[k[la>>2]>>2]|0);k[ba>>2]=(k[(k[O>>2]|0)+44>>2]|0)+1;M=(k[O>>2]|0)+44|0;k[M>>2]=(k[M>>2]|0)+(k[k[la>>2]>>2]|0);sx(k[Ba>>2]|0,76,0,k[aa>>2]|0)|0;sx(k[Ba>>2]|0,76,0,k[ea>>2]|0)|0;tx(k[Ba>>2]|0,79,0,k[$>>2]|0,(k[$>>2]|0)+(k[k[la>>2]>>2]|0)-1|0)|0;sx(k[Ba>>2]|0,14,k[va>>2]|0,k[U>>2]|0)|0;M=AD(k[O>>2]|0,k[oa>>2]|0,k[L>>2]|0,k[la>>2]|0,0,(64|((k[ia>>2]|0)!=0?512:0))&65535,0)|0;k[pa>>2]=M;if(!(k[pa>>2]|0))break;M=YG(k[pa>>2]|0)|0;if((M|0)==(k[k[la>>2]>>2]|0))k[Z>>2]=0;else{if(l[xa>>0]|0)b=(k[(k[P>>2]|0)+8>>2]&1|0)==0;else b=0;dH(k[O>>2]|0,b?35649:35658);k[Z>>2]=1;k[ha>>2]=k[k[la>>2]>>2];k[ga>>2]=k[ha>>2];k[fa>>2]=k[ha>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[wa+32>>2]|0))break;if((k[(k[wa+28>>2]|0)+((k[_>>2]|0)*24|0)+12>>2]|0)>=(k[fa>>2]|0)){k[ga>>2]=(k[ga>>2]|0)+1;k[fa>>2]=(k[fa>>2]|0)+1}k[_>>2]=(k[_>>2]|0)+1}M=MA(k[O>>2]|0,k[ga>>2]|0)|0;k[sa>>2]=M;OC(k[O>>2]|0);kB(k[O>>2]|0,k[la>>2]|0,k[sa>>2]|0,0,0)|0;k[fa>>2]=k[ha>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[wa+32>>2]|0))break;k[ja>>2]=(k[wa+28>>2]|0)+((k[_>>2]|0)*24|0);if((k[(k[ja>>2]|0)+12>>2]|0)>=(k[fa>>2]|0)){k[qa>>2]=(k[fa>>2]|0)+(k[sa>>2]|0);fE(k[O>>2]|0,k[k[ja>>2]>>2]|0,k[(k[ja>>2]|0)+8>>2]|0,k[(k[ja>>2]|0)+4>>2]|0,k[qa>>2]|0);k[fa>>2]=(k[fa>>2]|0)+1}k[_>>2]=(k[_>>2]|0)+1}qa=Fx(k[O>>2]|0)|0;k[ua>>2]=qa;tx(k[Ba>>2]|0,99,k[sa>>2]|0,k[ga>>2]|0,k[ua>>2]|0)|0;sx(k[Ba>>2]|0,125,k[wa+4>>2]|0,k[ua>>2]|0)|0;Hx(k[O>>2]|0,k[ua>>2]|0);PA(k[O>>2]|0,k[sa>>2]|0,k[ga>>2]|0);BD(k[pa>>2]|0);sa=(k[O>>2]|0)+40|0;ua=k[sa>>2]|0;k[sa>>2]=ua+1;k[Aa>>2]=ua;k[wa+8>>2]=ua;ua=Fx(k[O>>2]|0)|0;k[za>>2]=ua;tx(k[Ba>>2]|0,110,k[Aa>>2]|0,k[za>>2]|0,k[ga>>2]|0)|0;sx(k[Ba>>2]|0,55,k[wa+4>>2]|0,k[S>>2]|0)|0;i[wa+1>>0]=1;OC(k[O>>2]|0)}do if(k[ia>>2]|0){if(m[(k[Y>>2]|0)+64>>1]&4)break;if((k[Z>>2]|0)==0?(eH(k[pa>>2]|0)|0)==0:0)break;k[ya>>2]=0;RA(k[Ba>>2]|0,k[ya+20>>2]|0)|0}while(0);ua=Gx(k[Ba>>2]|0)|0;k[X>>2]=ua;OC(k[O>>2]|0);if(k[Z>>2]|0)tx(k[Ba>>2]|0,120,k[wa+4>>2]|0,k[za>>2]|0,k[Aa>>2]|0)|0;k[fa>>2]=0;while(1){if((k[fa>>2]|0)>=(k[k[la>>2]>>2]|0))break;if(k[Z>>2]|0)tx(k[Ba>>2]|0,96,k[Aa>>2]|0,k[fa>>2]|0,(k[ba>>2]|0)+(k[fa>>2]|0)|0)|0;else{i[wa>>0]=1;$A(k[O>>2]|0,k[(k[(k[la>>2]|0)+4>>2]|0)+((k[fa>>2]|0)*20|0)>>2]|0,(k[ba>>2]|0)+(k[fa>>2]|0)|0)}k[fa>>2]=(k[fa>>2]|0)+1}sa=k[Ba>>2]|0;ua=k[$>>2]|0;za=k[ba>>2]|0;Aa=k[k[la>>2]>>2]|0;wx(sa,95,ua,za,Aa,xA(k[na>>2]|0)|0,-6)|0;Aa=Gx(k[Ba>>2]|0)|0;k[R>>2]=Aa;tx(k[Ba>>2]|0,18,(k[R>>2]|0)+1|0,0,(k[R>>2]|0)+1|0)|0;fH(k[O>>2]|0,k[ba>>2]|0,k[$>>2]|0,k[k[la>>2]>>2]|0);sx(k[Ba>>2]|0,14,k[ta>>2]|0,k[T>>2]|0)|0;sx(k[Ba>>2]|0,66,k[aa>>2]|0,k[S>>2]|0)|0;sx(k[Ba>>2]|0,14,k[va>>2]|0,k[U>>2]|0)|0;hA(k[Ba>>2]|0,k[R>>2]|0);gH(k[O>>2]|0,wa);sx(k[Ba>>2]|0,76,1,k[ea>>2]|0)|0;if(k[Z>>2]|0)sx(k[Ba>>2]|0,3,k[wa+4>>2]|0,k[X>>2]|0)|0;else{BD(k[pa>>2]|0);RA(k[Ba>>2]|0,k[W>>2]|0)|0}sx(k[Ba>>2]|0,14,k[ta>>2]|0,k[T>>2]|0)|0;gA(k[Ba>>2]|0,k[S>>2]|0)|0;Aa=Gx(k[Ba>>2]|0)|0;k[V>>2]=Aa;sx(k[Ba>>2]|0,76,1,k[aa>>2]|0)|0;aA(k[Ba>>2]|0,72,k[ta>>2]|0)|0;iA(k[Ba>>2]|0,k[T>>2]|0);Aa=Gx(k[Ba>>2]|0)|0;k[T>>2]=Aa;sx(k[Ba>>2]|0,66,k[ea>>2]|0,(k[T>>2]|0)+2|0)|0;aA(k[Ba>>2]|0,72,k[ta>>2]|0)|0;hH(k[O>>2]|0,wa);sB(k[O>>2]|0,k[ma>>2]|0,(k[T>>2]|0)+1|0,16);aH(k[O>>2]|0,k[P>>2]|0,k[k[P>>2]>>2]|0,-1,ya,xa,k[Q>>2]|0,(k[T>>2]|0)+1|0,k[V>>2]|0);aA(k[Ba>>2]|0,72,k[ta>>2]|0)|0;iA(k[Ba>>2]|0,k[U>>2]|0);iH(k[O>>2]|0,wa);aA(k[Ba>>2]|0,72,k[va>>2]|0)|0}else{k[G>>2]=0;Aa=jH(k[P>>2]|0,wa)|0;k[K>>2]=Aa;if(Aa){za=Ph(k[k[O>>2]>>2]|0,k[(k[K>>2]|0)+64>>2]|0)|0;k[D>>2]=za;za=(k[O>>2]|0)+40|0;Aa=k[za>>2]|0;k[za>>2]=Aa+1;k[C>>2]=Aa;k[I>>2]=0;k[F>>2]=0;k[E>>2]=k[(k[K>>2]|0)+28>>2];Cx(k[O>>2]|0,k[D>>2]|0);bA(k[O>>2]|0,k[D>>2]|0,k[(k[K>>2]|0)+28>>2]|0,0,k[k[K>>2]>>2]|0);if(l[(k[K>>2]|0)+42>>0]&32){Aa=Tj(k[K>>2]|0)|0;k[F>>2]=Aa}k[H>>2]=k[(k[K>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;do if(!((l[(k[H>>2]|0)+55>>0]|0)>>>2&1)){if((j[(k[H>>2]|0)+48>>1]|0)>=(j[(k[K>>2]|0)+40>>1]|0))break;if(k[(k[H>>2]|0)+36>>2]|0)break;if((k[F>>2]|0)!=0?(j[(k[H>>2]|0)+48>>1]|0)>=(j[(k[F>>2]|0)+48>>1]|0):0)break;k[F>>2]=k[H>>2]}while(0);k[H>>2]=k[(k[H>>2]|0)+20>>2]}if(k[F>>2]|0){k[E>>2]=k[(k[F>>2]|0)+44>>2];Aa=rA(k[O>>2]|0,k[F>>2]|0)|0;k[I>>2]=Aa}Sh(k[Ba>>2]|0,104,k[C>>2]|0,k[E>>2]|0,k[D>>2]|0,1)|0;if(k[I>>2]|0)Wh(k[Ba>>2]|0,-1,k[I>>2]|0,-6);sx(k[Ba>>2]|0,100,k[C>>2]|0,k[(k[wa+40>>2]|0)+8>>2]|0)|0;aA(k[Ba>>2]|0,111,k[C>>2]|0)|0;kH(k[O>>2]|0,k[K>>2]|0,k[F>>2]|0)}else{k[J>>2]=0;i[B>>0]=0;if(!(k[(k[P>>2]|0)+40>>2]|0)){Aa=lH(wa,J)|0;i[B>>0]=Aa}do if(i[B>>0]|0){Aa=_y(k[Y>>2]|0,k[J>>2]|0,0)|0;k[J>>2]=Aa;k[G>>2]=k[J>>2];if(i[(k[Y>>2]|0)+69>>0]|0)break;i[(k[(k[J>>2]|0)+4>>2]|0)+12>>0]=(l[B>>0]|0)!=1?1:0;i[k[k[(k[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);iH(k[O>>2]|0,wa);Aa=AD(k[O>>2]|0,k[oa>>2]|0,k[L>>2]|0,k[J>>2]|0,0,l[B>>0]|0,0)|0;k[pa>>2]=Aa;if(!(k[pa>>2]|0)){ov(k[Y>>2]|0,k[G>>2]|0);break}gH(k[O>>2]|0,wa);if((YG(k[pa>>2]|0)|0)>0){Aa=k[Ba>>2]|0;gA(Aa,$G(k[pa>>2]|0)|0)|0}BD(k[pa>>2]|0);hH(k[O>>2]|0,wa)}k[ya>>2]=0;sB(k[O>>2]|0,k[ma>>2]|0,k[S>>2]|0,16);aH(k[O>>2]|0,k[P>>2]|0,k[k[P>>2]>>2]|0,-1,0,0,k[Q>>2]|0,k[S>>2]|0,k[S>>2]|0);ov(k[Y>>2]|0,k[G>>2]|0)}iA(k[Ba>>2]|0,k[S>>2]|0)}if((l[xa+1>>0]|0)==3)dH(k[O>>2]|0,35649);if(k[ya>>2]|0){dH(k[O>>2]|0,(k[ya+4>>2]|0)>0?35667:35690);mH(k[O>>2]|0,k[P>>2]|0,ya,k[k[ka>>2]>>2]|0,k[Q>>2]|0)}iA(k[Ba>>2]|0,k[ca>>2]|0);k[ra>>2]=(k[(k[O>>2]|0)+36>>2]|0)>0&1}}while(0);k[(k[O>>2]|0)+420>>2]=k[da>>2];if((k[ra>>2]|0)==0?(l[k[Q>>2]>>0]|0)==9:0)nH(k[O>>2]|0,k[oa>>2]|0,k[ka>>2]|0);bg(k[Y>>2]|0,k[wa+28>>2]|0);bg(k[Y>>2]|0,k[wa+40>>2]|0);k[N>>2]=k[ra>>2];Ba=k[N>>2]|0;r=Ca;return Ba|0}k[N>>2]=1;Ba=k[N>>2]|0;r=Ca;return Ba|0}function _v(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;i=j;c=j+24|0;d=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+48>>2]|0)){r=j;return}k[h>>2]=0;k[e>>2]=0;k[g>>2]=k[d>>2];while(1){if(!(k[g>>2]|0))break;k[(k[g>>2]|0)+52>>2]=k[h>>2];a=(k[g>>2]|0)+8|0;k[a>>2]=k[a>>2]|256;k[h>>2]=k[g>>2];k[g>>2]=k[(k[g>>2]|0)+48>>2];k[e>>2]=(k[e>>2]|0)+1}if(k[(k[d>>2]|0)+8>>2]&1024){r=j;return}a=k[(k[k[c>>2]>>2]|0)+96+16>>2]|0;k[f>>2]=a;if((a|0)<=0){r=j;return}if((k[e>>2]|0)<=(k[f>>2]|0)){r=j;return}Oh(k[c>>2]|0,35575,i);r=j;return}function $v(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;v=x;i=x+44|0;j=x+40|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=k[k[j>>2]>>2];if((k[l>>2]|0)==0?(k[q>>2]|0)!=0|(k[s>>2]|0)!=0:0){h=k[j>>2]|0;k[v>>2]=(k[q>>2]|0)!=0?35530:35533;Oh(h,35539,v)}else w=4;if(((w|0)==4?(w=iw(k[t>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0)|0,k[l>>2]=w,(k[l>>2]|0)!=0):0)?(k[k[l>>2]>>2]|0)!=0:0){k[u>>2]=(k[l>>2]|0)+8+(((k[k[l>>2]>>2]|0)-1|0)*72|0);if(k[(k[o>>2]|0)+4>>2]|0){w=bx(k[t>>2]|0,k[o>>2]|0)|0;k[(k[u>>2]|0)+12>>2]=w}k[(k[u>>2]|0)+20>>2]=k[p>>2];k[(k[u>>2]|0)+48>>2]=k[q>>2];k[(k[u>>2]|0)+52>>2]=k[s>>2];k[i>>2]=k[l>>2];w=k[i>>2]|0;r=x;return w|0}sv(k[t>>2]|0,k[q>>2]|0);uv(k[t>>2]|0,k[s>>2]|0);pv(k[t>>2]|0,k[p>>2]|0);k[i>>2]=0;w=k[i>>2]|0;r=x;return w|0}function aw(a,b,c,d,e,f,g,h,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+128|0;n=B+112|0;o=B+108|0;p=B+104|0;q=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;z=B+72|0;A=B+4|0;y=B;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=l;k[x>>2]=m;k[y>>2]=k[k[n>>2]>>2];h=dx(k[y>>2]|0,68,0)|0;k[z>>2]=h;k[z>>2]=(k[z>>2]|0)==0?A:h;if(!(k[o>>2]|0)){h=k[n>>2]|0;h=bw(h,0,ew(k[y>>2]|0,160,0)|0)|0;k[o>>2]=h}k[k[z>>2]>>2]=k[o>>2];i[(k[z>>2]|0)+4>>0]=119;k[(k[z>>2]|0)+8>>2]=k[v>>2];k[(k[z>>2]|0)+12>>2]=0;k[(k[z>>2]|0)+16>>2]=0;k[(k[z>>2]|0)+20>>2]=-1;k[(k[z>>2]|0)+20+4>>2]=-1;j[(k[z>>2]|0)+6>>1]=0;if(!(k[p>>2]|0)){h=Ch(k[y>>2]|0,80,0)|0;k[p>>2]=h}k[(k[z>>2]|0)+28>>2]=k[p>>2];k[(k[z>>2]|0)+32>>2]=k[q>>2];k[(k[z>>2]|0)+36>>2]=k[s>>2];k[(k[z>>2]|0)+40>>2]=k[t>>2];k[(k[z>>2]|0)+44>>2]=k[u>>2];k[(k[z>>2]|0)+48>>2]=0;k[(k[z>>2]|0)+52>>2]=0;k[(k[z>>2]|0)+56>>2]=k[w>>2];k[(k[z>>2]|0)+60>>2]=k[x>>2];k[(k[z>>2]|0)+64>>2]=0;if(!(i[(k[y>>2]|0)+69>>0]|0)){A=k[z>>2]|0;r=B;return A|0}qv(k[y>>2]|0,k[z>>2]|0,(k[z>>2]|0)!=(A|0)&1);k[z>>2]=0;A=k[z>>2]|0;r=B;return A|0}function bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;e=j+24|0;l=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;d=j+4|0;i=j;k[l>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[k[l>>2]>>2];if(!(k[f>>2]|0)){l=dx(k[h>>2]|0,8,0)|0;k[f>>2]=l;if((k[f>>2]|0)!=0?(k[k[f>>2]>>2]=0,l=dx(k[h>>2]|0,20,0)|0,k[(k[f>>2]|0)+4>>2]=l,(k[(k[f>>2]|0)+4>>2]|0)!=0):0)d=7;else d=8}else if(!(k[k[f>>2]>>2]&(k[k[f>>2]>>2]|0)-1)){l=cx(k[h>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(k[k[f>>2]>>2]<<1)*20|0,0)|0;k[d>>2]=l;if(!(k[d>>2]|0))d=8;else{k[(k[f>>2]|0)+4>>2]=k[d>>2];d=7}}else d=7;if((d|0)==7){h=k[f>>2]|0;l=k[h>>2]|0;k[h>>2]=l+1;k[i>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(l*20|0);l=k[i>>2]|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[k[i>>2]>>2]=k[g>>2];k[e>>2]=k[f>>2];l=k[e>>2]|0;r=j;return l|0}else if((d|0)==8){sv(k[h>>2]|0,k[g>>2]|0);ov(k[h>>2]|0,k[f>>2]|0);k[e>>2]=0;l=k[e>>2]|0;r=j;return l|0}return 0}function cw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}k[i>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(((k[k[f>>2]>>2]|0)-1|0)*20|0);a=gx(k[k[e>>2]>>2]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0,0)|0;k[(k[i>>2]|0)+4>>2]=a;if(!(k[h>>2]|0)){r=j;return}hx(k[(k[i>>2]|0)+4>>2]|0);r=j;return}function dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[k[i>>2]>>2];if(!(k[d>>2]|0)){r=h;return}k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+(((k[k[d>>2]>>2]|0)-1|0)*20|0);bg(k[f>>2]|0,k[(k[g>>2]|0)+8>>2]|0);i=(k[(k[e>>2]|0)+8>>2]|0)-(k[(k[e>>2]|0)+4>>2]|0)|0;i=gx(k[f>>2]|0,k[(k[e>>2]|0)+4>>2]|0,i,((i|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+8>>2]=i;r=h;return}function ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;g=h;k[e>>2]=a;k[f>>2]=b;k[d>>2]=c;k[g>>2]=k[d>>2];if(k[d>>2]|0)d=Tf(k[d>>2]|0)|0;else d=0;k[g+4>>2]=d;g=tw(k[e>>2]|0,k[f>>2]|0,g,0)|0;r=h;return g|0}function fw(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=(k[k[b>>2]>>2]|0)-1;while(1){if((k[c>>2]|0)<=0)break;i[(k[b>>2]|0)+8+((k[c>>2]|0)*72|0)+36>>0]=i[(k[b>>2]|0)+8+(((k[c>>2]|0)-1|0)*72|0)+36>>0]|0;k[c>>2]=(k[c>>2]|0)+-1}i[(k[b>>2]|0)+8+36>>0]=0;r=d;return}function gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=h;return}if((k[k[e>>2]>>2]|0)<=0){r=h;return}k[g>>2]=(k[e>>2]|0)+8+(((k[k[e>>2]>>2]|0)-1|0)*72|0);if((k[(k[f>>2]|0)+4>>2]|0)==1?(k[k[f>>2]>>2]|0)==0:0){a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-2|1;r=h;return}a=bx(k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[(k[g>>2]|0)+64>>2]=a;a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-3|((k[(k[g>>2]|0)+64>>2]|0)!=0&1)<<1&255;r=h;return}function hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){k[g>>2]=(k[e>>2]|0)+8+(((k[k[e>>2]>>2]|0)-1|0)*72|0);k[(k[g>>2]|0)+64>>2]=k[f>>2];a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-5|4;r=h;return}else{ov(k[k[d>>2]>>2]|0,k[f>>2]|0);r=h;return}}function iw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;l=n+4|0;m=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;do if(!(k[g>>2]|0)){c=dx(k[f>>2]|0,80,0)|0;k[g>>2]=c;if(k[g>>2]|0){k[(k[g>>2]|0)+4>>2]=1;k[k[g>>2]>>2]=0;break}k[e>>2]=0;m=k[e>>2]|0;r=n;return m|0}while(0);c=NG(k[f>>2]|0,k[g>>2]|0,1,k[k[g>>2]>>2]|0)|0;k[g>>2]=c;if(i[(k[f>>2]|0)+69>>0]|0){rv(k[f>>2]|0,k[g>>2]|0);k[e>>2]=0;m=k[e>>2]|0;r=n;return m|0}k[l>>2]=(k[g>>2]|0)+8+(((k[k[g>>2]>>2]|0)-1|0)*72|0);if((k[j>>2]|0)!=0?(k[k[j>>2]>>2]|0)==0:0)k[j>>2]=0;if(k[j>>2]|0){k[m>>2]=k[j>>2];k[j>>2]=k[h>>2];k[h>>2]=k[m>>2]}m=bx(k[f>>2]|0,k[h>>2]|0)|0;k[(k[l>>2]|0)+8>>2]=m;m=bx(k[f>>2]|0,k[j>>2]|0)|0;k[(k[l>>2]|0)+4>>2]=m;k[e>>2]=k[g>>2];m=k[e>>2]|0;r=n;return m|0}function jw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;q=u+16|0;p=u;e=u+64|0;f=u+60|0;g=u+56|0;h=u+52|0;n=u+48|0;i=u+36|0;o=u+32|0;j=u+28|0;m=u+24|0;s=u+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;k[i>>2]=k[f>>2];k[i+4>>2]=k[g>>2];k[i+8>>2]=k[h>>2];k[j>>2]=0;while(1){if((k[j>>2]|0)>=3)break;if(!(k[i+(k[j>>2]<<2)>>2]|0))break;k[o>>2]=k[i+(k[j>>2]<<2)>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=7)break;if((k[(k[o>>2]|0)+4>>2]|0)==(l[35374+((k[m>>2]|0)*3|0)+1>>0]|0|0)?(Jd(k[k[o>>2]>>2]|0,35395+(l[35374+((k[m>>2]|0)*3|0)>>0]|0)|0,k[(k[o>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}k[m>>2]=(k[m>>2]|0)+1}if((t|0)==8){t=0;k[n>>2]=k[n>>2]|(l[35374+((k[m>>2]|0)*3|0)+2>>0]|0)}if((k[m>>2]|0)>=7){t=11;break}k[j>>2]=(k[j>>2]|0)+1}if((t|0)==11)k[n>>2]=k[n>>2]|64;if((k[n>>2]&33|0)!=33?(k[n>>2]&64|0)==0:0){if(!(k[n>>2]&32)){t=k[n>>2]|0;r=u;return t|0}if((k[n>>2]&24|0)==8){t=k[n>>2]|0;r=u;return t|0}Oh(k[e>>2]|0,35475,q);k[n>>2]=1;t=k[n>>2]|0;r=u;return t|0}k[s>>2]=35429;if(!(k[h>>2]|0))k[s>>2]=(k[s>>2]|0)+1;t=k[e>>2]|0;a=k[g>>2]|0;q=k[s>>2]|0;s=k[h>>2]|0;k[p>>2]=k[f>>2];k[p+4>>2]=a;k[p+8>>2]=q;k[p+12>>2]=s;Oh(t,35431,p);k[n>>2]=1;t=k[n>>2]|0;r=u;return t|0}function kw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)<0){r=e;return}i[(k[(k[c>>2]|0)+4>>2]|0)+(((k[k[c>>2]>>2]|0)-1|0)*20|0)+12>>0]=k[d>>2];r=e;return}function lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+4|0;e=g;f=g+8|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;if(!(k[e>>2]|0)){r=g;return}k[(k[e>>2]|0)+4>>2]=k[(k[d>>2]|0)+472>>2];k[(k[d>>2]|0)+472>>2]=k[e>>2];if(!(i[f>>0]|0)){r=g;return}k[(k[d>>2]|0)+476>>2]=k[e>>2];r=g;return}function mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+192|0;G=X+176|0;H=X+172|0;I=X+168|0;W=X+164|0;U=X+160|0;M=X+156|0;F=X+152|0;S=X+148|0;h=X+144|0;N=X+140|0;P=X+136|0;n=X+132|0;L=X+128|0;V=X+120|0;q=X+88|0;f=X+84|0;R=X+80|0;p=X+76|0;y=X+72|0;v=X+64|0;J=X+60|0;T=X+56|0;g=X+52|0;o=X+184|0;A=X+48|0;C=X+182|0;O=X+44|0;B=X+40|0;u=X+36|0;K=X+32|0;d=X+28|0;w=X+24|0;Q=X+20|0;D=X+16|0;s=X+180|0;e=X+12|0;E=X+8|0;x=X+4|0;z=X;k[G>>2]=a;k[H>>2]=b;k[I>>2]=c;k[N>>2]=0;k[P>>2]=0;k[R>>2]=-1;k[J>>2]=0;k[g>>2]=0;j[o>>1]=1;k[O>>2]=0;k[B>>2]=0;k[u>>2]=0;k[K>>2]=0;k[d>>2]=0;k[V>>2]=0;k[V+4>>2]=0;k[L>>2]=k[k[G>>2]>>2];a:do if(((k[(k[G>>2]|0)+36>>2]|0)==0?(l[(k[L>>2]|0)+69>>0]|0)==0:0)?(c=lC(k[G>>2]|0,k[H>>2]|0)|0,k[U>>2]=c,(k[U>>2]|0)!=0):0){c=bD(k[G>>2]|0,k[U>>2]|0,109,0,0)|0;k[D>>2]=c;k[Q>>2]=(k[(k[U>>2]|0)+12>>2]|0)!=0&1;if(k[D>>2]|0)a=1;else a=(vF(k[G>>2]|0,k[U>>2]|0,0,0)|0)!=0;k[w>>2]=a&1;if(((by(k[G>>2]|0,k[U>>2]|0)|0)==0?(cD(k[G>>2]|0,k[U>>2]|0,(k[D>>2]|0)!=0?1:0)|0)==0:0)?(c=Ph(k[L>>2]|0,k[(k[U>>2]|0)+64>>2]|0)|0,k[f>>2]=c,c=kx(k[G>>2]|0,9,k[k[U>>2]>>2]|0,0,k[(k[(k[L>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0,k[p>>2]=c,(k[p>>2]|0)!=1):0){b=(k[G>>2]|0)+40|0;c=k[b>>2]|0;k[b>>2]=c+1;k[(k[H>>2]|0)+8+44>>2]=c;k[h>>2]=c;k[n>>2]=0;k[S>>2]=k[(k[U>>2]|0)+8>>2];while(1){if(!(k[S>>2]|0))break;c=(k[G>>2]|0)+40|0;k[c>>2]=(k[c>>2]|0)+1;k[S>>2]=k[(k[S>>2]|0)+20>>2];k[n>>2]=(k[n>>2]|0)+1}if(k[Q>>2]|0)IG(k[G>>2]|0,V,k[k[U>>2]>>2]|0);c=nx(k[G>>2]|0)|0;k[W>>2]=c;if(k[W>>2]|0){if(!(l[(k[G>>2]|0)+18>>0]|0))dD(k[W>>2]|0);Bx(k[G>>2]|0,1,k[f>>2]|0);if(k[Q>>2]|0){JG(k[G>>2]|0,k[U>>2]|0,k[I>>2]|0,k[h>>2]|0);c=k[h>>2]|0;k[P>>2]=c;k[N>>2]=c};k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[q+12>>2]=0;k[q+16>>2]=0;k[q+20>>2]=0;k[q+24>>2]=0;k[q+28>>2]=0;k[q>>2]=k[G>>2];k[q+4>>2]=k[H>>2];if(!(Ky(q,k[I>>2]|0)|0)){if(k[(k[L>>2]|0)+24>>2]&128){b=(k[G>>2]|0)+44|0;c=(k[b>>2]|0)+1|0;k[b>>2]=c;k[R>>2]=c;sx(k[W>>2]|0,76,0,k[R>>2]|0)|0}b:do if(!((k[p>>2]|0)==0&(k[I>>2]|0)==0^1|(k[w>>2]|0)!=0)?(l[(k[U>>2]|0)+42>>0]&16|0)==0:0){bA(k[G>>2]|0,k[f>>2]|0,k[(k[U>>2]|0)+28>>2]|0,1,k[k[U>>2]>>2]|0);if(!(l[(k[U>>2]|0)+42>>0]&32))wx(k[W>>2]|0,131,k[(k[U>>2]|0)+28>>2]|0,k[f>>2]|0,k[R>>2]|0,k[k[U>>2]>>2]|0,-2)|0;k[S>>2]=k[(k[U>>2]|0)+8>>2];while(1){if(!(k[S>>2]|0))break b;sx(k[W>>2]|0,131,k[(k[S>>2]|0)+44>>2]|0,k[f>>2]|0)|0;k[S>>2]=k[(k[S>>2]|0)+20>>2]}}else t=29;while(0);c:do if((t|0)==29){j[s>>1]=1044;if(m[q+28>>1]&64)k[w>>2]=1;j[s>>1]=m[s>>1]|((k[w>>2]|0)!=0?0:8);if(!(l[(k[U>>2]|0)+42>>0]&32)){k[T>>2]=0;j[o>>1]=1;q=(k[G>>2]|0)+44|0;t=(k[q>>2]|0)+1|0;k[q>>2]=t;k[B>>2]=t;sx(k[W>>2]|0,79,0,k[B>>2]|0)|0}else{q=Tj(k[U>>2]|0)|0;k[T>>2]=q;j[o>>1]=j[(k[T>>2]|0)+50>>1]|0;k[g>>2]=(k[(k[G>>2]|0)+44>>2]|0)+1;q=(k[G>>2]|0)+44|0;k[q>>2]=(k[q>>2]|0)+(j[o>>1]|0);q=(k[G>>2]|0)+40|0;t=k[q>>2]|0;k[q>>2]=t+1;k[O>>2]=t;t=sx(k[W>>2]|0,107,k[O>>2]|0,j[o>>1]|0)|0;k[d>>2]=t;dA(k[G>>2]|0,k[T>>2]|0)}t=AD(k[G>>2]|0,k[H>>2]|0,k[I>>2]|0,0,0,j[s>>1]|0,(k[h>>2]|0)+1|0)|0;k[F>>2]=t;if(!(k[F>>2]|0))break a;t=LG(k[F>>2]|0,v)|0;k[y>>2]=t;if(k[(k[L>>2]|0)+24>>2]&128)sx(k[W>>2]|0,91,k[R>>2]|0,1)|0;do if(k[T>>2]|0){k[M>>2]=0;while(1){if((k[M>>2]|0)>=(j[o>>1]|0))break;XA(k[W>>2]|0,k[U>>2]|0,k[h>>2]|0,j[(k[(k[T>>2]|0)+4>>2]|0)+(k[M>>2]<<1)>>1]|0,(k[g>>2]|0)+(k[M>>2]|0)|0);k[M>>2]=(k[M>>2]|0)+1}k[A>>2]=k[g>>2]}else{k[A>>2]=(k[(k[G>>2]|0)+44>>2]|0)+1;t=bB(k[G>>2]|0,k[U>>2]|0,-1,k[h>>2]|0,k[A>>2]|0,0)|0;k[A>>2]=t;if((k[A>>2]|0)<=(k[(k[G>>2]|0)+44>>2]|0))break;k[(k[G>>2]|0)+44>>2]=k[A>>2]}while(0);do if(!(k[y>>2]|0))if(k[T>>2]|0){p=(k[G>>2]|0)+44|0;n=(k[p>>2]|0)+1|0;k[p>>2]=n;k[A>>2]=n;j[C>>1]=0;n=k[W>>2]|0;p=k[g>>2]|0;q=j[o>>1]|0;s=k[A>>2]|0;t=MC(k[k[G>>2]>>2]|0,k[T>>2]|0)|0;wx(n,99,p,q,s,t,j[o>>1]|0)|0;sx(k[W>>2]|0,126,k[O>>2]|0,k[A>>2]|0)|0;break}else{j[C>>1]=1;sx(k[W>>2]|0,142,k[B>>2]|0,k[A>>2]|0)|0;break}else{j[C>>1]=j[o>>1]|0;t=(k[n>>2]|0)+2|0;t=dx(k[L>>2]|0,t,((t|0)<0)<<31>>31)|0;k[J>>2]=t;if(!(k[J>>2]|0)){BD(k[F>>2]|0);break a}dS(k[J>>2]|0,1,(k[n>>2]|0)+1|0)|0;i[(k[J>>2]|0)+((k[n>>2]|0)+1)>>0]=0;if((k[v>>2]|0)>=0)i[(k[J>>2]|0)+((k[v>>2]|0)-(k[h>>2]|0))>>0]=0;if((k[v+4>>2]|0)>=0)i[(k[J>>2]|0)+((k[v+4>>2]|0)-(k[h>>2]|0))>>0]=0;if(!(k[d>>2]|0))break;RA(k[W>>2]|0,k[d>>2]|0)|0}while(0);if(k[y>>2]|0){t=eA(k[W>>2]|0)|0;k[u>>2]=t}else BD(k[F>>2]|0);do if(!(k[Q>>2]|0)){k[e>>2]=0;if((k[y>>2]|0)==2){t=px(k[W>>2]|0,20)|0;k[e>>2]=t}PC(k[G>>2]|0,k[U>>2]|0,105,8,k[h>>2]|0,k[J>>2]|0,N,P)|0;if((k[y>>2]|0)!=2)break;hA(k[W>>2]|0,k[e>>2]|0)}while(0);do if(!(k[y>>2]|0)){a=k[W>>2]|0;if(k[T>>2]|0){B=aA(a,57,k[O>>2]|0)|0;k[K>>2]=B;sx(k[W>>2]|0,121,k[O>>2]|0,k[A>>2]|0)|0;break}else{B=tx(a,62,k[B>>2]|0,0,k[A>>2]|0)|0;k[K>>2]=B;break}}else{if(l[(k[U>>2]|0)+42>>0]&16)break;if(!(l[(k[J>>2]|0)+((k[N>>2]|0)-(k[h>>2]|0))>>0]|0))break;Sh(k[W>>2]|0,30,k[N>>2]|0,k[u>>2]|0,k[A>>2]|0,j[C>>1]|0)|0}while(0);do if(l[(k[U>>2]|0)+42>>0]&16){D=cy(k[L>>2]|0,k[U>>2]|0)|0;k[E>>2]=D;nD(k[G>>2]|0,k[U>>2]|0);wx(k[W>>2]|0,12,0,1,k[A>>2]|0,k[E>>2]|0,-10)|0;Th(k[W>>2]|0,2);dy(k[G>>2]|0);if((k[y>>2]|0)!=1)break;if(k[(k[G>>2]|0)+124>>2]|0)break;i[(k[G>>2]|0)+20>>0]=0}else{k[x>>2]=(l[(k[G>>2]|0)+18>>0]|0)==0&1;k[z>>2]=-1;do if(!(k[w>>2]|0)){if((k[v+4>>2]|0)==(k[N>>2]|0))break;k[z>>2]=k[v+4>>2]}while(0);xF(k[G>>2]|0,k[U>>2]|0,k[D>>2]|0,k[N>>2]|0,k[P>>2]|0,k[A>>2]|0,j[C>>1]|0,k[x>>2]&255,10,k[y>>2]&255,k[z>>2]|0)}while(0);do if(!(k[y>>2]|0)){a=k[W>>2]|0;if(k[T>>2]|0){sx(a,7,k[O>>2]|0,(k[K>>2]|0)+1|0)|0;hA(k[W>>2]|0,k[K>>2]|0);break}else{gA(a,k[K>>2]|0)|0;hA(k[W>>2]|0,k[K>>2]|0);break}}else{iA(k[W>>2]|0,k[u>>2]|0);BD(k[F>>2]|0)}while(0);if(k[Q>>2]|0)break;if(l[(k[U>>2]|0)+42>>0]&16)break;if(!(k[T>>2]|0))aA(k[W>>2]|0,111,k[N>>2]|0)|0;k[M>>2]=0;k[S>>2]=k[(k[U>>2]|0)+8>>2];while(1){if(!(k[S>>2]|0))break c;aA(k[W>>2]|0,111,(k[P>>2]|0)+(k[M>>2]|0)|0)|0;k[M>>2]=(k[M>>2]|0)+1;k[S>>2]=k[(k[S>>2]|0)+20>>2]}}while(0);if((l[(k[G>>2]|0)+18>>0]|0)==0?(k[(k[G>>2]|0)+128>>2]|0)==0:0)rD(k[G>>2]|0);if(((k[(k[L>>2]|0)+24>>2]&128|0)!=0?(i[(k[G>>2]|0)+18>>0]|0)==0:0)?(k[(k[G>>2]|0)+128>>2]|0)==0:0){sx(k[W>>2]|0,87,k[R>>2]|0,1)|0;wC(k[W>>2]|0,1);xC(k[W>>2]|0,0,0,35361,0)|0}}}}}while(0);MG(V);rv(k[L>>2]|0,k[H>>2]|0);sv(k[L>>2]|0,k[I>>2]|0);bg(k[L>>2]|0,k[J>>2]|0);r=X;return}function nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;h=i;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[k[d>>2]>>2]|0)+96+8>>2];if(!(k[e>>2]|0)){r=i;return}if((k[k[e>>2]>>2]|0)<=(k[g>>2]|0)){r=i;return}c=k[d>>2]|0;k[h>>2]=k[f>>2];Oh(c,35338,h);r=i;return}function ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+256|0;p=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;o=oa+120|0;f=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;h=oa+28|0;n=oa+24|0;g=oa+250|0;u=oa+20|0;w=oa+248|0;q=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;k[X>>2]=a;k[Y>>2]=b;k[Z>>2]=c;k[_>>2]=d;k[K>>2]=e;k[ba>>2]=0;k[L>>2]=0;k[aa>>2]=0;k[z>>2]=0;k[fa>>2]=0;k[Q>>2]=0;k[la>>2]=0;k[V>>2]=0;k[U>>2]=0;k[I>>2]=0;k[F>>2]=0;k[A>>2]=0;k[T>>2]=0;k[ma>>2]=0;k[ma+4>>2]=0;k[ca>>2]=k[k[X>>2]>>2];if(k[(k[X>>2]|0)+36>>2]|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(l[(k[ca>>2]|0)+69>>0]|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}d=lC(k[X>>2]|0,k[Y>>2]|0)|0;k[ka>>2]=d;if(!(k[ka>>2]|0)){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}d=Ph(k[k[X>>2]>>2]|0,k[(k[ka>>2]|0)+64>>2]|0)|0;k[f>>2]=d;d=bD(k[X>>2]|0,k[ka>>2]|0,110,k[Z>>2]|0,G)|0;k[S>>2]=d;k[H>>2]=(k[(k[ka>>2]|0)+12>>2]|0)!=0&1;if(by(k[X>>2]|0,k[ka>>2]|0)|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(cD(k[X>>2]|0,k[ka>>2]|0,k[G>>2]|0)|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}b=(k[X>>2]|0)+40|0;d=k[b>>2]|0;k[b>>2]=d+1;k[ea>>2]=d;k[t>>2]=d;k[(k[Y>>2]|0)+8+44>>2]=d;k[ga>>2]=(k[ea>>2]|0)+1;if(!(l[(k[ka>>2]|0)+42>>0]&32))e=0;else e=Tj(k[ka>>2]|0)|0;k[ja>>2]=e;k[v>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;if((k[ja>>2]|0)!=0?(i[(k[ia>>2]|0)+55>>0]&3|0)==2:0){k[ea>>2]=k[(k[X>>2]|0)+40>>2];k[(k[Y>>2]|0)+8+44>>2]=k[ea>>2]}d=(k[X>>2]|0)+40|0;k[d>>2]=(k[d>>2]|0)+1;k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[v>>2]=(k[v>>2]|0)+1}d=dx(k[ca>>2]|0,((j[(k[ka>>2]|0)+34>>1]|0)+(k[v>>2]|0)<<2)+(k[v>>2]|0)+2|0,0)|0;k[aa>>2]=d;if(!(k[aa>>2]|0)){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}k[L>>2]=(k[aa>>2]|0)+(j[(k[ka>>2]|0)+34>>1]<<2);k[$>>2]=(k[L>>2]|0)+(k[v>>2]<<2);dS(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0;i[(k[$>>2]|0)+((k[v>>2]|0)+1)>>0]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2]=-1;k[da>>2]=(k[da>>2]|0)+1}k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=k[X>>2];k[o+4>>2]=k[Y>>2];i[y>>0]=0;i[B>>0]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(k[k[Z>>2]>>2]|0)){J=41;break}if(Ky(o,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}k[C>>2]=0;while(1){if((k[C>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;d=(sg(k[(k[(k[ka>>2]|0)+4>>2]|0)+(k[C>>2]<<4)>>2]|0,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2]|0)|0)==0;e=k[C>>2]|0;if(d){J=23;break}k[C>>2]=e+1}if((J|0)==23){J=0;if((e|0)!=(j[(k[ka>>2]|0)+32>>1]|0)){if((k[ja>>2]|0)!=0?(l[(k[(k[ka>>2]|0)+4>>2]|0)+(k[C>>2]<<4)+15>>0]&1|0)!=0:0)i[y>>0]=1}else{i[B>>0]=1;k[z>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]}k[(k[aa>>2]|0)+(k[C>>2]<<2)>>2]=k[da>>2]}if((k[C>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0)){if(k[ja>>2]|0){J=34;break}if(!(Ei(k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}k[C>>2]=-1;i[B>>0]=1;k[z>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]}if((k[C>>2]|0)<0)e=19895;else e=k[(k[(k[ka>>2]|0)+4>>2]|0)+(k[C>>2]<<4)>>2]|0;d=kx(k[X>>2]|0,23,k[k[ka>>2]>>2]|0,e,k[(k[(k[ca>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0;k[h>>2]=d;if((k[h>>2]|0)==1){J=185;break}if((k[h>>2]|0)==2)k[(k[aa>>2]|0)+(k[C>>2]<<2)>>2]=-1;k[da>>2]=(k[da>>2]|0)+1}if((J|0)==34){na=k[X>>2]|0;k[p>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2];Oh(na,24144,p);i[(k[X>>2]|0)+17>>0]=1;MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}else if((J|0)==41){i[O>>0]=(l[B>>0]|0)+(l[y>>0]|0);h=(l[(k[ka>>2]|0)+42>>0]&16|0)!=0;p=(k[Y>>2]|0)+8+56|0;k[p>>2]=h?-1:0;k[p+4>>2]=h?-1:0;p=vF(k[X>>2]|0,k[ka>>2]|0,k[aa>>2]|0,l[O>>0]|0)|0;k[P>>2]=p;k[C>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;a:do if((!((l[O>>0]|0)!=0|(k[P>>2]|0)!=0)?(k[(k[ia>>2]|0)+36>>2]|0)==0:0)?(k[ia>>2]|0)!=(k[ja>>2]|0):0){k[n>>2]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(m[(k[ia>>2]|0)+50>>1]|0))break a;j[g>>1]=j[(k[(k[ia>>2]|0)+4>>2]|0)+(k[da>>2]<<1)>>1]|0;if((j[g>>1]|0)<0)break;if((k[(k[aa>>2]|0)+(j[g>>1]<<2)>>2]|0)>=0)break;k[da>>2]=(k[da>>2]|0)+1}h=(k[X>>2]|0)+44|0;p=(k[h>>2]|0)+1|0;k[h>>2]=p;k[n>>2]=p}else J=46;while(0);if((J|0)==46){J=0;h=(k[X>>2]|0)+44|0;p=(k[h>>2]|0)+1|0;k[h>>2]=p;k[n>>2]=p}if(!(k[n>>2]|0))i[(k[$>>2]|0)+((k[C>>2]|0)+1)>>0]=0;k[(k[L>>2]|0)+(k[C>>2]<<2)>>2]=k[n>>2];k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[C>>2]=(k[C>>2]|0)+1}p=nx(k[X>>2]|0)|0;k[na>>2]=p;if(!(k[na>>2]|0)){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(!(l[(k[X>>2]|0)+18>>0]|0))dD(k[na>>2]|0);Bx(k[X>>2]|0,1,k[f>>2]|0);if(!(l[(k[ka>>2]|0)+42>>0]&16)){p=(k[X>>2]|0)+44|0;n=(k[p>>2]|0)+1|0;k[p>>2]=n;k[A>>2]=n;n=(k[X>>2]|0)+44|0;p=(k[n>>2]|0)+1|0;k[n>>2]=p;k[U>>2]=p;k[V>>2]=p;if((l[y>>0]|0)!=0|(k[S>>2]|0)!=0|(k[P>>2]|0)!=0){k[F>>2]=(k[(k[X>>2]|0)+44>>2]|0)+1;p=(k[X>>2]|0)+44|0;k[p>>2]=(k[p>>2]|0)+(j[(k[ka>>2]|0)+34>>1]|0)}if((l[O>>0]|0)!=0|(k[S>>2]|0)!=0|(k[P>>2]|0)!=0){n=(k[X>>2]|0)+44|0;p=(k[n>>2]|0)+1|0;k[n>>2]=p;k[U>>2]=p}k[I>>2]=(k[(k[X>>2]|0)+44>>2]|0)+1;p=(k[X>>2]|0)+44|0;k[p>>2]=(k[p>>2]|0)+(j[(k[ka>>2]|0)+34>>1]|0)}if(k[H>>2]|0)IG(k[X>>2]|0,ma,k[k[ka>>2]>>2]|0);if(k[H>>2]|0)JG(k[X>>2]|0,k[ka>>2]|0,k[_>>2]|0,k[ea>>2]|0);if(Ky(o,k[_>>2]|0)|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(l[(k[ka>>2]|0)+42>>0]&16){KG(k[X>>2]|0,k[Y>>2]|0,k[ka>>2]|0,k[Z>>2]|0,k[z>>2]|0,k[aa>>2]|0,k[_>>2]|0,k[K>>2]|0);MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(!(l[(k[ka>>2]|0)+42>>0]&32)){tx(k[na>>2]|0,79,0,k[A>>2]|0,k[V>>2]|0)|0;w=AD(k[X>>2]|0,k[Y>>2]|0,k[_>>2]|0,0,0,1028,k[ga>>2]|0)|0;k[x>>2]=w;if(!(k[x>>2]|0)){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}w=LG(k[x>>2]|0,s)|0;k[R>>2]=w;sx(k[na>>2]|0,123,k[ea>>2]|0,k[V>>2]|0)|0;if(!(k[R>>2]|0))sx(k[na>>2]|0,142,k[A>>2]|0,k[V>>2]|0)|0;BD(k[x>>2]|0)}else{j[w>>1]=j[(k[ja>>2]|0)+50>>1]|0;k[u>>2]=(k[(k[X>>2]|0)+44>>2]|0)+1;p=(k[X>>2]|0)+44|0;k[p>>2]=(k[p>>2]|0)+(j[w>>1]|0);p=(k[X>>2]|0)+44|0;o=(k[p>>2]|0)+1|0;k[p>>2]=o;k[T>>2]=o;o=(k[X>>2]|0)+40|0;p=k[o>>2]|0;k[o>>2]=p+1;k[fa>>2]=p;sx(k[na>>2]|0,79,0,k[u>>2]|0)|0;p=sx(k[na>>2]|0,107,k[fa>>2]|0,j[w>>1]|0)|0;k[q>>2]=p;dA(k[X>>2]|0,k[ja>>2]|0);p=AD(k[X>>2]|0,k[Y>>2]|0,k[_>>2]|0,0,0,4,k[ga>>2]|0)|0;k[x>>2]=p;if(!(k[x>>2]|0)){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}p=LG(k[x>>2]|0,s)|0;k[R>>2]=p;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[w>>1]|0))break;XA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,j[(k[(k[ja>>2]|0)+4>>2]|0)+(k[da>>2]<<1)>>1]|0,(k[u>>2]|0)+(k[da>>2]|0)|0);k[da>>2]=(k[da>>2]|0)+1}e=k[na>>2]|0;if(k[R>>2]|0){RA(e,k[q>>2]|0)|0;k[Q>>2]=j[w>>1];k[T>>2]=k[u>>2]}else{o=k[u>>2]|0;p=j[w>>1]|0;q=k[T>>2]|0;u=MC(k[ca>>2]|0,k[ja>>2]|0)|0;wx(e,99,o,p,q,u,j[w>>1]|0)|0;sx(k[na>>2]|0,126,k[fa>>2]|0,k[T>>2]|0)|0}BD(k[x>>2]|0)}if((k[(k[ca>>2]|0)+24>>2]&128|0)!=0?(k[(k[X>>2]|0)+128>>2]|0)==0:0){w=(k[X>>2]|0)+44|0;x=(k[w>>2]|0)+1|0;k[w>>2]=x;k[la>>2]=x;sx(k[na>>2]|0,76,0,k[la>>2]|0)|0}x=eA(k[na>>2]|0)|0;k[ha>>2]=x;if(!(k[H>>2]|0)){b:do if((k[K>>2]|0)==5)dS(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0;else{k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break b;if((l[(k[ia>>2]|0)+54>>0]|0)==5)break;k[ia>>2]=k[(k[ia>>2]|0)+20>>2]}dS(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0}while(0);do if(k[R>>2]|0){if((k[s>>2]|0)>=0)i[(k[$>>2]|0)+((k[s>>2]|0)-(k[t>>2]|0))>>0]=0;if((k[s+4>>2]|0)<0)break;i[(k[$>>2]|0)+((k[s+4>>2]|0)-(k[t>>2]|0))>>0]=0}while(0);PC(k[X>>2]|0,k[ka>>2]|0,105,0,k[t>>2]|0,k[$>>2]|0,0,0)|0}do if(!(k[R>>2]|0)){e=k[na>>2]|0;if(k[ja>>2]|0){A=eA(e)|0;k[W>>2]=A;sx(k[na>>2]|0,57,k[fa>>2]|0,k[ha>>2]|0)|0;A=sx(k[na>>2]|0,121,k[fa>>2]|0,k[T>>2]|0)|0;k[ba>>2]=A;Sh(k[na>>2]|0,30,k[ea>>2]|0,k[W>>2]|0,k[T>>2]|0,0)|0;break}else{A=tx(e,62,k[A>>2]|0,k[ha>>2]|0,k[V>>2]|0)|0;k[W>>2]=A;tx(k[na>>2]|0,33,k[ea>>2]|0,k[W>>2]|0,k[V>>2]|0)|0;break}}else{if(!((k[H>>2]|0)!=0?1:(l[(k[$>>2]|0)+((k[ea>>2]|0)-(k[t>>2]|0))>>0]|0)==0))Sh(k[na>>2]|0,30,k[ea>>2]|0,k[ha>>2]|0,k[T>>2]|0,k[Q>>2]|0)|0;k[W>>2]=k[ha>>2];sx(k[na>>2]|0,34,(k[ja>>2]|0)!=0?k[T>>2]|0:k[V>>2]|0,k[ha>>2]|0)|0}while(0);if(i[B>>0]|0){$A(k[X>>2]|0,k[z>>2]|0,k[U>>2]|0);aA(k[na>>2]|0,17,k[U>>2]|0)|0}do if((l[y>>0]|0)!=0|(k[P>>2]|0)!=0|(k[S>>2]|0)!=0){if(k[P>>2]|0)e=AF(k[X>>2]|0,k[ka>>2]|0)|0;else e=0;k[E>>2]=e;A=zF(k[X>>2]|0,k[S>>2]|0,k[Z>>2]|0,0,3,k[ka>>2]|0,k[K>>2]|0)|0;k[E>>2]=k[E>>2]|A;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;do if((k[E>>2]|0)==-1)J=120;else{if((k[da>>2]|0)<32?(k[E>>2]&1<>2]|0)!=0:0){J=120;break}if(l[(k[(k[ka>>2]|0)+4>>2]|0)+(k[da>>2]<<4)+15>>0]&1){J=120;break}sx(k[na>>2]|0,79,0,(k[F>>2]|0)+(k[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;XA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[da>>2]|0,(k[F>>2]|0)+(k[da>>2]|0)|0)}k[da>>2]=(k[da>>2]|0)+1}if(!((l[B>>0]|0)==0&(k[ja>>2]|0)==0))break;sx(k[na>>2]|0,84,k[V>>2]|0,k[U>>2]|0)|0}while(0);F=zF(k[X>>2]|0,k[S>>2]|0,k[Z>>2]|0,1,1,k[ka>>2]|0,k[K>>2]|0)|0;k[D>>2]=F;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;c:do if((k[da>>2]|0)==(j[(k[ka>>2]|0)+32>>1]|0))sx(k[na>>2]|0,79,0,(k[I>>2]|0)+(k[da>>2]|0)|0)|0;else{k[C>>2]=k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2];if((k[C>>2]|0)>=0){$A(k[X>>2]|0,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0);break}do if(!((k[da>>2]|0)>31?1:0==(k[G>>2]&1|0))){if(k[D>>2]&1<>2])break;sx(k[na>>2]|0,79,0,(k[I>>2]|0)+(k[da>>2]|0)|0)|0;break c}while(0);fE(k[X>>2]|0,k[ka>>2]|0,k[da>>2]|0,k[ea>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0)}while(0);k[da>>2]=(k[da>>2]|0)+1}d:do if(k[G>>2]&1){jD(k[na>>2]|0,k[ka>>2]|0,k[I>>2]|0);kD(k[X>>2]|0,k[S>>2]|0,110,k[Z>>2]|0,1,k[ka>>2]|0,k[V>>2]|0,k[K>>2]|0,k[W>>2]|0);e=k[na>>2]|0;c=k[ea>>2]|0;a=k[W>>2]|0;if(k[ja>>2]|0)Sh(e,30,c,a,k[T>>2]|0,k[Q>>2]|0)|0;else tx(e,33,c,a,k[V>>2]|0)|0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break d;do if((k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2]|0)<0){if((k[da>>2]|0)==(j[(k[ka>>2]|0)+32>>1]|0))break;XA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[da>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0)}while(0);k[da>>2]=(k[da>>2]|0)+1}}while(0);do if(!(k[H>>2]|0)){k[M>>2]=0;k[N>>2]=0;oD(k[X>>2]|0,k[ka>>2]|0,k[L>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[U>>2]|0,k[V>>2]|0,i[O>>0]|0,k[K>>2]&255,k[W>>2]|0,N,k[aa>>2]|0);if(k[P>>2]|0)pD(k[X>>2]|0,k[ka>>2]|0,k[V>>2]|0,0,k[aa>>2]|0,l[O>>0]|0);if(!((k[N>>2]|0)==0?(l[O>>0]|0)==0:0))J=151;do if((J|0)==151){e=k[na>>2]|0;c=k[ea>>2]|0;if(k[ja>>2]|0){T=Sh(e,30,c,0,k[T>>2]|0,k[Q>>2]|0)|0;k[M>>2]=T;break}else{T=tx(e,33,c,0,k[V>>2]|0)|0;k[M>>2]=T;break}}while(0);yF(k[X>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[L>>2]|0,-1);if(!((k[P>>2]|0)==0?!((l[O>>0]|0)!=0|(k[ja>>2]|0)!=0):0))sx(k[na>>2]|0,117,k[ea>>2]|0,0)|0;if(!((k[N>>2]|0)==0?(l[O>>0]|0)==0:0))hA(k[na>>2]|0,k[M>>2]|0);if(k[P>>2]|0)pD(k[X>>2]|0,k[ka>>2]|0,0,k[U>>2]|0,k[aa>>2]|0,l[O>>0]|0);qD(k[X>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[U>>2]|0,k[L>>2]|0,1,0,0);if(!(k[P>>2]|0))break;BF(k[X>>2]|0,k[ka>>2]|0,k[Z>>2]|0,k[V>>2]|0,k[aa>>2]|0,l[O>>0]|0)}while(0);do if(k[(k[ca>>2]|0)+24>>2]&128){if(k[(k[X>>2]|0)+128>>2]|0)break;sx(k[na>>2]|0,91,k[la>>2]|0,1)|0}while(0);kD(k[X>>2]|0,k[S>>2]|0,110,k[Z>>2]|0,2,k[ka>>2]|0,k[V>>2]|0,k[K>>2]|0,k[W>>2]|0);do if(!(k[R>>2]|0)){c=k[na>>2]|0;e=k[W>>2]|0;if(k[ja>>2]|0){iA(c,e);sx(k[na>>2]|0,7,k[fa>>2]|0,k[ba>>2]|0)|0;break}else{gA(c,e)|0;break}}while(0);iA(k[na>>2]|0,k[ha>>2]|0);k[da>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;if(i[(k[$>>2]|0)+((k[da>>2]|0)+1)>>0]|0)sx(k[na>>2]|0,111,(k[ga>>2]|0)+(k[da>>2]|0)|0,0)|0;k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[da>>2]=(k[da>>2]|0)+1}if((k[ea>>2]|0)<(k[ga>>2]|0))sx(k[na>>2]|0,111,k[ea>>2]|0,0)|0;do if(!(l[(k[X>>2]|0)+18>>0]|0)){if(k[(k[X>>2]|0)+128>>2]|0)break;rD(k[X>>2]|0)}while(0);if(!(k[(k[ca>>2]|0)+24>>2]&128)){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(k[(k[X>>2]|0)+128>>2]|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(i[(k[X>>2]|0)+18>>0]|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}sx(k[na>>2]|0,87,k[la>>2]|0,1)|0;wC(k[na>>2]|0,1);xC(k[na>>2]|0,0,0,35325,0)|0;MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}else if((J|0)==185){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}}function pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;e=q+40|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;n=q+20|0;j=q+16|0;m=q+12|0;o=q+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];if(k[f>>2]|0)c=k[k[f>>2]>>2]|0;else c=0;k[m>>2]=c;do if(!((k[g>>2]|0)==0|(k[h>>2]|0)==0)){a=mz(k[h>>2]|0)|0;k[n>>2]=a;if((k[(k[g>>2]|0)+4>>2]|0)!=(k[n>>2]|0)){o=k[e>>2]|0;n=k[n>>2]|0;k[p>>2]=k[(k[g>>2]|0)+4>>2];k[p+4>>2]=n;Oh(o,35295,p);break}k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[n>>2]|0))break;p=mF(k[e>>2]|0,k[h>>2]|0,k[j>>2]|0)|0;k[o>>2]=p;p=bw(k[e>>2]|0,k[f>>2]|0,k[o>>2]|0)|0;k[f>>2]=p;if(k[f>>2]|0){k[(k[(k[f>>2]|0)+4>>2]|0)+(((k[k[f>>2]>>2]|0)-1|0)*20|0)+4>>2]=k[(k[k[g>>2]>>2]|0)+(k[j>>2]<<3)>>2];k[(k[k[g>>2]>>2]|0)+(k[j>>2]<<3)>>2]=0}k[j>>2]=(k[j>>2]|0)+1}if(((k[f>>2]|0)!=0?(l[k[h>>2]>>0]|0|0)==119:0)?(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)>>2]|0)!=0:0){k[(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)>>2]|0)+16>>2]=k[h>>2];k[h>>2]=0}}while(0);sv(k[i>>2]|0,k[h>>2]|0);uv(k[i>>2]|0,k[g>>2]|0);r=q;return k[f>>2]|0} -function aI(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+576|0;G=I+16|0;s=I+8|0;m=I;C=I+572|0;u=I+568|0;o=I+564|0;v=I+560|0;h=I+556|0;w=I+552|0;p=I+548|0;H=I+544|0;E=I+540|0;x=I+536|0;F=I+56|0;j=I+48|0;n=I+44|0;t=I+40|0;q=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;D=I+20|0;k[C>>2]=a;k[u>>2]=b;k[o>>2]=c;k[v>>2]=d;k[h>>2]=e;k[w>>2]=f;k[p>>2]=g;k[H>>2]=0;k[E>>2]=0;dS(F|0,0,152)|0;a=F+400|0;c=a+80|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(c|0));k[F+432>>2]=k[h>>2];k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[C>>2]|0)+20>>2]|0))break;k[j>>2]=k[(k[(k[C>>2]|0)+16>>2]|0)+(k[x>>2]<<4)+4>>2];if((k[j>>2]|0)!=0?(h=bI(k[j>>2]|0)|0,k[E>>2]=h,(k[E>>2]|0)!=0):0){B=5;break}k[x>>2]=(k[x>>2]|0)+1}if((B|0)==5){k[n>>2]=k[(k[(k[C>>2]|0)+16>>2]|0)+(k[x>>2]<<4)>>2];H=k[C>>2]|0;G=k[E>>2]|0;k[m>>2]=k[n>>2];tg(H,G,39591,m);Zh(F);G=k[C>>2]|0;H=k[E>>2]|0;H=ch(G,H)|0;k[E>>2]=H;H=k[E>>2]|0;r=I;return H|0}Eu(k[C>>2]|0);k[F>>2]=k[C>>2];do if((k[o>>2]|0)>=0){if((k[o>>2]|0)!=0?(i[(k[u>>2]|0)+((k[o>>2]|0)-1)>>0]|0)==0:0){B=15;break}k[q>>2]=k[(k[C>>2]|0)+96+4>>2];a=k[C>>2]|0;if((k[o>>2]|0)>(k[q>>2]|0)){tg(a,18,39621,s);G=ch(k[C>>2]|0,18)|0;k[E>>2]=G;Zh(F);G=k[C>>2]|0;H=k[E>>2]|0;H=ch(G,H)|0;k[E>>2]=H;H=k[E>>2]|0;r=I;return H|0}s=k[o>>2]|0;s=gx(a,k[u>>2]|0,s,((s|0)<0)<<31>>31)|0;k[t>>2]=s;if(k[t>>2]|0){gi(F,k[t>>2]|0,H)|0;k[F+436>>2]=(k[u>>2]|0)+((k[F+436>>2]|0)-(k[t>>2]|0));bg(k[C>>2]|0,k[t>>2]|0);break}else{k[F+436>>2]=(k[u>>2]|0)+(k[o>>2]|0);break}}else B=15;while(0);if((B|0)==15)gi(F,k[u>>2]|0,H)|0;if((k[F+12>>2]|0)==101)k[F+12>>2]=0;if(i[F+17>>0]|0)cI(F);if(i[(k[C>>2]|0)+69>>0]|0)k[F+12>>2]=7;if(k[p>>2]|0)k[k[p>>2]>>2]=k[F+436>>2];k[E>>2]=k[F+12>>2];a:do if(((k[E>>2]|0)==0?(k[F+8>>2]|0)!=0:0)?(l[F+409>>0]|0)!=0:0){a=k[F+8>>2]|0;if((l[F+409>>0]|0)==2){wC(a,4);k[y>>2]=8;k[z>>2]=12}else{wC(a,8);k[y>>2]=0;k[z>>2]=8}k[x>>2]=k[y>>2];while(1){if((k[x>>2]|0)>=(k[z>>2]|0))break a;xC(k[F+8>>2]|0,(k[x>>2]|0)-(k[y>>2]|0)|0,0,k[5524+(k[x>>2]<<2)>>2]|0,0)|0;k[x>>2]=(k[x>>2]|0)+1}}while(0);if(!(l[(k[C>>2]|0)+148+5>>0]|0)){k[A>>2]=k[F+8>>2];dI(k[A>>2]|0,k[u>>2]|0,(k[F+436>>2]|0)-(k[u>>2]|0)|0,k[v>>2]|0)}do if(k[F+8>>2]|0){if((k[E>>2]|0)==0?(l[(k[C>>2]|0)+69>>0]|0)==0:0){B=39;break}bh(k[F+8>>2]|0)|0}else B=39;while(0);if((B|0)==39)k[k[w>>2]>>2]=k[F+8>>2];a=k[C>>2]|0;c=k[E>>2]|0;if(k[H>>2]|0){k[G>>2]=k[H>>2];tg(a,c,18391,G);bg(k[C>>2]|0,k[H>>2]|0)}else vg(a,c);while(1){if(!(k[F+468>>2]|0))break;k[D>>2]=k[F+468>>2];k[F+468>>2]=k[(k[D>>2]|0)+4>>2];bg(k[C>>2]|0,k[D>>2]|0)}Zh(F);G=k[C>>2]|0;H=k[E>>2]|0;H=ch(G,H)|0;k[E>>2]=H;H=k[E>>2]|0;r=I;return H|0}function bI(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;wg(k[d>>2]|0);a=eI(k[d>>2]|0,1,1)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function cI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;d=i+20|0;e=i+16|0;h=i+12|0;c=i+8|0;f=i+4|0;g=i;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){b=14;break}k[f>>2]=0;k[g>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[g>>2]|0){if(!(yg(k[g>>2]|0)|0)){a=zg(k[g>>2]|0,0)|0;k[h>>2]=a;if((k[h>>2]|0)==7|(k[h>>2]|0)==3082)wh(k[d>>2]|0);if(k[h>>2]|0){b=14;break}k[f>>2]=1}Bg(k[g>>2]|0,1,c);if((k[c>>2]|0)!=(k[k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]>>2]|0)){Gj(k[d>>2]|0,k[e>>2]|0);k[(k[b>>2]|0)+12>>2]=17}if(k[f>>2]|0)Qj(k[g>>2]|0)|0}k[e>>2]=(k[e>>2]|0)+1}if((b|0)==14){r=i;return}}function dI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[e>>2]|0)){r=i;return}b=k[g>>2]|0;b=gx(k[k[e>>2]>>2]|0,k[f>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+176>>2]=b;b=(k[e>>2]|0)+144|0;j[b>>1]=j[b>>1]&-513|(k[h>>2]&1)<<9&65535;r=i;return}function eI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=r;r=r+32|0;d=p+16|0;e=p+12|0;f=p+8|0;g=p+20|0;h=p+4|0;n=p;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];if(!(i[(k[e>>2]|0)+9>>0]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}if((k[(k[h>>2]|0)+76>>2]|0)!=(k[e>>2]|0)?(m[(k[h>>2]|0)+22>>1]&32|0)!=0:0){k[d>>2]=262;o=k[d>>2]|0;r=p;return o|0}k[n>>2]=k[(k[h>>2]|0)+72>>2];while(1){if(!(k[n>>2]|0)){o=15;break}if(((k[k[n>>2]>>2]|0)!=(k[e>>2]|0)?(k[(k[n>>2]|0)+4>>2]|0)==(k[f>>2]|0):0)?(l[(k[n>>2]|0)+8>>0]|0)!=(l[g>>0]|0):0)break;k[n>>2]=k[(k[n>>2]|0)+12>>2]}if((o|0)==15){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}if((l[g>>0]|0)==2){o=(k[h>>2]|0)+22|0;j[o>>1]=m[o>>1]|64}k[d>>2]=262;o=k[d>>2]|0;r=p;return o|0}function fI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;d=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[j>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break;if((k[g>>2]|0)!=(k[f>>2]|0)){if(!(k[e>>2]|0))break;if((k[(k[g>>2]|0)+52>>2]|0)==(k[e>>2]|0))break}k[g>>2]=k[(k[g>>2]|0)+8>>2]}if(k[g>>2]|0){j=gI(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=j;j=k[d>>2]|0;r=h;return j|0}if(k[f>>2]|0){j=(k[f>>2]|0)+64|0;i[j>>0]=(l[j>>0]|0)&-33}k[d>>2]=0;j=k[d>>2]|0;r=h;return j|0}function gI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a:while(1){do if((k[d>>2]|0)!=(k[f>>2]|0)){if(0!=(k[e>>2]|0)?(k[(k[d>>2]|0)+52>>2]|0)!=(k[e>>2]|0):0)break;if((l[(k[d>>2]|0)+66>>0]|0|0)!=1?(l[(k[d>>2]|0)+66>>0]|0|0)!=2:0){iI(k[d>>2]|0);break}c=hI(k[d>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){d=8;break a}}while(0);k[d>>2]=k[(k[d>>2]|0)+8>>2];if(!(k[d>>2]|0)){d=11;break}}if((d|0)==8){k[g>>2]=k[h>>2];h=k[g>>2]|0;r=i;return h|0}else if((d|0)==11){k[g>>2]=0;h=k[g>>2]|0;r=i;return h|0}return 0}function hI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=k[b>>2]|0;if((l[(k[b>>2]|0)+66>>0]|0|0)==2)i[a+66>>0]=1;else k[a+60>>2]=0;a=jI(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){iI(k[b>>2]|0);i[(k[b>>2]|0)+66>>0]=3}b=(k[b>>2]|0)+64|0;i[b>>0]=(l[b>>0]|0)&-15;r=d;return k[c>>2]|0}function iI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>(i[(k[b>>2]|0)+68>>0]|0))break;_B(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0);k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]=0;k[c>>2]=(k[c>>2]|0)+1}i[(k[b>>2]|0)+68>>0]=-1;r=d;return}function jI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;d=e+4|0;b=e;k[c>>2]=a;k[d>>2]=0;a=k[c>>2]|0;if(i[(k[c>>2]|0)+69>>0]|0){b=kI(a)|0;c=(k[c>>2]|0)+40|0;k[c>>2]=b;k[c+4>>2]=L;d=k[d>>2]|0;r=e;return d|0}f=lI(a)|0;a=(k[c>>2]|0)+40|0;k[a>>2]=f;k[a+4>>2]=0;a=(k[c>>2]|0)+40|0;a=jg(k[a>>2]|0,k[a+4>>2]|0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){k[d>>2]=7;f=k[d>>2]|0;r=e;return f|0}a=mI(k[c>>2]|0,0,k[(k[c>>2]|0)+40>>2]|0,k[b>>2]|0)|0;k[d>>2]=a;a=k[b>>2]|0;if(!(k[d>>2]|0)){k[(k[c>>2]|0)+48>>2]=a;f=k[d>>2]|0;r=e;return f|0}else{Ud(a);f=k[d>>2]|0;r=e;return f|0}return 0}function kI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;aG(k[c>>2]|0);a=(k[c>>2]|0)+16|0;L=k[a+4>>2]|0;r=b;return k[a>>2]|0}function lI(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;aG(k[b>>2]|0);r=c;return k[(k[b>>2]|0)+16+12>>2]|0}function mI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;a=$F(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return a|0}function nI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;wg(k[k[c>>2]>>2]|0);r=b;return}function oI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+64|0;i[a>>0]=l[a>>0]|0|16;i[(k[k[c>>2]>>2]|0)+11>>0]=1;r=b;return}function pI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){f=k[e>>2]|0;r=g;return f|0}k[f>>2]=(k[f>>2]|0)+7&-8;c=k[f>>2]|0;a=k[d>>2]|0;if((k[f>>2]|0)<=(k[(k[d>>2]|0)+4>>2]|0)){f=a+4|0;k[f>>2]=(k[f>>2]|0)-c;k[e>>2]=(k[k[d>>2]>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);f=k[e>>2]|0;r=g;return f|0}else{f=a+8|0;k[f>>2]=(k[f>>2]|0)+c;f=k[e>>2]|0;r=g;return f|0}return 0}function qI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(i[(k[f>>2]|0)+1>>0]|0){SA(k[k[e>>2]>>2]|0,i[(k[f>>2]|0)+1>>0]|0,k[(k[f>>2]|0)+16>>2]|0);i[(k[f>>2]|0)+1>>0]=0;k[(k[f>>2]|0)+16>>2]=0}if((k[h>>2]|0)<0){Wh(k[e>>2]|0,((k[f>>2]|0)-(k[(k[e>>2]|0)+88>>2]|0)|0)/20|0,k[g>>2]|0,k[h>>2]|0);r=j;return}if(!(k[h>>2]|0)){c=Tf(k[g>>2]|0)|0;k[h>>2]=c}c=k[h>>2]|0;c=gx(k[k[e>>2]>>2]|0,k[g>>2]|0,c,((c|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+16>>2]=c;i[(k[f>>2]|0)+1>>0]=-1;r=j;return}function rI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function sI(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+9>>0]|0|0}function tI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p;c=p+32|0;d=p+28|0;e=p+24|0;g=p+20|0;h=p+16|0;o=p+12|0;m=p+8|0;f=p+4|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[k[e>>2]>>2];k[o>>2]=0;k[f>>2]=k[k[d>>2]>>2];if(k[(k[e>>2]|0)+16>>2]|0){k[c>>2]=1;o=k[c>>2]|0;r=p;return o|0}if((k[(k[g>>2]|0)+4>>2]|0)!=0?(k[(k[g>>2]|0)+4>>2]|0)!=(k[(k[g>>2]|0)+8>>2]|0):0){k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}a=Ch(k[f>>2]|0,72,0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}a=Ah(k[f>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;k[k[h>>2]>>2]=a;if(!(k[k[h>>2]>>2]|0)){bg(k[f>>2]|0,k[h>>2]|0);k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}k[(k[e>>2]|0)+16>>2]=k[h>>2];j[(k[h>>2]|0)+36>>1]=1;k[(k[h>>2]|0)+64>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+12>>2];a=(k[h>>2]|0)+42|0;i[a>>0]=l[a>>0]|0|16;k[(k[h>>2]|0)+48>>2]=0;j[(k[h>>2]|0)+32>>1]=-1;a=k[f>>2]|0;b=k[h>>2]|0;jx(a,b,Ah(k[f>>2]|0,k[k[h>>2]>>2]|0)|0);jx(k[f>>2]|0,k[h>>2]|0,0);b=k[f>>2]|0;a=k[h>>2]|0;jx(b,a,Ah(k[f>>2]|0,k[k[h>>2]>>2]|0)|0);h=Tz(k[f>>2]|0,k[h>>2]|0,k[e>>2]|0,k[(k[g>>2]|0)+8>>2]|0,o)|0;k[m>>2]=h;if(k[m>>2]|0){m=k[d>>2]|0;k[n>>2]=k[o>>2];Oh(m,18391,n);bg(k[f>>2]|0,k[o>>2]|0);uI(k[f>>2]|0,k[e>>2]|0);k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}else{k[c>>2]=1;o=k[c>>2]|0;r=p;return o|0}return 0}function uI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[e>>2]|0)){r=f;return}b=(k[e>>2]|0)+42|0;i[b>>0]=l[b>>0]|0|2;$f(k[c>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+16>>2]=0;r=f;return}function vI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[k[d>>2]>>2]=0;while(1){if(!(i[k[c>>2]>>0]|0)){h=6;break}b=jv(k[c>>2]|0,g)|0;k[e>>2]=b;b=k[e>>2]|0;if((k[g>>2]|0)==135)break;k[f>>2]=(k[f>>2]|0)+b;k[c>>2]=(k[c>>2]|0)+(k[e>>2]|0)}if((h|0)==6){h=k[f>>2]|0;r=j;return h|0}k[k[d>>2]>>2]=b;h=k[f>>2]|0;r=j;return h|0}function wI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;fh(k[c>>2]|0);b=k[c>>2]|0;a=k[d>>2]|0;c=b+40|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));j[(k[d>>2]|0)+8>>1]=1;k[(k[d>>2]|0)+24>>2]=0;r=e;return}function xI(){return 320}function yI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=r;r=r+224|0;d=c+220|0;e=c+216|0;h=c;g=c+212|0;f=c+208|0;k[d>>2]=a;k[e>>2]=b;bS(h|0,k[d>>2]|0,208)|0;bS(k[d>>2]|0,k[e>>2]|0,208)|0;bS(k[e>>2]|0,h|0,208)|0;k[g>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=k[(k[e>>2]|0)+8>>2];k[(k[e>>2]|0)+8>>2]=k[g>>2];k[g>>2]=k[(k[d>>2]|0)+4>>2];k[(k[d>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];k[(k[e>>2]|0)+4>>2]=k[g>>2];k[f>>2]=k[(k[d>>2]|0)+176>>2];k[(k[d>>2]|0)+176>>2]=k[(k[e>>2]|0)+176>>2];k[(k[e>>2]|0)+176>>2]=k[f>>2];b=(k[e>>2]|0)+144|0;j[b>>1]=j[b>>1]&-513|((m[(k[d>>2]|0)+144>>1]|0)>>>9&1)<<9&65535;r=c;return}function zI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+40>>2]=0;r=b;return}function AI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0.0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;f=g+8|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[k[c>>2]>>2]|0)>=2?(k[(k[c>>2]|0)+72>>2]|0)!=0:0){e=gc[k[(k[c>>2]|0)+72>>2]&255](k[c>>2]|0,k[d>>2]|0)|0;k[f>>2]=e;f=k[f>>2]|0;r=g;return f|0}a=gc[k[(k[c>>2]|0)+64>>2]&255](k[c>>2]|0,e)|0;k[f>>2]=a;h=+p[e>>3]*864.0e5;a=+W(h)>=1.0?(h>0.0?~~+ia(+V(h/4294967296.0),4294967295.0)>>>0:~~+ga((h-+(~~h>>>0))/4294967296.0)>>>0):0;e=k[d>>2]|0;k[e>>2]=~~h>>>0;k[e+4>>2]=a;f=k[f>>2]|0;r=g;return f|0}function BI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=r;r=r+80|0;w=y+8|0;p=y;q=y+68|0;s=y+64|0;h=y+60|0;n=y+56|0;b=y+52|0;o=y+48|0;c=y+44|0;d=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;e=y+20|0;g=y+16|0;f=y+12|0;k[s>>2]=a;k[n>>2]=0;k[b>>2]=0;k[o>>2]=0;k[c>>2]=k[k[s>>2]>>2];k[v>>2]=0;k[t>>2]=(k[(k[s>>2]|0)+92>>2]|0)+40;YC(k[t>>2]|0,8);k[(k[s>>2]|0)+104>>2]=0;if((k[(k[s>>2]|0)+40>>2]|0)==7){wh(k[c>>2]|0);k[q>>2]=1;x=k[q>>2]|0;r=y;return x|0}k[h>>2]=k[(k[s>>2]|0)+136>>2];a:do if(((m[(k[s>>2]|0)+144>>1]|0)>>>2&3|0)==1){k[o>>2]=(k[(k[s>>2]|0)+92>>2]|0)+360;if(m[(k[o>>2]|0)+8>>1]&16){k[n>>2]=((k[(k[o>>2]|0)+12>>2]|0)>>>0)/4|0;k[b>>2]=k[(k[o>>2]|0)+16>>2]}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[n>>2]|0))break a;k[h>>2]=(k[h>>2]|0)+(k[(k[(k[b>>2]|0)+(k[d>>2]<<2)>>2]|0)+4>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);do{z=(k[s>>2]|0)+36|0;a=k[z>>2]|0;k[z>>2]=a+1;k[d>>2]=a;if((k[d>>2]|0)>=(k[h>>2]|0))break;if(((m[(k[s>>2]|0)+144>>1]|0)>>>2&3|0)!=2)break}while((l[(k[(k[s>>2]|0)+88>>2]|0)+((k[d>>2]|0)*20|0)>>0]|0)!=162);do if((k[d>>2]|0)>=(k[h>>2]|0)){k[(k[s>>2]|0)+40>>2]=0;k[v>>2]=101}else{if(k[(k[c>>2]|0)+248>>2]|0){k[(k[s>>2]|0)+40>>2]=9;k[v>>2]=1;z=k[s>>2]|0;KI(z,vh(k[(k[s>>2]|0)+40>>2]|0)|0,p);break}if((k[d>>2]|0)<(k[(k[s>>2]|0)+136>>2]|0))k[u>>2]=(k[(k[s>>2]|0)+88>>2]|0)+((k[d>>2]|0)*20|0);else{k[d>>2]=(k[d>>2]|0)-(k[(k[s>>2]|0)+136>>2]|0);k[e>>2]=0;while(1){if((k[d>>2]|0)<(k[(k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]|0)+4>>2]|0))break;k[d>>2]=(k[d>>2]|0)-(k[(k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]|0)+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}k[u>>2]=(k[k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]>>2]|0)+((k[d>>2]|0)*20|0)}if(((m[(k[s>>2]|0)+144>>1]|0)>>>2&3|0)==1?(j[(k[t>>2]|0)+8>>1]=4,p=k[d>>2]|0,z=k[t>>2]|0,k[z>>2]=p,k[z+4>>2]=((p|0)<0)<<31>>31,k[t>>2]=(k[t>>2]|0)+40,j[(k[t>>2]|0)+8>>1]=2562,z=$M(l[k[u>>2]>>0]|0)|0,k[(k[t>>2]|0)+16>>2]=z,z=Tf(k[(k[t>>2]|0)+16>>2]|0)|0,k[(k[t>>2]|0)+12>>2]=z,i[(k[t>>2]|0)+10>>0]=1,k[t>>2]=(k[t>>2]|0)+40,(i[(k[u>>2]|0)+1>>0]|0)==-18):0){k[g>>2]=(k[n>>2]|0)+1<<2;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[n>>2]|0))break;if((k[(k[b>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[(k[u>>2]|0)+16>>2]|0))break;k[f>>2]=(k[f>>2]|0)+1}if((k[f>>2]|0)==(k[n>>2]|0)?0==(Yx(k[o>>2]|0,k[g>>2]|0,(k[n>>2]|0)!=0&1)|0):0){k[b>>2]=k[(k[o>>2]|0)+16>>2];p=k[(k[u>>2]|0)+16>>2]|0;z=k[n>>2]|0;k[n>>2]=z+1;k[(k[b>>2]|0)+(z<<2)>>2]=p;z=(k[o>>2]|0)+8|0;j[z>>1]=m[z>>1]|16;k[(k[o>>2]|0)+12>>2]=k[n>>2]<<2}}j[(k[t>>2]|0)+8>>1]=4;p=k[(k[u>>2]|0)+4>>2]|0;z=k[t>>2]|0;k[z>>2]=p;k[z+4>>2]=((p|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=4;z=k[(k[u>>2]|0)+8>>2]|0;p=k[t>>2]|0;k[p>>2]=z;k[p+4>>2]=((z|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=4;p=k[(k[u>>2]|0)+12>>2]|0;z=k[t>>2]|0;k[z>>2]=p;k[z+4>>2]=((p|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;if(Xx(k[t>>2]|0,100)|0){k[q>>2]=1;z=k[q>>2]|0;r=y;return z|0}j[(k[t>>2]|0)+8>>1]=514;b=aN(k[u>>2]|0,k[(k[t>>2]|0)+16>>2]|0,k[(k[t>>2]|0)+24>>2]|0)|0;k[x>>2]=b;b=k[t>>2]|0;if((k[x>>2]|0)!=(k[(k[t>>2]|0)+16>>2]|0)){k[b+12>>2]=0;qh(k[t>>2]|0,k[x>>2]|0,-1,1,0)|0}else{z=Tf(k[b+16>>2]|0)|0;k[(k[t>>2]|0)+12>>2]=z;i[(k[t>>2]|0)+10>>0]=1}k[t>>2]=(k[t>>2]|0)+40;do if(((m[(k[s>>2]|0)+144>>1]|0)>>>2&3|0)==1){if(!(Xx(k[t>>2]|0,4)|0)){j[(k[t>>2]|0)+8>>1]=514;k[(k[t>>2]|0)+12>>2]=2;z=k[(k[t>>2]|0)+16>>2]|0;k[w>>2]=l[(k[u>>2]|0)+3>>0];_d(3,z,41910,w)|0;i[(k[t>>2]|0)+10>>0]=1;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=1;break}k[q>>2]=1;z=k[q>>2]|0;r=y;return z|0}while(0);j[(k[s>>2]|0)+140>>1]=8-(((m[(k[s>>2]|0)+144>>1]|0)>>>2&3)-1<<2);k[(k[s>>2]|0)+104>>2]=(k[(k[s>>2]|0)+92>>2]|0)+40;k[(k[s>>2]|0)+40>>2]=0;k[v>>2]=100}while(0);k[q>>2]=k[v>>2];z=k[q>>2]|0;r=y;return z|0}function CI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ha=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Zb=0,_b=0,ac=0,dc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0.0,yf=0;vf=r;r=r+1872|0;Ie=vf+536|0;He=vf+528|0;Ge=vf+520|0;hf=vf+504|0;gf=vf+496|0;Fe=vf+488|0;Ee=vf+480|0;De=vf+472|0;Ce=vf+464|0;Be=vf+456|0;Ae=vf+440|0;ff=vf+432|0;ze=vf+424|0;ye=vf+416|0;xe=vf+408|0;we=vf+400|0;ve=vf+392|0;of=vf+376|0;nf=vf+368|0;mf=vf+360|0;lf=vf+352|0;qf=vf+1656|0;df=vf+1652|0;pf=vf+1648|0;uf=vf+1644|0;rf=vf+1640|0;ef=vf+1862|0;F=vf+1861|0;ca=vf+1636|0;tf=vf+1632|0;_a=vf+1628|0;e=vf+1624|0;Jc=vf+1620|0;Kc=vf+1616|0;Lc=vf+1612|0;dd=vf+1608|0;g=vf+1604|0;sf=vf+344|0;b=vf+1600|0;Sb=vf+1596|0;Cd=vf+1592|0;Bc=vf+1588|0;jf=vf+1584|0;A=vf+1580|0;db=vf+1670|0;sd=vf+1576|0;Ea=vf+1572|0;kb=vf+1568|0;ob=vf+1564|0;Fa=vf+1560|0;Rc=vf+1556|0;O=vf+1552|0;Ma=vf+336|0;w=vf+1860|0;J=vf+1668|0;ne=vf+1666|0;oe=vf+1664|0;_=vf+328|0;aa=vf+320|0;Kd=vf+312|0;Ld=vf+304|0;Ga=vf+1548|0;dc=vf+1544|0;U=vf+1540|0;ic=vf+1536|0;$=vf+296|0;pe=vf+288|0;ba=vf+280|0;hb=vf+1859|0;Md=vf+1532|0;Pd=vf+1528|0;q=vf+1858|0;K=vf+1662|0;M=vf+1660|0;Ia=vf+1524|0;X=vf+1520|0;nb=vf+1516|0;pb=vf+1512|0;Nc=vf+1508|0;ua=vf+1504|0;Tb=vf+1500|0;x=vf+1496|0;re=vf+1492|0;se=vf+1488|0;y=vf+1484|0;qb=vf+1480|0;xb=vf+1476|0;Ub=vf+1472|0;f=vf+1468|0;Ca=vf+1464|0;Q=vf+1460|0;yc=vf+1456|0;ee=vf+240|0;Te=vf+1452|0;Ye=vf+1448|0;We=vf+1444|0;fb=vf+1440|0;gb=vf+232|0;v=vf+1436|0;ie=vf+1432|0;id=vf+1428|0;Re=vf+1424|0;z=vf+1857|0;$e=vf+1420|0;hd=vf+1416|0;Qa=vf+224|0;Wa=vf+1412|0;Na=vf+216|0;bb=vf+208|0;ab=vf+1408|0;he=vf+1404|0;uc=vf+1400|0;Qc=vf+1396|0;Ta=vf+1392|0;Se=vf+1388|0;I=vf+1384|0;T=vf+1380|0;Ba=vf+1376|0;Da=vf+1372|0;Ra=vf+200|0;Vb=vf+1368|0;mb=vf+1364|0;_e=vf+1360|0;Za=vf+1356|0;cd=vf+1352|0;kd=vf+1348|0;od=vf+1344|0;sa=vf+1340|0;va=vf+1336|0;za=vf+1332|0;ya=vf+1328|0;C=vf+1324|0;ra=vf+1320|0;tb=vf+1316|0;na=vf+1312|0;ka=vf+1308|0;oa=vf+1304|0;ea=vf+1300|0;da=vf+1296|0;vc=vf+1292|0;Ua=vf+1288|0;Oc=vf+1284|0;rb=vf+1280|0;fa=vf+1276|0;Ke=vf+1272|0;Ad=vf+1268|0;lc=vf+1264|0;wc=vf+1260|0;qc=vf+1256|0;Pc=vf+1252|0;Dd=vf+1248|0;rc=vf+1244|0;yb=vf+1240|0;sc=vf+1236|0;Qd=vf+1232|0;eb=vf+1228|0;zb=vf+1224|0;Gd=vf+1208|0;Va=vf+1200|0;la=vf+192|0;G=vf+1196|0;s=vf+1192|0;me=vf+1188|0;wa=vf+1184|0;Ab=vf+1180|0;Rd=vf+1176|0;Gc=vf+1172|0;Hc=vf+1168|0;Hd=vf+1152|0;o=vf+1674|0;Bb=vf+1148|0;Wb=vf+1144|0;Sd=vf+1140|0;ma=vf+184|0;qe=vf+176|0;Cb=vf+1136|0;Td=vf+1132|0;B=vf+1128|0;Sc=vf+1124|0;Cc=vf+1120|0;tc=vf+1116|0;Mc=vf+1112|0;Db=vf+1108|0;ge=vf+1104|0;Ue=vf+1100|0;ld=vf+1096|0;ib=vf+1092|0;Le=vf+144|0;Eb=vf+1088|0;Ve=vf+1084|0;md=vf+1080|0;jb=vf+1076|0;Fb=vf+1072|0;Vd=vf+1068|0;Xa=vf+1064|0;Gb=vf+1060|0;Hb=vf+1056|0;Xb=vf+1052|0;Ha=vf+1048|0;Ib=vf+1044|0;te=vf+136|0;td=vf+1040|0;Xc=vf+1036|0;Jb=vf+1032|0;Kb=vf+1028|0;Zb=vf+1024|0;Wd=vf+1020|0;Lb=vf+1016|0;_b=vf+1012|0;Xd=vf+1008|0;Mb=vf+1004|0;Yd=vf+1e3|0;Nb=vf+996|0;Ne=vf+104|0;Ob=vf+992|0;ac=vf+988|0;Zd=vf+984|0;Id=vf+968|0;Pb=vf+964|0;nd=vf+960|0;be=vf+96|0;Qb=vf+956|0;_d=vf+952|0;Jd=vf+936|0;pa=vf+932|0;ha=vf+928|0;Pa=vf+924|0;Rb=vf+920|0;Ed=vf+916|0;N=vf+912|0;xc=vf+908|0;ja=vf+904|0;Ze=vf+900|0;af=vf+896|0;xa=vf+880|0;$a=vf+872|0;n=vf+868|0;Sa=vf+864|0;Oe=vf+860|0;Fd=vf+856|0;ue=vf+88|0;ta=vf+852|0;H=vf+848|0;Ya=vf+844|0;Oa=vf+840|0;jd=vf+836|0;Tc=vf+832|0;Ac=vf+828|0;Dc=vf+824|0;fd=vf+820|0;ke=vf+816|0;Ec=vf+812|0;Ic=vf+808|0;Fc=vf+804|0;Ja=vf+800|0;jc=vf+796|0;Y=vf+792|0;kc=vf+788|0;Uc=vf+784|0;le=vf+48|0;Vc=vf+780|0;Z=vf+776|0;h=vf+764|0;Wc=vf+760|0;vb=vf+756|0;ed=vf+752|0;D=vf+748|0;E=vf+744|0;Xe=vf+740|0;wb=vf+736|0;Aa=vf+1673|0;lb=vf+732|0;Pe=vf+728|0;rd=vf+724|0;fe=vf+8|0;bf=vf+720|0;mc=vf+716|0;pd=vf+712|0;ud=vf+708|0;Yc=vf+704|0;Ka=vf+700|0;qa=vf+696|0;Zc=vf+692|0;gd=vf+688|0;sb=vf+684|0;qd=vf+680|0;vd=vf+676|0;nc=vf+672|0;Nd=vf+668|0;P=vf+664|0;t=vf+660|0;wd=vf+656|0;_c=vf+652|0;zc=vf+648|0;de=vf+616|0;oc=vf+612|0;xd=vf+608|0;$c=vf+604|0;Od=vf+600|0;pc=vf+596|0;yd=vf+592|0;bd=vf+588|0;zd=vf+584|0;ad=vf+580|0;La=vf+576|0;R=vf+572|0;ce=vf;u=vf+568|0;Bd=vf+564|0;Je=vf+1672|0;cb=vf+560|0;ub=vf+556|0;cf=vf+552|0;S=vf+548|0;Me=vf+544|0;Qe=vf+540|0;k[qf>>2]=a;k[df>>2]=k[(k[qf>>2]|0)+88>>2];k[pf>>2]=k[df>>2];k[uf>>2]=0;k[rf>>2]=k[k[qf>>2]>>2];i[ef>>0]=0;i[F>>0]=i[(k[rf>>2]|0)+66>>0]|0;k[ca>>2]=0;k[tf>>2]=0;k[_a>>2]=0;k[e>>2]=k[(k[qf>>2]|0)+92>>2];k[Jc>>2]=0;k[Kc>>2]=0;k[Lc>>2]=0;k[dd>>2]=0;k[g>>2]=0;wf=(k[rf>>2]|0)+32|0;a=k[wf+4>>2]|0;c=sf;k[c>>2]=k[wf>>2];k[c+4>>2]=a;HI(k[qf>>2]|0);a:do if((k[(k[qf>>2]|0)+40>>2]|0)==7)d=889;else{k[(k[qf>>2]|0)+40>>2]=0;wf=(k[qf>>2]|0)+56|0;k[wf>>2]=0;k[wf+4>>2]=0;k[(k[qf>>2]|0)+104>>2]=0;k[(k[rf>>2]|0)+380+8>>2]=0;b:do if(!(k[(k[rf>>2]|0)+248>>2]|0)){if(k[(k[rf>>2]|0)+304>>2]|0){k[b>>2]=k[(k[qf>>2]|0)+156+16>>2];k[_a>>2]=(k[(k[rf>>2]|0)+312>>2]|0)-(((k[b>>2]|0)>>>0)%((k[(k[rf>>2]|0)+312>>2]|0)>>>0)|0)}k[pf>>2]=(k[df>>2]|0)+((k[(k[qf>>2]|0)+36>>2]|0)*20|0);c:while(1){k[tf>>2]=(k[tf>>2]|0)+1;d:do switch(l[k[pf>>2]>>0]|0){case 87:{d=64;break c}case 1:{d=393;break c}case 13:{d=7;break}case 14:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);j[(k[Jc>>2]|0)+8>>1]=4;wf=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;d=k[Jc>>2]|0;k[d>>2]=wf;k[d+4>>2]=((wf|0)<0)<<31>>31;d=14;break}case 72:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[pf>>2]=(k[df>>2]|0)+((k[k[Jc>>2]>>2]|0)*20|0);j[(k[Jc>>2]|0)+8>>1]=128;break}case 15:{k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);c=(k[(k[pf>>2]|0)+12>>2]|0)-1|0;wf=k[dd>>2]|0;k[wf>>2]=c;k[wf+4>>2]=((c|0)<0)<<31>>31;j[(k[dd>>2]|0)+8>>1]=4;if(k[(k[pf>>2]|0)+8>>2]|0)d=14;break}case 73:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Sb>>2]=(k[df>>2]|0)+((k[k[Jc>>2]>>2]|0)*20|0);k[pf>>2]=(k[df>>2]|0)+(((k[(k[Sb>>2]|0)+8>>2]|0)-1|0)*20|0);j[(k[Jc>>2]|0)+8>>1]=128;break}case 16:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);j[(k[Jc>>2]|0)+8>>1]=4;k[Cd>>2]=k[k[Jc>>2]>>2];c=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;wf=k[Jc>>2]|0;k[wf>>2]=c;k[wf+4>>2]=((c|0)<0)<<31>>31;k[pf>>2]=(k[df>>2]|0)+((k[Cd>>2]|0)*20|0);break}case 74:{k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(m[(k[Lc>>2]|0)+8>>1]&1)d=20;break}case 75:{d=20;break}case 76:{c=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=c;c=k[(k[pf>>2]|0)+4>>2]|0;wf=k[dd>>2]|0;k[wf>>2]=c;k[wf+4>>2]=((c|0)<0)<<31>>31;break}case 77:{a=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=a;a=k[(k[pf>>2]|0)+16>>2]|0;c=k[a+4>>2]|0;wf=k[dd>>2]|0;k[wf>>2]=k[a>>2];k[wf+4>>2]=c;break}case 132:{wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;j[(k[dd>>2]|0)+8>>1]=8;p[k[dd>>2]>>3]=+p[k[(k[pf>>2]|0)+16>>2]>>3];break}case 97:{wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;i[k[pf>>2]>>0]=78;wf=Tf(k[(k[pf>>2]|0)+16>>2]|0)|0;k[(k[pf>>2]|0)+4>>2]=wf;if((l[F>>0]|0)!=1){wf=qh(k[dd>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,-1,1,0)|0;k[uf>>2]=wf;if(su(k[dd>>2]|0,l[F>>0]|0)|0){d=889;break a}k[(k[dd>>2]|0)+24>>2]=0;wf=(k[dd>>2]|0)+8|0;j[wf>>1]=m[wf>>1]|2048;if((i[(k[pf>>2]|0)+1>>0]|0)==-1)bg(k[rf>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);i[(k[pf>>2]|0)+1>>0]=-1;k[(k[pf>>2]|0)+16>>2]=k[(k[dd>>2]|0)+16>>2];k[(k[pf>>2]|0)+4>>2]=k[(k[dd>>2]|0)+12>>2]}if((k[(k[pf>>2]|0)+4>>2]|0)>(k[(k[rf>>2]|0)+96>>2]|0)){d=888;break c}else d=43;break}case 78:{d=43;break}case 79:{wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;k[A>>2]=(k[(k[pf>>2]|0)+12>>2]|0)-(k[(k[pf>>2]|0)+8>>2]|0);wf=((k[(k[pf>>2]|0)+4>>2]|0)!=0?257:1)&65535;j[db>>1]=wf;j[(k[dd>>2]|0)+8>>1]=wf;k[(k[dd>>2]|0)+12>>2]=0;while(1){if((k[A>>2]|0)<=0)break d;k[dd>>2]=(k[dd>>2]|0)+40;sh(k[dd>>2]|0);j[(k[dd>>2]|0)+8>>1]=j[db>>1]|0;k[(k[dd>>2]|0)+12>>2]=0;k[A>>2]=(k[A>>2]|0)+-1}}case 80:{k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);j[(k[dd>>2]|0)+8>>1]=(m[(k[dd>>2]|0)+8>>1]|1)&-129;break}case 81:{wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;qh(k[dd>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,0,0)|0;i[(k[dd>>2]|0)+10>>0]=i[F>>0]|0;break}case 82:{k[sd>>2]=(k[(k[qf>>2]|0)+116>>2]|0)+(((k[(k[pf>>2]|0)+4>>2]|0)-1|0)*40|0);if(NI(k[sd>>2]|0)|0){d=888;break c}wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;uG(k[dd>>2]|0,k[sd>>2]|0,2048);break}case 83:{k[Ea>>2]=k[(k[pf>>2]|0)+12>>2];k[kb>>2]=k[(k[pf>>2]|0)+4>>2];k[ob>>2]=k[(k[pf>>2]|0)+8>>2];k[Jc>>2]=(k[e>>2]|0)+((k[kb>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[ob>>2]|0)*40|0);do{wI(k[dd>>2]|0,k[Jc>>2]|0);if((m[(k[dd>>2]|0)+8>>1]&4096|0)!=0?(lh(k[dd>>2]|0)|0)!=0:0){d=889;break a}k[Jc>>2]=(k[Jc>>2]|0)+40;k[dd>>2]=(k[dd>>2]|0)+40;wf=(k[Ea>>2]|0)+-1|0;k[Ea>>2]=wf}while((wf|0)!=0);break}case 84:{k[Fa>>2]=k[(k[pf>>2]|0)+12>>2];k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);while(1){uG(k[dd>>2]|0,k[Jc>>2]|0,4096);if((m[(k[dd>>2]|0)+8>>1]&4096|0)!=0?(lh(k[dd>>2]|0)|0)!=0:0){d=889;break a}wf=k[Fa>>2]|0;k[Fa>>2]=wf+-1;if(!wf)break d;k[dd>>2]=(k[dd>>2]|0)+40;k[Jc>>2]=(k[Jc>>2]|0)+40}}case 85:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);uG(k[dd>>2]|0,k[Jc>>2]|0,4096);break}case 86:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);wf=k[Jc>>2]|0;rh(k[dd>>2]|0,k[wf>>2]|0,k[wf+4>>2]|0);break}case 52:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Jc>>2]|0)+8>>1]|m[(k[Kc>>2]|0)+8>>1])&1){sh(k[dd>>2]|0);break d}if((m[(k[Jc>>2]|0)+8>>1]&16384|0)!=0?(gh(k[Jc>>2]|0)|0)!=0:0){d=889;break a}if((m[(k[Kc>>2]|0)+8>>1]&16384|0)!=0?(gh(k[Kc>>2]|0)|0)!=0:0){d=889;break a}if((m[(k[Jc>>2]|0)+8>>1]&18|0)==0?(Wx(k[Jc>>2]|0,i[F>>0]|0,0)|0)!=0:0){d=889;break a}if((m[(k[Kc>>2]|0)+8>>1]&18|0)==0?(Wx(k[Kc>>2]|0,i[F>>0]|0,0)|0)!=0:0){d=889;break a}b=(k[(k[Jc>>2]|0)+12>>2]|0)+(k[(k[Kc>>2]|0)+12>>2]|0)|0;c=Ma;k[c>>2]=b;k[c+4>>2]=((b|0)<0)<<31>>31;c=Ma;b=k[c+4>>2]|0;wf=k[(k[rf>>2]|0)+96>>2]|0;a=((wf|0)<0)<<31>>31;if((b|0)>(a|0)|((b|0)==(a|0)?(k[c>>2]|0)>>>0>wf>>>0:0)){d=888;break c}if(Yx(k[dd>>2]|0,(k[Ma>>2]|0)+2|0,(k[dd>>2]|0)==(k[Kc>>2]|0)&1)|0){d=889;break a}j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|2;if((k[dd>>2]|0)!=(k[Kc>>2]|0))bS(k[(k[dd>>2]|0)+16>>2]|0,k[(k[Kc>>2]|0)+16>>2]|0,k[(k[Kc>>2]|0)+12>>2]|0)|0;bS((k[(k[dd>>2]|0)+16>>2]|0)+(k[(k[Kc>>2]|0)+12>>2]|0)|0,k[(k[Jc>>2]|0)+16>>2]|0,k[(k[Jc>>2]|0)+12>>2]|0)|0;i[(k[(k[dd>>2]|0)+16>>2]|0)+(k[Ma>>2]|0)>>0]=0;wf=Ma;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;i[(k[(k[dd>>2]|0)+16>>2]|0)+wf>>0]=0;wf=(k[dd>>2]|0)+8|0;j[wf>>1]=m[wf>>1]|512;k[(k[dd>>2]|0)+12>>2]=k[Ma>>2];i[(k[dd>>2]|0)+10>>0]=i[F>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);wf=RI(k[Jc>>2]|0)|0;j[ne>>1]=wf;k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);wf=RI(k[Kc>>2]|0)|0;j[oe>>1]=wf;k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);j[J>>1]=m[(k[Jc>>2]|0)+8>>1]|m[(k[Kc>>2]|0)+8>>1];e:do if(!(m[J>>1]&1)){f:do if(m[ne>>1]&m[oe>>1]&4){wf=k[Jc>>2]|0;c=k[wf+4>>2]|0;a=_;k[a>>2]=k[wf>>2];k[a+4>>2]=c;a=k[Kc>>2]|0;c=k[a+4>>2]|0;wf=aa;k[wf>>2]=k[a>>2];k[wf+4>>2]=c;i[w>>0]=1;switch(l[k[pf>>2]>>0]|0){case 47:{wf=_;if(SI(aa,k[wf>>2]|0,k[wf+4>>2]|0)|0)break f;break}case 48:{wf=_;if(TI(aa,k[wf>>2]|0,k[wf+4>>2]|0)|0)break f;break}case 49:{wf=_;if(UI(aa,k[wf>>2]|0,k[wf+4>>2]|0)|0)break f;break}case 50:{wf=_;if((k[wf>>2]|0)==0&(k[wf+4>>2]|0)==0)break e;c=_;wf=aa;if(((k[c>>2]|0)==-1?(k[c+4>>2]|0)==-1:0)&((k[wf>>2]|0)==0?(k[wf+4>>2]|0)==-2147483648:0))break f;c=_;wf=aa;c=iS(k[wf>>2]|0,k[wf+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;wf=aa;k[wf>>2]=c;k[wf+4>>2]=L;break}default:{wf=_;if((k[wf>>2]|0)==0&(k[wf+4>>2]|0)==0)break e;wf=_;if((k[wf>>2]|0)==-1?(k[wf+4>>2]|0)==-1:0){wf=_;k[wf>>2]=1;k[wf+4>>2]=0}c=_;wf=aa;c=jS(k[wf>>2]|0,k[wf+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;wf=aa;k[wf>>2]=c;k[wf+4>>2]=L}}a=aa;c=k[a+4>>2]|0;wf=k[dd>>2]|0;k[wf>>2]=k[a>>2];k[wf+4>>2]=c;j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|4;break d}else i[w>>0]=0;while(0);xf=+jh(k[Jc>>2]|0);p[Kd>>3]=xf;xf=+jh(k[Kc>>2]|0);p[Ld>>3]=xf;switch(l[k[pf>>2]>>0]|0){case 47:{p[Ld>>3]=+p[Ld>>3]+ +p[Kd>>3];break}case 48:{p[Ld>>3]=+p[Ld>>3]-+p[Kd>>3];break}case 49:{p[Ld>>3]=+p[Ld>>3]*+p[Kd>>3];break}case 50:{if(+p[Kd>>3]==0.0)break e;p[Ld>>3]=+p[Ld>>3]/+p[Kd>>3];break}default:{xf=+p[Kd>>3];wf=+W(xf)>=1.0?(xf>0.0?~~+ia(+V(xf/4294967296.0),4294967295.0)>>>0:~~+ga((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;c=_;k[c>>2]=~~xf>>>0;k[c+4>>2]=wf;xf=+p[Ld>>3];c=+W(xf)>=1.0?(xf>0.0?~~+ia(+V(xf/4294967296.0),4294967295.0)>>>0:~~+ga((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;wf=aa;k[wf>>2]=~~xf>>>0;k[wf+4>>2]=c;wf=_;if((k[wf>>2]|0)==0&(k[wf+4>>2]|0)==0)break e;wf=_;if((k[wf>>2]|0)==-1?(k[wf+4>>2]|0)==-1:0){wf=_;k[wf>>2]=1;k[wf+4>>2]=0}c=aa;wf=_;wf=jS(k[c>>2]|0,k[c+4>>2]|0,k[wf>>2]|0,k[wf+4>>2]|0)|0;p[Ld>>3]=+(wf>>>0)+4294967296.0*+(L|0)}}if(!(AG(+p[Ld>>3])|0)){p[k[dd>>2]>>3]=+p[Ld>>3];j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|8;if((i[w>>0]|0)!=0?1:((m[ne>>1]|m[oe>>1])&8|0)!=0)break d;Tx(k[dd>>2]|0);break d}}while(0);sh(k[dd>>2]|0);break}case 88:{if(k[(k[pf>>2]|0)+4>>2]|0)rh((k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 89:{k[Ga>>2]=l[(k[pf>>2]|0)+3>>0];wf=dx(k[rf>>2]|0,32+((k[Ga>>2]|0)-1<<2)|0,0)|0;k[dc>>2]=wf;if(!(k[dc>>2]|0)){d=889;break a}k[k[dc>>2]>>2]=0;k[(k[dc>>2]|0)+4>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[dc>>2]|0)+16>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[(k[dc>>2]|0)+12>>2]=k[qf>>2];i[(k[dc>>2]|0)+26>>0]=k[Ga>>2];i[(k[pf>>2]|0)+1>>0]=-21;k[(k[pf>>2]|0)+16>>2]=k[dc>>2];i[k[pf>>2]>>0]=90;d=126;break}case 90:{d=126;break}case 46:case 45:case 44:case 43:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Jc>>2]|0)+8>>1]|m[(k[Kc>>2]|0)+8>>1])&1){sh(k[dd>>2]|0);break d}wf=kh(k[Kc>>2]|0)|0;c=$;k[c>>2]=wf;k[c+4>>2]=L;c=kh(k[Jc>>2]|0)|0;wf=ba;k[wf>>2]=c;k[wf+4>>2]=L;i[hb>>0]=i[k[pf>>2]>>0]|0;do if((l[hb>>0]|0)!=43){a=ba;b=k[a>>2]|0;a=k[a+4>>2]|0;if((l[hb>>0]|0)==44){yf=$;c=k[yf+4>>2]|a;wf=$;k[wf>>2]=k[yf>>2]|b;k[wf+4>>2]=c;break}if((b|0)!=0|(a|0)!=0){if((k[ba+4>>2]|0)<0){i[hb>>0]=91-(l[hb>>0]|0);wf=ba;c=k[wf+4>>2]|0;wf=(c|0)>-1|(c|0)==-1&(k[wf>>2]|0)>>>0>4294967232;c=ba;c=_R(0,0,k[c>>2]|0,k[c+4>>2]|0)|0;yf=ba;k[yf>>2]=wf?c:64;k[yf+4>>2]=wf?L:0}yf=ba;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>=64){yf=$;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>=0)b=1;else b=(l[hb>>0]|0)==45;wf=b?0:-1;yf=$;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break};k[pe>>2]=k[$>>2];k[pe+4>>2]=k[$+4>>2];b=k[ba>>2]|0;c=pe;a=k[c>>2]|0;c=k[c+4>>2]|0;if((l[hb>>0]|0)!=45){wf=aS(a|0,c|0,b|0)|0;yf=pe;k[yf>>2]=wf;k[yf+4>>2]=L;if((k[$+4>>2]|0)<0){c=ba;c=_R(64,0,k[c>>2]|0,k[c+4>>2]|0)|0;c=eS(-1,-1,c|0)|0;a=pe;wf=k[a+4>>2]|L;yf=pe;k[yf>>2]=k[a>>2]|c;k[yf+4>>2]=wf}}else{wf=eS(a|0,c|0,b|0)|0;yf=pe;k[yf>>2]=wf;k[yf+4>>2]=L};k[$>>2]=k[pe>>2];k[$+4>>2]=k[pe+4>>2]}}else{c=ba;a=$;wf=k[a+4>>2]&k[c+4>>2];yf=$;k[yf>>2]=k[a>>2]&k[c>>2];k[yf+4>>2]=wf}while(0);c=$;wf=k[c+4>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|4;break}case 91:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);_x(k[Jc>>2]|0)|0;wf=k[(k[pf>>2]|0)+8>>2]|0;yf=k[Jc>>2]|0;c=yf;wf=$R(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break}case 17:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if((m[(k[Jc>>2]|0)+8>>1]&4|0)==0?(Vx(k[Jc>>2]|0,67,i[F>>0]|0),(m[(k[Jc>>2]|0)+8>>1]&4|0)==0):0)if(!(k[(k[pf>>2]|0)+8>>2]|0)){d=159;break c}else{d=14;break d}j[(k[Jc>>2]|0)+8>>1]=m[(k[Jc>>2]|0)+8>>1]&-49664|4;break}case 92:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Jc>>2]|0)+8>>1]&4)$x(k[Jc>>2]|0)|0;break}case 93:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Jc>>2]|0)+8>>1]&16384)b=gh(k[Jc>>2]|0)|0;else b=0;k[uf>>2]=b;Ox(k[Jc>>2]|0,k[(k[pf>>2]|0)+8>>2]&255,i[F>>0]|0);if(k[uf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);j[K>>1]=j[(k[Jc>>2]|0)+8>>1]|0;j[M>>1]=j[(k[Lc>>2]|0)+8>>1]|0;b=l[(k[pf>>2]|0)+3>>0]|0;do if((m[K>>1]|m[M>>1])&1){if(!(b&128)){b=k[pf>>2]|0;if(!(l[(k[pf>>2]|0)+3>>0]&32))if(l[b+3>>0]&16){d=14;break d}else break d;else{k[dd>>2]=(k[e>>2]|0)+((k[b+8>>2]|0)*40|0);k[ca>>2]=1;j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|1;break d}}if(((m[K>>1]&1|0)!=0?(m[M>>1]&1|0)!=0:0)?(m[M>>1]&256|0)==0:0){k[Md>>2]=0;break}k[Md>>2]=1}else{i[q>>0]=b&71;if((i[q>>0]|0)>=67){if((m[K>>1]|m[M>>1])&2){if((m[K>>1]&14|0)==2){Lh(k[Jc>>2]|0,0);j[M>>1]=j[(k[Lc>>2]|0)+8>>1]|0}if((m[M>>1]&14|0)==2)Lh(k[Lc>>2]|0,0)}if(m[(k[Jc>>2]|0)+8>>1]&m[(k[Lc>>2]|0)+8>>1]&4){wf=k[Lc>>2]|0;a=k[wf+4>>2]|0;yf=k[Jc>>2]|0;c=k[yf+4>>2]|0;if((a|0)>(c|0)|((a|0)==(c|0)?(k[wf>>2]|0)>>>0>(k[yf>>2]|0)>>>0:0)){k[Md>>2]=1;break}wf=k[Lc>>2]|0;a=k[wf+4>>2]|0;yf=k[Jc>>2]|0;c=k[yf+4>>2]|0;if((a|0)<(c|0)|((a|0)==(c|0)?(k[wf>>2]|0)>>>0<(k[yf>>2]|0)>>>0:0)){k[Md>>2]=-1;break}else{k[Md>>2]=0;break}}}else if((i[q>>0]|0)==66){if((m[K>>1]&2|0)==0?(m[K>>1]&12|0)!=0:0){Wx(k[Jc>>2]|0,i[F>>0]|0,1)|0;j[K>>1]=m[(k[Jc>>2]|0)+8>>1]&-33280|m[K>>1]&33279}if((m[M>>1]&2|0)==0?(m[M>>1]&12|0)!=0:0){Wx(k[Lc>>2]|0,i[F>>0]|0,1)|0;j[M>>1]=m[(k[Lc>>2]|0)+8>>1]&-33280|m[M>>1]&33279}}yf=WI(k[Lc>>2]|0,k[Jc>>2]|0,k[(k[pf>>2]|0)+16>>2]|0)|0;k[Md>>2]=yf}while(0);switch(l[k[pf>>2]>>0]|0){case 37:{k[Pd>>2]=(k[Md>>2]|0)==0&1;break}case 36:{k[Pd>>2]=k[Md>>2];break}case 40:{k[Pd>>2]=(k[Md>>2]|0)<0&1;break}case 39:{k[Pd>>2]=(k[Md>>2]|0)<=0&1;break}case 38:{k[Pd>>2]=(k[Md>>2]|0)>0&1;break}default:k[Pd>>2]=(k[Md>>2]|0)>=0&1}j[(k[Jc>>2]|0)+8>>1]=j[K>>1]|0;j[(k[Lc>>2]|0)+8>>1]=j[M>>1]|0;if(!(l[(k[pf>>2]|0)+3>>0]&32))if(k[Pd>>2]|0){d=14;break d}else break d;k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[ca>>2]=k[Md>>2];k[Pd>>2]=(k[Pd>>2]|0)!=0&1;if((l[(k[pf>>2]|0)+3>>0]&8|0)!=0?((l[k[pf>>2]>>0]|0)==37|0)==(k[Pd>>2]|0):0)break d;j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|4;wf=k[Pd>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 42:{if(k[ca>>2]|0)d=14;break}case 94:{k[g>>2]=(k[(k[pf>>2]|0)+16>>2]|0)+4;break}case 95:{if(!(l[(k[pf>>2]|0)+3>>0]&1))k[g>>2]=0;k[Ia>>2]=k[(k[pf>>2]|0)+12>>2];k[Nc>>2]=k[(k[pf>>2]|0)+16>>2];k[nb>>2]=k[(k[pf>>2]|0)+4>>2];k[pb>>2]=k[(k[pf>>2]|0)+8>>2];k[X>>2]=0;while(1){if((k[X>>2]|0)>=(k[Ia>>2]|0))break;b=k[X>>2]|0;if(k[g>>2]|0)b=k[(k[g>>2]|0)+(b<<2)>>2]|0;k[ua>>2]=b;k[Tb>>2]=k[(k[Nc>>2]|0)+20+(k[X>>2]<<2)>>2];k[x>>2]=l[(k[(k[Nc>>2]|0)+16>>2]|0)+(k[X>>2]|0)>>0];yf=WI((k[e>>2]|0)+(((k[nb>>2]|0)+(k[ua>>2]|0)|0)*40|0)|0,(k[e>>2]|0)+(((k[pb>>2]|0)+(k[ua>>2]|0)|0)*40|0)|0,k[Tb>>2]|0)|0;k[ca>>2]=yf;if(k[ca>>2]|0){d=217;break}k[X>>2]=(k[X>>2]|0)+1}if((d|0)==217?(d=0,(k[x>>2]|0)!=0):0)k[ca>>2]=0-(k[ca>>2]|0);k[g>>2]=0;break}case 18:{if((k[ca>>2]|0)<0){k[pf>>2]=(k[df>>2]|0)+(((k[(k[pf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}b=k[pf>>2]|0;if(!(k[ca>>2]|0)){k[pf>>2]=(k[df>>2]|0)+(((k[b+8>>2]|0)-1|0)*20|0);break d}else{k[pf>>2]=(k[df>>2]|0)+(((k[b+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Jc>>2]|0)+8>>1]&1)k[re>>2]=2;else{yf=kh(k[Jc>>2]|0)|0;k[re>>2]=((yf|0)!=0|(L|0)!=0)&1}k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);if(m[(k[Kc>>2]|0)+8>>1]&1)k[se>>2]=2;else{yf=kh(k[Kc>>2]|0)|0;k[se>>2]=((yf|0)!=0|(L|0)!=0)&1}b=((k[re>>2]|0)*3|0)+(k[se>>2]|0)|0;if((l[k[pf>>2]>>0]|0)==28)k[re>>2]=l[39925+b>>0];else k[re>>2]=l[39934+b>>0];k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((k[re>>2]|0)==2){j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|1;break d}else{wf=k[re>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|4;break d}}case 19:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);sh(k[dd>>2]|0);if(!(m[(k[Jc>>2]|0)+8>>1]&1)){j[(k[dd>>2]|0)+8>>1]=4;wf=kh(k[Jc>>2]|0)|0;wf=(((wf|0)!=0|(L|0)!=0)^1)&1;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31}break}case 54:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);sh(k[dd>>2]|0);if(!(m[(k[Jc>>2]|0)+8>>1]&1)){j[(k[dd>>2]|0)+8>>1]=4;wf=kh(k[Jc>>2]|0)|0;yf=k[dd>>2]|0;k[yf>>2]=~wf;k[yf+4>>2]=~L}break}case 20:{if((k[(k[(k[qf>>2]|0)+88>>2]|0)+4>>2]|0)==(k[(k[pf>>2]|0)+4>>2]|0))d=14;else k[(k[pf>>2]|0)+4>>2]=k[(k[(k[qf>>2]|0)+88>>2]|0)+4>>2];break}case 22:case 21:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(!(m[(k[Jc>>2]|0)+8>>1]&1)){yf=+jh(k[Jc>>2]|0)!=0.0&1;k[y>>2]=yf;if((l[k[pf>>2]>>0]|0)==22)k[y>>2]=((k[y>>2]|0)!=0^1)&1}else k[y>>2]=k[(k[pf>>2]|0)+12>>2];if(k[y>>2]|0)d=14;break}case 34:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Jc>>2]|0)+8>>1]&1)d=14;break}case 35:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(!(m[(k[Jc>>2]|0)+8>>1]&1))d=14;break}case 96:{k[xb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[qb>>2]=k[(k[pf>>2]|0)+8>>2];yf=XI(xb,qb)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[yc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[f>>2]=k[(k[xb>>2]|0)+76>>2];k[Ub>>2]=k[(k[xb>>2]|0)+16>>2];do if((k[(k[xb>>2]|0)+56>>2]|0)!=(k[(k[qf>>2]|0)+32>>2]|0)){do if(i[(k[xb>>2]|0)+2>>0]|0)if((l[k[xb>>2]>>0]|0)==3){k[id>>2]=(k[e>>2]|0)+((k[(k[xb>>2]|0)+16>>2]|0)*40|0);yf=k[(k[id>>2]|0)+12>>2]|0;k[v>>2]=yf;k[(k[xb>>2]|0)+64>>2]=yf;k[(k[xb>>2]|0)+60>>2]=yf;k[(k[xb>>2]|0)+72>>2]=k[(k[id>>2]|0)+16>>2];break}else{sh(k[yc>>2]|0);break d}else{b=lI(k[Ub>>2]|0)|0;k[(k[xb>>2]|0)+60>>2]=b;b=YI(k[Ub>>2]|0,v)|0;k[(k[xb>>2]|0)+72>>2]=b;b=k[(k[xb>>2]|0)+60>>2]|0;if((k[(k[xb>>2]|0)+60>>2]|0)>>>0<=(k[v>>2]|0)>>>0){k[(k[xb>>2]|0)+64>>2]=b;break}if(b>>>0>(k[(k[rf>>2]|0)+96>>2]|0)>>>0){d=888;break c}k[(k[xb>>2]|0)+64>>2]=k[v>>2]}while(0);k[(k[xb>>2]|0)+56>>2]=k[(k[qf>>2]|0)+32>>2];b=k[(k[xb>>2]|0)+72>>2]|0;if((l[k[(k[xb>>2]|0)+72>>2]>>0]|0)<128){k[fb>>2]=l[b>>0];b=1}else b=(lG(b,fb)|0)&255;k[(k[xb>>2]|0)+68>>2]=b&255;j[(k[xb>>2]|0)+14>>1]=0;k[k[f>>2]>>2]=k[fb>>2];if((k[v>>2]|0)>>>0<(k[fb>>2]|0)>>>0){k[(k[xb>>2]|0)+72>>2]=0;k[(k[xb>>2]|0)+64>>2]=0;if((k[fb>>2]|0)>>>0>98307){d=267;break c}if((k[fb>>2]|0)>>>0>(k[(k[xb>>2]|0)+60>>2]|0)>>>0){d=267;break c}else{d=270;break}}else{if((k[fb>>2]|0)>>>0<=0){d=270;break}k[Te>>2]=k[(k[xb>>2]|0)+72>>2];d=276;break}}else d=270;while(0);do if((d|0)==270){d=0;if((m[(k[xb>>2]|0)+14>>1]|0)>(k[qb>>2]|0)){k[ie>>2]=k[(k[xb>>2]|0)+80+(k[qb>>2]<<2)>>2];break}if((k[(k[xb>>2]|0)+68>>2]|0)>>>0>=(k[k[f>>2]>>2]|0)>>>0){k[ie>>2]=0;d=292;break}if(k[(k[xb>>2]|0)+72>>2]|0){k[Te>>2]=k[(k[xb>>2]|0)+72>>2];d=276;break}b=ee;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));yf=ZI(k[Ub>>2]|0,0,k[k[f>>2]>>2]|0,((i[(k[xb>>2]|0)+4>>0]|0)!=0^1)&1,ee)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[Te>>2]=k[ee+16>>2];d=276}while(0);if((d|0)==276){k[Q>>2]=m[(k[xb>>2]|0)+14>>1];yf=gb;k[yf>>2]=k[(k[f>>2]|0)+(k[Q>>2]<<2)>>2];k[yf+4>>2]=0;k[Ye>>2]=(k[Te>>2]|0)+(k[(k[xb>>2]|0)+68>>2]|0);k[We>>2]=(k[Te>>2]|0)+(k[k[f>>2]>>2]|0);do{yf=l[k[Ye>>2]>>0]|0;k[ie>>2]=yf;b=k[Ye>>2]|0;if(yf>>>0<128){k[Ye>>2]=b+1;wf=(_I(k[ie>>2]&255)|0)&255;yf=gb;wf=$R(k[yf>>2]|0,k[yf+4>>2]|0,wf|0,0)|0;yf=gb;k[yf>>2]=wf;k[yf+4>>2]=L}else{wf=(lG(b,ie)|0)&255;k[Ye>>2]=(k[Ye>>2]|0)+wf;wf=mG(k[ie>>2]|0)|0;yf=gb;wf=$R(k[yf>>2]|0,k[yf+4>>2]|0,wf|0,0)|0;yf=gb;k[yf>>2]=wf;k[yf+4>>2]=L}wf=k[ie>>2]|0;yf=k[Q>>2]|0;k[Q>>2]=yf+1;k[(k[xb>>2]|0)+80+(yf<<2)>>2]=wf;k[(k[f>>2]|0)+(k[Q>>2]<<2)>>2]=k[gb>>2];if((k[Q>>2]|0)>(k[qb>>2]|0))break}while((k[Ye>>2]|0)>>>0<(k[We>>2]|0)>>>0);if((k[Ye>>2]|0)>>>0>=(k[We>>2]|0)>>>0){if((k[Ye>>2]|0)>>>0>(k[We>>2]|0)>>>0){d=286;break c}yf=gb;if((k[yf+4>>2]|0)!=0?1:(k[yf>>2]|0)!=(k[(k[xb>>2]|0)+60>>2]|0)){d=286;break c}}yf=gb;wf=k[yf+4>>2]|0;if(wf>>>0>0|((wf|0)==0?(k[yf>>2]|0)>>>0>(k[(k[xb>>2]|0)+60>>2]|0)>>>0:0)){d=286;break c}j[(k[xb>>2]|0)+14>>1]=k[Q>>2];k[(k[xb>>2]|0)+68>>2]=(k[Ye>>2]|0)-(k[Te>>2]|0);if(!(k[(k[xb>>2]|0)+72>>2]|0)){fh(ee);d=292}else d=292}if((d|0)==292?(d=0,(m[(k[xb>>2]|0)+14>>1]|0)<=(k[qb>>2]|0)):0){b=k[yc>>2]|0;if((i[(k[pf>>2]|0)+1>>0]|0)==-8){uG(b,k[(k[pf>>2]|0)+16>>2]|0,2048);break d}else{sh(b);break d}}if(m[(k[yc>>2]|0)+8>>1]&9312)sh(k[yc>>2]|0);if((k[(k[xb>>2]|0)+64>>2]|0)>>>0>=(k[(k[f>>2]|0)+((k[qb>>2]|0)+1<<2)>>2]|0)>>>0){k[Te>>2]=(k[(k[xb>>2]|0)+72>>2]|0)+(k[(k[f>>2]|0)+(k[qb>>2]<<2)>>2]|0);if((k[ie>>2]|0)>>>0<12){nG(k[Te>>2]|0,k[ie>>2]|0,k[yc>>2]|0)|0;break d}b=(((k[ie>>2]|0)-12|0)>>>0)/2|0;k[Ca>>2]=b;k[(k[yc>>2]|0)+12>>2]=b;i[(k[yc>>2]|0)+10>>0]=i[F>>0]|0;b=k[yc>>2]|0;if((k[(k[yc>>2]|0)+24>>2]|0)<((k[Ca>>2]|0)+2|0)){j[b+8>>1]=1;if(Yx(k[yc>>2]|0,(k[Ca>>2]|0)+2|0,0)|0){d=889;break a}}else k[(k[yc>>2]|0)+16>>2]=k[b+20>>2];bS(k[(k[yc>>2]|0)+16>>2]|0,k[Te>>2]|0,k[Ca>>2]|0)|0;i[(k[(k[yc>>2]|0)+16>>2]|0)+(k[Ca>>2]|0)>>0]=0;i[(k[(k[yc>>2]|0)+16>>2]|0)+((k[Ca>>2]|0)+1)>>0]=0;j[(k[yc>>2]|0)+8>>1]=j[16418+((k[ie>>2]&1)<<1)>>1]|0;break d}i[(k[yc>>2]|0)+10>>0]=i[F>>0]|0;do if(l[(k[pf>>2]|0)+3>>0]&192){if((k[ie>>2]|0)>>>0>=12?(k[ie>>2]&1|0)==0:0)break;if(!(l[(k[pf>>2]|0)+3>>0]&128))d=310}else d=310;while(0);if((d|0)==310?(d=0,yf=mG(k[ie>>2]|0)|0,k[Ca>>2]=yf,(yf|0)!=0):0){yf=ZI(k[Ub>>2]|0,k[(k[f>>2]|0)+(k[qb>>2]<<2)>>2]|0,k[Ca>>2]|0,((i[(k[xb>>2]|0)+4>>0]|0)!=0^1)&1,k[yc>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;nG(k[(k[yc>>2]|0)+16>>2]|0,k[ie>>2]|0,k[yc>>2]|0)|0;yf=(k[yc>>2]|0)+8|0;j[yf>>1]=m[yf>>1]&-4097;break d}nG(39943,k[ie>>2]|0,k[yc>>2]|0)|0;break}case 98:{k[Re>>2]=k[(k[pf>>2]|0)+16>>2];k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);while(1){yf=k[Re>>2]|0;k[Re>>2]=yf+1;yf=i[yf>>0]|0;i[z>>0]=yf;if(!(yf<<24>>24))break d;Vx(k[Jc>>2]|0,i[z>>0]|0,i[F>>0]|0);k[Jc>>2]=(k[Jc>>2]|0)+40}}case 99:{yf=Qa;k[yf>>2]=0;k[yf+4>>2]=0;k[Wa>>2]=0;yf=bb;k[yf>>2]=0;k[yf+4>>2]=0;k[Ta>>2]=k[(k[pf>>2]|0)+4>>2];k[Se>>2]=k[(k[pf>>2]|0)+16>>2];k[uc>>2]=(k[e>>2]|0)+((k[Ta>>2]|0)*40|0);k[Ta>>2]=k[(k[pf>>2]|0)+8>>2];k[Qc>>2]=(k[uc>>2]|0)+(((k[Ta>>2]|0)-1|0)*40|0);k[I>>2]=l[(k[qf>>2]|0)+143>>0];k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(k[Se>>2]|0){k[hd>>2]=k[uc>>2];do{wf=k[hd>>2]|0;k[hd>>2]=wf+40;yf=k[Se>>2]|0;k[Se>>2]=yf+1;Vx(wf,i[yf>>0]|0,i[F>>0]|0)}while((i[k[Se>>2]>>0]|0)!=0)}k[hd>>2]=k[Qc>>2];while(1){yf=$I(k[hd>>2]|0,k[I>>2]|0,Da)|0;k[he>>2]=yf;k[(k[hd>>2]|0)+28>>2]=yf;do if(m[(k[hd>>2]|0)+8>>1]&16384){yf=Qa;b=k[hd>>2]|0;if((k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0)if(gh(b)|0){d=889;break a}else break;else{wf=k[b>>2]|0;yf=bb;wf=$R(k[yf>>2]|0,k[yf+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;yf=bb;k[yf>>2]=wf;k[yf+4>>2]=L;k[Da>>2]=(k[Da>>2]|0)-(k[k[hd>>2]>>2]|0);break}}while(0);wf=Qa;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,k[Da>>2]|0,0)|0;yf=Qa;k[yf>>2]=wf;k[yf+4>>2]=L;if((k[he>>2]|0)>>>0<=127)b=1;else b=sG(k[he>>2]|0,0)|0;k[Wa>>2]=(k[Wa>>2]|0)+b;if((k[hd>>2]|0)==(k[uc>>2]|0))break;k[hd>>2]=(k[hd>>2]|0)+-40}b=k[Wa>>2]|0;if((k[Wa>>2]|0)>126){wf=sG(b,((b|0)<0)<<31>>31)|0;k[ab>>2]=wf;k[Wa>>2]=(k[Wa>>2]|0)+(k[ab>>2]|0);wf=k[ab>>2]|0;yf=k[Wa>>2]|0;if((wf|0)<(sG(yf,((yf|0)<0)<<31>>31)|0))k[Wa>>2]=(k[Wa>>2]|0)+1}else k[Wa>>2]=b+1;a=k[Wa>>2]|0;wf=Qa;wf=$R(a|0,((a|0)<0)<<31>>31|0,k[wf>>2]|0,k[wf+4>>2]|0)|0;a=Na;k[a>>2]=wf;k[a+4>>2]=L;a=Na;wf=bb;wf=$R(k[a>>2]|0,k[a+4>>2]|0,k[wf>>2]|0,k[wf+4>>2]|0)|0;a=L;yf=k[(k[rf>>2]|0)+96>>2]|0;c=((yf|0)<0)<<31>>31;if((a|0)>(c|0)|(a|0)==(c|0)&wf>>>0>yf>>>0){d=888;break c}if(Xx(k[dd>>2]|0,k[Na>>2]|0)|0){d=889;break a}k[$e>>2]=k[(k[dd>>2]|0)+16>>2];if((k[Wa>>2]|0)>>>0<128){i[k[$e>>2]>>0]=k[Wa>>2];b=1}else{b=k[Wa>>2]|0;b=aJ(k[$e>>2]|0,b,((b|0)<0)<<31>>31)|0}k[T>>2]=b&255;k[Ba>>2]=k[Wa>>2];k[hd>>2]=k[uc>>2];do{k[he>>2]=k[(k[hd>>2]|0)+28>>2];if((k[he>>2]|0)>>>0<128){i[(k[$e>>2]|0)+(k[T>>2]|0)>>0]=k[he>>2];b=1}else b=aJ((k[$e>>2]|0)+(k[T>>2]|0)|0,k[he>>2]|0,0)|0;k[T>>2]=(k[T>>2]|0)+(b&255);yf=bJ((k[$e>>2]|0)+(k[Ba>>2]|0)|0,k[hd>>2]|0,k[he>>2]|0)|0;k[Ba>>2]=(k[Ba>>2]|0)+yf;yf=(k[hd>>2]|0)+40|0;k[hd>>2]=yf}while(yf>>>0<=(k[Qc>>2]|0)>>>0);k[(k[dd>>2]|0)+12>>2]=k[Na>>2];j[(k[dd>>2]|0)+8>>1]=16;yf=bb;if((k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0){k[k[dd>>2]>>2]=k[bb>>2];yf=(k[dd>>2]|0)+8|0;j[yf>>1]=m[yf>>1]|16384}i[(k[dd>>2]|0)+10>>0]=1;break}case 100:{k[Vb>>2]=k[(k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];yf=Ra;k[yf>>2]=0;k[yf+4>>2]=0;yf=cJ(k[Vb>>2]|0,Ra)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;c=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=c;c=Ra;wf=k[c+4>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;break}case 0:{k[mb>>2]=k[(k[pf>>2]|0)+4>>2];k[_e>>2]=k[(k[pf>>2]|0)+16>>2];do if(!(k[mb>>2]|0)){if((k[(k[rf>>2]|0)+164>>2]|0)>0){KI(k[qf>>2]|0,39951,we);k[uf>>2]=5;break}yf=Tf(k[_e>>2]|0)|0;k[Za>>2]=yf;yf=dJ(k[rf>>2]|0,0,(k[(k[rf>>2]|0)+436>>2]|0)+(k[(k[rf>>2]|0)+432>>2]|0)|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;yf=dx(k[rf>>2]|0,32+(k[Za>>2]|0)+1|0,0)|0;k[cd>>2]=yf;if(k[cd>>2]|0){k[k[cd>>2]>>2]=(k[cd>>2]|0)+32;bS(k[k[cd>>2]>>2]|0,k[_e>>2]|0,(k[Za>>2]|0)+1|0)|0;b=k[rf>>2]|0;if(i[(k[rf>>2]|0)+67>>0]|0){i[b+67>>0]=0;i[(k[rf>>2]|0)+75>>0]=1}else{yf=b+432|0;k[yf>>2]=(k[yf>>2]|0)+1}k[(k[cd>>2]|0)+24>>2]=k[(k[rf>>2]|0)+424>>2];k[(k[rf>>2]|0)+424>>2]=k[cd>>2];yf=(k[rf>>2]|0)+440|0;wf=k[yf+4>>2]|0;c=(k[cd>>2]|0)+8|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=(k[rf>>2]|0)+448|0;wf=k[c+4>>2]|0;yf=(k[cd>>2]|0)+16|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}}else{k[sa>>2]=0;k[kd>>2]=k[(k[rf>>2]|0)+424>>2];while(1){if(!(k[kd>>2]|0))break;if(!(sg(k[k[kd>>2]>>2]|0,k[_e>>2]|0)|0))break;k[sa>>2]=(k[sa>>2]|0)+1;k[kd>>2]=k[(k[kd>>2]|0)+24>>2]}if(!(k[kd>>2]|0)){yf=k[qf>>2]|0;k[xe>>2]=k[_e>>2];KI(yf,40002,xe);k[uf>>2]=1;break}if((k[mb>>2]|0)==1?(k[(k[rf>>2]|0)+164>>2]|0)>0:0){KI(k[qf>>2]|0,40024,ye);k[uf>>2]=5;break}if(!(k[(k[kd>>2]|0)+24>>2]|0))b=(l[(k[rf>>2]|0)+75>>0]|0)!=0;else b=0;k[za>>2]=b&1;if(!((k[za>>2]|0)!=0&(k[mb>>2]|0)==1)){k[sa>>2]=(k[(k[rf>>2]|0)+432>>2]|0)-(k[sa>>2]|0)-1;g:do if((k[mb>>2]|0)==2){k[ya>>2]=(k[(k[rf>>2]|0)+24>>2]&2|0)!=0&1;k[va>>2]=0;while(1){if((k[va>>2]|0)>=(k[(k[rf>>2]|0)+20>>2]|0))break g;yf=eJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[va>>2]<<4)+4>>2]|0,516,(k[ya>>2]|0)==0&1)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[va>>2]=(k[va>>2]|0)+1}}else k[ya>>2]=0;while(0);k[va>>2]=0;while(1){if((k[va>>2]|0)>=(k[(k[rf>>2]|0)+20>>2]|0))break;yf=fJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[va>>2]<<4)+4>>2]|0,k[mb>>2]|0,k[sa>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[va>>2]=(k[va>>2]|0)+1}if(k[ya>>2]|0){ai(k[rf>>2]|0);Mg(k[rf>>2]|0);k[(k[rf>>2]|0)+24>>2]=k[(k[rf>>2]|0)+24>>2]|2}}else{yf=OI(k[qf>>2]|0,1)|0;k[uf>>2]=yf;if(yf){d=887;break c}i[(k[rf>>2]|0)+67>>0]=1;if((LI(k[qf>>2]|0)|0)==5){d=370;break c}i[(k[rf>>2]|0)+75>>0]=0;k[uf>>2]=k[(k[qf>>2]|0)+40>>2]}while(1){if((k[(k[rf>>2]|0)+424>>2]|0)==(k[kd>>2]|0))break;k[od>>2]=k[(k[rf>>2]|0)+424>>2];k[(k[rf>>2]|0)+424>>2]=k[(k[od>>2]|0)+24>>2];bg(k[rf>>2]|0,k[od>>2]|0);yf=(k[rf>>2]|0)+432|0;k[yf>>2]=(k[yf>>2]|0)+-1}b=k[kd>>2]|0;if((k[mb>>2]|0)==1){k[(k[rf>>2]|0)+424>>2]=k[b+24>>2];bg(k[rf>>2]|0,k[kd>>2]|0);if(!(k[za>>2]|0)){yf=(k[rf>>2]|0)+432|0;k[yf>>2]=(k[yf>>2]|0)+-1}}else{yf=b+8|0;wf=k[yf+4>>2]|0;c=(k[rf>>2]|0)+440|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=(k[kd>>2]|0)+16|0;wf=k[c+4>>2]|0;yf=(k[rf>>2]|0)+448|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}if((k[za>>2]|0)==0|(k[mb>>2]|0)==2){yf=dJ(k[rf>>2]|0,k[mb>>2]|0,k[sa>>2]|0)|0;k[uf>>2]=yf;if((k[uf>>2]|0)!=0|(k[uf>>2]|0)!=0)break a;else break d}}while(0);if(k[uf>>2]|0)break a;break}case 2:{if((k[(k[pf>>2]|0)+8>>2]|0)!=0?(k[(k[rf>>2]|0)+24>>2]&67108864|0)!=0:0){d=411;break c}k[tb>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];if(k[tb>>2]|0){yf=zg(k[tb>>2]|0,k[(k[pf>>2]|0)+8>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){d=414;break c}do if((k[(k[pf>>2]|0)+8>>2]|0)!=0?((m[(k[qf>>2]|0)+144>>1]|0)>>>6&1|0)!=0:0){if((l[(k[rf>>2]|0)+67>>0]|0)!=0?(k[(k[rf>>2]|0)+160>>2]|0)<=1:0)break;if(!(k[(k[qf>>2]|0)+48>>2]|0)){yf=(k[rf>>2]|0)+436|0;k[yf>>2]=(k[yf>>2]|0)+1;k[(k[qf>>2]|0)+48>>2]=(k[(k[rf>>2]|0)+432>>2]|0)+(k[(k[rf>>2]|0)+436>>2]|0)}yf=dJ(k[rf>>2]|0,0,(k[(k[qf>>2]|0)+48>>2]|0)-1|0)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0)){yf=iJ(k[tb>>2]|0,k[(k[qf>>2]|0)+48>>2]|0)|0;k[uf>>2]=yf}yf=(k[rf>>2]|0)+440|0;wf=k[yf+4>>2]|0;c=(k[qf>>2]|0)+72|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=(k[rf>>2]|0)+448|0;wf=k[c+4>>2]|0;yf=(k[qf>>2]|0)+80|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}while(0);Bg(k[tb>>2]|0,1,na);k[ka>>2]=k[(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{k[na>>2]=0;k[ka>>2]=0}do if(l[(k[pf>>2]|0)+3>>0]|0){if((k[na>>2]|0)==(k[(k[pf>>2]|0)+12>>2]|0)?(k[ka>>2]|0)==(k[(k[pf>>2]|0)+16>>2]|0):0)break;bg(k[rf>>2]|0,k[(k[qf>>2]|0)+108>>2]|0);yf=Ah(k[rf>>2]|0,40265)|0;k[(k[qf>>2]|0)+108>>2]=yf;if((k[k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(k[na>>2]|0))Gj(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0);yf=(k[qf>>2]|0)+144|0;j[yf>>1]=j[yf>>1]&-2|1;k[uf>>2]=17}while(0);if(k[uf>>2]|0)break a;break}case 101:{k[ea>>2]=k[(k[pf>>2]|0)+4>>2];k[da>>2]=k[(k[pf>>2]|0)+12>>2];Bg(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[ea>>2]<<4)+4>>2]|0,k[da>>2]|0,oa);wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;wf=k[oa>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 102:{k[vc>>2]=(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4);b=Lg(k[(k[vc>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,k[(k[pf>>2]|0)+12>>2]|0)|0;k[uf>>2]=b;b=k[pf>>2]|0;if((k[(k[pf>>2]|0)+8>>2]|0)!=1){if((k[b+8>>2]|0)==2)i[(k[(k[vc>>2]|0)+12>>2]|0)+76>>0]=k[(k[pf>>2]|0)+12>>2]}else{k[k[(k[vc>>2]|0)+12>>2]>>2]=k[b+12>>2];yf=(k[rf>>2]|0)+24|0;k[yf>>2]=k[yf>>2]|2}if((k[(k[pf>>2]|0)+4>>2]|0)==1){ai(k[rf>>2]|0);yf=(k[qf>>2]|0)+144|0;j[yf>>1]=j[yf>>1]&-2}if(k[uf>>2]|0)break a;break}case 103:{k[lc>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if((k[lc>>2]|0)!=0?(k[(k[lc>>2]|0)+8>>2]|0)==(k[(k[pf>>2]|0)+8>>2]|0):0)d=458;else d=444;break}case 105:case 104:{d=444;break}case 107:case 106:{yf=jJ(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,-1,0)|0;k[qc>>2]=yf;if(!(k[qc>>2]|0)){d=889;break a}i[(k[qc>>2]|0)+2>>0]=1;yf=(k[qc>>2]|0)+5|0;i[yf>>0]=i[yf>>0]&-2|1;yf=lk(k[k[rf>>2]>>2]|0,0,k[rf>>2]|0,(k[qc>>2]|0)+20|0,5|l[(k[pf>>2]|0)+3>>0],1054)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0)){yf=zg(k[(k[qc>>2]|0)+20>>2]|0,1)|0;k[uf>>2]=yf}do if(!(k[uf>>2]|0)){yf=k[(k[pf>>2]|0)+16>>2]|0;k[Pc>>2]=yf;b=k[(k[qc>>2]|0)+20>>2]|0;if(!yf){yf=kJ(b,1,4,0,k[(k[qc>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;i[(k[qc>>2]|0)+4>>0]=1;break}yf=mJ(b,Dd,2|l[(k[pf>>2]|0)+3>>0])|0;k[uf>>2]=yf;if(!(k[uf>>2]|0)){k[(k[qc>>2]|0)+24>>2]=k[Pc>>2];yf=kJ(k[(k[qc>>2]|0)+20>>2]|0,k[Dd>>2]|0,4,k[Pc>>2]|0,k[(k[qc>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf}i[(k[qc>>2]|0)+4>>0]=0}while(0);if(k[uf>>2]|0)break a;yf=(k[qc>>2]|0)+5|0;i[yf>>0]=i[yf>>0]&-5|((l[(k[pf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 108:{yf=jJ(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,-1,1)|0;k[rc>>2]=yf;if(!(k[rc>>2]|0)){d=889;break a}k[(k[rc>>2]|0)+24>>2]=k[(k[pf>>2]|0)+16>>2];yf=nJ(k[rf>>2]|0,k[(k[pf>>2]|0)+12>>2]|0,k[rc>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;break}case 109:{k[yb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];c=(k[yb>>2]|0)+32|0;yf=c;wf=k[yf>>2]|0;yf=k[yf+4>>2]|0;a=$R(wf|0,yf|0,1,0)|0;k[c>>2]=a;k[c+4>>2]=L;if((wf|0)==0&(yf|0)==0)d=14;break}case 110:{yf=jJ(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+12>>2]|0,-1,3)|0;k[sc>>2]=yf;if(!(k[sc>>2]|0)){d=889;break a}i[(k[sc>>2]|0)+2>>0]=1;k[(k[sc>>2]|0)+16>>2]=k[(k[pf>>2]|0)+8>>2];i[(k[sc>>2]|0)+4>>0]=1;break}case 111:{oJ(k[qf>>2]|0,k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0);k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{k[zb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[eb>>2]=l[k[pf>>2]>>0];k[G>>2]=0;i[(k[zb>>2]|0)+2>>0]=0;if(i[(k[zb>>2]|0)+4>>0]|0){k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Lc>>2]|0)+8>>1]&14|0)==2)Lh(k[Lc>>2]|0,0);wf=kh(k[Lc>>2]|0)|0;yf=la;k[yf>>2]=wf;k[yf+4>>2]=L;do if(!(m[(k[Lc>>2]|0)+8>>1]&4)){if(!(m[(k[Lc>>2]|0)+8>>1]&8)){d=14;break d}yf=la;if(+p[k[Lc>>2]>>3]<+((k[yf>>2]|0)>>>0)+4294967296.0*+(k[yf+4>>2]|0)){if(k[eb>>2]&1)break;k[eb>>2]=(k[eb>>2]|0)+-1;break}yf=la;if(+p[k[Lc>>2]>>3]>+((k[yf>>2]|0)>>>0)+4294967296.0*+(k[yf+4>>2]|0)?(k[eb>>2]&1|0)==1:0)k[eb>>2]=(k[eb>>2]|0)+1}while(0);c=la;c=YF(k[(k[zb>>2]|0)+16>>2]|0,0,k[c>>2]|0,k[c+4>>2]|0,0,Qd)|0;k[uf>>2]=c;c=la;wf=k[c+4>>2]|0;yf=(k[zb>>2]|0)+40|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;if(k[uf>>2]|0)break a;else d=493}else{if(pJ(k[(k[zb>>2]|0)+16>>2]|0,2)|0)k[G>>2]=1;k[Va>>2]=k[(k[pf>>2]|0)+16>>2];k[Gd>>2]=k[(k[zb>>2]|0)+24>>2];j[Gd+8>>1]=k[Va>>2];i[Gd+10>>0]=(1&(k[eb>>2]|0)-23|0)!=0?-1:1;k[Gd+4>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);i[Gd+14>>0]=0;yf=YF(k[(k[zb>>2]|0)+16>>2]|0,Gd,0,0,0,Qd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(!((k[G>>2]|0)!=0?(l[Gd+14>>0]|0)==0:0))d=493}do if((d|0)==493){d=0;i[(k[zb>>2]|0)+3>>0]=0;k[(k[zb>>2]|0)+56>>2]=0;b=k[Qd>>2]|0;if((k[eb>>2]|0)>=25){if((b|0)>=0?!((k[Qd>>2]|0)==0&(k[eb>>2]|0)==26):0){k[Qd>>2]=0;break}k[Qd>>2]=0;yf=LF(k[(k[zb>>2]|0)+16>>2]|0,Qd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;else break}else{if((b|0)<=0?!((k[Qd>>2]|0)==0&(k[eb>>2]|0)==23):0){yf=qJ(k[(k[zb>>2]|0)+16>>2]|0)|0;k[Qd>>2]=yf;break}k[Qd>>2]=0;yf=MF(k[(k[zb>>2]|0)+16>>2]|0,Qd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;else break}}while(0);if(!(k[Qd>>2]|0)){if(k[G>>2]|0)k[pf>>2]=(k[pf>>2]|0)+20}else d=14;break}case 31:case 30:case 29:{k[Ab>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Gc>>2]=0;b=k[(k[Ab>>2]|0)+24>>2]|0;if((k[(k[pf>>2]|0)+16>>2]|0)>0){k[Hd>>2]=b;j[Hd+8>>1]=k[(k[pf>>2]|0)+16>>2];k[Hd+4>>2]=k[Lc>>2];k[Hc>>2]=Hd}else{yf=WF(b,o,183,Gc)|0;k[Hc>>2]=yf;if(!(k[Hc>>2]|0)){d=889;break a}if(m[(k[Lc>>2]|0)+8>>1]&16384)gh(k[Lc>>2]|0)|0;XF(k[(k[Ab>>2]|0)+24>>2]|0,k[(k[Lc>>2]|0)+12>>2]|0,k[(k[Lc>>2]|0)+16>>2]|0,k[Hc>>2]|0)}i[(k[Hc>>2]|0)+10>>0]=0;k[me>>2]=0;h:do if((l[k[pf>>2]>>0]|0)==29){k[wa>>2]=0;while(1){if((k[wa>>2]|0)>=(m[(k[Hc>>2]|0)+8>>1]|0))break h;if(m[(k[(k[Hc>>2]|0)+4>>2]|0)+((k[wa>>2]|0)*40|0)+8>>1]&1)break;k[wa>>2]=(k[wa>>2]|0)+1}k[me>>2]=1}while(0);yf=YF(k[(k[Ab>>2]|0)+16>>2]|0,k[Hc>>2]|0,0,0,0,Rd)|0;k[uf>>2]=yf;bg(k[rf>>2]|0,k[Gc>>2]|0);if(k[uf>>2]|0)break a;k[(k[Ab>>2]|0)+28>>2]=k[Rd>>2];k[s>>2]=(k[Rd>>2]|0)==0&1;i[(k[Ab>>2]|0)+2>>0]=1-(k[s>>2]|0);i[(k[Ab>>2]|0)+3>>0]=0;k[(k[Ab>>2]|0)+56>>2]=0;if((l[k[pf>>2]>>0]|0)==31)if(k[s>>2]|0){d=14;break d}else break d;else if((k[me>>2]|0)==0&(k[s>>2]|0)!=0)break d;else{d=14;break d}}case 32:{k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Lc>>2]|0)+8>>1]&4|0)==0?(Vx(k[Lc>>2]|0,67,i[F>>0]|0),(m[(k[Lc>>2]|0)+8>>1]&4|0)==0):0)d=14;else d=523;break}case 33:{d=523;break}case 113:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;yf=(k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;wf=yf;c=k[wf>>2]|0;wf=k[wf+4>>2]|0;a=$R(c|0,wf|0,1,0)|0;k[yf>>2]=a;k[yf+4>>2]=L;yf=k[dd>>2]|0;k[yf>>2]=c;k[yf+4>>2]=wf;break}case 114:{yf=qe;k[yf>>2]=0;k[yf+4>>2]=0;k[Td>>2]=0;yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;k[Cb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];do if(!((l[(k[Cb>>2]|0)+5>>0]|0)>>>1&1)){yf=rJ(k[(k[Cb>>2]|0)+16>>2]|0,Td)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(k[Td>>2]|0){yf=qe;k[yf>>2]=1;k[yf+4>>2]=0;break}wf=kI(k[(k[Cb>>2]|0)+16>>2]|0)|0;yf=qe;k[yf>>2]=wf;k[yf+4>>2]=L;yf=qe;wf=k[yf+4>>2]|0;if((wf|0)>2147483647|(wf|0)==2147483647&(k[yf>>2]|0)>>>0>=4294967295){yf=(k[Cb>>2]|0)+5|0;i[yf>>0]=i[yf>>0]&-3|2;break}else{wf=qe;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;yf=qe;k[yf>>2]=wf;k[yf+4>>2]=L;break}}while(0);if(k[(k[pf>>2]|0)+12>>2]|0){if(k[(k[qf>>2]|0)+184>>2]|0){k[Cc>>2]=k[(k[qf>>2]|0)+184>>2];while(1){if(!(k[(k[Cc>>2]|0)+4>>2]|0))break;k[Cc>>2]=k[(k[Cc>>2]|0)+4>>2]}k[Sc>>2]=(k[(k[Cc>>2]|0)+16>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0)}else k[Sc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);_x(k[Sc>>2]|0)|0;yf=k[Sc>>2]|0;if((k[yf>>2]|0)==-1?(k[yf+4>>2]|0)==2147483647:0){d=544;break c}if((l[(k[Cb>>2]|0)+5>>0]|0)>>>1&1){d=544;break c}a=qe;wf=k[a>>2]|0;a=k[a+4>>2]|0;yf=k[Sc>>2]|0;yf=$R(k[yf>>2]|0,k[yf+4>>2]|0,1,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&wf>>>0>>0){wf=k[Sc>>2]|0;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;yf=qe;k[yf>>2]=wf;k[yf+4>>2]=L}c=qe;wf=k[c+4>>2]|0;yf=k[Sc>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}if((l[(k[Cb>>2]|0)+5>>0]|0)>>>1&1){k[B>>2]=0;do{ae(8,qe);c=qe;yf=k[c+4>>2]&1073741823;wf=qe;k[wf>>2]=k[c>>2];k[wf+4>>2]=yf;wf=qe;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;yf=qe;k[yf>>2]=wf;k[yf+4>>2]=L;yf=qe;yf=YF(k[(k[Cb>>2]|0)+16>>2]|0,0,k[yf>>2]|0,k[yf+4>>2]|0,0,Td)|0;k[uf>>2]=yf;if(!((yf|0)==0&(k[Td>>2]|0)==0))break;yf=(k[B>>2]|0)+1|0;k[B>>2]=yf}while((yf|0)<100);if(k[uf>>2]|0)break a;if(!(k[Td>>2]|0)){d=554;break c}}i[(k[Cb>>2]|0)+3>>0]=0;k[(k[Cb>>2]|0)+56>>2]=0;c=qe;wf=k[c+4>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;break}case 116:case 115:{k[ib>>2]=0;k[tc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[Db>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];b=k[(k[pf>>2]|0)+12>>2]|0;if((l[k[pf>>2]>>0]|0)==115){k[Mc>>2]=(k[e>>2]|0)+(b*40|0);c=k[Mc>>2]|0;wf=k[c+4>>2]|0;yf=Le+8|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}else{yf=Le+8|0;k[yf>>2]=b;k[yf+4>>2]=((b|0)<0)<<31>>31}if((i[(k[pf>>2]|0)+1>>0]|0)==-20?(k[(k[rf>>2]|0)+220>>2]|0)!=0:0){k[Ue>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(i[(k[Db>>2]|0)+1>>0]<<4)>>2];k[ld>>2]=k[(k[pf>>2]|0)+16>>2];k[ib>>2]=(l[(k[pf>>2]|0)+3>>0]&4|0)!=0?23:18}else{k[ld>>2]=0;k[Ue>>2]=0}if(l[(k[pf>>2]|0)+3>>0]&1){yf=(k[qf>>2]|0)+44|0;k[yf>>2]=(k[yf>>2]|0)+1}if(l[(k[pf>>2]|0)+3>>0]&2){wf=Le+8|0;c=k[wf>>2]|0;wf=k[wf+4>>2]|0;yf=sf;k[yf>>2]=c;k[yf+4>>2]=wf;yf=(k[rf>>2]|0)+32|0;k[yf>>2]=c;k[yf+4>>2]=wf}if(m[(k[tc>>2]|0)+8>>1]&1){k[Le+16>>2]=0;k[Le+20>>2]=0}else{k[Le+16>>2]=k[(k[tc>>2]|0)+16>>2];k[Le+20>>2]=k[(k[tc>>2]|0)+12>>2]}if(l[(k[pf>>2]|0)+3>>0]&16)b=k[(k[Db>>2]|0)+28>>2]|0;else b=0;k[ge>>2]=b;if(m[(k[tc>>2]|0)+8>>1]&16384)k[Le+24>>2]=k[k[tc>>2]>>2];else k[Le+24>>2]=0;k[Le>>2]=0;yf=sJ(k[(k[Db>>2]|0)+16>>2]|0,Le,(l[(k[pf>>2]|0)+3>>0]&8|0)!=0&1,k[ge>>2]|0)|0;k[uf>>2]=yf;i[(k[Db>>2]|0)+3>>0]=0;k[(k[Db>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;if((k[ib>>2]|0)!=0?(k[(k[rf>>2]|0)+220>>2]|0)!=0:0){yf=Le+8|0;fc[k[(k[rf>>2]|0)+220>>2]&255](k[(k[rf>>2]|0)+216>>2]|0,k[ib>>2]|0,k[Ue>>2]|0,k[k[ld>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)}break}case 117:{k[jb>>2]=k[(k[pf>>2]|0)+8>>2];k[Eb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if((i[(k[pf>>2]|0)+1>>0]|0)==-20?(k[(k[rf>>2]|0)+220>>2]|0)!=0:0){k[Ve>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(i[(k[Eb>>2]|0)+1>>0]<<4)>>2];k[md>>2]=k[(k[pf>>2]|0)+16>>2];if((l[(k[pf>>2]|0)+3>>0]&2|0)!=0?(l[(k[Eb>>2]|0)+4>>0]|0)!=0:0){wf=kI(k[(k[Eb>>2]|0)+16>>2]|0)|0;yf=(k[Eb>>2]|0)+40|0;k[yf>>2]=wf;k[yf+4>>2]=L}}else{k[Ve>>2]=0;k[md>>2]=0}yf=tJ(k[(k[Eb>>2]|0)+16>>2]|0,i[(k[pf>>2]|0)+3>>0]|0)|0;k[uf>>2]=yf;k[(k[Eb>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;if(((k[jb>>2]&1|0)!=0?(yf=(k[qf>>2]|0)+44|0,k[yf>>2]=(k[yf>>2]|0)+1,(k[(k[rf>>2]|0)+220>>2]|0)!=0):0)?(l[(k[md>>2]|0)+42>>0]&32|0)==0:0){yf=(k[Eb>>2]|0)+40|0;fc[k[(k[rf>>2]|0)+220>>2]&255](k[(k[rf>>2]|0)+216>>2]|0,9,k[Ve>>2]|0,k[k[md>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)}break}case 118:{II(k[rf>>2]|0,k[(k[qf>>2]|0)+44>>2]|0);k[(k[qf>>2]|0)+44>>2]=0;break}case 119:{k[Fb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Xa>>2]=k[(k[pf>>2]|0)+16>>2];k[Vd>>2]=0;yf=uJ(k[Fb>>2]|0,k[Lc>>2]|0,k[Xa>>2]|0,Vd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(k[Vd>>2]|0)d=14;break}case 120:{k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[Gb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];yf=vJ(k[Gb>>2]|0,k[dd>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[(k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 122:case 121:{k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[Hb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Xb>>2]=k[(k[Hb>>2]|0)+16>>2];yf=lI(k[Xb>>2]|0)|0;k[Ha>>2]=yf;if((k[Ha>>2]|0)>>>0>(k[(k[rf>>2]|0)+96>>2]|0)>>>0){d=888;break c}if(Xx(k[dd>>2]|0,(k[Ha>>2]|0)>>>0>32?k[Ha>>2]|0:32)|0){d=889;break a}k[(k[dd>>2]|0)+12>>2]=k[Ha>>2];j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|16;b=k[Xb>>2]|0;a=k[Ha>>2]|0;c=k[(k[dd>>2]|0)+16>>2]|0;if(!(l[(k[Hb>>2]|0)+4>>0]|0)){yf=mI(b,0,a,c)|0;k[uf>>2]=yf}else{yf=_h(b,0,a,c)|0;k[uf>>2]=yf}if(k[uf>>2]|0)break a;i[(k[dd>>2]|0)+10>>0]=1;break}case 123:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;k[Ib>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if(i[(k[Ib>>2]|0)+2>>0]|0){j[(k[dd>>2]|0)+8>>1]=1;break d}b=k[Ib>>2]|0;do if(!(i[(k[Ib>>2]|0)+3>>0]|0)){a=k[Ib>>2]|0;if((l[b>>0]|0)==2){k[td>>2]=k[k[a+16>>2]>>2];k[Xc>>2]=k[k[td>>2]>>2];yf=gc[k[(k[Xc>>2]|0)+48>>2]&255](k[(k[Ib>>2]|0)+16>>2]|0,te)|0;k[uf>>2]=yf;wJ(k[qf>>2]|0,k[td>>2]|0);if(k[uf>>2]|0)break a;else break}yf=xJ(a)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(i[(k[Ib>>2]|0)+2>>0]|0){j[(k[dd>>2]|0)+8>>1]=1;break d}else{wf=kI(k[(k[Ib>>2]|0)+16>>2]|0)|0;yf=te;k[yf>>2]=wf;k[yf+4>>2]=L;break}}else{c=b+40|0;wf=k[c+4>>2]|0;yf=te;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}while(0);c=te;wf=k[c+4>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;break}case 124:{k[Jb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];i[(k[Jb>>2]|0)+2>>0]=1;k[(k[Jb>>2]|0)+56>>2]=0;if(!(l[k[Jb>>2]>>0]|0))ZB(k[(k[Jb>>2]|0)+16>>2]|0);break}case 53:{k[Kb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Zb>>2]=k[(k[Kb>>2]|0)+16>>2];k[Wd>>2]=0;yf=rJ(k[Zb>>2]|0,Wd)|0;k[uf>>2]=yf;i[(k[Kb>>2]|0)+2>>0]=k[Wd>>2];i[(k[Kb>>2]|0)+3>>0]=0;k[(k[Kb>>2]|0)+56>>2]=0;k[(k[Kb>>2]|0)+28>>2]=k[(k[pf>>2]|0)+12>>2];if(k[uf>>2]|0)break a;if((k[Wd>>2]|0)!=0?(k[(k[pf>>2]|0)+8>>2]|0)>0:0)d=14;break}case 56:case 55:{d=(k[qf>>2]|0)+156+8|0;k[d>>2]=(k[d>>2]|0)+1;d=617;break}case 57:{d=617;break}case 3:{k[Mb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Yd>>2]=0;d=AJ(k[rf>>2]|0,k[Mb>>2]|0,Yd)|0;k[uf>>2]=d;d=625;break}case 5:case 4:{if(k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0)d=624;break}case 7:case 6:{d=624;break}case 126:case 125:{k[Nb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);if(l[(k[pf>>2]|0)+3>>0]&1){yf=(k[qf>>2]|0)+44|0;k[yf>>2]=(k[yf>>2]|0)+1}if(m[(k[Kc>>2]|0)+8>>1]&16384)b=gh(k[Kc>>2]|0)|0;else b=0;k[uf>>2]=b;if(k[uf>>2]|0)break a;if((l[k[pf>>2]>>0]|0)==125){yf=BJ(k[Nb>>2]|0,k[Kc>>2]|0)|0;k[uf>>2]=yf}else{wf=k[(k[Kc>>2]|0)+12>>2]|0;yf=Ne+8|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;k[Ne>>2]=k[(k[Kc>>2]|0)+16>>2];if(l[(k[pf>>2]|0)+3>>0]&16)b=k[(k[Nb>>2]|0)+28>>2]|0;else b=0;yf=sJ(k[(k[Nb>>2]|0)+16>>2]|0,Ne,k[(k[pf>>2]|0)+12>>2]|0,b)|0;k[uf>>2]=yf;k[(k[Nb>>2]|0)+56>>2]=0}if(k[uf>>2]|0)break a;break}case 127:{k[Ob>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[ac>>2]=k[(k[Ob>>2]|0)+16>>2];k[Id>>2]=k[(k[Ob>>2]|0)+24>>2];j[Id+8>>1]=k[(k[pf>>2]|0)+12>>2];i[Id+10>>0]=0;k[Id+4>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);yf=YF(k[ac>>2]|0,Id,0,0,0,Zd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if((k[Zd>>2]|0)==0?(yf=tJ(k[ac>>2]|0,4)|0,k[uf>>2]=yf,(k[uf>>2]|0)!=0):0)break a;k[(k[Ob>>2]|0)+56>>2]=0;break}case 129:case 128:{k[Pb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];yf=xJ(k[Pb>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(i[(k[Pb>>2]|0)+2>>0]|0){sh((k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0)|0);break d}yf=be;k[yf>>2]=0;k[yf+4>>2]=0;yf=CJ(k[rf>>2]|0,k[(k[Pb>>2]|0)+16>>2]|0,be)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if((l[k[pf>>2]>>0]|0)==128){k[nd>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+12>>2]<<2)>>2];i[(k[nd>>2]|0)+2>>0]=0;c=be;wf=k[c+4>>2]|0;yf=(k[nd>>2]|0)+40|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;i[(k[nd>>2]|0)+3>>0]=1;k[(k[nd>>2]|0)+52>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[nd>>2]|0)+48>>2]=k[Pb>>2];break d}else{c=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=c;c=be;wf=k[c+4>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;j[(k[dd>>2]|0)+8>>1]=4;break d}}case 61:case 60:case 59:case 58:{k[Qb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Jd>>2]=k[(k[Qb>>2]|0)+24>>2];j[Jd+8>>1]=k[(k[pf>>2]|0)+16>>2];b=Jd+10|0;if((l[k[pf>>2]>>0]|0)<60)i[b>>0]=-1;else i[b>>0]=0;k[Jd+4>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[_d>>2]=0;b=DJ(k[rf>>2]|0,k[Qb>>2]|0,Jd,_d)|0;k[uf>>2]=b;b=k[_d>>2]|0;if(!(l[k[pf>>2]>>0]&1))k[_d>>2]=0-b;else k[_d>>2]=b+1;if(k[uf>>2]|0)break a;if((k[_d>>2]|0)>0)d=14;break}case 130:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;j[(k[dd>>2]|0)+8>>1]=1;if((k[(k[rf>>2]|0)+160>>2]|0)>((k[(k[rf>>2]|0)+172>>2]|0)+1|0)){d=660;break c}k[ha>>2]=k[(k[pf>>2]|0)+12>>2];k[pa>>2]=0;wf=EJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[ha>>2]<<4)+4>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,pa)|0;k[uf>>2]=wf;j[(k[dd>>2]|0)+8>>1]=4;wf=k[pa>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;if(k[uf>>2]|0)break a;if(k[pa>>2]|0){FJ(k[rf>>2]|0,k[ha>>2]|0,k[pa>>2]|0,k[(k[pf>>2]|0)+4>>2]|0);i[ef>>0]=(k[ha>>2]|0)+1}break}case 131:{k[Pa>>2]=0;yf=GJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+8>>2]<<4)+4>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,(k[(k[pf>>2]|0)+12>>2]|0)!=0?Pa:0)|0;k[uf>>2]=yf;if((k[(k[pf>>2]|0)+12>>2]|0)!=0?(yf=(k[qf>>2]|0)+44|0,k[yf>>2]=(k[yf>>2]|0)+(k[Pa>>2]|0),(k[(k[pf>>2]|0)+12>>2]|0)>0):0){wf=k[Pa>>2]|0;yf=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0)|0;c=yf;wf=$R(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L}if(k[uf>>2]|0)break a;break}case 133:{k[Rb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if((l[k[Rb>>2]>>0]|0)!=1){yf=IJ(k[(k[Rb>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;else break d}else{HJ(k[rf>>2]|0,k[(k[Rb>>2]|0)+16>>2]|0);break d}}case 135:case 134:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;k[Ed>>2]=0;k[xc>>2]=(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4);if((l[k[pf>>2]>>0]|0)==135)k[N>>2]=1;else k[N>>2]=2;yf=mJ(k[(k[xc>>2]|0)+4>>2]|0,Ed,k[N>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;wf=k[Ed>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 136:{k[ja>>2]=k[(k[pf>>2]|0)+4>>2];k[Ze>>2]=(k[ja>>2]|0)==1?19905:19924;k[xa>>2]=k[rf>>2];k[xa+8>>2]=k[(k[pf>>2]|0)+4>>2];k[xa+4>>2]=(k[qf>>2]|0)+108;yf=k[rf>>2]|0;c=k[Ze>>2]|0;wf=k[(k[pf>>2]|0)+16>>2]|0;k[Ae>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[ja>>2]<<4)>>2];k[Ae+4>>2]=c;k[Ae+8>>2]=wf;yf=Qh(yf,40293,Ae)|0;k[af>>2]=yf;if(!(k[af>>2]|0))k[uf>>2]=7;else{i[(k[rf>>2]|0)+148+5>>0]=1;k[xa+12>>2]=0;yf=kf(k[rf>>2]|0,k[af>>2]|0,140,xa,0)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0))k[uf>>2]=k[xa+12>>2];bg(k[rf>>2]|0,k[af>>2]|0);i[(k[rf>>2]|0)+148+5>>0]=0}if(k[uf>>2]|0){d=682;break c}break}case 137:{yf=Pj(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;break}case 138:{JJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);break}case 139:{KJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);break}case 140:{LJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);break}case 141:{k[$a>>2]=k[(k[pf>>2]|0)+8>>2];k[n>>2]=k[(k[pf>>2]|0)+16>>2];k[Fd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);wf=MJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(l[(k[pf>>2]|0)+3>>0]<<4)+4>>2]|0,k[n>>2]|0,k[$a>>2]|0,k[k[Fd>>2]>>2]|0,Sa)|0;k[Oe>>2]=wf;wf=k[Sa>>2]|0;yf=k[Fd>>2]|0;c=yf;wf=_R(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;sh(k[Jc>>2]|0);if(k[Sa>>2]|0){if(!(k[Oe>>2]|0)){d=889;break a}qh(k[Jc>>2]|0,k[Oe>>2]|0,-1,1,148)|0}su(k[Jc>>2]|0,l[F>>0]|0)|0;break}case 142:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);if((m[(k[Jc>>2]|0)+8>>1]&32|0)==0?(NJ(k[Jc>>2]|0),(m[(k[Jc>>2]|0)+8>>1]&32|0)==0):0){d=889;break a}yf=k[Kc>>2]|0;OJ(k[k[Jc>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0);break}case 62:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if((m[(k[Jc>>2]|0)+8>>1]&32|0)!=0?(PJ(k[k[Jc>>2]>>2]|0,ue)|0)!=0:0){d=ue;rh((k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0)|0,k[d>>2]|0,k[d+4>>2]|0);d=8;break d}sh(k[Jc>>2]|0);d=7;break}case 63:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[ta>>2]=k[(k[pf>>2]|0)+16>>2];if((m[(k[Jc>>2]|0)+8>>1]&32|0)==0?(NJ(k[Jc>>2]|0),(m[(k[Jc>>2]|0)+8>>1]&32|0)==0):0){d=889;break a}if((k[ta>>2]|0)!=0?(yf=k[Lc>>2]|0,yf=QJ(k[k[Jc>>2]>>2]|0,k[ta>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)|0,k[H>>2]=yf,(k[H>>2]|0)!=0):0){d=14;break d}if((k[ta>>2]|0)>=0){yf=k[Lc>>2]|0;OJ(k[k[Jc>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)}break}case 64:{k[fd>>2]=k[(k[pf>>2]|0)+16>>2];k[jd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(i[(k[pf>>2]|0)+3>>0]|0){k[ke>>2]=k[(k[fd>>2]|0)+16>>2];k[Dc>>2]=k[(k[qf>>2]|0)+184>>2];while(1){if(!(k[Dc>>2]|0))break;if((k[(k[Dc>>2]|0)+24>>2]|0)==(k[ke>>2]|0))break;k[Dc>>2]=k[(k[Dc>>2]|0)+4>>2]}if(k[Dc>>2]|0)break d}if((k[(k[qf>>2]|0)+192>>2]|0)>=(k[(k[rf>>2]|0)+96+40>>2]|0)){d=711;break c}i:do if(!(m[(k[jd>>2]|0)+8>>1]&64)){k[Ya>>2]=(k[(k[fd>>2]|0)+8>>2]|0)+(k[(k[fd>>2]|0)+12>>2]|0);if(!(k[(k[fd>>2]|0)+12>>2]|0))k[Ya>>2]=(k[Ya>>2]|0)+1;k[Oa>>2]=80+((k[Ya>>2]|0)*40|0)+(k[(k[fd>>2]|0)+12>>2]<<2);yf=k[Oa>>2]|0;yf=Ch(k[rf>>2]|0,yf,((yf|0)<0)<<31>>31)|0;k[Dc>>2]=yf;if(!(k[Dc>>2]|0)){d=889;break a}fh(k[jd>>2]|0);j[(k[jd>>2]|0)+8>>1]=64;k[k[jd>>2]>>2]=k[Dc>>2];k[k[Dc>>2]>>2]=k[qf>>2];k[(k[Dc>>2]|0)+60>>2]=k[Ya>>2];k[(k[Dc>>2]|0)+64>>2]=k[(k[fd>>2]|0)+12>>2];k[(k[Dc>>2]|0)+48>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[(k[Dc>>2]|0)+16>>2]=k[(k[qf>>2]|0)+92>>2];k[(k[Dc>>2]|0)+56>>2]=k[(k[qf>>2]|0)+24>>2];k[(k[Dc>>2]|0)+20>>2]=k[(k[qf>>2]|0)+112>>2];k[(k[Dc>>2]|0)+44>>2]=k[(k[qf>>2]|0)+28>>2];k[(k[Dc>>2]|0)+8>>2]=k[(k[qf>>2]|0)+88>>2];k[(k[Dc>>2]|0)+52>>2]=k[(k[qf>>2]|0)+136>>2];k[(k[Dc>>2]|0)+24>>2]=k[(k[fd>>2]|0)+16>>2];k[Ac>>2]=(k[Dc>>2]|0)+80+((k[(k[Dc>>2]|0)+60>>2]|0)*40|0);k[Tc>>2]=(k[Dc>>2]|0)+80;while(1){if((k[Tc>>2]|0)==(k[Ac>>2]|0))break i;j[(k[Tc>>2]|0)+8>>1]=128;k[(k[Tc>>2]|0)+32>>2]=k[rf>>2];k[Tc>>2]=(k[Tc>>2]|0)+40}}else k[Dc>>2]=k[k[jd>>2]>>2];while(0);c=(k[qf>>2]|0)+192|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[Dc>>2]|0)+4>>2]=k[(k[qf>>2]|0)+184>>2];c=sf;wf=k[c+4>>2]|0;yf=(k[Dc>>2]|0)+32|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;k[(k[Dc>>2]|0)+68>>2]=k[(k[qf>>2]|0)+44>>2];k[(k[Dc>>2]|0)+72>>2]=k[(k[k[qf>>2]>>2]|0)+88>>2];k[(k[Dc>>2]|0)+40>>2]=k[(k[qf>>2]|0)+204>>2];k[(k[qf>>2]|0)+204>>2]=0;k[(k[qf>>2]|0)+44>>2]=0;k[(k[qf>>2]|0)+184>>2]=k[Dc>>2];yf=(k[Dc>>2]|0)+80|0;k[e>>2]=yf;k[(k[qf>>2]|0)+92>>2]=yf;k[(k[qf>>2]|0)+24>>2]=k[(k[Dc>>2]|0)+60>>2];k[(k[qf>>2]|0)+28>>2]=k[(k[Dc>>2]|0)+64>>2]&65535;k[(k[qf>>2]|0)+112>>2]=(k[e>>2]|0)+((k[(k[qf>>2]|0)+24>>2]|0)*40|0);yf=k[k[fd>>2]>>2]|0;k[df>>2]=yf;k[(k[qf>>2]|0)+88>>2]=yf;k[(k[qf>>2]|0)+136>>2]=k[(k[fd>>2]|0)+4>>2];k[pf>>2]=(k[df>>2]|0)+-20;break}case 143:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;k[Ec>>2]=k[(k[qf>>2]|0)+184>>2];k[Ic>>2]=(k[(k[Ec>>2]|0)+16>>2]|0)+(((k[(k[pf>>2]|0)+4>>2]|0)+(k[(k[(k[Ec>>2]|0)+8>>2]|0)+((k[(k[Ec>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);uG(k[dd>>2]|0,k[Ic>>2]|0,4096);break}case 144:{b=k[pf>>2]|0;if(k[(k[rf>>2]|0)+24>>2]&33554432){wf=k[b+8>>2]|0;yf=(k[rf>>2]|0)+448|0;c=yf;wf=$R(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break d}a=k[(k[pf>>2]|0)+8>>2]|0;c=((a|0)<0)<<31>>31;if(k[b+4>>2]|0){yf=(k[rf>>2]|0)+440|0;wf=yf;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,a|0,c|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break d}else{yf=(k[qf>>2]|0)+64|0;wf=yf;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,a|0,c|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break d}}case 65:if(k[(k[pf>>2]|0)+4>>2]|0){yf=(k[rf>>2]|0)+440|0;if(!((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0))break d;yf=(k[rf>>2]|0)+448|0;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0){d=14;break d}else break d}else{yf=(k[qf>>2]|0)+64|0;if(!((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0))break d;yf=(k[rf>>2]|0)+448|0;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0){d=14;break d}else break d}case 145:{if(k[(k[qf>>2]|0)+184>>2]|0){k[Fc>>2]=k[(k[qf>>2]|0)+184>>2];while(1){if(!(k[(k[Fc>>2]|0)+4>>2]|0))break;k[Fc>>2]=k[(k[Fc>>2]|0)+4>>2]}k[Jc>>2]=(k[(k[Fc>>2]|0)+16>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0)}else k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);_x(k[Jc>>2]|0)|0;k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);_x(k[Kc>>2]|0)|0;wf=k[Jc>>2]|0;a=k[wf+4>>2]|0;yf=k[Kc>>2]|0;c=k[yf+4>>2]|0;if((a|0)<(c|0)|((a|0)==(c|0)?(k[wf>>2]|0)>>>0<(k[yf>>2]|0)>>>0:0)){c=k[Kc>>2]|0;wf=k[c+4>>2]|0;yf=k[Jc>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}break}case 66:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=k[Jc>>2]|0;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>0){yf=k[(k[pf>>2]|0)+12>>2]|0;d=k[Jc>>2]|0;wf=d;yf=_R(k[wf>>2]|0,k[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[d>>2]=yf;k[d+4>>2]=L;d=14}break}case 146:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;yf=k[Jc>>2]|0;wf=k[yf+4>>2]|0;if((wf|0)<0|(wf|0)==0&(k[yf>>2]|0)>>>0<=0){b=-1;a=-1}else{b=k[Jc>>2]|0;yf=k[Lc>>2]|0;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>0){c=k[Lc>>2]|0;a=k[c>>2]|0;c=k[c+4>>2]|0}else{a=0;c=0}b=$R(k[b>>2]|0,k[b+4>>2]|0,a|0,c|0)|0;a=L}yf=k[dd>>2]|0;k[yf>>2]=b;k[yf+4>>2]=a;break}case 67:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=k[Jc>>2]|0;if((k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0){yf=k[(k[pf>>2]|0)+12>>2]|0;d=k[Jc>>2]|0;wf=d;yf=_R(k[wf>>2]|0,k[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[d>>2]=yf;k[d+4>>2]=L;d=14}break}case 68:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=k[Jc>>2]|0;wf=yf;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,-1,-1)|0;k[yf>>2]=wf;k[yf+4>>2]=L;yf=k[Jc>>2]|0;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0)d=14;break}case 147:{k[Ja>>2]=l[(k[pf>>2]|0)+3>>0];yf=dx(k[rf>>2]|0,32+((k[Ja>>2]|0)-1<<2)|0,0)|0;k[jc>>2]=yf;if(!(k[jc>>2]|0)){d=889;break a}k[(k[jc>>2]|0)+8>>2]=0;k[(k[jc>>2]|0)+4>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[jc>>2]|0)+16>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[(k[jc>>2]|0)+12>>2]=k[qf>>2];i[(k[jc>>2]|0)+26>>0]=k[Ja>>2];i[(k[pf>>2]|0)+1>>0]=-21;k[(k[pf>>2]|0)+16>>2]=k[jc>>2];i[k[pf>>2]>>0]=-108;d=752;break}case 148:{d=752;break}case 149:{k[Vc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=xG(k[Vc>>2]|0,k[(k[pf>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){d=764;break c}su(k[Vc>>2]|0,l[F>>0]|0)|0;if(NI(k[Vc>>2]|0)|0){d=888;break c}break}case 8:{k[h>>2]=0;k[h+8>>2]=-1;k[h+4>>2]=-1;yf=yi(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,h+4|0,h+8|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){if((k[uf>>2]|0)!=5)break a;k[uf>>2]=0;k[h>>2]=1}k[Z>>2]=0;k[Wc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);while(1){if((k[Z>>2]|0)>=3)break d;yf=k[h+(k[Z>>2]<<2)>>2]|0;rh(k[Wc>>2]|0,yf,((yf|0)<0)<<31>>31);k[Z>>2]=(k[Z>>2]|0)+1;k[Wc>>2]=(k[Wc>>2]|0)+40}}case 9:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;k[D>>2]=k[(k[pf>>2]|0)+12>>2];k[vb>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];yf=Zf(k[vb>>2]|0)|0;k[ed>>2]=yf;yf=Dg(k[ed>>2]|0)|0;k[E>>2]=yf;if((k[D>>2]|0)==-1)k[D>>2]=k[E>>2];if(!(RJ(k[ed>>2]|0)|0))k[D>>2]=k[E>>2];yf=Ui(k[ed>>2]|0,1)|0;k[Xe>>2]=yf;do if((k[D>>2]|0)==5){if((Tf(k[Xe>>2]|0)|0)!=0?(SJ(k[ed>>2]|0)|0)!=0:0)break;k[D>>2]=k[E>>2]}while(0);if((k[D>>2]|0)!=(k[E>>2]|0)?(k[E>>2]|0)==5|(k[D>>2]|0)==5:0){if(!(i[(k[rf>>2]|0)+67>>0]|0)){d=784;break c}if((k[(k[rf>>2]|0)+160>>2]|0)>1){d=784;break c}if((k[E>>2]|0)==5){yf=TJ(k[ed>>2]|0)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0))UJ(k[ed>>2]|0,k[D>>2]|0)|0}else if((k[E>>2]|0)==4)UJ(k[ed>>2]|0,2)|0;if(!(k[uf>>2]|0)){yf=Ng(k[vb>>2]|0,(k[D>>2]|0)==5?2:1)|0;k[uf>>2]=yf}}if(k[uf>>2]|0)k[D>>2]=k[E>>2];yf=UJ(k[ed>>2]|0,k[D>>2]|0)|0;k[D>>2]=yf;j[(k[dd>>2]|0)+8>>1]=2562;yf=zC(k[D>>2]|0)|0;k[(k[dd>>2]|0)+16>>2]=yf;yf=Tf(k[(k[dd>>2]|0)+16>>2]|0)|0;k[(k[dd>>2]|0)+12>>2]=yf;i[(k[dd>>2]|0)+10>>0]=1;su(k[dd>>2]|0,l[F>>0]|0)|0;if(k[uf>>2]|0)break a;break}case 10:{yf=VJ((k[qf>>2]|0)+108|0,k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;break}case 69:{k[wb>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];yf=WJ(k[wb>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){if((k[uf>>2]|0)!=101)break a;k[uf>>2]=0;d=14}break}case 150:if(k[(k[pf>>2]|0)+4>>2]|0){yf=(k[qf>>2]|0)+144|0;j[yf>>1]=j[yf>>1]&-2|1;break d}else{ai(k[rf>>2]|0);break d}case 151:{i[Aa>>0]=k[(k[pf>>2]|0)+12>>2];if((l[Aa>>0]|0)==0?0!=(k[(k[rf>>2]|0)+24>>2]&16384|0):0)break d;k[lb>>2]=k[(k[pf>>2]|0)+4>>2];yf=XJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[lb>>2]<<4)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,i[Aa>>0]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){d=805;break c}break}case 152:{k[rd>>2]=k[(k[pf>>2]|0)+16>>2];yf=YJ(k[rf>>2]|0,k[rd>>2]|0)|0;k[uf>>2]=yf;if(k[rd>>2]|0)wJ(k[qf>>2]|0,k[(k[rd>>2]|0)+8>>2]|0);if(k[uf>>2]|0)break a;break}case 153:{b=fe;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));k[fe+32>>2]=k[rf>>2];yf=th(fe,(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0)|0)|0;k[uf>>2]=yf;yf=je(fe)|0;k[bf>>2]=yf;if(k[bf>>2]|0){yf=ZJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[bf>>2]|0,(k[qf>>2]|0)+108|0)|0;k[uf>>2]=yf}fh(fe);if(k[uf>>2]|0)break a;break}case 154:{yf=(k[rf>>2]|0)+172|0;k[yf>>2]=(k[yf>>2]|0)+1;yf=_J(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;yf=(k[rf>>2]|0)+172|0;k[yf>>2]=(k[yf>>2]|0)+-1;if(k[uf>>2]|0)break a;break}case 155:{k[mc>>2]=0;k[pd>>2]=0;k[ud>>2]=k[(k[(k[pf>>2]|0)+16>>2]|0)+8>>2];if(!(k[ud>>2]|0)){d=816;break c}if(!(k[k[ud>>2]>>2]|0)){d=816;break c}k[Yc>>2]=k[k[ud>>2]>>2];yf=gc[k[(k[Yc>>2]|0)+24>>2]&255](k[ud>>2]|0,pd)|0;k[uf>>2]=yf;wJ(k[qf>>2]|0,k[ud>>2]|0);if(k[uf>>2]|0)break a;k[k[pd>>2]>>2]=k[ud>>2];yf=jJ(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,0,-1,2)|0;k[mc>>2]=yf;if(!(k[mc>>2]|0)){d=820;break c}k[(k[mc>>2]|0)+16>>2]=k[pd>>2];yf=(k[ud>>2]|0)+4|0;k[yf>>2]=(k[yf>>2]|0)+1;break}case 11:{k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[sb>>2]=(k[gd>>2]|0)+40;k[nc>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[qd>>2]=k[(k[nc>>2]|0)+16>>2];k[vd>>2]=k[k[qd>>2]>>2];k[Zc>>2]=k[k[vd>>2]>>2];k[Ka>>2]=k[k[sb>>2]>>2];k[qa>>2]=k[k[gd>>2]>>2];k[Nd>>2]=0;k[t>>2]=k[(k[qf>>2]|0)+96>>2];k[P>>2]=0;while(1){if((k[P>>2]|0)>=(k[Ka>>2]|0))break;k[(k[t>>2]|0)+(k[P>>2]<<2)>>2]=(k[sb>>2]|0)+(((k[P>>2]|0)+1|0)*40|0);k[P>>2]=(k[P>>2]|0)+1}yf=hc[k[(k[Zc>>2]|0)+32>>2]&255](k[qd>>2]|0,k[qa>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,k[Ka>>2]|0,k[t>>2]|0)|0;k[uf>>2]=yf;wJ(k[qf>>2]|0,k[vd>>2]|0);if(k[uf>>2]|0)break a;yf=bc[k[(k[Zc>>2]|0)+40>>2]&255](k[qd>>2]|0)|0;k[Nd>>2]=yf;i[(k[nc>>2]|0)+2>>0]=0;if(k[Nd>>2]|0)d=14;break}case 156:{k[oc>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[zc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(i[(k[oc>>2]|0)+2>>0]|0){sh(k[zc>>2]|0);break d}k[wd>>2]=k[k[(k[oc>>2]|0)+16>>2]>>2];k[_c>>2]=k[k[wd>>2]>>2];k[de>>2]=0;k[de+4>>2]=0;k[de+8>>2]=0;k[de+12>>2]=0;k[de+16>>2]=0;k[de+20>>2]=0;k[de+24>>2]=0;k[de+28>>2]=0;k[de>>2]=k[zc>>2];j[(k[zc>>2]|0)+8>>1]=m[(k[zc>>2]|0)+8>>1]&-49664|1;yf=Yb[k[(k[_c>>2]|0)+44>>2]&255](k[(k[oc>>2]|0)+16>>2]|0,de,k[(k[pf>>2]|0)+8>>2]|0)|0;k[uf>>2]=yf;wJ(k[qf>>2]|0,k[wd>>2]|0);if(k[de+20>>2]|0)k[uf>>2]=k[de+20>>2];su(k[zc>>2]|0,l[F>>0]|0)|0;if(NI(k[zc>>2]|0)|0){d=888;break c}if(k[uf>>2]|0)break a;break}case 70:{k[Od>>2]=0;k[pc>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if(!(i[(k[pc>>2]|0)+2>>0]|0)){k[xd>>2]=k[k[(k[pc>>2]|0)+16>>2]>>2];k[$c>>2]=k[k[xd>>2]>>2];yf=bc[k[(k[$c>>2]|0)+36>>2]&255](k[(k[pc>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;wJ(k[qf>>2]|0,k[xd>>2]|0);if(k[uf>>2]|0)break a;yf=bc[k[(k[$c>>2]|0)+40>>2]&255](k[(k[pc>>2]|0)+16>>2]|0)|0;k[Od>>2]=yf;if(k[Od>>2]|0)d=8;else d=7}break}case 157:{k[yd>>2]=k[(k[(k[pf>>2]|0)+16>>2]|0)+8>>2];k[bd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=su(k[bd>>2]|0,1)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;yf=gc[k[(k[k[yd>>2]>>2]|0)+76>>2]&255](k[yd>>2]|0,k[(k[bd>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;wJ(k[qf>>2]|0,k[yd>>2]|0);yf=(k[qf>>2]|0)+144|0;j[yf>>1]=j[yf>>1]&-2;if(k[uf>>2]|0)break a;break}case 12:{k[zd>>2]=k[(k[(k[pf>>2]|0)+16>>2]|0)+8>>2];if(!(k[zd>>2]|0)){d=839;break c}if(!(k[k[zd>>2]>>2]|0)){d=839;break c}k[ad>>2]=k[k[zd>>2]>>2];k[La>>2]=k[(k[pf>>2]|0)+8>>2];if(k[(k[ad>>2]|0)+52>>2]|0){i[Je>>0]=i[(k[rf>>2]|0)+74>>0]|0;k[u>>2]=k[(k[qf>>2]|0)+96>>2];k[Bd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[La>>2]|0))break;k[(k[u>>2]|0)+(k[R>>2]<<2)>>2]=k[Bd>>2];k[Bd>>2]=(k[Bd>>2]|0)+40;k[R>>2]=(k[R>>2]|0)+1}i[(k[rf>>2]|0)+74>>0]=i[(k[pf>>2]|0)+3>>0]|0;yf=ec[k[(k[ad>>2]|0)+52>>2]&255](k[zd>>2]|0,k[La>>2]|0,k[u>>2]|0,ce)|0;k[uf>>2]=yf;i[(k[rf>>2]|0)+74>>0]=i[Je>>0]|0;wJ(k[qf>>2]|0,k[zd>>2]|0);if((k[uf>>2]|0)==0?(k[(k[pf>>2]|0)+4>>2]|0)!=0:0){wf=ce;c=k[wf>>2]|0;wf=k[wf+4>>2]|0;yf=sf;k[yf>>2]=c;k[yf+4>>2]=wf;yf=(k[rf>>2]|0)+32|0;k[yf>>2]=c;k[yf+4>>2]=wf}do if((k[uf>>2]&255|0)==19?(l[(k[(k[pf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((l[(k[pf>>2]|0)+3>>0]|0)==4){k[uf>>2]=0;break}if((l[(k[pf>>2]|0)+3>>0]|0)==5)b=2;else b=l[(k[pf>>2]|0)+3>>0]|0;i[(k[qf>>2]|0)+142>>0]=b}else d=854;while(0);if((d|0)==854){d=0;yf=(k[qf>>2]|0)+44|0;k[yf>>2]=(k[yf>>2]|0)+1}if(k[uf>>2]|0)break a}break}case 158:{wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;wf=Eg(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=0;break}case 159:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;k[ub>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];k[cb>>2]=0;if((k[(k[pf>>2]|0)+12>>2]|0)!=0?(yf=Eg(k[ub>>2]|0)|0,k[cb>>2]=yf,(k[cb>>2]|0)>>>0<(k[(k[pf>>2]|0)+12>>2]|0)>>>0):0)k[cb>>2]=k[(k[pf>>2]|0)+12>>2];wf=$J(k[ub>>2]|0,k[cb>>2]|0)|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 71:{do if((l[(k[rf>>2]|0)+76>>0]&129|0)!=0?((m[(k[qf>>2]|0)+144>>1]|0)>>>1&1|0)==0:0){if(k[(k[pf>>2]|0)+16>>2]|0)b=k[(k[pf>>2]|0)+16>>2]|0;else b=k[(k[qf>>2]|0)+176>>2]|0;k[cf>>2]=b;if(b){b=k[(k[rf>>2]|0)+184>>2]|0;if(l[(k[rf>>2]|0)+76>>0]&128){k[Me>>2]=b;yf=Kh(k[qf>>2]|0,k[cf>>2]|0)|0;k[Qe>>2]=yf;$b[k[Me>>2]&255](k[(k[rf>>2]|0)+188>>2]|0,k[Qe>>2]|0);Ud(k[Qe>>2]|0);break}else{ec[b&255](1,k[(k[rf>>2]|0)+188>>2]|0,k[qf>>2]|0,k[cf>>2]|0)|0;break}}}while(0);if((k[(k[pf>>2]|0)+4>>2]|0)>=(k[70]|0)){k[S>>2]=1;while(1){if((k[S>>2]|0)>=(k[(k[qf>>2]|0)+136>>2]|0))break;if((l[(k[(k[qf>>2]|0)+88>>2]|0)+((k[S>>2]|0)*20|0)>>0]|0)==20)k[(k[(k[qf>>2]|0)+88>>2]|0)+((k[S>>2]|0)*20|0)+4>>2]=0;k[S>>2]=(k[S>>2]|0)+1}k[(k[pf>>2]|0)+4>>2]=0}d=(k[pf>>2]|0)+4|0;k[d>>2]=(k[d>>2]|0)+1;d=14;break}default:{}}while(0);do if((d|0)==20){d=0;k[jf>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;if(k[(k[pf>>2]|0)+4>>2]|0){d=25;break c}if(!(k[(k[qf>>2]|0)+184>>2]|0)){d=25;break c}k[Bc>>2]=k[(k[qf>>2]|0)+184>>2];k[(k[qf>>2]|0)+184>>2]=k[(k[Bc>>2]|0)+4>>2];c=(k[qf>>2]|0)+192|0;k[c>>2]=(k[c>>2]|0)+-1;II(k[rf>>2]|0,k[(k[qf>>2]|0)+44>>2]|0);c=JI(k[Bc>>2]|0)|0;k[jf>>2]=c;c=(k[rf>>2]|0)+32|0;wf=k[c+4>>2]|0;yf=sf;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;if((k[(k[pf>>2]|0)+8>>2]|0)==4)k[jf>>2]=(k[(k[(k[qf>>2]|0)+88>>2]|0)+((k[jf>>2]|0)*20|0)+8>>2]|0)-1;k[df>>2]=k[(k[qf>>2]|0)+88>>2];k[e>>2]=k[(k[qf>>2]|0)+92>>2];k[pf>>2]=(k[df>>2]|0)+((k[jf>>2]|0)*20|0)}else if((d|0)==43){d=0;yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;j[(k[dd>>2]|0)+8>>1]=2562;k[(k[dd>>2]|0)+16>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[dd>>2]|0)+12>>2]=k[(k[pf>>2]|0)+4>>2];i[(k[dd>>2]|0)+10>>0]=i[F>>0]|0;if((k[(k[pf>>2]|0)+12>>2]|0)>0?(k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0),yf=k[Lc>>2]|0,(k[yf+4>>2]|0)==0?(k[yf>>2]|0)==(l[(k[pf>>2]|0)+3>>0]|0):0):0)j[(k[dd>>2]|0)+8>>1]=2576}else if((d|0)==126){d=0;k[ic>>2]=k[(k[pf>>2]|0)+16>>2];k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);j:do if((k[k[ic>>2]>>2]|0)!=(k[dd>>2]|0)){k[k[ic>>2]>>2]=k[dd>>2];k[U>>2]=(l[(k[ic>>2]|0)+26>>0]|0)-1;while(1){if((k[U>>2]|0)<0)break j;k[(k[ic>>2]|0)+28+(k[U>>2]<<2)>>2]=(k[e>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)+(k[U>>2]|0)|0)*40|0);k[U>>2]=(k[U>>2]|0)+-1}}while(0);j[(k[k[ic>>2]>>2]|0)+8>>1]=m[(k[k[ic>>2]>>2]|0)+8>>1]&-49664|1;i[(k[ic>>2]|0)+25>>0]=0;yf=sf;wf=k[yf+4>>2]|0;c=(k[rf>>2]|0)+32|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;cc[k[(k[(k[ic>>2]|0)+4>>2]|0)+12>>2]&255](k[ic>>2]|0,l[(k[ic>>2]|0)+26>>0]|0,(k[ic>>2]|0)+28|0);c=(k[rf>>2]|0)+32|0;wf=k[c+4>>2]|0;yf=sf;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;if(i[(k[ic>>2]|0)+25>>0]|0){if(k[(k[ic>>2]|0)+20>>2]|0){yf=k[qf>>2]|0;wf=je(k[k[ic>>2]>>2]|0)|0;k[ve>>2]=wf;KI(yf,18391,ve);k[uf>>2]=k[(k[ic>>2]|0)+20>>2]}VI(k[rf>>2]|0,(k[qf>>2]|0)+204|0,k[(k[ic>>2]|0)+16>>2]|0,k[(k[pf>>2]|0)+4>>2]|0);if(k[uf>>2]|0)break a}if((m[(k[dd>>2]|0)+8>>1]&18|0)!=0?(su(k[k[ic>>2]>>2]|0,l[F>>0]|0)|0,(NI(k[k[ic>>2]>>2]|0)|0)!=0):0){d=888;break c}}else if((d|0)==444){if(j[(k[qf>>2]|0)+144>>1]&1){d=445;break c}k[Ua>>2]=0;k[Oc>>2]=0;k[rb>>2]=k[(k[pf>>2]|0)+8>>2];k[fa>>2]=k[(k[pf>>2]|0)+12>>2];k[wc>>2]=(k[(k[rf>>2]|0)+16>>2]|0)+(k[fa>>2]<<4);k[Ad>>2]=k[(k[wc>>2]|0)+4>>2];if((l[k[pf>>2]>>0]|0)==105){k[Ke>>2]=4|l[(k[pf>>2]|0)+3>>0]&8;if((l[(k[(k[wc>>2]|0)+12>>2]|0)+76>>0]|0)<(l[(k[qf>>2]|0)+143>>0]|0))i[(k[qf>>2]|0)+143>>0]=i[(k[(k[wc>>2]|0)+12>>2]|0)+76>>0]|0}else k[Ke>>2]=0;if(l[(k[pf>>2]|0)+3>>0]&16){k[Kc>>2]=(k[e>>2]|0)+((k[rb>>2]|0)*40|0);_x(k[Kc>>2]|0)|0;k[rb>>2]=k[k[Kc>>2]>>2]}b=k[pf>>2]|0;if((i[(k[pf>>2]|0)+1>>0]|0)!=-6){if((i[b+1>>0]|0)==-14)k[Ua>>2]=k[(k[pf>>2]|0)+16>>2]}else{k[Oc>>2]=k[b+16>>2];k[Ua>>2]=(m[(k[Oc>>2]|0)+6>>1]|0)+(m[(k[Oc>>2]|0)+8>>1]|0)}yf=jJ(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[Ua>>2]|0,k[fa>>2]|0,0)|0;k[lc>>2]=yf;if(!(k[lc>>2]|0)){d=889;break a}i[(k[lc>>2]|0)+2>>0]=1;d=(k[lc>>2]|0)+5|0;i[d>>0]=i[d>>0]&-5|4;k[(k[lc>>2]|0)+8>>2]=k[rb>>2];d=kJ(k[Ad>>2]|0,k[rb>>2]|0,k[Ke>>2]|0,k[Oc>>2]|0,k[(k[lc>>2]|0)+16>>2]|0)|0;k[uf>>2]=d;k[(k[lc>>2]|0)+24>>2]=k[Oc>>2];i[(k[lc>>2]|0)+4>>0]=(i[(k[pf>>2]|0)+1>>0]|0)!=-6;d=458}else if((d|0)==523){d=0;k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Bb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Wb>>2]=k[(k[Bb>>2]|0)+16>>2];k[Sd>>2]=0;yf=k[Lc>>2]|0;wf=k[yf+4>>2]|0;c=ma;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=ma;c=YF(k[Wb>>2]|0,0,k[c>>2]|0,k[c+4>>2]|0,0,Sd)|0;k[uf>>2]=c;c=ma;wf=k[c+4>>2]|0;yf=(k[Bb>>2]|0)+40|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;i[(k[Bb>>2]|0)+2>>0]=0;k[(k[Bb>>2]|0)+56>>2]=0;i[(k[Bb>>2]|0)+3>>0]=0;k[(k[Bb>>2]|0)+28>>2]=k[Sd>>2];if(k[Sd>>2]|0){if(k[(k[pf>>2]|0)+8>>2]|0){d=14;break}yf=_j(81458)|0;k[uf>>2]=yf}if(k[uf>>2]|0)break a}else if((d|0)==617){d=0;k[Lb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Xd>>2]=1;b=k[Lb>>2]|0;if((l[k[Lb>>2]>>0]|0)==1){yf=yJ(b,Xd)|0;k[uf>>2]=yf}else{k[_b>>2]=k[b+16>>2];yf=zJ(k[_b>>2]|0,Xd)|0;k[uf>>2]=yf;i[(k[Lb>>2]|0)+3>>0]=0;k[(k[Lb>>2]|0)+56>>2]=0}if(k[uf>>2]|0)break a;i[(k[Lb>>2]|0)+2>>0]=k[Xd>>2];if(k[Xd>>2]|0)d=14}else if((d|0)==624){k[Mb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Yd>>2]=k[(k[pf>>2]|0)+12>>2];yf=gc[k[(k[pf>>2]|0)+16>>2]&255](k[(k[Mb>>2]|0)+16>>2]|0,Yd)|0;k[uf>>2]=yf;d=625}else if((d|0)==752){d=0;k[kc>>2]=k[(k[pf>>2]|0)+16>>2];k[Uc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k:do if((k[(k[kc>>2]|0)+8>>2]|0)!=(k[Uc>>2]|0)){k[(k[kc>>2]|0)+8>>2]=k[Uc>>2];k[Y>>2]=(l[(k[kc>>2]|0)+26>>0]|0)-1;while(1){if((k[Y>>2]|0)<0)break k;k[(k[kc>>2]|0)+28+(k[Y>>2]<<2)>>2]=(k[e>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)+(k[Y>>2]|0)|0)*40|0);k[Y>>2]=(k[Y>>2]|0)+-1}}while(0);yf=(k[Uc>>2]|0)+12|0;k[yf>>2]=(k[yf>>2]|0)+1;tG(le,k[rf>>2]|0,1);k[k[kc>>2]>>2]=le;i[(k[kc>>2]|0)+25>>0]=0;i[(k[kc>>2]|0)+24>>0]=0;cc[k[(k[(k[kc>>2]|0)+4>>2]|0)+12>>2]&255](k[kc>>2]|0,l[(k[kc>>2]|0)+26>>0]|0,(k[kc>>2]|0)+28|0);if(i[(k[kc>>2]|0)+25>>0]|0){if(k[(k[kc>>2]|0)+20>>2]|0){yf=k[qf>>2]|0;wf=je(le)|0;k[Ce>>2]=wf;KI(yf,18391,Ce);k[uf>>2]=k[(k[kc>>2]|0)+20>>2]}fh(le);if(k[uf>>2]|0)break a}if((i[(k[kc>>2]|0)+24>>0]|0)!=0?(k[Y>>2]=k[(k[pf>>2]|0)+-20+4>>2],(k[Y>>2]|0)!=0):0)rh((k[e>>2]|0)+((k[Y>>2]|0)*40|0)|0,1,0)}while(0);do if((d|0)==14){d=0;k[pf>>2]=(k[df>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((d|0)==458){d=0;lJ(k[(k[lc>>2]|0)+16>>2]|0,l[(k[pf>>2]|0)+3>>0]&3);if(k[uf>>2]|0)break a}else if((d|0)==625){d=0;k[(k[Mb>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;b=(k[Mb>>2]|0)+2|0;if(!(k[Yd>>2]|0)){i[b>>0]=0;d=(k[qf>>2]|0)+156+(l[(k[pf>>2]|0)+3>>0]<<2)|0;k[d>>2]=(k[d>>2]|0)+1;d=7;break}else{i[b>>0]=1;d=8;break}}while(0);if((d|0)==7){k[pf>>2]=(k[df>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)-1|0)*20|0);d=8}if((d|0)==8){d=0;if(k[(k[rf>>2]|0)+248>>2]|0)break b;if(((k[(k[rf>>2]|0)+304>>2]|0)!=0?(k[tf>>2]|0)>>>0>=(k[_a>>2]|0)>>>0:0)?(k[_a>>2]=(k[tf>>2]|0)+(k[(k[rf>>2]|0)+312>>2]|0)-(((k[tf>>2]|0)>>>0)%((k[(k[rf>>2]|0)+312>>2]|0)>>>0)|0),(bc[k[(k[rf>>2]|0)+304>>2]&255](k[(k[rf>>2]|0)+308>>2]|0)|0)!=0):0){d=12;break}}k[pf>>2]=(k[pf>>2]|0)+20}switch(d|0){case 12:{k[uf>>2]=9;break a}case 25:{k[(k[qf>>2]|0)+40>>2]=k[(k[pf>>2]|0)+4>>2];i[(k[qf>>2]|0)+142>>0]=k[(k[pf>>2]|0)+8>>2];k[(k[qf>>2]|0)+36>>2]=k[jf>>2];if(k[(k[qf>>2]|0)+40>>2]|0){b=k[qf>>2]|0;a=k[pf>>2]|0;if(i[(k[pf>>2]|0)+3>>0]|0){k[lf>>2]=k[5572+((l[a+3>>0]|0)-1<<2)>>2];KI(b,39873,lf);if(k[(k[pf>>2]|0)+16>>2]|0){yf=k[rf>>2]|0;wf=k[(k[pf>>2]|0)+16>>2]|0;k[mf>>2]=k[(k[qf>>2]|0)+108>>2];k[mf+4>>2]=wf;yf=Qh(yf,39894,mf)|0;k[(k[qf>>2]|0)+108>>2]=yf}}else{k[nf>>2]=k[a+16>>2];KI(b,18391,nf)}yf=k[(k[pf>>2]|0)+4>>2]|0;pf=k[(k[qf>>2]|0)+176>>2]|0;wf=k[(k[qf>>2]|0)+108>>2]|0;k[of>>2]=k[jf>>2];k[of+4>>2]=pf;k[of+8>>2]=wf;$d(yf,39901,of)}b=LI(k[qf>>2]|0)|0;k[uf>>2]=b;b=(k[qf>>2]|0)+40|0;if((k[uf>>2]|0)==5){k[b>>2]=5;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}else{k[uf>>2]=(k[b>>2]|0)!=0?1:101;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}}case 64:{if(((k[(k[rf>>2]|0)+304>>2]|0)!=0?(k[tf>>2]|0)>>>0>=(k[_a>>2]|0)>>>0:0)?(bc[k[(k[rf>>2]|0)+304>>2]&255](k[(k[rf>>2]|0)+308>>2]|0)|0)!=0:0){k[uf>>2]=9;break a}yf=OI(k[qf>>2]|0,0)|0;k[uf>>2]=yf;if(yf)break a;yf=PI(k[qf>>2]|0,1)|0;k[uf>>2]=yf;k[(k[qf>>2]|0)+32>>2]=(k[(k[qf>>2]|0)+32>>2]|0)+2|1;yf=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0)|0;k[(k[qf>>2]|0)+104>>2]=yf;k[Rc>>2]=yf;k[O>>2]=0;while(1){if((k[O>>2]|0)>=(k[(k[pf>>2]|0)+8>>2]|0))break;if((m[(k[Rc>>2]|0)+((k[O>>2]|0)*40|0)+8>>1]&4096|0)!=0?(lh((k[Rc>>2]|0)+((k[O>>2]|0)*40|0)|0)|0)!=0:0){d=889;break a}QI((k[Rc>>2]|0)+((k[O>>2]|0)*40|0)|0)|0;k[O>>2]=(k[O>>2]|0)+1}if(i[(k[rf>>2]|0)+69>>0]|0){d=889;break a}if(l[(k[rf>>2]|0)+76>>0]&4)ec[k[(k[rf>>2]|0)+184>>2]&255](4,k[(k[rf>>2]|0)+188>>2]|0,k[qf>>2]|0,0)|0;k[(k[qf>>2]|0)+36>>2]=(((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0)+1;k[uf>>2]=100;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 159:{k[uf>>2]=20;break a}case 267:{yf=_j(79835)|0;k[uf>>2]=yf;break a}case 286:{if(!(k[(k[xb>>2]|0)+72>>2]|0))fh(ee);yf=_j(79894)|0;k[uf>>2]=yf;break a}case 370:{k[(k[qf>>2]|0)+36>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;i[(k[rf>>2]|0)+67>>0]=0;k[uf>>2]=5;k[(k[qf>>2]|0)+40>>2]=5;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 393:{k[C>>2]=k[(k[pf>>2]|0)+4>>2];k[ra>>2]=k[(k[pf>>2]|0)+8>>2];if((k[C>>2]|0)==(l[(k[rf>>2]|0)+67>>0]|0)){if(k[C>>2]|0)b=(k[ra>>2]|0)!=0?40133:40176;else b=40217;KI(k[qf>>2]|0,b,ff);k[uf>>2]=1;break a}do if(!(k[ra>>2]|0)){if((k[C>>2]|0)!=0?(k[(k[rf>>2]|0)+164>>2]|0)>0:0){KI(k[qf>>2]|0,40078,ze);k[uf>>2]=5;break a}yf=OI(k[qf>>2]|0,1)|0;k[uf>>2]=yf;if(yf){yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}else{i[(k[rf>>2]|0)+67>>0]=k[C>>2];break}}else{gJ(k[rf>>2]|0,516);i[(k[rf>>2]|0)+67>>0]=1}while(0);if((LI(k[qf>>2]|0)|0)==5){k[(k[qf>>2]|0)+36>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;i[(k[rf>>2]|0)+67>>0]=1-(k[C>>2]|0);k[uf>>2]=5;k[(k[qf>>2]|0)+40>>2]=5;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}hJ(k[rf>>2]|0);if(!(k[(k[qf>>2]|0)+40>>2]|0)){k[uf>>2]=101;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}else{k[uf>>2]=1;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}}case 411:{k[uf>>2]=8;break a}case 414:{if((k[uf>>2]&255|0)!=5)break a;k[(k[qf>>2]|0)+36>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[(k[qf>>2]|0)+40>>2]=k[uf>>2];yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 445:{k[uf>>2]=516;break a}case 544:{k[uf>>2]=13;break a}case 554:{k[uf>>2]=13;break a}case 660:{k[uf>>2]=6;i[(k[qf>>2]|0)+142>>0]=2;break a}case 682:{Mg(k[rf>>2]|0);if((k[uf>>2]|0)==7){d=889;break a}else break a}case 711:{k[uf>>2]=1;KI(k[qf>>2]|0,40357,Be);break a}case 764:{yf=k[qf>>2]|0;wf=je(k[Vc>>2]|0)|0;k[De>>2]=wf;KI(yf,18391,De);break a}case 784:{k[uf>>2]=1;yf=k[qf>>2]|0;k[Ee>>2]=(k[D>>2]|0)==5?40394:40399;KI(yf,40406,Ee);break a}case 805:{if((k[uf>>2]&255|0)!=6)break a;k[Pe>>2]=k[(k[pf>>2]|0)+16>>2];yf=k[qf>>2]|0;k[Fe>>2]=k[Pe>>2];KI(yf,40458,Fe);break a}case 816:{k[uf>>2]=6;break a}case 820:{bc[k[(k[Yc>>2]|0)+28>>2]&255](k[pd>>2]|0)|0;d=889;break a}case 839:{k[uf>>2]=6;break a}case 887:{yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 888:{KI(k[qf>>2]|0,18170,Ge);k[uf>>2]=18;break a}}}while(0);k[uf>>2]=(l[(k[rf>>2]|0)+69>>0]|0)!=0?7:9;k[(k[qf>>2]|0)+40>>2]=k[uf>>2];yf=k[qf>>2]|0;wf=vh(k[uf>>2]|0)|0;k[Ie>>2]=wf;KI(yf,18391,Ie)}while(0);if((d|0)==889){wh(k[rf>>2]|0);KI(k[qf>>2]|0,25016,He);k[uf>>2]=7}if(i[(k[rf>>2]|0)+69>>0]|0)k[uf>>2]=7;if((k[uf>>2]|0)!=3082?(k[(k[qf>>2]|0)+108>>2]|0)==0:0){yf=k[qf>>2]|0;wf=vh(k[uf>>2]|0)|0;k[gf>>2]=wf;KI(yf,18391,gf)}k[(k[qf>>2]|0)+40>>2]=k[uf>>2];aK(k[rf>>2]|0,k[uf>>2]|0);yf=k[uf>>2]|0;of=k[(k[qf>>2]|0)+176>>2]|0;wf=k[(k[qf>>2]|0)+108>>2]|0;k[hf>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[hf+4>>2]=of;k[hf+8>>2]=wf;$d(yf,40487,hf);LI(k[qf>>2]|0)|0;if((k[uf>>2]|0)==3082)wh(k[rf>>2]|0);k[uf>>2]=1;if((l[ef>>0]|0)<=0){yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}Gj(k[rf>>2]|0,(l[ef>>0]|0)-1|0);yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}function DI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;f=g+12|0;c=g+8|0;e=g+4|0;d=g;k[b>>2]=a;k[f>>2]=0;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if((k[e>>2]|0)!=0?(wg(k[e>>2]|0),a=FI(Zf(k[e>>2]|0)|0)|0,k[d>>2]=a,((k[d>>2]|0)>0?(k[(k[b>>2]|0)+224>>2]|0)!=0:0)&(k[f>>2]|0)==0):0){a=ec[k[(k[b>>2]|0)+224>>2]&255](k[(k[b>>2]|0)+228>>2]|0,k[b>>2]|0,k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)>>2]|0,k[d>>2]|0)|0;k[f>>2]=a}k[c>>2]=(k[c>>2]|0)+1}r=g;return k[f>>2]|0}function EI(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[b>>2]|0)+40>>2];a=k[c>>2]|0;if(!(k[(k[b>>2]|0)+108>>2]|0)){vg(a,k[d>>2]|0);d=k[d>>2]|0;r=e;return d|0}a=a+70|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;gk();if(!(k[(k[c>>2]|0)+244>>2]|0)){a=hi(k[c>>2]|0)|0;k[(k[c>>2]|0)+244>>2]=a}ii(k[(k[c>>2]|0)+244>>2]|0,-1,k[(k[b>>2]|0)+108>>2]|0,1,-1);hk();b=(k[c>>2]|0)+70|0;i[b>>0]=(i[b>>0]|0)+-1<<24>>24;k[(k[c>>2]|0)+52>>2]=k[d>>2];d=k[d>>2]|0;r=e;return d|0}function FI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=GI(k[(k[c>>2]|0)+216>>2]|0)|0;r=b;return a|0}function GI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(k[b>>2]|0)){c=k[c>>2]|0;r=d;return c|0}k[c>>2]=k[(k[b>>2]|0)+12>>2];k[(k[b>>2]|0)+12>>2]=0;c=k[c>>2]|0;r=d;return c|0}function HI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;e=g+12|0;d=g+8|0;c=g+4|0;f=g;k[b>>2]=a;if(!(k[(k[b>>2]|0)+152>>2]|0)){r=g;return}k[d>>2]=k[k[b>>2]>>2];k[c>>2]=k[(k[d>>2]|0)+16>>2];k[f>>2]=k[(k[d>>2]|0)+20>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;if(((k[e>>2]|0)!=1?(k[(k[b>>2]|0)+152>>2]&1<>2]|0)!=0:0)?(k[(k[c>>2]|0)+(k[e>>2]<<4)+4>>2]|0)!=0:0)wg(k[(k[c>>2]|0)+(k[e>>2]<<4)+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=g;return}function II(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[(k[e>>2]|0)+88>>2]=k[d>>2];b=(k[e>>2]|0)+92|0;k[b>>2]=(k[b>>2]|0)+(k[d>>2]|0);r=c;return}function JI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];ZM(k[d>>2]|0);k[(k[d>>2]|0)+88>>2]=k[(k[b>>2]|0)+8>>2];k[(k[d>>2]|0)+136>>2]=k[(k[b>>2]|0)+52>>2];k[(k[d>>2]|0)+92>>2]=k[(k[b>>2]|0)+16>>2];k[(k[d>>2]|0)+24>>2]=k[(k[b>>2]|0)+56>>2];k[(k[d>>2]|0)+112>>2]=k[(k[b>>2]|0)+20>>2];k[(k[d>>2]|0)+28>>2]=k[(k[b>>2]|0)+44>>2];f=(k[b>>2]|0)+32|0;e=k[f+4>>2]|0;a=(k[k[d>>2]>>2]|0)+32|0;k[a>>2]=k[f>>2];k[a+4>>2]=e;k[(k[d>>2]|0)+44>>2]=k[(k[b>>2]|0)+68>>2];k[(k[k[d>>2]>>2]|0)+88>>2]=k[(k[b>>2]|0)+72>>2];VI(k[k[d>>2]>>2]|0,(k[d>>2]|0)+204|0,-1,0);k[(k[d>>2]|0)+204>>2]=k[(k[b>>2]|0)+40>>2];k[(k[b>>2]|0)+40>>2]=0;r=c;return k[(k[b>>2]|0)+48>>2]|0}function KI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;bg(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+108>>2]|0);k[f>>2]=c;b=yx(k[k[e>>2]>>2]|0,k[g>>2]|0,f)|0;k[(k[e>>2]|0)+108>>2]=b;r=d;return}function LI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;d=n+16|0;h=n+12|0;c=n+8|0;j=n+4|0;b=n;k[g>>2]=a;k[h>>2]=k[k[g>>2]>>2];if(i[(k[h>>2]|0)+69>>0]|0)k[(k[g>>2]|0)+40>>2]=7;TM(k[g>>2]|0);if((k[(k[g>>2]|0)+20>>2]|0)!=770837923){k[f>>2]=0;j=k[f>>2]|0;r=n;return j|0}if((k[(k[g>>2]|0)+36>>2]|0)>=0?((m[(k[g>>2]|0)+144>>1]|0)>>>8&1|0)!=0:0){k[j>>2]=0;HI(k[g>>2]|0);k[c>>2]=k[(k[g>>2]|0)+40>>2]&255;if((k[c>>2]|0)==7|(k[c>>2]|0)==10|(k[c>>2]|0)==9)a=1;else a=(k[c>>2]|0)==13;k[b>>2]=a&1;do if((k[b>>2]|0)!=0?((k[c>>2]|0)!=9?1:((m[(k[g>>2]|0)+144>>1]|0)>>>7&1|0)==0):0){if((k[c>>2]|0)==7|(k[c>>2]|0)==13?((m[(k[g>>2]|0)+144>>1]|0)>>>6&1|0)!=0:0){k[j>>2]=2;break}gJ(k[h>>2]|0,516);hJ(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+44>>2]=0}while(0);if(!(k[(k[g>>2]|0)+40>>2]|0))OI(k[g>>2]|0,0)|0;if((k[(k[h>>2]|0)+316>>2]|0)>0?(k[(k[h>>2]|0)+340>>2]|0)==0:0)e=36;else if((l[(k[h>>2]|0)+67>>0]|0)!=0?(k[(k[h>>2]|0)+164>>2]|0)==(((m[(k[g>>2]|0)+144>>1]|0)>>>7&1|0)==0|0):0){if((k[(k[g>>2]|0)+40>>2]|0)!=0?((k[b>>2]|0)!=0?1:(l[(k[g>>2]|0)+142>>0]|0)!=3):0){gJ(k[h>>2]|0,0);k[(k[g>>2]|0)+44>>2]=0}else e=23;do if((e|0)==23){c=OI(k[g>>2]|0,1)|0;k[d>>2]=c;do if(k[d>>2]|0){if(!((m[(k[g>>2]|0)+144>>1]|0)>>>7&1)){k[d>>2]=787;break}k[f>>2]=1;j=k[f>>2]|0;r=n;return j|0}else{c=UM(k[h>>2]|0,k[g>>2]|0)|0;k[d>>2]=c}while(0);if((k[d>>2]|0)==5?((m[(k[g>>2]|0)+144>>1]|0)>>>7&1|0)!=0:0){k[f>>2]=5;j=k[f>>2]|0;r=n;return j|0}if(k[d>>2]|0){k[(k[g>>2]|0)+40>>2]=k[d>>2];gJ(k[h>>2]|0,0);k[(k[g>>2]|0)+44>>2]=0;break}else{c=(k[h>>2]|0)+440|0;k[c>>2]=0;k[c+4>>2]=0;c=(k[h>>2]|0)+448|0;k[c>>2]=0;k[c+4>>2]=0;c=(k[h>>2]|0)+24|0;k[c>>2]=k[c>>2]&-33554433;Hj(k[h>>2]|0);break}}while(0);k[(k[h>>2]|0)+436>>2]=0}else e=36;do if((e|0)==36?(k[j>>2]|0)==0:0){if((k[(k[g>>2]|0)+40>>2]|0)!=0?(l[(k[g>>2]|0)+142>>0]|0)!=3:0)if((l[(k[g>>2]|0)+142>>0]|0)==2){k[j>>2]=2;break}else{gJ(k[h>>2]|0,516);hJ(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+44>>2]=0;break}k[j>>2]=1}while(0);if((k[j>>2]|0)!=0?(e=PI(k[g>>2]|0,k[j>>2]|0)|0,k[d>>2]=e,(k[d>>2]|0)!=0):0){if(!((k[(k[g>>2]|0)+40>>2]|0)!=0?(k[(k[g>>2]|0)+40>>2]&255|0)!=19:0)){k[(k[g>>2]|0)+40>>2]=k[d>>2];bg(k[h>>2]|0,k[(k[g>>2]|0)+108>>2]|0);k[(k[g>>2]|0)+108>>2]=0}gJ(k[h>>2]|0,516);hJ(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+44>>2]=0}if((m[(k[g>>2]|0)+144>>1]|0)>>>4&1){a=k[h>>2]|0;if((k[j>>2]|0)!=2)II(a,k[(k[g>>2]|0)+44>>2]|0);else II(a,0);k[(k[g>>2]|0)+44>>2]=0}}if((k[(k[g>>2]|0)+36>>2]|0)>=0){j=(k[h>>2]|0)+156|0;k[j>>2]=(k[j>>2]|0)+-1;if(!((m[(k[g>>2]|0)+144>>1]|0)>>>7&1)){j=(k[h>>2]|0)+164|0;k[j>>2]=(k[j>>2]|0)+-1}if((m[(k[g>>2]|0)+144>>1]|0)>>>8&1){j=(k[h>>2]|0)+160|0;k[j>>2]=(k[j>>2]|0)+-1}}k[(k[g>>2]|0)+20>>2]=832317811;if(i[(k[h>>2]|0)+69>>0]|0)k[(k[g>>2]|0)+40>>2]=7;k[f>>2]=(k[(k[g>>2]|0)+40>>2]|0)==5?5:0;j=k[f>>2]|0;r=n;return j|0}function MI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+12|0;g=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[d>>2]=(k[(k[g>>2]|0)+92>>2]|0)+((k[(k[f>>2]|0)+8>>2]|0)*40|0);a=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&9312){g=SM(a)|0;k[c>>2]=g;g=k[c>>2]|0;r=e;return g|0}else{j[a+8>>1]=4;k[c>>2]=k[d>>2];g=k[c>>2]|0;r=e;return g|0}return 0}function NI(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}k[d>>2]=k[(k[c>>2]|0)+12>>2];if((m[(k[c>>2]|0)+8>>1]|0)&16384)k[d>>2]=(k[d>>2]|0)+(k[k[c>>2]>>2]|0);k[b>>2]=(k[d>>2]|0)>(k[(k[(k[c>>2]|0)+32>>2]|0)+96>>2]|0)&1;a=k[b>>2]|0;r=e;return a|0}function OI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;g=j;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];if(!((k[e>>2]|0)!=0?(b=(k[f>>2]|0)+440|0,a=(k[f>>2]|0)+448|0,a=$R(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0,b=L,(b|0)>0|(b|0)==0&a>>>0>0):0))h=3;do if((h|0)==3){if((k[e>>2]|0)==0?(h=(k[d>>2]|0)+64|0,a=k[h+4>>2]|0,(a|0)>0|(a|0)==0&(k[h>>2]|0)>>>0>0):0)break;k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}while(0);k[(k[d>>2]|0)+40>>2]=787;i[(k[d>>2]|0)+142>>0]=2;KI(k[d>>2]|0,35189,g);k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}function PI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+28|0;d=l+24|0;e=l+20|0;i=l+16|0;f=l+12|0;g=l+8|0;j=l+4|0;h=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[i>>2]=0;if(!(k[(k[e>>2]|0)+436>>2]|0)){j=k[i>>2]|0;r=l;return j|0}if(!(k[(k[c>>2]|0)+48>>2]|0)){j=k[i>>2]|0;r=l;return j|0}k[g>>2]=(k[(k[c>>2]|0)+48>>2]|0)-1;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[j>>2]=0;k[h>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2];if(k[h>>2]|0){if((k[d>>2]|0)==2){a=fJ(k[h>>2]|0,2,k[g>>2]|0)|0;k[j>>2]=a}if(!(k[j>>2]|0)){a=fJ(k[h>>2]|0,1,k[g>>2]|0)|0;k[j>>2]=a}if(!(k[i>>2]|0))k[i>>2]=k[j>>2]}k[f>>2]=(k[f>>2]|0)+1}j=(k[e>>2]|0)+436|0;k[j>>2]=(k[j>>2]|0)+-1;k[(k[c>>2]|0)+48>>2]=0;if(!(k[i>>2]|0)){if((k[d>>2]|0)==2){j=dJ(k[e>>2]|0,2,k[g>>2]|0)|0;k[i>>2]=j}if(!(k[i>>2]|0)){j=dJ(k[e>>2]|0,1,k[g>>2]|0)|0;k[i>>2]=j}}if((k[d>>2]|0)!=2){j=k[i>>2]|0;r=l;return j|0}j=(k[c>>2]|0)+72|0;h=k[j+4>>2]|0;a=(k[e>>2]|0)+440|0;k[a>>2]=k[j>>2];k[a+4>>2]=h;a=(k[c>>2]|0)+80|0;h=k[a+4>>2]|0;j=(k[e>>2]|0)+448|0;k[j>>2]=k[a>>2];k[j+4>>2]=h;j=k[i>>2]|0;r=l;return j|0}function QI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(((m[(k[c>>2]|0)+8>>1]|0)&514|0)!=2){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}else{a=RM(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function RI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=m[(k[c>>2]|0)+8>>1]|0;do if(!((m[(k[c>>2]|0)+8>>1]|0)&12))if(a&18){c=QM(k[c>>2]|0)|0;j[b>>1]=c;break}else{j[b>>1]=0;break}else j[b>>1]=a&12;while(0);r=d;return j[b>>1]|0}function SI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;e=h+16|0;f=h+8|0;g=h;k[e>>2]=a;i=f;k[i>>2]=b;k[i+4>>2]=c;b=k[e>>2]|0;i=k[b+4>>2]|0;a=g;k[a>>2]=k[b>>2];k[a+4>>2]=i;a=f;i=k[a+4>>2]|0;b=g;c=k[b+4>>2]|0;if((i|0)>0|(i|0)==0&(k[a>>2]|0)>>>0>=0){if((c|0)>0|(c|0)==0&(k[b>>2]|0)>>>0>0?(g,g=_R(-1,2147483647,k[g>>2]|0,k[g+4>>2]|0)|0,c=L,i=f,a=k[i+4>>2]|0,(c|0)<(a|0)|((c|0)==(a|0)?g>>>0<(k[i>>2]|0)>>>0:0)):0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}}else if((c|0)<0?(g,g=$R(k[g>>2]|0,k[g+4>>2]|0,-1,2147483647)|0,g=_R(0,0,g|0,L|0)|0,c=L,i=f,i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0,a=L,(c|0)>(a|0)|(c|0)==(a|0)&g>>>0>i>>>0):0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}g=f;i=k[e>>2]|0;f=i;g=$R(k[f>>2]|0,k[f+4>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[i>>2]=g;k[i+4>>2]=L;k[d>>2]=0;i=k[d>>2]|0;r=h;return i|0}function TI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;b=k[e>>2]|0;if(!((k[a>>2]|0)==0?(k[a+4>>2]|0)==-2147483648:0)){f=_R(0,0,k[f>>2]|0,k[f+4>>2]|0)|0;f=SI(b,f,L)|0;k[d>>2]=f;f=k[d>>2]|0;r=g;return f|0}a=b;c=k[a+4>>2]|0;if((c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>=0){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else{a=f;f=k[e>>2]|0;e=f;e=_R(k[e>>2]|0,k[e+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[f>>2]=e;k[f+4>>2]=L;k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function UI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;e=h+16|0;f=h+8|0;g=h;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;b=k[e>>2]|0;c=k[b+4>>2]|0;a=g;k[a>>2]=k[b>>2];k[a+4>>2]=c;a=f;c=k[a+4>>2]|0;do if((c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>0){i=g;c=k[i>>2]|0;i=k[i+4>>2]|0;a=f;a=iS(-1,2147483647,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;if((i|0)>(b|0)|(i|0)==(b|0)&c>>>0>a>>>0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}b=g;a=k[b>>2]|0;b=k[b+4>>2]|0;i=f;i=iS(0,-2147483648,k[i>>2]|0,k[i+4>>2]|0)|0;c=L;if((b|0)<(c|0)|(b|0)==(c|0)&a>>>0>>0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}}else if((k[f+4>>2]|0)<0){i=g;a=k[i+4>>2]|0;if((a|0)>0|(a|0)==0&(k[i>>2]|0)>>>0>0){b=f;a=k[b>>2]|0;b=k[b+4>>2]|0;i=g;i=iS(0,-2147483648,k[i>>2]|0,k[i+4>>2]|0)|0;c=L;if(!((b|0)<(c|0)|(b|0)==(c|0)&a>>>0>>0))break;k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}if((k[g+4>>2]|0)<0){i=f;if((k[i>>2]|0)==0?(k[i+4>>2]|0)==-2147483648:0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}i=g;if((k[i>>2]|0)==0?(k[i+4>>2]|0)==-2147483648:0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}a=g;a=_R(0,0,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;i=f;i=_R(0,0,k[i>>2]|0,k[i+4>>2]|0)|0;i=iS(-1,2147483647,i|0,L|0)|0;c=L;if((b|0)>(c|0)|(b|0)==(c|0)&a>>>0>i>>>0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}}}while(0);i=g;a=f;a=kS(k[i>>2]|0,k[i+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;i=k[e>>2]|0;k[i>>2]=a;k[i+4>>2]=L;k[d>>2]=0;i=k[d>>2]|0;r=h;return i|0}function VI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a:while(1){if(!(k[k[f>>2]>>2]|0))break;k[i>>2]=k[k[f>>2]>>2];do if((k[g>>2]|0)>=0){if((k[k[i>>2]>>2]|0)==(k[g>>2]|0)){if((k[(k[i>>2]|0)+4>>2]|0)>31)break;if(!(k[h>>2]&1<>2]|0)+4>>2]))break}k[f>>2]=(k[i>>2]|0)+16;continue a}while(0);if(k[(k[i>>2]|0)+12>>2]|0)_b[k[(k[i>>2]|0)+12>>2]&255](k[(k[i>>2]|0)+8>>2]|0);k[k[f>>2]>>2]=k[(k[i>>2]|0)+16>>2];bg(k[e>>2]|0,k[i>>2]|0)}r=j;return}function WI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;i=l+8|0;j=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[i>>2]=m[(k[e>>2]|0)+8>>1];k[j>>2]=m[(k[f>>2]|0)+8>>1];k[h>>2]=k[i>>2]|k[j>>2];do if(!(k[h>>2]&1)){if(!(k[h>>2]&12)){if(k[h>>2]&2){if(!(k[i>>2]&2)){k[d>>2]=1;break}if(!(k[j>>2]&2)){k[d>>2]=-1;break}if(k[g>>2]|0){b=qG(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,0)|0;k[d>>2]=b;break}}b=PM(k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;break}if(k[i>>2]&k[j>>2]&4){a=k[e>>2]|0;j=k[a+4>>2]|0;b=k[f>>2]|0;c=k[b+4>>2]|0;if((j|0)<(c|0)|((j|0)==(c|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)){k[d>>2]=-1;break}a=k[e>>2]|0;j=k[a+4>>2]|0;b=k[f>>2]|0;c=k[b+4>>2]|0;if((j|0)>(c|0)|((j|0)==(c|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)){k[d>>2]=1;break}else{k[d>>2]=0;break}}if(k[i>>2]&k[j>>2]&8){if(+p[k[e>>2]>>3]<+p[k[f>>2]>>3]){k[d>>2]=-1;break}if(+p[k[e>>2]>>3]>+p[k[f>>2]>>3]){k[d>>2]=1;break}else{k[d>>2]=0;break}}if(k[i>>2]&4)if(k[j>>2]&8){b=k[e>>2]|0;b=oG(k[b>>2]|0,k[b+4>>2]|0,+p[k[f>>2]>>3])|0;k[d>>2]=b;break}else{k[d>>2]=-1;break}if(!(k[i>>2]&8)){k[d>>2]=1;break}if(k[j>>2]&4){b=k[f>>2]|0;b=0-(oG(k[b>>2]|0,k[b+4>>2]|0,+p[k[e>>2]>>3])|0)|0;k[d>>2]=b;break}else{k[d>>2]=-1;break}}else k[d>>2]=(k[j>>2]&1)-(k[i>>2]&1);while(0);r=l;return k[d>>2]|0}function XI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[k[d>>2]>>2];do if(!(l[k[g>>2]>>0]|0)){b=k[g>>2]|0;if(!(i[(k[g>>2]|0)+3>>0]|0)){if(!(cM(k[b+16>>2]|0)|0))break;g=dM(k[g>>2]|0)|0;k[c>>2]=g;g=k[c>>2]|0;r=h;return g|0}if((k[b+52>>2]|0)!=0?(a=k[(k[(k[g>>2]|0)+52>>2]|0)+(1+(k[k[e>>2]>>2]|0)<<2)>>2]|0,k[f>>2]=a,(a|0)>0):0){k[k[d>>2]>>2]=k[(k[g>>2]|0)+48>>2];k[k[e>>2]>>2]=(k[f>>2]|0)-1;k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}g=OM(k[g>>2]|0)|0;k[c>>2]=g;g=k[c>>2]|0;r=h;return g|0}while(0);k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function YI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=NM(k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function ZI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;l=o+12|0;n=o+8|0;p=o+4|0;m=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;k[p>>2]=0;k[m>>2]=0;e=YI(k[f>>2]|0,p)|0;k[n>>2]=e;if(((k[g>>2]|0)+(k[h>>2]|0)|0)>>>0<=(k[p>>2]|0)>>>0){k[(k[l>>2]|0)+16>>2]=(k[n>>2]|0)+(k[g>>2]|0);j[(k[l>>2]|0)+8>>1]=4112;k[(k[l>>2]|0)+12>>2]=k[h>>2];p=k[m>>2]|0;r=o;return p|0}else{p=MM(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[l>>2]|0)|0;k[m>>2]=p;p=k[m>>2]|0;r=o;return p|0}return 0}function _I(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;r=c;return i[35061+(l[b>>0]|0)>>0]|0}function $I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0;n=r;r=r+48|0;l=n+36|0;d=n+32|0;h=n+28|0;g=n+24|0;e=n+20|0;f=n+16|0;i=n+8|0;j=n;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;k[e>>2]=m[(k[d>>2]|0)+8>>1];if(k[e>>2]&1){k[k[g>>2]>>2]=0;k[l>>2]=0;l=k[l>>2]|0;r=n;return l|0}if(!(k[e>>2]&4)){if(k[e>>2]&8){k[k[g>>2]>>2]=8;k[l>>2]=7;l=k[l>>2]|0;r=n;return l|0}k[f>>2]=k[(k[d>>2]|0)+12>>2];if(k[e>>2]&16384)k[f>>2]=(k[f>>2]|0)+(k[k[d>>2]>>2]|0);k[k[g>>2]>>2]=k[f>>2];k[l>>2]=(k[f>>2]<<1)+12+((k[e>>2]&2|0)!=0&1);l=k[l>>2]|0;r=n;return l|0}a=k[d>>2]|0;d=k[a+4>>2]|0;b=i;k[b>>2]=k[a>>2];k[b+4>>2]=d;b=i;d=k[b>>2]|0;b=k[b+4>>2]|0;if((k[i+4>>2]|0)<0){a=j;k[a>>2]=~d;k[a+4>>2]=~b}else{a=j;k[a>>2]=d;k[a+4>>2]=b}a=j;c=k[a+4>>2]|0;if(c>>>0<0|(c|0)==0&(k[a>>2]|0)>>>0<=127){a=i;d=k[g>>2]|0;if((0==(k[a+4>>2]|0)?(k[i>>2]&1|0)==(k[a>>2]|0):0)&(k[h>>2]|0)>=4){k[d>>2]=0;k[l>>2]=8+(k[j>>2]|0);l=k[l>>2]|0;r=n;return l|0}else{k[d>>2]=1;k[l>>2]=1;l=k[l>>2]|0;r=n;return l|0}}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=32767){k[k[g>>2]>>2]=2;k[l>>2]=2;l=k[l>>2]|0;r=n;return l|0}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=8388607){k[k[g>>2]>>2]=3;k[l>>2]=3;l=k[l>>2]|0;r=n;return l|0}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=2147483647){k[k[g>>2]>>2]=4;k[l>>2]=4;l=k[l>>2]|0;r=n;return l|0}i=k[j+4>>2]|0;d=k[g>>2]|0;if(i>>>0<32767|(i|0)==32767&(k[j>>2]|0)>>>0<=4294967295){k[d>>2]=6;k[l>>2]=5;l=k[l>>2]|0;r=n;return l|0}else{k[d>>2]=8;k[l>>2]=6;l=k[l>>2]|0;r=n;return l|0}return 0}function aJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;h=k[a+4>>2]|0;c=f;b=k[c>>2]|0;c=k[c+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[a>>2]|0)>>>0<=127){i[k[e>>2]>>0]=b&127;k[d>>2]=1;h=k[d>>2]|0;r=g;return h|0}if(c>>>0<0|(c|0)==0&b>>>0<=16383){h=f;h=aS(k[h>>2]|0,k[h+4>>2]|0,7)|0;i[k[e>>2]>>0]=h&127|128;i[(k[e>>2]|0)+1>>0]=k[f>>2]&127;k[d>>2]=2;h=k[d>>2]|0;r=g;return h|0}else{h=f;h=LM(k[e>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[d>>2]=h;h=k[d>>2]|0;r=g;return h|0}return 0}function bJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;j=n+12|0;m=n;h=n+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;if((k[g>>2]|0)>>>0<=7&(k[g>>2]|0)>>>0>0){if((a|0)==7){f=k[f>>2]|0;k[m>>2]=k[f>>2];k[m+4>>2]=k[f+4>>2]}else{b=k[f>>2]|0;c=k[b+4>>2]|0;f=m;k[f>>2]=k[b>>2];k[f+4>>2]=c}g=l[35061+(k[g>>2]|0)>>0]|0;k[h>>2]=g;k[j>>2]=g;do{g=k[m>>2]&255;f=(k[h>>2]|0)+-1|0;k[h>>2]=f;i[(k[e>>2]|0)+f>>0]=g;f=m;f=aS(k[f>>2]|0,k[f+4>>2]|0,8)|0;g=m;k[g>>2]=f;k[g+4>>2]=L}while((k[h>>2]|0)!=0);k[d>>2]=k[j>>2];m=k[d>>2]|0;r=n;return m|0}else{if(a>>>0<12){k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}k[j>>2]=k[(k[f>>2]|0)+12>>2];if((k[j>>2]|0)>>>0>0)bS(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[d>>2]=k[j>>2];m=k[d>>2]|0;r=n;return m|0}return 0}function cJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o;n=o+16|0;c=o+12|0;d=o+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=0;k[b+4>>2]=0;if(!(k[(k[f>>2]|0)+52>>2]|0)){n=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}b=_F(k[f>>2]|0)|0;k[n>>2]=b;a:while(1){if(k[n>>2]|0){a=16;break}k[d>>2]=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2];if(!((l[(k[d>>2]|0)+4>>0]|0)==0?(i[(k[d>>2]|0)+2>>0]|0)!=0:0)){a=h;a=$R(k[a>>2]|0,k[a+4>>2]|0,m[(k[d>>2]|0)+18>>1]|0,0)|0;b=h;k[b>>2]=a;k[b+4>>2]=L}if(i[(k[d>>2]|0)+4>>0]|0){do{if(!(i[(k[f>>2]|0)+68>>0]|0)){a=10;break a}RF(k[f>>2]|0)}while((m[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]|0)>=(m[(k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));b=(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)|0;j[b>>1]=(j[b>>1]|0)+1<<16>>16;k[d>>2]=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]}k[c>>2]=m[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1];a=k[f>>2]|0;b=k[d>>2]|0;if((k[c>>2]|0)==(m[(k[d>>2]|0)+18>>1]|0)){b=PF(a,qr((k[(k[d>>2]|0)+56>>2]|0)+((l[b+5>>0]|0)+8)|0)|0)|0;k[n>>2]=b;continue}else{b=PF(a,qr((k[b+56>>2]|0)+(m[(k[d>>2]|0)+20>>1]&(l[(k[(k[d>>2]|0)+64>>2]|0)+(k[c>>2]<<1)>>0]<<8|l[(k[(k[d>>2]|0)+64>>2]|0)+(k[c>>2]<<1)+1>>0]))|0)|0)|0;k[n>>2]=b;continue}}if((a|0)==10){d=h;h=k[d+4>>2]|0;n=k[g>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=h;n=_F(k[f>>2]|0)|0;k[e>>2]=n;n=k[e>>2]|0;r=o;return n|0}else if((a|0)==16){k[e>>2]=k[n>>2];n=k[e>>2]|0;r=o;return n|0}return 0}function dJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+28|0;e=m+24|0;f=m+20|0;l=m+16|0;g=m+12|0;i=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=0;if(!(k[(k[d>>2]|0)+340>>2]|0)){l=k[l>>2]|0;r=m;return l|0}k[g>>2]=0;while(1){if(k[l>>2]|0){d=15;break}if((k[g>>2]|0)>=(k[(k[d>>2]|0)+316>>2]|0)){d=15;break}k[i>>2]=k[(k[(k[d>>2]|0)+340>>2]|0)+(k[g>>2]<<2)>>2];k[h>>2]=k[k[(k[i>>2]|0)+4>>2]>>2];if((k[(k[i>>2]|0)+8>>2]|0)!=0?(k[k[h>>2]>>2]|0)>=2:0){switch(k[e>>2]|0){case 0:{k[j>>2]=k[(k[h>>2]|0)+80>>2];k[(k[i>>2]|0)+20>>2]=(k[f>>2]|0)+1;break}case 2:{k[j>>2]=k[(k[h>>2]|0)+88>>2];break}default:k[j>>2]=k[(k[h>>2]|0)+84>>2]}if((k[j>>2]|0)!=0?(k[(k[i>>2]|0)+20>>2]|0)>(k[f>>2]|0):0){b=gc[k[j>>2]&255](k[(k[i>>2]|0)+8>>2]|0,k[f>>2]|0)|0;k[l>>2]=b}}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==15){l=k[l>>2]|0;r=m;return l|0}return 0}function eJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;h=n+8|0;j=n+4|0;g=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=0;if(!(k[d>>2]|0)){m=k[j>>2]|0;r=n;return m|0}wg(k[d>>2]|0);k[h>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(k[h>>2]|0)){m=15;break}do if((k[f>>2]|0)!=0?(l[(k[h>>2]|0)+64>>0]&1|0)==0:0){if((l[(k[h>>2]|0)+66>>0]|0)!=1?(l[(k[h>>2]|0)+66>>0]|0)!=2:0)break;c=hI(k[h>>2]|0)|0;k[j>>2]=c;if(k[j>>2]|0)break a}else m=10;while(0);if((m|0)==10){m=0;ZB(k[h>>2]|0);i[(k[h>>2]|0)+66>>0]=4;k[(k[h>>2]|0)+60>>2]=k[e>>2]}k[g>>2]=0;while(1){if((k[g>>2]|0)>(i[(k[h>>2]|0)+68>>0]|0))break;_B(k[(k[h>>2]|0)+120+(k[g>>2]<<2)>>2]|0);k[(k[h>>2]|0)+120+(k[g>>2]<<2)>>2]=0;k[g>>2]=(k[g>>2]|0)+1}k[h>>2]=k[(k[h>>2]|0)+8>>2]}if((m|0)==15){m=k[j>>2]|0;r=n;return m|0}eJ(k[d>>2]|0,k[j>>2]|0,0)|0;m=k[j>>2]|0;r=n;return m|0}function fJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;if(!(k[d>>2]|0)){h=k[h>>2]|0;r=i;return h|0}if((l[(k[d>>2]|0)+8>>0]|0|0)!=2){h=k[h>>2]|0;r=i;return h|0}k[g>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);a=ds(k[k[g>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}if((k[f>>2]|0)<0?((m[(k[g>>2]|0)+22>>1]|0)&8|0)!=0:0)k[(k[g>>2]|0)+44>>2]=0;a=KM(k[g>>2]|0)|0;k[h>>2]=a;a=qr((k[(k[(k[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;k[(k[g>>2]|0)+44>>2]=a;h=k[h>>2]|0;r=i;return h|0}function gJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;gk();Yf(k[c>>2]|0);if(k[(k[c>>2]|0)+24>>2]&2)a=(l[(k[c>>2]|0)+148+5>>0]|0)==0;else a=0;k[h>>2]=a&1;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;k[g>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[g>>2]|0){if(pi(k[g>>2]|0)|0)k[f>>2]=1;Zg(k[g>>2]|0,k[d>>2]|0,((k[h>>2]|0)!=0^1)&1)|0}k[e>>2]=(k[e>>2]|0)+1}yu(k[c>>2]|0)|0;hk();if((k[(k[c>>2]|0)+24>>2]&2|0)!=0?(l[(k[c>>2]|0)+148+5>>0]|0)==0:0){ai(k[c>>2]|0);Mg(k[c>>2]|0)}h=(k[c>>2]|0)+440|0;k[h>>2]=0;k[h+4>>2]=0;h=(k[c>>2]|0)+448|0;k[h>>2]=0;k[h+4>>2]=0;h=(k[c>>2]|0)+24|0;k[h>>2]=k[h>>2]&-33554433;if(!(k[(k[c>>2]|0)+212>>2]|0)){r=j;return}if((k[f>>2]|0)==0?(i[(k[c>>2]|0)+67>>0]|0)!=0:0){r=j;return}_b[k[(k[c>>2]|0)+212>>2]&255](k[(k[c>>2]|0)+208>>2]|0);r=j;return}function hJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+424>>2]|0))break;k[c>>2]=k[a+424>>2];k[(k[b>>2]|0)+424>>2]=k[(k[c>>2]|0)+24>>2];bg(k[b>>2]|0,k[c>>2]|0)}k[a+432>>2]=0;k[(k[b>>2]|0)+436>>2]=0;i[(k[b>>2]|0)+75>>0]=0;r=d;return}function iJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;c=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[g>>2]|0)+4>>2];wg(k[g>>2]|0);a=HM(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function jJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;f=s+24|0;g=s+20|0;m=s+16|0;n=s+12|0;o=s+28|0;q=s+8|0;h=s+4|0;p=s;k[f>>2]=a;k[g>>2]=b;k[m>>2]=c;k[n>>2]=d;i[o>>0]=e;e=k[f>>2]|0;if((k[g>>2]|0)>0)e=(k[(k[f>>2]|0)+92>>2]|0)+(((k[e+24>>2]|0)-(k[g>>2]|0)|0)*40|0)|0;else e=k[e+92>>2]|0;k[q>>2]=e;k[p>>2]=0;e=88+(k[m>>2]<<3)|0;if(!(l[o>>0]|0))b=FM()|0;else b=0;k[h>>2]=e+b;if(k[(k[(k[f>>2]|0)+112>>2]|0)+(k[g>>2]<<2)>>2]|0){oJ(k[f>>2]|0,k[(k[(k[f>>2]|0)+112>>2]|0)+(k[g>>2]<<2)>>2]|0);k[(k[(k[f>>2]|0)+112>>2]|0)+(k[g>>2]<<2)>>2]=0}if(Xx(k[q>>2]|0,k[h>>2]|0)|0){q=k[p>>2]|0;r=s;return q|0}e=k[(k[q>>2]|0)+16>>2]|0;k[p>>2]=e;k[(k[(k[f>>2]|0)+112>>2]|0)+(k[g>>2]<<2)>>2]=e;e=k[p>>2]|0;b=e+88|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(b|0));i[k[p>>2]>>0]=i[o>>0]|0;i[(k[p>>2]|0)+1>>0]=k[n>>2];j[(k[p>>2]|0)+12>>1]=k[m>>2];k[(k[p>>2]|0)+76>>2]=(k[p>>2]|0)+80+(k[m>>2]<<2);if(l[o>>0]|0){q=k[p>>2]|0;r=s;return q|0}k[(k[p>>2]|0)+16>>2]=(k[(k[q>>2]|0)+16>>2]|0)+(88+(k[m>>2]<<3));GM(k[(k[p>>2]|0)+16>>2]|0);q=k[p>>2]|0;r=s;return q|0}function kJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((k[g>>2]|0)<1){c=_j(62410)|0;k[l>>2]=c;c=k[l>>2]|0;r=m;return c|0}else{wg(k[f>>2]|0);c=DM(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=c;c=k[l>>2]|0;r=m;return c|0}return 0}function lJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[(k[d>>2]|0)+67>>0]=k[e>>2];r=c;return}function mJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;wg(k[h>>2]|0);b=CM(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function nJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;q=w+52|0;d=w+48|0;e=w+44|0;u=w+40|0;f=w+36|0;t=w+32|0;s=w+28|0;n=w+24|0;h=w+20|0;v=w+16|0;g=w+12|0;p=w;o=w+8|0;k[q>>2]=a;k[d>>2]=b;k[e>>2]=c;k[v>>2]=0;k[n>>2]=24+((m[(k[(k[e>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);k[h>>2]=136;c=(k[h>>2]|0)+(k[n>>2]|0)|0;c=Ch(k[q>>2]|0,c,((c|0)<0)<<31>>31)|0;k[t>>2]=c;k[(k[e>>2]|0)+16>>2]=k[t>>2];if(!(k[t>>2]|0)){k[v>>2]=7;v=k[v>>2]|0;r=w;return v|0}h=(k[t>>2]|0)+(k[h>>2]|0)|0;k[s>>2]=h;k[(k[t>>2]|0)+28>>2]=h;bS(k[s>>2]|0,k[(k[e>>2]|0)+24>>2]|0,k[n>>2]|0)|0;k[(k[s>>2]|0)+12>>2]=0;if(k[d>>2]|0){n=(k[s>>2]|0)+8|0;j[n>>1]=(m[n>>1]|0)+((m[(k[s>>2]|0)+6>>1]|0)-(k[d>>2]|0));j[(k[s>>2]|0)+6>>1]=k[d>>2]}n=Cg(k[(k[(k[q>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[u>>2]=n;k[(k[t>>2]|0)+12>>2]=n;i[(k[t>>2]|0)+59>>0]=1;i[(k[t>>2]|0)+58>>0]=-1;i[(k[t>>2]|0)+57>>0]=(l[(k[t>>2]|0)+59>>0]|0|0)>1;k[(k[t>>2]|0)+24>>2]=k[q>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(l[(k[t>>2]|0)+59>>0]|0|0))break;k[g>>2]=(k[t>>2]|0)+64+((k[f>>2]|0)*72|0);k[(k[g>>2]|0)+8>>2]=k[t>>2];k[f>>2]=(k[f>>2]|0)+1}if(!(hr(k[q>>2]|0)|0)){k[o>>2]=k[58];d=ha(k[o>>2]|0,k[u>>2]|0)|0;k[k[t>>2]>>2]=d;d=k[(k[(k[(k[q>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;e=p;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;e=p;d=k[e>>2]|0;e=k[e+4>>2]|0;if((k[p+4>>2]|0)<0){n=kS(d|0,e|0,-1024,-1)|0;o=p;k[o>>2]=n;k[o+4>>2]=L}else{n=k[u>>2]|0;n=kS(d|0,e|0,n|0,((n|0)<0)<<31>>31|0)|0;o=p;k[o>>2]=n;k[o+4>>2]=L}g=p;h=k[g+4>>2]|0;g=(h|0)<0|(h|0)==0&(k[g>>2]|0)>>>0<536870912;h=p;n=g?k[h+4>>2]|0:0;o=p;k[o>>2]=g?k[h>>2]|0:536870912;k[o+4>>2]=n;if((k[k[t>>2]>>2]|0)>(k[p>>2]|0))d=k[k[t>>2]>>2]|0;else d=k[p>>2]|0;k[(k[t>>2]|0)+4>>2]=d;if((k[50]|0)==0?(k[(k[t>>2]|0)+52>>2]=k[u>>2],u=k[u>>2]|0,u=jg(u,((u|0)<0)<<31>>31)|0,k[(k[t>>2]|0)+36+4>>2]=u,(k[(k[t>>2]|0)+36+4>>2]|0)==0):0)k[v>>2]=7}if(((m[(k[s>>2]|0)+6>>1]|0)+(m[(k[s>>2]|0)+8>>1]|0)|0)>=13){v=k[v>>2]|0;r=w;return v|0}if((k[(k[s>>2]|0)+20>>2]|0)!=0?(k[(k[s>>2]|0)+20>>2]|0)!=(k[(k[q>>2]|0)+8>>2]|0):0){v=k[v>>2]|0;r=w;return v|0}i[(k[t>>2]|0)+60>>0]=3;v=k[v>>2]|0;r=w;return v|0}function oJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;f=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[f>>2]=b;if(!(k[f>>2]|0)){r=g;return}switch(l[k[f>>2]>>0]|0|0){case 1:{BM(k[k[c>>2]>>2]|0,k[f>>2]|0);r=g;return}case 0:{c=k[f>>2]|0;if(k[(k[f>>2]|0)+20>>2]|0){VB(k[c+20>>2]|0)|0;r=g;return}else{XB(k[c+16>>2]|0)|0;r=g;return}}case 2:{k[e>>2]=k[(k[f>>2]|0)+16>>2];k[d>>2]=k[k[k[e>>2]>>2]>>2];f=(k[k[e>>2]>>2]|0)+4|0;k[f>>2]=(k[f>>2]|0)+-1;bc[k[(k[d>>2]|0)+28>>2]&255](k[e>>2]|0)|0;r=g;return}default:{r=g;return}}}function pJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;r=e;return ((l[(k[d>>2]|0)+67>>0]|0)&k[c>>2]|0)!=0|0}function qJ(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return 1!=(l[(k[b>>2]|0)+66>>0]|0|0)|0}function rJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+12|0;d=g+8|0;c=g+4|0;f=g;k[d>>2]=a;k[c>>2]=b;if(1==(l[(k[d>>2]|0)+66>>0]|0|0)?((l[(k[d>>2]|0)+64>>0]|0)&8|0)!=0:0){k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}b=_F(k[d>>2]|0)|0;k[f>>2]=b;do if(!(k[f>>2]|0)){c=k[c>>2]|0;if(!(l[(k[d>>2]|0)+66>>0]|0)){k[c>>2]=1;break}k[c>>2]=0;c=QF(k[d>>2]|0)|0;k[f>>2]=c;c=(k[d>>2]|0)+64|0;a=l[c>>0]|0;if(!(k[f>>2]|0)){i[c>>0]=a|8;break}else{i[c>>0]=a&-9;break}}while(0);k[e>>2]=k[f>>2];f=k[e>>2]|0;r=g;return f|0}function sJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=r;r=r+64|0;e=y+52|0;f=y+48|0;g=y+44|0;h=y+40|0;z=y+36|0;v=y+32|0;o=y+28|0;w=y+24|0;n=y+20|0;u=y+16|0;s=y+12|0;t=y+8|0;q=y+4|0;p=y;x=y+56|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[z>>2]=d;k[o>>2]=k[z>>2];k[w>>2]=0;k[s>>2]=k[k[f>>2]>>2];k[t>>2]=k[(k[s>>2]|0)+4>>2];k[p>>2]=0;c=k[f>>2]|0;if((l[(k[f>>2]|0)+66>>0]|0)==4){k[e>>2]=k[c+60>>2];z=k[e>>2]|0;r=y;return z|0}if((l[c+64>>0]&32|0)!=0?(z=fI(k[t>>2]|0,k[(k[f>>2]|0)+52>>2]|0,k[f>>2]|0)|0,k[v>>2]=z,(k[v>>2]|0)!=0):0){k[e>>2]=k[v>>2];z=k[e>>2]|0;r=y;return z|0}do if(!(k[(k[f>>2]|0)+72>>2]|0)){z=(k[g>>2]|0)+8|0;hL(k[s>>2]|0,k[z>>2]|0,k[z+4>>2]|0,0);if(((l[(k[f>>2]|0)+64>>0]&2|0)!=0?(z=(k[g>>2]|0)+8|0,s=k[z+4>>2]|0,(s|0)>0|(s|0)==0&(k[z>>2]|0)>>>0>0):0)?(z=(k[f>>2]|0)+16|0,d=k[z>>2]|0,z=k[z+4>>2]|0,s=(k[g>>2]|0)+8|0,s=_R(k[s>>2]|0,k[s+4>>2]|0,1,0)|0,(d|0)==(s|0)&(z|0)==(L|0)):0){k[o>>2]=-1;break}if((k[o>>2]|0)==0?(z=(k[g>>2]|0)+8|0,z=YF(k[f>>2]|0,0,k[z>>2]|0,k[z+4>>2]|0,k[h>>2]|0,o)|0,k[v>>2]=z,(k[v>>2]|0)!=0):0){k[e>>2]=k[v>>2];z=k[e>>2]|0;r=y;return z|0}}else if((k[o>>2]|0)==0?(z=(k[g>>2]|0)+8|0,z=VF(k[f>>2]|0,k[k[g>>2]>>2]|0,k[z>>2]|0,k[z+4>>2]|0,k[h>>2]|0,o)|0,k[v>>2]=z,(k[v>>2]|0)!=0):0){k[e>>2]=k[v>>2];z=k[e>>2]|0;r=y;return z|0}while(0);k[u>>2]=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2];k[p>>2]=k[(k[t>>2]|0)+80>>2];z=AM(k[u>>2]|0,k[p>>2]|0,k[g>>2]|0,w)|0;k[v>>2]=z;do if(!(k[v>>2]|0)){k[n>>2]=m[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1];if(!(k[o>>2]|0)){z=Qg(k[(k[u>>2]|0)+72>>2]|0)|0;k[v>>2]=z;if(k[v>>2]|0)break;k[q>>2]=(k[(k[u>>2]|0)+56>>2]|0)+(m[(k[u>>2]|0)+20>>1]&(l[(k[(k[u>>2]|0)+64>>2]|0)+(k[n>>2]<<1)>>0]<<8|l[(k[(k[u>>2]|0)+64>>2]|0)+(k[n>>2]<<1)+1>>0]));if(!(i[(k[u>>2]|0)+4>>0]|0)){z=k[p>>2]|0;t=k[q>>2]|0;i[z>>0]=i[t>>0]|0;i[z+1>>0]=i[t+1>>0]|0;i[z+2>>0]=i[t+2>>0]|0;i[z+3>>0]=i[t+3>>0]|0}z=jL(k[u>>2]|0,k[q>>2]|0,x)|0;k[v>>2]=z;gM(k[u>>2]|0,k[n>>2]|0,m[x>>1]|0,v);if(k[v>>2]|0)break}else if((k[o>>2]|0)<0?(m[(k[u>>2]|0)+18>>1]|0)>0:0){x=(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)|0;z=(j[x>>1]|0)+1<<16>>16;j[x>>1]=z;k[n>>2]=z&65535}hM(k[u>>2]|0,k[n>>2]|0,k[p>>2]|0,k[w>>2]|0,0,0,v);j[(k[f>>2]|0)+16+18>>1]=0;if(i[(k[u>>2]|0)+1>>0]|0){z=(k[f>>2]|0)+64|0;i[z>>0]=l[z>>0]&-3;z=iM(k[f>>2]|0)|0;k[v>>2]=z;i[(k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;i[(k[f>>2]|0)+66>>0]=0}}while(0);k[e>>2]=k[v>>2];z=k[e>>2]|0;r=y;return z|0}function tJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+64|0;t=z+56|0;u=z+52|0;A=z+63|0;f=z+48|0;g=z+44|0;y=z+40|0;x=z+36|0;h=z+32|0;w=z+28|0;v=z+24|0;p=z+60|0;s=z+20|0;q=z+62|0;e=z+16|0;n=z+12|0;d=z+8|0;c=z+4|0;o=z;k[u>>2]=a;i[A>>0]=b;k[f>>2]=k[k[u>>2]>>2];k[g>>2]=k[(k[f>>2]|0)+4>>2];k[s>>2]=0;i[q>>0]=l[A>>0]&2;k[v>>2]=i[(k[u>>2]|0)+68>>0];k[w>>2]=m[(k[u>>2]|0)+80+(k[v>>2]<<1)>>1];k[x>>2]=k[(k[u>>2]|0)+120+(k[v>>2]<<2)>>2];k[h>>2]=(k[(k[x>>2]|0)+56>>2]|0)+(m[(k[x>>2]|0)+20>>1]&(l[(k[(k[x>>2]|0)+64>>2]|0)+(k[w>>2]<<1)>>0]<<8|l[(k[(k[x>>2]|0)+64>>2]|0)+(k[w>>2]<<1)+1>>0]));do if(i[q>>0]|0){if((i[(k[x>>2]|0)+4>>0]|0)!=0?(A=m[(k[x>>2]|0)+16>>1]|0,A=A+((gu(k[x>>2]|0,k[h>>2]|0)|0)&65535)+2|0,(A|0)<=((k[(k[g>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){k[s>>2]=1;break}A=jI(k[u>>2]|0)|0;k[y>>2]=A;if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}}while(0);if((i[(k[x>>2]|0)+4>>0]|0)==0?(k[e>>2]=0,A=MF(k[u>>2]|0,e)|0,k[y>>2]=A,(k[y>>2]|0)!=0):0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if((l[(k[u>>2]|0)+64>>0]&32|0)!=0?(A=fI(k[g>>2]|0,k[(k[u>>2]|0)+52>>2]|0,k[u>>2]|0)|0,k[y>>2]=A,(k[y>>2]|0)!=0):0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if(!(k[(k[u>>2]|0)+72>>2]|0)){A=(k[u>>2]|0)+16|0;hL(k[f>>2]|0,k[A>>2]|0,k[A+4>>2]|0,0)}A=Qg(k[(k[x>>2]|0)+72>>2]|0)|0;k[y>>2]=A;if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}A=jL(k[x>>2]|0,k[h>>2]|0,p)|0;k[y>>2]=A;gM(k[x>>2]|0,k[w>>2]|0,m[p>>1]|0,y);if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if(!(i[(k[x>>2]|0)+4>>0]|0)){k[n>>2]=k[(k[u>>2]|0)+120+(i[(k[u>>2]|0)+68>>0]<<2)>>2];k[c>>2]=k[(k[(k[u>>2]|0)+120+((k[v>>2]|0)+1<<2)>>2]|0)+84>>2];k[h>>2]=(k[(k[n>>2]|0)+56>>2]|0)+(m[(k[n>>2]|0)+20>>1]&(l[(k[(k[n>>2]|0)+64>>2]|0)+((m[(k[n>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|l[(k[(k[n>>2]|0)+64>>2]|0)+((m[(k[n>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((k[h>>2]|0)>>>0<((k[(k[n>>2]|0)+56>>2]|0)+4|0)>>>0){A=_j(66449)|0;k[t>>2]=A;A=k[t>>2]|0;r=z;return A|0}A=(gc[k[(k[n>>2]|0)+76>>2]&255](k[n>>2]|0,k[h>>2]|0)|0)&65535;k[d>>2]=A;k[o>>2]=k[(k[g>>2]|0)+80>>2];A=Qg(k[(k[n>>2]|0)+72>>2]|0)|0;k[y>>2]=A;if(!(k[y>>2]|0))hM(k[x>>2]|0,k[w>>2]|0,(k[h>>2]|0)+-4|0,(k[d>>2]|0)+4|0,k[o>>2]|0,k[c>>2]|0,y);gM(k[n>>2]|0,(m[(k[n>>2]|0)+18>>1]|0)-1|0,k[d>>2]|0,y);if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}}A=iM(k[u>>2]|0)|0;k[y>>2]=A;if((k[y>>2]|0)==0?(i[(k[u>>2]|0)+68>>0]|0)>(k[v>>2]|0):0){while(1){b=k[u>>2]|0;if((i[(k[u>>2]|0)+68>>0]|0)<=(k[v>>2]|0))break;p=b+68|0;A=i[p>>0]|0;i[p>>0]=A+-1<<24>>24;_B(k[(k[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}A=iM(b)|0;k[y>>2]=A}do if(!(k[y>>2]|0)){b=k[u>>2]|0;if(!(k[s>>2]|0)){A=_F(b)|0;k[y>>2]=A;if(!(i[q>>0]|0))break;i[(k[u>>2]|0)+66>>0]=3;break}i[b+66>>0]=2;b=(k[u>>2]|0)+60|0;if((k[w>>2]|0)>=(m[(k[x>>2]|0)+18>>1]|0)){k[b>>2]=-1;j[(k[u>>2]|0)+80+(k[v>>2]<<1)>>1]=(m[(k[x>>2]|0)+18>>1]|0)-1;break}else{k[b>>2]=1;break}}while(0);k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}function uJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;n=s+44|0;t=s+40|0;o=s+36|0;e=s+32|0;p=s+28|0;l=s+24|0;q=s+20|0;i=s+16|0;f=s+12|0;h=s+8|0;g=s+4|0;k[t>>2]=a;k[o>>2]=b;k[e>>2]=c;k[p>>2]=d;k[l>>2]=k[(k[t>>2]|0)+16>>2];k[q>>2]=k[(k[l>>2]|0)+32>>2];k[i>>2]=k[(k[t>>2]|0)+24>>2];do if(!(k[q>>2]|0)){t=WF(k[i>>2]|0,0,0,s)|0;k[(k[l>>2]|0)+32>>2]=t;k[q>>2]=t;if(k[q>>2]|0){j[(k[q>>2]|0)+8>>1]=k[e>>2];break}k[n>>2]=7;t=k[n>>2]|0;r=s;return t|0}while(0);t=fM(k[l>>2]|0,g)|0;k[h>>2]=t;XF(k[i>>2]|0,k[g>>2]|0,k[h>>2]|0,k[q>>2]|0);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[e>>2]|0)){e=10;break}if((m[(k[(k[q>>2]|0)+4>>2]|0)+((k[f>>2]|0)*40|0)+8>>1]|0)&1){e=8;break}k[f>>2]=(k[f>>2]|0)+1}if((e|0)==8){k[k[p>>2]>>2]=-1;k[n>>2]=0;t=k[n>>2]|0;r=s;return t|0}else if((e|0)==10){t=jG(k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[q>>2]|0)|0;k[k[p>>2]>>2]=t;k[n>>2]=0;t=k[n>>2]|0;r=s;return t|0}return 0}function vJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+20|0;i=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[i>>2]=a;k[d>>2]=b;k[h>>2]=k[(k[i>>2]|0)+16>>2];b=fM(k[h>>2]|0,e)|0;k[f>>2]=b;if(Xx(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=7;i=k[c>>2]|0;r=g;return i|0}else{k[(k[d>>2]|0)+12>>2]=k[e>>2];j[(k[d>>2]|0)+8>>1]=(m[(k[d>>2]|0)+8>>1]|0)&-49664|16;bS(k[(k[d>>2]|0)+16>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=0;i=k[c>>2]|0;r=g;return i|0}return 0}function wJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+8>>2]|0)){r=f;return}k[e>>2]=k[k[c>>2]>>2];bg(k[e>>2]|0,k[(k[c>>2]|0)+108>>2]|0);b=Ah(k[e>>2]|0,k[(k[d>>2]|0)+8>>2]|0)|0;k[(k[c>>2]|0)+108>>2]=b;Ud(k[(k[d>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+8>>2]=0;r=f;return}function xJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(cM(k[(k[c>>2]|0)+16>>2]|0)|0){a=dM(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function yJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+16|0;h=g+12|0;c=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;k[e>>2]=k[(k[h>>2]|0)+16>>2];b=k[e>>2]|0;if(l[(k[e>>2]|0)+56>>0]|0){h=tL(b)|0;k[f>>2]=h;k[f>>2]=k[f>>2];if(!(k[f>>2]|0)){h=SL(k[e>>2]|0)|0;k[f>>2]=h;k[k[c>>2]>>2]=0}k[d>>2]=k[f>>2];h=k[d>>2]|0;r=g;return h|0}a=k[c>>2]|0;if(k[b+36>>2]|0){k[a>>2]=0;h=wL((k[e>>2]|0)+64|0,(k[e>>2]|0)+36|0)|0;k[f>>2]=h}else k[a>>2]=1;k[d>>2]=k[f>>2];h=k[d>>2]|0;r=g;return h|0}function zJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;c=f+4|0;e=f;k[d>>2]=a;k[c>>2]=b;b=_F(k[d>>2]|0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){c=k[c>>2]|0;if(!(l[(k[d>>2]|0)+66>>0]|0)){k[c>>2]=1;break}else{k[c>>2]=0;d=CG(k[d>>2]|0)|0;k[e>>2]=d;break}}while(0);r=f;return k[e>>2]|0}function AJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;d=j+20|0;l=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;f=j;k[d>>2]=a;k[l>>2]=b;k[e>>2]=c;k[g>>2]=k[(k[l>>2]|0)+16>>2];a=k[g>>2]|0;if(i[(k[g>>2]|0)+56>>0]|0){l=JL(k[a+20>>2]|0,k[e>>2]|0)|0;k[h>>2]=l;l=k[h>>2]|0;r=j;return l|0}k[f>>2]=k[a+36>>2];k[(k[g>>2]|0)+36>>2]=k[(k[f>>2]|0)+4>>2];k[(k[f>>2]|0)+4>>2]=0;if(!(k[(k[g>>2]|0)+36+4>>2]|0))dL(k[d>>2]|0,k[f>>2]|0);k[k[e>>2]>>2]=((k[(k[g>>2]|0)+36>>2]|0)!=0^1)&1;k[h>>2]=0;l=k[h>>2]|0;r=j;return l|0}function BJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;f=t+52|0;u=t+48|0;g=t+44|0;q=t+40|0;s=t+36|0;p=t+32|0;d=t+28|0;o=t+24|0;e=t+20|0;c=t+16|0;m=t+12|0;h=t+8|0;j=t+4|0;n=t;k[u>>2]=a;k[g>>2]=b;k[s>>2]=0;k[q>>2]=k[(k[u>>2]|0)+16>>2];a=(k[(k[g>>2]|0)+16>>2]|0)+1|0;if((l[(k[(k[g>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)k[c>>2]=l[a>>0];else lG(a,c)|0;do if((k[c>>2]|0)>0&(k[c>>2]|0)<10&(k[c>>2]|0)!=7){u=(k[q>>2]|0)+60|0;i[u>>0]=(l[u>>0]|0)&1}else{if((k[c>>2]|0)>10?(k[c>>2]&1|0)!=0:0){u=(k[q>>2]|0)+60|0;i[u>>0]=(l[u>>0]|0)&2;break}i[(k[q>>2]|0)+60>>0]=0}while(0);k[o>>2]=(k[(k[g>>2]|0)+12>>2]|0)+8;c=k[(k[g>>2]|0)+12>>2]|0;u=k[(k[g>>2]|0)+12>>2]|0;u=c+(sG(u,((u|0)<0)<<31>>31)|0)|0;k[e>>2]=u;if(k[(k[q>>2]|0)+4>>2]|0){a=k[q>>2]|0;if(k[(k[q>>2]|0)+36+4>>2]|0){if(k[a+48>>2]|0)a=((k[(k[q>>2]|0)+48>>2]|0)+(k[o>>2]|0)|0)>(k[(k[q>>2]|0)+4>>2]|0);else a=0;k[d>>2]=a&1}else{if((k[a+36+8>>2]|0)<=(k[(k[q>>2]|0)+4>>2]|0))if((k[(k[q>>2]|0)+36+8>>2]|0)>(k[k[q>>2]>>2]|0))a=(av()|0)!=0;else a=0;else a=1;k[d>>2]=a&1}if(k[d>>2]|0){u=tL(k[q>>2]|0)|0;k[s>>2]=u;k[(k[q>>2]|0)+36+8>>2]=0;k[(k[q>>2]|0)+48>>2]=0}}u=(k[q>>2]|0)+36+8|0;k[u>>2]=(k[u>>2]|0)+(k[e>>2]|0);if((k[e>>2]|0)>(k[(k[q>>2]|0)+8>>2]|0))k[(k[q>>2]|0)+8>>2]=k[e>>2];do if(k[(k[q>>2]|0)+36+4>>2]|0){k[m>>2]=(k[(k[q>>2]|0)+48>>2]|0)+(k[o>>2]|0);do if((k[m>>2]|0)>(k[(k[q>>2]|0)+52>>2]|0)){k[j>>2]=(k[(k[q>>2]|0)+36>>2]|0)-(k[(k[q>>2]|0)+36+4>>2]|0);k[n>>2]=k[(k[q>>2]|0)+52>>2]<<1;while(1){a=k[n>>2]|0;if((k[n>>2]|0)>=(k[m>>2]|0))break;k[n>>2]=a<<1}if((a|0)>(k[(k[q>>2]|0)+4>>2]|0))k[n>>2]=k[(k[q>>2]|0)+4>>2];if((k[n>>2]|0)<(k[m>>2]|0))k[n>>2]=k[m>>2];u=k[n>>2]|0;u=mg(k[(k[q>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;k[h>>2]=u;if(k[h>>2]|0){k[(k[q>>2]|0)+36>>2]=(k[h>>2]|0)+(k[j>>2]|0);k[(k[q>>2]|0)+36+4>>2]=k[h>>2];k[(k[q>>2]|0)+52>>2]=k[n>>2];break}k[f>>2]=7;u=k[f>>2]|0;r=t;return u|0}while(0);k[p>>2]=(k[(k[q>>2]|0)+36+4>>2]|0)+(k[(k[q>>2]|0)+48>>2]|0);u=(k[q>>2]|0)+48|0;k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+7&-8);if(k[(k[q>>2]|0)+36>>2]|0)k[(k[p>>2]|0)+4>>2]=(k[(k[q>>2]|0)+36>>2]|0)-(k[(k[q>>2]|0)+36+4>>2]|0)}else{u=k[o>>2]|0;u=jg(u,((u|0)<0)<<31>>31)|0;k[p>>2]=u;if(k[p>>2]|0){k[(k[p>>2]|0)+4>>2]=k[(k[q>>2]|0)+36>>2];break}k[f>>2]=7;u=k[f>>2]|0;r=t;return u|0}while(0);bS((k[p>>2]|0)+8|0,k[(k[g>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+12>>2]|0)|0;k[k[p>>2]>>2]=k[(k[g>>2]|0)+12>>2];k[(k[q>>2]|0)+36>>2]=k[p>>2];k[f>>2]=k[s>>2];u=k[f>>2]|0;r=t;return u|0}function CJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+128|0;e=n+116|0;q=n+112|0;p=n+108|0;f=n+104|0;o=n+80|0;d=n+100|0;i=n+96|0;j=n+92|0;g=n+88|0;h=n+40|0;m=n;k[q>>2]=a;k[p>>2]=b;k[f>>2]=c;b=o;k[b>>2]=0;k[b+4>>2]=0;b=lI(k[p>>2]|0)|0;c=o;k[c>>2]=b;k[c+4>>2]=0;tG(h,k[q>>2]|0,0);c=ZI(k[p>>2]|0,0,k[o>>2]|0,1,h)|0;k[d>>2]=c;if(k[d>>2]|0){k[e>>2]=k[d>>2];q=k[e>>2]|0;r=n;return q|0}a=k[h+16>>2]|0;if((l[k[h+16>>2]>>0]|0|0)<128)k[i>>2]=l[a>>0];else lG(a,i)|0;if((k[i>>2]|0)>>>0>=3?(k[i>>2]|0)<=(k[h+12>>2]|0):0){a=(k[h+16>>2]|0)+((k[i>>2]|0)-1)|0;if((l[(k[h+16>>2]|0)+((k[i>>2]|0)-1)>>0]|0|0)<128)k[j>>2]=l[a>>0];else lG(a,j)|0;if(!((k[j>>2]|0)>>>0<1|(k[j>>2]|0)>>>0>9|(k[j>>2]|0)==7)?(k[g>>2]=l[35061+(k[j>>2]|0)>>0],(k[h+12>>2]|0)>>>0>=((k[i>>2]|0)+(k[g>>2]|0)|0)>>>0):0){nG((k[h+16>>2]|0)+((k[h+12>>2]|0)-(k[g>>2]|0))|0,k[j>>2]|0,m)|0;o=m;p=k[o+4>>2]|0;q=k[f>>2]|0;k[q>>2]=k[o>>2];k[q+4>>2]=p;fh(h);k[e>>2]=0;q=k[e>>2]|0;r=n;return q|0}}fh(h);q=_j(74890)|0;k[e>>2]=q;q=k[e>>2]|0;r=n;return q|0}function DJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;e=n+72|0;f=n+68|0;o=n+64|0;g=n+60|0;h=n+56|0;j=n+40|0;m=n+52|0;l=n+48|0;i=n;k[f>>2]=a;k[o>>2]=b;k[g>>2]=c;k[h>>2]=d;a=j;k[a>>2]=0;k[a+4>>2]=0;k[l>>2]=k[(k[o>>2]|0)+16>>2];a=lI(k[l>>2]|0)|0;b=j;k[b>>2]=a;k[b+4>>2]=0;b=j;a=k[b+4>>2]|0;d=j;c=k[d+4>>2]|0;if((a|0)<0|(a|0)==0&(k[b>>2]|0)>>>0<=0|((c|0)>0|(c|0)==0&(k[d>>2]|0)>>>0>2147483647)){k[k[h>>2]>>2]=0;o=_j(74923)|0;k[e>>2]=o;o=k[e>>2]|0;r=n;return o|0}tG(i,k[f>>2]|0,0);o=ZI(k[l>>2]|0,0,k[j>>2]|0,1,i)|0;k[m>>2]=o;if(k[m>>2]|0){k[e>>2]=k[m>>2];o=k[e>>2]|0;r=n;return o|0}else{o=jG(k[i+12>>2]|0,k[i+16>>2]|0,k[g>>2]|0)|0;k[k[h>>2]>>2]=o;fh(i);k[e>>2]=0;o=k[e>>2]|0;r=n;return o|0}return 0}function EJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;wg(k[h>>2]|0);c=sL(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=c;r=e;return k[d>>2]|0} -function uD(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+96|0;n=K+84|0;o=K+80|0;p=K+76|0;q=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=m;g=nx(k[n>>2]|0)|0;k[J>>2]=g;k[z>>2]=(k[(k[n>>2]|0)+40>>2]|0)-1;g=eA(k[J>>2]|0)|0;k[C>>2]=g;if((k[v>>2]|0)<0)sx(k[J>>2]|0,65,l[(k[s>>2]|0)+24>>0]|0,k[C>>2]|0)|0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[s>>2]|0)+20>>2]|0))break;k[E>>2]=(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+(k[u>>2]|0)+1;sx(k[J>>2]|0,34,k[E>>2]|0,k[C>>2]|0)|0;k[x>>2]=(k[x>>2]|0)+1}do if(!(k[w>>2]|0)){if(!(k[q>>2]|0)){I=Fx(k[n>>2]|0)|0;k[H>>2]=I;sx(k[J>>2]|0,85,(k[k[t>>2]>>2]|0)+1+(k[u>>2]|0)|0,k[H>>2]|0)|0;I=sx(k[J>>2]|0,17,k[H>>2]|0,0)|0;k[B>>2]=I;if((k[v>>2]|0)==1?(k[p>>2]|0)==(k[k[s>>2]>>2]|0):0){tx(k[J>>2]|0,37,k[u>>2]|0,k[C>>2]|0,k[H>>2]|0)|0;Th(k[J>>2]|0,-112)}cA(k[n>>2]|0,k[z>>2]|0,k[o>>2]|0,k[p>>2]|0,104);tx(k[J>>2]|0,33,k[z>>2]|0,0,k[H>>2]|0)|0;gA(k[J>>2]|0,k[C>>2]|0)|0;I=k[J>>2]|0;hA(I,(Gx(k[J>>2]|0)|0)-2|0);hA(k[J>>2]|0,k[B>>2]|0);Hx(k[n>>2]|0,k[H>>2]|0);break}k[F>>2]=k[(k[s>>2]|0)+20>>2];H=MA(k[n>>2]|0,k[F>>2]|0)|0;k[I>>2]=H;H=Fx(k[n>>2]|0)|0;k[G>>2]=H;tx(k[J>>2]|0,104,k[z>>2]|0,k[(k[q>>2]|0)+44>>2]|0,k[o>>2]|0)|0;dA(k[n>>2]|0,k[q>>2]|0);k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[F>>2]|0))break;sx(k[J>>2]|0,84,(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+1+(k[u>>2]|0)|0,(k[I>>2]|0)+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}if((k[v>>2]|0)==1?(k[p>>2]|0)==(k[k[s>>2]>>2]|0):0){H=Gx(k[J>>2]|0)|0;k[A>>2]=H+(k[F>>2]|0)+1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[F>>2]|0))break;k[y>>2]=(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+1+(k[u>>2]|0);k[D>>2]=(j[(k[(k[q>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0)+1+(k[u>>2]|0);if((j[(k[(k[q>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0)==(j[(k[p>>2]|0)+32>>1]|0))k[D>>2]=k[u>>2];tx(k[J>>2]|0,36,k[y>>2]|0,k[A>>2]|0,k[D>>2]|0)|0;Th(k[J>>2]|0,16);k[x>>2]=(k[x>>2]|0)+1}gA(k[J>>2]|0,k[C>>2]|0)|0}d=k[J>>2]|0;a=k[I>>2]|0;c=k[F>>2]|0;g=k[G>>2]|0;H=MC(k[k[n>>2]>>2]|0,k[q>>2]|0)|0;wx(d,99,a,c,g,H,k[F>>2]|0)|0;Sh(k[J>>2]|0,31,k[z>>2]|0,k[C>>2]|0,k[G>>2]|0,0)|0;Hx(k[n>>2]|0,k[G>>2]|0);PA(k[n>>2]|0,k[I>>2]|0,k[F>>2]|0)}while(0);if((((i[(k[s>>2]|0)+24>>0]|0)==0?(k[(k[k[n>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(k[(k[n>>2]|0)+124>>2]|0)==0:0)?(i[(k[n>>2]|0)+20>>0]|0)==0:0){DA(k[n>>2]|0,787,2,0,-2,4);H=k[J>>2]|0;I=k[C>>2]|0;iA(H,I);I=k[J>>2]|0;J=k[z>>2]|0;aA(I,111,J)|0;r=K;return}if((k[v>>2]|0)>0?(l[(k[s>>2]|0)+24>>0]|0)==0:0)dy(k[n>>2]|0);sx(k[J>>2]|0,144,l[(k[s>>2]|0)+24>>0]|0,k[v>>2]|0)|0;H=k[J>>2]|0;I=k[C>>2]|0;iA(H,I);I=k[J>>2]|0;J=k[z>>2]|0;aA(I,111,J)|0;r=K;return}function vD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;k[h>>2]=a;k[d>>2]=b;b=k[h>>2]|0;if(k[(k[h>>2]|0)+124>>2]|0)b=k[b+124>>2]|0;k[f>>2]=b;do if(k[(k[f>>2]|0)+468>>2]|0){k[e>>2]=k[k[(k[f>>2]|0)+468>>2]>>2];if(!((k[e>>2]|0)==(k[(k[d>>2]|0)+28>>2]|0)?(l[(k[d>>2]|0)+25>>0]|0|0)==7:0)){if((k[e>>2]|0)!=(k[(k[d>>2]|0)+28+4>>2]|0))break;if((l[(k[d>>2]|0)+25+1>>0]|0|0)!=7)break}k[c>>2]=1;h=k[c>>2]|0;r=g;return h|0}while(0);k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function wD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s+20|0;i=s+16|0;m=s+12|0;p=s+8|0;n=s+4|0;o=s;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=0;a:while(1){if((k[m>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0)){q=14;break}k[p>>2]=k[(k[g>>2]|0)+36+(k[m>>2]<<3)+4>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;if(!((k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0)<0?!((k[i>>2]|0)!=0?(k[n>>2]|0)==(j[(k[f>>2]|0)+32>>1]|0):0):0))q=7;do if((q|0)==7){q=0;k[o>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<4);c=k[o>>2]|0;if(k[p>>2]|0)if(!(sg(k[c>>2]|0,k[p>>2]|0)|0)){q=9;break a}else break;else if(l[c+15>>0]&1){q=11;break a}else break}while(0);k[n>>2]=(k[n>>2]|0)+1}k[m>>2]=(k[m>>2]|0)+1}if((q|0)==9){k[e>>2]=1;q=k[e>>2]|0;r=s;return q|0}else if((q|0)==11){k[e>>2]=1;q=k[e>>2]|0;r=s;return q|0}else if((q|0)==14){k[e>>2]=0;q=k[e>>2]|0;r=s;return q|0}return 0}function xD(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+144|0;i=O+128|0;n=O+124|0;o=O+120|0;p=O+116|0;q=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;k[i>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[u>>2]=h;k[v>>2]=k[k[i>>2]>>2];k[K>>2]=0;k[z>>2]=0;g=nx(k[i>>2]|0)|0;k[M>>2]=g;if((k[u>>2]|0)<0){g=sx(k[M>>2]|0,65,l[(k[q>>2]|0)+24>>0]|0,0)|0;k[z>>2]=g}k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[q>>2]|0)+20>>2]|0))break;if(k[p>>2]|0)f=j[(k[(k[p>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0;else f=-1;j[x>>1]=f;g=yD(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,j[x>>1]|0)|0;k[D>>2]=g;if(k[s>>2]|0)f=k[(k[s>>2]|0)+(k[w>>2]<<2)>>2]|0;else f=k[(k[q>>2]|0)+36>>2]|0;j[x>>1]=f;k[N>>2]=k[(k[(k[k[q>>2]>>2]|0)+4>>2]|0)+(j[x>>1]<<4)>>2];g=ew(k[v>>2]|0,55,k[N>>2]|0)|0;k[H>>2]=g;g=Ov(k[i>>2]|0,37,k[D>>2]|0,k[H>>2]|0,0)|0;k[B>>2]=g;g=Gz(k[v>>2]|0,k[K>>2]|0,k[B>>2]|0)|0;k[K>>2]=g;k[w>>2]=(k[w>>2]|0)+1}if((k[u>>2]|0)>0?(k[o>>2]|0)==(k[k[q>>2]>>2]|0):0){if(!(l[(k[o>>2]|0)+42>>0]&32)){N=yD(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,-1)|0;k[E>>2]=N;N=zD(k[v>>2]|0,k[o>>2]|0,k[(k[n>>2]|0)+8+44>>2]|0,-1)|0;k[I>>2]=N;N=Ov(k[i>>2]|0,36,k[E>>2]|0,k[I>>2]|0,0)|0;k[F>>2]=N}else{k[A>>2]=0;N=Tj(k[o>>2]|0)|0;k[G>>2]=N;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(m[(k[G>>2]|0)+50>>1]|0))break;j[y>>1]=j[(k[(k[p>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0;N=yD(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,j[y>>1]|0)|0;k[E>>2]=N;N=zD(k[v>>2]|0,k[o>>2]|0,k[(k[n>>2]|0)+8+44>>2]|0,j[y>>1]|0)|0;k[I>>2]=N;N=Ov(k[i>>2]|0,37,k[E>>2]|0,k[I>>2]|0,0)|0;k[C>>2]=N;N=Gz(k[v>>2]|0,k[A>>2]|0,k[C>>2]|0)|0;k[A>>2]=N;k[w>>2]=(k[w>>2]|0)+1}N=Ov(k[i>>2]|0,19,k[A>>2]|0,0,0)|0;k[F>>2]=N}N=Gz(k[v>>2]|0,k[K>>2]|0,k[F>>2]|0)|0;k[K>>2]=N};k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;k[L+16>>2]=0;k[L+20>>2]=0;k[L+24>>2]=0;k[L+28>>2]=0;k[L+4>>2]=k[n>>2];k[L>>2]=k[i>>2];Ky(L,k[K>>2]|0)|0;N=AD(k[i>>2]|0,k[n>>2]|0,k[K>>2]|0,0,0,0,0)|0;k[J>>2]=N;sx(k[M>>2]|0,144,l[(k[q>>2]|0)+24>>0]|0,k[u>>2]|0)|0;if(k[J>>2]|0)BD(k[J>>2]|0);sv(k[v>>2]|0,k[K>>2]|0);if(!(k[z>>2]|0)){r=O;return}hA(k[M>>2]|0,k[z>>2]|0);r=O;return}function yD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+24|0;f=p+20|0;g=p+16|0;h=p+28|0;n=p+12|0;m=p+8|0;o=p+4|0;l=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;j[h>>1]=d;k[l>>2]=k[k[e>>2]>>2];c=ew(k[l>>2]|0,157,0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){o=k[n>>2]|0;r=p;return o|0}if((j[h>>1]|0)>=0?(j[h>>1]|0)!=(j[(k[f>>2]|0)+32>>1]|0):0){k[m>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(j[h>>1]<<4);k[(k[n>>2]|0)+28>>2]=(k[g>>2]|0)+(j[h>>1]|0)+1;i[(k[n>>2]|0)+1>>0]=i[(k[m>>2]|0)+13>>0]|0;k[o>>2]=k[(k[m>>2]|0)+8>>2];if(!(k[o>>2]|0))k[o>>2]=k[k[(k[l>>2]|0)+8>>2]>>2];o=ez(k[e>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[n>>2]=o;o=k[n>>2]|0;r=p;return o|0}k[(k[n>>2]|0)+28>>2]=k[g>>2];i[(k[n>>2]|0)+1>>0]=68;o=k[n>>2]|0;r=p;return o|0}function zD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0;i=r;r=r+32|0;l=i+12|0;e=i+8|0;f=i+4|0;g=i+16|0;h=i;k[l>>2]=a;k[e>>2]=b;k[f>>2]=c;j[g>>1]=d;b=ew(k[l>>2]|0,152,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){l=k[h>>2]|0;r=i;return l|0}k[(k[h>>2]|0)+44>>2]=k[e>>2];k[(k[h>>2]|0)+28>>2]=k[f>>2];j[(k[h>>2]|0)+32>>1]=j[g>>1]|0;l=k[h>>2]|0;r=i;return l|0}function AD(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+192|0;h=ca+24|0;p=ca+180|0;q=ca+176|0;s=ca+172|0;n=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;o=ca+152|0;H=ca+148|0;W=ca+144|0;_=ca+140|0;I=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;F=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;D=ca+72|0;T=ca+68|0;V=ca+64|0;C=ca+60|0;J=ca+56|0;y=ca;G=ca+52|0;N=ca+48|0;E=ca+44|0;K=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;k[q>>2]=a;k[s>>2]=b;k[n>>2]=c;k[t>>2]=d;k[u>>2]=e;j[v>>1]=f;k[w>>2]=g;k[_>>2]=k[(k[q>>2]|0)+8>>2];i[z>>0]=0;k[B>>2]=k[k[q>>2]>>2];k[Y>>2]=0;k[Y+4>>2]=0;k[Y+8>>2]=0;k[Y+12>>2]=0;k[Y+16>>2]=0;if((k[t>>2]|0)!=0?(k[k[t>>2]>>2]|0)>=64:0)k[t>>2]=0;k[Y+8>>2]=k[t>>2];if(m[(k[B>>2]|0)+64>>1]&32)j[v>>1]=m[v>>1]&-257;if((k[k[s>>2]>>2]|0)>64){ba=k[q>>2]|0;k[h>>2]=64;Oh(ba,34404,h);k[p>>2]=0;ba=k[p>>2]|0;r=ca;return ba|0}if(m[v>>1]&32)g=1;else g=k[k[s>>2]>>2]|0;k[H>>2]=g;k[o>>2]=832+(((k[H>>2]|0)-1|0)*80|0)+7&-8;f=dx(k[B>>2]|0,(k[o>>2]|0)+72|0,0)|0;k[W>>2]=f;a:do if(!(i[(k[B>>2]|0)+69>>0]|0)){k[k[W>>2]>>2]=k[q>>2];k[(k[W>>2]|0)+4>>2]=k[s>>2];k[(k[W>>2]|0)+8>>2]=k[t>>2];k[(k[W>>2]|0)+12>>2]=k[u>>2];k[(k[W>>2]|0)+20+4>>2]=-1;k[(k[W>>2]|0)+20>>2]=-1;i[(k[W>>2]|0)+42>>0]=k[H>>2];g=eA(k[_>>2]|0)|0;k[(k[W>>2]|0)+28>>2]=g;k[(k[W>>2]|0)+32>>2]=g;j[(k[W>>2]|0)+40>>1]=j[v>>1]|0;j[(k[W>>2]|0)+16>>1]=k[w>>2];k[(k[W>>2]|0)+36>>2]=k[(k[q>>2]|0)+136>>2];g=(k[W>>2]|0)+43|0;e=g+37|0;do{i[g>>0]=0;g=g+1|0}while((g|0)<(e|0));dS((k[W>>2]|0)+752|0,0,72+((k[H>>2]|0)*80|0)|0)|0;k[R>>2]=(k[W>>2]|0)+488;k[Y>>2]=k[W>>2];k[Y+4>>2]=(k[W>>2]|0)+80;k[Y+12>>2]=(k[W>>2]|0)+(k[o>>2]|0);ID(k[Y+12>>2]|0);k[k[R>>2]>>2]=0;LD((k[W>>2]|0)+80|0,k[W>>2]|0);MD((k[W>>2]|0)+80|0,k[n>>2]|0,28);k[F>>2]=0;while(1){g=(k[H>>2]|0)==0;if((k[F>>2]|0)>=(k[(k[Y+4>>2]|0)+12>>2]|0))break;if(!(!g?(LB(k[(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)>>2]|0)|0)==0:0)){sB(k[q>>2]|0,k[(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)>>2]|0,k[(k[W>>2]|0)+32>>2]|0,16);o=(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)+10|0;j[o>>1]=m[o>>1]|4}k[F>>2]=(k[F>>2]|0)+1}if(g){if(k[t>>2]|0)i[(k[W>>2]|0)+43>>0]=k[k[t>>2]>>2];if(m[v>>1]&256)i[(k[W>>2]|0)+47>>0]=1}k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[k[s>>2]>>2]|0))break;ND(k[R>>2]|0,k[(k[s>>2]|0)+8+((k[F>>2]|0)*72|0)+44>>2]|0);OD(k[q>>2]|0,(k[s>>2]|0)+8+((k[F>>2]|0)*72|0)|0,(k[W>>2]|0)+80|0);k[F>>2]=(k[F>>2]|0)+1}PD(k[s>>2]|0,(k[W>>2]|0)+80|0);if(!(i[(k[B>>2]|0)+69>>0]|0)){do if(m[v>>1]&256){if(QD(k[q>>2]|0,k[s>>2]|0,(k[W>>2]|0)+80|0,k[u>>2]|0)|0){i[(k[W>>2]|0)+47>>0]=1;break}if(!(k[t>>2]|0)){t=(k[W>>2]|0)+40|0;j[t>>1]=m[t>>1]|128;k[(k[W>>2]|0)+8>>2]=k[u>>2]}}while(0);if(!((k[H>>2]|0)==1?(RD(Y)|0)!=0:0)){t=SD(Y)|0;k[X>>2]=t;if(k[X>>2]|0)break;TD(k[W>>2]|0,0)|0;if(i[(k[B>>2]|0)+69>>0]|0)break;if((k[(k[W>>2]|0)+8>>2]|0)!=0?(TD(k[W>>2]|0,(j[(k[W>>2]|0)+72>>1]|0)+1&65535)|0,(i[(k[B>>2]|0)+69>>0]|0)!=0):0)break}if((k[(k[W>>2]|0)+8>>2]|0)==0?(k[(k[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(k[W>>2]|0)+64|0;k[X>>2]=-1;k[X+4>>2]=-1}if((k[(k[q>>2]|0)+36>>2]|0)==0?(l[(k[B>>2]|0)+69>>0]|0)==0:0){b:do if(((k[u>>2]|0)!=0?(l[(k[W>>2]|0)+42>>0]|0)>=2:0)?(m[(k[B>>2]|0)+64>>1]&1024|0)==0:0){u=UD(k[R>>2]|0,k[u>>2]|0)|0;X=Z;k[X>>2]=u;k[X+4>>2]=L;if(k[Y+8>>2]|0){u=UD(k[R>>2]|0,k[Y+8>>2]|0)|0;t=Z;R=k[t+4>>2]|L;X=Z;k[X>>2]=k[t>>2]|u;k[X+4>>2]=R}while(1){if((l[(k[W>>2]|0)+42>>0]|0)<2)break b;k[Q>>2]=k[(k[W>>2]|0)+752+(((l[(k[W>>2]|0)+42>>0]|0)-1|0)*80|0)+64>>2];if(!(l[(k[(k[W>>2]|0)+4>>2]|0)+8+((l[(k[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((m[v>>1]&256|0)==0?(k[(k[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(k[Q>>2]|0)+8|0;if((k[R>>2]&k[X>>2]|0)!=0?1:(k[R+4>>2]&k[X+4>>2]|0)!=0)break b;k[M>>2]=(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[(k[Y+4>>2]|0)+12>>2]|0)*48|0);k[U>>2]=k[(k[Y+4>>2]|0)+20>>2];while(1){if((k[U>>2]|0)>>>0>=(k[M>>2]|0)>>>0)break;R=(k[U>>2]|0)+40|0;X=(k[Q>>2]|0)+8|0;if(((k[R>>2]&k[X>>2]|0)!=0?1:(k[R+4>>2]&k[X+4>>2]|0)!=0)?(k[(k[k[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;k[U>>2]=(k[U>>2]|0)+48}if((k[U>>2]|0)>>>0<(k[M>>2]|0)>>>0)break b;X=(k[W>>2]|0)+42|0;i[X>>0]=(i[X>>0]|0)+-1<<24>>24;k[H>>2]=(k[H>>2]|0)+-1}}while(0);Z=(k[k[W>>2]>>2]|0)+136|0;k[Z>>2]=(k[Z>>2]|0)+(j[(k[W>>2]|0)+72>>1]|0);do if(m[v>>1]&4){k[$>>2]=k[(k[(k[W>>2]|0)+752+64>>2]|0)+36>>2];k[A>>2]=(k[$>>2]&4096|0)!=0&1;if(!(k[A>>2]|0)){if(!(m[v>>1]&8))break;if(k[$>>2]&1024)break}i[(k[W>>2]|0)+45>>0]=(k[A>>2]|0)!=0?1:2;if((l[(k[(k[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(k[$>>2]&64|0)!=0:0){if(m[v>>1]&8)i[z>>0]=8;k[(k[(k[W>>2]|0)+752+64>>2]|0)+36>>2]=k[$>>2]&-65}}while(0);k[F>>2]=0;k[P>>2]=(k[W>>2]|0)+752;while(1){if((k[F>>2]|0)>=(k[H>>2]|0))break;k[T>>2]=(k[s>>2]|0)+8+((l[(k[P>>2]|0)+44>>0]|0)*72|0);k[S>>2]=k[(k[T>>2]|0)+16>>2];$=Ph(k[B>>2]|0,k[(k[S>>2]|0)+64>>2]|0)|0;k[D>>2]=$;k[Q>>2]=k[(k[P>>2]|0)+64>>2];c:do if((l[(k[S>>2]|0)+42>>0]&2|0)==0?(k[(k[S>>2]|0)+12>>2]|0)==0:0){if(k[(k[Q>>2]|0)+36>>2]&1024){$=cy(k[B>>2]|0,k[S>>2]|0)|0;k[V>>2]=$;k[C>>2]=k[(k[T>>2]|0)+44>>2];wx(k[_>>2]|0,155,k[C>>2]|0,0,0,k[V>>2]|0,-10)|0;break}if(l[(k[S>>2]|0)+42>>0]&16)break;do if(!(k[(k[Q>>2]|0)+36>>2]&64)){if(m[v>>1]&32)break;k[J>>2]=104;if(l[(k[W>>2]|0)+45>>0]|0){k[J>>2]=105;k[(k[W>>2]|0)+20>>2]=k[(k[T>>2]|0)+44>>2]}cA(k[q>>2]|0,k[(k[T>>2]|0)+44>>2]|0,k[D>>2]|0,k[S>>2]|0,k[J>>2]|0);do if(!(l[(k[W>>2]|0)+45>>0]|0)){if((j[(k[S>>2]|0)+34>>1]|0)>=64)break;if(l[(k[S>>2]|0)+42>>0]&32)break;Y=(k[T>>2]|0)+56|0;Z=k[Y+4>>2]|0;$=y;k[$>>2]=k[Y>>2];k[$+4>>2]=Z;k[G>>2]=0;while(1){$=y;if(!((k[$>>2]|0)!=0|(k[$+4>>2]|0)!=0))break;Z=y;Z=aS(k[Z>>2]|0,k[Z+4>>2]|0,1)|0;$=y;k[$>>2]=Z;k[$+4>>2]=L;k[G>>2]=(k[G>>2]|0)+1}Wh(k[_>>2]|0,-1,k[G>>2]|0,-14)}while(0);Th(k[_>>2]|0,i[z>>0]|0);break c}while(0);bA(k[q>>2]|0,k[D>>2]|0,k[(k[S>>2]|0)+28>>2]|0,0,k[k[S>>2]>>2]|0)}while(0);do if(k[(k[Q>>2]|0)+36>>2]&512){k[N>>2]=k[(k[Q>>2]|0)+24+8>>2];k[K>>2]=104;do if(!(l[(k[S>>2]|0)+42>>0]&32))ba=93;else{if((i[(k[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(m[v>>1]&32)){ba=93;break}k[E>>2]=k[(k[P>>2]|0)+4>>2];k[K>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(!(l[(k[W>>2]|0)+45>>0]|0)){do if(k[w>>2]|0){if(!(m[v>>1]&32))break;k[E>>2]=k[w>>2];k[K>>2]=103;break d}while(0);Z=(k[q>>2]|0)+40|0;$=k[Z>>2]|0;k[Z>>2]=$+1;k[E>>2]=$;break}k[O>>2]=k[(k[(k[T>>2]|0)+16>>2]|0)+8>>2];k[E>>2]=k[w>>2];while(1){if(!(k[O>>2]|0))break;if((k[O>>2]|0)==(k[N>>2]|0))break;k[E>>2]=(k[E>>2]|0)+1;k[O>>2]=k[(k[O>>2]|0)+20>>2]}k[K>>2]=105;k[(k[W>>2]|0)+20+4>>2]=k[E>>2]}while(0);k[(k[P>>2]|0)+8>>2]=k[E>>2];if(!(k[K>>2]|0))break;tx(k[_>>2]|0,k[K>>2]|0,k[E>>2]|0,k[(k[N>>2]|0)+44>>2]|0,k[D>>2]|0)|0;dA(k[q>>2]|0,k[N>>2]|0);if(!(k[(k[Q>>2]|0)+36>>2]&15))break;if(k[(k[Q>>2]|0)+36>>2]&32770)break;if(m[(k[W>>2]|0)+40>>1]&1)break;Th(k[_>>2]|0,2)}while(0);if((k[D>>2]|0)>=0)Cx(k[q>>2]|0,k[D>>2]|0);k[F>>2]=(k[F>>2]|0)+1;k[P>>2]=(k[P>>2]|0)+80}ba=Gx(k[_>>2]|0)|0;k[(k[W>>2]|0)+52>>2]=ba;if(!(i[(k[B>>2]|0)+69>>0]|0)){ba=I;k[ba>>2]=-1;k[ba+4>>2]=-1;k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[H>>2]|0))break;k[P>>2]=(k[W>>2]|0)+752+((k[F>>2]|0)*80|0);k[aa>>2]=k[(k[(k[P>>2]|0)+64>>2]|0)+36>>2];if((k[(k[(k[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=I,VD(k[q>>2]|0,(k[W>>2]|0)+80|0,(k[s>>2]|0)+8+((l[(k[P>>2]|0)+44>>0]|0)*72|0)|0,k[ba>>2]|0,k[ba+4>>2]|0,k[P>>2]|0),(i[(k[B>>2]|0)+69>>0]|0)!=0):0)break a;$=WD(k[q>>2]|0,k[s>>2]|0,k[P>>2]|0,k[F>>2]|0,l[(k[P>>2]|0)+44>>0]|0,j[v>>1]|0)|0;k[x>>2]=$;$=Gx(k[_>>2]|0)|0;k[(k[P>>2]|0)+32>>2]=$;$=I;$=XD(k[W>>2]|0,k[F>>2]|0,k[$>>2]|0,k[$+4>>2]|0)|0;ba=I;k[ba>>2]=$;k[ba+4>>2]=L;k[(k[W>>2]|0)+28>>2]=k[(k[P>>2]|0)+24>>2];do if((k[aa>>2]&8192|0)==0?(m[v>>1]&32|0)!=0:0)break;while(0);k[F>>2]=(k[F>>2]|0)+1}k[p>>2]=k[W>>2];ba=k[p>>2]|0;r=ca;return ba|0}}}}else{bg(k[B>>2]|0,k[W>>2]|0);k[W>>2]=0}while(0);if(k[W>>2]|0){k[(k[q>>2]|0)+136>>2]=k[(k[W>>2]|0)+36>>2];DD(k[B>>2]|0,k[W>>2]|0)}k[p>>2]=0;ba=k[p>>2]|0;r=ca;return ba|0}function BD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;g=E+80|0;v=E+76|0;A=E+72|0;n=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;h=E+52|0;c=E+48|0;e=E+44|0;d=E+40|0;f=E+36|0;o=E+32|0;p=E+28|0;u=E+24|0;q=E+20|0;y=E+16|0;x=E+12|0;B=E+8|0;C=E+4|0;w=E;k[g>>2]=a;k[v>>2]=k[k[g>>2]>>2];k[A>>2]=k[(k[v>>2]|0)+8>>2];k[z>>2]=k[(k[g>>2]|0)+4>>2];k[h>>2]=k[k[v>>2]>>2];OC(k[v>>2]|0);k[n>>2]=(l[(k[g>>2]|0)+42>>0]|0)-1;while(1){if((k[n>>2]|0)<0)break;k[s>>2]=(k[g>>2]|0)+752+((k[n>>2]|0)*80|0);k[t>>2]=k[(k[s>>2]|0)+64>>2];iA(k[A>>2]|0,k[(k[s>>2]|0)+24>>2]|0);if((l[(k[s>>2]|0)+45>>0]|0)!=161){tx(k[A>>2]|0,l[(k[s>>2]|0)+45>>0]|0,k[(k[s>>2]|0)+48>>2]|0,k[(k[s>>2]|0)+52>>2]|0,l[(k[s>>2]|0)+46>>0]|0)|0;Th(k[A>>2]|0,i[(k[s>>2]|0)+47>>0]|0)}a:do if((k[(k[t>>2]|0)+36>>2]&2048|0)!=0?(k[(k[s>>2]|0)+56>>2]|0)>0:0){iA(k[A>>2]|0,k[(k[s>>2]|0)+16>>2]|0);k[d>>2]=k[(k[s>>2]|0)+56>>2];k[e>>2]=(k[(k[s>>2]|0)+56+4>>2]|0)+(((k[d>>2]|0)-1|0)*12|0);while(1){if((k[d>>2]|0)<=0)break a;hA(k[A>>2]|0,(k[(k[e>>2]|0)+4>>2]|0)+1|0);if((l[(k[e>>2]|0)+8>>0]|0)!=161)sx(k[A>>2]|0,l[(k[e>>2]|0)+8>>0]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;hA(k[A>>2]|0,(k[(k[e>>2]|0)+4>>2]|0)-1|0);k[d>>2]=(k[d>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+-12}}while(0);iA(k[A>>2]|0,k[(k[s>>2]|0)+12>>2]|0);if(k[(k[s>>2]|0)+20>>2]|0){gA(k[A>>2]|0,k[(k[s>>2]|0)+20>>2]|0)|0;hA(k[A>>2]|0,k[(k[s>>2]|0)+20>>2]|0);hA(k[A>>2]|0,(k[(k[s>>2]|0)+20>>2]|0)-2|0)}if(k[(k[s>>2]|0)+40>>2]|0)sx(k[A>>2]|0,68,(k[(k[s>>2]|0)+36>>2]|0)>>>1,k[(k[s>>2]|0)+40>>2]|0)|0;if(k[k[s>>2]>>2]|0){k[f>>2]=k[(k[t>>2]|0)+36>>2];b=aA(k[A>>2]|0,66,k[k[s>>2]>>2]|0)|0;k[c>>2]=b;if(!(k[f>>2]&64))aA(k[A>>2]|0,124,k[(k[z>>2]|0)+8+((k[n>>2]|0)*72|0)+44>>2]|0)|0;if(!(k[f>>2]&512)){if((k[f>>2]&8192|0)!=0?(k[(k[s>>2]|0)+56>>2]|0)!=0:0)D=22}else D=22;if((D|0)==22){D=0;aA(k[A>>2]|0,124,k[(k[s>>2]|0)+8>>2]|0)|0}a=k[A>>2]|0;b=k[s>>2]|0;if((l[(k[s>>2]|0)+45>>0]|0)==72)sx(a,14,k[b+48>>2]|0,k[(k[s>>2]|0)+28>>2]|0)|0;else gA(a,k[b+28>>2]|0)|0;hA(k[A>>2]|0,k[c>>2]|0)}k[n>>2]=(k[n>>2]|0)+-1}iA(k[A>>2]|0,k[(k[g>>2]|0)+32>>2]|0);k[n>>2]=0;k[s>>2]=(k[g>>2]|0)+752;while(1){if((k[n>>2]|0)>=(l[(k[g>>2]|0)+42>>0]|0))break;k[q>>2]=0;k[y>>2]=(k[z>>2]|0)+8+((l[(k[s>>2]|0)+44>>0]|0)*72|0);k[x>>2]=k[(k[y>>2]|0)+16>>2];k[t>>2]=k[(k[s>>2]|0)+64>>2];if(((l[(k[y>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(i[(k[h>>2]|0)+69>>0]|0)==0:0)CD(k[A>>2]|0,k[(k[s>>2]|0)+32>>2]|0,k[(k[s>>2]|0)+4>>2]|0,k[(k[y>>2]|0)+32>>2]|0,0);else D=33;b:do if((D|0)==33){D=0;if(((l[(k[x>>2]|0)+42>>0]&2|0)==0?(k[(k[x>>2]|0)+12>>2]|0)==0:0)?(m[(k[g>>2]|0)+40>>1]&32|0)==0:0){k[B>>2]=k[(k[t>>2]|0)+36>>2];if((l[(k[g>>2]|0)+45>>0]|0)==0?(k[B>>2]&64|0)==0:0)aA(k[A>>2]|0,111,k[(k[y>>2]|0)+44>>2]|0)|0;if(((k[B>>2]&512|0)!=0?(k[B>>2]&16640|0)==0:0)?(k[(k[s>>2]|0)+8>>2]|0)!=(k[(k[g>>2]|0)+20+4>>2]|0):0)aA(k[A>>2]|0,111,k[(k[s>>2]|0)+8>>2]|0)|0}a=k[t>>2]|0;if(!(k[(k[t>>2]|0)+36>>2]&576)){if(k[a+36>>2]&8192)k[q>>2]=k[(k[s>>2]|0)+56>>2]}else k[q>>2]=k[a+24+8>>2];if(k[q>>2]|0){if((l[(k[g>>2]|0)+45>>0]|0)!=0?(l[(k[(k[q>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(i[(k[h>>2]|0)+69>>0]|0)){f=Gx(k[A>>2]|0)|0;k[p>>2]=f;k[o>>2]=k[(k[s>>2]|0)+32>>2];f=oA(k[A>>2]|0,k[o>>2]|0)|0;k[u>>2]=f;while(1){if((k[o>>2]|0)>=(k[p>>2]|0))break b;do if((k[(k[u>>2]|0)+4>>2]|0)==(k[(k[s>>2]|0)+4>>2]|0)){a=k[u>>2]|0;if((l[k[u>>2]>>0]|0)!=96){if((l[a>>0]|0)!=123)break;k[(k[u>>2]|0)+4>>2]=k[(k[s>>2]|0)+8>>2];i[k[u>>2]>>0]=-127;break}k[C>>2]=k[a+8>>2];if(l[(k[x>>2]|0)+42>>0]&32){f=Tj(k[x>>2]|0)|0;k[w>>2]=f;k[C>>2]=j[(k[(k[w>>2]|0)+4>>2]|0)+(k[C>>2]<<1)>>1]}f=(YA(k[q>>2]|0,k[C>>2]&65535)|0)<<16>>16;k[C>>2]=f;if((k[C>>2]|0)>=0){k[(k[u>>2]|0)+8>>2]=k[C>>2];k[(k[u>>2]|0)+4>>2]=k[(k[s>>2]|0)+8>>2]}}while(0);k[o>>2]=(k[o>>2]|0)+1;k[u>>2]=(k[u>>2]|0)+20}}}}while(0);k[n>>2]=(k[n>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+80}k[(k[v>>2]|0)+136>>2]=k[(k[g>>2]|0)+36>>2];DD(k[h>>2]|0,k[g>>2]|0);r=E;return}function CD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;p=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;j=o+8|0;n=o+4|0;m=o;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=e;a=oA(k[p>>2]|0,k[f>>2]|0)|0;k[n>>2]=a;a=Gx(k[p>>2]|0)|0;k[m>>2]=a;while(1){if((k[f>>2]|0)>=(k[m>>2]|0))break;do if((k[(k[n>>2]|0)+4>>2]|0)==(k[g>>2]|0)){e=k[n>>2]|0;if((l[k[n>>2]>>0]|0|0)==96){i[e>>0]=84;k[(k[n>>2]|0)+4>>2]=(k[(k[n>>2]|0)+8>>2]|0)+(k[h>>2]|0);k[(k[n>>2]|0)+8>>2]=k[(k[n>>2]|0)+12>>2];k[(k[n>>2]|0)+12>>2]=0;break}if((l[e>>0]|0|0)==123){e=k[n>>2]|0;if(k[j>>2]|0){i[e>>0]=91;k[(k[n>>2]|0)+4>>2]=k[(k[n>>2]|0)+8>>2];k[(k[n>>2]|0)+8>>2]=1;break}else{i[e>>0]=79;k[(k[n>>2]|0)+4>>2]=0;k[(k[n>>2]|0)+12>>2]=0;break}}}while(0);k[f>>2]=(k[f>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+20}r=o;return}function DD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=h;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(l[(k[d>>2]|0)+42>>0]|0|0))break;k[g>>2]=(k[d>>2]|0)+752+((k[e>>2]|0)*80|0);if((k[(k[g>>2]|0)+64>>2]|0)!=0?(k[(k[(k[g>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)bg(k[c>>2]|0,k[(k[g>>2]|0)+56+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}ED((k[d>>2]|0)+80|0);while(1){if(!(k[(k[d>>2]|0)+56>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+56>>2];k[(k[d>>2]|0)+56>>2]=k[(k[f>>2]|0)+52>>2];FD(k[c>>2]|0,k[f>>2]|0)}bg(k[c>>2]|0,k[d>>2]|0);r=h;return}function ED(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[d>>2]=k[k[k[k[b>>2]>>2]>>2]>>2];k[e>>2]=(k[(k[b>>2]|0)+12>>2]|0)-1;k[c>>2]=k[(k[b>>2]|0)+20>>2];while(1){if((k[e>>2]|0)<0)break;if((m[(k[c>>2]|0)+10>>1]|0)&1)sv(k[d>>2]|0,k[k[c>>2]>>2]|0);if(!((m[(k[c>>2]|0)+10>>1]|0)&16)){if((m[(k[c>>2]|0)+10>>1]|0)&32)KD(k[d>>2]|0,k[(k[c>>2]|0)+28>>2]|0)}else JD(k[d>>2]|0,k[(k[c>>2]|0)+28>>2]|0);k[e>>2]=(k[e>>2]|0)+-1;k[c>>2]=(k[c>>2]|0)+48}if((k[(k[b>>2]|0)+20>>2]|0)==((k[b>>2]|0)+24|0)){r=f;return}bg(k[d>>2]|0,k[(k[b>>2]|0)+20>>2]|0);r=f;return}function FD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;GD(k[e>>2]|0,k[d>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function GD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[(k[d>>2]|0)+48>>2]|0)!=((k[d>>2]|0)+56|0))bg(k[c>>2]|0,k[(k[d>>2]|0)+48>>2]|0);HD(k[c>>2]|0,k[d>>2]|0);ID(k[d>>2]|0);r=e;return}function HD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+36>>2]&17408)){r=e;return}if((k[(k[d>>2]|0)+36>>2]&1024|0)!=0?(l[(k[d>>2]|0)+24+4>>0]|0|0)!=0:0){Ud(k[(k[d>>2]|0)+24+8>>2]|0);i[(k[d>>2]|0)+24+4>>0]=0;k[(k[d>>2]|0)+24+8>>2]=0;r=e;return}if(!(k[(k[d>>2]|0)+36>>2]&16384)){r=e;return}if(!(k[(k[d>>2]|0)+24+8>>2]|0)){r=e;return}bg(k[c>>2]|0,k[(k[(k[d>>2]|0)+24+8>>2]|0)+16>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+24+8>>2]|0);k[(k[d>>2]|0)+24+8>>2]=0;r=e;return}function ID(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+48>>2]=(k[c>>2]|0)+56;j[(k[c>>2]|0)+40>>1]=0;j[(k[c>>2]|0)+44>>1]=3;k[(k[c>>2]|0)+36>>2]=0;r=b;return}function JD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;ED(k[d>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function KD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;ED(k[d>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function LD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[k[d>>2]>>2]=k[e>>2];k[(k[d>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+16>>2]=8;k[(k[d>>2]|0)+20>>2]=(k[d>>2]|0)+24;r=c;return}function MD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+8|0;e=h+4|0;f=h+12|0;g=h;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;a=uy(k[e>>2]|0)|0;k[g>>2]=a;i[(k[d>>2]|0)+8>>0]=i[f>>0]|0;if(!(k[g>>2]|0)){r=h;return}c=k[d>>2]|0;if((l[k[g>>2]>>0]|0|0)!=(l[f>>0]|0|0)){eF(c,k[e>>2]|0,0)|0;r=h;return}else{MD(c,k[(k[g>>2]|0)+12>>2]|0,i[f>>0]|0);MD(k[d>>2]|0,k[(k[g>>2]|0)+16>>2]|0,i[f>>0]|0);r=h;return}}function ND(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;b=k[e>>2]|0;e=k[d>>2]|0;a=k[e>>2]|0;k[e>>2]=a+1;k[(k[d>>2]|0)+4+(a<<2)>>2]=b;r=c;return}function OD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;d=q+40|0;e=q+36|0;f=q+32|0;o=q+28|0;n=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;m=q+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1)){r=q;return}k[o>>2]=k[(k[e>>2]|0)+16>>2];k[h>>2]=k[(k[e>>2]|0)+64>>2];if(!(k[h>>2]|0)){r=q;return}k[g>>2]=0;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[k[h>>2]>>2]|0)){b=13;break}while(1){if((k[g>>2]|0)<(j[(k[o>>2]|0)+34>>1]|0))b=(l[(k[(k[o>>2]|0)+4>>2]|0)+(k[g>>2]<<4)+15>>0]&2|0)==0;else b=0;a=k[g>>2]|0;if(!b)break;k[g>>2]=a+1}c=k[d>>2]|0;if((a|0)>=(j[(k[o>>2]|0)+34>>1]|0)){b=10;break}c=tw(k[c>>2]|0,152,0,0)|0;k[i>>2]=c;if(!(k[i>>2]|0)){b=13;break}k[(k[i>>2]|0)+28>>2]=k[(k[e>>2]|0)+44>>2];a=k[g>>2]|0;k[g>>2]=a+1;j[(k[i>>2]|0)+32>>1]=a;k[(k[i>>2]|0)+44>>2]=k[o>>2];a=k[d>>2]|0;c=k[i>>2]|0;c=Ov(a,37,c,Sy(k[k[d>>2]>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,0)|0,0)|0;k[m>>2]=c;eF(k[f>>2]|0,k[m>>2]|0,1)|0;k[n>>2]=(k[n>>2]|0)+1}if((b|0)==10){n=k[n>>2]|0;k[p>>2]=k[k[o>>2]>>2];k[p+4>>2]=n;Oh(c,34848,p);r=q;return}else if((b|0)==13){r=q;return}}function PD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[(k[d>>2]|0)+12>>2]|0)-1;while(1){if((k[e>>2]|0)<0)break;aF(k[c>>2]|0,k[d>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+-1}r=f;return}function QD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;e=u+36|0;f=u+32|0;g=u+28|0;h=u+24|0;i=u+20|0;s=u+16|0;q=u+12|0;n=u+8|0;o=u+4|0;p=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if((k[k[g>>2]>>2]|0)!=1){k[e>>2]=0;t=k[e>>2]|0;r=u;return t|0}k[o>>2]=k[(k[g>>2]|0)+8+44>>2];k[s>>2]=k[(k[g>>2]|0)+8+16>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[k[i>>2]>>2]|0))break;c=uy(k[(k[(k[i>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0)|0;k[p>>2]=c;if(((l[k[p>>2]>>0]|0)==152?(k[(k[p>>2]|0)+28>>2]|0)==(k[o>>2]|0):0)?(j[(k[p>>2]|0)+32>>1]|0)<0:0){t=8;break}k[n>>2]=(k[n>>2]|0)+1}if((t|0)==8){k[e>>2]=1;t=k[e>>2]|0;r=u;return t|0}k[q>>2]=k[(k[s>>2]|0)+8>>2];while(1){if(!(k[q>>2]|0)){t=22;break}if(l[(k[q>>2]|0)+54>>0]|0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[q>>2]|0)+50>>1]|0))break;if(!(hE(k[h>>2]|0,k[o>>2]|0,k[n>>2]|0,-1,-1,2,k[q>>2]|0)|0)){if(($E(k[f>>2]|0,k[i>>2]|0,k[o>>2]|0,k[q>>2]|0,k[n>>2]|0)|0)<0)break;if(!(RE(k[q>>2]|0,k[n>>2]|0)|0))break}k[n>>2]=(k[n>>2]|0)+1}if((k[n>>2]|0)==(m[(k[q>>2]|0)+50>>1]|0)){t=20;break}}k[q>>2]=k[(k[q>>2]|0)+20>>2]}if((t|0)==20){k[e>>2]=1;t=k[e>>2]|0;r=u;return t|0}else if((t|0)==22){k[e>>2]=0;t=k[e>>2]|0;r=u;return t|0}return 0}function RD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;b=t+44|0;c=t+40|0;s=t+36|0;h=t+32|0;q=t+28|0;p=t+24|0;n=t+20|0;d=t+16|0;e=t+12|0;o=t+8|0;g=t+4|0;f=t;k[c>>2]=a;k[s>>2]=k[k[c>>2]>>2];if((m[(k[s>>2]|0)+40>>1]|0)&32){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}k[h>>2]=(k[(k[s>>2]|0)+4>>2]|0)+8;k[o>>2]=k[(k[h>>2]|0)+16>>2];if((l[(k[o>>2]|0)+42>>0]|0)&16){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}if((l[(k[h>>2]|0)+36+1>>0]|0)>>>1&1){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}k[d>>2]=k[(k[h>>2]|0)+44>>2];k[q>>2]=(k[s>>2]|0)+80;k[n>>2]=k[(k[c>>2]|0)+12>>2];k[(k[n>>2]|0)+36>>2]=0;j[(k[n>>2]|0)+42>>1]=0;a=hE(k[q>>2]|0,k[d>>2]|0,-1,0,0,130,0)|0;k[p>>2]=a;a:do if(k[p>>2]|0){k[(k[n>>2]|0)+36>>2]=4353;k[k[(k[n>>2]|0)+48>>2]>>2]=k[p>>2];j[(k[n>>2]|0)+40>>1]=1;j[(k[n>>2]|0)+24>>1]=1;j[(k[n>>2]|0)+20>>1]=33}else{k[g>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break a;if(((l[(k[g>>2]|0)+54>>0]|0|0)!=0?(k[(k[g>>2]|0)+36>>2]|0)==0:0)?(m[(k[g>>2]|0)+50>>1]|0|0)<=3:0){k[f>>2]=((l[(k[g>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[g>>2]|0)+50>>1]|0|0))break;o=hE(k[q>>2]|0,k[d>>2]|0,k[e>>2]|0,0,0,k[f>>2]|0,k[g>>2]|0)|0;k[p>>2]=o;if(!(k[p>>2]|0))break;k[(k[(k[n>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]=k[p>>2];k[e>>2]=(k[e>>2]|0)+1}if((k[e>>2]|0)==(m[(k[g>>2]|0)+50>>1]|0|0))break}k[g>>2]=k[(k[g>>2]|0)+20>>2]}k[(k[n>>2]|0)+36>>2]=4609;if(!(((l[(k[g>>2]|0)+55>>0]|0)>>>5&1|0)==0?(q=(k[h>>2]|0)+56|0,o=k[q>>2]|0,q=k[q+4>>2]|0,p=OE(k[g>>2]|0)|0,!((o&~p|0)==0&(q&~L|0)==0)):0)){q=(k[n>>2]|0)+36|0;k[q>>2]=k[q>>2]|64}j[(k[n>>2]|0)+40>>1]=k[e>>2];j[(k[n>>2]|0)+24>>1]=k[e>>2];k[(k[n>>2]|0)+24+8>>2]=k[g>>2];j[(k[n>>2]|0)+20>>1]=39}while(0);if(!(k[(k[n>>2]|0)+36>>2]|0)){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}j[(k[n>>2]|0)+22>>1]=1;k[(k[s>>2]|0)+752+64>>2]=k[n>>2];p=YD((k[s>>2]|0)+488|0,k[d>>2]|0)|0;q=(k[n>>2]|0)+8|0;k[q>>2]=p;k[q+4>>2]=L;k[(k[s>>2]|0)+752+4>>2]=k[d>>2];j[(k[s>>2]|0)+72>>1]=1;if(k[(k[s>>2]|0)+8>>2]|0)i[(k[s>>2]|0)+43>>0]=k[k[(k[s>>2]|0)+8>>2]>>2];if((m[(k[s>>2]|0)+40>>1]|0)&256)i[(k[s>>2]|0)+47>>0]=1;k[b>>2]=1;s=k[b>>2]|0;r=t;return s|0}function SD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=r;r=r+80|0;b=s+60|0;m=s+56|0;d=s+16|0;e=s+8|0;c=s+52|0;t=s+48|0;j=s+44|0;h=s+40|0;o=s+36|0;q=s+32|0;p=s+28|0;n=s+64|0;f=s;g=s+24|0;k[b>>2]=a;k[m>>2]=k[k[b>>2]>>2];a=d;k[a>>2]=0;k[a+4>>2]=0;a=e;k[a>>2]=0;k[a+4>>2]=0;k[t>>2]=k[(k[m>>2]|0)+4>>2];k[h>>2]=(k[t>>2]|0)+8+((l[(k[m>>2]|0)+42>>0]|0)*72|0);k[o>>2]=k[k[k[m>>2]>>2]>>2];k[q>>2]=0;i[n>>0]=0;k[p>>2]=k[(k[b>>2]|0)+12>>2];ID(k[p>>2]|0);k[c>>2]=0;k[j>>2]=(k[t>>2]|0)+8;while(1){if((k[j>>2]|0)>>>0>=(k[h>>2]|0)>>>0){b=19;break}a=f;k[a>>2]=0;k[a+4>>2]=0;i[(k[p>>2]|0)+16>>0]=k[c>>2];a=YD((k[m>>2]|0)+488|0,k[(k[j>>2]|0)+44>>2]|0)|0;t=(k[p>>2]|0)+8|0;k[t>>2]=a;k[t+4>>2]=L;if((l[(k[j>>2]|0)+36>>0]|0|(l[n>>0]|0))&10){u=e;a=k[u+4>>2]|0;t=d;k[t>>2]=k[u>>2];k[t+4>>2]=a}i[n>>0]=i[(k[j>>2]|0)+36>>0]|0;if((l[(k[(k[j>>2]|0)+16>>2]|0)+42>>0]|0)&16){k[g>>2]=(k[j>>2]|0)+72;while(1){if((k[g>>2]|0)>>>0>=(k[h>>2]|0)>>>0)break;u=f;if(!(!((k[u>>2]|0)!=0|(k[u+4>>2]|0)!=0)?((l[(k[g>>2]|0)+36>>0]|0)&10|0)==0:0)){a=YD((k[m>>2]|0)+488|0,k[(k[g>>2]|0)+44>>2]|0)|0;v=f;t=k[v+4>>2]|L;u=f;k[u>>2]=k[v>>2]|a;k[u+4>>2]=t}k[g>>2]=(k[g>>2]|0)+72}u=d;v=f;v=BE(k[b>>2]|0,k[u>>2]|0,k[u+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}else{v=d;v=CE(k[b>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}if(!(k[q>>2]|0)){u=d;v=f;v=DE(k[b>>2]|0,k[u>>2]|0,k[u+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}t=(k[p>>2]|0)+8|0;a=e;u=k[a+4>>2]|k[t+4>>2];v=e;k[v>>2]=k[a>>2]|k[t>>2];k[v+4>>2]=u;if(k[q>>2]|0){b=19;break}if(l[(k[o>>2]|0)+69>>0]|0){b=19;break}k[c>>2]=(k[c>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+72}if((b|0)==19){GD(k[o>>2]|0,k[p>>2]|0);r=s;return k[q>>2]|0}return 0}function TD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+176|0;E=X+40|0;M=X+148|0;N=X+144|0;G=X+162|0;q=X+140|0;Q=X+136|0;z=X+132|0;O=X+128|0;H=X+124|0;h=X+120|0;o=X+116|0;t=X+112|0;w=X+108|0;s=X+160|0;u=X+158|0;y=X+104|0;v=X+100|0;e=X+96|0;g=X+92|0;S=X+88|0;A=X+84|0;K=X+80|0;d=X+76|0;f=X+72|0;T=X+68|0;c=X+64|0;x=X+156|0;B=X+154|0;C=X+152|0;n=X+164|0;p=X+32|0;D=X+24|0;J=X+60|0;I=X+16|0;L=X+56|0;W=X+52|0;P=X+8|0;U=X+48|0;V=X;R=X+44|0;k[N>>2]=a;j[G>>1]=b;k[t>>2]=0;j[s>>1]=0;j[u>>1]=0;k[f>>2]=0;k[z>>2]=k[k[N>>2]>>2];k[O>>2]=k[k[z>>2]>>2];k[Q>>2]=l[(k[N>>2]|0)+42>>0];if((k[Q>>2]|0)<=1)b=1;else b=(k[Q>>2]|0)==2?5:10;k[q>>2]=b;if((k[(k[N>>2]|0)+8>>2]|0)!=0?(j[G>>1]|0)!=0:0)k[w>>2]=k[k[(k[N>>2]|0)+8>>2]>>2];else k[w>>2]=0;a=(ha(32+(k[Q>>2]<<2)|0,k[q>>2]|0)|0)<<1;k[c>>2]=a;k[c>>2]=(k[c>>2]|0)+(k[w>>2]<<1);c=k[c>>2]|0;c=dx(k[O>>2]|0,c,((c|0)<0)<<31>>31)|0;k[T>>2]=c;if(!(k[T>>2]|0)){k[M>>2]=7;W=k[M>>2]|0;r=X;return W|0}k[g>>2]=k[T>>2];k[e>>2]=(k[g>>2]|0)+(k[q>>2]<<5);c=k[e>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[c+24>>2]=0;k[c+28>>2]=0;k[d>>2]=(k[e>>2]|0)+(k[q>>2]<<5);k[h>>2]=k[q>>2]<<1;k[S>>2]=k[g>>2];while(1){if((k[h>>2]|0)<=0)break;k[(k[S>>2]|0)+24>>2]=k[d>>2];k[h>>2]=(k[h>>2]|0)+-1;k[S>>2]=(k[S>>2]|0)+32;k[d>>2]=(k[d>>2]|0)+(k[Q>>2]<<2)}if(k[w>>2]|0){k[f>>2]=k[d>>2];dS(k[f>>2]|0,0,k[w>>2]<<1|0)|0}if((k[(k[z>>2]|0)+136>>2]|0)>>>0<48)b=k[(k[z>>2]|0)+136>>2]|0;else b=48;j[(k[e>>2]|0)+16>>1]=b;k[v>>2]=1;if(k[w>>2]|0)i[(k[e>>2]|0)+22>>0]=(k[Q>>2]|0)>0?-1:k[w>>2]|0;k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[Q>>2]|0))break;k[y>>2]=0;k[h>>2]=0;k[S>>2]=k[e>>2];while(1){if((k[h>>2]|0)>=(k[v>>2]|0))break;k[K>>2]=k[(k[N>>2]|0)+56>>2];while(1){if(!(k[K>>2]|0))break;i[n>>0]=i[(k[S>>2]|0)+22>>0]|0;c=D;k[c>>2]=0;k[c+4>>2]=0;c=k[K>>2]|0;d=k[S>>2]|0;a:do if(!((k[c>>2]&~k[d>>2]|0)!=0?1:(k[c+4>>2]&~k[d+4>>2]|0)!=0)?(c=(k[K>>2]|0)+8|0,d=k[S>>2]|0,!((k[c>>2]&k[d>>2]|0)!=0?1:(k[c+4>>2]&k[d+4>>2]|0)!=0)):0){if((k[(k[K>>2]|0)+36>>2]&16384|0)!=0?(j[(k[S>>2]|0)+16>>1]|0)<10:0)break;b=xE(j[(k[K>>2]|0)+18>>1]|0,(j[(k[K>>2]|0)+20>>1]|0)+(j[(k[S>>2]|0)+16>>1]|0)&65535)|0;j[C>>1]=b;b=xE(j[C>>1]|0,j[(k[S>>2]|0)+20>>1]|0)|0;j[C>>1]=b;j[x>>1]=(j[(k[S>>2]|0)+16>>1]|0)+(j[(k[K>>2]|0)+22>>1]|0);b=k[S>>2]|0;a=(k[K>>2]|0)+8|0;c=k[b+4>>2]|k[a+4>>2];d=p;k[d>>2]=k[b>>2]|k[a>>2];k[d+4>>2]=c;if((i[n>>0]|0)<0){d=yE(k[N>>2]|0,k[(k[N>>2]|0)+8>>2]|0,k[S>>2]|0,j[(k[N>>2]|0)+40>>1]|0,k[H>>2]&65535,k[K>>2]|0,D)|0;i[n>>0]=d}else{a=(k[S>>2]|0)+8|0;c=k[a+4>>2]|0;d=D;k[d>>2]=k[a>>2];k[d+4>>2]=c}if((i[n>>0]|0)>=0?(i[n>>0]|0)<(k[w>>2]|0):0){if(!(j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]|0)){d=zE(k[N>>2]|0,j[G>>1]|0,k[w>>2]|0,i[n>>0]|0)|0;j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]=d}d=xE(j[C>>1]|0,j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]|0)|0;j[B>>1]=d}else j[B>>1]=j[C>>1]|0;k[o>>2]=0;k[A>>2]=k[g>>2];while(1){if((k[o>>2]|0)>=(k[y>>2]|0))break;c=k[A>>2]|0;d=p;if(((k[c>>2]|0)==(k[d>>2]|0)?(k[c+4>>2]|0)==(k[d+4>>2]|0):0)?((i[(k[A>>2]|0)+22>>0]^i[n>>0])&128|0)==0:0)break;k[o>>2]=(k[o>>2]|0)+1;k[A>>2]=(k[A>>2]|0)+32}do if((k[o>>2]|0)<(k[y>>2]|0)){if((j[(k[A>>2]|0)+18>>1]|0)<(j[B>>1]|0))break a;if((j[(k[A>>2]|0)+18>>1]|0)!=(j[B>>1]|0))break;if((j[(k[A>>2]|0)+16>>1]|0)<=(j[x>>1]|0))break a}else{do if((k[y>>2]|0)>=(k[q>>2]|0)){if((j[B>>1]|0)>(j[s>>1]|0))break a;if((j[B>>1]|0)!=(j[s>>1]|0))break;if((j[C>>1]|0)>=(j[u>>1]|0))break a}while(0);if((k[y>>2]|0)<(k[q>>2]|0)){d=k[y>>2]|0;k[y>>2]=d+1;k[o>>2]=d}else k[o>>2]=k[t>>2];k[A>>2]=(k[g>>2]|0)+(k[o>>2]<<5)}while(0);b=k[S>>2]|0;d=(k[K>>2]|0)+8|0;c=k[b+4>>2]|k[d+4>>2];a=k[A>>2]|0;k[a>>2]=k[b>>2]|k[d>>2];k[a+4>>2]=c;a=D;c=k[a+4>>2]|0;d=(k[A>>2]|0)+8|0;k[d>>2]=k[a>>2];k[d+4>>2]=c;j[(k[A>>2]|0)+16>>1]=j[x>>1]|0;j[(k[A>>2]|0)+18>>1]=j[B>>1]|0;j[(k[A>>2]|0)+20>>1]=j[C>>1]|0;i[(k[A>>2]|0)+22>>0]=i[n>>0]|0;bS(k[(k[A>>2]|0)+24>>2]|0,k[(k[S>>2]|0)+24>>2]|0,k[H>>2]<<2|0)|0;k[(k[(k[A>>2]|0)+24>>2]|0)+(k[H>>2]<<2)>>2]=k[K>>2];if((k[y>>2]|0)>=(k[q>>2]|0)){k[t>>2]=0;j[s>>1]=j[(k[g>>2]|0)+18>>1]|0;j[u>>1]=j[(k[g>>2]|0)+16>>1]|0;k[o>>2]=1;k[A>>2]=(k[g>>2]|0)+32;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break a;do if((j[(k[A>>2]|0)+18>>1]|0)<=(j[s>>1]|0)){if((j[(k[A>>2]|0)+18>>1]|0)!=(j[s>>1]|0))break;if((j[(k[A>>2]|0)+20>>1]|0)>(j[u>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;j[s>>1]=j[(k[A>>2]|0)+18>>1]|0;j[u>>1]=j[(k[A>>2]|0)+20>>1]|0;k[t>>2]=k[o>>2]}k[o>>2]=(k[o>>2]|0)+1;k[A>>2]=(k[A>>2]|0)+32}}}while(0);k[K>>2]=k[(k[K>>2]|0)+52>>2]}k[h>>2]=(k[h>>2]|0)+1;k[S>>2]=(k[S>>2]|0)+32}k[S>>2]=k[g>>2];k[g>>2]=k[e>>2];k[e>>2]=k[S>>2];k[v>>2]=k[y>>2];k[H>>2]=(k[H>>2]|0)+1}if(!(k[v>>2]|0)){Oh(k[z>>2]|0,34756,E);bg(k[O>>2]|0,k[T>>2]|0);k[M>>2]=1;W=k[M>>2]|0;r=X;return W|0}k[S>>2]=k[e>>2];k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[v>>2]|0))break;if((j[(k[S>>2]|0)+18>>1]|0)>(j[(k[e>>2]|0)+(k[h>>2]<<5)+18>>1]|0))k[S>>2]=(k[e>>2]|0)+(k[h>>2]<<5);k[h>>2]=(k[h>>2]|0)+1}k[H>>2]=0;while(1){b=k[N>>2]|0;if((k[H>>2]|0)>=(k[Q>>2]|0))break;k[J>>2]=b+752+((k[H>>2]|0)*80|0);F=k[(k[(k[S>>2]|0)+24>>2]|0)+(k[H>>2]<<2)>>2]|0;k[K>>2]=F;k[(k[J>>2]|0)+64>>2]=F;i[(k[J>>2]|0)+44>>0]=i[(k[K>>2]|0)+16>>0]|0;k[(k[J>>2]|0)+4>>2]=k[(k[(k[N>>2]|0)+4>>2]|0)+8+((l[(k[J>>2]|0)+44>>0]|0)*72|0)+44>>2];k[H>>2]=(k[H>>2]|0)+1}if(((((m[b+40>>1]&256|0)!=0?(m[(k[N>>2]|0)+40>>1]&128|0)==0:0)?(l[(k[N>>2]|0)+47>>0]|0)==0:0)?(j[G>>1]|0)!=0:0)?(K=(yE(k[N>>2]|0,k[(k[N>>2]|0)+12>>2]|0,k[S>>2]|0,128,(k[Q>>2]|0)-1&65535,k[(k[(k[S>>2]|0)+24>>2]|0)+((k[Q>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,k[L>>2]=K,(k[L>>2]|0)==(k[k[(k[N>>2]|0)+12>>2]>>2]|0)):0)i[(k[N>>2]|0)+47>>0]=2;if(k[(k[N>>2]|0)+8>>2]|0){b=i[(k[S>>2]|0)+22>>0]|0;if(m[(k[N>>2]|0)+40>>1]&128){if((b<<24>>24|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0))i[(k[N>>2]|0)+47>>0]=2}else{i[(k[N>>2]|0)+43>>0]=b;J=(k[S>>2]|0)+8|0;K=k[J+4>>2]|0;L=(k[N>>2]|0)+64|0;k[L>>2]=k[J>>2];k[L+4>>2]=K;if(((((i[(k[N>>2]|0)+43>>0]|0)<=0?(i[(k[N>>2]|0)+43>>0]=0,(k[Q>>2]|0)>0):0)?(k[W>>2]=k[(k[(k[(k[S>>2]|0)+24>>2]|0)+((k[Q>>2]|0)-1<<2)>>2]|0)+36>>2],(k[W>>2]&4096|0)==0):0)?(k[W>>2]&260|0)!=260:0)?(W=P,k[W>>2]=0,k[W+4>>2]=0,W=(yE(k[N>>2]|0,k[(k[N>>2]|0)+8>>2]|0,k[S>>2]|0,2048,(k[Q>>2]|0)-1&65535,k[(k[(k[S>>2]|0)+24>>2]|0)+((k[Q>>2]|0)-1<<2)>>2]|0,P)|0)<<24>>24,k[U>>2]=W,(k[U>>2]|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0)):0){i[(k[N>>2]|0)+48>>0]=1;U=k[P+4>>2]|0;W=(k[N>>2]|0)+64|0;k[W>>2]=k[P>>2];k[W+4>>2]=U}}if(((m[(k[N>>2]|0)+40>>1]&512|0)!=0?((k[Q>>2]|0)>0?(i[(k[N>>2]|0)+43>>0]|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0):0):0)?(W=V,k[W>>2]=0,k[W+4>>2]=0,W=(yE(k[N>>2]|0,k[(k[N>>2]|0)+8>>2]|0,k[S>>2]|0,0,(k[Q>>2]|0)-1&65535,k[(k[(k[S>>2]|0)+24>>2]|0)+((k[Q>>2]|0)-1<<2)>>2]|0,V)|0)<<24>>24,k[R>>2]=W,(k[R>>2]|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0)):0){i[(k[N>>2]|0)+44>>0]=1;U=V;V=k[U+4>>2]|0;W=(k[N>>2]|0)+64|0;k[W>>2]=k[U>>2];k[W+4>>2]=V}}j[(k[N>>2]|0)+72>>1]=j[(k[S>>2]|0)+16>>1]|0;bg(k[O>>2]|0,k[T>>2]|0);k[M>>2]=0;W=k[M>>2]|0;r=X;return W|0}function UD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;e=g+8|0;f=g;k[c>>2]=a;k[d>>2]=b;a=f;k[a>>2]=0;k[a+4>>2]=0;if(!(k[d>>2]|0)){b=f;a=b;a=k[a>>2]|0;b=b+4|0;b=k[b>>2]|0;L=b;r=g;return a|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;h=vE(k[c>>2]|0,k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)|0;i=f;b=k[i+4>>2]|L;a=f;k[a>>2]=k[i>>2]|h;k[a+4>>2]=b;k[e>>2]=(k[e>>2]|0)+1}h=f;i=h;i=k[i>>2]|0;h=h+4|0;h=k[h>>2]|0;L=h;r=g;return i|0}function VD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+176|0;p=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;D=Y+144|0;I=Y+140|0;J=Y+136|0;F=Y+132|0;X=Y+128|0;Q=Y+124|0;H=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;C=Y+100|0;E=Y+96|0;G=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;o=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;n=Y+64|0;h=Y+60|0;g=Y+8|0;z=Y+56|0;w=Y;K=Y+52|0;M=Y+48|0;k[N>>2]=a;k[t>>2]=b;k[u>>2]=c;b=v;k[b>>2]=d;k[b+4>>2]=e;k[O>>2]=f;i[o>>0]=0;k[T>>2]=0;k[A>>2]=0;k[P>>2]=0;k[X>>2]=k[(k[N>>2]|0)+8>>2];b=px(k[X>>2]|0,20)|0;k[Q>>2]=b;k[D>>2]=0;k[H>>2]=k[(k[u>>2]|0)+16>>2];k[J>>2]=(k[(k[t>>2]|0)+20>>2]|0)+((k[(k[t>>2]|0)+12>>2]|0)*48|0);k[G>>2]=k[(k[O>>2]|0)+64>>2];b=B;k[b>>2]=0;k[b+4>>2]=0;k[I>>2]=k[(k[t>>2]|0)+20>>2];while(1){if((k[I>>2]|0)>>>0>=(k[J>>2]|0)>>>0)break;k[n>>2]=k[k[I>>2]>>2];b=k[G>>2]|0;if((((k[b>>2]|0)==0&(k[b+4>>2]|0)==0?(m[(k[I>>2]|0)+10>>1]&2|0)==0:0)?(k[(k[n>>2]|0)+4>>2]&1|0)==0:0)?(rE(k[n>>2]|0,k[(k[u>>2]|0)+44>>2]|0)|0)!=0:0){c=k[k[N>>2]>>2]|0;b=k[T>>2]|0;b=Gz(c,b,Sy(k[k[N>>2]>>2]|0,k[n>>2]|0,0)|0)|0;k[T>>2]=b}b=v;if(sE(k[I>>2]|0,k[u>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0){k[h>>2]=k[(k[I>>2]|0)+28>>2];if((k[h>>2]|0)>=64){d=0;e=-2147483648}else{d=eS(1,0,k[h>>2]|0)|0;e=L}b=g;k[b>>2]=d;k[b+4>>2]=e;if(!(i[o>>0]|0)){b=k[(k[(k[H>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0;k[p>>2]=k[k[H>>2]>>2];k[p+4>>2]=b;$d(284,34719,p);i[o>>0]=1}c=B;b=g;if((k[c>>2]&k[b>>2]|0)==0?(k[c+4>>2]&k[b+4>>2]|0)==0:0){if(tE(k[k[N>>2]>>2]|0,k[G>>2]|0,(k[D>>2]|0)+1|0)|0){q=57;break}f=k[I>>2]|0;a=k[D>>2]|0;k[D>>2]=a+1;k[(k[(k[G>>2]|0)+48>>2]|0)+(a<<2)>>2]=f;a=g;f=B;c=k[f+4>>2]|k[a+4>>2];b=B;k[b>>2]=k[f>>2]|k[a>>2];k[b+4>>2]=c}}k[I>>2]=(k[I>>2]|0)+48}if((q|0)==57){W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;sv(W,X);r=Y;return}n=k[D>>2]&65535;j[(k[G>>2]|0)+40>>1]=n;j[(k[G>>2]|0)+24>>1]=n;k[(k[G>>2]|0)+36>>2]=16961;n=(k[u>>2]|0)+56|0;o=B;p=k[n+4>>2]&(~k[o+4>>2]|-2147483648);q=x;k[q>>2]=k[n>>2]&~k[o>>2];k[q+4>>2]=p;if(63<(j[(k[H>>2]|0)+34>>1]|0))d=63;else d=j[(k[H>>2]|0)+34>>1]|0;k[C>>2]=d;k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[C>>2]|0))break;q=x;o=k[q>>2]|0;q=k[q+4>>2]|0;p=eS(1,0,k[y>>2]|0)|0;if((o&p|0)!=0|(q&L|0)!=0)k[D>>2]=(k[D>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+1}if(0!=0?1:(k[(k[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)k[D>>2]=(k[D>>2]|0)+((j[(k[H>>2]|0)+34>>1]|0)-64+1);s=uE(k[k[N>>2]>>2]|0,(k[D>>2]|0)+1&65535,0,s)|0;k[F>>2]=s;if(!(k[F>>2]|0)){W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;sv(W,X);r=Y;return}k[(k[G>>2]|0)+24+8>>2]=k[F>>2];k[k[F>>2]>>2]=34745;k[(k[F>>2]|0)+12>>2]=k[H>>2];k[S>>2]=0;s=B;k[s>>2]=0;k[s+4>>2]=0;k[I>>2]=k[(k[t>>2]|0)+20>>2];while(1){if((k[I>>2]|0)>>>0>=(k[J>>2]|0)>>>0)break;s=v;if(sE(k[I>>2]|0,k[u>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0){k[z>>2]=k[(k[I>>2]|0)+28>>2];if((k[z>>2]|0)>=64){d=0;e=-2147483648}else{d=eS(1,0,k[z>>2]|0)|0;e=L}q=w;k[q>>2]=d;k[q+4>>2]=e;q=B;s=w;if((k[q>>2]&k[s>>2]|0)==0?(k[q+4>>2]&k[s+4>>2]|0)==0:0){k[K>>2]=k[k[I>>2]>>2];p=w;o=B;q=k[o+4>>2]|k[p+4>>2];s=B;k[s>>2]=k[o>>2]|k[p>>2];k[s+4>>2]=q;j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[(k[I>>2]|0)+28>>2];s=CB(k[N>>2]|0,k[(k[K>>2]|0)+12>>2]|0,k[(k[K>>2]|0)+16>>2]|0)|0;k[E>>2]=s;if(k[E>>2]|0)d=k[k[E>>2]>>2]|0;else d=34834;k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=d;k[S>>2]=(k[S>>2]|0)+1}}k[I>>2]=(k[I>>2]|0)+48}k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[C>>2]|0))break;K=x;I=k[K>>2]|0;K=k[K+4>>2]|0;J=eS(1,0,k[y>>2]|0)|0;if((I&J|0)!=0|(K&L|0)!=0){j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[y>>2];k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=34834;k[S>>2]=(k[S>>2]|0)+1}k[y>>2]=(k[y>>2]|0)+1}a:do if(0!=0?1:(k[(k[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){k[y>>2]=63;while(1){if((k[y>>2]|0)>=(j[(k[H>>2]|0)+34>>1]|0))break a;j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[y>>2];k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=34834;k[S>>2]=(k[S>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+1}}while(0);j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=-1;k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=34834;J=(k[N>>2]|0)+40|0;K=k[J>>2]|0;k[J>>2]=K+1;k[(k[O>>2]|0)+8>>2]=K;sx(k[X>>2]|0,106,k[(k[O>>2]|0)+8>>2]|0,(k[D>>2]|0)+1|0)|0;dA(k[N>>2]|0,k[F>>2]|0);KA(k[N>>2]|0);k[U>>2]=(k[(k[k[t>>2]>>2]|0)+4>>2]|0)+8+((l[(k[O>>2]|0)+44>>0]|0)*72|0);if((l[(k[U>>2]|0)+36+1>>0]|0)>>>4&1){k[M>>2]=k[(k[U>>2]|0)+28>>2];K=sx(k[X>>2]|0,76,0,0)|0;k[P>>2]=K;tx(k[X>>2]|0,15,k[M>>2]|0,0,k[(k[U>>2]|0)+24>>2]|0)|0;M=aA(k[X>>2]|0,16,k[M>>2]|0)|0;k[R>>2]=M}else{M=aA(k[X>>2]|0,57,k[(k[O>>2]|0)+4>>2]|0)|0;k[R>>2]=M}if(k[T>>2]|0){M=eA(k[X>>2]|0)|0;k[A>>2]=M;sB(k[N>>2]|0,k[T>>2]|0,k[A>>2]|0,16);M=(k[G>>2]|0)+36|0;k[M>>2]=k[M>>2]|131072}M=Fx(k[N>>2]|0)|0;k[W>>2]=M;M=yA(k[N>>2]|0,k[F>>2]|0,k[(k[O>>2]|0)+4>>2]|0,k[W>>2]|0,0,0,0,0)|0;k[V>>2]=M;sx(k[X>>2]|0,126,k[(k[O>>2]|0)+8>>2]|0,k[W>>2]|0)|0;Th(k[X>>2]|0,16);if(k[T>>2]|0)iA(k[X>>2]|0,k[A>>2]|0);d=k[X>>2]|0;if((l[(k[U>>2]|0)+36+1>>0]|0)>>>4&1){nA(d,k[P>>2]|0,(k[V>>2]|0)+(k[S>>2]|0)|0);CD(k[X>>2]|0,k[R>>2]|0,k[(k[O>>2]|0)+4>>2]|0,k[(k[U>>2]|0)+32>>2]|0,1);gA(k[X>>2]|0,k[R>>2]|0)|0;V=(k[U>>2]|0)+36+1|0;i[V>>0]=i[V>>0]&-17}else sx(d,7,k[(k[O>>2]|0)+4>>2]|0,(k[R>>2]|0)+1|0)|0;Th(k[X>>2]|0,3);hA(k[X>>2]|0,k[R>>2]|0);Hx(k[N>>2]|0,k[W>>2]|0);IA(k[N>>2]|0);hA(k[X>>2]|0,k[Q>>2]|0);W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;sv(W,X);r=Y;return}function WD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;g=O+140|0;h=O+136|0;n=O+132|0;t=O+128|0;u=O+124|0;o=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;p=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;q=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[t>>2]=d;k[u>>2]=e;j[o>>1]=f;k[B>>2]=0;do if((l[(k[g>>2]|0)+409>>0]|0|0)==2){k[z>>2]=(k[h>>2]|0)+8+((l[(k[n>>2]|0)+44>>0]|0)*72|0);k[D>>2]=k[(k[g>>2]|0)+8>>2];k[p>>2]=k[k[g>>2]>>2];k[w>>2]=k[(k[g>>2]|0)+420>>2];k[A>>2]=k[(k[n>>2]|0)+64>>2];k[v>>2]=k[(k[A>>2]|0)+36>>2];if((k[v>>2]&8192|0)==0?((m[o>>1]|0)&32|0)==0:0){do if(k[v>>2]&48)g=1;else{if((k[v>>2]&1024|0)==0?(m[(k[A>>2]|0)+24>>1]|0|0)>0:0){g=1;break}g=((m[o>>1]|0)&3|0)!=0}while(0);k[x>>2]=g&1;ng(C,k[p>>2]|0,q,100,1e9);nE(C,(k[x>>2]|0)!=0?34452:34459);g=k[z>>2]|0;if(k[(k[z>>2]|0)+20>>2]|0){k[E>>2]=l[g+40>>0];BA(C,34464,E)}else{k[F>>2]=k[g+8>>2];BA(C,34477,F)}if(k[(k[z>>2]|0)+12>>2]|0){k[I>>2]=k[(k[z>>2]|0)+12>>2];BA(C,34487,I)}do if(!(k[v>>2]&1280)){k[K>>2]=0;k[y>>2]=k[(k[A>>2]|0)+24+8>>2];if(((l[(k[(k[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(i[(k[y>>2]|0)+55>>0]&3|0)==2:0){if(k[x>>2]|0)k[K>>2]=34494}else N=19;do if((N|0)==19){if(k[v>>2]&131072){k[K>>2]=34506;break}if(k[v>>2]&16384){k[K>>2]=34539;break}if(k[v>>2]&64){k[K>>2]=34564;break}else{k[K>>2]=34582;break}}while(0);if(k[K>>2]|0){CA(C,34591,7);N=k[K>>2]|0;k[J>>2]=k[k[y>>2]>>2];BA(C,N,J);oE(C,k[A>>2]|0)}}else{if((k[v>>2]&256|0)!=0?(k[v>>2]&15|0)!=0:0){do if(!(k[v>>2]&5)){if((k[v>>2]&48|0)==48){k[M>>2]=34601;break}if(k[v>>2]&32){k[M>>2]=34615;break}else{k[M>>2]=34617;break}}else k[M>>2]=34599;while(0);k[G>>2]=k[M>>2];BA(C,34619,G);break}if(k[v>>2]&1024){N=k[(k[A>>2]|0)+24+8>>2]|0;k[H>>2]=k[(k[A>>2]|0)+24>>2];k[H+4>>2]=N;BA(C,34657,H)}}while(0);N=pg(C)|0;k[L>>2]=N;N=wx(k[D>>2]|0,162,k[w>>2]|0,k[t>>2]|0,k[u>>2]|0,k[L>>2]|0,-1)|0;k[B>>2]=N;break}k[s>>2]=0;N=k[s>>2]|0;r=O;return N|0}while(0);k[s>>2]=k[B>>2];N=k[s>>2]|0;r=O;return N|0}function XD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;hb=r;r=r+448|0;Sa=hb+8|0;Ta=hb+432|0;M=hb+428|0;Ua=hb;Xa=hb+424|0;Ra=hb+420|0;Wa=hb+416|0;ra=hb+412|0;za=hb+408|0;Pa=hb+404|0;$a=hb+400|0;Oa=hb+396|0;cb=hb+392|0;bb=hb+388|0;ab=hb+384|0;Qa=hb+380|0;fb=hb+376|0;G=hb+372|0;F=hb+368|0;Va=hb+364|0;Na=hb+360|0;n=hb+356|0;e=hb+352|0;h=hb+348|0;f=hb+344|0;p=hb+340|0;g=hb+336|0;o=hb+332|0;t=hb+328|0;q=hb+324|0;u=hb+320|0;s=hb+316|0;E=hb+312|0;D=hb+308|0;v=hb+304|0;y=hb+300|0;x=hb+296|0;z=hb+292|0;B=hb+288|0;C=hb+284|0;w=hb+280|0;A=hb+276|0;xa=hb+442|0;va=hb+440|0;ya=hb+438|0;Ha=hb+272|0;Ea=hb+268|0;Da=hb+264|0;Ia=hb+260|0;ua=hb+256|0;Ja=hb+252|0;wa=hb+248|0;Ba=hb+244|0;Ma=hb+240|0;H=hb+236|0;Aa=hb+232|0;La=hb+228|0;Ka=hb+224|0;sa=hb+447|0;ta=hb+446|0;I=hb+220|0;J=hb+445|0;K=hb+444|0;Fa=hb+216|0;Ga=hb+212|0;Ca=hb+208|0;ea=hb+204|0;ca=hb+200|0;$=hb+196|0;P=hb+192|0;la=hb+188|0;na=hb+184|0;ma=hb+180|0;Q=hb+176|0;S=hb+172|0;oa=hb+168|0;V=hb+164|0;pa=hb+436|0;_=hb+160|0;ja=hb+156|0;X=hb+152|0;Z=hb+148|0;ga=hb+144|0;U=hb+140|0;aa=hb+136|0;da=hb+132|0;ia=hb+128|0;ba=hb+124|0;W=hb+120|0;ha=hb+116|0;N=hb+112|0;ka=hb+108|0;T=hb+104|0;fa=hb+100|0;Y=hb+96|0;R=hb+92|0;O=hb+88|0;Za=hb+84|0;eb=hb+80|0;gb=hb+76|0;_a=hb+72|0;db=hb+24|0;Ya=hb+16|0;k[Ta>>2]=a;k[M>>2]=b;b=Ua;k[b>>2]=c;k[b+4>>2]=d;k[Na>>2]=0;k[n>>2]=0;k[ab>>2]=k[k[Ta>>2]>>2];k[fb>>2]=k[(k[ab>>2]|0)+8>>2];k[cb>>2]=(k[Ta>>2]|0)+80;k[Qa>>2]=k[k[ab>>2]>>2];k[$a>>2]=(k[Ta>>2]|0)+752+((k[M>>2]|0)*80|0);k[Oa>>2]=k[(k[$a>>2]|0)+64>>2];k[G>>2]=(k[(k[Ta>>2]|0)+4>>2]|0)+8+((l[(k[$a>>2]|0)+44>>0]|0)*72|0);k[Wa>>2]=k[(k[G>>2]|0)+44>>2];b=Ua;c=k[b>>2]|0;b=k[b+4>>2]|0;d=YD((k[Ta>>2]|0)+488|0,k[Wa>>2]|0)|0;a=(k[$a>>2]|0)+72|0;k[a>>2]=c&~d;k[a+4>>2]=b&~L;a=(k[Ta>>2]|0)+64|0;a=aS(k[a>>2]|0,k[a+4>>2]|0,k[M>>2]|0)|0;k[Pa>>2]=a&1;if(k[(k[Oa>>2]|0)+36>>2]&64)c=(m[(k[Ta>>2]|0)+40>>1]&32|0)==0;else c=0;k[za>>2]=c&1;a=eA(k[fb>>2]|0)|0;k[(k[$a>>2]|0)+16>>2]=a;k[(k[$a>>2]|0)+12>>2]=a;k[F>>2]=a;a=eA(k[fb>>2]|0)|0;k[(k[$a>>2]|0)+24>>2]=a;k[Va>>2]=a;if((l[(k[$a>>2]|0)+44>>0]|0)>0?(l[(k[G>>2]|0)+36>>0]&8|0)!=0:0){b=(k[ab>>2]|0)+44|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[k[$a>>2]>>2]=a;sx(k[fb>>2]|0,76,0,k[k[$a>>2]>>2]|0)|0}do if((l[(k[G>>2]|0)+36+1>>0]|0)>>>4&1){k[e>>2]=k[(k[G>>2]|0)+28>>2];tx(k[fb>>2]|0,15,k[e>>2]|0,0,k[(k[G>>2]|0)+24>>2]|0)|0;Ra=sx(k[fb>>2]|0,16,k[e>>2]|0,k[F>>2]|0)|0;k[(k[$a>>2]|0)+52>>2]=Ra;i[(k[$a>>2]|0)+45>>0]=13}else{c=k[Oa>>2]|0;if(k[(k[Oa>>2]|0)+36>>2]&1024){k[p>>2]=m[c+40>>1];KA(k[ab>>2]|0);Ra=MA(k[ab>>2]|0,(k[p>>2]|0)+2|0)|0;k[h>>2]=Ra;k[f>>2]=k[(k[$a>>2]|0)+12>>2];k[Xa>>2]=0;while(1){if((k[Xa>>2]|0)>=(k[p>>2]|0))break;k[o>>2]=(k[h>>2]|0)+(k[Xa>>2]|0)+2;k[bb>>2]=k[(k[(k[Oa>>2]|0)+48>>2]|0)+(k[Xa>>2]<<2)>>2];do if(k[bb>>2]|0)if(m[(k[bb>>2]|0)+12>>1]&1){ZD(k[ab>>2]|0,k[bb>>2]|0,k[$a>>2]|0,k[Xa>>2]|0,k[Pa>>2]|0,k[o>>2]|0)|0;k[f>>2]=k[(k[$a>>2]|0)+16>>2];break}else{k[t>>2]=k[(k[k[bb>>2]>>2]|0)+16>>2];_D(k[ab>>2]|0,k[t>>2]|0,k[o>>2]|0,1);break}while(0);k[Xa>>2]=(k[Xa>>2]|0)+1}sx(k[fb>>2]|0,76,k[(k[Oa>>2]|0)+24>>2]|0,k[h>>2]|0)|0;sx(k[fb>>2]|0,76,k[p>>2]|0,(k[h>>2]|0)+1|0)|0;wx(k[fb>>2]|0,11,k[Wa>>2]|0,k[f>>2]|0,k[h>>2]|0,k[(k[Oa>>2]|0)+24+8>>2]|0,(l[(k[Oa>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;i[(k[Oa>>2]|0)+24+4>>0]=0;k[(k[$a>>2]|0)+48>>2]=k[Wa>>2];i[(k[$a>>2]|0)+45>>0]=(l[(k[Ta>>2]|0)+45>>0]|0)!=0?161:70;Ra=Gx(k[fb>>2]|0)|0;k[(k[$a>>2]|0)+52>>2]=Ra;k[g>>2]=k[(k[$a>>2]|0)+56>>2];k[Xa>>2]=(k[p>>2]|0)-1;while(1){if((k[Xa>>2]|0)<0)break;k[bb>>2]=k[(k[(k[Oa>>2]|0)+48>>2]|0)+(k[Xa>>2]<<2)>>2];if((k[Xa>>2]|0)<16?(m[(k[Oa>>2]|0)+24+6>>1]>>k[Xa>>2]&1|0)!=0:0)$D(k[$a>>2]|0,k[bb>>2]|0);else qa=21;if((qa|0)==21?(qa=0,(m[(k[bb>>2]|0)+12>>1]&1|0)!=0):0){if(!(i[(k[Qa>>2]|0)+69>>0]|0)){Pa=k[fb>>2]|0;Ra=(k[g>>2]|0)+-1|0;k[g>>2]=Ra;Ra=oA(Pa,k[(k[(k[$a>>2]|0)+56+4>>2]|0)+(Ra*12|0)+4>>2]|0)|0;k[s>>2]=Ra;tx(k[fb>>2]|0,l[k[s>>2]>>0]|0,k[(k[s>>2]|0)+4>>2]|0,k[(k[s>>2]|0)+8>>2]|0,k[(k[s>>2]|0)+12>>2]|0)|0}Ra=Ov(k[ab>>2]|0,37,0,0,0)|0;k[q>>2]=Ra;if(k[q>>2]|0){k[(k[q>>2]|0)+12>>2]=k[(k[k[bb>>2]>>2]|0)+12>>2];Ra=ew(k[Qa>>2]|0,157,0)|0;k[u>>2]=Ra;k[(k[q>>2]|0)+16>>2]=Ra;if(k[u>>2]|0){k[(k[u>>2]|0)+28>>2]=(k[h>>2]|0)+(k[Xa>>2]|0)+2;sB(k[ab>>2]|0,k[q>>2]|0,k[(k[$a>>2]|0)+24>>2]|0,0)}k[(k[q>>2]|0)+12>>2]=0;sv(k[Qa>>2]|0,k[q>>2]|0)}}k[Xa>>2]=(k[Xa>>2]|0)+-1}IA(k[ab>>2]|0);break}if((k[c+36>>2]&256|0)!=0?(k[(k[Oa>>2]|0)+36>>2]&5|0)!=0:0){k[bb>>2]=k[k[(k[Oa>>2]|0)+48>>2]>>2];Qa=(k[ab>>2]|0)+44|0;Ra=(k[Qa>>2]|0)+1|0;k[Qa>>2]=Ra;k[n>>2]=Ra;Ra=ZD(k[ab>>2]|0,k[bb>>2]|0,k[$a>>2]|0,0,k[Pa>>2]|0,k[n>>2]|0)|0;k[Na>>2]=Ra;if((k[Na>>2]|0)!=(k[n>>2]|0))Hx(k[ab>>2]|0,k[n>>2]|0);k[ra>>2]=k[(k[$a>>2]|0)+16>>2];tx(k[fb>>2]|0,32,k[Wa>>2]|0,k[ra>>2]|0,k[Na>>2]|0)|0;eB(k[ab>>2]|0,k[Na>>2]|0,1);QB(k[ab>>2]|0,k[Wa>>2]|0,-1,k[Na>>2]|0);i[(k[$a>>2]|0)+45>>0]=-95;break}if((k[(k[Oa>>2]|0)+36>>2]&256|0)!=0?(k[(k[Oa>>2]|0)+36>>2]&2|0)!=0:0){k[E>>2]=161;k[v>>2]=0;k[Xa>>2]=0;k[x>>2]=0;k[y>>2]=0;if(k[(k[Oa>>2]|0)+36>>2]&32){Ra=k[Xa>>2]|0;k[Xa>>2]=Ra+1;k[y>>2]=k[(k[(k[Oa>>2]|0)+48>>2]|0)+(Ra<<2)>>2]}if(k[(k[Oa>>2]|0)+36>>2]&16){Ra=k[Xa>>2]|0;k[Xa>>2]=Ra+1;k[x>>2]=k[(k[(k[Oa>>2]|0)+48>>2]|0)+(Ra<<2)>>2]}if(k[Pa>>2]|0){k[bb>>2]=k[y>>2];k[y>>2]=k[x>>2];k[x>>2]=k[bb>>2]}if(k[y>>2]|0){k[z>>2]=k[k[y>>2]>>2];Ra=(fB(k[(k[z>>2]|0)+16>>2]|0)|0)!=0;c=k[ab>>2]|0;if(Ra){Ra=Fx(c)|0;k[C>>2]=Ra;k[B>>2]=Ra;_D(k[ab>>2]|0,k[(k[z>>2]|0)+16>>2]|0,k[B>>2]|0,1);k[w>>2]=l[34432+((l[k[z>>2]>>0]|0)-38|1)>>0]}else{Ra=hB(c,k[(k[z>>2]|0)+16>>2]|0,C)|0;k[B>>2]=Ra;$D(k[$a>>2]|0,k[y>>2]|0);k[w>>2]=l[34432+((l[k[z>>2]>>0]|0)-38)>>0]}tx(k[fb>>2]|0,k[w>>2]|0,k[Wa>>2]|0,k[F>>2]|0,k[B>>2]|0)|0;eB(k[ab>>2]|0,k[B>>2]|0,1);Hx(k[ab>>2]|0,k[C>>2]|0)}else sx(k[fb>>2]|0,(k[Pa>>2]|0)!=0?53:57,k[Wa>>2]|0,k[F>>2]|0)|0;if(k[x>>2]|0){k[A>>2]=k[k[x>>2]>>2];Qa=(k[ab>>2]|0)+44|0;Ra=(k[Qa>>2]|0)+1|0;k[Qa>>2]=Ra;k[v>>2]=Ra;_D(k[ab>>2]|0,k[(k[A>>2]|0)+16>>2]|0,k[v>>2]|0,1);do if(!(fB(k[(k[A>>2]|0)+16>>2]|0)|0)){if((l[k[A>>2]>>0]|0)!=40?(l[k[A>>2]>>0]|0)!=38:0){qa=54;break}k[E>>2]=(k[Pa>>2]|0)!=0?39:41}else qa=54;while(0);if((qa|0)==54)k[E>>2]=(k[Pa>>2]|0)!=0?40:38;if(!(fB(k[(k[A>>2]|0)+16>>2]|0)|0))$D(k[$a>>2]|0,k[x>>2]|0)}Ra=Gx(k[fb>>2]|0)|0;k[D>>2]=Ra;i[(k[$a>>2]|0)+45>>0]=(k[Pa>>2]|0)!=0?6:7;k[(k[$a>>2]|0)+48>>2]=k[Wa>>2];k[(k[$a>>2]|0)+52>>2]=k[D>>2];if((k[E>>2]|0)==161)break;Qa=(k[ab>>2]|0)+44|0;Ra=(k[Qa>>2]|0)+1|0;k[Qa>>2]=Ra;k[Na>>2]=Ra;sx(k[fb>>2]|0,123,k[Wa>>2]|0,k[Na>>2]|0)|0;QB(k[ab>>2]|0,k[Wa>>2]|0,-1,k[Na>>2]|0);tx(k[fb>>2]|0,k[E>>2]|0,k[v>>2]|0,k[F>>2]|0,k[Na>>2]|0)|0;Th(k[fb>>2]|0,83);break}c=k[Oa>>2]|0;if(!(k[(k[Oa>>2]|0)+36>>2]&512)){if(!(k[c+36>>2]&8192))if((l[(k[G>>2]|0)+36+1>>0]|0)>>>5&1){i[(k[$a>>2]|0)+45>>0]=-95;break}else{i[(k[$a>>2]|0)+45>>0]=i[34448+(k[Pa>>2]|0)>>0]|0;k[(k[$a>>2]|0)+48>>2]=k[Wa>>2];Ra=1+(sx(k[fb>>2]|0,l[34450+(k[Pa>>2]|0)>>0]|0,k[Wa>>2]|0,k[F>>2]|0)|0)|0;k[(k[$a>>2]|0)+52>>2]=Ra;i[(k[$a>>2]|0)+47>>0]=1;break}k[$>>2]=0;c=(k[ab>>2]|0)+40|0;Pa=k[c>>2]|0;k[c>>2]=Pa+1;k[P>>2]=Pa;Pa=(k[ab>>2]|0)+44|0;c=(k[Pa>>2]|0)+1|0;k[Pa>>2]=c;k[la>>2]=c;k[na>>2]=0;k[ma>>2]=0;c=eA(k[fb>>2]|0)|0;k[Q>>2]=c;k[oa>>2]=0;k[_>>2]=0;k[ja>>2]=k[(k[G>>2]|0)+16>>2];k[bb>>2]=k[k[(k[Oa>>2]|0)+48>>2]>>2];k[ea>>2]=k[(k[bb>>2]|0)+28>>2];i[(k[$a>>2]|0)+45>>0]=72;k[(k[$a>>2]|0)+48>>2]=k[la>>2];c=k[Ta>>2]|0;a:do if((l[(k[Ta>>2]|0)+42>>0]|0)>1){k[X>>2]=(l[c+42>>0]|0)-(k[M>>2]|0)-1;Pa=Mh(k[Qa>>2]|0,80+((k[X>>2]|0)*72|0)|0,0)|0;k[ca>>2]=Pa;if(!(k[ca>>2]|0)){eb=Ua;gb=k[eb+4>>2]|0;fb=Sa;k[fb>>2]=k[eb>>2];k[fb+4>>2]=gb;fb=Sa;gb=fb;gb=k[gb>>2]|0;fb=fb+4|0;fb=k[fb>>2]|0;L=fb;r=hb;return gb|0}k[(k[ca>>2]|0)+4>>2]=(k[X>>2]|0)+1&255;k[k[ca>>2]>>2]=k[(k[ca>>2]|0)+4>>2];b=(k[ca>>2]|0)+8|0;c=k[G>>2]|0;d=b+72|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[Z>>2]=(k[(k[Ta>>2]|0)+4>>2]|0)+8;k[Ra>>2]=1;while(1){if((k[Ra>>2]|0)>(k[X>>2]|0))break a;b=(k[ca>>2]|0)+8+((k[Ra>>2]|0)*72|0)|0;c=(k[Z>>2]|0)+((l[(k[$a>>2]|0)+((k[Ra>>2]|0)*80|0)+44>>0]|0)*72|0)|0;d=b+72|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[Ra>>2]=(k[Ra>>2]|0)+1}}else k[ca>>2]=k[c+4>>2];while(0);if(!(m[(k[Ta>>2]|0)+40>>1]&16)){if(!(l[(k[ja>>2]|0)+42>>0]&32)){Pa=(k[ab>>2]|0)+44|0;Ra=(k[Pa>>2]|0)+1|0;k[Pa>>2]=Ra;k[na>>2]=Ra;sx(k[fb>>2]|0,79,0,k[na>>2]|0)|0}else{Pa=Tj(k[ja>>2]|0)|0;k[ga>>2]=Pa;Pa=(k[ab>>2]|0)+40|0;Ra=k[Pa>>2]|0;k[Pa>>2]=Ra+1;k[na>>2]=Ra;sx(k[fb>>2]|0,107,k[na>>2]|0,m[(k[ga>>2]|0)+50>>1]|0)|0;dA(k[ab>>2]|0,k[ga>>2]|0)}Pa=(k[ab>>2]|0)+44|0;Ra=(k[Pa>>2]|0)+1|0;k[Pa>>2]=Ra;k[ma>>2]=Ra}Ra=sx(k[fb>>2]|0,76,0,k[la>>2]|0)|0;k[S>>2]=Ra;if((k[(k[cb>>2]|0)+12>>2]|0)>1){k[U>>2]=0;while(1){if((k[U>>2]|0)>=(k[(k[cb>>2]|0)+12>>2]|0))break;k[aa>>2]=k[(k[(k[cb>>2]|0)+20>>2]|0)+((k[U>>2]|0)*48|0)>>2];do if((((k[(k[cb>>2]|0)+20>>2]|0)+((k[U>>2]|0)*48|0)|0)!=(k[bb>>2]|0)?(k[(k[aa>>2]|0)+4>>2]&1|0)==0:0)?(m[(k[(k[cb>>2]|0)+20>>2]|0)+((k[U>>2]|0)*48|0)+10>>1]&6|0)==0:0){if(!(m[(k[(k[cb>>2]|0)+20>>2]|0)+((k[U>>2]|0)*48|0)+12>>1]&8191))break;Ra=Sy(k[Qa>>2]|0,k[aa>>2]|0,0)|0;k[aa>>2]=Ra;Ra=Gz(k[Qa>>2]|0,k[_>>2]|0,k[aa>>2]|0)|0;k[_>>2]=Ra}while(0);k[U>>2]=(k[U>>2]|0)+1}if(k[_>>2]|0){Ra=Ov(k[ab>>2]|0,284,0,k[_>>2]|0,0)|0;k[_>>2]=Ra}}j[pa>>1]=32|m[(k[Ta>>2]|0)+40>>1]&1024;k[V>>2]=0;while(1){if((k[V>>2]|0)>=(k[(k[ea>>2]|0)+12>>2]|0))break;k[da>>2]=(k[(k[ea>>2]|0)+20>>2]|0)+((k[V>>2]|0)*48|0);if(!((k[(k[da>>2]|0)+20>>2]|0)!=(k[Wa>>2]|0)?(m[(k[da>>2]|0)+12>>1]&1024|0)==0:0)){k[ba>>2]=k[k[da>>2]>>2];k[W>>2]=0;if((k[_>>2]|0)!=0?(k[(k[ba>>2]|0)+4>>2]&1|0)==0:0){k[(k[_>>2]|0)+12>>2]=k[ba>>2];k[ba>>2]=k[_>>2]}Ra=AD(k[ab>>2]|0,k[ca>>2]|0,k[ba>>2]|0,0,0,j[pa>>1]|0,k[P>>2]|0)|0;k[ia>>2]=Ra;if(k[ia>>2]|0){Ra=WD(k[ab>>2]|0,k[ca>>2]|0,(k[ia>>2]|0)+752|0,k[M>>2]|0,l[(k[$a>>2]|0)+44>>0]|0,0)|0;k[N>>2]=Ra;do if(!(m[(k[Ta>>2]|0)+40>>1]&16)){k[T>>2]=(k[V>>2]|0)==((k[(k[ea>>2]|0)+12>>2]|0)-1|0)?-1:k[V>>2]|0;if(!(l[(k[ja>>2]|0)+42>>0]&32)){Ra=bB(k[ab>>2]|0,k[ja>>2]|0,-1,k[Wa>>2]|0,k[ma>>2]|0,0)|0;k[ka>>2]=Ra;Ra=Sh(k[fb>>2]|0,63,k[na>>2]|0,0,k[ka>>2]|0,k[T>>2]|0)|0;k[W>>2]=Ra;break}Ra=Tj(k[ja>>2]|0)|0;k[fa>>2]=Ra;k[Y>>2]=m[(k[fa>>2]|0)+50>>1];Ra=MA(k[ab>>2]|0,k[Y>>2]|0)|0;k[ka>>2]=Ra;k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[Y>>2]|0))break;k[O>>2]=j[(k[(k[fa>>2]|0)+4>>2]|0)+(k[R>>2]<<1)>>1];fE(k[ab>>2]|0,k[ja>>2]|0,k[O>>2]|0,k[Wa>>2]|0,(k[ka>>2]|0)+(k[R>>2]|0)|0);k[R>>2]=(k[R>>2]|0)+1}if(k[T>>2]|0){Ra=Sh(k[fb>>2]|0,31,k[na>>2]|0,0,k[ka>>2]|0,k[Y>>2]|0)|0;k[W>>2]=Ra}do if((k[T>>2]|0)>=0){tx(k[fb>>2]|0,99,k[ka>>2]|0,k[Y>>2]|0,k[ma>>2]|0)|0;tx(k[fb>>2]|0,126,k[na>>2]|0,k[ma>>2]|0,0)|0;if(!(k[T>>2]|0))break;Th(k[fb>>2]|0,16)}while(0);PA(k[ab>>2]|0,k[ka>>2]|0,k[Y>>2]|0)}while(0);sx(k[fb>>2]|0,14,k[la>>2]|0,k[Q>>2]|0)|0;if(k[W>>2]|0)hA(k[fb>>2]|0,k[W>>2]|0);if(i[(k[ia>>2]|0)+46>>0]|0)k[oa>>2]=1;k[ha>>2]=k[(k[ia>>2]|0)+752+64>>2];do if(k[(k[ha>>2]|0)+36>>2]&512){if((k[V>>2]|0)!=0?(k[(k[ha>>2]|0)+24+8>>2]|0)!=(k[$>>2]|0):0){qa=193;break}if((l[(k[ja>>2]|0)+42>>0]&32|0)!=0?(i[(k[(k[ha>>2]|0)+24+8>>2]|0)+55>>0]&3|0)==2:0){qa=193;break}k[$>>2]=k[(k[ha>>2]|0)+24+8>>2]}else qa=193;while(0);if((qa|0)==193){qa=0;k[$>>2]=0}BD(k[ia>>2]|0)}}k[V>>2]=(k[V>>2]|0)+1}k[(k[$a>>2]|0)+56>>2]=k[$>>2];if(k[$>>2]|0)k[(k[$a>>2]|0)+8>>2]=k[P>>2];if(k[_>>2]|0){k[(k[_>>2]|0)+12>>2]=0;sv(k[Qa>>2]|0,k[_>>2]|0)}Pa=k[fb>>2]|0;Ra=k[S>>2]|0;gE(Pa,Ra,Gx(k[fb>>2]|0)|0);gA(k[fb>>2]|0,k[(k[$a>>2]|0)+12>>2]|0)|0;iA(k[fb>>2]|0,k[Q>>2]|0);if((l[(k[Ta>>2]|0)+42>>0]|0)>1)bg(k[Qa>>2]|0,k[ca>>2]|0);if(k[oa>>2]|0)break;$D(k[$a>>2]|0,k[bb>>2]|0);break}j[xa>>1]=j[c+24>>1]|0;j[va>>1]=j[(k[Oa>>2]|0)+24+2>>1]|0;j[ya>>1]=j[(k[Oa>>2]|0)+24+4>>1]|0;k[Ea>>2]=0;k[Da>>2]=0;k[H>>2]=0;k[Ka>>2]=0;i[sa>>0]=0;i[ta>>0]=0;k[Ba>>2]=k[(k[Oa>>2]|0)+24+8>>2];k[Ma>>2]=k[(k[$a>>2]|0)+8>>2];if(((m[(k[Ta>>2]|0)+40>>1]&1|0)!=0?(i[(k[Ta>>2]|0)+43>>0]|0)>0:0)?(m[(k[Ba>>2]|0)+50>>1]|0)>(m[xa>>1]|0):0){i[sa>>0]=1;k[H>>2]=1}k[Xa>>2]=m[xa>>1];if(k[(k[Oa>>2]|0)+36>>2]&32){qa=k[Xa>>2]|0;k[Xa>>2]=qa+1;k[Ea>>2]=k[(k[(k[Oa>>2]|0)+48>>2]|0)+(qa<<2)>>2];if((k[H>>2]|0)>(m[(k[Oa>>2]|0)+24+2>>1]|0))c=k[H>>2]|0;else c=m[(k[Oa>>2]|0)+24+2>>1]|0;k[H>>2]=c}do if(k[(k[Oa>>2]|0)+36>>2]&16){qa=k[Xa>>2]|0;k[Xa>>2]=qa+1;k[Da>>2]=k[(k[(k[Oa>>2]|0)+48>>2]|0)+(qa<<2)>>2];if((k[H>>2]|0)>(m[(k[Oa>>2]|0)+24+4>>1]|0))c=k[H>>2]|0;else c=m[(k[Oa>>2]|0)+24+4>>1]|0;k[H>>2]=c;if(m[(k[Da>>2]|0)+10>>1]&256){pa=(k[ab>>2]|0)+44|0;qa=(k[pa>>2]|0)+1|0;k[pa>>2]=qa;k[(k[$a>>2]|0)+36>>2]=qa;sx(k[fb>>2]|0,76,1,k[(k[$a>>2]|0)+36>>2]|0)|0;qa=Gx(k[fb>>2]|0)|0;k[(k[$a>>2]|0)+40>>2]=qa;qa=(k[$a>>2]|0)+36|0;k[qa>>2]=k[qa>>2]<<1;qa=(k[$a>>2]|0)+36|0;k[qa>>2]=k[qa>>2]|k[Pa>>2]^(l[(k[(k[Ba>>2]|0)+28>>2]|0)+(m[xa>>1]|0)>>0]|0)==1}if(!(k[Ea>>2]|0)){k[Xa>>2]=j[(k[(k[Ba>>2]|0)+4>>2]|0)+(m[xa>>1]<<1)>>1];c=k[Xa>>2]|0;if((k[Xa>>2]|0)>=0){if(!((k[Xa>>2]|0)==-2?1:(l[(k[(k[(k[Ba>>2]|0)+12>>2]|0)+4>>2]|0)+(c<<4)+12>>0]|0)==0))break}else if((c|0)!=-2)break;i[sa>>0]=1}}while(0);if((m[xa>>1]|0)<(m[(k[Ba>>2]|0)+50>>1]|0)?(k[Pa>>2]|0)==((l[(k[(k[Ba>>2]|0)+28>>2]|0)+(m[xa>>1]|0)>>0]|0)==0|0):0)qa=84;else qa=82;if(((qa|0)==82?(k[Pa>>2]|0)!=0:0)?(m[(k[Ba>>2]|0)+50>>1]|0)==(m[xa>>1]|0):0)qa=84;if((qa|0)==84){k[I>>2]=k[Da>>2];k[Da>>2]=k[Ea>>2];k[Ea>>2]=k[I>>2];i[J>>0]=i[sa>>0]|0;i[sa>>0]=i[ta>>0]|0;i[ta>>0]=i[J>>0]|0;i[K>>0]=j[va>>1];j[va>>1]=j[ya>>1]|0;j[ya>>1]=l[K>>0]|0}qa=aE(k[ab>>2]|0,k[$a>>2]|0,k[Pa>>2]|0,k[H>>2]|0,La)|0;k[Ha>>2]=qa;if((k[La>>2]|0)!=0?(m[ya>>1]|0)!=0:0){qa=Ah(k[Qa>>2]|0,(k[La>>2]|0)+(m[xa>>1]|0)|0)|0;k[Ka>>2]=qa}k[ra>>2]=k[(k[$a>>2]|0)+16>>2];if(k[Ea>>2]|0)c=(m[(k[Ea>>2]|0)+12>>1]&40|0)!=0;else c=1;k[Ia>>2]=c&1;if(k[Da>>2]|0)c=(m[(k[Da>>2]|0)+12>>1]&40|0)!=0;else c=1;k[ua>>2]=c&1;if(k[Ea>>2]|0)c=1;else c=(m[xa>>1]|0)>0;k[Ja>>2]=c&1;k[wa>>2]=m[xa>>1];if(!(k[Ea>>2]|0)){if(i[sa>>0]|0){sx(k[fb>>2]|0,79,0,(k[Ha>>2]|0)+(m[xa>>1]|0)|0)|0;k[wa>>2]=(k[wa>>2]|0)+1;k[Ia>>2]=0;k[Ja>>2]=1}}else{k[Fa>>2]=k[(k[k[Ea>>2]>>2]|0)+16>>2];_D(k[ab>>2]|0,k[Fa>>2]|0,(k[Ha>>2]|0)+(m[xa>>1]|0)|0,m[va>>1]|0);bE(k[fb>>2]|0,k[$a>>2]|0,k[Ea>>2]|0);do if(!(m[(k[Ea>>2]|0)+10>>1]&0)){if(!(yB(k[Fa>>2]|0)|0))break;sx(k[fb>>2]|0,34,(k[Ha>>2]|0)+(m[xa>>1]|0)|0,k[ra>>2]|0)|0}while(0);if(k[La>>2]|0)cE(k[Fa>>2]|0,m[va>>1]|0,(k[La>>2]|0)+(m[xa>>1]|0)|0);k[wa>>2]=(k[wa>>2]|0)+(m[va>>1]|0);if(!(fB(k[Fa>>2]|0)|0))$D(k[$a>>2]|0,k[Ea>>2]|0);else k[Ia>>2]=1;i[sa>>0]=0}dE(k[ab>>2]|0,k[Ha>>2]|0,(k[wa>>2]|0)-(l[sa>>0]|0)|0,k[La>>2]|0);if(!((m[(k[Oa>>2]|0)+42>>1]|0)>0?(k[wa>>2]|0)==(m[(k[Oa>>2]|0)+42>>1]|0):0)){k[Aa>>2]=l[34436+((k[Ja>>2]<<2)+(k[Ia>>2]<<1)+(k[Pa>>2]|0))>>0];Sh(k[fb>>2]|0,k[Aa>>2]|0,k[Ma>>2]|0,k[ra>>2]|0,k[Ha>>2]|0,k[wa>>2]|0)|0}k[wa>>2]=m[xa>>1];do if(k[Da>>2]|0){k[Ga>>2]=k[(k[k[Da>>2]>>2]|0)+16>>2];QA(k[ab>>2]|0,(k[Ha>>2]|0)+(m[xa>>1]|0)|0,1);_D(k[ab>>2]|0,k[Ga>>2]|0,(k[Ha>>2]|0)+(m[xa>>1]|0)|0,m[ya>>1]|0);bE(k[fb>>2]|0,k[$a>>2]|0,k[Da>>2]|0);do if(!(m[(k[Da>>2]|0)+10>>1]&0)){if(!(yB(k[Ga>>2]|0)|0))break;sx(k[fb>>2]|0,34,(k[Ha>>2]|0)+(m[xa>>1]|0)|0,k[ra>>2]|0)|0}while(0);if(k[Ka>>2]|0){cE(k[Ga>>2]|0,m[ya>>1]|0,k[Ka>>2]|0);dE(k[ab>>2]|0,(k[Ha>>2]|0)+(m[xa>>1]|0)|0,m[ya>>1]|0,k[Ka>>2]|0)}k[wa>>2]=(k[wa>>2]|0)+(m[ya>>1]|0);if(!(fB(k[Ga>>2]|0)|0)){$D(k[$a>>2]|0,k[Da>>2]|0);break}else{k[ua>>2]=1;break}}else{if(!(i[ta>>0]|0))break;sx(k[fb>>2]|0,79,0,(k[Ha>>2]|0)+(m[xa>>1]|0)|0)|0;k[ua>>2]=0;k[wa>>2]=(k[wa>>2]|0)+1}while(0);bg(k[Qa>>2]|0,k[La>>2]|0);bg(k[Qa>>2]|0,k[Ka>>2]|0);Qa=Gx(k[fb>>2]|0)|0;k[(k[$a>>2]|0)+52>>2]=Qa;if(k[wa>>2]|0){k[Aa>>2]=l[34444+((k[Pa>>2]<<1)+(k[ua>>2]|0))>>0];Sh(k[fb>>2]|0,k[Aa>>2]|0,k[Ma>>2]|0,k[ra>>2]|0,k[Ha>>2]|0,k[wa>>2]|0)|0}do if(!(k[za>>2]|0)){if(!(l[(k[(k[Ba>>2]|0)+12>>2]|0)+42>>0]&32))if(m[(k[Ta>>2]|0)+40>>1]&1024){Qa=(k[ab>>2]|0)+44|0;Ra=(k[Qa>>2]|0)+1|0;k[Qa>>2]=Ra;k[Na>>2]=Ra;sx(k[fb>>2]|0,129,k[Ma>>2]|0,k[Na>>2]|0)|0;QB(k[ab>>2]|0,k[Wa>>2]|0,-1,k[Na>>2]|0);tx(k[fb>>2]|0,33,k[Wa>>2]|0,0,k[Na>>2]|0)|0;break}else{eE(k[Ta>>2]|0,k[Ba>>2]|0,k[Wa>>2]|0,k[Ma>>2]|0);break}if((k[Wa>>2]|0)==(k[Ma>>2]|0))break;Qa=Tj(k[(k[Ba>>2]|0)+12>>2]|0)|0;k[Ca>>2]=Qa;Qa=MA(k[ab>>2]|0,m[(k[Ca>>2]|0)+50>>1]|0)|0;k[Na>>2]=Qa;k[Xa>>2]=0;while(1){if((k[Xa>>2]|0)>=(m[(k[Ca>>2]|0)+50>>1]|0))break;Qa=(YA(k[Ba>>2]|0,j[(k[(k[Ca>>2]|0)+4>>2]|0)+(k[Xa>>2]<<1)>>1]|0)|0)<<16>>16;k[Ra>>2]=Qa;tx(k[fb>>2]|0,96,k[Ma>>2]|0,k[Ra>>2]|0,(k[Na>>2]|0)+(k[Xa>>2]|0)|0)|0;k[Xa>>2]=(k[Xa>>2]|0)+1}Sh(k[fb>>2]|0,30,k[Wa>>2]|0,k[Va>>2]|0,k[Na>>2]|0,m[(k[Ca>>2]|0)+50>>1]|0)|0}while(0);do if(!(k[(k[Oa>>2]|0)+36>>2]&4096)){c=(k[$a>>2]|0)+45|0;if(k[Pa>>2]|0){i[c>>0]=6;break}else{i[c>>0]=7;break}}else i[(k[$a>>2]|0)+45>>0]=-95;while(0);k[(k[$a>>2]|0)+48>>2]=k[Ma>>2];i[(k[$a>>2]|0)+46>>0]=(k[(k[Oa>>2]|0)+36>>2]&65536|0)!=0?1:0;if(k[(k[Oa>>2]|0)+36>>2]&15)break;i[(k[$a>>2]|0)+47>>0]=1}while(0);k[bb>>2]=k[(k[cb>>2]|0)+20>>2];k[Xa>>2]=k[(k[cb>>2]|0)+12>>2];while(1){if((k[Xa>>2]|0)<=0)break;k[eb>>2]=0;do if(!(m[(k[bb>>2]|0)+10>>1]&6)){Qa=(k[bb>>2]|0)+40|0;Ra=(k[$a>>2]|0)+72|0;if((k[Qa>>2]&k[Ra>>2]|0)!=0?1:(k[Qa+4>>2]&k[Ra+4>>2]|0)!=0){i[(k[Ta>>2]|0)+46>>0]=1;break}k[Za>>2]=k[k[bb>>2]>>2];if((k[k[$a>>2]>>2]|0)!=0?(k[(k[Za>>2]|0)+4>>2]&1|0)==0:0)break;if(m[(k[bb>>2]|0)+10>>1]&512){k[gb>>2]=k[(k[$a>>2]|0)+36>>2];Ra=aA(k[fb>>2]|0,(k[gb>>2]&1|0)!=0?22:21,(k[gb>>2]|0)>>>1)|0;k[eb>>2]=Ra}sB(k[ab>>2]|0,k[Za>>2]|0,k[Va>>2]|0,16);if(k[eb>>2]|0)hA(k[fb>>2]|0,k[eb>>2]|0);Ra=(k[bb>>2]|0)+10|0;j[Ra>>1]=m[Ra>>1]|4}while(0);k[Xa>>2]=(k[Xa>>2]|0)+-1;k[bb>>2]=(k[bb>>2]|0)+48}k[bb>>2]=k[(k[cb>>2]|0)+20>>2];k[Xa>>2]=k[(k[cb>>2]|0)+12>>2];while(1){if((k[Xa>>2]|0)<=0)break;if(((((((m[(k[bb>>2]|0)+10>>1]&6|0)==0?(m[(k[bb>>2]|0)+12>>1]&130|0)!=0:0)?(m[(k[bb>>2]|0)+12>>1]&2048|0)!=0:0)?(k[(k[bb>>2]|0)+20>>2]|0)==(k[Wa>>2]|0):0)?(k[k[$a>>2]>>2]|0)==0:0)?(k[_a>>2]=k[k[bb>>2]>>2],gb=Ua,gb=hE(k[cb>>2]|0,k[Wa>>2]|0,k[(k[bb>>2]|0)+28>>2]|0,k[gb>>2]|0,k[gb+4>>2]|0,131,0)|0,k[Ya>>2]=gb,(k[Ya>>2]|0)!=0):0)?(m[(k[Ya>>2]|0)+10>>1]&4|0)==0:0){b=db;c=k[k[Ya>>2]>>2]|0;d=b+48|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[db+12>>2]=k[(k[_a>>2]|0)+12>>2];sB(k[ab>>2]|0,db,k[Va>>2]|0,16)}k[Xa>>2]=(k[Xa>>2]|0)+-1;k[bb>>2]=(k[bb>>2]|0)+48}b:do if(k[k[$a>>2]>>2]|0){gb=Gx(k[fb>>2]|0)|0;k[(k[$a>>2]|0)+28>>2]=gb;sx(k[fb>>2]|0,76,1,k[k[$a>>2]>>2]|0)|0;OC(k[ab>>2]|0);k[bb>>2]=k[(k[cb>>2]|0)+20>>2];k[Xa>>2]=0;while(1){if((k[Xa>>2]|0)>=(k[(k[cb>>2]|0)+12>>2]|0))break b;if((m[(k[bb>>2]|0)+10>>1]&6|0)==0?(fb=(k[bb>>2]|0)+40|0,gb=(k[$a>>2]|0)+72|0,!((k[fb>>2]&k[gb>>2]|0)!=0?1:(k[fb+4>>2]&k[gb+4>>2]|0)!=0)):0){sB(k[ab>>2]|0,k[k[bb>>2]>>2]|0,k[Va>>2]|0,16);gb=(k[bb>>2]|0)+10|0;j[gb>>1]=m[gb>>1]|4}k[Xa>>2]=(k[Xa>>2]|0)+1;k[bb>>2]=(k[bb>>2]|0)+48}}while(0);eb=(k[$a>>2]|0)+72|0;gb=k[eb+4>>2]|0;fb=Sa;k[fb>>2]=k[eb>>2];k[fb+4>>2]=gb;fb=Sa;gb=fb;gb=k[gb>>2]|0;fb=fb+4|0;fb=k[fb>>2]|0;L=fb;r=hb;return gb|0}function YD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;f=g;c=g+16|0;d=g+12|0;e=g+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0)){b=6;break}a=k[e>>2]|0;if((k[(k[c>>2]|0)+4+(k[e>>2]<<2)>>2]|0)==(k[d>>2]|0)){b=4;break}k[e>>2]=a+1}if((b|0)==4){d=eS(1,0,a|0)|0;e=f;k[e>>2]=d;k[e+4>>2]=L;e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}else if((b|0)==6){e=f;k[e>>2]=0;k[e+4>>2]=0;e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}return 0}function ZD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=r;r=r+128|0;z=S+120|0;A=S+116|0;B=S+112|0;C=S+108|0;D=S+104|0;E=S+100|0;g=S+96|0;P=S+92|0;Q=S+88|0;L=S+84|0;G=S+80|0;M=S+76|0;N=S+72|0;O=S+68|0;H=S+64|0;s=S+60|0;F=S+56|0;y=S+52|0;h=S+48|0;w=S+44|0;v=S+40|0;x=S+36|0;u=S+32|0;n=S+28|0;p=S+24|0;o=S+20|0;t=S+16|0;q=S+12|0;J=S+8|0;K=S+4|0;I=S;k[A>>2]=a;k[B>>2]=b;k[C>>2]=c;k[D>>2]=d;k[E>>2]=e;k[g>>2]=f;k[P>>2]=k[k[B>>2]>>2];k[Q>>2]=k[(k[A>>2]|0)+8>>2];do if((l[k[P>>2]>>0]|0)!=37?(l[k[P>>2]>>0]|0)!=29:0){if((l[k[P>>2]>>0]|0)==34){k[L>>2]=k[g>>2];sx(k[Q>>2]|0,79,0,k[L>>2]|0)|0;break}k[G>>2]=5;k[O>>2]=k[(k[C>>2]|0)+64>>2];k[s>>2]=0;k[F>>2]=0;if(((k[(k[O>>2]|0)+36>>2]&1024|0)==0?(k[(k[O>>2]|0)+24+8>>2]|0)!=0:0)?(l[(k[(k[(k[O>>2]|0)+24+8>>2]|0)+28>>2]|0)+(k[D>>2]|0)>>0]|0)!=0:0)k[E>>2]=((k[E>>2]|0)!=0^1)&1;k[L>>2]=k[g>>2];k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[D>>2]|0))break;if((k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]|0)!=0?(k[k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]>>2]|0)==(k[P>>2]|0):0){R=14;break}k[H>>2]=(k[H>>2]|0)+1}if((R|0)==14){$D(k[C>>2]|0,k[B>>2]|0);k[z>>2]=k[g>>2];R=k[z>>2]|0;r=S;return R|0}k[H>>2]=k[D>>2];while(1){if((k[H>>2]|0)>=(m[(k[O>>2]|0)+40>>1]|0))break;if((k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]|0)!=0?(k[k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]>>2]|0)==(k[P>>2]|0):0)k[s>>2]=(k[s>>2]|0)+1;k[H>>2]=(k[H>>2]|0)+1}if((k[(k[P>>2]|0)+4>>2]&2048|0)!=0?(k[k[k[(k[P>>2]|0)+20>>2]>>2]>>2]|0)!=1:0){k[y>>2]=k[(k[P>>2]|0)+20>>2];k[h>>2]=k[k[A>>2]>>2];k[w>>2]=k[k[y>>2]>>2];k[v>>2]=k[(k[(k[P>>2]|0)+12>>2]|0)+20>>2];k[x>>2]=0;k[u>>2]=0;k[H>>2]=k[D>>2];while(1){if((k[H>>2]|0)>=(m[(k[O>>2]|0)+40>>1]|0))break;if((k[k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]>>2]|0)==(k[P>>2]|0)){k[n>>2]=(k[(k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]|0)+24>>2]|0)-1;b=Sy(k[h>>2]|0,k[(k[(k[w>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,0)|0;k[p>>2]=b;b=Sy(k[h>>2]|0,k[(k[(k[v>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,0)|0;k[o>>2]=b;b=bw(k[A>>2]|0,k[x>>2]|0,k[p>>2]|0)|0;k[x>>2]=b;b=bw(k[A>>2]|0,k[u>>2]|0,k[o>>2]|0)|0;k[u>>2]=b}k[H>>2]=(k[H>>2]|0)+1}if(!(i[(k[h>>2]|0)+69>>0]|0)){k[t>>2]=k[(k[P>>2]|0)+12>>2];a:do if(k[(k[y>>2]|0)+44>>2]|0){k[q>>2]=k[(k[y>>2]|0)+44>>2];k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[k[q>>2]>>2]|0))break a;j[(k[(k[q>>2]|0)+4>>2]|0)+((k[H>>2]|0)*20|0)+16>>1]=0;k[H>>2]=(k[H>>2]|0)+1}}while(0);g=k[u>>2]|0;if((k[k[u>>2]>>2]|0)==1)k[(k[P>>2]|0)+12>>2]=k[k[g+4>>2]>>2];else{k[(k[t>>2]|0)+20>>2]=g;b=Ch(k[k[A>>2]>>2]|0,k[s>>2]<<2,0)|0;k[F>>2]=b}k[k[y>>2]>>2]=k[x>>2];b=xB(k[A>>2]|0,k[P>>2]|0,4,0,k[F>>2]|0)|0;k[G>>2]=b;k[k[y>>2]>>2]=k[w>>2];k[(k[t>>2]|0)+20>>2]=k[v>>2];k[(k[P>>2]|0)+12>>2]=k[t>>2]}ov(k[k[A>>2]>>2]|0,k[u>>2]|0);ov(k[k[A>>2]>>2]|0,k[x>>2]|0)}else{y=xB(k[A>>2]|0,k[P>>2]|0,4,0,0)|0;k[G>>2]=y}if((k[G>>2]|0)==4)k[E>>2]=((k[E>>2]|0)!=0^1)&1;k[M>>2]=k[(k[P>>2]|0)+28>>2];sx(k[Q>>2]|0,(k[E>>2]|0)!=0?53:57,k[M>>2]|0,0)|0;y=(k[O>>2]|0)+36|0;k[y>>2]=k[y>>2]|2048;if(!(k[(k[C>>2]|0)+56>>2]|0)){y=eA(k[Q>>2]|0)|0;k[(k[C>>2]|0)+16>>2]=y}k[H>>2]=k[(k[C>>2]|0)+56>>2];y=(k[C>>2]|0)+56|0;k[y>>2]=(k[y>>2]|0)+(k[s>>2]|0);y=Zx(k[k[A>>2]>>2]|0,k[(k[C>>2]|0)+56+4>>2]|0,(k[(k[C>>2]|0)+56>>2]|0)*12|0,0)|0;k[(k[C>>2]|0)+56+4>>2]=y;k[N>>2]=k[(k[C>>2]|0)+56+4>>2];b:do if(k[N>>2]|0){k[J>>2]=0;k[N>>2]=(k[N>>2]|0)+((k[H>>2]|0)*12|0);k[H>>2]=k[D>>2];while(1){if((k[H>>2]|0)>=(m[(k[O>>2]|0)+40>>1]|0))break b;if((k[k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]>>2]|0)==(k[P>>2]|0)){k[K>>2]=(k[L>>2]|0)+(k[H>>2]|0)-(k[D>>2]|0);if((k[G>>2]|0)==1){y=sx(k[Q>>2]|0,123,k[M>>2]|0,k[K>>2]|0)|0;k[(k[N>>2]|0)+4>>2]=y}else{if(k[F>>2]|0){g=k[J>>2]|0;k[J>>2]=g+1;g=k[(k[F>>2]|0)+(g<<2)>>2]|0}else g=0;k[I>>2]=g;y=tx(k[Q>>2]|0,96,k[M>>2]|0,k[I>>2]|0,k[K>>2]|0)|0;k[(k[N>>2]|0)+4>>2]=y}aA(k[Q>>2]|0,34,k[K>>2]|0)|0;if((k[H>>2]|0)==(k[D>>2]|0)){k[k[N>>2]>>2]=k[M>>2];i[(k[N>>2]|0)+8>>0]=(k[E>>2]|0)!=0?4:5}else i[(k[N>>2]|0)+8>>0]=-95;k[N>>2]=(k[N>>2]|0)+12}k[H>>2]=(k[H>>2]|0)+1}}else k[(k[C>>2]|0)+56>>2]=0;while(0);bg(k[k[A>>2]>>2]|0,k[F>>2]|0)}else R=3;while(0);if((R|0)==3){R=aB(k[A>>2]|0,k[(k[P>>2]|0)+16>>2]|0,k[g>>2]|0)|0;k[L>>2]=R}$D(k[C>>2]|0,k[B>>2]|0);k[z>>2]=k[L>>2];R=k[z>>2]|0;r=S;return R|0}function _D(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;j=n+8|0;i=n+4|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(fB(k[f>>2]|0)|0)){$A(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0);r=n;return}if(k[(k[f>>2]|0)+4>>2]&2048){k[m>>2]=k[(k[e>>2]|0)+8>>2];a=nB(k[e>>2]|0,k[f>>2]|0,0,0)|0;k[j>>2]=a;tx(k[m>>2]|0,84,k[j>>2]|0,k[g>>2]|0,(k[h>>2]|0)-1|0)|0;r=n;return}k[l>>2]=k[(k[f>>2]|0)+20>>2];k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[h>>2]|0))break;$A(k[e>>2]|0,k[(k[(k[l>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,(k[g>>2]|0)+(k[i>>2]|0)|0);k[i>>2]=(k[i>>2]|0)+1}r=n;return}function $D(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if(!(k[d>>2]|0)){c=14;break}if((m[(k[d>>2]|0)+10>>1]|0)&4){c=14;break}if((k[k[c>>2]>>2]|0)!=0?(k[(k[k[d>>2]>>2]|0)+4>>2]&1|0)==0:0){c=14;break}a=(k[c>>2]|0)+72|0;b=(k[d>>2]|0)+40|0;if(!((k[a>>2]&k[b>>2]|0)==0?(k[a+4>>2]&k[b+4>>2]|0)==0:0)){c=14;break}if((k[e>>2]|0)!=0?((m[(k[d>>2]|0)+10>>1]|0)&1024|0)!=0:0){b=(k[d>>2]|0)+10|0;j[b>>1]=m[b>>1]|0|512}else{b=(k[d>>2]|0)+10|0;j[b>>1]=m[b>>1]|0|4}if((k[(k[d>>2]|0)+16>>2]|0)<0){c=14;break}k[d>>2]=(k[(k[(k[d>>2]|0)+4>>2]|0)+20>>2]|0)+((k[(k[d>>2]|0)+16>>2]|0)*48|0);b=(k[d>>2]|0)+14|0;i[b>>0]=(i[b>>0]|0)+-1<<24>>24;if(l[(k[d>>2]|0)+14>>0]|0){c=14;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==14){r=f;return}}function aE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+80|0;h=A+60|0;l=A+56|0;n=A+52|0;C=A+48|0;o=A+44|0;q=A+66|0;g=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;p=A+24|0;x=A+20|0;s=A+16|0;z=A+12|0;f=A+8|0;w=A+4|0;u=A;k[h>>2]=a;k[l>>2]=b;k[n>>2]=c;k[C>>2]=d;k[o>>2]=e;k[y>>2]=k[(k[h>>2]|0)+8>>2];k[t>>2]=k[(k[l>>2]|0)+64>>2];j[q>>1]=j[(k[t>>2]|0)+24>>1]|0;j[g>>1]=j[(k[t>>2]|0)+42>>1]|0;k[B>>2]=k[(k[t>>2]|0)+24+8>>2];k[x>>2]=(k[(k[h>>2]|0)+44>>2]|0)+1;k[s>>2]=(m[(k[t>>2]|0)+24>>1]|0)+(k[C>>2]|0);e=(k[h>>2]|0)+44|0;k[e>>2]=(k[e>>2]|0)+(k[s>>2]|0);e=k[k[h>>2]>>2]|0;e=Ah(e,MC(k[k[h>>2]>>2]|0,k[B>>2]|0)|0)|0;k[z>>2]=e;a:do if(j[g>>1]|0){k[f>>2]=k[(k[l>>2]|0)+8>>2];aA(k[y>>2]|0,(k[n>>2]|0)!=0?53:57,k[f>>2]|0)|0;C=px(k[y>>2]|0,13)|0;k[p>>2]=C;C=Sh(k[y>>2]|0,(k[n>>2]|0)!=0?23:26,k[f>>2]|0,0,k[x>>2]|0,m[g>>1]|0)|0;k[(k[l>>2]|0)+20>>2]=C;hA(k[y>>2]|0,k[p>>2]|0);k[p>>2]=0;while(1){if((k[p>>2]|0)>=(m[g>>1]|0))break a;tx(k[y>>2]|0,96,k[f>>2]|0,k[p>>2]|0,(k[x>>2]|0)+(k[p>>2]|0)|0)|0;k[p>>2]=(k[p>>2]|0)+1}}while(0);k[p>>2]=m[g>>1];while(1){if((k[p>>2]|0)>=(m[q>>1]|0))break;k[v>>2]=k[(k[(k[t>>2]|0)+48>>2]|0)+(k[p>>2]<<2)>>2];C=ZD(k[h>>2]|0,k[v>>2]|0,k[l>>2]|0,k[p>>2]|0,k[n>>2]|0,(k[x>>2]|0)+(k[p>>2]|0)|0)|0;k[w>>2]=C;do if((k[w>>2]|0)!=((k[x>>2]|0)+(k[p>>2]|0)|0))if((k[s>>2]|0)==1){Hx(k[h>>2]|0,k[x>>2]|0);k[x>>2]=k[w>>2];break}else{sx(k[y>>2]|0,85,k[w>>2]|0,(k[x>>2]|0)+(k[p>>2]|0)|0)|0;break}while(0);c=k[v>>2]|0;if(m[(k[v>>2]|0)+12>>1]&1){if((k[z>>2]|0)!=0?(k[(k[c>>2]|0)+4>>2]&2048|0)!=0:0)i[(k[z>>2]|0)+(k[p>>2]|0)>>0]=65}else if(!(m[c+12>>1]&256)){k[u>>2]=k[(k[k[v>>2]>>2]|0)+16>>2];if((m[(k[v>>2]|0)+10>>1]&2048|0)==0?(yB(k[u>>2]|0)|0)!=0:0)sx(k[y>>2]|0,34,(k[x>>2]|0)+(k[p>>2]|0)|0,k[(k[l>>2]|0)+12>>2]|0)|0;if(k[z>>2]|0){if(((BB(k[u>>2]|0,i[(k[z>>2]|0)+(k[p>>2]|0)>>0]|0)|0)<<24>>24|0)==65)i[(k[z>>2]|0)+(k[p>>2]|0)>>0]=65;if(mE(k[u>>2]|0,i[(k[z>>2]|0)+(k[p>>2]|0)>>0]|0)|0)i[(k[z>>2]|0)+(k[p>>2]|0)>>0]=65}}k[p>>2]=(k[p>>2]|0)+1}k[k[o>>2]>>2]=k[z>>2];r=A;return k[x>>2]|0}function bE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[h>>2]=c;if(!((m[(k[h>>2]|0)+10>>1]|0)&256)){r=g;return}h=oA(k[d>>2]|0,-1)|0;k[f>>2]=h;k[(k[f>>2]|0)+12>>2]=(k[(k[e>>2]|0)+36>>2]|0)>>>1;i[(k[f>>2]|0)+3>>0]=k[(k[e>>2]|0)+36>>2]&1;r=g;return}function cE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;c=zB(k[d>>2]|0,k[g>>2]|0)|0;k[h>>2]=c;if(!(((BB(k[h>>2]|0,i[(k[f>>2]|0)+(k[g>>2]|0)>>0]|0)|0)<<24>>24|0)!=65?(mE(k[h>>2]|0,i[(k[f>>2]|0)+(k[g>>2]|0)>>0]|0)|0)==0:0))i[(k[f>>2]|0)+(k[g>>2]|0)>>0]=65;k[g>>2]=(k[g>>2]|0)+1}r=j;return}function dE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=k[(k[e>>2]|0)+8>>2];if(!(k[h>>2]|0)){r=l;return}while(1){if((k[g>>2]|0)<=0)break;if((i[k[h>>2]>>0]|0)!=65)break;k[g>>2]=(k[g>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}while(1){if((k[g>>2]|0)>1)c=(i[(k[h>>2]|0)+((k[g>>2]|0)-1)>>0]|0)==65;else c=0;b=k[g>>2]|0;if(!c)break;k[g>>2]=b+-1}if((b|0)<=0){r=l;return}wx(k[j>>2]|0,98,k[f>>2]|0,k[g>>2]|0,0,k[h>>2]|0,k[g>>2]|0)|0;eB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0);r=l;return}function eE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;n=r;r=r+48|0;o=n+32|0;e=n+28|0;p=n+24|0;q=n+20|0;h=n+16|0;l=n+12|0;g=n+8|0;i=n+4|0;f=n;k[o>>2]=a;k[e>>2]=b;k[p>>2]=c;k[q>>2]=d;k[h>>2]=k[k[o>>2]>>2];k[l>>2]=k[(k[h>>2]|0)+8>>2];tx(k[l>>2]|0,128,k[q>>2]|0,0,k[p>>2]|0)|0;if(!(m[(k[o>>2]|0)+40>>1]&32)){r=n;return}c=k[h>>2]|0;if(k[(k[h>>2]|0)+124>>2]|0)c=k[c+124>>2]|0;if(k[c+92>>2]|0){r=n;return}k[i>>2]=k[(k[e>>2]|0)+12>>2];q=Ch(k[k[h>>2]>>2]|0,(j[(k[i>>2]|0)+34>>1]|0)+1<<2,0)|0;k[f>>2]=q;if(!(k[f>>2]|0)){r=n;return}k[k[f>>2]>>2]=j[(k[i>>2]|0)+34>>1];k[g>>2]=0;while(1){if((k[g>>2]|0)>=((m[(k[e>>2]|0)+52>>1]|0)-1|0))break;if((j[(k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1]|0)>=0)k[(k[f>>2]|0)+((j[(k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1]|0)+1<<2)>>2]=(k[g>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}Wh(k[l>>2]|0,-1,k[f>>2]|0,-15);r=n;return}function fE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=r;r=r+32|0;f=i+20|0;m=i+16|0;l=i+12|0;j=i+8|0;g=i+4|0;h=i;k[f>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[g>>2]=e;b=bB(k[f>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[g>>2]|0,0)|0;k[h>>2]=b;if((k[h>>2]|0)==(k[g>>2]|0)){r=i;return}sx(k[(k[f>>2]|0)+8>>2]|0,85,k[h>>2]|0,k[g>>2]|0)|0;r=i;return}function gE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(oA(k[f>>2]|0,k[e>>2]|0)|0)+4|0;k[c>>2]=a;r=d;return}function hE(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;p=r;r=r+144|0;l=p+132|0;u=p+128|0;t=p+124|0;s=p+120|0;h=p;i=p+116|0;q=p+112|0;o=p+108|0;n=p+104|0;j=p+8|0;k[u>>2]=a;k[t>>2]=b;k[s>>2]=c;a=h;k[a>>2]=d;k[a+4>>2]=e;k[i>>2]=f;k[q>>2]=g;k[o>>2]=0;a=iE(j,k[u>>2]|0,k[t>>2]|0,k[s>>2]|0,k[i>>2]|0,k[q>>2]|0)|0;k[n>>2]=a;k[i>>2]=k[i>>2]&130;while(1){if(!(k[n>>2]|0)){d=10;break}t=(k[n>>2]|0)+32|0;u=h;if((k[t>>2]&k[u>>2]|0)==0?(k[t+4>>2]&k[u+4>>2]|0)==0:0){u=(k[n>>2]|0)+32|0;if((k[u>>2]|0)==0&(k[u+4>>2]|0)==0?((m[(k[n>>2]|0)+12>>1]|0)&k[i>>2]|0)!=0:0){d=6;break}if(!(k[o>>2]|0))k[o>>2]=k[n>>2]}u=jE(j)|0;k[n>>2]=u}if((d|0)==6){k[l>>2]=k[n>>2];u=k[l>>2]|0;r=p;return u|0}else if((d|0)==10){k[l>>2]=k[o>>2];u=k[l>>2]|0;r=p;return u|0}return 0}function iE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+32|0;g=p+24|0;q=p+20|0;h=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[q>>2]=b;k[h>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=0;k[k[g>>2]>>2]=k[q>>2];k[(k[g>>2]|0)+4>>2]=k[q>>2];k[(k[g>>2]|0)+12>>2]=0;if(k[n>>2]|0){k[o>>2]=k[l>>2];k[l>>2]=j[(k[(k[n>>2]|0)+4>>2]|0)+(k[o>>2]<<1)>>1];if((k[l>>2]|0)==-2)k[(k[g>>2]|0)+12>>2]=k[(k[(k[(k[n>>2]|0)+40>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2];if((k[l>>2]|0)==(j[(k[(k[n>>2]|0)+12>>2]|0)+32>>1]|0))k[l>>2]=-1}if((k[n>>2]|0)!=0&(k[l>>2]|0)>=0){i[(k[g>>2]|0)+16>>0]=i[(k[(k[(k[n>>2]|0)+12>>2]|0)+4>>2]|0)+(k[l>>2]<<4)+13>>0]|0;k[(k[g>>2]|0)+8>>2]=k[(k[(k[n>>2]|0)+32>>2]|0)+(k[o>>2]<<2)>>2]}else{i[(k[g>>2]|0)+16>>0]=0;k[(k[g>>2]|0)+8>>2]=0}k[(k[g>>2]|0)+20>>2]=k[m>>2];k[(k[g>>2]|0)+24>>2]=0;k[(k[g>>2]|0)+28>>2]=k[h>>2];j[(k[g>>2]|0)+72>>1]=k[l>>2];i[(k[g>>2]|0)+17>>0]=1;i[(k[g>>2]|0)+18>>0]=1;q=jE(k[g>>2]|0)|0;r=p;return q|0}function jE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;n=s+36|0;o=s+32|0;c=s+28|0;b=s+40|0;h=s+24|0;g=s+20|0;q=s+16|0;p=s+12|0;d=s+8|0;e=s+4|0;f=s;k[o>>2]=a;k[p>>2]=k[(k[o>>2]|0)+24>>2];a:while(1){if((l[(k[o>>2]|0)+18>>0]|0)>(l[(k[o>>2]|0)+17>>0]|0)){b=40;break}k[c>>2]=k[(k[o>>2]|0)+28+((l[(k[o>>2]|0)+18>>0]|0)-1<<2)>>2];j[b>>1]=j[(k[o>>2]|0)+72+((l[(k[o>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((j[b>>1]|0)==-2?(k[(k[o>>2]|0)+12>>2]|0)==0:0){b=5;break}while(1){a=k[(k[o>>2]|0)+4>>2]|0;k[g>>2]=a;if(!a)break;k[q>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[p>>2]|0)*48|0);while(1){if((k[p>>2]|0)>=(k[(k[g>>2]|0)+12>>2]|0))break;do if((k[(k[q>>2]|0)+20>>2]|0)==(k[c>>2]|0)?(k[(k[q>>2]|0)+28>>2]|0)==(j[b>>1]|0):0){if((j[b>>1]|0)==-2?(Uy(k[(k[k[q>>2]>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[c>>2]|0)|0)!=0:0)break;if((l[(k[o>>2]|0)+18>>0]|0)>1?(k[(k[k[q>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((m[(k[q>>2]|0)+12>>1]&2048|0)!=0?(l[(k[o>>2]|0)+17>>0]|0)<11:0)?(a=uy(k[(k[k[q>>2]>>2]|0)+16>>2]|0)|0,k[h>>2]=a,(l[a>>0]|0)==152):0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(l[(k[o>>2]|0)+17>>0]|0))break;if((k[(k[o>>2]|0)+28+(k[d>>2]<<2)>>2]|0)==(k[(k[h>>2]|0)+28>>2]|0)?(j[(k[o>>2]|0)+72+(k[d>>2]<<1)>>1]|0)==(j[(k[h>>2]|0)+32>>1]|0):0)break;k[d>>2]=(k[d>>2]|0)+1}if((k[d>>2]|0)==(l[(k[o>>2]|0)+17>>0]|0)){k[(k[o>>2]|0)+28+(k[d>>2]<<2)>>2]=k[(k[h>>2]|0)+28>>2];j[(k[o>>2]|0)+72+(k[d>>2]<<1)>>1]=j[(k[h>>2]|0)+32>>1]|0;a=(k[o>>2]|0)+17|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}}if(m[(k[q>>2]|0)+12>>1]&k[(k[o>>2]|0)+20>>2]){if((k[(k[o>>2]|0)+8>>2]|0)!=0?(m[(k[q>>2]|0)+12>>1]&256|0)==0:0){k[f>>2]=k[k[k[g>>2]>>2]>>2];k[h>>2]=k[k[q>>2]>>2];if(!(kE(k[h>>2]|0,i[(k[o>>2]|0)+16>>0]|0)|0))break;a=CB(k[f>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[(k[h>>2]|0)+16>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0))k[e>>2]=k[(k[k[f>>2]>>2]|0)+8>>2];if(sg(k[k[e>>2]>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0)break}if(!(m[(k[q>>2]|0)+12>>1]&130)){b=36;break a}a=k[(k[k[q>>2]>>2]|0)+16>>2]|0;k[h>>2]=a;if((l[a>>0]|0)!=152){b=36;break a}if((k[(k[h>>2]|0)+28>>2]|0)!=(k[(k[o>>2]|0)+28>>2]|0)){b=36;break a}if((j[(k[h>>2]|0)+32>>1]|0)!=(j[(k[o>>2]|0)+72>>1]|0)){b=36;break a}}}while(0);k[p>>2]=(k[p>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+48}k[(k[o>>2]|0)+4>>2]=k[(k[(k[o>>2]|0)+4>>2]|0)+4>>2];k[p>>2]=0}k[(k[o>>2]|0)+4>>2]=k[k[o>>2]>>2];k[p>>2]=0;a=(k[o>>2]|0)+18|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}if((b|0)==5){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}else if((b|0)==36){k[(k[o>>2]|0)+24>>2]=(k[p>>2]|0)+1;k[n>>2]=k[q>>2];q=k[n>>2]|0;r=s;return q|0}else if((b|0)==40){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}return 0}function kE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+4|0;g=e;d=e+9|0;f=e+8|0;k[g>>2]=a;i[d>>0]=b;a=lE(k[g>>2]|0)|0;i[f>>0]=a;switch(i[f>>0]|0){case 65:{k[c>>2]=1;break}case 66:{k[c>>2]=(i[d>>0]|0)==66&1;break}default:k[c>>2]=(i[d>>0]|0)>=67&1}r=e;return k[c>>2]|0}function lE(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d;c=d+4|0;k[b>>2]=a;a=oy(k[(k[b>>2]|0)+12>>2]|0)|0;i[c>>0]=a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+16>>2]|0){b=BB(k[a+16>>2]|0,i[c>>0]|0)|0;i[c>>0]=b;c=i[c>>0]|0;r=d;return c|0}if(k[a+4>>2]&2048){b=BB(k[k[(k[k[(k[b>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,i[c>>0]|0)|0;i[c>>0]=b;c=i[c>>0]|0;r=d;return c|0}if(i[c>>0]|0){c=i[c>>0]|0;r=d;return c|0}i[c>>0]=65;c=i[c>>0]|0;r=d;return c|0}function mE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+4|0;c=g;d=g+9|0;e=g+8|0;k[c>>2]=a;i[d>>0]=b;a:do if((i[d>>0]|0)==65)k[f>>2]=1;else{while(1){if((l[k[c>>2]>>0]|0)==156)a=1;else a=(l[k[c>>2]>>0]|0)==155;b=k[c>>2]|0;if(!a)break;k[c>>2]=k[b+12>>2]}i[e>>0]=i[b>>0]|0;if((l[e>>0]|0)==157)i[e>>0]=i[(k[c>>2]|0)+38>>0]|0;switch(l[e>>0]|0){case 134:{if((i[d>>0]|0)==68)b=1;else b=(i[d>>0]|0)==67;k[f>>2]=b&1;break a}case 132:{if((i[d>>0]|0)==69)b=1;else b=(i[d>>0]|0)==67;k[f>>2]=b&1;break a}case 97:{k[f>>2]=(i[d>>0]|0)==66&1;break a}case 133:{k[f>>2]=1;break a}case 152:{if((j[(k[c>>2]|0)+32>>1]|0)<0)if((i[d>>0]|0)==68)b=1;else b=(i[d>>0]|0)==67;else b=0;k[f>>2]=b&1;break a}default:{k[f>>2]=0;break a}}}while(0);r=g;return k[f>>2]|0}function nE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[e>>2]|0;b=k[d>>2]|0;CA(a,b,Tf(k[d>>2]|0)|0);r=c;return}function oE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;o=r;r=r+32|0;l=o;c=o+24|0;d=o+20|0;i=o+16|0;g=o+30|0;h=o+28|0;e=o+12|0;f=o+8|0;n=o+4|0;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[d>>2]|0)+24+8>>2];j[g>>1]=j[(k[d>>2]|0)+24>>1]|0;j[h>>1]=j[(k[d>>2]|0)+42>>1]|0;if((m[g>>1]|0|0)==0?(k[(k[d>>2]|0)+36>>2]&48|0)==0:0){r=o;return}CA(k[c>>2]|0,34684,2);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[g>>1]|0|0))break;a=pE(k[i>>2]|0,k[e>>2]|0)|0;k[n>>2]=a;if(k[e>>2]|0)CA(k[c>>2]|0,34687,5);b=k[c>>2]|0;a=(k[e>>2]|0)>=(m[h>>1]|0|0)?34693:34698;k[l>>2]=k[n>>2];BA(b,a,l);k[e>>2]=(k[e>>2]|0)+1}k[f>>2]=k[e>>2];if(k[(k[d>>2]|0)+36>>2]&32){qE(k[c>>2]|0,k[i>>2]|0,m[(k[d>>2]|0)+24+2>>1]|0,k[f>>2]|0,k[e>>2]|0,34615);k[e>>2]=1}if(k[(k[d>>2]|0)+36>>2]&16)qE(k[c>>2]|0,k[i>>2]|0,m[(k[d>>2]|0)+24+4>>1]|0,k[f>>2]|0,k[e>>2]|0,34617);CA(k[c>>2]|0,34706,1);r=o;return}function pE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;k[e>>2]=j[(k[(k[d>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1];if((k[e>>2]|0)==-2){k[c>>2]=34712;a=k[c>>2]|0;r=f;return a|0}if((k[e>>2]|0)==-1){k[c>>2]=24745;a=k[c>>2]|0;r=f;return a|0}else{k[c>>2]=k[(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(k[e>>2]<<4)>>2];a=k[c>>2]|0;r=f;return a|0}return 0}function qE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;o=n+8|0;l=n+4|0;m=n;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[o>>2]=e;k[l>>2]=f;if(k[o>>2]|0)CA(k[g>>2]|0,34687,5);if((k[i>>2]|0)>1)CA(k[g>>2]|0,34708,1);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[i>>2]|0))break;if(k[m>>2]|0)CA(k[g>>2]|0,34710,1);o=k[g>>2]|0;nE(o,pE(k[h>>2]|0,(k[j>>2]|0)+(k[m>>2]|0)|0)|0);k[m>>2]=(k[m>>2]|0)+1}if((k[i>>2]|0)>1)CA(k[g>>2]|0,34706,1);CA(k[g>>2]|0,k[l>>2]|0,1);if((k[i>>2]|0)>1)CA(k[g>>2]|0,34708,1);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[i>>2]|0))break;if(k[m>>2]|0)CA(k[g>>2]|0,34710,1);CA(k[g>>2]|0,20275,1);k[m>>2]=(k[m>>2]|0)+1}if((k[i>>2]|0)<=1){r=n;return}CA(k[g>>2]|0,34706,1);r=n;return}function rE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=HB(k[e>>2]|0,3,k[d>>2]|0)|0;r=c;return a|0}function sE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l;j=l+20|0;k[f>>2]=a;k[g>>2]=b;a=h;k[a>>2]=c;k[a+4>>2]=d;if((k[(k[f>>2]|0)+20>>2]|0)!=(k[(k[g>>2]|0)+44>>2]|0)){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}if(!((m[(k[f>>2]|0)+12>>1]|0)&130)){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}b=(k[f>>2]|0)+32|0;a=h;if((k[b>>2]&k[a>>2]|0)!=0?1:(k[b+4>>2]&k[a+4>>2]|0)!=0){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}if((k[(k[f>>2]|0)+28>>2]|0)<0){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}i[j>>0]=i[(k[(k[(k[g>>2]|0)+16>>2]|0)+4>>2]|0)+(k[(k[f>>2]|0)+28>>2]<<4)+13>>0]|0;if(kE(k[k[f>>2]>>2]|0,i[j>>0]|0)|0){k[e>>2]=1;a=k[e>>2]|0;r=l;return a|0}else{k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}return 0}function tE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((m[(k[f>>2]|0)+44>>1]|0|0)>=(k[g>>2]|0)){k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}k[g>>2]=(k[g>>2]|0)+7&-8;b=dx(k[e>>2]|0,k[g>>2]<<2,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[d>>2]=7;h=k[d>>2]|0;r=i;return h|0}bS(k[h>>2]|0,k[(k[f>>2]|0)+48>>2]|0,(m[(k[f>>2]|0)+44>>1]|0)<<2|0)|0;if((k[(k[f>>2]|0)+48>>2]|0)!=((k[f>>2]|0)+56|0))bg(k[e>>2]|0,k[(k[f>>2]|0)+48>>2]|0);k[(k[f>>2]|0)+48>>2]=k[h>>2];j[(k[f>>2]|0)+44>>1]=k[g>>2];k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function uE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;l=r;r=r+32|0;m=l+20|0;e=l+24|0;n=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;i=l;k[m>>2]=a;j[e>>1]=b;k[n>>2]=c;k[f>>2]=d;k[g>>2]=56+((j[e>>1]<<2)+7&-8)+(((j[e>>1]|0)+1<<1)+(j[e>>1]<<1)+(j[e>>1]|0)+7&-8);d=(k[g>>2]|0)+(k[n>>2]|0)|0;d=Ch(k[m>>2]|0,d,((d|0)<0)<<31>>31)|0;k[h>>2]=d;if(!(k[h>>2]|0)){n=k[h>>2]|0;r=l;return n|0}k[i>>2]=(k[h>>2]|0)+56;k[(k[h>>2]|0)+32>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+((j[e>>1]<<2)+7&-8);k[(k[h>>2]|0)+8>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+((j[e>>1]|0)+1<<1);k[(k[h>>2]|0)+4>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+(j[e>>1]<<1);k[(k[h>>2]|0)+28>>2]=k[i>>2];j[(k[h>>2]|0)+52>>1]=j[e>>1]|0;j[(k[h>>2]|0)+50>>1]=(j[e>>1]|0)-1;k[k[f>>2]>>2]=(k[h>>2]|0)+(k[g>>2]|0);n=k[h>>2]|0;r=l;return n|0}function vE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+8|0;d=g+20|0;e=g+16|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){e=c;k[e>>2]=0;k[e+4>>2]=0;e=c;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}if((l[k[e>>2]>>0]|0|0)==152){e=YD(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0)|0;d=f;k[d>>2]=e;k[d+4>>2]=L;d=f;f=k[d+4>>2]|0;e=c;k[e>>2]=k[d>>2];k[e+4>>2]=f;e=c;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}if(k[(k[e>>2]|0)+16>>2]|0){b=vE(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0;a=L}else{b=0;a=0}h=f;k[h>>2]=b;k[h+4>>2]=a;if(k[(k[e>>2]|0)+12>>2]|0){b=vE(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0;i=f;a=k[i+4>>2]|L;h=f;k[h>>2]=k[i>>2]|b;k[h+4>>2]=a}if(!(k[(k[e>>2]|0)+4>>2]&2048)){if(k[(k[e>>2]|0)+20>>2]|0){e=UD(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;d=f;h=k[d+4>>2]|L;i=f;k[i>>2]=k[d>>2]|e;k[i+4>>2]=h}}else{e=wE(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;d=f;h=k[d+4>>2]|L;i=f;k[i>>2]=k[d>>2]|e;k[i+4>>2]=h}i=k[f+4>>2]|0;h=c;k[h>>2]=k[f>>2];k[h+4>>2]=i;h=c;i=h;i=k[i>>2]|0;h=h+4|0;h=k[h>>2]|0;L=h;r=g;return i|0}function wE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;f=h;g=h+12|0;e=h+8|0;k[c>>2]=a;k[d>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;while(1){if(!(k[d>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+28>>2];i=UD(k[c>>2]|0,k[k[d>>2]>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;b=UD(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0)|0;a=f;i=k[a+4>>2]|L;j=f;k[j>>2]=k[a>>2]|b;k[j+4>>2]=i;j=UD(k[c>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0;i=f;b=k[i+4>>2]|L;a=f;k[a>>2]=k[i>>2]|j;k[a+4>>2]=b;a=vE(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0)|0;b=f;j=k[b+4>>2]|L;i=f;k[i>>2]=k[b>>2]|a;k[i+4>>2]=j;i=vE(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;a:do if(k[g>>2]|0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[g>>2]>>2]|0))break a;i=wE(k[c>>2]|0,k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+20>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;b=vE(k[c>>2]|0,k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+48>>2]|0)|0;a=f;i=k[a+4>>2]|L;j=f;k[j>>2]=k[a>>2]|b;k[j+4>>2]=i;k[e>>2]=(k[e>>2]|0)+1}}while(0);k[d>>2]=k[(k[d>>2]|0)+48>>2]}j=f;L=k[j+4>>2]|0;r=h;return k[j>>2]|0}function xE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f+2|0;e=f;j[d>>1]=a;j[e>>1]=b;if((j[d>>1]|0)>=(j[e>>1]|0)){a=j[d>>1]|0;if((j[d>>1]|0)>((j[e>>1]|0)+49|0)){j[c>>1]=a;e=j[c>>1]|0;r=f;return e|0}b=j[d>>1]|0;if((a<<16>>16|0)>((j[e>>1]|0)+31|0)){j[c>>1]=b+1;e=j[c>>1]|0;r=f;return e|0}else{j[c>>1]=b+(l[34774+((j[d>>1]|0)-(j[e>>1]|0))>>0]|0);e=j[c>>1]|0;r=f;return e|0}}else{a=j[e>>1]|0;if((j[e>>1]|0)>((j[d>>1]|0)+49|0)){j[c>>1]=a;e=j[c>>1]|0;r=f;return e|0}b=j[e>>1]|0;if((a<<16>>16|0)>((j[d>>1]|0)+31|0)){j[c>>1]=b+1;e=j[c>>1]|0;r=f;return e|0}else{j[c>>1]=b+(l[34774+((j[e>>1]|0)-(j[d>>1]|0))>>0]|0);e=j[c>>1]|0;r=f;return e|0}}return 0}function yE(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+160|0;Z=ca+149|0;h=ca+124|0;n=ca+120|0;o=ca+116|0;p=ca+140|0;q=ca+138|0;s=ca+112|0;t=ca+108|0;W=ca+148|0;U=ca+147|0;V=ca+146|0;D=ca+145|0;w=ca+144|0;C=ca+143|0;y=ca+136|0;H=ca+134|0;G=ca+132|0;I=ca+130|0;B=ca+104|0;_=ca+100|0;E=ca+96|0;A=ca+92|0;z=ca+88|0;P=ca+84|0;R=ca+80|0;Q=ca+76|0;N=ca+72|0;O=ca+68|0;v=ca+64|0;aa=ca+40|0;J=ca+32|0;K=ca+24|0;T=ca+16|0;X=ca+60|0;Y=ca+56|0;u=ca+142|0;x=ca+128|0;S=ca+52|0;M=ca+48|0;F=ca+8|0;$=ca;k[h>>2]=a;k[n>>2]=b;k[o>>2]=c;j[p>>1]=d;j[q>>1]=e;k[s>>2]=f;k[t>>2]=g;k[P>>2]=0;k[v>>2]=k[k[k[h>>2]>>2]>>2];d=aa;k[d>>2]=0;k[d+4>>2]=0;if((m[q>>1]|0)!=0?(m[(k[v>>2]|0)+64>>1]&128|0)!=0:0){i[Z>>0]=0;ba=i[Z>>0]|0;r=ca;return ba|0}j[I>>1]=k[k[n>>2]>>2];if((m[I>>1]|0)>63){i[Z>>0]=0;ba=i[Z>>0]|0;r=ca;return ba|0}i[D>>0]=1;a=eS(1,0,m[I>>1]|0)|0;a=_R(a|0,L|0,1,0)|0;d=J;k[d>>2]=a;k[d+4>>2]=L;d=K;k[d>>2]=0;k[d+4>>2]=0;d=T;k[d>>2]=0;k[d+4>>2]=0;j[y>>1]=386;if(m[p>>1]&2048)j[y>>1]=m[y>>1]|1;k[B>>2]=0;a:while(1){if(!(l[D>>0]|0))break;a=aa;c=k[a+4>>2]|0;d=J;g=k[d+4>>2]|0;if(!(c>>>0>>0|((c|0)==(g|0)?(k[a>>2]|0)>>>0<(k[d>>2]|0)>>>0:0)))break;if((k[B>>2]|0)>(m[q>>1]|0))break;if((k[B>>2]|0)>0){g=(k[P>>2]|0)+8|0;c=T;a=k[c+4>>2]|k[g+4>>2];d=T;k[d>>2]=k[c>>2]|k[g>>2];k[d+4>>2]=a}if((k[B>>2]|0)<(m[q>>1]|0)){k[P>>2]=k[(k[(k[o>>2]|0)+24>>2]|0)+(k[B>>2]<<2)>>2];if(!(m[p>>1]&2048))ba=17}else{k[P>>2]=k[s>>2];ba=17}b:do if((ba|0)==17){ba=0;e=k[P>>2]|0;if(k[(k[P>>2]|0)+36>>2]&1024){ba=18;break a}k[A>>2]=k[(k[(k[h>>2]|0)+4>>2]|0)+8+((l[e+16>>0]|0)*72|0)+44>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(m[I>>1]|0))break;a=eS(1,0,k[_>>2]|0)|0;d=aa;c:do if(((!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)?(d=uy(k[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)>>2]|0)|0,k[Q>>2]=d,(l[k[Q>>2]>>0]|0)==152):0)?(k[(k[Q>>2]|0)+28>>2]|0)==(k[A>>2]|0):0)?(d=T,d=hE((k[h>>2]|0)+80|0,k[A>>2]|0,j[(k[Q>>2]|0)+32>>1]|0,~k[d>>2],~k[d+4>>2],m[y>>1]|0,0)|0,k[R>>2]=d,(k[R>>2]|0)!=0):0){if((m[(k[R>>2]|0)+12>>1]|0)==1){k[E>>2]=0;while(1){if((k[E>>2]|0)>=(m[(k[P>>2]|0)+40>>1]|0))break;if((k[R>>2]|0)==(k[(k[(k[P>>2]|0)+48>>2]|0)+(k[E>>2]<<2)>>2]|0))break;k[E>>2]=(k[E>>2]|0)+1}if((k[E>>2]|0)>=(m[(k[P>>2]|0)+40>>1]|0))break}do if(m[(k[R>>2]|0)+12>>1]&130){if((j[(k[Q>>2]|0)+32>>1]|0)<0)break;d=py(k[k[h>>2]>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)>>2]|0)|0;k[N>>2]=d;if(!(k[N>>2]|0))k[N>>2]=k[(k[v>>2]|0)+8>>2];k[X>>2]=k[k[N>>2]>>2];d=py(k[k[h>>2]>>2]|0,k[k[R>>2]>>2]|0)|0;k[N>>2]=d;if(!(k[N>>2]|0))k[N>>2]=k[(k[v>>2]|0)+8>>2];k[Y>>2]=k[k[N>>2]>>2];if(sg(k[X>>2]|0,k[Y>>2]|0)|0)break c}while(0);g=eS(1,0,k[_>>2]|0)|0;c=aa;a=k[c+4>>2]|L;d=aa;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}while(0);k[_>>2]=(k[_>>2]|0)+1}if(!(k[(k[P>>2]|0)+36>>2]&4096)){if(k[(k[P>>2]|0)+36>>2]&256){k[O>>2]=0;j[H>>1]=0;j[G>>1]=1}else{d=k[(k[P>>2]|0)+24+8>>2]|0;k[O>>2]=d;if(!d){ba=46;break a}if((l[(k[O>>2]|0)+55>>0]|0)>>>2&1){ba=46;break a}j[H>>1]=j[(k[O>>2]|0)+50>>1]|0;j[G>>1]=j[(k[O>>2]|0)+52>>1]|0;i[D>>0]=(l[(k[O>>2]|0)+54>>0]|0)!=0}i[W>>0]=0;i[U>>0]=0;i[w>>0]=0;k[E>>2]=0;while(1){if((k[E>>2]|0)>=(m[G>>1]|0))break;i[u>>0]=1;d:do if((k[E>>2]|0)<(m[(k[P>>2]|0)+24>>1]|0)?(k[E>>2]|0)>=(m[(k[P>>2]|0)+42>>1]|0):0){j[x>>1]=j[(k[(k[(k[P>>2]|0)+48>>2]|0)+(k[E>>2]<<2)>>2]|0)+12>>1]|0;e=m[x>>1]|0;if(m[x>>1]&m[y>>1]){if(!(e&256))break;i[D>>0]=0;break}if(!(e&1)){ba=61;break}k[S>>2]=k[k[(k[(k[P>>2]|0)+48>>2]|0)+(k[E>>2]<<2)>>2]>>2];k[_>>2]=(k[E>>2]|0)+1;while(1){if((k[_>>2]|0)>=(m[(k[P>>2]|0)+24>>1]|0)){ba=61;break d}if((k[k[(k[(k[P>>2]|0)+48>>2]|0)+(k[_>>2]<<2)>>2]>>2]|0)==(k[S>>2]|0))break;k[_>>2]=(k[_>>2]|0)+1}i[u>>0]=0;ba=61}else ba=61;while(0);if((ba|0)==61){ba=0;do if(k[O>>2]|0){k[z>>2]=j[(k[(k[O>>2]|0)+4>>2]|0)+(k[E>>2]<<1)>>1];i[V>>0]=i[(k[(k[O>>2]|0)+28>>2]|0)+(k[E>>2]|0)>>0]|0;if((k[z>>2]|0)!=(j[(k[(k[O>>2]|0)+12>>2]|0)+32>>1]|0))break;k[z>>2]=-1}else{k[z>>2]=-1;i[V>>0]=0}while(0);do if((l[D>>0]|0)!=0&(k[z>>2]|0)>=0){if((k[E>>2]|0)<(m[(k[P>>2]|0)+24>>1]|0))break;if(l[(k[(k[(k[O>>2]|0)+12>>2]|0)+4>>2]|0)+(k[z>>2]<<4)+12>>0]|0)break;i[D>>0]=0}while(0);i[C>>0]=0;k[_>>2]=0;e:while(1){if(!(l[u>>0]|0))break;if((k[_>>2]|0)>=(m[I>>1]|0))break;a=eS(1,0,k[_>>2]|0)|0;d=aa;do if(!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)){d=uy(k[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)>>2]|0)|0;k[Q>>2]=d;if(!(m[p>>1]&192))i[u>>0]=0;e=k[Q>>2]|0;if((k[z>>2]|0)>=-1){if((l[e>>0]|0)!=152)break;if((k[(k[Q>>2]|0)+28>>2]|0)!=(k[A>>2]|0))break;if((j[(k[Q>>2]|0)+32>>1]|0)!=(k[z>>2]|0))break}else if(Uy(e,k[(k[(k[(k[O>>2]|0)+40>>2]|0)+4>>2]|0)+((k[E>>2]|0)*20|0)>>2]|0,k[A>>2]|0)|0)break;if((k[z>>2]|0)<0){ba=84;break e}d=py(k[k[h>>2]>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)>>2]|0)|0;k[N>>2]=d;if(!(k[N>>2]|0))k[N>>2]=k[(k[v>>2]|0)+8>>2];if(!(sg(k[k[N>>2]>>2]|0,k[(k[(k[O>>2]|0)+32>>2]|0)+(k[E>>2]<<2)>>2]|0)|0)){ba=84;break e}}while(0);k[_>>2]=(k[_>>2]|0)+1}if((ba|0)==84){ba=0;i[C>>0]=1}do if(l[C>>0]|0){if(m[p>>1]&64)break;if(i[W>>0]|0){if((l[U>>0]^l[V>>0]|0)==(l[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)+12>>0]|0))break;i[C>>0]=0;break}i[U>>0]=l[V>>0]^l[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)+12>>0];if(i[U>>0]|0){g=eS(1,0,k[B>>2]|0)|0;d=k[t>>2]|0;c=d;a=k[c+4>>2]|L;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}i[W>>0]=1}while(0);if(!(i[C>>0]|0)){ba=98;break}if((k[z>>2]|0)==-1)i[w>>0]=1;g=eS(1,0,k[_>>2]|0)|0;c=aa;a=k[c+4>>2]|L;d=aa;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}k[E>>2]=(k[E>>2]|0)+1}do if((ba|0)==98){ba=0;if((k[E>>2]|0)!=0?(k[E>>2]|0)>=(m[H>>1]|0):0)break;i[D>>0]=0}while(0);if(i[w>>0]|0)i[D>>0]=1}if(i[D>>0]|0){g=(k[P>>2]|0)+8|0;c=K;a=k[c+4>>2]|k[g+4>>2];d=K;k[d>>2]=k[c>>2]|k[g>>2];k[d+4>>2]=a;k[_>>2]=0;while(1){if((k[_>>2]|0)>=(m[I>>1]|0))break b;a=eS(1,0,k[_>>2]|0)|0;d=aa;do if(!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)){k[M>>2]=k[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)>>2];a=vE((k[h>>2]|0)+488|0,k[M>>2]|0)|0;d=F;k[d>>2]=a;k[d+4>>2]=L;d=F;if((k[d>>2]|0)==0&(k[d+4>>2]|0)==0?(jB(k[M>>2]|0)|0)==0:0)break;a=F;d=K;if((k[a>>2]&~k[d>>2]|0)==0?(k[a+4>>2]&~k[d+4>>2]|0)==0:0){g=eS(1,0,k[_>>2]|0)|0;c=aa;a=k[c+4>>2]|L;d=aa;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}}while(0);k[_>>2]=(k[_>>2]|0)+1}}}while(0);k[B>>2]=(k[B>>2]|0)+1}if((ba|0)==18){if(i[e+24+5>>0]|0){X=J;Y=k[X+4>>2]|0;ba=aa;k[ba>>2]=k[X>>2];k[ba+4>>2]=Y}}else if((ba|0)==46){i[Z>>0]=0;ba=i[Z>>0]|0;r=ca;return ba|0}Y=aa;ba=J;if((k[Y>>2]|0)==(k[ba>>2]|0)?(k[Y+4>>2]|0)==(k[ba+4>>2]|0):0){i[Z>>0]=j[I>>1];ba=i[Z>>0]|0;r=ca;return ba|0}if(i[D>>0]|0){i[Z>>0]=-1;ba=i[Z>>0]|0;r=ca;return ba|0}k[_>>2]=(m[I>>1]|0)-1;while(1){if((k[_>>2]|0)<=0){ba=122;break}Y=eS(1,0,k[_>>2]|0)|0;Y=_R(Y|0,L|0,1,0)|0;X=$;k[X>>2]=Y;k[X+4>>2]=L;X=aa;Y=$;ba=$;e=k[_>>2]|0;if((k[X>>2]&k[Y>>2]|0)==(k[ba>>2]|0)?(k[X+4>>2]&k[Y+4>>2]|0)==(k[ba+4>>2]|0):0){ba=120;break}k[_>>2]=e+-1}if((ba|0)==120){i[Z>>0]=e;ba=i[Z>>0]|0;r=ca;return ba|0}else if((ba|0)==122){i[Z>>0]=0;ba=i[Z>>0]|0;r=ca;return ba|0}return 0}function zE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0;h=r;r=r+32|0;e=h+8|0;f=h+16|0;l=h+4|0;n=h;i=h+14|0;g=h+12|0;k[e>>2]=a;j[f>>1]=b;k[l>>2]=c;k[n>>2]=d;a=(((k[l>>2]|0)-(k[n>>2]|0)|0)*100|0)/(k[l>>2]|0)|0;a=((Wj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66&65535;j[i>>1]=a;j[g>>1]=(j[f>>1]|0)+(j[i>>1]|0)+16;if((m[(k[e>>2]|0)+40>>1]&16384|0)!=0?(j[(k[e>>2]|0)+16>>1]|0)<(j[f>>1]|0):0)j[f>>1]=j[(k[e>>2]|0)+16>>1]|0;n=(AE(j[f>>1]|0)|0)<<16>>16;j[g>>1]=(j[g>>1]|0)+n;r=h;return j[g>>1]|0}function AE(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;j[b>>1]=a;if((j[b>>1]|0)<=10){a=0;a=a&65535;r=c;return a|0}a=j[b>>1]|0;a=((Wj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;r=c;return a|0}function BE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=r;r=r+128|0;f=D+108|0;g=D+104|0;h=D+48|0;F=D+40|0;A=D+100|0;G=D+96|0;y=D+92|0;z=D+88|0;E=D+84|0;w=D+80|0;v=D+76|0;m=D+72|0;x=D+68|0;o=D+32|0;s=D+112|0;B=D+64|0;C=D+60|0;t=D+24|0;p=D+16|0;n=D+56|0;q=D+8|0;u=D;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;a=F;k[a>>2]=d;k[a+4>>2]=e;k[A>>2]=0;k[G>>2]=k[k[g>>2]>>2];k[y>>2]=k[k[G>>2]>>2];k[z>>2]=k[(k[g>>2]|0)+4>>2];k[x>>2]=k[(k[g>>2]|0)+12>>2];k[E>>2]=(k[(k[G>>2]|0)+4>>2]|0)+8+((l[(k[x>>2]|0)+16>>0]|0)*72|0);a=F;a=XE(k[y>>2]|0,k[z>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[E>>2]|0,k[(k[g>>2]|0)+8>>2]|0,s)|0;k[w>>2]=a;if(!(k[w>>2]|0)){k[f>>2]=7;G=k[f>>2]|0;r=D;return G|0}j[(k[x>>2]|0)+18>>1]=0;k[(k[x>>2]|0)+36>>2]=1024;j[(k[x>>2]|0)+40>>1]=0;i[(k[x>>2]|0)+24+4>>0]=0;k[v>>2]=k[k[w>>2]>>2];if(tE(k[k[y>>2]>>2]|0,k[x>>2]|0,k[v>>2]|0)|0){bg(k[k[y>>2]>>2]|0,k[w>>2]|0);k[f>>2]=7;G=k[f>>2]|0;r=D;return G|0}G=h;G=YE(k[g>>2]|0,k[G>>2]|0,k[G+4>>2]|0,-1,-1,0,k[w>>2]|0,j[s>>1]|0,m)|0;k[A>>2]=G;if((k[A>>2]|0)==0?(E=k[x>>2]|0,G=h,F=k[E>>2]&~k[G>>2],G=k[E+4>>2]&~k[G+4>>2],E=o,k[E>>2]=F,k[E+4>>2]=G,(F|0)!=0|(G|0)!=0):0){k[B>>2]=0;k[C>>2]=0;G=t;k[G>>2]=0;k[G+4>>2]=0;G=p;k[G>>2]=0;k[G+4>>2]=0;if((k[m>>2]|0)!=0?(a=h,a=YE(k[g>>2]|0,k[a>>2]|0,k[a+4>>2]|0,-1,-1,1,k[w>>2]|0,j[s>>1]|0,m)|0,k[A>>2]=a,a=k[x>>2]|0,E=h,F=k[a+4>>2]&~k[E+4>>2],G=p,k[G>>2]=k[a>>2]&~k[E>>2],k[G+4>>2]=F,G=p,(k[G>>2]|0)==0&(k[G+4>>2]|0)==0):0){k[B>>2]=1;k[C>>2]=1}while(1){if(k[A>>2]|0)break;G=q;k[G>>2]=-1;k[G+4>>2]=-1;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[v>>2]|0))break;E=(k[(k[z>>2]|0)+20>>2]|0)+((k[(k[(k[w>>2]|0)+4>>2]|0)+((k[n>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;G=h;a=k[E+4>>2]&~k[G+4>>2];F=u;k[F>>2]=k[E>>2]&~k[G>>2];k[F+4>>2]=a;F=u;a=k[F+4>>2]|0;G=t;E=k[G+4>>2]|0;if(a>>>0>E>>>0|((a|0)==(E|0)?(k[F>>2]|0)>>>0>(k[G>>2]|0)>>>0:0)?(F=u,a=k[F+4>>2]|0,G=q,E=k[G+4>>2]|0,a>>>0>>0|((a|0)==(E|0)?(k[F>>2]|0)>>>0<(k[G>>2]|0)>>>0:0)):0){E=u;F=k[E+4>>2]|0;G=q;k[G>>2]=k[E>>2];k[G+4>>2]=F}k[n>>2]=(k[n>>2]|0)+1}E=q;F=k[E+4>>2]|0;G=t;k[G>>2]=k[E>>2];k[G+4>>2]=F;G=q;if((k[G>>2]|0)==-1?(k[G+4>>2]|0)==-1:0)break;F=q;G=o;if((k[F>>2]|0)==(k[G>>2]|0)?(k[F+4>>2]|0)==(k[G+4>>2]|0):0)continue;F=q;G=p;if((k[F>>2]|0)==(k[G>>2]|0)?(k[F+4>>2]|0)==(k[G+4>>2]|0):0)continue;E=h;G=q;F=h;F=YE(k[g>>2]|0,k[E>>2]|0,k[E+4>>2]|0,k[G>>2]|k[F>>2],k[G+4>>2]|k[F+4>>2],0,k[w>>2]|0,j[s>>1]|0,m)|0;k[A>>2]=F;F=k[x>>2]|0;G=h;if(!((k[F>>2]|0)==(k[G>>2]|0)?(k[F+4>>2]|0)==(k[G+4>>2]|0):0))continue;k[B>>2]=1;if(k[m>>2]|0)continue;k[C>>2]=1}if((k[A>>2]|0)==0&(k[B>>2]|0)==0?(F=h,G=h,G=YE(k[g>>2]|0,k[F>>2]|0,k[F+4>>2]|0,k[G>>2]|0,k[G+4>>2]|0,0,k[w>>2]|0,j[s>>1]|0,m)|0,k[A>>2]=G,(k[m>>2]|0)==0):0)k[C>>2]=1;if((k[A>>2]|0)==0&(k[C>>2]|0)==0){F=h;G=h;G=YE(k[g>>2]|0,k[F>>2]|0,k[F+4>>2]|0,k[G>>2]|0,k[G+4>>2]|0,1,k[w>>2]|0,j[s>>1]|0,m)|0;k[A>>2]=G}}if(k[(k[w>>2]|0)+28>>2]|0)Ud(k[(k[w>>2]|0)+24>>2]|0);bg(k[k[y>>2]>>2]|0,k[w>>2]|0);k[f>>2]=k[A>>2];G=k[f>>2]|0;r=D;return G|0}function CE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=r;r=r+160|0;d=I+144|0;e=I+8|0;D=I+140|0;v=I+136|0;G=I+80|0;g=I+156|0;f=I+154|0;J=I+72|0;w=I+68|0;u=I+64|0;H=I+60|0;o=I+56|0;h=I+52|0;F=I+152|0;E=I+150|0;A=I+48|0;x=I+44|0;t=I+40|0;y=I+36|0;C=I+32|0;q=I;s=I+148|0;p=I+28|0;n=I+24|0;B=I+20|0;z=I+16|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;j[f>>1]=-1;k[H>>2]=0;k[o>>2]=1;k[u>>2]=k[(k[d>>2]|0)+12>>2];k[D>>2]=k[k[d>>2]>>2];k[J>>2]=k[(k[D>>2]|0)+4>>2];k[w>>2]=(k[J>>2]|0)+8+((l[(k[u>>2]|0)+16>>0]|0)*72|0);k[x>>2]=k[(k[w>>2]|0)+16>>2];k[A>>2]=k[(k[d>>2]|0)+4>>2];do if(k[(k[w>>2]|0)+68>>2]|0)k[v>>2]=k[(k[w>>2]|0)+68>>2];else{if(l[(k[x>>2]|0)+42>>0]&32){k[v>>2]=k[(k[x>>2]|0)+8>>2];break}b=G;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));j[G+50>>1]=1;j[G+52>>1]=1;k[G+4>>2]=f;k[G+8>>2]=g;i[G+54>>0]=5;k[G+12>>2]=k[x>>2];j[G+48>>1]=j[(k[x>>2]|0)+40>>1]|0;j[g>>1]=j[(k[x>>2]|0)+38>>1]|0;j[g+2>>1]=0;k[t>>2]=k[(k[(k[w>>2]|0)+16>>2]|0)+8>>2];if(!(i[(k[w>>2]|0)+36+1>>0]&1))k[G+20>>2]=k[t>>2];k[v>>2]=G}while(0);j[F>>1]=j[(k[x>>2]|0)+38>>1]|0;J=AE(j[F>>1]|0)|0;j[E>>1]=J;a:do if((((((((k[(k[d>>2]|0)+16>>2]|0)==0?(m[(k[D>>2]|0)+40>>1]&32|0)==0:0)?(k[(k[k[k[D>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(k[(k[w>>2]|0)+68>>2]|0)==0:0)?(i[(k[w>>2]|0)+36+1>>0]&1|0)==0:0)?(l[(k[x>>2]|0)+42>>0]&32|0)==0:0)?((l[(k[w>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((l[(k[w>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){k[C>>2]=(k[(k[A>>2]|0)+20>>2]|0)+((k[(k[A>>2]|0)+12>>2]|0)*48|0);k[y>>2]=k[(k[A>>2]|0)+20>>2];while(1){if(k[H>>2]|0)break a;if((k[y>>2]|0)>>>0>=(k[C>>2]|0)>>>0)break a;G=(k[y>>2]|0)+32|0;J=(k[u>>2]|0)+8|0;if(!((k[G>>2]&k[J>>2]|0)!=0?1:(k[G+4>>2]&k[J+4>>2]|0)!=0)?(sE(k[y>>2]|0,k[w>>2]|0,0,0)|0)!=0:0){j[(k[u>>2]|0)+24>>1]=1;j[(k[u>>2]|0)+42>>1]=0;k[(k[u>>2]|0)+24+8>>2]=0;j[(k[u>>2]|0)+40>>1]=1;k[k[(k[u>>2]|0)+48>>2]>>2]=k[y>>2];j[(k[u>>2]|0)+18>>1]=(j[E>>1]|0)+(j[F>>1]|0)+4;if((k[(k[x>>2]|0)+12>>2]|0)==0?(l[(k[x>>2]|0)+42>>0]&2|0)==0:0){J=(k[u>>2]|0)+18|0;j[J>>1]=(j[J>>1]|0)+24}if((j[(k[u>>2]|0)+18>>1]|0)<0)j[(k[u>>2]|0)+18>>1]=0;j[(k[u>>2]|0)+22>>1]=43;g=xE(j[E>>1]|0,j[(k[u>>2]|0)+22>>1]|0)|0;j[(k[u>>2]|0)+20>>1]=g;k[(k[u>>2]|0)+36>>2]=16384;g=e;t=(k[y>>2]|0)+32|0;G=k[g+4>>2]|k[t+4>>2];J=k[u>>2]|0;k[J>>2]=k[g>>2]|k[t>>2];k[J+4>>2]=G;J=GE(k[d>>2]|0,k[u>>2]|0)|0;k[H>>2]=J}k[y>>2]=(k[y>>2]|0)+48}}while(0);b:while(1){if(!((k[H>>2]|0)==0?(k[v>>2]|0)!=0:0)){b=57;break}if(!((k[(k[v>>2]|0)+36>>2]|0)!=0?(LE(k[(k[w>>2]|0)+44>>2]|0,k[A>>2]|0,k[(k[v>>2]|0)+36>>2]|0)|0)==0:0)){j[F>>1]=j[k[(k[v>>2]|0)+8>>2]>>1]|0;j[(k[u>>2]|0)+24>>1]=0;j[(k[u>>2]|0)+24+2>>1]=0;j[(k[u>>2]|0)+24+4>>1]=0;j[(k[u>>2]|0)+42>>1]=0;j[(k[u>>2]|0)+40>>1]=0;i[(k[u>>2]|0)+17>>0]=0;j[(k[u>>2]|0)+18>>1]=0;E=e;G=k[E+4>>2]|0;J=k[u>>2]|0;k[J>>2]=k[E>>2];k[J+4>>2]=G;j[(k[u>>2]|0)+22>>1]=j[F>>1]|0;k[(k[u>>2]|0)+24+8>>2]=k[v>>2];J=ME(k[d>>2]|0,k[v>>2]|0,k[(k[w>>2]|0)+44>>2]|0)|0;k[h>>2]=J;do if((k[(k[v>>2]|0)+44>>2]|0)<=0){k[(k[u>>2]|0)+36>>2]=256;i[(k[u>>2]|0)+17>>0]=(k[h>>2]|0)!=0?k[o>>2]|0:0;j[(k[u>>2]|0)+20>>1]=(j[F>>1]|0)+16;NE(k[A>>2]|0,k[u>>2]|0,j[F>>1]|0);J=GE(k[d>>2]|0,k[u>>2]|0)|0;k[H>>2]=J;j[(k[u>>2]|0)+22>>1]=j[F>>1]|0;if(k[H>>2]|0){b=57;break b}}else{if((l[(k[v>>2]|0)+55>>0]|0)>>>5&1){k[(k[u>>2]|0)+36>>2]=576;J=q;k[J>>2]=0;k[J+4>>2]=0}else{G=(k[w>>2]|0)+56|0;C=k[G>>2]|0;G=k[G+4>>2]|0;E=OE(k[v>>2]|0)|0;J=q;k[J>>2]=C&~E;k[J+4>>2]=G&~L;J=q;k[(k[u>>2]|0)+36>>2]=(k[J>>2]|0)==0&(k[J+4>>2]|0)==0?576:512}if(((k[h>>2]|0)==0?(l[(k[x>>2]|0)+42>>0]&32|0)==0:0)?(k[(k[v>>2]|0)+36>>2]|0)==0:0){J=q;if(!((k[J>>2]|0)==0&(k[J+4>>2]|0)==0))break;if((l[(k[v>>2]|0)+55>>0]|0)>>>2&1)break;if((j[(k[v>>2]|0)+48>>1]|0)>=(j[(k[x>>2]|0)+40>>1]|0))break;if(!((k[6]|0)!=0?(m[(k[D>>2]|0)+40>>1]&4|0)==0:0))break;if(m[(k[k[k[D>>2]>>2]>>2]|0)+64>>1]&64)break}i[(k[u>>2]|0)+17>>0]=(k[h>>2]|0)!=0?k[o>>2]|0:0;j[(k[u>>2]|0)+20>>1]=(j[F>>1]|0)+1+(((j[(k[v>>2]|0)+48>>1]|0)*15|0)/(j[(k[x>>2]|0)+40>>1]|0)|0);J=q;if((k[J>>2]|0)!=0|(k[J+4>>2]|0)!=0){j[s>>1]=(j[F>>1]|0)+16;k[n>>2]=k[(k[w>>2]|0)+44>>2];k[B>>2]=(k[D>>2]|0)+80;k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[B>>2]|0)+12>>2]|0))break;k[z>>2]=(k[(k[B>>2]|0)+20>>2]|0)+((k[p>>2]|0)*48|0);if(!(PE(k[k[z>>2]>>2]|0,k[n>>2]|0,k[v>>2]|0)|0))break;if((j[(k[z>>2]|0)+8>>1]|0)>0){j[s>>1]=(j[s>>1]|0)+-1<<16>>16;if(m[(k[z>>2]|0)+12>>1]&130)j[s>>1]=(j[s>>1]|0)-19}else j[s>>1]=(j[s>>1]|0)+(j[(k[z>>2]|0)+8>>1]|0);k[p>>2]=(k[p>>2]|0)+1}J=xE(j[(k[u>>2]|0)+20>>1]|0,j[s>>1]|0)|0;j[(k[u>>2]|0)+20>>1]=J}NE(k[A>>2]|0,k[u>>2]|0,j[F>>1]|0);J=GE(k[d>>2]|0,k[u>>2]|0)|0;k[H>>2]=J;j[(k[u>>2]|0)+22>>1]=j[F>>1]|0;if(k[H>>2]|0){b=57;break b}}while(0);J=QE(k[d>>2]|0,k[w>>2]|0,k[v>>2]|0,0)|0;k[H>>2]=J;if(k[(k[w>>2]|0)+68>>2]|0){b=57;break}}k[v>>2]=k[(k[v>>2]|0)+20>>2];k[o>>2]=(k[o>>2]|0)+1}if((b|0)==57){r=I;return k[H>>2]|0}return 0}function DE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+672|0;g=I+668|0;h=I+584|0;n=I+576|0;f=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;p=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;o=I+596|0;q=I+592|0;D=I;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;b=n;k[b>>2]=d;k[b+4>>2]=e;k[f>>2]=k[k[g>>2]>>2];k[B>>2]=0;k[z>>2]=k[(k[g>>2]|0)+4>>2];k[A>>2]=(k[(k[z>>2]|0)+20>>2]|0)+((k[(k[z>>2]|0)+12>>2]|0)*48|0);k[u>>2]=k[(k[g>>2]|0)+12>>2];b=F;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[t>>2]=(k[(k[f>>2]|0)+4>>2]|0)+8+((l[(k[u>>2]|0)+16>>0]|0)*72|0);k[p>>2]=k[(k[t>>2]|0)+44>>2];k[y>>2]=k[(k[z>>2]|0)+20>>2];while(1){if(!((k[y>>2]|0)>>>0<(k[A>>2]|0)>>>0?(k[B>>2]|0)==0:0))break;a:do if((m[(k[y>>2]|0)+12>>1]&512|0)!=0?(a=(k[(k[y>>2]|0)+28>>2]|0)+408|0,f=(k[u>>2]|0)+8|0,(k[a>>2]&k[f>>2]|0)!=0?1:(k[a+4>>2]&k[f+4>>2]|0)!=0):0){k[w>>2]=k[(k[y>>2]|0)+28>>2];k[x>>2]=(k[(k[w>>2]|0)+20>>2]|0)+((k[(k[w>>2]|0)+12>>2]|0)*48|0);k[s>>2]=1;f=k[g>>2]|0;k[E>>2]=k[f>>2];k[E+4>>2]=k[f+4>>2];k[E+8>>2]=k[f+8>>2];k[E+12>>2]=k[f+12>>2];k[E+16>>2]=k[f+16>>2];k[E+8>>2]=0;k[E+16>>2]=C;k[v>>2]=k[(k[w>>2]|0)+20>>2];b:while(1){if((k[v>>2]|0)>>>0>=(k[x>>2]|0)>>>0)break;b=k[v>>2]|0;if(!(m[(k[v>>2]|0)+12>>1]&1024)){if((k[b+20>>2]|0)==(k[p>>2]|0)){k[G>>2]=k[k[z>>2]>>2];k[G+4>>2]=k[z>>2];i[G+8>>0]=28;k[G+12>>2]=1;k[G+20>>2]=k[v>>2];k[E+4>>2]=G;H=11}}else{k[E+4>>2]=k[b+28>>2];H=11}c:do if((H|0)==11){H=0;j[C>>1]=0;c=h;b=k[c>>2]|0;c=k[c+4>>2]|0;if(l[(k[(k[t>>2]|0)+16>>2]|0)+42>>0]&16){f=n;f=BE(E,b,c,k[f>>2]|0,k[f+4>>2]|0)|0;k[B>>2]=f}else{f=CE(E,b,c)|0;k[B>>2]=f}if(!(k[B>>2]|0)){a=h;f=n;f=DE(E,k[a>>2]|0,k[a+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[B>>2]=f}if(!(m[C>>1]|0)){H=17;break b}if(k[s>>2]|0){EE(F,C);k[s>>2]=0;break}EE(D,F);j[F>>1]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(m[D>>1]|0))break c;k[q>>2]=0;while(1){b=k[o>>2]|0;if((k[q>>2]|0)>=(m[C>>1]|0))break;f=D+8+(b<<4)|0;a=C+8+(k[q>>2]<<4)|0;e=k[f>>2]|k[a>>2];a=k[f+4>>2]|k[a+4>>2];f=xE(j[D+8+(k[o>>2]<<4)+8>>1]|0,j[C+8+(k[q>>2]<<4)+8>>1]|0)|0;FE(F,e,a,f,xE(j[D+8+(k[o>>2]<<4)+10>>1]|0,j[C+8+(k[q>>2]<<4)+10>>1]|0)|0)|0;k[q>>2]=(k[q>>2]|0)+1}k[o>>2]=b+1}}while(0);k[v>>2]=(k[v>>2]|0)+48}if((H|0)==17){H=0;j[F>>1]=0}j[(k[u>>2]|0)+40>>1]=1;k[k[(k[u>>2]|0)+48>>2]>>2]=k[y>>2];k[(k[u>>2]|0)+36>>2]=8192;j[(k[u>>2]|0)+18>>1]=0;i[(k[u>>2]|0)+17>>0]=0;f=(k[u>>2]|0)+24|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[o>>2]=0;while(1){if(k[B>>2]|0)break a;if((k[o>>2]|0)>=(m[F>>1]|0))break a;j[(k[u>>2]|0)+20>>1]=(j[F+8+(k[o>>2]<<4)+8>>1]|0)+1;j[(k[u>>2]|0)+22>>1]=j[F+8+(k[o>>2]<<4)+10>>1]|0;e=F+8+(k[o>>2]<<4)|0;a=k[e+4>>2]|0;f=k[u>>2]|0;k[f>>2]=k[e>>2];k[f+4>>2]=a;f=GE(k[g>>2]|0,k[u>>2]|0)|0;k[B>>2]=f;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[y>>2]=(k[y>>2]|0)+48}r=I;return k[B>>2]|0}function EE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;j[k[d>>2]>>1]=j[k[e>>2]>>1]|0;bS((k[d>>2]|0)+8|0,(k[e>>2]|0)+8|0,(m[k[d>>2]>>1]|0)<<4|0)|0;r=c;return}function FE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;g=q+16|0;h=q+12|0;i=q;l=q+24|0;n=q+22|0;o=q+20|0;p=q+8|0;k[h>>2]=a;a=i;k[a>>2]=b;k[a+4>>2]=c;j[l>>1]=d;j[n>>1]=e;j[o>>1]=j[k[h>>2]>>1]|0;k[p>>2]=(k[h>>2]|0)+8;while(1){if((m[o>>1]|0)<=0){f=9;break}if((j[l>>1]|0)<=(j[(k[p>>2]|0)+8>>1]|0)?(e=i,a=k[p>>2]|0,d=i,(k[e>>2]&k[a>>2]|0)==(k[d>>2]|0)?(k[e+4>>2]&k[a+4>>2]|0)==(k[d+4>>2]|0):0):0)break;if((j[(k[p>>2]|0)+8>>1]|0)<=(j[l>>1]|0)?(e=k[p>>2]|0,a=i,d=k[p>>2]|0,(k[e>>2]&k[a>>2]|0)==(k[d>>2]|0)?(k[e+4>>2]&k[a+4>>2]|0)==(k[d+4>>2]|0):0):0){f=7;break}j[o>>1]=(j[o>>1]|0)+-1<<16>>16;k[p>>2]=(k[p>>2]|0)+16}if((f|0)==7){k[g>>2]=0;p=k[g>>2]|0;r=q;return p|0}do if((f|0)==9){b=k[h>>2]|0;if((m[k[h>>2]>>1]|0)<3){o=j[b>>1]|0;j[b>>1]=o+1<<16>>16;k[p>>2]=(k[h>>2]|0)+8+((o&65535)<<4);j[(k[p>>2]|0)+10>>1]=j[n>>1]|0;break}k[p>>2]=b+8;j[o>>1]=1;while(1){b=j[(k[p>>2]|0)+8>>1]|0;if((m[o>>1]|0)>=(m[k[h>>2]>>1]|0))break;if((b|0)>(j[(k[h>>2]|0)+8+(m[o>>1]<<4)+8>>1]|0))k[p>>2]=(k[h>>2]|0)+8+(m[o>>1]<<4);j[o>>1]=(j[o>>1]|0)+1<<16>>16}if((b|0)<=(j[l>>1]|0)){k[g>>2]=0;p=k[g>>2]|0;r=q;return p|0}}while(0);h=i;i=k[h+4>>2]|0;o=k[p>>2]|0;k[o>>2]=k[h>>2];k[o+4>>2]=i;j[(k[p>>2]|0)+8>>1]=j[l>>1]|0;if((j[(k[p>>2]|0)+10>>1]|0)>(j[n>>1]|0))j[(k[p>>2]|0)+10>>1]=j[n>>1]|0;k[g>>2]=1;p=k[g>>2]|0;r=q;return p|0}function GE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+40|0;d=p+36|0;e=p+32|0;m=p+28|0;g=p+24|0;l=p+20|0;f=p+16|0;o=p+12|0;n=p+8|0;i=p+4|0;h=p;k[d>>2]=a;k[e>>2]=b;k[l>>2]=k[k[d>>2]>>2];k[f>>2]=k[k[k[l>>2]>>2]>>2];if(k[(k[d>>2]|0)+16>>2]|0){if(j[(k[e>>2]|0)+40>>1]|0){o=k[e>>2]|0;FE(k[(k[d>>2]|0)+16>>2]|0,k[o>>2]|0,k[o+4>>2]|0,j[(k[e>>2]|0)+20>>1]|0,j[(k[e>>2]|0)+22>>1]|0)|0}k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}HE(k[(k[l>>2]|0)+56>>2]|0,k[e>>2]|0);l=IE((k[l>>2]|0)+56|0,k[e>>2]|0)|0;k[m>>2]=l;if(!(k[m>>2]|0)){k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}k[g>>2]=k[k[m>>2]>>2];a:do if(!(k[g>>2]|0)){n=dx(k[f>>2]|0,72,0)|0;k[g>>2]=n;k[k[m>>2]>>2]=n;if(k[g>>2]|0){ID(k[g>>2]|0);k[(k[g>>2]|0)+52>>2]=0;break}k[c>>2]=7;o=k[c>>2]|0;r=p;return o|0}else{k[n>>2]=(k[g>>2]|0)+52;while(1){if(!(k[k[n>>2]>>2]|0))break a;m=IE(k[n>>2]|0,k[e>>2]|0)|0;k[n>>2]=m;if(!(k[n>>2]|0))break a;k[i>>2]=k[k[n>>2]>>2];if(!(k[i>>2]|0))break a;k[k[n>>2]>>2]=k[(k[i>>2]|0)+52>>2];FD(k[f>>2]|0,k[i>>2]|0)}}while(0);n=JE(k[f>>2]|0,k[g>>2]|0,k[e>>2]|0)|0;k[o>>2]=n;if(((k[(k[g>>2]|0)+36>>2]&1024|0)==0?(k[h>>2]=k[(k[g>>2]|0)+24+8>>2],(k[h>>2]|0)!=0):0)?(k[(k[h>>2]|0)+44>>2]|0)==0:0)k[(k[g>>2]|0)+24+8>>2]=0;k[c>>2]=k[o>>2];o=k[c>>2]|0;r=p;return o|0}function HE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!((k[c>>2]|0)!=0?(k[(k[d>>2]|0)+36>>2]&512|0)!=0:0)){r=e;return}do{do if((l[(k[c>>2]|0)+16>>0]|0)==(l[(k[d>>2]|0)+16>>0]|0)?(k[(k[c>>2]|0)+36>>2]&512|0)!=0:0){if(KE(k[c>>2]|0,k[d>>2]|0)|0){j[(k[d>>2]|0)+20>>1]=j[(k[c>>2]|0)+20>>1]|0;j[(k[d>>2]|0)+22>>1]=(j[(k[c>>2]|0)+22>>1]|0)-1;break}if(KE(k[d>>2]|0,k[c>>2]|0)|0){j[(k[d>>2]|0)+20>>1]=j[(k[c>>2]|0)+20>>1]|0;j[(k[d>>2]|0)+22>>1]=(j[(k[c>>2]|0)+22>>1]|0)+1}}while(0);k[c>>2]=k[(k[c>>2]|0)+52>>2]}while((k[c>>2]|0)!=0);r=e;return}function IE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;f=g+8|0;c=g+4|0;d=g;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[k[f>>2]>>2];while(1){if(!(k[d>>2]|0)){c=19;break}if((l[(k[d>>2]|0)+16>>0]|0)==(l[(k[c>>2]|0)+16>>0]|0)?(l[(k[d>>2]|0)+17>>0]|0)==(l[(k[c>>2]|0)+17>>0]|0):0){if(((((k[(k[d>>2]|0)+36>>2]&16384|0)!=0?(m[(k[c>>2]|0)+42>>1]|0)==0:0)?(k[(k[c>>2]|0)+36>>2]&512|0)!=0:0)?(k[(k[c>>2]|0)+36>>2]&1|0)!=0:0)?(h=k[d>>2]|0,b=k[c>>2]|0,a=k[c>>2]|0,(k[h>>2]&k[b>>2]|0)==(k[a>>2]|0)?(k[h+4>>2]&k[b+4>>2]|0)==(k[a+4>>2]|0):0):0){c=19;break}b=k[d>>2]|0;a=k[c>>2]|0;h=k[d>>2]|0;if(((((k[b>>2]&k[a>>2]|0)==(k[h>>2]|0)?(k[b+4>>2]&k[a+4>>2]|0)==(k[h+4>>2]|0):0)?(j[(k[d>>2]|0)+18>>1]|0)<=(j[(k[c>>2]|0)+18>>1]|0):0)?(j[(k[d>>2]|0)+20>>1]|0)<=(j[(k[c>>2]|0)+20>>1]|0):0)?(j[(k[d>>2]|0)+22>>1]|0)<=(j[(k[c>>2]|0)+22>>1]|0):0){c=14;break}b=k[d>>2]|0;a=k[c>>2]|0;h=k[c>>2]|0;if((((k[b>>2]&k[a>>2]|0)==(k[h>>2]|0)?(k[b+4>>2]&k[a+4>>2]|0)==(k[h+4>>2]|0):0)?(j[(k[d>>2]|0)+20>>1]|0)>=(j[(k[c>>2]|0)+20>>1]|0):0)?(j[(k[d>>2]|0)+22>>1]|0)>=(j[(k[c>>2]|0)+22>>1]|0):0){c=19;break}}k[f>>2]=(k[d>>2]|0)+52;k[d>>2]=k[k[f>>2]>>2]}if((c|0)==14){k[e>>2]=0;h=k[e>>2]|0;r=g;return h|0}else if((c|0)==19){k[e>>2]=k[f>>2];h=k[e>>2]|0;r=g;return h|0}return 0}function JE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;h=g+8|0;d=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[f>>2]=c;HD(k[h>>2]|0,k[d>>2]|0);b=(tE(k[h>>2]|0,k[d>>2]|0,m[(k[f>>2]|0)+40>>1]|0)|0)!=0;a=k[d>>2]|0;if(b){h=a+24|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[e>>2]=7;h=k[e>>2]|0;r=g;return h|0}c=k[f>>2]|0;b=a+44|0;do{k[a>>2]=k[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(b|0));bS(k[(k[d>>2]|0)+48>>2]|0,k[(k[f>>2]|0)+48>>2]|0,(m[(k[d>>2]|0)+40>>1]|0)<<2|0)|0;a=k[f>>2]|0;if(!(k[(k[f>>2]|0)+36>>2]&1024)){if(k[a+36>>2]&16384)k[(k[f>>2]|0)+24+8>>2]=0}else i[a+24+4>>0]=0;k[e>>2]=0;h=k[e>>2]|0;r=g;return h|0}function KE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(((m[(k[c>>2]|0)+40>>1]|0)-(m[(k[c>>2]|0)+42>>1]|0)|0)>=((m[(k[d>>2]|0)+40>>1]|0)-(m[(k[d>>2]|0)+42>>1]|0)|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((m[(k[d>>2]|0)+42>>1]|0)>(m[(k[c>>2]|0)+42>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((j[(k[c>>2]|0)+20>>1]|0)>=(j[(k[d>>2]|0)+20>>1]|0)){if((j[(k[c>>2]|0)+20>>1]|0)>(j[(k[d>>2]|0)+20>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((j[(k[c>>2]|0)+22>>1]|0)>(j[(k[d>>2]|0)+22>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}}k[e>>2]=(m[(k[c>>2]|0)+40>>1]|0)-1;while(1){if((k[e>>2]|0)<0){c=20;break}if(k[(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]|0){k[f>>2]=(m[(k[d>>2]|0)+40>>1]|0)-1;while(1){if((k[f>>2]|0)<0)break;if((k[(k[(k[d>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]|0))break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){c=18;break}}k[e>>2]=(k[e>>2]|0)+-1}if((c|0)==18){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==20){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}return 0}function LE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;m=o+4|0;i=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;while(1){if((l[k[g>>2]>>0]|0)!=28)break;if(!(LE(k[e>>2]|0,k[f>>2]|0,k[(k[g>>2]|0)+12>>2]|0)|0)){n=4;break}k[g>>2]=k[(k[g>>2]|0)+16>>2]}if((n|0)==4){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[h>>2]=0;k[m>>2]=k[(k[f>>2]|0)+20>>2];while(1){if((k[h>>2]|0)>=(k[(k[f>>2]|0)+12>>2]|0)){n=13;break}k[i>>2]=k[k[m>>2]>>2];if(WE(k[i>>2]|0,k[g>>2]|0,k[e>>2]|0)|0){if(!(k[(k[i>>2]|0)+4>>2]&1)){n=11;break}if((j[(k[i>>2]|0)+36>>1]|0)==(k[e>>2]|0)){n=11;break}}k[h>>2]=(k[h>>2]|0)+1;k[m>>2]=(k[m>>2]|0)+48}if((n|0)==11){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}else if((n|0)==13){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}return 0}function ME(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+32|0;e=s+28|0;f=s+24|0;g=s+20|0;p=s+16|0;h=s+12|0;i=s+8|0;n=s+4|0;o=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((l[(k[f>>2]|0)+55>>0]|0)>>>2&1){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}b=k[(k[k[e>>2]>>2]|0)+8>>2]|0;k[p>>2]=b;if(!b){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}k[i>>2]=0;a:while(1){if((k[i>>2]|0)>=(k[k[p>>2]>>2]|0)){q=24;break}b=uy(k[(k[(k[p>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0)|0;k[o>>2]=b;b:do if((l[k[o>>2]>>0]|0)==152?(k[(k[o>>2]|0)+28>>2]|0)==(k[g>>2]|0):0){if((j[(k[o>>2]|0)+32>>1]|0)<0){q=10;break a}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break b;if((j[(k[o>>2]|0)+32>>1]|0)==(j[(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)){q=14;break a}k[n>>2]=(k[n>>2]|0)+1}}else q=16;while(0);c:do if((q|0)==16?(q=0,b=k[(k[f>>2]|0)+40>>2]|0,k[h>>2]=b,(b|0)!=0):0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break c;if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)==-2?(Uy(k[o>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,k[g>>2]|0)|0)==0:0){q=21;break a}k[n>>2]=(k[n>>2]|0)+1}}while(0);k[i>>2]=(k[i>>2]|0)+1}if((q|0)==10){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==14){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==21){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==24){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}return 0}function NE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;d=s+36|0;e=s+32|0;f=s+42|0;p=s+28|0;q=s+24|0;n=s;g=s+20|0;i=s+16|0;l=s+12|0;h=s+40|0;o=s+8|0;k[d>>2]=a;k[e>>2]=b;j[f>>1]=c;t=k[e>>2]|0;c=(k[e>>2]|0)+8|0;b=~(k[t+4>>2]|k[c+4>>2]);a=n;k[a>>2]=~(k[t>>2]|k[c>>2]);k[a+4>>2]=b;j[h>>1]=0;k[g>>2]=k[(k[d>>2]|0)+12>>2];k[p>>2]=k[(k[d>>2]|0)+20>>2];while(1){if((k[g>>2]|0)<=0)break;if(m[(k[p>>2]|0)+10>>1]&2)break;a=(k[p>>2]|0)+40|0;t=(k[e>>2]|0)+8|0;do if(!((k[a>>2]&k[t>>2]|0)==0?(k[a+4>>2]&k[t+4>>2]|0)==0:0)?(a=(k[p>>2]|0)+40|0,t=n,!((k[a>>2]&k[t>>2]|0)!=0?1:(k[a+4>>2]&k[t+4>>2]|0)!=0)):0){k[i>>2]=(m[(k[e>>2]|0)+40>>1]|0)-1;while(1){if((k[i>>2]|0)<0)break;k[q>>2]=k[(k[(k[e>>2]|0)+48>>2]|0)+(k[i>>2]<<2)>>2];if(k[q>>2]|0){if((k[q>>2]|0)==(k[p>>2]|0))break;if((k[(k[q>>2]|0)+16>>2]|0)>=0?((k[(k[d>>2]|0)+20>>2]|0)+((k[(k[q>>2]|0)+16>>2]|0)*48|0)|0)==(k[p>>2]|0):0)break}k[i>>2]=(k[i>>2]|0)+-1}if((k[i>>2]|0)<0){if((j[(k[p>>2]|0)+8>>1]|0)<=0){t=(k[e>>2]|0)+22|0;j[t>>1]=(j[t>>1]|0)+(j[(k[p>>2]|0)+8>>1]|0);break}t=(k[e>>2]|0)+22|0;j[t>>1]=(j[t>>1]|0)+-1<<16>>16;if(m[(k[p>>2]|0)+12>>1]&130){k[o>>2]=k[(k[k[p>>2]>>2]|0)+16>>2];t=(Py(k[o>>2]|0,l)|0)!=0;if(t&(k[l>>2]|0)>=-1&(k[l>>2]|0)<=1)k[l>>2]=10;else k[l>>2]=20;if((j[h>>1]|0)<(k[l>>2]|0))j[h>>1]=k[l>>2]}}}while(0);k[g>>2]=(k[g>>2]|0)+-1;k[p>>2]=(k[p>>2]|0)+48}if((j[(k[e>>2]|0)+22>>1]|0)<=((j[f>>1]|0)-(j[h>>1]|0)|0)){r=s;return}j[(k[e>>2]|0)+22>>1]=(j[f>>1]|0)-(j[h>>1]|0);r=s;return}function OE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+32|0;b=f+16|0;d=f;c=f+12|0;e=f+8|0;k[b>>2]=a;a=d;k[a>>2]=0;k[a+4>>2]=0;k[c>>2]=(m[(k[b>>2]|0)+52>>1]|0)-1;while(1){if((k[c>>2]|0)<0)break;k[e>>2]=j[(k[(k[b>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1];if((k[e>>2]|0)>=0&(k[e>>2]|0)<63){h=eS(1,0,k[e>>2]|0)|0;i=d;g=k[i+4>>2]|L;a=d;k[a>>2]=k[i>>2]|h;k[a+4>>2]=g}k[c>>2]=(k[c>>2]|0)+-1}i=d;L=k[i+4>>2]|0;r=f;return k[i>>2]|0}function PE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=r;r=r+48|0;f=e+44|0;j=e+40|0;h=e+36|0;d=e+8|0;g=e;k[f>>2]=a;k[j>>2]=b;k[h>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[g+4>>2]=k[j>>2];k[g>>2]=k[h>>2];k[d+4>>2]=199;k[d+24>>2]=g;Gy(d,k[f>>2]|0)|0;r=e;return ((i[d+20>>0]|0)!=0^1)&1|0}function QE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=r;r=r+224|0;f=R+180|0;g=R+176|0;h=R+172|0;n=R+168|0;o=R+208|0;S=R+164|0;B=R+160|0;p=R+156|0;A=R+152|0;C=R+148|0;e=R+144|0;Q=R+48|0;O=R;K=R+206|0;J=R+204|0;I=R+202|0;N=R+200|0;M=R+198|0;P=R+40|0;L=R+196|0;H=R+36|0;G=R+194|0;F=R+192|0;D=R+32|0;y=R+28|0;q=R+190|0;E=R+188|0;x=R+186|0;v=R+24|0;z=R+20|0;s=R+16|0;t=R+12|0;u=R+8|0;w=R+184|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;j[o>>1]=d;k[S>>2]=k[k[g>>2]>>2];k[B>>2]=k[k[S>>2]>>2];k[p>>2]=k[k[B>>2]>>2];k[H>>2]=0;k[D>>2]=0;k[y>>2]=0;k[A>>2]=k[(k[g>>2]|0)+12>>2];if(i[(k[p>>2]|0)+69>>0]|0){k[f>>2]=7;S=k[f>>2]|0;r=R;return S|0}if(k[(k[A>>2]|0)+36>>2]&32)k[e>>2]=24;else k[e>>2]=447;if((l[(k[n>>2]|0)+55>>0]|0)>>>2&1)k[e>>2]=k[e>>2]&-61;j[J>>1]=j[(k[A>>2]|0)+24>>1]|0;j[I>>1]=j[(k[A>>2]|0)+24+2>>1]|0;j[N>>1]=j[(k[A>>2]|0)+24+4>>1]|0;j[M>>1]=j[(k[A>>2]|0)+42>>1]|0;j[K>>1]=j[(k[A>>2]|0)+40>>1]|0;k[P>>2]=k[(k[A>>2]|0)+36>>2];c=k[A>>2]|0;b=k[c+4>>2]|0;S=O;k[S>>2]=k[c>>2];k[S+4>>2]=b;j[L>>1]=j[(k[A>>2]|0)+22>>1]|0;S=iE(Q,k[(k[g>>2]|0)+4>>2]|0,k[(k[h>>2]|0)+44>>2]|0,m[J>>1]|0,k[e>>2]|0,k[n>>2]|0)|0;k[C>>2]=S;j[(k[A>>2]|0)+18>>1]=0;j[G>>1]=j[k[(k[n>>2]|0)+8>>2]>>1]|0;S=AE(j[G>>1]|0)|0;j[F>>1]=S;a:while(1){if(!((k[H>>2]|0)==0?(k[C>>2]|0)!=0:0))break;j[q>>1]=j[(k[C>>2]|0)+12>>1]|0;k[v>>2]=0;if((m[q>>1]|0)!=256?(m[(k[C>>2]|0)+10>>1]&0|0)==0:0)d=13;else d=12;if((d|0)==12?(d=0,(RE(k[n>>2]|0,m[J>>1]|0)|0)==0):0)d=13;do if((d|0)==13?(0,b=(k[C>>2]|0)+32|0,S=(k[A>>2]|0)+8|0,!((k[b>>2]&k[S>>2]|0)!=0?1:(k[b+4>>2]&k[S+4>>2]|0)!=0)):0){if((m[(k[C>>2]|0)+10>>1]&256|0)!=0?(m[(k[C>>2]|0)+12>>1]|0)==16:0)break;if(((l[(k[h>>2]|0)+36>>0]&8|0)!=0?(k[(k[k[C>>2]>>2]|0)+4>>2]&1|0)==0:0)?(m[q>>1]&384|0)!=0:0)break;k[(k[A>>2]|0)+36>>2]=k[P>>2];j[(k[A>>2]|0)+24>>1]=j[J>>1]|0;j[(k[A>>2]|0)+24+2>>1]=j[I>>1]|0;j[(k[A>>2]|0)+24+4>>1]=j[N>>1]|0;j[(k[A>>2]|0)+40>>1]=j[K>>1]|0;if(tE(k[p>>2]|0,k[A>>2]|0,(m[(k[A>>2]|0)+40>>1]|0)+1|0)|0)break a;a=k[C>>2]|0;c=(k[A>>2]|0)+40|0;e=j[c>>1]|0;j[c>>1]=e+1<<16>>16;k[(k[(k[A>>2]|0)+48>>2]|0)+((e&65535)<<2)>>2]=a;e=O;a=(k[C>>2]|0)+32|0;c=(k[A>>2]|0)+8|0;b=(k[e+4>>2]|k[a+4>>2])&~k[c+4>>2];S=k[A>>2]|0;k[S>>2]=(k[e>>2]|k[a>>2])&~k[c>>2];k[S+4>>2]=b;b:do if(!(m[q>>1]&1)){if(m[q>>1]&130){k[t>>2]=j[(k[(k[n>>2]|0)+4>>2]|0)+(m[J>>1]<<1)>>1];S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|1;if((k[t>>2]|0)!=-1){if((k[t>>2]|0)<=0)break;if(j[o>>1]|0)break;if((m[J>>1]|0)!=((m[(k[n>>2]|0)+50>>1]|0)-1|0))break}if((k[t>>2]|0)>=0?((l[(k[n>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|65536;break}S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|4096;break}if(m[q>>1]&256){S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|8;break}d=(k[A>>2]|0)+36|0;e=k[d>>2]|0;if(m[q>>1]&36){k[d>>2]=e|34;S=(SE(k[B>>2]|0,k[(k[h>>2]|0)+44>>2]|0,k[n>>2]|0,m[J>>1]|0,k[C>>2]|0)|0)&65535;j[(k[A>>2]|0)+24+2>>1]=S;k[y>>2]=k[C>>2];k[D>>2]=0;if(!(m[(k[C>>2]|0)+10>>1]&256))break;k[D>>2]=(k[C>>2]|0)+48;if(tE(k[p>>2]|0,k[A>>2]|0,(m[(k[A>>2]|0)+40>>1]|0)+1|0)|0)break a;b=k[D>>2]|0;c=(k[A>>2]|0)+40|0;S=j[c>>1]|0;j[c>>1]=S+1<<16>>16;k[(k[(k[A>>2]|0)+48>>2]|0)+((S&65535)<<2)>>2]=b;S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|16;j[(k[A>>2]|0)+24+4>>1]=1;break}else{k[d>>2]=e|18;S=(SE(k[B>>2]|0,k[(k[h>>2]|0)+44>>2]|0,k[n>>2]|0,m[J>>1]|0,k[C>>2]|0)|0)&65535;j[(k[A>>2]|0)+24+4>>1]=S;k[D>>2]=k[C>>2];if(k[(k[A>>2]|0)+36>>2]&32)d=k[(k[(k[A>>2]|0)+48>>2]|0)+((m[(k[A>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else d=0;k[y>>2]=d;break}}else{k[z>>2]=k[k[C>>2]>>2];S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|4;if(!(k[(k[z>>2]|0)+4>>2]&2048)){if(!(k[(k[z>>2]|0)+20>>2]|0))break;if(!(k[k[(k[z>>2]|0)+20>>2]>>2]|0))break;S=k[k[(k[z>>2]|0)+20>>2]>>2]|0;S=(Wj(S,((S|0)<0)<<31>>31)|0)<<16>>16;k[v>>2]=S;break}k[v>>2]=46;k[s>>2]=0;while(1){if((k[s>>2]|0)>=((m[(k[A>>2]|0)+40>>1]|0)-1|0))break b;if((k[(k[(k[A>>2]|0)+48>>2]|0)+(k[s>>2]<<2)>>2]|0)!=0?(k[k[(k[(k[A>>2]|0)+48>>2]|0)+(k[s>>2]<<2)>>2]>>2]|0)==(k[z>>2]|0):0)k[v>>2]=0;k[s>>2]=(k[s>>2]|0)+1}}while(0);do if(!(k[(k[A>>2]|0)+36>>2]&2)){b=(k[A>>2]|0)+24|0;S=(j[b>>1]|0)+1<<16>>16;j[b>>1]=S;k[u>>2]=S&65535;if((j[(k[C>>2]|0)+8>>1]|0)<=0?(j[(k[(k[n>>2]|0)+4>>2]|0)+(m[J>>1]<<1)>>1]|0)>=0:0){S=(k[A>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)+(j[(k[C>>2]|0)+8>>1]|0);S=(k[A>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)-(k[v>>2]|0);break}S=(k[A>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)+((j[(k[(k[n>>2]|0)+8>>2]|0)+(k[u>>2]<<1)>>1]|0)-(j[(k[(k[n>>2]|0)+8>>2]|0)+((k[u>>2]|0)-1<<1)>>1]|0));if(m[q>>1]&256){S=(k[A>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)+10}}else TE(k[B>>2]|0,k[g>>2]|0,k[y>>2]|0,k[D>>2]|0,k[A>>2]|0)|0;while(0);j[E>>1]=(j[(k[A>>2]|0)+22>>1]|0)+1+(((j[(k[n>>2]|0)+48>>1]|0)*15|0)/(j[(k[(k[h>>2]|0)+16>>2]|0)+40>>1]|0)|0);S=xE(j[F>>1]|0,j[E>>1]|0)|0;j[(k[A>>2]|0)+20>>1]=S;if(!(k[(k[A>>2]|0)+36>>2]&320)){S=xE(j[(k[A>>2]|0)+20>>1]|0,(j[(k[A>>2]|0)+22>>1]|0)+16&65535)|0;j[(k[A>>2]|0)+20>>1]=S}j[x>>1]=j[(k[A>>2]|0)+22>>1]|0;S=(k[A>>2]|0)+20|0;j[S>>1]=(j[S>>1]|0)+((j[o>>1]|0)+(k[v>>2]|0));S=(k[A>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)+((j[o>>1]|0)+(k[v>>2]|0));NE(k[(k[g>>2]|0)+4>>2]|0,k[A>>2]|0,j[G>>1]|0);S=GE(k[g>>2]|0,k[A>>2]|0)|0;k[H>>2]=S;if(k[(k[A>>2]|0)+36>>2]&2)j[(k[A>>2]|0)+22>>1]=j[L>>1]|0;else j[(k[A>>2]|0)+22>>1]=j[x>>1]|0;if((k[(k[A>>2]|0)+36>>2]&16|0)==0?(m[(k[A>>2]|0)+24>>1]|0)<(m[(k[n>>2]|0)+52>>1]|0):0)QE(k[g>>2]|0,k[h>>2]|0,k[n>>2]|0,(j[o>>1]|0)+(k[v>>2]|0)&65535)|0;j[(k[A>>2]|0)+22>>1]=j[L>>1]|0}while(0);S=jE(Q)|0;k[C>>2]=S}Q=k[O+4>>2]|0;S=k[A>>2]|0;k[S>>2]=k[O>>2];k[S+4>>2]=Q;j[(k[A>>2]|0)+24>>1]=j[J>>1]|0;j[(k[A>>2]|0)+24+2>>1]=j[I>>1]|0;j[(k[A>>2]|0)+24+4>>1]=j[N>>1]|0;j[(k[A>>2]|0)+42>>1]=j[M>>1]|0;k[(k[A>>2]|0)+36>>2]=k[P>>2];j[(k[A>>2]|0)+22>>1]=j[L>>1]|0;j[(k[A>>2]|0)+40>>1]=j[K>>1]|0;if(((((m[J>>1]|0)==(m[M>>1]|0)?((m[J>>1]|0)+1|0)<(m[(k[n>>2]|0)+50>>1]|0):0)?((l[(k[n>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(j[(k[(k[n>>2]|0)+8>>2]|0)+((m[J>>1]|0)+1<<1)>>1]|0)>=42:0)?(S=tE(k[p>>2]|0,k[A>>2]|0,(m[(k[A>>2]|0)+40>>1]|0)+1|0)|0,k[H>>2]=S,(S|0)==0):0){Q=(k[A>>2]|0)+24|0;j[Q>>1]=(j[Q>>1]|0)+1<<16>>16;Q=(k[A>>2]|0)+42|0;j[Q>>1]=(j[Q>>1]|0)+1<<16>>16;Q=(k[A>>2]|0)+40|0;S=j[Q>>1]|0;j[Q>>1]=S+1<<16>>16;k[(k[(k[A>>2]|0)+48>>2]|0)+((S&65535)<<2)>>2]=0;S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|32768;j[w>>1]=(j[(k[(k[n>>2]|0)+8>>2]|0)+(m[J>>1]<<1)>>1]|0)-(j[(k[(k[n>>2]|0)+8>>2]|0)+((m[J>>1]|0)+1<<1)>>1]|0);S=(k[A>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)-(j[w>>1]|0);j[w>>1]=(j[w>>1]|0)+5;QE(k[g>>2]|0,k[h>>2]|0,k[n>>2]|0,(j[w>>1]|0)+(j[o>>1]|0)&65535)|0;j[(k[A>>2]|0)+22>>1]=j[L>>1]|0;j[(k[A>>2]|0)+24>>1]=j[J>>1]|0;j[(k[A>>2]|0)+42>>1]=j[M>>1]|0;k[(k[A>>2]|0)+36>>2]=k[P>>2]}k[f>>2]=k[H>>2];S=k[f>>2]|0;r=R;return S|0}function RE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+12|0;d=e+8|0;g=e+4|0;f=e;k[d>>2]=a;k[g>>2]=b;k[f>>2]=j[(k[(k[d>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1];b=k[f>>2]|0;if((k[f>>2]|0)>=0){k[c>>2]=l[(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(b<<4)+12>>0];g=k[c>>2]|0;r=e;return g|0}if((b|0)==-1){k[c>>2]=1;g=k[c>>2]|0;r=e;return g|0}else{k[c>>2]=0;g=k[c>>2]|0;r=e;return g|0}return 0}function SE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;f=x+36|0;g=x+32|0;h=x+28|0;n=x+24|0;o=x+20|0;s=x+16|0;w=x+12|0;p=x+41|0;q=x+40|0;t=x+8|0;u=x+4|0;v=x;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[n>>2]=d;k[o>>2]=e;e=mz(k[(k[k[o>>2]>>2]|0)+12>>2]|0)|0;k[s>>2]=e;if((k[s>>2]|0)<((m[(k[h>>2]|0)+52>>1]|0)-(k[n>>2]|0)|0))b=k[s>>2]|0;else b=(m[(k[h>>2]|0)+52>>1]|0)-(k[n>>2]|0)|0;k[s>>2]=b;k[w>>2]=1;while(1){if((k[w>>2]|0)>=(k[s>>2]|0)){b=17;break}i[q>>0]=0;k[u>>2]=k[(k[(k[(k[(k[k[o>>2]>>2]|0)+12>>2]|0)+20>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)>>2];k[v>>2]=k[(k[k[o>>2]>>2]|0)+16>>2];b=k[w>>2]|0;d=(k[v>>2]|0)+20|0;if(k[(k[v>>2]|0)+4>>2]&2048)k[v>>2]=k[(k[(k[k[d>>2]>>2]|0)+4>>2]|0)+(b*20|0)>>2];else k[v>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+(b*20|0)>>2];if((l[k[u>>2]>>0]|0)!=152){b=17;break}if((k[(k[u>>2]|0)+28>>2]|0)!=(k[g>>2]|0)){b=17;break}if((j[(k[u>>2]|0)+32>>1]|0)!=(j[(k[(k[h>>2]|0)+4>>2]|0)+((k[w>>2]|0)+(k[n>>2]|0)<<1)>>1]|0)){b=17;break}if((l[(k[(k[h>>2]|0)+28>>2]|0)+((k[w>>2]|0)+(k[n>>2]|0))>>0]|0)!=(l[(k[(k[h>>2]|0)+28>>2]|0)+(k[n>>2]|0)>>0]|0)){b=17;break}e=k[v>>2]|0;e=BB(e,oy(k[u>>2]|0)|0)|0;i[p>>0]=e;e=vy(k[(k[h>>2]|0)+12>>2]|0,j[(k[u>>2]|0)+32>>1]|0)|0;i[q>>0]=e;if((i[p>>0]|0)!=(i[q>>0]|0)){b=17;break}e=CB(k[f>>2]|0,k[u>>2]|0,k[v>>2]|0)|0;k[t>>2]=e;if(!(k[t>>2]|0)){b=17;break}if(sg(k[k[t>>2]>>2]|0,k[(k[(k[h>>2]|0)+32>>2]|0)+((k[w>>2]|0)+(k[n>>2]|0)<<2)>>2]|0)|0){b=17;break}k[w>>2]=(k[w>>2]|0)+1}if((b|0)==17){r=x;return k[w>>2]|0}return 0}function TE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;l=n;i=n+28|0;k[n+24>>2]=a;k[n+20>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=e;k[m>>2]=0;k[l>>2]=j[(k[h>>2]|0)+22>>1];d=UE(k[f>>2]|0,k[l>>2]&65535)|0;j[i>>1]=d;d=UE(k[g>>2]|0,j[i>>1]|0)|0;j[i>>1]=d;if(((k[f>>2]|0)!=0?((k[g>>2]|0)!=0?(j[(k[f>>2]|0)+8>>1]|0)>0:0):0)?(j[(k[g>>2]|0)+8>>1]|0)>0:0)j[i>>1]=(j[i>>1]|0)-20;k[l>>2]=(k[l>>2]|0)-(((k[f>>2]|0)!=0&1)+((k[g>>2]|0)!=0&1));if((j[i>>1]|0)<10)j[i>>1]=10;if((j[i>>1]|0)>=(k[l>>2]|0)){a=k[l>>2]|0;a=a&65535;d=k[h>>2]|0;d=d+22|0;j[d>>1]=a;m=k[m>>2]|0;r=n;return m|0}k[l>>2]=j[i>>1];a=k[l>>2]|0;a=a&65535;d=k[h>>2]|0;d=d+22|0;j[d>>1]=a;m=k[m>>2]|0;r=n;return m|0}function UE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;f=e+6|0;d=e+4|0;k[c>>2]=a;j[f>>1]=b;j[d>>1]=j[f>>1]|0;do if(k[c>>2]|0){b=k[c>>2]|0;if((j[(k[c>>2]|0)+8>>1]|0)<=0){j[d>>1]=(j[d>>1]|0)+(j[b+8>>1]|0);break}if(!(m[b+10>>1]&0))j[d>>1]=(j[d>>1]|0)-20}while(0);r=e;return j[d>>1]|0}function VE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(((l[k[e>>2]>>0]|0|0)==152?(k[(k[e>>2]|0)+28>>2]|0)==(k[(k[(k[d>>2]|0)+24>>2]|0)+4>>2]|0):0)?((YA(k[k[(k[d>>2]|0)+24>>2]>>2]|0,j[(k[e>>2]|0)+32>>1]|0)|0)<<16>>16|0)<0:0){i[(k[d>>2]|0)+20>>0]=1;k[c>>2]=2;a=k[c>>2]|0;r=f;return a|0}k[c>>2]=0;a=k[c>>2]|0;r=f;return a|0}function WE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(Uy(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}do if((l[k[f>>2]>>0]|0|0)==27){if((WE(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)==0?(WE(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0)|0)==0:0)break;k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}while(0);if((((l[k[f>>2]>>0]|0|0)==35?(Uy(k[(k[e>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)==0:0)?(l[k[e>>2]>>0]|0|0)!=34:0)?(l[k[e>>2]>>0]|0|0)!=29:0){k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}function XE(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+96|0;I=J+8|0;h=J+80|0;n=J+76|0;o=J+72|0;p=J;q=J+68|0;s=J+64|0;t=J+60|0;u=J+56|0;v=J+52|0;z=J+48|0;D=J+44|0;F=J+40|0;H=J+36|0;G=J+32|0;y=J+28|0;E=J+24|0;w=J+84|0;x=J+20|0;B=J+16|0;A=J+86|0;C=J+12|0;k[n>>2]=a;k[o>>2]=b;b=p;k[b>>2]=c;k[b+4>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;j[w>>1]=0;k[z>>2]=0;k[u>>2]=0;k[G>>2]=k[(k[o>>2]|0)+20>>2];while(1){if((k[u>>2]|0)>=(k[(k[o>>2]|0)+12>>2]|0))break;if((((k[(k[G>>2]|0)+20>>2]|0)==(k[(k[q>>2]|0)+44>>2]|0)?(b=(k[G>>2]|0)+32|0,g=p,!((k[b>>2]&k[g>>2]|0)!=0?1:(k[b+4>>2]&k[g+4>>2]|0)!=0)):0)?(m[(k[G>>2]|0)+12>>1]&-2433|0)!=0:0)?(m[(k[G>>2]|0)+10>>1]&0|0)==0:0)k[z>>2]=(k[z>>2]|0)+1;k[u>>2]=(k[u>>2]|0)+1;k[G>>2]=(k[G>>2]|0)+48}k[y>>2]=0;if(k[s>>2]|0){k[x>>2]=k[k[s>>2]>>2];k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[x>>2]|0))break;k[B>>2]=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)>>2];if((l[k[B>>2]>>0]|0)!=152)break;if((k[(k[B>>2]|0)+28>>2]|0)!=(k[(k[q>>2]|0)+44>>2]|0))break;k[u>>2]=(k[u>>2]|0)+1}if((k[u>>2]|0)==(k[x>>2]|0))k[y>>2]=k[x>>2]}g=Ch(k[k[n>>2]>>2]|0,72+((k[z>>2]|0)*20|0)+(k[y>>2]<<3)|0,0)|0;k[E>>2]=g;if(!(k[E>>2]|0)){Oh(k[n>>2]|0,25016,I);k[h>>2]=0;I=k[h>>2]|0;r=J;return I|0}k[D>>2]=(k[E>>2]|0)+72;k[F>>2]=(k[D>>2]|0)+((k[z>>2]|0)*12|0);k[H>>2]=(k[F>>2]|0)+(k[y>>2]<<3);k[k[E>>2]>>2]=k[z>>2];k[(k[E>>2]|0)+8>>2]=k[y>>2];k[(k[E>>2]|0)+4>>2]=k[D>>2];k[(k[E>>2]|0)+12>>2]=k[F>>2];k[(k[E>>2]|0)+16>>2]=k[H>>2];k[v>>2]=0;k[u>>2]=0;k[G>>2]=k[(k[o>>2]|0)+20>>2];while(1){if((k[u>>2]|0)>=(k[(k[o>>2]|0)+12>>2]|0))break;if((((k[(k[G>>2]|0)+20>>2]|0)==(k[(k[q>>2]|0)+44>>2]|0)?(g=(k[G>>2]|0)+32|0,I=p,!((k[g>>2]&k[I>>2]|0)!=0?1:(k[g+4>>2]&k[I+4>>2]|0)!=0)):0)?(m[(k[G>>2]|0)+12>>1]&-2433|0)!=0:0)?(m[(k[G>>2]|0)+10>>1]&0|0)==0:0){k[(k[D>>2]|0)+((k[v>>2]|0)*12|0)>>2]=k[(k[G>>2]|0)+28>>2];k[(k[D>>2]|0)+((k[v>>2]|0)*12|0)+8>>2]=k[u>>2];I=j[(k[G>>2]|0)+12>>1]&255;i[A>>0]=I;i[A>>0]=(l[A>>0]|0)==1?2:I;if((l[A>>0]|0)==64)i[A>>0]=i[(k[G>>2]|0)+15>>0]|0;i[(k[D>>2]|0)+((k[v>>2]|0)*12|0)+4>>0]=i[A>>0]|0;if((l[A>>0]&60|0)!=0?(fB(k[(k[k[G>>2]>>2]|0)+16>>2]|0)|0)!=0:0){if((k[u>>2]|0)<16)j[w>>1]=m[w>>1]|1<>2];if((l[A>>0]|0)==16)i[(k[D>>2]|0)+((k[v>>2]|0)*12|0)+4>>0]=8;if((l[A>>0]|0)==4)i[(k[D>>2]|0)+((k[v>>2]|0)*12|0)+4>>0]=32}k[v>>2]=(k[v>>2]|0)+1}k[u>>2]=(k[u>>2]|0)+1;k[G>>2]=(k[G>>2]|0)+48}k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[y>>2]|0))break;k[C>>2]=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)>>2];k[(k[F>>2]|0)+(k[u>>2]<<3)>>2]=j[(k[C>>2]|0)+32>>1];i[(k[F>>2]|0)+(k[u>>2]<<3)+4>>0]=i[(k[(k[s>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+12>>0]|0;k[u>>2]=(k[u>>2]|0)+1}j[k[t>>2]>>1]=j[w>>1]|0;k[h>>2]=k[E>>2];I=k[h>>2]|0;r=J;return I|0}function YE(a,b,c,d,e,f,g,h,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;var o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=r;r=r+96|0;G=N+16|0;I=N+88|0;J=N+84|0;O=N+8|0;s=N;t=N+94|0;K=N+80|0;o=N+92|0;q=N+76|0;F=N+72|0;z=N+68|0;E=N+64|0;u=N+60|0;x=N+56|0;M=N+52|0;L=N+48|0;A=N+44|0;B=N+40|0;y=N+36|0;C=N+32|0;v=N+28|0;D=N+24|0;w=N+20|0;k[J>>2]=a;a=O;k[a>>2]=b;k[a+4>>2]=c;a=s;k[a>>2]=d;k[a+4>>2]=e;j[t>>1]=f;k[K>>2]=g;j[o>>1]=h;k[q>>2]=n;k[F>>2]=k[(k[J>>2]|0)+4>>2];k[E>>2]=k[(k[K>>2]|0)+16>>2];k[M>>2]=0;k[L>>2]=k[(k[J>>2]|0)+12>>2];k[A>>2]=k[k[k[J>>2]>>2]>>2];k[B>>2]=(k[(k[k[J>>2]>>2]|0)+4>>2]|0)+8+((l[(k[L>>2]|0)+16>>0]|0)*72|0);k[y>>2]=k[k[K>>2]>>2];k[k[q>>2]>>2]=0;a=O;g=k[a+4>>2]|0;n=k[L>>2]|0;k[n>>2]=k[a>>2];k[n+4>>2]=g;k[z>>2]=k[(k[K>>2]|0)+4>>2];k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[y>>2]|0))break;k[C>>2]=(k[(k[F>>2]|0)+20>>2]|0)+((k[(k[z>>2]|0)+8>>2]|0)*48|0);i[(k[z>>2]|0)+5>>0]=0;g=(k[C>>2]|0)+32|0;n=s;O=(k[C>>2]|0)+32|0;if(((k[g>>2]&k[n>>2]|0)==(k[O>>2]|0)?(k[g+4>>2]&k[n+4>>2]|0)==(k[O+4>>2]|0):0)?(m[(k[C>>2]|0)+12>>1]&m[t>>1]|0)==0:0)i[(k[z>>2]|0)+5>>0]=1;k[u>>2]=(k[u>>2]|0)+1;k[z>>2]=(k[z>>2]|0)+12}dS(k[E>>2]|0,0,k[y>>2]<<3|0)|0;k[(k[K>>2]|0)+24>>2]=0;k[(k[K>>2]|0)+20>>2]=0;k[(k[K>>2]|0)+32>>2]=0;p[(k[K>>2]|0)+40>>3]=5.e+98;C=(k[K>>2]|0)+48|0;k[C>>2]=25;k[C+4>>2]=0;k[(k[K>>2]|0)+56>>2]=0;C=(k[B>>2]|0)+56|0;n=k[C+4>>2]|0;O=(k[K>>2]|0)+64|0;k[O>>2]=k[C>>2];k[O+4>>2]=n;O=ZE(k[A>>2]|0,k[(k[B>>2]|0)+16>>2]|0,k[K>>2]|0)|0;k[M>>2]=O;if(k[M>>2]|0){k[I>>2]=k[M>>2];O=k[I>>2]|0;r=N;return O|0}k[x>>2]=-1;k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[y>>2]|0))break;k[(k[(k[L>>2]|0)+48>>2]|0)+(k[u>>2]<<2)>>2]=0;k[u>>2]=(k[u>>2]|0)+1}j[(k[L>>2]|0)+24+6>>1]=0;k[z>>2]=k[(k[K>>2]|0)+4>>2];k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[y>>2]|0))break;O=(k[(k[E>>2]|0)+(k[u>>2]<<3)>>2]|0)-1|0;k[v>>2]=O;if((O|0)>=0){k[w>>2]=k[(k[z>>2]|0)+8>>2];if((k[w>>2]|0)<0?1:(k[v>>2]|0)>=(k[y>>2]|0)){H=19;break}if((k[w>>2]|0)>=(k[(k[F>>2]|0)+12>>2]|0)){H=19;break}if(k[(k[(k[L>>2]|0)+48>>2]|0)+(k[v>>2]<<2)>>2]|0){H=19;break}if(!(l[(k[z>>2]|0)+5>>0]|0)){H=19;break}k[D>>2]=(k[(k[F>>2]|0)+20>>2]|0)+((k[w>>2]|0)*48|0);C=(k[D>>2]|0)+32|0;O=k[L>>2]|0;g=O;n=k[g+4>>2]|k[C+4>>2];k[O>>2]=k[g>>2]|k[C>>2];k[O+4>>2]=n;k[(k[(k[L>>2]|0)+48>>2]|0)+(k[v>>2]<<2)>>2]=k[D>>2];if((k[v>>2]|0)>(k[x>>2]|0))k[x>>2]=k[v>>2];if((k[v>>2]|0)<16?(l[(k[E>>2]|0)+(k[u>>2]<<3)+4>>0]|0)!=0:0){O=(k[L>>2]|0)+24+6|0;j[O>>1]=m[O>>1]|1<>2]}if(m[(k[D>>2]|0)+12>>1]&1){k[(k[K>>2]|0)+32>>2]=0;O=(k[K>>2]|0)+56|0;k[O>>2]=k[O>>2]&-2;k[k[q>>2]>>2]=1}}k[u>>2]=(k[u>>2]|0)+1;k[z>>2]=(k[z>>2]|0)+12}if((H|0)==19){k[M>>2]=1;O=k[A>>2]|0;k[G>>2]=k[k[(k[B>>2]|0)+16>>2]>>2];Oh(O,34806,G);k[I>>2]=k[M>>2];O=k[I>>2]|0;r=N;return O|0}O=(k[L>>2]|0)+24+6|0;j[O>>1]=m[O>>1]&~m[o>>1];j[(k[L>>2]|0)+40>>1]=(k[x>>2]|0)+1;k[(k[L>>2]|0)+24>>2]=k[(k[K>>2]|0)+20>>2];i[(k[L>>2]|0)+24+4>>0]=k[(k[K>>2]|0)+28>>2];k[(k[K>>2]|0)+28>>2]=0;k[(k[L>>2]|0)+24+8>>2]=k[(k[K>>2]|0)+24>>2];if(k[(k[K>>2]|0)+32>>2]|0)b=k[(k[K>>2]|0)+8>>2]|0;else b=0;i[(k[L>>2]|0)+24+5>>0]=b;j[(k[L>>2]|0)+18>>1]=0;b=_E(+p[(k[K>>2]|0)+40>>3])|0;j[(k[L>>2]|0)+20>>1]=b;b=(k[K>>2]|0)+48|0;b=Wj(k[b>>2]|0,k[b+4>>2]|0)|0;j[(k[L>>2]|0)+22>>1]=b;b=(k[L>>2]|0)+36|0;c=k[b>>2]|0;if(k[(k[K>>2]|0)+56>>2]&1)k[b>>2]=c|4096;else k[b>>2]=c&-4097;O=GE(k[J>>2]|0,k[L>>2]|0)|0;k[M>>2]=O;if(i[(k[L>>2]|0)+24+4>>0]|0){Ud(k[(k[L>>2]|0)+24+8>>2]|0);i[(k[L>>2]|0)+24+4>>0]=0}k[I>>2]=k[M>>2];O=k[I>>2]|0;r=N;return O|0}function ZE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;h=i+8|0;g=i;d=i+28|0;l=i+24|0;j=i+20|0;e=i+16|0;f=i+12|0;k[d>>2]=a;k[l>>2]=b;k[j>>2]=c;b=(cy(k[k[d>>2]>>2]|0,k[l>>2]|0)|0)+8|0;k[e>>2]=k[b>>2];b=gc[k[(k[k[e>>2]>>2]|0)+12>>2]&255](k[e>>2]|0,k[j>>2]|0)|0;k[f>>2]=b;do if(k[f>>2]|0){if((k[f>>2]|0)==7){wh(k[k[d>>2]>>2]|0);break}c=k[d>>2]|0;if(k[(k[e>>2]|0)+8>>2]|0){k[h>>2]=k[(k[e>>2]|0)+8>>2];Oh(c,18391,h);break}else{l=vh(k[f>>2]|0)|0;k[g>>2]=l;Oh(c,18391,g);break}}while(0);Ud(k[(k[e>>2]|0)+8>>2]|0);k[(k[e>>2]|0)+8>>2]=0;r=i;return k[(k[d>>2]|0)+36>>2]|0}function _E(a){a=+a;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+18|0;c=f+8|0;d=f;e=f+16|0;p[c>>3]=a;if(+p[c>>3]<=1.0){j[b>>1]=0;e=j[b>>1]|0;r=f;return e|0}if(+p[c>>3]<=2.0e9){a=+p[c>>3];e=Wj(~~a>>>0,+W(a)>=1.0?(a>0.0?~~+ia(+V(a/4294967296.0),4294967295.0)>>>0:~~+ga((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;j[b>>1]=e;e=j[b>>1]|0;r=f;return e|0}else{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];d=aS(k[d>>2]|0,k[d+4>>2]|0,52)|0;d=_R(d|0,L|0,1022,0)|0;j[e>>1]=d;j[b>>1]=(j[e>>1]|0)*10;e=j[b>>1]|0;r=f;return e|0}return 0}function $E(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;q=t+36|0;f=t+32|0;g=t+28|0;h=t+24|0;i=t+20|0;m=t+16|0;s=t+12|0;p=t+8|0;n=t+4|0;o=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;k[p>>2]=k[(k[(k[i>>2]|0)+32>>2]|0)+(k[m>>2]<<2)>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[g>>2]>>2]|0)){f=10;break}a=uy(k[(k[(k[g>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2]|0)|0;k[n>>2]=a;if(((((l[k[n>>2]>>0]|0)==152?(j[(k[n>>2]|0)+32>>1]|0)==(j[(k[(k[i>>2]|0)+4>>2]|0)+(k[m>>2]<<1)>>1]|0):0)?(k[(k[n>>2]|0)+28>>2]|0)==(k[h>>2]|0):0)?(a=py(k[f>>2]|0,k[(k[(k[g>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2]|0)|0,k[o>>2]=a,(k[o>>2]|0)!=0):0)?0==(sg(k[k[o>>2]>>2]|0,k[p>>2]|0)|0):0){f=8;break}k[s>>2]=(k[s>>2]|0)+1}if((f|0)==8){k[q>>2]=k[s>>2];s=k[q>>2]|0;r=t;return s|0}else if((f|0)==10){k[q>>2]=-1;s=k[q>>2]|0;r=t;return s|0}return 0} -function YR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;c=k[a+4>>2]|0;do if(!(c&1)){j=k[a>>2]|0;if(!(c&3))return;n=a+(0-j)|0;m=j+b|0;i=k[2261]|0;if(n>>>0>>0)Va();if((n|0)==(k[2262]|0)){d=a+(b+4)|0;c=k[d>>2]|0;if((c&3|0)!=3){t=n;g=m;break}k[2259]=m;k[d>>2]=c&-2;k[a+(4-j)>>2]=m|1;k[q>>2]=m;return}f=j>>>3;if(j>>>0<256){e=k[a+(8-j)>>2]|0;d=k[a+(12-j)>>2]|0;c=9068+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(n|0))Va()}if((d|0)==(e|0)){k[2257]=k[2257]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(n|0))h=c;else Va()}else h=d+8|0;k[e+12>>2]=d;k[h>>2]=e;t=n;g=m;break}h=k[a+(24-j)>>2]|0;e=k[a+(12-j)>>2]|0;do if((e|0)==(n|0)){e=16-j|0;d=a+(e+4)|0;c=k[d>>2]|0;if(!c){d=a+e|0;c=k[d>>2]|0;if(!c){l=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;l=c;break}}else{f=k[a+(8-j)>>2]|0;if(f>>>0>>0)Va();c=f+12|0;if((k[c>>2]|0)!=(n|0))Va();d=e+8|0;if((k[d>>2]|0)==(n|0)){k[c>>2]=e;k[d>>2]=f;l=e;break}else Va()}while(0);if(h){c=k[a+(28-j)>>2]|0;d=9332+(c<<2)|0;if((n|0)==(k[d>>2]|0)){k[d>>2]=l;if(!l){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();c=h+16|0;if((k[c>>2]|0)==(n|0))k[c>>2]=l;else k[h+20>>2]=l;if(!l){t=n;g=m;break}}e=k[2261]|0;if(l>>>0>>0)Va();k[l+24>>2]=h;c=16-j|0;d=k[a+c>>2]|0;do if(d)if(d>>>0>>0)Va();else{k[l+16>>2]=d;k[d+24>>2]=l;break}while(0);c=k[a+(c+4)>>2]|0;if(c)if(c>>>0<(k[2261]|0)>>>0)Va();else{k[l+20>>2]=c;k[c+24>>2]=l;t=n;g=m;break}else{t=n;g=m}}else{t=n;g=m}}else{t=a;g=b}while(0);i=k[2261]|0;if(q>>>0>>0)Va();c=a+(b+4)|0;d=k[c>>2]|0;if(!(d&2)){if((q|0)==(k[2263]|0)){s=(k[2260]|0)+g|0;k[2260]=s;k[2263]=t;k[t+4>>2]=s|1;if((t|0)!=(k[2262]|0))return;k[2262]=0;k[2259]=0;return}if((q|0)==(k[2262]|0)){s=(k[2259]|0)+g|0;k[2259]=s;k[2262]=t;k[t+4>>2]=s|1;k[t+s>>2]=s;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=k[a+(b+24)>>2]|0;e=k[a+(b+12)>>2]|0;do if((e|0)==(q|0)){d=a+(b+20)|0;c=k[d>>2]|0;if(!c){d=a+(b+16)|0;c=k[d>>2]|0;if(!c){p=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;p=c;break}}else{f=k[a+(b+8)>>2]|0;if(f>>>0>>0)Va();c=f+12|0;if((k[c>>2]|0)!=(q|0))Va();d=e+8|0;if((k[d>>2]|0)==(q|0)){k[c>>2]=e;k[d>>2]=f;p=e;break}else Va()}while(0);if(h){c=k[a+(b+28)>>2]|0;d=9332+(c<<2)|0;if((q|0)==(k[d>>2]|0)){k[d>>2]=p;if(!p){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();c=h+16|0;if((k[c>>2]|0)==(q|0))k[c>>2]=p;else k[h+20>>2]=p;if(!p)break}d=k[2261]|0;if(p>>>0>>0)Va();k[p+24>>2]=h;c=k[a+(b+16)>>2]|0;do if(c)if(c>>>0>>0)Va();else{k[p+16>>2]=c;k[c+24>>2]=p;break}while(0);c=k[a+(b+20)>>2]|0;if(c)if(c>>>0<(k[2261]|0)>>>0)Va();else{k[p+20>>2]=c;k[c+24>>2]=p;break}}}else{e=k[a+(b+8)>>2]|0;d=k[a+(b+12)>>2]|0;c=9068+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(q|0))Va()}if((d|0)==(e|0)){k[2257]=k[2257]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(q|0))o=c;else Va()}else o=d+8|0;k[e+12>>2]=d;k[o>>2]=e}while(0);k[t+4>>2]=g|1;k[t+g>>2]=g;if((t|0)==(k[2262]|0)){k[2259]=g;return}}else{k[c>>2]=d&-2;k[t+4>>2]=g|1;k[t+g>>2]=g}c=g>>>3;if(g>>>0<256){d=c<<1;f=9068+(d<<2)|0;e=k[2257]|0;c=1<>2]|0;if(d>>>0<(k[2261]|0)>>>0)Va();else{r=c;s=d}}else{k[2257]=e|c;r=9068+(d+2<<2)|0;s=f}k[r>>2]=t;k[s+12>>2]=t;k[t+8>>2]=s;k[t+12>>2]=f;return}c=g>>>8;if(c)if(g>>>0>16777215)f=31;else{r=(c+1048320|0)>>>16&8;s=c<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;c=9332+(f<<2)|0;k[t+28>>2]=f;k[t+20>>2]=0;k[t+16>>2]=0;d=k[2258]|0;e=1<>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}c=k[c>>2]|0;a:do if((k[c+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=c+16+(f>>>31<<2)|0;e=k[d>>2]|0;if(!e)break;if((k[e+4>>2]&-8|0)==(g|0)){c=e;break a}else{f=f<<1;c=e}}if(d>>>0<(k[2261]|0)>>>0)Va();k[d>>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}while(0);d=c+8|0;e=k[d>>2]|0;s=k[2261]|0;if(!(e>>>0>=s>>>0&c>>>0>=s>>>0))Va();k[e+12>>2]=t;k[d>>2]=t;k[t+8>>2]=e;k[t+12>>2]=c;k[t+24>>2]=0;return}function ZR(){}function _R(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (L=d,a-c>>>0|0)|0}function $R(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<>>c-32|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return ub(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function cS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else bS(a,b,c)|0;return a|0}function dS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function eS(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function gS(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function hS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ha(e,f)|0;d=a>>>16;a=(c>>>16)+(ha(e,d)|0)|0;e=b>>>16;b=ha(e,f)|0;return (L=(a>>>16)+(ha(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function iS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=_R(j^a,i^b,j,i)|0;g=L;a=f^j;b=e^i;return _R((nS(h,g,_R(f^c,e^d,f,e)|0,L,0)|0)^a,L^b,a,b)|0}function jS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=_R(g^a,f^b,g,f)|0;b=L;nS(a,b,_R(j^c,i^d,j,i)|0,L,h)|0;d=_R(k[h>>2]^g,k[h+4>>2]^f,g,f)|0;c=L;r=e;return (L=c,d)|0}function kS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=hS(e,f)|0;a=L;return (L=(ha(b,f)|0)+(ha(d,e)|0)+a|a&0,c|0|0)|0}function lS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return nS(a,b,c,d,0)|0}function mS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;nS(a,b,c,d,e)|0;r=f;return (L=k[e+4>>2]|0,k[e>>2]|0)|0}function nS(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (L=n,e)|0}else{if(!f){n=0;e=0;return (L=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (L=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (L=n,e)|0}f=g-1|0;if(f&g){h=(ja(g|0)|0)+33-(ja(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (L=o,p)|0}else{p=gS(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (L=o,p)|0}}else{if(f){if(e){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (L=o,p)|0}if(!l){if(e){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (L=o,p)|0}f=h-1|0;if(!(f&h)){if(e){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((gS(h|0)|0)>>>0);return (L=o,p)|0}f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (L=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=$R(m|0,l|0,-1,-1)|0;c=L;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;_R(j,c,d,n)|0;p=L;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=_R(d,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=L;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (L=o,p)|0}function oS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb[a&255](b|0,c|0,d|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return na(0,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return na(1,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return na(2,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return na(3,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return na(4,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return na(5,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return na(6,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return na(7,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return na(8,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return na(9,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return na(10,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return na(11,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return na(12,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return na(13,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return na(14,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return na(15,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return na(16,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return na(17,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return na(18,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return na(19,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return na(20,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return na(21,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return na(22,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return na(23,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return na(24,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return na(25,a|0,b|0,c|0)|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;return na(26,a|0,b|0,c|0)|0}function QS(a,b,c){a=a|0;b=b|0;c=c|0;return na(27,a|0,b|0,c|0)|0}function RS(a,b,c){a=a|0;b=b|0;c=c|0;return na(28,a|0,b|0,c|0)|0}function SS(a,b,c){a=a|0;b=b|0;c=c|0;return na(29,a|0,b|0,c|0)|0}function TS(a,b,c){a=a|0;b=b|0;c=c|0;return na(30,a|0,b|0,c|0)|0}function US(a,b,c){a=a|0;b=b|0;c=c|0;return na(31,a|0,b|0,c|0)|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;return na(32,a|0,b|0,c|0)|0}function WS(a,b,c){a=a|0;b=b|0;c=c|0;return na(33,a|0,b|0,c|0)|0}function XS(a,b,c){a=a|0;b=b|0;c=c|0;return na(34,a|0,b|0,c|0)|0}function YS(a,b,c){a=a|0;b=b|0;c=c|0;return na(35,a|0,b|0,c|0)|0}function ZS(a,b,c){a=a|0;b=b|0;c=c|0;return na(36,a|0,b|0,c|0)|0}function _S(a,b,c){a=a|0;b=b|0;c=c|0;return na(37,a|0,b|0,c|0)|0}function $S(a,b,c){a=a|0;b=b|0;c=c|0;return na(38,a|0,b|0,c|0)|0}function aT(a,b,c){a=a|0;b=b|0;c=c|0;return na(39,a|0,b|0,c|0)|0}function bT(a,b,c){a=a|0;b=b|0;c=c|0;return na(40,a|0,b|0,c|0)|0}function cT(a,b,c){a=a|0;b=b|0;c=c|0;return na(41,a|0,b|0,c|0)|0}function dT(a,b,c){a=a|0;b=b|0;c=c|0;return na(42,a|0,b|0,c|0)|0}function eT(a,b,c){a=a|0;b=b|0;c=c|0;return na(43,a|0,b|0,c|0)|0}function fT(a,b,c){a=a|0;b=b|0;c=c|0;return na(44,a|0,b|0,c|0)|0}function gT(a,b,c){a=a|0;b=b|0;c=c|0;return na(45,a|0,b|0,c|0)|0}function hT(a,b,c){a=a|0;b=b|0;c=c|0;return na(46,a|0,b|0,c|0)|0}function iT(a,b,c){a=a|0;b=b|0;c=c|0;return na(47,a|0,b|0,c|0)|0}function jT(a,b,c){a=a|0;b=b|0;c=c|0;return na(48,a|0,b|0,c|0)|0}function kT(a,b,c){a=a|0;b=b|0;c=c|0;return na(49,a|0,b|0,c|0)|0}function lT(a,b,c){a=a|0;b=b|0;c=c|0;return na(50,a|0,b|0,c|0)|0}function mT(a,b,c){a=a|0;b=b|0;c=c|0;return na(51,a|0,b|0,c|0)|0}function nT(a,b,c){a=a|0;b=b|0;c=c|0;return na(52,a|0,b|0,c|0)|0}function oT(a,b,c){a=a|0;b=b|0;c=c|0;return na(53,a|0,b|0,c|0)|0}function pT(a,b,c){a=a|0;b=b|0;c=c|0;return na(54,a|0,b|0,c|0)|0}function qT(a,b,c){a=a|0;b=b|0;c=c|0;return na(55,a|0,b|0,c|0)|0}function rT(a,b,c){a=a|0;b=b|0;c=c|0;return na(56,a|0,b|0,c|0)|0}function sT(a,b,c){a=a|0;b=b|0;c=c|0;return na(57,a|0,b|0,c|0)|0}function tT(a,b,c){a=a|0;b=b|0;c=c|0;return na(58,a|0,b|0,c|0)|0}function uT(a,b,c){a=a|0;b=b|0;c=c|0;return na(59,a|0,b|0,c|0)|0}function vT(a,b,c){a=a|0;b=b|0;c=c|0;return na(60,a|0,b|0,c|0)|0}function wT(a,b,c){a=a|0;b=b|0;c=c|0;return na(61,a|0,b|0,c|0)|0}function xT(a,b,c){a=a|0;b=b|0;c=c|0;return na(62,a|0,b|0,c|0)|0}function yT(a,b,c){a=a|0;b=b|0;c=c|0;return na(63,a|0,b|0,c|0)|0}function zT(a){a=a|0;return Zb[a&255]()|0}function AT(){return pa(0)|0}function BT(){return pa(1)|0}function CT(){return pa(2)|0}function DT(){return pa(3)|0}function ET(){return pa(4)|0}function FT(){return pa(5)|0}function GT(){return pa(6)|0}function HT(){return pa(7)|0}function IT(){return pa(8)|0}function JT(){return pa(9)|0}function KT(){return pa(10)|0}function LT(){return pa(11)|0}function MT(){return pa(12)|0}function NT(){return pa(13)|0}function OT(){return pa(14)|0}function PT(){return pa(15)|0}function QT(){return pa(16)|0}function RT(){return pa(17)|0}function ST(){return pa(18)|0}function TT(){return pa(19)|0}function UT(){return pa(20)|0}function VT(){return pa(21)|0}function WT(){return pa(22)|0}function XT(){return pa(23)|0}function YT(){return pa(24)|0}function ZT(){return pa(25)|0}function _T(){return pa(26)|0}function $T(){return pa(27)|0}function aU(){return pa(28)|0}function bU(){return pa(29)|0}function cU(){return pa(30)|0}function dU(){return pa(31)|0}function eU(){return pa(32)|0}function fU(){return pa(33)|0}function gU(){return pa(34)|0}function hU(){return pa(35)|0}function iU(){return pa(36)|0}function jU(){return pa(37)|0}function kU(){return pa(38)|0}function lU(){return pa(39)|0}function mU(){return pa(40)|0}function nU(){return pa(41)|0}function oU(){return pa(42)|0}function pU(){return pa(43)|0}function qU(){return pa(44)|0}function rU(){return pa(45)|0}function sU(){return pa(46)|0}function tU(){return pa(47)|0}function uU(){return pa(48)|0}function vU(){return pa(49)|0}function wU(){return pa(50)|0}function xU(){return pa(51)|0}function yU(){return pa(52)|0}function zU(){return pa(53)|0}function AU(){return pa(54)|0}function BU(){return pa(55)|0}function CU(){return pa(56)|0}function DU(){return pa(57)|0}function EU(){return pa(58)|0}function FU(){return pa(59)|0}function GU(){return pa(60)|0}function HU(){return pa(61)|0}function IU(){return pa(62)|0}function JU(){return pa(63)|0}function KU(a,b){a=a|0;b=b|0;_b[a&255](b|0)}function LU(a){a=a|0;ra(0,a|0)}function MU(a){a=a|0;ra(1,a|0)}function NU(a){a=a|0;ra(2,a|0)}function OU(a){a=a|0;ra(3,a|0)}function PU(a){a=a|0;ra(4,a|0)}function QU(a){a=a|0;ra(5,a|0)}function RU(a){a=a|0;ra(6,a|0)}function SU(a){a=a|0;ra(7,a|0)}function TU(a){a=a|0;ra(8,a|0)}function UU(a){a=a|0;ra(9,a|0)}function VU(a){a=a|0;ra(10,a|0)}function WU(a){a=a|0;ra(11,a|0)}function XU(a){a=a|0;ra(12,a|0)}function YU(a){a=a|0;ra(13,a|0)}function ZU(a){a=a|0;ra(14,a|0)}function _U(a){a=a|0;ra(15,a|0)}function $U(a){a=a|0;ra(16,a|0)}function aV(a){a=a|0;ra(17,a|0)}function bV(a){a=a|0;ra(18,a|0)}function cV(a){a=a|0;ra(19,a|0)}function dV(a){a=a|0;ra(20,a|0)}function eV(a){a=a|0;ra(21,a|0)}function fV(a){a=a|0;ra(22,a|0)}function gV(a){a=a|0;ra(23,a|0)}function hV(a){a=a|0;ra(24,a|0)}function iV(a){a=a|0;ra(25,a|0)}function jV(a){a=a|0;ra(26,a|0)}function kV(a){a=a|0;ra(27,a|0)}function lV(a){a=a|0;ra(28,a|0)}function mV(a){a=a|0;ra(29,a|0)}function nV(a){a=a|0;ra(30,a|0)}function oV(a){a=a|0;ra(31,a|0)}function pV(a){a=a|0;ra(32,a|0)}function qV(a){a=a|0;ra(33,a|0)}function rV(a){a=a|0;ra(34,a|0)}function sV(a){a=a|0;ra(35,a|0)}function tV(a){a=a|0;ra(36,a|0)}function uV(a){a=a|0;ra(37,a|0)}function vV(a){a=a|0;ra(38,a|0)}function wV(a){a=a|0;ra(39,a|0)}function xV(a){a=a|0;ra(40,a|0)}function yV(a){a=a|0;ra(41,a|0)}function zV(a){a=a|0;ra(42,a|0)}function AV(a){a=a|0;ra(43,a|0)}function BV(a){a=a|0;ra(44,a|0)}function CV(a){a=a|0;ra(45,a|0)}function DV(a){a=a|0;ra(46,a|0)}function EV(a){a=a|0;ra(47,a|0)}function FV(a){a=a|0;ra(48,a|0)}function GV(a){a=a|0;ra(49,a|0)}function HV(a){a=a|0;ra(50,a|0)}function IV(a){a=a|0;ra(51,a|0)}function JV(a){a=a|0;ra(52,a|0)}function KV(a){a=a|0;ra(53,a|0)}function LV(a){a=a|0;ra(54,a|0)}function MV(a){a=a|0;ra(55,a|0)}function NV(a){a=a|0;ra(56,a|0)}function OV(a){a=a|0;ra(57,a|0)}function PV(a){a=a|0;ra(58,a|0)}function QV(a){a=a|0;ra(59,a|0)}function RV(a){a=a|0;ra(60,a|0)}function SV(a){a=a|0;ra(61,a|0)}function TV(a){a=a|0;ra(62,a|0)}function UV(a){a=a|0;ra(63,a|0)}function VV(a,b,c){a=a|0;b=b|0;c=c|0;$b[a&255](b|0,c|0)}function WV(a,b){a=a|0;b=b|0;ta(0,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ta(1,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ta(2,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ta(3,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ta(4,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ta(5,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ta(6,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ta(7,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ta(8,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ta(9,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ta(10,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ta(11,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ta(12,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ta(13,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ta(14,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ta(15,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ta(16,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ta(17,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ta(18,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ta(19,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ta(20,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ta(21,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ta(22,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ta(23,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ta(24,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ta(25,a|0,b|0)}function uW(a,b){a=a|0;b=b|0;ta(26,a|0,b|0)}function vW(a,b){a=a|0;b=b|0;ta(27,a|0,b|0)}function wW(a,b){a=a|0;b=b|0;ta(28,a|0,b|0)}function xW(a,b){a=a|0;b=b|0;ta(29,a|0,b|0)}function yW(a,b){a=a|0;b=b|0;ta(30,a|0,b|0)}function zW(a,b){a=a|0;b=b|0;ta(31,a|0,b|0)}function AW(a,b){a=a|0;b=b|0;ta(32,a|0,b|0)}function BW(a,b){a=a|0;b=b|0;ta(33,a|0,b|0)}function CW(a,b){a=a|0;b=b|0;ta(34,a|0,b|0)}function DW(a,b){a=a|0;b=b|0;ta(35,a|0,b|0)}function EW(a,b){a=a|0;b=b|0;ta(36,a|0,b|0)}function FW(a,b){a=a|0;b=b|0;ta(37,a|0,b|0)}function GW(a,b){a=a|0;b=b|0;ta(38,a|0,b|0)}function HW(a,b){a=a|0;b=b|0;ta(39,a|0,b|0)}function IW(a,b){a=a|0;b=b|0;ta(40,a|0,b|0)}function JW(a,b){a=a|0;b=b|0;ta(41,a|0,b|0)}function KW(a,b){a=a|0;b=b|0;ta(42,a|0,b|0)}function LW(a,b){a=a|0;b=b|0;ta(43,a|0,b|0)}function MW(a,b){a=a|0;b=b|0;ta(44,a|0,b|0)}function NW(a,b){a=a|0;b=b|0;ta(45,a|0,b|0)}function OW(a,b){a=a|0;b=b|0;ta(46,a|0,b|0)}function PW(a,b){a=a|0;b=b|0;ta(47,a|0,b|0)}function QW(a,b){a=a|0;b=b|0;ta(48,a|0,b|0)}function RW(a,b){a=a|0;b=b|0;ta(49,a|0,b|0)}function SW(a,b){a=a|0;b=b|0;ta(50,a|0,b|0)}function TW(a,b){a=a|0;b=b|0;ta(51,a|0,b|0)}function UW(a,b){a=a|0;b=b|0;ta(52,a|0,b|0)}function VW(a,b){a=a|0;b=b|0;ta(53,a|0,b|0)}function WW(a,b){a=a|0;b=b|0;ta(54,a|0,b|0)}function XW(a,b){a=a|0;b=b|0;ta(55,a|0,b|0)}function YW(a,b){a=a|0;b=b|0;ta(56,a|0,b|0)}function ZW(a,b){a=a|0;b=b|0;ta(57,a|0,b|0)}function _W(a,b){a=a|0;b=b|0;ta(58,a|0,b|0)}function $W(a,b){a=a|0;b=b|0;ta(59,a|0,b|0)}function aX(a,b){a=a|0;b=b|0;ta(60,a|0,b|0)}function bX(a,b){a=a|0;b=b|0;ta(61,a|0,b|0)}function cX(a,b){a=a|0;b=b|0;ta(62,a|0,b|0)}function dX(a,b){a=a|0;b=b|0;ta(63,a|0,b|0)}function eX(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ac[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _X(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $X(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pY(a,b){a=a|0;b=b|0;return bc[a&255](b|0)|0}function qY(a){a=a|0;return xa(0,a|0)|0}function rY(a){a=a|0;return xa(1,a|0)|0}function sY(a){a=a|0;return xa(2,a|0)|0}function tY(a){a=a|0;return xa(3,a|0)|0}function uY(a){a=a|0;return xa(4,a|0)|0}function vY(a){a=a|0;return xa(5,a|0)|0}function wY(a){a=a|0;return xa(6,a|0)|0}function xY(a){a=a|0;return xa(7,a|0)|0}function yY(a){a=a|0;return xa(8,a|0)|0}function zY(a){a=a|0;return xa(9,a|0)|0}function AY(a){a=a|0;return xa(10,a|0)|0}function BY(a){a=a|0;return xa(11,a|0)|0}function CY(a){a=a|0;return xa(12,a|0)|0}function DY(a){a=a|0;return xa(13,a|0)|0}function EY(a){a=a|0;return xa(14,a|0)|0}function FY(a){a=a|0;return xa(15,a|0)|0}function GY(a){a=a|0;return xa(16,a|0)|0}function HY(a){a=a|0;return xa(17,a|0)|0}function IY(a){a=a|0;return xa(18,a|0)|0}function JY(a){a=a|0;return xa(19,a|0)|0}function KY(a){a=a|0;return xa(20,a|0)|0}function LY(a){a=a|0;return xa(21,a|0)|0}function MY(a){a=a|0;return xa(22,a|0)|0}function NY(a){a=a|0;return xa(23,a|0)|0}function OY(a){a=a|0;return xa(24,a|0)|0}function PY(a){a=a|0;return xa(25,a|0)|0}function QY(a){a=a|0;return xa(26,a|0)|0}function RY(a){a=a|0;return xa(27,a|0)|0}function SY(a){a=a|0;return xa(28,a|0)|0}function TY(a){a=a|0;return xa(29,a|0)|0}function UY(a){a=a|0;return xa(30,a|0)|0}function VY(a){a=a|0;return xa(31,a|0)|0}function WY(a){a=a|0;return xa(32,a|0)|0}function XY(a){a=a|0;return xa(33,a|0)|0}function YY(a){a=a|0;return xa(34,a|0)|0}function ZY(a){a=a|0;return xa(35,a|0)|0}function _Y(a){a=a|0;return xa(36,a|0)|0}function $Y(a){a=a|0;return xa(37,a|0)|0}function aZ(a){a=a|0;return xa(38,a|0)|0}function bZ(a){a=a|0;return xa(39,a|0)|0}function cZ(a){a=a|0;return xa(40,a|0)|0}function dZ(a){a=a|0;return xa(41,a|0)|0}function eZ(a){a=a|0;return xa(42,a|0)|0}function fZ(a){a=a|0;return xa(43,a|0)|0}function gZ(a){a=a|0;return xa(44,a|0)|0}function hZ(a){a=a|0;return xa(45,a|0)|0}function iZ(a){a=a|0;return xa(46,a|0)|0}function jZ(a){a=a|0;return xa(47,a|0)|0}function kZ(a){a=a|0;return xa(48,a|0)|0}function lZ(a){a=a|0;return xa(49,a|0)|0}function mZ(a){a=a|0;return xa(50,a|0)|0}function nZ(a){a=a|0;return xa(51,a|0)|0}function oZ(a){a=a|0;return xa(52,a|0)|0}function pZ(a){a=a|0;return xa(53,a|0)|0}function qZ(a){a=a|0;return xa(54,a|0)|0}function rZ(a){a=a|0;return xa(55,a|0)|0}function sZ(a){a=a|0;return xa(56,a|0)|0}function tZ(a){a=a|0;return xa(57,a|0)|0}function uZ(a){a=a|0;return xa(58,a|0)|0}function vZ(a){a=a|0;return xa(59,a|0)|0}function wZ(a){a=a|0;return xa(60,a|0)|0}function xZ(a){a=a|0;return xa(61,a|0)|0}function yZ(a){a=a|0;return xa(62,a|0)|0}function zZ(a){a=a|0;return xa(63,a|0)|0}function AZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cc[a&255](b|0,c|0,d|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;za(0,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;za(1,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;za(2,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;za(3,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;za(4,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;za(5,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;za(6,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;za(7,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;za(8,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;za(9,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;za(10,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;za(11,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;za(12,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;za(13,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;za(14,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;za(15,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;za(16,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;za(17,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;za(18,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;za(19,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;za(20,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;za(21,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;za(22,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;za(23,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;za(24,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;za(25,a|0,b|0,c|0)}function $Z(a,b,c){a=a|0;b=b|0;c=c|0;za(26,a|0,b|0,c|0)}function a_(a,b,c){a=a|0;b=b|0;c=c|0;za(27,a|0,b|0,c|0)}function b_(a,b,c){a=a|0;b=b|0;c=c|0;za(28,a|0,b|0,c|0)}function c_(a,b,c){a=a|0;b=b|0;c=c|0;za(29,a|0,b|0,c|0)}function d_(a,b,c){a=a|0;b=b|0;c=c|0;za(30,a|0,b|0,c|0)}function e_(a,b,c){a=a|0;b=b|0;c=c|0;za(31,a|0,b|0,c|0)}function f_(a,b,c){a=a|0;b=b|0;c=c|0;za(32,a|0,b|0,c|0)}function g_(a,b,c){a=a|0;b=b|0;c=c|0;za(33,a|0,b|0,c|0)}function h_(a,b,c){a=a|0;b=b|0;c=c|0;za(34,a|0,b|0,c|0)}function i_(a,b,c){a=a|0;b=b|0;c=c|0;za(35,a|0,b|0,c|0)}function j_(a,b,c){a=a|0;b=b|0;c=c|0;za(36,a|0,b|0,c|0)}function k_(a,b,c){a=a|0;b=b|0;c=c|0;za(37,a|0,b|0,c|0)}function l_(a,b,c){a=a|0;b=b|0;c=c|0;za(38,a|0,b|0,c|0)}function m_(a,b,c){a=a|0;b=b|0;c=c|0;za(39,a|0,b|0,c|0)}function n_(a,b,c){a=a|0;b=b|0;c=c|0;za(40,a|0,b|0,c|0)}function o_(a,b,c){a=a|0;b=b|0;c=c|0;za(41,a|0,b|0,c|0)}function p_(a,b,c){a=a|0;b=b|0;c=c|0;za(42,a|0,b|0,c|0)}function q_(a,b,c){a=a|0;b=b|0;c=c|0;za(43,a|0,b|0,c|0)}function r_(a,b,c){a=a|0;b=b|0;c=c|0;za(44,a|0,b|0,c|0)}function s_(a,b,c){a=a|0;b=b|0;c=c|0;za(45,a|0,b|0,c|0)}function t_(a,b,c){a=a|0;b=b|0;c=c|0;za(46,a|0,b|0,c|0)}function u_(a,b,c){a=a|0;b=b|0;c=c|0;za(47,a|0,b|0,c|0)}function v_(a,b,c){a=a|0;b=b|0;c=c|0;za(48,a|0,b|0,c|0)}function w_(a,b,c){a=a|0;b=b|0;c=c|0;za(49,a|0,b|0,c|0)}function x_(a,b,c){a=a|0;b=b|0;c=c|0;za(50,a|0,b|0,c|0)}function y_(a,b,c){a=a|0;b=b|0;c=c|0;za(51,a|0,b|0,c|0)}function z_(a,b,c){a=a|0;b=b|0;c=c|0;za(52,a|0,b|0,c|0)}function A_(a,b,c){a=a|0;b=b|0;c=c|0;za(53,a|0,b|0,c|0)}function B_(a,b,c){a=a|0;b=b|0;c=c|0;za(54,a|0,b|0,c|0)}function C_(a,b,c){a=a|0;b=b|0;c=c|0;za(55,a|0,b|0,c|0)}function D_(a,b,c){a=a|0;b=b|0;c=c|0;za(56,a|0,b|0,c|0)}function E_(a,b,c){a=a|0;b=b|0;c=c|0;za(57,a|0,b|0,c|0)}function F_(a,b,c){a=a|0;b=b|0;c=c|0;za(58,a|0,b|0,c|0)}function G_(a,b,c){a=a|0;b=b|0;c=c|0;za(59,a|0,b|0,c|0)}function H_(a,b,c){a=a|0;b=b|0;c=c|0;za(60,a|0,b|0,c|0)}function I_(a,b,c){a=a|0;b=b|0;c=c|0;za(61,a|0,b|0,c|0)}function J_(a,b,c){a=a|0;b=b|0;c=c|0;za(62,a|0,b|0,c|0)}function K_(a,b,c){a=a|0;b=b|0;c=c|0;za(63,a|0,b|0,c|0)}function L_(a){a=a|0;dc[a&255]()}function M_(){Ba(0)}function N_(){Ba(1)}function O_(){Ba(2)}function P_(){Ba(3)}function Q_(){Ba(4)}function R_(){Ba(5)}function S_(){Ba(6)}function T_(){Ba(7)}function U_(){Ba(8)}function V_(){Ba(9)}function W_(){Ba(10)}function X_(){Ba(11)}function Y_(){Ba(12)}function Z_(){Ba(13)}function __(){Ba(14)}function $_(){Ba(15)}function a$(){Ba(16)}function b$(){Ba(17)}function c$(){Ba(18)}function d$(){Ba(19)}function e$(){Ba(20)}function f$(){Ba(21)}function g$(){Ba(22)}function h$(){Ba(23)}function i$(){Ba(24)}function j$(){Ba(25)}function k$(){Ba(26)}function l$(){Ba(27)}function m$(){Ba(28)}function n$(){Ba(29)}function o$(){Ba(30)}function p$(){Ba(31)}function q$(){Ba(32)}function r$(){Ba(33)}function s$(){Ba(34)}function t$(){Ba(35)}function u$(){Ba(36)}function v$(){Ba(37)}function w$(){Ba(38)}function x$(){Ba(39)}function y$(){Ba(40)}function z$(){Ba(41)}function A$(){Ba(42)}function B$(){Ba(43)}function C$(){Ba(44)}function D$(){Ba(45)}function E$(){Ba(46)}function F$(){Ba(47)}function G$(){Ba(48)}function H$(){Ba(49)}function I$(){Ba(50)}function J$(){Ba(51)}function K$(){Ba(52)}function L$(){Ba(53)}function M$(){Ba(54)}function N$(){Ba(55)}function O$(){Ba(56)}function P$(){Ba(57)}function Q$(){Ba(58)}function R$(){Ba(59)}function S$(){Ba(60)}function T$(){Ba(61)}function U$(){Ba(62)}function V$(){Ba(63)}function W$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ec[a&255](b|0,c|0,d|0,e|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(0,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(1,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(2,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(3,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(4,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(5,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(6,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(7,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(8,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(9,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(10,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(11,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(12,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(13,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(14,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(15,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(16,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(17,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(18,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(19,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(20,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(21,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(22,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(23,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(24,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(25,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(26,a|0,b|0,c|0,d|0)|0}function w0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(27,a|0,b|0,c|0,d|0)|0}function x0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(28,a|0,b|0,c|0,d|0)|0}function y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(29,a|0,b|0,c|0,d|0)|0}function z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(30,a|0,b|0,c|0,d|0)|0}function A0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(31,a|0,b|0,c|0,d|0)|0}function B0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(32,a|0,b|0,c|0,d|0)|0}function C0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(33,a|0,b|0,c|0,d|0)|0}function D0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(34,a|0,b|0,c|0,d|0)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(35,a|0,b|0,c|0,d|0)|0}function F0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(36,a|0,b|0,c|0,d|0)|0}function G0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(37,a|0,b|0,c|0,d|0)|0}function H0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(38,a|0,b|0,c|0,d|0)|0}function I0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(39,a|0,b|0,c|0,d|0)|0}function J0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(40,a|0,b|0,c|0,d|0)|0}function K0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(41,a|0,b|0,c|0,d|0)|0}function L0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(42,a|0,b|0,c|0,d|0)|0}function M0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(43,a|0,b|0,c|0,d|0)|0}function N0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(44,a|0,b|0,c|0,d|0)|0}function O0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(45,a|0,b|0,c|0,d|0)|0}function P0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(46,a|0,b|0,c|0,d|0)|0}function Q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(47,a|0,b|0,c|0,d|0)|0}function R0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(48,a|0,b|0,c|0,d|0)|0}function S0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(49,a|0,b|0,c|0,d|0)|0}function T0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(50,a|0,b|0,c|0,d|0)|0}function U0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(51,a|0,b|0,c|0,d|0)|0}function V0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(52,a|0,b|0,c|0,d|0)|0}function W0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(53,a|0,b|0,c|0,d|0)|0}function X0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(54,a|0,b|0,c|0,d|0)|0}function Y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(55,a|0,b|0,c|0,d|0)|0}function Z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(56,a|0,b|0,c|0,d|0)|0}function _0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(57,a|0,b|0,c|0,d|0)|0}function $0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(58,a|0,b|0,c|0,d|0)|0}function a1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(59,a|0,b|0,c|0,d|0)|0}function b1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(60,a|0,b|0,c|0,d|0)|0}function c1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(61,a|0,b|0,c|0,d|0)|0}function d1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(62,a|0,b|0,c|0,d|0)|0}function e1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(63,a|0,b|0,c|0,d|0)|0}function f1(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;fc[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function H1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function I1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function J1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function K1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function L1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function M1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function N1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function O1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function P1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function Q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function R1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function S1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function T1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function U1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function V1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function W1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function X1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function Y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function Z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function _1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function $1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function a2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function b2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function c2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function d2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function e2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function f2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function g2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function h2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function i2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function j2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function k2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function l2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function m2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function n2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function o2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function p2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function q2(a,b,c){a=a|0;b=b|0;c=c|0;return gc[a&255](b|0,c|0)|0}function r2(a,b){a=a|0;b=b|0;return Ha(0,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return Ha(1,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return Ha(2,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return Ha(3,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return Ha(4,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return Ha(5,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return Ha(6,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return Ha(7,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return Ha(8,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return Ha(9,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return Ha(10,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return Ha(11,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return Ha(12,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return Ha(13,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return Ha(14,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return Ha(15,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return Ha(16,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return Ha(17,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return Ha(18,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return Ha(19,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return Ha(20,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return Ha(21,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return Ha(22,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return Ha(23,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return Ha(24,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return Ha(25,a|0,b|0)|0}function R2(a,b){a=a|0;b=b|0;return Ha(26,a|0,b|0)|0}function S2(a,b){a=a|0;b=b|0;return Ha(27,a|0,b|0)|0}function T2(a,b){a=a|0;b=b|0;return Ha(28,a|0,b|0)|0}function U2(a,b){a=a|0;b=b|0;return Ha(29,a|0,b|0)|0}function V2(a,b){a=a|0;b=b|0;return Ha(30,a|0,b|0)|0}function W2(a,b){a=a|0;b=b|0;return Ha(31,a|0,b|0)|0}function X2(a,b){a=a|0;b=b|0;return Ha(32,a|0,b|0)|0}function Y2(a,b){a=a|0;b=b|0;return Ha(33,a|0,b|0)|0}function Z2(a,b){a=a|0;b=b|0;return Ha(34,a|0,b|0)|0}function _2(a,b){a=a|0;b=b|0;return Ha(35,a|0,b|0)|0}function $2(a,b){a=a|0;b=b|0;return Ha(36,a|0,b|0)|0}function a3(a,b){a=a|0;b=b|0;return Ha(37,a|0,b|0)|0}function b3(a,b){a=a|0;b=b|0;return Ha(38,a|0,b|0)|0}function c3(a,b){a=a|0;b=b|0;return Ha(39,a|0,b|0)|0}function d3(a,b){a=a|0;b=b|0;return Ha(40,a|0,b|0)|0}function e3(a,b){a=a|0;b=b|0;return Ha(41,a|0,b|0)|0}function f3(a,b){a=a|0;b=b|0;return Ha(42,a|0,b|0)|0}function g3(a,b){a=a|0;b=b|0;return Ha(43,a|0,b|0)|0}function h3(a,b){a=a|0;b=b|0;return Ha(44,a|0,b|0)|0}function i3(a,b){a=a|0;b=b|0;return Ha(45,a|0,b|0)|0}function j3(a,b){a=a|0;b=b|0;return Ha(46,a|0,b|0)|0}function k3(a,b){a=a|0;b=b|0;return Ha(47,a|0,b|0)|0}function l3(a,b){a=a|0;b=b|0;return Ha(48,a|0,b|0)|0}function m3(a,b){a=a|0;b=b|0;return Ha(49,a|0,b|0)|0}function n3(a,b){a=a|0;b=b|0;return Ha(50,a|0,b|0)|0}function o3(a,b){a=a|0;b=b|0;return Ha(51,a|0,b|0)|0}function p3(a,b){a=a|0;b=b|0;return Ha(52,a|0,b|0)|0}function q3(a,b){a=a|0;b=b|0;return Ha(53,a|0,b|0)|0}function r3(a,b){a=a|0;b=b|0;return Ha(54,a|0,b|0)|0}function s3(a,b){a=a|0;b=b|0;return Ha(55,a|0,b|0)|0}function t3(a,b){a=a|0;b=b|0;return Ha(56,a|0,b|0)|0}function u3(a,b){a=a|0;b=b|0;return Ha(57,a|0,b|0)|0}function v3(a,b){a=a|0;b=b|0;return Ha(58,a|0,b|0)|0}function w3(a,b){a=a|0;b=b|0;return Ha(59,a|0,b|0)|0}function x3(a,b){a=a|0;b=b|0;return Ha(60,a|0,b|0)|0}function y3(a,b){a=a|0;b=b|0;return Ha(61,a|0,b|0)|0}function z3(a,b){a=a|0;b=b|0;return Ha(62,a|0,b|0)|0}function A3(a,b){a=a|0;b=b|0;return Ha(63,a|0,b|0)|0}function B3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return hc[a&255](b|0,c|0,d|0,e|0,f|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(0,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(1,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(2,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(3,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(4,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(5,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(6,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(7,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(8,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(9,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(10,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(11,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(12,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(13,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(14,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(15,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(16,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(17,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(18,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(19,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(20,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(21,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(22,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(23,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(24,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(25,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(26,a|0,b|0,c|0,d|0,e|0)|0}function b4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(27,a|0,b|0,c|0,d|0,e|0)|0}function c4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(28,a|0,b|0,c|0,d|0,e|0)|0}function d4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(29,a|0,b|0,c|0,d|0,e|0)|0}function e4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(30,a|0,b|0,c|0,d|0,e|0)|0}function f4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(31,a|0,b|0,c|0,d|0,e|0)|0}function g4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(32,a|0,b|0,c|0,d|0,e|0)|0}function h4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(33,a|0,b|0,c|0,d|0,e|0)|0}function i4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(34,a|0,b|0,c|0,d|0,e|0)|0}function j4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(35,a|0,b|0,c|0,d|0,e|0)|0}function k4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(36,a|0,b|0,c|0,d|0,e|0)|0}function l4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(37,a|0,b|0,c|0,d|0,e|0)|0}function m4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(38,a|0,b|0,c|0,d|0,e|0)|0}function n4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(39,a|0,b|0,c|0,d|0,e|0)|0}function o4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(40,a|0,b|0,c|0,d|0,e|0)|0}function p4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(41,a|0,b|0,c|0,d|0,e|0)|0}function q4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(42,a|0,b|0,c|0,d|0,e|0)|0}function r4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(43,a|0,b|0,c|0,d|0,e|0)|0}function s4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(44,a|0,b|0,c|0,d|0,e|0)|0}function t4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(45,a|0,b|0,c|0,d|0,e|0)|0}function u4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(46,a|0,b|0,c|0,d|0,e|0)|0}function v4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(47,a|0,b|0,c|0,d|0,e|0)|0}function w4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(48,a|0,b|0,c|0,d|0,e|0)|0}function x4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(49,a|0,b|0,c|0,d|0,e|0)|0}function y4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(50,a|0,b|0,c|0,d|0,e|0)|0}function z4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(51,a|0,b|0,c|0,d|0,e|0)|0}function A4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(52,a|0,b|0,c|0,d|0,e|0)|0}function B4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(53,a|0,b|0,c|0,d|0,e|0)|0}function C4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(54,a|0,b|0,c|0,d|0,e|0)|0}function D4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(55,a|0,b|0,c|0,d|0,e|0)|0}function E4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(56,a|0,b|0,c|0,d|0,e|0)|0}function F4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(57,a|0,b|0,c|0,d|0,e|0)|0}function G4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(58,a|0,b|0,c|0,d|0,e|0)|0}function H4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(59,a|0,b|0,c|0,d|0,e|0)|0}function I4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(60,a|0,b|0,c|0,d|0,e|0)|0}function J4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(61,a|0,b|0,c|0,d|0,e|0)|0}function K4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(62,a|0,b|0,c|0,d|0,e|0)|0}function L4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(63,a|0,b|0,c|0,d|0,e|0)|0}function M4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ic[a&255](b|0,c|0,d|0,e|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(0,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(1,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(2,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(3,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(4,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(5,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(6,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(7,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(8,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(9,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(10,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(11,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(12,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(13,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(14,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(15,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(16,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(17,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(18,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(19,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(20,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(21,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(22,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(23,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(24,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(25,a|0,b|0,c|0,d|0)}function l5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(26,a|0,b|0,c|0,d|0)}function m5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(27,a|0,b|0,c|0,d|0)}function n5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(28,a|0,b|0,c|0,d|0)}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(29,a|0,b|0,c|0,d|0)}function p5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(30,a|0,b|0,c|0,d|0)}function q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(31,a|0,b|0,c|0,d|0)}function r5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(32,a|0,b|0,c|0,d|0)}function s5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(33,a|0,b|0,c|0,d|0)}function t5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(34,a|0,b|0,c|0,d|0)}function u5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(35,a|0,b|0,c|0,d|0)}function v5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(36,a|0,b|0,c|0,d|0)}function w5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(37,a|0,b|0,c|0,d|0)}function x5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(38,a|0,b|0,c|0,d|0)}function y5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(39,a|0,b|0,c|0,d|0)}function z5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(40,a|0,b|0,c|0,d|0)}function A5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(41,a|0,b|0,c|0,d|0)}function B5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(42,a|0,b|0,c|0,d|0)}function C5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(43,a|0,b|0,c|0,d|0)}function D5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(44,a|0,b|0,c|0,d|0)}function E5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(45,a|0,b|0,c|0,d|0)}function F5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(46,a|0,b|0,c|0,d|0)}function G5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(47,a|0,b|0,c|0,d|0)}function H5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(48,a|0,b|0,c|0,d|0)}function I5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(49,a|0,b|0,c|0,d|0)}function J5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(50,a|0,b|0,c|0,d|0)}function K5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(51,a|0,b|0,c|0,d|0)}function L5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(52,a|0,b|0,c|0,d|0)}function M5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(53,a|0,b|0,c|0,d|0)}function N5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(54,a|0,b|0,c|0,d|0)}function O5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(55,a|0,b|0,c|0,d|0)}function P5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(56,a|0,b|0,c|0,d|0)}function Q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(57,a|0,b|0,c|0,d|0)}function R5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(58,a|0,b|0,c|0,d|0)}function S5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(59,a|0,b|0,c|0,d|0)}function T5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(60,a|0,b|0,c|0,d|0)}function U5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(61,a|0,b|0,c|0,d|0)}function V5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(62,a|0,b|0,c|0,d|0)}function W5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(63,a|0,b|0,c|0,d|0)}function X5(a,b,c){a=a|0;b=b|0;c=c|0;ka(0);return 0}function Y5(){ka(1);return 0}function Z5(a){a=a|0;ka(2)}function _5(a,b){a=a|0;b=b|0;ka(3)}function $5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(4);return 0}function a6(a){a=a|0;ka(5);return 0}function b6(a,b,c){a=a|0;b=b|0;c=c|0;ka(6)}function c6(){ka(7)}function d6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(8);return 0}function e6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(9)}function f6(a,b){a=a|0;b=b|0;ka(10);return 0}function g6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(11);return 0}function h6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(12)} +function Zb(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function _b(){return u|0}function $b(a){a=a|0;u=a}function ac(a,b){a=a|0;b=b|0;u=a;v=b}function bc(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function cc(a){a=a|0;M=a}function dc(){return M|0}function ec(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=40)break;k[d>>2]=0;switch(l[328+((k[c>>2]|0)*12|0)+5>>0]|0){case 1:{k[d>>2]=k[b>>2];break}case 2:{k[d>>2]=-1;break}default:{}}fK(k[b>>2]|0,k[328+((k[c>>2]|0)*12|0)>>2]|0,i[328+((k[c>>2]|0)*12|0)+4>>0]|0,l[328+((k[c>>2]|0)*12|0)+6>>0]|0,k[d>>2]|0,k[328+((k[c>>2]|0)*12|0)+8>>2]|0,0,0)|0;k[c>>2]=(k[c>>2]|0)+1}k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=6)break;k[e>>2]=0;switch(l[808+(k[c>>2]<<4)+5>>0]|0){case 1:{k[e>>2]=k[b>>2];break}case 2:{k[e>>2]=-1;break}default:{}}fK(k[b>>2]|0,k[808+(k[c>>2]<<4)>>2]|0,i[808+(k[c>>2]<<4)+4>>0]|0,1,k[e>>2]|0,0,k[808+(k[c>>2]<<4)+8>>2]|0,k[808+(k[c>>2]<<4)+12>>2]|0)|0;k[c>>2]=(k[c>>2]|0)+1}u=f;return 0}function fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,378,19208);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+U(+(+p[f>>3]));p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,379,19217);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+V(+(+p[f>>3]));p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,380,19226);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+W(+(+p[f>>3]));p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;p[g>>3]=0.0;if((k[i>>2]|0)!=2)Ua(19235,19184,570,19243);if((Ki(k[k[e>>2]>>2]|0)|0)!=5?(Ki(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;j=+Ri(k[(k[e>>2]|0)+4>>2]|0);p[g>>3]=j;Mi(k[d>>2]|0,+X(+(+p[f>>3]),+(+p[g>>3])));u=h;return}xj(k[d>>2]|0);u=h;return}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,394,19252);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+v$(+p[f>>3]);p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,402,19262);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+x$(+p[f>>3]);p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,410,19272);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+y$(+p[f>>3]);p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+64|0;h=n+32|0;o=n+28|0;j=n+24|0;l=n+20|0;m=n+16|0;d=n+12|0;e=n+8|0;f=n+4|0;g=n;k[h>>2]=a;k[o>>2]=b;k[j>>2]=c;k[l>>2]=n+48;k[m>>2]=n+40;k[d>>2]=0;k[e>>2]=0;if((k[o>>2]|0)!=2)Ua(19235,19184,1680,19282);if((Ki(k[k[j>>2]>>2]|0)|0)!=5?(Ki(k[(k[j>>2]|0)+4>>2]|0)|0)!=5:0){o=$h(k[k[j>>2]>>2]|0)|0;k[f>>2]=o;o=$h(k[(k[j>>2]|0)+4>>2]|0)|0;k[g>>2]=o;id(k[f>>2]|0,k[l>>2]|0);id(k[g>>2]|0,k[m>>2]|0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=4)break;o=jd(k[l>>2]|0)|0;if((o|0)==(jd(k[m>>2]|0)|0))k[d>>2]=(k[d>>2]|0)+1;do{o=(k[l>>2]|0)+1|0;k[l>>2]=o}while((192&i[o>>0]|0)==128);do{o=(k[m>>2]|0)+1|0;k[m>>2]=o}while((192&i[o>>0]|0)==128);k[e>>2]=(k[e>>2]|0)+1}fi(k[h>>2]|0,k[d>>2]|0);u=n;return}xj(k[h>>2]|0);u=n;return}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,498,19686);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+kd(+p[f>>3]);p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,499,19698);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+ld(+p[f>>3]);p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,420,19710);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+R(+(+p[f>>3]));p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,419,19718);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+S(+(+p[f>>3]));p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,421,19726);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+T(+(+p[f>>3]));p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,422,19734);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+md(+p[f>>3]);p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,446,19742);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+L_(+p[f>>3]);p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,438,19751);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+M_(+p[f>>3]);p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,454,19760);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+A$(+p[f>>3]);p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,456,19769);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+nd(+p[f>>3]);p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,474,19778);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+Y(+(+p[f>>3]));p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,472,19786);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+Z(+(+p[f>>3]));p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,473,19794);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+z$(+p[f>>3]);p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0.0;i=u;u=u+48|0;d=i+32|0;j=i+28|0;e=i+24|0;f=i+16|0;g=i+8|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;p[f>>3]=0.0;p[g>>3]=0.0;if((k[j>>2]|0)!=2)Ua(19235,19184,546,19804);if((Ki(k[k[e>>2]>>2]|0)|0)!=5?(Ki(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){l=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=l;l=+Ri(k[(k[e>>2]|0)+4>>2]|0);p[g>>3]=l;j=C_()|0;k[j>>2]=0;l=+Q(+(+p[f>>3]),+(+p[g>>3]));p[h>>3]=l;j=C_()|0;a=k[d>>2]|0;if(!(k[j>>2]|0)){Mi(a,+p[h>>3]);u=i;return}else{h=C_()|0;h=V_(k[h>>2]|0)|0;j=C_()|0;bi(a,h,k[j>>2]|0);u=i;return}}xj(k[d>>2]|0);u=i;return}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;g=h+24|0;i=h+20|0;d=h+16|0;e=h+8|0;f=h;k[g>>2]=a;k[i>>2]=b;k[d>>2]=c;p[e>>3]=0.0;c=f;k[c>>2]=0;k[c+4>>2]=0;if((k[i>>2]|0)!=1)Ua(19176,19184,590,19814);switch(Ki(k[k[d>>2]>>2]|0)|0){case 1:{e=Pi(k[k[d>>2]>>2]|0)|0;i=f;k[i>>2]=e;k[i+4>>2]=M;i=f;e=k[i+4>>2]|0;if((e|0)>0|(e|0)==0&(k[i>>2]|0)>>>0>0)a=1;else a=(k[f+4>>2]|0)<0?-1:0;i=f;k[i>>2]=a;k[i+4>>2]=((a|0)<0)<<31>>31;i=f;Li(k[g>>2]|0,k[i>>2]|0,k[i+4>>2]|0);u=h;return}case 5:{xj(k[g>>2]|0);u=h;return}default:{j=+Ri(k[k[d>>2]>>2]|0);p[e>>3]=j;if(+p[e>>3]>0.0)a=1;else a=+p[e>>3]<0.0?-1:0;p[e>>3]=+(a|0);Mi(k[g>>2]|0,+p[e>>3]);u=h;return}}}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,375,19823);if((Ki(k[k[e>>2]>>2]|0)|0)==5){xj(k[d>>2]|0);u=h;return}j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;i=C_()|0;k[i>>2]=0;j=+P(+(+p[f>>3]));p[g>>3]=j;i=C_()|0;a=k[d>>2]|0;if(!(k[i>>2]|0)){Mi(a,+p[g>>3]);u=h;return}else{g=C_()|0;g=V_(k[g>>2]|0)|0;i=C_()|0;bi(a,g,k[i>>2]|0);u=h;return}}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;c=f;k[c>>2]=0;k[c+4>>2]=0;p[g>>3]=0.0;if((k[i>>2]|0)!=1)Ua(19176,19184,514,19832);switch(Ki(k[k[e>>2]>>2]|0)|0){case 1:{g=Pi(k[k[e>>2]>>2]|0)|0;e=f;k[e>>2]=g;k[e+4>>2]=M;e=k[d>>2]|0;g=f;i=f;Li(e,B0(k[g>>2]|0,k[g+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0,M);u=h;return}case 5:{xj(k[d>>2]|0);u=h;return}default:{j=+Ri(k[k[e>>2]>>2]|0);p[g>>3]=j;Mi(k[d>>2]|0,+p[g>>3]*+p[g>>3]);u=h;return}}}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+48|0;d=h+32|0;i=h+28|0;e=h+24|0;f=h+16|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;c=h+8|0;k[c>>2]=0;k[c+4>>2]=0;if((k[i>>2]|0)!=1)Ua(19176,19184,620,19843);switch(Ki(k[k[e>>2]>>2]|0)|0){case 1:{f=Pi(k[k[e>>2]>>2]|0)|0;i=g;k[i>>2]=f;k[i+4>>2]=M;i=g;Li(k[d>>2]|0,k[i>>2]|0,k[i+4>>2]|0);u=h;return}case 5:{xj(k[d>>2]|0);u=h;return}default:{j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;j=+_(+(+p[f>>3]));Li(k[d>>2]|0,~~j>>>0,+O(j)>=1.0?(j>0.0?~~+aa(+N(j/4294967296.0),4294967295.0)>>>0:~~+_((j-+(~~j>>>0))/4294967296.0)>>>0):0);u=h;return}}}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=u;u=u+48|0;d=h+32|0;i=h+28|0;e=h+24|0;f=h+16|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;c=h+8|0;k[c>>2]=0;k[c+4>>2]=0;if((k[i>>2]|0)!=1)Ua(19176,19184,645,19852);switch(Ki(k[k[e>>2]>>2]|0)|0){case 1:{f=Pi(k[k[e>>2]>>2]|0)|0;i=g;k[i>>2]=f;k[i+4>>2]=M;i=g;Li(k[d>>2]|0,k[i>>2]|0,k[i+4>>2]|0);u=h;return}case 5:{xj(k[d>>2]|0);u=h;return}default:{j=+Ri(k[k[e>>2]>>2]|0);p[f>>3]=j;j=+N(+(+p[f>>3]));Li(k[d>>2]|0,~~j>>>0,+O(j)>=1.0?(j>0.0?~~+aa(+N(j/4294967296.0),4294967295.0)>>>0:~~+_((j-+(~~j>>>0))/4294967296.0)>>>0):0);u=h;return}}}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;Mi(k[e>>2]|0,3.141592653589793);u=d;return}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=u;u=u+64|0;f=m+48|0;n=m+44|0;g=m+40|0;h=m+36|0;i=m+32|0;j=m+24|0;l=m+16|0;d=m+8|0;e=m;k[f>>2]=a;k[n>>2]=b;k[g>>2]=c;c=e;k[c>>2]=0;k[c+4>>2]=0;if((k[n>>2]|0)!=2){u=m;return}if(5==(Ki(k[k[g>>2]>>2]|0)|0)){u=m;return}c=Pi(k[(k[g>>2]|0)+4>>2]|0)|0;n=j;k[n>>2]=c;k[n+4>>2]=M;if((k[j+4>>2]|0)<0){bi(k[f>>2]|0,19862,-1);u=m;return}c=ai(k[k[g>>2]>>2]|0)|0;n=l;k[n>>2]=c;k[n+4>>2]=((c|0)<0)<<31>>31;n=l;c=j;c=B0(k[n>>2]|0,k[n+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;n=d;k[n>>2]=c;k[n+4>>2]=M;n=d;n=i0(k[n>>2]|0,k[n+4>>2]|0,1,0)|0;n=ze(n)|0;k[h>>2]=n;n=l;n=i0(k[n>>2]|0,k[n+4>>2]|0,1,0)|0;n=ze(n)|0;k[i>>2]=n;if((k[h>>2]|0)!=0&(k[i>>2]|0)!=0){n=k[i>>2]|0;t$(n,$h(k[k[g>>2]>>2]|0)|0)|0;n=e;k[n>>2]=0;k[n+4>>2]=0;while(1){g=e;d=k[g+4>>2]|0;n=j;c=k[n+4>>2]|0;if(!((d|0)<(c|0)|((d|0)==(c|0)?(k[g>>2]|0)>>>0<(k[n>>2]|0)>>>0:0)))break;n=k[h>>2]|0;c=e;g=l;g=B0(k[c>>2]|0,k[c+4>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;t$(n+g|0,k[i>>2]|0)|0;g=e;g=i0(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;n=e;k[n>>2]=g;k[n+4>>2]=M}Hi(k[f>>2]|0,k[h>>2]|0,-1,-1);ie(k[h>>2]|0);ie(k[i>>2]|0);u=m;return}Gi(k[f>>2]|0);if(k[h>>2]|0)ie(k[h>>2]|0);if(!(k[i>>2]|0)){u=m;return}ie(k[i>>2]|0);u=m;return}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=0;k[j>>2]=0;if(!((k[e>>2]|0)==3|(k[e>>2]|0)==2))Ua(19875,19184,1038,19893);if(5!=(Ki(k[k[f>>2]>>2]|0)|0)?5!=(Ki(k[(k[f>>2]|0)+4>>2]|0)|0):0){c=$h(k[k[f>>2]>>2]|0)|0;k[g>>2]=c;if(!(k[g>>2]|0)){u=l;return}c=$h(k[(k[f>>2]|0)+4>>2]|0)|0;k[h>>2]=c;if((k[e>>2]|0)==3){f=(_i(k[(k[f>>2]|0)+8>>2]|0)|0)-1|0;k[i>>2]=f;k[i>>2]=(k[i>>2]|0)<0?0:f}else k[i>>2]=0;i=od(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0)|0;k[j>>2]=i;fi(k[d>>2]|0,(k[j>>2]|0)+1|0);u=l;return}xj(k[d>>2]|0);u=l;return}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=u;u=u+48|0;f=o+32|0;p=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;d=o+4|0;e=o;k[f>>2]=a;k[p>>2]=b;k[g>>2]=c;k[h>>2]=0;k[j>>2]=0;k[m>>2]=0;if((k[p>>2]|0)!=2)Ua(19235,19184,1073,19907);if(5!=(Ki(k[k[g>>2]>>2]|0)|0)?5!=(Ki(k[(k[g>>2]|0)+4>>2]|0)|0):0){p=$h(k[k[g>>2]>>2]|0)|0;k[n>>2]=p;p=_i(k[(k[g>>2]|0)+4>>2]|0)|0;k[m>>2]=p;k[d>>2]=k[n>>2];a:while(1){if(!(jd(k[d>>2]|0)|0))break;p=k[h>>2]|0;k[h>>2]=p+1;if((p|0)>=(k[m>>2]|0))break;while(1){p=(k[d>>2]|0)+1|0;k[d>>2]=p;if((192&(l[p>>0]|0)|0)!=128)continue a}}k[j>>2]=(k[d>>2]|0)-(k[n>>2]|0);p=ze((k[d>>2]|0)-(k[n>>2]|0)+1|0)|0;k[e>>2]=p;if(k[e>>2]|0){Q$(k[e>>2]|0,k[n>>2]|0,(k[d>>2]|0)-(k[n>>2]|0)|0)|0;i[(k[e>>2]|0)+(k[j>>2]|0)>>0]=0;Hi(k[f>>2]|0,k[e>>2]|0,-1,-1);ie(k[e>>2]|0);u=o;return}else{Gi(k[f>>2]|0);u=o;return}}xj(k[f>>2]|0);u=o;return}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+48|0;g=o+36|0;p=o+32|0;h=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;d=o+8|0;e=o+4|0;f=o;k[g>>2]=a;k[p>>2]=b;k[h>>2]=c;k[j>>2]=0;k[l>>2]=0;k[m>>2]=0;if((k[p>>2]|0)!=2)Ua(19235,19184,1113,19916);if(5!=(Ki(k[k[h>>2]>>2]|0)|0)?5!=(Ki(k[(k[h>>2]|0)+4>>2]|0)|0):0){p=$h(k[k[h>>2]>>2]|0)|0;k[n>>2]=p;p=_i(k[(k[h>>2]|0)+4>>2]|0)|0;k[j>>2]=p;k[d>>2]=k[n>>2];while(1){if(!(jd(k[d>>2]|0)|0))break;do{p=(k[d>>2]|0)+1|0;k[d>>2]=p}while((192&i[p>>0]|0)==128);k[l>>2]=(k[l>>2]|0)+1}k[e>>2]=k[d>>2];k[d>>2]=k[n>>2];p=(k[l>>2]|0)-(k[j>>2]|0)|0;k[m>>2]=p;k[m>>2]=(k[m>>2]|0)<0?0:p;a:while(1){p=k[m>>2]|0;k[m>>2]=p+-1;if((p|0)<=0)break;while(1){p=(k[d>>2]|0)+1|0;k[d>>2]=p;if((192&i[p>>0]|0)!=128)continue a}}p=ze((k[e>>2]|0)-(k[d>>2]|0)+1|0)|0;k[f>>2]=p;if(k[f>>2]|0){t$(k[f>>2]|0,k[d>>2]|0)|0;Hi(k[g>>2]|0,k[f>>2]|0,-1,-1);ie(k[f>>2]|0);u=o;return}else{Gi(k[g>>2]|0);u=o;return}}xj(k[g>>2]|0);u=o;return}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+48|0;f=n+32|0;o=n+28|0;g=n+24|0;h=n+20|0;j=n+16|0;l=n+12|0;m=n+8|0;d=n+4|0;e=n;k[f>>2]=a;k[o>>2]=b;k[g>>2]=c;k[d>>2]=0;k[e>>2]=0;if(1!=(k[o>>2]|0))Ua(19926,19184,1323,19934);if(5==(Ki(k[k[g>>2]>>2]|0)|0)){xj(k[f>>2]|0);u=n;return}o=$h(k[k[g>>2]>>2]|0)|0;k[h>>2]=o;o=q$(k[h>>2]|0)|0;k[d>>2]=o;o=ze((k[d>>2]|0)+1|0)|0;k[l>>2]=o;if(!(k[l>>2]|0)){Gi(k[f>>2]|0);u=n;return}k[m>>2]=(k[l>>2]|0)+(k[d>>2]|0);o=k[m>>2]|0;k[m>>2]=o+-1;i[o>>0]=0;k[j>>2]=k[h>>2];a:while(1){if(!(jd(k[j>>2]|0)|0))break;k[h>>2]=k[j>>2];do{o=(k[j>>2]|0)+1|0;k[j>>2]=o}while((192&i[o>>0]|0)==128);k[e>>2]=1;while(1){if(((k[j>>2]|0)+(0-(k[e>>2]|0))|0)>>>0<(k[h>>2]|0)>>>0)continue a;g=i[(k[j>>2]|0)+(0-(k[e>>2]|0))>>0]|0;o=k[m>>2]|0;k[m>>2]=o+-1;i[o>>0]=g;k[e>>2]=(k[e>>2]|0)+1}}Hi(k[f>>2]|0,k[l>>2]|0,-1,-1);ie(k[l>>2]|0);u=n;return}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=u;u=u+32|0;f=m+24|0;n=m+20|0;d=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m+28|0;e=m;k[f>>2]=a;k[n>>2]=b;k[d>>2]=c;k[e>>2]=1;if((k[n>>2]|0)!=1)Ua(19176,19184,724,19946);if(5==(Ki(k[k[d>>2]>>2]|0)|0)){xj(k[f>>2]|0);u=m;return}n=$h(k[k[d>>2]>>2]|0)|0;k[g>>2]=n;n=pd(k[g>>2]|0)|0;k[h>>2]=n;if(!(k[h>>2]|0)){Gi(k[f>>2]|0);u=m;return}k[j>>2]=k[h>>2];while(1){n=k[g>>2]|0;k[g>>2]=n+1;n=i[n>>0]|0;i[l>>0]=n;if(!(n<<24>>24))break;if(b$(i[l>>0]|0)|0)k[e>>2]=1;else{a=i[l>>0]|0;if((k[e>>2]|0)==1){n=(J_(a)|0)&255;i[l>>0]=n}else{n=(H_(a)|0)&255;i[l>>0]=n}k[e>>2]=0}d=i[l>>0]|0;n=k[j>>2]|0;k[j>>2]=n+1;i[n>>0]=d}i[k[j>>2]>>0]=0;Hi(k[f>>2]|0,k[h>>2]|0,-1,-1);ie(k[h>>2]|0);u=m;return}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+48|0;m=n+40|0;o=n+36|0;d=n+32|0;f=n+8|0;g=n;h=n+28|0;j=n+24|0;l=n+20|0;e=n+16|0;k[m>>2]=a;k[o>>2]=b;k[d>>2]=c;k[h>>2]=0;if((k[o>>2]|0)!=2)Ua(19235,19184,771,19957);if((Ki(k[k[d>>2]>>2]|0)|0)==5){xj(k[m>>2]|0);u=n;return}o=$h(k[k[d>>2]>>2]|0)|0;k[j>>2]=o;d=Pi(k[(k[d>>2]|0)+4>>2]|0)|0;o=f;k[o>>2]=d;k[o+4>>2]=M;if((k[f+4>>2]|0)<0){bi(k[m>>2]|0,19862,-1);u=n;return}b=qd(k[j>>2]|0,-1)|0;d=g;k[d>>2]=b;k[d+4>>2]=((b|0)<0)<<31>>31;d=g;b=k[d+4>>2]|0;o=f;c=k[o+4>>2]|0;a=k[j>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0>=(k[o>>2]|0)>>>0:0)){a=pd(a)|0;k[l>>2]=a;a=k[m>>2]|0;if(k[l>>2]|0){Hi(a,k[l>>2]|0,-1,-1);break}Gi(a);u=n;return}else{o=q$(a)|0;d=f;d=i0(o|0,0,k[d>>2]|0,k[d+4>>2]|0)|0;o=g;o=h0(d|0,M|0,k[o>>2]|0,k[o+4>>2]|0)|0;o=i0(o|0,M|0,1,0)|0;o=ze(o)|0;k[l>>2]=o;if(!(k[l>>2]|0)){Gi(k[m>>2]|0);u=n;return}k[e>>2]=k[l>>2];k[h>>2]=1;while(1){b=k[h>>2]|0;d=g;d=i0(b|0,((b|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;b=M;o=f;c=k[o+4>>2]|0;a=k[e>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?d>>>0<=(k[o>>2]|0)>>>0:0)))break;k[e>>2]=a+1;i[a>>0]=32;k[h>>2]=(k[h>>2]|0)+1}t$(a,k[j>>2]|0)|0}while(0);Hi(k[m>>2]|0,k[l>>2]|0,-1,-1);ie(k[l>>2]|0);u=n;return}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+64|0;n=o+48|0;p=o+44|0;d=o+40|0;h=o+16|0;j=o+8|0;f=o;l=o+36|0;e=o+32|0;m=o+28|0;g=o+24|0;k[n>>2]=a;k[p>>2]=b;k[d>>2]=c;k[l>>2]=0;if((k[p>>2]|0)!=2)Ua(19235,19184,825,19994);if((Ki(k[k[d>>2]>>2]|0)|0)==5){xj(k[n>>2]|0);u=o;return}p=$h(k[k[d>>2]>>2]|0)|0;k[e>>2]=p;d=Pi(k[(k[d>>2]|0)+4>>2]|0)|0;p=h;k[p>>2]=d;k[p+4>>2]=M;if((k[h+4>>2]|0)<0){bi(k[n>>2]|0,19862,-1);u=o;return}b=qd(k[e>>2]|0,-1)|0;d=j;k[d>>2]=b;k[d+4>>2]=((b|0)<0)<<31>>31;d=j;b=k[d+4>>2]|0;p=h;c=k[p+4>>2]|0;a=k[e>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0>=(k[p>>2]|0)>>>0:0)){a=pd(a)|0;k[m>>2]=a;a=k[n>>2]|0;if(k[m>>2]|0){Hi(a,k[m>>2]|0,-1,-1);break}Gi(a);u=o;return}else{d=q$(a)|0;p=f;k[p>>2]=d;k[p+4>>2]=0;p=f;d=h;d=i0(k[p>>2]|0,k[p+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;p=j;p=h0(d|0,M|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=i0(p|0,M|0,1,0)|0;p=ze(p)|0;k[m>>2]=p;if(!(k[m>>2]|0)){Gi(k[n>>2]|0);u=o;return}p=k[m>>2]|0;t$(p,k[e>>2]|0)|0;k[g>>2]=p+(k[f>>2]|0);k[l>>2]=1;while(1){d=k[l>>2]|0;f=j;f=i0(d|0,((d|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;d=M;p=h;e=k[p+4>>2]|0;a=k[g>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?f>>>0<=(k[p>>2]|0)>>>0:0)))break;k[g>>2]=a+1;i[a>>0]=32;k[l>>2]=(k[l>>2]|0)+1}i[a>>0]=0}while(0);Hi(k[n>>2]|0,k[m>>2]|0,-1,-1);ie(k[m>>2]|0);u=o;return}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+64|0;n=o+48|0;p=o+44|0;d=o+40|0;h=o+16|0;j=o+8|0;f=o;l=o+36|0;e=o+32|0;m=o+28|0;g=o+24|0;k[n>>2]=a;k[p>>2]=b;k[d>>2]=c;k[l>>2]=0;if((k[p>>2]|0)!=2)Ua(19235,19184,880,20003);if((Ki(k[k[d>>2]>>2]|0)|0)==5){xj(k[n>>2]|0);u=o;return}p=$h(k[k[d>>2]>>2]|0)|0;k[e>>2]=p;d=Pi(k[(k[d>>2]|0)+4>>2]|0)|0;p=h;k[p>>2]=d;k[p+4>>2]=M;if((k[h+4>>2]|0)<0){bi(k[n>>2]|0,19862,-1);u=o;return}b=qd(k[e>>2]|0,-1)|0;d=j;k[d>>2]=b;k[d+4>>2]=((b|0)<0)<<31>>31;d=j;b=k[d+4>>2]|0;p=h;c=k[p+4>>2]|0;a=k[e>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0>=(k[p>>2]|0)>>>0:0)){a=pd(a)|0;k[m>>2]=a;a=k[n>>2]|0;if(k[m>>2]|0){Hi(a,k[m>>2]|0,-1,-1);break}Gi(a);u=o;return}else{d=q$(a)|0;p=f;k[p>>2]=d;k[p+4>>2]=0;p=f;d=h;d=i0(k[p>>2]|0,k[p+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;p=j;p=h0(d|0,M|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=i0(p|0,M|0,1,0)|0;p=ze(p)|0;k[m>>2]=p;if(!(k[m>>2]|0)){Gi(k[n>>2]|0);u=o;return}k[g>>2]=k[m>>2];k[l>>2]=1;while(1){b=k[l>>2]<<1;d=j;d=i0(b|0,((b|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;b=M;p=h;c=k[p+4>>2]|0;a=k[g>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?d>>>0<=(k[p>>2]|0)>>>0:0)))break;k[g>>2]=a+1;i[a>>0]=32;k[l>>2]=(k[l>>2]|0)+1}t$(a,k[e>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+(k[f>>2]|0);while(1){d=k[l>>2]|0;f=j;f=i0(d|0,((d|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;d=M;p=h;e=k[p+4>>2]|0;a=k[g>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?f>>>0<=(k[p>>2]|0)>>>0:0)))break;k[g>>2]=a+1;i[a>>0]=32;k[l>>2]=(k[l>>2]|0)+1}i[a>>0]=0}while(0);Hi(k[n>>2]|0,k[m>>2]|0,-1,-1);ie(k[m>>2]|0);u=o;return}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+48|0;j=q+44|0;r=q+40|0;l=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;d=q+16|0;e=q+12|0;f=q+8|0;g=q+4|0;h=q;k[j>>2]=a;k[r>>2]=b;k[l>>2]=c;k[g>>2]=0;k[h>>2]=0;if((k[r>>2]|0)!=2)Ua(19235,19184,939,20012);if((Ki(k[k[l>>2]>>2]|0)|0)!=5?(Ki(k[(k[l>>2]|0)+4>>2]|0)|0)!=5:0){r=$h(k[k[l>>2]>>2]|0)|0;k[m>>2]=r;r=$h(k[(k[l>>2]|0)+4>>2]|0)|0;k[n>>2]=r;r=ze((q$(k[m>>2]|0)|0)+1|0)|0;k[e>>2]=r;if(!(k[e>>2]|0)){Gi(k[j>>2]|0);u=q;return}k[f>>2]=k[e>>2];k[o>>2]=k[m>>2];a:while(1){r=jd(k[o>>2]|0)|0;k[g>>2]=r;if(!r)break;k[p>>2]=k[n>>2];b:while(1){r=jd(k[p>>2]|0)|0;k[h>>2]=r;if(!r)break;if((k[h>>2]|0)==(k[g>>2]|0))break;while(1){r=(k[p>>2]|0)+1|0;k[p>>2]=r;if((192&i[r>>0]|0)!=128)continue b}}if(k[h>>2]|0){k[d>>2]=k[p>>2];do{r=(k[d>>2]|0)+1|0;k[d>>2]=r}while((192&i[r>>0]|0)==128);Q$(k[f>>2]|0,k[p>>2]|0,(k[d>>2]|0)-(k[p>>2]|0)|0)|0;k[f>>2]=(k[f>>2]|0)+((k[d>>2]|0)-(k[p>>2]|0))}while(1){r=(k[o>>2]|0)+1|0;k[o>>2]=r;if((192&i[r>>0]|0)!=128)continue a}}i[k[f>>2]>>0]=0;Hi(k[j>>2]|0,k[e>>2]|0,-1,-1);ie(k[e>>2]|0);u=q;return}xj(k[j>>2]|0);u=q;return}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0.0;i=u;u=u+32|0;d=i+28|0;j=i+24|0;e=i+20|0;f=i+16|0;g=i+8|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;if((k[j>>2]|0)!=1)Ua(19176,19184,1395,20026);j=Ei(k[d>>2]|0,24)|0;k[f>>2]=j;if(5==(Oi(k[k[e>>2]>>2]|0)|0)){u=i;return}j=(k[f>>2]|0)+16|0;d=j;d=i0(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[j>>2]=d;k[j+4>>2]=M;l=+Ri(k[k[e>>2]>>2]|0);p[h>>3]=l;p[g>>3]=+p[h>>3]-+p[k[f>>2]>>3];e=(k[f>>2]|0)+16|0;j=k[f>>2]|0;p[j>>3]=+p[j>>3]+ +p[g>>3]/(+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0));j=(k[f>>2]|0)+8|0;p[j>>3]=+p[j>>3]+ +p[g>>3]*(+p[h>>3]-+p[k[f>>2]>>3]);u=i;return}function Sc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ei(k[b>>2]|0,0)|0;k[c>>2]=a;if(k[c>>2]|0?(a=(k[c>>2]|0)+16|0,e=k[a+4>>2]|0,(e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>1):0){b=k[b>>2]|0;f=+p[(k[c>>2]|0)+8>>3];e=(k[c>>2]|0)+16|0;e=h0(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;Mi(b,+P(+(f/(+(e>>>0)+4294967296.0*+(M|0)))));u=d;return}Mi(k[b>>2]|0,0.0);u=d;return}function Tc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ei(k[b>>2]|0,0)|0;k[c>>2]=a;if(k[c>>2]|0?(a=(k[c>>2]|0)+16|0,e=k[a+4>>2]|0,(e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>1):0){b=k[b>>2]|0;f=+p[(k[c>>2]|0)+8>>3];e=(k[c>>2]|0)+16|0;e=h0(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;Mi(b,f/(+(e>>>0)+4294967296.0*+(M|0)));u=d;return}Mi(k[b>>2]|0,0.0);u=d;return}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,r=0.0;o=u;u=u+80|0;d=o+64|0;q=o+60|0;h=o+56|0;j=o+52|0;l=o+8|0;m=o;n=o+48|0;i=o+44|0;e=o+40|0;f=o+28|0;g=o+16|0;k[d>>2]=a;k[q>>2]=b;k[h>>2]=c;c=l;k[c>>2]=0;k[c+4>>2]=0;p[m>>3]=0.0;if((k[q>>2]|0)!=1)Ua(19176,19184,1418,20039);q=Oi(k[k[h>>2]>>2]|0)|0;k[e>>2]=q;if((k[e>>2]|0)==5){u=o;return}q=Ei(k[d>>2]|0,64)|0;k[j>>2]=q;do if(!(k[(k[j>>2]|0)+56>>2]|0)){a=a0(1,12)|0;k[(k[j>>2]|0)+56>>2]=a;a=k[j>>2]|0;if((k[e>>2]|0)==1){q=k[a+56>>2]|0;Zc(f,190);k[q>>2]=k[f>>2];k[q+4>>2]=k[f+4>>2];k[q+8>>2]=k[f+8>>2];q=(k[j>>2]|0)+48|0;k[q>>2]=0;k[q+4>>2]=0;break}else{q=a+48|0;k[q>>2]=1;k[q+4>>2]=0;q=k[(k[j>>2]|0)+56>>2]|0;Zc(g,191);k[q>>2]=k[g>>2];k[q+4>>2]=k[g+4>>2];k[q+8>>2]=k[g+8>>2];break}}while(0);q=(k[j>>2]|0)+16|0;a=q;a=i0(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;k[q>>2]=a;k[q+4>>2]=M;q=(k[j>>2]|0)+48|0;a=k[k[h>>2]>>2]|0;if(0==(k[q>>2]|0)?0==(k[q+4>>2]|0):0){q=Pi(a)|0;m=l;k[m>>2]=q;k[m+4>>2]=M;m=a0(1,8)|0;k[n>>2]=m;m=k[l+4>>2]|0;q=k[n>>2]|0;k[q>>2]=k[l>>2];k[q+4>>2]=m;bd(k[(k[j>>2]|0)+56>>2]|0,k[n>>2]|0);u=o;return}else{r=+Ri(a);p[m>>3]=r;q=a0(1,8)|0;k[i>>2]=q;p[k[i>>2]>>3]=+p[m>>3];bd(k[(k[j>>2]|0)+56>>2]|0,k[i>>2]|0);u=o;return}}function Vc(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ei(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){u=d;return}if(!(k[(k[c>>2]|0)+56>>2]|0)){u=d;return}dd(k[(k[c>>2]|0)+56>>2]|0,132,k[c>>2]|0);fd(k[(k[c>>2]|0)+56>>2]|0);$$(k[(k[c>>2]|0)+56>>2]|0);a=(k[c>>2]|0)+40|0;if(!(1==(k[a>>2]|0)?0==(k[a+4>>2]|0):0)){u=d;return}e=(k[c>>2]|0)+48|0;b=k[b>>2]|0;a=k[c>>2]|0;if(0==(k[e>>2]|0)?0==(k[e+4>>2]|0):0){e=a;Li(b,k[e>>2]|0,k[e+4>>2]|0);u=d;return}else{Mi(b,+p[a+8>>3]);u=d;return}}function Wc(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ei(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){u=d;return}a=(k[c>>2]|0)+16|0;p[(k[c>>2]|0)+24>>3]=(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0))/2.0;sd(k[b>>2]|0);u=d;return}function Xc(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ei(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){u=d;return}a=(k[c>>2]|0)+16|0;p[(k[c>>2]|0)+24>>3]=(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0))/4.0;sd(k[b>>2]|0);u=d;return}function Yc(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ei(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){u=d;return}a=(k[c>>2]|0)+16|0;a=B0(k[a>>2]|0,k[a+4>>2]|0,3,0)|0;p[(k[c>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(M|0))/4.0;sd(k[b>>2]|0);u=d;return}function Zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+12|0;d=c;k[e>>2]=b;k[d+4>>2]=k[e>>2];k[d>>2]=0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];u=c;return}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=u;u=u+16|0;g=e+12|0;f=e+8|0;d=e;k[g>>2]=a;k[f>>2]=b;k[e+4>>2]=c;c=a0(k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=c;u=e;return k[d>>2]|0}function $c(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;$$(k[c>>2]|0);u=b;return}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;e=i;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[k[d>>2]>>2]|0)){h=_c(1,24,19167)|0;k[e>>2]=h;k[(k[e>>2]|0)+8>>2]=k[g>>2];h=(k[e>>2]|0)+16|0;k[h>>2]=1;k[h+4>>2]=0;k[k[d>>2]>>2]=k[e>>2];u=i;return}e=Wb[k[f>>2]&255](k[(k[k[d>>2]>>2]|0)+8>>2]|0,k[g>>2]|0)|0;k[h>>2]=e;if(!(k[h>>2]|0)){h=(k[k[d>>2]>>2]|0)+16|0;f=h;f=i0(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;k[h>>2]=f;k[h+4>>2]=M;$c(k[g>>2]|0);u=i;return}a=k[k[d>>2]>>2]|0;if((k[h>>2]|0)>0){ad(a,k[f>>2]|0,k[g>>2]|0);u=i;return}else{ad(a+4|0,k[f>>2]|0,k[g>>2]|0);u=i;return}}function bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;ad(k[e>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[d>>2]|0);u=c;return}function cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){u=g;return}if(k[k[d>>2]>>2]|0)cd(k[k[d>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0);c=(k[d>>2]|0)+16|0;Yb[k[e>>2]&255](k[(k[d>>2]|0)+8>>2]|0,k[c>>2]|0,k[c+4>>2]|0,k[f>>2]|0);if(!(k[(k[d>>2]|0)+4>>2]|0)){u=g;return}cd(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,k[f>>2]|0);u=g;return}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;cd(k[k[g>>2]>>2]|0,k[f>>2]|0,k[e>>2]|0);u=d;return}function ed(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}$c(k[(k[b>>2]|0)+8>>2]|0);if(k[k[b>>2]>>2]|0)ed(k[k[b>>2]>>2]|0);if(k[(k[b>>2]|0)+4>>2]|0)ed(k[(k[b>>2]|0)+4>>2]|0);$c(k[b>>2]|0);u=c;return}function fd(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ed(k[k[c>>2]>>2]|0);u=b;return}function gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=u;u=u+32|0;c=f+24|0;h=f+20|0;g=f+16|0;d=f+8|0;e=f;k[h>>2]=a;k[g>>2]=b;h=k[h>>2]|0;a=k[h+4>>2]|0;b=d;k[b>>2]=k[h>>2];k[b+4>>2]=a;g=k[g>>2]|0;b=k[g+4>>2]|0;a=e;k[a>>2]=k[g>>2];k[a+4>>2]=b;a=d;b=e;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[c>>2]=0;h=k[c>>2]|0;u=f;return h|0}g=d;d=k[g+4>>2]|0;h=e;e=k[h+4>>2]|0;if((d|0)<(e|0)|((d|0)==(e|0)?(k[g>>2]|0)>>>0<(k[h>>2]|0)>>>0:0)){k[c>>2]=-1;h=k[c>>2]|0;u=f;return h|0}else{k[c>>2]=1;h=k[c>>2]|0;u=f;return h|0}return 0}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=u;u=u+32|0;c=f+24|0;h=f+20|0;g=f+16|0;d=f+8|0;e=f;k[h>>2]=a;k[g>>2]=b;p[d>>3]=+p[k[h>>2]>>3];p[e>>3]=+p[k[g>>2]>>3];do if(!(+p[d>>3]==+p[e>>3]))if(+p[d>>3]<+p[e>>3]){k[c>>2]=-1;break}else{k[c>>2]=1;break}else k[c>>2]=0;while(0);u=f;return k[c>>2]|0}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=u;u=u+32|0;c=h+16|0;f=h+12|0;d=h+8|0;g=h+4|0;e=h;k[c>>2]=a;k[f>>2]=b;k[d>>2]=0;while(1){if(!(l[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0))break;if(!((a$(l[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0)|0)!=0^1))break;k[d>>2]=(k[d>>2]|0)+1}if(!(i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0)){t$(k[f>>2]|0,19425)|0;u=h;return}b=(J_(l[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0)|0)&255;i[k[f>>2]>>0]=b;k[g>>2]=1;while(1){if((k[g>>2]|0)>=4)break;if(!(l[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0))break;k[e>>2]=l[19297+(l[(k[c>>2]|0)+(k[d>>2]|0)>>0]&127)>>0];if((k[e>>2]|0)>0){j=(k[e>>2]|0)+48&255;a=k[f>>2]|0;b=k[g>>2]|0;k[g>>2]=b+1;i[a+b>>0]=j}k[d>>2]=(k[d>>2]|0)+1}while(1){a=k[f>>2]|0;b=k[g>>2]|0;if((k[g>>2]|0)>=4)break;k[g>>2]=b+1;i[a+b>>0]=48}i[a+b>>0]=0;u=h;return}function jd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;a=k[b>>2]|0;k[b>>2]=a+1;k[c>>2]=l[a>>0];k[d>>2]=l[19430+(k[c>>2]|0)>>0];switch(k[d>>2]|0){case 4:{k[c>>2]=65533;e=k[c>>2]|0;u=f;return e|0}case 3:{a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0);e=4;break}case 2:{e=4;break}case 1:break;default:{e=k[c>>2]|0;u=f;return e|0}}if((e|0)==4){a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0)}a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0);k[c>>2]=(k[c>>2]|0)-(k[904+(k[d>>2]<<2)>>2]|0);if((k[920+(k[d>>2]<<2)>>2]&k[c>>2]|0?(k[c>>2]&-2048|0)!=55296:0)?(k[c>>2]&-2|0)!=65534:0){e=k[c>>2]|0;u=f;return e|0}k[c>>2]=65533;e=k[c>>2]|0;u=f;return e|0}function kd(a){a=+a;var b=0,c=0;c=u;u=u+16|0;b=c;p[b>>3]=a;u=c;return +(+p[b>>3]*180.0/3.141592653589793)}function ld(a){a=+a;var b=0,c=0;c=u;u=u+16|0;b=c;p[b>>3]=a;u=c;return +(+p[b>>3]*3.141592653589793/180.0)}function md(a){a=+a;var b=0,c=0;b=u;u=u+16|0;c=b;p[c>>3]=a;a=1.0/+T(+(+p[c>>3]));u=b;return +a}function nd(a){a=+a;var b=0,c=0;b=u;u=u+16|0;c=b;p[c>>3]=a;a=1.0/+A$(+p[c>>3]);u=b;return +a}function od(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;l=s+40|0;m=s+36|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;e=s+16|0;f=s+12|0;g=s+8|0;h=s+4|0;j=s;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=0;k[e>>2]=-1;if(!(i[k[m>>2]>>0]|0)){k[l>>2]=-1;r=k[l>>2]|0;u=s;return r|0}a:while(1){if(!(jd(k[n>>2]|0)|0))break;d=k[q>>2]|0;k[q>>2]=d+1;if((d|0)>=(k[o>>2]|0))break;while(1){d=(k[n>>2]|0)+1|0;k[n>>2]=d;if((192&i[d>>0]|0)!=128)continue a}}k[q>>2]=0;while(1){if(!(jd(k[n>>2]|0)|0))break;k[f>>2]=k[m>>2];k[g>>2]=k[n>>2];do{d=jd(k[f>>2]|0)|0;k[h>>2]=d;d=jd(k[g>>2]|0)|0;k[j>>2]=d;do{d=(k[f>>2]|0)+1|0;k[f>>2]=d}while((192&i[d>>0]|0)==128);do{d=(k[g>>2]|0)+1|0;k[g>>2]=d}while((192&i[d>>0]|0)==128)}while((k[h>>2]|0?(k[h>>2]|0)==(k[j>>2]|0):0)&(k[j>>2]|0)!=0);if(!(k[h>>2]|0)){r=14;break}do{d=(k[n>>2]|0)+1|0;k[n>>2]=d}while((192&i[d>>0]|0)==128);k[q>>2]=(k[q>>2]|0)+1}if((r|0)==14)k[e>>2]=k[q>>2];if(k[p>>2]|0)k[k[p>>2]>>2]=k[n>>2];r=k[e>>2]|0;k[l>>2]=(k[e>>2]|0)>=0?r+(k[o>>2]|0)|0:r;r=k[l>>2]|0;u=s;return r|0}function pd(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b+4|0;d=b;k[c>>2]=a;a=ze((q$(k[c>>2]|0)|0)+1|0)|0;k[d>>2]=a;a=t$(k[d>>2]|0,k[c>>2]|0)|0;u=b;return a|0}function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if((k[d>>2]|0)>=0)k[e>>2]=(k[c>>2]|0)+(k[d>>2]|0);else k[e>>2]=-1;if((k[c>>2]|0)>>>0>(k[e>>2]|0)>>>0)Ua(19966,19184,316,19975);while(1){if(!(i[k[c>>2]>>0]|0)){a=10;break}if((k[c>>2]|0)>>>0>=(k[e>>2]|0)>>>0){a=10;break}k[c>>2]=(k[c>>2]|0)+((l[19430+(l[k[c>>2]>>0]|0)>>0]|0)+1);k[f>>2]=(k[f>>2]|0)+1}if((a|0)==10){u=g;return k[f>>2]|0}return 0}function rd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+48|0;j=i+32|0;g=i+16|0;l=i+28|0;e=i+8|0;f=i;h=i+24|0;k[j>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[l>>2]=d;k[h>>2]=k[l>>2];d=(k[h>>2]|0)+48|0;a=k[j>>2]|0;if(0==(k[d>>2]|0)?0==(k[d+4>>2]|0):0){l=k[a>>2]|0;j=e;k[j>>2]=l;k[j+4>>2]=((l|0)<0)<<31>>31;j=(k[h>>2]|0)+32|0;l=g;a=k[h>>2]|0;if((k[j>>2]|0)==(k[l>>2]|0)?(k[j+4>>2]|0)==(k[l+4>>2]|0):0){l=a+40|0;j=l;j=i0(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[l>>2]=j;k[l+4>>2]=M;u=i;return}j=a+32|0;d=k[j+4>>2]|0;l=g;f=k[l+4>>2]|0;if(!((d|0)<(f|0)|((d|0)==(f|0)?(k[j>>2]|0)>>>0<(k[l>>2]|0)>>>0:0))){u=i;return}f=e;l=k[f+4>>2]|0;j=k[h>>2]|0;k[j>>2]=k[f>>2];k[j+4>>2]=l;j=k[g+4>>2]|0;l=(k[h>>2]|0)+32|0;k[l>>2]=k[g>>2];k[l+4>>2]=j;l=(k[h>>2]|0)+40|0;k[l>>2]=1;k[l+4>>2]=0;u=i;return}else{p[f>>3]=+p[a>>3];j=(k[h>>2]|0)+32|0;l=g;a=k[h>>2]|0;if((k[j>>2]|0)==(k[l>>2]|0)?(k[j+4>>2]|0)==(k[l+4>>2]|0):0){l=a+40|0;j=l;j=i0(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[l>>2]=j;k[l+4>>2]=M;u=i;return}j=a+32|0;d=k[j+4>>2]|0;l=g;e=k[l+4>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?(k[j>>2]|0)>>>0<(k[l>>2]|0)>>>0:0))){u=i;return}p[(k[h>>2]|0)+8>>3]=+p[f>>3];j=k[g+4>>2]|0;l=(k[h>>2]|0)+32|0;k[l>>2]=k[g>>2];k[l+4>>2]=j;l=(k[h>>2]|0)+40|0;k[l>>2]=1;k[l+4>>2]=0;u=i;return}}function sd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=u;u=u+16|0;b=e+4|0;d=e;k[b>>2]=a;c=Ei(k[b>>2]|0,0)|0;k[d>>2]=c;if(!(k[d>>2]|0)){u=e;return}if(!(k[(k[d>>2]|0)+56>>2]|0)){u=e;return}k[(k[d>>2]|0)+60>>2]=0;dd(k[(k[d>>2]|0)+56>>2]|0,133,k[d>>2]|0);fd(k[(k[d>>2]|0)+56>>2]|0);$$(k[(k[d>>2]|0)+56>>2]|0);c=(k[d>>2]|0)+48|0;if(!(0==(k[c>>2]|0)?0==(k[c+4>>2]|0):0)){c=(k[d>>2]|0)+40|0;Mi(k[b>>2]|0,+p[(k[d>>2]|0)+8>>3]/(+((k[c>>2]|0)>>>0)+4294967296.0*+(k[c+4>>2]|0)));u=e;return}f=(k[d>>2]|0)+40|0;a=k[b>>2]|0;c=k[d>>2]|0;b=k[c>>2]|0;c=k[c+4>>2]|0;if(1==(k[f>>2]|0)?0==(k[f+4>>2]|0):0){Li(a,b,c);u=e;return}else{f=(k[d>>2]|0)+40|0;Mi(a,(+(b>>>0)+4294967296.0*+(c|0))*1.0/(+((k[f>>2]|0)>>>0)+4294967296.0*+(k[f+4>>2]|0)));u=e;return}}function td(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0;o=u;u=u+64|0;i=o+56|0;l=o+32|0;q=o+52|0;m=o+24|0;n=o+16|0;f=o+8|0;g=o;e=o+48|0;h=o+44|0;j=o+40|0;k[i>>2]=a;a=l;k[a>>2]=b;k[a+4>>2]=c;k[q>>2]=d;k[j>>2]=k[q>>2];if((k[(k[j>>2]|0)+60>>2]|0)>0){u=o;return}p[f>>3]=+p[(k[j>>2]|0)+24>>3];q=(k[j>>2]|0)+16|0;p[g>>3]=+((k[q>>2]|0)>>>0)+4294967296.0*+(k[q+4>>2]|0)-+p[(k[j>>2]|0)+24>>3];q=(k[j>>2]|0)+32|0;d=l;d=i0(k[q>>2]|0,k[q+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;d=(k[j>>2]|0)+16|0;q=(k[j>>2]|0)+32|0;q=h0(k[d>>2]|0,k[d+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;k[h>>2]=q;do if(+(k[e>>2]|0)>=+p[f>>3]){a=k[j>>2]|0;if(!(+(k[h>>2]|0)>=+p[g>>3])){k[a+60>>2]=1;break}q=a+40|0;a=q;a=i0(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;k[q>>2]=a;k[q+4>>2]=M;q=(k[j>>2]|0)+48|0;a=k[i>>2]|0;if(0==(k[q>>2]|0)?0==(k[q+4>>2]|0):0){q=k[a>>2]|0;n=m;k[n>>2]=q;k[n+4>>2]=((q|0)<0)<<31>>31;n=m;q=k[j>>2]|0;m=q;n=i0(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[q>>2]=n;k[q+4>>2]=M;break}else{p[n>>3]=+p[a>>3];q=(k[j>>2]|0)+8|0;p[q>>3]=+p[q>>3]+ +p[n>>3];break}}while(0);n=l;q=(k[j>>2]|0)+32|0;m=q;n=i0(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[q>>2]=n;k[q+4>>2]=M;u=o;return}function ud(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;if(!(vd(k[b>>2]|0,20055,7)|0))k[b>>2]=(k[b>>2]|0)+7;a=wd(k[b>>2]|0)|0;k[d>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=9){a=9;break}if((vd(k[b>>2]|0,k[940+(k[c>>2]<<2)>>2]|0,k[d>>2]|0)|0)==0?(xd(i[(k[940+(k[c>>2]<<2)>>2]|0)+(k[d>>2]|0)>>0]|0)|0)==0:0){a=7;break}k[c>>2]=(k[c>>2]|0)+1}if((a|0)==7){k[e>>2]=1;e=k[e>>2]|0;u=f;return e|0}else if((a|0)==9){k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}return 0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[e>>2]|0;if(!(k[d>>2]|0)){k[i>>2]=a|0?-1:0;i=k[i>>2]|0;u=j;return i|0}if(!a){k[i>>2]=1;i=k[i>>2]|0;u=j;return i|0}k[g>>2]=k[d>>2];k[h>>2]=k[e>>2];while(1){e=k[f>>2]|0;k[f>>2]=e+-1;if((e|0)<=0)break;if(!(l[k[g>>2]>>0]|0))break;if((l[20458+(l[k[g>>2]>>0]|0)>>0]|0|0)!=(l[20458+(l[k[h>>2]>>0]|0)>>0]|0|0))break;k[g>>2]=(k[g>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}if((k[f>>2]|0)<0)a=0;else a=(l[20458+(l[k[g>>2]>>0]|0)>>0]|0)-(l[20458+(l[k[h>>2]>>0]|0)>>0]|0)|0;k[i>>2]=a;i=k[i>>2]|0;u=j;return i|0}function wd(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if(!(k[c>>2]|0))k[b>>2]=0;else{c=1073741823&(q$(k[c>>2]|0)|0);k[b>>2]=c}u=d;return k[b>>2]|0}function xd(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;i[b>>0]=a;u=c;return ((l[20063+(l[b>>0]|0)>>0]|0)&70|0)!=0|0}function yd(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)>=0&(k[c>>2]|0)<9){k[b>>2]=k[940+(k[c>>2]<<2)>>2];c=k[b>>2]|0;u=d;return c|0}else{k[b>>2]=0;c=k[b>>2]|0;u=d;return c|0}return 0}function zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[f>>2]|0)<0|(k[f>>2]|0)>=10){l=Ad(18365)|0;k[e>>2]=l;l=k[e>>2]|0;u=m;return l|0}if(i[20714+(k[f>>2]|0)>>0]|0)a=Bd()|0;else a=Cd()|0;k[l>>2]=a;Dd(k[l>>2]|0);g=k[g>>2]|0;k[g>>2]=k[54516+(k[f>>2]<<2)>>2];k[g+4>>2]=0;h=k[h>>2]|0;k[h>>2]=k[54556+(k[f>>2]<<2)>>2];k[h+4>>2]=0;if(k[j>>2]|0)k[54556+(k[f>>2]<<2)>>2]=k[54516+(k[f>>2]<<2)>>2];Ed(k[l>>2]|0);k[e>>2]=0;l=k[e>>2]|0;u=m;return l|0}function Ad(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Fd(21,k[c>>2]|0,20724)|0;u=b;return a|0}function Bd(){return k[13670]|0}function Cd(){return k[13620]|0}function Dd(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}Ob[k[96>>2]&255](k[b>>2]|0);u=c;return}function Ed(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}Ob[k[104>>2]&255](k[b>>2]|0);u=c;return}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=u;u=u+32|0;f=e;d=e+20|0;h=e+16|0;g=e+12|0;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;c=k[d>>2]|0;g=k[g>>2]|0;a=k[h>>2]|0;b=(Gd()|0)+20|0;k[f>>2]=g;k[f+4>>2]=a;k[f+8>>2]=b;Hd(c,20731,f);u=e;return k[d>>2]|0}function Gd(){return 24727}function Hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+32|0;d=g+20|0;e=g+16|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[66]|0)){u=g;return}k[f>>2]=c;Id(k[d>>2]|0,k[e>>2]|0,f);u=g;return}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=u;u=u+256|0;g=d+36|0;h=d+32|0;e=d+28|0;f=d;k[g>>2]=a;k[h>>2]=b;k[e>>2]=c;Jd(f,0,d+40|0,210,0);Kd(f,k[h>>2]|0,k[e>>2]|0);e=k[66]|0;a=k[67]|0;b=k[g>>2]|0;c=Ld(f)|0;Sb[e&255](a,b,c);u=d;return}function Jd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;f=u;u=u+32|0;g=f+16|0;l=f+12|0;m=f+8|0;j=f+4|0;h=f;k[g>>2]=a;k[l>>2]=b;k[m>>2]=c;k[j>>2]=d;k[h>>2]=e;e=k[m>>2]|0;k[(k[g>>2]|0)+4>>2]=e;k[(k[g>>2]|0)+8>>2]=e;k[k[g>>2]>>2]=k[l>>2];k[(k[g>>2]|0)+12>>2]=0;k[(k[g>>2]|0)+16>>2]=k[j>>2];k[(k[g>>2]|0)+20>>2]=k[h>>2];i[(k[g>>2]|0)+24>>0]=0;i[(k[g>>2]|0)+25>>0]=0;u=f;return}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;Ia=u;u=u+352|0;E=Ia+256|0;P=Ia+252|0;_=Ia+248|0;ja=Ia+244|0;ua=Ia+240|0;Fa=Ia+236|0;Ga=Ia+232|0;f=Ia+228|0;g=Ia+224|0;h=Ia+348|0;j=Ia+347|0;m=Ia+346|0;n=Ia+345|0;o=Ia+344|0;q=Ia+343|0;r=Ia+342|0;s=Ia+341|0;t=Ia+340|0;v=Ia+339|0;w=Ia+338|0;x=Ia+337|0;y=Ia+336|0;z=Ia+56|0;A=Ia+48|0;B=Ia+220|0;C=Ia+216|0;D=Ia+212|0;F=Ia+208|0;G=Ia+204|0;H=Ia+200|0;I=Ia+196|0;J=Ia+40|0;K=Ia+335|0;L=Ia+334|0;N=Ia+192|0;O=Ia+264|0;e=Ia+188|0;Q=Ia+184|0;R=Ia+180|0;S=Ia+176|0;T=Ia+172|0;U=Ia+32|0;V=Ia+24|0;W=Ia+168|0;X=Ia+164|0;Y=Ia+16|0;Z=Ia+160|0;$=Ia+156|0;aa=Ia+152|0;ba=Ia+148|0;ca=Ia+263|0;da=Ia+144|0;ea=Ia+262|0;fa=Ia+8|0;ga=Ia;ha=Ia+140|0;ia=Ia+136|0;ka=Ia+132|0;la=Ia+128|0;ma=Ia+124|0;na=Ia+120|0;oa=Ia+116|0;pa=Ia+112|0;qa=Ia+108|0;ra=Ia+104|0;sa=Ia+100|0;ta=Ia+261|0;va=Ia+260|0;wa=Ia+96|0;xa=Ia+92|0;ya=Ia+88|0;za=Ia+84|0;Aa=Ia+80|0;Ba=Ia+76|0;Ca=Ia+72|0;Da=Ia+68|0;Ea=Ia+64|0;k[E>>2]=a;k[P>>2]=b;k[_>>2]=c;i[v>>0]=16;k[F>>2]=0;k[N>>2]=0;k[ua>>2]=0;if(i[(k[E>>2]|0)+25>>0]|0){c=l[(k[E>>2]|0)+25>>0]&2;i[w>>0]=c;if(c&255|0){b=k[_>>2]|0;a=(k[b>>2]|0)+(4-1)&~(4-1);c=k[a>>2]|0;k[b>>2]=a+4;k[e>>2]=c;k[N>>2]=k[e>>2]}i[x>>0]=l[(k[E>>2]|0)+25>>0]&1}else{i[x>>0]=0;i[w>>0]=0}a:while(1){e=i[k[P>>2]>>0]|0;k[ja>>2]=e;if(!e){Ha=272;break}if((k[ja>>2]|0)!=37){k[ua>>2]=k[P>>2];do{k[P>>2]=(k[P>>2]|0)+1;if(!(i[k[P>>2]>>0]|0))break}while((i[k[P>>2]>>0]|0)!=37);Zd(k[E>>2]|0,k[ua>>2]|0,(k[P>>2]|0)-(k[ua>>2]|0)|0);if(!(i[k[P>>2]>>0]|0)){Ha=272;break}}e=(k[P>>2]|0)+1|0;k[P>>2]=e;e=i[e>>0]|0;k[ja>>2]=e;if(!e){Ha=13;break}i[q>>0]=0;i[o>>0]=0;i[n>>0]=0;i[m>>0]=0;i[j>>0]=0;i[h>>0]=0;i[t>>0]=0;do{switch(k[ja>>2]|0){case 45:{i[h>>0]=1;break}case 43:{i[j>>0]=1;break}case 32:{i[m>>0]=1;break}case 35:{i[n>>0]=1;break}case 33:{i[o>>0]=1;break}case 48:{i[q>>0]=1;break}default:i[t>>0]=1}if(i[t>>0]|0)break;e=(k[P>>2]|0)+1|0;k[P>>2]=e;e=i[e>>0]|0;k[ja>>2]=e}while((e|0)!=0);if((k[ja>>2]|0)==42){if(i[w>>0]|0){e=_d(k[N>>2]|0)|0;k[g>>2]=e}else{c=k[_>>2]|0;b=(k[c>>2]|0)+(4-1)&~(4-1);e=k[b>>2]|0;k[c>>2]=b+4;k[Q>>2]=e;k[g>>2]=k[Q>>2]}if((k[g>>2]|0)<0){i[h>>0]=1;k[g>>2]=(k[g>>2]|0)>=-2147483647?0-(k[g>>2]|0)|0:0}e=(k[P>>2]|0)+1|0;k[P>>2]=e;k[ja>>2]=i[e>>0]}else{k[R>>2]=0;while(1){a=k[R>>2]|0;if(!((k[ja>>2]|0)>=48?(k[ja>>2]|0)<=57:0))break;k[R>>2]=(a*10|0)+(k[ja>>2]|0)-48;e=(k[P>>2]|0)+1|0;k[P>>2]=e;k[ja>>2]=i[e>>0]}k[g>>2]=a&2147483647}do if((k[ja>>2]|0)==46){e=(k[P>>2]|0)+1|0;k[P>>2]=e;k[ja>>2]=i[e>>0];if((k[ja>>2]|0)!=42){k[T>>2]=0;while(1){a=k[T>>2]|0;if(!((k[ja>>2]|0)>=48?(k[ja>>2]|0)<=57:0))break;k[T>>2]=(a*10|0)+(k[ja>>2]|0)-48;e=(k[P>>2]|0)+1|0;k[P>>2]=e;k[ja>>2]=i[e>>0]}k[Fa>>2]=a&2147483647;break}if(i[w>>0]|0){e=_d(k[N>>2]|0)|0;k[Fa>>2]=e}else{c=k[_>>2]|0;b=(k[c>>2]|0)+(4-1)&~(4-1);e=k[b>>2]|0;k[c>>2]=b+4;k[S>>2]=e;k[Fa>>2]=k[S>>2]}e=(k[P>>2]|0)+1|0;k[P>>2]=e;k[ja>>2]=i[e>>0];if((k[Fa>>2]|0)<0)k[Fa>>2]=(k[Fa>>2]|0)>=-2147483647?0-(k[Fa>>2]|0)|0:-1}else k[Fa>>2]=-1;while(0);do if((k[ja>>2]|0)==108){i[r>>0]=1;e=(k[P>>2]|0)+1|0;k[P>>2]=e;k[ja>>2]=i[e>>0];if((k[ja>>2]|0)==108){i[s>>0]=1;e=(k[P>>2]|0)+1|0;k[P>>2]=e;k[ja>>2]=i[e>>0];break}else{i[s>>0]=0;break}}else{i[s>>0]=0;i[r>>0]=0}while(0);k[B>>2]=20758;i[v>>0]=16;k[f>>2]=0;while(1){if((k[f>>2]|0)>=23)break;a=k[f>>2]|0;if((k[ja>>2]|0)==(i[20758+((k[f>>2]|0)*6|0)>>0]|0)){Ha=56;break}k[f>>2]=a+1}if((Ha|0)==56){Ha=0;k[B>>2]=20758+(a*6|0);if((l[x>>0]|0)==0?l[(k[B>>2]|0)+2>>0]&2|0:0){Ha=272;break}i[v>>0]=i[(k[B>>2]|0)+3>>0]|0}b:do switch(l[v>>0]|0){case 13:{i[s>>0]=0;i[r>>0]=1;Ha=62;break}case 0:case 15:{Ha=62;break}case 3:case 2:case 1:{if(i[w>>0]|0){d=+$d(k[N>>2]|0);p[A>>3]=d}else{e=k[_>>2]|0;c=(k[e>>2]|0)+(8-1)&~(8-1);d=+p[c>>3];k[e>>2]=c+8;p[fa>>3]=d;p[A>>3]=+p[fa>>3]}if((k[Fa>>2]|0)<0)k[Fa>>2]=6;do if(!(+p[A>>3]<0.0)){if(i[j>>0]|0){i[y>>0]=43;break}if(i[m>>0]|0){i[y>>0]=32;break}else{i[y>>0]=0;break}}else{p[A>>3]=-+p[A>>3];i[y>>0]=45}while(0);if((l[v>>0]|0)==3&(k[Fa>>2]|0)>0)k[Fa>>2]=(k[Fa>>2]|0)+-1;k[f>>2]=k[Fa>>2]&4095;p[J>>3]=.5;while(1){if((k[f>>2]|0)<=0)break;k[f>>2]=(k[f>>2]|0)+-1;p[J>>3]=+p[J>>3]*.1}if((l[v>>0]|0)==1)p[A>>3]=+p[A>>3]+ +p[J>>3];k[G>>2]=0;if(ae(+p[A>>3])|0){k[ua>>2]=20945;k[Ga>>2]=3;break b}if(+p[A>>3]>0.0){p[ga>>3]=1.0;while(1){if(!(+p[A>>3]>=+p[ga>>3]*1.e+100?(k[G>>2]|0)<=350:0))break;p[ga>>3]=+p[ga>>3]*1.e+100;k[G>>2]=(k[G>>2]|0)+100}while(1){if(!(+p[A>>3]>=+p[ga>>3]*1.0e10?(k[G>>2]|0)<=350:0))break;p[ga>>3]=+p[ga>>3]*1.0e10;k[G>>2]=(k[G>>2]|0)+10}while(1){d=+p[ga>>3];if(!(+p[A>>3]>=+p[ga>>3]*10.0?(k[G>>2]|0)<=350:0))break;p[ga>>3]=d*10.0;k[G>>2]=(k[G>>2]|0)+1}p[A>>3]=+p[A>>3]/d;while(1){if(!(+p[A>>3]<1.0e-08))break;p[A>>3]=+p[A>>3]*1.0e8;k[G>>2]=(k[G>>2]|0)-8}while(1){if(!(+p[A>>3]<1.0))break;p[A>>3]=+p[A>>3]*10.0;k[G>>2]=(k[G>>2]|0)+-1}if((k[G>>2]|0)>350){k[ua>>2]=O;i[O>>0]=i[y>>0]|0;e=O+((i[y>>0]|0)!=0&1)|0;i[e>>0]=i[20949]|0;i[e+1>>0]=i[20950]|0;i[e+2>>0]=i[20951]|0;i[e+3>>0]=i[20952]|0;k[Ga>>2]=3+((i[y>>0]|0)!=0&1);break b}}k[ua>>2]=O;if((l[v>>0]|0)!=1?(p[A>>3]=+p[A>>3]+ +p[J>>3],+p[A>>3]>=10.0):0){p[A>>3]=+p[A>>3]*.1;k[G>>2]=(k[G>>2]|0)+1}c:do if((l[v>>0]|0)==3){i[L>>0]=((i[n>>0]|0)!=0^1)&1;do if((k[G>>2]|0)>=-4){if((k[G>>2]|0)>(k[Fa>>2]|0))break;k[Fa>>2]=(k[Fa>>2]|0)-(k[G>>2]|0);i[v>>0]=1;break c}while(0);i[v>>0]=2}else i[L>>0]=i[o>>0]|0;while(0);if((l[v>>0]|0)==2)k[H>>2]=0;else k[H>>2]=k[G>>2];e=(k[H>>2]|0)>0?k[H>>2]|0:0;c=k[Fa>>2]|0;c=i0(e|0,((e|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0;e=k[g>>2]|0;e=i0(c|0,M|0,e|0,((e|0)<0)<<31>>31|0)|0;c=M;if((c|0)>0|(c|0)==0&e>>>0>55?(e=(k[H>>2]|0)>0?k[H>>2]|0:0,c=k[Fa>>2]|0,c=i0(e|0,((e|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0,e=k[g>>2]|0,e=i0(c|0,M|0,e|0,((e|0)<0)<<31>>31|0)|0,e=i0(e|0,M|0,15,0)|0,e=Pd(e,M)|0,k[F>>2]=e,k[ua>>2]=e,(k[ua>>2]|0)==0):0){Ha=165;break a}k[C>>2]=k[ua>>2];k[I>>2]=16+((l[o>>0]|0)*10|0);i[K>>0]=((k[Fa>>2]|0)>0?1:0)|l[n>>0]|l[o>>0];if(i[y>>0]|0){c=i[y>>0]|0;e=k[ua>>2]|0;k[ua>>2]=e+1;i[e>>0]=c}d:do if((k[H>>2]|0)<0){e=k[ua>>2]|0;k[ua>>2]=e+1;i[e>>0]=48}else while(1){if((k[H>>2]|0)<0)break d;c=be(A,I)|0;e=k[ua>>2]|0;k[ua>>2]=e+1;i[e>>0]=c;k[H>>2]=(k[H>>2]|0)+-1}while(0);if(i[K>>0]|0){e=k[ua>>2]|0;k[ua>>2]=e+1;i[e>>0]=46}k[H>>2]=(k[H>>2]|0)+1;while(1){if((k[H>>2]|0)>=0)break;e=k[ua>>2]|0;k[ua>>2]=e+1;i[e>>0]=48;k[Fa>>2]=(k[Fa>>2]|0)+-1;k[H>>2]=(k[H>>2]|0)+1}while(1){e=k[Fa>>2]|0;k[Fa>>2]=e+-1;if((e|0)<=0)break;c=be(A,I)|0;e=k[ua>>2]|0;k[ua>>2]=e+1;i[e>>0]=c}do if(l[L>>0]|0){if(!(l[K>>0]|0))break;while(1){a=(k[ua>>2]|0)+-1|0;if((i[(k[ua>>2]|0)+-1>>0]|0)!=48)break;k[ua>>2]=a;i[a>>0]=0}if((i[a>>0]|0)!=46)break;a=k[ua>>2]|0;if(i[o>>0]|0){k[ua>>2]=a+1;i[a>>0]=48;break}else{e=a+-1|0;k[ua>>2]=e;i[e>>0]=0;break}}while(0);if((l[v>>0]|0)==2){a=i[20905+(l[(k[B>>2]|0)+4>>0]|0)>>0]|0;e=k[ua>>2]|0;k[ua>>2]=e+1;i[e>>0]=a;e=(k[G>>2]|0)<0;a=k[ua>>2]|0;k[ua>>2]=a+1;if(e){i[a>>0]=45;k[G>>2]=0-(k[G>>2]|0)}else i[a>>0]=43;if((k[G>>2]|0)>=100){c=((k[G>>2]|0)/100|0)+48&255;e=k[ua>>2]|0;k[ua>>2]=e+1;i[e>>0]=c;k[G>>2]=(k[G>>2]|0)%100|0}e=((k[G>>2]|0)/10|0)+48&255;c=k[ua>>2]|0;k[ua>>2]=c+1;i[c>>0]=e;c=((k[G>>2]|0)%10|0)+48&255;e=k[ua>>2]|0;k[ua>>2]=e+1;i[e>>0]=c}i[k[ua>>2]>>0]=0;k[Ga>>2]=(k[ua>>2]|0)-(k[C>>2]|0);k[ua>>2]=k[C>>2];if((l[q>>0]|0)==0|(i[h>>0]|0)!=0)break b;if((k[Ga>>2]|0)>=(k[g>>2]|0))break b;k[ia>>2]=(k[g>>2]|0)-(k[Ga>>2]|0);k[ha>>2]=k[g>>2];while(1){if((k[ha>>2]|0)<(k[ia>>2]|0))break;i[(k[ua>>2]|0)+(k[ha>>2]|0)>>0]=i[(k[ua>>2]|0)+((k[ha>>2]|0)-(k[ia>>2]|0))>>0]|0;k[ha>>2]=(k[ha>>2]|0)+-1}k[ha>>2]=(i[y>>0]|0)!=0&1;while(1){e=k[ia>>2]|0;k[ia>>2]=e+-1;if(!e)break;c=k[ua>>2]|0;e=k[ha>>2]|0;k[ha>>2]=e+1;i[c+e>>0]=48}k[Ga>>2]=k[g>>2];break}case 4:{if(!(i[w>>0]|0)){e=k[(k[E>>2]|0)+12>>2]|0;b=k[_>>2]|0;a=(k[b>>2]|0)+(4-1)&~(4-1);c=k[a>>2]|0;k[b>>2]=a+4;k[ka>>2]=c;k[k[ka>>2]>>2]=e}k[g>>2]=0;k[Ga>>2]=0;break}case 7:{i[O>>0]=37;k[ua>>2]=O;k[Ga>>2]=1;break}case 8:{if(i[w>>0]|0){e=ce(k[N>>2]|0)|0;k[ua>>2]=e;if(k[ua>>2]|0)a=i[k[ua>>2]>>0]|0;else a=0;k[ja>>2]=a}else{c=k[_>>2]|0;b=(k[c>>2]|0)+(4-1)&~(4-1);e=k[b>>2]|0;k[c>>2]=b+4;k[la>>2]=e;k[ja>>2]=k[la>>2]}if((k[Fa>>2]|0)>1){k[g>>2]=(k[g>>2]|0)-((k[Fa>>2]|0)-1);if(!((k[g>>2]|0)<=1|(i[h>>0]|0)!=0)){de(k[E>>2]|0,(k[g>>2]|0)-1|0,32);k[g>>2]=0}de(k[E>>2]|0,(k[Fa>>2]|0)-1|0,k[ja>>2]&255)}k[Ga>>2]=1;i[O>>0]=k[ja>>2];k[ua>>2]=O;break}case 6:case 5:{if(i[w>>0]|0){e=ce(k[N>>2]|0)|0;k[ua>>2]=e;i[v>>0]=5}else{c=k[_>>2]|0;b=(k[c>>2]|0)+(4-1)&~(4-1);e=k[b>>2]|0;k[c>>2]=b+4;k[ma>>2]=e;k[ua>>2]=k[ma>>2]}if(k[ua>>2]|0){if((l[v>>0]|0)==6)k[F>>2]=k[ua>>2]}else k[ua>>2]=55752;if((k[Fa>>2]|0)<0){e=wd(k[ua>>2]|0)|0;k[Ga>>2]=e;break b}k[Ga>>2]=0;while(1){if((k[Ga>>2]|0)>=(k[Fa>>2]|0))break b;if(!(i[(k[ua>>2]|0)+(k[Ga>>2]|0)>>0]|0))break b;k[Ga>>2]=(k[Ga>>2]|0)+1}}case 14:case 10:case 9:{i[va>>0]=(l[v>>0]|0)==14?34:39;if(i[w>>0]|0){e=ce(k[N>>2]|0)|0;k[wa>>2]=e}else{c=k[_>>2]|0;b=(k[c>>2]|0)+(4-1)&~(4-1);e=k[b>>2]|0;k[c>>2]=b+4;k[xa>>2]=e;k[wa>>2]=k[xa>>2]}k[ra>>2]=(k[wa>>2]|0)==0&1;if(k[ra>>2]|0)k[wa>>2]=(l[v>>0]|0)==10?20953:20958;k[pa>>2]=k[Fa>>2];k[qa>>2]=0;k[na>>2]=0;while(1){if(!(k[pa>>2]|0))break;e=i[(k[wa>>2]|0)+(k[na>>2]|0)>>0]|0;i[ta>>0]=e;if(!(e<<24>>24))break;if((i[ta>>0]|0)==(i[va>>0]|0))k[qa>>2]=(k[qa>>2]|0)+1;k[na>>2]=(k[na>>2]|0)+1;k[pa>>2]=(k[pa>>2]|0)+-1}if(k[ra>>2]|0)a=0;else a=(l[v>>0]|0)==10;k[sa>>2]=a&1;k[qa>>2]=(k[qa>>2]|0)+((k[na>>2]|0)+3);if((k[qa>>2]|0)>70){e=k[qa>>2]|0;e=Pd(e,((e|0)<0)<<31>>31)|0;k[F>>2]=e;k[ua>>2]=e;if(!(k[ua>>2]|0)){Ha=245;break a}}else k[ua>>2]=O;k[oa>>2]=0;if(k[sa>>2]|0){b=i[va>>0]|0;c=k[ua>>2]|0;e=k[oa>>2]|0;k[oa>>2]=e+1;i[c+e>>0]=b}k[pa>>2]=k[na>>2];k[na>>2]=0;while(1){if((k[na>>2]|0)>=(k[pa>>2]|0))break;b=i[(k[wa>>2]|0)+(k[na>>2]|0)>>0]|0;i[ta>>0]=b;c=k[ua>>2]|0;e=k[oa>>2]|0;k[oa>>2]=e+1;i[c+e>>0]=b;if((i[ta>>0]|0)==(i[va>>0]|0)){b=i[ta>>0]|0;c=k[ua>>2]|0;e=k[oa>>2]|0;k[oa>>2]=e+1;i[c+e>>0]=b}k[na>>2]=(k[na>>2]|0)+1}if(k[sa>>2]|0){b=i[va>>0]|0;c=k[ua>>2]|0;e=k[oa>>2]|0;k[oa>>2]=e+1;i[c+e>>0]=b}i[(k[ua>>2]|0)+(k[oa>>2]|0)>>0]=0;k[Ga>>2]=k[oa>>2];break}case 11:{c=k[_>>2]|0;b=(k[c>>2]|0)+(4-1)&~(4-1);e=k[b>>2]|0;k[c>>2]=b+4;k[za>>2]=e;k[ya>>2]=k[za>>2];if(k[ya>>2]|0?k[(k[ya>>2]|0)+4>>2]|0:0)Zd(k[E>>2]|0,k[k[ya>>2]>>2]|0,k[(k[ya>>2]|0)+4>>2]|0);k[g>>2]=0;k[Ga>>2]=0;break}case 12:{b=k[_>>2]|0;e=(k[b>>2]|0)+(4-1)&~(4-1);c=k[e>>2]|0;k[b>>2]=e+4;k[Ba>>2]=c;k[Aa>>2]=k[Ba>>2];c=k[_>>2]|0;b=(k[c>>2]|0)+(4-1)&~(4-1);e=k[b>>2]|0;k[c>>2]=b+4;k[Da>>2]=e;k[Ca>>2]=k[Da>>2];k[Ea>>2]=(k[Aa>>2]|0)+8+((k[Ca>>2]|0)*72|0);if(k[(k[Ea>>2]|0)+4>>2]|0){ee(k[E>>2]|0,k[(k[Ea>>2]|0)+4>>2]|0);Zd(k[E>>2]|0,20965,1)}ee(k[E>>2]|0,k[(k[Ea>>2]|0)+8>>2]|0);k[g>>2]=0;k[Ga>>2]=0;break}default:{Ha=272;break a}}while(0);if((Ha|0)==62){Ha=0;a=(i[w>>0]|0)!=0;do if(l[(k[B>>2]|0)+2>>0]&1|0){do if(!a){if(i[s>>0]|0){b=k[_>>2]|0;a=(k[b>>2]|0)+(8-1)&~(8-1);c=a;e=k[c>>2]|0;c=k[c+4>>2]|0;k[b>>2]=a+8;b=V;k[b>>2]=e;k[b+4>>2]=c;b=V;c=k[b+4>>2]|0;e=U;k[e>>2]=k[b>>2];k[e+4>>2]=c;break}e=(i[r>>0]|0)!=0;c=k[_>>2]|0;b=(k[c>>2]|0)+(4-1)&~(4-1);a=k[b>>2]|0;k[c>>2]=b+4;if(e){k[W>>2]=a;c=k[W>>2]|0;e=U;k[e>>2]=c;k[e+4>>2]=((c|0)<0)<<31>>31;break}else{k[X>>2]=a;c=k[X>>2]|0;e=U;k[e>>2]=c;k[e+4>>2]=((c|0)<0)<<31>>31;break}}else{c=_d(k[N>>2]|0)|0;e=U;k[e>>2]=c;k[e+4>>2]=M}while(0);b=U;a=k[b>>2]|0;b=k[b+4>>2]|0;if((k[U+4>>2]|0)<0){if((a|0)==0&(b|0)==-2147483648){e=z;k[e>>2]=0;k[e+4>>2]=-2147483648}else{c=U;c=h0(0,0,k[c>>2]|0,k[c+4>>2]|0)|0;e=z;k[e>>2]=c;k[e+4>>2]=M}i[y>>0]=45;break}e=z;k[e>>2]=a;k[e+4>>2]=b;if(i[j>>0]|0){i[y>>0]=43;break}if(i[m>>0]|0){i[y>>0]=32;break}else{i[y>>0]=0;break}}else{do if(!a){if(i[s>>0]|0){b=k[_>>2]|0;a=(k[b>>2]|0)+(8-1)&~(8-1);c=a;e=k[c>>2]|0;c=k[c+4>>2]|0;k[b>>2]=a+8;b=Y;k[b>>2]=e;k[b+4>>2]=c;b=Y;c=k[b+4>>2]|0;e=z;k[e>>2]=k[b>>2];k[e+4>>2]=c;break}e=(i[r>>0]|0)!=0;c=k[_>>2]|0;b=(k[c>>2]|0)+(4-1)&~(4-1);a=k[b>>2]|0;k[c>>2]=b+4;if(e){k[Z>>2]=a;e=z;k[e>>2]=k[Z>>2];k[e+4>>2]=0;break}else{k[$>>2]=a;e=z;k[e>>2]=k[$>>2];k[e+4>>2]=0;break}}else{c=_d(k[N>>2]|0)|0;e=z;k[e>>2]=c;k[e+4>>2]=M}while(0);i[y>>0]=0}while(0);e=z;if((k[e>>2]|0)==0&(k[e+4>>2]|0)==0)i[n>>0]=0;if(l[q>>0]|0?(k[Fa>>2]|0)<((k[g>>2]|0)-((i[y>>0]|0)!=0&1)|0):0)k[Fa>>2]=(k[g>>2]|0)-((i[y>>0]|0)!=0&1);if((k[Fa>>2]|0)>=60){k[D>>2]=(k[Fa>>2]|0)+10;e=k[D>>2]|0;e=Pd(e,((e|0)<0)<<31>>31)|0;k[F>>2]=e;k[C>>2]=e;if(!(k[C>>2]|0)){Ha=96;break}}else{k[D>>2]=70;k[C>>2]=O}k[ua>>2]=(k[C>>2]|0)+((k[D>>2]|0)-1);if((l[v>>0]|0)==15){e=z;e=v0(k[e>>2]|0,k[e+4>>2]|0,10,0)|0;k[aa>>2]=e;if(!((k[aa>>2]|0)<4?(e=z,e=z0(k[e>>2]|0,k[e+4>>2]|0,10,0)|0,e=v0(e|0,M|0,10,0)|0,!((e|0)==1&(M|0)==0)):0))k[aa>>2]=0;e=i[20896+((k[aa>>2]<<1)+1)>>0]|0;c=(k[ua>>2]|0)+-1|0;k[ua>>2]=c;i[c>>0]=e;c=i[20896+(k[aa>>2]<<1)>>0]|0;e=(k[ua>>2]|0)+-1|0;k[ua>>2]=e;i[e>>0]=c}k[ba>>2]=20905+(l[(k[B>>2]|0)+4>>0]|0);i[ca>>0]=i[(k[B>>2]|0)+1>>0]|0;do{c=k[ba>>2]|0;e=z;e=v0(k[e>>2]|0,k[e+4>>2]|0,l[ca>>0]|0,0)|0;e=i[c+e>>0]|0;c=(k[ua>>2]|0)+-1|0;k[ua>>2]=c;i[c>>0]=e;c=z;c=z0(k[c>>2]|0,k[c+4>>2]|0,l[ca>>0]|0,0)|0;e=z;k[e>>2]=c;k[e+4>>2]=M;e=z;c=k[e+4>>2]|0}while(c>>>0>0|(c|0)==0&(k[e>>2]|0)>>>0>0);k[Ga>>2]=(k[C>>2]|0)+((k[D>>2]|0)-1)-(k[ua>>2]|0);k[f>>2]=(k[Fa>>2]|0)-(k[Ga>>2]|0);while(1){if((k[f>>2]|0)<=0)break;e=(k[ua>>2]|0)+-1|0;k[ua>>2]=e;i[e>>0]=48;k[f>>2]=(k[f>>2]|0)+-1}if(i[y>>0]|0){c=i[y>>0]|0;e=(k[ua>>2]|0)+-1|0;k[ua>>2]=e;i[e>>0]=c}e:do if(l[n>>0]|0?l[(k[B>>2]|0)+5>>0]|0:0){k[da>>2]=20938+(l[(k[B>>2]|0)+5>>0]|0);while(1){e=i[k[da>>2]>>0]|0;i[ea>>0]=e;if(!(e<<24>>24))break e;c=i[ea>>0]|0;e=(k[ua>>2]|0)+-1|0;k[ua>>2]=e;i[e>>0]=c;k[da>>2]=(k[da>>2]|0)+1}}while(0);k[Ga>>2]=(k[C>>2]|0)+((k[D>>2]|0)-1)-(k[ua>>2]|0)}k[g>>2]=(k[g>>2]|0)-(k[Ga>>2]|0);if(!((k[g>>2]|0)<=0|(i[h>>0]|0)!=0))de(k[E>>2]|0,k[g>>2]|0,32);Zd(k[E>>2]|0,k[ua>>2]|0,k[Ga>>2]|0);if((k[g>>2]|0)>0?l[h>>0]|0:0)de(k[E>>2]|0,k[g>>2]|0,32);if(k[F>>2]|0){fe(k[k[E>>2]>>2]|0,k[F>>2]|0);k[F>>2]=0}k[P>>2]=(k[P>>2]|0)+1}if((Ha|0)==13){Zd(k[E>>2]|0,20756,1);u=Ia;return}else if((Ha|0)==96){Nd(k[E>>2]|0,1);u=Ia;return}else if((Ha|0)==165){Nd(k[E>>2]|0,1);u=Ia;return}else if((Ha|0)==245){Nd(k[E>>2]|0,1);u=Ia;return}else if((Ha|0)==272){u=Ia;return}}function Ld(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;do if((k[(k[b>>2]|0)+8>>2]|0?(i[(k[(k[b>>2]|0)+8>>2]|0)+(k[(k[b>>2]|0)+12>>2]|0)>>0]=0,(k[(k[b>>2]|0)+20>>2]|0)>>>0>0):0)?((l[(k[b>>2]|0)+25>>0]|0)&4|0)==0:0){a=Md(k[k[b>>2]>>2]|0,(k[(k[b>>2]|0)+12>>2]|0)+1|0,0)|0;k[(k[b>>2]|0)+8>>2]=a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+8>>2]|0){r0(k[a+8>>2]|0,k[(k[b>>2]|0)+4>>2]|0,(k[(k[b>>2]|0)+12>>2]|0)+1|0)|0;a=(k[b>>2]|0)+25|0;i[a>>0]=l[a>>0]|0|4;break}else{Nd(a,1);break}}while(0);u=c;return k[(k[b>>2]|0)+8>>2]|0}function Md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(k[e>>2]|0){g=f;g=Od(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;u=h;return g|0}else{f=Pd(k[f>>2]|0,k[f+4>>2]|0)|0;k[g>>2]=f;k[d>>2]=k[g>>2];g=k[d>>2]|0;u=h;return g|0}return 0}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=c+4|0;k[d>>2]=a;i[e>>0]=b;i[(k[d>>2]|0)+24>>0]=i[e>>0]|0;k[(k[d>>2]|0)+16>>2]=0;u=c;return}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;do if(k[(k[e>>2]|0)+256>>2]|0){if(i[(k[e>>2]|0)+69>>0]|0){k[d>>2]=0;g=k[d>>2]|0;u=h;return g|0}}else{c=f;b=k[c+4>>2]|0;a=(k[e>>2]|0)+256|0;if(b>>>0>0|((b|0)==0?(k[c>>2]|0)>>>0>(m[(k[e>>2]|0)+256+4>>1]|0)>>>0:0)){g=a+16+4|0;k[g>>2]=(k[g>>2]|0)+1;break}c=k[a+28>>2]|0;k[g>>2]=c;if(!c){g=(k[e>>2]|0)+256+16+8|0;k[g>>2]=(k[g>>2]|0)+1;break}k[(k[e>>2]|0)+256+28>>2]=k[k[g>>2]>>2];f=(k[e>>2]|0)+256+8|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[e>>2]|0)+256+16|0;k[f>>2]=(k[f>>2]|0)+1;if((k[(k[e>>2]|0)+256+8>>2]|0)>(k[(k[e>>2]|0)+256+12>>2]|0))k[(k[e>>2]|0)+256+12>>2]=k[(k[e>>2]|0)+256+8>>2];k[d>>2]=k[g>>2];g=k[d>>2]|0;u=h;return g|0}while(0);g=f;g=Xd(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;u=h;return g|0}function Pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;f=c;b=c;a=k[b+4>>2]|0;if((k[f>>2]|0)==0&(k[f+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(k[b>>2]|0)>>>0>=2147483392)){k[d>>2]=0;f=k[d>>2]|0;u=e;return f|0}if(k[2]|0){Dd(k[13620]|0);Qd(k[c>>2]|0,d)|0;Ed(k[13620]|0);f=k[d>>2]|0;u=e;return f|0}else{f=Rb[k[48>>2]&255](k[c>>2]|0)|0;k[d>>2]=f;f=k[d>>2]|0;u=e;return f|0}return 0}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;h=g+20|0;c=g+16|0;d=g+12|0;e=g+8|0;f=g;k[h>>2]=a;k[c>>2]=b;b=Rb[k[64>>2]&255](k[h>>2]|0)|0;k[d>>2]=b;Rd(5,k[h>>2]|0);b=54488;a=k[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0){b=Sd(0)|0;a=f;k[a>>2]=b;k[a+4>>2]=M;a=f;f=k[a>>2]|0;a=k[a+4>>2]|0;b=54488;h=k[d>>2]|0;h=h0(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;b=M;if((a|0)>(b|0)|(a|0)==(b|0)&f>>>0>=h>>>0){k[13627]=1;Td(k[d>>2]|0);break}else{k[13627]=0;break}}while(0);h=Rb[k[48>>2]&255](k[d>>2]|0)|0;k[e>>2]=h;if(!(k[e>>2]|0)){f=k[e>>2]|0;h=k[c>>2]|0;k[h>>2]=f;h=k[d>>2]|0;u=g;return h|0}f=Ud(k[e>>2]|0)|0;k[d>>2]=f;Vd(0,k[d>>2]|0);Vd(9,1);f=k[e>>2]|0;h=k[c>>2]|0;k[h>>2]=f;h=k[d>>2]|0;u=g;return h|0}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[f>>2];if((k[d>>2]|0)>>>0<=(k[54556+(k[c>>2]<<2)>>2]|0)>>>0){u=e;return}k[54556+(k[c>>2]<<2)>>2]=k[d>>2];u=e;return}function Sd(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;M=0;u=c;return k[54516+(k[b>>2]<<2)>>2]|0}function Td(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;b=c;k[b>>2]=a;a=54488;d=k[a+4>>2]|0;if((d|0)<0|(d|0)==0&(k[a>>2]|0)>>>0<=0){u=c;return}Ed(k[13620]|0);Wd(k[b>>2]|0)|0;Dd(k[13620]|0);u=c;return}function Ud(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Rb[k[60>>2]&255](k[c>>2]|0)|0;u=b;return a|0}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;b=54516+(k[c>>2]<<2)|0;k[b>>2]=(k[b>>2]|0)+(k[e>>2]|0);if((k[54516+(k[c>>2]<<2)>>2]|0)>>>0<=(k[54556+(k[c>>2]<<2)>>2]|0)>>>0){u=d;return}k[54556+(k[c>>2]<<2)>>2]=k[54516+(k[c>>2]<<2)>>2];u=d;return}function Wd(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;u=b;return 0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;d=f+12|0;g=f;e=f+8|0;k[d>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;c=g;c=Pd(k[c>>2]|0,k[c+4>>2]|0)|0;k[e>>2]=c;if(k[e>>2]|0){g=k[e>>2]|0;u=f;return g|0}Yd(k[d>>2]|0);g=k[e>>2]|0;u=f;return g|0}function Yd(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+69>>0]|0|0){u=c;return}if(l[(k[b>>2]|0)+70>>0]|0|0){u=c;return}i[(k[b>>2]|0)+69>>0]=1;if((k[(k[b>>2]|0)+168>>2]|0)>0)k[(k[b>>2]|0)+248>>2]=1;b=(k[b>>2]|0)+256|0;k[b>>2]=(k[b>>2]|0)+1;u=c;return}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(((k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]|0)|0)>>>0>=(k[(k[d>>2]|0)+16>>2]|0)>>>0){yk(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);u=g;return}else{c=(k[d>>2]|0)+12|0;k[c>>2]=(k[c>>2]|0)+(k[f>>2]|0);r0((k[(k[d>>2]|0)+8>>2]|0)+((k[(k[d>>2]|0)+12>>2]|0)-(k[f>>2]|0))|0,k[e>>2]|0,k[f>>2]|0)|0;u=g;return}}function _d(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d;c=d+8|0;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){c=b;k[c>>2]=0;k[c+4>>2]=0;c=b;c=k[c>>2]|0;b=b+4|0;b=k[b>>2]|0;M=b;u=d;return c|0}else{e=k[(k[c>>2]|0)+8>>2]|0;c=(k[c>>2]|0)+4|0;a=k[c>>2]|0;k[c>>2]=a+1;a=Pi(k[e+(a<<2)>>2]|0)|0;c=b;k[c>>2]=a;k[c+4>>2]=M;c=b;c=k[c>>2]|0;b=b+4|0;b=k[b>>2]|0;M=b;u=d;return c|0}return 0}function $d(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0;d=u;u=u+16|0;b=d;c=d+8|0;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){p[b>>3]=0.0;e=+p[b>>3];u=d;return +e}else{a=k[(k[c>>2]|0)+8>>2]|0;f=(k[c>>2]|0)+4|0;c=k[f>>2]|0;k[f>>2]=c+1;e=+Ri(k[a+(c<<2)>>2]|0);p[b>>3]=e;e=+p[b>>3];u=d;return +e}return 0.0}function ae(a){a=+a;var b=0,c=0,d=0,e=0,f=0;c=u;u=u+32|0;f=c+16|0;b=c+24|0;e=c+8|0;d=c;p[f>>3]=a;p[e>>3]=+p[f>>3];p[d>>3]=+p[e>>3];k[b>>2]=+p[e>>3]!=+p[d>>3]&1;u=c;return k[b>>2]|0}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;k[d>>2]=a;k[e>>2]=b;if((k[k[e>>2]>>2]|0)<=0){i[c>>0]=48;g=i[c>>0]|0;u=h;return g|0}else{e=k[e>>2]|0;k[e>>2]=(k[e>>2]|0)+-1;k[f>>2]=~~+p[k[d>>2]>>3];p[g>>3]=+(k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+48;p[k[d>>2]>>3]=(+p[k[d>>2]>>3]-+p[g>>3])*10.0;i[c>>0]=k[f>>2];g=i[c>>0]|0;u=h;return g|0}return 0}function ce(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){k[b>>2]=0;c=k[b>>2]|0;u=d;return c|0}else{a=k[(k[c>>2]|0)+8>>2]|0;e=(k[c>>2]|0)+4|0;c=k[e>>2]|0;k[e>>2]=c+1;c=$h(k[a+(c<<2)>>2]|0)|0;k[b>>2]=c;c=k[b>>2]|0;u=d;return c|0}return 0}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;d=g+4|0;e=g;f=g+8|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;c=k[e>>2]|0;c=i0(k[(k[d>>2]|0)+12>>2]|0,0,c|0,((c|0)<0)<<31>>31|0)|0;b=M;if((b|0)>0|((b|0)==0?c>>>0>=(k[(k[d>>2]|0)+16>>2]|0)>>>0:0)?(c=le(k[d>>2]|0,k[e>>2]|0)|0,k[e>>2]=c,(c|0)<=0):0){u=g;return}while(1){c=k[e>>2]|0;k[e>>2]=c+-1;if((c|0)<=0)break;a=i[f>>0]|0;b=k[(k[d>>2]|0)+8>>2]|0;h=(k[d>>2]|0)+12|0;c=k[h>>2]|0;k[h>>2]=c+1;i[b+c>>0]=a}u=g;return}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[e>>2]|0;b=k[d>>2]|0;Zd(a,b,wd(k[d>>2]|0)|0);u=c;return}function fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=f;return}if(k[c>>2]|0){a=k[c>>2]|0;b=k[d>>2]|0;if(k[(k[c>>2]|0)+456>>2]|0){ge(a,b);u=f;return}if(he(a,b)|0){k[e>>2]=k[d>>2];k[k[e>>2]>>2]=k[(k[c>>2]|0)+256+28>>2];k[(k[c>>2]|0)+256+28>>2]=k[e>>2];e=(k[c>>2]|0)+256+8|0;k[e>>2]=(k[e>>2]|0)+-1;u=f;return}}ie(k[d>>2]|0);u=f;return}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;a=ke(k[d>>2]|0,k[e>>2]|0)|0;b=k[(k[d>>2]|0)+456>>2]|0;k[b>>2]=(k[b>>2]|0)+a;u=c;return}function he(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>>>0<(k[(k[c>>2]|0)+256+32>>2]|0)>>>0){d=0;d=d&1;u=e;return d|0}d=(k[d>>2]|0)>>>0<(k[(k[c>>2]|0)+256+36>>2]|0)>>>0;d=d&1;u=e;return d|0}function ie(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}if(k[2]|0){Dd(k[13620]|0);je(0,Ud(k[b>>2]|0)|0);je(9,1);Ob[k[52>>2]&255](k[b>>2]|0);Ed(k[13620]|0);u=c;return}else{Ob[k[52>>2]&255](k[b>>2]|0);u=c;return}}function je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=54516+(k[e>>2]<<2)|0;k[b>>2]=(k[b>>2]|0)-(k[d>>2]|0);u=c;return}function ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(k[d>>2]|0?he(k[d>>2]|0,k[e>>2]|0)|0:0){k[c>>2]=m[(k[d>>2]|0)+256+4>>1];e=k[c>>2]|0;u=f;return e|0}e=Rb[k[60>>2]&255](k[e>>2]|0)|0;k[c>>2]=e;e=k[c>>2]|0;u=f;return e|0}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;e=j+24|0;f=j+20|0;g=j+16|0;h=j+12|0;c=j+8|0;d=j;k[f>>2]=a;k[g>>2]=b;if(i[(k[f>>2]|0)+24>>0]|0){k[e>>2]=0;h=k[e>>2]|0;u=j;return h|0}a=k[f>>2]|0;if(!(k[(k[f>>2]|0)+20>>2]|0)){k[g>>2]=(k[a+16>>2]|0)-(k[(k[f>>2]|0)+12>>2]|0)-1;Nd(k[f>>2]|0,2);k[e>>2]=k[g>>2];h=k[e>>2]|0;u=j;return h|0}if(l[a+25>>0]&4|0)a=k[(k[f>>2]|0)+8>>2]|0;else a=0;k[c>>2]=a;a=d;k[a>>2]=k[(k[f>>2]|0)+12>>2];k[a+4>>2]=0;a=(k[g>>2]|0)+1|0;b=d;a=i0(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=d;k[b>>2]=a;k[b+4>>2]=M;b=d;b=i0(k[b>>2]|0,k[b+4>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;a=M;if((a|0)<0|((a|0)==0?b>>>0<=(k[(k[f>>2]|0)+20>>2]|0)>>>0:0)){a=d;a=i0(k[a>>2]|0,k[a+4>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;b=d;k[b>>2]=a;k[b+4>>2]=M}b=d;a=k[b+4>>2]|0;if((a|0)>0|((a|0)==0?(k[b>>2]|0)>>>0>(k[(k[f>>2]|0)+20>>2]|0)>>>0:0)){me(k[f>>2]|0);Nd(k[f>>2]|0,2);k[e>>2]=0;h=k[e>>2]|0;u=j;return h|0}k[(k[f>>2]|0)+16>>2]=k[d>>2];if(k[k[f>>2]>>2]|0){d=ne(k[k[f>>2]>>2]|0,k[c>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0)|0;k[h>>2]=d}else{d=oe(k[c>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0)|0;k[h>>2]=d}a=k[f>>2]|0;if(!(k[h>>2]|0)){me(a);Nd(k[f>>2]|0,1);k[e>>2]=0;h=k[e>>2]|0;u=j;return h|0}if((l[a+25>>0]&4|0)==0?(k[(k[f>>2]|0)+12>>2]|0)>>>0>0:0)r0(k[h>>2]|0,k[(k[f>>2]|0)+8>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[(k[f>>2]|0)+8>>2]=k[h>>2];h=ke(k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[(k[f>>2]|0)+16>>2]=h;h=(k[f>>2]|0)+25|0;i[h>>0]=l[h>>0]|4;k[e>>2]=k[g>>2];h=k[e>>2]|0;u=j;return h|0}function me(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!((l[(k[b>>2]|0)+25>>0]|0)&4)){b=k[b>>2]|0;b=b+8|0;k[b>>2]=0;u=c;return}fe(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+8>>2]|0);a=(k[b>>2]|0)+25|0;i[a>>0]=(l[a>>0]|0)&-5;b=k[b>>2]|0;b=b+8|0;k[b>>2]=0;u=c;return}function ne(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i;k[f>>2]=a;k[g>>2]=b;a=h;k[a>>2]=c;k[a+4>>2]=d;a=k[f>>2]|0;if(!(k[g>>2]|0)){h=Od(a,k[h>>2]|0,k[h+4>>2]|0)|0;k[e>>2]=h;h=k[e>>2]|0;u=i;return h|0}if(he(a,k[g>>2]|0)|0?(d=h,c=k[d+4>>2]|0,c>>>0<0|((c|0)==0?(k[d>>2]|0)>>>0<=(m[(k[f>>2]|0)+256+4>>1]|0)>>>0:0)):0){k[e>>2]=k[g>>2];h=k[e>>2]|0;u=i;return h|0}h=xk(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[e>>2]=h;h=k[e>>2]|0;u=i;return h|0}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(pe()|0){k[d>>2]=0;f=k[d>>2]|0;u=g;return f|0}else{f=qe(k[e>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[d>>2]=f;f=k[d>>2]|0;u=g;return f|0}return 0}function pe(){var a=0,b=0,c=0,d=0,e=0,f=0;e=u;u=u+16|0;a=e+8|0;b=e+4|0;c=e;if(k[59]|0){k[a>>2]=0;f=k[a>>2]|0;u=e;return f|0}f=re()|0;k[c>>2]=f;if(k[c>>2]|0){k[a>>2]=k[c>>2];f=k[a>>2]|0;u=e;return f|0}f=se(2)|0;k[b>>2]=f;Dd(k[b>>2]|0);k[61]=1;if(!(k[62]|0)){f=te()|0;k[c>>2]=f}if(((k[c>>2]|0)==0?(k[62]=1,(k[65]|0)==0):0)?(f=se(1)|0,k[65]=f,!((k[3]|0)==0|(k[65]|0)!=0)):0)k[c>>2]=7;if(!(k[c>>2]|0))k[64]=(k[64]|0)+1;Ed(k[b>>2]|0);if(k[c>>2]|0){k[a>>2]=k[c>>2];f=k[a>>2]|0;u=e;return f|0}Dd(k[65]|0);if((k[59]|0)==0&(k[60]|0)==0){k[60]=1;d=54696;f=d+92|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));ue();if(!(k[63]|0)){f=ve()|0;k[c>>2]=f}if(!(k[c>>2]|0)){k[63]=1;f=we()|0;k[c>>2]=f}if(!(k[c>>2]|0)){xe(k[53]|0,k[54]|0,k[55]|0);k[59]=1}k[60]=0}Ed(k[65]|0);Dd(k[b>>2]|0);k[64]=(k[64]|0)+-1;if((k[64]|0)<=0){ye(k[65]|0);k[65]=0}Ed(k[b>>2]|0);k[a>>2]=k[c>>2];f=k[a>>2]|0;u=e;return f|0}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+32|0;d=l+28|0;e=l+24|0;f=l;g=l+20|0;h=l+16|0;i=l+12|0;j=l+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;b=f;a=k[b>>2]|0;b=k[b+4>>2]|0;if(!(k[e>>2]|0)){j=Pd(a,b)|0;k[d>>2]=j;j=k[d>>2]|0;u=l;return j|0}if((a|0)==0&(b|0)==0){ie(k[e>>2]|0);k[d>>2]=0;j=k[d>>2]|0;u=l;return j|0}c=f;b=k[c+4>>2]|0;if(b>>>0>0|(b|0)==0&(k[c>>2]|0)>>>0>=2147483392){k[d>>2]=0;j=k[d>>2]|0;u=l;return j|0}c=Ud(k[e>>2]|0)|0;k[g>>2]=c;c=Rb[k[64>>2]&255](k[f>>2]|0)|0;k[h>>2]=c;do if((k[g>>2]|0)==(k[h>>2]|0))k[j>>2]=k[e>>2];else{if(!(k[2]|0)){i=Wb[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=i;break}Dd(k[13620]|0);Rd(5,k[f>>2]|0);k[i>>2]=(k[h>>2]|0)-(k[g>>2]|0);b=Sd(0)|0;m=M;a=54488;c=k[i>>2]|0;c=h0(k[a>>2]|0,k[a+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=M;if((m|0)>(a|0)|(m|0)==(a|0)&b>>>0>=c>>>0)Td(k[i>>2]|0);m=Wb[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=m;m=54488;i=k[m+4>>2]|0;if((k[j>>2]|0)==0&((i|0)>0|(i|0)==0&(k[m>>2]|0)>>>0>0)){Td(k[f>>2]|0);m=Wb[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=m}if(k[j>>2]|0){m=Ud(k[j>>2]|0)|0;k[h>>2]=m;Vd(0,(k[h>>2]|0)-(k[g>>2]|0)|0)}Ed(k[13620]|0)}while(0);k[d>>2]=k[j>>2];m=k[d>>2]|0;u=l;return m|0}function re(){var a=0,b=0,c=0,d=0,e=0;d=u;u=u+16|0;a=d+8|0;b=d+4|0;c=d;k[a>>2]=0;if(k[22]|0){c=k[20]|0;c=Nb[c&255]()|0;k[a>>2]=c;c=k[a>>2]|0;u=d;return c|0}k[c>>2]=80;if(k[3]|0){e=hk()|0;k[b>>2]=e}else{e=ik()|0;k[b>>2]=e}k[k[c>>2]>>2]=k[k[b>>2]>>2];k[(k[c>>2]|0)+4>>2]=k[(k[b>>2]|0)+4>>2];k[(k[c>>2]|0)+12>>2]=k[(k[b>>2]|0)+12>>2];k[(k[c>>2]|0)+16>>2]=k[(k[b>>2]|0)+16>>2];k[(k[c>>2]|0)+20>>2]=k[(k[b>>2]|0)+20>>2];k[(k[c>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];k[(k[c>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];k[(k[c>>2]|0)+32>>2]=k[(k[b>>2]|0)+32>>2];tf();k[(k[c>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2];e=k[20]|0;e=Nb[e&255]()|0;k[a>>2]=e;e=k[a>>2]|0;u=d;return e|0}function se(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if(k[3]|0){c=Rb[k[88>>2]&255](k[c>>2]|0)|0;k[b>>2]=c;c=k[b>>2]|0;u=d;return c|0}else{k[b>>2]=0;c=k[b>>2]|0;u=d;return c|0}return 0}function te(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0;f=u;u=u+32|0;a=f+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;if(!(k[12]|0))wg();k[13620]=0;k[13621]=0;k[13622]=0;k[13623]=0;k[13624]=0;k[13625]=0;k[13626]=0;k[13627]=0;g=se(3)|0;k[13620]=g;if((k[50]|0)!=0&(k[51]|0)>=100&(k[52]|0)>0){k[d>>2]=k[51]&-8;k[51]=k[d>>2];k[e>>2]=k[50];k[c>>2]=k[52];k[13625]=k[e>>2];k[13626]=k[c>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=((k[c>>2]|0)-1|0))break;k[k[e>>2]>>2]=(k[e>>2]|0)+(k[d>>2]|0);k[e>>2]=k[k[e>>2]>>2];k[b>>2]=(k[b>>2]|0)+1}k[k[e>>2]>>2]=0;k[13624]=(k[e>>2]|0)+4}else{k[13624]=0;k[50]=0;k[51]=0;k[52]=0}if((k[53]|0)==0|(k[54]|0)<512|(k[55]|0)<=0){k[53]=0;k[54]=0}g=Rb[k[68>>2]&255](k[19]|0)|0;k[a>>2]=g;if(!(k[a>>2]|0)){g=k[a>>2]|0;u=f;return g|0};k[13620]=0;k[13621]=0;k[13622]=0;k[13623]=0;k[13624]=0;k[13625]=0;k[13626]=0;k[13627]=0;g=k[a>>2]|0;u=f;return g|0}function ue(){hh();ih();jh(2016,57);return}function ve(){if(!(k[31]|0))ug();return Rb[k[124>>2]&255](k[30]|0)|0}function we(){var a=0,b=0,c=0,d=0;c=u;u=u+16|0;a=c+4|0;b=c;d=ze(10)|0;k[b>>2]=d;if(!(k[b>>2]|0)){k[a>>2]=7;d=k[a>>2]|0;u=c;return d|0}else{ie(k[b>>2]|0);d=Ae()|0;k[a>>2]=d;d=k[a>>2]|0;u=c;return d|0}return 0}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[13662]|0)){u=h;return}if(!(k[d>>2]|0)){k[f>>2]=0;k[e>>2]=0}k[e>>2]=k[e>>2]&-8;k[13665]=k[e>>2];c=k[f>>2]|0;k[13672]=c;k[13666]=c;if((k[f>>2]|0)>90)a=10;else a=((k[f>>2]|0)/10|0)+1|0;k[13667]=a;k[13668]=k[d>>2];k[13671]=0;k[13673]=0;while(1){c=k[f>>2]|0;k[f>>2]=c+-1;a=k[d>>2]|0;if(!c)break;k[g>>2]=a;k[k[g>>2]>>2]=k[13671];k[13671]=k[g>>2];k[d>>2]=(k[d>>2]|0)+(k[e>>2]|0)}k[13669]=a;u=h;return}function ye(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}Ob[k[92>>2]&255](k[b>>2]|0);u=c;return}function ze(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;c=d+4|0;b=d;k[b>>2]=a;if(pe()|0){k[c>>2]=0;c=k[c>>2]|0;u=d;return c|0}if((k[b>>2]|0)<=0)a=0;else{a=k[b>>2]|0;a=Pd(a,((a|0)<0)<<31>>31)|0}k[c>>2]=a;c=k[c>>2]|0;u=d;return c|0}function Ae(){var a=0,b=0;b=u;u=u+16|0;a=b;k[a>>2]=0;while(1){if((k[a>>2]|0)>>>0>=4)break;Be(976+((k[a>>2]|0)*88|0)|0,(k[a>>2]|0)==0&1)|0;k[a>>2]=(k[a>>2]|0)+1}u=b;return 0}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;c=h;k[e>>2]=a;k[f>>2]=b;b=pe()|0;k[c>>2]=b;if(k[c>>2]|0){k[d>>2]=k[c>>2];g=k[d>>2]|0;u=h;return g|0}a=se(2)|0;k[g>>2]=a;Dd(k[g>>2]|0);Ce(k[e>>2]|0);a=k[13697]|0;if((k[f>>2]|0)!=0|(k[13697]|0)==0){k[(k[e>>2]|0)+12>>2]=a;k[13697]=k[e>>2]}else{k[(k[e>>2]|0)+12>>2]=k[a+12>>2];k[(k[13697]|0)+12>>2]=k[e>>2]}Ed(k[g>>2]|0);k[d>>2]=0;g=k[d>>2]|0;u=h;return g|0}function Ce(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){u=e;return}if((k[13697]|0)==(k[c>>2]|0)){k[13697]=k[(k[c>>2]|0)+12>>2];u=e;return}if(!(k[13697]|0)){u=e;return}k[d>>2]=k[13697];while(1){if(k[(k[d>>2]|0)+12>>2]|0)b=(k[(k[d>>2]|0)+12>>2]|0)!=(k[c>>2]|0);else b=0;a=k[(k[d>>2]|0)+12>>2]|0;if(!b)break;k[d>>2]=a}if((a|0)!=(k[c>>2]|0)){u=e;return}k[(k[d>>2]|0)+12>>2]=k[(k[c>>2]|0)+12>>2];u=e;return}function De(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=u;u=u+624|0;B=H+92|0;C=H+88|0;D=H+84|0;E=H+80|0;F=H+76|0;f=H+72|0;g=H+68|0;h=H+64|0;i=H+60|0;j=H+56|0;l=H+52|0;m=H+48|0;n=H+44|0;o=H+40|0;p=H+36|0;q=H+32|0;r=H+28|0;s=H+24|0;t=H+20|0;v=H+96|0;w=H+16|0;x=H+12|0;y=H+8|0;z=H+4|0;A=H;k[C>>2]=a;k[D>>2]=b;k[E>>2]=c;k[F>>2]=d;k[f>>2]=e;k[g>>2]=k[E>>2];k[h>>2]=-1;k[i>>2]=0;k[j>>2]=k[F>>2]&-256;k[m>>2]=0;k[n>>2]=0;k[o>>2]=k[F>>2]&16;k[p>>2]=k[F>>2]&8;k[q>>2]=k[F>>2]&4;k[r>>2]=k[F>>2]&1;k[s>>2]=k[F>>2]&2;if(k[q>>2]|0)if((k[j>>2]|0)==16384|(k[j>>2]|0)==2048)a=1;else a=(k[j>>2]|0)==524288;else a=0;k[t>>2]=a&1;k[w>>2]=k[D>>2];e=k[13698]|0;if((e|0)!=(G$()|0)){e=G$()|0;k[13698]=e;Cf(0,0)}a=k[g>>2]|0;b=a+44|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=k[w>>2]|0;do if((k[j>>2]|0)!=256){if(!a){x=zf(k[(k[C>>2]|0)+8>>2]|0,v)|0;k[m>>2]=x;if(!(k[m>>2]|0)){k[w>>2]=v;break}k[B>>2]=k[m>>2];G=k[B>>2]|0;u=H;return G|0}}else{v=Uf(a,k[F>>2]|0)|0;k[x>>2]=v;if(!(k[x>>2]|0)){v=yf(12,0)|0;k[x>>2]=v;if(!(k[x>>2]|0)){k[B>>2]=7;G=k[B>>2]|0;u=H;return G|0}}else k[h>>2]=k[k[x>>2]>>2];k[(k[g>>2]|0)+28>>2]=k[x>>2]}while(0);if(k[r>>2]|0)k[i>>2]=k[i>>2];if(k[s>>2]|0)k[i>>2]=k[i>>2]|2;if(k[q>>2]|0)k[i>>2]=k[i>>2]|64;if(k[o>>2]|0)k[i>>2]=k[i>>2]|131200;k[i>>2]=k[i>>2];do if((k[h>>2]|0)<0){x=Vf(k[w>>2]|0,k[F>>2]|0,y,z,A)|0;k[m>>2]=x;if(k[m>>2]|0){k[B>>2]=k[m>>2];G=k[B>>2]|0;u=H;return G|0}x=qf(k[w>>2]|0,k[i>>2]|0,k[y>>2]|0)|0;k[h>>2]=x;if((k[h>>2]|0)<0?(x=C_()|0,(k[x>>2]|0)!=21&(k[s>>2]|0)!=0):0){k[F>>2]=k[F>>2]&-7;k[i>>2]=k[i>>2]&-67;k[F>>2]=k[F>>2]|1;k[i>>2]=k[i>>2];k[r>>2]=1;y=qf(k[w>>2]|0,k[i>>2]|0,k[y>>2]|0)|0;k[h>>2]=y}if((k[h>>2]|0)<0){F=rf(35186)|0;F=lf(F,21042,k[w>>2]|0,35186)|0;k[m>>2]=F;break}if(k[F>>2]&526336|0){Wf(k[h>>2]|0,k[z>>2]|0,k[A>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(k[f>>2]|0)k[k[f>>2]>>2]=k[F>>2];if(k[(k[g>>2]|0)+28>>2]|0){k[k[(k[g>>2]|0)+28>>2]>>2]=k[h>>2];k[(k[(k[g>>2]|0)+28>>2]|0)+4>>2]=k[F>>2]}if(k[p>>2]|0)Rb[k[1612>>2]&255](k[w>>2]|0)|0;if(k[p>>2]|0)k[n>>2]=k[n>>2]|32;if(k[r>>2]|0)k[n>>2]=k[n>>2]|2;k[l>>2]=(k[j>>2]|0)!=256&1;if(k[l>>2]|0)k[n>>2]=k[n>>2]|128;if(k[t>>2]|0)k[n>>2]=k[n>>2]|8;if(k[F>>2]&64|0)k[n>>2]=k[n>>2]|64;G=Xf(k[C>>2]|0,k[h>>2]|0,k[E>>2]|0,k[D>>2]|0,k[n>>2]|0)|0;k[m>>2]=G}if(k[m>>2]|0)ie(k[(k[g>>2]|0)+28>>2]|0);k[B>>2]=k[m>>2];G=k[B>>2]|0;u=H;return G|0}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+20|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[i+16>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;if((Rb[k[1612>>2]&255](k[e>>2]|0)|0)==-1){h=C_()|0;if((k[h>>2]|0)==2)k[g>>2]=5898;else{h=lf(2570,21146,k[e>>2]|0,35312)|0;k[g>>2]=h}k[d>>2]=k[g>>2];h=k[d>>2]|0;u=i;return h|0}do if(k[f>>2]&1|0){f=Wb[k[1624>>2]&255](k[e>>2]|0,h)|0;k[g>>2]=f;if(k[g>>2]|0){k[g>>2]=0;break}if(Kf(k[h>>2]|0,0,0)|0){f=lf(1290,21398,k[e>>2]|0,35322)|0;k[g>>2]=f}kf(0,k[h>>2]|0,35324)}while(0);k[d>>2]=k[g>>2];h=k[d>>2]|0;u=i;return h|0}function Fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=u;u=u+96|0;e=h+84|0;i=h+80|0;g=h+76|0;f=h;k[h+88>>2]=a;k[e>>2]=b;k[i>>2]=c;k[g>>2]=d;if(k[i>>2]|0){i=(Wb[k[1444>>2]&255](k[e>>2]|0,6)|0)==0&1;k[k[g>>2]>>2]=i;u=h;return 0}if(!(Wb[k[1468>>2]&255](k[e>>2]|0,f)|0))a=(k[f+36>>2]|0)>0;else a=0;k[k[g>>2]>>2]=a&1;u=h;return 0}function Ge(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+128|0;r=q+112|0;l=q+108|0;m=q+104|0;p=q+100|0;n=q+96|0;e=q+92|0;f=q+88|0;o=q+84|0;g=q+80|0;h=q+4|0;j=q;k[q+116>>2]=a;k[r>>2]=b;k[l>>2]=c;k[m>>2]=d;k[p>>2]=0;k[e>>2]=1;k[f>>2]=k[r>>2];k[o>>2]=0;while(1){k[g>>2]=0;if(Wb[k[1744>>2]&255](k[f>>2]|0,h)|0){r=C_()|0;if((k[r>>2]|0)!=2){r=rf(35436)|0;r=lf(r,21234,k[f>>2]|0,35436)|0;k[p>>2]=r}}else k[g>>2]=(k[h+12>>2]&61440|0)==40960&1;if(k[g>>2]|0){if(!(k[o>>2]|0)){r=ze(k[l>>2]|0)|0;k[o>>2]=r;if(!(k[o>>2]|0))k[p>>2]=7}else{r=(k[e>>2]|0)+1|0;k[e>>2]=r;if((r|0)>100){r=rf(35447)|0;k[p>>2]=r}}do if(!(k[p>>2]|0)){r=Lb[k[1732>>2]&255](k[f>>2]|0,k[o>>2]|0,(k[l>>2]|0)-1|0)|0;k[n>>2]=r;if((k[n>>2]|0)<0){r=rf(35453)|0;r=lf(r,21225,k[f>>2]|0,35453)|0;k[p>>2]=r;break}do if((i[k[o>>2]>>0]|0)!=47){r=wd(k[f>>2]|0)|0;k[j>>2]=r;while(1){if((k[j>>2]|0)<=0)break;if((i[(k[f>>2]|0)+((k[j>>2]|0)-1)>>0]|0)==47)break;k[j>>2]=(k[j>>2]|0)+-1}if(((k[n>>2]|0)+(k[j>>2]|0)+1|0)>(k[l>>2]|0)){r=rf(35459)|0;k[p>>2]=r;break}else{u0((k[o>>2]|0)+(k[j>>2]|0)|0,k[o>>2]|0,(k[n>>2]|0)+1|0)|0;r0(k[o>>2]|0,k[f>>2]|0,k[j>>2]|0)|0;k[n>>2]=(k[n>>2]|0)+(k[j>>2]|0);break}}while(0);i[(k[o>>2]|0)+(k[n>>2]|0)>>0]=0}while(0);k[f>>2]=k[o>>2]}if((k[p>>2]|0)==0?(k[f>>2]|0)!=(k[m>>2]|0):0){r=Tf(k[f>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;k[p>>2]=r}if(!(k[g>>2]|0)){a=30;break}k[f>>2]=k[m>>2];if(k[p>>2]|0){a=30;break}}if((a|0)==30){ie(k[o>>2]|0);u=q;return k[p>>2]|0}return 0}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[j+20>>2]=a;k[d>>2]=b;k[e>>2]=c;w0(k[e>>2]|0,0,k[d>>2]|0)|0;c=G$()|0;k[13698]=c;c=qf(21385,0,0)|0;k[f>>2]=c;if((k[f>>2]|0)<0){Cb(h|0)|0;g=k[e>>2]|0;i[g>>0]=i[h>>0]|0;i[g+1>>0]=i[h+1>>0]|0;i[g+2>>0]=i[h+2>>0]|0;i[g+3>>0]=i[h+3>>0]|0;h=(k[e>>2]|0)+4|0;i[h>>0]=i[54792]|0;i[h+1>>0]=i[54793]|0;i[h+2>>0]=i[54794]|0;i[h+3>>0]=i[54795]|0;k[d>>2]=8;h=k[d>>2]|0;u=j;return h|0}do{h=Lb[k[1516>>2]&255](k[f>>2]|0,k[e>>2]|0,k[d>>2]|0)|0;k[g>>2]=h;if((k[g>>2]|0)>=0)break;h=C_()|0}while((k[h>>2]|0)==4);kf(0,k[f>>2]|0,35583);h=k[d>>2]|0;u=j;return h|0}function Ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;e=d+4|0;c=d;k[d+8>>2]=a;k[e>>2]=b;k[c>>2]=((k[e>>2]|0)+999999|0)/1e6|0;Z$(k[c>>2]|0)|0;u=d;return (k[c>>2]|0)*1e6|0}function Je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+32|0;e=d+12|0;f=d;c=d+8|0;k[d+16>>2]=a;k[e>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;b=Le(0,f)|0;k[c>>2]=b;b=f;p[k[e>>2]>>3]=(+((k[b>>2]|0)>>>0)+4294967296.0*+(k[b+4>>2]|0))/864.0e5;u=d;return k[c>>2]|0}function Ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=u;u=u+16|0;k[d+8>>2]=a;k[d+4>>2]=b;k[d>>2]=c;c=C_()|0;u=d;return k[c>>2]|0}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+32|0;e=d+12|0;c=d+8|0;f=d;k[d+16>>2]=a;k[e>>2]=b;k[c>>2]=0;Db(f|0,0)|0;b=k[f>>2]|0;b=B0(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=i0(1045635584,49096,b|0,M|0)|0;a=(k[f+4>>2]|0)/1e3|0;a=i0(b|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;b=k[e>>2]|0;k[b>>2]=a;k[b+4>>2]=M;u=d;return k[c>>2]|0}function Me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[i+16>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=12;if(!(k[d>>2]|0)){k[g>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>>>0>=28)break;if(k[1416+((k[f>>2]|0)*12|0)+8>>2]|0)k[1416+((k[f>>2]|0)*12|0)+4>>2]=k[1416+((k[f>>2]|0)*12|0)+8>>2];k[f>>2]=(k[f>>2]|0)+1}h=k[g>>2]|0;u=i;return h|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>>>0>=28){h=16;break}c=(Q_(k[d>>2]|0,k[1416+((k[f>>2]|0)*12|0)>>2]|0)|0)==0;a=k[f>>2]|0;if(c)break;k[f>>2]=a+1}if((h|0)==16){h=k[g>>2]|0;u=i;return h|0}if(!(k[1416+(a*12|0)+8>>2]|0))k[1416+((k[f>>2]|0)*12|0)+8>>2]=k[1416+((k[f>>2]|0)*12|0)+4>>2];k[g>>2]=0;if(!(k[e>>2]|0))k[e>>2]=k[1416+((k[f>>2]|0)*12|0)+8>>2];k[1416+((k[f>>2]|0)*12|0)+4>>2]=k[e>>2];h=k[g>>2]|0;u=i;return h|0}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;e=f+12|0;c=f+4|0;d=f;k[f+8>>2]=a;k[c>>2]=b;k[d>>2]=0;while(1){if((k[d>>2]|0)>>>0>=28){a=6;break}a=(Q_(k[c>>2]|0,k[1416+((k[d>>2]|0)*12|0)>>2]|0)|0)==0;b=k[d>>2]|0;if(a){a=4;break}k[d>>2]=b+1}if((a|0)==4){k[e>>2]=k[1416+(b*12|0)+4>>2];e=k[e>>2]|0;u=f;return e|0}else if((a|0)==6){k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}return 0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;e=f+12|0;c=f+4|0;d=f;k[f+8>>2]=a;k[c>>2]=b;k[d>>2]=-1;a:do if(k[c>>2]|0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=27)break a;if(!(Q_(k[c>>2]|0,k[1416+((k[d>>2]|0)*12|0)>>2]|0)|0))break a;k[d>>2]=(k[d>>2]|0)+1}}while(0);k[d>>2]=(k[d>>2]|0)+1;while(1){if((k[d>>2]|0)>=28){a=11;break}b=k[d>>2]|0;if(k[1416+((k[d>>2]|0)*12|0)+4>>2]|0){a=9;break}k[d>>2]=b+1}if((a|0)==9){k[e>>2]=k[1416+(b*12|0)>>2];e=k[e>>2]|0;u=f;return e|0}else if((a|0)==11){k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}return 0}function Pe(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c+4>>2]=a;k[c>>2]=b;u=c;return 1340}function Qe(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[c>>2];Xe(k[c>>2]|0,0)|0;ie(k[(k[d>>2]|0)+24>>2]|0);a=Nf(k[c>>2]|0)|0;u=b;return a|0}function Re(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=u;u=u+32|0;h=l+28|0;n=l+24|0;i=l+20|0;j=l+16|0;m=l;f=l+12|0;g=l+8|0;k[n>>2]=a;k[i>>2]=b;k[j>>2]=c;c=m;k[c>>2]=d;k[c+4>>2]=e;k[f>>2]=k[n>>2];e=m;e=Mf(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[g>>2]=e;if((k[g>>2]|0)==(k[j>>2]|0)){k[h>>2]=0;n=k[h>>2]|0;u=l;return n|0}if((k[g>>2]|0)<0){k[h>>2]=266;n=k[h>>2]|0;u=l;return n|0}else{If(k[f>>2]|0,0);w0((k[i>>2]|0)+(k[g>>2]|0)|0,0,(k[j>>2]|0)-(k[g>>2]|0)|0)|0;k[h>>2]=522;n=k[h>>2]|0;u=l;return n|0}return 0}function Se(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=u;u=u+32|0;h=m+28|0;n=m+24|0;i=m+20|0;j=m+16|0;l=m;f=m+12|0;g=m+8|0;k[n>>2]=a;k[i>>2]=b;k[j>>2]=c;c=l;k[c>>2]=d;k[c+4>>2]=e;k[f>>2]=k[n>>2];k[g>>2]=0;while(1){n=l;n=Gf(k[f>>2]|0,k[n>>2]|0,k[n+4>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[g>>2]=n;if(!((n|0)<(k[j>>2]|0)?(k[g>>2]|0)>0:0))break;k[j>>2]=(k[j>>2]|0)-(k[g>>2]|0);e=k[g>>2]|0;n=l;e=i0(k[n>>2]|0,k[n+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;n=l;k[n>>2]=e;k[n+4>>2]=M;k[i>>2]=(k[i>>2]|0)+(k[g>>2]|0)}if((k[j>>2]|0)<=(k[g>>2]|0)){k[h>>2]=0;n=k[h>>2]|0;u=m;return n|0}if((k[g>>2]|0)<0?(k[(k[f>>2]|0)+20>>2]|0)!=28:0){k[h>>2]=778;n=k[h>>2]|0;u=m;return n|0}If(k[f>>2]|0,0);k[h>>2]=13;n=k[h>>2]|0;u=m;return n|0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;d=h+20|0;i=h+16|0;e=h;f=h+12|0;g=h+8|0;k[i>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=k[i>>2];if((k[(k[f>>2]|0)+40>>2]|0)>0){i=e;c=k[(k[f>>2]|0)+40>>2]|0;c=i0(k[i>>2]|0,k[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;c=h0(c|0,M|0,1,0)|0;i=k[(k[f>>2]|0)+40>>2]|0;i=x0(c|0,M|0,i|0,((i|0)<0)<<31>>31|0)|0;c=k[(k[f>>2]|0)+40>>2]|0;c=B0(i|0,M|0,c|0,((c|0)<0)<<31>>31|0)|0;i=e;k[i>>2]=c;k[i+4>>2]=M}i=e;i=Lf(k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0;k[g>>2]=i;if(k[g>>2]|0){g=k[f>>2]|0;i=C_()|0;If(g,k[i>>2]|0);i=lf(1546,21072,k[(k[f>>2]|0)+32>>2]|0,32998)|0;k[d>>2]=i;i=k[d>>2]|0;u=h;return i|0}else{k[d>>2]=0;i=k[d>>2]|0;u=h;return i|0}return 0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0;g=u;u=u+32|0;c=g+28|0;n=g+24|0;l=g+20|0;d=g+16|0;e=g+12|0;h=g+8|0;i=g+4|0;f=g;k[n>>2]=a;k[l>>2]=b;k[e>>2]=k[n>>2];k[h>>2]=k[l>>2]&16;k[i>>2]=(k[l>>2]&15|0)==3&1;a=Kf(k[(k[e>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;k[d>>2]=a;a=k[e>>2]|0;if(k[d>>2]|0){n=C_()|0;If(a,k[n>>2]|0);n=lf(1034,21374,k[(k[e>>2]|0)+32>>2]|0,32953)|0;k[c>>2]=n;n=k[c>>2]|0;u=g;return n|0}if((m[a+18>>1]|0)&8|0){n=Wb[k[1624>>2]&255](k[(k[e>>2]|0)+32>>2]|0,f)|0;k[d>>2]=n;if(!(k[d>>2]|0)){Kf(k[f>>2]|0,0,0)|0;kf(k[e>>2]|0,k[f>>2]|0,32967)}else k[d>>2]=0;n=(k[e>>2]|0)+18|0;j[n>>1]=(m[n>>1]|0)&-9}k[c>>2]=k[d>>2];n=k[c>>2]|0;u=g;return n|0}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+96|0;c=g+88|0;d=g+84|0;e=g+80|0;h=g+76|0;f=g;k[d>>2]=a;k[e>>2]=b;b=Wb[k[1480>>2]&255](k[(k[d>>2]|0)+12>>2]|0,f)|0;k[h>>2]=b;if(k[h>>2]|0){f=k[d>>2]|0;h=C_()|0;If(f,k[h>>2]|0);k[c>>2]=1802;h=k[c>>2]|0;u=g;return h|0}f=k[f+36>>2]|0;h=k[e>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=k[e>>2]|0;if((k[h>>2]|0)==1&(k[h+4>>2]|0)==0){h=k[e>>2]|0;k[h>>2]=0;k[h+4>>2]=0}k[c>>2]=0;h=k[c>>2]|0;u=g;return h|0}function We(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=u;u=u+32|0;c=j+24|0;m=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=k[m>>2];k[f>>2]=k[(k[e>>2]|0)+24>>2];k[g>>2]=0;if((l[(k[e>>2]|0)+16>>0]|0|0)>0){i[(k[e>>2]|0)+16>>0]=k[d>>2];Na(k[f>>2]|0,0)|0;k[c>>2]=0;m=k[c>>2]|0;u=j;return m|0}m=Wb[k[1636>>2]&255](k[f>>2]|0,511)|0;k[g>>2]=m;if((k[g>>2]|0)>=0){i[(k[e>>2]|0)+16>>0]=k[d>>2];k[c>>2]=k[g>>2];m=k[c>>2]|0;u=j;return m|0}m=C_()|0;k[h>>2]=k[m>>2];if(17!=(k[h>>2]|0)){m=Jf(k[h>>2]|0,3850)|0;k[g>>2]=m;if((k[g>>2]|0)!=5)If(k[e>>2]|0,k[h>>2]|0)}else k[g>>2]=5;k[c>>2]=k[g>>2];m=k[c>>2]|0;u=j;return m|0}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=u;u=u+32|0;c=j+24|0;m=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=k[m>>2];k[f>>2]=k[(k[e>>2]|0)+24>>2];if((l[(k[e>>2]|0)+16>>0]|0|0)==(k[d>>2]|0)){k[c>>2]=0;m=k[c>>2]|0;u=j;return m|0}if((k[d>>2]|0)==1){i[(k[e>>2]|0)+16>>0]=1;k[c>>2]=0;m=k[c>>2]|0;u=j;return m|0}m=Rb[k[1648>>2]&255](k[f>>2]|0)|0;k[g>>2]=m;if((k[g>>2]|0)>=0){i[(k[e>>2]|0)+16>>0]=0;k[c>>2]=0;m=k[c>>2]|0;u=j;return m|0}m=C_()|0;k[h>>2]=k[m>>2];if((k[h>>2]|0)==2)k[g>>2]=0;else{k[g>>2]=2058;If(k[e>>2]|0,k[h>>2]|0)}k[c>>2]=k[g>>2];m=k[c>>2]|0;u=j;return m|0}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=u;u=u+32|0;h=d+16|0;e=d+12|0;c=d+8|0;f=d+4|0;g=d;k[h>>2]=a;k[e>>2]=b;k[c>>2]=0;k[f>>2]=0;k[g>>2]=k[h>>2];b=(Wb[k[1444>>2]&255](k[(k[g>>2]|0)+24>>2]|0,0)|0)==0&1;k[f>>2]=b;k[k[e>>2]>>2]=k[f>>2];u=d;return k[c>>2]|0}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;j=u;u=u+32|0;i=j;d=j+28|0;n=j+24|0;m=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;k[n>>2]=a;k[m>>2]=b;k[e>>2]=c;k[f>>2]=k[n>>2];do switch(k[m>>2]|0){case 1:{k[k[e>>2]>>2]=l[(k[f>>2]|0)+16>>0];k[d>>2]=0;break}case 4:{k[k[e>>2]>>2]=k[(k[f>>2]|0)+20>>2];k[d>>2]=0;break}case 6:{k[(k[f>>2]|0)+40>>2]=k[k[e>>2]>>2];k[d>>2]=0;break}case 5:{n=k[e>>2]|0;n=vf(k[f>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[g>>2]=n;k[d>>2]=k[g>>2];break}case 10:{wf(k[f>>2]|0,4,k[e>>2]|0);k[d>>2]=0;break}case 13:{wf(k[f>>2]|0,16,k[e>>2]|0);k[d>>2]=0;break}case 12:{k[i>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+16>>2];n=xf(21240,i)|0;k[k[e>>2]>>2]=n;k[d>>2]=0;break}case 16:{n=k[(k[(k[f>>2]|0)+4>>2]|0)+8>>2]|0;n=yf(n,((n|0)<0)<<31>>31)|0;k[h>>2]=n;if(k[h>>2]|0){zf(k[(k[(k[f>>2]|0)+4>>2]|0)+8>>2]|0,k[h>>2]|0)|0;k[k[e>>2]>>2]=k[h>>2]}k[d>>2]=0;break}case 20:{n=Af(k[f>>2]|0)|0;k[k[e>>2]>>2]=n;k[d>>2]=0;break}default:k[d>>2]=12}while(0);u=j;return k[d>>2]|0}function _e(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;u=b;return 4096}function $e(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;d=c+4|0;b=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[b>>2]=0;if(!((m[(k[d>>2]|0)+18>>1]|0)&16)){e=k[b>>2]|0;u=c;return e|0}k[b>>2]=k[b>>2]|4096;e=k[b>>2]|0;u=c;return e|0}function af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+48|0;v=t+32|0;n=t+28|0;o=t+24|0;p=t+20|0;q=t+16|0;r=t+12|0;e=t+8|0;f=t+4|0;g=t;h=t+40|0;i=t+38|0;l=t+36|0;k[v>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=k[v>>2];k[r>>2]=k[(k[q>>2]|0)+36>>2];k[f>>2]=k[k[r>>2]>>2];k[g>>2]=0;j[h>>1]=(1<<(k[n>>2]|0)+(k[o>>2]|0))-(1<>2]);Dd(k[(k[f>>2]|0)+4>>2]|0);do if(k[p>>2]&1|0){j[i>>1]=0;k[e>>2]=k[(k[f>>2]|0)+32>>2];while(1){if(!(k[e>>2]|0))break;if((k[e>>2]|0)!=(k[r>>2]|0))j[i>>1]=m[i>>1]|0|(m[(k[e>>2]|0)+10>>1]|0);k[e>>2]=k[(k[e>>2]|0)+4>>2]}if(!((m[h>>1]|0)&(m[i>>1]|0))){v=uf(k[q>>2]|0,2,(k[n>>2]|0)+120|0,k[o>>2]|0)|0;k[g>>2]=v}else k[g>>2]=0;if(!(k[g>>2]|0)){v=(k[r>>2]|0)+12|0;j[v>>1]=(m[v>>1]|0)&~(m[h>>1]|0);v=(k[r>>2]|0)+10|0;j[v>>1]=(m[v>>1]|0)&~(m[h>>1]|0)}}else{if(!(k[p>>2]&4)){k[e>>2]=k[(k[f>>2]|0)+32>>2];while(1){if(!(k[e>>2]|0))break;if((m[(k[e>>2]|0)+12>>1]|0)&(m[h>>1]|0)|0){s=28;break}if((m[(k[e>>2]|0)+10>>1]|0)&(m[h>>1]|0)|0){s=28;break}k[e>>2]=k[(k[e>>2]|0)+4>>2]}if((s|0)==28)k[g>>2]=5;if(k[g>>2]|0)break;v=uf(k[q>>2]|0,1,(k[n>>2]|0)+120|0,k[o>>2]|0)|0;k[g>>2]=v;if(k[g>>2]|0)break;v=(k[r>>2]|0)+12|0;j[v>>1]=m[v>>1]|0|(m[h>>1]|0);break}j[l>>1]=0;k[e>>2]=k[(k[f>>2]|0)+32>>2];while(1){if(!(k[e>>2]|0))break;if((m[(k[e>>2]|0)+12>>1]|0)&(m[h>>1]|0)|0){s=16;break}j[l>>1]=m[l>>1]|0|(m[(k[e>>2]|0)+10>>1]|0);k[e>>2]=k[(k[e>>2]|0)+4>>2]}if((s|0)==16)k[g>>2]=5;do if(!(k[g>>2]|0))if(!((m[l>>1]|0)&(m[h>>1]|0))){v=uf(k[q>>2]|0,0,(k[n>>2]|0)+120|0,k[o>>2]|0)|0;k[g>>2]=v;break}else{k[g>>2]=0;break}while(0);if(!(k[g>>2]|0)){v=(k[r>>2]|0)+10|0;j[v>>1]=m[v>>1]|0|(m[h>>1]|0)}}while(0);Ed(k[(k[f>>2]|0)+4>>2]|0);u=t;return k[g>>2]|0}function bf(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;tf();ff();hf();u=b;return}function cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;c=i+24|0;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[j>>2]=a;k[d>>2]=b;k[h>>2]=k[j>>2];k[e>>2]=k[(k[h>>2]|0)+36>>2];if(!(k[e>>2]|0)){k[c>>2]=0;j=k[c>>2]|0;u=i;return j|0}k[f>>2]=k[k[e>>2]>>2];Dd(k[(k[f>>2]|0)+4>>2]|0);k[g>>2]=(k[f>>2]|0)+32;while(1){if((k[k[g>>2]>>2]|0)==(k[e>>2]|0))break;k[g>>2]=(k[k[g>>2]>>2]|0)+4}k[k[g>>2]>>2]=k[(k[e>>2]|0)+4>>2];ie(k[e>>2]|0);k[(k[h>>2]|0)+36>>2]=0;Ed(k[(k[f>>2]|0)+4>>2]|0);ff();j=(k[f>>2]|0)+28|0;k[j>>2]=(k[j>>2]|0)+-1;if(!(k[(k[f>>2]|0)+28>>2]|0)){if(k[d>>2]|0?(k[(k[f>>2]|0)+12>>2]|0)>=0:0)Rb[k[1612>>2]&255](k[(k[f>>2]|0)+8>>2]|0)|0;gf(k[h>>2]|0)}hf();k[c>>2]=0;j=k[c>>2]|0;u=i;return j|0}function df(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=u;u=u+32|0;g=f+8|0;k[f+16>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;k[k[g>>2]>>2]=0;u=f;return 0}function ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=u;u=u+16|0;k[e+12>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[e+8>>2]=d;u=e;return 0}function ff(){Dd(se(11)|0);return}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=k[(k[(k[b>>2]|0)+8>>2]|0)+20>>2];if(!(k[c>>2]|0)){u=f;return}if(k[(k[c>>2]|0)+28>>2]|0){u=f;return}a=jf()|0;k[d>>2]=a;ye(k[(k[c>>2]|0)+4>>2]|0);k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(m[(k[c>>2]|0)+20>>1]|0|0))break;if((k[a+12>>2]|0)>=0)Wb[k[1696>>2]&255](k[(k[(k[c>>2]|0)+24>>2]|0)+(k[e>>2]<<2)>>2]|0,k[(k[c>>2]|0)+16>>2]|0)|0;else ie(k[(k[(k[c>>2]|0)+24>>2]|0)+(k[e>>2]<<2)>>2]|0);k[e>>2]=(k[e>>2]|0)+(k[d>>2]|0)}ie(k[a+24>>2]|0);if((k[(k[c>>2]|0)+12>>2]|0)>=0){kf(k[b>>2]|0,k[(k[c>>2]|0)+12>>2]|0,33574);k[(k[c>>2]|0)+12>>2]=-1}k[(k[k[c>>2]>>2]|0)+20>>2]=0;ie(k[c>>2]|0);u=f;return}function hf(){Ed(se(11)|0);return}function jf(){var a=0,b=0,c=0,d=0,e=0;d=u;u=u+16|0;a=d+8|0;b=d+4|0;c=d;k[b>>2]=32768;e=Nb[k[1720>>2]&255]()|0;k[c>>2]=e;if((k[c>>2]|0)<(k[b>>2]|0)){k[a>>2]=1;e=k[a>>2]|0;u=d;return e|0}else{k[a>>2]=(k[c>>2]|0)/(k[b>>2]|0)|0;e=k[a>>2]|0;u=d;return e|0}return 0}function kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;if(!(Rb[k[1432>>2]&255](k[g>>2]|0)|0)){u=f;return}if(k[d>>2]|0)a=k[(k[d>>2]|0)+32>>2]|0;else a=0;lf(4106,21005,a,k[e>>2]|0)|0;u=f;return}function lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+48|0;l=m;e=m+40|0;f=m+36|0;g=m+32|0;h=m+28|0;i=m+24|0;j=m+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=C_()|0;k[j>>2]=k[d>>2];k[i>>2]=55752;if(!(k[g>>2]|0))k[g>>2]=55752;d=k[e>>2]|0;c=k[j>>2]|0;f=k[f>>2]|0;g=k[g>>2]|0;j=k[i>>2]|0;k[l>>2]=k[h>>2];k[l+4>>2]=c;k[l+8>>2]=f;k[l+12>>2]=g;k[l+16>>2]=j;Hd(d,21011,l);u=m;return k[e>>2]|0}function mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=u;u=u+16|0;e=d;h=d+12|0;g=d+8|0;f=d+4|0;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;b=k[h>>2]|0;c=k[g>>2]|0;k[e>>2]=k[f>>2];c=g$(b,c,e)|0;u=d;return c|0}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=u;u=u+544|0;j=h;d=h+20|0;l=h+16|0;e=h+12|0;c=h+8|0;f=h+4|0;g=h+24|0;k[l>>2]=a;k[e>>2]=b;k[f>>2]=-1;k[j>>2]=k[l>>2];pf(512,g,21240,j)|0;b=q$(g)|0;k[c>>2]=b;while(1){if((k[c>>2]|0)<=0)break;if((i[g+(k[c>>2]|0)>>0]|0)==47)break;k[c>>2]=(k[c>>2]|0)+-1}if((k[c>>2]|0)<=0)if((i[g>>0]|0)!=47){i[g>>0]=46;a=1}else a=1;else a=k[c>>2]|0;i[g+a>>0]=0;l=qf(g,0,0)|0;k[f>>2]=l;k[k[e>>2]>>2]=k[f>>2];if((k[f>>2]|0)>=0){k[d>>2]=0;l=k[d>>2]|0;u=h;return l|0}else{l=lf(rf(32912)|0,21153,g,32912)|0;k[d>>2]=l;l=k[d>>2]|0;u=h;return l|0}return 0}function of(){return gb(30)|0}function pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=u;u=u+32|0;j=f+28|0;i=f+24|0;h=f+20|0;e=f+16|0;g=f;k[j>>2]=a;k[i>>2]=b;k[h>>2]=c;k[g>>2]=d;d=sf(k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,g)|0;k[e>>2]=d;u=f;return k[e>>2]|0}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+112|0;j=l;d=l+100|0;e=l+96|0;f=l+92|0;g=l+88|0;h=l+84|0;i=l+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[f>>2]|0?k[f>>2]|0:420;while(1){c=Lb[k[1420>>2]&255](k[d>>2]|0,k[e>>2]|524288,k[h>>2]|0)|0;k[g>>2]=c;if((k[g>>2]|0)<0){c=C_()|0;if((k[c>>2]|0)==4)continue;else break}if((k[g>>2]|0)>=3)break;Rb[k[1432>>2]&255](k[g>>2]|0)|0;c=k[g>>2]|0;k[j>>2]=k[d>>2];k[j+4>>2]=c;Hd(28,21260,j);k[g>>2]=-1;if((Lb[k[1420>>2]&255](21303,k[e>>2]|0,k[f>>2]|0)|0)<0)break}if(!((k[g>>2]|0)>=0&(k[f>>2]|0)!=0)){j=k[g>>2]|0;u=l;return j|0}if(Wb[k[1480>>2]&255](k[g>>2]|0,i)|0){j=k[g>>2]|0;u=l;return j|0}if(k[i+36>>2]|0){j=k[g>>2]|0;u=l;return j|0}if((k[i+12>>2]&511|0)==(k[f>>2]|0)){j=k[g>>2]|0;u=l;return j|0}Wb[k[1588>>2]&255](k[g>>2]|0,k[f>>2]|0)|0;j=k[g>>2]|0;u=l;return j|0}function rf(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Fd(14,k[c>>2]|0,21243)|0;u=b;return a|0}function sf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+48|0;e=j+44|0;f=j+40|0;l=j+36|0;g=j+32|0;h=j+28|0;i=j;k[f>>2]=a;k[l>>2]=b;k[g>>2]=c;k[h>>2]=d;a=k[l>>2]|0;if((k[f>>2]|0)<=0){k[e>>2]=a;l=k[e>>2]|0;u=j;return l|0}else{Jd(i,0,a,k[f>>2]|0,0);Kd(i,k[g>>2]|0,k[h>>2]|0);l=Ld(i)|0;k[e>>2]=l;l=k[e>>2]|0;u=j;return l|0}return 0}function tf(){return}function uf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;n=u;u=u+48|0;m=n;o=n+40|0;f=n+36|0;g=n+32|0;h=n+28|0;i=n+24|0;l=n+8|0;e=n+4|0;k[o>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[e>>2]=0;k[i>>2]=k[(k[(k[o>>2]|0)+8>>2]|0)+20>>2];if((k[(k[i>>2]|0)+12>>2]|0)<0){o=k[e>>2]|0;u=n;return o|0};k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;j[l>>1]=k[f>>2];j[l+2>>1]=0;k[l+4>>2]=k[g>>2];k[l+8>>2]=k[h>>2];h=k[376]|0;o=k[(k[i>>2]|0)+12>>2]|0;k[m>>2]=l;o=Lb[h&255](o,13,m)|0;k[e>>2]=o;k[e>>2]=(k[e>>2]|0)!=-1?0:5;o=k[e>>2]|0;u=n;return o|0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+128|0;e=m+112|0;f=m+108|0;g=m+16|0;h=m+8|0;i=m+32|0;j=m+28|0;l=m+24|0;d=m;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;a:do if((k[(k[f>>2]|0)+40>>2]|0)>0){if(Wb[k[1480>>2]&255](k[(k[f>>2]|0)+12>>2]|0,i)|0){k[e>>2]=1802;l=k[e>>2]|0;u=m;return l|0}c=g;a=k[(k[f>>2]|0)+40>>2]|0;a=i0(k[c>>2]|0,k[c+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=h0(a|0,M|0,1,0)|0;c=k[(k[f>>2]|0)+40>>2]|0;c=x0(a|0,M|0,c|0,((c|0)<0)<<31>>31|0)|0;a=k[(k[f>>2]|0)+40>>2]|0;a=B0(c|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;c=h;k[c>>2]=a;k[c+4>>2]=M;c=h;a=k[c+4>>2]|0;g=k[i+36>>2]|0;b=((g|0)<0)<<31>>31;if((a|0)>(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0>g>>>0:0)){k[j>>2]=k[i+40>>2];k[l>>2]=0;g=$((k[i+36>>2]|0)/(k[j>>2]|0)|0,k[j>>2]|0)|0;g=g+(k[j>>2]|0)-1|0;i=d;k[i>>2]=g;k[i+4>>2]=((g|0)<0)<<31>>31;while(1){b=d;g=k[b>>2]|0;b=k[b+4>>2]|0;c=h;i=k[j>>2]|0;i=i0(k[c>>2]|0,k[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;i=h0(i|0,M|0,1,0)|0;c=M;if(!((b|0)<(c|0)|(b|0)==(c|0)&g>>>0>>0))break a;g=d;b=k[g+4>>2]|0;i=h;c=k[i+4>>2]|0;if((b|0)>(c|0)|((b|0)==(c|0)?(k[g>>2]|0)>>>0>=(k[i>>2]|0)>>>0:0)){g=h;g=h0(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;i=d;k[i>>2]=g;k[i+4>>2]=M}i=d;i=Gf(k[f>>2]|0,k[i>>2]|0,k[i+4>>2]|0,55752,1)|0;k[l>>2]=i;if((k[l>>2]|0)!=1)break;g=k[j>>2]|0;i=d;g=i0(k[i>>2]|0,k[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;i=d;k[i>>2]=g;k[i+4>>2]=M}k[e>>2]=778;l=k[e>>2]|0;u=m;return l|0}}while(0);k[e>>2]=0;l=k[e>>2]|0;u=m;return l|0}function wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;e=g+4|0;d=g+8|0;f=g;k[e>>2]=a;i[d>>0]=b;k[f>>2]=c;if((k[k[f>>2]>>2]|0)<0){k[k[f>>2]>>2]=((m[(k[e>>2]|0)+18>>1]|0)&(l[d>>0]|0)|0)!=0&1;u=g;return}a=l[d>>0]|0;if(!(k[k[f>>2]>>2]|0)){f=(k[e>>2]|0)+18|0;b=f;a=(m[f>>1]|0)&~a}else{f=(k[e>>2]|0)+18|0;b=f;a=m[f>>1]|0|a}j[b>>1]=a;u=g;return}function xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;c=g+28|0;d=g+24|0;e=g+8|0;f=g;k[d>>2]=a;if(pe()|0){k[c>>2]=0;b=k[c>>2]|0;u=g;return b|0}else{k[e>>2]=b;b=Ff(k[d>>2]|0,e)|0;k[f>>2]=b;k[c>>2]=k[f>>2];b=k[c>>2]|0;u=g;return b|0}return 0}function yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;d=e;f=d;k[f>>2]=a;k[f+4>>2]=b;if(pe()|0){k[c>>2]=0;f=k[c>>2]|0;u=e;return f|0}else{f=d;f=Pd(k[f>>2]|0,k[f+4>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;u=e;return f|0}return 0}function zf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;l=u;u=u+64|0;h=l+8|0;j=l+48|0;c=l+44|0;d=l+40|0;e=l+36|0;f=l+32|0;g=l;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;i[k[d>>2]>>0]=0;b=Bf()|0;k[e>>2]=b;if(!(k[e>>2]|0)){k[j>>2]=6410;j=k[j>>2]|0;u=l;return j|0}while(1){Cf(8,g);i[(k[d>>2]|0)+((k[c>>2]|0)-2)>>0]=0;a=k[c>>2]|0;b=k[d>>2]|0;n=g;o=k[n>>2]|0;n=k[n+4>>2]|0;k[h>>2]=k[e>>2];m=h+8|0;k[m>>2]=o;k[m+4>>2]=n;k[h+16>>2]=0;pf(a,b,21313,h)|0;if(i[(k[d>>2]|0)+((k[c>>2]|0)-2)>>0]|0){a=5;break}o=k[f>>2]|0;k[f>>2]=o+1;if((o|0)>10){a=5;break}if(Wb[k[1444>>2]&255](k[d>>2]|0,0)|0){a=7;break}}if((a|0)==5){k[j>>2]=1;o=k[j>>2]|0;u=l;return o|0}else if((a|0)==7){k[j>>2]=0;o=k[j>>2]|0;u=l;return o|0}return 0}function Af(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+80|0;b=d+76|0;c=d;k[b>>2]=a;if(!(k[(k[b>>2]|0)+8>>2]|0)){c=0;c=c&1;u=d;return c|0}if(Wb[k[1468>>2]&255](k[(k[b>>2]|0)+32>>2]|0,c)|0){c=1;c=c&1;u=d;return c|0}c=(k[c+72>>2]|0)!=(k[(k[(k[b>>2]|0)+8>>2]|0)+4>>2]|0);c=c&1;u=d;return c|0}function Bf(){var a=0,b=0,c=0,d=0,e=0,f=0;e=u;u=u+96|0;c=e+84|0;a=e+80|0;b=e+4|0;d=e;k[a>>2]=0;k[d>>2]=k[13628];if(!(k[438]|0)){f=nb(21330)|0;k[438]=f}if(!(k[439]|0)){f=nb(21344)|0;k[439]=f}while(1){if(((k[d>>2]|0?(Wb[k[1468>>2]&255](k[d>>2]|0,b)|0)==0:0)?(k[b+12>>2]&61440|0)==16384:0)?(Wb[k[1444>>2]&255](k[d>>2]|0,3)|0)==0:0){a=9;break}if((k[a>>2]|0)>>>0>=6){a=12;break}f=k[a>>2]|0;k[a>>2]=f+1;k[d>>2]=k[1752+(f<<2)>>2]}if((a|0)==9){k[c>>2]=k[d>>2];f=k[c>>2]|0;u=e;return f|0}else if((a|0)==12){k[c>>2]=0;f=k[c>>2]|0;u=e;return f|0}return 0}function Cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+288|0;c=m+16|0;d=m+12|0;e=m+280|0;f=m+8|0;g=m+4|0;h=m;j=m+24|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[d>>2];if(pe()|0){u=m;return}b=se(5)|0;k[g>>2]=b;Dd(k[g>>2]|0);if((k[c>>2]|0)<=0|(k[d>>2]|0)==0){i[55753]=0;Ed(k[g>>2]|0);u=m;return}if(!(i[55753]|0)){i[55755]=0;i[55754]=0;Ef(Df(0)|0,256,j)|0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=256)break;i[55756+(k[h>>2]|0)>>0]=k[h>>2];k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=0;while(1){if((k[h>>2]|0)>=256)break;i[55755]=(l[55755]|0)+((l[55756+(k[h>>2]|0)>>0]|0)+(i[j+(k[h>>2]|0)>>0]|0));i[e>>0]=i[55756+(l[55755]|0)>>0]|0;i[55756+(l[55755]|0)>>0]=i[55756+(k[h>>2]|0)>>0]|0;i[55756+(k[h>>2]|0)>>0]=i[e>>0]|0;k[h>>2]=(k[h>>2]|0)+1}i[55753]=1}do{i[55754]=(i[55754]|0)+1<<24>>24;i[e>>0]=i[55756+(l[55754]|0)>>0]|0;i[55755]=(l[55755]|0)+(l[e>>0]|0);i[55756+(l[55754]|0)>>0]=i[55756+(l[55755]|0)>>0]|0;i[55756+(l[55755]|0)>>0]=i[e>>0]|0;i[e>>0]=(l[e>>0]|0)+(l[55756+(l[55754]|0)>>0]|0);h=i[55756+(l[e>>0]|0)>>0]|0;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h;j=(k[c>>2]|0)+-1|0;k[c>>2]=j}while((j|0)!=0);Ed(k[g>>2]|0);u=m;return}function Df(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=u;u=u+32|0;b=f+16|0;c=f+12|0;d=f+8|0;e=f+4|0;g=f;k[c>>2]=a;k[d>>2]=0;a=pe()|0;k[g>>2]=a;if(k[g>>2]|0){k[b>>2]=0;g=k[b>>2]|0;u=f;return g|0}g=se(2)|0;k[e>>2]=g;Dd(k[e>>2]|0);k[d>>2]=k[13697];while(1){if((k[d>>2]|0)==0|(k[c>>2]|0)==0)break;if(!(Q_(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0)|0))break;k[d>>2]=k[(k[d>>2]|0)+12>>2]}Ed(k[e>>2]|0);k[b>>2]=k[d>>2];g=k[b>>2]|0;u=f;return g|0}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Lb[k[(k[g>>2]|0)+56>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;u=d;return c|0}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+128|0;c=h+40|0;d=h+36|0;e=h+32|0;f=h+28|0;g=h;k[d>>2]=a;k[e>>2]=b;if(pe()|0){k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}else{Jd(g,0,h+44|0,70,1e9);Kd(g,k[d>>2]|0,k[e>>2]|0);g=Ld(g)|0;k[f>>2]=g;k[c>>2]=k[f>>2];g=k[c>>2]|0;u=h;return g|0}return 0}function Gf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=u;u=u+32|0;g=f+16|0;j=f;i=f+12|0;h=f+8|0;k[g>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[h>>2]=e;e=j;e=Hf(k[(k[g>>2]|0)+12>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[i>>2]|0,k[h>>2]|0,(k[g>>2]|0)+20|0)|0;u=f;return e|0}function Hf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;j=p+32|0;l=p+8|0;m=p+28|0;n=p+24|0;g=p+20|0;h=p+16|0;i=p;k[j>>2]=a;a=l;k[a>>2]=b;k[a+4>>2]=c;k[m>>2]=d;k[n>>2]=e;k[g>>2]=f;k[h>>2]=0;k[n>>2]=k[n>>2]&131071;do{e=h$(k[j>>2]|0,k[l>>2]|0,0)|0;f=i;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;if((k[i+4>>2]|0)<0){o=3;break}f=Lb[k[1552>>2]&255](k[j>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[h>>2]=f;if((k[h>>2]|0)>=0)break;f=C_()|0}while((k[f>>2]|0)==4);if((o|0)==3)k[h>>2]=-1;if((k[h>>2]|0)>=0){o=k[h>>2]|0;u=p;return o|0}o=C_()|0;k[k[g>>2]>>2]=k[o>>2];o=k[h>>2]|0;u=p;return o|0}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+20>>2]=k[e>>2];u=c;return}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;switch(k[f>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{k[c>>2]=5;break}case 1:{k[c>>2]=3;break}default:k[c>>2]=k[d>>2]}u=e;return k[c>>2]|0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=u;u=u+16|0;f=e+12|0;d=e;k[f>>2]=a;k[e+8>>2]=b;k[e+4>>2]=c;c=W$(k[f>>2]|0)|0;k[d>>2]=c;u=e;return k[d>>2]|0}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+12|0;e=g;f=g+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;while(1){c=Wb[k[1492>>2]&255](k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=c;if((k[f>>2]|0)>=0){a=4;break}c=C_()|0;if((k[c>>2]|0)!=4){a=4;break}}if((a|0)==4){u=g;return k[f>>2]|0}return 0}function Mf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;i=p+36|0;j=p+32|0;l=p+8|0;m=p+28|0;n=p+24|0;f=p+20|0;g=p+16|0;h=p;k[j>>2]=a;a=l;k[a>>2]=b;k[a+4>>2]=c;k[m>>2]=d;k[n>>2]=e;k[g>>2]=0;do{d=h$(k[(k[j>>2]|0)+12>>2]|0,k[l>>2]|0,0)|0;e=h;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;if((k[h+4>>2]|0)<0){o=3;break}e=Lb[k[1516>>2]&255](k[(k[j>>2]|0)+12>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[f>>2]=e;if((k[f>>2]|0)==(k[n>>2]|0))break;if((k[f>>2]|0)>=0){if((k[f>>2]|0)>0){k[n>>2]=(k[n>>2]|0)-(k[f>>2]|0);d=k[f>>2]|0;e=l;d=i0(k[e>>2]|0,k[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=l;k[e>>2]=d;k[e+4>>2]=M;k[g>>2]=(k[g>>2]|0)+(k[f>>2]|0);k[m>>2]=(k[m>>2]|0)+(k[f>>2]|0)}}else{e=C_()|0;if((k[e>>2]|0)!=4){o=8;break}k[f>>2]=1}}while((k[f>>2]|0)>0);if((o|0)==3){n=k[j>>2]|0;o=C_()|0;If(n,k[o>>2]|0);k[i>>2]=-1;o=k[i>>2]|0;u=p;return o|0}else if((o|0)==8){k[g>>2]=0;n=k[j>>2]|0;o=C_()|0;If(n,k[o>>2]|0)}k[i>>2]=(k[f>>2]|0)+(k[g>>2]|0);o=k[i>>2]|0;u=p;return o|0}function Nf(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if((k[(k[b>>2]|0)+12>>2]|0)>=0){kf(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,31321);k[(k[b>>2]|0)+12>>2]=-1}ie(k[(k[b>>2]|0)+28>>2]|0);a=k[b>>2]|0;b=a+44|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));u=c;return 0}function Of(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c+4>>2]=a;k[c>>2]=b;u=c;return 1776}function Pf(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Nf(k[c>>2]|0)|0;u=b;return a|0}function Qf(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c+4>>2]=a;k[c>>2]=b;u=c;return 0}function Rf(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c+4>>2]=a;k[c>>2]=b;u=c;return 0}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;k[c+4>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=0;u=c;return 0}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+32|0;l=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=wd(k[e>>2]|0)|0;k[h>>2]=c;k[j>>2]=0;do if((i[k[e>>2]>>0]|0)!=47){if(Wb[k[1456>>2]&255](k[f>>2]|0,(k[g>>2]|0)-2|0)|0){b=wd(k[f>>2]|0)|0;k[j>>2]=b;b=k[f>>2]|0;c=k[j>>2]|0;k[j>>2]=c+1;i[b+c>>0]=47;break}l=rf(35379)|0;l=lf(l,21054,k[e>>2]|0,35379)|0;k[d>>2]=l;l=k[d>>2]|0;u=m;return l|0}while(0);if(((k[j>>2]|0)+(k[h>>2]|0)+1|0)>(k[g>>2]|0)){i[(k[f>>2]|0)+(k[j>>2]|0)>>0]=0;l=rf(35388)|0;k[d>>2]=l;l=k[d>>2]|0;u=m;return l|0}else{h=(k[g>>2]|0)-(k[j>>2]|0)|0;j=(k[f>>2]|0)+(k[j>>2]|0)|0;k[l>>2]=k[e>>2];pf(h,j,21240,l)|0;k[d>>2]=0;l=k[d>>2]|0;u=m;return l|0}return 0}function Uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+96|0;i=h+92|0;c=h+88|0;d=h+84|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[c>>2]=b;k[d>>2]=0;if(Wb[k[1468>>2]&255](k[i>>2]|0,e)|0){i=k[d>>2]|0;u=h;return i|0}ff();k[f>>2]=k[13699];while(1){if(k[f>>2]|0)if((k[k[f>>2]>>2]|0)!=(k[e>>2]|0))b=1;else b=(k[(k[f>>2]|0)+4>>2]|0)!=(k[e+72>>2]|0);else b=0;a=k[f>>2]|0;if(!b)break;k[f>>2]=k[a+32>>2]}if(a|0){k[g>>2]=(k[f>>2]|0)+28;while(1){if(!(k[k[g>>2]>>2]|0))break;if((k[(k[k[g>>2]>>2]|0)+4>>2]|0)==(k[c>>2]|0))break;k[g>>2]=(k[k[g>>2]>>2]|0)+8}k[d>>2]=k[k[g>>2]>>2];if(k[d>>2]|0)k[k[g>>2]>>2]=k[(k[d>>2]|0)+8>>2]}hf();i=k[d>>2]|0;u=h;return i|0}function Vf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+560|0;l=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;f=q+8|0;g=q+32|0;h=q+4|0;j=q;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[f>>2]=0;k[k[n>>2]>>2]=0;k[k[o>>2]>>2]=0;k[k[p>>2]>>2]=0;if(k[m>>2]&526336|0){m=(wd(k[l>>2]|0)|0)-1|0;k[h>>2]=m;while(1){if((i[(k[l>>2]|0)+(k[h>>2]|0)>>0]|0)==45)break;k[h>>2]=(k[h>>2]|0)+-1}r0(g|0,k[l>>2]|0,k[h>>2]|0)|0;i[g+(k[h>>2]|0)>>0]=0;p=sg(g,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[f>>2]=p;p=k[f>>2]|0;u=q;return p|0}if(k[m>>2]&8|0){k[k[n>>2]>>2]=384;p=k[f>>2]|0;u=q;return p|0}if(!(k[m>>2]&64)){p=k[f>>2]|0;u=q;return p|0}m=mg(k[l>>2]|0,21594)|0;k[j>>2]=m;if(!(k[j>>2]|0)){p=k[f>>2]|0;u=q;return p|0}p=sg(k[j>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[f>>2]=p;p=k[f>>2]|0;u=q;return p|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(Nb[k[1672>>2]&255]()|0){f=0;u=g;return f|0}f=Lb[k[1660>>2]&255](k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;u=g;return f|0}function Xf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=u;u=u+48|0;r=s;n=s+40|0;o=s+36|0;t=s+32|0;p=s+28|0;q=s+24|0;f=s+20|0;g=s+16|0;h=s+12|0;i=s+8|0;l=s+4|0;k[n>>2]=a;k[o>>2]=b;k[t>>2]=c;k[p>>2]=d;k[q>>2]=e;k[g>>2]=k[t>>2];k[h>>2]=0;k[(k[g>>2]|0)+12>>2]=k[o>>2];k[(k[g>>2]|0)+4>>2]=k[n>>2];k[(k[g>>2]|0)+32>>2]=k[p>>2];j[(k[g>>2]|0)+18>>1]=k[q>>2]&255;if(Yf(k[q>>2]&64|0?k[p>>2]|0:0,21404,1)|0){t=(k[g>>2]|0)+18|0;j[t>>1]=m[t>>1]|0|16}if(!(Q_(k[(k[n>>2]|0)+16>>2]|0,20995)|0)){t=(k[g>>2]|0)+18|0;j[t>>1]=m[t>>1]|0|1}if(k[q>>2]&128|0)k[f>>2]=1776;else{t=Wb[k[k[(k[n>>2]|0)+20>>2]>>2]&255](k[p>>2]|0,k[g>>2]|0)|0;k[f>>2]=t}if((k[f>>2]|0)!=1852){if((k[f>>2]|0)==1340){t=(q$(k[p>>2]|0)|0)+6|0;k[l>>2]=t;t=k[l>>2]|0;t=yf(t,((t|0)<0)<<31>>31)|0;k[i>>2]=t;if(!(k[i>>2]|0))k[h>>2]=7;else{q=k[l>>2]|0;t=k[i>>2]|0;k[r>>2]=k[p>>2];pf(q,t,21409,r)|0}k[(k[g>>2]|0)+24>>2]=k[i>>2]}}else{ff();t=Zf(k[g>>2]|0,(k[g>>2]|0)+8|0)|0;k[h>>2]=t;if(k[h>>2]|0){kf(k[g>>2]|0,k[o>>2]|0,34692);k[o>>2]=-1}hf()}If(k[g>>2]|0,0);if(!(k[h>>2]|0)){k[k[g>>2]>>2]=k[f>>2];_f(k[g>>2]|0);t=k[h>>2]|0;u=s;return t|0}if((k[o>>2]|0)<0){t=k[h>>2]|0;u=s;return t|0}kf(k[g>>2]|0,k[o>>2]|0,34777);t=k[h>>2]|0;u=s;return t|0}function Yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=u;u=u+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=c;c=mg(k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=c;k[d>>2]=(k[d>>2]|0)!=0&1;if(k[e>>2]|0){h=(ng(k[e>>2]|0,k[d>>2]&255)|0)&255;u=f;return h|0}else{h=k[d>>2]|0;u=f;return h|0}return 0}function Zf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+112|0;e=i+104|0;c=i+100|0;f=i+96|0;j=i+92|0;l=i+88|0;g=i+80|0;d=i+4|0;h=i;k[c>>2]=a;k[f>>2]=b;k[h>>2]=0;k[l>>2]=k[(k[c>>2]|0)+12>>2];b=Wb[k[1480>>2]&255](k[l>>2]|0,d)|0;k[j>>2]=b;if(k[j>>2]|0){j=k[c>>2]|0;l=C_()|0;If(j,k[l>>2]|0);if((k[(k[c>>2]|0)+20>>2]|0)==75){k[e>>2]=22;l=k[e>>2]|0;u=i;return l|0}else{k[e>>2]=10;l=k[e>>2]|0;u=i;return l|0}};k[g>>2]=0;k[g+4>>2]=0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+72>>2];k[h>>2]=k[13699];while(1){if(k[h>>2]|0)b=(R_(g,k[h>>2]|0,8)|0)!=0;else b=0;a=k[h>>2]|0;if(!b)break;k[h>>2]=k[a+32>>2]}if(!a){l=yf(40,0)|0;k[h>>2]=l;if(!(k[h>>2]|0)){k[e>>2]=7;l=k[e>>2]|0;u=i;return l|0}a=k[h>>2]|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=k[h>>2]|0;k[l>>2]=k[g>>2];k[l+4>>2]=k[g+4>>2];k[(k[h>>2]|0)+16>>2]=1;k[(k[h>>2]|0)+32>>2]=k[13699];k[(k[h>>2]|0)+36>>2]=0;if(k[13699]|0)k[(k[13699]|0)+36>>2]=k[h>>2];k[13699]=k[h>>2]}else{l=(k[h>>2]|0)+16|0;k[l>>2]=(k[l>>2]|0)+1}k[k[f>>2]>>2]=k[h>>2];k[e>>2]=0;l=k[e>>2]|0;u=i;return l|0}function _f(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+112|0;h=i+24|0;g=i+16|0;d=i+8|0;c=i;e=i+108|0;f=i+32|0;b=i+28|0;k[e>>2]=a;if((m[(k[e>>2]|0)+18>>1]|0)&128|0){u=i;return}a=Wb[k[1480>>2]&255](k[(k[e>>2]|0)+12>>2]|0,f)|0;k[b>>2]=a;if(k[b>>2]|0){k[c>>2]=k[(k[e>>2]|0)+32>>2];Hd(28,21417,c);u=i;return}if(!(k[f+16>>2]|0)){k[d>>2]=k[(k[e>>2]|0)+32>>2];Hd(28,21441,d);u=i;return}a=k[e>>2]|0;if((k[f+16>>2]|0)>>>0>1){k[g>>2]=k[a+32>>2];Hd(28,21470,g);u=i;return}if(!(Af(a)|0)){u=i;return}k[h>>2]=k[(k[e>>2]|0)+32>>2];Hd(28,21497,h);u=i;return}function $f(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;k[d>>2]=k[b>>2];_f(k[d>>2]|0);bg(k[b>>2]|0,0)|0;ff();if(k[(k[d>>2]|0)+8>>2]|0?k[(k[(k[d>>2]|0)+8>>2]|0)+24>>2]|0:0)kg(k[d>>2]|0);lg(k[d>>2]|0);d=Nf(k[b>>2]|0)|0;k[c>>2]=d;hf();u=e;return k[c>>2]|0}function ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;o=u;u=u+48|0;f=o+44|0;p=o+40|0;g=o+36|0;h=o+32|0;m=o+28|0;n=o+24|0;c=o+8|0;d=o;k[p>>2]=a;k[g>>2]=b;k[h>>2]=0;k[m>>2]=k[p>>2];k[d>>2]=0;if((l[(k[m>>2]|0)+16>>0]|0|0)>=(k[g>>2]|0)){k[f>>2]=0;p=k[f>>2]|0;u=o;return p|0}ff();k[n>>2]=k[(k[m>>2]|0)+8>>2];if((l[(k[m>>2]|0)+16>>0]|0|0)!=(l[(k[n>>2]|0)+12>>0]|0|0)?((k[g>>2]|0)>1?1:(l[(k[n>>2]|0)+12>>0]|0|0)>=3):0)k[h>>2]=5;else e=6;a:do if((e|0)==6){do if((k[g>>2]|0)==1){if((l[(k[n>>2]|0)+12>>0]|0|0)!=1?(l[(k[n>>2]|0)+12>>0]|0|0)!=2:0)break;i[(k[m>>2]|0)+16>>0]=1;p=(k[n>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+1;p=(k[n>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+1;break a}while(0);k[c+8>>2]=1;j[c+2>>1]=0;if((k[g>>2]|0)!=1){if((k[g>>2]|0)==4?(l[(k[m>>2]|0)+16>>0]|0|0)<3:0)e=13}else e=13;if((e|0)==13?(j[c>>1]=(k[g>>2]|0)==1?0:1,k[c+4>>2]=k[482],ig(k[m>>2]|0,c)|0):0){p=C_()|0;k[d>>2]=k[p>>2];p=Jf(k[d>>2]|0,3850)|0;k[h>>2]=p;if((k[h>>2]|0)==5)break;If(k[m>>2]|0,k[d>>2]|0);break}do if((k[g>>2]|0)!=1){if((k[g>>2]|0)==4?(k[(k[n>>2]|0)+8>>2]|0)>1:0){k[h>>2]=5;break}j[c>>1]=1;p=(k[g>>2]|0)==2;k[c+4>>2]=(k[482]|0)+(p?1:2);k[c+8>>2]=p?1:510;if(ig(k[m>>2]|0,c)|0?(p=C_()|0,k[d>>2]=k[p>>2],p=Jf(k[d>>2]|0,3850)|0,k[h>>2]=p,(k[h>>2]|0)!=5):0)If(k[m>>2]|0,k[d>>2]|0)}else{k[c+4>>2]=(k[482]|0)+2;k[c+8>>2]=510;if(ig(k[m>>2]|0,c)|0){p=C_()|0;k[d>>2]=k[p>>2];p=Jf(k[d>>2]|0,3850)|0;k[h>>2]=p}k[c+4>>2]=k[482];k[c+8>>2]=1;j[c>>1]=2;p=(ig(k[m>>2]|0,c)|0)!=0;if(p&(k[h>>2]|0)==0){p=C_()|0;k[d>>2]=k[p>>2];k[h>>2]=2058}if(!(k[h>>2]|0)){i[(k[m>>2]|0)+16>>0]=1;p=(k[n>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+1;k[(k[n>>2]|0)+8>>2]=1;break}if((k[h>>2]|0)==5)break a;If(k[m>>2]|0,k[d>>2]|0);break a}while(0);a=k[g>>2]|0;if(!(k[h>>2]|0)){i[(k[m>>2]|0)+16>>0]=a;i[(k[n>>2]|0)+12>>0]=k[g>>2];break}if((a|0)==4){i[(k[m>>2]|0)+16>>0]=3;i[(k[n>>2]|0)+12>>0]=3}}while(0);hf();k[f>>2]=k[h>>2];p=k[f>>2]|0;u=o;return p|0}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=hg(k[e>>2]|0,k[d>>2]|0,0)|0;u=c;return b|0}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0;m=u;u=u+48|0;h=m;n=m+40|0;c=m+36|0;d=m+32|0;e=m+28|0;f=m+24|0;g=m+8|0;k[n>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=0;k[f>>2]=k[n>>2];ff();if((l[(k[(k[f>>2]|0)+8>>2]|0)+12>>0]|0)>1)k[e>>2]=1;do if((k[e>>2]|0)==0?(i[(k[(k[f>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){j[g+2>>1]=0;k[g+4>>2]=(k[482]|0)+1;k[g+8>>2]=1;j[g>>1]=1;b=k[376]|0;n=k[(k[f>>2]|0)+12>>2]|0;k[h>>2]=g;if(Lb[b&255](n,12,h)|0){k[d>>2]=3594;h=k[f>>2]|0;n=C_()|0;If(h,k[n>>2]|0);break}if((j[g>>1]|0)!=2)k[e>>2]=1}while(0);hf();k[k[c>>2]>>2]=k[e>>2];u=m;return k[d>>2]|0}function dg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=u;u=u+160|0;C=E+152|0;F=E+148|0;D=E+144|0;x=E+140|0;y=E+136|0;z=E+132|0;f=E+128|0;g=E+124|0;A=E+120|0;B=E+116|0;h=E+112|0;i=E+108|0;n=E+104|0;o=E+100|0;p=E+24|0;q=E+20|0;r=E+16|0;s=E+12|0;t=E+8|0;v=E+4|0;w=E;k[F>>2]=a;k[D>>2]=b;k[x>>2]=c;k[y>>2]=d;k[z>>2]=e;k[f>>2]=k[F>>2];k[B>>2]=0;e=jf()|0;k[h>>2]=e;if((k[(k[f>>2]|0)+36>>2]|0)==0?(F=eg(k[f>>2]|0)|0,k[B>>2]=F,k[B>>2]|0):0){k[C>>2]=k[B>>2];F=k[C>>2]|0;u=E;return F|0}k[g>>2]=k[(k[f>>2]|0)+36>>2];k[A>>2]=k[k[g>>2]>>2];Dd(k[(k[A>>2]|0)+4>>2]|0);F=$(((k[D>>2]|0)+(k[h>>2]|0)|0)/(k[h>>2]|0)|0,k[h>>2]|0)|0;k[i>>2]=F;a:do if((m[(k[A>>2]|0)+20>>1]|0|0)<(k[i>>2]|0)){F=$(k[i>>2]|0,k[x>>2]|0)|0;k[o>>2]=F;k[(k[A>>2]|0)+16>>2]=k[x>>2];b:do if((k[(k[A>>2]|0)+12>>2]|0)>=0){if(Wb[k[1480>>2]&255](k[(k[A>>2]|0)+12>>2]|0,p)|0){k[B>>2]=4874;break a}if((k[p+36>>2]|0)<(k[o>>2]|0)){if(!(k[y>>2]|0))break a;k[q>>2]=(k[p+36>>2]|0)/4096|0;while(1){if((k[q>>2]|0)>=((k[o>>2]|0)/4096|0|0))break b;k[r>>2]=0;F=(k[q>>2]<<12)+4096-1|0;if((Hf(k[(k[A>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,55752,1,r)|0)!=1)break;k[q>>2]=(k[q>>2]|0)+1}k[s>>2]=k[(k[A>>2]|0)+8>>2];F=lf(4874,21107,k[s>>2]|0,33839)|0;k[B>>2]=F;break a}}while(0);F=fg(k[(k[A>>2]|0)+24>>2]|0,k[i>>2]<<2)|0;k[n>>2]=F;if(!(k[n>>2]|0)){k[B>>2]=3082;break}k[(k[A>>2]|0)+24>>2]=k[n>>2];while(1){if((m[(k[A>>2]|0)+20>>1]|0|0)>=(k[i>>2]|0))break a;F=$(k[x>>2]|0,k[h>>2]|0)|0;k[t>>2]=F;if((k[(k[A>>2]|0)+12>>2]|0)>=0){s=k[421]|0;d=k[t>>2]|0;e=l[(k[A>>2]|0)+22>>0]|0|0?1:3;y=k[(k[A>>2]|0)+12>>2]|0;F=k[x>>2]|0;F=B0(F|0,((F|0)<0)<<31>>31|0,m[(k[A>>2]|0)+20>>1]|0|0,0)|0;F=Qb[s&255](0,d,e,1,y,F)|0;k[w>>2]=F;if((k[w>>2]|0)==(-1|0)){a=21;break}}else{F=k[x>>2]|0;F=yf(F,((F|0)<0)<<31>>31)|0;k[w>>2]=F;if(!(k[w>>2]|0)){a=23;break}w0(k[w>>2]|0,0,k[x>>2]|0)|0}k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[h>>2]|0))break;F=(k[w>>2]|0)+($(k[x>>2]|0,k[v>>2]|0)|0)|0;k[(k[(k[A>>2]|0)+24>>2]|0)+((m[(k[A>>2]|0)+20>>1]|0)+(k[v>>2]|0)<<2)>>2]=F;k[v>>2]=(k[v>>2]|0)+1}F=(k[A>>2]|0)+20|0;j[F>>1]=(m[F>>1]|0)+(k[h>>2]|0)}if((a|0)==21){F=lf(5386,21194,k[(k[A>>2]|0)+8>>2]|0,33866)|0;k[B>>2]=F;break}else if((a|0)==23){k[B>>2]=7;break}}while(0);if((m[(k[A>>2]|0)+20>>1]|0|0)>(k[D>>2]|0))k[k[z>>2]>>2]=k[(k[(k[A>>2]|0)+24>>2]|0)+(k[D>>2]<<2)>>2];else k[k[z>>2]>>2]=0;if((k[B>>2]|0)==0?(l[(k[A>>2]|0)+22>>0]|0|0)!=0:0)k[B>>2]=8;Ed(k[(k[A>>2]|0)+4>>2]|0);k[C>>2]=k[B>>2];F=k[C>>2]|0;u=E;return F|0}function eg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+128|0;p=q;b=q+116|0;e=q+112|0;f=q+108|0;g=q+104|0;h=q+100|0;j=q+96|0;m=q+92|0;n=q+88|0;o=q+12|0;c=q+8|0;d=q+4|0;k[e>>2]=a;k[f>>2]=0;a=yf(16,0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){k[b>>2]=7;p=k[b>>2]|0;u=q;return p|0}a=k[f>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;ff();k[j>>2]=k[(k[e>>2]|0)+8>>2];k[g>>2]=k[(k[j>>2]|0)+20>>2];a:do if(!(k[g>>2]|0)){k[c>>2]=k[(k[e>>2]|0)+32>>2];do if(!(Wb[k[1480>>2]&255](k[(k[e>>2]|0)+12>>2]|0,o)|0)){a=6+(q$(k[c>>2]|0)|0)|0;k[n>>2]=a;a=yf(36+(k[n>>2]|0)|0,0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){k[h>>2]=7;break}w0(k[g>>2]|0,0,36+(k[n>>2]|0)|0)|0;a=(k[g>>2]|0)+36|0;k[(k[g>>2]|0)+8>>2]=a;k[m>>2]=a;a=k[n>>2]|0;n=k[m>>2]|0;k[p>>2]=k[c>>2];pf(a,n,21525,p)|0;k[(k[g>>2]|0)+12>>2]=-1;k[(k[(k[e>>2]|0)+8>>2]|0)+20>>2]=k[g>>2];k[k[g>>2]>>2]=k[(k[e>>2]|0)+8>>2];if(k[3]|0?(p=gg(0)|0,k[(k[g>>2]|0)+4>>2]=p,(k[(k[g>>2]|0)+4>>2]|0)==0):0){k[h>>2]=7;break}if(l[(k[j>>2]|0)+13>>0]|0|0)break a;k[d>>2]=66;if(Yf(k[(k[e>>2]|0)+32>>2]|0,21532,0)|0){k[d>>2]=0;i[(k[g>>2]|0)+22>>0]=1}p=qf(k[m>>2]|0,k[d>>2]|0,k[o+12>>2]&511)|0;k[(k[g>>2]|0)+12>>2]=p;if((k[(k[g>>2]|0)+12>>2]|0)<0){p=rf(33691)|0;p=lf(p,21042,k[m>>2]|0,33691)|0;k[h>>2]=p;break}Wf(k[(k[g>>2]|0)+12>>2]|0,k[o+20>>2]|0,k[o+24>>2]|0)|0;k[h>>2]=0;if((uf(k[e>>2]|0,1,128,1)|0)==0?Lf(k[(k[g>>2]|0)+12>>2]|0,0,0)|0:0){p=lf(4618,21072,k[m>>2]|0,33707)|0;k[h>>2]=p}if(!(k[h>>2]|0)){p=uf(k[e>>2]|0,0,128,1)|0;k[h>>2]=p}if(!(k[h>>2]|0))break a}else k[h>>2]=1802;while(0);gf(k[e>>2]|0);ie(k[f>>2]|0);hf();k[b>>2]=k[h>>2];p=k[b>>2]|0;u=q;return p|0}while(0);k[k[f>>2]>>2]=k[g>>2];p=(k[g>>2]|0)+28|0;k[p>>2]=(k[p>>2]|0)+1;k[(k[e>>2]|0)+36>>2]=k[f>>2];hf();Dd(k[(k[g>>2]|0)+4>>2]|0);k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+32>>2];k[(k[g>>2]|0)+32>>2]=k[f>>2];Ed(k[(k[g>>2]|0)+4>>2]|0);k[b>>2]=0;p=k[b>>2]|0;u=q;return p|0}function fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(pe()|0){k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}if((k[e>>2]|0)<0)k[e>>2]=0;e=k[e>>2]|0;e=qe(k[d>>2]|0,e,((e|0)<0)<<31>>31)|0;k[c>>2]=e;e=k[c>>2]|0;u=f;return e|0}function gg(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+4|0;c=e;k[c>>2]=a;if((k[c>>2]|0)<=1?pe()|0:0)k[b>>2]=0;else d=4;do if((d|0)==4){if((k[c>>2]|0)>1?re()|0:0){k[b>>2]=0;break}d=Rb[k[88>>2]&255](k[c>>2]|0)|0;k[b>>2]=d}while(0);u=e;return k[b>>2]|0}function hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;o=u;u=u+48|0;g=o+44|0;p=o+40|0;h=o+36|0;m=o+28|0;n=o+24|0;d=o+8|0;f=o;k[p>>2]=a;k[h>>2]=b;k[o+32>>2]=c;k[m>>2]=k[p>>2];k[f>>2]=0;if((l[(k[m>>2]|0)+16>>0]|0|0)<=(k[h>>2]|0)){k[g>>2]=0;p=k[g>>2]|0;u=o;return p|0}ff();k[n>>2]=k[(k[m>>2]|0)+8>>2];do if((l[(k[m>>2]|0)+16>>0]|0|0)>1){if((k[h>>2]|0)==1?(j[d>>1]=0,j[d+2>>1]=0,k[d+4>>2]=(k[482]|0)+2,k[d+8>>2]=510,ig(k[m>>2]|0,d)|0):0){k[f>>2]=2314;c=k[m>>2]|0;p=C_()|0;If(c,k[p>>2]|0);break}j[d>>1]=2;j[d+2>>1]=0;k[d+4>>2]=k[482];k[d+8>>2]=2;if(!(ig(k[m>>2]|0,d)|0)){i[(k[n>>2]|0)+12>>0]=1;e=10;break}else{k[f>>2]=2058;c=k[m>>2]|0;p=C_()|0;If(c,k[p>>2]|0);break}}else e=10;while(0);if((e|0)==10?(k[h>>2]|0)==0:0){p=(k[n>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+-1;if(!(k[(k[n>>2]|0)+8>>2]|0)){j[d>>1]=2;j[d+2>>1]=0;k[d+8>>2]=0;k[d+4>>2]=0;if(!(ig(k[m>>2]|0,d)|0))a=(k[n>>2]|0)+12|0;else{k[f>>2]=2058;p=k[m>>2]|0;a=C_()|0;If(p,k[a>>2]|0);i[(k[n>>2]|0)+12>>0]=0;a=(k[m>>2]|0)+16|0}i[a>>0]=0}p=(k[n>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+-1;if(!(k[(k[n>>2]|0)+24>>2]|0))jg(k[m>>2]|0)}hf();if(!(k[f>>2]|0))i[(k[m>>2]|0)+16>>0]=k[h>>2];k[g>>2]=k[f>>2];p=k[g>>2]|0;u=o;return p|0}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p+8|0;n=p;c=p+48|0;d=p+44|0;e=p+40|0;f=p+36|0;g=p+32|0;h=p+16|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[(k[d>>2]|0)+8>>2];do if(((m[(k[d>>2]|0)+18>>1]|0)&3|0)==1){if(l[(k[g>>2]|0)+13>>0]|0|0){k[f>>2]=0;break}j[h+2>>1]=0;k[h+4>>2]=(k[482]|0)+2;k[h+8>>2]=510;j[h>>1]=1;e=k[376]|0;o=k[(k[d>>2]|0)+12>>2]|0;k[n>>2]=h;o=Lb[e&255](o,13,n)|0;k[f>>2]=o;if((k[f>>2]|0)>=0){i[(k[g>>2]|0)+13>>0]=1;o=(k[g>>2]|0)+24|0;k[o>>2]=(k[o>>2]|0)+1;break}k[c>>2]=k[f>>2];o=k[c>>2]|0;u=p;return o|0}else{h=k[376]|0;n=k[(k[d>>2]|0)+12>>2]|0;k[o>>2]=k[e>>2];o=Lb[h&255](n,13,o)|0;k[f>>2]=o}while(0);k[c>>2]=k[f>>2];o=k[c>>2]|0;u=p;return o|0}function jg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[d>>2]=k[(k[c>>2]|0)+28>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+8>>2];kf(k[b>>2]|0,k[k[d>>2]>>2]|0,30592);ie(k[d>>2]|0);k[d>>2]=k[e>>2]}k[(k[c>>2]|0)+28>>2]=0;u=f;return}function kg(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;c=b+8|0;d=b+4|0;e=b;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+8>>2];k[e>>2]=k[(k[c>>2]|0)+28>>2];k[(k[e>>2]|0)+8>>2]=k[(k[d>>2]|0)+28>>2];k[(k[d>>2]|0)+28>>2]=k[e>>2];k[(k[c>>2]|0)+12>>2]=-1;k[(k[c>>2]|0)+28>>2]=0;u=b;return}function lg(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(!(k[c>>2]|0)){u=d;return}a=(k[c>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[c>>2]|0)+16>>2]|0){u=d;return}jg(k[b>>2]|0);if(k[(k[c>>2]|0)+36>>2]|0)a=(k[(k[c>>2]|0)+36>>2]|0)+32|0;else a=54796;k[a>>2]=k[(k[c>>2]|0)+32>>2];if(k[(k[c>>2]|0)+32>>2]|0)k[(k[(k[c>>2]|0)+32>>2]|0)+36>>2]=k[(k[c>>2]|0)+36>>2];ie(k[c>>2]|0);u=d;return}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)==0){k[f>>2]=0;f=k[f>>2]|0;u=g;return f|0}b=(wd(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b;while(1){if(!(i[k[c>>2]>>0]|0)){a=8;break}b=Q_(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;b=(wd(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b;b=k[c>>2]|0;if(!(k[e>>2]|0)){a=6;break}b=(wd(b)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b}if((a|0)==6){k[f>>2]=b;f=k[f>>2]|0;u=g;return f|0}else if((a|0)==8){k[f>>2]=0;f=k[f>>2]|0;u=g;return f|0}return 0}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c;d=c+4|0;k[e>>2]=a;i[d>>0]=b;b=((og(k[e>>2]|0,1,i[d>>0]|0)|0)&255|0)!=0&255;u=c;return b|0}function og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+32|0;g=m+17|0;d=m+12|0;e=m+8|0;h=m+16|0;j=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;i[h>>0]=c;a=k[d>>2]|0;if((l[20063+(l[k[d>>2]>>0]|0)>>0]|0)&4|0){j=(pg(a)|0)&255;i[g>>0]=j;j=i[g>>0]|0;u=m;return j|0}c=wd(a)|0;k[f>>2]=c;k[j>>2]=0;while(1){if((k[j>>2]|0)>=8){a=11;break}if((l[21545+(k[j>>2]|0)>>0]|0|0)==(k[f>>2]|0)?(vd(21561+(l[21553+(k[j>>2]|0)>>0]|0)|0,k[d>>2]|0,k[f>>2]|0)|0)==0:0){if(!(k[e>>2]|0)){a=9;break}if((l[21586+(k[j>>2]|0)>>0]|0|0)<=1){a=9;break}}k[j>>2]=(k[j>>2]|0)+1}if((a|0)==9){i[g>>0]=i[21586+(k[j>>2]|0)>>0]|0;j=i[g>>0]|0;u=m;return j|0}else if((a|0)==11){i[g>>0]=i[h>>0]|0;j=i[g>>0]|0;u=m;return j|0}return 0}function pg(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(k[b>>2]|0)qg(k[b>>2]|0,c)|0;u=d;return k[c>>2]|0}function qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+48|0;f=n+32|0;g=n+28|0;h=n+24|0;c=n;j=n+20|0;d=n+16|0;e=n+12|0;m=n+8|0;k[g>>2]=a;k[h>>2]=b;b=c;k[b>>2]=0;k[b+4>>2]=0;k[e>>2]=0;do if((i[k[g>>2]>>0]|0)!=45){a=k[g>>2]|0;if((i[k[g>>2]>>0]|0)==43){k[g>>2]=a+1;break}if((i[a>>0]|0)==48){if((i[(k[g>>2]|0)+1>>0]|0)!=120?(i[(k[g>>2]|0)+1>>0]|0)!=88:0)break;if(l[20063+(l[(k[g>>2]|0)+2>>0]|0)>>0]&8|0){k[m>>2]=0;k[g>>2]=(k[g>>2]|0)+2;while(1){if((i[k[g>>2]>>0]|0)!=48)break;k[g>>2]=(k[g>>2]|0)+1}k[j>>2]=0;while(1){a=k[m>>2]|0;if(!(l[20063+(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)>>0]&8|0?(k[j>>2]|0)<8:0))break;e=(a<<4)+((rg(i[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)|0)&255)|0;k[m>>2]=e;k[j>>2]=(k[j>>2]|0)+1}if((a&-2147483648|0)==0?(l[20063+(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)>>0]&8|0)==0:0){k[k[h>>2]>>2]=k[m>>2];k[f>>2]=1;m=k[f>>2]|0;u=n;return m|0}k[f>>2]=0;m=k[f>>2]|0;u=n;return m|0}}}else{k[e>>2]=1;k[g>>2]=(k[g>>2]|0)+1}while(0);while(1){if((i[k[g>>2]>>0]|0)!=48)break;k[g>>2]=(k[g>>2]|0)+1}k[j>>2]=0;while(1){if((k[j>>2]|0)>=11)break;m=(i[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)-48|0;k[d>>2]=m;if(!((m|0)>=0&(k[d>>2]|0)<=9))break;m=c;m=B0(k[m>>2]|0,k[m+4>>2]|0,10,0)|0;b=k[d>>2]|0;b=i0(m|0,M|0,b|0,((b|0)<0)<<31>>31|0)|0;m=c;k[m>>2]=b;k[m+4>>2]=M;k[j>>2]=(k[j>>2]|0)+1}if((k[j>>2]|0)>10){k[f>>2]=0;m=k[f>>2]|0;u=n;return m|0}j=c;m=k[e>>2]|0;m=h0(k[j>>2]|0,k[j+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;j=M;if((j|0)>0|(j|0)==0&m>>>0>2147483647){k[f>>2]=0;m=k[f>>2]|0;u=n;return m|0}if(k[e>>2]|0){j=c;j=h0(0,0,k[j>>2]|0,k[j+4>>2]|0)|0;m=c;k[m>>2]=j;k[m+4>>2]=M}k[k[h>>2]>>2]=k[c>>2];k[f>>2]=1;m=k[f>>2]|0;u=n;return m|0}function rg(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;k[b>>2]=(k[b>>2]|0)+((1&k[b>>2]>>6)*9|0);u=c;return k[b>>2]&15|0}function sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+96|0;l=j+92|0;e=j+88|0;f=j+84|0;g=j+80|0;h=j+4|0;i=j;k[l>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[i>>2]=0;if(!(Wb[k[1468>>2]&255](k[l>>2]|0,h)|0)){k[k[e>>2]>>2]=k[h+12>>2]&511;k[k[f>>2]>>2]=k[h+20>>2];k[k[g>>2]>>2]=k[h+24>>2];l=k[i>>2]|0;u=j;return l|0}else{k[i>>2]=1802;l=k[i>>2]|0;u=j;return l|0}return 0}function tg(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c+4>>2]=a;k[c>>2]=b;u=c;return 1852}function ug(){var a=0,b=0;a=u;u=u+16|0;b=a;k[b>>2]=1932;vg(18,b)|0;u=a;return}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=u;u=u+160|0;G=I+148|0;m=I+144|0;y=I+128|0;H=I+120|0;F=I+116|0;A=I+112|0;B=I+108|0;C=I+104|0;D=I+100|0;c=I+96|0;d=I+92|0;e=I+88|0;f=I+84|0;g=I+80|0;h=I+76|0;i=I+72|0;E=I+68|0;j=I+64|0;l=I+60|0;n=I+56|0;o=I+52|0;p=I+48|0;q=I+44|0;r=I+40|0;s=I+24|0;t=I+16|0;v=I+8|0;w=I;x=I+36|0;z=I+32|0;k[m>>2]=a;k[H>>2]=0;if(k[59]|0){H=Ad(138190)|0;k[G>>2]=H;H=k[G>>2]|0;u=I;return H|0}k[y>>2]=b;do switch(k[m>>2]|0){case 1:{k[3]=0;k[4]=0;break}case 2:{k[3]=1;k[4]=0;break}case 3:{k[3]=1;k[4]=1;break}case 10:{a=(k[y>>2]|0)+(4-1)&~(4-1);d=k[a>>2]|0;k[y>>2]=a+4;k[F>>2]=d;d=80;a=k[F>>2]|0;c=d+36|0;do{k[d>>2]=k[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(c|0));break}case 11:{a=(k[y>>2]|0)+(4-1)&~(4-1);d=k[a>>2]|0;k[y>>2]=a+4;k[A>>2]=d;d=k[A>>2]|0;a=80;c=d+36|0;do{k[d>>2]=k[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(c|0));break}case 4:{E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[B>>2]=F;F=k[B>>2]|0;k[12]=k[F>>2];k[13]=k[F+4>>2];k[14]=k[F+8>>2];k[15]=k[F+12>>2];k[16]=k[F+16>>2];k[17]=k[F+20>>2];k[18]=k[F+24>>2];k[19]=k[F+28>>2];break}case 5:{if(!(k[12]|0))wg();E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[C>>2]=F;F=k[C>>2]|0;k[F>>2]=k[12];k[F+4>>2]=k[13];k[F+8>>2]=k[14];k[F+12>>2]=k[15];k[F+16>>2]=k[16];k[F+20>>2]=k[17];k[F+24>>2]=k[18];k[F+28>>2]=k[19];break}case 9:{E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[D>>2]=F;k[2]=k[D>>2];break}case 6:{E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[c>>2]=F;k[50]=k[c>>2];F=(k[y>>2]|0)+(4-1)&~(4-1);E=k[F>>2]|0;k[y>>2]=F+4;k[d>>2]=E;k[51]=k[d>>2];E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[e>>2]=F;k[52]=k[e>>2];break}case 7:{E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[f>>2]=F;k[53]=k[f>>2];F=(k[y>>2]|0)+(4-1)&~(4-1);E=k[F>>2]|0;k[y>>2]=F+4;k[g>>2]=E;k[54]=k[g>>2];E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[h>>2]=F;k[55]=k[h>>2];break}case 24:{F=(xg()|0)+(yg()|0)+(zg()|0)|0;b=(k[y>>2]|0)+(4-1)&~(4-1);E=k[b>>2]|0;k[y>>2]=b+4;k[i>>2]=E;k[k[i>>2]>>2]=F;break}case 14:break;case 15:{k[H>>2]=1;break}case 18:{a=(k[y>>2]|0)+(4-1)&~(4-1);d=k[a>>2]|0;k[y>>2]=a+4;k[E>>2]=d;d=116;a=k[E>>2]|0;c=d+52|0;do{k[d>>2]=k[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(c|0));break}case 19:{if(!(k[31]|0))ug();a=(k[y>>2]|0)+(4-1)&~(4-1);d=k[a>>2]|0;k[y>>2]=a+4;k[j>>2]=d;d=k[j>>2]|0;a=116;c=d+52|0;do{k[d>>2]=k[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(c|0));break}case 13:{F=(k[y>>2]|0)+(4-1)&~(4-1);E=k[F>>2]|0;k[y>>2]=F+4;k[l>>2]=E;k[9]=k[l>>2];E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[n>>2]=F;k[10]=k[n>>2];break}case 16:{F=(k[y>>2]|0)+(4-1)&~(4-1);E=k[F>>2]|0;k[y>>2]=F+4;k[o>>2]=E;k[66]=k[o>>2];E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[p>>2]=F;k[67]=k[p>>2];break}case 17:{E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[q>>2]=F;k[5]=k[q>>2];break}case 20:{E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[r>>2]=F;k[6]=k[r>>2];break}case 22:{b=(k[y>>2]|0)+(8-1)&~(8-1);D=b;E=k[D>>2]|0;D=k[D+4>>2]|0;k[y>>2]=b+8;b=t;k[b>>2]=E;k[b+4>>2]=D;b=t;D=k[b+4>>2]|0;E=s;k[E>>2]=k[b>>2];k[E+4>>2]=D;E=(k[y>>2]|0)+(8-1)&~(8-1);D=E;b=k[D>>2]|0;D=k[D+4>>2]|0;k[y>>2]=E+8;E=w;k[E>>2]=b;k[E+4>>2]=D;E=w;D=k[E>>2]|0;E=k[E+4>>2]|0;b=v;k[b>>2]=D;k[b+4>>2]=E;b=v;F=k[b+4>>2]|0;b=(k[v+4>>2]|0)<0|((F|0)>0|(F|0)==0&(k[b>>2]|0)>>>0>0);F=v;k[F>>2]=b?0:D;k[F+4>>2]=b?0:E;if((k[s+4>>2]|0)<0){F=s;k[F>>2]=0;k[F+4>>2]=0}E=s;D=k[E+4>>2]|0;F=v;b=k[F+4>>2]|0;if((D|0)>(b|0)|((D|0)==(b|0)?(k[E>>2]|0)>>>0>(k[F>>2]|0)>>>0:0)){b=v;E=k[b+4>>2]|0;F=s;k[F>>2]=k[b>>2];k[F+4>>2]=E}F=v;E=k[F+4>>2]|0;b=192;k[b>>2]=k[F>>2];k[b+4>>2]=E;b=s;E=k[b+4>>2]|0;F=184;k[F>>2]=k[b>>2];k[F+4>>2]=E;break}case 25:{E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[x>>2]=F;k[58]=k[x>>2];break}case 26:{E=(k[y>>2]|0)+(4-1)&~(4-1);F=k[E>>2]|0;k[y>>2]=E+4;k[z>>2]=F;k[11]=k[z>>2];break}default:k[H>>2]=1}while(0);k[G>>2]=k[H>>2];H=k[G>>2]|0;u=I;return H|0}function wg(){var a=0,b=0;a=u;u=u+16|0;b=a;k[b>>2]=1984;vg(4,b)|0;u=a;return}function xg(){return 88}function yg(){return 40}function zg(){return 32}function Ag(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;c=d;e=d+8|0;b=d+4|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)+7&-8;a=_$((k[e>>2]|0)+8|0)|0;k[b>>2]=a;a=k[e>>2]|0;if(k[b>>2]|0){e=k[b>>2]|0;k[e>>2]=a;k[e+4>>2]=((a|0)<0)<<31>>31;k[b>>2]=(k[b>>2]|0)+8;e=k[b>>2]|0;u=d;return e|0}else{k[c>>2]=a;Hd(7,21637,c);e=k[b>>2]|0;u=d;return e|0}return 0}function Bg(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];k[c>>2]=(k[c>>2]|0)+-8;$$(k[c>>2]|0);u=b;return}function Cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;f=g;c=g+16|0;d=g+12|0;e=g+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[c>>2];k[e>>2]=(k[e>>2]|0)+-8;b=b0(k[e>>2]|0,(k[d>>2]|0)+8|0)|0;k[e>>2]=b;if(k[e>>2]|0){d=k[d>>2]|0;f=k[e>>2]|0;k[f>>2]=d;k[f+4>>2]=((d|0)<0)<<31>>31;k[e>>2]=(k[e>>2]|0)+8;f=k[e>>2]|0;u=g;return f|0}else{c=Dg(k[c>>2]|0)|0;d=k[d>>2]|0;k[f>>2]=c;k[f+4>>2]=d;Hd(7,21601,f);f=k[e>>2]|0;u=g;return f|0}return 0}function Dg(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];k[b>>2]=(k[b>>2]|0)+-8;u=c;return k[k[b>>2]>>2]|0}function Eg(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (k[b>>2]|0)+7&-8|0}function Fg(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;u=b;return 0}function Gg(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;u=b;return}function Hg(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;k[c>>2]=a;a=54596;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[13663]=((k[53]|0)==0?1:(k[3]|0)>0)&1;if(k[3]|0){b=se(6)|0;k[13649]=b;b=se(7)|0;k[13670]=b}k[13664]=(k[13663]|0)!=0&(k[55]|0)!=0&(k[53]|0)==0?k[55]|0:0;k[13652]=10;k[13662]=1;u=c;return 0}function Ig(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;k[c>>2]=a;a=54596;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));u=c;return}function Jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=u;u=u+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;m=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=60+((k[13663]|0)*52|0);c=k[m>>2]|0;c=fh(c,((c|0)<0)<<31>>31)|0;k[g>>2]=c;if(!(k[g>>2]|0)){m=k[g>>2]|0;u=j;return m|0}if(k[13663]|0){k[h>>2]=(k[g>>2]|0)+60;k[(k[h>>2]|0)+12>>2]=10}else k[h>>2]=54596;if(!(l[(k[h>>2]|0)+20+14>>0]|0)){i[(k[h>>2]|0)+20+14>>0]=1;m=(k[h>>2]|0)+20|0;k[(k[h>>2]|0)+20+24>>2]=m;k[(k[h>>2]|0)+20+28>>2]=m}k[k[g>>2]>>2]=k[h>>2];k[(k[g>>2]|0)+4>>2]=k[d>>2];k[(k[g>>2]|0)+8>>2]=k[e>>2];k[(k[g>>2]|0)+12>>2]=(k[d>>2]|0)+(k[e>>2]|0)+32;k[(k[g>>2]|0)+16>>2]=k[f>>2]|0?1:0;$g(k[g>>2]|0);if(k[f>>2]|0){k[(k[g>>2]|0)+20>>2]=10;m=(k[h>>2]|0)+8|0;k[m>>2]=(k[m>>2]|0)+(k[(k[g>>2]|0)+20>>2]|0);k[(k[h>>2]|0)+12>>2]=(k[(k[h>>2]|0)+4>>2]|0)+10-(k[(k[h>>2]|0)+8>>2]|0)}if(k[(k[g>>2]|0)+44>>2]|0){m=k[g>>2]|0;u=j;return m|0}Qg(k[g>>2]|0);k[g>>2]=0;m=k[g>>2]|0;u=j;return m|0}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[g>>2];if(!(k[(k[d>>2]|0)+16>>2]|0)){u=f;return}k[e>>2]=k[k[d>>2]>>2];g=(k[e>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+((k[c>>2]|0)-(k[(k[d>>2]|0)+24>>2]|0));k[(k[e>>2]|0)+12>>2]=(k[(k[e>>2]|0)+4>>2]|0)+10-(k[(k[e>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+24>>2]=k[c>>2];k[(k[d>>2]|0)+28>>2]=(((k[(k[d>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Sg(k[d>>2]|0);u=f;return}function Lg(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[b>>2]=k[(k[d>>2]|0)+40>>2];u=c;return k[b>>2]|0}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Yg(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;u=d;return c|0}function Ng(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;h=u;u=u+32|0;m=h+24|0;l=h+20|0;j=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[d>>2]=k[m>>2];k[e>>2]=k[l>>2];k[f>>2]=k[k[d>>2]>>2];if((k[j>>2]|0)==0?(k[(k[f>>2]|0)+16>>2]|0)>>>0<=(k[(k[f>>2]|0)+4>>2]|0)>>>0:0){k[g>>2]=(k[f>>2]|0)+20+24;k[(k[e>>2]|0)+28>>2]=(k[f>>2]|0)+20;l=k[e>>2]|0;m=k[k[g>>2]>>2]|0;k[(k[e>>2]|0)+24>>2]=m;k[m+28>>2]=l;k[k[g>>2]>>2]=k[e>>2];m=(k[d>>2]|0)+36|0;k[m>>2]=(k[m>>2]|0)+1;i[(k[e>>2]|0)+12>>0]=0;u=h;return}Ug(k[e>>2]|0,1);u=h;return}function Og(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;j=u;u=u+32|0;n=j+28|0;m=j+24|0;l=j+20|0;g=j+16|0;h=j+12|0;i=j+8|0;e=j+4|0;f=j;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[g>>2]=d;k[h>>2]=k[n>>2];k[i>>2]=k[m>>2];k[f>>2]=((k[l>>2]|0)>>>0)%((k[(k[h>>2]|0)+44>>2]|0)>>>0)|0;k[e>>2]=(k[(k[h>>2]|0)+48>>2]|0)+(k[f>>2]<<2);while(1){if((k[k[e>>2]>>2]|0)==(k[i>>2]|0))break;k[e>>2]=(k[k[e>>2]>>2]|0)+16}k[k[e>>2]>>2]=k[(k[i>>2]|0)+16>>2];k[f>>2]=((k[g>>2]|0)>>>0)%((k[(k[h>>2]|0)+44>>2]|0)>>>0)|0;k[(k[i>>2]|0)+8>>2]=k[g>>2];k[(k[i>>2]|0)+16>>2]=k[(k[(k[h>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2];k[(k[(k[h>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2]=k[i>>2];if((k[g>>2]|0)>>>0<=(k[(k[h>>2]|0)+32>>2]|0)>>>0){u=j;return}k[(k[h>>2]|0)+32>>2]=k[g>>2];u=j;return}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];if((k[c>>2]|0)>>>0>(k[(k[d>>2]|0)+32>>2]|0)>>>0){u=e;return}Xg(k[d>>2]|0,k[c>>2]|0);k[(k[d>>2]|0)+32>>2]=(k[c>>2]|0)-1;u=e;return}function Qg(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[e>>2];k[c>>2]=k[k[b>>2]>>2];if(k[(k[b>>2]|0)+40>>2]|0)Xg(k[b>>2]|0,0);e=(k[c>>2]|0)+4|0;k[e>>2]=(k[e>>2]|0)-(k[(k[b>>2]|0)+24>>2]|0);e=(k[c>>2]|0)+8|0;k[e>>2]=(k[e>>2]|0)-(k[(k[b>>2]|0)+20>>2]|0);k[(k[c>>2]|0)+12>>2]=(k[(k[c>>2]|0)+4>>2]|0)+10-(k[(k[c>>2]|0)+8>>2]|0);Sg(k[b>>2]|0);ie(k[(k[b>>2]|0)+56>>2]|0);ie(k[(k[b>>2]|0)+48>>2]|0);ie(k[b>>2]|0);u=d;return}function Rg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+12|0;b=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[b>>2]=k[f>>2];if(!(k[(k[b>>2]|0)+16>>2]|0)){u=e;return}k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[c>>2]|0)+4>>2];k[(k[c>>2]|0)+4>>2]=0;Sg(k[b>>2]|0);k[(k[c>>2]|0)+4>>2]=k[d>>2];u=e;return} +function XO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;o=p+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;m=p+12|0;e=p+8|0;f=p+4|0;n=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=2;while(1){if((k[m>>2]|0)>=((k[(k[g>>2]|0)+24>>2]|0)+2|0)){a=8;break}k[e>>2]=(k[m>>2]|0)-2;if(!(l[(k[(k[g>>2]|0)+32>>2]|0)+(k[e>>2]|0)>>0]|0)){d=$h(k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0)|0;k[f>>2]=d;d=aP(k[g>>2]|0,k[h>>2]|0,k[f>>2]|0,k[e>>2]|0,(k[j>>2]|0)+(k[e>>2]<<2)|0)|0;k[n>>2]=d;if(k[n>>2]|0){a=5;break}c=ai(k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0)|0;d=(k[j>>2]|0)+(k[(k[g>>2]|0)+24>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+c}k[m>>2]=(k[m>>2]|0)+1}if((a|0)==5){k[o>>2]=k[n>>2];o=k[o>>2]|0;u=p;return o|0}else if((a|0)==8){k[o>>2]=0;o=k[o>>2]|0;u=p;return o|0}return 0}function YO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[d>>2]>>2]|0){u=l;return}c=ze((k[(k[e>>2]|0)+24>>2]|0)*10|0)|0;k[g>>2]=c;if(!(k[g>>2]|0)){k[k[d>>2]>>2]=7;u=l;return}$O(k[(k[e>>2]|0)+24>>2]|0,k[f>>2]|0,k[g>>2]|0,h);f=CL(k[e>>2]|0,20,i,0)|0;k[j>>2]=f;if(k[j>>2]|0){ie(k[g>>2]|0);k[k[d>>2]>>2]=k[j>>2];u=l;return}else{j=(k[e>>2]|0)+264|0;AJ(k[i>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;vJ(k[i>>2]|0,2,k[g>>2]|0,k[h>>2]|0,157)|0;Ls(k[i>>2]|0)|0;j=Is(k[i>>2]|0)|0;k[k[d>>2]>>2]=j;u=l;return}}function ZO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;o=t+48|0;p=t+44|0;q=t+40|0;r=t+36|0;s=t+32|0;f=t+28|0;g=t+24|0;h=t+20|0;i=t+16|0;j=t+12|0;l=t+8|0;m=t+4|0;n=t;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[r>>2]=d;k[s>>2]=e;k[m>>2]=(k[(k[p>>2]|0)+24>>2]|0)+2;if(k[k[o>>2]>>2]|0){u=t;return}e=ze((k[m>>2]|0)*14|0)|0;k[h>>2]=e;if(!(k[h>>2]|0)){k[k[o>>2]>>2]=7;u=t;return}k[f>>2]=(k[h>>2]|0)+(k[m>>2]<<2);e=CL(k[p>>2]|0,22,i,0)|0;k[l>>2]=e;if(k[l>>2]|0){ie(k[h>>2]|0);k[k[o>>2]>>2]=k[l>>2];u=t;return}zJ(k[i>>2]|0,1,0)|0;if((Ls(k[i>>2]|0)|0)==100){c=k[m>>2]|0;d=k[h>>2]|0;e=pJ(k[i>>2]|0,0)|0;_O(c,d,e,qJ(k[i>>2]|0,0)|0)}else w0(k[h>>2]|0,0,k[m>>2]<<2|0)|0;e=Is(k[i>>2]|0)|0;k[l>>2]=e;if(k[l>>2]|0){ie(k[h>>2]|0);k[k[o>>2]>>2]=k[l>>2];u=t;return}if((k[s>>2]|0)<0?(k[k[h>>2]>>2]|0)>>>0<(0-(k[s>>2]|0)|0)>>>0:0)k[k[h>>2]>>2]=0;else{e=k[h>>2]|0;k[e>>2]=(k[e>>2]|0)+(k[s>>2]|0)}k[j>>2]=0;while(1){if((k[j>>2]|0)>=((k[(k[p>>2]|0)+24>>2]|0)+1|0))break;k[n>>2]=k[(k[h>>2]|0)+((k[j>>2]|0)+1<<2)>>2];if(((k[n>>2]|0)+(k[(k[q>>2]|0)+(k[j>>2]<<2)>>2]|0)|0)>>>0<(k[(k[r>>2]|0)+(k[j>>2]<<2)>>2]|0)>>>0)k[n>>2]=0;else k[n>>2]=(k[n>>2]|0)+(k[(k[q>>2]|0)+(k[j>>2]<<2)>>2]|0)-(k[(k[r>>2]|0)+(k[j>>2]<<2)>>2]|0);k[(k[h>>2]|0)+((k[j>>2]|0)+1<<2)>>2]=k[n>>2];k[j>>2]=(k[j>>2]|0)+1}$O(k[m>>2]|0,k[h>>2]|0,k[f>>2]|0,g);s=CL(k[p>>2]|0,23,i,0)|0;k[l>>2]=s;if(k[l>>2]|0){ie(k[h>>2]|0);k[k[o>>2]>>2]=k[l>>2];u=t;return}else{zJ(k[i>>2]|0,1,0)|0;vJ(k[i>>2]|0,2,k[f>>2]|0,k[g>>2]|0,0)|0;Ls(k[i>>2]|0)|0;s=Is(k[i>>2]|0)|0;k[k[o>>2]>>2]=s;ie(k[h>>2]|0);u=t;return}}function _O(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;f=l+28|0;g=l+24|0;h=l+20|0;i=l+12|0;j=l+8|0;e=l;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l+16>>2]=d;k[j>>2]=0;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[f>>2]|0))break;d=lM((k[h>>2]|0)+(k[j>>2]|0)|0,e)|0;k[j>>2]=(k[j>>2]|0)+d;k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]=k[e>>2];k[i>>2]=(k[i>>2]|0)+1}u=l;return}function $O(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[e>>2]|0))break;d=XL((k[g>>2]|0)+(k[j>>2]|0)|0,k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0,0)|0;k[j>>2]=(k[j>>2]|0)+d;k[i>>2]=(k[i>>2]|0)+1}k[k[h>>2]>>2]=k[j>>2];u=l;return}function aP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+80|0;v=B+72|0;w=B+68|0;x=B+64|0;y=B+60|0;z=B+56|0;f=B+52|0;g=B+48|0;h=B+44|0;i=B+40|0;j=B+36|0;l=B+32|0;m=B+28|0;n=B+24|0;o=B+20|0;p=B+16|0;q=B+12|0;r=B+8|0;s=B+4|0;t=B;k[w>>2]=a;k[x>>2]=b;k[y>>2]=c;k[z>>2]=d;k[f>>2]=e;k[h>>2]=0;k[i>>2]=0;k[j>>2]=0;k[l>>2]=0;k[n>>2]=0;k[o>>2]=k[(k[w>>2]|0)+36>>2];k[p>>2]=k[k[o>>2]>>2];if(!(k[y>>2]|0)){k[k[f>>2]>>2]=0;k[v>>2]=0;A=k[v>>2]|0;u=B;return A|0}y=ON(k[o>>2]|0,k[x>>2]|0,k[y>>2]|0,-1,q)|0;k[g>>2]=y;if(k[g>>2]|0){k[v>>2]=k[g>>2];A=k[v>>2]|0;u=B;return A|0}k[r>>2]=k[(k[p>>2]|0)+20>>2];a:while(1){if(k[g>>2]|0)break;y=Qb[k[r>>2]&255](k[q>>2]|0,m,n,h,i,j)|0;k[g>>2]=y;if(y)break;if((k[j>>2]|0)>=(k[l>>2]|0))k[l>>2]=(k[j>>2]|0)+1;if((k[j>>2]|0)>=0&(k[m>>2]|0)!=0^1|(k[n>>2]|0)<=0){A=11;break}y=bP(k[w>>2]|0,k[z>>2]|0,k[j>>2]|0,(k[(k[w>>2]|0)+252>>2]|0)+4|0,k[m>>2]|0,k[n>>2]|0)|0;k[g>>2]=y;k[s>>2]=1;while(1){if(k[g>>2]|0)continue a;if((k[s>>2]|0)>=(k[(k[w>>2]|0)+248>>2]|0))continue a;k[t>>2]=(k[(k[w>>2]|0)+252>>2]|0)+((k[s>>2]|0)*24|0);if((k[n>>2]|0)>=(k[k[t>>2]>>2]|0)){y=bP(k[w>>2]|0,k[z>>2]|0,k[j>>2]|0,(k[t>>2]|0)+4|0,k[m>>2]|0,k[k[t>>2]>>2]|0)|0;k[g>>2]=y}k[s>>2]=(k[s>>2]|0)+1}}if((A|0)==11)k[g>>2]=1;Rb[k[(k[p>>2]|0)+16>>2]&255](k[q>>2]|0)|0;A=k[f>>2]|0;k[A>>2]=(k[A>>2]|0)+(k[l>>2]|0);k[v>>2]=(k[g>>2]|0)==101?0:k[g>>2]|0;A=k[v>>2]|0;u=B;return A|0}function bP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;l=p+28|0;m=p+24|0;n=p+20|0;o=p+16|0;g=p+12|0;h=p+8|0;i=p+4|0;j=p;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[g>>2]=e;k[h>>2]=f;k[j>>2]=0;f=RK(k[o>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=f;if(k[i>>2]|0){f=(k[l>>2]|0)+260|0;k[f>>2]=(k[f>>2]|0)-((k[k[i>>2]>>2]|0)+(k[h>>2]|0)+20)}f=(k[l>>2]|0)+264|0;m=k[m>>2]|0;n=k[n>>2]|0;if(PN(i,k[f>>2]|0,k[f+4>>2]|0,m,((m|0)<0)<<31>>31,n,((n|0)<0)<<31>>31,j)|0?(n=k[i>>2]|0,(n|0)==(yK(k[o>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0)):0){ie(k[i>>2]|0);k[j>>2]=7}if(k[j>>2]|0){o=k[j>>2]|0;u=p;return o|0}o=(k[l>>2]|0)+260|0;k[o>>2]=(k[o>>2]|0)+((k[k[i>>2]>>2]|0)+(k[h>>2]|0)+20);o=k[j>>2]|0;u=p;return o|0}function cP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;p=t+48|0;q=t+44|0;f=t+40|0;r=t+36|0;s=t+32|0;g=t+28|0;h=t+24|0;i=t+20|0;j=t+16|0;m=t;n=t+12|0;o=t+8|0;k[p>>2]=a;k[q>>2]=b;k[f>>2]=c;k[r>>2]=d;k[s>>2]=e;if(k[k[p>>2]>>2]|0){u=t;return}a=CL(k[q>>2]|0,7,h,f)|0;k[g>>2]=a;a=k[h>>2]|0;if(!(k[g>>2]|0)){do if(100==(Ls(a)|0)){e=gP(k[q>>2]|0,k[h>>2]|0)|0;k[j>>2]=e;e=tJ(k[h>>2]|0,0)|0;f=m;k[f>>2]=e;k[f+4>>2]=M;m=WO(k[q>>2]|0,1,k[j>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[g>>2]=m;k[i>>2]=1;while(1){if(k[g>>2]|0)break;if((k[i>>2]|0)>(k[(k[q>>2]|0)+24>>2]|0))break;k[n>>2]=(k[i>>2]|0)-1;if(!(l[(k[(k[q>>2]|0)+32>>2]|0)+(k[n>>2]|0)>>0]|0)){f=Mv(k[h>>2]|0,k[i>>2]|0)|0;k[o>>2]=f;f=aP(k[q>>2]|0,k[j>>2]|0,k[o>>2]|0,-1,(k[r>>2]|0)+(k[n>>2]<<2)|0)|0;k[g>>2]=f;f=qJ(k[h>>2]|0,k[i>>2]|0)|0;m=(k[r>>2]|0)+(k[(k[q>>2]|0)+24>>2]<<2)|0;k[m>>2]=(k[m>>2]|0)+f}k[i>>2]=(k[i>>2]|0)+1}if(!(k[g>>2]|0)){k[k[s>>2]>>2]=1;break}Is(k[h>>2]|0)|0;k[k[p>>2]>>2]=k[g>>2];u=t;return}while(0);s=Is(k[h>>2]|0)|0;k[g>>2]=s}else Is(a)|0;k[k[p>>2]>>2]=k[g>>2];u=t;return}function dP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[d>>2]|0)+40>>2]|0){k[k[f>>2]>>2]=0;k[h>>2]=0;h=k[h>>2]|0;u=i;return h|0}e=CL(k[d>>2]|0,1,g,e)|0;k[h>>2]=e;if(k[h>>2]|0){h=k[h>>2]|0;u=i;return h|0}if(100==(Ls(k[g>>2]|0)|0)){e=sJ(k[g>>2]|0,0)|0;k[k[f>>2]>>2]=e}g=Is(k[g>>2]|0)|0;k[h>>2]=g;h=k[h>>2]|0;u=i;return h|0}function eP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=0;wL(k[c>>2]|0);if(k[f>>2]|0)fP(d,k[c>>2]|0,2,0);fP(d,k[c>>2]|0,3,0);fP(d,k[c>>2]|0,4,0);if(i[(k[c>>2]|0)+230>>0]|0)fP(d,k[c>>2]|0,5,0);if(!(i[(k[c>>2]|0)+229>>0]|0)){f=k[d>>2]|0;u=e;return f|0}fP(d,k[c>>2]|0,6,0);f=k[d>>2]|0;u=e;return f|0}function fP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[e>>2]>>2]|0){u=l;return}h=CL(k[f>>2]|0,k[g>>2]|0,i,k[h>>2]|0)|0;k[j>>2]=h;if(!(k[j>>2]|0)){Ls(k[i>>2]|0)|0;i=Is(k[i>>2]|0)|0;k[j>>2]=i}k[k[e>>2]>>2]=k[j>>2];u=l;return}function gP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[(k[c>>2]|0)+44>>2]|0)){e=k[e>>2]|0;u=f;return e|0}d=sJ(k[d>>2]|0,(k[(k[c>>2]|0)+24>>2]|0)+1|0)|0;k[e>>2]=d;e=k[e>>2]|0;u=f;return e|0}function hP(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+64|0;d=s;e=s+52|0;m=s+48|0;n=s+44|0;o=s+40|0;p=s+36|0;q=s+32|0;r=s+28|0;b=s+24|0;c=s+20|0;f=s+16|0;g=s+12|0;h=s+8|0;j=s+4|0;k[e>>2]=a;a=eP(k[e>>2]|0,0)|0;k[m>>2]=a;if(k[m>>2]|0){r=k[m>>2]|0;u=s;return r|0}k[n>>2]=0;k[o>>2]=0;k[p>>2]=0;k[q>>2]=0;k[r>>2]=0;k[d>>2]=k[(k[e>>2]|0)+216>>2];d=xf(45739,d)|0;k[b>>2]=d;if(k[b>>2]|0){d=Jv(k[(k[e>>2]|0)+12>>2]|0,k[b>>2]|0,-1,q,0)|0;k[m>>2]=d;ie(k[b>>2]|0)}else k[m>>2]=7;do if(!(k[m>>2]|0)){k[c>>2]=((k[(k[e>>2]|0)+24>>2]|0)+1<<2)*3;d=ze(k[c>>2]|0)|0;k[n>>2]=d;if(!(k[n>>2]|0)){k[m>>2]=7;break}else{w0(k[n>>2]|0,0,k[c>>2]|0)|0;k[o>>2]=(k[n>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+1<<2);k[p>>2]=(k[o>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(k[m>>2]|0))a=100==(Ls(k[q>>2]|0)|0);else a=0;b=k[e>>2]|0;if(!a)break;b=gP(b,k[q>>2]|0)|0;k[g>>2]=b;b=k[e>>2]|0;c=k[g>>2]|0;d=tJ(k[q>>2]|0,0)|0;d=WO(b,0,c,d,M)|0;k[m>>2]=d;w0(k[n>>2]|0,0,(k[(k[e>>2]|0)+24>>2]|0)+1<<2|0)|0;k[f>>2]=0;while(1){if(!(k[m>>2]|0))a=(k[f>>2]|0)<(k[(k[e>>2]|0)+24>>2]|0);else a=0;b=k[e>>2]|0;if(!a)break;if(!(l[(k[b+32>>2]|0)+(k[f>>2]|0)>>0]|0)){c=Mv(k[q>>2]|0,(k[f>>2]|0)+1|0)|0;k[h>>2]=c;c=aP(k[e>>2]|0,k[g>>2]|0,k[h>>2]|0,k[f>>2]|0,(k[n>>2]|0)+(k[f>>2]<<2)|0)|0;k[m>>2]=c;c=qJ(k[q>>2]|0,(k[f>>2]|0)+1|0)|0;d=(k[n>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+c}k[f>>2]=(k[f>>2]|0)+1}if(i[b+230>>0]|0)YO(m,k[e>>2]|0,k[n>>2]|0);if(k[m>>2]|0){Pr(k[q>>2]|0)|0;k[q>>2]=0;continue}k[r>>2]=(k[r>>2]|0)+1;k[f>>2]=0;while(1){if((k[f>>2]|0)>(k[(k[e>>2]|0)+24>>2]|0))continue a;d=(k[o>>2]|0)+(k[f>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+(k[(k[n>>2]|0)+(k[f>>2]<<2)>>2]|0);k[f>>2]=(k[f>>2]|0)+1}}if(i[b+228>>0]|0)ZO(m,k[e>>2]|0,k[o>>2]|0,k[p>>2]|0,k[r>>2]|0);ie(k[n>>2]|0);if(!(k[q>>2]|0)){r=k[m>>2]|0;u=s;return r|0}r=Pr(k[q>>2]|0)|0;k[j>>2]=r;if(k[m>>2]|0){r=k[m>>2]|0;u=s;return r|0}k[m>>2]=k[j>>2];r=k[m>>2]|0;u=s;return r|0}function iP(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=0;a=nP(k[e>>2]|0,d)|0;k[b>>2]=a;k[b>>2]=(k[b>>2]|0)==0&(k[d>>2]|0)==0?267:a;u=c;return k[b>>2]|0}function jP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=u;u=u+32|0;c=h+20|0;j=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[j>>2]=b;k[e>>2]=8;k[f>>2]=0;k[g>>2]=k[j>>2];b=lP(g)|0;k[f>>2]=b;if((i[k[g>>2]>>0]|0)==44?i[(k[g>>2]|0)+1>>0]|0:0){k[g>>2]=(k[g>>2]|0)+1;j=lP(g)|0;k[e>>2]=j}if((k[e>>2]|0)<2?1:(i[k[g>>2]>>0]|0)!=0){k[d>>2]=1;j=k[d>>2]|0;u=h;return j|0}k[d>>2]=0;if(!(i[(k[c>>2]|0)+229>>0]|0))mP(d,k[c>>2]|0);if(!(k[d>>2]|0)){j=rO(k[c>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[d>>2]=j}LM(k[c>>2]|0);j=k[d>>2]|0;u=h;return j|0}function kP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;c=g+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=0;k[f>>2]=0;b=lP(h)|0;k[(k[d>>2]|0)+48>>2]=b;if(!((k[(k[d>>2]|0)+48>>2]|0)!=1?(k[(k[d>>2]|0)+48>>2]|0)<=16:0))k[(k[d>>2]|0)+48>>2]=8;if((i[(k[d>>2]|0)+229>>0]|0)==0?(mP(e,k[d>>2]|0),k[e>>2]|0):0){k[c>>2]=k[e>>2];h=k[c>>2]|0;u=g;return h|0}h=CL(k[d>>2]|0,23,f,0)|0;k[e>>2]=h;if(k[e>>2]|0){k[c>>2]=k[e>>2];h=k[c>>2]|0;u=g;return h|0}else{zJ(k[f>>2]|0,1,2)|0;zJ(k[f>>2]|0,2,k[(k[d>>2]|0)+48>>2]|0)|0;Ls(k[f>>2]|0)|0;h=Is(k[f>>2]|0)|0;k[e>>2]=h;k[c>>2]=k[e>>2];h=k[c>>2]|0;u=g;return h|0}return 0}function lP(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];k[d>>2]=0;while(1){if((i[k[c>>2]>>0]|0)<48){a=5;break}if((i[k[c>>2]>>0]|0)>57){a=5;break}f=(k[d>>2]|0)*10|0;a=k[c>>2]|0;k[c>>2]=a+1;k[d>>2]=f+(i[a>>0]|0)-48}if((a|0)==5){k[k[b>>2]>>2]=k[c>>2];u=e;return k[d>>2]|0}return 0}function mP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=u;u=u+16|0;f=d;e=d+12|0;c=d+8|0;k[e>>2]=a;k[c>>2]=b;a=k[e>>2]|0;b=k[(k[c>>2]|0)+12>>2]|0;g=k[(k[c>>2]|0)+20>>2]|0;k[f>>2]=k[(k[c>>2]|0)+16>>2];k[f+4>>2]=g;AL(a,b,45662,f);if(k[k[e>>2]>>2]|0){u=d;return}i[(k[c>>2]|0)+229>>0]=1;u=d;return}function nP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=u;u=u+112|0;h=E+24|0;s=E+108|0;A=E+104|0;B=E+100|0;C=E+16|0;D=E+8|0;e=E+96|0;f=E+92|0;g=E+88|0;c=E+84|0;i=E+80|0;j=E+76|0;d=E+72|0;m=E;n=E+68|0;o=E+64|0;p=E+60|0;q=E+56|0;r=E+52|0;t=E+48|0;v=E+44|0;w=E+40|0;x=E+36|0;y=E+32|0;z=E+28|0;k[s>>2]=a;k[A>>2]=b;k[B>>2]=0;b=C;k[b>>2]=0;k[b+4>>2]=0;b=D;k[b>>2]=0;k[b+4>>2]=0;k[e>>2]=0;b=CL(k[s>>2]|0,27,e,0)|0;k[B>>2]=b;if(!(k[B>>2]|0)){zJ(k[e>>2]|0,1,k[(k[s>>2]|0)+272>>2]|0)|0;zJ(k[e>>2]|0,2,k[(k[s>>2]|0)+248>>2]|0)|0;a:while(1){if(!(k[B>>2]|0))a=(Ls(k[e>>2]|0)|0)==100;else a=0;b=k[e>>2]|0;if(!a)break;b=sJ(b,0)|0;k[g>>2]=b;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[s>>2]|0)+248>>2]|0))continue a;a=C;G=k[a>>2]|0;a=k[a+4>>2]|0;F=oP(k[s>>2]|0,k[g>>2]|0,k[c>>2]|0,B)|0;b=C;k[b>>2]=G^F;k[b+4>>2]=a^M;k[c>>2]=(k[c>>2]|0)+1}}G=Is(b)|0;k[f>>2]=G;if(!(k[B>>2]|0))k[B>>2]=k[f>>2]}if(k[B>>2]|0){z=C;z=k[z>>2]|0;C=C+4|0;C=k[C>>2]|0;F=D;G=F;G=k[G>>2]|0;F=F+4|0;F=k[F>>2]|0;G=(z|0)==(G|0);F=(C|0)==(F|0);F=G&F;F=F&1;G=k[A>>2]|0;k[G>>2]=F;G=k[B>>2]|0;u=E;return G|0}k[i>>2]=k[k[(k[s>>2]|0)+36>>2]>>2];k[j>>2]=0;k[h>>2]=k[(k[s>>2]|0)+216>>2];G=xf(45739,h)|0;k[d>>2]=G;if(k[d>>2]|0){G=Jv(k[(k[s>>2]|0)+12>>2]|0,k[d>>2]|0,-1,j,0)|0;k[B>>2]=G;ie(k[d>>2]|0)}else k[B>>2]=7;b:while(1){if(!(k[B>>2]|0))b=100==(Ls(k[j>>2]|0)|0);else b=0;a=k[j>>2]|0;if(!b)break;F=tJ(a,0)|0;G=m;k[G>>2]=F;k[G+4>>2]=M;G=gP(k[s>>2]|0,k[j>>2]|0)|0;k[n>>2]=G;k[o>>2]=0;while(1){if(k[B>>2]|0)continue b;if((k[o>>2]|0)>=(k[(k[s>>2]|0)+24>>2]|0))continue b;if(!(l[(k[(k[s>>2]|0)+32>>2]|0)+(k[o>>2]|0)>>0]|0)){G=Mv(k[j>>2]|0,(k[o>>2]|0)+1|0)|0;k[p>>2]=G;G=qJ(k[j>>2]|0,(k[o>>2]|0)+1|0)|0;k[q>>2]=G;k[r>>2]=0;G=ON(k[(k[s>>2]|0)+36>>2]|0,k[n>>2]|0,k[p>>2]|0,k[q>>2]|0,r)|0;k[B>>2]=G;c:while(1){if(k[B>>2]|0)break;k[v>>2]=0;k[w>>2]=0;k[x>>2]=0;k[y>>2]=0;G=Qb[k[(k[i>>2]|0)+20>>2]&255](k[r>>2]|0,t,v,w,x,y)|0;k[B>>2]=G;if(k[B>>2]|0)continue;F=D;g=k[F>>2]|0;F=k[F+4>>2]|0;h=m;h=pP(k[t>>2]|0,k[v>>2]|0,k[n>>2]|0,0,k[h>>2]|0,k[h+4>>2]|0,k[o>>2]|0,k[y>>2]|0)|0;G=D;k[G>>2]=g^h;k[G+4>>2]=F^M;k[z>>2]=1;while(1){if((k[z>>2]|0)>=(k[(k[s>>2]|0)+248>>2]|0))continue c;if((k[(k[(k[s>>2]|0)+252>>2]|0)+((k[z>>2]|0)*24|0)>>2]|0)<=(k[v>>2]|0)){F=D;g=k[F>>2]|0;F=k[F+4>>2]|0;h=m;h=pP(k[t>>2]|0,k[(k[(k[s>>2]|0)+252>>2]|0)+((k[z>>2]|0)*24|0)>>2]|0,k[n>>2]|0,k[z>>2]|0,k[h>>2]|0,k[h+4>>2]|0,k[o>>2]|0,k[y>>2]|0)|0;G=D;k[G>>2]=g^h;k[G+4>>2]=F^M}k[z>>2]=(k[z>>2]|0)+1}}if(k[r>>2]|0)Rb[k[(k[i>>2]|0)+16>>2]&255](k[r>>2]|0)|0;if((k[B>>2]|0)==101)k[B>>2]=0}k[o>>2]=(k[o>>2]|0)+1}}Pr(a)|0;z=C;z=k[z>>2]|0;C=C+4|0;C=k[C>>2]|0;F=D;G=F;G=k[G>>2]|0;F=F+4|0;F=k[F>>2]|0;G=(z|0)==(G|0);F=(C|0)==(F|0);F=G&F;F=F&1;G=k[A>>2]|0;k[G>>2]=F;G=k[B>>2]|0;u=E;return G|0}function oP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+144|0;o=t+140|0;p=t+136|0;q=t+132|0;r=t+128|0;e=t+112|0;s=t+56|0;f=t+48|0;g=t+32|0;h=t+44|0;i=t+40|0;j=t+24|0;l=t+16|0;m=t+8|0;n=t;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[r>>2]=d;a=g;k[a>>2]=0;k[a+4>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;a=s;b=a+56|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[e+12>>2]=3;d=e+12|0;k[d>>2]=k[d>>2]|16;d=DL(k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,-2,0,0,0,1,s)|0;k[f>>2]=d;if(!(k[f>>2]|0)){e=HL(k[o>>2]|0,s,e)|0;k[f>>2]=e}if(k[f>>2]|0){OL(s);s=k[f>>2]|0;r=k[r>>2]|0;k[r>>2]=s;r=g;s=r;s=k[s>>2]|0;r=r+4|0;r=k[r>>2]|0;M=r;u=t;return s|0}a:while(1){e=IL(k[o>>2]|0,s)|0;k[f>>2]=e;if(100!=(e|0))break;k[h>>2]=k[s+48>>2];k[i>>2]=(k[h>>2]|0)+(k[s+52>>2]|0);e=j;k[e>>2]=0;k[e+4>>2]=0;e=l;k[e>>2]=0;k[e+4>>2]=0;e=m;k[e>>2]=0;k[e+4>>2]=0;e=lM(k[h>>2]|0,j)|0;k[h>>2]=(k[h>>2]|0)+e;while(1){if((k[h>>2]|0)>>>0>=(k[i>>2]|0)>>>0)continue a;e=n;k[e>>2]=0;k[e+4>>2]=0;e=lM(k[h>>2]|0,n)|0;k[h>>2]=(k[h>>2]|0)+e;if((k[h>>2]|0)>>>0>=(k[i>>2]|0)>>>0)continue;d=n;e=n;if(!((k[d>>2]|0)==0&(k[d+4>>2]|0)==0|(k[e>>2]|0)==1&(k[e+4>>2]|0)==0)){b=n;b=h0(k[b>>2]|0,k[b+4>>2]|0,2,0)|0;d=m;b=i0(k[d>>2]|0,k[d+4>>2]|0,b|0,M|0)|0;d=m;k[d>>2]=b;k[d+4>>2]=M;d=g;b=k[d>>2]|0;d=k[d+4>>2]|0;c=j;c=pP(k[s+40>>2]|0,k[s+44>>2]|0,k[p>>2]|0,k[q>>2]|0,k[c>>2]|0,k[c+4>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;e=g;k[e>>2]=b^c;k[e+4>>2]=d^M;continue}e=l;k[e>>2]=0;k[e+4>>2]=0;e=m;k[e>>2]=0;k[e+4>>2]=0;e=n;a=k[h>>2]|0;if((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0){e=lM(a,l)|0;k[h>>2]=(k[h>>2]|0)+e;continue}else{d=lM(a,n)|0;k[h>>2]=(k[h>>2]|0)+d;d=n;e=j;d=i0(k[e>>2]|0,k[e+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=j;k[e>>2]=d;k[e+4>>2]=M;continue}}}OL(s);s=k[f>>2]|0;r=k[r>>2]|0;k[r>>2]=s;r=g;s=r;s=k[s>>2]|0;r=r+4|0;r=k[r>>2]|0;M=r;u=t;return s|0}function pP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;o=u;u=u+48|0;m=o+40|0;n=o+36|0;s=o+32|0;r=o+28|0;t=o+8|0;q=o+24|0;p=o+20|0;j=o+16|0;l=o;k[m>>2]=a;k[n>>2]=b;k[s>>2]=c;k[r>>2]=d;d=t;k[d>>2]=e;k[d+4>>2]=f;k[q>>2]=g;k[p>>2]=h;f=t;g=k[f+4>>2]|0;h=l;k[h>>2]=k[f>>2];k[h+4>>2]=g;h=l;h=t0(k[h>>2]|0,k[h+4>>2]|0,3)|0;g=k[s>>2]|0;g=i0(h|0,M|0,g|0,((g|0)<0)<<31>>31|0)|0;h=l;g=i0(k[h>>2]|0,k[h+4>>2]|0,g|0,M|0)|0;h=l;k[h>>2]=g;k[h+4>>2]=M;h=l;h=t0(k[h>>2]|0,k[h+4>>2]|0,3)|0;g=k[r>>2]|0;g=i0(h|0,M|0,g|0,((g|0)<0)<<31>>31|0)|0;h=l;g=i0(k[h>>2]|0,k[h+4>>2]|0,g|0,M|0)|0;h=l;k[h>>2]=g;k[h+4>>2]=M;h=l;h=t0(k[h>>2]|0,k[h+4>>2]|0,3)|0;g=k[q>>2]|0;g=i0(h|0,M|0,g|0,((g|0)<0)<<31>>31|0)|0;h=l;g=i0(k[h>>2]|0,k[h+4>>2]|0,g|0,M|0)|0;h=l;k[h>>2]=g;k[h+4>>2]=M;h=l;h=t0(k[h>>2]|0,k[h+4>>2]|0,3)|0;g=k[p>>2]|0;g=i0(h|0,M|0,g|0,((g|0)<0)<<31>>31|0)|0;h=l;g=i0(k[h>>2]|0,k[h+4>>2]|0,g|0,M|0)|0;h=l;k[h>>2]=g;k[h+4>>2]=M;k[j>>2]=0;while(1){b=l;a=k[b>>2]|0;b=k[b+4>>2]|0;if((k[j>>2]|0)>=(k[n>>2]|0))break;t=t0(a|0,b|0,3)|0;s=i[(k[m>>2]|0)+(k[j>>2]|0)>>0]|0;s=i0(t|0,M|0,s|0,((s|0)<0)<<31>>31|0)|0;t=l;s=i0(k[t>>2]|0,k[t+4>>2]|0,s|0,M|0)|0;t=l;k[t>>2]=s;k[t+4>>2]=M;k[j>>2]=(k[j>>2]|0)+1}M=b;u=o;return a|0}function qP(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;k[d>>2]=k[(k[b>>2]|0)+12>>2];a:do if(!(k[d>>2]|0))i[(k[b>>2]|0)+6>>0]=1;else do{if(!(l[(k[b>>2]|0)+7>>0]|0))Is(k[(k[b>>2]|0)+8>>2]|0)|0;eN(k[b>>2]|0,k[d>>2]|0,c);i[(k[b>>2]|0)+6>>0]=i[(k[d>>2]|0)+32>>0]|0;i[(k[b>>2]|0)+7>>0]=1;k[(k[b>>2]|0)+88>>2]=1;g=(k[d>>2]|0)+24|0;f=k[g+4>>2]|0;a=(k[b>>2]|0)+32|0;k[a>>2]=k[g>>2];k[a+4>>2]=f;if(l[(k[b>>2]|0)+6>>0]|0|0)break a}while(($M(k[b>>2]|0,c)|0)!=0);while(0);if(k[c>>2]|0){g=k[c>>2]|0;u=e;return g|0}if(!((l[(k[b>>2]|0)+52>>0]|0|0)==0?(f=(k[b>>2]|0)+32|0,a=k[f+4>>2]|0,g=(k[b>>2]|0)+80|0,d=k[g+4>>2]|0,(a|0)>(d|0)|((a|0)==(d|0)?(k[f>>2]|0)>>>0>(k[g>>2]|0)>>>0:0)):0)){if(!(l[(k[b>>2]|0)+52>>0]|0)){g=k[c>>2]|0;u=e;return g|0}f=(k[b>>2]|0)+32|0;a=k[f+4>>2]|0;g=(k[b>>2]|0)+72|0;d=k[g+4>>2]|0;if(!((a|0)<(d|0)|((a|0)==(d|0)?(k[f>>2]|0)>>>0<(k[g>>2]|0)>>>0:0))){g=k[c>>2]|0;u=e;return g|0}}i[(k[b>>2]|0)+6>>0]=1;g=k[c>>2]|0;u=e;return g|0}function rP(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[e>>2];while(1){if(!(k[b>>2]|0))break;if((k[(k[b>>2]|0)+12>>2]|0)==0?(k[(k[b>>2]|0)+16>>2]|0)==0:0)break;a=k[b>>2]|0;if(k[(k[b>>2]|0)+12>>2]|0)a=k[a+12>>2]|0;else a=k[a+16>>2]|0;k[b>>2]=a}a:while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+8>>2];RP(k[b>>2]|0);if((k[c>>2]|0?(k[b>>2]|0)==(k[(k[c>>2]|0)+12>>2]|0):0)?k[(k[c>>2]|0)+16>>2]|0:0){k[b>>2]=k[(k[c>>2]|0)+16>>2];while(1){if(!(k[b>>2]|0))continue a;if((k[(k[b>>2]|0)+12>>2]|0)==0?(k[(k[b>>2]|0)+16>>2]|0)==0:0)continue a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+12>>2]|0)a=k[a+12>>2]|0;else a=k[a+16>>2]|0;k[b>>2]=a}}k[b>>2]=k[c>>2]}u=d;return}function sP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+8|0;e=h+20|0;f=h;g=h+16|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(k[e>>2]|0?(c=Oi(k[e>>2]|0)|0,k[g>>2]=c,(k[g>>2]|0)==1):0){g=Pi(k[e>>2]|0)|0;f=d;k[f>>2]=g;k[f+4>>2]=M;f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;M=f;u=h;return g|0}e=f;g=k[e+4>>2]|0;f=d;k[f>>2]=k[e>>2];k[f+4>>2]=g;f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;M=f;u=h;return g|0}function tP(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;r=u;u=u+64|0;q=r+8|0;p=r;z=r+52|0;y=r+48|0;x=r+44|0;w=r+40|0;v=r+36|0;t=r+32|0;l=r+28|0;s=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;k[z>>2]=a;k[y>>2]=b;k[x>>2]=c;k[w>>2]=d;k[v>>2]=e;k[t>>2]=f;k[l>>2]=g;k[s>>2]=h;k[m>>2]=i;k[n>>2]=j;j=FP(k[z>>2]|0,k[y>>2]|0,k[x>>2]|0,k[w>>2]|0,k[v>>2]|0,k[t>>2]|0,k[l>>2]|0,k[s>>2]|0,k[m>>2]|0)|0;k[o>>2]=j;if(((k[o>>2]|0)==0?k[k[m>>2]>>2]|0:0)?(z=GP(k[m>>2]|0,12)|0,k[o>>2]=z,(k[o>>2]|0)==0):0){z=HP(k[k[m>>2]>>2]|0,12)|0;k[o>>2]=z}if(!(k[o>>2]|0)){z=k[o>>2]|0;u=r;return z|0}rP(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0;if((k[o>>2]|0)==18){z=k[n>>2]|0;k[p>>2]=12;SK(z,45848,p);k[o>>2]=1;z=k[o>>2]|0;u=r;return z|0}if((k[o>>2]|0)!=1){z=k[o>>2]|0;u=r;return z|0}z=k[n>>2]|0;k[q>>2]=k[l>>2];SK(z,45900,q);z=k[o>>2]|0;u=r;return z|0}function uP(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;m=u;u=u+48|0;b=m+36|0;n=m+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;c=m;k[b>>2]=a;k[n>>2]=k[k[b>>2]>>2];k[d>>2]=0;k[e>>2]=0;k[f>>2]=0;vP(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,e,f,d);do if((k[d>>2]|0)==0&(k[e>>2]|0)>1?l[(k[n>>2]|0)+228>>0]|0|0:0){n=ze(((k[e>>2]|0)*24|0)+(k[f>>2]<<2<<1)|0)|0;k[g>>2]=n;k[h>>2]=(k[g>>2]|0)+((k[e>>2]|0)*24|0);if(!(k[g>>2]|0)){k[d>>2]=7;break}k[j>>2]=k[g>>2];k[c>>2]=k[h>>2];wP(k[b>>2]|0,0,k[(k[b>>2]|0)+12>>2]|0,j,c,d);k[e>>2]=((k[j>>2]|0)-(k[g>>2]|0)|0)/24|0;k[f>>2]=((k[c>>2]|0)-(k[h>>2]|0)|0)/4|0;a:do if(!(k[d>>2]|0)){n=xP(k[b>>2]|0,0,k[g>>2]|0,k[e>>2]|0)|0;k[d>>2]=n;k[i>>2]=0;while(1){if(k[d>>2]|0)break a;if((k[i>>2]|0)>=(k[f>>2]|0))break a;n=xP(k[b>>2]|0,k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0,k[g>>2]|0,k[e>>2]|0)|0;k[d>>2]=n;k[i>>2]=(k[i>>2]|0)+1}}while(0);ie(k[g>>2]|0)}while(0);yP(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,d);u=m;return k[d>>2]|0}function vP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;l=p+32|0;m=p+28|0;f=p+24|0;g=p+20|0;o=p+16|0;h=p+12|0;i=p+8|0;j=p+4|0;n=p;k[l>>2]=a;k[m>>2]=b;k[f>>2]=c;k[g>>2]=d;k[o>>2]=e;if(!(k[m>>2]|0)){u=p;return}if(k[k[o>>2]>>2]|0){u=p;return}a=k[m>>2]|0;if((k[k[m>>2]>>2]|0)!=5){n=k[g>>2]|0;k[n>>2]=(k[n>>2]|0)+((k[a>>2]|0)==4&1);vP(k[l>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0,k[o>>2]|0);vP(k[l>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0,k[o>>2]|0);u=p;return}k[i>>2]=k[(k[a+20>>2]|0)+64>>2];g=k[f>>2]|0;k[g>>2]=(k[g>>2]|0)+(k[i>>2]|0);k[h>>2]=0;while(1){b=k[(k[m>>2]|0)+20>>2]|0;if((k[h>>2]|0)>=(k[i>>2]|0)){a=9;break}k[j>>2]=b+72+((k[h>>2]|0)*24|0);g=DP(k[l>>2]|0,k[k[j>>2]>>2]|0,k[(k[j>>2]|0)+4>>2]|0,k[(k[j>>2]|0)+8>>2]|0,(k[j>>2]|0)+20|0)|0;k[n>>2]=g;if(k[n>>2]|0){a=7;break}k[h>>2]=(k[h>>2]|0)+1}if((a|0)==7){k[k[o>>2]>>2]=k[n>>2];u=p;return}else if((a|0)==9){k[b+44>>2]=-1;u=p;return}}function wP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;j=q+16|0;l=q+12|0;g=q+8|0;h=q+4|0;i=q;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[j>>2]=e;k[l>>2]=f;if(k[k[l>>2]>>2]|0){u=q;return}b=k[o>>2]|0;if((k[k[o>>2]>>2]|0)==5){k[g>>2]=k[b+20>>2];k[h>>2]=0;while(1){if(k[k[l>>2]>>2]|0){a=13;break}if((k[h>>2]|0)>=(k[(k[g>>2]|0)+64>>2]|0)){a=13;break}j=k[p>>2]|0;o=k[j>>2]|0;k[j>>2]=o+24;k[i>>2]=o;k[k[i>>2]>>2]=k[g>>2];k[(k[i>>2]|0)+4>>2]=k[h>>2];k[(k[i>>2]|0)+12>>2]=k[n>>2];k[(k[i>>2]|0)+8>>2]=(k[g>>2]|0)+72+((k[h>>2]|0)*24|0);k[(k[i>>2]|0)+20>>2]=k[(k[g>>2]|0)+68>>2];o=CP(k[m>>2]|0,k[(k[(k[i>>2]|0)+8>>2]|0)+20>>2]|0,(k[i>>2]|0)+16|0)|0;k[k[l>>2]>>2]=o;k[h>>2]=(k[h>>2]|0)+1}if((a|0)==13){u=q;return}}if((k[b>>2]|0)==2){u=q;return}if((k[k[o>>2]>>2]|0)==4){k[n>>2]=k[(k[o>>2]|0)+12>>2];k[k[k[j>>2]>>2]>>2]=k[n>>2];i=k[j>>2]|0;k[i>>2]=(k[i>>2]|0)+4}wP(k[m>>2]|0,k[n>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[p>>2]|0,k[j>>2]|0,k[l>>2]|0);if((k[k[o>>2]>>2]|0)==4){k[n>>2]=k[(k[o>>2]|0)+16>>2];k[k[k[j>>2]>>2]>>2]=k[n>>2];i=k[j>>2]|0;k[i>>2]=(k[i>>2]|0)+4}wP(k[m>>2]|0,k[n>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[p>>2]|0,k[j>>2]|0,k[l>>2]|0);u=q;return}function xP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+80|0;t=B+76|0;v=B+72|0;w=B+68|0;x=B+64|0;y=B+60|0;z=B+56|0;e=B+52|0;f=B+48|0;g=B+44|0;h=B+40|0;i=B+36|0;j=B+32|0;l=B+28|0;m=B+24|0;n=B+20|0;o=B+16|0;p=B+12|0;q=B+8|0;r=B+4|0;s=B;k[v>>2]=a;k[w>>2]=b;k[x>>2]=c;k[y>>2]=d;k[z>>2]=k[k[v>>2]>>2];k[e>>2]=0;k[f>>2]=0;k[h>>2]=0;k[i>>2]=0;k[j>>2]=0;k[l>>2]=1;if(k[(k[z>>2]|0)+40>>2]|0){k[t>>2]=0;A=k[t>>2]|0;u=B;return A|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[y>>2]|0))break;if((k[(k[x>>2]|0)+((k[g>>2]|0)*24|0)+12>>2]|0)==(k[w>>2]|0)){k[h>>2]=(k[h>>2]|0)+(k[(k[x>>2]|0)+((k[g>>2]|0)*24|0)+16>>2]|0);k[i>>2]=(k[i>>2]|0)+1}k[g>>2]=(k[g>>2]|0)+1}if((k[h>>2]|0)==0|(k[i>>2]|0)<2){k[t>>2]=0;A=k[t>>2]|0;u=B;return A|0}d=zP(k[v>>2]|0,e)|0;k[f>>2]=d;k[g>>2]=0;while(1){if(!((k[g>>2]|0)<(k[i>>2]|0)?(k[f>>2]|0)==0:0))break;k[n>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[y>>2]|0))break;do if(k[(k[x>>2]|0)+((k[m>>2]|0)*24|0)+8>>2]|0?(k[(k[x>>2]|0)+((k[m>>2]|0)*24|0)+12>>2]|0)==(k[w>>2]|0):0){if(k[n>>2]|0?(k[(k[x>>2]|0)+((k[m>>2]|0)*24|0)+16>>2]|0)>=(k[(k[n>>2]|0)+16>>2]|0):0)break;k[n>>2]=(k[x>>2]|0)+((k[m>>2]|0)*24|0)}while(0);k[m>>2]=(k[m>>2]|0)+1}if(k[g>>2]|0?(k[(k[n>>2]|0)+16>>2]|0)>=($(((k[j>>2]|0)+((k[l>>2]|0)/4|0)-1|0)/((k[l>>2]|0)/4|0|0)|0,k[e>>2]|0)|0):0){k[o>>2]=k[(k[n>>2]|0)+8>>2];d=AP(k[v>>2]|0,k[o>>2]|0,k[(k[n>>2]|0)+20>>2]|0)|0;k[f>>2]=d;AN(k[(k[o>>2]|0)+20>>2]|0);k[(k[o>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((k[g>>2]|0)<12)k[l>>2]=k[l>>2]<<2;if(k[g>>2]|0){if((k[(k[k[n>>2]>>2]|0)+64>>2]|0)<=1)break;if((k[g>>2]|0)==((k[i>>2]|0)-1|0))break}k[p>>2]=k[(k[n>>2]|0)+8>>2];k[q>>2]=0;k[r>>2]=0;d=tN(k[z>>2]|0,k[p>>2]|0,k[(k[n>>2]|0)+20>>2]|0,q,r)|0;k[f>>2]=d;if(!(k[f>>2]|0)){d=uN(k[z>>2]|0,k[k[n>>2]>>2]|0,k[(k[n>>2]|0)+4>>2]|0,k[r>>2]|0,k[q>>2]|0)|0;k[f>>2]=d}if(!(k[f>>2]|0)){d=BP(k[k[k[n>>2]>>2]>>2]|0,k[(k[k[n>>2]>>2]|0)+4>>2]|0)|0;k[s>>2]=d;if(k[g>>2]|0?(k[s>>2]|0)>=(k[j>>2]|0):0)break;k[j>>2]=k[s>>2]}}while(0);k[(k[n>>2]|0)+8>>2]=0;k[g>>2]=(k[g>>2]|0)+1}k[t>>2]=k[f>>2];A=k[t>>2]|0;u=B;return A|0}function yP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;if(!(k[h>>2]|0)){u=j;return}if(k[k[e>>2]>>2]|0){u=j;return}if((k[k[h>>2]>>2]|0)!=5){yP(k[d>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[e>>2]|0);yP(k[d>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[e>>2]|0);if(l[(k[(k[h>>2]|0)+12>>2]|0)+34>>0]|0|0)a=(l[(k[(k[h>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else a=0;i[(k[h>>2]|0)+34>>0]=a&1;u=j;return}k[f>>2]=k[(k[(k[h>>2]|0)+20>>2]|0)+64>>2];if(k[f>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[f>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+20>>2]|0)+72+((k[g>>2]|0)*24|0)+16>>2]|0))break;k[g>>2]=(k[g>>2]|0)+1}i[(k[h>>2]|0)+34>>0]=(k[g>>2]|0)==(k[f>>2]|0)}h=qN(k[d>>2]|0,1,k[(k[h>>2]|0)+20>>2]|0)|0;k[k[e>>2]>>2]=h;u=j;return}function zP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+48|0;e=n+44|0;f=n+40|0;g=n+36|0;h=n+32|0;i=n+28|0;j=n+24|0;l=n+8|0;m=n;c=n+20|0;d=n+16|0;k[f>>2]=a;k[g>>2]=b;if(!(k[(k[f>>2]|0)+60>>2]|0)){k[i>>2]=k[k[f>>2]>>2];b=l;k[b>>2]=0;k[b+4>>2]=0;b=m;k[b>>2]=0;k[b+4>>2]=0;b=$N(k[i>>2]|0,j)|0;k[h>>2]=b;if(k[h>>2]|0){k[e>>2]=k[h>>2];m=k[e>>2]|0;u=n;return m|0}b=pJ(k[j>>2]|0,0)|0;k[d>>2]=b;b=k[d>>2]|0;b=b+(qJ(k[j>>2]|0,0)|0)|0;k[c>>2]=b;b=lM(k[d>>2]|0,l)|0;k[d>>2]=(k[d>>2]|0)+b;while(1){if((k[d>>2]|0)>>>0>=(k[c>>2]|0)>>>0)break;b=lM(k[d>>2]|0,m)|0;k[d>>2]=(k[d>>2]|0)+b}c=l;d=m;if((k[c>>2]|0)==0&(k[c+4>>2]|0)==0|(k[d>>2]|0)==0&(k[d+4>>2]|0)==0){Is(k[j>>2]|0)|0;k[e>>2]=267;m=k[e>>2]|0;u=n;return m|0}b=l;c=k[b+4>>2]|0;d=(k[f>>2]|0)+64|0;k[d>>2]=k[b>>2];k[d+4>>2]=c;d=m;m=l;m=x0(k[d>>2]|0,k[d+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;l=k[(k[i>>2]|0)+236>>2]|0;l=i0(m|0,M|0,l|0,((l|0)<0)<<31>>31|0)|0;m=k[(k[i>>2]|0)+236>>2]|0;m=x0(l|0,M|0,m|0,((m|0)<0)<<31>>31|0)|0;k[(k[f>>2]|0)+60>>2]=m;m=Is(k[j>>2]|0)|0;k[h>>2]=m;if(k[h>>2]|0){k[e>>2]=k[h>>2];m=k[e>>2]|0;u=n;return m|0}}k[k[g>>2]>>2]=k[(k[f>>2]|0)+60>>2];k[e>>2]=0;m=k[e>>2]|0;u=n;return m|0}function AP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=ze(16)|0;k[h>>2]=c;if(k[h>>2]|0){c=k[h>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[k[h>>2]>>2]=k[f>>2];k[(k[h>>2]|0)+8>>2]=k[(k[e>>2]|0)+24>>2];k[(k[h>>2]|0)+4>>2]=k[g>>2];k[(k[e>>2]|0)+24>>2]=k[h>>2];k[(k[f>>2]|0)+16>>2]=k[h>>2];k[d>>2]=0;h=k[d>>2]|0;u=i;return h|0}else{k[d>>2]=7;h=k[d>>2]|0;u=i;return h|0}return 0}function BP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[c>>2]|0)){g=k[e>>2]|0;u=h;return g|0}k[f>>2]=(k[c>>2]|0)+(k[d>>2]|0);k[g>>2]=k[c>>2];while(1){if((k[g>>2]|0)>>>0>=(k[f>>2]|0)>>>0)break;k[e>>2]=(k[e>>2]|0)+1;do{d=k[g>>2]|0;k[g>>2]=d+1}while((i[d>>0]&128|0)!=0);qM(0,g)}g=k[e>>2]|0;u=h;return g|0}function CP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;q=p+44|0;h=p+40|0;m=p+36|0;i=p+32|0;n=p+28|0;j=p+24|0;o=p+20|0;d=p+16|0;e=p+12|0;f=p;g=p+8|0;k[q>>2]=a;k[h>>2]=b;k[m>>2]=c;k[i>>2]=k[k[q>>2]>>2];k[n>>2]=0;k[o>>2]=0;k[d>>2]=k[(k[i>>2]|0)+236>>2];k[j>>2]=0;while(1){if(k[o>>2]|0){a=13;break}if((k[j>>2]|0)>=(k[(k[h>>2]|0)+4>>2]|0)){a=13;break}k[e>>2]=k[(k[k[h>>2]>>2]|0)+(k[j>>2]<<2)>>2];a:do if((k[(k[e>>2]|0)+56>>2]|0)==0?(l[(k[e>>2]|0)+5>>0]|0|0)==0:0){b=(k[e>>2]|0)+8|0;c=k[b+4>>2]|0;q=f;k[q>>2]=k[b>>2];k[q+4>>2]=c;while(1){c=f;a=k[c+4>>2]|0;q=(k[e>>2]|0)+16|0;b=k[q+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<=(k[q>>2]|0)>>>0:0)))break a;q=f;q=tM(k[i>>2]|0,k[q>>2]|0,k[q+4>>2]|0,0,g,0)|0;k[o>>2]=q;if(k[o>>2]|0)break a;if(((k[g>>2]|0)+35|0)>(k[d>>2]|0))k[n>>2]=(k[n>>2]|0)+(((k[g>>2]|0)+34|0)/(k[d>>2]|0)|0);c=f;c=i0(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;q=f;k[q>>2]=c;k[q+4>>2]=M}}while(0);k[j>>2]=(k[j>>2]|0)+1}if((a|0)==13){k[k[m>>2]>>2]=k[n>>2];u=p;return k[o>>2]|0}return 0}function DP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;l=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;f=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[g>>2]=7;e=ze(56)|0;k[f>>2]=e;if(!(k[f>>2]|0)){o=k[f>>2]|0;p=k[p>>2]|0;k[p>>2]=o;p=k[g>>2]|0;u=q;return p|0}k[i>>2]=0;k[j>>2]=k[k[l>>2]>>2];a:do if(k[o>>2]|0){k[h>>2]=1;while(1){if(k[i>>2]|0)break;if((k[h>>2]|0)>=(k[(k[j>>2]|0)+248>>2]|0))break;if((k[(k[(k[j>>2]|0)+252>>2]|0)+((k[h>>2]|0)*24|0)>>2]|0)==(k[n>>2]|0)){k[i>>2]=1;e=DL(k[j>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[h>>2]|0,-2,k[m>>2]|0,k[n>>2]|0,0,0,k[f>>2]|0)|0;k[g>>2]=e;k[(k[f>>2]|0)+36>>2]=1}k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=1;while(1){if(k[i>>2]|0)break a;if((k[h>>2]|0)>=(k[(k[j>>2]|0)+248>>2]|0))break a;if((k[(k[(k[j>>2]|0)+252>>2]|0)+((k[h>>2]|0)*24|0)>>2]|0)==((k[n>>2]|0)+1|0)?(k[i>>2]=1,e=DL(k[j>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[h>>2]|0,-2,k[m>>2]|0,k[n>>2]|0,1,0,k[f>>2]|0)|0,k[g>>2]=e,(k[g>>2]|0)==0):0){e=EP(k[j>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[m>>2]|0,k[n>>2]|0,k[f>>2]|0)|0;k[g>>2]=e}k[h>>2]=(k[h>>2]|0)+1}}while(0);if(k[i>>2]|0){o=k[f>>2]|0;p=k[p>>2]|0;k[p>>2]=o;p=k[g>>2]|0;u=q;return p|0}n=DL(k[j>>2]|0,k[(k[l>>2]|0)+16>>2]|0,0,-2,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,0,k[f>>2]|0)|0;k[g>>2]=n;k[(k[f>>2]|0)+36>>2]=((k[o>>2]|0)!=0^1)&1;o=k[f>>2]|0;p=k[p>>2]|0;k[p>>2]=o;p=k[g>>2]|0;u=q;return p|0}function EP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=u;u=u+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;e=wM(k[l>>2]|0,k[j>>2]|0,0,-2,k[i>>2]|0,k[h>>2]|0,0,0,k[g>>2]|0)|0;u=f;return e|0}function FP(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+96|0;x=y+80|0;j=y+76|0;l=y+72|0;m=y+68|0;n=y+64|0;o=y+60|0;p=y+56|0;q=y+52|0;r=y+48|0;s=y+44|0;t=y+40|0;v=y+36|0;w=y;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[r>>2]=h;k[s>>2]=i;a=w;b=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[w>>2]=k[j>>2];k[w+4>>2]=k[l>>2];k[w+8>>2]=k[m>>2];k[w+16>>2]=k[o>>2];k[w+20>>2]=k[p>>2];k[w+12>>2]=k[n>>2];if(!(k[q>>2]|0)){k[k[s>>2]>>2]=0;k[x>>2]=0;x=k[x>>2]|0;u=y;return x|0}if((k[r>>2]|0)<0){p=q$(k[q>>2]|0)|0;k[r>>2]=p}t=IP(w,k[q>>2]|0,k[r>>2]|0,k[s>>2]|0,t)|0;k[v>>2]=t;if((k[v>>2]|0)==0?k[w+32>>2]|0:0)k[v>>2]=1;k[x>>2]=k[v>>2];x=k[x>>2]|0;u=y;return x|0}function GP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+64|0;l=s+52|0;m=s+48|0;n=s+44|0;o=s+40|0;p=s+36|0;h=s+32|0;q=s+28|0;r=s+24|0;j=s+20|0;e=s+16|0;f=s+12|0;g=s+8|0;c=s+4|0;d=s;k[l>>2]=a;k[m>>2]=b;k[n>>2]=0;k[o>>2]=k[k[l>>2]>>2];k[p>>2]=0;k[h>>2]=k[k[o>>2]>>2];if(!(k[m>>2]|0))k[n>>2]=1;do if(!(k[n>>2]|0)){if(!((k[h>>2]|0)==3|(k[h>>2]|0)==4)){if((k[h>>2]|0)!=2)break;k[c>>2]=k[(k[o>>2]|0)+12>>2];k[d>>2]=k[(k[o>>2]|0)+16>>2];k[(k[o>>2]|0)+12>>2]=0;k[(k[o>>2]|0)+16>>2]=0;k[(k[c>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+8>>2]=0;r=GP(c,(k[m>>2]|0)-1|0)|0;k[n>>2]=r;if(!(k[n>>2]|0)){r=GP(d,(k[m>>2]|0)-1|0)|0;k[n>>2]=r}if(k[n>>2]|0){rP(k[d>>2]|0);rP(k[c>>2]|0);break}else{k[(k[o>>2]|0)+12>>2]=k[c>>2];k[(k[c>>2]|0)+8>>2]=k[o>>2];k[(k[o>>2]|0)+16>>2]=k[d>>2];k[(k[d>>2]|0)+8>>2]=k[o>>2];break}}d=ze(k[m>>2]<<2)|0;k[q>>2]=d;if(!(k[q>>2]|0))k[n>>2]=7;else w0(k[q>>2]|0,0,k[m>>2]<<2|0)|0;if(!(k[n>>2]|0)){k[j>>2]=k[o>>2];while(1){if((k[k[j>>2]>>2]|0)!=(k[h>>2]|0))break;k[j>>2]=k[(k[j>>2]|0)+12>>2]}while(1){k[f>>2]=k[(k[j>>2]|0)+8>>2];k[(k[j>>2]|0)+8>>2]=0;if(k[f>>2]|0)k[(k[f>>2]|0)+12>>2]=0;else k[o>>2]=0;d=GP(j,(k[m>>2]|0)-1|0)|0;k[n>>2]=d;if(k[n>>2]|0)break;k[e>>2]=0;while(1){if(!(k[j>>2]|0))break;if((k[e>>2]|0)>=(k[m>>2]|0))break;if(!(k[(k[q>>2]|0)+(k[e>>2]<<2)>>2]|0)){k[(k[q>>2]|0)+(k[e>>2]<<2)>>2]=k[j>>2];k[j>>2]=0}else{k[(k[p>>2]|0)+12>>2]=k[(k[q>>2]|0)+(k[e>>2]<<2)>>2];k[(k[p>>2]|0)+16>>2]=k[j>>2];k[(k[(k[p>>2]|0)+12>>2]|0)+8>>2]=k[p>>2];k[(k[(k[p>>2]|0)+16>>2]|0)+8>>2]=k[p>>2];k[j>>2]=k[p>>2];k[p>>2]=k[(k[p>>2]|0)+8>>2];k[(k[j>>2]|0)+8>>2]=0;k[(k[q>>2]|0)+(k[e>>2]<<2)>>2]=0}k[e>>2]=(k[e>>2]|0)+1}if(k[j>>2]|0){i=24;break}if(!(k[f>>2]|0))break;k[j>>2]=k[(k[f>>2]|0)+16>>2];while(1){if((k[k[j>>2]>>2]|0)!=(k[h>>2]|0))break;k[j>>2]=k[(k[j>>2]|0)+12>>2]}k[(k[(k[f>>2]|0)+16>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2];a=k[(k[f>>2]|0)+16>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0)k[(k[(k[f>>2]|0)+8>>2]|0)+12>>2]=a;else k[o>>2]=a;k[(k[f>>2]|0)+8>>2]=k[p>>2];k[p>>2]=k[f>>2]}if((i|0)==24){rP(k[j>>2]|0);k[n>>2]=18}a:do if(!(k[n>>2]|0)){k[j>>2]=0;k[r>>2]=0;while(1){if((k[r>>2]|0)>=(k[m>>2]|0))break;if(k[(k[q>>2]|0)+(k[r>>2]<<2)>>2]|0){if(!(k[j>>2]|0)){k[j>>2]=k[(k[q>>2]|0)+(k[r>>2]<<2)>>2];a=k[j>>2]|0}else{k[(k[p>>2]|0)+16>>2]=k[j>>2];k[(k[p>>2]|0)+12>>2]=k[(k[q>>2]|0)+(k[r>>2]<<2)>>2];k[(k[(k[p>>2]|0)+12>>2]|0)+8>>2]=k[p>>2];k[(k[(k[p>>2]|0)+16>>2]|0)+8>>2]=k[p>>2];k[j>>2]=k[p>>2];k[p>>2]=k[(k[p>>2]|0)+8>>2];a=k[j>>2]|0}k[a+8>>2]=0}k[r>>2]=(k[r>>2]|0)+1}k[o>>2]=k[j>>2]}else{k[r>>2]=0;while(1){if((k[r>>2]|0)>=(k[m>>2]|0))break;rP(k[(k[q>>2]|0)+(k[r>>2]<<2)>>2]|0);k[r>>2]=(k[r>>2]|0)+1}while(1){r=k[p>>2]|0;k[g>>2]=r;if(!r)break a;k[p>>2]=k[(k[g>>2]|0)+8>>2];ie(k[g>>2]|0)}}while(0);ie(k[q>>2]|0)}}while(0);if(!(k[n>>2]|0)){q=k[o>>2]|0;r=k[l>>2]|0;k[r>>2]=q;r=k[n>>2]|0;u=s;return r|0}rP(k[o>>2]|0);k[o>>2]=0;q=k[o>>2]|0;r=k[l>>2]|0;k[r>>2]=q;r=k[n>>2]|0;u=s;return r|0}function HP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(k[c>>2]|0){if((k[d>>2]|0)<0){k[e>>2]=18;break}b=HP(k[(k[c>>2]|0)+12>>2]|0,(k[d>>2]|0)-1|0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){d=HP(k[(k[c>>2]|0)+16>>2]|0,(k[d>>2]|0)-1|0)|0;k[e>>2]=d}}while(0);u=f;return k[e>>2]|0}function IP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+80|0;m=x+64|0;y=x+60|0;t=x+56|0;v=x+52|0;w=x+48|0;n=x+44|0;f=x+40|0;o=x+36|0;p=x+32|0;g=x+28|0;q=x+24|0;r=x+20|0;s=x+16|0;h=x+12|0;i=x+8|0;j=x+4|0;l=x;k[m>>2]=a;k[y>>2]=b;k[t>>2]=c;k[v>>2]=d;k[w>>2]=e;k[n>>2]=0;k[f>>2]=0;k[o>>2]=0;k[p>>2]=k[t>>2];k[g>>2]=k[y>>2];k[q>>2]=0;k[r>>2]=1;while(1){if(k[q>>2]|0){a=25;break}k[s>>2]=0;k[h>>2]=0;y=JP(k[m>>2]|0,k[g>>2]|0,k[p>>2]|0,s,h)|0;k[q>>2]=y;if((k[q>>2]|0)==0&(k[s>>2]|0)!=0){k[j>>2]=k[k[s>>2]>>2];if((k[j>>2]|0)==5)a=1;else a=(k[(k[s>>2]|0)+12>>2]|0)!=0;k[i>>2]=a&1;if((k[i>>2]|0)==0&(k[r>>2]|0)!=0){a=7;break}if(!((k[i>>2]|0)==0|(k[r>>2]|0)!=0)){y=KP(48)|0;k[l>>2]=y;if(!(k[l>>2]|0)){a=10;break}k[k[l>>2]>>2]=3;LP(n,k[f>>2]|0,k[l>>2]|0);k[f>>2]=k[l>>2]}if(k[f>>2]|0){if(!((k[j>>2]|0)!=1|(k[i>>2]|0)!=0)?(k[k[f>>2]>>2]|0)!=5:0){a=17;break}if((k[j>>2]|0)!=5&(k[i>>2]|0)!=0?(k[k[f>>2]>>2]|0)==1:0){a=17;break}}do if(k[i>>2]|0){a=k[s>>2]|0;if(k[n>>2]|0){k[(k[f>>2]|0)+16>>2]=a;k[(k[s>>2]|0)+8>>2]=k[f>>2];break}else{k[n>>2]=a;break}}else LP(n,k[f>>2]|0,k[s>>2]|0);while(0);k[r>>2]=((k[i>>2]|0)!=0^1)&1;k[f>>2]=k[s>>2]}k[p>>2]=(k[p>>2]|0)-(k[h>>2]|0);k[g>>2]=(k[g>>2]|0)+(k[h>>2]|0)}if((a|0)==7){rP(k[s>>2]|0);k[q>>2]=1}else if((a|0)==10){rP(k[s>>2]|0);k[q>>2]=7}else if((a|0)==17){rP(k[s>>2]|0);k[q>>2]=1}else if((a|0)==25){if((k[q>>2]|0)==101&(k[n>>2]|0)!=0&(k[r>>2]|0)!=0)k[q>>2]=1;if((k[q>>2]|0)==101)k[q>>2]=0;k[k[w>>2]>>2]=(k[t>>2]|0)-(k[p>>2]|0)}if(!(k[q>>2]|0)){w=k[n>>2]|0;y=k[v>>2]|0;k[y>>2]=w;y=k[q>>2]|0;u=x;return y|0}rP(k[n>>2]|0);rP(k[o>>2]|0);k[n>>2]=0;w=k[n>>2]|0;y=k[v>>2]|0;k[y>>2]=w;y=k[q>>2]|0;u=x;return y|0}function JP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+80|0;y=E+72|0;z=E+68|0;A=E+64|0;B=E+60|0;C=E+56|0;o=E+52|0;p=E+48|0;q=E+44|0;r=E+40|0;s=E+36|0;f=E+32|0;t=E+28|0;v=E+24|0;g=E+20|0;h=E+16|0;j=E+12|0;m=E+76|0;n=E+8|0;w=E+4|0;x=E;k[z>>2]=a;k[A>>2]=b;k[B>>2]=c;k[C>>2]=d;k[o>>2]=e;k[f>>2]=0;k[t>>2]=k[A>>2];k[v>>2]=k[B>>2];k[(k[z>>2]|0)+24>>2]=0;while(1){if((k[v>>2]|0)>0)a=(NP(i[k[t>>2]>>0]|0)|0)!=0;else a=0;b=k[v>>2]|0;if(!a)break;k[v>>2]=b+-1;k[t>>2]=(k[t>>2]|0)+1}if(!b){k[y>>2]=101;D=k[y>>2]|0;u=E;return D|0}k[p>>2]=0;while(1){if((k[p>>2]|0)>=4)break;k[g>>2]=6668+(k[p>>2]<<3);if(((l[(k[g>>2]|0)+5>>0]&-2|0)==0?(k[v>>2]|0)>=(l[(k[g>>2]|0)+4>>0]|0):0)?0==(R_(k[t>>2]|0,k[k[g>>2]>>2]|0,l[(k[g>>2]|0)+4>>0]|0)|0):0){k[h>>2]=10;k[j>>2]=l[(k[g>>2]|0)+4>>0];a:do if((((l[(k[g>>2]|0)+6>>0]|0)==1?(i[(k[t>>2]|0)+4>>0]|0)==47:0)?(i[(k[t>>2]|0)+5>>0]|0)>=48:0)?(i[(k[t>>2]|0)+5>>0]|0)<=57:0){k[h>>2]=0;k[j>>2]=5;while(1){if((i[(k[t>>2]|0)+(k[j>>2]|0)>>0]|0)<48)break a;if((i[(k[t>>2]|0)+(k[j>>2]|0)>>0]|0)>57)break a;k[h>>2]=((k[h>>2]|0)*10|0)+((i[(k[t>>2]|0)+(k[j>>2]|0)>>0]|0)-48);k[j>>2]=(k[j>>2]|0)+1}}while(0);i[m>>0]=i[(k[t>>2]|0)+(k[j>>2]|0)>>0]|0;if(NP(i[m>>0]|0)|0){D=26;break}if((i[m>>0]|0)==34){D=26;break}if((i[m>>0]|0)==40){D=26;break}if((i[m>>0]|0)==41){D=26;break}if(!(i[m>>0]|0)){D=26;break}}k[p>>2]=(k[p>>2]|0)+1}if((D|0)==26){D=KP(48)|0;k[f>>2]=D;if(k[f>>2]|0){k[k[f>>2]>>2]=l[(k[g>>2]|0)+6>>0];k[(k[f>>2]|0)+4>>2]=k[h>>2];k[k[C>>2]>>2]=k[f>>2];k[k[o>>2]>>2]=(k[t>>2]|0)-(k[A>>2]|0)+(k[j>>2]|0);k[y>>2]=0;D=k[y>>2]|0;u=E;return D|0}else{k[y>>2]=7;D=k[y>>2]|0;u=E;return D|0}}if((i[k[t>>2]>>0]|0)==34){k[p>>2]=1;while(1){if((k[p>>2]|0)>=(k[v>>2]|0))break;if((i[(k[t>>2]|0)+(k[p>>2]|0)>>0]|0)==34)break;k[p>>2]=(k[p>>2]|0)+1}k[k[o>>2]>>2]=(k[t>>2]|0)-(k[A>>2]|0)+(k[p>>2]|0)+1;if((k[p>>2]|0)==(k[v>>2]|0)){k[y>>2]=1;D=k[y>>2]|0;u=E;return D|0}else{D=OP(k[z>>2]|0,(k[t>>2]|0)+1|0,(k[p>>2]|0)-1|0,k[C>>2]|0)|0;k[y>>2]=D;D=k[y>>2]|0;u=E;return D|0}}if((i[k[t>>2]>>0]|0)==40){k[n>>2]=0;D=(k[z>>2]|0)+32|0;k[D>>2]=(k[D>>2]|0)+1;D=IP(k[z>>2]|0,(k[t>>2]|0)+1|0,(k[v>>2]|0)-1|0,k[C>>2]|0,n)|0;k[s>>2]=D;if((k[s>>2]|0)==0?(k[k[C>>2]>>2]|0)==0:0)k[s>>2]=101;k[k[o>>2]>>2]=(k[t>>2]|0)-(k[A>>2]|0)+1+(k[n>>2]|0);k[y>>2]=k[s>>2];D=k[y>>2]|0;u=E;return D|0}a=k[z>>2]|0;if((i[k[t>>2]>>0]|0)==41){D=a+32|0;k[D>>2]=(k[D>>2]|0)+-1;k[k[o>>2]>>2]=(k[t>>2]|0)-(k[A>>2]|0)+1;k[k[C>>2]>>2]=0;k[y>>2]=101;D=k[y>>2]|0;u=E;return D|0}k[q>>2]=k[a+20>>2];k[r>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[z>>2]|0)+16>>2]|0))break;k[w>>2]=k[(k[(k[z>>2]|0)+8>>2]|0)+(k[p>>2]<<2)>>2];n=q$(k[w>>2]|0)|0;k[x>>2]=n;if(((k[v>>2]|0)>(k[x>>2]|0)?(i[(k[t>>2]|0)+(k[x>>2]|0)>>0]|0)==58:0)?(vd(k[w>>2]|0,k[t>>2]|0,k[x>>2]|0)|0)==0:0){D=50;break}k[p>>2]=(k[p>>2]|0)+1}if((D|0)==50){k[q>>2]=k[p>>2];k[r>>2]=(k[t>>2]|0)-(k[A>>2]|0)+(k[x>>2]|0)+1}D=PP(k[z>>2]|0,k[q>>2]|0,(k[A>>2]|0)+(k[r>>2]|0)|0,(k[B>>2]|0)-(k[r>>2]|0)|0,k[C>>2]|0,k[o>>2]|0)|0;k[s>>2]=D;D=k[o>>2]|0;k[D>>2]=(k[D>>2]|0)+(k[r>>2]|0);k[y>>2]=k[s>>2];D=k[y>>2]|0;u=E;return D|0}function KP(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=ze(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;u=d;return c|0}w0(k[c>>2]|0,0,k[b>>2]|0)|0;c=k[c>>2]|0;u=d;return c|0}function LP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;k[f>>2]=k[h>>2];while(1){if(k[(k[f>>2]|0)+8>>2]|0){a=MP(k[(k[f>>2]|0)+8>>2]|0)|0;a=(a|0)<=(MP(k[e>>2]|0)|0)}else a=0;b=k[(k[f>>2]|0)+8>>2]|0;if(!a)break;k[f>>2]=b}a=k[e>>2]|0;if(b|0){k[(k[(k[f>>2]|0)+8>>2]|0)+16>>2]=a;k[(k[e>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2];d=k[f>>2]|0;h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;e=k[e>>2]|0;h=k[f>>2]|0;h=h+8|0;k[h>>2]=e;u=g;return}else{k[k[d>>2]>>2]=a;d=k[f>>2]|0;h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;e=k[e>>2]|0;h=k[f>>2]|0;h=h+8|0;k[h>>2]=e;u=g;return}}function MP(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[k[b>>2]>>2]|0}function NP(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;i[b>>0]=a;if(((((i[b>>0]|0)!=32?(i[b>>0]|0)!=9:0)?(i[b>>0]|0)!=10:0)?(i[b>>0]|0)!=13:0)?(i[b>>0]|0)!=11:0)a=(i[b>>0]|0)==12;else a=1;u=c;return a&1|0}function OP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=u;u=u+96|0;x=D+88|0;y=D+84|0;z=D+80|0;A=D+76|0;B=D+72|0;E=D+68|0;e=D+64|0;f=D+60|0;g=D+56|0;h=D+52|0;j=D+48|0;l=D+44|0;m=D+36|0;n=D+32|0;o=D+28|0;p=D+24|0;q=D+20|0;r=D+16|0;s=D+12|0;t=D+8|0;v=D+4|0;w=D;k[y>>2]=a;k[z>>2]=b;k[A>>2]=c;k[B>>2]=d;k[E>>2]=k[k[y>>2]>>2];k[e>>2]=k[k[E>>2]>>2];k[g>>2]=0;k[h>>2]=0;k[j>>2]=0;k[l>>2]=0;k[D+40>>2]=144;k[m>>2]=0;d=ON(k[E>>2]|0,k[(k[y>>2]|0)+4>>2]|0,k[z>>2]|0,k[A>>2]|0,h)|0;k[f>>2]=d;a:do if(!(k[f>>2]|0)){k[n>>2]=0;while(1){if(k[f>>2]|0)break;k[p>>2]=0;k[q>>2]=0;k[r>>2]=0;k[s>>2]=0;E=Qb[k[(k[e>>2]|0)+20>>2]&255](k[h>>2]|0,o,p,q,r,s)|0;k[f>>2]=E;if(!(k[f>>2]|0)){E=QP(k[g>>2]|0,144+((k[n>>2]|0)*24|0)|0)|0;k[g>>2]=E;if(!(k[g>>2]|0))break a;E=QP(k[j>>2]|0,(k[l>>2]|0)+(k[p>>2]|0)|0)|0;k[j>>2]=E;if(!(k[j>>2]|0))break a;k[t>>2]=(k[g>>2]|0)+48+72+((k[n>>2]|0)*24|0);E=k[t>>2]|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;k[E+16>>2]=0;k[E+20>>2]=0;r0((k[j>>2]|0)+(k[l>>2]|0)|0,k[o>>2]|0,k[p>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[p>>2]|0);k[(k[t>>2]|0)+4>>2]=k[p>>2];if((k[r>>2]|0)<(k[A>>2]|0))a=(i[(k[z>>2]|0)+(k[r>>2]|0)>>0]|0)==42;else a=0;k[(k[t>>2]|0)+8>>2]=a&1;if((k[q>>2]|0)>0)a=(i[(k[z>>2]|0)+((k[q>>2]|0)-1)>>0]|0)==94;else a=0;k[(k[t>>2]|0)+12>>2]=a&1;k[m>>2]=(k[n>>2]|0)+1}k[n>>2]=(k[n>>2]|0)+1}Rb[k[(k[e>>2]|0)+16>>2]&255](k[h>>2]|0)|0;k[h>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((k[f>>2]|0)==101){k[w>>2]=0;E=QP(k[g>>2]|0,144+((k[m>>2]|0)*24|0)+(k[l>>2]|0)|0)|0;k[g>>2]=E;if(!(k[g>>2]|0))break;w0(k[g>>2]|0,0,(k[g>>2]|0)+48+72-(k[g>>2]|0)|0)|0;k[k[g>>2]>>2]=5;k[(k[g>>2]|0)+20>>2]=(k[g>>2]|0)+48;k[(k[(k[g>>2]|0)+20>>2]|0)+68>>2]=k[(k[y>>2]|0)+20>>2];k[(k[(k[g>>2]|0)+20>>2]|0)+64>>2]=k[m>>2];k[w>>2]=(k[(k[g>>2]|0)+20>>2]|0)+72+((k[m>>2]|0)*24|0);if(k[j>>2]|0){r0(k[w>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;ie(k[j>>2]|0)}k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[(k[(k[g>>2]|0)+20>>2]|0)+64>>2]|0))break;k[(k[(k[g>>2]|0)+20>>2]|0)+72+((k[v>>2]|0)*24|0)>>2]=k[w>>2];k[w>>2]=(k[w>>2]|0)+(k[(k[(k[g>>2]|0)+20>>2]|0)+72+((k[v>>2]|0)*24|0)+4>>2]|0);k[v>>2]=(k[v>>2]|0)+1}k[f>>2]=0}k[k[B>>2]>>2]=k[g>>2];k[x>>2]=k[f>>2];E=k[x>>2]|0;u=D;return E|0}while(0);if(k[h>>2]|0)Rb[k[(k[e>>2]|0)+16>>2]&255](k[h>>2]|0)|0;ie(k[j>>2]|0);ie(k[g>>2]|0);k[k[B>>2]>>2]=0;k[x>>2]=7;E=k[x>>2]|0;u=D;return E|0}function PP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+80|0;x=B+68|0;y=B+64|0;z=B+60|0;A=B+56|0;g=B+52|0;h=B+48|0;j=B+44|0;l=B+40|0;m=B+36|0;n=B+32|0;o=B+28|0;p=B+24|0;q=B+20|0;r=B+16|0;s=B+12|0;t=B+8|0;v=B+4|0;w=B;k[x>>2]=a;k[y>>2]=b;k[z>>2]=c;k[A>>2]=d;k[g>>2]=e;k[h>>2]=f;k[j>>2]=k[k[x>>2]>>2];k[l>>2]=k[k[j>>2]>>2];k[o>>2]=0;k[p>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[A>>2]|0))break;if((i[(k[z>>2]|0)+(k[p>>2]|0)>>0]|0)==40)break;if((i[(k[z>>2]|0)+(k[p>>2]|0)>>0]|0)==41)break;if((i[(k[z>>2]|0)+(k[p>>2]|0)>>0]|0)==34)break;k[p>>2]=(k[p>>2]|0)+1}k[k[h>>2]>>2]=k[p>>2];f=ON(k[j>>2]|0,k[(k[x>>2]|0)+4>>2]|0,k[z>>2]|0,k[p>>2]|0,n)|0;k[m>>2]=f;if(k[m>>2]|0){z=k[o>>2]|0;A=k[g>>2]|0;k[A>>2]=z;A=k[m>>2]|0;u=B;return A|0}k[r>>2]=0;k[s>>2]=0;k[t>>2]=0;k[v>>2]=0;f=Qb[k[(k[l>>2]|0)+20>>2]&255](k[n>>2]|0,q,r,s,t,v)|0;k[m>>2]=f;if(k[m>>2]|0){if((k[p>>2]|0)!=0&(k[m>>2]|0)==101)k[m>>2]=0}else{k[w>>2]=144+(k[r>>2]|0);f=KP(k[w>>2]|0)|0;k[o>>2]=f;a:do if(k[o>>2]|0){k[k[o>>2]>>2]=5;k[(k[o>>2]|0)+20>>2]=(k[o>>2]|0)+48;k[(k[(k[o>>2]|0)+20>>2]|0)+64>>2]=1;k[(k[(k[o>>2]|0)+20>>2]|0)+68>>2]=k[y>>2];k[(k[(k[o>>2]|0)+20>>2]|0)+72+4>>2]=k[r>>2];k[(k[(k[o>>2]|0)+20>>2]|0)+72>>2]=(k[(k[o>>2]|0)+20>>2]|0)+96;r0(k[(k[(k[o>>2]|0)+20>>2]|0)+72>>2]|0,k[q>>2]|0,k[r>>2]|0)|0;if((k[t>>2]|0)<(k[A>>2]|0)?(i[(k[z>>2]|0)+(k[t>>2]|0)>>0]|0)==42:0){k[(k[(k[o>>2]|0)+20>>2]|0)+72+8>>2]=1;k[t>>2]=(k[t>>2]|0)+1}while(1){if(!((k[s>>2]|0)>0?(k[(k[x>>2]|0)+12>>2]|0)!=0:0))break a;if((i[(k[z>>2]|0)+((k[s>>2]|0)-1)>>0]|0)!=94)break a;k[(k[(k[o>>2]|0)+20>>2]|0)+72+12>>2]=1;k[s>>2]=(k[s>>2]|0)+-1}}else k[m>>2]=7;while(0);k[k[h>>2]>>2]=k[t>>2]}Rb[k[(k[l>>2]|0)+16>>2]&255](k[n>>2]|0)|0;z=k[o>>2]|0;A=k[g>>2]|0;k[A>>2]=z;A=k[m>>2]|0;u=B;return A|0}function QP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;b=fg(k[c>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;if(k[d>>2]|0){f=k[d>>2]|0;u=e;return f|0}ie(k[c>>2]|0);f=k[d>>2]|0;u=e;return f|0}function RP(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;SP(k[(k[c>>2]|0)+20>>2]|0);ie(k[(k[c>>2]|0)+40>>2]|0);ie(k[c>>2]|0);u=b;return}function SP(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){u=e;return}ie(k[k[c>>2]>>2]|0);gN(k[c>>2]|0);a=k[c>>2]|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+64>>2]|0))break;AN(k[(k[c>>2]|0)+72+((k[d>>2]|0)*24|0)+20>>2]|0);k[(k[c>>2]|0)+72+((k[d>>2]|0)*24|0)+20>>2]=0;k[d>>2]=(k[d>>2]|0)+1}u=e;return}function TP(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+8>>2];xL(k[(k[c>>2]|0)+12>>2]|0);ie(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+24>>2]=0;u=e;return}function UP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=u;u=u+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if((ZJ()|0)<3008002){u=f;return}b=e;c=k[b+4>>2]|0;e=(k[d>>2]|0)+48|0;k[e>>2]=k[b>>2];k[e+4>>2]=c;u=f;return}function VP(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if((ZJ()|0)<3008012){u=c;return}b=(k[b>>2]|0)+56|0;k[b>>2]=k[b>>2]|1;u=c;return}function WP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=u;u=u+288|0;ca=ha+40|0;ba=ha+32|0;D=ha+24|0;r=ha+16|0;s=ha+8|0;q=ha;aa=ha+280|0;C=ha+276|0;ia=ha+272|0;h=ha+268|0;E=ha+264|0;da=ha+260|0;F=ha+256|0;v=ha+252|0;ea=ha+248|0;fa=ha+244|0;G=ha+240|0;w=ha+236|0;H=ha+232|0;x=ha+228|0;I=ha+224|0;J=ha+220|0;K=ha+216|0;L=ha+212|0;M=ha+208|0;N=ha+204|0;ga=ha+200|0;O=ha+196|0;P=ha+192|0;y=ha+188|0;z=ha+184|0;Q=ha+180|0;R=ha+176|0;S=ha+172|0;T=ha+168|0;U=ha+164|0;V=ha+160|0;W=ha+156|0;j=ha+152|0;l=ha+148|0;m=ha+144|0;n=ha+80|0;o=ha+76|0;p=ha+72|0;A=ha+68|0;B=ha+64|0;X=ha+60|0;Y=ha+56|0;Z=ha+52|0;_=ha+48|0;$=ha+44|0;k[aa>>2]=a;k[C>>2]=b;k[ia>>2]=c;k[h>>2]=d;k[E>>2]=e;k[da>>2]=f;k[F>>2]=g;k[v>>2]=k[ia>>2];k[ea>>2]=0;k[fa>>2]=0;k[x>>2]=0;k[I>>2]=0;k[M>>2]=(i[(k[k[E>>2]>>2]|0)+3>>0]|0)==52&1;k[ga>>2]=0;k[O>>2]=0;k[P>>2]=0;k[y>>2]=0;k[z>>2]=0;k[Q>>2]=0;k[R>>2]=0;k[S>>2]=0;k[T>>2]=0;k[U>>2]=0;k[V>>2]=0;k[W>>2]=0;g=(q$(k[(k[E>>2]|0)+4>>2]|0)|0)+1|0;k[K>>2]=g;g=(q$(k[(k[E>>2]|0)+8>>2]|0)|0)+1|0;k[L>>2]=g;k[w>>2]=(k[h>>2]|0)-2<<2;g=ze(k[w>>2]|0)|0;k[N>>2]=g;if(k[N>>2]|0){w0(k[N>>2]|0,0,k[w>>2]|0)|0;ia=ze(k[w>>2]|0)|0;k[V>>2]=ia}if(k[V>>2]|0)w0(k[V>>2]|0,0,k[w>>2]|0)|0;do if((k[N>>2]|0)!=0&(k[V>>2]|0)!=0){k[G>>2]=3;while(1){if(k[fa>>2]|0)break;if((k[G>>2]|0)>=(k[h>>2]|0))break;k[j>>2]=k[(k[E>>2]|0)+(k[G>>2]<<2)>>2];if(((!(k[ga>>2]|0)?(q$(k[j>>2]|0)|0)>>>0>8:0)?0==(vd(k[j>>2]|0,46131,8)|0):0)?0==(XP(i[(k[j>>2]|0)+8>>0]|0)|0):0){ia=YP(k[v>>2]|0,(k[j>>2]|0)+9|0,ga,k[F>>2]|0)|0;k[fa>>2]=ia}else t=15;do if((t|0)==15){t=0;if(k[M>>2]|0?ZP(k[j>>2]|0,l,m)|0:0){a=n;b=6700;c=a+64|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));if(!(k[m>>2]|0)){k[fa>>2]=7;break}k[o>>2]=0;while(1){if((k[o>>2]|0)>=8)break;k[p>>2]=n+(k[o>>2]<<3);if((k[l>>2]|0)==(k[(k[p>>2]|0)+4>>2]|0)?(vd(k[j>>2]|0,k[k[p>>2]>>2]|0,k[(k[p>>2]|0)+4>>2]|0)|0)==0:0)break;k[o>>2]=(k[o>>2]|0)+1}a:do if((k[o>>2]|0)==8){ia=k[F>>2]|0;k[q>>2]=k[j>>2];SK(ia,46140,q);k[fa>>2]=1}else switch(k[o>>2]|0){case 0:{if(!((q$(k[m>>2]|0)|0)==4?!(vd(k[m>>2]|0,42646,4)|0):0)){ia=k[F>>2]|0;k[s>>2]=k[m>>2];SK(ia,46167,s);k[fa>>2]=1}k[y>>2]=1;break a}case 1:{ie(k[Q>>2]|0);k[Q>>2]=k[m>>2];k[m>>2]=0;break a}case 2:{ie(k[R>>2]|0);k[R>>2]=k[m>>2];k[m>>2]=0;break a}case 3:{ie(k[S>>2]|0);k[S>>2]=k[m>>2];k[m>>2]=0;break a}case 4:{if(!((q$(k[m>>2]|0)|0)==3?!(vd(k[m>>2]|0,46194,3)|0):0))t=36;do if((t|0)==36){t=0;if((q$(k[m>>2]|0)|0)==4?(vd(k[m>>2]|0,32597,4)|0)==0:0)break;ia=k[F>>2]|0;k[r>>2]=k[m>>2];SK(ia,46198,r);k[fa>>2]=1}while(0);if((i[k[m>>2]>>0]|0)==100)a=1;else a=(i[k[m>>2]>>0]|0)==68;k[z>>2]=a&1;break a}case 5:{ie(k[T>>2]|0);k[T>>2]=k[m>>2];k[m>>2]=0;break a}case 6:{ie(k[U>>2]|0);k[U>>2]=k[m>>2];k[m>>2]=0;break a}case 7:{f=k[m>>2]|0;g=k[V>>2]|0;ia=k[W>>2]|0;k[W>>2]=ia+1;k[g+(ia<<2)>>2]=f;k[m>>2]=0;break a}default:break a}while(0);ie(k[m>>2]|0);break}f=(q$(k[j>>2]|0)|0)+1|0;k[x>>2]=(k[x>>2]|0)+f;f=k[j>>2]|0;g=k[N>>2]|0;ia=k[I>>2]|0;k[I>>2]=ia+1;k[g+(ia<<2)>>2]=f}while(0);k[G>>2]=(k[G>>2]|0)+1}b:do if(((k[fa>>2]|0)==0&(k[T>>2]|0)!=0?(ie(k[R>>2]|0),ie(k[S>>2]|0),k[R>>2]=0,k[S>>2]=0,(k[I>>2]|0)==0):0)?(ie(k[N>>2]|0),k[N>>2]=0,ia=_P(k[C>>2]|0,k[(k[E>>2]|0)+4>>2]|0,k[T>>2]|0,N,I,x,k[F>>2]|0)|0,k[fa>>2]=ia,(k[fa>>2]|0)==0&(k[U>>2]|0)!=0):0){k[A>>2]=0;while(1){if((k[A>>2]|0)>=(k[I>>2]|0))break b;ia=(ul(k[U>>2]|0,k[(k[N>>2]|0)+(k[A>>2]<<2)>>2]|0)|0)==0;a=k[A>>2]|0;if(ia)break;k[A>>2]=a+1}k[B>>2]=a;while(1){if((k[B>>2]|0)>=(k[I>>2]|0))break;k[(k[N>>2]|0)+(k[B>>2]<<2)>>2]=k[(k[N>>2]|0)+((k[B>>2]|0)+1<<2)>>2];k[B>>2]=(k[B>>2]|0)+1}k[I>>2]=(k[I>>2]|0)+-1}while(0);if(!(k[fa>>2]|0)){if(!(k[I>>2]|0)){k[k[N>>2]>>2]=46221;k[x>>2]=8;k[I>>2]=1}if((k[ga>>2]|0)==0?(ia=YP(k[v>>2]|0,42572,ga,k[F>>2]|0)|0,k[fa>>2]=ia,k[fa>>2]|0):0)break;ia=$P(k[Q>>2]|0,O,P)|0;k[fa>>2]=ia;if((k[fa>>2]|0)==1){ia=k[F>>2]|0;k[D>>2]=k[Q>>2];SK(ia,46229,D)}if(!(k[fa>>2]|0)){k[w>>2]=280+(k[I>>2]<<2)+((k[O>>2]|0)*24|0)+(k[I>>2]|0)+(k[L>>2]|0)+(k[K>>2]|0)+(k[x>>2]|0);ia=ze(k[w>>2]|0)|0;k[ea>>2]=ia;if(!(k[ea>>2]|0)){k[fa>>2]=7;break}w0(k[ea>>2]|0,0,k[w>>2]|0)|0;k[(k[ea>>2]|0)+12>>2]=k[C>>2];k[(k[ea>>2]|0)+24>>2]=k[I>>2];k[(k[ea>>2]|0)+260>>2]=0;k[(k[ea>>2]|0)+28>>2]=(k[ea>>2]|0)+280;k[(k[ea>>2]|0)+36>>2]=k[ga>>2];k[(k[ea>>2]|0)+256>>2]=1048576;i[(k[ea>>2]|0)+230>>0]=(k[M>>2]|0?(k[y>>2]|0)==0:0)&1;i[(k[ea>>2]|0)+229>>0]=k[M>>2];i[(k[ea>>2]|0)+228>>0]=k[M>>2];i[(k[ea>>2]|0)+231>>0]=k[z>>2];k[(k[ea>>2]|0)+48>>2]=255;k[(k[ea>>2]|0)+40>>2]=k[T>>2];k[(k[ea>>2]|0)+44>>2]=k[U>>2];k[T>>2]=0;k[U>>2]=0;k[(k[ea>>2]|0)+252>>2]=(k[(k[ea>>2]|0)+28>>2]|0)+(k[I>>2]<<2);r0(k[(k[ea>>2]|0)+252>>2]|0,k[P>>2]|0,(k[O>>2]|0)*24|0)|0;k[(k[ea>>2]|0)+248>>2]=k[O>>2];k[G>>2]=0;while(1){a=k[(k[ea>>2]|0)+252>>2]|0;if((k[G>>2]|0)>=(k[O>>2]|0))break;xK(a+((k[G>>2]|0)*24|0)+4|0,1,1);k[G>>2]=(k[G>>2]|0)+1}k[(k[ea>>2]|0)+32>>2]=a+((k[O>>2]|0)*24|0);k[J>>2]=(k[(k[ea>>2]|0)+32>>2]|0)+(k[I>>2]|0);k[(k[ea>>2]|0)+20>>2]=k[J>>2];r0(k[J>>2]|0,k[(k[E>>2]|0)+8>>2]|0,k[L>>2]|0)|0;k[J>>2]=(k[J>>2]|0)+(k[L>>2]|0);k[(k[ea>>2]|0)+16>>2]=k[J>>2];r0(k[J>>2]|0,k[(k[E>>2]|0)+4>>2]|0,k[K>>2]|0)|0;k[J>>2]=(k[J>>2]|0)+(k[K>>2]|0);k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[I>>2]|0))break;k[Y>>2]=0;ia=aQ(k[(k[N>>2]|0)+(k[H>>2]<<2)>>2]|0,Y)|0;k[X>>2]=ia;r0(k[J>>2]|0,k[X>>2]|0,k[Y>>2]|0)|0;i[(k[J>>2]|0)+(k[Y>>2]|0)>>0]=0;$K(k[J>>2]|0);k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[H>>2]<<2)>>2]=k[J>>2];k[J>>2]=(k[J>>2]|0)+((k[Y>>2]|0)+1);k[H>>2]=(k[H>>2]|0)+1}k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[I>>2]|0))break;ia=q$(k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[H>>2]<<2)>>2]|0)|0;k[Z>>2]=ia;k[G>>2]=0;while(1){if((k[G>>2]|0)>=(k[W>>2]|0))break;k[_>>2]=k[(k[V>>2]|0)+(k[G>>2]<<2)>>2];if((k[_>>2]|0?(ia=k[Z>>2]|0,(ia|0)==(q$(k[_>>2]|0)|0)):0)?0==(vd(k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[H>>2]<<2)>>2]|0,k[_>>2]|0,k[Z>>2]|0)|0):0){i[(k[(k[ea>>2]|0)+32>>2]|0)+(k[H>>2]|0)>>0]=1;ie(k[_>>2]|0);k[(k[V>>2]|0)+(k[G>>2]<<2)>>2]=0}k[G>>2]=(k[G>>2]|0)+1}k[H>>2]=(k[H>>2]|0)+1}k[G>>2]=0;while(1){if((k[G>>2]|0)>=(k[W>>2]|0))break;if(k[(k[V>>2]|0)+(k[G>>2]<<2)>>2]|0){ia=k[F>>2]|0;k[ba>>2]=k[(k[V>>2]|0)+(k[G>>2]<<2)>>2];SK(ia,34753,ba);k[fa>>2]=1}k[G>>2]=(k[G>>2]|0)+1}if((k[fa>>2]|0)==0?((k[R>>2]|0)==0|0)!=((k[S>>2]|0)==0|0):0){k[$>>2]=(k[R>>2]|0)==0?46264:46273;k[fa>>2]=1;ia=k[F>>2]|0;k[ca>>2]=k[$>>2];SK(ia,46284,ca)}ia=bQ(k[ea>>2]|0,k[S>>2]|0,fa)|0;k[(k[ea>>2]|0)+216>>2]=ia;ia=cQ(k[ea>>2]|0,k[R>>2]|0,fa)|0;k[(k[ea>>2]|0)+220>>2]=ia;if(!(k[fa>>2]|0)){if(k[aa>>2]|0){ia=dQ(k[ea>>2]|0)|0;k[fa>>2]=ia}if(!((k[M>>2]|0)!=0|(k[aa>>2]|0)!=0))i[(k[ea>>2]|0)+229>>0]=2;eQ(fa,k[ea>>2]|0);k[(k[ea>>2]|0)+224>>2]=(k[(k[ea>>2]|0)+236>>2]|0)-35;fQ(fa,k[ea>>2]|0)}}}}else k[fa>>2]=7;while(0);ie(k[Q>>2]|0);ie(k[P>>2]|0);ie(k[R>>2]|0);ie(k[S>>2]|0);ie(k[T>>2]|0);ie(k[U>>2]|0);k[G>>2]=0;while(1){if((k[G>>2]|0)>=(k[W>>2]|0))break;ie(k[(k[V>>2]|0)+(k[G>>2]<<2)>>2]|0);k[G>>2]=(k[G>>2]|0)+1}ie(k[N>>2]|0);ie(k[V>>2]|0);a=k[ea>>2]|0;if(!(k[fa>>2]|0)){k[k[da>>2]>>2]=a;ia=k[fa>>2]|0;u=ha;return ia|0}if(a|0){dL(k[ea>>2]|0)|0;ia=k[fa>>2]|0;u=ha;return ia|0}if(!(k[ga>>2]|0)){ia=k[fa>>2]|0;u=ha;return ia|0}Rb[k[(k[k[ga>>2]>>2]|0)+8>>2]&255](k[ga>>2]|0)|0;ia=k[fa>>2]|0;u=ha;return ia|0}function XP(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;i[b>>0]=a;if(i[b>>0]&128|0){b=1;b=b&1;u=c;return b|0}b=(i[46949+(i[b>>0]|0)>>0]|0)!=0;b=b&1;u=c;return b|0}function YP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;y=u;u=u+80|0;w=y+16|0;v=y+8|0;z=y;p=y+76|0;q=y+72|0;A=y+68|0;r=y+64|0;s=y+60|0;t=y+56|0;e=y+52|0;f=y+48|0;g=y+44|0;h=y+40|0;j=y+36|0;l=y+32|0;m=y+28|0;n=y+24|0;o=y+20|0;k[q>>2]=a;k[A>>2]=b;k[r>>2]=c;k[s>>2]=d;k[e>>2]=k[A>>2];k[f>>2]=0;k[z>>2]=k[A>>2];d=xf(21240,z)|0;k[g>>2]=d;if(!(k[g>>2]|0)){k[p>>2]=7;A=k[p>>2]|0;u=y;return A|0}A=k[g>>2]|0;A=A+(q$(k[g>>2]|0)|0)|0;k[h>>2]=A;A=aQ(k[g>>2]|0,f)|0;k[e>>2]=A;if(!(k[e>>2]|0))k[e>>2]=k[g>>2];i[(k[e>>2]|0)+(k[f>>2]|0)>>0]=0;$K(k[e>>2]|0);z=k[q>>2]|0;A=k[e>>2]|0;A=RK(z,A,(q$(k[e>>2]|0)|0)+1|0)|0;k[j>>2]=A;if(k[j>>2]|0){k[l>>2]=0;k[m>>2]=0;k[e>>2]=(k[e>>2]|0)+((k[f>>2]|0)+1);while(1){if((k[e>>2]|0)>>>0>=(k[h>>2]|0)>>>0)break;A=aQ(k[e>>2]|0,f)|0;k[e>>2]=A;if(!A)break;k[n>>2]=(k[m>>2]|0)+1<<2;A=fg(k[l>>2]|0,k[n>>2]|0)|0;k[o>>2]=A;if(!(k[o>>2]|0)){x=11;break}k[l>>2]=k[o>>2];v=k[e>>2]|0;z=k[l>>2]|0;A=k[m>>2]|0;k[m>>2]=A+1;k[z+(A<<2)>>2]=v;i[(k[e>>2]|0)+(k[f>>2]|0)>>0]=0;$K(k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+((k[f>>2]|0)+1)}if((x|0)==11){ie(k[g>>2]|0);ie(k[l>>2]|0);k[p>>2]=7;A=k[p>>2]|0;u=y;return A|0}A=Lb[k[(k[j>>2]|0)+4>>2]&255](k[m>>2]|0,k[l>>2]|0,k[r>>2]|0)|0;k[t>>2]=A;if(k[t>>2]|0)SK(k[s>>2]|0,46931,w);else k[k[k[r>>2]>>2]>>2]=k[j>>2];ie(k[l>>2]|0)}else{A=k[s>>2]|0;k[v>>2]=k[e>>2];SK(A,42720,v);k[t>>2]=1}ie(k[g>>2]|0);k[p>>2]=k[t>>2];A=k[p>>2]|0;u=y;return A|0}function ZP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;l=n;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j>>2]=k[e>>2];while(1){a=k[j>>2]|0;if((i[k[j>>2]>>0]|0)==61)break;if(!(i[a>>0]|0)){m=4;break}k[j>>2]=(k[j>>2]|0)+1}if((m|0)==4){k[d>>2]=0;m=k[d>>2]|0;u=n;return m|0}k[k[f>>2]>>2]=a-(k[e>>2]|0);k[l>>2]=(k[j>>2]|0)+1;m=xf(21240,l)|0;k[h>>2]=m;if(k[h>>2]|0)$K(k[h>>2]|0);k[k[g>>2]>>2]=k[h>>2];k[d>>2]=1;m=k[d>>2]|0;u=n;return m|0}function _P(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=u;u=u+96|0;z=A+8|0;B=A;y=A+80|0;C=A+76|0;D=A+72|0;h=A+68|0;i=A+64|0;j=A+60|0;l=A+56|0;m=A+52|0;n=A+48|0;o=A+44|0;p=A+40|0;q=A+36|0;r=A+32|0;s=A+28|0;t=A+24|0;v=A+20|0;w=A+16|0;x=A+12|0;k[y>>2]=a;k[C>>2]=b;k[D>>2]=c;k[h>>2]=d;k[i>>2]=e;k[j>>2]=f;k[l>>2]=g;k[m>>2]=0;k[o>>2]=0;g=k[D>>2]|0;k[B>>2]=k[C>>2];k[B+4>>2]=g;g=xf(46882,B)|0;k[n>>2]=g;if(k[n>>2]|0){D=Wv(k[y>>2]|0,k[n>>2]|0,-1,o,0)|0;k[m>>2]=D;if(k[m>>2]|0){D=k[l>>2]|0;C=Ov(k[y>>2]|0)|0;k[z>>2]=C;SK(D,21240,z)}}else k[m>>2]=7;ie(k[n>>2]|0);if(k[m>>2]|0){D=k[m>>2]|0;u=A;return D|0}k[q>>2]=0;D=Kv(k[o>>2]|0)|0;k[r>>2]=D;k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[r>>2]|0))break;D=Lv(k[o>>2]|0,k[s>>2]|0)|0;k[t>>2]=D;D=(q$(k[t>>2]|0)|0)+1|0;k[q>>2]=(k[q>>2]|0)+D;k[s>>2]=(k[s>>2]|0)+1}D=ze((k[r>>2]<<2)+(k[q>>2]|0)|0)|0;k[p>>2]=D;a:do if(!(k[p>>2]|0))k[m>>2]=7;else{k[v>>2]=(k[p>>2]|0)+(k[r>>2]<<2);k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[r>>2]|0))break a;D=Lv(k[o>>2]|0,k[s>>2]|0)|0;k[w>>2]=D;D=(q$(k[w>>2]|0)|0)+1|0;k[x>>2]=D;r0(k[v>>2]|0,k[w>>2]|0,k[x>>2]|0)|0;k[(k[p>>2]|0)+(k[s>>2]<<2)>>2]=k[v>>2];k[v>>2]=(k[v>>2]|0)+(k[x>>2]|0);k[s>>2]=(k[s>>2]|0)+1}}while(0);Pr(k[o>>2]|0)|0;k[k[i>>2]>>2]=k[r>>2];k[k[j>>2]>>2]=k[q>>2];k[k[h>>2]>>2]=k[p>>2];D=k[m>>2]|0;u=A;return D|0}function $P(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;g=p+36|0;h=p+32|0;j=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;d=p+8|0;e=p+4|0;f=p;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[n>>2]=1;a:do if(k[h>>2]|0?i[k[h>>2]>>0]|0:0){k[n>>2]=(k[n>>2]|0)+1;k[o>>2]=k[h>>2];while(1){if(!(i[k[o>>2]>>0]|0))break a;if((i[k[o>>2]>>0]|0)==44)k[n>>2]=(k[n>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+1}}while(0);o=ze((k[n>>2]|0)*24|0)|0;k[m>>2]=o;k[k[l>>2]>>2]=k[m>>2];if(!(k[m>>2]|0)){k[g>>2]=7;o=k[g>>2]|0;u=p;return o|0}w0(k[m>>2]|0,0,(k[n>>2]|0)*24|0)|0;b:do if(k[h>>2]|0){k[d>>2]=k[h>>2];k[e>>2]=1;while(1){if((k[e>>2]|0)>=(k[n>>2]|0))break b;k[f>>2]=0;if(iQ(d,f)|0)break;if(!(k[f>>2]|0)){k[n>>2]=(k[n>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+-1}else k[(k[m>>2]|0)+((k[e>>2]|0)*24|0)>>2]=k[f>>2];k[d>>2]=(k[d>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+1}k[g>>2]=1;o=k[g>>2]|0;u=p;return o|0}while(0);k[k[j>>2]>>2]=k[n>>2];k[g>>2]=0;o=k[g>>2]|0;u=p;return o|0}function aQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=u;u=u+32|0;d=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c=h+20|0;k[j>>2]=a;k[e>>2]=b;k[g>>2]=0;k[f>>2]=k[j>>2];a:while(1){if(k[g>>2]|0){a=21;break}i[c>>0]=i[k[f>>2]>>0]|0;switch(i[c>>0]|0){case 0:{a=4;break a}case 96:case 34:case 39:{k[g>>2]=k[f>>2];while(1){j=(k[g>>2]|0)+1|0;k[g>>2]=j;if(!(i[j>>0]|0))continue a;if((i[k[g>>2]>>0]|0)!=(i[c>>0]|0))continue;j=(k[g>>2]|0)+1|0;k[g>>2]=j;if((i[j>>0]|0)!=(i[c>>0]|0))continue a}}case 91:{k[g>>2]=(k[f>>2]|0)+1;while(1){if(i[k[g>>2]>>0]|0)b=(i[k[g>>2]>>0]|0)!=93;else b=0;a=k[g>>2]|0;if(!b)break;k[g>>2]=a+1}if(!(i[a>>0]|0))continue a;k[g>>2]=(k[g>>2]|0)+1;continue a}default:{j=(XP(i[k[f>>2]>>0]|0)|0)!=0;a=(k[f>>2]|0)+1|0;if(!j){k[f>>2]=a;continue a}k[g>>2]=a;while(1){if(!(XP(i[k[g>>2]>>0]|0)|0))continue a;k[g>>2]=(k[g>>2]|0)+1}}}}if((a|0)==4){k[d>>2]=0;j=k[d>>2]|0;u=h;return j|0}else if((a|0)==21){k[k[e>>2]>>2]=(k[g>>2]|0)-(k[f>>2]|0);k[d>>2]=k[f>>2];j=k[d>>2]|0;u=h;return j|0}return 0}function bQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+96|0;r=s+56|0;m=s+48|0;l=s+40|0;o=s+32|0;n=s+24|0;j=s+8|0;i=s;p=s+92|0;d=s+88|0;e=s+84|0;q=s+80|0;f=s+76|0;g=s+72|0;h=s+68|0;k[p>>2]=a;k[d>>2]=b;k[e>>2]=c;k[q>>2]=0;k[f>>2]=0;if(k[(k[p>>2]|0)+40>>2]|0){hQ(k[e>>2]|0,q,26001,o);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[p>>2]|0)+24>>2]|0))break;o=k[e>>2]|0;k[l>>2]=k[(k[(k[p>>2]|0)+28>>2]|0)+(k[h>>2]<<2)>>2];hQ(o,q,46841,l);k[h>>2]=(k[h>>2]|0)+1}if(k[(k[p>>2]|0)+44>>2]|0){o=k[e>>2]|0;k[m>>2]=k[(k[p>>2]|0)+44>>2];hQ(o,q,46827,m)}}else{if(k[d>>2]|0){o=gQ(k[d>>2]|0)|0;k[g>>2]=o;k[f>>2]=o}else k[g>>2]=55752;hQ(k[e>>2]|0,q,46806,i);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[p>>2]|0)+24>>2]|0))break;o=k[e>>2]|0;l=k[h>>2]|0;m=k[(k[(k[p>>2]|0)+28>>2]|0)+(k[h>>2]<<2)>>2]|0;k[j>>2]=k[g>>2];k[j+4>>2]=l;k[j+8>>2]=m;hQ(o,q,46812,j);k[h>>2]=(k[h>>2]|0)+1}if(k[(k[p>>2]|0)+44>>2]|0){o=k[e>>2]|0;k[n>>2]=46834;hQ(o,q,46827,n)}ie(k[f>>2]|0)}a=k[e>>2]|0;b=k[(k[p>>2]|0)+16>>2]|0;c=k[p>>2]|0;if(k[(k[p>>2]|0)+40>>2]|0){n=k[c+40>>2]|0;o=k[p>>2]|0;o=o+40|0;o=k[o>>2]|0;o=(o|0)!=0;o=o?55752:46850;k[r>>2]=b;p=r+4|0;k[p>>2]=n;p=r+8|0;k[p>>2]=o;hQ(a,q,46859,r);r=k[q>>2]|0;u=s;return r|0}else{n=k[c+20>>2]|0;o=k[p>>2]|0;o=o+40|0;o=k[o>>2]|0;o=(o|0)!=0;o=o?55752:46850;k[r>>2]=b;p=r+4|0;k[p>>2]=n;p=r+8|0;k[p>>2]=o;hQ(a,q,46859,r);r=k[q>>2]|0;u=s;return r|0}return 0}function cQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+48|0;m=n+16|0;l=n+8|0;d=n+44|0;e=n+40|0;f=n+36|0;g=n+32|0;h=n+28|0;i=n+24|0;j=n+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;k[h>>2]=0;if(k[e>>2]|0){e=gQ(k[e>>2]|0)|0;k[i>>2]=e;k[h>>2]=e}else k[i>>2]=55752;hQ(k[f>>2]|0,g,27259,n);k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[d>>2]|0)+24>>2]|0))break;e=k[f>>2]|0;k[l>>2]=k[i>>2];hQ(e,g,46795,l);k[j>>2]=(k[j>>2]|0)+1}if(!(k[(k[d>>2]|0)+44>>2]|0)){m=k[h>>2]|0;ie(m);m=k[g>>2]|0;u=n;return m|0}hQ(k[f>>2]|0,g,46802,m);m=k[h>>2]|0;ie(m);m=k[g>>2]|0;u=n;return m|0}function dQ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+112|0;o=q+64|0;m=q+56|0;l=q+48|0;j=q+32|0;p=q+24|0;n=q+8|0;b=q+96|0;c=q+92|0;d=q+88|0;e=q+84|0;f=q+80|0;g=q+76|0;h=q+72|0;k[b>>2]=a;k[c>>2]=0;k[e>>2]=k[(k[b>>2]|0)+12>>2];if(!(k[(k[b>>2]|0)+40>>2]|0)){k[f>>2]=k[(k[b>>2]|0)+44>>2];a=xf(46420,q)|0;k[g>>2]=a;k[d>>2]=0;while(1){if(!(k[g>>2]|0))break;if((k[d>>2]|0)>=(k[(k[b>>2]|0)+24>>2]|0))break;k[h>>2]=k[(k[(k[b>>2]|0)+28>>2]|0)+(k[d>>2]<<2)>>2];r=k[d>>2]|0;a=k[h>>2]|0;k[n>>2]=k[g>>2];k[n+4>>2]=r;k[n+8>>2]=a;a=xf(46446,n)|0;k[g>>2]=a;k[d>>2]=(k[d>>2]|0)+1}if((k[f>>2]|0)!=0&(k[g>>2]|0)!=0){r=k[f>>2]|0;k[p>>2]=k[g>>2];k[p+4>>2]=r;r=xf(46458,p)|0;k[g>>2]=r}if(!(k[g>>2]|0))k[c>>2]=7;r=k[e>>2]|0;n=k[(k[b>>2]|0)+20>>2]|0;p=k[g>>2]|0;k[j>>2]=k[(k[b>>2]|0)+16>>2];k[j+4>>2]=n;k[j+8>>2]=p;AL(c,r,46469,j);ie(k[g>>2]|0)}r=k[e>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[l>>2]=k[(k[b>>2]|0)+16>>2];k[l+4>>2]=p;AL(c,r,46502,l);r=k[e>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[m>>2]=k[(k[b>>2]|0)+16>>2];k[m+4>>2]=p;AL(c,r,46574,m);if(i[(k[b>>2]|0)+230>>0]|0){r=k[e>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[o>>2]=k[(k[b>>2]|0)+16>>2];k[o+4>>2]=p;AL(c,r,46727,o)}if(!(i[(k[b>>2]|0)+229>>0]|0)){r=k[c>>2]|0;u=q;return r|0}mP(c,k[b>>2]|0);r=k[c>>2]|0;u=q;return r|0}function eQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;h=i;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;k[c>>2]=a;k[d>>2]=b;if(k[k[c>>2]>>2]|0){u=i;return}k[h>>2]=k[(k[d>>2]|0)+16>>2];h=xf(46400,h)|0;k[f>>2]=h;do if(k[f>>2]|0){h=Wv(k[(k[d>>2]|0)+12>>2]|0,k[f>>2]|0,-1,g,0)|0;k[e>>2]=h;if(!(k[e>>2]|0)){Ls(k[g>>2]|0)|0;h=sJ(k[g>>2]|0,0)|0;k[(k[d>>2]|0)+236>>2]=h;h=Pr(k[g>>2]|0)|0;k[e>>2]=h;break}if((k[e>>2]|0)==23){k[(k[d>>2]|0)+236>>2]=1024;k[e>>2]=0}}else k[e>>2]=7;while(0);ie(k[f>>2]|0);k[k[c>>2]>>2]=k[e>>2];u=i;return}function fQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+64|0;n=o+24|0;m=o+16|0;d=o+8|0;c=o;e=o+60|0;f=o+56|0;g=o+52|0;h=o+48|0;i=o+44|0;j=o+40|0;l=o+36|0;k[e>>2]=a;k[f>>2]=b;if(k[k[e>>2]>>2]|0){u=o;return}if(k[(k[f>>2]|0)+44>>2]|0)a=k[(k[f>>2]|0)+44>>2]|0;else a=46325;k[l>>2]=a;b=k[(k[f>>2]|0)+12>>2]|0;k[c>>2]=1;YJ(b,1,c)|0;k[d>>2]=k[k[(k[f>>2]|0)+28>>2]>>2];d=xf(46334,d)|0;k[j>>2]=d;k[g>>2]=1;while(1){if(k[j>>2]|0)c=(k[g>>2]|0)<(k[(k[f>>2]|0)+24>>2]|0);else c=0;a=k[j>>2]|0;b=k[f>>2]|0;if(!c)break;d=k[(k[b+28>>2]|0)+(k[g>>2]<<2)>>2]|0;k[m>>2]=a;k[m+4>>2]=d;d=xf(46339,m)|0;k[j>>2]=d;k[g>>2]=(k[g>>2]|0)+1}g=k[b+20>>2]|0;m=k[l>>2]|0;k[n>>2]=a;k[n+4>>2]=g;k[n+8>>2]=m;n=xf(46346,n)|0;k[i>>2]=n;if((k[j>>2]|0)!=0&(k[i>>2]|0)!=0){n=WJ(k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0)|0;k[h>>2]=n}else k[h>>2]=7;ie(k[i>>2]|0);ie(k[j>>2]|0);k[k[e>>2]>>2]=k[h>>2];u=o;return}function gQ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=u;u=u+32|0;b=f+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;a=2+((q$(k[b>>2]|0)|0)<<1)+1|0;k[g>>2]=a;a=ze(k[g>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){g=k[c>>2]|0;u=f;return g|0}k[e>>2]=k[c>>2];g=k[e>>2]|0;k[e>>2]=g+1;i[g>>0]=34;k[d>>2]=0;while(1){if(!(i[(k[b>>2]|0)+(k[d>>2]|0)>>0]|0))break;if((i[(k[b>>2]|0)+(k[d>>2]|0)>>0]|0)==34){g=k[e>>2]|0;k[e>>2]=g+1;i[g>>0]=34}a=i[(k[b>>2]|0)+(k[d>>2]|0)>>0]|0;g=k[e>>2]|0;k[e>>2]=g+1;i[g>>0]=a;k[d>>2]=(k[d>>2]|0)+1}g=k[e>>2]|0;k[e>>2]=g+1;i[g>>0]=34;g=k[e>>2]|0;k[e>>2]=g+1;i[g>>0]=0;g=k[c>>2]|0;u=f;return g|0}function hQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+48|0;l=m;e=m+40|0;f=m+36|0;g=m+32|0;h=m+16|0;i=m+12|0;j=m+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[k[e>>2]>>2]|0){u=m;return}k[h>>2]=d;d=Ff(k[g>>2]|0,h)|0;k[i>>2]=d;if(k[i>>2]|0?k[k[f>>2]>>2]|0:0){d=k[i>>2]|0;k[l>>2]=k[k[f>>2]>>2];k[l+4>>2]=d;d=xf(23403,l)|0;k[j>>2]=d;ie(k[i>>2]|0);k[i>>2]=k[j>>2]}if(!(k[i>>2]|0))k[k[e>>2]>>2]=7;ie(k[k[f>>2]>>2]|0);k[k[f>>2]>>2]=k[i>>2];u=m;return}function iQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[j+8>>2]=1e7;k[g>>2]=0;k[f>>2]=k[k[d>>2]>>2];while(1){if((i[k[f>>2]>>0]|0)<48)break;if((i[k[f>>2]>>0]|0)>57)break;k[g>>2]=((k[g>>2]|0)*10|0)+((i[k[f>>2]>>0]|0)-48);if((k[g>>2]|0)>1e7){h=5;break}k[f>>2]=(k[f>>2]|0)+1}if((h|0)==5)k[g>>2]=0;if((k[f>>2]|0)==(k[k[d>>2]>>2]|0)){k[c>>2]=1;h=k[c>>2]|0;u=j;return h|0}else{k[k[e>>2]>>2]=k[g>>2];k[k[d>>2]>>2]=k[f>>2];k[c>>2]=0;h=k[c>>2]|0;u=j;return h|0}return 0}function jQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+48|0;n=o;g=o+40|0;p=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;d=o+12|0;e=o+8|0;f=o+4|0;k[g>>2]=a;k[p>>2]=b;k[h>>2]=c;k[j>>2]=0;c=_h(k[g>>2]|0)|0;k[i>>2]=c;c=$h(k[k[h>>2]>>2]|0)|0;k[l>>2]=c;c=(ai(k[k[h>>2]>>2]|0)|0)+1|0;k[m>>2]=c;do if((k[p>>2]|0)==2){if(!(kQ(k[g>>2]|0)|0)){bi(k[g>>2]|0,47100,-1);u=o;return}p=ai(k[(k[h>>2]|0)+4>>2]|0)|0;k[e>>2]=p;if((k[l>>2]|0)==0|(k[e>>2]|0)!=4){bi(k[g>>2]|0,47077,-1);u=o;return}else{p=$i(k[(k[h>>2]|0)+4>>2]|0)|0;k[j>>2]=k[p>>2];p=yK(k[i>>2]|0,k[l>>2]|0,k[m>>2]|0,k[j>>2]|0)|0;k[d>>2]=p;if((k[d>>2]|0)!=(k[j>>2]|0))break;bi(k[g>>2]|0,22481,-1);break}}else{if(k[l>>2]|0){p=RK(k[i>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[j>>2]=p}if(!(k[j>>2]|0)){k[n>>2]=k[l>>2];p=xf(42720,n)|0;k[f>>2]=p;bi(k[g>>2]|0,k[f>>2]|0,-1);ie(k[f>>2]|0);u=o;return}}while(0);wj(k[g>>2]|0,j,4,-1);u=o;return}function kQ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=u;u=u+32|0;d=c;f=c+16|0;e=c+12|0;b=c+8|0;k[f>>2]=a;a=Zh(k[f>>2]|0)|0;k[e>>2]=a;k[b>>2]=0;a=k[e>>2]|0;k[d>>2]=-1;k[d+4>>2]=b;_J(a,1004,d)|0;u=c;return k[b>>2]|0}function lQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+4>>2]|0)a=k[(k[e>>2]|0)+4>>2]|0;else a=(k[d>>2]|0)+8|0;k[a>>2]=k[k[e>>2]>>2];if(k[k[e>>2]>>2]|0)k[(k[k[e>>2]>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];k[g>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[f>>2]<<3);if((k[(k[g>>2]|0)+4>>2]|0)==(k[e>>2]|0))k[(k[g>>2]|0)+4>>2]=k[k[e>>2]>>2];f=k[g>>2]|0;k[f>>2]=(k[f>>2]|0)+-1;if((k[k[g>>2]>>2]|0)<=0)k[(k[g>>2]|0)+4>>2]=0;if(i[(k[d>>2]|0)+1>>0]|0?k[(k[e>>2]|0)+12>>2]|0:0)DK(k[(k[e>>2]|0)+12>>2]|0);DK(k[e>>2]|0);g=(k[d>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+-1;if((k[(k[d>>2]|0)+4>>2]|0)>0){u=h;return}CK(k[d>>2]|0);u=h;return}function mQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+32|0;c=m+28|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[d>>2]=a;k[e>>2]=b;b=nQ(k[e>>2]<<3)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=1;l=k[c>>2]|0;u=m;return l|0}DK(k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=k[f>>2];k[(k[d>>2]|0)+12>>2]=k[e>>2];b=UK(i[k[d>>2]>>0]|0)|0;k[j>>2]=b;k[g>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;while(1){if(!(k[g>>2]|0))break;b=Wb[k[j>>2]&255](k[(k[g>>2]|0)+12>>2]|0,k[(k[g>>2]|0)+16>>2]|0)|0;k[l>>2]=b&(k[e>>2]|0)-1;k[h>>2]=k[k[g>>2]>>2];oQ(k[d>>2]|0,(k[f>>2]|0)+(k[l>>2]<<3)|0,k[g>>2]|0);k[g>>2]=k[h>>2]}k[c>>2]=0;l=k[c>>2]|0;u=m;return l|0}function nQ(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=ze(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;u=d;return c|0}w0(k[c>>2]|0,0,k[b>>2]|0)|0;c=k[c>>2]|0;u=d;return c|0}function oQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[e>>2]|0)+4>>2];if(!(k[g>>2]|0)){k[k[f>>2]>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[d>>2]|0)+8>>2]|0)k[(k[(k[d>>2]|0)+8>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+8>>2]=k[f>>2];g=k[e>>2]|0;d=k[g>>2]|0;d=d+1|0;k[g>>2]=d;f=k[f>>2]|0;g=k[e>>2]|0;g=g+4|0;k[g>>2]=f;u=h;return}k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];if(k[(k[g>>2]|0)+4>>2]|0)a=k[(k[g>>2]|0)+4>>2]|0;else a=(k[d>>2]|0)+8|0;k[a>>2]=k[f>>2];k[(k[g>>2]|0)+4>>2]=k[f>>2];g=k[e>>2]|0;d=k[g>>2]|0;d=d+1|0;k[g>>2]=d;f=k[f>>2]|0;g=k[e>>2]|0;g=g+4|0;k[g>>2]=f;u=h;return}function pQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+32|0;d=g+16|0;e=g+4|0;f=g;k[g+12>>2]=a;k[g+8>>2]=b;k[e>>2]=c;c=ze(4)|0;k[f>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=7;f=k[d>>2]|0;u=g;return f|0}else{k[k[f>>2]>>2]=0;k[k[e>>2]>>2]=k[f>>2];k[d>>2]=0;f=k[d>>2]|0;u=g;return f|0}return 0}function qQ(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ie(k[c>>2]|0);u=b;return 0}function rQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;g=j+20|0;e=j+12|0;f=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=d;d=ze(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[g>>2]=7;i=k[g>>2]|0;u=j;return i|0}k[(k[i>>2]|0)+4>>2]=k[e>>2];do if(k[e>>2]|0)if((k[f>>2]|0)<0){a=q$(k[e>>2]|0)|0;b=k[i>>2]|0;break}else{a=k[f>>2]|0;b=k[i>>2]|0;break}else{a=0;b=k[i>>2]|0}while(0);k[b+8>>2]=a;k[(k[i>>2]|0)+12>>2]=0;k[(k[i>>2]|0)+16>>2]=0;k[(k[i>>2]|0)+20>>2]=0;k[(k[i>>2]|0)+24>>2]=0;k[k[h>>2]>>2]=k[i>>2];k[g>>2]=0;i=k[g>>2]|0;u=j;return i|0}function sQ(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];ie(k[(k[c>>2]|0)+20>>2]|0);ie(k[c>>2]|0);u=b;return 0}function tQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;w=u;u=u+64|0;r=w+48|0;x=w+44|0;s=w+40|0;t=w+36|0;g=w+32|0;h=w+28|0;j=w+24|0;l=w+20|0;m=w+16|0;n=w+12|0;o=w+8|0;p=w+4|0;q=w;k[x>>2]=a;k[s>>2]=b;k[t>>2]=c;k[g>>2]=d;k[h>>2]=e;k[j>>2]=f;k[l>>2]=k[x>>2];k[m>>2]=k[(k[l>>2]|0)+4>>2];do{if((k[(k[l>>2]|0)+12>>2]|0)>=(k[(k[l>>2]|0)+8>>2]|0)){v=23;break}while(1){if((k[(k[l>>2]|0)+12>>2]|0)<(k[(k[l>>2]|0)+8>>2]|0)?(x=i[(k[m>>2]|0)+(k[(k[l>>2]|0)+12>>2]|0)>>0]|0,k[o>>2]=x,(x&128|0)==0):0)if((k[o>>2]|0)<48)a=1;else a=(i[47122+((k[o>>2]|0)-48)>>0]|0)!=0^1;else a=0;b=(k[l>>2]|0)+12|0;c=k[b>>2]|0;if(!a)break;k[b>>2]=c+1}k[n>>2]=c;while(1){if((k[(k[l>>2]|0)+12>>2]|0)<(k[(k[l>>2]|0)+8>>2]|0)){x=i[(k[m>>2]|0)+(k[(k[l>>2]|0)+12>>2]|0)>>0]|0;k[o>>2]=x;if(!(x&128))if((k[o>>2]|0)<48)a=1;else a=(i[47122+((k[o>>2]|0)-48)>>0]|0)!=0^1;else a=0;a=a^1}else a=0;b=(k[l>>2]|0)+12|0;c=k[b>>2]|0;if(!a)break;k[b>>2]=c+1}}while((c|0)<=(k[n>>2]|0));if((v|0)==23){k[r>>2]=101;x=k[r>>2]|0;u=w;return x|0}k[p>>2]=(k[(k[l>>2]|0)+12>>2]|0)-(k[n>>2]|0);do if((k[p>>2]|0)>(k[(k[l>>2]|0)+24>>2]|0)){k[(k[l>>2]|0)+24>>2]=(k[p>>2]|0)+20;x=fg(k[(k[l>>2]|0)+20>>2]|0,k[(k[l>>2]|0)+24>>2]|0)|0;k[q>>2]=x;if(k[q>>2]|0){k[(k[l>>2]|0)+20>>2]=k[q>>2];break}k[r>>2]=7;x=k[r>>2]|0;u=w;return x|0}while(0);uQ((k[m>>2]|0)+(k[n>>2]|0)|0,k[p>>2]|0,k[(k[l>>2]|0)+20>>2]|0,k[t>>2]|0);k[k[s>>2]>>2]=k[(k[l>>2]|0)+20>>2];k[k[g>>2]>>2]=k[n>>2];k[k[h>>2]>>2]=k[(k[l>>2]|0)+12>>2];v=(k[l>>2]|0)+16|0;x=k[v>>2]|0;k[v>>2]=x+1;k[k[j>>2]>>2]=x;k[r>>2]=0;x=k[r>>2]|0;u=w;return x|0}function uQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+64|0;h=r+28|0;j=r+24|0;p=r+20|0;n=r+16|0;q=r+12|0;l=r+8|0;e=r+36|0;o=r+4|0;f=r;g=r+32|0;k[h>>2]=a;k[j>>2]=b;k[p>>2]=c;k[n>>2]=d;if((k[j>>2]|0)<3|(k[j>>2]|0)>=21){vQ(k[h>>2]|0,k[j>>2]|0,k[p>>2]|0,k[n>>2]|0);u=r;return}k[q>>2]=0;k[l>>2]=22;while(1){if((k[q>>2]|0)>=(k[j>>2]|0))break;i[g>>0]=i[(k[h>>2]|0)+(k[q>>2]|0)>>0]|0;if((i[g>>0]|0)>=65?(i[g>>0]|0)<=90:0){a=(i[g>>0]|0)+97-65&255;b=k[l>>2]|0}else{if((i[g>>0]|0)<97){m=11;break}if((i[g>>0]|0)>122){m=11;break}a=i[g>>0]|0;b=k[l>>2]|0}i[e+b>>0]=a;k[q>>2]=(k[q>>2]|0)+1;k[l>>2]=(k[l>>2]|0)+-1}if((m|0)==11){vQ(k[h>>2]|0,k[j>>2]|0,k[p>>2]|0,k[n>>2]|0);u=r;return}m=e+23|0;i[m>>0]=0;i[m+1>>0]=0;i[m+2>>0]=0;i[m+3>>0]=0;i[m+4>>0]=0;k[o>>2]=e+((k[l>>2]|0)+1);if((((i[k[o>>2]>>0]|0)==115?(wQ(o,47202,47207,0)|0)==0:0)?(wQ(o,47210,47214,0)|0)==0:0)?(wQ(o,47207,47207,0)|0)==0:0)k[o>>2]=(k[o>>2]|0)+1;k[f>>2]=k[o>>2];do if(!(wQ(o,47216,47220,197)|0)){if((wQ(o,47223,55752,198)|0)==0?(wQ(o,47227,55752,198)|0)==0:0)break;if((((k[o>>2]|0)!=(k[f>>2]|0)?(wQ(o,47230,47233,0)|0)==0:0)?(wQ(o,47237,47240,0)|0)==0:0)?(wQ(o,47244,47247,0)|0)==0:0){if(((zQ(k[o>>2]|0)|0?(i[k[o>>2]>>0]|0)!=108:0)?(i[k[o>>2]>>0]|0)!=115:0)?(i[k[o>>2]>>0]|0)!=122:0){k[o>>2]=(k[o>>2]|0)+1;break}if(AQ(k[o>>2]|0)|0?BQ(k[o>>2]|0)|0:0){m=(k[o>>2]|0)+-1|0;k[o>>2]=m;i[m>>0]=101}}}while(0);if((i[k[o>>2]>>0]|0)==121?yQ((k[o>>2]|0)+1|0)|0:0)i[k[o>>2]>>0]=105;switch(i[(k[o>>2]|0)+1>>0]|0){case 97:{if(!(wQ(o,47251,47233,197)|0))wQ(o,47259,47266,197)|0;break}case 99:{if(!(wQ(o,47271,47276,197)|0))wQ(o,47281,47286,197)|0;break}case 101:{wQ(o,47291,47247,197)|0;break}case 103:{wQ(o,47296,32259,197)|0;break}case 108:{if((((wQ(o,47301,47240,197)|0)==0?(wQ(o,47305,47310,197)|0)==0:0)?(wQ(o,47313,47319,197)|0)==0:0)?(wQ(o,47323,47327,197)|0)==0:0)wQ(o,47329,47335,197)|0;break}case 111:{if((wQ(o,47339,47247,197)|0)==0?(wQ(o,47347,47233,197)|0)==0:0)wQ(o,47353,47233,197)|0;break}case 115:{if(((wQ(o,47358,47310,197)|0)==0?(wQ(o,47364,47372,197)|0)==0:0)?(wQ(o,47376,47384,197)|0)==0:0)wQ(o,47388,47335,197)|0;break}case 116:{if((wQ(o,47396,47310,197)|0)==0?(wQ(o,47402,47372,197)|0)==0:0)wQ(o,47408,47240,197)|0;break}default:{}}switch(i[k[o>>2]>>0]|0){case 101:{if((wQ(o,47415,47421,197)|0)==0?(wQ(o,47424,55752,197)|0)==0:0)wQ(o,47430,47310,197)|0;break}case 105:{wQ(o,47436,47421,197)|0;break}case 108:{if(!(wQ(o,47442,47421,197)|0))wQ(o,47447,55752,197)|0;break}case 115:{wQ(o,47451,55752,197)|0;break}default:{}}a:do switch(i[(k[o>>2]|0)+1>>0]|0){case 97:{if((i[k[o>>2]>>0]|0)==108?CQ((k[o>>2]|0)+2|0)|0:0)k[o>>2]=(k[o>>2]|0)+2;break}case 99:{if((i[k[o>>2]>>0]|0)==101?(i[(k[o>>2]|0)+2>>0]|0)==110:0){if((i[(k[o>>2]|0)+3>>0]|0)!=97?(i[(k[o>>2]|0)+3>>0]|0)!=101:0)break a;if(CQ((k[o>>2]|0)+4|0)|0)k[o>>2]=(k[o>>2]|0)+4}break}case 101:{if((i[k[o>>2]>>0]|0)==114?CQ((k[o>>2]|0)+2|0)|0:0)k[o>>2]=(k[o>>2]|0)+2;break}case 105:{if((i[k[o>>2]>>0]|0)==99?CQ((k[o>>2]|0)+2|0)|0:0)k[o>>2]=(k[o>>2]|0)+2;break}case 108:{if((i[k[o>>2]>>0]|0)==101?(i[(k[o>>2]|0)+2>>0]|0)==98:0){if((i[(k[o>>2]|0)+3>>0]|0)!=97?(i[(k[o>>2]|0)+3>>0]|0)!=105:0)break a;if(CQ((k[o>>2]|0)+4|0)|0)k[o>>2]=(k[o>>2]|0)+4}break}case 110:{if((i[k[o>>2]>>0]|0)==116){a=k[o>>2]|0;if((i[(k[o>>2]|0)+2>>0]|0)==97){if(!(CQ(a+3|0)|0))break a;k[o>>2]=(k[o>>2]|0)+3;break a}if(((i[a+2>>0]|0)==101?(wQ(o,47456,55752,199)|0)==0:0)?(wQ(o,47462,55752,199)|0)==0:0)wQ(o,47467,55752,199)|0}break}case 111:{a=k[o>>2]|0;if((i[k[o>>2]>>0]|0)==117){if(!(CQ(a+2|0)|0))break a;k[o>>2]=(k[o>>2]|0)+2;break a}if((i[a+3>>0]|0)!=115?(i[(k[o>>2]|0)+3>>0]|0)!=116:0)break a;wQ(o,47471,55752,199)|0;break}case 115:{if(((i[k[o>>2]>>0]|0)==109?(i[(k[o>>2]|0)+2>>0]|0)==105:0)?CQ((k[o>>2]|0)+3|0)|0:0)k[o>>2]=(k[o>>2]|0)+3;break}case 116:{if(!(wQ(o,47475,55752,199)|0))wQ(o,47479,55752,199)|0;break}case 117:{if(((i[k[o>>2]>>0]|0)==115?(i[(k[o>>2]|0)+2>>0]|0)==111:0)?CQ((k[o>>2]|0)+3|0)|0:0)k[o>>2]=(k[o>>2]|0)+3;break}case 122:case 118:{if(((i[k[o>>2]>>0]|0)==101?(i[(k[o>>2]|0)+2>>0]|0)==105:0)?CQ((k[o>>2]|0)+3|0)|0:0)k[o>>2]=(k[o>>2]|0)+3;break}default:{}}while(0);do if((i[k[o>>2]>>0]|0)==101){m=(CQ((k[o>>2]|0)+1|0)|0)!=0;a=(k[o>>2]|0)+1|0;if(m){k[o>>2]=a;break}if(AQ(a)|0?(BQ((k[o>>2]|0)+1|0)|0)==0:0)k[o>>2]=(k[o>>2]|0)+1}while(0);if((CQ(k[o>>2]|0)|0?(i[k[o>>2]>>0]|0)==108:0)?(i[(k[o>>2]|0)+1>>0]|0)==108:0)k[o>>2]=(k[o>>2]|0)+1;a=q$(k[o>>2]|0)|0;k[q>>2]=a;k[k[n>>2]>>2]=a;a=0;b=(k[p>>2]|0)+(k[q>>2]|0)|0;while(1){i[b>>0]=a;if(!(i[k[o>>2]>>0]|0))break;a=k[o>>2]|0;k[o>>2]=a+1;a=i[a>>0]|0;n=k[p>>2]|0;b=(k[q>>2]|0)+-1|0;k[q>>2]=b;b=n+b|0}u=r;return}function vQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;h=p+28|0;j=p+24|0;l=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;e=p+4|0;f=p;g=p+32|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[f>>2]=0;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[j>>2]|0))break;i[g>>0]=i[(k[h>>2]|0)+(k[n>>2]|0)>>0]|0;if((i[g>>0]|0)>=65?(i[g>>0]|0)<=90:0){a=(i[g>>0]|0)-65+97&255;b=(k[l>>2]|0)+(k[n>>2]|0)|0}else{if((i[g>>0]|0)>=48?(i[g>>0]|0)<=57:0)k[f>>2]=1;a=i[g>>0]|0;b=(k[l>>2]|0)+(k[n>>2]|0)|0}i[b>>0]=a;k[n>>2]=(k[n>>2]|0)+1}k[o>>2]=k[f>>2]|0?3:10;if((k[j>>2]|0)<=(k[o>>2]<<1|0)){l=k[l>>2]|0;o=k[n>>2]|0;o=l+o|0;i[o>>0]=0;n=k[n>>2]|0;o=k[m>>2]|0;k[o>>2]=n;u=p;return}k[e>>2]=k[o>>2];k[n>>2]=(k[j>>2]|0)-(k[o>>2]|0);while(1){if((k[n>>2]|0)>=(k[j>>2]|0))break;i[(k[l>>2]|0)+(k[e>>2]|0)>>0]=i[(k[l>>2]|0)+(k[n>>2]|0)>>0]|0;k[n>>2]=(k[n>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+1}k[n>>2]=k[e>>2];l=k[l>>2]|0;o=k[n>>2]|0;o=l+o|0;i[o>>0]=0;n=k[n>>2]|0;o=k[m>>2]|0;k[o>>2]=n;u=p;return}function wQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=k[k[f>>2]>>2];while(1){if(!(i[k[g>>2]>>0]|0))break;if((i[k[g>>2]>>0]|0)!=(i[k[l>>2]>>0]|0))break;k[l>>2]=(k[l>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}if(i[k[g>>2]>>0]|0){k[e>>2]=0;l=k[e>>2]|0;u=m;return l|0}if(k[j>>2]|0?(Rb[k[j>>2]&255](k[l>>2]|0)|0)==0:0){k[e>>2]=1;l=k[e>>2]|0;u=m;return l|0}while(1){if(!(i[k[h>>2]>>0]|0))break;g=k[h>>2]|0;k[h>>2]=g+1;g=i[g>>0]|0;j=(k[l>>2]|0)+-1|0;k[l>>2]=j;i[j>>0]=g}k[k[f>>2]>>2]=k[l>>2];k[e>>2]=1;l=k[e>>2]|0;u=m;return l|0}function xQ(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(DQ(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;u=d;return e|0}while(1){e=(EQ(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)!=0&1;e=k[b>>2]|0;u=d;return e|0}function yQ(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;b=c;k[b>>2]=a;while(1){d=(EQ(k[b>>2]|0)|0)!=0;a=k[b>>2]|0;if(!d)break;k[b>>2]=a+1}u=c;return (i[a>>0]|0)!=0|0}function zQ(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(EQ(k[b>>2]|0)|0)){b=0;b=b&1;u=c;return b|0}b=(i[k[b>>2]>>0]|0)==(i[(k[b>>2]|0)+1>>0]|0);b=b&1;u=c;return b|0}function AQ(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(DQ(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;u=d;return e|0}while(1){e=(EQ(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;u=d;return e|0}while(1){e=(DQ(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=1;e=k[b>>2]|0;u=d;return e|0}while(1){e=(EQ(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)==0&1;e=k[b>>2]|0;u=d;return e|0}function BQ(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if((((EQ(k[b>>2]|0)|0?(i[k[b>>2]>>0]|0)!=119:0)?(i[k[b>>2]>>0]|0)!=120:0)?(i[k[b>>2]>>0]|0)!=121:0)?DQ((k[b>>2]|0)+1|0)|0:0)a=(EQ((k[b>>2]|0)+2|0)|0)!=0;else a=0;u=c;return a&1|0}function CQ(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(DQ(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;u=d;return e|0}while(1){e=(EQ(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;u=d;return e|0}while(1){e=(DQ(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;u=d;return e|0}while(1){e=(EQ(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)!=0&1;e=k[b>>2]|0;u=d;return e|0}function DQ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+8|0;c=f+4|0;d=f;e=f+12|0;k[c>>2]=a;i[e>>0]=i[k[c>>2]>>0]|0;if(!(i[e>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;u=f;return e|0}k[d>>2]=i[47483+((i[e>>0]|0)-97)>>0];if((k[d>>2]|0)<2){k[b>>2]=1-(k[d>>2]|0);e=k[b>>2]|0;u=f;return e|0}else{e=EQ((k[c>>2]|0)+1|0)|0;k[b>>2]=e;e=k[b>>2]|0;u=f;return e|0}return 0}function EQ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;e=f+8|0;b=f+4|0;c=f;d=f+12|0;k[b>>2]=a;i[d>>0]=i[k[b>>2]>>0]|0;if(!(i[d>>0]|0)){k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}k[c>>2]=i[47483+((i[d>>0]|0)-97)>>0];if((k[c>>2]|0)<2){k[e>>2]=k[c>>2];e=k[e>>2]|0;u=f;return e|0}if(!(i[(k[b>>2]|0)+1>>0]|0))a=1;else a=(DQ((k[b>>2]|0)+1|0)|0)!=0;k[e>>2]=a&1;e=k[e>>2]|0;u=f;return e|0}function FQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;g=p+28|0;e=p+24|0;h=p+20|0;j=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;f=p+32|0;d=p;k[e>>2]=a;k[h>>2]=b;k[j>>2]=c;c=ze(132)|0;k[m>>2]=c;if(!(k[m>>2]|0)){k[g>>2]=7;o=k[g>>2]|0;u=p;return o|0}w0(k[m>>2]|0,0,132)|0;a:do if((k[e>>2]|0)>1){e=q$(k[(k[h>>2]|0)+4>>2]|0)|0;k[o>>2]=e;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[o>>2]|0))break a;i[f>>0]=i[(k[(k[h>>2]|0)+4>>2]|0)+(k[n>>2]|0)>>0]|0;a=k[m>>2]|0;if((l[f>>0]|0|0)>=128)break;i[a+4+(l[f>>0]|0)>>0]=1;k[n>>2]=(k[n>>2]|0)+1}ie(a);k[g>>2]=1;o=k[g>>2]|0;u=p;return o|0}else{k[d>>2]=1;while(1){if((k[d>>2]|0)>=128)break a;o=(LQ(k[d>>2]|0)|0)!=0^1;i[(k[m>>2]|0)+4+(k[d>>2]|0)>>0]=o?-1:0;k[d>>2]=(k[d>>2]|0)+1}}while(0);k[k[j>>2]>>2]=k[m>>2];k[g>>2]=0;o=k[g>>2]|0;u=p;return o|0}function GQ(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ie(k[c>>2]|0);u=b;return 0}function HQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;g=j+20|0;e=j+12|0;f=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=d;d=ze(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[g>>2]=7;i=k[g>>2]|0;u=j;return i|0}k[(k[i>>2]|0)+4>>2]=k[e>>2];do if(k[e>>2]|0)if((k[f>>2]|0)<0){a=q$(k[e>>2]|0)|0;b=k[i>>2]|0;break}else{a=k[f>>2]|0;b=k[i>>2]|0;break}else{a=0;b=k[i>>2]|0}while(0);k[b+8>>2]=a;k[(k[i>>2]|0)+12>>2]=0;k[(k[i>>2]|0)+16>>2]=0;k[(k[i>>2]|0)+20>>2]=0;k[(k[i>>2]|0)+24>>2]=0;k[k[h>>2]>>2]=k[i>>2];k[g>>2]=0;i=k[g>>2]|0;u=j;return i|0}function IQ(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];ie(k[(k[c>>2]|0)+20>>2]|0);ie(k[c>>2]|0);u=b;return 0}function JQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;z=u;u=u+64|0;w=z+52|0;A=z+48|0;x=z+44|0;y=z+40|0;m=z+36|0;n=z+32|0;o=z+28|0;p=z+24|0;g=z+20|0;q=z+16|0;r=z+12|0;s=z+8|0;t=z+4|0;h=z;v=z+56|0;k[A>>2]=a;k[x>>2]=b;k[y>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=k[A>>2];k[g>>2]=k[k[A>>2]>>2];k[q>>2]=k[(k[p>>2]|0)+4>>2];do{if((k[(k[p>>2]|0)+12>>2]|0)>=(k[(k[p>>2]|0)+8>>2]|0)){j=25;break}while(1){if((k[(k[p>>2]|0)+12>>2]|0)<(k[(k[p>>2]|0)+8>>2]|0))a=(KQ(k[g>>2]|0,i[(k[q>>2]|0)+(k[(k[p>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else a=0;b=(k[p>>2]|0)+12|0;c=k[b>>2]|0;if(!a)break;k[b>>2]=c+1}k[r>>2]=c;while(1){if((k[(k[p>>2]|0)+12>>2]|0)<(k[(k[p>>2]|0)+8>>2]|0))a=(KQ(k[g>>2]|0,i[(k[q>>2]|0)+(k[(k[p>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else a=0;b=(k[p>>2]|0)+12|0;c=k[b>>2]|0;if(!a)break;k[b>>2]=c+1}}while((c|0)<=(k[r>>2]|0));if((j|0)==25){k[w>>2]=101;A=k[w>>2]|0;u=z;return A|0}k[t>>2]=(k[(k[p>>2]|0)+12>>2]|0)-(k[r>>2]|0);do if((k[t>>2]|0)>(k[(k[p>>2]|0)+24>>2]|0)){k[(k[p>>2]|0)+24>>2]=(k[t>>2]|0)+20;A=fg(k[(k[p>>2]|0)+20>>2]|0,k[(k[p>>2]|0)+24>>2]|0)|0;k[h>>2]=A;if(k[h>>2]|0){k[(k[p>>2]|0)+20>>2]=k[h>>2];break}k[w>>2]=7;A=k[w>>2]|0;u=z;return A|0}while(0);k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break;i[v>>0]=i[(k[q>>2]|0)+((k[r>>2]|0)+(k[s>>2]|0))>>0]|0;if((l[v>>0]|0|0)>=65?(l[v>>0]|0|0)<=90:0)a=(l[v>>0]|0)-65+97|0;else a=l[v>>0]|0;i[(k[(k[p>>2]|0)+20>>2]|0)+(k[s>>2]|0)>>0]=a;k[s>>2]=(k[s>>2]|0)+1}k[k[x>>2]>>2]=k[(k[p>>2]|0)+20>>2];k[k[y>>2]>>2]=k[t>>2];k[k[m>>2]>>2]=k[r>>2];k[k[n>>2]>>2]=k[(k[p>>2]|0)+12>>2];y=(k[p>>2]|0)+16|0;A=k[y>>2]|0;k[y>>2]=A+1;k[k[o>>2]>>2]=A;k[w>>2]=0;A=k[w>>2]|0;u=z;return A|0}function KQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e;d=e+4|0;k[c>>2]=a;i[d>>0]=b;if((l[d>>0]|0)>=128){d=0;d=d&1;u=e;return d|0}d=(i[(k[c>>2]|0)+4+(l[d>>0]|0)>>0]|0)!=0;d=d&1;u=e;return d|0}function LQ(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!((k[b>>2]|0)>=48&(k[b>>2]|0)<=57)?!((k[b>>2]|0)>=65&(k[b>>2]|0)<=90):0)a=(k[b>>2]|0)>=97?(k[b>>2]|0)<=122:0;else a=1;u=c;return a&1|0}function MQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+64|0;v=w;r=w+56|0;s=w+52|0;t=w+44|0;g=w+40|0;h=w+36|0;i=w+32|0;j=w+28|0;l=w+24|0;m=w+20|0;n=w+16|0;o=w+12|0;p=w+8|0;q=w+4|0;k[s>>2]=a;k[w+48>>2]=b;k[t>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=f;do if(!((k[t>>2]|0)!=4&(k[t>>2]|0)!=5)){k[j>>2]=k[(k[g>>2]|0)+4>>2];f=q$(k[j>>2]|0)|0;k[m>>2]=f;if((k[t>>2]|0)==5){if((k[m>>2]|0)!=4)break;if(vd(42437,k[j>>2]|0,4)|0)break;k[j>>2]=k[(k[g>>2]|0)+12>>2];v=q$(k[j>>2]|0)|0;k[m>>2]=v;k[l>>2]=k[(k[g>>2]|0)+16>>2]}else k[l>>2]=k[(k[g>>2]|0)+12>>2];v=q$(k[l>>2]|0)|0;k[n>>2]=v;v=WJ(k[s>>2]|0,47517)|0;k[p>>2]=v;if(k[p>>2]|0){k[r>>2]=k[p>>2];v=k[r>>2]|0;u=w;return v|0}k[o>>2]=296+(k[m>>2]|0)+(k[n>>2]|0)+2;v=ze(k[o>>2]|0)|0;k[q>>2]=v;if(k[q>>2]|0){w0(k[q>>2]|0,0,k[o>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=(k[q>>2]|0)+16;k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]=(k[(k[q>>2]|0)+12>>2]|0)+280;k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]=(k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]|0)+((k[m>>2]|0)+1);k[(k[(k[q>>2]|0)+12>>2]|0)+12>>2]=k[s>>2];k[(k[(k[q>>2]|0)+12>>2]|0)+248>>2]=1;r0(k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]|0,k[j>>2]|0,k[m>>2]|0)|0;r0(k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;$K(k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]|0);k[k[h>>2]>>2]=k[q>>2];k[r>>2]=0;v=k[r>>2]|0;u=w;return v|0}else{k[r>>2]=7;v=k[r>>2]|0;u=w;return v|0}}while(0);SK(k[i>>2]|0,47586,v);k[r>>2]=1;v=k[r>>2]|0;u=w;return v|0}function NQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+48|0;f=o+32|0;e=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;c=o+4|0;d=o;k[o+36>>2]=a;k[f>>2]=b;k[g>>2]=-1;k[h>>2]=-1;k[j>>2]=-1;k[m>>2]=-1;k[n>>2]=1;if(((k[(k[f>>2]|0)+8>>2]|0)==1?(k[k[(k[f>>2]|0)+12>>2]>>2]|0)==0:0)?(l[(k[(k[f>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)k[(k[f>>2]|0)+32>>2]=1;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[f>>2]>>2]|0))break;if(i[(k[(k[f>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+5>>0]|0){k[c>>2]=l[(k[(k[f>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+4>>0];k[d>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)>>2];if(!(k[d>>2]|0)){if((k[c>>2]|0)==2)k[g>>2]=k[e>>2];if((k[c>>2]|0)==16)k[j>>2]=k[e>>2];if((k[c>>2]|0)==8)k[j>>2]=k[e>>2];if((k[c>>2]|0)==4)k[h>>2]=k[e>>2];if((k[c>>2]|0)==32)k[h>>2]=k[e>>2]}if((k[d>>2]|0)==4&(k[c>>2]|0)==2)k[m>>2]=k[e>>2]}k[e>>2]=(k[e>>2]|0)+1}a=(k[f>>2]|0)+20|0;if((k[g>>2]|0)<0){k[a>>2]=0;p[(k[f>>2]|0)+40>>3]=2.0e4;if((k[h>>2]|0)>=0){g=(k[f>>2]|0)+20|0;k[g>>2]=(k[g>>2]|0)+2;g=k[n>>2]|0;k[n>>2]=g+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[h>>2]<<3)>>2]=g;h=(k[f>>2]|0)+40|0;p[h>>3]=+p[h>>3]/2.0}if((k[j>>2]|0)>=0){h=(k[f>>2]|0)+20|0;k[h>>2]=(k[h>>2]|0)+4;h=k[n>>2]|0;k[n>>2]=h+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[j>>2]<<3)>>2]=h;j=(k[f>>2]|0)+40|0;p[j>>3]=+p[j>>3]/2.0}}else{k[a>>2]=1;j=k[n>>2]|0;k[n>>2]=j+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]=j;p[(k[f>>2]|0)+40>>3]=5.0}if((k[m>>2]|0)<0){u=o;return 0}j=k[n>>2]|0;k[n>>2]=j+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[m>>2]<<3)>>2]=j;n=(k[f>>2]|0)+40|0;p[n>>3]=+p[n>>3]+-1.0;u=o;return 0}function OQ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+12|0;b=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[b>>2]=k[f>>2];k[c>>2]=k[(k[b>>2]|0)+12>>2];k[d>>2]=0;while(1){a=k[c>>2]|0;if((k[d>>2]|0)>=40)break;Pr(k[a+56+(k[d>>2]<<2)>>2]|0)|0;k[d>>2]=(k[d>>2]|0)+1}ie(k[a+240>>2]|0);ie(k[b>>2]|0);u=e;return 0}function PQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;b=ze(120)|0;k[e>>2]=b;if(k[e>>2]|0){a=k[e>>2]|0;b=a+120|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[d>>2]>>2]=k[e>>2];k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}else{k[c>>2]=7;e=k[c>>2]|0;u=f;return e|0}return 0}function QQ(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;e=b+8|0;d=b+4|0;c=b;k[e>>2]=a;k[d>>2]=k[(k[k[e>>2]>>2]|0)+12>>2];k[c>>2]=k[e>>2];LM(k[d>>2]|0);OL((k[c>>2]|0)+4|0);ie(k[(k[c>>2]|0)+60>>2]|0);ie(k[(k[c>>2]|0)+76>>2]|0);ie(k[(k[c>>2]|0)+112>>2]|0);ie(k[c>>2]|0);u=b;return 0}function RQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+80|0;y=z+8|0;x=z;s=z+76|0;t=z+72|0;v=z+68|0;w=z+60|0;f=z+56|0;g=z+52|0;h=z+48|0;i=z+44|0;j=z+40|0;l=z+36|0;m=z+32|0;n=z+28|0;o=z+24|0;p=z+20|0;q=z+16|0;r=z+12|0;k[t>>2]=a;k[v>>2]=b;k[z+64>>2]=c;k[w>>2]=d;k[f>>2]=e;k[g>>2]=k[t>>2];k[h>>2]=k[(k[k[t>>2]>>2]|0)+12>>2];k[j>>2]=0;k[l>>2]=0;k[m>>2]=-1;k[n>>2]=-1;k[o>>2]=-1;k[p>>2]=-1;k[q>>2]=0;if((k[v>>2]|0)!=1){k[j>>2]=1;if(k[v>>2]&2|0){e=k[q>>2]|0;k[q>>2]=e+1;k[n>>2]=e}if(k[v>>2]&4|0){v=k[q>>2]|0;k[q>>2]=v+1;k[o>>2]=v}}else{v=k[q>>2]|0;k[q>>2]=v+1;k[m>>2]=v}if((k[q>>2]|0)<(k[w>>2]|0)){w=k[q>>2]|0;k[q>>2]=w+1;k[p>>2]=w}OL((k[g>>2]|0)+4|0);ie(k[(k[g>>2]|0)+60>>2]|0);ie(k[(k[g>>2]|0)+112>>2]|0);w0((k[g>>2]|0)+4|0,0,(k[g>>2]|0)+120-((k[g>>2]|0)+4)|0)|0;k[(k[g>>2]|0)+60+12>>2]=3;if(k[j>>2]|0){w=(k[g>>2]|0)+60+12|0;k[w>>2]=k[w>>2]|16}if(((k[m>>2]|0)>=0|(k[n>>2]|0)>=0?(w=$h(k[k[f>>2]>>2]|0)|0,k[r>>2]=w,k[r>>2]|0):0)?(k[x>>2]=k[r>>2],x=xf(21240,x)|0,k[(k[g>>2]|0)+60>>2]=x,x=ai(k[k[f>>2]>>2]|0)|0,k[(k[g>>2]|0)+60+4>>2]=x,(k[(k[g>>2]|0)+60>>2]|0)==0):0){k[s>>2]=7;y=k[s>>2]|0;u=z;return y|0}if((k[o>>2]|0)>=0?(x=$h(k[(k[f>>2]|0)+(k[o>>2]<<2)>>2]|0)|0,k[y>>2]=x,y=xf(21240,y)|0,k[(k[g>>2]|0)+76>>2]=y,y=ai(k[(k[f>>2]|0)+(k[o>>2]<<2)>>2]|0)|0,k[(k[g>>2]|0)+80>>2]=y,(k[(k[g>>2]|0)+76>>2]|0)==0):0){k[s>>2]=7;y=k[s>>2]|0;u=z;return y|0}if((k[p>>2]|0)>=0){y=_i(k[(k[f>>2]|0)+(k[p>>2]<<2)>>2]|0)|0;k[l>>2]=y;k[l>>2]=(k[l>>2]|0)<0?0:y}k[(k[g>>2]|0)+84>>2]=k[l>>2];y=DL(k[h>>2]|0,k[l>>2]|0,0,-2,k[(k[g>>2]|0)+60>>2]|0,k[(k[g>>2]|0)+60+4>>2]|0,0,k[j>>2]|0,(k[g>>2]|0)+4|0)|0;k[i>>2]=y;if(!(k[i>>2]|0)){y=HL(k[h>>2]|0,(k[g>>2]|0)+4|0,(k[g>>2]|0)+60|0)|0;k[i>>2]=y}if(!(k[i>>2]|0)){y=SQ(k[t>>2]|0)|0;k[i>>2]=y}k[s>>2]=k[i>>2];y=k[s>>2]|0;u=z;return y|0}function SQ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+64|0;c=p+52|0;q=p+48|0;h=p+44|0;b=p+40|0;i=p+36|0;j=p+32|0;l=p+28|0;m=p+24|0;n=p+20|0;d=p+16|0;e=p+12|0;f=p+8|0;g=p;k[q>>2]=a;k[h>>2]=k[q>>2];k[b>>2]=k[(k[k[q>>2]>>2]|0)+12>>2];a=(k[h>>2]|0)+96|0;q=a;q=i0(k[q>>2]|0,k[q+4>>2]|0,1,0)|0;k[a>>2]=q;k[a+4>>2]=M;a=k[h>>2]|0;while(1){q=a+104|0;k[q>>2]=(k[q>>2]|0)+1;if((k[(k[h>>2]|0)+104>>2]|0)>=(k[(k[h>>2]|0)+108>>2]|0))break;q=(k[(k[h>>2]|0)+112>>2]|0)+(k[(k[h>>2]|0)+104>>2]<<4)|0;a=k[q+4>>2]|0;if((a|0)>0|(a|0)==0&(k[q>>2]|0)>>>0>0){o=4;break}a=k[h>>2]|0}if((o|0)==4){k[c>>2]=0;q=k[c>>2]|0;u=p;return q|0}q=IL(k[b>>2]|0,(k[h>>2]|0)+4|0)|0;k[i>>2]=q;do if((k[i>>2]|0)==100){k[j>>2]=0;k[l>>2]=k[(k[h>>2]|0)+4+52>>2];k[m>>2]=k[(k[h>>2]|0)+4+48>>2];k[d>>2]=0;do if(k[(k[h>>2]|0)+76>>2]|0){a=k[h>>2]|0;if((k[(k[h>>2]|0)+80>>2]|0)<(k[(k[h>>2]|0)+4+44>>2]|0))a=k[a+80>>2]|0;else a=k[a+4+44>>2]|0;k[e>>2]=a;q=R_(k[(k[h>>2]|0)+76>>2]|0,k[(k[h>>2]|0)+4+40>>2]|0,k[e>>2]|0)|0;k[f>>2]=q;if((k[f>>2]|0)>=0){if(k[f>>2]|0)break;if((k[(k[h>>2]|0)+4+44>>2]|0)<=(k[(k[h>>2]|0)+80>>2]|0))break}k[(k[h>>2]|0)+88>>2]=1;k[c>>2]=0;q=k[c>>2]|0;u=p;return q|0}while(0);if(WQ(k[h>>2]|0,2)|0){k[c>>2]=7;q=k[c>>2]|0;u=p;return q|0}w0(k[(k[h>>2]|0)+112>>2]|0,0,k[(k[h>>2]|0)+108>>2]<<4|0)|0;k[n>>2]=0;a:while(1){if((k[j>>2]|0)>=(k[l>>2]|0)){o=32;break}q=g;k[q>>2]=0;k[q+4>>2]=0;q=lM((k[m>>2]|0)+(k[j>>2]|0)|0,g)|0;k[j>>2]=(k[j>>2]|0)+q;switch(k[d>>2]|0){case 0:{q=k[(k[h>>2]|0)+112>>2]|0;f=q;f=i0(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;k[q>>2]=f;k[q+4>>2]=M;k[d>>2]=1;k[n>>2]=0;continue a}case 1:{q=g;f=k[q+4>>2]|0;if((f|0)>0|(f|0)==0&(k[q>>2]|0)>>>0>1){q=(k[(k[h>>2]|0)+112>>2]|0)+16|0;f=q;f=i0(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;k[q>>2]=f;k[q+4>>2]=M}k[d>>2]=2;break}case 2:break;default:{k[n>>2]=k[g>>2];if(WQ(k[h>>2]|0,(k[n>>2]|0)+2|0)|0)break a;q=(k[(k[h>>2]|0)+112>>2]|0)+((k[n>>2]|0)+1<<4)|0;f=q;f=i0(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;k[q>>2]=f;k[q+4>>2]=M;k[d>>2]=2;continue a}}q=g;if((k[q>>2]|0)==0&(k[q+4>>2]|0)==0){k[d>>2]=0;continue}q=g;if((k[q>>2]|0)==1&(k[q+4>>2]|0)==0){k[d>>2]=3;continue}else{q=(k[(k[h>>2]|0)+112>>2]|0)+((k[n>>2]|0)+1<<4)+8|0;f=q;f=i0(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;k[q>>2]=f;k[q+4>>2]=M;q=(k[(k[h>>2]|0)+112>>2]|0)+8|0;f=q;f=i0(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;k[q>>2]=f;k[q+4>>2]=M;continue}}if((o|0)==32){k[(k[h>>2]|0)+104>>2]=0;k[i>>2]=0;break}k[c>>2]=7;q=k[c>>2]|0;u=p;return q|0}else k[(k[h>>2]|0)+88>>2]=1;while(0);k[c>>2]=k[i>>2];q=k[c>>2]|0;u=p;return q|0}function TQ(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];u=c;return k[(k[b>>2]|0)+88>>2]|0}function UQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=u;u=u+16|0;h=f+12|0;d=f+8|0;g=f+4|0;e=f;k[h>>2]=a;k[d>>2]=b;k[g>>2]=c;k[e>>2]=k[h>>2];switch(k[g>>2]|0){case 0:{Hi(k[d>>2]|0,k[(k[e>>2]|0)+4+40>>2]|0,k[(k[e>>2]|0)+4+44>>2]|0,-1);u=f;return 0}case 1:{a=k[d>>2]|0;if(k[(k[e>>2]|0)+104>>2]|0){fi(a,(k[(k[e>>2]|0)+104>>2]|0)-1|0);u=f;return 0}else{Hi(a,29578,-1,0);u=f;return 0}}case 2:{h=(k[(k[e>>2]|0)+112>>2]|0)+(k[(k[e>>2]|0)+104>>2]<<4)|0;Li(k[d>>2]|0,k[h>>2]|0,k[h+4>>2]|0);u=f;return 0}case 3:{h=(k[(k[e>>2]|0)+112>>2]|0)+(k[(k[e>>2]|0)+104>>2]<<4)+8|0;Li(k[d>>2]|0,k[h>>2]|0,k[h+4>>2]|0);u=f;return 0}default:{fi(k[d>>2]|0,k[(k[e>>2]|0)+84>>2]|0);u=f;return 0}}return 0}function VQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+96|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;u=c;return 0}function WQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;do if((k[e>>2]|0)>(k[(k[d>>2]|0)+108>>2]|0)){b=fg(k[(k[d>>2]|0)+112>>2]|0,k[e>>2]<<4)|0;k[f>>2]=b;if(k[f>>2]|0){w0((k[f>>2]|0)+(k[(k[d>>2]|0)+108>>2]<<4)|0,0,(k[e>>2]|0)-(k[(k[d>>2]|0)+108>>2]|0)<<4|0)|0;k[(k[d>>2]|0)+112>>2]=k[f>>2];k[(k[d>>2]|0)+108>>2]=k[e>>2];break}k[c>>2]=7;f=k[c>>2]|0;u=g;return f|0}while(0);k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}function XQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+48|0;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;l=o+12|0;m=o+8|0;d=o+4|0;e=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[m>>2]=0;c=ze(16)|0;k[j>>2]=c;if(!(k[j>>2]|0)){k[f>>2]=7;n=k[f>>2]|0;u=o;return n|0}c=k[j>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[(k[j>>2]|0)+4>>2]=1;k[l>>2]=0;while(1){if(k[m>>2]|0)break;if((k[l>>2]|0)>=(k[g>>2]|0))break;k[d>>2]=k[(k[h>>2]|0)+(k[l>>2]<<2)>>2];c=q$(k[d>>2]|0)|0;k[e>>2]=c;if((k[e>>2]|0)==19?(R_(47627,k[d>>2]|0,19)|0)==0:0)k[(k[j>>2]|0)+4>>2]=1;else n=9;do if((n|0)==9){n=0;if((k[e>>2]|0)==19?(R_(47647,k[d>>2]|0,19)|0)==0:0){k[(k[j>>2]|0)+4>>2]=0;break}if((k[e>>2]|0)>=11?(R_(47667,k[d>>2]|0,11)|0)==0:0){c=gR(k[j>>2]|0,1,(k[d>>2]|0)+11|0,(k[e>>2]|0)-11|0)|0;k[m>>2]=c;break}if((k[e>>2]|0)>=11?(R_(47679,k[d>>2]|0,11)|0)==0:0){c=gR(k[j>>2]|0,0,(k[d>>2]|0)+11|0,(k[e>>2]|0)-11|0)|0;k[m>>2]=c;break}k[m>>2]=1}while(0);k[l>>2]=(k[l>>2]|0)+1}if(k[m>>2]|0){YQ(k[j>>2]|0)|0;k[j>>2]=0}k[k[i>>2]>>2]=k[j>>2];k[f>>2]=k[m>>2];n=k[f>>2]|0;u=o;return n|0}function YQ(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return 0}k[c>>2]=k[b>>2];ie(k[(k[c>>2]|0)+12>>2]|0);ie(k[c>>2]|0);u=d;return 0}function ZQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;g=j+20|0;e=j+12|0;f=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=d;d=ze(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[g>>2]=7;i=k[g>>2]|0;u=j;return i|0}d=k[i>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[(k[i>>2]|0)+4>>2]=k[e>>2];do if(k[e>>2]|0)if((k[f>>2]|0)<0){a=q$(k[e>>2]|0)|0;b=k[i>>2]|0;break}else{a=k[f>>2]|0;b=k[i>>2]|0;break}else{a=0;b=k[i>>2]|0}while(0);k[b+8>>2]=a;k[k[h>>2]>>2]=k[i>>2];k[g>>2]=0;i=k[g>>2]|0;u=j;return i|0}function _Q(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];ie(k[(k[c>>2]|0)+20>>2]|0);ie(k[c>>2]|0);u=b;return 0}function $Q(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+80|0;x=A+64|0;B=A+60|0;y=A+56|0;z=A+52|0;o=A+48|0;p=A+44|0;q=A+40|0;r=A+36|0;g=A+32|0;h=A+28|0;s=A+24|0;t=A+20|0;v=A+16|0;w=A+12|0;j=A+8|0;m=A+4|0;n=A;k[B>>2]=a;k[y>>2]=b;k[z>>2]=c;k[o>>2]=d;k[p>>2]=e;k[q>>2]=f;k[r>>2]=k[B>>2];k[g>>2]=k[k[r>>2]>>2];k[h>>2]=0;k[t>>2]=(k[(k[r>>2]|0)+4>>2]|0)+(k[(k[r>>2]|0)+12>>2]|0);k[v>>2]=k[t>>2];k[j>>2]=(k[(k[r>>2]|0)+4>>2]|0)+(k[(k[r>>2]|0)+8>>2]|0);while(1){if((k[t>>2]|0)>>>0>=(k[j>>2]|0)>>>0)break;B=k[t>>2]|0;k[t>>2]=B+1;k[h>>2]=l[B>>0];do if((k[h>>2]|0)>=192){k[h>>2]=l[22127+((k[h>>2]|0)-192)>>0];while(1){if((k[t>>2]|0)!=(k[j>>2]|0))a=((l[k[t>>2]>>0]|0)&192|0)==128;else a=0;b=k[h>>2]|0;if(!a)break;B=k[t>>2]|0;k[t>>2]=B+1;k[h>>2]=(b<<6)+(63&(l[B>>0]|0))}if(((b|0)>=128?(k[h>>2]&-2048|0)!=55296:0)?(k[h>>2]&-2|0)!=65534:0)break;k[h>>2]=65533}while(0);if(aR(k[g>>2]|0,k[h>>2]|0)|0)break;k[v>>2]=k[t>>2]}if((k[v>>2]|0)>>>0>=(k[j>>2]|0)>>>0){k[x>>2]=101;B=k[x>>2]|0;u=A;return B|0}k[s>>2]=k[(k[r>>2]|0)+20>>2];while(1){if(((k[s>>2]|0)-(k[(k[r>>2]|0)+20>>2]|0)|0)>=((k[(k[r>>2]|0)+24>>2]|0)-4|0)){B=fg(k[(k[r>>2]|0)+20>>2]|0,(k[(k[r>>2]|0)+24>>2]|0)+64|0)|0;k[n>>2]=B;if(!(k[n>>2]|0)){a=20;break}k[s>>2]=(k[n>>2]|0)+((k[s>>2]|0)-(k[(k[r>>2]|0)+20>>2]|0));k[(k[r>>2]|0)+20>>2]=k[n>>2];B=(k[r>>2]|0)+24|0;k[B>>2]=(k[B>>2]|0)+64}k[w>>2]=k[t>>2];B=bR(k[h>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0;k[m>>2]=B;do if(k[m>>2]|0){a=k[m>>2]|0;if((k[m>>2]|0)<128){B=k[s>>2]|0;k[s>>2]=B+1;i[B>>0]=a;break}b=k[m>>2]|0;if((a|0)<2048){f=k[s>>2]|0;k[s>>2]=f+1;i[f>>0]=192+(b>>6&31);f=128+(k[m>>2]&63)&255;B=k[s>>2]|0;k[s>>2]=B+1;i[B>>0]=f;break}a=k[m>>2]|0;if((b|0)<65536){B=k[s>>2]|0;k[s>>2]=B+1;i[B>>0]=224+(a>>12&15);B=128+(k[m>>2]>>6&63)&255;f=k[s>>2]|0;k[s>>2]=f+1;i[f>>0]=B;f=128+(k[m>>2]&63)&255;B=k[s>>2]|0;k[s>>2]=B+1;i[B>>0]=f;break}else{f=k[s>>2]|0;k[s>>2]=f+1;i[f>>0]=240+(a>>18&7);f=128+(k[m>>2]>>12&63)&255;B=k[s>>2]|0;k[s>>2]=B+1;i[B>>0]=f;B=128+(k[m>>2]>>6&63)&255;f=k[s>>2]|0;k[s>>2]=f+1;i[f>>0]=B;f=128+(k[m>>2]&63)&255;B=k[s>>2]|0;k[s>>2]=B+1;i[B>>0]=f;break}}while(0);if((k[t>>2]|0)>>>0>=(k[j>>2]|0)>>>0){a=43;break}B=k[t>>2]|0;k[t>>2]=B+1;k[h>>2]=l[B>>0];do if((k[h>>2]|0)>=192){k[h>>2]=l[22127+((k[h>>2]|0)-192)>>0];while(1){if((k[t>>2]|0)!=(k[j>>2]|0))b=((l[k[t>>2]>>0]|0)&192|0)==128;else b=0;a=k[h>>2]|0;if(!b)break;B=k[t>>2]|0;k[t>>2]=B+1;k[h>>2]=(a<<6)+(63&(l[B>>0]|0))}if(((a|0)>=128?(k[h>>2]&-2048|0)!=55296:0)?(k[h>>2]&-2|0)!=65534:0)break;k[h>>2]=65533}while(0);if(aR(k[g>>2]|0,k[h>>2]|0)|0)continue;if(!(cR(k[h>>2]|0)|0)){a=43;break}}if((a|0)==20){k[x>>2]=7;B=k[x>>2]|0;u=A;return B|0}else if((a|0)==43){k[(k[r>>2]|0)+12>>2]=(k[t>>2]|0)-(k[(k[r>>2]|0)+4>>2]|0);k[k[y>>2]>>2]=k[(k[r>>2]|0)+20>>2];k[k[z>>2]>>2]=(k[s>>2]|0)-(k[(k[r>>2]|0)+20>>2]|0);k[k[o>>2]>>2]=(k[v>>2]|0)-(k[(k[r>>2]|0)+4>>2]|0);k[k[p>>2]>>2]=(k[w>>2]|0)-(k[(k[r>>2]|0)+4>>2]|0);z=(k[r>>2]|0)+16|0;B=k[z>>2]|0;k[z>>2]=B+1;k[k[q>>2]>>2]=B;k[x>>2]=0;B=k[x>>2]|0;u=A;return B|0}return 0}function aR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=eR(k[d>>2]|0)|0;b=b^(fR(k[e>>2]|0,k[d>>2]|0)|0);u=c;return b|0}function bR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0;o=u;u=u+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;n=o+4|0;c=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[d>>2];a=k[d>>2]|0;if((k[d>>2]|0)<128){if(!((a|0)>=65&(k[d>>2]|0)<=90)){n=k[f>>2]|0;u=o;return n|0}k[f>>2]=(k[d>>2]|0)+32;n=k[f>>2]|0;u=o;return n|0}if((a|0)>=65536){if(!((k[d>>2]|0)>=66560&(k[d>>2]|0)<66600)){n=k[f>>2]|0;u=o;return n|0}k[f>>2]=(k[d>>2]|0)+40;n=k[f>>2]|0;u=o;return n|0}k[g>>2]=162;k[h>>2]=0;k[i>>2]=-1;while(1){if((k[g>>2]|0)<(k[h>>2]|0))break;k[j>>2]=((k[g>>2]|0)+(k[h>>2]|0)|0)/2|0;k[n>>2]=(k[d>>2]|0)-(m[17070+(k[j>>2]<<2)>>1]|0);a=k[j>>2]|0;if((k[n>>2]|0)>=0){k[i>>2]=a;k[h>>2]=(k[j>>2]|0)+1;continue}else{k[g>>2]=a-1;continue}}if(((k[i>>2]|0)>=0?(k[c>>2]=17070+(k[i>>2]<<2),(k[d>>2]|0)<((m[k[c>>2]>>1]|0)+(l[(k[c>>2]|0)+3>>0]|0)|0)):0)?0==(1&(l[(k[c>>2]|0)+2>>0]|0)&((m[k[c>>2]>>1]|0)^k[d>>2])|0):0)k[f>>2]=(k[d>>2]|0)+(m[17722+((l[(k[c>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(k[e>>2]|0)){n=k[f>>2]|0;u=o;return n|0}n=dR(k[f>>2]|0)|0;k[f>>2]=n;n=k[f>>2]|0;u=o;return n|0}function cR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;e=f+12|0;d=f+8|0;b=f+4|0;c=f;k[d>>2]=a;k[b>>2]=134389727;k[c>>2]=221688;if((k[d>>2]|0)<768|(k[d>>2]|0)>817){k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}if((k[d>>2]|0)<800){b=k[b>>2]|0;a=(k[d>>2]|0)-768|0}else{b=k[c>>2]|0;a=(k[d>>2]|0)-768-32|0}k[e>>2]=b&1<>2]|0;u=f;return e|0}function dR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0;o=u;u=u+336|0;d=o+20|0;e=o+24|0;f=o+226|0;g=o+16|0;h=o+12|0;j=o+8|0;l=o+4|0;n=o;k[d>>2]=a;r0(e|0,18682,202)|0;a=f;b=48822;c=a+101|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));k[g>>2]=k[d>>2]<<3|7;k[h>>2]=0;k[j>>2]=100;k[l>>2]=0;while(1){if((k[j>>2]|0)<(k[l>>2]|0))break;k[n>>2]=((k[j>>2]|0)+(k[l>>2]|0)|0)/2|0;a=k[n>>2]|0;if((k[g>>2]|0)>>>0>=(m[e+(k[n>>2]<<1)>>1]|0)>>>0){k[h>>2]=a;k[l>>2]=(k[n>>2]|0)+1;continue}else{k[j>>2]=a-1;continue}}if((k[d>>2]|0)>((m[e+(k[h>>2]<<1)>>1]>>3)+(m[e+(k[h>>2]<<1)>>1]&7)|0)){n=k[d>>2]|0;u=o;return n|0}else{n=i[f+(k[h>>2]|0)>>0]|0;u=o;return n|0}return 0}function eR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;b=i+24|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[c>>2]=a;a=k[c>>2]|0;if((k[c>>2]|0)<128){k[b>>2]=(k[6940+(a>>5<<2)>>2]&1<<(k[c>>2]&31)|0)==0&1;h=k[b>>2]|0;u=i;return h|0}if((a|0)>=4194304){k[b>>2]=1;h=k[b>>2]|0;u=i;return h|0}k[d>>2]=k[c>>2]<<10|1023;k[e>>2]=0;k[f>>2]=405;k[g>>2]=0;while(1){if((k[f>>2]|0)<(k[g>>2]|0))break;k[h>>2]=((k[f>>2]|0)+(k[g>>2]|0)|0)/2|0;a=k[h>>2]|0;if((k[d>>2]|0)>>>0>=(k[6956+(k[h>>2]<<2)>>2]|0)>>>0){k[e>>2]=a;k[g>>2]=(k[h>>2]|0)+1;continue}else{k[f>>2]=a-1;continue}}k[b>>2]=(k[c>>2]|0)>>>0>=(((k[6956+(k[e>>2]<<2)>>2]|0)>>>10)+(k[6956+(k[e>>2]<<2)>>2]&1023)|0)>>>0&1;h=k[b>>2]|0;u=i;return h|0}function fR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;d=j+24|0;c=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[c>>2]=a;k[e>>2]=b;a:do if((k[(k[c>>2]|0)+8>>2]|0)>0){k[f>>2]=k[(k[c>>2]|0)+12>>2];k[g>>2]=0;k[h>>2]=(k[(k[c>>2]|0)+8>>2]|0)-1;while(1){if((k[h>>2]|0)<(k[g>>2]|0))break a;k[i>>2]=((k[h>>2]|0)+(k[g>>2]|0)|0)/2|0;if((k[e>>2]|0)==(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0))break;a=k[i>>2]|0;if((k[e>>2]|0)>(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0)){k[g>>2]=a+1;continue}else{k[h>>2]=a-1;continue}}k[d>>2]=1;i=k[d>>2]|0;u=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;u=j;return i|0}function gR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=u;u=u+64|0;o=s+48|0;p=s+44|0;q=s+40|0;f=s+36|0;t=s+32|0;r=s+28|0;g=s+24|0;h=s+20|0;e=s+16|0;i=s+12|0;j=s+8|0;m=s+4|0;n=s;k[p>>2]=a;k[q>>2]=b;k[f>>2]=c;k[t>>2]=d;k[r>>2]=k[f>>2];k[g>>2]=(k[r>>2]|0)+(k[t>>2]|0);k[e>>2]=0;while(1){if((k[r>>2]|0)>>>0>=(k[g>>2]|0)>>>0)break;t=k[r>>2]|0;k[r>>2]=t+1;k[h>>2]=l[t>>0];do if((k[h>>2]|0)>=192){k[h>>2]=l[22127+((k[h>>2]|0)-192)>>0];while(1){if((k[r>>2]|0)!=(k[g>>2]|0))a=((l[k[r>>2]>>0]|0)&192|0)==128;else a=0;b=k[h>>2]|0;if(!a)break;t=k[r>>2]|0;k[r>>2]=t+1;k[h>>2]=(b<<6)+(63&(l[t>>0]|0))}if(((b|0)>=128?(k[h>>2]&-2048|0)!=55296:0)?(k[h>>2]&-2|0)!=65534:0)break;k[h>>2]=65533}while(0);t=eR(k[h>>2]|0)|0;if((t|0)==(k[q>>2]|0))continue;if(cR(k[h>>2]|0)|0)continue;k[e>>2]=(k[e>>2]|0)+1}if(k[e>>2]|0){t=fg(k[(k[p>>2]|0)+12>>2]|0,(k[(k[p>>2]|0)+8>>2]|0)+(k[e>>2]|0)<<2)|0;k[i>>2]=t;if(!(k[i>>2]|0)){k[o>>2]=7;t=k[o>>2]|0;u=s;return t|0}k[j>>2]=k[(k[p>>2]|0)+8>>2];k[r>>2]=k[f>>2];while(1){if((k[r>>2]|0)>>>0>=(k[g>>2]|0)>>>0)break;t=k[r>>2]|0;k[r>>2]=t+1;k[h>>2]=l[t>>0];do if((k[h>>2]|0)>=192){k[h>>2]=l[22127+((k[h>>2]|0)-192)>>0];while(1){if((k[r>>2]|0)!=(k[g>>2]|0))b=((l[k[r>>2]>>0]|0)&192|0)==128;else b=0;a=k[h>>2]|0;if(!b)break;t=k[r>>2]|0;k[r>>2]=t+1;k[h>>2]=(a<<6)+(63&(l[t>>0]|0))}if(((a|0)>=128?(k[h>>2]&-2048|0)!=55296:0)?(k[h>>2]&-2|0)!=65534:0)break;k[h>>2]=65533}while(0);t=eR(k[h>>2]|0)|0;if((t|0)==(k[q>>2]|0))continue;if(cR(k[h>>2]|0)|0)continue;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[j>>2]|0))break;if((k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0)>=(k[h>>2]|0))break;k[m>>2]=(k[m>>2]|0)+1}k[n>>2]=k[j>>2];while(1){if((k[n>>2]|0)<=(k[m>>2]|0))break;k[(k[i>>2]|0)+(k[n>>2]<<2)>>2]=k[(k[i>>2]|0)+((k[n>>2]|0)-1<<2)>>2];k[n>>2]=(k[n>>2]|0)+-1}k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]=k[h>>2];k[j>>2]=(k[j>>2]|0)+1}k[(k[p>>2]|0)+12>>2]=k[i>>2];k[(k[p>>2]|0)+8>>2]=k[j>>2]}k[o>>2]=0;t=k[o>>2]|0;u=s;return t|0}function hR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[e>>2]=0;b=ze(48)|0;k[e>>2]=b;if(!(k[e>>2]|0)){k[d>>2]=7;f=k[d>>2]|0;u=g;return f|0}k[f>>2]=k[e>>2];a=k[e>>2]|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[(k[e>>2]|0)+16>>2]=k[c>>2];k[k[e>>2]>>2]=2;k[(k[e>>2]|0)+12>>2]=149;k[(k[e>>2]|0)+4>>2]=150;k[(k[e>>2]|0)+8>>2]=152;b=VJ(k[c>>2]|0,47730,8580,k[f>>2]|0,163)|0;k[d>>2]=b;if(!(k[d>>2]|0)){b=mR(k[c>>2]|0)|0;k[d>>2]=b}if(!(k[d>>2]|0)){b=nR(k[e>>2]|0,k[c>>2]|0)|0;k[d>>2]=b}if(!(k[d>>2]|0)){b=oR(k[e>>2]|0)|0;k[d>>2]=b}if(!(k[d>>2]|0)){b=pR(k[e>>2]|0)|0;k[d>>2]=b}if(!(k[d>>2]|0)){e=qR(k[e>>2]|0,k[c>>2]|0)|0;k[d>>2]=e}if(!(k[d>>2]|0)){e=fK(k[c>>2]|0,47730,0,1,k[f>>2]|0,234,0,0)|0;k[d>>2]=e}if(k[d>>2]|0){f=k[d>>2]|0;u=g;return f|0}f=fK(k[c>>2]|0,47735,0,1,k[f>>2]|0,235,0,0)|0;k[d>>2]=f;f=k[d>>2]|0;u=g;return f|0}function iR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;q=p+36|0;l=p+32|0;m=p+28|0;n=p+24|0;o=p+20|0;f=p+16|0;g=p+12|0;h=p+8|0;i=p+4|0;j=p;k[q>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[f>>2]=k[q>>2];e=hK(k[(k[f>>2]|0)+16>>2]|0,k[l>>2]|0,-1)|0;k[g>>2]=e;if(k[g>>2]|0){q=k[g>>2]|0;u=p;return q|0}q=(q$(k[l>>2]|0)|0)+1|0;k[i>>2]=q;k[j>>2]=24+(k[i>>2]|0);q=ze(k[j>>2]|0)|0;k[h>>2]=q;if(k[h>>2]|0){w0(k[h>>2]|0,0,k[j>>2]|0)|0;k[(k[h>>2]|0)+4>>2]=(k[h>>2]|0)+24;r0(k[(k[h>>2]|0)+4>>2]|0,k[l>>2]|0,k[i>>2]|0)|0;k[k[h>>2]>>2]=k[f>>2];k[(k[h>>2]|0)+8>>2]=k[m>>2];k[(k[h>>2]|0)+12>>2]=k[n>>2];k[(k[h>>2]|0)+16>>2]=k[o>>2];k[(k[h>>2]|0)+20>>2]=k[(k[f>>2]|0)+32>>2];k[(k[f>>2]|0)+32>>2]=k[h>>2];q=k[g>>2]|0;u=p;return q|0}else{k[g>>2]=7;q=k[g>>2]|0;u=p;return q|0}return 0}function jR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;q=p+36|0;l=p+32|0;m=p+28|0;n=p+24|0;o=p+20|0;f=p+16|0;g=p+12|0;h=p+8|0;i=p+4|0;j=p;k[q>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[f>>2]=k[q>>2];k[j>>2]=0;e=(q$(k[l>>2]|0)|0)+1|0;k[h>>2]=e;k[i>>2]=28+(k[h>>2]|0);e=ze(k[i>>2]|0)|0;k[g>>2]=e;if(!(k[g>>2]|0)){k[j>>2]=7;q=k[j>>2]|0;u=p;return q|0}w0(k[g>>2]|0,0,k[i>>2]|0)|0;k[k[g>>2]>>2]=(k[g>>2]|0)+28;r0(k[k[g>>2]>>2]|0,k[l>>2]|0,k[h>>2]|0)|0;k[(k[g>>2]|0)+4>>2]=k[m>>2];q=(k[g>>2]|0)+8|0;n=k[n>>2]|0;k[q>>2]=k[n>>2];k[q+4>>2]=k[n+4>>2];k[q+8>>2]=k[n+8>>2];k[(k[g>>2]|0)+20>>2]=k[o>>2];k[(k[g>>2]|0)+24>>2]=k[(k[f>>2]|0)+36>>2];k[(k[f>>2]|0)+36>>2]=k[g>>2];if(k[(k[g>>2]|0)+24>>2]|0){q=k[j>>2]|0;u=p;return q|0}k[(k[f>>2]|0)+40>>2]=k[g>>2];q=k[j>>2]|0;u=p;return q|0}function kR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=u;u=u+32|0;l=h+20|0;j=h+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;k[l>>2]=a;k[j>>2]=b;k[e>>2]=c;k[i>>2]=d;k[f>>2]=0;a=DW(k[l>>2]|0,k[j>>2]|0)|0;k[g>>2]=a;a=k[i>>2]|0;if(k[g>>2]|0){l=(k[g>>2]|0)+8|0;k[a>>2]=k[l>>2];k[a+4>>2]=k[l+4>>2];k[a+8>>2]=k[l+8>>2];k[k[e>>2]>>2]=k[(k[g>>2]|0)+4>>2];l=k[f>>2]|0;u=h;return l|0}else{k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[f>>2]=1;l=k[f>>2]|0;u=h;return l|0}return 0}function lR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;h=g+20|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[f>>2]=k[h>>2];k[d>>2]=k[(k[f>>2]|0)+32>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+20>>2];if(k[(k[d>>2]|0)+16>>2]|0)Ob[k[(k[d>>2]|0)+16>>2]&255](k[(k[d>>2]|0)+8>>2]|0);ie(k[d>>2]|0);k[d>>2]=k[e>>2]}k[b>>2]=k[(k[f>>2]|0)+36>>2];while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+24>>2];if(k[(k[b>>2]|0)+20>>2]|0)Ob[k[(k[b>>2]|0)+20>>2]&255](k[(k[b>>2]|0)+4>>2]|0);ie(k[b>>2]|0);k[b>>2]=k[c>>2]}ie(k[f>>2]|0);u=g;return}function mR(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=fK(k[b>>2]|0,50433,2,1,0,236,0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){a=fK(k[b>>2]|0,50445,2,1,k[b>>2]|0,236,0,0)|0;k[c>>2]=a}if(k[c>>2]|0){c=k[c>>2]|0;u=d;return c|0}b=fK(k[b>>2]|0,50462,-1,1,0,237,0,0)|0;k[c>>2]=b;c=k[c>>2]|0;u=d;return c|0}function nR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+64|0;j=i+52|0;c=i+48|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[j>>2]=a;k[c>>2]=b;k[d>>2]=k[2627];k[d+4>>2]=k[2628];k[d+8>>2]=k[2629];k[d+12>>2]=k[2630];k[d+16>>2]=k[2631];k[d+20>>2]=k[2632];k[d+24>>2]=k[2633];k[d+28>>2]=k[2634];k[f>>2]=0;k[g>>2]=k[j>>2];k[e>>2]=0;while(1){if(!((k[f>>2]|0)==0?(k[e>>2]|0)<4:0))break;k[h>>2]=d+(k[e>>2]<<3);j=fK(k[c>>2]|0,k[k[h>>2]>>2]|0,-1,1,k[g>>2]|0,k[(k[h>>2]|0)+4>>2]|0,0,0)|0;k[f>>2]=j;k[e>>2]=(k[e>>2]|0)+1}u=i;return k[f>>2]|0}function oR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+64|0;d=h+56|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;a=e;b=10460;c=a+48|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));k[f>>2]=0;k[g>>2]=0;while(1){if(!((k[f>>2]|0)==0?(k[g>>2]|0)<3:0))break;c=Xb[k[(k[d>>2]|0)+12>>2]&255](k[d>>2]|0,k[e+(k[g>>2]<<4)>>2]|0,k[e+(k[g>>2]<<4)+4>>2]|0,k[e+(k[g>>2]<<4)+8>>2]|0,k[e+(k[g>>2]<<4)+12>>2]|0)|0;k[f>>2]=c;k[g>>2]=(k[g>>2]|0)+1}u=h;return k[f>>2]|0}function pR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+64|0;d=h+56|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;a=e;b=8772;c=a+48|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));k[f>>2]=0;k[g>>2]=0;while(1){if(!((k[f>>2]|0)==0?(k[g>>2]|0)<3:0))break;c=Xb[k[(k[d>>2]|0)+4>>2]&255](k[d>>2]|0,k[e+(k[g>>2]<<4)>>2]|0,k[d>>2]|0,e+(k[g>>2]<<4)+4|0,0)|0;k[f>>2]=c;k[g>>2]=(k[g>>2]|0)+1}u=h;return k[f>>2]|0}function qR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];b=VJ(k[e>>2]|0,47817,8672,k[d>>2]|0,0)|0;u=c;return b|0}function rR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+32|0;f=d+12|0;g=d;e=d+16|0;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;c=_h(k[f>>2]|0)|0;k[g>>2]=c;i[e>>0]=i[g>>0]|0;i[e+1>>0]=i[g+1>>0]|0;i[e+2>>0]=i[g+2>>0]|0;i[e+3>>0]=i[g+3>>0]|0;wj(k[f>>2]|0,e,4,-1);u=d;return}function sR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;Hi(k[e>>2]|0,47750,-1,-1);u=d;return}function tR(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=u;u=u+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=$T(k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;u=g;return f|0}function uR(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=u;u=u+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=$T(k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;u=g;return f|0}function vR(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;o=u;u=u+48|0;j=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;m=o+8|0;i=o+4|0;d=o;k[o+32>>2]=a;k[j>>2]=b;k[f>>2]=-1;k[g>>2]=-1;k[h>>2]=-1;k[m>>2]=0;k[i>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[j>>2]>>2]|0))break;k[d>>2]=(k[(k[j>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0);if(l[(k[d>>2]|0)+5>>0]|0|0?(k[k[d>>2]>>2]|0)==0:0){if((l[(k[d>>2]|0)+4>>0]|0|0)==2)k[f>>2]=k[e>>2];if((l[(k[d>>2]|0)+4>>0]|0|0)==8)k[h>>2]=k[e>>2];if((l[(k[d>>2]|0)+4>>0]|0|0)==16)k[h>>2]=k[e>>2];if((l[(k[d>>2]|0)+4>>0]|0|0)==32)k[g>>2]=k[e>>2];if((l[(k[d>>2]|0)+4>>0]|0|0)==4)k[g>>2]=k[e>>2]}k[e>>2]=(k[e>>2]|0)+1}if((k[f>>2]|0)<0){p[(k[j>>2]|0)+40>>3]=1.0e6;if((k[g>>2]|0)>=0){k[m>>2]=k[m>>2]|2;f=(k[i>>2]|0)+1|0;k[i>>2]=f;k[(k[(k[j>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]=f;p[(k[j>>2]|0)+40>>3]=+p[(k[j>>2]|0)+40>>3]/2.0}if((k[h>>2]|0)>=0){k[m>>2]=k[m>>2]|4;a=(k[i>>2]|0)+1|0;k[i>>2]=a;k[(k[(k[j>>2]|0)+16>>2]|0)+(k[h>>2]<<3)>>2]=a;c=+p[(k[j>>2]|0)+40>>3]/2.0;a=k[j>>2]|0;n=22}}else{k[m>>2]=k[m>>2]|1;a=(k[i>>2]|0)+1|0;k[i>>2]=a;k[(k[(k[j>>2]|0)+16>>2]|0)+(k[f>>2]<<3)>>2]=a;c=100.0;a=k[j>>2]|0;n=22}if((n|0)==22)p[a+40>>3]=c;if((k[(k[j>>2]|0)+8>>2]|0)!=1){m=k[m>>2]|0;n=k[j>>2]|0;n=n+20|0;k[n>>2]=m;u=o;return 0}if(k[k[(k[j>>2]|0)+12>>2]>>2]|0){m=k[m>>2]|0;n=k[j>>2]|0;n=n+20|0;k[n>>2]=m;u=o;return 0}if(l[(k[(k[j>>2]|0)+12>>2]|0)+4>>0]|0|0){m=k[m>>2]|0;n=k[j>>2]|0;n=n+20|0;k[n>>2]=m;u=o;return 0}k[(k[j>>2]|0)+32>>2]=1;m=k[m>>2]|0;n=k[j>>2]|0;n=n+20|0;k[n>>2]=m;u=o;return 0}function wR(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];ie(k[c>>2]|0);u=b;return 0}function xR(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];ie(k[c>>2]|0);u=b;return 0}function yR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+80|0;o=p+24|0;q=p+8|0;f=p+68|0;g=p+64|0;h=p+60|0;i=p+56|0;j=p+52|0;l=p+48|0;m=p+44|0;n=p+40|0;c=p+36|0;d=p;e=p+32|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=k[f>>2];k[i>>2]=0;k[j>>2]=0;k[l>>2]=0;k[m>>2]=0;k[n>>2]=0;k[c>>2]=0;r=k[(k[h>>2]|0)+16>>2]|0;a=k[(k[h>>2]|0)+12>>2]|0;b=k[(k[h>>2]|0)+12>>2]|0;k[q>>2]=k[(k[h>>2]|0)+12>>2];k[q+4>>2]=r;k[q+8>>2]=a;k[q+12>>2]=b;b=OT(m,48218,q)|0;k[c>>2]=b;if(k[c>>2]|0){r=Jv(k[(k[h>>2]|0)+20>>2]|0,k[c>>2]|0,-1,n,0)|0;k[m>>2]=r}ie(k[c>>2]|0);if((k[m>>2]|0)==1)k[m>>2]=0;if(k[n>>2]|0?(Ls(k[n>>2]|0)|0)==100:0){q=tJ(k[n>>2]|0,0)|0;r=d;k[r>>2]=q;k[r+4>>2]=M;r=d;r=ZT(k[(k[h>>2]|0)+24>>2]|0,k[r>>2]|0,k[r+4>>2]|0,j)|0;k[i>>2]=r}if((k[m>>2]|0)==0&(k[i>>2]|0)==0?(r=Pr(k[n>>2]|0)|0,k[m>>2]=r,k[n>>2]=0,(k[m>>2]|0)==0):0){r=k[(k[h>>2]|0)+12>>2]|0;k[o>>2]=k[(k[h>>2]|0)+16>>2];k[o+4>>2]=r;r=xf(48269,o)|0;k[(k[f>>2]|0)+8>>2]=r;k[m>>2]=1}if(!(k[m>>2]|0)){k[e>>2]=(k[(k[j>>2]|0)+12>>2]<<3<<1)+72;r=nT(m,k[e>>2]|0)|0;k[l>>2]=r}if(k[l>>2]|0){k[(k[l>>2]|0)+8>>2]=k[i>>2];k[(k[l>>2]|0)+4>>2]=k[n>>2];k[(k[l>>2]|0)+28>>2]=k[j>>2];k[(k[l>>2]|0)+36>>2]=(k[l>>2]|0)+72;k[(k[l>>2]|0)+40>>2]=(k[(k[l>>2]|0)+36>>2]|0)+(k[(k[j>>2]|0)+12>>2]<<3);q=k[l>>2]|0;r=k[g>>2]|0;k[r>>2]=q;r=k[m>>2]|0;u=p;return r|0}else{Pr(k[n>>2]|0)|0;q=k[l>>2]|0;r=k[g>>2]|0;k[r>>2]=q;r=k[m>>2]|0;u=p;return r|0}return 0}function zR(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];oS(k[c>>2]|0);xS((k[c>>2]|0)+56|0);Pr(k[(k[c>>2]|0)+4>>2]|0)|0;ie(k[c>>2]|0);u=b;return 0}function AR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;q=t+56|0;r=t+52|0;s=t+40|0;f=t+36|0;g=t+32|0;h=t+28|0;i=t+24|0;j=t+20|0;l=t+16|0;m=t+12|0;n=t+8|0;o=t+4|0;p=t;k[q>>2]=a;k[r>>2]=b;k[t+48>>2]=c;k[t+44>>2]=d;k[s>>2]=e;k[f>>2]=k[q>>2];k[g>>2]=0;k[h>>2]=0;k[i>>2]=8;k[j>>2]=0;k[l>>2]=0;k[m>>2]=0;k[n>>2]=0;k[o>>2]=0;oS(k[f>>2]|0);if(k[r>>2]&1|0){d=k[s>>2]|0;e=k[h>>2]|0;k[h>>2]=e+1;k[m>>2]=k[d+(e<<2)>>2]}if(k[r>>2]&2|0){d=k[s>>2]|0;e=k[h>>2]|0;k[h>>2]=e+1;k[n>>2]=k[d+(e<<2)>>2]}if(k[r>>2]&4|0){r=k[s>>2]|0;s=k[h>>2]|0;k[h>>2]=s+1;k[o>>2]=k[r+(s<<2)>>2]}do if(!(k[m>>2]|0)){if(k[n>>2]|0){s=$h(k[n>>2]|0)|0;k[j>>2]=s;s=ai(k[n>>2]|0)|0;k[l>>2]=s}if(k[o>>2]|0){s=$h(k[o>>2]|0)|0;k[p>>2]=s;s=ai(k[o>>2]|0)|0;k[(k[f>>2]|0)+20>>2]=s;s=ze((k[(k[f>>2]|0)+20>>2]|0)+1|0)|0;k[(k[f>>2]|0)+24>>2]=s;if(!(k[(k[f>>2]|0)+24>>2]|0)){k[g>>2]=7;break}else{r0(k[(k[f>>2]|0)+24>>2]|0,k[p>>2]|0,(k[(k[f>>2]|0)+20>>2]|0)+1|0)|0;break}}}else{s=$h(k[m>>2]|0)|0;k[j>>2]=s;s=ai(k[m>>2]|0)|0;k[l>>2]=s;k[i>>2]=0}while(0);if(!(k[g>>2]|0)){s=pS(k[(k[f>>2]|0)+8>>2]|0,k[j>>2]|0,k[l>>2]|0,k[i>>2]|0,0,(k[f>>2]|0)+16|0)|0;k[g>>2]=s}if(k[g>>2]|0){s=k[g>>2]|0;u=t;return s|0}s=BR(k[q>>2]|0)|0;k[g>>2]=s;s=k[g>>2]|0;u=t;return s|0}function BR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+80|0;e=t+64|0;v=t+60|0;n=t+56|0;o=t+52|0;p=t+48|0;q=t+44|0;r=t+40|0;s=t+36|0;d=t+32|0;c=t+28|0;f=t+24|0;g=t+20|0;h=t;j=t+16|0;l=t+12|0;m=t+8|0;k[v>>2]=a;k[n>>2]=k[v>>2];k[o>>2]=k[k[v>>2]>>2];k[p>>2]=0;k[q>>2]=k[(k[(k[n>>2]|0)+28>>2]|0)+12>>2];a=(k[n>>2]|0)+48|0;v=a;v=i0(k[v>>2]|0,k[v+4>>2]|0,1,0)|0;k[a>>2]=v;k[a+4>>2]=M;a:do if(!(k[(k[o>>2]|0)+28>>2]|0)){a=k[n>>2]|0;while(1){v=a+32|0;k[v>>2]=(k[v>>2]|0)+1;if((k[(k[n>>2]|0)+32>>2]|0)>=(k[q>>2]|0))break a;v=(k[(k[n>>2]|0)+40>>2]|0)+(k[(k[n>>2]|0)+32>>2]<<3)|0;if((k[v>>2]|0)!=0|(k[v+4>>2]|0)!=0)break a;a=k[n>>2]|0}}while(0);if(!((k[(k[o>>2]|0)+28>>2]|0)!=1?(k[(k[n>>2]|0)+32>>2]|0)<(k[q>>2]|0):0))b=8;b:do if((b|0)==8){a=k[n>>2]|0;if(i[(k[(k[n>>2]|0)+16>>2]|0)+16>>0]|0){k[a+12>>2]=1;break}v=FR(k[a+16>>2]|0,s)|0;k[r>>2]=v;do if((k[(k[n>>2]|0)+20>>2]|0)>=0){if((k[s>>2]|0)<(k[(k[n>>2]|0)+20>>2]|0))a=k[s>>2]|0;else a=k[(k[n>>2]|0)+20>>2]|0;k[d>>2]=a;v=R_(k[(k[n>>2]|0)+24>>2]|0,k[r>>2]|0,k[d>>2]|0)|0;k[c>>2]=v;if((k[c>>2]|0)>=0){if(k[c>>2]|0)break;if((k[(k[n>>2]|0)+20>>2]|0)>=(k[s>>2]|0))break}k[(k[n>>2]|0)+12>>2]=1;k[e>>2]=0;v=k[e>>2]|0;u=t;return v|0}while(0);GR(p,(k[n>>2]|0)+56|0,k[s>>2]|0,k[r>>2]|0);w0(k[(k[n>>2]|0)+36>>2]|0,0,k[q>>2]<<3|0)|0;w0(k[(k[n>>2]|0)+40>>2]|0,0,k[q>>2]<<3|0)|0;k[(k[n>>2]|0)+32>>2]=0;c:while(1){if(k[p>>2]|0)break b;while(1){v=h;k[v>>2]=0;k[v+4>>2]=0;k[j>>2]=0;k[f>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2];k[g>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+12>>2];d:do switch(k[(k[(k[n>>2]|0)+28>>2]|0)+48>>2]|0){case 0:{k[f>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2];k[g>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+12>>2];if((k[(k[o>>2]|0)+28>>2]|0)==1){while(1){v=0==(HR(k[f>>2]|0,k[g>>2]|0,j,h)|0);a=k[n>>2]|0;if(!v)break;v=k[a+36>>2]|0;d=v;d=i0(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[v>>2]=d;k[v+4>>2]=M}v=k[a+40>>2]|0;d=v;d=i0(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[v>>2]=d;k[v+4>>2]=M;break d}k[l>>2]=-1;while(1){if(HR(k[f>>2]|0,k[g>>2]|0,j,h)|0)break d;v=h;v=o0(k[v>>2]|0,k[v+4>>2]|0,32)|0;k[m>>2]=v;v=(k[(k[n>>2]|0)+36>>2]|0)+(k[m>>2]<<3)|0;d=v;d=i0(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[v>>2]=d;k[v+4>>2]=M;if((k[l>>2]|0)==(k[m>>2]|0))continue;if((k[m>>2]|0)>=(k[q>>2]|0))break;v=(k[(k[n>>2]|0)+40>>2]|0)+(k[m>>2]<<3)|0;d=v;d=i0(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[v>>2]=d;k[v+4>>2]=M;k[l>>2]=k[m>>2]}k[p>>2]=267;break}case 2:{if((k[(k[o>>2]|0)+28>>2]|0)==1){v=k[(k[n>>2]|0)+40>>2]|0;d=v;d=i0(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[v>>2]=d;k[v+4>>2]=M;break d}while(1){if(HR(k[f>>2]|0,k[g>>2]|0,j,h)|0)break d;d=h;b=k[d+4>>2]|0;v=k[q>>2]|0;c=((v|0)<0)<<31>>31;if((b|0)>(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0>=v>>>0:0))break;v=(k[(k[n>>2]|0)+40>>2]|0)+(k[h>>2]<<3)|0;d=v;d=i0(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[v>>2]=d;k[v+4>>2]=M}k[p>>2]=267;break}default:{v=k[(k[n>>2]|0)+40>>2]|0;d=v;d=i0(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[v>>2]=d;k[v+4>>2]=M}}while(0);if(!(k[p>>2]|0)){v=IR(k[(k[n>>2]|0)+16>>2]|0)|0;k[p>>2]=v}if(k[p>>2]|0)continue c;v=FR(k[(k[n>>2]|0)+16>>2]|0,s)|0;k[r>>2]=v;if((k[s>>2]|0)!=(k[(k[n>>2]|0)+56+4>>2]|0))break b;if(R_(k[r>>2]|0,k[(k[n>>2]|0)+56>>2]|0,k[s>>2]|0)|0)break b;if(!((k[p>>2]|0)==0?(i[(k[(k[n>>2]|0)+16>>2]|0)+16>>0]|0)==0:0))break b}}}while(0);e:do if(((k[p>>2]|0)==0?(k[(k[n>>2]|0)+12>>2]|0)==0:0)?(k[(k[o>>2]|0)+28>>2]|0)==0:0)while(1){v=(k[(k[n>>2]|0)+40>>2]|0)+(k[(k[n>>2]|0)+32>>2]<<3)|0;if(!((k[v>>2]|0)==0&(k[v+4>>2]|0)==0))break e;v=(k[n>>2]|0)+32|0;k[v>>2]=(k[v>>2]|0)+1}while(0);k[e>>2]=k[p>>2];v=k[e>>2]|0;u=t;return v|0}function CR(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];u=c;return k[(k[b>>2]|0)+12>>2]|0}function DR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+48|0;m=l+32|0;i=l+28|0;g=l+24|0;h=l+20|0;e=l+16|0;f=l+12|0;j=l;d=l+8|0;k[m>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=k[m>>2];k[e>>2]=k[(k[(k[h>>2]|0)+28>>2]|0)+48>>2];k[f>>2]=k[(k[k[m>>2]>>2]|0)+28>>2];c=j;k[c>>2]=0;k[c+4>>2]=0;do if(k[g>>2]|0){b=(k[g>>2]|0)==1;if(k[f>>2]|0){a=k[h>>2]|0;if(b){g=k[a+40>>2]|0;h=k[g+4>>2]|0;m=j;k[m>>2]=k[g>>2];k[m+4>>2]=h;break}else{g=k[a+36>>2]|0;h=k[g+4>>2]|0;m=j;k[m>>2]=k[g>>2];k[m+4>>2]=h;break}}if(b){if((k[e>>2]|0)==1)break;k[d>>2]=k[(k[(k[(k[h>>2]|0)+28>>2]|0)+16>>2]|0)+(k[(k[h>>2]|0)+32>>2]<<2)>>2];Hi(k[i>>2]|0,k[d>>2]|0,-1,0);break}a=k[h>>2]|0;if((k[g>>2]|0)==2){g=(k[a+40>>2]|0)+(k[(k[h>>2]|0)+32>>2]<<3)|0;h=k[g+4>>2]|0;m=j;k[m>>2]=k[g>>2];k[m+4>>2]=h;break}else{g=(k[a+36>>2]|0)+(k[(k[h>>2]|0)+32>>2]<<3)|0;h=k[g+4>>2]|0;m=j;k[m>>2]=k[g>>2];k[m+4>>2]=h;break}}else Hi(k[i>>2]|0,k[(k[h>>2]|0)+56>>2]|0,k[(k[h>>2]|0)+56+4>>2]|0,-1);while(0);m=j;h=k[m+4>>2]|0;if(!((h|0)>0|(h|0)==0&(k[m>>2]|0)>>>0>0)){u=l;return 0}m=j;Li(k[i>>2]|0,k[m>>2]|0,k[m+4>>2]|0);u=l;return 0}function ER(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+48|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;u=c;return 0}function FR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+12|0;e=d+8|0;f=d+4|0;c=d;k[g>>2]=a;k[e>>2]=b;b=nS(k[g>>2]|0,f)|0;k[c>>2]=b;k[k[e>>2]>>2]=(k[f>>2]|0)-1;u=d;return (k[c>>2]|0)+1|0}function GR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;k[(k[h>>2]|0)+4>>2]=0;lS(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);u=e;return}function HR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;n=u;u=u+48|0;g=n+32|0;h=n+28|0;o=n+24|0;i=n+20|0;j=n+16|0;m=n+12|0;e=n;f=n+8|0;k[h>>2]=a;k[o>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=k[k[i>>2]>>2];a=k[j>>2]|0;if((k[m>>2]|0)>=(k[o>>2]|0)){o=a;k[o>>2]=-1;k[o+4>>2]=-1;k[g>>2]=1;o=k[g>>2]|0;u=n;return o|0}c=a;o=k[c+4>>2]|0;d=e;k[d>>2]=k[c>>2];k[d+4>>2]=o;d=k[h>>2]|0;o=k[m>>2]|0;k[m>>2]=o+1;k[f>>2]=l[d+o>>0];if(k[f>>2]&128|0){k[m>>2]=(k[m>>2]|0)+-1;o=dS((k[h>>2]|0)+(k[m>>2]|0)|0,f)|0;k[m>>2]=(k[m>>2]|0)+o}if((k[f>>2]|0)==1){d=k[h>>2]|0;o=k[m>>2]|0;k[m>>2]=o+1;k[f>>2]=l[d+o>>0];if(k[f>>2]&128|0){k[m>>2]=(k[m>>2]|0)+-1;o=dS((k[h>>2]|0)+(k[m>>2]|0)|0,f)|0;k[m>>2]=(k[m>>2]|0)+o}o=k[f>>2]|0;d=e;k[d>>2]=0;k[d+4>>2]=o;d=k[h>>2]|0;o=k[m>>2]|0;k[m>>2]=o+1;k[f>>2]=l[d+o>>0];if(k[f>>2]&128|0){k[m>>2]=(k[m>>2]|0)+-1;o=dS((k[h>>2]|0)+(k[m>>2]|0)|0,f)|0;k[m>>2]=(k[m>>2]|0)+o}}o=e;h=(k[f>>2]|0)-2|0;h=i0(k[o>>2]|0,k[o+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;o=k[j>>2]|0;k[o>>2]=h;k[o+4>>2]=M;k[k[i>>2]>>2]=k[m>>2];k[g>>2]=0;o=k[g>>2]|0;u=n;return o|0}function IR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=u;u=u+16|0;f=d+12|0;b=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[b>>2]=k[f>>2];k[e>>2]=k[(k[b>>2]|0)+24>>2];JR(k[e>>2]|0,k[b>>2]|0,0,0,0);if(((k[(k[e>>2]|0)+36>>2]|0)==0?(k[c>>2]=(k[b>>2]|0)+80+((m[(k[(k[b>>2]|0)+72>>2]|0)+4>>1]|0)*88|0),k[(k[c>>2]|0)+12>>2]|0):0)?(l[k[(k[c>>2]|0)+60>>2]>>0]|0|0)!=48:0){KR(k[(k[c>>2]|0)+12>>2]|0);k[(k[c>>2]|0)+12>>2]=0;i[(k[b>>2]|0)+16>>0]=1}f=LR(k[(k[b>>2]|0)+24>>2]|0)|0;u=d;return f|0}function JR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+48|0;i=q+32|0;j=q+28|0;r=q+24|0;n=q;o=q+20|0;f=q+16|0;g=q+12|0;h=q+8|0;k[i>>2]=a;k[j>>2]=b;k[r>>2]=c;c=n;k[c>>2]=d;k[c+4>>2]=e;k[o>>2]=k[r>>2];while(1){if(k[(k[i>>2]|0)+36>>2]|0){p=14;break}k[f>>2]=m[(k[(k[j>>2]|0)+72>>2]|0)+4>>1];k[g>>2]=0;k[h>>2]=(k[j>>2]|0)+80+((k[f>>2]|0)*88|0);if(k[o>>2]|0?k[(k[h>>2]|0)+56>>2]|0:0){r=n;MR(k[i>>2]|0,k[h>>2]|0,k[r>>2]|0,k[r+4>>2]|0)}else Sb[k[(k[h>>2]|0)+24>>2]&255](k[i>>2]|0,k[h>>2]|0,g);if(!(!(k[g>>2]|0?1:(k[(k[h>>2]|0)+12>>2]|0)==0)?!(NR(k[j>>2]|0,k[f>>2]|0,h)|0):0))p=9;if((p|0)==9?(p=0,OR(k[i>>2]|0,k[j>>2]|0,k[f>>2]|0,1),PR(k[j>>2]|0),k[h>>2]=(k[j>>2]|0)+80+((m[(k[(k[j>>2]|0)+72>>2]|0)+4>>1]|0)*88|0),(k[(k[h>>2]|0)+12>>2]|0)==0):0){p=14;break}if(!(l[(k[j>>2]|0)+60>>0]|0)){p=12;break}if(k[(k[h>>2]|0)+80>>2]|0){p=12;break}k[o>>2]=0}if((p|0)==12){Pb[k[(k[j>>2]|0)+48>>2]&255](k[j>>2]|0,k[h>>2]|0);u=q;return}else if((p|0)==14){u=q;return}}function KR(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ie(k[c>>2]|0);u=b;return}function LR(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+36>>2];k[(k[d>>2]|0)+36>>2]=0;u=c;return k[b>>2]|0}function MR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;f=m+28|0;g=m+24|0;h=m;i=m+20|0;j=m+16|0;l=m+12|0;e=m+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=k[(k[g>>2]|0)+4>>2]&2;k[j>>2]=k[(k[g>>2]|0)+56>>2];k[l>>2]=k[(k[g>>2]|0)+8>>2];k[e>>2]=1;if(!(k[i>>2]|0)){while(1){if(SR(k[f>>2]|0,k[j>>2]|0)|0)break;a=h;c=k[a>>2]|0;a=k[a+4>>2]|0;d=TR(k[j>>2]|0)|0;b=M;if(!((a|0)>(b|0)|(a|0)==(b|0)&c>>>0>d>>>0))break;d=UR(k[j>>2]|0)|0;k[l>>2]=d;VR(k[f>>2]|0,k[j>>2]|0)|0}if((k[l>>2]|0)>(k[(k[g>>2]|0)+8>>2]|0)){WR(k[f>>2]|0,k[g>>2]|0,k[l>>2]|0);k[e>>2]=0}}else{while(1){if(SR(k[f>>2]|0,k[j>>2]|0)|0)break;a=h;c=k[a>>2]|0;a=k[a+4>>2]|0;d=TR(k[j>>2]|0)|0;b=M;if(!((a|0)<(b|0)|(a|0)==(b|0)&c>>>0>>0))break;XR(k[f>>2]|0,k[j>>2]|0)|0}j=UR(k[j>>2]|0)|0;k[l>>2]=j;if((k[l>>2]|0)<(k[(k[g>>2]|0)+8>>2]|0)){k[(k[g>>2]|0)+8>>2]=(k[l>>2]|0)+1;YR(k[f>>2]|0,k[g>>2]|0);k[e>>2]=0}}while(1){if(k[e>>2]|0?(k[(k[f>>2]|0)+36>>2]|0)==0:0)Sb[k[(k[g>>2]|0)+24>>2]&255](k[f>>2]|0,k[g>>2]|0,0);if(!(k[(k[g>>2]|0)+12>>2]|0)){a=21;break}if((k[i>>2]|0)==0?(j=(k[g>>2]|0)+72|0,c=k[j+4>>2]|0,l=h,d=k[l+4>>2]|0,(c|0)>(d|0)|((c|0)==(d|0)?(k[j>>2]|0)>>>0>=(k[l>>2]|0)>>>0:0)):0){a=21;break}if(k[i>>2]|0?(j=(k[g>>2]|0)+72|0,c=k[j+4>>2]|0,l=h,d=k[l+4>>2]|0,(c|0)<(d|0)|((c|0)==(d|0)?(k[j>>2]|0)>>>0<=(k[l>>2]|0)>>>0:0)):0){a=21;break}k[e>>2]=1;if(k[(k[f>>2]|0)+36>>2]|0){a=21;break}}if((a|0)==21){u=m;return}}function NR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;q=u;u=u+32|0;g=q+28|0;h=q+24|0;d=q+20|0;l=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;f=q;k[h>>2]=a;k[d>>2]=b;k[l>>2]=c;k[n>>2]=(k[h>>2]|0)+80+((k[d>>2]|0)*88|0);b=(k[n>>2]|0)+72|0;c=(k[h>>2]|0)+64|0;if(!(!((k[b>>2]|0)==(k[c>>2]|0)?(k[b+4>>2]|0)==(k[c+4>>2]|0):0)?(b=(k[n>>2]|0)+72|0,r=k[b+4>>2]|0,c=(k[h>>2]|0)+64|0,a=k[c+4>>2]|0,(((r|0)<(a|0)|((r|0)==(a|0)?(k[b>>2]|0)>>>0<(k[c>>2]|0)>>>0:0))&1|0)!=(k[(k[h>>2]|0)+56>>2]|0)):0))e=3;a:do if((e|0)==3){k[p>>2]=(k[h>>2]|0)+80+((k[d>>2]^1)*88|0);e=(k[(k[h>>2]|0)+56>>2]|0)!=0;r=(k[h>>2]|0)+64|0;k[r>>2]=e?0:-1;k[r+4>>2]=e?-2147483648:2147483647;k[o>>2]=((k[(k[h>>2]|0)+52>>2]|0)+(k[d>>2]|0)|0)/2|0;b:while(1){k[f>>2]=(k[(k[h>>2]|0)+72>>2]|0)+(k[o>>2]<<2);do if(i[(k[f>>2]|0)+2>>0]|0){e=(k[n>>2]|0)+72|0;r=(k[p>>2]|0)+72|0;if((k[e>>2]|0)==(k[r>>2]|0)?(k[e+4>>2]|0)==(k[r+4>>2]|0):0)break b;e=(k[p>>2]|0)+72|0;s=k[e+4>>2]|0;r=(k[n>>2]|0)+72|0;d=k[r+4>>2]|0;b=(k[p>>2]|0)+72|0;a=k[b>>2]|0;b=k[b+4>>2]|0;c=(k[h>>2]|0)+64|0;if((((s|0)>(d|0)|((s|0)==(d|0)?(k[e>>2]|0)>>>0>(k[r>>2]|0)>>>0:0))&1|0)==(k[(k[h>>2]|0)+56>>2]|0)){s=c;k[s>>2]=a;k[s+4>>2]=b;k[n>>2]=k[p>>2];break}s=c;r=k[s+4>>2]|0;if((((b|0)>(r|0)|((b|0)==(r|0)?a>>>0>(k[s>>2]|0)>>>0:0))&1|0)==(k[(k[h>>2]|0)+56>>2]|0)){e=(k[p>>2]|0)+72|0;r=k[e+4>>2]|0;s=(k[h>>2]|0)+64|0;k[s>>2]=k[e>>2];k[s+4>>2]=r}}while(0);j[k[f>>2]>>1]=((k[n>>2]|0)-((k[h>>2]|0)+80)|0)/88|0;if((k[o>>2]|0)==1)break a;k[p>>2]=(k[h>>2]|0)+80+((m[(k[(k[h>>2]|0)+72>>2]|0)+((k[o>>2]^1)<<2)>>1]|0)*88|0);k[o>>2]=(k[o>>2]|0)/2|0}k[g>>2]=1;s=k[g>>2]|0;u=q;return s|0}while(0);k[k[l>>2]>>2]=k[n>>2];k[g>>2]=0;s=k[g>>2]|0;u=q;return s|0}function OR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+32|0;f=l+24|0;g=l+20|0;m=l+16|0;h=l+12|0;i=l+8|0;j=l+4|0;e=l;k[f>>2]=a;k[g>>2]=b;k[m>>2]=c;k[h>>2]=d;k[i>>2]=((k[(k[g>>2]|0)+52>>2]|0)+(k[m>>2]|0)|0)/2|0;while(1){if((k[i>>2]|0)<(k[h>>2]|0)){a=7;break}if(k[(k[f>>2]|0)+36>>2]|0){a=7;break}m=QR(k[g>>2]|0,k[i>>2]|0)|0;k[j>>2]=m;if(m|0){k[e>>2]=(k[g>>2]|0)+80+((k[j>>2]|0)*88|0);Sb[k[(k[e>>2]|0)+24>>2]&255](k[f>>2]|0,k[e>>2]|0,0);k[i>>2]=(k[(k[g>>2]|0)+52>>2]|0)+(k[j>>2]|0)}k[i>>2]=(k[i>>2]|0)/2|0}if((a|0)==7){u=l;return}}function PR(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;e=b+4|0;d=b;k[e>>2]=a;k[d>>2]=(k[e>>2]|0)+80+((m[(k[(k[e>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);i[(k[e>>2]|0)+16>>0]=(k[(k[d>>2]|0)+12>>2]|0)==0;d=(k[d>>2]|0)+72|0;c=k[d+4>>2]|0;a=(k[e>>2]|0)+64|0;k[a>>2]=k[d>>2];k[a+4>>2]=c;u=b;return}function QR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;e=q+36|0;f=q+32|0;g=q+28|0;h=q+24|0;l=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;c=q+4|0;d=q;k[f>>2]=a;k[g>>2]=b;k[c>>2]=(k[(k[f>>2]|0)+72>>2]|0)+(k[g>>2]<<2);if((k[g>>2]|0)>=((k[(k[f>>2]|0)+52>>2]|0)/2|0|0)){k[h>>2]=(k[g>>2]|0)-((k[(k[f>>2]|0)+52>>2]|0)/2|0)<<1;k[l>>2]=(k[h>>2]|0)+1}else{k[h>>2]=m[(k[(k[f>>2]|0)+72>>2]|0)+(k[g>>2]<<1<<2)>>1];k[l>>2]=m[(k[(k[f>>2]|0)+72>>2]|0)+((k[g>>2]<<1)+1<<2)>>1]}k[o>>2]=(k[f>>2]|0)+80+((k[h>>2]|0)*88|0);k[p>>2]=(k[f>>2]|0)+80+((k[l>>2]|0)*88|0);i[(k[c>>2]|0)+2>>0]=0;do if(k[(k[o>>2]|0)+12>>2]|0){if(!(k[(k[p>>2]|0)+12>>2]|0)){k[n>>2]=k[h>>2];break}g=RR((k[o>>2]|0)+60|0,(k[p>>2]|0)+60|0)|0;k[d>>2]=g;do if(!(k[d>>2]|0)){i[(k[c>>2]|0)+2>>0]=1;b=(k[o>>2]|0)+72|0;g=(k[p>>2]|0)+72|0;if(!((k[b>>2]|0)==(k[g>>2]|0)?(k[b+4>>2]|0)==(k[g+4>>2]|0):0)){o=(k[o>>2]|0)+72|0;b=k[o+4>>2]|0;p=(k[p>>2]|0)+72|0;g=k[p+4>>2]|0;k[d>>2]=(((b|0)>(g|0)|((b|0)==(g|0)?(k[o>>2]|0)>>>0>(k[p>>2]|0)>>>0:0))&1|0)==(k[(k[f>>2]|0)+56>>2]|0)?-1:1;break}i[(k[o>>2]|0)+84>>0]=i[(k[p>>2]|0)+84>>0]|0;k[e>>2]=k[l>>2];p=k[e>>2]|0;u=q;return p|0}while(0);if((k[d>>2]|0)<0){k[n>>2]=k[h>>2];break}else{k[n>>2]=k[l>>2];break}}else k[n>>2]=k[l>>2];while(0);j[k[c>>2]>>1]=k[n>>2];k[e>>2]=0;p=k[e>>2]|0;u=q;return p|0}function RR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[((k[(k[c>>2]|0)+4>>2]|0)<(k[(k[d>>2]|0)+4>>2]|0)?k[c>>2]|0:k[d>>2]|0)+4>>2];b=R_(k[k[c>>2]>>2]|0,k[k[d>>2]>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){g=(k[(k[c>>2]|0)+4>>2]|0)-(k[(k[d>>2]|0)+4>>2]|0)|0;u=f;return g|0}else{g=k[e>>2]|0;u=f;return g|0}return 0}function SR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;if(k[(k[e>>2]|0)+36>>2]|0){e=1;e=e&1;u=d;return e|0}e=(k[(k[c>>2]|0)+8+8>>2]|0)!=0;e=e&1;u=d;return e|0}function TR(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+8+24|0;M=k[a+4>>2]|0;u=b;return k[a>>2]|0}function UR(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+8+16>>2]|0}function VR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=kS(k[e>>2]|0,k[d>>2]|0,0)|0;u=c;return b|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[f>>2]|0)>(k[(k[k[e>>2]>>2]|0)+8>>2]|0)){k[(k[d>>2]|0)+36>>2]=267;u=j;return}KR(k[(k[e>>2]|0)+16>>2]|0);k[(k[e>>2]|0)+16>>2]=0;k[(k[e>>2]|0)+8>>2]=(k[f>>2]|0)-1;iS(k[d>>2]|0,k[e>>2]|0);if(k[(k[d>>2]|0)+36>>2]|0){u=j;return}k[h>>2]=k[k[(k[e>>2]|0)+12>>2]>>2];k[i>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+8>>2];f=(_R(k[k[(k[e>>2]|0)+12>>2]>>2]|0)|0)&65535;k[g>>2]=f;if((k[g>>2]|0)>=4?(k[g>>2]|0)<(k[i>>2]|0):0){i=($R((k[h>>2]|0)+(k[g>>2]|0)|0,(k[e>>2]|0)+72|0)|0)&255;k[g>>2]=(k[g>>2]|0)+i;k[(k[e>>2]|0)+20>>2]=k[g>>2];cS(k[d>>2]|0,k[e>>2]|0);u=j;return}k[(k[d>>2]|0)+36>>2]=267;u=j;return}function XR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=fS(k[e>>2]|0,k[d>>2]|0,0)|0;u=c;return b|0}function YR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;c=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[c>>2]=a;k[d>>2]=b;KR(k[(k[d>>2]|0)+12>>2]|0);k[(k[d>>2]|0)+12>>2]=0;while(1){if(k[(k[c>>2]|0)+36>>2]|0)break;if((k[(k[d>>2]|0)+8>>2]|0)<=(k[(k[d>>2]|0)+28>>2]|0))break;a=(k[d>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)+-1;a=k[c>>2]|0;j=k[k[k[d>>2]>>2]>>2]|0;j=t0(j|0,((j|0)<0)<<31>>31|0,37)|0;j=i0(j|0,M|0,0,0)|0;j=i0(j|0,M|0,0,0)|0;b=k[(k[d>>2]|0)+8>>2]|0;b=i0(j|0,M|0,b|0,((b|0)<0)<<31>>31|0)|0;b=ZR(a,b,M)|0;k[e>>2]=b;if(!(k[e>>2]|0))continue;if((k[(k[d>>2]|0)+8>>2]|0)==(k[(k[d>>2]|0)+28>>2]|0)){if((k[(k[d>>2]|0)+32>>2]|0)<(k[(k[e>>2]|0)+8>>2]|0)){k[(k[d>>2]|0)+12>>2]=k[e>>2];k[(k[d>>2]|0)+20>>2]=k[(k[d>>2]|0)+32>>2]}}else{j=(_R(k[k[e>>2]>>2]|0)|0)&65535;k[f>>2]=j;if(k[f>>2]|0){k[(k[d>>2]|0)+12>>2]=k[e>>2];k[(k[d>>2]|0)+20>>2]=k[f>>2]}}if(k[(k[d>>2]|0)+12>>2]|0){h=11;break}KR(k[e>>2]|0)}if((h|0)==11){k[g>>2]=(k[k[(k[d>>2]|0)+12>>2]>>2]|0)+(k[(k[d>>2]|0)+20>>2]|0);h=($R(k[g>>2]|0,(k[d>>2]|0)+72|0)|0)&255;j=(k[d>>2]|0)+20|0;k[j>>2]=(k[j>>2]|0)+h}if(!(k[(k[d>>2]|0)+12>>2]|0)){u=i;return}k[(k[d>>2]|0)+40>>2]=(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+1;aS(k[c>>2]|0,k[d>>2]|0);u=i;return} +function ZI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+48|0;w=y+20|0;x=y+16|0;s=y+32|0;h=y+30|0;n=y+28|0;o=y+26|0;t=y+35|0;d=y+34|0;v=y+24|0;e=y+12|0;f=y+8|0;r=y+4|0;g=y;k[x>>2]=a;j[s>>1]=b;j[h>>1]=c;i[d>>0]=0;j[v>>1]=j[h>>1]|0;k[e>>2]=(k[(k[(k[x>>2]|0)+52>>2]|0)+36>>2]|0)-4;k[f>>2]=(m[s>>1]|0)+(m[h>>1]|0);k[r>>2]=k[(k[x>>2]|0)+56>>2];if((m[(k[(k[x>>2]|0)+52>>2]|0)+22>>1]|0)&4|0)w0((k[r>>2]|0)+(m[s>>1]|0)|0,0,m[h>>1]|0|0)|0;i[t>>0]=i[(k[x>>2]|0)+5>>0]|0;j[n>>1]=(l[t>>0]|0)+1;if((l[(k[r>>2]|0)+((m[n>>1]|0)+1)>>0]|0|0)==0?(l[(k[r>>2]|0)+(m[n>>1]|0)>>0]|0|0)==0:0)j[o>>1]=0;else q=6;do if((q|0)==6){while(1){q=0;c=((l[(k[r>>2]|0)+(m[n>>1]|0)>>0]|0)<<8|(l[(k[r>>2]|0)+(m[n>>1]|0)+1>>0]|0))&65535;j[o>>1]=c;if((c&65535|0)>=(m[s>>1]|0|0))break;p=j[o>>1]|0;if((m[o>>1]|0|0)<((m[n>>1]|0)+4|0)){q=8;break}j[n>>1]=p;q=6}if((q|0)==8?p&65535|0:0){x=un(59854)|0;k[w>>2]=x;x=k[w>>2]|0;u=y;return x|0}if((m[o>>1]|0)>>>0>(k[e>>2]|0)>>>0){x=un(59858)|0;k[w>>2]=x;x=k[w>>2]|0;u=y;return x|0}do if(m[o>>1]|0|0?((k[f>>2]|0)+3|0)>>>0>=(m[o>>1]|0)>>>0:0){i[d>>0]=(m[o>>1]|0)-(k[f>>2]|0);if((k[f>>2]|0)>>>0>(m[o>>1]|0)>>>0){x=un(59869)|0;k[w>>2]=x;x=k[w>>2]|0;u=y;return x|0}k[f>>2]=(m[o>>1]|0)+((l[(k[r>>2]|0)+((m[o>>1]|0)+2)>>0]|0)<<8|(l[(k[r>>2]|0)+((m[o>>1]|0)+2)+1>>0]|0));if((k[f>>2]|0)>>>0<=(k[(k[(k[x>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){j[h>>1]=(k[f>>2]|0)-(m[s>>1]|0);j[o>>1]=(l[(k[r>>2]|0)+(m[o>>1]|0)>>0]|0)<<8|(l[(k[r>>2]|0)+(m[o>>1]|0)+1>>0]|0);break}x=un(59871)|0;k[w>>2]=x;x=k[w>>2]|0;u=y;return x|0}while(0);do if((m[n>>1]|0|0)>((l[t>>0]|0)+1|0)?(k[g>>2]=(m[n>>1]|0)+((l[(k[r>>2]|0)+((m[n>>1]|0)+2)>>0]|0)<<8|(l[(k[r>>2]|0)+((m[n>>1]|0)+2)+1>>0]|0)),((k[g>>2]|0)+3|0)>=(m[s>>1]|0|0)):0){if((k[g>>2]|0)<=(m[s>>1]|0|0)){i[d>>0]=(l[d>>0]|0)+((m[s>>1]|0)-(k[g>>2]|0));j[h>>1]=(k[f>>2]|0)-(m[n>>1]|0);j[s>>1]=j[n>>1]|0;break}x=un(59883)|0;k[w>>2]=x;x=k[w>>2]|0;u=y;return x|0}while(0);if((l[d>>0]|0|0)<=(l[(k[r>>2]|0)+((l[t>>0]|0)+7)>>0]|0|0)){q=(k[r>>2]|0)+((l[t>>0]|0)+7)|0;i[q>>0]=(l[q>>0]|0)-(l[d>>0]|0);break}x=un(59889)|0;k[w>>2]=x;x=k[w>>2]|0;u=y;return x|0}while(0);do if((m[s>>1]|0|0)==((l[(k[r>>2]|0)+((l[t>>0]|0)+5)>>0]|0)<<8|(l[(k[r>>2]|0)+((l[t>>0]|0)+5)+1>>0]|0)|0)){if((m[n>>1]|0|0)==((l[t>>0]|0)+1|0)){i[(k[r>>2]|0)+((l[t>>0]|0)+1)>>0]=(m[o>>1]|0)>>8;i[(k[r>>2]|0)+((l[t>>0]|0)+1)+1>>0]=j[o>>1];i[(k[r>>2]|0)+((l[t>>0]|0)+5)>>0]=(k[f>>2]|0)>>>8;d=k[f>>2]&255;b=k[r>>2]|0;a=(l[t>>0]|0)+5|0;break}x=un(59896)|0;k[w>>2]=x;x=k[w>>2]|0;u=y;return x|0}else{i[(k[r>>2]|0)+(m[n>>1]|0)>>0]=(m[s>>1]|0)>>8;i[(k[r>>2]|0)+(m[n>>1]|0)+1>>0]=j[s>>1];i[(k[r>>2]|0)+(m[s>>1]|0)>>0]=(m[o>>1]|0)>>8;i[(k[r>>2]|0)+(m[s>>1]|0)+1>>0]=j[o>>1];i[(k[r>>2]|0)+((m[s>>1]|0)+2)>>0]=(m[h>>1]|0)>>8;d=j[h>>1]&255;b=k[r>>2]|0;a=(m[s>>1]|0)+2|0}while(0);i[b+a+1>>0]=d;x=(k[x>>2]|0)+16|0;j[x>>1]=(m[x>>1]|0)+(m[v>>1]|0);k[w>>2]=0;x=k[w>>2]|0;u=y;return x|0}function _I(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;b=Wb[k[(k[(k[d>>2]|0)+4>>2]|0)+76>>2]&255](k[(k[d>>2]|0)+4>>2]|0,k[(k[(k[d>>2]|0)+8>>2]|0)+(k[c>>2]<<2)>>2]|0)|0;j[(k[(k[d>>2]|0)+12>>2]|0)+(k[c>>2]<<1)>>1]=b;u=e;return j[(k[(k[d>>2]|0)+12>>2]|0)+(k[c>>2]<<1)>>1]|0}function $I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;g=s+36|0;h=s+32|0;j=s+28|0;n=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;d=s+8|0;e=s+4|0;f=s;k[h>>2]=a;k[j>>2]=b;k[n>>2]=c;k[o>>2]=l[(k[h>>2]|0)+5>>0];k[p>>2]=k[(k[h>>2]|0)+56>>2];k[d>>2]=0;k[e>>2]=(m[(k[h>>2]|0)+14>>1]|0)+((m[(k[h>>2]|0)+18>>1]|0)<<1);k[q>>2]=(l[(k[p>>2]|0)+((k[o>>2]|0)+5)>>0]|0)<<8|(l[(k[p>>2]|0)+((k[o>>2]|0)+5)+1>>0]|0);do if((k[e>>2]|0)>(k[q>>2]|0)){if((k[q>>2]|0)==0?(k[(k[(k[h>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){k[q>>2]=65536;break}r=un(59758)|0;k[g>>2]=r;r=k[g>>2]|0;u=s;return r|0}while(0);if(!(!(l[(k[p>>2]|0)+((k[o>>2]|0)+2)>>0]|0|0)?!(l[(k[p>>2]|0)+((k[o>>2]|0)+1)>>0]|0|0):0))r=8;if((r|0)==8?((k[e>>2]|0)+2|0)<=(k[q>>2]|0):0){r=YI(k[h>>2]|0,k[j>>2]|0,d)|0;k[f>>2]=r;if(k[f>>2]|0){k[k[n>>2]>>2]=(k[f>>2]|0)-(k[p>>2]|0);k[g>>2]=0;r=k[g>>2]|0;u=s;return r|0}if(k[d>>2]|0){k[g>>2]=k[d>>2];r=k[g>>2]|0;u=s;return r|0}}do if(((k[e>>2]|0)+2+(k[j>>2]|0)|0)>(k[q>>2]|0)){r=QI(k[h>>2]|0)|0;k[d>>2]=r;if(!(k[d>>2]|0)){k[q>>2]=(((l[(k[p>>2]|0)+((k[o>>2]|0)+5)>>0]|0)<<8|(l[(k[p>>2]|0)+((k[o>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}k[g>>2]=k[d>>2];r=k[g>>2]|0;u=s;return r|0}while(0);k[q>>2]=(k[q>>2]|0)-(k[j>>2]|0);i[(k[p>>2]|0)+((k[o>>2]|0)+5)>>0]=k[q>>2]>>8;i[(k[p>>2]|0)+((k[o>>2]|0)+5)+1>>0]=k[q>>2];k[k[n>>2]>>2]=k[q>>2];k[g>>2]=0;r=k[g>>2]|0;u=s;return r|0}function aJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+96|0;D=E+76|0;x=E+72|0;y=E+68|0;e=E+64|0;z=E+60|0;A=E+56|0;f=E+52|0;g=E+48|0;h=E+44|0;B=E+40|0;j=E+36|0;n=E+32|0;C=E+28|0;o=E+24|0;p=E+20|0;q=E+16|0;r=E+12|0;s=E+8|0;t=E+4|0;v=E;w=E+80|0;k[x>>2]=a;k[y>>2]=b;k[e>>2]=c;k[z>>2]=d;k[n>>2]=0;k[C>>2]=0;k[q>>2]=k[(k[x>>2]|0)+52>>2];k[r>>2]=0;k[s>>2]=l[(k[x>>2]|0)+6>>0];a=k[e>>2]|0;if(i[(k[x>>2]|0)+2>>0]|0){k[A>>2]=(k[a+20>>2]|0)+(k[(k[e>>2]|0)+24>>2]|0);k[f>>2]=k[(k[e>>2]|0)+16>>2];k[g>>2]=k[(k[e>>2]|0)+20>>2];if((k[A>>2]|0)>>>0<128){i[(k[y>>2]|0)+(k[s>>2]|0)>>0]=k[A>>2];a=1}else{a=k[A>>2]|0;a=iG((k[y>>2]|0)+(k[s>>2]|0)|0,a,((a|0)<0)<<31>>31)|0}k[s>>2]=(k[s>>2]|0)+(a&255);e=(k[e>>2]|0)+8|0;e=iG((k[y>>2]|0)+(k[s>>2]|0)|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+e}else{d=k[a+8>>2]|0;k[A>>2]=d;k[g>>2]=d;k[f>>2]=k[k[e>>2]>>2];if((k[A>>2]|0)>>>0<128){i[(k[y>>2]|0)+(k[s>>2]|0)>>0]=k[A>>2];a=1}else{a=k[A>>2]|0;a=iG((k[y>>2]|0)+(k[s>>2]|0)|0,a,((a|0)<0)<<31>>31)|0}k[s>>2]=(k[s>>2]|0)+(a&255)}if((k[A>>2]|0)<=(m[(k[x>>2]|0)+10>>1]|0)){x=(k[s>>2]|0)+(k[A>>2]|0)|0;k[h>>2]=x;k[h>>2]=(k[h>>2]|0)<4?4:x;k[k[z>>2]>>2]=k[h>>2];k[j>>2]=k[A>>2];k[o>>2]=k[y>>2]}else{k[t>>2]=m[(k[x>>2]|0)+12>>1];k[h>>2]=(k[t>>2]|0)+((((k[A>>2]|0)-(k[t>>2]|0)|0)>>>0)%(((k[(k[(k[x>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[h>>2]|0)>(m[(k[x>>2]|0)+10>>1]|0))k[h>>2]=k[t>>2];k[j>>2]=k[h>>2];k[k[z>>2]>>2]=(k[h>>2]|0)+(k[s>>2]|0)+4;k[o>>2]=(k[y>>2]|0)+((k[s>>2]|0)+(k[h>>2]|0))}k[p>>2]=(k[y>>2]|0)+(k[s>>2]|0);while(1){if((k[A>>2]|0)<=0){a=35;break}if(!(k[j>>2]|0)){k[v>>2]=k[r>>2];if(i[(k[q>>2]|0)+17>>0]|0)while(1){k[r>>2]=(k[r>>2]|0)+1;z=gq(k[q>>2]|0,k[r>>2]|0)|0;if((z|0)==(k[r>>2]|0))continue;if((k[r>>2]|0)!=((((k[482]|0)>>>0)/((k[(k[q>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}z=lq(k[q>>2]|0,n,r,k[r>>2]|0,0)|0;k[B>>2]=z;if(((k[B>>2]|0)==0?(l[(k[q>>2]|0)+17>>0]|0)!=0:0)?(i[w>>0]=k[v>>2]|0?4:3,rq(k[q>>2]|0,k[r>>2]|0,i[w>>0]|0,k[v>>2]|0,B),k[B>>2]|0):0)mq(k[n>>2]|0);if(k[B>>2]|0){a=25;break}Xn(k[o>>2]|0,k[r>>2]|0);mq(k[C>>2]|0);k[C>>2]=k[n>>2];k[o>>2]=k[(k[n>>2]|0)+56>>2];Xn(k[o>>2]|0,0);k[p>>2]=(k[(k[n>>2]|0)+56>>2]|0)+4;k[j>>2]=(k[(k[q>>2]|0)+36>>2]|0)-4}k[h>>2]=k[A>>2];if((k[h>>2]|0)>(k[j>>2]|0))k[h>>2]=k[j>>2];if((k[g>>2]|0)>0){if((k[h>>2]|0)>(k[g>>2]|0))k[h>>2]=k[g>>2];r0(k[p>>2]|0,k[f>>2]|0,k[h>>2]|0)|0}else w0(k[p>>2]|0,0,k[h>>2]|0)|0;k[A>>2]=(k[A>>2]|0)-(k[h>>2]|0);k[p>>2]=(k[p>>2]|0)+(k[h>>2]|0);k[f>>2]=(k[f>>2]|0)+(k[h>>2]|0);k[g>>2]=(k[g>>2]|0)-(k[h>>2]|0);k[j>>2]=(k[j>>2]|0)-(k[h>>2]|0)}if((a|0)==25){mq(k[C>>2]|0);k[D>>2]=k[B>>2];D=k[D>>2]|0;u=E;return D|0}else if((a|0)==35){mq(k[C>>2]|0);k[D>>2]=0;D=k[D>>2]|0;u=E;return D|0}return 0}function bJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;m=t+44|0;n=t+40|0;o=t+36|0;p=t+32|0;q=t+28|0;r=t+24|0;s=t+20|0;d=t+16|0;e=t+12|0;f=t+8|0;g=t+4|0;h=t+48|0;j=t;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=k[(k[n>>2]|0)+4>>2];a=k[q>>2]|0;if(i[(k[q>>2]|0)+17>>0]|0){fq(a);Sp(k[n>>2]|0,4,s);k[s>>2]=(k[s>>2]|0)+1;while(1){c=k[s>>2]|0;if((c|0)!=(gq(k[q>>2]|0,k[s>>2]|0)|0)?(k[s>>2]|0)!=((((k[482]|0)>>>0)/((k[(k[q>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;k[s>>2]=(k[s>>2]|0)+1}c=lq(k[q>>2]|0,g,f,k[s>>2]|0,1)|0;k[d>>2]=c;if(k[d>>2]|0){k[m>>2]=k[d>>2];s=k[m>>2]|0;u=t;return s|0}if((k[f>>2]|0)!=(k[s>>2]|0)){i[h>>0]=0;k[j>>2]=0;c=iq(k[q>>2]|0,0,0)|0;k[d>>2]=c;mq(k[g>>2]|0);if(k[d>>2]|0){k[m>>2]=k[d>>2];s=k[m>>2]|0;u=t;return s|0}g=nq(k[q>>2]|0,k[s>>2]|0,r,0)|0;k[d>>2]=g;if(k[d>>2]|0){k[m>>2]=k[d>>2];s=k[m>>2]|0;u=t;return s|0}g=kq(k[q>>2]|0,k[s>>2]|0,h,j)|0;k[d>>2]=g;if(!((l[h>>0]|0)!=1?(l[h>>0]|0)!=2:0)){g=un(66598)|0;k[d>>2]=g}if(k[d>>2]|0){mq(k[r>>2]|0);k[m>>2]=k[d>>2];s=k[m>>2]|0;u=t;return s|0}j=oq(k[q>>2]|0,k[r>>2]|0,i[h>>0]|0,k[j>>2]|0,k[f>>2]|0,0)|0;k[d>>2]=j;mq(k[r>>2]|0);if(k[d>>2]|0){k[m>>2]=k[d>>2];s=k[m>>2]|0;u=t;return s|0}j=nq(k[q>>2]|0,k[s>>2]|0,r,0)|0;k[d>>2]=j;if(k[d>>2]|0){k[m>>2]=k[d>>2];s=k[m>>2]|0;u=t;return s|0}j=Tn(k[(k[r>>2]|0)+72>>2]|0)|0;k[d>>2]=j;if(k[d>>2]|0){mq(k[r>>2]|0);k[m>>2]=k[d>>2];s=k[m>>2]|0;u=t;return s|0}}else k[r>>2]=k[g>>2];rq(k[q>>2]|0,k[s>>2]|0,1,0,d);if(k[d>>2]|0){mq(k[r>>2]|0);k[m>>2]=k[d>>2];s=k[m>>2]|0;u=t;return s|0}q=Wp(k[n>>2]|0,4,k[s>>2]|0)|0;k[d>>2]=q;if(k[d>>2]|0){mq(k[r>>2]|0);k[m>>2]=k[d>>2];s=k[m>>2]|0;u=t;return s|0}}else{q=lq(a,r,s,1,0)|0;k[d>>2]=q;if(k[d>>2]|0){k[m>>2]=k[d>>2];s=k[m>>2]|0;u=t;return s|0}}if(k[p>>2]&1|0)k[e>>2]=13;else k[e>>2]=10;br(k[r>>2]|0,k[e>>2]|0);Yn(k[(k[r>>2]|0)+72>>2]|0);k[k[o>>2]>>2]=k[s>>2];k[m>>2]=0;s=k[m>>2]|0;u=t;return s|0}function cJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;j=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;f=q+8|0;g=q+4|0;h=q;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[f>>2]=e;k[g>>2]=k[(k[m>>2]|0)+4>>2];if(k[o>>2]|0?(dJ(k[g>>2]|0),(k[(k[g>>2]|0)+80>>2]|0)==0):0){k[j>>2]=7;p=k[j>>2]|0;u=q;return p|0}if((k[n>>2]|0)==1?($n(k[g>>2]|0)|0)==0:0)k[n>>2]=0;k[(k[f>>2]|0)+52>>2]=k[n>>2];i[(k[f>>2]|0)+68>>0]=-1;k[(k[f>>2]|0)+72>>2]=k[p>>2];k[k[f>>2]>>2]=k[m>>2];k[(k[f>>2]|0)+4>>2]=k[g>>2];i[(k[f>>2]|0)+64>>0]=k[o>>2]|0?1:0;i[(k[f>>2]|0)+65>>0]=k[o>>2]|0?0:2;k[h>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if((k[(k[h>>2]|0)+52>>2]|0)==(k[n>>2]|0)){p=(k[h>>2]|0)+64|0;i[p>>0]=l[p>>0]|0|32;p=(k[f>>2]|0)+64|0;i[p>>0]=l[p>>0]|0|32}k[h>>2]=k[(k[h>>2]|0)+8>>2]}k[(k[f>>2]|0)+8>>2]=k[(k[g>>2]|0)+8>>2];k[(k[g>>2]|0)+8>>2]=k[f>>2];i[(k[f>>2]|0)+66>>0]=0;k[j>>2]=0;p=k[j>>2]|0;u=q;return p|0}function dJ(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+80>>2]|0){u=c;return}a=Il(k[(k[b>>2]|0)+32>>2]|0)|0;k[(k[b>>2]|0)+80>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){u=c;return}a=k[(k[b>>2]|0)+80>>2]|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;i[a+5>>0]=0;i[a+6>>0]=0;i[a+7>>0]=0;b=(k[b>>2]|0)+80|0;k[b>>2]=(k[b>>2]|0)+4;u=c;return}function eJ(){return 200}function fJ(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;a=k[b>>2]|0;b=a+68|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));u=c;return}function gJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+48|0;d=n+24|0;e=n+20|0;f=n;g=n+16|0;h=n+12|0;j=n+8|0;m=n+28|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(0?1:(k[f+4>>2]&-16777216|0)!=0){i[(k[e>>2]|0)+8>>0]=k[f>>2];j=f;j=p0(k[j>>2]|0,k[j+4>>2]|0,8)|0;m=f;k[m>>2]=j;k[m+4>>2]=M;k[g>>2]=7;while(1){if((k[g>>2]|0)<0)break;i[(k[e>>2]|0)+(k[g>>2]|0)>>0]=k[f>>2]&127|128;j=f;j=p0(k[j>>2]|0,k[j+4>>2]|0,7)|0;m=f;k[m>>2]=j;k[m+4>>2]=M;k[g>>2]=(k[g>>2]|0)+-1}k[d>>2]=9;m=k[d>>2]|0;u=n;return m|0}k[j>>2]=0;do{c=(k[f>>2]&127|128)&255;b=k[j>>2]|0;k[j>>2]=b+1;i[m+b>>0]=c;b=f;b=p0(k[b>>2]|0,k[b+4>>2]|0,7)|0;c=f;k[c>>2]=b;k[c+4>>2]=M;c=f}while((k[c>>2]|0)!=0|(k[c+4>>2]|0)!=0);i[m>>0]=(l[m>>0]|0)&127;k[g>>2]=0;k[h>>2]=(k[j>>2]|0)-1;while(1){if((k[h>>2]|0)<0)break;i[(k[e>>2]|0)+(k[g>>2]|0)>>0]=i[m+(k[h>>2]|0)>>0]|0;k[h>>2]=(k[h>>2]|0)+-1;k[g>>2]=(k[g>>2]|0)+1}k[d>>2]=k[j>>2];m=k[d>>2]|0;u=n;return m|0}function hJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;f=o+20|0;g=o+16|0;m=o+12|0;h=o+8|0;n=o+4|0;l=o;k[f>>2]=a;k[g>>2]=b;k[m>>2]=c;k[h>>2]=d;k[n>>2]=e;j[(k[n>>2]|0)+8>>1]=1;e=ni(k[n>>2]|0,(k[m>>2]|0)+2|0)|0;k[l>>2]=e;if(e){n=k[l>>2]|0;u=o;return n|0}d=k[f>>2]|0;a=k[g>>2]|0;b=k[m>>2]|0;c=k[(k[n>>2]|0)+16>>2]|0;if(k[h>>2]|0){h=Iq(d,a,b,c)|0;k[l>>2]=h}else{h=yG(d,a,b,c)|0;k[l>>2]=h}a=k[n>>2]|0;if(!(k[l>>2]|0)){i[(k[a+16>>2]|0)+(k[m>>2]|0)>>0]=0;i[(k[(k[n>>2]|0)+16>>2]|0)+((k[m>>2]|0)+1)>>0]=0;j[(k[n>>2]|0)+8>>1]=528;k[(k[n>>2]|0)+12>>2]=k[m>>2];n=k[l>>2]|0;u=o;return n|0}else{oi(a);n=k[l>>2]|0;u=o;return n|0}return 0}function iJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[(k[(k[c>>2]|0)+120+(i[(k[c>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(k[(k[c>>2]|0)+16+8>>2]|0);if((m[(k[c>>2]|0)+16+16>>1]|0)>>>0<(k[e>>2]|0)>>>0)k[e>>2]=m[(k[c>>2]|0)+16+16>>1];k[k[d>>2]>>2]=k[e>>2];u=f;return k[(k[c>>2]|0)+16+8>>2]|0}function jJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;a=(k[c>>2]|0)+40|0;a=iE(k[(k[c>>2]|0)+16>>2]|0,0,k[a>>2]|0,k[a+4>>2]|0,0,d)|0;k[e>>2]=a;if(k[e>>2]|0){k[b>>2]=k[e>>2];e=k[b>>2]|0;u=f;return e|0}if(k[d>>2]|0){e=un(73491)|0;k[b>>2]=e;e=k[b>>2]|0;u=f;return e|0}else{i[(k[c>>2]|0)+3>>0]=0;k[(k[c>>2]|0)+56>>2]=0;k[b>>2]=0;e=k[b>>2]|0;u=f;return e|0}return 0}function kJ(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if(!(Ti(k[(k[c>>2]|0)+16>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0)){j[b>>1]=0;c=j[b>>1]|0;u=d;return c|0}if(!(Wi(k[(k[c>>2]|0)+16>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0)){j[b>>1]=4;c=j[b>>1]|0;u=d;return c|0}else{j[b>>1]=8;c=j[b>>1]|0;u=d;return c|0}return 0}function lJ(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;ii(k[b>>2]|0);j[(k[b>>2]|0)+8>>1]=4;u=c;return k[b>>2]|0}function mJ(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[5608+(k[b>>2]<<2)>>2]|0}function nJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=u;u=u+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;t=L+48|0;s=L+40|0;r=L+32|0;A=L+24|0;z=L+16|0;F=L+8|0;q=L;n=L+184|0;o=L+180|0;M=L+176|0;J=L+172|0;K=L+144|0;D=L+140|0;E=L+136|0;B=L+132|0;C=L+128|0;d=L+124|0;e=L+120|0;G=L+116|0;f=L+112|0;g=L+108|0;h=L+104|0;j=L+100|0;k[n>>2]=a;k[o>>2]=b;k[M>>2]=c;k[J>>2]=k[o>>2];Jd(K,0,k[o>>2]|0,k[M>>2]|0,0);a:do switch(i[(k[n>>2]|0)+1>>0]|0){case -6:{k[E>>2]=k[(k[n>>2]|0)+16>>2];k[q>>2]=m[(k[E>>2]|0)+6>>1];yj(K,40688,q);k[D>>2]=0;while(1){if((k[D>>2]|0)>=(m[(k[E>>2]|0)+6>>1]|0))break;k[B>>2]=k[(k[E>>2]|0)+20+(k[D>>2]<<2)>>2];if(k[B>>2]|0)a=k[k[B>>2]>>2]|0;else a=55752;k[C>>2]=a;M=(Q_(k[C>>2]|0,34455)|0)==0;k[C>>2]=M?40693:a;M=k[C>>2]|0;k[F>>2]=l[(k[(k[E>>2]|0)+16>>2]|0)+(k[D>>2]|0)>>0]|0?27684:55752;k[F+4>>2]=M;yj(K,40695,F);k[D>>2]=(k[D>>2]|0)+1}Zd(K,34322,1);break}case -4:{k[d>>2]=k[(k[n>>2]|0)+16>>2];k[z>>2]=k[k[d>>2]>>2];yj(K,40701,z);break}case -5:{k[e>>2]=k[(k[n>>2]|0)+16>>2];M=i[k[e>>2]>>0]|0;k[A>>2]=k[(k[e>>2]|0)+20>>2];k[A+4>>2]=M;yj(K,40709,A);break}case -13:{H=k[(k[n>>2]|0)+16>>2]|0;I=k[H+4>>2]|0;M=r;k[M>>2]=k[H>>2];k[M+4>>2]=I;yj(K,22191,r);break}case -14:{k[s>>2]=k[(k[n>>2]|0)+16>>2];yj(K,40716,s);break}case -12:{p[t>>3]=+p[k[(k[n>>2]|0)+16>>2]>>3];yj(K,23122,t);break}case -8:{k[G>>2]=k[(k[n>>2]|0)+16>>2];a=k[G>>2]|0;if(m[(k[G>>2]|0)+8>>1]&2|0){k[J>>2]=k[a+16>>2];break a}b=k[G>>2]|0;if(m[a+8>>1]&4|0){G=b;I=k[G+4>>2]|0;M=H;k[M>>2]=k[G>>2];k[M+4>>2]=I;yj(K,22191,H);break a}a=k[G>>2]|0;if(m[b+8>>1]&8|0){p[I>>3]=+p[a>>3];yj(K,23122,I);break a}if(m[a+8>>1]&1|0){k[J>>2]=20953;break a}else{k[J>>2]=40719;break a}}case -10:{k[f>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2];k[v>>2]=k[f>>2];yj(K,40726,v);break}case -15:{k[h>>2]=k[(k[n>>2]|0)+16>>2];k[j>>2]=k[k[h>>2]>>2];k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[j>>2]|0))break;k[w>>2]=k[(k[h>>2]|0)+(k[g>>2]<<2)>>2];yj(K,40734,w);k[g>>2]=(k[g>>2]|0)+1}i[k[o>>2]>>0]=91;Zd(K,40738,1);break}case -18:{yj(K,40740,x);break}case -19:{i[k[o>>2]>>0]=0;break}case -20:{k[y>>2]=k[k[(k[n>>2]|0)+16>>2]>>2];yj(K,21240,y);break}default:{k[J>>2]=k[(k[n>>2]|0)+16>>2];if(!(k[J>>2]|0)){k[J>>2]=k[o>>2];i[k[o>>2]>>0]=0}}}while(0);Ld(K)|0;u=L;return k[J>>2]|0}function oJ(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+8|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=k[e>>2];if(k[c>>2]|0?k[(k[c>>2]|0)+104>>2]|0:0){k[b>>2]=m[(k[c>>2]|0)+140>>1];e=k[b>>2]|0;u=d;return e|0}k[b>>2]=0;e=k[b>>2]|0;u=d;return e|0}function pJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;b=$i(Rv(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=b;Sv(k[e>>2]|0);u=d;return k[c>>2]|0}function qJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;b=ai(Rv(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=b;Sv(k[e>>2]|0);u=d;return k[c>>2]|0}function rJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0;d=u;u=u+16|0;e=d+12|0;g=d+8|0;c=d;k[e>>2]=a;k[g>>2]=b;f=+Ri(Rv(k[e>>2]|0,k[g>>2]|0)|0);p[c>>3]=f;Sv(k[e>>2]|0);u=d;return +(+p[c>>3])}function sJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;b=_i(Rv(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=b;Sv(k[e>>2]|0);u=d;return k[c>>2]|0}function tJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;e=c+12|0;f=c+8|0;d=c;k[e>>2]=a;k[f>>2]=b;a=Pi(Rv(k[e>>2]|0,k[f>>2]|0)|0)|0;b=d;k[b>>2]=a;k[b+4>>2]=M;Sv(k[e>>2]|0);b=d;M=k[b+4>>2]|0;u=c;return k[b>>2]|0}function uJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;b=Rv(k[c>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;if(!((m[(k[d>>2]|0)+8>>1]|0)&2048)){f=k[c>>2]|0;Sv(f);f=k[d>>2]|0;u=e;return f|0}f=(k[d>>2]|0)+8|0;j[f>>1]=(m[f>>1]|0)&-2049;f=(k[d>>2]|0)+8|0;j[f>>1]=m[f>>1]|0|4096;f=k[c>>2]|0;Sv(f);f=k[d>>2]|0;u=e;return f|0}function vJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=u;u=u+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;e=wJ(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,0)|0;u=f;return e|0}function wJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+48|0;s=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;g=r+12|0;h=r+32|0;j=r+8|0;m=r+4|0;n=r;k[s>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[g>>2]=e;i[h>>0]=f;k[j>>2]=k[s>>2];f=xJ(k[j>>2]|0,k[o>>2]|0)|0;k[n>>2]=f;if(k[n>>2]|0){if(!((k[g>>2]|0)!=0&(k[g>>2]|0)!=(-1|0))){s=k[n>>2]|0;u=r;return s|0}Ob[k[g>>2]&255](k[p>>2]|0);s=k[n>>2]|0;u=r;return s|0}if(k[p>>2]|0){k[m>>2]=(k[(k[j>>2]|0)+116>>2]|0)+(((k[o>>2]|0)-1|0)*40|0);s=mi(k[m>>2]|0,k[p>>2]|0,k[q>>2]|0,i[h>>0]|0,k[g>>2]|0)|0;k[n>>2]=s;if((k[n>>2]|0)==0?l[h>>0]|0|0:0){s=yi(k[m>>2]|0,l[(k[k[j>>2]>>2]|0)+66>>0]|0)|0;k[n>>2]=s}wl(k[k[j>>2]>>2]|0,k[n>>2]|0);s=Tr(k[k[j>>2]>>2]|0,k[n>>2]|0)|0;k[n>>2]=s}Ed(k[(k[k[j>>2]>>2]|0)+12>>2]|0);s=k[n>>2]|0;u=r;return s|0}function xJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;g=i;c=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;k[d>>2]=a;k[e>>2]=b;if(Ms(k[d>>2]|0)|0){h=Ad(76348)|0;k[c>>2]=h;h=k[c>>2]|0;u=i;return h|0}Dd(k[(k[k[d>>2]>>2]|0)+12>>2]|0);if((k[(k[d>>2]|0)+20>>2]|0)==770837923?(k[(k[d>>2]|0)+36>>2]|0)<0:0){if((k[e>>2]|0)>=1?(k[e>>2]|0)<=(j[(k[d>>2]|0)+16>>1]|0):0){k[e>>2]=(k[e>>2]|0)+-1;k[f>>2]=(k[(k[d>>2]|0)+116>>2]|0)+((k[e>>2]|0)*40|0);oi(k[f>>2]|0);j[(k[f>>2]|0)+8>>1]=1;wl(k[k[d>>2]>>2]|0,0);do if((m[(k[d>>2]|0)+144>>1]|0)>>>9&1|0){if(!((k[e>>2]|0)<32?(k[(k[d>>2]|0)+196>>2]&1<>2]|0)!=0:0))h=12;if((h|0)==12?(k[(k[d>>2]|0)+196>>2]|0)!=-1:0)break;h=(k[d>>2]|0)+144|0;j[h>>1]=j[h>>1]&-2|1}while(0);k[c>>2]=0;h=k[c>>2]|0;u=i;return h|0}wl(k[k[d>>2]>>2]|0,25);Ed(k[(k[k[d>>2]>>2]|0)+12>>2]|0);k[c>>2]=25;h=k[c>>2]|0;u=i;return h|0}wl(k[k[d>>2]>>2]|0,21);Ed(k[(k[k[d>>2]>>2]|0)+12>>2]|0);k[g>>2]=k[(k[d>>2]|0)+176>>2];Hd(21,42145,g);h=Ad(76356)|0;k[c>>2]=h;h=k[c>>2]|0;u=i;return h|0}function yJ(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;i=h+20|0;d=h+16|0;e=h;f=h+12|0;g=h+8|0;k[i>>2]=a;k[d>>2]=b;p[e>>3]=c;k[g>>2]=k[i>>2];b=xJ(k[g>>2]|0,k[d>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){i=k[f>>2]|0;u=h;return i|0}Ni((k[(k[g>>2]|0)+116>>2]|0)+(((k[d>>2]|0)-1|0)*40|0)|0,+p[e>>3]);Ed(k[(k[k[g>>2]>>2]|0)+12>>2]|0);i=k[f>>2]|0;u=h;return i|0}function zJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;c=k[g>>2]|0;c=AJ(k[f>>2]|0,k[e>>2]|0,c,((c|0)<0)<<31>>31)|0;u=d;return c|0}function AJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+20|0;e=i+16|0;f=i;g=i+12|0;h=i+8|0;k[j>>2]=a;k[e>>2]=b;b=f;k[b>>2]=c;k[b+4>>2]=d;k[h>>2]=k[j>>2];d=xJ(k[h>>2]|0,k[e>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0){j=k[g>>2]|0;u=i;return j|0}j=f;gi((k[(k[h>>2]|0)+116>>2]|0)+(((k[e>>2]|0)-1|0)*40|0)|0,k[j>>2]|0,k[j+4>>2]|0);Ed(k[(k[k[h>>2]>>2]|0)+12>>2]|0);j=k[g>>2]|0;u=i;return j|0}function BJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=u;u=u+16|0;g=e+12|0;f=e+8|0;c=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[d>>2]=k[g>>2];b=xJ(k[d>>2]|0,k[f>>2]|0)|0;k[c>>2]=b;if(k[c>>2]|0){g=k[c>>2]|0;u=e;return g|0}Ed(k[(k[k[d>>2]>>2]|0)+12>>2]|0);g=k[c>>2]|0;u=e;return g|0}function CJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=u;u=u+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;e=wJ(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,1)|0;u=f;return e|0}function DJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;switch(Ki(k[f>>2]|0)|0){case 1:{f=k[f>>2]|0;f=AJ(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;u=h;return g|0}case 2:{f=yJ(k[d>>2]|0,k[e>>2]|0,+p[k[f>>2]>>3])|0;k[g>>2]=f;g=k[g>>2]|0;u=h;return g|0}case 4:{c=k[d>>2]|0;a=k[e>>2]|0;b=k[f>>2]|0;if((m[(k[f>>2]|0)+8>>1]|0)&16384|0){f=EJ(c,a,k[b>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;u=h;return g|0}else{f=vJ(c,a,k[b+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0,-1)|0;k[g>>2]=f;g=k[g>>2]|0;u=h;return g|0}}case 3:{f=wJ(k[d>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0,-1,i[(k[f>>2]|0)+10>>0]|0)|0;k[g>>2]=f;g=k[g>>2]|0;u=h;return g|0}default:{f=BJ(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;u=h;return g|0}}return 0}function EJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=k[i>>2];c=xJ(k[g>>2]|0,k[d>>2]|0)|0;k[f>>2]=c;if(k[f>>2]|0){i=k[f>>2]|0;u=h;return i|0}gj((k[(k[g>>2]|0)+116>>2]|0)+(((k[d>>2]|0)-1|0)*40|0)|0,k[e>>2]|0);Ed(k[(k[k[g>>2]>>2]|0)+12>>2]|0);i=k[f>>2]|0;u=h;return i|0}function FJ(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;u=c;return d|0}d=j[(k[b>>2]|0)+16>>1]|0;u=c;return d|0}function GJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[e>>2]|0;b=k[d>>2]|0;b=cH(a,b,wd(k[d>>2]|0)|0)|0;u=c;return b|0}function HJ(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=u;u=u+144|0;O=Q+48|0;N=Q+40|0;P=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;M=Q+132|0;B=Q+128|0;n=Q+124|0;F=Q+120|0;o=Q;p=Q+116|0;G=Q+112|0;q=Q+108|0;r=Q+104|0;H=Q+100|0;I=Q+96|0;s=Q+92|0;J=Q+88|0;K=Q+84|0;L=Q+80|0;t=Q+76|0;v=Q+72|0;w=Q+68|0;x=Q+64|0;y=Q+60|0;z=Q+56|0;A=Q+52|0;k[M>>2]=a;k[B>>2]=b;k[n>>2]=c;k[F>>2]=d;d=o;k[d>>2]=e;k[d+4>>2]=f;k[p>>2]=g;k[G>>2]=h;k[q>>2]=0;k[H>>2]=0;k[I>>2]=0;k[J>>2]=0;k[K>>2]=0;k[k[G>>2]>>2]=0;k[p>>2]=((k[p>>2]|0)!=0^1^1)&1;Dd(k[(k[M>>2]|0)+12>>2]|0);h=im(k[M>>2]|0,36,0)|0;k[K>>2]=h;a:do if(k[K>>2]|0?(h=Md(k[M>>2]|0,480,0)|0,k[J>>2]=h,k[J>>2]|0):0){while(1){w0(k[J>>2]|0,0,480)|0;k[k[J>>2]>>2]=k[M>>2];fe(k[M>>2]|0,k[I>>2]|0);k[I>>2]=0;zk(k[M>>2]|0);h=ov(k[J>>2]|0,0,k[n>>2]|0,k[B>>2]|0)|0;k[s>>2]=h;if(k[s>>2]|0?l[(k[s>>2]|0)+42>>0]&16|0:0){k[s>>2]=0;h=k[J>>2]|0;k[C>>2]=k[n>>2];Cl(h,42185,C)}if(k[s>>2]|0?l[(k[s>>2]|0)+42>>0]&32|0:0){k[s>>2]=0;h=k[J>>2]|0;k[D>>2]=k[n>>2];Cl(h,42215,D)}if(k[s>>2]|0?k[(k[s>>2]|0)+12>>2]|0:0){k[s>>2]=0;h=k[J>>2]|0;k[E>>2]=k[n>>2];Cl(h,42251,E)}if(!(k[s>>2]|0)){a=13;break}k[(k[K>>2]|0)+32>>2]=k[s>>2];h=k[(k[M>>2]|0)+16>>2]|0;h=h+((Ru(k[M>>2]|0,k[(k[s>>2]|0)+64>>2]|0)|0)<<4)|0;k[(k[K>>2]|0)+28>>2]=k[h>>2];k[r>>2]=0;while(1){if((k[r>>2]|0)>=(j[(k[s>>2]|0)+34>>1]|0))break;if(!(lh(k[(k[(k[s>>2]|0)+4>>2]|0)+(k[r>>2]<<4)>>2]|0,k[F>>2]|0)|0))break;k[r>>2]=(k[r>>2]|0)+1}if((k[r>>2]|0)==(j[(k[s>>2]|0)+34>>1]|0)){a=21;break}if(k[p>>2]|0){k[L>>2]=0;b:do if(k[(k[M>>2]|0)+24>>2]&524288|0){k[v>>2]=k[(k[s>>2]|0)+16>>2];while(1){if(!(k[v>>2]|0))break b;k[w>>2]=0;while(1){a=k[v>>2]|0;if((k[w>>2]|0)>=(k[(k[v>>2]|0)+20>>2]|0))break;if((k[a+36+(k[w>>2]<<3)>>2]|0)==(k[r>>2]|0))k[L>>2]=42293;k[w>>2]=(k[w>>2]|0)+1}k[v>>2]=k[a+4>>2]}}while(0);k[t>>2]=k[(k[s>>2]|0)+8>>2];while(1){if(!(k[t>>2]|0))break;k[x>>2]=0;while(1){a=k[t>>2]|0;if((k[x>>2]|0)>=(m[(k[t>>2]|0)+50>>1]|0))break;if(!((j[(k[a+4>>2]|0)+(k[x>>2]<<1)>>1]|0)!=(k[r>>2]|0)?(j[(k[(k[t>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0)!=-2:0))k[L>>2]=42305;k[x>>2]=(k[x>>2]|0)+1}k[t>>2]=k[a+20>>2]}if(k[L>>2]|0){a=42;break}}h=jv(k[J>>2]|0)|0;k[(k[K>>2]|0)+20>>2]=h;if(k[(k[K>>2]|0)+20>>2]|0){k[y>>2]=k[(k[K>>2]|0)+20>>2];h=Ru(k[M>>2]|0,k[(k[s>>2]|0)+64>>2]|0)|0;k[z>>2]=h;Jy(k[y>>2]|0,2,k[z>>2]|0,k[p>>2]|0,k[k[(k[s>>2]|0)+64>>2]>>2]|0,k[(k[(k[s>>2]|0)+64>>2]|0)+4>>2]|0)|0;ty(k[y>>2]|0,1);h=wA(k[y>>2]|0,9,42347,0)|0;k[A>>2]=h;gv(k[y>>2]|0,k[z>>2]|0);if(!(l[(k[M>>2]|0)+69>>0]|0)){k[(k[A>>2]|0)+4>>2]=k[z>>2];k[(k[A>>2]|0)+8>>2]=k[(k[s>>2]|0)+28>>2];k[(k[A>>2]|0)+12>>2]=k[p>>2];dv(k[y>>2]|0,1,k[k[s>>2]>>2]|0,0)}if(!(l[(k[M>>2]|0)+69>>0]|0)){if(k[p>>2]|0)i[(k[A>>2]|0)+20>>0]=105;k[(k[A>>2]|0)+20+8>>2]=k[(k[s>>2]|0)+28>>2];k[(k[A>>2]|0)+20+12>>2]=k[z>>2];i[(k[A>>2]|0)+20+1>>0]=-14;k[(k[A>>2]|0)+20+16>>2]=(j[(k[s>>2]|0)+34>>1]|0)+1;k[(k[A>>2]|0)+80+8>>2]=j[(k[s>>2]|0)+34>>1];j[(k[J>>2]|0)+400>>1]=1;k[(k[J>>2]|0)+44>>2]=1;k[(k[J>>2]|0)+40>>2]=1;TF(k[y>>2]|0,k[J>>2]|0)}}k[k[K>>2]>>2]=k[p>>2];k[(k[K>>2]|0)+12>>2]=k[r>>2];k[(k[K>>2]|0)+24>>2]=k[M>>2];Bk(k[M>>2]|0);if(i[(k[M>>2]|0)+69>>0]|0)break a;h=o;AJ(k[(k[K>>2]|0)+20>>2]|0,1,k[h>>2]|0,k[h+4>>2]|0)|0;h=o;h=IJ(k[K>>2]|0,k[h>>2]|0,k[h+4>>2]|0,I)|0;k[H>>2]=h;h=(k[q>>2]|0)+1|0;k[q>>2]=h;if(!((h|0)<50?(k[H>>2]|0)==17:0))break a}if((a|0)==13){if(k[(k[J>>2]|0)+4>>2]|0){fe(k[M>>2]|0,k[I>>2]|0);k[I>>2]=k[(k[J>>2]|0)+4>>2];k[(k[J>>2]|0)+4>>2]=0}k[H>>2]=1;Bk(k[M>>2]|0);break}else if((a|0)==21){fe(k[M>>2]|0,k[I>>2]|0);N=k[M>>2]|0;k[P>>2]=k[F>>2];P=ek(N,42272,P)|0;k[I>>2]=P;k[H>>2]=1;Bk(k[M>>2]|0);break}else if((a|0)==42){fe(k[M>>2]|0,k[I>>2]|0);P=k[M>>2]|0;k[N>>2]=k[L>>2];P=ek(P,42313,N)|0;k[I>>2]=P;k[H>>2]=1;Bk(k[M>>2]|0);break}}while(0);if((k[H>>2]|0)==0?(l[(k[M>>2]|0)+69>>0]|0)==0:0){k[k[G>>2]>>2]=k[K>>2];L=k[M>>2]|0;N=k[H>>2]|0;P=k[I>>2]|0;P=(P|0)!=0;P=P?21240:0;K=k[I>>2]|0;k[O>>2]=K;vl(L,N,P,O);O=k[M>>2]|0;P=k[I>>2]|0;fe(O,P);P=k[J>>2]|0;Al(P);P=k[M>>2]|0;O=k[J>>2]|0;fe(P,O);O=k[M>>2]|0;P=k[H>>2]|0;P=Tr(O,P)|0;k[H>>2]=P;P=k[M>>2]|0;P=P+12|0;P=k[P>>2]|0;Ed(P);P=k[H>>2]|0;u=Q;return P|0}if(k[K>>2]|0?k[(k[K>>2]|0)+20>>2]|0:0)Sr(k[(k[K>>2]|0)+20>>2]|0)|0;fe(k[M>>2]|0,k[K>>2]|0);L=k[M>>2]|0;N=k[H>>2]|0;P=k[I>>2]|0;P=(P|0)!=0;P=P?21240:0;K=k[I>>2]|0;k[O>>2]=K;vl(L,N,P,O);O=k[M>>2]|0;P=k[I>>2]|0;fe(O,P);P=k[J>>2]|0;Al(P);P=k[M>>2]|0;O=k[J>>2]|0;fe(P,O);O=k[M>>2]|0;P=k[H>>2]|0;P=Tr(O,P)|0;k[H>>2]=P;P=k[M>>2]|0;P=P+12|0;P=k[P>>2]|0;Ed(P);P=k[H>>2]|0;u=Q;return P|0}function IJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+64|0;q=r+24|0;p=r+16|0;h=r+8|0;i=r+52|0;l=r;m=r+48|0;n=r+44|0;o=r+40|0;f=r+36|0;e=r+32|0;g=r+28|0;k[i>>2]=a;a=l;k[a>>2]=b;k[a+4>>2]=c;k[m>>2]=d;k[o>>2]=0;k[f>>2]=k[(k[i>>2]|0)+20>>2];b=l;c=k[b+4>>2]|0;d=k[(k[f>>2]|0)+116>>2]|0;k[d>>2]=k[b>>2];k[d+4>>2]=c;d=Ls(k[(k[i>>2]|0)+20>>2]|0)|0;k[n>>2]=d;do if((k[n>>2]|0)==100){k[e>>2]=k[k[(k[f>>2]|0)+112>>2]>>2];k[g>>2]=k[(k[e>>2]|0)+80+(k[(k[i>>2]|0)+12>>2]<<2)>>2];if((k[g>>2]|0)>>>0>=12){k[(k[i>>2]|0)+8>>2]=k[(k[e>>2]|0)+80+((k[(k[i>>2]|0)+12>>2]|0)+(j[(k[e>>2]|0)+12>>1]|0)<<2)>>2];h=qE(k[g>>2]|0)|0;k[(k[i>>2]|0)+4>>2]=h;k[(k[i>>2]|0)+16>>2]=k[(k[e>>2]|0)+16>>2];JJ(k[(k[i>>2]|0)+16>>2]|0);break}b=k[(k[i>>2]|0)+24>>2]|0;if(!(k[g>>2]|0))a=23015;else a=(k[g>>2]|0)==7?23005:22992;k[h>>2]=a;h=ek(b,42383,h)|0;k[o>>2]=h;k[n>>2]=1;Pr(k[(k[i>>2]|0)+20>>2]|0)|0;k[(k[i>>2]|0)+20>>2]=0}while(0);if((k[n>>2]|0)==100){k[n>>2]=0;p=k[o>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;u=r;return q|0}if(!(k[(k[i>>2]|0)+20>>2]|0)){p=k[o>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;u=r;return q|0}a=Pr(k[(k[i>>2]|0)+20>>2]|0)|0;k[n>>2]=a;k[(k[i>>2]|0)+20>>2]=0;a=k[(k[i>>2]|0)+24>>2]|0;if(!(k[n>>2]|0)){i=l;l=k[i+4>>2]|0;q=p;k[q>>2]=k[i>>2];k[q+4>>2]=l;p=ek(a,42412,p)|0;k[o>>2]=p;k[n>>2]=1;p=k[o>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;u=r;return q|0}else{p=Ov(k[(k[i>>2]|0)+24>>2]|0)|0;k[q>>2]=p;p=ek(a,21240,q)|0;k[o>>2]=p;p=k[o>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;u=r;return q|0}return 0}function JJ(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+64|0;i[a>>0]=l[a>>0]|0|16;i[(k[k[c>>2]>>2]|0)+11>>0]=1;u=b;return}function KJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+12|0;b=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[b>>2]=k[f>>2];if(k[b>>2]|0){k[d>>2]=k[(k[b>>2]|0)+24>>2];Dd(k[(k[d>>2]|0)+12>>2]|0);f=Pr(k[(k[b>>2]|0)+20>>2]|0)|0;k[c>>2]=f;fe(k[d>>2]|0,k[b>>2]|0);Ed(k[(k[d>>2]|0)+12>>2]|0);f=k[c>>2]|0;u=e;return f|0}else{k[c>>2]=0;f=k[c>>2]|0;u=e;return f|0}return 0}function LJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=MJ(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,148)|0;u=e;return d|0}function MJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+48|0;l=q+36|0;r=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;f=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;k[r>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[f>>2]=e;k[h>>2]=k[r>>2];if(!(k[h>>2]|0)){r=Ad(84716)|0;k[l>>2]=r;r=k[l>>2]|0;u=q;return r|0}k[j>>2]=k[(k[h>>2]|0)+24>>2];Dd(k[(k[j>>2]|0)+12>>2]|0);k[i>>2]=k[(k[h>>2]|0)+20>>2];do if(!((k[n>>2]|0)<0|(k[o>>2]|0)<0)?(c=k[o>>2]|0,e=k[n>>2]|0,e=i0(c|0,((c|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,c=M,r=k[(k[h>>2]|0)+4>>2]|0,d=((r|0)<0)<<31>>31,!((c|0)>(d|0)|(c|0)==(d|0)&e>>>0>r>>>0)):0){if(!(k[i>>2]|0)){k[g>>2]=4;break}NJ(k[(k[h>>2]|0)+16>>2]|0);r=Ub[k[f>>2]&255](k[(k[h>>2]|0)+16>>2]|0,(k[o>>2]|0)+(k[(k[h>>2]|0)+8>>2]|0)|0,k[n>>2]|0,k[m>>2]|0)|0;k[g>>2]=r;OJ(k[(k[h>>2]|0)+16>>2]|0);if((k[g>>2]|0)==4){Sr(k[i>>2]|0)|0;k[(k[h>>2]|0)+20>>2]=0;break}else{k[(k[i>>2]|0)+40>>2]=k[g>>2];break}}else p=5;while(0);if((p|0)==5)k[g>>2]=1;wl(k[j>>2]|0,k[g>>2]|0);r=Tr(k[j>>2]|0,k[g>>2]|0)|0;k[g>>2]=r;Ed(k[(k[j>>2]|0)+12>>2]|0);k[l>>2]=k[g>>2];r=k[l>>2]|0;u=q;return r|0}function NJ(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ol(k[k[c>>2]>>2]|0);u=b;return}function OJ(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ll(k[k[c>>2]>>2]|0);u=b;return}function PJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=MJ(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,149)|0;u=e;return d|0}function QJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=u;u=u+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if((l[(k[f>>2]|0)+66>>0]|0|0)>=3)a=aE(k[f>>2]|0)|0;else a=0;k[j>>2]=a;if(k[j>>2]|0){k[e>>2]=k[j>>2];j=k[e>>2]|0;u=m;return j|0}if((l[(k[f>>2]|0)+66>>0]|0|0)!=1){k[e>>2]=4;j=k[e>>2]|0;u=m;return j|0}iq(k[(k[f>>2]|0)+4>>2]|0,k[(k[f>>2]|0)+52>>2]|0,k[f>>2]|0)|0;if(!((l[(k[f>>2]|0)+64>>0]|0)&1)){k[e>>2]=8;j=k[e>>2]|0;u=m;return j|0}else{j=Jq(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,1)|0;k[e>>2]=j;j=k[e>>2]|0;u=m;return j|0}return 0}function RJ(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;u=c;return d|0}if(!(k[(k[b>>2]|0)+20>>2]|0)){d=0;u=c;return d|0}d=k[(k[b>>2]|0)+4>>2]|0;u=c;return d|0}function SJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+48|0;j=l+8|0;d=l+32|0;m=l+28|0;e=l;f=l+24|0;g=l+20|0;h=l+16|0;i=l+12|0;k[m>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=k[m>>2];if(!(k[g>>2]|0)){m=Ad(84814)|0;k[d>>2]=m;m=k[d>>2]|0;u=l;return m|0}k[h>>2]=k[(k[g>>2]|0)+24>>2];Dd(k[(k[h>>2]|0)+12>>2]|0);if(k[(k[g>>2]|0)+20>>2]|0){m=e;m=IJ(k[g>>2]|0,k[m>>2]|0,k[m+4>>2]|0,i)|0;k[f>>2]=m;if(k[f>>2]|0){e=k[h>>2]|0;g=k[f>>2]|0;m=k[i>>2]|0?21240:0;k[j>>2]=k[i>>2];vl(e,g,m,j);fe(k[h>>2]|0,k[i>>2]|0)}}else k[f>>2]=4;m=Tr(k[h>>2]|0,k[f>>2]|0)|0;k[f>>2]=m;Ed(k[(k[h>>2]|0)+12>>2]|0);k[d>>2]=k[f>>2];m=k[d>>2]|0;u=l;return m|0}function TJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=UJ(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;u=e;return d|0}function UJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;l=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;f=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[f>>2]=0;Dd(k[(k[l>>2]|0)+12>>2]|0);e=wd(k[m>>2]|0)|0;k[g>>2]=e;if(!(rv((k[l>>2]|0)+320|0,k[m>>2]|0)|0)){e=Od(k[l>>2]|0,20+(k[g>>2]|0)+1|0,0)|0;k[h>>2]=e;if(k[h>>2]|0?(k[j>>2]=(k[h>>2]|0)+20,r0(k[j>>2]|0,k[m>>2]|0,(k[g>>2]|0)+1|0)|0,k[(k[h>>2]|0)+4>>2]=k[j>>2],k[k[h>>2]>>2]=k[n>>2],k[(k[h>>2]|0)+8>>2]=k[o>>2],k[(k[h>>2]|0)+12>>2]=k[p>>2],k[(k[h>>2]|0)+16>>2]=0,n=Pk((k[l>>2]|0)+320|0,k[j>>2]|0,k[h>>2]|0)|0,k[i>>2]=n,k[i>>2]|0):0){Yd(k[l>>2]|0);fe(k[l>>2]|0,k[i>>2]|0)}}else{n=Ad(122590)|0;k[f>>2]=n}n=Tr(k[l>>2]|0,k[f>>2]|0)|0;k[f>>2]=n;if(!((k[f>>2]|0)!=0&(k[p>>2]|0)!=0)){p=k[l>>2]|0;p=p+12|0;p=k[p>>2]|0;Ed(p);p=k[f>>2]|0;u=q;return p|0}Ob[k[p>>2]&255](k[o>>2]|0);p=k[l>>2]|0;p=p+12|0;p=k[p>>2]|0;Ed(p);p=k[f>>2]|0;u=q;return p|0}function VJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=u;u=u+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;e=UJ(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;u=f;return e|0}function WJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;q=r;e=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;m=r+24|0;n=r+20|0;o=r+16|0;p=r+12|0;c=r+8|0;d=r+4|0;k[f>>2]=a;k[g>>2]=b;k[n>>2]=0;k[p>>2]=0;Dd(k[(k[f>>2]|0)+12>>2]|0);k[h>>2]=k[(k[f>>2]|0)+336>>2];if(k[h>>2]|0?(k[(k[h>>2]|0)+12>>2]|0)==0:0){k[o>>2]=k[(k[h>>2]|0)+4>>2];b=im(k[f>>2]|0,480,0)|0;k[m>>2]=b;if(!(k[m>>2]|0))k[n>>2]=7;else{i[(k[m>>2]|0)+410>>0]=1;k[k[m>>2]>>2]=k[f>>2];k[(k[m>>2]|0)+136>>2]=1;if((((0==(Zs(k[m>>2]|0,k[g>>2]|0,p)|0)?k[(k[m>>2]|0)+440>>2]|0:0)?!(i[(k[f>>2]|0)+69>>0]|0):0)?!(k[(k[(k[m>>2]|0)+440>>2]|0)+12>>2]|0):0)?(l[(k[(k[m>>2]|0)+440>>2]|0)+42>>0]&16|0)==0:0){if(!(k[(k[o>>2]|0)+4>>2]|0)){k[c>>2]=k[(k[m>>2]|0)+440>>2];k[(k[o>>2]|0)+4>>2]=k[(k[c>>2]|0)+4>>2];j[(k[o>>2]|0)+34>>1]=j[(k[c>>2]|0)+34>>1]|0;q=(k[o>>2]|0)+42|0;i[q>>0]=l[q>>0]|l[(k[c>>2]|0)+42>>0]&96;j[(k[c>>2]|0)+34>>1]=0;k[(k[c>>2]|0)+4>>2]=0;if(l[(k[c>>2]|0)+42>>0]&32|0?k[(k[k[(k[k[h>>2]>>2]|0)+4>>2]>>2]|0)+52>>2]|0:0)k[n>>2]=1;k[d>>2]=k[(k[c>>2]|0)+8>>2];if(k[d>>2]|0){k[(k[o>>2]|0)+8>>2]=k[d>>2];k[(k[c>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=k[o>>2]}}k[(k[h>>2]|0)+12>>2]=1}else{h=k[f>>2]|0;o=k[p>>2]|0?21240:0;k[q>>2]=k[p>>2];vl(h,1,o,q);fe(k[f>>2]|0,k[p>>2]|0);k[n>>2]=1}i[(k[m>>2]|0)+410>>0]=0;if(k[(k[m>>2]|0)+8>>2]|0)Sr(k[(k[m>>2]|0)+8>>2]|0)|0;Dk(k[f>>2]|0,k[(k[m>>2]|0)+440>>2]|0);Al(k[m>>2]|0);fe(k[f>>2]|0,k[m>>2]|0)}q=Tr(k[f>>2]|0,k[n>>2]|0)|0;k[n>>2]=q;Ed(k[(k[f>>2]|0)+12>>2]|0);k[e>>2]=k[n>>2];q=k[e>>2]|0;u=r;return q|0}wl(k[f>>2]|0,21);Ed(k[(k[f>>2]|0)+12>>2]|0);q=Ad(123278)|0;k[e>>2]=q;q=k[e>>2]|0;u=r;return q|0}function XJ(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return l[42432+((l[(k[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function YJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=u;u=u+48|0;d=j+36|0;l=j+32|0;e=j+16|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[l>>2]=b;k[f>>2]=0;Dd(k[(k[d>>2]|0)+12>>2]|0);k[e>>2]=c;do if((k[l>>2]|0)==1){k[g>>2]=k[(k[d>>2]|0)+336>>2];if(k[g>>2]|0){c=(k[e>>2]|0)+(4-1)&~(4-1);l=k[c>>2]|0;k[e>>2]=c+4;k[h>>2]=l;i[(k[k[g>>2]>>2]|0)+16>>0]=k[h>>2];break}else{l=Ad(123749)|0;k[f>>2]=l;break}}else{l=Ad(123757)|0;k[f>>2]=l}while(0);if(!(k[f>>2]|0)){l=k[d>>2]|0;l=l+12|0;l=k[l>>2]|0;Ed(l);l=k[f>>2]|0;u=j;return l|0}wl(k[d>>2]|0,k[f>>2]|0);l=k[d>>2]|0;l=l+12|0;l=k[l>>2]|0;Ed(l);l=k[f>>2]|0;u=j;return l|0}function ZJ(){return 3015001}function _J(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+80|0;n=x+76|0;o=x+72|0;p=x+56|0;q=x+52|0;r=x+48|0;s=x+44|0;t=x+40|0;v=x+36|0;d=x+32|0;e=x+28|0;f=x+24|0;g=x+20|0;h=x+16|0;i=x+12|0;j=x+8|0;l=x+4|0;m=x;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;switch(k[o>>2]|0){case 1e3:{c=(k[p>>2]|0)+(4-1)&~(4-1);w=k[c>>2]|0;k[p>>2]=c+4;k[r>>2]=w;k[k[(k[n>>2]|0)+16>>2]>>2]=k[r>>2];k[q>>2]=0;w=k[q>>2]|0;u=x;return w|0}case 1001:{c=(k[p>>2]|0)+(4-1)&~(4-1);w=k[c>>2]|0;k[p>>2]=c+4;k[t>>2]=w;k[s>>2]=k[t>>2];w=(k[p>>2]|0)+(4-1)&~(4-1);c=k[w>>2]|0;k[p>>2]=w+4;k[d>>2]=c;k[v>>2]=k[d>>2];c=(k[p>>2]|0)+(4-1)&~(4-1);w=k[c>>2]|0;k[p>>2]=c+4;k[f>>2]=w;k[e>>2]=k[f>>2];w=$J(k[n>>2]|0,k[s>>2]|0,k[v>>2]|0,k[e>>2]|0)|0;k[q>>2]=w;w=k[q>>2]|0;u=x;return w|0}default:{k[q>>2]=1;k[g>>2]=0;while(1){if((k[g>>2]|0)>>>0>=4){w=17;break}if((k[6260+(k[g>>2]<<3)>>2]|0)==(k[o>>2]|0))break;k[g>>2]=(k[g>>2]|0)+1}if((w|0)==17){w=k[q>>2]|0;u=x;return w|0}w=(k[p>>2]|0)+(4-1)&~(4-1);c=k[w>>2]|0;k[p>>2]=w+4;k[i>>2]=c;k[h>>2]=k[i>>2];c=(k[p>>2]|0)+(4-1)&~(4-1);w=k[c>>2]|0;k[p>>2]=c+4;k[l>>2]=w;k[j>>2]=k[l>>2];k[m>>2]=k[(k[n>>2]|0)+24>>2];if((k[h>>2]|0)<=0){if(!(k[h>>2]|0)){w=(k[n>>2]|0)+24|0;k[w>>2]=k[w>>2]&~k[6260+(k[g>>2]<<3)+4>>2]}}else{w=(k[n>>2]|0)+24|0;k[w>>2]=k[w>>2]|k[6260+(k[g>>2]<<3)+4>>2]}if((k[m>>2]|0)!=(k[(k[n>>2]|0)+24>>2]|0))_q(k[n>>2]|0);if(k[j>>2]|0)k[k[j>>2]>>2]=(k[(k[n>>2]|0)+24>>2]&k[6260+(k[g>>2]<<3)+4>>2]|0)!=0&1;k[q>>2]=0;w=k[q>>2]|0;u=x;return w|0}}return 0}function $J(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;o=p+28|0;n=p+24|0;g=p+20|0;h=p+16|0;l=p+12|0;m=p+8|0;e=p+4|0;f=p;k[n>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;if(k[(k[n>>2]|0)+256+8>>2]|0){k[o>>2]=5;o=k[o>>2]|0;u=p;return o|0}if(i[(k[n>>2]|0)+256+6>>0]|0)ie(k[(k[n>>2]|0)+256+32>>2]|0);d=k[h>>2]&-8;k[h>>2]=d;k[h>>2]=(k[h>>2]|0)<=4?0:d;if((k[l>>2]|0)<0)k[l>>2]=0;do if(!((k[h>>2]|0)==0|(k[l>>2]|0)==0)){if(k[g>>2]|0){k[m>>2]=k[g>>2];break}ch();d=$(k[h>>2]|0,k[l>>2]|0)|0;d=Pd(d,((d|0)<0)<<31>>31)|0;k[m>>2]=d;eh();if(k[m>>2]|0){d=Ud(k[m>>2]|0)|0;k[l>>2]=(d|0)/(k[h>>2]|0)|0}}else{k[h>>2]=0;k[m>>2]=0}while(0);k[(k[n>>2]|0)+256+32>>2]=k[m>>2];k[(k[n>>2]|0)+256+28>>2]=0;j[(k[n>>2]|0)+256+4>>1]=k[h>>2];if(k[m>>2]|0){k[f>>2]=k[m>>2];k[e>>2]=(k[l>>2]|0)-1;while(1){if((k[e>>2]|0)<0)break;k[k[f>>2]>>2]=k[(k[n>>2]|0)+256+28>>2];k[(k[n>>2]|0)+256+28>>2]=k[f>>2];k[f>>2]=(k[f>>2]|0)+(k[h>>2]|0);k[e>>2]=(k[e>>2]|0)+-1}k[(k[n>>2]|0)+256+36>>2]=k[f>>2];k[(k[n>>2]|0)+256>>2]=0;b=((k[g>>2]|0)==0?1:0)&255;a=k[n>>2]|0}else{k[(k[n>>2]|0)+256+32>>2]=k[n>>2];k[(k[n>>2]|0)+256+36>>2]=k[n>>2];k[(k[n>>2]|0)+256>>2]=1;b=0;a=k[n>>2]|0}i[a+256+6>>0]=b;k[o>>2]=0;o=k[o>>2]|0;u=p;return o|0}function aK(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=bK(k[c>>2]|0,0)|0;u=b;return a|0}function bK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}if(!(Pv(k[d>>2]|0)|0)){f=Ad(138867)|0;k[c>>2]=f;f=k[c>>2]|0;u=g;return f|0}Dd(k[(k[d>>2]|0)+12>>2]|0);if((l[(k[d>>2]|0)+76>>0]|0)&8|0)Ub[k[(k[d>>2]|0)+184>>2]&255](8,k[(k[d>>2]|0)+188>>2]|0,k[d>>2]|0,0)|0;cK(k[d>>2]|0);Lr(k[d>>2]|0)|0;if((k[e>>2]|0)==0?Br(k[d>>2]|0)|0:0){vl(k[d>>2]|0,5,42442,f);Ed(k[(k[d>>2]|0)+12>>2]|0);k[c>>2]=5;f=k[c>>2]|0;u=g;return f|0}k[(k[d>>2]|0)+84>>2]=1691352191;Ar(k[d>>2]|0);k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}function cK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;b=h+20|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[b>>2]=a;zk(k[b>>2]|0);k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=k[(k[a+16>>2]|0)+(k[c>>2]<<4)+12>>2];a:do if(k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2]|0){k[d>>2]=k[(k[e>>2]|0)+8+8>>2];while(1){if(!(k[d>>2]|0))break a;k[f>>2]=k[(k[d>>2]|0)+8>>2];if((l[(k[f>>2]|0)+42>>0]|0)&16|0)dK(k[b>>2]|0,k[f>>2]|0);k[d>>2]=k[k[d>>2]>>2]}}while(0);k[c>>2]=(k[c>>2]|0)+1}k[d>>2]=k[a+320+8>>2];while(1){if(!(k[d>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[g>>2]|0)+16>>2]|0)dK(k[b>>2]|0,k[(k[g>>2]|0)+16>>2]|0);k[d>>2]=k[k[d>>2]>>2]}Yq(k[b>>2]|0);Bk(k[b>>2]|0);u=h;return}function dK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;c=g+12|0;h=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[h>>2]=b;k[d>>2]=(k[h>>2]|0)+56;while(1){if(!(k[k[d>>2]>>2]|0)){f=6;break}a=k[k[d>>2]>>2]|0;if((k[k[k[d>>2]>>2]>>2]|0)==(k[c>>2]|0))break;k[d>>2]=a+24}if((f|0)==6){u=g;return}k[e>>2]=a;k[k[d>>2]>>2]=k[(k[e>>2]|0)+24>>2];Nk(k[e>>2]|0);u=g;return}function eK(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=bK(k[c>>2]|0,1)|0;u=b;return a|0}function fK(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=u;u=u+32|0;r=i+28|0;q=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;m=i+8|0;l=i+4|0;j=i;k[r>>2]=a;k[q>>2]=b;k[p>>2]=c;k[o>>2]=d;k[n>>2]=e;k[m>>2]=f;k[l>>2]=g;k[j>>2]=h;h=gK(k[r>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,0)|0;u=i;return h|0}function gK(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;v=x+40|0;j=x+36|0;l=x+32|0;m=x+28|0;n=x+24|0;o=x+20|0;p=x+16|0;q=x+12|0;r=x+8|0;s=x+4|0;t=x;k[v>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[r>>2]=i;k[s>>2]=1;k[t>>2]=0;Dd(k[(k[v>>2]|0)+12>>2]|0);do if(k[r>>2]|0){a=im(k[v>>2]|0,12,0)|0;k[t>>2]=a;a=k[r>>2]|0;if(k[t>>2]|0){k[(k[t>>2]|0)+4>>2]=a;k[(k[t>>2]|0)+8>>2]=k[n>>2];w=5;break}else{Ob[a&255](k[n>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(w=eB(k[v>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[t>>2]|0)|0,k[s>>2]=w,k[t>>2]|0):0)?(k[k[t>>2]>>2]|0)==0:0){Ob[k[r>>2]&255](k[n>>2]|0);fe(k[v>>2]|0,k[t>>2]|0)}w=Tr(k[v>>2]|0,k[s>>2]|0)|0;k[s>>2]=w;Ed(k[(k[v>>2]|0)+12>>2]|0);u=x;return k[s>>2]|0}function hK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;Dd(k[(k[d>>2]|0)+12>>2]|0);if(!(yx(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1,0)|0)){f=eB(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1,0,232,0,0,0)|0;k[g>>2]=f}f=Tr(k[d>>2]|0,k[g>>2]|0)|0;k[g>>2]=f;Ed(k[(k[d>>2]|0)+12>>2]|0);u=h;return k[g>>2]|0}function iK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=u;u=u+32|0;g=d;f=d+20|0;h=d+8|0;e=d+4|0;k[f>>2]=a;k[d+16>>2]=b;k[d+12>>2]=c;k[h>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+20>>2];k[g>>2]=k[h>>2];c=xf(42510,g)|0;k[e>>2]=c;bi(k[f>>2]|0,k[e>>2]|0,-1);ie(k[e>>2]|0);u=d;return}function jK(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if(k[c>>2]|0?(Pv(k[c>>2]|0)|0)==0:0){c=Ad(140115)|0;k[b>>2]=c;c=k[b>>2]|0;u=d;return c|0}if(k[c>>2]|0?(l[(k[c>>2]|0)+69>>0]|0|0)==0:0){k[b>>2]=k[(k[c>>2]|0)+52>>2]&k[(k[c>>2]|0)+56>>2];c=k[b>>2]|0;u=d;return c|0}k[b>>2]=7;c=k[b>>2]|0;u=d;return c|0}function kK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=lK(k[e>>2]|0,k[d>>2]|0,6,0)|0;u=c;return b|0}function lK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;q=r;j=r+40|0;l=r+36|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;f=r+16|0;e=r+12|0;g=r+8|0;h=r+4|0;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[g>>2]=0;k[h>>2]=0;k[k[m>>2]>>2]=0;d=pe()|0;k[f>>2]=d;if(k[f>>2]|0){k[j>>2]=k[f>>2];q=k[j>>2]|0;u=r;return q|0}if(!(1<<(k[n>>2]&7)&70)){q=Ad(140621)|0;k[j>>2]=q;q=k[j>>2]|0;u=r;return q|0}do if(k[3]|0){if(k[n>>2]&32768|0){k[e>>2]=0;break}if(k[n>>2]&65536|0){k[e>>2]=1;break}else{k[e>>2]=k[4];break}}else k[e>>2]=0;while(0);if(!(k[n>>2]&262144|0)){if(k[57]|0)k[n>>2]=k[n>>2]|131072}else k[n>>2]=k[n>>2]&-131073;k[n>>2]=k[n>>2]&-655129;d=fh(464,0)|0;k[p>>2]=d;do if(k[p>>2]|0){if(k[e>>2]|0?(d=se(1)|0,k[(k[p>>2]|0)+12>>2]=d,(k[(k[p>>2]|0)+12>>2]|0)==0):0){ie(k[p>>2]|0);k[p>>2]=0;break}Dd(k[(k[p>>2]|0)+12>>2]|0);k[(k[p>>2]|0)+56>>2]=255;k[(k[p>>2]|0)+20>>2]=2;k[(k[p>>2]|0)+84>>2]=-264537850;k[(k[p>>2]|0)+16>>2]=(k[p>>2]|0)+392;a=(k[p>>2]|0)+96|0;b=5440;e=a+48|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));k[(k[p>>2]|0)+96+44>>2]=0;i[(k[p>>2]|0)+67>>0]=1;i[(k[p>>2]|0)+72>>0]=-1;e=184;c=k[e+4>>2]|0;d=(k[p>>2]|0)+40|0;k[d>>2]=k[e>>2];k[d+4>>2]=c;k[(k[p>>2]|0)+80>>2]=0;k[(k[p>>2]|0)+144>>2]=2147483647;d=(k[p>>2]|0)+24|0;k[d>>2]=k[d>>2]|17825888;$q((k[p>>2]|0)+364|0);$q((k[p>>2]|0)+320|0);nK(k[p>>2]|0,34455,1,0,147,0)|0;nK(k[p>>2]|0,34455,3,0,147,0)|0;nK(k[p>>2]|0,34455,2,0,147,0)|0;nK(k[p>>2]|0,34448,1,0,148,0)|0;nK(k[p>>2]|0,42561,1,1,147,0)|0;if(!(i[(k[p>>2]|0)+69>>0]|0)){d=Dw(k[p>>2]|0,1,34455,0)|0;k[(k[p>>2]|0)+8>>2]=d;k[(k[p>>2]|0)+48>>2]=k[n>>2];o=aA(k[o>>2]|0,k[l>>2]|0,n,k[p>>2]|0,g,h)|0;k[f>>2]=o;if(k[f>>2]|0){if((k[f>>2]|0)==7)Yd(k[p>>2]|0);l=k[p>>2]|0;n=k[f>>2]|0;o=k[h>>2]|0?21240:0;k[q>>2]=k[h>>2];vl(l,n,o,q);ie(k[h>>2]|0);break}q=Bl(k[k[p>>2]>>2]|0,k[g>>2]|0,k[p>>2]|0,(k[(k[p>>2]|0)+16>>2]|0)+4|0,0,k[n>>2]|256)|0;k[f>>2]=q;if(k[f>>2]|0){if((k[f>>2]|0)==3082)k[f>>2]=7;wl(k[p>>2]|0,k[f>>2]|0);break}ol(k[(k[(k[p>>2]|0)+16>>2]|0)+4>>2]|0);q=bA(k[p>>2]|0,k[(k[(k[p>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[(k[(k[p>>2]|0)+16>>2]|0)+12>>2]=q;if(!(i[(k[p>>2]|0)+69>>0]|0))i[(k[p>>2]|0)+66>>0]=i[(k[(k[(k[p>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;ll(k[(k[(k[p>>2]|0)+16>>2]|0)+4>>2]|0);q=bA(k[p>>2]|0,0)|0;k[(k[(k[p>>2]|0)+16>>2]|0)+16+12>>2]=q;k[k[(k[p>>2]|0)+16>>2]>>2]=42567;i[(k[(k[p>>2]|0)+16>>2]|0)+8>>0]=3;k[(k[(k[p>>2]|0)+16>>2]|0)+16>>2]=42437;i[(k[(k[p>>2]|0)+16>>2]|0)+16+8>>0]=1;k[(k[p>>2]|0)+84>>2]=-1607883113;if(!(i[(k[p>>2]|0)+69>>0]|0)){wl(k[p>>2]|0,0);pK(k[p>>2]|0);q=jK(k[p>>2]|0)|0;k[f>>2]=q;if((k[f>>2]|0)==0?(i[(k[p>>2]|0)+69>>0]|0)==0:0){q=qK(k[p>>2]|0)|0;k[f>>2]=q}if((k[f>>2]|0)==0?(rK(k[p>>2]|0),q=jK(k[p>>2]|0)|0,k[f>>2]=q,k[f>>2]|0):0)break;if((k[f>>2]|0)==0?(i[(k[p>>2]|0)+69>>0]|0)==0:0){q=sK(k[p>>2]|0)|0;k[f>>2]=q}if(k[f>>2]|0)wl(k[p>>2]|0,k[f>>2]|0);$J(k[p>>2]|0,0,k[9]|0,k[10]|0)|0;RA(k[p>>2]|0,1e3)|0}}}while(0);if(k[p>>2]|0)Ed(k[(k[p>>2]|0)+12>>2]|0);q=jK(k[p>>2]|0)|0;k[f>>2]=q;if((k[f>>2]|0)!=7){if(k[f>>2]|0)k[(k[p>>2]|0)+84>>2]=1266094736}else{aK(k[p>>2]|0)|0;k[p>>2]=0}k[k[m>>2]>>2]=k[p>>2];ie(k[g>>2]|0);k[j>>2]=k[f>>2]&255;q=k[j>>2]|0;u=r;return q|0}function mK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;h=n+24|0;i=n+20|0;j=n+16|0;l=n+12|0;m=n+8|0;f=n+4|0;g=n;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[g>>2]=(k[i>>2]|0)<(k[l>>2]|0)?k[i>>2]|0:k[l>>2]|0;e=R_(k[j>>2]|0,k[m>>2]|0,k[g>>2]|0)|0;k[f>>2]=e;if(k[f>>2]|0){m=k[f>>2]|0;u=n;return m|0}if((k[h>>2]|0?w_((k[j>>2]|0)+(k[g>>2]|0)|0,(k[i>>2]|0)-(k[g>>2]|0)|0)|0:0)?w_((k[m>>2]|0)+(k[g>>2]|0)|0,(k[l>>2]|0)-(k[g>>2]|0)|0)|0:0){m=k[f>>2]|0;u=n;return m|0}k[f>>2]=(k[i>>2]|0)-(k[l>>2]|0);m=k[f>>2]|0;u=n;return m|0}function nK(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+64|0;w=x;r=x+44|0;s=x+40|0;t=x+36|0;v=x+48|0;g=x+32|0;h=x+28|0;j=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;p=x+8|0;q=x+4|0;k[s>>2]=a;k[t>>2]=b;i[v>>0]=c;k[g>>2]=d;k[h>>2]=e;k[j>>2]=f;k[n>>2]=l[v>>0];if((k[n>>2]|0)==4|(k[n>>2]|0)==8)k[n>>2]=(i[936]|0)==0?3:2;if((k[n>>2]|0)<1|(k[n>>2]|0)>3){w=Ad(140172)|0;k[r>>2]=w;w=k[r>>2]|0;u=x;return w|0}f=Dw(k[s>>2]|0,k[n>>2]&255,k[t>>2]|0,0)|0;k[m>>2]=f;a:do if(k[m>>2]|0?k[(k[m>>2]|0)+12>>2]|0:0){a=k[s>>2]|0;if(k[(k[s>>2]|0)+156>>2]|0){vl(a,5,52503,w);k[r>>2]=5;w=k[r>>2]|0;u=x;return w|0}_q(a);if((l[(k[m>>2]|0)+4>>0]&-9|0)==(k[n>>2]|0)){w=rv((k[s>>2]|0)+364|0,k[t>>2]|0)|0;k[o>>2]=w;k[p>>2]=0;while(1){if((k[p>>2]|0)>=3)break a;k[q>>2]=(k[o>>2]|0)+((k[p>>2]|0)*20|0);if((l[(k[q>>2]|0)+4>>0]|0)==(l[(k[m>>2]|0)+4>>0]|0)){if(k[(k[q>>2]|0)+16>>2]|0)Ob[k[(k[q>>2]|0)+16>>2]&255](k[(k[q>>2]|0)+8>>2]|0);k[(k[q>>2]|0)+12>>2]=0}k[p>>2]=(k[p>>2]|0)+1}}}while(0);w=Dw(k[s>>2]|0,k[n>>2]&255,k[t>>2]|0,1)|0;k[m>>2]=w;if(!(k[m>>2]|0)){k[r>>2]=7;w=k[r>>2]|0;u=x;return w|0}else{k[(k[m>>2]|0)+12>>2]=k[h>>2];k[(k[m>>2]|0)+8>>2]=k[g>>2];k[(k[m>>2]|0)+16>>2]=k[j>>2];i[(k[m>>2]|0)+4>>0]=k[n>>2]|l[v>>0]&8;wl(k[s>>2]|0,0);k[r>>2]=0;w=k[r>>2]|0;u=x;return w|0}return 0}function oK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+32|0;g=i+16|0;l=i+12|0;h=i+8|0;j=i+4|0;f=i;k[i+20>>2]=a;k[g>>2]=b;k[l>>2]=c;k[h>>2]=d;k[j>>2]=e;e=vd(k[l>>2]|0,k[j>>2]|0,(k[g>>2]|0)<(k[h>>2]|0)?k[g>>2]|0:k[h>>2]|0)|0;k[f>>2]=e;if(k[f>>2]|0){l=k[f>>2]|0;u=i;return l|0}k[f>>2]=(k[g>>2]|0)-(k[h>>2]|0);l=k[f>>2]|0;u=i;return l|0}function pK(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;b=c+4|0;d=c;k[b>>2]=a;a=hK(k[b>>2]|0,52497,2)|0;k[d>>2]=a;if((k[d>>2]|0)!=7){u=c;return}Yd(k[b>>2]|0);u=c;return}function qK(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=hR(k[c>>2]|0)|0;u=b;return a|0}function rK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+48|0;j=l;b=l+32|0;c=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;k[b>>2]=a;k[d>>2]=1;if(!(k[13792]|0)){u=l;return}k[c>>2]=0;while(1){if(!(k[d>>2]|0))break;a=se(2)|0;k[h>>2]=a;k[i>>2]=0;Dd(k[h>>2]|0);if((k[c>>2]|0)>>>0>=(k[13792]|0)>>>0){k[f>>2]=0;k[d>>2]=0}else k[f>>2]=k[(k[13793]|0)+(k[c>>2]<<2)>>2];Ed(k[h>>2]|0);k[g>>2]=0;if(k[f>>2]|0?(a=Lb[k[f>>2]&255](k[b>>2]|0,g,k[i>>2]|0)|0,k[e>>2]=a,a|0):0){m=k[b>>2]|0;a=k[e>>2]|0;k[j>>2]=k[g>>2];vl(m,a,47691,j);k[d>>2]=0}ie(k[g>>2]|0);k[c>>2]=(k[c>>2]|0)+1}u=l;return}function sK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;b=i+24|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[c>>2]=a;k[d>>2]=0;k[e>>2]=0;k[f>>2]=0;k[g>>2]=0;k[h>>2]=0;tK(h);a=uK(k[c>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){k[b>>2]=k[d>>2];h=k[b>>2]|0;u=i;return h|0}vK(f);wK(g);a=ze(20)|0;k[e>>2]=a;if(k[e>>2]|0)xK(k[e>>2]|0,1,1);else k[d>>2]=7;do if(!(k[d>>2]|0)){if(((yK(k[e>>2]|0,42572,7,k[f>>2]|0)|0)==0?(yK(k[e>>2]|0,42579,7,k[g>>2]|0)|0)==0:0)?(yK(k[e>>2]|0,42586,10,k[h>>2]|0)|0)==0:0)break;k[d>>2]=7}while(0);if((((((0==(k[d>>2]|0)?(h=zK(k[c>>2]|0,k[e>>2]|0,42596)|0,k[d>>2]=h,0==(h|0)):0)?(h=hK(k[c>>2]|0,42611,-1)|0,k[d>>2]=h,0==(h|0)):0)?(h=hK(k[c>>2]|0,42619,1)|0,k[d>>2]=h,0==(h|0)):0)?(h=hK(k[c>>2]|0,42627,1)|0,k[d>>2]=h,0==(h|0)):0)?(h=hK(k[c>>2]|0,42627,2)|0,k[d>>2]=h,0==(h|0)):0)?(h=hK(k[c>>2]|0,42637,1)|0,k[d>>2]=h,0==(h|0)):0){h=VJ(k[c>>2]|0,42646,6292,k[e>>2]|0,161)|0;k[d>>2]=h;if(!(k[d>>2]|0)){h=VJ(k[c>>2]|0,42651,6292,k[e>>2]|0,0)|0;k[d>>2]=h}if(!(k[d>>2]|0)){h=BK(k[c>>2]|0,k[e>>2]|0)|0;k[d>>2]=h}k[b>>2]=k[d>>2];h=k[b>>2]|0;u=i;return h|0}if(k[e>>2]|0){CK(k[e>>2]|0);ie(k[e>>2]|0)}k[b>>2]=k[d>>2];h=k[b>>2]|0;u=i;return h|0}function tK(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=6912;u=b;return}function uK(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;a=TJ(k[d>>2]|0,47509,6820,0)|0;k[b>>2]=a;u=c;return k[b>>2]|0}function vK(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=6792;u=b;return}function wK(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=6764;u=b;return}function xK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;e=d;g=d+5|0;f=d+4|0;k[e>>2]=a;i[g>>0]=b;i[f>>0]=c;i[k[e>>2]>>0]=i[g>>0]|0;i[(k[e>>2]|0)+1>>0]=i[f>>0]|0;k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=0;k[(k[e>>2]|0)+16>>2]=0;u=d;return}function yK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+48|0;l=r+40|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;h=r+16|0;e=r+12|0;j=r+8|0;s=r+4|0;f=r;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;d=UK(i[k[m>>2]>>0]|0)|0;k[s>>2]=d;d=Wb[k[s>>2]&255](k[n>>2]|0,k[o>>2]|0)|0;k[q>>2]=d;k[h>>2]=k[q>>2]&(k[(k[m>>2]|0)+12>>2]|0)-1;d=VK(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[h>>2]|0)|0;k[e>>2]=d;if(k[e>>2]|0){k[f>>2]=k[(k[e>>2]|0)+8>>2];if(!(k[p>>2]|0))lQ(k[m>>2]|0,k[e>>2]|0,k[h>>2]|0);else k[(k[e>>2]|0)+8>>2]=k[p>>2];k[l>>2]=k[f>>2];s=k[l>>2]|0;u=r;return s|0}if(!(k[p>>2]|0)){k[l>>2]=0;s=k[l>>2]|0;u=r;return s|0}if(!((k[(k[m>>2]|0)+12>>2]|0)==0?(mQ(k[m>>2]|0,8)|0)!=0:0))g=10;do if((g|0)==10){if((k[(k[m>>2]|0)+4>>2]|0)>=(k[(k[m>>2]|0)+12>>2]|0)?mQ(k[m>>2]|0,k[(k[m>>2]|0)+12>>2]<<1)|0:0)break;s=nQ(20)|0;k[j>>2]=s;if(!(k[j>>2]|0)){k[l>>2]=k[p>>2];s=k[l>>2]|0;u=r;return s|0}do if(k[n>>2]|0?(i[(k[m>>2]|0)+1>>0]|0)!=0:0){a=nQ(k[o>>2]|0)|0;k[(k[j>>2]|0)+12>>2]=a;a=k[j>>2]|0;if(k[(k[j>>2]|0)+12>>2]|0){r0(k[a+12>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;break}DK(a);k[l>>2]=k[p>>2];s=k[l>>2]|0;u=r;return s|0}else k[(k[j>>2]|0)+12>>2]=k[n>>2];while(0);k[(k[j>>2]|0)+16>>2]=k[o>>2];s=(k[m>>2]|0)+4|0;k[s>>2]=(k[s>>2]|0)+1;k[h>>2]=k[q>>2]&(k[(k[m>>2]|0)+12>>2]|0)-1;oQ(k[m>>2]|0,(k[(k[m>>2]|0)+16>>2]|0)+(k[h>>2]<<3)|0,k[j>>2]|0);k[(k[j>>2]|0)+8>>2]=k[p>>2];k[l>>2]=0;s=k[l>>2]|0;u=r;return s|0}while(0);k[(k[m>>2]|0)+4>>2]=0;k[l>>2]=k[p>>2];s=k[l>>2]|0;u=r;return s|0}function zK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;d=h+20|0;i=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=k[i>>2];k[h>>2]=5;if(!(k[f>>2]|0)){i=fK(k[d>>2]|0,k[e>>2]|0,1,5,k[g>>2]|0,233,0,0)|0;k[f>>2]=i}if(k[f>>2]|0){i=k[f>>2]|0;u=h;return i|0}i=fK(k[d>>2]|0,k[e>>2]|0,2,5,k[g>>2]|0,233,0,0)|0;k[f>>2]=i;i=k[f>>2]|0;u=h;return i|0}function AK(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];CK(k[c>>2]|0);ie(k[c>>2]|0);u=b;return}function BK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=TJ(k[f>>2]|0,42656,6384,k[e>>2]|0)|0;k[c>>2]=b;u=d;return k[c>>2]|0}function CK(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[(k[b>>2]|0)+8>>2]=0;DK(k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+16>>2]=0;k[(k[b>>2]|0)+12>>2]=0;while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];if(i[(k[b>>2]|0)+1>>0]|0?k[(k[c>>2]|0)+12>>2]|0:0)DK(k[(k[c>>2]|0)+12>>2]|0);DK(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+4>>2]=0;u=e;return}function DK(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ie(k[c>>2]|0);u=b;return}function EK(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;w=u;u=u+64|0;s=w+56|0;x=w+52|0;t=w+48|0;v=w+44|0;g=w+40|0;h=w+36|0;i=w+32|0;j=w+28|0;l=w+24|0;m=w+20|0;n=w+16|0;o=w+12|0;p=w+8|0;q=w+4|0;r=w;k[x>>2]=a;k[t>>2]=b;k[v>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=f;k[j>>2]=0;k[l>>2]=0;k[m>>2]=0;k[o>>2]=0;f=WJ(k[x>>2]|0,42669)|0;k[n>>2]=f;if(k[n>>2]|0){k[s>>2]=k[n>>2];x=k[s>>2]|0;u=w;return x|0}k[p>>2]=(k[v>>2]|0)-3;x=PK(k[p>>2]|0,(k[g>>2]|0)+12|0,o)|0;k[n>>2]=x;if(!(k[n>>2]|0)){if((k[p>>2]|0)<1)k[q>>2]=42572;else k[q>>2]=k[k[o>>2]>>2];x=QK(k[t>>2]|0,k[q>>2]|0,l,k[i>>2]|0)|0;k[n>>2]=x}if(!(k[n>>2]|0)){k[r>>2]=(k[o>>2]|0)+4;x=Lb[k[(k[l>>2]|0)+4>>2]&255]((k[p>>2]|0)>1?(k[p>>2]|0)-1|0:0,k[r>>2]|0,m)|0;k[n>>2]=x}if((k[n>>2]|0)==0?(x=ze(20)|0,k[j>>2]=x,(k[j>>2]|0)==0):0)k[n>>2]=7;if(k[n>>2]|0){if(k[m>>2]|0)Rb[k[(k[l>>2]|0)+8>>2]&255](k[m>>2]|0)|0}else{x=k[j>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[x+16>>2]=0;k[(k[j>>2]|0)+12>>2]=k[l>>2];k[(k[j>>2]|0)+16>>2]=k[m>>2];k[k[h>>2]>>2]=k[j>>2]}ie(k[o>>2]|0);k[s>>2]=k[n>>2];x=k[s>>2]|0;u=w;return x|0}function FK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){a=k[d>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){b=8;break}if((l[(k[a+4>>2]|0)+((k[e>>2]|0)*12|0)+5>>0]|0|0?(k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)>>2]|0)==0:0)?(l[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+4>>0]|0|0)==2:0){b=6;break}k[e>>2]=(k[e>>2]|0)+1}if((b|0)==6){k[(k[d>>2]|0)+20>>2]=1;k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<3)>>2]=1;i[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<3)+4>>0]=1;p[(k[d>>2]|0)+40>>3]=1.0;k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}else if((b|0)==8){k[a+20>>2]=0;k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}return 0}function GK(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Rb[k[(k[(k[c>>2]|0)+12>>2]|0)+8>>2]&255](k[(k[c>>2]|0)+16>>2]|0)|0;ie(k[c>>2]|0);u=b;return 0}function HK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;b=ze(36)|0;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=7;e=k[c>>2]|0;u=f;return e|0}else{a=k[e>>2]|0;b=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[d>>2]>>2]=k[e>>2];k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}return 0}function IK(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];OK(k[c>>2]|0);ie(k[c>>2]|0);u=b;return 0}function JK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;o=p+36|0;q=p+32|0;f=p+20|0;g=p+16|0;h=p+12|0;j=p+8|0;l=p+4|0;m=p;k[o>>2]=a;k[q>>2]=b;k[p+28>>2]=c;k[p+24>>2]=d;k[f>>2]=e;k[g>>2]=1;k[h>>2]=k[o>>2];k[j>>2]=k[k[o>>2]>>2];OK(k[h>>2]|0);do if((k[q>>2]|0)==1){q=$h(k[k[f>>2]>>2]|0)|0;k[l>>2]=q;q=ai(k[k[f>>2]>>2]|0)|0;k[m>>2]=q;q=ze((k[m>>2]|0)+1|0)|0;k[(k[h>>2]|0)+4>>2]=q;if(!(k[(k[h>>2]|0)+4>>2]|0)){k[g>>2]=7;break}r0(k[(k[h>>2]|0)+4>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;i[(k[(k[h>>2]|0)+4>>2]|0)+(k[m>>2]|0)>>0]=0;q=Ub[k[(k[(k[j>>2]|0)+12>>2]|0)+12>>2]&255](k[(k[j>>2]|0)+16>>2]|0,k[(k[h>>2]|0)+4>>2]|0,k[m>>2]|0,(k[h>>2]|0)+8|0)|0;k[g>>2]=q;if(!(k[g>>2]|0))k[k[(k[h>>2]|0)+8>>2]>>2]=k[(k[j>>2]|0)+16>>2]}while(0);if(k[g>>2]|0){k[n>>2]=k[g>>2];q=k[n>>2]|0;u=p;return q|0}else{q=KK(k[o>>2]|0)|0;k[n>>2]=q;q=k[n>>2]|0;u=p;return q|0}return 0}function KK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=u;u=u+16|0;f=d+12|0;b=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[b>>2]=k[f>>2];k[e>>2]=k[k[f>>2]>>2];a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;a=Qb[k[(k[(k[e>>2]|0)+12>>2]|0)+20>>2]&255](k[(k[b>>2]|0)+8>>2]|0,(k[b>>2]|0)+16|0,(k[b>>2]|0)+20|0,(k[b>>2]|0)+24|0,(k[b>>2]|0)+28|0,(k[b>>2]|0)+32|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){f=k[c>>2]|0;u=d;return f|0}OK(k[b>>2]|0);if((k[c>>2]|0)!=101){f=k[c>>2]|0;u=d;return f|0}k[c>>2]=0;f=k[c>>2]|0;u=d;return f|0}function LK(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];u=c;return (k[(k[b>>2]|0)+16>>2]|0)==0|0}function MK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=u;u=u+16|0;h=f+12|0;d=f+8|0;g=f+4|0;e=f;k[h>>2]=a;k[d>>2]=b;k[g>>2]=c;k[e>>2]=k[h>>2];switch(k[g>>2]|0){case 0:{Hi(k[d>>2]|0,k[(k[e>>2]|0)+4>>2]|0,-1,-1);u=f;return 0}case 1:{Hi(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0,-1);u=f;return 0}case 2:{fi(k[d>>2]|0,k[(k[e>>2]|0)+24>>2]|0);u=f;return 0}case 3:{fi(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0);u=f;return 0}default:{fi(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0);u=f;return 0}}return 0}function NK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[f>>2];a=k[(k[e>>2]|0)+12>>2]|0;b=k[d>>2]|0;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;u=c;return 0}function OK(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(k[(k[b>>2]|0)+8>>2]|0){k[c>>2]=k[k[b>>2]>>2];Rb[k[(k[(k[c>>2]|0)+12>>2]|0)+16>>2]&255](k[(k[b>>2]|0)+8>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=0}ie(k[(k[b>>2]|0)+4>>2]|0);k[(k[b>>2]|0)+4>>2]=0;k[(k[b>>2]|0)+16>>2]=0;k[(k[b>>2]|0)+20>>2]=0;k[(k[b>>2]|0)+24>>2]=0;k[(k[b>>2]|0)+28>>2]=0;k[(k[b>>2]|0)+32>>2]=0;k[(k[b>>2]|0)+12>>2]=0;u=d;return}function PK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+48|0;f=n+32|0;g=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;l=n+12|0;m=n+8|0;d=n+4|0;e=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=0;if(!(k[f>>2]|0)){k[k[h>>2]>>2]=0;m=k[i>>2]|0;u=n;return m|0}k[l>>2]=0;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[f>>2]|0))break;c=(q$(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)|0)+1|0;k[l>>2]=(k[l>>2]|0)+c;k[j>>2]=(k[j>>2]|0)+1}l=ze((k[f>>2]<<2)+(k[l>>2]|0)|0)|0;k[m>>2]=l;k[k[h>>2]>>2]=l;if(!(k[m>>2]|0)){k[i>>2]=7;m=k[i>>2]|0;u=n;return m|0}k[d>>2]=(k[m>>2]|0)+(k[f>>2]<<2);k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[f>>2]|0))break;l=q$(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[e>>2]=l;k[(k[m>>2]|0)+(k[j>>2]<<2)>>2]=k[d>>2];r0(k[d>>2]|0,k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0,(k[e>>2]|0)+1|0)|0;$K(k[d>>2]|0);k[d>>2]=(k[d>>2]|0)+((k[e>>2]|0)+1);k[j>>2]=(k[j>>2]|0)+1}m=k[i>>2]|0;u=n;return m|0}function QK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=u;u=u+32|0;j=l;e=l+28|0;n=l+24|0;f=l+20|0;g=l+16|0;h=l+12|0;i=l+8|0;m=l+4|0;k[n>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=q$(k[f>>2]|0)|0;k[m>>2]=d;d=RK(k[n>>2]|0,k[f>>2]|0,(k[m>>2]|0)+1|0)|0;k[i>>2]=d;if(k[i>>2]|0){k[k[g>>2]>>2]=k[i>>2];k[e>>2]=0;n=k[e>>2]|0;u=l;return n|0}else{n=k[h>>2]|0;k[j>>2]=k[f>>2];SK(n,42720,j);k[e>>2]=1;n=k[e>>2]|0;u=l;return n|0}return 0}function RK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=u;u=u+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;c=TK(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=c;if(!(k[d>>2]|0)){h=0;u=e;return h|0}h=k[(k[d>>2]|0)+8>>2]|0;u=e;return h|0}function SK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;ie(k[k[e>>2]>>2]|0);k[f>>2]=c;c=Ff(k[g>>2]|0,f)|0;k[k[e>>2]>>2]=c;u=d;return}function TK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[e>>2]|0?k[(k[e>>2]|0)+16>>2]|0:0){c=UK(i[k[e>>2]>>0]|0)|0;k[j>>2]=c;j=Wb[k[j>>2]&255](k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=j;j=VK(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]&(k[(k[e>>2]|0)+12>>2]|0)-1)|0;k[d>>2]=j;j=k[d>>2]|0;u=l;return j|0}k[d>>2]=0;j=k[d>>2]|0;u=l;return j|0}function UK(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[d>>2]|0)==1)k[b>>2]=213;else k[b>>2]=214;u=c;return k[b>>2]|0}function VK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;l=p+32|0;f=p+28|0;m=p+24|0;n=p+20|0;g=p+16|0;o=p+12|0;h=p+8|0;j=p+4|0;e=p;k[f>>2]=a;k[m>>2]=b;k[n>>2]=c;k[g>>2]=d;a:do if(k[(k[f>>2]|0)+16>>2]|0){k[e>>2]=(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<3);k[o>>2]=k[(k[e>>2]|0)+4>>2];k[h>>2]=k[k[e>>2]>>2];g=WK(i[k[f>>2]>>0]|0)|0;k[j>>2]=g;while(1){g=k[h>>2]|0;k[h>>2]=g+-1;if(!(g|0?(k[o>>2]|0)!=0:0))break a;g=(Ub[k[j>>2]&255](k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[m>>2]|0,k[n>>2]|0)|0)==0;a=k[o>>2]|0;if(g)break;k[o>>2]=k[a>>2]}k[l>>2]=a;o=k[l>>2]|0;u=p;return o|0}while(0);k[l>>2]=0;o=k[l>>2]|0;u=p;return o|0}function WK(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[d>>2]|0)==1)k[b>>2]=150;else k[b>>2]=151;u=c;return k[b>>2]|0}function XK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;j=i;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[g>>2]|0)!=(k[j>>2]|0)){k[e>>2]=1;j=k[e>>2]|0;u=i;return j|0}else{j=S_(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;u=i;return j|0}return 0}function YK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;j=i;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[g>>2]|0)!=(k[j>>2]|0)){k[e>>2]=1;j=k[e>>2]|0;u=i;return j|0}else{j=R_(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;u=i;return j|0}return 0}function ZK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[g>>2];k[e>>2]=0;if((k[c>>2]|0)<=0){g=q$(k[d>>2]|0)|0;k[c>>2]=g}while(1){a=k[e>>2]|0;if((k[c>>2]|0)<=0)break;b=a<<3^k[e>>2];g=k[d>>2]|0;k[d>>2]=g+1;k[e>>2]=b^i[g>>0];k[c>>2]=(k[c>>2]|0)+-1}u=f;return a&2147483647|0}function _K(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=k[g>>2];while(1){g=k[c>>2]|0;k[c>>2]=g+-1;a=k[d>>2]|0;if((g|0)<=0)break;b=a<<3^k[d>>2];g=k[e>>2]|0;k[e>>2]=g+1;k[d>>2]=b^i[g>>0]}u=f;return a&2147483647|0}function $K(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+8|0;e=h+12|0;f=h+4|0;g=h;k[d>>2]=a;i[e>>0]=i[k[d>>2]>>0]|0;if((((i[e>>0]|0)!=91?(i[e>>0]|0)!=39:0)?(i[e>>0]|0)!=34:0)?(i[e>>0]|0)!=96:0){u=h;return}k[f>>2]=1;k[g>>2]=0;if((i[e>>0]|0)==91)i[e>>0]=93;while(1){if(!(i[(k[d>>2]|0)+(k[f>>2]|0)>>0]|0))break;a=k[d>>2]|0;b=k[f>>2]|0;c=b+1|0;if((i[(k[d>>2]|0)+(k[f>>2]|0)>>0]|0)!=(i[e>>0]|0)){k[f>>2]=c;a=i[a+b>>0]|0;b=k[d>>2]|0;c=k[g>>2]|0;k[g>>2]=c+1;i[b+c>>0]=a;continue}if((i[a+c>>0]|0)!=(i[e>>0]|0))break;a=i[e>>0]|0;b=k[d>>2]|0;c=k[g>>2]|0;k[g>>2]=c+1;i[b+c>>0]=a;k[f>>2]=(k[f>>2]|0)+2}i[(k[d>>2]|0)+(k[g>>2]|0)>>0]=0;u=h;return}function aL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=u;u=u+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=WP(1,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;u=g;return f|0}function bL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=u;u=u+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=WP(0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;u=g;return f|0}function cL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+64|0;h=t+48|0;v=t+44|0;j=t+40|0;m=t+36|0;n=t+32|0;o=t+28|0;q=t+24|0;r=t+20|0;c=t+16|0;d=t+12|0;e=t+8|0;f=t+4|0;g=t;k[v>>2]=a;k[j>>2]=b;k[m>>2]=k[v>>2];k[o>>2]=-1;k[q>>2]=-1;k[r>>2]=-1;k[c>>2]=-1;k[(k[j>>2]|0)+20>>2]=0;p[(k[j>>2]|0)+40>>3]=5.0e6;k[n>>2]=0;a:while(1){a=k[j>>2]|0;if((k[n>>2]|0)>=(k[k[j>>2]>>2]|0))break;k[f>>2]=(k[a+4>>2]|0)+((k[n>>2]|0)*12|0);a=k[f>>2]|0;b:do if(!(l[(k[f>>2]|0)+5>>0]|0)){if((l[a+4>>0]|0)==64){s=5;break a}}else{if((k[a>>2]|0)<0)a=1;else a=(k[k[f>>2]>>2]|0)==((k[(k[m>>2]|0)+24>>2]|0)+1|0);k[e>>2]=a&1;if((k[o>>2]|0)<0?(k[e>>2]|0?(l[(k[f>>2]|0)+4>>0]|0)==2:0):0){k[(k[j>>2]|0)+20>>2]=1;p[(k[j>>2]|0)+40>>3]=1.0;k[o>>2]=k[n>>2]}if(((l[(k[f>>2]|0)+4>>0]|0)==64?(k[k[f>>2]>>2]|0)>=0:0)?(k[k[f>>2]>>2]|0)<=(k[(k[m>>2]|0)+24>>2]|0):0){k[(k[j>>2]|0)+20>>2]=2+(k[k[f>>2]>>2]|0);p[(k[j>>2]|0)+40>>3]=2.0;k[o>>2]=k[n>>2]}if((l[(k[f>>2]|0)+4>>0]|0)==2?(k[k[f>>2]>>2]|0)==((k[(k[m>>2]|0)+24>>2]|0)+2|0):0)k[q>>2]=k[n>>2];if(k[e>>2]|0){v=(l[(k[f>>2]|0)+4>>0]|0)-4|0;switch(v>>>2|v<<30|0){case 0:case 7:{k[r>>2]=k[n>>2];break b}case 3:case 1:{k[c>>2]=k[n>>2];break b}default:break b}}}while(0);k[n>>2]=(k[n>>2]|0)+1}if((s|0)==5){k[(k[j>>2]|0)+20>>2]=0;p[(k[j>>2]|0)+40>>3]=1.e+50;UP(k[j>>2]|0,0,262144);k[h>>2]=0;v=k[h>>2]|0;u=t;return v|0}if((k[a+20>>2]|0)==1)VP(k[j>>2]|0);k[d>>2]=1;if((k[o>>2]|0)>=0){v=k[d>>2]|0;k[d>>2]=v+1;k[(k[(k[j>>2]|0)+16>>2]|0)+(k[o>>2]<<3)>>2]=v;i[(k[(k[j>>2]|0)+16>>2]|0)+(k[o>>2]<<3)+4>>0]=1}if((k[q>>2]|0)>=0){v=(k[j>>2]|0)+20|0;k[v>>2]=k[v>>2]|65536;v=k[d>>2]|0;k[d>>2]=v+1;k[(k[(k[j>>2]|0)+16>>2]|0)+(k[q>>2]<<3)>>2]=v}if((k[r>>2]|0)>=0){v=(k[j>>2]|0)+20|0;k[v>>2]=k[v>>2]|131072;v=k[d>>2]|0;k[d>>2]=v+1;k[(k[(k[j>>2]|0)+16>>2]|0)+(k[r>>2]<<3)>>2]=v}if((k[c>>2]|0)>=0){v=(k[j>>2]|0)+20|0;k[v>>2]=k[v>>2]|262144;v=k[d>>2]|0;k[d>>2]=v+1;k[(k[(k[j>>2]|0)+16>>2]|0)+(k[c>>2]<<3)>>2]=v}do if((k[(k[j>>2]|0)+8>>2]|0)==1){k[g>>2]=k[(k[j>>2]|0)+12>>2];if((k[k[g>>2]>>2]|0)>=0?(k[k[g>>2]>>2]|0)!=((k[(k[m>>2]|0)+24>>2]|0)+1|0):0)break;k[(k[j>>2]|0)+24>>2]=i[(k[g>>2]|0)+4>>0]|0?45749:45754;k[(k[j>>2]|0)+32>>2]=1}while(0);k[h>>2]=0;v=k[h>>2]|0;u=t;return v|0}function dL(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[e>>2];k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=40)break;Pr(k[a+56+(k[c>>2]<<2)>>2]|0)|0;k[c>>2]=(k[c>>2]|0)+1}ie(k[a+240>>2]|0);ie(k[(k[b>>2]|0)+216>>2]|0);ie(k[(k[b>>2]|0)+220>>2]|0);ie(k[(k[b>>2]|0)+40>>2]|0);ie(k[(k[b>>2]|0)+44>>2]|0);Rb[k[(k[k[(k[b>>2]|0)+36>>2]>>2]|0)+8>>2]&255](k[(k[b>>2]|0)+36>>2]|0)|0;ie(k[b>>2]|0);u=d;return 0}function eL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=u;u=u+64|0;i=m+32|0;h=m+24|0;l=m+16|0;j=m+8|0;g=m;b=m+56|0;c=m+52|0;d=m+48|0;e=m+44|0;f=m+40|0;k[b>>2]=a;k[c>>2]=k[b>>2];k[d>>2]=0;k[e>>2]=k[(k[c>>2]|0)+16>>2];k[f>>2]=k[(k[c>>2]|0)+12>>2];if(!(k[(k[c>>2]|0)+40>>2]|0)){a=k[f>>2]|0;n=k[(k[c>>2]|0)+20>>2]|0;k[g>>2]=k[e>>2];k[g+4>>2]=n;AL(d,a,45949,g)}n=k[f>>2]|0;g=k[(k[c>>2]|0)+20>>2]|0;k[j>>2]=k[e>>2];k[j+4>>2]=g;AL(d,n,45986,j);n=k[f>>2]|0;j=k[(k[c>>2]|0)+20>>2]|0;k[l>>2]=k[e>>2];k[l+4>>2]=j;AL(d,n,46024,l);n=k[f>>2]|0;l=k[(k[c>>2]|0)+20>>2]|0;k[h>>2]=k[e>>2];k[h+4>>2]=l;AL(d,n,46060,h);n=k[f>>2]|0;l=k[(k[c>>2]|0)+20>>2]|0;k[i>>2]=k[e>>2];k[i+4>>2]=l;AL(d,n,46097,i);if(!(k[d>>2]|0)){n=dL(k[b>>2]|0)|0;u=m;return n|0}else{n=k[d>>2]|0;u=m;return n|0}return 0}function fL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;d=e+12|0;f=e+4|0;c=e;k[e+8>>2]=a;k[f>>2]=b;b=ze(96)|0;k[c>>2]=b;k[k[f>>2]>>2]=b;if(k[c>>2]|0){a=k[c>>2]|0;b=a+96|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[d>>2]=0;f=k[d>>2]|0;u=e;return f|0}else{k[d>>2]=7;f=k[d>>2]|0;u=e;return f|0}return 0}function gL(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Pr(k[(k[c>>2]|0)+8>>2]|0)|0;rP(k[(k[c>>2]|0)+12>>2]|0);TP(k[c>>2]|0);ie(k[(k[c>>2]|0)+44>>2]|0);MM(k[(k[c>>2]|0)+92>>2]|0);ie(k[c>>2]|0);u=b;return 0}function hL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+112|0;C=D+32|0;B=D;z=D+108|0;A=D+104|0;h=D+100|0;m=D+96|0;f=D+88|0;s=D+84|0;t=D+80|0;n=D+76|0;v=D+72|0;w=D+68|0;o=D+64|0;p=D+60|0;x=D+56|0;y=D+52|0;g=D+48|0;q=D+44|0;r=D+40|0;k[A>>2]=a;k[h>>2]=b;k[m>>2]=c;k[D+92>>2]=d;k[f>>2]=e;k[s>>2]=0;k[v>>2]=k[k[A>>2]>>2];k[w>>2]=k[A>>2];k[o>>2]=0;k[p>>2]=0;k[x>>2]=0;k[y>>2]=0;k[n>>2]=k[h>>2]&65535;k[g>>2]=0;if(k[n>>2]|0){d=k[f>>2]|0;e=k[g>>2]|0;k[g>>2]=e+1;k[o>>2]=k[d+(e<<2)>>2]}if(k[h>>2]&65536|0){d=k[f>>2]|0;e=k[g>>2]|0;k[g>>2]=e+1;k[p>>2]=k[d+(e<<2)>>2]}if(k[h>>2]&131072|0){d=k[f>>2]|0;e=k[g>>2]|0;k[g>>2]=e+1;k[x>>2]=k[d+(e<<2)>>2]}if(k[h>>2]&262144|0){e=k[f>>2]|0;h=k[g>>2]|0;k[g>>2]=h+1;k[y>>2]=k[e+(h<<2)>>2]}Pr(k[(k[w>>2]|0)+8>>2]|0)|0;ie(k[(k[w>>2]|0)+44>>2]|0);MM(k[(k[w>>2]|0)+92>>2]|0);rP(k[(k[w>>2]|0)+12>>2]|0);a=(k[A>>2]|0)+4|0;b=a+92|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));h=sP(k[x>>2]|0,0,-2147483648)|0;e=(k[w>>2]|0)+72|0;k[e>>2]=h;k[e+4>>2]=M;e=sP(k[y>>2]|0,-1,2147483647)|0;h=(k[w>>2]|0)+80|0;k[h>>2]=e;k[h+4>>2]=M;if(k[m>>2]|0){a=(i[k[m>>2]>>0]|0)==68&255;b=k[w>>2]|0}else{a=i[(k[v>>2]|0)+231>>0]|0;b=k[w>>2]|0}i[b+52>>0]=a;j[(k[w>>2]|0)+4>>1]=k[n>>2];do if((k[n>>2]|0)!=1&(k[n>>2]|0)!=0){k[q>>2]=(k[n>>2]|0)-2;m=$h(k[o>>2]|0)|0;k[r>>2]=m;if((k[r>>2]|0)==0?(Ki(k[o>>2]|0)|0)!=5:0){k[z>>2]=7;C=k[z>>2]|0;u=D;return C|0}k[(k[w>>2]|0)+16>>2]=0;if(k[p>>2]|0){p=_i(k[p>>2]|0)|0;k[(k[w>>2]|0)+16>>2]=p}r=tP(k[(k[v>>2]|0)+36>>2]|0,k[(k[w>>2]|0)+16>>2]|0,k[(k[v>>2]|0)+28>>2]|0,l[(k[v>>2]|0)+228>>0]|0,k[(k[v>>2]|0)+24>>2]|0,k[q>>2]|0,k[r>>2]|0,-1,(k[w>>2]|0)+12|0,(k[v>>2]|0)+8|0)|0;k[s>>2]=r;if(k[s>>2]|0){k[z>>2]=k[s>>2];C=k[z>>2]|0;u=D;return C|0}r=uP(k[w>>2]|0)|0;k[s>>2]=r;LM(k[v>>2]|0);if(!(k[s>>2]|0)){k[(k[w>>2]|0)+40>>2]=k[(k[w>>2]|0)+44>>2];r=(k[w>>2]|0)+32|0;k[r>>2]=0;k[r+4>>2]=0;break}k[z>>2]=k[s>>2];C=k[z>>2]|0;u=D;return C|0}while(0);do if(!(k[n>>2]|0)){a=k[(k[v>>2]|0)+216>>2]|0;b=k[w>>2]|0;if((k[x>>2]|0)!=0|(k[y>>2]|0)!=0){q=b+72|0;p=k[q>>2]|0;q=k[q+4>>2]|0;x=(k[w>>2]|0)+80|0;r=k[x>>2]|0;x=k[x+4>>2]|0;C=l[(k[w>>2]|0)+52>>0]|0?45749:45754;k[B>>2]=a;y=B+8|0;k[y>>2]=p;k[y+4>>2]=q;y=B+16|0;k[y>>2]=r;k[y+4>>2]=x;k[B+24>>2]=C;C=xf(45758,B)|0;k[t>>2]=C}else{B=l[b+52>>0]|0?45749:45754;k[C>>2]=a;k[C+4>>2]=B;C=xf(45820,C)|0;k[t>>2]=C}if(k[t>>2]|0){C=Jv(k[(k[v>>2]|0)+12>>2]|0,k[t>>2]|0,-1,(k[w>>2]|0)+8|0,0)|0;k[s>>2]=C;ie(k[t>>2]|0);break}else{k[s>>2]=7;break}}else if((k[n>>2]|0)==1?(C=RN(k[w>>2]|0,(k[w>>2]|0)+8|0)|0,k[s>>2]=C,(k[s>>2]|0)==0):0){C=DJ(k[(k[w>>2]|0)+8>>2]|0,1,k[o>>2]|0)|0;k[s>>2]=C}while(0);if(k[s>>2]|0){k[z>>2]=k[s>>2];C=k[z>>2]|0;u=D;return C|0}else{C=iL(k[A>>2]|0)|0;k[z>>2]=C;C=k[z>>2]|0;u=D;return C|0}return 0}function iL(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[d>>2]=k[b>>2];if((j[(k[d>>2]|0)+4>>1]|0)!=1?j[(k[d>>2]|0)+4>>1]|0:0){d=qP(k[b>>2]|0)|0;k[c>>2]=d;d=k[c>>2]|0;u=e;return d|0}b=100!=(Ls(k[(k[d>>2]|0)+8>>2]|0)|0);a=k[d>>2]|0;if(b){i[a+6>>0]=1;d=Is(k[(k[d>>2]|0)+8>>2]|0)|0;k[c>>2]=d;d=k[c>>2]|0;u=e;return d|0}else{b=tJ(k[a+8>>2]|0,0)|0;d=(k[d>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=M;k[c>>2]=0;d=k[c>>2]|0;u=e;return d|0}return 0}function jL(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return l[(k[b>>2]|0)+6>>0]|0|0}function kL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;l=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=k[l>>2];k[h>>2]=k[k[l>>2]>>2];if((k[e>>2]|0)==((k[(k[h>>2]|0)+24>>2]|0)+1|0)){l=(k[g>>2]|0)+32|0;Li(k[d>>2]|0,k[l>>2]|0,k[l+4>>2]|0);l=k[f>>2]|0;u=j;return l|0}if((k[e>>2]|0)==(k[(k[h>>2]|0)+24>>2]|0)){wj(k[d>>2]|0,g,4,-1);l=k[f>>2]|0;u=j;return l|0}if((k[e>>2]|0)==((k[(k[h>>2]|0)+24>>2]|0)+2|0)?k[(k[g>>2]|0)+12>>2]|0:0){l=k[(k[g>>2]|0)+16>>2]|0;Li(k[d>>2]|0,l,((l|0)<0)<<31>>31);l=k[f>>2]|0;u=j;return l|0}l=FN(0,k[g>>2]|0)|0;k[f>>2]=l;if(k[f>>2]|0){l=k[f>>2]|0;u=j;return l|0}if((k[e>>2]|0)==((k[(k[h>>2]|0)+24>>2]|0)+2|0)){k[i>>2]=0;if(k[(k[h>>2]|0)+44>>2]|0){l=sJ(k[(k[g>>2]|0)+8>>2]|0,(k[(k[h>>2]|0)+24>>2]|0)+1|0)|0;k[i>>2]=l}fi(k[d>>2]|0,k[i>>2]|0);l=k[f>>2]|0;u=j;return l|0}else{l=oJ(k[(k[g>>2]|0)+8>>2]|0)|0;if((l|0)<=((k[e>>2]|0)+1|0)){l=k[f>>2]|0;u=j;return l|0}l=k[d>>2]|0;hj(l,uJ(k[(k[g>>2]|0)+8>>2]|0,(k[e>>2]|0)+1|0)|0);l=k[f>>2]|0;u=j;return l|0}return 0}function lL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+32|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;u=c;return 0}function mL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=RO(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;u=e;return d|0}function nL(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];k[(k[c>>2]|0)+52>>2]=0;a=yL(k[c>>2]|0)|0;u=b;return a|0}function oL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=u;u=u+32|0;g=f+20|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[f+16>>2]=64;k[b>>2]=k[g>>2];a=zL(k[b>>2]|0)|0;k[c>>2]=a;if(((((k[c>>2]|0)==0?(k[(k[b>>2]|0)+52>>2]|0)>>>0>4:0)?k[(k[b>>2]|0)+48>>2]|0:0)?(k[(k[b>>2]|0)+48>>2]|0)!=255:0)?(k[d>>2]=0,g=qO(k[b>>2]|0,d)|0,k[c>>2]=g,g=$(k[(k[b>>2]|0)+52>>2]|0,k[d>>2]|0)|0,k[e>>2]=g,k[e>>2]=(k[e>>2]|0)+((k[e>>2]|0)/2|0),(k[e>>2]|0)>64):0){g=rO(k[b>>2]|0,k[e>>2]|0,k[(k[b>>2]|0)+48>>2]|0)|0;k[c>>2]=g}LM(k[b>>2]|0);u=f;return k[c>>2]|0}function pL(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;u=b;return 0}function qL(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];wL(k[c>>2]|0);u=b;return 0}function rL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+64|0;i=l+60|0;g=l+48|0;j=l+44|0;h=l+8|0;f=l;k[l+56>>2]=a;k[l+52>>2]=b;k[g>>2]=c;k[j>>2]=d;k[l+40>>2]=e;k[h>>2]=k[1659];k[h+4>>2]=k[1660];k[h+8>>2]=k[1661];k[h+12>>2]=k[1662];k[h+16>>2]=k[1663];k[h+20>>2]=k[1664];k[h+24>>2]=k[1665];k[h+28>>2]=k[1666];k[f>>2]=0;while(1){if((k[f>>2]|0)>=4){a=6;break}e=(Q_(k[g>>2]|0,k[h+(k[f>>2]<<3)>>2]|0)|0)==0;b=k[f>>2]|0;if(e){a=4;break}k[f>>2]=b+1}if((a|0)==4){k[k[j>>2]>>2]=k[h+(b<<3)+4>>2];k[i>>2]=1;j=k[i>>2]|0;u=l;return j|0}else if((a|0)==6){k[i>>2]=0;j=k[i>>2]|0;u=l;return j|0}return 0}function sL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+96|0;j=n+64|0;h=n+48|0;m=n+32|0;l=n+16|0;g=n;o=n+92|0;c=n+88|0;d=n+84|0;e=n+80|0;f=n+76|0;k[o>>2]=a;k[c>>2]=b;k[d>>2]=k[o>>2];k[e>>2]=k[(k[d>>2]|0)+12>>2];b=yL(k[d>>2]|0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){o=zL(k[d>>2]|0)|0;k[f>>2]=o}if(!(k[(k[d>>2]|0)+40>>2]|0)){o=k[e>>2]|0;a=k[(k[d>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[g>>2]=k[(k[d>>2]|0)+16>>2];k[g+4>>2]=a;k[g+8>>2]=b;AL(f,o,42742,g)}if(i[(k[d>>2]|0)+230>>0]|0){o=k[e>>2]|0;b=k[(k[d>>2]|0)+20>>2]|0;g=k[c>>2]|0;k[l>>2]=k[(k[d>>2]|0)+16>>2];k[l+4>>2]=b;k[l+8>>2]=g;AL(f,o,42795,l)}if(i[(k[d>>2]|0)+229>>0]|0){o=k[e>>2]|0;g=k[(k[d>>2]|0)+20>>2]|0;l=k[c>>2]|0;k[m>>2]=k[(k[d>>2]|0)+16>>2];k[m+4>>2]=g;k[m+8>>2]=l;AL(f,o,42848,m)}o=k[e>>2]|0;m=k[(k[d>>2]|0)+20>>2]|0;l=k[c>>2]|0;k[h>>2]=k[(k[d>>2]|0)+16>>2];k[h+4>>2]=m;k[h+8>>2]=l;AL(f,o,42895,h);o=k[e>>2]|0;l=k[(k[d>>2]|0)+20>>2]|0;m=k[c>>2]|0;k[j>>2]=k[(k[d>>2]|0)+16>>2];k[j+4>>2]=l;k[j+8>>2]=m;AL(f,o,42949,j);u=n;return k[f>>2]|0}function tL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+8|0;d=e;k[c>>2]=a;k[e+4>>2]=b;k[d>>2]=0;if(l[(k[c>>2]|0)+232>>0]|0|0){d=k[d>>2]|0;u=e;return d|0}c=oL(k[c>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;u=e;return d|0}function uL(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c+4>>2]=a;k[c>>2]=b;u=c;return 0}function vL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;d=c;k[e>>2]=a;k[c+4>>2]=b;k[d>>2]=k[e>>2];wL(k[d>>2]|0);u=c;return 0}function wL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+248>>2]|0))break;k[e>>2]=(k[a+252>>2]|0)+((k[c>>2]|0)*24|0)+4;k[d>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[d>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+8>>2];xL(k[f>>2]|0);k[d>>2]=k[k[d>>2]>>2]}CK(k[e>>2]|0);k[c>>2]=(k[c>>2]|0)+1}k[a+260>>2]=0;u=g;return}function xL(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ie(k[c>>2]|0);u=b;return}function yL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;h=j;b=j+28|0;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;k[b>>2]=a;k[c>>2]=0;if((l[(k[b>>2]|0)+229>>0]|0|0)!=2){h=k[c>>2]|0;u=j;return h|0}k[d>>2]=45306;d=k[d>>2]|0;a=k[(k[b>>2]|0)+20>>2]|0;k[h>>2]=k[(k[b>>2]|0)+16>>2];k[h+4>>2]=a;h=xf(d,h)|0;k[e>>2]=h;if(!(k[e>>2]|0)){k[c>>2]=7;h=k[c>>2]|0;u=j;return h|0}k[f>>2]=0;h=Jv(k[(k[b>>2]|0)+12>>2]|0,k[e>>2]|0,-1,f,0)|0;k[c>>2]=h;if((k[c>>2]|0)==0?(h=(Ls(k[f>>2]|0)|0)==100&1,k[g>>2]=h,h=Pr(k[f>>2]|0)|0,k[c>>2]=h,(k[c>>2]|0)==0):0)i[(k[b>>2]|0)+229>>0]=k[g>>2];ie(k[e>>2]|0);h=k[c>>2]|0;u=j;return h|0}function zL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=0;k[e>>2]=0;while(1){if(!(k[d>>2]|0))b=(k[e>>2]|0)<(k[(k[c>>2]|0)+248>>2]|0);else b=0;a=k[c>>2]|0;if(!b)break;b=BL(a,k[(k[c>>2]|0)+272>>2]|0,k[e>>2]|0,-1)|0;k[d>>2]=b;k[d>>2]=(k[d>>2]|0)==101?0:b;k[e>>2]=(k[e>>2]|0)+1}wL(a);if(k[d>>2]|0){f=k[d>>2]|0;u=g;return f|0}if(!(l[(k[c>>2]|0)+229>>0]|0)){f=k[d>>2]|0;u=g;return f|0}if((k[(k[c>>2]|0)+48>>2]|0)!=255){f=k[d>>2]|0;u=g;return f|0}if((k[(k[c>>2]|0)+52>>2]|0)>>>0<=0){f=k[d>>2]|0;u=g;return f|0}k[f>>2]=0;e=CL(k[c>>2]|0,22,f,0)|0;k[d>>2]=e;if(k[d>>2]|0){f=k[d>>2]|0;u=g;return f|0}zJ(k[f>>2]|0,1,2)|0;e=Ls(k[f>>2]|0)|0;k[d>>2]=e;if((k[d>>2]|0)==100){e=sJ(k[f>>2]|0,0)|0;k[(k[c>>2]|0)+48>>2]=e;if((k[(k[c>>2]|0)+48>>2]|0)==1)k[(k[c>>2]|0)+48>>2]=8}else if((k[d>>2]|0)==101)k[(k[c>>2]|0)+48>>2]=0;f=Is(k[f>>2]|0)|0;k[d>>2]=f;f=k[d>>2]|0;u=g;return f|0}function AL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;e=j+32|0;f=j+28|0;g=j+24|0;h=j+8|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[k[e>>2]>>2]|0){u=j;return}k[h>>2]=d;d=Ff(k[g>>2]|0,h)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[k[e>>2]>>2]=7;u=j;return}else{d=Av(k[f>>2]|0,k[i>>2]|0,0,0,0)|0;k[k[e>>2]>>2]=d;ie(k[i>>2]|0);u=j;return}}function BL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+128|0;l=r+120|0;m=r+116|0;n=r+112|0;o=r+108|0;p=r+104|0;q=r+100|0;e=r+8|0;f=r+96|0;g=r+80|0;h=r+24|0;i=r+16|0;j=r;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[q>>2]=0;d=e;k[d>>2]=0;k[d+4>>2]=0;k[f>>2]=0;k[i>>2]=0;d=j;k[d>>2]=0;k[d+4>>2]=0;d=DL(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,0,0,1,0,h)|0;k[p>>2]=d;do if((k[p>>2]|0)==0?k[h+4>>2]|0:0){if((k[o>>2]|0)!=-1?(d=EL(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,j)|0,k[p>>2]=d,k[p>>2]|0):0)break;if((k[o>>2]|0)==-2){if((k[h+4>>2]|0)==1?0==((k[(k[k[h>>2]>>2]|0)+56>>2]|0)!=0|0):0){k[p>>2]=101;break}b=j;c=k[b+4>>2]|0;d=e;k[d>>2]=k[b>>2];k[d+4>>2]=c;k[i>>2]=1}else{c=FL(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,(k[o>>2]|0)+1|0)|0;d=e;k[d>>2]=c;k[d+4>>2]=M;d=GL(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,(k[o>>2]|0)+1|0,q)|0;k[p>>2]=d;if((k[o>>2]|0)!=-1){d=e;b=k[d+4>>2]|0;a=j;c=k[a+4>>2]|0;a=(b|0)>(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0>(k[a>>2]|0)>>>0:0)}else a=0;k[i>>2]=a&1}if(!(k[p>>2]|0)){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+12>>2]=1;d=g+12|0;k[d>>2]=k[d>>2]|(k[i>>2]|0?2:0);i=HL(k[l>>2]|0,h,g)|0;k[p>>2]=i;while(1){if(k[p>>2]|0)break;i=IL(k[l>>2]|0,h)|0;k[p>>2]=i;if((k[p>>2]|0)!=100)break;i=JL(k[l>>2]|0,f,1,k[h+40>>2]|0,k[h+44>>2]|0,k[h+48>>2]|0,k[h+52>>2]|0)|0;k[p>>2]=i}if(!(k[p>>2]|0)){if((k[o>>2]|0)!=-1){n=KL(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[p>>2]=n;if(!((k[p>>2]|0)==0&(k[f>>2]|0)!=0))break}else if(!(k[f>>2]|0))break;n=e;q=LL(k[l>>2]|0,k[f>>2]|0,k[n>>2]|0,k[n+4>>2]|0,k[q>>2]|0)|0;k[p>>2]=q;if(!(k[p>>2]|0)){if((k[o>>2]|0)!=-1?(o=e,m=k[o+4>>2]|0,q=j,n=k[q+4>>2]|0,!((m|0)<(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0<(k[q>>2]|0)>>>0:0))):0)break;o=e;q=(k[f>>2]|0)+56|0;q=ML(k[l>>2]|0,k[o>>2]|0,k[o+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;k[p>>2]=q}}}}while(0);NL(k[f>>2]|0);OL(h);u=r;return k[p>>2]|0}function CL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+240|0;o=s+24|0;n=s+16|0;f=s;j=s+228|0;l=s+224|0;q=s+220|0;m=s+216|0;e=s+56|0;r=s+48|0;p=s+44|0;g=s+40|0;h=s+36|0;i=s+32|0;k[j>>2]=a;k[l>>2]=b;k[q>>2]=c;k[m>>2]=d;r0(e|0,6476,160)|0;k[r>>2]=0;k[p>>2]=k[(k[j>>2]|0)+56+(k[l>>2]<<2)>>2];do if(!(k[p>>2]|0)){c=k[l>>2]|0;do if((k[l>>2]|0)!=18){a=k[e+(k[l>>2]<<2)>>2]|0;b=k[j>>2]|0;if((c|0)==7){k[n>>2]=k[b+216>>2];o=xf(a,n)|0;k[g>>2]=o;break}else{n=k[(k[j>>2]|0)+20>>2]|0;k[o>>2]=k[b+16>>2];k[o+4>>2]=n;o=xf(a,o)|0;k[g>>2]=o;break}}else{o=k[e+(c<<2)>>2]|0;e=k[(k[j>>2]|0)+20>>2]|0;n=k[(k[j>>2]|0)+220>>2]|0;k[f>>2]=k[(k[j>>2]|0)+16>>2];k[f+4>>2]=e;k[f+8>>2]=n;o=xf(o,f)|0;k[g>>2]=o}while(0);if(k[g>>2]|0){o=Jv(k[(k[j>>2]|0)+12>>2]|0,k[g>>2]|0,-1,p,0)|0;k[r>>2]=o;ie(k[g>>2]|0);k[(k[j>>2]|0)+56+(k[l>>2]<<2)>>2]=k[p>>2];break}else{k[r>>2]=7;break}}while(0);if(!(k[m>>2]|0)){p=k[p>>2]|0;q=k[q>>2]|0;k[q>>2]=p;r=k[r>>2]|0;u=s;return r|0}o=FJ(k[p>>2]|0)|0;k[i>>2]=o;k[h>>2]=0;while(1){if(k[r>>2]|0){a=15;break}if((k[h>>2]|0)>=(k[i>>2]|0)){a=15;break}o=DJ(k[p>>2]|0,(k[h>>2]|0)+1|0,k[(k[m>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;k[r>>2]=o;k[h>>2]=(k[h>>2]|0)+1}if((a|0)==15){p=k[p>>2]|0;q=k[q>>2]|0;k[q>>2]=p;r=k[r>>2]|0;u=s;return r|0}return 0}function DL(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+48|0;s=t+32|0;j=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;o=t+12|0;p=t+8|0;q=t+4|0;r=t;k[s>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[r>>2]=i;a=k[r>>2]|0;b=a+56|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));s=wM(k[s>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[r>>2]|0)|0;u=t;return s|0}function EL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;l=m+4|0;e=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;d=CL(k[g>>2]|0,15,l,0)|0;k[e>>2]=d;if(k[e>>2]|0){k[f>>2]=k[e>>2];l=k[f>>2]|0;u=m;return l|0}c=k[l>>2]|0;d=FL(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0)|0;AJ(c,1,d,M)|0;d=k[l>>2]|0;i=FL(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,1023)|0;AJ(d,2,i,M)|0;if(100==(Ls(k[l>>2]|0)|0)){i=tJ(k[l>>2]|0,0)|0;j=k[j>>2]|0;k[j>>2]=i;k[j+4>>2]=M}l=Is(k[l>>2]|0)|0;k[f>>2]=l;l=k[f>>2]|0;u=m;return l|0}function FL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=u;u=u+32|0;i=e+20|0;j=e+16|0;h=e+12|0;f=e+8|0;g=e;k[i>>2]=a;k[j>>2]=b;k[h>>2]=c;k[f>>2]=d;d=k[j>>2]|0;c=k[(k[i>>2]|0)+248>>2]|0;c=B0(d|0,((d|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0;d=k[h>>2]|0;d=i0(c|0,M|0,d|0,((d|0)<0)<<31>>31|0)|0;d=B0(d|0,M|0,1024,0)|0;c=g;k[c>>2]=d;k[c+4>>2]=M;c=g;d=k[f>>2]|0;d=i0(k[c>>2]|0,k[c+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;u=e;return d|0}function GL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;i=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;f=o+8|0;g=o+4|0;h=o;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[h>>2]=0;e=CL(k[i>>2]|0,8,g,0)|0;k[f>>2]=e;if(!(k[f>>2]|0)){d=k[g>>2]|0;e=FL(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;AJ(d,1,e,M)|0;if(100==(Ls(k[g>>2]|0)|0)){e=sJ(k[g>>2]|0,0)|0;k[h>>2]=e}e=Is(k[g>>2]|0)|0;k[f>>2]=e}if(k[f>>2]|0){n=k[f>>2]|0;u=o;return n|0}if((k[h>>2]|0)>=16){m=BL(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[f>>2]=m;k[k[n>>2]>>2]=0;n=k[f>>2]|0;u=o;return n|0}else{k[k[n>>2]>>2]=k[h>>2];n=k[f>>2]|0;u=o;return n|0}return 0}function HL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[(k[f>>2]|0)+12>>2]=k[e>>2];c=uM(k[g>>2]|0,k[f>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;u=d;return c|0}function IL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=u;u=u+128|0;p=J+120|0;B=J+116|0;C=J+112|0;D=J+108|0;E=J+104|0;F=J+100|0;G=J+96|0;H=J+92|0;c=J+88|0;d=J+84|0;e=J+80|0;f=J+76|0;g=J+72|0;h=J+68|0;j=J+64|0;m=J+60|0;n=J+56|0;o=J+52|0;q=J+16|0;r=J+48|0;s=J+44|0;t=J+40|0;v=J+36|0;w=J+8|0;x=J;y=J+32|0;z=J+28|0;A=J+24|0;k[B>>2]=a;k[C>>2]=b;k[D>>2]=0;k[E>>2]=k[(k[(k[C>>2]|0)+12>>2]|0)+12>>2]&2;k[F>>2]=k[(k[(k[C>>2]|0)+12>>2]|0)+12>>2]&1;k[G>>2]=k[(k[(k[C>>2]|0)+12>>2]|0)+12>>2]&4;k[H>>2]=k[(k[(k[C>>2]|0)+12>>2]|0)+12>>2]&8;k[c>>2]=k[(k[(k[C>>2]|0)+12>>2]|0)+12>>2]&16;k[d>>2]=k[(k[(k[C>>2]|0)+12>>2]|0)+12>>2]&32;k[e>>2]=k[k[C>>2]>>2];k[f>>2]=k[(k[C>>2]|0)+4>>2];k[g>>2]=k[(k[C>>2]|0)+12>>2];k[h>>2]=l[(k[B>>2]|0)+231>>0]|0?215:216;if(!(k[(k[C>>2]|0)+4>>2]|0)){k[p>>2]=0;I=k[p>>2]|0;u=J;return I|0}a:while(1){k[m>>2]=0;while(1){a=k[e>>2]|0;if((k[m>>2]|0)>=(k[(k[C>>2]|0)+8>>2]|0))break;k[n>>2]=k[a+(k[m>>2]<<2)>>2];if(i[(k[n>>2]|0)+4>>0]|0)bM(k[n>>2]|0);else{b=cM(k[B>>2]|0,k[n>>2]|0,0)|0;k[D>>2]=b}if(k[D>>2]|0){I=9;break a}k[m>>2]=(k[m>>2]|0)+1}eM(a,k[f>>2]|0,k[(k[C>>2]|0)+8>>2]|0,217);k[(k[C>>2]|0)+8>>2]=0;if(!(k[(k[k[e>>2]>>2]|0)+40>>2]|0)){I=61;break}k[(k[C>>2]|0)+44>>2]=k[(k[k[e>>2]>>2]|0)+60>>2];k[(k[C>>2]|0)+40>>2]=k[(k[k[e>>2]>>2]|0)+64>>2];if(!(k[c>>2]|0?1:(k[k[g>>2]>>2]|0)==0)){if((k[(k[C>>2]|0)+44>>2]|0)<(k[(k[g>>2]|0)+4>>2]|0)){I=61;break}if((k[H>>2]|0)==0?(k[(k[C>>2]|0)+44>>2]|0)>(k[(k[g>>2]|0)+4>>2]|0):0){I=61;break}if(R_(k[(k[C>>2]|0)+40>>2]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0){I=61;break}}k[j>>2]=1;while(1){if(((k[j>>2]|0)<(k[f>>2]|0)?k[(k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]|0)+40>>2]|0:0)?(k[(k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]|0)+60>>2]|0)==(k[(k[C>>2]|0)+44>>2]|0):0)b=0==(R_(k[(k[C>>2]|0)+40>>2]|0,k[(k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]|0)+64>>2]|0,k[(k[C>>2]|0)+44>>2]|0)|0);else b=0;a=k[j>>2]|0;if(!b)break;k[j>>2]=a+1}do if(!((a|0)!=1|(k[E>>2]|0)!=0|(k[d>>2]|0)!=0)){if(l[(k[B>>2]|0)+231>>0]|0?(k[(k[k[e>>2]>>2]|0)+56>>2]|0)!=0|0:0){I=32;break}k[(k[C>>2]|0)+52>>2]=k[(k[k[e>>2]>>2]|0)+76>>2];if(k[(k[k[e>>2]>>2]|0)+56>>2]|0){a=fM(k[C>>2]|0,k[(k[k[e>>2]>>2]|0)+72>>2]|0,k[(k[C>>2]|0)+52>>2]|0)|0;k[D>>2]=a;a=k[(k[C>>2]|0)+16>>2]|0;b=k[C>>2]|0}else{a=k[(k[k[e>>2]>>2]|0)+72>>2]|0;b=k[C>>2]|0}k[b+48>>2]=a;if(!(k[D>>2]|0))k[D>>2]=100}else I=32;while(0);if((I|0)==32){I=0;k[o>>2]=0;b=q;k[b>>2]=0;k[b+4>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[j>>2]|0))break;gM(k[B>>2]|0,k[(k[e>>2]|0)+(k[m>>2]<<2)>>2]|0)|0;k[m>>2]=(k[m>>2]|0)+1}eM(k[e>>2]|0,k[j>>2]|0,k[j>>2]|0,k[h>>2]|0);while(1){if(!(k[(k[k[e>>2]>>2]|0)+80>>2]|0))break;k[s>>2]=0;k[t>>2]=0;K=(k[k[e>>2]>>2]|0)+88|0;a=k[K+4>>2]|0;b=w;k[b>>2]=k[K>>2];k[b+4>>2]=a;hM(k[B>>2]|0,k[k[e>>2]>>2]|0,s,t)|0;k[r>>2]=1;while(1){if((k[r>>2]|0)>=(k[j>>2]|0))break;if(!(k[(k[(k[e>>2]|0)+(k[r>>2]<<2)>>2]|0)+80>>2]|0))break;b=(k[(k[e>>2]|0)+(k[r>>2]<<2)>>2]|0)+88|0;K=w;if(!((k[b>>2]|0)==(k[K>>2]|0)?(k[b+4>>2]|0)==(k[K+4>>2]|0):0))break;hM(k[B>>2]|0,k[(k[e>>2]|0)+(k[r>>2]<<2)>>2]|0,0,0)|0;k[r>>2]=(k[r>>2]|0)+1}if(k[G>>2]|0)iM(k[(k[g>>2]|0)+8>>2]|0,0,s,t);do if((k[E>>2]|0)==0|(k[t>>2]|0)>0){if((k[o>>2]|0)>0?(l[(k[B>>2]|0)+231>>0]|0)!=0:0){K=q;b=w;b=h0(k[K>>2]|0,k[K+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;K=x;k[K>>2]=b;k[K+4>>2]=M}else{K=w;b=q;b=h0(k[K>>2]|0,k[K+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;K=x;k[K>>2]=b;k[K+4>>2]=M}K=x;K=WL(k[K>>2]|0,k[K+4>>2]|0)|0;k[v>>2]=K+(k[F>>2]|0?(k[t>>2]|0)+1|0:0);if(((k[o>>2]|0)+(k[v>>2]|0)|0)>(k[(k[C>>2]|0)+20>>2]|0)){k[(k[C>>2]|0)+20>>2]=(k[o>>2]|0)+(k[v>>2]|0)<<1;K=fg(k[(k[C>>2]|0)+16>>2]|0,k[(k[C>>2]|0)+20>>2]|0)|0;k[y>>2]=K;if(!(k[y>>2]|0)){I=50;break a}k[(k[C>>2]|0)+16>>2]=k[y>>2]}a=(k[(k[C>>2]|0)+16>>2]|0)+(k[o>>2]|0)|0;if(k[d>>2]|0){k[z>>2]=a;K=x;K=jM(k[K>>2]|0,k[K+4>>2]|0,k[s>>2]|0,k[t>>2]|0,k[z>>2]|0)|0;k[A>>2]=K;if(!(k[A>>2]|0))break;a=w;b=k[a+4>>2]|0;K=q;k[K>>2]=k[a>>2];k[K+4>>2]=b;k[o>>2]=(k[o>>2]|0)+(k[A>>2]|0);break}else{b=x;a=XL(a,k[b>>2]|0,k[b+4>>2]|0)|0;k[o>>2]=(k[o>>2]|0)+a;a=w;b=k[a+4>>2]|0;K=q;k[K>>2]=k[a>>2];k[K+4>>2]=b;if(!(k[F>>2]|0))break;r0((k[(k[C>>2]|0)+16>>2]|0)+(k[o>>2]|0)|0,k[s>>2]|0,k[t>>2]|0)|0;k[o>>2]=(k[o>>2]|0)+(k[t>>2]|0);b=k[(k[C>>2]|0)+16>>2]|0;K=k[o>>2]|0;k[o>>2]=K+1;i[b+K>>0]=0;break}}while(0);eM(k[e>>2]|0,k[j>>2]|0,k[r>>2]|0,k[h>>2]|0)}if((k[o>>2]|0)>0){k[(k[C>>2]|0)+48>>2]=k[(k[C>>2]|0)+16>>2];k[(k[C>>2]|0)+52>>2]=k[o>>2];k[D>>2]=100}}k[(k[C>>2]|0)+8>>2]=k[j>>2];if(k[D>>2]|0){I=61;break}}if((I|0)==9){k[p>>2]=k[D>>2];K=k[p>>2]|0;u=J;return K|0}else if((I|0)==50){k[p>>2]=7;K=k[p>>2]|0;u=J;return K|0}else if((I|0)==61){k[p>>2]=k[D>>2];K=k[p>>2]|0;u=J;return K|0}return 0}function JL(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+80|0;y=B+68|0;z=B+64|0;A=B+60|0;h=B+56|0;i=B+52|0;j=B+48|0;l=B+44|0;m=B+40|0;n=B+36|0;o=B+32|0;p=B+28|0;q=B+24|0;r=B+20|0;s=B+16|0;t=B+12|0;v=B+8|0;w=B+4|0;x=B;k[z>>2]=a;k[A>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[m>>2]=g;k[r>>2]=k[k[A>>2]>>2];if(!(k[r>>2]|0)){g=ze(64)|0;k[r>>2]=g;if(!(k[r>>2]|0)){k[y>>2]=7;A=k[y>>2]|0;u=B;return A|0}a=k[r>>2]|0;b=a+64|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[A>>2]>>2]=k[r>>2];A=ze(k[(k[z>>2]|0)+224>>2]|0)|0;k[(k[r>>2]|0)+48>>2]=A;if(!(k[(k[r>>2]|0)+48>>2]|0)){k[y>>2]=7;A=k[y>>2]|0;u=B;return A|0}k[(k[r>>2]|0)+40>>2]=k[(k[z>>2]|0)+224>>2];A=CL(k[z>>2]|0,10,t,0)|0;k[s>>2]=A;if(k[s>>2]|0){k[y>>2]=k[s>>2];A=k[y>>2]|0;u=B;return A|0}if(100==(Ls(k[t>>2]|0)|0)){g=tJ(k[t>>2]|0,0)|0;f=(k[r>>2]|0)+16|0;k[f>>2]=g;k[f+4>>2]=M;f=(k[r>>2]|0)+16|0;g=k[f+4>>2]|0;A=(k[r>>2]|0)+8|0;k[A>>2]=k[f>>2];k[A+4>>2]=g}A=Is(k[t>>2]|0)|0;k[s>>2]=A;if(k[s>>2]|0){k[y>>2]=k[s>>2];A=k[y>>2]|0;u=B;return A|0}}k[q>>2]=k[(k[r>>2]|0)+44>>2];A=ZL(k[(k[r>>2]|0)+24>>2]|0,k[(k[r>>2]|0)+28>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[n>>2]=A;k[o>>2]=(k[j>>2]|0)-(k[n>>2]|0);A=k[n>>2]|0;A=WL(A,((A|0)<0)<<31>>31)|0;t=k[o>>2]|0;t=A+(WL(t,((t|0)<0)<<31>>31)|0)|0;t=t+(k[o>>2]|0)|0;A=k[m>>2]|0;A=t+(WL(A,((A|0)<0)<<31>>31)|0)|0;k[p>>2]=A+(k[m>>2]|0);do if((k[q>>2]|0)>0?((k[q>>2]|0)+(k[p>>2]|0)|0)>(k[(k[z>>2]|0)+224>>2]|0):0){s=k[z>>2]|0;g=(k[r>>2]|0)+16|0;A=g;t=k[A>>2]|0;A=k[A+4>>2]|0;f=i0(t|0,A|0,1,0)|0;k[g>>2]=f;k[g+4>>2]=M;A=SL(s,t,A,k[(k[r>>2]|0)+48>>2]|0,k[q>>2]|0)|0;k[v>>2]=A;if(k[v>>2]|0){k[y>>2]=k[v>>2];A=k[y>>2]|0;u=B;return A|0}A=(k[z>>2]|0)+52|0;k[A>>2]=(k[A>>2]|0)+1;A=_L(k[z>>2]|0,k[r>>2]|0,k[h>>2]|0,k[i>>2]|0,(k[n>>2]|0)+1|0)|0;k[v>>2]=A;if(!(k[v>>2]|0)){k[q>>2]=0;k[(k[r>>2]|0)+28>>2]=0;k[n>>2]=0;k[o>>2]=k[j>>2];z=k[j>>2]|0;z=1+(WL(z,((z|0)<0)<<31>>31)|0)|0;z=z+(k[j>>2]|0)|0;A=k[m>>2]|0;A=z+(WL(A,((A|0)<0)<<31>>31)|0)|0;k[p>>2]=A+(k[m>>2]|0);break}k[y>>2]=k[v>>2];A=k[y>>2]|0;u=B;return A|0}while(0);z=k[p>>2]|0;A=(k[r>>2]|0)+56|0;v=A;z=i0(k[v>>2]|0,k[v+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;k[A>>2]=z;k[A+4>>2]=M;do if((k[p>>2]|0)>(k[(k[r>>2]|0)+40>>2]|0)){A=fg(k[(k[r>>2]|0)+48>>2]|0,k[p>>2]|0)|0;k[w>>2]=A;if(k[w>>2]|0){k[(k[r>>2]|0)+48>>2]=k[w>>2];k[(k[r>>2]|0)+40>>2]=k[p>>2];break}k[y>>2]=7;A=k[y>>2]|0;u=B;return A|0}while(0);A=k[n>>2]|0;A=XL((k[(k[r>>2]|0)+48>>2]|0)+(k[q>>2]|0)|0,A,((A|0)<0)<<31>>31)|0;k[q>>2]=(k[q>>2]|0)+A;A=k[o>>2]|0;A=XL((k[(k[r>>2]|0)+48>>2]|0)+(k[q>>2]|0)|0,A,((A|0)<0)<<31>>31)|0;k[q>>2]=(k[q>>2]|0)+A;r0((k[(k[r>>2]|0)+48>>2]|0)+(k[q>>2]|0)|0,(k[i>>2]|0)+(k[n>>2]|0)|0,k[o>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+(k[o>>2]|0);A=k[m>>2]|0;A=XL((k[(k[r>>2]|0)+48>>2]|0)+(k[q>>2]|0)|0,A,((A|0)<0)<<31>>31)|0;k[q>>2]=(k[q>>2]|0)+A;r0((k[(k[r>>2]|0)+48>>2]|0)+(k[q>>2]|0)|0,k[l>>2]|0,k[m>>2]|0)|0;k[(k[r>>2]|0)+44>>2]=(k[q>>2]|0)+(k[m>>2]|0);if(k[h>>2]|0){do if((k[j>>2]|0)>(k[(k[r>>2]|0)+32>>2]|0)){A=fg(k[(k[r>>2]|0)+36>>2]|0,k[j>>2]<<1)|0;k[x>>2]=A;if(k[x>>2]|0){k[(k[r>>2]|0)+32>>2]=k[j>>2]<<1;k[(k[r>>2]|0)+36>>2]=k[x>>2];k[(k[r>>2]|0)+24>>2]=k[x>>2];break}k[y>>2]=7;A=k[y>>2]|0;u=B;return A|0}while(0);r0(k[(k[r>>2]|0)+24>>2]|0,k[i>>2]|0,k[j>>2]|0)|0}else k[(k[r>>2]|0)+24>>2]=k[i>>2];k[(k[r>>2]|0)+28>>2]=k[j>>2];k[y>>2]=0;A=k[y>>2]|0;u=B;return A|0}function KL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;n=r+36|0;o=r+32|0;p=r+28|0;q=r+24|0;j=r+20|0;g=r+16|0;h=r+12|0;l=r+8|0;i=r+4|0;m=r;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[j>>2]=d;k[g>>2]=e;k[h>>2]=f;k[l>>2]=0;k[m>>2]=0;k[i>>2]=0;while(1){if(k[l>>2]|0)break;if((k[i>>2]|0)>=(k[h>>2]|0))break;f=YL(k[o>>2]|0,k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[l>>2]=f;k[i>>2]=(k[i>>2]|0)+1}if(k[l>>2]|0){k[n>>2]=k[l>>2];q=k[n>>2]|0;u=r;return q|0}a=k[o>>2]|0;if((k[j>>2]|0)==-2){j=CL(a,26,m,0)|0;k[l>>2]=j;if(!(k[l>>2]|0)){f=k[m>>2]|0;j=FL(k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,0)|0;AJ(f,1,j,M)|0;j=k[m>>2]|0;q=FL(k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,1023)|0;AJ(j,2,q,M)|0}}else{f=CL(a,16,m,0)|0;k[l>>2]=f;if(!(k[l>>2]|0)){f=k[m>>2]|0;q=FL(k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[j>>2]|0)|0;AJ(f,1,q,M)|0}}if(!(k[l>>2]|0)){Ls(k[m>>2]|0)|0;q=Is(k[m>>2]|0)|0;k[l>>2]=q}k[n>>2]=k[l>>2];q=k[n>>2]|0;u=r;return q|0}function LL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;j=p+44|0;l=p+40|0;m=p+16|0;n=p+36|0;o=p+32|0;f=p+8|0;g=p;h=p+28|0;i=p+24|0;k[j>>2]=a;k[l>>2]=b;b=m;k[b>>2]=c;k[b+4>>2]=d;k[n>>2]=e;if(!(k[k[l>>2]>>2]|0)){e=m;m=(k[l>>2]|0)+56|0;n=UL(k[j>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[n>>2]|0,0,0,0,0,0,0,k[m>>2]|0,k[m+4>>2]|0,k[(k[l>>2]|0)+48>>2]|0,k[(k[l>>2]|0)+44>>2]|0)|0;k[o>>2]=n;n=k[j>>2]|0;n=n+52|0;m=k[n>>2]|0;m=m+1|0;k[n>>2]=m;o=k[o>>2]|0;u=p;return o|0}e=f;k[e>>2]=0;k[e+4>>2]=0;k[h>>2]=0;k[i>>2]=0;e=(k[l>>2]|0)+16|0;b=k[e+4>>2]|0;c=g;k[c>>2]=k[e>>2];k[c+4>>2]=b;c=k[j>>2]|0;b=(k[l>>2]|0)+16|0;e=b;d=k[e>>2]|0;e=k[e+4>>2]|0;a=i0(d|0,e|0,1,0)|0;k[b>>2]=a;k[b+4>>2]=M;e=SL(c,d,e,k[(k[l>>2]|0)+48>>2]|0,k[(k[l>>2]|0)+44>>2]|0)|0;k[o>>2]=e;if(!(k[o>>2]|0)){d=(k[l>>2]|0)+8|0;e=(k[l>>2]|0)+16|0;e=TL(k[j>>2]|0,k[k[l>>2]>>2]|0,1,k[d>>2]|0,k[d+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0,f,h,i)|0;k[o>>2]=e}if(k[o>>2]|0){n=k[j>>2]|0;n=n+52|0;m=k[n>>2]|0;m=m+1|0;k[n>>2]=m;o=k[o>>2]|0;u=p;return o|0}b=m;c=(k[l>>2]|0)+8|0;d=g;e=f;m=(k[l>>2]|0)+56|0;n=UL(k[j>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[n>>2]|0,k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[o>>2]=n;n=k[j>>2]|0;n=n+52|0;m=k[n>>2]|0;m=m+1|0;k[n>>2]=m;o=k[o>>2]|0;u=p;return o|0}function ML(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+80|0;o=v+72|0;p=v+40|0;q=v+32|0;r=v+68|0;s=v+64|0;f=v+60|0;g=v+24|0;h=v+16|0;i=v+8|0;j=v;l=v+56|0;m=v+52|0;n=v+48|0;k[o>>2]=a;a=p;k[a>>2]=b;k[a+4>>2]=c;c=q;k[c>>2]=d;k[c+4>>2]=e;k[r>>2]=0;e=CL(k[o>>2]|0,37,s,0)|0;k[r>>2]=e;if(k[r>>2]|0){t=k[r>>2]|0;u=v;return t|0}k[f>>2]=0;d=p;d=x0(k[d>>2]|0,k[d+4>>2]|0,1024,0)|0;d=i0(d|0,M|0,1,0)|0;d=B0(d|0,M|0,1024,0)|0;d=h0(d|0,M|0,1,0)|0;e=g;k[e>>2]=d;k[e+4>>2]=M;q=B0(k[q>>2]|0,k[q+4>>2]|0,3,0)|0;q=x0(q|0,M|0,2,0)|0;e=h;k[e>>2]=q;k[e+4>>2]=M;e=k[s>>2]|0;q=p;q=i0(k[q>>2]|0,k[q+4>>2]|0,1,0)|0;AJ(e,1,q,M)|0;q=g;AJ(k[s>>2]|0,2,k[q>>2]|0,k[q+4>>2]|0)|0;while(1){if(100!=(Ls(k[s>>2]|0)|0))break;q=i;k[q>>2]=0;k[q+4>>2]=0;RL(k[s>>2]|0,2,j,i);q=i;e=k[q+4>>2]|0;if((e|0)<0|(e|0)==0&(k[q>>2]|0)>>>0<=0){t=6;break}e=i;c=k[e+4>>2]|0;q=h;d=k[q+4>>2]|0;if((c|0)>(d|0)|((c|0)==(d|0)?(k[e>>2]|0)>>>0>(k[q>>2]|0)>>>0:0)){t=6;break}k[f>>2]=1}if((t|0)==6)k[f>>2]=0;t=Is(k[s>>2]|0)|0;k[r>>2]=t;if(!(k[f>>2]|0)){t=k[r>>2]|0;u=v;return t|0}k[l>>2]=0;k[m>>2]=0;k[n>>2]=0;if(!(k[r>>2]|0)){t=CL(k[o>>2]|0,38,m,0)|0;k[r>>2]=t}if(!(k[r>>2]|0)){t=CL(k[o>>2]|0,39,n,0)|0;k[r>>2]=t}a:do if(!(k[r>>2]|0)){t=p;AJ(k[s>>2]|0,1,k[t>>2]|0,k[t+4>>2]|0)|0;do{if(100!=(Ls(k[s>>2]|0)|0))break a;q=k[m>>2]|0;t=k[l>>2]|0;k[l>>2]=t+1;zJ(q,1,t)|0;t=k[m>>2]|0;zJ(t,2,sJ(k[s>>2]|0,0)|0)|0;t=k[m>>2]|0;zJ(t,3,sJ(k[s>>2]|0,1)|0)|0;Ls(k[m>>2]|0)|0;t=Is(k[m>>2]|0)|0;k[r>>2]=t}while(!(k[r>>2]|0));Is(k[s>>2]|0)|0}while(0);if(!(k[r>>2]|0)){t=Is(k[s>>2]|0)|0;k[r>>2]=t}if(k[r>>2]|0){t=k[r>>2]|0;u=v;return t|0}t=p;AJ(k[n>>2]|0,1,k[t>>2]|0,k[t+4>>2]|0)|0;Ls(k[n>>2]|0)|0;t=Is(k[n>>2]|0)|0;k[r>>2]=t;t=k[r>>2]|0;u=v;return t|0}function NL(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}ie(k[(k[b>>2]|0)+48>>2]|0);ie(k[(k[b>>2]|0)+36>>2]|0);QL(k[k[b>>2]>>2]|0);ie(k[b>>2]|0);u=c;return}function OL(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}k[c>>2]=0;while(1){a=k[k[b>>2]>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+4>>2]|0))break;PL(k[a+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}ie(a);ie(k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+4>>2]=0;k[k[b>>2]>>2]=0;k[(k[b>>2]|0)+16>>2]=0;u=d;return}function PL(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){b=k[b>>2]|0;ie(b);u=c;return}if(!(k[(k[b>>2]|0)+56>>2]|0))ie(k[(k[b>>2]|0)+64>>2]|0);if(!(l[(k[b>>2]|0)+5>>0]|0))ie(k[(k[b>>2]|0)+40>>2]|0);KJ(k[(k[b>>2]|0)+52>>2]|0)|0;b=k[b>>2]|0;ie(b);u=c;return}function QL(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[b>>2]|0)){u=e;return}k[c>>2]=k[(k[b>>2]|0)+8>>2];QL(k[k[c>>2]>>2]|0);while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+4>>2];if((k[(k[c>>2]|0)+36>>2]|0)!=((k[c>>2]|0)+40|0))ie(k[(k[c>>2]|0)+36>>2]|0);ie(k[(k[c>>2]|0)+28>>2]|0);ie(k[c>>2]|0);k[c>>2]=k[d>>2]}u=e;return}function RL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;m=u;u=u+48|0;o=m+32|0;n=m+28|0;e=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;f=m+8|0;g=m;k[o>>2]=a;k[n>>2]=b;k[e>>2]=c;k[h>>2]=d;d=Mv(k[o>>2]|0,k[n>>2]|0)|0;k[i>>2]=d;if(!(k[i>>2]|0)){u=m;return}k[f>>2]=1;o=g;k[o>>2]=0;k[o+4>>2]=0;k[j>>2]=0;while(1){if((l[(k[i>>2]|0)+(k[j>>2]|0)>>0]|0|0)>=48)a=(l[(k[i>>2]|0)+(k[j>>2]|0)>>0]|0|0)<=57;else a=0;c=g;b=k[c>>2]|0;c=k[c+4>>2]|0;if(!a)break;o=B0(b|0,c|0,10,0)|0;n=(l[(k[i>>2]|0)+(k[j>>2]|0)>>0]|0)-48|0;n=i0(o|0,M|0,n|0,((n|0)<0)<<31>>31|0)|0;o=g;k[o>>2]=n;k[o+4>>2]=M;k[j>>2]=(k[j>>2]|0)+1}o=k[e>>2]|0;k[o>>2]=b;k[o+4>>2]=c;while(1){if((l[(k[i>>2]|0)+(k[j>>2]|0)>>0]|0|0)!=32)break;k[j>>2]=(k[j>>2]|0)+1}o=g;k[o>>2]=0;k[o+4>>2]=0;if((l[(k[i>>2]|0)+(k[j>>2]|0)>>0]|0|0)==45){k[j>>2]=(k[j>>2]|0)+1;k[f>>2]=-1}while(1){if((l[(k[i>>2]|0)+(k[j>>2]|0)>>0]|0|0)>=48)a=(l[(k[i>>2]|0)+(k[j>>2]|0)>>0]|0|0)<=57;else a=0;c=g;b=k[c>>2]|0;c=k[c+4>>2]|0;if(!a)break;o=B0(b|0,c|0,10,0)|0;n=(l[(k[i>>2]|0)+(k[j>>2]|0)>>0]|0)-48|0;n=i0(o|0,M|0,n|0,((n|0)<0)<<31>>31|0)|0;o=g;k[o>>2]=n;k[o+4>>2]=M;k[j>>2]=(k[j>>2]|0)+1}n=k[f>>2]|0;n=B0(b|0,c|0,n|0,((n|0)<0)<<31>>31|0)|0;o=k[h>>2]|0;k[o>>2]=n;k[o+4>>2]=M;u=m;return}function SL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+32|0;m=l+24|0;g=l;h=l+20|0;i=l+16|0;j=l+12|0;f=l+8|0;k[m>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;e=CL(k[m>>2]|0,9,j,0)|0;k[f>>2]=e;if(k[f>>2]|0){m=k[f>>2]|0;u=l;return m|0}m=g;AJ(k[j>>2]|0,1,k[m>>2]|0,k[m+4>>2]|0)|0;vJ(k[j>>2]|0,2,k[h>>2]|0,k[i>>2]|0,0)|0;Ls(k[j>>2]|0)|0;m=Is(k[j>>2]|0)|0;k[f>>2]=m;m=k[f>>2]|0;u=l;return m|0}function TL(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+80|0;l=B+72|0;m=B+68|0;n=B+64|0;o=B+24|0;p=B+16|0;q=B+60|0;r=B+56|0;s=B+52|0;t=B+48|0;v=B+44|0;w=B+40|0;x=B+8|0;y=B;z=B+36|0;A=B+32|0;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;c=o;k[c>>2]=d;k[c+4>>2]=e;e=p;k[e>>2]=f;k[e+4>>2]=g;k[q>>2]=h;k[r>>2]=i;k[s>>2]=j;k[t>>2]=0;if(!(k[k[m>>2]>>2]|0)){i=o;i=VL(k[m>>2]|0,k[n>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0;k[v>>2]=i;i=p;i=h0(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;j=k[q>>2]|0;k[j>>2]=i;k[j+4>>2]=M;k[k[s>>2]>>2]=(k[(k[m>>2]|0)+32>>2]|0)-(k[v>>2]|0);k[k[r>>2]>>2]=(k[(k[m>>2]|0)+36>>2]|0)+(k[v>>2]|0);j=k[t>>2]|0;u=B;return j|0}j=p;i=k[j+4>>2]|0;h=x;k[h>>2]=k[j>>2];k[h+4>>2]=i;h=o;i=k[h+4>>2]|0;j=y;k[j>>2]=k[h>>2];k[j+4>>2]=i;k[w>>2]=k[(k[m>>2]|0)+8>>2];while(1){if(!(k[w>>2]|0?(k[t>>2]|0)==0:0))break;j=y;j=VL(k[w>>2]|0,k[n>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[z>>2]=j;k[A>>2]=(k[(k[w>>2]|0)+32>>2]|0)-(k[z>>2]|0);j=x;j=SL(k[l>>2]|0,k[j>>2]|0,k[j+4>>2]|0,(k[(k[w>>2]|0)+36>>2]|0)+(k[z>>2]|0)|0,k[A>>2]|0)|0;k[t>>2]=j;j=x;j=i0(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;i=x;k[i>>2]=j;k[i+4>>2]=M;i=(k[(k[w>>2]|0)+12>>2]|0)+1|0;j=y;i=i0(k[j>>2]|0,k[j+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;j=y;k[j>>2]=i;k[j+4>>2]=M;k[w>>2]=k[(k[w>>2]|0)+4>>2]}if(k[t>>2]|0){j=k[t>>2]|0;u=B;return j|0}i=p;j=x;j=TL(k[l>>2]|0,k[k[m>>2]>>2]|0,(k[n>>2]|0)+1|0,k[i>>2]|0,k[i+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0,k[q>>2]|0,k[r>>2]|0,k[s>>2]|0)|0;k[t>>2]=j;j=k[t>>2]|0;u=B;return j|0}function UL(a,b,c,d,e,f,g,h,i,j,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=u;u=u+96|0;C=D+40|0;p=D+84|0;E=D+80|0;q=D+32|0;r=D+76|0;s=D+24|0;t=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;B=D+56|0;k[E>>2]=a;a=q;k[a>>2]=b;k[a+4>>2]=c;k[r>>2]=d;d=s;k[d>>2]=e;k[d+4>>2]=f;f=t;k[f>>2]=g;k[f+4>>2]=h;h=v;k[h>>2]=i;k[h+4>>2]=j;j=w;k[j>>2]=l;k[j+4>>2]=m;k[x>>2]=n;k[y>>2]=o;j=CL(k[E>>2]|0,11,z,0)|0;k[A>>2]=j;if(!(k[A>>2]|0)){E=q;AJ(k[z>>2]|0,1,k[E>>2]|0,k[E+4>>2]|0)|0;zJ(k[z>>2]|0,2,k[r>>2]|0)|0;E=s;AJ(k[z>>2]|0,3,k[E>>2]|0,k[E+4>>2]|0)|0;E=t;AJ(k[z>>2]|0,4,k[E>>2]|0,k[E+4>>2]|0)|0;E=w;do if((k[E>>2]|0)==0&(k[E+4>>2]|0)==0){E=v;AJ(k[z>>2]|0,5,k[E>>2]|0,k[E+4>>2]|0)|0}else{g=v;h=k[g+4>>2]|0;j=w;i=k[j>>2]|0;j=k[j+4>>2]|0;E=C;k[E>>2]=k[g>>2];k[E+4>>2]=h;E=C+8|0;k[E>>2]=i;k[E+4>>2]=j;E=xf(45278,C)|0;k[B>>2]=E;if(k[B>>2]|0){CJ(k[z>>2]|0,5,k[B>>2]|0,-1,157)|0;break}k[p>>2]=7;E=k[p>>2]|0;u=D;return E|0}while(0);vJ(k[z>>2]|0,6,k[x>>2]|0,k[y>>2]|0,0)|0;Ls(k[z>>2]|0)|0;E=Is(k[z>>2]|0)|0;k[A>>2]=E}k[p>>2]=k[A>>2];E=k[p>>2]|0;u=D;return E|0}function VL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=u;u=u+32|0;g=f+16|0;j=f+12|0;h=f;e=f+8|0;k[g>>2]=a;k[j>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;d=h;d=10-(WL(k[d>>2]|0,k[d+4>>2]|0)|0)|0;k[e>>2]=d;i[(k[(k[g>>2]|0)+36>>2]|0)+(k[e>>2]|0)>>0]=k[j>>2];d=h;XL((k[(k[g>>2]|0)+36>>2]|0)+((k[e>>2]|0)+1)|0,k[d>>2]|0,k[d+4>>2]|0)|0;u=f;return k[e>>2]|0}function WL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;k[d>>2]=0;do{k[d>>2]=(k[d>>2]|0)+1;b=c;b=p0(k[b>>2]|0,k[b+4>>2]|0,7)|0;f=c;k[f>>2]=b;k[f+4>>2]=M;f=c}while((k[f>>2]|0)!=0|(k[f+4>>2]|0)!=0);u=e;return k[d>>2]|0}function XL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;d=g+20|0;h=g+8|0;e=g+16|0;f=g;k[d>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=k[d>>2];a=h;b=k[a+4>>2]|0;c=f;k[c>>2]=k[a>>2];k[c+4>>2]=b;do{h=(k[f>>2]&127|128)&255;c=k[e>>2]|0;k[e>>2]=c+1;i[c>>0]=h;c=f;c=p0(k[c>>2]|0,k[c+4>>2]|0,7)|0;h=f;k[h>>2]=c;k[h+4>>2]=M;h=f}while((k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0);h=(k[e>>2]|0)+-1|0;i[h>>0]=(l[h>>0]|0)&127;u=g;return (k[e>>2]|0)-(k[d>>2]|0)|0}function YL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;b=(k[d>>2]|0)+8|0;if(!((k[b>>2]|0)!=0|(k[b+4>>2]|0)!=0)){f=k[e>>2]|0;u=g;return f|0}c=CL(k[c>>2]|0,17,f,0)|0;k[e>>2]=c;if(k[e>>2]|0){f=k[e>>2]|0;u=g;return f|0}c=(k[d>>2]|0)+8|0;AJ(k[f>>2]|0,1,k[c>>2]|0,k[c+4>>2]|0)|0;d=(k[d>>2]|0)+24|0;AJ(k[f>>2]|0,2,k[d>>2]|0,k[d+4>>2]|0)|0;Ls(k[f>>2]|0)|0;f=Is(k[f>>2]|0)|0;k[e>>2]=f;f=k[e>>2]|0;u=g;return f|0}function ZL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j+4>>2]=d;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[f>>2]|0)){a=5;break}if((i[(k[e>>2]|0)+(k[h>>2]|0)>>0]|0)!=(i[(k[g>>2]|0)+(k[h>>2]|0)>>0]|0)){a=5;break}k[h>>2]=(k[h>>2]|0)+1}if((a|0)==5){u=j;return k[h>>2]|0}return 0}function _L(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+64|0;v=w+56|0;p=w+52|0;q=w+48|0;r=w+44|0;s=w+40|0;l=w+36|0;t=w+32|0;m=w+28|0;n=w+24|0;f=w+20|0;g=w+16|0;h=w+12|0;i=w+8|0;j=w+4|0;o=w;k[p>>2]=a;k[q>>2]=b;k[r>>2]=c;k[s>>2]=d;k[l>>2]=e;k[t>>2]=k[k[q>>2]>>2];do if(k[t>>2]|0){k[f>>2]=k[(k[t>>2]|0)+32>>2];k[g>>2]=k[f>>2];d=ZL(k[(k[t>>2]|0)+16>>2]|0,k[(k[t>>2]|0)+20>>2]|0,k[s>>2]|0,k[l>>2]|0)|0;k[h>>2]=d;k[i>>2]=(k[l>>2]|0)-(k[h>>2]|0);d=k[h>>2]|0;d=WL(d,((d|0)<0)<<31>>31)|0;e=k[i>>2]|0;e=d+(WL(e,((e|0)<0)<<31>>31)|0)|0;k[g>>2]=(k[g>>2]|0)+(e+(k[i>>2]|0));if((k[g>>2]|0)>(k[(k[p>>2]|0)+224>>2]|0)?k[(k[t>>2]|0)+16>>2]|0:0)break;if((k[g>>2]|0)>(k[(k[p>>2]|0)+224>>2]|0)?(q=ze(k[g>>2]|0)|0,k[(k[t>>2]|0)+36>>2]=q,(k[(k[t>>2]|0)+36>>2]|0)==0):0){k[v>>2]=7;v=k[v>>2]|0;u=w;return v|0}if(k[(k[t>>2]|0)+16>>2]|0){q=k[h>>2]|0;q=XL((k[(k[t>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,q,((q|0)<0)<<31>>31)|0;k[f>>2]=(k[f>>2]|0)+q}q=k[i>>2]|0;q=XL((k[(k[t>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,q,((q|0)<0)<<31>>31)|0;k[f>>2]=(k[f>>2]|0)+q;r0((k[(k[t>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,(k[s>>2]|0)+(k[h>>2]|0)|0,k[i>>2]|0)|0;k[(k[t>>2]|0)+32>>2]=(k[f>>2]|0)+(k[i>>2]|0);q=(k[t>>2]|0)+12|0;k[q>>2]=(k[q>>2]|0)+1;if(k[r>>2]|0){do if((k[(k[t>>2]|0)+24>>2]|0)<(k[l>>2]|0)){r=fg(k[(k[t>>2]|0)+28>>2]|0,k[l>>2]<<1)|0;k[j>>2]=r;if(k[j>>2]|0){k[(k[t>>2]|0)+24>>2]=k[l>>2]<<1;k[(k[t>>2]|0)+28>>2]=k[j>>2];break}k[v>>2]=7;v=k[v>>2]|0;u=w;return v|0}while(0);k[(k[t>>2]|0)+16>>2]=k[(k[t>>2]|0)+28>>2];r0(k[(k[t>>2]|0)+16>>2]|0,k[s>>2]|0,k[l>>2]|0)|0;b=k[l>>2]|0;a=k[t>>2]|0}else{k[(k[t>>2]|0)+16>>2]=k[s>>2];b=k[l>>2]|0;a=k[t>>2]|0}k[a+20>>2]=b;k[v>>2]=0;v=k[v>>2]|0;u=w;return v|0}while(0);e=ze(40+(k[(k[p>>2]|0)+224>>2]|0)|0)|0;k[n>>2]=e;if(!(k[n>>2]|0)){k[v>>2]=7;v=k[v>>2]|0;u=w;return v|0}a=k[n>>2]|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[(k[n>>2]|0)+32>>2]=11;k[(k[n>>2]|0)+36>>2]=(k[n>>2]|0)+40;if(k[t>>2]|0){k[o>>2]=k[k[t>>2]>>2];s=_L(k[p>>2]|0,o,k[r>>2]|0,k[s>>2]|0,k[l>>2]|0)|0;k[m>>2]=s;if(!(k[k[t>>2]>>2]|0))k[k[t>>2]>>2]=k[o>>2];k[(k[t>>2]|0)+4>>2]=k[n>>2];k[(k[n>>2]|0)+8>>2]=k[(k[t>>2]|0)+8>>2];k[k[n>>2]>>2]=k[o>>2];k[(k[n>>2]|0)+28>>2]=k[(k[t>>2]|0)+28>>2];k[(k[n>>2]|0)+24>>2]=k[(k[t>>2]|0)+24>>2];k[(k[t>>2]|0)+28>>2]=0}else{k[(k[n>>2]|0)+8>>2]=k[n>>2];t=_L(k[p>>2]|0,n,k[r>>2]|0,k[s>>2]|0,k[l>>2]|0)|0;k[m>>2]=t}k[k[q>>2]>>2]=k[n>>2];k[v>>2]=k[m>>2];v=k[v>>2]|0;u=w;return v|0}function $L(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+80>>2]|0)==0&1)-((k[(k[d>>2]|0)+80>>2]|0)==0&1);if(k[e>>2]|0){e=k[e>>2]|0;u=f;return e|0}a=(k[c>>2]|0)+88|0;b=(k[d>>2]|0)+88|0;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);e=k[e>>2]|0;u=f;return e|0}else{c=(k[c>>2]|0)+88|0;a=k[c+4>>2]|0;d=(k[d>>2]|0)+88|0;b=k[d+4>>2]|0;k[e>>2]=(a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[d>>2]|0)>>>0:0)?1:-1;e=k[e>>2]|0;u=f;return e|0}return 0}function aM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+80>>2]|0)==0&1)-((k[(k[d>>2]|0)+80>>2]|0)==0&1);if(k[e>>2]|0){e=k[e>>2]|0;u=f;return e|0}a=(k[c>>2]|0)+88|0;b=(k[d>>2]|0)+88|0;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);e=k[e>>2]|0;u=f;return e|0}else{c=(k[c>>2]|0)+88|0;a=k[c+4>>2]|0;d=(k[d>>2]|0)+88|0;b=k[d+4>>2]|0;k[e>>2]=(a|0)>(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0>(k[d>>2]|0)>>>0:0)?1:-1;e=k[e>>2]|0;u=f;return e|0}return 0}function bM(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+5>>0]|0|0){b=k[b>>2]|0;b=b+40|0;k[b>>2]=0;u=c;return}ie(k[(k[b>>2]|0)+40>>2]|0);KJ(k[(k[b>>2]|0)+52>>2]|0)|0;k[(k[b>>2]|0)+52>>2]=0;b=k[b>>2]|0;b=b+40|0;k[b>>2]=0;u=c;return}function cM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+64|0;r=v+52|0;h=v+48|0;s=v+44|0;j=v+40|0;p=v+36|0;t=v+32|0;q=v+28|0;m=v+24|0;d=v+20|0;e=v+16|0;f=v+12|0;g=v+8|0;n=v+4|0;o=v;k[h>>2]=a;k[s>>2]=b;k[j>>2]=c;a=k[s>>2]|0;if(k[(k[s>>2]|0)+72>>2]|0)k[t>>2]=(k[a+72>>2]|0)+(k[(k[s>>2]|0)+76>>2]|0);else k[t>>2]=k[a+40>>2];if(!(k[t>>2]|0?(k[t>>2]|0)>>>0<((k[(k[s>>2]|0)+40>>2]|0)+(k[(k[s>>2]|0)+44>>2]|0)|0)>>>0:0)){a=k[s>>2]|0;if(k[(k[s>>2]|0)+56>>2]|0){k[d>>2]=k[k[a+56>>2]>>2];ie(k[(k[s>>2]|0)+40>>2]|0);k[(k[s>>2]|0)+40>>2]=0;do if(k[d>>2]|0){k[f>>2]=k[(k[d>>2]|0)+8>>2];k[g>>2]=(k[k[f>>2]>>2]|0)+1;k[(k[s>>2]|0)+64>>2]=k[(k[d>>2]|0)+12>>2];k[(k[s>>2]|0)+60>>2]=k[(k[d>>2]|0)+16>>2];t=ze(k[g>>2]|0)|0;k[e>>2]=t;if(k[e>>2]|0){r0(k[e>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[g>>2]|0)|0;t=k[g>>2]|0;k[(k[s>>2]|0)+76>>2]=t;k[(k[s>>2]|0)+44>>2]=t;t=k[e>>2]|0;k[(k[s>>2]|0)+72>>2]=t;k[(k[s>>2]|0)+40>>2]=t;t=(k[s>>2]|0)+56|0;k[t>>2]=(k[t>>2]|0)+4;break}k[r>>2]=7;t=k[r>>2]|0;u=v;return t|0}while(0);k[r>>2]=0;t=k[r>>2]|0;u=v;return t|0}bM(a);f=(k[s>>2]|0)+32|0;d=k[f+4>>2]|0;g=(k[s>>2]|0)+16|0;e=k[g+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(k[f>>2]|0)>>>0>=(k[g>>2]|0)>>>0:0)){k[r>>2]=0;t=k[r>>2]|0;u=v;return t|0}e=k[h>>2]|0;d=(k[s>>2]|0)+32|0;f=d;f=i0(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;g=M;k[d>>2]=f;k[d+4>>2]=g;g=tM(e,f,g,(k[s>>2]|0)+40|0,(k[s>>2]|0)+44|0,k[j>>2]|0?(k[s>>2]|0)+48|0:0)|0;k[p>>2]=g;if(k[p>>2]|0){k[r>>2]=k[p>>2];t=k[r>>2]|0;u=v;return t|0}if(k[j>>2]|0?(k[(k[s>>2]|0)+48>>2]|0)<(k[(k[s>>2]|0)+44>>2]|0):0){k[(k[s>>2]|0)+52>>2]=k[(k[h>>2]|0)+244>>2];k[(k[h>>2]|0)+244>>2]=0}k[t>>2]=k[(k[s>>2]|0)+40>>2]}j=pM(k[s>>2]|0,k[t>>2]|0,20)|0;k[p>>2]=j;if(k[p>>2]|0){k[r>>2]=k[p>>2];t=k[r>>2]|0;u=v;return t|0}a=k[t>>2]|0;if(l[k[t>>2]>>0]&128|0)a=mM(a,q)|0;else{k[q>>2]=l[a>>0];a=1}k[t>>2]=(k[t>>2]|0)+a;a=k[t>>2]|0;if(l[k[t>>2]>>0]&128|0)a=mM(a,m)|0;else{k[m>>2]=l[a>>0];a=1}k[t>>2]=(k[t>>2]|0)+a;if(!((k[q>>2]|0)<0|(k[m>>2]|0)<=0)?((k[t>>2]|0)+(k[m>>2]|0)|0)>>>0<=((k[(k[s>>2]|0)+40>>2]|0)+(k[(k[s>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((k[q>>2]|0)+(k[m>>2]|0)|0)>(k[(k[s>>2]|0)+68>>2]|0)){k[n>>2]=(k[q>>2]|0)+(k[m>>2]|0)<<1;j=fg(k[(k[s>>2]|0)+64>>2]|0,k[n>>2]|0)|0;k[o>>2]=j;if(k[o>>2]|0){k[(k[s>>2]|0)+64>>2]=k[o>>2];k[(k[s>>2]|0)+68>>2]=k[n>>2];break}k[r>>2]=7;t=k[r>>2]|0;u=v;return t|0}while(0);o=pM(k[s>>2]|0,k[t>>2]|0,(k[m>>2]|0)+10|0)|0;k[p>>2]=o;if(k[p>>2]|0){k[r>>2]=k[p>>2];t=k[r>>2]|0;u=v;return t|0}r0((k[(k[s>>2]|0)+64>>2]|0)+(k[q>>2]|0)|0,k[t>>2]|0,k[m>>2]|0)|0;k[(k[s>>2]|0)+60>>2]=(k[q>>2]|0)+(k[m>>2]|0);k[t>>2]=(k[t>>2]|0)+(k[m>>2]|0);a=k[t>>2]|0;if(l[k[t>>2]>>0]&128|0)a=mM(a,(k[s>>2]|0)+76|0)|0;else{k[(k[s>>2]|0)+76>>2]=l[a>>0];a=1}k[t>>2]=(k[t>>2]|0)+a;k[(k[s>>2]|0)+72>>2]=k[t>>2];k[(k[s>>2]|0)+80>>2]=0;do if(((k[(k[s>>2]|0)+72>>2]|0)+(k[(k[s>>2]|0)+76>>2]|0)|0)>>>0<=((k[(k[s>>2]|0)+40>>2]|0)+(k[(k[s>>2]|0)+44>>2]|0)|0)>>>0){if((k[(k[s>>2]|0)+48>>2]|0)==0?i[(k[(k[s>>2]|0)+72>>2]|0)+((k[(k[s>>2]|0)+76>>2]|0)-1)>>0]|0:0)break;k[r>>2]=0;t=k[r>>2]|0;u=v;return t|0}while(0);k[r>>2]=267;t=k[r>>2]|0;u=v;return t|0}k[r>>2]=267;t=k[r>>2]|0;u=v;return t|0}function dM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+40>>2]|0?k[(k[d>>2]|0)+40>>2]|0:0){k[f>>2]=(k[(k[c>>2]|0)+60>>2]|0)-(k[(k[d>>2]|0)+60>>2]|0);a=k[(k[c>>2]|0)+64>>2]|0;b=k[(k[d>>2]|0)+64>>2]|0;if((k[f>>2]|0)<0){b=R_(a,b,k[(k[c>>2]|0)+60>>2]|0)|0;k[e>>2]=b}else{b=R_(a,b,k[(k[d>>2]|0)+60>>2]|0)|0;k[e>>2]=b}if(!(k[e>>2]|0))k[e>>2]=k[f>>2]}else k[e>>2]=((k[(k[c>>2]|0)+40>>2]|0)==0&1)-((k[(k[d>>2]|0)+40>>2]|0)==0&1);if(k[e>>2]|0){f=k[e>>2]|0;u=g;return f|0}k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);f=k[e>>2]|0;u=g;return f|0}function eM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;l=m+4|0;e=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if((k[h>>2]|0)==(k[g>>2]|0))k[h>>2]=(k[h>>2]|0)+-1;k[j>>2]=(k[h>>2]|0)-1;while(1){if((k[j>>2]|0)<0)break;k[l>>2]=k[j>>2];while(1){if((k[l>>2]|0)>=((k[g>>2]|0)-1|0))break;if((Wb[k[i>>2]&255](k[(k[f>>2]|0)+(k[l>>2]<<2)>>2]|0,k[(k[f>>2]|0)+((k[l>>2]|0)+1<<2)>>2]|0)|0)<0)break;k[e>>2]=k[(k[f>>2]|0)+((k[l>>2]|0)+1<<2)>>2];k[(k[f>>2]|0)+((k[l>>2]|0)+1<<2)>>2]=k[(k[f>>2]|0)+(k[l>>2]<<2)>>2];k[(k[f>>2]|0)+(k[l>>2]<<2)>>2]=k[e>>2];k[l>>2]=(k[l>>2]|0)+1}k[j>>2]=(k[j>>2]|0)+-1}u=m;return}function fM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;do if((k[g>>2]|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[(k[e>>2]|0)+20>>2]=k[g>>2]<<1;c=fg(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){k[(k[e>>2]|0)+16>>2]=k[h>>2];break}k[d>>2]=7;h=k[d>>2]|0;u=i;return h|0}while(0);r0(k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[d>>2]=0;h=k[d>>2]|0;u=i;return h|0}function gM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;h=g+12|0;c=g+8|0;d=g+4|0;e=g+16|0;f=g;k[h>>2]=a;k[c>>2]=b;k[d>>2]=0;if(l[(k[h>>2]|0)+231>>0]|0|0?k[(k[c>>2]|0)+56>>2]|0:0){i[e>>0]=0;h=(k[c>>2]|0)+88|0;k[h>>2]=0;k[h+4>>2]=0;k[(k[c>>2]|0)+84>>2]=0;nM(0,k[(k[c>>2]|0)+72>>2]|0,k[(k[c>>2]|0)+76>>2]|0,(k[c>>2]|0)+80|0,(k[c>>2]|0)+88|0,(k[c>>2]|0)+84|0,e);h=k[d>>2]|0;u=g;return h|0}h=pM(k[c>>2]|0,k[(k[c>>2]|0)+72>>2]|0,10)|0;k[d>>2]=h;if(k[d>>2]|0){h=k[d>>2]|0;u=g;return h|0}h=lM(k[(k[c>>2]|0)+72>>2]|0,(k[c>>2]|0)+88|0)|0;k[f>>2]=h;k[(k[c>>2]|0)+80>>2]=(k[(k[c>>2]|0)+72>>2]|0)+(k[f>>2]|0);h=k[d>>2]|0;u=g;return h|0}function hM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+48|0;p=t+36|0;q=t+32|0;r=t+28|0;g=t+24|0;h=t+20|0;s=t+16|0;m=t+12|0;e=t+41|0;f=t+40|0;n=t+8|0;o=t;k[q>>2]=a;k[r>>2]=b;k[g>>2]=c;k[h>>2]=d;k[s>>2]=0;k[m>>2]=k[(k[r>>2]|0)+80>>2];i[e>>0]=0;if(l[(k[q>>2]|0)+231>>0]|0?k[(k[r>>2]|0)+56>>2]|0:0){i[f>>0]=0;if(k[g>>2]|0){k[k[g>>2]>>2]=k[(k[r>>2]|0)+80>>2];k[k[h>>2]>>2]=(k[(k[r>>2]|0)+84>>2]|0)-1}nM(0,k[(k[r>>2]|0)+72>>2]|0,k[(k[r>>2]|0)+76>>2]|0,m,(k[r>>2]|0)+88|0,(k[r>>2]|0)+84|0,f);s=(i[f>>0]|0)!=0;k[(s?k[r>>2]|0:k[r>>2]|0)+80>>2]=s?0:k[m>>2]|0}else j=6;do if((j|0)==6){k[n>>2]=(k[(k[r>>2]|0)+72>>2]|0)+(k[(k[r>>2]|0)+76>>2]|0);while(1){while(1){if(!(i[k[m>>2]>>0]|i[e>>0]))break;d=k[m>>2]|0;k[m>>2]=d+1;i[e>>0]=i[d>>0]&128}if(!(k[(k[r>>2]|0)+52>>2]|0))break;if((k[m>>2]|0)>>>0<((k[(k[r>>2]|0)+40>>2]|0)+(k[(k[r>>2]|0)+48>>2]|0)|0)>>>0)break;d=oM(k[r>>2]|0)|0;k[s>>2]=d;if(k[s>>2]|0){j=13;break}}if((j|0)==13){k[p>>2]=k[s>>2];s=k[p>>2]|0;u=t;return s|0}k[m>>2]=(k[m>>2]|0)+1;if(k[g>>2]|0){k[k[g>>2]>>2]=k[(k[r>>2]|0)+80>>2];k[k[h>>2]>>2]=(k[m>>2]|0)-(k[(k[r>>2]|0)+80>>2]|0)-1}while(1){if((k[m>>2]|0)>>>0<(k[n>>2]|0)>>>0)a=(i[k[m>>2]>>0]|0)==0;else a=0;b=k[m>>2]|0;if(!a)break;k[m>>2]=b+1}a=k[r>>2]|0;if(b>>>0>=(k[n>>2]|0)>>>0){k[a+80>>2]=0;break}n=pM(a,k[m>>2]|0,10)|0;k[s>>2]=n;if(!(k[s>>2]|0)){n=k[m>>2]|0;n=n+(lM(k[m>>2]|0,o)|0)|0;k[(k[r>>2]|0)+80>>2]=n;q=(i[(k[q>>2]|0)+231>>0]|0)!=0;n=o;m=k[n>>2]|0;n=k[n+4>>2]|0;s=(k[r>>2]|0)+88|0;j=s;h=k[j>>2]|0;j=k[j+4>>2]|0;o=i0(h|0,j|0,m|0,n|0)|0;r=M;n=h0(h|0,j|0,m|0,n|0)|0;k[s>>2]=q?n:o;k[s+4>>2]=q?M:r}}while(0);k[p>>2]=0;s=k[p>>2]|0;u=t;return s|0}function iM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;j=s+32|0;m=s+28|0;n=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;e=s+8|0;f=s+4|0;g=s;h=s+36|0;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=k[k[n>>2]>>2];k[q>>2]=k[k[o>>2]>>2];k[e>>2]=(k[p>>2]|0)+(k[q>>2]|0);k[f>>2]=0;k[g>>2]=k[p>>2];while(1){i[h>>0]=0;while(1){if((k[g>>2]|0)>>>0>=(k[e>>2]|0)>>>0)break;if(!((i[h>>0]|i[k[g>>2]>>0])&254))break;d=k[g>>2]|0;k[g>>2]=d+1;i[h>>0]=i[d>>0]&128}a=(k[g>>2]|0)-(k[p>>2]|0)|0;if((k[j>>2]|0)==(k[f>>2]|0)){r=7;break}k[q>>2]=(k[q>>2]|0)-a;k[p>>2]=k[g>>2];if(!(k[q>>2]|0))break;k[g>>2]=(k[p>>2]|0)+1;a=k[g>>2]|0;if(l[k[g>>2]>>0]&128|0)a=mM(a,f)|0;else{k[f>>2]=l[a>>0];a=1}k[g>>2]=(k[g>>2]|0)+a}if((r|0)==7)k[q>>2]=a;if(!(k[m>>2]|0)){p=k[p>>2]|0;r=k[n>>2]|0;k[r>>2]=p;q=k[q>>2]|0;r=k[o>>2]|0;k[r>>2]=q;u=s;return}if(((k[p>>2]|0)+(k[q>>2]|0)|0)==(k[e>>2]|0)){p=k[p>>2]|0;r=k[n>>2]|0;k[r>>2]=p;q=k[q>>2]|0;r=k[o>>2]|0;k[r>>2]=q;u=s;return}w0((k[p>>2]|0)+(k[q>>2]|0)|0,0,(k[e>>2]|0)-((k[p>>2]|0)+(k[q>>2]|0))|0)|0;p=k[p>>2]|0;r=k[n>>2]|0;k[r>>2]=p;q=k[q>>2]|0;r=k[o>>2]|0;k[r>>2]=q;u=s;return}function jM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=u;u=u+48|0;l=o+8|0;q=o+40|0;p=o+36|0;m=o+32|0;n=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o;r=l;k[r>>2]=a;k[r+4>>2]=b;k[q>>2]=c;k[p>>2]=d;k[m>>2]=e;k[n>>2]=0;k[f>>2]=0;k[g>>2]=k[q>>2];k[h>>2]=(k[q>>2]|0)+(k[p>>2]|0);if((i[k[g>>2]>>0]|0)!=1){if((i[k[g>>2]>>0]|0)==2){q=l;q=XL((k[m>>2]|0)+(k[n>>2]|0)|0,k[q>>2]|0,k[q+4>>2]|0)|0;k[n>>2]=(k[n>>2]|0)+q;q=k[m>>2]|0;r=k[n>>2]|0;k[n>>2]=r+1;i[q+r>>0]=2;k[f>>2]=1}kM(0,g)}while(1){if((k[g>>2]|0)>>>0>=(k[h>>2]|0)>>>0)break;if((i[k[g>>2]>>0]|0)!=1)break;k[g>>2]=(k[g>>2]|0)+1;r=lM(k[g>>2]|0,j)|0;k[g>>2]=(k[g>>2]|0)+r;if((i[k[g>>2]>>0]|0)==2){if(!(k[f>>2]|0)){r=l;r=XL((k[m>>2]|0)+(k[n>>2]|0)|0,k[r>>2]|0,k[r+4>>2]|0)|0;k[n>>2]=(k[n>>2]|0)+r;k[f>>2]=1}r=k[m>>2]|0;q=k[n>>2]|0;k[n>>2]=q+1;i[r+q>>0]=1;q=j;q=XL((k[m>>2]|0)+(k[n>>2]|0)|0,k[q>>2]|0,k[q+4>>2]|0)|0;k[n>>2]=(k[n>>2]|0)+q;q=k[m>>2]|0;r=k[n>>2]|0;k[n>>2]=r+1;i[q+r>>0]=2}kM(0,g)}if(!(k[f>>2]|0)){r=k[n>>2]|0;u=o;return r|0}q=k[m>>2]|0;r=k[n>>2]|0;k[n>>2]=r+1;i[q+r>>0]=0;r=k[n>>2]|0;u=o;return r|0}function kM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+16|0;d=j+12|0;e=j+8|0;f=j+20|0;g=j+4|0;h=j;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[d>>2]>>2];i[f>>0]=0;while(1){if(!(254&(i[k[e>>2]>>0]|i[f>>0])))break;b=k[e>>2]|0;k[e>>2]=b+1;i[f>>0]=i[b>>0]&128}if(!(k[c>>2]|0)){g=k[e>>2]|0;h=k[d>>2]|0;k[h>>2]=g;u=j;return}k[g>>2]=(k[e>>2]|0)-(k[k[d>>2]>>2]|0);k[h>>2]=k[k[c>>2]>>2];r0(k[h>>2]|0,k[k[d>>2]>>2]|0,k[g>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+(k[g>>2]|0);k[k[c>>2]>>2]=k[h>>2];g=k[e>>2]|0;h=k[d>>2]|0;k[h>>2]=g;u=j;return}function lM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+48|0;c=m+36|0;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+8|0;j=m+16|0;l=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[d>>2];a=k[d>>2]|0;k[d>>2]=a+1;k[g>>2]=i[a>>0];a=k[g>>2]|0;if(!(k[g>>2]&128)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=1;l=k[c>>2]|0;u=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[g>>2]=a&127|i[b>>0]<<7;a=k[g>>2]|0;if(!(k[g>>2]&16384)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=2;l=k[c>>2]|0;u=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[g>>2]=a&16383|i[b>>0]<<14;a=k[g>>2]|0;if(!(k[g>>2]&2097152)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=3;l=k[c>>2]|0;u=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[g>>2]=a&2097151|i[b>>0]<<21;a=k[g>>2]|0;if(!(k[g>>2]&268435456)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=4;l=k[c>>2]|0;u=m;return l|0}g=h;k[g>>2]=a&268435455;k[g+4>>2]=0;k[j>>2]=28;while(1){if((k[j>>2]|0)>63)break;g=k[d>>2]|0;k[d>>2]=g+1;g=i[g>>0]|0;b=l;k[b>>2]=g;k[b+4>>2]=((g|0)<0)<<31>>31;b=t0(k[l>>2]&127|0,0,k[j>>2]|0)|0;g=h;b=i0(k[g>>2]|0,k[g+4>>2]|0,b|0,M|0)|0;g=h;k[g>>2]=b;k[g+4>>2]=M;if((k[l>>2]&128|0)==0&0==0)break;k[j>>2]=(k[j>>2]|0)+7}j=k[h+4>>2]|0;l=k[e>>2]|0;k[l>>2]=k[h>>2];k[l+4>>2]=j;k[c>>2]=(k[d>>2]|0)-(k[f>>2]|0);l=k[c>>2]|0;u=m;return l|0}function mM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=i[b>>0];b=k[f>>2]&127;a=k[d>>2]|0;k[d>>2]=a+1;k[f>>2]=b|i[a>>0]<<7;a=k[f>>2]|0;if(!(k[f>>2]&16384)){k[k[e>>2]>>2]=a;k[c>>2]=2;f=k[c>>2]|0;u=g;return f|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&16383|i[b>>0]<<14;a=k[f>>2]|0;if(!(k[f>>2]&2097152)){k[k[e>>2]>>2]=a;k[c>>2]=3;f=k[c>>2]|0;u=g;return f|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&2097151|i[b>>0]<<21;a=k[f>>2]|0;if(!(k[f>>2]&268435456)){k[k[e>>2]>>2]=a;k[c>>2]=4;f=k[c>>2]|0;u=g;return f|0}else{k[f>>2]=a&268435455;k[k[e>>2]>>2]=k[f>>2]|(i[k[d>>2]>>0]&15)<<28;k[c>>2]=5;f=k[c>>2]|0;u=g;return f|0}return 0}function nM(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+80|0;y=B+76|0;z=B+72|0;A=B+68|0;h=B+64|0;j=B+60|0;l=B+56|0;m=B+52|0;n=B+48|0;o=B+16|0;p=B+44|0;q=B+40|0;r=B+36|0;s=B+32|0;t=B+8|0;v=B+28|0;w=B;x=B+24|0;k[y>>2]=a;k[z>>2]=b;k[A>>2]=c;k[h>>2]=d;k[j>>2]=e;k[l>>2]=f;k[m>>2]=g;k[n>>2]=k[k[h>>2]>>2];if(k[n>>2]|0){k[v>>2]=k[y>>2]|0?-1:1;rM(n,k[z>>2]|0,w);A=k[v>>2]|0;y=w;y=B0(A|0,((A|0)<0)<<31>>31|0,k[y>>2]|0,k[y+4>>2]|0)|0;A=k[j>>2]|0;g=A;y=h0(k[g>>2]|0,k[g+4>>2]|0,y|0,M|0)|0;k[A>>2]=y;k[A+4>>2]=M;if((k[n>>2]|0)==(k[z>>2]|0))i[k[m>>2]>>0]=1;else{k[x>>2]=k[n>>2];sM(k[z>>2]|0,n);k[k[l>>2]>>2]=(k[x>>2]|0)-(k[n>>2]|0)}k[k[h>>2]>>2]=k[n>>2];u=B;return}g=o;k[g>>2]=0;k[g+4>>2]=0;k[p>>2]=0;k[q>>2]=k[z>>2];k[r>>2]=(k[z>>2]|0)+(k[A>>2]|0);k[s>>2]=1;while(1){if((k[q>>2]|0)>>>0>=(k[r>>2]|0)>>>0)break;A=lM(k[q>>2]|0,t)|0;k[q>>2]=(k[q>>2]|0)+A;A=k[s>>2]|0;z=t;z=B0(A|0,((A|0)<0)<<31>>31|0,k[z>>2]|0,k[z+4>>2]|0)|0;A=o;z=i0(k[A>>2]|0,k[A+4>>2]|0,z|0,M|0)|0;A=o;k[A>>2]=z;k[A+4>>2]=M;k[p>>2]=k[q>>2];qM(0,q);while(1){if((k[q>>2]|0)>>>0>=(k[r>>2]|0)>>>0)break;if(i[k[q>>2]>>0]|0)break;k[q>>2]=(k[q>>2]|0)+1}k[s>>2]=k[y>>2]|0?-1:1}k[k[l>>2]>>2]=(k[r>>2]|0)-(k[p>>2]|0);k[k[h>>2]>>2]=k[p>>2];y=o;z=k[y+4>>2]|0;A=k[j>>2]|0;k[A>>2]=k[y>>2];k[A+4>>2]=z;u=B;return}function oM(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e+8|0;b=e+4|0;d=e;k[c>>2]=a;if(((k[(k[c>>2]|0)+44>>2]|0)-(k[(k[c>>2]|0)+48>>2]|0)|0)<4096)a=(k[(k[c>>2]|0)+44>>2]|0)-(k[(k[c>>2]|0)+48>>2]|0)|0;else a=4096;k[b>>2]=a;a=LJ(k[(k[c>>2]|0)+52>>2]|0,(k[(k[c>>2]|0)+40>>2]|0)+(k[(k[c>>2]|0)+48>>2]|0)|0,k[b>>2]|0,k[(k[c>>2]|0)+48>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){d=k[d>>2]|0;u=e;return d|0}a=(k[c>>2]|0)+48|0;k[a>>2]=(k[a>>2]|0)+(k[b>>2]|0);a=(k[(k[c>>2]|0)+40>>2]|0)+(k[(k[c>>2]|0)+48>>2]|0)|0;b=a+20|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0));if((k[(k[c>>2]|0)+48>>2]|0)!=(k[(k[c>>2]|0)+44>>2]|0)){d=k[d>>2]|0;u=e;return d|0}KJ(k[(k[c>>2]|0)+52>>2]|0)|0;k[(k[c>>2]|0)+52>>2]=0;k[(k[c>>2]|0)+48>>2]=0;d=k[d>>2]|0;u=e;return d|0}function pM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if(!((k[g>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)!=0:0)){a=5;break}if(((k[e>>2]|0)-(k[(k[d>>2]|0)+40>>2]|0)+(k[f>>2]|0)|0)<=(k[(k[d>>2]|0)+48>>2]|0)){a=5;break}c=oM(k[d>>2]|0)|0;k[g>>2]=c}if((a|0)==5){u=h;return k[g>>2]|0}return 0}function qM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+16|0;d=j+12|0;e=j+8|0;f=j+20|0;g=j+4|0;h=j;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[d>>2]>>2];i[f>>0]=0;while(1){b=(i[k[e>>2]>>0]|i[f>>0]|0)!=0;a=k[e>>2]|0;k[e>>2]=a+1;if(!b)break;i[f>>0]=i[a>>0]&128}if(!(k[c>>2]|0)){g=k[e>>2]|0;h=k[d>>2]|0;k[h>>2]=g;u=j;return}k[g>>2]=(k[e>>2]|0)-(k[k[d>>2]>>2]|0);k[h>>2]=k[k[c>>2]>>2];r0(k[h>>2]|0,k[k[d>>2]>>2]|0,k[g>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+(k[g>>2]|0);k[k[c>>2]>>2]=k[h>>2];g=k[e>>2]|0;h=k[d>>2]|0;k[h>>2]=g;u=j;return}function rM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=(k[k[d>>2]>>2]|0)+-2;while(1){if((k[h>>2]|0)>>>0<(k[e>>2]|0)>>>0)break;if(!(i[k[h>>2]>>0]&128))break;k[h>>2]=(k[h>>2]|0)+-1}k[h>>2]=(k[h>>2]|0)+1;k[k[d>>2]>>2]=k[h>>2];lM(k[h>>2]|0,g)|0;e=g;g=k[e+4>>2]|0;h=k[f>>2]|0;k[h>>2]=k[e>>2];k[h+4>>2]=g;u=j;return}function sM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;c=h+8|0;d=h+4|0;e=h;f=h+12|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[k[d>>2]>>2]|0)+-2;i[f>>0]=0;do{if((k[e>>2]|0)>>>0<=(k[c>>2]|0)>>>0)break;b=k[e>>2]|0;k[e>>2]=b+-1;b=i[b>>0]|0;i[f>>0]=b}while(!(b<<24>>24|0));while(1){if((k[e>>2]|0)>>>0>(k[c>>2]|0)>>>0)b=(i[k[e>>2]>>0]&128|i[f>>0]|0)!=0;else b=0;a=k[e>>2]|0;if(!b)break;k[e>>2]=a+-1;i[f>>0]=i[a>>0]|0}if(a>>>0<=(k[c>>2]|0)>>>0){if((i[f>>0]|0)==0?(k[k[d>>2]>>2]|0)>>>0>((k[e>>2]|0)+2|0)>>>0:0)g=11}else g=11;if((g|0)==11)k[e>>2]=(k[e>>2]|0)+2;do{g=k[e>>2]|0;k[e>>2]=g+1}while((i[g>>0]&128|0)!=0);k[k[d>>2]>>2]=k[e>>2];u=h;return}function tM(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;n=s+8|0;q=s+40|0;l=s+36|0;m=s;r=s+32|0;g=s+28|0;h=s+24|0;o=s+20|0;j=s+16|0;p=s+12|0;k[l>>2]=a;a=m;k[a>>2]=b;k[a+4>>2]=c;k[r>>2]=d;k[g>>2]=e;k[h>>2]=f;a=k[l>>2]|0;if(k[(k[l>>2]|0)+244>>2]|0){n=m;n=SJ(k[a+244>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[o>>2]=n}else{if(0==(k[a+240>>2]|0)?(k[n>>2]=k[(k[l>>2]|0)+20>>2],n=xf(45288,n)|0,k[(k[l>>2]|0)+240>>2]=n,0==(k[(k[l>>2]|0)+240>>2]|0)):0){k[q>>2]=7;r=k[q>>2]|0;u=s;return r|0}n=m;n=HJ(k[(k[l>>2]|0)+12>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[(k[l>>2]|0)+240>>2]|0,45300,k[n>>2]|0,k[n+4>>2]|0,0,(k[l>>2]|0)+244|0)|0;k[o>>2]=n}if((k[o>>2]|0)==0?(n=RJ(k[(k[l>>2]|0)+244>>2]|0)|0,k[j>>2]=n,k[k[g>>2]>>2]=k[j>>2],k[r>>2]|0):0){n=ze((k[j>>2]|0)+20|0)|0;k[p>>2]=n;if(k[p>>2]|0){if((k[h>>2]|0)!=0&(k[j>>2]|0)>16384){k[j>>2]=4096;k[k[h>>2]>>2]=k[j>>2]}a=LJ(k[(k[l>>2]|0)+244>>2]|0,k[p>>2]|0,k[j>>2]|0,0)|0;k[o>>2]=a;a=(k[p>>2]|0)+(k[j>>2]|0)|0;b=a+20|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0));if(k[o>>2]|0){ie(k[p>>2]|0);k[p>>2]=0}}else k[o>>2]=7;k[k[r>>2]>>2]=k[p>>2]}k[q>>2]=k[o>>2];r=k[q>>2]|0;u=s;return r|0}function uM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;o=q+36|0;g=q+32|0;p=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;m=q+12|0;e=q+8|0;f=q+4|0;n=q;k[g>>2]=a;k[p>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=k[(k[p>>2]|0)+4>>2];k[j>>2]=0;a:while(1){if(k[(k[p>>2]|0)+28>>2]|0){a=12;break}if((k[j>>2]|0)>=(k[(k[p>>2]|0)+4>>2]|0)){a=12;break}k[e>>2]=0;k[f>>2]=k[(k[k[p>>2]>>2]|0)+(k[j>>2]<<2)>>2];do{d=cM(k[g>>2]|0,k[f>>2]|0,0)|0;k[n>>2]=d;if(k[n>>2]|0){a=6;break a}if(!(k[h>>2]|0))break;d=vM(k[f>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[e>>2]=d}while((d|0)<0);if(k[e>>2]|0?(l[(k[f>>2]|0)+4>>0]|0|0)!=0:0)bM(k[f>>2]|0);k[j>>2]=(k[j>>2]|0)+1}if((a|0)==6){k[o>>2]=k[n>>2];p=k[o>>2]|0;u=q;return p|0}else if((a|0)==12){eM(k[k[p>>2]>>2]|0,k[m>>2]|0,k[m>>2]|0,217);k[o>>2]=0;p=k[o>>2]|0;u=q;return p|0}return 0}function vM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;k[g>>2]=0;if(!(k[(k[e>>2]|0)+40>>2]|0)){g=k[g>>2]|0;u=h;return g|0}b=k[(k[e>>2]|0)+64>>2]|0;a=k[d>>2]|0;if((k[(k[e>>2]|0)+60>>2]|0)>(k[f>>2]|0)){d=R_(b,a,k[f>>2]|0)|0;k[g>>2]=d}else{d=R_(b,a,k[(k[e>>2]|0)+60>>2]|0)|0;k[g>>2]=d}if(k[g>>2]|0){g=k[g>>2]|0;u=h;return g|0}k[g>>2]=(k[(k[e>>2]|0)+60>>2]|0)-(k[f>>2]|0);g=k[g>>2]|0;u=h;return g|0}function wM(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+96|0;E=F+88|0;j=F+84|0;l=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;p=F+64|0;q=F+60|0;r=F+56|0;s=F+52|0;t=F+48|0;v=F+44|0;w=F+40|0;x=F+36|0;y=F+16|0;z=F+8|0;A=F;B=F+32|0;C=F+28|0;D=F+24|0;k[E>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[r>>2]=i;k[s>>2]=0;k[t>>2]=0;if(((k[m>>2]|0)<0?k[(k[E>>2]|0)+252>>2]|0:0)?(k[w>>2]=0,i=xM(k[E>>2]|0,k[l>>2]|0,k[n>>2]|0,k[o>>2]|0,(k[p>>2]|0?1:(k[q>>2]|0)!=0)&1,w)|0,k[s>>2]=i,(k[s>>2]|0)==0&(k[w>>2]|0)!=0):0){i=yM(k[r>>2]|0,k[w>>2]|0)|0;k[s>>2]=i}a:do if((k[m>>2]|0)!=-1){if(!(k[s>>2]|0)){i=zM(k[E>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,t)|0;k[s>>2]=i}while(1){if(k[s>>2]|0)break a;i=Ls(k[t>>2]|0)|0;k[s>>2]=i;if(100!=(i|0))break a;k[x>>2]=0;h=tJ(k[t>>2]|0,1)|0;i=y;k[i>>2]=h;k[i+4>>2]=M;i=tJ(k[t>>2]|0,2)|0;h=z;k[h>>2]=i;k[h+4>>2]=M;h=tJ(k[t>>2]|0,3)|0;i=A;k[i>>2]=h;k[i+4>>2]=M;i=qJ(k[t>>2]|0,4)|0;k[B>>2]=i;i=pJ(k[t>>2]|0,4)|0;k[C>>2]=i;i=y;if(((k[i>>2]|0)!=0|(k[i+4>>2]|0)!=0)&(k[n>>2]|0)!=0){k[D>>2]=k[p>>2]|0?z:0;i=AM(k[E>>2]|0,k[n>>2]|0,k[o>>2]|0,k[C>>2]|0,k[B>>2]|0,y,k[D>>2]|0)|0;k[s>>2]=i;if(k[s>>2]|0)break a;if((k[p>>2]|0)==0&(k[q>>2]|0)==0){g=y;h=k[g+4>>2]|0;i=z;k[i>>2]=k[g>>2];k[i+4>>2]=h}}g=y;h=z;i=A;i=BM((k[(k[r>>2]|0)+4>>2]|0)+1|0,((k[p>>2]|0)==0?(k[q>>2]|0)==0:0)&1,k[g>>2]|0,k[g+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0,k[C>>2]|0,k[B>>2]|0,x)|0;k[s>>2]=i;if(k[s>>2]|0)break a;i=yM(k[r>>2]|0,k[x>>2]|0)|0;k[s>>2]=i}}while(0);E=Is(k[t>>2]|0)|0;k[v>>2]=E;if((k[s>>2]|0)!=101){E=k[s>>2]|0;u=F;return E|0}k[s>>2]=k[v>>2];E=k[s>>2]|0;u=F;return E|0}function xM(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;y=u;u=u+80|0;A=y+64|0;z=y+60|0;v=y+56|0;w=y+52|0;g=y+48|0;h=y+44|0;i=y+40|0;j=y+36|0;l=y+32|0;m=y+28|0;n=y+24|0;o=y+20|0;p=y+16|0;q=y+12|0;r=y+8|0;s=y+4|0;t=y;k[A>>2]=a;k[z>>2]=b;k[v>>2]=c;k[w>>2]=d;k[g>>2]=e;k[h>>2]=f;k[i>>2]=0;k[l>>2]=0;k[m>>2]=0;k[n>>2]=0;k[o>>2]=(k[(k[A>>2]|0)+252>>2]|0)+((k[z>>2]|0)*24|0)+4;if(k[g>>2]|0){k[p>>2]=0;k[j>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[j>>2]|0))break;k[q>>2]=k[(k[j>>2]|0)+12>>2];k[r>>2]=k[(k[j>>2]|0)+16>>2];if(k[w>>2]|0){if((k[r>>2]|0)>=(k[w>>2]|0)?0==(R_(k[q>>2]|0,k[v>>2]|0,k[w>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((k[m>>2]|0)==(k[p>>2]|0)){k[p>>2]=(k[p>>2]|0)+16;A=fg(k[l>>2]|0,k[p>>2]<<2)|0;k[s>>2]=A;if(!(k[s>>2]|0)){x=9;break}k[l>>2]=k[s>>2]}f=k[j>>2]|0;z=k[l>>2]|0;A=k[m>>2]|0;k[m>>2]=A+1;k[z+(A<<2)>>2]=f}k[j>>2]=k[k[j>>2]>>2]}if((x|0)==9){k[n>>2]=7;k[m>>2]=0}if((k[m>>2]|0)>1)i$(k[l>>2]|0,k[m>>2]|0,4,218)}else{A=TK(k[o>>2]|0,k[v>>2]|0,k[w>>2]|0)|0;k[j>>2]=A;if(k[j>>2]|0){k[l>>2]=j;k[m>>2]=1}}do if((k[m>>2]|0)>0){k[t>>2]=96+((k[m>>2]|0)+1<<2);A=ze(k[t>>2]|0)|0;k[i>>2]=A;if(k[i>>2]|0){w0(k[i>>2]|0,0,k[t>>2]|0)|0;k[k[i>>2]>>2]=2147483647;k[(k[i>>2]|0)+56>>2]=(k[i>>2]|0)+96;r0(k[(k[i>>2]|0)+56>>2]|0,k[l>>2]|0,k[m>>2]<<2|0)|0;break}else{k[n>>2]=7;break}}while(0);if(!(k[g>>2]|0)){z=k[i>>2]|0;A=k[h>>2]|0;k[A>>2]=z;A=k[n>>2]|0;u=y;return A|0}ie(k[l>>2]|0);z=k[i>>2]|0;A=k[h>>2]|0;k[A>>2]=z;A=k[n>>2]|0;u=y;return A|0}function yM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;do if(!((k[(k[d>>2]|0)+4>>2]|0)%16|0)){k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+16<<2;g=fg(k[k[d>>2]>>2]|0,k[g>>2]|0)|0;k[f>>2]=g;if(k[f>>2]|0){k[k[d>>2]>>2]=k[f>>2];break}PL(k[e>>2]|0);k[c>>2]=7;g=k[c>>2]|0;u=h;return g|0}while(0);e=k[e>>2]|0;f=k[k[d>>2]>>2]|0;d=(k[d>>2]|0)+4|0;g=k[d>>2]|0;k[d>>2]=g+1;k[f+(g<<2)>>2]=e;k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}function zM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;h=n+24|0;i=n+20|0;j=n+16|0;l=n+12|0;m=n+8|0;f=n+4|0;g=n;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[g>>2]=0;a=k[h>>2]|0;if((k[l>>2]|0)<0){l=CL(a,13,g,0)|0;k[f>>2]=l;if(!(k[f>>2]|0)){l=k[g>>2]|0;e=FL(k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,0)|0;AJ(l,1,e,M)|0;e=k[g>>2]|0;l=FL(k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,1023)|0;AJ(e,2,l,M)|0}}else{e=CL(a,12,g,0)|0;k[f>>2]=e;if(!(k[f>>2]|0)){e=k[g>>2]|0;l=FL(k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;AJ(e,1,l,M)|0}}k[k[m>>2]>>2]=k[g>>2];u=n;return k[f>>2]|0}function AM(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+48|0;r=v+40|0;s=v+36|0;t=v+32|0;h=v+28|0;i=v+24|0;j=v+20|0;m=v+16|0;n=v+12|0;o=v+8|0;p=v+4|0;q=v;k[r>>2]=a;k[s>>2]=b;k[t>>2]=c;k[h>>2]=d;k[i>>2]=e;k[j>>2]=f;k[m>>2]=g;k[n>>2]=0;a=k[h>>2]|0;if((l[k[h>>2]>>0]|0)&128|0)mM(a,o)|0;else k[o>>2]=l[a>>0];i=CM(k[s>>2]|0,k[t>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[m>>2]|0)|0;k[n>>2]=i;if(!((k[n>>2]|0)==0&(k[o>>2]|0)>1)){t=k[n>>2]|0;u=v;return t|0}k[p>>2]=0;k[q>>2]=0;if((k[j>>2]|0)!=0&(k[m>>2]|0)!=0?(i=k[j>>2]|0,o=k[m>>2]|0,(k[i>>2]|0)!=(k[o>>2]|0)?1:(k[i+4>>2]|0)!=(k[o+4>>2]|0)):0){o=k[j>>2]|0;o=tM(k[r>>2]|0,k[o>>2]|0,k[o+4>>2]|0,p,q,0)|0;k[n>>2]=o;if(!(k[n>>2]|0)){o=AM(k[r>>2]|0,k[s>>2]|0,k[t>>2]|0,k[p>>2]|0,k[q>>2]|0,k[j>>2]|0,0)|0;k[n>>2]=o}ie(k[p>>2]|0);k[j>>2]=0;k[p>>2]=0}if(!(k[n>>2]|0)){o=k[j>>2]|0?k[j>>2]|0:k[m>>2]|0;o=tM(k[r>>2]|0,k[o>>2]|0,k[o+4>>2]|0,p,q,0)|0;k[n>>2]=o}if(!(k[n>>2]|0)){t=AM(k[r>>2]|0,k[s>>2]|0,k[t>>2]|0,k[p>>2]|0,k[q>>2]|0,k[j>>2]|0,k[m>>2]|0)|0;k[n>>2]=t}ie(k[p>>2]|0);t=k[n>>2]|0;u=v;return t|0}function BM(a,b,c,d,e,f,g,h,j,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+64|0;n=z+52|0;o=z+48|0;p=z+44|0;q=z+16|0;r=z+8|0;s=z;t=z+40|0;v=z+36|0;w=z+32|0;x=z+28|0;y=z+24|0;k[o>>2]=a;k[p>>2]=b;b=q;k[b>>2]=c;k[b+4>>2]=d;d=r;k[d>>2]=e;k[d+4>>2]=f;f=s;k[f>>2]=g;k[f+4>>2]=h;k[t>>2]=j;k[v>>2]=l;k[w>>2]=m;k[y>>2]=0;l=q;if((k[l>>2]|0)==0&(k[l+4>>2]|0)==0)k[y>>2]=(k[v>>2]|0)+20;l=ze(96+(k[y>>2]|0)|0)|0;k[x>>2]=l;if(!(k[x>>2]|0)){k[n>>2]=7;y=k[n>>2]|0;u=z;return y|0}a=k[x>>2]|0;b=a+96|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[x>>2]>>2]=k[o>>2];i[(k[x>>2]|0)+4>>0]=(k[p>>2]|0)!=0;l=q;p=k[l+4>>2]|0;o=(k[x>>2]|0)+8|0;k[o>>2]=k[l>>2];k[o+4>>2]=p;o=r;r=k[o+4>>2]|0;p=(k[x>>2]|0)+16|0;k[p>>2]=k[o>>2];k[p+4>>2]=r;p=s;r=k[p+4>>2]|0;s=(k[x>>2]|0)+24|0;k[s>>2]=k[p>>2];k[s+4>>2]=r;if(k[y>>2]|0){k[(k[x>>2]|0)+40>>2]=(k[x>>2]|0)+96;i[(k[x>>2]|0)+5>>0]=1;k[(k[x>>2]|0)+44>>2]=k[v>>2];r0(k[(k[x>>2]|0)+40>>2]|0,k[t>>2]|0,k[v>>2]|0)|0;a=(k[(k[x>>2]|0)+40>>2]|0)+(k[v>>2]|0)|0;b=a+20|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0))}else{v=q;v=h0(k[v>>2]|0,k[v+4>>2]|0,1,0)|0;y=(k[x>>2]|0)+32|0;k[y>>2]=v;k[y+4>>2]=M}k[k[w>>2]>>2]=k[x>>2];k[n>>2]=0;y=k[n>>2]|0;u=z;return y|0} +function Sg(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if((k[(k[c>>2]|0)+16>>2]|0)>>>0<=(k[(k[c>>2]|0)+4>>2]|0)>>>0)break;a=k[(k[c>>2]|0)+20+28>>2]|0;k[d>>2]=a;if(l[a+14>>0]|0|0)break;Tg(k[d>>2]|0)|0;Ug(k[d>>2]|0,1)}if(k[(k[b>>2]|0)+40>>2]|0){u=e;return}if(!(k[(k[b>>2]|0)+56>>2]|0)){u=e;return}ie(k[(k[b>>2]|0)+56>>2]|0);k[(k[b>>2]|0)+52>>2]=0;k[(k[b>>2]|0)+56>>2]=0;u=e;return}function Tg(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;b=c+4|0;d=c;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+20>>2];k[(k[(k[b>>2]|0)+28>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];k[(k[(k[b>>2]|0)+24>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];k[(k[b>>2]|0)+24>>2]=0;k[(k[b>>2]|0)+28>>2]=0;i[(k[b>>2]|0)+12>>0]=1;a=(k[d>>2]|0)+36|0;k[a>>2]=(k[a>>2]|0)+-1;u=c;return k[b>>2]|0}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;c=g+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+20>>2];k[h>>2]=((k[(k[c>>2]|0)+8>>2]|0)>>>0)%((k[(k[e>>2]|0)+44>>2]|0)>>>0)|0;k[f>>2]=(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2);while(1){a=(k[k[f>>2]>>2]|0)+16|0;if((k[k[f>>2]>>2]|0)==(k[c>>2]|0))break;k[f>>2]=a}k[k[f>>2]>>2]=k[a>>2];h=(k[e>>2]|0)+40|0;k[h>>2]=(k[h>>2]|0)+-1;if(!(k[d>>2]|0)){u=g;return}Vg(k[c>>2]|0);u=g;return}function Vg(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+20>>2];if(i[(k[b>>2]|0)+13>>0]|0){k[(k[b>>2]|0)+16>>2]=k[(k[c>>2]|0)+52>>2];k[(k[c>>2]|0)+52>>2]=k[b>>2]}else Wg(k[k[b>>2]>>2]|0);if(!(k[(k[c>>2]|0)+16>>2]|0)){u=d;return}c=(k[k[c>>2]>>2]|0)+16|0;k[c>>2]=(k[c>>2]|0)+-1;u=d;return}function Wg(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[b>>2]|0)){u=e;return}if((k[b>>2]|0)>>>0>=(k[13668]|0)>>>0?(k[b>>2]|0)>>>0<(k[13669]|0)>>>0:0){Dd(k[13670]|0);je(1,1);k[c>>2]=k[b>>2];k[k[c>>2]>>2]=k[13671];k[13671]=k[c>>2];k[13672]=(k[13672]|0)+1;k[13673]=(k[13672]|0)<(k[13667]|0)&1;Ed(k[13670]|0);u=e;return}k[d>>2]=0;c=Ud(k[b>>2]|0)|0;k[d>>2]=c;Dd(k[13670]|0);je(2,k[d>>2]|0);Ed(k[13670]|0);ie(k[b>>2]|0);u=e;return}function Xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[c>>2]=a;k[d>>2]=b;if(((k[(k[c>>2]|0)+32>>2]|0)-(k[d>>2]|0)|0)>>>0<(k[(k[c>>2]|0)+44>>2]|0)>>>0){k[e>>2]=((k[d>>2]|0)>>>0)%((k[(k[c>>2]|0)+44>>2]|0)>>>0)|0;k[f>>2]=((k[(k[c>>2]|0)+32>>2]|0)>>>0)%((k[(k[c>>2]|0)+44>>2]|0)>>>0)|0}else{k[e>>2]=((k[(k[c>>2]|0)+44>>2]|0)>>>0)/2|0;k[f>>2]=(k[e>>2]|0)-1}while(1){k[g>>2]=(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2);while(1){b=k[k[g>>2]>>2]|0;k[h>>2]=b;if(!b)break;if((k[(k[h>>2]|0)+8>>2]|0)>>>0<(k[d>>2]|0)>>>0){k[g>>2]=(k[h>>2]|0)+16;continue}b=(k[c>>2]|0)+40|0;k[b>>2]=(k[b>>2]|0)+-1;k[k[g>>2]>>2]=k[(k[h>>2]|0)+16>>2];if(!(i[(k[h>>2]|0)+12>>0]|0))Tg(k[h>>2]|0)|0;Vg(k[h>>2]|0)}if((k[e>>2]|0)==(k[f>>2]|0))break;k[e>>2]=(((k[e>>2]|0)+1|0)>>>0)%((k[(k[c>>2]|0)+44>>2]|0)>>>0)|0}u=j;return}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=u;u=u+32|0;g=j+20|0;l=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;h=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[l>>2];k[h>>2]=0;k[h>>2]=k[(k[(k[f>>2]|0)+48>>2]|0)+((((k[d>>2]|0)>>>0)%((k[(k[f>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(k[h>>2]|0)b=(k[(k[h>>2]|0)+8>>2]|0)!=(k[d>>2]|0);else b=0;a=k[h>>2]|0;if(!b)break;k[h>>2]=k[a+16>>2]}if(a|0){a=k[h>>2]|0;if(i[(k[h>>2]|0)+12>>0]|0){k[g>>2]=a;l=k[g>>2]|0;u=j;return l|0}else{l=Tg(a)|0;k[g>>2]=l;l=k[g>>2]|0;u=j;return l|0}}else if(k[e>>2]|0){l=Zg(k[f>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=l;l=k[g>>2]|0;u=j;return l|0}else{k[g>>2]=0;l=k[g>>2]|0;u=j;return l|0}return 0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+48|0;f=o+32|0;g=o+28|0;h=o+24|0;j=o+20|0;l=o+16|0;m=o+12|0;n=o+8|0;d=o+4|0;e=o;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=k[k[g>>2]>>2];k[n>>2]=0;k[l>>2]=(k[(k[g>>2]|0)+40>>2]|0)-(k[(k[g>>2]|0)+36>>2]|0);do if((k[j>>2]|0)==1){if((k[l>>2]|0)>>>0<(k[(k[m>>2]|0)+12>>2]|0)>>>0?(k[l>>2]|0)>>>0<(k[(k[g>>2]|0)+28>>2]|0)>>>0:0){if(!(_g(k[g>>2]|0)|0))break;if((k[(k[g>>2]|0)+36>>2]|0)>>>0>=(k[l>>2]|0)>>>0)break}k[f>>2]=0;n=k[f>>2]|0;u=o;return n|0}while(0);if((k[(k[g>>2]|0)+40>>2]|0)>>>0>=(k[(k[g>>2]|0)+44>>2]|0)>>>0)$g(k[g>>2]|0);do if(k[(k[g>>2]|0)+16>>2]|0?(i[(k[(k[m>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((k[(k[g>>2]|0)+40>>2]|0)+1|0)>>>0<(k[(k[g>>2]|0)+24>>2]|0)>>>0?(_g(k[g>>2]|0)|0)==0:0)break;k[n>>2]=k[(k[m>>2]|0)+20+28>>2];Ug(k[n>>2]|0,0);Tg(k[n>>2]|0)|0;k[d>>2]=k[(k[n>>2]|0)+20>>2];if((k[(k[d>>2]|0)+12>>2]|0)!=(k[(k[g>>2]|0)+12>>2]|0)){Vg(k[n>>2]|0);k[n>>2]=0;break}else{m=(k[m>>2]|0)+16|0;k[m>>2]=(k[m>>2]|0)-((k[(k[d>>2]|0)+16>>2]|0)-(k[(k[g>>2]|0)+16>>2]|0));break}}while(0);if(!(k[n>>2]|0)){m=ah(k[g>>2]|0,(k[j>>2]|0)==1&1)|0;k[n>>2]=m}if(k[n>>2]|0?(k[e>>2]=((k[h>>2]|0)>>>0)%((k[(k[g>>2]|0)+44>>2]|0)>>>0)|0,m=(k[g>>2]|0)+40|0,k[m>>2]=(k[m>>2]|0)+1,k[(k[n>>2]|0)+8>>2]=k[h>>2],k[(k[n>>2]|0)+16>>2]=k[(k[(k[g>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2],k[(k[n>>2]|0)+20>>2]=k[g>>2],k[(k[n>>2]|0)+28>>2]=0,k[(k[n>>2]|0)+24>>2]=0,i[(k[n>>2]|0)+12>>0]=1,k[k[(k[n>>2]|0)+4>>2]>>2]=0,k[(k[(k[g>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]=k[n>>2],(k[h>>2]|0)>>>0>(k[(k[g>>2]|0)+32>>2]|0)>>>0):0)k[(k[g>>2]|0)+32>>2]=k[h>>2];k[f>>2]=k[n>>2];n=k[f>>2]|0;u=o;return n|0}function _g(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;b=c+4|0;d=c;k[d>>2]=a;if(k[13666]|0?((k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+8>>2]|0)|0)<=(k[13665]|0):0){k[b>>2]=k[13673];d=k[b>>2]|0;u=c;return d|0}d=gh()|0;k[b>>2]=d;d=k[b>>2]|0;u=c;return d|0}function $g(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;b=i+24|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[b>>2]=a;a=k[(k[b>>2]|0)+44>>2]<<1;k[d>>2]=a;k[d>>2]=(k[d>>2]|0)>>>0<256?256:a;if(k[(k[b>>2]|0)+44>>2]|0)ch();a=fh(k[d>>2]<<2,0)|0;k[c>>2]=a;if(k[(k[b>>2]|0)+44>>2]|0)eh();if(!(k[c>>2]|0)){u=i;return}k[e>>2]=0;while(1){a=k[(k[b>>2]|0)+48>>2]|0;if((k[e>>2]|0)>>>0>=(k[(k[b>>2]|0)+44>>2]|0)>>>0)break;k[g>>2]=k[a+(k[e>>2]<<2)>>2];while(1){a=k[g>>2]|0;k[f>>2]=a;if(!a)break;k[h>>2]=((k[(k[f>>2]|0)+8>>2]|0)>>>0)%((k[d>>2]|0)>>>0)|0;k[g>>2]=k[(k[f>>2]|0)+16>>2];k[(k[f>>2]|0)+16>>2]=k[(k[c>>2]|0)+(k[h>>2]<<2)>>2];k[(k[c>>2]|0)+(k[h>>2]<<2)>>2]=k[f>>2]}k[e>>2]=(k[e>>2]|0)+1}ie(a);k[(k[b>>2]|0)+48>>2]=k[c>>2];k[(k[b>>2]|0)+44>>2]=k[d>>2];u=i;return}function ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if(k[(k[d>>2]|0)+52>>2]|0)h=4;else{if((k[(k[d>>2]|0)+40>>2]|0)==0?bh(k[d>>2]|0)|0:0){h=4;break}if(k[e>>2]|0)ch();b=dh(k[(k[d>>2]|0)+12>>2]|0)|0;k[g>>2]=b;k[f>>2]=(k[g>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);if(k[e>>2]|0)eh();if(k[g>>2]|0){k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=(k[f>>2]|0)+32;i[(k[f>>2]|0)+13>>0]=0;i[(k[f>>2]|0)+14>>0]=0;break}k[c>>2]=0;h=k[c>>2]|0;u=j;return h|0}while(0);if((h|0)==4){k[f>>2]=k[(k[d>>2]|0)+52>>2];k[(k[d>>2]|0)+52>>2]=k[(k[f>>2]|0)+16>>2];k[(k[f>>2]|0)+16>>2]=0}if(k[(k[d>>2]|0)+16>>2]|0){h=(k[k[d>>2]>>2]|0)+16|0;k[h>>2]=(k[h>>2]|0)+1}k[c>>2]=k[f>>2];h=k[c>>2]|0;u=j;return h|0}function bh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;j=u;u=u+32|0;b=j+28|0;c=j+24|0;d=j;e=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;k[c>>2]=a;if(!(k[13664]|0)){k[b>>2]=0;h=k[b>>2]|0;u=j;return h|0}if((k[(k[c>>2]|0)+24>>2]|0)>>>0<3){k[b>>2]=0;h=k[b>>2]|0;u=j;return h|0}ch();if((k[13664]|0)>0){a=k[(k[c>>2]|0)+12>>2]|0;l=k[13664]|0;l=B0(a|0,((a|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;a=d;k[a>>2]=l;k[a+4>>2]=M}else{a=k[13664]|0;a=B0(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;l=d;k[l>>2]=a;k[l+4>>2]=M}n=d;a=k[n>>2]|0;n=k[n+4>>2]|0;l=k[(k[c>>2]|0)+12>>2]|0;l=B0(l|0,((l|0)<0)<<31>>31|0,k[(k[c>>2]|0)+24>>2]|0,0)|0;m=M;if((n|0)>(m|0)|(n|0)==(m|0)&a>>>0>l>>>0){m=k[(k[c>>2]|0)+12>>2]|0;m=B0(m|0,((m|0)<0)<<31>>31|0,k[(k[c>>2]|0)+24>>2]|0,0)|0;n=d;k[n>>2]=m;k[n+4>>2]=M}n=d;n=Pd(k[n>>2]|0,k[n+4>>2]|0)|0;k[(k[c>>2]|0)+56>>2]=n;k[e>>2]=n;eh();a:do if(k[e>>2]|0){n=Ud(k[e>>2]|0)|0;k[f>>2]=(n|0)/(k[(k[c>>2]|0)+12>>2]|0)|0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[f>>2]|0))break a;k[h>>2]=(k[e>>2]|0)+(k[(k[c>>2]|0)+4>>2]|0);k[k[h>>2]>>2]=k[e>>2];k[(k[h>>2]|0)+4>>2]=(k[h>>2]|0)+32;i[(k[h>>2]|0)+13>>0]=1;i[(k[h>>2]|0)+14>>0]=0;k[(k[h>>2]|0)+16>>2]=k[(k[c>>2]|0)+52>>2];k[(k[c>>2]|0)+52>>2]=k[h>>2];k[e>>2]=(k[e>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0);k[g>>2]=(k[g>>2]|0)+1}}while(0);k[b>>2]=(k[(k[c>>2]|0)+52>>2]|0)!=0&1;n=k[b>>2]|0;u=j;return n|0}function ch(){if(!(k[13700]|0))return;Tb[k[13700]&255]();return}function dh(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;if((k[b>>2]|0)<=(k[13665]|0)){Dd(k[13670]|0);k[c>>2]=k[13671];if(k[c>>2]|0){k[13671]=k[k[13671]>>2];k[13672]=(k[13672]|0)+-1;k[13673]=(k[13672]|0)<(k[13667]|0)&1;Rd(7,k[b>>2]|0);Vd(1,1)}Ed(k[13670]|0)}if(k[c>>2]|0){d=k[c>>2]|0;u=e;return d|0}a=k[b>>2]|0;a=Pd(a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;if(!(k[c>>2]|0)){d=k[c>>2]|0;u=e;return d|0}a=Ud(k[c>>2]|0)|0;k[d>>2]=a;Dd(k[13670]|0);Rd(7,k[b>>2]|0);Vd(2,k[d>>2]|0);Ed(k[13670]|0);d=k[c>>2]|0;u=e;return d|0}function eh(){if(!(k[13701]|0))return;Tb[k[54804>>2]&255]();return}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;b=c;b=Pd(k[b>>2]|0,k[b+4>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){f=k[d>>2]|0;u=e;return f|0}w0(k[d>>2]|0,0,k[c>>2]|0)|0;f=k[d>>2]|0;u=e;return f|0}function gh(){return k[13627]|0}function hh(){jh(3948,3);return}function ih(){jh(3724,8);return}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[d>>2]|0))break;k[g>>2]=k[(k[c>>2]|0)+((k[e>>2]|0)*28|0)+20>>2];b=wd(k[g>>2]|0)|0;k[h>>2]=b;k[i>>2]=((l[20458+(l[k[g>>2]>>0]|0)>>0]|0)+(k[h>>2]|0)|0)%23|0;b=kh(k[i>>2]|0,k[g>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){k[(k[c>>2]|0)+((k[e>>2]|0)*28|0)+8>>2]=k[(k[f>>2]|0)+8>>2];k[(k[f>>2]|0)+8>>2]=(k[c>>2]|0)+((k[e>>2]|0)*28|0)}else{k[(k[c>>2]|0)+((k[e>>2]|0)*28|0)+8>>2]=0;k[(k[c>>2]|0)+((k[e>>2]|0)*28|0)+24>>2]=k[54696+(k[i>>2]<<2)>>2];k[54696+(k[i>>2]<<2)>>2]=(k[c>>2]|0)+((k[e>>2]|0)*28|0)}k[e>>2]=(k[e>>2]|0)+1}u=j;return}function kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;e=f+12|0;g=f+8|0;c=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[54696+(k[g>>2]<<2)>>2];while(1){if(!(k[d>>2]|0)){a=6;break}g=(lh(k[(k[d>>2]|0)+20>>2]|0,k[c>>2]|0)|0)==0;b=k[d>>2]|0;if(g){a=4;break}k[d>>2]=k[b+24>>2]}if((a|0)==4){k[e>>2]=b;g=k[e>>2]|0;u=f;return g|0}else if((a|0)==6){k[e>>2]=0;g=k[e>>2]|0;u=f;return g|0}return 0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=u;u=u+32|0;h=f+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[c>>2]=k[h>>2];k[d>>2]=k[g>>2];while(1){k[e>>2]=(l[20458+(l[k[c>>2]>>0]|0)>>0]|0)-(l[20458+(l[k[d>>2]>>0]|0)>>0]|0);if(k[e>>2]|0){a=5;break}if(!(l[k[c>>2]>>0]|0)){a=5;break}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+1}if((a|0)==5){u=f;return k[e>>2]|0}return 0}function mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;c=$h(k[k[g>>2]>>2]|0)|0;k[e>>2]=c;if(!c){u=f;return}g=k[d>>2]|0;fi(g,ud(k[e>>2]|0)|0);u=f;return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;f=d+12|0;g=d+4|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[g>>2]=c;c=_i(k[k[g>>2]>>2]|0)|0;k[e>>2]=c;c=k[f>>2]|0;Hi(c,yd(k[e>>2]|0)|0,-1,0);u=d;return}function oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;c=k[e>>2]|0;Hi(c,Aj()|0,-1,0);u=d;return}function ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+64|0;n=v+52|0;o=v+48|0;p=v+44|0;q=v+40|0;r=v+36|0;s=v+32|0;t=v+28|0;d=v+24|0;e=v+20|0;f=v+16|0;g=v+12|0;h=v+8|0;j=v+4|0;m=v;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[e>>2]=0;k[f>>2]=0;if((Ki(k[k[p>>2]>>2]|0)|0)==5){u=v;return}c=$h(k[k[p>>2]>>2]|0)|0;k[q>>2]=c;if(!(k[q>>2]|0)){u=v;return}c=ai(k[k[p>>2]>>2]|0)|0;k[s>>2]=c;a:do if((k[o>>2]|0)!=1){p=$h(k[(k[p>>2]|0)+4>>2]|0)|0;k[r>>2]=p;if(!p){u=v;return}k[h>>2]=k[r>>2];k[g>>2]=0;while(1){if(!(i[k[h>>2]>>0]|0))break;p=k[h>>2]|0;k[h>>2]=p+1;b:do if((l[p>>0]|0)>=192)while(1){if((l[k[h>>2]>>0]&192|0)!=128)break b;k[h>>2]=(k[h>>2]|0)+1}while(0);k[g>>2]=(k[g>>2]|0)+1}if((k[g>>2]|0)>0){o=k[n>>2]|0;p=k[g>>2]|0;p=B0(p|0,((p|0)<0)<<31>>31|0,5,0)|0;p=ij(o,p,M)|0;k[f>>2]=p;if(!(k[f>>2]|0)){u=v;return}k[e>>2]=(k[f>>2]|0)+(k[g>>2]<<2);k[h>>2]=k[r>>2];k[g>>2]=0;while(1){if(!(i[k[h>>2]>>0]|0))break a;k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]=k[h>>2];p=k[h>>2]|0;k[h>>2]=p+1;c:do if((l[p>>0]|0)>=192)while(1){if((l[k[h>>2]>>0]&192|0)!=128)break c;k[h>>2]=(k[h>>2]|0)+1}while(0);i[(k[e>>2]|0)+(k[g>>2]|0)>>0]=(k[h>>2]|0)-(k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0);k[g>>2]=(k[g>>2]|0)+1}}}else{k[g>>2]=1;k[e>>2]=23020;k[f>>2]=3720;k[r>>2]=0}while(0);if((k[g>>2]|0)>0){p=_h(k[n>>2]|0)|0;k[t>>2]=p;d:do if((k[t>>2]&1|0)!=0&(k[s>>2]|0)>0)do{k[j>>2]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[g>>2]|0))break;k[j>>2]=l[(k[e>>2]|0)+(k[d>>2]|0)>>0];if((k[j>>2]|0)<=(k[s>>2]|0)?(R_(k[q>>2]|0,k[(k[f>>2]|0)+(k[d>>2]<<2)>>2]|0,k[j>>2]|0)|0)==0:0)break;k[d>>2]=(k[d>>2]|0)+1}if((k[d>>2]|0)>=(k[g>>2]|0))break d;k[q>>2]=(k[q>>2]|0)+(k[j>>2]|0);k[s>>2]=(k[s>>2]|0)-(k[j>>2]|0)}while((k[s>>2]|0)>0);while(0);e:do if((k[t>>2]&2|0)!=0&(k[s>>2]|0)>0)do{k[m>>2]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[g>>2]|0))break;k[m>>2]=l[(k[e>>2]|0)+(k[d>>2]|0)>>0];if((k[m>>2]|0)<=(k[s>>2]|0)?(R_((k[q>>2]|0)+((k[s>>2]|0)-(k[m>>2]|0))|0,k[(k[f>>2]|0)+(k[d>>2]<<2)>>2]|0,k[m>>2]|0)|0)==0:0)break;k[d>>2]=(k[d>>2]|0)+1}if((k[d>>2]|0)>=(k[g>>2]|0))break e;k[s>>2]=(k[s>>2]|0)-(k[m>>2]|0)}while((k[s>>2]|0)>0);while(0);if(k[r>>2]|0)ie(k[f>>2]|0)}Hi(k[n>>2]|0,k[q>>2]|0,k[s>>2]|0,-1);u=v;return}function qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=(_h(k[d>>2]|0)|0)==0;k[h>>2]=c?0:-1;c=nj(k[d>>2]|0)|0;k[j>>2]=c;k[i>>2]=0;if((Ki(k[k[f>>2]>>2]|0)|0)==5){u=m;return}k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;if((Ki(k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0)|0)==5){l=9;break}c=oj(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0,k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0,k[j>>2]|0)|0;if((c^k[h>>2]|0)>=0)k[i>>2]=k[g>>2];k[g>>2]=(k[g>>2]|0)+1}if((l|0)==9){u=m;return}hj(k[d>>2]|0,k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0);u=m;return}function rh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=u;u=u+32|0;f=m+28|0;d=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;l=m+4|0;e=m;k[f>>2]=a;k[m+24>>2]=b;k[d>>2]=c;k[g>>2]=k[k[d>>2]>>2];c=Ei(k[f>>2]|0,40)|0;k[h>>2]=c;if(!(k[h>>2]|0)){u=m;return}d=(Ki(k[k[d>>2]>>2]|0)|0)==5;a=(j[(k[h>>2]|0)+8>>1]|0)!=0;if(d){if(!a){u=m;return}zj(k[f>>2]|0);u=m;return}b=k[f>>2]|0;if(!a){l=Zh(b)|0;k[(k[h>>2]|0)+32>>2]=l;jj(k[h>>2]|0,k[g>>2]|0)|0;u=m;return}d=nj(b)|0;k[e>>2]=d;d=(_h(k[f>>2]|0)|0)!=0&1;k[i>>2]=d;e=oj(k[h>>2]|0,k[g>>2]|0,k[e>>2]|0)|0;k[l>>2]=e;if(!((k[i>>2]|0)!=0&(k[l>>2]|0)<0)?!((k[i>>2]|0)==0&(k[l>>2]|0)>0):0){zj(k[f>>2]|0);u=m;return}jj(k[h>>2]|0,k[g>>2]|0)|0;u=m;return}function sh(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ei(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){u=d;return}if(j[(k[c>>2]|0)+8>>1]|0)hj(k[b>>2]|0,k[c>>2]|0);oi(k[c>>2]|0);u=d;return}function th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;k[e>>2]=0;switch(Ki(k[k[g>>2]>>2]|0)|0){case 1:{k[e>>2]=22992;break}case 3:{k[e>>2]=23e3;break}case 2:{k[e>>2]=23005;break}case 4:{k[e>>2]=23010;break}default:k[e>>2]=23015}Hi(k[d>>2]|0,k[e>>2]|0,-1,0);u=f;return}function uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[h+12>>2]=b;k[e>>2]=c;switch(Ki(k[k[e>>2]>>2]|0)|0){case 2:case 1:case 4:{fi(k[d>>2]|0,ai(k[k[e>>2]>>2]|0)|0);u=h;return}case 3:{e=$h(k[k[e>>2]>>2]|0)|0;k[g>>2]=e;if(!(k[g>>2]|0)){u=h;return}k[f>>2]=0;a:while(1){if(!(i[k[g>>2]>>0]|0))break;k[f>>2]=(k[f>>2]|0)+1;e=k[g>>2]|0;k[g>>2]=e+1;if((l[e>>0]|0)<192)continue;while(1){if((l[k[g>>2]>>0]&192|0)!=128)continue a;k[g>>2]=(k[g>>2]|0)+1}}fi(k[d>>2]|0,k[f>>2]|0);u=h;return}default:{xj(k[d>>2]|0);u=h;return}}}function vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;h=p+40|0;i=p+32|0;j=p+28|0;m=p+24|0;n=p+20|0;o=p+16|0;d=p+12|0;e=p+8|0;f=p+4|0;g=p;k[h>>2]=a;k[p+36>>2]=b;k[i>>2]=c;k[f>>2]=1;c=Ki(k[k[i>>2]>>2]|0)|0;k[d>>2]=c;c=Ki(k[(k[i>>2]|0)+4>>2]|0)|0;k[e>>2]=c;if((k[d>>2]|0)==5|(k[e>>2]|0)==5){u=p;return}a=ai(k[k[i>>2]>>2]|0)|0;k[n>>2]=a;a=ai(k[(k[i>>2]|0)+4>>2]|0)|0;k[o>>2]=a;a=k[k[i>>2]>>2]|0;if((k[d>>2]|0)==4&(k[e>>2]|0)==4){e=$i(a)|0;k[j>>2]=e;i=$i(k[(k[i>>2]|0)+4>>2]|0)|0;k[m>>2]=i;k[g>>2]=0}else{e=$h(a)|0;k[j>>2]=e;i=$h(k[(k[i>>2]|0)+4>>2]|0)|0;k[m>>2]=i;k[g>>2]=1}a:while(1){if((k[o>>2]|0)>(k[n>>2]|0))break;if(!(R_(k[j>>2]|0,k[m>>2]|0,k[o>>2]|0)|0))break;k[f>>2]=(k[f>>2]|0)+1;while(1){k[n>>2]=(k[n>>2]|0)+-1;k[j>>2]=(k[j>>2]|0)+1;if(!(k[g>>2]|0))continue a;if(((l[k[j>>2]>>0]|0)&192|0)!=128)continue a}}if((k[o>>2]|0)>(k[n>>2]|0))k[f>>2]=0;fi(k[h>>2]|0,k[f>>2]|0);u=p;return}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+80|0;n=o;e=o+64|0;f=o+60|0;g=o+56|0;h=o+44|0;j=o+16|0;l=o+12|0;m=o+8|0;d=o+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=Zh(k[e>>2]|0)|0;k[d>>2]=c;if((k[f>>2]|0)<1){u=o;return}c=$h(k[k[g>>2]>>2]|0)|0;k[l>>2]=c;if(!c){u=o;return}k[h>>2]=(k[f>>2]|0)-1;k[h+4>>2]=0;k[h+8>>2]=(k[g>>2]|0)+4;Jd(j,k[d>>2]|0,0,0,k[(k[d>>2]|0)+96>>2]|0);i[j+25>>0]=2;l=k[l>>2]|0;k[n>>2]=h;yj(j,l,n);k[m>>2]=k[j+12>>2];l=k[e>>2]|0;n=Ld(j)|0;Hi(l,n,k[m>>2]|0,191);u=o;return}function xh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;c=$h(k[k[g>>2]>>2]|0)|0;k[e>>2]=c;if(!(k[e>>2]|0)){u=f;return}if(!(l[k[e>>2]>>0]|0)){u=f;return}g=k[d>>2]|0;fi(g,di(e)|0);u=f;return}function yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+48|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;j=n+16|0;l=n+12|0;m=n;d=n+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=(k[f>>2]<<2)+1|0;c=yf(c,((c|0)<0)<<31>>31)|0;k[h>>2]=c;k[j>>2]=c;if(!(k[h>>2]|0)){Gi(k[e>>2]|0);u=n;return}k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[f>>2]|0))break;o=Pi(k[(k[g>>2]|0)+(k[l>>2]<<2)>>2]|0)|0;c=M;b=m;k[b>>2]=o;k[b+4>>2]=c;b=m;a=k[b+4>>2]|0;b=(k[m+4>>2]|0)<0|((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>1114111);a=m;k[a>>2]=b?65533:o;k[a+4>>2]=b?0:c;k[d>>2]=k[m>>2]&2097151;a=k[d>>2]|0;do if((k[d>>2]|0)>>>0>=128){b=k[d>>2]|0;if(a>>>0<2048){c=k[j>>2]|0;k[j>>2]=c+1;i[c>>0]=192+(b>>>6&31);c=128+(k[d>>2]&63)&255;o=k[j>>2]|0;k[j>>2]=o+1;i[o>>0]=c;break}a=k[d>>2]|0;if(b>>>0<65536){o=k[j>>2]|0;k[j>>2]=o+1;i[o>>0]=224+(a>>>12&15);o=128+((k[d>>2]|0)>>>6&63)&255;c=k[j>>2]|0;k[j>>2]=c+1;i[c>>0]=o;c=128+(k[d>>2]&63)&255;o=k[j>>2]|0;k[j>>2]=o+1;i[o>>0]=c;break}else{c=k[j>>2]|0;k[j>>2]=c+1;i[c>>0]=240+(a>>>18&7);c=128+((k[d>>2]|0)>>>12&63)&255;o=k[j>>2]|0;k[j>>2]=o+1;i[o>>0]=c;o=128+((k[d>>2]|0)>>>6&63)&255;c=k[j>>2]|0;k[j>>2]=c+1;i[c>>0]=o;c=128+(k[d>>2]&63)&255;o=k[j>>2]|0;k[j>>2]=o+1;i[o>>0]=c;break}}else{o=k[j>>2]|0;k[j>>2]=o+1;i[o>>0]=a}while(0);k[l>>2]=(k[l>>2]|0)+1}o=(k[j>>2]|0)-(k[h>>2]|0)|0;aj(k[e>>2]|0,k[h>>2]|0,o,((o|0)<0)<<31>>31,157,1);u=n;return}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0.0;h=u;u=u+32|0;d=h+24|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[h+20>>2]=b;k[e>>2]=c;switch(Ki(k[k[e>>2]>>2]|0)|0){case 1:{e=Pi(k[k[e>>2]>>2]|0)|0;g=f;k[g>>2]=e;k[g+4>>2]=M;do if((k[f+4>>2]|0)<0){g=f;if(!((k[g>>2]|0)==0?(k[g+4>>2]|0)==-2147483648:0)){e=f;e=h0(0,0,k[e>>2]|0,k[e+4>>2]|0)|0;g=f;k[g>>2]=e;k[g+4>>2]=M;break}bi(k[d>>2]|0,22260,-1);u=h;return}while(0);g=f;Li(k[d>>2]|0,k[g>>2]|0,k[g+4>>2]|0);u=h;return}case 5:{xj(k[d>>2]|0);u=h;return}default:{i=+Ri(k[k[e>>2]>>2]|0);p[g>>3]=i;if(+p[g>>3]<0.0)p[g>>3]=-+p[g>>3];Mi(k[d>>2]|0,+p[g>>3]);u=h;return}}}function Ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0.0;j=u;u=u+48|0;i=j+8|0;d=j+40|0;l=j+36|0;e=j+32|0;f=j+28|0;g=j;h=j+24|0;k[d>>2]=a;k[l>>2]=b;k[e>>2]=c;k[f>>2]=0;do if((k[l>>2]|0)==2)if(5==(Ki(k[(k[e>>2]|0)+4>>2]|0)|0)){u=j;return}else{l=_i(k[(k[e>>2]|0)+4>>2]|0)|0;k[f>>2]=l;l=(k[f>>2]|0)>30?30:l;k[f>>2]=l;k[f>>2]=(k[f>>2]|0)<0?0:l;break}while(0);if((Ki(k[k[e>>2]>>2]|0)|0)==5){u=j;return}m=+Ri(k[k[e>>2]>>2]|0);p[g>>3]=m;do if((k[f>>2]|0)==0&+p[g>>3]>=0.0&+p[g>>3]<9223372036854775808.0){m=+p[g>>3]+.5;m=+(~~m>>>0>>>0)+4294967296.0*+((+O(m)>=1.0?(m>0.0?~~+aa(+N(m/4294967296.0),4294967295.0)>>>0:~~+_((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);p[g>>3]=m}else{if((k[f>>2]|0)==0&+p[g>>3]<0.0?-+p[g>>3]<9223372036854775808.0:0){m=-+p[g>>3]+.5;m=-(+(~~m>>>0>>>0)+4294967296.0*+((+O(m)>=1.0?(m>0.0?~~+aa(+N(m/4294967296.0),4294967295.0)>>>0:~~+_((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0));p[g>>3]=m;break}m=+p[g>>3];k[i>>2]=k[f>>2];p[i+8>>3]=m;l=xf(22987,i)|0;k[h>>2]=l;if(k[h>>2]|0){l=k[h>>2]|0;Ti(l,g,wd(k[h>>2]|0)|0,1)|0;ie(k[h>>2]|0);break}Gi(k[d>>2]|0);u=j;return}while(0);Mi(k[d>>2]|0,+p[g>>3]);u=j;return}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=u;u=u+32|0;d=j+24|0;m=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[j+20>>2]=b;k[m>>2]=c;c=$h(k[k[m>>2]>>2]|0)|0;k[f>>2]=c;c=ai(k[k[m>>2]>>2]|0)|0;k[h>>2]=c;if(!(k[f>>2]|0)){u=j;return}c=k[d>>2]|0;m=k[h>>2]|0;m=i0(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=ij(c,m,M)|0;k[e>>2]=m;if(!(k[e>>2]|0)){u=j;return}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;i[(k[e>>2]|0)+(k[g>>2]|0)>>0]=i[(k[f>>2]|0)+(k[g>>2]|0)>>0]&~(l[20063+(l[(k[f>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&32);k[g>>2]=(k[g>>2]|0)+1}Hi(k[d>>2]|0,k[e>>2]|0,k[h>>2]|0,157);u=j;return}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=u;u=u+32|0;d=j+24|0;m=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[j+20>>2]=b;k[m>>2]=c;c=$h(k[k[m>>2]>>2]|0)|0;k[f>>2]=c;c=ai(k[k[m>>2]>>2]|0)|0;k[h>>2]=c;if(!(k[f>>2]|0)){u=j;return}c=k[d>>2]|0;m=k[h>>2]|0;m=i0(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=ij(c,m,M)|0;k[e>>2]=m;if(!(k[e>>2]|0)){u=j;return}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;i[(k[e>>2]|0)+(k[g>>2]|0)>>0]=i[20458+(l[(k[f>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]|0;k[g>>2]=(k[g>>2]|0)+1}Hi(k[d>>2]|0,k[e>>2]|0,k[h>>2]|0,157);u=j;return}function Dh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=u;u=u+48|0;f=n+28|0;o=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;m=n+4|0;d=n;e=n+32|0;k[f>>2]=a;k[n+24>>2]=b;k[o>>2]=c;b=$i(k[k[o>>2]>>2]|0)|0;k[j>>2]=b;b=ai(k[k[o>>2]>>2]|0)|0;k[h>>2]=b;b=k[f>>2]|0;c=k[h>>2]|0;c=B0(c|0,((c|0)<0)<<31>>31|0,2,0)|0;c=i0(c|0,M|0,1,0)|0;c=ij(b,c,M)|0;k[m>>2]=c;k[d>>2]=c;if(!(k[m>>2]|0)){u=n;return}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;i[e>>0]=i[k[j>>2]>>0]|0;o=i[22971+((l[e>>0]|0)>>4&15)>>0]|0;c=k[d>>2]|0;k[d>>2]=c+1;i[c>>0]=o;c=i[22971+((l[e>>0]|0)&15)>>0]|0;o=k[d>>2]|0;k[d>>2]=o+1;i[o>>0]=c;k[g>>2]=(k[g>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+1}i[k[d>>2]>>0]=0;Hi(k[f>>2]|0,k[m>>2]|0,k[h>>2]<<1,157);u=n;return}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=u;u=u+32|0;d=f+16|0;e=f;k[d>>2]=a;k[f+12>>2]=b;k[f+8>>2]=c;Cf(8,e);if((k[e+4>>2]|0)<0){b=e;b=h0(0,0,k[b>>2]|0,k[b+4>>2]&2147483647|0)|0;c=e;k[c>>2]=b;k[c+4>>2]=M}Li(k[d>>2]|0,k[e>>2]|0,k[e+4>>2]|0);u=f;return}function Fh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[g+12>>2]=b;k[h>>2]=c;c=_i(k[k[h>>2]>>2]|0)|0;k[e>>2]=c;k[e>>2]=(k[e>>2]|0)<1?1:c;c=k[e>>2]|0;c=ij(k[d>>2]|0,c,((c|0)<0)<<31>>31)|0;k[f>>2]=c;if(!(k[f>>2]|0)){u=g;return}Cf(k[e>>2]|0,k[f>>2]|0);wj(k[d>>2]|0,k[f>>2]|0,k[e>>2]|0,157);u=g;return}function Gh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;d=f+12|0;e=f+4|0;g=f;k[d>>2]=a;k[f+8>>2]=b;k[e>>2]=c;c=nj(k[d>>2]|0)|0;k[g>>2]=c;if(!(oj(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[g>>2]|0)|0)){u=f;return}hj(k[d>>2]|0,k[k[e>>2]>>2]|0);u=f;return}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;c=k[e>>2]|0;Hi(c,Gd()|0,-1,0);u=d;return}function Ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=u;u=u+16|0;e=d;f=d+4|0;k[d+12>>2]=a;k[d+8>>2]=b;k[f>>2]=c;c=_i(k[k[f>>2]>>2]|0)|0;b=$h(k[(k[f>>2]|0)+4>>2]|0)|0;k[e>>2]=b;Hd(c,21240,e);u=d;return}function Jh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0;y=u;u=u+144|0;x=y+32|0;w=y+24|0;o=y+80|0;q=y+72|0;r=y+16|0;s=y+8|0;t=y+84|0;v=y+68|0;d=y+64|0;e=y+60|0;f=y+56|0;g=y+52|0;h=y+48|0;j=y;m=y+44|0;n=y+40|0;k[o>>2]=a;k[y+76>>2]=b;k[q>>2]=c;switch(Ki(k[k[q>>2]>>2]|0)|0){case 2:{z=+Ri(k[k[q>>2]>>2]|0);p[r>>3]=z;p[w>>3]=+p[r>>3];pf(50,t,22196,w)|0;Ti(t,s,20,1)|0;if(+p[r>>3]!=+p[s>>3]){p[x>>3]=+p[r>>3];pf(50,t,22964,x)|0}Hi(k[o>>2]|0,t,-1,-1);u=y;return}case 1:{hj(k[o>>2]|0,k[k[q>>2]>>2]|0);u=y;return}case 4:{k[v>>2]=0;w=$i(k[k[q>>2]>>2]|0)|0;k[d>>2]=w;w=ai(k[k[q>>2]>>2]|0)|0;k[e>>2]=w;w=k[o>>2]|0;x=k[e>>2]|0;x=ij(w,i0(B0(2,0,x|0,((x|0)<0)<<31>>31|0)|0,M|0,4,0)|0,M)|0;k[v>>2]=x;if(!(k[v>>2]|0)){u=y;return}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[e>>2]|0))break;i[(k[v>>2]|0)+((k[f>>2]<<1)+2)>>0]=i[22971+(i[(k[d>>2]|0)+(k[f>>2]|0)>>0]>>4&15)>>0]|0;i[(k[v>>2]|0)+((k[f>>2]<<1)+3)>>0]=i[22971+(i[(k[d>>2]|0)+(k[f>>2]|0)>>0]&15)>>0]|0;k[f>>2]=(k[f>>2]|0)+1}i[(k[v>>2]|0)+((k[e>>2]<<1)+2)>>0]=39;i[(k[v>>2]|0)+((k[e>>2]<<1)+3)>>0]=0;i[k[v>>2]>>0]=88;i[(k[v>>2]|0)+1>>0]=39;Hi(k[o>>2]|0,k[v>>2]|0,-1,-1);ie(k[v>>2]|0);u=y;return}case 3:{x=$h(k[k[q>>2]>>2]|0)|0;k[m>>2]=x;if(!(k[m>>2]|0)){u=y;return}k[g>>2]=0;x=j;k[x>>2]=0;k[x+4>>2]=0;while(1){if(!(i[(k[m>>2]|0)+(k[g>>2]|0)>>0]|0))break;if((l[(k[m>>2]|0)+(k[g>>2]|0)>>0]|0)==39){w=j;w=i0(k[w>>2]|0,k[w+4>>2]|0,1,0)|0;x=j;k[x>>2]=w;k[x+4>>2]=M}k[g>>2]=(k[g>>2]|0)+1}w=k[o>>2]|0;v=k[g>>2]|0;x=j;x=i0(v|0,((v|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;x=i0(x|0,M|0,3,0)|0;x=ij(w,x,M)|0;k[n>>2]=x;if(!(k[n>>2]|0)){u=y;return}i[k[n>>2]>>0]=39;k[g>>2]=0;k[h>>2]=1;while(1){if(!(i[(k[m>>2]|0)+(k[g>>2]|0)>>0]|0))break;v=i[(k[m>>2]|0)+(k[g>>2]|0)>>0]|0;w=k[n>>2]|0;x=k[h>>2]|0;k[h>>2]=x+1;i[w+x>>0]=v;if((l[(k[m>>2]|0)+(k[g>>2]|0)>>0]|0)==39){w=k[n>>2]|0;x=k[h>>2]|0;k[h>>2]=x+1;i[w+x>>0]=39}k[g>>2]=(k[g>>2]|0)+1}w=k[n>>2]|0;x=k[h>>2]|0;k[h>>2]=x+1;i[w+x>>0]=39;i[(k[n>>2]|0)+(k[h>>2]|0)>>0]=0;Hi(k[o>>2]|0,k[n>>2]|0,k[h>>2]|0,157);u=y;return}default:{Hi(k[o>>2]|0,20953,4,0);u=y;return}}}function Kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=u;u=u+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;b=Zh(k[f>>2]|0)|0;k[e>>2]=b;b=k[f>>2]|0;c=mj(k[e>>2]|0)|0;Li(b,c,M);u=d;return}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=u;u=u+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;c=Zh(k[f>>2]|0)|0;k[e>>2]=c;c=k[f>>2]|0;fi(c,lj(k[e>>2]|0)|0);u=d;return}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=u;u=u+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;c=Zh(k[f>>2]|0)|0;k[e>>2]=c;c=k[f>>2]|0;fi(c,kj(k[e>>2]|0)|0);u=d;return}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+80|0;s=w+64|0;j=w+56|0;t=w+52|0;m=w+48|0;n=w+44|0;v=w+40|0;o=w+36|0;d=w+32|0;e=w+28|0;f=w;g=w+24|0;p=w+20|0;q=w+16|0;r=w+12|0;h=w+8|0;k[s>>2]=a;k[w+60>>2]=b;k[j>>2]=c;c=$h(k[k[j>>2]>>2]|0)|0;k[t>>2]=c;if(!(k[t>>2]|0)){u=w;return}c=ai(k[k[j>>2]>>2]|0)|0;k[o>>2]=c;c=$h(k[(k[j>>2]|0)+4>>2]|0)|0;k[m>>2]=c;if(!(k[m>>2]|0)){u=w;return}if(!(l[k[m>>2]>>0]|0)){hj(k[s>>2]|0,k[k[j>>2]>>2]|0);u=w;return}c=ai(k[(k[j>>2]|0)+4>>2]|0)|0;k[d>>2]=c;c=$h(k[(k[j>>2]|0)+8>>2]|0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){u=w;return}c=ai(k[(k[j>>2]|0)+8>>2]|0)|0;k[e>>2]=c;c=(k[o>>2]|0)+1|0;j=f;k[j>>2]=c;k[j+4>>2]=((c|0)<0)<<31>>31;j=f;j=ij(k[s>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[v>>2]=j;if(!(k[v>>2]|0)){u=w;return}k[g>>2]=(k[o>>2]|0)-(k[d>>2]|0);k[q>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>(k[g>>2]|0)){a=18;break}if((l[(k[t>>2]|0)+(k[p>>2]|0)>>0]|0|0)==(l[k[m>>2]>>0]|0|0)?!(R_((k[t>>2]|0)+(k[p>>2]|0)|0,k[m>>2]|0,k[d>>2]|0)|0):0){a=Zh(k[s>>2]|0)|0;k[h>>2]=a;a=(k[e>>2]|0)-(k[d>>2]|0)|0;c=f;a=i0(k[c>>2]|0,k[c+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c=f;k[c>>2]=a;k[c+4>>2]=M;c=f;c=h0(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;a=M;j=k[(k[h>>2]|0)+96>>2]|0;b=((j|0)<0)<<31>>31;if((a|0)>(b|0)|(a|0)==(b|0)&c>>>0>j>>>0){a=13;break}k[r>>2]=k[v>>2];j=k[f>>2]|0;j=oe(k[v>>2]|0,j,((j|0)<0)<<31>>31)|0;k[v>>2]=j;if(!(k[v>>2]|0)){a=15;break}r0((k[v>>2]|0)+(k[q>>2]|0)|0,k[n>>2]|0,k[e>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+(k[e>>2]|0);k[p>>2]=(k[p>>2]|0)+((k[d>>2]|0)-1)}else{b=i[(k[t>>2]|0)+(k[p>>2]|0)>>0]|0;c=k[v>>2]|0;j=k[q>>2]|0;k[q>>2]=j+1;i[c+j>>0]=b}k[p>>2]=(k[p>>2]|0)+1}if((a|0)==13){Fi(k[s>>2]|0);ie(k[v>>2]|0);u=w;return}else if((a|0)==15){Gi(k[s>>2]|0);ie(k[r>>2]|0);u=w;return}else if((a|0)==18){r0((k[v>>2]|0)+(k[q>>2]|0)|0,(k[t>>2]|0)+(k[p>>2]|0)|0,(k[o>>2]|0)-(k[p>>2]|0)|0)|0;k[q>>2]=(k[q>>2]|0)+((k[o>>2]|0)-(k[p>>2]|0));i[(k[v>>2]|0)+(k[q>>2]|0)>>0]=0;Hi(k[s>>2]|0,k[v>>2]|0,k[q>>2]|0,157);u=w;return}}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=u;u=u+32|0;d=f+20|0;h=f+12|0;g=f;e=f+8|0;k[d>>2]=a;k[f+16>>2]=b;k[h>>2]=c;h=Pi(k[k[h>>2]>>2]|0)|0;b=M;a=g;k[a>>2]=h;k[a+4>>2]=b;a=(k[g+4>>2]|0)<0;c=g;k[c>>2]=a?0:h;k[c+4>>2]=a?0:b;c=g;c=dj(k[d>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[e>>2]=c;if(!(k[e>>2]|0)){u=f;return}ej(k[d>>2]|0,k[e>>2]|0);u=f;return}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;e=q+40|0;f=q+36|0;o=q+32|0;p=q+28|0;g=q+24|0;h=q+20|0;j=q+8|0;m=q;d=q+16|0;k[n>>2]=a;k[e>>2]=b;k[f>>2]=c;k[d>>2]=0;if((Ki(k[(k[f>>2]|0)+4>>2]|0)|0)==5){u=q;return}if((k[e>>2]|0)==3?(Ki(k[(k[f>>2]|0)+8>>2]|0)|0)==5:0){u=q;return}c=Ki(k[k[f>>2]>>2]|0)|0;k[h>>2]=c;c=_i(k[(k[f>>2]|0)+4>>2]|0)|0;a=j;k[a>>2]=c;k[a+4>>2]=((c|0)<0)<<31>>31;a=k[k[f>>2]>>2]|0;a:do if((k[h>>2]|0)==4){c=ai(a)|0;k[g>>2]=c;c=$i(k[k[f>>2]>>2]|0)|0;k[o>>2]=c;if(!(k[o>>2]|0)){u=q;return}}else{c=$h(a)|0;k[o>>2]=c;if(!(k[o>>2]|0)){u=q;return}k[g>>2]=0;if((k[j+4>>2]|0)<0){k[p>>2]=k[o>>2];while(1){if(!(i[k[p>>2]>>0]|0))break a;c=k[p>>2]|0;k[p>>2]=c+1;b:do if((l[c>>0]|0)>=192)while(1){if((l[k[p>>2]>>0]&192|0)!=128)break b;k[p>>2]=(k[p>>2]|0)+1}while(0);k[g>>2]=(k[g>>2]|0)+1}}}while(0);if((k[e>>2]|0)==3){e=_i(k[(k[f>>2]|0)+8>>2]|0)|0;f=m;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;if((k[m+4>>2]|0)<0){e=m;e=h0(0,0,k[e>>2]|0,k[e+4>>2]|0)|0;f=m;k[f>>2]=e;k[f+4>>2]=M;k[d>>2]=1}}else{e=(Zh(k[n>>2]|0)|0)+96|0;e=k[e>>2]|0;f=m;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31}do if((k[j+4>>2]|0)<0){e=k[g>>2]|0;f=j;e=i0(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;f=j;k[f>>2]=e;k[f+4>>2]=M;if((k[j+4>>2]|0)<0){b=j;e=m;b=i0(k[e>>2]|0,k[e+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;e=M;c=m;k[c>>2]=b;k[c+4>>2]=e;c=(k[m+4>>2]|0)<0;f=m;k[f>>2]=c?0:b;k[f+4>>2]=c?0:e;f=j;k[f>>2]=0;k[f+4>>2]=0}}else{f=j;e=k[f+4>>2]|0;if((e|0)>0|(e|0)==0&(k[f>>2]|0)>>>0>0){e=j;e=i0(k[e>>2]|0,k[e+4>>2]|0,-1,-1)|0;f=j;k[f>>2]=e;k[f+4>>2]=M;break}f=m;e=k[f+4>>2]|0;if((e|0)>0|(e|0)==0&(k[f>>2]|0)>>>0>0){e=m;e=i0(k[e>>2]|0,k[e+4>>2]|0,-1,-1)|0;f=m;k[f>>2]=e;k[f+4>>2]=M}}while(0);if(k[d>>2]|0?(e=m,f=j,e=h0(k[f>>2]|0,k[f+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0,f=j,k[f>>2]=e,k[f+4>>2]=M,(k[j+4>>2]|0)<0):0){e=j;f=m;e=i0(k[f>>2]|0,k[f+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;f=m;k[f>>2]=e;k[f+4>>2]=M;f=j;k[f>>2]=0;k[f+4>>2]=0}if((k[h>>2]|0)==4){e=j;h=m;h=i0(k[e>>2]|0,k[e+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;e=M;p=k[g>>2]|0;f=((p|0)<0)<<31>>31;if((e|0)>(f|0)|(e|0)==(f|0)&h>>>0>p>>>0){h=k[g>>2]|0;f=j;f=h0(h|0,((h|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;h=M;g=m;k[g>>2]=f;k[g+4>>2]=h;g=(k[m+4>>2]|0)<0;p=m;k[p>>2]=g?0:f;k[p+4>>2]=g?0:h}p=m;bj(k[n>>2]|0,(k[o>>2]|0)+(k[j>>2]|0)|0,k[p>>2]|0,k[p+4>>2]|0,-1);u=q;return}while(1){h=j;a=k[o>>2]|0;if(!(l[k[o>>2]>>0]|0?(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0:0))break;k[o>>2]=a+1;c:do if((l[a>>0]|0)>=192)while(1){if((l[k[o>>2]>>0]&192|0)!=128)break c;k[o>>2]=(k[o>>2]|0)+1}while(0);g=j;g=i0(k[g>>2]|0,k[g+4>>2]|0,-1,-1)|0;h=j;k[h>>2]=g;k[h+4>>2]=M}k[p>>2]=a;while(1){j=m;if(!(l[k[p>>2]>>0]|0?(k[j>>2]|0)!=0|(k[j+4>>2]|0)!=0:0))break;j=k[p>>2]|0;k[p>>2]=j+1;d:do if((l[j>>0]|0)>=192)while(1){if((l[k[p>>2]>>0]&192|0)!=128)break d;k[p>>2]=(k[p>>2]|0)+1}while(0);h=m;h=i0(k[h>>2]|0,k[h+4>>2]|0,-1,-1)|0;j=m;k[j>>2]=h;k[j+4>>2]=M}p=(k[p>>2]|0)-(k[o>>2]|0)|0;aj(k[n>>2]|0,k[o>>2]|0,p,((p|0)<0)<<31>>31,-1,1);u=q;return}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0.0;h=u;u=u+32|0;j=h+24|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;k[j>>2]=a;k[h+20>>2]=b;k[d>>2]=c;c=Ei(k[j>>2]|0,32)|0;k[e>>2]=c;c=Oi(k[k[d>>2]>>2]|0)|0;k[f>>2]=c;if(!((k[e>>2]|0)!=0&(k[f>>2]|0)!=5)){u=h;return}a=(k[e>>2]|0)+16|0;j=a;j=i0(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[a>>2]=j;k[a+4>>2]=M;a=k[k[d>>2]>>2]|0;if((k[f>>2]|0)!=1){m=+Ri(a);j=k[e>>2]|0;p[j>>3]=+p[j>>3]+m;i[(k[e>>2]|0)+25>>0]=1;u=h;return}j=Pi(a)|0;f=g;k[f>>2]=j;k[f+4>>2]=M;f=g;j=k[e>>2]|0;p[j>>3]=+p[j>>3]+(+((k[f>>2]|0)>>>0)+4294967296.0*+(k[f+4>>2]|0));if(l[(k[e>>2]|0)+25>>0]|0|(l[(k[e>>2]|0)+24>>0]|0)|0){u=h;return}j=g;if(!(Qi((k[e>>2]|0)+8|0,k[j>>2]|0,k[j+4>>2]|0)|0)){u=h;return}i[(k[e>>2]|0)+24>>0]=1;u=h;return}function Rh(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ei(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){u=d;return}a=(k[c>>2]|0)+16|0;e=k[a+4>>2]|0;if(!((e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>0)){u=d;return}if(i[(k[c>>2]|0)+24>>0]|0){bi(k[b>>2]|0,22260,-1);u=d;return}a=k[b>>2]|0;b=k[c>>2]|0;if(i[(k[c>>2]|0)+25>>0]|0){Mi(a,+p[b>>3]);u=d;return}else{e=b+8|0;Li(a,k[e>>2]|0,k[e+4>>2]|0);u=d;return}}function Sh(a){a=a|0;var b=0,c=0,d=0,e=0.0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;a=Ei(k[d>>2]|0,0)|0;k[b>>2]=a;a=k[d>>2]|0;if(!(k[b>>2]|0)){e=0.0;Mi(a,e);u=c;return}e=+p[k[b>>2]>>3];Mi(a,e);u=c;return}function Th(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ei(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){u=d;return}a=(k[c>>2]|0)+16|0;e=k[a+4>>2]|0;if(!((e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>0)){u=d;return}e=(k[c>>2]|0)+16|0;Mi(k[b>>2]|0,+p[k[c>>2]>>3]/(+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0)));u=d;return}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=u;u=u+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=c;c=Ei(k[h>>2]|0,8)|0;k[e>>2]=c;if(!(k[g>>2]|0)){if(!(k[e>>2]|0)){u=f;return}}else{h=5!=(Ki(k[k[d>>2]>>2]|0)|0);if(!(h&(k[e>>2]|0)!=0)){u=f;return}}h=k[e>>2]|0;g=h;g=i0(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[h>>2]=g;k[h+4>>2]=M;u=f;return}function Vh(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;a=Ei(k[d>>2]|0,0)|0;k[b>>2]=a;a=k[d>>2]|0;if(!(k[b>>2]|0)){b=0;d=0;Li(a,b,d);u=c;return}d=k[b>>2]|0;b=k[d>>2]|0;d=k[d+4>>2]|0;Li(a,b,d);u=c;return}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+48|0;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;d=o+8|0;e=o+4|0;f=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;if((Ki(k[k[i>>2]>>2]|0)|0)==5){u=o;return}c=Ei(k[g>>2]|0,28)|0;k[l>>2]=c;if(!(k[l>>2]|0)){u=o;return}g=Zh(k[g>>2]|0)|0;k[e>>2]=g;k[f>>2]=(k[(k[l>>2]|0)+20>>2]|0)==0&1;k[(k[l>>2]|0)+20>>2]=k[(k[e>>2]|0)+96>>2];if(!(k[f>>2]|0)){if((k[h>>2]|0)==2){h=$h(k[(k[i>>2]|0)+4>>2]|0)|0;k[m>>2]=h;h=ai(k[(k[i>>2]|0)+4>>2]|0)|0;k[d>>2]=h}else{k[m>>2]=22226;k[d>>2]=1}if(k[d>>2]|0)Zd(k[l>>2]|0,k[m>>2]|0,k[d>>2]|0)}m=$h(k[k[i>>2]>>2]|0)|0;k[j>>2]=m;m=ai(k[k[i>>2]>>2]|0)|0;k[n>>2]=m;if(!(k[j>>2]|0)){u=o;return}Zd(k[l>>2]|0,k[j>>2]|0,k[n>>2]|0);u=o;return}function Xh(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ei(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){u=d;return}if((l[(k[c>>2]|0)+24>>0]|0|0)==2){Fi(k[b>>2]|0);u=d;return}a=k[b>>2]|0;if((l[(k[c>>2]|0)+24>>0]|0|0)==1){Gi(a);u=d;return}else{Hi(a,Ld(k[c>>2]|0)|0,-1,157);u=d;return}}function Yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+48|0;f=n+36|0;g=n+32|0;h=n+28|0;i=n+24|0;j=n+20|0;m=n+16|0;p=n+12|0;o=n+8|0;d=n+4|0;e=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;c=Zh(k[f>>2]|0)|0;k[o>>2]=c;c=_h(k[f>>2]|0)|0;k[d>>2]=c;c=$h(k[k[h>>2]>>2]|0)|0;k[j>>2]=c;c=$h(k[(k[h>>2]|0)+4>>2]|0)|0;k[i>>2]=c;c=ai(k[k[h>>2]>>2]|0)|0;k[p>>2]=c;if((k[p>>2]|0)>(k[(k[o>>2]|0)+96+32>>2]|0)){bi(k[f>>2]|0,22049,-1);u=n;return}do if((k[g>>2]|0)==3){p=$h(k[(k[h>>2]|0)+8>>2]|0)|0;k[e>>2]=p;if(!(k[e>>2]|0)){u=n;return}if((ci(k[e>>2]|0,-1)|0)==1){p=di(e)|0;k[m>>2]=p;break}bi(k[f>>2]|0,22082,-1);u=n;return}else k[m>>2]=l[(k[d>>2]|0)+2>>0];while(0);if(!((k[i>>2]|0)!=0&(k[j>>2]|0)!=0)){u=n;return}p=k[f>>2]|0;fi(p,ei(k[j>>2]|0,k[i>>2]|0,k[d>>2]|0,k[m>>2]|0)|0);u=n;return}function Zh(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[k[b>>2]>>2]|0)+32>>2]|0}function _h(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[(k[b>>2]|0)+4>>2]|0)+4>>2]|0}function $h(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Di(k[c>>2]|0,1)|0;u=b;return a|0}function ai(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=vi(k[c>>2]|0,1)|0;u=b;return a|0}function bi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[(k[g>>2]|0)+20>>2]=1;i[(k[g>>2]|0)+25>>0]=1;mi(k[k[g>>2]>>2]|0,k[f>>2]|0,k[e>>2]|0,1,-1)|0;u=d;return}function ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;h=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;k[d>>2]=k[h>>2];if((k[c>>2]|0)>=0)k[e>>2]=(k[d>>2]|0)+(k[c>>2]|0);else k[e>>2]=-1;while(1){if(!(l[k[d>>2]>>0]|0)){a=10;break}if((k[d>>2]|0)>>>0>=(k[e>>2]|0)>>>0){a=10;break}h=k[d>>2]|0;k[d>>2]=h+1;a:do if((l[h>>0]|0|0)>=192)while(1){if(((l[k[d>>2]>>0]|0)&192|0)!=128)break a;k[d>>2]=(k[d>>2]|0)+1}while(0);k[f>>2]=(k[f>>2]|0)+1}if((a|0)==10){u=g;return k[f>>2]|0}return 0}function di(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;e=k[b>>2]|0;a=k[e>>2]|0;k[e>>2]=a+1;k[c>>2]=l[a>>0];if((k[c>>2]|0)>>>0<192){e=k[c>>2]|0;u=d;return e|0}k[c>>2]=l[22127+((k[c>>2]|0)-192)>>0];while(1){a=k[c>>2]|0;if(((l[k[k[b>>2]>>2]>>0]|0)&192|0)!=128)break;f=k[b>>2]|0;e=k[f>>2]|0;k[f>>2]=e+1;k[c>>2]=(a<<6)+(63&(l[e>>0]|0))}if((a>>>0>=128?(k[c>>2]&-2048|0)!=55296:0)?(k[c>>2]&-2|0)!=65534:0){f=k[c>>2]|0;u=d;return f|0}k[c>>2]=65533;f=k[c>>2]|0;u=d;return f|0}function ei(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+64|0;r=x+52|0;s=x+48|0;t=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;p=x+28|0;j=x+24|0;m=x+20|0;n=x+56|0;e=x+16|0;o=x+12|0;f=x+8|0;g=x+4|0;h=x;k[s>>2]=a;k[t>>2]=b;k[v>>2]=c;k[w>>2]=d;k[j>>2]=l[(k[v>>2]|0)+1>>0];k[m>>2]=l[k[v>>2]>>0];i[n>>0]=i[(k[v>>2]|0)+3>>0]|0;k[e>>2]=0;a:while(1){if((l[k[s>>2]>>0]|0)<128){a=k[s>>2]|0;k[s>>2]=a+1;a=l[a>>0]|0}else a=di(s)|0;k[q>>2]=a;if(!a){c=83;break}if((k[q>>2]|0)==(k[m>>2]|0)){c=7;break}do if((k[q>>2]|0)==(k[w>>2]|0)){if(!(l[(k[v>>2]|0)+2>>0]|0)){d=di(s)|0;k[q>>2]=d;if(!(k[q>>2]|0)){c=49;break a}k[e>>2]=k[s>>2];break}k[f>>2]=0;k[g>>2]=0;k[h>>2]=0;d=di(t)|0;k[q>>2]=d;if(!(k[q>>2]|0)){c=52;break a}d=di(s)|0;k[p>>2]=d;if((k[p>>2]|0)==94){k[h>>2]=1;d=di(s)|0;k[p>>2]=d}if((k[p>>2]|0)==93){if((k[q>>2]|0)==93)k[g>>2]=1;d=di(s)|0;k[p>>2]=d}while(1){a=k[p>>2]|0;if(!(k[p>>2]|0?(k[p>>2]|0)!=93:0))break;if(((a|0)==45?(l[k[s>>2]>>0]|0)!=93:0)?((k[f>>2]|0)>>>0>0?(l[k[s>>2]>>0]|0)!=0:0):0){d=di(s)|0;k[p>>2]=d;if((k[q>>2]|0)>>>0>=(k[f>>2]|0)>>>0?(k[q>>2]|0)>>>0<=(k[p>>2]|0)>>>0:0)k[g>>2]=1;k[f>>2]=0}else{if((k[q>>2]|0)==(k[p>>2]|0))k[g>>2]=1;k[f>>2]=k[p>>2]}d=di(s)|0;k[p>>2]=d}if(!a){c=73;break a}if(!(k[g>>2]^k[h>>2])){c=73;break a}else continue a}while(0);if((l[k[t>>2]>>0]|0)<128){a=k[t>>2]|0;k[t>>2]=a+1;a=l[a>>0]|0}else a=di(t)|0;k[p>>2]=a;if((k[q>>2]|0)==(k[p>>2]|0))continue;if(l[n>>0]|0?((k[q>>2]|0)>>>0<128?(l[20458+(k[q>>2]&255)>>0]|0)==(l[20458+(k[p>>2]&255)>>0]|0):0)&(k[p>>2]|0)>>>0<128:0)continue;if((k[q>>2]|0)!=(k[j>>2]|0)){c=82;break}if(!(k[p>>2]|0?(k[s>>2]|0)!=(k[e>>2]|0):0)){c=82;break}}if((c|0)==7){while(1){c=0;if((l[k[s>>2]>>0]|0)<128){a=k[s>>2]|0;k[s>>2]=a+1;a=l[a>>0]|0}else a=di(s)|0;k[q>>2]=a;if((a|0)==(k[m>>2]|0))a=1;else a=(k[q>>2]|0)==(k[j>>2]|0);b=k[q>>2]|0;if(!a)break;if((b|0)!=(k[j>>2]|0)){c=7;continue}if(!(di(t)|0)){c=15;break}else c=7}if((c|0)==15){k[r>>2]=0;w=k[r>>2]|0;u=x;return w|0}if(!b){k[r>>2]=1;w=k[r>>2]|0;u=x;return w|0}do if((k[q>>2]|0)==(k[w>>2]|0)){if(!(l[(k[v>>2]|0)+2>>0]|0)){m=di(s)|0;k[q>>2]=m;if(k[q>>2]|0)break;k[r>>2]=0;w=k[r>>2]|0;u=x;return w|0}b:while(1){if(l[k[t>>2]>>0]|0)a=(ei((k[s>>2]|0)+-1|0,k[t>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)==0;else a=0;b=k[t>>2]|0;if(!a)break;k[t>>2]=b+1;if((l[b>>0]|0)<192)continue;while(1){if((l[k[t>>2]>>0]&192|0)!=128)continue b;k[t>>2]=(k[t>>2]|0)+1}}k[r>>2]=(l[b>>0]|0)!=0&1;w=k[r>>2]|0;u=x;return w|0}while(0);c:do if((k[q>>2]|0)>>>0<=128){a=k[q>>2]|0;if(i[n>>0]|0){k[o>>2]=a&~(l[20063+(k[q>>2]&255)>>0]&32);k[q>>2]=l[20458+(k[q>>2]&255)>>0]}else k[o>>2]=a;while(1){n=k[t>>2]|0;k[t>>2]=n+1;n=l[n>>0]|0;k[p>>2]=n;if(!n)break c;if((k[p>>2]|0)!=(k[q>>2]|0)?(k[p>>2]|0)!=(k[o>>2]|0):0)continue;if(ei(k[s>>2]|0,k[t>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)break}k[r>>2]=1;w=k[r>>2]|0;u=x;return w|0}else{while(1){if((l[k[t>>2]>>0]|0)<128){a=k[t>>2]|0;k[t>>2]=a+1;a=l[a>>0]|0}else a=di(t)|0;k[p>>2]=a;if(!a)break c;if((k[p>>2]|0)!=(k[q>>2]|0))continue;if(ei(k[s>>2]|0,k[t>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)break}k[r>>2]=1;w=k[r>>2]|0;u=x;return w|0}while(0);k[r>>2]=0;w=k[r>>2]|0;u=x;return w|0}else if((c|0)==49){k[r>>2]=0;w=k[r>>2]|0;u=x;return w|0}else if((c|0)==52){k[r>>2]=0;w=k[r>>2]|0;u=x;return w|0}else if((c|0)==73){k[r>>2]=0;w=k[r>>2]|0;u=x;return w|0}else if((c|0)==82){k[r>>2]=0;w=k[r>>2]|0;u=x;return w|0}else if((c|0)==83){k[r>>2]=(l[k[t>>2]>>0]|0)==0&1;w=k[r>>2]|0;u=x;return w|0}return 0}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;b=k[e>>2]|0;gi(k[k[d>>2]>>2]|0,b,((b|0)<0)<<31>>31);u=c;return}function gi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=u;u=u+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if((m[(k[d>>2]|0)+8>>1]|0)&9312|0){hi(k[d>>2]|0,k[e>>2]|0,k[e+4>>2]|0);u=f;return}else{b=e;c=k[b+4>>2]|0;e=k[d>>2]|0;k[e>>2]=k[b>>2];k[e+4>>2]=c;j[(k[d>>2]|0)+8>>1]=4;u=f;return}}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=u;u=u+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;ii(k[e>>2]|0);a=f;b=k[a+4>>2]|0;c=k[e>>2]|0;k[c>>2]=k[a>>2];k[c+4>>2]=b;j[(k[e>>2]|0)+8>>1]=4;u=d;return}function ii(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;if((m[(k[c>>2]|0)+8>>1]|0)&9312|0){ji(a);u=b;return}else{j[a+8>>1]=1;u=b;return}}function ji(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;if((m[(k[c>>2]|0)+8>>1]|0)&8192|0)ki(k[c>>2]|0,k[k[c>>2]>>2]|0)|0;a=k[c>>2]|0;do if(!((m[(k[c>>2]|0)+8>>1]|0)&1024|0)){b=k[c>>2]|0;if((m[a+8>>1]|0)&32|0){li(k[b>>2]|0);break}if((m[b+8>>1]|0)&64|0){k[d>>2]=k[k[c>>2]>>2];k[(k[d>>2]|0)+4>>2]=k[(k[k[d>>2]>>2]|0)+188>>2];k[(k[k[d>>2]>>2]|0)+188>>2]=k[d>>2]}}else Ob[k[a+36>>2]&255](k[(k[c>>2]|0)+16>>2]|0);while(0);j[(k[c>>2]|0)+8>>1]=1;u=e;return}function ki(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+96|0;d=h+80|0;e=h+76|0;f=h+72|0;g=h+40|0;c=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;if(!(k[e>>2]|0)){g=k[f>>2]|0;u=h;return g|0}if(!(k[(k[e>>2]|0)+16>>2]|0)){g=k[f>>2]|0;u=h;return g|0};k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;k[g+24>>2]=0;k[g+28>>2]=0;a=c;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));j[c+8>>1]=1;k[c+32>>2]=k[(k[d>>2]|0)+32>>2];k[g>>2]=c;k[g+8>>2]=k[d>>2];k[g+4>>2]=k[e>>2];Ob[k[(k[e>>2]|0)+16>>2]&255](g);if((k[(k[d>>2]|0)+24>>2]|0)>0)fe(k[(k[d>>2]|0)+32>>2]|0,k[(k[d>>2]|0)+20>>2]|0);a=k[d>>2]|0;b=a+40|0;do{k[a>>2]=k[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(b|0));k[f>>2]=k[g+20>>2];g=k[f>>2]|0;u=h;return g|0}function li(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];fe(k[(k[b>>2]|0)+4>>2]|0,k[c>>2]|0);k[c>>2]=k[d>>2]}k[k[b>>2]>>2]=0;j[(k[b>>2]|0)+24>>1]=0;k[(k[b>>2]|0)+8>>2]=0;k[(k[b>>2]|0)+12>>2]=0;k[(k[b>>2]|0)+20>>2]=0;j[(k[b>>2]|0)+26>>1]=1;u=e;return}function mi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+48|0;q=t+28|0;r=t+24|0;g=t+20|0;v=t+16|0;s=t+34|0;h=t+12|0;n=t+8|0;o=t+4|0;p=t+32|0;f=t;k[r>>2]=a;k[g>>2]=b;k[v>>2]=c;i[s>>0]=d;k[h>>2]=e;k[n>>2]=k[v>>2];j[p>>1]=0;a=k[r>>2]|0;if(!(k[g>>2]|0)){ii(a);k[q>>2]=0;v=k[q>>2]|0;u=t;return v|0}if(k[a+32>>2]|0)k[o>>2]=k[(k[(k[r>>2]|0)+32>>2]|0)+96>>2];else k[o>>2]=1e9;j[p>>1]=(l[s>>0]|0)==0?16:2;if((k[n>>2]|0)<0){a:do if((l[s>>0]|0)==1){v=wd(k[g>>2]|0)|0;k[n>>2]=v;if((k[n>>2]|0)>(k[o>>2]|0))k[n>>2]=(k[o>>2]|0)+1}else{k[n>>2]=0;while(1){if((k[n>>2]|0)>(k[o>>2]|0))break a;if(!(i[(k[g>>2]|0)+(k[n>>2]|0)>>0]|i[(k[g>>2]|0)+((k[n>>2]|0)+1)>>0]))break a;k[n>>2]=(k[n>>2]|0)+2}}while(0);j[p>>1]=m[p>>1]|512}do if((k[h>>2]|0)!=(-1|0)){v=(k[h>>2]|0)==191;oi(k[r>>2]|0);a=k[g>>2]|0;k[(k[r>>2]|0)+16>>2]=a;if(v){k[(k[r>>2]|0)+20>>2]=a;v=ke(k[(k[r>>2]|0)+32>>2]|0,k[(k[r>>2]|0)+20>>2]|0)|0;k[(k[r>>2]|0)+24>>2]=v;break}else{k[(k[r>>2]|0)+36>>2]=k[h>>2];j[p>>1]=m[p>>1]|((k[h>>2]|0)==0?2048:1024);break}}else{k[f>>2]=k[n>>2];if(m[p>>1]&512|0)k[f>>2]=(k[f>>2]|0)+((l[s>>0]|0)==1?1:2);if((k[n>>2]|0)>(k[o>>2]|0)){k[q>>2]=18;v=k[q>>2]|0;u=t;return v|0}if(!(ni(k[r>>2]|0,(k[f>>2]|0)>32?k[f>>2]|0:32)|0)){r0(k[(k[r>>2]|0)+16>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;break}k[q>>2]=7;v=k[q>>2]|0;u=t;return v|0}while(0);k[(k[r>>2]|0)+12>>2]=k[n>>2];j[(k[r>>2]|0)+8>>1]=j[p>>1]|0;i[(k[r>>2]|0)+10>>0]=(l[s>>0]|0)==0?1:l[s>>0]|0;if((l[(k[r>>2]|0)+10>>0]|0)!=1?pi(k[r>>2]|0)|0:0){k[q>>2]=7;v=k[q>>2]|0;u=t;return v|0}if((k[n>>2]|0)>(k[o>>2]|0)){k[q>>2]=18;v=k[q>>2]|0;u=t;return v|0}else{k[q>>2]=0;v=k[q>>2]|0;u=t;return v|0}return 0}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=k[d>>2]|0;if((k[(k[d>>2]|0)+24>>2]|0)<(k[e>>2]|0)){e=si(a,k[e>>2]|0,0)|0;k[c>>2]=e;e=k[c>>2]|0;u=f;return e|0}else{k[(k[d>>2]|0)+16>>2]=k[a+20>>2];e=(k[d>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&13;k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}return 0}function oi(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(((m[(k[b>>2]|0)+8>>1]|0)&9312|0)==0?(k[(k[b>>2]|0)+24>>2]|0)==0:0){u=c;return}ui(k[b>>2]|0);u=c;return}function pi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;b=g+4|0;c=g;d=g+10|0;e=g+9|0;f=g+8|0;k[b>>2]=a;k[c>>2]=0;i[d>>0]=0;if((k[(k[b>>2]|0)+12>>2]|0)>1){i[e>>0]=i[k[(k[b>>2]|0)+16>>2]>>0]|0;i[f>>0]=i[(k[(k[b>>2]|0)+16>>2]|0)+1>>0]|0;if((l[e>>0]|0)==254?(l[f>>0]|0)==255:0)i[d>>0]=3;if((l[e>>0]|0)==255?(l[f>>0]|0)==254:0)i[d>>0]=2}if(!(i[d>>0]|0)){f=k[c>>2]|0;u=g;return f|0}f=qi(k[b>>2]|0)|0;k[c>>2]=f;if(k[c>>2]|0){f=k[c>>2]|0;u=g;return f|0}f=(k[b>>2]|0)+12|0;k[f>>2]=(k[f>>2]|0)-2;u0(k[(k[b>>2]|0)+16>>2]|0,(k[(k[b>>2]|0)+16>>2]|0)+2|0,k[(k[b>>2]|0)+12>>2]|0)|0;i[(k[(k[b>>2]|0)+16>>2]|0)+(k[(k[b>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[b>>2]|0)+16>>2]|0)+((k[(k[b>>2]|0)+12>>2]|0)+1)>>0]=0;f=(k[b>>2]|0)+8|0;j[f>>1]=m[f>>1]|512;i[(k[b>>2]|0)+10>>0]=i[d>>0]|0;f=k[c>>2]|0;u=g;return f|0}function qi(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;do if((m[(k[c>>2]|0)+8>>1]|0)&18|0){if((m[(k[c>>2]|0)+8>>1]|0)&16384|0?ri(k[c>>2]|0)|0:0){k[b>>2]=7;c=k[b>>2]|0;u=d;return c|0}if(k[(k[c>>2]|0)+24>>2]|0?(k[(k[c>>2]|0)+16>>2]|0)==(k[(k[c>>2]|0)+20>>2]|0):0)break;if(!(si(k[c>>2]|0,(k[(k[c>>2]|0)+12>>2]|0)+2|0,1)|0)){i[(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[c>>2]|0)+16>>2]|0)+((k[(k[c>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|512;break}k[b>>2]=7;c=k[b>>2]|0;u=d;return c|0}while(0);c=(k[c>>2]|0)+8|0;j[c>>1]=(m[c>>1]|0)&-4097;k[b>>2]=0;c=k[b>>2]|0;u=d;return c|0}function ri(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+8|0;c=d+4|0;e=d;k[c>>2]=a;a=(k[(k[c>>2]|0)+12>>2]|0)+(k[k[c>>2]>>2]|0)|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)<=0?1:a;if(si(k[c>>2]|0,k[e>>2]|0,1)|0){k[b>>2]=7;e=k[b>>2]|0;u=d;return e|0}else{w0((k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)|0,0,k[k[c>>2]>>2]|0)|0;e=(k[c>>2]|0)+12|0;k[e>>2]=(k[e>>2]|0)+(k[k[c>>2]>>2]|0);e=(k[c>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&-16897;k[b>>2]=0;e=k[b>>2]|0;u=d;return e|0}return 0}function si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;do if((k[(k[f>>2]|0)+24>>2]|0)<(k[d>>2]|0)){if((k[d>>2]|0)<32)k[d>>2]=32;if((k[g>>2]|0?(k[(k[f>>2]|0)+24>>2]|0)>0:0)?(k[(k[f>>2]|0)+16>>2]|0)==(k[(k[f>>2]|0)+20>>2]|0):0){d=k[d>>2]|0;d=ti(k[(k[f>>2]|0)+32>>2]|0,k[(k[f>>2]|0)+16>>2]|0,d,((d|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+20>>2]=d;k[(k[f>>2]|0)+16>>2]=d;k[g>>2]=0}else{if((k[(k[f>>2]|0)+24>>2]|0)>0)fe(k[(k[f>>2]|0)+32>>2]|0,k[(k[f>>2]|0)+20>>2]|0);d=k[d>>2]|0;d=Md(k[(k[f>>2]|0)+32>>2]|0,d,((d|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+20>>2]=d}a=k[f>>2]|0;if(k[(k[f>>2]|0)+20>>2]|0){d=ke(k[a+32>>2]|0,k[(k[f>>2]|0)+20>>2]|0)|0;k[(k[f>>2]|0)+24>>2]=d;break}ii(a);k[(k[f>>2]|0)+16>>2]=0;k[(k[f>>2]|0)+24>>2]=0;k[e>>2]=7;g=k[e>>2]|0;u=h;return g|0}while(0);if((k[g>>2]|0?k[(k[f>>2]|0)+16>>2]|0:0)?(k[(k[f>>2]|0)+16>>2]|0)!=(k[(k[f>>2]|0)+20>>2]|0):0)r0(k[(k[f>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;if((m[(k[f>>2]|0)+8>>1]|0)&1024|0)Ob[k[(k[f>>2]|0)+36>>2]&255](k[(k[f>>2]|0)+16>>2]|0);k[(k[f>>2]|0)+16>>2]=k[(k[f>>2]|0)+20>>2];g=(k[f>>2]|0)+8|0;j[g>>1]=(m[g>>1]|0)&-7169;k[e>>2]=0;g=k[e>>2]|0;u=h;return g|0}function ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;e=h+16|0;f=h+12|0;i=h;g=h+8|0;k[e>>2]=a;k[f>>2]=b;b=i;k[b>>2]=c;k[b+4>>2]=d;d=i;d=ne(k[e>>2]|0,k[f>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0){i=k[g>>2]|0;u=h;return i|0}fe(k[e>>2]|0,k[f>>2]|0);i=k[g>>2]|0;u=h;return i|0}function ui(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if((m[(k[b>>2]|0)+8>>1]|0)&9312|0)ji(k[b>>2]|0);if(!(k[(k[b>>2]|0)+24>>2]|0)){b=k[b>>2]|0;b=b+16|0;k[b>>2]=0;u=c;return}fe(k[(k[b>>2]|0)+32>>2]|0,k[(k[b>>2]|0)+20>>2]|0);k[(k[b>>2]|0)+24>>2]=0;b=k[b>>2]|0;b=b+16|0;k[b>>2]=0;u=c;return}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;e=g+8|0;c=g+4|0;d=g+12|0;f=g;k[c>>2]=a;i[d>>0]=b;k[f>>2]=k[c>>2];if((m[(k[f>>2]|0)+8>>1]|0)&2|0?(l[(k[c>>2]|0)+10>>0]|0|0)==(l[d>>0]|0|0):0){k[e>>2]=k[(k[f>>2]|0)+12>>2];f=k[e>>2]|0;u=g;return f|0}b=m[(k[f>>2]|0)+8>>1]|0;if((m[(k[f>>2]|0)+8>>1]|0)&16|0){a=k[(k[f>>2]|0)+12>>2]|0;if(b&16384|0){k[e>>2]=a+(k[k[f>>2]>>2]|0);f=k[e>>2]|0;u=g;return f|0}else{k[e>>2]=a;f=k[e>>2]|0;u=g;return f|0}}else if(b&1|0){k[e>>2]=0;f=k[e>>2]|0;u=g;return f|0}else{f=wi(k[c>>2]|0,i[d>>0]|0)|0;k[e>>2]=f;f=k[e>>2]|0;u=g;return f|0}return 0}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;c=d;e=d+4|0;k[c>>2]=a;i[e>>0]=b;if(!(xi(k[c>>2]|0,i[e>>0]|0)|0)){e=0;u=d;return e|0}e=k[(k[c>>2]|0)+12>>2]|0;u=d;return e|0}function xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+4|0;d=f;e=f+8|0;k[d>>2]=a;i[e>>0]=b;a=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&18|0){b=a+8|0;j[b>>1]=m[b>>1]|0|2;if((l[(k[d>>2]|0)+10>>0]|0|0)!=((l[e>>0]|0)&-9|0))yi(k[d>>2]|0,(l[e>>0]|0)&-9)|0;if(((l[e>>0]|0)&8|0?1==(1&k[(k[d>>2]|0)+16>>2]|0):0)?qi(k[d>>2]|0)|0:0){k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}zi(k[d>>2]|0)|0}else Ai(a,i[e>>0]|0,0)|0;if((l[(k[d>>2]|0)+10>>0]|0|0)==((l[e>>0]|0)&-9|0)){k[c>>2]=k[(k[d>>2]|0)+16>>2];e=k[c>>2]|0;u=f;return e|0}else{k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}return 0}function yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if((m[(k[d>>2]|0)+8>>1]|0)&2|0?(l[(k[d>>2]|0)+10>>0]|0|0)!=(k[e>>2]|0):0){e=Ci(k[d>>2]|0,k[e>>2]&255)|0;k[f>>2]=e;k[c>>2]=k[f>>2];f=k[c>>2]|0;u=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}function zi(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if(((m[(k[c>>2]|0)+8>>1]|0)&514|0)!=2){k[b>>2]=0;c=k[b>>2]|0;u=d;return c|0}else{c=Bi(k[c>>2]|0)|0;k[b>>2]=c;c=k[b>>2]|0;u=d;return c|0}return 0}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0;q=u;u=u+48|0;o=q+8|0;n=q;d=q+28|0;e=q+24|0;f=q+33|0;g=q+32|0;h=q+20|0;k[e>>2]=a;i[f>>0]=b;i[g>>0]=c;k[h>>2]=m[(k[e>>2]|0)+8>>1];k[q+16>>2]=32;if(ni(k[e>>2]|0,32)|0){i[(k[e>>2]|0)+10>>0]=0;k[d>>2]=7;o=k[d>>2]|0;u=q;return o|0}a=k[(k[e>>2]|0)+16>>2]|0;b=k[e>>2]|0;if(k[h>>2]&4|0){c=b;h=k[c+4>>2]|0;o=n;k[o>>2]=k[c>>2];k[o+4>>2]=h;pf(32,a,22191,n)|0}else{p[o>>3]=+p[b>>3];pf(32,a,22196,o)|0}o=wd(k[(k[e>>2]|0)+16>>2]|0)|0;k[(k[e>>2]|0)+12>>2]=o;i[(k[e>>2]|0)+10>>0]=1;o=(k[e>>2]|0)+8|0;j[o>>1]=m[o>>1]|514;if(i[g>>0]|0){o=(k[e>>2]|0)+8|0;j[o>>1]=m[o>>1]&-13}yi(k[e>>2]|0,l[f>>0]|0)|0;k[d>>2]=0;o=k[d>>2]|0;u=q;return o|0}function Bi(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if(si(k[c>>2]|0,(k[(k[c>>2]|0)+12>>2]|0)+2|0,1)|0){k[b>>2]=7;c=k[b>>2]|0;u=d;return c|0}else{i[(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[c>>2]|0)+16>>2]|0)+((k[(k[c>>2]|0)+12>>2]|0)+1)>>0]=0;c=(k[c>>2]|0)+8|0;j[c>>1]=m[c>>1]|0|512;k[b>>2]=0;c=k[b>>2]|0;u=d;return c|0}return 0}function Ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+48|0;n=v+40|0;o=v+36|0;p=v+45|0;e=v+32|0;q=v+28|0;r=v+24|0;s=v+20|0;t=v+16|0;h=v+12|0;c=v+44|0;d=v+8|0;f=v+4|0;g=v;k[o>>2]=a;i[p>>0]=b;if((l[(k[o>>2]|0)+10>>0]|0|0)!=1?(l[p>>0]|0|0)!=1:0){t=qi(k[o>>2]|0)|0;k[d>>2]=t;if(k[d>>2]|0){k[n>>2]=7;t=k[n>>2]|0;u=v;return t|0}k[r>>2]=k[(k[o>>2]|0)+16>>2];k[s>>2]=(k[r>>2]|0)+(k[(k[o>>2]|0)+12>>2]&-2);while(1){if((k[r>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break;i[c>>0]=i[k[r>>2]>>0]|0;i[k[r>>2]>>0]=i[(k[r>>2]|0)+1>>0]|0;k[r>>2]=(k[r>>2]|0)+1;q=i[c>>0]|0;t=k[r>>2]|0;k[r>>2]=t+1;i[t>>0]=q}i[(k[o>>2]|0)+10>>0]=i[p>>0]|0}else{a=(k[o>>2]|0)+12|0;b=k[a>>2]|0;if((l[p>>0]|0|0)==1){k[a>>2]=b&-2;k[e>>2]=(k[(k[o>>2]|0)+12>>2]<<1)+1}else k[e>>2]=(b<<1)+2;k[r>>2]=k[(k[o>>2]|0)+16>>2];k[s>>2]=(k[r>>2]|0)+(k[(k[o>>2]|0)+12>>2]|0);e=k[e>>2]|0;e=Md(k[(k[o>>2]|0)+32>>2]|0,e,((e|0)<0)<<31>>31)|0;k[q>>2]=e;if(!(k[q>>2]|0)){k[n>>2]=7;t=k[n>>2]|0;u=v;return t|0}k[t>>2]=k[q>>2];if((l[(k[o>>2]|0)+10>>0]|0|0)==1){a:do if((l[p>>0]|0|0)==2)while(1){if((k[r>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break a;g=k[r>>2]|0;k[r>>2]=g+1;k[h>>2]=l[g>>0];do if((k[h>>2]|0)>>>0>=192){k[h>>2]=l[22127+((k[h>>2]|0)-192)>>0];while(1){if((k[r>>2]|0)!=(k[s>>2]|0))b=((l[k[r>>2]>>0]|0)&192|0)==128;else b=0;a=k[h>>2]|0;if(!b)break;g=k[r>>2]|0;k[r>>2]=g+1;k[h>>2]=(a<<6)+(63&(l[g>>0]|0))}if((a>>>0>=128?(k[h>>2]&-2048|0)!=55296:0)?(k[h>>2]&-2|0)!=65534:0)break;k[h>>2]=65533}while(0);a=k[h>>2]|0;if((k[h>>2]|0)>>>0<=65535){f=k[t>>2]|0;k[t>>2]=f+1;i[f>>0]=a;f=(k[h>>2]|0)>>>8&255;g=k[t>>2]|0;k[t>>2]=g+1;i[g>>0]=f;continue}else{g=(a>>>10&63)+(((k[h>>2]|0)-65536|0)>>>10&192)&255;f=k[t>>2]|0;k[t>>2]=f+1;i[f>>0]=g;f=216+(((k[h>>2]|0)-65536|0)>>>18&3)&255;g=k[t>>2]|0;k[t>>2]=g+1;i[g>>0]=f;g=k[h>>2]&255;f=k[t>>2]|0;k[t>>2]=f+1;i[f>>0]=g;f=220+((k[h>>2]|0)>>>8&3)&255;g=k[t>>2]|0;k[t>>2]=g+1;i[g>>0]=f;continue}}else while(1){if((k[r>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break a;g=k[r>>2]|0;k[r>>2]=g+1;k[h>>2]=l[g>>0];do if((k[h>>2]|0)>>>0>=192){k[h>>2]=l[22127+((k[h>>2]|0)-192)>>0];while(1){if((k[r>>2]|0)!=(k[s>>2]|0))b=((l[k[r>>2]>>0]|0)&192|0)==128;else b=0;a=k[h>>2]|0;if(!b)break;g=k[r>>2]|0;k[r>>2]=g+1;k[h>>2]=(a<<6)+(63&(l[g>>0]|0))}if((a>>>0>=128?(k[h>>2]&-2048|0)!=55296:0)?(k[h>>2]&-2|0)!=65534:0)break;k[h>>2]=65533}while(0);a=k[h>>2]|0;if((k[h>>2]|0)>>>0<=65535){f=k[t>>2]|0;k[t>>2]=f+1;i[f>>0]=a>>>8;f=k[h>>2]&255;g=k[t>>2]|0;k[t>>2]=g+1;i[g>>0]=f;continue}else{f=k[t>>2]|0;k[t>>2]=f+1;i[f>>0]=216+((a-65536|0)>>>18&3);f=((k[h>>2]|0)>>>10&63)+(((k[h>>2]|0)-65536|0)>>>10&192)&255;g=k[t>>2]|0;k[t>>2]=g+1;i[g>>0]=f;g=220+((k[h>>2]|0)>>>8&3)&255;f=k[t>>2]|0;k[t>>2]=f+1;i[f>>0]=g;f=k[h>>2]&255;g=k[t>>2]|0;k[t>>2]=g+1;i[g>>0]=f;continue}}while(0);k[(k[o>>2]|0)+12>>2]=(k[t>>2]|0)-(k[q>>2]|0);s=k[t>>2]|0;k[t>>2]=s+1;i[s>>0]=0}else{b:do if((l[(k[o>>2]|0)+10>>0]|0|0)==2)while(1){if((k[r>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break b;g=k[r>>2]|0;k[r>>2]=g+1;k[h>>2]=l[g>>0];g=k[r>>2]|0;k[r>>2]=g+1;k[h>>2]=(k[h>>2]|0)+((l[g>>0]|0)<<8);if((k[h>>2]|0)>>>0>=55296&(k[h>>2]|0)>>>0<57344?(k[r>>2]|0)>>>0<(k[s>>2]|0)>>>0:0){g=k[r>>2]|0;k[r>>2]=g+1;k[f>>2]=l[g>>0];g=k[r>>2]|0;k[r>>2]=g+1;k[f>>2]=(k[f>>2]|0)+((l[g>>0]|0)<<8);k[h>>2]=(k[f>>2]&1023)+((k[h>>2]&63)<<10)+((k[h>>2]&960)+64<<10)}a=k[h>>2]|0;if((k[h>>2]|0)>>>0<128){g=k[t>>2]|0;k[t>>2]=g+1;i[g>>0]=a;continue}b=k[h>>2]|0;if(a>>>0<2048){e=k[t>>2]|0;k[t>>2]=e+1;i[e>>0]=192+(b>>>6&31);e=128+(k[h>>2]&63)&255;g=k[t>>2]|0;k[t>>2]=g+1;i[g>>0]=e;continue}a=k[h>>2]|0;if(b>>>0<65536){g=k[t>>2]|0;k[t>>2]=g+1;i[g>>0]=224+(a>>>12&15);g=128+((k[h>>2]|0)>>>6&63)&255;e=k[t>>2]|0;k[t>>2]=e+1;i[e>>0]=g;e=128+(k[h>>2]&63)&255;g=k[t>>2]|0;k[t>>2]=g+1;i[g>>0]=e;continue}else{e=k[t>>2]|0;k[t>>2]=e+1;i[e>>0]=240+(a>>>18&7);e=128+((k[h>>2]|0)>>>12&63)&255;g=k[t>>2]|0;k[t>>2]=g+1;i[g>>0]=e;g=128+((k[h>>2]|0)>>>6&63)&255;e=k[t>>2]|0;k[t>>2]=e+1;i[e>>0]=g;e=128+(k[h>>2]&63)&255;g=k[t>>2]|0;k[t>>2]=g+1;i[g>>0]=e;continue}}else while(1){if((k[r>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break b;f=k[r>>2]|0;k[r>>2]=f+1;k[h>>2]=(l[f>>0]|0)<<8;f=k[r>>2]|0;k[r>>2]=f+1;k[h>>2]=(k[h>>2]|0)+(l[f>>0]|0);if((k[h>>2]|0)>>>0>=55296&(k[h>>2]|0)>>>0<57344?(k[r>>2]|0)>>>0<(k[s>>2]|0)>>>0:0){f=k[r>>2]|0;k[r>>2]=f+1;k[g>>2]=(l[f>>0]|0)<<8;f=k[r>>2]|0;k[r>>2]=f+1;k[g>>2]=(k[g>>2]|0)+(l[f>>0]|0);k[h>>2]=(k[g>>2]&1023)+((k[h>>2]&63)<<10)+((k[h>>2]&960)+64<<10)}a=k[h>>2]|0;if((k[h>>2]|0)>>>0<128){f=k[t>>2]|0;k[t>>2]=f+1;i[f>>0]=a;continue}b=k[h>>2]|0;if(a>>>0<2048){e=k[t>>2]|0;k[t>>2]=e+1;i[e>>0]=192+(b>>>6&31);e=128+(k[h>>2]&63)&255;f=k[t>>2]|0;k[t>>2]=f+1;i[f>>0]=e;continue}a=k[h>>2]|0;if(b>>>0<65536){f=k[t>>2]|0;k[t>>2]=f+1;i[f>>0]=224+(a>>>12&15);f=128+((k[h>>2]|0)>>>6&63)&255;e=k[t>>2]|0;k[t>>2]=e+1;i[e>>0]=f;e=128+(k[h>>2]&63)&255;f=k[t>>2]|0;k[t>>2]=f+1;i[f>>0]=e;continue}else{e=k[t>>2]|0;k[t>>2]=e+1;i[e>>0]=240+(a>>>18&7);e=128+((k[h>>2]|0)>>>12&63)&255;f=k[t>>2]|0;k[t>>2]=f+1;i[f>>0]=e;f=128+((k[h>>2]|0)>>>6&63)&255;e=k[t>>2]|0;k[t>>2]=e+1;i[e>>0]=f;e=128+(k[h>>2]&63)&255;f=k[t>>2]|0;k[t>>2]=f+1;i[f>>0]=e;continue}}while(0);k[(k[o>>2]|0)+12>>2]=(k[t>>2]|0)-(k[q>>2]|0)}i[k[t>>2]>>0]=0;k[h>>2]=m[(k[o>>2]|0)+8>>1];oi(k[o>>2]|0);j[(k[o>>2]|0)+8>>1]=514|k[h>>2]&32799;i[(k[o>>2]|0)+10>>0]=i[p>>0]|0;k[(k[o>>2]|0)+16>>2]=k[q>>2];k[(k[o>>2]|0)+20>>2]=k[(k[o>>2]|0)+16>>2];t=ke(k[(k[o>>2]|0)+32>>2]|0,k[(k[o>>2]|0)+16>>2]|0)|0;k[(k[o>>2]|0)+24>>2]=t}k[n>>2]=0;t=k[n>>2]|0;u=v;return t|0}function Di(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+4|0;d=f;e=f+8|0;k[d>>2]=a;i[e>>0]=b;do if(k[d>>2]|0){if(((m[(k[d>>2]|0)+8>>1]|0)&514|0)==514?(l[(k[d>>2]|0)+10>>0]|0|0)==(l[e>>0]|0|0):0){k[c>>2]=k[(k[d>>2]|0)+16>>2];break}if((m[(k[d>>2]|0)+8>>1]|0)&1|0){k[c>>2]=0;break}else{e=xi(k[d>>2]|0,i[e>>0]|0)|0;k[c>>2]=e;break}}else k[c>>2]=0;while(0);u=f;return k[c>>2]|0}function Ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;a=k[f>>2]|0;if(!((m[(k[(k[f>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){f=Ji(a,k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;u=e;return f|0}else{k[c>>2]=k[(k[a+8>>2]|0)+16>>2];f=k[c>>2]|0;u=e;return f|0}return 0}function Fi(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+20>>2]=18;i[(k[c>>2]|0)+25>>0]=1;mi(k[k[c>>2]>>2]|0,22203,-1,1,0)|0;u=b;return}function Gi(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ii(k[k[c>>2]>>2]|0);k[(k[c>>2]|0)+20>>2]=7;i[(k[c>>2]|0)+25>>0]=1;Yd(k[(k[k[c>>2]>>2]|0)+32>>2]|0);u=b;return}function Hi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;Ii(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,1,k[f>>2]|0);u=e;return}function Ii(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;g=u;u=u+32|0;f=g+12|0;m=g+8|0;l=g+4|0;j=g+16|0;h=g;k[f>>2]=a;k[m>>2]=b;k[l>>2]=c;i[j>>0]=d;k[h>>2]=e;if((mi(k[k[f>>2]>>2]|0,k[m>>2]|0,k[l>>2]|0,i[j>>0]|0,k[h>>2]|0)|0)!=18){u=g;return}Fi(k[f>>2]|0);u=g;return}function Ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+8>>2];a=k[e>>2]|0;if((k[d>>2]|0)>0){ni(a,k[d>>2]|0)|0;j[(k[e>>2]|0)+8>>1]=8192;k[k[e>>2]>>2]=k[(k[c>>2]|0)+4>>2];if(k[(k[e>>2]|0)+16>>2]|0)w0(k[(k[e>>2]|0)+16>>2]|0,0,k[d>>2]|0)|0}else{ii(a);k[(k[e>>2]|0)+16>>2]=0}u=f;return k[(k[e>>2]|0)+16>>2]|0}function Ki(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return l[22228+((m[(k[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function Li(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=u;u=u+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;c=f;gi(k[k[e>>2]>>2]|0,k[c>>2]|0,k[c+4>>2]|0);u=d;return}function Mi(a,b){a=a|0;b=+b;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;d=c;k[e>>2]=a;p[d>>3]=b;Ni(k[k[e>>2]>>2]|0,+p[d>>3]);u=c;return}function Ni(a,b){a=a|0;b=+b;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+8|0;d=e;k[c>>2]=a;p[d>>3]=b;ii(k[c>>2]|0);if(ae(+p[d>>3])|0){u=e;return}p[k[c>>2]>>3]=+p[d>>3];j[(k[c>>2]|0)+8>>1]=8;u=e;return}function Oi(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=Ki(k[b>>2]|0)|0;k[c>>2]=a;if((k[c>>2]|0)!=3){d=k[c>>2]|0;u=e;return d|0}k[d>>2]=k[b>>2];Yi(k[d>>2]|0,0);d=Ki(k[b>>2]|0)|0;k[c>>2]=d;d=k[c>>2]|0;u=e;return d|0}function Pi(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Ui(k[c>>2]|0)|0;u=b;return a|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;d=h+20|0;e=h+16|0;f=h+8|0;g=h;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=k[e>>2]|0;i=k[a+4>>2]|0;c=g;k[c>>2]=k[a>>2];k[c+4>>2]=i;c=f;i=k[c+4>>2]|0;a=g;b=k[a+4>>2]|0;if((i|0)>0|(i|0)==0&(k[c>>2]|0)>>>0>=0){if((b|0)>0|(b|0)==0&(k[a>>2]|0)>>>0>0?(g,g=h0(-1,2147483647,k[g>>2]|0,k[g+4>>2]|0)|0,b=M,i=f,c=k[i+4>>2]|0,(b|0)<(c|0)|((b|0)==(c|0)?g>>>0<(k[i>>2]|0)>>>0:0)):0){k[d>>2]=1;i=k[d>>2]|0;u=h;return i|0}}else if((b|0)<0?(g,g=i0(k[g>>2]|0,k[g+4>>2]|0,-1,2147483647)|0,g=h0(0,0,g|0,M|0)|0,b=M,i=f,i=i0(k[i>>2]|0,k[i+4>>2]|0,1,0)|0,c=M,(b|0)>(c|0)|(b|0)==(c|0)&g>>>0>i>>>0):0){k[d>>2]=1;i=k[d>>2]|0;u=h;return i|0}g=f;i=k[e>>2]|0;f=i;g=i0(k[f>>2]|0,k[f+4>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[i>>2]=g;k[i+4>>2]=M;k[d>>2]=0;i=k[d>>2]|0;u=h;return i|0}function Ri(a){a=a|0;var b=0.0,c=0,d=0;c=u;u=u+16|0;d=c;k[d>>2]=a;b=+Si(k[d>>2]|0);u=c;return +b}function Si(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0.0;f=u;u=u+32|0;c=f+8|0;d=f+16|0;e=f;k[d>>2]=a;a=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&8|0){p[c>>3]=+p[a>>3];g=+p[c>>3];u=f;return +g}b=k[d>>2]|0;if((m[a+8>>1]|0)&4|0){e=b;p[c>>3]=+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0);g=+p[c>>3];u=f;return +g}if((m[b+8>>1]|0)&18|0){p[e>>3]=0.0;Ti(k[(k[d>>2]|0)+16>>2]|0,e,k[(k[d>>2]|0)+12>>2]|0,i[(k[d>>2]|0)+10>>0]|0)|0;p[c>>3]=+p[e>>3];g=+p[c>>3];u=f;return +g}else{p[c>>3]=0.0;g=+p[c>>3];u=f;return +g}return 0.0}function Ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=u;u=u+96|0;E=F+76|0;B=F+72|0;D=F+68|0;h=F+64|0;j=F+80|0;o=F+60|0;v=F+56|0;q=F+52|0;r=F+16|0;n=F+48|0;w=F+44|0;s=F+40|0;x=F+36|0;y=F+8|0;z=F+32|0;A=F+28|0;g=F+24|0;t=F;k[B>>2]=a;k[D>>2]=b;k[h>>2]=c;i[j>>0]=d;k[v>>2]=(k[B>>2]|0)+(k[h>>2]|0);k[q>>2]=1;d=r;k[d>>2]=0;k[d+4>>2]=0;k[n>>2]=0;k[w>>2]=1;k[s>>2]=0;k[x>>2]=1;k[z>>2]=0;k[A>>2]=0;p[k[D>>2]>>3]=0.0;if((l[j>>0]|0)==1)k[o>>2]=1;else{k[o>>2]=2;k[g>>2]=3-(l[j>>0]|0);while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;if(i[(k[B>>2]|0)+(k[g>>2]|0)>>0]|0)break;k[g>>2]=(k[g>>2]|0)+2}k[A>>2]=(k[g>>2]|0)<(k[h>>2]|0)&1;k[v>>2]=(k[B>>2]|0)+(k[g>>2]^1);k[B>>2]=(k[B>>2]|0)+(l[j>>0]&1)}while(1){if((k[B>>2]|0)>>>0>=(k[v>>2]|0)>>>0)break;if(!(l[20063+(l[k[B>>2]>>0]|0)>>0]&1))break;k[B>>2]=(k[B>>2]|0)+(k[o>>2]|0)}if((k[B>>2]|0)>>>0>=(k[v>>2]|0)>>>0){k[E>>2]=0;E=k[E>>2]|0;u=F;return E|0}if((i[k[B>>2]>>0]|0)!=45){if((i[k[B>>2]>>0]|0)==43)k[B>>2]=(k[B>>2]|0)+(k[o>>2]|0)}else{k[q>>2]=-1;k[B>>2]=(k[B>>2]|0)+(k[o>>2]|0)}while(1){if((k[B>>2]|0)>>>0>=(k[v>>2]|0)>>>0)break;j=r;h=k[j+4>>2]|0;if(!((l[20063+(l[k[B>>2]>>0]|0)>>0]&4|0)!=0&((h|0)<214748364|(h|0)==214748364&(k[j>>2]|0)>>>0<3435973835)))break;j=r;j=B0(k[j>>2]|0,k[j+4>>2]|0,10,0)|0;h=(i[k[B>>2]>>0]|0)-48|0;h=i0(j|0,M|0,h|0,((h|0)<0)<<31>>31|0)|0;j=r;k[j>>2]=h;k[j+4>>2]=M;k[B>>2]=(k[B>>2]|0)+(k[o>>2]|0);k[z>>2]=(k[z>>2]|0)+1}while(1){if((k[B>>2]|0)>>>0>=(k[v>>2]|0)>>>0)break;if(!(l[20063+(l[k[B>>2]>>0]|0)>>0]&4))break;k[B>>2]=(k[B>>2]|0)+(k[o>>2]|0);k[z>>2]=(k[z>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}a:do if((k[B>>2]|0)>>>0<(k[v>>2]|0)>>>0){b:do if((i[k[B>>2]>>0]|0)==46){k[B>>2]=(k[B>>2]|0)+(k[o>>2]|0);while(1){if((k[B>>2]|0)>>>0>=(k[v>>2]|0)>>>0)break b;if(!(l[20063+(l[k[B>>2]>>0]|0)>>0]&4))break b;j=r;h=k[j+4>>2]|0;if((h|0)<214748364|(h|0)==214748364&(k[j>>2]|0)>>>0<3435973835){j=r;j=B0(k[j>>2]|0,k[j+4>>2]|0,10,0)|0;h=(i[k[B>>2]>>0]|0)-48|0;h=i0(j|0,M|0,h|0,((h|0)<0)<<31>>31|0)|0;j=r;k[j>>2]=h;k[j+4>>2]=M;k[n>>2]=(k[n>>2]|0)+-1}k[B>>2]=(k[B>>2]|0)+(k[o>>2]|0);k[z>>2]=(k[z>>2]|0)+1}}while(0);if((k[B>>2]|0)>>>0<(k[v>>2]|0)>>>0){if(!((i[k[B>>2]>>0]|0)!=101?(i[k[B>>2]>>0]|0)!=69:0))m=34;c:do if((m|0)==34){k[B>>2]=(k[B>>2]|0)+(k[o>>2]|0);k[x>>2]=0;if((k[B>>2]|0)>>>0>=(k[v>>2]|0)>>>0)break a;if((i[k[B>>2]>>0]|0)!=45){if((i[k[B>>2]>>0]|0)==43)k[B>>2]=(k[B>>2]|0)+(k[o>>2]|0)}else{k[w>>2]=-1;k[B>>2]=(k[B>>2]|0)+(k[o>>2]|0)}while(1){if((k[B>>2]|0)>>>0>=(k[v>>2]|0)>>>0)break c;if(!(l[20063+(l[k[B>>2]>>0]|0)>>0]&4))break c;if((k[s>>2]|0)<1e4)a=((k[s>>2]|0)*10|0)+((i[k[B>>2]>>0]|0)-48)|0;else a=1e4;k[s>>2]=a;k[B>>2]=(k[B>>2]|0)+(k[o>>2]|0);k[x>>2]=1}}while(0);while(1){if((k[B>>2]|0)>>>0>=(k[v>>2]|0)>>>0)break a;if(!(l[20063+(l[k[B>>2]>>0]|0)>>0]&1))break a;k[B>>2]=(k[B>>2]|0)+(k[o>>2]|0)}}}while(0);o=$(k[s>>2]|0,k[w>>2]|0)|0;k[s>>2]=o+(k[n>>2]|0);if((k[s>>2]|0)<0){k[w>>2]=-1;o=$(k[s>>2]|0,-1)|0;k[s>>2]=o}else k[w>>2]=1;o=r;do if(!((k[o>>2]|0)==0&(k[o+4>>2]|0)==0)){while(1){if((k[s>>2]|0)<=0)break;b=r;a=k[b>>2]|0;b=k[b+4>>2]|0;if((k[w>>2]|0)>0){if((b|0)>214748364|(b|0)==214748364&a>>>0>=3435973836)break;n=r;n=B0(k[n>>2]|0,k[n+4>>2]|0,10,0)|0;o=r;k[o>>2]=n;k[o+4>>2]=M}else{o=m0(a|0,b|0,10,0)|0;if((o|0)!=0|(M|0)!=0)break;n=r;n=x0(k[n>>2]|0,k[n+4>>2]|0,10,0)|0;o=r;k[o>>2]=n;k[o+4>>2]=M}k[s>>2]=(k[s>>2]|0)+-1}n=(k[q>>2]|0)<0;o=r;m=k[o>>2]|0;o=k[o+4>>2]|0;j=h0(0,0,m|0,o|0)|0;q=r;k[q>>2]=n?j:m;k[q+4>>2]=n?M:o;if(!(k[s>>2]|0)){w=r;p[y>>3]=+((k[w>>2]|0)>>>0)+4294967296.0*+(k[w+4>>2]|0);break}p[t>>3]=1.0;if((k[s>>2]|0)<=307){while(1){if(!((k[s>>2]|0)%22|0))break;p[t>>3]=+p[t>>3]*10.0;k[s>>2]=(k[s>>2]|0)-1}while(1){if((k[s>>2]|0)<=0)break;p[t>>3]=+p[t>>3]*1.0e22;k[s>>2]=(k[s>>2]|0)-22}s=r;f=+((k[s>>2]|0)>>>0)+4294967296.0*+(k[s+4>>2]|0);e=+p[t>>3];if((k[w>>2]|0)<0){p[y>>3]=f/e;break}else{p[y>>3]=f*e;break}}if((k[s>>2]|0)>=342){t=r;e=+((k[t>>2]|0)>>>0)+4294967296.0*+(k[t+4>>2]|0);if((k[w>>2]|0)<0){p[y>>3]=0.0*e;break}else{p[y>>3]=C*e;break}}while(1){if(!((k[s>>2]|0)%308|0))break;p[t>>3]=+p[t>>3]*10.0;k[s>>2]=(k[s>>2]|0)-1}s=r;f=+((k[s>>2]|0)>>>0)+4294967296.0*+(k[s+4>>2]|0);e=+p[t>>3];if((k[w>>2]|0)<0){p[y>>3]=f/e;p[y>>3]=+p[y>>3]/1.e+308;break}else{p[y>>3]=f*e;p[y>>3]=+p[y>>3]*1.e+308;break}}else p[y>>3]=(k[q>>2]|0)<0?-0.0:0.0;while(0);p[k[D>>2]>>3]=+p[y>>3];if(((k[z>>2]|0)>0?(k[B>>2]|0)==(k[v>>2]|0):0)&(k[x>>2]|0)!=0)a=(k[A>>2]|0)==0;else a=0;k[E>>2]=a&1;E=k[E>>2]|0;u=F;return E|0}function Ui(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+32|0;b=f+8|0;c=f+20|0;d=f+16|0;e=f;k[c>>2]=a;k[d>>2]=m[(k[c>>2]|0)+8>>1];do if(!(k[d>>2]&4|0)){if(k[d>>2]&8|0){d=Vi(+p[k[c>>2]>>3])|0;e=b;k[e>>2]=d;k[e+4>>2]=M;break}if(k[d>>2]&18|0){d=e;k[d>>2]=0;k[d+4>>2]=0;Wi(k[(k[c>>2]|0)+16>>2]|0,e,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0;c=e;d=k[c+4>>2]|0;e=b;k[e>>2]=k[c>>2];k[e+4>>2]=d;break}else{e=b;k[e>>2]=0;k[e+4>>2]=0;break}}else{c=k[c>>2]|0;d=k[c+4>>2]|0;e=b;k[e>>2]=k[c>>2];k[e+4>>2]=d}while(0);e=b;M=k[e+4>>2]|0;u=f;return k[e>>2]|0}function Vi(a){a=+a;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+8|0;c=d;p[c>>3]=a;do if(!(+p[c>>3]<=-9223372036854775808.0))if(+p[c>>3]>=9223372036854775808.0){c=b;k[c>>2]=-1;k[c+4>>2]=2147483647;break}else{a=+p[c>>3];e=+O(a)>=1.0?(a>0.0?~~+aa(+N(a/4294967296.0),4294967295.0)>>>0:~~+_((a-+(~~a>>>0))/4294967296.0)>>>0):0;c=b;k[c>>2]=~~a>>>0;k[c+4>>2]=e;break}else{e=b;k[e>>2]=0;k[e+4>>2]=-2147483648}while(0);e=b;M=k[e+4>>2]|0;u=d;return k[e>>2]|0}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+64|0;q=v+48|0;r=v+44|0;s=v+40|0;e=v+36|0;f=v+52|0;t=v+32|0;g=v;h=v+28|0;j=v+24|0;m=v+20|0;n=v+16|0;o=v+12|0;p=v+8|0;k[r>>2]=a;k[s>>2]=b;k[e>>2]=c;i[f>>0]=d;d=g;k[d>>2]=0;k[d+4>>2]=0;k[h>>2]=0;k[m>>2]=0;k[n>>2]=0;k[p>>2]=(k[r>>2]|0)+(k[e>>2]|0);if((l[f>>0]|0)==1)k[t>>2]=1;else{k[t>>2]=2;k[j>>2]=3-(l[f>>0]|0);while(1){if((k[j>>2]|0)>=(k[e>>2]|0))break;if(i[(k[r>>2]|0)+(k[j>>2]|0)>>0]|0)break;k[j>>2]=(k[j>>2]|0)+2}k[n>>2]=(k[j>>2]|0)<(k[e>>2]|0)&1;k[p>>2]=(k[r>>2]|0)+(k[j>>2]^1);k[r>>2]=(k[r>>2]|0)+(l[f>>0]&1)}while(1){if((k[r>>2]|0)>>>0>=(k[p>>2]|0)>>>0)break;if(!(l[20063+(l[k[r>>2]>>0]|0)>>0]&1))break;k[r>>2]=(k[r>>2]|0)+(k[t>>2]|0)}do if((k[r>>2]|0)>>>0<(k[p>>2]|0)>>>0){if((i[k[r>>2]>>0]|0)==45){k[h>>2]=1;k[r>>2]=(k[r>>2]|0)+(k[t>>2]|0);break}if((i[k[r>>2]>>0]|0)==43)k[r>>2]=(k[r>>2]|0)+(k[t>>2]|0)}while(0);k[o>>2]=k[r>>2];while(1){if((k[r>>2]|0)>>>0>=(k[p>>2]|0)>>>0)break;if((i[k[r>>2]>>0]|0)!=48)break;k[r>>2]=(k[r>>2]|0)+(k[t>>2]|0)}k[j>>2]=0;while(1){if(((k[r>>2]|0)+(k[j>>2]|0)|0)>>>0<(k[p>>2]|0)>>>0?(f=i[(k[r>>2]|0)+(k[j>>2]|0)>>0]|0,k[m>>2]=f,(f|0)>=48):0)a=(k[m>>2]|0)<=57;else a=0;c=g;b=k[c>>2]|0;c=k[c+4>>2]|0;if(!a)break;f=B0(b|0,c|0,10,0)|0;e=k[m>>2]|0;e=i0(f|0,M|0,e|0,((e|0)<0)<<31>>31|0)|0;e=h0(e|0,M|0,48,0)|0;f=g;k[f>>2]=e;k[f+4>>2]=M;k[j>>2]=(k[j>>2]|0)+(k[t>>2]|0)}d=(k[h>>2]|0)!=0;do if(!(c>>>0>2147483647|(c|0)==2147483647&b>>>0>4294967295)){b=g;a=k[b>>2]|0;b=k[b+4>>2]|0;if(d){g=h0(0,0,a|0,b|0)|0;s=k[s>>2]|0;k[s>>2]=g;k[s+4>>2]=M;break}else{s=k[s>>2]|0;k[s>>2]=a;k[s+4>>2]=b;break}}else{s=k[s>>2]|0;k[s>>2]=d?0:-1;k[s+4>>2]=d?-2147483648:2147483647}while(0);do if(((k[r>>2]|0)+(k[j>>2]|0)|0)>>>0>=(k[p>>2]|0)>>>0){if((k[j>>2]|0)==0?(k[o>>2]|0)==(k[r>>2]|0):0)break;if(!(k[n>>2]|0?1:(k[j>>2]|0)>((k[t>>2]|0)*19|0))){if((k[j>>2]|0)<((k[t>>2]|0)*19|0)){k[q>>2]=0;t=k[q>>2]|0;u=v;return t|0}t=Xi(k[r>>2]|0,k[t>>2]|0)|0;k[m>>2]=t;if((k[m>>2]|0)<0){k[q>>2]=0;t=k[q>>2]|0;u=v;return t|0}if((k[m>>2]|0)>0){k[q>>2]=1;t=k[q>>2]|0;u=v;return t|0}else{k[q>>2]=k[h>>2]|0?0:2;t=k[q>>2]|0;u=v;return t|0}}}while(0);k[q>>2]=1;t=k[q>>2]|0;u=v;return t|0}function Xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[g>>2]=22277;k[f>>2]=0;while(1){if(!((k[e>>2]|0)==0?(k[f>>2]|0)<18:0))break;b=(k[c>>2]|0)+($(k[f>>2]|0,k[d>>2]|0)|0)|0;k[e>>2]=((i[b>>0]|0)-(i[(k[g>>2]|0)+(k[f>>2]|0)>>0]|0)|0)*10;k[f>>2]=(k[f>>2]|0)+1}if(k[e>>2]|0){g=k[e>>2]|0;u=h;return g|0}k[e>>2]=(i[(k[c>>2]|0)+((k[d>>2]|0)*18|0)>>0]|0)-56;g=k[e>>2]|0;u=h;return g|0}function Yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+20|0;d=h+16|0;e=h+8|0;f=h;g=h+24|0;k[c>>2]=a;k[d>>2]=b;i[g>>0]=i[(k[c>>2]|0)+10>>0]|0;if(!(Ti(k[(k[c>>2]|0)+16>>2]|0,e,k[(k[c>>2]|0)+12>>2]|0,i[g>>0]|0)|0)){u=h;return}if(!(Wi(k[(k[c>>2]|0)+16>>2]|0,f,k[(k[c>>2]|0)+12>>2]|0,i[g>>0]|0)|0)){e=f;f=k[e+4>>2]|0;g=k[c>>2]|0;k[g>>2]=k[e>>2];k[g+4>>2]=f;g=(k[c>>2]|0)+8|0;j[g>>1]=m[g>>1]|0|4;u=h;return}p[k[c>>2]>>3]=+p[e>>3];g=(k[c>>2]|0)+8|0;j[g>>1]=m[g>>1]|0|8;if(!(k[d>>2]|0)){u=h;return}Zi(k[c>>2]|0);u=h;return}function Zi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=u;u=u+16|0;b=d+8|0;c=d;k[b>>2]=a;f=Vi(+p[k[b>>2]>>3])|0;h=c;k[h>>2]=f;k[h+4>>2]=M;h=c;f=c;g=k[f+4>>2]|0;a=c;e=k[a+4>>2]|0;if(!(+p[k[b>>2]>>3]==+((k[h>>2]|0)>>>0)+4294967296.0*+(k[h+4>>2]|0)&((g|0)>-2147483648|(g|0)==-2147483648&(k[f>>2]|0)>>>0>0)&((e|0)<2147483647|(e|0)==2147483647&(k[a>>2]|0)>>>0<4294967295))){u=d;return}f=c;g=k[f+4>>2]|0;h=k[b>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;j[(k[b>>2]|0)+8>>1]=(m[(k[b>>2]|0)+8>>1]|0)&-49664|4;u=d;return}function _i(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Ui(k[c>>2]|0)|0;u=b;return a|0}function $i(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;d=e+8|0;b=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[b>>2];if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){c=$h(k[b>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;u=e;return d|0}if((m[(k[c>>2]|0)+8>>1]|0)&16384|0)a=ri(k[c>>2]|0)|0;else a=0;if(a|0){k[d>>2]=0;d=k[d>>2]|0;u=e;return d|0}b=(k[c>>2]|0)+8|0;j[b>>1]=m[b>>1]|0|16;if(k[(k[c>>2]|0)+12>>2]|0)a=k[(k[c>>2]|0)+16>>2]|0;else a=0;k[d>>2]=a;d=k[d>>2]|0;u=e;return d|0}function aj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+32|0;h=o+16|0;j=o+12|0;m=o;n=o+8|0;g=o+20|0;k[h>>2]=a;k[j>>2]=b;b=m;k[b>>2]=c;k[b+4>>2]=d;k[n>>2]=e;i[g>>0]=f;if((l[g>>0]|0)==4)i[g>>0]=(i[936]|0)==0?3:2;f=m;e=k[f+4>>2]|0;if(e>>>0>0|(e|0)==0&(k[f>>2]|0)>>>0>2147483647){cj(k[j>>2]|0,k[n>>2]|0,k[h>>2]|0)|0;u=o;return}else{Ii(k[h>>2]|0,k[j>>2]|0,k[m>>2]|0,i[g>>0]|0,k[n>>2]|0);u=o;return}}function bj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=e;e=h;d=k[e+4>>2]|0;if(d>>>0>0|(d|0)==0&(k[e>>2]|0)>>>0>2147483647){cj(k[g>>2]|0,k[i>>2]|0,k[f>>2]|0)|0;u=j;return}else{Ii(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,k[i>>2]|0);u=j;return}}function cj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!((k[e>>2]|0)==0|(k[e>>2]|0)==(-1|0)))Ob[k[e>>2]&255](k[d>>2]|0);if(!(k[f>>2]|0)){u=g;return 18}Fi(k[f>>2]|0);u=g;return 18}function dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=u;u=u+32|0;d=g+16|0;e=g+12|0;f=g;i=g+8|0;k[e>>2]=a;h=f;k[h>>2]=b;k[h+4>>2]=c;k[i>>2]=k[k[e>>2]>>2];b=f;h=k[b+4>>2]|0;c=k[(k[(k[i>>2]|0)+32>>2]|0)+96>>2]|0;a=((c|0)<0)<<31>>31;if(h>>>0>a>>>0|((h|0)==(a|0)?(k[b>>2]|0)>>>0>c>>>0:0)){k[d>>2]=18;i=k[d>>2]|0;u=g;return i|0}else{gj(k[k[e>>2]>>2]|0,k[f>>2]|0);k[d>>2]=0;i=k[d>>2]|0;u=g;return i|0}return 0}function ej(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;k[(k[c>>2]|0)+20>>2]=k[d>>2];i[(k[c>>2]|0)+25>>0]=1;if(!((m[(k[k[c>>2]>>2]|0)+8>>1]|0)&1)){u=e;return}c=k[k[c>>2]>>2]|0;mi(c,fj(k[d>>2]|0)|0,-1,1,0)|0;u=e;return}function fj(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=22296;if((k[b>>2]|0)!=516){k[b>>2]=k[b>>2]&255;if((k[b>>2]|0)>=0&(k[b>>2]|0)<27?k[3612+(k[b>>2]<<2)>>2]|0:0)k[c>>2]=k[3612+(k[b>>2]<<2)>>2]}else k[c>>2]=22310;u=d;return k[c>>2]|0}function gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;oi(k[c>>2]|0);j[(k[c>>2]|0)+8>>1]=16400;k[(k[c>>2]|0)+12>>2]=0;if((k[d>>2]|0)<0)k[d>>2]=0;k[k[c>>2]>>2]=k[d>>2];i[(k[c>>2]|0)+10>>0]=1;k[(k[c>>2]|0)+16>>2]=0;u=e;return}function hj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;jj(k[k[e>>2]>>2]|0,k[d>>2]|0)|0;u=c;return}function ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=u;u=u+32|0;d=g+16|0;e=g;f=g+12|0;i=g+8|0;k[d>>2]=a;h=e;k[h>>2]=b;k[h+4>>2]=c;b=Zh(k[d>>2]|0)|0;k[i>>2]=b;b=e;h=k[b+4>>2]|0;c=k[(k[i>>2]|0)+96>>2]|0;a=((c|0)<0)<<31>>31;if((h|0)>(a|0)|((h|0)==(a|0)?(k[b>>2]|0)>>>0>c>>>0:0)){Fi(k[d>>2]|0);k[f>>2]=0;i=k[f>>2]|0;u=g;return i|0}i=e;i=Pd(k[i>>2]|0,k[i+4>>2]|0)|0;k[f>>2]=i;if(k[f>>2]|0){i=k[f>>2]|0;u=g;return i|0}Gi(k[d>>2]|0);i=k[f>>2]|0;u=g;return i|0}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((m[(k[c>>2]|0)+8>>1]|0)&9312|0)ji(k[c>>2]|0);b=k[c>>2]|0;a=k[d>>2]|0;k[b>>2]=k[a>>2];k[b+4>>2]=k[a+4>>2];k[b+8>>2]=k[a+8>>2];k[b+12>>2]=k[a+12>>2];k[b+16>>2]=k[a+16>>2];b=(k[c>>2]|0)+8|0;j[b>>1]=(m[b>>1]|0)&-1025;if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){e=k[e>>2]|0;u=f;return e|0}if((m[(k[d>>2]|0)+8>>1]|0)&2048){e=k[e>>2]|0;u=f;return e|0}d=(k[c>>2]|0)+8|0;j[d>>1]=m[d>>1]|0|4096;d=qi(k[c>>2]|0)|0;k[e>>2]=d;e=k[e>>2]|0;u=f;return e|0}function kj(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+92>>2]|0}function lj(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+88>>2]|0}function mj(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+32|0;M=k[a+4>>2]|0;u=b;return k[a>>2]|0}function nj(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[(k[(k[d>>2]|0)+12>>2]|0)+88>>2]|0)+(((k[(k[d>>2]|0)+16>>2]|0)-1|0)*20|0);u=c;return k[(k[b>>2]|0)+16>>2]|0}function oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=m[(k[e>>2]|0)+8>>1];k[i>>2]=m[(k[f>>2]|0)+8>>1];k[j>>2]=k[h>>2]|k[i>>2];do if(!(k[j>>2]&1|0)){if(!(k[j>>2]&12)){if(k[j>>2]&2|0){if(!(k[h>>2]&2)){k[d>>2]=1;break}if(!(k[i>>2]&2)){k[d>>2]=-1;break}if(k[g>>2]|0){j=qj(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,0)|0;k[d>>2]=j;break}}j=rj(k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=j;break}if(k[h>>2]&k[i>>2]&4|0){i=k[e>>2]|0;g=k[i+4>>2]|0;j=k[f>>2]|0;h=k[j+4>>2]|0;if((g|0)<(h|0)|((g|0)==(h|0)?(k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0:0)){k[d>>2]=-1;break}i=k[e>>2]|0;g=k[i+4>>2]|0;j=k[f>>2]|0;h=k[j+4>>2]|0;if((g|0)>(h|0)|((g|0)==(h|0)?(k[i>>2]|0)>>>0>(k[j>>2]|0)>>>0:0)){k[d>>2]=1;break}else{k[d>>2]=0;break}}if(k[h>>2]&k[i>>2]&8|0){if(+p[k[e>>2]>>3]<+p[k[f>>2]>>3]){k[d>>2]=-1;break}if(+p[k[e>>2]>>3]>+p[k[f>>2]>>3]){k[d>>2]=1;break}else{k[d>>2]=0;break}}if(k[h>>2]&4|0)if(k[i>>2]&8|0){j=k[e>>2]|0;j=pj(k[j>>2]|0,k[j+4>>2]|0,+p[k[f>>2]>>3])|0;k[d>>2]=j;break}else{k[d>>2]=-1;break}if(!(k[h>>2]&8)){k[d>>2]=1;break}if(k[i>>2]&4|0){j=k[f>>2]|0;j=0-(pj(k[j>>2]|0,k[j+4>>2]|0,+p[k[e>>2]>>3])|0)|0;k[d>>2]=j;break}else{k[d>>2]=-1;break}}else k[d>>2]=(k[i>>2]&1)-(k[h>>2]&1);while(0);u=l;return k[d>>2]|0}function pj(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+48|0;d=i+32|0;e=i+24|0;f=i+16|0;g=i+8|0;h=i;j=e;k[j>>2]=a;k[j+4>>2]=b;p[f>>3]=c;if(+p[f>>3]<-9223372036854775808.0){k[d>>2]=1;j=k[d>>2]|0;u=i;return j|0}if(+p[f>>3]>9223372036854775808.0){k[d>>2]=-1;j=k[d>>2]|0;u=i;return j|0}c=+p[f>>3];l=+O(c)>=1.0?(c>0.0?~~+aa(+N(c/4294967296.0),4294967295.0)>>>0:~~+_((c-+(~~c>>>0))/4294967296.0)>>>0):0;b=g;k[b>>2]=~~c>>>0;k[b+4>>2]=l;b=e;l=k[b+4>>2]|0;j=g;a=k[j+4>>2]|0;if((l|0)<(a|0)|((l|0)==(a|0)?(k[b>>2]|0)>>>0<(k[j>>2]|0)>>>0:0)){k[d>>2]=-1;l=k[d>>2]|0;u=i;return l|0}j=e;a=k[j+4>>2]|0;l=g;b=k[l+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(k[j>>2]|0)>>>0>(k[l>>2]|0)>>>0:0)){l=g;if(((k[l>>2]|0)==0?(k[l+4>>2]|0)==-2147483648:0)&+p[f>>3]>0.0){k[d>>2]=-1;l=k[d>>2]|0;u=i;return l|0}else{k[d>>2]=1;l=k[d>>2]|0;u=i;return l|0}}l=e;p[h>>3]=+((k[l>>2]|0)>>>0)+4294967296.0*+(k[l+4>>2]|0);if(+p[h>>3]<+p[f>>3]){k[d>>2]=-1;l=k[d>>2]|0;u=i;return l|0}if(+p[h>>3]>+p[f>>3]){k[d>>2]=1;l=k[d>>2]|0;u=i;return l|0}else{k[d>>2]=0;l=k[d>>2]|0;u=i;return l|0}return 0}function qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+128|0;n=t+116|0;o=t+112|0;p=t+108|0;q=t+104|0;r=t+100|0;s=t+96|0;e=t+92|0;f=t+88|0;g=t+84|0;h=t+80|0;j=t+40|0;m=t;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[r>>2]=d;if((l[(k[o>>2]|0)+10>>0]|0|0)==(l[(k[q>>2]|0)+4>>0]|0|0)){s=Xb[k[(k[q>>2]|0)+12>>2]&255](k[(k[q>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[(k[p>>2]|0)+12>>2]|0,k[(k[p>>2]|0)+16>>2]|0)|0;k[n>>2]=s;s=k[n>>2]|0;u=t;return s|0}tj(j,k[(k[o>>2]|0)+32>>2]|0,1);tj(m,k[(k[o>>2]|0)+32>>2]|0,1);uj(j,k[o>>2]|0,4096);uj(m,k[p>>2]|0,4096);p=Di(j,i[(k[q>>2]|0)+4>>0]|0)|0;k[e>>2]=p;k[g>>2]=(k[e>>2]|0)==0?0:k[j+12>>2]|0;p=Di(m,i[(k[q>>2]|0)+4>>0]|0)|0;k[f>>2]=p;k[h>>2]=(k[f>>2]|0)==0?0:k[m+12>>2]|0;q=Xb[k[(k[q>>2]|0)+12>>2]&255](k[(k[q>>2]|0)+8>>2]|0,k[g>>2]|0,k[e>>2]|0,k[h>>2]|0,k[f>>2]|0)|0;k[s>>2]=q;if(((k[e>>2]|0)==0|(k[f>>2]|0)==0)&(k[r>>2]|0)!=0)i[k[r>>2]>>0]=7;oi(j);oi(m);k[n>>2]=k[s>>2];s=k[n>>2]|0;u=t;return s|0}function rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+20|0;e=i+16|0;f=i+12|0;c=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=k[(k[e>>2]|0)+12>>2];k[h>>2]=k[(k[f>>2]|0)+12>>2];b=k[e>>2]|0;if(!((m[(k[e>>2]|0)+8>>1]|0|(m[(k[f>>2]|0)+8>>1]|0))&16384)){f=R_(k[b+16>>2]|0,k[(k[f>>2]|0)+16>>2]|0,(k[g>>2]|0)>(k[h>>2]|0)?k[h>>2]|0:k[g>>2]|0)|0;k[c>>2]=f;if(k[c>>2]|0){k[d>>2]=k[c>>2];h=k[d>>2]|0;u=i;return h|0}else{k[d>>2]=(k[g>>2]|0)-(k[h>>2]|0);h=k[d>>2]|0;u=i;return h|0}}a=k[e>>2]|0;if((m[b+8>>1]|0)&(m[(k[f>>2]|0)+8>>1]|0)&16384|0){k[d>>2]=(k[a>>2]|0)-(k[k[f>>2]>>2]|0);h=k[d>>2]|0;u=i;return h|0}if((m[a+8>>1]|0)&16384|0)if(sj(k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0){k[d>>2]=(k[k[e>>2]>>2]|0)-(k[h>>2]|0);h=k[d>>2]|0;u=i;return h|0}else{k[d>>2]=-1;h=k[d>>2]|0;u=i;return h|0}else if(sj(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0){k[d>>2]=(k[g>>2]|0)-(k[k[f>>2]>>2]|0);h=k[d>>2]|0;u=i;return h|0}else{k[d>>2]=1;h=k[d>>2]|0;u=i;return h|0}return 0}function sj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[d>>2]|0)){a=6;break}if(i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0){a=4;break}k[e>>2]=(k[e>>2]|0)+1}if((a|0)==4){k[f>>2]=0;f=k[f>>2]|0;u=g;return f|0}else if((a|0)==6){k[f>>2]=1;f=k[f>>2]|0;u=g;return f|0}return 0}function tj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;e=d+4|0;f=d;g=d+8|0;k[e>>2]=a;k[f>>2]=b;j[g>>1]=c;j[(k[e>>2]|0)+8>>1]=j[g>>1]|0;k[(k[e>>2]|0)+32>>2]=k[f>>2];k[(k[e>>2]|0)+24>>2]=0;u=d;return}function uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&9312|0){vj(a,k[e>>2]|0,k[f>>2]|0);u=g;return}c=k[e>>2]|0;k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[a+12>>2]=k[c+12>>2];k[a+16>>2]=k[c+16>>2];if((m[(k[e>>2]|0)+8>>1]|0)&2048|0){u=g;return}e=(k[d>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&-7169;e=(k[d>>2]|0)+8|0;j[e>>1]=m[e>>1]|0|k[f>>2];u=g;return}function vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;ji(k[g>>2]|0);uj(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);u=d;return}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;Ii(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,0,k[f>>2]|0);u=e;return}function xj(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ii(k[k[c>>2]>>2]|0);u=b;return}function yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+32|0;g=d+20|0;f=d+16|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;Kd(k[g>>2]|0,k[f>>2]|0,e);u=d;return}function zj(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+24>>0]=1;u=b;return}function Aj(){return 20048}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=u;u=u+64|0;d=f+56|0;h=f+52|0;g=f+48|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;if(Jj(k[d>>2]|0,k[h>>2]|0,k[g>>2]|0,e)|0){u=f;return}Kj(e);h=e;Mi(k[d>>2]|0,(+((k[h>>2]|0)>>>0)+4294967296.0*+(k[h+4>>2]|0))/864.0e5);u=f;return}function Cj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+176|0;g=h+48|0;d=h+68|0;j=h+64|0;i=h+60|0;e=h;f=h+72|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(Jj(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,e)|0){u=h;return}Mj(e);i=k[e+12>>2]|0;j=k[e+16>>2]|0;k[g>>2]=k[e+8>>2];k[g+4>>2]=i;k[g+8>>2]=j;pf(100,f,23314,g)|0;Hi(k[d>>2]|0,f,-1,-1);u=h;return}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+176|0;g=h+48|0;d=h+68|0;j=h+64|0;i=h+60|0;e=h;f=h+72|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(Jj(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,e)|0){u=h;return}Nj(e);i=k[e+24>>2]|0;j=~~+p[e+32>>3];k[g>>2]=k[e+20>>2];k[g+4>>2]=i;k[g+8>>2]=j;pf(100,f,23299,g)|0;Hi(k[d>>2]|0,f,-1,-1);u=h;return}function Ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+192|0;g=h+48|0;d=h+80|0;j=h+76|0;i=h+72|0;e=h;f=h+84|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(Jj(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,e)|0){u=h;return}Lj(e);a=k[e+12>>2]|0;b=k[e+16>>2]|0;c=k[e+20>>2]|0;i=k[e+24>>2]|0;j=~~+p[e+32>>3];k[g>>2]=k[e+8>>2];k[g+4>>2]=a;k[g+8>>2]=b;k[g+12>>2]=c;k[g+16>>2]=i;k[g+20>>2]=j;pf(100,f,23269,g)|0;Hi(k[d>>2]|0,f,-1,-1);u=h;return}function Fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=u;u=u+336|0;F=I+192|0;E=I+184|0;D=I+176|0;C=I+168|0;B=I+160|0;A=I+152|0;z=I+144|0;H=I+136|0;G=I+128|0;y=I+120|0;x=I+112|0;s=I+232|0;e=I+228|0;f=I+224|0;t=I+64|0;g=I+56|0;v=I+220|0;w=I+216|0;j=I+212|0;d=I+208|0;l=I+204|0;m=I+236|0;n=I+48|0;o=I+200|0;q=I;r=I+196|0;k[s>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){u=I;return}c=$h(k[k[f>>2]>>2]|0)|0;k[l>>2]=c;if(!(k[l>>2]|0)){u=I;return}if(Jj(k[s>>2]|0,(k[e>>2]|0)-1|0,(k[f>>2]|0)+4|0,t)|0){u=I;return}f=Zh(k[s>>2]|0)|0;k[d>>2]=f;k[v>>2]=0;f=g;k[f>>2]=1;k[f+4>>2]=0;a:while(1){if(!(i[(k[l>>2]|0)+(k[v>>2]|0)>>0]|0))break;if((i[(k[l>>2]|0)+(k[v>>2]|0)>>0]|0)==37){switch(i[(k[l>>2]|0)+((k[v>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=g;e=i0(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;f=g;k[f>>2]=e;k[f+4>>2]=M;break}case 37:case 119:break;case 102:{e=g;e=i0(k[e>>2]|0,k[e+4>>2]|0,8,0)|0;f=g;k[f>>2]=e;k[f+4>>2]=M;break}case 106:{e=g;e=i0(k[e>>2]|0,k[e+4>>2]|0,3,0)|0;f=g;k[f>>2]=e;k[f+4>>2]=M;break}case 89:{e=g;e=i0(k[e>>2]|0,k[e+4>>2]|0,8,0)|0;f=g;k[f>>2]=e;k[f+4>>2]=M;break}case 74:case 115:{e=g;e=i0(k[e>>2]|0,k[e+4>>2]|0,50,0)|0;f=g;k[f>>2]=e;k[f+4>>2]=M;break}default:{h=44;break a}}k[v>>2]=(k[v>>2]|0)+1}k[v>>2]=(k[v>>2]|0)+1;e=g;e=i0(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;f=g;k[f>>2]=e;k[f+4>>2]=M}if((h|0)==44){u=I;return}h=g;f=k[h+4>>2]|0;if(!(f>>>0<0|(f|0)==0&(k[h>>2]|0)>>>0<100)){f=g;c=k[f+4>>2]|0;h=k[(k[d>>2]|0)+96>>2]|0;e=((h|0)<0)<<31>>31;if(c>>>0>e>>>0|((c|0)==(e|0)?(k[f>>2]|0)>>>0>h>>>0:0)){Fi(k[s>>2]|0);u=I;return}h=k[g>>2]|0;h=Od(k[d>>2]|0,h,((h|0)<0)<<31>>31)|0;k[j>>2]=h;if(!(k[j>>2]|0)){Gi(k[s>>2]|0);u=I;return}}else k[j>>2]=m;Kj(t);Lj(t);k[w>>2]=0;k[v>>2]=0;while(1){if(!(i[(k[l>>2]|0)+(k[v>>2]|0)>>0]|0))break;b:do if((i[(k[l>>2]|0)+(k[v>>2]|0)>>0]|0)!=37){f=i[(k[l>>2]|0)+(k[v>>2]|0)>>0]|0;g=k[j>>2]|0;h=k[w>>2]|0;k[w>>2]=h+1;i[g+h>>0]=f}else{k[v>>2]=(k[v>>2]|0)+1;do switch(i[(k[l>>2]|0)+(k[v>>2]|0)>>0]|0){case 100:{h=(k[j>>2]|0)+(k[w>>2]|0)|0;k[x>>2]=k[t+16>>2];pf(3,h,23105,x)|0;k[w>>2]=(k[w>>2]|0)+2;break b}case 102:{p[n>>3]=+p[t+32>>3];if(+p[n>>3]>59.999)p[n>>3]=59.999;h=(k[j>>2]|0)+(k[w>>2]|0)|0;p[y>>3]=+p[n>>3];pf(7,h,23110,y)|0;h=wd((k[j>>2]|0)+(k[w>>2]|0)|0)|0;k[w>>2]=(k[w>>2]|0)+h;break b}case 72:{h=(k[j>>2]|0)+(k[w>>2]|0)|0;k[G>>2]=k[t+20>>2];pf(3,h,23105,G)|0;k[w>>2]=(k[w>>2]|0)+2;break b}case 106:case 87:{a=q;b=t;d=a+48|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));i[q+42>>0]=0;k[q+12>>2]=1;k[q+16>>2]=1;Kj(q);g=t;h=q;h=x0(i0(h0(k[g>>2]|0,k[g+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0,M|0,432e5,0)|0,M|0,864e5,0)|0;k[o>>2]=h;if((i[(k[l>>2]|0)+(k[v>>2]|0)>>0]|0)==87){h=t;h=i0(k[h>>2]|0,k[h+4>>2]|0,432e5,0)|0;h=x0(h|0,M|0,864e5,0)|0;h=m0(h|0,M|0,7,0)|0;k[r>>2]=h;h=(k[j>>2]|0)+(k[w>>2]|0)|0;k[H>>2]=((k[o>>2]|0)+7-(k[r>>2]|0)|0)/7|0;pf(3,h,23105,H)|0;k[w>>2]=(k[w>>2]|0)+2;break b}else{h=(k[j>>2]|0)+(k[w>>2]|0)|0;k[z>>2]=(k[o>>2]|0)+1;pf(4,h,23117,z)|0;k[w>>2]=(k[w>>2]|0)+3;break b}}case 74:{h=(k[j>>2]|0)+(k[w>>2]|0)|0;g=t;p[A>>3]=(+((k[g>>2]|0)>>>0)+4294967296.0*+(k[g+4>>2]|0))/864.0e5;pf(20,h,23122,A)|0;h=wd((k[j>>2]|0)+(k[w>>2]|0)|0)|0;k[w>>2]=(k[w>>2]|0)+h;break b}case 109:{h=(k[j>>2]|0)+(k[w>>2]|0)|0;k[B>>2]=k[t+12>>2];pf(3,h,23105,B)|0;k[w>>2]=(k[w>>2]|0)+2;break b}case 77:{h=(k[j>>2]|0)+(k[w>>2]|0)|0;k[C>>2]=k[t+24>>2];pf(3,h,23105,C)|0;k[w>>2]=(k[w>>2]|0)+2;break b}case 115:{h=(k[j>>2]|0)+(k[w>>2]|0)|0;f=t;f=h0(x0(k[f>>2]|0,k[f+4>>2]|0,1e3,0)|0,M|0,413362496,49)|0;g=D;k[g>>2]=f;k[g+4>>2]=M;pf(30,h,22191,D)|0;h=wd((k[j>>2]|0)+(k[w>>2]|0)|0)|0;k[w>>2]=(k[w>>2]|0)+h;break b}case 83:{h=(k[j>>2]|0)+(k[w>>2]|0)|0;k[E>>2]=~~+p[t+32>>3];pf(3,h,23105,E)|0;k[w>>2]=(k[w>>2]|0)+2;break b}case 119:{f=t;f=m0(x0(i0(k[f>>2]|0,k[f+4>>2]|0,1296e5,0)|0,M|0,864e5,0)|0,M|0,7,0)|0;g=k[j>>2]|0;h=k[w>>2]|0;k[w>>2]=h+1;i[g+h>>0]=((f&255)<<24>>24)+48;break b}case 89:{h=(k[j>>2]|0)+(k[w>>2]|0)|0;k[F>>2]=k[t+8>>2];pf(5,h,23128,F)|0;h=wd((k[j>>2]|0)+(k[w>>2]|0)|0)|0;k[w>>2]=(k[w>>2]|0)+h;break b}default:{g=k[j>>2]|0;h=k[w>>2]|0;k[w>>2]=h+1;i[g+h>>0]=37;break b}}while(0)}while(0);k[v>>2]=(k[v>>2]|0)+1}i[(k[j>>2]|0)+(k[w>>2]|0)>>0]=0;Hi(k[s>>2]|0,k[j>>2]|0,-1,(k[j>>2]|0)==(m|0)?-1:191);u=I;return}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;Dj(k[e>>2]|0,0,0);u=d;return}function Hj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;Ej(k[e>>2]|0,0,0);u=d;return}function Ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;Cj(k[e>>2]|0,0,0);u=d;return}function Jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0.0;o=u;u=u+32|0;n=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;l=o+12|0;m=o+8|0;e=o+4|0;f=o;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;a=k[l>>2]|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(k[h>>2]|0)){m=Oj(k[g>>2]|0,k[l>>2]|0)|0;k[n>>2]=m;n=k[n>>2]|0;u=o;return n|0}d=Ki(k[k[j>>2]>>2]|0)|0;k[f>>2]=d;a=k[k[j>>2]>>2]|0;do if((d|0)==2|(k[f>>2]|0)==1){p=+Ri(a)*864.0e5+.5;d=+O(p)>=1.0?(p>0.0?~~+aa(+N(p/4294967296.0),4294967295.0)>>>0:~~+_((p-+(~~p>>>0))/4294967296.0)>>>0):0;f=k[l>>2]|0;k[f>>2]=~~p>>>0;k[f+4>>2]=d;i[(k[l>>2]|0)+42>>0]=1}else{f=$h(a)|0;k[e>>2]=f;if(k[e>>2]|0?(Pj(k[g>>2]|0,k[e>>2]|0,k[l>>2]|0)|0)==0:0)break;k[n>>2]=1;n=k[n>>2]|0;u=o;return n|0}while(0);k[m>>2]=1;while(1){if((k[m>>2]|0)>=(k[h>>2]|0)){a=14;break}f=$h(k[(k[j>>2]|0)+(k[m>>2]<<2)>>2]|0)|0;k[e>>2]=f;if(!(k[e>>2]|0)){a=12;break}if(Qj(k[g>>2]|0,k[e>>2]|0,k[l>>2]|0)|0){a=12;break}k[m>>2]=(k[m>>2]|0)+1}if((a|0)==12){k[n>>2]=1;n=k[n>>2]|0;u=o;return n|0}else if((a|0)==14){k[n>>2]=0;n=k[n>>2]|0;u=o;return n|0}return 0}function Kj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0.0;l=u;u=u+32|0;b=l+28|0;c=l+24|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[b>>2]=a;if(i[(k[b>>2]|0)+42>>0]|0){u=l;return}if(i[(k[b>>2]|0)+40>>0]|0){k[c>>2]=k[(k[b>>2]|0)+8>>2];k[d>>2]=k[(k[b>>2]|0)+12>>2];k[e>>2]=k[(k[b>>2]|0)+16>>2]}else{k[c>>2]=2e3;k[d>>2]=1;k[e>>2]=1}if((k[d>>2]|0)<=2){k[c>>2]=(k[c>>2]|0)+-1;k[d>>2]=(k[d>>2]|0)+12}k[f>>2]=(k[c>>2]|0)/100|0;k[g>>2]=2-(k[f>>2]|0)+((k[f>>2]|0)/4|0);k[h>>2]=(((k[c>>2]|0)+4716|0)*36525|0)/100|0;k[j>>2]=(((k[d>>2]|0)+1|0)*306001|0)/1e4|0;m=(+((k[h>>2]|0)+(k[j>>2]|0)+(k[e>>2]|0)+(k[g>>2]|0)|0)-1524.5)*864.0e5;h=+O(m)>=1.0?(m>0.0?~~+aa(+N(m/4294967296.0),4294967295.0)>>>0:~~+_((m-+(~~m>>>0))/4294967296.0)>>>0):0;j=k[b>>2]|0;k[j>>2]=~~m>>>0;k[j+4>>2]=h;i[(k[b>>2]|0)+42>>0]=1;if(!(i[(k[b>>2]|0)+41>>0]|0)){u=l;return}h=$(k[(k[b>>2]|0)+20>>2]|0,36e5)|0;h=h+((k[(k[b>>2]|0)+24>>2]|0)*6e4|0)|0;m=+p[(k[b>>2]|0)+32>>3]*1.0e3;h=i0(h|0,((h|0)<0)<<31>>31|0,~~m>>>0|0,(+O(m)>=1.0?(m>0.0?~~+aa(+N(m/4294967296.0),4294967295.0)>>>0:~~+_((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0)|0;j=k[b>>2]|0;g=j;h=i0(k[g>>2]|0,k[g+4>>2]|0,h|0,M|0)|0;k[j>>2]=h;k[j+4>>2]=M;if(!(i[(k[b>>2]|0)+43>>0]|0)){u=l;return}h=(k[(k[b>>2]|0)+28>>2]|0)*6e4|0;j=k[b>>2]|0;g=j;h=h0(k[g>>2]|0,k[g+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;k[j>>2]=h;k[j+4>>2]=M;i[(k[b>>2]|0)+40>>0]=0;i[(k[b>>2]|0)+41>>0]=0;i[(k[b>>2]|0)+43>>0]=0;u=l;return}function Lj(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Mj(k[c>>2]|0);Nj(k[c>>2]|0);u=b;return}function Mj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;b=l+28|0;c=l+24|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[b>>2]=a;if(i[(k[b>>2]|0)+40>>0]|0){u=l;return}a=k[b>>2]|0;if(i[(k[b>>2]|0)+42>>0]|0){a=i0(k[a>>2]|0,k[a+4>>2]|0,432e5,0)|0;a=x0(a|0,M|0,864e5,0)|0;k[c>>2]=a;k[d>>2]=~~((+(k[c>>2]|0)-1867216.25)/36524.25);k[d>>2]=(k[c>>2]|0)+1+(k[d>>2]|0)-((k[d>>2]|0)/4|0);k[e>>2]=(k[d>>2]|0)+1524;k[f>>2]=~~((+(k[e>>2]|0)-122.1)/365.25);k[g>>2]=((k[f>>2]&32767)*36525|0)/100|0;k[h>>2]=~~(+((k[e>>2]|0)-(k[g>>2]|0)|0)/30.6001);k[j>>2]=~~(+(k[h>>2]|0)*30.6001);k[(k[b>>2]|0)+16>>2]=(k[e>>2]|0)-(k[g>>2]|0)-(k[j>>2]|0);k[(k[b>>2]|0)+12>>2]=(k[h>>2]|0)-((k[h>>2]|0)<14?1:13);k[(k[b>>2]|0)+8>>2]=(k[f>>2]|0)-((k[(k[b>>2]|0)+12>>2]|0)>2?4716:4715)}else{k[a+8>>2]=2e3;k[(k[b>>2]|0)+12>>2]=1;k[(k[b>>2]|0)+16>>2]=1}i[(k[b>>2]|0)+40>>0]=1;u=l;return}function Nj(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(i[(k[b>>2]|0)+41>>0]|0){u=d;return}Kj(k[b>>2]|0);a=k[b>>2]|0;a=i0(k[a>>2]|0,k[a+4>>2]|0,432e5,0)|0;a=m0(a|0,M|0,864e5,0)|0;k[c>>2]=a;p[(k[b>>2]|0)+32>>3]=+(k[c>>2]|0)/1.0e3;k[c>>2]=~~+p[(k[b>>2]|0)+32>>3];a=(k[b>>2]|0)+32|0;p[a>>3]=+p[a>>3]-+(k[c>>2]|0);k[(k[b>>2]|0)+20>>2]=(k[c>>2]|0)/3600|0;k[c>>2]=(k[c>>2]|0)-((k[(k[b>>2]|0)+20>>2]|0)*3600|0);k[(k[b>>2]|0)+24>>2]=(k[c>>2]|0)/60|0;a=(k[b>>2]|0)+32|0;p[a>>3]=+p[a>>3]+ +((k[c>>2]|0)-((k[(k[b>>2]|0)+24>>2]|0)*60|0)|0);i[(k[b>>2]|0)+41>>0]=1;u=d;return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;a=Yj(k[f>>2]|0)|0;b=k[d>>2]|0;k[b>>2]=a;k[b+4>>2]=M;b=k[d>>2]|0;a=k[b+4>>2]|0;if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0){i[(k[d>>2]|0)+42>>0]=1;k[c>>2]=0;f=k[c>>2]|0;u=e;return f|0}else{k[c>>2]=1;f=k[c>>2]|0;u=e;return f|0}return 0}function Pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0.0;j=u;u=u+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(Xj(k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=0;h=k[d>>2]|0;u=j;return h|0}if(!(Tj(k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=0;h=k[d>>2]|0;u=j;return h|0}if(!(lh(k[f>>2]|0,23253)|0)){h=Oj(k[e>>2]|0,k[g>>2]|0)|0;k[d>>2]=h;h=k[d>>2]|0;u=j;return h|0}e=k[f>>2]|0;if(Ti(e,h,wd(k[f>>2]|0)|0,1)|0){l=+p[h>>3]*864.0e5+.5;f=+O(l)>=1.0?(l>0.0?~~+aa(+N(l/4294967296.0),4294967295.0)>>>0:~~+_((l-+(~~l>>>0))/4294967296.0)>>>0):0;h=k[g>>2]|0;k[h>>2]=~~l>>>0;k[h+4>>2]=f;i[(k[g>>2]|0)+42>>0]=1;k[d>>2]=0;h=k[d>>2]|0;u=j;return h|0}else{k[d>>2]=1;h=k[d>>2]|0;u=j;return h|0}return 0}function Qj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=u;u=u+160|0;f=z+124|0;g=z+120|0;w=z+116|0;x=z+112|0;o=z+108|0;q=z+80|0;y=z+104|0;d=z+72|0;e=z+64|0;h=z+56|0;s=z+100|0;t=z+8|0;v=z;j=z+96|0;m=z+92|0;n=z+88|0;k[f>>2]=a;k[g>>2]=b;k[w>>2]=c;k[x>>2]=1;k[y>>2]=z+128;k[o>>2]=0;while(1){if((k[o>>2]|0)>=29)break;if(!(i[(k[g>>2]|0)+(k[o>>2]|0)>>0]|0))break;i[(k[y>>2]|0)+(k[o>>2]|0)>>0]=i[20458+(l[(k[g>>2]|0)+(k[o>>2]|0)>>0]|0)>>0]|0;k[o>>2]=(k[o>>2]|0)+1}i[(k[y>>2]|0)+(k[o>>2]|0)>>0]=0;switch(i[k[y>>2]>>0]|0){case 108:{if(Q_(k[y>>2]|0,23133)|0){y=k[x>>2]|0;u=z;return y|0}Kj(k[w>>2]|0);v=Rj(k[w>>2]|0,k[f>>2]|0,x)|0;y=k[w>>2]|0;t=y;v=i0(k[t>>2]|0,k[t+4>>2]|0,v|0,M|0)|0;k[y>>2]=v;k[y+4>>2]=M;Sj(k[w>>2]|0);y=k[x>>2]|0;u=z;return y|0}case 117:{if((Q_(k[y>>2]|0,23143)|0)==0?i[(k[w>>2]|0)+42>>0]|0:0){v=k[w>>2]|0;v=i0(k[v>>2]|0,k[v+4>>2]|0,43200,0)|0;v=x0(v|0,M|0,86400,0)|0;v=i0(v|0,M|0,1045635584,49096)|0;y=k[w>>2]|0;k[y>>2]=v;k[y+4>>2]=M;Sj(k[w>>2]|0);k[x>>2]=0;y=k[x>>2]|0;u=z;return y|0}if(Q_(k[y>>2]|0,23153)|0){y=k[x>>2]|0;u=z;return y|0}if(i[(k[w>>2]|0)+44>>0]|0){k[x>>2]=0;y=k[x>>2]|0;u=z;return y|0}Kj(k[w>>2]|0);v=Rj(k[w>>2]|0,k[f>>2]|0,x)|0;y=d;k[y>>2]=v;k[y+4>>2]=M;if(!(k[x>>2]|0)){t=d;y=k[w>>2]|0;v=y;t=h0(k[v>>2]|0,k[v+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;k[y>>2]=t;k[y+4>>2]=M;Sj(k[w>>2]|0);y=d;t=k[y>>2]|0;y=k[y+4>>2]|0;v=Rj(k[w>>2]|0,k[f>>2]|0,x)|0;v=h0(t|0,y|0,v|0,M|0)|0;y=k[w>>2]|0;t=y;v=i0(k[t>>2]|0,k[t+4>>2]|0,v|0,M|0)|0;k[y>>2]=v;k[y+4>>2]=M}i[(k[w>>2]|0)+44>>0]=1;y=k[x>>2]|0;u=z;return y|0}case 119:{if(S_(k[y>>2]|0,23157,8)|0){y=k[x>>2]|0;u=z;return y|0}if(!(Ti((k[y>>2]|0)+8|0,q,wd((k[y>>2]|0)+8|0)|0,1)|0)){y=k[x>>2]|0;u=z;return y|0}y=~~+p[q>>3];k[o>>2]=y;if(!(((k[o>>2]|0)>=0?+(y|0)==+p[q>>3]:0)&+p[q>>3]<7.0)){y=k[x>>2]|0;u=z;return y|0}Lj(k[w>>2]|0);i[(k[w>>2]|0)+43>>0]=0;i[(k[w>>2]|0)+42>>0]=0;Kj(k[w>>2]|0);s=k[w>>2]|0;s=m0(x0(i0(k[s>>2]|0,k[s+4>>2]|0,1296e5,0)|0,M|0,864e5,0)|0,M|0,7,0)|0;v=e;k[v>>2]=s;k[v+4>>2]=M;v=e;s=k[v+4>>2]|0;y=k[o>>2]|0;t=((y|0)<0)<<31>>31;if((s|0)>(t|0)|((s|0)==(t|0)?(k[v>>2]|0)>>>0>y>>>0:0)){v=e;v=h0(k[v>>2]|0,k[v+4>>2]|0,7,0)|0;y=e;k[y>>2]=v;k[y+4>>2]=M}y=k[o>>2]|0;v=e;v=B0(h0(y|0,((y|0)<0)<<31>>31|0,k[v>>2]|0,k[v+4>>2]|0)|0,M|0,864e5,0)|0;y=k[w>>2]|0;t=y;v=i0(k[t>>2]|0,k[t+4>>2]|0,v|0,M|0)|0;k[y>>2]=v;k[y+4>>2]=M;Sj(k[w>>2]|0);k[x>>2]=0;y=k[x>>2]|0;u=z;return y|0}case 115:{if(S_(k[y>>2]|0,23166,9)|0){y=k[x>>2]|0;u=z;return y|0}k[y>>2]=(k[y>>2]|0)+9;Mj(k[w>>2]|0);i[(k[w>>2]|0)+41>>0]=1;k[(k[w>>2]|0)+24>>2]=0;k[(k[w>>2]|0)+20>>2]=0;p[(k[w>>2]|0)+32>>3]=0.0;i[(k[w>>2]|0)+43>>0]=0;i[(k[w>>2]|0)+42>>0]=0;if(!(Q_(k[y>>2]|0,23176)|0)){k[(k[w>>2]|0)+16>>2]=1;k[x>>2]=0;y=k[x>>2]|0;u=z;return y|0}if(!(Q_(k[y>>2]|0,23182)|0)){Mj(k[w>>2]|0);k[(k[w>>2]|0)+12>>2]=1;k[(k[w>>2]|0)+16>>2]=1;k[x>>2]=0;y=k[x>>2]|0;u=z;return y|0}if(Q_(k[y>>2]|0,23187)|0){y=k[x>>2]|0;u=z;return y|0}k[x>>2]=0;y=k[x>>2]|0;u=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{k[o>>2]=1;while(1){if(!(i[(k[y>>2]|0)+(k[o>>2]|0)>>0]|0))break;if((i[(k[y>>2]|0)+(k[o>>2]|0)>>0]|0)==58)break;if(!((l[20063+(l[(k[y>>2]|0)+(k[o>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;k[o>>2]=(k[o>>2]|0)+1}if(!(Ti(k[y>>2]|0,q,k[o>>2]|0,1)|0)){k[x>>2]=1;y=k[x>>2]|0;u=z;return y|0}if((i[(k[y>>2]|0)+(k[o>>2]|0)>>0]|0)==58){k[s>>2]=k[y>>2];if(!(l[20063+(l[k[s>>2]>>0]|0)>>0]&4))k[s>>2]=(k[s>>2]|0)+1;a=t;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(Tj(k[s>>2]|0,t)|0){y=k[x>>2]|0;u=z;return y|0}Kj(t);s=t;s=h0(k[s>>2]|0,k[s+4>>2]|0,432e5,0)|0;r=t;k[r>>2]=s;k[r+4>>2]=M;r=t;r=x0(k[r>>2]|0,k[r+4>>2]|0,864e5,0)|0;s=v;k[s>>2]=r;k[s+4>>2]=M;s=v;s=B0(k[s>>2]|0,k[s+4>>2]|0,864e5,0)|0;v=t;s=h0(k[v>>2]|0,k[v+4>>2]|0,s|0,M|0)|0;v=t;k[v>>2]=s;k[v+4>>2]=M;if((i[k[y>>2]>>0]|0)==45){v=t;v=h0(0,0,k[v>>2]|0,k[v+4>>2]|0)|0;y=t;k[y>>2]=v;k[y+4>>2]=M}Kj(k[w>>2]|0);Sj(k[w>>2]|0);v=t;y=k[w>>2]|0;w=y;w=i0(k[w>>2]|0,k[w+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[y>>2]=w;k[y+4>>2]=M;k[x>>2]=0;y=k[x>>2]|0;u=z;return y|0}k[y>>2]=(k[y>>2]|0)+(k[o>>2]|0);while(1){a=k[y>>2]|0;if(!(l[20063+(l[k[y>>2]>>0]|0)>>0]&1))break;k[y>>2]=a+1}v=wd(a)|0;k[o>>2]=v;if((k[o>>2]|0)>10|(k[o>>2]|0)<3){y=k[x>>2]|0;u=z;return y|0}if((i[(k[y>>2]|0)+((k[o>>2]|0)-1)>>0]|0)==115){i[(k[y>>2]|0)+((k[o>>2]|0)-1)>>0]=0;k[o>>2]=(k[o>>2]|0)+-1}Kj(k[w>>2]|0);k[x>>2]=0;p[h>>3]=+p[q>>3]<0.0?-.5:.5;if((k[o>>2]|0)==3?(Q_(k[y>>2]|0,23187)|0)==0:0){A=+p[q>>3]*864.0e5+ +p[h>>3];v=+O(A)>=1.0?(A>0.0?~~+aa(+N(A/4294967296.0),4294967295.0)>>>0:~~+_((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;t=y;v=i0(k[t>>2]|0,k[t+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=M}else r=53;do if((r|0)==53){if((k[o>>2]|0)==4?(Q_(k[y>>2]|0,23191)|0)==0:0){A=+p[q>>3]*36.0e5+ +p[h>>3];v=+O(A)>=1.0?(A>0.0?~~+aa(+N(A/4294967296.0),4294967295.0)>>>0:~~+_((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;t=y;v=i0(k[t>>2]|0,k[t+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=M;break}if((k[o>>2]|0)==6?(Q_(k[y>>2]|0,23196)|0)==0:0){A=+p[q>>3]*6.0e4+ +p[h>>3];v=+O(A)>=1.0?(A>0.0?~~+aa(+N(A/4294967296.0),4294967295.0)>>>0:~~+_((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;t=y;v=i0(k[t>>2]|0,k[t+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=M;break}if((k[o>>2]|0)==6?(Q_(k[y>>2]|0,23203)|0)==0:0){A=+p[q>>3]*1.0e3+ +p[h>>3];v=+O(A)>=1.0?(A>0.0?~~+aa(+N(A/4294967296.0),4294967295.0)>>>0:~~+_((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;t=y;v=i0(k[t>>2]|0,k[t+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=M;break}if((k[o>>2]|0)==5?(Q_(k[y>>2]|0,23176)|0)==0:0){Lj(k[w>>2]|0);y=(k[w>>2]|0)+12|0;k[y>>2]=(k[y>>2]|0)+~~+p[q>>3];k[j>>2]=((k[(k[w>>2]|0)+12>>2]|0)-((k[(k[w>>2]|0)+12>>2]|0)>0?1:12)|0)/12|0;y=(k[w>>2]|0)+8|0;k[y>>2]=(k[y>>2]|0)+(k[j>>2]|0);y=(k[w>>2]|0)+12|0;k[y>>2]=(k[y>>2]|0)-((k[j>>2]|0)*12|0);i[(k[w>>2]|0)+42>>0]=0;Kj(k[w>>2]|0);k[m>>2]=~~+p[q>>3];if(!(+(k[m>>2]|0)!=+p[q>>3]))break;A=(+p[q>>3]-+(k[m>>2]|0))*30.0*864.0e5+ +p[h>>3];v=+O(A)>=1.0?(A>0.0?~~+aa(+N(A/4294967296.0),4294967295.0)>>>0:~~+_((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;t=y;v=i0(k[t>>2]|0,k[t+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=M;break}if((k[o>>2]|0)==4?(Q_(k[y>>2]|0,23182)|0)==0:0){k[n>>2]=~~+p[q>>3];Lj(k[w>>2]|0);y=(k[w>>2]|0)+8|0;k[y>>2]=(k[y>>2]|0)+(k[n>>2]|0);i[(k[w>>2]|0)+42>>0]=0;Kj(k[w>>2]|0);if(!(+(k[n>>2]|0)!=+p[q>>3]))break;A=(+p[q>>3]-+(k[n>>2]|0))*365.0*864.0e5+ +p[h>>3];v=+O(A)>=1.0?(A>0.0?~~+aa(+N(A/4294967296.0),4294967295.0)>>>0:~~+_((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;t=y;v=i0(k[t>>2]|0,k[t+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=M;break}k[x>>2]=1}while(0);Sj(k[w>>2]|0);y=k[x>>2]|0;u=z;return y|0}default:{y=k[x>>2]|0;u=z;return y|0}}return 0}function Rj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0;q=u;u=u+176|0;h=q+96|0;e=q+164|0;j=q+160|0;l=q+156|0;m=q+48|0;n=q;o=q+152|0;g=q+108|0;f=q+104|0;k[e>>2]=a;k[j>>2]=b;k[l>>2]=c;b=g;c=b+44|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));b=m;a=k[e>>2]|0;c=b+48|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));Lj(m);if((k[m+8>>2]|0)>=1971?(k[m+8>>2]|0)<2038:0){k[f>>2]=~~(+p[m+32>>3]+.5);d=+(k[f>>2]|0)}else{k[m+8>>2]=2e3;k[m+12>>2]=1;k[m+16>>2]=1;k[m+20>>2]=0;k[m+24>>2]=0;d=0.0}p[m+32>>3]=d;k[m+28>>2]=0;i[m+42>>0]=0;Kj(m);f=m;f=x0(k[f>>2]|0,k[f+4>>2]|0,1e3,0)|0;f=h0(f|0,M|0,413362496,49)|0;k[o>>2]=f;if(Wj(o,g)|0){bi(k[j>>2]|0,23230,-1);k[k[l>>2]>>2]=1;n=h;k[n>>2]=0;k[n+4>>2]=0;n=h;o=n;o=k[o>>2]|0;n=n+4|0;n=k[n>>2]|0;M=n;u=q;return o|0}else{k[n+8>>2]=(k[g+20>>2]|0)+1900;k[n+12>>2]=(k[g+16>>2]|0)+1;k[n+16>>2]=k[g+12>>2];k[n+20>>2]=k[g+8>>2];k[n+24>>2]=k[g+4>>2];p[n+32>>3]=+(k[g>>2]|0);i[n+40>>0]=1;i[n+41>>0]=1;i[n+42>>0]=0;i[n+43>>0]=0;Kj(n);k[k[l>>2]>>2]=0;o=m;o=h0(k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;n=h;k[n>>2]=o;k[n+4>>2]=M;n=h;o=n;o=k[o>>2]|0;n=n+4|0;n=k[n>>2]|0;M=n;u=q;return o|0}return 0}function Sj(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+40>>0]=0;i[(k[c>>2]|0)+41>>0]=0;i[(k[c>>2]|0)+43>>0]=0;u=b;return}function Tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0;o=u;u=u+64|0;n=o+24|0;q=o+16|0;c=o+48|0;d=o+44|0;e=o+40|0;f=o+36|0;g=o+32|0;h=o+28|0;j=o+8|0;m=o;k[d>>2]=a;k[e>>2]=b;p[j>>3]=0.0;b=k[d>>2]|0;k[q>>2]=f;k[q+4>>2]=g;if((Uj(b,23210,q)|0)!=2){k[c>>2]=1;q=k[c>>2]|0;u=o;return q|0}k[d>>2]=(k[d>>2]|0)+5;if((i[k[d>>2]>>0]|0)==58){k[d>>2]=(k[d>>2]|0)+1;q=k[d>>2]|0;k[n>>2]=h;if((Uj(q,23218,n)|0)!=1){k[c>>2]=1;q=k[c>>2]|0;u=o;return q|0}k[d>>2]=(k[d>>2]|0)+2;if((i[k[d>>2]>>0]|0)==46?l[20063+(l[(k[d>>2]|0)+1>>0]|0)>>0]&4|0:0){p[m>>3]=1.0;k[d>>2]=(k[d>>2]|0)+1;while(1){if(!(l[20063+(l[k[d>>2]>>0]|0)>>0]&4))break;p[j>>3]=+p[j>>3]*10.0+ +(i[k[d>>2]>>0]|0)-48.0;p[m>>3]=+p[m>>3]*10.0;k[d>>2]=(k[d>>2]|0)+1}p[j>>3]=+p[j>>3]/+p[m>>3]}}else k[h>>2]=0;i[(k[e>>2]|0)+42>>0]=0;i[(k[e>>2]|0)+41>>0]=1;k[(k[e>>2]|0)+20>>2]=k[f>>2];k[(k[e>>2]|0)+24>>2]=k[g>>2];p[(k[e>>2]|0)+32>>3]=+(k[h>>2]|0)+ +p[j>>3];if(Vj(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=1;q=k[c>>2]|0;u=o;return q|0}else{i[(k[e>>2]|0)+43>>0]=k[(k[e>>2]|0)+28>>2]|0?1:0;k[c>>2]=0;q=k[c>>2]|0;u=o;return q|0}return 0}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;f=s+36|0;g=s+32|0;h=s+16|0;r=s+8|0;n=s+44|0;o=s+43|0;p=s+42|0;q=s+4|0;d=s+40|0;e=s;k[f>>2]=a;k[g>>2]=b;k[r>>2]=0;k[h>>2]=c;a:while(1){i[o>>0]=(i[k[g>>2]>>0]|0)-48;i[p>>0]=(i[(k[g>>2]|0)+1>>0]|0)-48;k[q>>2]=0;j[d>>1]=j[11168+((i[(k[g>>2]|0)+2>>0]|0)-97<<1)>>1]|0;i[n>>0]=i[(k[g>>2]|0)+3>>0]|0;k[q>>2]=0;while(1){c=i[o>>0]|0;i[o>>0]=c+-1<<24>>24;if(!(c<<24>>24))break;if(!(l[20063+(l[k[f>>2]>>0]|0)>>0]&4)){a=11;break a}k[q>>2]=((k[q>>2]|0)*10|0)+(i[k[f>>2]>>0]|0)-48;k[f>>2]=(k[f>>2]|0)+1}if((k[q>>2]|0)<(i[p>>0]|0)){a=11;break}if((k[q>>2]|0)>(m[d>>1]|0)){a=11;break}if(i[n>>0]|0?(i[n>>0]|0)!=(i[k[f>>2]>>0]|0):0){a=11;break}c=k[q>>2]|0;a=(k[h>>2]|0)+(4-1)&~(4-1);b=k[a>>2]|0;k[h>>2]=a+4;k[e>>2]=b;k[k[e>>2]>>2]=c;k[f>>2]=(k[f>>2]|0)+1;k[r>>2]=(k[r>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+4;if(!(i[n>>0]|0)){a=11;break}}if((a|0)==11){u=s;return k[r>>2]|0}return 0}function Vj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+48|0;m=o;c=o+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;j=o+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;while(1){if(!(l[20063+(l[k[d>>2]>>0]|0)>>0]&1))break;k[d>>2]=(k[d>>2]|0)+1}k[(k[e>>2]|0)+28>>2]=0;k[j>>2]=i[k[d>>2]>>0];do if((k[j>>2]|0)==45){k[f>>2]=-1;n=11}else{if((k[j>>2]|0)==43){k[f>>2]=1;n=11;break}if((k[j>>2]|0)==90|(k[j>>2]|0)==122){k[d>>2]=(k[d>>2]|0)+1;break}k[c>>2]=(k[j>>2]|0)!=0&1;n=k[c>>2]|0;u=o;return n|0}while(0);do if((n|0)==11){k[d>>2]=(k[d>>2]|0)+1;n=k[d>>2]|0;k[m>>2]=g;k[m+4>>2]=h;if((Uj(n,23222,m)|0)==2){k[d>>2]=(k[d>>2]|0)+5;n=$(k[f>>2]|0,(k[h>>2]|0)+((k[g>>2]|0)*60|0)|0)|0;k[(k[e>>2]|0)+28>>2]=n;break}k[c>>2]=1;n=k[c>>2]|0;u=o;return n|0}while(0);while(1){if(!(l[20063+(l[k[d>>2]>>0]|0)>>0]&1))break;k[d>>2]=(k[d>>2]|0)+1}i[(k[e>>2]|0)+44>>0]=1;k[c>>2]=(i[k[d>>2]>>0]|0)!=0&1;n=k[c>>2]|0;u=o;return n|0}function Wj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;h=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[c>>2]=b;b=se(2)|0;k[f>>2]=b;Dd(k[f>>2]|0);b=Gb(k[h>>2]|0)|0;k[e>>2]=b;k[e>>2]=k[69]|0?0:b;if(k[e>>2]|0){a=k[c>>2]|0;b=k[e>>2]|0;c=a+44|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0))}Ed(k[f>>2]|0);k[d>>2]=(k[e>>2]|0)==0&1;u=g;return k[d>>2]|0}function Xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+48|0;c=n;d=n+36|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;j=n+16|0;m=n+12|0;k[e>>2]=a;k[f>>2]=b;if((i[k[e>>2]>>0]|0)==45){k[e>>2]=(k[e>>2]|0)+1;k[m>>2]=1}else k[m>>2]=0;b=k[e>>2]|0;k[c>>2]=g;k[c+4>>2]=h;k[c+8>>2]=j;if((Uj(b,23257,c)|0)!=3){k[d>>2]=1;m=k[d>>2]|0;u=n;return m|0}k[e>>2]=(k[e>>2]|0)+10;while(1){if(l[20063+(l[k[e>>2]>>0]|0)>>0]&1|0)b=1;else b=84==(l[k[e>>2]>>0]|0);a=k[e>>2]|0;if(!b)break;k[e>>2]=a+1}do if(Tj(a,k[f>>2]|0)|0){if(!(i[k[e>>2]>>0]|0)){i[(k[f>>2]|0)+41>>0]=0;break}k[d>>2]=1;m=k[d>>2]|0;u=n;return m|0}while(0);i[(k[f>>2]|0)+42>>0]=0;i[(k[f>>2]|0)+40>>0]=1;g=k[g>>2]|0;k[(k[f>>2]|0)+8>>2]=k[m>>2]|0?0-g|0:g;k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+16>>2]=k[j>>2];if(i[(k[f>>2]|0)+43>>0]|0)Kj(k[f>>2]|0);k[d>>2]=0;m=k[d>>2]|0;u=n;return m|0}function Yj(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[d>>2]=(k[(k[b>>2]|0)+12>>2]|0)+56;a=k[d>>2]|0;if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0?(b=Zj(k[k[(k[k[b>>2]>>2]|0)+32>>2]>>2]|0,k[d>>2]|0)|0,k[c>>2]=b,k[c>>2]|0):0){c=k[d>>2]|0;k[c>>2]=0;k[c+4>>2]=0}d=k[d>>2]|0;M=k[d+4>>2]|0;u=e;return k[d>>2]|0}function Zj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0.0;g=u;u=u+32|0;c=g+16|0;d=g+12|0;e=g+8|0;f=g;k[c>>2]=a;k[d>>2]=b;if((k[k[c>>2]>>2]|0)>=2?k[(k[c>>2]|0)+72>>2]|0:0){f=Wb[k[(k[c>>2]|0)+72>>2]&255](k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=f;f=k[e>>2]|0;u=g;return f|0}c=Wb[k[(k[c>>2]|0)+64>>2]&255](k[c>>2]|0,f)|0;k[e>>2]=c;h=+p[f>>3]*864.0e5;c=+O(h)>=1.0?(h>0.0?~~+aa(+N(h/4294967296.0),4294967295.0)>>>0:~~+_((h-+(~~h>>>0))/4294967296.0)>>>0):0;f=k[d>>2]|0;k[f>>2]=~~h>>>0;k[f+4>>2]=c;f=k[e>>2]|0;u=g;return f|0}function _j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+64|0;o=q;h=q+60|0;r=q+52|0;j=q+48|0;l=q+44|0;m=q+40|0;n=q+32|0;d=q+28|0;e=q+24|0;f=q+20|0;g=q+16|0;k[h>>2]=a;k[q+56>>2]=b;k[r>>2]=c;c=$h(k[k[r>>2]>>2]|0)|0;k[j>>2]=c;c=$h(k[(k[r>>2]|0)+4>>2]|0)|0;k[l>>2]=c;k[d>>2]=k[j>>2];k[e>>2]=0;c=Zh(k[h>>2]|0)|0;k[g>>2]=c;if(!(k[j>>2]|0)){u=q;return}do{if(!(i[k[d>>2]>>0]|0)){p=7;break}k[n>>2]=k[d>>2];k[n+4>>2]=k[e>>2];do{k[d>>2]=(k[d>>2]|0)+(k[e>>2]|0);r=bk(k[d>>2]|0,m)|0;k[e>>2]=r}while((k[m>>2]|0)==162)}while((k[m>>2]|0)!=22?(k[m>>2]|0)!=125:0);if((p|0)==7){u=q;return}r=k[g>>2]|0;c=k[j>>2]|0;m=k[l>>2]|0;p=(k[n>>2]|0)+(k[n+4>>2]|0)|0;k[o>>2]=(k[n>>2]|0)-(k[j>>2]|0);k[o+4>>2]=c;k[o+8>>2]=m;k[o+12>>2]=p;r=ek(r,24716,o)|0;k[f>>2]=r;Hi(k[h>>2]|0,k[f>>2]|0,-1,191);u=q;return}function $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+80|0;p=r;j=r+68|0;s=r+60|0;l=r+56|0;m=r+52|0;n=r+48|0;o=r+40|0;d=r+32|0;e=r+28|0;f=r+24|0;g=r+20|0;h=r+16|0;k[j>>2]=a;k[r+64>>2]=b;k[s>>2]=c;c=$h(k[k[s>>2]>>2]|0)|0;k[l>>2]=c;c=$h(k[(k[s>>2]|0)+4>>2]|0)|0;k[m>>2]=c;k[d>>2]=3;k[e>>2]=k[l>>2];k[f>>2]=0;c=Zh(k[j>>2]|0)|0;k[h>>2]=c;if(!(k[l>>2]|0)){u=r;return}while(1){if(!(i[k[e>>2]>>0]|0)){q=8;break}k[o>>2]=k[e>>2];k[o+4>>2]=k[f>>2];do{k[e>>2]=(k[e>>2]|0)+(k[f>>2]|0);s=bk(k[e>>2]|0,n)|0;k[f>>2]=s}while((k[n>>2]|0)==162);s=(k[d>>2]|0)+1|0;k[d>>2]=s;k[d>>2]=(k[n>>2]|0)==122|(k[n>>2]|0)==107?0:s;if((k[d>>2]|0)!=2)continue;if(!((k[n>>2]|0)!=137&(k[n>>2]|0)!=74&(k[n>>2]|0)!=5))break}if((q|0)==8){u=r;return}s=k[h>>2]|0;c=k[l>>2]|0;n=k[m>>2]|0;q=(k[o>>2]|0)+(k[o+4>>2]|0)|0;k[p>>2]=(k[o>>2]|0)-(k[l>>2]|0);k[p+4>>2]=c;k[p+8>>2]=n;k[p+12>>2]=q;s=ek(s,24716,p)|0;k[g>>2]=s;Hi(k[j>>2]|0,k[g>>2]|0,-1,191);u=r;return}function ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+80|0;s=t+16|0;r=t;m=t+76|0;v=t+68|0;n=t+64|0;o=t+60|0;p=t+56|0;q=t+52|0;d=t+48|0;e=t+44|0;f=t+40|0;g=t+36|0;h=t+32|0;j=t+28|0;l=t+24|0;k[m>>2]=a;k[t+72>>2]=b;k[v>>2]=c;c=Zh(k[m>>2]|0)|0;k[n>>2]=c;k[o>>2]=0;c=$h(k[k[v>>2]>>2]|0)|0;k[q>>2]=c;c=$h(k[(k[v>>2]|0)+4>>2]|0)|0;k[d>>2]=c;c=$h(k[(k[v>>2]|0)+8>>2]|0)|0;k[e>>2]=c;if((k[q>>2]|0)==0|(k[d>>2]|0)==0){u=t;return}k[f>>2]=k[q>>2];while(1){if(!(i[k[f>>2]>>0]|0))break;v=bk(k[f>>2]|0,h)|0;k[g>>2]=v;if((k[h>>2]|0)==105){do{k[f>>2]=(k[f>>2]|0)+(k[g>>2]|0);v=bk(k[f>>2]|0,h)|0;k[g>>2]=v}while((k[h>>2]|0)==162);if((k[h>>2]|0)==163)break;v=k[g>>2]|0;v=ck(k[n>>2]|0,k[f>>2]|0,v,((v|0)<0)<<31>>31)|0;k[j>>2]=v;if(!(k[j>>2]|0))break;dk(k[j>>2]|0);if(!(lh(k[d>>2]|0,k[j>>2]|0)|0)){v=k[n>>2]|0;a=(k[f>>2]|0)-(k[q>>2]|0)|0;b=k[q>>2]|0;c=k[e>>2]|0;k[r>>2]=k[o>>2]|0?k[o>>2]|0:55752;k[r+4>>2]=a;k[r+8>>2]=b;k[r+12>>2]=c;v=ek(v,23392,r)|0;k[l>>2]=v;fe(k[n>>2]|0,k[o>>2]|0);k[o>>2]=k[l>>2];k[q>>2]=(k[f>>2]|0)+(k[g>>2]|0)}fe(k[n>>2]|0,k[j>>2]|0)}k[f>>2]=(k[f>>2]|0)+(k[g>>2]|0)}v=k[n>>2]|0;r=k[q>>2]|0;k[s>>2]=k[o>>2]|0?k[o>>2]|0:55752;k[s+4>>2]=r;v=ek(v,23403,s)|0;k[p>>2]=v;Hi(k[m>>2]|0,k[p>>2]|0,-1,191);fe(k[n>>2]|0,k[o>>2]|0);u=t;return}function bk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+32|0;m=n+24|0;j=n+20|0;c=n+16|0;g=n+12|0;h=n+8|0;d=n+4|0;e=n;k[j>>2]=a;k[c>>2]=b;a:do switch(l[23408+(l[k[j>>2]>>0]|0)>>0]|0){case 7:{k[g>>2]=1;while(1){if(!(l[20063+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&1))break;k[g>>2]=(k[g>>2]|0)+1}k[k[c>>2]>>2]=162;k[m>>2]=k[g>>2];m=k[m>>2]|0;u=n;return m|0}case 11:{if((l[(k[j>>2]|0)+1>>0]|0)!=45){k[k[c>>2]>>2]=48;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}k[g>>2]=2;while(1){f=l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0;k[h>>2]=f;if(!(f|0?(k[h>>2]|0)!=10:0))break;k[g>>2]=(k[g>>2]|0)+1}k[k[c>>2]>>2]=162;k[m>>2]=k[g>>2];m=k[m>>2]|0;u=n;return m|0}case 17:{k[k[c>>2]>>2]=22;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}case 18:{k[k[c>>2]>>2]=23;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}case 19:{k[k[c>>2]>>2]=1;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}case 20:{k[k[c>>2]>>2]=47;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}case 21:{k[k[c>>2]>>2]=49;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}case 16:{if((l[(k[j>>2]|0)+1>>0]|0)==42?l[(k[j>>2]|0)+2>>0]|0:0){k[g>>2]=3;k[h>>2]=l[(k[j>>2]|0)+2>>0];while(1){if((k[h>>2]|0)==42?(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==47:0)break;f=l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0;k[h>>2]=f;if(!f)break;k[g>>2]=(k[g>>2]|0)+1}if(k[h>>2]|0)k[g>>2]=(k[g>>2]|0)+1;k[k[c>>2]>>2]=162;k[m>>2]=k[g>>2];m=k[m>>2]|0;u=n;return m|0}k[k[c>>2]>>2]=50;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}case 22:{k[k[c>>2]>>2]=51;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}case 14:{k[k[c>>2]>>2]=37;k[m>>2]=1+((l[(k[j>>2]|0)+1>>0]|0)==61&1);m=k[m>>2]|0;u=n;return m|0}case 12:{j=l[(k[j>>2]|0)+1>>0]|0;k[h>>2]=j;if((j|0)==61){k[k[c>>2]>>2]=39;k[m>>2]=2;m=k[m>>2]|0;u=n;return m|0}if((k[h>>2]|0)==62){k[k[c>>2]>>2]=36;k[m>>2]=2;m=k[m>>2]|0;u=n;return m|0}a=k[c>>2]|0;if((k[h>>2]|0)==60){k[a>>2]=45;k[m>>2]=2;m=k[m>>2]|0;u=n;return m|0}else{k[a>>2]=40;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}}case 13:{j=l[(k[j>>2]|0)+1>>0]|0;k[h>>2]=j;if((j|0)==61){k[k[c>>2]>>2]=41;k[m>>2]=2;m=k[m>>2]|0;u=n;return m|0}a=k[c>>2]|0;if((k[h>>2]|0)==62){k[a>>2]=46;k[m>>2]=2;m=k[m>>2]|0;u=n;return m|0}else{k[a>>2]=38;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}}case 15:{a=k[c>>2]|0;if((l[(k[j>>2]|0)+1>>0]|0)!=61){k[a>>2]=163;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}else{k[a>>2]=36;k[m>>2]=2;m=k[m>>2]|0;u=n;return m|0}}case 10:{a=k[c>>2]|0;if((l[(k[j>>2]|0)+1>>0]|0)!=124){k[a>>2]=44;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}else{k[a>>2]=52;k[m>>2]=2;m=k[m>>2]|0;u=n;return m|0}}case 23:{k[k[c>>2]>>2]=26;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}case 24:{k[k[c>>2]>>2]=43;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}case 25:{k[k[c>>2]>>2]=54;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}case 8:{k[d>>2]=l[k[j>>2]>>0];k[g>>2]=1;while(1){f=l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0;k[h>>2]=f;if(!f)break;if((k[h>>2]|0)==(k[d>>2]|0)){if((l[(k[j>>2]|0)+((k[g>>2]|0)+1)>>0]|0)!=(k[d>>2]|0))break;k[g>>2]=(k[g>>2]|0)+1}k[g>>2]=(k[g>>2]|0)+1}if((k[h>>2]|0)==39){k[k[c>>2]>>2]=97;k[m>>2]=(k[g>>2]|0)+1;m=k[m>>2]|0;u=n;return m|0}a=k[c>>2]|0;if(k[h>>2]|0){k[a>>2]=55;k[m>>2]=(k[g>>2]|0)+1;m=k[m>>2]|0;u=n;return m|0}else{k[a>>2]=163;k[m>>2]=k[g>>2];m=k[m>>2]|0;u=n;return m|0}}case 26:{if(l[20063+(l[(k[j>>2]|0)+1>>0]|0)>>0]&4|0)f=64;else{k[k[c>>2]>>2]=122;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}break}case 3:{f=64;break}case 9:{k[g>>2]=1;k[h>>2]=l[k[j>>2]>>0];while(1){if((k[h>>2]|0)==93)break;f=l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0;k[h>>2]=f;if(!f)break;k[g>>2]=(k[g>>2]|0)+1}k[k[c>>2]>>2]=(k[h>>2]|0)==93?55:163;k[m>>2]=k[g>>2];m=k[m>>2]|0;u=n;return m|0}case 6:{k[k[c>>2]>>2]=135;k[g>>2]=1;while(1){a=k[g>>2]|0;if(!(l[20063+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&4))break;k[g>>2]=a+1}k[m>>2]=a;m=k[m>>2]|0;u=n;return m|0}case 5:case 4:{k[e>>2]=0;k[k[c>>2]>>2]=135;k[g>>2]=1;while(1){d=l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0;k[h>>2]=d;if(!d)break;if(l[20063+(k[h>>2]&255)>>0]&70|0)k[e>>2]=(k[e>>2]|0)+1;else{if((k[h>>2]|0)==40&(k[e>>2]|0)>0){f=107;break}if((k[h>>2]|0)!=58)break;if((l[(k[j>>2]|0)+((k[g>>2]|0)+1)>>0]|0)!=58)break;k[g>>2]=(k[g>>2]|0)+1}k[g>>2]=(k[g>>2]|0)+1}do if((f|0)==107){while(1){k[g>>2]=(k[g>>2]|0)+1;f=l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0;k[h>>2]=f;if(!f)break;if((k[h>>2]|0)!=41?(l[20063+(k[h>>2]&255)>>0]&1|0)==0:0)f=107;else break}if((k[h>>2]|0)==41){k[g>>2]=(k[g>>2]|0)+1;break}else{k[k[c>>2]>>2]=163;break}}while(0);if(!(k[e>>2]|0))k[k[c>>2]>>2]=163;k[m>>2]=k[g>>2];m=k[m>>2]|0;u=n;return m|0}case 1:{k[g>>2]=1;while(1){if((l[23408+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]|0)>1)break;k[g>>2]=(k[g>>2]|0)+1}if(l[20063+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&70|0){k[g>>2]=(k[g>>2]|0)+1;break a}k[k[c>>2]>>2]=55;j=gk(k[j>>2]|0,k[g>>2]|0,k[c>>2]|0)|0;k[m>>2]=j;m=k[m>>2]|0;u=n;return m|0}case 0:{if((l[(k[j>>2]|0)+1>>0]|0)==39){k[k[c>>2]>>2]=133;k[g>>2]=2;while(1){if(!(l[20063+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&8))break;k[g>>2]=(k[g>>2]|0)+1}if(!((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==39?!((k[g>>2]|0)%2|0|0):0))f=131;b:do if((f|0)==131){k[k[c>>2]>>2]=163;while(1){if(!(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0))break b;if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==39)break b;k[g>>2]=(k[g>>2]|0)+1}}while(0);if(i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)k[g>>2]=(k[g>>2]|0)+1;k[m>>2]=k[g>>2];m=k[m>>2]|0;u=n;return m|0}else f=138;break}case 2:{f=138;break}default:{k[k[c>>2]>>2]=163;k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}}while(0);if((f|0)==64){k[k[c>>2]>>2]=134;do if((l[k[j>>2]>>0]|0)==48){if((l[(k[j>>2]|0)+1>>0]|0)!=120?(l[(k[j>>2]|0)+1>>0]|0)!=88:0)break;if(l[20063+(l[(k[j>>2]|0)+2>>0]|0)>>0]&8|0){k[g>>2]=3;while(1){a=k[g>>2]|0;if(!(l[20063+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&8))break;k[g>>2]=a+1}k[m>>2]=a;m=k[m>>2]|0;u=n;return m|0}}while(0);k[g>>2]=0;while(1){if(!(l[20063+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&4))break;k[g>>2]=(k[g>>2]|0)+1}if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==46){k[g>>2]=(k[g>>2]|0)+1;while(1){if(!(l[20063+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&4))break;k[g>>2]=(k[g>>2]|0)+1}k[k[c>>2]>>2]=132}if(!((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)!=101?(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)!=69:0))f=82;do if((f|0)==82){if(!(l[20063+(l[(k[j>>2]|0)+((k[g>>2]|0)+1)>>0]|0)>>0]&4)){if((l[(k[j>>2]|0)+((k[g>>2]|0)+1)>>0]|0)!=43?(l[(k[j>>2]|0)+((k[g>>2]|0)+1)>>0]|0)!=45:0)break;if(!(l[20063+(l[(k[j>>2]|0)+((k[g>>2]|0)+2)>>0]|0)>>0]&4))break}k[g>>2]=(k[g>>2]|0)+2;while(1){if(!(l[20063+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&4))break;k[g>>2]=(k[g>>2]|0)+1}k[k[c>>2]>>2]=132}while(0);while(1){if(!(l[20063+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&70))break;k[k[c>>2]>>2]=163;k[g>>2]=(k[g>>2]|0)+1}k[m>>2]=k[g>>2];m=k[m>>2]|0;u=n;return m|0}else if((f|0)==138)k[g>>2]=1;while(1){if(!(l[20063+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&70))break;k[g>>2]=(k[g>>2]|0)+1}k[k[c>>2]>>2]=55;k[m>>2]=k[g>>2];m=k[m>>2]|0;u=n;return m|0}function ck(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l;j=l+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;if(!(k[g>>2]|0)){k[e>>2]=0;j=k[e>>2]|0;u=l;return j|0}d=k[f>>2]|0;f=h;f=i0(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;f=Od(d,f,M)|0;k[j>>2]=f;if(k[j>>2]|0){r0(k[j>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;i[(k[j>>2]|0)+(k[h>>2]|0)>>0]=0}k[e>>2]=k[j>>2];j=k[e>>2]|0;u=l;return j|0}function dk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;c=g+8|0;d=g+12|0;e=g+4|0;f=g;k[c>>2]=a;if(!(k[c>>2]|0)){u=g;return}i[d>>0]=i[k[c>>2]>>0]|0;if(!(l[20063+(l[d>>0]|0)>>0]&128)){u=g;return}if((i[d>>0]|0)==91)i[d>>0]=93;k[e>>2]=1;k[f>>2]=0;while(1){a=k[c>>2]|0;b=k[e>>2]|0;if((i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)==(i[d>>0]|0)){if((i[a+(b+1)>>0]|0)!=(i[d>>0]|0))break;h=i[d>>0]|0;a=k[c>>2]|0;b=k[f>>2]|0;k[f>>2]=b+1;i[a+b>>0]=h;k[e>>2]=(k[e>>2]|0)+1}else{a=i[a+b>>0]|0;b=k[c>>2]|0;h=k[f>>2]|0;k[f>>2]=h+1;i[b+h>>0]=a}k[e>>2]=(k[e>>2]|0)+1}i[(k[c>>2]|0)+(k[f>>2]|0)>>0]=0;u=g;return}function ek(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=u;u=u+32|0;h=e+28|0;g=e+24|0;f=e+8|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;c=fk(k[h>>2]|0,k[g>>2]|0,f)|0;k[d>>2]=c;u=e;return k[d>>2]|0}function fk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=u;u=u+128|0;d=f+40|0;j=f+36|0;h=f+32|0;e=f+28|0;g=f;k[d>>2]=a;k[j>>2]=b;k[h>>2]=c;Jd(g,k[d>>2]|0,f+44|0,70,k[(k[d>>2]|0)+96>>2]|0);i[g+25>>0]=1;Kd(g,k[j>>2]|0,k[h>>2]|0);c=Ld(g)|0;k[e>>2]=c;if((l[g+24>>0]|0|0)!=1){j=k[e>>2]|0;u=f;return j|0}Yd(k[d>>2]|0);j=k[e>>2]|0;u=f;return j|0}function gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=u;u=u+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;j=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<2){n=k[e>>2]|0;u=o;return n|0}k[g>>2]=(l[20458+(l[k[d>>2]>>0]|0)>>0]<<2^(l[20458+(l[(k[d>>2]|0)+((k[e>>2]|0)-1)>>0]|0)>>0]|0)*3^k[e>>2]|0)%127|0;k[g>>2]=(l[23664+(k[g>>2]|0)>>0]|0)-1;while(1){if((k[g>>2]|0)<0){n=13;break}if((l[23791+(k[g>>2]|0)>>0]|0)==(k[e>>2]|0)){k[h>>2]=0;k[j>>2]=23915+(m[11180+(k[g>>2]<<1)>>1]|0);while(1){if((k[h>>2]|0)<(k[e>>2]|0))b=(i[(k[d>>2]|0)+(k[h>>2]|0)>>0]&-33|0)==(i[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0);else b=0;a=k[h>>2]|0;if(!b)break;k[h>>2]=a+1}if((a|0)>=(k[e>>2]|0))break}k[g>>2]=(l[24592+(k[g>>2]|0)>>0]|0)-1}if((n|0)==13){n=k[e>>2]|0;u=o;return n|0}k[k[f>>2]>>2]=l[24468+(k[g>>2]|0)>>0];n=k[e>>2]|0;u=o;return n|0}function hk(){return 4068}function ik(){return 4032}function jk(){return 0}function kk(){return 0}function lk(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;u=b;return 8}function mk(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;u=b;return}function nk(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;u=b;return}function ok(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;u=b;return 0}function pk(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;u=b;return}function qk(){return 0}function rk(){return 0}function sk(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;switch(k[b>>2]|0){case 1:{b=fh(28,0)|0;k[c>>2]=b;if(k[c>>2]|0){wb(d|0)|0;mb(d|0,1)|0;Ma(k[c>>2]|0,d|0)|0;Ya(d|0)|0}break}case 0:{d=fh(28,0)|0;k[c>>2]=d;if(k[c>>2]|0)Ma(k[c>>2]|0,0)|0;break}default:k[c>>2]=54808+(((k[b>>2]|0)-2|0)*28|0)}u=e;return k[c>>2]|0}function tk(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;lb(k[c>>2]|0)|0;ie(k[c>>2]|0);u=b;return}function uk(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;j0(k[c>>2]|0)|0;u=b;return}function vk(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;if(!(n0(k[d>>2]|0)|0))k[b>>2]=0;else k[b>>2]=5;u=c;return k[b>>2]|0}function wk(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;q0(k[c>>2]|0)|0;u=b;return}function xk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;e=i+16|0;f=i+12|0;g=i;h=i+8|0;k[e>>2]=a;k[f>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;k[h>>2]=0;if(l[(k[e>>2]|0)+69>>0]|0|0){h=k[h>>2]|0;u=i;return h|0}if(he(k[e>>2]|0,k[f>>2]|0)|0){g=Od(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[h>>2]=g;if(!(k[h>>2]|0)){h=k[h>>2]|0;u=i;return h|0}r0(k[h>>2]|0,k[f>>2]|0,m[(k[e>>2]|0)+256+4>>1]|0|0)|0;fe(k[e>>2]|0,k[f>>2]|0);h=k[h>>2]|0;u=i;return h|0}else{g=oe(k[f>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[h>>2]=g;if(k[h>>2]|0){h=k[h>>2]|0;u=i;return h|0}Yd(k[e>>2]|0);h=k[h>>2]|0;u=i;return h|0}return 0}function yk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=le(k[d>>2]|0,k[f>>2]|0)|0;k[f>>2]=c;if((k[f>>2]|0)<=0){u=g;return}r0((k[(k[d>>2]|0)+8>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0,k[e>>2]|0,k[f>>2]|0)|0;e=(k[d>>2]|0)+12|0;k[e>>2]=(k[e>>2]|0)+(k[f>>2]|0);u=g;return}function zk(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0)ol(k[d>>2]|0);k[c>>2]=(k[c>>2]|0)+1}u=e;return}function Ak(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[k[(k[b>>2]|0)+4>>2]>>2]|0}function Bk(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0)ll(k[d>>2]|0);k[c>>2]=(k[c>>2]|0)+1}u=e;return}function Ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=e;return}kl(k[c>>2]|0,k[(k[d>>2]|0)+28>>2]|0);fe(k[c>>2]|0,k[k[d>>2]>>2]|0);fe(k[c>>2]|0,k[(k[d>>2]|0)+4>>2]|0);Yk(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);bl(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);fe(k[c>>2]|0,k[d>>2]|0);u=e;return}function Dk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=f;return}if(!(k[c>>2]|0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))e=4;if((e|0)==4?(b=(k[d>>2]|0)+36|0,e=(j[b>>1]|0)+-1<<16>>16,j[b>>1]=e,(e&65535|0)>0):0){u=f;return}Ok(k[c>>2]|0,k[d>>2]|0);u=f;return}function Ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;e=h+16|0;f=h+12|0;c=h+8|0;d=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;Fk(k[(k[f>>2]|0)+100>>2]|0,m[(k[f>>2]|0)+140>>1]<<1);k[c>>2]=k[(k[f>>2]|0)+200>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+20>>2];Gk(k[e>>2]|0,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+4>>2]|0);fe(k[e>>2]|0,k[c>>2]|0);k[c>>2]=k[d>>2]}if((k[(k[f>>2]|0)+20>>2]|0)!=381479589){Fk(k[(k[f>>2]|0)+116>>2]|0,j[(k[f>>2]|0)+16>>1]|0);k[g>>2]=(j[(k[f>>2]|0)+18>>1]|0)-1;while(1){a=k[e>>2]|0;b=k[(k[f>>2]|0)+120>>2]|0;if((k[g>>2]|0)<0)break;fe(a,k[b+(k[g>>2]<<2)>>2]|0);k[g>>2]=(k[g>>2]|0)+-1}fe(a,b);fe(k[e>>2]|0,k[(k[f>>2]|0)+180>>2]|0)}Gk(k[e>>2]|0,k[(k[f>>2]|0)+88>>2]|0,k[(k[f>>2]|0)+136>>2]|0);fe(k[e>>2]|0,k[(k[f>>2]|0)+100>>2]|0);fe(k[e>>2]|0,k[(k[f>>2]|0)+176>>2]|0);u=h;return}function Fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+12|0;c=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[c>>2]=b;if(!((k[d>>2]|0)!=0&(k[c>>2]|0)!=0)){u=g;return}k[e>>2]=(k[d>>2]|0)+((k[c>>2]|0)*40|0);k[f>>2]=k[(k[d>>2]|0)+32>>2];if(k[(k[f>>2]|0)+456>>2]|0){do{if(k[(k[d>>2]|0)+24>>2]|0)fe(k[f>>2]|0,k[(k[d>>2]|0)+20>>2]|0);c=(k[d>>2]|0)+40|0;k[d>>2]=c}while(c>>>0<(k[e>>2]|0)>>>0);u=g;return}do{a=k[d>>2]|0;if(!((m[(k[d>>2]|0)+8>>1]|0)&9312|0)){if(k[a+24>>2]|0){fe(k[f>>2]|0,k[(k[d>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+24>>2]=0}}else oi(a);j[(k[d>>2]|0)+8>>1]=128;c=(k[d>>2]|0)+40|0;k[d>>2]=c}while(c>>>0<(k[e>>2]|0)>>>0);u=g;return}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){f=k[d>>2]|0;g=k[e>>2]|0;fe(f,g);u=h;return}k[g>>2]=k[e>>2];while(1){if((k[g>>2]|0)>>>0>=((k[e>>2]|0)+((k[f>>2]|0)*20|0)|0)>>>0)break;if(i[(k[g>>2]|0)+1>>0]|0)Hk(k[d>>2]|0,i[(k[g>>2]|0)+1>>0]|0,k[(k[g>>2]|0)+16>>2]|0);k[g>>2]=(k[g>>2]|0)+20}f=k[d>>2]|0;g=k[e>>2]|0;fe(f,g);u=h;return}function Hk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;a:do switch(k[g>>2]|0){case -21:{Ik(k[d>>2]|0,k[e>>2]|0);break}case -15:case -1:case -13:case -12:{fe(k[d>>2]|0,k[e>>2]|0);break}case -6:{if(!(k[(k[d>>2]|0)+456>>2]|0))Jk(k[e>>2]|0);break}case -11:{if(!(k[(k[d>>2]|0)+456>>2]|0))ie(k[e>>2]|0);break}case -5:{Kk(k[d>>2]|0,k[e>>2]|0);break}case -8:if(!(k[(k[d>>2]|0)+456>>2]|0)){Lk(k[e>>2]|0);break a}else{Mk(k[d>>2]|0,k[e>>2]|0);break a}case -10:{if(!(k[(k[d>>2]|0)+456>>2]|0))Nk(k[e>>2]|0);break}default:{}}while(0);u=f;return}function Ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;Kk(k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0);fe(k[e>>2]|0,k[d>>2]|0);u=c;return}function Jk(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[k[b>>2]>>2]|0){u=c;return}fe(k[(k[b>>2]|0)+12>>2]|0,k[b>>2]|0);u=c;return}function Kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!((m[(k[d>>2]|0)+2>>1]|0)&16)){u=e;return}fe(k[c>>2]|0,k[d>>2]|0);u=e;return}function Lk(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}oi(k[b>>2]|0);fe(k[(k[b>>2]|0)+32>>2]|0,k[b>>2]|0);u=c;return}function Mk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[d>>2]|0)+24>>2]|0)fe(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0);fe(k[c>>2]|0,k[d>>2]|0);u=e;return}function Nk(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[b>>2]|0)+12>>2]|0){u=e;return}k[d>>2]=k[(k[b>>2]|0)+8>>2];if(k[d>>2]|0)Rb[k[(k[k[d>>2]>>2]|0)+16>>2]&255](k[d>>2]|0)|0;fe(k[c>>2]|0,k[b>>2]|0);u=e;return}function Ok(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+20>>2];if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))h=5;if((h|0)==5?(h=0,((l[(k[d>>2]|0)+42>>0]|0)&16|0)==0):0){k[g>>2]=k[k[e>>2]>>2];Pk((k[(k[e>>2]|0)+24>>2]|0)+24|0,k[g>>2]|0,0)|0}Qk(k[c>>2]|0,k[e>>2]|0);k[e>>2]=k[f>>2]}Rk(k[c>>2]|0,k[d>>2]|0);Sk(k[c>>2]|0,k[d>>2]|0);fe(k[c>>2]|0,k[k[d>>2]>>2]|0);fe(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0);Tk(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);Uk(k[c>>2]|0,k[(k[d>>2]|0)+24>>2]|0);Vk(k[c>>2]|0,k[d>>2]|0);fe(k[c>>2]|0,k[d>>2]|0);u=i;return}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;i=m+28|0;j=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;d=m;k[j>>2]=a;k[e>>2]=b;k[f>>2]=c;c=el(k[j>>2]|0,k[e>>2]|0,g)|0;k[h>>2]=c;if(k[h>>2]|0){k[d>>2]=k[(k[h>>2]|0)+8>>2];if(!(k[f>>2]|0))fl(k[j>>2]|0,k[h>>2]|0,k[g>>2]|0);else{k[(k[h>>2]|0)+8>>2]=k[f>>2];k[(k[h>>2]|0)+12>>2]=k[e>>2]}k[i>>2]=k[d>>2];l=k[i>>2]|0;u=m;return l|0}if(!(k[f>>2]|0)){k[i>>2]=0;l=k[i>>2]|0;u=m;return l|0}h=Pd(16,0)|0;k[l>>2]=h;if(!(k[l>>2]|0)){k[i>>2]=k[f>>2];l=k[i>>2]|0;u=m;return l|0}k[(k[l>>2]|0)+12>>2]=k[e>>2];k[(k[l>>2]|0)+8>>2]=k[f>>2];h=(k[j>>2]|0)+4|0;k[h>>2]=(k[h>>2]|0)+1;if(((k[(k[j>>2]|0)+4>>2]|0)>>>0>=10?(k[(k[j>>2]|0)+4>>2]|0)>>>0>k[k[j>>2]>>2]<<1>>>0:0)?gl(k[j>>2]|0,k[(k[j>>2]|0)+4>>2]<<1)|0:0){h=hl(k[e>>2]|0)|0;k[g>>2]=(h>>>0)%((k[k[j>>2]>>2]|0)>>>0)|0}if(k[(k[j>>2]|0)+12>>2]|0)a=(k[(k[j>>2]|0)+12>>2]|0)+(k[g>>2]<<3)|0;else a=0;il(k[j>>2]|0,a,k[l>>2]|0);k[i>>2]=0;l=k[i>>2]|0;u=m;return l|0}function Qk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;dl(k[c>>2]|0,k[d>>2]|0);Yk(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0);Uk(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0);fe(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);if(!((l[(k[d>>2]|0)+55>>0]|0)>>>4&1)){c=k[c>>2]|0;d=k[d>>2]|0;fe(c,d);u=e;return}fe(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0);c=k[c>>2]|0;d=k[d>>2]|0;fe(c,d);u=e;return}function Rk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];while(1){if(!(k[e>>2]|0))break;if(!(k[c>>2]|0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0)){a=k[(k[e>>2]|0)+12>>2]|0;if(k[(k[e>>2]|0)+16>>2]|0)k[(k[(k[e>>2]|0)+16>>2]|0)+12>>2]=a;else{k[g>>2]=a;a=k[e>>2]|0;if(k[g>>2]|0)a=k[a+12>>2]|0;k[h>>2]=k[a+8>>2];Pk((k[(k[d>>2]|0)+64>>2]|0)+56|0,k[h>>2]|0,k[g>>2]|0)|0}if(k[(k[e>>2]|0)+12>>2]|0)k[(k[(k[e>>2]|0)+12>>2]|0)+16>>2]=k[(k[e>>2]|0)+16>>2]}cl(k[c>>2]|0,k[(k[e>>2]|0)+28>>2]|0);cl(k[c>>2]|0,k[(k[e>>2]|0)+28+4>>2]|0);k[f>>2]=k[(k[e>>2]|0)+4>>2];fe(k[c>>2]|0,k[e>>2]|0);k[e>>2]=k[f>>2]}u=i;return}function Sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;b=k[(k[d>>2]|0)+4>>2]|0;k[f>>2]=b;if(!b){u=g;return}k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break;fe(a,k[k[f>>2]>>2]|0);Yk(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);fe(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+16}fe(a,k[(k[d>>2]|0)+4>>2]|0);u=g;return}function Tk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=e;return}_k(k[c>>2]|0,k[d>>2]|0,1);u=e;return}function Uk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=e;return}Xk(k[c>>2]|0,k[d>>2]|0);u=e;return}function Vk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))Wk(0,k[d>>2]|0)|0;if(!(k[(k[d>>2]|0)+52>>2]|0)){u=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+48>>2]|0))break;if((k[e>>2]|0)!=1)fe(k[c>>2]|0,k[(k[(k[d>>2]|0)+52>>2]|0)+(k[e>>2]<<2)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}fe(k[c>>2]|0,k[(k[d>>2]|0)+52>>2]|0);u=f;return}function Wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=k[(k[d>>2]|0)+56>>2];k[(k[d>>2]|0)+56>>2]=0;while(1){if(!(k[f>>2]|0))break;k[g>>2]=k[k[f>>2]>>2];k[h>>2]=k[(k[f>>2]|0)+24>>2];if((k[g>>2]|0)==(k[c>>2]|0)){k[e>>2]=k[f>>2];k[(k[d>>2]|0)+56>>2]=k[e>>2];k[(k[e>>2]|0)+24>>2]=0}else{k[(k[f>>2]|0)+24>>2]=k[(k[g>>2]|0)+344>>2];k[(k[g>>2]|0)+344>>2]=k[f>>2]}k[f>>2]=k[h>>2]}u=i;return k[e>>2]|0}function Xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[d>>2]|0)+4>>2];k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;Yk(a,k[k[f>>2]>>2]|0);fe(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);fe(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}fe(a,k[(k[d>>2]|0)+4>>2]|0);fe(k[c>>2]|0,k[d>>2]|0);u=g;return}function Yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=e;return}Zk(k[c>>2]|0,k[d>>2]|0);u=e;return}function Zk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;do if(!(k[(k[d>>2]|0)+4>>2]&8404992)){if(k[(k[d>>2]|0)+12>>2]|0?(l[k[d>>2]>>0]|0|0)!=159:0)Zk(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);Yk(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);a=k[c>>2]|0;b=(k[d>>2]|0)+20|0;if(k[(k[d>>2]|0)+4>>2]&2048|0){Tk(a,k[b>>2]|0);break}else{Uk(a,k[b>>2]|0);break}}while(0);if(k[(k[d>>2]|0)+4>>2]&65536|0)fe(k[c>>2]|0,k[(k[d>>2]|0)+8>>2]|0);if(k[(k[d>>2]|0)+4>>2]&32768|0){u=e;return}fe(k[c>>2]|0,k[d>>2]|0);u=e;return}function _k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){if(!(k[e>>2]|0))break;k[g>>2]=k[(k[e>>2]|0)+48>>2];Uk(k[d>>2]|0,k[k[e>>2]>>2]|0);$k(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0);Yk(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0);Uk(k[d>>2]|0,k[(k[e>>2]|0)+36>>2]|0);Yk(k[d>>2]|0,k[(k[e>>2]|0)+40>>2]|0);Uk(k[d>>2]|0,k[(k[e>>2]|0)+44>>2]|0);Yk(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0);Yk(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0);if(k[(k[e>>2]|0)+64>>2]|0)al(k[d>>2]|0,k[(k[e>>2]|0)+64>>2]|0);if(k[f>>2]|0)fe(k[d>>2]|0,k[e>>2]|0);k[e>>2]=k[g>>2];k[f>>2]=1}u=h;return}function $k(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=g;return}k[f>>2]=(k[d>>2]|0)+8;k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;fe(a,k[(k[f>>2]|0)+4>>2]|0);fe(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);fe(k[c>>2]|0,k[(k[f>>2]|0)+12>>2]|0);if((l[(k[f>>2]|0)+36+1>>0]|0)>>>1&1|0)fe(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0);if((l[(k[f>>2]|0)+36+1>>0]|0)>>>2&1|0)Uk(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0);Dk(k[c>>2]|0,k[(k[f>>2]|0)+16>>2]|0);Tk(k[c>>2]|0,k[(k[f>>2]|0)+20>>2]|0);Yk(k[c>>2]|0,k[(k[f>>2]|0)+48>>2]|0);bl(k[c>>2]|0,k[(k[f>>2]|0)+52>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}fe(a,k[d>>2]|0);u=g;return}function al(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=g;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;k[f>>2]=(k[d>>2]|0)+8+(k[e>>2]<<4);Uk(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);Tk(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);fe(k[c>>2]|0,k[k[f>>2]>>2]|0);k[e>>2]=(k[e>>2]|0)+1}fe(k[c>>2]|0,k[d>>2]|0);u=g;return} +function ZR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+48|0;j=n+36|0;f=n;l=n+32|0;m=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;d=n+12|0;e=n+8|0;k[j>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[l>>2]=0;if(k[(k[j>>2]|0)+36>>2]|0){m=k[l>>2]|0;u=n;return m|0}k[m>>2]=0;if(k[(k[j>>2]|0)+40>>2]|0){k[g>>2]=k[(k[j>>2]|0)+40>>2];k[(k[j>>2]|0)+40>>2]=0;c=f;c=SJ(k[g>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[m>>2]=c;k[(k[j>>2]|0)+40>>2]=k[g>>2];if(k[m>>2]|0)eS(k[j>>2]|0);if((k[m>>2]|0)==4)k[m>>2]=0}if((k[m>>2]|0)==0?(k[(k[j>>2]|0)+40>>2]|0)==0:0){k[h>>2]=k[k[j>>2]>>2];g=f;h=HJ(k[k[h>>2]>>2]|0,k[(k[h>>2]|0)+4>>2]|0,k[(k[j>>2]|0)+4>>2]|0,45300,k[g>>2]|0,k[g+4>>2]|0,0,(k[j>>2]|0)+40|0)|0;k[m>>2]=h}if((k[m>>2]|0)==1)k[m>>2]=267;do if(!(k[m>>2]|0)){k[i>>2]=0;h=RJ(k[(k[j>>2]|0)+40>>2]|0)|0;k[d>>2]=h;k[e>>2]=12+(k[d>>2]|0)+20;h=ze(k[e>>2]|0)|0;k[l>>2]=h;if(k[l>>2]|0){k[(k[l>>2]|0)+4>>2]=k[d>>2];h=(k[l>>2]|0)+12|0;k[k[l>>2]>>2]=h;k[i>>2]=h}else k[m>>2]=7;if(!(k[m>>2]|0)){i=LJ(k[(k[j>>2]|0)+40>>2]|0,k[i>>2]|0,k[d>>2]|0,0)|0;k[m>>2]=i}a=k[l>>2]|0;if(k[m>>2]|0){ie(a);k[l>>2]=0;break}else{i=(_R((k[a>>2]|0)+2|0)|0)&65535;k[(k[l>>2]|0)+8>>2]=i;break}}while(0);k[(k[j>>2]|0)+36>>2]=k[m>>2];m=(k[j>>2]|0)+64|0;k[m>>2]=(k[m>>2]|0)+1;m=k[l>>2]|0;u=n;return m|0}function _R(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (((l[k[b>>2]>>0]|0)&65535)<<8)+(l[(k[b>>2]|0)+1>>0]|0)&65535|0}function $R(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];if(!(k[f>>2]&128)){h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=1;h=i[c>>0]|0;u=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=2;h=i[c>>0]|0;u=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);b=(k[f>>2]&128|0)!=0;k[f>>2]=k[f>>2]&2080895;if(!b){k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=3;h=i[c>>0]|0;u=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);b=(k[g>>2]&128|0)!=0;k[g>>2]=k[g>>2]&2080895;a=k[f>>2]|0;if(!b){k[f>>2]=a<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=4;h=i[c>>0]|0;u=j;return h|0}k[h>>2]=a;k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=5;h=i[c>>0]|0;u=j;return h|0}k[h>>2]=k[h>>2]<<7;k[h>>2]=k[h>>2]|k[g>>2];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=6;h=i[c>>0]|0;u=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);a=k[f>>2]|0;if(!(k[f>>2]&128)){k[f>>2]=a&-266354561;k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>11;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=7;h=i[c>>0]|0;u=j;return h|0}k[f>>2]=a&2080895;k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(k[g>>2]&128|0){k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<15;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<8;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=k[h>>2]<<4;k[g>>2]=l[(k[d>>2]|0)+-4>>0];k[g>>2]=k[g>>2]&127;k[g>>2]=(k[g>>2]|0)>>>3;k[h>>2]=k[h>>2]|k[g>>2];g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=9;h=i[c>>0]|0;u=j;return h|0}else{k[g>>2]=k[g>>2]&-266354561;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>4;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=8;h=i[c>>0]|0;u=j;return h|0}return 0}function aS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+64|0;g=r+48|0;h=r+44|0;i=r+40|0;j=r+36|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r;c=r+20|0;d=r+16|0;e=r+12|0;f=r+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=k[(k[k[g>>2]>>2]|0)+48>>2];k[j>>2]=k[(k[(k[h>>2]|0)+12>>2]|0)+8>>2];k[m>>2]=k[(k[h>>2]|0)+20>>2];k[n>>2]=k[k[(k[h>>2]|0)+12>>2]>>2];k[o>>2]=0;if((k[j>>2]|0)>(k[(k[h>>2]|0)+40>>2]|0))k[j>>2]=k[(k[h>>2]|0)+40>>2];while(1){b=p;k[b>>2]=0;k[b+4>>2]=0;if((k[i>>2]|0)==1){if((((k[m>>2]|0)<(k[j>>2]|0)?(l[(k[n>>2]|0)+(k[m>>2]|0)>>0]|0|0)==0:0)?(k[m>>2]=(k[m>>2]|0)+1,(k[m>>2]|0)<(k[j>>2]|0)):0)?(l[(k[n>>2]|0)+(k[m>>2]|0)>>0]|0|0)==0:0)k[m>>2]=(k[m>>2]|0)+1}else{b=bS((k[n>>2]|0)+(k[m>>2]|0)|0,c,d)|0;k[m>>2]=(k[m>>2]|0)+b;k[m>>2]=(k[m>>2]|0)+(k[c>>2]|0)}if((k[m>>2]|0)>=(k[j>>2]|0)){q=16;break}a=($R((k[n>>2]|0)+(k[m>>2]|0)|0,p)|0)&255;k[m>>2]=(k[m>>2]|0)+a;a=p;b=(k[h>>2]|0)+72|0;s=b;a=i0(k[s>>2]|0,k[s+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[b>>2]=a;k[b+4>>2]=M;if((k[o>>2]|0)>=(k[(k[h>>2]|0)+48>>2]|0)){k[e>>2]=(k[(k[h>>2]|0)+48>>2]|0)+8;s=fg(k[(k[h>>2]|0)+52>>2]|0,k[e>>2]<<2)|0;k[f>>2]=s;if(!(k[f>>2]|0))break;k[(k[h>>2]|0)+52>>2]=k[f>>2];k[(k[h>>2]|0)+48>>2]=k[e>>2]}a=k[(k[h>>2]|0)+20>>2]|0;b=k[(k[h>>2]|0)+52>>2]|0;s=k[o>>2]|0;k[o>>2]=s+1;k[b+(s<<2)>>2]=a;k[(k[h>>2]|0)+20>>2]=k[m>>2]}if((q|0)==16){s=k[o>>2]|0;q=k[h>>2]|0;q=q+44|0;k[q>>2]=s;q=k[g>>2]|0;s=k[h>>2]|0;cS(q,s);u=r;return}k[(k[g>>2]|0)+36>>2]=7;s=k[o>>2]|0;q=k[h>>2]|0;q=q+44|0;k[q>>2]=s;q=k[g>>2]|0;s=k[h>>2]|0;cS(q,s);u=r;return}function bS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;b=k[d>>2]|0;c=k[h>>2]|0;k[h>>2]=c+1;k[g>>2]=l[b+c>>0];if(k[g>>2]&128|0){k[h>>2]=(k[h>>2]|0)+-1;d=dS((k[d>>2]|0)+(k[h>>2]|0)|0,g)|0;k[h>>2]=(k[h>>2]|0)+d}k[k[e>>2]>>2]=(k[g>>2]|0)/2|0;k[k[f>>2]>>2]=k[g>>2]&1;u=i;return k[h>>2]|0}function cS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;k[c>>2]=a;k[e>>2]=b;if(k[(k[c>>2]|0)+36>>2]|0){u=h;return}k[f>>2]=k[(k[e>>2]|0)+20>>2];b=k[e>>2]|0;do if((k[(k[k[c>>2]>>2]|0)+48>>2]|0)==1){a=k[e>>2]|0;if((k[b+40>>2]|0)<(k[(k[(k[e>>2]|0)+12>>2]|0)+8>>2]|0))a=k[a+40>>2]|0;else a=k[(k[a+12>>2]|0)+8>>2]|0;k[g>>2]=a;i[(k[e>>2]|0)+84>>0]=0;k[(k[e>>2]|0)+80>>2]=1;if((k[f>>2]|0)<(k[g>>2]|0)?(l[(k[k[(k[e>>2]|0)+12>>2]>>2]|0)+(k[f>>2]|0)>>0]|0|0)==0:0){i[(k[e>>2]|0)+84>>0]=1;k[f>>2]=(k[f>>2]|0)+1;if((k[f>>2]|0)<(k[g>>2]|0)?(l[(k[k[(k[e>>2]|0)+12>>2]>>2]|0)+(k[f>>2]|0)>>0]|0|0)==0:0){k[(k[e>>2]|0)+80>>2]=1;k[f>>2]=(k[f>>2]|0)+1;break}k[(k[e>>2]|0)+80>>2]=0}}else{c=k[k[b+12>>2]>>2]|0;g=k[f>>2]|0;k[f>>2]=g+1;k[d>>2]=l[c+g>>0];if(k[d>>2]&128|0){k[f>>2]=(k[f>>2]|0)+-1;g=dS((k[k[(k[e>>2]|0)+12>>2]>>2]|0)+(k[f>>2]|0)|0,d)|0;k[f>>2]=(k[f>>2]|0)+g}i[(k[e>>2]|0)+84>>0]=k[d>>2]&1;k[(k[e>>2]|0)+80>>2]=k[d>>2]>>1}while(0);k[(k[e>>2]|0)+20>>2]=k[f>>2];u=h;return}function dS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+32|0;c=m+24|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m;j=m+28|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];if(!(k[f>>2]&128)){k[k[e>>2]>>2]=k[f>>2];k[c>>2]=1;j=k[c>>2]|0;u=m;return j|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];k[c>>2]=2;j=k[c>>2]|0;u=m;return j|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(k[f>>2]&128|0){k[d>>2]=(k[d>>2]|0)+-2;g=$R(k[d>>2]|0,h)|0;i[j>>0]=g;k[k[e>>2]>>2]=k[h>>2];k[c>>2]=l[j>>0];j=k[c>>2]|0;u=m;return j|0}else{k[f>>2]=k[f>>2]&2080895;k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];k[c>>2]=3;j=k[c>>2]|0;u=m;return j|0}return 0}function eS(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[(k[b>>2]|0)+40>>2]|0)){u=d;return}k[c>>2]=k[(k[b>>2]|0)+40>>2];k[(k[b>>2]|0)+40>>2]=0;KJ(k[c>>2]|0)|0;u=d;return}function fS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=(k[e>>2]|0)+8+(k[f>>2]<<5);if(((gS(k[g>>2]|0)|0?((k[f>>2]|0)+1|0)<(k[k[e>>2]>>2]|0):0)?(fS(k[d>>2]|0,k[e>>2]|0,(k[f>>2]|0)+1|0)|0,(k[(k[g>>2]|0)+32+8>>2]|0)==0):0)?(KR(k[k[g>>2]>>2]|0),a=k[g>>2]|0,k[a>>2]=0,k[a+4>>2]=0,k[a+8>>2]=0,k[a+12>>2]=0,k[a+16>>2]=0,k[a+20>>2]=0,k[a+24>>2]=0,k[a+28>>2]=0,d=k[d>>2]|0,a=k[(k[e>>2]|0)+4>>2]|0,a=t0(a|0,((a|0)<0)<<31>>31|0,37)|0,a=i0(a|0,M|0,0,16)|0,b=M,c=k[f>>2]|0,c=t0(c|0,((c|0)<0)<<31>>31|0,31)|0,c=i0(a|0,b|0,c|0,M|0)|0,f=k[(k[g>>2]|0)+32+16>>2]|0,f=i0(c|0,M|0,f|0,((f|0)<0)<<31>>31|0)|0,f=ZR(d,f,M)|0,k[k[g>>2]>>2]=f,k[k[g>>2]>>2]|0):0){do{}while(!(hS(k[g>>2]|0)|0));k[(k[g>>2]|0)+8>>2]=0}u=h;return k[(k[e>>2]|0)+8+8>>2]|0}function gS(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=u;u=u+48|0;b=m+36|0;c=m+32|0;d=m+28|0;e=m;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];a=k[b>>2]|0;if((k[c>>2]|0)<=(k[(k[b>>2]|0)+12>>2]|0)){k[a+8>>2]=1;j=k[b>>2]|0;j=j+8|0;j=k[j>>2]|0;u=m;return j|0}k[d>>2]=k[k[a>>2]>>2];k[h>>2]=0;k[f>>2]=(k[c>>2]|0)>9?(k[c>>2]|0)-9|0:0;k[c>>2]=(k[c>>2]|0)+-1;while(1){if((k[c>>2]|0)<=(k[f>>2]|0))break;if(!((l[(k[d>>2]|0)+((k[c>>2]|0)-1)>>0]|0)&128))break;k[c>>2]=(k[c>>2]|0)+-1}$R((k[d>>2]|0)+(k[c>>2]|0)|0,e)|0;f=(k[b>>2]|0)+24|0;a=f;e=h0(k[a>>2]|0,k[a+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[f>>2]=e;k[f+4>>2]=M;f=(k[b>>2]|0)+16|0;k[f>>2]=(k[f>>2]|0)+-1;k[g>>2]=(k[c>>2]|0)-1;while(1){if((k[g>>2]|0)<(k[(k[b>>2]|0)+12>>2]|0))break;if(l[(k[d>>2]|0)+(k[g>>2]|0)>>0]|0|0)break;k[h>>2]=(k[h>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+-1}if((k[g>>2]|0)>=(k[(k[b>>2]|0)+12>>2]|0)?(l[(k[d>>2]|0)+(k[g>>2]|0)>>0]|0)&128|0:0){k[i>>2]=0;if(((k[g>>2]|0)-8|0)>=(k[(k[b>>2]|0)+12>>2]|0)){k[j>>2]=1;while(1){if((k[j>>2]|0)>8)break;if(!((l[(k[d>>2]|0)+((k[g>>2]|0)-(k[j>>2]|0))>>0]|0)&128))break;k[j>>2]=(k[j>>2]|0)+1}k[i>>2]=(k[j>>2]|0)>8&1}if(!(k[i>>2]|0))k[h>>2]=(k[h>>2]|0)+-1}j=(k[b>>2]|0)+16|0;k[j>>2]=(k[j>>2]|0)-(k[h>>2]|0);k[(k[b>>2]|0)+4>>2]=(k[c>>2]|0)-(k[h>>2]|0);j=k[b>>2]|0;j=j+8|0;j=k[j>>2]|0;u=m;return j|0}function hS(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+32|0;b=f+16|0;c=f+12|0;d=f+8|0;e=f;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];a=(k[b>>2]|0)+4|0;if(!(k[(k[b>>2]|0)+4>>2]|0)){k[a>>2]=1;e=dS((k[k[c>>2]>>2]|0)+1|0,(k[b>>2]|0)+16|0)|0;d=(k[b>>2]|0)+4|0;k[d>>2]=(k[d>>2]|0)+e;d=($R((k[k[c>>2]>>2]|0)+(k[(k[b>>2]|0)+4>>2]|0)|0,(k[b>>2]|0)+24|0)|0)&255;e=(k[b>>2]|0)+4|0;k[e>>2]=(k[e>>2]|0)+d;k[(k[b>>2]|0)+12>>2]=k[(k[b>>2]|0)+4>>2];e=k[b>>2]|0;e=e+8|0;e=k[e>>2]|0;u=f;return e|0}k[d>>2]=k[a>>2];while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+4>>2]|0))break;if(i[(k[k[c>>2]>>2]|0)+(k[d>>2]|0)>>0]|0)break;k[d>>2]=(k[d>>2]|0)+1}if((k[d>>2]|0)<(k[(k[c>>2]|0)+4>>2]|0)){a=(k[b>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+((k[d>>2]|0)-(k[(k[b>>2]|0)+4>>2]|0)+1);c=($R((k[k[c>>2]>>2]|0)+(k[d>>2]|0)|0,e)|0)&255;k[d>>2]=(k[d>>2]|0)+c;c=e;e=(k[b>>2]|0)+24|0;a=e;c=i0(k[a>>2]|0,k[a+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[e>>2]=c;k[e+4>>2]=M;k[(k[b>>2]|0)+4>>2]=k[d>>2];e=k[b>>2]|0;e=e+8|0;e=k[e>>2]|0;u=f;return e|0}else{k[(k[b>>2]|0)+8>>2]=1;e=k[b>>2]|0;e=e+8|0;e=k[e>>2]|0;u=f;return e|0}return 0}function iS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;e=g+8|0;f=g+4|0;d=g;k[c>>2]=a;k[e>>2]=b;k[d>>2]=k[k[e>>2]>>2];KR(k[(k[e>>2]|0)+12>>2]|0);a=(k[e>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)+1;a=k[e>>2]|0;if(k[(k[e>>2]|0)+16>>2]|0){k[(k[e>>2]|0)+12>>2]=k[a+16>>2];k[(k[e>>2]|0)+16>>2]=0}else{if((k[a+8>>2]|0)<=(k[(k[d>>2]|0)+8>>2]|0)){b=k[c>>2]|0;d=k[k[d>>2]>>2]|0;d=t0(d|0,((d|0)<0)<<31>>31|0,37)|0;d=i0(d|0,M|0,0,0)|0;d=i0(d|0,M|0,0,0)|0;a=k[(k[e>>2]|0)+8>>2]|0;a=i0(d|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;a=jS(b,a,M)|0;b=k[e>>2]|0}else{a=0;b=k[e>>2]|0}k[b+12>>2]=a}k[f>>2]=k[(k[e>>2]|0)+12>>2];if(!(k[f>>2]|0)){u=g;return}k[(k[e>>2]|0)+36>>2]=k[(k[f>>2]|0)+8>>2];a=k[f>>2]|0;if((k[(k[f>>2]|0)+8>>2]|0)>=(k[(k[f>>2]|0)+4>>2]|0)){k[(k[e>>2]|0)+40>>2]=(k[a+4>>2]|0)+1;u=g;return}else{d=dS((k[a>>2]|0)+(k[(k[e>>2]|0)+36>>2]|0)|0,(k[e>>2]|0)+40|0)|0;f=(k[e>>2]|0)+36|0;k[f>>2]=(k[f>>2]|0)+d;u=g;return}}function jS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;d=f+12|0;g=f;e=f+8|0;k[d>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;c=g;c=ZR(k[d>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[e>>2]=c;if(!(k[e>>2]|0)){g=k[e>>2]|0;u=f;return g|0}if((k[(k[e>>2]|0)+8>>2]|0)<=(k[(k[e>>2]|0)+4>>2]|0)){g=k[e>>2]|0;u=f;return g|0}k[(k[d>>2]|0)+36>>2]=267;KR(k[e>>2]|0);k[e>>2]=0;g=k[e>>2]|0;u=f;return g|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=(k[e>>2]|0)+8+(k[f>>2]<<5);if(((hS(k[g>>2]|0)|0?((k[f>>2]|0)+1|0)<(k[k[e>>2]>>2]|0):0)?(kS(k[d>>2]|0,k[e>>2]|0,(k[f>>2]|0)+1|0)|0,(k[(k[g>>2]|0)+32+8>>2]|0)==0):0)?(KR(k[k[g>>2]>>2]|0),a=k[g>>2]|0,k[a>>2]=0,k[a+4>>2]=0,k[a+8>>2]=0,k[a+12>>2]=0,k[a+16>>2]=0,k[a+20>>2]=0,k[a+24>>2]=0,k[a+28>>2]=0,d=k[d>>2]|0,a=k[(k[e>>2]|0)+4>>2]|0,a=t0(a|0,((a|0)<0)<<31>>31|0,37)|0,a=i0(a|0,M|0,0,16)|0,b=M,c=k[f>>2]|0,c=t0(c|0,((c|0)<0)<<31>>31|0,31)|0,c=i0(a|0,b|0,c|0,M|0)|0,f=k[(k[g>>2]|0)+32+16>>2]|0,f=i0(c|0,M|0,f|0,((f|0)<0)<<31>>31|0)|0,f=ZR(d,f,M)|0,k[k[g>>2]>>2]=f,k[k[g>>2]>>2]|0):0)hS(k[g>>2]|0)|0;u=h;return k[(k[e>>2]|0)+8+8>>2]|0}function lS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(((k[(k[f>>2]|0)+4>>2]|0)+(k[g>>2]|0)|0)>>>0>(k[(k[f>>2]|0)+8>>2]|0)>>>0?mS(k[e>>2]|0,k[f>>2]|0,(k[g>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0)|0:0){u=i;return}r0((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,k[h>>2]|0,k[g>>2]|0)|0;h=(k[f>>2]|0)+4|0;k[h>>2]=(k[h>>2]|0)+(k[g>>2]|0);u=i;return}function mS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;do if((k[(k[f>>2]|0)+8>>2]|0)>>>0<(k[g>>2]|0)>>>0){if(k[(k[f>>2]|0)+8>>2]|0)a=k[(k[f>>2]|0)+8>>2]|0;else a=64;k[h>>2]=a;while(1){if((k[h>>2]|0)>>>0>=(k[g>>2]|0)>>>0)break;k[h>>2]=k[h>>2]<<1}g=fg(k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[i>>2]=g;if(k[i>>2]|0){k[(k[f>>2]|0)+8>>2]=k[h>>2];k[k[f>>2]>>2]=k[i>>2];break}k[k[e>>2]>>2]=7;k[d>>2]=1;i=k[d>>2]|0;u=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;u=j;return i|0}function nS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;k[c>>2]=(k[f>>2]|0)+80+((m[(k[(k[f>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);k[k[e>>2]>>2]=k[(k[c>>2]|0)+60+4>>2];u=d;return k[(k[c>>2]|0)+60>>2]|0}function oS(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+48|0;k[a>>2]=0;k[a+4>>2]=0;wS(k[(k[c>>2]|0)+16>>2]|0);k[(k[c>>2]|0)+16>>2]=0;ie(k[(k[c>>2]|0)+24>>2]|0);k[(k[c>>2]|0)+20>>2]=-1;k[(k[c>>2]|0)+24>>2]=0;u=b;return}function pS(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+64|0;t=y+60|0;v=y+56|0;w=y+52|0;x=y+48|0;g=y+44|0;h=y+40|0;j=y+36|0;l=y+32|0;n=y+20|0;o=y+16|0;p=y+12|0;q=y+8|0;r=y+4|0;s=y;k[t>>2]=a;k[v>>2]=b;k[w>>2]=c;k[x>>2]=d;k[g>>2]=e;k[h>>2]=f;k[j>>2]=k[k[t>>2]>>2];k[l>>2]=0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;if(mS((k[t>>2]|0)+36|0,n,(k[w>>2]|0)+1|0)|0){x=k[t>>2]|0;x=LR(x)|0;u=y;return x|0}k[o>>2]=0;r0((k[n>>2]|0)+1|0,k[v>>2]|0,k[w>>2]|0)|0;a:do if(k[x>>2]&1|0){v=qS(k[v>>2]|0,k[w>>2]|0)|0;k[p>>2]=v;k[o>>2]=1;while(1){if((k[o>>2]|0)>(k[(k[j>>2]|0)+24>>2]|0))break a;if((k[(k[(k[j>>2]|0)+28>>2]|0)+((k[o>>2]|0)-1<<2)>>2]|0)==(k[p>>2]|0))break a;k[o>>2]=(k[o>>2]|0)+1}}while(0);if((k[o>>2]|0)<=(k[(k[j>>2]|0)+24>>2]|0)){v=rS(k[t>>2]|0)|0;k[q>>2]=v;i[k[n>>2]>>0]=48+(k[o>>2]|0);if(k[q>>2]|0){sS(k[t>>2]|0,k[q>>2]|0,k[x>>2]|16,k[g>>2]|0,k[n>>2]|0,(k[w>>2]|0)+1|0,-1,0,l);tS(k[q>>2]|0)}}else{k[r>>2]=(k[x>>2]&2|0)!=0&1;i[k[n>>2]>>0]=48;uS(k[t>>2]|0,k[r>>2]|0,k[n>>2]|0,(k[w>>2]|0)+1|0,k[g>>2]|0,l);vS((k[t>>2]|0)+36|0,k[l>>2]|0);if((k[(k[t>>2]|0)+36>>2]|0)==0?(k[s>>2]=(k[l>>2]|0)+80+((m[(k[(k[l>>2]|0)+72>>2]|0)+4>>1]|0)*88|0),k[(k[s>>2]|0)+12>>2]|0):0)Pb[k[(k[l>>2]|0)+48>>2]&255](k[l>>2]|0,k[s>>2]|0)}if(k[(k[t>>2]|0)+36>>2]|0){wS(k[l>>2]|0);k[l>>2]=0;eS(k[t>>2]|0)}k[k[h>>2]>>2]=k[l>>2];xS(n);x=k[t>>2]|0;x=LR(x)|0;u=y;return x|0}function qS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[d>>2]|0))break;a=k[c>>2]|0;b=k[f>>2]|0;k[f>>2]=b+1;a:do if((l[a+b>>0]|0)>=192)while(1){if((k[f>>2]|0)>=(k[d>>2]|0))break a;if((i[(k[c>>2]|0)+(k[f>>2]|0)>>0]&192|0)!=128)break a;k[f>>2]=(k[f>>2]|0)+1}while(0);k[e>>2]=(k[e>>2]|0)+1}u=g;return k[e>>2]|0}function rS(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[(k[c>>2]|0)+80>>2]|0)==0?(e=KT(k[c>>2]|0)|0,a=(k[c>>2]|0)+72|0,k[a>>2]=e,k[a+4>>2]=M,(k[(k[c>>2]|0)+36>>2]|0)==0):0){e=LT(k[c>>2]|0)|0;k[(k[c>>2]|0)+80>>2]=e}if(k[(k[c>>2]|0)+36>>2]|0){k[b>>2]=0;e=k[b>>2]|0;u=d;return e|0}else{tT(k[(k[c>>2]|0)+80>>2]|0);k[b>>2]=k[(k[c>>2]|0)+80>>2];e=k[b>>2]|0;u=d;return e|0}return 0}function sS(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=u;u=u+96|0;I=J+80|0;p=J+76|0;t=J+72|0;o=J+68|0;v=J+64|0;w=J+60|0;q=J+56|0;n=J+52|0;C=J+48|0;r=J+44|0;D=J+40|0;x=J+36|0;y=J+32|0;E=J+28|0;z=J+24|0;s=J+20|0;A=J+16|0;B=J+12|0;F=J+8|0;G=J+4|0;H=J;k[I>>2]=a;k[p>>2]=b;k[t>>2]=c;k[o>>2]=d;k[v>>2]=e;k[w>>2]=f;k[q>>2]=g;k[n>>2]=h;k[C>>2]=j;k[r>>2]=0;k[D>>2]=0;do if(!(k[(k[I>>2]|0)+36>>2]|0)){a=k[p>>2]|0;if((k[q>>2]|0)<0){k[r>>2]=k[a+16>>2];k[r>>2]=(k[r>>2]|0)+(k[(k[I>>2]|0)+12>>2]|0?1:0);break}if((k[a+24+((k[q>>2]|0)*12|0)+4>>2]|0)<(k[n>>2]|0))a=k[(k[p>>2]|0)+24+((k[q>>2]|0)*12|0)+4>>2]|0;else a=k[n>>2]|0;k[r>>2]=a}while(0);n=$S(k[I>>2]|0,k[r>>2]|0)|0;k[E>>2]=n;k[k[C>>2]>>2]=n;if(!(k[E>>2]|0)){u=J;return}k[(k[E>>2]|0)+56>>2]=0!=(k[t>>2]&2|0)&1;i[(k[E>>2]|0)+60>>0]=0!=(k[t>>2]&16|0);k[(k[E>>2]|0)+28>>2]=k[p>>2];k[(k[E>>2]|0)+44>>2]=k[o>>2];tT(k[p>>2]|0);if(!(k[t>>2]&32))vS((k[I>>2]|0)+36|0,k[E>>2]|0);a:do if(!(k[(k[I>>2]|0)+36>>2]|0)){a=(k[p>>2]|0)+24|0;if((k[q>>2]|0)>=0){k[y>>2]=a+((k[q>>2]|0)*12|0);k[x>>2]=(k[r>>2]|0)-1;while(1){if((k[x>>2]|0)<0)break a;w=k[I>>2]|0;z=(k[(k[y>>2]|0)+8>>2]|0)+((k[x>>2]|0)*12|0)|0;A=(k[E>>2]|0)+80|0;B=k[D>>2]|0;k[D>>2]=B+1;vT(w,z,A+(B*88|0)|0);k[x>>2]=(k[x>>2]|0)+-1}}k[z>>2]=a+((k[(k[p>>2]|0)+20>>2]|0)*12|0);if(k[(k[I>>2]|0)+12>>2]|0){q=(k[E>>2]|0)+80|0;r=k[D>>2]|0;k[D>>2]=r+1;k[s>>2]=q+(r*88|0);uT(k[I>>2]|0,k[v>>2]|0,k[w>>2]|0,k[t>>2]|0,k[s>>2]|0)}k[y>>2]=(k[p>>2]|0)+24;while(1){if((k[y>>2]|0)>>>0>=(k[z>>2]|0)>>>0)break a;k[x>>2]=(k[(k[y>>2]|0)+4>>2]|0)-1;while(1){a=k[y>>2]|0;if((k[x>>2]|0)<0)break;k[A>>2]=(k[a+8>>2]|0)+((k[x>>2]|0)*12|0);s=(k[E>>2]|0)+80|0;a=k[D>>2]|0;k[D>>2]=a+1;k[B>>2]=s+(a*88|0);a=k[I>>2]|0;if(!(k[v>>2]|0))vT(a,k[A>>2]|0,k[B>>2]|0);else wT(a,k[v>>2]|0,k[w>>2]|0,k[t>>2]|0,k[A>>2]|0,k[B>>2]|0);k[x>>2]=(k[x>>2]|0)+-1}k[y>>2]=a+12}}while(0);a=k[E>>2]|0;if(k[(k[I>>2]|0)+36>>2]|0){yS(a);k[k[C>>2]>>2]=0;u=J;return}k[D>>2]=(k[a+52>>2]|0)-1;while(1){a=k[E>>2]|0;if((k[D>>2]|0)<=0)break;C=QR(a,k[D>>2]|0)|0;k[F>>2]=C;if(C|0){k[G>>2]=(k[E>>2]|0)+80+((k[F>>2]|0)*88|0);if(!(k[(k[I>>2]|0)+36>>2]|0))Sb[k[(k[G>>2]|0)+24>>2]&255](k[I>>2]|0,k[G>>2]|0,0);OR(k[I>>2]|0,k[E>>2]|0,k[F>>2]|0,k[D>>2]|0)}k[D>>2]=(k[D>>2]|0)+-1}PR(a);if(l[(k[E>>2]|0)+60>>0]|0|0?mT(k[I>>2]|0,k[E>>2]|0)|0:0){JR(k[I>>2]|0,k[E>>2]|0,0,0,0);u=J;return}if(l[(k[E>>2]|0)+16>>0]|0|0){u=J;return}k[H>>2]=(k[E>>2]|0)+80+((m[(k[(k[E>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);Pb[k[(k[E>>2]|0)+48>>2]&255](k[E>>2]|0,k[H>>2]|0);u=J;return}function tS(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}e=k[b>>2]|0;a=(k[e>>2]|0)+-1|0;k[e>>2]=a;if(0<(a|0)){u=d;return}k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;ie(k[a+24+((k[c>>2]|0)*12|0)+8>>2]|0);k[c>>2]=(k[c>>2]|0)+1}ie(a);u=d;return}function uS(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+96|0;y=C+92|0;z=C+88|0;A=C+84|0;B=C+80|0;g=C+76|0;h=C+72|0;i=C+68|0;j=C+64|0;l=C+56|0;n=C+52|0;o=C+44|0;p=C;q=C+40|0;r=C+36|0;s=C+24|0;t=C+20|0;v=C+16|0;w=C+12|0;x=C+8|0;k[y>>2]=a;k[z>>2]=b;k[A>>2]=c;k[B>>2]=d;k[g>>2]=e;k[h>>2]=f;k[C+60>>2]=32;if((k[(k[k[y>>2]>>2]|0)+48>>2]|0)==1){k[l>>2]=238;k[n>>2]=133}else{k[l>>2]=239;k[n>>2]=134}f=WS(k[y>>2]|0,384)|0;k[j>>2]=f;f=rS(k[y>>2]|0)|0;k[i>>2]=f;if(!((k[j>>2]|0)!=0&(k[i>>2]|0)!=0)){B=k[i>>2]|0;tS(B);B=k[j>>2]|0;ie(B);u=C;return}k[C+48>>2]=56;f=p;k[f>>2]=0;k[f+4>>2]=0;k[q>>2]=0;k[t>>2]=1;k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;sS(k[y>>2]|0,k[i>>2]|0,56,k[g>>2]|0,k[A>>2]|0,k[B>>2]|0,-1,0,q);vS((k[y>>2]|0)+36|0,k[q>>2]|0);while(1){if(XS(k[y>>2]|0,k[q>>2]|0)|0)break;k[v>>2]=(k[q>>2]|0)+80+((m[(k[(k[q>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);k[w>>2]=k[(k[v>>2]|0)+60+4>>2];k[x>>2]=k[(k[v>>2]|0)+60>>2];Pb[k[(k[q>>2]|0)+48>>2]&255](k[q>>2]|0,k[v>>2]|0);if(k[t>>2]|0){if((k[w>>2]|0)<(k[B>>2]|0))break;if(R_(k[A>>2]|0,k[x>>2]|0,k[B>>2]|0)|0)break}if(k[(k[q>>2]|0)+12>>2]|0){e=k[q>>2]|0;c=k[e+4>>2]|0;f=p;d=k[f+4>>2]|0;if((c|0)<(d|0)|((c|0)==(d|0)?(k[e>>2]|0)>>>0<=(k[f>>2]|0)>>>0:0)?(k[s+4>>2]|0)>0:0){k[o>>2]=0;while(1){if(k[(k[y>>2]|0)+36>>2]|0)break;if(!(k[s+4>>2]|0))break;if(!(k[(k[j>>2]|0)+((k[o>>2]|0)*12|0)+4>>2]|0)){YS(s,(k[j>>2]|0)+((k[o>>2]|0)*12|0)|0);HS(s)}else{Sb[k[l>>2]&255](k[y>>2]|0,s,(k[j>>2]|0)+((k[o>>2]|0)*12|0)|0);HS((k[j>>2]|0)+((k[o>>2]|0)*12|0)|0)}k[o>>2]=(k[o>>2]|0)+1}f=p;k[f>>2]=0;k[f+4>>2]=0}f=k[n>>2]|0;e=k[y>>2]|0;c=k[q>>2]|0;d=p;d=h0(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;Mb[f&255](e,d,M,k[q>>2]|0,s);d=k[q>>2]|0;e=k[d+4>>2]|0;f=p;k[f>>2]=k[d>>2];k[f+4>>2]=e}ZS(k[y>>2]|0,k[q>>2]|0,t)}k[o>>2]=0;while(1){if((k[o>>2]|0)>=32)break;if(!(k[(k[y>>2]|0)+36>>2]|0))Sb[k[l>>2]&255](k[y>>2]|0,s,(k[j>>2]|0)+((k[o>>2]|0)*12|0)|0);xS((k[j>>2]|0)+((k[o>>2]|0)*12|0)|0);k[o>>2]=(k[o>>2]|0)+1}yS(k[q>>2]|0);B=WS(k[y>>2]|0,12+(k[s+4>>2]|0)|0)|0;k[r>>2]=B;if(k[r>>2]|0){k[k[r>>2]>>2]=(k[r>>2]|0)+12;B=k[s+4>>2]|0;k[(k[r>>2]|0)+8>>2]=B;k[(k[r>>2]|0)+4>>2]=B;r0(k[k[r>>2]>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0;_S(k[y>>2]|0,k[r>>2]|0,k[z>>2]|0,k[h>>2]|0)}xS(s);B=k[i>>2]|0;tS(B);B=k[j>>2]|0;ie(B);u=C;return}function vS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[k[c>>2]>>2]|0){u=f;return}k[e>>2]=k[k[(k[d>>2]|0)+24>>2]>>2];a=k[d>>2]|0;if((k[(k[e>>2]|0)+48>>2]|0)==1){k[a+48>>2]=134;u=f;return}b=k[d>>2]|0;if(!(k[a+44>>2]|0)){k[b+48>>2]=135;u=f;return}if(!(k[k[b+44>>2]>>2]|0)){k[(k[d>>2]|0)+48>>2]=136;u=f;return}if(!(k[(k[e>>2]|0)+48>>2]|0)){k[(k[d>>2]|0)+48>>2]=137;u=f;return}a=(k[d>>2]|0)+48|0;if((k[(k[e>>2]|0)+12>>2]|0)<=100){k[a>>2]=138;mS(k[c>>2]|0,(k[d>>2]|0)+32|0,k[(k[e>>2]|0)+12>>2]|0)|0;u=f;return}else{k[a>>2]=139;u=f;return}}function wS(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[b>>2]|0)){u=e;return}k[c>>2]=k[b>>2];k[d>>2]=k[(k[c>>2]|0)+24>>2];yS(k[c>>2]|0);eS(k[d>>2]|0);u=e;return}function xS(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ie(k[k[c>>2]>>2]|0);a=k[c>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;u=b;return}function yS(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+52>>2]|0))break;zS(a+80+((k[c>>2]|0)*88|0)|0);k[c>>2]=(k[c>>2]|0)+1}tS(k[a+28>>2]|0);xS((k[b>>2]|0)+32|0);ie(k[b>>2]|0);u=d;return}function zS(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;xS((k[b>>2]|0)+60|0);KR(k[(k[b>>2]|0)+12>>2]|0);KR(k[(k[b>>2]|0)+16>>2]|0);AS(k[(k[b>>2]|0)+56>>2]|0);ie(k[(k[b>>2]|0)+52>>2]|0);a=k[b>>2]|0;b=a+88|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));u=c;return}function AS(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;KR(k[a+8+(k[c>>2]<<5)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}ie(a);u=d;return}function BS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;f=(k[e>>2]|0)+72|0;a=k[f+4>>2]|0;b=k[d>>2]|0;k[b>>2]=k[f>>2];k[b+4>>2]=a;k[(k[d>>2]|0)+12>>2]=k[(k[e>>2]|0)+80>>2];u=c;return}function CS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;f=(k[d>>2]|0)+72|0;a=k[f+4>>2]|0;b=k[c>>2]|0;k[b>>2]=k[f>>2];k[b+4>>2]=a;k[(k[c>>2]|0)+12>>2]=k[(k[d>>2]|0)+80>>2];if(((k[(k[d>>2]|0)+20>>2]|0)+(k[(k[d>>2]|0)+80>>2]|0)|0)<=(k[(k[(k[d>>2]|0)+12>>2]|0)+8>>2]|0)){d=(k[k[(k[d>>2]|0)+12>>2]>>2]|0)+(k[(k[d>>2]|0)+20>>2]|0)|0;f=k[c>>2]|0;f=f+8|0;k[f>>2]=d;u=e;return}else{HS((k[c>>2]|0)+32|0);IS(k[(k[c>>2]|0)+24>>2]|0,k[d>>2]|0,0,(k[c>>2]|0)+32|0);d=k[(k[c>>2]|0)+32>>2]|0;f=k[c>>2]|0;f=f+8|0;k[f>>2]=d;u=e;return}}function DS(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;k[(k[d>>2]|0)+12>>2]=0;u=c;return}function ES(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+44>>2];h=(k[d>>2]|0)+72|0;a=k[h+4>>2]|0;b=k[c>>2]|0;k[b>>2]=k[h>>2];k[b+4>>2]=a;if(((k[(k[d>>2]|0)+20>>2]|0)+(k[(k[d>>2]|0)+80>>2]|0)|0)>(k[(k[(k[d>>2]|0)+12>>2]|0)+8>>2]|0)){HS((k[c>>2]|0)+32|0);IS(k[(k[c>>2]|0)+24>>2]|0,k[d>>2]|0,k[e>>2]|0,(k[c>>2]|0)+32|0);k[(k[c>>2]|0)+8>>2]=k[(k[c>>2]|0)+32>>2];k[(k[c>>2]|0)+12>>2]=k[(k[c>>2]|0)+32+4>>2];u=g;return}k[f>>2]=(k[k[(k[d>>2]|0)+12>>2]>>2]|0)+(k[(k[d>>2]|0)+20>>2]|0);if((k[k[e>>2]>>2]|0)==1){h=QS(f,k[(k[d>>2]|0)+80>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;k[(k[c>>2]|0)+12>>2]=h;k[(k[c>>2]|0)+8>>2]=k[f>>2];u=g;return}else{HS((k[c>>2]|0)+32|0);RS(k[e>>2]|0,k[f>>2]|0,k[(k[d>>2]|0)+80>>2]|0,(k[c>>2]|0)+32|0)|0;k[(k[c>>2]|0)+8>>2]=k[(k[c>>2]|0)+32>>2];k[(k[c>>2]|0)+12>>2]=k[(k[c>>2]|0)+32+4>>2];u=g;return}}function FS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+48|0;e=o+32|0;c=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;n=o+4|0;d=o;k[e>>2]=a;k[c>>2]=b;if(((k[(k[c>>2]|0)+20>>2]|0)+(k[(k[c>>2]|0)+80>>2]|0)|0)>(k[(k[(k[c>>2]|0)+12>>2]|0)+8>>2]|0)){GS(k[e>>2]|0,k[c>>2]|0);u=o;return}k[f>>2]=(k[k[(k[c>>2]|0)+12>>2]>>2]|0)+(k[(k[c>>2]|0)+20>>2]|0);k[g>>2]=(k[f>>2]|0)+(k[(k[c>>2]|0)+80>>2]|0);k[h>>2]=0;k[j>>2]=(k[(k[e>>2]|0)+44>>2]|0)+4;k[m>>2]=(k[j>>2]|0)+(k[k[(k[e>>2]|0)+44>>2]>>2]<<2);k[n>>2]=k[(k[e>>2]|0)+32>>2];k[d>>2]=0;a=(k[c>>2]|0)+72|0;b=k[a+4>>2]|0;c=k[e>>2]|0;k[c>>2]=k[a>>2];k[c+4>>2]=b;a:while(1){if((k[f>>2]|0)>>>0>=(k[g>>2]|0)>>>0)break;c=k[f>>2]|0;k[f>>2]=c+1;k[h>>2]=(k[h>>2]|0)+((l[c>>0]|0)-2);while(1){a=k[j>>2]|0;if((k[k[j>>2]>>2]|0)>=(k[h>>2]|0))break;k[j>>2]=a+4;if((k[j>>2]|0)==(k[m>>2]|0))break a}if((k[a>>2]|0)!=(k[h>>2]|0))continue;b=(k[h>>2]|0)-(k[d>>2]|0)+2&255;c=k[n>>2]|0;k[n>>2]=c+1;i[c>>0]=b;k[d>>2]=k[h>>2]}k[(k[e>>2]|0)+8>>2]=k[(k[e>>2]|0)+32>>2];k[(k[e>>2]|0)+12>>2]=(k[n>>2]|0)-(k[(k[e>>2]|0)+32>>2]|0);u=o;return}function GS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;HS((k[d>>2]|0)+32|0);IS(k[(k[d>>2]|0)+24>>2]|0,k[e>>2]|0,k[(k[d>>2]|0)+44>>2]|0,(k[d>>2]|0)+32|0);e=(k[e>>2]|0)+72|0;a=k[e+4>>2]|0;b=k[d>>2]|0;k[b>>2]=k[e>>2];k[b+4>>2]=a;k[(k[d>>2]|0)+8>>2]=k[(k[d>>2]|0)+32>>2];k[(k[d>>2]|0)+12>>2]=k[(k[d>>2]|0)+32+4>>2];u=c;return}function HS(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+4>>2]=0;u=b;return}function IS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+48|0;e=l+40|0;f=l+36|0;g=l+32|0;h=l+28|0;i=l+16|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(((k[(k[h>>2]|0)+4>>2]|0)+(k[(k[f>>2]|0)+80>>2]|0)|0)>>>0<=(k[(k[h>>2]|0)+8>>2]|0)>>>0)a=0;else a=mS((k[e>>2]|0)+36|0,k[h>>2]|0,(k[(k[f>>2]|0)+80>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0)|0;if(a){u=l;return}a=k[e>>2]|0;if(!(k[g>>2]|0)){KS(a,k[f>>2]|0,k[h>>2]|0,136);u=l;return}if(!(k[(k[a>>2]|0)+48>>2]|0)){k[i>>2]=k[h>>2];k[i+4>>2]=k[g>>2];j=LS(k[g>>2]|0,0)|0;k[i+8>>2]=j;KS(k[e>>2]|0,k[f>>2]|0,i,137);u=l;return}else{k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[j+12>>2]=0;k[j>>2]=k[h>>2];k[j+4>>2]=k[g>>2];KS(k[e>>2]|0,k[f>>2]|0,j,138);u=l;return}}function JS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=u;u=u+16|0;e=h+8|0;f=h+4|0;g=h;k[h+12>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;if((k[g>>2]|0)<=0){u=h;return}r0((k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)|0,k[f>>2]|0,k[g>>2]|0)|0;f=(k[e>>2]|0)+4|0;k[f>>2]=(k[f>>2]|0)+(k[g>>2]|0);u=h;return}function KS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;i=p+36|0;j=p+32|0;l=p+28|0;m=p+24|0;n=p+20|0;o=p+16|0;e=p+12|0;f=p+8|0;g=p+4|0;h=p;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=k[(k[j>>2]|0)+80>>2];k[o>>2]=0;k[e>>2]=(k[k[(k[j>>2]|0)+12>>2]>>2]|0)+(k[(k[j>>2]|0)+20>>2]|0);if((k[n>>2]|0)<((k[(k[(k[j>>2]|0)+12>>2]|0)+8>>2]|0)-(k[(k[j>>2]|0)+20>>2]|0)|0))a=k[n>>2]|0;else a=(k[(k[(k[j>>2]|0)+12>>2]|0)+8>>2]|0)-(k[(k[j>>2]|0)+20>>2]|0)|0;k[f>>2]=a;k[g>>2]=k[(k[j>>2]|0)+8>>2];k[h>>2]=0;if(!(k[(k[j>>2]|0)+4>>2]&2))k[h>>2]=(k[g>>2]|0)+1;while(1){Yb[k[m>>2]&255](k[i>>2]|0,k[l>>2]|0,k[e>>2]|0,k[f>>2]|0);k[n>>2]=(k[n>>2]|0)-(k[f>>2]|0);KR(k[o>>2]|0);if((k[n>>2]|0)<=0){a=13;break}k[g>>2]=(k[g>>2]|0)+1;c=k[i>>2]|0;b=k[k[k[j>>2]>>2]>>2]|0;b=t0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=i0(b|0,M|0,0,0)|0;b=i0(b|0,M|0,0,0)|0;d=k[g>>2]|0;d=i0(b|0,M|0,d|0,((d|0)<0)<<31>>31|0)|0;d=ZR(c,d,M)|0;k[o>>2]=d;if(!(k[o>>2]|0)){a=13;break}k[e>>2]=(k[k[o>>2]>>2]|0)+4;if((k[n>>2]|0)<((k[(k[o>>2]|0)+8>>2]|0)-4|0))a=k[n>>2]|0;else a=(k[(k[o>>2]|0)+8>>2]|0)-4|0;k[f>>2]=a;if((k[g>>2]|0)!=(k[h>>2]|0))continue;k[(k[j>>2]|0)+16>>2]=k[o>>2];k[o>>2]=0}if((a|0)==13){u=p;return}}function LS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0)){a=6;break}if((k[(k[c>>2]|0)+4+(k[e>>2]<<2)>>2]|0)==(k[d>>2]|0)){a=4;break}k[e>>2]=(k[e>>2]|0)+1}if((a|0)==4){k[f>>2]=1;f=k[f>>2]|0;u=g;return f|0}else if((a|0)==6){k[f>>2]=0;f=k[f>>2]|0;u=g;return f|0}return 0}function MS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;n=u;u=u+48|0;o=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;m=n+12|0;f=n+8|0;e=n+4|0;g=n;k[n+32>>2]=a;k[o>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=k[o>>2];if((k[i>>2]|0)<=0){u=n;return}k[m>>2]=0;k[f>>2]=0;do if((k[(k[j>>2]|0)+8>>2]|0)==2){d=k[h>>2]|0;o=k[m>>2]|0;k[m>>2]=o+1;k[e>>2]=l[d+o>>0];if(k[e>>2]&128|0){k[m>>2]=(k[m>>2]|0)+-1;o=dS((k[h>>2]|0)+(k[m>>2]|0)|0,e)|0;k[m>>2]=(k[m>>2]|0)+o}o=(LS(k[(k[j>>2]|0)+4>>2]|0,k[e>>2]|0)|0)!=0;a=(k[j>>2]|0)+8|0;if(o){k[a>>2]=1;d=OS((k[k[k[j>>2]>>2]>>2]|0)+(k[(k[k[j>>2]>>2]|0)+4>>2]|0)|0,1,0)|0;o=(k[k[j>>2]>>2]|0)+4|0;k[o>>2]=(k[o>>2]|0)+d;break}else{k[a>>2]=0;break}}while(0);while(1){a:while(1){if((k[m>>2]|0)>=(k[i>>2]|0))break;if((l[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0|0)==1)break;while(1){o=((l[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)&128|0)!=0;k[m>>2]=(k[m>>2]|0)+1;if(!o)continue a}}if(k[(k[j>>2]|0)+8>>2]|0){r0((k[k[k[j>>2]>>2]>>2]|0)+(k[(k[k[j>>2]>>2]|0)+4>>2]|0)|0,(k[h>>2]|0)+(k[f>>2]|0)|0,(k[m>>2]|0)-(k[f>>2]|0)|0)|0;o=(k[k[j>>2]>>2]|0)+4|0;k[o>>2]=(k[o>>2]|0)+((k[m>>2]|0)-(k[f>>2]|0))}do if((k[m>>2]|0)<(k[i>>2]|0)){k[f>>2]=k[m>>2];k[m>>2]=(k[m>>2]|0)+1;if((k[m>>2]|0)>=(k[i>>2]|0)){k[(k[j>>2]|0)+8>>2]=2;break}d=k[h>>2]|0;o=k[m>>2]|0;k[m>>2]=o+1;k[g>>2]=l[d+o>>0];if(k[g>>2]&128|0){k[m>>2]=(k[m>>2]|0)+-1;o=dS((k[h>>2]|0)+(k[m>>2]|0)|0,g)|0;k[m>>2]=(k[m>>2]|0)+o}o=LS(k[(k[j>>2]|0)+4>>2]|0,k[g>>2]|0)|0;k[(k[j>>2]|0)+8>>2]=o;if(k[(k[j>>2]|0)+8>>2]|0){r0((k[k[k[j>>2]>>2]>>2]|0)+(k[(k[k[j>>2]>>2]|0)+4>>2]|0)|0,(k[h>>2]|0)+(k[f>>2]|0)|0,(k[m>>2]|0)-(k[f>>2]|0)|0)|0;o=(k[k[j>>2]>>2]|0)+4|0;k[o>>2]=(k[o>>2]|0)+((k[m>>2]|0)-(k[f>>2]|0));k[f>>2]=k[m>>2]}}while(0);if((k[m>>2]|0)>=(k[i>>2]|0))break}u=n;return}function NS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;l=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;e=j;k[j+24>>2]=a;k[l>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[l>>2];if((k[g>>2]|0)<=0){u=j;return}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[g>>2]|0))break;l=dS((k[f>>2]|0)+(k[i>>2]|0)|0,e)|0;k[i>>2]=(k[i>>2]|0)+l;k[e>>2]=(k[e>>2]|0)+((k[(k[h>>2]|0)+8>>2]|0)-2);k[(k[h>>2]|0)+8>>2]=k[e>>2];if(!(LS(k[(k[h>>2]|0)+4>>2]|0,k[e>>2]|0)|0))continue;d=(k[e>>2]|0)+2-(k[(k[h>>2]|0)+12>>2]|0)|0;d=OS((k[k[k[h>>2]>>2]>>2]|0)+(k[(k[k[h>>2]>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;l=(k[k[h>>2]>>2]|0)+4|0;k[l>>2]=(k[l>>2]|0)+d;k[(k[h>>2]|0)+12>>2]=k[e>>2]}u=j;return}function OS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;h=f;k[h>>2]=b;k[h+4>>2]=c;c=f;h=k[c+4>>2]|0;b=f;a=k[b>>2]|0;b=k[b+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[c>>2]|0)>>>0<=127){i[k[e>>2]>>0]=a&127;k[d>>2]=1;h=k[d>>2]|0;u=g;return h|0}if(b>>>0<0|(b|0)==0&a>>>0<=16383){h=f;h=p0(k[h>>2]|0,k[h+4>>2]|0,7)|0;i[k[e>>2]>>0]=h&127|128;i[(k[e>>2]|0)+1>>0]=k[f>>2]&127;k[d>>2]=2;h=k[d>>2]|0;u=g;return h|0}else{h=f;h=PS(k[e>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[d>>2]=h;h=k[d>>2]|0;u=g;return h|0}return 0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+48|0;d=n+24|0;e=n+20|0;f=n;g=n+16|0;h=n+12|0;j=n+8|0;m=n+28|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(0?1:(k[f+4>>2]&-16777216|0)!=0){i[(k[e>>2]|0)+8>>0]=k[f>>2];j=f;j=p0(k[j>>2]|0,k[j+4>>2]|0,8)|0;m=f;k[m>>2]=j;k[m+4>>2]=M;k[g>>2]=7;while(1){if((k[g>>2]|0)<0)break;i[(k[e>>2]|0)+(k[g>>2]|0)>>0]=k[f>>2]&127|128;j=f;j=p0(k[j>>2]|0,k[j+4>>2]|0,7)|0;m=f;k[m>>2]=j;k[m+4>>2]=M;k[g>>2]=(k[g>>2]|0)+-1}k[d>>2]=9;m=k[d>>2]|0;u=n;return m|0}k[j>>2]=0;do{c=(k[f>>2]&127|128)&255;b=k[j>>2]|0;k[j>>2]=b+1;i[m+b>>0]=c;b=f;b=p0(k[b>>2]|0,k[b+4>>2]|0,7)|0;c=f;k[c>>2]=b;k[c+4>>2]=M;c=f}while((k[c>>2]|0)!=0|(k[c+4>>2]|0)!=0);i[m>>0]=(l[m>>0]|0)&127;k[g>>2]=0;k[h>>2]=(k[j>>2]|0)-1;while(1){if((k[h>>2]|0)<0)break;i[(k[e>>2]|0)+(k[g>>2]|0)>>0]=i[m+(k[h>>2]|0)>>0]|0;k[h>>2]=(k[h>>2]|0)+-1;k[g>>2]=(k[g>>2]|0)+1}k[d>>2]=k[j>>2];m=k[d>>2]|0;u=n;return m|0}function QS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;m=u;u=u+32|0;d=m+24|0;e=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;k[e>>2]=a;k[n>>2]=b;k[f>>2]=c;k[g>>2]=0;k[h>>2]=k[k[e>>2]>>2];k[i>>2]=(k[h>>2]|0)+(k[n>>2]|0);a:while(1){if((k[f>>2]|0)<=(k[g>>2]|0))break;while(1){if((l[k[h>>2]>>0]|0|0)==1)break;do{n=k[h>>2]|0;k[h>>2]=n+1}while(((l[n>>0]|0)&128|0)!=0);if((k[h>>2]|0)>>>0>=(k[i>>2]|0)>>>0){j=6;break a}}n=k[h>>2]|0;k[h>>2]=n+1;k[k[e>>2]>>2]=n;n=k[h>>2]|0;k[h>>2]=n+1;k[g>>2]=l[n>>0];if(!(k[g>>2]&128))continue;k[h>>2]=(k[h>>2]|0)+-1;n=dS(k[h>>2]|0,g)|0;k[h>>2]=(k[h>>2]|0)+n}if((j|0)==6){k[d>>2]=0;n=k[d>>2]|0;u=m;return n|0}if((k[f>>2]|0)!=(k[g>>2]|0)){k[d>>2]=0;n=k[d>>2]|0;u=m;return n|0}b:while(1){if((k[h>>2]|0)>>>0>=(k[i>>2]|0)>>>0)break;if((l[k[h>>2]>>0]|0|0)==1)break;while(1){n=k[h>>2]|0;k[h>>2]=n+1;if(!((l[n>>0]|0)&128))continue b}}k[d>>2]=(k[h>>2]|0)-(k[k[e>>2]>>2]|0);n=k[d>>2]|0;u=m;return n|0}function RS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;g=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;l=n+12|0;m=n+8|0;e=n+4|0;f=n;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=0;HS(k[j>>2]|0);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[g>>2]>>2]|0))break;k[e>>2]=k[h>>2];d=QS(e,k[i>>2]|0,k[(k[g>>2]|0)+4+(k[m>>2]<<2)>>2]|0)|0;k[f>>2]=d;if(k[f>>2]|0)lS(l,k[j>>2]|0,k[f>>2]|0,k[e>>2]|0);k[m>>2]=(k[m>>2]|0)+1}u=n;return k[l>>2]|0}function SS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=u;u=u+64|0;n=m+52|0;f=m+48|0;g=m+44|0;h=m+40|0;i=m+36|0;j=m+16|0;l=m+8|0;d=m;e=m+24|0;k[n>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=0;k[i>>2]=0;c=j;k[c>>2]=0;k[c+4>>2]=0;c=l;k[c>>2]=0;k[c+4>>2]=0;c=d;k[c>>2]=0;k[c+4>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;mS((k[n>>2]|0)+36|0,e,(k[(k[f>>2]|0)+4>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0)|0)|0;if(k[(k[n>>2]|0)+36>>2]|0){u=m;return}sT(k[f>>2]|0,h,j);sT(k[g>>2]|0,i,l);a:while(1){if(!((k[h>>2]|0)>=0?1:(k[i>>2]|0)>=0))break;do if((k[h>>2]|0)>=0){if((k[i>>2]|0)>=0?(c=j,a=k[c+4>>2]|0,n=l,b=k[n+4>>2]|0,!((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[n>>2]|0)>>>0:0))):0)break;b=(k[e>>2]|0)+(k[e+4>>2]|0)|0;n=j;c=d;c=h0(k[n>>2]|0,k[n+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;c=OS(b,c,M)|0;b=e+4|0;k[b>>2]=(k[b>>2]|0)+c;b=j;c=k[b+4>>2]|0;n=d;k[n>>2]=k[b>>2];k[n+4>>2]=c;sT(k[f>>2]|0,h,j);continue a}while(0);b=(k[e>>2]|0)+(k[e+4>>2]|0)|0;n=l;c=d;c=h0(k[n>>2]|0,k[n+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;c=OS(b,c,M)|0;b=e+4|0;k[b>>2]=(k[b>>2]|0)+c;b=l;c=k[b+4>>2]|0;n=d;k[n>>2]=k[b>>2];k[n+4>>2]=c;if((k[h>>2]|0)>=0?(c=j,n=l,(k[c>>2]|0)==(k[n>>2]|0)?(k[c+4>>2]|0)==(k[n+4>>2]|0):0):0)sT(k[f>>2]|0,h,j);sT(k[g>>2]|0,i,l)}YS(e,k[f>>2]|0);xS(e);u=m;return}function TS(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=u;u=u+32|0;h=f+16|0;i=f;g=f+8|0;k[h>>2]=a;a=i;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;e=i;rT((k[h>>2]|0)+36|0,k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0);u=f;return}function US(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+160|0;r=w+152|0;s=w+148|0;e=w+144|0;o=w+96|0;d=w+64|0;p=w+32|0;t=w+132|0;q=w+120|0;f=w+24|0;g=w+16|0;h=w+116|0;i=w+112|0;j=w+108|0;l=w+104|0;m=w+8|0;n=w;k[r>>2]=a;k[s>>2]=b;k[e>>2]=c;if(!(k[(k[e>>2]|0)+4>>2]|0)){u=w;return}c=o;k[c>>2]=0;k[c+4>>2]=0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;if(mS((k[r>>2]|0)+36|0,t,(k[(k[s>>2]|0)+4>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)|0)|0){u=w;return}oT(k[s>>2]|0,d);oT(k[e>>2]|0,p);while(1){c=d+8|0;a=k[c+4>>2]|0;e=p+8|0;b=k[e+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[e>>2]|0)>>>0:0)){b=(k[t>>2]|0)+(k[t+4>>2]|0)|0;e=d+8|0;c=o;c=h0(k[e>>2]|0,k[e+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;c=OS(b,c,M)|0;b=t+4|0;k[b>>2]=(k[b>>2]|0)+c;b=d+8|0;c=k[b+4>>2]|0;e=o;k[e>>2]=k[b>>2];k[e+4>>2]=c;r0((k[t>>2]|0)+(k[t+4>>2]|0)|0,k[d+16>>2]|0,(k[d+20>>2]|0)+(k[d+24>>2]|0)|0)|0;e=t+4|0;k[e>>2]=(k[e>>2]|0)+((k[d+20>>2]|0)+(k[d+24>>2]|0));pT(d);if(!(k[d+16>>2]|0))break;else continue}c=p+8|0;e=d+8|0;if((k[c>>2]|0)!=(k[e>>2]|0)?1:(k[c+4>>2]|0)!=(k[e+4>>2]|0)){b=(k[t>>2]|0)+(k[t+4>>2]|0)|0;e=p+8|0;c=o;c=h0(k[e>>2]|0,k[e+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;c=OS(b,c,M)|0;b=t+4|0;k[b>>2]=(k[b>>2]|0)+c;b=p+8|0;c=k[b+4>>2]|0;e=o;k[e>>2]=k[b>>2];k[e+4>>2]=c;r0((k[t>>2]|0)+(k[t+4>>2]|0)|0,k[p+16>>2]|0,(k[p+20>>2]|0)+(k[p+24>>2]|0)|0)|0;e=t+4|0;k[e>>2]=(k[e>>2]|0)+((k[p+20>>2]|0)+(k[p+24>>2]|0));pT(p);if(!(k[p+16>>2]|0))break;else continue}b=f;k[b>>2]=0;k[b+4>>2]=0;b=g;k[b>>2]=0;k[b+4>>2]=0;k[h>>2]=0;k[i>>2]=0;k[j>>2]=(k[d+16>>2]|0)+(k[d+24>>2]|0);k[l>>2]=(k[p+16>>2]|0)+(k[p+24>>2]|0);b=m;k[b>>2]=0;k[b+4>>2]=0;k[n>>2]=0;k[n+4>>2]=0;b=(k[t>>2]|0)+(k[t+4>>2]|0)|0;e=p+8|0;c=o;c=h0(k[e>>2]|0,k[e+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;c=OS(b,c,M)|0;b=t+4|0;k[b>>2]=(k[b>>2]|0)+c;b=p+8|0;c=k[b+4>>2]|0;e=o;k[e>>2]=k[b>>2];k[e+4>>2]=c;HS(q);mS((k[r>>2]|0)+36|0,q,(k[d+20>>2]|0)+(k[p+20>>2]|0)|0)|0;if(k[(k[r>>2]|0)+36>>2]|0)break;HR(k[j>>2]|0,k[d+20>>2]|0,h,f)|0;HR(k[l>>2]|0,k[p+20>>2]|0,i,g)|0;c=f;a=k[c+4>>2]|0;e=g;b=k[e+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[e>>2]|0)>>>0:0)){e=f;qT(q,m,k[e>>2]|0,k[e+4>>2]|0);HR(k[j>>2]|0,k[d+20>>2]|0,h,f)|0}else{e=g;qT(q,m,k[e>>2]|0,k[e+4>>2]|0);HR(k[l>>2]|0,k[p+20>>2]|0,i,g)|0}b=f;a=k[b+4>>2]|0;e=g;c=k[e+4>>2]|0;if(((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>=0)&((c|0)>0|(c|0)==0&(k[e>>2]|0)>>>0>=0))while(1){c=f;a=k[c+4>>2]|0;e=g;b=k[e+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[e>>2]|0)>>>0:0))){e=g;qT(q,m,k[e>>2]|0,k[e+4>>2]|0);HR(k[l>>2]|0,k[p+20>>2]|0,i,g)|0;if((k[g+4>>2]|0)<0)break;else continue}c=f;e=m;if((k[c>>2]|0)!=(k[e>>2]|0)?1:(k[c+4>>2]|0)!=(k[e+4>>2]|0)){e=f;qT(q,m,k[e>>2]|0,k[e+4>>2]|0)}HR(k[j>>2]|0,k[d+20>>2]|0,h,f)|0;if((k[f+4>>2]|0)<0)break}e=f;c=k[e+4>>2]|0;if((c|0)>0|(c|0)==0&(k[e>>2]|0)>>>0>=0){c=f;e=m;if((k[c>>2]|0)!=(k[e>>2]|0)?1:(k[c+4>>2]|0)!=(k[e+4>>2]|0)){e=f;qT(q,m,k[e>>2]|0,k[e+4>>2]|0)}r0((k[q>>2]|0)+(k[q+4>>2]|0)|0,(k[j>>2]|0)+(k[h>>2]|0)|0,(k[d+20>>2]|0)-(k[h>>2]|0)|0)|0;a=(k[d+20>>2]|0)-(k[h>>2]|0)|0}else{a=g;qT(q,m,k[a>>2]|0,k[a+4>>2]|0);r0((k[q>>2]|0)+(k[q+4>>2]|0)|0,(k[l>>2]|0)+(k[i>>2]|0)|0,(k[p+20>>2]|0)-(k[i>>2]|0)|0)|0;a=(k[p+20>>2]|0)-(k[i>>2]|0)|0}c=q+4|0;k[c>>2]=(k[c>>2]|0)+a;c=k[q+4>>2]<<1;c=OS((k[t>>2]|0)+(k[t+4>>2]|0)|0,c,((c|0)<0)<<31>>31)|0;e=t+4|0;k[e>>2]=(k[e>>2]|0)+c;r0((k[t>>2]|0)+(k[t+4>>2]|0)|0,k[q>>2]|0,k[q+4>>2]|0)|0;e=t+4|0;k[e>>2]=(k[e>>2]|0)+(k[q+4>>2]|0);pT(d);pT(p);if(!(k[d+16>>2]|0))break;if(!(k[p+16>>2]|0))break}if(!(k[d+16>>2]|0)){if(k[p+16>>2]|0){n=(k[t>>2]|0)+(k[t+4>>2]|0)|0;d=p+8|0;v=o;v=h0(k[d>>2]|0,k[d+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;v=OS(n,v,M)|0;n=t+4|0;k[n>>2]=(k[n>>2]|0)+v;n=p+8|0;v=k[n+4>>2]|0;d=o;k[d>>2]=k[n>>2];k[d+4>>2]=v;r0((k[t>>2]|0)+(k[t+4>>2]|0)|0,k[p+16>>2]|0,(k[p>>2]|0)-(k[p+16>>2]|0)|0)|0;d=p;v=29}}else{n=(k[t>>2]|0)+(k[t+4>>2]|0)|0;v=d+8|0;p=o;p=h0(k[v>>2]|0,k[v+4>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=OS(n,p,M)|0;n=t+4|0;k[n>>2]=(k[n>>2]|0)+p;n=d+8|0;p=k[n+4>>2]|0;v=o;k[v>>2]=k[n>>2];k[v+4>>2]=p;r0((k[t>>2]|0)+(k[t+4>>2]|0)|0,k[d+16>>2]|0,(k[d>>2]|0)-(k[d+16>>2]|0)|0)|0;v=29}if((v|0)==29){v=t+4|0;k[v>>2]=(k[v>>2]|0)+((k[d>>2]|0)-(k[d+16>>2]|0))}GR((k[r>>2]|0)+36|0,k[s>>2]|0,k[t+4>>2]|0,k[t>>2]|0);xS(q);xS(t);u=w;return}function VS(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;f=l+20|0;g=l;h=l+16|0;i=l+12|0;j=l+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;k[j>>2]=k[(k[h>>2]|0)+12>>2];if(k[(k[f>>2]|0)+36>>2]|0){u=l;return}if(((k[(k[i>>2]|0)+4>>2]|0)+((k[j>>2]|0)+9+9)|0)>>>0<=(k[(k[i>>2]|0)+8>>2]|0)>>>0)a=0;else a=mS((k[f>>2]|0)+36|0,k[i>>2]|0,(k[j>>2]|0)+9+9+(k[(k[i>>2]|0)+4>>2]|0)|0)|0;if(a){u=l;return}g=OS((k[k[i>>2]>>2]|0)+(k[(k[i>>2]|0)+4>>2]|0)|0,k[g>>2]|0,k[g+4>>2]|0)|0;f=(k[i>>2]|0)+4|0;k[f>>2]=(k[f>>2]|0)+g;f=k[j>>2]<<1;f=OS((k[k[i>>2]>>2]|0)+(k[(k[i>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;g=(k[i>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+f;r0((k[k[i>>2]>>2]|0)+(k[(k[i>>2]|0)+4>>2]|0)|0,k[(k[h>>2]|0)+8>>2]|0,k[j>>2]|0)|0;i=(k[i>>2]|0)+4|0;k[i>>2]=(k[i>>2]|0)+(k[j>>2]|0);u=l;return}function WS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=nT((k[e>>2]|0)+36|0,k[d>>2]|0)|0;u=c;return b|0}function XS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;if(k[(k[e>>2]|0)+36>>2]|0){e=1;e=e&1;u=d;return e|0}e=(l[(k[c>>2]|0)+16>>0]|0|0)!=0;e=e&1;u=d;return e|0}function YS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+32|0;f=c+16|0;e=c+12|0;d=c;k[f>>2]=a;k[e>>2]=b;b=k[f>>2]|0;k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];k[d+8>>2]=k[b+8>>2];b=k[f>>2]|0;a=k[e>>2]|0;k[b>>2]=k[a>>2];k[b+4>>2]=k[a+4>>2];k[b+8>>2]=k[a+8>>2];b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=k[d+4>>2];k[b+8>>2]=k[d+8>>2];u=c;return}function ZS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[d>>2]|0)+36>>2]|0){u=j;return}do{k[g>>2]=m[(k[(k[e>>2]|0)+72>>2]|0)+4>>1];k[h>>2]=(k[e>>2]|0)+80+((k[g>>2]|0)*88|0);k[i>>2]=0;Sb[k[(k[h>>2]|0)+24>>2]&255](k[d>>2]|0,k[h>>2]|0,i);if(!(k[i>>2]|0?1:(k[(k[h>>2]|0)+12>>2]|0)==0)?!(NR(k[e>>2]|0,k[g>>2]|0,h)|0):0)k[k[f>>2]>>2]=0;else{OR(k[d>>2]|0,k[e>>2]|0,k[g>>2]|0,1);PR(k[e>>2]|0);k[k[f>>2]>>2]=1}}while((mT(k[d>>2]|0,k[e>>2]|0)|0)!=0);u=j;return}function _S(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=u;u=u+32|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;l=n+4|0;m=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=$S(k[e>>2]|0,2)|0;k[l>>2]=d;if(!(k[l>>2]|0)){m=k[f>>2]|0;KR(m);u=n;return}k[m>>2]=(k[l>>2]|0)+80+88;k[(k[m>>2]|0)+4>>2]=1;if((k[(k[f>>2]|0)+8>>2]|0)>0){k[(k[m>>2]|0)+12>>2]=k[f>>2];d=($R(k[k[f>>2]>>2]|0,(k[m>>2]|0)+72|0)|0)&255;k[(k[m>>2]|0)+20>>2]=d;k[(k[m>>2]|0)+40>>2]=k[(k[f>>2]|0)+4>>2];j[(k[(k[l>>2]|0)+72>>2]|0)+4>>1]=1;if(k[g>>2]|0){k[(k[l>>2]|0)+56>>2]=1;g=(k[m>>2]|0)+4|0;k[g>>2]=k[g>>2]|2;aS(k[e>>2]|0,k[m>>2]|0)}else cS(k[e>>2]|0,k[m>>2]|0);k[f>>2]=0}else i[(k[l>>2]|0)+16>>0]=1;aT(k[e>>2]|0,k[m>>2]|0);k[k[h>>2]>>2]=k[l>>2];m=k[f>>2]|0;KR(m);u=n;return}function $S(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=2;while(1){if((k[f>>2]|0)>=(k[d>>2]|0))break;k[f>>2]=k[f>>2]<<1}d=WS(k[c>>2]|0,168+(((k[f>>2]|0)-1|0)*88|0)+(k[f>>2]<<2)|0)|0;k[e>>2]=d;if(!(k[e>>2]|0)){f=k[e>>2]|0;u=g;return f|0}k[(k[e>>2]|0)+52>>2]=k[f>>2];k[(k[e>>2]|0)+72>>2]=(k[e>>2]|0)+80+((k[f>>2]|0)*88|0);k[(k[e>>2]|0)+24>>2]=k[c>>2];k[(k[e>>2]|0)+48>>2]=140;f=k[e>>2]|0;u=g;return f|0}function aT(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[d>>2]|0)+4>>2]&2|0){k[(k[d>>2]|0)+24>>2]=240;u=e;return}else{k[(k[d>>2]|0)+24>>2]=(k[(k[k[c>>2]>>2]|0)+48>>2]|0)==1?241:242;u=e;return}}function bT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+24|0;e=i+20|0;f=i+12|0;g=i+8|0;h=i;k[d>>2]=a;k[e>>2]=b;k[i+16>>2]=c;if((k[(k[e>>2]|0)+44>>2]|0)<=0){YR(k[d>>2]|0,k[e>>2]|0);u=i;return}k[f>>2]=k[k[(k[e>>2]|0)+12>>2]>>2];c=(k[e>>2]|0)+44|0;k[c>>2]=(k[c>>2]|0)+-1;k[(k[e>>2]|0)+20>>2]=k[(k[(k[e>>2]|0)+52>>2]|0)+(k[(k[e>>2]|0)+44>>2]<<2)>>2];cS(k[d>>2]|0,k[e>>2]|0);k[g>>2]=k[(k[e>>2]|0)+20>>2];if((k[(k[k[d>>2]>>2]|0)+48>>2]|0)!=1)k[g>>2]=(k[g>>2]|0)+(k[(k[e>>2]|0)+80>>2]|0);$R((k[f>>2]|0)+(k[g>>2]|0)|0,h)|0;g=h;h=(k[e>>2]|0)+72|0;f=h;g=h0(k[f>>2]|0,k[f+4>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[h>>2]=g;k[h+4>>2]=M;u=i;return}function cT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+48|0;f=n+36|0;g=n+32|0;h=n+28|0;i=n+24|0;j=n;l=n+20|0;m=n+16|0;d=n+12|0;e=n+8|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=k[(k[g>>2]|0)+20>>2];do if(k[k[g>>2]>>2]|0?(k[i>>2]|0)>=(k[(k[(k[g>>2]|0)+12>>2]|0)+8>>2]|0):0){iS(k[f>>2]|0,k[g>>2]|0);if(k[(k[f>>2]|0)+36>>2]|0){u=n;return}if(!(k[(k[g>>2]|0)+12>>2]|0)){u=n;return}else{c=(k[g>>2]|0)+72|0;k[c>>2]=0;k[c+4>>2]=0;k[i>>2]=4;break}}while(0);a=k[g>>2]|0;a:do if((k[i>>2]|0)<(k[(k[g>>2]|0)+40>>2]|0)){l=($R((k[k[a+12>>2]>>2]|0)+(k[i>>2]|0)|0,j)|0)&255;k[i>>2]=(k[i>>2]|0)+l;k[(k[g>>2]|0)+20>>2]=k[i>>2];l=j;m=(k[g>>2]|0)+72|0;j=m;l=i0(k[j>>2]|0,k[j+4>>2]|0,k[l>>2]|0,k[l+4>>2]|0)|0;k[m>>2]=l;k[m+4>>2]=M}else{do if(!(k[a+4>>2]&1)){if(k[k[g>>2]>>2]|0){k[l>>2]=0;m=k[i>>2]|0;if((m|0)!=(eT(k[(k[g>>2]|0)+12>>2]|0)|0)){m=dS((k[k[(k[g>>2]|0)+12>>2]>>2]|0)+(k[i>>2]|0)|0,l)|0;k[i>>2]=(k[i>>2]|0)+m}k[(k[g>>2]|0)+20>>2]=k[i>>2];hT(k[f>>2]|0,k[g>>2]|0,k[l>>2]|0)}else{k[m>>2]=0;k[d>>2]=0;fT(k[(k[f>>2]|0)+12>>2]|0);gT(k[(k[f>>2]|0)+12>>2]|0,d,m,e);if(!(k[m>>2]|0))break;k[k[(k[g>>2]|0)+12>>2]>>2]=k[m>>2];k[(k[(k[g>>2]|0)+12>>2]|0)+4>>2]=k[e>>2];k[(k[(k[g>>2]|0)+12>>2]|0)+8>>2]=k[e>>2];k[(k[g>>2]|0)+40>>2]=k[e>>2];i=(k[f>>2]|0)+36|0;j=(k[g>>2]|0)+60|0;l=q$(k[d>>2]|0)|0;GR(i,j,l,k[d>>2]|0);m=($R(k[m>>2]|0,(k[g>>2]|0)+72|0)|0)&255;k[(k[g>>2]|0)+20>>2]=m}if(!(k[h>>2]|0))break a;k[k[h>>2]>>2]=1;break a}while(0);KR(k[(k[g>>2]|0)+12>>2]|0);k[(k[g>>2]|0)+12>>2]=0;u=n;return}while(0);cS(k[f>>2]|0,k[g>>2]|0);u=n;return}function dT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+64|0;p=v+56|0;q=v+52|0;r=v+48|0;j=v+44|0;m=v+40|0;s=v+36|0;t=v+32|0;d=v+28|0;w=v+24|0;e=v;f=v+20|0;g=v+16|0;h=v+12|0;o=v+8|0;k[p>>2]=a;k[q>>2]=b;k[r>>2]=c;k[j>>2]=k[(k[q>>2]|0)+12>>2];k[s>>2]=0;k[t>>2]=0;k[d>>2]=k[k[j>>2]>>2];k[w>>2]=k[(k[j>>2]|0)+8>>2];k[m>>2]=(k[(k[q>>2]|0)+20>>2]|0)+(k[(k[q>>2]|0)+80>>2]|0);a:do if((k[m>>2]|0)<(k[w>>2]|0)){if((k[m>>2]|0)>=(k[(k[q>>2]|0)+40>>2]|0)){k[s>>2]=1;w=k[m>>2]|0;if((w|0)!=(eT(k[j>>2]|0)|0)){w=dS((k[d>>2]|0)+(k[m>>2]|0)|0,t)|0;k[m>>2]=(k[m>>2]|0)+w}}else{n=($R((k[d>>2]|0)+(k[m>>2]|0)|0,e)|0)&255;k[m>>2]=(k[m>>2]|0)+n;n=e;w=(k[q>>2]|0)+72|0;j=w;n=i0(k[j>>2]|0,k[j+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[w>>2]=n;k[w+4>>2]=M}k[(k[q>>2]|0)+20>>2]=k[m>>2]}else{if(!(k[k[q>>2]>>2]|0)){k[f>>2]=0;k[g>>2]=0;k[h>>2]=0;if(!(k[(k[q>>2]|0)+4>>2]&1)){fT(k[(k[p>>2]|0)+12>>2]|0);gT(k[(k[p>>2]|0)+12>>2]|0,g,f,h)}if(!(k[f>>2]|0)){KR(k[(k[q>>2]|0)+12>>2]|0);k[(k[q>>2]|0)+12>>2]=0;break}else{k[k[(k[q>>2]|0)+12>>2]>>2]=k[f>>2];k[(k[(k[q>>2]|0)+12>>2]|0)+4>>2]=k[h>>2];k[(k[(k[q>>2]|0)+12>>2]|0)+8>>2]=k[h>>2];k[(k[q>>2]|0)+40>>2]=(k[h>>2]|0)+1;m=(k[p>>2]|0)+36|0;n=(k[q>>2]|0)+60|0;w=q$(k[g>>2]|0)|0;GR(m,n,w,k[g>>2]|0);w=($R(k[f>>2]|0,(k[q>>2]|0)+72|0)|0)&255;k[(k[q>>2]|0)+20>>2]=w;k[k[r>>2]>>2]=1;break}}k[m>>2]=0;do{if(k[m>>2]|0)break a;iS(k[p>>2]|0,k[q>>2]|0);k[j>>2]=k[(k[q>>2]|0)+12>>2];if(!(k[j>>2]|0))break a;w=(_R(k[k[j>>2]>>2]|0)|0)&65535;k[m>>2]=w;if(w|0?(k[m>>2]|0)<(k[(k[j>>2]|0)+8>>2]|0):0){w=($R((k[k[j>>2]>>2]|0)+(k[m>>2]|0)|0,(k[q>>2]|0)+72|0)|0)&255;k[m>>2]=(k[m>>2]|0)+w;k[(k[q>>2]|0)+20>>2]=k[m>>2];if((k[(k[j>>2]|0)+4>>2]|0)>(k[(k[j>>2]|0)+8>>2]|0)){w=k[(k[j>>2]|0)+8>>2]|0;w=w+(dS((k[k[j>>2]>>2]|0)+(k[(k[j>>2]|0)+8>>2]|0)|0,(k[q>>2]|0)+40|0)|0)|0;k[(k[q>>2]|0)+36>>2]=w}}else n=20;if((n|0)==20?(n=0,(k[(k[j>>2]|0)+4>>2]|0)>(k[(k[j>>2]|0)+8>>2]|0)):0){w=k[(k[j>>2]|0)+8>>2]|0;w=w+(dS((k[k[j>>2]>>2]|0)+(k[(k[j>>2]|0)+8>>2]|0)|0,m)|0)|0;k[(k[q>>2]|0)+36>>2]=w;k[(k[q>>2]|0)+20>>2]=k[m>>2];k[(k[q>>2]|0)+40>>2]=k[m>>2];k[s>>2]=1}}while((k[m>>2]|0)<=(k[(k[j>>2]|0)+8>>2]|0));k[(k[p>>2]|0)+36>>2]=267;u=v;return}while(0);if(!(k[(k[q>>2]|0)+12>>2]|0)){u=v;return}a=k[q>>2]|0;if(!(k[s>>2]|0)){t=k[k[a+12>>2]>>2]|0;s=(k[q>>2]|0)+20|0;w=k[s>>2]|0;k[s>>2]=w+1;k[o>>2]=l[t+w>>0];if(k[o>>2]&128|0){t=(k[q>>2]|0)+20|0;k[t>>2]=(k[t>>2]|0)+-1;t=dS((k[k[(k[q>>2]|0)+12>>2]>>2]|0)+(k[(k[q>>2]|0)+20>>2]|0)|0,o)|0;w=(k[q>>2]|0)+20|0;k[w>>2]=(k[w>>2]|0)+t}i[(k[q>>2]|0)+84>>0]=k[o>>2]&1;k[(k[q>>2]|0)+80>>2]=k[o>>2]>>1;u=v;return}if(k[a+4>>2]&1|0){KR(k[(k[q>>2]|0)+12>>2]|0);k[(k[q>>2]|0)+12>>2]=0;u=v;return}hT(k[p>>2]|0,k[q>>2]|0,k[t>>2]|0);cS(k[p>>2]|0,k[q>>2]|0);if(!(k[r>>2]|0)){u=v;return}k[k[r>>2]>>2]=1;u=v;return}function eT(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;dS((k[k[d>>2]>>2]|0)+(k[(k[d>>2]|0)+8>>2]|0)|0,b)|0;u=c;return k[b>>2]|0}function fT(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+16>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+4>>2];u=b;return}function gT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=k[(k[e>>2]|0)+16>>2]|0;k[i>>2]=d;if(d|0){d=q$((k[i>>2]|0)+40|0)|0;k[j>>2]=d;jT(k[e>>2]|0,k[i>>2]|0);k[k[f>>2]>>2]=(k[i>>2]|0)+40;k[k[g>>2]>>2]=(k[i>>2]|0)+40+((k[j>>2]|0)+1);k[k[h>>2]>>2]=(k[(k[i>>2]|0)+16>>2]|0)-(40+(k[j>>2]|0)+1);u=l;return}else{k[k[f>>2]>>2]=0;k[k[g>>2]>>2]=0;k[k[h>>2]>>2]=0;u=l;return}}function hT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[(k[e>>2]|0)+12>>2]>>2];k[h>>2]=k[(k[e>>2]|0)+20>>2];c=dS((k[g>>2]|0)+(k[h>>2]|0)|0,i)|0;k[h>>2]=(k[h>>2]|0)+c;if(((k[h>>2]|0)+(k[i>>2]|0)|0)>(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0)){k[(k[d>>2]|0)+36>>2]=267;u=l;return}k[(k[e>>2]|0)+60+4>>2]=k[f>>2];lS((k[d>>2]|0)+36|0,(k[e>>2]|0)+60|0,k[i>>2]|0,(k[g>>2]|0)+(k[h>>2]|0)|0);k[h>>2]=(k[h>>2]|0)+(k[i>>2]|0);k[(k[e>>2]|0)+32>>2]=k[h>>2];k[(k[e>>2]|0)+28>>2]=k[(k[e>>2]|0)+8>>2];k[(k[e>>2]|0)+20>>2]=k[h>>2];if((k[(k[e>>2]|0)+36>>2]|0)>=(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0))k[(k[e>>2]|0)+40>>2]=(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0)+1;else{h=dS((k[g>>2]|0)+(k[(k[e>>2]|0)+36>>2]|0)|0,j)|0;i=(k[e>>2]|0)+36|0;k[i>>2]=(k[i>>2]|0)+h;i=(k[e>>2]|0)+40|0;k[i>>2]=(k[i>>2]|0)+(k[j>>2]|0)}iT(k[d>>2]|0,k[e>>2]|0);u=l;return}function iT(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[(k[d>>2]|0)+12>>2]>>2];k[f>>2]=k[(k[d>>2]|0)+20>>2];do if((k[f>>2]|0)>=(k[(k[(k[d>>2]|0)+12>>2]|0)+8>>2]|0)){iS(k[c>>2]|0,k[d>>2]|0);if(k[(k[d>>2]|0)+12>>2]|0){k[f>>2]=4;k[e>>2]=k[k[(k[d>>2]|0)+12>>2]>>2];break}if(k[(k[c>>2]|0)+36>>2]|0){u=g;return}k[(k[c>>2]|0)+36>>2]=267;u=g;return}while(0);e=($R((k[e>>2]|0)+(k[f>>2]|0)|0,(k[d>>2]|0)+72|0)|0)&255;k[f>>2]=(k[f>>2]|0)+e;k[(k[d>>2]|0)+20>>2]=k[f>>2];u=g;return}function jT(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+12>>2]|0)){u=j;return}k[e>>2]=k[d>>2];a=k[d>>2]|0;do if((k[k[c>>2]>>2]|0)==1){if(i[a+24>>0]|0?(g=k[e>>2]|0,f=(k[d>>2]|0)+16|0,h=k[f>>2]|0,k[f>>2]=h+1,i[g+h>>0]=0,i[(k[d>>2]|0)+25>>0]|0):0){g=k[e>>2]|0;f=(k[d>>2]|0)+16|0;h=k[f>>2]|0;k[f>>2]=h+1;i[g+h>>0]=0}}else{k[f>>2]=(k[a+16>>2]|0)-(k[(k[d>>2]|0)+12>>2]|0)-1;k[g>>2]=(k[f>>2]<<1)+(l[(k[d>>2]|0)+24>>0]|0);a=k[g>>2]|0;if((k[g>>2]|0)<=127){i[(k[e>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)>>0]=a;break}else{c=kT(a)|0;k[h>>2]=c;u0((k[e>>2]|0)+((k[(k[d>>2]|0)+12>>2]|0)+(k[h>>2]|0))|0,(k[e>>2]|0)+((k[(k[d>>2]|0)+12>>2]|0)+1)|0,k[f>>2]|0)|0;g=k[g>>2]|0;OS((k[e>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0,g,((g|0)<0)<<31>>31)|0;g=(k[d>>2]|0)+16|0;k[g>>2]=(k[g>>2]|0)+((k[h>>2]|0)-1);break}}while(0);k[(k[d>>2]|0)+12>>2]=0;i[(k[d>>2]|0)+24>>0]=0;i[(k[d>>2]|0)+25>>0]=0;u=j;return}function kT(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;do if((k[c>>2]|0)>>>0>=16384){if((k[c>>2]|0)>>>0<2097152){k[b>>2]=3;break}if((k[c>>2]|0)>>>0<268435456){k[b>>2]=4;break}else{k[b>>2]=5;break}}else k[b>>2]=2;while(0);u=d;return k[b>>2]|0}function lT(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c+4>>2]=a;k[c>>2]=b;u=c;return}function mT(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;k[c>>2]=(k[f>>2]|0)+80+((m[(k[(k[f>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);if(k[(k[e>>2]|0)+36>>2]|0){f=0;f=f&1;u=d;return f|0}if(!(k[(k[c>>2]|0)+12>>2]|0)){f=0;f=f&1;u=d;return f|0}f=(k[(k[c>>2]|0)+80>>2]|0)==0;f=f&1;u=d;return f|0}function nT(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(!(k[k[c>>2]>>2]|0)){b=ze(k[d>>2]|0)|0;k[e>>2]=b;if((k[e>>2]|0)==0&(k[d>>2]|0)>0){k[k[c>>2]>>2]=7;break}else{w0(k[e>>2]|0,0,k[d>>2]|0)|0;break}}while(0);u=f;return k[e>>2]|0}function oT(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=k[d>>2]|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;k[b+28>>2]=0;k[(k[d>>2]|0)+16>>2]=k[k[e>>2]>>2];k[k[d>>2]>>2]=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0);pT(k[d>>2]|0);u=c;return}function pT(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=u;u=u+32|0;c=f+16|0;d=f+12|0;b=f;e=f+8|0;k[c>>2]=a;k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+20>>2]|0);if((k[d>>2]|0)>>>0>=(k[k[c>>2]>>2]|0)>>>0){d=0;e=k[c>>2]|0;e=e+16|0;k[e>>2]=d;u=f;return}a=($R(k[d>>2]|0,b)|0)&255;k[d>>2]=(k[d>>2]|0)+a;a=(k[c>>2]|0)+8|0;g=a;b=i0(k[g>>2]|0,k[g+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=M;a=k[d>>2]|0;if((l[k[d>>2]>>0]|0)&128|0){g=dS(a,e)|0;k[(k[c>>2]|0)+24>>2]=g;k[(k[c>>2]|0)+20>>2]=k[e>>2]>>1}else{k[(k[c>>2]|0)+20>>2]=(l[a>>0]|0)>>1;k[(k[c>>2]|0)+24>>2]=1}e=k[d>>2]|0;g=k[c>>2]|0;g=g+16|0;k[g>>2]=e;u=f;return}function qT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=u;u=u+16|0;e=h+12|0;f=h+8|0;g=h;k[e>>2]=a;k[f>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;if(0?1:(k[g+4>>2]&2147483647|0)!=(k[(k[f>>2]|0)+4>>2]&2147483647|0)){d=k[k[e>>2]>>2]|0;b=(k[e>>2]|0)+4|0;c=k[b>>2]|0;k[b>>2]=c+1;i[d+c>>0]=1;c=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)|0;d=g;d=o0(k[d>>2]|0,k[d+4>>2]|0,32)|0;d=OS(c,d,M)|0;c=(k[e>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+d;c=k[g+4>>2]&2147483647;d=k[f>>2]|0;k[d>>2]=0;k[d+4>>2]=c}d=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)|0;b=g;c=k[f>>2]|0;c=h0(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;c=i0(c|0,M|0,2,0)|0;c=OS(d,c,M)|0;d=(k[e>>2]|0)+4|0;k[d>>2]=(k[d>>2]|0)+c;d=g;e=k[d+4>>2]|0;g=k[f>>2]|0;k[g>>2]=k[d>>2];k[g+4>>2]=e;u=h;return}function rT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=u;u=u+16|0;e=h+12|0;f=h+8|0;g=h;k[e>>2]=a;k[f>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;if(((k[(k[f>>2]|0)+4>>2]|0)+9|0)>>>0>(k[(k[f>>2]|0)+8>>2]|0)>>>0?mS(k[e>>2]|0,k[f>>2]|0,9+(k[(k[f>>2]|0)+4>>2]|0)|0)|0:0){u=h;return}e=g;e=OS((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,k[e>>2]|0,k[e+4>>2]|0)|0;g=(k[f>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+e;u=h;return}function sT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+20|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[e>>2]>>2];if((k[g>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0)){k[k[e>>2]>>2]=-1;u=i;return}else{c=k[g>>2]|0;g=c+(($R((k[k[d>>2]>>2]|0)+(k[g>>2]|0)|0,h)|0)&255)|0;k[k[e>>2]>>2]=g;g=h;h=k[f>>2]|0;f=h;g=i0(k[f>>2]|0,k[f+4>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[h>>2]=g;k[h+4>>2]=M;u=i;return}}function tT(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;k[a>>2]=(k[a>>2]|0)+1;u=b;return}function uT(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+36|0;f=q+32|0;g=q+28|0;o=q+24|0;p=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;l=q+4|0;m=q;k[n>>2]=a;k[f>>2]=b;k[g>>2]=c;k[o>>2]=d;k[p>>2]=e;k[h>>2]=0;k[i>>2]=0;k[j>>2]=0;k[l>>2]=0;if((k[f>>2]|0)!=0?!(k[o>>2]&8|0):0){e=(k[p>>2]|0)+4|0;k[e>>2]=k[e>>2]|1;GT(k[(k[n>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0,h,i)|0;k[j>>2]=k[f>>2];k[l>>2]=k[g>>2]}else{g=FT(k[(k[n>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+36>>2]=g;gT(k[(k[n>>2]|0)+12>>2]|0,j,h,i);if(k[j>>2]|0)a=q$(k[j>>2]|0)|0;else a=0;k[l>>2]=a}do if(k[h>>2]|0){GR((k[n>>2]|0)+36|0,(k[p>>2]|0)+60|0,k[l>>2]|0,k[j>>2]|0);l=WS(k[n>>2]|0,12)|0;k[m>>2]=l;if(!(k[m>>2]|0)){u=q;return}k[k[m>>2]>>2]=k[h>>2];l=k[i>>2]|0;k[(k[m>>2]|0)+8>>2]=l;k[(k[m>>2]|0)+4>>2]=l;k[(k[p>>2]|0)+12>>2]=k[m>>2];l=($R(k[k[m>>2]>>2]|0,(k[p>>2]|0)+72|0)|0)&255;k[(k[p>>2]|0)+20>>2]=l;k[(k[p>>2]|0)+40>>2]=k[(k[m>>2]|0)+4>>2];if(k[o>>2]&2|0){o=(k[p>>2]|0)+4|0;k[o>>2]=k[o>>2]|2;aS(k[n>>2]|0,k[p>>2]|0);break}else{cS(k[n>>2]|0,k[p>>2]|0);break}}while(0);aT(k[n>>2]|0,k[p>>2]|0);u=q;return}function vT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[(k[e>>2]|0)+4>>2]|0)){u=g;return}if(!(k[(k[d>>2]|0)+36>>2]|0)){a=k[f>>2]|0;b=a+88|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));aT(k[d>>2]|0,k[f>>2]|0);k[k[f>>2]>>2]=k[e>>2];k[(k[f>>2]|0)+8>>2]=(k[(k[e>>2]|0)+4>>2]|0)-1;iS(k[d>>2]|0,k[f>>2]|0)}if(k[(k[d>>2]|0)+36>>2]|0){u=g;return}k[(k[f>>2]|0)+20>>2]=4;k[(k[f>>2]|0)+36>>2]=(k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2]|0)+1;hT(k[d>>2]|0,k[f>>2]|0,0);cS(k[d>>2]|0,k[f>>2]|0);u=g;return}function wT(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;o=s+44|0;p=s+40|0;q=s+36|0;r=s+32|0;g=s+28|0;h=s+24|0;i=s+20|0;j=s+16|0;l=s+12|0;m=s+8|0;n=s;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[r>>2]=d;k[g>>2]=e;k[h>>2]=f;k[i>>2]=1;k[j>>2]=k[r>>2]&8;k[l>>2]=0;k[m>>2]=0;a=k[h>>2]|0;b=a+88|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[h>>2]>>2]=k[g>>2];f=xT(k[o>>2]|0)|0;k[m>>2]=f;if(k[(k[o>>2]|0)+36>>2]|0){u=s;return}zJ(k[m>>2]|0,1,k[k[g>>2]>>2]|0)|0;vJ(k[m>>2]|0,2,k[p>>2]|0,k[q>>2]|0,0)|0;if(100==(Ls(k[m>>2]|0)|0)){e=sJ(k[m>>2]|0,0)|0;f=n;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=n;f=o0(k[f>>2]|0,k[f+4>>2]|0,1)|0;k[i>>2]=f;k[l>>2]=k[n>>2]&1}n=Is(k[m>>2]|0)|0;k[(k[o>>2]|0)+36>>2]=n;if((k[i>>2]|0)<(k[(k[g>>2]|0)+4>>2]|0)){k[i>>2]=k[(k[g>>2]|0)+4>>2];k[l>>2]=0}k[(k[h>>2]|0)+8>>2]=(k[i>>2]|0)-1;iS(k[o>>2]|0,k[h>>2]|0);if(k[(k[h>>2]|0)+12>>2]|0)yT(k[o>>2]|0,k[j>>2]|0,k[h>>2]|0,k[p>>2]|0,k[q>>2]|0);if(((k[j>>2]|0)==0?(k[(k[o>>2]|0)+36>>2]|0)==0:0)?(q=(k[h>>2]|0)+4|0,k[q>>2]=k[q>>2]|1,k[(k[h>>2]|0)+12>>2]|0):0){if(k[r>>2]&2|0){q=(k[h>>2]|0)+4|0;k[q>>2]=k[q>>2]|2}if(k[l>>2]|0)zT(k[o>>2]|0,k[h>>2]|0);if(k[r>>2]&2|0)AT(k[o>>2]|0,k[h>>2]|0)}aT(k[o>>2]|0,k[h>>2]|0);u=s;return}function xT(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=u;u=u+16|0;d=e;b=e+12|0;c=e+8|0;k[b>>2]=a;if(k[(k[b>>2]|0)+60>>2]|0){d=k[b>>2]|0;d=d+60|0;d=k[d>>2]|0;u=e;return d|0}k[c>>2]=k[k[b>>2]>>2];f=k[b>>2]|0;a=(k[b>>2]|0)+60|0;g=k[(k[c>>2]|0)+8>>2]|0;k[d>>2]=k[(k[c>>2]|0)+4>>2];k[d+4>>2]=g;ET(f,a,xf(47827,d)|0)|0;d=k[b>>2]|0;d=d+60|0;d=k[d>>2]|0;u=e;return d|0}function yT(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;z=u;u=u+80|0;x=z+68|0;t=z+64|0;y=z+60|0;v=z+56|0;i=z+52|0;j=z+48|0;m=z+44|0;A=z+40|0;n=z+36|0;f=z+32|0;o=z+28|0;p=z+24|0;q=z+20|0;w=z+16|0;r=z+12|0;g=z+8|0;h=z+4|0;s=z;k[x>>2]=a;k[t>>2]=b;k[y>>2]=c;k[v>>2]=d;k[i>>2]=e;k[m>>2]=k[k[(k[y>>2]|0)+12>>2]>>2];k[A>>2]=k[(k[(k[y>>2]|0)+12>>2]|0)+8>>2];k[n>>2]=k[(k[(k[y>>2]|0)+12>>2]|0)+4>>2];k[f>>2]=0;k[o>>2]=0;k[p>>2]=0;k[r>>2]=0;k[w>>2]=k[A>>2];e=dS((k[m>>2]|0)+(k[w>>2]|0)|0,q)|0;k[w>>2]=(k[w>>2]|0)+e;k[j>>2]=k[q>>2];if((k[j>>2]|0)>(k[n>>2]|0)){k[(k[x>>2]|0)+36>>2]=267;u=z;return}while(1){e=k[m>>2]|0;A=k[j>>2]|0;k[j>>2]=A+1;k[p>>2]=l[e+A>>0];if(k[p>>2]&128|0){k[j>>2]=(k[j>>2]|0)+-1;A=dS((k[m>>2]|0)+(k[j>>2]|0)|0,p)|0;k[j>>2]=(k[j>>2]|0)+A}if((k[o>>2]|0)<(k[f>>2]|0)){a=24;break}if((k[o>>2]|0)==(k[f>>2]|0)){if((k[p>>2]|0)<((k[i>>2]|0)-(k[f>>2]|0)|0))a=k[p>>2]|0;else a=(k[i>>2]|0)-(k[f>>2]|0)|0;k[g>>2]=a;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[g>>2]|0))break;if((l[(k[m>>2]|0)+((k[j>>2]|0)+(k[h>>2]|0))>>0]|0|0)!=(l[(k[v>>2]|0)+((k[f>>2]|0)+(k[h>>2]|0))>>0]|0|0))break;k[h>>2]=(k[h>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+(k[h>>2]|0);b=k[h>>2]|0;c=k[p>>2]|0;if((k[i>>2]|0)==(k[f>>2]|0)){a=15;break}if((b|0)<(c|0)?(l[(k[m>>2]|0)+((k[j>>2]|0)+(k[h>>2]|0))>>0]|0|0)>(l[(k[v>>2]|0)+(k[f>>2]|0)>>0]|0|0):0){a=24;break}}if((k[w>>2]|0)>=(k[n>>2]|0)){a=19;break}A=dS((k[m>>2]|0)+(k[w>>2]|0)|0,o)|0;k[w>>2]=(k[w>>2]|0)+A;k[q>>2]=(k[q>>2]|0)+(k[o>>2]|0);k[j>>2]=k[q>>2];if((k[j>>2]|0)>=(k[n>>2]|0)){a=21;break}e=k[m>>2]|0;A=k[j>>2]|0;k[j>>2]=A+1;k[o>>2]=l[e+A>>0];if(!(k[o>>2]&128))continue;k[j>>2]=(k[j>>2]|0)+-1;A=dS((k[m>>2]|0)+(k[j>>2]|0)|0,o)|0;k[j>>2]=(k[j>>2]|0)+A}if((a|0)==15){if((b|0)!=(c|0))a=24}else if((a|0)==19){k[r>>2]=1;a=24}else if((a|0)==21){k[(k[x>>2]|0)+36>>2]=267;u=z;return}do if((a|0)==24){if(!(k[t>>2]|0)){KR(k[(k[y>>2]|0)+12>>2]|0);k[(k[y>>2]|0)+12>>2]=0;u=z;return}if(k[r>>2]|0){while(1){iS(k[x>>2]|0,k[y>>2]|0);if(!(k[(k[y>>2]|0)+12>>2]|0)){a=37;break}k[m>>2]=k[k[(k[y>>2]|0)+12>>2]>>2];if((k[(k[(k[y>>2]|0)+12>>2]|0)+8>>2]|0)>=(k[(k[(k[y>>2]|0)+12>>2]|0)+4>>2]|0)|0)continue;k[w>>2]=k[(k[(k[y>>2]|0)+12>>2]|0)+8>>2];A=dS((k[k[(k[y>>2]|0)+12>>2]>>2]|0)+(k[w>>2]|0)|0,j)|0;k[w>>2]=(k[w>>2]|0)+A;if((k[j>>2]|0)>=4?(k[j>>2]|0)<(k[(k[(k[y>>2]|0)+12>>2]|0)+8>>2]|0):0){a=32;break}k[(k[x>>2]|0)+36>>2]=267}if((a|0)==32){k[o>>2]=0;k[q>>2]=k[j>>2];k[n>>2]=k[(k[(k[y>>2]|0)+12>>2]|0)+4>>2];A=dS((k[m>>2]|0)+(k[j>>2]|0)|0,p)|0;k[j>>2]=(k[j>>2]|0)+A;break}else if((a|0)==37){u=z;return}}}while(0);k[(k[y>>2]|0)+20>>2]=(k[j>>2]|0)+(k[p>>2]|0);k[(k[y>>2]|0)+32>>2]=k[(k[y>>2]|0)+20>>2];k[(k[y>>2]|0)+28>>2]=k[(k[y>>2]|0)+8>>2];GR((k[x>>2]|0)+36|0,(k[y>>2]|0)+60|0,k[o>>2]|0,k[v>>2]|0);lS((k[x>>2]|0)+36|0,(k[y>>2]|0)+60|0,k[p>>2]|0,(k[m>>2]|0)+(k[j>>2]|0)|0);if((k[w>>2]|0)>=(k[n>>2]|0)){a=(k[(k[(k[y>>2]|0)+12>>2]|0)+4>>2]|0)+1|0;b=k[y>>2]|0}else{a=dS((k[m>>2]|0)+(k[w>>2]|0)|0,s)|0;k[w>>2]=(k[w>>2]|0)+a;a=(k[q>>2]|0)+(k[s>>2]|0)|0;b=k[y>>2]|0}k[b+40>>2]=a;k[(k[y>>2]|0)+36>>2]=k[w>>2];iT(k[x>>2]|0,k[y>>2]|0);cS(k[x>>2]|0,k[y>>2]|0);u=z;return}function zT(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;c=g+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[k[d>>2]>>2]>>2];k[f>>2]=k[(k[d>>2]|0)+4>>2]&2;k[h>>2]=k[(k[d>>2]|0)+12>>2];if((k[(k[d>>2]|0)+28>>2]|0)==(k[(k[d>>2]|0)+8>>2]|0)?(k[(k[d>>2]|0)+40>>2]|0)<(k[(k[h>>2]|0)+8>>2]|0):0){u=g;return}h=BT(k[c>>2]|0,k[f>>2]|0,k[e>>2]|0,k[(k[d>>2]|0)+28>>2]|0)|0;k[(k[d>>2]|0)+56>>2]=h;u=g;return}function AT(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+80|0;t=w+68|0;v=w+64|0;n=w+60|0;s=w+56|0;o=w+52|0;p=w+48|0;q=w+44|0;r=w+40|0;c=w+36|0;d=w+32|0;e=w+28|0;f=w;g=w+24|0;h=w+20|0;i=w+16|0;j=w+12|0;m=w+8|0;k[t>>2]=a;k[v>>2]=b;k[n>>2]=k[(k[v>>2]|0)+56>>2];k[s>>2]=0;k[o>>2]=0;a=k[v>>2]|0;a:do if(!(k[n>>2]|0)){k[q>>2]=k[a+12>>2];if((k[(k[v>>2]|0)+28>>2]|0)==(k[(k[v>>2]|0)+8>>2]|0))k[r>>2]=k[(k[v>>2]|0)+32>>2];else k[r>>2]=4;k[c>>2]=(k[r>>2]|0)+9;do{n=k[k[q>>2]>>2]|0;p=k[r>>2]|0;k[r>>2]=p+1;if(!((l[n+p>>0]|0)&128))break}while((k[r>>2]|0)<(k[c>>2]|0));k[(k[v>>2]|0)+20>>2]=k[r>>2];if((k[(k[v>>2]|0)+40>>2]|0)>=(k[(k[q>>2]|0)+8>>2]|0)){k[e>>2]=k[k[v>>2]>>2];k[d>>2]=(k[(k[v>>2]|0)+8>>2]|0)+1;while(1){if(k[(k[t>>2]|0)+36>>2]|0)break a;if((k[d>>2]|0)>(k[(k[e>>2]|0)+8>>2]|0))break a;r=k[k[e>>2]>>2]|0;r=t0(r|0,((r|0)<0)<<31>>31|0,37)|0;r=i0(r|0,M|0,0,0)|0;r=i0(r|0,M|0,0,0)|0;q=k[d>>2]|0;q=i0(r|0,M|0,q|0,((q|0)<0)<<31>>31|0)|0;r=f;k[r>>2]=q;k[r+4>>2]=M;r=f;r=ZR(k[t>>2]|0,k[r>>2]|0,k[r+4>>2]|0)|0;k[g>>2]=r;if(k[g>>2]|0){r=(_R(k[k[g>>2]>>2]|0)|0)&65535;k[h>>2]=r;k[i>>2]=(k[(k[g>>2]|0)+8>>2]|0)>=(k[(k[g>>2]|0)+4>>2]|0)&1;if(k[h>>2]|0){k[j>>2]=k[g>>2];k[g>>2]=k[s>>2];k[s>>2]=k[j>>2];k[o>>2]=k[d>>2]}KR(k[g>>2]|0);if(!(k[i>>2]|0))break a}k[d>>2]=(k[d>>2]|0)+1}}}else{k[p>>2]=k[k[a>>2]>>2];q=UR(k[n>>2]|0)|0;k[o>>2]=q;q=k[t>>2]|0;p=k[p>>2]|0;p=t0(p|0,((p|0)<0)<<31>>31|0,37)|0;p=i0(p|0,M|0,0,0)|0;p=i0(p|0,M|0,0,0)|0;r=k[o>>2]|0;r=i0(p|0,M|0,r|0,((r|0)<0)<<31>>31|0)|0;r=ZR(q,r,M)|0;k[s>>2]=r}while(0);if(!(k[s>>2]|0)){t=k[t>>2]|0;v=k[v>>2]|0;aS(t,v);u=w;return}KR(k[(k[v>>2]|0)+12>>2]|0);k[(k[v>>2]|0)+12>>2]=k[s>>2];k[(k[v>>2]|0)+8>>2]=k[o>>2];a=(_R(k[k[s>>2]>>2]|0)|0)&65535;k[m>>2]=a;a=($R((k[k[s>>2]>>2]|0)+(k[m>>2]|0)|0,(k[v>>2]|0)+72|0)|0)&255;k[m>>2]=(k[m>>2]|0)+a;k[(k[v>>2]|0)+20>>2]=k[m>>2];a=k[s>>2]|0;if((k[(k[s>>2]|0)+8>>2]|0)>=(k[(k[s>>2]|0)+4>>2]|0)){a=(k[a+4>>2]|0)+1|0;b=k[v>>2]|0}else{a=eT(a)|0;b=k[v>>2]|0}k[b+40>>2]=a;t=k[t>>2]|0;v=k[v>>2]|0;aS(t,v);u=w;return}function BT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;j=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;p=r+28|0;q=r+24|0;e=r+20|0;f=r+16|0;g=r+12|0;h=r;i=r+8|0;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=0;k[e>>2]=0;k[q>>2]=0;while(1){if(!((k[(k[j>>2]|0)+36>>2]|0)==0?(k[e>>2]|0)==0:0))break;k[f>>2]=40+(k[q>>2]<<5);d=fg(k[p>>2]|0,k[f>>2]|0)|0;k[g>>2]=d;if(!(k[g>>2]|0))k[(k[j>>2]|0)+36>>2]=7;else{b=k[n>>2]|0;b=t0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=i0(b|0,M|0,0,16)|0;c=M;d=k[q>>2]|0;d=t0(d|0,((d|0)<0)<<31>>31|0,31)|0;d=i0(b|0,c|0,d|0,M|0)|0;c=k[o>>2]|0;c=i0(d|0,M|0,c|0,((c|0)<0)<<31>>31|0)|0;d=h;k[d>>2]=c;k[d+4>>2]=M;k[i>>2]=(k[g>>2]|0)+8+(k[q>>2]<<5);k[p>>2]=k[g>>2];d=k[i>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[d+28>>2]=0;d=h;d=ZR(k[j>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[k[i>>2]>>2]=d;if(k[k[i>>2]>>2]|0?((l[k[k[k[i>>2]>>2]>>2]>>0]|0)&1|0)==0:0)k[e>>2]=1;k[k[p>>2]>>2]=(k[q>>2]|0)+1}k[q>>2]=(k[q>>2]|0)+1}do if(!(k[(k[j>>2]|0)+36>>2]|0)){k[(k[p>>2]|0)+4>>2]=k[n>>2];if(!(k[m>>2]|0)){CT(k[p>>2]|0)|0;break}else{DT(k[j>>2]|0,k[p>>2]|0);break}}while(0);if(!(k[(k[j>>2]|0)+36>>2]|0)){q=k[p>>2]|0;u=r;return q|0}AS(k[p>>2]|0);k[p>>2]=0;q=k[p>>2]|0;u=r;return q|0}function CT(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){a=(k[b>>2]|0)+8|0;if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;hS(a+(k[c>>2]<<5)|0)|0;k[c>>2]=(k[c>>2]|0)+1}u=d;return k[a+8>>2]|0}function DT(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[k[d>>2]>>2]|0)-1;while(1){if(!((k[(k[c>>2]|0)+36>>2]|0)==0?(k[e>>2]|0)>=0:0))break;k[f>>2]=(k[d>>2]|0)+8+(k[e>>2]<<5);do{}while(!(hS(k[f>>2]|0)|0));k[(k[f>>2]|0)+8>>2]=0;if((k[e>>2]|0)>0){k[g>>2]=(k[f>>2]|0)+-32;KR(k[k[g>>2]>>2]|0);a=k[g>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;a=k[c>>2]|0;j=k[(k[d>>2]|0)+4>>2]|0;j=t0(j|0,((j|0)<0)<<31>>31|0,37)|0;j=i0(j|0,M|0,0,16)|0;b=M;i=(k[e>>2]|0)-1|0;i=t0(i|0,((i|0)<0)<<31>>31|0,31)|0;i=i0(j|0,b|0,i|0,M|0)|0;b=k[(k[f>>2]|0)+16>>2]|0;b=i0(i|0,M|0,b|0,((b|0)<0)<<31>>31|0)|0;b=ZR(a,b,M)|0;k[k[g>>2]>>2]=b}k[e>>2]=(k[e>>2]|0)+-1}u=h;return}function ET(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;e=g+8|0;d=g+4|0;f=g;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;if(!(k[(k[e>>2]|0)+36>>2]|0)){a=k[e>>2]|0;if(k[f>>2]|0){b=Jv(k[k[a>>2]>>2]|0,k[f>>2]|0,-1,k[d>>2]|0,0)|0;a=k[e>>2]|0}else b=7;k[a+36>>2]=b}ie(k[f>>2]|0);u=g;return k[(k[e>>2]|0)+36>>2]|0}function FT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;c=IT(k[e>>2]|0,k[g>>2]|0,k[f>>2]|0,(k[e>>2]|0)+16|0)|0;u=d;return c|0}function GT(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;g=n+24|0;h=n+20|0;j=n+16|0;l=n+12|0;m=n+8|0;o=n+4|0;f=n;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;e=HT(k[(k[g>>2]|0)+12>>2]|0,k[h>>2]|0,k[j>>2]|0)|0;k[o>>2]=e;k[f>>2]=k[(k[(k[g>>2]|0)+20>>2]|0)+(k[o>>2]<<2)>>2];while(1){if(!(k[f>>2]|0))break;if((R_((k[f>>2]|0)+40|0,k[h>>2]|0,k[j>>2]|0)|0)==0?(i[(k[f>>2]|0)+40+(k[j>>2]|0)>>0]|0)==0:0)break;k[f>>2]=k[k[f>>2]>>2]}if(k[f>>2]|0){jT(k[g>>2]|0,k[f>>2]|0);k[k[l>>2]>>2]=(k[f>>2]|0)+40+((k[j>>2]|0)+1);k[k[m>>2]>>2]=(k[(k[f>>2]|0)+16>>2]|0)-(40+(k[j>>2]|0)+1);u=n;return 0}else{k[k[l>>2]>>2]=0;k[k[m>>2]>>2]=0;u=n;return 0}return 0}function HT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;d=h+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[i>>2]=c;k[g>>2]=13;k[f>>2]=(k[i>>2]|0)-1;while(1){a=k[g>>2]|0;if((k[f>>2]|0)<0)break;k[g>>2]=a<<3^k[g>>2]^(l[(k[e>>2]|0)+(k[f>>2]|0)>>0]|0);k[f>>2]=(k[f>>2]|0)+-1}u=h;return (a>>>0)%((k[d>>2]|0)>>>0)|0|0}function IT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;l=q+44|0;m=q+40|0;n=q+36|0;o=q+32|0;p=q+28|0;e=q+20|0;f=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q+24>>2]=32;k[k[p>>2]>>2]=0;d=ze(128)|0;k[e>>2]=d;if(!(k[e>>2]|0)){k[l>>2]=7;p=k[l>>2]|0;u=q;return p|0}a=k[e>>2]|0;b=a+128|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[m>>2]|0)+12>>2]|0))break;k[i>>2]=k[(k[(k[m>>2]|0)+20>>2]|0)+(k[g>>2]<<2)>>2];while(1){if(!(k[i>>2]|0))break;if(!((k[n>>2]|0)!=0?0!=(R_((k[i>>2]|0)+40|0,k[n>>2]|0,k[o>>2]|0)|0):0)){k[j>>2]=k[i>>2];k[(k[j>>2]|0)+4>>2]=0;k[h>>2]=0;while(1){a=k[j>>2]|0;b=(k[e>>2]|0)+(k[h>>2]<<2)|0;if(!(k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0))break;d=JT(a,k[b>>2]|0)|0;k[j>>2]=d;k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]=0;k[h>>2]=(k[h>>2]|0)+1}k[b>>2]=a}k[i>>2]=k[k[i>>2]>>2]}k[g>>2]=(k[g>>2]|0)+1}k[f>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=32)break;o=JT(k[f>>2]|0,k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;k[f>>2]=o;k[h>>2]=(k[h>>2]|0)+1}k[(k[m>>2]|0)+8>>2]=0;ie(k[e>>2]|0);k[k[p>>2]>>2]=k[f>>2];k[l>>2]=0;p=k[l>>2]|0;u=q;return p|0}function JT(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;h=u;u=u+32|0;m=h+24|0;j=h+20|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[m>>2]=a;k[j>>2]=b;k[c>>2]=k[m>>2];k[d>>2]=k[j>>2];k[e>>2]=0;k[f>>2]=e;while(1){if(!(k[c>>2]|0?1:(k[d>>2]|0)!=0))break;a=k[d>>2]|0;if(!(k[c>>2]|0)){k[k[f>>2]>>2]=a;k[d>>2]=0;continue}if(!a){k[k[f>>2]>>2]=k[c>>2];k[c>>2]=0;continue}k[g>>2]=0;while(1){if((i[(k[c>>2]|0)+40+(k[g>>2]|0)>>0]|0)!=(i[(k[d>>2]|0)+40+(k[g>>2]|0)>>0]|0))break;k[g>>2]=(k[g>>2]|0)+1}if((l[(k[c>>2]|0)+40+(k[g>>2]|0)>>0]|0)>(l[(k[d>>2]|0)+40+(k[g>>2]|0)>>0]|0)){k[k[f>>2]>>2]=k[d>>2];k[f>>2]=(k[d>>2]|0)+4;k[d>>2]=k[(k[d>>2]|0)+4>>2]}else{k[k[f>>2]>>2]=k[c>>2];k[f>>2]=(k[c>>2]|0)+4;k[c>>2]=k[(k[c>>2]|0)+4>>2]}k[k[f>>2]>>2]=0}u=h;return k[e>>2]|0}function KT(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=u;u=u+32|0;e=f+16|0;b=f+8|0;c=f+20|0;d=f;k[c>>2]=a;a=d;k[a>>2]=0;k[a+4>>2]=0;if(!(k[(k[c>>2]|0)+36>>2]|0)){if((k[(k[c>>2]|0)+68>>2]|0)==0?(g=k[c>>2]|0,a=(k[c>>2]|0)+68|0,k[e>>2]=k[(k[k[c>>2]>>2]|0)+4>>2],e=ET(g,a,xf(48195,e)|0)|0,k[(k[c>>2]|0)+36>>2]=e,k[(k[c>>2]|0)+36>>2]|0):0){e=b;k[e>>2]=0;k[e+4>>2]=0;e=b;g=e;g=k[g>>2]|0;e=e+4|0;e=k[e>>2]|0;M=e;u=f;return g|0}if(100==(Ls(k[(k[c>>2]|0)+68>>2]|0)|0)){e=tJ(k[(k[c>>2]|0)+68>>2]|0,0)|0;g=d;k[g>>2]=e;k[g+4>>2]=M}g=Is(k[(k[c>>2]|0)+68>>2]|0)|0;k[(k[c>>2]|0)+36>>2]=g}g=k[d+4>>2]|0;e=b;k[e>>2]=k[d>>2];k[e+4>>2]=g;e=b;g=e;g=k[g>>2]|0;e=e+4|0;e=k[e>>2]|0;M=e;u=f;return g|0}function LT(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=0;k[e>>2]=k[k[c>>2]>>2];b=ZR(k[c>>2]|0,10,0)|0;k[g>>2]=b;if(k[(k[c>>2]|0)+36>>2]|0){g=k[d>>2]|0;u=h;return g|0}a=(k[k[g>>2]>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0)|0;b=a+20|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0));b=MT(k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0,f,d)|0;k[(k[c>>2]|0)+36>>2]=b;if((k[(k[c>>2]|0)+36>>2]|0)==0?(k[(k[e>>2]|0)+64>>2]|0)!=(k[f>>2]|0):0){f=NT(k[e>>2]|0,k[f>>2]|0)|0;k[(k[c>>2]|0)+36>>2]=f}KR(k[g>>2]|0);if(!(k[(k[c>>2]|0)+36>>2]|0)){g=k[d>>2]|0;u=h;return g|0}tS(k[d>>2]|0);k[d>>2]=0;g=k[d>>2]|0;u=h;return g|0}function MT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;n=t+52|0;o=t+48|0;p=t+44|0;q=t+40|0;r=t+36|0;s=t+32|0;e=t+28|0;f=t+24|0;g=t+20|0;h=t+16|0;i=t+12|0;j=t+8|0;l=t+4|0;m=t;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[r>>2]=0;k[s>>2]=0;k[f>>2]=0;k[g>>2]=0;k[i>>2]=0;if(k[p>>2]|0){d=YT(k[n>>2]|0)|0;k[k[p>>2]>>2]=d}k[s>>2]=4;p=dS((k[n>>2]|0)+(k[s>>2]|0)|0,f)|0;k[s>>2]=(k[s>>2]|0)+p;p=dS((k[n>>2]|0)+(k[s>>2]|0)|0,g)|0;k[s>>2]=(k[s>>2]|0)+p;k[h>>2]=40+(((k[f>>2]|0)-1|0)*12|0);p=nT(r,k[h>>2]|0)|0;k[i>>2]=p;if(!(k[i>>2]|0)){p=k[i>>2]|0;s=k[q>>2]|0;k[s>>2]=p;s=k[r>>2]|0;u=t;return s|0}k[k[i>>2]>>2]=1;k[(k[i>>2]|0)+20>>2]=k[f>>2];k[(k[i>>2]|0)+16>>2]=k[g>>2];p=($R((k[n>>2]|0)+(k[s>>2]|0)|0,(k[i>>2]|0)+8|0)|0)&255;k[s>>2]=(k[s>>2]|0)+p;k[e>>2]=0;while(1){if(k[r>>2]|0)break;if((k[e>>2]|0)>=(k[f>>2]|0))break;k[j>>2]=(k[i>>2]|0)+24+((k[e>>2]|0)*12|0);k[l>>2]=0;if((k[s>>2]|0)>=(k[o>>2]|0))k[r>>2]=267;else{p=dS((k[n>>2]|0)+(k[s>>2]|0)|0,k[j>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+p;p=dS((k[n>>2]|0)+(k[s>>2]|0)|0,l)|0;k[s>>2]=(k[s>>2]|0)+p;p=nT(r,(k[l>>2]|0)*12|0)|0;k[(k[j>>2]|0)+8>>2]=p}a:do if(!(k[r>>2]|0)){k[(k[j>>2]|0)+4>>2]=k[l>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[l>>2]|0))break a;if((k[s>>2]|0)>=(k[o>>2]|0))break;p=dS((k[n>>2]|0)+(k[s>>2]|0)|0,(k[(k[j>>2]|0)+8>>2]|0)+((k[m>>2]|0)*12|0)|0)|0;k[s>>2]=(k[s>>2]|0)+p;p=dS((k[n>>2]|0)+(k[s>>2]|0)|0,(k[(k[j>>2]|0)+8>>2]|0)+((k[m>>2]|0)*12|0)+4|0)|0;k[s>>2]=(k[s>>2]|0)+p;p=dS((k[n>>2]|0)+(k[s>>2]|0)|0,(k[(k[j>>2]|0)+8>>2]|0)+((k[m>>2]|0)*12|0)+8|0)|0;k[s>>2]=(k[s>>2]|0)+p;k[m>>2]=(k[m>>2]|0)+1}k[r>>2]=267}while(0);k[e>>2]=(k[e>>2]|0)+1}if(!(k[r>>2]|0)){p=k[i>>2]|0;s=k[q>>2]|0;k[s>>2]=p;s=k[r>>2]|0;u=t;return s|0}tS(k[i>>2]|0);k[i>>2]=0;p=k[i>>2]|0;s=k[q>>2]|0;k[s>>2]=p;s=k[r>>2]|0;u=t;return s|0}function NT(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n+8|0;o=n;f=n+52|0;g=n+48|0;p=n+44|0;c=n+40|0;h=n+36|0;i=n+32|0;j=n+28|0;l=n+24|0;d=n+20|0;e=n+16|0;k[f>>2]=a;k[g>>2]=b;k[p>>2]=47911;k[h>>2]=0;k[i>>2]=0;k[j>>2]=0;k[(k[f>>2]|0)+68>>2]=4050;k[(k[f>>2]|0)+72>>2]=4;k[(k[f>>2]|0)+80>>2]=4;k[(k[f>>2]|0)+76>>2]=16;k[(k[f>>2]|0)+84>>2]=1048576;b=k[p>>2]|0;a=k[(k[f>>2]|0)+8>>2]|0;k[o>>2]=k[(k[f>>2]|0)+4>>2];k[o+4>>2]=a;b=OT(i,b,o)|0;k[c>>2]=b;if(k[c>>2]|0){p=Jv(k[k[f>>2]>>2]|0,k[c>>2]|0,-1,h,0)|0;k[i>>2]=p;ie(k[c>>2]|0)}if(!(k[i>>2]|0)){while(1){p=100==(Ls(k[h>>2]|0)|0);a=k[h>>2]|0;if(!p)break;p=Mv(a,0)|0;k[l>>2]=p;p=uJ(k[h>>2]|0,1)|0;k[d>>2]=p;if(!(ul(k[l>>2]|0,47943)|0)){p=_i(k[d>>2]|0)|0;k[j>>2]=p;continue}else{k[e>>2]=0;PT(k[f>>2]|0,k[l>>2]|0,k[d>>2]|0,e)|0;continue}}p=Pr(a)|0;k[i>>2]=p}if((k[i>>2]|0)==0&(k[j>>2]|0)!=4?(k[i>>2]=1,k[(k[f>>2]|0)+96>>2]|0):0){k[m>>2]=k[j>>2];k[m+4>>2]=4;p=xf(47951,m)|0;k[k[(k[f>>2]|0)+96>>2]>>2]=p}if(k[i>>2]|0){p=k[i>>2]|0;u=n;return p|0}k[(k[f>>2]|0)+64>>2]=k[g>>2];p=k[i>>2]|0;u=n;return p|0}function OT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+24|0;e=h+20|0;f=h+16|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;if((k[k[d>>2]>>2]|0)==0?(k[g>>2]=c,c=Ff(k[e>>2]|0,g)|0,k[f>>2]=c,(k[f>>2]|0)==0):0)k[k[d>>2]>>2]=7;u=h;return k[f>>2]|0}function PT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+64|0;m=s+48|0;n=s+44|0;o=s+40|0;p=s+36|0;q=s+32|0;r=s+28|0;e=s+24|0;f=s+20|0;g=s+16|0;h=s+12|0;i=s+8|0;j=s+4|0;l=s;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=0;if(!(ul(k[n>>2]|0,48016)|0)){k[r>>2]=0;if(1==(Oi(k[o>>2]|0)|0)){o=_i(k[o>>2]|0)|0;k[r>>2]=o}if((k[r>>2]|0)<=0|(k[r>>2]|0)>131072){k[k[p>>2]>>2]=1;r=k[q>>2]|0;u=s;return r|0}else{k[(k[m>>2]|0)+68>>2]=k[r>>2];r=k[q>>2]|0;u=s;return r|0}}if(!(ul(k[n>>2]|0,48021)|0)){k[e>>2]=-1;if(1==(Oi(k[o>>2]|0)|0)){r=_i(k[o>>2]|0)|0;k[e>>2]=r}if((k[e>>2]|0)<=0){k[k[p>>2]>>2]=1;r=k[q>>2]|0;u=s;return r|0}else{k[(k[m>>2]|0)+84>>2]=k[e>>2];r=k[q>>2]|0;u=s;return r|0}}if(!(ul(k[n>>2]|0,48030)|0)){k[f>>2]=-1;if(1==(Oi(k[o>>2]|0)|0)){r=_i(k[o>>2]|0)|0;k[f>>2]=r}if((k[f>>2]|0)<0|(k[f>>2]|0)>64){k[k[p>>2]>>2]=1;r=k[q>>2]|0;u=s;return r|0}if((k[f>>2]|0)==1)k[f>>2]=4;k[(k[m>>2]|0)+72>>2]=k[f>>2];r=k[q>>2]|0;u=s;return r|0}if(!(ul(k[n>>2]|0,48040)|0)){k[g>>2]=-1;if(1==(Oi(k[o>>2]|0)|0)){r=_i(k[o>>2]|0)|0;k[g>>2]=r}if((k[g>>2]|0)<2|(k[g>>2]|0)>16){k[k[p>>2]>>2]=1;r=k[q>>2]|0;u=s;return r|0}else{k[(k[m>>2]|0)+80>>2]=k[g>>2];r=k[q>>2]|0;u=s;return r|0}}if(!(ul(k[n>>2]|0,48050)|0)){k[h>>2]=-1;if(1==(Oi(k[o>>2]|0)|0)){r=_i(k[o>>2]|0)|0;k[h>>2]=r}if((k[h>>2]|0)<0){k[k[p>>2]>>2]=1;r=k[q>>2]|0;u=s;return r|0}if((k[h>>2]|0)<=1)k[h>>2]=16;k[(k[m>>2]|0)+76>>2]=k[h>>2];r=k[q>>2]|0;u=s;return r|0}if(ul(k[n>>2]|0,48062)|0){k[k[p>>2]>>2]=1;r=k[q>>2]|0;u=s;return r|0}r=$h(k[o>>2]|0)|0;k[i>>2]=r;r=QT(k[i>>2]|0,j,l)|0;k[q>>2]=r;if(!(k[q>>2]|0)){ie(k[(k[m>>2]|0)+88>>2]|0);ie(k[(k[m>>2]|0)+92>>2]|0);k[(k[m>>2]|0)+88>>2]=k[j>>2];k[(k[m>>2]|0)+92>>2]=k[l>>2];r=k[q>>2]|0;u=s;return r|0}if((k[q>>2]|0)!=1){r=k[q>>2]|0;u=s;return r|0}k[q>>2]=0;k[k[p>>2]>>2]=1;r=k[q>>2]|0;u=s;return r|0}function QT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+48|0;o=n+32|0;j=n+28|0;l=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;m=n+8|0;h=n+4|0;d=n;k[o>>2]=a;k[j>>2]=b;k[l>>2]=c;k[e>>2]=k[o>>2];k[g>>2]=0;k[m>>2]=0;k[h>>2]=0;k[k[j>>2]>>2]=0;k[k[l>>2]>>2]=0;do if(k[e>>2]|0){o=RT(k[e>>2]|0)|0;k[e>>2]=o;k[f>>2]=k[e>>2];o=ST(k[e>>2]|0)|0;k[e>>2]=o;if(k[e>>2]|0){o=nT(h,(k[e>>2]|0)+1-(k[f>>2]|0)|0)|0;k[g>>2]=o;if(k[g>>2]|0)r0(k[g>>2]|0,k[f>>2]|0,(k[e>>2]|0)-(k[f>>2]|0)|0)|0}else k[h>>2]=1;if(!(k[h>>2]|0)){o=RT(k[e>>2]|0)|0;k[e>>2]=o;if((i[k[e>>2]>>0]|0)!=40)k[h>>2]=1;k[e>>2]=(k[e>>2]|0)+1}if((k[h>>2]|0)==0?(o=RT(k[e>>2]|0)|0,k[e>>2]=o,k[d>>2]=k[e>>2],(i[k[e>>2]>>0]|0)!=41):0){o=TT(k[e>>2]|0)|0;k[e>>2]=o;if(!(k[e>>2]|0)){k[h>>2]=1;break}o=nT(h,(k[e>>2]|0)+1-(k[d>>2]|0)|0)|0;k[m>>2]=o;if(k[m>>2]|0)r0(k[m>>2]|0,k[d>>2]|0,(k[e>>2]|0)-(k[d>>2]|0)|0)|0}}else k[h>>2]=1;while(0);a=k[g>>2]|0;if(k[h>>2]|0){ie(a);o=k[h>>2]|0;u=n;return o|0}else{k[k[j>>2]>>2]=a;k[k[l>>2]>>2]=k[m>>2];o=k[h>>2]|0;u=n;return o|0}return 0}function RT(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=k[b>>2]|0;u=c;return d|0}while(1){if(!(XT(i[k[b>>2]>>0]|0)|0))break;k[b>>2]=(k[b>>2]|0)+1}d=k[b>>2]|0;u=c;return d|0}function ST(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[b>>2];while(1){e=(WT(i[k[c>>2]>>0]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if((a|0)!=(k[b>>2]|0)){e=k[c>>2]|0;u=d;return e|0}k[c>>2]=0;e=k[c>>2]|0;u=d;return e|0}function TT(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];while(1){d=RT(k[b>>2]|0)|0;k[b>>2]=d;d=UT(k[b>>2]|0)|0;k[b>>2]=d;d=RT(k[b>>2]|0)|0;k[b>>2]=d;if(!(k[b>>2]|0)){a=7;break}if((i[k[b>>2]>>0]|0)==41){a=7;break}if((i[k[b>>2]>>0]|0)!=44){a=5;break}k[b>>2]=(k[b>>2]|0)+1}if((a|0)==5){k[b>>2]=0;d=k[b>>2]|0;u=c;return d|0}else if((a|0)==7){d=k[b>>2]|0;u=c;return d|0}return 0}function UT(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=k[d>>2];switch(i[k[e>>2]>>0]|0){case 78:case 110:if(!(vd(23015,k[e>>2]|0,4)|0)){k[e>>2]=(k[e>>2]|0)+4;e=k[e>>2]|0;u=f;return e|0}else{k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}case 88:case 120:{k[e>>2]=(k[e>>2]|0)+1;if((i[k[e>>2]>>0]|0)!=39){k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}k[e>>2]=(k[e>>2]|0)+1;while(1){if((i[k[e>>2]>>0]|0)>=97?(i[k[e>>2]>>0]|0)<=102:0)a=1;else c=9;do if((c|0)==9){c=0;if((i[k[e>>2]>>0]|0)>=65?(i[k[e>>2]>>0]|0)<=70:0){a=1;break}if((i[k[e>>2]>>0]|0)>=48)a=(i[k[e>>2]>>0]|0)<=57;else a=0}while(0);b=k[e>>2]|0;if(!a)break;k[e>>2]=b+1}if((i[b>>0]|0)==39?0==(((k[e>>2]|0)-(k[d>>2]|0)|0)%2|0|0):0){k[e>>2]=(k[e>>2]|0)+1;e=k[e>>2]|0;u=f;return e|0}k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}case 39:{k[e>>2]=(k[e>>2]|0)+1;while(1){if(!(k[e>>2]|0)){c=37;break}if((i[k[e>>2]>>0]|0)==39?(k[e>>2]=(k[e>>2]|0)+1,(i[k[e>>2]>>0]|0)!=39):0){c=37;break}d=(k[e>>2]|0)+1|0;k[e>>2]=d;k[e>>2]=(i[k[e>>2]>>0]|0)==0?0:d}if((c|0)==37){e=k[e>>2]|0;u=f;return e|0}break}default:{if(!((i[k[e>>2]>>0]|0)!=43?(i[k[e>>2]>>0]|0)!=45:0))k[e>>2]=(k[e>>2]|0)+1;while(1){c=(VT(i[k[e>>2]>>0]|0)|0)!=0;a=k[e>>2]|0;if(!c)break;k[e>>2]=a+1}a:do if((i[a>>0]|0)==46?VT(i[(k[e>>2]|0)+1>>0]|0)|0:0){k[e>>2]=(k[e>>2]|0)+2;while(1){if(!(VT(i[k[e>>2]>>0]|0)|0))break a;k[e>>2]=(k[e>>2]|0)+1}}while(0);if((k[e>>2]|0)!=(k[d>>2]|0)){e=k[e>>2]|0;u=f;return e|0}k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}}return 0}function VT(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;i[b>>0]=a;if((i[b>>0]|0)>=48)a=(i[b>>0]|0)<=57;else a=0;u=c;return a&1|0}function WT(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+144|0;d=f+128|0;e=f;i[d>>0]=a;a=e;b=48067;c=a+128|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));if(i[d>>0]&128|0){e=1;e=e&1;u=f;return e|0}e=(l[e+(i[d>>0]|0)>>0]|0)!=0;e=e&1;u=f;return e|0}function XT(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;i[b>>0]=a;u=c;return (i[b>>0]|0)==32|0}function YT(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return ((l[k[b>>2]>>0]|0)<<24)+((l[(k[b>>2]|0)+1>>0]|0)<<16)+((l[(k[b>>2]|0)+2>>0]|0)<<8)+(l[(k[b>>2]|0)+3>>0]|0)|0}function ZT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=u;u=u+32|0;i=f+20|0;j=f;g=f+16|0;h=f+12|0;e=f+8|0;k[i>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;d=j;d=_T(k[i>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[h>>2]=d;k[e>>2]=k[k[h>>2]>>2];k[k[g>>2]>>2]=k[(k[e>>2]|0)+12>>2];u=f;return k[(k[e>>2]|0)+16>>2]|0}function _T(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;g=f+12|0;d=f;e=f+8|0;k[g>>2]=a;a=d;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=k[(k[g>>2]|0)+44>>2];while(1){if(!(k[e>>2]|0)){a=5;break}c=(k[e>>2]|0)+16|0;g=d;if((k[c>>2]|0)==(k[g>>2]|0)?(k[c+4>>2]|0)==(k[g+4>>2]|0):0){a=5;break}k[e>>2]=k[(k[e>>2]|0)+4>>2]}if((a|0)==5){u=f;return k[e>>2]|0}return 0}function $T(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+80|0;z=A;v=A+76|0;w=A+72|0;x=A+68|0;y=A+64|0;g=A+60|0;h=A+56|0;i=A+48|0;j=A+40|0;l=A+36|0;m=A+32|0;n=A+28|0;o=A+24|0;p=A+20|0;q=A+16|0;r=A+12|0;s=A+8|0;t=A+4|0;k[v>>2]=a;k[w>>2]=b;k[x>>2]=c;k[y>>2]=d;k[g>>2]=e;k[h>>2]=f;k[i>>2]=k[2191];k[i+4>>2]=k[2192];k[j>>2]=0;k[l>>2]=0;if((k[x>>2]|0)==6?(q$(k[(k[y>>2]|0)+4>>2]|0)|0)==4:0)a=(R_(42437,k[(k[y>>2]|0)+4>>2]|0,4)|0)==0;else a=0;k[m>>2]=a&1;if((k[x>>2]|0)!=5&(k[m>>2]|0)==0){y=xf(48295,z)|0;k[k[h>>2]>>2]=y;k[l>>2]=1;y=k[j>>2]|0;z=k[g>>2]|0;k[z>>2]=y;z=k[l>>2]|0;u=A;return z|0}k[o>>2]=k[(k[y>>2]|0)+((k[m>>2]|0?3:1)<<2)>>2];k[p>>2]=k[(k[y>>2]|0)+((k[m>>2]|0?4:3)<<2)>>2];k[q>>2]=k[(k[y>>2]|0)+((k[m>>2]|0?5:4)<<2)>>2];z=(q$(k[o>>2]|0)|0)+1|0;k[r>>2]=z;z=(q$(k[p>>2]|0)|0)+1|0;k[s>>2]=z;k[t>>2]=0;z=aU(k[q>>2]|0,k[h>>2]|0,t)|0;k[l>>2]=z;if(!(k[l>>2]|0)){z=WJ(k[v>>2]|0,k[i+(k[t>>2]<<2)>>2]|0)|0;k[l>>2]=z}k[n>>2]=32+(k[r>>2]|0)+(k[s>>2]|0);z=nT(l,k[n>>2]|0)|0;k[j>>2]=z;if(!(k[j>>2]|0)){y=k[j>>2]|0;z=k[g>>2]|0;k[z>>2]=y;z=k[l>>2]|0;u=A;return z|0}k[(k[j>>2]|0)+24>>2]=k[w>>2];k[(k[j>>2]|0)+28>>2]=k[t>>2];k[(k[j>>2]|0)+20>>2]=k[v>>2];k[(k[j>>2]|0)+12>>2]=(k[j>>2]|0)+32;k[(k[j>>2]|0)+16>>2]=(k[(k[j>>2]|0)+12>>2]|0)+(k[s>>2]|0);r0(k[(k[j>>2]|0)+12>>2]|0,k[p>>2]|0,k[s>>2]|0)|0;r0(k[(k[j>>2]|0)+16>>2]|0,k[o>>2]|0,k[r>>2]|0)|0;bU(k[(k[j>>2]|0)+12>>2]|0);bU(k[(k[j>>2]|0)+16>>2]|0);y=k[j>>2]|0;z=k[g>>2]|0;k[z>>2]=y;z=k[l>>2]|0;u=A;return z|0}function aU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;h=i;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=0;c=dU(f,k[j>>2]|0,-1)|0;k[g>>2]=c;if(k[f>>2]|0){j=k[f>>2]|0;u=i;return j|0}bU(k[g>>2]|0);do if(ul(k[g>>2]|0,48328)|0)if(!(ul(k[g>>2]|0,48332)|0)){k[k[e>>2]>>2]=1;break}else{k[h>>2]=k[g>>2];j=xf(48336,h)|0;k[k[d>>2]>>2]=j;k[f>>2]=1;break}else k[k[e>>2]>>2]=0;while(0);ie(k[g>>2]|0);j=k[f>>2]|0;u=i;return j|0}function bU(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;b=c;d=c+4|0;k[b>>2]=a;i[d>>0]=i[k[b>>2]>>0]|0;if((((i[d>>0]|0)!=91?(i[d>>0]|0)!=39:0)?(i[d>>0]|0)!=34:0)?(i[d>>0]|0)!=96:0){u=c;return}cU(k[b>>2]|0)|0;u=c;return}function cU(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+16|0;d=j+8|0;e=j+12|0;f=j+4|0;g=j;k[d>>2]=a;k[f>>2]=1;k[g>>2]=0;c=i[k[d>>2]>>0]|0;i[e>>0]=c;i[e>>0]=(i[e>>0]|0)==91?93:c;while(1){if(!(i[(k[d>>2]|0)+(k[f>>2]|0)>>0]|0)){h=9;break}b=k[d>>2]|0;a=k[f>>2]|0;c=a+1|0;if((i[(k[d>>2]|0)+(k[f>>2]|0)>>0]|0)==(i[e>>0]|0)){a=k[f>>2]|0;if((i[b+c>>0]|0)!=(i[e>>0]|0))break;k[f>>2]=a+2;a=i[e>>0]|0;c=k[d>>2]|0;b=k[g>>2]|0;k[g>>2]=b+1;b=c+b|0}else{k[f>>2]=c;a=i[b+a>>0]|0;c=k[d>>2]|0;b=k[g>>2]|0;k[g>>2]=b+1;b=c+b|0}i[b>>0]=a}if((h|0)==9){e=k[d>>2]|0;h=k[g>>2]|0;h=e+h|0;i[h>>0]=0;h=k[f>>2]|0;u=j;return h|0}k[f>>2]=a+1;e=k[d>>2]|0;h=k[g>>2]|0;h=e+h|0;i[h>>0]=0;h=k[f>>2]|0;u=j;return h|0}function dU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;if(k[k[d>>2]>>2]|0){g=k[g>>2]|0;u=h;return g|0}if((k[f>>2]|0)<0){c=q$(k[e>>2]|0)|0;k[f>>2]=c}c=ze((k[f>>2]|0)+1|0)|0;k[g>>2]=c;if(k[g>>2]|0){r0(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;i[(k[g>>2]|0)+(k[f>>2]|0)>>0]=0;g=k[g>>2]|0;u=h;return g|0}else{k[k[d>>2]>>2]=7;g=k[g>>2]|0;u=h;return g|0}return 0}function eU(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;g=n+24|0;h=n+20|0;j=n+16|0;l=n+12|0;m=n+8|0;e=n+4|0;f=n;k[n+28>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;k[m>>2]=0;if((k[h>>2]|0)%2|0|0){k[l>>2]=1;m=k[l>>2]|0;u=n;return m|0}d=ze(148)|0;k[m>>2]=d;a:do if(k[m>>2]|0){w0(k[m>>2]|0,0,148)|0;a=k[m>>2]|0;b=48672;c=a+128|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));k[(k[m>>2]|0)+136>>2]=1;k[(k[m>>2]|0)+132>>2]=64;d=ze(k[(k[m>>2]|0)+132>>2]|0)|0;k[(k[m>>2]|0)+128>>2]=d;if(!(k[(k[m>>2]|0)+128>>2]|0))k[l>>2]=7;k[e>>2]=0;while(1){if(k[l>>2]|0)break a;if((k[e>>2]|0)>=(k[h>>2]|0))break a;k[f>>2]=k[(k[g>>2]|0)+((k[e>>2]|0)+1<<2)>>2];do if(ul(k[(k[g>>2]|0)+(k[e>>2]<<2)>>2]|0,48923)|0){if(!(ul(k[(k[g>>2]|0)+(k[e>>2]<<2)>>2]|0,48800)|0)){d=KU(k[m>>2]|0,k[f>>2]|0,1)|0;k[l>>2]=d;break}if(!(ul(k[(k[g>>2]|0)+(k[e>>2]<<2)>>2]|0,48811)|0)){d=KU(k[m>>2]|0,k[f>>2]|0,0)|0;k[l>>2]=d;break}else{k[l>>2]=1;break}}else{if((i[k[f>>2]>>0]|0)!=48?(i[k[f>>2]>>0]|0)!=49:0)a=13;else a=12;if((a|0)==12?(a=0,i[(k[f>>2]|0)+1>>0]|0):0)a=13;if((a|0)==13)k[l>>2]=1;k[(k[m>>2]|0)+136>>2]=(i[k[f>>2]>>0]|0)==49&1}while(0);k[e>>2]=(k[e>>2]|0)+2}}else k[l>>2]=7;while(0);if(k[l>>2]|0){fU(k[m>>2]|0);k[m>>2]=0}k[k[j>>2]>>2]=k[m>>2];m=k[l>>2]|0;u=n;return m|0}function fU(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}k[c>>2]=k[b>>2];ie(k[(k[c>>2]|0)+144>>2]|0);ie(k[(k[c>>2]|0)+128>>2]|0);ie(k[c>>2]|0);u=d;return}function gU(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=u;u=u+80|0;C=A+68|0;x=A+64|0;y=A+56|0;B=A+52|0;g=A+48|0;h=A+44|0;j=A+40|0;m=A+36|0;n=A+32|0;o=A+28|0;p=A+24|0;q=A+20|0;r=A+16|0;s=A+12|0;t=A+8|0;v=A+4|0;w=A;k[C>>2]=a;k[x>>2]=b;k[A+60>>2]=c;k[y>>2]=d;k[B>>2]=e;k[g>>2]=f;k[h>>2]=k[C>>2];k[j>>2]=0;k[m>>2]=k[h>>2];k[n>>2]=(k[y>>2]|0)+(k[B>>2]|0);k[o>>2]=k[y>>2];k[p>>2]=k[(k[h>>2]|0)+128>>2];k[q>>2]=k[(k[h>>2]|0)+132>>2];k[r>>2]=(k[p>>2]|0)+((k[q>>2]|0)-6);a:while(1){if(k[j>>2]|0)break;k[t>>2]=k[p>>2];while(1){if((k[o>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break a;if(!(l[k[o>>2]>>0]&128)){a=k[o>>2]|0;if(i[(k[m>>2]|0)+(l[k[o>>2]>>0]|0)>>0]|0){z=18;break}k[o>>2]=a+1;continue}k[v>>2]=(k[o>>2]|0)-(k[y>>2]|0);C=k[o>>2]|0;k[o>>2]=C+1;k[s>>2]=l[C>>0];do if((k[s>>2]|0)>=192){k[s>>2]=l[22127+((k[s>>2]|0)-192)>>0];while(1){if((k[o>>2]|0)!=(k[n>>2]|0))a=(l[k[o>>2]>>0]&192|0)==128;else a=0;b=k[s>>2]|0;if(!a)break;C=k[o>>2]|0;k[o>>2]=C+1;k[s>>2]=(b<<6)+(63&l[C>>0])}if(((b|0)>=128?(k[s>>2]&-2048|0)!=55296:0)?(k[s>>2]&-2|0)!=65534:0)break;k[s>>2]=65533}while(0);if(EU(k[h>>2]|0,k[s>>2]|0)|0){z=37;break}}if((z|0)==18){k[v>>2]=a-(k[y>>2]|0);z=46}while(1){do if((z|0)==37){z=0;C=GU(k[s>>2]|0,k[(k[h>>2]|0)+136>>2]|0)|0;k[s>>2]=C;if(k[s>>2]|0){a=k[s>>2]|0;if((k[s>>2]|0)<128){C=k[t>>2]|0;k[t>>2]=C+1;i[C>>0]=a;break}b=k[s>>2]|0;if((a|0)<2048){B=k[t>>2]|0;k[t>>2]=B+1;i[B>>0]=192+(b>>6&31);B=128+(k[s>>2]&63)&255;C=k[t>>2]|0;k[t>>2]=C+1;i[C>>0]=B;break}a=k[s>>2]|0;if((b|0)<65536){C=k[t>>2]|0;k[t>>2]=C+1;i[C>>0]=224+(a>>12&15);C=128+(k[s>>2]>>6&63)&255;B=k[t>>2]|0;k[t>>2]=B+1;i[B>>0]=C;B=128+(k[s>>2]&63)&255;C=k[t>>2]|0;k[t>>2]=C+1;i[C>>0]=B;break}else{B=k[t>>2]|0;k[t>>2]=B+1;i[B>>0]=240+(a>>18&7);B=128+(k[s>>2]>>12&63)&255;C=k[t>>2]|0;k[t>>2]=C+1;i[C>>0]=B;C=128+(k[s>>2]>>6&63)&255;B=k[t>>2]|0;k[t>>2]=B+1;i[B>>0]=C;B=128+(k[s>>2]&63)&255;C=k[t>>2]|0;k[t>>2]=C+1;i[C>>0]=B;break}}}else if((z|0)==46){z=0;if((l[k[o>>2]>>0]|0)>=65?(l[k[o>>2]>>0]|0)<=90:0){B=(l[k[o>>2]>>0]|0)+32&255;C=k[t>>2]|0;k[t>>2]=C+1;i[C>>0]=B}else{B=i[k[o>>2]>>0]|0;C=k[t>>2]|0;k[t>>2]=C+1;i[C>>0]=B}k[o>>2]=(k[o>>2]|0)+1}while(0);k[w>>2]=(k[o>>2]|0)-(k[y>>2]|0);if((k[o>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;if((k[t>>2]|0)>>>0>(k[r>>2]|0)>>>0){C=ze(k[q>>2]<<1)|0;k[p>>2]=C;if(!(k[p>>2]|0)){z=22;break a}k[t>>2]=(k[p>>2]|0)+((k[t>>2]|0)-(k[(k[h>>2]|0)+128>>2]|0));r0(k[p>>2]|0,k[(k[h>>2]|0)+128>>2]|0,k[q>>2]|0)|0;ie(k[(k[h>>2]|0)+128>>2]|0);k[(k[h>>2]|0)+128>>2]=k[p>>2];C=k[q>>2]<<1;k[q>>2]=C;k[(k[h>>2]|0)+132>>2]=C;k[r>>2]=(k[p>>2]|0)+((k[q>>2]|0)-6)}if(!(l[k[o>>2]>>0]&128))if(!(l[(k[m>>2]|0)+(l[k[o>>2]>>0]|0)>>0]|0))break;else{z=46;continue}C=k[o>>2]|0;k[o>>2]=C+1;k[s>>2]=l[C>>0];do if((k[s>>2]|0)>=192){k[s>>2]=l[22127+((k[s>>2]|0)-192)>>0];while(1){if((k[o>>2]|0)!=(k[n>>2]|0))b=(l[k[o>>2]>>0]&192|0)==128;else b=0;a=k[s>>2]|0;if(!b)break;C=k[o>>2]|0;k[o>>2]=C+1;k[s>>2]=(a<<6)+(63&l[C>>0])}if(((a|0)>=128?(k[s>>2]&-2048|0)!=55296:0)?(k[s>>2]&-2|0)!=65534:0)break;k[s>>2]=65533}while(0);if(EU(k[h>>2]|0,k[s>>2]|0)|0){z=37;continue}if(FU(k[s>>2]|0)|0)z=37;else break}C=Qb[k[g>>2]&255](k[x>>2]|0,0,k[p>>2]|0,(k[t>>2]|0)-(k[p>>2]|0)|0,k[v>>2]|0,k[w>>2]|0)|0;k[j>>2]=C}if((z|0)==22)k[j>>2]=7;if((k[j>>2]|0)!=101){C=k[j>>2]|0;u=A;return C|0}k[j>>2]=0;C=k[j>>2]|0;u=A;return C|0}function hU(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;g=n+24|0;h=n+20|0;j=n+16|0;l=n+12|0;m=n+8|0;e=n+4|0;f=n;k[n+28>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;k[m>>2]=0;do if(!((k[h>>2]|0)%2|0|0)){d=ze(128)|0;k[m>>2]=d;if(!(k[m>>2]|0)){k[l>>2]=7;break}a=k[m>>2]|0;c=a+128|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(c|0));a=k[m>>2]|0;b=48672;c=a+128|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));k[e>>2]=0;while(1){if(k[l>>2]|0)break;if((k[e>>2]|0)>=(k[h>>2]|0))break;k[f>>2]=k[(k[g>>2]|0)+((k[e>>2]|0)+1<<2)>>2];do if(ul(k[(k[g>>2]|0)+(k[e>>2]<<2)>>2]|0,48800)|0)if(!(ul(k[(k[g>>2]|0)+(k[e>>2]<<2)>>2]|0,48811)|0)){DU(k[m>>2]|0,k[f>>2]|0,0);break}else{k[l>>2]=1;break}else DU(k[m>>2]|0,k[f>>2]|0,1);while(0);k[e>>2]=(k[e>>2]|0)+2}if(k[l>>2]|0){iU(k[m>>2]|0);k[m>>2]=0}}else k[l>>2]=1;while(0);k[k[j>>2]>>2]=k[m>>2];u=n;return k[l>>2]|0}function iU(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ie(k[c>>2]|0);u=b;return}function jU(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+128|0;z=x+52|0;t=x+48|0;v=x+40|0;g=x+36|0;h=x+32|0;y=x+28|0;j=x+24|0;m=x+20|0;n=x+16|0;o=x+56|0;p=x+12|0;q=x+8|0;r=x+4|0;s=x;k[z>>2]=a;k[t>>2]=b;k[x+44>>2]=c;k[v>>2]=d;k[g>>2]=e;k[h>>2]=f;k[y>>2]=k[z>>2];k[j>>2]=0;k[n>>2]=0;k[p>>2]=64;k[q>>2]=o;k[r>>2]=k[y>>2];while(1){if(!((k[n>>2]|0)<(k[g>>2]|0)?(k[j>>2]|0)==0:0))break;while(1){if((k[n>>2]|0)<(k[g>>2]|0)?(i[(k[v>>2]|0)+(k[n>>2]|0)>>0]&128|0)==0:0)a=(l[(k[r>>2]|0)+(i[(k[v>>2]|0)+(k[n>>2]|0)>>0]|0)>>0]|0)==0;else a=0;b=k[n>>2]|0;if(!a)break;k[n>>2]=b+1}if((b|0)==(k[g>>2]|0))break;k[m>>2]=(k[n>>2]|0)+1;while(1){if((k[m>>2]|0)<(k[g>>2]|0))if(i[(k[v>>2]|0)+(k[m>>2]|0)>>0]&128|0)a=1;else a=(l[(k[r>>2]|0)+(i[(k[v>>2]|0)+(k[m>>2]|0)>>0]|0)>>0]|0)!=0;else a=0;b=k[m>>2]|0;if(!a)break;k[m>>2]=b+1}k[s>>2]=b-(k[n>>2]|0);if((k[s>>2]|0)>(k[p>>2]|0)){if((k[q>>2]|0)!=(o|0))ie(k[q>>2]|0);z=ze(k[s>>2]<<1)|0;k[q>>2]=z;if(!(k[q>>2]|0)){w=19;break}k[p>>2]=k[s>>2]<<1}CU(k[q>>2]|0,(k[v>>2]|0)+(k[n>>2]|0)|0,k[s>>2]|0);z=Qb[k[h>>2]&255](k[t>>2]|0,0,k[q>>2]|0,k[s>>2]|0,k[n>>2]|0,k[m>>2]|0)|0;k[j>>2]=z;k[n>>2]=(k[m>>2]|0)+1}if((w|0)==19)k[j>>2]=7;if((k[q>>2]|0)!=(o|0))ie(k[q>>2]|0);if((k[j>>2]|0)!=101){z=k[j>>2]|0;u=x;return z|0}k[j>>2]=0;z=k[j>>2]|0;u=x;return z|0}function kU(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;q=p+40|0;j=p+36|0;l=p+32|0;m=p+28|0;n=p+24|0;o=p+20|0;e=p+16|0;f=p+12|0;g=p+8|0;h=p+4|0;i=p;k[q>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=k[q>>2];k[o>>2]=0;k[f>>2]=0;k[g>>2]=42586;if((k[l>>2]|0)>0)k[g>>2]=k[k[j>>2]>>2];q=ze(144)|0;k[e>>2]=q;if(k[e>>2]|0){w0(k[e>>2]|0,0,144)|0;q=Ub[k[(k[n>>2]|0)+8>>2]&255](k[n>>2]|0,k[g>>2]|0,f,k[e>>2]|0)|0;k[o>>2]=q}else k[o>>2]=7;if(!(k[o>>2]|0)){k[h>>2]=(k[l>>2]|0)>0?(k[l>>2]|0)-1|0:0;k[i>>2]=k[h>>2]|0?(k[j>>2]|0)+4|0:0;q=Ub[k[k[e>>2]>>2]&255](k[f>>2]|0,k[i>>2]|0,k[h>>2]|0,(k[e>>2]|0)+12|0)|0;k[o>>2]=q}if(!(k[o>>2]|0)){n=k[e>>2]|0;q=k[m>>2]|0;k[q>>2]=n;q=k[o>>2]|0;u=p;return q|0}lU(k[e>>2]|0);k[e>>2]=0;n=k[e>>2]|0;q=k[m>>2]|0;k[q>>2]=n;q=k[o>>2]|0;u=p;return q|0}function lU(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}k[c>>2]=k[b>>2];if(k[(k[c>>2]|0)+12>>2]|0)Ob[k[(k[c>>2]|0)+4>>2]&255](k[(k[c>>2]|0)+12>>2]|0);ie(k[c>>2]|0);u=d;return}function mU(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+48|0;p=g+36|0;n=g+32|0;j=g+28|0;i=g+24|0;h=g+20|0;o=g+16|0;m=g+12|0;l=g;k[p>>2]=a;k[n>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;k[o>>2]=f;k[m>>2]=k[p>>2];k[l+4>>2]=k[o>>2];k[l>>2]=k[n>>2];k[l+8>>2]=(k[m>>2]|0)+16;f=Qb[k[(k[m>>2]|0)+8>>2]&255](k[(k[m>>2]|0)+12>>2]|0,l,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,148)|0;u=g;return f|0}function nU(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=u;u=u+48|0;p=s+36|0;t=s+32|0;q=s+28|0;r=s+24|0;g=s+20|0;h=s+16|0;j=s+12|0;l=s+8|0;m=s+4|0;n=s;o=s+40|0;k[t>>2]=a;k[q>>2]=b;k[r>>2]=c;k[g>>2]=d;k[h>>2]=e;k[j>>2]=f;k[l>>2]=k[t>>2];a=k[l>>2]|0;if((k[g>>2]|0)>64|(k[g>>2]|0)<3){t=Qb[k[a+4>>2]&255](k[k[l>>2]>>2]|0,k[q>>2]|0,k[r>>2]|0,k[g>>2]|0,k[h>>2]|0,k[j>>2]|0)|0;k[p>>2]=t;t=k[p>>2]|0;u=s;return t|0}k[m>>2]=k[a+8>>2];k[n>>2]=k[g>>2];r0(k[m>>2]|0,k[r>>2]|0,k[n>>2]|0)|0;oU(k[m>>2]|0,n);do if(pU(k[m>>2]|0,n)|0?(qU(k[m>>2]|0,n)|0)==0:0){i[o>>0]=i[(k[m>>2]|0)+((k[n>>2]|0)-1)>>0]|0;if(((((rU(i[o>>0]|0,0)|0)==0?(i[o>>0]|0)!=108:0)?(i[o>>0]|0)!=115:0)?(i[o>>0]|0)!=122:0)?(i[o>>0]|0)==(i[(k[m>>2]|0)+((k[n>>2]|0)-2)>>0]|0):0){k[n>>2]=(k[n>>2]|0)+-1;break}if(sU(k[m>>2]|0,k[n>>2]|0)|0?tU(k[m>>2]|0,k[n>>2]|0)|0:0){r=k[m>>2]|0;t=k[n>>2]|0;k[n>>2]=t+1;i[r+t>>0]=101}}while(0);if((i[(k[m>>2]|0)+((k[n>>2]|0)-1)>>0]|0)==121?uU(k[m>>2]|0,(k[n>>2]|0)-1|0)|0:0)i[(k[m>>2]|0)+((k[n>>2]|0)-1)>>0]=105;vU(k[m>>2]|0,n)|0;wU(k[m>>2]|0,n)|0;xU(k[m>>2]|0,n)|0;do if((i[(k[m>>2]|0)+((k[n>>2]|0)-1)>>0]|0)==101){if(!(yU(k[m>>2]|0,(k[n>>2]|0)-1|0)|0)){if(!(sU(k[m>>2]|0,(k[n>>2]|0)-1|0)|0))break;if(tU(k[m>>2]|0,(k[n>>2]|0)-1|0)|0)break}k[n>>2]=(k[n>>2]|0)+-1}while(0);if((((k[n>>2]|0)>1?(i[(k[m>>2]|0)+((k[n>>2]|0)-1)>>0]|0)==108:0)?(i[(k[m>>2]|0)+((k[n>>2]|0)-2)>>0]|0)==108:0)?yU(k[m>>2]|0,(k[n>>2]|0)-1|0)|0:0)k[n>>2]=(k[n>>2]|0)+-1;t=Qb[k[(k[l>>2]|0)+4>>2]&255](k[k[l>>2]>>2]|0,k[q>>2]|0,k[m>>2]|0,k[n>>2]|0,k[h>>2]|0,k[j>>2]|0)|0;k[p>>2]=t;t=k[p>>2]|0;u=s;return t|0}function oU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[d>>2]>>2];if((i[(k[c>>2]|0)+((k[e>>2]|0)-1)>>0]|0)!=115){u=g;return}if((i[(k[c>>2]|0)+((k[e>>2]|0)-2)>>0]|0)!=101){if((i[(k[c>>2]|0)+((k[e>>2]|0)-2)>>0]|0)==115){u=g;return}k[k[d>>2]>>2]=(k[e>>2]|0)-1;u=g;return}if(!(((k[e>>2]|0)>4?(i[(k[c>>2]|0)+((k[e>>2]|0)-4)>>0]|0)==115:0)?(i[(k[c>>2]|0)+((k[e>>2]|0)-3)>>0]|0)==115:0))f=6;do if((f|0)==6){if((k[e>>2]|0)>3?(i[(k[c>>2]|0)+((k[e>>2]|0)-3)>>0]|0)==105:0)break;k[k[d>>2]>>2]=(k[e>>2]|0)-1;u=g;return}while(0);k[k[d>>2]>>2]=(k[e>>2]|0)-2;u=g;return}function pU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=k[k[d>>2]>>2];a:do switch(i[(k[c>>2]|0)+((k[f>>2]|0)-2)>>0]|0){case 101:{if((k[f>>2]|0)>3?0==(R_(48661,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-3)|0;i[c>>0]=i[47220]|0;i[c+1>>0]=i[47221]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-3+2;break a}if(((k[f>>2]|0)>2?0==(R_(48665,(k[c>>2]|0)+((k[f>>2]|0)-2)|0,2)|0):0)?uU(k[c>>2]|0,(k[f>>2]|0)-2|0)|0:0){k[k[d>>2]>>2]=(k[f>>2]|0)-2;k[e>>2]=1}break}case 110:{if(((k[f>>2]|0)>3?0==(R_(48668,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0)?uU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0:0){k[k[d>>2]>>2]=(k[f>>2]|0)-3;k[e>>2]=1}break}default:{}}while(0);u=g;return k[e>>2]|0}function qU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=k[k[d>>2]>>2];switch(i[(k[c>>2]|0)+((k[f>>2]|0)-2)>>0]|0){case 97:{if((k[f>>2]|0)>2?0==(R_(48652,(k[c>>2]|0)+((k[f>>2]|0)-2)|0,2)|0):0){c=(k[c>>2]|0)+((k[f>>2]|0)-2)|0;i[c>>0]=i[47233]|0;i[c+1>>0]=i[47234]|0;i[c+2>>0]=i[47235]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-2+3;k[e>>2]=1}break}case 98:{if((k[f>>2]|0)>2?0==(R_(48655,(k[c>>2]|0)+((k[f>>2]|0)-2)|0,2)|0):0){c=(k[c>>2]|0)+((k[f>>2]|0)-2)|0;i[c>>0]=i[47240]|0;i[c+1>>0]=i[47241]|0;i[c+2>>0]=i[47242]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-2+3;k[e>>2]=1}break}case 105:{if((k[f>>2]|0)>2?0==(R_(48658,(k[c>>2]|0)+((k[f>>2]|0)-2)|0,2)|0):0){c=(k[c>>2]|0)+((k[f>>2]|0)-2)|0;i[c>>0]=i[47247]|0;i[c+1>>0]=i[47248]|0;i[c+2>>0]=i[47249]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-2+3;k[e>>2]=1}break}default:{}}u=g;return k[e>>2]|0}function rU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;i[c>>0]=a;k[d>>2]=b;if(((((i[c>>0]|0)!=97?(i[c>>0]|0)!=101:0)?(i[c>>0]|0)!=105:0)?(i[c>>0]|0)!=111:0)?(i[c>>0]|0)!=117:0)if(k[d>>2]|0)a=(i[c>>0]|0)==121;else a=0;else a=1;u=e;return a&1|0}function sU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=zU(k[d>>2]|0,k[e>>2]|0,0)|0;k[f>>2]=b;if(k[f>>2]|0?0==(zU((k[d>>2]|0)+(k[f>>2]|0)|0,(k[e>>2]|0)-(k[f>>2]|0)|0,1)|0):0){k[c>>2]=1;f=k[c>>2]|0;u=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}function tU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;if(((i[(k[d>>2]|0)+((k[e>>2]|0)-1)>>0]|0)!=119?(i[(k[d>>2]|0)+((k[e>>2]|0)-1)>>0]|0)!=120:0)?(i[(k[d>>2]|0)+((k[e>>2]|0)-1)>>0]|0)!=121:0){k[g>>2]=0;k[h>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[e>>2]|0))break;b=((rU(i[(k[d>>2]|0)+(k[f>>2]|0)>>0]|0,k[h>>2]|0)|0)!=0^1)&1;k[h>>2]=b;k[g>>2]=(k[g>>2]<<1)+(k[h>>2]|0);k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=(k[g>>2]&7|0)==5&1;h=k[c>>2]|0;u=j;return h|0}k[c>>2]=0;h=k[c>>2]|0;u=j;return h|0}function uU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[d>>2]|0)){a=6;break}if(rU(i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0,(k[e>>2]|0)>0&1)|0){a=4;break}k[e>>2]=(k[e>>2]|0)+1}if((a|0)==4){k[f>>2]=1;f=k[f>>2]|0;u=g;return f|0}else if((a|0)==6){k[f>>2]=0;f=k[f>>2]|0;u=g;return f|0}return 0}function vU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=k[k[d>>2]>>2];a:do switch(i[(k[c>>2]|0)+((k[f>>2]|0)-2)>>0]|0){case 97:{if((k[f>>2]|0)>7?0==(R_(48524,(k[c>>2]|0)+((k[f>>2]|0)-7)|0,7)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-7|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-7)|0;i[c>>0]=i[47233]|0;i[c+1>>0]=i[47234]|0;i[c+2>>0]=i[47235]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-7+3;break a}if(((k[f>>2]|0)>6?0==(R_(48532,(k[c>>2]|0)+((k[f>>2]|0)-6)|0,6)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-6|0)|0:0){c=(k[c>>2]|0)+((k[f>>2]|0)-6)|0;i[c>>0]=i[47266]|0;i[c+1>>0]=i[47267]|0;i[c+2>>0]=i[47268]|0;i[c+3>>0]=i[47269]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-6+4}break}case 99:{if((k[f>>2]|0)>4?0==(R_(48539,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-4)|0;i[c>>0]=i[47276]|0;i[c+1>>0]=i[47277]|0;i[c+2>>0]=i[47278]|0;i[c+3>>0]=i[47279]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-4+4;break a}if(((k[f>>2]|0)>4?0==(R_(48544,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0:0){c=(k[c>>2]|0)+((k[f>>2]|0)-4)|0;i[c>>0]=i[47286]|0;i[c+1>>0]=i[47287]|0;i[c+2>>0]=i[47288]|0;i[c+3>>0]=i[47289]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-4+4}break}case 101:{if(((k[f>>2]|0)>4?0==(R_(48549,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0:0){c=(k[c>>2]|0)+((k[f>>2]|0)-4)|0;i[c>>0]=i[47247]|0;i[c+1>>0]=i[47248]|0;i[c+2>>0]=i[47249]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-4+3}break}case 103:{if(((k[f>>2]|0)>4?0==(R_(48554,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0:0){c=(k[c>>2]|0)+((k[f>>2]|0)-4)|0;i[c>>0]=i[32259]|0;i[c+1>>0]=i[32260]|0;i[c+2>>0]=i[32261]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-4+3}break}case 108:{if((k[f>>2]|0)>3?0==(R_(48559,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-3)|0;i[c>>0]=i[47240]|0;i[c+1>>0]=i[47241]|0;i[c+2>>0]=i[47242]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-3+3;break a}if((k[f>>2]|0)>4?0==(R_(48563,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-4)|0;i[c>>0]=i[47310]|0;i[c+1>>0]=i[47311]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-4+2;break a}if((k[f>>2]|0)>5?0==(R_(48568,(k[c>>2]|0)+((k[f>>2]|0)-5)|0,5)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-5|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-5)|0;i[c>>0]=i[47319]|0;i[c+1>>0]=i[47320]|0;i[c+2>>0]=i[47321]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-5+3;break a}if((k[f>>2]|0)>3?0==(R_(48574,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0))break a;i[(k[c>>2]|0)+((k[f>>2]|0)-3)>>0]=i[47327]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-3+1;break a}if(((k[f>>2]|0)>5?0==(R_(48578,(k[c>>2]|0)+((k[f>>2]|0)-5)|0,5)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-5|0)|0:0){c=(k[c>>2]|0)+((k[f>>2]|0)-5)|0;i[c>>0]=i[47335]|0;i[c+1>>0]=i[47336]|0;i[c+2>>0]=i[47337]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-5+3}break}case 111:{if((k[f>>2]|0)>7?0==(R_(48584,(k[c>>2]|0)+((k[f>>2]|0)-7)|0,7)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-7|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-7)|0;i[c>>0]=i[47247]|0;i[c+1>>0]=i[47248]|0;i[c+2>>0]=i[47249]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-7+3;break a}if((k[f>>2]|0)>5?0==(R_(48592,(k[c>>2]|0)+((k[f>>2]|0)-5)|0,5)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-5|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-5)|0;i[c>>0]=i[47233]|0;i[c+1>>0]=i[47234]|0;i[c+2>>0]=i[47235]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-5+3;break a}if(((k[f>>2]|0)>4?0==(R_(48598,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0:0){c=(k[c>>2]|0)+((k[f>>2]|0)-4)|0;i[c>>0]=i[47233]|0;i[c+1>>0]=i[47234]|0;i[c+2>>0]=i[47235]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-4+3}break}case 115:{if((k[f>>2]|0)>5?0==(R_(48603,(k[c>>2]|0)+((k[f>>2]|0)-5)|0,5)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-5|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-5)|0;i[c>>0]=i[47310]|0;i[c+1>>0]=i[47311]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-5+2;break a}if((k[f>>2]|0)>7?0==(R_(48609,(k[c>>2]|0)+((k[f>>2]|0)-7)|0,7)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-7|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-7)|0;i[c>>0]=i[47372]|0;i[c+1>>0]=i[47373]|0;i[c+2>>0]=i[47374]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-7+3;break a}if((k[f>>2]|0)>7?0==(R_(48617,(k[c>>2]|0)+((k[f>>2]|0)-7)|0,7)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-7|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-7)|0;i[c>>0]=i[47384]|0;i[c+1>>0]=i[47385]|0;i[c+2>>0]=i[47386]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-7+3;break a}if(((k[f>>2]|0)>7?0==(R_(48625,(k[c>>2]|0)+((k[f>>2]|0)-7)|0,7)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-7|0)|0:0){c=(k[c>>2]|0)+((k[f>>2]|0)-7)|0;i[c>>0]=i[47335]|0;i[c+1>>0]=i[47336]|0;i[c+2>>0]=i[47337]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-7+3}break}case 116:{if((k[f>>2]|0)>5?0==(R_(48633,(k[c>>2]|0)+((k[f>>2]|0)-5)|0,5)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-5|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-5)|0;i[c>>0]=i[47310]|0;i[c+1>>0]=i[47311]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-5+2;break a}if((k[f>>2]|0)>5?0==(R_(48639,(k[c>>2]|0)+((k[f>>2]|0)-5)|0,5)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-5|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-5)|0;i[c>>0]=i[47372]|0;i[c+1>>0]=i[47373]|0;i[c+2>>0]=i[47374]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-5+3;break a}if(((k[f>>2]|0)>6?0==(R_(48645,(k[c>>2]|0)+((k[f>>2]|0)-6)|0,6)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-6|0)|0:0){c=(k[c>>2]|0)+((k[f>>2]|0)-6)|0;i[c>>0]=i[47240]|0;i[c+1>>0]=i[47241]|0;i[c+2>>0]=i[47242]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-6+3}break}default:{}}while(0);u=g;return k[e>>2]|0}function wU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=k[k[d>>2]>>2];a:do switch(i[(k[c>>2]|0)+((k[f>>2]|0)-2)>>0]|0){case 97:{if(((k[f>>2]|0)>4?0==(R_(48490,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0:0){c=(k[c>>2]|0)+((k[f>>2]|0)-4)|0;i[c>>0]=i[47421]|0;i[c+1>>0]=i[47422]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-4+2}break}case 115:{if(((k[f>>2]|0)>4?0==(R_(48495,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-4;break}case 116:{if((k[f>>2]|0)>5?0==(R_(48500,(k[c>>2]|0)+((k[f>>2]|0)-5)|0,5)|0):0){if(!(BU(k[c>>2]|0,(k[f>>2]|0)-5|0)|0))break a;c=(k[c>>2]|0)+((k[f>>2]|0)-5)|0;i[c>>0]=i[47421]|0;i[c+1>>0]=i[47422]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-5+2;break a}if(((k[f>>2]|0)>5?0==(R_(48506,(k[c>>2]|0)+((k[f>>2]|0)-5)|0,5)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-5|0)|0:0){c=(k[c>>2]|0)+((k[f>>2]|0)-5)|0;i[c>>0]=i[47421]|0;i[c+1>>0]=i[47422]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-5+2}break}case 117:{if(((k[f>>2]|0)>3?0==(R_(47384,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-3;break}case 118:{if(((k[f>>2]|0)>5?0==(R_(48512,(k[c>>2]|0)+((k[f>>2]|0)-5)|0,5)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-5|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-5;break}case 122:{if(((k[f>>2]|0)>5?0==(R_(48518,(k[c>>2]|0)+((k[f>>2]|0)-5)|0,5)|0):0)?BU(k[c>>2]|0,(k[f>>2]|0)-5|0)|0:0){c=(k[c>>2]|0)+((k[f>>2]|0)-5)|0;i[c>>0]=i[47310]|0;i[c+1>>0]=i[47311]|0;k[k[d>>2]>>2]=(k[f>>2]|0)-5+2}break}default:{}}while(0);u=g;return k[e>>2]|0}function xU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=k[k[d>>2]>>2];a:do switch(i[(k[c>>2]|0)+((k[f>>2]|0)-2)>>0]|0){case 97:{if(((k[f>>2]|0)>2?0==(R_(47310,(k[c>>2]|0)+((k[f>>2]|0)-2)|0,2)|0):0)?yU(k[c>>2]|0,(k[f>>2]|0)-2|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-2;break}case 99:{if((k[f>>2]|0)>4?0==(R_(47286,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0){if(!(yU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0))break a;k[k[d>>2]>>2]=(k[f>>2]|0)-4;break a}if(((k[f>>2]|0)>4?0==(R_(47276,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0)?yU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-4;break}case 101:{if(((k[f>>2]|0)>2?0==(R_(48451,(k[c>>2]|0)+((k[f>>2]|0)-2)|0,2)|0):0)?yU(k[c>>2]|0,(k[f>>2]|0)-2|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-2;break}case 105:{if(((k[f>>2]|0)>2?0==(R_(47421,(k[c>>2]|0)+((k[f>>2]|0)-2)|0,2)|0):0)?yU(k[c>>2]|0,(k[f>>2]|0)-2|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-2;break}case 108:{if((k[f>>2]|0)>4?0==(R_(48454,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0){if(!(yU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0))break a;k[k[d>>2]>>2]=(k[f>>2]|0)-4;break a}if(((k[f>>2]|0)>4?0==(R_(48459,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0)?yU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-4;break}case 110:{if((k[f>>2]|0)>3?0==(R_(48464,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0){if(!(yU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0))break a;k[k[d>>2]>>2]=(k[f>>2]|0)-3;break a}if((k[f>>2]|0)>5?0==(R_(48468,(k[c>>2]|0)+((k[f>>2]|0)-5)|0,5)|0):0){if(!(yU(k[c>>2]|0,(k[f>>2]|0)-5|0)|0))break a;k[k[d>>2]>>2]=(k[f>>2]|0)-5;break a}if((k[f>>2]|0)>4?0==(R_(48474,(k[c>>2]|0)+((k[f>>2]|0)-4)|0,4)|0):0){if(!(yU(k[c>>2]|0,(k[f>>2]|0)-4|0)|0))break a;k[k[d>>2]>>2]=(k[f>>2]|0)-4;break a}if(((k[f>>2]|0)>3?0==(R_(47319,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0)?yU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-3;break}case 111:{if((k[f>>2]|0)>3?0==(R_(48479,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0){if(!(AU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0))break a;k[k[d>>2]>>2]=(k[f>>2]|0)-3;break a}if(((k[f>>2]|0)>2?0==(R_(48483,(k[c>>2]|0)+((k[f>>2]|0)-2)|0,2)|0):0)?yU(k[c>>2]|0,(k[f>>2]|0)-2|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-2;break}case 115:{if(((k[f>>2]|0)>3?0==(R_(48486,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0)?yU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-3;break}case 116:{if((k[f>>2]|0)>3?0==(R_(47233,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0){if(!(yU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0))break a;k[k[d>>2]>>2]=(k[f>>2]|0)-3;break a}if(((k[f>>2]|0)>3?0==(R_(47479,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0)?yU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-3;break}case 117:{if(((k[f>>2]|0)>3?0==(R_(47335,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0)?yU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-3;break}case 118:{if(((k[f>>2]|0)>3?0==(R_(47372,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0)?yU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-3;break}case 122:{if(((k[f>>2]|0)>3?0==(R_(47247,(k[c>>2]|0)+((k[f>>2]|0)-3)|0,3)|0):0)?yU(k[c>>2]|0,(k[f>>2]|0)-3|0)|0:0)k[k[d>>2]>>2]=(k[f>>2]|0)-3;break}default:{}}while(0);u=g;return k[e>>2]|0}function yU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=zU(k[d>>2]|0,k[e>>2]|0,0)|0;k[f>>2]=b;if(k[f>>2]|0?zU((k[d>>2]|0)+(k[f>>2]|0)|0,(k[e>>2]|0)-(k[f>>2]|0)|0,1)|0:0){k[c>>2]=1;f=k[c>>2]|0;u=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}function zU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=u;u=u+32|0;h=j+20|0;d=j+16|0;e=j+12|0;l=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[l>>2]=c;k[g>>2]=k[l>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[e>>2]|0))break;l=((rU(i[(k[d>>2]|0)+(k[f>>2]|0)>>0]|0,k[g>>2]|0)|0)!=0^1)&1;k[g>>2]=l;if(!l)break;k[f>>2]=(k[f>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1;while(1){if((k[f>>2]|0)>=(k[e>>2]|0)){a=10;break}l=(rU(i[(k[d>>2]|0)+(k[f>>2]|0)>>0]|0,k[g>>2]|0)|0)!=0^1;k[g>>2]=l&1;b=(k[f>>2]|0)+1|0;if(l){a=8;break}k[f>>2]=b}if((a|0)==8){k[h>>2]=b;l=k[h>>2]|0;u=j;return l|0}else if((a|0)==10){k[h>>2]=0;l=k[h>>2]|0;u=j;return l|0}return 0}function AU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((i[(k[c>>2]|0)+((k[d>>2]|0)-1)>>0]|0)!=115?(i[(k[c>>2]|0)+((k[d>>2]|0)-1)>>0]|0)!=116:0){d=0;d=d&1;u=e;return d|0}d=(yU(k[c>>2]|0,k[d>>2]|0)|0)!=0;d=d&1;u=e;return d|0}function BU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=((zU(k[e>>2]|0,k[d>>2]|0,0)|0)!=0^1^1)&1;u=c;return b|0}function CU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;h=j+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[f>>2]|0))break;i[h>>0]=i[(k[e>>2]|0)+(k[g>>2]|0)>>0]|0;if((i[h>>0]|0)>=65?(i[h>>0]|0)<=90:0)i[h>>0]=(i[h>>0]|0)+32;i[(k[d>>2]|0)+(k[g>>2]|0)>>0]=i[h>>0]|0;k[g>>2]=(k[g>>2]|0)+1}u=j;return}function DU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if(!(i[(k[e>>2]|0)+(k[g>>2]|0)>>0]|0))break;if(!(i[(k[e>>2]|0)+(k[g>>2]|0)>>0]&128))i[(k[d>>2]|0)+(i[(k[e>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]=k[f>>2];k[g>>2]=(k[g>>2]|0)+1}u=h;return}function EU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=IU(k[d>>2]|0)|0;b=b^(JU(k[e>>2]|0,k[d>>2]|0)|0);u=c;return b|0}function FU(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;e=f+12|0;d=f+8|0;b=f+4|0;c=f;k[d>>2]=a;k[b>>2]=134389727;k[c>>2]=221688;if((k[d>>2]|0)<768|(k[d>>2]|0)>817){k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}if((k[d>>2]|0)<800){b=k[b>>2]|0;a=(k[d>>2]|0)-768|0}else{b=k[c>>2]|0;a=(k[d>>2]|0)-768-32|0}k[e>>2]=b&1<>2]|0;u=f;return e|0}function GU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0;o=u;u=u+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;n=o+4|0;c=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[d>>2];a=k[d>>2]|0;if((k[d>>2]|0)<128){if(!((a|0)>=65&(k[d>>2]|0)<=90)){n=k[f>>2]|0;u=o;return n|0}k[f>>2]=(k[d>>2]|0)+32;n=k[f>>2]|0;u=o;return n|0}if((a|0)>=65536){if(!((k[d>>2]|0)>=66560&(k[d>>2]|0)<66600)){n=k[f>>2]|0;u=o;return n|0}k[f>>2]=(k[d>>2]|0)+40;n=k[f>>2]|0;u=o;return n|0}k[h>>2]=162;k[i>>2]=0;k[j>>2]=-1;while(1){if((k[h>>2]|0)<(k[i>>2]|0))break;k[n>>2]=((k[h>>2]|0)+(k[i>>2]|0)|0)/2|0;k[c>>2]=(k[d>>2]|0)-(m[17876+(k[n>>2]<<2)>>1]|0);a=k[n>>2]|0;if((k[c>>2]|0)>=0){k[j>>2]=a;k[i>>2]=(k[n>>2]|0)+1;continue}else{k[h>>2]=a-1;continue}}k[g>>2]=17876+(k[j>>2]<<2);if((k[d>>2]|0)<((m[k[g>>2]>>1]|0)+(l[(k[g>>2]|0)+3>>0]|0)|0)?0==(1&(l[(k[g>>2]|0)+2>>0]|0)&((m[k[g>>2]>>1]|0)^k[d>>2])|0):0)k[f>>2]=(k[d>>2]|0)+(m[18528+((l[(k[g>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(k[e>>2]|0)){n=k[f>>2]|0;u=o;return n|0}n=HU(k[f>>2]|0)|0;k[f>>2]=n;n=k[f>>2]|0;u=o;return n|0}function HU(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0;o=u;u=u+336|0;d=o+20|0;e=o+24|0;f=o+226|0;g=o+16|0;h=o+12|0;j=o+8|0;l=o+4|0;n=o;k[d>>2]=a;r0(e|0,18682,202)|0;a=f;b=48822;c=a+101|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));k[g>>2]=k[d>>2]<<3|7;k[h>>2]=0;k[j>>2]=100;k[l>>2]=0;while(1){if((k[j>>2]|0)<(k[l>>2]|0))break;k[n>>2]=((k[j>>2]|0)+(k[l>>2]|0)|0)/2|0;a=k[n>>2]|0;if((k[g>>2]|0)>>>0>=(m[e+(k[n>>2]<<1)>>1]|0)>>>0){k[h>>2]=a;k[l>>2]=(k[n>>2]|0)+1;continue}else{k[j>>2]=a-1;continue}}if((k[d>>2]|0)>((m[e+(k[h>>2]<<1)>>1]>>3)+(m[e+(k[h>>2]<<1)>>1]&7)|0)){n=k[d>>2]|0;u=o;return n|0}else{n=i[f+(k[h>>2]|0)>>0]|0;u=o;return n|0}return 0}function IU(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;b=i+24|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[c>>2]=a;a=k[c>>2]|0;if((k[c>>2]|0)>>>0<128){k[b>>2]=(k[8820+(a>>5<<2)>>2]&1<<(k[c>>2]&31)|0)==0&1;h=k[b>>2]|0;u=i;return h|0}if(a>>>0>=4194304){k[b>>2]=1;h=k[b>>2]|0;u=i;return h|0}k[d>>2]=k[c>>2]<<10|1023;k[e>>2]=0;k[f>>2]=405;k[g>>2]=0;while(1){if((k[f>>2]|0)<(k[g>>2]|0))break;k[h>>2]=((k[f>>2]|0)+(k[g>>2]|0)|0)/2|0;a=k[h>>2]|0;if((k[d>>2]|0)>>>0>=(k[8836+(k[h>>2]<<2)>>2]|0)>>>0){k[e>>2]=a;k[g>>2]=(k[h>>2]|0)+1;continue}else{k[f>>2]=a-1;continue}}k[b>>2]=(k[c>>2]|0)>>>0>=(((k[8836+(k[e>>2]<<2)>>2]|0)>>>10)+(k[8836+(k[e>>2]<<2)>>2]&1023)|0)>>>0&1;h=k[b>>2]|0;u=i;return h|0}function JU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;d=j+24|0;c=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[c>>2]=a;k[e>>2]=b;a:do if((k[(k[c>>2]|0)+140>>2]|0)>0){k[f>>2]=k[(k[c>>2]|0)+144>>2];k[g>>2]=0;k[h>>2]=(k[(k[c>>2]|0)+140>>2]|0)-1;while(1){if((k[h>>2]|0)<(k[g>>2]|0))break a;k[i>>2]=((k[h>>2]|0)+(k[g>>2]|0)|0)/2|0;if((k[e>>2]|0)==(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0))break;a=k[i>>2]|0;if((k[e>>2]|0)>(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0)){k[g>>2]=a+1;continue}else{k[h>>2]=a-1;continue}}k[d>>2]=1;i=k[d>>2]|0;u=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;u=j;return i|0}function KU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;n=s+44|0;d=s+40|0;o=s+36|0;p=s+32|0;e=s+28|0;q=s+24|0;r=s+20|0;f=s+16|0;g=s+12|0;h=s+8|0;j=s+4|0;m=s;k[n>>2]=a;k[d>>2]=b;k[o>>2]=c;k[p>>2]=0;c=q$(k[d>>2]|0)|0;k[e>>2]=c;if((k[e>>2]|0)<=0){r=k[p>>2]|0;u=s;return r|0}c=fg(k[(k[n>>2]|0)+144>>2]|0,(k[e>>2]|0)+(k[(k[n>>2]|0)+140>>2]|0)<<2)|0;k[q>>2]=c;if(!(k[q>>2]|0)){k[p>>2]=7;r=k[p>>2]|0;u=s;return r|0}k[r>>2]=k[(k[n>>2]|0)+140>>2];k[f>>2]=k[d>>2];k[g>>2]=(k[d>>2]|0)+(k[e>>2]|0);while(1){if((k[f>>2]|0)>>>0>=(k[g>>2]|0)>>>0)break;e=k[f>>2]|0;k[f>>2]=e+1;k[h>>2]=l[e>>0];do if((k[h>>2]|0)>=192){k[h>>2]=l[22127+((k[h>>2]|0)-192)>>0];while(1){if((k[f>>2]|0)!=(k[g>>2]|0))a=((l[k[f>>2]>>0]|0)&192|0)==128;else a=0;b=k[h>>2]|0;if(!a)break;e=k[f>>2]|0;k[f>>2]=e+1;k[h>>2]=(b<<6)+(63&(l[e>>0]|0))}if(((b|0)>=128?(k[h>>2]&-2048|0)!=55296:0)?(k[h>>2]&-2|0)!=65534:0)break;k[h>>2]=65533}while(0);if((k[h>>2]|0)<128){i[(k[n>>2]|0)+(k[h>>2]|0)>>0]=k[o>>2];continue}e=IU(k[h>>2]|0)|0;k[j>>2]=e;if((k[j>>2]|0)==(k[o>>2]|0))continue;if(FU(k[h>>2]|0)|0)continue;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[r>>2]|0))break;if((k[(k[q>>2]|0)+(k[m>>2]<<2)>>2]|0)>(k[h>>2]|0))break;k[m>>2]=(k[m>>2]|0)+1}u0((k[q>>2]|0)+((k[m>>2]|0)+1<<2)|0,(k[q>>2]|0)+(k[m>>2]<<2)|0,(k[r>>2]|0)-(k[m>>2]|0)<<2|0)|0;k[(k[q>>2]|0)+(k[m>>2]<<2)>>2]=k[h>>2];k[r>>2]=(k[r>>2]|0)+1}k[(k[n>>2]|0)+144>>2]=k[q>>2];k[(k[n>>2]|0)+140>>2]=k[r>>2];r=k[p>>2]|0;u=s;return r|0}function LU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=u;u=u+208|0;C=L+192|0;D=L+188|0;E=L+184|0;M=L+180|0;F=L+176|0;H=L+112|0;I=L+108|0;g=L+104|0;h=L+100|0;i=L+96|0;j=L+92|0;l=L+88|0;m=L+84|0;J=L+80|0;n=L+76|0;o=L+72|0;p=L+68|0;q=L+64|0;K=L+44|0;r=L+40|0;f=L+36|0;s=L+32|0;t=L+28|0;v=L+24|0;w=L+20|0;x=L+16|0;y=L+12|0;z=L+8|0;A=L+4|0;B=L;k[C>>2]=a;k[D>>2]=b;k[E>>2]=c;k[M>>2]=d;k[F>>2]=e;k[I>>2]=0;k[j>>2]=0;k[o>>2]=0;k[p>>2]=0;k[q>>2]=0;if((k[M>>2]|0)!=5){k[f>>2]=45572;bi(k[E>>2]|0,k[f>>2]|0,-1);u=L;return}a=Rb[k[(k[C>>2]|0)+8>>2]&255](k[D>>2]|0)|0;k[r>>2]=a;a=H;b=a+64|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));M=_i(k[k[F>>2]>>2]|0)|0;k[g>>2]=M;M=$h(k[(k[F>>2]|0)+4>>2]|0)|0;k[H+40>>2]=M;M=$h(k[(k[F>>2]|0)+8>>2]|0)|0;k[H+44>>2]=M;M=$h(k[(k[F>>2]|0)+12>>2]|0)|0;k[h>>2]=M;M=_i(k[(k[F>>2]|0)+16>>2]|0)|0;k[i>>2]=M;k[n>>2]=(k[g>>2]|0)>=0?k[g>>2]|0:0;M=Rb[k[(k[C>>2]|0)+24>>2]&255](k[D>>2]|0)|0;k[m>>2]=M;M=ze(k[m>>2]|0)|0;k[J>>2]=M;if(!(k[J>>2]|0))k[I>>2]=7;if(!(k[I>>2]|0)){M=Wb[k[(k[C>>2]|0)+32>>2]&255](k[D>>2]|0,j)|0;k[I>>2]=M};k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;k[K+16>>2]=0;k[l>>2]=0;a:while(1){if((k[l>>2]|0)>=(k[r>>2]|0))break;if(!((k[g>>2]|0)>=0?(k[g>>2]|0)!=(k[l>>2]|0):0))G=11;b:do if((G|0)==11){G=0;k[K>>2]=0;k[K+8>>2]=0;M=Ub[k[(k[C>>2]|0)+44>>2]&255](k[D>>2]|0,k[l>>2]|0,K+16|0,s)|0;k[I>>2]=M;if(k[I>>2]|0)break a;M=Xb[k[(k[C>>2]|0)+20>>2]&255](k[D>>2]|0,k[K+16>>2]|0,k[s>>2]|0,K,149)|0;k[I>>2]=M;if(k[I>>2]|0)break a;M=Lb[k[(k[C>>2]|0)+48>>2]&255](k[D>>2]|0,k[l>>2]|0,t)|0;k[I>>2]=M;if(k[I>>2]|0)break a;k[v>>2]=0;while(1){if(k[I>>2]|0)break b;if((k[v>>2]|0)>=(k[j>>2]|0))break b;M=Xb[k[(k[C>>2]|0)+36>>2]&255](k[D>>2]|0,k[v>>2]|0,w,x,y)|0;k[I>>2]=M;do if(!(k[I>>2]|0?1:(k[x>>2]|0)!=(k[l>>2]|0))){w0(k[J>>2]|0,0,k[m>>2]|0)|0;M=VU(k[C>>2]|0,k[D>>2]|0,k[t>>2]|0,k[J>>2]|0,k[l>>2]|0,k[y>>2]|0,k[i>>2]|0,A,z)|0;k[I>>2]=M;if((k[I>>2]|0)==0?(k[A>>2]|0)>(k[p>>2]|0):0){k[p>>2]=k[A>>2];k[n>>2]=k[l>>2];k[o>>2]=k[z>>2];k[q>>2]=k[t>>2]}if(((k[I>>2]|0)==0?k[K+8>>2]|0:0)?(k[t>>2]|0)>(k[i>>2]|0):0){k[B>>2]=0;while(1){if((k[B>>2]|0)>=((k[K+8>>2]|0)-1|0))break;if((k[(k[K+12>>2]|0)+((k[B>>2]|0)+1<<2)>>2]|0)>(k[y>>2]|0))break;k[B>>2]=(k[B>>2]|0)+1}if((k[(k[K+12>>2]|0)+(k[B>>2]<<2)>>2]|0)<(k[y>>2]|0)){w0(k[J>>2]|0,0,k[m>>2]|0)|0;M=VU(k[C>>2]|0,k[D>>2]|0,k[t>>2]|0,k[J>>2]|0,k[l>>2]|0,k[(k[K+12>>2]|0)+(k[B>>2]<<2)>>2]|0,k[i>>2]|0,A,0)|0;k[I>>2]=M;k[A>>2]=(k[A>>2]|0)+((k[(k[K+12>>2]|0)+(k[B>>2]<<2)>>2]|0)==0?120:100);if(k[I>>2]|0)break;if((k[A>>2]|0)<=(k[p>>2]|0))break;k[p>>2]=k[A>>2];k[n>>2]=k[l>>2];k[o>>2]=k[(k[K+12>>2]|0)+(k[B>>2]<<2)>>2];k[q>>2]=k[t>>2]}}}while(0);k[v>>2]=(k[v>>2]|0)+1}}while(0);k[l>>2]=(k[l>>2]|0)+1}if(!(k[I>>2]|0)){M=Ub[k[(k[C>>2]|0)+44>>2]&255](k[D>>2]|0,k[n>>2]|0,H+48|0,H+52|0)|0;k[I>>2]=M}if((k[I>>2]|0)==0&(k[q>>2]|0)==0){M=Lb[k[(k[C>>2]|0)+48>>2]&255](k[D>>2]|0,k[n>>2]|0,q)|0;k[I>>2]=M}do if(k[H+48>>2]|0){if(!(k[I>>2]|0)){M=QU(k[C>>2]|0,k[D>>2]|0,k[n>>2]|0,H)|0;k[I>>2]=M}k[H+32>>2]=k[o>>2];k[H+36>>2]=(k[o>>2]|0)+(k[i>>2]|0)-1;if((k[o>>2]|0)>0)SU(I,H,k[h>>2]|0,-1);while(1){if((k[H+20>>2]|0)<0)break;if(!((k[I>>2]|0)==0?(k[H+20>>2]|0)<(k[o>>2]|0):0))break;M=TU(H)|0;k[I>>2]=M}if(!(k[I>>2]|0)){M=Xb[k[(k[C>>2]|0)+20>>2]&255](k[D>>2]|0,k[H+48>>2]|0,k[H+52>>2]|0,H,150)|0;k[I>>2]=M}if((k[H+36>>2]|0)>=((k[q>>2]|0)-1|0)){SU(I,H,(k[H+48>>2]|0)+(k[H+56>>2]|0)|0,(k[H+52>>2]|0)-(k[H+56>>2]|0)|0);break}else{SU(I,H,k[h>>2]|0,-1);break}}while(0);a=k[E>>2]|0;if(!(k[I>>2]|0))Hi(a,k[H+60>>2]|0,-1,-1);else ej(a,k[I>>2]|0);ie(k[H+60>>2]|0);ie(k[J>>2]|0);ie(k[K+12>>2]|0);u=L;return}function MU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+112|0;j=o+96|0;l=o+92|0;m=o+88|0;p=o+84|0;n=o+80|0;g=o+16|0;h=o+8|0;i=o+4|0;f=o;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[p>>2]=d;k[n>>2]=e;if((k[p>>2]|0)!=3){k[f>>2]=48956;bi(k[m>>2]|0,k[f>>2]|0,-1);u=o;return}a=_i(k[k[n>>2]>>2]|0)|0;k[i>>2]=a;a=g;b=a+64|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));p=$h(k[(k[n>>2]|0)+4>>2]|0)|0;k[g+40>>2]=p;p=$h(k[(k[n>>2]|0)+8>>2]|0)|0;k[g+44>>2]=p;p=Ub[k[(k[j>>2]|0)+44>>2]&255](k[l>>2]|0,k[i>>2]|0,g+48|0,g+52|0)|0;k[h>>2]=p;if(k[g+48>>2]|0){if(!(k[h>>2]|0)){p=QU(k[j>>2]|0,k[l>>2]|0,k[i>>2]|0,g)|0;k[h>>2]=p}if(!(k[h>>2]|0)){p=Xb[k[(k[j>>2]|0)+20>>2]&255](k[l>>2]|0,k[g+48>>2]|0,k[g+52>>2]|0,g,150)|0;k[h>>2]=p}SU(h,g,(k[g+48>>2]|0)+(k[g+56>>2]|0)|0,(k[g+52>>2]|0)-(k[g+56>>2]|0)|0);if(!(k[h>>2]|0))Hi(k[m>>2]|0,k[g+60>>2]|0,-1,-1);ie(k[g+60>>2]|0)}if(!(k[h>>2]|0)){u=o;return}ej(k[m>>2]|0,k[h>>2]|0);u=o;return}function NU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+96|0;s=A+92|0;t=A+88|0;v=A+84|0;w=A+80|0;x=A+76|0;y=A+72|0;z=A+16|0;g=A+68|0;h=A+64|0;i=A+60|0;j=A+8|0;l=A+56|0;m=A+52|0;n=A+48|0;o=A+44|0;q=A;r=A+40|0;k[s>>2]=a;k[t>>2]=b;k[v>>2]=c;k[w>>2]=d;k[x>>2]=e;p[A+32>>3]=1.2;p[A+24>>3]=.75;k[y>>2]=0;p[z>>3]=0.0;k[i>>2]=0;p[j>>3]=0.0;k[l>>2]=0;e=OU(k[s>>2]|0,k[t>>2]|0,g)|0;k[y>>2]=e;if(!(k[y>>2]|0)){k[l>>2]=k[(k[g>>2]|0)+20>>2];w0(k[l>>2]|0,0,k[k[g>>2]>>2]<<3|0)|0;e=Wb[k[(k[s>>2]|0)+32>>2]&255](k[t>>2]|0,i)|0;k[y>>2]=e}k[h>>2]=0;while(1){if(k[y>>2]|0)break;if((k[h>>2]|0)>=(k[i>>2]|0))break;e=Xb[k[(k[s>>2]|0)+36>>2]&255](k[t>>2]|0,k[h>>2]|0,m,n,o)|0;k[y>>2]=e;if(!(k[y>>2]|0)){if((k[w>>2]|0)>(k[n>>2]|0))f=+Ri(k[(k[x>>2]|0)+(k[n>>2]<<2)>>2]|0);else f=1.0;p[q>>3]=f;e=(k[l>>2]|0)+(k[m>>2]<<3)|0;p[e>>3]=+p[e>>3]+ +p[q>>3]}k[h>>2]=(k[h>>2]|0)+1}if(!(k[y>>2]|0)){x=Lb[k[(k[s>>2]|0)+48>>2]&255](k[t>>2]|0,-1,r)|0;k[y>>2]=x;p[j>>3]=+(k[r>>2]|0)}k[h>>2]=0;while(1){if(k[y>>2]|0)break;if((k[h>>2]|0)>=(k[k[g>>2]>>2]|0))break;p[z>>3]=+p[z>>3]+ +p[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<3)>>3]*(+p[(k[l>>2]|0)+(k[h>>2]<<3)>>3]*2.2/(+p[(k[l>>2]|0)+(k[h>>2]<<3)>>3]+(+p[j>>3]*.75/+p[(k[g>>2]|0)+8>>3]+.25)*1.2));k[h>>2]=(k[h>>2]|0)+1}a=k[v>>2]|0;if(!(k[y>>2]|0)){Mi(a,+p[z>>3]*-1.0);u=A;return}else{ej(a,k[y>>2]|0);u=A;return}}function OU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0.0;r=u;u=u+64|0;i=r+60|0;j=r+56|0;l=r+52|0;m=r+48|0;n=r+44|0;o=r+40|0;q=r+24|0;d=r+16|0;e=r+36|0;f=r+32|0;g=r+8|0;h=r;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=0;c=Wb[k[(k[i>>2]|0)+60>>2]&255](k[j>>2]|0,0)|0;k[n>>2]=c;if(k[n>>2]|0){o=k[n>>2]|0;q=k[l>>2]|0;k[q>>2]=o;q=k[m>>2]|0;u=r;return q|0}c=q;k[c>>2]=0;k[c+4>>2]=0;c=d;k[c>>2]=0;k[c+4>>2]=0;c=Rb[k[(k[i>>2]|0)+24>>2]&255](k[j>>2]|0)|0;k[o>>2]=c;k[e>>2]=24+(k[o>>2]<<1<<3);c=ze(k[e>>2]|0)|0;k[n>>2]=c;if(!(k[n>>2]|0))k[m>>2]=7;else{w0(k[n>>2]|0,0,k[e>>2]|0)|0;k[k[n>>2]>>2]=k[o>>2];k[(k[n>>2]|0)+16>>2]=(k[n>>2]|0)+24;k[(k[n>>2]|0)+20>>2]=(k[(k[n>>2]|0)+16>>2]|0)+(k[o>>2]<<3)}if(!(k[m>>2]|0)){c=Wb[k[(k[i>>2]|0)+12>>2]&255](k[j>>2]|0,q)|0;k[m>>2]=c}if(!(k[m>>2]|0)){c=Lb[k[(k[i>>2]|0)+16>>2]&255](k[j>>2]|0,-1,d)|0;k[m>>2]=c}if(!(k[m>>2]|0)){e=d;c=q;p[(k[n>>2]|0)+8>>3]=(+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0))/(+((k[c>>2]|0)>>>0)+4294967296.0*+(k[c+4>>2]|0))}k[f>>2]=0;while(1){if(k[m>>2]|0)break;if((k[f>>2]|0)>=(k[o>>2]|0))break;c=g;k[c>>2]=0;k[c+4>>2]=0;c=Ub[k[(k[i>>2]|0)+52>>2]&255](k[j>>2]|0,k[f>>2]|0,g,168)|0;k[m>>2]=c;if(!(k[m>>2]|0)){c=q;e=g;e=h0(k[c>>2]|0,k[c+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=g;s=+Z(+((+(e>>>0)+4294967296.0*+(M|0)+.5)/(+((k[c>>2]|0)>>>0)+4294967296.0*+(k[c+4>>2]|0)+.5)));p[h>>3]=s;if(+p[h>>3]<=0.0)p[h>>3]=1.0e-06;p[(k[(k[n>>2]|0)+16>>2]|0)+(k[f>>2]<<3)>>3]=+p[h>>3]}k[f>>2]=(k[f>>2]|0)+1}if(k[m>>2]|0)ie(k[n>>2]|0);else{q=Lb[k[(k[i>>2]|0)+56>>2]&255](k[j>>2]|0,k[n>>2]|0,157)|0;k[m>>2]=q}if(!(k[m>>2]|0)){o=k[n>>2]|0;q=k[l>>2]|0;k[q>>2]=o;q=k[m>>2]|0;u=r;return q|0}k[n>>2]=0;o=k[n>>2]|0;q=k[l>>2]|0;k[q>>2]=o;q=k[m>>2]|0;u=r;return q|0}function PU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=u;u=u+16|0;f=d+4|0;e=d;k[d+12>>2]=a;k[d+8>>2]=b;k[f>>2]=c;k[e>>2]=k[f>>2];c=k[e>>2]|0;b=c;b=i0(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[c>>2]=b;k[c+4>>2]=M;u=d;return 0}function QU(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=u;u=u+32|0;i=g+16|0;h=g+12|0;j=g+8|0;e=g+4|0;f=g;k[i>>2]=a;k[h>>2]=b;k[j>>2]=c;k[e>>2]=d;d=k[e>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[k[e>>2]>>2]=k[i>>2];k[(k[e>>2]|0)+4>>2]=k[h>>2];k[(k[e>>2]|0)+8>>2]=k[j>>2];d=Wb[k[(k[i>>2]|0)+32>>2]&255](k[h>>2]|0,(k[e>>2]|0)+16|0)|0;k[f>>2]=d;if(k[f>>2]|0){j=k[f>>2]|0;u=g;return j|0}j=TU(k[e>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;u=g;return j|0}function RU(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+48|0;m=n+36|0;p=n+32|0;o=n+28|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;l=n;k[p>>2]=a;k[o>>2]=b;k[n+24>>2]=c;k[n+20>>2]=d;k[g>>2]=e;k[h>>2]=f;k[i>>2]=k[p>>2];k[j>>2]=0;if(k[o>>2]&1|0){k[m>>2]=0;p=k[m>>2]|0;u=n;return p|0}o=(k[i>>2]|0)+28|0;p=k[o>>2]|0;k[o>>2]=p+1;k[l>>2]=p;do if((k[(k[i>>2]|0)+36>>2]|0)>0){if((k[l>>2]|0)>=(k[(k[i>>2]|0)+32>>2]|0)?(k[l>>2]|0)<=(k[(k[i>>2]|0)+36>>2]|0):0){if(!(k[(k[i>>2]|0)+32>>2]|0))break;if((k[l>>2]|0)!=(k[(k[i>>2]|0)+32>>2]|0))break;k[(k[i>>2]|0)+56>>2]=k[g>>2];break}k[m>>2]=0;p=k[m>>2]|0;u=n;return p|0}while(0);if((k[l>>2]|0)==(k[(k[i>>2]|0)+20>>2]|0)){SU(j,k[i>>2]|0,(k[(k[i>>2]|0)+48>>2]|0)+(k[(k[i>>2]|0)+56>>2]|0)|0,(k[g>>2]|0)-(k[(k[i>>2]|0)+56>>2]|0)|0);SU(j,k[i>>2]|0,k[(k[i>>2]|0)+40>>2]|0,-1);k[(k[i>>2]|0)+56>>2]=k[g>>2]}if((k[l>>2]|0)==(k[(k[i>>2]|0)+24>>2]|0)){if(k[(k[i>>2]|0)+36>>2]|0?(k[(k[i>>2]|0)+20>>2]|0)<(k[(k[i>>2]|0)+32>>2]|0):0)SU(j,k[i>>2]|0,k[(k[i>>2]|0)+40>>2]|0,-1);SU(j,k[i>>2]|0,(k[(k[i>>2]|0)+48>>2]|0)+(k[(k[i>>2]|0)+56>>2]|0)|0,(k[h>>2]|0)-(k[(k[i>>2]|0)+56>>2]|0)|0);SU(j,k[i>>2]|0,k[(k[i>>2]|0)+44>>2]|0,-1);k[(k[i>>2]|0)+56>>2]=k[h>>2];if(!(k[j>>2]|0)){p=TU(k[i>>2]|0)|0;k[j>>2]=p}}if((((k[(k[i>>2]|0)+36>>2]|0)>0?(k[l>>2]|0)==(k[(k[i>>2]|0)+36>>2]|0):0)?(SU(j,k[i>>2]|0,(k[(k[i>>2]|0)+48>>2]|0)+(k[(k[i>>2]|0)+56>>2]|0)|0,(k[h>>2]|0)-(k[(k[i>>2]|0)+56>>2]|0)|0),k[(k[i>>2]|0)+56>>2]=k[h>>2],(k[l>>2]|0)>=(k[(k[i>>2]|0)+20>>2]|0)):0)?(k[l>>2]|0)<(k[(k[i>>2]|0)+24>>2]|0):0)SU(j,k[i>>2]|0,k[(k[i>>2]|0)+44>>2]|0,-1);k[m>>2]=k[j>>2];p=k[m>>2]|0;u=n;return p|0}function SU(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j;e=j+24|0;f=j+20|0;g=j+16|0;h=j+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[e>>2]>>2]|0){u=j;return}if((k[h>>2]|0)<0){d=q$(k[g>>2]|0)|0;k[h>>2]=d}d=k[h>>2]|0;h=k[g>>2]|0;k[i>>2]=k[(k[f>>2]|0)+60>>2];k[i+4>>2]=d;k[i+8>>2]=h;i=xf(49006,i)|0;k[(k[f>>2]|0)+60>>2]=i;if(k[(k[f>>2]|0)+60>>2]|0){u=j;return}k[k[e>>2]>>2]=7;u=j;return}function TU(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+20|0;h=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[c>>2]=a;k[h>>2]=0;k[(k[c>>2]|0)+20>>2]=-1;k[(k[c>>2]|0)+24>>2]=-1;a:while(1){if(k[h>>2]|0){a=12;break}if((k[(k[c>>2]|0)+12>>2]|0)>=(k[(k[c>>2]|0)+16>>2]|0)){a=12;break}b=Xb[k[(k[k[c>>2]>>2]|0)+36>>2]&255](k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+12>>2]|0,d,e,f)|0;k[h>>2]=b;if(k[h>>2]|0)continue;do if((k[e>>2]|0)==(k[(k[c>>2]|0)+8>>2]|0)){a=(k[f>>2]|0)-1|0;a=a+(Wb[k[(k[k[c>>2]>>2]|0)+28>>2]&255](k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0)|0)|0;k[g>>2]=a;a=k[f>>2]|0;b=k[c>>2]|0;if((k[(k[c>>2]|0)+20>>2]|0)<0){k[b+20>>2]=a;k[(k[c>>2]|0)+24>>2]=k[g>>2];break}if((a|0)>(k[b+24>>2]|0)){a=12;break a}if((k[g>>2]|0)>(k[(k[c>>2]|0)+24>>2]|0))k[(k[c>>2]|0)+24>>2]=k[g>>2]}while(0);b=(k[c>>2]|0)+12|0;k[b>>2]=(k[b>>2]|0)+1}if((a|0)==12){u=i;return k[h>>2]|0}return 0}function UU(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+48|0;n=o+32|0;p=o+28|0;g=o+16|0;h=o+8|0;j=o+4|0;l=o;m=o+36|0;k[n>>2]=a;k[p>>2]=b;k[o+24>>2]=c;k[o+20>>2]=d;k[g>>2]=e;k[o+12>>2]=f;k[h>>2]=0;if(k[p>>2]&1|0){p=k[h>>2]|0;u=o;return p|0}k[j>>2]=k[n>>2];do if((k[k[j>>2]>>2]|0)>0){i[m>>0]=0;k[l>>2]=(k[g>>2]|0)-1;while(1){if((k[l>>2]|0)<0)break;i[m>>0]=i[(k[(k[j>>2]|0)+16>>2]|0)+(k[l>>2]|0)>>0]|0;if((((i[m>>0]|0)!=32?(i[m>>0]|0)!=9:0)?(i[m>>0]|0)!=10:0)?(i[m>>0]|0)!=13:0)break;k[l>>2]=(k[l>>2]|0)+-1}if((k[l>>2]|0)!=((k[g>>2]|0)-1|0)){if((i[m>>0]|0)!=46?(i[m>>0]|0)!=58:0)break;p=WU(k[j>>2]|0,k[k[j>>2]>>2]|0)|0;k[h>>2]=p}}else{p=WU(k[j>>2]|0,0)|0;k[h>>2]=p}while(0);p=k[j>>2]|0;k[p>>2]=(k[p>>2]|0)+1;p=k[h>>2]|0;u=o;return p|0}function VU(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+80|0;F=G+72|0;m=G+68|0;n=G+64|0;o=G+60|0;p=G+56|0;q=G+52|0;r=G+48|0;s=G+44|0;t=G+40|0;v=G+36|0;w=G+32|0;x=G+28|0;y=G+24|0;z=G+20|0;A=G+16|0;B=G+12|0;C=G+8|0;D=G+4|0;E=G;k[F>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[q>>2]=f;k[r>>2]=g;k[s>>2]=h;k[t>>2]=j;k[x>>2]=0;k[y>>2]=0;k[z>>2]=0;k[A>>2]=-1;k[C>>2]=0;k[D>>2]=0;j=Wb[k[(k[F>>2]|0)+32>>2]&255](k[m>>2]|0,B)|0;k[v>>2]=j;k[w>>2]=0;while(1){if(!((k[w>>2]|0)<(k[B>>2]|0)?(k[v>>2]|0)==0:0))break;j=Xb[k[(k[F>>2]|0)+36>>2]&255](k[m>>2]|0,k[w>>2]|0,x,y,z)|0;k[v>>2]=j;if((((k[v>>2]|0)==0?(k[y>>2]|0)==(k[p>>2]|0):0)?(k[z>>2]|0)>=(k[q>>2]|0):0)?(k[z>>2]|0)<((k[q>>2]|0)+(k[r>>2]|0)|0):0){k[C>>2]=(k[C>>2]|0)+(l[(k[o>>2]|0)+(k[x>>2]|0)>>0]|0|0?1:1e3);i[(k[o>>2]|0)+(k[x>>2]|0)>>0]=1;if((k[A>>2]|0)<0)k[A>>2]=k[z>>2];j=k[z>>2]|0;j=j+(Wb[k[(k[F>>2]|0)+28>>2]&255](k[m>>2]|0,k[x>>2]|0)|0)|0;k[D>>2]=j}k[w>>2]=(k[w>>2]|0)+1}k[k[s>>2]>>2]=k[C>>2];if(!(k[t>>2]|0)){F=k[v>>2]|0;u=G;return F|0}k[E>>2]=(k[A>>2]|0)-(((k[r>>2]|0)-((k[D>>2]|0)-(k[A>>2]|0))|0)/2|0);if(((k[E>>2]|0)+(k[r>>2]|0)|0)>(k[n>>2]|0))k[E>>2]=(k[n>>2]|0)-(k[r>>2]|0);if((k[E>>2]|0)<0)k[E>>2]=0;k[k[t>>2]>>2]=k[E>>2];F=k[v>>2]|0;u=G;return F|0}function WU(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;do if((k[(k[d>>2]|0)+4>>2]|0)==(k[(k[d>>2]|0)+8>>2]|0)){if(k[(k[d>>2]|0)+4>>2]|0)a=k[(k[d>>2]|0)+4>>2]<<1;else a=64;k[f>>2]=a;b=fg(k[(k[d>>2]|0)+12>>2]|0,k[f>>2]<<2)|0;k[g>>2]=b;if(k[g>>2]|0){k[(k[d>>2]|0)+12>>2]=k[g>>2];k[(k[d>>2]|0)+4>>2]=k[f>>2];break}k[c>>2]=7;g=k[c>>2]|0;u=h;return g|0}while(0);e=k[e>>2]|0;f=k[(k[d>>2]|0)+12>>2]|0;d=(k[d>>2]|0)+8|0;g=k[d>>2]|0;k[d>>2]=g+1;k[f+(g<<2)>>2]=e;k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}function XU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;$U(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0);u=d;return}function YU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;$U(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,1);u=d;return}function ZU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;if((k[h>>2]|0)!=1){bi(k[d>>2]|0,49108,-1);u=g;return}else{h=_i(k[k[e>>2]>>2]|0)|0;k[f>>2]=h;h=k[d>>2]|0;fi(h,IU(k[f>>2]|0)|0);u=g;return}}function _U(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)!=1&(k[e>>2]|0)!=2){bi(k[d>>2]|0,49060,-1);u=i;return}k[h>>2]=0;c=_i(k[k[f>>2]>>2]|0)|0;k[g>>2]=c;if((k[e>>2]|0)==2){f=_i(k[(k[f>>2]|0)+4>>2]|0)|0;k[h>>2]=f}f=k[d>>2]|0;fi(f,GU(k[g>>2]|0,k[h>>2]|0)|0);u=i;return} +function $U(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+80|0;o=z+8|0;e=z;r=z+76|0;j=z+72|0;l=z+68|0;s=z+64|0;m=z+60|0;n=z+56|0;f=z+52|0;t=z+48|0;v=z+44|0;w=z+40|0;g=z+36|0;x=z+32|0;p=z+28|0;h=z+24|0;y=z+20|0;i=z+16|0;q=z+12|0;k[r>>2]=a;k[j>>2]=b;k[l>>2]=c;k[s>>2]=d;a=_h(k[r>>2]|0)|0;k[m>>2]=a;a=Zh(k[r>>2]|0)|0;k[n>>2]=a;k[f>>2]=0;k[t>>2]=0;k[v>>2]=0;k[p>>2]=49159;k[y>>2]=0;k[i>>2]=1;a=(k[s>>2]|0)!=0;if((k[j>>2]|0)<1){k[e>>2]=a?49023:49013;y=xf(49167,e)|0;k[t>>2]=y;bi(k[r>>2]|0,k[t>>2]|0,-1);ie(k[t>>2]|0);u=z;return}if(a&(k[j>>2]|0)>1){e=$h(k[(k[l>>2]|0)+4>>2]|0)|0;k[p>>2]=e;k[i>>2]=2}k[h>>2]=3+((k[j>>2]|0)-(k[i>>2]|0));e=ze(k[h>>2]<<2)|0;k[x>>2]=e;if(!(k[x>>2]|0)){Gi(k[r>>2]|0);u=z;return}k[k[x>>2]>>2]=0;k[(k[x>>2]|0)+4>>2]=42567;k[(k[x>>2]|0)+8>>2]=30152;k[g>>2]=3;while(1){a=k[l>>2]|0;if((k[i>>2]|0)>=(k[j>>2]|0))break;c=$h(k[a+(k[i>>2]<<2)>>2]|0)|0;d=k[x>>2]|0;e=k[g>>2]|0;k[g>>2]=e+1;k[d+(e<<2)>>2]=c;k[i>>2]=(k[i>>2]|0)+1}l=$h(k[a>>2]|0)|0;k[f>>2]=l;n=aV(k[m>>2]|0,k[n>>2]|0,k[h>>2]|0,k[x>>2]|0,y,t)|0;k[w>>2]=n;if(!(k[w>>2]|0)){n=bV(k[y>>2]|0,k[f>>2]|0,v,t)|0;k[w>>2]=n}do if(!(k[w>>2]|0)){do if(k[(k[(k[v>>2]|0)+8>>2]|0)+12>>2]|0){a=k[y>>2]|0;if(k[s>>2]|0){s=cV(a,k[p>>2]|0,k[(k[v>>2]|0)+8>>2]|0)|0;k[q>>2]=s;break}else{s=dV(a,k[(k[v>>2]|0)+8>>2]|0)|0;k[q>>2]=s;break}}else{s=xf(55752,o)|0;k[q>>2]=s}while(0);if(!(k[q>>2]|0)){k[w>>2]=7;break}else{Hi(k[r>>2]|0,k[q>>2]|0,-1,-1);ie(k[q>>2]|0);break}}while(0);do if(k[w>>2]|0){a=k[r>>2]|0;if(k[t>>2]|0){bi(a,k[t>>2]|0,-1);ie(k[t>>2]|0);break}else{ej(a,k[w>>2]|0);break}}while(0);ie(k[x>>2]|0);eV(k[y>>2]|0);fV(k[v>>2]|0);u=z;return}function aV(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+112|0;E=F+16|0;D=F+8|0;C=F;y=F+100|0;z=F+96|0;A=F+92|0;B=F+88|0;g=F+84|0;h=F+80|0;j=F+76|0;l=F+72|0;m=F+68|0;n=F+64|0;o=F+60|0;p=F+56|0;q=F+52|0;r=F+48|0;s=F+44|0;t=F+40|0;v=F+36|0;w=F+32|0;x=F+28|0;k[z>>2]=a;k[A>>2]=b;k[B>>2]=c;k[g>>2]=d;k[h>>2]=e;k[j>>2]=f;k[l>>2]=0;f=ze(100)|0;k[m>>2]=f;k[k[h>>2]>>2]=f;if(!(k[m>>2]|0)){k[y>>2]=7;E=k[y>>2]|0;u=F;return E|0}a=k[m>>2]|0;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[m>>2]>>2]=k[A>>2];k[(k[m>>2]|0)+64>>2]=-1;k[o>>2]=(k[B>>2]|0)*5;A=nT(l,k[o>>2]|0)|0;k[(k[m>>2]|0)+16>>2]=A;k[(k[m>>2]|0)+20>>2]=(k[(k[m>>2]|0)+16>>2]|0)+(k[B>>2]<<2);A=dU(l,k[(k[g>>2]|0)+4>>2]|0,-1)|0;k[(k[m>>2]|0)+4>>2]=A;A=dU(l,k[(k[g>>2]|0)+8>>2]|0,-1)|0;k[(k[m>>2]|0)+8>>2]=A;k[(k[m>>2]|0)+44>>2]=1;k[(k[m>>2]|0)+48>>2]=0;if((k[l>>2]|0)==0?(ul(k[(k[m>>2]|0)+8>>2]|0,48062)|0)==0:0){k[C>>2]=k[(k[m>>2]|0)+8>>2];C=xf(49850,C)|0;k[k[j>>2]>>2]=C;k[l>>2]=1}k[n>>2]=3;while(1){if(k[l>>2]|0)break;if((k[n>>2]|0)>=(k[B>>2]|0))break;k[p>>2]=k[(k[g>>2]|0)+(k[n>>2]<<2)>>2];k[r>>2]=0;k[s>>2]=0;k[t>>2]=0;k[v>>2]=0;C=vW(l,k[p>>2]|0,r,v)|0;k[q>>2]=C;C=RT(k[q>>2]|0)|0;k[q>>2]=C;if(k[q>>2]|0?(i[k[q>>2]>>0]|0)==61:0){k[t>>2]=1;C=(k[q>>2]|0)+1|0;k[q>>2]=C;k[q>>2]=k[v>>2]|0?0:C}C=RT(k[q>>2]|0)|0;k[q>>2]=C;if(((k[q>>2]|0?i[k[q>>2]>>0]|0:0)?(C=vW(l,k[q>>2]|0,s,w)|0,k[q>>2]=C,k[q>>2]|0):0)?i[k[q>>2]>>0]|0:0)k[q>>2]=0;do if(!(k[l>>2]|0)){if(!(k[q>>2]|0)){k[D>>2]=k[p>>2];C=xf(49879,D)|0;k[k[j>>2]>>2]=C;k[l>>2]=1;break}if(k[t>>2]|0){C=wW(k[z>>2]|0,k[m>>2]|0,k[r>>2]|0,k[s>>2]|0?k[s>>2]|0:55752,k[j>>2]|0)|0;k[l>>2]=C;break}else{C=xW(k[m>>2]|0,k[r>>2]|0,k[s>>2]|0,k[j>>2]|0)|0;k[l>>2]=C;k[r>>2]=0;break}}while(0);ie(k[r>>2]|0);ie(k[s>>2]|0);k[n>>2]=(k[n>>2]|0)+1}if((k[l>>2]|0)==0?(k[(k[m>>2]|0)+56>>2]|0)==0:0){D=yW(k[z>>2]|0,k[m>>2]|0)|0;k[l>>2]=D}if((k[l>>2]|0)==0?(k[(k[m>>2]|0)+36>>2]|0)==0:0){k[x>>2]=0;if(k[(k[m>>2]|0)+32>>2]|0){if(k[(k[m>>2]|0)+44>>2]|0)k[x>>2]=49899}else k[x>>2]=46221;if(k[x>>2]|0){C=k[(k[m>>2]|0)+8>>2]|0;D=k[x>>2]|0;k[E>>2]=k[(k[m>>2]|0)+4>>2];k[E+4>>2]=C;k[E+8>>2]=D;E=OT(l,49907,E)|0;k[(k[m>>2]|0)+36>>2]=E}}if((k[l>>2]|0)==0?(k[(k[m>>2]|0)+40>>2]|0)==0:0){E=dU(l,26001,-1)|0;k[(k[m>>2]|0)+40>>2]=E}if(!(k[l>>2]|0)){E=zW(k[m>>2]|0)|0;k[l>>2]=E}if(k[l>>2]|0){eV(k[m>>2]|0);k[k[h>>2]>>2]=0}k[y>>2]=k[l>>2];E=k[y>>2]|0;u=F;return E|0}function bV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+96|0;e=r+80|0;m=r+72|0;n=r+68|0;s=r+64|0;o=r+60|0;p=r+56|0;q=r+32|0;f=r+24|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;l=r;k[n>>2]=a;k[s>>2]=b;k[o>>2]=c;k[p>>2]=d;k[g>>2]=k[s>>2];k[k[o>>2]>>2]=0;k[k[p>>2]>>2]=0;k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[q+12>>2]=0;k[q+16>>2]=0;k[q+20>>2]=0;d=mV(219)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[m>>2]=7;s=k[m>>2]|0;u=r;return s|0}k[q>>2]=k[n>>2];do{d=nV(q,g,f)|0;k[h>>2]=d;d=k[i>>2]|0;s=k[h>>2]|0;k[e>>2]=k[f>>2];k[e+4>>2]=k[f+4>>2];oV(d,s,e,q)}while((k[q+8>>2]|0)==0?(k[h>>2]|0)!=0:0);qV(k[i>>2]|0,164);do if(!(k[q+8>>2]|0)){s=ze(24)|0;k[j>>2]=s;k[k[o>>2]>>2]=s;if(!(k[j>>2]|0)){k[q+8>>2]=7;gV(k[q+20>>2]|0);break}if(!(k[q+20>>2]|0)){k[l>>2]=40;s=nT(q+8|0,40)|0;k[(k[j>>2]|0)+8>>2]=s;if(k[(k[j>>2]|0)+8>>2]|0)k[(k[(k[j>>2]|0)+8>>2]|0)+4>>2]=1}else k[(k[j>>2]|0)+8>>2]=k[q+20>>2];k[k[j>>2]>>2]=0;k[(k[j>>2]|0)+4>>2]=k[n>>2];k[(k[j>>2]|0)+20>>2]=k[q+16>>2];k[(k[j>>2]|0)+16>>2]=k[q+12>>2];k[q+16>>2]=0}else gV(k[q+20>>2]|0);while(0);ie(k[q+16>>2]|0);k[k[p>>2]>>2]=k[q+4>>2];k[m>>2]=k[q+8>>2];s=k[m>>2]|0;u=r;return s|0}function cV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=u;u=u+160|0;m=I+96|0;f=I+88|0;E=I+80|0;D=I+72|0;C=I+64|0;B=I+56|0;A=I+48|0;z=I+40|0;y=I+32|0;F=I+24|0;q=I+16|0;p=I+8|0;e=I;G=I+156|0;i=I+152|0;j=I+148|0;l=I+144|0;H=I+140|0;w=I+136|0;x=I+132|0;r=I+128|0;s=I+124|0;o=I+120|0;t=I+116|0;v=I+112|0;d=I+108|0;g=I+104|0;h=I+100|0;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[H>>2]=0;a:do if((k[k[l>>2]>>2]|0)!=11?(k[k[l>>2]>>2]|0)!=4:0){k[d>>2]=0;switch(k[k[l>>2]>>2]|0){case 2:{k[d>>2]=45936;break}case 3:{k[d>>2]=45940;break}default:k[d>>2]=45933}k[f>>2]=k[d>>2];F=xf(21240,f)|0;k[H>>2]=F;k[g>>2]=0;while(1){if(!(k[H>>2]|0))break a;if((k[g>>2]|0)>=(k[(k[l>>2]|0)+28>>2]|0))break a;a=cV(k[i>>2]|0,k[j>>2]|0,k[(k[l>>2]|0)+32+(k[g>>2]<<2)>>2]|0)|0;k[h>>2]=a;a=k[H>>2]|0;if(k[h>>2]|0){k[m>>2]=k[h>>2];F=jV(a,49300,m)|0;k[H>>2]=F}else{ie(a);k[H>>2]=0}k[g>>2]=(k[g>>2]|0)+1}}else n=3;while(0);b:do if((n|0)==3){k[w>>2]=k[(k[l>>2]|0)+24>>2];n=k[H>>2]|0;k[e>>2]=k[j>>2];n=jV(n,49253,e)|0;k[H>>2]=n;if(!(k[H>>2]|0)){k[G>>2]=0;H=k[G>>2]|0;u=I;return H|0}if(k[(k[w>>2]|0)+4>>2]|0){k[s>>2]=(k[(k[w>>2]|0)+4>>2]|0)+4;k[o>>2]=k[k[(k[w>>2]|0)+4>>2]>>2];a=k[H>>2]|0;b=k[k[s>>2]>>2]|0;if((k[o>>2]|0)==1){k[p>>2]=b;F=jV(a,49257,p)|0;k[H>>2]=F}else{k[q>>2]=b;q=jV(a,49266,q)|0;k[H>>2]=q;k[x>>2]=1;while(1){a=k[H>>2]|0;if((k[x>>2]|0)>=(k[k[(k[w>>2]|0)+4>>2]>>2]|0))break;k[F>>2]=k[(k[s>>2]|0)+(k[x>>2]<<2)>>2];q=jV(a,49275,F)|0;k[H>>2]=q;k[x>>2]=(k[x>>2]|0)+1}F=jV(a,49279,y)|0;k[H>>2]=F}if(!(k[H>>2]|0)){k[G>>2]=0;H=k[G>>2]|0;u=I;return H|0}}if((k[(k[w>>2]|0)+8>>2]|0)>1?(F=k[H>>2]|0,k[z>>2]=k[k[w>>2]>>2],F=jV(F,49282,z)|0,k[H>>2]=F,(k[H>>2]|0)==0):0){k[G>>2]=0;H=k[G>>2]|0;u=I;return H|0}F=jV(k[H>>2]|0,49292,A)|0;k[H>>2]=F;if(!(k[H>>2]|0)){k[G>>2]=0;H=k[G>>2]|0;u=I;return H|0}k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[w>>2]|0)+8>>2]|0))break b;k[t>>2]=k[(k[w>>2]|0)+12+(k[x>>2]<<2)>>2];F=jV(k[H>>2]|0,49295,B)|0;k[H>>2]=F;k[r>>2]=0;while(1){if(!(k[H>>2]|0))break;if((k[r>>2]|0)>=(k[(k[t>>2]|0)+16>>2]|0))break;k[v>>2]=k[(k[t>>2]|0)+20+(k[r>>2]<<4)+4>>2];F=k[H>>2]|0;A=k[v>>2]|0;k[C>>2]=(k[r>>2]|0)==0?55752:23021;k[C+4>>2]=A;F=jV(F,23403,C)|0;k[H>>2]=F;if(k[(k[t>>2]|0)+20+(k[r>>2]<<4)>>2]|0){F=jV(k[H>>2]|0,29578,D)|0;k[H>>2]=F}k[r>>2]=(k[r>>2]|0)+1}if(k[H>>2]|0){F=jV(k[H>>2]|0,49298,E)|0;k[H>>2]=F}if(!(k[H>>2]|0))break;k[x>>2]=(k[x>>2]|0)+1}k[G>>2]=0;H=k[G>>2]|0;u=I;return H|0}while(0);k[G>>2]=k[H>>2];H=k[G>>2]|0;u=I;return H|0}function dV(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+128|0;v=A+48|0;t=A+40|0;s=A+32|0;w=A+24|0;e=A+16|0;d=A+8|0;x=A+120|0;n=A+116|0;o=A+112|0;y=A+108|0;p=A+104|0;q=A+100|0;r=A+96|0;c=A+92|0;f=A+88|0;g=A+84|0;h=A+80|0;i=A+76|0;j=A+72|0;l=A+68|0;m=A+64|0;k[n>>2]=a;k[o>>2]=b;k[y>>2]=0;if(!(k[k[o>>2]>>2]|0)){z=xf(49208,A)|0;k[x>>2]=z;z=k[x>>2]|0;u=A;return z|0}a:do if((k[k[o>>2]>>2]|0)!=11?(k[k[o>>2]>>2]|0)!=4:0){k[h>>2]=0;switch(k[k[o>>2]>>2]|0){case 2:{k[h>>2]=34303;break}case 3:{k[h>>2]=49233;break}default:k[h>>2]=49239}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[o>>2]|0)+28>>2]|0))break a;w=dV(k[n>>2]|0,k[(k[o>>2]|0)+32+(k[i>>2]<<2)>>2]|0)|0;k[j>>2]=w;if(!(k[j>>2]|0)){ie(k[y>>2]|0);k[y>>2]=0}else{k[l>>2]=k[k[(k[o>>2]|0)+32+(k[i>>2]<<2)>>2]>>2];if((k[l>>2]|0)!=11&(k[l>>2]|0)!=4)a=(k[l>>2]|0)!=0;else a=0;k[m>>2]=a&1;w=k[y>>2]|0;r=k[m>>2]|0?34324:55752;s=k[j>>2]|0;t=k[m>>2]|0?34322:55752;k[v>>2]=(k[i>>2]|0)==0?55752:k[h>>2]|0;k[v+4>>2]=r;k[v+8>>2]=s;k[v+12>>2]=t;w=jV(w,49244,v)|0;k[y>>2]=w}if(!(k[y>>2]|0))break a;k[i>>2]=(k[i>>2]|0)+1}}else z=5;while(0);do if((z|0)==5){k[p>>2]=k[(k[o>>2]|0)+24>>2];if(k[(k[p>>2]|0)+4>>2]|0?(k[c>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+4>>2],z=k[y>>2]|0,k[d>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+(k[c>>2]<<2)>>2],z=jV(z,49211,d)|0,k[y>>2]=z,(k[y>>2]|0)==0):0){k[x>>2]=0;z=k[x>>2]|0;u=A;return z|0}if((k[(k[p>>2]|0)+8>>2]|0)>1?(z=jV(k[y>>2]|0,49217,e)|0,k[y>>2]=z,(k[y>>2]|0)==0):0){k[x>>2]=0;z=k[x>>2]|0;u=A;return z|0}k[q>>2]=0;b:while(1){a=k[p>>2]|0;if((k[q>>2]|0)>=(k[(k[p>>2]|0)+8>>2]|0)){z=24;break}k[f>>2]=k[a+12+(k[q>>2]<<2)>>2];if(k[q>>2]|0?(z=jV(k[y>>2]|0,23021,w)|0,k[y>>2]=z,(k[y>>2]|0)==0):0){z=15;break}k[r>>2]=0;while(1){if((k[r>>2]|0)>=(k[(k[f>>2]|0)+16>>2]|0))break;z=kV((k[f>>2]|0)+20+(k[r>>2]<<4)|0)|0;k[g>>2]=z;if(k[g>>2]|0){z=k[y>>2]|0;v=k[g>>2]|0;k[s>>2]=(k[r>>2]|0)==0?55752:49223;k[s+4>>2]=v;z=jV(z,23403,s)|0;k[y>>2]=z;ie(k[g>>2]|0)}if((k[g>>2]|0)==0|(k[y>>2]|0)==0){z=21;break b}k[r>>2]=(k[r>>2]|0)+1}k[q>>2]=(k[q>>2]|0)+1}if((z|0)==15){k[x>>2]=0;z=k[x>>2]|0;u=A;return z|0}else if((z|0)==21){ie(k[y>>2]|0);k[x>>2]=0;z=k[x>>2]|0;u=A;return z|0}else if((z|0)==24){if((k[a+8>>2]|0)<=1)break;z=k[y>>2]|0;k[t>>2]=k[k[p>>2]>>2];z=jV(z,49227,t)|0;k[y>>2]=z;if(k[y>>2]|0)break;k[x>>2]=0;z=k[x>>2]|0;u=A;return z|0}}while(0);k[x>>2]=k[y>>2];z=k[x>>2]|0;u=A;return z|0}function eV(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}if(k[(k[b>>2]|0)+56>>2]|0)Ob[k[(k[(k[b>>2]|0)+60>>2]|0)+4>>2]&255](k[(k[b>>2]|0)+56>>2]|0);ie(k[(k[b>>2]|0)+4>>2]|0);ie(k[(k[b>>2]|0)+8>>2]|0);k[c>>2]=0;while(1){a=k[(k[b>>2]|0)+16>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+12>>2]|0))break;ie(k[a+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}ie(a);ie(k[(k[b>>2]|0)+28>>2]|0);ie(k[(k[b>>2]|0)+88>>2]|0);ie(k[(k[b>>2]|0)+92>>2]|0);ie(k[(k[b>>2]|0)+36>>2]|0);ie(k[(k[b>>2]|0)+40>>2]|0);ie(k[(k[b>>2]|0)+52>>2]|0);ie(k[b>>2]|0);u=d;return}function fV(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}gV(k[(k[b>>2]|0)+8>>2]|0);ie(k[(k[b>>2]|0)+20>>2]|0);ie(k[b>>2]|0);u=c;return}function gV(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+28>>2]|0))break;gV(k[a+32+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}hV(k[a+24>>2]|0);ie(k[b>>2]|0);u=d;return}function hV(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+8>>2]|0))break;iV(k[a+12+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}ie(k[a+4>>2]|0);ie(k[b>>2]|0);u=d;return}function iV(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;if(!(k[b>>2]|0)){u=g;return}k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+16>>2]|0))break;k[f>>2]=a+20+(k[c>>2]<<4);ie(k[(k[f>>2]|0)+4>>2]|0);wS(k[(k[f>>2]|0)+8>>2]|0);k[d>>2]=k[(k[f>>2]|0)+12>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+12>>2];wS(k[(k[d>>2]|0)+8>>2]|0);xS((k[d>>2]|0)+16|0);ie(k[d>>2]|0);k[d>>2]=k[e>>2]}k[c>>2]=(k[c>>2]|0)+1}if((k[a+4+8>>2]|0)>0)xS((k[b>>2]|0)+4|0);ie(k[b>>2]|0);u=g;return}function jV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+48|0;g=h;d=h+40|0;j=h+36|0;e=h+32|0;i=h+16|0;f=h+8|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;c=Ff(k[j>>2]|0,i)|0;k[e>>2]=c;if(!((k[d>>2]|0)!=0&(k[e>>2]|0)!=0)){j=k[d>>2]|0;ie(j);j=k[e>>2]|0;u=h;return j|0}j=k[e>>2]|0;k[g>>2]=k[d>>2];k[g+4>>2]=j;j=xf(23403,g)|0;k[f>>2]=j;ie(k[e>>2]|0);k[e>>2]=k[f>>2];j=k[d>>2]|0;ie(j);j=k[e>>2]|0;u=h;return j|0}function kV(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=u;u=u+32|0;c=h+20|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[b>>2]=0;k[d>>2]=k[c>>2];while(1){if(!(k[d>>2]|0))break;a=((q$(k[(k[c>>2]|0)+4>>2]|0)|0)<<1)+3+2|0;k[b>>2]=(k[b>>2]|0)+a;k[d>>2]=k[(k[d>>2]|0)+12>>2]}b=ze(k[b>>2]|0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){g=k[e>>2]|0;u=h;return g|0}k[f>>2]=0;k[d>>2]=k[c>>2];while(1){if(!(k[d>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+4>>2];j=k[e>>2]|0;b=k[f>>2]|0;k[f>>2]=b+1;a=34;b=j+b|0;while(1){i[b>>0]=a;if(!(i[k[g>>2]>>0]|0))break;if((i[k[g>>2]>>0]|0)==34){b=k[e>>2]|0;j=k[f>>2]|0;k[f>>2]=j+1;i[b+j>>0]=34}a=k[g>>2]|0;k[g>>2]=a+1;a=i[a>>0]|0;j=k[e>>2]|0;b=k[f>>2]|0;k[f>>2]=b+1;b=j+b|0}b=k[e>>2]|0;j=k[f>>2]|0;k[f>>2]=j+1;i[b+j>>0]=34;if(k[(k[d>>2]|0)+12>>2]|0){b=k[e>>2]|0;j=k[f>>2]|0;k[f>>2]=j+1;i[b+j>>0]=124}k[d>>2]=k[(k[d>>2]|0)+12>>2]}if(k[k[c>>2]>>2]|0){j=k[e>>2]|0;g=k[f>>2]|0;k[f>>2]=g+1;i[j+g>>0]=32;g=k[e>>2]|0;j=k[f>>2]|0;k[f>>2]=j+1;i[g+j>>0]=42}g=k[e>>2]|0;j=k[f>>2]|0;k[f>>2]=j+1;i[g+j>>0]=0;j=k[e>>2]|0;u=h;return j|0}function lV(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=d;k[e>>2]=a;k[e+4>>2]=b;b=ze(k[d>>2]|0)|0;u=c;return b|0}function mV(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;a=Wb[k[d>>2]&255](1208,0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){d=k[b>>2]|0;u=c;return d|0}k[k[b>>2]>>2]=(k[b>>2]|0)+8;i[(k[b>>2]|0)+8>>0]=0;i[(k[b>>2]|0)+8+1>>0]=0;d=k[b>>2]|0;u=c;return d|0}function nV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;g=q+8|0;f=q;l=q+40|0;d=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;e=q+16|0;j=q+12|0;k[d>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=k[k[m>>2]>>2];while(1){c=(uW(i[k[o>>2]>>0]|0)|0)!=0;a=k[o>>2]|0;if(!c)break;k[o>>2]=a+1}k[k[n>>2]>>2]=a;k[(k[n>>2]|0)+4>>2]=1;a:do switch(i[k[o>>2]>>0]|0){case 40:{k[p>>2]=6;break}case 41:{k[p>>2]=7;break}case 123:{k[p>>2]=9;break}case 125:{k[p>>2]=10;break}case 58:{k[p>>2]=5;break}case 44:{k[p>>2]=12;break}case 43:{k[p>>2]=13;break}case 42:{k[p>>2]=14;break}case 45:{k[p>>2]=8;break}case 0:{k[p>>2]=0;break}case 34:{k[p>>2]=11;k[e>>2]=(k[o>>2]|0)+1;while(1){if((i[k[e>>2]>>0]|0)==34?(k[e>>2]=(k[e>>2]|0)+1,(i[k[e>>2]>>0]|0)!=34):0){h=21;break}if(!(i[k[e>>2]>>0]|0))break;k[e>>2]=(k[e>>2]|0)+1}if((h|0)==21){k[(k[n>>2]|0)+4>>2]=(k[e>>2]|0)-(k[o>>2]|0);break a}yV(k[d>>2]|0,49799,f);k[l>>2]=0;p=k[l>>2]|0;u=q;return p|0}default:{if(!(WT(i[k[o>>2]>>0]|0)|0)){p=k[d>>2]|0;k[g>>2]=k[o>>2];yV(p,49819,g);k[l>>2]=0;p=k[l>>2]|0;u=q;return p|0}k[p>>2]=11;k[j>>2]=(k[o>>2]|0)+1;while(1){h=(WT(i[k[j>>2]>>0]|0)|0)!=0;a=k[j>>2]|0;if(!h)break;k[j>>2]=a+1}k[(k[n>>2]|0)+4>>2]=a-(k[o>>2]|0);if((k[(k[n>>2]|0)+4>>2]|0)==2?(R_(k[k[n>>2]>>2]|0,45933,2)|0)==0:0)k[p>>2]=1;if((k[(k[n>>2]|0)+4>>2]|0)==3?(R_(k[k[n>>2]>>2]|0,45940,3)|0)==0:0)k[p>>2]=3;if((k[(k[n>>2]|0)+4>>2]|0)==3?(R_(k[k[n>>2]>>2]|0,45936,3)|0)==0:0)k[p>>2]=2}}while(0);k[k[m>>2]>>2]=(k[k[n>>2]>>2]|0)+(k[(k[n>>2]|0)+4>>2]|0);k[l>>2]=k[p>>2];p=k[l>>2]|0;u=q;return p|0}function oV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=u;u=u+48|0;e=j+32|0;m=j+24|0;f=j+20|0;l=j+16|0;g=j+8|0;h=j+4|0;i=j;k[m>>2]=a;k[f>>2]=b;k[l>>2]=d;k[i>>2]=k[m>>2];k[(k[i>>2]|0)+4>>2]=k[l>>2];while(1){m=uV(k[i>>2]|0,k[f>>2]&255)|0;k[h>>2]=m;do if((k[h>>2]|0)>>>0>70)if((k[h>>2]|0)>>>0<=96){wV(k[i>>2]|0,(k[h>>2]|0)-71|0);break}else{k[g>>2]=k[c>>2];k[g+4>>2]=k[c+4>>2];l=k[i>>2]|0;m=k[f>>2]|0;k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];xV(l,m,e);sV(k[i>>2]|0,k[f>>2]&255,g);k[f>>2]=28;break}else{d=k[i>>2]|0;l=k[h>>2]|0;m=k[f>>2]|0;k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];vV(d,l,m,e);k[f>>2]=28}while(0);if((k[f>>2]|0)==28){e=9;break}if((k[k[i>>2]>>2]|0)>>>0<=((k[i>>2]|0)+8|0)>>>0){e=9;break}}if((e|0)==9){u=j;return}}function pV(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ie(k[c>>2]|0);u=b;return}function qV(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];if(!(k[d>>2]|0)){u=e;return}while(1){if((k[k[d>>2]>>2]|0)>>>0<=((k[d>>2]|0)+8|0)>>>0)break;rV(k[d>>2]|0)}Ob[k[c>>2]&255](k[d>>2]|0);u=e;return}function rV(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;e=k[d>>2]|0;a=k[e>>2]|0;k[e>>2]=a+-12;k[c>>2]=a;sV(k[d>>2]|0,i[(k[c>>2]|0)+1>>0]|0,(k[c>>2]|0)+4|0);u=b;return}function sV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=u;u=u+16|0;g=e+8|0;f=e+12|0;d=e+4|0;k[g>>2]=a;i[f>>0]=b;k[d>>2]=c;k[e>>2]=k[(k[g>>2]|0)+4>>2];switch(l[f>>0]|0|0){case 16:{u=e;return}case 19:case 18:case 17:{gV(k[k[d>>2]>>2]|0);u=e;return}case 23:case 20:{hV(k[k[d>>2]>>2]|0);u=e;return}case 22:case 21:{ie(k[k[d>>2]>>2]|0);u=e;return}case 24:{tV(k[k[d>>2]>>2]|0);u=e;return}default:{u=e;return}}}function tV(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;iV(k[c>>2]|0);u=b;return}function uV(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;c=g+12|0;h=g+8|0;d=g+16|0;e=g+4|0;f=g;k[h>>2]=a;i[d>>0]=b;k[f>>2]=l[k[k[h>>2]>>2]>>0];a=k[f>>2]|0;if((k[f>>2]|0)>=71){k[c>>2]=a;h=k[c>>2]|0;u=g;return h|0}k[e>>2]=l[49656+a>>0];k[e>>2]=(k[e>>2]|0)+(l[d>>0]|0);if(!((k[e>>2]|0)<0|(k[e>>2]|0)>=85)?(l[49685+(k[e>>2]|0)>>0]|0|0)==(l[d>>0]|0|0):0){k[c>>2]=l[49404+(k[e>>2]|0)>>0];h=k[c>>2]|0;u=g;return h|0}k[c>>2]=l[49770+(k[f>>2]|0)>>0];h=k[c>>2]|0;u=g;return h|0}function vV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=u;u=u+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=k[e>>2]|0;k[c>>2]=(k[c>>2]|0)+12;if((k[k[e>>2]>>2]|0)>>>0>=((k[e>>2]|0)+8+1200|0)>>>0){zV(k[e>>2]|0);u=j;return}if((k[f>>2]|0)>28)k[f>>2]=(k[f>>2]|0)+26;k[h>>2]=k[k[e>>2]>>2];i[k[h>>2]>>0]=k[f>>2];i[(k[h>>2]|0)+1>>0]=k[g>>2];h=(k[h>>2]|0)+4|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];u=j;return}function wV(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+48|0;c=n+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;m=n;k[c>>2]=a;k[d>>2]=b;k[j>>2]=k[(k[c>>2]|0)+4>>2];k[g>>2]=k[k[c>>2]>>2];if((l[49337+(k[d>>2]<<1)+1>>0]|0|0)==0?(k[k[c>>2]>>2]|0)>>>0>=((k[c>>2]|0)+8+1188|0)>>>0:0){zV(k[c>>2]|0);u=n;return}do switch(k[d>>2]|0){case 0:{AV(k[j>>2]|0,k[(k[g>>2]|0)+4>>2]|0);break}case 1:{j=BV(k[j>>2]|0,2,k[(k[g>>2]|0)+-24+4>>2]|0,k[(k[g>>2]|0)+4>>2]|0,0)|0;k[m>>2]=j;k[(k[g>>2]|0)+-24+4>>2]=k[m>>2];break}case 2:{j=BV(k[j>>2]|0,1,k[(k[g>>2]|0)+-24+4>>2]|0,k[(k[g>>2]|0)+4>>2]|0,0)|0;k[m>>2]=j;k[(k[g>>2]|0)+-24+4>>2]=k[m>>2];break}case 3:{j=BV(k[j>>2]|0,3,k[(k[g>>2]|0)+-24+4>>2]|0,k[(k[g>>2]|0)+4>>2]|0,0)|0;k[m>>2]=j;k[(k[g>>2]|0)+-24+4>>2]=k[m>>2];break}case 4:{k[(k[g>>2]|0)+-24+4>>2]=k[(k[g>>2]|0)+-12+4>>2];break}case 6:case 5:{k[m>>2]=k[(k[g>>2]|0)+4>>2];k[(k[g>>2]|0)+4>>2]=k[m>>2];break}case 7:{j=CV(k[j>>2]|0,k[(k[g>>2]|0)+-12+4>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0;k[m>>2]=j;k[(k[g>>2]|0)+-12+4>>2]=k[m>>2];break}case 8:{j=BV(k[j>>2]|0,11,0,0,k[(k[g>>2]|0)+4>>2]|0)|0;k[m>>2]=j;k[(k[g>>2]|0)+4>>2]=k[m>>2];break}case 9:{DV(k[j>>2]|0,k[(k[g>>2]|0)+4>>2]|0,k[(k[g>>2]|0)+-24+4>>2]|0);j=BV(k[j>>2]|0,11,0,0,k[(k[g>>2]|0)+4>>2]|0)|0;k[m>>2]=j;k[(k[g>>2]|0)+-24+4>>2]=k[m>>2];break}case 10:{m=EV(k[j>>2]|0,k[(k[g>>2]|0)+-12+4>>2]|0)|0;k[(k[g>>2]|0)+-36+4>>2]=m;break}case 11:{k[(k[g>>2]|0)+-24+4>>2]=k[(k[g>>2]|0)+-12+4>>2];break}case 12:{j=FV(k[j>>2]|0,0,(k[g>>2]|0)+4|0)|0;k[m>>2]=j;k[(k[g>>2]|0)+4>>2]=k[m>>2];break}case 13:{m=FV(k[j>>2]|0,0,(k[g>>2]|0)+4|0)|0;k[(k[g>>2]|0)+-12+4>>2]=m;m=EV(k[j>>2]|0,k[(k[g>>2]|0)+-12+4>>2]|0)|0;k[(k[g>>2]|0)+-12+4>>2]=m;break}case 14:{j=FV(k[j>>2]|0,k[(k[g>>2]|0)+-12+4>>2]|0,(k[g>>2]|0)+4|0)|0;k[m>>2]=j;k[(k[g>>2]|0)+-12+4>>2]=k[m>>2];break}case 15:{j=FV(k[j>>2]|0,0,(k[g>>2]|0)+4|0)|0;k[m>>2]=j;k[(k[g>>2]|0)+4>>2]=k[m>>2];break}case 16:{j=GV(k[j>>2]|0,0,k[(k[g>>2]|0)+4>>2]|0)|0;k[m>>2]=j;k[(k[g>>2]|0)+4>>2]=k[m>>2];break}case 17:{HV(k[j>>2]|0,(k[g>>2]|0)+-48+4|0);IV(k[j>>2]|0,k[(k[g>>2]|0)+-24+4>>2]|0,(k[g>>2]|0)+-12+4|0);k[m>>2]=k[(k[g>>2]|0)+-24+4>>2];k[(k[g>>2]|0)+-48+4>>2]=k[m>>2];break}case 18:{j=GV(k[j>>2]|0,0,k[(k[g>>2]|0)+4>>2]|0)|0;k[m>>2]=j;k[(k[g>>2]|0)+4>>2]=k[m>>2];break}case 19:{j=GV(k[j>>2]|0,k[(k[g>>2]|0)+-12+4>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0;k[m>>2]=j;k[(k[g>>2]|0)+-12+4>>2]=k[m>>2];break}case 20:{k[(k[g>>2]|0)+12+4>>2]=0;k[(k[g>>2]|0)+12+4+4>>2]=0;break}case 21:{m=(k[g>>2]|0)+-12+4|0;j=(k[g>>2]|0)+4|0;k[m>>2]=k[j>>2];k[m+4>>2]=k[j+4>>2];break}case 22:{j=JV(k[j>>2]|0,k[(k[g>>2]|0)+-36+4>>2]|0,(k[g>>2]|0)+-12+4|0,k[(k[g>>2]|0)+4>>2]|0)|0;k[m>>2]=j;k[(k[g>>2]|0)+-36+4>>2]=k[m>>2];break}case 23:{j=JV(k[j>>2]|0,0,(k[g>>2]|0)+-12+4|0,k[(k[g>>2]|0)+4>>2]|0)|0;k[m>>2]=j;k[(k[g>>2]|0)+-12+4>>2]=k[m>>2];break}case 24:{k[(k[g>>2]|0)+4>>2]=1;break}case 25:{k[(k[g>>2]|0)+12+4>>2]=0;break}default:{}}while(0);k[e>>2]=l[49337+(k[d>>2]<<1)>>0];k[h>>2]=l[49337+(k[d>>2]<<1)+1>>0];m=KV(l[(k[g>>2]|0)+((0-(k[h>>2]|0)|0)*12|0)>>0]|0,k[e>>2]&255)|0;k[f>>2]=m;if((k[f>>2]|0)>70){m=k[c>>2]|0;k[m>>2]=(k[m>>2]|0)+((0-(k[h>>2]|0)|0)*12|0);LV(k[c>>2]|0);u=n;return}if((k[f>>2]|0)>28)k[f>>2]=(k[f>>2]|0)+26;k[g>>2]=(k[g>>2]|0)+((0-((k[h>>2]|0)-1)|0)*12|0);k[k[c>>2]>>2]=k[g>>2];i[k[g>>2]>>0]=k[f>>2];i[(k[g>>2]|0)+1>>0]=k[e>>2];u=n;return}function xV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+32|0;g=d;e=d+16|0;f=d+8|0;k[e>>2]=a;k[d+12>>2]=b;k[f>>2]=k[(k[e>>2]|0)+4>>2];b=k[f>>2]|0;a=k[c>>2]|0;k[g>>2]=k[c+4>>2];k[g+4>>2]=a;yV(b,49306,g);k[(k[e>>2]|0)+4>>2]=k[f>>2];u=d;return}function yV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+32|0;d=g+20|0;e=g+16|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[d>>2]|0)+8>>2]|0){u=g;return}c=Ff(k[e>>2]|0,f)|0;k[(k[d>>2]|0)+4>>2]=c;k[(k[d>>2]|0)+8>>2]=1;u=g;return}function zV(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;d=e;b=e+8|0;c=e+4|0;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+-12;while(1){if((k[k[b>>2]>>2]|0)>>>0<=((k[b>>2]|0)+8|0)>>>0)break;rV(k[b>>2]|0)}yV(k[c>>2]|0,49628,d);k[(k[b>>2]|0)+4>>2]=k[c>>2];u=e;return}function AV(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+20>>2]=k[e>>2];u=c;return}function BV(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;q=r;l=r+40|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;f=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[f>>2]=e;k[g>>2]=0;do if(!(k[(k[m>>2]|0)+8>>2]|0)){k[h>>2]=0;if((k[n>>2]|0)==11&(k[f>>2]|0)==0){k[l>>2]=0;q=k[l>>2]|0;u=r;return q|0}if((k[n>>2]|0)!=11&(k[o>>2]|0)==0){k[l>>2]=k[p>>2];q=k[l>>2]|0;u=r;return q|0}if((k[n>>2]|0)!=11&(k[p>>2]|0)==0){k[l>>2]=k[o>>2];q=k[l>>2]|0;u=r;return q|0}if((k[n>>2]|0)!=3){if((k[n>>2]|0)==2|(k[n>>2]|0)==1){k[h>>2]=2;if((k[k[o>>2]>>2]|0)==(k[n>>2]|0))k[h>>2]=(k[h>>2]|0)+((k[(k[o>>2]|0)+28>>2]|0)-1);if((k[k[p>>2]>>2]|0)==(k[n>>2]|0))k[h>>2]=(k[h>>2]|0)+((k[(k[p>>2]|0)+28>>2]|0)-1)}}else k[h>>2]=2;k[i>>2]=40+((k[h>>2]|0)-1<<2);e=nT((k[m>>2]|0)+8|0,k[i>>2]|0)|0;k[g>>2]=e;if(k[g>>2]|0){k[k[g>>2]>>2]=k[n>>2];k[(k[g>>2]|0)+24>>2]=k[f>>2];QV(k[g>>2]|0);if((k[n>>2]|0)!=11){RV(k[g>>2]|0,k[o>>2]|0);RV(k[g>>2]|0,k[p>>2]|0);break}k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[f>>2]|0)+8>>2]|0))break;k[k[(k[f>>2]|0)+12+(k[j>>2]<<2)>>2]>>2]=k[g>>2];if(!(k[(k[(k[f>>2]|0)+12+(k[j>>2]<<2)>>2]|0)+16>>2]|0)){k[(k[g>>2]|0)+12>>2]=0;k[k[g>>2]>>2]=0}k[j>>2]=(k[j>>2]|0)+1}if(k[(k[k[m>>2]>>2]|0)+48>>2]|0){if((k[(k[f>>2]|0)+8>>2]|0)==1?(k[(k[(k[f>>2]|0)+12>>2]|0)+16>>2]|0)<=1:0)break;k[(k[m>>2]|0)+8>>2]=1;k[q>>2]=(k[(k[f>>2]|0)+8>>2]|0)==1?49571:45944;q=xf(49578,q)|0;k[(k[m>>2]|0)+4>>2]=q;ie(k[g>>2]|0);k[g>>2]=0}}}while(0);if(!(k[g>>2]|0)){gV(k[o>>2]|0);gV(k[p>>2]|0);hV(k[f>>2]|0)}k[l>>2]=k[g>>2];q=k[l>>2]|0;u=r;return q|0}function CV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;a=k[e>>2]|0;if(k[(k[d>>2]|0)+8>>2]|0){gV(a);gV(k[f>>2]|0);i=k[g>>2]|0;u=j;return i|0}b=k[e>>2]|0;if((k[a>>2]|0)==2)k[h>>2]=k[b+32+((k[(k[e>>2]|0)+28>>2]|0)-1<<2)>>2];else k[h>>2]=b;if(!(k[k[f>>2]>>2]|0)){gV(k[f>>2]|0);k[g>>2]=k[e>>2];i=(k[d>>2]|0)+12|0;k[i>>2]=(k[i>>2]|0)+-1;i=k[g>>2]|0;u=j;return i|0}if(k[k[h>>2]>>2]|0){i=BV(k[d>>2]|0,2,k[e>>2]|0,k[f>>2]|0,0)|0;k[g>>2]=i;i=k[g>>2]|0;u=j;return i|0}a=k[f>>2]|0;if((k[h>>2]|0)==(k[e>>2]|0))k[g>>2]=a;else{k[(k[e>>2]|0)+32+((k[(k[e>>2]|0)+28>>2]|0)-1<<2)>>2]=a;k[g>>2]=k[e>>2]}k[i>>2]=(k[(k[d>>2]|0)+16>>2]|0)+((k[(k[d>>2]|0)+12>>2]|0)-1-(k[(k[(k[f>>2]|0)+24>>2]|0)+8>>2]|0)<<2);u0(k[i>>2]|0,(k[i>>2]|0)+4|0,k[(k[(k[f>>2]|0)+24>>2]|0)+8>>2]<<2|0)|0;i=(k[d>>2]|0)+12|0;k[i>>2]=(k[i>>2]|0)+-1;gV(k[h>>2]|0);i=k[g>>2]|0;u=j;return i|0}function DV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+12|0;f=g+8|0;e=g+4|0;k[d>>2]=a;k[f>>2]=b;k[e>>2]=c;if((k[(k[k[d>>2]>>2]|0)+48>>2]|0)==1){k[(k[d>>2]|0)+8>>2]=1;f=xf(49518,g)|0;k[(k[d>>2]|0)+4>>2]=f;ie(k[e>>2]|0);u=g;return}a=k[e>>2]|0;if(k[f>>2]|0){k[(k[f>>2]|0)+4>>2]=a;u=g;return}else{ie(a);u=g;return}}function EV(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;i=h+20|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[c>>2]=b;k[e>>2]=k[(k[k[i>>2]>>2]|0)+12>>2];b=nT((k[i>>2]|0)+8|0,8+(k[e>>2]<<2)|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){i=k[c>>2]|0;ie(i);i=k[d>>2]|0;u=h;return i|0}k[g>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[e>>2]|0))break;if((k[g>>2]|0)<(k[k[c>>2]>>2]|0)?(k[(k[c>>2]|0)+4+(k[g>>2]<<2)>>2]|0)==(k[f>>2]|0):0)k[g>>2]=(k[g>>2]|0)+1;else{a=k[f>>2]|0;b=(k[d>>2]|0)+4|0;j=k[d>>2]|0;i=k[j>>2]|0;k[j>>2]=i+1;k[b+(i<<2)>>2]=a}k[f>>2]=(k[f>>2]|0)+1}j=k[c>>2]|0;ie(j);j=k[d>>2]|0;u=h;return j|0}function FV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+32|0;j=l;d=l+28|0;e=l+24|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;k[d>>2]=a;k[e>>2]=b;k[m>>2]=c;k[f>>2]=0;c=dU((k[d>>2]|0)+8|0,k[k[m>>2]>>2]|0,k[(k[m>>2]|0)+4>>2]|0)|0;k[h>>2]=c;if(!(k[(k[d>>2]|0)+8>>2]|0)){k[i>>2]=k[k[d>>2]>>2];bU(k[h>>2]|0);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[i>>2]|0)+12>>2]|0))break;if(!(ul(k[(k[(k[i>>2]|0)+16>>2]|0)+(k[g>>2]<<2)>>2]|0,k[h>>2]|0)|0))break;k[g>>2]=(k[g>>2]|0)+1}a=k[d>>2]|0;if((k[g>>2]|0)==(k[(k[i>>2]|0)+12>>2]|0)){k[j>>2]=k[h>>2];yV(a,34753,j)}else{m=PV(a,k[e>>2]|0,k[g>>2]|0)|0;k[f>>2]=m}ie(k[h>>2]|0)}if(k[f>>2]|0){m=k[f>>2]|0;u=l;return m|0}ie(k[e>>2]|0);m=k[f>>2]|0;u=l;return m|0}function GV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+48|0;h=n+36|0;i=n+32|0;j=n+28|0;l=n+24|0;m=n+16|0;d=n+12|0;e=n+8|0;f=n+4|0;g=n;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[n+20>>2]=8;k[m>>2]=0;do if(!(k[(k[i>>2]|0)+8>>2]|0)){a=k[j>>2]|0;if(!(k[l>>2]|0)){k[h>>2]=a;m=k[h>>2]|0;u=n;return m|0}if(!a){k[d>>2]=48;f=ze(k[d>>2]|0)|0;k[m>>2]=f;if(!(k[m>>2]|0)){k[(k[i>>2]|0)+8>>2]=7;break}else{w0(k[m>>2]|0,0,k[d>>2]|0)|0;break}}a=k[j>>2]|0;if((k[(k[j>>2]|0)+8>>2]|0)%8|0|0){k[m>>2]=a;break}k[e>>2]=(k[a+8>>2]|0)+8;k[f>>2]=16+(k[e>>2]<<2);f=fg(k[j>>2]|0,k[f>>2]|0)|0;k[m>>2]=f;if(!(k[m>>2]|0))k[(k[i>>2]|0)+8>>2]=7}while(0);if(!(k[m>>2]|0)){hV(k[j>>2]|0);tV(k[l>>2]|0)}else{do if((k[(k[m>>2]|0)+8>>2]|0)>0){k[g>>2]=k[(k[m>>2]|0)+12+((k[(k[m>>2]|0)+8>>2]|0)-1<<2)>>2];if(!(k[(k[l>>2]|0)+16>>2]|0)){iV(k[l>>2]|0);j=(k[m>>2]|0)+8|0;k[j>>2]=(k[j>>2]|0)+-1;j=(k[i>>2]|0)+12|0;k[j>>2]=(k[j>>2]|0)+-1;k[l>>2]=k[g>>2];break}if(!(k[(k[g>>2]|0)+16>>2]|0)){iV(k[g>>2]|0);k[(k[(k[i>>2]|0)+16>>2]|0)+((k[(k[i>>2]|0)+12>>2]|0)-2<<2)>>2]=k[l>>2];j=(k[i>>2]|0)+12|0;k[j>>2]=(k[j>>2]|0)+-1;j=(k[m>>2]|0)+8|0;k[j>>2]=(k[j>>2]|0)+-1}}while(0);i=k[l>>2]|0;j=(k[m>>2]|0)+12|0;g=(k[m>>2]|0)+8|0;l=k[g>>2]|0;k[g>>2]=l+1;k[j+(l<<2)>>2]=i}k[h>>2]=k[m>>2];m=k[h>>2]|0;u=n;return m|0}function HV(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;e=f;c=f+12|0;d=f+8|0;k[c>>2]=a;k[d>>2]=b;if((k[(k[d>>2]|0)+4>>2]|0)==4?(R_(45944,k[k[d>>2]>>2]|0,4)|0)==0:0){u=f;return}c=k[c>>2]|0;b=k[k[d>>2]>>2]|0;k[e>>2]=k[(k[d>>2]|0)+4>>2];k[e+4>>2]=b;yV(c,49306,e);u=f;return}function IV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+32|0;l=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+28|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){u=m;return}k[g>>2]=0;a:do if(k[(k[f>>2]|0)+4>>2]|0){k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[f>>2]|0)+4>>2]|0))break a;i[j>>0]=i[(k[k[f>>2]>>2]|0)+(k[h>>2]|0)>>0]|0;if((i[j>>0]|0)<48)break;if((i[j>>0]|0)>57)break;k[g>>2]=((k[g>>2]|0)*10|0)+((i[(k[k[f>>2]>>2]|0)+(k[h>>2]|0)>>0]|0)-48);k[h>>2]=(k[h>>2]|0)+1}j=k[d>>2]|0;h=k[k[f>>2]>>2]|0;k[l>>2]=k[(k[f>>2]|0)+4>>2];k[l+4>>2]=h;yV(j,49489,l);u=m;return}else k[g>>2]=10;while(0);k[k[e>>2]>>2]=k[g>>2];u=m;return}function JV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+64|0;m=r+52|0;n=r+48|0;o=r+44|0;s=r+40|0;p=r+36|0;q=r+32|0;e=r+24|0;f=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;l=r;k[n>>2]=a;k[o>>2]=b;k[s>>2]=c;k[p>>2]=d;k[q>>2]=k[k[n>>2]>>2];k[g>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e>>2]=k[o>>2];d=MV(k[s>>2]|0,g)|0;k[f>>2]=d;if(!(k[f>>2]|0)){k[h>>2]=1|(k[p>>2]|0?1:0);bU(k[g>>2]|0);s=q$(k[g>>2]|0)|0;k[i>>2]=s;s=OV(k[q>>2]|0,k[h>>2]|0,k[g>>2]|0,k[i>>2]|0,e,151)|0;k[f>>2]=s}ie(k[g>>2]|0);if(!(k[f>>2]|0)?(s=k[e+4>>2]|0,k[f>>2]=s,!(s|0)):0){if(!(k[o>>2]|0)){do if(!((k[(k[n>>2]|0)+12>>2]|0)%8|0)){k[j>>2]=(k[(k[n>>2]|0)+12>>2]|0)+8<<2;s=fg(k[(k[n>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[l>>2]=s;if(k[l>>2]|0){k[(k[n>>2]|0)+16>>2]=k[l>>2];break}k[(k[n>>2]|0)+8>>2]=7;iV(k[e>>2]|0);k[m>>2]=0;s=k[m>>2]|0;u=r;return s|0}while(0);s=(k[n>>2]|0)+12|0;k[s>>2]=(k[s>>2]|0)+1}if(k[e>>2]|0){if(k[(k[e>>2]|0)+16>>2]|0)k[(k[e>>2]|0)+20+((k[(k[e>>2]|0)+16>>2]|0)-1<<4)>>2]=k[p>>2]}else{s=nT((k[n>>2]|0)+8|0,36)|0;k[e>>2]=s}k[(k[(k[n>>2]|0)+16>>2]|0)+((k[(k[n>>2]|0)+12>>2]|0)-1<<2)>>2]=k[e>>2]}else{k[(k[n>>2]|0)+8>>2]=k[f>>2];iV(k[e>>2]|0);k[e>>2]=0}k[m>>2]=k[e>>2];s=k[m>>2]|0;u=r;return s|0}function KV(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;f=d+4|0;e=d+8|0;c=d;k[f>>2]=a;i[e>>0]=b;k[c>>2]=i[49389+(k[f>>2]|0)>>0];k[c>>2]=(k[c>>2]|0)+(l[e>>0]|0);u=d;return l[49404+(k[c>>2]|0)>>0]|0}function LV(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+4>>2];k[(k[c>>2]|0)+4>>2]=k[d>>2];u=b;return}function MV(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;k[c>>2]=0;b=dU(c,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;k[k[e>>2]>>2]=b;u=d;return k[c>>2]|0}function NV(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+64|0;s=v+60|0;w=v+56|0;i=v+52|0;t=v+48|0;l=v+44|0;m=v+32|0;n=v+24|0;o=v+20|0;g=v+16|0;h=v+12|0;p=v+8|0;q=v+4|0;r=v;k[w>>2]=a;k[i>>2]=b;k[t>>2]=c;k[l>>2]=d;k[v+40>>2]=e;k[v+36>>2]=f;k[m>>2]=0;k[v+28>>2]=8;k[n>>2]=k[w>>2];k[o>>2]=k[k[n>>2]>>2];if(k[(k[n>>2]|0)+4>>2]|0){k[s>>2]=k[(k[n>>2]|0)+4>>2];w=k[s>>2]|0;u=v;return w|0}if((k[l>>2]|0)>32768)k[l>>2]=32768;do if((k[o>>2]|0?(k[(k[o>>2]|0)+16>>2]|0)>0:0)?k[i>>2]&1|0:0){k[h>>2]=28+(k[l>>2]|0)+1;w=ze(k[h>>2]|0)|0;k[g>>2]=w;if(!(k[g>>2]|0)){k[m>>2]=7;break}else{w0(k[g>>2]|0,0,k[h>>2]|0)|0;k[(k[g>>2]|0)+4>>2]=(k[g>>2]|0)+16+12;r0(k[(k[g>>2]|0)+4>>2]|0,k[t>>2]|0,k[l>>2]|0)|0;k[(k[g>>2]|0)+12>>2]=k[(k[o>>2]|0)+20+((k[(k[o>>2]|0)+16>>2]|0)-1<<4)+12>>2];k[(k[o>>2]|0)+20+((k[(k[o>>2]|0)+16>>2]|0)-1<<4)+12>>2]=k[g>>2];break}}else j=11;while(0);if((j|0)==11){if(!((k[o>>2]|0)!=0?((k[(k[o>>2]|0)+16>>2]|0)%8|0|0)!=0:0))j=13;do if((j|0)==13){if(k[o>>2]|0)a=k[(k[o>>2]|0)+16>>2]|0;else a=0;k[r>>2]=8+a;w=fg(k[o>>2]|0,36+(k[r>>2]<<4)|0)|0;k[q>>2]=w;if(!(k[q>>2]|0)){k[m>>2]=7;break}if(!(k[o>>2]|0)){a=k[q>>2]|0;b=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0))}w=k[q>>2]|0;k[o>>2]=w;k[k[n>>2]>>2]=w;k[(k[q>>2]|0)+16>>2]=(k[r>>2]|0)-8}while(0);if(!(k[m>>2]|0)){r=(k[o>>2]|0)+20|0;q=(k[o>>2]|0)+16|0;w=k[q>>2]|0;k[q>>2]=w+1;k[p>>2]=r+(w<<4);w=k[p>>2]|0;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;k[w+12>>2]=0;w=dU(m,k[t>>2]|0,k[l>>2]|0)|0;k[(k[p>>2]|0)+4>>2]=w}}k[(k[n>>2]|0)+4>>2]=k[m>>2];k[s>>2]=k[m>>2];w=k[s>>2]|0;u=v;return w|0}function OV(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;g=o+8|0;h=o+4|0;i=o;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=f;if(!(k[n>>2]|0)){k[j>>2]=0;n=k[j>>2]|0;u=o;return n|0}else{n=Qb[k[(k[(k[l>>2]|0)+60>>2]|0)+8>>2]&255](k[(k[l>>2]|0)+56>>2]|0,k[h>>2]|0,k[m>>2]|0,k[n>>2]|0,k[g>>2]|0,k[i>>2]|0)|0;k[j>>2]=n;n=k[j>>2]|0;u=o;return n|0}return 0}function PV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+48|0;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;l=o+12|0;m=o+8|0;d=o+4|0;e=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;if(k[h>>2]|0)a=k[k[h>>2]>>2]|0;else a=0;k[j>>2]=a;h=fg(k[h>>2]|0,8+(k[j>>2]<<2)|0)|0;k[l>>2]=h;if(!(k[l>>2]|0))k[(k[g>>2]|0)+8>>2]=7;else{k[m>>2]=(k[l>>2]|0)+4;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[j>>2]|0))break;if((k[(k[m>>2]|0)+(k[d>>2]<<2)>>2]|0)==(k[i>>2]|0)){n=8;break}if((k[(k[m>>2]|0)+(k[d>>2]<<2)>>2]|0)>(k[i>>2]|0))break;k[d>>2]=(k[d>>2]|0)+1}if((n|0)==8){k[f>>2]=k[l>>2];n=k[f>>2]|0;u=o;return n|0}k[e>>2]=k[j>>2];while(1){if((k[e>>2]|0)<=(k[d>>2]|0))break;k[(k[m>>2]|0)+(k[e>>2]<<2)>>2]=k[(k[m>>2]|0)+((k[e>>2]|0)-1<<2)>>2];k[e>>2]=(k[e>>2]|0)+-1}k[(k[m>>2]|0)+(k[d>>2]<<2)>>2]=k[i>>2];k[k[l>>2]>>2]=(k[j>>2]|0)+1}k[f>>2]=k[l>>2];n=k[f>>2]|0;u=o;return n|0}function QV(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a:do switch(k[k[b>>2]>>2]|0){case 11:{k[c>>2]=k[(k[b>>2]|0)+24>>2];if(((k[(k[c>>2]|0)+8>>2]|0)==1?(k[(k[(k[c>>2]|0)+12>>2]|0)+16>>2]|0)==1:0)?(k[(k[(k[c>>2]|0)+12>>2]|0)+20+12>>2]|0)==0:0){k[k[b>>2]>>2]=4;a=k[b>>2]|0;b=151;break a}a=k[b>>2]|0;b=152;break}case 1:{a=k[b>>2]|0;b=153;break}case 2:{a=k[b>>2]|0;b=154;break}default:{a=k[b>>2]|0;b=155}}while(0);k[a+12>>2]=b;u=d;return}function RV(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if((k[k[c>>2]>>2]|0)!=3?(k[k[d>>2]>>2]|0)==(k[k[c>>2]>>2]|0):0){k[e>>2]=k[(k[d>>2]|0)+28>>2]<<2;r0((k[c>>2]|0)+32+(k[(k[c>>2]|0)+28>>2]<<2)|0,(k[d>>2]|0)+32|0,k[e>>2]|0)|0;e=(k[c>>2]|0)+28|0;k[e>>2]=(k[e>>2]|0)+(k[(k[d>>2]|0)+28>>2]|0);ie(k[d>>2]|0);u=f;return}b=k[d>>2]|0;d=(k[c>>2]|0)+32|0;c=(k[c>>2]|0)+28|0;e=k[c>>2]|0;k[c>>2]=e+1;k[d+(e<<2)>>2]=b;u=f;return}function SV(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0;m=u;u=u+32|0;g=m+24|0;h=m+20|0;n=m+16|0;i=m;j=m+12|0;f=m+8|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;a=i;k[a>>2]=d;k[a+4>>2]=e;k[f>>2]=k[(k[(k[(k[h>>2]|0)+24>>2]|0)+12>>2]|0)+20+8>>2];a=k[f>>2]|0;if(k[n>>2]|0){n=i;n=dW(a,k[n>>2]|0,k[n+4>>2]|0)|0;k[j>>2]=n}else{n=eW(a)|0;k[j>>2]=n}if((k[j>>2]|0)==0?(l[(k[f>>2]|0)+16>>0]|0|0)==0:0){n=tW(k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=n;n=k[j>>2]|0;u=m;return n|0}k[(k[h>>2]|0)+4>>2]=1;k[(k[h>>2]|0)+8>>2]=0;n=k[j>>2]|0;u=m;return n|0}function TV(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+64|0;q=s+52|0;r=s+48|0;n=s+44|0;o=s+16|0;f=s+40|0;p=s+36|0;g=s+32|0;h=s+28|0;i=s+8|0;j=s;m=s+24|0;k[q>>2]=a;k[r>>2]=b;k[n>>2]=c;c=o;k[c>>2]=d;k[c+4>>2]=e;k[f>>2]=(k[(k[(k[r>>2]|0)+24>>2]|0)+12>>2]|0)+20;k[p>>2]=0;k[(k[r>>2]|0)+8>>2]=0;if(k[(k[f>>2]|0)+12>>2]|0){k[g>>2]=1;e=cW(k[f>>2]|0,k[(k[q>>2]|0)+12>>2]|0,0)|0;m=i;k[m>>2]=e;k[m+4>>2]=M;k[h>>2]=k[f>>2];a:while(1){if(!(k[h>>2]|0))break;b:do if(!(l[(k[(k[h>>2]|0)+8>>2]|0)+16>>0]|0)){e=k[(k[h>>2]|0)+8>>2]|0;m=k[e+4>>2]|0;f=j;k[f>>2]=k[e>>2];k[f+4>>2]=m;f=j;m=i;do if(!((k[f>>2]|0)==(k[m>>2]|0)?(k[f+4>>2]|0)==(k[m+4>>2]|0):0)){if((k[n>>2]|0?(f=j,m=o,(k[f>>2]|0)!=(k[m>>2]|0)?1:(k[f+4>>2]|0)!=(k[m+4>>2]|0)):0)?(f=j,d=k[f+4>>2]|0,m=o,e=k[m+4>>2]|0,(((d|0)>(e|0)|((d|0)==(e|0)?(k[f>>2]|0)>>>0>(k[m>>2]|0)>>>0:0))&1|0)==(k[(k[q>>2]|0)+12>>2]|0)):0)break;k[g>>2]=0;break b}while(0);a=k[(k[h>>2]|0)+8>>2]|0;if(k[n>>2]|0){m=o;m=dW(a,k[m>>2]|0,k[m+4>>2]|0)|0;k[p>>2]=m}else{m=eW(a)|0;k[p>>2]=m}if(k[p>>2]|0)break a;if(!(l[(k[(k[h>>2]|0)+8>>2]|0)+16>>0]|0))k[g>>2]=0}while(0);k[h>>2]=k[(k[h>>2]|0)+12>>2]}a=(k[p>>2]|0?1:(k[g>>2]|0)!=0)&1;b=k[r>>2]|0}else{k[m>>2]=k[(k[f>>2]|0)+8>>2];a=k[m>>2]|0;if(k[n>>2]|0){o=dW(a,k[o>>2]|0,k[o+4>>2]|0)|0;k[p>>2]=o}else{o=eW(a)|0;k[p>>2]=o}if(k[p>>2]|0)a=1;else a=(l[(k[m>>2]|0)+16>>0]|0|0)!=0;a=a&1;b=k[r>>2]|0}k[b+4>>2]=a;if(k[(k[r>>2]|0)+4>>2]|0){r=k[p>>2]|0;u=s;return r|0}r=fW(k[q>>2]|0,k[r>>2]|0)|0;k[p>>2]=r;r=k[p>>2]|0;u=s;return r|0}function UV(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;m=p+40|0;n=p+36|0;o=p+32|0;i=p+28|0;j=p+8|0;f=p+24|0;g=p;h=p+20|0;l=p+16|0;k[n>>2]=a;k[o>>2]=b;k[i>>2]=c;c=j;k[c>>2]=d;k[c+4>>2]=e;c=(k[o>>2]|0)+16|0;d=k[c+4>>2]|0;e=g;k[e>>2]=k[c>>2];k[e+4>>2]=d;k[f>>2]=0;a:while(1){if((k[f>>2]|0)>=(k[(k[o>>2]|0)+28>>2]|0)){a=10;break}k[h>>2]=k[(k[o>>2]|0)+32+(k[f>>2]<<2)>>2];do if(!(k[(k[h>>2]|0)+4>>2]|0)){d=(k[h>>2]|0)+16|0;e=g;if(!((k[d>>2]|0)==(k[e>>2]|0)?(k[d+4>>2]|0)==(k[e+4>>2]|0):0)){if(!(k[i>>2]|0))break;d=(k[h>>2]|0)+16|0;e=j;if((_V(k[n>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0)>=0)break}e=j;e=Xb[k[(k[h>>2]|0)+12>>2]&255](k[n>>2]|0,k[h>>2]|0,k[i>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[l>>2]=e;if(k[l>>2]|0){a=8;break a}}while(0);k[f>>2]=(k[f>>2]|0)+1}if((a|0)==8){k[m>>2]=k[l>>2];o=k[m>>2]|0;u=p;return o|0}else if((a|0)==10){bW(k[n>>2]|0,k[o>>2]|0);k[m>>2]=0;o=k[m>>2]|0;u=p;return o|0}return 0}function VV(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+32|0;f=i+20|0;g=i+16|0;j=i+12|0;l=i;h=i+8|0;k[f>>2]=a;k[g>>2]=b;k[j>>2]=c;c=l;k[c>>2]=d;k[c+4>>2]=e;e=l;e=Xb[k[(k[(k[g>>2]|0)+32>>2]|0)+12>>2]&255](k[f>>2]|0,k[(k[g>>2]|0)+32>>2]|0,k[j>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[h>>2]=e;if(k[h>>2]|0){l=k[h>>2]|0;u=i;return l|0}l=$V(k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=l;l=k[h>>2]|0;u=i;return l|0}function WV(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+32|0;f=i+20|0;g=i+16|0;j=i+12|0;l=i;h=i+8|0;k[f>>2]=a;k[g>>2]=b;k[j>>2]=c;c=l;k[c>>2]=d;k[c+4>>2]=e;e=l;e=Xb[k[(k[(k[g>>2]|0)+32>>2]|0)+12>>2]&255](k[f>>2]|0,k[(k[g>>2]|0)+32>>2]|0,k[j>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[h>>2]=e;if(k[h>>2]|0){l=k[h>>2]|0;u=i;return l|0}l=XV(k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=l;l=k[h>>2]|0;u=i;return l|0}function XV(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=k[(k[d>>2]|0)+32>>2];k[g>>2]=k[(k[d>>2]|0)+32+4>>2];while(1){if(k[e>>2]|0)break;if(k[(k[f>>2]|0)+4>>2]|0)break;b=YV(k[c>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=b;if((k[h>>2]|0)>0){b=(k[f>>2]|0)+16|0;b=Xb[k[(k[g>>2]|0)+12>>2]&255](k[c>>2]|0,k[g>>2]|0,1,k[b>>2]|0,k[b+4>>2]|0)|0;k[e>>2]=b;b=YV(k[c>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=b}if(k[h>>2]|0)break;if(k[(k[g>>2]|0)+8>>2]|0)break;b=Xb[k[(k[f>>2]|0)+12>>2]&255](k[c>>2]|0,k[f>>2]|0,0,0,0)|0;k[e>>2]=b}k[(k[d>>2]|0)+4>>2]=k[(k[f>>2]|0)+4>>2];k[(k[d>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2];b=(k[f>>2]|0)+16|0;c=k[b+4>>2]|0;h=(k[d>>2]|0)+16|0;k[h>>2]=k[b>>2];k[h+4>>2]=c;if(!(k[(k[f>>2]|0)+4>>2]|0)){h=k[e>>2]|0;u=i;return h|0}ZV(k[g>>2]|0);h=k[e>>2]|0;u=i;return h|0}function YV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[(k[g>>2]|0)+4>>2]|0){k[d>>2]=-1;g=k[d>>2]|0;u=h;return g|0}if(k[(k[f>>2]|0)+4>>2]|0){k[d>>2]=1;g=k[d>>2]|0;u=h;return g|0}else{f=(k[f>>2]|0)+16|0;g=(k[g>>2]|0)+16|0;g=_V(k[e>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;u=h;return g|0}return 0}function ZV(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;if((k[k[b>>2]>>2]|0)!=11?(k[k[b>>2]>>2]|0)!=4:0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[b>>2]|0)+28>>2]|0))break;ZV(k[(k[b>>2]|0)+32+(k[f>>2]<<2)>>2]|0);k[f>>2]=(k[f>>2]|0)+1}u=g;return}k[c>>2]=k[(k[b>>2]|0)+24>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+8>>2]|0))break;k[e>>2]=k[(k[c>>2]|0)+12+(k[d>>2]<<2)>>2];k[(k[e>>2]|0)+4+4>>2]=0;k[d>>2]=(k[d>>2]|0)+1}u=g;return}function _V(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;f=i+20|0;j=i+16|0;g=i+8|0;h=i;k[j>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;b=h;k[b>>2]=d;k[b+4>>2]=e;b=g;a=k[b>>2]|0;b=k[b+4>>2]|0;d=h;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!(k[(k[j>>2]|0)+12>>2]|0))if((b|0)<(d|0)|(b|0)==(d|0)&a>>>0>>0){k[f>>2]=-1;j=k[f>>2]|0;u=i;return j|0}else{e=k[g+4>>2]|0;j=h;h=k[j+4>>2]|0;k[f>>2]=((e|0)>(h|0)|((e|0)==(h|0)?(k[g>>2]|0)>>>0>(k[j>>2]|0)>>>0:0))&1;j=k[f>>2]|0;u=i;return j|0}else if((b|0)>(d|0)|(b|0)==(d|0)&a>>>0>c>>>0){k[f>>2]=-1;j=k[f>>2]|0;u=i;return j|0}else{e=k[g+4>>2]|0;j=h;h=k[j+4>>2]|0;k[f>>2]=((e|0)<(h|0)|((e|0)==(h|0)?(k[g>>2]|0)>>>0<(k[j>>2]|0)>>>0:0))&1;j=k[f>>2]|0;u=i;return j|0}return 0}function $V(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+48|0;d=n+36|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n;i=n+20|0;j=n+16|0;l=n+12|0;c=n+8|0;k[e>>2]=a;k[f>>2]=b;o=(k[f>>2]|0)+16|0;a=k[o+4>>2]|0;b=h;k[b>>2]=k[o>>2];k[b+4>>2]=a;k[i>>2]=0;a:do{k[(k[f>>2]|0)+8>>2]=0;k[j>>2]=1;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[f>>2]|0)+28>>2]|0))break;k[l>>2]=k[(k[f>>2]|0)+32+(k[g>>2]<<2)>>2];b=h;o=(k[l>>2]|0)+16|0;o=_V(k[e>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[c>>2]=o;if((k[c>>2]|0)>0?(o=h,o=Xb[k[(k[l>>2]|0)+12>>2]&255](k[e>>2]|0,k[l>>2]|0,1,k[o>>2]|0,k[o+4>>2]|0)|0,k[i>>2]=o,k[i>>2]|0):0){m=6;break a}if(k[(k[l>>2]|0)+4>>2]|0){m=8;break}b=h;o=(k[l>>2]|0)+16|0;if((k[b>>2]|0)!=(k[o>>2]|0)?1:(k[b+4>>2]|0)!=(k[o+4>>2]|0)){k[j>>2]=0;a=(k[l>>2]|0)+16|0;b=k[a+4>>2]|0;o=h;k[o>>2]=k[a>>2];k[o+4>>2]=b}if(k[(k[l>>2]|0)+8>>2]|0)k[(k[f>>2]|0)+8>>2]=1;k[g>>2]=(k[g>>2]|0)+1}if((m|0)==8){m=0;aW(k[f>>2]|0);k[j>>2]=1}}while(!(k[j>>2]|0));if((m|0)==6){k[d>>2]=k[i>>2];o=k[d>>2]|0;u=n;return o|0}if(k[(k[f>>2]|0)+8>>2]|0?(k[f>>2]|0)!=(k[(k[e>>2]|0)+8>>2]|0):0)ZV(k[f>>2]|0);l=h;m=k[l+4>>2]|0;o=(k[f>>2]|0)+16|0;k[o>>2]=k[l>>2];k[o+4>>2]=m;k[d>>2]=0;o=k[d>>2]|0;u=n;return o|0}function aW(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[(k[b>>2]|0)+4>>2]=1;k[(k[b>>2]|0)+8>>2]=0;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+28>>2]|0))break;aW(k[(k[b>>2]|0)+32+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}u=d;return}function bW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+32>>2];k[f>>2]=1;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+28>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+32+(k[f>>2]<<2)>>2];b=YV(k[c>>2]|0,k[e>>2]|0,k[g>>2]|0)|0;k[h>>2]=b;if((k[h>>2]|0)<=0){if((k[h>>2]|0)==0?(k[(k[g>>2]|0)+8>>2]|0)==0:0)i=6}else i=6;if((i|0)==6){i=0;k[e>>2]=k[g>>2]}k[f>>2]=(k[f>>2]|0)+1}g=(k[e>>2]|0)+16|0;h=k[g+4>>2]|0;i=(k[d>>2]|0)+16|0;k[i>>2]=k[g>>2];k[i+4>>2]=h;k[(k[d>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];k[(k[d>>2]|0)+8>>2]=k[(k[e>>2]|0)+8>>2];u=j;return}function cW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;j=u;u=u+48|0;m=j+32|0;d=j+28|0;e=j+24|0;f=j+8|0;g=j+20|0;h=j+16|0;i=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=c;c=f;k[c>>2]=0;k[c+4>>2]=0;k[g>>2]=0;k[h>>2]=k[m>>2];while(1){if(!(k[h>>2]|0))break;do if(!(l[(k[(k[h>>2]|0)+8>>2]|0)+16>>0]|0)){b=k[(k[h>>2]|0)+8>>2]|0;c=k[b+4>>2]|0;m=i;k[m>>2]=k[b>>2];k[m+4>>2]=c;if(k[g>>2]|0?(c=i,a=k[c+4>>2]|0,m=f,b=k[m+4>>2]|0,(k[d>>2]|0)==(((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[m>>2]|0)>>>0:0))&1|0)):0)break;b=i;c=k[b+4>>2]|0;m=f;k[m>>2]=k[b>>2];k[m+4>>2]=c;k[g>>2]=1}while(0);k[h>>2]=k[(k[h>>2]|0)+12>>2]}if(!((k[e>>2]|0)!=0&(k[g>>2]|0)==0)){i=f;m=i;m=k[m>>2]|0;i=i+4|0;i=k[i>>2]|0;M=i;u=j;return m|0}k[k[e>>2]>>2]=1;i=f;m=i;m=k[m>>2]|0;i=i+4|0;i=k[i>>2]|0;M=i;u=j;return m|0}function dW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+12|0;f=d;e=d+8|0;k[g>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=k[g>>2];c=f;rW(k[(k[e>>2]|0)+24>>2]|0,k[e>>2]|0,k[c>>2]|0,k[c+4>>2]|0);c=LR(k[(k[e>>2]|0)+24>>2]|0)|0;u=d;return c|0}function eW(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];JR(k[(k[c>>2]|0)+24>>2]|0,k[c>>2]|0,0,0,0);a=LR(k[(k[c>>2]|0)+24>>2]|0)|0;u=b;return a|0}function fW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+80|0;m=r+64|0;n=r+60|0;o=r+56|0;j=r+52|0;s=r+48|0;p=r+44|0;q=r+8|0;l=r+40|0;c=r+36|0;d=r+32|0;e=r+28|0;f=r+24|0;g=r+20|0;h=r;i=r+16|0;k[n>>2]=a;k[o>>2]=b;k[j>>2]=k[(k[o>>2]|0)+24>>2];k[s>>2]=k[(k[j>>2]|0)+12>>2];k[p>>2]=0;k[e>>2]=k[(k[n>>2]|0)+12>>2];a=(k[s>>2]|0)+20|0;if(k[(k[s>>2]|0)+20+12>>2]|0){b=cW(a,k[e>>2]|0,0)|0;s=q;k[s>>2]=b;k[s+4>>2]=M}else{a=k[a+8>>2]|0;b=k[a+4>>2]|0;s=q;k[s>>2]=k[a>>2];k[s+4>>2]=b}a:while(1){k[d>>2]=1;k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[(k[j>>2]|0)+8>>2]|0))break;k[f>>2]=k[(k[j>>2]|0)+12+(k[l>>2]<<2)>>2];k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[f>>2]|0)+16>>2]|0))break;k[g>>2]=(k[f>>2]|0)+20+(k[c>>2]<<4);if(k[(k[g>>2]|0)+12>>2]|0){s=cW(k[g>>2]|0,k[e>>2]|0,0)|0;b=h;k[b>>2]=s;k[b+4>>2]=M;b=h;s=q;if(!((k[b>>2]|0)==(k[s>>2]|0)?(k[b+4>>2]|0)==(k[s+4>>2]|0):0)?(k[d>>2]=0,gW(k[g>>2]|0,k[e>>2]|0,q,p)|0):0){a=11;break a}}else{k[i>>2]=k[(k[f>>2]|0)+20+(k[c>>2]<<4)+8>>2];b=k[i>>2]|0;s=q;if(!((k[b>>2]|0)==(k[s>>2]|0)?(k[b+4>>2]|0)==(k[s+4>>2]|0):0)?(k[d>>2]=0,hW(k[i>>2]|0,k[e>>2]|0,q,p,(k[o>>2]|0)+4|0)|0):0){a=14;break a}}k[c>>2]=(k[c>>2]|0)+1}k[l>>2]=(k[l>>2]|0)+1}if(k[d>>2]|0){a=18;break}}if((a|0)==11){k[(k[o>>2]|0)+8>>2]=0;k[(k[o>>2]|0)+4>>2]=1;k[m>>2]=k[p>>2];s=k[m>>2]|0;u=r;return s|0}else if((a|0)==14){k[m>>2]=k[p>>2];s=k[m>>2]|0;u=r;return s|0}else if((a|0)==18){l=q;q=k[l+4>>2]|0;s=(k[o>>2]|0)+16|0;k[s>>2]=k[l>>2];k[s+4>>2]=q;s=0==(iW(p,k[n>>2]|0,k[o>>2]|0)|0);k[(k[o>>2]|0)+8>>2]=(s?(k[p>>2]|0)==0:0)&1;k[m>>2]=k[p>>2];s=k[m>>2]|0;u=r;return s|0}return 0}function gW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;h=p+40|0;i=p+36|0;j=p+32|0;m=p+28|0;n=p+24|0;o=p+8|0;e=p+20|0;f=p+16|0;g=p;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=0;b=k[j>>2]|0;c=k[b+4>>2]|0;d=o;k[d>>2]=k[b>>2];k[d+4>>2]=c;k[f>>2]=0;k[e>>2]=k[h>>2];while(1){if(!((k[n>>2]|0)==0?(k[e>>2]|0)!=0:0))break;do if(!(l[(k[(k[e>>2]|0)+8>>2]|0)+16>>0]|0)){b=k[(k[e>>2]|0)+8>>2]|0;c=k[b+4>>2]|0;d=g;k[d>>2]=k[b>>2];k[d+4>>2]=c;if(!((k[i>>2]|0)==0?(c=o,a=k[c+4>>2]|0,d=g,b=k[d+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0>(k[d>>2]|0)>>>0:0)):0)){if(!(k[i>>2]|0))break;c=o;a=k[c+4>>2]|0;d=g;b=k[d+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[d>>2]|0)>>>0:0)))break}d=o;d=dW(k[(k[e>>2]|0)+8>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[n>>2]=d}while(0);k[e>>2]=k[(k[e>>2]|0)+12>>2]}if(k[n>>2]|0){k[k[m>>2]>>2]=k[n>>2];k[f>>2]=1;o=k[f>>2]|0;u=p;return o|0}else{n=cW(k[h>>2]|0,k[i>>2]|0,f)|0;o=k[j>>2]|0;k[o>>2]=n;k[o+4>>2]=M;o=k[f>>2]|0;u=p;return o|0}return 0}function hW(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;j=q+40|0;m=q+36|0;n=q+32|0;o=q+28|0;p=q+24|0;f=q+20|0;g=q+8|0;h=q;i=q+16|0;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[f>>2]=e;e=k[o>>2]|0;d=k[e+4>>2]|0;c=g;k[c>>2]=k[e>>2];k[c+4>>2]=d;c=k[m>>2]|0;d=k[c+4>>2]|0;e=h;k[e>>2]=k[c>>2];k[e+4>>2]=d;if((k[n>>2]|0)==0?(d=g,b=k[d+4>>2]|0,e=h,c=k[e+4>>2]|0,(b|0)>(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0>(k[e>>2]|0)>>>0:0)):0)a=5;else a=3;if(((a|0)==3?k[n>>2]|0:0)?(e=g,c=k[e+4>>2]|0,n=h,d=k[n+4>>2]|0,(c|0)<(d|0)|((c|0)==(d|0)?(k[e>>2]|0)>>>0<(k[n>>2]|0)>>>0:0)):0)a=5;do if((a|0)==5){n=g;n=dW(k[m>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[i>>2]=n;if((k[i>>2]|0)==0?(l[(k[m>>2]|0)+16>>0]|0|0)==0:0){m=k[m>>2]|0;n=k[m+4>>2]|0;p=h;k[p>>2]=k[m>>2];k[p+4>>2]=n;break}k[k[p>>2]>>2]=k[i>>2];k[k[f>>2]>>2]=1;k[j>>2]=1;p=k[j>>2]|0;u=q;return p|0}while(0);m=h;n=k[m+4>>2]|0;p=k[o>>2]|0;k[p>>2]=k[m>>2];k[p+4>>2]=n;k[j>>2]=0;p=k[j>>2]|0;u=q;return p|0}function iW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=u;u=u+64|0;j=s+48|0;m=s+44|0;t=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;q=s+24|0;d=s+20|0;e=s+16|0;f=s+12|0;g=s+8|0;h=s+4|0;i=s;k[m>>2]=a;k[t>>2]=b;k[n>>2]=c;k[o>>2]=k[(k[n>>2]|0)+24>>2];k[p>>2]=k[k[m>>2]>>2];if(k[(k[(k[t>>2]|0)+4>>2]|0)+48>>2]|0){k[d>>2]=k[(k[o>>2]|0)+12>>2];k[(k[d>>2]|0)+4+4>>2]=0;k[q>>2]=(k[d>>2]|0)+20;while(1){if(!(k[q>>2]|0))break;k[e>>2]=k[(k[q>>2]|0)+8>>2];if(((l[(k[e>>2]|0)+16>>0]|0|0)==0?(r=k[e>>2]|0,t=(k[n>>2]|0)+16|0,(k[r>>2]|0)==(k[t>>2]|0)?(k[r+4>>2]|0)==(k[t+4>>2]|0):0):0)?(k[(k[e>>2]|0)+12>>2]|0)>0:0)k[(k[d>>2]|0)+4+4>>2]=1;k[q>>2]=k[(k[q>>2]|0)+12>>2]}k[j>>2]=k[(k[d>>2]|0)+4+4>>2];t=k[j>>2]|0;u=s;return t|0}k[f>>2]=0;while(1){if(k[p>>2]|0)break;if((k[f>>2]|0)>=(k[(k[o>>2]|0)+8>>2]|0))break;k[g>>2]=k[(k[o>>2]|0)+12+(k[f>>2]<<2)>>2];if(((k[(k[g>>2]|0)+16>>2]|0)<=1?!(k[(k[g>>2]|0)+20+12>>2]|0):0)?!(k[(k[o>>2]|0)+4>>2]|0):0){k[i>>2]=k[(k[g>>2]|0)+20+8>>2];GR(p,(k[g>>2]|0)+4|0,k[(k[i>>2]|0)+12>>2]|0,k[(k[i>>2]|0)+8>>2]|0)}else r=16;if((r|0)==16?(r=0,k[h>>2]=0,t=jW(k[n>>2]|0,k[g>>2]|0,h)|0,k[p>>2]=t,(k[h>>2]|0)==0):0)break;k[f>>2]=(k[f>>2]|0)+1}k[k[m>>2]>>2]=k[p>>2];do if((k[f>>2]|0)==(k[(k[o>>2]|0)+8>>2]|0)){if((k[f>>2]|0)!=1?(kW(k[m>>2]|0,k[o>>2]|0)|0)==0:0)break;k[j>>2]=1;t=k[j>>2]|0;u=s;return t|0}while(0);k[j>>2]=0;t=k[j>>2]|0;u=s;return t|0}function jW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+192|0;w=A+184|0;l=A+180|0;x=A+176|0;r=A+172|0;s=A+112|0;y=A+16|0;z=A+168|0;t=A+164|0;v=A+160|0;d=A+156|0;e=A+152|0;f=A+148|0;g=A+144|0;h=A+140|0;j=A+128|0;n=A+124|0;o=A+8|0;p=A+120|0;q=A;k[l>>2]=a;k[x>>2]=b;k[r>>2]=c;k[s>>2]=0;k[s+4>>2]=0;k[z>>2]=y;k[v>>2]=0;HS((k[x>>2]|0)+4|0);if((k[(k[x>>2]|0)+16>>2]|0)>4?(k[d>>2]=(k[(k[x>>2]|0)+16>>2]|0)*24,c=ze(k[d>>2]|0)|0,k[z>>2]=c,(k[z>>2]|0)==0):0){k[w>>2]=7;z=k[w>>2]|0;u=A;return z|0}w0(k[z>>2]|0,0,(k[(k[x>>2]|0)+16>>2]|0)*24|0)|0;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[x>>2]|0)+16>>2]|0)){m=14;break}k[e>>2]=(k[x>>2]|0)+20+(k[t>>2]<<4);k[f>>2]=0;k[g>>2]=0;k[h>>2]=0;if(k[(k[e>>2]|0)+12>>2]|0){k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;a=(k[l>>2]|0)+16|0;a=oW(k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0,j,h,f)|0;k[v>>2]=a;a=k[h>>2]|0;if(k[v>>2]|0){m=8;break}if((a|0)==(k[j>>2]|0))k[g>>2]=1}else{k[h>>2]=k[(k[(k[e>>2]|0)+8>>2]|0)+8>>2];k[f>>2]=k[(k[(k[e>>2]|0)+8>>2]|0)+12>>2]}pW(k[h>>2]|0,k[f>>2]|0,(k[z>>2]|0)+((k[t>>2]|0)*24|0)|0)|0;i[(k[z>>2]|0)+((k[t>>2]|0)*24|0)+12>>0]=k[g>>2];if(i[(k[z>>2]|0)+((k[t>>2]|0)*24|0)+13>>0]|0)break;k[t>>2]=(k[t>>2]|0)+1}a:do if((m|0)==8)ie(a);else if((m|0)==14)b:while(1){j=(k[z>>2]|0)+16|0;l=k[j+4>>2]|0;m=o;k[m>>2]=k[j>>2];k[m+4>>2]=l;do{k[n>>2]=1;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[x>>2]|0)+16>>2]|0))break;k[p>>2]=(k[z>>2]|0)+((k[t>>2]|0)*24|0);l=o;m=k[t>>2]|0;m=i0(k[l>>2]|0,k[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;l=q;k[l>>2]=m;k[l+4>>2]=M;l=(k[p>>2]|0)+16|0;m=q;if((k[l>>2]|0)!=(k[m>>2]|0)?1:(k[l+4>>2]|0)!=(k[m+4>>2]|0)){k[n>>2]=0;while(1){l=(k[p>>2]|0)+16|0;h=k[l+4>>2]|0;m=q;j=k[m+4>>2]|0;a=k[p>>2]|0;if(!((h|0)<(j|0)|((h|0)==(j|0)?(k[l>>2]|0)>>>0<(k[m>>2]|0)>>>0:0)))break;if(qW(a)|0)break a}l=a+16|0;h=k[l+4>>2]|0;m=q;j=k[m+4>>2]|0;if((h|0)>(j|0)|((h|0)==(j|0)?(k[l>>2]|0)>>>0>(k[m>>2]|0)>>>0:0)){m=(k[p>>2]|0)+16|0;l=k[t>>2]|0;l=h0(k[m>>2]|0,k[m+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;m=o;k[m>>2]=l;k[m+4>>2]=M}}k[t>>2]=(k[t>>2]|0)+1}}while(!(k[n>>2]|0));m=o;m=nW((k[x>>2]|0)+4|0,s,k[m>>2]|0,k[m+4>>2]|0)|0;k[v>>2]=m;if(k[v>>2]|0)break a;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[x>>2]|0)+16>>2]|0)){m=14;continue b}if(qW((k[z>>2]|0)+((k[t>>2]|0)*24|0)|0)|0)break a;k[t>>2]=(k[t>>2]|0)+1}}while(0);k[k[r>>2]>>2]=(k[(k[x>>2]|0)+4+4>>2]|0)>0&1;k[t>>2]=0;while(1){a=k[z>>2]|0;if((k[t>>2]|0)>=(k[(k[x>>2]|0)+16>>2]|0))break;if(i[a+((k[t>>2]|0)*24|0)+12>>0]|0)ie(k[(k[z>>2]|0)+((k[t>>2]|0)*24|0)>>2]|0);k[t>>2]=(k[t>>2]|0)+1}if((a|0)!=(y|0))ie(k[z>>2]|0);k[w>>2]=k[v>>2];z=k[w>>2]|0;u=A;return z|0}function kW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+272|0;o=w+268|0;p=w+264|0;q=w+260|0;r=w+24|0;s=w+256|0;e=w+252|0;t=w+248|0;v=w+244|0;f=w+240|0;c=w+236|0;d=w+232|0;g=w+228|0;h=w+16|0;i=w+8|0;j=w+224|0;l=w;m=w+220|0;n=w+216|0;k[p>>2]=a;k[q>>2]=b;k[s>>2]=r;k[e>>2]=(k[q>>2]|0)+12;k[v>>2]=k[k[p>>2]>>2];if((k[(k[q>>2]|0)+8>>2]|0)>4){k[c>>2]=(k[(k[q>>2]|0)+8>>2]|0)*48;c=nT(v,k[c>>2]|0)|0;k[s>>2]=c}else w0(r|0,0,192)|0;if(k[v>>2]|0){k[k[p>>2]>>2]=k[v>>2];k[o>>2]=0;v=k[o>>2]|0;u=w;return v|0}k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[q>>2]|0)+8>>2]|0))break;k[d>>2]=(k[(k[e>>2]|0)+(k[t>>2]<<2)>>2]|0)+4;lW(k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0,(k[s>>2]|0)+((k[t>>2]|0)*48|0)|0)|0;k[(k[d>>2]|0)+4>>2]=0;k[(k[s>>2]|0)+((k[t>>2]|0)*48|0)+40>>2]=k[d>>2];k[t>>2]=(k[t>>2]|0)+1}a:do{c=(k[s>>2]|0)+16|0;d=k[c+4>>2]|0;e=i;k[e>>2]=k[c>>2];k[e+4>>2]=d;do{k[f>>2]=1;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[q>>2]|0)+8>>2]|0))break;k[j>>2]=(k[s>>2]|0)+((k[t>>2]|0)*48|0);b=i;d=k[(k[(k[q>>2]|0)+12+(k[t>>2]<<2)>>2]|0)+16>>2]|0;d=h0(k[b>>2]|0,k[b+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;b=k[k[q>>2]>>2]|0;b=h0(d|0,M|0,b|0,((b|0)<0)<<31>>31|0)|0;d=h;k[d>>2]=b;k[d+4>>2]=M;d=(k[j>>2]|0)+16|0;b=k[d+4>>2]|0;e=h;c=k[e+4>>2]|0;if(!(!((b|0)<(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0<(k[e>>2]|0)>>>0:0))?(d=(k[j>>2]|0)+16|0,b=k[d+4>>2]|0,e=i,c=k[e+4>>2]|0,!((b|0)>(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0>(k[e>>2]|0)>>>0:0))):0)){k[f>>2]=0;while(1){d=(k[j>>2]|0)+16|0;b=k[d+4>>2]|0;e=h;c=k[e+4>>2]|0;a=k[j>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0<(k[e>>2]|0)>>>0:0)))break;if(mW(a)|0)break a}d=a+16|0;b=k[d+4>>2]|0;e=i;c=k[e+4>>2]|0;if((b|0)>(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0>(k[e>>2]|0)>>>0:0)){c=(k[j>>2]|0)+16|0;d=k[c+4>>2]|0;e=i;k[e>>2]=k[c>>2];k[e+4>>2]=d}}k[t>>2]=(k[t>>2]|0)+1}}while(!(k[f>>2]|0));k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[q>>2]|0)+8>>2]|0))break;c=(k[s>>2]|0)+((k[t>>2]|0)*48|0)+16|0;d=k[c+4>>2]|0;e=l;k[e>>2]=k[c>>2];k[e+4>>2]=d;k[m>>2]=(k[s>>2]|0)+((k[t>>2]|0)*48|0)+32;if(!((k[(k[(k[s>>2]|0)+((k[t>>2]|0)*48|0)+40>>2]|0)+4>>2]|0)!=0?(d=l,e=k[m>>2]|0,!((k[d>>2]|0)!=(k[e>>2]|0)?1:(k[d+4>>2]|0)!=(k[e+4>>2]|0))):0)){e=l;nW(k[(k[s>>2]|0)+((k[t>>2]|0)*48|0)+40>>2]|0,k[m>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0}k[t>>2]=(k[t>>2]|0)+1}k[g>>2]=0;c=(k[s>>2]|0)+24|0;d=k[c+4>>2]|0;e=h;k[e>>2]=k[c>>2];k[e+4>>2]=d;k[t>>2]=0;while(1){a=k[s>>2]|0;if((k[t>>2]|0)>=(k[(k[q>>2]|0)+8>>2]|0))break;d=a+((k[t>>2]|0)*48|0)+24|0;b=k[d+4>>2]|0;e=h;c=k[e+4>>2]|0;if((b|0)<(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0<(k[e>>2]|0)>>>0:0)){c=(k[s>>2]|0)+((k[t>>2]|0)*48|0)+24|0;d=k[c+4>>2]|0;e=h;k[e>>2]=k[c>>2];k[e+4>>2]=d;k[g>>2]=k[t>>2]}k[t>>2]=(k[t>>2]|0)+1}}while(!(mW(a+((k[g>>2]|0)*48|0)|0)|0));k[n>>2]=(k[(k[(k[s>>2]|0)+40>>2]|0)+4>>2]|0)>0&1;k[k[p>>2]>>2]=k[v>>2];if((k[s>>2]|0)!=(r|0))ie(k[s>>2]|0);k[o>>2]=k[n>>2];v=k[o>>2]|0;u=w;return v|0}function lW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=k[e>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[c+24>>2]=0;k[c+28>>2]=0;k[k[e>>2]>>2]=k[g>>2];k[(k[e>>2]|0)+4>>2]=k[f>>2];mW(k[e>>2]|0)|0;c=mW(k[e>>2]|0)|0;u=d;return c|0}function mW(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;b=c;k[b>>2]=a;e=(k[b>>2]|0)+24|0;d=k[e+4>>2]|0;a=(k[b>>2]|0)+16|0;k[a>>2]=k[e>>2];k[a+4>>2]=d;if(HR(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+4>>2]|0,(k[b>>2]|0)+8|0,(k[b>>2]|0)+24|0)|0){e=(k[b>>2]|0)+24|0;k[e>>2]=0;k[e+4>>2]=1073741824}e=(k[b>>2]|0)+16|0;u=c;return ((k[e>>2]|0)==0?(k[e+4>>2]|0)==1073741824:0)&1|0}function nW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=0;if(((k[(k[f>>2]|0)+4>>2]|0)+15|0)>>>0>(k[(k[f>>2]|0)+8>>2]|0)>>>0?mS(i,k[f>>2]|0,15+(k[(k[f>>2]|0)+4>>2]|0)|0)|0:0){k[e>>2]=k[i>>2];i=k[e>>2]|0;u=j;return i|0}i=h;qT(k[f>>2]|0,k[g>>2]|0,k[i>>2]|0,k[i+4>>2]|0);k[e>>2]=0;i=k[e>>2]|0;u=j;return i|0}function oW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+192|0;B=A+176|0;n=A+120|0;y=A+172|0;z=A+168|0;o=A+164|0;p=A+24|0;q=A+160|0;r=A+156|0;g=A+152|0;s=A+148|0;h=A+144|0;i=A+140|0;j=A+136|0;m=A+132|0;t=A+16|0;v=A+8|0;w=A+128|0;x=A;k[B>>2]=a;a=n;k[a>>2]=b;k[a+4>>2]=c;k[y>>2]=d;k[z>>2]=e;k[o>>2]=f;k[q>>2]=p;k[r>>2]=0;k[g>>2]=4;k[s>>2]=0;k[h>>2]=k[B>>2];while(1){if(!(k[h>>2]|0)){a=14;break}k[i>>2]=k[(k[h>>2]|0)+8>>2];if(((l[(k[i>>2]|0)+16>>0]|0|0)==0?(f=k[i>>2]|0,B=n,(k[f>>2]|0)==(k[B>>2]|0)?(k[f+4>>2]|0)==(k[B+4>>2]|0):0):0)?k[(k[i>>2]|0)+12>>2]|0:0){if((k[r>>2]|0)==(k[g>>2]|0)){k[j>>2]=(k[g>>2]|0)*24<<1;B=ze(k[j>>2]|0)|0;k[m>>2]=B;if(!(k[m>>2]|0)){a=8;break}r0(k[m>>2]|0,k[q>>2]|0,(k[r>>2]|0)*24|0)|0;k[g>>2]=k[g>>2]<<1;if((k[q>>2]|0)!=(p|0))ie(k[q>>2]|0);k[q>>2]=k[m>>2]}pW(k[(k[i>>2]|0)+8>>2]|0,k[(k[i>>2]|0)+12>>2]|0,(k[q>>2]|0)+((k[r>>2]|0)*24|0)|0)|0;k[r>>2]=(k[r>>2]|0)+1}k[h>>2]=k[(k[h>>2]|0)+12>>2]}do if((a|0)==8)k[s>>2]=7;else if((a|0)==14){if((k[r>>2]|0)==1){k[k[z>>2]>>2]=k[k[q>>2]>>2];k[k[o>>2]>>2]=k[(k[q>>2]|0)+4>>2];break};k[t>>2]=0;k[t+4>>2]=0;B=v;k[B>>2]=-1;k[B+4>>2]=-1;HS(k[y>>2]|0);while(1){B=x;k[B>>2]=-1;k[B+4>>2]=2147483647;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[r>>2]|0))break;do if(!(l[(k[q>>2]|0)+((k[w>>2]|0)*24|0)+13>>0]|0)){n=(k[q>>2]|0)+((k[w>>2]|0)*24|0)+16|0;B=v;if(((k[n>>2]|0)==(k[B>>2]|0)?(k[n+4>>2]|0)==(k[B+4>>2]|0):0)?qW((k[q>>2]|0)+((k[w>>2]|0)*24|0)|0)|0:0)break;n=(k[q>>2]|0)+((k[w>>2]|0)*24|0)+16|0;e=k[n+4>>2]|0;B=x;f=k[B+4>>2]|0;if((e|0)<(f|0)|((e|0)==(f|0)?(k[n>>2]|0)>>>0<(k[B>>2]|0)>>>0:0)){f=(k[q>>2]|0)+((k[w>>2]|0)*24|0)+16|0;n=k[f+4>>2]|0;B=x;k[B>>2]=k[f>>2];k[B+4>>2]=n}}while(0);k[w>>2]=(k[w>>2]|0)+1}B=x;if(((k[B>>2]|0)==-1?(k[B+4>>2]|0)==2147483647:0)|(k[s>>2]|0)!=0)break;f=x;f=nW(k[y>>2]|0,t,k[f>>2]|0,k[f+4>>2]|0)|0;k[s>>2]=f;f=x;n=k[f+4>>2]|0;B=v;k[B>>2]=k[f>>2];k[B+4>>2]=n}if(!(k[s>>2]|0)){k[k[z>>2]>>2]=k[k[y>>2]>>2];k[k[o>>2]>>2]=k[(k[y>>2]|0)+4>>2]}}while(0);if((k[q>>2]|0)==(p|0)){B=k[s>>2]|0;u=A;return B|0}ie(k[q>>2]|0);B=k[s>>2]|0;u=A;return B|0}function pW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=u;u=u+16|0;g=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[d>>2]=c;c=k[d>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[k[d>>2]>>2]=k[g>>2];k[(k[d>>2]|0)+4>>2]=k[f>>2];qW(k[d>>2]|0)|0;u=e;return l[(k[d>>2]|0)+13>>0]|0|0}function qW(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(HR(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+4>>2]|0,(k[b>>2]|0)+8|0,(k[b>>2]|0)+16|0)|0)i[(k[b>>2]|0)+13>>0]=1;u=c;return l[(k[b>>2]|0)+13>>0]|0|0}function rW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;e=i+20|0;f=i+16|0;g=i+8|0;h=i;k[e>>2]=a;k[f>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;while(1){d=g;JR(k[e>>2]|0,k[f>>2]|0,1,k[d>>2]|0,k[d+4>>2]|0);if(XS(k[e>>2]|0,k[f>>2]|0)|0){a=7;break}c=sW(k[f>>2]|0)|0;d=h;k[d>>2]=c;k[d+4>>2]=M;if((k[(k[f>>2]|0)+56>>2]|0)==0?(c=h,a=k[c+4>>2]|0,d=g,b=k[d+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0>=(k[d>>2]|0)>>>0:0)):0){a=7;break}if(!(k[(k[f>>2]|0)+56>>2]|0))continue;c=h;a=k[c+4>>2]|0;d=g;b=k[d+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<=(k[d>>2]|0)>>>0:0)){a=7;break}}if((a|0)==7){u=i;return}}function sW(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+80+((m[(k[(k[c>>2]|0)+72>>2]|0)+4>>1]|0)*88|0)+72|0;M=k[a+4>>2]|0;u=b;return k[a>>2]|0}function tW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[(k[c>>2]|0)+24>>2]|0)+12>>2];k[e>>2]=k[(k[d>>2]|0)+20+8>>2];k[(k[d>>2]|0)+4+4>>2]=k[(k[e>>2]|0)+12>>2];if(!(k[(k[(k[g>>2]|0)+4>>2]|0)+48>>2]|0))k[(k[d>>2]|0)+4>>2]=k[(k[e>>2]|0)+8>>2];b=k[e>>2]|0;e=k[b+4>>2]|0;g=(k[c>>2]|0)+16|0;k[g>>2]=k[b>>2];k[g+4>>2]=e;k[(k[c>>2]|0)+8>>2]=(k[(k[d>>2]|0)+4+4>>2]|0)==0&1;u=f;return 0}function uW(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;i[b>>0]=a;if(((i[b>>0]|0)!=32?(i[b>>0]|0)!=9:0)?(i[b>>0]|0)!=10:0)a=(i[b>>0]|0)==13;else a=1;u=c;return a&1|0}function vW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;g=o+28|0;h=o+24|0;m=o+20|0;j=o+16|0;n=o+12|0;l=o+8|0;e=o+4|0;f=o;k[g>>2]=a;k[h>>2]=b;k[m>>2]=c;k[j>>2]=d;k[n>>2]=0;d=q$(k[h>>2]|0)|0;k[l>>2]=d;d=ze((k[l>>2]|0)+1|0)|0;k[e>>2]=d;k[k[j>>2]>>2]=0;k[k[m>>2]>>2]=0;do if(k[e>>2]|0){r0(k[e>>2]|0,k[h>>2]|0,(k[l>>2]|0)+1|0)|0;if(FW(i[k[e>>2]>>0]|0)|0){l=cU(k[e>>2]|0)|0;k[f>>2]=l;k[n>>2]=(k[h>>2]|0)+(k[f>>2]|0);k[k[j>>2]>>2]=1;break}l=ST(k[h>>2]|0)|0;k[n>>2]=l;if(k[n>>2]|0)i[(k[e>>2]|0)+((k[n>>2]|0)-(k[h>>2]|0))>>0]=0}else k[k[g>>2]>>2]=7;while(0);a=k[e>>2]|0;if(!(k[n>>2]|0)){ie(a);n=k[n>>2]|0;u=o;return n|0}else{k[k[m>>2]>>2]=a;n=k[n>>2]|0;u=o;return n|0}return 0}function wW(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=u;u=u+160|0;n=L+80|0;m=L+72|0;l=L+64|0;j=L+56|0;q=L+48|0;h=L+40|0;G=L+32|0;o=L+24|0;x=L+16|0;w=L+8|0;v=L;J=L+156|0;F=L+152|0;K=L+148|0;g=L+144|0;p=L+140|0;H=L+136|0;I=L+132|0;f=L+128|0;r=L+120|0;s=L+116|0;t=L+112|0;z=L+108|0;A=L+104|0;B=L+100|0;C=L+96|0;D=L+92|0;E=L+88|0;k[F>>2]=a;k[K>>2]=b;k[g>>2]=c;k[p>>2]=d;k[H>>2]=e;k[I>>2]=0;e=q$(k[g>>2]|0)|0;k[f>>2]=e;if(!(vd(46902,k[g>>2]|0,k[f>>2]|0)|0)){k[L+124>>2]=124;k[s>>2]=1;if((k[(k[K>>2]|0)+28>>2]|0)==0?(G=nT(I,124)|0,k[(k[K>>2]|0)+28>>2]=G,k[I>>2]|0):0){k[J>>2]=k[I>>2];K=k[J>>2]|0;u=L;return K|0}k[r>>2]=k[p>>2];while(1){k[t>>2]=0;while(1){if((i[k[r>>2]>>0]|0)!=32)break;k[r>>2]=(k[r>>2]|0)+1}a:do if((k[s>>2]|0)==0?(i[k[r>>2]>>0]|0)==44:0){k[r>>2]=(k[r>>2]|0)+1;while(1){if((i[k[r>>2]>>0]|0)!=32)break a;k[r>>2]=(k[r>>2]|0)+1}}else y=14;while(0);if((y|0)==14?(y=0,(i[k[r>>2]>>0]|0)==0):0)break;if((i[k[r>>2]>>0]|0)<48){y=17;break}if((i[k[r>>2]>>0]|0)>57){y=17;break}if((k[(k[K>>2]|0)+24>>2]|0)==31){y=19;break}while(1){if((i[k[r>>2]>>0]|0)>=48?(i[k[r>>2]>>0]|0)<=57:0)a=(k[t>>2]|0)<1e3;else a=0;b=k[t>>2]|0;if(!a)break;k[t>>2]=(b*10|0)+((i[k[r>>2]>>0]|0)-48);k[r>>2]=(k[r>>2]|0)+1}if((b|0)<=0|(k[t>>2]|0)>=1e3){y=26;break}k[(k[(k[K>>2]|0)+28>>2]|0)+(k[(k[K>>2]|0)+24>>2]<<2)>>2]=k[t>>2];G=(k[K>>2]|0)+24|0;k[G>>2]=(k[G>>2]|0)+1;k[s>>2]=0}if((y|0)==17){K=xf(50062,v)|0;k[k[H>>2]>>2]=K;k[I>>2]=1}else if((y|0)==19){k[w>>2]=31;K=xf(50093,w)|0;k[k[H>>2]>>2]=K;k[I>>2]=1}else if((y|0)==26){K=xf(50126,x)|0;k[k[H>>2]>>2]=K;k[I>>2]=1}k[J>>2]=k[I>>2];K=k[J>>2]|0;u=L;return K|0}if(!(vd(46131,k[g>>2]|0,k[f>>2]|0)|0)){k[z>>2]=k[p>>2];y=(q$(k[p>>2]|0)|0)+1|0;k[A>>2]=y;y=nT(I,k[A>>2]<<2)|0;k[B>>2]=y;y=nT(I,k[A>>2]<<1)|0;k[C>>2]=y;k[D>>2]=k[C>>2];do if((k[B>>2]|0)!=0&(k[D>>2]|0)!=0){if(k[(k[K>>2]|0)+56>>2]|0){K=xf(50163,o)|0;k[k[H>>2]>>2]=K;k[I>>2]=1;break}k[A>>2]=0;while(1){if(k[z>>2]|0)b=(i[k[z>>2]>>0]|0)!=0;else b=0;a=k[z>>2]|0;if(!b)break;a=RT(a)|0;k[E>>2]=a;a=k[E>>2]|0;if((i[k[E>>2]>>0]|0)==39){y=UT(a)|0;k[z>>2]=y}else{y=ST(a)|0;k[z>>2]=y}if(k[z>>2]|0){r0(k[D>>2]|0,k[E>>2]|0,(k[z>>2]|0)-(k[E>>2]|0)|0)|0;k[(k[B>>2]|0)+(k[A>>2]<<2)>>2]=k[D>>2];bU(k[D>>2]|0);k[D>>2]=(k[D>>2]|0)+((k[z>>2]|0)-(k[E>>2]|0)+1);y=RT(k[z>>2]|0)|0;k[z>>2]=y}k[A>>2]=(k[A>>2]|0)+1}if(!a){K=xf(50196,G)|0;k[k[H>>2]>>2]=K;k[I>>2]=1;break}else{K=CW(k[F>>2]|0,k[B>>2]|0,k[A>>2]|0,(k[K>>2]|0)+56|0,(k[K>>2]|0)+60|0,k[H>>2]|0)|0;k[I>>2]=K;break}}while(0);ie(k[B>>2]|0);ie(k[C>>2]|0);k[J>>2]=k[I>>2];K=k[J>>2]|0;u=L;return K|0}if(!(vd(46221,k[g>>2]|0,k[f>>2]|0)|0)){do if(!(k[(k[K>>2]|0)+32>>2]|0)){a=(k[K>>2]|0)+32|0;if(i[k[p>>2]>>0]|0){k[a>>2]=2;H=k[p>>2]|0;k[q>>2]=k[(k[K>>2]|0)+4>>2];k[q+4>>2]=H;H=OT(I,50262,q)|0;k[(k[K>>2]|0)+36>>2]=H;break}else{k[a>>2]=1;break}}else{K=xf(50230,h)|0;k[k[H>>2]>>2]=K;k[I>>2]=1}while(0);k[J>>2]=k[I>>2];K=k[J>>2]|0;u=L;return K|0}if(!(vd(50268,k[g>>2]|0,k[f>>2]|0)|0)){if(k[(k[K>>2]|0)+40>>2]|0){K=xf(50282,j)|0;k[k[H>>2]>>2]=K;k[I>>2]=1}else{H=dU(I,k[p>>2]|0,-1)|0;k[(k[K>>2]|0)+40>>2]=H}k[J>>2]=k[I>>2];K=k[J>>2]|0;u=L;return K|0}if(!(vd(50320,k[g>>2]|0,k[f>>2]|0)|0)){if((i[k[p>>2]>>0]|0)!=48?(i[k[p>>2]>>0]|0)!=49:0)y=63;else if(i[(k[p>>2]|0)+1>>0]|0)y=63;else k[(k[K>>2]|0)+44>>2]=(i[k[p>>2]>>0]|0)==49&1;if((y|0)==63){K=xf(50331,l)|0;k[k[H>>2]>>2]=K;k[I>>2]=1}k[J>>2]=k[I>>2];K=k[J>>2]|0;u=L;return K|0}else{if(vd(25281,k[g>>2]|0,k[f>>2]|0)|0){K=k[g>>2]|0;k[n>>2]=k[f>>2];k[n+4>>2]=K;K=xf(50397,n)|0;k[k[H>>2]>>2]=K;k[J>>2]=1;K=k[J>>2]|0;u=L;return K|0}K=EW(10540,k[p>>2]|0,(k[K>>2]|0)+48|0)|0;k[I>>2]=K;if(K|0){K=xf(50366,m)|0;k[k[H>>2]>>2]=K}k[J>>2]=k[I>>2];K=k[J>>2]|0;u=L;return K|0}return 0}function xW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;m=o+8|0;l=o;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;do if(0!=(ul(k[f>>2]|0,48062)|0)?0!=(ul(k[f>>2]|0,26001)|0):0){if(k[g>>2]|0)if(!(ul(k[g>>2]|0,50021)|0)){i[(k[(k[e>>2]|0)+20>>2]|0)+(k[(k[e>>2]|0)+12>>2]|0)>>0]=1;break}else{k[m>>2]=k[g>>2];m=xf(50031,m)|0;k[k[h>>2]>>2]=m;k[j>>2]=1;break}}else n=3;while(0);if((n|0)==3){k[l>>2]=k[f>>2];n=xf(49991,l)|0;k[k[h>>2]>>2]=n;k[j>>2]=1}l=k[f>>2]|0;m=k[(k[e>>2]|0)+16>>2]|0;h=(k[e>>2]|0)+12|0;n=k[h>>2]|0;k[h>>2]=n+1;k[m+(n<<2)>>2]=l;u=o;return k[j>>2]|0}function yW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=CW(k[e>>2]|0,0,0,(k[d>>2]|0)+56|0,(k[d>>2]|0)+60|0,0)|0;u=c;return b|0}function zW(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+48|0;g=h+16|0;f=h+8|0;i=h;b=h+40|0;c=h+36|0;d=h+32|0;e=h+20|0;k[b>>2]=a;k[d>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[i>>2]=k[(k[b>>2]|0)+40>>2];AW(d,e,49918,i);if((k[(k[b>>2]|0)+32>>2]|0)==1){g=k[e>>2]|0;i=k[b>>2]|0;i=i+52|0;k[i>>2]=g;i=k[d>>2]|0;u=h;return i|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+12>>2]|0))break;if((k[(k[b>>2]|0)+32>>2]|0)==2){k[f>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<2)>>2];AW(d,e,49923,f)}else{k[g>>2]=k[c>>2];AW(d,e,49930,g)}k[c>>2]=(k[c>>2]|0)+1}g=k[e>>2]|0;i=k[b>>2]|0;i=i+52|0;k[i>>2]=g;i=k[d>>2]|0;u=h;return i|0}function AW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+28|0;h=j+24|0;f=j+20|0;i=j+16|0;g=j;k[e>>2]=a;k[h>>2]=b;k[f>>2]=c;if(k[k[e>>2]>>2]|0){u=j;return}k[g>>2]=d;a=Ff(k[f>>2]|0,g)|0;k[i>>2]=a;a=k[e>>2]|0;if(!(k[i>>2]|0)){k[a>>2]=7;u=j;return}else{BW(a,k[h>>2]|0,k[i>>2]|0);ie(k[i>>2]|0);u=j;return}}function BW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=u;u=u+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;k[h>>2]=a;k[e>>2]=b;k[f>>2]=c;c=q$(k[f>>2]|0)|0;k[g>>2]=c;lS(k[h>>2]|0,k[e>>2]|0,(k[g>>2]|0)+1|0,k[f>>2]|0);c=(k[e>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+-1;u=d;return}function CW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;q=r+8|0;p=r;l=r+40|0;m=r+36|0;n=r+32|0;o=r+28|0;g=r+24|0;h=r+20|0;i=r+16|0;j=r+12|0;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[g>>2]=e;k[h>>2]=f;k[j>>2]=0;if(!(k[n>>2]|0))a=0;else a=k[k[m>>2]>>2]|0;l=DW(k[l>>2]|0,a)|0;k[i>>2]=l;if(k[i>>2]|0){p=Ub[k[(k[i>>2]|0)+8>>2]&255](k[(k[i>>2]|0)+4>>2]|0,(k[m>>2]|0)+4|0,k[n>>2]|0?(k[n>>2]|0)-1|0:0,k[o>>2]|0)|0;k[j>>2]=p;k[k[g>>2]>>2]=(k[i>>2]|0)+8;if((k[j>>2]|0)!=0&(k[h>>2]|0)!=0){q=xf(49960,q)|0;k[k[h>>2]>>2]=q}}else{k[j>>2]=1;k[p>>2]=k[k[m>>2]>>2];q=xf(49938,p)|0;k[k[h>>2]>>2]=q}if(!(k[j>>2]|0)){q=k[j>>2]|0;u=r;return q|0}k[k[g>>2]>>2]=0;k[k[o>>2]>>2]=0;q=k[j>>2]|0;u=r;return q|0}function DW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=0;a=k[f>>2]|0;if(!(k[c>>2]|0)){k[d>>2]=k[a+40>>2];f=k[d>>2]|0;u=e;return f|0}k[d>>2]=k[a+36>>2];while(1){if(!(k[d>>2]|0)){a=7;break}if(!(ul(k[c>>2]|0,k[k[d>>2]>>2]|0)|0)){a=7;break}k[d>>2]=k[(k[d>>2]|0)+24>>2]}if((a|0)==7){f=k[d>>2]|0;u=e;return f|0}return 0}function EW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;h=l+24|0;d=l+20|0;e=l+16|0;i=l+12|0;f=l+8|0;g=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[i>>2]=c;c=q$(k[e>>2]|0)|0;k[f>>2]=c;k[j>>2]=-1;k[g>>2]=0;while(1){if(!(k[(k[d>>2]|0)+(k[g>>2]<<3)>>2]|0)){a=8;break}if(!(vd(k[(k[d>>2]|0)+(k[g>>2]<<3)>>2]|0,k[e>>2]|0,k[f>>2]|0)|0)){if((k[j>>2]|0)>=0){a=5;break}k[j>>2]=k[(k[d>>2]|0)+(k[g>>2]<<3)+4>>2]}k[g>>2]=(k[g>>2]|0)+1}if((a|0)==5){k[h>>2]=1;j=k[h>>2]|0;u=l;return j|0}else if((a|0)==8){k[k[i>>2]>>2]=k[j>>2];k[h>>2]=(k[j>>2]|0)<0?1:0;j=k[h>>2]|0;u=l;return j|0}return 0}function FW(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;i[b>>0]=a;if(((i[b>>0]|0)!=34?(i[b>>0]|0)!=39:0)?(i[b>>0]|0)!=91:0)a=(i[b>>0]|0)==96;else a=1;u=c;return a&1|0}function GW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0;P=u;u=u+240|0;I=P+64|0;H=P+56|0;G=P+40|0;L=P+236|0;R=P+228|0;D=P+32|0;E=P+224|0;F=P+216|0;d=P+212|0;e=P+208|0;J=P+204|0;K=P+200|0;N=P+188|0;O=P+184|0;Q=P+180|0;f=P+176|0;g=P+164|0;h=P;i=P+152|0;j=P+148|0;l=P+144|0;m=P+140|0;n=P+136|0;o=P+132|0;p=P+128|0;q=P+124|0;r=P+112|0;s=P+108|0;t=P+104|0;v=P+100|0;w=P+96|0;x=P+92|0;y=P+88|0;z=P+84|0;A=P+80|0;B=P+76|0;C=P+72|0;k[L>>2]=a;k[P+232>>2]=b;k[R>>2]=c;k[K>>2]=0;k[O>>2]=0;k[Q>>2]=0;b=(_h(k[L>>2]|0)|0)!=0&1;k[f>>2]=b;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;b=Pi(k[k[R>>2]>>2]|0)|0;c=D;k[c>>2]=b;k[c+4>>2]=M;c=ai(k[(k[R>>2]|0)+4>>2]|0)|0;k[J>>2]=c;c=$i(k[(k[R>>2]|0)+4>>2]|0)|0;k[e>>2]=c;k[Q>>2]=(k[J>>2]|0)+8;c=nT(O,k[Q>>2]|0)|0;k[K>>2]=c;a:do if(k[K>>2]|0){r0(k[K>>2]|0,k[e>>2]|0,k[J>>2]|0)|0;R=D;IW(k[R>>2]|0,k[R+4>>2]|0,E,d,P+220|0,F);R=D;JW(O,N,k[R>>2]|0,k[R+4>>2]|0);if(k[d>>2]|0){k[g>>2]=k[K>>2];k[g+4>>2]=k[J>>2];k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[h+16>>2]=0;k[h+20>>2]=0;k[h+24>>2]=0;k[h+28>>2]=0;k[h>>2]=g;k[h+16>>2]=k[F>>2];hS(h)|0;while(1){if(k[h+8>>2]|0)break a;Q=h+24|0;J=k[Q>>2]|0;Q=k[Q+4>>2]|0;k[G>>2]=k[h+16>>2];R=G+8|0;k[R>>2]=J;k[R+4>>2]=Q;AW(O,N,50609,G);hS(h)|0}}if(!(k[E>>2]|0)){R=D;b=k[K>>2]|0;a=k[J>>2]|0;if((k[R>>2]|0)==1&(k[R+4>>2]|0)==0){KW(O,N,b,a);break}else{LW(O,N,b,a);break}}if(k[f>>2]|0){R=(_R((k[K>>2]|0)+2|0)|0)&65535;k[j>>2]=R;k[l>>2]=R;k[n>>2]=0;k[i>>2]=0;k[i+4>>2]=0;k[i+8>>2]=0;if((k[j>>2]|0)<(k[J>>2]|0)){R=dS((k[K>>2]|0)+(k[l>>2]|0)|0,m)|0;k[l>>2]=(k[l>>2]|0)+R}else k[m>>2]=k[j>>2];MW(O,N,(k[K>>2]|0)+4|0,(k[m>>2]|0)-4|0);k[o>>2]=k[m>>2];while(1){if((k[o>>2]|0)>=(k[j>>2]|0))break;R=dS((k[K>>2]|0)+(k[o>>2]|0)|0,p)|0;k[o>>2]=(k[o>>2]|0)+R;k[i+4>>2]=k[n>>2];lS(O,i,k[p>>2]|0,(k[K>>2]|0)+(k[o>>2]|0)|0);R=k[i>>2]|0;k[H>>2]=k[i+4>>2];k[H+4>>2]=R;AW(O,N,50619,H);k[o>>2]=(k[o>>2]|0)+(k[p>>2]|0);if((k[l>>2]|0)<(k[J>>2]|0)){R=dS((k[K>>2]|0)+(k[l>>2]|0)|0,q)|0;k[l>>2]=(k[l>>2]|0)+R;k[m>>2]=(k[m>>2]|0)+(k[q>>2]|0)}else k[m>>2]=k[j>>2];MW(O,N,(k[K>>2]|0)+(k[o>>2]|0)|0,(k[m>>2]|0)-(k[o>>2]|0)|0);k[o>>2]=k[m>>2];if((k[o>>2]|0)>=(k[j>>2]|0))continue;R=dS((k[K>>2]|0)+(k[o>>2]|0)|0,n)|0;k[o>>2]=(k[o>>2]|0)+R}xS(i);break}k[v>>2]=0;k[w>>2]=0;k[x>>2]=0;k[r>>2]=0;k[r+4>>2]=0;k[r+8>>2]=0;if((k[J>>2]|0)<4){GR(O,N,7,50630);break}R=(_R(k[K>>2]|0)|0)&65535;k[x>>2]=R;R=(_R((k[K>>2]|0)+2|0)|0)&65535;k[s>>2]=R;k[t>>2]=R;if((k[t>>2]|0)<(k[J>>2]|0))dS((k[K>>2]|0)+(k[t>>2]|0)|0,w)|0;do if(!(k[x>>2]|0))if(k[w>>2]|0){k[y>>2]=k[w>>2];break}else{k[y>>2]=k[s>>2];break}else k[y>>2]=k[x>>2];while(0);NW(O,N,(k[K>>2]|0)+4|0,(k[y>>2]|0)-4|0)|0;k[z>>2]=(k[w>>2]|0?k[w>>2]|0:k[s>>2]|0)-(k[y>>2]|0);OW(O,N,(k[K>>2]|0)+(k[y>>2]|0)|0,k[z>>2]|0)|0;while(1){if((k[t>>2]|0)>=(k[J>>2]|0))break;k[A>>2]=(k[t>>2]|0)==(k[s>>2]|0)&1;R=dS((k[K>>2]|0)+(k[t>>2]|0)|0,B)|0;k[t>>2]=(k[t>>2]|0)+R;k[v>>2]=(k[v>>2]|0)+(k[B>>2]|0);k[y>>2]=k[v>>2];if((k[t>>2]|0)<(k[J>>2]|0)){dS((k[K>>2]|0)+(k[t>>2]|0)|0,B)|0;k[C>>2]=(k[v>>2]|0)+(k[B>>2]|0)}else k[C>>2]=k[s>>2];if(!(k[A>>2]|0)){R=dS((k[K>>2]|0)+(k[y>>2]|0)|0,B)|0;k[y>>2]=(k[y>>2]|0)+R;k[r+4>>2]=k[B>>2]}R=dS((k[K>>2]|0)+(k[y>>2]|0)|0,B)|0;k[y>>2]=(k[y>>2]|0)+R;lS(O,r,k[B>>2]|0,(k[K>>2]|0)+(k[y>>2]|0)|0);k[y>>2]=(k[y>>2]|0)+(k[B>>2]|0);R=k[r>>2]|0;k[I>>2]=k[r+4>>2];k[I+4>>2]=R;AW(O,N,50619,I);R=OW(O,N,(k[K>>2]|0)+(k[y>>2]|0)|0,(k[C>>2]|0)-(k[y>>2]|0)|0)|0;k[y>>2]=(k[y>>2]|0)+R}xS(r)}while(0);ie(k[K>>2]|0);a=k[L>>2]|0;if(!(k[O>>2]|0)){Hi(a,k[N>>2]|0,k[N+4>>2]|0,-1);xS(N);u=P;return}else{ej(a,k[O>>2]|0);xS(N);u=P;return}}function HW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;d=l+28|0;e=l+24|0;f=l+20|0;g=l+16|0;h=l;i=l+12|0;j=l+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){bi(k[d>>2]|0,50473,-1);u=l;return}c=$h(k[k[f>>2]>>2]|0)|0;k[g>>2]=c;if(ul(k[g>>2]|0,50510)|0){bi(k[d>>2]|0,50565,-1);u=l;return}if((k[e>>2]|0)!=3){bi(k[d>>2]|0,50518,-1);u=l;return}else{g=_i(k[(k[f>>2]|0)+4>>2]|0)|0;k[i>>2]=g;g=_i(k[(k[f>>2]|0)+8>>2]|0)|0;k[j>>2]=g;g=k[i>>2]|0;g=t0(g|0,((g|0)<0)<<31>>31|0,37)|0;g=i0(g|0,M|0,0,0)|0;g=i0(g|0,M|0,0,0)|0;i=k[j>>2]|0;i=i0(g|0,M|0,i|0,((i|0)<0)<<31>>31|0)|0;j=h;k[j>>2]=i;k[j+4>>2]=M;j=h;Li(k[d>>2]|0,k[j>>2]|0,k[j+4>>2]|0);u=l;return}}function IW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=u;u=u+32|0;i=g;h=g+20|0;j=g+16|0;l=g+12|0;m=g+8|0;n=i;k[n>>2]=a;k[n+4>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[k[m>>2]>>2]=k[i>>2]&2147483647;e=i;e=o0(k[e>>2]|0,k[e+4>>2]|0,31)|0;f=i;k[f>>2]=e;k[f+4>>2]=M;k[k[l>>2]>>2]=k[i>>2]&31;f=i;f=o0(k[f>>2]|0,k[f+4>>2]|0,5)|0;e=i;k[e>>2]=f;k[e+4>>2]=M;k[k[j>>2]>>2]=k[i>>2]&1;e=i;e=o0(k[e>>2]|0,k[e+4>>2]|0,1)|0;f=i;k[f>>2]=e;k[f+4>>2]=M;k[k[h>>2]>>2]=k[i>>2]&65535;u=g;return}function JW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+64|0;l=n+24|0;f=n+60|0;m=n+56|0;g=n;h=n+52|0;i=n+48|0;j=n+44|0;e=n+40|0;k[f>>2]=a;k[m>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;d=g;IW(k[d>>2]|0,k[d+4>>2]|0,h,e,i,j);if(k[h>>2]|0){g=k[f>>2]|0;m=k[m>>2]|0;h=k[h>>2]|0;i=k[i>>2]|0;j=k[j>>2]|0;k[l>>2]=k[e>>2]|0?50747:55752;k[l+4>>2]=h;k[l+8>>2]=i;k[l+12>>2]=j;AW(g,m,50754,l);u=n;return}l=g;b=k[f>>2]|0;a=k[m>>2]|0;if((k[l>>2]|0)==1&(k[l+4>>2]|0)==0){AW(b,a,50723,n+8|0);u=n;return}else{AW(b,a,50735,n+16|0);u=n;return}}function KW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+48|0;m=n+8|0;f=n+36|0;g=n+32|0;h=n+28|0;i=n+24|0;j=n+20|0;l=n+16|0;e=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=0;k[l>>2]=55752;while(1){if((k[j>>2]|0)>=(k[i>>2]|0))break;c=($R((k[h>>2]|0)+(k[j>>2]|0)|0,e)|0)&255;k[j>>2]=(k[j>>2]|0)+c;c=k[f>>2]|0;d=k[g>>2]|0;b=k[e>>2]|0;k[m>>2]=k[l>>2];k[m+4>>2]=b;AW(c,d,50718,m);k[l>>2]=23021}u=n;return}function LW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+32|0;e=i+20|0;f=i+16|0;l=i+12|0;j=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[l>>2]=c;k[j>>2]=d;k[h>>2]=0;d=MT(k[l>>2]|0,k[j>>2]|0,0,h)|0;k[g>>2]=d;if(k[g>>2]|0){k[k[e>>2]>>2]=k[g>>2];u=i;return}else{PW(k[e>>2]|0,k[f>>2]|0,k[h>>2]|0);tS(k[h>>2]|0);u=i;return}}function MW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+64|0;o=p+16|0;g=p+52|0;h=p+48|0;i=p+44|0;j=p+40|0;m=p+36|0;n=p+8|0;e=p+32|0;f=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=0;d=n;k[d>>2]=0;k[d+4>>2]=0;while(1){if((k[m>>2]|0)>=(k[j>>2]|0))break;k[e>>2]=55752;c=($R((k[i>>2]|0)+(k[m>>2]|0)|0,f)|0)&255;k[m>>2]=(k[m>>2]|0)+c;c=f;d=n;c=i0(k[d>>2]|0,k[d+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;d=n;k[d>>2]=c;k[d+4>>2]=M;do if((k[m>>2]|0)<(k[j>>2]|0)?(l[(k[i>>2]|0)+(k[m>>2]|0)>>0]|0|0)==0:0){k[m>>2]=(k[m>>2]|0)+1;if((k[m>>2]|0)<(k[j>>2]|0)?(l[(k[i>>2]|0)+(k[m>>2]|0)>>0]|0|0)==0:0){k[m>>2]=(k[m>>2]|0)+1;k[e>>2]=50658;break}k[e>>2]=29578}while(0);c=k[g>>2]|0;d=k[h>>2]|0;r=n;q=k[r+4>>2]|0;b=k[e>>2]|0;a=o;k[a>>2]=k[r>>2];k[a+4>>2]=q;k[o+8>>2]=b;AW(c,d,50660,o)}u=p;return}function NW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;l=m;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[h>>2]|0))break;c=dS((k[g>>2]|0)+(k[i>>2]|0)|0,j)|0;k[i>>2]=(k[i>>2]|0)+c;c=k[e>>2]|0;d=k[f>>2]|0;k[l>>2]=k[j>>2];AW(c,d,49275,l)}u=m;return k[i>>2]|0}function OW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+80|0;q=r+32|0;p=r+24|0;e=r+16|0;i=r+64|0;j=r+60|0;l=r+56|0;m=r+52|0;n=r+8|0;o=r+48|0;f=r+44|0;g=r+40|0;h=r;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;d=n;k[d>>2]=0;k[d+4>>2]=0;k[o>>2]=0;if((k[m>>2]|0)>0){c=($R(k[l>>2]|0,n)|0)&255;k[o>>2]=c;c=k[i>>2]|0;d=k[j>>2]|0;s=n;a=k[s+4>>2]|0;b=e;k[b>>2]=k[s>>2];k[b+4>>2]=a;AW(c,d,50638,e)}while(1){if((k[o>>2]|0)>=(k[m>>2]|0))break;e=bS((k[l>>2]|0)+(k[o>>2]|0)|0,f,g)|0;k[o>>2]=(k[o>>2]|0)+e;e=k[i>>2]|0;s=k[j>>2]|0;d=k[g>>2]|0?29578:55752;k[p>>2]=k[f>>2];k[p+4>>2]=d;AW(e,s,50647,p);if(((k[m>>2]|0)-(k[o>>2]|0)|0)<(k[f>>2]|0))a=(k[m>>2]|0)-(k[o>>2]|0)|0;else a=k[f>>2]|0;s=NW(k[i>>2]|0,k[j>>2]|0,(k[l>>2]|0)+(k[o>>2]|0)|0,a)|0;k[o>>2]=(k[o>>2]|0)+s;if((k[o>>2]|0)>=(k[m>>2]|0))continue;s=($R((k[l>>2]|0)+(k[o>>2]|0)|0,h)|0)&255;k[o>>2]=(k[o>>2]|0)+s;s=h;e=n;s=i0(k[e>>2]|0,k[e+4>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0;e=n;k[e>>2]=s;k[e+4>>2]=M;e=k[i>>2]|0;s=k[j>>2]|0;b=n;c=k[b+4>>2]|0;d=q;k[d>>2]=k[b>>2];k[d+4>>2]=c;AW(e,s,50638,q)}u=r;return k[o>>2]|0}function PW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+64|0;n=o+32|0;m=o+16|0;l=o;d=o+60|0;e=o+56|0;f=o+52|0;g=o+48|0;h=o+44|0;i=o+40|0;j=o+36|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[f>>2]|0)+20>>2]|0))break;k[i>>2]=(k[f>>2]|0)+24+((k[g>>2]|0)*12|0);b=k[d>>2]|0;c=k[e>>2]|0;p=k[k[i>>2]>>2]|0;a=k[(k[i>>2]|0)+4>>2]|0;k[l>>2]=k[g>>2];k[l+4>>2]=p;k[l+8>>2]=a;AW(b,c,50668,l);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[i>>2]|0)+4>>2]|0))break;k[j>>2]=(k[(k[i>>2]|0)+8>>2]|0)+((k[h>>2]|0)*12|0);c=k[d>>2]|0;p=k[e>>2]|0;a=k[(k[j>>2]|0)+4>>2]|0;b=k[(k[j>>2]|0)+8>>2]|0;k[m>>2]=k[k[j>>2]>>2];k[m+4>>2]=a;k[m+8>>2]=b;AW(c,p,50695,m);k[h>>2]=(k[h>>2]|0)+1}AW(k[d>>2]|0,k[e>>2]|0,49298,n);k[g>>2]=(k[g>>2]|0)+1}u=o;return}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=u;u=u+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=r_(1,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;u=g;return f|0}function RW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=u;u=u+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=r_(0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;u=g;return f|0}function SW(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;y=u;u=u+176|0;t=y+164|0;z=y+160|0;v=y+156|0;d=y+152|0;m=y+148|0;w=y+144|0;n=y+140|0;x=y+136|0;q=y+132|0;r=y+32|0;e=y+20|0;f=y+16|0;g=y+12|0;h=y+8|0;j=y+4|0;s=y;k[z>>2]=a;k[v>>2]=b;k[d>>2]=k[z>>2];k[m>>2]=k[(k[d>>2]|0)+12>>2];k[w>>2]=0;a=r;b=10696;d=a+100|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));k[e>>2]=-1;k[e+4>>2]=k[(k[m>>2]|0)+12>>2];k[e+8>>2]=(k[(k[m>>2]|0)+12>>2]|0)+1;k[q>>2]=0;a:while(1){a=k[v>>2]|0;if((k[q>>2]|0)>=(k[k[v>>2]>>2]|0))break;k[f>>2]=(k[a+4>>2]|0)+((k[q>>2]|0)*12|0);k[g>>2]=0;while(1){if((k[g>>2]|0)>=5)break;k[h>>2]=r+((k[g>>2]|0)*20|0);do if((k[k[f>>2]>>2]|0)==(k[e+(k[(k[h>>2]|0)+8>>2]<<2)>>2]|0)?l[(k[f>>2]|0)+4>>0]&k[k[h>>2]>>2]|0:0)if(!(i[(k[f>>2]|0)+5>>0]|0))if(!(k[g>>2]|0)){o=10;break a}else break;else{k[(k[h>>2]|0)+16>>2]=k[q>>2];k[w>>2]=k[w>>2]|k[(k[h>>2]|0)+4>>2];break}while(0);k[g>>2]=(k[g>>2]|0)+1}k[q>>2]=(k[q>>2]|0)+1}if((o|0)==10){p[(k[v>>2]|0)+40>>3]=1.e+50;k[t>>2]=0;z=k[t>>2]|0;u=y;return z|0}if((k[a+8>>2]|0)==1){k[j>>2]=k[k[(k[v>>2]|0)+12>>2]>>2];if((k[j>>2]|0)==((k[(k[m>>2]|0)+12>>2]|0)+1|0)?k[w>>2]&1|0:0)k[w>>2]=k[w>>2]|32;else o=17;if((o|0)==17?(k[j>>2]|0)==-1:0)k[w>>2]=k[w>>2]|64;if(k[w>>2]&96|0?(k[(k[v>>2]|0)+32>>2]=1,i[(k[(k[v>>2]|0)+12>>2]|0)+4>>0]|0):0)k[w>>2]=k[w>>2]|128}k[n>>2]=(k[w>>2]&1|0)!=0&1;if(k[w>>2]&4|0){p[(k[v>>2]|0)+40>>3]=k[n>>2]|0?100.0:10.0;if(!(k[n>>2]|0))q_(k[v>>2]|0)}else{if((k[w>>2]&24|0)==24){c=k[n>>2]|0?500.0:25.0e4;a=k[v>>2]|0}else{a=(k[w>>2]&24|0)!=0;z=(k[n>>2]|0)!=0;c=a?(z?750.0:75.0e4):z?1.0e3:1.0e6;a=a?k[v>>2]|0:k[v>>2]|0}p[a+40>>3]=c}k[x>>2]=1;k[q>>2]=0;while(1){if((k[q>>2]|0)>=5)break;k[s>>2]=r+((k[q>>2]|0)*20|0);if((k[(k[s>>2]|0)+16>>2]|0)>=0){z=k[x>>2]|0;k[x>>2]=z+1;k[(k[(k[v>>2]|0)+16>>2]|0)+(k[(k[s>>2]|0)+16>>2]<<3)>>2]=z;i[(k[(k[v>>2]|0)+16>>2]|0)+(k[(k[s>>2]|0)+16>>2]<<3)+4>>0]=k[(k[s>>2]|0)+12>>2]}k[q>>2]=(k[q>>2]|0)+1}k[(k[v>>2]|0)+20>>2]=k[w>>2];k[t>>2]=0;z=k[t>>2]|0;u=y;return z|0}function TW(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;m_(k[c>>2]|0);u=b;return 0}function UW(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+8|0;e=d+4|0;c=d;k[b>>2]=a;k[e>>2]=k[b>>2];a=l_(k[(k[e>>2]|0)+12>>2]|0)|0;k[c>>2]=a;if(k[c>>2]|0){e=k[c>>2]|0;u=d;return e|0}m_(k[b>>2]|0);e=k[c>>2]|0;u=d;return e|0}function VW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;l=j+28|0;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[l>>2]=a;k[c>>2]=b;k[d>>2]=k[l>>2];k[e>>2]=k[(k[d>>2]|0)+12>>2];k[f>>2]=0;b=jZ(k[d>>2]|0)|0;k[h>>2]=b;if(k[h>>2]|0){i=k[f>>2]|0;l=k[c>>2]|0;k[l>>2]=i;l=k[h>>2]|0;u=j;return l|0}k[g>>2]=120+(k[(k[e>>2]|0)+12>>2]<<2);l=ze(k[g>>2]|0)|0;k[f>>2]=l;if(k[f>>2]|0){k[i>>2]=k[(k[d>>2]|0)+24>>2];w0(k[f>>2]|0,0,k[g>>2]|0)|0;k[(k[f>>2]|0)+8>>2]=(k[f>>2]|0)+120;k[(k[f>>2]|0)+4>>2]=k[(k[i>>2]|0)+44>>2];k[(k[i>>2]|0)+44>>2]=k[f>>2];i=(k[i>>2]|0)+24|0;g=i;g=i0(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;l=M;k[i>>2]=g;k[i+4>>2]=l;i=(k[f>>2]|0)+16|0;k[i>>2]=g;k[i+4>>2]=l;i=k[f>>2]|0;l=k[c>>2]|0;k[l>>2]=i;l=k[h>>2]|0;u=j;return l|0}else{k[h>>2]=7;i=k[f>>2]|0;l=k[c>>2]|0;k[l>>2]=i;l=k[h>>2]|0;u=j;return l|0}return 0}function WW(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;if(!(k[b>>2]|0)){u=f;return 0}k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[b>>2];d_(k[d>>2]|0);k[e>>2]=(k[(k[c>>2]|0)+24>>2]|0)+44;while(1){if((k[k[e>>2]>>2]|0)==(k[d>>2]|0))break;k[e>>2]=(k[k[e>>2]>>2]|0)+4}k[k[e>>2]>>2]=k[(k[d>>2]|0)+4>>2];ie(k[d>>2]|0);u=f;return 0}function XW(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+96|0;o=B;r=B+80|0;h=B+76|0;s=B+64|0;t=B+60|0;x=B+56|0;y=B+52|0;z=B+48|0;f=B+44|0;v=B+40|0;w=B+36|0;j=B+32|0;l=B+28|0;m=B+24|0;g=B+20|0;n=B+16|0;A=B+12|0;p=B+8|0;q=B+4|0;k[r>>2]=a;k[h>>2]=b;k[B+72>>2]=c;k[B+68>>2]=d;k[s>>2]=e;k[t>>2]=k[k[r>>2]>>2];k[x>>2]=k[(k[t>>2]|0)+12>>2];k[y>>2]=k[r>>2];k[z>>2]=0;k[f>>2]=0;k[j>>2]=0;k[l>>2]=0;k[m>>2]=0;k[g>>2]=0;k[n>>2]=0;k[A>>2]=k[(k[x>>2]|0)+96>>2];if(k[(k[y>>2]|0)+24>>2]|0){d_(k[y>>2]|0);w0((k[y>>2]|0)+24|0,0,120-((k[y>>2]|0)+24-(k[y>>2]|0))|0)|0}k[(k[x>>2]|0)+96>>2]=(k[t>>2]|0)+8;if(k[h>>2]&1|0){d=k[s>>2]|0;e=k[f>>2]|0;k[f>>2]=e+1;k[j>>2]=k[d+(e<<2)>>2]}if(k[h>>2]&2|0){d=k[s>>2]|0;e=k[f>>2]|0;k[f>>2]=e+1;k[l>>2]=k[d+(e<<2)>>2]}if(k[h>>2]&4|0){d=k[s>>2]|0;e=k[f>>2]|0;k[f>>2]=e+1;k[m>>2]=k[d+(e<<2)>>2]}if(k[h>>2]&8|0){d=k[s>>2]|0;e=k[f>>2]|0;k[f>>2]=e+1;k[g>>2]=k[d+(e<<2)>>2]}if(k[h>>2]&16|0){d=k[s>>2]|0;e=k[f>>2]|0;k[f>>2]=e+1;k[n>>2]=k[d+(e<<2)>>2]}k[w>>2]=k[h>>2]&32|0?1:0;h=k[h>>2]&128|0?1:0;k[v>>2]=h;k[(k[y>>2]|0)+28>>2]=h;if(k[m>>2]|0){h=k[m>>2]|0;k[n>>2]=h;k[g>>2]=h}h=(k[v>>2]|0)!=0;a=e_(k[g>>2]|0,-1,2147483647)|0;b=M;f=k[y>>2]|0;if(h){h=f+32|0;k[h>>2]=a;k[h+4>>2]=b;h=e_(k[n>>2]|0,0,-2147483648)|0;n=(k[y>>2]|0)+40|0;k[n>>2]=h;k[n+4>>2]=M}else{h=f+40|0;k[h>>2]=a;k[h+4>>2]=b;h=e_(k[n>>2]|0,0,-2147483648)|0;n=(k[y>>2]|0)+32|0;k[n>>2]=h;k[n+4>>2]=M}if(k[(k[t>>2]|0)+28>>2]|0){k[(k[y>>2]|0)+24>>2]=2;k[(k[y>>2]|0)+52>>2]=k[(k[(k[t>>2]|0)+28>>2]|0)+52>>2];y=NY(k[t>>2]|0,k[y>>2]|0,k[v>>2]|0)|0;k[z>>2]=y;y=k[A>>2]|0;A=k[x>>2]|0;A=A+96|0;k[A>>2]=y;A=k[z>>2]|0;u=B;return A|0}if(!(k[j>>2]|0)){if(!(k[(k[x>>2]|0)+36>>2]|0)){k[o>>2]=k[(k[x>>2]|0)+8>>2];y=xf(51858,o)|0;k[k[(k[x>>2]|0)+96>>2]>>2]=y;k[z>>2]=1;y=k[A>>2]|0;A=k[x>>2]|0;A=A+96|0;k[A>>2]=y;A=k[z>>2]|0;u=B;return A|0}k[(k[y>>2]|0)+24>>2]=k[m>>2]|0?6:5;v=k[(k[t>>2]|0)+20>>2]|0;w=aZ(k[y>>2]|0)|0;w=bZ(v,w,(k[y>>2]|0)+48|0,(k[t>>2]|0)+8|0)|0;k[z>>2]=w;if(k[z>>2]|0){y=k[A>>2]|0;A=k[x>>2]|0;A=A+96|0;k[A>>2]=y;A=k[z>>2]|0;u=B;return A|0}a=k[(k[y>>2]|0)+48>>2]|0;if((k[(k[y>>2]|0)+24>>2]|0)==6)DJ(a,1,k[k[s>>2]>>2]|0)|0;else{w=(k[y>>2]|0)+32|0;AJ(a,1,k[w>>2]|0,k[w+4>>2]|0)|0;w=(k[y>>2]|0)+40|0;AJ(k[(k[y>>2]|0)+48>>2]|0,2,k[w>>2]|0,k[w+4>>2]|0)|0}y=YW(k[r>>2]|0)|0;k[z>>2]=y;y=k[A>>2]|0;A=k[x>>2]|0;A=A+96|0;k[A>>2]=y;A=k[z>>2]|0;u=B;return A|0}s=$h(k[k[s>>2]>>2]|0)|0;k[p>>2]=s;k[p>>2]=(k[p>>2]|0)==0?55752:s;s=f_(k[x>>2]|0,k[y>>2]|0,k[l>>2]|0)|0;k[z>>2]=s;if(k[z>>2]|0){y=k[A>>2]|0;A=k[x>>2]|0;A=A+96|0;k[A>>2]=y;A=k[z>>2]|0;u=B;return A|0}a=k[t>>2]|0;if((i[k[p>>2]>>0]|0)==42){y=g_(a,k[y>>2]|0,(k[p>>2]|0)+1|0)|0;k[z>>2]=y;y=k[A>>2]|0;A=k[x>>2]|0;A=A+96|0;k[A>>2]=y;A=k[z>>2]|0;u=B;return A|0}k[q>>2]=a+8;s=bV(k[x>>2]|0,k[p>>2]|0,(k[y>>2]|0)+52|0,k[q>>2]|0)|0;k[z>>2]=s;if(k[z>>2]|0){y=k[A>>2]|0;A=k[x>>2]|0;A=A+96|0;k[A>>2]=y;A=k[z>>2]|0;u=B;return A|0}a=(k[y>>2]|0)+24|0;if(k[w>>2]|0){k[a>>2]=4;y=h_(k[t>>2]|0,k[y>>2]|0,k[v>>2]|0)|0;k[z>>2]=y;y=k[A>>2]|0;A=k[x>>2]|0;A=A+96|0;k[A>>2]=y;A=k[z>>2]|0;u=B;return A|0}else{k[a>>2]=1;y=NY(k[t>>2]|0,k[y>>2]|0,k[v>>2]|0)|0;k[z>>2]=y;y=k[A>>2]|0;A=k[x>>2]|0;A=A+96|0;k[A>>2]=y;A=k[z>>2]|0;u=B;return A|0}return 0}function YW(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=u;u=u+32|0;b=f+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=k[g>>2];a:do if((k[(k[c>>2]|0)+24>>2]|0)<3){k[e>>2]=0;g=a_(k[c>>2]|0,e)|0;k[d>>2]=g;if(!((g|0)!=0|(k[e>>2]|0)!=0)){e=(k[c>>2]|0)+40|0;e=b_(k[(k[c>>2]|0)+52>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[d>>2]=e;e=PY(k[(k[c>>2]|0)+52>>2]|0)|0;g=(k[c>>2]|0)+60|0;k[g>>2]=k[g>>2]|e;QY(k[c>>2]|0);break}k[b>>2]=k[d>>2];g=k[b>>2]|0;u=f;return g|0}else switch(k[(k[c>>2]|0)+24>>2]|0){case 3:{g=(k[c>>2]|0)+60|0;k[g>>2]=k[g>>2]|1;k[d>>2]=0;break a}case 4:{g=c_(k[c>>2]|0)|0;k[d>>2]=g;break a}default:{g=Ls(k[(k[c>>2]|0)+48>>2]|0)|0;k[d>>2]=g;if((k[d>>2]|0)!=100){g=(k[c>>2]|0)+60|0;k[g>>2]=k[g>>2]|1;g=Is(k[(k[c>>2]|0)+48>>2]|0)|0;k[d>>2]=g;break a}else{k[d>>2]=0;break a}}}while(0);k[b>>2]=k[d>>2];g=k[b>>2]|0;u=f;return g|0}function ZW(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];u=c;return (k[(k[b>>2]|0)+60>>2]&1|0?1:0)|0}function _W(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;l=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[k[l>>2]>>2];k[g>>2]=k[(k[f>>2]|0)+12>>2];k[h>>2]=k[l>>2];k[i>>2]=0;a=(k[e>>2]|0)==(k[(k[g>>2]|0)+12>>2]|0);if((k[(k[h>>2]|0)+24>>2]|0)==3){if(!a){l=k[i>>2]|0;u=j;return l|0}l=(k[h>>2]|0)+64|0;Li(k[d>>2]|0,k[l>>2]|0,k[l+4>>2]|0);l=k[i>>2]|0;u=j;return l|0}if(a){l=(k[h>>2]|0)+16|0;Li(k[d>>2]|0,k[l>>2]|0,k[l+4>>2]|0);l=k[i>>2]|0;u=j;return l|0}if((k[e>>2]|0)!=((k[(k[g>>2]|0)+12>>2]|0)+1|0)){if(_Y(k[f>>2]|0)|0){l=k[i>>2]|0;u=j;return l|0}l=$Y(k[h>>2]|0,1)|0;k[i>>2]=l;if(k[i>>2]|0){l=k[i>>2]|0;u=j;return l|0}l=k[d>>2]|0;hj(l,uJ(k[(k[h>>2]|0)+48>>2]|0,(k[e>>2]|0)+1|0)|0);l=k[i>>2]|0;u=j;return l|0}if((k[(k[h>>2]|0)+24>>2]|0)==2){_Z(k[d>>2]|0,k[h>>2]|0)|0;l=k[i>>2]|0;u=j;return l|0}if((k[(k[h>>2]|0)+24>>2]|0)!=1?(k[(k[h>>2]|0)+24>>2]|0)!=4:0){l=k[i>>2]|0;u=j;return l|0}if((k[(k[h>>2]|0)+80>>2]|0)==0?(l=$Z(k[h>>2]|0)|0,k[i>>2]=l,0!=(l|0)):0){l=k[i>>2]|0;u=j;return l|0}iY(k[(k[h>>2]|0)+80>>2]|0,k[h>>2]|0,k[d>>2]|0,k[(k[h>>2]|0)+84>>2]|0,k[(k[h>>2]|0)+88>>2]|0);l=k[i>>2]|0;u=j;return l|0}function $W(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=u;u=u+16|0;g=e+12|0;c=e+8|0;d=e+4|0;f=e;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[g>>2];k[f>>2]=k[(k[d>>2]|0)+24>>2];switch(k[f>>2]|0){case 3:{g=k[c>>2]|0;k[g>>2]=0;k[g+4>>2]=0;u=e;return 0}case 4:case 1:case 2:{f=UY(k[d>>2]|0)|0;g=k[c>>2]|0;k[g>>2]=f;k[g+4>>2]=M;u=e;return 0}default:{f=tJ(k[(k[d>>2]|0)+48>>2]|0,0)|0;g=k[c>>2]|0;k[g>>2]=f;k[g+4>>2]=M;u=e;return 0}}return 0}function aX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+80|0;l=v+32|0;w=v+76|0;i=v+72|0;r=v+68|0;s=v+64|0;t=v+60|0;j=v+56|0;e=v+52|0;n=v+48|0;f=v+44|0;o=v+40|0;g=v+24|0;h=v+16|0;p=v+8|0;q=v;k[w>>2]=a;k[i>>2]=b;k[r>>2]=c;k[s>>2]=d;k[t>>2]=k[w>>2];k[j>>2]=k[(k[t>>2]|0)+12>>2];k[n>>2]=0;k[(k[(k[t>>2]|0)+12>>2]|0)+96>>2]=(k[t>>2]|0)+8;kX(k[t>>2]|0);d=Ki(k[k[r>>2]>>2]|0)|0;k[e>>2]=d;do if((k[e>>2]|0)==5?(Ki(k[(k[r>>2]|0)+(2+(k[(k[j>>2]|0)+12>>2]|0)<<2)>>2]|0)|0)!=5:0){w=$h(k[(k[r>>2]|0)+(2+(k[(k[j>>2]|0)+12>>2]|0)<<2)>>2]|0)|0;k[f>>2]=w;if(k[(k[j>>2]|0)+32>>2]|0?0==(ul(32733,k[f>>2]|0)|0):0){w=mZ(k[t>>2]|0,k[r>>2]|0)|0;k[n>>2]=w;break}w=nZ(k[t>>2]|0,k[f>>2]|0,k[(k[r>>2]|0)+(2+(k[(k[j>>2]|0)+12>>2]|0)+1<<2)>>2]|0)|0;k[n>>2]=w}else m=7;while(0);do if((m|0)==7){k[o>>2]=4;if(!(k[(k[j>>2]|0)+32>>2]|0)){w=XJ(k[k[j>>2]>>2]|0)|0;k[o>>2]=w}if((k[e>>2]|0)==1?_Y(k[t>>2]|0)|0:0){w=k[(k[j>>2]|0)+8>>2]|0;k[l>>2]=(k[i>>2]|0)>1?51445:51452;k[l+4>>2]=w;w=xf(51464,l)|0;k[(k[t>>2]|0)+8>>2]=w;k[n>>2]=1;break}if((k[i>>2]|0)==1){s=Pi(k[k[r>>2]>>2]|0)|0;w=g;k[w>>2]=s;k[w+4>>2]=M;w=g;w=oZ(k[(k[t>>2]|0)+20>>2]|0,k[w>>2]|0,k[w+4>>2]|0,0)|0;k[n>>2]=w;break}if((k[e>>2]|0)!=1){if((k[o>>2]|0)==5?(Ki(k[(k[r>>2]|0)+4>>2]|0)|0)==1:0){q=Pi(k[(k[r>>2]|0)+4>>2]|0)|0;w=h;k[w>>2]=q;k[w+4>>2]=M;w=h;w=oZ(k[(k[t>>2]|0)+20>>2]|0,k[w>>2]|0,k[w+4>>2]|0,0)|0;k[n>>2]=w}pZ(n,k[t>>2]|0,k[r>>2]|0,k[s>>2]|0);break}m=Pi(k[k[r>>2]>>2]|0)|0;w=p;k[w>>2]=m;k[w+4>>2]=M;w=Pi(k[(k[r>>2]|0)+4>>2]|0)|0;m=q;k[m>>2]=w;k[m+4>>2]=M;m=p;w=q;if(!((k[m>>2]|0)!=(k[w>>2]|0)?1:(k[m+4>>2]|0)!=(k[w+4>>2]|0))){w=p;w=oZ(k[(k[t>>2]|0)+20>>2]|0,k[w>>2]|0,k[w+4>>2]|0,0)|0;k[n>>2]=w;pZ(n,k[t>>2]|0,k[r>>2]|0,k[s>>2]|0);break}a=k[(k[t>>2]|0)+20>>2]|0;if((k[o>>2]|0)==5){w=p;w=oZ(a,k[w>>2]|0,k[w+4>>2]|0,0)|0;k[n>>2]=w;if(!(k[n>>2]|0)){w=q;w=oZ(k[(k[t>>2]|0)+20>>2]|0,k[w>>2]|0,k[w+4>>2]|0,0)|0;k[n>>2]=w}pZ(n,k[t>>2]|0,k[r>>2]|0,k[s>>2]|0);break}w=qZ(a,k[r>>2]|0,k[s>>2]|0)|0;k[n>>2]=w;if(!(k[n>>2]|0)){w=p;w=oZ(k[(k[t>>2]|0)+20>>2]|0,k[w>>2]|0,k[w+4>>2]|0,0)|0;k[n>>2]=w}if(!(k[n>>2]|0)){w=k[s>>2]|0;w=rZ(k[(k[t>>2]|0)+20>>2]|0,k[r>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[n>>2]=w}}while(0);k[(k[(k[t>>2]|0)+12>>2]|0)+96>>2]=0;u=v;return k[n>>2]|0}function bX(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;jZ(k[c>>2]|0)|0;u=b;return 0}function cX(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[(k[(k[d>>2]|0)+12>>2]|0)+96>>2]=(k[d>>2]|0)+8;kX(k[d>>2]|0);a=qX(k[(k[d>>2]|0)+20>>2]|0,1)|0;k[b>>2]=a;k[(k[(k[d>>2]|0)+12>>2]|0)+96>>2]=0;u=c;return k[b>>2]|0}function dX(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;u=b;return 0}function eX(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[e>>2];a=lX(k[(k[d>>2]|0)+20>>2]|0)|0;k[b>>2]=a;u=c;return k[b>>2]|0}function fX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;j=u;u=u+32|0;h=j+28|0;n=j+24|0;l=j+16|0;i=j+12|0;f=j+8|0;m=j+4|0;g=j;k[n>>2]=a;k[j+20>>2]=b;k[l>>2]=c;k[i>>2]=d;k[f>>2]=e;k[m>>2]=k[n>>2];e=gY(k[m>>2]|0,k[l>>2]|0)|0;k[g>>2]=e;if(k[g>>2]|0){k[k[i>>2]>>2]=243;k[k[f>>2]>>2]=k[g>>2];k[h>>2]=1;n=k[h>>2]|0;u=j;return n|0}else{k[h>>2]=0;n=k[h>>2]|0;u=j;return n|0}return 0}function gX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[f>>2];b=dY(k[(k[e>>2]|0)+20>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function hX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;d=c;k[e>>2]=a;k[c+4>>2]=b;k[d>>2]=k[e>>2];kX(k[d>>2]|0);b=qX(k[(k[d>>2]|0)+20>>2]|0,0)|0;u=c;return b|0}function iX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;d=c;k[e>>2]=a;k[c+4>>2]=b;k[d>>2]=k[e>>2];kX(k[d>>2]|0);b=qX(k[(k[d>>2]|0)+20>>2]|0,0)|0;u=c;return b|0}function jX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;d=c;k[e>>2]=a;k[c+4>>2]=b;k[d>>2]=k[e>>2];kX(k[d>>2]|0);b=lX(k[(k[d>>2]|0)+20>>2]|0)|0;u=c;return b|0}function kX(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[(k[b>>2]|0)+24>>2]|0)+44>>2];while(1){if(!(k[c>>2]|0))break;if((k[(k[c>>2]|0)+24>>2]|0)==1?(k[k[c>>2]>>2]|0)==(k[b>>2]|0):0){a=(k[c>>2]|0)+60|0;k[a>>2]=k[a>>2]|32}k[c>>2]=k[(k[c>>2]|0)+4>>2]}u=d;return}function lX(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=0;a=mX(k[(k[c>>2]|0)+4>>2]|0)|0;u=b;return a|0}function mX(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;eS(k[c>>2]|0);nX(k[c>>2]|0);oX(k[c>>2]|0);u=b;return 0}function nX(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+12>>2]|0)){u=c;return}pX(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+16>>2]=0;u=c;return}function oX(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){u=c;return}tS(k[(k[b>>2]|0)+80>>2]|0);k[(k[b>>2]|0)+80>>2]=0;u=c;return}function pX(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=0;while(1){a=k[(k[b>>2]|0)+20>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+12>>2]|0))break;k[e>>2]=k[a+(k[c>>2]<<2)>>2];while(1){if(!(k[e>>2]|0))break;k[d>>2]=k[k[e>>2]>>2];ie(k[e>>2]|0);k[e>>2]=k[d>>2]}k[c>>2]=(k[c>>2]|0)+1}w0(a|0,0,k[(k[b>>2]|0)+12>>2]<<2|0)|0;k[(k[b>>2]|0)+8>>2]=0;u=f;return}function qX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0?k[(k[d>>2]|0)+8>>2]|0:0)?(b=rX(k[d>>2]|0)|0,k[f>>2]=b,k[(k[d>>2]|0)+8>>2]=0,k[f>>2]|0):0){k[c>>2]=k[f>>2];f=k[c>>2]|0;u=g;return f|0}f=sX(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;u=g;return f|0}function rX(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;b=g+24|0;c=g+20|0;d=g+16|0;e=g+4|0;f=g;k[b>>2]=a;k[c>>2]=k[(k[k[b>>2]>>2]|0)+12>>2];k[f>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;a=(k[b>>2]|0)+16|0;rT(f,e,k[a>>2]|0,k[a+4>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[c>>2]|0))break;a=(k[(k[b>>2]|0)+24>>2]|0)+(k[d>>2]<<3)|0;rT(f,e,k[a>>2]|0,k[a+4>>2]|0);k[d>>2]=(k[d>>2]|0)+1}if(k[f>>2]|0){e=k[e>>2]|0;ie(e);f=k[f>>2]|0;u=g;return f|0}d=cY(k[(k[b>>2]|0)+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[f>>2]=d;e=k[e>>2]|0;ie(e);f=k[f>>2]|0;u=g;return f|0}function sX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;tX(k[c>>2]|0);if(k[e>>2]|0)eS(k[c>>2]|0);e=LR(k[c>>2]|0)|0;u=d;return e|0}function tX(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+16>>2]|0)){u=c;return}k[(k[b>>2]|0)+16>>2]=0;uX(k[b>>2]|0);u=c;return}function uX(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=u;u=u+208|0;c=E+192|0;q=E+188|0;x=E+184|0;y=E+180|0;z=E+176|0;A=E+172|0;B=E+168|0;C=E+164|0;D=E+160|0;d=E+156|0;e=E+16|0;f=E+152|0;g=E+148|0;h=E+144|0;j=E+8|0;m=E;n=E+140|0;o=E+136|0;p=E+132|0;r=E+128|0;s=E+124|0;t=E+120|0;v=E+116|0;w=E+112|0;k[c>>2]=a;k[q>>2]=k[(k[c>>2]|0)+12>>2];k[z>>2]=0;b=rS(k[c>>2]|0)|0;k[x>>2]=b;b=vX(k[c>>2]|0,k[x>>2]|0)|0;k[y>>2]=b;oX(k[c>>2]|0);if(!(k[y>>2]|0)){D=k[c>>2]|0;C=k[z>>2]|0;HX(D,x,C);C=k[c>>2]|0;IX(C,x);C=k[c>>2]|0;D=k[x>>2]|0;JX(C,D);D=k[x>>2]|0;tS(D);u=E;return}k[A>>2]=k[(k[k[c>>2]>>2]|0)+68>>2];k[B>>2]=k[(k[k[c>>2]>>2]|0)+48>>2];wX(k[c>>2]|0,e,k[y>>2]|0);k[D>>2]=e+4+8;k[d>>2]=e+4+20;if(!(k[(k[c>>2]|0)+36>>2]|0)){b=FT(k[q>>2]|0,0,0)|0;k[(k[c>>2]|0)+36>>2]=b}while(1){if(!(k[(k[c>>2]|0)+36>>2]|0))a=0==(xX(k[q>>2]|0)|0);else a=0;b=k[q>>2]|0;if(!a)break;gT(b,f,g,h);a=k[c>>2]|0;b=q$(k[f>>2]|0)|0;yX(a,e,b,k[f>>2]|0);a:do if((k[A>>2]|0)>=((k[(k[D>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0)+(k[h>>2]|0)+1|0)){r0((k[k[D>>2]>>2]|0)+(k[(k[D>>2]|0)+4>>2]|0)|0,k[g>>2]|0,k[h>>2]|0)|0;b=(k[D>>2]|0)+4|0;k[b>>2]=(k[b>>2]|0)+(k[h>>2]|0)}else{b=j;k[b>>2]=0;k[b+4>>2]=0;b=m;k[b>>2]=0;k[b+4>>2]=0;k[n>>2]=0;while(1){if(k[(k[c>>2]|0)+36>>2]|0)break a;if((k[n>>2]|0)>=(k[h>>2]|0))break a;b=($R((k[g>>2]|0)+(k[n>>2]|0)|0,m)|0)&255;k[n>>2]=(k[n>>2]|0)+b;b=m;a=j;b=i0(k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;a=j;k[a>>2]=b;k[a+4>>2]=M;a=k[k[D>>2]>>2]|0;if(i[e+57>>0]|0){zX(a,k[(k[D>>2]|0)+4>>2]&65535);a=j;a=OS((k[k[D>>2]>>2]|0)+(k[(k[D>>2]|0)+4>>2]|0)|0,k[a>>2]|0,k[a+4>>2]|0)|0;b=(k[D>>2]|0)+4|0;k[b>>2]=(k[b>>2]|0)+a;i[e+57>>0]=0;b=j;AX(k[c>>2]|0,e,k[b>>2]|0,k[b+4>>2]|0)}else{b=m;a=OS(a+(k[(k[D>>2]|0)+4>>2]|0)|0,k[b>>2]|0,k[b+4>>2]|0)|0;b=(k[D>>2]|0)+4|0;k[b>>2]=(k[b>>2]|0)+a}if((k[B>>2]|0)==1){if((((k[n>>2]|0)<(k[h>>2]|0)?(l[(k[g>>2]|0)+(k[n>>2]|0)>>0]|0)==0:0)?(a=k[k[D>>2]>>2]|0,F=(k[D>>2]|0)+4|0,b=k[F>>2]|0,k[F>>2]=b+1,i[a+b>>0]=0,k[n>>2]=(k[n>>2]|0)+1,(k[n>>2]|0)<(k[h>>2]|0)):0)?(l[(k[g>>2]|0)+(k[n>>2]|0)>>0]|0)==0:0){b=k[k[D>>2]>>2]|0;a=(k[D>>2]|0)+4|0;F=k[a>>2]|0;k[a>>2]=F+1;i[b+F>>0]=0;k[n>>2]=(k[n>>2]|0)+1}if(((k[(k[D>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0)|0)<(k[A>>2]|0))continue;BX(k[c>>2]|0,e);continue}F=bS((k[g>>2]|0)+(k[n>>2]|0)|0,p,o)|0;k[r>>2]=F;k[r>>2]=(k[r>>2]|0)+(k[p>>2]|0);b:do if(((k[(k[D>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0)+(k[r>>2]|0)|0)<=(k[A>>2]|0)){r0((k[k[D>>2]>>2]|0)+(k[(k[D>>2]|0)+4>>2]|0)|0,(k[g>>2]|0)+(k[n>>2]|0)|0,k[r>>2]|0)|0;F=(k[D>>2]|0)+4|0;k[F>>2]=(k[F>>2]|0)+(k[r>>2]|0)}else{k[s>>2]=(k[g>>2]|0)+(k[n>>2]|0);k[t>>2]=0;do{if(k[(k[c>>2]|0)+36>>2]|0)break b;k[v>>2]=(k[A>>2]|0)-(k[(k[D>>2]|0)+4>>2]|0)-(k[(k[d>>2]|0)+4>>2]|0);k[w>>2]=0;if(((k[r>>2]|0)-(k[t>>2]|0)|0)<=(k[v>>2]|0))k[w>>2]=(k[r>>2]|0)-(k[t>>2]|0);else{F=CX((k[s>>2]|0)+(k[t>>2]|0)|0,k[v>>2]|0)|0;k[w>>2]=F}r0((k[k[D>>2]>>2]|0)+(k[(k[D>>2]|0)+4>>2]|0)|0,(k[s>>2]|0)+(k[t>>2]|0)|0,k[w>>2]|0)|0;F=(k[D>>2]|0)+4|0;k[F>>2]=(k[F>>2]|0)+(k[w>>2]|0);k[t>>2]=(k[t>>2]|0)+(k[w>>2]|0);if(((k[(k[D>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0)|0)>=(k[A>>2]|0))BX(k[c>>2]|0,e)}while((k[t>>2]|0)<(k[r>>2]|0))}while(0);k[n>>2]=(k[n>>2]|0)+(k[r>>2]|0)}}while(0);fT(k[q>>2]|0)}pX(b);DX(k[c>>2]|0,e,z);if(!(k[(k[x>>2]|0)+20>>2]|0))EX((k[c>>2]|0)+36|0,x);FX((k[c>>2]|0)+36|0,k[x>>2]|0,0,1,0);if(!(k[(k[c>>2]|0)+36>>2]|0)){D=k[(k[x>>2]|0)+24+8>>2]|0;B=(k[x>>2]|0)+24+4|0;F=k[B>>2]|0;k[B>>2]=F+1;k[C>>2]=D+(F*12|0);k[k[C>>2]>>2]=k[y>>2];k[(k[C>>2]|0)+4>>2]=1;k[(k[C>>2]|0)+8>>2]=k[z>>2];F=(k[x>>2]|0)+16|0;k[F>>2]=(k[F>>2]|0)+1}GX(k[c>>2]|0,0,k[x>>2]|0);F=k[c>>2]|0;D=k[z>>2]|0;HX(F,x,D);D=k[c>>2]|0;IX(D,x);D=k[c>>2]|0;F=k[x>>2]|0;JX(D,F);F=k[x>>2]|0;tS(F);u=E;return}function vX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+288|0;d=m+280|0;e=m+276|0;h=m+272|0;i=m+20|0;f=m+16|0;g=m+12|0;j=m+8|0;l=m+4|0;c=m;k[d>>2]=a;k[e>>2]=b;k[h>>2]=0;if(k[(k[d>>2]|0)+36>>2]|0){l=k[h>>2]|0;u=m;return l|0}if((k[(k[e>>2]|0)+16>>2]|0)>=2e3){k[(k[d>>2]|0)+36>>2]=13;l=k[h>>2]|0;u=m;return l|0}w0(i|0,0,252)|0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[e>>2]|0)+24+((k[f>>2]|0)*12|0)+4>>2]|0))break;k[c>>2]=k[(k[(k[e>>2]|0)+24+((k[f>>2]|0)*12|0)+8>>2]|0)+((k[g>>2]|0)*12|0)>>2];if((k[c>>2]|0)<=2e3){d=i+((((k[c>>2]|0)-1|0)/32|0)<<2)|0;k[d>>2]=k[d>>2]|1<<(((k[c>>2]|0)-1|0)%32|0)}k[g>>2]=(k[g>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1}k[j>>2]=0;while(1){a=k[j>>2]|0;if((k[i+(k[j>>2]<<2)>>2]|0)!=-1)break;k[j>>2]=a+1}k[l>>2]=k[i+(a<<2)>>2];k[h>>2]=0;while(1){if(!(k[l>>2]&1<>2]))break;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=(k[h>>2]|0)+(1+(k[j>>2]<<5));l=k[h>>2]|0;u=m;return l|0}function wX(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;j=l;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=(k[(k[k[d>>2]>>2]|0)+68>>2]|0)+20;a=k[e>>2]|0;b=a+96|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[e>>2]>>2]=k[f>>2];_X(k[d>>2]|0,k[e>>2]|0,1)|0;k[(k[e>>2]|0)+4>>2]=1;i[(k[e>>2]|0)+58>>0]=1;k[(k[e>>2]|0)+88>>2]=1;mS((k[d>>2]|0)+36|0,(k[e>>2]|0)+4+20|0,k[g>>2]|0)|0;mS((k[d>>2]|0)+36|0,(k[e>>2]|0)+4+8|0,k[g>>2]|0)|0;if(!(k[(k[d>>2]|0)+52>>2]|0)){k[h>>2]=k[k[d>>2]>>2];f=k[d>>2]|0;g=(k[d>>2]|0)+52|0;c=k[(k[h>>2]|0)+8>>2]|0;k[j>>2]=k[(k[h>>2]|0)+4>>2];k[j+4>>2]=c;ET(f,g,xf(50920,j)|0)|0}if(k[(k[d>>2]|0)+36>>2]|0){u=l;return}j=k[(k[e>>2]|0)+4+8>>2]|0;i[j>>0]=0;i[j+1>>0]=0;i[j+2>>0]=0;i[j+3>>0]=0;k[(k[e>>2]|0)+4+8+4>>2]=4;zJ(k[(k[d>>2]|0)+52>>2]|0,1,k[k[e>>2]>>2]|0)|0;u=l;return}function xX(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (k[(k[b>>2]|0)+16>>2]|0)==0|0}function yX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;g=o+28|0;h=o+24|0;j=o+20|0;l=o+16|0;m=o+12|0;n=o+8|0;e=o+4|0;f=o;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[n>>2]=(k[h>>2]|0)+4;k[e>>2]=(k[h>>2]|0)+4+20;if(((k[(k[n>>2]|0)+8+4>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)+(k[j>>2]|0)+2|0)>=(k[(k[k[g>>2]>>2]|0)+68>>2]|0)){if((k[(k[n>>2]|0)+8+4>>2]|0)>4)BX(k[g>>2]|0,k[h>>2]|0);if(((k[(k[n>>2]|0)+8+4>>2]|0)+((k[j>>2]|0)+20)|0)>>>0>(k[(k[n>>2]|0)+8+8>>2]|0)>>>0)mS((k[g>>2]|0)+36|0,(k[n>>2]|0)+8|0,(k[j>>2]|0)+20+(k[(k[n>>2]|0)+8+4>>2]|0)|0)|0}c=(k[(k[n>>2]|0)+8+4>>2]|0)-(k[(k[n>>2]|0)+4>>2]|0)|0;c=OS((k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)|0,c,((c|0)<0)<<31>>31)|0;d=(k[e>>2]|0)+4|0;k[d>>2]=(k[d>>2]|0)+c;k[(k[n>>2]|0)+4>>2]=k[(k[n>>2]|0)+8+4>>2];if(i[(k[h>>2]|0)+58>>0]|0){k[m>>2]=0;if((k[k[n>>2]>>2]|0)!=1){k[f>>2]=k[j>>2];if(k[(k[n>>2]|0)+32+4>>2]|0){d=1+(aY(k[(k[n>>2]|0)+32+4>>2]|0,k[(k[n>>2]|0)+32>>2]|0,k[l>>2]|0)|0)|0;k[f>>2]=d}bY(k[g>>2]|0,k[h>>2]|0,k[f>>2]|0,k[l>>2]|0);k[n>>2]=(k[h>>2]|0)+4}}else{d=aY(k[(k[n>>2]|0)+32+4>>2]|0,k[(k[n>>2]|0)+32>>2]|0,k[l>>2]|0)|0;k[m>>2]=d;d=k[m>>2]|0;rT((k[g>>2]|0)+36|0,(k[n>>2]|0)+8|0,d,((d|0)<0)<<31>>31)}d=(k[j>>2]|0)-(k[m>>2]|0)|0;rT((k[g>>2]|0)+36|0,(k[n>>2]|0)+8|0,d,((d|0)<0)<<31>>31);lS((k[g>>2]|0)+36|0,(k[n>>2]|0)+8|0,(k[j>>2]|0)-(k[m>>2]|0)|0,(k[l>>2]|0)+(k[m>>2]|0)|0);GR((k[g>>2]|0)+36|0,(k[n>>2]|0)+32|0,k[j>>2]|0,k[l>>2]|0);i[(k[h>>2]|0)+58>>0]=0;i[(k[h>>2]|0)+57>>0]=0;i[(k[h>>2]|0)+56>>0]=1;k[k[(k[h>>2]|0)+72>>2]>>2]=k[k[n>>2]>>2];u=o;return}function zX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=c+4|0;k[d>>2]=a;j[e>>1]=b;i[k[d>>2]>>0]=(m[e>>1]|0)>>8;i[(k[d>>2]|0)+1>>0]=m[e>>1]|0;u=c;return}function AX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;h=p+48|0;j=p+44|0;l=p+24|0;m=p+40|0;n=p+36|0;o=p+16|0;e=p+32|0;f=p+8|0;g=p;k[h>>2]=a;k[j>>2]=b;b=l;k[b>>2]=c;k[b+4>>2]=d;k[n>>2]=0;k[m>>2]=0;while(1){if(!((k[(k[h>>2]|0)+36>>2]|0)==0?(k[n>>2]|0)==0:0))break;k[e>>2]=(k[(k[j>>2]|0)+72>>2]|0)+(k[m>>2]<<5);if((k[(k[e>>2]|0)+16+4>>2]|0)>=(k[(k[k[h>>2]>>2]|0)+68>>2]|0)){i[k[(k[e>>2]|0)+16>>2]>>0]=1;c=k[h>>2]|0;a=k[k[j>>2]>>2]|0;a=t0(a|0,((a|0)<0)<<31>>31|0,37)|0;a=i0(a|0,M|0,0,16)|0;d=M;b=k[m>>2]|0;b=t0(b|0,((b|0)<0)<<31>>31|0,31)|0;b=i0(a|0,d|0,b|0,M|0)|0;d=k[k[e>>2]>>2]|0;d=i0(b|0,M|0,d|0,((d|0)<0)<<31>>31|0)|0;LX(c,d,M,k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+16+4>>2]|0);_X(k[h>>2]|0,k[j>>2]|0,(k[m>>2]|0)+2|0)|0;k[e>>2]=(k[(k[j>>2]|0)+72>>2]|0)+(k[m>>2]<<5);if((k[(k[h>>2]|0)+36>>2]|0)==0?(k[(k[e>>2]|0)+32+16+4>>2]|0)==0:0){c=$X((k[e>>2]|0)+16|0)|0;b=f;k[b>>2]=c;k[b+4>>2]=M;k[(k[e>>2]|0)+32>>2]=k[k[e>>2]>>2];rT((k[h>>2]|0)+36|0,(k[e>>2]|0)+32+16|0,0,0);b=k[k[e>>2]>>2]|0;rT((k[h>>2]|0)+36|0,(k[e>>2]|0)+32+16|0,b,((b|0)<0)<<31>>31);b=f;rT((k[h>>2]|0)+36|0,(k[e>>2]|0)+32+16|0,k[b>>2]|0,k[b+4>>2]|0);k[(k[e>>2]|0)+32+4>>2]=1;b=f;c=k[b+4>>2]|0;d=(k[e>>2]|0)+32+8|0;k[d>>2]=k[b>>2];k[d+4>>2]=c}HS((k[e>>2]|0)+16|0);k[(k[e>>2]|0)+4>>2]=0;d=k[e>>2]|0;k[d>>2]=(k[d>>2]|0)+1}else k[n>>2]=1;if(k[(k[e>>2]|0)+4>>2]|0){d=l;c=(k[e>>2]|0)+8|0;c=h0(k[d>>2]|0,k[d+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;d=o;k[d>>2]=c;k[d+4>>2]=M}else{if(!(k[m>>2]|0))a=k[(k[j>>2]|0)+4>>2]|0;else a=k[(k[e>>2]|0)+-32>>2]|0;b=g;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;b=((k[n>>2]|0)!=0^1)&1;rT((k[h>>2]|0)+36|0,(k[e>>2]|0)+16|0,b,((b|0)<0)<<31>>31);b=g;rT((k[h>>2]|0)+36|0,(k[e>>2]|0)+16|0,k[b>>2]|0,k[b+4>>2]|0);b=l;c=k[b+4>>2]|0;d=o;k[d>>2]=k[b>>2];k[d+4>>2]=c}b=o;rT((k[h>>2]|0)+36|0,(k[e>>2]|0)+16|0,k[b>>2]|0,k[b+4>>2]|0);k[(k[e>>2]|0)+4>>2]=1;b=l;c=k[b+4>>2]|0;d=(k[e>>2]|0)+8|0;k[d>>2]=k[b>>2];k[d+4>>2]=c;k[m>>2]=(k[m>>2]|0)+1}u=p;return}function BX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;c=g+16|0;d=g+12|0;e=g+8|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[d>>2]|0)+4;k[13794]=(k[13794]|0)+1;zX((k[(k[e>>2]|0)+8>>2]|0)+2|0,k[(k[e>>2]|0)+8+4>>2]&65535);a=k[c>>2]|0;if(i[(k[d>>2]|0)+58>>0]|0)ZX(a,k[d>>2]|0);else lS(a+36|0,(k[e>>2]|0)+8|0,k[(k[e>>2]|0)+20+4>>2]|0,k[(k[e>>2]|0)+20>>2]|0);b=k[k[d>>2]>>2]|0;b=t0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=i0(b|0,M|0,0,0)|0;b=i0(b|0,M|0,0,0)|0;a=k[k[e>>2]>>2]|0;a=i0(b|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;b=f;k[b>>2]=a;k[b+4>>2]=M;LX(k[c>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[(k[e>>2]|0)+8>>2]|0,k[(k[e>>2]|0)+8+4>>2]|0);HS((k[e>>2]|0)+8|0);HS((k[e>>2]|0)+20|0);lS((k[c>>2]|0)+36|0,(k[e>>2]|0)+8|0,4,56049);k[(k[e>>2]|0)+4>>2]=0;f=k[e>>2]|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[d>>2]|0)+60|0;k[f>>2]=(k[f>>2]|0)+1;i[(k[d>>2]|0)+58>>0]=1;i[(k[d>>2]|0)+57>>0]=1;u=g;return}function CX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;b=dS(k[c>>2]|0,f)|0;k[e>>2]=b;if((k[e>>2]|0)>=(k[d>>2]|0)){g=k[e>>2]|0;u=h;return g|0}while(1){b=dS((k[c>>2]|0)+(k[e>>2]|0)|0,f)|0;k[g>>2]=b;if(((k[e>>2]|0)+(k[g>>2]|0)|0)>(k[d>>2]|0))break;k[e>>2]=(k[e>>2]|0)+(k[g>>2]|0)}g=k[e>>2]|0;u=h;return g|0}function DX(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;g=i+12|0;e=i+8|0;h=i+4|0;f=i;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;k[f>>2]=(k[g>>2]|0)+4;if(!(k[(k[d>>2]|0)+36>>2]|0)){if((k[(k[f>>2]|0)+8+4>>2]|0)>4)BX(k[d>>2]|0,k[g>>2]|0);k[k[e>>2]>>2]=(k[k[f>>2]>>2]|0)-1;if((k[k[f>>2]>>2]|0)>1)WX(k[d>>2]|0,k[g>>2]|0)}xS((k[f>>2]|0)+32|0);xS((k[f>>2]|0)+8|0);xS((k[f>>2]|0)+20|0);xS((k[g>>2]|0)+76|0);k[h>>2]=0;while(1){a=k[(k[g>>2]|0)+72>>2]|0;if((k[h>>2]|0)>=(k[(k[g>>2]|0)+68>>2]|0))break;xS(a+(k[h>>2]<<5)+16|0);k[h>>2]=(k[h>>2]|0)+1}ie(a);u=i;return}function EX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;if(k[k[c>>2]>>2]|0){u=h;return}k[e>>2]=k[k[d>>2]>>2];k[f>>2]=k[(k[e>>2]|0)+20>>2];k[g>>2]=40+(((k[f>>2]|0)+1|0)*12|0);g=fg(k[e>>2]|0,k[g>>2]|0)|0;k[e>>2]=g;if(k[e>>2]|0){g=(k[e>>2]|0)+24+((k[f>>2]|0)*12|0)|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;g=(k[e>>2]|0)+20|0;k[g>>2]=(k[g>>2]|0)+1;k[k[d>>2]>>2]=k[e>>2];u=h;return}else{k[k[c>>2]>>2]=7;u=h;return}}function FX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;j=p+32|0;l=p+28|0;m=p+24|0;n=p+20|0;o=p+16|0;f=p+12|0;g=p+8|0;h=p+4|0;i=p;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;if(k[k[j>>2]>>2]|0){u=p;return}k[f>>2]=(k[l>>2]|0)+24+((k[m>>2]|0)*12|0);k[h>>2]=((k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]|0)|0)*12;m=fg(k[(k[f>>2]|0)+8>>2]|0,k[h>>2]|0)|0;k[g>>2]=m;if(!(k[g>>2]|0)){k[k[j>>2]>>2]=7;u=p;return}if(!(k[o>>2]|0))w0((k[g>>2]|0)+((k[(k[f>>2]|0)+4>>2]|0)*12|0)|0,0,(k[n>>2]|0)*12|0)|0;else{k[i>>2]=(k[(k[f>>2]|0)+4>>2]|0)*12;u0((k[g>>2]|0)+((k[n>>2]|0)*12|0)|0,k[g>>2]|0,k[i>>2]|0)|0;w0(k[g>>2]|0,0,(k[n>>2]|0)*12|0)|0}k[(k[f>>2]|0)+8>>2]=k[g>>2];u=p;return}function GX(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+64|0;j=r+48|0;l=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;p=r+28|0;q=r+24|0;d=r+20|0;e=r+16|0;f=r+12|0;g=r+8|0;h=r+4|0;i=r;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;if(k[(k[j>>2]|0)+36>>2]|0){u=r;return}k[o>>2]=-1;k[p>>2]=0;k[e>>2]=k[(k[m>>2]|0)+24+((k[l>>2]|0)*12|0)+4>>2];if(!(k[e>>2]|0)){u=r;return}k[q>>2]=(k[(k[m>>2]|0)+24+((k[l>>2]|0)*12|0)+8>>2]|0)+(((k[(k[m>>2]|0)+24+((k[l>>2]|0)*12|0)+4>>2]|0)-1|0)*12|0);k[d>>2]=1+(k[(k[q>>2]|0)+8>>2]|0)-(k[(k[q>>2]|0)+4>>2]|0);k[n>>2]=(k[l>>2]|0)-1;while(1){if((k[n>>2]|0)<0)break;if(k[(k[m>>2]|0)+24+((k[n>>2]|0)*12|0)+4>>2]|0)break;k[n>>2]=(k[n>>2]|0)+-1}if((k[n>>2]|0)>=0){k[g>>2]=0;k[h>>2]=(k[m>>2]|0)+24+((k[n>>2]|0)*12|0);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[h>>2]|0)+4>>2]|0))break;k[i>>2]=(k[(k[(k[h>>2]|0)+8>>2]|0)+((k[f>>2]|0)*12|0)+8>>2]|0)-(k[(k[(k[h>>2]|0)+8>>2]|0)+((k[f>>2]|0)*12|0)+4>>2]|0)+1;if((k[i>>2]|0)>(k[g>>2]|0))k[g>>2]=k[i>>2];k[f>>2]=(k[f>>2]|0)+1}if((k[g>>2]|0)>=(k[d>>2]|0)){k[o>>2]=k[n>>2];k[p>>2]=k[g>>2]}}if((k[o>>2]|0)<0){k[o>>2]=k[l>>2];k[p>>2]=k[d>>2]}UX(k[j>>2]|0,k[o>>2]|0,k[p>>2]|0,k[m>>2]|0);u=r;return}function HX(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;d=l+28|0;e=l+24|0;f=l+20|0;g=l+16|0;h=l;i=l+12|0;j=l+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[d>>2]|0)+36>>2]|0){u=l;return}if((k[(k[k[d>>2]>>2]|0)+72>>2]|0)<=0){u=l;return}k[g>>2]=k[k[e>>2]>>2];a=(k[g>>2]|0)+8|0;c=k[a+4>>2]|0;b=h;k[b>>2]=k[a>>2];k[b+4>>2]=c;b=h;c=k[f>>2]|0;c=i0(k[b>>2]|0,k[b+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;b=k[(k[d>>2]|0)+8>>2]|0;b=z0(c|0,M|0,b|0,((b|0)<0)<<31>>31|0)|0;c=M;a=h;h=k[(k[d>>2]|0)+8>>2]|0;h=z0(k[a>>2]|0,k[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;h=h0(b|0,c|0,h|0,M|0)|0;k[i>>2]=h;f=k[f>>2]|0;h=(k[g>>2]|0)+8|0;c=h;f=i0(k[c>>2]|0,k[c+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;k[h>>2]=f;k[h+4>>2]=M;i=$(k[(k[d>>2]|0)+8>>2]|0,k[i>>2]|0)|0;i=$(i,k[(k[g>>2]|0)+20>>2]|0)|0;k[j>>2]=i;TX(k[d>>2]|0,k[e>>2]|0,k[j>>2]|0,k[(k[k[d>>2]>>2]|0)+72>>2]|0)|0;u=l;return}function IX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;f=h+12|0;d=h+8|0;g=h+4|0;e=h;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[k[c>>2]>>2]|0)+76>>2];k[g>>2]=k[k[f>>2]>>2];k[e>>2]=0;while(1){if(k[(k[c>>2]|0)+36>>2]|0){a=5;break}if((k[(k[g>>2]|0)+24+((k[e>>2]|0)*12|0)+4>>2]|0)<(k[d>>2]|0)){a=5;break}MX(k[c>>2]|0,g,k[e>>2]|0,0);GX(k[c>>2]|0,(k[e>>2]|0)+1|0,k[g>>2]|0);k[e>>2]=(k[e>>2]|0)+1}if((a|0)==5){k[k[f>>2]>>2]=k[g>>2];u=h;return}}function JX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;c=j+32|0;d=j+28|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+36>>2]|0){u=j;return};k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;b=k[(k[k[c>>2]>>2]|0)+64>>2]|0;k[g>>2]=b;k[g>>2]=(k[g>>2]|0)<0?0:b;if(!(mS((k[c>>2]|0)+36|0,e,31)|0)){KX(k[e>>2]|0,k[g>>2]|0);k[e+4>>2]=4;b=k[(k[d>>2]|0)+20>>2]|0;b=OS((k[e>>2]|0)+(k[e+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;g=e+4|0;k[g>>2]=(k[g>>2]|0)+b;g=k[(k[d>>2]|0)+16>>2]|0;g=OS((k[e>>2]|0)+(k[e+4>>2]|0)|0,g,((g|0)<0)<<31>>31)|0;b=e+4|0;k[b>>2]=(k[b>>2]|0)+g;b=(k[d>>2]|0)+8|0;b=OS((k[e>>2]|0)+(k[e+4>>2]|0)|0,k[b>>2]|0,k[b+4>>2]|0)|0;g=e+4|0;k[g>>2]=(k[g>>2]|0)+b}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[i>>2]=(k[d>>2]|0)+24+((k[f>>2]|0)*12|0);g=k[k[i>>2]>>2]|0;rT((k[c>>2]|0)+36|0,e,g,((g|0)<0)<<31>>31);g=k[(k[i>>2]|0)+4>>2]|0;rT((k[c>>2]|0)+36|0,e,g,((g|0)<0)<<31>>31);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[i>>2]|0)+4>>2]|0))break;g=k[(k[(k[i>>2]|0)+8>>2]|0)+((k[h>>2]|0)*12|0)>>2]|0;rT((k[c>>2]|0)+36|0,e,g,((g|0)<0)<<31>>31);g=k[(k[(k[i>>2]|0)+8>>2]|0)+((k[h>>2]|0)*12|0)+4>>2]|0;rT((k[c>>2]|0)+36|0,e,g,((g|0)<0)<<31>>31);g=k[(k[(k[i>>2]|0)+8>>2]|0)+((k[h>>2]|0)*12|0)+8>>2]|0;rT((k[c>>2]|0)+36|0,e,g,((g|0)<0)<<31>>31);k[h>>2]=(k[h>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1}LX(k[c>>2]|0,10,0,k[e>>2]|0,k[e+4>>2]|0);xS(e);u=j;return}function KX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[k[d>>2]>>0]=k[e>>2]>>24;i[(k[d>>2]|0)+1>>0]=k[e>>2]>>16;i[(k[d>>2]|0)+2>>0]=k[e>>2]>>8;i[(k[d>>2]|0)+3>>0]=k[e>>2]>>0;u=c;return}function LX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;l=m+8|0;f=m+28|0;g=m;h=m+24|0;i=m+20|0;j=m+16|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;if(k[(k[f>>2]|0)+36>>2]|0){u=m;return}if((k[(k[f>>2]|0)+44>>2]|0)==0?(k[j>>2]=k[k[f>>2]>>2],d=k[f>>2]|0,e=(k[f>>2]|0)+44|0,c=k[(k[j>>2]|0)+8>>2]|0,k[l>>2]=k[(k[j>>2]|0)+4>>2],k[l+4>>2]=c,ET(d,e,xf(50780,l)|0)|0,k[(k[f>>2]|0)+36>>2]|0):0){u=m;return}l=g;AJ(k[(k[f>>2]|0)+44>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;vJ(k[(k[f>>2]|0)+44>>2]|0,2,k[h>>2]|0,k[i>>2]|0,0)|0;Ls(k[(k[f>>2]|0)+44>>2]|0)|0;l=Is(k[(k[f>>2]|0)+44>>2]|0)|0;k[(k[f>>2]|0)+36>>2]=l;u=m;return}function MX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+192|0;B=G+188|0;f=G+184|0;g=G+180|0;C=G+176|0;D=G+172|0;E=G+168|0;h=G+164|0;j=G+160|0;n=G+156|0;o=G+152|0;p=G;q=G+148|0;r=G+136|0;s=G+132|0;t=G+128|0;e=G+120|0;v=G+116|0;w=G+112|0;x=G+108|0;y=G+104|0;z=G+100|0;A=G+96|0;k[B>>2]=a;k[f>>2]=b;k[g>>2]=c;k[C>>2]=d;k[D>>2]=k[k[f>>2]>>2];k[E>>2]=(k[D>>2]|0)+24+((k[g>>2]|0)*12|0);k[j>>2]=0;if(k[C>>2]|0)a=k[k[C>>2]>>2]|0;else a=0;k[n>>2]=a;k[t>>2]=k[(k[k[B>>2]>>2]|0)+48>>2];k[G+124>>2]=32;a=p;b=a+96|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[r>>2]=0;k[r+4>>2]=0;k[r+8>>2]=0;do if(!(k[k[E>>2]>>2]|0)){d=vX(k[B>>2]|0,k[D>>2]|0)|0;k[e>>2]=d;if((k[g>>2]|0)==((k[(k[D>>2]|0)+20>>2]|0)-1|0)){EX((k[B>>2]|0)+36|0,k[f>>2]|0);k[D>>2]=k[k[f>>2]>>2]}FX((k[B>>2]|0)+36|0,k[D>>2]|0,(k[g>>2]|0)+1|0,1,0);if(k[(k[B>>2]|0)+36>>2]|0){u=G;return}else{k[E>>2]=(k[D>>2]|0)+24+((k[g>>2]|0)*12|0);k[h>>2]=(k[D>>2]|0)+24+(((k[g>>2]|0)+1|0)*12|0);wX(k[B>>2]|0,p,k[e>>2]|0);k[q>>2]=(k[(k[h>>2]|0)+8>>2]|0)+((k[(k[h>>2]|0)+4>>2]|0)*12|0);f=(k[h>>2]|0)+4|0;k[f>>2]=(k[f>>2]|0)+1;k[(k[q>>2]|0)+4>>2]=1;k[k[q>>2]>>2]=k[e>>2];f=(k[D>>2]|0)+16|0;k[f>>2]=(k[f>>2]|0)+1;k[o>>2]=k[(k[E>>2]|0)+4>>2];break}}else{k[h>>2]=(k[D>>2]|0)+24+(((k[g>>2]|0)+1|0)*12|0);k[o>>2]=k[k[E>>2]>>2];k[q>>2]=(k[(k[h>>2]|0)+8>>2]|0)+(((k[(k[h>>2]|0)+4>>2]|0)-1|0)*12|0);wX(k[B>>2]|0,p,k[k[q>>2]>>2]|0);k[p+4>>2]=(k[(k[q>>2]|0)+8>>2]|0)+1;k[p+88>>2]=0}while(0);if((k[(k[h>>2]|0)+4>>2]|0)==1)a=(k[(k[D>>2]|0)+20>>2]|0)==((k[g>>2]|0)+2|0);else a=0;k[s>>2]=a&1;sS(k[B>>2]|0,k[D>>2]|0,32,0,0,0,k[g>>2]|0,k[o>>2]|0,j);a:while(1){if(XS(k[B>>2]|0,k[j>>2]|0)|0)break;k[v>>2]=(k[j>>2]|0)+80+((m[(k[(k[j>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);if(!(k[(k[v>>2]|0)+80>>2]|0)){if((k[s>>2]|0)==0?l[(k[v>>2]|0)+84>>0]|0:0)F=16}else F=16;do if((F|0)==16){F=0;g=nS(k[j>>2]|0,x)|0;k[y>>2]=g;if(!((k[x>>2]|0)==(k[r+4>>2]|0)?!(R_(k[y>>2]|0,k[r>>2]|0,k[x>>2]|0)|0):0)){if(k[C>>2]|0?(k[p+60>>2]|0)>(k[n>>2]|0):0)break a;yX(k[B>>2]|0,p,k[x>>2]|0,k[y>>2]|0);GR((k[B>>2]|0)+36|0,r,k[x>>2]|0,k[y>>2]|0)}g=k[B>>2]|0;a=sW(k[j>>2]|0)|0;NX(g,p,a,M);a=k[v>>2]|0;if((k[t>>2]|0)!=1){k[w>>2]=(k[a+80>>2]<<1)+(l[(k[v>>2]|0)+84>>0]|0);g=k[w>>2]|0;rT((k[B>>2]|0)+36|0,p+4+8|0,g,((g|0)<0)<<31>>31);KS(k[B>>2]|0,k[v>>2]|0,p,139);break}if(i[a+84>>0]|0?(rT((k[B>>2]|0)+36|0,p+4+8|0,0,0),(k[(k[v>>2]|0)+80>>2]|0)>0):0)rT((k[B>>2]|0)+36|0,p+4+8|0,0,0)}while(0);JR(k[B>>2]|0,k[j>>2]|0,0,0,0)}DX(k[B>>2]|0,p,(k[q>>2]|0)+8|0);if(XS(k[B>>2]|0,k[j>>2]|0)|0){k[z>>2]=0;while(1){if((k[z>>2]|0)>=(k[o>>2]|0))break;PX(k[B>>2]|0,k[(k[(k[E>>2]|0)+8>>2]|0)+((k[z>>2]|0)*12|0)>>2]|0);k[z>>2]=(k[z>>2]|0)+1}if((k[(k[E>>2]|0)+4>>2]|0)!=(k[o>>2]|0)){k[A>>2]=((k[(k[E>>2]|0)+4>>2]|0)-(k[o>>2]|0)|0)*12;u0(k[(k[E>>2]|0)+8>>2]|0,(k[(k[E>>2]|0)+8>>2]|0)+((k[o>>2]|0)*12|0)|0,k[A>>2]|0)|0}F=(k[D>>2]|0)+16|0;k[F>>2]=(k[F>>2]|0)-(k[o>>2]|0);F=(k[E>>2]|0)+4|0;k[F>>2]=(k[F>>2]|0)-(k[o>>2]|0);k[k[E>>2]>>2]=0;if(!(k[(k[q>>2]|0)+8>>2]|0)){F=(k[h>>2]|0)+4|0;k[F>>2]=(k[F>>2]|0)+-1;F=(k[D>>2]|0)+16|0;k[F>>2]=(k[F>>2]|0)+-1}}else{QX(k[B>>2]|0,k[j>>2]|0);k[k[E>>2]>>2]=k[o>>2]}yS(k[j>>2]|0);xS(r);if(!(k[C>>2]|0)){u=G;return}F=k[C>>2]|0;k[F>>2]=(k[F>>2]|0)-(k[p+60>>2]|0);u=G;return}function NX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;k[e>>2]=a;k[f>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;if(k[(k[e>>2]|0)+36>>2]|0){u=j;return}k[h>>2]=(k[f>>2]|0)+4;if(((k[(k[h>>2]|0)+8+4>>2]|0)+(k[(k[h>>2]|0)+20+4>>2]|0)|0)>=(k[(k[k[e>>2]>>2]|0)+68>>2]|0))BX(k[e>>2]|0,k[f>>2]|0);if(i[(k[f>>2]|0)+57>>0]|0){zX(k[(k[h>>2]|0)+8>>2]|0,k[(k[h>>2]|0)+8+4>>2]&65535);d=g;AX(k[e>>2]|0,k[f>>2]|0,k[d>>2]|0,k[d+4>>2]|0)}if(!(l[(k[f>>2]|0)+56>>0]|0)?!(l[(k[f>>2]|0)+57>>0]|0):0){d=(k[e>>2]|0)+36|0;e=(k[h>>2]|0)+8|0;c=g;h=(k[f>>2]|0)+48|0;h=h0(k[c>>2]|0,k[c+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;rT(d,e,h,M)}else{d=g;rT((k[e>>2]|0)+36|0,(k[h>>2]|0)+8|0,k[d>>2]|0,k[d+4>>2]|0)}e=g;g=k[e+4>>2]|0;h=(k[f>>2]|0)+48|0;k[h>>2]=k[e>>2];k[h+4>>2]=g;i[(k[f>>2]|0)+56>>0]=0;i[(k[f>>2]|0)+57>>0]=0;u=j;return}function OX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=u;u=u+32|0;i=e+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;k[i>>2]=a;k[j>>2]=b;k[g>>2]=c;k[f>>2]=d;k[h>>2]=k[j>>2];SX(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);u=e;return}function PX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=u;u=u+48|0;f=g+16|0;c=g+32|0;d=g+28|0;i=g+8|0;h=g;e=g+24|0;k[c>>2]=a;k[d>>2]=b;a=k[d>>2]|0;a=t0(a|0,((a|0)<0)<<31>>31|0,37)|0;a=i0(a|0,M|0,0,0)|0;a=i0(a|0,M|0,0,0)|0;a=i0(a|0,M|0,0,0)|0;b=i;k[b>>2]=a;k[b+4>>2]=M;b=(k[d>>2]|0)+1|0;b=t0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=i0(b|0,M|0,0,0)|0;b=i0(b|0,M|0,0,0)|0;b=i0(b|0,M|0,0,0)|0;b=h0(b|0,M|0,1,0)|0;a=h;k[a>>2]=b;k[a+4>>2]=M;a=i;b=h;RX(k[c>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0);if(!(k[(k[c>>2]|0)+56>>2]|0)){k[e>>2]=k[k[c>>2]>>2];h=k[c>>2]|0;i=(k[c>>2]|0)+56|0;b=k[(k[e>>2]|0)+8>>2]|0;k[f>>2]=k[(k[e>>2]|0)+4>>2];k[f+4>>2]=b;ET(h,i,xf(50880,f)|0)|0}if(k[(k[c>>2]|0)+36>>2]|0){u=g;return}zJ(k[(k[c>>2]|0)+56>>2]|0,1,k[d>>2]|0)|0;Ls(k[(k[c>>2]|0)+56>>2]|0)|0;i=Is(k[(k[c>>2]|0)+56>>2]|0)|0;k[(k[c>>2]|0)+36>>2]=i;u=g;return}function QX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+64|0;f=p+48|0;g=p+44|0;h=p+40|0;j=p+28|0;l=p+24|0;m=p+20|0;n=p;o=p+16|0;c=p+12|0;d=p+52|0;e=p+8|0;k[f>>2]=a;k[g>>2]=b;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[g>>2]|0)+52>>2]|0))break;k[l>>2]=(k[g>>2]|0)+80+((k[h>>2]|0)*88|0);do if(k[k[l>>2]>>2]|0){a=k[l>>2]|0;if(!(k[(k[l>>2]|0)+12>>2]|0)){k[(k[a>>2]|0)+8>>2]=0;k[(k[k[l>>2]>>2]|0)+4>>2]=0;break}k[m>>2]=k[a+32>>2];k[c>>2]=k[k[k[l>>2]>>2]>>2];i[d>>0]=0;i[d+1>>0]=0;i[d+2>>0]=0;i[d+3>>0]=0;b=k[c>>2]|0;b=t0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=i0(b|0,M|0,0,0)|0;b=i0(b|0,M|0,0,0)|0;a=k[(k[l>>2]|0)+28>>2]|0;a=i0(b|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;b=n;k[b>>2]=a;k[b+4>>2]=M;b=n;b=ZR(k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[o>>2]=b;if(k[o>>2]|0){HS(j);if(((k[j+4>>2]|0)+(k[(k[o>>2]|0)+4>>2]|0)|0)>>>0>(k[j+8>>2]|0)>>>0)mS((k[f>>2]|0)+36|0,j,(k[(k[o>>2]|0)+4>>2]|0)+(k[j+4>>2]|0)|0)|0;lS((k[f>>2]|0)+36|0,j,4,d);b=k[(k[l>>2]|0)+60+4>>2]|0;rT((k[f>>2]|0)+36|0,j,b,((b|0)<0)<<31>>31);lS((k[f>>2]|0)+36|0,j,k[(k[l>>2]|0)+60+4>>2]|0,k[(k[l>>2]|0)+60>>2]|0);lS((k[f>>2]|0)+36|0,j,(k[(k[o>>2]|0)+8>>2]|0)-(k[m>>2]|0)|0,(k[k[o>>2]>>2]|0)+(k[m>>2]|0)|0);if(!(k[(k[f>>2]|0)+36>>2]|0))zX((k[j>>2]|0)+2|0,k[j+4>>2]&65535);rT((k[f>>2]|0)+36|0,j,4,0);if((k[(k[l>>2]|0)+8>>2]|0)==(k[(k[l>>2]|0)+28>>2]|0)?(k[(k[l>>2]|0)+40>>2]|0)<(k[(k[o>>2]|0)+8>>2]|0):0){k[e>>2]=(k[(k[o>>2]|0)+8>>2]|0)-(k[(k[l>>2]|0)+40>>2]|0);b=(k[j+4>>2]|0)-1-(k[e>>2]|0)-4|0;rT((k[f>>2]|0)+36|0,j,b,((b|0)<0)<<31>>31);lS((k[f>>2]|0)+36|0,j,(k[(k[o>>2]|0)+4>>2]|0)-(k[(k[l>>2]|0)+36>>2]|0)|0,(k[k[o>>2]>>2]|0)+(k[(k[l>>2]|0)+36>>2]|0)|0)}KR(k[o>>2]|0);k[(k[k[l>>2]>>2]|0)+4>>2]=k[(k[l>>2]|0)+28>>2];q=k[f>>2]|0;a=k[c>>2]|0;a=t0(a|0,((a|0)<0)<<31>>31|0,37)|0;a=i0(a|0,M|0,0,0)|0;a=i0(a|0,M|0,0,0)|0;a=i0(a|0,M|0,1,0)|0;b=n;RX(q,a,M,k[b>>2]|0,k[b+4>>2]|0);b=n;LX(k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0)}}while(0);k[h>>2]=(k[h>>2]|0)+1}xS(j);u=p;return}function RX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+48|0;l=o+16|0;m=o+36|0;g=o+8|0;h=o;i=o+32|0;j=o+28|0;f=o+24|0;k[m>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;c=h;k[c>>2]=d;k[c+4>>2]=e;if(k[(k[m>>2]|0)+36>>2]|0){u=o;return}if(!(k[(k[m>>2]|0)+48>>2]|0)){k[j>>2]=k[k[m>>2]>>2];e=k[(k[j>>2]|0)+8>>2]|0;k[l>>2]=k[(k[j>>2]|0)+4>>2];k[l+4>>2]=e;l=xf(50831,l)|0;k[f>>2]=l;if(!(k[f>>2]|0))k[i>>2]=7;else{l=Jv(k[k[j>>2]>>2]|0,k[f>>2]|0,-1,(k[m>>2]|0)+48|0,0)|0;k[i>>2]=l;ie(k[f>>2]|0)}if(k[i>>2]|0){b=k[i>>2]|0;a=k[m>>2]|0}else n=8}else n=8;if((n|0)==8){b=g;AJ(k[(k[m>>2]|0)+48>>2]|0,1,k[b>>2]|0,k[b+4>>2]|0)|0;b=h;AJ(k[(k[m>>2]|0)+48>>2]|0,2,k[b>>2]|0,k[b+4>>2]|0)|0;Ls(k[(k[m>>2]|0)+48>>2]|0)|0;b=Is(k[(k[m>>2]|0)+48>>2]|0)|0;a=k[m>>2]|0}k[a+36>>2]=b;u=o;return}function SX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+48|0;i=n+40|0;j=n+36|0;p=n+32|0;o=n+28|0;l=n+24|0;m=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n;k[i>>2]=a;k[j>>2]=b;k[p>>2]=c;k[o>>2]=d;k[l>>2]=(k[j>>2]|0)+4;k[m>>2]=k[p>>2];k[e>>2]=k[o>>2];while(1){if(k[(k[i>>2]|0)+36>>2]|0)break;if(((k[(k[l>>2]|0)+8+4>>2]|0)+(k[(k[l>>2]|0)+20+4>>2]|0)+(k[e>>2]|0)|0)<(k[(k[k[i>>2]>>2]|0)+68>>2]|0))break;k[f>>2]=(k[(k[k[i>>2]>>2]|0)+68>>2]|0)-(k[(k[l>>2]|0)+8+4>>2]|0)-(k[(k[l>>2]|0)+20+4>>2]|0);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[f>>2]|0))break;p=($R((k[m>>2]|0)+(k[g>>2]|0)|0,h)|0)&255;k[g>>2]=(k[g>>2]|0)+p}lS((k[i>>2]|0)+36|0,(k[l>>2]|0)+8|0,k[g>>2]|0,k[m>>2]|0);k[m>>2]=(k[m>>2]|0)+(k[g>>2]|0);k[e>>2]=(k[e>>2]|0)-(k[g>>2]|0);BX(k[i>>2]|0,k[j>>2]|0)}if((k[e>>2]|0)<=0){u=n;return}lS((k[i>>2]|0)+36|0,(k[l>>2]|0)+8|0,k[e>>2]|0,k[m>>2]|0);u=n;return}function TX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+48|0;l=r+40|0;m=r+36|0;s=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;e=r+16|0;f=r+12|0;g=r+8|0;h=r+4|0;i=r;k[l>>2]=a;k[m>>2]=b;k[s>>2]=c;k[n>>2]=d;k[o>>2]=k[s>>2];k[p>>2]=0;k[e>>2]=k[k[m>>2]>>2];while(1){if((k[o>>2]|0)<=0){q=17;break}if(k[(k[l>>2]|0)+36>>2]|0){q=17;break}k[g>>2]=0;k[h>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[i>>2]=(k[e>>2]|0)+24+((k[f>>2]|0)*12|0);j=k[i>>2]|0;if(k[k[i>>2]>>2]|0){q=7;break}if((k[j+4>>2]|0)>(k[h>>2]|0)){k[h>>2]=k[(k[i>>2]|0)+4>>2];k[g>>2]=k[f>>2]}k[f>>2]=(k[f>>2]|0)+1}if((q|0)==7?(q=0,(k[j>>2]|0)>(k[h>>2]|0)):0){k[g>>2]=k[f>>2];k[h>>2]=k[k[i>>2]>>2]}if((k[h>>2]|0)<(k[n>>2]|0)?(k[(k[e>>2]|0)+24+((k[g>>2]|0)*12|0)>>2]|0)==0:0){q=17;break}k[p>>2]=1;MX(k[l>>2]|0,e,k[g>>2]|0,o);if(k[(k[l>>2]|0)+36>>2]|0)continue;if(k[(k[e>>2]|0)+24+((k[g>>2]|0)*12|0)>>2]|0)continue;GX(k[l>>2]|0,(k[g>>2]|0)+1|0,k[e>>2]|0)}if((q|0)==17){k[k[m>>2]>>2]=k[e>>2];u=r;return k[p>>2]|0}return 0}function UX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+48|0;h=o+32|0;i=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;e=o+8|0;f=o+4|0;g=o;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[e>>2]=(k[l>>2]|0)+24+((k[i>>2]|0)*12|0);if(k[k[e>>2]>>2]|0){u=o;return}k[m>>2]=(k[i>>2]|0)+1;a:while(1){if((k[m>>2]|0)>=(k[(k[l>>2]|0)+20>>2]|0)){a=11;break}k[f>>2]=(k[l>>2]|0)+24+((k[m>>2]|0)*12|0);if(k[k[f>>2]>>2]|0){a=11;break}k[n>>2]=(k[(k[f>>2]|0)+4>>2]|0)-1;while(1){if((k[n>>2]|0)<0)break;d=VX((k[(k[f>>2]|0)+8>>2]|0)+((k[n>>2]|0)*12|0)|0)|0;k[g>>2]=d;if((k[g>>2]|0)>(k[j>>2]|0)){a=11;break a}FX((k[h>>2]|0)+36|0,k[l>>2]|0,k[i>>2]|0,1,1);if(k[(k[h>>2]|0)+36>>2]|0){a=11;break a}d=k[(k[e>>2]|0)+8>>2]|0;c=(k[(k[f>>2]|0)+8>>2]|0)+((k[n>>2]|0)*12|0)|0;k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[e>>2]|0)+4|0;k[d>>2]=(k[d>>2]|0)+1;d=(k[f>>2]|0)+4|0;k[d>>2]=(k[d>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+-1}k[m>>2]=(k[m>>2]|0)+1}if((a|0)==11){u=o;return}}function VX(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return 1+(k[(k[b>>2]|0)+8>>2]|0)-(k[(k[b>>2]|0)+4>>2]|0)|0}function WX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+88>>2]|0)){u=g;return}b=XX(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if(!(k[(k[c>>2]|0)+36>>2]|0)){if((k[(k[d>>2]|0)+76+4>>2]|0)>0)a=k[(k[d>>2]|0)+76>>2]|0;else a=55752;k[f>>2]=a;vJ(k[(k[c>>2]|0)+52>>2]|0,2,k[f>>2]|0,k[(k[d>>2]|0)+76+4>>2]|0,0)|0;b=k[(k[c>>2]|0)+52>>2]|0;e=k[e>>2]|0;f=k[(k[d>>2]|0)+88>>2]|0;f=t0(f|0,((f|0)<0)<<31>>31|0,1)|0;f=i0(e|0,((e|0)<0)<<31>>31|0,f|0,M|0)|0;AJ(b,3,f,M)|0;Ls(k[(k[c>>2]|0)+52>>2]|0)|0;f=Is(k[(k[c>>2]|0)+52>>2]|0)|0;k[(k[c>>2]|0)+36>>2]=f}k[(k[d>>2]|0)+88>>2]=0;u=g;return}function XX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[(k[d>>2]|0)+72>>2]|0)+16+4>>2]|0)>0?(k[(k[d>>2]|0)+64>>2]|0)>=4:0)k[e>>2]=1;YX(k[c>>2]|0,k[d>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+64>>2]=0;u=f;return k[e>>2]|0}function YX(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[e>>2]|0)+68>>2]|0)){a=7;break}k[h>>2]=(k[(k[e>>2]|0)+72>>2]|0)+(k[g>>2]<<5);if(!(k[(k[h>>2]|0)+16+4>>2]|0)){a=7;break}if(k[f>>2]|0){b=k[d>>2]|0;j=k[k[e>>2]>>2]|0;j=t0(j|0,((j|0)<0)<<31>>31|0,37)|0;j=i0(j|0,M|0,0,16)|0;c=M;a=k[g>>2]|0;a=t0(a|0,((a|0)<0)<<31>>31|0,31)|0;a=i0(j|0,c|0,a|0,M|0)|0;c=k[k[h>>2]>>2]|0;c=i0(a|0,M|0,c|0,((c|0)<0)<<31>>31|0)|0;LX(b,c,M,k[(k[h>>2]|0)+16>>2]|0,k[(k[h>>2]|0)+16+4>>2]|0)}HS((k[h>>2]|0)+16|0);k[(k[h>>2]|0)+4>>2]=0;k[g>>2]=(k[g>>2]|0)+1}if((a|0)==7){u=i;return}}function ZX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(l[(k[d>>2]|0)+57>>0]|0|0?(k[(k[(k[d>>2]|0)+72>>2]|0)+16+4>>2]|0)>0:0){k[e>>2]=k[(k[d>>2]|0)+72>>2];rT((k[c>>2]|0)+36|0,(k[e>>2]|0)+16|0,0,0)}e=(k[d>>2]|0)+64|0;k[e>>2]=(k[e>>2]|0)+1;u=f;return}function _X(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do if((k[(k[d>>2]|0)+36>>2]|0)==0?(k[f>>2]|0)>=(k[(k[e>>2]|0)+68>>2]|0):0){c=fg(k[(k[e>>2]|0)+72>>2]|0,k[f>>2]<<5)|0;k[g>>2]=c;if(!(k[g>>2]|0)){k[(k[d>>2]|0)+36>>2]=7;break}else{k[h>>2]=(k[f>>2]|0)-(k[(k[e>>2]|0)+68>>2]|0)<<5;w0((k[g>>2]|0)+(k[(k[e>>2]|0)+68>>2]<<5)|0,0,k[h>>2]|0)|0;k[(k[e>>2]|0)+72>>2]=k[g>>2];k[(k[e>>2]|0)+68>>2]=k[f>>2];break}}while(0);u=i;return k[(k[d>>2]|0)+36>>2]|0}function $X(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;e=b+12|0;c=b;d=b+8|0;k[e>>2]=a;a=1+(($R((k[k[e>>2]>>2]|0)+1|0,c)|0)&255)|0;k[d>>2]=a;$R((k[k[e>>2]>>2]|0)+(k[d>>2]|0)|0,c)|0;a=c;M=k[a+4>>2]|0;u=b;return k[a>>2]|0}function aY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[d>>2]|0)){a=5;break}if((l[(k[e>>2]|0)+(k[g>>2]|0)>>0]|0|0)!=(l[(k[f>>2]|0)+(k[g>>2]|0)>>0]|0|0)){a=5;break}k[g>>2]=(k[g>>2]|0)+1}if((a|0)==5){u=h;return k[g>>2]|0}return 0}function bY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;f=e+8|0;h=e+4|0;g=e;k[i>>2]=a;k[f>>2]=b;k[h>>2]=c;k[g>>2]=d;WX(k[i>>2]|0,k[f>>2]|0);GR((k[i>>2]|0)+36|0,(k[f>>2]|0)+76|0,k[h>>2]|0,k[g>>2]|0);k[(k[f>>2]|0)+88>>2]=k[(k[f>>2]|0)+4>>2];u=e;return}function cY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;LX(k[e>>2]|0,1,0,k[g>>2]|0,k[f>>2]|0);c=LR(k[e>>2]|0)|0;u=d;return c|0}function dY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[k[g>>2]>>2];b=qX(k[g>>2]|0,1)|0;k[e>>2]=b;eY(k[d>>2]|0,e,50977,k[c>>2]|0);eY(k[d>>2]|0,e,30148,k[c>>2]|0);eY(k[d>>2]|0,e,50982,k[c>>2]|0);if(k[(k[d>>2]|0)+44>>2]|0)eY(k[d>>2]|0,e,49899,k[c>>2]|0);if(k[(k[d>>2]|0)+32>>2]|0){g=k[e>>2]|0;u=f;return g|0}eY(k[d>>2]|0,e,46221,k[c>>2]|0);g=k[e>>2]|0;u=f;return g|0}function eY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;i=j;e=j+32|0;f=j+28|0;g=j+24|0;h=j+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[f>>2]>>2]|0){u=j;return}d=k[k[e>>2]>>2]|0;a=k[(k[e>>2]|0)+8>>2]|0;b=k[g>>2]|0;c=k[h>>2]|0;h=k[g>>2]|0;k[i>>2]=k[(k[e>>2]|0)+4>>2];k[i+4>>2]=a;k[i+8>>2]=b;k[i+12>>2]=c;k[i+16>>2]=h;i=fY(d,0,50989,i)|0;k[k[f>>2]>>2]=i;u=j;return}function fY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+48|0;e=i+36|0;f=i+32|0;l=i+28|0;g=i+24|0;j=i+8|0;h=i;k[e>>2]=a;k[f>>2]=b;k[l>>2]=c;k[j>>2]=d;d=Ff(k[l>>2]|0,j)|0;k[h>>2]=d;if(!(k[h>>2]|0)){k[g>>2]=7;l=k[g>>2]|0;u=i;return l|0}else{l=Av(k[e>>2]|0,k[h>>2]|0,0,0,k[f>>2]|0)|0;k[g>>2]=l;ie(k[h>>2]|0);l=k[g>>2]|0;u=i;return l|0}return 0}function gY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;e=f+12|0;g=f+8|0;c=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[(k[g>>2]|0)+24>>2]|0)+32>>2];while(1){if(!(k[d>>2]|0)){a=6;break}g=(ul(k[c>>2]|0,k[(k[d>>2]|0)+4>>2]|0)|0)==0;b=k[d>>2]|0;if(g){a=4;break}k[d>>2]=k[b+20>>2]}if((a|0)==4){k[e>>2]=b;g=k[e>>2]|0;u=f;return g|0}else if((a|0)==6){k[e>>2]=0;g=k[e>>2]|0;u=f;return g|0}return 0}function hY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+48|0;l=m+8|0;d=m+36|0;e=m+32|0;f=m+28|0;g=m+24|0;h=m+20|0;i=m;j=m+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=_h(k[d>>2]|0)|0;k[g>>2]=b;b=Pi(k[k[f>>2]>>2]|0)|0;c=i;k[c>>2]=b;k[c+4>>2]=M;c=i;c=_T(k[k[g>>2]>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[h>>2]=c;if(!(k[h>>2]|0)){g=i;h=k[g+4>>2]|0;i=l;k[i>>2]=k[g>>2];k[i+4>>2]=h;l=xf(51031,l)|0;k[j>>2]=l;bi(k[d>>2]|0,k[j>>2]|0,-1);ie(k[j>>2]|0);u=m;return}else{iY(k[g>>2]|0,k[h>>2]|0,k[d>>2]|0,(k[e>>2]|0)-1|0,(k[f>>2]|0)+4|0);u=m;return}}function iY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=u;u=u+32|0;l=f+16|0;g=f+12|0;j=f+8|0;i=f+4|0;h=f;k[l>>2]=a;k[g>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;k[(k[g>>2]|0)+96>>2]=k[l>>2];Mb[k[(k[l>>2]|0)+12>>2]&255](10572,k[g>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0);k[(k[g>>2]|0)+96>>2]=0;u=f;return}function jY(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];u=c;return k[(k[(k[b>>2]|0)+96>>2]|0)+8>>2]|0}function kY(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];u=c;return k[(k[(k[k[b>>2]>>2]|0)+12>>2]|0)+12>>2]|0}function lY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=u;u=u+16|0;g=c+12|0;d=c+8|0;f=c+4|0;e=c;k[g>>2]=a;k[d>>2]=b;k[f>>2]=k[g>>2];k[e>>2]=k[k[f>>2]>>2];b=iZ(k[(k[e>>2]|0)+20>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function mY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=u;u=u+32|0;i=d+16|0;f=d+12|0;e=d+8|0;h=d+4|0;g=d;k[i>>2]=a;k[f>>2]=b;k[e>>2]=c;k[h>>2]=k[i>>2];k[g>>2]=k[k[h>>2]>>2];c=fZ(k[(k[g>>2]|0)+20>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;u=d;return c|0}function nY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;f=u;u=u+32|0;n=f+24|0;j=f+20|0;i=f+16|0;h=f+12|0;g=f+8|0;m=f+4|0;l=f;k[n>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;k[m>>2]=k[n>>2];k[l>>2]=k[k[m>>2]>>2];e=OV(k[(k[l>>2]|0)+12>>2]|0,8,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;u=f;return e|0}function oY(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];a=dZ(k[(k[c>>2]|0)+52>>2]|0)|0;u=b;return a|0}function pY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[f>>2];b=eZ(k[(k[e>>2]|0)+52>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function qY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[g>>2];k[e>>2]=0;if(k[(k[d>>2]|0)+60>>2]&8|0?(g=cZ(k[d>>2]|0)|0,k[e>>2]=g,0!=(g|0)):0){g=k[e>>2]|0;u=f;return g|0}k[k[c>>2]>>2]=k[(k[d>>2]|0)+112>>2];g=k[e>>2]|0;u=f;return g|0}function rY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=u;u=u+32|0;n=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;l=m+8|0;f=m+4|0;g=m;k[n>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[f>>2]=k[n>>2];k[g>>2]=0;if(k[(k[f>>2]|0)+60>>2]&8|0?(n=cZ(k[f>>2]|0)|0,k[g>>2]=n,0!=(n|0)):0){n=k[g>>2]|0;u=m;return n|0}if((k[h>>2]|0)>=0?(k[h>>2]|0)<(k[(k[f>>2]|0)+112>>2]|0):0){k[k[i>>2]>>2]=k[(k[(k[f>>2]|0)+116>>2]|0)+((k[h>>2]|0)*3<<2)>>2];k[k[j>>2]>>2]=k[(k[(k[f>>2]|0)+116>>2]|0)+(((k[h>>2]|0)*3|0)+1<<2)>>2];k[k[l>>2]>>2]=k[(k[(k[f>>2]|0)+116>>2]|0)+(((k[h>>2]|0)*3|0)+2<<2)>>2];n=k[g>>2]|0;u=m;return n|0}k[g>>2]=25;n=k[g>>2]|0;u=m;return n|0}function sY(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=UY(k[c>>2]|0)|0;u=b;return a|0}function tY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;l=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[l>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=0;k[i>>2]=k[l>>2];if(_Y(k[k[i>>2]>>2]|0)|0){k[k[f>>2]>>2]=0;k[k[g>>2]>>2]=0;l=k[h>>2]|0;u=j;return l|0}l=$Y(k[i>>2]|0,0)|0;k[h>>2]=l;if(k[h>>2]|0){l=k[h>>2]|0;u=j;return l|0}l=Mv(k[(k[i>>2]|0)+48>>2]|0,(k[e>>2]|0)+1|0)|0;k[k[f>>2]>>2]=l;l=qJ(k[(k[i>>2]|0)+48>>2]|0,(k[e>>2]|0)+1|0)|0;k[k[g>>2]>>2]=l;l=k[h>>2]|0;u=j;return l|0} +function rp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0;N=u;u=u+176|0;I=N+136|0;J=N+132|0;K=N+128|0;L=N+124|0;t=N+120|0;v=N+116|0;w=N+112|0;x=N+108|0;y=N+104|0;z=N+100|0;A=N+96|0;B=N+92|0;C=N+88|0;D=N+40|0;E=N+16|0;o=N+84|0;g=N+80|0;h=N+144|0;n=N+72|0;p=N+64|0;q=N+60|0;r=N+8|0;s=N+56|0;F=N+52|0;G=N+48|0;H=N;k[J>>2]=a;k[K>>2]=b;k[L>>2]=c;k[t>>2]=d;k[v>>2]=e;k[w>>2]=f;k[A>>2]=0;k[B>>2]=0;k[o>>2]=0;f=Ao(k[J>>2]|0)|0;k[g>>2]=f;if(R_((k[J>>2]|0)+52|0,k[g>>2]|0,48)|0)k[o>>2]=(k[(k[g>>2]|0)+16>>2]|0)+1;f=sp(k[J>>2]|0)|0;k[x>>2]=f;if(f){k[I>>2]=k[x>>2];L=k[I>>2]|0;u=N;return L|0}k[y>>2]=k[(k[J>>2]|0)+52+16>>2];if(!(k[y>>2]|0)){Xn(h,931071618|(i[936]|0)==0);Xn(h+4|0,3007e3);Xn(h+8|0,k[K>>2]|0);Xn(h+12|0,k[(k[J>>2]|0)+112>>2]|0);if(!(k[(k[J>>2]|0)+112>>2]|0))Cf(8,(k[J>>2]|0)+52+32|0);f=h+16|0;e=(k[J>>2]|0)+52+32|0;i[f>>0]=i[e>>0]|0;i[f+1>>0]=i[e+1>>0]|0;i[f+2>>0]=i[e+2>>0]|0;i[f+3>>0]=i[e+3>>0]|0;i[f+4>>0]=i[e+4>>0]|0;i[f+5>>0]=i[e+5>>0]|0;i[f+6>>0]=i[e+6>>0]|0;i[f+7>>0]=i[e+7>>0]|0;Vo(1,h,24,0,n);Xn(h+24|0,k[n>>2]|0);Xn(h+28|0,k[n+4>>2]|0);k[(k[J>>2]|0)+36>>2]=k[K>>2];i[(k[J>>2]|0)+52+13>>0]=(i[936]|0)==0;k[(k[J>>2]|0)+52+24>>2]=k[n>>2];k[(k[J>>2]|0)+52+24+4>>2]=k[n+4>>2];i[(k[J>>2]|0)+47>>0]=1;f=Nm(k[(k[J>>2]|0)+8>>2]|0,h,32,0,0)|0;k[x>>2]=f;if(k[x>>2]|0){k[I>>2]=k[x>>2];L=k[I>>2]|0;u=N;return L|0}if((k[w>>2]|0?(l[(k[J>>2]|0)+48>>0]|0)!=0:0)?(f=wm(k[(k[J>>2]|0)+8>>2]|0,k[w>>2]&19)|0,k[x>>2]=f,k[x>>2]|0):0){k[I>>2]=k[x>>2];L=k[I>>2]|0;u=N;return L|0}}k[E>>2]=k[J>>2];k[E+4>>2]=k[(k[J>>2]|0)+8>>2];e=E+8|0;k[e>>2]=0;k[e+4>>2]=0;k[E+16>>2]=k[w>>2];k[E+20>>2]=k[K>>2];e=(k[K>>2]|0)+24|0;e=B0((k[y>>2]|0)+1-1|0,0,e|0,((e|0)<0)<<31>>31|0)|0;e=i0(32,0,e|0,M|0)|0;f=D;k[f>>2]=e;k[f+4>>2]=M;k[C>>2]=(k[K>>2]|0)+24;k[z>>2]=k[L>>2];while(1){if(!(k[z>>2]|0)){a=30;break}if((k[o>>2]|0?((k[v>>2]|0)==0?1:(k[(k[z>>2]|0)+12>>2]|0)!=0):0)?(k[q>>2]=0,vn(k[J>>2]|0,k[(k[z>>2]|0)+20>>2]|0,q)|0,(k[q>>2]|0)>>>0>=(k[o>>2]|0)>>>0):0){e=(k[K>>2]|0)+24|0;e=B0((k[q>>2]|0)-1|0,0,e|0,((e|0)<0)<<31>>31|0)|0;e=i0(32,0,e|0,M|0)|0;e=i0(e|0,M|0,24,0)|0;f=r;k[f>>2]=e;k[f+4>>2]=M;if(!((k[(k[J>>2]|0)+104>>2]|0)!=0?(k[q>>2]|0)>>>0>=(k[(k[J>>2]|0)+104>>2]|0)>>>0:0))k[(k[J>>2]|0)+104>>2]=k[q>>2];k[s>>2]=k[(k[z>>2]|0)+4>>2];f=r;f=Nm(k[(k[J>>2]|0)+8>>2]|0,k[s>>2]|0,k[K>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[x>>2]=f;if(k[x>>2]|0){a=22;break}b=(k[z>>2]|0)+24|0;a=b;b=m[b>>1]&-65}else{k[y>>2]=(k[y>>2]|0)+1;if(k[v>>2]|0)a=(k[(k[z>>2]|0)+12>>2]|0)==0?k[t>>2]|0:0;else a=0;k[p>>2]=a;f=D;f=tp(E,k[z>>2]|0,k[p>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[x>>2]=f;if(k[x>>2]|0){a=27;break}k[A>>2]=k[z>>2];a=k[C>>2]|0;b=D;a=i0(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=D;k[b>>2]=a;k[b+4>>2]=M;b=(k[z>>2]|0)+24|0;a=b;b=m[b>>1]|64}j[a>>1]=b;k[z>>2]=k[(k[z>>2]|0)+12>>2]}if((a|0)==22){k[I>>2]=k[x>>2];L=k[I>>2]|0;u=N;return L|0}else if((a|0)==27){k[I>>2]=k[x>>2];L=k[I>>2]|0;u=N;return L|0}else if((a|0)==30){if((k[v>>2]|0?k[(k[J>>2]|0)+104>>2]|0:0)?(s=up(k[J>>2]|0,k[y>>2]|0)|0,k[x>>2]=s,k[x>>2]|0):0){k[I>>2]=k[x>>2];L=k[I>>2]|0;u=N;return L|0}if(k[v>>2]|0?k[w>>2]&32|0:0){k[F>>2]=1;a:do if(i[(k[J>>2]|0)+49>>0]|0){s=hn(k[(k[J>>2]|0)+8>>2]|0)|0;k[G>>2]=s;s=D;r=k[G>>2]|0;r=i0(k[s>>2]|0,k[s+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;r=h0(r|0,M|0,1,0)|0;s=k[G>>2]|0;s=x0(r|0,M|0,s|0,((s|0)<0)<<31>>31|0)|0;G=k[G>>2]|0;G=B0(s|0,M|0,G|0,((G|0)<0)<<31>>31|0)|0;s=E+8|0;k[s>>2]=G;k[s+4>>2]=M;s=E+8|0;G=D;k[F>>2]=((k[s>>2]|0)==(k[G>>2]|0)?(k[s+4>>2]|0)==(k[G+4>>2]|0):0)&1;while(1){s=D;q=k[s+4>>2]|0;G=E+8|0;r=k[G+4>>2]|0;if(!((q|0)<(r|0)|((q|0)==(r|0)?(k[s>>2]|0)>>>0<(k[G>>2]|0)>>>0:0)))break a;G=D;G=tp(E,k[A>>2]|0,k[t>>2]|0,k[G>>2]|0,k[G+4>>2]|0)|0;k[x>>2]=G;if(k[x>>2]|0)break;s=k[C>>2]|0;G=D;s=i0(k[G>>2]|0,k[G+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;G=D;k[G>>2]=s;k[G+4>>2]=M;k[B>>2]=(k[B>>2]|0)+1}k[I>>2]=k[x>>2];L=k[I>>2]|0;u=N;return L|0}while(0);if(k[F>>2]|0){G=wm(k[E+4>>2]|0,k[w>>2]&19)|0;k[x>>2]=G}}if((k[v>>2]|0?l[(k[J>>2]|0)+47>>0]|0:0)?(G=(k[J>>2]|0)+16|0,F=k[G+4>>2]|0,(F|0)>0|(F|0)==0&(k[G>>2]|0)>>>0>=0):0){G=(k[J>>2]|0)+16|0;D=k[G+4>>2]|0;F=H;k[F>>2]=k[G>>2];k[F+4>>2]=D;F=(k[K>>2]|0)+24|0;F=B0((k[y>>2]|0)+(k[B>>2]|0)+1-1|0,0,F|0,((F|0)<0)<<31>>31|0)|0;F=i0(32,0,F|0,M|0)|0;D=M;G=(k[J>>2]|0)+16|0;E=k[G+4>>2]|0;if((D|0)>(E|0)|((D|0)==(E|0)?F>>>0>(k[G>>2]|0)>>>0:0)){F=(k[K>>2]|0)+24|0;F=B0((k[y>>2]|0)+(k[B>>2]|0)+1-1|0,0,F|0,((F|0)<0)<<31>>31|0)|0;F=i0(32,0,F|0,M|0)|0;G=H;k[G>>2]=F;k[G+4>>2]=M}Ho(k[J>>2]|0,k[H>>2]|0,k[H+4>>2]|0);i[(k[J>>2]|0)+47>>0]=0}k[y>>2]=k[(k[J>>2]|0)+52+16>>2];k[z>>2]=k[L>>2];while(1){if(!(k[z>>2]|0?(k[x>>2]|0)==0:0))break;if(m[(k[z>>2]|0)+24>>1]&64|0){k[y>>2]=(k[y>>2]|0)+1;L=bp(k[J>>2]|0,k[y>>2]|0,k[(k[z>>2]|0)+20>>2]|0)|0;k[x>>2]=L}k[z>>2]=k[(k[z>>2]|0)+12>>2]}while(1){if(!((k[x>>2]|0)==0?(k[B>>2]|0)>0:0))break;k[y>>2]=(k[y>>2]|0)+1;k[B>>2]=(k[B>>2]|0)+-1;L=bp(k[J>>2]|0,k[y>>2]|0,k[(k[A>>2]|0)+20>>2]|0)|0;k[x>>2]=L}if(!(k[x>>2]|0)){j[(k[J>>2]|0)+52+14>>1]=k[K>>2]&65280|k[K>>2]>>16;k[(k[J>>2]|0)+52+16>>2]=k[y>>2];if(k[v>>2]|0){L=(k[J>>2]|0)+52+8|0;k[L>>2]=(k[L>>2]|0)+1;k[(k[J>>2]|0)+52+20>>2]=k[t>>2]}if(k[v>>2]|0){Uo(k[J>>2]|0);k[(k[J>>2]|0)+12>>2]=k[y>>2]}}k[I>>2]=k[x>>2];L=k[I>>2]|0;u=N;return L|0}return 0}function sp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;b=i+24|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[c>>2]=a;k[d>>2]=0;if(!(j[(k[c>>2]|0)+40>>1]|0)){a=Po(k[c>>2]|0)|0;k[f>>2]=a;do if((k[k[f>>2]>>2]|0)>>>0>0){Cf(4,g);f=Ko(k[c>>2]|0,4,4)|0;k[d>>2]=f;if(!(k[d>>2]|0)){So(k[c>>2]|0,k[g>>2]|0);Om(k[c>>2]|0,4,4);break}if((k[d>>2]|0)!=5){k[b>>2]=k[d>>2];h=k[b>>2]|0;u=i;return h|0}}while(0);Lm(k[c>>2]|0,3);j[(k[c>>2]|0)+40>>1]=-1;k[e>>2]=0;do{f=k[c>>2]|0;g=(k[e>>2]|0)+1|0;k[e>>2]=g;g=xp(f,h,1,g)|0;k[d>>2]=g}while((k[d>>2]|0)==-1)}k[b>>2]=k[d>>2];h=k[b>>2]|0;u=i;return h|0}function tp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;l=u;u=u+64|0;h=l+28|0;i=l+24|0;o=l+20|0;n=l+16|0;j=l;f=l+12|0;g=l+8|0;m=l+32|0;k[i>>2]=a;k[o>>2]=b;k[n>>2]=c;c=j;k[c>>2]=d;k[c+4>>2]=e;k[g>>2]=k[(k[o>>2]|0)+4>>2];vp(k[k[i>>2]>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[n>>2]|0,k[g>>2]|0,m);e=j;e=wp(k[i>>2]|0,m,24,k[e>>2]|0,k[e+4>>2]|0)|0;k[f>>2]=e;if(k[f>>2]|0){k[h>>2]=k[f>>2];o=k[h>>2]|0;u=l;return o|0}else{e=k[i>>2]|0;m=k[g>>2]|0;n=k[(k[i>>2]|0)+20>>2]|0;o=j;o=i0(k[o>>2]|0,k[o+4>>2]|0,24,0)|0;o=wp(e,m,n,o,M)|0;k[f>>2]=o;k[h>>2]=k[f>>2];o=k[h>>2]|0;u=l;return o|0}return 0}function up(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+80|0;g=p+48|0;h=p+44|0;i=p+40|0;j=p+36|0;l=p+32|0;m=p+28|0;n=p+56|0;o=p+24|0;c=p+8|0;d=p;e=p+20|0;f=p+16|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=k[(k[h>>2]|0)+36>>2];k[l>>2]=0;b=ze((k[j>>2]|0)+24|0)|0;k[m>>2]=b;if(!(k[m>>2]|0)){k[g>>2]=7;o=k[g>>2]|0;u=p;return o|0}if((k[(k[h>>2]|0)+104>>2]|0)==1){b=c;k[b>>2]=24;k[b+4>>2]=0}else{a=(k[j>>2]|0)+24|0;a=B0((k[(k[h>>2]|0)+104>>2]|0)-1-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=i0(32,0,a|0,M|0)|0;a=i0(a|0,M|0,16,0)|0;b=c;k[b>>2]=a;k[b+4>>2]=M}c=kn(k[(k[h>>2]|0)+8>>2]|0,k[m>>2]|0,8,k[c>>2]|0,k[c+4>>2]|0)|0;k[l>>2]=c;c=dm(k[m>>2]|0)|0;k[(k[h>>2]|0)+52+24>>2]=c;c=dm((k[m>>2]|0)+4|0)|0;k[(k[h>>2]|0)+52+24+4>>2]=c;k[o>>2]=k[(k[h>>2]|0)+104>>2];k[(k[h>>2]|0)+104>>2]=0;while(1){if(k[l>>2]|0)break;if((k[o>>2]|0)>>>0>(k[i>>2]|0)>>>0)break;b=(k[j>>2]|0)+24|0;b=B0((k[o>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=i0(32,0,b|0,M|0)|0;c=d;k[c>>2]=b;k[c+4>>2]=M;c=d;c=kn(k[(k[h>>2]|0)+8>>2]|0,k[m>>2]|0,(k[j>>2]|0)+24|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[l>>2]=c;if(!(k[l>>2]|0)){c=dm(k[m>>2]|0)|0;k[e>>2]=c;c=dm((k[m>>2]|0)+4|0)|0;k[f>>2]=c;vp(k[h>>2]|0,k[e>>2]|0,k[f>>2]|0,(k[m>>2]|0)+24|0,n);c=d;c=Nm(k[(k[h>>2]|0)+8>>2]|0,n,24,k[c>>2]|0,k[c+4>>2]|0)|0;k[l>>2]=c}k[o>>2]=(k[o>>2]|0)+1}ie(k[m>>2]|0);k[g>>2]=k[l>>2];o=k[g>>2]|0;u=p;return o|0}function vp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+32|0;h=n+24|0;p=n+20|0;o=n+16|0;j=n+12|0;m=n+8|0;f=n+4|0;g=n;k[h>>2]=a;k[p>>2]=b;k[o>>2]=c;k[j>>2]=d;k[m>>2]=e;k[g>>2]=(k[h>>2]|0)+52+24;Xn(k[m>>2]|0,k[p>>2]|0);Xn((k[m>>2]|0)+4|0,k[o>>2]|0);a=(k[m>>2]|0)+8|0;if(!(k[(k[h>>2]|0)+104>>2]|0)){p=(k[h>>2]|0)+52+32|0;i[a>>0]=i[p>>0]|0;i[a+1>>0]=i[p+1>>0]|0;i[a+2>>0]=i[p+2>>0]|0;i[a+3>>0]=i[p+3>>0]|0;i[a+4>>0]=i[p+4>>0]|0;i[a+5>>0]=i[p+5>>0]|0;i[a+6>>0]=i[p+6>>0]|0;i[a+7>>0]=i[p+7>>0]|0;k[f>>2]=(l[(k[h>>2]|0)+52+13>>0]|0)==((i[936]|0)==0|0)&1;Vo(k[f>>2]|0,k[m>>2]|0,8,k[g>>2]|0,k[g>>2]|0);Vo(k[f>>2]|0,k[j>>2]|0,k[(k[h>>2]|0)+36>>2]|0,k[g>>2]|0,k[g>>2]|0);Xn((k[m>>2]|0)+16|0,k[k[g>>2]>>2]|0);Xn((k[m>>2]|0)+20|0,k[(k[g>>2]|0)+4>>2]|0);u=n;return}else{b=a+16|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0));u=n;return}}function wp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;h=n+28|0;i=n+24|0;j=n+20|0;l=n+16|0;m=n;f=n+12|0;g=n+8|0;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;b=m;k[b>>2]=d;k[b+4>>2]=e;d=m;b=k[d+4>>2]|0;e=(k[i>>2]|0)+8|0;c=k[e+4>>2]|0;if((b|0)<(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0<(k[e>>2]|0)>>>0:0)?(b=m,d=k[l>>2]|0,d=i0(k[b>>2]|0,k[b+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,b=M,e=(k[i>>2]|0)+8|0,c=k[e+4>>2]|0,(b|0)>(c|0)|((b|0)==(c|0)?d>>>0>=(k[e>>2]|0)>>>0:0)):0){d=(k[i>>2]|0)+8|0;e=m;e=h0(k[d>>2]|0,k[d+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[g>>2]=e;e=m;e=Nm(k[(k[i>>2]|0)+4>>2]|0,k[j>>2]|0,k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[f>>2]=e;if(k[f>>2]|0){k[h>>2]=k[f>>2];m=k[h>>2]|0;u=n;return m|0}d=k[g>>2]|0;e=m;d=i0(k[e>>2]|0,k[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=m;k[e>>2]=d;k[e+4>>2]=M;k[l>>2]=(k[l>>2]|0)-(k[g>>2]|0);k[j>>2]=(k[j>>2]|0)+(k[g>>2]|0);e=wm(k[(k[i>>2]|0)+4>>2]|0,k[(k[i>>2]|0)+16>>2]&19)|0;k[f>>2]=e;if((k[l>>2]|0)==0|(k[f>>2]|0)!=0){k[h>>2]=k[f>>2];m=k[h>>2]|0;u=n;return m|0}}m=Nm(k[(k[i>>2]|0)+4>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[f>>2]=m;k[h>>2]=k[f>>2];m=k[h>>2]|0;u=n;return m|0}function xp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+64|0;v=w+48|0;o=w+44|0;p=w+40|0;q=w+36|0;r=w+32|0;s=w+28|0;e=w+24|0;f=w+20|0;g=w+16|0;h=w+12|0;i=w+8|0;m=w+4|0;n=w;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[r>>2]=d;k[h>>2]=0;if((k[r>>2]|0)>5){k[m>>2]=1;if((k[r>>2]|0)>100){k[v>>2]=15;v=k[v>>2]|0;u=w;return v|0}if((k[r>>2]|0)>=10){r=($((k[r>>2]|0)-9|0,(k[r>>2]|0)-9|0)|0)*39|0;k[m>>2]=r}yp(k[k[o>>2]>>2]|0,k[m>>2]|0)|0}if(!(k[q>>2]|0)){r=Mo(k[o>>2]|0,k[p>>2]|0)|0;k[h>>2]=r;do if((k[h>>2]|0)==5){if(!(k[k[(k[o>>2]|0)+32>>2]>>2]|0)){k[h>>2]=-1;break}r=Km(k[o>>2]|0,2)|0;k[h>>2]=r;if(!r){Lm(k[o>>2]|0,2);k[h>>2]=-1;break}if((k[h>>2]|0)==5)k[h>>2]=261}while(0);if(k[h>>2]|0){k[v>>2]=k[h>>2];v=k[v>>2]|0;u=w;return v|0}}r=Po(k[o>>2]|0)|0;k[s>>2]=r;do if((k[q>>2]|0)==0?(k[k[s>>2]>>2]|0)==(k[(k[o>>2]|0)+52+16>>2]|0):0){r=Km(k[o>>2]|0,3)|0;k[h>>2]=r;Wo(k[o>>2]|0);if(k[h>>2]|0){if((k[h>>2]|0)==5)break;k[v>>2]=k[h>>2];v=k[v>>2]|0;u=w;return v|0}t=Ao(k[o>>2]|0)|0;t=(R_(t,(k[o>>2]|0)+52|0,48)|0)!=0;a=k[o>>2]|0;if(t){Lm(a,3);k[v>>2]=-1;v=k[v>>2]|0;u=w;return v|0}else{j[a+40>>1]=0;k[v>>2]=0;v=k[v>>2]|0;u=w;return v|0}}while(0);k[e>>2]=0;k[f>>2]=0;k[i>>2]=k[(k[o>>2]|0)+52+16>>2];k[g>>2]=1;while(1){if((k[g>>2]|0)>=5)break;k[n>>2]=k[(k[s>>2]|0)+4+(k[g>>2]<<2)>>2];if((k[e>>2]|0)>>>0<=(k[n>>2]|0)>>>0?(k[n>>2]|0)>>>0<=(k[i>>2]|0)>>>0:0){k[e>>2]=k[n>>2];k[f>>2]=k[g>>2]}k[g>>2]=(k[g>>2]|0)+1}a:do if(((l[(k[o>>2]|0)+46>>0]|0)&2|0)==0?((k[f>>2]|0)==0?1:(k[e>>2]|0)>>>0<(k[i>>2]|0)>>>0):0){k[g>>2]=1;while(1){if((k[g>>2]|0)>=5)break a;r=Ko(k[o>>2]|0,3+(k[g>>2]|0)|0,1)|0;k[h>>2]=r;if(!(k[h>>2]|0)){t=36;break}if((k[h>>2]|0)!=5)break;k[g>>2]=(k[g>>2]|0)+1}if((t|0)==36){t=k[i>>2]|0;k[(k[s>>2]|0)+4+(k[g>>2]<<2)>>2]=t;k[e>>2]=t;k[f>>2]=k[g>>2];Om(k[o>>2]|0,3+(k[g>>2]|0)|0,1);break}k[v>>2]=k[h>>2];v=k[v>>2]|0;u=w;return v|0}while(0);if(!(k[f>>2]|0)){k[v>>2]=(k[h>>2]|0)==5?-1:520;v=k[v>>2]|0;u=w;return v|0}t=Km(k[o>>2]|0,3+(k[f>>2]|0)|0)|0;k[h>>2]=t;if(k[h>>2]|0){k[v>>2]=(k[h>>2]|0)==5?-1:k[h>>2]|0;v=k[v>>2]|0;u=w;return v|0}k[(k[o>>2]|0)+100>>2]=(k[k[s>>2]>>2]|0)+1;Wo(k[o>>2]|0);if((k[(k[s>>2]|0)+4+(k[f>>2]<<2)>>2]|0)==(k[e>>2]|0)?(t=Ao(k[o>>2]|0)|0,(R_(t,(k[o>>2]|0)+52|0,48)|0)==0):0){j[(k[o>>2]|0)+40>>1]=k[f>>2];k[v>>2]=k[h>>2];v=k[v>>2]|0;u=w;return v|0}Lm(k[o>>2]|0,3+(k[f>>2]|0)|0);k[v>>2]=-1;v=k[v>>2]|0;u=w;return v|0}function yp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Wb[k[(k[e>>2]|0)+60>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function zp(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Co(k[c>>2]|0)|0;u=b;return a|0}function Ap(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+64|0;f=x+40|0;q=x+36|0;r=x+50|0;s=x+52|0;t=x+32|0;d=x+28|0;v=x+24|0;e=x+48|0;w=x+20|0;g=x+16|0;h=x+12|0;n=x+8|0;b=x+4|0;c=x;o=x+46|0;p=x+44|0;k[q>>2]=a;do if(!(i[k[q>>2]>>0]|0)){k[d>>2]=k[(k[q>>2]|0)+52>>2];i[s>>0]=i[(k[q>>2]|0)+5>>0]|0;k[t>>2]=k[(k[q>>2]|0)+56>>2];if(Bp(k[q>>2]|0,l[(k[t>>2]|0)+(l[s>>0]|0)>>0]|0)|0){w=un(60006)|0;k[f>>2]=w;w=k[f>>2]|0;u=x;return w|0}j[(k[q>>2]|0)+20>>1]=(k[(k[d>>2]|0)+32>>2]|0)-1;i[(k[q>>2]|0)+1>>0]=0;k[v>>2]=k[(k[d>>2]|0)+36>>2];a=(l[s>>0]|0)+8+(l[(k[q>>2]|0)+6>>0]|0)&65535;j[e>>1]=a;j[(k[q>>2]|0)+14>>1]=a;k[(k[q>>2]|0)+60>>2]=(k[t>>2]|0)+(k[v>>2]|0);k[(k[q>>2]|0)+64>>2]=(k[t>>2]|0)+(m[e>>1]|0);k[(k[q>>2]|0)+68>>2]=(k[t>>2]|0)+(l[(k[q>>2]|0)+6>>0]|0);k[g>>2]=((l[(k[t>>2]|0)+((l[s>>0]|0)+5)>>0]<<8|l[(k[t>>2]|0)+((l[s>>0]|0)+5)+1>>0])-1&65535)+1;j[(k[q>>2]|0)+18>>1]=l[(k[t>>2]|0)+((l[s>>0]|0)+3)>>0]<<8|l[(k[t>>2]|0)+((l[s>>0]|0)+3)+1>>0];if((m[(k[q>>2]|0)+18>>1]|0)>>>0>((((k[(k[d>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){w=un(60024)|0;k[f>>2]=w;w=k[f>>2]|0;u=x;return w|0}k[h>>2]=(m[e>>1]|0)+(m[(k[q>>2]|0)+18>>1]<<1);k[n>>2]=(k[v>>2]|0)-4;do if(k[(k[(k[d>>2]|0)+4>>2]|0)+24>>2]&536870912|0){if(!(i[(k[q>>2]|0)+4>>0]|0))k[n>>2]=(k[n>>2]|0)+-1;k[b>>2]=0;while(1){if((k[b>>2]|0)>=(m[(k[q>>2]|0)+18>>1]|0)){a=17;break}j[r>>1]=l[(k[t>>2]|0)+((m[e>>1]|0)+(k[b>>2]<<1))>>0]<<8|l[(k[t>>2]|0)+((m[e>>1]|0)+(k[b>>2]<<1))+1>>0];if((m[r>>1]|0)<(k[h>>2]|0)){a=13;break}if((m[r>>1]|0)>(k[n>>2]|0)){a=13;break}d=(Wb[k[(k[q>>2]|0)+76>>2]&255](k[q>>2]|0,(k[t>>2]|0)+(m[r>>1]|0)|0)|0)&65535;k[c>>2]=d;if(((m[r>>1]|0)+(k[c>>2]|0)|0)>(k[v>>2]|0)){a=15;break}k[b>>2]=(k[b>>2]|0)+1}if((a|0)==13){w=un(60052)|0;k[f>>2]=w;w=k[f>>2]|0;u=x;return w|0}else if((a|0)==15){w=un(60057)|0;k[f>>2]=w;w=k[f>>2]|0;u=x;return w|0}else if((a|0)==17){if(i[(k[q>>2]|0)+4>>0]|0)break;k[n>>2]=(k[n>>2]|0)+1;break}}while(0);j[r>>1]=l[(k[t>>2]|0)+((l[s>>0]|0)+1)>>0]<<8|l[(k[t>>2]|0)+((l[s>>0]|0)+1)+1>>0];k[w>>2]=(l[(k[t>>2]|0)+((l[s>>0]|0)+7)>>0]|0)+(k[g>>2]|0);while(1){if((m[r>>1]|0)<=0){a=29;break}if((m[r>>1]|0)<(k[h>>2]|0)){a=23;break}if((m[r>>1]|0)>(k[n>>2]|0)){a=23;break}j[o>>1]=l[(k[t>>2]|0)+(m[r>>1]|0)>>0]<<8|l[(k[t>>2]|0)+(m[r>>1]|0)+1>>0];j[p>>1]=l[(k[t>>2]|0)+((m[r>>1]|0)+2)>>0]<<8|l[(k[t>>2]|0)+((m[r>>1]|0)+2)+1>>0];if((m[o>>1]|0)>0?(m[o>>1]|0)<=((m[r>>1]|0)+(m[p>>1]|0)+3|0):0){a=27;break}if(((m[r>>1]|0)+(m[p>>1]|0)|0)>(k[v>>2]|0)){a=27;break}k[w>>2]=(k[w>>2]|0)+(m[p>>1]|0);j[r>>1]=j[o>>1]|0}if((a|0)==23){w=un(60077)|0;k[f>>2]=w;w=k[f>>2]|0;u=x;return w|0}else if((a|0)==27){w=un(60084)|0;k[f>>2]=w;w=k[f>>2]|0;u=x;return w|0}else if((a|0)==29){if((k[w>>2]|0)<=(k[v>>2]|0)){j[(k[q>>2]|0)+16>>1]=(k[w>>2]|0)-(k[h>>2]|0);i[k[q>>2]>>0]=1;break}w=un(60098)|0;k[f>>2]=w;w=k[f>>2]|0;u=x;return w|0}}while(0);k[f>>2]=0;w=k[f>>2]|0;u=x;return w|0}function Bp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;i[(k[e>>2]|0)+4>>0]=k[c>>2]>>3;k[c>>2]=k[c>>2]&-9;i[(k[e>>2]|0)+6>>0]=4-(l[(k[e>>2]|0)+4>>0]<<2);k[(k[e>>2]|0)+76>>2]=194;k[f>>2]=k[(k[e>>2]|0)+52>>2];do if((k[c>>2]|0)==5){i[(k[e>>2]|0)+2>>0]=1;a=(k[e>>2]|0)+3|0;if(i[(k[e>>2]|0)+4>>0]|0){i[a>>0]=1;a=k[e>>2]|0;b=230}else{i[a>>0]=0;k[(k[e>>2]|0)+76>>2]=195;a=k[e>>2]|0;b=231}k[a+80>>2]=b;j[(k[e>>2]|0)+10>>1]=j[(k[f>>2]|0)+28>>1]|0;a=j[(k[f>>2]|0)+30>>1]|0;b=k[e>>2]|0}else{if((k[c>>2]|0)==2){i[(k[e>>2]|0)+2>>0]=0;i[(k[e>>2]|0)+3>>0]=0;k[(k[e>>2]|0)+80>>2]=229;j[(k[e>>2]|0)+10>>1]=j[(k[f>>2]|0)+24>>1]|0;a=j[(k[f>>2]|0)+26>>1]|0;b=k[e>>2]|0;break}f=un(59964)|0;k[d>>2]=f;f=k[d>>2]|0;u=g;return f|0}while(0);j[b+12>>1]=a;i[(k[e>>2]|0)+7>>0]=i[(k[f>>2]|0)+21>>0]|0;k[d>>2]=0;f=k[d>>2]|0;u=g;return f|0}function Cp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[d>>2]|0)+(l[(k[c>>2]|0)+6>>0]|0);k[g>>2]=l[k[e>>2]>>0];a:do if((k[g>>2]|0)>>>0>=128){k[f>>2]=(k[e>>2]|0)+8;k[g>>2]=k[g>>2]&127;do{a=k[g>>2]<<7;b=(k[e>>2]|0)+1|0;k[e>>2]=b;k[g>>2]=a|l[b>>0]&127;if((l[k[e>>2]>>0]|0)<128)break a}while((k[e>>2]|0)>>>0<(k[f>>2]|0)>>>0)}while(0);k[e>>2]=(k[e>>2]|0)+1;b:do if(i[(k[c>>2]|0)+2>>0]|0){k[f>>2]=(k[e>>2]|0)+9;do{b=k[e>>2]|0;k[e>>2]=b+1;if(!(l[b>>0]&128))break b}while((k[e>>2]|0)>>>0<(k[f>>2]|0)>>>0)}while(0);if((k[g>>2]|0)>>>0<=(m[(k[c>>2]|0)+10>>1]|0)>>>0){h=(k[g>>2]|0)+((k[e>>2]|0)-(k[d>>2]|0))|0;k[g>>2]=h;k[g>>2]=(k[g>>2]|0)>>>0<4?4:h;h=k[g>>2]|0;h=h&65535;u=j;return h|0}k[h>>2]=m[(k[c>>2]|0)+12>>1];k[g>>2]=(k[h>>2]|0)+((((k[g>>2]|0)-(k[h>>2]|0)|0)>>>0)%(((k[(k[(k[c>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[g>>2]|0)>>>0>(m[(k[c>>2]|0)+10>>1]|0)>>>0)k[g>>2]=k[h>>2];k[g>>2]=(k[g>>2]|0)+(4+((k[e>>2]|0)-(k[d>>2]|0)&65535));h=k[g>>2]|0;h=h&65535;u=j;return h|0}function Dp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0;p=u;u=u+48|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;n=p;o=p+12|0;d=p+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[f>>2];k[i>>2]=l[k[h>>2]>>0];a:do if((k[i>>2]|0)>>>0>=128){k[o>>2]=(k[h>>2]|0)+8;k[i>>2]=k[i>>2]&127;do{b=k[i>>2]<<7;c=(k[h>>2]|0)+1|0;k[h>>2]=c;k[i>>2]=b|(l[c>>0]|0)&127;if((l[k[h>>2]>>0]|0|0)<128)break a}while((k[h>>2]|0)>>>0<(k[o>>2]|0)>>>0)}while(0);k[h>>2]=(k[h>>2]|0)+1;o=n;k[o>>2]=l[k[h>>2]>>0];k[o+4>>2]=0;o=n;c=k[o+4>>2]|0;b:do if(c>>>0>0|(c|0)==0&(k[o>>2]|0)>>>0>=128){k[d>>2]=(k[h>>2]|0)+7;o=n;k[o>>2]=k[n>>2]&127;k[o+4>>2]=0;do{b=n;b=t0(k[b>>2]|0,k[b+4>>2]|0,7)|0;c=(k[h>>2]|0)+1|0;k[h>>2]=c;c=(l[c>>0]|0)&127;o=n;k[o>>2]=b|c;k[o+4>>2]=M|((c|0)<0)<<31>>31;if((l[k[h>>2]>>0]|0|0)<128)break b}while((k[h>>2]|0)>>>0<(k[d>>2]|0)>>>0);d=n;d=t0(k[d>>2]|0,k[d+4>>2]|0,8)|0;c=(k[h>>2]|0)+1|0;k[h>>2]=c;o=n;k[o>>2]=d|(l[c>>0]|0);k[o+4>>2]=M}while(0);k[h>>2]=(k[h>>2]|0)+1;c=n;n=k[c+4>>2]|0;o=k[g>>2]|0;k[o>>2]=k[c>>2];k[o+4>>2]=n;k[(k[g>>2]|0)+12>>2]=k[i>>2];k[(k[g>>2]|0)+8>>2]=k[h>>2];if((k[i>>2]|0)>>>0>(m[(k[e>>2]|0)+10>>1]|0)>>>0){Hp(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0);u=p;return}j[(k[g>>2]|0)+18>>1]=(k[i>>2]|0)+((k[h>>2]|0)-(k[f>>2]|0)&65535);if((m[(k[g>>2]|0)+18>>1]|0|0)<4)j[(k[g>>2]|0)+18>>1]=4;j[(k[g>>2]|0)+16>>1]=k[i>>2];u=p;return}function Ep(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[f+12>>2]=a;k[c>>2]=b;k[d>>2]=(k[c>>2]|0)+4;k[e>>2]=(k[d>>2]|0)+9;do{b=k[d>>2]|0;k[d>>2]=b+1;if(!((l[b>>0]|0)&128))break}while((k[d>>2]|0)>>>0<(k[e>>2]|0)>>>0);u=f;return (k[d>>2]|0)-(k[c>>2]|0)&65535|0}function Fp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=u;u=u+16|0;f=d+4|0;e=d;k[d+8>>2]=a;k[f>>2]=b;k[e>>2]=c;c=4+((Ip((k[f>>2]|0)+4|0,k[e>>2]|0)|0)&255)&65535;j[(k[e>>2]|0)+18>>1]=c;k[(k[e>>2]|0)+12>>2]=0;j[(k[e>>2]|0)+16>>1]=0;k[(k[e>>2]|0)+8>>2]=0;u=d;return}function Gp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0;n=u;u=u+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n+4|0;i=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=(k[e>>2]|0)+(l[(k[d>>2]|0)+6>>0]|0);k[h>>2]=l[k[g>>2]>>0];a:do if((k[h>>2]|0)>>>0>=128){k[i>>2]=(k[g>>2]|0)+8;k[h>>2]=k[h>>2]&127;do{b=k[h>>2]<<7;c=(k[g>>2]|0)+1|0;k[g>>2]=c;k[h>>2]=b|(l[c>>0]|0)&127;if((l[k[g>>2]>>0]|0|0)<128)break a}while((k[g>>2]|0)>>>0<(k[i>>2]|0)>>>0)}while(0);k[g>>2]=(k[g>>2]|0)+1;i=k[f>>2]|0;k[i>>2]=k[h>>2];k[i+4>>2]=0;k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+8>>2]=k[g>>2];if((k[h>>2]|0)>>>0>(m[(k[d>>2]|0)+10>>1]|0)>>>0){Hp(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);u=n;return}j[(k[f>>2]|0)+18>>1]=(k[h>>2]|0)+((k[g>>2]|0)-(k[e>>2]|0)&65535);if((m[(k[f>>2]|0)+18>>1]|0|0)<4)j[(k[f>>2]|0)+18>>1]=4;j[(k[f>>2]|0)+16>>1]=k[h>>2];u=n;return}function Hp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;h=u;u=u+32|0;l=h+20|0;f=h+16|0;g=h+12|0;d=h+8|0;i=h+4|0;e=h;k[l>>2]=a;k[f>>2]=b;k[g>>2]=c;k[d>>2]=m[(k[l>>2]|0)+12>>1];k[i>>2]=m[(k[l>>2]|0)+10>>1];k[e>>2]=(k[d>>2]|0)+((((k[(k[g>>2]|0)+12>>2]|0)-(k[d>>2]|0)|0)>>>0)%(((k[(k[(k[l>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[e>>2]|0)<=(k[i>>2]|0)){a=k[e>>2]&65535;b=k[g>>2]|0}else{a=k[d>>2]&65535;b=k[g>>2]|0}j[b+16>>1]=a;j[(k[g>>2]|0)+18>>1]=((k[(k[g>>2]|0)+8>>2]|0)+(m[(k[g>>2]|0)+16>>1]|0)-(k[f>>2]|0)&65535)+4;u=h;return}function Ip(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];if(!(k[f>>2]&128)){h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=1;h=i[c>>0]|0;u=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=2;h=i[c>>0]|0;u=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);b=(k[f>>2]&128|0)!=0;k[f>>2]=k[f>>2]&2080895;if(!b){k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=3;h=i[c>>0]|0;u=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);b=(k[g>>2]&128|0)!=0;k[g>>2]=k[g>>2]&2080895;a=k[f>>2]|0;if(!b){k[f>>2]=a<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=4;h=i[c>>0]|0;u=j;return h|0}k[h>>2]=a;k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=5;h=i[c>>0]|0;u=j;return h|0}k[h>>2]=k[h>>2]<<7;k[h>>2]=k[h>>2]|k[g>>2];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=6;h=i[c>>0]|0;u=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);a=k[f>>2]|0;if(!(k[f>>2]&128)){k[f>>2]=a&-266354561;k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>11;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=7;h=i[c>>0]|0;u=j;return h|0}k[f>>2]=a&2080895;k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(k[g>>2]&128|0){k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<15;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<8;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=k[h>>2]<<4;k[g>>2]=l[(k[d>>2]|0)+-4>>0];k[g>>2]=k[g>>2]&127;k[g>>2]=(k[g>>2]|0)>>>3;k[h>>2]=k[h>>2]|k[g>>2];g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=9;h=i[c>>0]|0;u=j;return h|0}else{k[g>>2]=k[g>>2]&-266354561;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>4;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=8;h=i[c>>0]|0;u=j;return h|0}return 0}function Jp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+244>>2]|0)Kp(k[(k[c>>2]|0)+244>>2]|0);Lp(k[c>>2]|0,k[d>>2]|0);u=e;return}function Kp(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ii(k[c>>2]|0);u=b;return}function Lp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)==3082){u=e;return}k[d>>2]=k[d>>2]&255;if(!((k[d>>2]|0)==14|(k[d>>2]|0)==10)){u=e;return}d=Mp(k[k[c>>2]>>2]|0)|0;k[(k[c>>2]|0)+60>>2]=d;u=e;return}function Mp(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+68>>2]|0)){b=0;u=c;return b|0}b=Lb[k[(k[b>>2]|0)+68>>2]&255](k[b>>2]|0,0,0)|0;u=c;return b|0}function Np(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=im(k[b>>2]|0,40,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;u=d;return c|0}j[(k[c>>2]|0)+8>>1]=1;k[(k[c>>2]|0)+32>>2]=k[b>>2];c=k[c>>2]|0;u=d;return c|0}function Op(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+32|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m+16|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[j>>0]=d;k[l>>2]=e;if(!(k[f>>2]|0)){u=m;return}mi(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0,i[j>>0]|0,k[l>>2]|0)|0;u=m;return}function Pp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+112|0;t=E+108|0;n=E+104|0;A=E+100|0;o=E+96|0;B=E+92|0;p=E+88|0;C=E+84|0;D=E+80|0;c=E+76|0;d=E+72|0;q=E+68|0;e=E+64|0;f=E+60|0;g=E+56|0;h=E+52|0;r=E+16|0;s=E+48|0;i=E+44|0;j=E+40|0;v=E+8|0;w=E;m=E+36|0;x=E+32|0;y=E+28|0;z=E+24|0;k[t>>2]=a;k[n>>2]=b;k[B>>2]=0;k[p>>2]=0;Dd(k[(k[(k[t>>2]|0)+20>>2]|0)+12>>2]|0);ol(k[(k[t>>2]|0)+24>>2]|0);if(k[k[t>>2]>>2]|0)Dd(k[(k[k[t>>2]>>2]|0)+12>>2]|0);k[A>>2]=k[(k[t>>2]|0)+28>>2];if(!(Pn(k[A>>2]|0)|0)){b=Ak(k[(k[t>>2]|0)+24>>2]|0)|0;k[C>>2]=b;b=Ak(k[(k[t>>2]|0)+4>>2]|0)|0;k[D>>2]=b;k[d>>2]=-1;k[q>>2]=0;if(k[k[t>>2]>>2]|0?(l[(k[(k[(k[t>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)k[A>>2]=5;else k[A>>2]=0;if((k[A>>2]|0)==0?0==(xl(k[(k[t>>2]|0)+24>>2]|0)|0):0){b=Qp(k[(k[t>>2]|0)+24>>2]|0,0)|0;k[A>>2]=b;k[q>>2]=1}if(((k[A>>2]|0)==0?(k[(k[t>>2]|0)+12>>2]|0)==0:0)?(Rp(k[t>>2]|0)|0)==7:0)k[A>>2]=7;if((0==(k[A>>2]|0)?(k[(k[t>>2]|0)+12>>2]|0)==0:0)?(b=Qp(k[(k[t>>2]|0)+4>>2]|0,2)|0,k[A>>2]=b,0==(b|0)):0){k[(k[t>>2]|0)+12>>2]=1;Sp(k[(k[t>>2]|0)+4>>2]|0,1,(k[t>>2]|0)+8|0)}b=Rn(k[(k[t>>2]|0)+24>>2]|0)|0;k[B>>2]=b;b=Rn(k[(k[t>>2]|0)+4>>2]|0)|0;k[p>>2]=b;b=Tp(Ak(k[(k[t>>2]|0)+4>>2]|0)|0)|0;k[o>>2]=b;if(0==(k[A>>2]|0)&(k[o>>2]|0)==5?(k[B>>2]|0)!=(k[p>>2]|0):0)k[A>>2]=8;b=Wn(k[(k[t>>2]|0)+24>>2]|0)|0;k[d>>2]=b;k[c>>2]=0;while(1){if((k[n>>2]|0)>=0?(k[c>>2]|0)>=(k[n>>2]|0):0)break;if((k[(k[t>>2]|0)+16>>2]|0)>>>0>(k[d>>2]|0)>>>0)break;if(!((k[A>>2]|0)!=0^1))break;k[e>>2]=k[(k[t>>2]|0)+16>>2];if((k[e>>2]|0)!=((((k[482]|0)>>>0)/((k[(k[(k[(k[t>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(b=rn(k[C>>2]|0,k[e>>2]|0,f,2)|0,k[A>>2]=b,(k[A>>2]|0)==0):0){a=k[t>>2]|0;b=k[e>>2]|0;b=Qn(a,b,Un(k[f>>2]|0)|0,0)|0;k[A>>2]=b;Yn(k[f>>2]|0)}b=(k[t>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+1;k[c>>2]=(k[c>>2]|0)+1}do if(!(k[A>>2]|0)){k[(k[t>>2]|0)+36>>2]=k[d>>2];k[(k[t>>2]|0)+32>>2]=(k[d>>2]|0)+1-(k[(k[t>>2]|0)+16>>2]|0);if((k[(k[t>>2]|0)+16>>2]|0)>>>0>(k[d>>2]|0)>>>0){k[A>>2]=101;break}if(!(k[(k[t>>2]|0)+40>>2]|0))Up(k[t>>2]|0)}while(0);if((k[A>>2]|0)==101){if(!(k[d>>2]|0)){n=Vp(k[(k[t>>2]|0)+4>>2]|0)|0;k[A>>2]=n;k[d>>2]=1}if((k[A>>2]|0)==0|(k[A>>2]|0)==101){n=Wp(k[(k[t>>2]|0)+4>>2]|0,1,(k[(k[t>>2]|0)+8>>2]|0)+1|0)|0;k[A>>2]=n}if(!(k[A>>2]|0)){if(k[k[t>>2]>>2]|0)Xp(k[k[t>>2]>>2]|0);if((k[o>>2]|0)==5){o=Yp(k[(k[t>>2]|0)+4>>2]|0,2)|0;k[A>>2]=o}}if(!(k[A>>2]|0)){if((k[B>>2]|0)<(k[p>>2]|0)){k[h>>2]=(k[p>>2]|0)/(k[B>>2]|0)|0;k[g>>2]=((k[d>>2]|0)+(k[h>>2]|0)-1|0)/(k[h>>2]|0)|0;if((k[g>>2]|0)==((((k[482]|0)>>>0)/((k[(k[(k[(k[t>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))k[g>>2]=(k[g>>2]|0)+-1}else{o=$(k[d>>2]|0,(k[B>>2]|0)/(k[p>>2]|0)|0)|0;k[g>>2]=o}do if((k[B>>2]|0)<(k[p>>2]|0)){o=k[B>>2]|0;n=k[d>>2]|0;n=B0(o|0,((o|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;o=r;k[o>>2]=n;k[o+4>>2]=M;o=Zp(k[D>>2]|0)|0;k[s>>2]=o;_p(k[D>>2]|0,j);k[i>>2]=k[g>>2];while(1){if(k[A>>2]|0)break;if((k[i>>2]|0)>>>0>(k[j>>2]|0)>>>0)break;do if((k[i>>2]|0)!=((((k[482]|0)>>>0)/((k[(k[(k[(k[t>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){o=rn(k[D>>2]|0,k[i>>2]|0,m,0)|0;k[A>>2]=o;if(k[A>>2]|0)break;o=Tn(k[m>>2]|0)|0;k[A>>2]=o;Yn(k[m>>2]|0)}while(0);k[i>>2]=(k[i>>2]|0)+1}if(!(k[A>>2]|0)){o=$p(k[D>>2]|0,0,1)|0;k[A>>2]=o}n=(k[482]|0)+(k[p>>2]|0)|0;j=((n|0)<0)<<31>>31;o=r;m=k[o+4>>2]|0;if((j|0)<(m|0)|((j|0)==(m|0)?n>>>0<(k[o>>2]|0)>>>0:0)){b=(k[482]|0)+(k[p>>2]|0)|0;a=b;b=((b|0)<0)<<31>>31}else{b=r;a=k[b>>2]|0;b=k[b+4>>2]|0}o=w;k[o>>2]=a;k[o+4>>2]=b;o=(k[482]|0)+(k[B>>2]|0)|0;p=v;k[p>>2]=o;k[p+4>>2]=((o|0)<0)<<31>>31;while(1){if(k[A>>2]|0)break;o=v;m=k[o+4>>2]|0;p=w;n=k[p+4>>2]|0;if(!((m|0)<(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0<(k[p>>2]|0)>>>0:0)))break;k[x>>2]=0;o=v;p=k[B>>2]|0;p=x0(k[o>>2]|0,k[o+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=i0(p|0,M|0,1,0)|0;k[y>>2]=p;p=rn(k[C>>2]|0,k[y>>2]|0,x,0)|0;k[A>>2]=p;if(!(k[A>>2]|0)){p=Un(k[x>>2]|0)|0;k[z>>2]=p;p=v;p=Nm(k[s>>2]|0,k[z>>2]|0,k[B>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;k[A>>2]=p}Yn(k[x>>2]|0);o=k[B>>2]|0;p=v;o=i0(k[p>>2]|0,k[p+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;p=v;k[p>>2]=o;k[p+4>>2]=M}if(!(k[A>>2]|0)){C=r;C=aq(k[s>>2]|0,k[C>>2]|0,k[C+4>>2]|0)|0;k[A>>2]=C}if(k[A>>2]|0)break;D=dn(k[D>>2]|0,0)|0;k[A>>2]=D}else{bq(k[D>>2]|0,k[g>>2]|0);D=$p(k[D>>2]|0,0,0)|0;k[A>>2]=D}while(0);if(!(k[A>>2]|0)){D=cq(k[(k[t>>2]|0)+4>>2]|0,0)|0;k[A>>2]=D;k[A>>2]=0==(D|0)?101:D}}}if(k[q>>2]|0){dq(k[(k[t>>2]|0)+24>>2]|0,0)|0;cq(k[(k[t>>2]|0)+24>>2]|0,0)|0}if((k[A>>2]|0)==3082)k[A>>2]=7;k[(k[t>>2]|0)+28>>2]=k[A>>2]}if(!(k[k[t>>2]>>2]|0)){D=k[t>>2]|0;D=D+24|0;D=k[D>>2]|0;ll(D);D=k[t>>2]|0;D=D+20|0;D=k[D>>2]|0;D=D+12|0;D=k[D>>2]|0;Ed(D);D=k[A>>2]|0;u=E;return D|0}Ed(k[(k[k[t>>2]>>2]|0)+12>>2]|0);D=k[t>>2]|0;D=D+24|0;D=k[D>>2]|0;ll(D);D=k[t>>2]|0;D=D+20|0;D=k[D>>2]|0;D=D+12|0;D=k[D>>2]|0;Ed(D);D=k[A>>2]|0;u=E;return D|0}function Qp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=u;u=u+32|0;c=o+24|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;n=o;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+4>>2];k[f>>2]=0;ol(k[c>>2]|0);do if((l[(k[c>>2]|0)+8>>0]|0)!=2?(k[d>>2]|0?1:(l[(k[c>>2]|0)+8>>0]|0)!=1):0){if(k[d>>2]|0?(m[(k[e>>2]|0)+22>>1]&1|0)!=0:0){k[f>>2]=8;break}k[g>>2]=0;if(k[d>>2]|0?(l[(k[e>>2]|0)+20>>0]|0)==2:0)b=8;else b=7;a:do if((b|0)==7)if(!(m[(k[e>>2]|0)+22>>1]&64|0)){if((k[d>>2]|0)>1){k[h>>2]=k[(k[e>>2]|0)+72>>2];while(1){if(!(k[h>>2]|0))break a;a=k[h>>2]|0;if((k[k[h>>2]>>2]|0)!=(k[c>>2]|0))break;k[h>>2]=k[a+12>>2]}k[g>>2]=k[k[a>>2]>>2]}}else b=8;while(0);if((b|0)==8)k[g>>2]=k[k[(k[e>>2]|0)+76>>2]>>2];if(k[g>>2]|0){k[f>>2]=262;break}h=er(k[c>>2]|0,1,1)|0;k[f>>2]=h;if(!(k[f>>2]|0)){h=(k[e>>2]|0)+22|0;j[h>>1]=m[h>>1]&-9;if(!(k[(k[e>>2]|0)+44>>2]|0)){h=(k[e>>2]|0)+22|0;j[h>>1]=m[h>>1]|8}do{do{if(k[(k[e>>2]|0)+12>>2]|0)break;h=fr(k[e>>2]|0)|0;k[f>>2]=h}while(0==(h|0));do if((k[f>>2]|0)==0&(k[d>>2]|0)!=0){if(m[(k[e>>2]|0)+22>>1]&1|0){k[f>>2]=8;break}g=k[k[e>>2]>>2]|0;h=(k[d>>2]|0)>1&1;h=gr(g,h,Ul(k[k[c>>2]>>2]|0)|0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){h=ar(k[e>>2]|0)|0;k[f>>2]=h}}while(0);if(k[f>>2]|0)Tq(k[e>>2]|0);if((k[f>>2]&255|0)!=5)break;if(l[(k[e>>2]|0)+20>>0]|0)break}while((am(k[e>>2]|0)|0)!=0);if(!(k[f>>2]|0)){if((l[(k[c>>2]|0)+8>>0]|0)==0?(h=(k[e>>2]|0)+40|0,k[h>>2]=(k[h>>2]|0)+1,i[(k[c>>2]|0)+9>>0]|0):0){i[(k[c>>2]|0)+32+8>>0]=1;k[(k[c>>2]|0)+32+12>>2]=k[(k[e>>2]|0)+72>>2];k[(k[e>>2]|0)+72>>2]=(k[c>>2]|0)+32}i[(k[c>>2]|0)+8>>0]=k[d>>2]|0?2:1;if((l[(k[c>>2]|0)+8>>0]|0)>(l[(k[e>>2]|0)+20>>0]|0))i[(k[e>>2]|0)+20>>0]=i[(k[c>>2]|0)+8>>0]|0;if(k[d>>2]|0){k[n>>2]=k[(k[e>>2]|0)+12>>2];k[(k[e>>2]|0)+76>>2]=k[c>>2];h=(k[e>>2]|0)+22|0;j[h>>1]=m[h>>1]&-33;if((k[d>>2]|0)>1){h=(k[e>>2]|0)+22|0;j[h>>1]=m[h>>1]|32}h=k[(k[e>>2]|0)+44>>2]|0;if((h|0)!=(dm((k[(k[n>>2]|0)+56>>2]|0)+28|0)|0)?(h=Tn(k[(k[n>>2]|0)+72>>2]|0)|0,k[f>>2]=h,(k[f>>2]|0)==0):0)Xn((k[(k[n>>2]|0)+56>>2]|0)+28|0,k[(k[e>>2]|0)+44>>2]|0)}}}}while(0);if(!((k[f>>2]|0)==0&(k[d>>2]|0)!=0)){n=k[c>>2]|0;ll(n);n=k[f>>2]|0;u=o;return n|0}n=hr(k[k[e>>2]>>2]|0,k[(k[k[c>>2]>>2]|0)+432>>2]|0)|0;k[f>>2]=n;n=k[c>>2]|0;ll(n);n=k[f>>2]|0;u=o;return n|0}function Rp(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[(k[d>>2]|0)+4>>2]|0;a=Dl(a,Rn(k[(k[d>>2]|0)+24>>2]|0)|0,-1,0)|0;k[b>>2]=a;u=c;return k[b>>2]|0}function Sp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[d>>2]|0)+4>>2];ol(k[d>>2]|0);a=k[h>>2]|0;if((k[e>>2]|0)==15){h=dr(k[a>>2]|0)|0;k[k[f>>2]>>2]=h+(k[(k[d>>2]|0)+20>>2]|0);h=k[d>>2]|0;ll(h);u=g;return}else{h=dm((k[(k[a+12>>2]|0)+56>>2]|0)+(36+(k[e>>2]<<2))|0)|0;k[k[f>>2]>>2]=h;h=k[d>>2]|0;ll(h);u=g;return}}function Tp(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return l[(k[b>>2]|0)+5>>0]|0|0}function Up(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b+4|0;d=b;k[c>>2]=a;a=cr(Ak(k[(k[c>>2]|0)+24>>2]|0)|0)|0;k[d>>2]=a;k[(k[c>>2]|0)+44>>2]=k[k[d>>2]>>2];k[k[d>>2]>>2]=k[c>>2];k[(k[c>>2]|0)+40>>2]=1;u=b;return}function Vp(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;ol(k[d>>2]|0);k[(k[(k[d>>2]|0)+4>>2]|0)+44>>2]=0;a=ar(k[(k[d>>2]|0)+4>>2]|0)|0;k[b>>2]=a;ll(k[d>>2]|0);u=c;return k[b>>2]|0}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[d>>2]|0)+4>>2];ol(k[d>>2]|0);k[h>>2]=k[(k[(k[g>>2]|0)+12>>2]|0)+56>>2];c=Tn(k[(k[(k[g>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[j>>2]=c;if(k[j>>2]|0){h=k[d>>2]|0;ll(h);j=k[j>>2]|0;u=l;return j|0}Xn((k[h>>2]|0)+(36+(k[e>>2]<<2))|0,k[f>>2]|0);if((k[e>>2]|0)!=7){h=k[d>>2]|0;ll(h);j=k[j>>2]|0;u=l;return j|0}i[(k[g>>2]|0)+18>>0]=k[f>>2];h=k[d>>2]|0;ll(h);j=k[j>>2]|0;u=l;return j|0}function Xp(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;zk(k[b>>2]|0);k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=(k[a+16>>2]|0)+(k[c>>2]<<4);if(k[(k[d>>2]|0)+12>>2]|0)Xq(k[(k[d>>2]|0)+12>>2]|0);k[c>>2]=(k[c>>2]|0)+1}d=a+24|0;k[d>>2]=k[d>>2]&-3;Yq(k[b>>2]|0);Bk(k[b>>2]|0);Zq(k[b>>2]|0);u=e;return}function Yp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+4>>2];b=(k[e>>2]|0)+22|0;j[b>>1]=(m[b>>1]|0)&-17;if((k[d>>2]|0)==1){b=(k[e>>2]|0)+22|0;j[b>>1]=m[b>>1]|0|16}b=Qp(k[c>>2]|0,0)|0;k[f>>2]=b;do if(!(k[f>>2]|0)){k[g>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+56>>2];if((l[(k[g>>2]|0)+18>>0]|0|0)==(k[d>>2]&255|0)?(l[(k[g>>2]|0)+19>>0]|0|0)==(k[d>>2]&255|0):0)break;c=Qp(k[c>>2]|0,2)|0;k[f>>2]=c;if((k[f>>2]|0)==0?(c=Tn(k[(k[(k[e>>2]|0)+12>>2]|0)+72>>2]|0)|0,k[f>>2]=c,(k[f>>2]|0)==0):0){i[(k[g>>2]|0)+18>>0]=k[d>>2];i[(k[g>>2]|0)+19>>0]=k[d>>2]}}while(0);g=(k[e>>2]|0)+22|0;j[g>>1]=(m[g>>1]|0)&-17;u=h;return k[f>>2]|0}function Zp(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+64>>2]|0}function _p(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=k[(k[e>>2]|0)+28>>2];u=c;return}function $p(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;n=o+4|0;d=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=0;if(k[(k[f>>2]|0)+44>>2]|0){k[e>>2]=k[(k[f>>2]|0)+44>>2];n=k[e>>2]|0;u=o;return n|0}if(Uq(400)|0){k[e>>2]=10;n=k[e>>2]|0;u=o;return n|0}if((l[(k[f>>2]|0)+17>>0]|0|0)<3){k[e>>2]=0;n=k[e>>2]|0;u=o;return n|0}c=0==(Am(k[f>>2]|0,1)|0);a=k[f>>2]|0;do if(!c){c=(Dm(a)|0)!=0;a=k[f>>2]|0;if(c){h=xo(k[a+212>>2]|0)|0;k[m>>2]=h;k[n>>2]=0;if(!(k[m>>2]|0)){h=rn(k[f>>2]|0,1,n,0)|0;k[j>>2]=h;k[m>>2]=k[n>>2];k[(k[m>>2]|0)+12>>2]=0}if(k[m>>2]|0){m=ip(k[f>>2]|0,k[m>>2]|0,k[(k[f>>2]|0)+28>>2]|0,1)|0;k[j>>2]=m}Yn(k[n>>2]|0);if(k[j>>2]|0)break;Bm(k[(k[f>>2]|0)+212>>2]|0);break}n=Vq(a,0)|0;k[j>>2]=n;if((((k[j>>2]|0)==0?(n=Wq(k[f>>2]|0,k[g>>2]|0)|0,k[j>>2]=n,(k[j>>2]|0)==0):0)?(n=jp(k[f>>2]|0,0)|0,k[j>>2]=n,(k[j>>2]|0)==0):0)?(n=k[f>>2]|0,n=kp(n,xo(k[(k[f>>2]|0)+212>>2]|0)|0)|0,k[j>>2]=n,(k[j>>2]|0)==0):0){Bm(k[(k[f>>2]|0)+212>>2]|0);if((k[(k[f>>2]|0)+28>>2]|0)>>>0>(k[(k[f>>2]|0)+36>>2]|0)>>>0){k[d>>2]=(k[(k[f>>2]|0)+28>>2]|0)-((k[(k[f>>2]|0)+28>>2]|0)==(((k[482]|0)/(k[(k[f>>2]|0)+160>>2]|0)|0)+1|0)&1);n=Fm(k[f>>2]|0,k[d>>2]|0)|0;k[j>>2]=n;if((k[j>>2]|0)!=0|(k[h>>2]|0)!=0)break}else if(k[h>>2]|0)break;n=dn(k[f>>2]|0,k[g>>2]|0)|0;k[j>>2]=n}}else Ol(k[a+96>>2]|0);while(0);if((k[j>>2]|0)==0?(Dm(k[f>>2]|0)|0)==0:0)i[(k[f>>2]|0)+17>>0]=5;k[e>>2]=k[j>>2];n=k[e>>2]|0;u=o;return n|0}function aq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+20|0;e=h+8|0;f=h;g=h+16|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;c=Hl(k[d>>2]|0,f)|0;k[g>>2]=c;if(k[g>>2]|0){g=k[g>>2]|0;u=h;return g|0}c=f;a=k[c+4>>2]|0;f=e;b=k[f+4>>2]|0;if(!((a|0)>(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0>(k[f>>2]|0)>>>0:0))){g=k[g>>2]|0;u=h;return g|0}f=e;f=vm(k[d>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;u=h;return g|0}function bq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+28>>2]=k[e>>2];u=c;return}function cq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;if(!(l[(k[d>>2]|0)+8>>0]|0)){k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}ol(k[d>>2]|0);do if((l[(k[d>>2]|0)+8>>0]|0|0)==2){k[g>>2]=k[(k[d>>2]|0)+4>>2];a=Oq(k[k[g>>2]>>2]|0)|0;k[f>>2]=a;a=k[d>>2]|0;if(!((k[f>>2]|0)!=0&(k[e>>2]|0)==0)){f=a+20|0;k[f>>2]=(k[f>>2]|0)+-1;i[(k[g>>2]|0)+20>>0]=1;Pq(k[g>>2]|0);break}ll(a);k[c>>2]=k[f>>2];g=k[c>>2]|0;u=h;return g|0}while(0);Qq(k[d>>2]|0);ll(k[d>>2]|0);k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}function dq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;if((l[(k[d>>2]|0)+8>>0]|0)==2){k[g>>2]=k[(k[d>>2]|0)+4>>2];ol(k[d>>2]|0);if(i[(k[g>>2]|0)+17>>0]|0?(b=eq(k[g>>2]|0)|0,k[f>>2]=b,k[f>>2]|0):0){ll(k[d>>2]|0);k[c>>2]=k[f>>2];g=k[c>>2]|0;u=h;return g|0}if(i[(k[g>>2]|0)+19>>0]|0)bq(k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+44>>2]|0);g=$p(k[k[g>>2]>>2]|0,k[e>>2]|0,0)|0;k[f>>2]=g;ll(k[d>>2]|0)}k[c>>2]=k[f>>2];g=k[c>>2]|0;u=h;return g|0}function eq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;b=l+28|0;c=l+24|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[c>>2]=a;k[d>>2]=0;k[e>>2]=k[k[c>>2]>>2];fq(k[c>>2]|0);do if(!(i[(k[c>>2]|0)+18>>0]|0)){a=$n(k[c>>2]|0)|0;k[j>>2]=a;a=gq(k[c>>2]|0,k[j>>2]|0)|0;if((a|0)!=(k[j>>2]|0)?(k[j>>2]|0)!=((((k[482]|0)>>>0)/((k[(k[c>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){a=dm((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[g>>2]=a;a=hq(k[c>>2]|0,k[j>>2]|0,k[g>>2]|0)|0;k[f>>2]=a;if((k[f>>2]|0)>>>0>(k[j>>2]|0)>>>0){j=un(61919)|0;k[b>>2]=j;j=k[b>>2]|0;u=l;return j|0}if((k[f>>2]|0)>>>0<(k[j>>2]|0)>>>0){a=iq(k[c>>2]|0,0,0)|0;k[d>>2]=a}k[h>>2]=k[j>>2];while(1){if(!((k[h>>2]|0)>>>0>(k[f>>2]|0)>>>0?(k[d>>2]|0)==0:0))break;j=jq(k[c>>2]|0,k[f>>2]|0,k[h>>2]|0,1)|0;k[d>>2]=j;k[h>>2]=(k[h>>2]|0)+-1}if(((k[d>>2]|0)==101|(k[d>>2]|0)==0)&(k[g>>2]|0)>>>0>0){j=Tn(k[(k[(k[c>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[d>>2]=j;Xn((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);Xn((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);Xn((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[f>>2]|0);i[(k[c>>2]|0)+19>>0]=1;k[(k[c>>2]|0)+44>>2]=k[f>>2]}if(!(k[d>>2]|0))break;rm(k[e>>2]|0)|0;break}j=un(61914)|0;k[b>>2]=j;j=k[b>>2]|0;u=l;return j|0}while(0);k[b>>2]=k[d>>2];j=k[b>>2]|0;u=l;return j|0}function fq(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[b>>2]|0))break;d=(k[b>>2]|0)+64|0;i[d>>0]=(l[d>>0]|0)&-5;k[b>>2]=k[(k[b>>2]|0)+8>>2]}u=c;return}function gq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>>>0<2){k[c>>2]=0;h=k[c>>2]|0;u=i;return h|0}k[f>>2]=(((k[(k[d>>2]|0)+36>>2]|0)>>>0)/5|0)+1;k[g>>2]=(((k[e>>2]|0)-2|0)>>>0)/((k[f>>2]|0)>>>0)|0;g=($(k[g>>2]|0,k[f>>2]|0)|0)+2|0;k[h>>2]=g;if((k[h>>2]|0)==((((k[482]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0))k[h>>2]=(k[h>>2]|0)+1;k[c>>2]=k[h>>2];h=k[c>>2]|0;u=i;return h|0}function hq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=u;u=u+32|0;d=f+20|0;g=f+16|0;i=f+12|0;j=f+8|0;h=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[i>>2]=c;k[j>>2]=((k[(k[d>>2]|0)+36>>2]|0)>>>0)/5|0;c=(k[i>>2]|0)-(k[g>>2]|0)|0;c=c+(gq(k[d>>2]|0,k[g>>2]|0)|0)|0;k[h>>2]=((c+(k[j>>2]|0)|0)>>>0)/((k[j>>2]|0)>>>0)|0;k[e>>2]=(k[g>>2]|0)-(k[i>>2]|0)-(k[h>>2]|0);if((k[g>>2]|0)>>>0>((((k[482]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(k[e>>2]|0)>>>0<((((k[482]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)k[e>>2]=(k[e>>2]|0)+-1;while(1){j=gq(k[d>>2]|0,k[e>>2]|0)|0;if((j|0)==(k[e>>2]|0))b=1;else b=(k[e>>2]|0)==((((k[482]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0);a=k[e>>2]|0;if(!b)break;k[e>>2]=a+-1}u=f;return a|0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=u;u=u+32|0;d=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[j>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break;if((k[g>>2]|0)!=(k[f>>2]|0)){if(!(k[e>>2]|0))break;if((k[(k[g>>2]|0)+52>>2]|0)==(k[e>>2]|0))break}k[g>>2]=k[(k[g>>2]|0)+8>>2]}if(k[g>>2]|0){j=Cq(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=j;j=k[d>>2]|0;u=h;return j|0}if(k[f>>2]|0){j=(k[f>>2]|0)+64|0;i[j>>0]=(l[j>>0]|0)&-33}k[d>>2]=0;j=k[d>>2]|0;u=h;return j|0}function jq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+64|0;r=z+52|0;s=z+48|0;t=z+44|0;v=z+40|0;w=z+36|0;x=z+32|0;e=z+28|0;f=z+57|0;g=z+24|0;h=z+20|0;j=z+16|0;m=z+12|0;n=z+8|0;o=z+56|0;p=z+4|0;q=z;k[s>>2]=a;k[t>>2]=b;k[v>>2]=c;k[w>>2]=d;d=gq(k[s>>2]|0,k[v>>2]|0)|0;do if((d|0)!=(k[v>>2]|0)?(k[v>>2]|0)!=((((k[482]|0)>>>0)/((k[(k[s>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){d=dm((k[(k[(k[s>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[x>>2]=d;if(!(k[x>>2]|0)){k[r>>2]=101;y=k[r>>2]|0;u=z;return y|0}x=kq(k[s>>2]|0,k[v>>2]|0,f,g)|0;k[e>>2]=x;if(k[e>>2]|0){k[r>>2]=k[e>>2];y=k[r>>2]|0;u=z;return y|0}if((l[f>>0]|0|0)==1){y=un(61751)|0;k[r>>2]=y;y=k[r>>2]|0;u=z;return y|0}if((l[f>>0]|0|0)==2){if(k[w>>2]|0)break;y=lq(k[s>>2]|0,j,h,k[v>>2]|0,1)|0;k[e>>2]=y;if(!(k[e>>2]|0)){mq(k[j>>2]|0);break}k[r>>2]=k[e>>2];y=k[r>>2]|0;u=z;return y|0}i[o>>0]=0;k[p>>2]=0;x=nq(k[s>>2]|0,k[v>>2]|0,n,0)|0;k[e>>2]=x;if(k[e>>2]|0){k[r>>2]=k[e>>2];y=k[r>>2]|0;u=z;return y|0}if(!(k[w>>2]|0)){i[o>>0]=2;k[p>>2]=k[t>>2]}do{x=lq(k[s>>2]|0,q,m,k[p>>2]|0,i[o>>0]|0)|0;k[e>>2]=x;if(k[e>>2]|0){y=19;break}mq(k[q>>2]|0);if(!(k[w>>2]|0))break}while((k[m>>2]|0)>>>0>(k[t>>2]|0)>>>0);if((y|0)==19){mq(k[n>>2]|0);k[r>>2]=k[e>>2];y=k[r>>2]|0;u=z;return y|0}y=oq(k[s>>2]|0,k[n>>2]|0,i[f>>0]|0,k[g>>2]|0,k[m>>2]|0,k[w>>2]|0)|0;k[e>>2]=y;mq(k[n>>2]|0);if(k[e>>2]|0){k[r>>2]=k[e>>2];y=k[r>>2]|0;u=z;return y|0}}while(0);if(!(k[w>>2]|0)){while(1){k[v>>2]=(k[v>>2]|0)+-1;if((k[v>>2]|0)==((((k[482]|0)>>>0)/((k[(k[s>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=gq(k[s>>2]|0,k[v>>2]|0)|0;if((y|0)!=(k[v>>2]|0))break}i[(k[s>>2]|0)+19>>0]=1;k[(k[s>>2]|0)+44>>2]=k[v>>2]}k[r>>2]=0;y=k[r>>2]|0;u=z;return y|0}function kq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+48|0;j=q+36|0;r=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;e=q+12|0;f=q+8|0;g=q+4|0;h=q;k[r>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;d=gq(k[r>>2]|0,k[m>>2]|0)|0;k[e>>2]=d;d=rn(k[k[r>>2]>>2]|0,k[e>>2]|0,p,0)|0;k[h>>2]=d;if(k[h>>2]|0){k[j>>2]=k[h>>2];r=k[j>>2]|0;u=q;return r|0}r=Un(k[p>>2]|0)|0;k[f>>2]=r;k[g>>2]=((k[m>>2]|0)-(k[e>>2]|0)-1|0)*5;if((k[g>>2]|0)<0){Yn(k[p>>2]|0);r=un(59240)|0;k[j>>2]=r;r=k[j>>2]|0;u=q;return r|0}i[k[n>>2]>>0]=i[(k[f>>2]|0)+(k[g>>2]|0)>>0]|0;if(k[o>>2]|0){r=dm((k[f>>2]|0)+((k[g>>2]|0)+1)|0)|0;k[k[o>>2]>>2]=r}Yn(k[p>>2]|0);if((l[k[n>>2]>>0]|0|0)>=1?(l[k[n>>2]>>0]|0|0)<=5:0){k[j>>2]=0;r=k[j>>2]|0;u=q;return r|0}r=un(59248)|0;k[j>>2]=r;r=k[j>>2]|0;u=q;return r|0}function lq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=u;u=u+112|0;K=L+96|0;D=L+92|0;E=L+88|0;F=L+84|0;G=L+80|0;j=L+102|0;m=L+76|0;H=L+72|0;n=L+68|0;o=L+64|0;I=L+60|0;J=L+56|0;p=L+52|0;q=L+48|0;r=L+101|0;s=L+44|0;f=L+100|0;t=L+40|0;v=L+36|0;w=L+32|0;x=L+28|0;y=L+24|0;z=L+20|0;A=L+16|0;B=L+12|0;C=L+8|0;g=L+4|0;h=L;k[D>>2]=a;k[E>>2]=b;k[F>>2]=c;k[G>>2]=d;i[j>>0]=e;k[I>>2]=0;k[J>>2]=0;k[m>>2]=k[(k[D>>2]|0)+12>>2];e=$n(k[D>>2]|0)|0;k[p>>2]=e;e=dm((k[(k[m>>2]|0)+56>>2]|0)+36|0)|0;k[n>>2]=e;if((k[n>>2]|0)>>>0>=(k[p>>2]|0)>>>0){J=un(63793)|0;k[K>>2]=J;K=k[K>>2]|0;u=L;return K|0}a:do if((k[n>>2]|0)>>>0>0){i[r>>0]=0;k[s>>2]=0;do if((l[j>>0]|0)==1){if((k[G>>2]|0)>>>0<=(k[p>>2]|0)>>>0){e=kq(k[D>>2]|0,k[G>>2]|0,f,0)|0;k[H>>2]=e;if(k[H>>2]|0){k[K>>2]=k[H>>2];K=k[K>>2]|0;u=L;return K|0}else{if((l[f>>0]|0)!=2)break;i[r>>0]=1;break}}}else if((l[j>>0]|0)==2)i[r>>0]=1;while(0);e=Tn(k[(k[m>>2]|0)+72>>2]|0)|0;k[H>>2]=e;if(k[H>>2]|0){k[K>>2]=k[H>>2];K=k[K>>2]|0;u=L;return K|0}Xn((k[(k[m>>2]|0)+56>>2]|0)+36|0,(k[n>>2]|0)-1|0);b:while(1){k[J>>2]=k[I>>2];if(k[J>>2]|0){e=dm(k[(k[J>>2]|0)+56>>2]|0)|0;k[q>>2]=e}else{e=dm((k[(k[m>>2]|0)+56>>2]|0)+32|0)|0;k[q>>2]=e}if((k[q>>2]|0)>>>0<=(k[p>>2]|0)>>>0?(e=k[s>>2]|0,k[s>>2]=e+1,e>>>0<=(k[n>>2]|0)>>>0):0){e=yq(k[D>>2]|0,k[q>>2]|0,I,0)|0;k[H>>2]=e}else{e=un(63849)|0;k[H>>2]=e}if(k[H>>2]|0){a=23;break}e=dm((k[(k[I>>2]|0)+56>>2]|0)+4|0)|0;k[o>>2]=e;c:do if((k[o>>2]|0)!=0|(i[r>>0]|0)!=0){if((k[o>>2]|0)>>>0>((((k[(k[D>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){a=28;break b}do if(l[r>>0]|0){if((k[G>>2]|0)!=(k[q>>2]|0)){if((k[q>>2]|0)>>>0>=(k[G>>2]|0)>>>0)break;if((l[j>>0]|0)!=2)break}k[k[F>>2]>>2]=k[q>>2];k[k[E>>2]>>2]=k[I>>2];i[r>>0]=0;e=Tn(k[(k[I>>2]|0)+72>>2]|0)|0;k[H>>2]=e;if(k[H>>2]|0)break a;do if(!(k[o>>2]|0)){if(!(k[J>>2]|0)){e=(k[(k[m>>2]|0)+56>>2]|0)+32|0;h=k[(k[I>>2]|0)+56>>2]|0;i[e>>0]=i[h>>0]|0;i[e+1>>0]=i[h+1>>0]|0;i[e+2>>0]=i[h+2>>0]|0;i[e+3>>0]=i[h+3>>0]|0;break}e=Tn(k[(k[J>>2]|0)+72>>2]|0)|0;k[H>>2]=e;if(k[H>>2]|0)break a;e=k[(k[J>>2]|0)+56>>2]|0;h=k[(k[I>>2]|0)+56>>2]|0;i[e>>0]=i[h>>0]|0;i[e+1>>0]=i[h+1>>0]|0;i[e+2>>0]=i[h+2>>0]|0;i[e+3>>0]=i[h+3>>0]|0}else{e=dm((k[(k[I>>2]|0)+56>>2]|0)+8|0)|0;k[v>>2]=e;if((k[v>>2]|0)>>>0>(k[p>>2]|0)>>>0){a=40;break b}e=yq(k[D>>2]|0,k[v>>2]|0,t,0)|0;k[H>>2]=e;if(k[H>>2]|0)break a;b=Tn(k[(k[t>>2]|0)+72>>2]|0)|0;k[H>>2]=b;b=k[t>>2]|0;if(k[H>>2]|0){a=43;break b}e=k[b+56>>2]|0;h=k[(k[I>>2]|0)+56>>2]|0;i[e>>0]=i[h>>0]|0;i[e+1>>0]=i[h+1>>0]|0;i[e+2>>0]=i[h+2>>0]|0;i[e+3>>0]=i[h+3>>0]|0;Xn((k[(k[t>>2]|0)+56>>2]|0)+4|0,(k[o>>2]|0)-1|0);r0((k[(k[t>>2]|0)+56>>2]|0)+8|0,(k[(k[I>>2]|0)+56>>2]|0)+12|0,(k[o>>2]|0)-1<<2|0)|0;mq(k[t>>2]|0);if(!(k[J>>2]|0)){Xn((k[(k[m>>2]|0)+56>>2]|0)+32|0,k[v>>2]|0);break}e=Tn(k[(k[J>>2]|0)+72>>2]|0)|0;k[H>>2]=e;if(k[H>>2]|0)break a;Xn(k[(k[J>>2]|0)+56>>2]|0,k[v>>2]|0)}while(0);k[I>>2]=0;break c}while(0);if((k[o>>2]|0)>>>0>0){k[y>>2]=k[(k[I>>2]|0)+56>>2];e=(k[G>>2]|0)>>>0>0;k[w>>2]=0;d:do if(e)if((l[j>>0]|0)==2){k[z>>2]=0;while(1){if((k[z>>2]|0)>>>0>=(k[o>>2]|0)>>>0)break d;a=dm((k[y>>2]|0)+(8+(k[z>>2]<<2))|0)|0;k[x>>2]=a;a=k[z>>2]|0;if((k[x>>2]|0)>>>0<=(k[G>>2]|0)>>>0)break;k[z>>2]=a+1}k[w>>2]=a;break}else{e=dm((k[y>>2]|0)+8|0)|0;e=zq(e-(k[G>>2]|0)|0)|0;k[A>>2]=e;k[z>>2]=1;while(1){if((k[z>>2]|0)>>>0>=(k[o>>2]|0)>>>0)break d;e=dm((k[y>>2]|0)+(8+(k[z>>2]<<2))|0)|0;e=zq(e-(k[G>>2]|0)|0)|0;k[B>>2]=e;if((k[B>>2]|0)<(k[A>>2]|0)){k[w>>2]=k[z>>2];k[A>>2]=k[B>>2]}k[z>>2]=(k[z>>2]|0)+1}}while(0);e=dm((k[y>>2]|0)+(8+(k[w>>2]<<2))|0)|0;k[x>>2]=e;if((k[x>>2]|0)>>>0>(k[p>>2]|0)>>>0){a=63;break b}if(i[r>>0]|0?(k[x>>2]|0)!=(k[G>>2]|0):0){if((k[x>>2]|0)>>>0>=(k[G>>2]|0)>>>0)break;if((l[j>>0]|0)!=2)break}k[k[F>>2]>>2]=k[x>>2];e=Tn(k[(k[I>>2]|0)+72>>2]|0)|0;k[H>>2]=e;if(k[H>>2]|0)break a;if((k[w>>2]|0)>>>0<((k[o>>2]|0)-1|0)>>>0){e=(k[y>>2]|0)+(8+(k[w>>2]<<2))|0;h=(k[y>>2]|0)+(4+(k[o>>2]<<2))|0;i[e>>0]=i[h>>0]|0;i[e+1>>0]=i[h+1>>0]|0;i[e+2>>0]=i[h+2>>0]|0;i[e+3>>0]=i[h+3>>0]|0}Xn((k[y>>2]|0)+4|0,(k[o>>2]|0)-1|0);e=(Aq(k[D>>2]|0,k[k[F>>2]>>2]|0)|0)!=0^1;k[C>>2]=e?1:0;e=yq(k[D>>2]|0,k[k[F>>2]>>2]|0,k[E>>2]|0,k[C>>2]|0)|0;k[H>>2]=e;do if(!(k[H>>2]|0)){e=Tn(k[(k[k[E>>2]>>2]|0)+72>>2]|0)|0;k[H>>2]=e;if(!(k[H>>2]|0))break;mq(k[k[E>>2]>>2]|0);k[k[E>>2]>>2]=0}while(0);i[r>>0]=0}}else{e=Tn(k[(k[I>>2]|0)+72>>2]|0)|0;k[H>>2]=e;if(k[H>>2]|0)break a;k[k[F>>2]>>2]=k[q>>2];e=(k[(k[m>>2]|0)+56>>2]|0)+32|0;h=k[(k[I>>2]|0)+56>>2]|0;i[e>>0]=i[h>>0]|0;i[e+1>>0]=i[h+1>>0]|0;i[e+2>>0]=i[h+2>>0]|0;i[e+3>>0]=i[h+3>>0]|0;k[k[E>>2]>>2]=k[I>>2];k[I>>2]=0}while(0);mq(k[J>>2]|0);k[J>>2]=0;if(!(i[r>>0]|0))break a}if((a|0)==23){k[I>>2]=0;break}else if((a|0)==28){G=un(63878)|0;k[H>>2]=G;break}else if((a|0)==40){G=un(63912)|0;k[H>>2]=G;break}else if((a|0)==43){mq(b);break}else if((a|0)==63){G=un(63977)|0;k[H>>2]=G;break}}else{k[g>>2]=0==(l[(k[D>>2]|0)+19>>0]|0)?1:0;G=Tn(k[(k[(k[D>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[H>>2]=G;if(k[H>>2]|0){k[K>>2]=k[H>>2];K=k[K>>2]|0;u=L;return K|0}G=(k[D>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;if((k[(k[D>>2]|0)+44>>2]|0)==((((k[482]|0)>>>0)/((k[(k[D>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(k[D>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1}do if(l[(k[D>>2]|0)+17>>0]|0?(G=gq(k[D>>2]|0,k[(k[D>>2]|0)+44>>2]|0)|0,(G|0)==(k[(k[D>>2]|0)+44>>2]|0)):0){k[h>>2]=0;G=yq(k[D>>2]|0,k[(k[D>>2]|0)+44>>2]|0,h,k[g>>2]|0)|0;k[H>>2]=G;if(!(k[H>>2]|0)){G=Tn(k[(k[h>>2]|0)+72>>2]|0)|0;k[H>>2]=G;mq(k[h>>2]|0)}if(k[H>>2]|0){k[K>>2]=k[H>>2];K=k[K>>2]|0;u=L;return K|0}else{G=(k[D>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;if((k[(k[D>>2]|0)+44>>2]|0)!=((((k[482]|0)>>>0)/((k[(k[D>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(k[D>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;break}}while(0);Xn((k[(k[(k[D>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[(k[D>>2]|0)+44>>2]|0);k[k[F>>2]>>2]=k[(k[D>>2]|0)+44>>2];G=yq(k[D>>2]|0,k[k[F>>2]>>2]|0,k[E>>2]|0,k[g>>2]|0)|0;k[H>>2]=G;if(k[H>>2]|0){k[K>>2]=k[H>>2];K=k[K>>2]|0;u=L;return K|0}else{G=Tn(k[(k[k[E>>2]>>2]|0)+72>>2]|0)|0;k[H>>2]=G;if(!(k[H>>2]|0))break;mq(k[k[E>>2]>>2]|0);k[k[E>>2]>>2]=0;break}}while(0);mq(k[I>>2]|0);mq(k[J>>2]|0);k[K>>2]=k[H>>2];K=k[K>>2]|0;u=L;return K|0}function mq(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}xq(k[b>>2]|0);u=c;return}function nq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+32|0;f=l+24|0;g=l+20|0;h=l+16|0;i=l+12|0;m=l+8|0;j=l+4|0;e=l;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[m>>2]=d;d=rn(k[k[g>>2]>>2]|0,k[h>>2]|0,e,k[m>>2]|0)|0;k[j>>2]=d;if(k[j>>2]|0){k[f>>2]=k[j>>2];m=k[f>>2]|0;u=l;return m|0}else{m=wq(k[e>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[k[i>>2]>>2]=m;k[f>>2]=0;m=k[f>>2]|0;u=l;return m|0}return 0}function oq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;v=u;u=u+48|0;r=v+40|0;s=v+36|0;h=v+32|0;t=v+44|0;m=v+28|0;n=v+24|0;w=v+20|0;o=v+16|0;p=v+12|0;x=v+8|0;q=v+4|0;g=v;k[s>>2]=a;k[h>>2]=b;i[t>>0]=c;k[m>>2]=d;k[n>>2]=e;k[w>>2]=f;k[p>>2]=k[(k[h>>2]|0)+84>>2];k[x>>2]=k[k[s>>2]>>2];f=pq(k[x>>2]|0,k[(k[h>>2]|0)+72>>2]|0,k[n>>2]|0,k[w>>2]|0)|0;k[q>>2]=f;if(k[q>>2]|0){k[r>>2]=k[q>>2];x=k[r>>2]|0;u=v;return x|0}k[(k[h>>2]|0)+84>>2]=k[n>>2];if((l[t>>0]|0|0)!=5?(l[t>>0]|0|0)!=1:0){x=dm(k[(k[h>>2]|0)+56>>2]|0)|0;k[g>>2]=x;if(k[g>>2]|0?(rq(k[s>>2]|0,k[g>>2]|0,4,k[n>>2]|0,q),k[q>>2]|0):0){k[r>>2]=k[q>>2];x=k[r>>2]|0;u=v;return x|0}}else j=5;if((j|0)==5?(x=qq(k[h>>2]|0)|0,k[q>>2]=x,k[q>>2]|0):0){k[r>>2]=k[q>>2];x=k[r>>2]|0;u=v;return x|0}do if((l[t>>0]|0|0)!=1){x=nq(k[s>>2]|0,k[m>>2]|0,o,0)|0;k[q>>2]=x;if(k[q>>2]|0){k[r>>2]=k[q>>2];x=k[r>>2]|0;u=v;return x|0}a=Tn(k[(k[o>>2]|0)+72>>2]|0)|0;k[q>>2]=a;a=k[o>>2]|0;if(k[q>>2]|0){mq(a);k[r>>2]=k[q>>2];x=k[r>>2]|0;u=v;return x|0}else{x=sq(a,k[p>>2]|0,k[n>>2]|0,i[t>>0]|0)|0;k[q>>2]=x;mq(k[o>>2]|0);if(k[q>>2]|0)break;rq(k[s>>2]|0,k[n>>2]|0,i[t>>0]|0,k[m>>2]|0,q);break}}while(0);k[r>>2]=k[q>>2];x=k[r>>2]|0;u=v;return x|0}function pq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+48|0;o=t+36|0;p=t+32|0;q=t+28|0;r=t+24|0;e=t+20|0;s=t+16|0;f=t+12|0;g=t+8|0;h=t+4|0;n=t;k[p>>2]=a;k[q>>2]=b;k[r>>2]=c;k[e>>2]=d;k[f>>2]=0;if(i[(k[p>>2]|0)+13>>0]|0?(d=Tn(k[q>>2]|0)|0,k[g>>2]=d,k[g>>2]|0):0){k[o>>2]=k[g>>2];s=k[o>>2]|0;u=t;return s|0}if(m[(k[q>>2]|0)+24>>1]&2|0?(d=ao(k[q>>2]|0)|0,k[g>>2]=d,0!=(d|0)):0){k[o>>2]=k[g>>2];s=k[o>>2]|0;u=t;return s|0}if(!(k[e>>2]|0?1:(m[(k[q>>2]|0)+24>>1]&8|0)==0))k[f>>2]=k[(k[q>>2]|0)+20>>2];e=(k[q>>2]|0)+24|0;j[e>>1]=m[e>>1]&-9;e=pn(k[p>>2]|0,k[r>>2]|0)|0;k[s>>2]=e;do if(k[s>>2]|0){a=(k[q>>2]|0)+24|0;j[a>>1]=m[a>>1]|m[(k[s>>2]|0)+24>>1]&8;a=k[s>>2]|0;if(i[(k[p>>2]|0)+13>>0]|0){uq(a,(k[(k[p>>2]|0)+28>>2]|0)+1|0);break}else{En(a);break}}while(0);k[h>>2]=k[(k[q>>2]|0)+20>>2];uq(k[q>>2]|0,k[r>>2]|0);sn(k[q>>2]|0);if(k[s>>2]|0?(l[(k[p>>2]|0)+13>>0]|0)!=0:0){uq(k[s>>2]|0,k[h>>2]|0);Zn(k[s>>2]|0)}do if(k[f>>2]|0){s=rn(k[p>>2]|0,k[f>>2]|0,n,0)|0;k[g>>2]=s;if(!(k[g>>2]|0)){s=(k[n>>2]|0)+24|0;j[s>>1]=m[s>>1]|8;sn(k[n>>2]|0);Zn(k[n>>2]|0);break}if((k[f>>2]|0)>>>0<=(k[(k[p>>2]|0)+32>>2]|0)>>>0)vq(k[(k[p>>2]|0)+60>>2]|0,k[f>>2]|0,k[(k[p>>2]|0)+208>>2]|0);k[o>>2]=k[g>>2];s=k[o>>2]|0;u=t;return s|0}while(0);k[o>>2]=0;s=k[o>>2]|0;u=t;return s|0}function qq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0;p=u;u=u+48|0;b=p+32|0;d=p+28|0;e=p+24|0;f=p+20|0;g=p+16|0;h=p+36|0;j=p+12|0;n=p+8|0;o=p+4|0;c=p;k[b>>2]=a;k[g>>2]=k[(k[b>>2]|0)+52>>2];i[h>>0]=i[k[b>>2]>>0]|0;k[j>>2]=k[(k[b>>2]|0)+84>>2];a=Ap(k[b>>2]|0)|0;k[f>>2]=a;if(k[f>>2]|0){n=i[h>>0]|0;o=k[b>>2]|0;i[o>>0]=n;o=k[f>>2]|0;u=p;return o|0}k[e>>2]=m[(k[b>>2]|0)+18>>1];k[d>>2]=0;while(1){a=k[b>>2]|0;if((k[d>>2]|0)>=(k[e>>2]|0))break;k[n>>2]=(k[a+56>>2]|0)+(m[(k[b>>2]|0)+20>>1]&(l[(k[(k[b>>2]|0)+64>>2]|0)+(k[d>>2]<<1)>>0]<<8|l[(k[(k[b>>2]|0)+64>>2]|0)+(k[d>>2]<<1)+1>>0]));tq(k[b>>2]|0,k[n>>2]|0,f);if(!(i[(k[b>>2]|0)+4>>0]|0)){a=dm(k[n>>2]|0)|0;k[o>>2]=a;rq(k[g>>2]|0,k[o>>2]|0,5,k[j>>2]|0,f)}k[d>>2]=(k[d>>2]|0)+1}if(i[a+4>>0]|0){n=i[h>>0]|0;o=k[b>>2]|0;i[o>>0]=n;o=k[f>>2]|0;u=p;return o|0}n=dm((k[(k[b>>2]|0)+56>>2]|0)+((l[(k[b>>2]|0)+5>>0]|0)+8)|0)|0;k[c>>2]=n;rq(k[g>>2]|0,k[c>>2]|0,5,k[j>>2]|0,f);n=i[h>>0]|0;o=k[b>>2]|0;i[o>>0]=n;o=k[f>>2]|0;u=p;return o|0}function rq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;n=s+32|0;o=s+28|0;p=s+36|0;q=s+24|0;r=s+20|0;f=s+16|0;g=s+12|0;h=s+8|0;j=s+4|0;m=s;k[n>>2]=a;k[o>>2]=b;i[p>>0]=c;k[q>>2]=d;k[r>>2]=e;if(k[k[r>>2]>>2]|0){u=s;return}if(!(k[o>>2]|0)){q=un(59184)|0;k[k[r>>2]>>2]=q;u=s;return}e=gq(k[n>>2]|0,k[o>>2]|0)|0;k[h>>2]=e;n=rn(k[k[n>>2]>>2]|0,k[h>>2]|0,f,0)|0;k[m>>2]=n;if(k[m>>2]|0){k[k[r>>2]>>2]=k[m>>2];u=s;return}k[j>>2]=((k[o>>2]|0)-(k[h>>2]|0)-1|0)*5;do if((k[j>>2]|0)>=0){o=Un(k[f>>2]|0)|0;k[g>>2]=o;if((l[p>>0]|0|0)==(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0|0)?(o=dm((k[g>>2]|0)+((k[j>>2]|0)+1)|0)|0,(o|0)==(k[q>>2]|0)):0)break;o=Tn(k[f>>2]|0)|0;k[m>>2]=o;k[k[r>>2]>>2]=o;if(!(k[m>>2]|0)){i[(k[g>>2]|0)+(k[j>>2]|0)>>0]=i[p>>0]|0;Xn((k[g>>2]|0)+((k[j>>2]|0)+1)|0,k[q>>2]|0)}}else{q=un(59195)|0;k[k[r>>2]>>2]=q}while(0);Yn(k[f>>2]|0);u=s;return}function sq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+64|0;n=v+52|0;o=v+48|0;p=v+44|0;q=v+40|0;r=v+57|0;s=v+56|0;e=v+36|0;f=v+32|0;g=v+28|0;h=v+24|0;j=v;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;i[r>>0]=d;a=k[o>>2]|0;do if((l[r>>0]|0|0)==4){t=dm(k[a+56>>2]|0)|0;if((t|0)==(k[p>>2]|0)){Xn(k[(k[o>>2]|0)+56>>2]|0,k[q>>2]|0);break}t=un(61581)|0;k[n>>2]=t;t=k[n>>2]|0;u=v;return t|0}else{i[s>>0]=i[a>>0]|0;d=Ap(k[o>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0){k[n>>2]=k[g>>2];t=k[n>>2]|0;u=v;return t|0}k[f>>2]=m[(k[o>>2]|0)+18>>1];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;k[h>>2]=(k[(k[o>>2]|0)+56>>2]|0)+((m[(k[o>>2]|0)+20>>1]|0)&((l[(k[(k[o>>2]|0)+64>>2]|0)+(k[e>>2]<<1)>>0]|0)<<8|(l[(k[(k[o>>2]|0)+64>>2]|0)+(k[e>>2]<<1)+1>>0]|0)));if((l[r>>0]|0|0)==3){Sb[k[(k[o>>2]|0)+80>>2]&255](k[o>>2]|0,k[h>>2]|0,j);if(((m[j+16>>1]|0)>>>0<(k[j+12>>2]|0)>>>0?((k[h>>2]|0)+(m[j+18>>1]|0)+-1|0)>>>0<=((k[(k[o>>2]|0)+56>>2]|0)+(m[(k[o>>2]|0)+20>>1]|0)|0)>>>0:0)?(g=k[p>>2]|0,(g|0)==(dm((k[h>>2]|0)+(m[j+18>>1]|0)+-4|0)|0)):0){t=13;break}}else{g=dm(k[h>>2]|0)|0;if((g|0)==(k[p>>2]|0)){t=15;break}}k[e>>2]=(k[e>>2]|0)+1}if((t|0)==13)Xn((k[h>>2]|0)+(m[j+18>>1]|0)+-4|0,k[q>>2]|0);else if((t|0)==15)Xn(k[h>>2]|0,k[q>>2]|0);do if((k[e>>2]|0)==(k[f>>2]|0)){if((l[r>>0]|0|0)==5?(t=dm((k[(k[o>>2]|0)+56>>2]|0)+((l[(k[o>>2]|0)+5>>0]|0)+8)|0)|0,(t|0)==(k[p>>2]|0)):0){Xn((k[(k[o>>2]|0)+56>>2]|0)+((l[(k[o>>2]|0)+5>>0]|0)+8)|0,k[q>>2]|0);break}t=un(61617)|0;k[n>>2]=t;t=k[n>>2]|0;u=v;return t|0}while(0);i[k[o>>2]>>0]=i[s>>0]|0}while(0);k[n>>2]=0;t=k[n>>2]|0;u=v;return t|0}function tq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+48|0;d=i+36|0;e=i+32|0;f=i+28|0;g=i;h=i+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){u=i;return}Sb[k[(k[d>>2]|0)+80>>2]&255](k[d>>2]|0,k[e>>2]|0,g);if((m[g+16>>1]|0)>>>0>=(k[g+12>>2]|0)>>>0){u=i;return}g=dm((k[e>>2]|0)+((m[g+18>>1]|0)-4)|0)|0;k[h>>2]=g;rq(k[(k[d>>2]|0)+52>>2]|0,k[h>>2]|0,3,k[(k[d>>2]|0)+84>>2]|0,k[f>>2]|0);u=i;return}function uq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;c=d+8|0;e=d+4|0;f=d;k[c>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[c>>2]|0)+28>>2];Yb[k[152>>2]&255](k[(k[f>>2]|0)+44>>2]|0,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+20>>2]|0,k[e>>2]|0);k[(k[c>>2]|0)+20>>2]=k[e>>2];if(!((m[(k[c>>2]|0)+24>>1]|0)&2)){u=d;return}if(!((m[(k[c>>2]|0)+24>>1]|0)&8)){u=d;return}Sl(k[c>>2]|0,3);u=d;return}function vq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+32|0;d=o+24|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;j=o+4|0;m=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){u=o;return}k[e>>2]=(k[e>>2]|0)+-1;while(1){if(!(k[(k[d>>2]|0)+8>>2]|0))break;k[g>>2]=((k[e>>2]|0)>>>0)/((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[e>>2]=((k[e>>2]|0)>>>0)%((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[d>>2]=k[(k[d>>2]|0)+12+(k[g>>2]<<2)>>2];if(!(k[d>>2]|0)){n=16;break}}if((n|0)==16){u=o;return}if((k[k[d>>2]>>2]|0)>>>0<=4e3){n=(k[d>>2]|0)+12+(((k[e>>2]|0)>>>0)/8|0)|0;i[n>>0]=(l[n>>0]|0)&~(1<<(k[e>>2]&7));u=o;return}k[j>>2]=k[f>>2];r0(k[j>>2]|0,(k[d>>2]|0)+12|0,500)|0;w0((k[d>>2]|0)+12|0,0,500)|0;k[(k[d>>2]|0)+4>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>>>0>=125)break;if(k[(k[j>>2]|0)+(k[h>>2]<<2)>>2]|0?(k[(k[j>>2]|0)+(k[h>>2]<<2)>>2]|0)!=((k[e>>2]|0)+1|0):0){k[m>>2]=(((k[(k[j>>2]|0)+(k[h>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;n=(k[d>>2]|0)+4|0;k[n>>2]=(k[n>>2]|0)+1;while(1){if(!(k[(k[d>>2]|0)+12+(k[m>>2]<<2)>>2]|0))break;n=(k[m>>2]|0)+1|0;k[m>>2]=n;k[m>>2]=(k[m>>2]|0)>>>0>=125?0:n}k[(k[d>>2]|0)+12+(k[m>>2]<<2)>>2]=k[(k[j>>2]|0)+(k[h>>2]<<2)>>2]}k[h>>2]=(k[h>>2]|0)+1}u=o;return}function wq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=Vn(k[d>>2]|0)|0;k[g>>2]=c;if((k[e>>2]|0)==(k[(k[g>>2]|0)+84>>2]|0)){g=k[g>>2]|0;u=h;return g|0}c=Un(k[d>>2]|0)|0;k[(k[g>>2]|0)+56>>2]=c;k[(k[g>>2]|0)+72>>2]=k[d>>2];k[(k[g>>2]|0)+52>>2]=k[f>>2];k[(k[g>>2]|0)+84>>2]=k[e>>2];i[(k[g>>2]|0)+5>>0]=(k[e>>2]|0)==1?100:0;g=k[g>>2]|0;u=h;return g|0}function xq(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Zn(k[(k[c>>2]|0)+72>>2]|0);u=b;return}function yq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;h=u;u=u+32|0;e=h+20|0;m=h+16|0;l=h+12|0;f=h+8|0;j=h+4|0;g=h;k[m>>2]=a;k[l>>2]=b;k[f>>2]=c;k[j>>2]=d;a=nq(k[m>>2]|0,k[l>>2]|0,k[f>>2]|0,k[j>>2]|0)|0;k[g>>2]=a;a=k[f>>2]|0;do if(!(k[g>>2]|0)){m=(zp(k[(k[a>>2]|0)+72>>2]|0)|0)>1;a=k[k[f>>2]>>2]|0;if(!m){i[a>>0]=0;break}mq(a);k[k[f>>2]>>2]=0;m=un(60316)|0;k[e>>2]=m;m=k[e>>2]|0;u=h;return m|0}else k[a>>2]=0;while(0);k[e>>2]=k[g>>2];m=k[e>>2]|0;u=h;return m|0}function zq(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[c>>2]|0;do if((k[c>>2]|0)<0)if((a|0)==-2147483648){k[b>>2]=2147483647;break}else{k[b>>2]=0-(k[c>>2]|0);break}else k[b>>2]=a;while(0);u=d;return k[b>>2]|0}function Aq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[f>>2]|0)+60>>2];if(!(k[d>>2]|0)){f=0;f=f&1;u=e;return f|0}f=k[c>>2]|0;if(f>>>0>(Bq(k[d>>2]|0)|0)>>>0){f=1;f=f&1;u=e;return f|0}f=(mn(k[d>>2]|0,k[c>>2]|0)|0)!=0;f=f&1;u=e;return f|0}function Bq(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[k[b>>2]>>2]|0}function Cq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;g=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a:while(1){do if((k[d>>2]|0)!=(k[f>>2]|0)){if(0!=(k[e>>2]|0)?(k[(k[d>>2]|0)+52>>2]|0)!=(k[e>>2]|0):0)break;if((l[(k[d>>2]|0)+66>>0]|0|0)!=1?(l[(k[d>>2]|0)+66>>0]|0|0)!=2:0){Eq(k[d>>2]|0);break}c=Dq(k[d>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){a=8;break a}}while(0);k[d>>2]=k[(k[d>>2]|0)+8>>2];if(!(k[d>>2]|0)){a=11;break}}if((a|0)==8){k[g>>2]=k[h>>2];h=k[g>>2]|0;u=i;return h|0}else if((a|0)==11){k[g>>2]=0;h=k[g>>2]|0;u=i;return h|0}return 0}function Dq(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=k[b>>2]|0;if((l[(k[b>>2]|0)+66>>0]|0|0)==2)i[a+66>>0]=1;else k[a+60>>2]=0;a=Fq(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){Eq(k[b>>2]|0);i[(k[b>>2]|0)+66>>0]=3}b=(k[b>>2]|0)+64|0;i[b>>0]=(l[b>>0]|0)&-15;u=d;return k[c>>2]|0}function Eq(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>(i[(k[b>>2]|0)+68>>0]|0))break;mq(k[a+120+(k[c>>2]<<2)>>2]|0);k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]=0;k[c>>2]=(k[c>>2]|0)+1}i[a+68>>0]=-1;u=d;return}function Fq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;d=e+4|0;b=e;k[c>>2]=a;k[d>>2]=0;a=k[c>>2]|0;if(i[(k[c>>2]|0)+69>>0]|0){b=Gq(a)|0;c=(k[c>>2]|0)+40|0;k[c>>2]=b;k[c+4>>2]=M;d=k[d>>2]|0;u=e;return d|0}f=Hq(a)|0;a=(k[c>>2]|0)+40|0;k[a>>2]=f;k[a+4>>2]=0;a=(k[c>>2]|0)+40|0;a=Pd(k[a>>2]|0,k[a+4>>2]|0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){k[d>>2]=7;f=k[d>>2]|0;u=e;return f|0}a=Iq(k[c>>2]|0,0,k[(k[c>>2]|0)+40>>2]|0,k[b>>2]|0)|0;k[d>>2]=a;a=k[b>>2]|0;if(!(k[d>>2]|0)){k[(k[c>>2]|0)+48>>2]=a;f=k[d>>2]|0;u=e;return f|0}else{ie(a);f=k[d>>2]|0;u=e;return f|0}return 0}function Gq(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Kq(k[c>>2]|0);a=(k[c>>2]|0)+16|0;M=k[a+4>>2]|0;u=b;return k[a>>2]|0}function Hq(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;Kq(k[b>>2]|0);u=c;return k[(k[b>>2]|0)+16+12>>2]|0}function Iq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=Jq(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;u=e;return d|0}function Jq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+80|0;x=C+68|0;y=C+64|0;z=C+60|0;A=C+56|0;B=C+52|0;f=C+48|0;g=C+44|0;h=C+40|0;j=C+36|0;n=C+32|0;o=C+28|0;p=C+24|0;q=C+20|0;r=C+16|0;s=C+12|0;t=C+8|0;v=C+4|0;w=C;k[y>>2]=a;k[z>>2]=b;k[A>>2]=c;k[B>>2]=d;k[f>>2]=e;k[h>>2]=0;k[j>>2]=0;k[n>>2]=k[(k[y>>2]|0)+120+(i[(k[y>>2]|0)+68>>0]<<2)>>2];k[o>>2]=k[(k[y>>2]|0)+4>>2];Kq(k[y>>2]|0);k[g>>2]=k[(k[y>>2]|0)+16+8>>2];if(((k[g>>2]|0)-(k[(k[n>>2]|0)+56>>2]|0)|0)>>>0>((k[(k[o>>2]|0)+36>>2]|0)-(m[(k[y>>2]|0)+16+16>>1]|0)|0)>>>0){B=un(62723)|0;k[x>>2]=B;B=k[x>>2]|0;u=C;return B|0}if((k[z>>2]|0)>>>0<(m[(k[y>>2]|0)+16+16>>1]|0)>>>0){k[p>>2]=k[A>>2];if(((k[p>>2]|0)+(k[z>>2]|0)|0)>>>0>(m[(k[y>>2]|0)+16+16>>1]|0)>>>0)k[p>>2]=(m[(k[y>>2]|0)+16+16>>1]|0)-(k[z>>2]|0);e=Lq((k[g>>2]|0)+(k[z>>2]|0)|0,k[B>>2]|0,k[p>>2]|0,k[f>>2]&1,k[(k[n>>2]|0)+72>>2]|0)|0;k[h>>2]=e;k[z>>2]=0;k[B>>2]=(k[B>>2]|0)+(k[p>>2]|0);k[A>>2]=(k[A>>2]|0)-(k[p>>2]|0)}else k[z>>2]=(k[z>>2]|0)-(m[(k[y>>2]|0)+16+16>>1]|0);a:do if((k[h>>2]|0)==0&(k[A>>2]|0)>>>0>0){k[q>>2]=(k[(k[o>>2]|0)+36>>2]|0)-4;e=dm((k[g>>2]|0)+(m[(k[y>>2]|0)+16+16>>1]|0)|0)|0;k[r>>2]=e;if((k[f>>2]|0)!=2?(l[(k[y>>2]|0)+64>>0]&4|0)==0:0){k[s>>2]=(((k[(k[y>>2]|0)+16+12>>2]|0)-(m[(k[y>>2]|0)+16+16>>1]|0)+(k[q>>2]|0)-1|0)>>>0)/((k[q>>2]|0)>>>0)|0;do if((k[s>>2]|0)>(k[(k[y>>2]|0)+56>>2]|0)){e=qe(k[(k[y>>2]|0)+12>>2]|0,k[s>>2]<<1<<2,0)|0;k[t>>2]=e;if(!(k[t>>2]|0)){k[h>>2]=7;break}else{k[(k[y>>2]|0)+56>>2]=k[s>>2]<<1;k[(k[y>>2]|0)+12>>2]=k[t>>2];break}}while(0);if(!(k[h>>2]|0)){w0(k[(k[y>>2]|0)+12>>2]|0,0,k[s>>2]<<2|0)|0;e=(k[y>>2]|0)+64|0;i[e>>0]=l[e>>0]|4}}if(l[(k[y>>2]|0)+64>>0]&4|0?k[(k[(k[y>>2]|0)+12>>2]|0)+((((k[z>>2]|0)>>>0)/((k[q>>2]|0)>>>0)|0)<<2)>>2]|0:0){k[j>>2]=((k[z>>2]|0)>>>0)/((k[q>>2]|0)>>>0)|0;k[r>>2]=k[(k[(k[y>>2]|0)+12>>2]|0)+(k[j>>2]<<2)>>2];k[z>>2]=((k[z>>2]|0)>>>0)%((k[q>>2]|0)>>>0)|0}while(1){if(!((k[h>>2]|0)==0&(k[A>>2]|0)>>>0>0&(k[r>>2]|0)!=0))break a;if(l[(k[y>>2]|0)+64>>0]&4|0)k[(k[(k[y>>2]|0)+12>>2]|0)+(k[j>>2]<<2)>>2]=k[r>>2];if((k[z>>2]|0)>>>0>=(k[q>>2]|0)>>>0){if(k[(k[(k[y>>2]|0)+12>>2]|0)+((k[j>>2]|0)+1<<2)>>2]|0)k[r>>2]=k[(k[(k[y>>2]|0)+12>>2]|0)+((k[j>>2]|0)+1<<2)>>2];else{e=Mq(k[o>>2]|0,k[r>>2]|0,0,r)|0;k[h>>2]=e}k[z>>2]=(k[z>>2]|0)-(k[q>>2]|0)}else{k[v>>2]=k[A>>2];if(((k[v>>2]|0)+(k[z>>2]|0)|0)>>>0>(k[q>>2]|0)>>>0)k[v>>2]=(k[q>>2]|0)-(k[z>>2]|0);e=rn(k[k[o>>2]>>2]|0,k[r>>2]|0,w,(k[f>>2]&1|0)==0?2:0)|0;k[h>>2]=e;if(!(k[h>>2]|0)){e=Un(k[w>>2]|0)|0;k[g>>2]=e;e=dm(k[g>>2]|0)|0;k[r>>2]=e;e=Lq((k[g>>2]|0)+((k[z>>2]|0)+4)|0,k[B>>2]|0,k[v>>2]|0,k[f>>2]&1,k[w>>2]|0)|0;k[h>>2]=e;Yn(k[w>>2]|0);k[z>>2]=0}k[A>>2]=(k[A>>2]|0)-(k[v>>2]|0);k[B>>2]=(k[B>>2]|0)+(k[v>>2]|0)}k[j>>2]=(k[j>>2]|0)+1}}while(0);if((k[h>>2]|0)==0&(k[A>>2]|0)>>>0>0){B=un(62880)|0;k[x>>2]=B;B=k[x>>2]|0;u=C;return B|0}else{k[x>>2]=k[h>>2];B=k[x>>2]|0;u=C;return B|0}return 0}function Kq(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(m[(k[b>>2]|0)+16+18>>1]|0){u=d;return}k[c>>2]=i[(k[b>>2]|0)+68>>0];a=(k[b>>2]|0)+64|0;i[a>>0]=l[a>>0]|2;Nq(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0,m[(k[b>>2]|0)+80+(k[c>>2]<<1)>>1]|0,(k[b>>2]|0)+16|0);u=d;return}function Lq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=u;u=u+32|0;h=m+24|0;i=m+20|0;j=m+16|0;l=m+12|0;n=m+8|0;f=m+4|0;g=m;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[n>>2]=d;k[f>>2]=e;do if(k[n>>2]|0){n=Tn(k[f>>2]|0)|0;k[g>>2]=n;if(!(k[g>>2]|0)){r0(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;break}k[h>>2]=k[g>>2];n=k[h>>2]|0;u=m;return n|0}else r0(k[j>>2]|0,k[i>>2]|0,k[l>>2]|0)|0;while(0);k[h>>2]=0;n=k[h>>2]|0;u=m;return n|0}function Mq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;h=r+32|0;j=r+28|0;q=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;e=r+4|0;f=r;g=r+36|0;k[h>>2]=a;k[j>>2]=b;k[q>>2]=c;k[m>>2]=d;k[n>>2]=0;k[o>>2]=0;k[p>>2]=0;if(i[(k[h>>2]|0)+17>>0]|0){k[f>>2]=(k[j>>2]|0)+1;while(1){d=gq(k[h>>2]|0,k[f>>2]|0)|0;if((d|0)==(k[f>>2]|0))b=1;else b=(k[f>>2]|0)==((((k[482]|0)>>>0)/((k[(k[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);a=k[f>>2]|0;if(!b)break;k[f>>2]=a+1}if(((a>>>0<=($n(k[h>>2]|0)|0)>>>0?(d=kq(k[h>>2]|0,k[f>>2]|0,g,e)|0,k[p>>2]=d,(k[p>>2]|0)==0):0)?(l[g>>0]|0)==4:0)?(k[e>>2]|0)==(k[j>>2]|0):0){k[n>>2]=k[f>>2];k[p>>2]=101}}if((k[p>>2]|0)==0?(j=nq(k[h>>2]|0,k[j>>2]|0,o,(k[q>>2]|0)==0?2:0)|0,k[p>>2]=j,(k[p>>2]|0)==0):0){j=dm(k[(k[o>>2]|0)+56>>2]|0)|0;k[n>>2]=j}k[k[m>>2]>>2]=k[n>>2];a=k[o>>2]|0;if(k[q>>2]|0){k[k[q>>2]>>2]=a;o=k[p>>2]|0;o=(o|0)==101;q=k[p>>2]|0;q=o?0:q;u=r;return q|0}else{mq(a);o=k[p>>2]|0;o=(o|0)==101;q=k[p>>2]|0;q=o?0:q;u=r;return q|0}return 0}function Nq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;Sb[k[(k[g>>2]|0)+80>>2]&255](k[g>>2]|0,(k[(k[g>>2]|0)+56>>2]|0)+((m[(k[g>>2]|0)+20>>1]|0)&((l[(k[(k[g>>2]|0)+64>>2]|0)+(k[f>>2]<<1)>>0]|0)<<8|(l[(k[(k[g>>2]|0)+64>>2]|0)+(k[f>>2]<<1)+1>>0]|0)))|0,k[e>>2]|0);u=d;return}function Oq(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;a=k[c>>2]|0;if(k[(k[c>>2]|0)+44>>2]|0){k[b>>2]=k[a+44>>2];d=k[b>>2]|0;u=e;return d|0}if(((l[a+17>>0]|0|0)==2?l[(k[c>>2]|0)+4>>0]|0|0:0)?(l[(k[c>>2]|0)+5>>0]|0|0)==1:0){i[(k[c>>2]|0)+17>>0]=1;k[b>>2]=0;d=k[b>>2]|0;u=e;return d|0}a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;a=sm(k[c>>2]|0,l[(k[c>>2]|0)+20>>0]|0,1)|0;k[d>>2]=a;d=nm(k[c>>2]|0,k[d>>2]|0)|0;k[b>>2]=d;d=k[b>>2]|0;u=e;return d|0}function Pq(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;zm(k[(k[c>>2]|0)+60>>2]|0);k[(k[c>>2]|0)+60>>2]=0;u=b;return}function Qq(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+8|0;c=d+4|0;e=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];k[e>>2]=k[k[b>>2]>>2];i[(k[c>>2]|0)+19>>0]=0;if((l[(k[b>>2]|0)+8>>0]|0|0)>0?(k[(k[e>>2]|0)+160>>2]|0)>1:0){Rq(k[b>>2]|0);i[(k[b>>2]|0)+8>>0]=1;u=d;return}if(l[(k[b>>2]|0)+8>>0]|0|0?(Sq(k[b>>2]|0),e=(k[c>>2]|0)+40|0,k[e>>2]=(k[e>>2]|0)+-1,0==(k[(k[c>>2]|0)+40>>2]|0)):0)i[(k[c>>2]|0)+20>>0]=0;i[(k[b>>2]|0)+8>>0]=0;Tq(k[c>>2]|0);u=d;return}function Rq(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+4>>2];if((k[(k[b>>2]|0)+76>>2]|0)!=(k[e>>2]|0)){u=d;return}k[(k[b>>2]|0)+76>>2]=0;e=(k[b>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-97;k[c>>2]=k[(k[b>>2]|0)+72>>2];while(1){if(!(k[c>>2]|0))break;i[(k[c>>2]|0)+8>>0]=1;k[c>>2]=k[(k[c>>2]|0)+12>>2]}u=d;return}function Sq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;d=f+12|0;e=f+8|0;b=f+4|0;c=f;k[d>>2]=a;k[e>>2]=k[(k[d>>2]|0)+4>>2];k[b>>2]=(k[e>>2]|0)+72;while(1){if(!(k[k[b>>2]>>2]|0))break;k[c>>2]=k[k[b>>2]>>2];a=(k[c>>2]|0)+12|0;if((k[k[c>>2]>>2]|0)!=(k[d>>2]|0)){k[b>>2]=a;continue}k[k[b>>2]>>2]=k[a>>2];if((k[(k[c>>2]|0)+4>>2]|0)==1)continue;ie(k[c>>2]|0)}a=k[e>>2]|0;do if((k[(k[e>>2]|0)+76>>2]|0)!=(k[d>>2]|0))if((k[a+40>>2]|0)==2){b=-65;a=k[e>>2]|0;break}else{u=f;return}else{k[a+76>>2]=0;b=-97;a=k[e>>2]|0}while(0);e=a+22|0;j[e>>1]=(m[e>>1]|0)&b;u=f;return}function Tq(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(l[(k[b>>2]|0)+20>>0]|0|0){u=d;return}if(!(k[(k[b>>2]|0)+12>>2]|0)){u=d;return}k[c>>2]=k[(k[b>>2]|0)+12>>2];k[(k[b>>2]|0)+12>>2]=0;xq(k[c>>2]|0);u=d;return}function Uq(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[68];if(!(k[c>>2]|0)){c=0;u=d;return c|0}c=Rb[k[c>>2]&255](k[b>>2]|0)|0;u=d;return c|0}function Vq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+12|0;d=f+4|0;e=f;k[c>>2]=a;k[f+8>>2]=b;k[d>>2]=0;if(i[(k[c>>2]|0)+19>>0]|0){e=k[d>>2]|0;u=f;return e|0}if((k[(k[c>>2]|0)+28>>2]|0)>>>0<=0){e=k[d>>2]|0;u=f;return e|0}b=rn(k[c>>2]|0,1,e,0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){b=Tn(k[e>>2]|0)|0;k[d>>2]=b}if(!(k[d>>2]|0)){mp(k[e>>2]|0);i[(k[c>>2]|0)+19>>0]=1}Yn(k[e>>2]|0);e=k[d>>2]|0;u=f;return e|0}function Wq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=u;u=u+48|0;c=n+36|0;d=n+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+8|0;j=n;m=n+16|0;k[d>>2]=a;k[e>>2]=b;k[m>>2]=0;if((k[e>>2]|0?(l[(k[d>>2]|0)+5>>0]|0)!=4:0)?k[k[(k[d>>2]|0)+68>>2]>>2]|0:0){i[(k[d>>2]|0)+20>>0]=1;k[g>>2]=0;while(1){if(!(i[(k[e>>2]|0)+(k[g>>2]|0)>>0]|0))break;k[m>>2]=(k[m>>2]|0)+(i[(k[e>>2]|0)+(k[g>>2]|0)>>0]|0);k[g>>2]=(k[g>>2]|0)+1}if(i[(k[d>>2]|0)+8>>0]|0){a=no(k[d>>2]|0)|0;b=(k[d>>2]|0)+80|0;k[b>>2]=a;k[b+4>>2]=M}o=(k[d>>2]|0)+80|0;a=k[o+4>>2]|0;b=h;k[b>>2]=k[o>>2];k[b+4>>2]=a;b=h;b=ho(k[(k[d>>2]|0)+68>>2]|0,k[b>>2]|0,k[b+4>>2]|0,((k[482]|0)/(k[(k[d>>2]|0)+160>>2]|0)|0)+1|0)|0;k[f>>2]=b;if((((0==(b|0)?(a=k[(k[d>>2]|0)+68>>2]|0,b=k[e>>2]|0,e=k[g>>2]|0,o=h,o=i0(k[o>>2]|0,k[o+4>>2]|0,4,0)|0,o=Nm(a,b,e,o,M)|0,k[f>>2]=o,0==(o|0)):0)?(e=k[(k[d>>2]|0)+68>>2]|0,b=h,b=i0(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,o=k[g>>2]|0,o=i0(b|0,M|0,o|0,((o|0)<0)<<31>>31|0)|0,o=ho(e,o,M,k[g>>2]|0)|0,k[f>>2]=o,0==(o|0)):0)?(e=k[(k[d>>2]|0)+68>>2]|0,b=h,b=i0(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,o=k[g>>2]|0,o=i0(b|0,M|0,o|0,((o|0)<0)<<31>>31|0)|0,o=i0(o|0,M|0,4,0)|0,o=ho(e,o,M,k[m>>2]|0)|0,k[f>>2]=o,0==(o|0)):0)?(m=k[(k[d>>2]|0)+68>>2]|0,h,h=i0(k[h>>2]|0,k[h+4>>2]|0,4,0)|0,o=k[g>>2]|0,o=i0(h|0,M|0,o|0,((o|0)<0)<<31>>31|0)|0,o=i0(o|0,M|0,8,0)|0,o=Nm(m,24914,8,o,M)|0,k[f>>2]=o,0==(o|0)):0){m=(k[g>>2]|0)+20|0;o=(k[d>>2]|0)+80|0;h=o;m=i0(k[h>>2]|0,k[h+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;k[o>>2]=m;k[o+4>>2]=M;o=Hl(k[(k[d>>2]|0)+68>>2]|0,j)|0;k[f>>2]=o;if(0==(o|0)?(m=j,h=k[m+4>>2]|0,o=(k[d>>2]|0)+80|0,j=k[o+4>>2]|0,(h|0)>(j|0)|((h|0)==(j|0)?(k[m>>2]|0)>>>0>(k[o>>2]|0)>>>0:0)):0){o=(k[d>>2]|0)+80|0;o=vm(k[(k[d>>2]|0)+68>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[f>>2]=o}k[c>>2]=k[f>>2];o=k[c>>2]|0;u=n;return o|0}k[c>>2]=k[f>>2];o=k[c>>2]|0;u=n;return o|0}k[c>>2]=0;o=k[c>>2]|0;u=n;return o|0}function Xq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+64|0;h=g+48|0;b=g+32|0;c=g+16|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[e>>2]=k[h>>2];a=(k[e>>2]|0)+8|0;k[b>>2]=k[a>>2];k[b+4>>2]=k[a+4>>2];k[b+8>>2]=k[a+8>>2];k[b+12>>2]=k[a+12>>2];a=(k[e>>2]|0)+40|0;k[c>>2]=k[a>>2];k[c+4>>2]=k[a+4>>2];k[c+8>>2]=k[a+8>>2];k[c+12>>2]=k[a+12>>2];$q((k[e>>2]|0)+40|0);jl((k[e>>2]|0)+24|0);k[d>>2]=k[c+8>>2];while(1){if(!(k[d>>2]|0))break;Ck(0,k[(k[d>>2]|0)+8>>2]|0);k[d>>2]=k[k[d>>2]>>2]}jl(c);$q((k[e>>2]|0)+8|0);k[d>>2]=k[b+8>>2];while(1){if(!(k[d>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+8>>2];Dk(0,k[f>>2]|0);k[d>>2]=k[k[d>>2]>>2]}jl(b);jl((k[e>>2]|0)+56|0);k[(k[e>>2]|0)+72>>2]=0;if(!((m[(k[e>>2]|0)+78>>1]|0)&1)){u=g;return}h=(k[e>>2]|0)+4|0;k[h>>2]=(k[h>>2]|0)+1;h=(k[e>>2]|0)+78|0;j[h>>1]=(m[h>>1]|0)&-2;u=g;return}function Yq(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+344>>2];k[(k[b>>2]|0)+344>>2]=0;if(!(k[c>>2]|0)){u=e;return}_q(k[b>>2]|0);do{k[d>>2]=k[(k[c>>2]|0)+24>>2];Nk(k[c>>2]|0);k[c>>2]=k[d>>2]}while((k[c>>2]|0)!=0);u=e;return}function Zq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=2;k[c>>2]=2;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4);if(!(k[(k[e>>2]|0)+4>>2]|0)){fe(k[b>>2]|0,k[k[e>>2]>>2]|0);k[k[e>>2]>>2]=0}else{if((k[d>>2]|0)<(k[c>>2]|0)){a=(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4)|0;g=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)|0;k[a>>2]=k[g>>2];k[a+4>>2]=k[g+4>>2];k[a+8>>2]=k[g+8>>2];k[a+12>>2]=k[g+12>>2]}k[d>>2]=(k[d>>2]|0)+1}k[c>>2]=(k[c>>2]|0)+1}k[(k[b>>2]|0)+20>>2]=k[d>>2];if((k[(k[b>>2]|0)+20>>2]|0)>2){u=f;return}if((k[(k[b>>2]|0)+16>>2]|0)==((k[b>>2]|0)+392|0)){u=f;return}g=(k[b>>2]|0)+392|0;e=k[(k[b>>2]|0)+16>>2]|0;k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[g+12>>2]=k[e+12>>2];k[g+16>>2]=k[e+16>>2];k[g+20>>2]=k[e+20>>2];k[g+24>>2]=k[e+24>>2];k[g+28>>2]=k[e+28>>2];fe(k[b>>2]|0,k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+16>>2]=(k[b>>2]|0)+392;u=f;return}function _q(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+4>>2];while(1){if(!(k[b>>2]|0))break;d=(k[b>>2]|0)+144|0;j[d>>1]=j[d>>1]&-2|1;k[b>>2]=k[(k[b>>2]|0)+8>>2]}u=c;return}function $q(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=0;k[(k[c>>2]|0)+4>>2]=0;k[k[c>>2]>>2]=0;k[(k[c>>2]|0)+12>>2]=0;u=b;return}function ar(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;b=h;k[e>>2]=a;if((k[(k[e>>2]|0)+44>>2]|0)>>>0>0){k[d>>2]=0;g=k[d>>2]|0;u=h;return g|0}k[f>>2]=k[(k[e>>2]|0)+12>>2];k[g>>2]=k[(k[f>>2]|0)+56>>2];c=Tn(k[(k[f>>2]|0)+72>>2]|0)|0;k[b>>2]=c;if(k[b>>2]|0){k[d>>2]=k[b>>2];g=k[d>>2]|0;u=h;return g|0}else{a=k[g>>2]|0;b=25018;c=a+16|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));i[(k[g>>2]|0)+16>>0]=(k[(k[e>>2]|0)+32>>2]|0)>>>8;i[(k[g>>2]|0)+17>>0]=(k[(k[e>>2]|0)+32>>2]|0)>>>16;i[(k[g>>2]|0)+18>>0]=1;i[(k[g>>2]|0)+19>>0]=1;i[(k[g>>2]|0)+20>>0]=(k[(k[e>>2]|0)+32>>2]|0)-(k[(k[e>>2]|0)+36>>2]|0);i[(k[g>>2]|0)+21>>0]=64;i[(k[g>>2]|0)+22>>0]=32;i[(k[g>>2]|0)+23>>0]=32;a=(k[g>>2]|0)+24|0;c=a+76|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(c|0));br(k[f>>2]|0,13);f=(k[e>>2]|0)+22|0;j[f>>1]=m[f>>1]|0|2;Xn((k[g>>2]|0)+52|0,l[(k[e>>2]|0)+17>>0]|0);Xn((k[g>>2]|0)+64|0,l[(k[e>>2]|0)+18>>0]|0);k[(k[e>>2]|0)+44>>2]=1;i[(k[g>>2]|0)+31>>0]=1;k[d>>2]=0;g=k[d>>2]|0;u=h;return g|0}return 0}function br(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0;n=u;u=u+32|0;c=n+12|0;d=n+8|0;e=n+4|0;f=n;g=n+18|0;h=n+16|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+56>>2];k[f>>2]=k[(k[c>>2]|0)+52>>2];i[g>>0]=i[(k[c>>2]|0)+5>>0]|0;if((m[(k[f>>2]|0)+22>>1]|0)&4|0)w0((k[e>>2]|0)+(l[g>>0]|0)|0,0,(k[(k[f>>2]|0)+36>>2]|0)-(l[g>>0]|0)|0)|0;i[(k[e>>2]|0)+(l[g>>0]|0)>>0]=k[d>>2];j[h>>1]=(l[g>>0]|0)+((k[d>>2]&8|0)==0?12:8);b=(k[e>>2]|0)+((l[g>>0]|0)+1)|0;i[b>>0]=0;i[b+1>>0]=0;i[b+2>>0]=0;i[b+3>>0]=0;i[(k[e>>2]|0)+((l[g>>0]|0)+7)>>0]=0;i[(k[e>>2]|0)+((l[g>>0]|0)+5)>>0]=(k[(k[f>>2]|0)+36>>2]|0)>>>8;i[(k[e>>2]|0)+((l[g>>0]|0)+5)+1>>0]=k[(k[f>>2]|0)+36>>2];j[(k[c>>2]|0)+16>>1]=(k[(k[f>>2]|0)+36>>2]|0)-(m[h>>1]|0);Bp(k[c>>2]|0,k[d>>2]|0)|0;j[(k[c>>2]|0)+14>>1]=j[h>>1]|0;k[(k[c>>2]|0)+60>>2]=(k[e>>2]|0)+(k[(k[f>>2]|0)+36>>2]|0);k[(k[c>>2]|0)+64>>2]=(k[e>>2]|0)+(m[h>>1]|0);k[(k[c>>2]|0)+68>>2]=(k[e>>2]|0)+(l[(k[c>>2]|0)+6>>0]|0);i[(k[c>>2]|0)+1>>0]=0;j[(k[c>>2]|0)+20>>1]=(k[(k[f>>2]|0)+32>>2]|0)-1;j[(k[c>>2]|0)+18>>1]=0;i[k[c>>2]>>0]=1;u=n;return}function cr(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (k[b>>2]|0)+96|0}function dr(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+108>>2]|0}function er(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=u;u=u+32|0;d=p+16|0;e=p+12|0;f=p+8|0;g=p+20|0;h=p+4|0;n=p;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];if(!(i[(k[e>>2]|0)+9>>0]|0)){k[d>>2]=0;o=k[d>>2]|0;u=p;return o|0}if((k[(k[h>>2]|0)+76>>2]|0)!=(k[e>>2]|0)?m[(k[h>>2]|0)+22>>1]&32|0:0){k[d>>2]=262;o=k[d>>2]|0;u=p;return o|0}k[n>>2]=k[(k[h>>2]|0)+72>>2];while(1){if(!(k[n>>2]|0)){o=15;break}if(((k[k[n>>2]>>2]|0)!=(k[e>>2]|0)?(k[(k[n>>2]|0)+4>>2]|0)==(k[f>>2]|0):0)?(l[(k[n>>2]|0)+8>>0]|0)!=(l[g>>0]|0):0)break;k[n>>2]=k[(k[n>>2]|0)+12>>2]}if((o|0)==15){k[d>>2]=0;o=k[d>>2]|0;u=p;return o|0}if((l[g>>0]|0)==2){o=(k[h>>2]|0)+22|0;j[o>>1]=m[o>>1]|64}k[d>>2]=262;o=k[d>>2]|0;u=p;return o|0}function fr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;h=q+40|0;n=q+36|0;d=q+32|0;o=q+28|0;p=q+24|0;e=q+20|0;f=q+12|0;g=q+8|0;b=q+4|0;c=q;k[n>>2]=a;k[e>>2]=0;a=lr(k[k[n>>2]>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){k[h>>2]=k[d>>2];p=k[h>>2]|0;u=q;return p|0}a=nq(k[n>>2]|0,1,o,0)|0;k[d>>2]=a;if(k[d>>2]|0){k[h>>2]=k[d>>2];p=k[h>>2]|0;u=q;return p|0}a=dm((k[(k[o>>2]|0)+56>>2]|0)+28|0)|0;k[q+16>>2]=a;k[p>>2]=a;_p(k[k[n>>2]>>2]|0,e);if(!((k[p>>2]|0)!=0?!(R_((k[(k[o>>2]|0)+56>>2]|0)+24|0,(k[(k[o>>2]|0)+56>>2]|0)+92|0,4)|0):0))k[p>>2]=k[e>>2];a:do if((k[p>>2]|0)>0){k[b>>2]=k[(k[o>>2]|0)+56>>2];k[d>>2]=26;b:do if(!(R_(k[b>>2]|0,25018,16)|0)){if((l[(k[b>>2]|0)+18>>0]|0|0)>2){a=(k[n>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|1}if((l[(k[b>>2]|0)+19>>0]|0|0)<=2){do if((l[(k[b>>2]|0)+19>>0]|0|0)==2?((m[(k[n>>2]|0)+22>>1]|0)&16|0)==0:0){k[c>>2]=0;a=mr(k[k[n>>2]>>2]|0,c)|0;k[d>>2]=a;if(k[d>>2]|0)break b;if(k[c>>2]|0){k[d>>2]=26;break}mq(k[o>>2]|0);k[h>>2]=0;p=k[h>>2]|0;u=q;return p|0}while(0);if((R_((k[b>>2]|0)+21|0,25034,3)|0)==0?(k[f>>2]=(l[(k[b>>2]|0)+16>>0]|0)<<8|(l[(k[b>>2]|0)+17>>0]|0)<<16,!(((k[f>>2]|0)>>>0>65536?1:((k[f>>2]|0)-1&k[f>>2]|0)!=0)|(k[f>>2]|0)>>>0<=256)):0){k[g>>2]=(k[f>>2]|0)-(l[(k[b>>2]|0)+20>>0]|0);if((k[f>>2]|0)!=(k[(k[n>>2]|0)+32>>2]|0)){mq(k[o>>2]|0);k[(k[n>>2]|0)+36>>2]=k[g>>2];k[(k[n>>2]|0)+32>>2]=k[f>>2];El(k[n>>2]|0);p=Fl(k[k[n>>2]>>2]|0,(k[n>>2]|0)+32|0,(k[f>>2]|0)-(k[g>>2]|0)|0)|0;k[d>>2]=p;k[h>>2]=k[d>>2];p=k[h>>2]|0;u=q;return p|0}if((k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(k[p>>2]|0)>(k[e>>2]|0):0){p=un(61191)|0;k[d>>2]=p;break}if((k[g>>2]|0)>>>0>=480){k[(k[n>>2]|0)+32>>2]=k[f>>2];k[(k[n>>2]|0)+36>>2]=k[g>>2];g=(dm((k[b>>2]|0)+52|0)|0)!=0;i[(k[n>>2]|0)+17>>0]=g?1:0;g=(dm((k[b>>2]|0)+64|0)|0)!=0;i[(k[n>>2]|0)+18>>0]=g?1:0;break a}}}}while(0);mq(k[o>>2]|0);k[(k[n>>2]|0)+12>>2]=0;k[h>>2]=k[d>>2];p=k[h>>2]|0;u=q;return p|0}while(0);j[(k[n>>2]|0)+24>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;j[(k[n>>2]|0)+26>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;j[(k[n>>2]|0)+28>>1]=(k[(k[n>>2]|0)+36>>2]|0)-35;j[(k[n>>2]|0)+30>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;a=k[n>>2]|0;if((m[(k[n>>2]|0)+24>>1]|0|0)>127)b=127;else{b=j[a+24>>1]&255;a=k[n>>2]|0}i[a+21>>0]=b;k[(k[n>>2]|0)+12>>2]=k[o>>2];k[(k[n>>2]|0)+44>>2]=k[p>>2];k[h>>2]=0;p=k[h>>2]|0;u=q;return p|0}function gr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;e=j+16|0;f=j+12|0;g=j+8|0;d=j+4|0;h=j;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;k[h>>2]=0;if(k[(k[f>>2]|0)+44>>2]|0){k[e>>2]=k[(k[f>>2]|0)+44>>2];h=k[e>>2]|0;u=j;return h|0}i[(k[f>>2]|0)+22>>0]=k[d>>2];if((l[(k[f>>2]|0)+17>>0]|0|0)==1){d=(Dm(k[f>>2]|0)|0)!=0;a=k[f>>2]|0;if(!d){d=qp(a,2)|0;k[h>>2]=d;if((k[h>>2]|0)==0&(k[g>>2]|0)!=0){g=pp(k[f>>2]|0,4)|0;k[h>>2]=g}}else{do if(l[a+4>>0]|0|0?Hm(k[(k[f>>2]|0)+216>>2]|0,-1)|0:0){g=qp(k[f>>2]|0,4)|0;k[h>>2]=g;if(!(k[h>>2]|0)){Hm(k[(k[f>>2]|0)+216>>2]|0,1)|0;break}k[e>>2]=k[h>>2];h=k[e>>2]|0;u=j;return h|0}while(0);g=kr(k[(k[f>>2]|0)+216>>2]|0)|0;k[h>>2]=g}if(!(k[h>>2]|0)){i[(k[f>>2]|0)+17>>0]=2;k[(k[f>>2]|0)+40>>2]=k[(k[f>>2]|0)+28>>2];k[(k[f>>2]|0)+36>>2]=k[(k[f>>2]|0)+28>>2];k[(k[f>>2]|0)+32>>2]=k[(k[f>>2]|0)+28>>2];g=(k[f>>2]|0)+80|0;k[g>>2]=0;k[g+4>>2]=0}}k[e>>2]=k[h>>2];h=k[e>>2]|0;u=j;return h|0}function hr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>(k[(k[d>>2]|0)+104>>2]|0)?l[(k[d>>2]|0)+6>>0]|0|0:0){e=ir(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=e;e=k[c>>2]|0;u=f;return e|0}k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}function ir(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;h=j+24|0;d=j+20|0;e=j+16|0;i=j+12|0;c=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[i>>2]=0;k[c>>2]=k[(k[d>>2]|0)+104>>2];b=qe(k[(k[d>>2]|0)+100>>2]|0,(k[e>>2]|0)*48|0,0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){k[h>>2]=7;i=k[h>>2]|0;u=j;return i|0}w0((k[g>>2]|0)+((k[c>>2]|0)*48|0)|0,0,((k[e>>2]|0)-(k[c>>2]|0)|0)*48|0)|0;k[(k[d>>2]|0)+100>>2]=k[g>>2];k[f>>2]=k[c>>2];while(1){if((k[f>>2]|0)>=(k[e>>2]|0)){a=14;break}k[(k[g>>2]|0)+((k[f>>2]|0)*48|0)+20>>2]=k[(k[d>>2]|0)+28>>2];if(k[k[(k[d>>2]|0)+68>>2]>>2]|0?(c=(k[d>>2]|0)+80|0,b=k[c+4>>2]|0,(b|0)>0|(b|0)==0&(k[c>>2]|0)>>>0>0):0){c=(k[d>>2]|0)+80|0;a=(k[g>>2]|0)+((k[f>>2]|0)*48|0)|0;b=k[c>>2]|0;c=k[c+4>>2]|0}else{a=(k[g>>2]|0)+((k[f>>2]|0)*48|0)|0;b=k[(k[d>>2]|0)+156>>2]|0;c=0}k[a>>2]=b;k[a+4>>2]=c;k[(k[g>>2]|0)+((k[f>>2]|0)*48|0)+24>>2]=k[(k[d>>2]|0)+56>>2];c=io(k[(k[d>>2]|0)+28>>2]|0)|0;k[(k[g>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]=c;if(!(k[(k[g>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]|0)){a=10;break}if(Dm(k[d>>2]|0)|0)jr(k[(k[d>>2]|0)+216>>2]|0,(k[g>>2]|0)+((k[f>>2]|0)*48|0)+28|0);k[(k[d>>2]|0)+104>>2]=(k[f>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+1}if((a|0)==10){k[h>>2]=7;i=k[h>>2]|0;u=j;return i|0}else if((a|0)==14){k[h>>2]=k[i>>2];i=k[h>>2]|0;u=j;return i|0}return 0}function jr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=k[(k[e>>2]|0)+52+16>>2];k[(k[d>>2]|0)+4>>2]=k[(k[e>>2]|0)+52+24>>2];k[(k[d>>2]|0)+8>>2]=k[(k[e>>2]|0)+52+24+4>>2];k[(k[d>>2]|0)+12>>2]=k[(k[e>>2]|0)+112>>2];u=c;return}function kr(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(i[(k[c>>2]|0)+46>>0]|0){k[b>>2]=8;d=k[b>>2]|0;u=e;return d|0}a=Ko(k[c>>2]|0,0,1)|0;k[d>>2]=a;if(k[d>>2]|0){k[b>>2]=k[d>>2];d=k[b>>2]|0;u=e;return d|0}i[(k[c>>2]|0)+44>>0]=1;a=(k[c>>2]|0)+52|0;if(R_(a,Ao(k[c>>2]|0)|0,48)|0){Om(k[c>>2]|0,0,1);i[(k[c>>2]|0)+44>>0]=0;k[d>>2]=517}k[b>>2]=k[d>>2];d=k[b>>2]|0;u=e;return d|0}function lr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+48|0;m=o+28|0;n=o+24|0;b=o+20|0;c=o+16|0;d=o+12|0;e=o+8|0;f=o+4|0;g=o;j=o+32|0;k[m>>2]=a;k[n>>2]=0;do if(!(Dm(k[m>>2]|0)|0)?(l[(k[m>>2]|0)+17>>0]|0)==0:0){k[b>>2]=1;a=pp(k[m>>2]|0,1)|0;k[n>>2]=a;if(!(k[n>>2]|0)){if((l[(k[m>>2]|0)+18>>0]|0)<=1){a=rr(k[m>>2]|0,b)|0;k[n>>2]=a}if(!(k[n>>2]|0)){if(k[b>>2]|0){if(i[(k[m>>2]|0)+15>>0]|0){k[n>>2]=776;break}b=qp(k[m>>2]|0,4)|0;k[n>>2]=b;if(k[n>>2]|0)break;if((((k[k[(k[m>>2]|0)+68>>2]>>2]|0)==0?(k[c>>2]=k[k[m>>2]>>2],b=an(k[c>>2]|0,k[(k[m>>2]|0)+180>>2]|0,0,d)|0,k[n>>2]=b,(k[n>>2]|0)==0&(k[d>>2]|0)!=0):0)?(k[e>>2]=0,k[f>>2]=2050,f=Ym(k[c>>2]|0,k[(k[m>>2]|0)+180>>2]|0,k[(k[m>>2]|0)+68>>2]|0,k[f>>2]|0,e)|0,k[n>>2]=f,(k[n>>2]|0)==0):0)?k[e>>2]&1|0:0){f=rf(51483)|0;k[n>>2]=f;pm(k[(k[m>>2]|0)+68>>2]|0)}a=k[m>>2]|0;if(k[k[(k[m>>2]|0)+68>>2]>>2]|0){f=mm(a)|0;k[n>>2]=f;if(!(k[n>>2]|0)){f=_m(k[m>>2]|0,((i[(k[m>>2]|0)+13>>0]|0)!=0^1)&1)|0;k[n>>2]=f;i[(k[m>>2]|0)+17>>0]=0}}else if(!(i[a+4>>0]|0))Im(k[m>>2]|0,1)|0;if(k[n>>2]|0){nm(k[m>>2]|0,k[n>>2]|0)|0;break}}if((i[(k[m>>2]|0)+13>>0]|0)==0?l[(k[m>>2]|0)+24>>0]|0:0){k[g>>2]=0;f=sr(k[m>>2]|0,g)|0;k[n>>2]=f;if(k[n>>2]|0)break;if((k[g>>2]|0)>>>0>0){g=kn(k[(k[m>>2]|0)+64>>2]|0,j,16,24,0)|0;k[n>>2]=g;if((k[n>>2]|0)!=0&(k[n>>2]|0)!=522)break}else{a=j;b=a+16|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0))}if(R_((k[m>>2]|0)+112|0,j,16)|0)Jl(k[m>>2]|0)}h=tr(k[m>>2]|0)|0;k[n>>2]=h;h=32}}}else h=32;while(0);if((h|0)==32){if(Dm(k[m>>2]|0)|0){j=ur(k[m>>2]|0)|0;k[n>>2]=j}if((l[(k[m>>2]|0)+13>>0]|0)==0?((k[n>>2]|0)==0?(l[(k[m>>2]|0)+17>>0]|0)==0:0):0){j=sr(k[m>>2]|0,(k[m>>2]|0)+28|0)|0;k[n>>2]=j}}a=k[m>>2]|0;if(k[n>>2]|0){lm(a);n=k[n>>2]|0;u=o;return n|0}else{i[a+17>>0]=1;i[(k[m>>2]|0)+24>>0]=1;n=k[n>>2]|0;u=o;return n|0}return 0}function mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if(!(i[(k[d>>2]|0)+13>>0]|0)?!(k[(k[d>>2]|0)+216>>2]|0):0)if(nr(k[d>>2]|0)|0){pm(k[(k[d>>2]|0)+68>>2]|0);e=or(k[d>>2]|0)|0;k[f>>2]=e;if(k[f>>2]|0)break;i[(k[d>>2]|0)+5>>0]=5;i[(k[d>>2]|0)+17>>0]=0;break}else{k[c>>2]=14;g=k[c>>2]|0;u=h;return g|0}else g=7;while(0);if((g|0)==7)k[k[e>>2]>>2]=1;k[c>>2]=k[f>>2];g=k[c>>2]|0;u=h;return g|0}function nr(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;d=e+8|0;b=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[k[(k[b>>2]|0)+64>>2]>>2];if(i[(k[b>>2]|0)+14>>0]|0){k[d>>2]=0;d=k[d>>2]|0;u=e;return d|0}if(!(l[(k[b>>2]|0)+4>>0]|0))if((k[k[c>>2]>>2]|0)>=2)a=(k[(k[c>>2]|0)+52>>2]|0)!=0;else a=0;else a=1;k[d>>2]=a&1;d=k[d>>2]|0;u=e;return d|0}function or(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(i[(k[b>>2]|0)+4>>0]|0){a=pr(k[b>>2]|0)|0;k[c>>2]=a}if(k[c>>2]|0){b=k[b>>2]|0;Ml(b);c=k[c>>2]|0;u=d;return c|0}a=(k[b>>2]|0)+168|0;a=qr(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+64>>2]|0,k[(k[b>>2]|0)+220>>2]|0,l[(k[b>>2]|0)+4>>0]|0,k[a>>2]|0,k[a+4>>2]|0,(k[b>>2]|0)+216|0)|0;k[c>>2]=a;b=k[b>>2]|0;Ml(b);c=k[c>>2]|0;u=d;return c|0}function pr(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=qp(k[b>>2]|0,4)|0;k[c>>2]=a;if(k[c>>2]|0)Im(k[b>>2]|0,1)|0;u=d;return k[c>>2]|0}function qr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+48|0;s=w+44|0;t=w+40|0;v=w+36|0;h=w+32|0;l=w+28|0;m=w;n=w+24|0;o=w+20|0;p=w+16|0;q=w+12|0;r=w+8|0;k[t>>2]=a;k[v>>2]=b;k[h>>2]=c;k[l>>2]=d;d=m;k[d>>2]=e;k[d+4>>2]=f;k[n>>2]=g;k[k[n>>2]>>2]=0;g=fh(120+(k[(k[t>>2]|0)+4>>2]|0)|0,0)|0;k[p>>2]=g;if(!(k[p>>2]|0)){k[s>>2]=7;v=k[s>>2]|0;u=w;return v|0}k[k[p>>2]>>2]=k[t>>2];k[(k[p>>2]|0)+8>>2]=(k[p>>2]|0)+120;k[(k[p>>2]|0)+4>>2]=k[v>>2];j[(k[p>>2]|0)+40>>1]=-1;e=m;f=k[e+4>>2]|0;g=(k[p>>2]|0)+16|0;k[g>>2]=k[e>>2];k[g+4>>2]=f;k[(k[p>>2]|0)+108>>2]=k[h>>2];i[(k[p>>2]|0)+48>>0]=1;i[(k[p>>2]|0)+49>>0]=1;i[(k[p>>2]|0)+43>>0]=k[l>>2]|0?2:0;k[q>>2]=524294;t=Ym(k[t>>2]|0,k[h>>2]|0,k[(k[p>>2]|0)+8>>2]|0,k[q>>2]|0,q)|0;k[o>>2]=t;if((k[o>>2]|0)==0?k[q>>2]&1|0:0)i[(k[p>>2]|0)+46>>0]=1;if(k[o>>2]|0){Io(k[p>>2]|0,0);pm(k[(k[p>>2]|0)+8>>2]|0);ie(k[p>>2]|0)}else{v=gn(k[v>>2]|0)|0;k[r>>2]=v;if(k[r>>2]&1024|0)i[(k[p>>2]|0)+48>>0]=0;if(k[r>>2]&4096|0)i[(k[p>>2]|0)+49>>0]=0;k[k[n>>2]>>2]=k[p>>2]}k[s>>2]=k[o>>2];v=k[s>>2]|0;u=w;return v|0}function rr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;c=p;d=p+36|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=k[k[e>>2]>>2];k[h>>2]=0;k[j>>2]=1;k[m>>2]=((k[k[(k[e>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;k[k[f>>2]>>2]=0;if(!(k[m>>2]|0)){b=an(k[g>>2]|0,k[(k[e>>2]|0)+180>>2]|0,0,j)|0;k[h>>2]=b}if(!((k[h>>2]|0)==0&(k[j>>2]|0)!=0)){o=k[h>>2]|0;u=p;return o|0}k[n>>2]=0;j=xr(k[(k[e>>2]|0)+64>>2]|0,n)|0;k[h>>2]=j;if((k[h>>2]|0)!=0|(k[n>>2]|0)!=0){o=k[h>>2]|0;u=p;return o|0}n=sr(k[e>>2]|0,o)|0;k[h>>2]=n;if(k[h>>2]|0){o=k[h>>2]|0;u=p;return o|0}if(!((k[o>>2]|0)!=0|(k[m>>2]|0)!=0)){ch();if((qp(k[e>>2]|0,2)|0)==0?(ym(k[g>>2]|0,k[(k[e>>2]|0)+180>>2]|0,0)|0,(i[(k[e>>2]|0)+4>>0]|0)==0):0)Im(k[e>>2]|0,1)|0;eh();o=k[h>>2]|0;u=p;return o|0}if(!(k[m>>2]|0)){k[c>>2]=2049;o=Ym(k[g>>2]|0,k[(k[e>>2]|0)+180>>2]|0,k[(k[e>>2]|0)+68>>2]|0,k[c>>2]|0,c)|0;k[h>>2]=o}if(!(k[h>>2]|0)){i[d>>0]=0;o=kn(k[(k[e>>2]|0)+68>>2]|0,d,1,0,0)|0;k[h>>2]=o;k[h>>2]=(k[h>>2]|0)==522?0:o;if(!(k[m>>2]|0))pm(k[(k[e>>2]|0)+68>>2]|0);k[k[f>>2]>>2]=(l[d>>0]|0)!=0&1;o=k[h>>2]|0;u=p;return o|0}else{if((k[h>>2]|0)!=14){o=k[h>>2]|0;u=p;return o|0}k[k[f>>2]>>2]=1;k[h>>2]=0;o=k[h>>2]|0;u=p;return o|0}return 0}function sr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+24|0;d=i+20|0;e=i+16|0;f=i+12|0;g=i;h=i+8|0;k[d>>2]=a;k[e>>2]=b;b=wr(k[(k[d>>2]|0)+216>>2]|0)|0;k[f>>2]=b;do if((k[f>>2]|0)==0?k[k[(k[d>>2]|0)+64>>2]>>2]|0:0){b=g;k[b>>2]=0;k[b+4>>2]=0;b=Hl(k[(k[d>>2]|0)+64>>2]|0,g)|0;k[h>>2]=b;if(!(k[h>>2]|0)){h=g;g=k[(k[d>>2]|0)+160>>2]|0;g=i0(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;g=h0(g|0,M|0,1,0)|0;h=k[(k[d>>2]|0)+160>>2]|0;h=x0(g|0,M|0,h|0,((h|0)<0)<<31>>31|0)|0;k[f>>2]=h;break}k[c>>2]=k[h>>2];h=k[c>>2]|0;u=i;return h|0}while(0);if((k[f>>2]|0)>>>0>(k[(k[d>>2]|0)+164>>2]|0)>>>0)k[(k[d>>2]|0)+164>>2]=k[f>>2];k[k[e>>2]>>2]=k[f>>2];k[c>>2]=0;h=k[c>>2]|0;u=i;return h|0}function tr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;c=h;k[e>>2]=a;k[f>>2]=0;do if(!(i[(k[e>>2]|0)+13>>0]|0)){b=sr(k[e>>2]|0,c)|0;k[f>>2]=b;if(k[f>>2]|0){k[d>>2]=k[f>>2];g=k[d>>2]|0;u=h;return g|0}a=k[k[e>>2]>>2]|0;b=k[(k[e>>2]|0)+220>>2]|0;if(!(k[c>>2]|0)){c=ym(a,b,0)|0;k[f>>2]=c;k[f>>2]=(k[f>>2]|0)==5898?0:c;k[g>>2]=0}else{c=an(a,b,0,g)|0;k[f>>2]=c}if(!(k[f>>2]|0)){a=k[e>>2]|0;if(k[g>>2]|0){g=mr(a,0)|0;k[f>>2]=g;break}if((l[a+5>>0]|0)==5)i[(k[e>>2]|0)+5>>0]=0}}while(0);k[d>>2]=k[f>>2];g=k[d>>2]|0;u=h;return g|0}function ur(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+8|0;c=d+4|0;e=d;k[b>>2]=a;k[e>>2]=0;Do(k[(k[b>>2]|0)+216>>2]|0);a=vr(k[(k[b>>2]|0)+216>>2]|0,e)|0;k[c>>2]=a;if(!((k[c>>2]|0)!=0|(k[e>>2]|0)!=0)){e=k[c>>2]|0;u=d;return e|0}Jl(k[b>>2]|0);e=k[c>>2]|0;u=d;return e|0}function vr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;do{h=k[c>>2]|0;a=k[d>>2]|0;b=(k[f>>2]|0)+1|0;k[f>>2]=b;b=xp(h,a,0,b)|0;k[e>>2]=b}while((k[e>>2]|0)==-1);u=g;return k[e>>2]|0}function wr(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if(k[c>>2]|0?(j[(k[c>>2]|0)+40>>1]|0)>=0:0){k[b>>2]=k[(k[c>>2]|0)+52+20>>2];c=k[b>>2]|0;u=d;return c|0}k[b>>2]=0;c=k[b>>2]|0;u=d;return c|0}function xr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Wb[k[(k[k[e>>2]>>2]|0)+36>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function yr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;c=g+16|0;d=g+12|0;b=g+8|0;e=g+4|0;f=g;k[d>>2]=a;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}k[e>>2]=k[(k[d>>2]|0)+20>>2];Dd(k[(k[e>>2]|0)+12>>2]|0);ol(k[(k[d>>2]|0)+24>>2]|0);if(k[k[d>>2]>>2]|0)Dd(k[(k[k[d>>2]>>2]|0)+12>>2]|0);if(k[k[d>>2]>>2]|0){a=(k[(k[d>>2]|0)+24>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+-1}if(k[(k[d>>2]|0)+40>>2]|0){a=cr(Ak(k[(k[d>>2]|0)+24>>2]|0)|0)|0;k[b>>2]=a;while(1){if((k[k[b>>2]>>2]|0)==(k[d>>2]|0))break;k[b>>2]=(k[k[b>>2]>>2]|0)+44}k[k[b>>2]>>2]=k[(k[d>>2]|0)+44>>2]}zr(k[(k[d>>2]|0)+4>>2]|0,0,0)|0;if((k[(k[d>>2]|0)+28>>2]|0)==101)a=0;else a=k[(k[d>>2]|0)+28>>2]|0;k[f>>2]=a;if(k[k[d>>2]>>2]|0){wl(k[k[d>>2]>>2]|0,k[f>>2]|0);Ar(k[k[d>>2]>>2]|0)}ll(k[(k[d>>2]|0)+24>>2]|0);if(k[k[d>>2]>>2]|0)ie(k[d>>2]|0);Ar(k[e>>2]|0);k[c>>2]=k[f>>2];f=k[c>>2]|0;u=g;return f|0}function zr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;d=p+4|0;e=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[m>>2]=k[(k[f>>2]|0)+4>>2];ol(k[f>>2]|0);if(!(k[g>>2]|0)){c=iq(k[m>>2]|0,0,0)|0;k[g>>2]=c;k[j>>2]=c;if(k[j>>2]|0)k[h>>2]=0}else k[j>>2]=0;if(k[g>>2]|0?(h=Or(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0,k[o>>2]=h,k[o>>2]|0):0)k[j>>2]=k[o>>2];if((l[(k[f>>2]|0)+8>>0]|0|0)!=2){o=k[f>>2]|0;Qq(o);o=k[f>>2]|0;ll(o);o=k[j>>2]|0;u=p;return o|0}o=rm(k[k[m>>2]>>2]|0)|0;k[d>>2]=o;if(k[d>>2]|0)k[j>>2]=k[d>>2];if(!(nq(k[m>>2]|0,1,n,0)|0)){o=dm((k[(k[n>>2]|0)+56>>2]|0)+28|0)|0;k[e>>2]=o;if(!(k[e>>2]|0))_p(k[k[m>>2]>>2]|0,e);k[(k[m>>2]|0)+44>>2]=k[e>>2];mq(k[n>>2]|0)}i[(k[m>>2]|0)+20>>0]=1;Pq(k[m>>2]|0);o=k[f>>2]|0;Qq(o);o=k[f>>2]|0;ll(o);o=k[j>>2]|0;u=p;return o|0}function Ar(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;b=l+28|0;c=l+24|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[b>>2]=a;if((k[(k[b>>2]|0)+84>>2]|0)==1691352191?(Br(k[b>>2]|0)|0)==0:0){Cr(k[b>>2]|0,0);Dr(k[b>>2]|0);k[d>>2]=0;while(1){a=k[(k[b>>2]|0)+16>>2]|0;if((k[d>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=a+(k[d>>2]<<4);if(k[(k[e>>2]|0)+4>>2]|0?(Er(k[(k[e>>2]|0)+4>>2]|0)|0,k[(k[e>>2]|0)+4>>2]=0,(k[d>>2]|0)!=1):0)k[(k[e>>2]|0)+12>>2]=0;k[d>>2]=(k[d>>2]|0)+1}if(k[a+16+12>>2]|0)Xq(k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0);Yq(k[b>>2]|0);Zq(k[b>>2]|0);k[c>>2]=k[(k[b>>2]|0)+348+8>>2];while(1){if(!(k[c>>2]|0))break;k[g>>2]=k[(k[c>>2]|0)+8>>2];do{Fr(k[b>>2]|0,k[g>>2]|0);k[f>>2]=k[(k[g>>2]|0)+8>>2];fe(k[b>>2]|0,k[g>>2]|0);k[g>>2]=k[f>>2]}while((k[g>>2]|0)!=0);k[c>>2]=k[k[c>>2]>>2]}jl((k[b>>2]|0)+348|0);k[c>>2]=k[(k[b>>2]|0)+364+8>>2];while(1){if(!(k[c>>2]|0))break;k[h>>2]=k[(k[c>>2]|0)+8>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=3)break;if(k[(k[h>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]|0)Ob[k[(k[h>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]&255](k[(k[h>>2]|0)+((k[d>>2]|0)*20|0)+8>>2]|0);k[d>>2]=(k[d>>2]|0)+1}fe(k[b>>2]|0,k[h>>2]|0);k[c>>2]=k[k[c>>2]>>2]}jl((k[b>>2]|0)+364|0);k[c>>2]=k[(k[b>>2]|0)+320+8>>2];while(1){if(!(k[c>>2]|0))break;k[j>>2]=k[(k[c>>2]|0)+8>>2];if(k[(k[j>>2]|0)+12>>2]|0)Ob[k[(k[j>>2]|0)+12>>2]&255](k[(k[j>>2]|0)+8>>2]|0);Gr(k[b>>2]|0,k[j>>2]|0);fe(k[b>>2]|0,k[j>>2]|0);k[c>>2]=k[k[c>>2]>>2]}jl((k[b>>2]|0)+320|0);wl(k[b>>2]|0,0);Lk(k[(k[b>>2]|0)+244>>2]|0);k[(k[b>>2]|0)+84>>2]=-1254786768;fe(k[b>>2]|0,k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0);Ed(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+84>>2]=-1623446221;ye(k[(k[b>>2]|0)+12>>2]|0);if(i[(k[b>>2]|0)+256+6>>0]|0)ie(k[(k[b>>2]|0)+256+32>>2]|0);ie(k[b>>2]|0);u=l;return}Ed(k[(k[b>>2]|0)+12>>2]|0);u=l;return}function Br(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;if(k[(k[b>>2]|0)+4>>2]|0){k[e>>2]=1;e=k[e>>2]|0;u=f;return e|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0)){a=9;break}k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0?Nr(k[d>>2]|0)|0:0){a=7;break}k[c>>2]=(k[c>>2]|0)+1}if((a|0)==7){k[e>>2]=1;e=k[e>>2]|0;u=f;return e|0}else if((a|0)==9){k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}return 0}function Cr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;ch();zk(k[c>>2]|0);if(k[(k[c>>2]|0)+24>>2]&2|0)a=(l[(k[c>>2]|0)+148+5>>0]|0)==0;else a=0;k[g>>2]=a&1;k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;k[h>>2]=k[(k[a+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[h>>2]|0){if(Kr(k[h>>2]|0)|0)k[f>>2]=1;zr(k[h>>2]|0,k[d>>2]|0,((k[g>>2]|0)!=0^1)&1)|0}k[e>>2]=(k[e>>2]|0)+1}Lr(a)|0;eh();if(k[(k[c>>2]|0)+24>>2]&2|0?(l[(k[c>>2]|0)+148+5>>0]|0)==0:0){_q(k[c>>2]|0);Xp(k[c>>2]|0)}Bk(k[c>>2]|0);h=(k[c>>2]|0)+440|0;k[h>>2]=0;k[h+4>>2]=0;h=(k[c>>2]|0)+448|0;k[h>>2]=0;k[h+4>>2]=0;h=(k[c>>2]|0)+24|0;k[h>>2]=k[h>>2]&-33554433;if(!(k[(k[c>>2]|0)+212>>2]|0)){u=j;return}if((k[f>>2]|0)==0?i[(k[c>>2]|0)+67>>0]|0:0){u=j;return}Ob[k[(k[c>>2]|0)+212>>2]&255](k[(k[c>>2]|0)+208>>2]|0);u=j;return}function Dr(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+424>>2]|0))break;k[c>>2]=k[a+424>>2];k[(k[b>>2]|0)+424>>2]=k[(k[c>>2]|0)+24>>2];fe(k[b>>2]|0,k[c>>2]|0)}k[a+432>>2]=0;k[(k[b>>2]|0)+436>>2]=0;i[(k[b>>2]|0)+75>>0]=0;u=d;return}function Er(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];ol(k[b>>2]|0);k[d>>2]=k[(k[c>>2]|0)+8>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+8>>2];if((k[k[e>>2]>>2]|0)!=(k[b>>2]|0))continue;Hr(k[e>>2]|0)|0}zr(k[b>>2]|0,0,0)|0;ll(k[b>>2]|0);if(!(i[(k[b>>2]|0)+9>>0]|0?!(Ir(k[c>>2]|0)|0):0)){em(k[k[c>>2]>>2]|0)|0;if(k[(k[c>>2]|0)+52>>2]|0?k[(k[c>>2]|0)+48>>2]|0:0)Ob[k[(k[c>>2]|0)+52>>2]&255](k[(k[c>>2]|0)+48>>2]|0);fe(0,k[(k[c>>2]|0)+48>>2]|0);El(k[c>>2]|0);ie(k[c>>2]|0)}if(k[(k[b>>2]|0)+28>>2]|0)k[(k[(k[b>>2]|0)+28>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];if(!(k[(k[b>>2]|0)+24>>2]|0)){e=k[b>>2]|0;ie(e);u=f;return 0}k[(k[(k[b>>2]|0)+24>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];e=k[b>>2]|0;ie(e);u=f;return 0}function Fr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[f>>2]|0)+24>>2];if(!(k[d>>2]|0)){u=e;return}f=k[d>>2]|0;k[f>>2]=(k[f>>2]|0)+-1;if(k[k[d>>2]>>2]|0){u=e;return}Ob[k[(k[d>>2]|0)+4>>2]&255](k[(k[d>>2]|0)+8>>2]|0);fe(k[c>>2]|0,k[d>>2]|0);u=e;return}function Gr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[e>>2]|0)){u=f;return}b=(k[e>>2]|0)+42|0;i[b>>0]=l[b>>0]|0|2;Dk(k[c>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+16>>2]=0;u=f;return}function Hr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];if(!(k[c>>2]|0)){u=g;return 0}k[e>>2]=k[(k[b>>2]|0)+4>>2];ol(k[c>>2]|0);Jr(k[b>>2]|0);a:do if((k[(k[e>>2]|0)+8>>2]|0)==(k[b>>2]|0))k[(k[e>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2];else{k[f>>2]=k[(k[e>>2]|0)+8>>2];while(1){if((k[(k[f>>2]|0)+8>>2]|0)==(k[b>>2]|0))break;k[f>>2]=k[(k[f>>2]|0)+8>>2];if(!(k[f>>2]|0))break a}k[(k[f>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2]}while(0);k[d>>2]=0;while(1){if((k[d>>2]|0)>(i[(k[b>>2]|0)+68>>0]|0))break;mq(k[(k[b>>2]|0)+120+(k[d>>2]<<2)>>2]|0);k[d>>2]=(k[d>>2]|0)+1}Tq(k[e>>2]|0);ie(k[(k[b>>2]|0)+12>>2]|0);ll(k[c>>2]|0);u=g;return 0}function Ir(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[f>>2]=0;b=se(2)|0;k[d>>2]=b;Dd(k[d>>2]|0);b=(k[c>>2]|0)+64|0;k[b>>2]=(k[b>>2]|0)+-1;if((k[(k[c>>2]|0)+64>>2]|0)>0){e=k[d>>2]|0;Ed(e);f=k[f>>2]|0;u=g;return f|0}if((k[13786]|0)!=(k[c>>2]|0)){k[e>>2]=k[13786];while(1){if(k[e>>2]|0)b=(k[(k[e>>2]|0)+68>>2]|0)!=(k[c>>2]|0);else b=0;a=k[e>>2]|0;if(!b)break;k[e>>2]=k[a+68>>2]}if(a|0)k[(k[e>>2]|0)+68>>2]=k[(k[c>>2]|0)+68>>2]}else k[13786]=k[(k[c>>2]|0)+68>>2];ye(k[(k[c>>2]|0)+56>>2]|0);k[f>>2]=1;e=k[d>>2]|0;Ed(e);f=k[f>>2]|0;u=g;return f|0}function Jr(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ie(k[(k[c>>2]|0)+48>>2]|0);k[(k[c>>2]|0)+48>>2]=0;i[(k[c>>2]|0)+66>>0]=0;u=b;return}function Kr(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){b=0;b=b&1;u=c;return b|0}b=(l[(k[b>>2]|0)+8>>0]|0|0)==2;b=b&1;u=c;return b|0}function Lr(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Mr(k[c>>2]|0,68);u=b;return 0}function Mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[c>>2]|0)+340>>2]|0)){u=j;return}k[f>>2]=k[(k[c>>2]|0)+340>>2];k[(k[c>>2]|0)+340>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+316>>2]|0))break;k[g>>2]=k[(k[f>>2]|0)+(k[e>>2]<<2)>>2];k[h>>2]=k[(k[g>>2]|0)+8>>2];if(k[h>>2]|0?(k[i>>2]=k[(k[k[h>>2]>>2]|0)+(k[d>>2]|0)>>2],k[i>>2]|0):0)Rb[k[i>>2]&255](k[h>>2]|0)|0;k[(k[g>>2]|0)+20>>2]=0;Nk(k[g>>2]|0);k[e>>2]=(k[e>>2]|0)+1}fe(k[c>>2]|0,k[f>>2]|0);k[(k[c>>2]|0)+316>>2]=0;u=j;return}function Nr(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (k[(k[b>>2]|0)+16>>2]|0)!=0|0}function Or(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n+4|0;j=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;if(!(k[d>>2]|0)){m=k[h>>2]|0;u=n;return m|0}ol(k[d>>2]|0);k[g>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(k[g>>2]|0))break;do if(k[f>>2]|0?(l[(k[g>>2]|0)+64>>0]&1|0)==0:0){if((l[(k[g>>2]|0)+66>>0]|0)!=1?(l[(k[g>>2]|0)+66>>0]|0)!=2:0)break;c=Dq(k[g>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){m=9;break a}}else m=10;while(0);if((m|0)==10){m=0;Jr(k[g>>2]|0);i[(k[g>>2]|0)+66>>0]=4;k[(k[g>>2]|0)+60>>2]=k[e>>2]}k[j>>2]=0;while(1){a=k[g>>2]|0;if((k[j>>2]|0)>(i[(k[g>>2]|0)+68>>0]|0))break;mq(k[a+120+(k[j>>2]<<2)>>2]|0);k[(k[g>>2]|0)+120+(k[j>>2]<<2)>>2]=0;k[j>>2]=(k[j>>2]|0)+1}k[g>>2]=k[a+8>>2]}if((m|0)==9)Or(k[d>>2]|0,k[h>>2]|0,0)|0;ll(k[d>>2]|0);m=k[h>>2]|0;u=n;return m|0}function Pr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;if(!(k[c>>2]|0))k[d>>2]=0;else{k[e>>2]=k[c>>2];k[f>>2]=k[k[e>>2]>>2];if(Qr(k[e>>2]|0)|0){f=Ad(75223)|0;k[b>>2]=f;f=k[b>>2]|0;u=g;return f|0}Dd(k[(k[f>>2]|0)+12>>2]|0);c=(k[e>>2]|0)+128|0;a=k[c+4>>2]|0;if((a|0)>0|(a|0)==0&(k[c>>2]|0)>>>0>0)Rr(k[f>>2]|0,k[e>>2]|0);e=Sr(k[e>>2]|0)|0;k[d>>2]=e;e=Tr(k[f>>2]|0,k[d>>2]|0)|0;k[d>>2]=e;Ar(k[f>>2]|0)}k[b>>2]=k[d>>2];f=k[b>>2]|0;u=g;return f|0}function Qr(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;k[d>>2]=a;if(!(k[k[d>>2]>>2]|0)){Hd(21,25132,c);k[b>>2]=1;d=k[b>>2]|0;u=c;return d|0}else{k[b>>2]=0;d=k[b>>2]|0;u=c;return d|0}return 0}function Rr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+32|0;c=f+20|0;d=f+16|0;g=f+8|0;e=f;k[c>>2]=a;k[d>>2]=b;Zj(k[k[c>>2]>>2]|0,g)|0;b=g;a=(k[d>>2]|0)+128|0;a=h0(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;a=B0(a|0,M|0,1e6,0)|0;b=e;k[b>>2]=a;k[b+4>>2]=M;if(k[(k[c>>2]|0)+192>>2]|0){g=e;Yb[k[(k[c>>2]|0)+192>>2]&255](k[(k[c>>2]|0)+196>>2]|0,k[(k[d>>2]|0)+176>>2]|0,k[g>>2]|0,k[g+4>>2]|0)}if(!((l[(k[c>>2]|0)+76>>0]|0)&2)){g=k[d>>2]|0;g=g+128|0;e=g;k[e>>2]=0;g=g+4|0;k[g>>2]=0;u=f;return}Ub[k[(k[c>>2]|0)+184>>2]&255](2,k[(k[c>>2]|0)+188>>2]|0,k[d>>2]|0,e)|0;g=k[d>>2]|0;g=g+128|0;e=g;k[e>>2]=0;g=g+4|0;k[g>>2]=0;u=f;return}function Sr(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!((k[(k[b>>2]|0)+20>>2]|0)!=770837923?(k[(k[b>>2]|0)+20>>2]|0)!=832317811:0)){a=Wr(k[b>>2]|0)|0;k[c>>2]=a}Xr(k[b>>2]|0);u=d;return k[c>>2]|0}function Tr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)==3082?1:(l[(k[d>>2]|0)+69>>0]|0|0)!=0){e=Ur(k[d>>2]|0)|0;k[c>>2]=e;e=k[c>>2]|0;u=f;return e|0}else{k[c>>2]=k[e>>2]&k[(k[d>>2]|0)+56>>2];e=k[c>>2]|0;u=f;return e|0}return 0}function Ur(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Vr(k[c>>2]|0);wl(k[c>>2]|0,7);u=b;return 7}function Vr(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(l[(k[b>>2]|0)+69>>0]|0)){u=c;return}if(k[(k[b>>2]|0)+168>>2]|0){u=c;return}i[(k[b>>2]|0)+69>>0]=0;k[(k[b>>2]|0)+248>>2]=0;b=(k[b>>2]|0)+256|0;k[b>>2]=(k[b>>2]|0)+-1;u=c;return}function Wr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=u;u=u+16|0;d=e;b=e+8|0;c=e+4|0;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];Yr(k[b>>2]|0)|0;a=k[b>>2]|0;if((k[(k[b>>2]|0)+36>>2]|0)>=0){Zr(a)|0;fe(k[c>>2]|0,k[(k[b>>2]|0)+108>>2]|0);k[(k[b>>2]|0)+108>>2]=0;if((m[(k[b>>2]|0)+144>>1]|0)>>>5&1|0){d=(k[b>>2]|0)+144|0;j[d>>1]=j[d>>1]&-2|1}}else if(k[a+40>>2]|0?j[(k[b>>2]|0)+144>>1]&1|0:0){g=k[c>>2]|0;f=k[(k[b>>2]|0)+40>>2]|0;a=k[(k[b>>2]|0)+108>>2]|0?21240:0;k[d>>2]=k[(k[b>>2]|0)+108>>2];vl(g,f,a,d);fe(k[c>>2]|0,k[(k[b>>2]|0)+108>>2]|0);k[(k[b>>2]|0)+108>>2]=0}_r(k[b>>2]|0);g=(k[b>>2]|0)+56|0;k[g>>2]=0;k[g+4>>2]=0;k[(k[b>>2]|0)+20>>2]=1224384374;u=e;return k[(k[b>>2]|0)+40>>2]&k[(k[c>>2]|0)+56>>2]|0}function Xr(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}k[c>>2]=k[k[b>>2]>>2];Ek(k[c>>2]|0,k[b>>2]|0);a=k[(k[b>>2]|0)+8>>2]|0;if(k[(k[b>>2]|0)+4>>2]|0)k[(k[(k[b>>2]|0)+4>>2]|0)+8>>2]=a;else k[(k[c>>2]|0)+4>>2]=a;if(k[(k[b>>2]|0)+8>>2]|0)k[(k[(k[b>>2]|0)+8>>2]|0)+4>>2]=k[(k[b>>2]|0)+4>>2];k[(k[b>>2]|0)+20>>2]=1443283912;k[k[b>>2]>>2]=0;fe(k[c>>2]|0,k[b>>2]|0);u=d;return}function Yr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0;n=u;u=u+32|0;f=n+24|0;g=n+20|0;b=n+16|0;h=n+12|0;c=n+8|0;j=n+4|0;d=n;k[g>>2]=a;k[h>>2]=k[k[g>>2]>>2];if(i[(k[h>>2]|0)+69>>0]|0)k[(k[g>>2]|0)+40>>2]=7;$r(k[g>>2]|0);if((k[(k[g>>2]|0)+20>>2]|0)!=770837923){k[f>>2]=0;j=k[f>>2]|0;u=n;return j|0}if((k[(k[g>>2]|0)+36>>2]|0)>=0?(m[(k[g>>2]|0)+144>>1]|0)>>>8&1|0:0){k[j>>2]=0;as(k[g>>2]|0);k[c>>2]=k[(k[g>>2]|0)+40>>2]&255;if((k[c>>2]|0)==7|(k[c>>2]|0)==10|(k[c>>2]|0)==9)a=1;else a=(k[c>>2]|0)==13;k[d>>2]=a&1;do if(k[d>>2]|0?((k[c>>2]|0)!=9?1:((m[(k[g>>2]|0)+144>>1]|0)>>>7&1|0)==0):0){if((k[c>>2]|0)==7|(k[c>>2]|0)==13?(m[(k[g>>2]|0)+144>>1]|0)>>>6&1|0:0){k[j>>2]=2;break}Cr(k[h>>2]|0,516);Dr(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+44>>2]=0}while(0);if(!(k[(k[g>>2]|0)+40>>2]|0))bs(k[g>>2]|0,0)|0;if((k[(k[h>>2]|0)+316>>2]|0)>0?(k[(k[h>>2]|0)+340>>2]|0)==0:0)e=36;else if(l[(k[h>>2]|0)+67>>0]|0?(k[(k[h>>2]|0)+164>>2]|0)==(((m[(k[g>>2]|0)+144>>1]|0)>>>7&1|0)==0|0):0){if((k[(k[g>>2]|0)+40>>2]|0)!=0?(k[d>>2]|0?1:(l[(k[g>>2]|0)+142>>0]|0)!=3):0){Cr(k[h>>2]|0,0);k[(k[g>>2]|0)+44>>2]=0}else e=23;do if((e|0)==23){d=bs(k[g>>2]|0,1)|0;k[b>>2]=d;do if(k[b>>2]|0){if(!((m[(k[g>>2]|0)+144>>1]|0)>>>7&1)){k[b>>2]=787;break}cs(k[g>>2]|0);k[f>>2]=1;j=k[f>>2]|0;u=n;return j|0}else{d=ds(k[h>>2]|0,k[g>>2]|0)|0;k[b>>2]=d}while(0);if((k[b>>2]|0)==5?(m[(k[g>>2]|0)+144>>1]|0)>>>7&1|0:0){cs(k[g>>2]|0);k[f>>2]=5;j=k[f>>2]|0;u=n;return j|0}if(k[b>>2]|0){k[(k[g>>2]|0)+40>>2]=k[b>>2];Cr(k[h>>2]|0,0);k[(k[g>>2]|0)+44>>2]=0;break}else{d=(k[h>>2]|0)+440|0;k[d>>2]=0;k[d+4>>2]=0;d=(k[h>>2]|0)+448|0;k[d>>2]=0;k[d+4>>2]=0;d=(k[h>>2]|0)+24|0;k[d>>2]=k[d>>2]&-33554433;es(k[h>>2]|0);break}}while(0);k[(k[h>>2]|0)+436>>2]=0}else e=36;do if((e|0)==36?(k[j>>2]|0)==0:0){if(k[(k[g>>2]|0)+40>>2]|0?(l[(k[g>>2]|0)+142>>0]|0)!=3:0)if((l[(k[g>>2]|0)+142>>0]|0)==2){k[j>>2]=2;break}else{Cr(k[h>>2]|0,516);Dr(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+44>>2]=0;break}k[j>>2]=1}while(0);if(k[j>>2]|0?(e=fs(k[g>>2]|0,k[j>>2]|0)|0,k[b>>2]=e,k[b>>2]|0):0){if(!((k[(k[g>>2]|0)+40>>2]|0)!=0?(k[(k[g>>2]|0)+40>>2]&255|0)!=19:0)){k[(k[g>>2]|0)+40>>2]=k[b>>2];fe(k[h>>2]|0,k[(k[g>>2]|0)+108>>2]|0);k[(k[g>>2]|0)+108>>2]=0}Cr(k[h>>2]|0,516);Dr(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+44>>2]=0}if((m[(k[g>>2]|0)+144>>1]|0)>>>4&1|0){a=k[h>>2]|0;if((k[j>>2]|0)!=2)gs(a,k[(k[g>>2]|0)+44>>2]|0);else gs(a,0);k[(k[g>>2]|0)+44>>2]=0}cs(k[g>>2]|0)}if((k[(k[g>>2]|0)+36>>2]|0)>=0){j=(k[h>>2]|0)+156|0;k[j>>2]=(k[j>>2]|0)+-1;if(!((m[(k[g>>2]|0)+144>>1]|0)>>>7&1)){j=(k[h>>2]|0)+164|0;k[j>>2]=(k[j>>2]|0)+-1}if((m[(k[g>>2]|0)+144>>1]|0)>>>8&1|0){j=(k[h>>2]|0)+160|0;k[j>>2]=(k[j>>2]|0)+-1}}k[(k[g>>2]|0)+20>>2]=832317811;if(i[(k[h>>2]|0)+69>>0]|0)k[(k[g>>2]|0)+40>>2]=7;k[f>>2]=(k[(k[g>>2]|0)+40>>2]|0)==5?5:0;j=k[f>>2]|0;u=n;return j|0}function Zr(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[b>>2]|0)+40>>2];a=k[c>>2]|0;if(!(k[(k[b>>2]|0)+108>>2]|0)){wl(a,k[d>>2]|0);d=k[d>>2]|0;u=e;return d|0}a=a+70|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;ch();if(!(k[(k[c>>2]|0)+244>>2]|0)){a=Np(k[c>>2]|0)|0;k[(k[c>>2]|0)+244>>2]=a}Op(k[(k[c>>2]|0)+244>>2]|0,-1,k[(k[b>>2]|0)+108>>2]|0,1,-1);eh();b=(k[c>>2]|0)+70|0;i[b>>0]=(i[b>>0]|0)+-1<<24>>24;k[(k[c>>2]|0)+52>>2]=k[d>>2];d=k[d>>2]|0;u=e;return d|0}function _r(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];fe(k[d>>2]|0,k[(k[c>>2]|0)+108>>2]|0);k[(k[c>>2]|0)+108>>2]=0;k[(k[c>>2]|0)+104>>2]=0;u=b;return}function $r(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e+8|0;b=e+4|0;d=e;k[c>>2]=a;if(k[(k[c>>2]|0)+184>>2]|0){k[b>>2]=k[(k[c>>2]|0)+184>>2];while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+4>>2]|0))break;k[b>>2]=k[a+4>>2]}ts(a)|0;k[(k[c>>2]|0)+184>>2]=0;k[(k[c>>2]|0)+192>>2]=0}us(k[c>>2]|0);if(k[(k[c>>2]|0)+92>>2]|0)Fk(k[(k[c>>2]|0)+92>>2]|0,k[(k[c>>2]|0)+24>>2]|0);while(1){a=k[c>>2]|0;if(!(k[(k[c>>2]|0)+188>>2]|0))break;k[d>>2]=k[a+188>>2];k[(k[c>>2]|0)+188>>2]=k[(k[d>>2]|0)+4>>2];vs(k[d>>2]|0)}if(!(k[a+204>>2]|0)){u=e;return}ws(k[k[c>>2]>>2]|0,(k[c>>2]|0)+204|0,-1,0);u=e;return}function as(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;if(!(k[(k[b>>2]|0)+152>>2]|0)){u=g;return}k[d>>2]=k[k[b>>2]>>2];k[e>>2]=k[(k[d>>2]|0)+16>>2];k[f>>2]=k[(k[d>>2]|0)+20>>2];k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[f>>2]|0))break;if(((k[c>>2]|0)!=1?k[(k[b>>2]|0)+152>>2]&1<>2]|0:0)?k[(k[e>>2]|0)+(k[c>>2]<<4)+4>>2]|0:0)ol(k[(k[e>>2]|0)+(k[c>>2]<<4)+4>>2]|0);k[c>>2]=(k[c>>2]|0)+1}u=g;return}function bs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;g=j;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];if(!(k[e>>2]|0?(b=(k[f>>2]|0)+440|0,f=(k[f>>2]|0)+448|0,f=i0(k[b>>2]|0,k[b+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0,b=M,(b|0)>0|(b|0)==0&f>>>0>0):0))h=3;do if((h|0)==3){if((k[e>>2]|0)==0?(h=(k[d>>2]|0)+64|0,f=k[h+4>>2]|0,(f|0)>0|(f|0)==0&(k[h>>2]|0)>>>0>0):0)break;k[c>>2]=0;h=k[c>>2]|0;u=j;return h|0}while(0);k[(k[d>>2]|0)+40>>2]=787;i[(k[d>>2]|0)+142>>0]=2;ss(k[d>>2]|0,25102,g);k[c>>2]=1;h=k[c>>2]|0;u=j;return h|0}function cs(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+152>>2]|0)){u=c;return}rs(k[b>>2]|0);u=c;return}function ds(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=u;u=u+144|0;D=H+32|0;F=H+24|0;E=H+16|0;C=H+8|0;o=H+128|0;w=H+124|0;I=H+120|0;x=H+116|0;y=H+112|0;z=H+108|0;A=H+104|0;B=H+100|0;c=H+96|0;d=H+92|0;e=H+88|0;f=H+84|0;g=H+80|0;h=H+76|0;i=H+72|0;j=H;m=H+68|0;n=H+64|0;p=H+60|0;q=H+56|0;r=H+52|0;s=H+48|0;t=H+44|0;v=H+40|0;k[w>>2]=a;k[I>>2]=b;k[y>>2]=0;k[z>>2]=0;k[A>>2]=0;b=js(k[w>>2]|0,k[I>>2]|0)|0;k[z>>2]=b;k[x>>2]=0;while(1){if(k[z>>2]|0)break;if((k[x>>2]|0)>=(k[(k[w>>2]|0)+20>>2]|0))break;k[B>>2]=k[(k[(k[w>>2]|0)+16>>2]|0)+(k[x>>2]<<4)+4>>2];if(Kr(k[B>>2]|0)|0){k[A>>2]=1;ol(k[B>>2]|0);I=Ak(k[B>>2]|0)|0;k[c>>2]=I;if((l[(k[(k[w>>2]|0)+16>>2]|0)+(k[x>>2]<<4)+8>>0]|0|0)!=1?(I=25038+(Tp(k[c>>2]|0)|0)|0,l[I>>0]|0|0):0)k[y>>2]=(k[y>>2]|0)+1;I=np(k[c>>2]|0)|0;k[z>>2]=I;ll(k[B>>2]|0)}k[x>>2]=(k[x>>2]|0)+1}if(k[z>>2]|0){k[o>>2]=k[z>>2];I=k[o>>2]|0;u=H;return I|0}if((k[A>>2]|0?k[(k[w>>2]|0)+204>>2]|0:0)?(I=Rb[k[(k[w>>2]|0)+204>>2]&255](k[(k[w>>2]|0)+200>>2]|0)|0,k[z>>2]=I,k[z>>2]|0):0){k[o>>2]=531;I=k[o>>2]|0;u=H;return I|0}I=0==(wd(ks(k[(k[(k[w>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(I|(k[y>>2]|0)<=1){k[x>>2]=0;while(1){if(k[z>>2]|0)break;if((k[x>>2]|0)>=(k[(k[w>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[w>>2]|0)+16>>2]|0)+(k[x>>2]<<4)+4>>2];if(k[d>>2]|0){I=dq(k[d>>2]|0,0)|0;k[z>>2]=I}k[x>>2]=(k[x>>2]|0)+1}k[x>>2]=0;while(1){if(k[z>>2]|0)break;if((k[x>>2]|0)>=(k[(k[w>>2]|0)+20>>2]|0))break;k[e>>2]=k[(k[(k[w>>2]|0)+16>>2]|0)+(k[x>>2]<<4)+4>>2];if(k[e>>2]|0){I=cq(k[e>>2]|0,0)|0;k[z>>2]=I}k[x>>2]=(k[x>>2]|0)+1}if(!(k[z>>2]|0))ls(k[w>>2]|0)|0}else{k[f>>2]=k[k[w>>2]>>2];k[g>>2]=0;I=ks(k[(k[(k[w>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[h>>2]=I;k[i>>2]=0;I=j;k[I>>2]=0;k[I+4>>2]=0;k[n>>2]=0;I=wd(k[h>>2]|0)|0;k[p>>2]=I;I=k[w>>2]|0;k[C>>2]=k[h>>2];I=ek(I,25044,C)|0;k[g>>2]=I;if(!(k[g>>2]|0)){k[o>>2]=7;I=k[o>>2]|0;u=H;return I|0}do{if(k[n>>2]|0){if((k[n>>2]|0)>100){G=35;break}if((k[n>>2]|0)==1){k[F>>2]=k[g>>2];Hd(13,25074,F)}}k[n>>2]=(k[n>>2]|0)+1;Cf(4,q);I=(k[g>>2]|0)+(k[p>>2]|0)|0;C=k[q>>2]&255;k[D>>2]=(k[q>>2]|0)>>>8&16777215;k[D+4>>2]=C;pf(13,I,25089,D)|0;I=an(k[f>>2]|0,k[g>>2]|0,0,m)|0;k[z>>2]=I}while((k[z>>2]|0)==0?(k[m>>2]|0)!=0:0);if((G|0)==35){k[E>>2]=k[g>>2];Hd(13,25060,E);ym(k[f>>2]|0,k[g>>2]|0,0)|0}if(!(k[z>>2]|0)){I=ms(k[f>>2]|0,k[g>>2]|0,i,16406,0)|0;k[z>>2]=I}if(k[z>>2]|0){fe(k[w>>2]|0,k[g>>2]|0);k[o>>2]=k[z>>2];I=k[o>>2]|0;u=H;return I|0}k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[w>>2]|0)+20>>2]|0))break;k[r>>2]=k[(k[(k[w>>2]|0)+16>>2]|0)+(k[x>>2]<<4)+4>>2];if((Kr(k[r>>2]|0)|0?(I=ns(k[r>>2]|0)|0,k[s>>2]=I,k[s>>2]|0):0)?(D=k[i>>2]|0,E=k[s>>2]|0,I=(wd(k[s>>2]|0)|0)+1|0,F=j,F=Nm(D,E,I,k[F>>2]|0,k[F+4>>2]|0)|0,k[z>>2]=F,F=(wd(k[s>>2]|0)|0)+1|0,I=j,F=i0(k[I>>2]|0,k[I+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0,I=j,k[I>>2]=F,k[I+4>>2]=M,k[z>>2]|0):0){G=48;break}k[x>>2]=(k[x>>2]|0)+1}if((G|0)==48){os(k[i>>2]|0);ym(k[f>>2]|0,k[g>>2]|0,0)|0;fe(k[w>>2]|0,k[g>>2]|0);k[o>>2]=k[z>>2];I=k[o>>2]|0;u=H;return I|0}if(0==((gn(k[i>>2]|0)|0)&1024|0)?(I=wm(k[i>>2]|0,2)|0,k[z>>2]=I,0!=(I|0)):0){os(k[i>>2]|0);ym(k[f>>2]|0,k[g>>2]|0,0)|0;fe(k[w>>2]|0,k[g>>2]|0);k[o>>2]=k[z>>2];I=k[o>>2]|0;u=H;return I|0}k[x>>2]=0;while(1){if(k[z>>2]|0)break;if((k[x>>2]|0)>=(k[(k[w>>2]|0)+20>>2]|0))break;k[t>>2]=k[(k[(k[w>>2]|0)+16>>2]|0)+(k[x>>2]<<4)+4>>2];if(k[t>>2]|0){I=dq(k[t>>2]|0,k[g>>2]|0)|0;k[z>>2]=I}k[x>>2]=(k[x>>2]|0)+1}os(k[i>>2]|0);if(k[z>>2]|0){fe(k[w>>2]|0,k[g>>2]|0);k[o>>2]=k[z>>2];I=k[o>>2]|0;u=H;return I|0}I=ym(k[f>>2]|0,k[g>>2]|0,1)|0;k[z>>2]=I;fe(k[w>>2]|0,k[g>>2]|0);k[g>>2]=0;if(k[z>>2]|0){k[o>>2]=k[z>>2];I=k[o>>2]|0;u=H;return I|0}ch();k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[w>>2]|0)+20>>2]|0))break;k[v>>2]=k[(k[(k[w>>2]|0)+16>>2]|0)+(k[x>>2]<<4)+4>>2];if(k[v>>2]|0)cq(k[v>>2]|0,1)|0;k[x>>2]=(k[x>>2]|0)+1}eh();ls(k[w>>2]|0)|0}k[o>>2]=k[z>>2];I=k[o>>2]|0;u=H;return I|0}function es(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+24|0;k[a>>2]=k[a>>2]&-3;u=b;return}function fs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;c=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=0;if(!(k[(k[e>>2]|0)+436>>2]|0)){j=k[f>>2]|0;u=l;return j|0}if(!(k[(k[c>>2]|0)+48>>2]|0)){j=k[f>>2]|0;u=l;return j|0}k[h>>2]=(k[(k[c>>2]|0)+48>>2]|0)-1;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[i>>2]=0;k[j>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[g>>2]<<4)+4>>2];if(k[j>>2]|0){if((k[d>>2]|0)==2){b=hs(k[j>>2]|0,2,k[h>>2]|0)|0;k[i>>2]=b}if(!(k[i>>2]|0)){b=hs(k[j>>2]|0,1,k[h>>2]|0)|0;k[i>>2]=b}if(!(k[f>>2]|0))k[f>>2]=k[i>>2]}k[g>>2]=(k[g>>2]|0)+1}j=(k[e>>2]|0)+436|0;k[j>>2]=(k[j>>2]|0)+-1;k[(k[c>>2]|0)+48>>2]=0;if(!(k[f>>2]|0)){if((k[d>>2]|0)==2){j=is(k[e>>2]|0,2,k[h>>2]|0)|0;k[f>>2]=j}if(!(k[f>>2]|0)){j=is(k[e>>2]|0,1,k[h>>2]|0)|0;k[f>>2]=j}}if((k[d>>2]|0)!=2){j=k[f>>2]|0;u=l;return j|0}j=(k[c>>2]|0)+72|0;i=k[j+4>>2]|0;h=(k[e>>2]|0)+440|0;k[h>>2]=k[j>>2];k[h+4>>2]=i;h=(k[c>>2]|0)+80|0;i=k[h+4>>2]|0;j=(k[e>>2]|0)+448|0;k[j>>2]=k[h>>2];k[j+4>>2]=i;j=k[f>>2]|0;u=l;return j|0}function gs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[(k[e>>2]|0)+88>>2]=k[d>>2];b=(k[e>>2]|0)+92|0;k[b>>2]=(k[b>>2]|0)+(k[d>>2]|0);u=c;return}function hs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;if(!(k[d>>2]|0)){h=k[g>>2]|0;u=i;return h|0}if((l[(k[d>>2]|0)+8>>0]|0|0)!=2){h=k[g>>2]|0;u=i;return h|0}k[h>>2]=k[(k[d>>2]|0)+4>>2];ol(k[d>>2]|0);e=Zm(k[k[h>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[g>>2]=e;if(!(k[g>>2]|0)){if((k[f>>2]|0)<0?(m[(k[h>>2]|0)+22>>1]|0)&8|0:0)k[(k[h>>2]|0)+44>>2]=0;f=ar(k[h>>2]|0)|0;k[g>>2]=f;f=dm((k[(k[(k[h>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;k[(k[h>>2]|0)+44>>2]=f}ll(k[d>>2]|0);h=k[g>>2]|0;u=i;return h|0}function is(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;e=m+28|0;f=m+24|0;g=m+20|0;l=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;d=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=0;if(!(k[(k[e>>2]|0)+340>>2]|0)){l=k[l>>2]|0;u=m;return l|0}k[h>>2]=0;while(1){if(k[l>>2]|0){a=15;break}if((k[h>>2]|0)>=(k[(k[e>>2]|0)+316>>2]|0)){a=15;break}k[i>>2]=k[(k[(k[e>>2]|0)+340>>2]|0)+(k[h>>2]<<2)>>2];k[j>>2]=k[k[(k[i>>2]|0)+4>>2]>>2];if(k[(k[i>>2]|0)+8>>2]|0?(k[k[j>>2]>>2]|0)>=2:0){switch(k[f>>2]|0){case 0:{k[d>>2]=k[(k[j>>2]|0)+80>>2];k[(k[i>>2]|0)+20>>2]=(k[g>>2]|0)+1;break}case 2:{k[d>>2]=k[(k[j>>2]|0)+88>>2];break}default:k[d>>2]=k[(k[j>>2]|0)+84>>2]}if(k[d>>2]|0?(k[(k[i>>2]|0)+20>>2]|0)>(k[g>>2]|0):0){c=Wb[k[d>>2]&255](k[(k[i>>2]|0)+8>>2]|0,k[g>>2]|0)|0;k[l>>2]=c}}k[h>>2]=(k[h>>2]|0)+1}if((a|0)==15){l=k[l>>2]|0;u=m;return l|0}return 0}function js(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[g>>2]=k[(k[c>>2]|0)+340>>2];k[(k[c>>2]|0)+340>>2]=0;k[e>>2]=0;while(1){if(!(k[f>>2]|0))b=(k[e>>2]|0)<(k[(k[c>>2]|0)+316>>2]|0);else b=0;a=k[g>>2]|0;if(!b)break;k[i>>2]=k[(k[a+(k[e>>2]<<2)>>2]|0)+8>>2];if(k[i>>2]|0?(b=k[(k[k[i>>2]>>2]|0)+60>>2]|0,k[h>>2]=b,b|0):0){b=Rb[k[h>>2]&255](k[i>>2]|0)|0;k[f>>2]=b;qs(k[d>>2]|0,k[i>>2]|0)}k[e>>2]=(k[e>>2]|0)+1}k[(k[c>>2]|0)+340>>2]=a;u=j;return k[f>>2]|0}function ks(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Wl(k[k[(k[c>>2]|0)+4>>2]>>2]|0,1)|0;u=b;return a|0}function ls(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Mr(k[c>>2]|0,64);u=b;return 0}function ms(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;g=n+24|0;h=n+20|0;m=n+16|0;i=n+12|0;j=n+8|0;l=n+4|0;f=n;k[g>>2]=a;k[h>>2]=b;k[m>>2]=c;k[i>>2]=d;k[j>>2]=e;e=k[(k[g>>2]|0)+4>>2]|0;e=fh(e,((e|0)<0)<<31>>31)|0;k[f>>2]=e;if(!(k[f>>2]|0)){k[l>>2]=7;m=k[l>>2]|0;u=n;return m|0}a=Ym(k[g>>2]|0,k[h>>2]|0,k[f>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=a;a=k[f>>2]|0;if(k[l>>2]|0){ie(a);m=k[l>>2]|0;u=n;return m|0}else{k[k[m>>2]>>2]=a;m=k[l>>2]|0;u=n;return m|0}return 0}function ns(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=ps(k[k[(k[c>>2]|0)+4>>2]>>2]|0)|0;u=b;return a|0}function os(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;pm(k[c>>2]|0);ie(k[c>>2]|0);u=b;return}function ps(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+180>>2]|0}function qs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+8>>2]|0)){u=f;return}k[e>>2]=k[k[c>>2]>>2];fe(k[e>>2]|0,k[(k[c>>2]|0)+108>>2]|0);e=fp(k[e>>2]|0,k[(k[d>>2]|0)+8>>2]|0)|0;k[(k[c>>2]|0)+108>>2]=e;ie(k[(k[d>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+8>>2]=0;u=f;return}function rs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=u;u=u+32|0;b=f+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[g>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[g>>2]|0)+16>>2];k[e>>2]=k[(k[g>>2]|0)+20>>2];k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[e>>2]|0))break;if(((k[c>>2]|0)!=1?k[(k[b>>2]|0)+152>>2]&1<>2]|0:0)?k[(k[d>>2]|0)+(k[c>>2]<<4)+4>>2]|0:0)ll(k[(k[d>>2]|0)+(k[c>>2]<<4)+4>>2]|0);k[c>>2]=(k[c>>2]|0)+1}u=f;return}function ss(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;fe(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+108>>2]|0);k[f>>2]=c;c=fk(k[k[e>>2]>>2]|0,k[g>>2]|0,f)|0;k[(k[e>>2]|0)+108>>2]=c;u=d;return}function ts(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=u;u=u+16|0;b=c+4|0;d=c;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];us(k[d>>2]|0);k[(k[d>>2]|0)+88>>2]=k[(k[b>>2]|0)+8>>2];k[(k[d>>2]|0)+136>>2]=k[(k[b>>2]|0)+52>>2];k[(k[d>>2]|0)+92>>2]=k[(k[b>>2]|0)+16>>2];k[(k[d>>2]|0)+24>>2]=k[(k[b>>2]|0)+56>>2];k[(k[d>>2]|0)+112>>2]=k[(k[b>>2]|0)+20>>2];k[(k[d>>2]|0)+28>>2]=k[(k[b>>2]|0)+44>>2];f=(k[b>>2]|0)+32|0;e=k[f+4>>2]|0;a=(k[k[d>>2]>>2]|0)+32|0;k[a>>2]=k[f>>2];k[a+4>>2]=e;k[(k[d>>2]|0)+44>>2]=k[(k[b>>2]|0)+68>>2];k[(k[k[d>>2]>>2]|0)+88>>2]=k[(k[b>>2]|0)+72>>2];ws(k[k[d>>2]>>2]|0,(k[d>>2]|0)+204|0,-1,0);k[(k[d>>2]|0)+204>>2]=k[(k[b>>2]|0)+40>>2];k[(k[b>>2]|0)+40>>2]=0;u=c;return k[(k[b>>2]|0)+48>>2]|0}function us(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[(k[b>>2]|0)+112>>2]|0)){u=e;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+28>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+112>>2]|0)+(k[c>>2]<<2)>>2];if(k[d>>2]|0){xs(k[b>>2]|0,k[d>>2]|0);k[(k[(k[b>>2]|0)+112>>2]|0)+(k[c>>2]<<2)>>2]=0}k[c>>2]=(k[c>>2]|0)+1}u=e;return}function vs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=(k[b>>2]|0)+80;k[e>>2]=(k[d>>2]|0)+((k[(k[b>>2]|0)+60>>2]|0)*40|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+64>>2]|0))break;xs(k[k[b>>2]>>2]|0,k[(k[e>>2]|0)+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}Fk(k[d>>2]|0,k[(k[b>>2]|0)+60>>2]|0);ws(k[k[k[b>>2]>>2]>>2]|0,(k[b>>2]|0)+40|0,-1,0);fe(k[k[k[b>>2]>>2]>>2]|0,k[b>>2]|0);u=f;return}function ws(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a:while(1){if(!(k[k[f>>2]>>2]|0))break;k[i>>2]=k[k[f>>2]>>2];do if((k[g>>2]|0)>=0){if((k[k[i>>2]>>2]|0)==(k[g>>2]|0)){if((k[(k[i>>2]|0)+4>>2]|0)>31)break;if(!(k[h>>2]&1<>2]|0)+4>>2]))break}k[f>>2]=(k[i>>2]|0)+16;continue a}while(0);if(k[(k[i>>2]|0)+12>>2]|0)Ob[k[(k[i>>2]|0)+12>>2]&255](k[(k[i>>2]|0)+8>>2]|0);k[k[f>>2]>>2]=k[(k[i>>2]|0)+16>>2];fe(k[e>>2]|0,k[i>>2]|0)}u=j;return}function xs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[f>>2]=b;if(!(k[f>>2]|0)){u=g;return}switch(l[k[f>>2]>>0]|0|0){case 1:{ys(k[k[c>>2]>>2]|0,k[f>>2]|0);u=g;return}case 0:{a=k[f>>2]|0;if(k[(k[f>>2]|0)+20>>2]|0){Er(k[a+20>>2]|0)|0;u=g;return}else{Hr(k[a+16>>2]|0)|0;u=g;return}}case 2:{k[d>>2]=k[(k[f>>2]|0)+16>>2];k[e>>2]=k[k[k[d>>2]>>2]>>2];f=(k[k[d>>2]>>2]|0)+4|0;k[f>>2]=(k[f>>2]|0)+-1;Rb[k[(k[e>>2]|0)+28>>2]&255](k[d>>2]|0)|0;u=g;return}default:{u=g;return}}}function ys(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[e>>2]|0)){u=f;return}zs(k[c>>2]|0,k[e>>2]|0);ie(k[(k[e>>2]|0)+36+4>>2]|0);fe(k[c>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+16>>2]=0;u=f;return}function zs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;As(k[d>>2]|0,0)|0;if(k[(k[d>>2]|0)+16>>2]|0){Bs(k[(k[d>>2]|0)+16>>2]|0);fe(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=0}Cs(k[(k[d>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+20>>2]=0;k[e>>2]=0;while(1){a=k[d>>2]|0;if((k[e>>2]|0)>=(l[(k[d>>2]|0)+59>>0]|0|0))break;k[f>>2]=a+64+((k[e>>2]|0)*72|0);Ds(k[c>>2]|0,k[f>>2]|0);k[(k[f>>2]|0)+8>>2]=k[d>>2];k[e>>2]=(k[e>>2]|0)+1}if(!(k[a+36+4>>2]|0))Es(0,k[(k[d>>2]|0)+36>>2]|0);k[(k[d>>2]|0)+36>>2]=0;k[(k[d>>2]|0)+36+8>>2]=0;i[(k[d>>2]|0)+56>>0]=0;k[(k[d>>2]|0)+48>>2]=0;k[(k[d>>2]|0)+8>>2]=0;fe(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0);k[(k[d>>2]|0)+32>>2]=0;u=g;return}function As(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;c=h+20|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[i>>2]=b;k[d>>2]=k[i>>2];k[e>>2]=(l[(k[c>>2]|0)+59>>0]|0)-1;while(1){if((k[e>>2]|0)<0)break;k[f>>2]=(k[c>>2]|0)+64+((k[e>>2]|0)*72|0);i=Gs(k[f>>2]|0)|0;k[g>>2]=i;if(!(k[d>>2]|0))k[d>>2]=k[g>>2];k[e>>2]=(k[e>>2]|0)+-1}u=h;return k[d>>2]|0}function Bs(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;ie(k[(k[b>>2]|0)+28>>2]|0);ie(k[(k[b>>2]|0)+36>>2]|0);if(k[(k[b>>2]|0)+44>>2]|0)yn(k[(k[b>>2]|0)+24>>2]|0,0,0,k[(k[b>>2]|0)+44>>2]|0)|0;Fs(k[(k[b>>2]|0)+48>>2]|0);a=k[b>>2]|0;b=a+56|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));u=c;return}function Cs(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){c=k[b>>2]|0;ie(c);u=d;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;Bs((k[(k[b>>2]|0)+12>>2]|0)+((k[c>>2]|0)*56|0)|0);k[c>>2]=(k[c>>2]|0)+1}c=k[b>>2]|0;ie(c);u=d;return}function Ds(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;fe(k[e>>2]|0,k[(k[c>>2]|0)+12>>2]|0);a=(k[c>>2]|0)+16|0;if(k[(k[c>>2]|0)+16+4>>2]|0)ie(k[a+4>>2]|0);else Es(0,k[a>>2]|0);if(k[(k[c>>2]|0)+40>>2]|0)os(k[(k[c>>2]|0)+40>>2]|0);if(!(k[(k[c>>2]|0)+56>>2]|0)){a=k[c>>2]|0;b=a+72|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));u=d;return}os(k[(k[c>>2]|0)+56>>2]|0);a=k[c>>2]|0;b=a+72|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));u=d;return}function Es(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=k[g>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+4>>2];fe(k[c>>2]|0,k[d>>2]|0);k[d>>2]=k[e>>2]}u=f;return}function Fs(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}if(k[(k[b>>2]|0)+24>>2]|0){Gs(k[k[b>>2]>>2]|0)|0;if(k[(k[b>>2]|0)+32>>2]|0)os(k[(k[b>>2]|0)+32>>2]|0);if(k[(k[b>>2]|0)+32+16>>2]|0)os(k[(k[b>>2]|0)+32+16>>2]|0)}Cs(k[(k[b>>2]|0)+4>>2]|0);ie(k[b>>2]|0);u=c;return}function Gs(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;if(!(k[k[b>>2]>>2]|0)){d=k[c>>2]|0;u=e;return d|0}k[d>>2]=1;Hs(k[k[b>>2]>>2]|0,d)|0;k[c>>2]=k[d>>2];k[(k[b>>2]|0)+4>>2]=0;k[k[b>>2]>>2]=0;d=k[c>>2]|0;u=e;return d|0}function Hs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=7;f=k[c>>2]|0;u=g;return f|0}a=k[d>>2]|0;if(k[(k[d>>2]|0)+4>>2]|0){k[k[e>>2]>>2]=k[a+8>>2];k[f>>2]=0}else{e=(Wa(k[a>>2]|0,k[e>>2]|0)|0)!=0;k[f>>2]=e?1:0}ie(k[d>>2]|0);k[c>>2]=k[f>>2];f=k[c>>2]|0;u=g;return f|0}function Is(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;if(!(k[b>>2]|0)){k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}k[d>>2]=k[b>>2];k[e>>2]=k[k[d>>2]>>2];Dd(k[(k[e>>2]|0)+12>>2]|0);b=(k[d>>2]|0)+128|0;a=k[b+4>>2]|0;if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0)Rr(k[e>>2]|0,k[d>>2]|0);b=Wr(k[d>>2]|0)|0;k[c>>2]=b;Js(k[d>>2]|0);d=Tr(k[e>>2]|0,k[c>>2]|0)|0;k[c>>2]=d;Ed(k[(k[e>>2]|0)+12>>2]|0);e=k[c>>2]|0;u=f;return e|0}function Js(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+20>>2]=770837923;k[(k[c>>2]|0)+36>>2]=-1;k[(k[c>>2]|0)+40>>2]=0;i[(k[c>>2]|0)+142>>0]=2;k[(k[c>>2]|0)+44>>2]=0;k[(k[c>>2]|0)+32>>2]=1;i[(k[c>>2]|0)+143>>0]=-1;k[(k[c>>2]|0)+48>>2]=0;a=(k[c>>2]|0)+64|0;k[a>>2]=0;k[a+4>>2]=0;u=b;return}function Ks(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=u;u=u+32|0;g=f+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=0;k[d>>2]=k[g>>2];k[e>>2]=k[(k[k[g>>2]>>2]|0)+12>>2];Dd(k[e>>2]|0);k[b>>2]=0;while(1){a=k[d>>2]|0;if((k[b>>2]|0)>=(j[(k[d>>2]|0)+16>>1]|0))break;oi((k[a+116>>2]|0)+((k[b>>2]|0)*40|0)|0);j[(k[(k[d>>2]|0)+116>>2]|0)+((k[b>>2]|0)*40|0)+8>>1]=1;k[b>>2]=(k[b>>2]|0)+1}if(!((m[a+144>>1]|0)>>>9&1)){g=k[e>>2]|0;Ed(g);g=k[c>>2]|0;u=f;return g|0}if(!(k[(k[d>>2]|0)+196>>2]|0)){g=k[e>>2]|0;Ed(g);g=k[c>>2]|0;u=f;return g|0}g=(k[d>>2]|0)+144|0;j[g>>1]=j[g>>1]&-2|1;g=k[e>>2]|0;Ed(g);g=k[c>>2]|0;u=f;return g|0}function Ls(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=u;u=u+48|0;h=n+32|0;b=n+28|0;l=n+24|0;c=n+20|0;g=n+16|0;d=n+12|0;m=n+8|0;e=n+4|0;f=n;k[b>>2]=a;k[l>>2]=0;k[c>>2]=0;k[g>>2]=k[b>>2];k[d>>2]=0;if(Ms(k[g>>2]|0)|0){m=Ad(75775)|0;k[h>>2]=m;m=k[h>>2]|0;u=n;return m|0}k[m>>2]=k[k[g>>2]>>2];Dd(k[(k[m>>2]|0)+12>>2]|0);a=(k[g>>2]|0)+144|0;j[a>>1]=j[a>>1]&-3;while(1){a=Ns(k[g>>2]|0)|0;k[l>>2]=a;if((a|0)!=17)break;a=k[d>>2]|0;k[d>>2]=a+1;if((a|0)>=50)break;k[e>>2]=k[(k[g>>2]|0)+36>>2];a=Os(k[g>>2]|0)|0;k[l>>2]=a;k[c>>2]=a;if(k[l>>2]|0)break;Is(k[b>>2]|0)|0;if((k[e>>2]|0)<0)continue;a=(k[g>>2]|0)+144|0;j[a>>1]=j[a>>1]&-3|2}if(k[c>>2]|0){e=$h(k[(k[m>>2]|0)+244>>2]|0)|0;k[f>>2]=e;fe(k[m>>2]|0,k[(k[g>>2]|0)+108>>2]|0);if(i[(k[m>>2]|0)+69>>0]|0){k[(k[g>>2]|0)+108>>2]=0;k[l>>2]=7;b=7;a=k[g>>2]|0}else{b=fp(k[m>>2]|0,k[f>>2]|0)|0;k[(k[g>>2]|0)+108>>2]=b;b=k[c>>2]|0;a=k[g>>2]|0}k[a+40>>2]=b}g=Tr(k[m>>2]|0,k[l>>2]|0)|0;k[l>>2]=g;Ed(k[(k[m>>2]|0)+12>>2]|0);k[h>>2]=k[l>>2];m=k[h>>2]|0;u=n;return m|0}function Ms(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+8|0;c=d+4|0;k[c>>2]=a;if(!(k[c>>2]|0)){Hd(21,42105,d);k[b>>2]=1;c=k[b>>2]|0;u=d;return c|0}else{c=Qr(k[c>>2]|0)|0;k[b>>2]=c;c=k[b>>2]|0;u=d;return c|0}return 0}function Ns(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;b=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;if((k[(k[c>>2]|0)+20>>2]|0)!=770837923)Is(k[c>>2]|0)|0;k[d>>2]=k[k[c>>2]>>2];a=k[c>>2]|0;if(i[(k[d>>2]|0)+69>>0]|0){k[a+40>>2]=7;k[b>>2]=7;f=k[b>>2]|0;u=g;return f|0}if((k[a+36>>2]|0)<=0?j[(k[c>>2]|0)+144>>1]&1|0:0){k[(k[c>>2]|0)+40>>2]=17;k[e>>2]=1}else{if((k[(k[c>>2]|0)+36>>2]|0)<0){if(!(k[(k[d>>2]|0)+156>>2]|0))k[(k[d>>2]|0)+248>>2]=0;if(!(!(k[(k[d>>2]|0)+192>>2]|0)?!(l[(k[d>>2]|0)+76>>0]&2|0):0))f=13;if(((f|0)==13?(i[(k[d>>2]|0)+148+5>>0]|0)==0:0)?k[(k[c>>2]|0)+176>>2]|0:0)Zj(k[k[d>>2]>>2]|0,(k[c>>2]|0)+128|0)|0;f=(k[d>>2]|0)+156|0;k[f>>2]=(k[f>>2]|0)+1;if(!((m[(k[c>>2]|0)+144>>1]|0)>>>7&1)){f=(k[d>>2]|0)+164|0;k[f>>2]=(k[f>>2]|0)+1}if((m[(k[c>>2]|0)+144>>1]|0)>>>8&1|0){f=(k[d>>2]|0)+160|0;k[f>>2]=(k[f>>2]|0)+1}k[(k[c>>2]|0)+36>>2]=0}if((m[(k[c>>2]|0)+144>>1]|0)>>>2&3|0){f=VF(k[c>>2]|0)|0;k[e>>2]=f}else{f=(k[d>>2]|0)+168|0;k[f>>2]=(k[f>>2]|0)+1;f=WF(k[c>>2]|0)|0;k[e>>2]=f;f=(k[d>>2]|0)+168|0;k[f>>2]=(k[f>>2]|0)+-1}if((k[e>>2]|0)!=100?(f=(k[c>>2]|0)+128|0,a=k[f+4>>2]|0,(a|0)>0|(a|0)==0&(k[f>>2]|0)>>>0>0):0)Rr(k[d>>2]|0,k[c>>2]|0);if((k[e>>2]|0)==101?(f=XF(k[d>>2]|0)|0,k[(k[c>>2]|0)+40>>2]=f,k[(k[c>>2]|0)+40>>2]|0):0)k[e>>2]=1;k[(k[d>>2]|0)+52>>2]=k[e>>2];if(7==(Tr(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+40>>2]|0)|0))k[(k[c>>2]|0)+40>>2]=7}if(((k[e>>2]|0)!=100?((m[(k[c>>2]|0)+144>>1]|0)>>>9&1|0)!=0:0)&(k[e>>2]|0)!=101){f=Zr(k[c>>2]|0)|0;k[e>>2]=f}k[b>>2]=k[e>>2]&k[(k[d>>2]|0)+56>>2];f=k[b>>2]|0;u=g;return f|0}function Os(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;b=g+20|0;c=g+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;k[c>>2]=a;a=Ps(k[c>>2]|0)|0;k[h>>2]=a;a=Qs(k[c>>2]|0)|0;k[f>>2]=a;a=Rs(k[f>>2]|0,k[h>>2]|0,-1,0,k[c>>2]|0,e,0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){Ss(k[e>>2]|0,k[c>>2]|0);Ts(k[e>>2]|0,k[c>>2]|0)|0;Us(k[e>>2]|0);Sr(k[e>>2]|0)|0;k[b>>2]=0;h=k[b>>2]|0;u=g;return h|0}if((k[d>>2]|0)==7)Yd(k[f>>2]|0);k[b>>2]=k[d>>2];h=k[b>>2]|0;u=g;return h|0}function Ps(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;u=c;return d|0}d=k[(k[b>>2]|0)+176>>2]|0;u=c;return d|0}function Qs(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[k[b>>2]>>2]|0}function Rs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;o=r+32|0;p=r+28|0;q=r+24|0;h=r+20|0;i=r+16|0;j=r+12|0;l=r+8|0;m=r+4|0;n=r;k[p>>2]=a;k[q>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[m>>2]=g;k[k[l>>2]>>2]=0;g=(Ws(k[p>>2]|0)|0)==0;if(g|(k[q>>2]|0)==0){q=Ad(114197)|0;k[o>>2]=q;q=k[o>>2]|0;u=r;return q|0}Dd(k[(k[p>>2]|0)+12>>2]|0);zk(k[p>>2]|0);g=Xs(k[p>>2]|0,k[q>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=g;if((k[n>>2]|0)==17){Pr(k[k[l>>2]>>2]|0)|0;q=Xs(k[p>>2]|0,k[q>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=q}Bk(k[p>>2]|0);Ed(k[(k[p>>2]|0)+12>>2]|0);k[o>>2]=k[n>>2];q=k[o>>2]|0;u=r;return q|0}function Ss(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=u;u=u+224|0;d=c+220|0;e=c+216|0;h=c;g=c+212|0;f=c+208|0;k[d>>2]=a;k[e>>2]=b;r0(h|0,k[d>>2]|0,208)|0;r0(k[d>>2]|0,k[e>>2]|0,208)|0;r0(k[e>>2]|0,h|0,208)|0;k[g>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=k[(k[e>>2]|0)+8>>2];k[(k[e>>2]|0)+8>>2]=k[g>>2];k[g>>2]=k[(k[d>>2]|0)+4>>2];k[(k[d>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];k[(k[e>>2]|0)+4>>2]=k[g>>2];k[f>>2]=k[(k[d>>2]|0)+176>>2];k[(k[d>>2]|0)+176>>2]=k[(k[e>>2]|0)+176>>2];k[(k[e>>2]|0)+176>>2]=k[f>>2];b=(k[e>>2]|0)+144|0;j[b>>1]=j[b>>1]&-513|((m[(k[d>>2]|0)+144>>1]|0)>>>9&1)<<9&65535;u=c;return} +function bl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=f;return}k[e>>2]=0;while(1){a=k[c>>2]|0;b=k[k[d>>2]>>2]|0;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0))break;fe(a,k[b+(k[e>>2]<<3)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}fe(a,b);fe(k[c>>2]|0,k[d>>2]|0);u=f;return}function cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=f;return}k[e>>2]=k[(k[d>>2]|0)+28>>2];Yk(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0);Uk(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0);Tk(k[c>>2]|0,k[(k[e>>2]|0)+8>>2]|0);Yk(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);fe(k[c>>2]|0,k[d>>2]|0);u=f;return}function dl(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c+4>>2]=a;k[c>>2]=b;u=c;return}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;l=m+28|0;e=m+24|0;h=m+20|0;f=m+16|0;i=m+12|0;j=m+8|0;g=m+4|0;d=m;k[e>>2]=a;k[h>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+12>>2]|0){c=hl(k[h>>2]|0)|0;k[g>>2]=(c>>>0)%((k[k[e>>2]>>2]|0)>>>0)|0;k[d>>2]=(k[(k[e>>2]|0)+12>>2]|0)+(k[g>>2]<<3);k[i>>2]=k[(k[d>>2]|0)+4>>2];k[j>>2]=k[k[d>>2]>>2]}else{k[g>>2]=0;k[i>>2]=k[(k[e>>2]|0)+8>>2];k[j>>2]=k[(k[e>>2]|0)+4>>2]}k[k[f>>2]>>2]=k[g>>2];while(1){g=k[j>>2]|0;k[j>>2]=g+-1;if(!g){a=9;break}g=(lh(k[(k[i>>2]|0)+12>>2]|0,k[h>>2]|0)|0)==0;b=k[i>>2]|0;if(g){a=7;break}k[i>>2]=k[b>>2]}if((a|0)==7){k[l>>2]=b;l=k[l>>2]|0;u=m;return l|0}else if((a|0)==9){k[l>>2]=0;l=k[l>>2]|0;u=m;return l|0}return 0}function fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+4>>2]|0)a=k[(k[e>>2]|0)+4>>2]|0;else a=(k[d>>2]|0)+8|0;k[a>>2]=k[k[e>>2]>>2];if(k[k[e>>2]>>2]|0)k[(k[k[e>>2]>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];if(k[(k[d>>2]|0)+12>>2]|0){k[g>>2]=(k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]<<3);if((k[(k[g>>2]|0)+4>>2]|0)==(k[e>>2]|0))k[(k[g>>2]|0)+4>>2]=k[k[e>>2]>>2];g=k[g>>2]|0;k[g>>2]=(k[g>>2]|0)+-1}ie(k[e>>2]|0);g=(k[d>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+-1;if(k[(k[d>>2]|0)+4>>2]|0){u=h;return}jl(k[d>>2]|0);u=h;return}function gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;k[e>>2]=k[e>>2]<<3>>>0>1024?128:b;if((k[e>>2]|0)==(k[k[d>>2]>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;u=j;return i|0}ch();b=Pd(k[e>>2]<<3,0)|0;k[f>>2]=b;eh();if(!(k[f>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;u=j;return i|0}ie(k[(k[d>>2]|0)+12>>2]|0);k[(k[d>>2]|0)+12>>2]=k[f>>2];b=((Ud(k[f>>2]|0)|0)>>>0)/8|0;k[e>>2]=b;k[k[d>>2]>>2]=b;w0(k[f>>2]|0,0,k[e>>2]<<3|0)|0;k[g>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;while(1){if(!(k[g>>2]|0))break;b=hl(k[(k[g>>2]|0)+12>>2]|0)|0;k[i>>2]=(b>>>0)%((k[e>>2]|0)>>>0)|0;k[h>>2]=k[k[g>>2]>>2];il(k[d>>2]|0,(k[f>>2]|0)+(k[i>>2]<<3)|0,k[g>>2]|0);k[g>>2]=k[h>>2]}k[c>>2]=1;i=k[c>>2]|0;u=j;return i|0}function hl(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+4|0;c=e;d=e+8|0;k[b>>2]=a;k[c>>2]=0;while(1){a=k[b>>2]|0;k[b>>2]=a+1;a=i[a>>0]|0;i[d>>0]=a;if(!(a&255))break;k[c>>2]=(k[c>>2]|0)+(l[20458+(l[d>>0]|0)>>0]|0);a=$(k[c>>2]|0,-1640531535)|0;k[c>>2]=a}u=e;return k[c>>2]|0}function il(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){if(k[k[e>>2]>>2]|0)a=k[(k[e>>2]|0)+4>>2]|0;else a=0;k[g>>2]=a;c=k[e>>2]|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[e>>2]|0)+4>>2]=k[f>>2]}else k[g>>2]=0;if(!(k[g>>2]|0)){k[k[f>>2]>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[d>>2]|0)+8>>2]|0)k[(k[(k[d>>2]|0)+8>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+8>>2]=k[f>>2];u=h;return}k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];if(k[(k[g>>2]|0)+4>>2]|0)a=k[(k[g>>2]|0)+4>>2]|0;else a=(k[d>>2]|0)+8|0;k[a>>2]=k[f>>2];k[(k[g>>2]|0)+4>>2]=k[f>>2];u=h;return}function jl(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[(k[b>>2]|0)+8>>2]=0;ie(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+12>>2]=0;k[k[b>>2]>>2]=0;while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];ie(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+4>>2]=0;u=e;return}function kl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+28>>2];Yk(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0);Uk(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0);Tk(k[c>>2]|0,k[(k[e>>2]|0)+8>>2]|0);bl(k[c>>2]|0,k[(k[e>>2]|0)+24>>2]|0);fe(k[c>>2]|0,k[e>>2]|0)}u=f;return}function ll(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(i[(k[b>>2]|0)+9>>0]|0)){u=c;return}a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[b>>2]|0)+12>>2]|0){u=c;return}ml(k[b>>2]|0);u=c;return}function ml(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+4>>2];Ed(k[(k[d>>2]|0)+56>>2]|0);i[(k[c>>2]|0)+10>>0]=0;u=b;return}function nl(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Rb[k[140>>2]&255](k[(k[c>>2]|0)+44>>2]|0)|0;u=b;return a|0}function ol(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(i[(k[b>>2]|0)+9>>0]|0)){u=c;return}a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;if(i[(k[b>>2]|0)+10>>0]|0){u=c;return}pl(k[b>>2]|0);u=c;return}function pl(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;e=(ql(k[(k[(k[b>>2]|0)+4>>2]|0)+56>>2]|0)|0)==0;a=k[b>>2]|0;if(e){k[(k[(k[b>>2]|0)+4>>2]|0)+4>>2]=k[a>>2];i[(k[b>>2]|0)+10>>0]=1;u=d;return}k[c>>2]=k[a+24>>2];while(1){if(!(k[c>>2]|0))break;if(i[(k[c>>2]|0)+10>>0]|0)ml(k[c>>2]|0);k[c>>2]=k[(k[c>>2]|0)+24>>2]}rl(k[b>>2]|0);k[c>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!(k[c>>2]|0))break;if(k[(k[c>>2]|0)+12>>2]|0)rl(k[c>>2]|0);k[c>>2]=k[(k[c>>2]|0)+24>>2]}u=d;return}function ql(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;if(k[c>>2]|0){d=Rb[k[100>>2]&255](k[c>>2]|0)|0;k[b>>2]=d;d=k[b>>2]|0;u=e;return d|0}else{k[b>>2]=k[d>>2];d=k[b>>2]|0;u=e;return d|0}return 0}function rl(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Dd(k[(k[(k[c>>2]|0)+4>>2]|0)+56>>2]|0);k[(k[(k[c>>2]|0)+4>>2]|0)+4>>2]=k[k[c>>2]>>2];i[(k[c>>2]|0)+10>>0]=1;u=b;return}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+48|0;d=h+32|0;e=h+24|0;f=h+16|0;g=h+8|0;c=h;i=h+40|0;j=e;k[j>>2]=a;k[j+4>>2]=b;b=pe()|0;k[i>>2]=b;if(k[i>>2]|0){i=d;k[i>>2]=-1;k[i+4>>2]=-1;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;M=i;u=h;return j|0}Dd(k[13620]|0);b=54488;i=k[b+4>>2]|0;j=f;k[j>>2]=k[b>>2];k[j+4>>2]=i;if((k[e+4>>2]|0)<0){Ed(k[13620]|0);g=f;j=k[g+4>>2]|0;i=d;k[i>>2]=k[g>>2];k[i+4>>2]=j;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;M=i;u=h;return j|0}b=e;j=k[b+4>>2]|0;i=54488;k[i>>2]=k[b>>2];k[i+4>>2]=j;i=Sd(0)|0;j=c;k[j>>2]=i;k[j+4>>2]=M;j=e;i=k[j+4>>2]|0;if((i|0)>0|(i|0)==0&(k[j>>2]|0)>>>0>0){j=e;b=k[j+4>>2]|0;a=c;i=k[a+4>>2]|0;a=(b|0)<(i|0)|((b|0)==(i|0)?(k[j>>2]|0)>>>0<=(k[a>>2]|0)>>>0:0)}else a=0;k[13627]=a&1;Ed(k[13620]|0);j=tl()|0;i=e;i=h0(j|0,M|0,k[i>>2]|0,k[i+4>>2]|0)|0;j=g;k[j>>2]=i;k[j+4>>2]=M;j=g;i=k[j+4>>2]|0;if((i|0)>0|(i|0)==0&(k[j>>2]|0)>>>0>0)Wd(k[g>>2]&2147483647)|0;g=f;j=k[g+4>>2]|0;i=d;k[i>>2]=k[g>>2];k[i+4>>2]=j;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;M=i;u=h;return j|0}function tl(){var a=0,b=0;b=u;u=u+16|0;a=b+8|0;zd(0,a,b,0)|0;M=k[a+4>>2]|0;u=b;return k[a>>2]|0}function ul(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=k[e>>2]|0;do if(k[d>>2]|0)if(!a){k[c>>2]=1;break}else{e=lh(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=e;break}else k[c>>2]=a|0?-1:0;while(0);u=f;return k[c>>2]|0}function vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+28|0;f=j+24|0;g=j+20|0;h=j+16|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[(k[e>>2]|0)+52>>2]=k[f>>2];Lp(k[e>>2]|0,k[f>>2]|0);a=k[e>>2]|0;if(!(k[g>>2]|0)){wl(a,k[f>>2]|0);u=j;return}if((k[a+244>>2]|0)==0?(f=Np(k[e>>2]|0)|0,k[(k[e>>2]|0)+244>>2]=f,(f|0)==0):0){u=j;return}k[i>>2]=d;d=fk(k[e>>2]|0,k[g>>2]|0,i)|0;k[h>>2]=d;Op(k[(k[e>>2]|0)+244>>2]|0,-1,k[h>>2]|0,1,191);u=j;return}function wl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;k[(k[c>>2]|0)+52>>2]=k[d>>2];if((k[d>>2]|0)==0?(k[(k[c>>2]|0)+244>>2]|0)==0:0){u=e;return}Jp(k[c>>2]|0,k[d>>2]|0);u=e;return}function xl(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (l[(k[b>>2]|0)+8>>0]|0|0)!=0|0}function yl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=-1;if(!(k[d>>2]|0)){f=k[f>>2]|0;u=g;return f|0}k[f>>2]=(k[(k[c>>2]|0)+20>>2]|0)-1;k[e>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4);while(1){if((k[f>>2]|0)<0){a=6;break}if(!(lh(k[k[e>>2]>>2]|0,k[d>>2]|0)|0)){a=6;break}k[f>>2]=(k[f>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+-16}if((a|0)==6){f=k[f>>2]|0;u=g;return f|0}return 0}function zl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;g=h;b=h+20|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];if((k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(i[(k[c>>2]|0)+409>>0]|0)==0:0){a=Bl(k[k[d>>2]>>2]|0,0,k[d>>2]|0,f,0,542)|0;k[e>>2]=a;if(k[e>>2]|0){Cl(k[c>>2]|0,24788,g);k[(k[c>>2]|0)+12>>2]=k[e>>2];k[b>>2]=1;g=k[b>>2]|0;u=h;return g|0}k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]=k[f>>2];if(7==(Dl(k[f>>2]|0,k[(k[d>>2]|0)+80>>2]|0,-1,0)|0)){Yd(k[d>>2]|0);k[b>>2]=1;g=k[b>>2]|0;u=h;return g|0}}k[b>>2]=0;g=k[b>>2]|0;u=h;return g|0}function Al(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}k[c>>2]=k[k[b>>2]>>2];fe(k[c>>2]|0,k[(k[b>>2]|0)+76>>2]|0);Uk(k[c>>2]|0,k[(k[b>>2]|0)+80>>2]|0);if(k[c>>2]|0){c=(k[c>>2]|0)+256|0;k[c>>2]=(k[c>>2]|0)-(l[(k[b>>2]|0)+24>>0]|0)}i[(k[b>>2]|0)+24>>0]=0;u=d;return}function Bl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=u;u=u+192|0;K=L+84|0;A=L+80|0;B=L+76|0;C=L+72|0;E=L+68|0;g=L+64|0;h=L+60|0;F=L+56|0;G=L+52|0;H=L+48|0;I=L+44|0;n=L+188|0;o=L+88|0;p=L+40|0;q=L+36|0;r=L+32|0;s=L+28|0;t=L+24|0;v=L+20|0;w=L+16|0;x=L+12|0;y=L+8|0;z=L+4|0;J=L;k[A>>2]=a;k[B>>2]=b;k[C>>2]=c;k[E>>2]=d;k[g>>2]=e;k[h>>2]=f;k[F>>2]=0;k[H>>2]=0;k[I>>2]=0;if(!(k[B>>2]|0))a=1;else a=(i[k[B>>2]>>0]|0)==0;k[p>>2]=a&1;if(k[B>>2]|0?(Q_(k[B>>2]|0,24858)|0)==0:0)a=1;else D=5;do if((D|0)==5){if(k[p>>2]|0?Ul(k[C>>2]|0)|0:0){a=1;break}a=(k[h>>2]&128|0)!=0}while(0);k[q>>2]=a&1;if(k[q>>2]|0)k[g>>2]=k[g>>2]|2;if(k[h>>2]&256|0?(k[q>>2]|0)!=0|(k[p>>2]|0)!=0:0)k[h>>2]=k[h>>2]&-257|512;f=fh(48,0)|0;k[G>>2]=f;if(!(k[G>>2]|0)){k[K>>2]=7;K=k[K>>2]|0;u=L;return K|0}i[(k[G>>2]|0)+8>>0]=0;k[k[G>>2]>>2]=k[C>>2];k[(k[G>>2]|0)+32>>2]=k[G>>2];k[(k[G>>2]|0)+32+4>>2]=1;do if(!(k[p>>2]|0)){if(k[q>>2]|0?(k[h>>2]&64|0)==0:0)break;if(k[h>>2]&131072|0){p=(wd(k[B>>2]|0)|0)+1|0;k[r>>2]=p;k[s>>2]=(k[(k[A>>2]|0)+8>>2]|0)+1;p=(k[s>>2]|0)>(k[r>>2]|0)?k[s>>2]|0:k[r>>2]|0;p=Pd(p,((p|0)<0)<<31>>31)|0;k[t>>2]=p;i[(k[G>>2]|0)+9>>0]=1;if(!(k[t>>2]|0)){ie(k[G>>2]|0);k[K>>2]=7;K=k[K>>2]|0;u=L;return K|0}if(!(k[q>>2]|0)){s=Vl(k[A>>2]|0,k[B>>2]|0,k[s>>2]|0,k[t>>2]|0)|0;k[I>>2]=s;if(k[I>>2]|0){ie(k[t>>2]|0);ie(k[G>>2]|0);k[K>>2]=k[I>>2];K=k[K>>2]|0;u=L;return K|0}}else r0(k[t>>2]|0,k[B>>2]|0,k[r>>2]|0)|0;s=se(4)|0;k[H>>2]=s;Dd(k[H>>2]|0);s=se(2)|0;k[v>>2]=s;Dd(k[v>>2]|0);k[F>>2]=k[13786];while(1){if(!(k[F>>2]|0))break;s=k[t>>2]|0;if(0==(Q_(s,Wl(k[k[F>>2]>>2]|0,0)|0)|0)?(s=Xl(k[k[F>>2]>>2]|0)|0,(s|0)==(k[A>>2]|0)):0){D=29;break}k[F>>2]=k[(k[F>>2]|0)+68>>2]}do if((D|0)==29){k[w>>2]=(k[(k[C>>2]|0)+20>>2]|0)-1;while(1){if((k[w>>2]|0)<0){D=35;break}k[x>>2]=k[(k[(k[C>>2]|0)+16>>2]|0)+(k[w>>2]<<4)+4>>2];if(k[x>>2]|0?(k[(k[x>>2]|0)+4>>2]|0)==(k[F>>2]|0):0)break;k[w>>2]=(k[w>>2]|0)+-1}if((D|0)==35){k[(k[G>>2]|0)+4>>2]=k[F>>2];x=(k[F>>2]|0)+64|0;k[x>>2]=(k[x>>2]|0)+1;break}Ed(k[v>>2]|0);Ed(k[H>>2]|0);ie(k[t>>2]|0);ie(k[G>>2]|0);k[K>>2]=19;K=k[K>>2]|0;u=L;return K|0}while(0);Ed(k[v>>2]|0);ie(k[t>>2]|0)}}while(0);do if(!(k[F>>2]|0)){x=fh(84,0)|0;k[F>>2]=x;if(!(k[F>>2]|0)){k[I>>2]=7;break}A=Zl(k[A>>2]|0,k[F>>2]|0,k[B>>2]|0,88,k[g>>2]|0,k[h>>2]|0,158)|0;k[I>>2]=A;if(!(k[I>>2]|0)){A=(k[C>>2]|0)+40|0;_l(k[k[F>>2]>>2]|0,k[A>>2]|0,k[A+4>>2]|0);A=$l(k[k[F>>2]>>2]|0,100,o)|0;k[I>>2]=A}if(!(k[I>>2]|0)){i[(k[F>>2]|0)+16>>0]=k[g>>2];k[(k[F>>2]|0)+4>>2]=k[C>>2];bm(k[k[F>>2]>>2]|0,192,k[F>>2]|0);k[(k[G>>2]|0)+4>>2]=k[F>>2];k[(k[F>>2]|0)+8>>2]=0;k[(k[F>>2]|0)+12>>2]=0;if((cm(k[k[F>>2]>>2]|0)|0)<<24>>24){A=(k[F>>2]|0)+22|0;j[A>>1]=m[A>>1]|1}k[(k[F>>2]|0)+32>>2]=l[o+16>>0]<<8|l[o+17>>0]<<16;if(((k[(k[F>>2]|0)+32>>2]|0)>>>0>=512?(k[(k[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?!((k[(k[F>>2]|0)+32>>2]|0)-1&k[(k[F>>2]|0)+32>>2]|0):0){i[n>>0]=i[o+20>>0]|0;B=(k[F>>2]|0)+22|0;j[B>>1]=m[B>>1]|2;B=(dm(o+52|0)|0)!=0;i[(k[F>>2]|0)+17>>0]=B?1:0;B=(dm(o+64|0)|0)!=0;i[(k[F>>2]|0)+18>>0]=B?1:0}else{k[(k[F>>2]|0)+32>>2]=0;if(!((k[B>>2]|0)==0|(k[q>>2]|0)!=0)){i[(k[F>>2]|0)+17>>0]=0;i[(k[F>>2]|0)+18>>0]=0}i[n>>0]=0}B=Fl(k[k[F>>2]>>2]|0,(k[F>>2]|0)+32|0,l[n>>0]|0)|0;k[I>>2]=B;if(!(k[I>>2]|0)){k[(k[F>>2]|0)+36>>2]=(k[(k[F>>2]|0)+32>>2]|0)-(l[n>>0]|0);k[(k[F>>2]|0)+64>>2]=1;if(i[(k[G>>2]|0)+9>>0]|0){B=se(2)|0;k[y>>2]=B;if(k[3]|0?(B=se(0)|0,k[(k[F>>2]|0)+56>>2]=B,(k[(k[F>>2]|0)+56>>2]|0)==0):0){k[I>>2]=7;break}Dd(k[y>>2]|0);k[(k[F>>2]|0)+68>>2]=k[13786];k[13786]=k[F>>2];Ed(k[y>>2]|0);D=59}else D=59}}}else D=59;while(0);if((D|0)==59){a:do if(i[(k[G>>2]|0)+9>>0]|0){k[z>>2]=0;while(1){if((k[z>>2]|0)>=(k[(k[C>>2]|0)+20>>2]|0))break a;D=k[(k[(k[C>>2]|0)+16>>2]|0)+(k[z>>2]<<4)+4>>2]|0;k[J>>2]=D;if(D|0?l[(k[J>>2]|0)+9>>0]|0:0)break;k[z>>2]=(k[z>>2]|0)+1}while(1){if(!(k[(k[J>>2]|0)+28>>2]|0))break;k[J>>2]=k[(k[J>>2]|0)+28>>2]}if((k[(k[G>>2]|0)+4>>2]|0)>>>0<(k[(k[J>>2]|0)+4>>2]|0)>>>0){k[(k[G>>2]|0)+24>>2]=k[J>>2];k[(k[G>>2]|0)+28>>2]=0;k[(k[J>>2]|0)+28>>2]=k[G>>2];break}while(1){if(k[(k[J>>2]|0)+24>>2]|0)b=(k[(k[(k[J>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(k[(k[G>>2]|0)+4>>2]|0)>>>0;else b=0;a=k[(k[J>>2]|0)+24>>2]|0;if(!b)break;k[J>>2]=a}k[(k[G>>2]|0)+24>>2]=a;k[(k[G>>2]|0)+28>>2]=k[J>>2];if(k[(k[G>>2]|0)+24>>2]|0)k[(k[(k[G>>2]|0)+24>>2]|0)+28>>2]=k[G>>2];k[(k[J>>2]|0)+24>>2]=k[G>>2]}while(0);k[k[E>>2]>>2]=k[G>>2]}if(!(k[I>>2]|0)){if(!(fm(k[G>>2]|0,0,0)|0))gm(k[k[(k[G>>2]|0)+4>>2]>>2]|0,-2e3)}else{if(k[F>>2]|0?k[k[F>>2]>>2]|0:0)em(k[k[F>>2]>>2]|0)|0;ie(k[F>>2]|0);ie(k[G>>2]|0);k[k[E>>2]>>2]=0}if(k[H>>2]|0)Ed(k[H>>2]|0);k[K>>2]=k[I>>2];K=k[K>>2]|0;u=L;return K|0}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=u;u=u+48|0;d=g+32|0;j=g+28|0;e=g+24|0;h=g+8|0;f=g;k[d>>2]=a;k[j>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[h>>2]=c;c=fk(k[f>>2]|0,k[j>>2]|0,h)|0;k[e>>2]=c;if(i[(k[f>>2]|0)+73>>0]|0){fe(k[f>>2]|0,k[e>>2]|0);u=g;return}else{j=(k[d>>2]|0)+36|0;k[j>>2]=(k[j>>2]|0)+1;fe(k[f>>2]|0,k[(k[d>>2]|0)+4>>2]|0);k[(k[d>>2]|0)+4>>2]=k[e>>2];k[(k[d>>2]|0)+12>>2]=1;u=g;return}}function Dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;o=u;u=u+32|0;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;l=o+8|0;n=o+4|0;e=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[l>>2]=d;k[n>>2]=0;k[e>>2]=k[(k[g>>2]|0)+4>>2];ol(k[g>>2]|0);if((m[(k[e>>2]|0)+22>>1]|0)&2|0){ll(k[g>>2]|0);k[f>>2]=8;n=k[f>>2]|0;u=o;return n|0}if((k[i>>2]|0)<0)k[i>>2]=(k[(k[e>>2]|0)+32>>2]|0)-(k[(k[e>>2]|0)+36>>2]|0);if((k[h>>2]|0)>=512&(k[h>>2]|0)<=65536?((k[h>>2]|0)-1&k[h>>2]|0)==0:0){k[(k[e>>2]|0)+32>>2]=k[h>>2];El(k[e>>2]|0)}h=Fl(k[k[e>>2]>>2]|0,(k[e>>2]|0)+32|0,k[i>>2]|0)|0;k[n>>2]=h;k[(k[e>>2]|0)+36>>2]=(k[(k[e>>2]|0)+32>>2]|0)-(k[i>>2]&65535);if(k[l>>2]|0){l=(k[e>>2]|0)+22|0;j[l>>1]=m[l>>1]|0|2}ll(k[g>>2]|0);k[f>>2]=k[n>>2];n=k[f>>2]|0;u=o;return n|0}function El(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){u=c;return}a=(k[b>>2]|0)+80|0;k[a>>2]=(k[a>>2]|0)+-4;Ll(k[(k[b>>2]|0)+80>>2]|0);k[(k[b>>2]|0)+80>>2]=0;u=c;return}function Fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0;o=u;u=u+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;i=o+8|0;m=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;k[h>>2]=k[k[e>>2]>>2];if(!((l[(k[d>>2]|0)+16>>0]|0)!=0?(k[(k[d>>2]|0)+28>>2]|0)!=0:0))n=3;do if(((n|0)==3?(n=(Gl(k[(k[d>>2]|0)+212>>2]|0)|0)==0,n&(k[h>>2]|0)!=0):0)?(k[h>>2]|0)!=(k[(k[d>>2]|0)+160>>2]|0):0){k[i>>2]=0;n=m;k[n>>2]=0;k[n+4>>2]=0;if((l[(k[d>>2]|0)+17>>0]|0)>0?k[k[(k[d>>2]|0)+64>>2]>>2]|0:0){n=Hl(k[(k[d>>2]|0)+64>>2]|0,m)|0;k[g>>2]=n}if((k[g>>2]|0)==0?(n=Il(k[h>>2]|0)|0,k[i>>2]=n,(k[i>>2]|0)==0):0)k[g>>2]=7;if(!(k[g>>2]|0)){Jl(k[d>>2]|0);n=Kl(k[(k[d>>2]|0)+212>>2]|0,k[h>>2]|0)|0;k[g>>2]=n}if(!(k[g>>2]|0)){Ll(k[(k[d>>2]|0)+208>>2]|0);k[(k[d>>2]|0)+208>>2]=k[i>>2];n=m;n=i0(k[n>>2]|0,k[n+4>>2]|0,k[h>>2]|0,0)|0;n=h0(n|0,M|0,1,0)|0;n=x0(n|0,M|0,k[h>>2]|0,0)|0;k[(k[d>>2]|0)+28>>2]=n;k[(k[d>>2]|0)+160>>2]=k[h>>2];break}else{Ll(k[i>>2]|0);break}}while(0);k[k[e>>2]>>2]=k[(k[d>>2]|0)+160>>2];if(k[g>>2]|0){n=k[g>>2]|0;u=o;return n|0}if((k[f>>2]|0)<0)k[f>>2]=j[(k[d>>2]|0)+150>>1];j[(k[d>>2]|0)+150>>1]=k[f>>2];Ml(k[d>>2]|0);n=k[g>>2]|0;u=o;return n|0}function Gl(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+12>>2]|0}function Hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Wb[k[(k[k[e>>2]>>2]|0)+24>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function Il(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=dh(k[c>>2]|0)|0;u=b;return a|0}function Jl(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;Ol(k[(k[c>>2]|0)+96>>2]|0);Pl(k[(k[c>>2]|0)+212>>2]|0);u=b;return}function Kl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(k[(k[d>>2]|0)+24>>2]|0){b=Lb[k[132>>2]&255](k[e>>2]|0,(k[(k[d>>2]|0)+28>>2]|0)+40|0,l[(k[d>>2]|0)+32>>0]|0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=7;f=k[c>>2]|0;u=g;return f|0}h=k[34]|0;a=k[f>>2]|0;b=Nl(k[d>>2]|0)|0;Pb[h&255](a,b);if(k[(k[d>>2]|0)+44>>2]|0)Ob[k[160>>2]&255](k[(k[d>>2]|0)+44>>2]|0);k[(k[d>>2]|0)+44>>2]=k[f>>2];k[(k[d>>2]|0)+24>>2]=k[e>>2]}k[c>>2]=0;h=k[c>>2]|0;u=g;return h|0}function Ll(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Wg(k[c>>2]|0);u=b;return}function Ml(a){a=a|0;var b=0;b=u;u=u+16|0;k[b>>2]=a;u=b;return}function Nl(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[(k[c>>2]|0)+16>>2]|0;if((k[(k[c>>2]|0)+16>>2]|0)>=0){k[b>>2]=a;c=k[b>>2]|0;u=d;return c|0}else{a=B0(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;c=(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+28>>2]|0)|0;c=x0(a|0,M|0,c|0,((c|0)<0)<<31>>31|0)|0;k[b>>2]=c;c=k[b>>2]|0;u=d;return c|0}return 0}function Ol(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];while(1){if(!(k[b>>2]|0))break;k[(k[b>>2]|0)+16>>2]=1;k[b>>2]=k[(k[b>>2]|0)+44>>2]}u=c;return}function Pl(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Ql(k[c>>2]|0,0);u=b;return}function Ql(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[c>>2]|0)+44>>2]|0)){u=h;return}k[e>>2]=k[k[c>>2]>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+32>>2];if((k[(k[e>>2]|0)+20>>2]|0)>>>0>(k[d>>2]|0)>>>0)Rl(k[e>>2]|0);k[e>>2]=k[f>>2]}if(((k[d>>2]|0)==0?k[(k[c>>2]|0)+12>>2]|0:0)?(f=Lb[k[144>>2]&255](k[(k[c>>2]|0)+44>>2]|0,1,0)|0,k[g>>2]=f,k[g>>2]|0):0){w0(k[k[g>>2]>>2]|0,0,k[(k[c>>2]|0)+24>>2]|0)|0;k[d>>2]=1}Pb[k[156>>2]&255](k[(k[c>>2]|0)+44>>2]|0,(k[d>>2]|0)+1|0);u=h;return}function Rl(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(m[(k[b>>2]|0)+24>>1]&2)){u=c;return}Sl(k[b>>2]|0,1);a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]&-15;a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]|1;if(j[(k[b>>2]|0)+26>>1]|0){u=c;return}Tl(k[b>>2]|0);u=c;return}function Sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;d=f+4|0;c=f+8|0;e=f;k[d>>2]=a;i[c>>0]=b;k[e>>2]=k[(k[d>>2]|0)+28>>2];if(l[c>>0]&1|0){if((k[(k[e>>2]|0)+8>>2]|0)==(k[d>>2]|0))k[(k[e>>2]|0)+8>>2]=k[(k[d>>2]|0)+36>>2];if(k[(k[d>>2]|0)+32>>2]|0)a=(k[(k[d>>2]|0)+32>>2]|0)+36|0;else a=(k[e>>2]|0)+4|0;k[a>>2]=k[(k[d>>2]|0)+36>>2];a=k[(k[d>>2]|0)+32>>2]|0;if(!(k[(k[d>>2]|0)+36>>2]|0)){k[k[e>>2]>>2]=a;if(!(k[k[e>>2]>>2]|0))i[(k[e>>2]|0)+33>>0]=2}else k[(k[(k[d>>2]|0)+36>>2]|0)+32>>2]=a;k[(k[d>>2]|0)+32>>2]=0;k[(k[d>>2]|0)+36>>2]=0}if(!(l[c>>0]&2)){u=f;return}k[(k[d>>2]|0)+32>>2]=k[k[e>>2]>>2];a=k[d>>2]|0;if(!(k[(k[d>>2]|0)+32>>2]|0)){k[(k[e>>2]|0)+4>>2]=a;if(i[(k[e>>2]|0)+32>>0]|0)i[(k[e>>2]|0)+33>>0]=1}else k[(k[(k[d>>2]|0)+32>>2]|0)+36>>2]=a;k[k[e>>2]>>2]=k[d>>2];if(k[(k[e>>2]|0)+8>>2]|0){u=f;return}if(m[(k[d>>2]|0)+24>>1]&8){u=f;return}k[(k[e>>2]|0)+8>>2]=k[d>>2];u=f;return}function Tl(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(i[(k[(k[b>>2]|0)+28>>2]|0)+32>>0]|0)){u=c;return}Sb[k[148>>2]&255](k[(k[(k[b>>2]|0)+28>>2]|0)+44>>2]|0,k[k[b>>2]>>2]|0,0);u=c;return}function Ul(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (l[(k[b>>2]|0)+68>>0]|0|0)==2|0}function Vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=u;u=u+16|0;j=e+12|0;h=e+8|0;g=e+4|0;f=e;k[j>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;i[k[f>>2]>>0]=0;d=Ub[k[(k[j>>2]|0)+36>>2]&255](k[j>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;u=e;return d|0}function Wl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;if(k[e>>2]|0?l[(k[c>>2]|0)+16>>0]|0|0:0){e=55752;u=d;return e|0}e=k[(k[c>>2]|0)+176>>2]|0;u=d;return e|0}function Xl(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[k[b>>2]>>2]|0}function Yl(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Vn(k[b>>2]|0)|0;k[c>>2]=a;if(!(i[k[c>>2]>>0]|0)){u=d;return}i[k[c>>2]>>0]=0;if((zp(k[b>>2]|0)|0)<=1){u=d;return}Ap(k[c>>2]|0)|0;u=d;return}function Zl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=u;u=u+112|0;H=K+96|0;E=K+92|0;I=K+88|0;q=K+84|0;r=K+80|0;L=K+76|0;s=K+72|0;F=K+68|0;h=K+64|0;G=K+60|0;t=K+56|0;v=K+52|0;w=K+48|0;x=K+44|0;l=K+40|0;y=K+36|0;z=K+32|0;A=K+28|0;m=K+24|0;B=K+20|0;n=K+16|0;o=K+12|0;p=K+8|0;C=K+4|0;D=K;k[E>>2]=a;k[I>>2]=b;k[q>>2]=c;k[r>>2]=d;k[L>>2]=e;k[s>>2]=f;k[F>>2]=g;k[G>>2]=0;k[t>>2]=0;k[v>>2]=0;k[w>>2]=0;k[x>>2]=0;k[y>>2]=0;k[z>>2]=0;k[A>>2]=(k[L>>2]&1|0)==0&1;g=dp()|0;k[m>>2]=g;k[B>>2]=4096;k[n>>2]=0;k[o>>2]=0;g=(ep(k[E>>2]|0)|0)+7&-8;k[l>>2]=g;k[k[I>>2]>>2]=0;do if((k[L>>2]&2|0?(k[w>>2]=1,k[q>>2]|0):0)?i[k[q>>2]>>0]|0:0){L=fp(0,k[q>>2]|0)|0;k[y>>2]=L;if(k[y>>2]|0){L=wd(k[y>>2]|0)|0;k[z>>2]=L;k[q>>2]=0;break}k[H>>2]=7;L=k[H>>2]|0;u=K;return L|0}while(0);if(k[q>>2]|0?i[k[q>>2]>>0]|0:0){k[z>>2]=(k[(k[E>>2]|0)+8>>2]|0)+1;L=k[z>>2]<<1;L=Md(0,L,((L|0)<0)<<31>>31)|0;k[y>>2]=L;if(!(k[y>>2]|0)){k[H>>2]=7;L=k[H>>2]|0;u=K;return L|0}i[k[y>>2]>>0]=0;L=Vl(k[E>>2]|0,k[q>>2]|0,k[z>>2]|0,k[y>>2]|0)|0;k[t>>2]=L;L=wd(k[y>>2]|0)|0;k[z>>2]=L;L=k[q>>2]|0;L=L+((wd(k[q>>2]|0)|0)+1)|0;k[n>>2]=L;k[p>>2]=L;while(1){a=k[p>>2]|0;if(!(i[k[p>>2]>>0]|0))break;L=(wd(a)|0)+1|0;k[p>>2]=(k[p>>2]|0)+L;L=(wd(k[p>>2]|0)|0)+1|0;k[p>>2]=(k[p>>2]|0)+L}k[o>>2]=a+1-(k[n>>2]|0);if((k[t>>2]|0)==0?((k[z>>2]|0)+8|0)>(k[(k[E>>2]|0)+8>>2]|0):0){L=rf(51006)|0;k[t>>2]=L}if(k[t>>2]|0){fe(0,k[y>>2]|0);k[H>>2]=k[t>>2];L=k[H>>2]|0;u=K;return L|0}}L=fh(224+((k[m>>2]|0)+7&-8)+((k[(k[E>>2]|0)+4>>2]|0)+7&-8)+(k[l>>2]<<1)+(k[z>>2]|0)+1+(k[o>>2]|0)+(k[z>>2]|0)+8+2+(k[z>>2]|0)+4+2|0,0)|0;k[h>>2]=L;if(!(k[h>>2]|0)){fe(0,k[y>>2]|0);k[H>>2]=7;L=k[H>>2]|0;u=K;return L|0}k[G>>2]=k[h>>2];L=(k[h>>2]|0)+224|0;k[h>>2]=L;k[(k[G>>2]|0)+212>>2]=L;L=(k[h>>2]|0)+((k[m>>2]|0)+7&-8)|0;k[h>>2]=L;k[(k[G>>2]|0)+64>>2]=L;L=(k[h>>2]|0)+((k[(k[E>>2]|0)+4>>2]|0)+7&-8)|0;k[h>>2]=L;k[(k[G>>2]|0)+72>>2]=L;L=(k[h>>2]|0)+(k[l>>2]|0)|0;k[h>>2]=L;k[(k[G>>2]|0)+68>>2]=L;L=(k[h>>2]|0)+(k[l>>2]|0)|0;k[h>>2]=L;k[(k[G>>2]|0)+176>>2]=L;if(k[y>>2]|0){L=(k[h>>2]|0)+((k[z>>2]|0)+1+(k[o>>2]|0))|0;k[h>>2]=L;k[(k[G>>2]|0)+180>>2]=L;r0(k[(k[G>>2]|0)+176>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;if(k[o>>2]|0)r0((k[(k[G>>2]|0)+176>>2]|0)+((k[z>>2]|0)+1)|0,k[n>>2]|0,k[o>>2]|0)|0;r0(k[(k[G>>2]|0)+180>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;a=(k[(k[G>>2]|0)+180>>2]|0)+(k[z>>2]|0)|0;b=24985;c=a+10|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));k[(k[G>>2]|0)+220>>2]=(k[(k[G>>2]|0)+180>>2]|0)+((k[z>>2]|0)+8+1);r0(k[(k[G>>2]|0)+220>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;L=(k[(k[G>>2]|0)+220>>2]|0)+(k[z>>2]|0)|0;i[L>>0]=i[24995]|0;i[L+1>>0]=i[24996]|0;i[L+2>>0]=i[24997]|0;i[L+3>>0]=i[24998]|0;i[L+4>>0]=i[24999]|0;fe(0,k[y>>2]|0)}k[k[G>>2]>>2]=k[E>>2];k[(k[G>>2]|0)+152>>2]=k[s>>2];do if(k[q>>2]|0?i[k[q>>2]>>0]|0:0){k[C>>2]=0;L=Ym(k[E>>2]|0,k[(k[G>>2]|0)+176>>2]|0,k[(k[G>>2]|0)+64>>2]|0,k[s>>2]|0,C)|0;k[t>>2]=L;k[x>>2]=k[C>>2]&1;if(!(k[t>>2]|0)){L=gn(k[(k[G>>2]|0)+64>>2]|0)|0;k[D>>2]=L;do if((k[x>>2]|0)==0?(fn(k[G>>2]|0),(k[B>>2]|0)>>>0<(k[(k[G>>2]|0)+156>>2]|0)>>>0):0)if((k[(k[G>>2]|0)+156>>2]|0)>>>0>8192){k[B>>2]=8192;break}else{k[B>>2]=k[(k[G>>2]|0)+156>>2];break}while(0);L=(Yf(k[q>>2]|0,25001,0)|0)&255;i[(k[G>>2]|0)+14>>0]=L;if((k[D>>2]&8192|0)==0?(Yf(k[q>>2]|0,25008,0)|0)==0:0)break;k[s>>2]=k[s>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){k[v>>2]=1;i[(k[G>>2]|0)+17>>0]=1;i[(k[G>>2]|0)+18>>0]=4;i[(k[G>>2]|0)+14>>0]=1;k[x>>2]=k[s>>2]&1}if(!(k[t>>2]|0)){L=Fl(k[G>>2]|0,B,-1)|0;k[t>>2]=L}if(!(k[t>>2]|0)){k[r>>2]=(k[r>>2]|0)+7&-8;L=hp(k[B>>2]|0,k[r>>2]|0,((k[w>>2]|0)!=0^1)&1,(k[w>>2]|0)!=0^1?192:0,k[G>>2]|0,k[(k[G>>2]|0)+212>>2]|0)|0;k[t>>2]=L}if(k[t>>2]|0){pm(k[(k[G>>2]|0)+64>>2]|0);Ll(k[(k[G>>2]|0)+208>>2]|0);ie(k[G>>2]|0);k[H>>2]=k[t>>2];L=k[H>>2]|0;u=K;return L|0}i[(k[G>>2]|0)+6>>0]=k[A>>2];k[(k[G>>2]|0)+164>>2]=1073741823;i[(k[G>>2]|0)+13>>0]=k[v>>2];i[(k[G>>2]|0)+4>>0]=k[v>>2];i[(k[G>>2]|0)+19>>0]=i[(k[G>>2]|0)+13>>0]|0;i[(k[G>>2]|0)+16>>0]=k[w>>2];i[(k[G>>2]|0)+15>>0]=k[x>>2];i[(k[G>>2]|0)+7>>0]=i[(k[G>>2]|0)+13>>0]|0;if(!(i[(k[G>>2]|0)+7>>0]|0)){i[(k[G>>2]|0)+8>>0]=1;i[(k[G>>2]|0)+9>>0]=0;i[(k[G>>2]|0)+12>>0]=2;i[(k[G>>2]|0)+11>>0]=34;i[(k[G>>2]|0)+10>>0]=2}j[(k[G>>2]|0)+148>>1]=k[r>>2];L=(k[G>>2]|0)+168|0;k[L>>2]=-1;k[L+4>>2]=-1;fn(k[G>>2]|0);if(k[A>>2]|0){if(k[w>>2]|0){a=4;b=k[G>>2]|0;J=49}}else{a=2;b=k[G>>2]|0;J=49}if((J|0)==49)i[b+5>>0]=a;k[(k[G>>2]|0)+204>>2]=k[F>>2];k[k[I>>2]>>2]=k[G>>2];k[H>>2]=0;L=k[H>>2]|0;u=K;return L|0}function _l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=u;u=u+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;b=k[a+4>>2]|0;c=(k[e>>2]|0)+136|0;k[c>>2]=k[a>>2];k[c+4>>2]=b;Ml(k[e>>2]|0);u=d;return}function $l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;w0(k[f>>2]|0,0,k[e>>2]|0)|0;if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){g=k[g>>2]|0;u=h;return g|0}f=kn(k[(k[d>>2]|0)+64>>2]|0,k[f>>2]|0,k[e>>2]|0,0,0)|0;k[g>>2]=f;k[g>>2]=(k[g>>2]|0)==522?0:f;g=k[g>>2]|0;u=h;return g|0}function am(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];a=cp((k[(k[c>>2]|0)+4>>2]|0)+380|0)|0;u=b;return a|0}function bm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=u;u=u+16|0;d=f+12|0;h=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;k[(k[d>>2]|0)+184>>2]=k[h>>2];k[(k[d>>2]|0)+188>>2]=k[g>>2];if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){u=f;return}k[e>>2]=(k[d>>2]|0)+184;Go(k[(k[d>>2]|0)+64>>2]|0,15,k[e>>2]|0);u=f;return}function cm(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return i[(k[b>>2]|0)+15>>0]|0}function dm(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (l[k[b>>2]>>0]|0)<<24|(l[(k[b>>2]|0)+1>>0]|0)<<16|(l[(k[b>>2]|0)+2>>0]|0)<<8|(l[(k[b>>2]|0)+3>>0]|0)|0}function em(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+208>>2];ch();jm(k[b>>2]|0);i[(k[b>>2]|0)+4>>0]=0;km(k[(k[b>>2]|0)+216>>2]|0,l[(k[b>>2]|0)+10>>0]|0,k[(k[b>>2]|0)+160>>2]|0,k[c>>2]|0)|0;k[(k[b>>2]|0)+216>>2]=0;Jl(k[b>>2]|0);a=k[b>>2]|0;if(i[(k[b>>2]|0)+16>>0]|0)lm(a);else{if(k[k[a+68>>2]>>2]|0){a=k[b>>2]|0;nm(a,mm(k[b>>2]|0)|0)|0}om(k[b>>2]|0)}eh();pm(k[(k[b>>2]|0)+68>>2]|0);pm(k[(k[b>>2]|0)+64>>2]|0);Ll(k[c>>2]|0);qm(k[(k[b>>2]|0)+212>>2]|0);ie(k[b>>2]|0);u=d;return 0}function fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[d>>2]|0)+4>>2];ol(k[d>>2]|0);if(!(k[e>>2]|0?(k[(k[g>>2]|0)+48>>2]|0)==0:0)){f=k[d>>2]|0;ll(f);g=k[g>>2]|0;g=g+48|0;g=k[g>>2]|0;u=h;return g|0}e=k[e>>2]|0;e=im(0,e,((e|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+48>>2]=e;k[(k[g>>2]|0)+52>>2]=k[f>>2];f=k[d>>2]|0;ll(f);g=k[g>>2]|0;g=g+48|0;g=k[g>>2]|0;u=h;return g|0}function gm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;hm(k[(k[e>>2]|0)+212>>2]|0,k[d>>2]|0);u=c;return}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[(k[e>>2]|0)+16>>2]=k[d>>2];d=k[34]|0;a=k[(k[e>>2]|0)+44>>2]|0;b=Nl(k[e>>2]|0)|0;Pb[d&255](a,b);u=c;return}function im(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;g=f+12|0;d=f;e=f+8|0;k[g>>2]=a;a=d;k[a>>2]=b;k[a+4>>2]=c;c=d;c=Md(k[g>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[e>>2]=c;if(!(k[e>>2]|0)){g=k[e>>2]|0;u=f;return g|0}w0(k[e>>2]|0,0,k[d>>2]|0)|0;g=k[e>>2]|0;u=f;return g|0}function jm(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+144>>2];while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+12>>2];ie(k[b>>2]|0);k[b>>2]=k[c>>2]}u=d;return}function km(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+32|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;n=o+4|0;e=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[m>>2]=0;if(!(k[f>>2]|0)){n=k[m>>2]|0;u=o;return n|0}k[n>>2]=0;d=Eo(k[(k[f>>2]|0)+4>>2]|0,4)|0;k[m>>2]=d;do if(!(k[m>>2]|0)){if(!(l[(k[f>>2]|0)+43>>0]|0))i[(k[f>>2]|0)+43>>0]=1;j=Fo(k[f>>2]|0,0,0,0,k[g>>2]|0,k[h>>2]|0,k[j>>2]|0,0,0)|0;k[m>>2]=j;if(!(k[m>>2]|0)){k[e>>2]=-1;Go(k[(k[f>>2]|0)+4>>2]|0,10,e);if((k[e>>2]|0)!=1){k[n>>2]=1;break}j=(k[f>>2]|0)+16|0;h=k[j+4>>2]|0;if((h|0)>0|(h|0)==0&(k[j>>2]|0)>>>0>=0)Ho(k[f>>2]|0,0,0)}}while(0);Io(k[f>>2]|0,k[n>>2]|0);pm(k[(k[f>>2]|0)+8>>2]|0);if(k[n>>2]|0){ch();ym(k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+108>>2]|0,0)|0;eh()}ie(k[(k[f>>2]|0)+32>>2]|0);ie(k[f>>2]|0);n=k[m>>2]|0;u=o;return n|0}function lm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;e=f+8|0;b=f+4|0;c=f;k[e>>2]=a;zm(k[(k[e>>2]|0)+60>>2]|0);k[(k[e>>2]|0)+60>>2]=0;tm(k[e>>2]|0);g=(Dm(k[e>>2]|0)|0)!=0;a=k[e>>2]|0;if(!g){if(!(i[a+4>>0]|0)){if(k[k[(k[e>>2]|0)+64>>2]>>2]|0)a=gn(k[(k[e>>2]|0)+64>>2]|0)|0;else a=0;k[c>>2]=a;if(!(0!=(k[c>>2]&2048|0)?1==(l[(k[e>>2]|0)+5>>0]&5|0):0))pm(k[(k[e>>2]|0)+68>>2]|0);g=Im(k[e>>2]|0,0)|0;k[b>>2]=g;if(k[b>>2]|0?(l[(k[e>>2]|0)+17>>0]|0)==6:0)i[(k[e>>2]|0)+18>>0]=5;i[(k[e>>2]|0)+19>>0]=0;a=k[e>>2]|0;d=13}}else{Do(k[a+216>>2]|0);a=k[e>>2]|0;d=13}if((d|0)==13)i[a+17>>0]=0;if(!(k[(k[e>>2]|0)+44>>2]|0)){g=k[e>>2]|0;g=g+80|0;d=g;k[d>>2]=0;g=g+4|0;k[g>>2]=0;g=k[e>>2]|0;g=g+88|0;d=g;k[d>>2]=0;g=g+4|0;k[g>>2]=0;g=k[e>>2]|0;g=g+20|0;i[g>>0]=0;u=f;return}a=k[e>>2]|0;if(!(l[(k[e>>2]|0)+13>>0]|0)){Jl(a);i[(k[e>>2]|0)+19>>0]=0;a=0;b=k[e>>2]|0}else{a=(k[k[a+68>>2]>>2]|0?0:1)&255;b=k[e>>2]|0}i[b+17>>0]=a;k[(k[e>>2]|0)+44>>2]=0;g=k[e>>2]|0;g=g+80|0;d=g;k[d>>2]=0;g=g+4|0;k[g>>2]=0;g=k[e>>2]|0;g=g+88|0;d=g;k[d>>2]=0;g=g+4|0;k[g>>2]=0;g=k[e>>2]|0;g=g+20|0;i[g>>0]=0;u=f;return}function mm(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(i[(k[b>>2]|0)+7>>0]|0)){a=wm(k[(k[b>>2]|0)+68>>2]|0,2)|0;k[c>>2]=a}if(k[c>>2]|0){c=k[c>>2]|0;u=d;return c|0}b=Hl(k[(k[b>>2]|0)+68>>2]|0,(k[b>>2]|0)+88|0)|0;k[c>>2]=b;c=k[c>>2]|0;u=d;return c|0}function nm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;d=e+4|0;f=e;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[d>>2]&255;if(!((k[f>>2]|0)==13|(k[f>>2]|0)==10)){f=k[d>>2]|0;u=e;return f|0}k[(k[c>>2]|0)+44>>2]=k[d>>2];i[(k[c>>2]|0)+17>>0]=6;f=k[d>>2]|0;u=e;return f|0}function om(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;do if((l[(k[b>>2]|0)+17>>0]|0)!=6?l[(k[b>>2]|0)+17>>0]|0:0){if((l[(k[b>>2]|0)+17>>0]|0)>=2){ch();rm(k[b>>2]|0)|0;eh();break}if(!(i[(k[b>>2]|0)+4>>0]|0))sm(k[b>>2]|0,0,0)|0}while(0);lm(k[b>>2]|0);u=c;return}function pm(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[k[b>>2]>>2]|0)){u=c;return}Rb[k[(k[k[b>>2]>>2]|0)+4>>2]&255](k[b>>2]|0)|0;k[k[b>>2]>>2]=0;u=c;return}function qm(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Ob[k[160>>2]&255](k[(k[c>>2]|0)+44>>2]|0);u=b;return}function rm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=0;a=k[c>>2]|0;if((l[(k[c>>2]|0)+17>>0]|0)==6){k[b>>2]=k[a+44>>2];f=k[b>>2]|0;u=g;return f|0}if((l[a+17>>0]|0)<=1){k[b>>2]=0;f=k[b>>2]|0;u=g;return f|0}h=(Dm(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;do if(h){h=Zm(a,2,-1)|0;k[d>>2]=h;h=sm(k[c>>2]|0,l[(k[c>>2]|0)+20>>0]|0,0)|0;k[e>>2]=h;if(!(k[d>>2]|0))k[d>>2]=k[e>>2]}else{if(k[k[a+68>>2]>>2]|0?(l[(k[c>>2]|0)+17>>0]|0)!=2:0){h=_m(k[c>>2]|0,0)|0;k[d>>2]=h;break}k[f>>2]=l[(k[c>>2]|0)+17>>0];h=sm(k[c>>2]|0,0,0)|0;k[d>>2]=h;if((k[f>>2]|0)>2?(i[(k[c>>2]|0)+16>>0]|0)==0:0){k[(k[c>>2]|0)+44>>2]=4;i[(k[c>>2]|0)+17>>0]=6;k[b>>2]=k[d>>2];h=k[b>>2]|0;u=g;return h|0}}while(0);h=nm(k[c>>2]|0,k[d>>2]|0)|0;k[b>>2]=h;h=k[b>>2]|0;u=g;return h|0}function sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+32|0;f=n+24|0;g=n+20|0;d=n+16|0;h=n+12|0;j=n+8|0;m=n+4|0;e=n;k[g>>2]=a;k[d>>2]=b;k[h>>2]=c;k[j>>2]=0;k[m>>2]=0;if((l[(k[g>>2]|0)+17>>0]|0)<2?(l[(k[g>>2]|0)+18>>0]|0)<2:0){k[f>>2]=0;m=k[f>>2]|0;u=n;return m|0}tm(k[g>>2]|0);a:do if(k[k[(k[g>>2]|0)+68>>2]>>2]|0){c=(um(k[(k[g>>2]|0)+68>>2]|0)|0)!=0;a=k[g>>2]|0;if(c){pm(k[a+68>>2]|0);break}b=k[g>>2]|0;if((l[a+5>>0]|0)==3){e=b+80|0;if(!((k[e>>2]|0)==0&(k[e+4>>2]|0)==0)){e=vm(k[(k[g>>2]|0)+68>>2]|0,0,0)|0;k[j>>2]=e;if((k[j>>2]|0)==0?l[(k[g>>2]|0)+8>>0]|0:0){e=wm(k[(k[g>>2]|0)+68>>2]|0,l[(k[g>>2]|0)+12>>0]|0)|0;k[j>>2]=e}}else k[j>>2]=0;e=(k[g>>2]|0)+80|0;k[e>>2]=0;k[e+4>>2]=0;break}do if((l[b+5>>0]|0)!=1){if(l[(k[g>>2]|0)+4>>0]|0?(l[(k[g>>2]|0)+5>>0]|0)!=5:0)break;k[e>>2]=((i[(k[g>>2]|0)+13>>0]|0)!=0^1)&1;pm(k[(k[g>>2]|0)+68>>2]|0);if(!(k[e>>2]|0))break a;e=ym(k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+180>>2]|0,l[(k[g>>2]|0)+9>>0]|0)|0;k[j>>2]=e;break a}while(0);if(k[d>>2]|0)a=1;else a=(l[(k[g>>2]|0)+13>>0]|0)!=0;e=xm(k[g>>2]|0,a&1)|0;k[j>>2]=e;e=(k[g>>2]|0)+80|0;k[e>>2]=0;k[e+4>>2]=0}while(0);zm(k[(k[g>>2]|0)+60>>2]|0);k[(k[g>>2]|0)+60>>2]=0;k[(k[g>>2]|0)+48>>2]=0;if(!(k[j>>2]|0)){e=(Am(k[g>>2]|0,k[h>>2]|0)|0)!=0;a=k[(k[g>>2]|0)+212>>2]|0;if(e)Bm(a);else Cm(a);Ql(k[(k[g>>2]|0)+212>>2]|0,k[(k[g>>2]|0)+28>>2]|0)}if(!(Dm(k[g>>2]|0)|0)){if((k[j>>2]|0)==0&(k[h>>2]|0)!=0?(k[(k[g>>2]|0)+36>>2]|0)>>>0>(k[(k[g>>2]|0)+28>>2]|0)>>>0:0){e=Fm(k[g>>2]|0,k[(k[g>>2]|0)+28>>2]|0)|0;k[j>>2]=e}}else{e=Em(k[(k[g>>2]|0)+216>>2]|0)|0;k[m>>2]=e}if((k[j>>2]|0)==0&(k[h>>2]|0)!=0?k[k[(k[g>>2]|0)+64>>2]>>2]|0:0){h=Gm(k[(k[g>>2]|0)+64>>2]|0,22,0)|0;k[j>>2]=h;k[j>>2]=(k[j>>2]|0)==12?0:h}do if(!(i[(k[g>>2]|0)+4>>0]|0)){if(Dm(k[g>>2]|0)|0?(Hm(k[(k[g>>2]|0)+216>>2]|0,0)|0)==0:0)break;h=Im(k[g>>2]|0,1)|0;k[m>>2]=h;i[(k[g>>2]|0)+19>>0]=0}while(0);i[(k[g>>2]|0)+17>>0]=1;i[(k[g>>2]|0)+20>>0]=0;k[f>>2]=(k[j>>2]|0)==0?k[m>>2]|0:k[j>>2]|0;m=k[f>>2]|0;u=n;return m|0}function tm(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+104>>2]|0))break;zm(k[(k[a+100>>2]|0)+((k[c>>2]|0)*48|0)+16>>2]|0);k[c>>2]=(k[c>>2]|0)+1}if(!(i[a+4>>0]|0?!(um(k[(k[b>>2]|0)+72>>2]|0)|0):0))pm(k[(k[b>>2]|0)+72>>2]|0);ie(k[(k[b>>2]|0)+100>>2]|0);k[(k[b>>2]|0)+100>>2]=0;k[(k[b>>2]|0)+104>>2]=0;k[(k[b>>2]|0)+56>>2]=0;u=d;return}function um(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (k[k[b>>2]>>2]|0)==4104|0}function vm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=u;u=u+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;c=f;c=Lb[k[(k[k[e>>2]>>2]|0)+16>>2]&255](k[e>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;u=d;return c|0}function wm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Wb[k[(k[k[e>>2]>>2]|0)+20>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function xm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=u;u=u+32|0;c=h+24|0;d=h+20|0;e=h+16|0;f=h+8|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;b=(k[c>>2]|0)+80|0;if(!((k[b>>2]|0)!=0|(k[b+4>>2]|0)!=0)){g=k[e>>2]|0;u=h;return g|0}j=(k[c>>2]|0)+168|0;a=k[j+4>>2]|0;b=f;k[b>>2]=k[j>>2];k[b+4>>2]=a;b=f;a=k[(k[c>>2]|0)+68>>2]|0;if((k[d>>2]|0)!=0|(k[b>>2]|0)==0&(k[b+4>>2]|0)==0){j=vm(a,0,0)|0;k[e>>2]=j}else{j=Nm(a,56012,28,0,0)|0;k[e>>2]=j}if((k[e>>2]|0)==0?(i[(k[c>>2]|0)+7>>0]|0)==0:0){j=wm(k[(k[c>>2]|0)+68>>2]|0,16|l[(k[c>>2]|0)+12>>0])|0;k[e>>2]=j}j=f;d=k[j+4>>2]|0;if(!((k[e>>2]|0)==0&((d|0)>0|(d|0)==0&(k[j>>2]|0)>>>0>0))){j=k[e>>2]|0;u=h;return j|0}j=Hl(k[(k[c>>2]|0)+68>>2]|0,g)|0;k[e>>2]=j;if(k[e>>2]|0){j=k[e>>2]|0;u=h;return j|0}b=k[g+4>>2]|0;j=f;d=k[j+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(k[g>>2]|0)>>>0>(k[j>>2]|0)>>>0:0))){j=k[e>>2]|0;u=h;return j|0}j=f;j=vm(k[(k[c>>2]|0)+68>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;u=h;return j|0}function ym(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Lb[k[(k[g>>2]|0)+28>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;u=d;return c|0}function zm(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}a:do if(k[(k[b>>2]|0)+8>>2]|0){k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=125)break a;zm(k[(k[b>>2]|0)+12+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}}while(0);ie(k[b>>2]|0);u=d;return}function Am(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;do if(l[(k[d>>2]|0)+13>>0]|0){if(!(k[e>>2]|0)){k[c>>2]=0;break}if(k[k[(k[d>>2]|0)+64>>2]>>2]|0){e=(Pm(k[(k[d>>2]|0)+212>>2]|0)|0)>=25&1;k[c>>2]=e;break}else{k[c>>2]=0;break}}else k[c>>2]=1;while(0);u=f;return k[c>>2]|0}function Bm(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;while(1){a=k[k[b>>2]>>2]|0;k[c>>2]=a;if(!a)break;Rl(k[c>>2]|0)}u=d;return}function Cm(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-13;k[c>>2]=k[(k[c>>2]|0)+32>>2]}k[(k[b>>2]|0)+8>>2]=k[(k[b>>2]|0)+4>>2];u=d;return}function Dm(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (k[(k[b>>2]|0)+216>>2]|0)!=0|0}function Em(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(i[(k[b>>2]|0)+44>>0]|0)){u=c;return 0}Om(k[b>>2]|0,0,1);i[(k[b>>2]|0)+44>>0]=0;k[(k[b>>2]|0)+104>>2]=0;i[(k[b>>2]|0)+47>>0]=0;u=c;return 0}function Fm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;j=u;u=u+48|0;c=j+32|0;d=j+28|0;e=j+24|0;f=j+8|0;g=j;h=j+20|0;i=j+16|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[k[(k[c>>2]|0)+64>>2]>>2]|0)){i=k[e>>2]|0;u=j;return i|0}if((l[(k[c>>2]|0)+17>>0]|0|0)<4?l[(k[c>>2]|0)+17>>0]|0|0:0){i=k[e>>2]|0;u=j;return i|0}k[h>>2]=k[(k[c>>2]|0)+160>>2];a=Hl(k[(k[c>>2]|0)+64>>2]|0,f)|0;k[e>>2]=a;a=k[h>>2]|0;a=B0(a|0,((a|0)<0)<<31>>31|0,k[d>>2]|0,0)|0;b=g;k[b>>2]=a;k[b+4>>2]=M;if(k[e>>2]|0){i=k[e>>2]|0;u=j;return i|0}a=f;b=g;if(!((k[a>>2]|0)!=(k[b>>2]|0)?1:(k[a+4>>2]|0)!=(k[b+4>>2]|0))){i=k[e>>2]|0;u=j;return i|0}a=f;n=k[a+4>>2]|0;b=g;m=k[b+4>>2]|0;if(!((n|0)>(m|0)|((n|0)==(m|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0))){b=f;m=k[h>>2]|0;m=i0(k[b>>2]|0,k[b+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;b=M;n=g;f=k[n+4>>2]|0;if((b|0)<(f|0)|((b|0)==(f|0)?m>>>0<=(k[n>>2]|0)>>>0:0)){k[i>>2]=k[(k[c>>2]|0)+208>>2];w0(k[i>>2]|0,0,k[h>>2]|0)|0;f=k[(k[c>>2]|0)+64>>2]|0;i=k[i>>2]|0;m=k[h>>2]|0;n=k[h>>2]|0;n=h0(k[g>>2]|0,k[g+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;n=Nm(f,i,m,n,M)|0;k[e>>2]=n}}else{n=g;n=vm(k[(k[c>>2]|0)+64>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[e>>2]=n}if(k[e>>2]|0){n=k[e>>2]|0;u=j;return n|0}k[(k[c>>2]|0)+36>>2]=k[d>>2];n=k[e>>2]|0;u=j;return n|0}function Gm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Lb[k[(k[k[g>>2]>>2]|0)+40>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;u=d;return c|0}function Hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){a=k[c>>2]|0;if((k[d>>2]|0)>0){Lm(a,3+(j[(k[c>>2]|0)+40>>1]|0)|0);i[(k[c>>2]|0)+43>>0]=1;k[e>>2]=1;e=k[e>>2]|0;u=f;return e|0}else{k[e>>2]=(l[a+43>>0]|0)==0&1;e=k[e>>2]|0;u=f;return e|0}}if(!(i[(k[c>>2]|0)+43>>0]|0)){k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}i[(k[c>>2]|0)+43>>0]=0;if(Km(k[c>>2]|0,3+(j[(k[c>>2]|0)+40>>1]|0)|0)|0)i[(k[c>>2]|0)+43>>0]=1;k[e>>2]=(l[(k[c>>2]|0)+43>>0]|0)==0&1;e=k[e>>2]|0;u=f;return e|0}function Im(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[k[(k[c>>2]|0)+64>>2]>>2]|0)){e=k[e>>2]|0;u=f;return e|0}if(l[(k[c>>2]|0)+14>>0]|0|0)a=0;else a=Jm(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;if((l[(k[c>>2]|0)+18>>0]|0|0)==5){e=k[e>>2]|0;u=f;return e|0}i[(k[c>>2]|0)+18>>0]=k[d>>2];e=k[e>>2]|0;u=f;return e|0}function Jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Wb[k[(k[k[e>>2]>>2]|0)+32>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function Km(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(i[(k[d>>2]|0)+43>>0]|0){k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}else{e=Mm(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,1,6)|0;k[f>>2]=e;k[c>>2]=k[f>>2];f=k[c>>2]|0;u=g;return f|0}return 0}function Lm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[(k[c>>2]|0)+43>>0]|0){u=e;return}Mm(k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0,1,5)|0;u=e;return}function Mm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=Ub[k[(k[k[i>>2]>>2]|0)+56>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;u=e;return d|0}function Nm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=u;u=u+32|0;i=f+16|0;h=f+12|0;g=f+8|0;j=f;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;c=j;k[c>>2]=d;k[c+4>>2]=e;e=j;e=Xb[k[(k[k[i>>2]>>2]|0)+12>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;u=f;return e|0}function Om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(i[(k[d>>2]|0)+43>>0]|0){u=g;return}Mm(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,k[f>>2]|0,9)|0;u=g;return}function Pm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+12|0;b=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=0;a=Nl(k[f>>2]|0)|0;k[d>>2]=a;k[b>>2]=k[k[f>>2]>>2];while(1){if(!(k[b>>2]|0))break;k[c>>2]=(k[c>>2]|0)+1;k[b>>2]=k[(k[b>>2]|0)+32>>2]}if(!(k[d>>2]|0)){f=0;u=e;return f|0}c=k[c>>2]|0;c=B0(c|0,((c|0)<0)<<31>>31|0,100,0)|0;f=k[d>>2]|0;f=x0(c|0,M|0,f|0,((f|0)<0)<<31>>31|0)|0;u=e;return f|0}function Qm(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Wm(k[c>>2]|0);u=b;return 0}function Rm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=u;u=u+64|0;s=q+52|0;r=q+48|0;n=q+44|0;o=q+8|0;p=q+40|0;g=q+36|0;h=q+32|0;i=q+28|0;j=q+24|0;f=q;l=q+20|0;m=q+16|0;k[s>>2]=a;k[r>>2]=b;k[n>>2]=c;c=o;k[c>>2]=d;k[c+4>>2]=e;k[p>>2]=k[s>>2];k[g>>2]=k[r>>2];k[h>>2]=k[n>>2];c=(k[p>>2]|0)+40|0;d=o;e=o;a:do if(((k[c>>2]|0)!=(k[d>>2]|0)?1:(k[c+4>>2]|0)!=(k[d+4>>2]|0))|(k[e>>2]|0)==0&(k[e+4>>2]|0)==0){s=f;k[s>>2]=0;k[s+4>>2]=0;k[j>>2]=k[(k[p>>2]|0)+16>>2];while(1){if(!(k[j>>2]|0))break a;d=f;r=k[(k[p>>2]|0)+4>>2]|0;r=i0(k[d>>2]|0,k[d+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;d=M;s=o;e=k[s+4>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?r>>>0<=(k[s>>2]|0)>>>0:0)))break a;r=k[(k[p>>2]|0)+4>>2]|0;s=f;r=i0(k[s>>2]|0,k[s+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;s=f;k[s>>2]=r;k[s+4>>2]=M;k[j>>2]=k[k[j>>2]>>2]}}else k[j>>2]=k[(k[p>>2]|0)+40+8>>2];while(0);r=o;s=k[(k[p>>2]|0)+4>>2]|0;s=m0(k[r>>2]|0,k[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;k[i>>2]=s;do{k[l>>2]=(k[(k[p>>2]|0)+4>>2]|0)-(k[i>>2]|0);if((k[h>>2]|0)<((k[(k[p>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0))a=k[h>>2]|0;else a=(k[(k[p>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0;k[m>>2]=a;r0(k[g>>2]|0,(k[j>>2]|0)+4+(k[i>>2]|0)|0,k[m>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+(k[m>>2]|0);k[h>>2]=(k[h>>2]|0)-(k[l>>2]|0);k[i>>2]=0;if((k[h>>2]|0)<0)break;s=k[k[j>>2]>>2]|0;k[j>>2]=s}while((s|0)!=0&(k[h>>2]|0)>0);if(!(k[j>>2]|0)){n=0;s=0;r=k[p>>2]|0;r=r+40|0;o=r;k[o>>2]=n;r=r+4|0;k[r>>2]=s;r=k[j>>2]|0;s=k[p>>2]|0;s=s+40|0;s=s+8|0;k[s>>2]=r;u=q;return 0}s=o;n=k[n>>2]|0;n=i0(k[s>>2]|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;s=M;r=k[p>>2]|0;r=r+40|0;o=r;k[o>>2]=n;r=r+4|0;k[r>>2]=s;r=k[j>>2]|0;s=k[p>>2]|0;s=s+40|0;s=s+8|0;k[s>>2]=r;u=q;return 0}function Sm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;q=t+52|0;g=t+48|0;h=t+44|0;r=t+40|0;s=t;p=t+36|0;i=t+32|0;j=t+28|0;f=t+24|0;l=t+20|0;m=t+16|0;n=t+12|0;o=t+8|0;k[g>>2]=a;k[h>>2]=b;k[r>>2]=c;c=s;k[c>>2]=d;k[c+4>>2]=e;k[p>>2]=k[g>>2];k[i>>2]=k[r>>2];k[j>>2]=k[h>>2];if((k[(k[p>>2]|0)+8>>2]|0)>0?(b=k[r>>2]|0,d=s,d=i0(b|0,((b|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0,b=M,e=k[(k[p>>2]|0)+8>>2]|0,c=((e|0)<0)<<31>>31,(b|0)>(c|0)|(b|0)==(c|0)&d>>>0>e>>>0):0){p=Xm(k[p>>2]|0)|0;k[f>>2]=p;if(!(k[f>>2]|0)){s=Nm(k[g>>2]|0,k[h>>2]|0,k[r>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[f>>2]=s}k[q>>2]=k[f>>2];s=k[q>>2]|0;u=t;return s|0}while(1){if((k[i>>2]|0)<=0){a=18;break}k[l>>2]=k[(k[p>>2]|0)+24+8>>2];g=(k[p>>2]|0)+24|0;h=k[(k[p>>2]|0)+4>>2]|0;h=m0(k[g>>2]|0,k[g+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;k[m>>2]=h;if((k[i>>2]|0)<((k[(k[p>>2]|0)+4>>2]|0)-(k[m>>2]|0)|0))a=k[i>>2]|0;else a=(k[(k[p>>2]|0)+4>>2]|0)-(k[m>>2]|0)|0;k[n>>2]=a;if(!(k[m>>2]|0)){h=ze(12+((k[(k[p>>2]|0)+4>>2]|0)-8)|0)|0;k[o>>2]=h;if(!(k[o>>2]|0)){a=12;break}k[k[o>>2]>>2]=0;a=k[o>>2]|0;if(k[l>>2]|0)k[k[l>>2]>>2]=a;else k[(k[p>>2]|0)+16>>2]=a;k[(k[p>>2]|0)+24+8>>2]=k[o>>2]}r0((k[(k[p>>2]|0)+24+8>>2]|0)+4+(k[m>>2]|0)|0,k[j>>2]|0,k[n>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+(k[n>>2]|0);k[i>>2]=(k[i>>2]|0)-(k[n>>2]|0);g=k[n>>2]|0;h=(k[p>>2]|0)+24|0;e=h;g=i0(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;k[h>>2]=g;k[h+4>>2]=M}if((a|0)==12){k[q>>2]=3082;s=k[q>>2]|0;u=t;return s|0}else if((a|0)==18){r=k[r>>2]|0;s=i0(r|0,((r|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[(k[p>>2]|0)+12>>2]=s;k[q>>2]=0;s=k[q>>2]|0;u=t;return s|0}return 0}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=u;u=u+16|0;g=e+12|0;f=e;d=e+8|0;k[g>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[d>>2]=k[g>>2];c=f;if(!((k[c>>2]|0)==0&(k[c+4>>2]|0)==0)){u=e;return 0}Wm(k[d>>2]|0);k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+24+8>>2]=0;g=(k[d>>2]|0)+24|0;k[g>>2]=0;k[g+4>>2]=0;k[(k[d>>2]|0)+40+8>>2]=0;g=(k[d>>2]|0)+40|0;k[g>>2]=0;k[g+4>>2]=0;u=e;return 0}function Um(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c+4>>2]=a;k[c>>2]=b;u=c;return 0}function Vm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+24|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;u=c;return 0}function Wm(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+16>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];ie(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+16>>2]=0;u=e;return}function Xm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+112|0;d=l+96|0;e=l+92|0;f=l+88|0;g=l+8|0;h=l+84|0;i=l;j=l+80|0;k[d>>2]=a;k[f>>2]=k[d>>2];a=g;b=k[d>>2]|0;c=a+72|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));a=k[d>>2]|0;c=a+72|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));c=Ym(k[g+60>>2]|0,k[g+64>>2]|0,k[f>>2]|0,k[g+56>>2]|0,0)|0;k[e>>2]=c;if(!(k[e>>2]|0)){k[h>>2]=k[g+4>>2];c=i;k[c>>2]=0;k[c+4>>2]=0;k[j>>2]=k[g+16>>2];while(1){if(!(k[j>>2]|0))break;m=i;b=k[h>>2]|0;b=i0(k[m>>2]|0,k[m+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;m=M;c=g+24|0;a=k[c+4>>2]|0;if((m|0)>(a|0)|((m|0)==(a|0)?b>>>0>(k[c>>2]|0)>>>0:0)){c=g+24|0;m=i;m=h0(k[c>>2]|0,k[c+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[h>>2]=m}m=i;m=Nm(k[f>>2]|0,(k[j>>2]|0)+4|0,k[h>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[e>>2]=m;if(k[e>>2]|0)break;c=k[h>>2]|0;m=i;c=i0(k[m>>2]|0,k[m+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;m=i;k[m>>2]=c;k[m+4>>2]=M;k[j>>2]=k[k[j>>2]>>2]}if(!(k[e>>2]|0))Wm(g)}if(!(k[e>>2]|0)){m=k[e>>2]|0;u=l;return m|0}pm(k[f>>2]|0);a=k[d>>2]|0;b=g;c=a+72|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));m=k[e>>2]|0;u=l;return m|0}function Ym(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=u;u=u+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;e=Xb[k[(k[m>>2]|0)+24>>2]&255](k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]&556927,k[h>>2]|0)|0;k[f>>2]=e;u=g;return k[f>>2]|0}function Zm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;h=l+24|0;d=l+20|0;e=l+16|0;i=l+12|0;f=l+8|0;g=l+4|0;j=l;k[h>>2]=a;k[d>>2]=b;k[e>>2]=c;k[i>>2]=k[(k[h>>2]|0)+44>>2];if(k[i>>2]|0){j=k[i>>2]|0;u=l;return j|0}if((k[e>>2]|0)>=(k[(k[h>>2]|0)+104>>2]|0)){j=k[i>>2]|0;u=l;return j|0}k[g>>2]=(k[e>>2]|0)+((k[d>>2]|0)==1?0:1);k[f>>2]=k[g>>2];while(1){if((k[f>>2]|0)>=(k[(k[h>>2]|0)+104>>2]|0))break;zm(k[(k[(k[h>>2]|0)+100>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]|0);k[f>>2]=(k[f>>2]|0)+1}k[(k[h>>2]|0)+104>>2]=k[g>>2];if((k[d>>2]|0)!=1){if((Dm(k[h>>2]|0)|0)==0?(k[k[(k[h>>2]|0)+68>>2]>>2]|0)==0:0){j=k[i>>2]|0;u=l;return j|0}if(!(k[g>>2]|0))a=0;else a=(k[(k[h>>2]|0)+100>>2]|0)+(((k[g>>2]|0)-1|0)*48|0)|0;k[j>>2]=a;j=ro(k[h>>2]|0,k[j>>2]|0)|0;k[i>>2]=j;j=k[i>>2]|0;u=l;return j|0}if(k[g>>2]|0){j=k[i>>2]|0;u=l;return j|0}if(!(k[k[(k[h>>2]|0)+72>>2]>>2]|0)){j=k[i>>2]|0;u=l;return j|0}if(um(k[(k[h>>2]|0)+72>>2]|0)|0){j=vm(k[(k[h>>2]|0)+72>>2]|0,0,0)|0;k[i>>2]=j}k[(k[h>>2]|0)+56>>2]=0;j=k[i>>2]|0;u=l;return j|0}function _m(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+64|0;r=s+8|0;o=s+56|0;p=s+52|0;d=s+48|0;e=s;f=s+44|0;g=s+40|0;h=s+36|0;q=s+32|0;j=s+28|0;m=s+24|0;c=s+20|0;n=s+16|0;k[o>>2]=a;k[p>>2]=b;k[d>>2]=k[k[o>>2]>>2];k[h>>2]=0;k[j>>2]=1;k[m>>2]=0;k[n>>2]=0;b=Hl(k[(k[o>>2]|0)+68>>2]|0,e)|0;k[q>>2]=b;a:do if(!(k[q>>2]|0)){k[m>>2]=k[(k[o>>2]|0)+208>>2];b=$m(k[(k[o>>2]|0)+68>>2]|0,k[m>>2]|0,(k[(k[k[o>>2]>>2]|0)+8>>2]|0)+1|0)|0;k[q>>2]=b;if((k[q>>2]|0)==0?i[k[m>>2]>>0]|0:0){d=an(k[d>>2]|0,k[m>>2]|0,0,j)|0;k[q>>2]=d}k[m>>2]=0;if((k[q>>2]|0)==0&(k[j>>2]|0)!=0){d=(k[o>>2]|0)+80|0;k[d>>2]=0;k[d+4>>2]=0;k[c>>2]=k[p>>2];b:while(1){d=e;d=bn(k[o>>2]|0,k[p>>2]|0,k[d>>2]|0,k[d+4>>2]|0,f,h)|0;k[q>>2]=d;if(k[q>>2]|0){a=8;break}if((k[f>>2]|0)==-1){b=e;b=h0(k[b>>2]|0,k[b+4>>2]|0,k[(k[o>>2]|0)+156>>2]|0,0)|0;d=(k[(k[o>>2]|0)+160>>2]|0)+8|0;d=x0(b|0,M|0,d|0,((d|0)<0)<<31>>31|0)|0;k[f>>2]=d}if(!((k[f>>2]|0)!=0|(k[p>>2]|0)!=0)?(b=(k[o>>2]|0)+88|0,b=i0(k[b>>2]|0,k[b+4>>2]|0,k[(k[o>>2]|0)+156>>2]|0,0)|0,d=(k[o>>2]|0)+80|0,(b|0)==(k[d>>2]|0)?(M|0)==(k[d+4>>2]|0):0):0){d=e;b=(k[o>>2]|0)+80|0;b=h0(k[d>>2]|0,k[d+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;d=(k[(k[o>>2]|0)+160>>2]|0)+8|0;d=x0(b|0,M|0,d|0,((d|0)<0)<<31>>31|0)|0;k[f>>2]=d}d=(k[o>>2]|0)+80|0;if((k[d+4>>2]|0)==0?(k[d>>2]|0)==(k[(k[o>>2]|0)+156>>2]|0):0){d=Fm(k[o>>2]|0,k[h>>2]|0)|0;k[q>>2]=d;if(k[q>>2]|0)break a;k[(k[o>>2]|0)+28>>2]=k[h>>2]}k[g>>2]=0;while(1){if((k[g>>2]|0)>>>0>=(k[f>>2]|0)>>>0)continue b;if(k[c>>2]|0){Jl(k[o>>2]|0);k[c>>2]=0}d=cn(k[o>>2]|0,(k[o>>2]|0)+80|0,0,1,0)|0;k[q>>2]=d;if(k[q>>2]|0)break;k[n>>2]=(k[n>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}if((k[q>>2]|0)!=101){a=26;break}a=e;b=k[a+4>>2]|0;d=(k[o>>2]|0)+80|0;k[d>>2]=k[a>>2];k[d+4>>2]=b}if((a|0)==8){if((k[q>>2]|0)!=101)break;k[q>>2]=0;break}else if((a|0)==26){if((k[q>>2]|0)!=522)break;k[q>>2]=0;break}}}while(0);i[(k[o>>2]|0)+19>>0]=i[(k[o>>2]|0)+13>>0]|0;if(!(k[q>>2]|0)){k[m>>2]=k[(k[o>>2]|0)+208>>2];h=$m(k[(k[o>>2]|0)+68>>2]|0,k[m>>2]|0,(k[(k[k[o>>2]>>2]|0)+8>>2]|0)+1|0)|0;k[q>>2]=h}do if(!(k[q>>2]|0)){if((l[(k[o>>2]|0)+17>>0]|0)<4?l[(k[o>>2]|0)+17>>0]|0:0)break;h=dn(k[o>>2]|0,0)|0;k[q>>2]=h}while(0);if(!(k[q>>2]|0)){h=sm(k[o>>2]|0,(i[k[m>>2]>>0]|0)!=0&1,0)|0;k[q>>2]=h}if((k[q>>2]|0)==0?(k[j>>2]|0?(i[k[m>>2]>>0]|0)!=0:0):0){m=en(k[o>>2]|0,k[m>>2]|0)|0;k[q>>2]=m}if(!((k[p>>2]|0)!=0&(k[n>>2]|0)!=0)){r=k[o>>2]|0;fn(r);r=k[q>>2]|0;u=s;return r|0}p=k[(k[o>>2]|0)+180>>2]|0;k[r>>2]=k[n>>2];k[r+4>>2]=p;Hd(539,24867,r);r=k[o>>2]|0;fn(r);r=k[q>>2]|0;u=s;return r|0}function $m(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;g=p+36|0;h=p+32|0;j=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p;d=p+12|0;e=p+8|0;f=p+40|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;i[k[j>>2]>>0]=0;a=Hl(k[h>>2]|0,o)|0;k[m>>2]=a;c=o;b=k[c+4>>2]|0;if((((((!(0!=(a|0)|((b|0)<0|(b|0)==0&(k[c>>2]|0)>>>0<16))?(b=k[h>>2]|0,c=o,c=h0(k[c>>2]|0,k[c+4>>2]|0,16,0)|0,c=ln(b,c,M,n)|0,k[m>>2]=c,0==(c|0)):0)?!((k[n>>2]|0)==0?1:(k[n>>2]|0)>>>0>=(k[l>>2]|0)>>>0):0)?(c=k[h>>2]|0,l=o,l=h0(k[l>>2]|0,k[l+4>>2]|0,12,0)|0,l=ln(c,l,M,d)|0,k[m>>2]=l,0==(l|0)):0)?(c=k[h>>2]|0,l=o,l=h0(k[l>>2]|0,k[l+4>>2]|0,8,0)|0,l=kn(c,f,8,l,M)|0,k[m>>2]=l,0==(l|0)):0)?(R_(f,24914,8)|0)==0:0)?(c=k[h>>2]|0,h=k[j>>2]|0,l=k[n>>2]|0,o,o=h0(k[o>>2]|0,k[o+4>>2]|0,16,0)|0,o=h0(o|0,M|0,k[n>>2]|0,0)|0,o=kn(c,h,l,o,M)|0,k[m>>2]=o,0==(o|0)):0){k[e>>2]=0;while(1){if((k[e>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;k[d>>2]=(k[d>>2]|0)-(i[(k[j>>2]|0)+(k[e>>2]|0)>>0]|0);k[e>>2]=(k[e>>2]|0)+1}if(k[d>>2]|0)k[n>>2]=0;i[(k[j>>2]|0)+(k[n>>2]|0)>>0]=0;k[g>>2]=0;o=k[g>>2]|0;u=p;return o|0}k[g>>2]=k[m>>2];o=k[g>>2]|0;u=p;return o|0}function an(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=Ub[k[(k[i>>2]|0)+32>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;u=e;return d|0}function bn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+64|0;o=r+44|0;p=r+40|0;q=r+36|0;s=r+8|0;g=r+32|0;h=r+28|0;i=r+24|0;j=r+48|0;l=r;m=r+20|0;n=r+16|0;k[p>>2]=a;k[q>>2]=b;b=s;k[b>>2]=c;k[b+4>>2]=d;k[g>>2]=e;k[h>>2]=f;c=no(k[p>>2]|0)|0;e=(k[p>>2]|0)+80|0;k[e>>2]=c;k[e+4>>2]=M;e=(k[p>>2]|0)+80|0;e=i0(k[e>>2]|0,k[e+4>>2]|0,k[(k[p>>2]|0)+156>>2]|0,0)|0;c=M;f=s;d=k[f+4>>2]|0;if((c|0)>(d|0)|((c|0)==(d|0)?e>>>0>(k[f>>2]|0)>>>0:0)){k[o>>2]=101;s=k[o>>2]|0;u=r;return s|0}e=(k[p>>2]|0)+80|0;f=k[e+4>>2]|0;s=l;k[s>>2]=k[e>>2];k[s+4>>2]=f;if(!(!(k[q>>2]|0)?(q=l,s=(k[p>>2]|0)+88|0,!((k[q>>2]|0)!=(k[s>>2]|0)?1:(k[q+4>>2]|0)!=(k[s+4>>2]|0))):0)){s=l;s=kn(k[(k[p>>2]|0)+68>>2]|0,j,8,k[s>>2]|0,k[s+4>>2]|0)|0;k[i>>2]=s;if(k[i>>2]|0){k[o>>2]=k[i>>2];s=k[o>>2]|0;u=r;return s|0}if(R_(j,24914,8)|0){k[o>>2]=101;s=k[o>>2]|0;u=r;return s|0}}q=k[(k[p>>2]|0)+68>>2]|0;s=l;s=i0(k[s>>2]|0,k[s+4>>2]|0,8,0)|0;s=ln(q,s,M,k[g>>2]|0)|0;k[i>>2]=s;if((0==(s|0)?(q=k[(k[p>>2]|0)+68>>2]|0,s=l,s=i0(k[s>>2]|0,k[s+4>>2]|0,12,0)|0,s=ln(q,s,M,(k[p>>2]|0)+52|0)|0,k[i>>2]=s,0==(s|0)):0)?(q=k[(k[p>>2]|0)+68>>2]|0,s=l,s=i0(k[s>>2]|0,k[s+4>>2]|0,16,0)|0,s=ln(q,s,M,k[h>>2]|0)|0,k[i>>2]=s,0==(s|0)):0){s=(k[p>>2]|0)+80|0;do if((k[s>>2]|0)==0&(k[s+4>>2]|0)==0){q=k[(k[p>>2]|0)+68>>2]|0;s=l;s=i0(k[s>>2]|0,k[s+4>>2]|0,20,0)|0;s=ln(q,s,M,n)|0;k[i>>2]=s;if(0==(s|0)?(q=k[(k[p>>2]|0)+68>>2]|0,s=l,s=i0(k[s>>2]|0,k[s+4>>2]|0,24,0)|0,s=ln(q,s,M,m)|0,k[i>>2]=s,0==(s|0)):0){if(!(k[m>>2]|0))k[m>>2]=k[(k[p>>2]|0)+160>>2];if((!((k[m>>2]|0)>>>0<512|(k[n>>2]|0)>>>0<32|(k[m>>2]|0)>>>0>65536|(k[n>>2]|0)>>>0>65536)?((k[m>>2]|0)-1&k[m>>2]|0)==0:0)?((k[n>>2]|0)-1&k[n>>2]|0)==0:0){s=Fl(k[p>>2]|0,m,-1)|0;k[i>>2]=s;k[(k[p>>2]|0)+156>>2]=k[n>>2];break}k[o>>2]=101;s=k[o>>2]|0;u=r;return s|0}k[o>>2]=k[i>>2];s=k[o>>2]|0;u=r;return s|0}while(0);s=(k[p>>2]|0)+80|0;q=s;q=i0(k[q>>2]|0,k[q+4>>2]|0,k[(k[p>>2]|0)+156>>2]|0,0)|0;k[s>>2]=q;k[s+4>>2]=M;k[o>>2]=k[i>>2];s=k[o>>2]|0;u=r;return s|0}k[o>>2]=k[i>>2];s=k[o>>2]|0;u=r;return s|0}function cn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+64|0;A=B+60|0;t=B+56|0;n=B+52|0;o=B+48|0;v=B+44|0;f=B+40|0;y=B+36|0;z=B+32|0;p=B+28|0;g=B+24|0;q=B+20|0;h=B+16|0;r=B+12|0;s=B;x=B+8|0;k[t>>2]=a;k[n>>2]=b;k[o>>2]=c;k[v>>2]=d;k[f>>2]=e;k[q>>2]=k[(k[t>>2]|0)+208>>2];a=k[t>>2]|0;if(k[v>>2]|0)a=k[a+68>>2]|0;else a=k[a+72>>2]|0;k[h>>2]=a;e=k[n>>2]|0;e=ln(k[h>>2]|0,k[e>>2]|0,k[e+4>>2]|0,p)|0;k[y>>2]=e;if(k[y>>2]|0){k[A>>2]=k[y>>2];A=k[A>>2]|0;u=B;return A|0}b=k[h>>2]|0;c=k[q>>2]|0;d=k[(k[t>>2]|0)+160>>2]|0;e=k[n>>2]|0;e=i0(k[e>>2]|0,k[e+4>>2]|0,4,0)|0;e=kn(b,c,d,e,M)|0;k[y>>2]=e;if(k[y>>2]|0){k[A>>2]=k[y>>2];A=k[A>>2]|0;u=B;return A|0}d=(k[(k[t>>2]|0)+160>>2]|0)+4+(k[v>>2]<<2)|0;e=k[n>>2]|0;c=e;d=i0(k[c>>2]|0,k[c+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;k[e>>2]=d;k[e+4>>2]=M;if(k[p>>2]|0?(k[p>>2]|0)!=(((k[482]|0)/(k[(k[t>>2]|0)+160>>2]|0)|0)+1|0):0){if((k[p>>2]|0)>>>0<=(k[(k[t>>2]|0)+28>>2]|0)>>>0?(mn(k[o>>2]|0,k[p>>2]|0)|0)==0:0){if(k[v>>2]|0){e=k[h>>2]|0;h=k[n>>2]|0;h=h0(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;h=ln(e,h,M,g)|0;k[y>>2]=h;if(k[y>>2]|0){k[A>>2]=k[y>>2];A=k[A>>2]|0;u=B;return A|0}if((k[f>>2]|0)==0?(h=nn(k[t>>2]|0,k[q>>2]|0)|0,(h|0)!=(k[g>>2]|0)):0){k[A>>2]=101;A=k[A>>2]|0;u=B;return A|0}}if(k[o>>2]|0?(o=on(k[o>>2]|0,k[p>>2]|0)|0,k[y>>2]=o,o|0):0){k[A>>2]=k[y>>2];A=k[A>>2]|0;u=B;return A|0}if((k[p>>2]|0)==1?(j[(k[t>>2]|0)+150>>1]|0)!=(l[(k[q>>2]|0)+20>>0]|0):0)j[(k[t>>2]|0)+150>>1]=l[(k[q>>2]|0)+20>>0]|0;if(Dm(k[t>>2]|0)|0)k[z>>2]=0;else{o=pn(k[t>>2]|0,k[p>>2]|0)|0;k[z>>2]=o}if(k[v>>2]|0){if(l[(k[t>>2]|0)+7>>0]|0)a=1;else{o=k[n>>2]|0;h=k[o+4>>2]|0;a=(k[t>>2]|0)+88|0;n=k[a+4>>2]|0;a=(h|0)<(n|0)|((h|0)==(n|0)?(k[o>>2]|0)>>>0<=(k[a>>2]|0)>>>0:0)}k[r>>2]=a&1}else{if(!(k[z>>2]|0))a=1;else a=0==(m[(k[z>>2]|0)+24>>1]&8|0);k[r>>2]=a&1}do if(k[k[(k[t>>2]|0)+64>>2]>>2]|0){if((l[(k[t>>2]|0)+17>>0]|0)>=4){if(!(k[r>>2]|0)){w=44;break}}else if(!(k[r>>2]|0?(l[(k[t>>2]|0)+17>>0]|0)==0:0)){w=44;break}o=k[(k[t>>2]|0)+160>>2]|0;o=B0((k[p>>2]|0)-1|0,0,o|0,((o|0)<0)<<31>>31|0)|0;r=s;k[r>>2]=o;k[r+4>>2]=M;s=Nm(k[(k[t>>2]|0)+64>>2]|0,k[q>>2]|0,k[(k[t>>2]|0)+160>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[y>>2]=s;if((k[p>>2]|0)>>>0>(k[(k[t>>2]|0)+36>>2]|0)>>>0)k[(k[t>>2]|0)+36>>2]=k[p>>2];if(k[(k[t>>2]|0)+96>>2]|0){qn(k[(k[t>>2]|0)+96>>2]|0,k[p>>2]|0,k[q>>2]|0);k[q>>2]=k[q>>2]}}else w=44;while(0);do if((w|0)==44?(k[v>>2]|0)==0&(k[z>>2]|0)==0:0){w=(k[t>>2]|0)+21|0;i[w>>0]=l[w>>0]|2;w=rn(k[t>>2]|0,k[p>>2]|0,z,1)|0;k[y>>2]=w;w=(k[t>>2]|0)+21|0;i[w>>0]=l[w>>0]&-3;if(!(k[y>>2]|0)){sn(k[z>>2]|0);break}k[A>>2]=k[y>>2];A=k[A>>2]|0;u=B;return A|0}while(0);if(k[z>>2]|0){k[x>>2]=k[(k[z>>2]|0)+4>>2];r0(k[x>>2]|0,k[q>>2]|0,k[(k[t>>2]|0)+160>>2]|0)|0;Ob[k[(k[t>>2]|0)+204>>2]&255](k[z>>2]|0);if((k[p>>2]|0)==1){c=(k[t>>2]|0)+112|0;a=(k[x>>2]|0)+24|0;b=c+16|0;do{i[c>>0]=i[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(b|0))}tn(k[z>>2]|0)}k[A>>2]=k[y>>2];A=k[A>>2]|0;u=B;return A|0}k[A>>2]=0;A=k[A>>2]|0;u=B;return A|0}k[A>>2]=101;A=k[A>>2]|0;u=B;return A|0}function dn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(k[k[(k[c>>2]|0)+64>>2]>>2]|0){k[f>>2]=k[d>>2];f=Gm(k[(k[c>>2]|0)+64>>2]|0,21,k[f>>2]|0)|0;k[e>>2]=f;k[e>>2]=(k[e>>2]|0)==12?0:f}if(k[e>>2]|0){f=k[e>>2]|0;u=g;return f|0}if(i[(k[c>>2]|0)+7>>0]|0){f=k[e>>2]|0;u=g;return f|0}f=wm(k[(k[c>>2]|0)+64>>2]|0,l[(k[c>>2]|0)+12>>0]|0)|0;k[e>>2]=f;f=k[e>>2]|0;u=g;return f|0}function en(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;s=r+60|0;j=r+56|0;l=r+52|0;m=r+48|0;n=r+44|0;o=r+40|0;p=r+36|0;q=r;c=r+32|0;d=r+28|0;e=r+24|0;f=r+16|0;g=r+12|0;h=r+8|0;k[s>>2]=a;k[j>>2]=b;k[l>>2]=k[k[s>>2]>>2];k[p>>2]=0;b=k[(k[l>>2]|0)+4>>2]<<1;b=fh(b,((b|0)<0)<<31>>31)|0;k[n>>2]=b;k[o>>2]=(k[n>>2]|0)+(k[(k[l>>2]|0)+4>>2]|0);if(k[n>>2]|0){k[r+20>>2]=16385;s=Ym(k[l>>2]|0,k[j>>2]|0,k[n>>2]|0,16385,0)|0;k[m>>2]=s}else k[m>>2]=7;a:do if((k[m>>2]|0)==0?(s=Hl(k[n>>2]|0,q)|0,k[m>>2]=s,(k[m>>2]|0)==0):0){k[e>>2]=(k[(k[l>>2]|0)+8>>2]|0)+1;b=q;s=k[e>>2]|0;s=i0(k[b>>2]|0,k[b+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;s=i0(s|0,M|0,1,0)|0;s=Pd(s,M)|0;k[p>>2]=s;if(!(k[p>>2]|0)){k[m>>2]=7;break}b=k[p>>2]|0;s=q;s=i0(k[s>>2]|0,k[s+4>>2]|0,1,0)|0;k[d>>2]=b+s;s=kn(k[n>>2]|0,k[p>>2]|0,k[q>>2]|0,0,0)|0;k[m>>2]=s;if(!(k[m>>2]|0)){i[(k[p>>2]|0)+(k[q>>2]|0)>>0]=0;k[c>>2]=k[p>>2];while(1){b=(k[c>>2]|0)-(k[p>>2]|0)|0;t=((b|0)<0)<<31>>31;s=q;a=k[s+4>>2]|0;if(!((t|0)<(a|0)|((t|0)==(a|0)?b>>>0<(k[s>>2]|0)>>>0:0)))break;t=an(k[l>>2]|0,k[c>>2]|0,0,f)|0;k[m>>2]=t;if(k[m>>2]|0)break a;if(k[f>>2]|0){k[h>>2]=2049;t=Ym(k[l>>2]|0,k[c>>2]|0,k[o>>2]|0,k[h>>2]|0,0)|0;k[m>>2]=t;if(k[m>>2]|0)break a;t=$m(k[o>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[m>>2]=t;pm(k[o>>2]|0);if(k[m>>2]|0)break a;if(i[k[d>>2]>>0]|0)a=(Q_(k[d>>2]|0,k[j>>2]|0)|0)==0;else a=0;k[g>>2]=a&1;if(k[g>>2]|0)break a}t=(wd(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+t}pm(k[n>>2]|0);t=ym(k[l>>2]|0,k[j>>2]|0,0)|0;k[m>>2]=t}}while(0);ie(k[p>>2]|0);if(!(k[n>>2]|0)){t=k[m>>2]|0;u=r;return t|0}pm(k[n>>2]|0);ie(k[n>>2]|0);t=k[m>>2]|0;u=r;return t|0}function fn(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if((l[(k[b>>2]|0)+13>>0]|0|0)==0?((gn(k[(k[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=hn(k[(k[b>>2]|0)+64>>2]|0)|0;b=k[b>>2]|0;b=b+156|0;k[b>>2]=a;u=c;return}a=512;b=k[b>>2]|0;b=b+156|0;k[b>>2]=a;u=c;return}function gn(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Rb[k[(k[k[c>>2]>>2]|0)+48>>2]&255](k[c>>2]|0)|0;u=b;return a|0}function hn(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;a=jn(k[d>>2]|0)|0;k[b>>2]=a;if((k[b>>2]|0)>=32){if((k[b>>2]|0)>65536)k[b>>2]=65536}else k[b>>2]=512;u=c;return k[b>>2]|0}function jn(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[k[b>>2]>>2]|0)+44>>2];if(!(k[c>>2]|0)){c=4096;u=d;return c|0}c=Rb[k[c>>2]&255](k[b>>2]|0)|0;u=d;return c|0}function kn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=u;u=u+32|0;i=f+16|0;h=f+12|0;g=f+8|0;j=f;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;c=j;k[c>>2]=d;k[c+4>>2]=e;e=j;e=Xb[k[(k[k[i>>2]>>2]|0)+8>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;u=f;return e|0}function ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;j=h;e=h+12|0;f=h+20|0;g=h+8|0;k[i>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=d;d=j;d=kn(k[i>>2]|0,f,4,k[d>>2]|0,k[d+4>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0){j=k[g>>2]|0;u=h;return j|0}j=dm(f)|0;k[k[e>>2]>>2]=j;j=k[g>>2]|0;u=h;return j|0}function mn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){d=0;d=d&1;u=e;return d|0}d=(fo(k[c>>2]|0,k[d>>2]|0)|0)!=0;d=d&1;u=e;return d|0}function nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[g>>2]|0)+52>>2];k[e>>2]=(k[(k[g>>2]|0)+160>>2]|0)-200;while(1){if((k[e>>2]|0)<=0)break;k[d>>2]=(k[d>>2]|0)+(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0);k[e>>2]=(k[e>>2]|0)-200}u=f;return k[d>>2]|0}function on(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+32|0;g=o+28|0;h=o+24|0;d=o+20|0;e=o+16|0;c=o+12|0;j=o+8|0;m=o+4|0;n=o;k[h>>2]=a;k[d>>2]=b;if(!(k[h>>2]|0)){k[g>>2]=0;n=k[g>>2]|0;u=o;return n|0}k[d>>2]=(k[d>>2]|0)+-1;while(1){if((k[k[h>>2]>>2]|0)>>>0<=4e3)break;if(!(k[(k[h>>2]|0)+8>>2]|0))break;k[c>>2]=((k[d>>2]|0)>>>0)/((k[(k[h>>2]|0)+8>>2]|0)>>>0)|0;k[d>>2]=((k[d>>2]|0)>>>0)%((k[(k[h>>2]|0)+8>>2]|0)>>>0)|0;if((k[(k[h>>2]|0)+12+(k[c>>2]<<2)>>2]|0)==0?(b=io(k[(k[h>>2]|0)+8>>2]|0)|0,k[(k[h>>2]|0)+12+(k[c>>2]<<2)>>2]=b,(k[(k[h>>2]|0)+12+(k[c>>2]<<2)>>2]|0)==0):0){f=8;break}k[h>>2]=k[(k[h>>2]|0)+12+(k[c>>2]<<2)>>2]}if((f|0)==8){k[g>>2]=7;n=k[g>>2]|0;u=o;return n|0}a=k[d>>2]|0;if((k[k[h>>2]>>2]|0)>>>0<=4e3){n=(k[h>>2]|0)+12+(((k[d>>2]|0)>>>0)/8|0)|0;i[n>>0]=l[n>>0]|0|1<<(a&7);k[g>>2]=0;n=k[g>>2]|0;u=o;return n|0}k[d>>2]=a+1;k[e>>2]=(a>>>0)%125|0;a:do if(!(k[(k[h>>2]|0)+12+(k[e>>2]<<2)>>2]|0)){if((k[(k[h>>2]|0)+4>>2]|0)>>>0>=124)f=17}else{while(1){if((k[(k[h>>2]|0)+12+(k[e>>2]<<2)>>2]|0)==(k[d>>2]|0))break;f=(k[e>>2]|0)+1|0;k[e>>2]=f;k[e>>2]=(k[e>>2]|0)>>>0>=125?0:f;if(!(k[(k[h>>2]|0)+12+(k[e>>2]<<2)>>2]|0)){f=17;break a}}k[g>>2]=0;n=k[g>>2]|0;u=o;return n|0}while(0);if((f|0)==17?(k[(k[h>>2]|0)+4>>2]|0)>>>0>=62:0){f=Md(0,500,0)|0;k[n>>2]=f;if(!(k[n>>2]|0)){k[g>>2]=7;n=k[g>>2]|0;u=o;return n|0}r0(k[n>>2]|0,(k[h>>2]|0)+12|0,500)|0;w0((k[h>>2]|0)+12|0,0,500)|0;k[(k[h>>2]|0)+8>>2]=(((k[k[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;f=on(k[h>>2]|0,k[d>>2]|0)|0;k[m>>2]=f;k[j>>2]=0;while(1){a=k[n>>2]|0;if((k[j>>2]|0)>>>0>=125)break;if(k[a+(k[j>>2]<<2)>>2]|0){f=on(k[h>>2]|0,k[(k[n>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[m>>2]=k[m>>2]|f}k[j>>2]=(k[j>>2]|0)+1}fe(0,a);k[g>>2]=k[m>>2];n=k[g>>2]|0;u=o;return n|0}n=(k[h>>2]|0)+4|0;k[n>>2]=(k[n>>2]|0)+1;k[(k[h>>2]|0)+12+(k[e>>2]<<2)>>2]=k[d>>2];k[g>>2]=0;n=k[g>>2]|0;u=o;return n|0}function pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=zn(k[(k[d>>2]|0)+212>>2]|0,k[e>>2]|0,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}else{f=Bn(k[(k[d>>2]|0)+212>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;u=g;return f|0}return 0}function qn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){u=g;return}On(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);u=g;return}function rn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=u;u=u+48|0;n=s+44|0;o=s+40|0;p=s+36|0;q=s+32|0;t=s+28|0;r=s+24|0;h=s+20|0;i=s+16|0;j=s+12|0;m=s+8|0;e=s+4|0;f=s;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[t>>2]=d;k[r>>2]=0;k[h>>2]=0;k[i>>2]=0;k[j>>2]=k[t>>2]&1;k[m>>2]=0;if((k[p>>2]|0)>>>0<=1&(k[p>>2]|0)==0){t=un(51704)|0;k[n>>2]=t;t=k[n>>2]|0;u=s;return t|0}do if(k[(k[o>>2]|0)+44>>2]|0){k[r>>2]=k[(k[o>>2]|0)+44>>2];g=24}else{if((k[m>>2]|0?Dm(k[o>>2]|0)|0:0)?(t=vn(k[(k[o>>2]|0)+216>>2]|0,k[p>>2]|0,i)|0,k[r>>2]=t,k[r>>2]|0):0)break;if((k[m>>2]|0)!=0&(k[i>>2]|0)==0){k[e>>2]=0;d=k[(k[o>>2]|0)+64>>2]|0;t=k[(k[o>>2]|0)+160>>2]|0;t=B0((k[p>>2]|0)-1|0,0,t|0,((t|0)<0)<<31>>31|0)|0;t=wn(d,t,M,k[(k[o>>2]|0)+160>>2]|0,e)|0;k[r>>2]=t;if((k[r>>2]|0)==0&(k[e>>2]|0)!=0){if(!((l[(k[o>>2]|0)+17>>0]|0|0)<=1?!(l[(k[o>>2]|0)+13>>0]|0|0):0)){t=pn(k[o>>2]|0,k[p>>2]|0)|0;k[h>>2]=t}a=k[o>>2]|0;if(!(k[h>>2]|0)){t=xn(a,k[p>>2]|0,k[e>>2]|0,h)|0;k[r>>2]=t}else{d=k[a+64>>2]|0;t=k[(k[o>>2]|0)+160>>2]|0;t=B0((k[p>>2]|0)-1|0,0,t|0,((t|0)<0)<<31>>31|0)|0;yn(d,t,M,k[e>>2]|0)|0}if(k[h>>2]|0){k[k[q>>2]>>2]=k[h>>2];k[n>>2]=0;t=k[n>>2]|0;u=s;return t|0}}if(k[r>>2]|0)break}t=zn(k[(k[o>>2]|0)+212>>2]|0,k[p>>2]|0,3)|0;k[f>>2]=t;if(!(k[f>>2]|0)){t=An(k[(k[o>>2]|0)+212>>2]|0,k[p>>2]|0,f)|0;k[r>>2]=t;if(k[r>>2]|0)break;if(!(k[f>>2]|0)){k[k[q>>2]>>2]=0;k[h>>2]=0;k[r>>2]=7;break}}g=Bn(k[(k[o>>2]|0)+212>>2]|0,k[p>>2]|0,k[f>>2]|0)|0;k[k[q>>2]>>2]=g;k[h>>2]=g;g=24}while(0);do if((g|0)==24){if(k[r>>2]|0){k[h>>2]=0;break}a=k[o>>2]|0;if(!(k[j>>2]|0?1:(k[(k[h>>2]|0)+16>>2]|0)==0)){t=a+192|0;k[t>>2]=(k[t>>2]|0)+1;k[n>>2]=0;t=k[n>>2]|0;u=s;return t|0}k[(k[h>>2]|0)+16>>2]=a;if((k[p>>2]|0)>>>0<=2147483647?(k[p>>2]|0)!=(((k[482]|0)/(k[(k[o>>2]|0)+160>>2]|0)|0)+1|0):0){if(k[k[(k[o>>2]|0)+64>>2]>>2]|0?!(k[j>>2]|0?1:(k[(k[o>>2]|0)+28>>2]|0)>>>0<(k[p>>2]|0)>>>0):0){t=(Dm(k[o>>2]|0)|0)!=0;if(t&(k[m>>2]|0)==0?(t=vn(k[(k[o>>2]|0)+216>>2]|0,k[p>>2]|0,i)|0,k[r>>2]=t,k[r>>2]|0):0)break;t=(k[o>>2]|0)+192+4|0;k[t>>2]=(k[t>>2]|0)+1;t=Dn(k[h>>2]|0,k[i>>2]|0)|0;k[r>>2]=t;if(k[r>>2]|0)break}else{if((k[p>>2]|0)>>>0>(k[(k[o>>2]|0)+164>>2]|0)>>>0){k[r>>2]=13;break}if(k[j>>2]|0){ch();if((k[p>>2]|0)>>>0<=(k[(k[o>>2]|0)+32>>2]|0)>>>0)on(k[(k[o>>2]|0)+60>>2]|0,k[p>>2]|0)|0;Cn(k[o>>2]|0,k[p>>2]|0)|0;eh()}w0(k[(k[h>>2]|0)+4>>2]|0,0,k[(k[o>>2]|0)+160>>2]|0)|0}k[n>>2]=0;t=k[n>>2]|0;u=s;return t|0}t=un(51793)|0;k[r>>2]=t}while(0);if(k[h>>2]|0)En(k[h>>2]|0);Fn(k[o>>2]|0);k[k[q>>2]>>2]=0;k[n>>2]=k[r>>2];t=k[n>>2]|0;u=s;return t|0}function sn(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!((m[(k[b>>2]|0)+24>>1]|0)&17)){u=c;return}a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-17;if(!((m[(k[b>>2]|0)+24>>1]|0)&1)){u=c;return}a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)^3;Sl(k[b>>2]|0,2);u=c;return}function tn(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;b=c;k[b>>2]=a;d=(k[(k[b>>2]|0)+28>>2]|0)+12|0;k[d>>2]=(k[d>>2]|0)+-1;d=(k[b>>2]|0)+26|0;a=(j[d>>1]|0)+-1<<16>>16;j[d>>1]=a;if(a<<16>>16|0){u=c;return}a=k[b>>2]|0;if((m[(k[b>>2]|0)+24>>1]|0)&1|0){Tl(a);u=c;return}if(!(k[a+36>>2]|0)){u=c;return}Sl(k[b>>2]|0,3);u=c;return}function un(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Fd(11,k[c>>2]|0,24894)|0;u=b;return a|0}function vn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+64|0;s=w+56|0;n=w+52|0;o=w+48|0;t=w+44|0;v=w+40|0;p=w+36|0;q=w+32|0;d=w+28|0;e=w+24|0;f=w+20|0;g=w+16|0;h=w+12|0;i=w+8|0;r=w+4|0;l=w;k[n>>2]=a;k[o>>2]=b;k[t>>2]=c;k[v>>2]=0;k[p>>2]=k[(k[n>>2]|0)+52+16>>2];if(k[p>>2]|0?j[(k[n>>2]|0)+40>>1]|0:0){c=In(k[(k[n>>2]|0)+100>>2]|0)|0;k[d>>2]=c;c=In(k[p>>2]|0)|0;k[q>>2]=c;a:while(1){if(!((k[q>>2]|0)>=(k[d>>2]|0)?(k[v>>2]|0)==0:0)){a=18;break}c=Jn(k[n>>2]|0,k[q>>2]|0,e,f,g)|0;k[r>>2]=c;if(k[r>>2]|0){a=7;break}k[i>>2]=8192;c=Kn(k[o>>2]|0)|0;k[h>>2]=c;while(1){if(!(j[(k[e>>2]|0)+(k[h>>2]<<1)>>1]|0))break;k[l>>2]=(m[(k[e>>2]|0)+(k[h>>2]<<1)>>1]|0)+(k[g>>2]|0);if(((k[l>>2]|0)>>>0<=(k[p>>2]|0)>>>0?(k[l>>2]|0)>>>0>=(k[(k[n>>2]|0)+100>>2]|0)>>>0:0)?(k[(k[f>>2]|0)+(m[(k[e>>2]|0)+(k[h>>2]<<1)>>1]<<2)>>2]|0)==(k[o>>2]|0):0)k[v>>2]=k[l>>2];c=k[i>>2]|0;k[i>>2]=c+-1;if(!c){a=15;break a}c=Ln(k[h>>2]|0)|0;k[h>>2]=c}k[q>>2]=(k[q>>2]|0)+-1}if((a|0)==7){k[s>>2]=k[r>>2];v=k[s>>2]|0;u=w;return v|0}else if((a|0)==15){v=un(56344)|0;k[s>>2]=v;v=k[s>>2]|0;u=w;return v|0}else if((a|0)==18){k[k[t>>2]>>2]=k[v>>2];k[s>>2]=0;v=k[s>>2]|0;u=w;return v|0}}k[k[t>>2]>>2]=0;k[s>>2]=0;v=k[s>>2]|0;u=w;return v|0}function wn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=u;u=u+32|0;g=f+8|0;k[f+16>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;k[k[g>>2]>>2]=0;u=f;return 0}function xn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0;n=u;u=u+32|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;a=k[f>>2]|0;do if(k[(k[f>>2]|0)+144>>2]|0){d=k[a+144>>2]|0;k[l>>2]=d;k[k[i>>2]>>2]=d;k[(k[f>>2]|0)+144>>2]=k[(k[l>>2]|0)+12>>2];k[(k[l>>2]|0)+12>>2]=0;w0(k[(k[l>>2]|0)+8>>2]|0,0,m[(k[f>>2]|0)+148>>1]|0|0)|0}else{d=fh(40+(m[a+148>>1]|0)|0,0)|0;k[l>>2]=d;k[k[i>>2]>>2]=d;if(k[l>>2]|0){k[(k[l>>2]|0)+8>>2]=(k[l>>2]|0)+40;j[(k[l>>2]|0)+24>>1]=32;j[(k[l>>2]|0)+26>>1]=1;k[(k[l>>2]|0)+16>>2]=k[f>>2];break}i=k[(k[f>>2]|0)+64>>2]|0;l=k[(k[f>>2]|0)+160>>2]|0;l=B0((k[g>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;yn(i,l,M,k[h>>2]|0)|0;k[e>>2]=7;l=k[e>>2]|0;u=n;return l|0}while(0);k[(k[l>>2]|0)+20>>2]=k[g>>2];k[(k[l>>2]|0)+4>>2]=k[h>>2];l=(k[f>>2]|0)+128|0;k[l>>2]=(k[l>>2]|0)+1;k[e>>2]=0;l=k[e>>2]|0;u=n;return l|0}function yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=u;u=u+16|0;k[e+12>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[e+8>>2]=d;u=e;return 0}function zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=u;u=u+32|0;h=e+16|0;g=e+12|0;i=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[f>>2]=k[i>>2]&(l[(k[h>>2]|0)+33>>0]|0);c=Lb[k[144>>2]&255](k[(k[h>>2]|0)+44>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=c;u=e;return k[d>>2]|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0;n=u;u=u+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n+4|0;i=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((l[(k[e>>2]|0)+33>>0]|0)==2){k[d>>2]=0;i=k[d>>2]|0;u=n;return i|0}c=nl(k[e>>2]|0)|0;if((c|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if((j[(k[h>>2]|0)+26>>1]|0)==0?(m[(k[h>>2]|0)+24>>1]&8|0)==0:0)break;k[h>>2]=k[(k[h>>2]|0)+36>>2]}k[(k[e>>2]|0)+8>>2]=k[h>>2];a:do if(!(k[h>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+4>>2];while(1){if(!(k[h>>2]|0))break a;if(!(j[(k[h>>2]|0)+26>>1]|0))break a;k[h>>2]=k[(k[h>>2]|0)+36>>2]}}while(0);if(k[h>>2]|0?(h=Wb[k[(k[e>>2]|0)+36>>2]&255](k[(k[e>>2]|0)+40>>2]|0,k[h>>2]|0)|0,k[i>>2]=h,(k[i>>2]|0)!=0&(k[i>>2]|0)!=5):0){k[d>>2]=k[i>>2];i=k[d>>2]|0;u=n;return i|0}}i=Lb[k[144>>2]&255](k[(k[e>>2]|0)+44>>2]|0,k[f>>2]|0,2)|0;k[k[g>>2]>>2]=i;k[d>>2]=(k[k[g>>2]>>2]|0)==0?7:0;i=k[d>>2]|0;u=n;return i|0}function Bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;d=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[f>>2]|0)+4>>2];a=k[i>>2]|0;if(k[k[g>>2]>>2]|0){i=a+12|0;k[i>>2]=(k[i>>2]|0)+1;i=(k[g>>2]|0)+26|0;j[i>>1]=(j[i>>1]|0)+1<<16>>16;k[d>>2]=k[g>>2];i=k[d>>2]|0;u=h;return i|0}else{i=Hn(a,k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=i;i=k[d>>2]|0;u=h;return i|0}return 0}function Cn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+104>>2]|0))break;k[g>>2]=(k[(k[c>>2]|0)+100>>2]|0)+((k[e>>2]|0)*48|0);if((k[d>>2]|0)>>>0<=(k[(k[g>>2]|0)+20>>2]|0)>>>0){b=on(k[(k[g>>2]|0)+16>>2]|0,k[d>>2]|0)|0;k[f>>2]=k[f>>2]|b}k[e>>2]=(k[e>>2]|0)+1}u=h;return k[f>>2]|0}function Dn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+48|0;c=m+32|0;d=m+28|0;e=m+24|0;f=m+20|0;l=m+16|0;g=m+12|0;h=m;j=m+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+16>>2];k[f>>2]=k[(k[c>>2]|0)+20>>2];k[l>>2]=0;k[g>>2]=k[(k[e>>2]|0)+160>>2];if(k[d>>2]|0){h=Gn(k[(k[e>>2]|0)+216>>2]|0,k[d>>2]|0,k[g>>2]|0,k[(k[c>>2]|0)+4>>2]|0)|0;k[l>>2]=h}else{b=k[(k[e>>2]|0)+160>>2]|0;b=B0((k[f>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;d=h;k[d>>2]=b;k[d+4>>2]=M;h=kn(k[(k[e>>2]|0)+64>>2]|0,k[(k[c>>2]|0)+4>>2]|0,k[g>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[l>>2]=h;k[l>>2]=(k[l>>2]|0)==522?0:h}if((k[f>>2]|0)!=1){l=k[l>>2]|0;u=m;return l|0}if(k[l>>2]|0){j=(k[e>>2]|0)+112|0;k[j>>2]=-1;k[j+4>>2]=-1;k[j+8>>2]=-1;k[j+12>>2]=-1;l=k[l>>2]|0;u=m;return l|0}else{k[j>>2]=(k[(k[c>>2]|0)+4>>2]|0)+24;c=(k[e>>2]|0)+112|0;a=k[j>>2]|0;b=c+16|0;do{i[c>>0]=i[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(b|0));l=k[l>>2]|0;u=m;return l|0}return 0}function En(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if((m[(k[b>>2]|0)+24>>1]|0)&2|0)Sl(k[b>>2]|0,1);a=(k[(k[b>>2]|0)+28>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;Sb[k[148>>2]&255](k[(k[(k[b>>2]|0)+28>>2]|0)+44>>2]|0,k[k[b>>2]>>2]|0,1);u=c;return}function Fn(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+128>>2]|0){u=c;return}if(Gl(k[(k[b>>2]|0)+212>>2]|0)|0){u=c;return}om(k[b>>2]|0);u=c;return}function Gn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;e=u;u=u+32|0;i=e+24|0;l=e+20|0;f=e+16|0;h=e+12|0;g=e+8|0;j=e;k[i>>2]=a;k[l>>2]=b;k[f>>2]=c;k[h>>2]=d;k[g>>2]=m[(k[i>>2]|0)+52+14>>1];k[g>>2]=(k[g>>2]&65024)+((k[g>>2]&1)<<16);c=(k[g>>2]|0)+24|0;c=B0((k[l>>2]|0)-1|0,0,c|0,((c|0)<0)<<31>>31|0)|0;c=i0(32,0,c|0,M|0)|0;c=i0(c|0,M|0,24,0)|0;d=j;k[d>>2]=c;k[d+4>>2]=M;d=j;d=kn(k[(k[i>>2]|0)+8>>2]|0,k[h>>2]|0,(k[f>>2]|0)>(k[g>>2]|0)?k[g>>2]|0:k[f>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;u=e;return d|0}function Hn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=u;u=u+16|0;g=d+12|0;f=d+8|0;e=d+4|0;h=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];c=(k[h>>2]|0)+12|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[c+24>>2]=0;k[k[h>>2]>>2]=k[e>>2];k[(k[h>>2]|0)+4>>2]=k[k[e>>2]>>2];k[(k[h>>2]|0)+8>>2]=(k[h>>2]|0)+40;w0(k[(k[h>>2]|0)+8>>2]|0,0,k[(k[g>>2]|0)+28>>2]|0)|0;k[(k[h>>2]|0)+28>>2]=k[g>>2];k[(k[h>>2]|0)+20>>2]=k[f>>2];j[(k[h>>2]|0)+24>>1]=1;c=Bn(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;u=d;return c|0}function In(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(((k[d>>2]|0)+4096-4062-1|0)>>>0)/4096|0;u=c;return k[b>>2]|0}function Jn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+48|0;p=o+32|0;j=o+28|0;l=o+24|0;m=o+20|0;n=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;i=o;k[p>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;e=Mn(k[p>>2]|0,k[j>>2]|0,g)|0;k[f>>2]=e;if(k[f>>2]|0){p=k[f>>2]|0;u=o;return p|0}k[i>>2]=(k[g>>2]|0)+16384;if(!(k[j>>2]|0)){k[g>>2]=(k[g>>2]|0)+136;k[h>>2]=0}else k[h>>2]=4062+((k[j>>2]|0)-1<<12);k[k[m>>2]>>2]=(k[g>>2]|0)+-4;k[k[l>>2]>>2]=k[i>>2];k[k[n>>2]>>2]=k[h>>2];p=k[f>>2]|0;u=o;return p|0}function Kn(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (k[b>>2]|0)*383&8191|0}function Ln(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (k[b>>2]|0)+1&8191|0}function Mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=0;do if((k[(k[e>>2]|0)+24>>2]|0)<=(k[f>>2]|0)){k[j>>2]=(k[f>>2]|0)+1<<2;j=k[j>>2]|0;j=oe(k[(k[e>>2]|0)+32>>2]|0,j,((j|0)<0)<<31>>31)|0;k[m>>2]=j;if(k[m>>2]|0){w0((k[m>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0,0,(k[f>>2]|0)+1-(k[(k[e>>2]|0)+24>>2]|0)<<2|0)|0;k[(k[e>>2]|0)+32>>2]=k[m>>2];k[(k[e>>2]|0)+24>>2]=(k[f>>2]|0)+1;break}k[k[g>>2]>>2]=0;k[d>>2]=7;m=k[d>>2]|0;u=n;return m|0}while(0);do if(!(k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]|0))if((l[(k[e>>2]|0)+43>>0]|0|0)==2){m=fh(32768,0)|0;k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]=m;if(k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]|0)break;k[h>>2]=7;break}else{m=Nn(k[(k[e>>2]|0)+4>>2]|0,k[f>>2]|0,32768,l[(k[e>>2]|0)+44>>0]|0,(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)|0)|0;k[h>>2]=m;if((k[h>>2]|0)!=8)break;m=(k[e>>2]|0)+46|0;i[m>>0]=l[m>>0]|0|2;k[h>>2]=0;break}while(0);k[k[g>>2]>>2]=k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2];k[d>>2]=k[h>>2];m=k[d>>2]|0;u=n;return m|0}function Nn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=u;u=u+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;e=Xb[k[(k[k[l>>2]>>2]|0)+52>>2]&255](k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;u=f;return e|0}function On(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do{if(((Pn(k[(k[d>>2]|0)+28>>2]|0)|0)==0?(k[e>>2]|0)>>>0<(k[(k[d>>2]|0)+16>>2]|0)>>>0:0)?(Dd(k[(k[k[d>>2]>>2]|0)+12>>2]|0),c=Qn(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1)|0,k[g>>2]=c,Ed(k[(k[k[d>>2]>>2]|0)+12>>2]|0),k[g>>2]|0):0)k[(k[d>>2]|0)+28>>2]=k[g>>2];c=k[(k[d>>2]|0)+44>>2]|0;k[d>>2]=c}while((c|0)!=0);u=h;return}function Pn(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!((k[b>>2]|0)!=0&(k[b>>2]|0)!=5)){b=0;b=b&1;u=c;return b|0}b=(k[b>>2]|0)!=6;b=b&1;u=c;return b|0}function Qn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;w=u;u=u+80|0;p=w+68|0;x=w+64|0;q=w+60|0;r=w+56|0;s=w+52|0;t=w+48|0;e=w+44|0;f=w+40|0;g=w+8|0;v=w+36|0;h=w;j=w+32|0;l=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;k[p>>2]=a;k[x>>2]=b;k[q>>2]=c;k[r>>2]=d;c=Ak(k[(k[p>>2]|0)+4>>2]|0)|0;k[s>>2]=c;c=Rn(k[(k[p>>2]|0)+24>>2]|0)|0;k[t>>2]=c;c=Rn(k[(k[p>>2]|0)+4>>2]|0)|0;k[e>>2]=c;k[f>>2]=(k[t>>2]|0)<(k[e>>2]|0)?k[t>>2]|0:k[e>>2]|0;c=k[t>>2]|0;c=B0(k[x>>2]|0,0,c|0,((c|0)<0)<<31>>31|0)|0;d=g;k[d>>2]=c;k[d+4>>2]=M;k[v>>2]=0;if((k[t>>2]|0)!=(k[e>>2]|0)?Sn(k[s>>2]|0)|0:0)k[v>>2]=8;x=g;d=k[t>>2]|0;d=h0(k[x>>2]|0,k[x+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;x=h;k[x>>2]=d;k[x+4>>2]=M;while(1){if(k[v>>2]|0){a=14;break}d=h;b=k[d+4>>2]|0;x=g;c=k[x+4>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0<(k[x>>2]|0)>>>0:0))){a=14;break}k[j>>2]=0;d=h;x=k[e>>2]|0;x=x0(k[d>>2]|0,k[d+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;k[l>>2]=x+1;if((k[l>>2]|0)!=((((k[482]|0)>>>0)/((k[(k[(k[(k[p>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=rn(k[s>>2]|0,k[l>>2]|0,j,0)|0;k[v>>2]=x;if((0==(x|0)?(x=Tn(k[j>>2]|0)|0,k[v>>2]=x,0==(x|0)):0)?(c=k[q>>2]|0,x=h,d=k[t>>2]|0,d=m0(k[x>>2]|0,k[x+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,k[m>>2]=c+d,d=Un(k[j>>2]|0)|0,k[n>>2]=d,d=k[n>>2]|0,c=h,x=k[e>>2]|0,x=m0(k[c>>2]|0,k[c+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,k[o>>2]=d+x,r0(k[o>>2]|0,k[m>>2]|0,k[f>>2]|0)|0,x=Vn(k[j>>2]|0)|0,i[x>>0]=0,x=h,(k[x>>2]|0)==0&(k[x+4>>2]|0)==0&(k[r>>2]|0)==0):0){x=(k[o>>2]|0)+28|0;Xn(x,Wn(k[(k[p>>2]|0)+24>>2]|0)|0)}Yn(k[j>>2]|0)}d=k[e>>2]|0;x=h;d=i0(k[x>>2]|0,k[x+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;x=h;k[x>>2]=d;k[x+4>>2]=M}if((a|0)==14){u=w;return k[v>>2]|0}return 0}function Rn(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[(k[b>>2]|0)+4>>2]|0)+32>>2]|0}function Sn(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return l[(k[b>>2]|0)+13>>0]|0|0}function Tn(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e+8|0;b=e+4|0;d=e;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+16>>2];if(k[(k[d>>2]|0)+44>>2]|0){k[c>>2]=k[(k[d>>2]|0)+44>>2];d=k[c>>2]|0;u=e;return d|0}if((m[(k[b>>2]|0)+24>>1]|0)&4|0?(k[(k[d>>2]|0)+28>>2]|0)>>>0>=(k[(k[b>>2]|0)+20>>2]|0)>>>0:0)if(k[(k[d>>2]|0)+104>>2]|0){d=ao(k[b>>2]|0)|0;k[c>>2]=d;d=k[c>>2]|0;u=e;return d|0}else{k[c>>2]=0;d=k[c>>2]|0;u=e;return d|0}a=k[b>>2]|0;if((k[(k[d>>2]|0)+156>>2]|0)>>>0>(k[(k[d>>2]|0)+160>>2]|0)>>>0){d=bo(a)|0;k[c>>2]=d;d=k[c>>2]|0;u=e;return d|0}else{d=co(a)|0;k[c>>2]=d;d=k[c>>2]|0;u=e;return d|0}return 0}function Un(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+4>>2]|0}function Vn(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+8>>2]|0}function Wn(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=$n(k[(k[c>>2]|0)+4>>2]|0)|0;u=b;return a|0}function Xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[k[d>>2]>>0]=(k[e>>2]|0)>>>24;i[(k[d>>2]|0)+1>>0]=(k[e>>2]|0)>>>16;i[(k[d>>2]|0)+2>>0]=(k[e>>2]|0)>>>8;i[(k[d>>2]|0)+3>>0]=k[e>>2];u=c;return}function Yn(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}Zn(k[b>>2]|0);u=c;return}function Zn(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+16>>2];a=k[d>>2]|0;if((m[(k[d>>2]|0)+24>>1]|0)&32|0){_n(a);d=k[b>>2]|0;Fn(d);u=c;return}else{tn(a);d=k[b>>2]|0;Fn(d);u=c;return}}function _n(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;c=b+4|0;e=b;k[c>>2]=a;k[e>>2]=k[(k[c>>2]|0)+16>>2];d=(k[e>>2]|0)+128|0;k[d>>2]=(k[d>>2]|0)+-1;k[(k[c>>2]|0)+12>>2]=k[(k[e>>2]|0)+144>>2];k[(k[e>>2]|0)+144>>2]=k[c>>2];d=k[(k[e>>2]|0)+64>>2]|0;a=k[(k[e>>2]|0)+160>>2]|0;a=B0((k[(k[c>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;yn(d,a,M,k[(k[c>>2]|0)+4>>2]|0)|0;u=b;return}function $n(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+44>>2]|0}function ao(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if(oo(k[c>>2]|0)|0){c=po(k[c>>2]|0)|0;k[b>>2]=c;c=k[b>>2]|0;u=d;return c|0}else{k[b>>2]=0;c=k[b>>2]|0;u=d;return c|0}return 0}function bo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+48|0;b=t+44|0;f=t+40|0;g=t+36|0;h=t+32|0;n=t+28|0;o=t+24|0;p=t+20|0;q=t+16|0;r=t+12|0;c=t+8|0;d=t+4|0;e=t;k[b>>2]=a;k[f>>2]=0;k[n>>2]=0;k[p>>2]=0;k[q>>2]=k[(k[b>>2]|0)+16>>2];k[r>>2]=((k[(k[q>>2]|0)+156>>2]|0)>>>0)/((k[(k[q>>2]|0)+160>>2]|0)>>>0)|0;a=(k[q>>2]|0)+21|0;i[a>>0]=l[a>>0]|0|4;k[h>>2]=((k[(k[b>>2]|0)+20>>2]|0)-1&~((k[r>>2]|0)-1))+1;k[g>>2]=k[(k[q>>2]|0)+28>>2];do if((k[(k[b>>2]|0)+20>>2]|0)>>>0<=(k[g>>2]|0)>>>0)if(((k[h>>2]|0)+(k[r>>2]|0)-1|0)>>>0>(k[g>>2]|0)>>>0){k[n>>2]=(k[g>>2]|0)+1-(k[h>>2]|0);break}else{k[n>>2]=k[r>>2];break}else k[n>>2]=(k[(k[b>>2]|0)+20>>2]|0)-(k[h>>2]|0)+1;while(0);k[o>>2]=0;while(1){if(!((k[o>>2]|0)<(k[n>>2]|0)?(k[f>>2]|0)==0:0))break;k[c>>2]=(k[h>>2]|0)+(k[o>>2]|0);if((k[c>>2]|0)!=(k[(k[b>>2]|0)+20>>2]|0)?mn(k[(k[q>>2]|0)+60>>2]|0,k[c>>2]|0)|0:0){r=pn(k[q>>2]|0,k[c>>2]|0)|0;k[d>>2]=r;if(r|0){if((m[(k[d>>2]|0)+24>>1]|0)&8|0)k[p>>2]=1;Zn(k[d>>2]|0)}}else s=10;if(((s|0)==10?(s=0,(k[c>>2]|0)!=(((k[482]|0)/(k[(k[q>>2]|0)+160>>2]|0)|0)+1|0)):0)?(r=rn(k[q>>2]|0,k[c>>2]|0,d,0)|0,k[f>>2]=r,(k[f>>2]|0)==0):0){r=co(k[d>>2]|0)|0;k[f>>2]=r;if((m[(k[d>>2]|0)+24>>1]|0)&8|0)k[p>>2]=1;Zn(k[d>>2]|0)}k[o>>2]=(k[o>>2]|0)+1}if(!((k[f>>2]|0)==0&(k[p>>2]|0)!=0)){s=k[q>>2]|0;s=s+21|0;r=i[s>>0]|0;r=r&255;r=r&-5;r=r&255;i[s>>0]=r;s=k[f>>2]|0;u=t;return s|0}k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[n>>2]|0))break;s=pn(k[q>>2]|0,(k[h>>2]|0)+(k[o>>2]|0)|0)|0;k[e>>2]=s;if(k[e>>2]|0){s=(k[e>>2]|0)+24|0;j[s>>1]=m[s>>1]|0|8;Zn(k[e>>2]|0)}k[o>>2]=(k[o>>2]|0)+1}s=k[q>>2]|0;s=s+21|0;r=i[s>>0]|0;r=r&255;r=r&-5;r=r&255;i[s>>0]=r;s=k[f>>2]|0;u=t;return s|0}function co(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+16>>2];k[e>>2]=0;if((l[(k[d>>2]|0)+17>>0]|0|0)==2?(a=eo(k[d>>2]|0)|0,k[e>>2]=a,k[e>>2]|0):0){k[b>>2]=k[e>>2];e=k[b>>2]|0;u=f;return e|0}sn(k[c>>2]|0);do if(k[(k[d>>2]|0)+60>>2]|0?(fo(k[(k[d>>2]|0)+60>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0)==0:0){if((k[(k[c>>2]|0)+20>>2]|0)>>>0>(k[(k[d>>2]|0)+32>>2]|0)>>>0){if((l[(k[d>>2]|0)+17>>0]|0|0)==4)break;a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|8;break}a=go(k[c>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){k[b>>2]=k[e>>2];e=k[b>>2]|0;u=f;return e|0}}while(0);a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|4;if((k[(k[d>>2]|0)+104>>2]|0)>0){a=ao(k[c>>2]|0)|0;k[e>>2]=a}if((k[(k[d>>2]|0)+28>>2]|0)>>>0<(k[(k[c>>2]|0)+20>>2]|0)>>>0)k[(k[d>>2]|0)+28>>2]=k[(k[c>>2]|0)+20>>2];k[b>>2]=k[e>>2];e=k[b>>2]|0;u=f;return e|0}function eo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;e=h+20|0;f=h+16|0;g=h+12|0;b=h+8|0;c=h+4|0;d=h;k[f>>2]=a;k[g>>2]=0;k[b>>2]=k[k[f>>2]>>2];a=k[f>>2]|0;if(k[(k[f>>2]|0)+44>>2]|0){k[e>>2]=k[a+44>>2];g=k[e>>2]|0;u=h;return g|0}if((Dm(a)|0)==0?(l[(k[f>>2]|0)+5>>0]|0)!=2:0){a=io(k[(k[f>>2]|0)+28>>2]|0)|0;k[(k[f>>2]|0)+60>>2]=a;if(!(k[(k[f>>2]|0)+60>>2]|0)){k[e>>2]=7;g=k[e>>2]|0;u=h;return g|0}do if(!(k[k[(k[f>>2]|0)+68>>2]>>2]|0)){if((l[(k[f>>2]|0)+5>>0]|0)==4){jo(k[(k[f>>2]|0)+68>>2]|0);break}k[c>>2]=6;a=k[c>>2]|0;if(i[(k[f>>2]|0)+13>>0]|0){k[c>>2]=a|4104;k[d>>2]=k[11]}else{k[c>>2]=a|2048;k[d>>2]=0}a=ko(k[f>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){d=lo(k[b>>2]|0,k[(k[f>>2]|0)+180>>2]|0,k[(k[f>>2]|0)+68>>2]|0,k[c>>2]|0,k[d>>2]|0)|0;k[g>>2]=d}}while(0);if(!(k[g>>2]|0)){k[(k[f>>2]|0)+48>>2]=0;d=(k[f>>2]|0)+80|0;k[d>>2]=0;k[d+4>>2]=0;i[(k[f>>2]|0)+20>>0]=0;d=(k[f>>2]|0)+88|0;k[d>>2]=0;k[d+4>>2]=0;d=mo(k[f>>2]|0)|0;k[g>>2]=d}}a=k[f>>2]|0;if(k[g>>2]|0){zm(k[a+60>>2]|0);k[(k[f>>2]|0)+60>>2]=0}else i[a+17>>0]=3;k[e>>2]=k[g>>2];g=k[e>>2]|0;u=h;return g|0}function fo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[e>>2]=(k[e>>2]|0)+-1;if((k[e>>2]|0)>>>0>=(k[k[d>>2]>>2]|0)>>>0){k[c>>2]=0;h=k[c>>2]|0;u=i;return h|0}while(1){if(!(k[(k[d>>2]|0)+8>>2]|0))break;k[f>>2]=((k[e>>2]|0)>>>0)/((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[e>>2]=((k[e>>2]|0)>>>0)%((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[d>>2]=k[(k[d>>2]|0)+12+(k[f>>2]<<2)>>2];if(!(k[d>>2]|0)){h=5;break}}if((h|0)==5){k[c>>2]=0;h=k[c>>2]|0;u=i;return h|0}if((k[k[d>>2]>>2]|0)>>>0<=4e3){k[c>>2]=((l[(k[d>>2]|0)+12+(((k[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(k[e>>2]&7)|0)!=0&1;h=k[c>>2]|0;u=i;return h|0}h=k[e>>2]|0;k[e>>2]=h+1;k[g>>2]=(h>>>0)%125|0;while(1){if(!(k[(k[d>>2]|0)+12+(k[g>>2]<<2)>>2]|0)){h=13;break}if((k[(k[d>>2]|0)+12+(k[g>>2]<<2)>>2]|0)==(k[e>>2]|0)){h=11;break}k[g>>2]=(((k[g>>2]|0)+1|0)>>>0)%125|0}if((h|0)==11){k[c>>2]=1;h=k[c>>2]|0;u=i;return h|0}else if((h|0)==13){k[c>>2]=0;h=k[c>>2]|0;u=i;return h|0}return 0}function go(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0;i=u;u=u+32|0;b=i+28|0;c=i+24|0;d=i+20|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+16>>2];n=(k[d>>2]|0)+80|0;l=k[n+4>>2]|0;a=h;k[a>>2]=k[n>>2];k[a+4>>2]=l;k[g>>2]=k[(k[c>>2]|0)+4>>2];a=nn(k[d>>2]|0,k[g>>2]|0)|0;k[f>>2]=a;a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|8;a=h;a=ho(k[(k[d>>2]|0)+68>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){k[b>>2]=k[e>>2];n=k[b>>2]|0;u=i;return n|0}a=k[(k[d>>2]|0)+68>>2]|0;g=k[g>>2]|0;l=k[(k[d>>2]|0)+160>>2]|0;n=h;n=i0(k[n>>2]|0,k[n+4>>2]|0,4,0)|0;n=Nm(a,g,l,n,M)|0;k[e>>2]=n;if(k[e>>2]|0){k[b>>2]=k[e>>2];n=k[b>>2]|0;u=i;return n|0}l=k[(k[d>>2]|0)+68>>2]|0;n=k[(k[d>>2]|0)+160>>2]|0;n=i0(k[h>>2]|0,k[h+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;n=i0(n|0,M|0,4,0)|0;n=ho(l,n,M,k[f>>2]|0)|0;k[e>>2]=n;if(k[e>>2]|0){k[b>>2]=k[e>>2];n=k[b>>2]|0;u=i;return n|0}else{l=8+(k[(k[d>>2]|0)+160>>2]|0)|0;n=(k[d>>2]|0)+80|0;h=n;l=i0(k[h>>2]|0,k[h+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;k[n>>2]=l;k[n+4>>2]=M;n=(k[d>>2]|0)+48|0;k[n>>2]=(k[n>>2]|0)+1;n=on(k[(k[d>>2]|0)+60>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[e>>2]=n;n=Cn(k[d>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[e>>2]=k[e>>2]|n;k[b>>2]=k[e>>2];n=k[b>>2]|0;u=i;return n|0}return 0}function ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+32|0;g=e+12|0;h=e;i=e+8|0;f=e+16|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;Xn(f,k[i>>2]|0);d=h;d=Nm(k[g>>2]|0,f,4,k[d>>2]|0,k[d+4>>2]|0)|0;u=e;return d|0}function io(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=fh(512,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;u=d;return c|0}k[k[c>>2]>>2]=k[b>>2];c=k[c>>2]|0;u=d;return c|0}function jo(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;lo(0,0,k[c>>2]|0,0,-1)|0;u=b;return}function ko(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=0;if(i[(k[c>>2]|0)+13>>0]|0){k[b>>2]=0;e=k[b>>2]|0;u=f;return e|0}if(!(k[(k[c>>2]|0)+28>>2]|0)){k[b>>2]=0;e=k[b>>2]|0;u=f;return e|0}c=Gm(k[(k[c>>2]|0)+64>>2]|0,20,d)|0;k[e>>2]=c;if((k[e>>2]|0)!=12){if((k[e>>2]|0)==0&(k[d>>2]|0)!=0)k[e>>2]=1032}else k[e>>2]=0;k[b>>2]=k[e>>2];e=k[b>>2]|0;u=f;return e|0}function lo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;h=n+24|0;i=n+20|0;j=n+16|0;l=n+12|0;m=n+8|0;f=n+4|0;g=n;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[f>>2]=e;k[g>>2]=k[l>>2];a=k[g>>2]|0;b=a+72|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(k[f>>2]|0)){m=Ym(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,0)|0;k[h>>2]=m;m=k[h>>2]|0;u=n;return m|0}else{l=(k[f>>2]|0)>0;k[(l?k[g>>2]|0:k[g>>2]|0)+4>>2]=l?k[f>>2]|0:1020;k[k[g>>2]>>2]=4104;k[(k[g>>2]|0)+8>>2]=k[f>>2];k[(k[g>>2]|0)+56>>2]=k[m>>2];k[(k[g>>2]|0)+64>>2]=k[j>>2];k[(k[g>>2]|0)+60>>2]=k[i>>2];k[h>>2]=0;m=k[h>>2]|0;u=n;return m|0}return 0}function mo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;h=u;u=u+32|0;c=h+20|0;g=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;b=h;k[c>>2]=a;k[g>>2]=0;k[d>>2]=k[(k[c>>2]|0)+208>>2];k[e>>2]=k[(k[c>>2]|0)+160>>2];if((k[e>>2]|0)>>>0>(k[(k[c>>2]|0)+156>>2]|0)>>>0)k[e>>2]=k[(k[c>>2]|0)+156>>2];k[b>>2]=0;while(1){a=k[c>>2]|0;if((k[b>>2]|0)>=(k[(k[c>>2]|0)+104>>2]|0))break;a=(k[a+100>>2]|0)+((k[b>>2]|0)*48|0)+8|0;if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0){m=(k[c>>2]|0)+80|0;j=k[m+4>>2]|0;a=(k[(k[c>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0)+8|0;k[a>>2]=k[m>>2];k[a+4>>2]=j}k[b>>2]=(k[b>>2]|0)+1}b=no(a)|0;j=M;m=(k[c>>2]|0)+80|0;k[m>>2]=b;k[m+4>>2]=j;m=(k[c>>2]|0)+88|0;k[m>>2]=b;k[m+4>>2]=j;if((!(l[(k[c>>2]|0)+7>>0]|0|0)?(l[(k[c>>2]|0)+5>>0]|0|0)!=4:0)?!((gn(k[(k[c>>2]|0)+64>>2]|0)|0)&512|0):0){a=k[d>>2]|0;b=a+12|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0))}else{m=k[d>>2]|0;i[m>>0]=i[24914]|0;i[m+1>>0]=i[24915]|0;i[m+2>>0]=i[24916]|0;i[m+3>>0]=i[24917]|0;i[m+4>>0]=i[24918]|0;i[m+5>>0]=i[24919]|0;i[m+6>>0]=i[24920]|0;i[m+7>>0]=i[24921]|0;Xn((k[d>>2]|0)+8|0,-1)}Cf(4,(k[c>>2]|0)+52|0);Xn((k[d>>2]|0)+12|0,k[(k[c>>2]|0)+52>>2]|0);Xn((k[d>>2]|0)+16|0,k[(k[c>>2]|0)+32>>2]|0);Xn((k[d>>2]|0)+20|0,k[(k[c>>2]|0)+156>>2]|0);Xn((k[d>>2]|0)+24|0,k[(k[c>>2]|0)+160>>2]|0);w0((k[d>>2]|0)+28|0,0,(k[e>>2]|0)-28|0)|0;k[f>>2]=0;while(1){if(k[g>>2]|0){a=17;break}if((k[f>>2]|0)>>>0>=(k[(k[c>>2]|0)+156>>2]|0)>>>0){a=17;break}m=(k[c>>2]|0)+80|0;m=Nm(k[(k[c>>2]|0)+68>>2]|0,k[d>>2]|0,k[e>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[g>>2]=m;m=(k[c>>2]|0)+80|0;j=m;j=i0(k[j>>2]|0,k[j+4>>2]|0,k[e>>2]|0,0)|0;k[m>>2]=j;k[m+4>>2]=M;k[f>>2]=(k[f>>2]|0)+(k[e>>2]|0)}if((a|0)==17){u=h;return k[g>>2]|0}return 0}function no(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=u;u=u+32|0;b=e+16|0;c=e+8|0;d=e;k[b>>2]=a;g=c;k[g>>2]=0;k[g+4>>2]=0;g=(k[b>>2]|0)+80|0;f=k[g+4>>2]|0;a=d;k[a>>2]=k[g>>2];k[a+4>>2]=f;a=d;if(!((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)){f=c;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;M=f;u=e;return g|0}g=d;g=h0(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;g=x0(g|0,M|0,k[(k[b>>2]|0)+156>>2]|0,0)|0;g=i0(g|0,M|0,1,0)|0;g=B0(g|0,M|0,k[(k[b>>2]|0)+156>>2]|0,0)|0;f=c;k[f>>2]=g;k[f+4>>2]=M;f=c;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;M=f;u=e;return g|0}function oo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;f=g+20|0;h=g+16|0;b=g+12|0;c=g+8|0;d=g+4|0;e=g;k[h>>2]=a;k[b>>2]=k[(k[h>>2]|0)+16>>2];k[d>>2]=k[(k[h>>2]|0)+20>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[b>>2]|0)+104>>2]|0)){a=7;break}k[c>>2]=(k[(k[b>>2]|0)+100>>2]|0)+((k[e>>2]|0)*48|0);if((k[(k[c>>2]|0)+20>>2]|0)>>>0>=(k[d>>2]|0)>>>0?0==(fo(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0)|0):0){a=5;break}k[e>>2]=(k[e>>2]|0)+1}if((a|0)==5){k[f>>2]=1;h=k[f>>2]|0;u=g;return h|0}else if((a|0)==7){k[f>>2]=0;h=k[f>>2]|0;u=g;return h|0}return 0}function po(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;b=h+24|0;c=h+20|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[b>>2]=a;k[c>>2]=0;k[d>>2]=k[(k[b>>2]|0)+16>>2];if(((l[(k[d>>2]|0)+5>>0]|0|0)!=2?(a=qo(k[d>>2]|0)|0,k[c>>2]=a,(k[c>>2]|0)==0):0)?(k[e>>2]=k[(k[b>>2]|0)+4>>2],i=4+(k[(k[d>>2]|0)+160>>2]|0)|0,i=B0(k[(k[d>>2]|0)+56>>2]|0,0,i|0,((i|0)<0)<<31>>31|0)|0,a=f,k[a>>2]=i,k[a+4>>2]=M,k[g>>2]=k[e>>2],e=f,e=ho(k[(k[d>>2]|0)+72>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0,k[c>>2]=e,(k[c>>2]|0)==0):0){a=k[(k[d>>2]|0)+72>>2]|0;e=k[g>>2]|0;g=k[(k[d>>2]|0)+160>>2]|0;i=f;i=i0(k[i>>2]|0,k[i+4>>2]|0,4,0)|0;i=Nm(a,e,g,i,M)|0;k[c>>2]=i}if(k[c>>2]|0){i=k[c>>2]|0;u=h;return i|0}i=(k[d>>2]|0)+56|0;k[i>>2]=(k[i>>2]|0)+1;i=Cn(k[d>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0;k[c>>2]=i;i=k[c>>2]|0;u=h;return i|0}function qo(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+12|0;c=e+8|0;d=e;k[b>>2]=a;k[c>>2]=0;if(k[k[(k[b>>2]|0)+72>>2]>>2]|0){d=k[c>>2]|0;u=e;return d|0}k[e+4>>2]=8222;k[d>>2]=k[11];if(!((l[(k[b>>2]|0)+5>>0]|0|0)!=4?!(l[(k[b>>2]|0)+22>>0]|0|0):0))k[d>>2]=-1;d=lo(k[k[b>>2]>>2]|0,0,k[(k[b>>2]|0)+72>>2]|0,8222,k[d>>2]|0)|0;k[c>>2]=d;d=k[c>>2]|0;u=e;return d|0}function ro(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;g=r+56|0;h=r+52|0;j=r+48|0;l=r+16|0;m=r+8|0;n=r+44|0;o=r+40|0;p=r+36|0;c=r+32|0;d=r+28|0;e=r+24|0;f=r;k[h>>2]=a;k[j>>2]=b;k[n>>2]=0;k[o>>2]=0;if(k[j>>2]|0?(b=io(k[(k[j>>2]|0)+20>>2]|0)|0,k[o>>2]=b,(k[o>>2]|0)==0):0){k[g>>2]=7;q=k[g>>2]|0;u=r;return q|0}if(k[j>>2]|0)a=k[(k[j>>2]|0)+20>>2]|0;else a=k[(k[h>>2]|0)+32>>2]|0;k[(k[h>>2]|0)+28>>2]=a;i[(k[h>>2]|0)+19>>0]=i[(k[h>>2]|0)+13>>0]|0;if((k[j>>2]|0)==0?Dm(k[h>>2]|0)|0:0){q=so(k[h>>2]|0)|0;k[g>>2]=q;q=k[g>>2]|0;u=r;return q|0}s=(k[h>>2]|0)+80|0;a=k[s+4>>2]|0;b=l;k[b>>2]=k[s>>2];k[b+4>>2]=a;a:do if(k[j>>2]|0?!(Dm(k[h>>2]|0)|0):0){s=(k[j>>2]|0)+8|0;if((k[s>>2]|0)!=0|(k[s+4>>2]|0)!=0){b=(k[j>>2]|0)+8|0;a=k[b>>2]|0;b=k[b+4>>2]|0}else{b=l;a=k[b>>2]|0;b=k[b+4>>2]|0}s=m;k[s>>2]=a;k[s+4>>2]=b;a=k[j>>2]|0;b=k[a+4>>2]|0;s=(k[h>>2]|0)+80|0;k[s>>2]=k[a>>2];k[s+4>>2]=b;while(1){if(k[n>>2]|0)break a;b=(k[h>>2]|0)+80|0;t=k[b+4>>2]|0;s=m;a=k[s+4>>2]|0;if(!((t|0)<(a|0)|((t|0)==(a|0)?(k[b>>2]|0)>>>0<(k[s>>2]|0)>>>0:0)))break a;t=cn(k[h>>2]|0,(k[h>>2]|0)+80|0,k[o>>2]|0,1,1)|0;k[n>>2]=t}}else q=19;while(0);if((q|0)==19){t=(k[h>>2]|0)+80|0;k[t>>2]=0;k[t+4>>2]=0}b:while(1){if(k[n>>2]|0)break;s=(k[h>>2]|0)+80|0;m=k[s+4>>2]|0;t=l;q=k[t+4>>2]|0;if(!((m|0)<(q|0)|((m|0)==(q|0)?(k[s>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)))break;k[c>>2]=0;t=l;t=bn(k[h>>2]|0,0,k[t>>2]|0,k[t+4>>2]|0,c,d)|0;k[n>>2]=t;if((k[c>>2]|0)==0?(s=(k[h>>2]|0)+88|0,s=i0(k[s>>2]|0,k[s+4>>2]|0,k[(k[h>>2]|0)+156>>2]|0,0)|0,t=(k[h>>2]|0)+80|0,(s|0)==(k[t>>2]|0)?(M|0)==(k[t+4>>2]|0):0):0){t=l;s=(k[h>>2]|0)+80|0;s=h0(k[t>>2]|0,k[t+4>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0;t=(k[(k[h>>2]|0)+160>>2]|0)+8|0;t=x0(s|0,M|0,t|0,((t|0)<0)<<31>>31|0)|0;k[c>>2]=t}k[p>>2]=0;while(1){if(k[n>>2]|0)continue b;if((k[p>>2]|0)>>>0>=(k[c>>2]|0)>>>0)continue b;s=(k[h>>2]|0)+80|0;m=k[s+4>>2]|0;t=l;q=k[t+4>>2]|0;if(!((m|0)<(q|0)|((m|0)==(q|0)?(k[s>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)))continue b;t=cn(k[h>>2]|0,(k[h>>2]|0)+80|0,k[o>>2]|0,1,1)|0;k[n>>2]=t;k[p>>2]=(k[p>>2]|0)+1}}c:do if(k[j>>2]|0){s=4+(k[(k[h>>2]|0)+160>>2]|0)|0;s=B0(k[(k[j>>2]|0)+24>>2]|0,0,s|0,((s|0)<0)<<31>>31|0)|0;t=f;k[t>>2]=s;k[t+4>>2]=M;if(Dm(k[h>>2]|0)|0){t=to(k[(k[h>>2]|0)+216>>2]|0,(k[j>>2]|0)+28|0)|0;k[n>>2]=t}k[e>>2]=k[(k[j>>2]|0)+24>>2];while(1){if(k[n>>2]|0)break c;if((k[e>>2]|0)>>>0>=(k[(k[h>>2]|0)+56>>2]|0)>>>0)break c;t=cn(k[h>>2]|0,f,k[o>>2]|0,0,1)|0;k[n>>2]=t;k[e>>2]=(k[e>>2]|0)+1}}while(0);zm(k[o>>2]|0);if(!(k[n>>2]|0)){q=l;s=k[q+4>>2]|0;t=(k[h>>2]|0)+80|0;k[t>>2]=k[q>>2];k[t+4>>2]=s}k[g>>2]=k[n>>2];t=k[g>>2]|0;u=r;return t|0}function so(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[(k[b>>2]|0)+28>>2]=k[(k[b>>2]|0)+32>>2];a=wo(k[(k[b>>2]|0)+216>>2]|0,193,k[b>>2]|0)|0;k[c>>2]=a;a=xo(k[(k[b>>2]|0)+212>>2]|0)|0;k[d>>2]=a;while(1){if(!(k[d>>2]|0?(k[c>>2]|0)==0:0))break;k[e>>2]=k[(k[d>>2]|0)+12>>2];a=vo(k[b>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0;k[c>>2]=a;k[d>>2]=k[e>>2]}u=f;return k[c>>2]|0}function to(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[d>>2]|0)+12>>2]|0)!=(k[(k[c>>2]|0)+112>>2]|0)){k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+12>>2]=k[(k[c>>2]|0)+112>>2]}if((k[k[d>>2]>>2]|0)>>>0>=(k[(k[c>>2]|0)+52+16>>2]|0)>>>0){e=k[e>>2]|0;u=f;return e|0}k[(k[c>>2]|0)+52+16>>2]=k[k[d>>2]>>2];k[(k[c>>2]|0)+52+24>>2]=k[(k[d>>2]|0)+4>>2];k[(k[c>>2]|0)+52+24+4>>2]=k[(k[d>>2]|0)+8>>2];uo(k[c>>2]|0);e=k[e>>2]|0;u=f;return e|0}function uo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;b=i+24|0;d=i+20|0;e=i+16|0;c=i+12|0;f=i+8|0;g=i+4|0;h=i;k[b>>2]=a;k[d>>2]=0;k[e>>2]=0;k[c>>2]=0;k[f>>2]=0;if(!(k[(k[b>>2]|0)+52+16>>2]|0)){u=i;return}a=k[b>>2]|0;Jn(a,In(k[(k[b>>2]|0)+52+16>>2]|0)|0,d,e,c)|0;k[f>>2]=(k[(k[b>>2]|0)+52+16>>2]|0)-(k[c>>2]|0);k[h>>2]=0;while(1){a=k[d>>2]|0;if((k[h>>2]|0)>=8192)break;if((m[a+(k[h>>2]<<1)>>1]|0|0)>(k[f>>2]|0))j[(k[d>>2]|0)+(k[h>>2]<<1)>>1]=0;k[h>>2]=(k[h>>2]|0)+1}k[g>>2]=a-((k[e>>2]|0)+((k[f>>2]|0)+1<<2));w0((k[e>>2]|0)+((k[f>>2]|0)+1<<2)|0,0,k[g>>2]|0)|0;u=i;return}function vo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=u;u=u+32|0;i=g+20|0;h=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[i>>2]=a;k[h>>2]=b;k[c>>2]=0;k[d>>2]=k[i>>2];b=pn(k[d>>2]|0,k[h>>2]|0)|0;k[e>>2]=b;do if(k[e>>2]|0){if((Co(k[e>>2]|0)|0)==1){En(k[e>>2]|0);break}k[f>>2]=0;i=vn(k[(k[d>>2]|0)+216>>2]|0,k[(k[e>>2]|0)+20>>2]|0,f)|0;k[c>>2]=i;if(!(k[c>>2]|0)){i=Dn(k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=i}if(!(k[c>>2]|0))Ob[k[(k[d>>2]|0)+204>>2]&255](k[e>>2]|0);Zn(k[e>>2]|0)}while(0);Ol(k[(k[d>>2]|0)+96>>2]|0);u=g;return k[c>>2]|0}function wo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;if(!(i[(k[d>>2]|0)+44>>0]|0)){j=k[g>>2]|0;u=l;return j|0}k[h>>2]=k[(k[d>>2]|0)+52+16>>2];a=(k[d>>2]|0)+52|0;b=Ao(k[d>>2]|0)|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));k[j>>2]=(k[(k[d>>2]|0)+52+16>>2]|0)+1;while(1){if(k[g>>2]|0)break;if((k[j>>2]|0)>>>0>(k[h>>2]|0)>>>0)break;a=k[e>>2]|0;b=k[f>>2]|0;c=Bo(k[d>>2]|0,k[j>>2]|0)|0;c=Wb[a&255](b,c)|0;k[g>>2]=c;k[j>>2]=(k[j>>2]|0)+1}if((k[h>>2]|0)==(k[(k[d>>2]|0)+52+16>>2]|0)){j=k[g>>2]|0;u=l;return j|0}uo(k[d>>2]|0);j=k[g>>2]|0;u=l;return j|0}function xo(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;k[(k[c>>2]|0)+12>>2]=k[(k[c>>2]|0)+32>>2];k[c>>2]=k[(k[c>>2]|0)+32>>2]}c=yo(k[k[b>>2]>>2]|0)|0;u=d;return c|0}function yo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+144|0;c=h+136|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;a=e;b=a+128|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(k[c>>2]|0))break;k[f>>2]=k[c>>2];k[c>>2]=k[(k[f>>2]|0)+12>>2];k[(k[f>>2]|0)+12>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=31)break;if(!(k[e+(k[g>>2]<<2)>>2]|0)){d=6;break}b=zo(k[e+(k[g>>2]<<2)>>2]|0,k[f>>2]|0)|0;k[f>>2]=b;k[e+(k[g>>2]<<2)>>2]=0;k[g>>2]=(k[g>>2]|0)+1}if((d|0)==6){d=0;k[e+(k[g>>2]<<2)>>2]=k[f>>2]}if((k[g>>2]|0)!=31)continue;b=zo(k[e+(k[g>>2]<<2)>>2]|0,k[f>>2]|0)|0;k[e+(k[g>>2]<<2)>>2]=b}k[f>>2]=k[e>>2];k[g>>2]=1;while(1){if((k[g>>2]|0)>=32)break;if(k[e+(k[g>>2]<<2)>>2]|0){if(k[f>>2]|0)a=zo(k[f>>2]|0,k[e+(k[g>>2]<<2)>>2]|0)|0;else a=k[e+(k[g>>2]<<2)>>2]|0;k[f>>2]=a}k[g>>2]=(k[g>>2]|0)+1}u=h;return k[f>>2]|0}function zo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+64|0;c=g+52|0;d=g+48|0;e=g+8|0;f=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=e;while(1)if((k[(k[c>>2]|0)+20>>2]|0)>>>0<(k[(k[d>>2]|0)+20>>2]|0)>>>0){k[(k[f>>2]|0)+12>>2]=k[c>>2];k[f>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+12>>2];if(!(k[c>>2]|0)){a=4;break}else continue}else{k[(k[f>>2]|0)+12>>2]=k[d>>2];k[f>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+12>>2];if(!(k[d>>2]|0)){a=6;break}else continue}if((a|0)==4){d=k[d>>2]|0;f=k[f>>2]|0;f=f+12|0;k[f>>2]=d;f=e+12|0;f=k[f>>2]|0;u=g;return f|0}else if((a|0)==6){d=k[c>>2]|0;f=k[f>>2]|0;f=f+12|0;k[f>>2]=d;f=e+12|0;f=k[f>>2]|0;u=g;return f|0}return 0}function Ao(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[k[(k[b>>2]|0)+32>>2]>>2]|0}function Bo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[d>>2]=b;a=In(k[d>>2]|0)|0;k[e>>2]=a;a=k[(k[g>>2]|0)+32>>2]|0;if(!(k[e>>2]|0)){k[c>>2]=k[(k[a>>2]|0)+(34+(k[d>>2]|0)-1<<2)>>2];g=k[c>>2]|0;u=f;return g|0}else{k[c>>2]=k[(k[a+(k[e>>2]<<2)>>2]|0)+(((((k[d>>2]|0)-1-4062|0)>>>0)%4096|0)<<2)>>2];g=k[c>>2]|0;u=f;return g|0}return 0}function Co(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return j[(k[b>>2]|0)+26>>1]|0}function Do(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;Em(k[b>>2]|0)|0;if((j[(k[b>>2]|0)+40>>1]|0)<0){u=c;return}Lm(k[b>>2]|0,3+(j[(k[b>>2]|0)+40>>1]|0)|0);j[(k[b>>2]|0)+40>>1]=-1;u=c;return}function Eo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Wb[k[(k[k[e>>2]>>2]|0)+28>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function Fo(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+64|0;z=A+52|0;v=A+48|0;w=A+44|0;l=A+40|0;m=A+36|0;n=A+32|0;o=A+28|0;p=A+24|0;q=A+20|0;r=A+16|0;x=A+12|0;s=A+8|0;y=A+4|0;t=A;k[v>>2]=a;k[w>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[r>>2]=j;k[s>>2]=0;k[y>>2]=k[w>>2];k[t>>2]=k[l>>2];if(i[(k[v>>2]|0)+46>>0]|0){k[z>>2]=8;z=k[z>>2]|0;u=A;return z|0}j=Ko(k[v>>2]|0,1,1)|0;k[x>>2]=j;if(k[x>>2]|0){k[z>>2]=k[x>>2];z=k[z>>2]|0;u=A;return z|0}i[(k[v>>2]|0)+45>>0]=1;do if(k[w>>2]|0){j=Lo(k[v>>2]|0,k[l>>2]|0,k[m>>2]|0,0,1)|0;k[x>>2]=j;if(!(k[x>>2]|0)){i[(k[v>>2]|0)+44>>0]=1;break}if((k[x>>2]|0)==5){k[y>>2]=0;k[t>>2]=0;k[x>>2]=0}}while(0);if(((k[x>>2]|0)==0?(j=Mo(k[v>>2]|0,s)|0,k[x>>2]=j,k[s>>2]|0):0)?(k[k[k[(k[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)yn(k[(k[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(k[x>>2]|0)){if(k[(k[v>>2]|0)+52+16>>2]|0?(j=No(k[v>>2]|0)|0,(j|0)!=(k[o>>2]|0)):0){j=un(57049)|0;k[x>>2]=j}else{j=Oo(k[v>>2]|0,k[y>>2]|0,k[t>>2]|0,k[m>>2]|0,k[n>>2]|0,k[p>>2]|0)|0;k[x>>2]=j}if((k[x>>2]|0)==0|(k[x>>2]|0)==5){if(k[q>>2]|0)k[k[q>>2]>>2]=k[(k[v>>2]|0)+52+16>>2];if(k[r>>2]|0){j=Po(k[v>>2]|0)|0;k[k[r>>2]>>2]=k[j>>2]}}}if(k[s>>2]|0){a=(k[v>>2]|0)+52|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0))}Em(k[v>>2]|0)|0;Om(k[v>>2]|0,1,1);i[(k[v>>2]|0)+45>>0]=0;if((k[x>>2]|0)==0?(k[w>>2]|0)!=(k[y>>2]|0):0)a=5;else a=k[x>>2]|0;k[z>>2]=a;z=k[z>>2]|0;u=A;return z|0}function Go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;Lb[k[(k[k[g>>2]>>2]|0)+40>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;u=d;return}function Ho(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;h=i+16|0;d=i+24|0;e=i+8|0;f=i;g=i+20|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;ch();c=Hl(k[(k[d>>2]|0)+8>>2]|0,f)|0;k[g>>2]=c;if((k[g>>2]|0)==0?(c=f,a=k[c+4>>2]|0,f=e,b=k[f+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0>(k[f>>2]|0)>>>0:0)):0){f=e;f=vm(k[(k[d>>2]|0)+8>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[g>>2]=f}eh();if(!(k[g>>2]|0)){u=i;return}g=k[g>>2]|0;k[h>>2]=k[(k[d>>2]|0)+108>>2];Hd(g,24922,h);u=i;return}function Io(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if((l[(k[c>>2]|0)+43>>0]|0|0)!=2){Jo(k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0)|0;u=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+24>>2]|0))break;ie(k[(k[(k[c>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]|0);k[(k[(k[c>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}u=f;return}function Jo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Wb[k[(k[k[e>>2]>>2]|0)+64>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(i[(k[e>>2]|0)+43>>0]|0){k[d>>2]=0;h=k[d>>2]|0;u=j;return h|0}else{g=Mm(k[(k[e>>2]|0)+4>>2]|0,k[f>>2]|0,k[g>>2]|0,10)|0;k[h>>2]=g;k[d>>2]=k[h>>2];h=k[d>>2]|0;u=j;return h|0}return 0}function Lo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;while(1){e=Ko(k[f>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=e;if(!((k[g>>2]|0)!=0&(k[l>>2]|0)==5)){a=4;break}if(!(Rb[k[g>>2]&255](k[h>>2]|0)|0)){a=4;break}}if((a|0)==4){u=m;return k[l>>2]|0}return 0}function Mo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;b=Mn(k[d>>2]|0,0,h)|0;k[f>>2]=b;if(k[f>>2]|0){k[c>>2]=k[f>>2];h=k[c>>2]|0;u=j;return h|0}if(k[h>>2]|0)a=_o(k[d>>2]|0,k[e>>2]|0)|0;else a=1;k[g>>2]=a;do if(k[g>>2]|0){a=k[d>>2]|0;if((l[(k[d>>2]|0)+46>>0]|0)&2|0){h=Km(a,0)|0;k[f>>2]=h;if(h)break;Lm(k[d>>2]|0,0);k[f>>2]=264;break}b=Ko(a,0,1)|0;k[f>>2]=b;if(!b){i[(k[d>>2]|0)+44>>0]=1;h=Mn(k[d>>2]|0,0,h)|0;k[f>>2]=h;if(0==(h|0)?(h=_o(k[d>>2]|0,k[e>>2]|0)|0,k[g>>2]=h,k[g>>2]|0):0){h=$o(k[d>>2]|0)|0;k[f>>2]=h;k[k[e>>2]>>2]=1}i[(k[d>>2]|0)+44>>0]=0;Om(k[d>>2]|0,0,1)}}while(0);if((k[g>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)!=3007e3:0){h=rf(55897)|0;k[f>>2]=h}k[c>>2]=k[f>>2];h=k[c>>2]|0;u=j;return h|0}function No(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return ((m[(k[b>>2]|0)+52+14>>1]|0)&65024)+(((m[(k[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function Oo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+112|0;B=G+104|0;C=G+100|0;D=G+96|0;E=G+92|0;g=G+88|0;h=G+84|0;i=G+80|0;j=G+76|0;l=G+72|0;m=G+68|0;n=G+64|0;o=G+60|0;p=G+56|0;q=G+52|0;r=G+48|0;s=G+44|0;t=G+40|0;v=G+24|0;w=G+36|0;x=G+16|0;y=G+8|0;z=G;A=G+32|0;k[C>>2]=a;k[D>>2]=b;k[E>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=f;k[j>>2]=0;k[m>>2]=0;k[n>>2]=0;k[o>>2]=0;f=No(k[C>>2]|0)|0;k[l>>2]=f;f=Po(k[C>>2]|0)|0;k[s>>2]=f;a:do if((k[k[s>>2]>>2]|0)>>>0<(k[(k[C>>2]|0)+52+16>>2]|0)>>>0){f=Qo(k[C>>2]|0,m)|0;k[j>>2]=f;if(k[j>>2]|0){k[B>>2]=k[j>>2];F=k[B>>2]|0;u=G;return F|0}k[p>>2]=k[(k[C>>2]|0)+52+16>>2];k[q>>2]=k[(k[C>>2]|0)+52+20>>2];k[r>>2]=1;while(1){a=k[s>>2]|0;if((k[r>>2]|0)>=5)break;k[t>>2]=k[a+4+(k[r>>2]<<2)>>2];do if((k[p>>2]|0)>>>0>(k[t>>2]|0)>>>0){f=Lo(k[C>>2]|0,k[E>>2]|0,k[g>>2]|0,3+(k[r>>2]|0)|0,1)|0;k[j>>2]=f;if(!(k[j>>2]|0)){k[(k[s>>2]|0)+4+(k[r>>2]<<2)>>2]=(k[r>>2]|0)==1?k[p>>2]|0:-1;Om(k[C>>2]|0,3+(k[r>>2]|0)|0,1);break}if((k[j>>2]|0)!=5)break a;k[p>>2]=k[t>>2];k[E>>2]=0}while(0);k[r>>2]=(k[r>>2]|0)+1}if((k[a>>2]|0)>>>0<(k[p>>2]|0)>>>0?(F=Lo(k[C>>2]|0,k[E>>2]|0,k[g>>2]|0,3,1)|0,k[j>>2]=F,(F|0)==0):0){k[w>>2]=k[k[s>>2]>>2];k[(k[s>>2]|0)+32>>2]=k[p>>2];if(k[h>>2]|0){F=wm(k[(k[C>>2]|0)+8>>2]|0,k[h>>2]|0)|0;k[j>>2]=F}if(((k[j>>2]|0)==0?(t=k[l>>2]|0,t=B0(k[q>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0,F=x,k[F>>2]=t,k[F+4>>2]=M,F=Hl(k[(k[C>>2]|0)+4>>2]|0,v)|0,k[j>>2]=F,(k[j>>2]|0)==0):0)?(v,r=k[v+4>>2]|0,F=x,t=k[F+4>>2]|0,(r|0)<(t|0)|((r|0)==(t|0)?(k[v>>2]|0)>>>0<(k[F>>2]|0)>>>0:0)):0)Go(k[(k[C>>2]|0)+4>>2]|0,5,x);b:while(1){if(k[j>>2]|0)break;while(1){if(Ro(k[m>>2]|0,n,o)|0)break b;if((k[o>>2]|0)>>>0<=(k[w>>2]|0)>>>0)continue b;if((k[o>>2]|0)>>>0>(k[p>>2]|0)>>>0)continue b;if((k[n>>2]|0)>>>0>(k[q>>2]|0)>>>0)continue b;x=(k[l>>2]|0)+24|0;x=B0((k[o>>2]|0)-1|0,0,x|0,((x|0)<0)<<31>>31|0)|0;x=i0(32,0,x|0,M|0)|0;x=i0(x|0,M|0,24,0)|0;F=y;k[F>>2]=x;k[F+4>>2]=M;F=y;F=kn(k[(k[C>>2]|0)+8>>2]|0,k[i>>2]|0,k[l>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[j>>2]=F;if(k[j>>2]|0)break b;x=k[l>>2]|0;x=B0((k[n>>2]|0)-1|0,0,x|0,((x|0)<0)<<31>>31|0)|0;F=y;k[F>>2]=x;k[F+4>>2]=M;F=y;F=Nm(k[(k[C>>2]|0)+4>>2]|0,k[i>>2]|0,k[l>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[j>>2]=F;if(!((k[j>>2]|0)==0&(k[j>>2]|0)==0))break b}}if(!(k[j>>2]|0)){y=k[p>>2]|0;F=(Ao(k[C>>2]|0)|0)+16|0;if((y|0)==(k[F>>2]|0)?(y=k[l>>2]|0,y=B0(k[(k[C>>2]|0)+52+20>>2]|0,0,y|0,((y|0)<0)<<31>>31|0)|0,F=z,k[F>>2]=y,k[F+4>>2]=M,F=z,F=vm(k[(k[C>>2]|0)+4>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0,k[j>>2]=F,(k[j>>2]|0)==0&(k[h>>2]|0)!=0):0){F=wm(k[(k[C>>2]|0)+4>>2]|0,k[h>>2]|0)|0;k[j>>2]=F}if(!(k[j>>2]|0))k[k[s>>2]>>2]=k[p>>2]}Om(k[C>>2]|0,3,1)}if((k[j>>2]|0)==5){k[j>>2]=0;F=36}else F=36}else F=36;while(0);do if((F|0)==36?(k[j>>2]|0)==0&(k[D>>2]|0)!=0:0){if((k[k[s>>2]>>2]|0)>>>0<(k[(k[C>>2]|0)+52+16>>2]|0)>>>0){k[j>>2]=5;break}if((k[D>>2]|0)>=2?(Cf(4,A),F=Lo(k[C>>2]|0,k[E>>2]|0,k[g>>2]|0,4,4)|0,k[j>>2]=F,(k[j>>2]|0)==0):0){if((k[D>>2]|0)==3){So(k[C>>2]|0,k[A>>2]|0);F=vm(k[(k[C>>2]|0)+8>>2]|0,0,0)|0;k[j>>2]=F}Om(k[C>>2]|0,4,4)}}while(0);To(k[m>>2]|0);k[B>>2]=k[j>>2];F=k[B>>2]|0;u=G;return F|0}function Po(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (k[k[(k[b>>2]|0)+32>>2]>>2]|0)+96|0}function Qo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+64|0;m=v+60|0;n=v+56|0;o=v+52|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+36|0;t=v+32|0;c=v+28|0;d=v+24|0;e=v+20|0;f=v+16|0;g=v+12|0;h=v+8|0;i=v+4|0;l=v;k[n>>2]=a;k[o>>2]=b;k[d>>2]=0;k[r>>2]=k[(k[n>>2]|0)+52+16>>2];b=(In(k[r>>2]|0)|0)+1|0;k[q>>2]=b;k[s>>2]=28+(((k[q>>2]|0)-1|0)*20|0)+(k[r>>2]<<1);b=k[s>>2]|0;b=yf(b,((b|0)<0)<<31>>31)|0;k[p>>2]=b;if(!(k[p>>2]|0)){k[m>>2]=7;t=k[m>>2]|0;u=v;return t|0}w0(k[p>>2]|0,0,k[s>>2]|0)|0;k[(k[p>>2]|0)+4>>2]=k[q>>2];s=yf(((k[r>>2]|0)>>>0>4096?4096:k[r>>2]|0)<<1,0)|0;k[c>>2]=s;if(!(k[c>>2]|0))k[d>>2]=7;k[t>>2]=0;while(1){if(k[d>>2]|0)break;if((k[t>>2]|0)>=(k[q>>2]|0))break;s=Jn(k[n>>2]|0,k[t>>2]|0,e,g,f)|0;k[d>>2]=s;if(!(k[d>>2]|0)){k[g>>2]=(k[g>>2]|0)+4;if(((k[t>>2]|0)+1|0)==(k[q>>2]|0))k[i>>2]=(k[r>>2]|0)-(k[f>>2]|0);else k[i>>2]=((k[e>>2]|0)-(k[g>>2]|0)|0)/4|0;k[l>>2]=(k[p>>2]|0)+8+((k[(k[p>>2]|0)+4>>2]|0)*20|0)+(k[f>>2]<<1);k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[i>>2]|0))break;j[(k[l>>2]|0)+(k[h>>2]<<1)>>1]=k[h>>2];k[h>>2]=(k[h>>2]|0)+1}Yo(k[g>>2]|0,k[c>>2]|0,k[l>>2]|0,i);k[(k[p>>2]|0)+8+((k[t>>2]|0)*20|0)+16>>2]=k[f>>2];k[(k[p>>2]|0)+8+((k[t>>2]|0)*20|0)+12>>2]=k[i>>2];k[(k[p>>2]|0)+8+((k[t>>2]|0)*20|0)+4>>2]=k[l>>2];k[(k[p>>2]|0)+8+((k[t>>2]|0)*20|0)+8>>2]=k[g>>2]}k[t>>2]=(k[t>>2]|0)+1}ie(k[c>>2]|0);if(k[d>>2]|0)To(k[p>>2]|0);k[k[o>>2]>>2]=k[p>>2];k[m>>2]=k[d>>2];t=k[m>>2]|0;u=v;return t|0}function Ro(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0,o=0;o=u;u=u+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;l=o+4|0;d=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[i>>2]=-1;k[h>>2]=k[k[e>>2]>>2];k[j>>2]=(k[(k[e>>2]|0)+4>>2]|0)-1;while(1){if((k[j>>2]|0)<0)break;k[l>>2]=(k[e>>2]|0)+8+((k[j>>2]|0)*20|0);while(1){if((k[k[l>>2]>>2]|0)>=(k[(k[l>>2]|0)+12>>2]|0))break;k[d>>2]=k[(k[(k[l>>2]|0)+8>>2]|0)+((m[(k[(k[l>>2]|0)+4>>2]|0)+(k[k[l>>2]>>2]<<1)>>1]|0)<<2)>>2];if((k[d>>2]|0)>>>0>(k[h>>2]|0)>>>0){n=6;break}c=k[l>>2]|0;k[c>>2]=(k[c>>2]|0)+1}if((n|0)==6?(n=0,(k[d>>2]|0)>>>0<(k[i>>2]|0)>>>0):0){k[i>>2]=k[d>>2];k[k[g>>2]>>2]=(k[(k[l>>2]|0)+16>>2]|0)+(m[(k[(k[l>>2]|0)+4>>2]|0)+(k[k[l>>2]>>2]<<1)>>1]|0)}k[j>>2]=(k[j>>2]|0)+-1}n=k[i>>2]|0;k[k[e>>2]>>2]=n;k[k[f>>2]>>2]=n;u=o;return (k[i>>2]|0)==-1|0}function So(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=u;u=u+32|0;f=e+16|0;g=e+12|0;c=e+8|0;d=e+4|0;h=e;k[f>>2]=a;k[g>>2]=b;b=Po(k[f>>2]|0)|0;k[c>>2]=b;k[h>>2]=(k[f>>2]|0)+52+32;b=(k[f>>2]|0)+112|0;k[b>>2]=(k[b>>2]|0)+1;k[(k[f>>2]|0)+52+16>>2]=0;b=k[h>>2]|0;Xn(b,1+(dm(k[h>>2]|0)|0)|0);k[(k[f>>2]|0)+52+32+4>>2]=k[g>>2];Uo(k[f>>2]|0);k[k[c>>2]>>2]=0;k[(k[c>>2]|0)+32>>2]=0;k[(k[c>>2]|0)+4+4>>2]=0;k[d>>2]=2;while(1){if((k[d>>2]|0)>=5)break;k[(k[c>>2]|0)+4+(k[d>>2]<<2)>>2]=-1;k[d>>2]=(k[d>>2]|0)+1}u=e;return}function To(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ie(k[c>>2]|0);u=b;return}function Uo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;d=f+8|0;e=f+4|0;k[d>>2]=a;a=Ao(k[d>>2]|0)|0;k[e>>2]=a;k[f>>2]=40;i[(k[d>>2]|0)+52+12>>0]=1;k[(k[d>>2]|0)+52>>2]=3007e3;Vo(1,(k[d>>2]|0)+52|0,40,0,(k[d>>2]|0)+52+40|0);a=(k[e>>2]|0)+48|0;b=(k[d>>2]|0)+52|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));Wo(k[d>>2]|0);a=k[e>>2]|0;b=(k[d>>2]|0)+52|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));u=f;return}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+48|0;j=n+32|0;p=n+28|0;o=n+24|0;l=n+20|0;m=n+16|0;f=n+12|0;g=n+8|0;h=n+4|0;i=n;k[j>>2]=a;k[p>>2]=b;k[o>>2]=c;k[l>>2]=d;k[m>>2]=e;k[h>>2]=k[p>>2];k[i>>2]=(k[p>>2]|0)+(k[o>>2]|0);if(k[l>>2]|0){k[f>>2]=k[k[l>>2]>>2];k[g>>2]=k[(k[l>>2]|0)+4>>2]}else{k[g>>2]=0;k[f>>2]=0}if(k[j>>2]|0){do{p=k[h>>2]|0;k[h>>2]=p+4;k[f>>2]=(k[f>>2]|0)+((k[p>>2]|0)+(k[g>>2]|0));p=k[h>>2]|0;k[h>>2]=p+4;k[g>>2]=(k[g>>2]|0)+((k[p>>2]|0)+(k[f>>2]|0))}while((k[h>>2]|0)>>>0<(k[i>>2]|0)>>>0);p=k[f>>2]|0;o=k[m>>2]|0;k[o>>2]=p;o=k[g>>2]|0;p=k[m>>2]|0;p=p+4|0;k[p>>2]=o;u=n;return}else{do{k[f>>2]=(k[f>>2]|0)+(((k[k[h>>2]>>2]&255)<<24)+((k[k[h>>2]>>2]&65280)<<8)+((k[k[h>>2]>>2]&16711680)>>>8)+((k[k[h>>2]>>2]&-16777216)>>>24)+(k[g>>2]|0));k[g>>2]=(k[g>>2]|0)+(((k[(k[h>>2]|0)+4>>2]&255)<<24)+((k[(k[h>>2]|0)+4>>2]&65280)<<8)+((k[(k[h>>2]|0)+4>>2]&16711680)>>>8)+((k[(k[h>>2]|0)+4>>2]&-16777216)>>>24)+(k[f>>2]|0));k[h>>2]=(k[h>>2]|0)+8}while((k[h>>2]|0)>>>0<(k[i>>2]|0)>>>0);p=k[f>>2]|0;o=k[m>>2]|0;k[o>>2]=p;o=k[g>>2]|0;p=k[m>>2]|0;p=p+4|0;k[p>>2]=o;u=n;return}}function Wo(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if((l[(k[b>>2]|0)+43>>0]|0|0)==2){u=c;return}Xo(k[(k[b>>2]|0)+4>>2]|0);u=c;return}function Xo(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Ob[k[(k[k[c>>2]>>2]|0)+60>>2]&255](k[c>>2]|0);u=b;return}function Yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+160|0;l=r+144|0;m=r+140|0;n=r+136|0;o=r+132|0;p=r+128|0;q=r+124|0;e=r+120|0;f=r+116|0;g=r+112|0;h=r+8|0;i=r+4|0;j=r;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=k[k[o>>2]>>2];k[q>>2]=0;k[e>>2]=0;k[g>>2]=0;a=h;b=a+104|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[p>>2]|0))break;k[q>>2]=1;k[e>>2]=(k[n>>2]|0)+(k[f>>2]<<1);k[g>>2]=0;while(1){if(!(k[f>>2]&1<>2]))break;k[i>>2]=h+(k[g>>2]<<3);Zo(k[l>>2]|0,k[(k[i>>2]|0)+4>>2]|0,k[k[i>>2]>>2]|0,e,q,k[m>>2]|0);k[g>>2]=(k[g>>2]|0)+1}k[h+(k[g>>2]<<3)+4>>2]=k[e>>2];k[h+(k[g>>2]<<3)>>2]=k[q>>2];k[f>>2]=(k[f>>2]|0)+1}k[g>>2]=(k[g>>2]|0)+1;while(1){if((k[g>>2]|0)>>>0>=13)break;if(k[p>>2]&1<>2]|0){k[j>>2]=h+(k[g>>2]<<3);Zo(k[l>>2]|0,k[(k[j>>2]|0)+4>>2]|0,k[k[j>>2]>>2]|0,e,q,k[m>>2]|0)}k[g>>2]=(k[g>>2]|0)+1}k[k[o>>2]>>2]=k[q>>2];u=r;return}function Zo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+64|0;s=y+44|0;t=y+40|0;v=y+36|0;w=y+32|0;g=y+28|0;h=y+24|0;i=y+20|0;l=y+16|0;n=y+12|0;o=y+8|0;p=y+4|0;q=y+48|0;r=y;k[s>>2]=a;k[t>>2]=b;k[v>>2]=c;k[w>>2]=d;k[g>>2]=e;k[h>>2]=f;k[i>>2]=0;k[l>>2]=0;k[n>>2]=0;k[o>>2]=k[k[g>>2]>>2];k[p>>2]=k[k[w>>2]>>2];while(1){if((k[l>>2]|0)>=(k[o>>2]|0)?(k[i>>2]|0)>=(k[v>>2]|0):0)break;do if((k[i>>2]|0)<(k[v>>2]|0)){if((k[l>>2]|0)<(k[o>>2]|0)?(k[(k[s>>2]|0)+((m[(k[t>>2]|0)+(k[i>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(k[(k[s>>2]|0)+((m[(k[p>>2]|0)+(k[l>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}e=k[t>>2]|0;f=k[i>>2]|0;k[i>>2]=f+1;j[q>>1]=j[e+(f<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;e=k[p>>2]|0;f=k[l>>2]|0;k[l>>2]=f+1;j[q>>1]=j[e+(f<<1)>>1]|0}k[r>>2]=k[(k[s>>2]|0)+((m[q>>1]|0)<<2)>>2];d=j[q>>1]|0;e=k[h>>2]|0;f=k[n>>2]|0;k[n>>2]=f+1;j[e+(f<<1)>>1]=d;if((k[i>>2]|0)>=(k[v>>2]|0))continue;if((k[(k[s>>2]|0)+((m[(k[t>>2]|0)+(k[i>>2]<<1)>>1]|0)<<2)>>2]|0)!=(k[r>>2]|0))continue;k[i>>2]=(k[i>>2]|0)+1}k[k[w>>2]>>2]=k[t>>2];k[k[g>>2]>>2]=k[n>>2];r0(k[t>>2]|0,k[h>>2]|0,k[n>>2]<<1|0)|0;u=y;return}function _o(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=u;u=u+128|0;d=o+120|0;e=o+116|0;f=o+112|0;g=o+104|0;h=o+56|0;j=o+8|0;n=o;k[e>>2]=a;k[f>>2]=b;a=Ao(k[e>>2]|0)|0;k[n>>2]=a;a=h;b=k[n>>2]|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));Wo(k[e>>2]|0);a=j;b=(k[n>>2]|0)+48|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));if(R_(h,j,48)|0){k[d>>2]=1;n=k[d>>2]|0;u=o;return n|0}if(!(l[h+12>>0]|0)){k[d>>2]=1;n=k[d>>2]|0;u=o;return n|0}Vo(1,h,40,0,g);if((k[g>>2]|0)==(k[h+40>>2]|0)?(k[g+4>>2]|0)==(k[h+40+4>>2]|0):0){if(R_((k[e>>2]|0)+52|0,h,48)|0){k[k[f>>2]>>2]=1;a=(k[e>>2]|0)+52|0;b=h;c=a+48|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));k[(k[e>>2]|0)+36>>2]=((m[(k[e>>2]|0)+52+14>>1]|0)&65024)+(((m[(k[e>>2]|0)+52+14>>1]|0)&1)<<16)}k[d>>2]=0;n=k[d>>2]|0;u=o;return n|0}k[d>>2]=1;n=k[d>>2]|0;u=o;return n|0}function $o(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+144|0;C=D+16|0;c=D+96|0;r=D+92|0;v=D+88|0;w=D+8|0;x=D+80|0;y=D+76|0;z=D+72|0;A=D+104|0;B=D+68|0;d=D+64|0;e=D+60|0;f=D+56|0;g=D;h=D+52|0;m=D+48|0;n=D+44|0;o=D+40|0;p=D+36|0;q=D+32|0;s=D+28|0;t=D+24|0;k[r>>2]=a;k[x>>2]=0;k[x+4>>2]=0;k[y>>2]=1+(l[(k[r>>2]|0)+45>>0]|0);k[z>>2]=8-(k[y>>2]|0);b=Ko(k[r>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[v>>2]=b;if(k[v>>2]|0){k[c>>2]=k[v>>2];C=k[c>>2]|0;u=D;return C|0}a=(k[r>>2]|0)+52|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));b=Hl(k[(k[r>>2]|0)+8>>2]|0,w)|0;k[v>>2]=b;a:do if(!(k[v>>2]|0)){b=w;a=k[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>32){k[B>>2]=0;b=kn(k[(k[r>>2]|0)+8>>2]|0,A,32,0,0)|0;k[v>>2]=b;if(k[v>>2]|0)break a;b=dm(A)|0;k[m>>2]=b;b=dm(A+8|0)|0;k[h>>2]=b;if((((k[m>>2]&-2|0)==931071618?!(((k[h>>2]|0)>65536?1:(k[h>>2]&(k[h>>2]|0)-1|0)!=0)|(k[h>>2]|0)<512):0)?(i[(k[r>>2]|0)+52+13>>0]=k[m>>2]&1,k[(k[r>>2]|0)+36>>2]=k[h>>2],m=dm(A+12|0)|0,k[(k[r>>2]|0)+112>>2]=m,m=(k[r>>2]|0)+52+32|0,b=A+16|0,i[m>>0]=i[b>>0]|0,i[m+1>>0]=i[b+1>>0]|0,i[m+2>>0]=i[b+2>>0]|0,i[m+3>>0]=i[b+3>>0]|0,i[m+4>>0]=i[b+4>>0]|0,i[m+5>>0]=i[b+5>>0]|0,i[m+6>>0]=i[b+6>>0]|0,i[m+7>>0]=i[b+7>>0]|0,Vo((l[(k[r>>2]|0)+52+13>>0]|0)==((i[936]|0)==0|0)&1,A,24,0,(k[r>>2]|0)+52+24|0),m=k[(k[r>>2]|0)+52+24>>2]|0,(m|0)==(dm(A+24|0)|0)):0)?(m=k[(k[r>>2]|0)+52+24+4>>2]|0,(m|0)==(dm(A+28|0)|0)):0){A=dm(A+4|0)|0;k[n>>2]=A;if((k[n>>2]|0)!=3007e3){B=rf(54951)|0;k[v>>2]=B;break}k[d>>2]=(k[h>>2]|0)+24;A=k[d>>2]|0;A=yf(A,((A|0)<0)<<31>>31)|0;k[B>>2]=A;if(!(k[B>>2]|0)){k[v>>2]=7;break a}k[e>>2]=(k[B>>2]|0)+24;k[f>>2]=0;A=g;k[A>>2]=32;k[A+4>>2]=0;while(1){b=g;n=k[d>>2]|0;n=i0(k[b>>2]|0,k[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=M;A=w;m=k[A+4>>2]|0;if(!((b|0)<(m|0)|((b|0)==(m|0)?n>>>0<=(k[A>>2]|0)>>>0:0)))break;k[f>>2]=(k[f>>2]|0)+1;A=g;A=kn(k[(k[r>>2]|0)+8>>2]|0,k[B>>2]|0,k[d>>2]|0,k[A>>2]|0,k[A+4>>2]|0)|0;k[v>>2]=A;if(k[v>>2]|0)break;A=ap(k[r>>2]|0,p,q,k[e>>2]|0,k[B>>2]|0)|0;k[o>>2]=A;if(!(k[o>>2]|0))break;A=bp(k[r>>2]|0,k[f>>2]|0,k[p>>2]|0)|0;k[v>>2]=A;if(k[v>>2]|0)break;if(k[q>>2]|0){k[(k[r>>2]|0)+52+16>>2]=k[f>>2];k[(k[r>>2]|0)+52+20>>2]=k[q>>2];j[(k[r>>2]|0)+52+14>>1]=k[h>>2]&65280|k[h>>2]>>16;k[x>>2]=k[(k[r>>2]|0)+52+24>>2];k[x+4>>2]=k[(k[r>>2]|0)+52+24+4>>2]}n=k[d>>2]|0;A=g;n=i0(k[A>>2]|0,k[A+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;A=g;k[A>>2]=n;k[A+4>>2]=M}ie(k[B>>2]|0)}}while(0);if(!(k[v>>2]|0)){k[(k[r>>2]|0)+52+24>>2]=k[x>>2];k[(k[r>>2]|0)+52+24+4>>2]=k[x+4>>2];Uo(k[r>>2]|0);B=Po(k[r>>2]|0)|0;k[s>>2]=B;k[k[s>>2]>>2]=0;k[(k[s>>2]|0)+32>>2]=k[(k[r>>2]|0)+52+16>>2];k[(k[s>>2]|0)+4>>2]=0;k[t>>2]=1;while(1){if((k[t>>2]|0)>=5)break;k[(k[s>>2]|0)+4+(k[t>>2]<<2)>>2]=-1;k[t>>2]=(k[t>>2]|0)+1}if(k[(k[r>>2]|0)+52+16>>2]|0)k[(k[s>>2]|0)+4+4>>2]=k[(k[r>>2]|0)+52+16>>2];if(k[(k[r>>2]|0)+52+20>>2]|0){B=k[(k[r>>2]|0)+108>>2]|0;k[C>>2]=k[(k[r>>2]|0)+52+16>>2];k[C+4>>2]=B;Hd(283,24948,C)}}}while(0);Om(k[r>>2]|0,k[y>>2]|0,k[z>>2]|0);k[c>>2]=k[v>>2];C=k[c>>2]|0;u=D;return C|0}function ap(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;f=r+12|0;g=r+8|0;h=r+4|0;j=r;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[f>>2]=e;k[h>>2]=(k[n>>2]|0)+52+24;if(R_((k[n>>2]|0)+52+32|0,(k[f>>2]|0)+8|0,8)|0){k[m>>2]=0;q=k[m>>2]|0;u=r;return q|0}e=dm(k[f>>2]|0)|0;k[j>>2]=e;if(!(k[j>>2]|0)){k[m>>2]=0;q=k[m>>2]|0;u=r;return q|0}k[g>>2]=(l[(k[n>>2]|0)+52+13>>0]|0)==((i[936]|0)==0|0)&1;Vo(k[g>>2]|0,k[f>>2]|0,8,k[h>>2]|0,k[h>>2]|0);Vo(k[g>>2]|0,k[q>>2]|0,k[(k[n>>2]|0)+36>>2]|0,k[h>>2]|0,k[h>>2]|0);q=k[k[h>>2]>>2]|0;if((q|0)==(dm((k[f>>2]|0)+16|0)|0)?(q=k[(k[h>>2]|0)+4>>2]|0,(q|0)==(dm((k[f>>2]|0)+20|0)|0)):0){k[k[o>>2]>>2]=k[j>>2];q=dm((k[f>>2]|0)+4|0)|0;k[k[p>>2]>>2]=q;k[m>>2]=1;q=k[m>>2]|0;u=r;return q|0}k[m>>2]=0;q=k[m>>2]|0;u=r;return q|0}function bp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;i=s+44|0;l=s+40|0;m=s+36|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;d=s+16|0;e=s+12|0;f=s+8|0;g=s+4|0;h=s;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[p>>2]=0;k[q>>2]=0;k[d>>2]=0;c=k[l>>2]|0;c=Jn(c,In(k[m>>2]|0)|0,d,q,p)|0;k[o>>2]=c;do if(!(k[o>>2]|0)){k[f>>2]=(k[m>>2]|0)-(k[p>>2]|0);if((k[f>>2]|0)==1){k[h>>2]=(k[d>>2]|0)+16384-((k[q>>2]|0)+4);w0((k[q>>2]|0)+4|0,0,k[h>>2]|0)|0}if(k[(k[q>>2]|0)+(k[f>>2]<<2)>>2]|0)uo(k[l>>2]|0);k[g>>2]=k[f>>2];p=Kn(k[n>>2]|0)|0;k[e>>2]=p;while(1){if(!(j[(k[d>>2]|0)+(k[e>>2]<<1)>>1]|0)){r=11;break}p=k[g>>2]|0;k[g>>2]=p+-1;if(!p)break;p=Ln(k[e>>2]|0)|0;k[e>>2]=p}if((r|0)==11){k[(k[q>>2]|0)+(k[f>>2]<<2)>>2]=k[n>>2];j[(k[d>>2]|0)+(k[e>>2]<<1)>>1]=k[f>>2];break}r=un(54820)|0;k[i>>2]=r;r=k[i>>2]|0;u=s;return r|0}while(0);k[i>>2]=k[o>>2];r=k[i>>2]|0;u=s;return r|0}function cp(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e+8|0;b=e+4|0;d=e;k[b>>2]=a;if((k[b>>2]|0?k[k[b>>2]>>2]|0:0)?(k[(k[b>>2]|0)+8>>2]|0)>=0:0){a=Wb[k[k[b>>2]>>2]&255](k[(k[b>>2]|0)+4>>2]|0,k[(k[b>>2]|0)+8>>2]|0)|0;k[d>>2]=a;b=(k[b>>2]|0)+8|0;if(!(k[d>>2]|0))a=-1;else a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[c>>2]=k[d>>2];d=k[c>>2]|0;u=e;return d|0}k[c>>2]=0;d=k[c>>2]|0;u=e;return d|0}function dp(){return 48}function ep(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if((k[(k[b>>2]|0)+4>>2]|0)<=72){b=72;u=c;return b|0}b=k[(k[b>>2]|0)+4>>2]|0;u=c;return b|0}function fp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}b=(wd(k[e>>2]|0)|0)+1|0;k[g>>2]=b;b=k[g>>2]|0;d=Md(k[d>>2]|0,b,((b|0)<0)<<31>>31)|0;k[f>>2]=d;if(k[f>>2]|0)r0(k[f>>2]|0,k[e>>2]|0,k[g>>2]|0)|0;k[c>>2]=k[f>>2];g=k[c>>2]|0;u=h;return g|0}function gp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;c=g+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[e>>2]=k[h>>2];k[f>>2]=0;if(k[(k[e>>2]|0)+44>>2]|0){k[c>>2]=0;h=k[c>>2]|0;u=g;return h|0}do if(l[(k[e>>2]|0)+21>>0]|0|0){if(((l[(k[e>>2]|0)+21>>0]|0)&3|0)==0?((m[(k[d>>2]|0)+24>>1]|0)&8|0)==0:0)break;k[c>>2]=0;h=k[c>>2]|0;u=g;return h|0}while(0);k[(k[d>>2]|0)+12>>2]=0;h=(Dm(k[e>>2]|0)|0)!=0;a=k[d>>2]|0;if(h){h=ao(a)|0;k[f>>2]=h;if(!(k[f>>2]|0)){h=ip(k[e>>2]|0,k[d>>2]|0,0,0)|0;k[f>>2]=h}}else{if(!(!((m[a+24>>1]|0)&8|0)?(l[(k[e>>2]|0)+17>>0]|0|0)!=3:0)){h=jp(k[e>>2]|0,1)|0;k[f>>2]=h}if(!(k[f>>2]|0)){h=kp(k[e>>2]|0,k[d>>2]|0)|0;k[f>>2]=h}}if(!(k[f>>2]|0))Rl(k[d>>2]|0);h=nm(k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=h;h=k[c>>2]|0;u=g;return h|0}function hp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;j=o+20|0;l=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[g>>2]=e;k[h>>2]=f;a=k[h>>2]|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[(k[h>>2]|0)+24>>2]=1;k[(k[h>>2]|0)+28>>2]=k[l>>2];i[(k[h>>2]|0)+32>>0]=k[m>>2];i[(k[h>>2]|0)+33>>0]=2;k[(k[h>>2]|0)+36>>2]=k[n>>2];k[(k[h>>2]|0)+40>>2]=k[g>>2];k[(k[h>>2]|0)+16>>2]=100;k[(k[h>>2]|0)+20>>2]=1;n=Kl(k[h>>2]|0,k[j>>2]|0)|0;u=o;return n|0}function ip(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;o=u;u=u+32|0;g=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;e=o+4|0;f=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;a:do if(k[j>>2]|0){k[f>>2]=h;k[n>>2]=0;k[e>>2]=k[h>>2];while(1){d=k[e>>2]|0;k[k[f>>2]>>2]=d;if(!d)break a;if((k[(k[e>>2]|0)+20>>2]|0)>>>0<=(k[i>>2]|0)>>>0){k[f>>2]=(k[e>>2]|0)+12;k[n>>2]=(k[n>>2]|0)+1}k[e>>2]=k[(k[e>>2]|0)+12>>2]}}else k[n>>2]=1;while(0);d=(k[g>>2]|0)+192+8|0;k[d>>2]=(k[d>>2]|0)+(k[n>>2]|0);if((k[(k[h>>2]|0)+20>>2]|0)==1)mp(k[h>>2]|0);n=rp(k[(k[g>>2]|0)+216>>2]|0,k[(k[g>>2]|0)+160>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,l[(k[g>>2]|0)+11>>0]|0)|0;k[m>>2]=n;if(k[m>>2]|0){n=k[m>>2]|0;u=o;return n|0}if(!(k[(k[g>>2]|0)+96>>2]|0)){n=k[m>>2]|0;u=o;return n|0}k[e>>2]=k[h>>2];while(1){if(!(k[e>>2]|0))break;qn(k[(k[g>>2]|0)+96>>2]|0,k[(k[e>>2]|0)+20>>2]|0,k[(k[e>>2]|0)+4>>2]|0);k[e>>2]=k[(k[e>>2]|0)+12>>2]}n=k[m>>2]|0;u=o;return n|0}function jp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+48|0;c=n+24|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n;j=n+40|0;m=n+28|0;k[d>>2]=a;k[e>>2]=b;b=np(k[d>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){k[c>>2]=k[f>>2];m=k[c>>2]|0;u=n;return m|0}do if(!(i[(k[d>>2]|0)+7>>0]|0)){if(k[k[(k[d>>2]|0)+68>>2]>>2]|0?(l[(k[d>>2]|0)+5>>0]|0)!=4:0){b=gn(k[(k[d>>2]|0)+64>>2]|0)|0;k[g>>2]=b;if(!(k[g>>2]&512)){i[m>>0]=i[24914]|0;i[m+1>>0]=i[24915]|0;i[m+2>>0]=i[24916]|0;i[m+3>>0]=i[24917]|0;i[m+4>>0]=i[24918]|0;i[m+5>>0]=i[24919]|0;i[m+6>>0]=i[24920]|0;i[m+7>>0]=i[24921]|0;Xn(m+8|0,k[(k[d>>2]|0)+48>>2]|0);a=no(k[d>>2]|0)|0;b=h;k[b>>2]=a;k[b+4>>2]=M;b=h;b=kn(k[(k[d>>2]|0)+68>>2]|0,j,8,k[b>>2]|0,k[b+4>>2]|0)|0;k[f>>2]=b;if((k[f>>2]|0)==0?0==(R_(j,24914,8)|0):0){j=h;j=Nm(k[(k[d>>2]|0)+68>>2]|0,56040,1,k[j>>2]|0,k[j+4>>2]|0)|0;k[f>>2]=j}if((k[f>>2]|0)!=0&(k[f>>2]|0)!=522){k[c>>2]=k[f>>2];m=k[c>>2]|0;u=n;return m|0}if((l[(k[d>>2]|0)+8>>0]|0?0==(k[g>>2]&1024|0):0)?(j=wm(k[(k[d>>2]|0)+68>>2]|0,l[(k[d>>2]|0)+12>>0]|0)|0,k[f>>2]=j,k[f>>2]|0):0){k[c>>2]=k[f>>2];m=k[c>>2]|0;u=n;return m|0}j=(k[d>>2]|0)+88|0;m=Nm(k[(k[d>>2]|0)+68>>2]|0,m,12,k[j>>2]|0,k[j+4>>2]|0)|0;k[f>>2]=m;if(k[f>>2]|0){k[c>>2]=k[f>>2];m=k[c>>2]|0;u=n;return m|0}}if(0==(k[g>>2]&1024|0)?(m=wm(k[(k[d>>2]|0)+68>>2]|0,l[(k[d>>2]|0)+12>>0]|((l[(k[d>>2]|0)+12>>0]|0)==3?16:0))|0,k[f>>2]=m,k[f>>2]|0):0){k[c>>2]=k[f>>2];m=k[c>>2]|0;u=n;return m|0}h=(k[d>>2]|0)+80|0;j=k[h+4>>2]|0;m=(k[d>>2]|0)+88|0;k[m>>2]=k[h>>2];k[m+4>>2]=j;if(!(k[e>>2]|0))break;if(k[g>>2]&512)break;k[(k[d>>2]|0)+48>>2]=0;m=mo(k[d>>2]|0)|0;k[f>>2]=m;if(!(k[f>>2]|0))break;k[c>>2]=k[f>>2];m=k[c>>2]|0;u=n;return m|0}h=(k[d>>2]|0)+80|0;j=k[h+4>>2]|0;m=(k[d>>2]|0)+88|0;k[m>>2]=k[h>>2];k[m+4>>2]=j}while(0);op(k[(k[d>>2]|0)+212>>2]|0);i[(k[d>>2]|0)+17>>0]=4;k[c>>2]=0;m=k[c>>2]|0;u=n;return m|0}function kp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+48|0;d=l+32|0;e=l+28|0;f=l+24|0;c=l+8|0;g=l+20|0;h=l;j=l+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){b=lp(k[d>>2]|0,k[(k[d>>2]|0)+64>>2]|0,k[(k[d>>2]|0)+152>>2]|0)|0;k[f>>2]=b}do if((k[f>>2]|0)==0?(k[(k[d>>2]|0)+40>>2]|0)>>>0<(k[(k[d>>2]|0)+28>>2]|0)>>>0:0){if((k[(k[e>>2]|0)+12>>2]|0)==0?(k[(k[e>>2]|0)+20>>2]|0)>>>0<=(k[(k[d>>2]|0)+40>>2]|0)>>>0:0)break;a=k[(k[d>>2]|0)+160>>2]|0;a=B0(a|0,((a|0)<0)<<31>>31|0,k[(k[d>>2]|0)+28>>2]|0,0)|0;b=c;k[b>>2]=a;k[b+4>>2]=M;Go(k[(k[d>>2]|0)+64>>2]|0,5,c);k[(k[d>>2]|0)+40>>2]=k[(k[d>>2]|0)+28>>2]}while(0);while(1){if(!((k[f>>2]|0)==0?(k[e>>2]|0)!=0:0))break;k[g>>2]=k[(k[e>>2]|0)+20>>2];if((k[g>>2]|0)>>>0<=(k[(k[d>>2]|0)+28>>2]|0)>>>0?0==((m[(k[e>>2]|0)+24>>1]|0)&16|0):0){b=k[(k[d>>2]|0)+160>>2]|0;b=B0((k[g>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;c=h;k[c>>2]=b;k[c+4>>2]=M;if((k[(k[e>>2]|0)+20>>2]|0)==1)mp(k[e>>2]|0);k[j>>2]=k[(k[e>>2]|0)+4>>2];c=h;c=Nm(k[(k[d>>2]|0)+64>>2]|0,k[j>>2]|0,k[(k[d>>2]|0)+160>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[f>>2]=c;if((k[g>>2]|0)==1){a=(k[d>>2]|0)+112|0;b=(k[j>>2]|0)+24|0;c=a+16|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0))}if((k[g>>2]|0)>>>0>(k[(k[d>>2]|0)+36>>2]|0)>>>0)k[(k[d>>2]|0)+36>>2]=k[g>>2];c=(k[d>>2]|0)+192+8|0;k[c>>2]=(k[c>>2]|0)+1;qn(k[(k[d>>2]|0)+96>>2]|0,k[g>>2]|0,k[(k[e>>2]|0)+4>>2]|0)}k[e>>2]=k[(k[e>>2]|0)+12>>2]}u=l;return k[f>>2]|0}function lp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=u;u=u+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;k[f>>2]=k[f>>2]|30;c=Ym(k[k[h>>2]>>2]|0,0,k[g>>2]|0,k[f>>2]|0,0)|0;k[d>>2]=c;u=e;return k[d>>2]|0}function mp(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b+4|0;d=b;k[c>>2]=a;a=(dm((k[(k[c>>2]|0)+16>>2]|0)+112|0)|0)+1|0;k[d>>2]=a;Xn((k[(k[c>>2]|0)+4>>2]|0)+24|0,k[d>>2]|0);Xn((k[(k[c>>2]|0)+4>>2]|0)+92|0,k[d>>2]|0);Xn((k[(k[c>>2]|0)+4>>2]|0)+96|0,3015001);u=b;return}function np(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+44>>2];if((k[c>>2]|0)==0?0==(Dm(k[b>>2]|0)|0):0){b=pp(k[b>>2]|0,4)|0;k[c>>2]=b}u=d;return k[c>>2]|0}function op(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-9;k[c>>2]=k[(k[c>>2]|0)+32>>2]}k[(k[b>>2]|0)+8>>2]=k[(k[b>>2]|0)+4>>2];u=d;return}function pp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){b=qp(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if((k[e>>2]|0)!=5){a=4;break}if(!(Rb[k[(k[c>>2]|0)+184>>2]&255](k[(k[c>>2]|0)+188>>2]|0)|0)){a=4;break}}if((a|0)==4){u=f;return k[e>>2]|0}return 0}function qp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((l[(k[c>>2]|0)+18>>0]|0|0)>=(k[d>>2]|0)?(l[(k[c>>2]|0)+18>>0]|0|0)!=5:0){e=k[e>>2]|0;u=f;return e|0}if(l[(k[c>>2]|0)+14>>0]|0|0)a=0;else a=Eo(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){e=k[e>>2]|0;u=f;return e|0}if(!((k[d>>2]|0)==4?1:(l[(k[c>>2]|0)+18>>0]|0|0)!=5)){e=k[e>>2]|0;u=f;return e|0}i[(k[c>>2]|0)+18>>0]=k[d>>2];e=k[e>>2]|0;u=f;return e|0} +function vG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;z=u;u=u+64|0;v=z+56|0;w=z+52|0;A=z+63|0;n=z+48|0;o=z+44|0;x=z+40|0;y=z+36|0;p=z+32|0;s=z+28|0;t=z+24|0;c=z+60|0;q=z+20|0;r=z+62|0;d=z+16|0;e=z+12|0;f=z+8|0;g=z+4|0;h=z;k[w>>2]=a;i[A>>0]=b;k[n>>2]=k[k[w>>2]>>2];k[o>>2]=k[(k[n>>2]|0)+4>>2];k[q>>2]=0;i[r>>0]=l[A>>0]&2;k[t>>2]=i[(k[w>>2]|0)+68>>0];k[s>>2]=m[(k[w>>2]|0)+80+(k[t>>2]<<1)>>1];k[y>>2]=k[(k[w>>2]|0)+120+(k[t>>2]<<2)>>2];k[p>>2]=(k[(k[y>>2]|0)+56>>2]|0)+(m[(k[y>>2]|0)+20>>1]&(l[(k[(k[y>>2]|0)+64>>2]|0)+(k[s>>2]<<1)>>0]<<8|l[(k[(k[y>>2]|0)+64>>2]|0)+(k[s>>2]<<1)+1>>0]));do if(i[r>>0]|0){if(i[(k[y>>2]|0)+4>>0]|0?(A=m[(k[y>>2]|0)+16>>1]|0,A=A+((Cp(k[y>>2]|0,k[p>>2]|0)|0)&65535)+2|0,(A|0)<=((k[(k[o>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){k[q>>2]=1;break}A=Fq(k[w>>2]|0)|0;k[x>>2]=A;if(k[x>>2]|0){k[v>>2]=k[x>>2];A=k[v>>2]|0;u=z;return A|0}}while(0);if((i[(k[y>>2]|0)+4>>0]|0)==0?(k[d>>2]=0,A=_D(k[w>>2]|0,d)|0,k[x>>2]=A,k[x>>2]|0):0){k[v>>2]=k[x>>2];A=k[v>>2]|0;u=z;return A|0}if(l[(k[w>>2]|0)+64>>0]&32|0?(A=iq(k[o>>2]|0,k[(k[w>>2]|0)+52>>2]|0,k[w>>2]|0)|0,k[x>>2]=A,k[x>>2]|0):0){k[v>>2]=k[x>>2];A=k[v>>2]|0;u=z;return A|0}if(!(k[(k[w>>2]|0)+72>>2]|0)){A=(k[w>>2]|0)+16|0;DH(k[n>>2]|0,k[A>>2]|0,k[A+4>>2]|0,0)}A=Tn(k[(k[y>>2]|0)+72>>2]|0)|0;k[x>>2]=A;if(k[x>>2]|0){k[v>>2]=k[x>>2];A=k[v>>2]|0;u=z;return A|0}A=FH(k[y>>2]|0,k[p>>2]|0,c)|0;k[x>>2]=A;GI(k[y>>2]|0,k[s>>2]|0,m[c>>1]|0,x);if(k[x>>2]|0){k[v>>2]=k[x>>2];A=k[v>>2]|0;u=z;return A|0}if(!(i[(k[y>>2]|0)+4>>0]|0)){k[e>>2]=k[(k[w>>2]|0)+120+(i[(k[w>>2]|0)+68>>0]<<2)>>2];k[g>>2]=k[(k[(k[w>>2]|0)+120+((k[t>>2]|0)+1<<2)>>2]|0)+84>>2];k[p>>2]=(k[(k[e>>2]|0)+56>>2]|0)+(m[(k[e>>2]|0)+20>>1]&(l[(k[(k[e>>2]|0)+64>>2]|0)+((m[(k[e>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|l[(k[(k[e>>2]|0)+64>>2]|0)+((m[(k[e>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((k[p>>2]|0)>>>0<((k[(k[e>>2]|0)+56>>2]|0)+4|0)>>>0){A=un(66449)|0;k[v>>2]=A;A=k[v>>2]|0;u=z;return A|0}A=(Wb[k[(k[e>>2]|0)+76>>2]&255](k[e>>2]|0,k[p>>2]|0)|0)&65535;k[f>>2]=A;k[h>>2]=k[(k[o>>2]|0)+80>>2];A=Tn(k[(k[e>>2]|0)+72>>2]|0)|0;k[x>>2]=A;if(!(k[x>>2]|0))HI(k[y>>2]|0,k[s>>2]|0,(k[p>>2]|0)+-4|0,(k[f>>2]|0)+4|0,k[h>>2]|0,k[g>>2]|0,x);GI(k[e>>2]|0,(m[(k[e>>2]|0)+18>>1]|0)-1|0,k[f>>2]|0,x);if(k[x>>2]|0){k[v>>2]=k[x>>2];A=k[v>>2]|0;u=z;return A|0}}A=II(k[w>>2]|0)|0;k[x>>2]=A;if((k[x>>2]|0)==0?(i[(k[w>>2]|0)+68>>0]|0)>(k[t>>2]|0):0){while(1){a=k[w>>2]|0;if((i[(k[w>>2]|0)+68>>0]|0)<=(k[t>>2]|0))break;p=(k[w>>2]|0)+68|0;A=i[p>>0]|0;i[p>>0]=A+-1<<24>>24;mq(k[a+120+(A<<24>>24<<2)>>2]|0)}A=II(a)|0;k[x>>2]=A}do if(!(k[x>>2]|0)){a=k[w>>2]|0;if(!(k[q>>2]|0)){A=kE(a)|0;k[x>>2]=A;if(!(i[r>>0]|0))break;i[(k[w>>2]|0)+66>>0]=3;break}i[a+66>>0]=2;a=(k[w>>2]|0)+60|0;if((k[s>>2]|0)>=(m[(k[y>>2]|0)+18>>1]|0)){k[a>>2]=-1;j[(k[w>>2]|0)+80+(k[t>>2]<<1)>>1]=(m[(k[y>>2]|0)+18>>1]|0)-1;break}else{k[a>>2]=1;break}}while(0);k[v>>2]=k[x>>2];A=k[v>>2]|0;u=z;return A|0}function wG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+48|0;o=r+44|0;s=r+40|0;p=r+36|0;i=r+32|0;q=r+28|0;l=r+24|0;n=r+20|0;e=r+16|0;f=r+12|0;g=r+8|0;h=r+4|0;k[s>>2]=a;k[p>>2]=b;k[i>>2]=c;k[q>>2]=d;k[l>>2]=k[(k[s>>2]|0)+16>>2];k[n>>2]=k[(k[l>>2]|0)+32>>2];k[e>>2]=k[(k[s>>2]|0)+24>>2];do if(!(k[n>>2]|0)){s=gE(k[e>>2]|0,0,0,r)|0;k[(k[l>>2]|0)+32>>2]=s;k[n>>2]=s;if(k[n>>2]|0){j[(k[n>>2]|0)+8>>1]=k[i>>2];break}k[o>>2]=7;s=k[o>>2]|0;u=r;return s|0}while(0);s=FI(k[l>>2]|0,h)|0;k[g>>2]=s;hE(k[e>>2]|0,k[h>>2]|0,k[g>>2]|0,k[n>>2]|0);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[i>>2]|0)){a=10;break}if((m[(k[(k[n>>2]|0)+4>>2]|0)+((k[f>>2]|0)*40|0)+8>>1]|0)&1|0){a=8;break}k[f>>2]=(k[f>>2]|0)+1}if((a|0)==8){k[k[q>>2]>>2]=-1;k[o>>2]=0;s=k[o>>2]|0;u=r;return s|0}else if((a|0)==10){s=nE(k[(k[p>>2]|0)+12>>2]|0,k[(k[p>>2]|0)+16>>2]|0,k[n>>2]|0)|0;k[k[q>>2]>>2]=s;k[o>>2]=0;s=k[o>>2]|0;u=r;return s|0}return 0}function xG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=u;u=u+32|0;c=g+20|0;i=g+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[i>>2]=a;k[d>>2]=b;k[h>>2]=k[(k[i>>2]|0)+16>>2];b=FI(k[h>>2]|0,f)|0;k[e>>2]=b;if(ni(k[d>>2]|0,k[f>>2]|0)|0){k[c>>2]=7;i=k[c>>2]|0;u=g;return i|0}else{k[(k[d>>2]|0)+12>>2]=k[f>>2];j[(k[d>>2]|0)+8>>1]=(m[(k[d>>2]|0)+8>>1]|0)&-49664|16;r0(k[(k[d>>2]|0)+16>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=0;i=k[c>>2]|0;u=g;return i|0}return 0}function yG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=u;u=u+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if(!(l[(k[f>>2]|0)+66>>0]|0)){k[e>>2]=4;j=k[e>>2]|0;u=m;return j|0}if((l[(k[f>>2]|0)+66>>0]|0|0)>=3)a=aE(k[f>>2]|0)|0;else a=0;k[j>>2]=a;if(!(k[j>>2]|0)){i=Jq(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0)|0;k[j>>2]=i}k[e>>2]=k[j>>2];j=k[e>>2]|0;u=m;return j|0}function zG(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if(CI(k[(k[c>>2]|0)+16>>2]|0)|0){c=DI(k[c>>2]|0)|0;k[b>>2]=c;c=k[b>>2]|0;u=d;return c|0}else{k[b>>2]=0;c=k[b>>2]|0;u=d;return c|0}return 0}function AG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;d=g+16|0;h=g+12|0;c=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;k[e>>2]=k[(k[h>>2]|0)+16>>2];b=k[e>>2]|0;if(l[(k[e>>2]|0)+56>>0]|0|0){h=OH(b)|0;k[f>>2]=h;h=As(k[e>>2]|0,k[f>>2]|0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){h=oI(k[e>>2]|0)|0;k[f>>2]=h;k[k[c>>2]>>2]=0}k[d>>2]=k[f>>2];h=k[d>>2]|0;u=g;return h|0}a=k[c>>2]|0;if(k[b+36>>2]|0){k[a>>2]=0;h=UH((k[e>>2]|0)+64|0,(k[e>>2]|0)+36|0)|0;k[f>>2]=h}else k[a>>2]=1;k[d>>2]=k[f>>2];h=k[d>>2]|0;u=g;return h|0}function BG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;d=f+8|0;c=f+4|0;e=f;k[d>>2]=a;k[c>>2]=b;b=kE(k[d>>2]|0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){a=k[c>>2]|0;if(!(l[(k[d>>2]|0)+66>>0]|0)){k[a>>2]=1;break}else{k[a>>2]=0;d=wE(k[d>>2]|0)|0;k[e>>2]=d;break}}while(0);u=f;return k[e>>2]|0}function CG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=u;u=u+32|0;d=j+20|0;l=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;e=j;k[d>>2]=a;k[l>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[l>>2]|0)+16>>2];b=k[g>>2]|0;if(!(i[(k[g>>2]|0)+56>>0]|0)){k[e>>2]=k[b+36>>2];k[(k[g>>2]|0)+36>>2]=k[(k[e>>2]|0)+4>>2];k[(k[e>>2]|0)+4>>2]=0;if(!(k[(k[g>>2]|0)+36+4>>2]|0))Es(k[d>>2]|0,k[e>>2]|0);k[k[f>>2]>>2]=((k[(k[g>>2]|0)+36>>2]|0)!=0^1)&1;k[h>>2]=0;l=k[h>>2]|0;u=j;return l|0}a=k[g>>2]|0;if(i[b+57>>0]|0){l=eI(k[a+16>>2]|0)|0;k[h>>2]=l;k[k[f>>2]>>2]=(k[(k[(k[g>>2]|0)+16>>2]|0)+24>>2]|0)==0&1;l=k[h>>2]|0;u=j;return l|0}else{l=fI(k[a+20>>2]|0,k[f>>2]|0)|0;k[h>>2]=l;l=k[h>>2]|0;u=j;return l|0}return 0}function DG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=u;u=u+64|0;m=s+52|0;t=s+48|0;n=s+44|0;o=s+40|0;p=s+36|0;q=s+32|0;e=s+28|0;r=s+24|0;d=s+20|0;c=s+16|0;f=s+12|0;g=s+8|0;h=s+4|0;j=s;k[t>>2]=a;k[n>>2]=b;k[p>>2]=0;k[o>>2]=k[(k[t>>2]|0)+16>>2];a=(k[(k[n>>2]|0)+16>>2]|0)+1|0;if((l[(k[(k[n>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)k[c>>2]=l[a>>0];else pE(a,c)|0;do if((k[c>>2]|0)>0&(k[c>>2]|0)<10&(k[c>>2]|0)!=7){t=(k[o>>2]|0)+60|0;i[t>>0]=(l[t>>0]|0)&1}else{if((k[c>>2]|0)>10?k[c>>2]&1|0:0){t=(k[o>>2]|0)+60|0;i[t>>0]=(l[t>>0]|0)&2;break}i[(k[o>>2]|0)+60>>0]=0}while(0);k[r>>2]=(k[(k[n>>2]|0)+12>>2]|0)+8;c=k[(k[n>>2]|0)+12>>2]|0;t=k[(k[n>>2]|0)+12>>2]|0;t=c+(tE(t,((t|0)<0)<<31>>31)|0)|0;k[d>>2]=t;if(k[(k[o>>2]|0)+4>>2]|0){a=k[o>>2]|0;if(k[(k[o>>2]|0)+36+4>>2]|0){if(k[a+48>>2]|0)a=((k[(k[o>>2]|0)+48>>2]|0)+(k[r>>2]|0)|0)>(k[(k[o>>2]|0)+4>>2]|0);else a=0;k[e>>2]=a&1}else{if((k[a+36+8>>2]|0)<=(k[(k[o>>2]|0)+4>>2]|0))if((k[(k[o>>2]|0)+36+8>>2]|0)>(k[k[o>>2]>>2]|0))a=(gh()|0)!=0;else a=0;else a=1;k[e>>2]=a&1}if(k[e>>2]|0){t=OH(k[o>>2]|0)|0;k[p>>2]=t;k[(k[o>>2]|0)+36+8>>2]=0;k[(k[o>>2]|0)+48>>2]=0}}t=(k[o>>2]|0)+36+8|0;k[t>>2]=(k[t>>2]|0)+(k[d>>2]|0);if((k[d>>2]|0)>(k[(k[o>>2]|0)+8>>2]|0))k[(k[o>>2]|0)+8>>2]=k[d>>2];do if(k[(k[o>>2]|0)+36+4>>2]|0){k[f>>2]=(k[(k[o>>2]|0)+48>>2]|0)+(k[r>>2]|0);do if((k[f>>2]|0)>(k[(k[o>>2]|0)+52>>2]|0)){k[h>>2]=(k[(k[o>>2]|0)+36>>2]|0)-(k[(k[o>>2]|0)+36+4>>2]|0);k[j>>2]=k[(k[o>>2]|0)+52>>2]<<1;while(1){a=k[j>>2]|0;if((k[j>>2]|0)>=(k[f>>2]|0))break;k[j>>2]=a<<1}if((a|0)>(k[(k[o>>2]|0)+4>>2]|0))k[j>>2]=k[(k[o>>2]|0)+4>>2];if((k[j>>2]|0)<(k[f>>2]|0))k[j>>2]=k[f>>2];t=k[j>>2]|0;t=qe(k[(k[o>>2]|0)+36+4>>2]|0,t,((t|0)<0)<<31>>31)|0;k[g>>2]=t;if(k[g>>2]|0){k[(k[o>>2]|0)+36>>2]=(k[g>>2]|0)+(k[h>>2]|0);k[(k[o>>2]|0)+36+4>>2]=k[g>>2];k[(k[o>>2]|0)+52>>2]=k[j>>2];break}k[m>>2]=7;t=k[m>>2]|0;u=s;return t|0}while(0);k[q>>2]=(k[(k[o>>2]|0)+36+4>>2]|0)+(k[(k[o>>2]|0)+48>>2]|0);t=(k[o>>2]|0)+48|0;k[t>>2]=(k[t>>2]|0)+((k[r>>2]|0)+7&-8);if(k[(k[o>>2]|0)+36>>2]|0)k[(k[q>>2]|0)+4>>2]=(k[(k[o>>2]|0)+36>>2]|0)-(k[(k[o>>2]|0)+36+4>>2]|0)}else{t=k[r>>2]|0;t=Pd(t,((t|0)<0)<<31>>31)|0;k[q>>2]=t;if(k[q>>2]|0){k[(k[q>>2]|0)+4>>2]=k[(k[o>>2]|0)+36>>2];break}k[m>>2]=7;t=k[m>>2]|0;u=s;return t|0}while(0);r0((k[q>>2]|0)+8|0,k[(k[n>>2]|0)+16>>2]|0,k[(k[n>>2]|0)+12>>2]|0)|0;k[k[q>>2]>>2]=k[(k[n>>2]|0)+12>>2];k[(k[o>>2]|0)+36>>2]=k[q>>2];k[m>>2]=k[p>>2];t=k[m>>2]|0;u=s;return t|0}function EG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;n=u;u=u+128|0;i=n+116|0;q=n+112|0;p=n+108|0;j=n+104|0;o=n+80|0;d=n+100|0;m=n+96|0;e=n+92|0;f=n+88|0;g=n+40|0;h=n;k[q>>2]=a;k[p>>2]=b;k[j>>2]=c;b=o;k[b>>2]=0;k[b+4>>2]=0;b=Hq(k[p>>2]|0)|0;c=o;k[c>>2]=b;k[c+4>>2]=0;tj(g,k[q>>2]|0,0);c=fG(k[p>>2]|0,0,k[o>>2]|0,1,g)|0;k[d>>2]=c;if(k[d>>2]|0){k[i>>2]=k[d>>2];q=k[i>>2]|0;u=n;return q|0}a=k[g+16>>2]|0;if((l[k[g+16>>2]>>0]|0|0)<128)k[m>>2]=l[a>>0];else pE(a,m)|0;if((k[m>>2]|0)>>>0>=3?(k[m>>2]|0)<=(k[g+12>>2]|0):0){a=(k[g+16>>2]|0)+((k[m>>2]|0)-1)|0;if((l[(k[g+16>>2]|0)+((k[m>>2]|0)-1)>>0]|0|0)<128)k[e>>2]=l[a>>0];else pE(a,e)|0;if(!((k[e>>2]|0)>>>0<1|(k[e>>2]|0)>>>0>9|(k[e>>2]|0)==7)?(k[f>>2]=l[34519+(k[e>>2]|0)>>0],(k[g+12>>2]|0)>>>0>=((k[m>>2]|0)+(k[f>>2]|0)|0)>>>0):0){rE((k[g+16>>2]|0)+((k[g+12>>2]|0)-(k[f>>2]|0))|0,k[e>>2]|0,h)|0;o=h;p=k[o+4>>2]|0;q=k[j>>2]|0;k[q>>2]=k[o>>2];k[q+4>>2]=p;oi(g);k[i>>2]=0;q=k[i>>2]|0;u=n;return q|0}}oi(g);q=un(74890)|0;k[i>>2]=q;q=k[i>>2]|0;u=n;return q|0}function FG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+80|0;h=n+72|0;i=n+68|0;o=n+64|0;j=n+60|0;l=n+56|0;m=n+40|0;e=n+52|0;f=n+48|0;g=n;k[i>>2]=a;k[o>>2]=b;k[j>>2]=c;k[l>>2]=d;a=m;k[a>>2]=0;k[a+4>>2]=0;k[f>>2]=k[(k[o>>2]|0)+16>>2];a=Hq(k[f>>2]|0)|0;b=m;k[b>>2]=a;k[b+4>>2]=0;b=m;a=k[b+4>>2]|0;d=m;c=k[d+4>>2]|0;if((a|0)<0|(a|0)==0&(k[b>>2]|0)>>>0<=0|((c|0)>0|(c|0)==0&(k[d>>2]|0)>>>0>2147483647)){k[k[l>>2]>>2]=0;o=un(74923)|0;k[h>>2]=o;o=k[h>>2]|0;u=n;return o|0}tj(g,k[i>>2]|0,0);o=fG(k[f>>2]|0,0,k[m>>2]|0,1,g)|0;k[e>>2]=o;if(k[e>>2]|0){k[h>>2]=k[e>>2];o=k[h>>2]|0;u=n;return o|0}else{o=nE(k[g+12>>2]|0,k[g+16>>2]|0,k[j>>2]|0)|0;k[k[l>>2]>>2]=o;oi(g);k[h>>2]=0;o=k[h>>2]|0;u=n;return o|0}return 0}function GG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=u;u=u+16|0;f=e+12|0;h=e+8|0;g=e+4|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;ol(k[f>>2]|0);c=NH(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[d>>2]=c;ll(k[f>>2]|0);u=e;return k[d>>2]|0}function HG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;o=m+32|0;n=m+28|0;h=m+24|0;i=m+20|0;j=m+16|0;l=m+12|0;e=m+8|0;f=m+4|0;g=m;k[o>>2]=a;k[n>>2]=b;k[h>>2]=c;k[i>>2]=d;k[e>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[n>>2]<<4);k[l>>2]=(k[(k[e>>2]|0)+12>>2]|0)+8;k[j>>2]=k[(k[l>>2]|0)+8>>2];while(1){if(!(k[j>>2]|0))break;k[f>>2]=k[(k[j>>2]|0)+8>>2];if((k[(k[f>>2]|0)+28>>2]|0)==(k[h>>2]|0))k[(k[f>>2]|0)+28>>2]=k[i>>2];k[j>>2]=k[k[j>>2]>>2]}k[l>>2]=(k[(k[e>>2]|0)+12>>2]|0)+24;k[j>>2]=k[(k[l>>2]|0)+8>>2];while(1){if(!(k[j>>2]|0))break;k[g>>2]=k[(k[j>>2]|0)+8>>2];if((k[(k[g>>2]|0)+44>>2]|0)==(k[h>>2]|0))k[(k[g>>2]|0)+44>>2]=k[i>>2];k[j>>2]=k[k[j>>2]>>2]}u=m;return}function IG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[d>>2]|0)+4>>2];ol(k[d>>2]|0);c=iq(k[h>>2]|0,k[e>>2]|0,0)|0;k[g>>2]=c;if(k[g>>2]|0){h=k[d>>2]|0;ll(h);h=k[g>>2]|0;u=i;return h|0}DH(k[d>>2]|0,0,0,1);h=EH(k[h>>2]|0,k[e>>2]|0,0,k[f>>2]|0)|0;k[g>>2]=h;h=k[d>>2]|0;ll(h);h=k[g>>2]|0;u=i;return h|0}function JG(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=IG(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+52>>2]|0,0)|0;u=b;return a|0}function KG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=u;u=u+32|0;e=d+16|0;i=d+12|0;g=d+8|0;f=d+4|0;h=d;k[e>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[i>>2]<<4);c=Pk((k[(k[h>>2]|0)+12>>2]|0)+8|0,k[g>>2]|0,0)|0;k[f>>2]=c;Dk(k[e>>2]|0,k[f>>2]|0);c=(k[e>>2]|0)+24|0;k[c>>2]=k[c>>2]|2;u=d;return}function LG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=u;u=u+32|0;d=g+20|0;j=g+16|0;h=g+12|0;e=g+8|0;i=g+4|0;f=g;k[d>>2]=a;k[j>>2]=b;k[h>>2]=c;k[i>>2]=(k[(k[(k[d>>2]|0)+16>>2]|0)+(k[j>>2]<<4)+12>>2]|0)+24;c=Pk(k[i>>2]|0,k[h>>2]|0,0)|0;k[e>>2]=c;if(!(k[e>>2]|0)){j=k[d>>2]|0;j=j+24|0;i=k[j>>2]|0;i=i|2;k[j>>2]=i;u=g;return}a=k[e>>2]|0;if((k[(k[(k[e>>2]|0)+12>>2]|0)+8>>2]|0)!=(k[e>>2]|0)){k[f>>2]=k[(k[a+12>>2]|0)+8>>2];while(1){if(k[f>>2]|0)b=(k[(k[f>>2]|0)+20>>2]|0)!=(k[e>>2]|0);else b=0;a=k[f>>2]|0;if(!b)break;k[f>>2]=k[a+20>>2]}if(a|0?(k[(k[f>>2]|0)+20>>2]|0)==(k[e>>2]|0):0)k[(k[f>>2]|0)+20>>2]=k[(k[e>>2]|0)+20>>2]}else k[(k[(k[e>>2]|0)+12>>2]|0)+8>>2]=k[a+20>>2];Qk(k[d>>2]|0,k[e>>2]|0);j=k[d>>2]|0;j=j+24|0;i=k[j>>2]|0;i=i|2;k[j>>2]=i;u=g;return}function MG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=u;u=u+32|0;e=h+24|0;l=h+20|0;i=h+16|0;f=h+12|0;j=h+8|0;d=h+4|0;g=h;k[e>>2]=a;k[l>>2]=b;k[i>>2]=c;k[j>>2]=(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[l>>2]<<4)+12>>2]|0)+40;c=Pk(k[j>>2]|0,k[i>>2]|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){u=h;return}if((k[(k[f>>2]|0)+20>>2]|0)==(k[(k[f>>2]|0)+24>>2]|0)){l=jA(k[f>>2]|0)|0;k[d>>2]=l;k[g>>2]=(k[d>>2]|0)+60;while(1){a=(k[k[g>>2]>>2]|0)+32|0;if((k[k[g>>2]>>2]|0)==(k[f>>2]|0))break;k[g>>2]=a}k[k[g>>2]>>2]=k[a>>2]}Ck(k[e>>2]|0,k[f>>2]|0);l=(k[e>>2]|0)+24|0;k[l>>2]=k[l>>2]|2;u=h;return}function NG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+240|0;s=t+16|0;r=t+8|0;n=t+124|0;o=t+120|0;p=t+116|0;v=t+112|0;q=t+108|0;f=t+104|0;g=t+32|0;h=t+24|0;j=t+20|0;m=t;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[v>>2]=d;k[q>>2]=e;k[h>>2]=k[(k[n>>2]|0)+4>>2];k[j>>2]=k[(k[(k[h>>2]|0)+4>>2]|0)+24>>2];ol(k[n>>2]|0);k[g>>2]=k[h>>2];k[g+4>>2]=k[k[h>>2]>>2];e=$n(k[g>>2]|0)|0;k[g+12>>2]=e;k[g+16>>2]=k[v>>2];k[g+20>>2]=0;k[g+24>>2]=0;k[g+28>>2]=0;k[g+32>>2]=0;k[g+36>>2]=0;k[g+8>>2]=0;k[g+68>>2]=0;Jd(g+40|0,0,t+128|0,100,1e9);i[g+40+25>>0]=1;a:do if(k[g+12>>2]|0){v=fh((((k[g+12>>2]|0)>>>0)/8|0)+1|0,0)|0;k[g+8>>2]=v;if(!(k[g+8>>2]|0)){k[g+24>>2]=1;break}v=Il(k[(k[h>>2]|0)+32>>2]|0)|0;k[g+68>>2]=v;if(!(k[g+68>>2]|0)){k[g+24>>2]=1;break}k[f>>2]=(((k[482]|0)>>>0)/((k[(k[h>>2]|0)+32>>2]|0)>>>0)|0)+1;if((k[f>>2]|0)>>>0<=(k[g+12>>2]|0)>>>0)uH(g,k[f>>2]|0);k[g+28>>2]=39948;v=dm((k[(k[(k[h>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;vH(g,1,v,dm((k[(k[(k[h>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);k[g+28>>2]=0;v=(k[(k[h>>2]|0)+4>>2]|0)+24|0;k[v>>2]=k[v>>2]&-536870913;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[p>>2]|0))break;if(!(k[g+16>>2]|0))break;if(k[(k[o>>2]|0)+(k[f>>2]<<2)>>2]|0){if(l[(k[h>>2]|0)+17>>0]|0?(k[(k[o>>2]|0)+(k[f>>2]<<2)>>2]|0)>1:0)wH(g,k[(k[o>>2]|0)+(k[f>>2]<<2)>>2]|0,1,0);xH(g,k[(k[o>>2]|0)+(k[f>>2]<<2)>>2]|0,m,-1,2147483647)|0}k[f>>2]=(k[f>>2]|0)+1}k[(k[(k[h>>2]|0)+4>>2]|0)+24>>2]=k[j>>2];k[f>>2]=1;while(1){if((k[f>>2]|0)>>>0>(k[g+12>>2]|0)>>>0)break a;if(!(k[g+16>>2]|0))break a;do if(!(yH(g,k[f>>2]|0)|0)){v=gq(k[h>>2]|0,k[f>>2]|0)|0;if((v|0)==(k[f>>2]|0)?i[(k[h>>2]|0)+17>>0]|0:0)break;k[r>>2]=k[f>>2];zH(g,39964,r)}while(0);if((yH(g,k[f>>2]|0)|0?(v=gq(k[h>>2]|0,k[f>>2]|0)|0,(v|0)==(k[f>>2]|0)):0)?l[(k[h>>2]|0)+17>>0]|0:0){k[s>>2]=k[f>>2];zH(g,39986,s)}k[f>>2]=(k[f>>2]|0)+1}}while(0);Ll(k[g+68>>2]|0);ie(k[g+8>>2]|0);if(k[g+24>>2]|0){me(g+40|0);v=g+20|0;k[v>>2]=(k[v>>2]|0)+1}k[k[q>>2]>>2]=k[g+20>>2];if(k[g+20>>2]|0){v=k[n>>2]|0;ll(v);v=g+40|0;v=Ld(v)|0;u=t;return v|0}me(g+40|0);v=k[n>>2]|0;ll(v);v=g+40|0;v=Ld(v)|0;u=t;return v|0}function OG(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+32>>2];oi(k[b>>2]|0);a=Od(k[c>>2]|0,64,0)|0;k[(k[b>>2]|0)+20>>2]=a;if(i[(k[c>>2]|0)+69>>0]|0){j[(k[b>>2]|0)+8>>1]=1;k[(k[b>>2]|0)+24>>2]=0;u=d;return}else{a=ke(k[c>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0;k[(k[b>>2]|0)+24>>2]=a;c=tH(k[c>>2]|0,k[(k[b>>2]|0)+20>>2]|0,k[(k[b>>2]|0)+24>>2]|0)|0;k[k[b>>2]>>2]=c;j[(k[b>>2]|0)+8>>1]=32;u=d;return}}function PG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+16|0;e=h;f=h+12|0;g=h+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;c=rH(k[d>>2]|0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){u=h;return}a=e;b=k[a+4>>2]|0;c=k[f>>2]|0;k[c>>2]=k[a>>2];k[c+4>>2]=b;k[(k[f>>2]|0)+8>>2]=0;k[g>>2]=k[(k[d>>2]|0)+12>>2];if(k[g>>2]|0){c=e;a=k[c+4>>2]|0;e=k[g>>2]|0;b=k[e+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<=(k[e>>2]|0)>>>0:0)){e=(k[d>>2]|0)+26|0;j[e>>1]=(m[e>>1]|0)&-2}k[(k[g>>2]|0)+8>>2]=k[f>>2]}else k[(k[d>>2]|0)+8>>2]=k[f>>2];k[(k[d>>2]|0)+12>>2]=k[f>>2];u=h;return}function QG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(!((m[(k[d>>2]|0)+26>>1]|0)&2)){if(!((m[(k[d>>2]|0)+26>>1]|0)&1)){b=nH(k[(k[d>>2]|0)+8>>2]|0)|0;k[(k[d>>2]|0)+8>>2]=b}b=(k[d>>2]|0)+26|0;j[b>>1]=m[b>>1]|0|3}if(!(k[(k[d>>2]|0)+8>>2]|0)){k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}a=k[(k[d>>2]|0)+8>>2]|0;b=k[a+4>>2]|0;e=k[e>>2]|0;k[e>>2]=k[a>>2];k[e+4>>2]=b;k[(k[d>>2]|0)+8>>2]=k[(k[(k[d>>2]|0)+8>>2]|0)+8>>2];if(!(k[(k[d>>2]|0)+8>>2]|0))li(k[d>>2]|0);k[c>>2]=1;e=k[c>>2]|0;u=f;return e|0}function RG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;n=r+36|0;h=r+32|0;i=r+28|0;o=r;p=r+24|0;q=r+20|0;e=r+16|0;f=r+12|0;g=r+8|0;k[h>>2]=a;k[i>>2]=b;b=o;k[b>>2]=c;k[b+4>>2]=d;if((k[i>>2]|0)!=(k[(k[h>>2]|0)+28>>2]|0)){k[p>>2]=k[(k[h>>2]|0)+8>>2];if(k[p>>2]|0){k[e>>2]=(k[h>>2]|0)+20;if(!((m[(k[h>>2]|0)+26>>1]|0)&1)){d=nH(k[p>>2]|0)|0;k[p>>2]=d}k[q>>2]=k[(k[h>>2]|0)+20>>2];while(1){if(!(k[q>>2]|0))break;k[e>>2]=(k[q>>2]|0)+8;if(!(k[(k[q>>2]|0)+12>>2]|0)){l=8;break}pH(k[(k[q>>2]|0)+12>>2]|0,f,g);k[(k[q>>2]|0)+12>>2]=0;d=qH(k[f>>2]|0,k[p>>2]|0)|0;k[p>>2]=d;k[q>>2]=k[(k[q>>2]|0)+8>>2]}if((l|0)==8){l=oH(k[p>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=l}if((k[q>>2]|0)==0?(l=rH(k[h>>2]|0)|0,k[q>>2]=l,k[k[e>>2]>>2]=l,k[q>>2]|0):0){l=k[q>>2]|0;k[l>>2]=0;k[l+4>>2]=0;k[(k[q>>2]|0)+8>>2]=0;l=oH(k[p>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=l}k[(k[h>>2]|0)+8>>2]=0;k[(k[h>>2]|0)+12>>2]=0;l=(k[h>>2]|0)+26|0;j[l>>1]=m[l>>1]|0|1}k[(k[h>>2]|0)+28>>2]=k[i>>2]}k[q>>2]=k[(k[h>>2]|0)+20>>2];a:while(1){if(!(k[q>>2]|0)){l=25;break}k[p>>2]=k[(k[q>>2]|0)+12>>2];while(1){if(!(k[p>>2]|0))break;i=k[p>>2]|0;d=k[i+4>>2]|0;l=o;h=k[l+4>>2]|0;a=k[p>>2]|0;if((d|0)<(h|0)|((d|0)==(h|0)?(k[i>>2]|0)>>>0<(k[l>>2]|0)>>>0:0)){k[p>>2]=k[a+8>>2];continue}i=a;d=k[i+4>>2]|0;l=o;h=k[l+4>>2]|0;if(!((d|0)>(h|0)|((d|0)==(h|0)?(k[i>>2]|0)>>>0>(k[l>>2]|0)>>>0:0))){l=23;break a}k[p>>2]=k[(k[p>>2]|0)+12>>2]}k[q>>2]=k[(k[q>>2]|0)+8>>2]}if((l|0)==23){k[n>>2]=1;q=k[n>>2]|0;u=r;return q|0}else if((l|0)==25){k[n>>2]=0;q=k[n>>2]|0;u=r;return q|0}return 0}function SG(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if((l[(k[c>>2]|0)+17>>0]|0|0)>=3){k[b>>2]=0;c=k[b>>2]|0;u=d;return c|0}if(k[k[(k[c>>2]|0)+68>>2]>>2]|0?(c=(k[c>>2]|0)+80|0,a=k[c+4>>2]|0,(a|0)>0|(a|0)==0&(k[c>>2]|0)>>>0>0):0){k[b>>2]=0;c=k[b>>2]|0;u=d;return c|0}k[b>>2]=1;c=k[b>>2]|0;u=d;return c|0}function TG(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;if(!(k[(k[b>>2]|0)+216>>2]|0)){k[d>>2]=0;a=qp(k[b>>2]|0,1)|0;k[c>>2]=a;if(!(k[c>>2]|0)){a=an(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+220>>2]|0,0,d)|0;k[c>>2]=a}if((k[c>>2]|0)==0&(k[d>>2]|0)!=0){d=or(k[b>>2]|0)|0;k[c>>2]=d}}if(k[c>>2]|0){d=k[c>>2]|0;u=e;return d|0}if(!(k[(k[b>>2]|0)+216>>2]|0)){d=k[c>>2]|0;u=e;return d|0}d=pr(k[b>>2]|0)|0;k[c>>2]=d;if(k[c>>2]|0){d=k[c>>2]|0;u=e;return d|0}d=km(k[(k[b>>2]|0)+216>>2]|0,l[(k[b>>2]|0)+10>>0]|0,k[(k[b>>2]|0)+160>>2]|0,k[(k[b>>2]|0)+208>>2]|0)|0;k[c>>2]=d;k[(k[b>>2]|0)+216>>2]=0;Ml(k[b>>2]|0);if(!(k[c>>2]|0)){d=k[c>>2]|0;u=e;return d|0}if(i[(k[b>>2]|0)+4>>0]|0){d=k[c>>2]|0;u=e;return d|0}Im(k[b>>2]|0,1)|0;d=k[c>>2]|0;u=e;return d|0}function UG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+12|0;d=h+8|0;e=h+16|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;i[e>>0]=i[(k[c>>2]|0)+5>>0]|0;if(i[(k[c>>2]|0)+16>>0]|0?(k[d>>2]|0)!=4&(k[d>>2]|0)!=2:0)k[d>>2]=l[e>>0];do if((k[d>>2]|0)!=(l[e>>0]|0)){i[(k[c>>2]|0)+5>>0]=k[d>>2];if(((i[(k[c>>2]|0)+4>>0]|0)==0?(l[e>>0]&5|0)==1:0)?(k[d>>2]&1|0)==0:0){pm(k[(k[c>>2]|0)+68>>2]|0);if((l[(k[c>>2]|0)+18>>0]|0)>=2){ym(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0;break}k[f>>2]=0;k[g>>2]=l[(k[c>>2]|0)+17>>0];if(!(k[g>>2]|0)){e=lr(k[c>>2]|0)|0;k[f>>2]=e}if((l[(k[c>>2]|0)+17>>0]|0)==1){e=qp(k[c>>2]|0,2)|0;k[f>>2]=e}if(!(k[f>>2]|0))ym(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0;if((k[f>>2]|0)==0&(k[g>>2]|0)==1){Im(k[c>>2]|0,1)|0;break}if(k[g>>2]|0)break;lm(k[c>>2]|0);break}if((k[d>>2]|0)==2)pm(k[(k[c>>2]|0)+68>>2]|0)}while(0);u=h;return l[(k[c>>2]|0)+5>>0]|0}function VG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+112|0;o=D+24|0;n=D+16|0;m=D+8|0;j=D;y=D+92|0;h=D+88|0;z=D+84|0;e=D+80|0;A=D+76|0;B=D+72|0;C=D+68|0;p=D+64|0;q=D+60|0;r=D+56|0;s=D+96|0;t=D+52|0;d=D+48|0;v=D+44|0;f=D+40|0;g=D+36|0;w=D+32|0;x=D+28|0;k[h>>2]=a;k[z>>2]=b;k[e>>2]=c;k[A>>2]=0;k[t>>2]=0;if(!(i[(k[z>>2]|0)+67>>0]|0)){yv(k[h>>2]|0,k[z>>2]|0,39372);k[y>>2]=1;C=k[y>>2]|0;u=D;return C|0}if((k[(k[z>>2]|0)+156>>2]|0)>1){yv(k[h>>2]|0,k[z>>2]|0,39412);k[y>>2]=1;C=k[y>>2]|0;u=D;return C|0}k[p>>2]=k[(k[z>>2]|0)+24>>2];k[q>>2]=k[(k[z>>2]|0)+88>>2];k[r>>2]=k[(k[z>>2]|0)+92>>2];i[s>>0]=i[(k[z>>2]|0)+76>>0]|0;c=(k[z>>2]|0)+24|0;k[c>>2]=k[c>>2]|270542848;c=(k[z>>2]|0)+24|0;k[c>>2]=k[c>>2]&-655489;i[(k[z>>2]|0)+76>>0]=0;k[g>>2]=k[(k[(k[z>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];k[B>>2]=k[(k[(k[z>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];c=Sn(Ak(k[B>>2]|0)|0)|0;k[d>>2]=c;k[f>>2]=k[(k[z>>2]|0)+20>>2];c=hH(k[z>>2]|0,k[h>>2]|0,39455)|0;k[A>>2]=c;a:do if(((k[A>>2]|0)==0?(k[t>>2]=(k[(k[z>>2]|0)+16>>2]|0)+(k[f>>2]<<4),k[C>>2]=k[(k[t>>2]|0)+4>>2],et(k[C>>2]|0)|0,c=iH(k[B>>2]|0)|0,k[v>>2]=c,zv(k[C>>2]|0,k[(k[(k[(k[z>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)+80>>2]|0)|0,e=k[C>>2]|0,EA(e,EA(k[B>>2]|0,0)|0)|0,eA(k[C>>2]|0,33)|0,e=hH(k[z>>2]|0,k[h>>2]|0,36964)|0,k[A>>2]=e,(k[A>>2]|0)==0):0)?(e=Qp(k[B>>2]|0,2)|0,k[A>>2]=e,(k[A>>2]|0)==0):0){if((Tp(Ak(k[B>>2]|0)|0)|0)==5)k[(k[z>>2]|0)+80>>2]=0;c=k[C>>2]|0;e=Rn(k[B>>2]|0)|0;do if(!(Dl(c,e,k[v>>2]|0,0)|0)){if((k[d>>2]|0)==0?Dl(k[C>>2]|0,k[(k[z>>2]|0)+80>>2]|0,k[v>>2]|0,0)|0:0)break;if(!(l[(k[z>>2]|0)+69>>0]|0)){a=k[C>>2]|0;if((i[(k[z>>2]|0)+72>>0]|0)>=0)b=i[(k[z>>2]|0)+72>>0]|0;else b=BA(k[B>>2]|0)|0;DA(a,b)|0;i[(k[z>>2]|0)+148+4>>0]=k[f>>2];e=k[z>>2]|0;f=k[h>>2]|0;k[j>>2]=k[g>>2];j=jH(e,f,39476,j)|0;k[A>>2]=j;if(k[A>>2]|0)break a;f=k[z>>2]|0;j=k[h>>2]|0;k[m>>2]=k[g>>2];m=jH(f,j,39584,m)|0;k[A>>2]=m;if(k[A>>2]|0)break a;i[(k[z>>2]|0)+148+4>>0]=0;j=k[z>>2]|0;m=k[h>>2]|0;k[n>>2]=k[g>>2];n=jH(j,m,39657,n)|0;k[A>>2]=n;n=(k[z>>2]|0)+24|0;k[n>>2]=k[n>>2]&-268435457;if(k[A>>2]|0)break a;m=k[z>>2]|0;n=k[h>>2]|0;k[o>>2]=k[g>>2];o=jH(m,n,39808,o)|0;k[A>>2]=o;if(k[A>>2]|0)break a;k[x>>2]=0;while(1){a=k[B>>2]|0;if((k[x>>2]|0)>=10)break;Sp(a,l[39938+(k[x>>2]|0)>>0]|0,w);o=Wp(k[C>>2]|0,l[39938+(k[x>>2]|0)>>0]|0,(k[w>>2]|0)+(l[39938+((k[x>>2]|0)+1)>>0]|0)|0)|0;k[A>>2]=o;if(k[A>>2]|0)break a;k[x>>2]=(k[x>>2]|0)+2}x=kH(a,k[C>>2]|0)|0;k[A>>2]=x;if(k[A>>2]|0)break a;x=et(k[C>>2]|0)|0;k[A>>2]=x;if(k[A>>2]|0)break a;x=k[B>>2]|0;DA(x,BA(k[C>>2]|0)|0)|0;x=k[B>>2]|0;C=Rn(k[C>>2]|0)|0;C=Dl(x,C,k[v>>2]|0,1)|0;k[A>>2]=C;break a}}while(0);k[A>>2]=7}while(0);i[(k[z>>2]|0)+148+4>>0]=0;k[(k[z>>2]|0)+24>>2]=k[p>>2];k[(k[z>>2]|0)+88>>2]=k[q>>2];k[(k[z>>2]|0)+92>>2]=k[r>>2];i[(k[z>>2]|0)+76>>0]=i[s>>0]|0;Dl(k[B>>2]|0,-1,-1,1)|0;i[(k[z>>2]|0)+67>>0]=1;if(k[t>>2]|0){Er(k[(k[t>>2]|0)+4>>2]|0)|0;k[(k[t>>2]|0)+4>>2]=0;k[(k[t>>2]|0)+12>>2]=0}Xp(k[z>>2]|0);k[y>>2]=k[A>>2];C=k[y>>2]|0;u=D;return C|0}function WG(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;b=h+20|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+4>>2];ol(k[b>>2]|0);do if(i[(k[d>>2]|0)+17>>0]|0){a=$n(k[d>>2]|0)|0;k[e>>2]=a;a=dm((k[(k[(k[d>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[f>>2]=a;a=hq(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[g>>2]=a;if((k[e>>2]|0)>>>0<(k[g>>2]|0)>>>0){g=un(61866)|0;k[c>>2]=g;break}if((k[f>>2]|0)>>>0<=0){k[c>>2]=101;break}f=iq(k[d>>2]|0,0,0)|0;k[c>>2]=f;if(!(k[c>>2]|0)){fq(k[d>>2]|0);g=jq(k[d>>2]|0,k[g>>2]|0,k[e>>2]|0,0)|0;k[c>>2]=g}if(!(k[c>>2]|0)){g=Tn(k[(k[(k[d>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[c>>2]=g;Xn((k[(k[(k[d>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[(k[d>>2]|0)+44>>2]|0)}}else k[c>>2]=101;while(0);ll(k[b>>2]|0);u=h;return k[c>>2]|0}function XG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+16|0;d=j+8|0;e=j+4|0;f=j+13|0;g=j;h=j+12|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;k[g>>2]=0;if(!(i[(k[d>>2]|0)+9>>0]|0)){h=k[g>>2]|0;u=j;return h|0}i[h>>0]=1+(l[f>>0]|0);ol(k[d>>2]|0);f=er(k[d>>2]|0,k[e>>2]|0,i[h>>0]|0)|0;k[g>>2]=f;if(!(k[g>>2]|0)){h=gH(k[d>>2]|0,k[e>>2]|0,i[h>>0]|0)|0;k[g>>2]=h}ll(k[d>>2]|0);h=k[g>>2]|0;u=j;return h|0}function YG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;c=l+24|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;i=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;if((k[(k[d>>2]|0)+316>>2]|0)>0?(k[(k[d>>2]|0)+340>>2]|0)==0:0){k[c>>2]=6;j=k[c>>2]|0;u=l;return j|0}if(!(k[e>>2]|0)){k[c>>2]=0;j=k[c>>2]|0;u=l;return j|0}k[g>>2]=k[k[(k[e>>2]|0)+8>>2]>>2];if(k[(k[g>>2]|0)+56>>2]|0){k[h>>2]=0;while(1){a=k[d>>2]|0;if((k[h>>2]|0)>=(k[(k[d>>2]|0)+316>>2]|0))break;if((k[(k[a+340>>2]|0)+(k[h>>2]<<2)>>2]|0)==(k[e>>2]|0)){j=10;break}k[h>>2]=(k[h>>2]|0)+1}if((j|0)==10){k[c>>2]=0;j=k[c>>2]|0;u=l;return j|0}j=eH(a)|0;k[f>>2]=j;if((((k[f>>2]|0)==0?(j=Rb[k[(k[g>>2]|0)+56>>2]&255](k[(k[e>>2]|0)+8>>2]|0)|0,k[f>>2]=j,(k[f>>2]|0)==0):0)?(k[i>>2]=(k[(k[d>>2]|0)+436>>2]|0)+(k[(k[d>>2]|0)+432>>2]|0),fH(k[d>>2]|0,k[e>>2]|0),k[i>>2]|0):0)?k[(k[g>>2]|0)+80>>2]|0:0){k[(k[e>>2]|0)+20>>2]=k[i>>2];j=Wb[k[(k[g>>2]|0)+80>>2]&255](k[(k[e>>2]|0)+8>>2]|0,(k[i>>2]|0)-1|0)|0;k[f>>2]=j}}k[c>>2]=k[f>>2];j=k[c>>2]|0;u=l;return j|0}function ZG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;l=m;g=m+32|0;n=m+28|0;o=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;e=m+8|0;f=m+4|0;k[g>>2]=a;k[n>>2]=b;k[o>>2]=c;k[h>>2]=d;k[i>>2]=0;d=qv(k[g>>2]|0,k[o>>2]|0,k[(k[(k[g>>2]|0)+16>>2]|0)+(k[n>>2]<<4)>>2]|0)|0;k[j>>2]=d;k[f>>2]=k[k[(k[j>>2]|0)+52>>2]>>2];d=rv((k[g>>2]|0)+320|0,k[f>>2]|0)|0;k[e>>2]=d;if(((k[e>>2]|0)!=0?(k[(k[k[e>>2]>>2]|0)+4>>2]|0)!=0:0)?(k[(k[k[e>>2]>>2]|0)+20>>2]|0)!=0:0){o=tv(k[g>>2]|0,k[j>>2]|0,k[e>>2]|0,k[(k[k[e>>2]>>2]|0)+4>>2]|0,k[h>>2]|0)|0;k[i>>2]=o}else{o=k[g>>2]|0;k[l>>2]=k[f>>2];o=ek(o,30050,l)|0;k[k[h>>2]>>2]=o;k[i>>2]=1}if(k[i>>2]|0){o=k[i>>2]|0;u=m;return o|0}if(!(pw(k[g>>2]|0,k[j>>2]|0)|0)){o=k[i>>2]|0;u=m;return o|0}o=eH(k[g>>2]|0)|0;k[i>>2]=o;if(k[i>>2]|0){o=k[i>>2]|0;u=m;return o|0}o=k[g>>2]|0;fH(o,pw(k[g>>2]|0,k[j>>2]|0)|0);o=k[i>>2]|0;u=m;return o|0}function _G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=u;u=u+32|0;e=j+28|0;f=j+24|0;l=j+20|0;m=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;d=j;k[f>>2]=a;k[l>>2]=b;k[m>>2]=c;k[g>>2]=0;c=qv(k[f>>2]|0,k[m>>2]|0,k[(k[(k[f>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2]|0)|0;k[h>>2]=c;do if(k[h>>2]|0?k[(k[h>>2]|0)+56>>2]|0:0){k[i>>2]=k[(k[h>>2]|0)+56>>2];while(1){if(!(k[i>>2]|0)){a=8;break}if((k[(k[(k[i>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}k[i>>2]=k[(k[i>>2]|0)+24>>2]}if((a|0)==6){k[e>>2]=6;m=k[e>>2]|0;u=j;return m|0}else if((a|0)==8){m=Wk(k[f>>2]|0,k[h>>2]|0)|0;k[i>>2]=m;k[d>>2]=k[(k[k[(k[i>>2]|0)+4>>2]>>2]|0)+20>>2];m=Rb[k[d>>2]&255](k[(k[i>>2]|0)+8>>2]|0)|0;k[g>>2]=m;if(k[g>>2]|0)break;k[(k[i>>2]|0)+8>>2]=0;k[(k[h>>2]|0)+56>>2]=0;Nk(k[i>>2]|0);break}}while(0);k[e>>2]=k[g>>2];m=k[e>>2]|0;u=j;return m|0}function $G(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;ol(k[e>>2]|0);b=dH(k[k[(k[e>>2]|0)+4>>2]>>2]|0,k[f>>2]|0)|0;k[c>>2]=b;ll(k[e>>2]|0);u=d;return k[c>>2]|0}function aH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+256|0;A=D+72|0;C=D+64|0;B=D+56|0;z=D+48|0;y=D+40|0;o=D+148|0;q=D+144|0;r=D+140|0;s=D+136|0;t=D+132|0;v=D+128|0;w=D+124|0;x=D+120|0;d=D+116|0;e=D+88|0;f=D;c=D+84|0;g=D+80|0;h=D+152|0;n=D+76|0;k[o>>2]=a;k[q>>2]=b;k[s>>2]=0;k[t>>2]=1;k[r>>2]=k[k[o>>2]>>2];Jd(e,0,D+156|0,100,k[(k[r>>2]|0)+96>>2]|0);a:do if((k[(k[r>>2]|0)+168>>2]|0)>1)while(1){if(!(i[k[q>>2]>>0]|0))break a;k[c>>2]=k[q>>2];do{C=k[q>>2]|0;k[q>>2]=C+1;if((i[C>>0]|0)==10)break}while((i[k[q>>2]>>0]|0)!=0);Zd(e,39338,3);Zd(e,k[c>>2]|0,(k[q>>2]|0)-(k[c>>2]|0)|0)}else{if(!(j[(k[o>>2]|0)+16>>1]|0)){C=k[q>>2]|0;Zd(e,C,wd(k[q>>2]|0)|0);break}while(1){if(!(i[k[q>>2]>>0]|0))break a;c=bH(k[q>>2]|0,w)|0;k[v>>2]=c;Zd(e,k[q>>2]|0,k[v>>2]|0);k[q>>2]=(k[q>>2]|0)+(k[v>>2]|0);if(!(k[w>>2]|0))break a;do if((i[k[q>>2]>>0]|0)==63)if((k[w>>2]|0)>1){qg((k[q>>2]|0)+1|0,s)|0;break}else{k[s>>2]=k[t>>2];break}else{c=cH(k[o>>2]|0,k[q>>2]|0,k[w>>2]|0)|0;k[s>>2]=c}while(0);k[q>>2]=(k[q>>2]|0)+(k[w>>2]|0);k[t>>2]=(k[s>>2]|0)+1;k[d>>2]=(k[(k[o>>2]|0)+116>>2]|0)+(((k[s>>2]|0)-1|0)*40|0);if(m[(k[d>>2]|0)+8>>1]&1|0){Zd(e,20953,4);continue}a=k[d>>2]|0;if(m[(k[d>>2]|0)+8>>1]&4|0){b=k[a+4>>2]|0;c=y;k[c>>2]=k[a>>2];k[c+4>>2]=b;yj(e,22191,y);continue}b=k[d>>2]|0;if(m[a+8>>1]&8|0){p[z>>3]=+p[b>>3];yj(e,22196,z);continue}if(m[b+8>>1]&2|0){i[h>>0]=i[(k[r>>2]|0)+66>>0]|0;if((l[h>>0]|0)!=1){a=f;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[f+32>>2]=k[r>>2];mi(f,k[(k[d>>2]|0)+16>>2]|0,k[(k[d>>2]|0)+12>>2]|0,i[h>>0]|0,0)|0;if(7==(yi(f,1)|0)){i[e+24>>0]=1;k[e+16>>2]=0}k[d>>2]=f}k[g>>2]=k[(k[d>>2]|0)+12>>2];c=k[(k[d>>2]|0)+16>>2]|0;k[B>>2]=k[g>>2];k[B+4>>2]=c;yj(e,39342,B);if((l[h>>0]|0)==1)continue;oi(f);continue}else{if(m[(k[d>>2]|0)+8>>1]&16384|0){k[C>>2]=k[k[d>>2]>>2];yj(e,39349,C);continue}Zd(e,39362,2);k[n>>2]=k[(k[d>>2]|0)+12>>2];k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[n>>2]|0))break;k[A>>2]=i[(k[(k[d>>2]|0)+16>>2]|0)+(k[x>>2]|0)>>0]&255;yj(e,39365,A);k[x>>2]=(k[x>>2]|0)+1}Zd(e,39370,1);continue}}}while(0);if(!(i[e+24>>0]|0)){C=Ld(e)|0;u=D;return C|0}me(e);C=Ld(e)|0;u=D;return C|0}function bH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[k[d>>2]>>2]=0;while(1){if(!(i[k[c>>2]>>0]|0)){h=6;break}a=bk(k[c>>2]|0,e)|0;k[g>>2]=a;a=k[g>>2]|0;if((k[e>>2]|0)==135)break;k[f>>2]=(k[f>>2]|0)+a;k[c>>2]=(k[c>>2]|0)+(k[g>>2]|0)}if((h|0)==6){h=k[f>>2]|0;u=j;return h|0}k[k[d>>2]>>2]=a;h=k[f>>2]|0;u=j;return h|0}function cH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=u;u=u+32|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[e>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;u=m;return l|0}a:do if(k[f>>2]|0){k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[e>>2]|0)+18>>1]|0))break a;k[l>>2]=k[(k[(k[e>>2]|0)+120>>2]|0)+(k[h>>2]<<2)>>2];if((k[l>>2]|0?(S_(k[l>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)==0:0)?(i[(k[l>>2]|0)+(k[g>>2]|0)>>0]|0)==0:0)break;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=(k[h>>2]|0)+1;l=k[d>>2]|0;u=m;return l|0}while(0);k[d>>2]=0;l=k[d>>2]|0;u=m;return l|0}function dH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>0)k[(k[c>>2]|0)+164>>2]=k[d>>2];u=e;return k[(k[c>>2]|0)+164>>2]|0}function eH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+32|0;b=f+16|0;c=f+12|0;d=f+4|0;e=f;k[c>>2]=a;k[f+8>>2]=5;do if(!((k[(k[c>>2]|0)+316>>2]|0)%5|0)){k[e>>2]=(k[(k[c>>2]|0)+316>>2]|0)+5<<2;e=k[e>>2]|0;e=ne(k[c>>2]|0,k[(k[c>>2]|0)+340>>2]|0,e,((e|0)<0)<<31>>31)|0;k[d>>2]=e;if(k[d>>2]|0){e=(k[d>>2]|0)+(k[(k[c>>2]|0)+316>>2]<<2)|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[(k[c>>2]|0)+340>>2]=k[d>>2];break}k[b>>2]=7;e=k[b>>2]|0;u=f;return e|0}while(0);k[b>>2]=0;e=k[b>>2]|0;u=f;return e|0}function fH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;f=c+4|0;d=c;k[f>>2]=a;k[d>>2]=b;e=k[d>>2]|0;a=k[(k[f>>2]|0)+340>>2]|0;f=(k[f>>2]|0)+316|0;b=k[f>>2]|0;k[f>>2]=b+1;k[a+(b<<2)>>2]=e;fv(k[d>>2]|0);u=c;return}function gH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+24|0;h=o+8|0;j=o+4|0;m=o;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];k[j>>2]=0;k[m>>2]=k[(k[h>>2]|0)+72>>2];while(1){if(!(k[m>>2]|0))break;if((k[(k[m>>2]|0)+4>>2]|0)==(k[f>>2]|0)?(k[k[m>>2]>>2]|0)==(k[e>>2]|0):0){n=5;break}k[m>>2]=k[(k[m>>2]|0)+12>>2]}if((n|0)==5)k[j>>2]=k[m>>2];do if(!(k[j>>2]|0)){n=fh(16,0)|0;k[j>>2]=n;if(k[j>>2]|0){k[(k[j>>2]|0)+4>>2]=k[f>>2];k[k[j>>2]>>2]=k[e>>2];k[(k[j>>2]|0)+12>>2]=k[(k[h>>2]|0)+72>>2];k[(k[h>>2]|0)+72>>2]=k[j>>2];break}k[d>>2]=7;n=k[d>>2]|0;u=o;return n|0}while(0);if((l[g>>0]|0|0)>(l[(k[j>>2]|0)+8>>0]|0|0))i[(k[j>>2]|0)+8>>0]=i[g>>0]|0;k[d>>2]=0;n=k[d>>2]|0;u=o;return n|0}function hH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;d=j+24|0;e=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[l>>2]=c;c=Jv(k[e>>2]|0,k[l>>2]|0,-1,g,0)|0;k[h>>2]=c;if(k[h>>2]|0){k[d>>2]=k[h>>2];l=k[d>>2]|0;u=j;return l|0}while(1){l=Ls(k[g>>2]|0)|0;k[h>>2]=l;if(100!=(l|0))break;l=Mv(k[g>>2]|0,0)|0;k[i>>2]=l;if(!(k[i>>2]|0))continue;l=hH(k[e>>2]|0,k[f>>2]|0,k[i>>2]|0)|0;k[h>>2]=l;if(k[h>>2]|0)break}if((k[h>>2]|0)==101)k[h>>2]=0;if(k[h>>2]|0){i=k[f>>2]|0;l=k[e>>2]|0;yv(i,l,Ov(k[e>>2]|0)|0)}Pr(k[g>>2]|0)|0;k[d>>2]=k[h>>2];l=k[d>>2]|0;u=j;return l|0}function iH(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;ol(k[d>>2]|0);a=mH(k[d>>2]|0)|0;k[b>>2]=a;ll(k[d>>2]|0);u=c;return k[b>>2]|0}function jH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=u;u=u+48|0;e=j+40|0;f=j+36|0;g=j+32|0;m=j+28|0;h=j+24|0;l=j+8|0;i=j;k[f>>2]=a;k[g>>2]=b;k[m>>2]=c;k[l>>2]=d;d=fk(k[f>>2]|0,k[m>>2]|0,l)|0;k[h>>2]=d;if(!(k[h>>2]|0)){k[e>>2]=7;m=k[e>>2]|0;u=j;return m|0}else{m=hH(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=m;fe(k[f>>2]|0,k[h>>2]|0);k[e>>2]=k[i>>2];m=k[e>>2]|0;u=j;return m|0}return 0}function kH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+80|0;e=i+68|0;f=i+64|0;g=i+60|0;c=i+56|0;h=i+8|0;d=i;k[e>>2]=a;k[f>>2]=b;ol(k[e>>2]|0);ol(k[f>>2]|0);b=Zp(Ak(k[e>>2]|0)|0)|0;k[c>>2]=b;if(k[k[c>>2]>>2]|0?(a=Rn(k[f>>2]|0)|0,a=B0(a|0,((a|0)<0)<<31>>31|0,Wn(k[f>>2]|0)|0,0)|0,b=d,k[b>>2]=a,k[b+4>>2]=M,d=Gm(k[c>>2]|0,11,d)|0,k[g>>2]=d,k[g>>2]=(k[g>>2]|0)==12?0:d,k[g>>2]|0):0){h=k[f>>2]|0;ll(h);h=k[e>>2]|0;ll(h);h=k[g>>2]|0;u=i;return h|0}a=h;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[h+20>>2]=k[k[f>>2]>>2];k[h+24>>2]=k[f>>2];k[h+4>>2]=k[e>>2];k[h+16>>2]=1;Pp(h,2147483647)|0;d=yr(h)|0;k[g>>2]=d;if(!(k[g>>2]|0)){h=(k[(k[e>>2]|0)+4>>2]|0)+22|0;j[h>>1]=(m[h>>1]|0)&-3;h=k[f>>2]|0;ll(h);h=k[e>>2]|0;ll(h);h=k[g>>2]|0;u=i;return h|0}else{lH(Ak(k[h+4>>2]|0)|0);h=k[f>>2]|0;ll(h);h=k[e>>2]|0;ll(h);h=k[g>>2]|0;u=i;return h|0}return 0}function lH(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+13>>0]|0|0){u=c;return}Jl(k[b>>2]|0);u=c;return}function mH(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[(k[(k[d>>2]|0)+4>>2]|0)+32>>2]|0)-(k[(k[(k[d>>2]|0)+4>>2]|0)+36>>2]|0);u=c;return k[b>>2]|0}function nH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+176|0;c=f+168|0;d=f+164|0;b=f+160|0;e=f;k[c>>2]=a;w0(e|0,0,160)|0;while(1){if(!(k[c>>2]|0))break;k[b>>2]=k[(k[c>>2]|0)+8>>2];k[(k[c>>2]|0)+8>>2]=0;k[d>>2]=0;while(1){if(!(k[e+(k[d>>2]<<2)>>2]|0))break;a=qH(k[e+(k[d>>2]<<2)>>2]|0,k[c>>2]|0)|0;k[c>>2]=a;k[e+(k[d>>2]<<2)>>2]=0;k[d>>2]=(k[d>>2]|0)+1}k[e+(k[d>>2]<<2)>>2]=k[c>>2];k[c>>2]=k[b>>2]}k[c>>2]=k[e>>2];k[d>>2]=1;while(1){if((k[d>>2]|0)>>>0>=40)break;if(k[e+(k[d>>2]<<2)>>2]|0){if(k[c>>2]|0)a=qH(k[c>>2]|0,k[e+(k[d>>2]<<2)>>2]|0)|0;else a=k[e+(k[d>>2]<<2)>>2]|0;k[c>>2]=a}k[d>>2]=(k[d>>2]|0)+1}u=f;return k[c>>2]|0}function oH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=k[b>>2];k[b>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[c>>2]=1;while(1){a=k[d>>2]|0;if(!(k[b>>2]|0))break;k[e>>2]=a;k[d>>2]=k[b>>2];k[b>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+12>>2]=k[e>>2];a=sH(b,k[c>>2]|0)|0;k[(k[d>>2]|0)+8>>2]=a;k[c>>2]=(k[c>>2]|0)+1}u=f;return a|0}function pH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;f=h+12|0;d=h+8|0;g=h+4|0;e=h;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;a=k[f>>2]|0;if(k[(k[f>>2]|0)+12>>2]|0){pH(k[a+12>>2]|0,k[d>>2]|0,e);k[(k[e>>2]|0)+8>>2]=k[f>>2]}else k[k[d>>2]>>2]=a;a=k[f>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0){pH(k[a+8>>2]|0,(k[f>>2]|0)+8|0,k[g>>2]|0);u=h;return}else{k[k[g>>2]>>2]=a;u=h;return}}function qH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=u;u=u+32|0;c=g+24|0;d=g+20|0;e=g;f=g+16|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=e;while(1){a=k[c>>2]|0;i=k[a+4>>2]|0;b=k[d>>2]|0;h=k[b+4>>2]|0;if(!((i|0)<(h|0)|((i|0)==(h|0)?(k[a>>2]|0)>>>0<=(k[b>>2]|0)>>>0:0))){i=k[d>>2]|0;k[(k[f>>2]|0)+8>>2]=i;k[f>>2]=i;k[d>>2]=k[(k[d>>2]|0)+8>>2];if(!(k[d>>2]|0)){a=8;break}else continue}h=k[c>>2]|0;a=k[h+4>>2]|0;i=k[d>>2]|0;b=k[i+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[h>>2]|0)>>>0<(k[i>>2]|0)>>>0:0)){i=k[c>>2]|0;k[(k[f>>2]|0)+8>>2]=i;k[f>>2]=i}k[c>>2]=k[(k[c>>2]|0)+8>>2];if(!(k[c>>2]|0)){a=6;break}}if((a|0)==6){h=k[d>>2]|0;i=k[f>>2]|0;i=i+8|0;k[i>>2]=h;i=e+8|0;i=k[i>>2]|0;u=g;return i|0}else if((a|0)==8){h=k[c>>2]|0;i=k[f>>2]|0;i=i+8|0;k[i>>2]=h;i=e+8|0;i=k[i>>2]|0;u=g;return i|0}return 0}function rH(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(m[(k[c>>2]|0)+24>>1]|0)){a=Od(k[(k[c>>2]|0)+4>>2]|0,1016,0)|0;k[d>>2]=a;if(k[d>>2]|0){k[k[d>>2]>>2]=k[k[c>>2]>>2];k[k[c>>2]>>2]=k[d>>2];k[(k[c>>2]|0)+16>>2]=(k[d>>2]|0)+8;j[(k[c>>2]|0)+24>>1]=63;break}k[b>>2]=0;d=k[b>>2]|0;u=e;return d|0}while(0);d=(k[c>>2]|0)+24|0;j[d>>1]=(j[d>>1]|0)+-1<<16>>16;c=(k[c>>2]|0)+16|0;d=k[c>>2]|0;k[c>>2]=d+16;k[b>>2]=d;d=k[b>>2]|0;u=e;return d|0}function sH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;c=h;k[e>>2]=a;k[f>>2]=b;if(!(k[k[e>>2]>>2]|0)){k[d>>2]=0;g=k[d>>2]|0;u=h;return g|0}a=k[e>>2]|0;do if((k[f>>2]|0)>1){a=sH(a,(k[f>>2]|0)-1|0)|0;k[c>>2]=a;k[g>>2]=k[k[e>>2]>>2];a=k[c>>2]|0;if(k[g>>2]|0){k[(k[g>>2]|0)+12>>2]=a;k[k[e>>2]>>2]=k[(k[g>>2]|0)+8>>2];f=sH(k[e>>2]|0,(k[f>>2]|0)-1|0)|0;k[(k[g>>2]|0)+8>>2]=f;break}k[d>>2]=a;g=k[d>>2]|0;u=h;return g|0}else{k[g>>2]=k[a>>2];k[k[e>>2]>>2]=k[(k[g>>2]|0)+8>>2];k[(k[g>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+12>>2]=0}while(0);k[d>>2]=k[g>>2];g=k[d>>2]|0;u=h;return g|0}function tH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[d>>2]=k[h>>2];k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+4>>2]=k[g>>2];k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+20>>2]=0;k[(k[d>>2]|0)+16>>2]=(k[d>>2]|0)+32;j[(k[d>>2]|0)+24>>1]=(((k[f>>2]|0)-32|0)>>>0)/16|0;j[(k[d>>2]|0)+26>>1]=1;k[(k[d>>2]|0)+28>>2]=0;u=e;return k[d>>2]|0}function uH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=(k[(k[e>>2]|0)+8>>2]|0)+(((k[d>>2]|0)>>>0)/8|0)|0;i[b>>0]=l[b>>0]|0|1<<(k[d>>2]&7);u=c;return}function vH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+80|0;n=x+32|0;o=x+24|0;w=x+16|0;v=x;q=x+76|0;j=x+72|0;r=x+68|0;s=x+64|0;m=x+60|0;t=x+56|0;p=x+52|0;e=x+48|0;f=x+44|0;g=x+40|0;h=x+36|0;k[q>>2]=a;k[j>>2]=b;k[r>>2]=c;k[s>>2]=d;k[t>>2]=k[s>>2];k[p>>2]=k[r>>2];while(1){d=k[s>>2]|0;k[s>>2]=d+-1;if((d|0)<=0){a=25;break}if(!(k[(k[q>>2]|0)+16>>2]|0)){a=25;break}b=k[q>>2]|0;if((k[r>>2]|0)<1){a=5;break}if(AH(b,k[r>>2]|0)|0){a=25;break}if(rn(k[(k[q>>2]|0)+4>>2]|0,k[r>>2]|0,e,0)|0){a=8;break}d=Un(k[e>>2]|0)|0;k[f>>2]=d;do if(!(k[j>>2]|0)){if((k[s>>2]|0)>0?(l[(k[k[q>>2]>>2]|0)+17>>0]|0)!=0:0){d=dm(k[f>>2]|0)|0;k[m>>2]=d;wH(k[q>>2]|0,k[m>>2]|0,4,k[r>>2]|0)}}else{d=dm((k[f>>2]|0)+4|0)|0;k[g>>2]=d;if(i[(k[k[q>>2]>>2]|0)+17>>0]|0)wH(k[q>>2]|0,k[r>>2]|0,2,0);if((k[g>>2]|0)>(((k[(k[k[q>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){d=k[q>>2]|0;k[o>>2]=k[r>>2];zH(d,40564,o);k[s>>2]=(k[s>>2]|0)+-1;break}k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[g>>2]|0))break;d=dm((k[f>>2]|0)+(8+(k[m>>2]<<2))|0)|0;k[h>>2]=d;if(i[(k[k[q>>2]>>2]|0)+17>>0]|0)wH(k[q>>2]|0,k[h>>2]|0,2,0);AH(k[q>>2]|0,k[h>>2]|0)|0;k[m>>2]=(k[m>>2]|0)+1}k[s>>2]=(k[s>>2]|0)-(k[g>>2]|0)}while(0);d=dm(k[f>>2]|0)|0;k[r>>2]=d;Yn(k[e>>2]|0);if(!(k[j>>2]|0))continue;if((k[s>>2]|0)>=((k[r>>2]|0)!=0|0))continue;zH(k[q>>2]|0,40603,n)}if((a|0)==5){t=k[t>>2]|0;w=k[p>>2]|0;k[v>>2]=(k[s>>2]|0)+1;k[v+4>>2]=t;k[v+8>>2]=w;zH(b,40485,v);u=x;return}else if((a|0)==8){v=k[q>>2]|0;k[w>>2]=k[r>>2];zH(v,40542,w);u=x;return}else if((a|0)==25){u=x;return}}function wH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+64|0;p=q+8|0;o=q;f=q+44|0;g=q+40|0;h=q+49|0;j=q+36|0;m=q+32|0;n=q+48|0;e=q+28|0;k[f>>2]=a;k[g>>2]=b;i[h>>0]=c;k[j>>2]=d;d=kq(k[k[f>>2]>>2]|0,k[g>>2]|0,n,e)|0;k[m>>2]=d;if(k[m>>2]|0){if((k[m>>2]|0)==7|(k[m>>2]|0)==3082)k[(k[f>>2]|0)+24>>2]=1;p=k[f>>2]|0;k[o>>2]=k[g>>2];zH(p,40402,o);u=q;return}if((l[n>>0]|0|0)==(l[h>>0]|0|0)?(k[e>>2]|0)==(k[j>>2]|0):0){u=q;return}o=k[f>>2]|0;h=l[h>>0]|0;j=k[j>>2]|0;m=l[n>>0]|0;n=k[e>>2]|0;k[p>>2]=k[g>>2];k[p+4>>2]=h;k[p+8>>2]=j;k[p+12>>2]=m;k[p+16>>2]=n;zH(o,40431,p);u=q;return}function xH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=u;u=u+256|0;_=ca+96|0;Z=ca+88|0;Y=ca+80|0;X=ca+72|0;aa=ca+64|0;$=ca+48|0;h=ca+40|0;g=ca+32|0;S=ca+240|0;T=ca+236|0;U=ca+232|0;V=ca+228|0;W=ca+24|0;j=ca+224|0;n=ca+220|0;f=ca+216|0;o=ca+212|0;p=ca+208|0;q=ca+204|0;r=ca+200|0;s=ca+196|0;t=ca+192|0;v=ca+188|0;w=ca+184|0;x=ca+180|0;y=ca+176|0;z=ca+172|0;A=ca+168|0;B=ca+164|0;C=ca+160|0;D=ca+156|0;E=ca+152|0;F=ca+148|0;G=ca+144|0;H=ca+140|0;I=ca+136|0;J=ca+132|0;K=ca+128|0;L=ca+244|0;M=ca;N=ca+124|0;O=ca+120|0;P=ca+116|0;Q=ca+112|0;R=ca+108|0;k[T>>2]=a;k[U>>2]=b;k[V>>2]=c;c=W;k[c>>2]=d;k[c+4>>2]=e;k[j>>2]=0;k[o>>2]=-1;k[w>>2]=1;k[x>>2]=1;k[F>>2]=0;k[H>>2]=0;k[I>>2]=k[(k[T>>2]|0)+28>>2];k[J>>2]=k[(k[T>>2]|0)+32>>2];k[K>>2]=k[(k[T>>2]|0)+36>>2];i[L>>0]=0;k[B>>2]=k[k[T>>2]>>2];k[D>>2]=k[(k[B>>2]|0)+36>>2];if(!(k[U>>2]|0)){k[S>>2]=0;ba=k[S>>2]|0;u=ca;return ba|0}if(AH(k[T>>2]|0,k[U>>2]|0)|0){k[S>>2]=0;ba=k[S>>2]|0;u=ca;return ba|0}k[(k[T>>2]|0)+28>>2]=40022;k[(k[T>>2]|0)+32>>2]=k[U>>2];e=nq(k[B>>2]|0,k[U>>2]|0,j,0)|0;k[f>>2]=e;do if(!(e|0)){i[L>>0]=i[k[j>>2]>>0]|0;i[k[j>>2]>>0]=0;g=Ap(k[j>>2]|0)|0;k[f>>2]=g;if(g|0){ba=k[T>>2]|0;k[h>>2]=k[f>>2];zH(ba,40070,h);break}k[y>>2]=k[(k[j>>2]|0)+56>>2];k[s>>2]=l[(k[j>>2]|0)+5>>0];k[(k[T>>2]|0)+28>>2]=40108;k[E>>2]=((l[(k[y>>2]|0)+((k[s>>2]|0)+5)>>0]<<8|l[(k[y>>2]|0)+((k[s>>2]|0)+5)+1>>0])-1&65535)+1;k[v>>2]=l[(k[y>>2]|0)+((k[s>>2]|0)+3)>>0]<<8|l[(k[y>>2]|0)+((k[s>>2]|0)+3)+1>>0];k[t>>2]=(k[s>>2]|0)+12-(l[(k[j>>2]|0)+4>>0]<<2);k[A>>2]=(k[y>>2]|0)+((k[t>>2]|0)+((k[v>>2]|0)-1<<1));if(i[(k[j>>2]|0)+4>>0]|0){k[F>>2]=k[(k[T>>2]|0)+68>>2];k[k[F>>2]>>2]=0}else{h=dm((k[y>>2]|0)+((k[s>>2]|0)+8)|0)|0;k[q>>2]=h;if(i[(k[B>>2]|0)+17>>0]|0){k[(k[T>>2]|0)+28>>2]=40134;wH(k[T>>2]|0,k[q>>2]|0,5,k[U>>2]|0)}h=W;h=xH(k[T>>2]|0,k[q>>2]|0,W,k[h>>2]|0,k[h+4>>2]|0)|0;k[o>>2]=h;k[x>>2]=0}k[n>>2]=(k[v>>2]|0)-1;while(1){if((k[n>>2]|0)<0)break;if(!(k[(k[T>>2]|0)+16>>2]|0))break;k[(k[T>>2]|0)+36>>2]=k[n>>2];k[C>>2]=l[k[A>>2]>>0]<<8|l[(k[A>>2]|0)+1>>0];k[A>>2]=(k[A>>2]|0)+-2;do if((k[C>>2]|0)>>>0>=(k[E>>2]|0)>>>0?(k[C>>2]|0)>>>0<=((k[D>>2]|0)-4|0)>>>0:0){k[z>>2]=(k[y>>2]|0)+(k[C>>2]|0);Sb[k[(k[j>>2]|0)+80>>2]&255](k[j>>2]|0,k[z>>2]|0,M);if(((k[C>>2]|0)+(m[M+18>>1]|0)|0)>>>0>(k[D>>2]|0)>>>0){zH(k[T>>2]|0,40192,aa);k[w>>2]=0;break}if(i[(k[j>>2]|0)+2>>0]|0){b=M;a=k[b>>2]|0;b=k[b+4>>2]|0;c=W;f=k[c>>2]|0;c=k[c+4>>2]|0;if(k[x>>2]|0){if((b|0)>(c|0)|(b|0)==(c|0)&a>>>0>f>>>0)ba=26}else if((b|0)>(c|0)|(b|0)==(c|0)&a>>>0>=f>>>0)ba=26;if((ba|0)==26){ba=0;h=k[T>>2]|0;d=M;e=k[d+4>>2]|0;g=X;k[g>>2]=k[d>>2];k[g+4>>2]=e;zH(h,40216,X)}e=M;g=k[e+4>>2]|0;h=W;k[h>>2]=k[e>>2];k[h+4>>2]=g}if((k[M+12>>2]|0)>>>0>(m[M+16>>1]|0)>>>0){k[N>>2]=(((k[M+12>>2]|0)-(m[M+16>>1]|0)+(k[D>>2]|0)-5|0)>>>0)/(((k[D>>2]|0)-4|0)>>>0)|0;h=dm((k[z>>2]|0)+((m[M+18>>1]|0)-4)|0)|0;k[O>>2]=h;if(i[(k[B>>2]|0)+17>>0]|0)wH(k[T>>2]|0,k[O>>2]|0,3,k[U>>2]|0);vH(k[T>>2]|0,0,k[O>>2]|0,k[N>>2]|0)}if(i[(k[j>>2]|0)+4>>0]|0){BH(k[F>>2]|0,k[C>>2]<<16|(k[C>>2]|0)+(m[M+18>>1]|0)-1);break}h=dm(k[z>>2]|0)|0;k[q>>2]=h;if(i[(k[B>>2]|0)+17>>0]|0)wH(k[T>>2]|0,k[q>>2]|0,5,k[U>>2]|0);h=W;h=xH(k[T>>2]|0,k[q>>2]|0,W,k[h>>2]|0,k[h+4>>2]|0)|0;k[p>>2]=h;k[x>>2]=0;if((k[p>>2]|0)!=(k[o>>2]|0)){zH(k[T>>2]|0,40240,Y);k[o>>2]=k[p>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;h=k[T>>2]|0;e=k[E>>2]|0;g=(k[D>>2]|0)-4|0;k[$>>2]=k[C>>2];k[$+4>>2]=e;k[$+8>>2]=g;zH(h,40162,$);k[w>>2]=0}k[n>>2]=(k[n>>2]|0)+-1}Y=W;$=k[Y+4>>2]|0;aa=k[V>>2]|0;k[aa>>2]=k[Y>>2];k[aa+4>>2]=$;k[(k[T>>2]|0)+28>>2]=0;if(k[w>>2]|0?(k[(k[T>>2]|0)+16>>2]|0)>0:0){a:do if(!(i[(k[j>>2]|0)+4>>0]|0)){k[F>>2]=k[(k[T>>2]|0)+68>>2];k[k[F>>2]>>2]=0;k[n>>2]=(k[v>>2]|0)-1;while(1){if((k[n>>2]|0)<0)break a;k[C>>2]=l[(k[y>>2]|0)+((k[t>>2]|0)+(k[n>>2]<<1))>>0]<<8|l[(k[y>>2]|0)+((k[t>>2]|0)+(k[n>>2]<<1))+1>>0];aa=(Wb[k[(k[j>>2]|0)+76>>2]&255](k[j>>2]|0,(k[y>>2]|0)+(k[C>>2]|0)|0)|0)&65535;k[P>>2]=aa;BH(k[F>>2]|0,k[C>>2]<<16|(k[C>>2]|0)+(k[P>>2]|0)-1);k[n>>2]=(k[n>>2]|0)+-1}}while(0);k[n>>2]=l[(k[y>>2]|0)+((k[s>>2]|0)+1)>>0]<<8|l[(k[y>>2]|0)+((k[s>>2]|0)+1)+1>>0];while(1){if((k[n>>2]|0)<=0)break;k[Q>>2]=l[(k[y>>2]|0)+((k[n>>2]|0)+2)>>0]<<8|l[(k[y>>2]|0)+((k[n>>2]|0)+2)+1>>0];BH(k[F>>2]|0,k[n>>2]<<16|(k[n>>2]|0)+(k[Q>>2]|0)-1);k[R>>2]=l[(k[y>>2]|0)+(k[n>>2]|0)>>0]<<8|l[(k[y>>2]|0)+(k[n>>2]|0)+1>>0];k[n>>2]=k[R>>2]}k[r>>2]=0;k[H>>2]=(k[E>>2]|0)-1;while(1){if(!(CH(k[F>>2]|0,G)|0))break;if((k[H>>2]&65535)>>>0>=(k[G>>2]|0)>>>16>>>0){ba=51;break}k[r>>2]=(k[r>>2]|0)+(((k[G>>2]|0)>>>16)-(k[H>>2]&65535)-1);k[H>>2]=k[G>>2]}if((ba|0)==51){ba=k[T>>2]|0;aa=k[U>>2]|0;k[Z>>2]=(k[G>>2]|0)>>>16;k[Z+4>>2]=aa;zH(ba,40265,Z)}k[r>>2]=(k[r>>2]|0)+((k[D>>2]|0)-(k[H>>2]&65535)-1);if((k[k[F>>2]>>2]|0)==0?(k[r>>2]|0)!=(l[(k[y>>2]|0)+((k[s>>2]|0)+7)>>0]|0):0){ba=k[T>>2]|0;$=l[(k[y>>2]|0)+((k[s>>2]|0)+7)>>0]|0;aa=k[U>>2]|0;k[_>>2]=k[r>>2];k[_+4>>2]=$;k[_+8>>2]=aa;zH(ba,40302,_)}}}else{ba=k[T>>2]|0;k[g>>2]=k[f>>2];zH(ba,40032,g)}while(0);if(!(k[w>>2]|0))i[k[j>>2]>>0]=i[L>>0]|0;mq(k[j>>2]|0);k[(k[T>>2]|0)+28>>2]=k[I>>2];k[(k[T>>2]|0)+32>>2]=k[J>>2];k[(k[T>>2]|0)+36>>2]=k[K>>2];k[S>>2]=(k[o>>2]|0)+1;ba=k[S>>2]|0;u=ca;return ba|0}function yH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;u=e;return (l[(k[(k[d>>2]|0)+8>>2]|0)+(((k[c>>2]|0)>>>0)/8|0)>>0]|0)&1<<(k[c>>2]&7)|0}function zH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;g=h;d=h+28|0;e=h+24|0;f=h+8|0;k[d>>2]=a;k[e>>2]=b;if(!(k[(k[d>>2]|0)+16>>2]|0)){u=h;return}b=(k[d>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+-1;b=(k[d>>2]|0)+20|0;k[b>>2]=(k[b>>2]|0)+1;k[f>>2]=c;if(k[(k[d>>2]|0)+40+12>>2]|0)Zd((k[d>>2]|0)+40|0,40020,1);if(k[(k[d>>2]|0)+28>>2]|0){b=(k[d>>2]|0)+40|0;c=k[(k[d>>2]|0)+28>>2]|0;a=k[(k[d>>2]|0)+36>>2]|0;k[g>>2]=k[(k[d>>2]|0)+32>>2];k[g+4>>2]=a;yj(b,c,g)}Kd((k[d>>2]|0)+40|0,k[e>>2]|0,f);if((l[(k[d>>2]|0)+40+24>>0]|0|0)!=1){u=h;return}k[(k[d>>2]|0)+24>>2]=1;u=h;return}function AH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;g=h+8|0;d=h;f=h+20|0;c=h+16|0;e=h+12|0;k[c>>2]=a;k[e>>2]=b;do if(k[e>>2]|0){a=k[c>>2]|0;b=k[e>>2]|0;if((k[e>>2]|0)>>>0>(k[(k[c>>2]|0)+12>>2]|0)>>>0){k[d>>2]=b;zH(a,40354,d);k[f>>2]=1;break}d=(yH(a,b)|0)!=0;b=k[c>>2]|0;a=k[e>>2]|0;if(d){k[g>>2]=a;zH(b,40377,g);k[f>>2]=1;break}else{uH(b,a);k[f>>2]=0;break}}else k[f>>2]=1;while(0);u=h;return k[f>>2]|0}function BH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;b=(k[a>>2]|0)+1|0;k[a>>2]=b;k[f>>2]=b;k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]=k[d>>2];while(1){b=((k[f>>2]|0)>>>0)/2|0;k[e>>2]=b;if(b>>>0<=0){a=5;break}if((k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]|0)>>>0<=(k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0){a=5;break}k[d>>2]=k[(k[c>>2]|0)+(k[e>>2]<<2)>>2];k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]=k[(k[c>>2]|0)+(k[f>>2]<<2)>>2];k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]=k[d>>2];k[f>>2]=k[e>>2]}if((a|0)==5){u=g;return}}function CH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;b=k[k[d>>2]>>2]|0;k[h>>2]=b;if(!b){k[c>>2]=0;h=k[c>>2]|0;u=i;return h|0}k[k[e>>2]>>2]=k[(k[d>>2]|0)+4>>2];k[(k[d>>2]|0)+4>>2]=k[(k[d>>2]|0)+(k[h>>2]<<2)>>2];k[(k[d>>2]|0)+(k[h>>2]<<2)>>2]=-1;e=k[d>>2]|0;k[e>>2]=(k[e>>2]|0)+-1;k[g>>2]=1;while(1){e=k[g>>2]<<1;k[f>>2]=e;if(e>>>0>(k[k[d>>2]>>2]|0)>>>0)break;if((k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0>(k[(k[d>>2]|0)+((k[f>>2]|0)+1<<2)>>2]|0)>>>0)k[f>>2]=(k[f>>2]|0)+1;if((k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]|0)>>>0<(k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0)break;k[h>>2]=k[(k[d>>2]|0)+(k[g>>2]<<2)>>2];k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]=k[(k[d>>2]|0)+(k[f>>2]<<2)>>2];k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]=k[h>>2];k[g>>2]=k[f>>2]}k[c>>2]=1;h=k[c>>2]|0;u=i;return h|0}function DH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;e=j+16|0;f=j;g=j+12|0;h=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;if(!(l[(k[e>>2]|0)+11>>0]|0)){u=j;return}i[(k[e>>2]|0)+11>>0]=0;k[h>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;do if((l[(k[h>>2]|0)+64>>0]|0)&16|0){i[(k[e>>2]|0)+11>>0]=1;if((k[g>>2]|0)==0?(c=(k[h>>2]|0)+16|0,d=f,!((k[c>>2]|0)==(k[d>>2]|0)?(k[c+4>>2]|0)==(k[d+4>>2]|0):0)):0)break;i[(k[h>>2]|0)+66>>0]=0}while(0);k[h>>2]=k[(k[h>>2]|0)+8>>2]}u=j;return}function EH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+48|0;q=t+36|0;j=t+32|0;e=t+28|0;r=t+24|0;n=t+20|0;s=t+16|0;o=t+12|0;f=t+8|0;g=t+4|0;p=t;h=t+40|0;k[j>>2]=a;k[e>>2]=b;k[r>>2]=c;k[n>>2]=d;d=k[e>>2]|0;if(d>>>0>($n(k[j>>2]|0)|0)>>>0){s=un(66688)|0;k[q>>2]=s;s=k[q>>2]|0;u=t;return s|0}e=eE(k[j>>2]|0,k[e>>2]|0,s,0,0)|0;k[o>>2]=e;if(k[o>>2]|0){k[q>>2]=k[o>>2];s=k[q>>2]|0;u=t;return s|0}a:do if(!(i[(k[s>>2]|0)+8>>0]|0)){i[(k[s>>2]|0)+8>>0]=1;k[p>>2]=l[(k[s>>2]|0)+5>>0];k[g>>2]=0;while(1){a=k[s>>2]|0;if((k[g>>2]|0)>=(m[(k[s>>2]|0)+18>>1]|0))break;k[f>>2]=(k[a+56>>2]|0)+(m[(k[s>>2]|0)+20>>1]&(l[(k[(k[s>>2]|0)+64>>2]|0)+(k[g>>2]<<1)>>0]<<8|l[(k[(k[s>>2]|0)+64>>2]|0)+(k[g>>2]<<1)+1>>0]));if((i[(k[s>>2]|0)+4>>0]|0)==0?(d=k[j>>2]|0,e=dm(k[f>>2]|0)|0,e=EH(d,e,1,k[n>>2]|0)|0,k[o>>2]=e,k[o>>2]|0):0)break a;e=FH(k[s>>2]|0,k[f>>2]|0,h)|0;k[o>>2]=e;if(k[o>>2]|0)break a;k[g>>2]=(k[g>>2]|0)+1}if(i[a+4>>0]|0){if(k[n>>2]|0){n=k[n>>2]|0;k[n>>2]=(k[n>>2]|0)+(m[(k[s>>2]|0)+18>>1]|0)}}else{h=k[j>>2]|0;j=dm((k[(k[s>>2]|0)+56>>2]|0)+((k[p>>2]|0)+8)|0)|0;n=EH(h,j,1,k[n>>2]|0)|0;k[o>>2]=n;if(k[o>>2]|0)break}a=k[s>>2]|0;if(k[r>>2]|0){GH(a,o);break}r=Tn(k[a+72>>2]|0)|0;k[o>>2]=r;if(!r)br(k[s>>2]|0,l[(k[(k[s>>2]|0)+56>>2]|0)+(k[p>>2]|0)>>0]|8)}else{r=un(66693)|0;k[o>>2]=r}while(0);i[(k[s>>2]|0)+8>>0]=0;mq(k[s>>2]|0);k[q>>2]=k[o>>2];s=k[q>>2]|0;u=t;return s|0}function FH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=u;u=u+80|0;i=s+64|0;l=s+60|0;n=s+56|0;t=s+52|0;o=s+48|0;p=s;q=s+44|0;d=s+40|0;e=s+36|0;f=s+32|0;g=s+28|0;h=s+24|0;k[l>>2]=a;k[n>>2]=b;k[t>>2]=c;k[o>>2]=k[(k[l>>2]|0)+52>>2];Sb[k[(k[l>>2]|0)+80>>2]&255](k[l>>2]|0,k[n>>2]|0,p);j[k[t>>2]>>1]=j[p+18>>1]|0;if((m[p+16>>1]|0|0)==(k[p+12>>2]|0)){k[i>>2]=0;t=k[i>>2]|0;u=s;return t|0}if(((k[n>>2]|0)+(m[p+18>>1]|0)+-1|0)>>>0>((k[(k[l>>2]|0)+56>>2]|0)+(m[(k[l>>2]|0)+20>>1]|0)|0)>>>0){t=un(64249)|0;k[i>>2]=t;t=k[i>>2]|0;u=s;return t|0}t=dm((k[n>>2]|0)+(m[p+18>>1]|0)+-4|0)|0;k[q>>2]=t;k[f>>2]=(k[(k[o>>2]|0)+36>>2]|0)-4;k[e>>2]=(((k[p+12>>2]|0)-(m[p+16>>1]|0)+(k[f>>2]|0)-1|0)>>>0)/((k[f>>2]|0)>>>0)|0;while(1){t=k[e>>2]|0;k[e>>2]=t+-1;if(!t){r=23;break}k[g>>2]=0;k[h>>2]=0;if((k[q>>2]|0)>>>0<2){r=9;break}t=k[q>>2]|0;if(t>>>0>($n(k[o>>2]|0)|0)>>>0){r=9;break}if(k[e>>2]|0?(t=Mq(k[o>>2]|0,k[q>>2]|0,h,g)|0,k[d>>2]=t,k[d>>2]|0):0){r=12;break}if(!(k[h>>2]|0)?(t=JH(k[o>>2]|0,k[q>>2]|0)|0,k[h>>2]=t,!(t|0)):0)r=17;else if((zp(k[(k[h>>2]|0)+72>>2]|0)|0)!=1){t=un(64285)|0;k[d>>2]=t}else r=17;if((r|0)==17){r=0;t=HH(k[o>>2]|0,k[h>>2]|0,k[q>>2]|0)|0;k[d>>2]=t}if(k[h>>2]|0)Yn(k[(k[h>>2]|0)+72>>2]|0);if(k[d>>2]|0){r=21;break}k[q>>2]=k[g>>2]}if((r|0)==9){t=un(64265)|0;k[i>>2]=t;t=k[i>>2]|0;u=s;return t|0}else if((r|0)==12){k[i>>2]=k[d>>2];t=k[i>>2]|0;u=s;return t|0}else if((r|0)==21){k[i>>2]=k[d>>2];t=k[i>>2]|0;u=s;return t|0}else if((r|0)==23){k[i>>2]=0;t=k[i>>2]|0;u=s;return t|0}return 0}function GH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[k[d>>2]>>2]|0){u=e;return}c=HH(k[(k[c>>2]|0)+52>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+84>>2]|0)|0;k[k[d>>2]>>2]=c;u=e;return}function HH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;h=r+40|0;j=r+36|0;l=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;d=r+12|0;e=r+8|0;f=r+4|0;g=r;k[j>>2]=a;k[l>>2]=b;k[n>>2]=c;k[o>>2]=0;k[p>>2]=0;k[q>>2]=k[(k[j>>2]|0)+12>>2];if((k[n>>2]|0)>>>0<2){q=un(64103)|0;k[h>>2]=q;q=k[h>>2]|0;u=r;return q|0}if(k[l>>2]|0){k[d>>2]=k[l>>2];IH(k[(k[d>>2]|0)+72>>2]|0)}else{l=JH(k[j>>2]|0,k[n>>2]|0)|0;k[d>>2]=l}l=Tn(k[(k[q>>2]|0)+72>>2]|0)|0;k[e>>2]=l;do if(!(k[e>>2]|0)){l=dm((k[(k[q>>2]|0)+56>>2]|0)+36|0)|0;k[f>>2]=l;Xn((k[(k[q>>2]|0)+56>>2]|0)+36|0,(k[f>>2]|0)+1|0);if(m[(k[j>>2]|0)+22>>1]&4|0){if((k[d>>2]|0)==0?(l=nq(k[j>>2]|0,k[n>>2]|0,d,0)|0,k[e>>2]=l,l|0):0)break;l=Tn(k[(k[d>>2]|0)+72>>2]|0)|0;k[e>>2]=l;if(l|0)break;w0(k[(k[d>>2]|0)+56>>2]|0,0,k[(k[(k[d>>2]|0)+52>>2]|0)+32>>2]|0)|0}if(i[(k[j>>2]|0)+17>>0]|0?(rq(k[j>>2]|0,k[n>>2]|0,2,0,e),k[e>>2]|0):0)break;if(k[f>>2]|0){l=dm((k[(k[q>>2]|0)+56>>2]|0)+32|0)|0;k[p>>2]=l;l=nq(k[j>>2]|0,k[p>>2]|0,o,0)|0;k[e>>2]=l;if(k[e>>2]|0)break;l=dm((k[(k[o>>2]|0)+56>>2]|0)+4|0)|0;k[g>>2]=l;if((k[g>>2]|0)>>>0>((((k[(k[j>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){q=un(64156)|0;k[e>>2]=q;break}if((k[g>>2]|0)>>>0<((((k[(k[j>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){q=Tn(k[(k[o>>2]|0)+72>>2]|0)|0;k[e>>2]=q;if(k[e>>2]|0)break;Xn((k[(k[o>>2]|0)+56>>2]|0)+4|0,(k[g>>2]|0)+1|0);Xn((k[(k[o>>2]|0)+56>>2]|0)+(8+(k[g>>2]<<2))|0,k[n>>2]|0);if(k[d>>2]|0?(m[(k[j>>2]|0)+22>>1]&4|0)==0:0)KH(k[(k[d>>2]|0)+72>>2]|0);q=LH(k[j>>2]|0,k[n>>2]|0)|0;k[e>>2]=q;break}}if((k[d>>2]|0)==0?(l=nq(k[j>>2]|0,k[n>>2]|0,d,0)|0,k[e>>2]=l,0!=(l|0)):0)break;l=Tn(k[(k[d>>2]|0)+72>>2]|0)|0;k[e>>2]=l;if(!(k[e>>2]|0)){Xn(k[(k[d>>2]|0)+56>>2]|0,k[p>>2]|0);Xn((k[(k[d>>2]|0)+56>>2]|0)+4|0,0);Xn((k[(k[q>>2]|0)+56>>2]|0)+32|0,k[n>>2]|0)}}while(0);if(k[d>>2]|0)i[k[d>>2]>>0]=0;mq(k[d>>2]|0);mq(k[o>>2]|0);k[h>>2]=k[e>>2];q=k[h>>2]|0;u=r;return q|0}function IH(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;MH(k[c>>2]|0);u=b;return}function JH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=pn(k[k[d>>2]>>2]|0,k[e>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){f=wq(k[f>>2]|0,k[e>>2]|0,k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;u=g;return f|0}else{k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}return 0}function KH(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+16>>2];if(i[(k[c>>2]|0)+13>>0]|0){u=d;return}if(!(m[(k[b>>2]|0)+24>>1]&2)){u=d;return}if(k[(k[c>>2]|0)+104>>2]|0){u=d;return}c=(k[b>>2]|0)+24|0;j[c>>1]=m[c>>1]|16;c=(k[b>>2]|0)+24|0;j[c>>1]=m[c>>1]&-5;u=d;return}function LH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[c>>2]|0)+60>>2]|0)==0?(b=io(k[(k[c>>2]|0)+44>>2]|0)|0,k[(k[c>>2]|0)+60>>2]=b,(k[(k[c>>2]|0)+60>>2]|0)==0):0)k[e>>2]=7;if(k[e>>2]|0){e=k[e>>2]|0;u=f;return e|0}b=k[d>>2]|0;if(b>>>0>(Bq(k[(k[c>>2]|0)+60>>2]|0)|0)>>>0){e=k[e>>2]|0;u=f;return e|0}d=on(k[(k[c>>2]|0)+60>>2]|0,k[d>>2]|0)|0;k[e>>2]=d;e=k[e>>2]|0;u=f;return e|0}function MH(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+26|0;j[a>>1]=(j[a>>1]|0)+1<<16>>16;a=(k[(k[c>>2]|0)+28>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;u=b;return}function NH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+48|0;f=o+32|0;g=o+28|0;h=o+24|0;j=o+20|0;l=o+16|0;m=o+12|0;n=o+8|0;d=o+4|0;e=o;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=0;k[n>>2]=k[(k[g>>2]|0)+4>>2];if(k[(k[n>>2]|0)+8>>2]|0){k[f>>2]=262;n=k[f>>2]|0;u=o;return n|0}if((k[h>>2]|0)>>>0<2){n=un(66814)|0;k[f>>2]=n;n=k[f>>2]|0;u=o;return n|0}c=nq(k[n>>2]|0,k[h>>2]|0,m,0)|0;k[l>>2]=c;if(k[l>>2]|0){k[f>>2]=k[l>>2];n=k[f>>2]|0;u=o;return n|0}c=IG(k[g>>2]|0,k[h>>2]|0,0)|0;k[l>>2]=c;if(k[l>>2]|0){mq(k[m>>2]|0);k[f>>2]=k[l>>2];n=k[f>>2]|0;u=o;return n|0}k[k[j>>2]>>2]=0;if(i[(k[n>>2]|0)+17>>0]|0){Sp(k[g>>2]|0,4,d);a=k[m>>2]|0;do if((k[h>>2]|0)==(k[d>>2]|0)){GH(a,l);mq(k[m>>2]|0);if(k[l>>2]|0){k[f>>2]=k[l>>2];n=k[f>>2]|0;u=o;return n|0}}else{mq(a);m=nq(k[n>>2]|0,k[d>>2]|0,e,0)|0;k[l>>2]=m;if(k[l>>2]|0){k[f>>2]=k[l>>2];n=k[f>>2]|0;u=o;return n|0}m=oq(k[n>>2]|0,k[e>>2]|0,1,0,k[h>>2]|0,0)|0;k[l>>2]=m;mq(k[e>>2]|0);if(k[l>>2]|0){k[f>>2]=k[l>>2];n=k[f>>2]|0;u=o;return n|0}k[e>>2]=0;m=nq(k[n>>2]|0,k[d>>2]|0,e,0)|0;k[l>>2]=m;GH(k[e>>2]|0,l);mq(k[e>>2]|0);if(!(k[l>>2]|0)){k[k[j>>2]>>2]=k[d>>2];break}k[f>>2]=k[l>>2];n=k[f>>2]|0;u=o;return n|0}while(0);k[d>>2]=(k[d>>2]|0)+-1;while(1){if((k[d>>2]|0)!=((((k[482]|0)>>>0)/((k[(k[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(m=gq(k[n>>2]|0,k[d>>2]|0)|0,(m|0)!=(k[d>>2]|0)):0)break;k[d>>2]=(k[d>>2]|0)+-1}n=Wp(k[g>>2]|0,4,k[d>>2]|0)|0;k[l>>2]=n}else{GH(k[m>>2]|0,l);mq(k[m>>2]|0)}k[f>>2]=k[l>>2];n=k[f>>2]|0;u=o;return n|0}function OH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+48|0;b=n+32|0;c=n+28|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;k[c>>2]=a;k[d>>2]=0;k[f>>2]=0;k[g>>2]=(l[(k[c>>2]|0)+59>>0]|0)-1;i[(k[c>>2]|0)+56>>0]=1;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[g>>2]|0))break;k[h>>2]=((l[(k[c>>2]|0)+58>>0]|0)+(k[e>>2]|0)+1|0)%(k[g>>2]|0)|0;k[f>>2]=(k[c>>2]|0)+64+((k[h>>2]|0)*72|0);if(k[(k[f>>2]|0)+4>>2]|0){a=Gs(k[f>>2]|0)|0;k[d>>2]=a}if(k[d>>2]|0)break;if(!(k[k[f>>2]>>2]|0))break;k[e>>2]=(k[e>>2]|0)+1}do if(!(k[d>>2]|0)){if((k[e>>2]|0)==(k[g>>2]|0)){m=PH((k[c>>2]|0)+64+((k[g>>2]|0)*72|0)|0,(k[c>>2]|0)+36|0)|0;k[d>>2]=m;break}k[j>>2]=k[(k[f>>2]|0)+16+4>>2];k[m>>2]=k[f>>2];i[(k[c>>2]|0)+58>>0]=((k[f>>2]|0)-((k[c>>2]|0)+64)|0)/72|0;h=(k[f>>2]|0)+16|0;g=(k[c>>2]|0)+36|0;k[h>>2]=k[g>>2];k[h+4>>2]=k[g+4>>2];k[h+8>>2]=k[g+8>>2];k[(k[c>>2]|0)+36>>2]=0;k[(k[c>>2]|0)+36+8>>2]=0;if(!(k[j>>2]|0)){if(k[(k[c>>2]|0)+36+4>>2]|0?(j=k[(k[c>>2]|0)+52>>2]|0,j=Pd(j,((j|0)<0)<<31>>31)|0,k[(k[c>>2]|0)+36+4>>2]=j,(k[(k[c>>2]|0)+36+4>>2]|0)==0):0){k[b>>2]=7;m=k[b>>2]|0;u=n;return m|0}}else{k[(k[c>>2]|0)+36+4>>2]=k[j>>2];j=Ud(k[j>>2]|0)|0;k[(k[c>>2]|0)+52>>2]=j}m=RH(k[f>>2]|0,194,k[m>>2]|0)|0;k[d>>2]=m}while(0);k[b>>2]=k[d>>2];m=k[b>>2]|0;u=n;return m|0}function PH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+64|0;d=j+60|0;e=j+56|0;c=j+52|0;f=j+48|0;g=j;h=j+44|0;i=j+40|0;k[d>>2]=a;k[e>>2]=b;k[c>>2]=k[(k[(k[d>>2]|0)+8>>2]|0)+24>>2];k[f>>2]=0;a=g;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(k[(k[d>>2]|0)+40>>2]|0)){c=TH(k[c>>2]|0,0,0,(k[d>>2]|0)+40|0)|0;k[f>>2]=c}if(!(k[f>>2]|0)){c=UH(k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=c}if(k[f>>2]|0){i=k[f>>2]|0;u=j;return i|0}k[i>>2]=0;c=(k[d>>2]|0)+40+8|0;VH(k[(k[d>>2]|0)+40>>2]|0,g,k[(k[(k[d>>2]|0)+8>>2]|0)+12>>2]|0,k[c>>2]|0,k[c+4>>2]|0);c=(k[d>>2]|0)+28|0;k[c>>2]=(k[c>>2]|0)+1;c=k[(k[e>>2]|0)+8>>2]|0;WH(g,c,((c|0)<0)<<31>>31);k[h>>2]=k[k[e>>2]>>2];while(1){a=k[h>>2]|0;if(!(k[h>>2]|0))break;k[i>>2]=k[a+4>>2];c=k[k[h>>2]>>2]|0;WH(g,c,((c|0)<0)<<31>>31);XH(g,(k[h>>2]|0)+8|0,k[k[h>>2]>>2]|0);if(!(k[(k[e>>2]|0)+4>>2]|0))ie(k[h>>2]|0);k[h>>2]=k[i>>2]}k[k[e>>2]>>2]=a;i=YH(g,(k[d>>2]|0)+40+8|0)|0;k[f>>2]=i;i=k[f>>2]|0;u=j;return i|0}function QH(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;d=c+4|0;b=c;k[e>>2]=a;k[d>>2]=k[e>>2];a=PH(k[d>>2]|0,(k[d>>2]|0)+16|0)|0;k[b>>2]=a;k[(k[d>>2]|0)+4>>2]=1;u=c;return k[b>>2]|0}function RH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=SH(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;u=d;return c|0}function SH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[k[e>>2]>>2]=0;c=Pd(20,0)|0;k[h>>2]=c;if(!(k[h>>2]|0)){k[d>>2]=7;i=k[d>>2]|0;u=j;return i|0}c=k[h>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[(k[h>>2]|0)+12>>2]=k[f>>2];k[(k[h>>2]|0)+16>>2]=k[g>>2];if(Uq(200)|0)k[i>>2]=1;else{c=tb(k[h>>2]|0,0,k[f>>2]|0,k[g>>2]|0)|0;k[i>>2]=c}if(k[i>>2]|0){k[(k[h>>2]|0)+4>>2]=1;i=Rb[k[f>>2]&255](k[g>>2]|0)|0;k[(k[h>>2]|0)+8>>2]=i}k[k[e>>2]>>2]=k[h>>2];k[d>>2]=0;i=k[d>>2]|0;u=j;return i|0}function TH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+28|0;f=j+24|0;g=j+20|0;h=j+16|0;i=j;k[f>>2]=a;a=j+8|0;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;if(Uq(202)|0){k[e>>2]=3338;i=k[e>>2]|0;u=j;return i|0}f=ms(k[k[f>>2]>>2]|0,0,k[g>>2]|0,4126,h)|0;k[h>>2]=f;if(!(k[h>>2]|0)){f=i;k[f>>2]=0;k[f+4>>2]=0;Go(k[k[g>>2]>>2]|0,18,i)}k[e>>2]=k[h>>2];i=k[e>>2]|0;u=j;return i|0}function UH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=u;u=u+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;c=m+4|0;d=m;k[f>>2]=a;k[g>>2]=b;b=ZH(k[f>>2]|0)|0;k[c>>2]=b;if(k[c>>2]|0){k[e>>2]=k[c>>2];j=k[e>>2]|0;u=m;return j|0}k[j>>2]=k[k[g>>2]>>2];c=_H(k[(k[f>>2]|0)+8>>2]|0)|0;k[(k[f>>2]|0)+32>>2]=c;c=fh(256,0)|0;k[i>>2]=c;if(!(k[i>>2]|0)){k[e>>2]=7;j=k[e>>2]|0;u=m;return j|0}while(1){if(!(k[j>>2]|0))break;a=k[j>>2]|0;do if(k[(k[g>>2]|0)+4>>2]|0)if((a|0)==(k[(k[g>>2]|0)+4>>2]|0)){k[d>>2]=0;break}else{k[d>>2]=(k[(k[g>>2]|0)+4>>2]|0)+(k[(k[j>>2]|0)+4>>2]|0);break}else k[d>>2]=k[a+4>>2];while(0);k[(k[j>>2]|0)+4>>2]=0;k[h>>2]=0;while(1){if(!(k[(k[i>>2]|0)+(k[h>>2]<<2)>>2]|0))break;c=$H(k[f>>2]|0,k[j>>2]|0,k[(k[i>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;k[j>>2]=c;k[(k[i>>2]|0)+(k[h>>2]<<2)>>2]=0;k[h>>2]=(k[h>>2]|0)+1}k[(k[i>>2]|0)+(k[h>>2]<<2)>>2]=k[j>>2];k[j>>2]=k[d>>2]}k[j>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=64)break;if(k[(k[i>>2]|0)+(k[h>>2]<<2)>>2]|0){if(k[j>>2]|0)a=$H(k[f>>2]|0,k[j>>2]|0,k[(k[i>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;else a=k[(k[i>>2]|0)+(k[h>>2]<<2)>>2]|0;k[j>>2]=a}k[h>>2]=(k[h>>2]|0)+1}k[k[g>>2]>>2]=k[j>>2];ie(k[i>>2]|0);k[e>>2]=l[(k[(k[f>>2]|0)+12>>2]|0)+11>>0];j=k[e>>2]|0;u=m;return j|0}function VH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;a=i;k[a>>2]=d;k[a+4>>2]=e;a=k[g>>2]|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=k[h>>2]|0;e=Pd(e,((e|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+4>>2]=e;if(k[(k[g>>2]|0)+4>>2]|0){d=i;e=k[h>>2]|0;e=m0(k[d>>2]|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;k[(k[g>>2]|0)+12>>2]=e;k[(k[g>>2]|0)+16>>2]=e;e=k[(k[g>>2]|0)+12>>2]|0;e=h0(k[i>>2]|0,k[i+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;i=(k[g>>2]|0)+24|0;k[i>>2]=e;k[i+4>>2]=M;k[(k[g>>2]|0)+8>>2]=k[h>>2];k[(k[g>>2]|0)+32>>2]=k[f>>2];u=j;return}else{k[k[g>>2]>>2]=7;u=j;return}}function WH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=u;u=u+32|0;g=d+12|0;h=d;e=d+8|0;f=d+16|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;c=h;c=iG(f,k[c>>2]|0,k[c+4>>2]|0)|0;k[e>>2]=c;XH(k[g>>2]|0,f,k[e>>2]|0);u=d;return}function XH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[f>>2];while(1){if((k[g>>2]|0)<=0){a=9;break}if(k[k[d>>2]>>2]|0){a=9;break}k[h>>2]=k[g>>2];if((k[h>>2]|0)>((k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+16>>2]|0)|0))k[h>>2]=(k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+16>>2]|0);r0((k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+16>>2]|0)|0,(k[e>>2]|0)+((k[f>>2]|0)-(k[g>>2]|0))|0,k[h>>2]|0)|0;c=(k[d>>2]|0)+16|0;k[c>>2]=(k[c>>2]|0)+(k[h>>2]|0);if((k[(k[d>>2]|0)+16>>2]|0)==(k[(k[d>>2]|0)+8>>2]|0)){j=k[(k[d>>2]|0)+32>>2]|0;a=(k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0;c=(k[(k[d>>2]|0)+16>>2]|0)-(k[(k[d>>2]|0)+12>>2]|0)|0;l=(k[d>>2]|0)+24|0;b=k[(k[d>>2]|0)+12>>2]|0;b=i0(k[l>>2]|0,k[l+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Nm(j,a,c,b,M)|0;k[k[d>>2]>>2]=b;k[(k[d>>2]|0)+16>>2]=0;k[(k[d>>2]|0)+12>>2]=0;b=k[(k[d>>2]|0)+8>>2]|0;c=(k[d>>2]|0)+24|0;a=c;b=i0(k[a>>2]|0,k[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[c>>2]=b;k[c+4>>2]=M}k[g>>2]=(k[g>>2]|0)-(k[h>>2]|0)}if((a|0)==9){u=i;return}}function YH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(((k[k[c>>2]>>2]|0)==0?k[(k[c>>2]|0)+4>>2]|0:0)?(k[(k[c>>2]|0)+16>>2]|0)>(k[(k[c>>2]|0)+12>>2]|0):0){h=k[(k[c>>2]|0)+32>>2]|0;g=(k[(k[c>>2]|0)+4>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)|0;a=(k[(k[c>>2]|0)+16>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0;i=(k[c>>2]|0)+24|0;b=k[(k[c>>2]|0)+12>>2]|0;b=i0(k[i>>2]|0,k[i+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Nm(h,g,a,b,M)|0;k[k[c>>2]>>2]=b}a=(k[c>>2]|0)+24|0;b=k[(k[c>>2]|0)+16>>2]|0;b=i0(k[a>>2]|0,k[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=k[d>>2]|0;k[a>>2]=b;k[a+4>>2]=M;ie(k[(k[c>>2]|0)+4>>2]|0);k[e>>2]=k[k[c>>2]>>2];a=k[c>>2]|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));u=f;return k[e>>2]|0}function ZH(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(k[(k[c>>2]|0)+12>>2]|0)){a=gE(k[(k[(k[c>>2]|0)+8>>2]|0)+28>>2]|0,0,0,d)|0;k[(k[c>>2]|0)+12>>2]=a;if(k[d>>2]|0){j[(k[(k[c>>2]|0)+12>>2]|0)+8>>1]=j[(k[(k[(k[c>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;i[(k[(k[c>>2]|0)+12>>2]|0)+11>>0]=0;break}k[b>>2]=7;d=k[b>>2]|0;u=e;return d|0}while(0);k[b>>2]=0;d=k[b>>2]|0;u=e;return d|0}function _H(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;do if((l[(k[c>>2]|0)+60>>0]|0|0)!=1)if((l[(k[c>>2]|0)+60>>0]|0|0)==2){k[b>>2]=146;break}else{k[b>>2]=147;break}else k[b>>2]=145;while(0);u=d;return k[b>>2]|0}function $H(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;d=l+24|0;g=l+20|0;h=l+16|0;i=l+12|0;j=l+8|0;e=l+4|0;f=l;k[d>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=0;k[j>>2]=i;k[e>>2]=0;while(1){c=Qb[k[(k[d>>2]|0)+32>>2]&255](k[d>>2]|0,e,(k[g>>2]|0)+8|0,k[k[g>>2]>>2]|0,(k[h>>2]|0)+8|0,k[k[h>>2]>>2]|0)|0;k[f>>2]=c;if((k[f>>2]|0)<=0){k[k[j>>2]>>2]=k[g>>2];k[j>>2]=(k[g>>2]|0)+4;k[g>>2]=k[(k[g>>2]|0)+4>>2];if(!(k[g>>2]|0)){a=4;break}else continue}else{k[k[j>>2]>>2]=k[h>>2];k[j>>2]=(k[h>>2]|0)+4;k[h>>2]=k[(k[h>>2]|0)+4>>2];k[e>>2]=0;if(!(k[h>>2]|0)){a=6;break}else continue}}if((a|0)==4){k[k[j>>2]>>2]=k[h>>2];j=k[i>>2]|0;u=l;return j|0}else if((a|0)==6){k[k[j>>2]>>2]=k[g>>2];j=k[i>>2]|0;u=l;return j|0}return 0}function aI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+64|0;s=x+52|0;t=x+48|0;v=x+44|0;w=x+40|0;p=x+36|0;q=x+32|0;z=x+28|0;y=x+24|0;g=x+20|0;h=x+16|0;j=x+12|0;n=x+8|0;r=x+4|0;o=x;k[s>>2]=a;k[t>>2]=b;k[v>>2]=c;k[w>>2]=d;k[p>>2]=e;k[q>>2]=f;k[z>>2]=k[v>>2];k[y>>2]=k[p>>2];k[g>>2]=l[(k[z>>2]|0)+1>>0];k[h>>2]=l[(k[y>>2]|0)+1>>0];k[j>>2]=(k[z>>2]|0)+(l[k[z>>2]>>0]|0);k[n>>2]=(k[y>>2]|0)+(l[k[y>>2]>>0]|0);a=k[g>>2]|0;b=k[h>>2]|0;a:do if(!((k[g>>2]|0)>7&(k[h>>2]|0)>7)){if((a|0)==(b|0)){if((l[k[j>>2]>>0]^l[k[n>>2]>>0])&128|0){k[r>>2]=l[k[j>>2]>>0]&128|0?-1:1;break}k[r>>2]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(l[40642+(k[g>>2]|0)>>0]|0))break a;z=(l[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)-(l[(k[n>>2]|0)+(k[o>>2]|0)>>0]|0)|0;k[r>>2]=z;if(z|0)break a;k[o>>2]=(k[o>>2]|0)+1}}do if((k[h>>2]|0)<=7)if((k[g>>2]|0)>7){k[r>>2]=-1;break}else{k[r>>2]=(k[g>>2]|0)-(k[h>>2]|0);break}else k[r>>2]=1;while(0);if((k[r>>2]|0)>0){if(!(l[k[j>>2]>>0]&128))break;k[r>>2]=-1;break}else{if(!(l[k[n>>2]>>0]&128))break;k[r>>2]=1;break}}else k[r>>2]=a-b;while(0);a=k[(k[(k[s>>2]|0)+8>>2]|0)+28>>2]|0;if(!(k[r>>2]|0)){if((m[a+6>>1]|0)<=1){z=k[r>>2]|0;u=x;return z|0}z=dI(k[s>>2]|0,k[t>>2]|0,k[v>>2]|0,k[w>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[r>>2]=z;z=k[r>>2]|0;u=x;return z|0}else{if(!(i[k[a+16>>2]>>0]|0)){z=k[r>>2]|0;u=x;return z|0}z=$(k[r>>2]|0,-1)|0;k[r>>2]=z;z=k[r>>2]|0;u=x;return z|0}return 0}function bI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+64|0;s=x+48|0;t=x+44|0;v=x+40|0;w=x+36|0;p=x+32|0;q=x+28|0;y=x+24|0;g=x+20|0;h=x+16|0;j=x+12|0;n=x+8|0;o=x+4|0;r=x;k[s>>2]=a;k[t>>2]=b;k[v>>2]=c;k[w>>2]=d;k[p>>2]=e;k[q>>2]=f;k[y>>2]=k[v>>2];k[g>>2]=k[p>>2];k[h>>2]=(k[y>>2]|0)+(l[k[y>>2]>>0]|0);k[j>>2]=(k[g>>2]|0)+(l[k[g>>2]>>0]|0);a=(k[y>>2]|0)+1|0;if((l[(k[y>>2]|0)+1>>0]|0)<128)k[n>>2]=l[a>>0];else pE(a,n)|0;k[n>>2]=((k[n>>2]|0)-13|0)/2|0;a=(k[g>>2]|0)+1|0;if((l[(k[g>>2]|0)+1>>0]|0)<128)k[o>>2]=l[a>>0];else pE(a,o)|0;k[o>>2]=((k[o>>2]|0)-13|0)/2|0;y=R_(k[h>>2]|0,k[j>>2]|0,(k[n>>2]|0)<(k[o>>2]|0)?k[n>>2]|0:k[o>>2]|0)|0;k[r>>2]=y;if(!(k[r>>2]|0))k[r>>2]=(k[n>>2]|0)-(k[o>>2]|0);a=k[(k[(k[s>>2]|0)+8>>2]|0)+28>>2]|0;if(!(k[r>>2]|0)){if((m[a+6>>1]|0)<=1){y=k[r>>2]|0;u=x;return y|0}y=dI(k[s>>2]|0,k[t>>2]|0,k[v>>2]|0,k[w>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[r>>2]=y;y=k[r>>2]|0;u=x;return y|0}else{if(!(i[k[a+16>>2]>>0]|0)){y=k[r>>2]|0;u=x;return y|0}y=$(k[r>>2]|0,-1)|0;k[r>>2]=y;y=k[r>>2]|0;u=x;return y|0}return 0}function cI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;g=o+8|0;h=o+4|0;i=o;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[g>>2]=e;k[h>>2]=f;k[i>>2]=k[(k[j>>2]|0)+12>>2];if(k[k[l>>2]>>2]|0){l=k[n>>2]|0;m=k[m>>2]|0;n=k[i>>2]|0;n=nE(l,m,n)|0;u=o;return n|0}hE(k[(k[(k[j>>2]|0)+8>>2]|0)+28>>2]|0,k[h>>2]|0,k[g>>2]|0,k[i>>2]|0);k[k[l>>2]>>2]=1;l=k[n>>2]|0;m=k[m>>2]|0;n=k[i>>2]|0;n=nE(l,m,n)|0;u=o;return n|0}function dI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;g=o+8|0;h=o+4|0;i=o;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[g>>2]=e;k[h>>2]=f;k[i>>2]=k[(k[j>>2]|0)+12>>2];if(k[k[l>>2]>>2]|0){l=k[n>>2]|0;m=k[m>>2]|0;n=k[i>>2]|0;n=oE(l,m,n,1)|0;u=o;return n|0}hE(k[(k[(k[j>>2]|0)+8>>2]|0)+28>>2]|0,k[h>>2]|0,k[g>>2]|0,k[i>>2]|0);k[k[l>>2]>>2]=1;l=k[n>>2]|0;m=k[m>>2]|0;n=k[i>>2]|0;n=oE(l,m,n,1)|0;u=o;return n|0}function eI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=u;u=u+32|0;b=h+24|0;c=h+20|0;d=h+16|0;e=h;f=h+12|0;g=h+8|0;k[c>>2]=a;k[d>>2]=0;i=e;k[i>>2]=0;k[i+4>>2]=0;i=k[c>>2]|0;l=k[i+4>>2]|0;a=(k[c>>2]|0)+8|0;j=k[a+4>>2]|0;if((l|0)>(j|0)|((l|0)==(j|0)?(k[i>>2]|0)>>>0>=(k[a>>2]|0)>>>0:0)){k[f>>2]=k[(k[c>>2]|0)+48>>2];k[g>>2]=1;if((k[f>>2]|0?(l=gI(k[f>>2]|0)|0,k[d>>2]=l,(k[d>>2]|0)==0):0)?(k[(k[f>>2]|0)+20>>2]|0)==0:0){l=(k[f>>2]|0)+8|0;l=hI(k[k[f>>2]>>2]|0,k[c>>2]|0,(k[f>>2]|0)+32|0,k[l>>2]|0,k[l+4>>2]|0)|0;k[d>>2]=l;k[g>>2]=0}if(k[g>>2]|0){Bs(k[c>>2]|0);k[b>>2]=k[d>>2];l=k[b>>2]|0;u=h;return l|0}}if(!(k[d>>2]|0)){l=iI(k[c>>2]|0,e)|0;k[d>>2]=l}if(!(k[d>>2]|0)){k[(k[c>>2]|0)+20>>2]=k[e>>2];l=jI(k[c>>2]|0,k[e>>2]|0,(k[c>>2]|0)+32|0)|0;k[d>>2]=l}k[b>>2]=k[d>>2];l=k[b>>2]|0;u=h;return l|0}function fI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;e=p+36|0;f=p+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;m=p+12|0;n=p+8|0;c=p+4|0;d=p;k[e>>2]=a;k[f>>2]=b;k[h>>2]=k[(k[(k[e>>2]|0)+8>>2]|0)+4>>2];k[i>>2]=k[(k[e>>2]|0)+4>>2];b=eI((k[(k[e>>2]|0)+12>>2]|0)+((k[h>>2]|0)*56|0)|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){k[c>>2]=0;k[m>>2]=(k[(k[e>>2]|0)+12>>2]|0)+((k[h>>2]&65534)*56|0);k[n>>2]=(k[(k[e>>2]|0)+12>>2]|0)+((k[h>>2]|1)*56|0);k[j>>2]=((k[k[e>>2]>>2]|0)+(k[h>>2]|0)|0)/2|0;while(1){if((k[j>>2]|0)<=0)break;do if(k[(k[m>>2]|0)+24>>2]|0)if(!(k[(k[n>>2]|0)+24>>2]|0)){k[d>>2]=-1;break}else{h=Qb[k[(k[i>>2]|0)+32>>2]&255](k[i>>2]|0,c,k[(k[m>>2]|0)+32>>2]|0,k[(k[m>>2]|0)+20>>2]|0,k[(k[n>>2]|0)+32>>2]|0,k[(k[n>>2]|0)+20>>2]|0)|0;k[d>>2]=h;break}else k[d>>2]=1;while(0);do if((k[d>>2]|0)<0)o=12;else{if((k[d>>2]|0)==0?(k[m>>2]|0)>>>0<(k[n>>2]|0)>>>0:0){o=12;break}if(k[(k[m>>2]|0)+24>>2]|0)k[c>>2]=0;k[(k[(k[e>>2]|0)+8>>2]|0)+(k[j>>2]<<2)>>2]=((k[n>>2]|0)-(k[(k[e>>2]|0)+12>>2]|0)|0)/56|0;k[m>>2]=(k[(k[e>>2]|0)+12>>2]|0)+((k[(k[(k[e>>2]|0)+8>>2]|0)+((k[j>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((o|0)==12){o=0;k[(k[(k[e>>2]|0)+8>>2]|0)+(k[j>>2]<<2)>>2]=((k[m>>2]|0)-(k[(k[e>>2]|0)+12>>2]|0)|0)/56|0;k[n>>2]=(k[(k[e>>2]|0)+12>>2]|0)+((k[(k[(k[e>>2]|0)+8>>2]|0)+((k[j>>2]^1)<<2)>>2]|0)*56|0);k[c>>2]=0}k[j>>2]=(k[j>>2]|0)/2|0}k[k[f>>2]>>2]=(k[(k[(k[e>>2]|0)+12>>2]|0)+((k[(k[(k[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(k[g>>2]|0)){o=l[(k[(k[i>>2]|0)+12>>2]|0)+11>>0]|0;u=p;return o|0}else{o=k[g>>2]|0;u=p;return o|0}return 0}function gI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=u;u=u+32|0;b=e+20|0;d=e+16|0;c=e;k[b>>2]=a;k[d>>2]=0;a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+24>>2]|0)){a=mI(a)|0;k[d>>2]=a;a=(k[b>>2]|0)+32|0;c=(k[b>>2]|0)+32+16|0;k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[a+12>>2]=k[c+12>>2];a=(k[b>>2]|0)+32+8|0;c=(k[b>>2]|0)+8|0;if(!((k[a>>2]|0)==(k[c>>2]|0)?(k[a+4>>2]|0)==(k[c+4>>2]|0):0)){d=k[d>>2]|0;u=e;return d|0}k[(k[b>>2]|0)+20>>2]=1;d=k[d>>2]|0;u=e;return d|0}a=Gs(k[a>>2]|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){a=(k[b>>2]|0)+32|0;k[c>>2]=k[a>>2];k[c+4>>2]=k[a+4>>2];k[c+8>>2]=k[a+8>>2];k[c+12>>2]=k[a+12>>2];a=(k[b>>2]|0)+32|0;f=(k[b>>2]|0)+32+16|0;k[a>>2]=k[f>>2];k[a+4>>2]=k[f+4>>2];k[a+8>>2]=k[f+8>>2];k[a+12>>2]=k[f+12>>2];a=(k[b>>2]|0)+32+16|0;k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[a+12>>2]=k[c+12>>2]}if(k[d>>2]|0){f=k[d>>2]|0;u=e;return f|0}c=(k[b>>2]|0)+32+8|0;f=(k[b>>2]|0)+8|0;a=k[b>>2]|0;if((k[c>>2]|0)==(k[f>>2]|0)?(k[c+4>>2]|0)==(k[f+4>>2]|0):0){k[a+20>>2]=1;f=k[d>>2]|0;u=e;return f|0}else{f=lI(a)|0;k[d>>2]=f;f=k[d>>2]|0;u=e;return f|0}return 0}function hI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;j=p+36|0;l=p+32|0;m=p+28|0;n=p+24|0;o=p;f=p+20|0;g=p+16|0;h=p+12|0;i=p+8|0;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;c=o;k[c>>2]=d;k[c+4>>2]=e;k[f>>2]=0;if(Uq(201)|0){k[j>>2]=266;o=k[j>>2]|0;u=p;return o|0}if(k[(k[m>>2]|0)+44>>2]|0){yn(k[(k[m>>2]|0)+24>>2]|0,0,0,k[(k[m>>2]|0)+44>>2]|0)|0;k[(k[m>>2]|0)+44>>2]=0}e=k[o+4>>2]|0;d=k[m>>2]|0;k[d>>2]=k[o>>2];k[d+4>>2]=e;d=(k[n>>2]|0)+8|0;e=k[d+4>>2]|0;o=(k[m>>2]|0)+8|0;k[o>>2]=k[d>>2];k[o+4>>2]=e;k[(k[m>>2]|0)+24>>2]=k[k[n>>2]>>2];o=kI(k[l>>2]|0,k[n>>2]|0,(k[m>>2]|0)+44|0)|0;k[f>>2]=o;if((k[f>>2]|0)==0?(k[(k[m>>2]|0)+44>>2]|0)==0:0){k[g>>2]=k[(k[(k[l>>2]|0)+8>>2]|0)+12>>2];n=k[m>>2]|0;o=k[g>>2]|0;o=m0(k[n>>2]|0,k[n+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;k[h>>2]=o;if(!(k[(k[m>>2]|0)+36>>2]|0)){o=k[g>>2]|0;o=Pd(o,((o|0)<0)<<31>>31)|0;k[(k[m>>2]|0)+36>>2]=o;if(!(k[(k[m>>2]|0)+36>>2]|0))k[f>>2]=7;k[(k[m>>2]|0)+40>>2]=k[g>>2]}if((k[f>>2]|0)==0&(k[h>>2]|0)!=0){k[i>>2]=(k[g>>2]|0)-(k[h>>2]|0);e=k[m>>2]|0;n=k[i>>2]|0;n=i0(k[e>>2]|0,k[e+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;e=M;o=(k[m>>2]|0)+8|0;l=k[o+4>>2]|0;if((e|0)>(l|0)|((e|0)==(l|0)?n>>>0>(k[o>>2]|0)>>>0:0)){n=(k[m>>2]|0)+8|0;o=k[m>>2]|0;o=h0(k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[i>>2]=o}o=k[m>>2]|0;o=kn(k[(k[m>>2]|0)+24>>2]|0,(k[(k[m>>2]|0)+36>>2]|0)+(k[h>>2]|0)|0,k[i>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[f>>2]=o}}k[j>>2]=k[f>>2];o=k[j>>2]|0;u=p;return o|0}function iI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+48|0;c=o+24|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+32|0;h=o+8|0;j=o+4|0;m=o;k[d>>2]=a;k[e>>2]=b;a=k[d>>2]|0;do if(k[(k[d>>2]|0)+44>>2]|0){m=(Ip((k[a+44>>2]|0)+(k[k[d>>2]>>2]|0)|0,k[e>>2]|0)|0)&255;n=k[d>>2]|0;j=n;m=i0(k[j>>2]|0,k[j+4>>2]|0,m|0,0)|0;k[n>>2]=m;k[n+4>>2]=M}else{b=k[(k[d>>2]|0)+40>>2]|0;b=m0(k[a>>2]|0,k[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[f>>2]=b;if(k[f>>2]|0?((k[(k[d>>2]|0)+40>>2]|0)-(k[f>>2]|0)|0)>=9:0){m=(Ip((k[(k[d>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,k[e>>2]|0)|0)&255;n=k[d>>2]|0;j=n;m=i0(k[j>>2]|0,k[j+4>>2]|0,m|0,0)|0;k[n>>2]=m;k[n+4>>2]=M;break}k[j>>2]=0;while(1){f=jI(k[d>>2]|0,1,h)|0;k[m>>2]=f;if(k[m>>2]|0)break;b=i[k[h>>2]>>0]|0;f=k[j>>2]|0;k[j>>2]=f+1;i[g+(f&15)>>0]=b;if(!((l[k[h>>2]>>0]|0)&128)){n=10;break}}if((n|0)==10){Ip(g,k[e>>2]|0)|0;break}k[c>>2]=k[m>>2];n=k[c>>2]|0;u=o;return n|0}while(0);k[c>>2]=0;n=k[c>>2]|0;u=o;return n|0}function jI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;t=u;u=u+64|0;m=t+52|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;e=t+28|0;d=t+24|0;f=t+20|0;g=t+16|0;h=t+12|0;i=t+8|0;j=t+4|0;l=t;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;a=k[n>>2]|0;if(k[(k[n>>2]|0)+44>>2]|0){k[k[p>>2]>>2]=(k[a+44>>2]|0)+(k[k[n>>2]>>2]|0);r=k[o>>2]|0;s=k[n>>2]|0;q=s;r=i0(k[q>>2]|0,k[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;k[s>>2]=r;k[s+4>>2]=M;k[m>>2]=0;s=k[m>>2]|0;u=t;return s|0}b=a;c=k[(k[n>>2]|0)+40>>2]|0;c=m0(k[b>>2]|0,k[b+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;k[q>>2]=c;if(!(k[q>>2]|0)){w=(k[n>>2]|0)+8|0;b=k[n>>2]|0;b=h0(k[w>>2]|0,k[w+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;w=M;c=k[(k[n>>2]|0)+40>>2]|0;v=((c|0)<0)<<31>>31;a=k[n>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&b>>>0>c>>>0)k[e>>2]=k[a+40>>2];else{v=a+8|0;w=k[n>>2]|0;w=h0(k[v>>2]|0,k[v+4>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[e>>2]=w}w=k[n>>2]|0;w=kn(k[(k[n>>2]|0)+24>>2]|0,k[(k[n>>2]|0)+36>>2]|0,k[e>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[d>>2]=w;if(k[d>>2]|0){k[m>>2]=k[d>>2];w=k[m>>2]|0;u=t;return w|0}}k[r>>2]=(k[(k[n>>2]|0)+40>>2]|0)-(k[q>>2]|0);a=k[n>>2]|0;do if((k[o>>2]|0)<=(k[r>>2]|0)){k[k[p>>2]>>2]=(k[a+36>>2]|0)+(k[q>>2]|0);v=k[o>>2]|0;w=k[n>>2]|0;s=w;v=i0(k[s>>2]|0,k[s+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;k[w>>2]=v;k[w+4>>2]=M}else{do if((k[a+16>>2]|0)<(k[o>>2]|0)){if(128>(k[(k[n>>2]|0)+16>>2]<<1|0))a=128;else a=k[(k[n>>2]|0)+16>>2]<<1;k[h>>2]=a;while(1){if((k[o>>2]|0)<=(k[h>>2]|0))break;k[h>>2]=k[h>>2]<<1}w=k[h>>2]|0;w=qe(k[(k[n>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;k[g>>2]=w;if(k[g>>2]|0){k[(k[n>>2]|0)+16>>2]=k[h>>2];k[(k[n>>2]|0)+28>>2]=k[g>>2];break}k[m>>2]=7;w=k[m>>2]|0;u=t;return w|0}while(0);r0(k[(k[n>>2]|0)+28>>2]|0,(k[(k[n>>2]|0)+36>>2]|0)+(k[q>>2]|0)|0,k[r>>2]|0)|0;v=k[r>>2]|0;w=k[n>>2]|0;q=w;v=i0(k[q>>2]|0,k[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;k[w>>2]=v;k[w+4>>2]=M;k[f>>2]=(k[o>>2]|0)-(k[r>>2]|0);while(1){if((k[f>>2]|0)<=0){s=27;break}k[j>>2]=k[f>>2];if((k[f>>2]|0)>(k[(k[n>>2]|0)+40>>2]|0))k[j>>2]=k[(k[n>>2]|0)+40>>2];w=jI(k[n>>2]|0,k[j>>2]|0,l)|0;k[i>>2]=w;if(k[i>>2]|0)break;r0((k[(k[n>>2]|0)+28>>2]|0)+((k[o>>2]|0)-(k[f>>2]|0))|0,k[l>>2]|0,k[j>>2]|0)|0;k[f>>2]=(k[f>>2]|0)-(k[j>>2]|0)}if((s|0)==27){k[k[p>>2]>>2]=k[(k[n>>2]|0)+28>>2];break}k[m>>2]=k[i>>2];w=k[m>>2]|0;u=t;return w|0}while(0);k[m>>2]=0;w=k[m>>2]|0;u=t;return w|0}function kI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;j=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=0;b=(k[d>>2]|0)+8|0;i=k[b+4>>2]|0;c=k[(k[(k[(k[j>>2]|0)+8>>2]|0)+24>>2]|0)+144>>2]|0;a=((c|0)<0)<<31>>31;if(!((i|0)<(a|0)|((i|0)==(a|0)?(k[b>>2]|0)>>>0<=c>>>0:0))){j=k[f>>2]|0;u=h;return j|0}k[g>>2]=k[k[d>>2]>>2];if((k[k[k[g>>2]>>2]>>2]|0)<3){j=k[f>>2]|0;u=h;return j|0}j=wn(k[g>>2]|0,0,0,k[(k[d>>2]|0)+8>>2]|0,k[e>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;u=h;return j|0}function lI(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];a=RH(k[k[d>>2]>>2]|0,195,k[c>>2]|0)|0;u=b;return a|0}function mI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=u;u=u+96|0;b=n+88|0;f=n+84|0;g=n+80|0;h=n+48|0;i=n+76|0;o=n+72|0;j=n+68|0;l=n+8|0;m=n+64|0;c=n+60|0;d=n+56|0;e=n;k[b>>2]=a;k[f>>2]=0;q=(k[b>>2]|0)+8|0;p=k[q+4>>2]|0;a=h;k[a>>2]=k[q>>2];k[a+4>>2]=p;k[i>>2]=(k[b>>2]|0)+32+16;k[o>>2]=k[k[b>>2]>>2];k[j>>2]=k[(k[b>>2]|0)+4>>2];a=h;VH(k[k[i>>2]>>2]|0,l,k[(k[(k[o>>2]|0)+8>>2]|0)+12>>2]|0,k[a>>2]|0,k[a+4>>2]|0);while(1){if(k[f>>2]|0)break;k[c>>2]=(k[(k[j>>2]|0)+12>>2]|0)+((k[(k[(k[j>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);k[d>>2]=k[(k[c>>2]|0)+20>>2];q=l+24|0;p=k[l+16>>2]|0;p=i0(k[q>>2]|0,k[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=e;k[q>>2]=p;k[q+4>>2]=M;if(!(k[(k[c>>2]|0)+24>>2]|0))break;a=e;o=k[d>>2]|0;o=i0(k[a>>2]|0,k[a+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;a=M;p=k[d>>2]|0;p=tE(p,((p|0)<0)<<31>>31)|0;p=i0(o|0,a|0,p|0,((p|0)<0)<<31>>31|0)|0;a=M;o=h;q=k[(k[b>>2]|0)+16>>2]|0;q=i0(k[o>>2]|0,k[o+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;o=M;if((a|0)>(o|0)|(a|0)==(o|0)&p>>>0>q>>>0)break;q=k[d>>2]|0;WH(l,q,((q|0)<0)<<31>>31);XH(l,k[(k[c>>2]|0)+32>>2]|0,k[d>>2]|0);q=fI(k[(k[b>>2]|0)+4>>2]|0,m)|0;k[f>>2]=q}q=YH(l,(k[i>>2]|0)+8|0)|0;k[g>>2]=q;if(k[f>>2]|0){q=k[f>>2]|0;u=n;return q|0}k[f>>2]=k[g>>2];q=k[f>>2]|0;u=n;return q|0}function nI(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;d=c+4|0;b=c;k[e>>2]=a;k[d>>2]=k[e>>2];a=mI(k[d>>2]|0)|0;k[b>>2]=a;k[(k[k[d>>2]>>2]|0)+4>>2]=1;u=c;return k[b>>2]|0}function oI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;b=q+44|0;f=q+40|0;g=q+36|0;h=q+32|0;j=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;c=q+8|0;d=q+4|0;e=q;k[b>>2]=a;k[g>>2]=(k[b>>2]|0)+64;k[h>>2]=0;k[j>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+24>>2];a=_H(k[b>>2]|0)|0;k[n>>2]=a;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(l[(k[b>>2]|0)+59>>0]|0))break;k[(k[b>>2]|0)+64+((k[m>>2]|0)*72|0)+32>>2]=k[n>>2];k[m>>2]=(k[m>>2]|0)+1}n=pI(k[b>>2]|0,h)|0;k[f>>2]=n;do if(!(k[f>>2]|0)){if(!(i[(k[b>>2]|0)+57>>0]|0)){p=uI(k[g>>2]|0,k[h>>2]|0,0)|0;k[f>>2]=p;k[(k[b>>2]|0)+20>>2]=k[h>>2];k[h>>2]=0;break}k[p>>2]=0;k[c>>2]=(k[b>>2]|0)+64+(((l[(k[b>>2]|0)+59>>0]|0)-1|0)*72|0);n=ZH(k[c>>2]|0)|0;k[f>>2]=n;if((k[f>>2]|0)==0?(n=im(k[j>>2]|0,56,0)|0,k[p>>2]=n,k[(k[b>>2]|0)+16>>2]=k[p>>2],(k[p>>2]|0)==0):0)k[f>>2]=7;if(!(k[f>>2]|0)){n=qI(k[c>>2]|0,k[h>>2]|0,(k[p>>2]|0)+48|0)|0;k[f>>2]=n;a:do if(!(k[f>>2]|0)){rI(k[(k[p>>2]|0)+48>>2]|0);k[o>>2]=0;while(1){if((k[o>>2]|0)>=((l[(k[b>>2]|0)+59>>0]|0)-1|0))break;n=k[(k[(k[h>>2]|0)+12>>2]|0)+((k[o>>2]|0)*56|0)+48>>2]|0;k[d>>2]=n;if(n|0)rI(k[d>>2]|0);k[o>>2]=(k[o>>2]|0)+1}k[o>>2]=0;while(1){if(k[f>>2]|0)break a;if((k[o>>2]|0)>=(l[(k[b>>2]|0)+59>>0]|0))break a;k[e>>2]=(k[(k[h>>2]|0)+12>>2]|0)+((k[o>>2]|0)*56|0);n=sI(k[e>>2]|0,1)|0;k[f>>2]=n;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[h>>2]=0}if(!(k[f>>2]|0)){p=tI(k[p>>2]|0,2)|0;k[f>>2]=p}}while(0);if(!(k[f>>2]|0)){p=k[f>>2]|0;u=q;return p|0}Cs(k[h>>2]|0);p=k[f>>2]|0;u=q;return p|0}function pI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+64|0;h=r+52|0;i=r+48|0;j=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;p=r+28|0;q=r+24|0;c=r;d=r+20|0;e=r+16|0;f=r+12|0;g=r+8|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=0;k[m>>2]=0;if((l[(k[h>>2]|0)+59>>0]|0|0)>1?(b=xI(l[(k[h>>2]|0)+59>>0]|0)|0,k[j>>2]=b,(k[j>>2]|0)==0):0)k[m>>2]=7;k[n>>2]=0;while(1){if(k[m>>2]|0)break;if((k[n>>2]|0)>=(l[(k[h>>2]|0)+59>>0]|0|0))break;k[o>>2]=(k[h>>2]|0)+64+((k[n>>2]|0)*72|0);do if(k[(k[o>>2]|0)+28>>2]|0){k[p>>2]=0;b=yI(k[(k[o>>2]|0)+28>>2]|0)|0;k[q>>2]=b;b=c;k[b>>2]=0;k[b+4>>2]=0;a:do if((k[(k[o>>2]|0)+28>>2]|0)<=16){b=zI(k[o>>2]|0,k[(k[o>>2]|0)+28>>2]|0,c,p)|0;k[m>>2]=b}else{k[e>>2]=0;b=xI(16)|0;k[p>>2]=b;if(!(k[p>>2]|0))k[m>>2]=7;k[d>>2]=0;while(1){if(!((k[d>>2]|0)<(k[(k[o>>2]|0)+28>>2]|0)?(k[m>>2]|0)==0:0))break a;k[f>>2]=0;if(((k[(k[o>>2]|0)+28>>2]|0)-(k[d>>2]|0)|0)<16)a=(k[(k[o>>2]|0)+28>>2]|0)-(k[d>>2]|0)|0;else a=16;k[g>>2]=a;b=zI(k[o>>2]|0,k[g>>2]|0,c,f)|0;k[m>>2]=b;if(!(k[m>>2]|0)){s=k[o>>2]|0;a=k[q>>2]|0;b=k[e>>2]|0;k[e>>2]=b+1;b=AI(s,a,b,k[p>>2]|0,k[f>>2]|0)|0;k[m>>2]=b}k[d>>2]=(k[d>>2]|0)+16}}while(0);if(k[m>>2]|0){Cs(k[p>>2]|0);break}if(k[j>>2]|0){s=qI(k[o>>2]|0,k[p>>2]|0,(k[(k[j>>2]|0)+12>>2]|0)+((k[n>>2]|0)*56|0)+48|0)|0;k[m>>2]=s;break}else{k[j>>2]=k[p>>2];break}}while(0);k[n>>2]=(k[n>>2]|0)+1}if(!(k[m>>2]|0)){q=k[j>>2]|0;s=k[i>>2]|0;k[s>>2]=q;s=k[m>>2]|0;u=r;return s|0}Cs(k[j>>2]|0);k[j>>2]=0;q=k[j>>2]|0;s=k[i>>2]|0;k[s>>2]=q;s=k[m>>2]|0;u=r;return s|0}function qI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;f=i+16|0;d=i+12|0;e=i+8|0;g=i+4|0;h=i;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;if(Uq(100)|0)a=0;else a=fh(64,0)|0;k[k[e>>2]>>2]=a;k[h>>2]=a;a=k[d>>2]|0;if(!(k[h>>2]|0)){Cs(a);k[g>>2]=7;h=k[g>>2]|0;u=i;return h|0}k[(k[h>>2]|0)+4>>2]=a;k[k[h>>2]>>2]=k[f>>2];a=k[(k[f>>2]|0)+8>>2]|0;if(((k[(k[(k[f>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((k[(k[(k[f>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))a=(k[a+8>>2]|0)+9|0;else a=(k[a+4>>2]|0)/2|0;k[(k[h>>2]|0)+16>>2]=a;e=k[(k[h>>2]|0)+16>>2]|0;h=(k[f>>2]|0)+56+8|0;f=h;f=i0(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;k[h>>2]=f;k[h+4>>2]=M;h=k[g>>2]|0;u=i;return h|0}function rI(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b;k[d>>2]=a;k[(k[d>>2]|0)+24>>2]=1;c=k[(k[d>>2]|0)+16>>2]|0;a=(k[k[d>>2]>>2]|0)+56+8|0;d=a;c=h0(k[d>>2]|0,k[d+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;k[a>>2]=c;k[a+4>>2]=M;u=b;return}function sI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+48>>2];k[f>>2]=0;if(!(k[e>>2]|0)){g=k[f>>2]|0;u=h;return g|0}a=k[c>>2]|0;if(k[(k[e>>2]|0)+24>>2]|0){k[g>>2]=a;g=RH(k[k[e>>2]>>2]|0,196,k[g>>2]|0)|0;k[f>>2]=g;g=k[f>>2]|0;u=h;return g|0}else{g=tI(a,k[d>>2]|0)|0;k[f>>2]=g;g=k[f>>2]|0;u=h;return g|0}return 0}function tI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=k[(k[c>>2]|0)+48>>2];k[g>>2]=k[k[f>>2]>>2];k[h>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+24>>2];b=uI(k[g>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){k[i>>2]=k[(k[f>>2]|0)+16>>2];if(k[(k[f>>2]|0)+24>>2]|0){g=k[i>>2]|0;g=TH(k[h>>2]|0,g,((g|0)<0)<<31>>31,(k[f>>2]|0)+32|0)|0;k[e>>2]=g;if(k[e>>2]|0)break;i=k[i>>2]|0;i=TH(k[h>>2]|0,i,((i|0)<0)<<31>>31,(k[f>>2]|0)+32+16|0)|0;k[e>>2]=i;break}if(!(k[(k[g>>2]|0)+56>>2]|0)){b=(k[g>>2]|0)+56+8|0;h=TH(k[h>>2]|0,k[b>>2]|0,k[b+4>>2]|0,(k[g>>2]|0)+56|0)|0;k[e>>2]=h;h=(k[g>>2]|0)+56+8|0;k[h>>2]=0;k[h+4>>2]=0}if(!(k[e>>2]|0)){k[(k[f>>2]|0)+32+16>>2]=k[(k[g>>2]|0)+56>>2];a=(k[g>>2]|0)+56+8|0;b=k[a+4>>2]|0;h=(k[f>>2]|0)+8|0;k[h>>2]=k[a>>2];k[h+4>>2]=b;h=k[i>>2]|0;i=(k[g>>2]|0)+56+8|0;g=i;h=i0(k[g>>2]|0,k[g+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;k[i>>2]=h;k[i+4>>2]=M}}while(0);if((k[e>>2]|0)==0?k[(k[f>>2]|0)+24>>2]|0:0){i=mI(k[f>>2]|0)|0;k[e>>2]=i}if(!((k[e>>2]|0)==0&(k[d>>2]|0)!=1)){i=k[e>>2]|0;u=j;return i|0}i=eI(k[c>>2]|0)|0;k[e>>2]=i;i=k[e>>2]|0;u=j;return i|0}function uI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;n=u;u=u+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;j=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=0;k[j>>2]=k[k[f>>2]>>2];k[(k[f>>2]|0)+4>>2]=k[e>>2];k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[j>>2]|0))break;a=k[(k[f>>2]|0)+12>>2]|0;if((k[g>>2]|0)==2){c=eI(a+(((k[j>>2]|0)-(k[i>>2]|0)-1|0)*56|0)|0)|0;k[h>>2]=c}else{c=sI(a+((k[i>>2]|0)*56|0)|0,0)|0;k[h>>2]=c}if(k[h>>2]|0){m=7;break}k[i>>2]=(k[i>>2]|0)+1}if((m|0)==7){k[d>>2]=k[h>>2];m=k[d>>2]|0;u=n;return m|0}k[i>>2]=(k[k[f>>2]>>2]|0)-1;while(1){if((k[i>>2]|0)<=0)break;vI(k[f>>2]|0,k[i>>2]|0);k[i>>2]=(k[i>>2]|0)+-1}k[d>>2]=l[(k[(k[e>>2]|0)+12>>2]|0)+11>>0];m=k[d>>2]|0;u=n;return m|0}function vI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+48|0;e=n+36|0;f=n+32|0;g=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;l=n+12|0;m=n+8|0;c=n+4|0;d=n;k[e>>2]=a;k[f>>2]=b;if((k[f>>2]|0)>=((k[k[e>>2]>>2]|0)/2|0|0)){k[g>>2]=(k[f>>2]|0)-((k[k[e>>2]>>2]|0)/2|0)<<1;k[h>>2]=(k[g>>2]|0)+1}else{k[g>>2]=k[(k[(k[e>>2]|0)+8>>2]|0)+(k[f>>2]<<1<<2)>>2];k[h>>2]=k[(k[(k[e>>2]|0)+8>>2]|0)+((k[f>>2]<<1)+1<<2)>>2]}k[j>>2]=(k[(k[e>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0);k[l>>2]=(k[(k[e>>2]|0)+12>>2]|0)+((k[h>>2]|0)*56|0);do if(k[(k[j>>2]|0)+24>>2]|0){if(!(k[(k[l>>2]|0)+24>>2]|0)){k[i>>2]=k[g>>2];break}k[m>>2]=k[(k[e>>2]|0)+4>>2];k[c>>2]=0;m=Qb[k[(k[m>>2]|0)+32>>2]&255](k[m>>2]|0,c,k[(k[j>>2]|0)+32>>2]|0,k[(k[j>>2]|0)+20>>2]|0,k[(k[l>>2]|0)+32>>2]|0,k[(k[l>>2]|0)+20>>2]|0)|0;k[d>>2]=m;if((k[d>>2]|0)<=0){k[i>>2]=k[g>>2];break}else{k[i>>2]=k[h>>2];break}}else k[i>>2]=k[h>>2];while(0);k[(k[(k[e>>2]|0)+8>>2]|0)+(k[f>>2]<<2)>>2]=k[i>>2];u=n;return}function wI(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;d=c+4|0;b=c;k[e>>2]=a;k[d>>2]=k[e>>2];a=tI(k[d>>2]|0,1)|0;k[b>>2]=a;k[(k[k[(k[d>>2]|0)+48>>2]>>2]|0)+4>>2]=1;u=c;return k[b>>2]|0}function xI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;d=f+8|0;c=f+4|0;e=f;k[b>>2]=a;k[d>>2]=2;while(1){a=k[d>>2]|0;if((k[d>>2]|0)>=(k[b>>2]|0))break;k[d>>2]=(k[d>>2]|0)+a}k[c>>2]=16+(a*60|0);if(Uq(100)|0)a=0;else{a=k[c>>2]|0;a=fh(a,((a|0)<0)<<31>>31)|0}k[e>>2]=a;if(!(k[e>>2]|0)){e=k[e>>2]|0;u=f;return e|0}k[k[e>>2]>>2]=k[d>>2];k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=(k[e>>2]|0)+16;k[(k[e>>2]|0)+8>>2]=(k[(k[e>>2]|0)+12>>2]|0)+((k[d>>2]|0)*56|0);e=k[e>>2]|0;u=f;return e|0}function yI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=u;u=u+16|0;b=e+12|0;c=e+8|0;d=e;k[b>>2]=a;k[c>>2]=0;a=d;k[a>>2]=16;k[a+4>>2]=0;while(1){f=d;h=k[f+4>>2]|0;a=k[b>>2]|0;g=((a|0)<0)<<31>>31;if(!((h|0)<(g|0)|((h|0)==(g|0)?(k[f>>2]|0)>>>0>>0:0)))break;g=d;g=B0(k[g>>2]|0,k[g+4>>2]|0,16,0)|0;h=d;k[h>>2]=g;k[h+4>>2]=M;k[c>>2]=(k[c>>2]|0)+1}u=e;return k[c>>2]|0}function zI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;i=p+44|0;j=p+40|0;l=p+36|0;m=p+32|0;n=p+28|0;o=p+8|0;e=p+24|0;f=p+20|0;g=p;h=p+16|0;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;b=k[l>>2]|0;c=k[b+4>>2]|0;d=o;k[d>>2]=k[b>>2];k[d+4>>2]=c;k[f>>2]=0;d=xI(k[j>>2]|0)|0;k[n>>2]=d;k[k[m>>2]>>2]=d;if(!(k[n>>2]|0))k[f>>2]=7;k[e>>2]=0;while(1){if(!((k[e>>2]|0)<(k[j>>2]|0)?(k[f>>2]|0)==0:0))break;b=g;k[b>>2]=0;k[b+4>>2]=0;k[h>>2]=(k[(k[n>>2]|0)+12>>2]|0)+((k[e>>2]|0)*56|0);b=o;b=BI(k[i>>2]|0,(k[i>>2]|0)+40|0,k[b>>2]|0,k[b+4>>2]|0,k[h>>2]|0,g)|0;k[f>>2]=b;b=(k[h>>2]|0)+8|0;c=k[b+4>>2]|0;d=o;k[d>>2]=k[b>>2];k[d+4>>2]=c;k[e>>2]=(k[e>>2]|0)+1}if(!(k[f>>2]|0)){n=o;j=n;j=k[j>>2]|0;n=n+4|0;n=k[n>>2]|0;o=k[l>>2]|0;m=o;k[m>>2]=j;o=o+4|0;k[o>>2]=n;o=k[f>>2]|0;u=p;return o|0}Cs(k[n>>2]|0);k[k[m>>2]>>2]=0;n=o;j=n;j=k[j>>2]|0;n=n+4|0;n=k[n>>2]|0;o=k[l>>2]|0;m=o;k[m>>2]=j;o=o+4|0;k[o>>2]=n;o=k[f>>2]|0;u=p;return o|0}function AI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;m=r+48|0;n=r+44|0;q=r+40|0;t=r+36|0;s=r+32|0;o=r+28|0;f=r+24|0;g=r+20|0;p=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;l=r;k[m>>2]=a;k[n>>2]=b;k[q>>2]=c;k[t>>2]=d;k[s>>2]=e;k[o>>2]=0;k[f>>2]=1;k[p>>2]=k[t>>2];e=qI(k[m>>2]|0,k[s>>2]|0,h)|0;k[o>>2]=e;k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[n>>2]|0))break;k[f>>2]=k[f>>2]<<4;k[g>>2]=(k[g>>2]|0)+1}k[g>>2]=1;while(1){if(!((k[g>>2]|0)<(k[n>>2]|0)?(k[o>>2]|0)==0:0))break;k[i>>2]=((k[q>>2]|0)/(k[f>>2]|0)|0|0)%16|0;k[j>>2]=(k[(k[p>>2]|0)+12>>2]|0)+((k[i>>2]|0)*56|0);do if(!(k[(k[j>>2]|0)+48>>2]|0)){t=xI(16)|0;k[l>>2]=t;if(!(k[l>>2]|0)){k[o>>2]=7;break}else{t=qI(k[m>>2]|0,k[l>>2]|0,(k[j>>2]|0)+48|0)|0;k[o>>2]=t;break}}while(0);if(!(k[o>>2]|0)){k[p>>2]=k[(k[(k[j>>2]|0)+48>>2]|0)+4>>2];k[f>>2]=(k[f>>2]|0)/16|0}k[g>>2]=(k[g>>2]|0)+1}a=k[h>>2]|0;if(!(k[o>>2]|0)){k[(k[(k[p>>2]|0)+12>>2]|0)+(((k[q>>2]|0)%16|0)*56|0)+48>>2]=a;t=k[o>>2]|0;u=r;return t|0}else{Fs(a);t=k[o>>2]|0;u=r;return t|0}return 0}function BI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;l=u;u=u+48|0;n=l+32|0;m=l+28|0;o=l+8|0;j=l+24|0;g=l+20|0;h=l+16|0;i=l;k[n>>2]=a;k[m>>2]=b;b=o;k[b>>2]=c;k[b+4>>2]=d;k[j>>2]=e;k[g>>2]=f;f=o;f=hI(k[n>>2]|0,k[j>>2]|0,k[m>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[h>>2]=f;if(!(k[h>>2]|0)){n=i;k[n>>2]=0;k[n+4>>2]=0;n=iI(k[j>>2]|0,i)|0;k[h>>2]=n;n=k[j>>2]|0;o=i;o=i0(k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;n=(k[j>>2]|0)+8|0;k[n>>2]=o;k[n+4>>2]=M;n=i;o=k[g>>2]|0;m=o;n=i0(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[o>>2]=n;k[o+4>>2]=M}if(k[h>>2]|0){o=k[h>>2]|0;u=l;return o|0}o=eI(k[j>>2]|0)|0;k[h>>2]=o;o=k[h>>2]|0;u=l;return o|0}function CI(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (l[(k[b>>2]|0)+66>>0]|0|0)!=1|0}function DI(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+8|0;e=d+4|0;c=d;k[b>>2]=a;a=EI(k[(k[b>>2]|0)+16>>2]|0,e)|0;k[c>>2]=a;k[(k[b>>2]|0)+56>>2]=0;if(!(k[e>>2]|0)){e=k[c>>2]|0;u=d;return e|0}i[(k[b>>2]|0)+2>>0]=1;e=k[c>>2]|0;u=d;return e|0}function EI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+66>>0]|0|0)>=3)a=aE(k[d>>2]|0)|0;else a=0;k[f>>2]=a;if(k[f>>2]|0){k[k[e>>2]>>2]=1;k[c>>2]=k[f>>2];f=k[c>>2]|0;u=g;return f|0}else{k[k[e>>2]>>2]=(l[(k[d>>2]|0)+66>>0]|0|0)!=1?1:0;k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}return 0}function FI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;if(!(i[(k[c>>2]|0)+56>>0]|0)){k[k[d>>2]>>2]=k[k[a+36>>2]>>2];k[e>>2]=(k[(k[c>>2]|0)+36>>2]|0)+8;f=k[e>>2]|0;u=g;return f|0}b=k[c>>2]|0;if(i[a+57>>0]|0)k[f>>2]=k[b+16>>2];else k[f>>2]=(k[(k[b+20>>2]|0)+12>>2]|0)+((k[(k[(k[(k[c>>2]|0)+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);k[k[d>>2]>>2]=k[(k[f>>2]|0)+20>>2];k[e>>2]=k[(k[f>>2]|0)+32>>2];f=k[e>>2]|0;u=g;return f|0}function GI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;h=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;q=s+16|0;r=s+12|0;e=s+8|0;f=s+4|0;g=s;k[h>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;if(k[k[p>>2]>>2]|0){u=s;return}k[r>>2]=k[(k[h>>2]|0)+56>>2];k[e>>2]=(k[(k[h>>2]|0)+64>>2]|0)+(k[n>>2]<<1);k[q>>2]=(l[k[e>>2]>>0]|0)<<8|(l[(k[e>>2]|0)+1>>0]|0);k[g>>2]=l[(k[h>>2]|0)+5>>0];if((k[q>>2]|0)>>>0>=((l[(k[r>>2]|0)+((k[g>>2]|0)+5)>>0]|0)<<8|(l[(k[r>>2]|0)+((k[g>>2]|0)+5)+1>>0]|0))>>>0?((k[q>>2]|0)+(k[o>>2]|0)|0)>>>0<=(k[(k[(k[h>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){q=ZI(k[h>>2]|0,k[q>>2]&65535,k[o>>2]&65535)|0;k[f>>2]=q;if(k[f>>2]|0){k[k[p>>2]>>2]=k[f>>2];u=s;return}q=(k[h>>2]|0)+18|0;j[q>>1]=(j[q>>1]|0)+-1<<16>>16;if(!(m[(k[h>>2]|0)+18>>1]|0)){q=(k[r>>2]|0)+((k[g>>2]|0)+1)|0;i[q>>0]=0;i[q+1>>0]=0;i[q+2>>0]=0;i[q+3>>0]=0;i[(k[r>>2]|0)+((k[g>>2]|0)+7)>>0]=0;i[(k[r>>2]|0)+((k[g>>2]|0)+5)>>0]=(k[(k[(k[h>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;i[(k[r>>2]|0)+((k[g>>2]|0)+5)+1>>0]=k[(k[(k[h>>2]|0)+52>>2]|0)+36>>2];j[(k[h>>2]|0)+16>>1]=(k[(k[(k[h>>2]|0)+52>>2]|0)+36>>2]|0)-(l[(k[h>>2]|0)+5>>0]|0)-(l[(k[h>>2]|0)+6>>0]|0)-8;u=s;return}else{u0(k[e>>2]|0,(k[e>>2]|0)+2|0,(m[(k[h>>2]|0)+18>>1]|0)-(k[n>>2]|0)<<1|0)|0;i[(k[r>>2]|0)+((k[g>>2]|0)+3)>>0]=(m[(k[h>>2]|0)+18>>1]|0)>>8;i[(k[r>>2]|0)+((k[g>>2]|0)+3)+1>>0]=j[(k[h>>2]|0)+18>>1];r=(k[h>>2]|0)+16|0;j[r>>1]=(m[r>>1]|0)+2;u=s;return}}r=un(64508)|0;k[k[p>>2]>>2]=r;u=s;return}function HI(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+48|0;w=z+44|0;x=z+40|0;y=z+36|0;h=z+32|0;n=z+28|0;o=z+24|0;p=z+20|0;q=z+16|0;r=z+12|0;s=z+8|0;t=z+4|0;v=z;k[w>>2]=a;k[x>>2]=b;k[y>>2]=c;k[h>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=0;if((l[(k[w>>2]|0)+1>>0]|0)==0?((k[h>>2]|0)+2|0)<=(m[(k[w>>2]|0)+16>>1]|0):0){g=Tn(k[(k[w>>2]|0)+72>>2]|0)|0;k[v>>2]=g;if(k[v>>2]|0){k[k[p>>2]>>2]=k[v>>2];u=z;return}k[s>>2]=k[(k[w>>2]|0)+56>>2];g=$I(k[w>>2]|0,k[h>>2]|0,q)|0;k[v>>2]=g;if(k[v>>2]|0){k[k[p>>2]>>2]=k[v>>2];u=z;return}g=(k[w>>2]|0)+16|0;j[g>>1]=(m[g>>1]|0)-(2+(k[h>>2]|0)&65535);r0((k[s>>2]|0)+(k[q>>2]|0)|0,k[y>>2]|0,k[h>>2]|0)|0;if(k[o>>2]|0)Xn((k[s>>2]|0)+(k[q>>2]|0)|0,k[o>>2]|0);k[t>>2]=(k[(k[w>>2]|0)+64>>2]|0)+(k[x>>2]<<1);u0((k[t>>2]|0)+2|0,k[t>>2]|0,(m[(k[w>>2]|0)+18>>1]|0)-(k[x>>2]|0)<<1|0)|0;i[k[t>>2]>>0]=k[q>>2]>>8;i[(k[t>>2]|0)+1>>0]=k[q>>2];g=(k[w>>2]|0)+18|0;j[g>>1]=(j[g>>1]|0)+1<<16>>16;g=(k[s>>2]|0)+((l[(k[w>>2]|0)+5>>0]|0)+4)|0;x=(i[g>>0]|0)+1<<24>>24;i[g>>0]=x;if(!(x&255)){x=(k[s>>2]|0)+((l[(k[w>>2]|0)+5>>0]|0)+3)|0;i[x>>0]=(i[x>>0]|0)+1<<24>>24}if(!(i[(k[(k[w>>2]|0)+52>>2]|0)+17>>0]|0)){u=z;return}tq(k[w>>2]|0,k[y>>2]|0,k[p>>2]|0);u=z;return}if(k[n>>2]|0){r0(k[n>>2]|0,k[y>>2]|0,k[h>>2]|0)|0;k[y>>2]=k[n>>2]}if(k[o>>2]|0)Xn(k[y>>2]|0,k[o>>2]|0);f=(k[w>>2]|0)+1|0;g=i[f>>0]|0;i[f>>0]=g+1<<24>>24;k[r>>2]=g&255;k[(k[w>>2]|0)+32+(k[r>>2]<<2)>>2]=k[y>>2];j[(k[w>>2]|0)+22+(k[r>>2]<<1)>>1]=k[x>>2];u=z;return}function II(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0;q=u;u=u+64|0;b=q+32|0;d=q+28|0;e=q+24|0;f=q+36|0;g=q+20|0;h=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;c=q;k[b>>2]=a;k[d>>2]=0;k[e>>2]=(k[(k[(k[b>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;k[g>>2]=0;do{k[h>>2]=i[(k[b>>2]|0)+68>>0];k[n>>2]=k[(k[b>>2]|0)+120+(k[h>>2]<<2)>>2];a=i[(k[n>>2]|0)+1>>0]|0;if(!(k[h>>2]|0)){if(!(a<<24>>24))break;a=JI(k[n>>2]|0,(k[b>>2]|0)+120+4|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){i[(k[b>>2]|0)+68>>0]=1;j[(k[b>>2]|0)+80>>1]=0;j[(k[b>>2]|0)+80+2>>1]=0}}else{if((a&255|0)==0?(m[(k[n>>2]|0)+16>>1]|0)<=(k[e>>2]|0):0)break;k[o>>2]=k[(k[b>>2]|0)+120+((k[h>>2]|0)-1<<2)>>2];k[p>>2]=m[(k[b>>2]|0)+80+((k[h>>2]|0)-1<<1)>>1];a=Tn(k[(k[o>>2]|0)+72>>2]|0)|0;k[d>>2]=a;do if(!(k[d>>2]|0)){if((((l[(k[n>>2]|0)+3>>0]|0?(l[(k[n>>2]|0)+1>>0]|0)==1:0)?(m[(k[n>>2]|0)+22>>1]|0)==(m[(k[n>>2]|0)+18>>1]|0):0)?(k[(k[o>>2]|0)+84>>2]|0)!=1:0)?(m[(k[o>>2]|0)+18>>1]|0)==(k[p>>2]|0):0){a=KI(k[o>>2]|0,k[n>>2]|0,f)|0;k[d>>2]=a;break}a=Il(k[(k[(k[b>>2]|0)+4>>2]|0)+32>>2]|0)|0;k[c>>2]=a;a=LI(k[o>>2]|0,k[p>>2]|0,k[c>>2]|0,(k[h>>2]|0)==1&1,l[(k[b>>2]|0)+67>>0]&1)|0;k[d>>2]=a;if(k[g>>2]|0)Ll(k[g>>2]|0);k[g>>2]=k[c>>2]}while(0);i[(k[n>>2]|0)+1>>0]=0;mq(k[n>>2]|0);a=(k[b>>2]|0)+68|0;i[a>>0]=(i[a>>0]|0)+-1<<24>>24}}while(!(k[d>>2]|0));if(!(k[g>>2]|0)){p=k[d>>2]|0;u=q;return p|0}Ll(k[g>>2]|0);p=k[d>>2]|0;u=q;return p|0}function JI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+32|0;c=m+24|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;k[h>>2]=0;k[j>>2]=k[(k[d>>2]|0)+52>>2];b=Tn(k[(k[d>>2]|0)+72>>2]|0)|0;k[f>>2]=b;if((k[f>>2]|0)==0?(b=lq(k[j>>2]|0,g,h,k[(k[d>>2]|0)+84>>2]|0,0)|0,k[f>>2]=b,RI(k[d>>2]|0,k[g>>2]|0,f),i[(k[j>>2]|0)+17>>0]|0):0)rq(k[j>>2]|0,k[h>>2]|0,5,k[(k[d>>2]|0)+84>>2]|0,f);if(k[f>>2]|0){k[k[e>>2]>>2]=0;mq(k[g>>2]|0);k[c>>2]=k[f>>2];j=k[c>>2]|0;u=m;return j|0}else{r0((k[g>>2]|0)+22|0,(k[d>>2]|0)+22|0,l[(k[d>>2]|0)+1>>0]<<1|0)|0;r0((k[g>>2]|0)+32|0,(k[d>>2]|0)+32|0,l[(k[d>>2]|0)+1>>0]<<2|0)|0;i[(k[g>>2]|0)+1>>0]=i[(k[d>>2]|0)+1>>0]|0;br(k[d>>2]|0,l[k[(k[g>>2]|0)+56>>2]>>0]&-9);Xn((k[(k[d>>2]|0)+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0,k[h>>2]|0);k[k[e>>2]>>2]=k[g>>2];k[c>>2]=0;j=k[c>>2]|0;u=m;return j|0}return 0}function KI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+48|0;n=v+40|0;o=v+36|0;p=v+32|0;q=v+28|0;r=v+24|0;s=v+20|0;t=v+16|0;d=v+12|0;e=v+8|0;f=v+4|0;g=v+44|0;h=v;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[r>>2]=k[(k[p>>2]|0)+52>>2];if(!(m[(k[p>>2]|0)+18>>1]|0)){t=un(65006)|0;k[n>>2]=t;t=k[n>>2]|0;u=v;return t|0}c=lq(k[r>>2]|0,s,d,0,0)|0;k[t>>2]=c;if(!(k[t>>2]|0)){k[e>>2]=(k[q>>2]|0)+4;k[f>>2]=k[(k[p>>2]|0)+32>>2];c=Wb[k[(k[p>>2]|0)+76>>2]&255](k[p>>2]|0,k[f>>2]|0)|0;j[g>>1]=c;br(k[s>>2]|0,13);c=XI(k[s>>2]|0,1,f,g)|0;k[t>>2]=c;if(k[t>>2]|0){k[n>>2]=k[t>>2];t=k[n>>2]|0;u=v;return t|0}j[(k[s>>2]|0)+16>>1]=(k[(k[r>>2]|0)+36>>2]|0)-(m[(k[s>>2]|0)+14>>1]|0)-2-(m[g>>1]|0);if(i[(k[r>>2]|0)+17>>0]|0?(rq(k[r>>2]|0,k[d>>2]|0,5,k[(k[o>>2]|0)+84>>2]|0,t),(m[g>>1]|0)>(m[(k[s>>2]|0)+12>>1]|0)):0)tq(k[s>>2]|0,k[f>>2]|0,t);k[f>>2]=(k[(k[p>>2]|0)+56>>2]|0)+(m[(k[p>>2]|0)+20>>1]&(l[(k[(k[p>>2]|0)+64>>2]|0)+((m[(k[p>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|l[(k[(k[p>>2]|0)+64>>2]|0)+((m[(k[p>>2]|0)+18>>1]|0)-1<<1)+1>>0]));k[h>>2]=(k[f>>2]|0)+9;do{r=k[f>>2]|0;k[f>>2]=r+1;if(!(l[r>>0]&128))break}while((k[f>>2]|0)>>>0<(k[h>>2]|0)>>>0);k[h>>2]=(k[f>>2]|0)+9;do{r=k[f>>2]|0;k[f>>2]=r+1;r=i[r>>0]|0;c=k[e>>2]|0;k[e>>2]=c+1;i[c>>0]=r;if(!(r&128))break}while((k[f>>2]|0)>>>0<(k[h>>2]|0)>>>0);if(!(k[t>>2]|0))HI(k[o>>2]|0,m[(k[o>>2]|0)+18>>1]|0,k[q>>2]|0,(k[e>>2]|0)-(k[q>>2]|0)|0,0,k[(k[p>>2]|0)+84>>2]|0,t);Xn((k[(k[o>>2]|0)+56>>2]|0)+((l[(k[o>>2]|0)+5>>0]|0)+8)|0,k[d>>2]|0);mq(k[s>>2]|0)}k[n>>2]=k[t>>2];t=k[n>>2]|0;u=v;return t|0}function LI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=u;u=u+448|0;va=Da+412|0;wa=Da+408|0;f=Da+404|0;fa=Da+400|0;Ca=Da+396|0;C=Da+392|0;ga=Da+388|0;h=Da+384|0;ha=Da+380|0;ia=Da+376|0;ja=Da+372|0;D=Da+368|0;E=Da+364|0;F=Da+360|0;ka=Da+356|0;la=Da+430|0;ma=Da+352|0;na=Da+348|0;G=Da+344|0;n=Da+340|0;H=Da+336|0;o=Da+332|0;oa=Da+320|0;pa=Da+300|0;I=Da+296|0;p=Da+288|0;qa=Da+264|0;ra=Da+244|0;sa=Da+224|0;q=Da+220|0;J=Da+216|0;ta=Da+432|0;K=Da+196|0;L=Da+176|0;M=Da+420|0;ua=Da+160|0;g=Da+152|0;r=Da+148|0;s=Da+144|0;t=Da+140|0;v=Da+418|0;w=Da+136|0;x=Da+132|0;y=Da+416|0;z=Da+128|0;A=Da+124|0;B=Da+120|0;N=Da+116|0;O=Da+112|0;P=Da+108|0;Q=Da+104|0;R=Da+100|0;S=Da+96|0;T=Da+92|0;U=Da+88|0;V=Da+84|0;W=Da+80|0;X=Da+76|0;Y=Da+72|0;Z=Da+68|0;_=Da+64|0;$=Da+60|0;aa=Da+56|0;ba=Da+52|0;ca=Da+48|0;da=Da+44|0;ea=Da;xa=Da+40|0;ya=Da+36|0;za=Da+32|0;Aa=Da+28|0;Ba=Da+24|0;k[wa>>2]=a;k[f>>2]=b;k[fa>>2]=c;k[Ca>>2]=d;k[C>>2]=e;k[h>>2]=0;k[ha>>2]=0;k[ka>>2]=0;k[n>>2]=0;k[H>>2]=0;i[ta>>0]=0;i[ta+1>>0]=0;i[ta+2>>0]=0;i[ta+3>>0]=0;i[ta+4>>0]=0;k[ua>>2]=0;k[ua+8>>2]=0;k[ga>>2]=k[(k[wa>>2]|0)+52>>2];if(!(k[fa>>2]|0)){k[va>>2]=7;Ca=k[va>>2]|0;u=Da;return Ca|0}k[ja>>2]=(l[(k[wa>>2]|0)+1>>0]|0)+(m[(k[wa>>2]|0)+18>>1]|0);if((k[ja>>2]|0)<2)k[F>>2]=0;else{do if(k[f>>2]|0)if((k[f>>2]|0)==(k[ja>>2]|0)){k[F>>2]=(k[ja>>2]|0)-2+(k[C>>2]|0);break}else{k[F>>2]=(k[f>>2]|0)-1;break}else k[F>>2]=0;while(0);k[ja>>2]=2-(k[C>>2]|0)}k[ia>>2]=(k[ja>>2]|0)+1;a=k[(k[wa>>2]|0)+56>>2]|0;b=k[wa>>2]|0;if(((k[ja>>2]|0)+(k[F>>2]|0)-(l[(k[wa>>2]|0)+1>>0]|0)|0)==(m[(k[wa>>2]|0)+18>>1]|0))k[I>>2]=a+((l[b+5>>0]|0)+8);else k[I>>2]=a+(m[b+20>>1]&(l[(k[(k[wa>>2]|0)+64>>2]|0)+((k[ja>>2]|0)+(k[F>>2]|0)-(l[(k[wa>>2]|0)+1>>0]|0)<<1)>>0]<<8|l[(k[(k[wa>>2]|0)+64>>2]|0)+((k[ja>>2]|0)+(k[F>>2]|0)-(l[(k[wa>>2]|0)+1>>0]|0)<<1)+1>>0]));f=dm(k[I>>2]|0)|0;k[J>>2]=f;while(1){f=eE(k[ga>>2]|0,k[J>>2]|0,oa+(k[ja>>2]<<2)|0,0,0)|0;k[ka>>2]=f;if(k[ka>>2]|0){b=16;break}k[h>>2]=(k[h>>2]|0)+(1+(m[(k[oa+(k[ja>>2]<<2)>>2]|0)+18>>1]|0)+(l[(k[oa+(k[ja>>2]<<2)>>2]|0)+1>>0]|0));f=k[ja>>2]|0;k[ja>>2]=f+-1;if(!f){b=26;break}if(((k[ja>>2]|0)+(k[F>>2]|0)|0)==(m[(k[wa>>2]|0)+22>>1]|0)?l[(k[wa>>2]|0)+1>>0]|0:0){k[p+(k[ja>>2]<<2)>>2]=k[(k[wa>>2]|0)+32>>2];f=dm(k[p+(k[ja>>2]<<2)>>2]|0)|0;k[J>>2]=f;f=(Wb[k[(k[wa>>2]|0)+76>>2]&255](k[wa>>2]|0,k[p+(k[ja>>2]<<2)>>2]|0)|0)&65535;k[sa+(k[ja>>2]<<2)>>2]=f;i[(k[wa>>2]|0)+1>>0]=0;continue}k[p+(k[ja>>2]<<2)>>2]=(k[(k[wa>>2]|0)+56>>2]|0)+(m[(k[wa>>2]|0)+20>>1]&(l[(k[(k[wa>>2]|0)+64>>2]|0)+((k[ja>>2]|0)+(k[F>>2]|0)-(l[(k[wa>>2]|0)+1>>0]|0)<<1)>>0]<<8|l[(k[(k[wa>>2]|0)+64>>2]|0)+((k[ja>>2]|0)+(k[F>>2]|0)-(l[(k[wa>>2]|0)+1>>0]|0)<<1)+1>>0]));f=dm(k[p+(k[ja>>2]<<2)>>2]|0)|0;k[J>>2]=f;f=(Wb[k[(k[wa>>2]|0)+76>>2]&255](k[wa>>2]|0,k[p+(k[ja>>2]<<2)>>2]|0)|0)&65535;k[sa+(k[ja>>2]<<2)>>2]=f;if(m[(k[ga>>2]|0)+22>>1]&4|0){k[g>>2]=(k[p+(k[ja>>2]<<2)>>2]|0)-(k[(k[wa>>2]|0)+56>>2]|0);if(((k[g>>2]|0)+(k[sa+(k[ja>>2]<<2)>>2]|0)|0)>(k[(k[ga>>2]|0)+36>>2]|0)){b=23;break}r0((k[fa>>2]|0)+(k[g>>2]|0)|0,k[p+(k[ja>>2]<<2)>>2]|0,k[sa+(k[ja>>2]<<2)>>2]|0)|0;k[p+(k[ja>>2]<<2)>>2]=(k[fa>>2]|0)+((k[p+(k[ja>>2]<<2)>>2]|0)-(k[(k[wa>>2]|0)+56>>2]|0))}GI(k[wa>>2]|0,(k[ja>>2]|0)+(k[F>>2]|0)-(l[(k[wa>>2]|0)+1>>0]|0)|0,k[sa+(k[ja>>2]<<2)>>2]|0,ka)}a:do if((b|0)==16)w0(oa|0,0,(k[ja>>2]|0)+1<<2|0)|0;else if((b|0)==23){Ca=un(65347)|0;k[ka>>2]=Ca;w0(oa|0,0,(k[ja>>2]|0)+1<<2|0)|0}else if((b|0)==26){k[h>>2]=(k[h>>2]|0)+3&-4;k[o>>2]=(k[h>>2]<<2)+(k[h>>2]<<1)+(k[(k[ga>>2]|0)+32>>2]|0);o=MI(k[o>>2]|0)|0;k[ua+8>>2]=o;if(!(k[ua+8>>2]|0)){k[ka>>2]=7;break}k[ua+12>>2]=(k[ua+8>>2]|0)+(k[h>>2]<<2);k[q>>2]=(k[ua+12>>2]|0)+(k[h>>2]<<1);k[ua+4>>2]=k[oa>>2];j[la>>1]=l[(k[ua+4>>2]|0)+4>>0]<<2;k[ma>>2]=l[(k[ua+4>>2]|0)+3>>0];k[ja>>2]=0;while(1){if((k[ja>>2]|0)>=(k[ia>>2]|0))break;k[r>>2]=k[oa+(k[ja>>2]<<2)>>2];k[s>>2]=m[(k[r>>2]|0)+18>>1];k[t>>2]=k[(k[r>>2]|0)+56>>2];j[v>>1]=j[(k[r>>2]|0)+20>>1]|0;k[w>>2]=(k[t>>2]|0)+(m[(k[r>>2]|0)+14>>1]|0);if((l[k[(k[r>>2]|0)+56>>2]>>0]|0)!=(l[k[(k[oa>>2]|0)+56>>2]>>0]|0)){b=31;break}w0((k[ua+12>>2]|0)+(k[ua>>2]<<1)|0,0,(k[s>>2]|0)+(l[(k[r>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((l[(k[r>>2]|0)+1>>0]|0)>0){k[s>>2]=m[(k[r>>2]|0)+22>>1];k[D>>2]=0;while(1){if((k[D>>2]|0)>=(k[s>>2]|0))break;k[(k[ua+8>>2]|0)+(k[ua>>2]<<2)>>2]=(k[t>>2]|0)+(m[v>>1]&(l[k[w>>2]>>0]<<8|l[(k[w>>2]|0)+1>>0]));k[w>>2]=(k[w>>2]|0)+2;k[ua>>2]=(k[ua>>2]|0)+1;k[D>>2]=(k[D>>2]|0)+1}k[E>>2]=0;while(1){if((k[E>>2]|0)>=(l[(k[r>>2]|0)+1>>0]|0))break b;k[(k[ua+8>>2]|0)+(k[ua>>2]<<2)>>2]=k[(k[r>>2]|0)+32+(k[E>>2]<<2)>>2];k[ua>>2]=(k[ua>>2]|0)+1;k[E>>2]=(k[E>>2]|0)+1}}while(0);k[x>>2]=(k[t>>2]|0)+(m[(k[r>>2]|0)+14>>1]|0)+(m[(k[r>>2]|0)+18>>1]<<1);while(1){if((k[w>>2]|0)>>>0>=(k[x>>2]|0)>>>0)break;k[(k[ua+8>>2]|0)+(k[ua>>2]<<2)>>2]=(k[t>>2]|0)+(m[v>>1]&(l[k[w>>2]>>0]<<8|l[(k[w>>2]|0)+1>>0]));k[w>>2]=(k[w>>2]|0)+2;k[ua>>2]=(k[ua>>2]|0)+1}k[ra+(k[ja>>2]<<2)>>2]=k[ua>>2];if(!(k[ma>>2]|0?1:(k[ja>>2]|0)>=((k[ia>>2]|0)-1|0))){j[y>>1]=k[sa+(k[ja>>2]<<2)>>2];j[(k[ua+12>>2]|0)+(k[ua>>2]<<1)>>1]=j[y>>1]|0;k[z>>2]=(k[q>>2]|0)+(k[n>>2]|0);k[n>>2]=(k[n>>2]|0)+(m[y>>1]|0);r0(k[z>>2]|0,k[p+(k[ja>>2]<<2)>>2]|0,m[y>>1]|0)|0;k[(k[ua+8>>2]|0)+(k[ua>>2]<<2)>>2]=(k[z>>2]|0)+(m[la>>1]|0);j[(k[ua+12>>2]|0)+(k[ua>>2]<<1)>>1]=(m[(k[ua+12>>2]|0)+(k[ua>>2]<<1)>>1]|0)-(m[la>>1]|0);c:do if(i[(k[r>>2]|0)+4>>0]|0)while(1){if((m[(k[ua+12>>2]|0)+(k[ua>>2]<<1)>>1]|0)>=4)break c;h=k[q>>2]|0;o=k[n>>2]|0;k[n>>2]=o+1;i[h+o>>0]=0;o=(k[ua+12>>2]|0)+(k[ua>>2]<<1)|0;j[o>>1]=(j[o>>1]|0)+1<<16>>16}else{o=k[(k[ua+8>>2]|0)+(k[ua>>2]<<2)>>2]|0;h=(k[(k[r>>2]|0)+56>>2]|0)+8|0;i[o>>0]=i[h>>0]|0;i[o+1>>0]=i[h+1>>0]|0;i[o+2>>0]=i[h+2>>0]|0;i[o+3>>0]=i[h+3>>0]|0}while(0);k[ua>>2]=(k[ua>>2]|0)+1}k[ja>>2]=(k[ja>>2]|0)+1}if((b|0)==31){Ca=un(65414)|0;k[ka>>2]=Ca;break}k[na>>2]=(k[(k[ga>>2]|0)+36>>2]|0)-12+(m[la>>1]|0);k[ja>>2]=0;while(1){if((k[ja>>2]|0)>=(k[ia>>2]|0))break;k[A>>2]=k[oa+(k[ja>>2]<<2)>>2];k[sa+(k[ja>>2]<<2)>>2]=(k[na>>2]|0)-(m[(k[A>>2]|0)+16>>1]|0);if((k[sa+(k[ja>>2]<<2)>>2]|0)<0){b=52;break}k[D>>2]=0;while(1){if((k[D>>2]|0)>=(l[(k[A>>2]|0)+1>>0]|0))break;y=2+((Wb[k[(k[A>>2]|0)+76>>2]&255](k[A>>2]|0,k[(k[A>>2]|0)+32+(k[D>>2]<<2)>>2]|0)|0)&65535)|0;z=sa+(k[ja>>2]<<2)|0;k[z>>2]=(k[z>>2]|0)+y;k[D>>2]=(k[D>>2]|0)+1}k[qa+(k[ja>>2]<<2)>>2]=k[ra+(k[ja>>2]<<2)>>2];k[ja>>2]=(k[ja>>2]|0)+1}if((b|0)==52){Ca=un(65512)|0;k[ka>>2]=Ca;break}k[E>>2]=k[ia>>2];k[ja>>2]=0;d:while(1){if((k[ja>>2]|0)>=(k[E>>2]|0)){b=83;break}while(1){if((k[sa+(k[ja>>2]<<2)>>2]|0)<=(k[na>>2]|0))break;if(((k[ja>>2]|0)+1|0)>=(k[E>>2]|0)){k[E>>2]=(k[ja>>2]|0)+2;if((k[E>>2]|0)>5){b=62;break d}k[sa+((k[E>>2]|0)-1<<2)>>2]=0;k[qa+((k[E>>2]|0)-1<<2)>>2]=k[ua>>2]}A=2+((NI(ua,(k[qa+(k[ja>>2]<<2)>>2]|0)-1|0)|0)&65535)|0;k[B>>2]=A;A=sa+(k[ja>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)-(k[B>>2]|0);do if(!(k[ma>>2]|0))if((k[qa+(k[ja>>2]<<2)>>2]|0)<(k[ua>>2]|0)){A=2+((NI(ua,k[qa+(k[ja>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;break}else{k[B>>2]=0;break}while(0);A=sa+((k[ja>>2]|0)+1<<2)|0;k[A>>2]=(k[A>>2]|0)+(k[B>>2]|0);A=qa+(k[ja>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+-1}while(1){if((k[qa+(k[ja>>2]<<2)>>2]|0)>=(k[ua>>2]|0))break;A=2+((NI(ua,k[qa+(k[ja>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;if(((k[sa+(k[ja>>2]<<2)>>2]|0)+(k[B>>2]|0)|0)>(k[na>>2]|0))break;A=sa+(k[ja>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+(k[B>>2]|0);A=qa+(k[ja>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+1;do if(!(k[ma>>2]|0))if((k[qa+(k[ja>>2]<<2)>>2]|0)<(k[ua>>2]|0)){A=2+((NI(ua,k[qa+(k[ja>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;break}else{k[B>>2]=0;break}while(0);A=sa+((k[ja>>2]|0)+1<<2)|0;k[A>>2]=(k[A>>2]|0)-(k[B>>2]|0)}a=k[ja>>2]|0;if((k[qa+(k[ja>>2]<<2)>>2]|0)<(k[ua>>2]|0)){if((k[ja>>2]|0)>0)b=k[qa+((k[ja>>2]|0)-1<<2)>>2]|0;else b=0;if((k[qa+(a<<2)>>2]|0)<=(b|0)){b=81;break}}else k[E>>2]=a+1;k[ja>>2]=(k[ja>>2]|0)+1}if((b|0)==62){Ca=un(65524)|0;k[ka>>2]=Ca;break}else if((b|0)==81){Ca=un(65557)|0;k[ka>>2]=Ca;break}else if((b|0)==83){k[ja>>2]=(k[E>>2]|0)-1;while(1){if((k[ja>>2]|0)<=0)break;k[N>>2]=k[sa+(k[ja>>2]<<2)>>2];k[O>>2]=k[sa+((k[ja>>2]|0)-1<<2)>>2];k[P>>2]=(k[qa+((k[ja>>2]|0)-1<<2)>>2]|0)-1;k[Q>>2]=(k[P>>2]|0)+1-(k[ma>>2]|0);NI(ua,k[Q>>2]|0)|0;do{NI(ua,k[P>>2]|0)|0;if(k[N>>2]|0){if(k[C>>2]|0)break;if(((k[N>>2]|0)+(m[(k[ua+12>>2]|0)+(k[Q>>2]<<1)>>1]|0)+2|0)>((k[O>>2]|0)-((m[(k[ua+12>>2]|0)+(k[P>>2]<<1)>>1]|0)+((k[ja>>2]|0)==((k[E>>2]|0)-1|0)?0:2))|0))break}k[N>>2]=(k[N>>2]|0)+((m[(k[ua+12>>2]|0)+(k[Q>>2]<<1)>>1]|0)+2);k[O>>2]=(k[O>>2]|0)-((m[(k[ua+12>>2]|0)+(k[P>>2]<<1)>>1]|0)+2);k[qa+((k[ja>>2]|0)-1<<2)>>2]=k[P>>2];k[P>>2]=(k[P>>2]|0)+-1;k[Q>>2]=(k[Q>>2]|0)+-1}while((k[P>>2]|0)>=0);k[sa+(k[ja>>2]<<2)>>2]=k[N>>2];k[sa+((k[ja>>2]|0)-1<<2)>>2]=k[O>>2];if((k[ja>>2]|0)>1)a=k[qa+((k[ja>>2]|0)-2<<2)>>2]|0;else a=0;if((k[qa+((k[ja>>2]|0)-1<<2)>>2]|0)<=(a|0)){b=93;break}k[ja>>2]=(k[ja>>2]|0)+-1}if((b|0)==93){Ca=un(65599)|0;k[ka>>2]=Ca;break}k[G>>2]=l[k[(k[oa>>2]|0)+56>>2]>>0];k[ja>>2]=0;while(1){if((k[ja>>2]|0)>=(k[E>>2]|0))break;if((k[ja>>2]|0)<(k[ia>>2]|0)){Q=k[oa+(k[ja>>2]<<2)>>2]|0;k[pa+(k[ja>>2]<<2)>>2]=Q;k[R>>2]=Q;k[oa+(k[ja>>2]<<2)>>2]=0;Q=Tn(k[(k[R>>2]|0)+72>>2]|0)|0;k[ka>>2]=Q;k[ha>>2]=(k[ha>>2]|0)+1;if(k[ka>>2]|0)break a}else{Q=lq(k[ga>>2]|0,R,J,k[C>>2]|0?1:k[J>>2]|0,0)|0;k[ka>>2]=Q;if(k[ka>>2]|0)break a;br(k[R>>2]|0,k[G>>2]|0);k[pa+(k[ja>>2]<<2)>>2]=k[R>>2];k[ha>>2]=(k[ha>>2]|0)+1;k[ra+(k[ja>>2]<<2)>>2]=k[ua>>2];if(i[(k[ga>>2]|0)+17>>0]|0?(rq(k[ga>>2]|0,k[(k[R>>2]|0)+84>>2]|0,5,k[(k[wa>>2]|0)+84>>2]|0,ka),k[ka>>2]|0):0)break a}k[ja>>2]=(k[ja>>2]|0)+1}k[ja>>2]=0;e:while(1){if((k[ja>>2]|0)>=(k[ha>>2]|0))break;R=k[(k[pa+(k[ja>>2]<<2)>>2]|0)+84>>2]|0;k[K+(k[ja>>2]<<2)>>2]=R;k[L+(k[ja>>2]<<2)>>2]=R;j[M+(k[ja>>2]<<1)>>1]=j[(k[(k[pa+(k[ja>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;k[D>>2]=0;while(1){if((k[D>>2]|0)>=(k[ja>>2]|0))break;if((k[K+(k[D>>2]<<2)>>2]|0)==(k[K+(k[ja>>2]<<2)>>2]|0)){b=108;break e}k[D>>2]=(k[D>>2]|0)+1}k[ja>>2]=(k[ja>>2]|0)+1}if((b|0)==108){Ca=un(65673)|0;k[ka>>2]=Ca;break}k[ja>>2]=0;while(1){if((k[ja>>2]|0)>=(k[ha>>2]|0))break;k[S>>2]=0;k[D>>2]=1;while(1){if((k[D>>2]|0)>=(k[ha>>2]|0))break;if((k[L+(k[D>>2]<<2)>>2]|0)>>>0<(k[L+(k[S>>2]<<2)>>2]|0)>>>0)k[S>>2]=k[D>>2];k[D>>2]=(k[D>>2]|0)+1}k[J>>2]=k[L+(k[S>>2]<<2)>>2];k[L+(k[S>>2]<<2)>>2]=-1;if((k[S>>2]|0)!=(k[ja>>2]|0)){if((k[S>>2]|0)>(k[ja>>2]|0))OI(k[(k[pa+(k[S>>2]<<2)>>2]|0)+72>>2]|0,(k[(k[ga>>2]|0)+44>>2]|0)+(k[S>>2]|0)+1|0,0);OI(k[(k[pa+(k[ja>>2]<<2)>>2]|0)+72>>2]|0,k[J>>2]|0,j[M+(k[S>>2]<<1)>>1]|0);k[(k[pa+(k[ja>>2]<<2)>>2]|0)+84>>2]=k[J>>2]}k[ja>>2]=(k[ja>>2]|0)+1}Xn(k[I>>2]|0,k[(k[pa+((k[ha>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((k[G>>2]&8|0)==0?(k[ia>>2]|0)!=(k[ha>>2]|0):0){k[T>>2]=k[((k[ha>>2]|0)>(k[ia>>2]|0)?pa:oa)+((k[ia>>2]|0)-1<<2)>>2];S=(k[(k[pa+((k[ha>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;T=(k[(k[T>>2]|0)+56>>2]|0)+8|0;i[S>>0]=i[T>>0]|0;i[S+1>>0]=i[T+1>>0]|0;i[S+2>>0]=i[T+2>>0]|0;i[S+3>>0]=i[T+3>>0]|0}f:do if(i[(k[ga>>2]|0)+17>>0]|0){k[U>>2]=k[pa>>2];k[V>>2]=k[(k[U>>2]|0)+56>>2];k[W>>2]=(m[(k[U>>2]|0)+18>>1]|0)+(l[(k[U>>2]|0)+1>>0]|0);k[X>>2]=k[(k[ga>>2]|0)+36>>2];k[Y>>2]=0;k[Z>>2]=0;k[ja>>2]=0;while(1){if((k[ja>>2]|0)>=(k[ua>>2]|0))break f;k[_>>2]=k[(k[ua+8>>2]|0)+(k[ja>>2]<<2)>>2];if((k[ja>>2]|0)==(k[W>>2]|0)){S=(k[Z>>2]|0)+1|0;k[Z>>2]=S;T=k[Z>>2]|0;k[$>>2]=k[((S|0)<(k[ha>>2]|0)?pa+(T<<2)|0:oa+(T<<2)|0)>>2];k[W>>2]=(k[W>>2]|0)+((m[(k[$>>2]|0)+18>>1]|0)+(l[(k[$>>2]|0)+1>>0]|0)+(((k[ma>>2]|0)!=0^1)&1));k[V>>2]=k[(k[$>>2]|0)+56>>2]}if(!((k[ja>>2]|0)==(k[qa+(k[Y>>2]<<2)>>2]|0)?(T=(k[Y>>2]|0)+1|0,k[Y>>2]=T,k[U>>2]=k[pa+(T<<2)>>2],!(k[ma>>2]|0)):0))b=133;do if((b|0)==133){b=0;if((((k[Z>>2]|0)<(k[ha>>2]|0)?(k[(k[U>>2]|0)+84>>2]|0)==(k[K+(k[Z>>2]<<2)>>2]|0):0)?(k[_>>2]|0)>>>0>=(k[V>>2]|0)>>>0:0)?(k[_>>2]|0)>>>0<((k[V>>2]|0)+(k[X>>2]|0)|0)>>>0:0)break;if(!(j[la>>1]|0)){S=k[ga>>2]|0;T=dm(k[_>>2]|0)|0;rq(S,T,5,k[(k[U>>2]|0)+84>>2]|0,ka)}T=(NI(ua,k[ja>>2]|0)|0)&65535;if((T|0)>(m[(k[U>>2]|0)+12>>1]|0))tq(k[U>>2]|0,k[_>>2]|0,ka);if(k[ka>>2]|0)break a}while(0);k[ja>>2]=(k[ja>>2]|0)+1}}while(0);k[ja>>2]=0;while(1){if((k[ja>>2]|0)>=((k[ha>>2]|0)-1|0))break;k[da>>2]=k[pa+(k[ja>>2]<<2)>>2];k[D>>2]=k[qa+(k[ja>>2]<<2)>>2];k[aa>>2]=k[(k[ua+8>>2]|0)+(k[D>>2]<<2)>>2];k[ca>>2]=(m[(k[ua+12>>2]|0)+(k[D>>2]<<1)>>1]|0)+(m[la>>1]|0);k[ba>>2]=(k[fa>>2]|0)+(k[H>>2]|0);do if(i[(k[da>>2]|0)+4>>0]|0){if(k[ma>>2]|0){k[D>>2]=(k[D>>2]|0)+-1;Sb[k[(k[da>>2]|0)+80>>2]&255](k[da>>2]|0,k[(k[ua+8>>2]|0)+(k[D>>2]<<2)>>2]|0,ea);k[aa>>2]=k[ba>>2];$=ea;$=4+(iG((k[aa>>2]|0)+4|0,k[$>>2]|0,k[$+4>>2]|0)|0)|0;k[ca>>2]=$;k[ba>>2]=0;break}k[aa>>2]=(k[aa>>2]|0)+-4;if((m[(k[ua+12>>2]|0)+(k[D>>2]<<1)>>1]|0)==4){$=(Wb[k[(k[wa>>2]|0)+76>>2]&255](k[wa>>2]|0,k[aa>>2]|0)|0)&65535;k[ca>>2]=$}}else{$=(k[(k[da>>2]|0)+56>>2]|0)+8|0;_=k[aa>>2]|0;i[$>>0]=i[_>>0]|0;i[$+1>>0]=i[_+1>>0]|0;i[$+2>>0]=i[_+2>>0]|0;i[$+3>>0]=i[_+3>>0]|0}while(0);k[H>>2]=(k[H>>2]|0)+(k[ca>>2]|0);HI(k[wa>>2]|0,(k[F>>2]|0)+(k[ja>>2]|0)|0,k[aa>>2]|0,k[ca>>2]|0,k[ba>>2]|0,k[(k[da>>2]|0)+84>>2]|0,ka);if(k[ka>>2]|0)break a;k[ja>>2]=(k[ja>>2]|0)+1}k[ja>>2]=1-(k[ha>>2]|0);while(1){if((k[ja>>2]|0)>=(k[ha>>2]|0))break;fa=k[ja>>2]|0;k[xa>>2]=(k[ja>>2]|0)<0?0-fa|0:fa;do if(!(i[ta+(k[xa>>2]|0)>>0]|0)){if((k[ja>>2]|0)<0?(k[ra+((k[xa>>2]|0)-1<<2)>>2]|0)<(k[qa+((k[xa>>2]|0)-1<<2)>>2]|0):0)break;if(!(k[xa>>2]|0)){k[za>>2]=0;k[ya>>2]=0;k[Aa>>2]=k[qa>>2]}else{if((k[xa>>2]|0)<(k[ia>>2]|0))a=(k[ra+((k[xa>>2]|0)-1<<2)>>2]|0)+(((k[ma>>2]|0)!=0^1)&1)|0;else a=k[ua>>2]|0;k[za>>2]=a;k[ya>>2]=(k[qa+((k[xa>>2]|0)-1<<2)>>2]|0)+(((k[ma>>2]|0)!=0^1)&1);k[Aa>>2]=(k[qa+(k[xa>>2]<<2)>>2]|0)-(k[ya>>2]|0)}fa=PI(k[pa+(k[xa>>2]<<2)>>2]|0,k[za>>2]|0,k[ya>>2]|0,k[Aa>>2]|0,ua)|0;k[ka>>2]=fa;if(k[ka>>2]|0)break a;fa=ta+(k[xa>>2]|0)|0;i[fa>>0]=(i[fa>>0]|0)+1<<24>>24;j[(k[pa+(k[xa>>2]<<2)>>2]|0)+16>>1]=(k[na>>2]|0)-(k[sa+(k[xa>>2]<<2)>>2]|0)}while(0);k[ja>>2]=(k[ja>>2]|0)+1}if((k[Ca>>2]|0?(m[(k[wa>>2]|0)+18>>1]|0)==0:0)?(l[(k[wa>>2]|0)+5>>0]|0)<=(m[(k[pa>>2]|0)+16>>1]|0):0){Ca=QI(k[pa>>2]|0)|0;k[ka>>2]=Ca;RI(k[pa>>2]|0,k[wa>>2]|0,ka);GH(k[pa>>2]|0,ka)}else b=171;g:do if((b|0)==171?!(j[la>>1]|0?1:(l[(k[ga>>2]|0)+17>>0]|0)==0):0){k[ja>>2]=0;while(1){if((k[ja>>2]|0)>=(k[ha>>2]|0))break g;Ca=dm((k[(k[pa+(k[ja>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;k[Ba>>2]=Ca;rq(k[ga>>2]|0,k[Ba>>2]|0,5,k[(k[pa+(k[ja>>2]<<2)>>2]|0)+84>>2]|0,ka);k[ja>>2]=(k[ja>>2]|0)+1}}while(0);k[ja>>2]=k[ha>>2];while(1){if((k[ja>>2]|0)>=(k[ia>>2]|0))break a;GH(k[oa+(k[ja>>2]<<2)>>2]|0,ka);k[ja>>2]=(k[ja>>2]|0)+1}}}while(0);SI(k[ua+8>>2]|0);k[ja>>2]=0;while(1){if((k[ja>>2]|0)>=(k[ia>>2]|0))break;mq(k[oa+(k[ja>>2]<<2)>>2]|0);k[ja>>2]=(k[ja>>2]|0)+1}k[ja>>2]=0;while(1){if((k[ja>>2]|0)>=(k[ha>>2]|0))break;mq(k[pa+(k[ja>>2]<<2)>>2]|0);k[ja>>2]=(k[ja>>2]|0)+1}k[va>>2]=k[ka>>2];Ca=k[va>>2]|0;u=Da;return Ca|0}function MI(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;Dd(k[13620]|0);Rd(8,k[b>>2]|0);if(k[13626]|0?(k[51]|0)>=(k[b>>2]|0):0){k[c>>2]=k[13625];k[13625]=k[k[13625]>>2];k[13626]=(k[13626]|0)+-1;Vd(3,1);Ed(k[13620]|0);c=k[c>>2]|0;u=d;return c|0}Ed(k[13620]|0);b=k[b>>2]|0;b=Pd(b,((b|0)<0)<<31>>31)|0;k[c>>2]=b;if(!((k[2]|0)!=0&(k[c>>2]|0)!=0)){c=k[c>>2]|0;u=d;return c|0}Dd(k[13620]|0);Vd(4,Ud(k[c>>2]|0)|0);Ed(k[13620]|0);c=k[c>>2]|0;u=d;return c|0}function NI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;a=k[f>>2]|0;if(j[(k[(k[f>>2]|0)+12>>2]|0)+(k[d>>2]<<1)>>1]|0){j[c>>1]=j[(k[a+12>>2]|0)+(k[d>>2]<<1)>>1]|0;f=j[c>>1]|0;u=e;return f|0}else{f=_I(a,k[d>>2]|0)|0;j[c>>1]=f;f=j[c>>1]|0;u=e;return f|0}return 0}function OI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;f=d+4|0;e=d;g=d+8|0;k[f>>2]=a;k[e>>2]=b;j[g>>1]=c;j[(k[f>>2]|0)+24>>1]=j[g>>1]|0;uq(k[f>>2]|0,k[e>>2]|0);u=d;return}function PI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;y=D+68|0;z=D+64|0;A=D+60|0;B=D+56|0;C=D+52|0;n=D+48|0;o=D+44|0;p=D+40|0;q=D+36|0;r=D+32|0;s=D+28|0;t=D+24|0;v=D+20|0;f=D+16|0;g=D+12|0;h=D+8|0;w=D+4|0;x=D;k[z>>2]=a;k[A>>2]=b;k[B>>2]=c;k[C>>2]=d;k[n>>2]=e;k[o>>2]=k[(k[z>>2]|0)+56>>2];k[p>>2]=l[(k[z>>2]|0)+5>>0];k[q>>2]=(k[(k[z>>2]|0)+64>>2]|0)+(k[C>>2]<<1);k[r>>2]=m[(k[z>>2]|0)+18>>1];k[f>>2]=(k[A>>2]|0)+(m[(k[z>>2]|0)+18>>1]|0)+(l[(k[z>>2]|0)+1>>0]|0);k[g>>2]=(k[B>>2]|0)+(k[C>>2]|0);if((k[A>>2]|0)<(k[B>>2]|0)){e=UI(k[z>>2]|0,k[A>>2]|0,(k[B>>2]|0)-(k[A>>2]|0)|0,k[n>>2]|0)|0;k[h>>2]=e;u0(k[(k[z>>2]|0)+64>>2]|0,(k[(k[z>>2]|0)+64>>2]|0)+(k[h>>2]<<1)|0,k[r>>2]<<1|0)|0;k[r>>2]=(k[r>>2]|0)-(k[h>>2]|0)}if((k[g>>2]|0)<(k[f>>2]|0)){e=UI(k[z>>2]|0,k[g>>2]|0,(k[f>>2]|0)-(k[g>>2]|0)|0,k[n>>2]|0)|0;k[r>>2]=(k[r>>2]|0)-e}k[s>>2]=(k[o>>2]|0)+((((l[(k[o>>2]|0)+((k[p>>2]|0)+5)>>0]|0)<<8|(l[(k[o>>2]|0)+((k[p>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((k[s>>2]|0)>>>0>=(k[q>>2]|0)>>>0){if((k[B>>2]|0)<(k[A>>2]|0)){if((k[C>>2]|0)<((k[A>>2]|0)-(k[B>>2]|0)|0))a=k[C>>2]|0;else a=(k[A>>2]|0)-(k[B>>2]|0)|0;k[w>>2]=a;k[t>>2]=k[(k[z>>2]|0)+64>>2];u0((k[t>>2]|0)+(k[w>>2]<<1)|0,k[t>>2]|0,k[r>>2]<<1|0)|0;if(VI(k[z>>2]|0,k[q>>2]|0,s,k[t>>2]|0,k[B>>2]|0,k[w>>2]|0,k[n>>2]|0)|0)break;k[r>>2]=(k[r>>2]|0)+(k[w>>2]|0)}k[v>>2]=0;while(1){if((k[v>>2]|0)>=(l[(k[z>>2]|0)+1>>0]|0|0))break;k[x>>2]=(k[A>>2]|0)+(m[(k[z>>2]|0)+22+(k[v>>2]<<1)>>1]|0)-(k[B>>2]|0);if(((k[x>>2]|0)>=0?(k[x>>2]|0)<(k[C>>2]|0):0)?(k[t>>2]=(k[(k[z>>2]|0)+64>>2]|0)+(k[x>>2]<<1),u0((k[t>>2]|0)+2|0,k[t>>2]|0,(k[r>>2]|0)-(k[x>>2]|0)<<1|0)|0,k[r>>2]=(k[r>>2]|0)+1,VI(k[z>>2]|0,k[q>>2]|0,s,k[t>>2]|0,(k[x>>2]|0)+(k[B>>2]|0)|0,1,k[n>>2]|0)|0):0)break a;k[v>>2]=(k[v>>2]|0)+1}k[t>>2]=(k[(k[z>>2]|0)+64>>2]|0)+(k[r>>2]<<1);if(!(VI(k[z>>2]|0,k[q>>2]|0,s,k[t>>2]|0,(k[B>>2]|0)+(k[r>>2]|0)|0,(k[C>>2]|0)-(k[r>>2]|0)|0,k[n>>2]|0)|0)){j[(k[z>>2]|0)+18>>1]=k[C>>2];i[(k[z>>2]|0)+1>>0]=0;i[(k[o>>2]|0)+((k[p>>2]|0)+3)>>0]=(m[(k[z>>2]|0)+18>>1]|0)>>8;i[(k[o>>2]|0)+((k[p>>2]|0)+3)+1>>0]=j[(k[z>>2]|0)+18>>1];i[(k[o>>2]|0)+((k[p>>2]|0)+5)>>0]=(k[s>>2]|0)-(k[o>>2]|0)>>8;i[(k[o>>2]|0)+((k[p>>2]|0)+5)+1>>0]=(k[s>>2]|0)-(k[o>>2]|0);k[y>>2]=0;C=k[y>>2]|0;u=D;return C|0}}while(0);WI(k[n>>2]|0,k[B>>2]|0,k[C>>2]|0);C=XI(k[z>>2]|0,k[C>>2]|0,(k[(k[n>>2]|0)+8>>2]|0)+(k[B>>2]<<2)|0,(k[(k[n>>2]|0)+12>>2]|0)+(k[B>>2]<<1)|0)|0;k[y>>2]=C;C=k[y>>2]|0;u=D;return C|0}function QI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+80|0;b=y+64|0;o=y+60|0;p=y+56|0;q=y+52|0;r=y+48|0;s=y+44|0;t=y+40|0;v=y+36|0;w=y+32|0;c=y+28|0;d=y+24|0;e=y+20|0;f=y+16|0;g=y+12|0;h=y+8|0;j=y+4|0;n=y;k[o>>2]=a;k[e>>2]=0;a=k[(k[o>>2]|0)+56>>2]|0;k[d>>2]=a;k[f>>2]=a;k[r>>2]=l[(k[o>>2]|0)+5>>0];k[v>>2]=m[(k[o>>2]|0)+14>>1];k[c>>2]=m[(k[o>>2]|0)+18>>1];k[t>>2]=k[(k[(k[o>>2]|0)+52>>2]|0)+36>>2];k[w>>2]=k[t>>2];k[g>>2]=(k[v>>2]|0)+(k[c>>2]<<1);k[h>>2]=(k[t>>2]|0)-4;k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[c>>2]|0)){x=14;break}k[j>>2]=(k[d>>2]|0)+((k[v>>2]|0)+(k[p>>2]<<1));k[q>>2]=(l[k[j>>2]>>0]|0)<<8|(l[(k[j>>2]|0)+1>>0]|0);if((k[q>>2]|0)<(k[g>>2]|0)){x=5;break}if((k[q>>2]|0)>(k[h>>2]|0)){x=5;break}a=(Wb[k[(k[o>>2]|0)+76>>2]&255](k[o>>2]|0,(k[f>>2]|0)+(k[q>>2]|0)|0)|0)&65535;k[s>>2]=a;k[w>>2]=(k[w>>2]|0)-(k[s>>2]|0);if((k[w>>2]|0)<(k[g>>2]|0)){x=8;break}if(((k[q>>2]|0)+(k[s>>2]|0)|0)>(k[t>>2]|0)){x=8;break}i[k[j>>2]>>0]=k[w>>2]>>8;i[(k[j>>2]|0)+1>>0]=k[w>>2];if(!(k[e>>2]|0)){if((k[w>>2]|0)!=(k[q>>2]|0)){x=TI(k[k[(k[o>>2]|0)+52>>2]>>2]|0)|0;k[e>>2]=x;k[n>>2]=(l[(k[d>>2]|0)+((k[r>>2]|0)+5)>>0]|0)<<8|(l[(k[d>>2]|0)+((k[r>>2]|0)+5)+1>>0]|0);r0((k[e>>2]|0)+(k[n>>2]|0)|0,(k[d>>2]|0)+(k[n>>2]|0)|0,(k[w>>2]|0)+(k[s>>2]|0)-(k[n>>2]|0)|0)|0;k[f>>2]=k[e>>2];x=12}}else x=12;if((x|0)==12){x=0;r0((k[d>>2]|0)+(k[w>>2]|0)|0,(k[f>>2]|0)+(k[q>>2]|0)|0,k[s>>2]|0)|0}k[p>>2]=(k[p>>2]|0)+1}if((x|0)==5){x=un(59617)|0;k[b>>2]=x;x=k[b>>2]|0;u=y;return x|0}else if((x|0)==8){x=un(59623)|0;k[b>>2]=x;x=k[b>>2]|0;u=y;return x|0}else if((x|0)==14){i[(k[d>>2]|0)+((k[r>>2]|0)+5)>>0]=k[w>>2]>>8;i[(k[d>>2]|0)+((k[r>>2]|0)+5)+1>>0]=k[w>>2];i[(k[d>>2]|0)+((k[r>>2]|0)+1)>>0]=0;i[(k[d>>2]|0)+((k[r>>2]|0)+2)>>0]=0;i[(k[d>>2]|0)+((k[r>>2]|0)+7)>>0]=0;w0((k[d>>2]|0)+(k[g>>2]|0)|0,0,(k[w>>2]|0)-(k[g>>2]|0)|0)|0;if(((k[w>>2]|0)-(k[g>>2]|0)|0)!=(m[(k[o>>2]|0)+16>>1]|0|0)){x=un(59647)|0;k[b>>2]=x;x=k[b>>2]|0;u=y;return x|0}else{k[b>>2]=0;x=k[b>>2]|0;u=y;return x|0}}return 0}function RI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;g=r+36|0;h=r+32|0;j=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;d=r+8|0;e=r+4|0;f=r;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;if(k[k[j>>2]>>2]|0){u=r;return}k[n>>2]=k[(k[g>>2]|0)+52>>2];k[o>>2]=k[(k[g>>2]|0)+56>>2];k[p>>2]=k[(k[h>>2]|0)+56>>2];k[q>>2]=l[(k[g>>2]|0)+5>>0];k[d>>2]=(k[(k[h>>2]|0)+84>>2]|0)==1?100:0;k[f>>2]=l[(k[o>>2]|0)+((k[q>>2]|0)+5)>>0]<<8|l[(k[o>>2]|0)+((k[q>>2]|0)+5)+1>>0];r0((k[p>>2]|0)+(k[f>>2]|0)|0,(k[o>>2]|0)+(k[f>>2]|0)|0,(k[(k[n>>2]|0)+36>>2]|0)-(k[f>>2]|0)|0)|0;r0((k[p>>2]|0)+(k[d>>2]|0)|0,(k[o>>2]|0)+(k[q>>2]|0)|0,(m[(k[g>>2]|0)+14>>1]|0)+(m[(k[g>>2]|0)+18>>1]<<1)|0)|0;i[k[h>>2]>>0]=0;q=Ap(k[h>>2]|0)|0;k[e>>2]=q;if(k[e>>2]|0){k[k[j>>2]>>2]=k[e>>2];u=r;return}if(!(i[(k[n>>2]|0)+17>>0]|0)){u=r;return}q=qq(k[h>>2]|0)|0;k[k[j>>2]>>2]=q;u=r;return}function SI(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[b>>2]|0)){u=e;return}if((k[b>>2]|0)>>>0>=(k[50]|0)>>>0?(k[b>>2]|0)>>>0<(k[13624]|0)>>>0:0){k[c>>2]=k[b>>2];Dd(k[13620]|0);k[k[c>>2]>>2]=k[13625];k[13625]=k[c>>2];k[13626]=(k[13626]|0)+1;je(3,1);Ed(k[13620]|0);u=e;return}if(k[2]|0){c=Ud(k[b>>2]|0)|0;k[d>>2]=c;Dd(k[13620]|0);je(4,k[d>>2]|0);je(0,k[d>>2]|0);je(9,1);Ob[k[52>>2]&255](k[b>>2]|0);Ed(k[13620]|0);u=e;return}else{Ob[k[52>>2]&255](k[b>>2]|0);u=e;return}}function TI(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+208>>2]|0}function UI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;w=u;u=u+64|0;q=w+56|0;r=w+52|0;x=w+48|0;y=w+44|0;s=w+40|0;t=w+36|0;e=w+32|0;f=w+28|0;g=w+24|0;h=w+20|0;i=w+16|0;j=w+12|0;n=w+8|0;o=w+4|0;p=w;k[r>>2]=a;k[x>>2]=b;k[y>>2]=c;k[s>>2]=d;k[t>>2]=k[(k[r>>2]|0)+56>>2];k[e>>2]=(k[t>>2]|0)+(k[(k[(k[r>>2]|0)+52>>2]|0)+36>>2]|0);k[f>>2]=(k[t>>2]|0)+((l[(k[r>>2]|0)+5>>0]|0)+8+(l[(k[r>>2]|0)+6>>0]|0));k[g>>2]=0;k[i>>2]=(k[x>>2]|0)+(k[y>>2]|0);k[j>>2]=0;k[n>>2]=0;k[h>>2]=k[x>>2];while(1){if((k[h>>2]|0)>=(k[i>>2]|0))break;k[o>>2]=k[(k[(k[s>>2]|0)+8>>2]|0)+(k[h>>2]<<2)>>2];if((k[o>>2]|0)>>>0>=(k[f>>2]|0)>>>0?(k[o>>2]|0)>>>0<(k[e>>2]|0)>>>0:0){k[p>>2]=m[(k[(k[s>>2]|0)+12>>2]|0)+(k[h>>2]<<1)>>1];if((k[j>>2]|0)!=((k[o>>2]|0)+(k[p>>2]|0)|0)){if(k[j>>2]|0)ZI(k[r>>2]|0,(k[j>>2]|0)-(k[t>>2]|0)&65535,k[n>>2]&65535)|0;k[j>>2]=k[o>>2];k[n>>2]=k[p>>2];if(((k[j>>2]|0)+(k[p>>2]|0)|0)>>>0>(k[e>>2]|0)>>>0){v=9;break}}else{k[j>>2]=k[o>>2];k[n>>2]=(k[n>>2]|0)+(k[p>>2]|0)}k[g>>2]=(k[g>>2]|0)+1}k[h>>2]=(k[h>>2]|0)+1}if((v|0)==9){k[q>>2]=0;y=k[q>>2]|0;u=w;return y|0}if(k[j>>2]|0)ZI(k[r>>2]|0,(k[j>>2]|0)-(k[t>>2]|0)&65535,k[n>>2]&65535)|0;k[q>>2]=k[g>>2];y=k[q>>2]|0;u=w;return y|0}function VI(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;y=u;u=u+64|0;v=y+56|0;w=y+52|0;x=y+48|0;h=y+44|0;j=y+40|0;z=y+36|0;A=y+32|0;m=y+28|0;n=y+24|0;o=y+20|0;p=y+16|0;q=y+12|0;r=y+8|0;s=y+4|0;t=y;k[w>>2]=a;k[x>>2]=b;k[h>>2]=c;k[j>>2]=d;k[z>>2]=e;k[A>>2]=f;k[m>>2]=g;k[o>>2]=k[(k[w>>2]|0)+56>>2];k[p>>2]=k[k[h>>2]>>2];k[q>>2]=(k[z>>2]|0)+(k[A>>2]|0);k[n>>2]=k[z>>2];while(1){if((k[n>>2]|0)>=(k[q>>2]|0)){a=10;break}A=(NI(k[m>>2]|0,k[n>>2]|0)|0)&65535;k[r>>2]=A;if((l[(k[o>>2]|0)+1>>0]|0|0)==0?(l[(k[o>>2]|0)+2>>0]|0|0)==0:0)a=6;else a=5;if((a|0)==5?(a=0,A=YI(k[w>>2]|0,k[r>>2]|0,s)|0,k[t>>2]=A,(A|0)==0):0)a=6;if((a|0)==6){if(((k[p>>2]|0)-(k[x>>2]|0)|0)<(k[r>>2]|0)){a=7;break}k[p>>2]=(k[p>>2]|0)+(0-(k[r>>2]|0));k[t>>2]=k[p>>2]}u0(k[t>>2]|0,k[(k[(k[m>>2]|0)+8>>2]|0)+(k[n>>2]<<2)>>2]|0,k[r>>2]|0)|0;i[k[j>>2]>>0]=(k[t>>2]|0)-(k[o>>2]|0)>>8;i[(k[j>>2]|0)+1>>0]=(k[t>>2]|0)-(k[o>>2]|0);k[j>>2]=(k[j>>2]|0)+2;k[n>>2]=(k[n>>2]|0)+1}if((a|0)==7){k[v>>2]=1;A=k[v>>2]|0;u=y;return A|0}else if((a|0)==10){k[k[h>>2]>>2]=k[p>>2];k[v>>2]=0;A=k[v>>2]|0;u=y;return A|0}return 0}function WI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){if((k[f>>2]|0)<=0)break;if(!(m[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0)){c=Wb[k[(k[(k[d>>2]|0)+4>>2]|0)+76>>2]&255](k[(k[d>>2]|0)+4>>2]|0,k[(k[(k[d>>2]|0)+8>>2]|0)+(k[e>>2]<<2)>>2]|0)|0;j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]=c}k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+-1}u=g;return}function XI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+64|0;s=x+52|0;t=x+48|0;v=x+44|0;o=x+40|0;p=x+36|0;w=x+32|0;q=x+28|0;y=x+24|0;e=x+20|0;f=x+16|0;g=x+12|0;h=x+8|0;r=x+4|0;n=x;k[t>>2]=a;k[v>>2]=b;k[o>>2]=c;k[p>>2]=d;k[w>>2]=l[(k[t>>2]|0)+5>>0];k[q>>2]=k[(k[t>>2]|0)+56>>2];k[y>>2]=k[(k[(k[t>>2]|0)+52>>2]|0)+36>>2];k[e>>2]=(k[q>>2]|0)+(k[y>>2]|0);k[g>>2]=k[(k[t>>2]|0)+64>>2];d=TI(k[k[(k[t>>2]|0)+52>>2]>>2]|0)|0;k[h>>2]=d;k[f>>2]=(l[(k[q>>2]|0)+((k[w>>2]|0)+5)>>0]|0)<<8|(l[(k[q>>2]|0)+((k[w>>2]|0)+5)+1>>0]|0);r0((k[h>>2]|0)+(k[f>>2]|0)|0,(k[q>>2]|0)+(k[f>>2]|0)|0,(k[y>>2]|0)-(k[f>>2]|0)|0)|0;k[r>>2]=k[e>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[v>>2]|0)){a=9;break}k[n>>2]=k[(k[o>>2]|0)+(k[f>>2]<<2)>>2];if((k[n>>2]|0)>>>0>=(k[q>>2]|0)>>>0?(k[n>>2]|0)>>>0<(k[e>>2]|0)>>>0:0)k[n>>2]=(k[h>>2]|0)+((k[n>>2]|0)-(k[q>>2]|0));k[r>>2]=(k[r>>2]|0)+(0-(m[(k[p>>2]|0)+(k[f>>2]<<1)>>1]|0));i[k[g>>2]>>0]=(k[r>>2]|0)-(k[q>>2]|0)>>8;i[(k[g>>2]|0)+1>>0]=(k[r>>2]|0)-(k[q>>2]|0);k[g>>2]=(k[g>>2]|0)+2;if((k[r>>2]|0)>>>0<(k[g>>2]|0)>>>0){a=7;break}r0(k[r>>2]|0,k[n>>2]|0,m[(k[p>>2]|0)+(k[f>>2]<<1)>>1]|0|0)|0;k[f>>2]=(k[f>>2]|0)+1}if((a|0)==7){y=un(64716)|0;k[s>>2]=y;y=k[s>>2]|0;u=x;return y|0}else if((a|0)==9){j[(k[t>>2]|0)+18>>1]=k[v>>2];i[(k[t>>2]|0)+1>>0]=0;i[(k[q>>2]|0)+((k[w>>2]|0)+1)>>0]=0;i[(k[q>>2]|0)+((k[w>>2]|0)+1)+1>>0]=0;i[(k[q>>2]|0)+((k[w>>2]|0)+3)>>0]=(m[(k[t>>2]|0)+18>>1]|0)>>8;i[(k[q>>2]|0)+((k[w>>2]|0)+3)+1>>0]=j[(k[t>>2]|0)+18>>1];i[(k[q>>2]|0)+((k[w>>2]|0)+5)>>0]=(k[r>>2]|0)-(k[q>>2]|0)>>8;i[(k[q>>2]|0)+((k[w>>2]|0)+5)+1>>0]=(k[r>>2]|0)-(k[q>>2]|0);i[(k[q>>2]|0)+((k[w>>2]|0)+7)>>0]=0;k[s>>2]=0;y=k[s>>2]|0;u=x;return y|0}return 0}function YI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;j=s+40|0;n=s+36|0;d=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;r=s+16|0;e=s+12|0;f=s+8|0;g=s+4|0;h=s;k[n>>2]=a;k[d>>2]=b;k[o>>2]=c;k[p>>2]=l[(k[n>>2]|0)+5>>0];k[q>>2]=k[(k[n>>2]|0)+56>>2];k[r>>2]=(k[p>>2]|0)+1;k[e>>2]=(l[(k[q>>2]|0)+(k[r>>2]|0)>>0]|0)<<8|(l[(k[q>>2]|0)+(k[r>>2]|0)+1>>0]|0);k[g>>2]=k[(k[(k[n>>2]|0)+52>>2]|0)+36>>2];while(1){if((k[e>>2]|0)>((k[g>>2]|0)-4|0)){a=4;break}if((k[e>>2]|0)<((k[r>>2]|0)+4|0)){a=4;break}k[h>>2]=(l[(k[q>>2]|0)+((k[e>>2]|0)+2)>>0]|0)<<8|(l[(k[q>>2]|0)+((k[e>>2]|0)+2)+1>>0]|0);c=(k[h>>2]|0)-(k[d>>2]|0)|0;k[f>>2]=c;b=k[e>>2]|0;if((c|0)>=0){a=6;break}k[r>>2]=b;k[e>>2]=(l[(k[q>>2]|0)+(k[e>>2]|0)>>0]|0)<<8|(l[(k[q>>2]|0)+(k[e>>2]|0)+1>>0]|0);if(!(k[e>>2]|0)){a=16;break}}if((a|0)==4){r=un(59680)|0;k[k[o>>2]>>2]=r;k[j>>2]=0;r=k[j>>2]|0;u=s;return r|0}else if((a|0)==6){if((b|0)>=((m[(k[n>>2]|0)+14>>1]|0)+((m[(k[n>>2]|0)+18>>1]|0)<<1)|0)?((k[h>>2]|0)+(k[e>>2]|0)|0)<=(k[g>>2]|0):0){do if((k[f>>2]|0)<4){if((l[(k[q>>2]|0)+((k[p>>2]|0)+7)>>0]|0|0)<=57){r=(k[q>>2]|0)+(k[r>>2]|0)|0;o=(k[q>>2]|0)+(k[e>>2]|0)|0;i[r>>0]=i[o>>0]|0;i[r+1>>0]=i[o+1>>0]|0;r=(k[q>>2]|0)+((k[p>>2]|0)+7)|0;i[r>>0]=(l[r>>0]|0)+(k[f>>2]&255);break}k[j>>2]=0;r=k[j>>2]|0;u=s;return r|0}else{i[(k[q>>2]|0)+((k[e>>2]|0)+2)>>0]=k[f>>2]>>8;i[(k[q>>2]|0)+((k[e>>2]|0)+2)+1>>0]=k[f>>2]}while(0);k[j>>2]=(k[q>>2]|0)+((k[e>>2]|0)+(k[f>>2]|0));r=k[j>>2]|0;u=s;return r|0}r=un(59691)|0;k[k[o>>2]>>2]=r;k[j>>2]=0;r=k[j>>2]|0;u=s;return r|0}else if((a|0)==16){k[j>>2]=0;r=k[j>>2]|0;u=s;return r|0}return 0} +function CM(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=u;u=u+80|0;z=A+76|0;r=A+72|0;s=A+68|0;C=A+64|0;B=A+60|0;t=A+56|0;v=A+52|0;w=A+48|0;g=A+44|0;h=A+40|0;x=A+36|0;i=A+32|0;j=A+28|0;y=A;m=A+24|0;n=A+20|0;o=A+16|0;p=A+12|0;q=A+8|0;k[r>>2]=a;k[s>>2]=b;k[C>>2]=c;k[B>>2]=d;k[t>>2]=e;k[v>>2]=f;k[w>>2]=0;k[g>>2]=k[C>>2];k[h>>2]=(k[g>>2]|0)+(k[B>>2]|0);k[x>>2]=0;k[i>>2]=0;k[j>>2]=1;f=lM(k[g>>2]|0,y)|0;k[g>>2]=(k[g>>2]|0)+f;f=lM(k[g>>2]|0,y)|0;k[g>>2]=(k[g>>2]|0)+f;if((k[g>>2]|0)>>>0>(k[h>>2]|0)>>>0){k[z>>2]=267;C=k[z>>2]|0;u=A;return C|0}while(1){if((k[g>>2]|0)>>>0>=(k[h>>2]|0)>>>0){a=28;break}if(!(k[t>>2]|0?1:(k[v>>2]|0)!=0)){a=28;break}k[o>>2]=0;if(!(k[j>>2]|0)){a=k[g>>2]|0;if((l[k[g>>2]>>0]|0)&128|0)a=mM(a,o)|0;else{k[o>>2]=l[a>>0];a=1}k[g>>2]=(k[g>>2]|0)+a}k[j>>2]=0;a=k[g>>2]|0;if((l[k[g>>2]>>0]|0)&128|0)a=mM(a,n)|0;else{k[n>>2]=l[a>>0];a=1}k[g>>2]=(k[g>>2]|0)+a;if((k[o>>2]|0)<0|(k[n>>2]|0)<0){a=15;break}if(((k[g>>2]|0)+(k[n>>2]|0)|0)>>>0>(k[h>>2]|0)>>>0){a=15;break}if(((k[o>>2]|0)+(k[n>>2]|0)|0)>(k[i>>2]|0)){k[i>>2]=(k[o>>2]|0)+(k[n>>2]|0)<<1;C=fg(k[x>>2]|0,k[i>>2]|0)|0;k[q>>2]=C;if(!(k[q>>2]|0)){a=18;break}k[x>>2]=k[q>>2]}r0((k[x>>2]|0)+(k[o>>2]|0)|0,k[g>>2]|0,k[n>>2]|0)|0;k[p>>2]=(k[o>>2]|0)+(k[n>>2]|0);k[g>>2]=(k[g>>2]|0)+(k[n>>2]|0);C=R_(k[r>>2]|0,k[x>>2]|0,(k[p>>2]|0)>(k[s>>2]|0)?k[s>>2]|0:k[p>>2]|0)|0;k[m>>2]=C;do if(k[t>>2]|0){if((k[m>>2]|0)>=0){if(k[m>>2]|0)break;if((k[p>>2]|0)<=(k[s>>2]|0))break}f=y;B=k[f+4>>2]|0;C=k[t>>2]|0;k[C>>2]=k[f>>2];k[C+4>>2]=B;k[t>>2]=0}while(0);if((k[v>>2]|0)!=0&(k[m>>2]|0)<0){f=y;B=k[f+4>>2]|0;C=k[v>>2]|0;k[C>>2]=k[f>>2];k[C+4>>2]=B;k[v>>2]=0}B=y;B=i0(k[B>>2]|0,k[B+4>>2]|0,1,0)|0;C=y;k[C>>2]=B;k[C+4>>2]=M}if((a|0)==15)k[w>>2]=267;else if((a|0)==18)k[w>>2]=7;else if((a|0)==28){if(k[t>>2]|0){s=y;B=k[s+4>>2]|0;C=k[t>>2]|0;k[C>>2]=k[s>>2];k[C+4>>2]=B}if(k[v>>2]|0){B=k[y+4>>2]|0;C=k[v>>2]|0;k[C>>2]=k[y>>2];k[C+4>>2]=B}}ie(k[x>>2]|0);k[z>>2]=k[w>>2];C=k[z>>2]|0;u=A;return C|0}function DM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;f=u;u=u+32|0;l=f+28|0;j=f+24|0;i=f+20|0;h=f+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=k[(k[k[l>>2]>>2]|0)+12>>2];k[h>>2]=k[(k[k[j>>2]>>2]|0)+12>>2];k[c>>2]=k[(k[k[l>>2]>>2]|0)+16>>2];k[d>>2]=k[(k[k[j>>2]>>2]|0)+16>>2];k[g>>2]=(k[c>>2]|0)<(k[d>>2]|0)?k[c>>2]|0:k[d>>2]|0;b=R_(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;if(k[e>>2]|0){l=k[e>>2]|0;u=f;return l|0}k[e>>2]=(k[c>>2]|0)-(k[d>>2]|0);l=k[e>>2]|0;u=f;return l|0}function EM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+48|0;i=o+32|0;d=o+28|0;e=o+24|0;j=o+20|0;l=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[l>>2]=45552;k[m>>2]=45556;k[n>>2]=45561;k[g>>2]=-1;k[h>>2]=15;a=k[i>>2]|0;if((k[d>>2]|0)>6){bi(a,45572,-1);u=o;return}if(IM(a,42611,k[k[e>>2]>>2]|0,j)|0){u=o;return}switch(k[d>>2]|0){case 6:{f=_i(k[(k[e>>2]|0)+20>>2]|0)|0;k[h>>2]=f;f=6;break}case 5:{f=6;break}case 4:{f=7;break}case 3:{f=8;break}case 2:{f=9;break}default:{}}if((f|0)==6){d=_i(k[(k[e>>2]|0)+16>>2]|0)|0;k[g>>2]=d;f=7}if((f|0)==7){d=$h(k[(k[e>>2]|0)+12>>2]|0)|0;k[n>>2]=d;f=8}if((f|0)==8){d=$h(k[(k[e>>2]|0)+8>>2]|0)|0;k[m>>2]=d;f=9}if((f|0)==9){f=$h(k[(k[e>>2]|0)+4>>2]|0)|0;k[l>>2]=f}if(!((k[n>>2]|0)!=0&(k[m>>2]|0)!=0&(k[l>>2]|0)!=0)){Gi(k[i>>2]|0);u=o;return}a=k[i>>2]|0;if(!(k[h>>2]|0)){Hi(a,55752,-1,0);u=o;return}if(FN(a,k[j>>2]|0)|0){u=o;return}iO(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[g>>2]|0,k[h>>2]|0);u=o;return}function FM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;if(IM(k[d>>2]|0,42619,k[k[g>>2]>>2]|0,e)|0){u=f;return}if(FN(k[d>>2]|0,k[e>>2]|0)|0){u=f;return}eO(k[d>>2]|0,k[e>>2]|0);u=f;return}function GM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;d=h+20|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[h+16>>2]=b;k[i>>2]=c;if(IM(k[d>>2]|0,42637,k[k[i>>2]>>2]|0,g)|0){u=h;return}k[f>>2]=k[k[g>>2]>>2];i=cO(k[f>>2]|0)|0;k[e>>2]=i;switch(k[e>>2]|0){case 0:{Hi(k[d>>2]|0,45456,-1,0);u=h;return}case 101:{Hi(k[d>>2]|0,45472,-1,0);u=h;return}default:{ej(k[d>>2]|0,k[e>>2]|0);u=h;return}}}function HM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(IM(k[d>>2]|0,42627,k[k[f>>2]>>2]|0,g)|0){u=i;return}k[h>>2]=0;if((k[e>>2]|0)>1){f=$h(k[(k[f>>2]|0)+4>>2]|0)|0;k[h>>2]=f}JM(k[d>>2]|0,k[g>>2]|0,k[h>>2]|0);u=i;return}function IM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;n=o;f=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;l=o+12|0;m=o+8|0;e=o+4|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;if((Ki(k[j>>2]|0)|0)==4?(ai(k[j>>2]|0)|0)==4:0){n=$i(k[j>>2]|0)|0;i[m>>0]=i[n>>0]|0;i[m+1>>0]=i[n+1>>0]|0;i[m+2>>0]=i[n+2>>0]|0;i[m+3>>0]=i[n+3>>0]|0;k[k[l>>2]>>2]=k[m>>2];k[f>>2]=0;n=k[f>>2]|0;u=o;return n|0}k[n>>2]=k[h>>2];n=xf(45427,n)|0;k[e>>2]=n;bi(k[g>>2]|0,k[e>>2]|0,-1);ie(k[e>>2]|0);k[f>>2]=1;n=k[f>>2]|0;u=o;return n|0}function JM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;f=i+12|0;e=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=k[k[f>>2]>>2];if(k[e>>2]|0)k[h>>2]=k[e>>2];else k[h>>2]=45362;a=k[d>>2]|0;if(k[(k[f>>2]|0)+12>>2]|0){KM(a,k[f>>2]|0,k[h>>2]|0);LM(k[g>>2]|0);u=i;return}else{wj(a,55752,0,0);u=i;return}}function KM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+80|0;l=t+76|0;m=t+72|0;n=t+68|0;o=t;p=t+64|0;q=t+60|0;r=t+56|0;d=t+52|0;e=t+48|0;f=t+44|0;g=t+40|0;h=t+36|0;j=t+32|0;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[p>>2]=k[k[m>>2]>>2];k[q>>2]=0;k[r>>2]=0;k[d>>2]=0;k[e>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=k[m>>2];k[o+4>>2]=k[(k[p>>2]|0)+24>>2];if(k[(k[m>>2]|0)+92>>2]|0?Q_(k[(k[(k[m>>2]|0)+92>>2]|0)+12>>2]|0,k[n>>2]|0)|0:0){MM(k[(k[m>>2]|0)+92>>2]|0);k[(k[m>>2]|0)+92>>2]=0}if(!(k[(k[m>>2]|0)+92>>2]|0)){k[f>>2]=0;c=NM(k[(k[m>>2]|0)+12>>2]|0)|0;k[(k[m>>2]|0)+20>>2]=c;k[o+8>>2]=k[(k[m>>2]|0)+20>>2];k[g>>2]=0;while(1){if(!(i[(k[n>>2]|0)+(k[g>>2]|0)>>0]|0))break;k[h>>2]=0;if(OM(k[p>>2]|0,i[(k[n>>2]|0)+(k[g>>2]|0)>>0]|0,h)|0){s=8;break}c=PM(o,i[(k[n>>2]|0)+(k[g>>2]|0)>>0]|0)|0;k[f>>2]=(k[f>>2]|0)+c;k[g>>2]=(k[g>>2]|0)+1}if((s|0)==8){bi(k[l>>2]|0,k[h>>2]|0,-1);ie(k[h>>2]|0);u=t;return}s=QM(k[f>>2]|0,k[n>>2]|0)|0;k[(k[m>>2]|0)+92>>2]=s;if(!(k[(k[m>>2]|0)+92>>2]|0))k[q>>2]=7;k[(k[m>>2]|0)+88>>2]=1;k[r>>2]=1}if((k[q>>2]|0)==0?(s=RM(k[(k[m>>2]|0)+92>>2]|0,d)|0,k[e>>2]=s,(k[e>>2]|0)==0):0)k[q>>2]=7;if((k[q>>2]|0)==0?(k[o+28>>2]=k[d>>2],k[o+8>>2]=k[(k[m>>2]|0)+20>>2],s=SM(k[m>>2]|0,k[r>>2]|0,o,k[n>>2]|0)|0,k[q>>2]=s,k[r>>2]|0):0)TM(k[(k[m>>2]|0)+92>>2]|0);if(!(k[q>>2]|0)){k[j>>2]=k[(k[(k[m>>2]|0)+92>>2]|0)+4>>2]<<2;wj(k[l>>2]|0,k[d>>2]|0,k[j>>2]|0,k[e>>2]|0);u=t;return}ej(k[l>>2]|0,k[q>>2]|0);if(!(k[e>>2]|0)){u=t;return}Ob[k[e>>2]&255](k[d>>2]|0);u=t;return}function LM(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;KJ(k[(k[c>>2]|0)+244>>2]|0)|0;k[(k[c>>2]|0)+244>>2]=0;u=b;return}function MM(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}i[k[b>>2]>>0]=0;if(l[k[b>>2]>>0]|0|0){u=c;return}if(l[(k[b>>2]|0)+1>>0]|0|0){u=c;return}if(l[(k[b>>2]|0)+2>>0]|0|0){u=c;return}ie(k[b>>2]|0);u=c;return}function NM(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;_M(k[d>>2]|0,161,b)|0;u=c;return k[b>>2]|0}function OM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;h=j;d=j+12|0;e=j+8|0;f=j+16|0;g=j+4|0;k[e>>2]=a;i[f>>0]=b;k[g>>2]=c;do if((i[f>>0]|0)!=112?(i[f>>0]|0)!=99:0){if((i[f>>0]|0)==110?l[(k[e>>2]|0)+228>>0]|0:0)break;if((i[f>>0]|0)==97?l[(k[e>>2]|0)+228>>0]|0:0)break;if((i[f>>0]|0)==108?l[(k[e>>2]|0)+230>>0]|0:0)break;if((((i[f>>0]|0)!=115?(i[f>>0]|0)!=120:0)?(i[f>>0]|0)!=121:0)?(i[f>>0]|0)!=98:0){g=k[g>>2]|0;k[h>>2]=i[f>>0];SK(g,45392,h);k[d>>2]=1;h=k[d>>2]|0;u=j;return h|0}}while(0);k[d>>2]=0;h=k[d>>2]|0;u=j;return h|0}function PM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+4|0;f=e+8|0;d=e;k[c>>2]=a;i[f>>0]=b;switch(i[f>>0]|0){case 99:case 112:case 110:{k[d>>2]=1;break}case 115:case 108:case 97:{k[d>>2]=k[(k[c>>2]|0)+4>>2];break}case 121:{f=$(k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+8>>2]|0)|0;k[d>>2]=f;break}case 98:{f=$(k[(k[c>>2]|0)+8>>2]|0,((k[(k[c>>2]|0)+4>>2]|0)+31|0)/32|0)|0;k[d>>2]=f;break}default:{f=($(k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+8>>2]|0)|0)*3|0;k[d>>2]=f}}u=e;return k[d>>2]|0}function QM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=((k[c>>2]<<1)+1<<2)+20;b=q$(k[d>>2]|0)|0;k[g>>2]=b;b=ze((k[f>>2]|0)+(k[g>>2]|0)+1|0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){g=k[e>>2]|0;u=h;return g|0}w0(k[e>>2]|0,0,k[f>>2]|0)|0;k[(k[e>>2]|0)+16>>2]=(k[e>>2]|0)+16+4-(k[e>>2]|0);k[(k[e>>2]|0)+16+(1+(k[c>>2]|0)<<2)>>2]=(k[(k[e>>2]|0)+16>>2]|0)+((k[c>>2]|0)+1<<2);k[(k[e>>2]|0)+4>>2]=k[c>>2];k[(k[e>>2]|0)+12>>2]=(k[e>>2]|0)+(k[f>>2]|0);r0(k[(k[e>>2]|0)+12>>2]|0,k[d>>2]|0,(k[g>>2]|0)+1|0)|0;i[k[e>>2]>>0]=1;g=k[e>>2]|0;u=h;return g|0}function RM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=0;a=k[c>>2]|0;do if(l[(k[c>>2]|0)+1>>0]|0){b=k[c>>2]|0;if(!(l[a+2>>0]|0)){i[b+2>>0]=1;k[f>>2]=(k[c>>2]|0)+16+((k[(k[c>>2]|0)+4>>2]|0)+2<<2);k[e>>2]=162;break}b=ze(k[b+4>>2]<<2)|0;k[f>>2]=b;if(k[f>>2]|0?(k[e>>2]=157,k[(k[c>>2]|0)+8>>2]|0):0)r0(k[f>>2]|0,(k[c>>2]|0)+16+4|0,k[(k[c>>2]|0)+4>>2]<<2|0)|0}else{i[a+1>>0]=1;k[f>>2]=(k[c>>2]|0)+16+4;k[e>>2]=162}while(0);k[k[d>>2]>>2]=k[f>>2];u=g;return k[e>>2]|0}function SM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+96|0;t=B+92|0;v=B+88|0;w=B+84|0;x=B+80|0;A=B+76|0;y=B+72|0;e=B+68|0;z=B+64|0;f=B+24|0;g=B+16|0;h=B+60|0;j=B+56|0;l=B+52|0;m=B+8|0;n=B+48|0;o=B+44|0;p=B+40|0;q=B;r=B+36|0;s=B+32|0;k[t>>2]=a;k[v>>2]=b;k[w>>2]=c;k[x>>2]=d;k[A>>2]=0;k[e>>2]=k[k[t>>2]>>2];k[z>>2]=0;k[y>>2]=0;while(1){if(k[A>>2]|0){a=31;break}if(!(i[(k[x>>2]|0)+(k[y>>2]|0)>>0]|0)){a=31;break}i[(k[w>>2]|0)+24>>0]=i[(k[x>>2]|0)+(k[y>>2]|0)>>0]|0;a:do switch(i[(k[x>>2]|0)+(k[y>>2]|0)>>0]|0){case 112:{if(k[v>>2]|0)k[k[(k[w>>2]|0)+28>>2]>>2]=k[(k[w>>2]|0)+8>>2];break}case 99:{if(k[v>>2]|0)k[k[(k[w>>2]|0)+28>>2]>>2]=k[(k[w>>2]|0)+4>>2];break}case 110:{if(k[v>>2]|0){d=f;k[d>>2]=0;k[d+4>>2]=0;d=UM(k[e>>2]|0,z,f,0)|0;k[A>>2]=d;k[k[(k[w>>2]|0)+28>>2]>>2]=k[f>>2]}break}case 97:{if(k[v>>2]|0?(d=UM(k[e>>2]|0,z,g,h)|0,k[A>>2]=d,(k[A>>2]|0)==0):0){k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[w>>2]|0)+4>>2]|0))break a;d=lM(k[h>>2]|0,m)|0;k[h>>2]=(k[h>>2]|0)+d;d=k[m>>2]|0;c=g;c=x0(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;c=i0(d|0,0,c|0,M|0)|0;d=g;d=x0(c|0,M|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[l>>2]=d;k[(k[(k[w>>2]|0)+28>>2]|0)+(k[j>>2]<<2)>>2]=k[l>>2];k[j>>2]=(k[j>>2]|0)+1}}break}case 108:{k[n>>2]=0;d=(k[t>>2]|0)+32|0;d=VM(k[e>>2]|0,k[d>>2]|0,k[d+4>>2]|0,n)|0;k[A>>2]=d;b:do if(!(k[A>>2]|0)){d=pJ(k[n>>2]|0,0)|0;k[p>>2]=d;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[(k[w>>2]|0)+4>>2]|0))break b;d=lM(k[p>>2]|0,q)|0;k[p>>2]=(k[p>>2]|0)+d;k[(k[(k[w>>2]|0)+28>>2]|0)+(k[o>>2]<<2)>>2]=k[q>>2];k[o>>2]=(k[o>>2]|0)+1}}while(0);Is(k[n>>2]|0)|0;break}case 115:{d=WM(k[t>>2]|0,0,0)|0;k[A>>2]=d;if(!(k[A>>2]|0)){d=XM(k[t>>2]|0,k[w>>2]|0)|0;k[A>>2]=d}break}case 121:case 98:{d=(PM(k[w>>2]|0,i[(k[x>>2]|0)+(k[y>>2]|0)>>0]|0)|0)<<2;k[r>>2]=d;w0(k[(k[w>>2]|0)+28>>2]|0,0,k[r>>2]|0)|0;YM(k[(k[t>>2]|0)+12>>2]|0,k[w>>2]|0);break}default:{k[s>>2]=k[(k[t>>2]|0)+12>>2];d=WM(k[t>>2]|0,0,0)|0;k[A>>2]=d;if(!(k[A>>2]|0)){if(k[v>>2]|0){if(k[(k[t>>2]|0)+24>>2]|0?(d=UM(k[e>>2]|0,z,(k[w>>2]|0)+16|0,0)|0,k[A>>2]=d,k[A>>2]|0):0)break a;d=_M(k[s>>2]|0,162,k[w>>2]|0)|0;k[A>>2]=d;$M(k[t>>2]|0,A)|0;if(k[A>>2]|0)break a}_M(k[s>>2]|0,163,k[w>>2]|0)|0}}}while(0);c=PM(k[w>>2]|0,i[(k[x>>2]|0)+(k[y>>2]|0)>>0]|0)|0;d=(k[w>>2]|0)+28|0;k[d>>2]=(k[d>>2]|0)+(c<<2);k[y>>2]=(k[y>>2]|0)+1}if((a|0)==31){Is(k[z>>2]|0)|0;u=B;return k[A>>2]|0}return 0}function TM(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=1;r0((k[c>>2]|0)+16+(2+(k[(k[c>>2]|0)+4>>2]|0)<<2)|0,(k[c>>2]|0)+16+4|0,k[(k[c>>2]|0)+4>>2]<<2|0)|0;u=b;return}function UM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+48|0;h=o+36|0;i=o+32|0;j=o+28|0;l=o+24|0;m=o+20|0;n=o+16|0;e=o+12|0;f=o;g=o+8|0;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;if((k[k[j>>2]>>2]|0)==0?(i=$N(k[i>>2]|0,k[j>>2]|0)|0,k[g>>2]=i,k[g>>2]|0):0){k[h>>2]=k[g>>2];n=k[h>>2]|0;u=o;return n|0}k[n>>2]=k[k[j>>2]>>2];n=pJ(k[n>>2]|0,0)|0;k[e>>2]=n;n=lM(k[e>>2]|0,f)|0;k[e>>2]=(k[e>>2]|0)+n;n=f;if((k[n>>2]|0)==0&(k[n+4>>2]|0)==0){k[h>>2]=267;n=k[h>>2]|0;u=o;return n|0}n=k[l>>2]|0;k[n>>2]=k[f>>2];k[n+4>>2]=0;if(k[m>>2]|0)k[k[m>>2]>>2]=k[e>>2];k[h>>2]=0;n=k[h>>2]|0;u=o;return n|0}function VM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=u;u=u+16|0;g=e+12|0;h=e;f=e+8|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;d=h;d=_N(k[g>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[f>>2]|0)|0;u=e;return d|0}function WM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;i=h+24|0;d=h+20|0;e=h+16|0;f=h+12|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g>>2]=k[i>>2];c=_M(k[(k[i>>2]|0)+12>>2]|0,164,g)|0;k[f>>2]=c;if(k[d>>2]|0)k[k[d>>2]>>2]=k[g+4>>2];if(!(k[e>>2]|0)){i=k[f>>2]|0;u=h;return i|0}k[k[e>>2]>>2]=k[g+8>>2];i=k[f>>2]|0;u=h;return i|0}function XM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+64|0;q=s+56|0;i=s+52|0;j=s+48|0;r=s+44|0;l=s+40|0;m=s+36|0;n=s+32|0;o=s+28|0;c=s+24|0;d=s+20|0;p=s+16|0;e=s+12|0;f=s+8|0;g=s+4|0;h=s;k[i>>2]=a;k[j>>2]=b;k[n>>2]=0;b=ze(k[(k[i>>2]|0)+20>>2]<<4)|0;k[r>>2]=b;if(!(k[r>>2]|0)){k[q>>2]=7;r=k[q>>2]|0;u=s;return r|0}w0(k[r>>2]|0,0,k[(k[i>>2]|0)+20>>2]<<4|0)|0;_M(k[(k[i>>2]|0)+12>>2]|0,165,k[r>>2]|0)|0;k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[(k[j>>2]|0)+8>>2]|0))break;k[o>>2]=(k[r>>2]|0)+(k[l>>2]<<4);k[n>>2]=(k[n>>2]|0)-(k[(k[(k[k[o>>2]>>2]|0)+20>>2]|0)+64>>2]|0);k[(k[o>>2]|0)+4>>2]=k[n>>2];k[l>>2]=(k[l>>2]|0)+1}k[m>>2]=0;a:while(1){if((k[m>>2]|0)>=(k[(k[j>>2]|0)+4>>2]|0)){a=33;break}k[c>>2]=0;k[d>>2]=0;k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[(k[j>>2]|0)+8>>2]|0))break;k[e>>2]=(k[r>>2]|0)+(k[l>>2]<<4);o=bN(k[i>>2]|0,k[k[e>>2]>>2]|0,k[m>>2]|0,(k[e>>2]|0)+8|0)|0;k[p>>2]=o;if(k[p>>2]|0){a=11;break a}if(k[(k[e>>2]|0)+8>>2]|0){k[(k[e>>2]|0)+12>>2]=k[(k[e>>2]|0)+4>>2];YN((k[r>>2]|0)+(k[l>>2]<<4)|0)|0;k[d>>2]=(k[d>>2]|0)+1}k[l>>2]=(k[l>>2]|0)+1}while(1){if((k[d>>2]|0)<=0)break;k[f>>2]=0;k[g>>2]=0;k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[(k[j>>2]|0)+8>>2]|0))break;k[h>>2]=(k[r>>2]|0)+(k[l>>2]<<4);if(k[(k[h>>2]|0)+8>>2]|0){if(!((k[f>>2]|0)!=0?(k[(k[h>>2]|0)+12>>2]|0)>=(k[(k[f>>2]|0)+12>>2]|0):0))k[f>>2]=k[h>>2];if((k[g>>2]|0)!=0?(k[(k[h>>2]|0)+12>>2]|0)!=(k[(k[h>>2]|0)+-16+12>>2]|0):0)k[g>>2]=1;else k[g>>2]=(k[g>>2]|0)+1;if((k[g>>2]|0)>(k[c>>2]|0))k[c>>2]=k[g>>2]}else k[g>>2]=0;k[l>>2]=(k[l>>2]|0)+1}if(!(YN(k[f>>2]|0)|0))continue;k[d>>2]=(k[d>>2]|0)+-1}k[(k[(k[j>>2]|0)+28>>2]|0)+(k[m>>2]<<2)>>2]=k[c>>2];k[m>>2]=(k[m>>2]|0)+1}if((a|0)==11){k[q>>2]=k[p>>2];r=k[q>>2]|0;u=s;return r|0}else if((a|0)==33){ie(k[r>>2]|0);k[q>>2]=0;r=k[q>>2]|0;u=s;return r|0}return 0}function YM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(l[(k[c>>2]|0)+32>>0]|0|0){u=e;return}a=(k[c>>2]|0)+24|0;b=(k[k[d>>2]>>2]|0)+32|0;if(!((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0)){u=e;return}a=k[c>>2]|0;if(k[(k[c>>2]|0)+12>>2]|0){YM(k[a+12>>2]|0,k[d>>2]|0);YM(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0);u=e;return}else{WN(a,k[d>>2]|0);u=e;return}}function ZM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=u;u=u+16|0;g=d+12|0;f=d+8|0;h=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[h>>2]=c;k[e>>2]=k[h>>2];c=TN(k[k[e>>2]>>2]|0,k[g>>2]|0,(k[(k[e>>2]|0)+28>>2]|0)+(($((k[f>>2]|0)*3|0,k[(k[e>>2]|0)+4>>2]|0)|0)<<2)|0)|0;u=d;return c|0}function _M(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=u;u=u+16|0;h=d+12|0;f=d+8|0;e=d+4|0;g=d;k[h>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=0;c=SN(k[h>>2]|0,g,k[f>>2]|0,k[e>>2]|0)|0;u=d;return c|0}function $M(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[d>>2]>>2];k[f>>2]=0;if(k[e>>2]|0){e=k[e>>2]|0;e=(e|0)==0;f=k[f>>2]|0;f=(f|0)!=0;f=e?f:0;f=f&1;u=g;return f|0}if(k[(k[c>>2]|0)+24>>2]|0?(b=FN(0,k[c>>2]|0)|0,k[e>>2]=b,(k[e>>2]|0)==0):0){b=GN(k[c>>2]|0)|0;k[e>>2]=b}b=0==(HN(k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,e)|0)&1;k[f>>2]=b;IN(k[c>>2]|0);k[k[d>>2]>>2]=k[e>>2];e=k[e>>2]|0;e=(e|0)==0;f=k[f>>2]|0;f=(f|0)!=0;f=e?f:0;f=f&1;u=g;return f|0}function aN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+32|0;f=l+28|0;d=l+24|0;m=l+20|0;g=l+16|0;h=l+12|0;i=l+8|0;j=l+4|0;e=l;k[f>>2]=a;k[d>>2]=b;k[m>>2]=c;k[g>>2]=0;k[h>>2]=k[m>>2];d=($(k[d>>2]|0,k[(k[h>>2]|0)+4>>2]|0)|0)*3|0;k[i>>2]=d;k[j>>2]=0;while(1){if(!((k[j>>2]|0)<(k[(k[h>>2]|0)+4>>2]|0)?(k[g>>2]|0)==0:0))break;m=bN(k[k[h>>2]>>2]|0,k[f>>2]|0,k[j>>2]|0,e)|0;k[g>>2]=m;if(k[e>>2]|0){a=cN(e)|0;b=k[(k[h>>2]|0)+28>>2]|0;c=k[i>>2]|0;d=k[j>>2]|0}else{a=0;b=k[(k[h>>2]|0)+28>>2]|0;c=k[i>>2]|0;d=k[j>>2]|0}k[b+(c+(d*3|0)<<2)>>2]=a;k[j>>2]=(k[j>>2]|0)+1}u=l;return k[g>>2]|0}function bN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+96|0;B=F+80|0;x=F+76|0;n=F+72|0;C=F+68|0;D=F+64|0;y=F+60|0;e=F+56|0;z=F+52|0;A=F+48|0;o=F;f=F+44|0;p=F+40|0;g=F+36|0;h=F+85|0;q=F+32|0;j=F+28|0;r=F+24|0;m=F+20|0;s=F+84|0;t=F+16|0;v=F+12|0;w=F+8|0;k[x>>2]=a;k[n>>2]=b;k[C>>2]=c;k[D>>2]=d;k[y>>2]=k[(k[n>>2]|0)+20>>2];k[e>>2]=k[k[x>>2]>>2];k[k[D>>2]>>2]=0;if((k[(k[y>>2]|0)+68>>2]|0)<(k[(k[e>>2]|0)+24>>2]|0)?(k[(k[y>>2]|0)+68>>2]|0)!=(k[C>>2]|0):0){k[B>>2]=0;E=k[B>>2]|0;u=F;return E|0}b=(k[n>>2]|0)+24|0;d=k[b+4>>2]|0;c=o;k[c>>2]=k[b>>2];k[c+4>>2]=d;k[z>>2]=k[(k[y>>2]|0)+28>>2];c=o;d=(k[x>>2]|0)+32|0;if(!(!((k[c>>2]|0)!=(k[d>>2]|0)?1:(k[c+4>>2]|0)!=(k[d+4>>2]|0))?!(l[(k[n>>2]|0)+32>>0]|0):0))E=6;do if((E|0)==6){k[f>>2]=0;k[p>>2]=l[(k[e>>2]|0)+231>>0];k[g>>2]=0;i[h>>0]=0;k[j>>2]=k[n>>2];k[q>>2]=k[(k[n>>2]|0)+8>>2];while(1){if(!(k[q>>2]|0))break;if((k[k[q>>2]>>2]|0)==4)k[g>>2]=1;if((k[k[q>>2]>>2]|0)==1)k[j>>2]=k[q>>2];if(i[(k[q>>2]|0)+32>>0]|0)i[h>>0]=1;k[q>>2]=k[(k[q>>2]|0)+8>>2]}if(!(k[g>>2]|0)){k[B>>2]=0;E=k[B>>2]|0;u=F;return E|0}a:do if(k[(k[y>>2]|0)+40>>2]|0){k[m>>2]=l[(k[j>>2]|0)+32>>0];dN(k[x>>2]|0,k[j>>2]|0,f);b:while(1){if(k[f>>2]|0)break a;while(1){if(!((i[(k[j>>2]|0)+32>>0]|0)!=0^1))break a;eN(k[x>>2]|0,k[j>>2]|0,f);if(k[m>>2]|0)continue b;d=(k[j>>2]|0)+24|0;n=o;if(!(((k[d>>2]|0)!=(k[n>>2]|0)?1:(k[d+4>>2]|0)!=(k[n+4>>2]|0))&(k[f>>2]|0)==0))break a}}}while(0);c:do if((i[h>>0]|0)!=0&(k[f>>2]|0)==0)do{if(!((i[(k[j>>2]|0)+32>>0]|0)!=0^1))break c;eN(k[x>>2]|0,k[j>>2]|0,f)}while(!(k[f>>2]|0));while(0);if(k[f>>2]|0){k[B>>2]=k[f>>2];E=k[B>>2]|0;u=F;return E|0}k[r>>2]=1;k[q>>2]=k[j>>2];while(1){if(!(k[q>>2]|0))break;i[s>>0]=0;k[t>>2]=k[q>>2];if((k[k[t>>2]>>2]|0)==1)k[t>>2]=k[(k[t>>2]|0)+16>>2];k[v>>2]=k[(k[t>>2]|0)+20>>2];k[z>>2]=k[(k[v>>2]|0)+48>>2];d=(k[v>>2]|0)+56|0;n=k[d+4>>2]|0;a=o;k[a>>2]=k[d>>2];k[a+4>>2]=n;a=(k[(k[v>>2]|0)+4>>2]|0)!=0;d:do if((l[(k[x>>2]|0)+52>>0]|0)==(k[p>>2]|0)){if(a)a=(k[z>>2]|0)>>>0>=((k[k[v>>2]>>2]|0)+(k[(k[v>>2]|0)+4>>2]|0)|0)>>>0;else a=1;i[s>>0]=a&1;while(1){if(k[z>>2]|0?(d=k[p>>2]|0?-1:1,m=o,n=(k[x>>2]|0)+32|0,n=h0(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0,B0(d|0,((d|0)<0)<<31>>31|0,n|0,M|0)|0,(M|0)>=0):0)break d;if(l[s>>0]|0)break d;fN(k[p>>2]|0,k[k[v>>2]>>2]|0,k[(k[v>>2]|0)+4>>2]|0,z,o,s)}}else{if(a)if(k[z>>2]|0)a=(k[z>>2]|0)>>>0<=(k[k[v>>2]>>2]|0)>>>0;else a=0;else a=1;i[s>>0]=a&1;while(1){if(k[z>>2]|0?(d=k[p>>2]|0?-1:1,m=o,n=(k[x>>2]|0)+32|0,n=h0(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0,n=B0(d|0,((d|0)<0)<<31>>31|0,n|0,M|0)|0,d=M,!((d|0)>0|(d|0)==0&n>>>0>0)):0)break d;if(l[s>>0]|0)break d;nM(k[p>>2]|0,k[k[v>>2]>>2]|0,k[(k[v>>2]|0)+4>>2]|0,z,o,w,s)}}while(0);k[(k[v>>2]|0)+48>>2]=k[z>>2];m=o;d=k[m+4>>2]|0;n=(k[v>>2]|0)+56|0;k[n>>2]=k[m>>2];k[n+4>>2]=d;if(!(!(l[s>>0]|0)?(d=o,n=(k[x>>2]|0)+32|0,!((k[d>>2]|0)!=(k[n>>2]|0)?1:(k[d+4>>2]|0)!=(k[n+4>>2]|0))):0))k[r>>2]=0;k[q>>2]=k[(k[q>>2]|0)+12>>2]}if(k[r>>2]|0){k[z>>2]=k[(k[y>>2]|0)+48>>2];break}else{k[z>>2]=0;break}}while(0);if(!(k[z>>2]|0)){k[B>>2]=0;E=k[B>>2]|0;u=F;return E|0}if((i[k[z>>2]>>0]|0)==1){k[z>>2]=(k[z>>2]|0)+1;a=k[z>>2]|0;if(l[k[z>>2]>>0]&128|0)a=mM(a,A)|0;else{k[A>>2]=l[a>>0];a=1}k[z>>2]=(k[z>>2]|0)+a}else k[A>>2]=0;while(1){if((k[A>>2]|0)>=(k[C>>2]|0))break;kM(0,z);if(!(i[k[z>>2]>>0]|0)){E=65;break}k[z>>2]=(k[z>>2]|0)+1;a=k[z>>2]|0;if(l[k[z>>2]>>0]&128|0)a=mM(a,A)|0;else{k[A>>2]=l[a>>0];a=1}k[z>>2]=(k[z>>2]|0)+a}if((E|0)==65){k[B>>2]=0;E=k[B>>2]|0;u=F;return E|0}if(!(i[k[z>>2]>>0]|0))k[z>>2]=0;k[k[D>>2]>>2]=(k[C>>2]|0)==(k[A>>2]|0)?k[z>>2]|0:0;k[B>>2]=0;E=k[B>>2]|0;u=F;return E|0}function cN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+8|0;c=f+4|0;d=f+12|0;e=f;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];i[d>>0]=0;k[e>>2]=0;while(1){a=k[c>>2]|0;if(!(254&(i[k[c>>2]>>0]|i[d>>0])))break;k[c>>2]=a+1;i[d>>0]=i[a>>0]&128;if(i[d>>0]|0)continue;k[e>>2]=(k[e>>2]|0)+1}k[k[b>>2]>>2]=a;u=f;return k[e>>2]|0}function dN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){u=l;return}if(k[k[f>>2]>>2]|0){u=l;return}k[g>>2]=k[(k[e>>2]|0)+20>>2];if(k[g>>2]|0){gN(k[g>>2]|0);if(k[(k[g>>2]|0)+40>>2]|0){k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[g>>2]|0)+64>>2]|0))break;k[j>>2]=(k[g>>2]|0)+72+((k[h>>2]|0)*24|0);if(k[(k[j>>2]|0)+20>>2]|0)pN(k[(k[j>>2]|0)+20>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+1}j=qN(k[d>>2]|0,0,k[g>>2]|0)|0;k[k[f>>2]>>2]=j}k[(k[g>>2]|0)+8>>2]=0;j=(k[g>>2]|0)+16|0;k[j>>2]=0;k[j+4>>2]=0;k[(k[g>>2]|0)+48>>2]=0}j=(k[e>>2]|0)+24|0;k[j>>2]=0;k[j+4>>2]=0;i[(k[e>>2]|0)+32>>0]=0;i[(k[e>>2]|0)+33>>0]=0;dN(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0);dN(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0);u=l;return}function eN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+80|0;q=x+64|0;w=x+60|0;r=x+56|0;s=x+52|0;t=x+48|0;v=x+44|0;n=x+8|0;o=x+40|0;p=x+36|0;h=x+32|0;j=x+28|0;m=x;d=x+24|0;e=x+20|0;f=x+16|0;k[q>>2]=a;k[w>>2]=b;k[r>>2]=c;if(k[k[r>>2]>>2]|0){u=x;return}k[s>>2]=l[(k[q>>2]|0)+52>>0];i[(k[w>>2]|0)+33>>0]=1;switch(k[k[w>>2]>>2]|0){case 3:case 1:{k[t>>2]=k[(k[w>>2]|0)+12>>2];k[v>>2]=k[(k[w>>2]|0)+16>>2];if(i[(k[t>>2]|0)+34>>0]|0){eN(k[q>>2]|0,k[v>>2]|0,k[r>>2]|0);r=(k[v>>2]|0)+24|0;s=k[r+4>>2]|0;t=(k[w>>2]|0)+24|0;k[t>>2]=k[r>>2];k[t+4>>2]=s;i[(k[w>>2]|0)+32>>0]=i[(k[v>>2]|0)+32>>0]|0;u=x;return}m=(i[(k[v>>2]|0)+34>>0]|0)!=0;eN(k[q>>2]|0,k[t>>2]|0,k[r>>2]|0);if(m){r=(k[t>>2]|0)+24|0;s=k[r+4>>2]|0;v=(k[w>>2]|0)+24|0;k[v>>2]=k[r>>2];k[v+4>>2]=s;i[(k[w>>2]|0)+32>>0]=i[(k[t>>2]|0)+32>>0]|0;u=x;return}eN(k[q>>2]|0,k[v>>2]|0,k[r>>2]|0);while(1){if(i[(k[t>>2]|0)+32>>0]|0)break;if(i[(k[v>>2]|0)+32>>0]|0)break;if(k[k[r>>2]>>2]|0)break;m=k[s>>2]|0?-1:1;h=(k[t>>2]|0)+24|0;j=(k[v>>2]|0)+24|0;j=h0(k[h>>2]|0,k[h+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;j=B0(m|0,((m|0)<0)<<31>>31|0,j|0,M|0)|0;m=n;k[m>>2]=j;k[m+4>>2]=M;m=n;if((k[m>>2]|0)==0&(k[m+4>>2]|0)==0)break;a=k[q>>2]|0;if((k[n+4>>2]|0)<0){eN(a,k[t>>2]|0,k[r>>2]|0);continue}else{eN(a,k[v>>2]|0,k[r>>2]|0);continue}}m=(k[t>>2]|0)+24|0;n=k[m+4>>2]|0;s=(k[w>>2]|0)+24|0;k[s>>2]=k[m>>2];k[s+4>>2]=n;if(l[(k[t>>2]|0)+32>>0]|0)a=1;else a=(l[(k[v>>2]|0)+32>>0]|0)!=0;i[(k[w>>2]|0)+32>>0]=a&1;if((k[k[w>>2]>>2]|0)!=1){u=x;return}if(!(l[(k[w>>2]|0)+32>>0]|0)){u=x;return}a:do if(k[(k[v>>2]|0)+20>>2]|0?k[k[(k[v>>2]|0)+20>>2]>>2]|0:0){k[o>>2]=k[(k[v>>2]|0)+20>>2];while(1){if(k[k[r>>2]>>2]|0)break a;if(l[(k[v>>2]|0)+32>>0]|0)break a;w0(k[(k[o>>2]|0)+28>>2]|0,0,k[(k[o>>2]|0)+32>>2]|0)|0;eN(k[q>>2]|0,k[v>>2]|0,k[r>>2]|0)}}while(0);if(!(k[(k[t>>2]|0)+20>>2]|0)){u=x;return}if(!(k[k[(k[t>>2]|0)+20>>2]>>2]|0)){u=x;return}k[p>>2]=k[(k[t>>2]|0)+20>>2];while(1){if(k[k[r>>2]>>2]|0){g=54;break}if(l[(k[t>>2]|0)+32>>0]|0){g=54;break}w0(k[(k[p>>2]|0)+28>>2]|0,0,k[(k[p>>2]|0)+32>>2]|0)|0;eN(k[q>>2]|0,k[t>>2]|0,k[r>>2]|0)}if((g|0)==54){u=x;return}break}case 4:{k[h>>2]=k[(k[w>>2]|0)+12>>2];k[j>>2]=k[(k[w>>2]|0)+16>>2];v=k[s>>2]|0?-1:1;p=(k[h>>2]|0)+24|0;t=(k[j>>2]|0)+24|0;t=h0(k[p>>2]|0,k[p+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;t=B0(v|0,((v|0)<0)<<31>>31|0,t|0,M|0)|0;v=m;k[v>>2]=t;k[v+4>>2]=M;do if(!(l[(k[j>>2]|0)+32>>0]|0)?!((k[m+4>>2]|0)<0?(l[(k[h>>2]|0)+32>>0]|0)==0:0):0){if((l[(k[h>>2]|0)+32>>0]|0)==0?(v=m,t=k[v+4>>2]|0,!((l[(k[j>>2]|0)+32>>0]|0)==0&((t|0)>0|(t|0)==0&(k[v>>2]|0)>>>0>0))):0){eN(k[q>>2]|0,k[h>>2]|0,k[r>>2]|0);eN(k[q>>2]|0,k[j>>2]|0,k[r>>2]|0);break}eN(k[q>>2]|0,k[j>>2]|0,k[r>>2]|0)}else g=33;while(0);if((g|0)==33)eN(k[q>>2]|0,k[h>>2]|0,k[r>>2]|0);if(l[(k[h>>2]|0)+32>>0]|0)a=(l[(k[j>>2]|0)+32>>0]|0)!=0;else a=0;i[(k[w>>2]|0)+32>>0]=a&1;v=k[s>>2]|0?-1:1;s=(k[h>>2]|0)+24|0;t=(k[j>>2]|0)+24|0;t=h0(k[s>>2]|0,k[s+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;t=B0(v|0,((v|0)<0)<<31>>31|0,t|0,M|0)|0;v=m;k[v>>2]=t;k[v+4>>2]=M;if(!(l[(k[j>>2]|0)+32>>0]|0)?!((k[m+4>>2]|0)<0?(l[(k[h>>2]|0)+32>>0]|0)==0:0):0){d=(k[j>>2]|0)+24|0;a=k[w>>2]|0;b=k[d>>2]|0;d=k[d+4>>2]|0}else{d=(k[h>>2]|0)+24|0;a=k[w>>2]|0;b=k[d>>2]|0;d=k[d+4>>2]|0}w=a+24|0;k[w>>2]=b;k[w+4>>2]=d;u=x;return}case 2:{k[d>>2]=k[(k[w>>2]|0)+12>>2];k[e>>2]=k[(k[w>>2]|0)+16>>2];if(!(l[(k[e>>2]|0)+33>>0]|0))eN(k[q>>2]|0,k[e>>2]|0,k[r>>2]|0);eN(k[q>>2]|0,k[d>>2]|0,k[r>>2]|0);b:do if(!(l[(k[d>>2]|0)+32>>0]|0))while(1){if(k[k[r>>2]>>2]|0)break b;if(i[(k[e>>2]|0)+32>>0]|0)break b;t=k[s>>2]|0?-1:1;p=(k[d>>2]|0)+24|0;v=(k[e>>2]|0)+24|0;v=h0(k[p>>2]|0,k[p+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;v=B0(t|0,((t|0)<0)<<31>>31|0,v|0,M|0)|0;t=M;if(!((t|0)>0|(t|0)==0&v>>>0>0))break b;eN(k[q>>2]|0,k[e>>2]|0,k[r>>2]|0)}while(0);s=(k[d>>2]|0)+24|0;t=k[s+4>>2]|0;v=(k[w>>2]|0)+24|0;k[v>>2]=k[s>>2];k[v+4>>2]=t;i[(k[w>>2]|0)+32>>0]=i[(k[d>>2]|0)+32>>0]|0;u=x;return}default:{k[f>>2]=k[(k[w>>2]|0)+20>>2];gN(k[f>>2]|0);t=hN(k[q>>2]|0,k[f>>2]|0,(k[w>>2]|0)+32|0)|0;k[k[r>>2]>>2]=t;t=(k[f>>2]|0)+16|0;v=k[t+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[t>>2];k[w+4>>2]=v;u=x;return}}}function fN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;g=q+16|0;h=q+12|0;j=q+8|0;l=q;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[g>>2]=e;k[h>>2]=f;k[j>>2]=k[k[p>>2]>>2];if(!(k[j>>2]|0)){k[j>>2]=k[n>>2];o=lM(k[j>>2]|0,k[g>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+o;o=k[j>>2]|0;p=k[p>>2]|0;k[p>>2]=o;u=q;return}qM(0,j);while(1){if((k[j>>2]|0)>>>0<((k[n>>2]|0)+(k[o>>2]|0)|0)>>>0)b=(i[k[j>>2]>>0]|0)==0;else b=0;a=k[j>>2]|0;if(!b)break;k[j>>2]=a+1}if(a>>>0>=((k[n>>2]|0)+(k[o>>2]|0)|0)>>>0){i[k[h>>2]>>0]=1;o=k[j>>2]|0;p=k[p>>2]|0;k[p>>2]=o;u=q;return}else{o=lM(k[j>>2]|0,l)|0;k[j>>2]=(k[j>>2]|0)+o;o=k[m>>2]|0?-1:1;n=l;n=B0(o|0,((o|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;o=k[g>>2]|0;m=o;n=i0(k[m>>2]|0,k[m+4>>2]|0,n|0,M|0)|0;k[o>>2]=n;k[o+4>>2]=M;o=k[j>>2]|0;p=k[p>>2]|0;k[p>>2]=o;u=q;return}}function gN(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+24>>2]|0)ie(k[(k[b>>2]|0)+28>>2]|0);k[(k[b>>2]|0)+28>>2]=0;k[(k[b>>2]|0)+32>>2]=0;k[(k[b>>2]|0)+24>>2]=0;u=c;return}function hN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=k[d>>2];k[h>>2]=k[k[j>>2]>>2];a=k[j>>2]|0;if(k[(k[d>>2]|0)+40>>2]|0){j=iN(a,k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;u=i;return j|0}if((l[a+52>>0]|0|0)!=(l[(k[h>>2]|0)+231>>0]|0|0)?k[(k[g>>2]|0)+4>>2]|0:0){nM(l[(k[h>>2]|0)+231>>0]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0,(k[g>>2]|0)+8|0,(k[g>>2]|0)+16|0,(k[g>>2]|0)+32|0,k[e>>2]|0);k[(k[g>>2]|0)+28>>2]=k[(k[g>>2]|0)+8>>2];j=k[f>>2]|0;u=i;return j|0}jN(k[h>>2]|0,k[g>>2]|0,k[e>>2]|0);j=k[f>>2]|0;u=i;return j|0}function iN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+192|0;w=D+172|0;d=D+168|0;x=D+164|0;y=D+160|0;z=D+156|0;A=D+152|0;B=D+148|0;e=D+176|0;f=D+144|0;g=D+8|0;h=D+140|0;j=D;m=D+136|0;n=D+132|0;o=D+128|0;p=D+124|0;q=D+120|0;r=D+116|0;s=D+112|0;t=D+108|0;v=D+104|0;k[d>>2]=a;k[x>>2]=b;k[y>>2]=c;k[z>>2]=0;k[A>>2]=k[x>>2];k[B>>2]=k[k[d>>2]>>2];i[e>>0]=0;if((k[(k[x>>2]|0)+64>>2]|0)==1?k[(k[x>>2]|0)+40>>2]|0:0){B=kN(k[B>>2]|0,k[(k[x>>2]|0)+72+20>>2]|0,(k[A>>2]|0)+16|0,(k[A>>2]|0)+28|0,(k[A>>2]|0)+32|0)|0;k[z>>2]=B;if(!(k[(k[A>>2]|0)+28>>2]|0))i[e>>0]=1}else C=5;a:do if((C|0)==5){k[f>>2]=l[(k[d>>2]|0)+52>>0];a=g;b=a+96|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(l[e>>0]|0|0)break a;k[h>>2]=0;d=j;k[d>>2]=0;k[d+4>>2]=0;k[m>>2]=0;while(1){if(k[z>>2]|0)break;if((k[m>>2]|0)>=(k[(k[x>>2]|0)+64>>2]|0))break;if(l[e>>0]|0|0)break;d=lN(k[B>>2]|0,k[x>>2]|0,k[m>>2]|0,g+((k[m>>2]|0)*24|0)|0,e)|0;k[z>>2]=d;do if(!(k[g+((k[m>>2]|0)*24|0)>>2]|0)){if(k[h>>2]|0?(c=k[f>>2]|0?-1:1,b=j,d=g+((k[m>>2]|0)*24|0)+8|0,d=h0(k[b>>2]|0,k[b+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0,B0(c|0,((c|0)<0)<<31>>31|0,d|0,M|0)|0,(M|0)>=0):0)break;b=g+((k[m>>2]|0)*24|0)+8|0;c=k[b+4>>2]|0;d=j;k[d>>2]=k[b>>2];k[d+4>>2]=c;k[h>>2]=1}while(0);k[m>>2]=(k[m>>2]|0)+1}k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[(k[x>>2]|0)+64>>2]|0))break;while(1){if(k[z>>2]|0)break;if(l[e>>0]|0|0)break;if(k[g+((k[m>>2]|0)*24|0)>>2]|0)break;c=k[f>>2]|0?-1:1;b=g+((k[m>>2]|0)*24|0)+8|0;d=j;d=h0(k[b>>2]|0,k[b+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;B0(c|0,((c|0)<0)<<31>>31|0,d|0,M|0)|0;if((M|0)>=0)break;c=lN(k[B>>2]|0,k[x>>2]|0,k[m>>2]|0,g+((k[m>>2]|0)*24|0)|0,e)|0;k[z>>2]=c;c=k[f>>2]|0?-1:1;b=g+((k[m>>2]|0)*24|0)+8|0;d=j;d=h0(k[b>>2]|0,k[b+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;d=B0(c|0,((c|0)<0)<<31>>31|0,d|0,M|0)|0;c=M;if(!((c|0)>0|(c|0)==0&d>>>0>0))continue;b=g+((k[m>>2]|0)*24|0)+8|0;c=k[b+4>>2]|0;d=j;k[d>>2]=k[b>>2];k[d+4>>2]=c;k[m>>2]=0}k[m>>2]=(k[m>>2]|0)+1}if(l[e>>0]|0|0)continue;k[n>>2]=0;k[o>>2]=k[g+(((k[(k[x>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];d=ze((k[o>>2]|0)+1|0)|0;k[p>>2]=d;if(!(k[p>>2]|0))break;r0(k[p>>2]|0,k[g+(((k[(k[x>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(k[o>>2]|0)+1|0)|0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=((k[(k[x>>2]|0)+64>>2]|0)-1|0))break;if(!(k[g+((k[m>>2]|0)*24|0)>>2]|0)){k[q>>2]=k[g+((k[m>>2]|0)*24|0)+16>>2];k[r>>2]=k[p>>2];k[s>>2]=k[p>>2];k[t>>2]=(k[(k[x>>2]|0)+64>>2]|0)-1-(k[m>>2]|0);d=mN(s,k[t>>2]|0,0,1,q,r)|0;k[v>>2]=d;if(!(k[v>>2]|0))break;k[n>>2]=(k[s>>2]|0)-(k[p>>2]|0)}k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)==((k[(k[x>>2]|0)+64>>2]|0)-1|0)){C=35;break}ie(k[p>>2]|0)}if((C|0)==35){x=j;B=k[x+4>>2]|0;C=(k[A>>2]|0)+16|0;k[C>>2]=k[x>>2];k[C+4>>2]=B;k[(k[A>>2]|0)+28>>2]=k[p>>2];k[(k[A>>2]|0)+32>>2]=k[n>>2];k[(k[A>>2]|0)+24>>2]=1;break}k[w>>2]=7;C=k[w>>2]|0;u=D;return C|0}while(0);i[k[y>>2]>>0]=i[e>>0]|0;k[w>>2]=k[z>>2];C=k[w>>2]|0;u=D;return C|0}function jN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+32|0;d=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;e=m;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j>>2]=(k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0);a=k[f>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0)k[h>>2]=k[a+8>>2];else k[h>>2]=k[a>>2];if((k[h>>2]|0)>>>0>=(k[j>>2]|0)>>>0){i[k[g>>2]>>0]=1;u=m;return}c=lM(k[h>>2]|0,e)|0;k[h>>2]=(k[h>>2]|0)+c;if((l[(k[d>>2]|0)+231>>0]|0)!=0?(k[(k[f>>2]|0)+8>>2]|0)!=0:0){d=e;e=(k[f>>2]|0)+16|0;c=e;d=h0(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;k[e+4>>2]=M}else{d=e;e=(k[f>>2]|0)+16|0;c=e;d=i0(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;k[e+4>>2]=M}k[(k[f>>2]|0)+28>>2]=k[h>>2];qM(0,h);k[(k[f>>2]|0)+32>>2]=(k[h>>2]|0)-(k[(k[f>>2]|0)+28>>2]|0);while(1){if((k[h>>2]|0)>>>0<(k[j>>2]|0)>>>0)a=(i[k[h>>2]>>0]|0)==0;else a=0;b=k[h>>2]|0;if(!a)break;k[h>>2]=b+1}k[(k[f>>2]|0)+8>>2]=b;i[k[g>>2]>>0]=0;u=m;return}function kN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+64|0;t=x+60|0;m=x+56|0;n=x+52|0;v=x+48|0;w=x+44|0;o=x+40|0;f=x+36|0;g=x+32|0;h=x+28|0;i=x+24|0;p=x+20|0;q=x+16|0;r=x+12|0;j=x+8|0;s=x;k[m>>2]=a;k[n>>2]=b;k[v>>2]=c;k[w>>2]=d;k[o>>2]=e;k[f>>2]=k[(k[n>>2]|0)+8>>2];k[g>>2]=k[k[n>>2]>>2];k[h>>2]=l[(k[m>>2]|0)+231>>0]|0|0?215:216;if(!(k[f>>2]|0)){k[k[w>>2]>>2]=0;k[t>>2]=0;w=k[t>>2]|0;u=x;return w|0}while(1){k[i>>2]=k[k[k[n>>2]>>2]>>2];if(!(k[(k[i>>2]|0)+80>>2]|0)){a=4;break}c=(k[k[g>>2]>>2]|0)+88|0;d=k[c+4>>2]|0;e=s;k[e>>2]=k[c>>2];k[e+4>>2]=d;e=hM(k[m>>2]|0,k[k[g>>2]>>2]|0,q,r)|0;k[p>>2]=e;k[j>>2]=1;while(1){if(k[p>>2]|0)break;if((k[j>>2]|0)>=(k[f>>2]|0))break;if(!(k[(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)+80>>2]|0))break;d=(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)+88|0;e=s;if(!((k[d>>2]|0)==(k[e>>2]|0)?(k[d+4>>2]|0)==(k[e+4>>2]|0):0))break;e=hM(k[m>>2]|0,k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0,0,0)|0;k[p>>2]=e;k[j>>2]=(k[j>>2]|0)+1}if(k[p>>2]|0){a=12;break}eM(k[k[n>>2]>>2]|0,k[f>>2]|0,k[j>>2]|0,k[h>>2]|0);if((k[r>>2]|0)>0?k[(k[k[g>>2]>>2]|0)+56>>2]|0:0){e=fM(k[n>>2]|0,k[q>>2]|0,(k[r>>2]|0)+1|0)|0;k[p>>2]=e;if(k[p>>2]|0){a=16;break}k[q>>2]=k[(k[n>>2]|0)+16>>2]}if((k[(k[n>>2]|0)+24>>2]|0)>=0)iM(k[(k[n>>2]|0)+24>>2]|0,1,q,r);if((k[r>>2]|0)>0){a=21;break}}if((a|0)==4)k[k[w>>2]>>2]=0;else if((a|0)==12){k[t>>2]=k[p>>2];w=k[t>>2]|0;u=x;return w|0}else if((a|0)==16){k[t>>2]=k[p>>2];w=k[t>>2]|0;u=x;return w|0}else if((a|0)==21){k[k[w>>2]>>2]=k[q>>2];q=s;s=k[q+4>>2]|0;w=k[v>>2]|0;k[w>>2]=k[q>>2];k[w+4>>2]=s;k[k[o>>2]>>2]=k[r>>2]}k[t>>2]=0;w=k[t>>2]|0;u=x;return w|0}function lN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;h=o+24|0;j=o+20|0;l=o+16|0;m=o+12|0;n=o+8|0;f=o+4|0;g=o;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[f>>2]=0;if((k[(k[j>>2]|0)+44>>2]|0)==(k[l>>2]|0)){jN(k[h>>2]|0,k[j>>2]|0,k[n>>2]|0);k[(k[m>>2]|0)+16>>2]=k[(k[j>>2]|0)+28>>2];k[(k[m>>2]|0)+20>>2]=k[(k[j>>2]|0)+32>>2];j=(k[j>>2]|0)+16|0;l=k[j+4>>2]|0;n=(k[m>>2]|0)+8|0;k[n>>2]=k[j>>2];k[n+4>>2]=l;n=k[f>>2]|0;u=o;return n|0}k[g>>2]=(k[j>>2]|0)+72+((k[l>>2]|0)*24|0);if(!(k[(k[g>>2]|0)+20>>2]|0)){k[k[m>>2]>>2]=1;n=k[f>>2]|0;u=o;return n|0}l=kN(k[h>>2]|0,k[(k[g>>2]|0)+20>>2]|0,(k[m>>2]|0)+8|0,(k[m>>2]|0)+16|0,(k[m>>2]|0)+20|0)|0;k[f>>2]=l;if(k[(k[m>>2]|0)+16>>2]|0){n=k[f>>2]|0;u=o;return n|0}i[k[n>>2]>>0]=1;n=k[f>>2]|0;u=o;return n|0}function mN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+96|0;x=C+80|0;y=C+76|0;z=C+72|0;A=C+68|0;g=C+64|0;h=C+60|0;j=C+56|0;m=C+52|0;n=C+48|0;o=C+44|0;p=C+40|0;q=C+36|0;r=C+32|0;s=C+24|0;t=C+16|0;v=C+8|0;w=C;k[y>>2]=a;k[z>>2]=b;k[A>>2]=c;k[g>>2]=d;k[h>>2]=e;k[j>>2]=f;k[m>>2]=k[k[y>>2]>>2];k[n>>2]=k[k[h>>2]>>2];k[o>>2]=k[k[j>>2]>>2];k[p>>2]=0;k[q>>2]=0;if((i[k[n>>2]>>0]|0)==1){k[n>>2]=(k[n>>2]|0)+1;a=k[n>>2]|0;if(l[k[n>>2]>>0]&128|0)a=mM(a,p)|0;else{k[p>>2]=l[a>>0];a=1}k[n>>2]=(k[n>>2]|0)+a}if((i[k[o>>2]>>0]|0)==1){k[o>>2]=(k[o>>2]|0)+1;a=k[o>>2]|0;if(l[k[o>>2]>>0]&128|0)a=mM(a,q)|0;else{k[q>>2]=l[a>>0];a=1}k[o>>2]=(k[o>>2]|0)+a}while(1){if((k[p>>2]|0)!=(k[q>>2]|0))if((k[p>>2]|0)<(k[q>>2]|0)){kM(0,n);if(!(i[k[n>>2]>>0]|0))break;k[n>>2]=(k[n>>2]|0)+1;a=k[n>>2]|0;if(l[k[n>>2]>>0]&128|0)a=mM(a,p)|0;else{k[p>>2]=l[a>>0];a=1}k[n>>2]=(k[n>>2]|0)+a;continue}else{kM(0,o);if(!(i[k[o>>2]>>0]|0))break;k[o>>2]=(k[o>>2]|0)+1;a=k[o>>2]|0;if(l[k[o>>2]>>0]&128|0)a=mM(a,q)|0;else{k[q>>2]=l[a>>0];a=1}k[o>>2]=(k[o>>2]|0)+a;continue}k[r>>2]=k[m>>2];f=s;k[f>>2]=0;k[f+4>>2]=0;f=t;k[f>>2]=0;k[f+4>>2]=0;f=v;k[f>>2]=0;k[f+4>>2]=0;if(k[p>>2]|0){f=k[m>>2]|0;k[m>>2]=f+1;i[f>>0]=1;f=k[p>>2]|0;f=XL(k[m>>2]|0,f,((f|0)<0)<<31>>31)|0;k[m>>2]=(k[m>>2]|0)+f}nN(n,t);f=t;f=h0(k[f>>2]|0,k[f+4>>2]|0,2,0)|0;e=t;k[e>>2]=f;k[e+4>>2]=M;nN(o,v);e=v;e=h0(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=v;k[f>>2]=e;k[f+4>>2]=M;while(1){f=v;d=k[f>>2]|0;f=k[f+4>>2]|0;c=t;e=k[z>>2]|0;e=i0(k[c>>2]|0,k[c+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;if(!((d|0)==(e|0)&(f|0)==(M|0))){if(((k[g>>2]|0)==0?(e=v,c=k[e+4>>2]|0,f=t,d=k[f+4>>2]|0,(c|0)>(d|0)|((c|0)==(d|0)?(k[e>>2]|0)>>>0>(k[f>>2]|0)>>>0:0)):0)?(c=v,e=k[c>>2]|0,c=k[c+4>>2]|0,d=t,f=k[z>>2]|0,f=i0(k[d>>2]|0,k[d+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,d=M,(c|0)<(d|0)|(c|0)==(d|0)&e>>>0<=f>>>0):0)B=19}else B=19;if((B|0)==19){B=0;b=(k[A>>2]|0)!=0;c=t;d=v;f=b?k[c+4>>2]|0:k[d+4>>2]|0;e=w;k[e>>2]=b?k[c>>2]|0:k[d>>2]|0;k[e+4>>2]=f;e=w;e=i0(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;oN(m,s,e,M);e=s;e=h0(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=s;k[f>>2]=e;k[f+4>>2]=M;k[r>>2]=0}if(!(!(k[A>>2]|0)?(c=v,e=k[c>>2]|0,c=k[c+4>>2]|0,d=t,f=k[z>>2]|0,f=i0(k[d>>2]|0,k[d+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,d=M,(c|0)<(d|0)|(c|0)==(d|0)&e>>>0<=f>>>0):0))B=22;if((B|0)==22?(B=0,e=v,c=k[e+4>>2]|0,f=t,d=k[f+4>>2]|0,!((c|0)<(d|0)|((c|0)==(d|0)?(k[e>>2]|0)>>>0<=(k[f>>2]|0)>>>0:0))):0){if(!(i[k[n>>2]>>0]&254))break;nN(n,t);e=t;e=h0(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=t;k[f>>2]=e;k[f+4>>2]=M;continue}if(!(i[k[o>>2]>>0]&254))break;nN(o,v);e=v;e=h0(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=v;k[f>>2]=e;k[f+4>>2]=M}if(k[r>>2]|0)k[m>>2]=k[r>>2];kM(0,n);kM(0,o);if(!(i[k[n>>2]>>0]|0))break;if(!(i[k[o>>2]>>0]|0))break;k[n>>2]=(k[n>>2]|0)+1;a=k[n>>2]|0;if(l[k[n>>2]>>0]&128|0)a=mM(a,p)|0;else{k[p>>2]=l[a>>0];a=1}k[n>>2]=(k[n>>2]|0)+a;k[o>>2]=(k[o>>2]|0)+1;a=k[o>>2]|0;if(l[k[o>>2]>>0]&128|0)a=mM(a,q)|0;else{k[q>>2]=l[a>>0];a=1}k[o>>2]=(k[o>>2]|0)+a}qM(0,o);qM(0,n);k[k[h>>2]>>2]=k[n>>2];k[k[j>>2]>>2]=k[o>>2];if((k[k[y>>2]>>2]|0)==(k[m>>2]|0)){k[x>>2]=0;B=k[x>>2]|0;u=C;return B|0}else{B=k[m>>2]|0;k[m>>2]=B+1;i[B>>0]=0;k[k[y>>2]>>2]=k[m>>2];k[x>>2]=1;B=k[x>>2]|0;u=C;return B|0}return 0}function nN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;f=c+12|0;d=c+8|0;e=c;k[f>>2]=a;k[d>>2]=b;b=lM(k[k[f>>2]>>2]|0,e)|0;a=k[f>>2]|0;k[a>>2]=(k[a>>2]|0)+b;a=e;b=k[d>>2]|0;d=b;a=i0(k[d>>2]|0,k[d+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[b>>2]=a;k[b+4>>2]=M;u=c;return}function oN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=u;u=u+16|0;h=e+12|0;f=e+8|0;g=e;k[h>>2]=a;k[f>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;b=k[k[h>>2]>>2]|0;d=g;c=k[f>>2]|0;c=h0(k[d>>2]|0,k[d+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;c=XL(b,c,M)|0;b=k[h>>2]|0;k[b>>2]=(k[b>>2]|0)+c;b=g;c=k[b+4>>2]|0;d=k[f>>2]|0;k[d>>2]=k[b>>2];k[d+4>>2]=c;u=e;return}function pN(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[(k[b>>2]|0)+8>>2]=0;k[(k[b>>2]|0)+28>>2]=1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+4>>2]|0))break;k[(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+80>>2]=0;k[(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+84>>2]=0;a=(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+88|0;k[a>>2]=0;k[a+4>>2]=0;k[c>>2]=(k[c>>2]|0)+1}u=d;return 0}function qN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+48|0;f=r+44|0;s=r+40|0;n=r+36|0;o=r+32|0;q=r+28|0;p=r+24|0;g=r+20|0;d=r+16|0;e=r+12|0;i=r+8|0;j=r+4|0;m=r;k[f>>2]=a;k[s>>2]=b;k[n>>2]=c;k[o>>2]=k[k[f>>2]>>2];k[q>>2]=0;k[g>>2]=0;if((k[s>>2]|0?(l[(k[f>>2]|0)+52>>0]|0|0)==(l[(k[o>>2]|0)+231>>0]|0|0):0)?(k[(k[n>>2]|0)+64>>2]|0)<=4:0)a=(k[(k[n>>2]|0)+64>>2]|0)>0;else a=0;k[d>>2]=a&1;k[p>>2]=0;while(1){if((k[d>>2]|0)!=1)break;if((k[p>>2]|0)>=(k[(k[n>>2]|0)+64>>2]|0))break;k[e>>2]=(k[n>>2]|0)+72+((k[p>>2]|0)*24|0);if(!(k[(k[e>>2]|0)+12>>2]|0)){if(k[(k[e>>2]|0)+20>>2]|0?(k[(k[(k[e>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)h=11}else h=11;if((h|0)==11){h=0;k[d>>2]=0}if(k[(k[e>>2]|0)+20>>2]|0)k[g>>2]=1;k[p>>2]=(k[p>>2]|0)+1}if(!((k[d>>2]|0)!=0&(k[g>>2]|0)!=0)){p=sN(k[f>>2]|0,k[n>>2]|0)|0;k[q>>2]=p;p=0;s=k[n>>2]|0;s=s+40|0;k[s>>2]=p;s=k[q>>2]|0;u=r;return s|0}if((k[(k[n>>2]|0)+68>>2]|0)>=(k[(k[o>>2]|0)+24>>2]|0))a=-1;else a=k[(k[n>>2]|0)+68>>2]|0;k[i>>2]=a;k[p>>2]=0;while(1){if(!(k[q>>2]|0))b=(k[p>>2]|0)<(k[(k[n>>2]|0)+64>>2]|0);else b=0;a=k[n>>2]|0;if(!b){b=1;break}k[j>>2]=a+72+((k[p>>2]|0)*24|0);k[m>>2]=k[(k[j>>2]|0)+20>>2];if(k[m>>2]|0){s=rN(k[o>>2]|0,k[m>>2]|0,k[i>>2]|0,k[k[j>>2]>>2]|0,k[(k[j>>2]|0)+4>>2]|0)|0;k[q>>2]=s}k[p>>2]=(k[p>>2]|0)+1}s=a+40|0;k[s>>2]=b;s=k[q>>2]|0;u=r;return s|0}function rN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;p=s+40|0;i=s+36|0;q=s+32|0;r=s+28|0;j=s+24|0;f=s+20|0;m=s+16|0;n=s+12|0;g=s+8|0;o=s+4|0;h=s;k[i>>2]=a;k[q>>2]=b;k[r>>2]=c;k[j>>2]=d;k[f>>2]=e;k[g>>2]=k[(k[q>>2]|0)+4>>2];k[o>>2]=l[(k[i>>2]|0)+231>>0]|0|0?215:216;e=uM(k[i>>2]|0,k[q>>2]|0,k[j>>2]|0,k[f>>2]|0)|0;k[n>>2]=e;if(k[n>>2]|0){k[p>>2]=k[n>>2];r=k[p>>2]|0;u=s;return r|0}k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[g>>2]|0))break;k[h>>2]=k[(k[k[q>>2]>>2]|0)+(k[m>>2]<<2)>>2];if(!(k[(k[h>>2]|0)+40>>2]|0))break;if(vM(k[h>>2]|0,k[j>>2]|0,k[f>>2]|0)|0)break;k[m>>2]=(k[m>>2]|0)+1}k[(k[q>>2]|0)+8>>2]=k[m>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[(k[q>>2]|0)+8>>2]|0)){a=13;break}j=gM(k[i>>2]|0,k[(k[k[q>>2]>>2]|0)+(k[m>>2]<<2)>>2]|0)|0;k[n>>2]=j;if(k[n>>2]|0){a=11;break}k[m>>2]=(k[m>>2]|0)+1}if((a|0)==11){k[p>>2]=k[n>>2];r=k[p>>2]|0;u=s;return r|0}else if((a|0)==13){eM(k[k[q>>2]>>2]|0,k[m>>2]|0,k[m>>2]|0,k[o>>2]|0);k[(k[q>>2]|0)+24>>2]=k[r>>2];k[p>>2]=0;r=k[p>>2]|0;u=s;return r|0}return 0}function sN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;l=j+28|0;c=j+24|0;d=j+20|0;e=j+16|0;i=j+12|0;f=j+8|0;g=j+4|0;h=j;k[l>>2]=a;k[c>>2]=b;k[d>>2]=k[k[l>>2]>>2];k[i>>2]=0;k[e>>2]=0;while(1){if(k[i>>2]|0){a=8;break}if((k[e>>2]|0)>=(k[(k[c>>2]|0)+64>>2]|0)){a=8;break}k[f>>2]=(k[c>>2]|0)+72+((k[e>>2]|0)*24|0);if(k[(k[f>>2]|0)+20>>2]|0?(k[g>>2]=0,k[h>>2]=0,l=tN(k[d>>2]|0,k[f>>2]|0,k[(k[c>>2]|0)+68>>2]|0,g,h)|0,k[i>>2]=l,(k[i>>2]|0)==0):0){l=uN(k[d>>2]|0,k[c>>2]|0,k[e>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[i>>2]=l}k[e>>2]=(k[e>>2]|0)+1}if((a|0)==8){u=j;return k[i>>2]|0}return 0}function tN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+192|0;l=q+176|0;m=q+172|0;n=q+168|0;o=q+164|0;p=q+160|0;f=q+156|0;g=q+152|0;h=q+24|0;i=q+8|0;j=q;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[g>>2]=k[(k[m>>2]|0)+20>>2];a=h;b=a+128|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[i+12>>2]=3|(k[(k[m>>2]|0)+8>>2]|0?8:0)|(k[(k[m>>2]|0)+12>>2]|0?32:0)|((k[n>>2]|0)<(k[(k[l>>2]|0)+24>>2]|0)?4:0);k[i+8>>2]=k[n>>2];k[i>>2]=k[k[m>>2]>>2];k[i+4>>2]=k[(k[m>>2]|0)+4>>2];n=HL(k[l>>2]|0,k[g>>2]|0,i)|0;k[f>>2]=n;while(1){if(k[f>>2]|0)break;n=IL(k[l>>2]|0,k[g>>2]|0)|0;k[f>>2]=n;if(100!=(n|0))break;n=yN(k[l>>2]|0,h,k[(k[g>>2]|0)+48>>2]|0,k[(k[g>>2]|0)+52>>2]|0)|0;k[f>>2]=n}if(!(k[f>>2]|0)){n=zN(k[l>>2]|0,h)|0;k[f>>2]=n}if(!(k[f>>2]|0)){k[k[p>>2]>>2]=k[h>>2];k[k[o>>2]>>2]=k[h+64>>2];p=k[g>>2]|0;AN(p);p=k[m>>2]|0;p=p+20|0;k[p>>2]=0;p=k[f>>2]|0;u=q;return p|0}k[j>>2]=0;while(1){if((k[j>>2]|0)>=16)break;ie(k[h+(k[j>>2]<<2)>>2]|0);k[j>>2]=(k[j>>2]|0)+1}p=k[g>>2]|0;AN(p);p=k[m>>2]|0;p=p+20|0;k[p>>2]=0;p=k[f>>2]|0;u=q;return p|0}function uN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;n=s+40|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;f=s+20|0;g=s+16|0;h=s+12|0;i=s+8|0;j=s+4|0;m=s;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[r>>2]=e;k[f>>2]=0;a=k[o>>2]|0;do if(!(k[q>>2]|0)){ie(k[a>>2]|0);k[k[o>>2]>>2]=0;k[(k[o>>2]|0)+4>>2]=0}else{if((k[a+44>>2]|0)<0){k[k[o>>2]>>2]=k[q>>2];k[(k[o>>2]|0)+4>>2]=k[r>>2];break}if(!(k[k[o>>2]>>2]|0)){ie(k[q>>2]|0);break}a=k[k[o>>2]>>2]|0;if((k[(k[o>>2]|0)+44>>2]|0)<(k[p>>2]|0)){k[g>>2]=a;k[i>>2]=k[(k[o>>2]|0)+4>>2];k[h>>2]=k[q>>2];k[j>>2]=k[r>>2];k[m>>2]=(k[p>>2]|0)-(k[(k[o>>2]|0)+44>>2]|0)}else{k[h>>2]=a;k[j>>2]=k[(k[o>>2]|0)+4>>2];k[g>>2]=k[q>>2];k[i>>2]=k[r>>2];k[m>>2]=(k[(k[o>>2]|0)+44>>2]|0)-(k[p>>2]|0)}r=vN(l[(k[n>>2]|0)+231>>0]|0,k[m>>2]|0,k[g>>2]|0,k[i>>2]|0,h,j)|0;k[f>>2]=r;ie(k[g>>2]|0);k[k[o>>2]>>2]=k[h>>2];k[(k[o>>2]|0)+4>>2]=k[j>>2]}while(0);if((k[p>>2]|0)<=(k[(k[o>>2]|0)+44>>2]|0)){r=k[f>>2]|0;u=s;return r|0}k[(k[o>>2]|0)+44>>2]=k[p>>2];r=k[f>>2]|0;u=s;return r|0}function vN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=u;u=u+112|0;z=C+104|0;A=C+100|0;B=C+96|0;D=C+92|0;E=C+88|0;g=C+84|0;h=C+80|0;i=C+32|0;j=C+24|0;l=C+16|0;m=C+76|0;n=C+72|0;o=C+68|0;p=C+64|0;q=C+60|0;r=C+56|0;s=C+52|0;t=C+48|0;v=C+8|0;w=C+44|0;x=C;y=C+40|0;k[A>>2]=a;k[B>>2]=b;k[D>>2]=c;k[E>>2]=d;k[g>>2]=e;k[h>>2]=f;f=i;k[f>>2]=0;k[f+4>>2]=0;f=j;k[f>>2]=0;k[f+4>>2]=0;f=l;k[f>>2]=0;k[f+4>>2]=0;k[m>>2]=k[k[g>>2]>>2];k[n>>2]=(k[D>>2]|0)+(k[E>>2]|0);k[o>>2]=(k[m>>2]|0)+(k[k[h>>2]>>2]|0);k[p>>2]=k[D>>2];k[q>>2]=k[m>>2];k[s>>2]=0;if(k[A>>2]|0){E=ze((k[k[h>>2]>>2]|0)+10|0)|0;k[t>>2]=E;if(!(k[t>>2]|0)){k[z>>2]=7;E=k[z>>2]|0;u=C;return E|0}}else k[t>>2]=k[m>>2];k[r>>2]=k[t>>2];wN(p,k[n>>2]|0,0,i);wN(q,k[o>>2]|0,0,j);while(1){if(!(k[p>>2]|0?(k[q>>2]|0)!=0:0))break;E=k[A>>2]|0?-1:1;f=i;D=j;D=h0(k[f>>2]|0,k[f+4>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0;D=B0(E|0,((E|0)<0)<<31>>31|0,D|0,M|0)|0;E=v;k[E>>2]=D;k[E+4>>2]=M;E=v;if(!((k[E>>2]|0)==0&(k[E+4>>2]|0)==0))if((k[v+4>>2]|0)<0){qM(0,p);wN(p,k[n>>2]|0,k[A>>2]|0,i);continue}else{qM(0,q);wN(q,k[o>>2]|0,k[A>>2]|0,j);continue}else{k[w>>2]=k[r>>2];f=l;D=k[f+4>>2]|0;E=x;k[E>>2]=k[f>>2];k[E+4>>2]=D;k[y>>2]=k[s>>2];E=i;xN(r,k[A>>2]|0,l,s,k[E>>2]|0,k[E+4>>2]|0);if(!(mN(r,k[B>>2]|0,0,1,p,q)|0)){k[r>>2]=k[w>>2];f=x;D=k[f+4>>2]|0;E=l;k[E>>2]=k[f>>2];k[E+4>>2]=D;k[s>>2]=k[y>>2]}wN(p,k[n>>2]|0,k[A>>2]|0,i);wN(q,k[o>>2]|0,k[A>>2]|0,j);continue}}k[k[h>>2]>>2]=(k[r>>2]|0)-(k[t>>2]|0);if(k[A>>2]|0){ie(k[m>>2]|0);k[k[g>>2]>>2]=k[t>>2]}k[z>>2]=0;E=k[z>>2]|0;u=C;return E|0}function wN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;e=i+20|0;j=i+16|0;f=i+12|0;g=i+8|0;h=i;k[e>>2]=a;k[j>>2]=b;k[f>>2]=c;k[g>>2]=d;a=k[e>>2]|0;if((k[k[e>>2]>>2]|0)>>>0>=(k[j>>2]|0)>>>0){k[a>>2]=0;u=i;return}else{d=lM(k[a>>2]|0,h)|0;e=k[e>>2]|0;k[e>>2]=(k[e>>2]|0)+d;f=(k[f>>2]|0)!=0;e=h;d=k[e>>2]|0;e=k[e+4>>2]|0;j=k[g>>2]|0;c=j;b=k[c>>2]|0;c=k[c+4>>2]|0;g=i0(b|0,c|0,d|0,e|0)|0;h=M;e=h0(b|0,c|0,d|0,e|0)|0;k[j>>2]=f?e:g;k[j+4>>2]=f?M:h;u=i;return}}function xN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=u;u=u+32|0;i=m+28|0;n=m+24|0;j=m+20|0;l=m+16|0;g=m+8|0;h=m;k[i>>2]=a;k[n>>2]=b;k[j>>2]=c;k[l>>2]=d;d=g;k[d>>2]=e;k[d+4>>2]=f;if((k[n>>2]|0)!=0?(k[k[l>>2]>>2]|0)!=0:0){n=k[j>>2]|0;f=g;f=h0(k[n>>2]|0,k[n+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;n=h;k[n>>2]=f;k[n+4>>2]=M}else{n=g;f=k[j>>2]|0;f=h0(k[n>>2]|0,k[n+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;n=h;k[n>>2]=f;k[n+4>>2]=M}n=h;n=XL(k[k[i>>2]>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;f=k[i>>2]|0;k[f>>2]=(k[f>>2]|0)+n;f=g;i=k[f+4>>2]|0;n=k[j>>2]|0;k[n>>2]=k[f>>2];k[n+4>>2]=i;k[k[l>>2]>>2]=1;u=m;return}function yN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;m=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;e=s+24|0;q=s+20|0;f=s+16|0;g=s+12|0;h=s+8|0;i=s+4|0;j=s;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[e>>2]=d;a:do if(!(k[k[o>>2]>>2]|0)){r=ze((k[e>>2]|0)+10+1|0)|0;k[k[o>>2]>>2]=r;k[(k[o>>2]|0)+64>>2]=k[e>>2];if(k[k[o>>2]>>2]|0){r0(k[k[o>>2]>>2]|0,k[p>>2]|0,k[e>>2]|0)|0;break}k[m>>2]=7;r=k[m>>2]|0;u=s;return r|0}else{k[q>>2]=k[p>>2];k[f>>2]=k[e>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=16)break a;if(!(k[(k[o>>2]|0)+(k[g>>2]<<2)>>2]|0)){r=8;break}a=BN(l[(k[n>>2]|0)+231>>0]|0,k[q>>2]|0,k[f>>2]|0,k[(k[o>>2]|0)+(k[g>>2]<<2)>>2]|0,k[(k[o>>2]|0)+64+(k[g>>2]<<2)>>2]|0,h,i)|0;k[j>>2]=a;a=(k[q>>2]|0)!=(k[p>>2]|0);if(k[j>>2]|0)break;if(a)ie(k[q>>2]|0);ie(k[(k[o>>2]|0)+(k[g>>2]<<2)>>2]|0);k[(k[o>>2]|0)+(k[g>>2]<<2)>>2]=0;k[q>>2]=k[h>>2];k[f>>2]=k[i>>2];if(((k[g>>2]|0)+1|0)==16){k[(k[o>>2]|0)+(k[g>>2]<<2)>>2]=k[q>>2];k[(k[o>>2]|0)+64+(k[g>>2]<<2)>>2]=k[f>>2]}k[g>>2]=(k[g>>2]|0)+1}if((r|0)==8){k[(k[o>>2]|0)+(k[g>>2]<<2)>>2]=k[q>>2];k[(k[o>>2]|0)+64+(k[g>>2]<<2)>>2]=k[f>>2];break}if(a)ie(k[q>>2]|0);k[m>>2]=k[j>>2];r=k[m>>2]|0;u=s;return r|0}while(0);k[m>>2]=0;r=k[m>>2]|0;u=s;return r|0}function zN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;n=u;u=u+48|0;h=n+32|0;c=n+28|0;i=n+24|0;j=n+20|0;m=n+16|0;d=n+12|0;e=n+8|0;f=n+4|0;g=n;k[c>>2]=a;k[i>>2]=b;k[j>>2]=0;k[m>>2]=0;k[d>>2]=0;a:while(1){if((k[d>>2]|0)>=16){a=10;break}do if(k[(k[i>>2]|0)+(k[d>>2]<<2)>>2]|0){if(!(k[j>>2]|0)){k[j>>2]=k[(k[i>>2]|0)+(k[d>>2]<<2)>>2];k[m>>2]=k[(k[i>>2]|0)+64+(k[d>>2]<<2)>>2];k[(k[i>>2]|0)+(k[d>>2]<<2)>>2]=0;break}b=BN(l[(k[c>>2]|0)+231>>0]|0,k[(k[i>>2]|0)+(k[d>>2]<<2)>>2]|0,k[(k[i>>2]|0)+64+(k[d>>2]<<2)>>2]|0,k[j>>2]|0,k[m>>2]|0,f,e)|0;k[g>>2]=b;if(k[g>>2]|0){a=7;break a}ie(k[(k[i>>2]|0)+(k[d>>2]<<2)>>2]|0);ie(k[j>>2]|0);k[(k[i>>2]|0)+(k[d>>2]<<2)>>2]=0;k[j>>2]=k[f>>2];k[m>>2]=k[e>>2]}while(0);k[d>>2]=(k[d>>2]|0)+1}if((a|0)==7){ie(k[j>>2]|0);k[h>>2]=k[g>>2];m=k[h>>2]|0;u=n;return m|0}else if((a|0)==10){k[k[i>>2]>>2]=k[j>>2];k[(k[i>>2]|0)+64>>2]=k[m>>2];k[h>>2]=0;m=k[h>>2]|0;u=n;return m|0}return 0}function AN(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;OL(k[c>>2]|0);ie(k[c>>2]|0);u=b;return}function BN(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;y=u;u=u+96|0;w=y+88|0;x=y+84|0;C=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;h=y+64|0;i=y+60|0;j=y+24|0;l=y+16|0;m=y+8|0;n=y+56|0;o=y+52|0;p=y+48|0;q=y+44|0;r=y+40|0;s=y+36|0;t=y+32|0;v=y;k[x>>2]=a;k[C>>2]=b;k[A>>2]=c;k[B>>2]=d;k[z>>2]=e;k[h>>2]=f;k[i>>2]=g;g=j;k[g>>2]=0;k[g+4>>2]=0;g=l;k[g>>2]=0;k[g+4>>2]=0;g=m;k[g>>2]=0;k[g+4>>2]=0;k[n>>2]=(k[C>>2]|0)+(k[A>>2]|0);k[o>>2]=(k[B>>2]|0)+(k[z>>2]|0);k[p>>2]=k[C>>2];k[q>>2]=k[B>>2];k[t>>2]=0;k[k[h>>2]>>2]=0;k[k[i>>2]>>2]=0;g=ze((k[A>>2]|0)+(k[z>>2]|0)+10-1|0)|0;k[s>>2]=g;if(!(k[s>>2]|0)){k[w>>2]=7;C=k[w>>2]|0;u=y;return C|0}k[r>>2]=k[s>>2];wN(p,k[n>>2]|0,0,j);wN(q,k[o>>2]|0,0,l);while(1){if(!(k[p>>2]|0?1:(k[q>>2]|0)!=0))break;C=k[x>>2]|0?-1:1;A=j;B=l;B=h0(k[A>>2]|0,k[A+4>>2]|0,k[B>>2]|0,k[B+4>>2]|0)|0;B=B0(C|0,((C|0)<0)<<31>>31|0,B|0,M|0)|0;C=v;k[C>>2]=B;k[C+4>>2]=M;C=v;if((k[q>>2]|0)!=0&(k[p>>2]|0)!=0&((k[C>>2]|0)==0&(k[C+4>>2]|0)==0)){C=j;xN(r,k[x>>2]|0,m,t,k[C>>2]|0,k[C+4>>2]|0);CN(r,p,q);wN(p,k[n>>2]|0,k[x>>2]|0,j);wN(q,k[o>>2]|0,k[x>>2]|0,l);continue}if(k[q>>2]|0?!((k[p>>2]|0)!=0&(k[v+4>>2]|0)<0):0){C=l;xN(r,k[x>>2]|0,m,t,k[C>>2]|0,k[C+4>>2]|0);qM(r,q);wN(q,k[o>>2]|0,k[x>>2]|0,l);continue}C=j;xN(r,k[x>>2]|0,m,t,k[C>>2]|0,k[C+4>>2]|0);qM(r,p);wN(p,k[n>>2]|0,k[x>>2]|0,j)}k[k[h>>2]>>2]=k[s>>2];k[k[i>>2]>>2]=(k[r>>2]|0)-(k[s>>2]|0);k[w>>2]=0;C=k[w>>2]|0;u=y;return C|0}function CN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=u;u=u+64|0;j=s+56|0;m=s+52|0;n=s+48|0;o=s+44|0;p=s+40|0;q=s+36|0;r=s+32|0;d=s+28|0;e=s+16|0;f=s+8|0;g=s;h=s+24|0;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=k[k[j>>2]>>2];k[p>>2]=k[k[m>>2]>>2];k[q>>2]=k[k[n>>2]>>2];a:while(1){if((i[k[p>>2]>>0]|0)==0?(i[k[q>>2]>>0]|0)==0:0)break;a=k[p>>2]|0;do if((i[k[p>>2]>>0]|0)==1){b=(k[p>>2]|0)+1|0;if(l[a+1>>0]&128|0){mM(b,r)|0;break}else{k[r>>2]=l[b>>0];break}}else if(!(i[a>>0]|0)){k[r>>2]=2147483647;break}else{k[r>>2]=0;break}while(0);a=k[q>>2]|0;do if((i[k[q>>2]>>0]|0)==1){b=(k[q>>2]|0)+1|0;if(l[a+1>>0]&128|0){mM(b,d)|0;break}else{k[d>>2]=l[b>>0];break}}else if(!(i[a>>0]|0)){k[d>>2]=2147483647;break}else{k[d>>2]=0;break}while(0);if((k[r>>2]|0)!=(k[d>>2]|0))if((k[r>>2]|0)<(k[d>>2]|0)){c=DN(o,k[r>>2]|0)|0;k[p>>2]=(k[p>>2]|0)+c;kM(o,p);continue}else{c=DN(o,k[d>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+c;kM(o,q);continue}c=e;k[c>>2]=0;k[c+4>>2]=0;c=f;k[c>>2]=0;k[c+4>>2]=0;c=g;k[c>>2]=0;k[c+4>>2]=0;c=DN(o,k[r>>2]|0)|0;k[h>>2]=c;k[p>>2]=(k[p>>2]|0)+(k[h>>2]|0);k[q>>2]=(k[q>>2]|0)+(k[h>>2]|0);nN(p,e);nN(q,f);while(1){b=e;t=k[b+4>>2]|0;a=f;c=k[a+4>>2]|0;a=(t|0)<(c|0)|((t|0)==(c|0)?(k[b>>2]|0)>>>0<(k[a>>2]|0)>>>0:0);b=e;c=f;oN(o,g,a?k[b>>2]|0:k[c>>2]|0,a?k[b+4>>2]|0:k[c+4>>2]|0);c=g;c=h0(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;b=g;k[b>>2]=c;k[b+4>>2]=M;b=e;c=f;do if(!((k[b>>2]|0)==(k[c>>2]|0)?(k[b+4>>2]|0)==(k[c+4>>2]|0):0)){c=e;a=k[c+4>>2]|0;t=f;b=k[t+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)){EN(p,e);break}else{EN(q,f);break}}else{EN(p,e);EN(q,f)}while(0);c=e;t=f;if(!((k[c>>2]|0)!=2147483647|(k[c+4>>2]|0)!=0?1:(k[t>>2]|0)!=2147483647|(k[t+4>>2]|0)!=0))continue a}}t=k[o>>2]|0;k[o>>2]=t+1;i[t>>0]=0;k[k[j>>2]>>2]=k[o>>2];k[k[m>>2]>>2]=(k[p>>2]|0)+1;k[k[n>>2]>>2]=(k[q>>2]|0)+1;u=s;return}function DN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[d>>2]|0)){f=k[e>>2]|0;u=g;return f|0}k[f>>2]=k[k[c>>2]>>2];d=k[d>>2]|0;d=1+(XL((k[f>>2]|0)+1|0,d,((d|0)<0)<<31>>31)|0)|0;k[e>>2]=d;i[k[f>>2]>>0]=1;k[k[c>>2]>>2]=(k[f>>2]|0)+(k[e>>2]|0);f=k[e>>2]|0;u=g;return f|0}function EN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[k[k[c>>2]>>2]>>0]&254|0){nN(k[c>>2]|0,k[d>>2]|0);d=k[d>>2]|0;c=d;c=h0(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;k[d>>2]=c;k[d+4>>2]=M;u=e;return}else{d=k[d>>2]|0;k[d>>2]=2147483647;k[d+4>>2]=0;u=e;return}}function FN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;if(i[(k[e>>2]|0)+7>>0]|0?(k[g>>2]=0,g=RN(k[e>>2]|0,g)|0,k[f>>2]=g,(k[f>>2]|0)==0):0){g=(k[e>>2]|0)+32|0;AJ(k[(k[e>>2]|0)+8>>2]|0,1,k[g>>2]|0,k[g+4>>2]|0)|0;i[(k[e>>2]|0)+7>>0]=0;if(100==(Ls(k[(k[e>>2]|0)+8>>2]|0)|0)){k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}g=Is(k[(k[e>>2]|0)+8>>2]|0)|0;k[f>>2]=g;if((k[f>>2]|0)==0?(k[(k[k[e>>2]>>2]|0)+40>>2]|0)==0:0){k[f>>2]=267;i[(k[e>>2]|0)+6>>0]=1}}if((k[f>>2]|0)!=0&(k[d>>2]|0)!=0)ej(k[d>>2]|0,k[f>>2]|0);k[c>>2]=k[f>>2];g=k[c>>2]|0;u=h;return g|0}function GN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;v=u;u=u+80|0;b=v+64|0;j=v+60|0;m=v+56|0;n=v;o=v+52|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+36|0;c=v+32|0;d=v+28|0;e=v+24|0;f=v+20|0;g=v+16|0;h=v+12|0;i=v+8|0;k[b>>2]=a;k[j>>2]=0;if(!(k[(k[b>>2]|0)+24>>2]|0)){t=k[j>>2]|0;u=v;return t|0}k[p>>2]=k[k[b>>2]>>2];k[q>>2]=k[(k[p>>2]|0)+36>>2];k[r>>2]=k[k[q>>2]>>2];w=tJ(k[(k[b>>2]|0)+8>>2]|0,0)|0;a=n;k[a>>2]=w;k[a+4>>2]=M;k[m>>2]=0;while(1){if(!((k[m>>2]|0)<(k[(k[p>>2]|0)+24>>2]|0)?(k[j>>2]|0)==0:0))break;if(!(l[(k[(k[p>>2]|0)+32>>2]|0)+(k[m>>2]|0)>>0]|0)){w=Mv(k[(k[b>>2]|0)+8>>2]|0,(k[m>>2]|0)+1|0)|0;k[s>>2]=w;k[c>>2]=0;w=ON(k[q>>2]|0,k[(k[b>>2]|0)+16>>2]|0,k[s>>2]|0,-1,c)|0;k[j>>2]=w;a:while(1){if(k[j>>2]|0)break;k[e>>2]=0;k[f>>2]=0;k[g>>2]=0;k[h>>2]=0;w=Qb[k[(k[r>>2]|0)+20>>2]&255](k[c>>2]|0,d,e,f,g,h)|0;k[j>>2]=w;k[o>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!(k[o>>2]|0?(k[j>>2]|0)==0:0))continue a;k[i>>2]=k[k[o>>2]>>2];if(!((k[(k[o>>2]|0)+4>>2]|0)<(k[(k[p>>2]|0)+24>>2]|0)?(k[(k[o>>2]|0)+4>>2]|0)!=(k[m>>2]|0):0))t=11;do if((t|0)==11?(t=0,(k[h>>2]|0)==0?1:(k[(k[i>>2]|0)+12>>2]|0)==0):0){if((k[(k[i>>2]|0)+4>>2]|0)!=(k[e>>2]|0)){if(!(k[(k[i>>2]|0)+8>>2]|0))break;if((k[(k[i>>2]|0)+4>>2]|0)>=(k[e>>2]|0))break}if(!(R_(k[d>>2]|0,k[k[i>>2]>>2]|0,k[(k[i>>2]|0)+4>>2]|0)|0)){x=n;a=k[m>>2]|0;w=k[h>>2]|0;PN((k[o>>2]|0)+12|0,k[x>>2]|0,k[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,j)|0}}while(0);k[o>>2]=k[(k[o>>2]|0)+8>>2]}}if(k[c>>2]|0)Rb[k[(k[r>>2]|0)+16>>2]&255](k[c>>2]|0)|0;if((k[j>>2]|0)==101)k[j>>2]=0}k[m>>2]=(k[m>>2]|0)+1}k[o>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!(k[o>>2]|0?(k[j>>2]|0)==0:0))break;if(k[(k[o>>2]|0)+12>>2]|0){x=QN((k[o>>2]|0)+12|0,0,0)|0;k[j>>2]=x}k[o>>2]=k[(k[o>>2]|0)+8>>2]}x=k[j>>2]|0;u=v;return x|0}function HN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+32|0;j=o+28|0;h=o+24|0;e=o+20|0;n=o+16|0;m=o+12|0;f=o+8|0;g=o+4|0;d=o;k[j>>2]=a;k[h>>2]=b;k[e>>2]=c;k[n>>2]=1;if(k[k[e>>2]>>2]|0){n=k[n>>2]|0;u=o;return n|0}switch(k[k[h>>2]>>2]|0){case 3:case 1:{if(HN(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[e>>2]|0)|0?HN(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[e>>2]|0)|0:0)a=(JN(k[h>>2]|0,k[e>>2]|0)|0)!=0;else a=0;k[n>>2]=a&1;if(k[n>>2]|0){n=k[n>>2]|0;u=o;return n|0}if((k[k[h>>2]>>2]|0)!=1){n=k[n>>2]|0;u=o;return n|0}if(k[(k[h>>2]|0)+8>>2]|0?(k[k[(k[h>>2]|0)+8>>2]>>2]|0)==1:0){n=k[n>>2]|0;u=o;return n|0}k[m>>2]=k[h>>2];while(1){a=k[m>>2]|0;if(k[(k[m>>2]|0)+20>>2]|0)break;g=(k[a+16>>2]|0)+24|0;h=(k[j>>2]|0)+32|0;if((k[g>>2]|0)==(k[h>>2]|0)?(k[g+4>>2]|0)==(k[h+4>>2]|0):0)gN(k[(k[(k[m>>2]|0)+16>>2]|0)+20>>2]|0);k[m>>2]=k[(k[m>>2]|0)+12>>2]}h=a+24|0;j=(k[j>>2]|0)+32|0;if(!((k[h>>2]|0)==(k[j>>2]|0)?(k[h+4>>2]|0)==(k[j+4>>2]|0):0)){n=k[n>>2]|0;u=o;return n|0}gN(k[(k[m>>2]|0)+20>>2]|0);n=k[n>>2]|0;u=o;return n|0}case 4:{m=HN(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[e>>2]|0)|0;k[f>>2]=m;m=HN(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[e>>2]|0)|0;k[g>>2]=m;k[n>>2]=(k[f>>2]|0?1:(k[g>>2]|0)!=0)&1;n=k[n>>2]|0;u=o;return n|0}case 2:{if(HN(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[e>>2]|0)|0)a=(HN(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[e>>2]|0)|0)!=0^1;else a=0;k[n>>2]=a&1;n=k[n>>2]|0;u=o;return n|0}default:{do if(k[(k[j>>2]|0)+24>>2]|0){g=(k[h>>2]|0)+24|0;m=(k[j>>2]|0)+32|0;if(!((k[g>>2]|0)==(k[m>>2]|0)?(k[g+4>>2]|0)==(k[m+4>>2]|0):0)?(l[(k[h>>2]|0)+34>>0]|0)==0:0)break;k[d>>2]=k[(k[h>>2]|0)+20>>2];if(i[(k[h>>2]|0)+34>>0]|0)gN(k[d>>2]|0);g=KN(k[j>>2]|0,k[d>>2]|0)|0;k[k[e>>2]>>2]=g;k[n>>2]=(k[(k[d>>2]|0)+28>>2]|0)!=0&1;g=(k[j>>2]|0)+32|0;j=k[g+4>>2]|0;m=(k[h>>2]|0)+24|0;k[m>>2]=k[g>>2];k[m+4>>2]=j;n=k[n>>2]|0;u=o;return n|0}while(0);if(!(l[(k[h>>2]|0)+32>>0]|0)){m=(k[h>>2]|0)+24|0;a=(k[j>>2]|0)+32|0;a=(k[m>>2]|0)==(k[a>>2]|0)?(k[m+4>>2]|0)==(k[a+4>>2]|0):0}else a=0;k[n>>2]=a&1;n=k[n>>2]|0;u=o;return n|0}}return 0}function IN(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+24>>2];while(1){if(!(k[b>>2]|0))break;xL(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+12>>2]=0;k[b>>2]=k[(k[b>>2]|0)+8>>2]}u=c;return}function JN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;e=q+44|0;f=q+40|0;j=q+36|0;m=q+32|0;g=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;c=q+12|0;d=q+8|0;h=q+4|0;i=q;k[e>>2]=a;k[f>>2]=b;k[j>>2]=1;if(k[k[f>>2]>>2]|0){p=k[j>>2]|0;u=q;return p|0}if((k[k[e>>2]>>2]|0)!=1){p=k[j>>2]|0;u=q;return p|0}if(l[(k[e>>2]|0)+32>>0]|0|0){p=k[j>>2]|0;u=q;return p|0}if(k[(k[e>>2]|0)+8>>2]|0?(k[k[(k[e>>2]|0)+8>>2]>>2]|0)==1:0){p=k[j>>2]|0;u=q;return p|0}k[g>>2]=0;k[m>>2]=k[e>>2];while(1){a=k[m>>2]|0;if(!(k[(k[m>>2]|0)+12>>2]|0))break;k[g>>2]=(k[g>>2]|0)+(k[(k[(k[a+16>>2]|0)+20>>2]|0)+32>>2]|0);k[m>>2]=k[(k[m>>2]|0)+12>>2]}k[g>>2]=(k[g>>2]|0)+(k[(k[a+20>>2]|0)+32>>2]|0);if(!(k[g>>2]|0)){k[j>>2]=0;p=k[j>>2]|0;u=q;return p|0}g=ze(k[g>>2]<<1)|0;k[n>>2]=g;a:do if(k[n>>2]|0){k[o>>2]=k[(k[(k[m>>2]|0)+20>>2]|0)+28>>2];k[p>>2]=k[(k[(k[m>>2]|0)+20>>2]|0)+64>>2];k[m>>2]=k[(k[m>>2]|0)+8>>2];while(1){if(!((k[j>>2]|0)!=0&(k[m>>2]|0)!=0))break;if((k[k[m>>2]>>2]|0)!=1)break;k[c>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+20>>2];k[d>>2]=k[(k[m>>2]|0)+4>>2];g=MN(k[d>>2]|0,k[n>>2]|0,o,p,k[c>>2]|0)|0;k[j>>2]=g;k[m>>2]=k[(k[m>>2]|0)+8>>2]}k[o>>2]=k[(k[(k[(k[e>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];k[p>>2]=k[(k[(k[(k[e>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];k[m>>2]=k[(k[e>>2]|0)+12>>2];while(1){if(!(k[m>>2]|0?(k[j>>2]|0)!=0:0))break a;k[h>>2]=k[(k[(k[m>>2]|0)+8>>2]|0)+4>>2];a=k[m>>2]|0;if((k[k[m>>2]>>2]|0)==1)a=k[a+16>>2]|0;k[i>>2]=k[a+20>>2];g=MN(k[h>>2]|0,k[n>>2]|0,o,p,k[i>>2]|0)|0;k[j>>2]=g;k[m>>2]=k[(k[m>>2]|0)+12>>2]}}else{k[k[f>>2]>>2]=7;k[j>>2]=0}while(0);ie(k[n>>2]|0);p=k[j>>2]|0;u=q;return p|0}function KN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+80|0;w=y+76|0;r=y+72|0;v=y+68|0;i=y+64|0;x=y+60|0;s=y+56|0;t=y+52|0;j=y+48|0;c=y+44|0;d=y+40|0;e=y+36|0;l=y+32|0;f=y+28|0;g=y+24|0;h=y+20|0;m=y+16|0;n=y+12|0;o=y+8|0;p=y+4|0;q=y;k[r>>2]=a;k[v>>2]=b;k[x>>2]=0;k[s>>2]=0;k[t>>2]=-1;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[v>>2]|0)+64>>2]|0)){a=14;break}k[j>>2]=(k[v>>2]|0)+72+((k[i>>2]|0)*24|0);k[c>>2]=k[(k[j>>2]|0)+16>>2];if(k[c>>2]|0){b=LN(k[c>>2]|0,d,e)|0;k[l>>2]=b;if(k[l>>2]|0){a=5;break}b=k[x>>2]|0;if(!(k[d>>2]|0)){a=7;break}a=k[d>>2]|0;if(b){k[f>>2]=a;k[g>>2]=k[x>>2];k[h>>2]=k[f>>2];mN(f,(k[i>>2]|0)-(k[t>>2]|0)|0,0,1,g,h)|0;ie(k[x>>2]|0);k[x>>2]=k[d>>2];k[s>>2]=(k[f>>2]|0)-(k[x>>2]|0);if(!(k[s>>2]|0)){a=11;break}}else{k[x>>2]=a;k[s>>2]=k[e>>2]}k[t>>2]=k[i>>2]}k[i>>2]=(k[i>>2]|0)+1}if((a|0)==5){k[w>>2]=k[l>>2];x=k[w>>2]|0;u=y;return x|0}else if((a|0)==7){ie(b);k[(k[v>>2]|0)+28>>2]=0;k[(k[v>>2]|0)+32>>2]=0;k[w>>2]=0;x=k[w>>2]|0;u=y;return x|0}else if((a|0)==11){ie(k[x>>2]|0);k[(k[v>>2]|0)+28>>2]=0;k[(k[v>>2]|0)+32>>2]=0;k[w>>2]=0;x=k[w>>2]|0;u=y;return x|0}else if((a|0)==14){do if((k[t>>2]|0)>=0){k[m>>2]=k[(k[v>>2]|0)+44>>2];if((k[m>>2]|0)<0){k[(k[v>>2]|0)+28>>2]=k[x>>2];k[(k[v>>2]|0)+32>>2]=k[s>>2];s=(k[r>>2]|0)+32|0;t=k[s+4>>2]|0;x=(k[v>>2]|0)+16|0;k[x>>2]=k[s>>2];k[x+4>>2]=t;k[(k[v>>2]|0)+24>>2]=1;break}if((k[m>>2]|0)>(k[t>>2]|0)){k[o>>2]=k[x>>2];k[p>>2]=k[(k[v>>2]|0)+28>>2];k[n>>2]=(k[m>>2]|0)-(k[t>>2]|0)}else{k[o>>2]=k[(k[v>>2]|0)+28>>2];k[p>>2]=k[x>>2];k[n>>2]=(k[t>>2]|0)-(k[m>>2]|0)}t=ze((k[s>>2]|0)+8|0)|0;k[q>>2]=t;if(!(k[q>>2]|0)){ie(k[x>>2]|0);k[w>>2]=7;x=k[w>>2]|0;u=y;return x|0}k[(k[v>>2]|0)+28>>2]=k[q>>2];if(mN(q,k[n>>2]|0,0,1,o,p)|0){k[(k[v>>2]|0)+24>>2]=1;b=(k[q>>2]|0)-(k[(k[v>>2]|0)+28>>2]|0)|0;a=k[v>>2]|0}else{ie(k[q>>2]|0);k[(k[v>>2]|0)+28>>2]=0;b=0;a=k[v>>2]|0}k[a+32>>2]=b;ie(k[x>>2]|0)}while(0);k[w>>2]=0;x=k[w>>2]|0;u=y;return x|0}return 0}function LN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;d=j+28|0;e=j+24|0;f=j+20|0;g=j+16|0;h=j+12|0;i=j+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[k[f>>2]>>2]=0;k[k[g>>2]>>2]=0;if(!(k[(k[e>>2]|0)+12>>2]|0)){k[d>>2]=0;i=k[d>>2]|0;u=j;return i|0}c=ze(k[k[(k[e>>2]|0)+12>>2]>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){c=lM(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0,j)|0;k[i>>2]=c;k[k[g>>2]>>2]=(k[k[(k[e>>2]|0)+12>>2]>>2]|0)-(k[i>>2]|0);k[k[f>>2]>>2]=k[h>>2];r0(k[h>>2]|0,(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0)+(k[i>>2]|0)|0,k[k[g>>2]>>2]|0)|0;k[d>>2]=0;i=k[d>>2]|0;u=j;return i|0}else{k[d>>2]=7;i=k[d>>2]|0;u=j;return i|0}return 0}function MN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=u;u=u+48|0;r=m+40|0;q=m+36|0;i=m+32|0;j=m+28|0;l=m+24|0;p=m+20|0;o=m+16|0;f=m+12|0;n=m+8|0;g=m+4|0;h=m;k[r>>2]=a;k[q>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[p>>2]=(k[r>>2]|0)+(k[(k[l>>2]|0)+64>>2]|0);k[o>>2]=(k[r>>2]|0)+(k[k[j>>2]>>2]|0);e=k[(k[l>>2]|0)+28>>2]|0;k[g>>2]=e;k[n>>2]=e;e=NN(g,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[i>>2]|0,n)|0;k[h>>2]=e;if(!(k[h>>2]|0)){r=k[h>>2]|0;u=m;return r|0}k[f>>2]=(k[g>>2]|0)-(k[(k[l>>2]|0)+28>>2]|0)-1;w0((k[(k[l>>2]|0)+28>>2]|0)+(k[f>>2]|0)|0,0,(k[(k[l>>2]|0)+32>>2]|0)-(k[f>>2]|0)|0)|0;k[(k[l>>2]|0)+32>>2]=k[f>>2];k[k[i>>2]>>2]=k[(k[l>>2]|0)+28>>2];k[k[j>>2]>>2]=k[(k[l>>2]|0)+64>>2];r=k[h>>2]|0;u=m;return r|0}function NN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=u;u=u+48|0;l=n+44|0;m=n+40|0;t=n+36|0;q=n+32|0;o=n+28|0;p=n+24|0;s=n+20|0;r=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;j=n;k[l>>2]=a;k[m>>2]=b;k[t>>2]=c;k[q>>2]=d;k[o>>2]=e;k[p>>2]=f;k[s>>2]=k[k[o>>2]>>2];k[r>>2]=k[k[p>>2]>>2];k[g>>2]=k[m>>2];k[j>>2]=1;mN(g,k[t>>2]|0,0,0,k[o>>2]|0,k[p>>2]|0)|0;f=k[g>>2]|0;k[h>>2]=f;k[i>>2]=f;k[k[o>>2]>>2]=k[s>>2];k[k[p>>2]>>2]=k[r>>2];mN(h,k[q>>2]|0,1,0,k[p>>2]|0,k[o>>2]|0)|0;if((k[g>>2]|0)!=(k[m>>2]|0)?(k[h>>2]|0)!=(k[i>>2]|0):0){CN(k[l>>2]|0,m,i);t=k[j>>2]|0;u=n;return t|0}if((k[g>>2]|0)!=(k[m>>2]|0)){qM(k[l>>2]|0,m);t=k[j>>2]|0;u=n;return t|0}if((k[h>>2]|0)!=(k[i>>2]|0)){qM(k[l>>2]|0,i);t=k[j>>2]|0;u=n;return t|0}else{k[j>>2]=0;t=k[j>>2]|0;u=n;return t|0}return 0}function ON(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=u;u=u+32|0;i=m+28|0;j=m+24|0;o=m+20|0;n=m+16|0;l=m+12|0;f=m+8|0;g=m+4|0;h=m;k[i>>2]=a;k[j>>2]=b;k[o>>2]=c;k[n>>2]=d;k[l>>2]=e;k[f>>2]=k[k[i>>2]>>2];k[g>>2]=0;e=Ub[k[(k[f>>2]|0)+12>>2]&255](k[i>>2]|0,k[o>>2]|0,k[n>>2]|0,g)|0;k[h>>2]=e;if(((k[h>>2]|0)==0?(k[k[g>>2]>>2]=k[i>>2],(k[k[f>>2]>>2]|0)>=1):0)?(o=Wb[k[(k[f>>2]|0)+24>>2]&255](k[g>>2]|0,k[j>>2]|0)|0,k[h>>2]=o,k[h>>2]|0):0){Rb[k[(k[f>>2]|0)+16>>2]&255](k[g>>2]|0)|0;k[g>>2]=0}k[k[l>>2]>>2]=k[g>>2];u=m;return k[h>>2]|0}function PN(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;q=t+48|0;r=t+44|0;i=t+24|0;j=t+16|0;l=t+8|0;m=t+40|0;n=t+36|0;o=t+32|0;p=t;k[r>>2]=a;a=i;k[a>>2]=b;k[a+4>>2]=c;c=j;k[c>>2]=d;k[c+4>>2]=e;e=l;k[e>>2]=f;k[e+4>>2]=g;k[m>>2]=h;k[n>>2]=k[k[r>>2]>>2];k[o>>2]=0;if(k[n>>2]|0?(g=(k[n>>2]|0)+16|0,h=i,!((k[g>>2]|0)!=(k[h>>2]|0)?1:(k[g+4>>2]|0)!=(k[h+4>>2]|0))):0)s=9;else{a=i;if(k[n>>2]|0){c=(k[n>>2]|0)+16|0;b=k[c>>2]|0;c=k[c+4>>2]|0}else{b=0;c=0}g=h0(k[a>>2]|0,k[a+4>>2]|0,b|0,c|0)|0;h=p;k[h>>2]=g;k[h+4>>2]=M;if(k[n>>2]|0){h=k[n>>2]|0;k[h>>2]=(k[h>>2]|0)+1}p=QN(n,k[p>>2]|0,k[p+4>>2]|0)|0;k[o>>2]=p;if(!p){p=(k[n>>2]|0)+24|0;k[p>>2]=-1;k[p+4>>2]=-1;p=(k[n>>2]|0)+32|0;k[p>>2]=0;k[p+4>>2]=0;p=k[i+4>>2]|0;s=(k[n>>2]|0)+16|0;k[s>>2]=k[i>>2];k[s+4>>2]=p;s=9}}do if((s|0)==9){s=j;p=k[s+4>>2]|0;if((p|0)>0|(p|0)==0&(k[s>>2]|0)>>>0>0?(p=(k[n>>2]|0)+24|0,s=j,(k[p>>2]|0)!=(k[s>>2]|0)?1:(k[p+4>>2]|0)!=(k[s+4>>2]|0)):0){s=QN(n,1,0)|0;k[o>>2]=s;if(s)break;s=j;s=QN(n,k[s>>2]|0,k[s+4>>2]|0)|0;k[o>>2]=s;if(s)break;i=j;p=k[i+4>>2]|0;s=(k[n>>2]|0)+24|0;k[s>>2]=k[i>>2];k[s+4>>2]=p;s=(k[n>>2]|0)+32|0;k[s>>2]=0;k[s+4>>2]=0}s=j;p=k[s+4>>2]|0;if((p|0)>0|(p|0)==0&(k[s>>2]|0)>>>0>=0?(p=l,p=i0(2,0,k[p>>2]|0,k[p+4>>2]|0)|0,s=(k[n>>2]|0)+32|0,s=h0(p|0,M|0,k[s>>2]|0,k[s+4>>2]|0)|0,s=QN(n,s,M)|0,k[o>>2]=s,(k[o>>2]|0)==0):0){p=k[l+4>>2]|0;s=(k[n>>2]|0)+32|0;k[s>>2]=k[l>>2];k[s+4>>2]=p}}while(0);k[k[m>>2]>>2]=k[o>>2];if((k[n>>2]|0)!=(k[k[r>>2]>>2]|0)){k[k[r>>2]>>2]=k[n>>2];k[q>>2]=1;s=k[q>>2]|0;u=t;return s|0}else{k[q>>2]=0;s=k[q>>2]|0;u=t;return s|0}return 0}function QN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+20|0;e=j+16|0;f=j;g=j+12|0;h=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=k[k[e>>2]>>2];do if(k[g>>2]|0){if(((k[k[g>>2]>>2]|0)+10+1|0)>(k[(k[g>>2]|0)+8>>2]|0)){k[h>>2]=k[(k[g>>2]|0)+8>>2]<<1;c=fg(k[g>>2]|0,40+(k[h>>2]|0)|0)|0;k[g>>2]=c;if(k[g>>2]|0){k[(k[g>>2]|0)+8>>2]=k[h>>2];k[(k[g>>2]|0)+4>>2]=(k[g>>2]|0)+40;break}ie(k[k[e>>2]>>2]|0);k[k[e>>2]>>2]=0;k[d>>2]=7;h=k[d>>2]|0;u=j;return h|0}}else{h=ze(140)|0;k[g>>2]=h;if(k[g>>2]|0){k[(k[g>>2]|0)+8>>2]=100;k[(k[g>>2]|0)+4>>2]=(k[g>>2]|0)+40;k[k[g>>2]>>2]=0;break}k[d>>2]=7;h=k[d>>2]|0;u=j;return h|0}while(0);f=XL((k[(k[g>>2]|0)+4>>2]|0)+(k[k[g>>2]>>2]|0)|0,k[f>>2]|0,k[f+4>>2]|0)|0;h=k[g>>2]|0;k[h>>2]=(k[h>>2]|0)+f;i[(k[(k[g>>2]|0)+4>>2]|0)+(k[k[g>>2]>>2]|0)>>0]=0;k[k[e>>2]>>2]=k[g>>2];k[d>>2]=0;h=k[d>>2]|0;u=j;return h|0}function RN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if(!(k[(k[d>>2]|0)+8>>2]|0)){k[g>>2]=k[k[d>>2]>>2];k[i>>2]=k[(k[g>>2]|0)+216>>2];i=xf(45366,i)|0;k[h>>2]=i;if(k[h>>2]|0){i=Jv(k[(k[g>>2]|0)+12>>2]|0,k[h>>2]|0,-1,(k[d>>2]|0)+8|0,0)|0;k[f>>2]=i;ie(k[h>>2]|0);break}k[c>>2]=7;i=k[c>>2]|0;u=j;return i|0}while(0);k[k[e>>2]>>2]=k[(k[d>>2]|0)+8>>2];k[c>>2]=k[f>>2];i=k[c>>2]|0;u=j;return i|0}function SN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=k[k[e>>2]>>2];if((k[j>>2]|0)==5){j=Lb[k[g>>2]&255](k[e>>2]|0,k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[i>>2]=j;j=k[f>>2]|0;k[j>>2]=(k[j>>2]|0)+1;j=k[i>>2]|0;u=l;return j|0}d=SN(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=d;if(!((k[i>>2]|0)==0&(k[j>>2]|0)!=2)){j=k[i>>2]|0;u=l;return j|0}j=SN(k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=j;j=k[i>>2]|0;u=l;return j|0}function TN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];k[h>>2]=0;if(l[(k[e>>2]|0)+34>>0]|0|0?(k[k[(k[e>>2]|0)+8>>2]>>2]|0)!=1:0){k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[g>>2]|0)+24>>2]|0))break;k[(k[f>>2]|0)+(((k[i>>2]|0)*3|0)+1<<2)>>2]=k[(k[d>>2]|0)+64>>2];k[(k[f>>2]|0)+(((k[i>>2]|0)*3|0)+2<<2)>>2]=k[(k[d>>2]|0)+64>>2];k[i>>2]=(k[i>>2]|0)+1}i=k[h>>2]|0;u=j;return i|0}d=UN(k[d>>2]|0,k[e>>2]|0)|0;k[h>>2]=d;if(k[h>>2]|0){i=k[h>>2]|0;u=j;return i|0}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[g>>2]|0)+24>>2]|0))break;k[(k[f>>2]|0)+(((k[i>>2]|0)*3|0)+1<<2)>>2]=k[(k[(k[e>>2]|0)+40>>2]|0)+(((k[i>>2]|0)*3|0)+1<<2)>>2];k[(k[f>>2]|0)+(((k[i>>2]|0)*3|0)+2<<2)>>2]=k[(k[(k[e>>2]|0)+40>>2]|0)+(((k[i>>2]|0)*3|0)+2<<2)>>2];k[i>>2]=(k[i>>2]|0)+1}i=k[h>>2]|0;u=j;return i|0}function UN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+64|0;g=r+44|0;h=r+40|0;c=r+36|0;j=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+8|0;d=r;e=r+48|0;f=r+16|0;k[h>>2]=a;k[c>>2]=b;k[j>>2]=0;do if(!(k[(k[c>>2]|0)+40>>2]|0)){k[m>>2]=k[k[h>>2]>>2];s=(k[h>>2]|0)+32|0;a=k[s+4>>2]|0;b=p;k[b>>2]=k[s>>2];k[b+4>>2]=a;k[n>>2]=k[c>>2];while(1){if(k[(k[n>>2]|0)+8>>2]|0)a=(k[k[(k[n>>2]|0)+8>>2]>>2]|0)==1;else a=0;b=k[n>>2]|0;if(!a)break;k[n>>2]=k[b+8>>2]}b=b+24|0;c=k[b+4>>2]|0;s=d;k[s>>2]=k[b>>2];k[s+4>>2]=c;i[e>>0]=i[(k[n>>2]|0)+32>>0]|0;k[o>>2]=k[n>>2];while(1){if(!(k[o>>2]|0))break;a=k[o>>2]|0;if((k[k[o>>2]>>2]|0)!=5)a=k[a+16>>2]|0;k[f>>2]=a;s=ze((k[(k[m>>2]|0)+24>>2]|0)*3<<2)|0;k[(k[f>>2]|0)+40>>2]=s;if(!(k[(k[f>>2]|0)+40>>2]|0)){q=12;break}w0(k[(k[f>>2]|0)+40>>2]|0,0,(k[(k[m>>2]|0)+24>>2]|0)*3<<2|0)|0;k[o>>2]=k[(k[o>>2]|0)+12>>2]}if((q|0)==12){k[g>>2]=7;s=k[g>>2]|0;u=r;return s|0}dN(k[h>>2]|0,k[n>>2]|0,j);while(1){if(!((l[(k[h>>2]|0)+6>>0]|0)==0?(k[j>>2]|0)==0:0))break;do{if(!(l[(k[h>>2]|0)+7>>0]|0))Is(k[(k[h>>2]|0)+8>>2]|0)|0;eN(k[h>>2]|0,k[n>>2]|0,j);i[(k[h>>2]|0)+6>>0]=i[(k[n>>2]|0)+32>>0]|0;i[(k[h>>2]|0)+7>>0]=1;k[(k[h>>2]|0)+88>>2]=1;o=(k[n>>2]|0)+24|0;q=k[o+4>>2]|0;s=(k[h>>2]|0)+32|0;k[s>>2]=k[o>>2];k[s+4>>2]=q;if(l[(k[h>>2]|0)+6>>0]|0)break;if((k[k[n>>2]>>2]|0)!=1)break}while(($M(k[h>>2]|0,j)|0)!=0);if(k[j>>2]|0)continue;if(l[(k[h>>2]|0)+6>>0]|0)continue;VN(k[n>>2]|0)}i[(k[h>>2]|0)+6>>0]=0;q=k[p+4>>2]|0;s=(k[h>>2]|0)+32|0;k[s>>2]=k[p>>2];k[s+4>>2]=q;if(i[e>>0]|0){i[(k[n>>2]|0)+32>>0]=i[e>>0]|0;break}dN(k[h>>2]|0,k[n>>2]|0,j);do{eN(k[h>>2]|0,k[n>>2]|0,j);q=(k[n>>2]|0)+24|0;s=d}while(((k[q>>2]|0)!=(k[s>>2]|0)?1:(k[q+4>>2]|0)!=(k[s+4>>2]|0))?(k[j>>2]|0)==0:0)}while(0);k[g>>2]=k[j>>2];s=k[g>>2]|0;u=r;return s|0}function VN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h+20|0;g=h;k[c>>2]=a;if(!(k[c>>2]|0)){u=h;return}k[b>>2]=k[(k[c>>2]|0)+20>>2];a:do if(k[b>>2]|0?k[(k[b>>2]|0)+28>>2]|0:0){k[d>>2]=0;k[e>>2]=k[(k[b>>2]|0)+28>>2];while(1){i[f>>0]=0;k[g>>2]=0;while(1){if(!(254&(i[k[e>>2]>>0]|l[f>>0])))break;if(!(l[f>>0]&128))k[g>>2]=(k[g>>2]|0)+1;b=k[e>>2]|0;k[e>>2]=b+1;i[f>>0]=i[b>>0]&128}b=(k[(k[c>>2]|0)+40>>2]|0)+(((k[d>>2]|0)*3|0)+1<<2)|0;k[b>>2]=(k[b>>2]|0)+(k[g>>2]|0);b=(k[(k[c>>2]|0)+40>>2]|0)+(((k[d>>2]|0)*3|0)+2<<2)|0;k[b>>2]=(k[b>>2]|0)+((k[g>>2]|0)>0&1);if(!(i[k[e>>2]>>0]|0))break a;k[e>>2]=(k[e>>2]|0)+1;a=k[e>>2]|0;if(l[k[e>>2]>>0]&128|0)a=mM(a,d)|0;else{k[d>>2]=l[a>>0];a=1}k[e>>2]=(k[e>>2]|0)+a}}while(0);VN(k[(k[c>>2]|0)+12>>2]|0);VN(k[(k[c>>2]|0)+16>>2]|0);u=h;return}function WN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=u;u=u+32|0;o=n+28|0;c=n+24|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n+4|0;j=n;k[o>>2]=a;k[c>>2]=b;k[d>>2]=k[k[k[c>>2]>>2]>>2];k[f>>2]=k[(k[o>>2]|0)+20>>2];k[g>>2]=k[(k[f>>2]|0)+28>>2];k[h>>2]=0;a=k[(k[o>>2]|0)+36>>2]|0;b=k[(k[c>>2]|0)+4>>2]|0;if((i[(k[c>>2]|0)+24>>0]|0)==121){o=$(a,b)|0;k[e>>2]=o}else{o=$(a,(b+31|0)/32|0)|0;k[e>>2]=o}while(1){o=cN(g)|0;k[j>>2]=o;if(!((k[(k[f>>2]|0)+68>>2]|0)<(k[(k[d>>2]|0)+24>>2]|0)?(k[(k[f>>2]|0)+68>>2]|0)!=(k[h>>2]|0):0))m=6;do if((m|0)==6){m=0;a=k[j>>2]|0;if((i[(k[c>>2]|0)+24>>0]|0)==121){k[(k[(k[c>>2]|0)+28>>2]|0)+((k[e>>2]|0)+(k[h>>2]|0)<<2)>>2]=a;break}if(a|0){o=(k[(k[c>>2]|0)+28>>2]|0)+((k[e>>2]|0)+(((k[h>>2]|0)+1|0)/32|0)<<2)|0;k[o>>2]=k[o>>2]|1<<(k[h>>2]&31)}}while(0);if((i[k[g>>2]>>0]|0)!=1)break;k[g>>2]=(k[g>>2]|0)+1;a=k[g>>2]|0;if(l[k[g>>2]>>0]&128|0)a=mM(a,h)|0;else{k[h>>2]=l[a>>0];a=1}k[g>>2]=(k[g>>2]|0)+a}u=n;return}function XN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=u;u=u+16|0;g=d+12|0;e=d+8|0;h=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[h>>2]=c;k[f>>2]=k[h>>2];k[(k[f>>2]|0)+(k[e>>2]<<4)>>2]=k[g>>2];u=d;return 0}function YN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=u;u=u+32|0;b=f+16|0;c=f+12|0;d=f;e=f+8|0;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[e>>2]=0;g=lM(k[c>>2]|0,d)|0;k[c>>2]=(k[c>>2]|0)+g;g=d;a=d;if((k[g>>2]|0)==0&(k[g+4>>2]|0)==0|(k[a>>2]|0)==1&(k[a+4>>2]|0)==0){k[c>>2]=0;k[e>>2]=1;d=k[c>>2]|0;g=k[b>>2]|0;g=g+8|0;k[g>>2]=d;g=k[e>>2]|0;u=f;return g|0}else{g=d;g=h0(k[g>>2]|0,k[g+4>>2]|0,2,0)|0;d=(k[b>>2]|0)+12|0;k[d>>2]=(k[d>>2]|0)+g;d=k[c>>2]|0;g=k[b>>2]|0;g=g+8|0;k[g>>2]=d;g=k[e>>2]|0;u=f;return g|0}return 0}function ZN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=u;u=u+32|0;i=e+20|0;h=e+12|0;d=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[e+16>>2]=b;k[h>>2]=c;k[d>>2]=0;k[f>>2]=k[(k[i>>2]|0)+20>>2];k[g>>2]=k[h>>2];c=(k[g>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+1;c=(k[g>>2]|0)+8|0;k[c>>2]=(k[c>>2]|0)+(k[(k[f>>2]|0)+64>>2]|0);u=e;return k[d>>2]|0}function _N(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+20|0;e=i;f=i+16|0;g=i+12|0;h=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;d=CL(k[j>>2]|0,21,g,0)|0;k[h>>2]=d;do if(!(k[h>>2]|0)){j=e;AJ(k[g>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;j=Ls(k[g>>2]|0)|0;k[h>>2]=j;if((k[h>>2]|0)==100?(Nv(k[g>>2]|0,0)|0)==4:0){k[h>>2]=0;break}j=Is(k[g>>2]|0)|0;k[h>>2]=j;k[h>>2]=(k[h>>2]|0)==0?267:j;k[g>>2]=0}while(0);k[k[f>>2]>>2]=k[g>>2];u=i;return k[h>>2]|0}function $N(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;b=CL(k[g>>2]|0,22,d,0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){zJ(k[d>>2]|0,1,0)|0;if((Ls(k[d>>2]|0)|0)==100?(Nv(k[d>>2]|0,0)|0)==4:0)break;g=Is(k[d>>2]|0)|0;k[e>>2]=g;k[e>>2]=(k[e>>2]|0)==0?267:g;k[d>>2]=0}while(0);k[k[c>>2]>>2]=k[d>>2];u=f;return k[e>>2]|0}function aO(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[d>>2]|0)+(0-(k[(k[d>>2]|0)+-4>>2]|0));a=k[b>>2]|0;if((k[d>>2]|0)==((k[b>>2]|0)+16+4|0))i[a+1>>0]=0;else i[a+2>>0]=0;if(l[k[b>>2]>>0]|0|0){u=c;return}if(l[(k[b>>2]|0)+1>>0]|0|0){u=c;return}if(l[(k[b>>2]|0)+2>>0]|0|0){u=c;return}ie(k[b>>2]|0);u=c;return}function bO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;e=d+8|0;f=d+4|0;g=d;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=k[g>>2]|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[e>>2]|0)+36>>2]=k[f>>2];u=d;return 0}function cO(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=Av(k[(k[b>>2]|0)+12>>2]|0,45494,0,0,0)|0;k[c>>2]=a;do if(!(k[c>>2]|0)){a=dO(k[b>>2]|0,1)|0;k[c>>2]=a;a=k[(k[b>>2]|0)+12>>2]|0;if(!((k[c>>2]|0)==0|(k[c>>2]|0)==101)){Av(a,45522,0,0,0)|0;Av(k[(k[b>>2]|0)+12>>2]|0,45509,0,0,0)|0;break}a=Av(a,45509,0,0,0)|0;k[d>>2]=a;if(k[d>>2]|0)k[c>>2]=k[d>>2]}while(0);LM(k[b>>2]|0);u=e;return k[c>>2]|0}function dO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;c=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[g>>2]=0;b=CL(k[c>>2]|0,27,g,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){zJ(k[g>>2]|0,1,k[(k[c>>2]|0)+272>>2]|0)|0;zJ(k[g>>2]|0,2,k[(k[c>>2]|0)+248>>2]|0)|0;a:while(1){b=(Ls(k[g>>2]|0)|0)==100;a=k[g>>2]|0;if(!b)break;b=sJ(a,0)|0;k[j>>2]=b;k[i>>2]=0;while(1){if(k[f>>2]|0)continue a;if((k[i>>2]|0)>=(k[(k[c>>2]|0)+248>>2]|0))continue a;b=BL(k[c>>2]|0,k[j>>2]|0,k[i>>2]|0,-2)|0;k[f>>2]=b;if((k[f>>2]|0)==101){k[e>>2]=1;k[f>>2]=0}k[i>>2]=(k[i>>2]|0)+1}}j=Is(a)|0;k[h>>2]=j;if(!(k[f>>2]|0))k[f>>2]=k[h>>2]}LM(k[c>>2]|0);wL(k[c>>2]|0);u=l;return ((k[f>>2]|0)==0&(k[d>>2]|0)!=0&(k[e>>2]|0)!=0?101:k[f>>2]|0)|0}function eO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+208|0;z=C+32|0;o=C+132|0;t=C+128|0;v=C+124|0;w=C+120|0;A=C+116|0;x=C+112|0;y=C+108|0;B=C+96|0;c=C;d=C+92|0;e=C+88|0;f=C+84|0;g=C+80|0;h=C+76|0;j=C+72|0;l=C+68|0;m=C+64|0;n=C+60|0;p=C+56|0;q=C+52|0;r=C+48|0;s=C+136|0;k[o>>2]=a;k[t>>2]=b;k[v>>2]=k[k[t>>2]>>2];k[w>>2]=k[k[(k[v>>2]|0)+36>>2]>>2];k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;if(!(k[(k[t>>2]|0)+12>>2]|0)){Hi(k[o>>2]|0,55752,0,0);u=C;return};k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[c+24>>2]=0;k[c+28>>2]=0;b=WM(k[t>>2]|0,0,x)|0;k[A>>2]=b;a:do if(!(k[A>>2]|0)){b=ze((k[x>>2]|0)*12|0)|0;k[c+24>>2]=b;if(!(k[c+24>>2]|0)){k[A>>2]=7;break}D=(k[t>>2]|0)+32|0;a=k[D+4>>2]|0;b=c+16|0;k[b>>2]=k[D>>2];k[b+4>>2]=a;k[c>>2]=k[t>>2];k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[(k[v>>2]|0)+24>>2]|0))break a;k[f>>2]=0;k[g>>2]=0;k[h>>2]=0;k[j>>2]=0;k[c+4>>2]=k[y>>2];k[c+8>>2]=0;_M(k[(k[t>>2]|0)+12>>2]|0,166,c)|0;D=Mv(k[(k[t>>2]|0)+8>>2]|0,(k[y>>2]|0)+1|0)|0;k[l>>2]=D;D=qJ(k[(k[t>>2]|0)+8>>2]|0,(k[y>>2]|0)+1|0)|0;k[m>>2]=D;if(!(k[l>>2]|0)){if((Nv(k[(k[t>>2]|0)+8>>2]|0,(k[y>>2]|0)+1|0)|0)!=5)break}else{D=ON(k[(k[v>>2]|0)+36>>2]|0,k[(k[t>>2]|0)+16>>2]|0,k[l>>2]|0,k[m>>2]|0,d)|0;k[A>>2]=D;if(k[A>>2]|0)break a;D=Qb[k[(k[w>>2]|0)+20>>2]&255](k[d>>2]|0,e,f,g,h,j)|0;k[A>>2]=D;while(1){if(k[A>>2]|0)break;k[p>>2]=2147483647;k[q>>2]=0;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[x>>2]|0))break;k[r>>2]=(k[c+24>>2]|0)+((k[n>>2]|0)*12|0);if(k[k[r>>2]>>2]|0?((k[(k[r>>2]|0)+4>>2]|0)-(k[(k[r>>2]|0)+8>>2]|0)|0)<(k[p>>2]|0):0){k[p>>2]=(k[(k[r>>2]|0)+4>>2]|0)-(k[(k[r>>2]|0)+8>>2]|0);k[q>>2]=k[r>>2]}k[n>>2]=(k[n>>2]|0)+1}if(!(k[q>>2]|0)){k[A>>2]=101;continue}a=k[q>>2]|0;if(!(254&i[k[k[q>>2]>>2]>>0]))k[a>>2]=0;else gO(a,(k[q>>2]|0)+4|0);while(1){if(k[A>>2]|0)break;if((k[j>>2]|0)>=(k[p>>2]|0))break;D=Qb[k[(k[w>>2]|0)+20>>2]&255](k[d>>2]|0,e,f,g,h,j)|0;k[A>>2]=D}if(!(k[A>>2]|0)){a=((k[q>>2]|0)-(k[c+24>>2]|0)|0)/12|0;b=k[g>>2]|0;D=(k[h>>2]|0)-(k[g>>2]|0)|0;k[z>>2]=k[y>>2];k[z+4>>2]=a;k[z+8>>2]=b;k[z+12>>2]=D;pf(64,s,45539,z)|0;D=hO(B,s,-1)|0;k[A>>2]=D;continue}if((k[A>>2]|0)!=101)continue;if(k[(k[v>>2]|0)+40>>2]|0)continue;k[A>>2]=267}if((k[A>>2]|0)==101)k[A>>2]=0;Rb[k[(k[w>>2]|0)+16>>2]&255](k[d>>2]|0)|0;if(k[A>>2]|0)break a}k[y>>2]=(k[y>>2]|0)+1}k[A>>2]=7}while(0);ie(k[c+24>>2]|0);LM(k[v>>2]|0);a=k[o>>2]|0;if(k[A>>2]|0){ej(a,k[A>>2]|0);ie(k[B>>2]|0);u=C;return}else{Hi(a,k[B>>2]|0,(k[B+4>>2]|0)-1|0,157);u=C;return}}function fO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=u;u=u+48|0;m=l+36|0;n=l+28|0;g=l+24|0;h=l+20|0;i=l+16|0;j=l+12|0;d=l+8|0;e=l+4|0;f=l;k[m>>2]=a;k[l+32>>2]=b;k[n>>2]=c;k[g>>2]=k[n>>2];k[d>>2]=0;c=bN(k[k[g>>2]>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+4>>2]|0,j)|0;k[e>>2]=c;k[h>>2]=k[(k[(k[m>>2]|0)+20>>2]|0)+64>>2];if(k[j>>2]|0)gO(j,d);k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[h>>2]|0))break;m=k[(k[g>>2]|0)+24>>2]|0;c=(k[g>>2]|0)+8|0;n=k[c>>2]|0;k[c>>2]=n+1;k[f>>2]=m+(n*12|0);k[(k[f>>2]|0)+8>>2]=(k[h>>2]|0)-(k[i>>2]|0)-1;k[k[f>>2]>>2]=k[j>>2];k[(k[f>>2]|0)+4>>2]=k[d>>2];k[i>>2]=(k[i>>2]|0)+1}u=l;return k[e>>2]|0}function gO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;a=k[k[c>>2]>>2]|0;if((l[k[k[c>>2]>>2]>>0]|0)&128|0)a=mM(a,e)|0;else{k[e>>2]=l[a>>0];a=1}c=k[c>>2]|0;k[c>>2]=(k[c>>2]|0)+a;d=k[d>>2]|0;k[d>>2]=(k[d>>2]|0)+((k[e>>2]|0)-2);u=f;return}function hO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[g>>2]|0)<0){c=q$(k[f>>2]|0)|0;k[g>>2]=c}do if(((k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]|0)+1|0)>=(k[(k[e>>2]|0)+8>>2]|0)){k[h>>2]=(k[(k[e>>2]|0)+8>>2]|0)+(k[g>>2]|0)+100;c=fg(k[k[e>>2]>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;if(k[j>>2]|0){k[k[e>>2]>>2]=k[j>>2];k[(k[e>>2]|0)+8>>2]=k[h>>2];break}k[d>>2]=7;j=k[d>>2]|0;u=l;return j|0}while(0);r0((k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)|0,k[f>>2]|0,k[g>>2]|0)|0;j=(k[e>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+(k[g>>2]|0);i[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)>>0]=0;k[d>>2]=0;j=k[d>>2]|0;u=l;return j|0}function iO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+224|0;A=G+212|0;B=G+208|0;C=G+204|0;h=G+200|0;i=G+196|0;j=G+192|0;l=G+188|0;m=G+184|0;E=G+180|0;n=G+176|0;F=G+164|0;o=G+160|0;p=G+40|0;q=G+156|0;r=G+152|0;s=G+32|0;t=G+24|0;v=G+148|0;w=G+144|0;x=G+140|0;y=G;z=G+136|0;k[A>>2]=a;k[B>>2]=b;k[C>>2]=c;k[h>>2]=d;k[i>>2]=e;k[j>>2]=f;k[l>>2]=g;k[m>>2]=k[k[B>>2]>>2];k[E>>2]=0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[o>>2]=0;k[q>>2]=-1;if(!(k[(k[B>>2]|0)+12>>2]|0)){Hi(k[A>>2]|0,55752,0,0);u=G;return}k[o>>2]=1;a:while(1){a=s;k[a>>2]=0;k[a+4>>2]=0;a=t;k[a>>2]=0;k[a+4>>2]=0;a=k[l>>2]|0;if((k[l>>2]|0)>=0)k[q>>2]=(a+(k[o>>2]|0)-1|0)/(k[o>>2]|0)|0;else{g=$(-1,a)|0;k[q>>2]=g}k[r>>2]=0;while(1){if((k[r>>2]|0)>=(k[o>>2]|0))break;k[v>>2]=-1;k[x>>2]=p+((k[r>>2]|0)*24|0);g=k[x>>2]|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[m>>2]|0)+24>>2]|0))break;k[y>>2]=0;k[y+4>>2]=0;k[y+8>>2]=0;k[y+12>>2]=0;k[y+16>>2]=0;k[y+20>>2]=0;k[z>>2]=0;if(!((k[j>>2]|0)>=0?(k[w>>2]|0)!=(k[j>>2]|0):0)){g=s;g=jO(k[q>>2]|0,k[B>>2]|0,k[w>>2]|0,k[g>>2]|0,k[g+4>>2]|0,t,y,z)|0;k[E>>2]=g;if(k[E>>2]|0)break a;if((k[z>>2]|0)>(k[v>>2]|0)){g=k[x>>2]|0;k[g>>2]=k[y>>2];k[g+4>>2]=k[y+4>>2];k[g+8>>2]=k[y+8>>2];k[g+12>>2]=k[y+12>>2];k[g+16>>2]=k[y+16>>2];k[g+20>>2]=k[y+20>>2];k[v>>2]=k[z>>2]}}k[w>>2]=(k[w>>2]|0)+1}e=(k[x>>2]|0)+8|0;d=s;f=k[d+4>>2]|k[e+4>>2];g=s;k[g>>2]=k[d>>2]|k[e>>2];k[g+4>>2]=f;k[r>>2]=(k[r>>2]|0)+1}f=t;g=s;if(((k[f>>2]|0)==(k[g>>2]|0)?(k[f+4>>2]|0)==(k[g+4>>2]|0):0)|(k[o>>2]|0)==4){D=20;break}k[o>>2]=(k[o>>2]|0)+1}b:do if((D|0)==20){k[n>>2]=0;while(1){if(!((k[n>>2]|0)<(k[o>>2]|0)?(k[E>>2]|0)==0:0))break b;D=kO(k[B>>2]|0,p+((k[n>>2]|0)*24|0)|0,k[n>>2]|0,(k[n>>2]|0)==((k[o>>2]|0)-1|0)&1,k[q>>2]|0,k[C>>2]|0,k[h>>2]|0,k[i>>2]|0,F)|0;k[E>>2]=D;k[n>>2]=(k[n>>2]|0)+1}}while(0);LM(k[m>>2]|0);a=k[A>>2]|0;if(k[E>>2]|0){ej(a,k[E>>2]|0);ie(k[F>>2]|0);u=G;return}else{Hi(a,k[F>>2]|0,-1,157);u=G;return}}function jO(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+112|0;A=C+104|0;B=C+100|0;i=C+96|0;j=C+92|0;l=C+16|0;m=C+88|0;n=C+84|0;o=C+80|0;p=C+76|0;q=C+72|0;r=C+48|0;s=C+40|0;t=C+36|0;v=C+32|0;w=C+28|0;x=C+24|0;y=C+8|0;z=C;k[B>>2]=a;k[i>>2]=b;k[j>>2]=c;c=l;k[c>>2]=d;k[c+4>>2]=e;k[m>>2]=f;k[n>>2]=g;k[o>>2]=h;k[t>>2]=-1;k[r>>2]=0;k[r+4>>2]=0;k[r+8>>2]=0;k[r+12>>2]=0;k[r+16>>2]=0;k[r+20>>2]=0;h=WM(k[i>>2]|0,q,0)|0;k[p>>2]=h;if(k[p>>2]|0){k[A>>2]=k[p>>2];B=k[A>>2]|0;u=C;return B|0}k[s>>2]=(k[q>>2]|0)*24;h=ze(k[s>>2]|0)|0;k[r+16>>2]=h;if(!(k[r+16>>2]|0)){k[A>>2]=7;B=k[A>>2]|0;u=C;return B|0}w0(k[r+16>>2]|0,0,k[s>>2]|0)|0;k[r>>2]=k[i>>2];k[r+4>>2]=k[j>>2];k[r+8>>2]=k[B>>2];k[r+12>>2]=k[q>>2];k[r+20>>2]=-1;B=_M(k[(k[i>>2]|0)+12>>2]|0,167,r)|0;k[p>>2]=B;if(!(k[p>>2]|0)){k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[q>>2]|0))break;if(k[(k[r+16>>2]|0)+((k[v>>2]|0)*24|0)+12>>2]|0){g=t0(1,0,k[v>>2]|0)|0;B=k[m>>2]|0;f=B;h=k[f+4>>2]|M;k[B>>2]=k[f>>2]|g;k[B+4>>2]=h}k[v>>2]=(k[v>>2]|0)+1}k[k[n>>2]>>2]=k[j>>2];while(1){if(!((nO(r)|0)!=0^1))break;B=l;oO(r,k[B>>2]|0,k[B+4>>2]|0,w,x,y,z);if((k[x>>2]|0)<=(k[t>>2]|0))continue;k[(k[n>>2]|0)+4>>2]=k[w>>2];B=z;h=k[B+4>>2]|0;g=(k[n>>2]|0)+16|0;k[g>>2]=k[B>>2];k[g+4>>2]=h;g=y;h=k[g+4>>2]|0;B=(k[n>>2]|0)+8|0;k[B>>2]=k[g>>2];k[B+4>>2]=h;k[t>>2]=k[x>>2]}k[k[o>>2]>>2]=k[t>>2]}ie(k[r+16>>2]|0);k[A>>2]=k[p>>2];B=k[A>>2]|0;u=C;return B|0}function kO(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0;N=u;u=u+128|0;K=N+112|0;j=N+108|0;P=N+104|0;l=N+100|0;m=N+96|0;n=N+92|0;o=N+88|0;p=N+84|0;q=N+80|0;r=N+76|0;s=N+72|0;t=N+68|0;v=N+64|0;w=N+60|0;x=N+56|0;y=N+52|0;z=N+48|0;A=N+44|0;B=N;O=N+40|0;C=N+36|0;D=N+32|0;E=N+28|0;F=N+24|0;G=N+20|0;H=N+16|0;I=N+12|0;J=N+8|0;k[j>>2]=a;k[P>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[r>>2]=i;k[s>>2]=k[k[j>>2]>>2];k[x>>2]=0;k[y>>2]=0;k[z>>2]=0;k[A>>2]=k[(k[P>>2]|0)+4>>2];i=(k[P>>2]|0)+16|0;b=k[i+4>>2]|0;a=B;k[a>>2]=k[i>>2];k[a+4>>2]=b;k[O>>2]=(k[k[P>>2]>>2]|0)+1;a=Mv(k[(k[j>>2]|0)+8>>2]|0,k[O>>2]|0)|0;k[v>>2]=a;a=k[(k[j>>2]|0)+8>>2]|0;b=k[O>>2]|0;if(!(k[v>>2]|0))if((Nv(a,b)|0)!=5){k[K>>2]=7;P=k[K>>2]|0;u=N;return P|0}else{k[K>>2]=0;P=k[K>>2]|0;u=N;return P|0}P=qJ(a,b)|0;k[w>>2]=P;k[C>>2]=k[k[(k[s>>2]|0)+36>>2]>>2];P=ON(k[(k[s>>2]|0)+36>>2]|0,k[(k[j>>2]|0)+16>>2]|0,k[v>>2]|0,k[w>>2]|0,D)|0;k[t>>2]=P;if(k[t>>2]|0){k[K>>2]=k[t>>2];P=k[K>>2]|0;u=N;return P|0}while(1){if(k[t>>2]|0)break;k[F>>2]=-1;k[G>>2]=0;k[H>>2]=0;k[I>>2]=0;P=Qb[k[(k[C>>2]|0)+20>>2]&255](k[D>>2]|0,E,F,G,H,x)|0;k[t>>2]=P;if(k[t>>2]|0){L=9;break}if((k[x>>2]|0)<(k[A>>2]|0))continue;if(!(k[z>>2]|0)){k[J>>2]=(k[w>>2]|0)-(k[G>>2]|0);P=lO(k[s>>2]|0,k[(k[j>>2]|0)+16>>2]|0,k[n>>2]|0,(k[v>>2]|0)+(k[G>>2]|0)|0,k[J>>2]|0,A,B)|0;k[t>>2]=P;k[z>>2]=1;do if(!(k[t>>2]|0)){if((k[A>>2]|0)>0|(k[l>>2]|0)>0){P=hO(k[r>>2]|0,k[q>>2]|0,-1)|0;k[t>>2]=P;break}if(k[G>>2]|0){P=hO(k[r>>2]|0,k[v>>2]|0,k[G>>2]|0)|0;k[t>>2]=P}}while(0);if(k[t>>2]|0)continue;if((k[x>>2]|0)<(k[A>>2]|0))continue}if((k[x>>2]|0)>=((k[A>>2]|0)+(k[n>>2]|0)|0)){L=21;break}P=B;i=k[P>>2]|0;P=k[P+4>>2]|0;O=t0(1,0,(k[x>>2]|0)-(k[A>>2]|0)|0)|0;k[I>>2]=((i&O|0)!=0|(P&M|0)!=0)&1;if((k[x>>2]|0)>(k[A>>2]|0)){P=hO(k[r>>2]|0,(k[v>>2]|0)+(k[y>>2]|0)|0,(k[G>>2]|0)-(k[y>>2]|0)|0)|0;k[t>>2]=P}if((k[t>>2]|0)==0&(k[I>>2]|0)!=0){P=hO(k[r>>2]|0,k[o>>2]|0,-1)|0;k[t>>2]=P}if(!(k[t>>2]|0)){P=hO(k[r>>2]|0,(k[v>>2]|0)+(k[G>>2]|0)|0,(k[H>>2]|0)-(k[G>>2]|0)|0)|0;k[t>>2]=P}if((k[t>>2]|0)==0&(k[I>>2]|0)!=0){P=hO(k[r>>2]|0,k[p>>2]|0,-1)|0;k[t>>2]=P}k[y>>2]=k[H>>2]}if((L|0)==9){if((k[t>>2]|0)==101){P=hO(k[r>>2]|0,(k[v>>2]|0)+(k[y>>2]|0)|0,-1)|0;k[t>>2]=P}}else if((L|0)==21?k[m>>2]|0:0){P=hO(k[r>>2]|0,k[q>>2]|0,-1)|0;k[t>>2]=P}Rb[k[(k[C>>2]|0)+16>>2]&255](k[D>>2]|0)|0;k[K>>2]=k[t>>2];P=k[K>>2]|0;u=N;return P|0}function lO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+96|0;D=E+84|0;t=E+80|0;v=E+76|0;w=E+72|0;h=E+68|0;i=E+64|0;x=E+60|0;y=E+56|0;z=E;j=E+52|0;l=E+48|0;m=E+44|0;A=E+40|0;B=E+36|0;C=E+32|0;n=E+28|0;o=E+24|0;p=E+20|0;q=E+16|0;r=E+12|0;s=E+8|0;k[t>>2]=a;k[v>>2]=b;k[w>>2]=c;k[h>>2]=d;k[i>>2]=e;k[x>>2]=f;k[y>>2]=g;e=k[y>>2]|0;f=k[e+4>>2]|0;g=z;k[g>>2]=k[e>>2];k[g+4>>2]=f;g=z;do if((k[g>>2]|0)!=0|(k[g+4>>2]|0)!=0){k[j>>2]=0;while(1){g=z;e=k[g>>2]|0;g=k[g+4>>2]|0;f=t0(1,0,k[j>>2]|0)|0;if(!(((e&f|0)!=0|(g&M|0)!=0)^1))break;k[j>>2]=(k[j>>2]|0)+1}k[l>>2]=0;while(1){g=z;e=k[g>>2]|0;g=k[g+4>>2]|0;f=t0(1,0,(k[w>>2]|0)-1-(k[l>>2]|0)|0)|0;if(!(((e&f|0)!=0|(g&M|0)!=0)^1))break;k[l>>2]=(k[l>>2]|0)+1}k[m>>2]=((k[j>>2]|0)-(k[l>>2]|0)|0)/2|0;if((k[m>>2]|0)>0){k[B>>2]=0;k[n>>2]=k[k[(k[t>>2]|0)+36>>2]>>2];v=ON(k[(k[t>>2]|0)+36>>2]|0,k[v>>2]|0,k[h>>2]|0,k[i>>2]|0,o)|0;k[C>>2]=v;if(k[C>>2]|0){k[D>>2]=k[C>>2];D=k[D>>2]|0;u=E;return D|0}while(1){if(k[C>>2]|0)break;if((k[B>>2]|0)>=((k[w>>2]|0)+(k[m>>2]|0)|0))break;k[q>>2]=0;k[r>>2]=0;k[s>>2]=0;v=Qb[k[(k[n>>2]|0)+20>>2]&255](k[o>>2]|0,p,q,r,s,B)|0;k[C>>2]=v}Rb[k[(k[n>>2]|0)+16>>2]&255](k[o>>2]|0)|0;a=k[C>>2]|0;if((k[C>>2]|0)!=0&(k[C>>2]|0)!=101){k[D>>2]=a;D=k[D>>2]|0;u=E;return D|0}else{k[A>>2]=((a|0)==101&1)+(k[B>>2]|0)-(k[w>>2]|0);if((k[A>>2]|0)<=0)break;B=k[x>>2]|0;k[B>>2]=(k[B>>2]|0)+(k[A>>2]|0);B=z;B=p0(k[B>>2]|0,k[B+4>>2]|0,k[A>>2]|0)|0;C=k[y>>2]|0;k[C>>2]=B;k[C+4>>2]=M;break}}}while(0);k[D>>2]=0;D=k[D>>2]|0;u=E;return D|0}function mO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=u;u=u+32|0;j=h+28|0;l=h+24|0;m=h+20|0;i=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[i>>2]=k[m>>2];k[e>>2]=(k[(k[i>>2]|0)+16>>2]|0)+((k[l>>2]|0)*24|0);k[k[e>>2]>>2]=k[(k[(k[j>>2]|0)+20>>2]|0)+64>>2];c=bN(k[k[i>>2]>>2]|0,k[j>>2]|0,k[(k[i>>2]|0)+4>>2]|0,f)|0;k[g>>2]=c;if(!(k[f>>2]|0)){m=k[g>>2]|0;u=h;return m|0}k[d>>2]=0;k[(k[e>>2]|0)+4>>2]=k[f>>2];gO(f,d);k[(k[e>>2]|0)+12>>2]=k[f>>2];k[(k[e>>2]|0)+20>>2]=k[f>>2];k[(k[e>>2]|0)+8>>2]=k[d>>2];k[(k[e>>2]|0)+16>>2]=k[d>>2];m=k[g>>2]|0;u=h;return m|0}function nO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;b=j+28|0;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[c>>2]=a;a:do if((k[(k[c>>2]|0)+20>>2]|0)<0){k[(k[c>>2]|0)+20>>2]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break a;k[e>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);pO((k[e>>2]|0)+12|0,(k[e>>2]|0)+8|0,k[(k[c>>2]|0)+8>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}else{k[g>>2]=2147483647;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break;k[h>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);if(k[(k[h>>2]|0)+12>>2]|0?(k[(k[h>>2]|0)+8>>2]|0)<(k[g>>2]|0):0)k[g>>2]=k[(k[h>>2]|0)+8>>2];k[d>>2]=(k[d>>2]|0)+1}if((k[g>>2]|0)==2147483647){k[b>>2]=1;i=k[b>>2]|0;u=j;return i|0}h=(k[g>>2]|0)-(k[(k[c>>2]|0)+8>>2]|0)+1|0;k[f>>2]=h;k[(k[c>>2]|0)+20>>2]=h;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break a;k[i>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);pO((k[i>>2]|0)+12|0,(k[i>>2]|0)+8|0,(k[g>>2]|0)+1|0);pO((k[i>>2]|0)+20|0,(k[i>>2]|0)+16|0,k[f>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);k[b>>2]=0;i=k[b>>2]|0;u=j;return i|0}function oO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+96|0;y=B+84|0;z=B+32|0;A=B+80|0;h=B+76|0;j=B+72|0;l=B+68|0;m=B+64|0;n=B+60|0;o=B+56|0;p=B+24|0;q=B+16|0;r=B+52|0;s=B+48|0;t=B+44|0;v=B+40|0;w=B+8|0;x=B;k[y>>2]=a;a=z;k[a>>2]=b;k[a+4>>2]=c;k[A>>2]=d;k[h>>2]=e;k[j>>2]=f;k[l>>2]=g;k[m>>2]=k[(k[y>>2]|0)+20>>2];k[n>>2]=0;g=p;k[g>>2]=0;k[g+4>>2]=0;g=q;k[g>>2]=0;k[g+4>>2]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[(k[y>>2]|0)+12>>2]|0))break;k[r>>2]=(k[(k[y>>2]|0)+16>>2]|0)+((k[o>>2]|0)*24|0);a:do if(k[(k[r>>2]|0)+20>>2]|0){k[s>>2]=k[(k[r>>2]|0)+20>>2];k[t>>2]=k[(k[r>>2]|0)+16>>2];while(1){if((k[t>>2]|0)>=((k[m>>2]|0)+(k[(k[y>>2]|0)+8>>2]|0)|0))break a;e=t0(1,0,k[o>>2]|0)|0;f=w;k[f>>2]=e;k[f+4>>2]=M;f=t0(1,0,(k[t>>2]|0)-(k[m>>2]|0)|0)|0;e=x;k[e>>2]=f;k[e+4>>2]=M;e=p;f=z;g=w;a=k[n>>2]|0;if((k[e>>2]|k[f>>2])&k[g>>2]|0?1:((k[e+4>>2]|k[f+4>>2])&k[g+4>>2]|0)!=0)k[n>>2]=a+1;else k[n>>2]=a+1e3;e=w;d=p;f=k[d+4>>2]|k[e+4>>2];g=p;k[g>>2]=k[d>>2]|k[e>>2];k[g+4>>2]=f;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[k[r>>2]>>2]|0))break;e=x;e=p0(k[e>>2]|0,k[e+4>>2]|0,k[v>>2]|0)|0;d=q;f=k[d+4>>2]|M;g=q;k[g>>2]=k[d>>2]|e;k[g+4>>2]=f;k[v>>2]=(k[v>>2]|0)+1}if(!(i[k[s>>2]>>0]&254))break a;gO(s,t)}}while(0);k[o>>2]=(k[o>>2]|0)+1}k[k[A>>2]>>2]=k[m>>2];k[k[h>>2]>>2]=k[n>>2];A=p;z=k[A+4>>2]|0;y=k[j>>2]|0;k[y>>2]=k[A>>2];k[y+4>>2]=z;y=q;z=k[y+4>>2]|0;A=k[l>>2]|0;k[A>>2]=k[y>>2];k[A+4>>2]=z;u=B;return}function pO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if(!(k[g>>2]|0)){u=l;return}k[h>>2]=k[k[e>>2]>>2];while(1){if((k[h>>2]|0)>=(k[f>>2]|0))break;if(!(i[k[g>>2]>>0]&254)){j=5;break}gO(g,h)}if((j|0)==5){k[h>>2]=-1;k[g>>2]=0}k[k[e>>2]>>2]=k[h>>2];k[k[d>>2]>>2]=k[g>>2];u=l;return}function qO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;h=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[c>>2]=b;k[e>>2]=0;k[f>>2]=0;b=CL(k[h>>2]|0,36,f,0)|0;k[d>>2]=b;if(k[d>>2]|0){f=k[e>>2]|0;h=k[c>>2]|0;k[h>>2]=f;h=k[d>>2]|0;u=g;return h|0}if(100==(Ls(k[f>>2]|0)|0)){h=sJ(k[f>>2]|0,0)|0;k[e>>2]=h}f=Is(k[f>>2]|0)|0;k[d>>2]=f;f=k[e>>2]|0;h=k[c>>2]|0;k[h>>2]=f;h=k[d>>2]|0;u=g;return h|0}function rO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+128|0;w=C+112|0;x=C+108|0;D=C+104|0;y=C+100|0;z=C+96|0;A=C+92|0;B=C+88|0;d=C+84|0;e=C+80|0;f=C+76|0;g=C+16|0;h=C+64|0;i=C+60|0;j=C+8|0;m=C+52|0;n=C+48|0;o=C+44|0;p=C+40|0;q=C;r=C+36|0;s=C+32|0;t=C+28|0;v=C+24|0;k[x>>2]=a;k[D>>2]=b;k[y>>2]=c;k[A>>2]=k[D>>2];k[f>>2]=0;c=g;k[c>>2]=0;k[c+4>>2]=0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[i>>2]=0;k[C+56>>2]=640;c=ze(640)|0;k[e>>2]=c;if(!(k[e>>2]|0)){k[w>>2]=7;D=k[w>>2]|0;u=C;return D|0}k[d>>2]=(k[e>>2]|0)+568;k[B>>2]=(k[d>>2]|0)+16;D=sO(k[x>>2]|0,h)|0;k[z>>2]=D;while(1){if(!((k[z>>2]|0)==0?(k[A>>2]|0)>0:0))break;c=k[(k[x>>2]|0)+248>>2]<<10;D=j;k[D>>2]=c;k[D+4>>2]=((c|0)<0)<<31>>31;k[m>>2]=0;k[n>>2]=0;k[o>>2]=0;D=CL(k[x>>2]|0,28,m,0)|0;k[z>>2]=D;zJ(k[m>>2]|0,1,2>(k[y>>2]|0)?2:k[y>>2]|0)|0;if((Ls(k[m>>2]|0)|0)==100){c=tJ(k[m>>2]|0,0)|0;D=g;k[D>>2]=c;k[D+4>>2]=M;D=sJ(k[m>>2]|0,1)|0;k[f>>2]=D}else k[f>>2]=-1;D=Is(k[m>>2]|0)|0;k[z>>2]=D;do if((k[z>>2]|0)==0?k[h+4>>2]|0:0){k[p>>2]=k[h+4>>2];D=q;k[D>>2]=0;k[D+4>>2]=0;k[r>>2]=0;D=tO(h,q,r)|0;k[z>>2]=D;if((k[f>>2]|0)>=0?(a=g,c=j,c=m0(k[a>>2]|0,k[a+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0,a=M,b=q,D=j,D=m0(k[b>>2]|0,k[b+4>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0,b=M,!((a|0)>(b|0)|(a|0)==(b|0)&c>>>0>=D>>>0)):0){k[h+4>>2]=k[p>>2];break}b=q;c=k[b+4>>2]|0;D=g;k[D>>2]=k[b>>2];k[D+4>>2]=c;k[f>>2]=k[r>>2];k[n>>2]=1;k[i>>2]=1}while(0);if((k[f>>2]|0)<0)break;w0(k[e>>2]|0,0,640)|0;k[(k[d>>2]|0)+12>>2]=1;do if(!(k[z>>2]|0)){D=g;D=uO(k[x>>2]|0,k[D>>2]|0,k[D+4>>2]|0,o)|0;k[z>>2]=D;if(k[o>>2]|0?!((k[n>>2]|0)!=0&(k[o>>2]|0)==1):0)break;k[s>>2]=0;c=k[x>>2]|0;D=g;D=i0(k[D>>2]|0,k[D+4>>2]|0,1,0)|0;D=vO(c,D,M,s)|0;k[z>>2]=D;if(k[s>>2]|0){D=(k[d>>2]|0)+12|0;k[D>>2]=k[D>>2]|2}}while(0);if(!(k[z>>2]|0)){D=g;D=wO(k[x>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[f>>2]|0,k[B>>2]|0)|0;k[z>>2]=D}if(((0==(k[z>>2]|0)?(k[(k[B>>2]|0)+4>>2]|0)==(k[f>>2]|0):0)?(D=HL(k[x>>2]|0,k[B>>2]|0,k[d>>2]|0)|0,k[z>>2]=D,0==(D|0)):0)?(D=IL(k[x>>2]|0,k[B>>2]|0)|0,k[z>>2]=D,100==(D|0)):0){if((k[n>>2]|0)!=0&(k[o>>2]|0)>0){k[t>>2]=k[(k[B>>2]|0)+40>>2];k[v>>2]=k[(k[B>>2]|0)+44>>2];D=g;D=xO(k[x>>2]|0,k[D>>2]|0,k[D+4>>2]|0,(k[o>>2]|0)-1|0,k[t>>2]|0,k[v>>2]|0,k[e>>2]|0)|0;k[z>>2]=D}else{D=g;D=yO(k[x>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[o>>2]|0,k[B>>2]|0,k[e>>2]|0)|0;k[z>>2]=D}if((k[z>>2]|0)==0?k[k[e>>2]>>2]|0:0){do{D=zO(k[x>>2]|0,k[e>>2]|0,k[B>>2]|0)|0;k[z>>2]=D;if(!(k[z>>2]|0)){D=IL(k[x>>2]|0,k[B>>2]|0)|0;k[z>>2]=D}if((k[z>>2]|0)==100?(k[(k[e>>2]|0)+4>>2]|0)>=(k[A>>2]|0):0)k[z>>2]=0}while((k[z>>2]|0)==100);if((k[z>>2]|0)==0?(k[A>>2]=(k[A>>2]|0)-(1+(k[(k[e>>2]|0)+4>>2]|0)),D=g,D=AO(k[x>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[B>>2]|0,f)|0,k[z>>2]=D,k[f>>2]|0):0){k[i>>2]=1;D=g;BO(h,k[D>>2]|0,k[D+4>>2]|0,k[f>>2]|0,z)}}if(k[f>>2]|0){c=(k[e>>2]|0)+40|0;c=B0(k[c>>2]|0,k[c+4>>2]|0,-1,-1)|0;D=(k[e>>2]|0)+40|0;k[D>>2]=c;k[D+4>>2]=M}CO(k[x>>2]|0,k[e>>2]|0,z);if((k[f>>2]|0)==0?(l[(k[e>>2]|0)+48>>0]|0|0)==0:0){b=k[x>>2]|0;c=g;c=i0(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;D=(k[e>>2]|0)+40|0;ML(b,c,M,k[D>>2]|0,k[D+4>>2]|0)|0}}OL(k[B>>2]|0)}if((k[i>>2]|0)!=0&(k[z>>2]|0)==0){D=DO(k[x>>2]|0,h)|0;k[z>>2]=D}ie(k[e>>2]|0);ie(k[h>>2]|0);k[w>>2]=k[z>>2];D=k[w>>2]|0;u=C;return D|0}function sO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+24|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[j>>2]=a;k[c>>2]=b;k[d>>2]=0;k[(k[c>>2]|0)+4>>2]=0;b=CL(k[j>>2]|0,22,d,0)|0;k[e>>2]=b;if(k[e>>2]|0){j=k[e>>2]|0;u=i;return j|0}zJ(k[d>>2]|0,1,1)|0;if((100==(Ls(k[d>>2]|0)|0)?(j=pJ(k[d>>2]|0,0)|0,k[g>>2]=j,j=qJ(k[d>>2]|0,0)|0,k[h>>2]=j,k[g>>2]|0):0)?(EO(k[c>>2]|0,k[h>>2]|0,e),(k[e>>2]|0)==0):0){r0(k[k[c>>2]>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[(k[c>>2]|0)+4>>2]=k[h>>2]}j=Is(k[d>>2]|0)|0;k[f>>2]=j;if(k[e>>2]|0){j=k[e>>2]|0;u=i;return j|0}k[e>>2]=k[f>>2];j=k[e>>2]|0;u=i;return j|0}function tO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+32|0;g=m+20|0;e=m+16|0;d=m+12|0;f=m+8|0;h=m+4|0;j=m;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];k[j>>2]=(k[(k[e>>2]|0)+4>>2]|0)-2;while(1){if((k[j>>2]|0)<=0)break;if(!(i[(k[k[e>>2]>>2]|0)+((k[j>>2]|0)-1)>>0]&128))break;k[j>>2]=(k[j>>2]|0)+-1}while(1){if((k[j>>2]|0)>0)b=(i[(k[k[e>>2]>>2]|0)+((k[j>>2]|0)-1)>>0]&128|0)!=0;else b=0;a=k[j>>2]|0;if(!b)break;k[j>>2]=a+-1}k[(k[e>>2]|0)+4>>2]=a;a=lM((k[k[e>>2]>>2]|0)+(k[j>>2]|0)|0,k[d>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+a;a=(k[k[e>>2]>>2]|0)+(k[j>>2]|0)|0;if(l[(k[k[e>>2]>>2]|0)+(k[j>>2]|0)>>0]&128|0)a=mM(a,k[f>>2]|0)|0;else{k[k[f>>2]>>2]=l[a>>0];a=1}k[j>>2]=(k[j>>2]|0)+a;if((k[j>>2]|0)!=(k[h>>2]|0)){k[g>>2]=267;j=k[g>>2]|0;u=m;return j|0}else{k[g>>2]=0;j=k[g>>2]|0;u=m;return j|0}return 0}function uO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+20|0;e=i;f=i+16|0;g=i+12|0;h=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[h>>2]=0;d=CL(k[j>>2]|0,8,h,0)|0;k[g>>2]=d;if(k[g>>2]|0){j=k[g>>2]|0;u=i;return j|0}d=k[h>>2]|0;j=e;j=i0(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;AJ(d,1,j,M)|0;Ls(k[h>>2]|0)|0;j=sJ(k[h>>2]|0,0)|0;k[k[f>>2]>>2]=j;j=Is(k[h>>2]|0)|0;k[g>>2]=j;j=k[g>>2]|0;u=i;return j|0}function vO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;e=j+24|0;l=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;k[l>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;d=CL(k[l>>2]|0,15,h,0)|0;k[i>>2]=d;if(k[i>>2]|0){k[e>>2]=k[i>>2];l=k[e>>2]|0;u=j;return l|0}l=k[h>>2]|0;i=f;i=i0(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;AJ(l,1,i,M)|0;i=k[h>>2]|0;l=f;l=x0(k[l>>2]|0,k[l+4>>2]|0,1024,0)|0;l=i0(l|0,M|0,1,0)|0;l=B0(l|0,M|0,1024,0)|0;AJ(i,2,l,M)|0;k[k[g>>2]>>2]=0;if(100==(Ls(k[h>>2]|0)|0)){l=(Nv(k[h>>2]|0,0)|0)==5&1;k[k[g>>2]>>2]=l}l=Is(k[h>>2]|0)|0;k[e>>2]=l;l=k[e>>2]|0;u=j;return l|0}function wO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;j=p+36|0;l=p;m=p+32|0;n=p+28|0;o=p+24|0;f=p+20|0;g=p+16|0;h=p+12|0;i=p+8|0;k[j>>2]=a;a=l;k[a>>2]=b;k[a+4>>2]=c;k[m>>2]=d;k[n>>2]=e;k[f>>2]=0;a=k[n>>2]|0;b=a+56|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[g>>2]=k[m>>2]<<2;e=ze(k[g>>2]|0)|0;k[k[n>>2]>>2]=e;if(!(k[k[n>>2]>>2]|0))k[o>>2]=7;else{w0(k[k[n>>2]>>2]|0,0,k[g>>2]|0)|0;j=CL(k[j>>2]|0,12,f,0)|0;k[o>>2]=j}if(k[o>>2]|0){o=k[o>>2]|0;u=p;return o|0}AJ(k[f>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;k[h>>2]=0;while(1){if(k[o>>2]|0)break;if((Ls(k[f>>2]|0)|0)!=100)break;if((k[h>>2]|0)>=(k[m>>2]|0))break;q=k[h>>2]|0;a=tJ(k[f>>2]|0,1)|0;b=M;c=tJ(k[f>>2]|0,2)|0;d=M;e=tJ(k[f>>2]|0,3)|0;g=M;j=pJ(k[f>>2]|0,4)|0;l=qJ(k[f>>2]|0,4)|0;l=BM(q,0,a,b,c,d,e,g,j,l,(k[k[n>>2]>>2]|0)+(k[h>>2]<<2)|0)|0;k[o>>2]=l;l=(k[n>>2]|0)+4|0;k[l>>2]=(k[l>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}q=Is(k[f>>2]|0)|0;k[i>>2]=q;if(k[o>>2]|0){q=k[o>>2]|0;u=p;return q|0}k[o>>2]=k[i>>2];q=k[o>>2]|0;u=p;return q|0}function xO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=u;u=u+208|0;H=J+200|0;I=J+196|0;t=J+120|0;h=J+192|0;j=J+188|0;l=J+184|0;y=J+180|0;z=J+176|0;A=J+172|0;m=J+112|0;n=J+104|0;o=J+96|0;v=J+168|0;w=J+164|0;B=J+160|0;p=J+156|0;q=J+152|0;r=J+148|0;s=J+48|0;C=J+144|0;x=J+140|0;D=J+136|0;E=J;F=J+132|0;G=J+128|0;k[I>>2]=a;a=t;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[j>>2]=e;k[l>>2]=f;k[y>>2]=g;k[A>>2]=0;g=CL(k[I>>2]|0,32,A,0)|0;k[z>>2]=g;if(!(k[z>>2]|0)){a=m;k[a>>2]=0;k[a+4>>2]=0;a=n;k[a>>2]=0;k[a+4>>2]=0;a=o;k[a>>2]=0;k[a+4>>2]=0;k[v>>2]=0;k[w>>2]=0;k[p>>2]=0;a=k[A>>2]|0;g=t;g=i0(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;AJ(a,1,g,M)|0;zJ(k[A>>2]|0,2,k[h>>2]|0)|0;g=(Ls(k[A>>2]|0)|0)==100;a=k[A>>2]|0;if(!g){I=Is(a)|0;k[H>>2]=I;I=k[H>>2]|0;u=J;return I|0}g=tJ(a,1)|0;f=m;k[f>>2]=g;k[f+4>>2]=M;f=tJ(k[A>>2]|0,2)|0;g=n;k[g>>2]=f;k[g+4>>2]=M;RL(k[A>>2]|0,3,o,(k[y>>2]|0)+40|0);if((k[(k[y>>2]|0)+40+4>>2]|0)<0){f=(k[y>>2]|0)+40|0;f=B0(k[f>>2]|0,k[f+4>>2]|0,-1,-1)|0;g=(k[y>>2]|0)+40|0;k[g>>2]=f;k[g+4>>2]=M}g=(k[y>>2]|0)+40|0;i[(k[y>>2]|0)+48>>0]=(k[g>>2]|0)==0&(k[g+4>>2]|0)==0&1;g=qJ(k[A>>2]|0,4)|0;k[w>>2]=g;g=pJ(k[A>>2]|0,4)|0;k[v>>2]=g;g=o;g=QO(k[I>>2]|0,k[g>>2]|0,k[g+4>>2]|0,p)|0;k[z>>2]=g;if((k[z>>2]|0)==0&(k[p>>2]|0)!=0){k[q>>2]=0;k[r>>2]=0;n=tM(k[I>>2]|0,k[n>>2]|0,k[n+4>>2]|0,q,r,0)|0;k[z>>2]=n;if(!(k[z>>2]|0)){r=JO(s,k[q>>2]|0,k[r>>2]|0)|0;k[z>>2]=r;while(1){if(!((k[z>>2]|0)==0?(k[s>>2]|0)!=0:0))break;r=NO(s)|0;k[z>>2]=r}if((KO(k[j>>2]|0,k[l>>2]|0,k[s+24>>2]|0,k[s+24+4>>2]|0)|0)<=0)k[p>>2]=0;OO(s)}ie(k[q>>2]|0)}a:do if((k[z>>2]|0)==0&(k[p>>2]|0)!=0){k[x>>2]=i[k[v>>2]>>0];s=o;r=m;r=h0(k[s>>2]|0,k[s+4>>2]|0,k[r>>2]|0,k[r+4>>2]|0)|0;r=i0(r|0,M|0,1,0)|0;k[k[y>>2]>>2]=(r|0)/16|0;r=m;s=k[r+4>>2]|0;q=(k[y>>2]|0)+24|0;k[q>>2]=k[r>>2];k[q+4>>2]=s;q=o;s=k[q+4>>2]|0;r=(k[y>>2]|0)+32|0;k[r>>2]=k[q>>2];k[r+4>>2]=s;r=t;s=k[r+4>>2]|0;t=(k[y>>2]|0)+8|0;k[t>>2]=k[r>>2];k[t+4>>2]=s;k[(k[y>>2]|0)+16>>2]=k[h>>2];k[C>>2]=(k[x>>2]|0)+1;while(1){a=k[y>>2]|0;if((k[C>>2]|0)>=16)break;t=a+24|0;s=$(k[C>>2]|0,k[k[y>>2]>>2]|0)|0;s=i0(k[t>>2]|0,k[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=(k[y>>2]|0)+56+(k[C>>2]<<5)|0;k[t>>2]=s;k[t+4>>2]=M;k[C>>2]=(k[C>>2]|0)+1}k[D>>2]=a+56+(k[x>>2]<<5);t=(k[y>>2]|0)+24|0;s=$(k[k[y>>2]>>2]|0,k[x>>2]|0)|0;s=i0(k[t>>2]|0,k[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=k[D>>2]|0;k[t>>2]=s;k[t+4>>2]=M;if((k[w>>2]|0)>(k[(k[I>>2]|0)+224>>2]|0))a=k[w>>2]|0;else a=k[(k[I>>2]|0)+224>>2]|0;EO((k[D>>2]|0)+20|0,a,z);if(!(k[z>>2]|0)){r0(k[(k[D>>2]|0)+20>>2]|0,k[v>>2]|0,k[w>>2]|0)|0;k[(k[D>>2]|0)+20+4>>2]=k[w>>2]}k[C>>2]=k[x>>2];while(1){if(!((k[C>>2]|0)>=0?(k[z>>2]|0)==0:0))break a;k[D>>2]=(k[y>>2]|0)+56+(k[C>>2]<<5);x=JO(E,k[(k[D>>2]|0)+20>>2]|0,k[(k[D>>2]|0)+20+4>>2]|0)|0;k[z>>2]=x;while(1){if(!(k[E>>2]|0?(k[z>>2]|0)==0:0))break;x=NO(E)|0;k[z>>2]=x}EO((k[D>>2]|0)+8|0,k[E+24+4>>2]|0,z);if((k[z>>2]|0)==0?(r0(k[(k[D>>2]|0)+8>>2]|0,k[E+24>>2]|0,k[E+24+4>>2]|0)|0,k[(k[D>>2]|0)+8+4>>2]=k[E+24+4>>2],(k[C>>2]|0)>0):0){k[F>>2]=0;k[G>>2]=0;k[D>>2]=(k[y>>2]|0)+56+((k[C>>2]|0)-1<<5);v=E+16|0;w=k[v+4>>2]|0;x=k[D>>2]|0;k[x>>2]=k[v>>2];k[x+4>>2]=w;x=E+16|0;x=tM(k[I>>2]|0,k[x>>2]|0,k[x+4>>2]|0,F,G,0)|0;k[z>>2]=x;if((k[G>>2]|0)>(k[(k[I>>2]|0)+224>>2]|0))a=k[G>>2]|0;else a=k[(k[I>>2]|0)+224>>2]|0;EO((k[D>>2]|0)+20|0,a,z);if(!(k[z>>2]|0)){r0(k[(k[D>>2]|0)+20>>2]|0,k[F>>2]|0,k[G>>2]|0)|0;k[(k[D>>2]|0)+20+4>>2]=k[G>>2]}ie(k[F>>2]|0)}OO(E);k[C>>2]=(k[C>>2]|0)+-1}}while(0);I=Is(k[A>>2]|0)|0;k[B>>2]=I;if(!(k[z>>2]|0))k[z>>2]=k[B>>2]}k[H>>2]=k[z>>2];I=k[H>>2]|0;u=J;return I|0}function yO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;o=s+44|0;p=s+40|0;q=s;r=s+36|0;g=s+32|0;h=s+28|0;i=s+24|0;j=s+20|0;l=s+16|0;m=s+12|0;n=s+8|0;k[p>>2]=a;a=q;k[a>>2]=b;k[a+4>>2]=c;k[r>>2]=d;k[g>>2]=e;k[h>>2]=f;k[l>>2]=0;k[m>>2]=0;k[n>>2]=0;f=CL(k[p>>2]|0,29,m,0)|0;k[i>>2]=f;if(!(k[i>>2]|0)){f=q;AJ(k[m>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;f=k[(k[g>>2]|0)+4>>2]|0;AJ(k[m>>2]|0,2,f,((f|0)<0)<<31>>31)|0;if(100==(Ls(k[m>>2]|0)|0)){f=sJ(k[m>>2]|0,0)|0;k[l>>2]=f}f=Is(k[m>>2]|0)|0;k[i>>2]=f}if(k[i>>2]|0){k[o>>2]=k[i>>2];r=k[o>>2]|0;u=s;return r|0}f=CL(k[p>>2]|0,10,n,0)|0;k[i>>2]=f;if(!(k[i>>2]|0)){if(100==(Ls(k[n>>2]|0)|0)){e=tJ(k[n>>2]|0,0)|0;f=(k[h>>2]|0)+24|0;k[f>>2]=e;k[f+4>>2]=M;f=(k[h>>2]|0)+24|0;f=h0(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;e=(k[h>>2]|0)+32|0;k[e>>2]=f;k[e+4>>2]=M;e=k[l>>2]<<4;f=(k[h>>2]|0)+32|0;d=f;e=i0(k[d>>2]|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;k[f>>2]=e;k[f+4>>2]=M}f=Is(k[n>>2]|0)|0;k[i>>2]=f}if(k[i>>2]|0){k[o>>2]=k[i>>2];r=k[o>>2]|0;u=s;return r|0}f=(k[h>>2]|0)+32|0;p=SL(k[p>>2]|0,k[f>>2]|0,k[f+4>>2]|0,0,0)|0;k[i>>2]=p;if(k[i>>2]|0){k[o>>2]=k[i>>2];r=k[o>>2]|0;u=s;return r|0}f=q;p=k[f+4>>2]|0;q=(k[h>>2]|0)+8|0;k[q>>2]=k[f>>2];k[q+4>>2]=p;k[k[h>>2]>>2]=k[l>>2];k[(k[h>>2]|0)+16>>2]=k[r>>2];k[j>>2]=0;while(1){if((k[j>>2]|0)>=16)break;r=(k[h>>2]|0)+24|0;q=$(k[j>>2]|0,k[k[h>>2]>>2]|0)|0;q=i0(k[r>>2]|0,k[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=(k[h>>2]|0)+56+(k[j>>2]<<5)|0;k[r>>2]=q;k[r+4>>2]=M;k[j>>2]=(k[j>>2]|0)+1}k[o>>2]=0;r=k[o>>2]|0;u=s;return r|0}function zO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+48|0;j=q+44|0;l=q+40|0;r=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;d=q+16|0;e=q+12|0;f=q+8|0;g=q+4|0;h=q;k[j>>2]=a;k[l>>2]=b;k[r>>2]=c;k[m>>2]=k[(k[r>>2]|0)+40>>2];k[n>>2]=k[(k[r>>2]|0)+44>>2];k[o>>2]=k[(k[r>>2]|0)+48>>2];k[p>>2]=k[(k[r>>2]|0)+52>>2];k[d>>2]=0;k[h>>2]=(k[l>>2]|0)+56;c=ZL(k[(k[h>>2]|0)+8>>2]|0,k[(k[h>>2]|0)+8+4>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[f>>2]=c;k[g>>2]=(k[n>>2]|0)-(k[f>>2]|0);c=k[f>>2]|0;c=WL(c,((c|0)<0)<<31>>31)|0;k[e>>2]=c;c=k[g>>2]|0;c=WL(c,((c|0)<0)<<31>>31)|0;k[e>>2]=(k[e>>2]|0)+(c+(k[g>>2]|0));c=k[p>>2]|0;c=WL(c,((c|0)<0)<<31>>31)|0;k[e>>2]=(k[e>>2]|0)+(c+(k[p>>2]|0));if((k[(k[h>>2]|0)+20+4>>2]|0)>0?((k[(k[h>>2]|0)+20+4>>2]|0)+(k[e>>2]|0)|0)>(k[(k[j>>2]|0)+224>>2]|0):0){r=k[h>>2]|0;r=SL(k[j>>2]|0,k[r>>2]|0,k[r+4>>2]|0,k[(k[h>>2]|0)+20>>2]|0,k[(k[h>>2]|0)+20+4>>2]|0)|0;k[d>>2]=r;r=(k[l>>2]|0)+4|0;k[r>>2]=(k[r>>2]|0)+1;if(!(k[d>>2]|0)){r=PO(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,(k[f>>2]|0)+1|0)|0;k[d>>2]=r}r=k[h>>2]|0;j=r;j=i0(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[r>>2]=j;k[r+4>>2]=M;k[(k[h>>2]|0)+8+4>>2]=0;k[(k[h>>2]|0)+20+4>>2]=0;k[g>>2]=k[n>>2];k[e>>2]=1;r=k[g>>2]|0;r=WL(r,((r|0)<0)<<31>>31)|0;k[e>>2]=(k[e>>2]|0)+(r+(k[g>>2]|0));r=k[p>>2]|0;r=WL(r,((r|0)<0)<<31>>31)|0;k[e>>2]=(k[e>>2]|0)+(r+(k[p>>2]|0))}j=k[e>>2]|0;r=(k[l>>2]|0)+40|0;l=r;l=i0(k[l>>2]|0,k[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;k[r>>2]=l;k[r+4>>2]=M;EO((k[h>>2]|0)+20|0,(k[(k[h>>2]|0)+20+4>>2]|0)+(k[e>>2]|0)|0,d);if(k[d>>2]|0){r=k[d>>2]|0;u=q;return r|0}if(!(k[(k[h>>2]|0)+20+4>>2]|0)){k[(k[h>>2]|0)+20+4>>2]=1;i[k[(k[h>>2]|0)+20>>2]>>0]=0}r=MO((k[h>>2]|0)+20|0,(k[h>>2]|0)+8|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[d>>2]=r;r=k[d>>2]|0;u=q;return r|0}function AO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;m=r+44|0;n=r;o=r+40|0;p=r+36|0;q=r+32|0;f=r+28|0;g=r+24|0;h=r+20|0;i=r+16|0;j=r+12|0;l=r+8|0;k[m>>2]=a;a=n;k[a>>2]=b;k[a+4>>2]=c;k[o>>2]=d;k[p>>2]=e;k[f>>2]=0;k[g>>2]=0;k[q>>2]=(k[(k[o>>2]|0)+4>>2]|0)-1;while(1){if(!((k[q>>2]|0)>=0?(k[g>>2]|0)==0:0))break;k[h>>2]=0;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[o>>2]|0)+4>>2]|0))break;k[h>>2]=k[(k[k[o>>2]>>2]|0)+(k[i>>2]<<2)>>2];if((k[k[h>>2]>>2]|0)==(k[q>>2]|0))break;k[i>>2]=(k[i>>2]|0)+1}if(!(k[(k[h>>2]|0)+40>>2]|0)){e=YL(k[m>>2]|0,k[h>>2]|0)|0;k[g>>2]=e;if(!(k[g>>2]|0)){e=n;e=FO(k[m>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[k[h>>2]>>2]|0)|0;k[g>>2]=e}k[k[p>>2]>>2]=0}else{k[j>>2]=k[(k[h>>2]|0)+64>>2];k[l>>2]=k[(k[h>>2]|0)+60>>2];e=n;e=GO(k[m>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[k[h>>2]>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[g>>2]=e;k[f>>2]=(k[f>>2]|0)+1}k[q>>2]=(k[q>>2]|0)+-1}if(k[g>>2]|0){o=k[f>>2]|0;q=k[p>>2]|0;k[q>>2]=o;q=k[g>>2]|0;u=r;return q|0}if((k[f>>2]|0)==(k[(k[o>>2]|0)+4>>2]|0)){o=k[f>>2]|0;q=k[p>>2]|0;k[q>>2]=o;q=k[g>>2]|0;u=r;return q|0}o=n;o=HO(k[m>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[g>>2]=o;o=k[f>>2]|0;q=k[p>>2]|0;k[q>>2]=o;q=k[g>>2]|0;u=r;return q|0}function BO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;f=i+16|0;g=i;h=i+12|0;j=i+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[j>>2]=e;EO(k[f>>2]|0,(k[(k[f>>2]|0)+4>>2]|0)+20|0,k[j>>2]|0);if(k[k[j>>2]>>2]|0){u=i;return}g=XL((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,k[g>>2]|0,k[g+4>>2]|0)|0;j=(k[f>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+g;h=k[h>>2]|0;h=XL((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,h,((h|0)<0)<<31>>31)|0;j=(k[f>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+h;u=i;return}function CO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;g=q+36|0;m=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;p=q+12|0;d=q+8|0;e=q+4|0;f=q;k[g>>2]=a;k[m>>2]=b;k[n>>2]=c;k[p>>2]=k[k[n>>2]>>2];k[j>>2]=15;while(1){if((k[j>>2]|0)<0)break;k[d>>2]=(k[m>>2]|0)+56+(k[j>>2]<<5);if((k[(k[d>>2]|0)+20+4>>2]|0)>0)break;ie(k[(k[d>>2]|0)+20>>2]|0);ie(k[(k[d>>2]|0)+8>>2]|0);k[j>>2]=(k[j>>2]|0)+-1}if((k[j>>2]|0)<0){u=q;return}if(!(k[j>>2]|0)){k[e>>2]=(k[m>>2]|0)+56+32+20;EO(k[e>>2]|0,11,p);if(!(k[p>>2]|0)){i[k[k[e>>2]>>2]>>0]=1;c=(k[m>>2]|0)+56|0;c=1+(XL((k[k[e>>2]>>2]|0)+1|0,k[c>>2]|0,k[c+4>>2]|0)|0)|0;k[(k[e>>2]|0)+4>>2]=c}k[j>>2]=1}k[o>>2]=(k[m>>2]|0)+56+(k[j>>2]<<5);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[j>>2]|0))break;k[f>>2]=(k[m>>2]|0)+56+(k[h>>2]<<5);if((k[p>>2]|0)==0?(k[(k[f>>2]|0)+20+4>>2]|0)>0:0){c=k[f>>2]|0;c=SL(k[g>>2]|0,k[c>>2]|0,k[c+4>>2]|0,k[(k[f>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+20+4>>2]|0)|0;k[p>>2]=c}ie(k[(k[f>>2]|0)+20>>2]|0);ie(k[(k[f>>2]|0)+8>>2]|0);k[h>>2]=(k[h>>2]|0)+1}if(!(k[p>>2]|0)){a=k[g>>2]|0;b=(k[m>>2]|0)+8|0;b=i0(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;d=(k[m>>2]|0)+24|0;e=(k[m>>2]|0)+56|0;f=(k[m>>2]|0)+32|0;if(!(l[(k[m>>2]|0)+48>>0]|0)){g=(k[m>>2]|0)+40|0;c=k[g>>2]|0;g=k[g+4>>2]|0}else{c=0;g=0}m=UL(a,b,M,k[(k[m>>2]|0)+16>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0,c,g,k[(k[o>>2]|0)+20>>2]|0,k[(k[o>>2]|0)+20+4>>2]|0)|0;k[p>>2]=m}ie(k[(k[o>>2]|0)+20>>2]|0);ie(k[(k[o>>2]|0)+8>>2]|0);k[k[n>>2]>>2]=k[p>>2];u=q;return}function DO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;b=CL(k[g>>2]|0,23,d,0)|0;k[e>>2]=b;if(k[e>>2]|0){g=k[e>>2]|0;u=f;return g|0}zJ(k[d>>2]|0,1,1)|0;vJ(k[d>>2]|0,2,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+4>>2]|0,0)|0;Ls(k[d>>2]|0)|0;g=Is(k[d>>2]|0)|0;k[e>>2]=g;g=k[e>>2]|0;u=f;return g|0}function EO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){u=i;return}if((k[e>>2]|0)<=(k[(k[d>>2]|0)+8>>2]|0)){u=i;return}k[g>>2]=k[e>>2];e=fg(k[k[d>>2]>>2]|0,k[g>>2]|0)|0;k[h>>2]=e;if(k[h>>2]|0){k[(k[d>>2]|0)+8>>2]=k[g>>2];k[k[d>>2]>>2]=k[h>>2];u=i;return}else{k[k[f>>2]>>2]=7;u=i;return}}function FO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+20|0;e=i;f=i+16|0;g=i+12|0;h=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[h>>2]=0;d=CL(k[j>>2]|0,30,h,0)|0;k[g>>2]=d;if(k[g>>2]|0){j=k[g>>2]|0;u=i;return j|0}j=e;AJ(k[h>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;zJ(k[h>>2]|0,2,k[f>>2]|0)|0;Ls(k[h>>2]|0)|0;j=Is(k[h>>2]|0)|0;k[g>>2]=j;j=k[g>>2]|0;u=i;return j|0}function GO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+112|0;x=B+104|0;y=B+24|0;z=B+100|0;A=B+96|0;g=B+92|0;h=B+88|0;i=B+76|0;j=B+64|0;l=B+16|0;m=B+8|0;n=B;o=B+60|0;p=B+56|0;q=B+52|0;r=B+48|0;s=B+44|0;t=B+40|0;v=B+36|0;w=B+32|0;k[x>>2]=a;a=y;k[a>>2]=b;k[a+4>>2]=c;k[z>>2]=d;k[A>>2]=e;k[g>>2]=f;k[h>>2]=0;k[i>>2]=0;k[i+4>>2]=0;k[i+8>>2]=0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;f=l;k[f>>2]=0;k[f+4>>2]=0;f=m;k[f>>2]=0;k[f+4>>2]=0;f=n;k[f>>2]=0;k[f+4>>2]=0;k[o>>2]=0;f=CL(k[x>>2]|0,32,o,0)|0;k[h>>2]=f;if(!(k[h>>2]|0)){f=y;AJ(k[o>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;zJ(k[o>>2]|0,2,k[z>>2]|0)|0;if(100==(Ls(k[o>>2]|0)|0)){e=pJ(k[o>>2]|0,4)|0;k[q>>2]=e;e=qJ(k[o>>2]|0,4)|0;k[r>>2]=e;e=tJ(k[o>>2]|0,1)|0;f=n;k[f>>2]=e;k[f+4>>2]=M;f=IO(k[q>>2]|0,k[r>>2]|0,i,k[A>>2]|0,k[g>>2]|0,l)|0;k[h>>2]=f}f=Is(k[o>>2]|0)|0;k[p>>2]=f;if(!(k[h>>2]|0))k[h>>2]=k[p>>2]}while(1){f=l;if(!((k[h>>2]|0)==0?(k[f>>2]|0)!=0|(k[f+4>>2]|0)!=0:0))break;k[s>>2]=0;k[t>>2]=0;d=l;e=k[d+4>>2]|0;f=m;k[f>>2]=k[d>>2];k[f+4>>2]=e;f=l;f=tM(k[x>>2]|0,k[f>>2]|0,k[f+4>>2]|0,s,t,0)|0;k[h>>2]=f;if(!(k[h>>2]|0)){f=IO(k[s>>2]|0,k[t>>2]|0,j,k[A>>2]|0,k[g>>2]|0,l)|0;k[h>>2]=f}if(!(k[h>>2]|0)){f=m;f=SL(k[x>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[h>>2]=f}ie(k[s>>2]|0)}A=m;if((k[h>>2]|0)==0&((k[A>>2]|0)!=0|(k[A+4>>2]|0)!=0)?(k[v>>2]=0,A=CL(k[x>>2]|0,17,v,0)|0,k[h>>2]=A,(k[h>>2]|0)==0):0){f=n;AJ(k[v>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;f=k[v>>2]|0;A=m;A=h0(k[A>>2]|0,k[A+4>>2]|0,1,0)|0;AJ(f,2,A,M)|0;Ls(k[v>>2]|0)|0;A=Is(k[v>>2]|0)|0;k[h>>2]=A}if(k[h>>2]|0){A=k[i>>2]|0;ie(A);A=k[j>>2]|0;ie(A);A=k[h>>2]|0;u=B;return A|0}k[w>>2]=0;A=CL(k[x>>2]|0,33,w,0)|0;k[h>>2]=A;if(k[h>>2]|0){A=k[i>>2]|0;ie(A);A=k[j>>2]|0;ie(A);A=k[h>>2]|0;u=B;return A|0}A=m;AJ(k[w>>2]|0,1,k[A>>2]|0,k[A+4>>2]|0)|0;vJ(k[w>>2]|0,2,k[i>>2]|0,k[i+4>>2]|0,0)|0;A=y;AJ(k[w>>2]|0,3,k[A>>2]|0,k[A+4>>2]|0)|0;zJ(k[w>>2]|0,4,k[z>>2]|0)|0;Ls(k[w>>2]|0)|0;A=Is(k[w>>2]|0)|0;k[h>>2]=A;A=k[i>>2]|0;ie(A);A=k[j>>2]|0;ie(A);A=k[h>>2]|0;u=B;return A|0}function HO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;h=r+44|0;j=r;l=r+40|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;d=r+20|0;e=r+16|0;f=r+12|0;g=r+8|0;k[h>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[m>>2]=0;k[n>>2]=0;k[o>>2]=0;k[d>>2]=0;k[e>>2]=0;c=CL(k[h>>2]|0,35,d,0)|0;k[l>>2]=c;if(!(k[l>>2]|0)){c=j;AJ(k[d>>2]|0,1,k[c>>2]|0,k[c+4>>2]|0)|0;while(1){if(100!=(Ls(k[d>>2]|0)|0))break;if((k[n>>2]|0)>=(k[o>>2]|0)){k[o>>2]=(k[o>>2]|0)+16;c=fg(k[m>>2]|0,k[o>>2]<<2)|0;k[g>>2]=c;if(!(k[g>>2]|0)){q=6;break}k[m>>2]=k[g>>2]}a=sJ(k[d>>2]|0,0)|0;b=k[m>>2]|0;c=k[n>>2]|0;k[n>>2]=c+1;k[b+(c<<2)>>2]=a}if((q|0)==6)k[l>>2]=7;q=Is(k[d>>2]|0)|0;k[f>>2]=q;if(!(k[l>>2]|0))k[l>>2]=k[f>>2]}if(!(k[l>>2]|0)){q=CL(k[h>>2]|0,31,e,0)|0;k[l>>2]=q}if(!(k[l>>2]|0)){q=j;AJ(k[e>>2]|0,2,k[q>>2]|0,k[q+4>>2]|0)|0}i[(k[h>>2]|0)+232>>0]=1;k[p>>2]=0;while(1){if(k[l>>2]|0){q=21;break}if((k[p>>2]|0)>=(k[n>>2]|0)){q=21;break}if((k[(k[m>>2]|0)+(k[p>>2]<<2)>>2]|0)!=(k[p>>2]|0)){zJ(k[e>>2]|0,3,k[(k[m>>2]|0)+(k[p>>2]<<2)>>2]|0)|0;zJ(k[e>>2]|0,1,k[p>>2]|0)|0;Ls(k[e>>2]|0)|0;q=Is(k[e>>2]|0)|0;k[l>>2]=q}k[p>>2]=(k[p>>2]|0)+1}if((q|0)==21){i[(k[h>>2]|0)+232>>0]=0;ie(k[m>>2]|0);u=r;return k[l>>2]|0}return 0}function IO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+112|0;q=w+96|0;r=w+92|0;s=w+88|0;t=w+84|0;g=w+80|0;h=w+76|0;j=w+72|0;l=w;m=w+60|0;n=w+56|0;o=w+52|0;p=w+48|0;k[r>>2]=a;k[s>>2]=b;k[t>>2]=c;k[g>>2]=d;k[h>>2]=e;k[j>>2]=f;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[n>>2]=0;k[o>>2]=(i[k[r>>2]>>0]|0)==0&1;EO(k[t>>2]|0,k[s>>2]|0,n);if(k[n>>2]|0){k[q>>2]=k[n>>2];v=k[q>>2]|0;u=w;return v|0}k[(k[t>>2]|0)+4>>2]=0;s=JO(l,k[r>>2]|0,k[s>>2]|0)|0;k[n>>2]=s;while(1){if(!((k[n>>2]|0)==0?(k[l>>2]|0)!=0:0))break;if(!(k[(k[t>>2]|0)+4>>2]|0)){s=KO(k[l+24>>2]|0,k[l+24+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[p>>2]=s;if((k[p>>2]|0)>=0?!((k[o>>2]|0)==0&(k[p>>2]|0)==0):0){f=l+16|0;LO(k[t>>2]|0,i[k[r>>2]>>0]|0,k[f>>2]|0,k[f+4>>2]|0);f=l+16|0;s=k[f+4>>2]|0;v=k[j>>2]|0;k[v>>2]=k[f>>2];k[v+4>>2]=s;v=9}}else v=9;if((v|0)==9?(v=0,s=MO(k[t>>2]|0,m,k[l+24>>2]|0,k[l+24+4>>2]|0,k[l+36>>2]|0,k[l+40>>2]|0)|0,k[n>>2]=s,k[n>>2]|0):0)break;s=NO(l)|0;k[n>>2]=s}if(!(k[(k[t>>2]|0)+4>>2]|0)){s=l+16|0;LO(k[t>>2]|0,i[k[r>>2]>>0]|0,k[s>>2]|0,k[s+4>>2]|0);s=l+16|0;t=k[s+4>>2]|0;v=k[j>>2]|0;k[v>>2]=k[s>>2];k[v+4>>2]=t}OO(l);ie(k[m>>2]|0);k[q>>2]=k[n>>2];v=k[q>>2]|0;u=w;return v|0}function JO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g+8|0;d=g+4|0;e=g;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;a=k[f>>2]|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[f>>2]>>2]=k[d>>2];k[(k[f>>2]|0)+4>>2]=k[e>>2];a=k[f>>2]|0;if(!(i[k[k[f>>2]>>2]>>0]|0)){d=1;e=a;e=e+8|0;k[e>>2]=d;f=k[f>>2]|0;f=NO(f)|0;u=g;return f|0}d=1+(lM((k[a>>2]|0)+1|0,(k[f>>2]|0)+16|0)|0)|0;e=k[f>>2]|0;e=e+8|0;k[e>>2]=d;f=k[f>>2]|0;f=NO(f)|0;u=g;return f|0}function KO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=u;u=u+32|0;l=h+20|0;e=h+16|0;j=h+12|0;f=h+8|0;i=h+4|0;g=h;k[l>>2]=a;k[e>>2]=b;k[j>>2]=c;k[f>>2]=d;k[i>>2]=(k[e>>2]|0)<(k[f>>2]|0)?k[e>>2]|0:k[f>>2]|0;d=R_(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0){l=k[g>>2]|0;u=h;return l|0}k[g>>2]=(k[e>>2]|0)-(k[f>>2]|0);l=k[g>>2]|0;u=h;return l|0}function LO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=u;u=u+16|0;e=g+12|0;h=g+8|0;f=g;k[e>>2]=a;k[h>>2]=b;a=f;k[a>>2]=c;k[a+4>>2]=d;i[k[k[e>>2]>>2]>>0]=k[h>>2];d=f;a=k[e>>2]|0;if(!((k[d>>2]|0)!=0|(k[d+4>>2]|0)!=0)){f=1;h=a;h=h+4|0;k[h>>2]=f;u=g;return}f=1+(XL((k[a>>2]|0)+1|0,k[f>>2]|0,k[f+4>>2]|0)|0)|0;h=k[e>>2]|0;h=h+4|0;k[h>>2]=f;u=g;return}function MO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;o=s+40|0;p=s+36|0;q=s+32|0;r=s+28|0;g=s+24|0;h=s+20|0;i=s+16|0;j=s+12|0;l=s+8|0;m=s+4|0;n=s;k[p>>2]=a;k[q>>2]=b;k[r>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=f;k[j>>2]=0;k[l>>2]=(k[(k[q>>2]|0)+4>>2]|0)==0&1;EO(k[q>>2]|0,k[g>>2]|0,j);if(k[j>>2]|0){k[o>>2]=k[j>>2];r=k[o>>2]|0;u=s;return r|0}f=ZL(k[k[q>>2]>>2]|0,k[(k[q>>2]|0)+4>>2]|0,k[r>>2]|0,k[g>>2]|0)|0;k[m>>2]=f;k[n>>2]=(k[g>>2]|0)-(k[m>>2]|0);r0(k[k[q>>2]>>2]|0,k[r>>2]|0,k[g>>2]|0)|0;k[(k[q>>2]|0)+4>>2]=k[g>>2];if(!(k[l>>2]|0)){f=k[m>>2]|0;f=XL((k[k[p>>2]>>2]|0)+(k[(k[p>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;q=(k[p>>2]|0)+4|0;k[q>>2]=(k[q>>2]|0)+f}f=k[n>>2]|0;f=XL((k[k[p>>2]>>2]|0)+(k[(k[p>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;q=(k[p>>2]|0)+4|0;k[q>>2]=(k[q>>2]|0)+f;r0((k[k[p>>2]>>2]|0)+(k[(k[p>>2]|0)+4>>2]|0)|0,(k[r>>2]|0)+(k[m>>2]|0)|0,k[n>>2]|0)|0;r=(k[p>>2]|0)+4|0;k[r>>2]=(k[r>>2]|0)+(k[n>>2]|0);if(k[h>>2]|0){q=k[i>>2]|0;q=XL((k[k[p>>2]>>2]|0)+(k[(k[p>>2]|0)+4>>2]|0)|0,q,((q|0)<0)<<31>>31)|0;r=(k[p>>2]|0)+4|0;k[r>>2]=(k[r>>2]|0)+q;r0((k[k[p>>2]>>2]|0)+(k[(k[p>>2]|0)+4>>2]|0)|0,k[h>>2]|0,k[i>>2]|0)|0;r=(k[p>>2]|0)+4|0;k[r>>2]=(k[r>>2]|0)+(k[i>>2]|0)}k[o>>2]=0;r=k[o>>2]|0;u=s;return r|0}function NO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;e=g+16|0;b=g+12|0;c=g+8|0;d=g+4|0;f=g;k[e>>2]=a;k[b>>2]=(k[(k[e>>2]|0)+24+4>>2]|0)==0&1;k[c>>2]=0;k[d>>2]=0;k[f>>2]=0;a=(k[e>>2]|0)+16|0;if(((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)&(k[b>>2]|0)==0){a=(k[e>>2]|0)+16|0;h=a;h=i0(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;k[a>>2]=h;k[a+4>>2]=M}if((k[(k[e>>2]|0)+8>>2]|0)>=(k[(k[e>>2]|0)+4>>2]|0)){k[k[e>>2]>>2]=0;h=k[f>>2]|0;u=g;return h|0}if(!(k[b>>2]|0)){a=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128|0)a=mM(a,c)|0;else{k[c>>2]=l[a>>0];a=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+a}a=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128|0)a=mM(a,d)|0;else{k[d>>2]=l[a>>0];a=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+a;EO((k[e>>2]|0)+24|0,(k[c>>2]|0)+(k[d>>2]|0)|0,f);if(k[f>>2]|0){h=k[f>>2]|0;u=g;return h|0}r0((k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]|0)|0,(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0,k[d>>2]|0)|0;k[(k[e>>2]|0)+24+4>>2]=(k[c>>2]|0)+(k[d>>2]|0);h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+(k[d>>2]|0);h=(k[e>>2]|0)+16|0;if(!((k[h>>2]|0)==0&(k[h+4>>2]|0)==0)){h=k[f>>2]|0;u=g;return h|0}a=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128|0)a=mM(a,(k[e>>2]|0)+40|0)|0;else{k[(k[e>>2]|0)+40>>2]=l[a>>0];a=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+a;k[(k[e>>2]|0)+36>>2]=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0);h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+(k[(k[e>>2]|0)+40>>2]|0);h=k[f>>2]|0;u=g;return h|0}function OO(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ie(k[(k[c>>2]|0)+24>>2]|0);u=b;return}function PO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+64|0;o=w+60|0;p=w+56|0;q=w+52|0;r=w+48|0;s=w+44|0;t=w+8|0;e=w+40|0;f=w;g=w+36|0;h=w+32|0;j=w+28|0;l=w+24|0;m=w+20|0;n=w+16|0;k[p>>2]=a;k[q>>2]=b;k[r>>2]=c;k[s>>2]=d;b=(k[q>>2]|0)+56|0;c=k[b+4>>2]|0;d=t;k[d>>2]=k[b>>2];k[d+4>>2]=c;k[e>>2]=1;while(1){if((k[e>>2]|0)>=16){v=17;break}d=f;k[d>>2]=0;k[d+4>>2]=0;k[g>>2]=(k[q>>2]|0)+56+(k[e>>2]<<5);k[h>>2]=0;d=ZL(k[(k[g>>2]|0)+8>>2]|0,k[(k[g>>2]|0)+8+4>>2]|0,k[r>>2]|0,k[s>>2]|0)|0;k[j>>2]=d;k[l>>2]=(k[s>>2]|0)-(k[j>>2]|0);d=k[j>>2]|0;d=WL(d,((d|0)<0)<<31>>31)|0;k[m>>2]=d;d=k[l>>2]|0;d=WL(d,((d|0)<0)<<31>>31)|0;k[m>>2]=(k[m>>2]|0)+(d+(k[l>>2]|0));if((k[(k[g>>2]|0)+8+4>>2]|0)!=0?((k[(k[g>>2]|0)+20+4>>2]|0)+(k[m>>2]|0)|0)>(k[(k[p>>2]|0)+224>>2]|0):0){b=k[g>>2]|0;b=SL(k[p>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[(k[g>>2]|0)+20>>2]|0,k[(k[g>>2]|0)+20+4>>2]|0)|0;k[h>>2]=b;i[k[(k[g>>2]|0)+20>>2]>>0]=k[e>>2];b=(k[(k[g>>2]|0)+20>>2]|0)+1|0;v=t;v=i0(k[v>>2]|0,k[v+4>>2]|0,1,0)|0;v=1+(XL(b,v,M)|0)|0;k[(k[g>>2]|0)+20+4>>2]=v;v=k[g>>2]|0;b=k[v+4>>2]|0;a=f;k[a>>2]=k[v>>2];k[a+4>>2]=b;a=k[g>>2]|0;b=a;b=i0(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[a>>2]=b;k[a+4>>2]=M;a=0;b=k[g>>2]|0;v=13}else{k[n>>2]=(k[g>>2]|0)+20;if((k[(k[n>>2]|0)+4>>2]|0)==0?(EO(k[n>>2]|0,k[(k[p>>2]|0)+224>>2]|0,h),(k[h>>2]|0)==0):0){i[k[k[n>>2]>>2]>>0]=k[e>>2];d=t;d=1+(XL((k[k[n>>2]>>2]|0)+1|0,k[d>>2]|0,k[d+4>>2]|0)|0)|0;k[(k[n>>2]|0)+4>>2]=d}EO(k[n>>2]|0,(k[(k[n>>2]|0)+4>>2]|0)+(k[m>>2]|0)|0,h);EO((k[g>>2]|0)+8|0,k[s>>2]|0,h);if(!(k[h>>2]|0)){if(k[(k[g>>2]|0)+8+4>>2]|0){d=k[j>>2]|0;d=XL((k[k[n>>2]>>2]|0)+(k[(k[n>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;v=(k[n>>2]|0)+4|0;k[v>>2]=(k[v>>2]|0)+d}b=k[l>>2]|0;b=XL((k[k[n>>2]>>2]|0)+(k[(k[n>>2]|0)+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;a=(k[n>>2]|0)+4|0;k[a>>2]=(k[a>>2]|0)+b;r0((k[k[n>>2]>>2]|0)+(k[(k[n>>2]|0)+4>>2]|0)|0,(k[r>>2]|0)+(k[j>>2]|0)|0,k[l>>2]|0)|0;a=(k[n>>2]|0)+4|0;k[a>>2]=(k[a>>2]|0)+(k[l>>2]|0);r0(k[(k[g>>2]|0)+8>>2]|0,k[r>>2]|0,k[s>>2]|0)|0;a=k[s>>2]|0;b=k[g>>2]|0;v=13}}if((v|0)==13){v=0;k[b+8+4>>2]=a}d=f;if((k[h>>2]|0)!=0|(k[d>>2]|0)==0&(k[d+4>>2]|0)==0){v=15;break}b=f;c=k[b+4>>2]|0;d=t;k[d>>2]=k[b>>2];k[d+4>>2]=c;k[e>>2]=(k[e>>2]|0)+1}if((v|0)==15){k[o>>2]=k[h>>2];v=k[o>>2]|0;u=w;return v|0}else if((v|0)==17){k[o>>2]=0;v=k[o>>2]|0;u=w;return v|0}return 0}function QO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;l=j+24|0;e=j;f=j+20|0;g=j+16|0;h=j+12|0;i=j+8|0;k[l>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;k[h>>2]=0;d=CL(k[l>>2]|0,34,h,0)|0;k[i>>2]=d;if(k[i>>2]|0){h=k[g>>2]|0;l=k[f>>2]|0;k[l>>2]=h;l=k[i>>2]|0;u=j;return l|0}l=e;AJ(k[h>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;if(100==(Ls(k[h>>2]|0)|0))k[g>>2]=1;h=Is(k[h>>2]|0)|0;k[i>>2]=h;h=k[g>>2]|0;l=k[f>>2]|0;k[l>>2]=h;l=k[i>>2]|0;u=j;return l|0}function RO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=u;u=u+64|0;t=s+48|0;n=s+44|0;o=s+40|0;p=s+36|0;q=s+32|0;r=s+28|0;e=s+24|0;f=s+20|0;g=s+16|0;h=s+12|0;j=s+8|0;l=s+4|0;m=s;k[t>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=k[t>>2];k[r>>2]=0;k[e>>2]=0;k[f>>2]=0;k[g>>2]=0;k[h>>2]=0;k[j>>2]=0;if(((k[n>>2]|0)>1?(Ki(k[k[o>>2]>>2]|0)|0)==5:0)?(Ki(k[(k[o>>2]|0)+((k[(k[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){t=SO(k[q>>2]|0,k[(k[o>>2]|0)+((k[(k[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;k[r>>2]=t;t=k[g>>2]|0;ie(t);t=k[q>>2]|0;LM(t);t=k[r>>2]|0;u=s;return t|0}if((k[n>>2]|0)>1?(_i(k[(k[o>>2]|0)+(2+(k[(k[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){k[r>>2]=19;t=k[g>>2]|0;ie(t);t=k[q>>2]|0;LM(t);t=k[r>>2]|0;u=s;return t|0}t=ze((k[(k[q>>2]|0)+24>>2]|0)+1<<2<<1)|0;k[g>>2]=t;if(!(k[g>>2]|0)){k[r>>2]=7;t=k[g>>2]|0;ie(t);t=k[q>>2]|0;LM(t);t=k[r>>2]|0;u=s;return t|0}k[f>>2]=(k[g>>2]|0)+((k[(k[q>>2]|0)+24>>2]|0)+1<<2);w0(k[g>>2]|0,0,(k[(k[q>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;t=TO(k[q>>2]|0)|0;k[r>>2]=t;if(k[r>>2]|0){t=k[g>>2]|0;ie(t);t=k[q>>2]|0;LM(t);t=k[r>>2]|0;u=s;return t|0}do if((k[n>>2]|0)>1?(k[(k[q>>2]|0)+40>>2]|0)==0:0){k[l>>2]=k[(k[o>>2]|0)+(3+(k[(k[q>>2]|0)+24>>2]|0)<<2)>>2];if((Ki(k[l>>2]|0)|0)==5)k[l>>2]=k[(k[o>>2]|0)+4>>2];if((Ki(k[l>>2]|0)|0)!=5){if((Ki(k[k[o>>2]>>2]|0)|0)!=5?(c=Pi(k[k[o>>2]>>2]|0)|0,t=M,d=Pi(k[l>>2]|0)|0,!((c|0)!=(d|0)|(t|0)!=(M|0))):0)break;t=(XJ(k[(k[q>>2]|0)+12>>2]|0)|0)==5;a=k[q>>2]|0;if(t){t=UO(a,k[l>>2]|0,h,k[g>>2]|0)|0;k[r>>2]=t;break}else{t=VO(a,k[o>>2]|0,k[p>>2]|0)|0;k[r>>2]=t;k[j>>2]=1;break}}}while(0);if(k[r>>2]|0){t=k[g>>2]|0;ie(t);t=k[q>>2]|0;LM(t);t=k[r>>2]|0;u=s;return t|0}if((Ki(k[k[o>>2]>>2]|0)|0)!=5){t=UO(k[q>>2]|0,k[k[o>>2]>>2]|0,h,k[g>>2]|0)|0;k[r>>2]=t;k[e>>2]=1}if((k[n>>2]|0)>1&(k[r>>2]|0)==0){t=_i(k[(k[o>>2]|0)+(2+(k[(k[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;k[m>>2]=t;if(((k[j>>2]|0)==0?(t=VO(k[q>>2]|0,k[o>>2]|0,k[p>>2]|0)|0,k[r>>2]=t,(k[r>>2]|0)==19):0)?(k[(k[q>>2]|0)+40>>2]|0)==0:0)k[r>>2]=267;do if(!(k[r>>2]|0)){if(k[e>>2]|0?(n=k[p>>2]|0,t=(k[q>>2]|0)+264|0,!((k[n>>2]|0)!=(k[t>>2]|0)?1:(k[n+4>>2]|0)!=(k[t+4>>2]|0))):0)break;t=k[p>>2]|0;t=WO(k[q>>2]|0,0,k[m>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;k[r>>2]=t}while(0);if(!(k[r>>2]|0)){t=XO(k[q>>2]|0,k[m>>2]|0,k[o>>2]|0,k[f>>2]|0)|0;k[r>>2]=t}if(i[(k[q>>2]|0)+230>>0]|0)YO(r,k[q>>2]|0,k[f>>2]|0);k[h>>2]=(k[h>>2]|0)+1}if(!(i[(k[q>>2]|0)+228>>0]|0)){t=k[g>>2]|0;ie(t);t=k[q>>2]|0;LM(t);t=k[r>>2]|0;u=s;return t|0}ZO(r,k[q>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0);t=k[g>>2]|0;ie(t);t=k[q>>2]|0;LM(t);t=k[r>>2]|0;u=s;return t|0}function SO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;c=i+20|0;d=i+16|0;j=i+12|0;e=i+8|0;f=i+4|0;g=i;k[d>>2]=a;k[j>>2]=b;b=$h(k[j>>2]|0)|0;k[f>>2]=b;b=ai(k[j>>2]|0)|0;k[g>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=7;j=k[c>>2]|0;u=i;return j|0}if((k[g>>2]|0)==8?0==(vd(k[f>>2]|0,42637,8)|0):0){j=dO(k[d>>2]|0,0)|0;k[e>>2]=j}else h=6;do if((h|0)==6){if((k[g>>2]|0)==7?0==(vd(k[f>>2]|0,45620,7)|0):0){j=hP(k[d>>2]|0)|0;k[e>>2]=j;break}if((k[g>>2]|0)==15?0==(vd(k[f>>2]|0,45628,15)|0):0){j=iP(k[d>>2]|0)|0;k[e>>2]=j;break}if((k[g>>2]|0)>6?0==(vd(k[f>>2]|0,45644,6)|0):0){j=jP(k[d>>2]|0,(k[f>>2]|0)+6|0)|0;k[e>>2]=j;break}if((k[g>>2]|0)>10?0==(vd(k[f>>2]|0,45651,10)|0):0){j=kP(k[d>>2]|0,(k[f>>2]|0)+10|0)|0;k[e>>2]=j;break}k[e>>2]=1}while(0);k[c>>2]=k[e>>2];j=k[c>>2]|0;u=i;return j|0}function TO(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;if((k[(k[b>>2]|0)+260>>2]|0)==0?(b=CL(k[b>>2]|0,16,d,0)|0,k[c>>2]=b,(k[c>>2]|0)==0):0){BJ(k[d>>2]|0,1)|0;Ls(k[d>>2]|0)|0;d=Is(k[d>>2]|0)|0;k[c>>2]=d}u=e;return k[c>>2]|0}function UO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=u;u=u+32|0;f=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;l=m+8|0;n=m+4|0;e=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;k[n>>2]=0;cP(l,k[f>>2]|0,k[g>>2]|0,k[j>>2]|0,n);if(!((k[n>>2]|0)!=0&(k[l>>2]|0)==0)){n=k[l>>2]|0;u=m;return n|0}k[e>>2]=0;n=dP(k[f>>2]|0,k[g>>2]|0,e)|0;k[l>>2]=n;if(k[l>>2]|0){n=k[l>>2]|0;u=m;return n|0}if(k[e>>2]|0){n=eP(k[f>>2]|0,1)|0;k[l>>2]=n;k[k[h>>2]>>2]=0;w0(k[j>>2]|0,0,(k[(k[f>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;n=k[l>>2]|0;u=m;return n|0}k[k[h>>2]>>2]=(k[k[h>>2]>>2]|0)-1;if(!(k[(k[f>>2]|0)+40>>2]|0))fP(l,k[f>>2]|0,0,g);if(!(i[(k[f>>2]|0)+230>>0]|0)){n=k[l>>2]|0;u=m;return n|0}fP(l,k[f>>2]|0,19,g);n=k[l>>2]|0;u=m;return n|0}function VO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[(k[e>>2]|0)+40>>2]|0){k[j>>2]=k[(k[f>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+3<<2)>>2];if((Ki(k[j>>2]|0)|0)==5)k[j>>2]=k[(k[f>>2]|0)+4>>2];if((Ki(k[j>>2]|0)|0)!=1){k[d>>2]=19;j=k[d>>2]|0;u=l;return j|0}else{i=Pi(k[j>>2]|0)|0;j=k[g>>2]|0;k[j>>2]=i;k[j+4>>2]=M;k[d>>2]=0;j=k[d>>2]|0;u=l;return j|0}}j=CL(k[e>>2]|0,18,i,(k[f>>2]|0)+4|0)|0;k[h>>2]=j;if((k[h>>2]|0)==0?k[(k[e>>2]|0)+44>>2]|0:0){c=k[i>>2]|0;j=(k[(k[e>>2]|0)+24>>2]|0)+2|0;j=zJ(c,j,_i(k[(k[f>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0;k[h>>2]=j}if(k[h>>2]|0){k[d>>2]=k[h>>2];j=k[d>>2]|0;u=l;return j|0}if(5!=(Ki(k[(k[f>>2]|0)+(3+(k[(k[e>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(Ki(k[k[f>>2]>>2]|0)|0)?5!=(Ki(k[(k[f>>2]|0)+4>>2]|0)|0):0){k[d>>2]=1;j=k[d>>2]|0;u=l;return j|0}j=DJ(k[i>>2]|0,1,k[(k[f>>2]|0)+(3+(k[(k[e>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;k[h>>2]=j;if(k[h>>2]|0){k[d>>2]=k[h>>2];j=k[d>>2]|0;u=l;return j|0}}Ls(k[i>>2]|0)|0;i=Is(k[i>>2]|0)|0;k[h>>2]=i;i=mj(k[(k[e>>2]|0)+12>>2]|0)|0;j=k[g>>2]|0;k[j>>2]=i;k[j+4>>2]=M;k[d>>2]=k[h>>2];j=k[d>>2]|0;u=l;return j|0}function WO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;l=n;f=n+8|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;b=l;k[b>>2]=d;k[b+4>>2]=e;d=l;b=k[d+4>>2]|0;e=(k[h>>2]|0)+264|0;c=k[e+4>>2]|0;do if(!((b|0)<(c|0)|((b|0)==(c|0)?(k[d>>2]|0)>>>0<(k[e>>2]|0)>>>0:0))){d=l;e=(k[h>>2]|0)+264|0;if(((k[d>>2]|0)==(k[e>>2]|0)?(k[d+4>>2]|0)==(k[e+4>>2]|0):0)?(k[(k[h>>2]|0)+276>>2]|0)==0:0){m=6;break}if(!((k[(k[h>>2]|0)+272>>2]|0)==(k[j>>2]|0)?(k[(k[h>>2]|0)+260>>2]|0)<=(k[(k[h>>2]|0)+256>>2]|0):0))m=6}else m=6;while(0);if((m|0)==6?(m=zL(k[h>>2]|0)|0,k[f>>2]=m,k[f>>2]|0):0){k[g>>2]=k[f>>2];m=k[g>>2]|0;u=n;return m|0}e=l;l=k[e+4>>2]|0;m=(k[h>>2]|0)+264|0;k[m>>2]=k[e>>2];k[m+4>>2]=l;k[(k[h>>2]|0)+272>>2]=k[j>>2];k[(k[h>>2]|0)+276>>2]=k[i>>2];k[g>>2]=0;m=k[g>>2]|0;u=n;return m|0} +function aw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=u;u=u+32|0;h=j+24|0;l=j+20|0;d=j+16|0;c=j+12|0;e=j+8|0;f=j+4|0;g=j;k[l>>2]=a;k[d>>2]=b;k[c>>2]=k[(k[(k[k[l>>2]>>2]|0)+16>>2]|0)+16+12>>2];k[e>>2]=0;if(i[(k[l>>2]|0)+150>>0]|0){k[h>>2]=0;l=k[h>>2]|0;u=j;return l|0}a:do if((k[c>>2]|0)!=(k[(k[d>>2]|0)+64>>2]|0)){k[f>>2]=k[(k[c>>2]|0)+40+8>>2];while(1){if(!(k[f>>2]|0))break a;k[g>>2]=k[(k[f>>2]|0)+8>>2];if((k[(k[g>>2]|0)+24>>2]|0)==(k[(k[d>>2]|0)+64>>2]|0)?0==(lh(k[(k[g>>2]|0)+4>>2]|0,k[k[d>>2]>>2]|0)|0):0){if(k[e>>2]|0)a=k[e>>2]|0;else a=k[(k[d>>2]|0)+60>>2]|0;k[(k[g>>2]|0)+32>>2]=a;k[e>>2]=k[g>>2]}k[f>>2]=k[k[f>>2]>>2]}}while(0);if(k[e>>2]|0)a=k[e>>2]|0;else a=k[(k[d>>2]|0)+60>>2]|0;k[h>>2]=a;l=k[h>>2]|0;u=j;return l|0}function bw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;j=l;c=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[g>>2]=k[(k[(k[k[c>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((k[(k[d>>2]|0)+64>>2]|0)!=(k[g>>2]|0)){k[h>>2]=k[k[c>>2]>>2];d=aw(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=d;while(1){if(!(k[e>>2]|0))break a;if((k[(k[e>>2]|0)+20>>2]|0)==(k[g>>2]|0)){d=cw(k[h>>2]|0,k[f>>2]|0,k[k[e>>2]>>2]|0)|0;k[f>>2]=d}k[e>>2]=k[(k[e>>2]|0)+32>>2]}}while(0);if(!(k[f>>2]|0)){j=k[f>>2]|0;u=l;return j|0}h=k[k[c>>2]>>2]|0;k[j>>2]=k[f>>2];j=ek(h,27638,j)|0;k[i>>2]=j;fe(k[k[c>>2]>>2]|0,k[f>>2]|0);k[f>>2]=k[i>>2];j=k[f>>2]|0;u=l;return j|0}function cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j+8|0;h=j;d=j+28|0;e=j+24|0;f=j+20|0;g=j+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[d>>2]|0;if(k[e>>2]|0){h=k[f>>2]|0;k[i>>2]=k[e>>2];k[i+4>>2]=h;i=ek(a,27670,i)|0;k[g>>2]=i;fe(k[d>>2]|0,k[e>>2]|0);i=k[g>>2]|0;u=j;return i|0}else{k[h>>2]=k[f>>2];i=ek(a,27662,h)|0;k[g>>2]=i;i=k[g>>2]|0;u=j;return i|0}return 0}function dw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+64|0;t=D;C=D+52|0;w=D+48|0;s=D+44|0;y=D+58|0;x=D+57|0;z=D+40|0;g=D+36|0;h=D+32|0;v=D+28|0;A=D+24|0;n=D+20|0;o=D+16|0;B=D+12|0;q=D+56|0;r=D+8|0;k[w>>2]=a;k[s>>2]=b;i[y>>0]=c;i[x>>0]=d;k[z>>2]=e;k[g>>2]=f;k[v>>2]=0;k[A>>2]=0;k[n>>2]=1;k[o>>2]=55752;k[B>>2]=0;while(1){f=l[k[s>>2]>>0]|0;k[h>>2]=f;if(!((f|0)==156?1:(k[h>>2]|0)==161))break;k[s>>2]=k[(k[s>>2]|0)+12>>2]}if((k[h>>2]|0)==157)k[h>>2]=l[(k[s>>2]|0)+38>>0];if((k[h>>2]|0)==66){A=ew(k[(k[s>>2]|0)+8>>2]|0,0)|0;i[q>>0]=A;A=dw(k[w>>2]|0,k[(k[s>>2]|0)+12>>2]|0,i[y>>0]|0,i[q>>0]|0,k[z>>2]|0,k[g>>2]|0)|0;k[B>>2]=A;if(k[k[z>>2]>>2]|0){fw(k[k[z>>2]>>2]|0,i[q>>0]|0,1);gw(k[k[z>>2]>>2]|0,i[x>>0]|0,1)}k[C>>2]=k[B>>2];C=k[C>>2]|0;u=D;return C|0}do if((k[h>>2]|0)==155){if((l[k[(k[s>>2]|0)+12>>2]>>0]|0|0)!=134?(l[k[(k[s>>2]|0)+12>>2]>>0]|0|0)!=132:0)break;k[s>>2]=k[(k[s>>2]|0)+12>>2];k[h>>2]=l[k[s>>2]>>0];k[n>>2]=-1;k[o>>2]=27684}while(0);do if((k[h>>2]|0)==97|(k[h>>2]|0)==132|(k[h>>2]|0)==134){f=hw(k[w>>2]|0,k[g>>2]|0)|0;k[A>>2]=f;if(k[A>>2]|0){if(k[(k[s>>2]|0)+4>>2]&1024|0){v=k[A>>2]|0;t=k[(k[s>>2]|0)+8>>2]|0;w=k[n>>2]|0;w=B0(t|0,((t|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;gi(v,w,M)}else{f=k[w>>2]|0;s=k[(k[s>>2]|0)+8>>2]|0;k[t>>2]=k[o>>2];k[t+4>>2]=s;t=ek(f,23403,t)|0;k[v>>2]=t;if(!(k[v>>2]|0)){a=42;break}Op(k[A>>2]|0,-1,k[v>>2]|0,1,191)}if((k[h>>2]|0)==134|(k[h>>2]|0)==132?(l[x>>0]|0|0)==65:0)gw(k[A>>2]|0,67,1);else gw(k[A>>2]|0,i[x>>0]|0,1);if((m[(k[A>>2]|0)+8>>1]|0)&12|0){x=(k[A>>2]|0)+8|0;j[x>>1]=(m[x>>1]|0)&-3}if((l[y>>0]|0|0)!=1){a=yi(k[A>>2]|0,l[y>>0]|0)|0;k[B>>2]=a;a=41}else a=41}else a=42}else{if((k[h>>2]|0)!=155){if((k[h>>2]|0)==101){y=hw(k[w>>2]|0,k[g>>2]|0)|0;k[A>>2]=y;if(!(k[A>>2]|0)){a=42;break}else{a=41;break}}if((k[h>>2]|0)!=133){a=41;break}y=hw(k[w>>2]|0,k[g>>2]|0)|0;k[A>>2]=y;if(!(k[A>>2]|0)){a=42;break}k[v>>2]=(k[(k[s>>2]|0)+8>>2]|0)+2;y=(wd(k[v>>2]|0)|0)-1|0;k[r>>2]=y;y=k[A>>2]|0;a=jw(k[w>>2]|0,k[v>>2]|0,k[r>>2]|0)|0;mi(y,a,(k[r>>2]|0)/2|0,0,191)|0;a=41;break}w=0==(Xv(k[w>>2]|0,k[(k[s>>2]|0)+12>>2]|0,i[y>>0]|0,i[x>>0]|0,A)|0);if(w&(k[A>>2]|0)!=0){iw(k[A>>2]|0)|0;a=k[A>>2]|0;do if(!((m[(k[A>>2]|0)+8>>1]|0)&8|0)){w=a;a=k[A>>2]|0;if((k[w>>2]|0)==0?(k[w+4>>2]|0)==-2147483648:0){p[a>>3]=9223372036854775808.0;j[(k[A>>2]|0)+8>>1]=(m[(k[A>>2]|0)+8>>1]|0)&-49664|8;break}else{v=a;v=h0(0,0,k[v>>2]|0,k[v+4>>2]|0)|0;w=k[A>>2]|0;k[w>>2]=v;k[w+4>>2]=M;break}}else p[k[A>>2]>>3]=-+p[a>>3];while(0);gw(k[A>>2]|0,i[x>>0]|0,i[y>>0]|0);a=41}else a=41}while(0);if((a|0)==41){k[k[z>>2]>>2]=k[A>>2];k[C>>2]=k[B>>2];C=k[C>>2]|0;u=D;return C|0}else if((a|0)==42){Yd(k[w>>2]|0);fe(k[w>>2]|0,k[v>>2]|0);Lk(k[A>>2]|0);k[C>>2]=7;C=k[C>>2]|0;u=D;return C|0}return 0}function ew(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+32|0;c=m+16|0;d=m+12|0;e=m+8|0;f=m+20|0;g=m+4|0;h=m;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;i[f>>0]=67;k[g>>2]=0;a:while(1){if(!(i[k[c>>2]>>0]|0))break;k[e>>2]=(k[e>>2]<<8)+(l[20458+(i[k[c>>2]>>0]&255)>>0]|0);k[c>>2]=(k[c>>2]|0)+1;if((k[e>>2]|0)==1667785074){i[f>>0]=66;k[g>>2]=k[c>>2];continue}if((k[e>>2]|0)==1668050786){i[f>>0]=66;continue}if((k[e>>2]|0)==1952807028){i[f>>0]=66;continue}do if((k[e>>2]|0)==1651273570){if((i[f>>0]|0)!=67?(i[f>>0]|0)!=69:0)break;i[f>>0]=65;if((i[k[c>>2]>>0]|0)!=40)continue a;k[g>>2]=k[c>>2];continue a}while(0);if((k[e>>2]|0)==1919246700?(i[f>>0]|0)==67:0){i[f>>0]=69;continue}if((k[e>>2]|0)==1718382433?(i[f>>0]|0)==67:0){i[f>>0]=69;continue}if((k[e>>2]|0)==1685026146?(i[f>>0]|0)==67:0){i[f>>0]=69;continue}if((k[e>>2]&16777215|0)==6909556){j=24;break}}if((j|0)==24)i[f>>0]=68;if(!(k[d>>2]|0)){j=i[f>>0]|0;u=m;return j|0}i[k[d>>2]>>0]=1;if((i[f>>0]|0)>=67){j=i[f>>0]|0;u=m;return j|0}if(!(k[g>>2]|0)){i[k[d>>2]>>0]=5;j=i[f>>0]|0;u=m;return j|0}while(1){if(!(i[k[g>>2]>>0]|0)){j=33;break}if(l[20063+(l[k[g>>2]>>0]|0)>>0]&4|0)break;k[g>>2]=(k[g>>2]|0)+1}if((j|0)==33){j=i[f>>0]|0;u=m;return j|0}k[h>>2]=0;qg(k[g>>2]|0,h)|0;j=((k[h>>2]|0)/4|0)+1|0;k[h>>2]=j;k[h>>2]=(k[h>>2]|0)>255?255:j;i[k[d>>2]>>0]=k[h>>2];j=i[f>>0]|0;u=m;return j|0}function fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;e=g;d=g+5|0;f=g+4|0;k[e>>2]=a;i[d>>0]=b;i[f>>0]=c;if((m[(k[e>>2]|0)+8>>1]|0)&1|0){u=g;return}switch(l[d>>0]|0|0){case 65:{a=k[e>>2]|0;if((m[(k[e>>2]|0)+8>>1]|0)&16|0){f=a+8|0;j[f>>1]=(m[f>>1]|0)&-33264;u=g;return}gw(a,66,i[f>>0]|0);if(!((m[(k[e>>2]|0)+8>>1]|0)&2)){u=g;return}j[(k[e>>2]|0)+8>>1]=(m[(k[e>>2]|0)+8>>1]|0)&-49664|16;u=g;return}case 67:{iw(k[e>>2]|0)|0;u=g;return}case 68:{lw(k[e>>2]|0)|0;u=g;return}case 69:{mw(k[e>>2]|0)|0;u=g;return}default:{d=(k[e>>2]|0)+8|0;j[d>>1]=m[d>>1]|0|((m[(k[e>>2]|0)+8>>1]|0)&16)>>3;gw(k[e>>2]|0,66,i[f>>0]|0);f=(k[e>>2]|0)+8|0;j[f>>1]=(m[f>>1]|0)&-16413;u=g;return}}}function gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d;f=d+5|0;e=d+4|0;k[g>>2]=a;i[f>>0]=b;i[e>>0]=c;kw(k[g>>2]|0,i[f>>0]|0,i[e>>0]|0);u=d;return}function hw(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;b=Np(k[d>>2]|0)|0;u=c;return b|0}function iw(a){a=a|0;var b=0,c=0,d=0,e=0.0;c=u;u=u+16|0;b=c;k[b>>2]=a;do if(!((m[(k[b>>2]|0)+8>>1]|0)&13)){d=0==(Wi(k[(k[b>>2]|0)+16>>2]|0,k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,i[(k[b>>2]|0)+10>>0]|0)|0);a=k[b>>2]|0;if(d){j[(k[b>>2]|0)+8>>1]=(m[a+8>>1]|0)&-49664|4;break}else{e=+Si(a);p[k[b>>2]>>3]=e;j[(k[b>>2]|0)+8>>1]=(m[(k[b>>2]|0)+8>>1]|0)&-49664|8;Zi(k[b>>2]|0);break}}while(0);d=(k[b>>2]|0)+8|0;j[d>>1]=(m[d>>1]|0)&-16403;u=c;return 0}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=u;u=u+32|0;j=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;c=((k[e>>2]|0)/2|0)+1|0;c=Od(k[j>>2]|0,c,((c|0)<0)<<31>>31)|0;k[f>>2]=c;k[e>>2]=(k[e>>2]|0)+-1;if(!(k[f>>2]|0)){j=k[f>>2]|0;u=h;return j|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;j=((rg(i[(k[d>>2]|0)+(k[g>>2]|0)>>0]|0)|0)&255)<<4;j=(j|(rg(i[(k[d>>2]|0)+((k[g>>2]|0)+1)>>0]|0)|0)&255)&255;i[(k[f>>2]|0)+((k[g>>2]|0)/2|0)>>0]=j;k[g>>2]=(k[g>>2]|0)+2}i[(k[f>>2]|0)+((k[g>>2]|0)/2|0)>>0]=0;j=k[f>>2]|0;u=h;return j|0}function kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g;d=g+5|0;e=g+4|0;k[f>>2]=a;i[d>>0]=b;i[e>>0]=c;if((i[d>>0]|0)<67){if((i[d>>0]|0)!=66){u=g;return}if(0==(m[(k[f>>2]|0)+8>>1]&2|0)?m[(k[f>>2]|0)+8>>1]&12|0:0)Ai(k[f>>2]|0,i[e>>0]|0,1)|0;f=(k[f>>2]|0)+8|0;j[f>>1]=m[f>>1]&-13;u=g;return}if(m[(k[f>>2]|0)+8>>1]&4|0){u=g;return}a=k[f>>2]|0;if(m[(k[f>>2]|0)+8>>1]&8|0){Zi(a);u=g;return}if(!(m[a+8>>1]&2)){u=g;return}Yi(k[f>>2]|0,1);u=g;return}function lw(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;k[c>>2]=a;d=Ui(k[c>>2]|0)|0;a=k[c>>2]|0;k[a>>2]=d;k[a+4>>2]=M;j[(k[c>>2]|0)+8>>1]=(m[(k[c>>2]|0)+8>>1]|0)&-49664|4;u=b;return 0}function mw(a){a=a|0;var b=0,c=0,d=0.0;b=u;u=u+16|0;c=b;k[c>>2]=a;d=+Si(k[c>>2]|0);p[k[c>>2]>>3]=d;j[(k[c>>2]|0)+8>>1]=(m[(k[c>>2]|0)+8>>1]|0)&-49664|8;u=b;return 0}function nw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((((i[(k[k[d>>2]>>2]|0)+148+5>>0]|0)==0?(l[(k[d>>2]|0)+18>>0]|0)==0:0)?(k[(k[k[d>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(vd(k[e>>2]|0,26664,7)|0):0){d=k[d>>2]|0;k[f>>2]=k[e>>2];Cl(d,30069,f);k[c>>2]=1;f=k[c>>2]|0;u=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}function ow(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;p=q;d=q+36|0;e=q+32|0;f=q+28|0;g=q+24|0;h=q+20|0;i=q+16|0;n=q+12|0;o=q+8|0;c=q+4|0;k[e>>2]=a;k[f>>2]=b;k[i>>2]=0;k[o>>2]=k[k[e>>2]>>2];if(tw(k[e>>2]|0,k[f>>2]|0)|0){k[d>>2]=1;p=k[d>>2]|0;u=q;return p|0}if(l[(k[f>>2]|0)+42>>0]&16|0){k[d>>2]=0;p=k[d>>2]|0;u=q;return p|0}if((j[(k[f>>2]|0)+34>>1]|0)>0){k[d>>2]=0;p=k[d>>2]|0;u=q;return p|0}if((j[(k[f>>2]|0)+34>>1]|0)<0){o=k[e>>2]|0;k[p>>2]=k[k[f>>2]>>2];Cl(o,28391,p);k[d>>2]=1;p=k[d>>2]|0;u=q;return p|0}p=uw(k[o>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;k[h>>2]=p;if(k[h>>2]|0){k[n>>2]=k[(k[e>>2]|0)+40>>2];vw(k[e>>2]|0,k[(k[h>>2]|0)+28>>2]|0);j[(k[f>>2]|0)+34>>1]=-1;p=(k[o>>2]|0)+256|0;k[p>>2]=(k[p>>2]|0)+1;k[c>>2]=k[(k[o>>2]|0)+296>>2];k[(k[o>>2]|0)+296>>2]=0;p=ww(k[e>>2]|0,k[h>>2]|0)|0;k[g>>2]=p;k[(k[o>>2]|0)+296>>2]=k[c>>2];k[(k[e>>2]|0)+40>>2]=k[n>>2];do if(k[(k[f>>2]|0)+24>>2]|0){xw(k[e>>2]|0,k[(k[f>>2]|0)+24>>2]|0,(k[f>>2]|0)+34|0,(k[f>>2]|0)+4|0)|0;if(((l[(k[o>>2]|0)+69>>0]|0)==0?(k[(k[e>>2]|0)+36>>2]|0)==0:0)?(j[(k[f>>2]|0)+34>>1]|0)==(k[k[k[h>>2]>>2]>>2]|0):0)yw(k[e>>2]|0,k[f>>2]|0,k[h>>2]|0)}else if(k[g>>2]|0){j[(k[f>>2]|0)+34>>1]=j[(k[g>>2]|0)+34>>1]|0;k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];j[(k[g>>2]|0)+34>>1]=0;k[(k[g>>2]|0)+4>>2]=0;break}else{j[(k[f>>2]|0)+34>>1]=0;k[i>>2]=(k[i>>2]|0)+1;break}while(0);Dk(k[o>>2]|0,k[g>>2]|0);Tk(k[o>>2]|0,k[h>>2]|0);p=(k[o>>2]|0)+256|0;k[p>>2]=(k[p>>2]|0)+-1}else k[i>>2]=(k[i>>2]|0)+1;p=(k[(k[f>>2]|0)+64>>2]|0)+78|0;j[p>>1]=m[p>>1]|2;k[d>>2]=k[i>>2];p=k[d>>2]|0;u=q;return p|0}function pw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[f>>2]|0)+56>>2];while(1){if(!(k[d>>2]|0)){a=5;break}if((k[k[d>>2]>>2]|0)==(k[c>>2]|0)){a=5;break}k[d>>2]=k[(k[d>>2]|0)+24>>2]}if((a|0)==5){u=e;return k[d>>2]|0}return 0}function qw(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[b>>2]=a;i[(k[b>>2]|0)+21>>0]=1;u=c;return}function rw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[e>>2]=0;b=sw(k[g>>2]|0)|0;k[d>>2]=b;while(1){if(!(k[d>>2]|0))break;g=cw(k[k[c>>2]>>2]|0,k[e>>2]|0,k[k[k[d>>2]>>2]>>2]|0)|0;k[e>>2]=g;k[d>>2]=k[(k[d>>2]|0)+12>>2]}u=f;return k[e>>2]|0}function sw(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=rv((k[(k[c>>2]|0)+64>>2]|0)+56|0,k[k[c>>2]>>2]|0)|0;u=b;return a|0}function tw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;o=p+8|0;n=p;d=p+44|0;e=p+40|0;f=p+36|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;m=p+16|0;c=p+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=k[k[e>>2]>>2];if((l[(k[f>>2]|0)+42>>0]|0)&16|0?(pw(k[g>>2]|0,k[f>>2]|0)|0)==0:0){k[h>>2]=k[k[(k[f>>2]|0)+52>>2]>>2];h=rv((k[g>>2]|0)+320|0,k[h>>2]|0)|0;k[i>>2]=h;if(k[i>>2]|0){k[c>>2]=0;n=tv(k[g>>2]|0,k[f>>2]|0,k[i>>2]|0,k[(k[k[i>>2]>>2]|0)+8>>2]|0,c)|0;k[j>>2]=n;if(k[j>>2]|0){n=k[e>>2]|0;k[o>>2]=k[c>>2];Cl(n,21240,o)}fe(k[g>>2]|0,k[c>>2]|0)}else{k[m>>2]=k[k[(k[f>>2]|0)+52>>2]>>2];o=k[e>>2]|0;k[n>>2]=k[m>>2];Cl(o,30050,n);k[j>>2]=1}k[d>>2]=k[j>>2];o=k[d>>2]|0;u=p;return o|0}k[d>>2]=0;o=k[d>>2]|0;u=p;return o|0}function uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=u;u=u+32|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;u=m;return l|0}c=Od(k[e>>2]|0,68,0)|0;k[h>>2]=c;if(!(k[h>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;u=m;return l|0}c=mx(k[e>>2]|0,k[k[f>>2]>>2]|0,k[g>>2]|0)|0;k[k[h>>2]>>2]=c;c=ey(k[e>>2]|0,k[(k[f>>2]|0)+28>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+28>>2]=c;c=ex(k[e>>2]|0,k[(k[f>>2]|0)+32>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+32>>2]=c;c=mx(k[e>>2]|0,k[(k[f>>2]|0)+36>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+36>>2]=c;c=ex(k[e>>2]|0,k[(k[f>>2]|0)+40>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+40>>2]=c;c=mx(k[e>>2]|0,k[(k[f>>2]|0)+44>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+44>>2]=c;i[(k[h>>2]|0)+4>>0]=i[(k[f>>2]|0)+4>>0]|0;c=uw(k[e>>2]|0,k[(k[f>>2]|0)+48>>2]|0,k[g>>2]|0)|0;k[l>>2]=c;k[(k[h>>2]|0)+48>>2]=c;if(k[l>>2]|0)k[(k[l>>2]|0)+52>>2]=k[h>>2];k[(k[h>>2]|0)+52>>2]=0;l=ex(k[e>>2]|0,k[(k[f>>2]|0)+56>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+56>>2]=l;l=ex(k[e>>2]|0,k[(k[f>>2]|0)+60>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+60>>2]=l;k[(k[h>>2]|0)+12>>2]=0;k[(k[h>>2]|0)+16>>2]=0;k[(k[h>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2]&-33;k[(k[h>>2]|0)+20>>2]=-1;k[(k[h>>2]|0)+20+4>>2]=-1;j[(k[h>>2]|0)+6>>1]=j[(k[f>>2]|0)+6>>1]|0;l=fy(k[e>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[(k[h>>2]|0)+64>>2]=l;k[d>>2]=k[h>>2];l=k[d>>2]|0;u=m;return l|0}function vw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=g;return}k[e>>2]=0;k[f>>2]=(k[d>>2]|0)+8;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){a=8;break}if((k[(k[f>>2]|0)+44>>2]|0)>=0){a=8;break}a=(k[c>>2]|0)+40|0;b=k[a>>2]|0;k[a>>2]=b+1;k[(k[f>>2]|0)+44>>2]=b;if(k[(k[f>>2]|0)+20>>2]|0)vw(k[c>>2]|0,k[(k[(k[f>>2]|0)+20>>2]|0)+28>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}if((a|0)==8){u=g;return}}function ww(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=u;u=u+32|0;c=l+20|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[k[d>>2]>>2];k[h>>2]=k[(k[g>>2]|0)+24>>2];b=(k[g>>2]|0)+24|0;k[b>>2]=k[b>>2]&-5;b=(k[g>>2]|0)+24|0;k[b>>2]=k[b>>2]|64;Kw(k[d>>2]|0,k[e>>2]|0,0);if(k[(k[d>>2]|0)+36>>2]|0){k[c>>2]=0;h=k[c>>2]|0;u=l;return h|0}while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2]}k[(k[g>>2]|0)+24>>2]=k[h>>2];h=im(k[g>>2]|0,72,0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;u=l;return h|0}j[(k[f>>2]|0)+36>>1]=1;k[k[f>>2]>>2]=0;j[(k[f>>2]|0)+38>>1]=200;xw(k[d>>2]|0,k[k[e>>2]>>2]|0,(k[f>>2]|0)+34|0,(k[f>>2]|0)+4|0)|0;yw(k[d>>2]|0,k[f>>2]|0,k[e>>2]|0);j[(k[f>>2]|0)+32>>1]=-1;if(i[(k[g>>2]|0)+69>>0]|0){Dk(k[g>>2]|0,k[f>>2]|0);k[c>>2]=0;h=k[c>>2]|0;u=l;return h|0}else{k[c>>2]=k[f>>2];h=k[c>>2]|0;u=l;return h|0}return 0}function xw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=u;u=u+112|0;v=D+8|0;t=D;z=D+104|0;E=D+100|0;s=D+96|0;A=D+92|0;B=D+88|0;C=D+84|0;w=D+80|0;x=D+76|0;e=D+72|0;y=D+68|0;f=D+64|0;g=D+60|0;h=D+56|0;m=D+52|0;n=D+48|0;o=D+32|0;p=D+28|0;q=D+24|0;r=D+20|0;k[E>>2]=a;k[s>>2]=b;k[A>>2]=c;k[B>>2]=d;k[C>>2]=k[k[E>>2]>>2];$q(o);if(k[s>>2]|0){k[g>>2]=k[k[s>>2]>>2];E=im(k[C>>2]|0,k[g>>2]<<4,0)|0;k[y>>2]=E}else{k[g>>2]=0;k[y>>2]=0}j[k[A>>2]>>1]=k[g>>2];k[k[B>>2]>>2]=k[y>>2];k[w>>2]=0;k[f>>2]=k[y>>2];while(1){if((k[w>>2]|0)>=(k[g>>2]|0))break;if(!((i[(k[C>>2]|0)+69>>0]|0)!=0^1))break;E=Iw(k[(k[(k[s>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)>>2]|0)|0;k[h>>2]=E;E=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)+4>>2]|0;k[m>>2]=E;do if(!E){k[p>>2]=k[h>>2];while(1){a=k[p>>2]|0;if((l[k[p>>2]>>0]|0)!=122)break;k[p>>2]=k[a+16>>2]}if((l[a>>0]|0)==152?k[(k[p>>2]|0)+44>>2]|0:0){k[r>>2]=j[(k[p>>2]|0)+32>>1];k[q>>2]=k[(k[p>>2]|0)+44>>2];if((k[r>>2]|0)<0)k[r>>2]=j[(k[q>>2]|0)+32>>1];if((k[r>>2]|0)>=0)a=k[(k[(k[q>>2]|0)+4>>2]|0)+(k[r>>2]<<4)>>2]|0;else a=26001;k[m>>2]=a;break}if((l[k[p>>2]>>0]|0)==55){k[m>>2]=k[(k[p>>2]|0)+8>>2];break}else{k[m>>2]=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)+8>>2];break}}while(0);E=k[C>>2]|0;k[t>>2]=k[m>>2];E=ek(E,21240,t)|0;k[m>>2]=E;k[e>>2]=0;while(1){if(k[m>>2]|0)b=(rv(o,k[m>>2]|0)|0)!=0;else b=0;a=k[m>>2]|0;if(!b)break;E=wd(a)|0;k[n>>2]=E;if((k[n>>2]|0)>0){k[x>>2]=(k[n>>2]|0)-1;while(1){if((k[x>>2]|0)<=0)break;if(!(l[20063+(l[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)>>0]&4))break;k[x>>2]=(k[x>>2]|0)+-1}if((i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)==58)k[n>>2]=k[x>>2]}E=k[C>>2]|0;b=k[n>>2]|0;c=k[m>>2]|0;d=(k[e>>2]|0)+1|0;k[e>>2]=d;k[v>>2]=b;k[v+4>>2]=c;k[v+8>>2]=d;E=ek(E,28463,v)|0;k[m>>2]=E;if((k[e>>2]|0)>>>0<=3)continue;Cf(4,e)}k[k[f>>2]>>2]=a;if(k[m>>2]|0?(E=Pk(o,k[m>>2]|0,k[f>>2]|0)|0,(E|0)==(k[f>>2]|0)):0)Yd(k[C>>2]|0);k[w>>2]=(k[w>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+16}jl(o);if(!(i[(k[C>>2]|0)+69>>0]|0)){k[z>>2]=0;E=k[z>>2]|0;u=D;return E|0}k[x>>2]=0;while(1){a=k[C>>2]|0;b=k[y>>2]|0;if((k[x>>2]|0)>=(k[w>>2]|0))break;fe(a,k[b+(k[x>>2]<<4)>>2]|0);k[x>>2]=(k[x>>2]|0)+1}fe(a,b);k[k[B>>2]>>2]=0;j[k[A>>2]>>1]=0;k[z>>2]=7;E=k[z>>2]|0;u=D;return E|0}function yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+96|0;o=w+84|0;p=w+80|0;q=w+76|0;r=w+72|0;s=w+40|0;t=w+36|0;v=w+32|0;d=w+28|0;e=w+24|0;f=w+20|0;g=w;h=w+16|0;m=w+12|0;n=w+8|0;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[r>>2]=k[k[o>>2]>>2];c=g;k[c>>2]=0;k[c+4>>2]=0;if(i[(k[r>>2]|0)+69>>0]|0){u=w;return};k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;k[s+12>>2]=0;k[s+16>>2]=0;k[s+20>>2]=0;k[s+24>>2]=0;k[s+28>>2]=0;k[s+4>>2]=k[(k[q>>2]|0)+28>>2];k[f>>2]=k[(k[k[q>>2]>>2]|0)+4>>2];k[d>>2]=0;k[t>>2]=k[(k[p>>2]|0)+4>>2];while(1){if((k[d>>2]|0)>=(j[(k[p>>2]|0)+34>>1]|0))break;k[e>>2]=k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)>>2];c=zw(s,k[e>>2]|0,(k[t>>2]|0)+14|0)|0;k[h>>2]=c;c=g;c=i0(k[c>>2]|0,k[c+4>>2]|0,l[(k[t>>2]|0)+14>>0]|0,0)|0;q=g;k[q>>2]=c;k[q+4>>2]=M;q=Aw(k[e>>2]|0)|0;i[(k[t>>2]|0)+13>>0]=q;if((k[h>>2]|0?(q=wd(k[h>>2]|0)|0,k[n>>2]=q,(q|0)>0):0)?(q=wd(k[k[t>>2]>>2]|0)|0,k[m>>2]=q,q=(k[m>>2]|0)+(k[n>>2]|0)+2|0,q=ti(k[r>>2]|0,k[k[t>>2]>>2]|0,q,((q|0)<0)<<31>>31)|0,k[k[t>>2]>>2]=q,k[k[t>>2]>>2]|0):0){r0((k[k[t>>2]>>2]|0)+((k[m>>2]|0)+1)|0,k[h>>2]|0,(k[n>>2]|0)+1|0)|0;q=(k[t>>2]|0)+15|0;i[q>>0]=l[q>>0]|4}if(!(i[(k[t>>2]|0)+13>>0]|0))i[(k[t>>2]|0)+13>>0]=65;q=Bw(k[o>>2]|0,k[e>>2]|0)|0;k[v>>2]=q;if(k[v>>2]|0?(k[(k[t>>2]|0)+8>>2]|0)==0:0){q=fp(k[r>>2]|0,k[k[v>>2]>>2]|0)|0;k[(k[t>>2]|0)+8>>2]=q}k[d>>2]=(k[d>>2]|0)+1;k[t>>2]=(k[t>>2]|0)+16}v=g;v=B0(k[v>>2]|0,k[v+4>>2]|0,4,0)|0;v=Hv(v,M)|0;j[(k[p>>2]|0)+40>>1]=v;u=w;return}function zw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+128|0;p=x+112|0;q=x+108|0;r=x+104|0;s=x+100|0;t=x+96|0;v=x+116|0;w=x+92|0;d=x+88|0;e=x+84|0;f=x+80|0;g=x+48|0;h=x+40|0;m=x+8|0;n=x+4|0;o=x;k[p>>2]=a;k[q>>2]=b;k[r>>2]=c;k[s>>2]=0;i[v>>0]=1;a:do switch(l[k[q>>2]>>0]|0){case 152:case 154:{k[w>>2]=0;k[d>>2]=0;k[e>>2]=j[(k[q>>2]|0)+32>>1];while(1){if(!(k[p>>2]|0))break;if(!((k[w>>2]|0)!=0^1))break;k[f>>2]=k[(k[p>>2]|0)+4>>2];k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[k[f>>2]>>2]|0))break;if((k[(k[f>>2]|0)+8+((k[t>>2]|0)*72|0)+44>>2]|0)==(k[(k[q>>2]|0)+28>>2]|0))break;k[t>>2]=(k[t>>2]|0)+1}if((k[t>>2]|0)<(k[k[f>>2]>>2]|0)){k[w>>2]=k[(k[f>>2]|0)+8+((k[t>>2]|0)*72|0)+16>>2];k[d>>2]=k[(k[f>>2]|0)+8+((k[t>>2]|0)*72|0)+20>>2];continue}else{k[p>>2]=k[(k[p>>2]|0)+16>>2];continue}}if(k[w>>2]|0){if(k[d>>2]|0){if((k[e>>2]|0)<0)break a;if((k[e>>2]|0)>=(k[k[k[d>>2]>>2]>>2]|0))break a;k[h>>2]=k[(k[(k[k[d>>2]>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2];k[g+4>>2]=k[(k[d>>2]|0)+28>>2];k[g+16>>2]=k[p>>2];k[g>>2]=k[k[p>>2]>>2];w=zw(g,k[h>>2]|0,v)|0;k[s>>2]=w;break a}if(k[(k[w>>2]|0)+64>>2]|0){if((k[e>>2]|0)<0)k[e>>2]=j[(k[w>>2]|0)+32>>1];if((k[e>>2]|0)<0){k[s>>2]=28455;break a}else{t=uv((k[(k[w>>2]|0)+4>>2]|0)+(k[e>>2]<<4)|0,0)|0;k[s>>2]=t;i[v>>0]=i[(k[(k[w>>2]|0)+4>>2]|0)+(k[e>>2]<<4)+14>>0]|0;break a}}}break}case 119:{k[n>>2]=k[(k[q>>2]|0)+20>>2];k[o>>2]=k[k[(k[k[n>>2]>>2]|0)+4>>2]>>2];k[m+4>>2]=k[(k[n>>2]|0)+28>>2];k[m+16>>2]=k[p>>2];k[m>>2]=k[k[p>>2]>>2];w=zw(m,k[o>>2]|0,v)|0;k[s>>2]=w;break}default:{}}while(0);if(!(k[r>>2]|0)){w=k[s>>2]|0;u=x;return w|0}i[k[r>>2]>>0]=i[v>>0]|0;w=k[s>>2]|0;u=x;return w|0}function Aw(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;a=Iw(k[c>>2]|0)|0;k[c>>2]=a;if(k[(k[c>>2]|0)+4>>2]&512|0){i[b>>0]=0;d=i[b>>0]|0;u=e;return d|0}k[d>>2]=l[k[c>>2]>>0];if((k[d>>2]|0)==119){d=Aw(k[k[(k[k[(k[c>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;i[b>>0]=d;d=i[b>>0]|0;u=e;return d|0}if((k[d>>2]|0)==157)k[d>>2]=l[(k[c>>2]|0)+38>>0];if((k[d>>2]|0)==66){d=ew(k[(k[c>>2]|0)+8>>2]|0,0)|0;i[b>>0]=d;d=i[b>>0]|0;u=e;return d|0}if((k[d>>2]|0)==154|(k[d>>2]|0)==152){d=Jw(k[(k[c>>2]|0)+44>>2]|0,j[(k[c>>2]|0)+32>>1]|0)|0;i[b>>0]=d;d=i[b>>0]|0;u=e;return d|0}a=k[c>>2]|0;if((k[d>>2]|0)==159){d=Aw(k[(k[(k[k[(k[a+12>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((j[(k[c>>2]|0)+32>>1]|0)*20|0)>>2]|0)|0;i[b>>0]=d;d=i[b>>0]|0;u=e;return d|0}else{i[b>>0]=i[a+1>>0]|0;d=i[b>>0]|0;u=e;return d|0}return 0}function Bw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+48|0;e=q+36|0;r=q+32|0;f=q+28|0;g=q+24|0;h=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;c=q+4|0;d=q;k[e>>2]=a;k[r>>2]=b;k[f>>2]=k[k[e>>2]>>2];k[g>>2]=0;k[h>>2]=k[r>>2];while(1){if(!(k[h>>2]|0))break;k[m>>2]=l[k[h>>2]>>0];if(k[(k[h>>2]|0)+4>>2]&512|0)break;if((k[m>>2]|0)==66|(k[m>>2]|0)==156){k[h>>2]=k[(k[h>>2]|0)+12>>2];continue}if((k[m>>2]|0)==53){p=9;break}if((k[m>>2]|0)==157?(l[(k[h>>2]|0)+38>>0]|0)==53:0){p=9;break}if((k[m>>2]|0)==154|(k[m>>2]|0)==152|(k[m>>2]|0)==157|(k[m>>2]|0)==88?k[(k[h>>2]|0)+44>>2]|0:0){p=12;break}if(!(k[(k[h>>2]|0)+4>>2]&256))break;if(k[(k[h>>2]|0)+12>>2]|0?k[(k[(k[h>>2]|0)+12>>2]|0)+4>>2]&256|0:0){k[h>>2]=k[(k[h>>2]|0)+12>>2];continue}k[c>>2]=k[(k[h>>2]|0)+16>>2];a:do if(k[(k[h>>2]|0)+20>>2]|0?(k[(k[h>>2]|0)+4>>2]&2048|0)==0:0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[(k[h>>2]|0)+20>>2]>>2]|0))break a;if(k[(k[(k[(k[(k[h>>2]|0)+20>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>2]|0)+4>>2]&256|0)break;k[d>>2]=(k[d>>2]|0)+1}k[c>>2]=k[(k[(k[(k[h>>2]|0)+20>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>2]}while(0);k[h>>2]=k[c>>2]}if((p|0)==9){r=Cw(k[e>>2]|0,i[(k[f>>2]|0)+66>>0]|0,0,k[(k[h>>2]|0)+8>>2]|0)|0;k[g>>2]=r}else if((p|0)==12?(k[n>>2]=j[(k[h>>2]|0)+32>>1],(k[n>>2]|0)>=0):0){k[o>>2]=k[(k[(k[(k[h>>2]|0)+44>>2]|0)+4>>2]|0)+(k[n>>2]<<4)+8>>2];r=Dw(k[f>>2]|0,i[(k[f>>2]|0)+66>>0]|0,k[o>>2]|0,0)|0;k[g>>2]=r}if(!(Ew(k[e>>2]|0,k[g>>2]|0)|0)){r=k[g>>2]|0;u=q;return r|0}k[g>>2]=0;r=k[g>>2]|0;u=q;return r|0}function Cw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n;e=n+20|0;f=n+24|0;o=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;k[e>>2]=a;i[f>>0]=b;k[o>>2]=c;k[g>>2]=d;k[j>>2]=k[k[e>>2]>>2];k[h>>2]=k[o>>2];if(!(k[h>>2]|0)){o=Dw(k[j>>2]|0,i[f>>0]|0,k[g>>2]|0,0)|0;k[h>>2]=o}if(!(k[h>>2]|0?(k[(k[h>>2]|0)+12>>2]|0)!=0:0)){Gw(k[j>>2]|0,l[f>>0]|0,k[g>>2]|0);o=Dw(k[j>>2]|0,i[f>>0]|0,k[g>>2]|0,0)|0;k[h>>2]=o}if((k[h>>2]|0?(k[(k[h>>2]|0)+12>>2]|0)==0:0)?Hw(k[j>>2]|0,k[h>>2]|0)|0:0)k[h>>2]=0;if(k[h>>2]|0){o=k[h>>2]|0;u=n;return o|0}o=k[e>>2]|0;k[m>>2]=k[g>>2];Cl(o,28421,m);o=k[h>>2]|0;u=n;return o|0}function Dw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;j=u;u=u+32|0;m=j+12|0;e=j+16|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;i[e>>0]=b;k[f>>2]=c;k[g>>2]=d;a=k[m>>2]|0;if(k[f>>2]|0){m=Fw(a,k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=m}else k[h>>2]=k[a+8>>2];if(!(k[h>>2]|0)){m=k[h>>2]|0;u=j;return m|0}k[h>>2]=(k[h>>2]|0)+(((l[e>>0]|0)-1|0)*20|0);m=k[h>>2]|0;u=j;return m|0}function Ew(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;if(k[e>>2]|0?(k[f>>2]=k[k[e>>2]>>2],k[g>>2]=k[k[d>>2]>>2],g=Cw(k[d>>2]|0,i[(k[g>>2]|0)+66>>0]|0,k[e>>2]|0,k[f>>2]|0)|0,k[h>>2]=g,(k[h>>2]|0)==0):0){k[c>>2]=1;h=k[c>>2]|0;u=j;return h|0}k[c>>2]=0;h=k[c>>2]|0;u=j;return h|0}function Fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=u;u=u+32|0;d=j+20|0;e=j+16|0;l=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[l>>2]=c;c=rv((k[d>>2]|0)+364|0,k[e>>2]|0)|0;k[f>>2]=c;if(!(0==(k[f>>2]|0)&(k[l>>2]|0)!=0)){l=k[f>>2]|0;u=j;return l|0}l=wd(k[e>>2]|0)|0;k[g>>2]=l;l=im(k[d>>2]|0,60+(k[g>>2]|0)+1|0,0)|0;k[f>>2]=l;if(!(k[f>>2]|0)){l=k[f>>2]|0;u=j;return l|0}k[h>>2]=0;k[k[f>>2]>>2]=(k[f>>2]|0)+60;i[(k[f>>2]|0)+4>>0]=1;k[(k[f>>2]|0)+20>>2]=(k[f>>2]|0)+60;i[(k[f>>2]|0)+20+4>>0]=2;k[(k[f>>2]|0)+40>>2]=(k[f>>2]|0)+60;i[(k[f>>2]|0)+40+4>>0]=3;r0(k[k[f>>2]>>2]|0,k[e>>2]|0,k[g>>2]|0)|0;i[(k[k[f>>2]>>2]|0)+(k[g>>2]|0)>>0]=0;l=Pk((k[d>>2]|0)+364|0,k[k[f>>2]>>2]|0,k[f>>2]|0)|0;k[h>>2]=l;if(!(k[h>>2]|0)){l=k[f>>2]|0;u=j;return l|0}Yd(k[d>>2]|0);fe(k[d>>2]|0,k[h>>2]|0);k[f>>2]=0;l=k[f>>2]|0;u=j;return l|0}function Gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+32|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do if(k[(k[d>>2]|0)+232>>2]|0){c=fp(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){Yb[k[(k[d>>2]|0)+232>>2]&255](k[(k[d>>2]|0)+240>>2]|0,k[d>>2]|0,k[e>>2]|0,k[g>>2]|0);fe(k[d>>2]|0,k[g>>2]|0);break}else{u=m;return}}while(0);if(!(k[(k[d>>2]|0)+236>>2]|0)){u=m;return}g=Np(k[d>>2]|0)|0;k[j>>2]=g;Op(k[j>>2]|0,-1,k[f>>2]|0,1,0);g=Di(k[j>>2]|0,((i[936]|0)==0?3:2)&255)|0;k[h>>2]=g;if(k[h>>2]|0)Yb[k[(k[d>>2]|0)+236>>2]&255](k[(k[d>>2]|0)+240>>2]|0,k[d>>2]|0,l[(k[d>>2]|0)+66>>0]|0,k[h>>2]|0);Lk(k[j>>2]|0);u=m;return}function Hw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;f=j+20|0;c=j+16|0;g=j+12|0;h=j+8|0;d=j+4|0;e=j;k[c>>2]=a;k[g>>2]=b;k[d>>2]=k[k[g>>2]>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=3){a=6;break}b=Dw(k[c>>2]|0,i[28452+(k[e>>2]|0)>>0]|0,k[d>>2]|0,0)|0;k[h>>2]=b;if(k[(k[h>>2]|0)+12>>2]|0){a=4;break}k[e>>2]=(k[e>>2]|0)+1}if((a|0)==4){e=k[g>>2]|0;h=k[h>>2]|0;k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];k[e+12>>2]=k[h+12>>2];k[e+16>>2]=k[h+16>>2];k[(k[g>>2]|0)+16>>2]=0;k[f>>2]=0;h=k[f>>2]|0;u=j;return h|0}else if((a|0)==6){k[f>>2]=1;h=k[f>>2]|0;u=j;return h|0}return 0}function Iw(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;c=d;k[c>>2]=a;while(1){if(k[c>>2]|0)a=(k[(k[c>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=k[c>>2]|0;if(!a)break;a=k[c>>2]|0;if(k[b+4>>2]&262144|0){k[c>>2]=k[k[(k[a+20>>2]|0)+4>>2]>>2];continue}else{k[c>>2]=k[a+12>>2];continue}}u=d;return b|0}function Jw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)<0){d=68;d=d&255;u=e;return d|0}d=i[(k[(k[c>>2]|0)+4>>2]|0)+(k[d>>2]<<4)+13>>0]|0;d=d&255;u=e;return d|0}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){u=h;return}k[g>>2]=k[k[d>>2]>>2];if(i[(k[g>>2]|0)+69>>0]|0){u=h;return}if(k[(k[e>>2]|0)+8>>2]&128|0){u=h;return}Lw(k[d>>2]|0,k[e>>2]|0);if(k[(k[d>>2]|0)+36>>2]|0){u=h;return}if(l[(k[g>>2]|0)+69>>0]|0){u=h;return}Mw(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);if(k[(k[d>>2]|0)+36>>2]|0){u=h;return}if(l[(k[g>>2]|0)+69>>0]|0){u=h;return}Nw(k[d>>2]|0,k[e>>2]|0);u=h;return}function Lw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+48|0;f=e+32|0;c=e+28|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[d+4>>2]=197;k[d>>2]=k[f>>2];if(i[(k[f>>2]|0)+22>>0]|0){k[d+8>>2]=198;Qw(d,k[c>>2]|0)|0}k[d+8>>2]=199;if(k[(k[c>>2]|0)+8>>2]&1024|0){f=k[c>>2]|0;Qw(d,f)|0;u=e;return}k[d+12>>2]=132;f=k[c>>2]|0;Qw(d,f)|0;u=e;return}function Mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=u;u=u+48|0;h=d+36|0;e=d+32|0;g=d+28|0;f=d;k[h>>2]=a;k[e>>2]=b;k[g>>2]=c;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+4>>2]=200;k[f+8>>2]=201;k[f>>2]=k[h>>2];k[f+24>>2]=k[g>>2];Qw(f,k[e>>2]|0)|0;u=d;return}function Nw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+48|0;f=c+32|0;d=c+28|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+12>>2]=133;k[e+4>>2]=197;k[e>>2]=k[f>>2];Qw(e,k[d>>2]|0)|0;u=c;return}function Ow(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=u;u=u+32|0;m=i+28|0;j=i+24|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[m>>2]=a;k[j>>2]=b;b=(k[j>>2]|0)+8|0;k[b>>2]=k[b>>2]|128;k[c>>2]=k[k[m>>2]>>2];k[e>>2]=k[(k[j>>2]|0)+28>>2];k[d>>2]=0;k[f>>2]=(k[e>>2]|0)+8;while(1){if((k[d>>2]|0)>=(k[k[e>>2]>>2]|0))break;k[g>>2]=k[(k[f>>2]|0)+16>>2];if((l[(k[g>>2]|0)+42>>0]|0)&2|0?(k[h>>2]=k[(k[f>>2]|0)+20>>2],k[h>>2]|0):0){while(1){if(!(k[(k[h>>2]|0)+48>>2]|0))break;k[h>>2]=k[(k[h>>2]|0)+48>>2]}yw(k[c>>2]|0,k[g>>2]|0,k[h>>2]|0)}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}u=i;return}function Pw(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c+4>>2]=a;k[c>>2]=b;u=c;return 0}function Qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;do if(k[c>>2]|0){if((k[(k[e>>2]|0)+8>>2]|0)==0?(k[(k[e>>2]|0)+12>>2]|0)==0:0)break;k[f>>2]=0;b=(k[e>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+1;while(1){if(!(k[c>>2]|0)){a=15;break}if(k[(k[e>>2]|0)+8>>2]|0?(b=Wb[k[(k[e>>2]|0)+8>>2]&255](k[e>>2]|0,k[c>>2]|0)|0,k[f>>2]=b,k[f>>2]|0):0){a=15;break}if(Rw(k[e>>2]|0,k[c>>2]|0)|0){a=11;break}if(Sw(k[e>>2]|0,k[c>>2]|0)|0){a=11;break}if(k[(k[e>>2]|0)+12>>2]|0)Pb[k[(k[e>>2]|0)+12>>2]&255](k[e>>2]|0,k[c>>2]|0);k[c>>2]=k[(k[c>>2]|0)+48>>2]}if((a|0)==11){f=(k[e>>2]|0)+16|0;k[f>>2]=(k[f>>2]|0)+-1;k[d>>2]=2;f=k[d>>2]|0;u=g;return f|0}else if((a|0)==15){e=(k[e>>2]|0)+16|0;k[e>>2]=(k[e>>2]|0)+-1;k[d>>2]=k[f>>2]&2;f=k[d>>2]|0;u=g;return f|0}}while(0);k[d>>2]=0;f=k[d>>2]|0;u=g;return f|0}function Rw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;do if(!(Tw(k[d>>2]|0,k[k[e>>2]>>2]|0)|0)){if(Uw(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0)|0){k[c>>2]=2;break}if(Tw(k[d>>2]|0,k[(k[e>>2]|0)+36>>2]|0)|0){k[c>>2]=2;break}if(Uw(k[d>>2]|0,k[(k[e>>2]|0)+40>>2]|0)|0){k[c>>2]=2;break}if(Tw(k[d>>2]|0,k[(k[e>>2]|0)+44>>2]|0)|0){k[c>>2]=2;break}if(Uw(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0)|0){k[c>>2]=2;break}if(Uw(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0)|0){k[c>>2]=2;break}else{k[c>>2]=0;break}}else k[c>>2]=2;while(0);u=f;return k[c>>2]|0}function Sw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;g=h+20|0;c=h+16|0;i=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[i>>2]=b;k[d>>2]=k[(k[i>>2]|0)+28>>2];a:do if(k[d>>2]|0){k[e>>2]=k[k[d>>2]>>2];k[f>>2]=(k[d>>2]|0)+8;while(1){if((k[e>>2]|0)<=0)break a;if(Qw(k[c>>2]|0,k[(k[f>>2]|0)+20>>2]|0)|0){a=5;break}if((l[(k[f>>2]|0)+36+1>>0]|0)>>>2&1|0?Tw(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0:0){a=8;break}k[e>>2]=(k[e>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+72}if((a|0)==5){k[g>>2]=2;i=k[g>>2]|0;u=h;return i|0}else if((a|0)==8){k[g>>2]=2;i=k[g>>2]|0;u=h;return i|0}}while(0);k[g>>2]=0;i=k[g>>2]|0;u=h;return i|0}function Tw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;a:do if(k[e>>2]|0){k[f>>2]=k[k[e>>2]>>2];k[g>>2]=k[(k[e>>2]|0)+4>>2];while(1){if((k[f>>2]|0)<=0)break a;if(Uw(k[d>>2]|0,k[k[g>>2]>>2]|0)|0)break;k[f>>2]=(k[f>>2]|0)+-1;k[g>>2]=(k[g>>2]|0)+20}k[c>>2]=2;g=k[c>>2]|0;u=h;return g|0}while(0);k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}function Uw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){d=0;u=e;return d|0}d=Vw(k[c>>2]|0,k[d>>2]|0)|0;u=e;return d|0}function Vw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=Wb[k[(k[d>>2]|0)+4>>2]&255](k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=b;if((k[f>>2]|0)==0?(k[(k[e>>2]|0)+4>>2]&8404992|0)==0:0){if(k[(k[e>>2]|0)+12>>2]|0?Vw(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0:0){k[c>>2]=2;f=k[c>>2]|0;u=g;return f|0}if(k[(k[e>>2]|0)+16>>2]|0?Vw(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0:0){k[c>>2]=2;f=k[c>>2]|0;u=g;return f|0}if(k[(k[e>>2]|0)+4>>2]&2048|0){if(Qw(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0){k[c>>2]=2;f=k[c>>2]|0;u=g;return f|0}}else if(k[(k[e>>2]|0)+20>>2]|0?Tw(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0:0){k[c>>2]=2;f=k[c>>2]|0;u=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}k[c>>2]=k[f>>2]&2;f=k[c>>2]|0;u=g;return f|0}function Ww(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=u;u=u+144|0;o=M+40|0;H=M+32|0;J=M+24|0;I=M+16|0;G=M+8|0;F=M;L=M+128|0;B=M+124|0;C=M+120|0;D=M+116|0;E=M+112|0;g=M+108|0;h=M+104|0;n=M+100|0;c=M+96|0;p=M+92|0;q=M+88|0;r=M+84|0;s=M+80|0;t=M+76|0;v=M+72|0;w=M+68|0;x=M+64|0;y=M+132|0;z=M+60|0;A=M+56|0;d=M+52|0;e=M+48|0;f=M+44|0;k[B>>2]=a;k[C>>2]=b;k[D>>2]=k[(k[B>>2]|0)+24>>2];k[E>>2]=k[k[D>>2]>>2];if(k[(k[C>>2]|0)+4>>2]&4|0){k[L>>2]=1;L=k[L>>2]|0;u=M;return L|0}b=(k[C>>2]|0)+4|0;k[b>>2]=k[b>>2]|4;switch(l[k[C>>2]>>0]|0){case 55:{K=wx(k[E>>2]|0,0,0,k[(k[C>>2]|0)+8>>2]|0,k[D>>2]|0,k[C>>2]|0)|0;k[L>>2]=K;L=k[L>>2]|0;u=M;return L|0}case 122:{xx(k[E>>2]|0,k[D>>2]|0,28977,32);k[c>>2]=k[(k[C>>2]|0)+16>>2];if((l[k[c>>2]>>0]|0)==55){k[n>>2]=0;k[h>>2]=k[(k[(k[C>>2]|0)+12>>2]|0)+8>>2];k[g>>2]=k[(k[c>>2]|0)+8>>2]}else{k[n>>2]=k[(k[(k[C>>2]|0)+12>>2]|0)+8>>2];k[h>>2]=k[(k[(k[c>>2]|0)+12>>2]|0)+8>>2];k[g>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+8>>2]}K=wx(k[E>>2]|0,k[n>>2]|0,k[h>>2]|0,k[g>>2]|0,k[D>>2]|0,k[C>>2]|0)|0;k[L>>2]=K;L=k[L>>2]|0;u=M;return L|0}case 151:{k[p>>2]=k[(k[C>>2]|0)+20>>2];if(k[p>>2]|0)a=k[k[p>>2]>>2]|0;else a=0;k[q>>2]=a;k[r>>2]=0;k[s>>2]=0;k[t>>2]=0;i[y>>0]=i[(k[k[E>>2]>>2]|0)+66>>0]|0;k[w>>2]=k[(k[C>>2]|0)+8>>2];o=wd(k[w>>2]|0)|0;k[v>>2]=o;o=yx(k[k[E>>2]>>2]|0,k[w>>2]|0,k[q>>2]|0,i[y>>0]|0,0)|0;k[x>>2]=o;do if(!(k[x>>2]|0)){G=yx(k[k[E>>2]>>2]|0,k[w>>2]|0,-2,i[y>>0]|0,0)|0;k[x>>2]=G;if(!(k[x>>2]|0)){k[r>>2]=1;break}else{k[s>>2]=1;break}}else{k[t>>2]=(k[(k[x>>2]|0)+16>>2]|0)!=0&1;do if(m[(k[x>>2]|0)+2>>1]&1024|0){y=(k[C>>2]|0)+4|0;k[y>>2]=k[y>>2]|266240;if((k[q>>2]|0)!=2){k[(k[C>>2]|0)+28>>2]=(i[k[(k[x>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}y=zx(k[(k[(k[p>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[(k[C>>2]|0)+28>>2]=y;if((k[(k[C>>2]|0)+28>>2]|0)<0){Cl(k[E>>2]|0,28994,F);F=(k[D>>2]|0)+24|0;k[F>>2]=(k[F>>2]|0)+1}}while(0);F=Su(k[E>>2]|0,31,0,k[(k[x>>2]|0)+20>>2]|0,0)|0;k[z>>2]=F;if(k[z>>2]|0){if((k[z>>2]|0)==1){K=k[E>>2]|0;k[G>>2]=k[(k[x>>2]|0)+20>>2];Cl(K,29065,G);K=(k[D>>2]|0)+24|0;k[K>>2]=(k[K>>2]|0)+1}i[k[C>>2]>>0]=101;k[L>>2]=1;L=k[L>>2]|0;u=M;return L|0}else{if(m[(k[x>>2]|0)+2>>1]&10240|0){G=(k[C>>2]|0)+4|0;k[G>>2]=k[G>>2]|524288}if(m[(k[x>>2]|0)+2>>1]&2048|0)break;xx(k[E>>2]|0,k[D>>2]|0,29100,34);break}}while(0);if(k[t>>2]|0?(m[(k[D>>2]|0)+28>>1]&1|0)==0:0){J=k[E>>2]|0;H=k[w>>2]|0;k[I>>2]=k[v>>2];k[I+4>>2]=H;Cl(J,29128,I);J=(k[D>>2]|0)+24|0;k[J>>2]=(k[J>>2]|0)+1;k[t>>2]=0}else K=31;do if((K|0)==31){if(k[r>>2]|0?(l[(k[k[E>>2]>>2]|0)+148+5>>0]|0)==0:0){K=k[E>>2]|0;I=k[w>>2]|0;k[J>>2]=k[v>>2];k[J+4>>2]=I;Cl(K,29164,J);K=(k[D>>2]|0)+24|0;k[K>>2]=(k[K>>2]|0)+1;break}if(k[s>>2]|0){K=k[E>>2]|0;J=k[w>>2]|0;k[H>>2]=k[v>>2];k[H+4>>2]=J;Cl(K,29187,H);K=(k[D>>2]|0)+24|0;k[K>>2]=(k[K>>2]|0)+1}}while(0);if(k[t>>2]|0){K=(k[D>>2]|0)+28|0;j[K>>1]=m[K>>1]&-2}Tw(k[B>>2]|0,k[p>>2]|0)|0;if(k[t>>2]|0){k[A>>2]=k[D>>2];i[k[C>>2]>>0]=-103;i[(k[C>>2]|0)+38>>0]=0;while(1){if(!(k[A>>2]|0))break;if(!((Ax(k[C>>2]|0,k[(k[A>>2]|0)+4>>2]|0)|0)!=0^1))break;K=(k[C>>2]|0)+38|0;i[K>>0]=(i[K>>0]|0)+1<<24>>24;k[A>>2]=k[(k[A>>2]|0)+16>>2]}if(k[A>>2]|0){K=(k[A>>2]|0)+28|0;j[K>>1]=m[K>>1]|(16|m[(k[x>>2]|0)+2>>1]&4096)}K=(k[D>>2]|0)+28|0;j[K>>1]=m[K>>1]|1}k[L>>2]=1;L=k[L>>2]|0;u=M;return L|0}case 33:case 20:case 119:{if(k[(k[C>>2]|0)+4>>2]&2048|0?(k[d>>2]=k[(k[D>>2]|0)+20>>2],xx(k[E>>2]|0,k[D>>2]|0,29232,38),Qw(k[B>>2]|0,k[(k[C>>2]|0)+20>>2]|0)|0,(k[d>>2]|0)!=(k[(k[D>>2]|0)+20>>2]|0)):0){K=(k[C>>2]|0)+4|0;k[K>>2]=k[K>>2]|32;K=(k[D>>2]|0)+28|0;j[K>>1]=m[K>>1]|64}break}case 135:{xx(k[E>>2]|0,k[D>>2]|0,29243,38);break}case 148:case 29:case 41:case 38:case 39:case 40:case 36:case 37:{if((i[(k[k[E>>2]>>2]|0)+69>>0]|0)==0?(K=Bx(k[(k[C>>2]|0)+12>>2]|0)|0,k[e>>2]=K,K=Bx(k[(k[C>>2]|0)+16>>2]|0)|0,k[f>>2]=K,(k[e>>2]|0)!=(k[f>>2]|0)):0)Cl(k[E>>2]|0,29254,o);break}default:{}}if(k[(k[E>>2]|0)+36>>2]|0)a=1;else a=(l[(k[k[E>>2]>>2]|0)+69>>0]|0)!=0;k[L>>2]=a?2:0;L=k[L>>2]|0;u=M;return L|0}function Xw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+128|0;C=E+8|0;B=E;D=E+116|0;s=E+112|0;y=E+108|0;t=E+104|0;v=E+72|0;z=E+68|0;w=E+64|0;A=E+60|0;c=E+56|0;d=E+52|0;x=E+48|0;e=E+44|0;f=E+40|0;g=E+36|0;h=E+32|0;n=E+28|0;o=E+24|0;p=E+20|0;q=E+16|0;r=E+12|0;k[s>>2]=a;k[y>>2]=b;if(k[(k[y>>2]|0)+8>>2]&4|0){k[D>>2]=1;D=k[D>>2]|0;u=E;return D|0}k[t>>2]=k[(k[s>>2]|0)+24>>2];k[A>>2]=k[k[s>>2]>>2];k[e>>2]=k[k[A>>2]>>2];if(!(k[(k[y>>2]|0)+8>>2]&64)){Kw(k[A>>2]|0,k[y>>2]|0,k[t>>2]|0);if(k[(k[A>>2]|0)+36>>2]|0)a=1;else a=(l[(k[e>>2]|0)+69>>0]|0)!=0;k[D>>2]=a?2:1;D=k[D>>2]|0;u=E;return D|0}k[z>>2]=(k[(k[y>>2]|0)+48>>2]|0)!=0&1;k[w>>2]=0;k[x>>2]=k[y>>2];a:while(1){if(!(k[y>>2]|0)){a=68;break}s=(k[y>>2]|0)+8|0;k[s>>2]=k[s>>2]|4;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[v+24>>2]=0;k[v+28>>2]=0;k[v>>2]=k[A>>2];if(Yw(v,k[(k[y>>2]|0)+56>>2]|0)|0){a=11;break}if(Yw(v,k[(k[y>>2]|0)+60>>2]|0)|0){a=11;break}if(k[(k[y>>2]|0)+8>>2]&65536|0){k[f>>2]=k[(k[(k[y>>2]|0)+28>>2]|0)+8+20>>2];k[(k[f>>2]|0)+44>>2]=k[(k[y>>2]|0)+44>>2];k[(k[y>>2]|0)+44>>2]=0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[(k[y>>2]|0)+28>>2]>>2]|0))break;k[g>>2]=(k[(k[y>>2]|0)+28>>2]|0)+8+((k[c>>2]|0)*72|0);if(k[(k[g>>2]|0)+20>>2]|0){k[n>>2]=0;k[o>>2]=k[(k[A>>2]|0)+448>>2];k[h>>2]=k[t>>2];while(1){if(!(k[h>>2]|0))break;k[n>>2]=(k[n>>2]|0)+(k[(k[h>>2]|0)+20>>2]|0);k[h>>2]=k[(k[h>>2]|0)+16>>2]}if(k[(k[g>>2]|0)+8>>2]|0)k[(k[A>>2]|0)+448>>2]=k[(k[g>>2]|0)+8>>2];Mw(k[A>>2]|0,k[(k[g>>2]|0)+20>>2]|0,k[t>>2]|0);k[(k[A>>2]|0)+448>>2]=k[o>>2];if(k[(k[A>>2]|0)+36>>2]|0){a=24;break a}if(l[(k[e>>2]|0)+69>>0]|0){a=24;break a}k[h>>2]=k[t>>2];while(1){if(!(k[h>>2]|0))break;k[n>>2]=(k[n>>2]|0)-(k[(k[h>>2]|0)+20>>2]|0);k[h>>2]=k[(k[h>>2]|0)+16>>2]}s=(k[g>>2]|0)+36+1|0;i[s>>0]=i[s>>0]&-9|((k[n>>2]|0)!=0&1)<<3&255}k[c>>2]=(k[c>>2]|0)+1}j[v+28>>1]=1;k[v+4>>2]=k[(k[y>>2]|0)+28>>2];k[v+16>>2]=k[t>>2];if(Zw(v,k[k[y>>2]>>2]|0)|0){a=31;break}k[d>>2]=k[(k[y>>2]|0)+36>>2];if(!(k[d>>2]|0)?!(m[v+28>>1]&16|0):0){s=v+28|0;j[s>>1]=m[s>>1]&-2}else{s=(k[y>>2]|0)+8|0;k[s>>2]=k[s>>2]|(8|m[v+28>>1]&4096)}if(!(k[d>>2]|0?1:(k[(k[y>>2]|0)+40>>2]|0)==0)){a=37;break}k[v+8>>2]=k[k[y>>2]>>2];if(Yw(v,k[(k[y>>2]|0)+40>>2]|0)|0){a=39;break}if(Yw(v,k[(k[y>>2]|0)+32>>2]|0)|0){a=41;break}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[(k[y>>2]|0)+28>>2]>>2]|0))break;k[p>>2]=(k[(k[y>>2]|0)+28>>2]|0)+8+((k[c>>2]|0)*72|0);if((l[(k[p>>2]|0)+36+1>>0]|0)>>>2&1|0?Zw(v,k[(k[p>>2]|0)+64>>2]|0)|0:0){a=46;break a}k[c>>2]=(k[c>>2]|0)+1}k[v+16>>2]=0;s=v+28|0;j[s>>1]=m[s>>1]|1;if(k[(k[y>>2]|0)+8>>2]&65536|0){k[q>>2]=k[(k[(k[y>>2]|0)+28>>2]|0)+8+20>>2];k[(k[y>>2]|0)+44>>2]=k[(k[q>>2]|0)+44>>2];k[(k[q>>2]|0)+44>>2]=0}if((k[z>>2]|0)<=(k[w>>2]|0)?_w(v,k[y>>2]|0,k[(k[y>>2]|0)+44>>2]|0,28515)|0:0){a=52;break}if(i[(k[e>>2]|0)+69>>0]|0){a=54;break}b:do if(k[d>>2]|0){if(_w(v,k[y>>2]|0,k[d>>2]|0,28521)|0){a=58;break a}if(l[(k[e>>2]|0)+69>>0]|0){a=58;break a}k[c>>2]=0;k[r>>2]=k[(k[d>>2]|0)+4>>2];while(1){if((k[c>>2]|0)>=(k[k[d>>2]>>2]|0))break b;if(k[(k[k[r>>2]>>2]|0)+4>>2]&2|0){a=62;break a}k[c>>2]=(k[c>>2]|0)+1;k[r>>2]=(k[r>>2]|0)+20}}while(0);if(k[(k[y>>2]|0)+52>>2]|0?(k[k[k[y>>2]>>2]>>2]|0)!=(k[k[k[(k[y>>2]|0)+52>>2]>>2]>>2]|0):0){a=66;break}k[y>>2]=k[(k[y>>2]|0)+48>>2];k[w>>2]=(k[w>>2]|0)+1}switch(a|0){case 11:{k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}case 24:{k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}case 31:{k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}case 37:{Cl(k[A>>2]|0,28471,B);k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}case 39:{k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}case 41:{k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}case 46:{k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}case 52:{k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}case 54:{k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}case 58:{k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}case 62:{Cl(k[A>>2]|0,28527,C);k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}case 66:{$w(k[A>>2]|0,k[(k[y>>2]|0)+52>>2]|0);k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}case 68:{if(k[z>>2]|0?ax(k[A>>2]|0,k[x>>2]|0)|0:0){k[D>>2]=2;D=k[D>>2]|0;u=E;return D|0}k[D>>2]=1;D=k[D>>2]|0;u=E;return D|0}}return 0}function Yw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=u;u=u+48|0;c=l+40|0;d=l+36|0;e=l+32|0;f=l+44|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;u=l;return h|0}k[h>>2]=k[k[d>>2]>>2];if(vx(k[h>>2]|0,(k[(k[e>>2]|0)+24>>2]|0)+(k[(k[k[d>>2]>>2]|0)+416>>2]|0)|0)|0){k[c>>2]=1;h=k[c>>2]|0;u=l;return h|0}h=(k[h>>2]|0)+416|0;k[h>>2]=(k[h>>2]|0)+(k[(k[e>>2]|0)+24>>2]|0);j[f>>1]=(m[(k[d>>2]|0)+28>>1]|0)&4112;h=(k[d>>2]|0)+28|0;j[h>>1]=(m[h>>1]|0)&-4113;k[g>>2]=k[k[d>>2]>>2];k[g+4>>2]=200;k[g+8>>2]=201;k[g+12>>2]=0;k[g+16>>2]=0;i[g+20>>0]=0;k[g+24>>2]=k[d>>2];Uw(g,k[e>>2]|0)|0;h=(k[k[d>>2]>>2]|0)+416|0;k[h>>2]=(k[h>>2]|0)-(k[(k[e>>2]|0)+24>>2]|0);if(!((k[(k[d>>2]|0)+24>>2]|0)<=0?(k[(k[g>>2]|0)+36>>2]|0)<=0:0)){h=(k[e>>2]|0)+4|0;k[h>>2]=k[h>>2]|8}if((m[(k[d>>2]|0)+28>>1]|0)&16|0){h=(k[e>>2]|0)+4|0;k[h>>2]=k[h>>2]|2}h=(k[d>>2]|0)+28|0;j[h>>1]=m[h>>1]|0|(m[f>>1]|0);k[c>>2]=(k[(k[e>>2]|0)+4>>2]&8|0)!=0&1;h=k[c>>2]|0;u=l;return h|0}function Zw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a:do if(k[e>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[e>>2]>>2]|0))break a;if(Yw(k[d>>2]|0,k[(k[(k[e>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0)break;k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=2;f=k[c>>2]|0;u=g;return f|0}while(0);k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}function _w(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+64|0;o=v+48|0;p=v+44|0;q=v+40|0;r=v+36|0;s=v+32|0;t=v+28|0;e=v+24|0;f=v+20|0;g=v+16|0;h=v+12|0;l=v+8|0;m=v+4|0;n=v;k[p>>2]=a;k[q>>2]=b;k[r>>2]=c;k[s>>2]=d;if(!(k[r>>2]|0)){k[o>>2]=0;t=k[o>>2]|0;u=v;return t|0}k[l>>2]=k[k[k[q>>2]>>2]>>2];k[h>>2]=k[k[p>>2]>>2];k[t>>2]=0;k[g>>2]=k[(k[r>>2]|0)+4>>2];a:while(1){if((k[t>>2]|0)>=(k[k[r>>2]>>2]|0)){c=21;break}k[m>>2]=k[k[g>>2]>>2];d=Iw(k[m>>2]|0)|0;k[n>>2]=d;if((i[k[s>>2]>>0]|0)!=71?(d=dx(k[h>>2]|0,k[k[q>>2]>>2]|0,k[n>>2]|0)|0,k[f>>2]=d,(k[f>>2]|0)>0):0){a=k[f>>2]&65535;b=k[g>>2]|0;c=19}else c=8;b:do if((c|0)==8){c=0;if(bx(k[n>>2]|0,f)|0){if((k[f>>2]|0)<1|(k[f>>2]|0)>65535){c=10;break a}a=k[f>>2]&65535;b=k[g>>2]|0;c=19;break}j[(k[g>>2]|0)+16>>1]=0;if(Yw(k[p>>2]|0,k[m>>2]|0)|0){c=13;break a}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[k[q>>2]>>2]>>2]|0))break b;if(!(gx(k[m>>2]|0,k[(k[(k[k[q>>2]>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,-1)|0))j[(k[g>>2]|0)+16>>1]=(k[e>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+1}}while(0);if((c|0)==19)j[b+16>>1]=a;k[t>>2]=(k[t>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+20}if((c|0)==10){cx(k[h>>2]|0,k[s>>2]|0,(k[t>>2]|0)+1|0,k[l>>2]|0);k[o>>2]=1;t=k[o>>2]|0;u=v;return t|0}else if((c|0)==13){k[o>>2]=1;t=k[o>>2]|0;u=v;return t|0}else if((c|0)==21){t=px(k[h>>2]|0,k[q>>2]|0,k[r>>2]|0,k[s>>2]|0)|0;k[o>>2]=t;t=k[o>>2]|0;u=v;return t|0}return 0}function $w(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+32|0;d=e+8|0;f=e+16|0;c=e+12|0;k[f>>2]=a;k[c>>2]=b;a=k[f>>2]|0;if(k[(k[c>>2]|0)+8>>2]&512|0){Cl(a,28737,e);u=e;return}else{f=ox(l[(k[c>>2]|0)+4>>0]|0)|0;k[d>>2]=f;Cl(a,28783,d);u=e;return}}function ax(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+80|0;v=w+8|0;p=w+64|0;q=w+60|0;m=w+56|0;r=w+52|0;s=w+48|0;t=w+44|0;n=w+40|0;o=w+36|0;c=w+32|0;d=w+28|0;e=w+24|0;f=w+20|0;g=w+16|0;h=w+12|0;k[q>>2]=a;k[m>>2]=b;k[o>>2]=1;k[s>>2]=k[(k[m>>2]|0)+44>>2];if(!(k[s>>2]|0)){k[p>>2]=0;v=k[p>>2]|0;u=w;return v|0}k[n>>2]=k[k[q>>2]>>2];if((k[k[s>>2]>>2]|0)>(k[(k[n>>2]|0)+96+8>>2]|0)){Cl(k[q>>2]|0,28586,w);k[p>>2]=1;v=k[p>>2]|0;u=w;return v|0}k[r>>2]=0;while(1){if((k[r>>2]|0)>=(k[k[s>>2]>>2]|0))break;b=(k[(k[s>>2]|0)+4>>2]|0)+((k[r>>2]|0)*20|0)+13|0;i[b>>0]=i[b>>0]&-2;k[r>>2]=(k[r>>2]|0)+1}k[(k[m>>2]|0)+52>>2]=0;while(1){if(!(k[(k[m>>2]|0)+48>>2]|0))break;k[(k[(k[m>>2]|0)+48>>2]|0)+52>>2]=k[m>>2];k[m>>2]=k[(k[m>>2]|0)+48>>2]}a:while(1){if(!(k[m>>2]|0?(k[o>>2]|0)!=0:0)){a=36;break}k[o>>2]=0;k[t>>2]=k[k[m>>2]>>2];k[r>>2]=0;k[c>>2]=k[(k[s>>2]|0)+4>>2];while(1){if((k[r>>2]|0)>=(k[k[s>>2]>>2]|0))break;k[d>>2]=-1;do if(!(i[(k[c>>2]|0)+13>>0]&1)){b=Iw(k[k[c>>2]>>2]|0)|0;k[e>>2]=b;if(bx(k[e>>2]|0,d)|0){if((k[d>>2]|0)<=0){a=18;break a}if((k[d>>2]|0)>(k[k[t>>2]>>2]|0)){a=18;break a}}else{b=dx(k[q>>2]|0,k[t>>2]|0,k[e>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){b=ex(k[n>>2]|0,k[e>>2]|0,0)|0;k[f>>2]=b;if(!(i[(k[n>>2]|0)+69>>0]|0)){b=fx(k[q>>2]|0,k[m>>2]|0,k[f>>2]|0)|0;k[d>>2]=b}Yk(k[n>>2]|0,k[f>>2]|0)}}if((k[d>>2]|0)<=0){k[o>>2]=1;break}b=Rt(k[n>>2]|0,134,0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){a=25;break a}b=(k[g>>2]|0)+4|0;k[b>>2]=k[b>>2]|1024;k[(k[g>>2]|0)+8>>2]=k[d>>2];if((k[k[c>>2]>>2]|0)==(k[e>>2]|0))k[k[c>>2]>>2]=k[g>>2];else{k[h>>2]=k[k[c>>2]>>2];while(1){if((l[k[(k[h>>2]|0)+12>>2]>>0]|0)!=53)break;k[h>>2]=k[(k[h>>2]|0)+12>>2]}k[(k[h>>2]|0)+12>>2]=k[g>>2]}Yk(k[n>>2]|0,k[e>>2]|0);j[(k[c>>2]|0)+16>>1]=k[d>>2];b=(k[c>>2]|0)+13|0;i[b>>0]=i[b>>0]&-2|1}while(0);k[r>>2]=(k[r>>2]|0)+1;k[c>>2]=(k[c>>2]|0)+20}k[m>>2]=k[(k[m>>2]|0)+52>>2]}if((a|0)==18){cx(k[q>>2]|0,28515,(k[r>>2]|0)+1|0,k[k[t>>2]>>2]|0);k[p>>2]=1;v=k[p>>2]|0;u=w;return v|0}else if((a|0)==25){k[p>>2]=1;v=k[p>>2]|0;u=w;return v|0}else if((a|0)==36){k[r>>2]=0;while(1){if((k[r>>2]|0)>=(k[k[s>>2]>>2]|0)){a=41;break}if(!(i[(k[(k[s>>2]|0)+4>>2]|0)+((k[r>>2]|0)*20|0)+13>>0]&1)){a=39;break}k[r>>2]=(k[r>>2]|0)+1}if((a|0)==39){t=k[q>>2]|0;k[v>>2]=(k[r>>2]|0)+1;Cl(t,28620,v);k[p>>2]=1;v=k[p>>2]|0;u=w;return v|0}else if((a|0)==41){k[p>>2]=0;v=k[p>>2]|0;u=w;return v|0}}return 0}function bx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;a=k[d>>2]|0;if(k[(k[d>>2]|0)+4>>2]&1024|0){k[k[e>>2]>>2]=k[a+8>>2];k[c>>2]=1;g=k[c>>2]|0;u=h;return g|0}switch(l[a>>0]|0|0){case 156:{g=bx(k[(k[d>>2]|0)+12>>2]|0,k[e>>2]|0)|0;k[f>>2]=g;break}case 155:{if(bx(k[(k[d>>2]|0)+12>>2]|0,g)|0){k[k[e>>2]>>2]=0-(k[g>>2]|0);k[f>>2]=1}break}default:{}}k[c>>2]=k[f>>2];g=k[c>>2]|0;u=h;return g|0}function cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=u;u=u+32|0;f=e;j=e+24|0;i=e+20|0;g=e+16|0;h=e+12|0;k[j>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=d;d=k[j>>2]|0;b=k[i>>2]|0;c=k[h>>2]|0;k[f>>2]=k[g>>2];k[f+4>>2]=b;k[f+8>>2]=c;Cl(d,28681,f);u=e;return}function dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;d=j+24|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+20>>2]=a;k[e>>2]=b;k[f>>2]=c;a:do if((l[k[f>>2]>>0]|0|0)==55){k[h>>2]=k[(k[f>>2]|0)+8>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[e>>2]>>2]|0))break a;k[i>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+4>>2];if(k[i>>2]|0?(lh(k[i>>2]|0,k[h>>2]|0)|0)==0:0)break;k[g>>2]=(k[g>>2]|0)+1}k[d>>2]=(k[g>>2]|0)+1;i=k[d>>2]|0;u=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;u=j;return i|0}function ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){f=0;u=g;return f|0}f=ix(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,0)|0;u=g;return f|0}function fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;h=u;u=u+80|0;g=h+60|0;p=h+56|0;q=h+52|0;d=h+48|0;e=h+44|0;f=h+40|0;o=h+8|0;m=h+4|0;l=h;n=h+64|0;k[p>>2]=a;k[q>>2]=b;k[d>>2]=c;k[f>>2]=k[k[q>>2]>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=k[p>>2];k[o+4>>2]=k[(k[q>>2]|0)+28>>2];k[o+8>>2]=k[f>>2];j[o+28>>1]=1;k[o+24>>2]=0;k[m>>2]=k[k[p>>2]>>2];i[n>>0]=i[(k[m>>2]|0)+73>>0]|0;i[(k[m>>2]|0)+73>>0]=1;c=Yw(o,k[d>>2]|0)|0;k[l>>2]=c;i[(k[m>>2]|0)+73>>0]=i[n>>0]|0;if(k[l>>2]|0){k[g>>2]=0;q=k[g>>2]|0;u=h;return q|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[f>>2]>>2]|0)){a=8;break}q=(gx(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0,-1)|0)<2;b=(k[e>>2]|0)+1|0;if(q){a=6;break}k[e>>2]=b}if((a|0)==6){k[g>>2]=b;q=k[g>>2]|0;u=h;return q|0}else if((a|0)==8){k[g>>2]=0;q=k[g>>2]|0;u=h;return q|0}return 0}function gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[e>>2]|0)==0|(k[f>>2]|0)==0){k[d>>2]=(k[f>>2]|0)==(k[e>>2]|0)?0:2;h=k[d>>2]|0;u=i;return h|0}k[h>>2]=k[(k[e>>2]|0)+4>>2]|k[(k[f>>2]|0)+4>>2];a=k[e>>2]|0;if(k[h>>2]&1024|0){if(k[a+4>>2]&k[(k[f>>2]|0)+4>>2]&1024|0?(k[(k[e>>2]|0)+8>>2]|0)==(k[(k[f>>2]|0)+8>>2]|0):0){k[d>>2]=0;h=k[d>>2]|0;u=i;return h|0}k[d>>2]=2;h=k[d>>2]|0;u=i;return h|0}b=l[k[e>>2]>>0]|0;if((l[a>>0]|0)!=(l[k[f>>2]>>0]|0)){if((b|0)==53?(gx(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)<2:0){k[d>>2]=1;h=k[d>>2]|0;u=i;return h|0}if((l[k[f>>2]>>0]|0)==53?(gx(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)<2:0){k[d>>2]=1;h=k[d>>2]|0;u=i;return h|0}k[d>>2]=2;h=k[d>>2]|0;u=i;return h|0}do if(((b|0)!=152?(l[k[e>>2]>>0]|0)!=154:0)?k[(k[e>>2]|0)+8>>2]|0:0){a=k[(k[e>>2]|0)+8>>2]|0;b=k[(k[f>>2]|0)+8>>2]|0;if((l[k[e>>2]>>0]|0)==151){if(!(lh(a,b)|0))break;k[d>>2]=2;h=k[d>>2]|0;u=i;return h|0}else{if(!(Q_(a,b)|0))break;k[d>>2]=(l[k[e>>2]>>0]|0)==53?1:2;h=k[d>>2]|0;u=i;return h|0}}while(0);if((k[(k[e>>2]|0)+4>>2]&16|0)!=(k[(k[f>>2]|0)+4>>2]&16|0)){k[d>>2]=2;h=k[d>>2]|0;u=i;return h|0}do if(!(k[h>>2]&16384)){if(k[h>>2]&2048|0){k[d>>2]=2;h=k[d>>2]|0;u=i;return h|0}if(gx(k[(k[e>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;u=i;return h|0}if(gx(k[(k[e>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;u=i;return h|0}if(hx(k[(k[e>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+20>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;u=i;return h|0}if((k[h>>2]&8192|0)==0?(l[k[e>>2]>>0]|0)!=97:0){if((j[(k[e>>2]|0)+32>>1]|0)!=(j[(k[f>>2]|0)+32>>1]|0)){k[d>>2]=2;h=k[d>>2]|0;u=i;return h|0}if((k[(k[e>>2]|0)+28>>2]|0)!=(k[(k[f>>2]|0)+28>>2]|0)){if((k[(k[e>>2]|0)+28>>2]|0)==(k[g>>2]|0)?(k[(k[f>>2]|0)+28>>2]|0)<0:0)break;k[d>>2]=2;h=k[d>>2]|0;u=i;return h|0}}}while(0);k[d>>2]=0;h=k[d>>2]|0;u=i;return h|0}function hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=u;u=u+32|0;j=m+24|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[d>>2]|0)==0&(k[e>>2]|0)==0){k[j>>2]=0;j=k[j>>2]|0;u=m;return j|0}if((k[d>>2]|0)==0|(k[e>>2]|0)==0){k[j>>2]=1;j=k[j>>2]|0;u=m;return j|0}if((k[k[d>>2]>>2]|0)!=(k[k[e>>2]>>2]|0)){k[j>>2]=1;j=k[j>>2]|0;u=m;return j|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[d>>2]>>2]|0)){a=14;break}k[h>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];k[i>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];if((l[(k[(k[d>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0|0)!=(l[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0|0)){a=10;break}if(gx(k[h>>2]|0,k[i>>2]|0,k[f>>2]|0)|0){a=12;break}k[g>>2]=(k[g>>2]|0)+1}if((a|0)==10){k[j>>2]=1;j=k[j>>2]|0;u=m;return j|0}else if((a|0)==12){k[j>>2]=1;j=k[j>>2]|0;u=m;return j|0}else if((a|0)==14){k[j>>2]=0;j=k[j>>2]|0;u=m;return j|0}return 0}function ix(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;p=s+44|0;q=s+40|0;m=s+36|0;n=s+32|0;r=s+28|0;o=s+24|0;e=s+20|0;f=s+16|0;g=s+12|0;h=s+8|0;i=s+4|0;j=s;k[p>>2]=a;k[q>>2]=b;k[m>>2]=c;k[n>>2]=d;if(k[n>>2]|0){k[o>>2]=k[k[n>>2]>>2];k[e>>2]=32768}else{c=k[p>>2]|0;d=jx(k[q>>2]|0,k[m>>2]|0)|0;d=Od(c,d,((d|0)<0)<<31>>31)|0;k[o>>2]=d;k[e>>2]=0}k[r>>2]=k[o>>2];if(!(k[r>>2]|0)){r=k[r>>2]|0;u=s;return r|0}d=kx(k[q>>2]|0,k[m>>2]|0)|0;k[f>>2]=d;k[g>>2]=k[f>>2]&4095;if(!(k[(k[q>>2]|0)+4>>2]&1024|0)?k[(k[q>>2]|0)+8>>2]|0:0){d=(wd(k[(k[q>>2]|0)+8>>2]|0)|0)+1|0;k[h>>2]=d}else k[h>>2]=0;if(!(k[m>>2]|0)){d=lx(k[q>>2]|0)|0;k[i>>2]=d;r0(k[o>>2]|0,k[q>>2]|0,k[i>>2]|0)|0;if((k[i>>2]|0)>>>0<48)w0((k[o>>2]|0)+(k[i>>2]|0)|0,0,48-(k[i>>2]|0)|0)|0}else r0(k[o>>2]|0,k[q>>2]|0,k[g>>2]|0)|0;d=(k[r>>2]|0)+4|0;k[d>>2]=k[d>>2]&-122881;d=(k[r>>2]|0)+4|0;k[d>>2]=k[d>>2]|k[f>>2]&24576;d=(k[r>>2]|0)+4|0;k[d>>2]=k[d>>2]|k[e>>2];if(k[h>>2]|0){d=(k[o>>2]|0)+(k[g>>2]|0)|0;k[(k[r>>2]|0)+8>>2]=d;k[j>>2]=d;r0(k[j>>2]|0,k[(k[q>>2]|0)+8>>2]|0,k[h>>2]|0)|0}do if(!((k[(k[q>>2]|0)+4>>2]|k[(k[r>>2]|0)+4>>2])&8404992)){a=k[p>>2]|0;b=(k[q>>2]|0)+20|0;if(k[(k[q>>2]|0)+4>>2]&2048|0){d=uw(a,k[b>>2]|0,k[m>>2]|0)|0;k[(k[r>>2]|0)+20>>2]=d;break}else{d=mx(a,k[b>>2]|0,k[m>>2]|0)|0;k[(k[r>>2]|0)+20>>2]=d;break}}while(0);a=k[q>>2]|0;if(!(k[(k[r>>2]|0)+4>>2]&24576)){if(k[a+4>>2]&8404992|0){r=k[r>>2]|0;u=s;return r|0}if((l[k[r>>2]>>0]|0|0)==159){a=k[(k[q>>2]|0)+12>>2]|0;b=k[r>>2]|0}else{a=ex(k[p>>2]|0,k[(k[q>>2]|0)+12>>2]|0,0)|0;b=k[r>>2]|0}k[b+12>>2]=a;q=ex(k[p>>2]|0,k[(k[q>>2]|0)+16>>2]|0,0)|0;k[(k[r>>2]|0)+16>>2]=q;r=k[r>>2]|0;u=s;return r|0}m=nx(a,k[m>>2]|0)|0;k[o>>2]=(k[o>>2]|0)+m;if(!(k[(k[r>>2]|0)+4>>2]&8404992)){if(k[(k[q>>2]|0)+12>>2]|0)a=ix(k[p>>2]|0,k[(k[q>>2]|0)+12>>2]|0,1,o)|0;else a=0;k[(k[r>>2]|0)+12>>2]=a;if(k[(k[q>>2]|0)+16>>2]|0)a=ix(k[p>>2]|0,k[(k[q>>2]|0)+16>>2]|0,1,o)|0;else a=0;k[(k[r>>2]|0)+16>>2]=a}if(!(k[n>>2]|0)){r=k[r>>2]|0;u=s;return r|0}k[k[n>>2]>>2]=k[o>>2];r=k[r>>2]|0;u=s;return r|0}function jx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[c>>2]|0)){e=k[e>>2]|0;u=f;return e|0}b=nx(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if(!(k[d>>2]&1)){e=k[e>>2]|0;u=f;return e|0}b=jx(k[(k[c>>2]|0)+12>>2]|0,k[d>>2]|0)|0;d=b+(jx(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0)|0)|0;k[e>>2]=(k[e>>2]|0)+d;e=k[e>>2]|0;u=f;return e|0}function kx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;do if(!(k[f>>2]|0))k[d>>2]=48;else{if((k[(k[c>>2]|0)+12>>2]|0)==0?(k[(k[c>>2]|0)+20>>2]|0)==0:0){k[d>>2]=16396;break}k[d>>2]=8220}while(0);u=e;return k[d>>2]|0}function lx(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;do if(!(k[(k[c>>2]|0)+4>>2]&16384|0))if(k[(k[c>>2]|0)+4>>2]&8192|0){k[b>>2]=28;break}else{k[b>>2]=48;break}else k[b>>2]=12;while(0);u=d;return k[b>>2]|0}function mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;d=p+4|0;e=p;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;if(!(k[h>>2]|0)){k[f>>2]=0;o=k[f>>2]|0;u=p;return o|0}c=Od(k[g>>2]|0,8,0)|0;k[m>>2]=c;if(!(k[m>>2]|0)){k[f>>2]=0;o=k[f>>2]|0;u=p;return o|0}c=k[k[h>>2]>>2]|0;k[d>>2]=c;k[k[m>>2]>>2]=c;a:do if(!(k[j>>2]&1)){k[d>>2]=1;while(1){if((k[d>>2]|0)>=(k[k[h>>2]>>2]|0))break a;k[d>>2]=(k[d>>2]|0)+(k[d>>2]|0)}}while(0);c=Od(k[g>>2]|0,(k[d>>2]|0)*20|0,0)|0;k[n>>2]=c;k[(k[m>>2]|0)+4>>2]=c;if(!(k[n>>2]|0)){fe(k[g>>2]|0,k[m>>2]|0);k[f>>2]=0;o=k[f>>2]|0;u=p;return o|0}k[o>>2]=k[(k[h>>2]|0)+4>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[h>>2]>>2]|0))break;k[e>>2]=k[k[o>>2]>>2];c=ex(k[g>>2]|0,k[e>>2]|0,k[j>>2]|0)|0;k[k[n>>2]>>2]=c;c=fp(k[g>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[n>>2]|0)+4>>2]=c;c=fp(k[g>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[(k[n>>2]|0)+8>>2]=c;i[(k[n>>2]|0)+12>>0]=i[(k[o>>2]|0)+12>>0]|0;c=(k[n>>2]|0)+13|0;i[c>>0]=i[c>>0]&-2;c=(k[n>>2]|0)+13|0;i[c>>0]=i[c>>0]&-3|((l[(k[o>>2]|0)+13>>0]|0)>>>1&1)<<1&255;k[(k[n>>2]|0)+16>>2]=k[(k[o>>2]|0)+16>>2];k[d>>2]=(k[d>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+20;k[o>>2]=(k[o>>2]|0)+20}k[f>>2]=k[m>>2];o=k[f>>2]|0;u=p;return o|0}function nx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;b=(kx(k[c>>2]|0,k[f>>2]|0)|0)&4095;k[d>>2]=b;if((k[(k[c>>2]|0)+4>>2]&1024|0)==0?k[(k[c>>2]|0)+8>>2]|0:0){f=(wd(k[(k[c>>2]|0)+8>>2]|0)|0)+1|0;k[d>>2]=(k[d>>2]|0)+f}u=e;return (k[d>>2]|0)+7&-8|0}function ox(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;switch(k[d>>2]|0){case 116:{k[b>>2]=28865;break}case 118:{k[b>>2]=28875;break}case 117:{k[b>>2]=28885;break}default:k[b>>2]=28892}u=c;return k[b>>2]|0}function px(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;g=s;p=s+36|0;i=s+32|0;f=s+28|0;n=s+24|0;q=s+20|0;r=s+16|0;e=s+12|0;o=s+8|0;h=s+4|0;k[i>>2]=a;k[f>>2]=b;k[n>>2]=c;k[q>>2]=d;k[e>>2]=k[k[i>>2]>>2];if(k[n>>2]|0?(l[(k[k[i>>2]>>2]|0)+69>>0]|0)==0:0){if((k[k[n>>2]>>2]|0)>(k[(k[e>>2]|0)+96+8>>2]|0)){r=k[i>>2]|0;k[g>>2]=k[q>>2];Cl(r,28898,g);k[p>>2]=1;r=k[p>>2]|0;u=s;return r|0}k[o>>2]=k[k[f>>2]>>2];k[r>>2]=0;k[h>>2]=k[(k[n>>2]|0)+4>>2];while(1){if((k[r>>2]|0)>=(k[k[n>>2]>>2]|0)){a=13;break}if(j[(k[h>>2]|0)+16>>1]|0){b=k[i>>2]|0;if((m[(k[h>>2]|0)+16>>1]|0)>(k[k[o>>2]>>2]|0)){a=10;break}qx(b,k[o>>2]|0,(m[(k[h>>2]|0)+16>>1]|0)-1|0,k[k[h>>2]>>2]|0,k[q>>2]|0,0)}k[r>>2]=(k[r>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+20}if((a|0)==10){cx(b,k[q>>2]|0,(k[r>>2]|0)+1|0,k[k[o>>2]>>2]|0);k[p>>2]=1;r=k[p>>2]|0;u=s;return r|0}else if((a|0)==13){k[p>>2]=0;r=k[p>>2]|0;u=s;return r|0}}k[p>>2]=0;r=k[p>>2]|0;u=s;return r|0}function qx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=u;u=u+48|0;j=p+32|0;s=p+28|0;r=p+24|0;o=p+20|0;g=p+16|0;h=p+12|0;q=p+8|0;m=p+4|0;n=p;k[j>>2]=a;k[s>>2]=b;k[r>>2]=c;k[o>>2]=d;k[g>>2]=e;k[h>>2]=f;k[q>>2]=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[r>>2]|0)*20|0)>>2];k[n>>2]=k[k[j>>2]>>2];f=ex(k[n>>2]|0,k[q>>2]|0,0)|0;k[m>>2]=f;if(!(k[m>>2]|0)){u=p;return}if((i[k[g>>2]>>0]|0)!=71)rx(k[m>>2]|0,k[h>>2]|0);if((l[k[o>>2]>>0]|0)==53){s=sx(k[j>>2]|0,k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[m>>2]=s}a=(k[m>>2]|0)+4|0;k[a>>2]=k[a>>2]|4194304;a=(k[o>>2]|0)+4|0;k[a>>2]=k[a>>2]|32768;Yk(k[n>>2]|0,k[o>>2]|0);a=k[o>>2]|0;b=k[m>>2]|0;g=a+48|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(g|0));if((k[(k[o>>2]|0)+4>>2]&1024|0)==0?k[(k[o>>2]|0)+8>>2]|0:0){s=fp(k[n>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[(k[o>>2]|0)+8>>2]=s;s=(k[o>>2]|0)+4|0;k[s>>2]=k[s>>2]|65536}fe(k[n>>2]|0,k[m>>2]|0);u=p;return}function rx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+48|0;c=f+32|0;d=f+28|0;e=f;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)<=0){u=f;return};k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+4>>2]=202;k[e+24>>2]=k[d>>2];Uw(e,k[c>>2]|0)|0;u=f;return}function sx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=u;u=u+32|0;g=d+16|0;f=d+12|0;h=d+8|0;e=d;k[g>>2]=a;k[f>>2]=b;k[h>>2]=c;tx(e,k[h>>2]|0);c=gu(k[g>>2]|0,k[f>>2]|0,e,0)|0;u=d;return c|0}function tx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[k[d>>2]>>2]=k[e>>2];b=wd(k[e>>2]|0)|0;k[(k[d>>2]|0)+4>>2]=b;u=c;return}function ux(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0|0)!=153){u=e;return 0}d=(k[d>>2]|0)+38|0;i[d>>0]=(l[d>>0]|0)+(k[(k[c>>2]|0)+24>>2]|0);u=e;return 0}function vx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;f=g;c=g+16|0;h=g+12|0;d=g+8|0;e=g+4|0;k[c>>2]=a;k[h>>2]=b;k[d>>2]=0;k[e>>2]=k[(k[k[c>>2]>>2]|0)+96+12>>2];if((k[h>>2]|0)<=(k[e>>2]|0)){h=k[d>>2]|0;u=g;return h|0}h=k[c>>2]|0;k[f>>2]=k[e>>2];Cl(h,28929,f);k[d>>2]=1;h=k[d>>2]|0;u=g;return h|0}function wx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=u;u=u+176|0;W=X+40|0;V=X+24|0;E=X+8|0;D=X;S=X+164|0;T=X+160|0;C=X+156|0;U=X+152|0;H=X+148|0;I=X+144|0;J=X+140|0;g=X+136|0;h=X+132|0;K=X+128|0;n=X+124|0;o=X+120|0;L=X+116|0;p=X+112|0;N=X+108|0;O=X+104|0;P=X+100|0;Q=X+96|0;q=X+92|0;r=X+88|0;s=X+84|0;t=X+80|0;v=X+76|0;w=X+72|0;y=X+68|0;z=X+64|0;A=X+60|0;B=X+56|0;G=X+52|0;R=X+48|0;k[T>>2]=a;k[C>>2]=b;k[U>>2]=c;k[H>>2]=d;k[I>>2]=e;k[J>>2]=f;k[K>>2]=0;k[n>>2]=0;k[o>>2]=0;k[L>>2]=k[k[T>>2]>>2];k[N>>2]=0;k[O>>2]=k[I>>2];k[P>>2]=0;k[Q>>2]=0;k[q>>2]=0;k[(k[J>>2]|0)+28>>2]=-1;k[(k[J>>2]|0)+44>>2]=0;a:do if(k[C>>2]|0){if(m[(k[I>>2]|0)+28>>1]&6|0){k[C>>2]=0;break}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[L>>2]|0)+20>>2]|0))break a;if(!(lh(k[(k[(k[L>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2]|0,k[C>>2]|0)|0))break;k[g>>2]=(k[g>>2]|0)+1}k[P>>2]=k[(k[(k[L>>2]|0)+16>>2]|0)+(k[g>>2]<<4)+12>>2]}while(0);b:while(1){if(!(k[I>>2]|0?(k[K>>2]|0)==0:0)){F=84;break}k[t>>2]=k[(k[I>>2]|0)+4>>2];if(k[t>>2]|0){k[g>>2]=0;k[p>>2]=(k[t>>2]|0)+8;while(1){if((k[g>>2]|0)>=(k[k[t>>2]>>2]|0))break;k[q>>2]=k[(k[p>>2]|0)+16>>2];if(k[(k[p>>2]|0)+20>>2]|0?k[(k[(k[p>>2]|0)+20>>2]|0)+8>>2]&2048|0:0){k[v>>2]=0;k[s>>2]=k[k[(k[p>>2]|0)+20>>2]>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[s>>2]>>2]|0))break;if(Ex(k[(k[(k[s>>2]|0)+4>>2]|0)+((k[h>>2]|0)*20|0)+8>>2]|0,k[H>>2]|0,k[U>>2]|0,k[C>>2]|0)|0){k[K>>2]=(k[K>>2]|0)+1;k[n>>2]=2;k[N>>2]=k[p>>2];j[(k[J>>2]|0)+32>>1]=k[h>>2];k[v>>2]=1}k[h>>2]=(k[h>>2]|0)+1}if(!((k[v>>2]|0)!=0|(k[U>>2]|0)==0))F=21}else F=21;c:do if((F|0)==21){F=0;if(k[C>>2]|0?(k[(k[q>>2]|0)+64>>2]|0)!=(k[P>>2]|0):0)break;if(k[U>>2]|0?(k[w>>2]=k[(k[(k[p>>2]|0)+12>>2]|0?(k[p>>2]|0)+12|0:k[q>>2]|0)>>2],lh(k[w>>2]|0,k[U>>2]|0)|0):0)break;f=k[n>>2]|0;k[n>>2]=f+1;if(!f)k[N>>2]=k[p>>2];k[h>>2]=0;k[r>>2]=k[(k[q>>2]|0)+4>>2];while(1){if((k[h>>2]|0)>=(j[(k[q>>2]|0)+34>>1]|0))break c;if(!(lh(k[k[r>>2]>>2]|0,k[H>>2]|0)|0)){if((k[K>>2]|0)!=1)break;if((l[(k[p>>2]|0)+36>>0]&4|0)==0?(Fx(k[(k[p>>2]|0)+52>>2]|0,k[H>>2]|0)|0)==0:0)break}k[h>>2]=(k[h>>2]|0)+1;k[r>>2]=(k[r>>2]|0)+16}k[K>>2]=(k[K>>2]|0)+1;k[N>>2]=k[p>>2];if((k[h>>2]|0)==(j[(k[q>>2]|0)+32>>1]|0))a=-1;else a=(k[h>>2]&65535)<<16>>16;j[(k[J>>2]|0)+32>>1]=a}while(0);k[g>>2]=(k[g>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+72}if(k[N>>2]|0){k[(k[J>>2]|0)+28>>2]=k[(k[N>>2]|0)+44>>2];k[(k[J>>2]|0)+44>>2]=k[(k[N>>2]|0)+16>>2];if(l[(k[N>>2]|0)+36>>0]&8|0){f=(k[J>>2]|0)+4|0;k[f>>2]=k[f>>2]|1048576}k[P>>2]=k[(k[(k[J>>2]|0)+44>>2]|0)+64>>2]}}if((k[C>>2]|0)==0&(k[U>>2]|0)!=0&(k[n>>2]|0)==0?k[(k[T>>2]|0)+128>>2]|0:0){k[y>>2]=l[(k[T>>2]|0)+148>>0];if((k[y>>2]|0)!=109?(lh(29356,k[U>>2]|0)|0)==0:0){k[(k[J>>2]|0)+28>>2]=1;k[q>>2]=k[(k[T>>2]|0)+128>>2]}else F=47;do if((F|0)==47){F=0;if((k[y>>2]|0)!=108?(lh(29360,k[U>>2]|0)|0)==0:0){k[(k[J>>2]|0)+28>>2]=0;k[q>>2]=k[(k[T>>2]|0)+128>>2];break}k[q>>2]=0}while(0);if(k[q>>2]|0){k[P>>2]=k[(k[q>>2]|0)+64>>2];k[n>>2]=(k[n>>2]|0)+1;k[z>>2]=0;k[r>>2]=k[(k[q>>2]|0)+4>>2];while(1){if((k[z>>2]|0)>=(j[(k[q>>2]|0)+34>>1]|0))break;f=(lh(k[k[r>>2]>>2]|0,k[H>>2]|0)|0)==0;x=k[z>>2]|0;if(f){F=55;break}k[z>>2]=x+1;k[r>>2]=(k[r>>2]|0)+16}if((F|0)==55?(F=0,(x|0)==(j[(k[q>>2]|0)+32>>1]|0)):0)k[z>>2]=-1;if(((k[z>>2]|0)>=(j[(k[q>>2]|0)+34>>1]|0)?Gx(k[H>>2]|0)|0:0)?(l[(k[q>>2]|0)+42>>0]&64|0)==0:0)k[z>>2]=-1;if((k[z>>2]|0)<(j[(k[q>>2]|0)+34>>1]|0)){k[K>>2]=(k[K>>2]|0)+1;a=k[J>>2]|0;if((k[z>>2]|0)<0)i[a+1>>0]=68;else{f=(k[a+28>>2]|0)==0?(k[T>>2]|0)+140|0:(k[T>>2]|0)+144|0;k[f>>2]=k[f>>2]|((k[z>>2]|0)>=32?-1:1<>2])}j[(k[J>>2]|0)+32>>1]=k[z>>2];k[(k[J>>2]|0)+44>>2]=k[q>>2];k[Q>>2]=1}}}if((((k[K>>2]|0)==0&(k[n>>2]|0)==1&(k[N>>2]|0)!=0?(m[(k[I>>2]|0)+28>>1]&32|0)==0:0)?Gx(k[H>>2]|0)|0:0)?(l[(k[(k[N>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){k[K>>2]=1;j[(k[J>>2]|0)+32>>1]=-1;i[(k[J>>2]|0)+1>>0]=68}f=k[(k[I>>2]|0)+8>>2]|0;k[s>>2]=f;d:do if((f|0)!=0&(k[U>>2]|0)==0&(k[K>>2]|0)==0){k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[s>>2]>>2]|0))break d;k[A>>2]=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[h>>2]|0)*20|0)+4>>2];if(k[A>>2]|0?(lh(k[A>>2]|0,k[H>>2]|0)|0)==0:0){F=77;break b}k[h>>2]=(k[h>>2]|0)+1}}while(0);if(k[K>>2]|0)continue;k[I>>2]=k[(k[I>>2]|0)+16>>2];k[o>>2]=(k[o>>2]|0)+1}if((F|0)==77){k[B>>2]=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[h>>2]|0)*20|0)>>2];if((m[(k[I>>2]|0)+28>>1]&1|0)==0?k[(k[B>>2]|0)+4>>2]&2|0:0){W=k[T>>2]|0;k[D>>2]=k[A>>2];Cl(W,29364,D);k[S>>2]=2;W=k[S>>2]|0;u=X;return W|0}qx(k[T>>2]|0,k[s>>2]|0,k[h>>2]|0,k[J>>2]|0,55752,k[o>>2]|0);k[K>>2]=1;k[N>>2]=0}else if((F|0)==84){if((k[K>>2]|0)==0&(k[U>>2]|0)==0?k[(k[J>>2]|0)+4>>2]&64|0:0){i[k[J>>2]>>0]=97;k[(k[J>>2]|0)+44>>2]=0;k[S>>2]=1;W=k[S>>2]|0;u=X;return W|0}if((k[K>>2]|0)!=1){k[G>>2]=(k[K>>2]|0)==0?29395:29410;do if(!(k[C>>2]|0)){b=k[T>>2]|0;a=k[G>>2]|0;if(k[U>>2]|0){U=k[U>>2]|0;W=k[H>>2]|0;k[V>>2]=a;k[V+4>>2]=U;k[V+8>>2]=W;Cl(b,26727,V);break}else{V=k[H>>2]|0;k[W>>2]=a;k[W+4>>2]=V;Cl(b,26737,W);break}}else{W=k[T>>2]|0;F=k[C>>2]|0;U=k[U>>2]|0;V=k[H>>2]|0;k[E>>2]=k[G>>2];k[E+4>>2]=F;k[E+8>>2]=U;k[E+12>>2]=V;Cl(W,29432,E)}while(0);i[(k[T>>2]|0)+17>>0]=1;W=(k[O>>2]|0)+24|0;k[W>>2]=(k[W>>2]|0)+1}if(k[N>>2]|0?(j[(k[J>>2]|0)+32>>1]|0)>=0:0){U=j[(k[J>>2]|0)+32>>1]|0;k[R>>2]=U;k[R>>2]=(k[R>>2]|0)>=64?63:U;U=t0(1,0,k[R>>2]|0)|0;W=(k[N>>2]|0)+56|0;R=W;V=k[R+4>>2]|M;k[W>>2]=k[R>>2]|U;k[W+4>>2]=V}Yk(k[L>>2]|0,k[(k[J>>2]|0)+12>>2]|0);k[(k[J>>2]|0)+12>>2]=0;Yk(k[L>>2]|0,k[(k[J>>2]|0)+16>>2]|0);k[(k[J>>2]|0)+16>>2]=0;i[k[J>>2]>>0]=k[Q>>2]|0?88:152}if((k[K>>2]|0)!=1){k[S>>2]=2;W=k[S>>2]|0;u=X;return W|0}if(!(k[(k[J>>2]|0)+4>>2]&4194304))Hx(k[T>>2]|0,k[J>>2]|0,k[P>>2]|0,k[(k[I>>2]|0)+4>>2]|0);while(1){W=(k[O>>2]|0)+20|0;k[W>>2]=(k[W>>2]|0)+1;if((k[O>>2]|0)==(k[I>>2]|0))break;k[O>>2]=k[(k[O>>2]|0)+16>>2]}k[S>>2]=1;W=k[S>>2]|0;u=X;return W|0}function xx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;i=j;e=j+24|0;f=j+20|0;g=j+16|0;l=j+12|0;h=j+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=d;if(!((m[(k[f>>2]|0)+28>>1]|0)&k[l>>2])){u=j;return}k[h>>2]=29272;if(!((m[(k[f>>2]|0)+28>>1]|0)&32|0)){if((m[(k[f>>2]|0)+28>>1]|0)&4|0)k[h>>2]=29318}else k[h>>2]=29300;l=k[e>>2]|0;h=k[h>>2]|0;k[i>>2]=k[g>>2];k[i+4>>2]=h;Cl(l,29336,i);u=j;return}function yx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+64|0;s=y+44|0;t=y+40|0;v=y+36|0;w=y+32|0;x=y+49|0;f=y+48|0;g=y+28|0;h=y+24|0;m=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y;k[t>>2]=a;k[v>>2]=b;k[w>>2]=c;i[x>>0]=d;i[f>>0]=e;k[h>>2]=0;k[m>>2]=0;e=wd(k[v>>2]|0)|0;k[o>>2]=e;e=rv((k[t>>2]|0)+348|0,k[v>>2]|0)|0;k[g>>2]=e;while(1){if(!(k[g>>2]|0))break;e=Dx(k[g>>2]|0,k[w>>2]|0,i[x>>0]|0)|0;k[p>>2]=e;if((k[p>>2]|0)>(k[m>>2]|0)){k[h>>2]=k[g>>2];k[m>>2]=k[p>>2]}k[g>>2]=k[(k[g>>2]|0)+8>>2]}a:do if(!(i[f>>0]|0)){if(k[h>>2]|0?(k[(k[t>>2]|0)+24>>2]&2097152|0)==0:0)break;k[m>>2]=0;k[n>>2]=((l[20458+(l[k[v>>2]>>0]|0)>>0]|0)+(k[o>>2]|0)|0)%23|0;e=kh(k[n>>2]|0,k[v>>2]|0)|0;k[g>>2]=e;while(1){if(!(k[g>>2]|0))break a;e=Dx(k[g>>2]|0,k[w>>2]|0,i[x>>0]|0)|0;k[q>>2]=e;if((k[q>>2]|0)>(k[m>>2]|0)){k[h>>2]=k[g>>2];k[m>>2]=k[q>>2]}k[g>>2]=k[(k[g>>2]|0)+8>>2]}}while(0);do if((l[f>>0]|0)!=0&(k[m>>2]|0)<6?(e=im(k[t>>2]|0,28+(k[o>>2]|0)+1|0,0)|0,k[h>>2]=e,e|0):0){k[(k[h>>2]|0)+20>>2]=(k[h>>2]|0)+28;i[k[h>>2]>>0]=k[w>>2];j[(k[h>>2]|0)+2>>1]=l[x>>0]|0;r0((k[h>>2]|0)+28|0,k[v>>2]|0,(k[o>>2]|0)+1|0)|0;x=Pk((k[t>>2]|0)+348|0,k[(k[h>>2]|0)+20>>2]|0,k[h>>2]|0)|0;k[r>>2]=x;if((k[r>>2]|0)!=(k[h>>2]|0)){k[(k[h>>2]|0)+8>>2]=k[r>>2];break}fe(k[t>>2]|0,k[h>>2]|0);Yd(k[t>>2]|0);k[s>>2]=0;x=k[s>>2]|0;u=y;return x|0}while(0);do if(k[h>>2]|0){if((k[(k[h>>2]|0)+12>>2]|0)==0?(l[f>>0]|0)==0:0)break;k[s>>2]=k[h>>2];x=k[s>>2]|0;u=y;return x|0}while(0);k[s>>2]=0;x=k[s>>2]|0;u=y;return x|0}function zx(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+12|0;c=e+8|0;d=e;k[c>>2]=a;p[d>>3]=-1.0;if((l[k[c>>2]>>0]|0|0)!=132){k[b>>2]=-1;d=k[b>>2]|0;u=e;return d|0}a=k[(k[c>>2]|0)+8>>2]|0;Ti(a,d,wd(k[(k[c>>2]|0)+8>>2]|0)|0,1)|0;if(+p[d>>3]>1.0){k[b>>2]=-1;d=k[b>>2]|0;u=e;return d|0}else{k[b>>2]=~~(+p[d>>3]*134217728.0);d=k[b>>2]|0;u=e;return d|0}return 0}function Ax(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=u;u=u+48|0;e=d+44|0;g=d+40|0;f=d+12|0;c=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+4>>2]=203;k[f+24>>2]=c;k[c>>2]=k[g>>2];k[c+4>>2]=0;k[c+8>>2]=0;Tw(f,k[(k[e>>2]|0)+20>>2]|0)|0;if((k[c+4>>2]|0)>0){g=1;g=g&1;u=d;return g|0}g=(k[c+8>>2]|0)==0;g=g&1;u=d;return g|0}function Bx(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+4|0;c=e;d=e+8|0;k[c>>2]=a;i[d>>0]=i[k[c>>2]>>0]|0;if((l[d>>0]|0|0)==157)i[d>>0]=i[(k[c>>2]|0)+38>>0]|0;if((l[d>>0]|0|0)==158){k[b>>2]=k[k[(k[c>>2]|0)+20>>2]>>2];d=k[b>>2]|0;u=e;return d|0}if((l[d>>0]|0|0)==119){k[b>>2]=k[k[k[(k[c>>2]|0)+20>>2]>>2]>>2];d=k[b>>2]|0;u=e;return d|0}else{k[b>>2]=1;d=k[b>>2]|0;u=e;return d|0}return 0}function Cx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0|0)!=152?(l[k[d>>2]>>0]|0|0)!=154:0){u=i;return 0}k[f>>2]=k[(k[c>>2]|0)+24>>2];k[g>>2]=k[k[f>>2]>>2];if(k[g>>2]|0)a=k[k[g>>2]>>2]|0;else a=0;k[h>>2]=a;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[h>>2]|0))break;if((k[(k[d>>2]|0)+28>>2]|0)==(k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+44>>2]|0))break;k[e>>2]=(k[e>>2]|0)+1}g=k[f>>2]|0;h=(k[e>>2]|0)<(k[h>>2]|0)?g+4|0:g+8|0;k[h>>2]=(k[h>>2]|0)+1;u=i;return 0}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j+16|0;h=j;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;a=k[e>>2]|0;if((k[f>>2]|0)==-2){k[d>>2]=(k[a+12>>2]|0)==0?0:6;h=k[d>>2]|0;u=j;return h|0}if((i[a>>0]|0)!=(k[f>>2]|0)?(i[k[e>>2]>>0]|0)>=0:0){k[d>>2]=0;h=k[d>>2]|0;u=j;return h|0}if((i[k[e>>2]>>0]|0)==(k[f>>2]|0))k[h>>2]=4;else k[h>>2]=1;if((l[g>>0]|0)!=(m[(k[e>>2]|0)+2>>1]&3|0)){if(l[g>>0]&m[(k[e>>2]|0)+2>>1]&2|0)k[h>>2]=(k[h>>2]|0)+1}else k[h>>2]=(k[h>>2]|0)+2;k[d>>2]=k[h>>2];h=k[d>>2]|0;u=j;return h|0}function Ex(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0)==46)break;k[l>>2]=(k[l>>2]|0)+1}do if(k[j>>2]|0){if((vd(k[f>>2]|0,k[j>>2]|0,k[l>>2]|0)|0)==0?(i[(k[j>>2]|0)+(k[l>>2]|0)>>0]|0)==0:0)break;k[e>>2]=0;l=k[e>>2]|0;u=m;return l|0}while(0);k[f>>2]=(k[f>>2]|0)+((k[l>>2]|0)+1);k[l>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0)==46)break;k[l>>2]=(k[l>>2]|0)+1}do if(k[h>>2]|0){if((vd(k[f>>2]|0,k[h>>2]|0,k[l>>2]|0)|0)==0?(i[(k[h>>2]|0)+(k[l>>2]|0)>>0]|0)==0:0)break;k[e>>2]=0;l=k[e>>2]|0;u=m;return l|0}while(0);k[f>>2]=(k[f>>2]|0)+((k[l>>2]|0)+1);if(k[g>>2]|0?lh(k[f>>2]|0,k[g>>2]|0)|0:0){k[e>>2]=0;l=k[e>>2]|0;u=m;return l|0}k[e>>2]=1;l=k[e>>2]|0;u=m;return l|0}function Fx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a:do if(k[d>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0))break a;if(!(lh(k[(k[k[d>>2]>>2]|0)+(k[f>>2]<<3)>>2]|0,k[e>>2]|0)|0))break;k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=1;f=k[c>>2]|0;u=g;return f|0}while(0);k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}function Gx(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;do if(lh(k[c>>2]|0,29514)|0){if(!(lh(k[c>>2]|0,29445)|0)){k[b>>2]=1;break}if(!(lh(k[c>>2]|0,29522)|0)){k[b>>2]=1;break}else{k[b>>2]=0;break}}else k[b>>2]=1;while(0);u=d;return k[b>>2]|0}function Hx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+48|0;o=r+36|0;p=r+32|0;f=r+28|0;g=r+24|0;s=r+20|0;q=r+16|0;h=r+12|0;e=r+8|0;m=r+4|0;n=r;k[o>>2]=a;k[p>>2]=b;k[f>>2]=c;k[g>>2]=d;k[s>>2]=k[k[o>>2]>>2];k[q>>2]=0;if(!(k[(k[s>>2]|0)+296>>2]|0)){u=r;return}s=Ru(k[k[o>>2]>>2]|0,k[f>>2]|0)|0;k[m>>2]=s;if((k[m>>2]|0)<0){u=r;return}a:do if((l[k[p>>2]>>0]|0)==88)k[q>>2]=k[(k[o>>2]|0)+128>>2];else{k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[g>>2]>>2]|0))break a;if((k[(k[p>>2]|0)+28>>2]|0)==(k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+44>>2]|0))break;k[e>>2]=(k[e>>2]|0)+1}k[q>>2]=k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+16>>2]}while(0);k[n>>2]=j[(k[p>>2]|0)+32>>1];if(!(k[q>>2]|0)){u=r;return}a=k[q>>2]|0;do if((k[n>>2]|0)<0)if((j[a+32>>1]|0)>=0){k[h>>2]=k[(k[(k[q>>2]|0)+4>>2]|0)+(j[(k[q>>2]|0)+32>>1]<<4)>>2];break}else{k[h>>2]=29445;break}else k[h>>2]=k[(k[a+4>>2]|0)+(k[n>>2]<<4)>>2];while(0);if(2!=(Ix(k[o>>2]|0,k[k[q>>2]>>2]|0,k[h>>2]|0,k[m>>2]|0)|0)){u=r;return}i[k[p>>2]>>0]=101;u=r;return}function Ix(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+64|0;p=q+16|0;o=q;g=q+52|0;h=q+48|0;j=q+44|0;l=q+40|0;m=q+36|0;n=q+32|0;e=q+28|0;f=q+24|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=k[k[h>>2]>>2];k[e>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+(k[m>>2]<<4)>>2];if(i[(k[n>>2]|0)+148+5>>0]|0){k[g>>2]=0;p=k[g>>2]|0;u=q;return p|0}d=Qb[k[(k[n>>2]|0)+296>>2]&255](k[(k[n>>2]|0)+300>>2]|0,20,k[j>>2]|0,k[l>>2]|0,k[e>>2]|0,k[(k[h>>2]|0)+448>>2]|0)|0;k[f>>2]=d;if((k[f>>2]|0)!=1){if((k[f>>2]|0)!=2&(k[f>>2]|0)!=0)Tu(k[h>>2]|0)}else{a=k[h>>2]|0;if(k[m>>2]|0?1:(k[(k[n>>2]|0)+20>>2]|0)>2){n=k[j>>2]|0;p=k[l>>2]|0;k[o>>2]=k[e>>2];k[o+4>>2]=n;k[o+8>>2]=p;Cl(a,29451,o)}else{o=k[l>>2]|0;k[p>>2]=k[j>>2];k[p+4>>2]=o;Cl(a,29484,p)}k[(k[h>>2]|0)+12>>2]=23}k[g>>2]=k[f>>2];p=k[g>>2]|0;u=q;return p|0}function Jx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;m=q+44|0;d=q+40|0;n=q+36|0;e=q+32|0;o=q+28|0;f=q+24|0;p=q+20|0;g=q+16|0;h=q+12|0;j=q+8|0;c=q;k[d>>2]=a;k[n>>2]=b;if(!(k[(k[n>>2]|0)+48>>2]|0)){k[m>>2]=0;p=k[m>>2]|0;u=q;return p|0}if(!(k[(k[n>>2]|0)+44>>2]|0)){k[m>>2]=0;p=k[m>>2]|0;u=q;return p|0}k[f>>2]=k[n>>2];while(1){if(!(k[f>>2]|0))break;if((l[(k[f>>2]|0)+4>>0]|0|0)!=116?(l[(k[f>>2]|0)+4>>0]|0|0)!=119:0)break;k[f>>2]=k[(k[f>>2]|0)+48>>2]}if(!(k[f>>2]|0)){k[m>>2]=0;p=k[m>>2]|0;u=q;return p|0}k[g>>2]=k[(k[(k[n>>2]|0)+44>>2]|0)+4>>2];k[e>>2]=(k[k[(k[n>>2]|0)+44>>2]>>2]|0)-1;while(1){if((k[e>>2]|0)<0)break;if(k[(k[(k[g>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)+4>>2]&256|0)break;k[e>>2]=(k[e>>2]|0)+-1}if((k[e>>2]|0)<0){k[m>>2]=0;p=k[m>>2]|0;u=q;return p|0}k[j>>2]=k[k[d>>2]>>2];k[p>>2]=k[k[j>>2]>>2];g=im(k[p>>2]|0,68,0)|0;k[o>>2]=g;if(!(k[o>>2]|0)){k[m>>2]=2;p=k[m>>2]|0;u=q;return p|0};k[c>>2]=0;k[c+4>>2]=0;g=Mt(k[j>>2]|0,0,0,0,c,k[o>>2]|0,0,0)|0;k[h>>2]=g;if(!(k[h>>2]|0)){k[m>>2]=2;p=k[m>>2]|0;u=q;return p|0}else{a=k[o>>2]|0;b=k[n>>2]|0;c=a+68|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));k[(k[n>>2]|0)+28>>2]=k[h>>2];j=k[j>>2]|0;p=Ot(j,0,Rt(k[p>>2]|0,160,0)|0)|0;k[k[n>>2]>>2]=p;i[(k[n>>2]|0)+4>>0]=119;k[(k[n>>2]|0)+32>>2]=0;k[(k[o>>2]|0)+36>>2]=0;k[(k[o>>2]|0)+40>>2]=0;k[(k[o>>2]|0)+44>>2]=0;k[(k[n>>2]|0)+48>>2]=0;k[(k[n>>2]|0)+52>>2]=0;k[(k[n>>2]|0)+64>>2]=0;p=(k[n>>2]|0)+8|0;k[p>>2]=k[p>>2]&-257;p=(k[n>>2]|0)+8|0;k[p>>2]=k[p>>2]|65536;k[(k[(k[o>>2]|0)+48>>2]|0)+52>>2]=k[o>>2];k[(k[o>>2]|0)+56>>2]=0;k[(k[o>>2]|0)+60>>2]=0;k[m>>2]=0;p=k[m>>2]|0;u=q;return p|0}return 0}function Kx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=u;u=u+208|0;W=Y+56|0;V=Y+48|0;U=Y+40|0;T=Y+24|0;X=Y+16|0;o=Y+8|0;g=Y;w=Y+196|0;f=Y+192|0;N=Y+188|0;O=Y+184|0;P=Y+180|0;Q=Y+176|0;R=Y+172|0;S=Y+168|0;p=Y+164|0;q=Y+160|0;r=Y+156|0;s=Y+152|0;t=Y+148|0;v=Y+144|0;c=Y+202|0;h=Y+140|0;d=Y+136|0;e=Y+200|0;x=Y+132|0;y=Y+128|0;n=Y+124|0;z=Y+120|0;A=Y+116|0;B=Y+112|0;C=Y+108|0;D=Y+104|0;E=Y+100|0;F=Y+96|0;G=Y+92|0;H=Y+88|0;I=Y+84|0;J=Y+80|0;K=Y+72|0;L=Y+64|0;M=Y+60|0;k[f>>2]=a;k[N>>2]=b;k[O>>2]=k[k[f>>2]>>2];k[r>>2]=k[k[O>>2]>>2];j[c>>1]=k[(k[N>>2]|0)+8>>2];b=(k[N>>2]|0)+8|0;k[b>>2]=k[b>>2]|64;if(i[(k[r>>2]|0)+69>>0]|0){k[w>>2]=2;X=k[w>>2]|0;u=Y;return X|0}if(k[(k[N>>2]|0)+28>>2]|0?(m[c>>1]&64|0)==0:0){k[S>>2]=k[(k[N>>2]|0)+28>>2];k[p>>2]=k[k[N>>2]>>2];if((k[(k[f>>2]|0)+12>>2]|0)==132){b=k[O>>2]|0;c=(Mx(k[N>>2]|0)|0)+64|0;Yt(b,k[c>>2]|0,0)}vw(k[O>>2]|0,k[S>>2]|0);k[P>>2]=0;k[q>>2]=(k[S>>2]|0)+8;a:while(1){if((k[P>>2]|0)>=(k[k[S>>2]>>2]|0)){c=38;break}if(!((l[(k[q>>2]|0)+36+1>>0]|0)>>>5&1)){if(Nx(k[f>>2]|0,k[q>>2]|0)|0){c=12;break}do if(!(k[(k[q>>2]|0)+16>>2]|0)){if(!(k[(k[q>>2]|0)+8>>2]|0)){k[d>>2]=k[(k[q>>2]|0)+20>>2];if(Qw(k[f>>2]|0,k[d>>2]|0)|0){c=16;break a}c=im(k[r>>2]|0,72,0)|0;k[h>>2]=c;k[(k[q>>2]|0)+16>>2]=c;if(!(k[h>>2]|0)){c=18;break a}j[(k[h>>2]|0)+36>>1]=1;c=k[r>>2]|0;k[g>>2]=k[h>>2];c=ek(c,29526,g)|0;k[k[h>>2]>>2]=c;while(1){if(!(k[(k[d>>2]|0)+48>>2]|0))break;k[d>>2]=k[(k[d>>2]|0)+48>>2]}xw(k[O>>2]|0,k[k[d>>2]>>2]|0,(k[h>>2]|0)+34|0,(k[h>>2]|0)+4|0)|0;j[(k[h>>2]|0)+32>>1]=-1;j[(k[h>>2]|0)+38>>1]=200;c=(k[h>>2]|0)+42|0;i[c>>0]=l[c>>0]|2;break}c=kv(k[O>>2]|0,0,k[q>>2]|0)|0;k[h>>2]=c;k[(k[q>>2]|0)+16>>2]=c;if(!(k[h>>2]|0)){c=24;break a}if((m[(k[h>>2]|0)+36>>1]|0)==65535){c=26;break a}c=(k[h>>2]|0)+36|0;j[c>>1]=(j[c>>1]|0)+1<<16>>16;if((l[(k[h>>2]|0)+42>>0]&16|0)==0?Ox(k[O>>2]|0,k[q>>2]|0)|0:0){c=29;break a}if((l[(k[h>>2]|0)+42>>0]&16|0)==0?(k[(k[h>>2]|0)+12>>2]|0)==0:0)break;if(ow(k[O>>2]|0,k[h>>2]|0)|0){c=33;break a}c=uw(k[r>>2]|0,k[(k[h>>2]|0)+12>>2]|0,0)|0;k[(k[q>>2]|0)+20>>2]=c;j[e>>1]=j[(k[h>>2]|0)+34>>1]|0;j[(k[h>>2]|0)+34>>1]=-1;Qw(k[f>>2]|0,k[(k[q>>2]|0)+20>>2]|0)|0;j[(k[h>>2]|0)+34>>1]=j[e>>1]|0}while(0);if(Px(k[O>>2]|0,k[q>>2]|0)|0){c=36;break}}k[P>>2]=(k[P>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+72}if((c|0)==12){k[w>>2]=2;X=k[w>>2]|0;u=Y;return X|0}else if((c|0)==16){k[w>>2]=2;X=k[w>>2]|0;u=Y;return X|0}else if((c|0)==18){k[w>>2]=2;X=k[w>>2]|0;u=Y;return X|0}else if((c|0)==24){k[w>>2]=2;X=k[w>>2]|0;u=Y;return X|0}else if((c|0)==26){X=k[O>>2]|0;k[o>>2]=k[k[h>>2]>>2];Cl(X,29539,o);k[(k[q>>2]|0)+16>>2]=0;k[w>>2]=2;X=k[w>>2]|0;u=Y;return X|0}else if((c|0)==29){k[w>>2]=2;X=k[w>>2]|0;u=Y;return X|0}else if((c|0)==33){k[w>>2]=2;X=k[w>>2]|0;u=Y;return X|0}else if((c|0)==36){k[w>>2]=2;X=k[w>>2]|0;u=Y;return X|0}else if((c|0)==38){if((l[(k[r>>2]|0)+69>>0]|0)==0?(Qx(k[O>>2]|0,k[N>>2]|0)|0)==0:0){k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[k[p>>2]>>2]|0))break;k[s>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+((k[R>>2]|0)*20|0)>>2];if((l[k[s>>2]>>0]|0)==160)break;if((l[k[s>>2]>>0]|0)==122?(l[k[(k[s>>2]|0)+16>>2]>>0]|0)==160:0)break;k[R>>2]=(k[R>>2]|0)+1}if((k[R>>2]|0)<(k[k[p>>2]>>2]|0)){k[x>>2]=k[(k[p>>2]|0)+4>>2];k[y>>2]=0;k[n>>2]=k[(k[k[O>>2]>>2]|0)+24>>2];if(k[n>>2]&4|0)a=(k[n>>2]&64|0)==0;else a=0;k[z>>2]=a&1;k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[k[p>>2]>>2]|0))break;k[s>>2]=k[(k[x>>2]|0)+((k[R>>2]|0)*20|0)>>2];k[t>>2]=k[(k[s>>2]|0)+16>>2];do if((l[k[s>>2]>>0]|0)!=160){if((l[k[s>>2]>>0]|0)==122?(l[k[t>>2]>>0]|0)==160:0){c=58;break}o=Ot(k[O>>2]|0,k[y>>2]|0,k[(k[x>>2]|0)+((k[R>>2]|0)*20|0)>>2]|0)|0;k[y>>2]=o;if(k[y>>2]|0){k[(k[(k[y>>2]|0)+4>>2]|0)+(((k[k[y>>2]>>2]|0)-1|0)*20|0)+4>>2]=k[(k[x>>2]|0)+((k[R>>2]|0)*20|0)+4>>2];k[(k[(k[y>>2]|0)+4>>2]|0)+(((k[k[y>>2]>>2]|0)-1|0)*20|0)+8>>2]=k[(k[x>>2]|0)+((k[R>>2]|0)*20|0)+8>>2];k[(k[x>>2]|0)+((k[R>>2]|0)*20|0)+4>>2]=0;k[(k[x>>2]|0)+((k[R>>2]|0)*20|0)+8>>2]=0}k[(k[x>>2]|0)+((k[R>>2]|0)*20|0)>>2]=0}else c=58;while(0);do if((c|0)==58){c=0;k[A>>2]=0;k[B>>2]=0;if((l[k[s>>2]>>0]|0)==122)k[B>>2]=k[(k[(k[s>>2]|0)+12>>2]|0)+8>>2];k[P>>2]=0;k[q>>2]=(k[S>>2]|0)+8;while(1){if((k[P>>2]|0)>=(k[k[S>>2]>>2]|0))break;k[C>>2]=k[(k[q>>2]|0)+16>>2];k[D>>2]=k[(k[q>>2]|0)+20>>2];k[E>>2]=k[(k[q>>2]|0)+12>>2];k[F>>2]=0;if(!(k[E>>2]|0))k[E>>2]=k[k[C>>2]>>2];if(i[(k[r>>2]|0)+69>>0]|0)break;if((k[D>>2]|0)!=0?(k[(k[D>>2]|0)+8>>2]&2048|0)!=0:0)c=72;else c=67;do if((c|0)==67){c=0;k[D>>2]=0;if(k[B>>2]|0?lh(k[B>>2]|0,k[E>>2]|0)|0:0)break;o=Ru(k[r>>2]|0,k[(k[C>>2]|0)+64>>2]|0)|0;k[G>>2]=o;if((k[G>>2]|0)>=0)a=k[(k[(k[r>>2]|0)+16>>2]|0)+(k[G>>2]<<4)>>2]|0;else a=29578;k[F>>2]=a;c=72}while(0);b:do if((c|0)==72){c=0;k[Q>>2]=0;while(1){if((k[Q>>2]|0)>=(j[(k[C>>2]|0)+34>>1]|0))break b;k[H>>2]=k[(k[(k[C>>2]|0)+4>>2]|0)+(k[Q>>2]<<4)>>2];if(!((k[B>>2]|0)!=0&(k[D>>2]|0)!=0?!(Ex(k[(k[(k[k[D>>2]>>2]|0)+4>>2]|0)+((k[Q>>2]|0)*20|0)+8>>2]|0,0,k[B>>2]|0,0)|0):0))c=76;do if((c|0)==76){c=0;if((k[(k[N>>2]|0)+8>>2]&131072|0)==0?l[(k[(k[C>>2]|0)+4>>2]|0)+(k[Q>>2]<<4)+15>>0]&2|0:0)break;k[A>>2]=1;if((k[P>>2]|0)>0&(k[B>>2]|0)==0){if(l[(k[q>>2]|0)+36>>0]&4|0?Rx(k[S>>2]|0,k[P>>2]|0,k[H>>2]|0,0,0)|0:0)break;if((Sx(k[(k[q>>2]|0)+52>>2]|0,k[H>>2]|0)|0)>=0)break}o=Rt(k[r>>2]|0,55,k[H>>2]|0)|0;k[t>>2]=o;k[I>>2]=k[H>>2];k[J>>2]=0;do if(k[z>>2]|0)c=84;else{if((k[k[S>>2]>>2]|0)>1){c=84;break}k[v>>2]=k[t>>2]}while(0);do if((c|0)==84){c=0;o=Rt(k[r>>2]|0,55,k[E>>2]|0)|0;k[L>>2]=o;o=zt(k[O>>2]|0,122,k[L>>2]|0,k[t>>2]|0,0)|0;k[v>>2]=o;if(k[F>>2]|0){o=Rt(k[r>>2]|0,55,k[F>>2]|0)|0;k[L>>2]=o;o=zt(k[O>>2]|0,122,k[L>>2]|0,k[v>>2]|0,0)|0;k[v>>2]=o}if(!(k[z>>2]|0))break;o=k[r>>2]|0;n=k[H>>2]|0;k[X>>2]=k[E>>2];k[X+4>>2]=n;o=ek(o,29580,X)|0;k[I>>2]=o;k[J>>2]=k[I>>2]}while(0);o=Ot(k[O>>2]|0,k[y>>2]|0,k[v>>2]|0)|0;k[y>>2]=o;tx(K,k[I>>2]|0);Pt(k[O>>2]|0,k[y>>2]|0,K,0);do if(k[y>>2]|0){if(!(k[(k[N>>2]|0)+8>>2]&2048))break;k[M>>2]=(k[(k[y>>2]|0)+4>>2]|0)+(((k[k[y>>2]>>2]|0)-1|0)*20|0);a=k[r>>2]|0;if(k[D>>2]|0){a=fp(a,k[(k[(k[k[D>>2]>>2]|0)+4>>2]|0)+((k[Q>>2]|0)*20|0)+8>>2]|0)|0;b=k[M>>2]|0}else{o=k[E>>2]|0;b=k[I>>2]|0;k[T>>2]=k[F>>2];k[T+4>>2]=o;k[T+8>>2]=b;a=ek(a,29586,T)|0;b=k[M>>2]|0}k[b+8>>2]=a;o=(k[M>>2]|0)+13|0;i[o>>0]=i[o>>0]&-3|2}while(0);fe(k[r>>2]|0,k[J>>2]|0)}while(0);k[Q>>2]=(k[Q>>2]|0)+1}}while(0);k[P>>2]=(k[P>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+72}if(!(k[A>>2]|0)){a=k[O>>2]|0;if(k[B>>2]|0){k[U>>2]=k[B>>2];Cl(a,29595,U);break}else{Cl(a,29613,V);break}}}while(0);k[R>>2]=(k[R>>2]|0)+1}Uk(k[r>>2]|0,k[p>>2]|0);k[k[N>>2]>>2]=k[y>>2]}if(k[k[N>>2]>>2]|0?(k[k[k[N>>2]>>2]>>2]|0)>(k[(k[r>>2]|0)+96+8>>2]|0):0){Cl(k[O>>2]|0,29633,W);k[w>>2]=2;X=k[w>>2]|0;u=Y;return X|0}k[w>>2]=0;X=k[w>>2]|0;u=Y;return X|0}k[w>>2]=2;X=k[w>>2]|0;u=Y;return X|0}}k[w>>2]=1;X=k[w>>2]|0;u=Y;return X|0}function Lx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=u;u=u+16|0;g=e+12|0;f=e+8|0;c=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[c>>2]=k[k[g>>2]>>2];b=(Mx(k[f>>2]|0)|0)+64|0;k[d>>2]=k[b>>2];if(!(k[d>>2]|0)){u=e;return}k[(k[c>>2]|0)+472>>2]=k[(k[d>>2]|0)+4>>2];u=e;return}function Mx(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+52>>2]|0))break;k[b>>2]=k[a+52>>2]}u=c;return a|0}function Nx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+96|0;A=B+16|0;n=B+8|0;d=B;v=B+88|0;w=B+84|0;h=B+80|0;x=B+76|0;c=B+72|0;y=B+68|0;o=B+64|0;z=B+60|0;p=B+56|0;q=B+52|0;r=B+48|0;s=B+44|0;t=B+40|0;e=B+36|0;f=B+32|0;g=B+28|0;k[w>>2]=a;k[h>>2]=b;k[x>>2]=k[k[w>>2]>>2];k[c>>2]=k[k[x>>2]>>2];b=dy(k[(k[x>>2]|0)+472>>2]|0,k[h>>2]|0,o)|0;k[y>>2]=b;if(k[y>>2]|0){a=k[x>>2]|0;if(k[(k[y>>2]|0)+12>>2]|0){A=k[(k[y>>2]|0)+12>>2]|0;k[d>>2]=k[k[y>>2]>>2];Cl(a,A,d);k[v>>2]=1;A=k[v>>2]|0;u=B;return A|0}if(Ox(a,k[h>>2]|0)|0){k[v>>2]=1;A=k[v>>2]|0;u=B;return A|0}d=im(k[c>>2]|0,72,0)|0;k[z>>2]=d;k[(k[h>>2]|0)+16>>2]=d;if(!(k[z>>2]|0)){k[v>>2]=2;A=k[v>>2]|0;u=B;return A|0}j[(k[z>>2]|0)+36>>1]=1;d=fp(k[c>>2]|0,k[k[y>>2]>>2]|0)|0;k[k[z>>2]>>2]=d;j[(k[z>>2]|0)+32>>1]=-1;j[(k[z>>2]|0)+38>>1]=200;d=(k[z>>2]|0)+42|0;i[d>>0]=l[d>>0]|66;d=uw(k[c>>2]|0,k[(k[y>>2]|0)+8>>2]|0,0)|0;k[(k[h>>2]|0)+20>>2]=d;if(i[(k[c>>2]|0)+69>>0]|0){k[v>>2]=7;A=k[v>>2]|0;u=B;return A|0}k[q>>2]=k[(k[h>>2]|0)+20>>2];if((l[(k[q>>2]|0)+4>>0]|0)==116)a=1;else a=(l[(k[q>>2]|0)+4>>0]|0)==115;k[s>>2]=a&1;a:do if(k[s>>2]|0){k[f>>2]=k[(k[(k[h>>2]|0)+20>>2]|0)+28>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[f>>2]>>2]|0))break a;k[g>>2]=(k[f>>2]|0)+8+((k[e>>2]|0)*72|0);if(((k[(k[g>>2]|0)+4>>2]|0)==0?k[(k[g>>2]|0)+8>>2]|0:0)?0==(lh(k[(k[g>>2]|0)+8>>2]|0,k[k[y>>2]>>2]|0)|0):0){k[(k[g>>2]|0)+16>>2]=k[z>>2];h=(k[g>>2]|0)+36+1|0;i[h>>0]=i[h>>0]&-33|32;h=(k[z>>2]|0)+36|0;j[h>>1]=(j[h>>1]|0)+1<<16>>16;h=(k[q>>2]|0)+8|0;k[h>>2]=k[h>>2]|8192}k[e>>2]=(k[e>>2]|0)+1}}while(0);if((m[(k[z>>2]|0)+36>>1]|0)>2){A=k[x>>2]|0;k[n>>2]=k[k[y>>2]>>2];Cl(A,29874,n);k[v>>2]=1;A=k[v>>2]|0;u=B;return A|0}k[(k[y>>2]|0)+12>>2]=29917;k[t>>2]=k[(k[x>>2]|0)+472>>2];k[(k[x>>2]|0)+472>>2]=k[o>>2];a=k[q>>2]|0;if(k[s>>2]|0)a=k[a+48>>2]|0;Qw(k[w>>2]|0,a)|0;k[(k[x>>2]|0)+472>>2]=k[o>>2];k[r>>2]=k[q>>2];while(1){a=k[r>>2]|0;if(!(k[(k[r>>2]|0)+48>>2]|0))break;k[r>>2]=k[a+48>>2]}k[p>>2]=k[a>>2];if(k[(k[y>>2]|0)+4>>2]|0){if(k[p>>2]|0?(k[k[p>>2]>>2]|0)!=(k[k[(k[y>>2]|0)+4>>2]>>2]|0):0){z=k[x>>2]|0;s=k[k[p>>2]>>2]|0;w=k[k[(k[y>>2]|0)+4>>2]>>2]|0;k[A>>2]=k[k[y>>2]>>2];k[A+4>>2]=s;k[A+8>>2]=w;Cl(z,29940,A);k[(k[x>>2]|0)+472>>2]=k[t>>2];k[v>>2]=1;A=k[v>>2]|0;u=B;return A|0}k[p>>2]=k[(k[y>>2]|0)+4>>2]}xw(k[x>>2]|0,k[p>>2]|0,(k[z>>2]|0)+34|0,(k[z>>2]|0)+4|0)|0;if(k[s>>2]|0){k[(k[y>>2]|0)+12>>2]=k[(k[q>>2]|0)+8>>2]&8192|0?29978:30012;Qw(k[w>>2]|0,k[q>>2]|0)|0}k[(k[y>>2]|0)+12>>2]=0;k[(k[x>>2]|0)+472>>2]=k[t>>2]}k[v>>2]=0;A=k[v>>2]|0;u=B;return A|0}function Ox(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1|0){d=k[d>>2]|0;k[f>>2]=k[(k[e>>2]|0)+8>>2];Cl(d,29851,f);k[c>>2]=1;f=k[c>>2]|0;u=g;return f|0}else{k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}return 0}function Px(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+32|0;j=m;c=m+28|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;k[d>>2]=a;k[e>>2]=b;do if(k[(k[e>>2]|0)+16>>2]|0?(l[(k[e>>2]|0)+36+1>>0]|0)>>>1&1|0:0){k[f>>2]=k[(k[e>>2]|0)+16>>2];k[g>>2]=k[(k[e>>2]|0)+64>>2];k[h>>2]=k[(k[f>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if(!(lh(k[k[h>>2]>>2]|0,k[g>>2]|0)|0))break;k[h>>2]=k[(k[h>>2]|0)+20>>2]}if(k[h>>2]|0){k[(k[e>>2]|0)+68>>2]=k[h>>2];break}h=k[d>>2]|0;k[j>>2]=k[g>>2];k[j+4>>2]=0;Cl(h,29833,j);i[(k[d>>2]|0)+17>>0]=1;k[c>>2]=1;j=k[c>>2]|0;u=m;return j|0}while(0);k[c>>2]=0;j=k[c>>2]|0;u=m;return j|0}function Qx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+96|0;B=C+16|0;A=C+8|0;z=C;x=C+92|0;y=C+88|0;p=C+84|0;q=C+80|0;r=C+76|0;s=C+72|0;t=C+68|0;v=C+64|0;c=C+60|0;d=C+56|0;e=C+52|0;f=C+48|0;g=C+44|0;h=C+40|0;i=C+36|0;w=C+32|0;m=C+28|0;n=C+24|0;o=C+20|0;k[y>>2]=a;k[p>>2]=b;k[q>>2]=k[(k[p>>2]|0)+28>>2];k[t>>2]=(k[q>>2]|0)+8;k[v>>2]=(k[t>>2]|0)+72;k[r>>2]=0;a:while(1){if((k[r>>2]|0)>=((k[k[q>>2]>>2]|0)-1|0)){a=28;break}k[c>>2]=k[(k[t>>2]|0)+16>>2];k[d>>2]=k[(k[v>>2]|0)+16>>2];b:do if(!((k[c>>2]|0)==0|(k[d>>2]|0)==0)){k[e>>2]=(l[(k[v>>2]|0)+36>>0]&32|0)!=0&1;c:do if(l[(k[v>>2]|0)+36>>0]&4|0){if(k[(k[v>>2]|0)+48>>2]|0){a=7;break a}if(k[(k[v>>2]|0)+52>>2]|0){a=7;break a}k[s>>2]=0;while(1){if((k[s>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break c;k[f>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+(k[s>>2]<<4)>>2];if(Rx(k[q>>2]|0,(k[r>>2]|0)+1|0,k[f>>2]|0,g,h)|0)Ux(k[y>>2]|0,k[q>>2]|0,k[g>>2]|0,k[h>>2]|0,(k[r>>2]|0)+1|0,k[s>>2]|0,k[e>>2]|0,(k[p>>2]|0)+32|0);k[s>>2]=(k[s>>2]|0)+1}}while(0);if(k[(k[v>>2]|0)+48>>2]|0?k[(k[v>>2]|0)+52>>2]|0:0){a=15;break a}if(k[(k[v>>2]|0)+48>>2]|0){if(k[e>>2]|0)Vx(k[(k[v>>2]|0)+48>>2]|0,k[(k[v>>2]|0)+44>>2]|0);b=Wx(k[k[y>>2]>>2]|0,k[(k[p>>2]|0)+32>>2]|0,k[(k[v>>2]|0)+48>>2]|0)|0;k[(k[p>>2]|0)+32>>2]=b;k[(k[v>>2]|0)+48>>2]=0}if(k[(k[v>>2]|0)+52>>2]|0){k[i>>2]=k[(k[v>>2]|0)+52>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[(k[i>>2]|0)+4>>2]|0))break b;k[w>>2]=k[(k[k[i>>2]>>2]|0)+(k[s>>2]<<3)>>2];b=Tx(k[d>>2]|0,k[w>>2]|0)|0;k[o>>2]=b;if((k[o>>2]|0)<0){a=25;break a}if(!(Rx(k[q>>2]|0,(k[r>>2]|0)+1|0,k[w>>2]|0,m,n)|0)){a=25;break a}Ux(k[y>>2]|0,k[q>>2]|0,k[m>>2]|0,k[n>>2]|0,(k[r>>2]|0)+1|0,k[o>>2]|0,k[e>>2]|0,(k[p>>2]|0)+32|0);k[s>>2]=(k[s>>2]|0)+1}}}while(0);k[r>>2]=(k[r>>2]|0)+1;k[v>>2]=(k[v>>2]|0)+72;k[t>>2]=(k[t>>2]|0)+72}if((a|0)==7){B=k[y>>2]|0;k[z>>2]=0;Cl(B,29664,z);k[x>>2]=1;B=k[x>>2]|0;u=C;return B|0}else if((a|0)==15){Cl(k[y>>2]|0,29714,A);k[x>>2]=1;B=k[x>>2]|0;u=C;return B|0}else if((a|0)==25){A=k[y>>2]|0;k[B>>2]=k[w>>2];Cl(A,29769,B);k[x>>2]=1;B=k[x>>2]|0;u=C;return B|0}else if((a|0)==28){k[x>>2]=0;B=k[x>>2]|0;u=C;return B|0}return 0}function Rx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;i=p+28|0;j=p+24|0;l=p+20|0;m=p+16|0;n=p+12|0;f=p+8|0;g=p+4|0;h=p;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[f>>2]=e;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[l>>2]|0)){o=8;break}e=Tx(k[(k[j>>2]|0)+8+((k[g>>2]|0)*72|0)+16>>2]|0,k[m>>2]|0)|0;k[h>>2]=e;if((k[h>>2]|0)>=0)break;k[g>>2]=(k[g>>2]|0)+1}if((o|0)==8){k[i>>2]=0;o=k[i>>2]|0;u=p;return o|0}if(k[n>>2]|0){k[k[n>>2]>>2]=k[g>>2];k[k[f>>2]>>2]=k[h>>2]}k[i>>2]=1;o=k[i>>2]|0;u=p;return o|0}function Sx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){k[f>>2]=-1;f=k[f>>2]|0;u=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+4>>2]|0)){a=8;break}a=(lh(k[(k[k[c>>2]>>2]|0)+(k[e>>2]<<3)>>2]|0,k[d>>2]|0)|0)==0;b=k[e>>2]|0;if(a){a=6;break}k[e>>2]=b+1}if((a|0)==6){k[f>>2]=b;f=k[f>>2]|0;u=g;return f|0}else if((a|0)==8){k[f>>2]=-1;f=k[f>>2]|0;u=g;return f|0}return 0}function Tx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(j[(k[c>>2]|0)+34>>1]|0)){a=6;break}a=(lh(k[(k[(k[c>>2]|0)+4>>2]|0)+(k[e>>2]<<4)>>2]|0,k[d>>2]|0)|0)==0;b=k[e>>2]|0;if(a){a=4;break}k[e>>2]=b+1}if((a|0)==4){k[f>>2]=b;f=k[f>>2]|0;u=g;return f|0}else if((a|0)==6){k[f>>2]=-1;f=k[f>>2]|0;u=g;return f|0}return 0}function Ux(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;o=u;u=u+48|0;r=o+44|0;v=o+40|0;x=o+36|0;w=o+32|0;t=o+28|0;s=o+24|0;p=o+20|0;i=o+16|0;l=o+12|0;q=o+8|0;m=o+4|0;n=o;k[r>>2]=a;k[v>>2]=b;k[x>>2]=c;k[w>>2]=d;k[t>>2]=e;k[s>>2]=f;k[p>>2]=g;k[i>>2]=h;k[l>>2]=k[k[r>>2]>>2];h=cy(k[l>>2]|0,k[v>>2]|0,k[x>>2]|0,k[w>>2]|0)|0;k[q>>2]=h;h=cy(k[l>>2]|0,k[v>>2]|0,k[t>>2]|0,k[s>>2]|0)|0;k[m>>2]=h;h=zt(k[r>>2]|0,37,k[q>>2]|0,k[m>>2]|0,0)|0;k[n>>2]=h;if(!((k[n>>2]|0)!=0&(k[p>>2]|0)!=0)){v=k[l>>2]|0;x=k[i>>2]|0;x=k[x>>2]|0;w=k[n>>2]|0;w=Wx(v,x,w)|0;x=k[i>>2]|0;k[x>>2]=w;u=o;return}v=(k[n>>2]|0)+4|0;k[v>>2]=k[v>>2]|1;j[(k[n>>2]|0)+36>>1]=k[(k[m>>2]|0)+28>>2];v=k[l>>2]|0;x=k[i>>2]|0;x=k[x>>2]|0;w=k[n>>2]|0;w=Wx(v,x,w)|0;x=k[i>>2]|0;k[x>>2]=w;u=o;return}function Vx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[c>>2]|0))break;b=(k[c>>2]|0)+4|0;k[b>>2]=k[b>>2]|1;j[(k[c>>2]|0)+36>>1]=k[d>>2];a:do if((l[k[c>>2]>>0]|0|0)==151?k[(k[c>>2]|0)+20>>2]|0:0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[c>>2]|0)+20>>2]>>2]|0))break a;Vx(k[(k[(k[(k[c>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0);k[e>>2]=(k[e>>2]|0)+1}}while(0);Vx(k[(k[c>>2]|0)+12>>2]|0,k[d>>2]|0);k[c>>2]=k[(k[c>>2]|0)+16>>2]}u=f;return}function Wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;if(!(k[f>>2]|0)){k[d>>2]=a;h=k[d>>2]|0;u=i;return h|0}b=k[f>>2]|0;if(!a){k[d>>2]=b;h=k[d>>2]|0;u=i;return h|0}if((Xx(b)|0)==0?(Xx(k[g>>2]|0)|0)==0:0){c=eu(k[e>>2]|0,28,0,0)|0;k[h>>2]=c;Yx(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0);k[d>>2]=k[h>>2];h=k[d>>2]|0;u=i;return h|0}Yk(k[e>>2]|0,k[f>>2]|0);Yk(k[e>>2]|0,k[g>>2]|0);h=eu(k[e>>2]|0,134,4252,0)|0;k[d>>2]=h;h=k[d>>2]|0;u=i;return h|0}function Xx(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;do if(!(k[(k[c>>2]|0)+4>>2]&1|0))if(bx(k[c>>2]|0,d)|0){k[b>>2]=(k[d>>2]|0)==0&1;break}else{k[b>>2]=0;break}else k[b>>2]=0;while(0);u=e;return k[b>>2]|0}function Yx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){Yk(k[e>>2]|0,k[g>>2]|0);Yk(k[e>>2]|0,k[h>>2]|0);u=i;return}if(k[h>>2]|0){k[(k[f>>2]|0)+16>>2]=k[h>>2];e=(k[f>>2]|0)+4|0;k[e>>2]=k[e>>2]|2097408&k[(k[h>>2]|0)+4>>2]}if(k[g>>2]|0){k[(k[f>>2]|0)+12>>2]=k[g>>2];h=(k[f>>2]|0)+4|0;k[h>>2]=k[h>>2]|2097408&k[(k[g>>2]|0)+4>>2]}Zx(k[f>>2]|0);u=i;return}function Zx(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;_x(k[(k[b>>2]|0)+12>>2]|0,c);_x(k[(k[b>>2]|0)+16>>2]|0,c);a=(k[b>>2]|0)+20|0;if(!(k[(k[b>>2]|0)+4>>2]&2048|0)){if(k[a>>2]|0){ay(k[(k[b>>2]|0)+20>>2]|0,c);e=2097408&(by(k[(k[b>>2]|0)+20>>2]|0)|0);a=(k[b>>2]|0)+4|0;k[a>>2]=k[a>>2]|e}}else $x(k[a>>2]|0,c);k[(k[b>>2]|0)+24>>2]=(k[c>>2]|0)+1;u=d;return}function _x(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){u=e;return}if((k[(k[c>>2]|0)+24>>2]|0)<=(k[k[d>>2]>>2]|0)){u=e;return}k[k[d>>2]>>2]=k[(k[c>>2]|0)+24>>2];u=e;return}function $x(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){u=e;return}_x(k[(k[c>>2]|0)+32>>2]|0,k[d>>2]|0);_x(k[(k[c>>2]|0)+40>>2]|0,k[d>>2]|0);_x(k[(k[c>>2]|0)+56>>2]|0,k[d>>2]|0);_x(k[(k[c>>2]|0)+60>>2]|0,k[d>>2]|0);ay(k[k[c>>2]>>2]|0,k[d>>2]|0);ay(k[(k[c>>2]|0)+36>>2]|0,k[d>>2]|0);ay(k[(k[c>>2]|0)+44>>2]|0,k[d>>2]|0);$x(k[(k[c>>2]|0)+48>>2]|0,k[d>>2]|0);u=e;return}function ay(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){u=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0))break;_x(k[(k[(k[c>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0);k[e>>2]=(k[e>>2]|0)+1}u=f;return}function by(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=0;if(!(k[b>>2]|0)){e=k[d>>2]|0;u=f;return e|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;k[e>>2]=k[(k[(k[b>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2];k[d>>2]=k[d>>2]|k[(k[e>>2]|0)+4>>2];k[c>>2]=(k[c>>2]|0)+1}e=k[d>>2]|0;u=f;return e|0}function cy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0;l=u;u=u+32|0;m=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;i=l;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;d=eu(k[m>>2]|0,152,0,0)|0;k[h>>2]=d;if(!(k[h>>2]|0)){m=k[h>>2]|0;u=l;return m|0}k[i>>2]=(k[e>>2]|0)+8+((k[f>>2]|0)*72|0);k[(k[h>>2]|0)+44>>2]=k[(k[i>>2]|0)+16>>2];k[(k[h>>2]|0)+28>>2]=k[(k[i>>2]|0)+44>>2];if((j[(k[(k[h>>2]|0)+44>>2]|0)+32>>1]|0)==(k[g>>2]|0))j[(k[h>>2]|0)+32>>1]=-1;else{j[(k[h>>2]|0)+32>>1]=k[g>>2];g=t0(1,0,((k[g>>2]|0)>=64?63:k[g>>2]|0)|0)|0;m=(k[i>>2]|0)+56|0;f=m;i=k[f+4>>2]|M;k[m>>2]=k[f>>2]|g;k[m+4>>2]=i}m=(k[h>>2]|0)+4|0;k[m>>2]=k[m>>2]|4;m=k[h>>2]|0;u=l;return m|0}function dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a:do if((k[(k[f>>2]|0)+4>>2]|0)==0?(f=k[(k[f>>2]|0)+8>>2]|0,k[h>>2]=f,f|0):0){k[i>>2]=k[e>>2];b:while(1){if(!(k[i>>2]|0))break a;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[k[i>>2]>>2]|0))break;if(!(lh(k[h>>2]|0,k[(k[i>>2]|0)+8+(k[j>>2]<<4)>>2]|0)|0))break b;k[j>>2]=(k[j>>2]|0)+1}k[i>>2]=k[(k[i>>2]|0)+4>>2]}k[k[g>>2]>>2]=k[i>>2];k[d>>2]=(k[i>>2]|0)+8+(k[j>>2]<<4);j=k[d>>2]|0;u=l;return j|0}while(0);k[d>>2]=0;j=k[d>>2]|0;u=l;return j|0}function ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;h=q+36|0;i=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;d=q+12|0;e=q+8|0;f=q+4|0;g=q;k[i>>2]=a;k[m>>2]=b;k[n>>2]=c;if(!(k[m>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;u=q;return p|0}if((k[k[m>>2]>>2]|0)>0)a=((k[k[m>>2]>>2]|0)-1|0)*72|0;else a=0;k[d>>2]=80+a;d=k[d>>2]|0;d=Od(k[i>>2]|0,d,((d|0)<0)<<31>>31)|0;k[o>>2]=d;if(!(k[o>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;u=q;return p|0}d=k[k[m>>2]>>2]|0;k[(k[o>>2]|0)+4>>2]=d;k[k[o>>2]>>2]=d;k[p>>2]=0;while(1){a=k[o>>2]|0;if((k[p>>2]|0)>=(k[k[m>>2]>>2]|0))break;k[e>>2]=a+8+((k[p>>2]|0)*72|0);k[f>>2]=(k[m>>2]|0)+8+((k[p>>2]|0)*72|0);k[k[e>>2]>>2]=k[k[f>>2]>>2];d=fp(k[i>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;k[(k[e>>2]|0)+4>>2]=d;d=fp(k[i>>2]|0,k[(k[f>>2]|0)+8>>2]|0)|0;k[(k[e>>2]|0)+8>>2]=d;d=fp(k[i>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[(k[e>>2]|0)+12>>2]=d;k[(k[e>>2]|0)+36>>2]=k[(k[f>>2]|0)+36>>2];k[(k[e>>2]|0)+44>>2]=k[(k[f>>2]|0)+44>>2];k[(k[e>>2]|0)+24>>2]=k[(k[f>>2]|0)+24>>2];k[(k[e>>2]|0)+28>>2]=k[(k[f>>2]|0)+28>>2];if((l[(k[e>>2]|0)+36+1>>0]|0)>>>1&1|0){d=fp(k[i>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[(k[e>>2]|0)+64>>2]=d}k[(k[e>>2]|0)+68>>2]=k[(k[f>>2]|0)+68>>2];if((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1|0){d=mx(k[i>>2]|0,k[(k[f>>2]|0)+64>>2]|0,k[n>>2]|0)|0;k[(k[e>>2]|0)+64>>2]=d}d=k[(k[f>>2]|0)+16>>2]|0;k[(k[e>>2]|0)+16>>2]=d;k[g>>2]=d;if(k[g>>2]|0){d=(k[g>>2]|0)+36|0;j[d>>1]=(j[d>>1]|0)+1<<16>>16}b=uw(k[i>>2]|0,k[(k[f>>2]|0)+20>>2]|0,k[n>>2]|0)|0;k[(k[e>>2]|0)+20>>2]=b;b=ex(k[i>>2]|0,k[(k[f>>2]|0)+48>>2]|0,k[n>>2]|0)|0;k[(k[e>>2]|0)+48>>2]=b;b=gy(k[i>>2]|0,k[(k[f>>2]|0)+52>>2]|0)|0;k[(k[e>>2]|0)+52>>2]=b;b=(k[f>>2]|0)+56|0;c=k[b+4>>2]|0;d=(k[e>>2]|0)+56|0;k[d>>2]=k[b>>2];k[d+4>>2]=c;k[p>>2]=(k[p>>2]|0)+1}k[h>>2]=a;p=k[h>>2]|0;u=q;return p|0}function fy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[d>>2]|0)){g=k[e>>2]|0;u=h;return g|0}k[f>>2]=24+((k[k[d>>2]>>2]|0)-1<<4);f=k[f>>2]|0;f=im(k[c>>2]|0,f,((f|0)<0)<<31>>31)|0;k[e>>2]=f;if(!(k[e>>2]|0)){g=k[e>>2]|0;u=h;return g|0}k[k[e>>2]>>2]=k[k[d>>2]>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[d>>2]>>2]|0))break;f=uw(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[g>>2]<<4)+8>>2]|0,0)|0;k[(k[e>>2]|0)+8+(k[g>>2]<<4)+8>>2]=f;f=mx(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[g>>2]<<4)+4>>2]|0,0)|0;k[(k[e>>2]|0)+8+(k[g>>2]<<4)+4>>2]=f;f=fp(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[g>>2]<<4)>>2]|0)|0;k[(k[e>>2]|0)+8+(k[g>>2]<<4)>>2]=f;k[g>>2]=(k[g>>2]|0)+1}g=k[e>>2]|0;u=h;return g|0}function gy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;u=j;return i|0}b=Od(k[d>>2]|0,8,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;u=j;return i|0}k[(k[f>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];b=Od(k[d>>2]|0,k[(k[e>>2]|0)+4>>2]<<3,0)|0;k[k[f>>2]>>2]=b;if(!(k[k[f>>2]>>2]|0)){fe(k[d>>2]|0,k[f>>2]|0);k[c>>2]=0;i=k[c>>2]|0;u=j;return i|0}k[g>>2]=0;while(1){a=k[f>>2]|0;if((k[g>>2]|0)>=(k[(k[e>>2]|0)+4>>2]|0))break;k[h>>2]=(k[a>>2]|0)+(k[g>>2]<<3);k[i>>2]=(k[k[e>>2]>>2]|0)+(k[g>>2]<<3);b=fp(k[d>>2]|0,k[k[i>>2]>>2]|0)|0;k[k[h>>2]>>2]=b;k[(k[h>>2]|0)+4>>2]=k[(k[i>>2]|0)+4>>2];k[g>>2]=(k[g>>2]|0)+1}k[c>>2]=a;i=k[c>>2]|0;u=j;return i|0}function hy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=u;u=u+48|0;d=j+32|0;e=j+28|0;m=j+24|0;l=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;c=j;k[d>>2]=a;k[e>>2]=b;k[m>>2]=k[k[d>>2]>>2];k[l>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2];mv(k[d>>2]|0,0,k[e>>2]|0);k[g>>2]=k[(k[d>>2]|0)+40>>2];b=(k[d>>2]|0)+40|0;k[b>>2]=(k[b>>2]|0)+3;ly(k[d>>2]|0,k[e>>2]|0,k[g>>2]|0,0,0);k[h>>2]=(k[(k[d>>2]|0)+44>>2]|0)+1;k[i>>2]=k[(k[d>>2]|0)+40>>2];k[f>>2]=k[(k[l>>2]|0)+8+8>>2];while(1){if(!(k[f>>2]|0))break;k[c>>2]=k[(k[f>>2]|0)+8>>2];my(k[d>>2]|0,k[c>>2]|0,0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0);k[f>>2]=k[k[f>>2]>>2]}ny(k[d>>2]|0,k[e>>2]|0);u=j;return}function iy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=u;u=u+16|0;f=d+12|0;g=d+8|0;c=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;b=Ou(k[f>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;b=yl(k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=b;fe(k[f>>2]|0,k[e>>2]|0);u=d;return k[c>>2]|0}function jy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=Ru(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=a;mv(k[d>>2]|0,0,k[g>>2]|0);k[h>>2]=k[(k[d>>2]|0)+40>>2];a=(k[d>>2]|0)+40|0;k[a>>2]=(k[a>>2]|0)+3;a=k[d>>2]|0;b=k[g>>2]|0;c=k[h>>2]|0;if(k[f>>2]|0)ly(a,b,c,k[k[f>>2]>>2]|0,30148);else ly(a,b,c,k[k[e>>2]>>2]|0,30152);my(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,k[h>>2]|0,(k[(k[d>>2]|0)+44>>2]|0)+1|0,k[(k[d>>2]|0)+40>>2]|0);ny(k[d>>2]|0,k[g>>2]|0);u=i;return}function ky(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;p=q+8|0;o=q;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;m=q+20|0;n=q+16|0;e=q+12|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[e>>2]=k[k[g>>2]>>2];a=(k[e>>2]|0)+148|0;if((k[(k[j>>2]|0)+4>>2]|0)>>>0>0){if(i[a+5>>0]|0){Cl(k[g>>2]|0,30111,o);k[f>>2]=-1;p=k[f>>2]|0;u=q;return p|0}k[k[m>>2]>>2]=k[j>>2];o=iy(k[e>>2]|0,k[h>>2]|0)|0;k[n>>2]=o;if((k[n>>2]|0)<0){o=k[g>>2]|0;k[p>>2]=k[h>>2];Cl(o,30128,p);k[f>>2]=-1;p=k[f>>2]|0;u=q;return p|0}}else{k[n>>2]=l[a+4>>0];k[k[m>>2]>>2]=k[h>>2]}k[f>>2]=k[n>>2];p=k[f>>2]|0;u=q;return p|0}function ly(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+96|0;w=x+16|0;v=x;p=x+84|0;q=x+80|0;r=x+76|0;s=x+72|0;t=x+68|0;f=x+64|0;g=x+60|0;h=x+56|0;j=x+52|0;l=x+40|0;m=x+88|0;n=x+36|0;o=x+32|0;k[p>>2]=a;k[q>>2]=b;k[r>>2]=c;k[s>>2]=d;k[t>>2]=e;k[g>>2]=k[k[p>>2]>>2];e=Vu(k[p>>2]|0)|0;k[j>>2]=e;if(!(k[j>>2]|0)){u=x;return}k[h>>2]=(k[(k[g>>2]|0)+16>>2]|0)+(k[q>>2]<<4);k[f>>2]=0;while(1){if((k[f>>2]|0)>=3)break;k[n>>2]=k[4352+(k[f>>2]<<3)>>2];e=qv(k[g>>2]|0,k[n>>2]|0,k[k[h>>2]>>2]|0)|0;k[o>>2]=e;do if(!e){if(k[4352+(k[f>>2]<<3)+4>>2]|0){e=k[p>>2]|0;c=k[n>>2]|0;d=k[4352+(k[f>>2]<<3)+4>>2]|0;k[v>>2]=k[k[h>>2]>>2];k[v+4>>2]=c;k[v+8>>2]=d;Uu(e,30209,v);k[l+(k[f>>2]<<2)>>2]=k[(k[p>>2]|0)+104>>2];i[m+(k[f>>2]|0)>>0]=16}}else{k[l+(k[f>>2]<<2)>>2]=k[(k[o>>2]|0)+28>>2];i[m+(k[f>>2]|0)>>0]=0;qy(k[p>>2]|0,k[q>>2]|0,k[l+(k[f>>2]<<2)>>2]|0,1,k[n>>2]|0);if(k[s>>2]|0){e=k[p>>2]|0;b=k[n>>2]|0;c=k[t>>2]|0;d=k[s>>2]|0;k[w>>2]=k[k[h>>2]>>2];k[w+4>>2]=b;k[w+8>>2]=c;k[w+12>>2]=d;Uu(e,30232,w);break}else{_u(k[j>>2]|0,131,k[l+(k[f>>2]<<2)>>2]|0,k[q>>2]|0)|0;break}}while(0);k[f>>2]=(k[f>>2]|0)+1}k[f>>2]=0;while(1){if(!(k[4352+(k[f>>2]<<3)+4>>2]|0))break;Jy(k[j>>2]|0,105,(k[r>>2]|0)+(k[f>>2]|0)|0,k[l+(k[f>>2]<<2)>>2]|0,k[q>>2]|0,3)|0;ty(k[j>>2]|0,i[m+(k[f>>2]|0)>>0]|0);k[f>>2]=(k[f>>2]|0)+1}u=x;return}function my(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+128|0;M=R+116|0;N=R+112|0;O=R+108|0;P=R+104|0;g=R+100|0;h=R+96|0;j=R+92|0;n=R+88|0;o=R+84|0;p=R+80|0;q=R+76|0;r=R+72|0;s=R+68|0;t=R+64|0;v=R+120|0;w=R+60|0;x=R+56|0;y=R+52|0;z=R+48|0;A=R+44|0;B=R+40|0;C=R+36|0;D=R+32|0;E=R+28|0;F=R+24|0;G=R+20|0;H=R+16|0;I=R+12|0;J=R+8|0;K=R+4|0;L=R;k[M>>2]=a;k[N>>2]=b;k[O>>2]=c;k[P>>2]=d;k[g>>2]=e;k[h>>2]=f;k[j>>2]=k[k[M>>2]>>2];k[s>>2]=-1;i[v>>0]=1;f=k[g>>2]|0;k[g>>2]=f+1;k[w>>2]=f;f=k[g>>2]|0;k[g>>2]=f+1;k[x>>2]=f;f=k[g>>2]|0;k[g>>2]=f+1;k[y>>2]=f;f=k[g>>2]|0;k[g>>2]=f+1;k[z>>2]=f;f=k[g>>2]|0;k[g>>2]=f+1;k[A>>2]=f;f=k[g>>2]|0;k[g>>2]=f+1;k[B>>2]=f;f=k[g>>2]|0;k[g>>2]=f+1;k[C>>2]=f;k[D>>2]=k[g>>2];if((k[(k[M>>2]|0)+44>>2]|0)>(k[g>>2]|0))a=k[(k[M>>2]|0)+44>>2]|0;else a=k[g>>2]|0;k[(k[M>>2]|0)+44>>2]=a;f=Vu(k[M>>2]|0)|0;k[q>>2]=f;if((k[q>>2]|0)==0|(k[N>>2]|0)==0){u=R;return}if(!(k[(k[N>>2]|0)+28>>2]|0)){u=R;return}if(!(py(30156,k[k[N>>2]>>2]|0,0)|0)){u=R;return}f=Ru(k[j>>2]|0,k[(k[N>>2]|0)+64>>2]|0)|0;k[t>>2]=f;if(Su(k[M>>2]|0,28,k[k[N>>2]>>2]|0,0,k[(k[(k[j>>2]|0)+16>>2]|0)+(k[t>>2]<<4)>>2]|0)|0){u=R;return}qy(k[M>>2]|0,k[t>>2]|0,k[(k[N>>2]|0)+28>>2]|0,0,k[k[N>>2]>>2]|0);f=k[h>>2]|0;k[h>>2]=f+1;k[p>>2]=f;f=k[h>>2]|0;k[h>>2]=f+1;k[o>>2]=f;if((k[(k[M>>2]|0)+40>>2]|0)>(k[h>>2]|0))a=k[(k[M>>2]|0)+40>>2]|0;else a=k[h>>2]|0;k[(k[M>>2]|0)+40>>2]=a;ry(k[M>>2]|0,k[p>>2]|0,k[t>>2]|0,k[N>>2]|0,104);Zu(k[q>>2]|0,k[A>>2]|0,k[k[N>>2]>>2]|0)|0;k[n>>2]=k[(k[N>>2]|0)+8>>2];while(1){a=k[O>>2]|0;if(!(k[n>>2]|0))break;if(!(a|0?(k[O>>2]|0)!=(k[n>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(k[(k[n>>2]|0)+36>>2]|0))i[v>>0]=0;if(((l[(k[N>>2]|0)+42>>0]|0)&32|0)!=0?(i[(k[n>>2]|0)+55>>0]&3|0)==2:0){k[E>>2]=m[(k[n>>2]|0)+50>>1];k[H>>2]=k[k[N>>2]>>2];k[I>>2]=(k[E>>2]|0)-1}else{k[E>>2]=m[(k[n>>2]|0)+52>>1];k[H>>2]=k[k[n>>2]>>2];if((l[(k[n>>2]|0)+55>>0]|0)>>>3&1|0)a=m[(k[n>>2]|0)+50>>1]|0;else a=k[E>>2]|0;k[I>>2]=a-1}Zu(k[q>>2]|0,k[B>>2]|0,k[H>>2]|0)|0;if((k[(k[M>>2]|0)+44>>2]|0)>((k[D>>2]|0)+(k[I>>2]|0)|0))a=k[(k[M>>2]|0)+44>>2]|0;else a=(k[D>>2]|0)+(k[I>>2]|0)|0;k[(k[M>>2]|0)+44>>2]=a;$u(k[q>>2]|0,104,k[o>>2]|0,k[(k[n>>2]|0)+44>>2]|0,k[t>>2]|0)|0;sy(k[M>>2]|0,k[n>>2]|0);_u(k[q>>2]|0,76,k[E>>2]|0,(k[x>>2]|0)+1|0)|0;_u(k[q>>2]|0,76,m[(k[n>>2]|0)+50>>1]|0,(k[x>>2]|0)+2|0)|0;cv(k[q>>2]|0,89,0,(k[x>>2]|0)+1|0,k[x>>2]|0,4268,-5)|0;ty(k[q>>2]|0,2);h=oy(k[q>>2]|0,57,k[o>>2]|0)|0;k[F>>2]=h;_u(k[q>>2]|0,76,0,k[y>>2]|0)|0;h=Zv(k[q>>2]|0)|0;k[G>>2]=h;if((k[I>>2]|0)>0){h=uy(k[q>>2]|0)|0;k[J>>2]=h;h=Od(k[j>>2]|0,k[I>>2]<<2,0)|0;k[K>>2]=h;if(!(k[K>>2]|0))break;Xu(k[q>>2]|0,13)|0;h=Zv(k[q>>2]|0)|0;k[G>>2]=h;if(((k[I>>2]|0)==1?(m[(k[n>>2]|0)+50>>1]|0|0)==1:0)?l[(k[n>>2]|0)+54>>0]|0|0:0)_u(k[q>>2]|0,35,k[D>>2]|0,k[J>>2]|0)|0;k[r>>2]=0;while(1){if((k[r>>2]|0)>=(k[I>>2]|0))break;h=vy(k[M>>2]|0,k[(k[(k[n>>2]|0)+32>>2]|0)+(k[r>>2]<<2)>>2]|0)|0;k[L>>2]=h;_u(k[q>>2]|0,76,k[r>>2]|0,k[y>>2]|0)|0;$u(k[q>>2]|0,96,k[o>>2]|0,k[r>>2]|0,k[z>>2]|0)|0;h=cv(k[q>>2]|0,36,k[z>>2]|0,0,(k[D>>2]|0)+(k[r>>2]|0)|0,k[L>>2]|0,-4)|0;k[(k[K>>2]|0)+(k[r>>2]<<2)>>2]=h;ty(k[q>>2]|0,-128);k[r>>2]=(k[r>>2]|0)+1}_u(k[q>>2]|0,76,k[I>>2]|0,k[y>>2]|0)|0;wy(k[q>>2]|0,k[J>>2]|0)|0;xy(k[q>>2]|0,(k[G>>2]|0)-1|0);k[r>>2]=0;while(1){a=k[q>>2]|0;if((k[r>>2]|0)>=(k[I>>2]|0))break;xy(a,k[(k[K>>2]|0)+(k[r>>2]<<2)>>2]|0);$u(k[q>>2]|0,96,k[o>>2]|0,k[r>>2]|0,(k[D>>2]|0)+(k[r>>2]|0)|0)|0;k[r>>2]=(k[r>>2]|0)+1}yy(a,k[J>>2]|0);fe(k[j>>2]|0,k[K>>2]|0)}cv(k[q>>2]|0,89,1,k[x>>2]|0,k[z>>2]|0,4296,-5)|0;ty(k[q>>2]|0,2);_u(k[q>>2]|0,7,k[o>>2]|0,k[G>>2]|0)|0;zy(k[q>>2]|0,k[x>>2]|0,0,k[C>>2]|0);cv(k[q>>2]|0,99,k[A>>2]|0,3,k[z>>2]|0,30165,0)|0;_u(k[q>>2]|0,114,k[P>>2]|0,k[w>>2]|0)|0;$u(k[q>>2]|0,115,k[P>>2]|0,k[z>>2]|0,k[w>>2]|0)|0;ty(k[q>>2]|0,8);xy(k[q>>2]|0,k[F>>2]|0)}while(0);k[n>>2]=k[(k[n>>2]|0)+20>>2]}if(a|0){u=R;return}if(!(l[v>>0]|0)){u=R;return}_u(k[q>>2]|0,100,k[p>>2]|0,k[C>>2]|0)|0;Q=oy(k[q>>2]|0,22,k[C>>2]|0)|0;k[s>>2]=Q;_u(k[q>>2]|0,79,0,k[B>>2]|0)|0;cv(k[q>>2]|0,99,k[A>>2]|0,3,k[z>>2]|0,30165,0)|0;_u(k[q>>2]|0,114,k[P>>2]|0,k[w>>2]|0)|0;$u(k[q>>2]|0,115,k[P>>2]|0,k[z>>2]|0,k[w>>2]|0)|0;ty(k[q>>2]|0,8);xy(k[q>>2]|0,k[s>>2]|0);u=R;return}function ny(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;b=Vu(k[f>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){u=e;return}oy(k[d>>2]|0,137,k[c>>2]|0)|0;u=e;return}function oy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=$u(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0,0)|0;u=d;return c|0}function py(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=(ei(k[g>>2]|0,k[f>>2]|0,22031,k[e>>2]|0)|0)==0&1;u=d;return c|0}function qy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+48|0;s=r+28|0;m=r+24|0;n=r+20|0;o=r+32|0;p=r+16|0;j=r+12|0;f=r+8|0;g=r+4|0;q=r;k[s>>2]=a;k[m>>2]=b;k[n>>2]=c;i[o>>0]=d;k[p>>2]=e;a=k[s>>2]|0;if(k[(k[s>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[j>>2]=a;k[f>>2]=0;while(1){a=k[j>>2]|0;if((k[f>>2]|0)>=(k[(k[j>>2]|0)+112>>2]|0))break;k[q>>2]=(k[a+116>>2]|0)+(k[f>>2]<<4);if((k[k[q>>2]>>2]|0)==(k[m>>2]|0)?(k[(k[q>>2]|0)+4>>2]|0)==(k[n>>2]|0):0){h=7;break}k[f>>2]=(k[f>>2]|0)+1}if((h|0)==7){if(l[(k[q>>2]|0)+8>>0]|0|0)a=1;else a=(l[o>>0]|0|0)!=0;i[(k[q>>2]|0)+8>>0]=a&1;u=r;return}k[g>>2]=(k[a+112>>2]|0)+1<<4;a=k[g>>2]|0;a=ti(k[k[j>>2]>>2]|0,k[(k[j>>2]|0)+116>>2]|0,a,((a|0)<0)<<31>>31)|0;k[(k[j>>2]|0)+116>>2]=a;a=k[j>>2]|0;if(k[(k[j>>2]|0)+116>>2]|0){h=k[a+116>>2]|0;j=(k[j>>2]|0)+112|0;s=k[j>>2]|0;k[j>>2]=s+1;k[q>>2]=h+(s<<4);k[k[q>>2]>>2]=k[m>>2];k[(k[q>>2]|0)+4>>2]=k[n>>2];i[(k[q>>2]|0)+8>>0]=i[o>>0]|0;k[(k[q>>2]|0)+12>>2]=k[p>>2];u=r;return}else{k[a+112>>2]=0;Yd(k[k[j>>2]>>2]|0);u=r;return}}function ry(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;h=p+24|0;i=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;f=p+4|0;g=p;k[h>>2]=a;k[i>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;e=Vu(k[h>>2]|0)|0;k[f>>2]=e;qy(k[h>>2]|0,k[m>>2]|0,k[(k[n>>2]|0)+28>>2]|0,((k[o>>2]|0)==105?1:0)&255,k[k[n>>2]>>2]|0);if(!(l[(k[n>>2]|0)+42>>0]&32)){Jy(k[f>>2]|0,k[o>>2]|0,k[i>>2]|0,k[(k[n>>2]|0)+28>>2]|0,k[m>>2]|0,j[(k[n>>2]|0)+34>>1]|0)|0;u=p;return}else{n=Ev(k[n>>2]|0)|0;k[g>>2]=n;$u(k[f>>2]|0,k[o>>2]|0,k[i>>2]|0,k[(k[g>>2]|0)+44>>2]|0,k[m>>2]|0)|0;sy(k[h>>2]|0,k[g>>2]|0);u=p;return}}function sy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;e=c+8|0;d=c+4|0;f=c;k[e>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[e>>2]|0)+8>>2];b=k[f>>2]|0;dv(b,-1,Hy(k[e>>2]|0,k[d>>2]|0)|0,-6);u=c;return}function ty(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e;d=e+4|0;k[c>>2]=a;i[d>>0]=b;if((k[(k[c>>2]|0)+136>>2]|0)<=0){u=e;return}i[(k[(k[c>>2]|0)+88>>2]|0)+(((k[(k[c>>2]|0)+136>>2]|0)-1|0)*20|0)+3>>0]=i[d>>0]|0;u=e;return}function uy(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+12>>2];e=(k[b>>2]|0)+72|0;a=k[e>>2]|0;k[e>>2]=a+1;k[c>>2]=a;if(!(k[c>>2]&(k[c>>2]|0)-1)){e=ti(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+76>>2]|0,(k[c>>2]<<1)+1<<2,0)|0;k[(k[b>>2]|0)+76>>2]=e}if(!(k[(k[b>>2]|0)+76>>2]|0)){e=k[c>>2]|0;e=-1-e|0;u=d;return e|0}k[(k[(k[b>>2]|0)+76>>2]|0)+(k[c>>2]<<2)>>2]=-1;e=k[c>>2]|0;e=-1-e|0;u=d;return e|0}function vy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=u;u=u+32|0;c=g+12|0;d=g+8|0;j=g+4|0;e=g+17|0;h=g+16|0;f=g;k[c>>2]=a;k[d>>2]=b;k[j>>2]=k[k[c>>2]>>2];i[e>>0]=i[(k[j>>2]|0)+66>>0]|0;i[h>>0]=i[(k[j>>2]|0)+148+5>>0]|0;b=Dw(k[j>>2]|0,i[e>>0]|0,k[d>>2]|0,l[h>>0]|0)|0;k[f>>2]=b;if(i[h>>0]|0){j=k[f>>2]|0;u=g;return j|0}if(k[f>>2]|0?k[(k[f>>2]|0)+12>>2]|0:0){j=k[f>>2]|0;u=g;return j|0}j=Cw(k[c>>2]|0,i[e>>0]|0,k[f>>2]|0,k[d>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;u=g;return j|0}function wy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=$u(k[e>>2]|0,13,0,k[d>>2]|0,0)|0;u=c;return b|0}function xy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;Dy(k[d>>2]|0,k[e>>2]|0,k[(k[d>>2]|0)+136>>2]|0);u=c;return}function yy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=k[(k[c>>2]|0)+12>>2];k[e>>2]=-1-(k[g>>2]|0);if(!(k[(k[d>>2]|0)+76>>2]|0)){u=f;return}k[(k[(k[d>>2]|0)+76>>2]|0)+(k[e>>2]<<2)>>2]=k[(k[c>>2]|0)+136>>2];u=f;return}function zy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=u;u=u+16|0;f=e+12|0;h=e+8|0;g=e;k[f>>2]=a;k[h>>2]=b;k[e+4>>2]=c;k[g>>2]=d;cv(k[f>>2]|0,89,0,k[h>>2]|0,k[g>>2]|0,4324,-5)|0;ty(k[f>>2]|0,1);u=e;return}function Ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+64|0;m=n+24|0;l=n+16|0;f=n+56|0;o=n+48|0;g=n+44|0;h=n+40|0;i=n+36|0;j=n+32|0;d=n+8|0;e=n;k[f>>2]=a;k[n+52>>2]=b;k[o>>2]=c;c=$i(k[k[o>>2]>>2]|0)|0;k[g>>2]=c;c=((k[(k[g>>2]|0)+12>>2]|0)+1|0)*25|0;c=fh(c,((c|0)<0)<<31>>31)|0;k[j>>2]=c;if(!(k[j>>2]|0)){Gi(k[f>>2]|0);u=n;return}o=k[j>>2]|0;c=l;k[c>>2]=k[k[g>>2]>>2];k[c+4>>2]=0;pf(24,o,30178,l)|0;o=k[j>>2]|0;o=o+(wd(k[j>>2]|0)|0)|0;k[h>>2]=o;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[g>>2]|0)+12>>2]|0))break;o=d;k[o>>2]=(k[(k[(k[g>>2]|0)+20+4>>2]|0)+(k[i>>2]<<2)>>2]|0)+1;k[o+4>>2]=0;o=d;o=i0(k[k[g>>2]>>2]|0,0,k[o>>2]|0,k[o+4>>2]|0)|0;o=h0(o|0,M|0,1,0)|0;b=d;b=z0(o|0,M|0,k[b>>2]|0,k[b+4>>2]|0)|0;o=e;k[o>>2]=b;k[o+4>>2]=M;o=k[h>>2]|0;b=e;c=k[b+4>>2]|0;l=m;k[l>>2]=k[b>>2];k[l+4>>2]=c;pf(24,o,30183,m)|0;o=wd(k[h>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+o;k[i>>2]=(k[i>>2]|0)+1}Hi(k[f>>2]|0,k[j>>2]|0,-1,157);u=n;return}function By(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[g+20>>2]=a;k[g+16>>2]=b;k[h>>2]=c;c=$i(k[k[h>>2]>>2]|0)|0;k[e>>2]=c;c=_i(k[(k[h>>2]|0)+4>>2]|0)|0;k[f>>2]=c;if(!(k[k[e>>2]>>2]|0)){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[e>>2]|0)+8>>2]|0))break;k[(k[(k[e>>2]|0)+20>>2]|0)+(k[d>>2]<<2)>>2]=1;k[d>>2]=(k[d>>2]|0)+1}h=k[e>>2]|0;f=k[h>>2]|0;f=f+1|0;k[h>>2]=f;u=g;return}Cy(k[e>>2]|0,k[f>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[f>>2]|0))break;h=(k[(k[e>>2]|0)+20>>2]|0)+(k[d>>2]<<2)|0;k[h>>2]=(k[h>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+1}k[d>>2]=k[f>>2];while(1){if((k[d>>2]|0)>=(k[(k[e>>2]|0)+8>>2]|0))break;h=(k[(k[e>>2]|0)+20+4>>2]|0)+(k[d>>2]<<2)|0;k[h>>2]=(k[h>>2]|0)+1;k[(k[(k[e>>2]|0)+20>>2]|0)+(k[d>>2]<<2)>>2]=1;k[d>>2]=(k[d>>2]|0)+1}h=k[e>>2]|0;f=k[h>>2]|0;f=f+1|0;k[h>>2]=f;u=g;return}function Cy(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c+4>>2]=a;k[c>>2]=b;u=c;return}function Dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;b=k[g>>2]|0;c=(Ey(k[f>>2]|0,k[e>>2]|0)|0)+8|0;k[c>>2]=b;u=d;return}function Ey(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)<0)k[e>>2]=(k[(k[d>>2]|0)+136>>2]|0)-1;if(i[(k[k[d>>2]>>2]|0)+69>>0]|0){k[c>>2]=55148;e=k[c>>2]|0;u=f;return e|0}else{k[c>>2]=(k[(k[d>>2]|0)+88>>2]|0)+((k[e>>2]|0)*20|0);e=k[c>>2]|0;u=f;return e|0}return 0}function Fy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=u;u=u+48|0;e=j+32|0;m=j+24|0;f=j+20|0;g=j+16|0;h=j+12|0;i=j+8|0;l=j+4|0;d=j;k[e>>2]=a;k[j+28>>2]=b;k[m>>2]=c;c=_i(k[k[m>>2]>>2]|0)|0;k[g>>2]=c;k[i>>2]=(k[g>>2]|0)+1&-2;c=_i(k[(k[m>>2]|0)+4>>2]|0)|0;k[h>>2]=c;k[l>>2]=56+(k[i>>2]<<2)+(k[i>>2]<<2);c=Zh(k[e>>2]|0)|0;k[d>>2]=c;c=k[l>>2]|0;c=im(k[d>>2]|0,c,((c|0)<0)<<31>>31)|0;k[f>>2]=c;if(!(k[f>>2]|0)){Gi(k[e>>2]|0);u=j;return}else{k[(k[f>>2]|0)+52>>2]=k[d>>2];k[k[f>>2]>>2]=0;k[(k[f>>2]|0)+8>>2]=k[g>>2];k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+20+4>>2]=(k[f>>2]|0)+56;k[(k[f>>2]|0)+20>>2]=(k[(k[f>>2]|0)+20+4>>2]|0)+(k[i>>2]<<2);wj(k[e>>2]|0,k[f>>2]|0,56,159);u=j;return}}function Gy(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];fe(k[(k[c>>2]|0)+52>>2]|0,k[c>>2]|0);u=b;return}function Hy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=u;u=u+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;c=o+8|0;j=o+4|0;n=o;k[e>>2]=a;k[f>>2]=b;k[h>>2]=m[(k[f>>2]|0)+52>>1];k[c>>2]=m[(k[f>>2]|0)+50>>1];if(k[(k[e>>2]|0)+36>>2]|0){k[d>>2]=0;n=k[d>>2]|0;u=o;return n|0}a=k[k[e>>2]>>2]|0;if((l[(k[f>>2]|0)+55>>0]|0)>>>3&1|0){c=Iy(a,k[c>>2]|0,(k[h>>2]|0)-(k[c>>2]|0)|0)|0;k[j>>2]=c}else{c=Iy(a,k[h>>2]|0,0)|0;k[j>>2]=c}if(k[j>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[n>>2]=k[(k[(k[f>>2]|0)+32>>2]|0)+(k[g>>2]<<2)>>2];if((k[n>>2]|0)==34455)a=0;else a=vy(k[e>>2]|0,k[n>>2]|0)|0;k[(k[j>>2]|0)+20+(k[g>>2]<<2)>>2]=a;i[(k[(k[j>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[f>>2]|0)+28>>2]|0)+(k[g>>2]|0)>>0]|0;k[g>>2]=(k[g>>2]|0)+1}if(k[(k[e>>2]|0)+36>>2]|0){Jk(k[j>>2]|0);k[j>>2]=0}}k[d>>2]=k[j>>2];n=k[d>>2]|0;u=o;return n|0}function Iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;l=u;u=u+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=((k[e>>2]|0)+(k[f>>2]|0)|0)*5;c=Od(k[d>>2]|0,24+(k[g>>2]|0)|0,0)|0;k[h>>2]=c;if(k[h>>2]|0){k[(k[h>>2]|0)+16>>2]=(k[h>>2]|0)+20+((k[e>>2]|0)+(k[f>>2]|0)<<2);j[(k[h>>2]|0)+6>>1]=k[e>>2];j[(k[h>>2]|0)+8>>1]=k[f>>2];i[(k[h>>2]|0)+4>>0]=i[(k[d>>2]|0)+66>>0]|0;k[(k[h>>2]|0)+12>>2]=k[d>>2];k[k[h>>2]>>2]=1;w0((k[h>>2]|0)+24|0,0,k[g>>2]|0)|0;h=k[h>>2]|0;u=l;return h|0}else{Yd(k[d>>2]|0);h=k[h>>2]|0;u=l;return h|0}return 0}function Jy(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=u;u=u+32|0;j=h+24|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;i=h+4|0;g=h;k[j>>2]=a;k[o>>2]=b;k[n>>2]=c;k[m>>2]=d;k[l>>2]=e;k[i>>2]=f;f=$u(k[j>>2]|0,k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;k[g>>2]=f;dv(k[j>>2]|0,k[g>>2]|0,k[i>>2]|0,-14);u=h;return k[g>>2]|0}function Ky(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[k[c>>2]>>2];k[f>>2]=0;k[e>>2]=k[(k[g>>2]|0)+16>>2];while(1){if((k[f>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0))break;k[h>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(k[h>>2]|0))break;k[i>>2]=k[(k[h>>2]|0)+8>>2];Ly(k[c>>2]|0,k[i>>2]|0,k[d>>2]|0);k[h>>2]=k[k[h>>2]>>2]}k[f>>2]=(k[f>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+16}u=j;return}function Ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break;if(!((k[f>>2]|0)!=0?!(Xz(k[f>>2]|0,k[g>>2]|0)|0):0)){c=Ru(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[h>>2]=c;mv(k[d>>2]|0,0,k[h>>2]|0);My(k[d>>2]|0,k[g>>2]|0,-1)}k[g>>2]=k[(k[g>>2]|0)+20>>2]}u=i;return}function My(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+80|0;r=x+64|0;s=x+60|0;h=x+56|0;i=x+52|0;t=x+48|0;v=x+44|0;w=x+40|0;j=x+36|0;n=x+32|0;d=x+28|0;e=x+24|0;o=x+20|0;f=x+16|0;p=x+12|0;y=x+8|0;g=x+4|0;q=x;k[r>>2]=a;k[s>>2]=b;k[h>>2]=c;k[i>>2]=k[(k[s>>2]|0)+12>>2];c=(k[r>>2]|0)+40|0;b=k[c>>2]|0;k[c>>2]=b+1;k[t>>2]=b;b=(k[r>>2]|0)+40|0;c=k[b>>2]|0;k[b>>2]=c+1;k[v>>2]=c;k[y>>2]=k[k[r>>2]>>2];c=Ru(k[y>>2]|0,k[(k[s>>2]|0)+24>>2]|0)|0;k[g>>2]=c;if(Su(k[r>>2]|0,27,k[k[s>>2]>>2]|0,0,k[(k[(k[y>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2]|0)|0){u=x;return}qy(k[r>>2]|0,k[g>>2]|0,k[(k[i>>2]|0)+28>>2]|0,1,k[k[i>>2]>>2]|0);y=Vu(k[r>>2]|0)|0;k[o>>2]=y;if(!(k[o>>2]|0)){u=x;return}if((k[h>>2]|0)>=0)k[d>>2]=k[h>>2];else k[d>>2]=k[(k[s>>2]|0)+44>>2];c=Hy(k[r>>2]|0,k[s>>2]|0)|0;k[f>>2]=c;c=(k[r>>2]|0)+40|0;b=k[c>>2]|0;k[c>>2]=b+1;k[w>>2]=b;b=k[o>>2]|0;c=k[w>>2]|0;y=m[(k[s>>2]|0)+50>>1]|0;cv(b,108,c,0,y,Ny(k[f>>2]|0)|0,-6)|0;ry(k[r>>2]|0,k[t>>2]|0,k[g>>2]|0,k[i>>2]|0,104);y=_u(k[o>>2]|0,57,k[t>>2]|0,0)|0;k[j>>2]=y;y=Yv(k[r>>2]|0)|0;k[p>>2]=y;Oy(k[r>>2]|0,k[s>>2]|0,k[t>>2]|0,k[p>>2]|0,0,e,0,0)|0;_u(k[o>>2]|0,125,k[w>>2]|0,k[p>>2]|0)|0;Py(k[r>>2]|0,k[e>>2]|0);_u(k[o>>2]|0,7,k[t>>2]|0,(k[j>>2]|0)+1|0)|0;xy(k[o>>2]|0,k[j>>2]|0);if((k[h>>2]|0)<0)_u(k[o>>2]|0,131,k[d>>2]|0,k[g>>2]|0)|0;cv(k[o>>2]|0,105,k[v>>2]|0,k[d>>2]|0,k[g>>2]|0,k[f>>2]|0,-6)|0;ty(k[o>>2]|0,(1|((k[h>>2]|0)>=0?16:0))&255);y=_u(k[o>>2]|0,55,k[w>>2]|0,0)|0;k[j>>2]=y;y=(l[(k[s>>2]|0)+54>>0]|0|0)!=0;a=Zv(k[o>>2]|0)|0;if(y){k[q>>2]=a+3;wy(k[o>>2]|0,k[q>>2]|0)|0;y=Zv(k[o>>2]|0)|0;k[n>>2]=y;Jy(k[o>>2]|0,119,k[w>>2]|0,k[q>>2]|0,k[p>>2]|0,m[(k[s>>2]|0)+50>>1]|0)|0;Qy(k[r>>2]|0,2,k[s>>2]|0)}else k[n>>2]=a;$u(k[o>>2]|0,120,k[w>>2]|0,k[p>>2]|0,k[v>>2]|0)|0;$u(k[o>>2]|0,53,k[v>>2]|0,0,-1)|0;$u(k[o>>2]|0,126,k[v>>2]|0,k[p>>2]|0,0)|0;ty(k[o>>2]|0,16);_v(k[r>>2]|0,k[p>>2]|0);_u(k[o>>2]|0,3,k[w>>2]|0,k[n>>2]|0)|0;xy(k[o>>2]|0,k[j>>2]|0);oy(k[o>>2]|0,111,k[t>>2]|0)|0;oy(k[o>>2]|0,111,k[v>>2]|0)|0;oy(k[o>>2]|0,111,k[w>>2]|0)|0;u=x;return}function Ny(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(k[b>>2]|0){a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+1}u=c;return k[b>>2]|0}function Oy(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+48|0;w=y+44|0;x=y+40|0;n=y+36|0;o=y+32|0;i=y+28|0;m=y+24|0;p=y+20|0;q=y+16|0;r=y+12|0;s=y+8|0;t=y+4|0;v=y;k[w>>2]=a;k[x>>2]=b;k[n>>2]=c;k[o>>2]=d;k[i>>2]=e;k[m>>2]=f;k[p>>2]=g;k[q>>2]=h;k[r>>2]=k[(k[w>>2]|0)+8>>2];do if(k[m>>2]|0)if(k[(k[x>>2]|0)+36>>2]|0){h=uy(k[r>>2]|0)|0;k[k[m>>2]>>2]=h;k[(k[w>>2]|0)+60>>2]=k[n>>2];Uy(k[w>>2]|0);Vy(k[w>>2]|0,k[(k[x>>2]|0)+36>>2]|0,k[k[m>>2]>>2]|0,16);break}else{k[k[m>>2]>>2]=0;break}while(0);if(k[i>>2]|0?(l[(k[x>>2]|0)+55>>0]|0)>>>3&1|0:0)a=j[(k[x>>2]|0)+50>>1]|0;else a=j[(k[x>>2]|0)+52>>1]|0;k[v>>2]=a&65535;h=Wy(k[w>>2]|0,k[v>>2]|0)|0;k[t>>2]=h;do if(k[p>>2]|0){if((k[t>>2]|0)==(k[q>>2]|0)?(k[(k[p>>2]|0)+36>>2]|0)==0:0)break;k[p>>2]=0}while(0);k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[v>>2]|0))break;if(!((k[p>>2]|0?(j[(k[(k[p>>2]|0)+4>>2]|0)+(k[s>>2]<<1)>>1]|0)==(j[(k[(k[x>>2]|0)+4>>2]|0)+(k[s>>2]<<1)>>1]|0):0)?(j[(k[(k[p>>2]|0)+4>>2]|0)+(k[s>>2]<<1)>>1]|0)!=-2:0)){Xy(k[w>>2]|0,k[x>>2]|0,k[n>>2]|0,k[s>>2]|0,(k[t>>2]|0)+(k[s>>2]|0)|0);Yy(k[r>>2]|0,92)|0}k[s>>2]=(k[s>>2]|0)+1}if(!(k[o>>2]|0)){s=k[w>>2]|0;w=k[t>>2]|0;x=k[v>>2]|0;Zy(s,w,x);x=k[t>>2]|0;u=y;return x|0}$u(k[r>>2]|0,99,k[t>>2]|0,k[v>>2]|0,k[o>>2]|0)|0;s=k[w>>2]|0;w=k[t>>2]|0;x=k[v>>2]|0;Zy(s,w,x);x=k[t>>2]|0;u=y;return x|0}function Py(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=e;return}yy(k[(k[c>>2]|0)+8>>2]|0,k[d>>2]|0);Sy(k[c>>2]|0);u=e;return}function Qy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+80|0;q=r+8|0;p=r;e=r+68|0;f=r+64|0;g=r+60|0;h=r+56|0;l=r+52|0;n=r+24|0;o=r+20|0;d=r+16|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[o>>2]=k[(k[g>>2]|0)+12>>2];Jd(n,k[k[e>>2]>>2]|0,0,0,200);if(k[(k[g>>2]|0)+40>>2]|0){k[p>>2]=k[k[g>>2]>>2];yj(n,30347,p);n=Ld(n)|0;k[h>>2]=n;n=k[e>>2]|0;o=k[g>>2]|0;o=o+55|0;o=i[o>>0]|0;o=o&3;o=o&255;o=(o|0)==2;o=o?1555:2067;p=k[f>>2]|0;q=k[h>>2]|0;Ry(n,o,p,q,-1,2);u=r;return}k[l>>2]=0;while(1){if((k[l>>2]|0)>=(m[(k[g>>2]|0)+50>>1]|0))break;k[d>>2]=k[(k[(k[o>>2]|0)+4>>2]|0)+(j[(k[(k[g>>2]|0)+4>>2]|0)+(k[l>>2]<<1)>>1]<<4)>>2];if(k[l>>2]|0)Zd(n,30358,2);p=k[d>>2]|0;k[q>>2]=k[k[o>>2]>>2];k[q+4>>2]=p;yj(n,29580,q);k[l>>2]=(k[l>>2]|0)+1}n=Ld(n)|0;k[h>>2]=n;n=k[e>>2]|0;o=k[g>>2]|0;o=o+55|0;o=i[o>>0]|0;o=o&3;o=o&255;o=(o|0)==2;o=o?1555:2067;p=k[f>>2]|0;q=k[h>>2]|0;Ry(n,o,p,q,-1,2);u=r;return}function Ry(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;l=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;g=p+21|0;h=p+20|0;j=p;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;i[g>>0]=e;i[h>>0]=f;f=Vu(k[l>>2]|0)|0;k[j>>2]=f;if((k[n>>2]|0)==2)qw(k[l>>2]|0);cv(k[j>>2]|0,75,k[m>>2]|0,k[n>>2]|0,0,k[o>>2]|0,i[g>>0]|0)|0;ty(k[j>>2]|0,i[h>>0]|0);u=p;return}function Sy(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;a=(k[b>>2]|0)+64|0;k[a>>2]=(k[a>>2]|0)+-1;while(1){if((k[c>>2]|0)>=(l[(k[b>>2]|0)+25>>0]|0|0))break;if((k[(k[b>>2]|0)+152+((k[c>>2]|0)*20|0)+8>>2]|0)>(k[(k[b>>2]|0)+64>>2]|0)){Ty(k[b>>2]|0,k[c>>2]|0);continue}else{k[c>>2]=(k[c>>2]|0)+1;continue}}u=d;return}function Ty(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[(k[c>>2]|0)+152+((k[d>>2]|0)*20|0)+6>>0]|0?(l[(k[c>>2]|0)+19>>0]|0)<8:0){f=k[(k[c>>2]|0)+152+((k[d>>2]|0)*20|0)+12>>2]|0;a=(k[c>>2]|0)+352|0;g=(k[c>>2]|0)+19|0;b=i[g>>0]|0;i[g>>0]=b+1<<24>>24;k[a+((b&255)<<2)>>2]=f}g=(k[c>>2]|0)+25|0;i[g>>0]=(i[g>>0]|0)+-1<<24>>24;if((k[d>>2]|0)>=(l[(k[c>>2]|0)+25>>0]|0)){u=e;return}g=(k[c>>2]|0)+152+((k[d>>2]|0)*20|0)|0;f=(k[c>>2]|0)+152+((l[(k[c>>2]|0)+25>>0]|0)*20|0)|0;k[g>>2]=k[f>>2];k[g+4>>2]=k[f+4>>2];k[g+8>>2]=k[f+8>>2];k[g+12>>2]=k[f+12>>2];k[g+16>>2]=k[f+16>>2];u=e;return}function Uy(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+64|0;k[a>>2]=(k[a>>2]|0)+1;u=b;return}function Vy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;j=u;u=u+32|0;e=j+20|0;m=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[m>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[k[e>>2]>>2];d=ex(k[h>>2]|0,k[m>>2]|0,0)|0;k[i>>2]=d;if(l[(k[h>>2]|0)+69>>0]|0|0){h=k[h>>2]|0;m=k[i>>2]|0;Yk(h,m);u=j;return}xz(k[e>>2]|0,k[i>>2]|0,k[f>>2]|0,k[g>>2]|0);h=k[h>>2]|0;m=k[i>>2]|0;Yk(h,m);u=j;return}function Wy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;a=k[d>>2]|0;if((k[e>>2]|0)==1){g=Yv(a)|0;k[c>>2]=g;g=k[c>>2]|0;u=h;return g|0}k[f>>2]=k[a+32>>2];k[g>>2]=k[(k[d>>2]|0)+28>>2];if((k[e>>2]|0)<=(k[g>>2]|0)){g=(k[d>>2]|0)+32|0;k[g>>2]=(k[g>>2]|0)+(k[e>>2]|0);g=(k[d>>2]|0)+28|0;k[g>>2]=(k[g>>2]|0)-(k[e>>2]|0)}else{k[f>>2]=(k[(k[d>>2]|0)+44>>2]|0)+1;g=(k[d>>2]|0)+44|0;k[g>>2]=(k[g>>2]|0)+(k[e>>2]|0)}k[c>>2]=k[f>>2];g=k[c>>2]|0;u=h;return g|0}function Xy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=u;u=u+32|0;g=n+16|0;h=n+12|0;i=n+8|0;l=n+4|0;m=n;f=n+20|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[l>>2]=d;k[m>>2]=e;j[f>>1]=j[(k[(k[h>>2]|0)+4>>2]|0)+(k[l>>2]<<1)>>1]|0;if((j[f>>1]|0)==-2){k[(k[g>>2]|0)+60>>2]=k[i>>2];az(k[g>>2]|0,k[(k[(k[(k[h>>2]|0)+40>>2]|0)+4>>2]|0)+((k[l>>2]|0)*20|0)>>2]|0,k[m>>2]|0);u=n;return}else{bz(k[(k[g>>2]|0)+8>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[i>>2]|0,j[f>>1]|0,k[m>>2]|0);u=n;return}}function Yy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+4|0;d=e;f=e+8|0;k[d>>2]=a;i[f>>0]=b;if((k[(k[d>>2]|0)+136>>2]|0)>0?(l[(k[(k[d>>2]|0)+88>>2]|0)+(((k[(k[d>>2]|0)+136>>2]|0)-1|0)*20|0)>>0]|0|0)==(l[f>>0]|0|0):0){f=$y(k[d>>2]|0,(k[(k[d>>2]|0)+136>>2]|0)-1|0)|0;k[c>>2]=f;f=k[c>>2]|0;u=e;return f|0}k[c>>2]=0;f=k[c>>2]|0;u=e;return f|0}function Zy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[d>>2]|0;b=k[e>>2]|0;if((k[f>>2]|0)==1){_v(a,b);u=g;return}_y(a,b,k[f>>2]|0);if((k[f>>2]|0)<=(k[(k[d>>2]|0)+28>>2]|0)){u=g;return}k[(k[d>>2]|0)+28>>2]=k[f>>2];k[(k[d>>2]|0)+32>>2]=k[e>>2];u=g;return}function _y(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(l[(k[d>>2]|0)+25>>0]|0|0))break;k[h>>2]=(k[d>>2]|0)+152+((k[g>>2]|0)*20|0);if((k[(k[h>>2]|0)+12>>2]|0)>=(k[e>>2]|0)?(k[(k[h>>2]|0)+12>>2]|0)<((k[e>>2]|0)+(k[f>>2]|0)|0):0){Ty(k[d>>2]|0,k[g>>2]|0);continue}k[g>>2]=(k[g>>2]|0)+1}u=i;return}function $y(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(i[(k[k[d>>2]>>2]|0)+69>>0]|0){k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}else{k[f>>2]=(k[(k[d>>2]|0)+88>>2]|0)+((k[e>>2]|0)*20|0);Hk(k[k[d>>2]>>2]|0,i[(k[f>>2]|0)+1>>0]|0,k[(k[f>>2]|0)+16>>2]|0);i[(k[f>>2]|0)+1>>0]=0;k[(k[f>>2]|0)+16>>2]=0;i[k[f>>2]>>0]=-95;k[c>>2]=1;f=k[c>>2]|0;u=g;return f|0}return 0}function az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];c=ex(k[g>>2]|0,k[e>>2]|0,0)|0;k[e>>2]=c;if(i[(k[g>>2]|0)+69>>0]|0){f=k[g>>2]|0;g=k[e>>2]|0;Yk(f,g);u=h;return}ez(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);f=k[g>>2]|0;g=k[e>>2]|0;Yk(f,g);u=h;return}function bz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;h=p+24|0;i=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;f=p+4|0;g=p;k[h>>2]=a;k[i>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;if((k[n>>2]|0)>=0?(k[n>>2]|0)!=(j[(k[i>>2]|0)+32>>1]|0):0){k[f>>2]=l[(k[i>>2]|0)+42>>0]&16|0?156:96;k[g>>2]=k[n>>2];if(l[(k[i>>2]|0)+42>>0]&32|0?(l[(k[i>>2]|0)+42>>0]&16|0)==0:0){e=Ev(k[i>>2]|0)|0;e=(cz(e,k[n>>2]&65535)|0)<<16>>16;k[g>>2]=e}$u(k[h>>2]|0,k[f>>2]|0,k[m>>2]|0,k[g>>2]|0,k[o>>2]|0)|0}else _u(k[h>>2]|0,123,k[m>>2]|0,k[o>>2]|0)|0;if((k[n>>2]|0)<0){u=p;return}dz(k[h>>2]|0,k[i>>2]|0,k[n>>2]|0,k[o>>2]|0);u=p;return}function cz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g+10|0;c=g+4|0;d=g+8|0;e=g;k[c>>2]=a;j[d>>1]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[c>>2]|0)+52>>1]|0)){a=6;break}b=k[e>>2]|0;if((j[d>>1]|0)==(j[(k[(k[c>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)){a=4;break}k[e>>2]=b+1}if((a|0)==4){j[f>>1]=b;f=j[f>>1]|0;u=g;return f|0}else if((a|0)==6){j[f>>1]=-1;f=j[f>>1]|0;u=g;return f|0}return 0}function dz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;l=n+4|0;m=n+24|0;e=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if(k[(k[g>>2]|0)+12>>2]|0){u=n;return}k[l>>2]=0;d=(Qs(k[f>>2]|0)|0)+66|0;i[m>>0]=i[d>>0]|0;k[e>>2]=(k[(k[g>>2]|0)+4>>2]|0)+(k[h>>2]<<4);d=Qs(k[f>>2]|0)|0;Xv(d,k[(k[e>>2]|0)+4>>2]|0,i[m>>0]|0,i[(k[e>>2]|0)+13>>0]|0,l)|0;if(k[l>>2]|0)dv(k[f>>2]|0,-1,k[l>>2]|0,-8);if((i[(k[(k[g>>2]|0)+4>>2]|0)+(k[h>>2]<<4)+13>>0]|0)!=69){u=n;return}oy(k[f>>2]|0,92,k[j>>2]|0)|0;u=n;return}function ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0?(l[k[e>>2]>>0]|0|0)==157:0){_u(k[(k[d>>2]|0)+8>>2]|0,84,k[(k[e>>2]|0)+28>>2]|0,k[f>>2]|0)|0;u=h;return}e=fz(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[g>>2]=e;if((k[g>>2]|0)==(k[f>>2]|0)){u=h;return}if(!(k[(k[d>>2]|0)+8>>2]|0)){u=h;return}_u(k[(k[d>>2]|0)+8>>2]|0,85,k[g>>2]|0,k[f>>2]|0)|0;u=h;return} +function fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=u;u=u+320|0;z=ja+24|0;y=ja+16|0;G=ja+8|0;x=ja;ga=ja+304|0;ha=ja+300|0;S=ja+296|0;ia=ja+292|0;da=ja+288|0;F=ja+284|0;ea=ja+280|0;ba=ja+276|0;ca=ja+272|0;O=ja+268|0;A=ja+264|0;P=ja+216|0;B=ja+208|0;d=ja+204|0;e=ja+200|0;f=ja+196|0;g=ja+192|0;h=ja+188|0;n=ja+184|0;C=ja+180|0;o=ja+176|0;p=ja+172|0;q=ja+168|0;Q=ja+164|0;R=ja+160|0;H=ja+156|0;D=ja+152|0;I=ja+148|0;J=ja+144|0;K=ja+140|0;E=ja+309|0;L=ja+136|0;M=ja+132|0;N=ja+308|0;r=ja+128|0;s=ja+124|0;t=ja+120|0;v=ja+116|0;w=ja+112|0;T=ja+108|0;U=ja+104|0;V=ja+100|0;W=ja+96|0;X=ja+92|0;Y=ja+88|0;Z=ja+40|0;_=ja+32|0;aa=ja+28|0;k[ha>>2]=a;k[S>>2]=b;k[ia>>2]=c;k[da>>2]=k[(k[ha>>2]|0)+8>>2];k[ea>>2]=k[ia>>2];k[ba>>2]=0;k[ca>>2]=0;k[B>>2]=0;if(!(k[da>>2]|0)){k[ga>>2]=0;ia=k[ga>>2]|0;u=ja;return ia|0}if(!(k[S>>2]|0))k[F>>2]=101;else k[F>>2]=l[k[S>>2]>>0];a:do switch(k[F>>2]|0){case 154:{k[d>>2]=k[(k[S>>2]|0)+40>>2];k[e>>2]=(k[(k[d>>2]|0)+28>>2]|0)+((j[(k[S>>2]|0)+34>>1]|0)*24|0);if(!(i[k[d>>2]>>0]|0)){k[ga>>2]=k[(k[e>>2]|0)+16>>2];ia=k[ga>>2]|0;u=ja;return ia|0}if(i[(k[d>>2]|0)+1>>0]|0){$u(k[da>>2]|0,96,k[(k[d>>2]|0)+8>>2]|0,k[(k[e>>2]|0)+12>>2]|0,k[ia>>2]|0)|0;k[ga>>2]=k[ia>>2];ia=k[ga>>2]|0;u=ja;return ia|0}else fa=11;break}case 152:{fa=11;break}case 134:{hz(k[ha>>2]|0,k[S>>2]|0,0,k[ia>>2]|0);k[ga>>2]=k[ia>>2];ia=k[ga>>2]|0;u=ja;return ia|0}case 132:{iz(k[da>>2]|0,k[(k[S>>2]|0)+8>>2]|0,0,k[ia>>2]|0);k[ga>>2]=k[ia>>2];ia=k[ga>>2]|0;u=ja;return ia|0}case 97:{Zu(k[da>>2]|0,k[ia>>2]|0,k[(k[S>>2]|0)+8>>2]|0)|0;k[ga>>2]=k[ia>>2];ia=k[ga>>2]|0;u=ja;return ia|0}case 101:{_u(k[da>>2]|0,79,0,k[ia>>2]|0)|0;k[ga>>2]=k[ia>>2];ia=k[ga>>2]|0;u=ja;return ia|0}case 133:{k[h>>2]=(k[(k[S>>2]|0)+8>>2]|0)+2;ha=(wd(k[h>>2]|0)|0)-1|0;k[g>>2]=ha;ha=jw(Qs(k[da>>2]|0)|0,k[h>>2]|0,k[g>>2]|0)|0;k[n>>2]=ha;cv(k[da>>2]|0,81,(k[g>>2]|0)/2|0,k[ia>>2]|0,0,k[n>>2]|0,-1)|0;k[ga>>2]=k[ia>>2];ia=k[ga>>2]|0;u=ja;return ia|0}case 135:{_u(k[da>>2]|0,82,j[(k[S>>2]|0)+32>>1]|0,k[ia>>2]|0)|0;if(i[(k[(k[S>>2]|0)+8>>2]|0)+1>>0]|0)dv(k[da>>2]|0,-1,k[(k[(k[ha>>2]|0)+428>>2]|0)+((j[(k[S>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);k[ga>>2]=k[ia>>2];ia=k[ga>>2]|0;u=ja;return ia|0}case 157:{k[ga>>2]=k[(k[S>>2]|0)+28>>2];ia=k[ga>>2]|0;u=ja;return ia|0}case 66:{fa=fz(k[ha>>2]|0,k[(k[S>>2]|0)+12>>2]|0,k[ia>>2]|0)|0;k[ea>>2]=fa;if((k[ea>>2]|0)!=(k[ia>>2]|0)){_u(k[da>>2]|0,85,k[ea>>2]|0,k[ia>>2]|0)|0;k[ea>>2]=k[ia>>2]}_u(k[da>>2]|0,93,k[ia>>2]|0,(ew(k[(k[S>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;jz(k[ha>>2]|0,k[ea>>2]|0,1);k[ga>>2]=k[ea>>2];ia=k[ga>>2]|0;u=ja;return ia|0}case 148:case 29:{k[F>>2]=(k[F>>2]|0)==29?37:36;k[B>>2]=128;fa=29;break}case 37:case 36:case 41:case 38:case 39:case 40:{fa=29;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{aa=mz(k[ha>>2]|0,k[(k[S>>2]|0)+12>>2]|0,ba)|0;k[O>>2]=aa;aa=mz(k[ha>>2]|0,k[(k[S>>2]|0)+16>>2]|0,ca)|0;k[A>>2]=aa;$u(k[da>>2]|0,k[F>>2]|0,k[A>>2]|0,k[O>>2]|0,k[ia>>2]|0)|0;break}case 155:{k[o>>2]=k[(k[S>>2]|0)+12>>2];if((l[k[o>>2]>>0]|0)==134){hz(k[ha>>2]|0,k[o>>2]|0,1,k[ia>>2]|0);k[ga>>2]=k[ia>>2];ia=k[ga>>2]|0;u=ja;return ia|0}if((l[k[o>>2]>>0]|0)!=132){i[P>>0]=-122;k[P+4>>2]=17408;k[P+8>>2]=0;aa=mz(k[ha>>2]|0,P,ba)|0;k[O>>2]=aa;aa=mz(k[ha>>2]|0,k[(k[S>>2]|0)+12>>2]|0,ca)|0;k[A>>2]=aa;$u(k[da>>2]|0,48,k[A>>2]|0,k[O>>2]|0,k[ia>>2]|0)|0;break a}iz(k[da>>2]|0,k[(k[o>>2]|0)+8>>2]|0,1,k[ia>>2]|0);k[ga>>2]=k[ia>>2];ia=k[ga>>2]|0;u=ja;return ia|0}case 19:case 54:{ia=mz(k[ha>>2]|0,k[(k[S>>2]|0)+12>>2]|0,ba)|0;k[O>>2]=ia;_u(k[da>>2]|0,k[F>>2]|0,k[O>>2]|0,k[ea>>2]|0)|0;break}case 35:case 34:{_u(k[da>>2]|0,76,1,k[ia>>2]|0)|0;aa=mz(k[ha>>2]|0,k[(k[S>>2]|0)+12>>2]|0,ba)|0;k[O>>2]=aa;aa=oy(k[da>>2]|0,k[F>>2]|0,k[O>>2]|0)|0;k[p>>2]=aa;_u(k[da>>2]|0,76,0,k[ia>>2]|0)|0;xy(k[da>>2]|0,k[p>>2]|0);break}case 153:{k[q>>2]=k[(k[S>>2]|0)+40>>2];if(!(k[q>>2]|0)){ia=k[ha>>2]|0;k[x>>2]=k[(k[S>>2]|0)+8>>2];Cl(ia,30361,x);break a}k[ga>>2]=k[(k[(k[q>>2]|0)+40>>2]|0)+(j[(k[S>>2]|0)+34>>1]<<4)+8>>2];ia=k[ga>>2]|0;u=ja;return ia|0}case 151:{k[I>>2]=0;k[K>>2]=k[k[ha>>2]>>2];i[E>>0]=i[(k[K>>2]|0)+66>>0]|0;k[L>>2]=0;if(k[(k[S>>2]|0)+4>>2]&16384|0)k[Q>>2]=0;else k[Q>>2]=k[(k[S>>2]|0)+20>>2];if(k[Q>>2]|0)a=k[k[Q>>2]>>2]|0;else a=0;k[R>>2]=a;k[D>>2]=k[(k[S>>2]|0)+8>>2];aa=yx(k[K>>2]|0,k[D>>2]|0,k[R>>2]|0,i[E>>0]|0,0)|0;k[H>>2]=aa;if(k[H>>2]|0?(k[(k[H>>2]|0)+16>>2]|0)==0:0){if(m[(k[H>>2]|0)+2>>1]&512|0){aa=uy(k[da>>2]|0)|0;k[M>>2]=aa;ez(k[ha>>2]|0,k[k[(k[Q>>2]|0)+4>>2]>>2]|0,k[ia>>2]|0);k[J>>2]=1;while(1){a=k[da>>2]|0;if((k[J>>2]|0)>=(k[R>>2]|0))break;_u(a,35,k[ia>>2]|0,k[M>>2]|0)|0;_y(k[ha>>2]|0,k[ia>>2]|0,1);Uy(k[ha>>2]|0);ez(k[ha>>2]|0,k[(k[(k[Q>>2]|0)+4>>2]|0)+((k[J>>2]|0)*20|0)>>2]|0,k[ia>>2]|0);Sy(k[ha>>2]|0);k[J>>2]=(k[J>>2]|0)+1}yy(a,k[M>>2]|0);break a}if(m[(k[H>>2]|0)+2>>1]&1024|0){ia=fz(k[ha>>2]|0,k[k[(k[Q>>2]|0)+4>>2]>>2]|0,k[ia>>2]|0)|0;k[ga>>2]=ia;ia=k[ga>>2]|0;u=ja;return ia|0}k[J>>2]=0;while(1){if((k[J>>2]|0)>=(k[R>>2]|0))break;if((k[J>>2]|0)<32?oz(k[(k[(k[Q>>2]|0)+4>>2]|0)+((k[J>>2]|0)*20|0)>>2]|0)|0:0)k[I>>2]=k[I>>2]|1<>2];if(!(k[L>>2]|0?1:(m[(k[H>>2]|0)+2>>1]&32|0)==0)){ea=Bw(k[ha>>2]|0,k[(k[(k[Q>>2]|0)+4>>2]|0)+((k[J>>2]|0)*20|0)>>2]|0)|0;k[L>>2]=ea}k[J>>2]=(k[J>>2]|0)+1}if(k[Q>>2]|0){a=k[ha>>2]|0;if(k[I>>2]|0){k[O>>2]=(k[a+44>>2]|0)+1;ea=(k[ha>>2]|0)+44|0;k[ea>>2]=(k[ea>>2]|0)+(k[R>>2]|0)}else{ea=Wy(a,k[R>>2]|0)|0;k[O>>2]=ea}do if(m[(k[H>>2]|0)+2>>1]&192|0){i[N>>0]=i[k[k[(k[Q>>2]|0)+4>>2]>>2]>>0]|0;if((l[N>>0]|0)!=152?(l[N>>0]|0)!=154:0)break;i[(k[k[(k[Q>>2]|0)+4>>2]>>2]|0)+38>>0]=m[(k[H>>2]|0)+2>>1]&192}while(0);Uy(k[ha>>2]|0);pz(k[ha>>2]|0,k[Q>>2]|0,k[O>>2]|0,0,3)|0;Sy(k[ha>>2]|0)}else k[O>>2]=0;if((k[R>>2]|0)>=2?k[(k[S>>2]|0)+4>>2]&128|0:0){ea=qz(k[K>>2]|0,k[H>>2]|0,k[R>>2]|0,k[(k[(k[Q>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[H>>2]=ea}else fa=79;if((fa|0)==79?(k[R>>2]|0)>0:0){fa=qz(k[K>>2]|0,k[H>>2]|0,k[R>>2]|0,k[k[(k[Q>>2]|0)+4>>2]>>2]|0)|0;k[H>>2]=fa}if(m[(k[H>>2]|0)+2>>1]&32|0){if(!(k[L>>2]|0))k[L>>2]=k[(k[K>>2]|0)+8>>2];cv(k[da>>2]|0,88,0,0,0,k[L>>2]|0,-4)|0}cv(k[da>>2]|0,89,k[I>>2]|0,k[O>>2]|0,k[ia>>2]|0,k[H>>2]|0,-5)|0;ty(k[da>>2]|0,k[R>>2]&255);if((k[R>>2]|0)!=0&(k[I>>2]|0)==0)Zy(k[ha>>2]|0,k[O>>2]|0,k[R>>2]|0);k[ga>>2]=k[ia>>2];ia=k[ga>>2]|0;u=ja;return ia|0}ia=k[ha>>2]|0;k[G>>2]=k[D>>2];Cl(ia,30387,G);break}case 119:case 20:{if((k[F>>2]|0)==119?(ia=k[k[k[(k[S>>2]|0)+20>>2]>>2]>>2]|0,k[r>>2]=ia,(ia|0)!=1):0){rz(k[ha>>2]|0,k[r>>2]|0,1);break a}ia=sz(k[ha>>2]|0,k[S>>2]|0,0,0)|0;k[ga>>2]=ia;ia=k[ga>>2]|0;u=ja;return ia|0}case 159:{if(!(k[(k[(k[S>>2]|0)+12>>2]|0)+28>>2]|0)){ia=sz(k[ha>>2]|0,k[(k[S>>2]|0)+12>>2]|0,0,0)|0;k[(k[(k[S>>2]|0)+12>>2]|0)+28>>2]=ia}k[ga>>2]=(k[(k[(k[S>>2]|0)+12>>2]|0)+28>>2]|0)+(j[(k[S>>2]|0)+32>>1]|0);ia=k[ga>>2]|0;u=ja;return ia|0}case 33:{fa=uy(k[da>>2]|0)|0;k[s>>2]=fa;fa=uy(k[da>>2]|0)|0;k[t>>2]=fa;_u(k[da>>2]|0,79,0,k[ia>>2]|0)|0;tz(k[ha>>2]|0,k[S>>2]|0,k[s>>2]|0,k[t>>2]|0);_u(k[da>>2]|0,76,1,k[ia>>2]|0)|0;yy(k[da>>2]|0,k[s>>2]|0);_u(k[da>>2]|0,91,k[ia>>2]|0,0)|0;yy(k[da>>2]|0,k[t>>2]|0);k[ga>>2]=k[ia>>2];ia=k[ga>>2]|0;u=ja;return ia|0}case 32:{uz(k[ha>>2]|0,k[S>>2]|0,k[ia>>2]|0,0,0);k[ga>>2]=k[ia>>2];ia=k[ga>>2]|0;u=ja;return ia|0}case 156:case 53:case 161:{ia=fz(k[ha>>2]|0,k[(k[S>>2]|0)+12>>2]|0,k[ia>>2]|0)|0;k[ga>>2]=ia;ia=k[ga>>2]|0;u=ja;return ia|0}case 88:{k[v>>2]=k[(k[S>>2]|0)+44>>2];aa=($(k[(k[S>>2]|0)+28>>2]|0,(j[(k[v>>2]|0)+34>>1]|0)+1|0)|0)+1|0;k[w>>2]=aa+(j[(k[S>>2]|0)+32>>1]|0);_u(k[da>>2]|0,143,k[w>>2]|0,k[ia>>2]|0)|0;if((j[(k[S>>2]|0)+32>>1]|0)>=0?(i[(k[(k[v>>2]|0)+4>>2]|0)+(j[(k[S>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)oy(k[da>>2]|0,92,k[ia>>2]|0)|0;break}case 158:{Cl(k[ha>>2]|0,29254,y);break}case 83:{if(!(k[(k[ha>>2]|0)+128>>2]|0)){Cl(k[ha>>2]|0,30410,z);k[ga>>2]=0;ia=k[ga>>2]|0;u=ja;return ia|0}if((i[(k[S>>2]|0)+1>>0]|0)==2)qw(k[ha>>2]|0);if((i[(k[S>>2]|0)+1>>0]|0)==4){cv(k[da>>2]|0,75,0,4,0,k[(k[S>>2]|0)+8>>2]|0,0)|0;break a}else{Ry(k[ha>>2]|0,1811,i[(k[S>>2]|0)+1>>0]|0,k[(k[S>>2]|0)+8>>2]|0,0,0);break a}}default:{k[aa>>2]=0;k[X>>2]=k[(k[S>>2]|0)+20>>2];k[Y>>2]=k[(k[X>>2]|0)+4>>2];k[V>>2]=k[k[X>>2]>>2];R=uy(k[da>>2]|0)|0;k[T>>2]=R;S=k[(k[S>>2]|0)+12>>2]|0;k[_>>2]=S;if(S|0){a=P;b=k[_>>2]|0;d=a+48|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));wz(P,vz(k[ha>>2]|0,P,ba)|0);a=Z;d=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));i[Z>>0]=37;k[Z+12>>2]=P;k[aa>>2]=Z;k[ba>>2]=0}k[W>>2]=0;while(1){if((k[W>>2]|0)>=((k[V>>2]|0)-1|0))break;Uy(k[ha>>2]|0);a=k[(k[Y>>2]|0)+((k[W>>2]|0)*20|0)>>2]|0;if(k[_>>2]|0)k[Z+16>>2]=a;else k[aa>>2]=a;S=uy(k[da>>2]|0)|0;k[U>>2]=S;xz(k[ha>>2]|0,k[aa>>2]|0,k[U>>2]|0,16);ez(k[ha>>2]|0,k[(k[Y>>2]|0)+(((k[W>>2]|0)+1|0)*20|0)>>2]|0,k[ia>>2]|0);wy(k[da>>2]|0,k[T>>2]|0)|0;Sy(k[ha>>2]|0);yy(k[da>>2]|0,k[U>>2]|0);k[W>>2]=(k[W>>2]|0)+2}if(k[V>>2]&1|0){Uy(k[ha>>2]|0);ez(k[ha>>2]|0,k[(k[(k[X>>2]|0)+4>>2]|0)+(((k[V>>2]|0)-1|0)*20|0)>>2]|0,k[ia>>2]|0);Sy(k[ha>>2]|0)}else _u(k[da>>2]|0,79,0,k[ia>>2]|0)|0;yy(k[da>>2]|0,k[T>>2]|0)}}while(0);do if((fa|0)==11){k[f>>2]=k[(k[S>>2]|0)+28>>2];do if((k[f>>2]|0)<0){if((k[(k[ha>>2]|0)+56>>2]|0)<=0){k[f>>2]=k[(k[ha>>2]|0)+60>>2];break}k[ga>>2]=(j[(k[S>>2]|0)+32>>1]|0)+(k[(k[ha>>2]|0)+56>>2]|0);ia=k[ga>>2]|0;u=ja;return ia|0}while(0);ia=gz(k[ha>>2]|0,k[(k[S>>2]|0)+44>>2]|0,j[(k[S>>2]|0)+32>>1]|0,k[f>>2]|0,k[ia>>2]|0,i[(k[S>>2]|0)+38>>0]|0)|0;k[ga>>2]=ia;ia=k[ga>>2]|0;u=ja;return ia|0}else if((fa|0)==29){k[C>>2]=k[(k[S>>2]|0)+12>>2];fa=(kz(k[C>>2]|0)|0)!=0;a=k[ha>>2]|0;if(fa){lz(a,k[S>>2]|0,k[ia>>2]|0,k[F>>2]&255,k[B>>2]&255);break}else{ia=mz(a,k[C>>2]|0,ba)|0;k[O>>2]=ia;ia=mz(k[ha>>2]|0,k[(k[S>>2]|0)+16>>2]|0,ca)|0;k[A>>2]=ia;nz(k[ha>>2]|0,k[C>>2]|0,k[(k[S>>2]|0)+16>>2]|0,k[F>>2]|0,k[O>>2]|0,k[A>>2]|0,k[ea>>2]|0,32|k[B>>2])|0;break}}while(0);_v(k[ha>>2]|0,k[ba>>2]|0);_v(k[ha>>2]|0,k[ca>>2]|0);k[ga>>2]=k[ea>>2];ia=k[ga>>2]|0;u=ja;return ia|0}function gz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+48|0;q=w+32|0;r=w+28|0;s=w+24|0;t=w+20|0;g=w+16|0;h=w+12|0;m=w+36|0;n=w+8|0;o=w+4|0;p=w;k[r>>2]=a;k[s>>2]=b;k[t>>2]=c;k[g>>2]=d;k[h>>2]=e;i[m>>0]=f;k[n>>2]=k[(k[r>>2]|0)+8>>2];k[o>>2]=0;k[p>>2]=(k[r>>2]|0)+152;while(1){if((k[o>>2]|0)>=(l[(k[r>>2]|0)+25>>0]|0))break;if((k[k[p>>2]>>2]|0)==(k[g>>2]|0)?(j[(k[p>>2]|0)+4>>1]|0)==(k[t>>2]|0):0){v=5;break}k[o>>2]=(k[o>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}if((v|0)==5){t=(k[r>>2]|0)+68|0;v=k[t>>2]|0;k[t>>2]=v+1;k[(k[p>>2]|0)+16>>2]=v;Vz(k[r>>2]|0,k[(k[p>>2]|0)+12>>2]|0);k[q>>2]=k[(k[p>>2]|0)+12>>2];v=k[q>>2]|0;u=w;return v|0}bz(k[n>>2]|0,k[s>>2]|0,k[g>>2]|0,k[t>>2]|0,k[h>>2]|0);if(i[m>>0]|0)ty(k[n>>2]|0,i[m>>0]|0);else Wz(k[r>>2]|0,k[g>>2]|0,k[t>>2]|0,k[h>>2]|0);k[q>>2]=k[h>>2];v=k[q>>2]|0;u=w;return v|0}function hz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+48|0;n=o+8|0;h=o+40|0;p=o+36|0;i=o+32|0;j=o+28|0;l=o+24|0;m=o+20|0;e=o+16|0;f=o;g=o+12|0;k[h>>2]=a;k[p>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=k[(k[h>>2]|0)+8>>2];a=(k[p>>2]|0)+8|0;if(k[(k[p>>2]|0)+4>>2]&1024|0){k[m>>2]=k[a>>2];if(k[i>>2]|0)k[m>>2]=0-(k[m>>2]|0);_u(k[l>>2]|0,76,k[m>>2]|0,k[j>>2]|0)|0;u=o;return}k[g>>2]=k[a>>2];p=Uz(k[g>>2]|0,f)|0;k[e>>2]=p;if(k[e>>2]|0?!((k[e>>2]|0)==2&(k[i>>2]|0)!=0):0)if(!(vd(k[g>>2]|0,30584,2)|0)){p=k[h>>2]|0;k[n>>2]=k[g>>2];Cl(p,30587,n);u=o;return}else{iz(k[l>>2]|0,k[g>>2]|0,k[i>>2]|0,k[j>>2]|0);u=o;return}if(k[i>>2]|0){n=(k[e>>2]|0)==2;m=f;m=h0(0,0,k[m>>2]|0,k[m+4>>2]|0)|0;p=f;k[p>>2]=n?0:m;k[p+4>>2]=n?-2147483648:M}Tz(k[l>>2]|0,77,0,k[j>>2]|0,0,f,-13)|0;u=o;return}function iz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){u=j;return}d=k[f>>2]|0;Ti(d,i,wd(k[f>>2]|0)|0,1)|0;if(k[g>>2]|0)p[i>>3]=-+p[i>>3];Tz(k[e>>2]|0,132,0,k[h>>2]|0,0,i,-12)|0;u=j;return}function jz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;_y(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);u=d;return}function kz(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(Bx(k[c>>2]|0)|0)>1&1;u=b;return a|0}function lz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+80|0;y=C+64|0;D=C+60|0;z=C+56|0;A=C+70|0;B=C+69|0;f=C+52|0;g=C+48|0;h=C+44|0;j=C+40|0;m=C+36|0;n=C+32|0;o=C+28|0;p=C+68|0;q=C+24|0;r=C+20|0;s=C+16|0;t=C+12|0;v=C+8|0;w=C+4|0;x=C;k[y>>2]=a;k[D>>2]=b;k[z>>2]=c;i[A>>0]=d;i[B>>0]=e;k[f>>2]=k[(k[y>>2]|0)+8>>2];k[g>>2]=k[(k[D>>2]|0)+12>>2];k[h>>2]=k[(k[D>>2]|0)+16>>2];e=Bx(k[g>>2]|0)|0;k[j>>2]=e;k[n>>2]=0;k[o>>2]=0;i[p>>0]=i[A>>0]|0;e=uy(k[f>>2]|0)|0;k[q>>2]=e;i[B>>0]=l[B>>0]|0|32;if((l[p>>0]|0|0)==39)i[p>>0]=40;if((l[p>>0]|0|0)==41)i[p>>0]=38;D=Rz(k[y>>2]|0,k[g>>2]|0)|0;k[n>>2]=D;D=Rz(k[y>>2]|0,k[h>>2]|0)|0;k[o>>2]=D;k[m>>2]=0;while(1){k[r>>2]=0;k[s>>2]=0;if((k[m>>2]|0)>0)Uy(k[y>>2]|0);D=Sz(k[y>>2]|0,k[g>>2]|0,k[m>>2]|0,k[n>>2]|0,t,r)|0;k[w>>2]=D;D=Sz(k[y>>2]|0,k[h>>2]|0,k[m>>2]|0,k[o>>2]|0,v,s)|0;k[x>>2]=D;nz(k[y>>2]|0,k[t>>2]|0,k[v>>2]|0,l[p>>0]|0,k[w>>2]|0,k[x>>2]|0,k[z>>2]|0,l[B>>0]|0)|0;_v(k[y>>2]|0,k[r>>2]|0);_v(k[y>>2]|0,k[s>>2]|0);if((k[m>>2]|0)>0)Sy(k[y>>2]|0);if((k[m>>2]|0)==((k[j>>2]|0)-1|0))break;do if((l[p>>0]|0|0)!=37){a=k[f>>2]|0;if((l[p>>0]|0|0)==36){_u(a,21,k[z>>2]|0,k[q>>2]|0)|0;i[B>>0]=l[B>>0]|0|8;break}_u(a,42,0,k[q>>2]|0)|0;if((k[m>>2]|0)==((k[j>>2]|0)-2|0))i[p>>0]=i[A>>0]|0}else{_u(k[f>>2]|0,22,k[z>>2]|0,k[q>>2]|0)|0;i[B>>0]=l[B>>0]|0|8}while(0);k[m>>2]=(k[m>>2]|0)+1}yy(k[f>>2]|0,k[q>>2]|0);u=C;return}function mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;f=p+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;m=p+12|0;n=p+8|0;d=p+4|0;e=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;c=Iw(k[h>>2]|0)|0;k[h>>2]=c;if((l[(k[g>>2]|0)+23>>0]|0|0?(l[k[h>>2]>>0]|0|0)!=157:0)?Qz(k[h>>2]|0)|0:0){k[m>>2]=k[(k[g>>2]|0)+80>>2];k[k[i>>2]>>2]=0;a:do if(k[m>>2]|0){k[d>>2]=k[(k[m>>2]|0)+4>>2];k[n>>2]=k[k[m>>2]>>2];while(1){if((k[n>>2]|0)<=0)break a;if((l[(k[d>>2]|0)+13>>0]|0)>>>2&1|0?(gx(k[k[d>>2]>>2]|0,k[h>>2]|0,-1)|0)==0:0)break;k[d>>2]=(k[d>>2]|0)+20;k[n>>2]=(k[n>>2]|0)+-1}k[f>>2]=k[(k[d>>2]|0)+16>>2];o=k[f>>2]|0;u=p;return o|0}while(0);m=(k[g>>2]|0)+44|0;n=(k[m>>2]|0)+1|0;k[m>>2]=n;k[j>>2]=n;Lz(k[g>>2]|0,k[h>>2]|0,k[j>>2]|0,1)}else o=12;do if((o|0)==12){o=Yv(k[g>>2]|0)|0;k[e>>2]=o;o=fz(k[g>>2]|0,k[h>>2]|0,k[e>>2]|0)|0;k[j>>2]=o;if((k[j>>2]|0)==(k[e>>2]|0)){k[k[i>>2]>>2]=k[e>>2];break}else{_v(k[g>>2]|0,k[e>>2]|0);k[k[i>>2]>>2]=0;break}}while(0);k[f>>2]=k[j>>2];o=k[f>>2]|0;u=p;return o|0}function nz(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;j=u;u=u+48|0;m=j+40|0;v=j+36|0;t=j+32|0;r=j+28|0;o=j+24|0;q=j+20|0;p=j+16|0;s=j+12|0;l=j+8|0;i=j+4|0;n=j;k[m>>2]=a;k[v>>2]=b;k[t>>2]=c;k[r>>2]=d;k[o>>2]=e;k[q>>2]=f;k[p>>2]=g;k[s>>2]=h;h=Hz(k[m>>2]|0,k[v>>2]|0,k[t>>2]|0)|0;k[n>>2]=h;h=(Pz(k[v>>2]|0,k[t>>2]|0,k[s>>2]|0)|0)&255;k[l>>2]=h;h=cv(k[(k[m>>2]|0)+8>>2]|0,k[r>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0,-4)|0;k[i>>2]=h;ty(k[(k[m>>2]|0)+8>>2]|0,k[l>>2]&255);u=j;return k[i>>2]|0}function oz(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Mz(k[c>>2]|0,1,0)|0;u=b;return a|0}function pz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+64|0;s=z+44|0;t=z+40|0;v=z+36|0;w=z+32|0;x=z+49|0;f=z+28|0;g=z+24|0;h=z+20|0;j=z+16|0;n=z+48|0;o=z+12|0;p=z+8|0;q=z+4|0;r=z;k[s>>2]=a;k[t>>2]=b;k[v>>2]=c;k[w>>2]=d;i[x>>0]=e;i[n>>0]=l[x>>0]&1|0?84:85;k[o>>2]=k[(k[s>>2]|0)+8>>2];k[j>>2]=k[k[t>>2]>>2];if(!(i[(k[s>>2]|0)+23>>0]|0))i[x>>0]=l[x>>0]&-3;k[f>>2]=k[(k[t>>2]|0)+4>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[j>>2]|0))break;k[p>>2]=k[k[f>>2]>>2];if(l[x>>0]&4|0?(e=m[(k[(k[t>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+16>>1]|0,k[h>>2]=e,(e|0)>0):0)_u(k[o>>2]|0,l[n>>0]|0,(k[h>>2]|0)+(k[w>>2]|0)-1|0,(k[v>>2]|0)+(k[g>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if(l[x>>0]&2|0?oz(k[p>>2]|0)|0:0){Lz(k[s>>2]|0,k[p>>2]|0,(k[v>>2]|0)+(k[g>>2]|0)|0,0);break}e=fz(k[s>>2]|0,k[p>>2]|0,(k[v>>2]|0)+(k[g>>2]|0)|0)|0;k[q>>2]=e;if((k[q>>2]|0)!=((k[v>>2]|0)+(k[g>>2]|0)|0)){if((((l[n>>0]|0)==84?(e=Ey(k[o>>2]|0,-1)|0,k[r>>2]=e,(l[e>>0]|0)==84):0)?((k[(k[r>>2]|0)+4>>2]|0)+(k[(k[r>>2]|0)+12>>2]|0)+1|0)==(k[q>>2]|0):0)?((k[(k[r>>2]|0)+8>>2]|0)+(k[(k[r>>2]|0)+12>>2]|0)+1|0)==((k[v>>2]|0)+(k[g>>2]|0)|0):0){e=(k[r>>2]|0)+12|0;k[e>>2]=(k[e>>2]|0)+1;break}_u(k[o>>2]|0,l[n>>0]|0,k[q>>2]|0,(k[v>>2]|0)+(k[g>>2]|0)|0)|0}}while(0);k[g>>2]=(k[g>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}u=z;return k[j>>2]|0}function qz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+64|0;r=y+52|0;s=y+48|0;t=y+44|0;v=y+40|0;w=y+36|0;x=y+32|0;e=y+28|0;f=y+24|0;g=y+20|0;h=y+16|0;n=y+12|0;o=y+8|0;p=y+4|0;q=y;k[s>>2]=a;k[t>>2]=b;k[v>>2]=c;k[w>>2]=d;k[g>>2]=0;k[h>>2]=0;k[o>>2]=0;if(!(k[w>>2]|0)){k[r>>2]=k[t>>2];x=k[r>>2]|0;u=y;return x|0}if((l[k[w>>2]>>0]|0)!=152){k[r>>2]=k[t>>2];x=k[r>>2]|0;u=y;return x|0}k[x>>2]=k[(k[w>>2]|0)+44>>2];if(!(k[x>>2]|0)){k[r>>2]=k[t>>2];x=k[r>>2]|0;u=y;return x|0}if(!(l[(k[x>>2]|0)+42>>0]&16)){k[r>>2]=k[t>>2];x=k[r>>2]|0;u=y;return x|0}x=(pw(k[s>>2]|0,k[x>>2]|0)|0)+8|0;k[e>>2]=k[x>>2];k[f>>2]=k[k[e>>2]>>2];if(!(k[(k[f>>2]|0)+72>>2]|0)){k[r>>2]=k[t>>2];x=k[r>>2]|0;u=y;return x|0}x=fp(k[s>>2]|0,k[(k[t>>2]|0)+20>>2]|0)|0;k[p>>2]=x;if(k[p>>2]|0){k[q>>2]=k[p>>2];while(1){if(!(i[k[q>>2]>>0]|0))break;i[k[q>>2]>>0]=i[20458+(l[k[q>>2]>>0]|0)>>0]|0;k[q>>2]=(k[q>>2]|0)+1}x=Xb[k[(k[f>>2]|0)+72>>2]&255](k[e>>2]|0,k[v>>2]|0,k[p>>2]|0,g,h)|0;k[o>>2]=x;fe(k[s>>2]|0,k[p>>2]|0)}if(!(k[o>>2]|0)){k[r>>2]=k[t>>2];x=k[r>>2]|0;u=y;return x|0}x=k[s>>2]|0;x=im(x,28+(wd(k[(k[t>>2]|0)+20>>2]|0)|0)+1|0,0)|0;k[n>>2]=x;if(!(k[n>>2]|0)){k[r>>2]=k[t>>2];x=k[r>>2]|0;u=y;return x|0}else{w=k[n>>2]|0;x=k[t>>2]|0;k[w>>2]=k[x>>2];k[w+4>>2]=k[x+4>>2];k[w+8>>2]=k[x+8>>2];k[w+12>>2]=k[x+12>>2];k[w+16>>2]=k[x+16>>2];k[w+20>>2]=k[x+20>>2];k[w+24>>2]=k[x+24>>2];k[(k[n>>2]|0)+20>>2]=(k[n>>2]|0)+28;w=(k[n>>2]|0)+28|0;x=k[(k[t>>2]|0)+20>>2]|0;r0(w|0,x|0,(wd(k[(k[t>>2]|0)+20>>2]|0)|0)+1|0)|0;k[(k[n>>2]|0)+12>>2]=k[g>>2];k[(k[n>>2]|0)+4>>2]=k[h>>2];x=(k[n>>2]|0)+2|0;j[x>>1]=m[x>>1]|16;k[r>>2]=k[n>>2];x=k[r>>2]|0;u=y;return x|0}return 0}function rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=u;u=u+32|0;e=d;i=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;k[i>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=30540;b=k[i>>2]|0;c=k[h>>2]|0;a=k[g>>2]|0;k[e>>2]=k[f>>2];k[e+4>>2]=a;Cl(b,c,e);u=d;return}function sz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=u;u=u+176|0;f=O;J=O+168|0;K=O+164|0;L=O+160|0;M=O+156|0;F=O+152|0;N=O+148|0;H=O+144|0;I=O+140|0;e=O+136|0;v=O+132|0;m=O+128|0;w=O+124|0;n=O+120|0;o=O+116|0;p=O+112|0;q=O+88|0;r=O+80|0;s=O+76|0;x=O+172|0;y=O+72|0;t=O+68|0;z=O+64|0;A=O+60|0;B=O+56|0;C=O+52|0;D=O+48|0;E=O+44|0;g=O+40|0;h=O+16|0;j=O+12|0;k[K>>2]=a;k[L>>2]=b;k[M>>2]=c;k[F>>2]=d;k[N>>2]=-1;k[H>>2]=0;d=Vu(k[K>>2]|0)|0;k[I>>2]=d;if(!(k[I>>2]|0)){k[J>>2]=0;N=k[J>>2]|0;u=O;return N|0}Uy(k[K>>2]|0);if(!(k[(k[L>>2]|0)+4>>2]&32)){d=Xu(k[I>>2]|0,20)|0;k[N>>2]=d}if((l[(k[K>>2]|0)+409>>0]|0)==2){d=k[k[K>>2]>>2]|0;b=(l[k[L>>2]>>0]|0)==33?30503:30508;c=k[(k[K>>2]|0)+424>>2]|0;k[f>>2]=(k[N>>2]|0)>=0?55752:30491;k[f+4>>2]=b;k[f+8>>2]=c;f=ek(d,30515,f)|0;k[e>>2]=f;cv(k[I>>2]|0,162,k[(k[K>>2]|0)+420>>2]|0,0,0,k[e>>2]|0,-1)|0}a=k[L>>2]|0;do if((l[k[L>>2]>>0]|0)==33){k[m>>2]=k[a+12>>2];k[w>>2]=0;h=Bx(k[m>>2]|0)|0;k[n>>2]=h;h=(k[K>>2]|0)+40|0;j=k[h>>2]|0;k[h>>2]=j+1;k[(k[L>>2]|0)+28>>2]=j;j=_u(k[I>>2]|0,107,k[(k[L>>2]|0)+28>>2]|0,k[F>>2]|0?0:k[n>>2]|0)|0;k[v>>2]=j;if(k[F>>2]|0)a=0;else a=Iy(k[k[K>>2]>>2]|0,k[n>>2]|0,1)|0;k[w>>2]=a;a=(k[L>>2]|0)+20|0;a:do if(k[(k[L>>2]|0)+4>>2]&2048|0){k[o>>2]=k[a>>2];k[p>>2]=k[k[o>>2]>>2];if((k[k[p>>2]>>2]|0)==(k[n>>2]|0)){Kz(q,11,k[(k[L>>2]|0)+28>>2]|0);G=Bz(k[K>>2]|0,k[L>>2]|0)|0;k[q+4>>2]=G;k[(k[o>>2]|0)+12>>2]=0;G=(Kt(k[K>>2]|0,k[o>>2]|0,q)|0)!=0;fe(k[k[K>>2]>>2]|0,k[q+4>>2]|0);if(G){Jk(k[w>>2]|0);k[J>>2]=0;N=k[J>>2]|0;u=O;return N|0}k[r>>2]=0;while(1){if((k[r>>2]|0)>=(k[n>>2]|0))break a;G=Ez(k[m>>2]|0,k[r>>2]|0)|0;k[s>>2]=G;G=Hz(k[K>>2]|0,k[s>>2]|0,k[(k[(k[p>>2]|0)+4>>2]|0)+((k[r>>2]|0)*20|0)>>2]|0)|0;k[(k[w>>2]|0)+20+(k[r>>2]<<2)>>2]=G;k[r>>2]=(k[r>>2]|0)+1}}}else if(k[a>>2]|0){k[t>>2]=k[(k[L>>2]|0)+20>>2];s=Aw(k[m>>2]|0)|0;i[x>>0]=s;i[x>>0]=i[x>>0]|0?s:65;if(k[w>>2]|0){s=Bw(k[K>>2]|0,k[(k[L>>2]|0)+12>>2]|0)|0;k[(k[w>>2]|0)+20>>2]=s}s=Yv(k[K>>2]|0)|0;k[A>>2]=s;s=Yv(k[K>>2]|0)|0;k[B>>2]=s;if(k[F>>2]|0)_u(k[I>>2]|0,79,0,k[B>>2]|0)|0;k[y>>2]=k[k[t>>2]>>2];k[z>>2]=k[(k[t>>2]|0)+4>>2];while(1){if((k[y>>2]|0)<=0)break;k[D>>2]=k[k[z>>2]>>2];if((k[N>>2]|0)>=0?(oz(k[D>>2]|0)|0)==0:0){$y(k[I>>2]|0,k[N>>2]|0)|0;k[N>>2]=-1}if(k[F>>2]|0?bx(k[D>>2]|0,E)|0:0)$u(k[I>>2]|0,116,k[(k[L>>2]|0)+28>>2]|0,k[B>>2]|0,k[E>>2]|0)|0;else G=30;do if((G|0)==30){G=0;a=fz(k[K>>2]|0,k[D>>2]|0,k[A>>2]|0)|0;k[C>>2]=a;a=k[I>>2]|0;b=k[C>>2]|0;if(k[F>>2]|0){_u(a,17,b,(Zv(k[I>>2]|0)|0)+2|0)|0;$u(k[I>>2]|0,115,k[(k[L>>2]|0)+28>>2]|0,k[B>>2]|0,k[C>>2]|0)|0;break}else{cv(a,99,b,1,k[B>>2]|0,x,1)|0;jz(k[K>>2]|0,k[C>>2]|0,1);_u(k[I>>2]|0,126,k[(k[L>>2]|0)+28>>2]|0,k[B>>2]|0)|0;break}}while(0);k[y>>2]=(k[y>>2]|0)+-1;k[z>>2]=(k[z>>2]|0)+20}_v(k[K>>2]|0,k[A>>2]|0);_v(k[K>>2]|0,k[B>>2]|0)}while(0);if(k[w>>2]|0)dv(k[I>>2]|0,k[v>>2]|0,k[w>>2]|0,-6)}else{k[g>>2]=k[a+20>>2];if((l[k[L>>2]>>0]|0)==119)a=k[k[k[g>>2]>>2]>>2]|0;else a=1;k[j>>2]=a;Kz(h,0,(k[(k[K>>2]|0)+44>>2]|0)+1|0);G=(k[K>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+(k[j>>2]|0);if((l[k[L>>2]>>0]|0)==119){i[h>>0]=10;k[h+12>>2]=k[h+8>>2];k[h+16>>2]=k[j>>2];$u(k[I>>2]|0,79,0,k[h+8>>2]|0,(k[h+8>>2]|0)+(k[j>>2]|0)-1|0)|0}else{i[h>>0]=3;_u(k[I>>2]|0,76,0,k[h+8>>2]|0)|0}Yk(k[k[K>>2]>>2]|0,k[(k[g>>2]|0)+56>>2]|0);G=eu(k[k[K>>2]>>2]|0,134,4260,0)|0;k[(k[g>>2]|0)+56>>2]=G;k[(k[g>>2]|0)+12>>2]=0;G=(k[g>>2]|0)+8|0;k[G>>2]=k[G>>2]&-1025;if(!(Kt(k[K>>2]|0,k[g>>2]|0,h)|0)){k[H>>2]=k[h+8>>2];break}k[J>>2]=0;N=k[J>>2]|0;u=O;return N|0}while(0);if(k[M>>2]|0)Iz(k[I>>2]|0,k[(k[L>>2]|0)+28>>2]|0,k[M>>2]|0);if((k[N>>2]|0)>=0)xy(k[I>>2]|0,k[N>>2]|0);Sy(k[K>>2]|0);k[J>>2]=k[H>>2];N=k[J>>2]|0;u=O;return N|0}function tz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=u;u=u+128|0;G=L+120|0;H=L+116|0;I=L+112|0;J=L+108|0;K=L+104|0;p=L+100|0;q=L+96|0;r=L+92|0;s=L+88|0;t=L+84|0;v=L+80|0;w=L+76|0;x=L+68|0;y=L+64|0;e=L+60|0;z=L+56|0;A=L+52|0;B=L+48|0;C=L+44|0;f=L+40|0;g=L+36|0;h=L+32|0;j=L+28|0;l=L+24|0;m=L+20|0;n=L+16|0;o=L+12|0;D=L+8|0;E=L+4|0;F=L;k[G>>2]=a;k[H>>2]=b;k[I>>2]=c;k[J>>2]=d;k[K>>2]=0;k[t>>2]=0;k[v>>2]=0;k[z>>2]=0;k[x>>2]=k[(k[H>>2]|0)+12>>2];if(Az(k[G>>2]|0,k[H>>2]|0)|0){u=L;return}d=Bz(k[G>>2]|0,k[H>>2]|0)|0;k[v>>2]=d;d=Bx(k[(k[H>>2]|0)+12>>2]|0)|0;k[w>>2]=d;d=im(k[k[G>>2]>>2]|0,((k[w>>2]|0)*5|0)+1|0,0)|0;k[t>>2]=d;if(!(i[(k[k[G>>2]>>2]|0)+69>>0]|0)){k[s>>2]=k[(k[G>>2]|0)+8>>2];d=Cz(k[G>>2]|0,k[H>>2]|0,3,(k[I>>2]|0)==(k[J>>2]|0)?0:K,k[t>>2]|0)|0;k[p>>2]=d;Uy(k[G>>2]|0);d=vz(k[G>>2]|0,k[x>>2]|0,L+72|0)|0;k[r>>2]=d;k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[w>>2]|0))break;if((k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0)!=(k[y>>2]|0))break;k[y>>2]=(k[y>>2]|0)+1}a:do if((k[y>>2]|0)==(k[w>>2]|0))k[q>>2]=k[r>>2];else{d=Wy(k[G>>2]|0,k[w>>2]|0)|0;k[q>>2]=d;k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[w>>2]|0))break a;$u(k[s>>2]|0,84,(k[r>>2]|0)+(k[y>>2]|0)|0,(k[q>>2]|0)+(k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0)|0,0)|0;k[y>>2]=(k[y>>2]|0)+1}}while(0);b:do if((k[p>>2]|0)==5){k[f>>2]=k[(k[H>>2]|0)+20>>2];K=Bw(k[G>>2]|0,k[(k[H>>2]|0)+12>>2]|0)|0;k[g>>2]=K;K=uy(k[s>>2]|0)|0;k[h>>2]=K;k[m>>2]=0;if((k[J>>2]|0)!=(k[I>>2]|0)){K=Yv(k[G>>2]|0)|0;k[m>>2]=K;$u(k[s>>2]|0,43,k[q>>2]|0,k[q>>2]|0,k[m>>2]|0)|0}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[k[f>>2]>>2]|0))break;K=mz(k[G>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,l)|0;k[j>>2]=K;if(k[m>>2]|0?Dz(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0)|0:0)$u(k[s>>2]|0,43,k[m>>2]|0,k[j>>2]|0,k[m>>2]|0)|0;if((k[n>>2]|0)>=((k[k[f>>2]>>2]|0)-1|0)?(k[J>>2]|0)==(k[I>>2]|0):0){cv(k[s>>2]|0,36,k[q>>2]|0,k[I>>2]|0,k[j>>2]|0,k[g>>2]|0,-4)|0;ty(k[s>>2]|0,(i[k[v>>2]>>0]|16)&255)}else{cv(k[s>>2]|0,37,k[q>>2]|0,k[h>>2]|0,k[j>>2]|0,k[g>>2]|0,-4)|0;ty(k[s>>2]|0,i[k[v>>2]>>0]|0)}_v(k[G>>2]|0,k[l>>2]|0);k[n>>2]=(k[n>>2]|0)+1}if(k[m>>2]|0){_u(k[s>>2]|0,34,k[m>>2]|0,k[J>>2]|0)|0;wy(k[s>>2]|0,k[I>>2]|0)|0}yy(k[s>>2]|0,k[h>>2]|0);_v(k[G>>2]|0,k[m>>2]|0)}else{if((k[J>>2]|0)==(k[I>>2]|0))k[e>>2]=k[I>>2];else{n=uy(k[s>>2]|0)|0;k[z>>2]=n;k[e>>2]=n}k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[w>>2]|0))break;n=Ez(k[(k[H>>2]|0)+12>>2]|0,k[y>>2]|0)|0;k[o>>2]=n;if(Dz(k[o>>2]|0)|0)_u(k[s>>2]|0,34,(k[q>>2]|0)+(k[y>>2]|0)|0,k[e>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+1}a=k[s>>2]|0;do if((k[p>>2]|0)!=1){cv(a,98,k[q>>2]|0,k[w>>2]|0,0,k[v>>2]|0,k[w>>2]|0)|0;a=k[s>>2]|0;b=k[(k[H>>2]|0)+28>>2]|0;if((k[I>>2]|0)==(k[J>>2]|0)){Jy(a,30,b,k[I>>2]|0,k[q>>2]|0,k[w>>2]|0)|0;break b}else{p=Jy(a,31,b,0,k[q>>2]|0,k[w>>2]|0)|0;k[A>>2]=p;break}}else{$u(a,32,k[(k[H>>2]|0)+28>>2]|0,k[I>>2]|0,k[q>>2]|0)|0;p=Xu(k[s>>2]|0,13)|0;k[A>>2]=p}while(0);if((k[K>>2]|0)!=0&(k[w>>2]|0)==1)_u(k[s>>2]|0,35,k[K>>2]|0,k[I>>2]|0)|0;if((k[I>>2]|0)==(k[J>>2]|0))wy(k[s>>2]|0,k[I>>2]|0)|0;if(k[z>>2]|0)yy(k[s>>2]|0,k[z>>2]|0);K=_u(k[s>>2]|0,57,k[(k[H>>2]|0)+28>>2]|0,k[I>>2]|0)|0;k[C>>2]=K;if((k[w>>2]|0)>1){K=uy(k[s>>2]|0)|0;k[B>>2]=K}else k[B>>2]=k[I>>2];k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[w>>2]|0))break;K=Yv(k[G>>2]|0)|0;k[F>>2]=K;K=Ez(k[x>>2]|0,k[y>>2]|0)|0;k[D>>2]=K;K=Bw(k[G>>2]|0,k[D>>2]|0)|0;k[E>>2]=K;$u(k[s>>2]|0,96,k[(k[H>>2]|0)+28>>2]|0,k[y>>2]|0,k[F>>2]|0)|0;cv(k[s>>2]|0,36,(k[q>>2]|0)+(k[y>>2]|0)|0,k[B>>2]|0,k[F>>2]|0,k[E>>2]|0,-4)|0;_v(k[G>>2]|0,k[F>>2]|0);k[y>>2]=(k[y>>2]|0)+1}_u(k[s>>2]|0,13,0,k[J>>2]|0)|0;if((k[w>>2]|0)>1){yy(k[s>>2]|0,k[B>>2]|0);_u(k[s>>2]|0,7,k[(k[H>>2]|0)+28>>2]|0,(k[C>>2]|0)+1|0)|0;_u(k[s>>2]|0,13,0,k[I>>2]|0)|0}xy(k[s>>2]|0,k[A>>2]|0)}while(0);if((k[q>>2]|0)!=(k[r>>2]|0))_v(k[G>>2]|0,k[q>>2]|0);Sy(k[G>>2]|0)}fe(k[k[G>>2]>>2]|0,k[t>>2]|0);fe(k[k[G>>2]>>2]|0,k[v>>2]|0);u=L;return}function uz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+216|0;n=r+212|0;o=r+208|0;p=r+204|0;q=r+200|0;f=r+152|0;g=r+104|0;h=r+56|0;j=r+8|0;l=r;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[l>>2]=0;a=g;c=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));a=h;c=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));a=f;c=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));a=j;b=k[(k[n>>2]|0)+12>>2]|0;c=a+48|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[f>>0]=28;k[f+12>>2]=g;k[f+16>>2]=h;i[g>>0]=41;k[g+12>>2]=j;k[g+16>>2]=k[k[(k[(k[n>>2]|0)+20>>2]|0)+4>>2]>>2];i[h>>0]=39;k[h+12>>2]=j;k[h+16>>2]=k[(k[(k[(k[n>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];wz(j,vz(k[m>>2]|0,j,l)|0);if(k[p>>2]|0){Yb[k[p>>2]&255](k[m>>2]|0,f,k[o>>2]|0,k[q>>2]|0);p=k[m>>2]|0;q=k[l>>2]|0;_v(p,q);u=r;return}else{p=j+4|0;k[p>>2]=k[p>>2]|1;fz(k[m>>2]|0,f,k[o>>2]|0)|0;p=k[m>>2]|0;q=k[l>>2]|0;_v(p,q);u=r;return}}function vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+20|0;f=j+16|0;d=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[d>>2]=c;c=Bx(k[f>>2]|0)|0;k[h>>2]=c;if((k[h>>2]|0)==1){i=mz(k[e>>2]|0,k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=i;i=k[g>>2]|0;u=j;return i|0}k[k[d>>2]>>2]=0;a=k[e>>2]|0;if((l[k[f>>2]>>0]|0|0)==119){i=sz(a,k[f>>2]|0,0,0)|0;k[g>>2]=i;i=k[g>>2]|0;u=j;return i|0}k[g>>2]=(k[a+44>>2]|0)+1;d=(k[e>>2]|0)+44|0;k[d>>2]=(k[d>>2]|0)+(k[h>>2]|0);k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[h>>2]|0))break;ez(k[e>>2]|0,k[(k[(k[(k[f>>2]|0)+20>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,(k[i>>2]|0)+(k[g>>2]|0)|0);k[i>>2]=(k[i>>2]|0)+1}i=k[g>>2]|0;u=j;return i|0}function wz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[(k[d>>2]|0)+38>>0]=i[k[d>>2]>>0]|0;i[k[d>>2]>>0]=-99;k[(k[d>>2]|0)+28>>2]=k[e>>2];b=(k[d>>2]|0)+4|0;k[b>>2]=k[b>>2]&-4097;u=c;return}function xz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+48|0;m=t+44|0;n=t+40|0;o=t+36|0;p=t+32|0;q=t+28|0;r=t+24|0;e=t+20|0;f=t+16|0;g=t+12|0;h=t+8|0;i=t+4|0;j=t;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=k[(k[m>>2]|0)+8>>2];k[r>>2]=0;k[e>>2]=0;k[f>>2]=0;if((k[q>>2]|0)==0|(k[n>>2]|0)==0){u=t;return}k[r>>2]=((l[k[n>>2]>>0]|0)+0^1)-0;a:do switch(l[k[n>>2]>>0]|0|0){case 28:{xz(k[m>>2]|0,k[(k[n>>2]|0)+12>>2]|0,k[o>>2]|0,k[p>>2]|0);Uy(k[m>>2]|0);xz(k[m>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[o>>2]|0,k[p>>2]|0);Sy(k[m>>2]|0);break}case 27:{r=uy(k[q>>2]|0)|0;k[i>>2]=r;yz(k[m>>2]|0,k[(k[n>>2]|0)+12>>2]|0,k[i>>2]|0,k[p>>2]^16);Uy(k[m>>2]|0);xz(k[m>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[o>>2]|0,k[p>>2]|0);yy(k[q>>2]|0,k[i>>2]|0);Sy(k[m>>2]|0);break}case 19:{yz(k[m>>2]|0,k[(k[n>>2]|0)+12>>2]|0,k[o>>2]|0,k[p>>2]|0);break}case 148:case 29:{k[r>>2]=(l[k[n>>2]>>0]|0|0)==29?36:37;k[p>>2]=128;s=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{s=7;break}case 35:case 34:{p=mz(k[m>>2]|0,k[(k[n>>2]|0)+12>>2]|0,e)|0;k[g>>2]=p;_u(k[q>>2]|0,k[r>>2]|0,k[g>>2]|0,k[o>>2]|0)|0;break}case 32:{uz(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,134,k[p>>2]|0);break}case 33:if(k[p>>2]|0){tz(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[o>>2]|0);break a}else{r=uy(k[q>>2]|0)|0;k[j>>2]=r;tz(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[j>>2]|0);yy(k[q>>2]|0,k[j>>2]|0);break a}default:s=14}while(0);if((s|0)==7)if(kz(k[(k[n>>2]|0)+12>>2]|0)|0)s=14;else{q=mz(k[m>>2]|0,k[(k[n>>2]|0)+12>>2]|0,e)|0;k[g>>2]=q;q=mz(k[m>>2]|0,k[(k[n>>2]|0)+16>>2]|0,f)|0;k[h>>2]=q;nz(k[m>>2]|0,k[(k[n>>2]|0)+12>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[r>>2]|0,k[g>>2]|0,k[h>>2]|0,k[o>>2]|0,k[p>>2]|0)|0}do if((s|0)==14){if(Xx(k[n>>2]|0)|0){wy(k[q>>2]|0,k[o>>2]|0)|0;break}if(!(zz(k[n>>2]|0)|0)){s=mz(k[m>>2]|0,k[n>>2]|0,e)|0;k[g>>2]=s;$u(k[q>>2]|0,22,k[g>>2]|0,k[o>>2]|0,(k[p>>2]|0)!=0&1)|0}}while(0);_v(k[m>>2]|0,k[e>>2]|0);_v(k[m>>2]|0,k[f>>2]|0);u=t;return}function yz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+64|0;n=v+48|0;o=v+44|0;p=v+40|0;q=v+36|0;r=v+32|0;s=v+28|0;e=v+24|0;f=v+20|0;g=v+16|0;h=v+12|0;i=v+8|0;j=v+4|0;m=v;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[r>>2]=k[(k[n>>2]|0)+8>>2];k[s>>2]=0;k[e>>2]=0;k[f>>2]=0;if((k[r>>2]|0)==0|(k[o>>2]|0)==0){u=v;return}k[s>>2]=l[k[o>>2]>>0];switch(k[s>>2]|0){case 28:{s=uy(k[r>>2]|0)|0;k[i>>2]=s;xz(k[n>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[i>>2]|0,k[q>>2]^16);Uy(k[n>>2]|0);yz(k[n>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[p>>2]|0,k[q>>2]|0);yy(k[r>>2]|0,k[i>>2]|0);Sy(k[n>>2]|0);break}case 27:{yz(k[n>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[p>>2]|0,k[q>>2]|0);Uy(k[n>>2]|0);yz(k[n>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[p>>2]|0,k[q>>2]|0);Sy(k[n>>2]|0);break}case 19:{xz(k[n>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[p>>2]|0,k[q>>2]|0);break}case 148:case 29:{k[s>>2]=(k[s>>2]|0)==29?37:36;k[q>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{q=mz(k[n>>2]|0,k[(k[o>>2]|0)+12>>2]|0,e)|0;k[g>>2]=q;_u(k[r>>2]|0,k[s>>2]|0,k[g>>2]|0,k[p>>2]|0)|0;break}case 32:{uz(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,135,k[q>>2]|0);break}case 33:{s=uy(k[r>>2]|0)|0;k[j>>2]=s;k[m>>2]=k[q>>2]|0?k[p>>2]|0:k[j>>2]|0;tz(k[n>>2]|0,k[o>>2]|0,k[j>>2]|0,k[m>>2]|0);wy(k[r>>2]|0,k[p>>2]|0)|0;yy(k[r>>2]|0,k[j>>2]|0);break}default:t=12}if((t|0)==7)if(kz(k[(k[o>>2]|0)+12>>2]|0)|0)t=12;else{r=mz(k[n>>2]|0,k[(k[o>>2]|0)+12>>2]|0,e)|0;k[g>>2]=r;r=mz(k[n>>2]|0,k[(k[o>>2]|0)+16>>2]|0,f)|0;k[h>>2]=r;nz(k[n>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[s>>2]|0,k[g>>2]|0,k[h>>2]|0,k[p>>2]|0,k[q>>2]|0)|0}do if((t|0)==12){if(zz(k[o>>2]|0)|0){wy(k[r>>2]|0,k[p>>2]|0)|0;break}if(!(Xx(k[o>>2]|0)|0)){t=mz(k[n>>2]|0,k[o>>2]|0,e)|0;k[g>>2]=t;$u(k[r>>2]|0,21,k[g>>2]|0,k[p>>2]|0,(k[q>>2]|0)!=0&1)|0}}while(0);_v(k[n>>2]|0,k[e>>2]|0);_v(k[n>>2]|0,k[f>>2]|0);u=v;return}function zz(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;do if(!(k[(k[c>>2]|0)+4>>2]&1|0))if(bx(k[c>>2]|0,d)|0){k[b>>2]=(k[d>>2]|0)!=0&1;break}else{k[b>>2]=0;break}else k[b>>2]=0;while(0);u=e;return k[b>>2]|0}function Az(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;g=h;d=h+16|0;c=h+12|0;e=h+8|0;f=h+4|0;k[c>>2]=a;k[e>>2]=b;a=Bx(k[(k[e>>2]|0)+12>>2]|0)|0;k[f>>2]=a;a=k[f>>2]|0;if(k[(k[e>>2]|0)+4>>2]&2048|0){if((a|0)!=(k[k[k[(k[e>>2]|0)+20>>2]>>2]>>2]|0)){rz(k[c>>2]|0,k[k[k[(k[e>>2]|0)+20>>2]>>2]>>2]|0,k[f>>2]|0);k[d>>2]=1;g=k[d>>2]|0;u=h;return g|0}}else if((a|0)!=1){a=k[c>>2]|0;if(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]&2048|0)rz(a,k[f>>2]|0,1);else Cl(a,29254,g);k[d>>2]=1;g=k[d>>2]|0;u=h;return g|0}k[d>>2]=0;g=k[d>>2]|0;u=h;return g|0}function Bz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=u;u=u+48|0;d=n+28|0;c=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;l=n+4|0;m=n;e=n+32|0;k[d>>2]=a;k[c>>2]=b;k[f>>2]=k[(k[c>>2]|0)+12>>2];b=Bx(k[f>>2]|0)|0;k[g>>2]=b;if(k[(k[c>>2]|0)+4>>2]&2048|0)a=k[(k[c>>2]|0)+20>>2]|0;else a=0;k[h>>2]=a;c=(k[g>>2]|0)+1|0;d=im(k[k[d>>2]>>2]|0,c,((c|0)<0)<<31>>31)|0;k[j>>2]=d;if(!(k[j>>2]|0)){m=k[j>>2]|0;u=n;return m|0}k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[g>>2]|0))break;d=Ez(k[f>>2]|0,k[l>>2]|0)|0;k[m>>2]=d;d=Aw(k[m>>2]|0)|0;i[e>>0]=d;if(k[h>>2]|0){a=Gz(k[(k[(k[k[h>>2]>>2]|0)+4>>2]|0)+((k[l>>2]|0)*20|0)>>2]|0,i[e>>0]|0)|0;b=(k[j>>2]|0)+(k[l>>2]|0)|0}else{a=i[e>>0]|0;b=(k[j>>2]|0)+(k[l>>2]|0)|0}i[b>>0]=a;k[l>>2]=(k[l>>2]|0)+1}i[(k[j>>2]|0)+(k[g>>2]|0)>>0]=0;m=k[j>>2]|0;u=n;return m|0}function Cz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=u;u=u+160|0;W=X+16|0;R=X+140|0;S=X+136|0;T=X+132|0;U=X+128|0;V=X+124|0;f=X+120|0;g=X+116|0;h=X+112|0;n=X+108|0;o=X+104|0;p=X+100|0;q=X+96|0;r=X+92|0;s=X+88|0;t=X+144|0;v=X+84|0;w=X+80|0;x=X+76|0;y=X+72|0;z=X+68|0;A=X+64|0;B=X+60|0;C=X+56|0;D=X+147|0;E=X+146|0;F=X+8|0;G=X;H=X+52|0;I=X+48|0;J=X+44|0;K=X+40|0;L=X+36|0;N=X+32|0;O=X+28|0;P=X+24|0;Q=X+20|0;k[R>>2]=a;k[S>>2]=b;k[T>>2]=c;k[U>>2]=d;k[V>>2]=e;k[g>>2]=0;d=(k[R>>2]|0)+40|0;e=k[d>>2]|0;k[d>>2]=e+1;k[h>>2]=e;e=Vu(k[R>>2]|0)|0;k[o>>2]=e;k[n>>2]=(k[T>>2]&4|0)!=0&1;if(k[U>>2]|0?k[(k[S>>2]|0)+4>>2]&2048|0:0){k[q>>2]=k[k[(k[S>>2]|0)+20>>2]>>2];k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[k[q>>2]>>2]|0))break;if(Dz(k[(k[(k[q>>2]|0)+4>>2]|0)+((k[p>>2]|0)*20|0)>>2]|0)|0)break;k[p>>2]=(k[p>>2]|0)+1}if((k[p>>2]|0)==(k[k[q>>2]>>2]|0))k[U>>2]=0}a:do if((k[(k[R>>2]|0)+36>>2]|0)==0?(e=Fz(k[S>>2]|0)|0,k[f>>2]=e,e|0):0){k[r>>2]=k[k[R>>2]>>2];k[v>>2]=k[k[f>>2]>>2];k[w>>2]=k[k[v>>2]>>2];k[s>>2]=k[(k[(k[f>>2]|0)+28>>2]|0)+8+16>>2];e=(Ru(k[r>>2]|0,k[(k[s>>2]|0)+64>>2]|0)|0)&65535;j[t>>1]=e;nv(k[R>>2]|0,j[t>>1]|0);qy(k[R>>2]|0,j[t>>1]|0,k[(k[s>>2]|0)+28>>2]|0,0,k[k[s>>2]>>2]|0);if((k[w>>2]|0)==1?(j[(k[k[(k[v>>2]|0)+4>>2]>>2]|0)+32>>1]|0)<0:0){W=Xu(k[o>>2]|0,20)|0;k[x>>2]=W;ry(k[R>>2]|0,k[h>>2]|0,j[t>>1]|0,k[s>>2]|0,104);k[g>>2]=1;xy(k[o>>2]|0,k[x>>2]|0);break}k[z>>2]=1;k[A>>2]=0;while(1){if(!((k[A>>2]|0)<(k[w>>2]|0)?(k[z>>2]|0)!=0:0))break;e=Ez(k[(k[S>>2]|0)+12>>2]|0,k[A>>2]|0)|0;k[B>>2]=e;k[C>>2]=j[(k[(k[(k[v>>2]|0)+4>>2]|0)+((k[A>>2]|0)*20|0)>>2]|0)+32>>1];e=Jw(k[s>>2]|0,k[C>>2]|0)|0;i[D>>0]=e;e=Gz(k[B>>2]|0,i[D>>0]|0)|0;i[E>>0]=e;if(((i[E>>0]|0)+-65|0)>>>0>=2)k[z>>2]=(i[D>>0]|0)>=67&1;k[A>>2]=(k[A>>2]|0)+1}if(k[z>>2]|0){k[y>>2]=k[(k[s>>2]|0)+8>>2];while(1){if(!(k[y>>2]|0?(k[g>>2]|0)==0:0))break a;do if((m[(k[y>>2]|0)+52>>1]|0)>=(k[w>>2]|0)?(m[(k[y>>2]|0)+52>>1]|0)<63:0){if(k[n>>2]|0){if((m[(k[y>>2]|0)+50>>1]|0)>(k[w>>2]|0))break;if((m[(k[y>>2]|0)+52>>1]|0)>(k[w>>2]|0)?(l[(k[y>>2]|0)+54>>0]|0)==0:0)break}e=F;k[e>>2]=0;k[e+4>>2]=0;k[A>>2]=0;while(1){if((k[A>>2]|0)>=(k[w>>2]|0))break;e=Ez(k[(k[S>>2]|0)+12>>2]|0,k[A>>2]|0)|0;k[H>>2]=e;k[I>>2]=k[(k[(k[v>>2]|0)+4>>2]|0)+((k[A>>2]|0)*20|0)>>2];e=Hz(k[R>>2]|0,k[H>>2]|0,k[I>>2]|0)|0;k[J>>2]=e;k[K>>2]=0;while(1){if((k[K>>2]|0)>=(k[w>>2]|0))break;if((j[(k[(k[y>>2]|0)+4>>2]|0)+(k[K>>2]<<1)>>1]|0)==(j[(k[I>>2]|0)+32>>1]|0)){if(!(k[J>>2]|0))break;if(!(lh(k[k[J>>2]>>2]|0,k[(k[(k[y>>2]|0)+32>>2]|0)+(k[K>>2]<<2)>>2]|0)|0))break}k[K>>2]=(k[K>>2]|0)+1}if((k[K>>2]|0)==(k[w>>2]|0))break;e=t0(1,0,k[K>>2]|0)|0;d=G;k[d>>2]=e;k[d+4>>2]=M;d=G;e=F;if(k[d>>2]&k[e>>2]|0?1:(k[d+4>>2]&k[e+4>>2]|0)!=0)break;E=G;D=F;d=k[D+4>>2]|k[E+4>>2];e=F;k[e>>2]=k[D>>2]|k[E>>2];k[e+4>>2]=d;if(k[V>>2]|0)k[(k[V>>2]|0)+(k[A>>2]<<2)>>2]=k[K>>2];k[A>>2]=(k[A>>2]|0)+1}e=F;E=k[e>>2]|0;e=k[e+4>>2]|0;d=t0(1,0,k[w>>2]|0)|0;d=h0(d|0,M|0,1,0)|0;if((E|0)==(d|0)&(e|0)==(M|0)){d=Xu(k[o>>2]|0,20)|0;k[L>>2]=d;d=k[o>>2]|0;e=k[r>>2]|0;k[W>>2]=k[k[y>>2]>>2];cv(d,162,0,0,0,ek(e,30460,W)|0,-1)|0;$u(k[o>>2]|0,104,k[h>>2]|0,k[(k[y>>2]|0)+44>>2]|0,j[t>>1]|0)|0;sy(k[R>>2]|0,k[y>>2]|0);k[g>>2]=3+(l[k[(k[y>>2]|0)+28>>2]>>0]|0);if(k[U>>2]|0?(d=(k[R>>2]|0)+44|0,e=(k[d>>2]|0)+1|0,k[d>>2]=e,k[k[U>>2]>>2]=e,(k[w>>2]|0)==1):0)Iz(k[o>>2]|0,k[h>>2]|0,k[k[U>>2]>>2]|0);xy(k[o>>2]|0,k[L>>2]|0)}}while(0);k[y>>2]=k[(k[y>>2]|0)+20>>2]}}}while(0);do if(((k[g>>2]|0)==0?k[T>>2]&1|0:0)?(k[(k[S>>2]|0)+4>>2]&2048|0)==0:0){if(Jz(k[S>>2]|0)|0?(k[k[(k[S>>2]|0)+20>>2]>>2]|0)>2:0)break;k[g>>2]=5}while(0);if(!(k[g>>2]|0)){k[N>>2]=k[(k[R>>2]|0)+136>>2];k[O>>2]=0;k[g>>2]=2;if(k[T>>2]&4|0){k[(k[R>>2]|0)+136>>2]=0;if((j[(k[(k[S>>2]|0)+12>>2]|0)+32>>1]|0)<0?(k[(k[S>>2]|0)+4>>2]&2048|0)==0:0)k[g>>2]=1}else if(k[U>>2]|0){T=(k[R>>2]|0)+44|0;W=(k[T>>2]|0)+1|0;k[T>>2]=W;k[O>>2]=W;k[k[U>>2]>>2]=W}sz(k[R>>2]|0,k[S>>2]|0,k[O>>2]|0,(k[g>>2]|0)==1&1)|0;k[(k[R>>2]|0)+136>>2]=k[N>>2]}else k[(k[S>>2]|0)+28>>2]=k[h>>2];if(!((k[V>>2]|0)!=0&(k[g>>2]|0)!=3&(k[g>>2]|0)!=4)){W=k[g>>2]|0;u=X;return W|0}W=Bx(k[(k[S>>2]|0)+12>>2]|0)|0;k[Q>>2]=W;k[P>>2]=0;while(1){if((k[P>>2]|0)>=(k[Q>>2]|0))break;k[(k[V>>2]|0)+(k[P>>2]<<2)>>2]=k[P>>2];k[P>>2]=(k[P>>2]|0)+1}W=k[g>>2]|0;u=X;return W|0}function Dz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;e=f+4|0;c=f;d=f+8|0;k[c>>2]=a;while(1){if((l[k[c>>2]>>0]|0)==156)b=1;else b=(l[k[c>>2]>>0]|0)==155;a=k[c>>2]|0;if(!b)break;k[c>>2]=k[a+12>>2]}i[d>>0]=i[a>>0]|0;if((l[d>>0]|0)==157)i[d>>0]=i[(k[c>>2]|0)+38>>0]|0;switch(l[d>>0]|0){case 133:case 132:case 97:case 134:{k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}case 152:{if(!(k[(k[c>>2]|0)+4>>2]&1048576|0))if((j[(k[c>>2]|0)+32>>1]|0)>=0)a=(l[(k[(k[(k[c>>2]|0)+44>>2]|0)+4>>2]|0)+(j[(k[c>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else a=0;else a=1;k[e>>2]=a&1;e=k[e>>2]|0;u=f;return e|0}default:{k[e>>2]=1;e=k[e>>2]|0;u=f;return e|0}}return 0}function Ez(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;b=(kz(k[d>>2]|0)|0)!=0;a=k[d>>2]|0;if(!b){k[c>>2]=a;e=k[c>>2]|0;u=f;return e|0}if((l[a>>0]|0|0)!=119?(l[(k[d>>2]|0)+38>>0]|0|0)!=119:0){k[c>>2]=k[(k[(k[(k[d>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2];e=k[c>>2]|0;u=f;return e|0}k[c>>2]=k[(k[(k[k[(k[d>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2];e=k[c>>2]|0;u=f;return e|0}function Fz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;h=j+28|0;b=j+24|0;i=j+20|0;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;k[b>>2]=a;do if(k[(k[b>>2]|0)+4>>2]&2048|0){if(k[(k[b>>2]|0)+4>>2]&32|0){k[h>>2]=0;break}k[i>>2]=k[(k[b>>2]|0)+20>>2];if(k[(k[i>>2]|0)+48>>2]|0){k[h>>2]=0;break}if(k[(k[i>>2]|0)+8>>2]&9|0){k[h>>2]=0;break}if(k[(k[i>>2]|0)+56>>2]|0){k[h>>2]=0;break}if(k[(k[i>>2]|0)+32>>2]|0){k[h>>2]=0;break}k[c>>2]=k[(k[i>>2]|0)+28>>2];if((k[k[c>>2]>>2]|0)!=1){k[h>>2]=0;break}if(k[(k[c>>2]|0)+8+20>>2]|0){k[h>>2]=0;break}k[e>>2]=k[(k[c>>2]|0)+8+16>>2];if((l[(k[e>>2]|0)+42>>0]|0)&16|0){k[h>>2]=0;break}k[d>>2]=k[k[i>>2]>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[d>>2]>>2]|0)){a=24;break}k[g>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2];if((l[k[g>>2]>>0]|0|0)!=152){a=22;break}k[f>>2]=(k[f>>2]|0)+1}if((a|0)==22){k[h>>2]=0;break}else if((a|0)==24){k[h>>2]=k[i>>2];break}}else k[h>>2]=0;while(0);u=j;return k[h>>2]|0}function Gz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;c=f+6|0;g=f;d=f+5|0;e=f+4|0;k[g>>2]=a;i[d>>0]=b;b=Aw(k[g>>2]|0)|0;i[e>>0]=b;if(i[e>>0]|0?i[d>>0]|0:0){if((i[e>>0]|0)<67?(i[d>>0]|0)<67:0){i[c>>0]=65;g=i[c>>0]|0;u=f;return g|0}i[c>>0]=67;g=i[c>>0]|0;u=f;return g|0}if((i[e>>0]|0)!=0|(i[d>>0]|0)!=0){i[c>>0]=(i[e>>0]|0)+(i[d>>0]|0);g=i[c>>0]|0;u=f;return g|0}else{i[c>>0]=65;g=i[c>>0]|0;u=f;return g|0}return 0}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+4>>2]&256|0){f=Bw(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;u=h;return g|0}if(k[f>>2]|0?k[(k[f>>2]|0)+4>>2]&256|0:0){f=Bw(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;u=h;return g|0}e=Bw(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=e;if(k[g>>2]|0){g=k[g>>2]|0;u=h;return g|0}f=Bw(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;u=h;return g|0}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=u;u=u+16|0;f=d+12|0;h=d+8|0;g=d+4|0;e=d;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;_u(k[f>>2]|0,76,0,k[g>>2]|0)|0;c=oy(k[f>>2]|0,57,k[h>>2]|0)|0;k[e>>2]=c;$u(k[f>>2]|0,96,k[h>>2]|0,0,k[g>>2]|0)|0;ty(k[f>>2]|0,-128);xy(k[f>>2]|0,k[e>>2]|0);u=d;return}function Jz(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;b=c;k[d>>2]=a;k[e>>2]=k[(k[d>>2]|0)+12>>2];k[(k[d>>2]|0)+12>>2]=0;a=oz(k[d>>2]|0)|0;k[b>>2]=a;k[(k[d>>2]|0)+12>>2]=k[e>>2];u=c;return k[b>>2]|0}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;i[k[e>>2]>>0]=k[g>>2];k[(k[e>>2]|0)+8>>2]=k[f>>2];k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=0;k[(k[e>>2]|0)+16>>2]=0;u=d;return}function Lz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0;m=u;u=u+32|0;e=m+16|0;n=m+12|0;f=m+8|0;g=m+20|0;h=m+4|0;j=m;k[e>>2]=a;k[n>>2]=b;k[f>>2]=c;i[g>>0]=d;k[h>>2]=k[(k[e>>2]|0)+80>>2];d=ex(k[k[e>>2]>>2]|0,k[n>>2]|0,0)|0;k[n>>2]=d;d=Ot(k[e>>2]|0,k[h>>2]|0,k[n>>2]|0)|0;k[h>>2]=d;if(!(k[h>>2]|0)){j=k[h>>2]|0;n=k[e>>2]|0;n=n+80|0;k[n>>2]=j;u=m;return}k[j>>2]=(k[(k[h>>2]|0)+4>>2]|0)+(((k[k[h>>2]>>2]|0)-1|0)*20|0);k[(k[j>>2]|0)+16>>2]=k[f>>2];j=(k[j>>2]|0)+13|0;i[j>>0]=i[j>>0]&-5|((l[g>>0]|0)&1)<<2&255;j=k[h>>2]|0;n=k[e>>2]|0;n=n+80|0;k[n>>2]=j;u=m;return}function Mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=u;u=u+48|0;f=e+36|0;h=e+32|0;g=e+28|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+20>>0]=k[h>>2];k[d+4>>2]=204;k[d+8>>2]=205;k[d+24>>2]=k[g>>2];Uw(d,k[f>>2]|0)|0;u=e;return l[d+20>>0]|0|0}function Nz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+8|0;d=g+4|0;e=g;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+20>>0]|0|0)==2?k[(k[e>>2]|0)+4>>2]&1|0:0){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2}else f=4;a:do if((f|0)==4){b:do switch(l[k[e>>2]>>0]|0|0){case 151:{if((l[(k[d>>2]|0)+20>>0]|0|0)<4?(k[(k[e>>2]|0)+4>>2]&524288|0)==0:0){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}k[c>>2]=0;break a}case 154:case 153:case 152:case 55:{if((l[(k[d>>2]|0)+20>>0]|0|0)==3?(k[(k[e>>2]|0)+28>>2]|0)==(k[(k[d>>2]|0)+24>>2]|0):0){k[c>>2]=0;break a}i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}case 135:{if((l[(k[d>>2]|0)+20>>0]|0|0)==5){i[k[e>>2]>>0]=101;break b}if((l[(k[d>>2]|0)+20>>0]|0|0)==4){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}break}default:{}}while(0);k[c>>2]=0}while(0);u=g;return k[c>>2]|0}function Oz(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;i[(k[d>>2]|0)+20>>0]=0;u=c;return 2}function Pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=u;u=u+16|0;g=e+8|0;h=e+4|0;f=e;d=e+12|0;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;c=Aw(k[h>>2]|0)|0;i[d>>0]=c;c=(Gz(k[g>>2]|0,i[d>>0]|0)|0)&255;i[d>>0]=c|k[f>>2]&255;u=e;return i[d>>0]|0}function Qz(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=Mz(k[c>>2]|0,2,0)|0;u=b;return a|0}function Rz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((l[k[d>>2]>>0]|0|0)!=119){e=k[e>>2]|0;u=f;return e|0}d=sz(k[c>>2]|0,k[d>>2]|0,0,0)|0;k[e>>2]=d;e=k[e>>2]|0;u=f;return e|0}function Sz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;o=r+24|0;p=r+20|0;g=r+16|0;q=r+12|0;h=r+8|0;j=r+4|0;m=r;n=r+28|0;k[p>>2]=a;k[g>>2]=b;k[q>>2]=c;k[h>>2]=d;k[j>>2]=e;k[m>>2]=f;i[n>>0]=i[k[g>>2]>>0]|0;if((l[n>>0]|0|0)==157){p=Ez(k[g>>2]|0,k[q>>2]|0)|0;k[k[j>>2]>>2]=p;k[o>>2]=(k[(k[g>>2]|0)+28>>2]|0)+(k[q>>2]|0);q=k[o>>2]|0;u=r;return q|0}a=(k[g>>2]|0)+20|0;if((l[n>>0]|0|0)==119){k[k[j>>2]>>2]=k[(k[(k[k[a>>2]>>2]|0)+4>>2]|0)+((k[q>>2]|0)*20|0)>>2];k[o>>2]=(k[h>>2]|0)+(k[q>>2]|0);q=k[o>>2]|0;u=r;return q|0}else{k[k[j>>2]>>2]=k[(k[(k[a>>2]|0)+4>>2]|0)+((k[q>>2]|0)*20|0)>>2];q=mz(k[p>>2]|0,k[k[j>>2]>>2]|0,k[m>>2]|0)|0;k[o>>2]=q;q=k[o>>2]|0;u=r;return q|0}return 0}function Tz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;o=r+28|0;p=r+24|0;q=r+20|0;h=r+16|0;j=r+12|0;l=r+8|0;m=r+4|0;n=r;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[h>>2]=d;k[j>>2]=e;k[l>>2]=f;k[m>>2]=g;g=Od(Qs(k[o>>2]|0)|0,8,0)|0;k[n>>2]=g;if(k[n>>2]|0){g=k[n>>2]|0;f=k[l>>2]|0;i[g>>0]=i[f>>0]|0;i[g+1>>0]=i[f+1>>0]|0;i[g+2>>0]=i[f+2>>0]|0;i[g+3>>0]=i[f+3>>0]|0;i[g+4>>0]=i[f+4>>0]|0;i[g+5>>0]=i[f+5>>0]|0;i[g+6>>0]=i[f+6>>0]|0;i[g+7>>0]=i[f+7>>0]|0}q=cv(k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[h>>2]|0,k[j>>2]|0,k[n>>2]|0,k[m>>2]|0)|0;u=r;return q|0}function Uz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;h=j+24|0;c=j+20|0;d=j+16|0;e=j;f=j+12|0;g=j+8|0;k[c>>2]=a;k[d>>2]=b;do if((i[k[c>>2]>>0]|0)==48){if((i[(k[c>>2]|0)+1>>0]|0)!=120?(i[(k[c>>2]|0)+1>>0]|0)!=88:0)break;b=e;k[b>>2]=0;k[b+4>>2]=0;k[f>>2]=2;while(1){a=k[f>>2]|0;if((i[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0)!=48)break;k[f>>2]=a+1}k[g>>2]=a;while(1){if(!(l[20063+(l[(k[c>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&8))break;b=e;b=B0(k[b>>2]|0,k[b+4>>2]|0,16,0)|0;a=M;a=i0(b|0,a|0,(rg(i[(k[c>>2]|0)+(k[g>>2]|0)>>0]|0)|0)&255|0,0)|0;b=e;k[b>>2]=a;k[b+4>>2]=M;k[g>>2]=(k[g>>2]|0)+1}d=k[d>>2]|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];if(!(i[(k[c>>2]|0)+(k[g>>2]|0)>>0]|0))a=((k[g>>2]|0)-(k[f>>2]|0)|0)<=16;else a=0;k[h>>2]=a?0:1;h=k[h>>2]|0;u=j;return h|0}while(0);f=k[c>>2]|0;g=k[d>>2]|0;g=Wi(f,g,wd(k[c>>2]|0)|0,1)|0;k[h>>2]=g;h=k[h>>2]|0;u=j;return h|0}function Vz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=(k[c>>2]|0)+152;while(1){if((k[e>>2]|0)>=(l[(k[c>>2]|0)+25>>0]|0|0))break;if((k[(k[f>>2]|0)+12>>2]|0)==(k[d>>2]|0))i[(k[f>>2]|0)+6>>0]=0;k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}u=g;return}function Wz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;g=r+28|0;h=r+24|0;n=r+20|0;o=r+16|0;p=r+12|0;q=r+8|0;e=r+4|0;f=r;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[o>>2]=d;if((m[(k[k[g>>2]>>2]|0)+64>>1]|0)&2|0){u=r;return}if((l[(k[g>>2]|0)+25>>0]|0|0)>=10){k[q>>2]=2147483647;k[e>>2]=-1;k[p>>2]=0;k[f>>2]=(k[g>>2]|0)+152;while(1){if((k[p>>2]|0)>=10)break;if((k[(k[f>>2]|0)+16>>2]|0)<(k[q>>2]|0)){k[e>>2]=k[p>>2];k[q>>2]=k[(k[f>>2]|0)+16>>2]}k[p>>2]=(k[p>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}k[f>>2]=(k[g>>2]|0)+152+((k[e>>2]|0)*20|0)}else{p=(k[g>>2]|0)+152|0;d=(k[g>>2]|0)+25|0;q=i[d>>0]|0;i[d>>0]=q+1<<24>>24;k[f>>2]=p+((q&255)*20|0)}k[(k[f>>2]|0)+8>>2]=k[(k[g>>2]|0)+64>>2];k[k[f>>2]>>2]=k[h>>2];j[(k[f>>2]|0)+4>>1]=k[n>>2];k[(k[f>>2]|0)+12>>2]=k[o>>2];i[(k[f>>2]|0)+6>>0]=0;p=(k[g>>2]|0)+68|0;q=k[p>>2]|0;k[p>>2]=q+1;k[(k[f>>2]|0)+16>>2]=q;u=r;return}function Xz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[d>>2]|0)+52>>1]|0)){a=7;break}k[f>>2]=k[(k[(k[d>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2];if((j[(k[(k[d>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)>=0?0==(lh(k[f>>2]|0,k[c>>2]|0)|0):0){a=5;break}k[e>>2]=(k[e>>2]|0)+1}if((a|0)==5){k[g>>2]=1;g=k[g>>2]|0;u=h;return g|0}else if((a|0)==7){k[g>>2]=0;g=k[g>>2]|0;u=h;return g|0}return 0}function Yz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+80|0;v=y+76|0;w=y+72|0;x=y+68|0;h=y+64|0;j=y+60|0;m=y+56|0;n=y+52|0;o=y+48|0;p=y+16|0;q=y+12|0;r=y+8|0;s=y+4|0;t=y;k[v>>2]=a;k[w>>2]=b;k[x>>2]=c;k[h>>2]=d;k[j>>2]=e;k[m>>2]=f;k[n>>2]=g;k[r>>2]=k[k[v>>2]>>2];k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;k[p+16>>2]=0;k[p+20>>2]=0;k[p+24>>2]=0;k[p+28>>2]=0;k[p>>2]=k[v>>2];g=Zz(p,k[j>>2]|0)|0;k[o>>2]=g;do if((0==(g|0)?(g=Zz(p,k[m>>2]|0)|0,k[o>>2]=g,0==(g|0)):0)?(g=Zz(p,k[n>>2]|0)|0,k[o>>2]=g,0==(g|0)):0){if(k[h>>2]|0){if((l[k[h>>2]>>0]|0)==97)k[t>>2]=k[(k[h>>2]|0)+8>>2];else k[t>>2]=0;g=Su(k[v>>2]|0,k[w>>2]|0,k[t>>2]|0,0,0)|0;k[o>>2]=g;if(k[o>>2]|0)break}g=Vu(k[v>>2]|0)|0;k[q>>2]=g;g=Wy(k[v>>2]|0,4)|0;k[s>>2]=g;ez(k[v>>2]|0,k[j>>2]|0,k[s>>2]|0);ez(k[v>>2]|0,k[m>>2]|0,(k[s>>2]|0)+1|0);ez(k[v>>2]|0,k[n>>2]|0,(k[s>>2]|0)+2|0);if(k[q>>2]|0){cv(k[q>>2]|0,89,0,(k[s>>2]|0)+3-(i[k[x>>2]>>0]|0)|0,(k[s>>2]|0)+3|0,k[x>>2]|0,-5)|0;ty(k[q>>2]|0,i[k[x>>2]>>0]|0);oy(k[q>>2]|0,150,(k[w>>2]|0)==24&1)|0}}while(0);Yk(k[r>>2]|0,k[j>>2]|0);Yk(k[r>>2]|0,k[m>>2]|0);Yk(k[r>>2]|0,k[n>>2]|0);u=y;return}function Zz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(k[d>>2]|0)if((l[k[d>>2]>>0]|0|0)!=55){d=Yw(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=d;break}else{i[k[d>>2]>>0]=97;break}while(0);u=f;return k[e>>2]|0}function _z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+192|0;o=p+24|0;n=p+16|0;m=p+8|0;l=p;e=p+52|0;q=p+44|0;f=p+40|0;g=p+36|0;h=p+32|0;j=p+28|0;d=p+56|0;k[e>>2]=a;k[p+48>>2]=b;k[q>>2]=c;c=$h(k[k[q>>2]>>2]|0)|0;k[f>>2]=c;c=Zh(k[e>>2]|0)|0;k[g>>2]=c;k[j>>2]=0;if(!(k[f>>2]|0))k[f>>2]=55752;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0))break;k[j>>2]=(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4);if(k[(k[j>>2]|0)+4>>2]|0?(lh(k[k[j>>2]>>2]|0,k[f>>2]|0)|0)==0:0)break;k[h>>2]=(k[h>>2]|0)+1}do if((k[h>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0)){k[l>>2]=k[f>>2];pf(128,d,30625,l)|0}else{if((k[h>>2]|0)<2){k[m>>2]=k[f>>2];pf(128,d,30646,m)|0;break}if(!(i[(k[g>>2]|0)+67>>0]|0)){pf(128,d,30672,n)|0;break}if((xl(k[(k[j>>2]|0)+4>>2]|0)|0)==0?(Nr(k[(k[j>>2]|0)+4>>2]|0)|0)==0:0){Er(k[(k[j>>2]|0)+4>>2]|0)|0;k[(k[j>>2]|0)+4>>2]=0;k[(k[j>>2]|0)+12>>2]=0;Zq(k[g>>2]|0);u=p;return}k[o>>2]=k[f>>2];pf(128,d,30714,o)|0}while(0);bi(k[e>>2]|0,d,-1);u=p;return}function $z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=u;u=u+128|0;B=E+48|0;A=E+40|0;D=E+32|0;C=E+24|0;h=E+16|0;e=E+8|0;d=E;w=E+116|0;F=E+108|0;g=E+104|0;x=E+100|0;y=E+96|0;z=E+92|0;m=E+88|0;n=E+84|0;o=E+80|0;p=E+76|0;q=E+72|0;r=E+68|0;s=E+64|0;f=E+60|0;t=E+56|0;v=E+52|0;k[w>>2]=a;k[E+112>>2]=b;k[F>>2]=c;k[x>>2]=0;c=Zh(k[w>>2]|0)|0;k[y>>2]=c;k[n>>2]=0;k[o>>2]=0;k[r>>2]=0;c=$h(k[k[F>>2]>>2]|0)|0;k[m>>2]=c;c=$h(k[(k[F>>2]|0)+4>>2]|0)|0;k[z>>2]=c;if(!(k[m>>2]|0))k[m>>2]=55752;if(!(k[z>>2]|0))k[z>>2]=55752;a=k[y>>2]|0;do if((k[(k[y>>2]|0)+20>>2]|0)<((k[(k[y>>2]|0)+96+28>>2]|0)+2|0)){if(!(i[a+67>>0]|0)){F=ek(k[y>>2]|0,30787,e)|0;k[r>>2]=F;break}k[g>>2]=0;while(1){b=k[(k[y>>2]|0)+16>>2]|0;if((k[g>>2]|0)>=(k[(k[y>>2]|0)+20>>2]|0))break;k[f>>2]=k[b+(k[g>>2]<<4)>>2];if(!(lh(k[f>>2]|0,k[z>>2]|0)|0)){j=12;break}k[g>>2]=(k[g>>2]|0)+1}if((j|0)==12){F=k[y>>2]|0;k[h>>2]=k[z>>2];F=ek(F,30829,h)|0;k[r>>2]=F;break}a=k[y>>2]|0;do if((b|0)==((k[y>>2]|0)+392|0)){F=Od(a,48,0)|0;k[q>>2]=F;if(!(k[q>>2]|0)){u=E;return}else{F=k[q>>2]|0;j=k[(k[y>>2]|0)+16>>2]|0;k[F>>2]=k[j>>2];k[F+4>>2]=k[j+4>>2];k[F+8>>2]=k[j+8>>2];k[F+12>>2]=k[j+12>>2];k[F+16>>2]=k[j+16>>2];k[F+20>>2]=k[j+20>>2];k[F+24>>2]=k[j+24>>2];k[F+28>>2]=k[j+28>>2];break}}else{F=ne(a,k[(k[y>>2]|0)+16>>2]|0,(k[(k[y>>2]|0)+20>>2]|0)+1<<4,0)|0;k[q>>2]=F;if(!(k[q>>2]|0)){u=E;return}}while(0);k[(k[y>>2]|0)+16>>2]=k[q>>2];k[q>>2]=(k[(k[y>>2]|0)+16>>2]|0)+(k[(k[y>>2]|0)+20>>2]<<4);F=k[q>>2]|0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;k[p>>2]=k[(k[y>>2]|0)+48>>2];F=aA(k[(k[k[y>>2]>>2]|0)+16>>2]|0,k[m>>2]|0,p,s,n,o)|0;k[x>>2]=F;if(k[x>>2]|0){if((k[x>>2]|0)==7)Yd(k[y>>2]|0);bi(k[w>>2]|0,k[o>>2]|0,-1);ie(k[o>>2]|0);u=E;return}k[p>>2]=k[p>>2]|256;F=Bl(k[s>>2]|0,k[n>>2]|0,k[y>>2]|0,(k[q>>2]|0)+4|0,0,k[p>>2]|0)|0;k[x>>2]=F;ie(k[n>>2]|0);F=(k[y>>2]|0)+20|0;k[F>>2]=(k[F>>2]|0)+1;if((k[x>>2]|0)!=19){if(!(k[x>>2]|0)){F=bA(k[y>>2]|0,k[(k[q>>2]|0)+4>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=F;if(k[(k[q>>2]|0)+12>>2]|0){if(l[(k[(k[q>>2]|0)+12>>2]|0)+76>>0]|0?(l[(k[(k[q>>2]|0)+12>>2]|0)+77>>0]|0)!=(l[(k[y>>2]|0)+66>>0]|0):0){F=ek(k[y>>2]|0,26947,D)|0;k[r>>2]=F;k[x>>2]=1}}else k[x>>2]=7;ol(k[(k[q>>2]|0)+4>>2]|0);F=Ak(k[(k[q>>2]|0)+4>>2]|0)|0;k[t>>2]=F;cA(k[t>>2]|0,l[(k[y>>2]|0)+71>>0]|0)|0;F=k[(k[q>>2]|0)+4>>2]|0;dA(F,dA(k[(k[(k[y>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;eA(k[(k[q>>2]|0)+4>>2]|0,3|k[(k[y>>2]|0)+24>>2]&56)|0;ll(k[(k[q>>2]|0)+4>>2]|0)}}else{k[x>>2]=1;F=ek(k[y>>2]|0,30859,C)|0;k[r>>2]=F}i[(k[q>>2]|0)+8>>0]=3;F=fp(k[y>>2]|0,k[z>>2]|0)|0;k[k[q>>2]>>2]=F;if((k[x>>2]|0)==0?(k[k[q>>2]>>2]|0)==0:0)k[x>>2]=7;if(!(k[x>>2]|0)){zk(k[y>>2]|0);F=vv(k[y>>2]|0,r)|0;k[x>>2]=F;Bk(k[y>>2]|0)}if(!(k[x>>2]|0)){u=E;return}k[v>>2]=(k[(k[y>>2]|0)+20>>2]|0)-1;if(k[(k[(k[y>>2]|0)+16>>2]|0)+(k[v>>2]<<4)+4>>2]|0){Er(k[(k[(k[y>>2]|0)+16>>2]|0)+(k[v>>2]<<4)+4>>2]|0)|0;k[(k[(k[y>>2]|0)+16>>2]|0)+(k[v>>2]<<4)+4>>2]=0;k[(k[(k[y>>2]|0)+16>>2]|0)+(k[v>>2]<<4)+12>>2]=0}Xp(k[y>>2]|0);k[(k[y>>2]|0)+20>>2]=k[v>>2];if((k[x>>2]|0)==7|(k[x>>2]|0)==3082){Yd(k[y>>2]|0);fe(k[y>>2]|0,k[r>>2]|0);F=ek(k[y>>2]|0,22481,A)|0;k[r>>2]=F;break}if(!(k[r>>2]|0)){F=k[y>>2]|0;k[B>>2]=k[m>>2];F=ek(F,30888,B)|0;k[r>>2]=F}}else{k[d>>2]=k[(k[y>>2]|0)+96+28>>2];F=ek(a,30750,d)|0;k[r>>2]=F}while(0);if(k[r>>2]|0){bi(k[w>>2]|0,k[r>>2]|0,-1);fe(k[y>>2]|0,k[r>>2]|0)}if(!(k[x>>2]|0)){u=E;return}ej(k[w>>2]|0,k[x>>2]|0);u=E;return}function aA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=u;u=u+160|0;Q=S+32|0;P=S+24|0;O=S+16|0;N=S+8|0;J=S+140|0;T=S+136|0;K=S+132|0;L=S+128|0;j=S+124|0;m=S+120|0;n=S+116|0;o=S+112|0;p=S+108|0;q=S+104|0;r=S+100|0;s=S+144|0;g=S+96|0;t=S+92|0;v=S+88|0;w=S+84|0;x=S+80|0;h=S;y=S+76|0;z=S+72|0;A=S+68|0;B=S+64|0;C=S+60|0;D=S+56|0;E=S+52|0;F=S+48|0;G=S+44|0;H=S+40|0;I=S+36|0;k[T>>2]=a;k[K>>2]=b;k[L>>2]=c;k[j>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=0;k[p>>2]=k[k[L>>2]>>2];k[q>>2]=k[T>>2];f=wd(k[K>>2]|0)|0;k[g>>2]=f;a:do if(((k[p>>2]&64|0)!=0|(k[5]|0)!=0)&(k[g>>2]|0)>=5?(R_(k[K>>2]|0,30916,5)|0)==0:0){k[x>>2]=0;f=(k[g>>2]|0)+2|0;T=h;k[T>>2]=f;k[T+4>>2]=((f|0)<0)<<31>>31;k[p>>2]=k[p>>2]|64;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[g>>2]|0))break;f=(i[(k[K>>2]|0)+(k[w>>2]|0)>>0]|0)==38&1;T=h;f=i0(k[T>>2]|0,k[T+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;T=h;k[T>>2]=f;k[T+4>>2]=M;k[w>>2]=(k[w>>2]|0)+1}T=h;T=yf(k[T>>2]|0,k[T+4>>2]|0)|0;k[r>>2]=T;if(!(k[r>>2]|0)){k[J>>2]=7;T=k[J>>2]|0;u=S;return T|0}k[w>>2]=5;do if((i[(k[K>>2]|0)+5>>0]|0)==47?(i[(k[K>>2]|0)+6>>0]|0)==47:0){k[w>>2]=7;while(1){if(i[(k[K>>2]|0)+(k[w>>2]|0)>>0]|0)b=(i[(k[K>>2]|0)+(k[w>>2]|0)>>0]|0)!=47;else b=0;a=k[w>>2]|0;if(!b)break;k[w>>2]=a+1}if((a|0)!=7){if((k[w>>2]|0)==16?(R_(30922,(k[K>>2]|0)+7|0,9)|0)==0:0)break;T=(k[K>>2]|0)+7|0;k[N>>2]=(k[w>>2]|0)-7;k[N+4>>2]=T;T=xf(30932,N)|0;k[k[n>>2]>>2]=T;k[o>>2]=1;break a}}while(0);k[v>>2]=0;b:while(1){T=i[(k[K>>2]|0)+(k[w>>2]|0)>>0]|0;i[s>>0]=T;if(!(T<<24>>24))break;if((i[s>>0]|0)==35)break;k[w>>2]=(k[w>>2]|0)+1;do if(((i[s>>0]|0)==37?l[20063+(l[(k[K>>2]|0)+(k[w>>2]|0)>>0]|0)>>0]&8|0:0)?l[20063+(l[(k[K>>2]|0)+((k[w>>2]|0)+1)>>0]|0)>>0]&8|0:0){T=k[K>>2]|0;N=k[w>>2]|0;k[w>>2]=N+1;N=((rg(i[T+N>>0]|0)|0)&255)<<4;k[y>>2]=N;N=k[K>>2]|0;T=k[w>>2]|0;k[w>>2]=T+1;T=(rg(i[N+T>>0]|0)|0)&255;k[y>>2]=(k[y>>2]|0)+T;if(k[y>>2]|0){i[s>>0]=k[y>>2];break}while(1){T=i[(k[K>>2]|0)+(k[w>>2]|0)>>0]|0;i[s>>0]=T;if(!(T<<24>>24))continue b;if((i[s>>0]|0)==35)continue b;if((k[v>>2]|0)==0?(i[s>>0]|0)==63:0)continue b;if((k[v>>2]|0)==1){if((i[s>>0]|0)==61)continue b;if((i[s>>0]|0)==38)continue b}if((k[v>>2]|0)==2?(i[s>>0]|0)==38:0)continue b;k[w>>2]=(k[w>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((k[v>>2]|0)==1){if((i[s>>0]|0)!=38?(i[s>>0]|0)!=61:0)break;if(!(i[(k[r>>2]|0)+((k[x>>2]|0)-1)>>0]|0))while(1){if(!(i[(k[K>>2]|0)+(k[w>>2]|0)>>0]|0))continue b;if((i[(k[K>>2]|0)+(k[w>>2]|0)>>0]|0)==35)continue b;if((i[(k[K>>2]|0)+((k[w>>2]|0)-1)>>0]|0)==38)continue b;k[w>>2]=(k[w>>2]|0)+1}else{if((i[s>>0]|0)==38){N=k[r>>2]|0;T=k[x>>2]|0;k[x>>2]=T+1;i[N+T>>0]=0}else k[v>>2]=2;i[s>>0]=0;break c}}while(0);if(!((k[v>>2]|0)==0?(i[s>>0]|0)==63:0)){if((k[v>>2]|0)!=2)break;if((i[s>>0]|0)!=38)break}i[s>>0]=0;k[v>>2]=1}while(0);f=i[s>>0]|0;N=k[r>>2]|0;T=k[x>>2]|0;k[x>>2]=T+1;i[N+T>>0]=f}if((k[v>>2]|0)==1){N=k[r>>2]|0;T=k[x>>2]|0;k[x>>2]=T+1;i[N+T>>0]=0}T=k[r>>2]|0;N=k[x>>2]|0;k[x>>2]=N+1;i[T+N>>0]=0;N=k[r>>2]|0;T=k[x>>2]|0;k[x>>2]=T+1;i[N+T>>0]=0;T=k[r>>2]|0;T=T+((wd(k[r>>2]|0)|0)+1)|0;k[t>>2]=T;while(1){if(!(i[k[t>>2]>>0]|0)){R=84;break a}T=wd(k[t>>2]|0)|0;k[z>>2]=T;k[A>>2]=(k[t>>2]|0)+((k[z>>2]|0)+1);T=wd(k[A>>2]|0)|0;k[B>>2]=T;if((k[z>>2]|0)==3?(R_(30960,k[t>>2]|0,3)|0)==0:0)k[q>>2]=k[A>>2];else{k[C>>2]=0;k[D>>2]=0;k[E>>2]=0;k[F>>2]=0;if((k[z>>2]|0)==5?(R_(30964,k[t>>2]|0,5)|0)==0:0){k[E>>2]=393216;k[C>>2]=4432;k[F>>2]=k[E>>2];k[D>>2]=30964}if((k[z>>2]|0)==4?(R_(30970,k[t>>2]|0,4)|0)==0:0){k[E>>2]=135;k[C>>2]=4456;k[F>>2]=k[E>>2]&k[p>>2];k[D>>2]=21047}if(k[C>>2]|0){k[H>>2]=0;k[G>>2]=0;while(1){if(!(k[(k[C>>2]|0)+(k[G>>2]<<3)>>2]|0))break;k[I>>2]=k[(k[C>>2]|0)+(k[G>>2]<<3)>>2];T=k[B>>2]|0;if((T|0)==(wd(k[I>>2]|0)|0)?0==(R_(k[A>>2]|0,k[I>>2]|0,k[B>>2]|0)|0):0){R=73;break}k[G>>2]=(k[G>>2]|0)+1}if((R|0)==73){R=0;k[H>>2]=k[(k[C>>2]|0)+(k[G>>2]<<3)+4>>2]}if(!(k[H>>2]|0)){R=76;break}if((k[H>>2]&-129|0)>(k[F>>2]|0)){R=78;break}k[p>>2]=k[p>>2]&~k[E>>2]|k[H>>2]}}k[t>>2]=(k[A>>2]|0)+((k[B>>2]|0)+1)}if((R|0)==76){T=k[A>>2]|0;k[O>>2]=k[D>>2];k[O+4>>2]=T;T=xf(30975,O)|0;k[k[n>>2]>>2]=T;k[o>>2]=1;break}else if((R|0)==78){T=k[A>>2]|0;k[P>>2]=k[D>>2];k[P+4>>2]=T;T=xf(30995,P)|0;k[k[n>>2]>>2]=T;k[o>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(k[g>>2]|0)+2|0;T=yf(T,((T|0)<0)<<31>>31)|0;k[r>>2]=T;if(k[r>>2]|0){r0(k[r>>2]|0,k[K>>2]|0,k[g>>2]|0)|0;i[(k[r>>2]|0)+(k[g>>2]|0)>>0]=0;i[(k[r>>2]|0)+((k[g>>2]|0)+1)>>0]=0;k[p>>2]=k[p>>2]&-65;R=84;break}k[J>>2]=7;T=k[J>>2]|0;u=S;return T|0}while(0);if((R|0)==84?(T=Df(k[q>>2]|0)|0,k[k[j>>2]>>2]=T,(k[k[j>>2]>>2]|0)==0):0){k[Q>>2]=k[q>>2];T=xf(31019,Q)|0;k[k[n>>2]>>2]=T;k[o>>2]=1}if(k[o>>2]|0){ie(k[r>>2]|0);k[r>>2]=0}k[k[L>>2]>>2]=k[p>>2];k[k[m>>2]>>2]=k[r>>2];k[J>>2]=k[o>>2];T=k[J>>2]|0;u=S;return T|0}function bA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){d=fm(k[d>>2]|0,84,160)|0;k[e>>2]=d}else{d=im(0,84,0)|0;k[e>>2]=d}if(!(k[e>>2]|0)){Yd(k[c>>2]|0);e=k[e>>2]|0;u=f;return e|0}if(l[(k[e>>2]|0)+76>>0]|0){e=k[e>>2]|0;u=f;return e|0}$q((k[e>>2]|0)+8|0);$q((k[e>>2]|0)+24|0);$q((k[e>>2]|0)+40|0);$q((k[e>>2]|0)+56|0);i[(k[e>>2]|0)+77>>0]=1;e=k[e>>2]|0;u=f;return e|0}function cA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(((k[d>>2]|0)>=0?(i[(k[c>>2]|0)+13>>0]|0)==0:0)?(gA(k[(k[c>>2]|0)+216>>2]|0)|0)==0:0)i[(k[c>>2]|0)+4>>0]=k[d>>2];u=e;return l[(k[c>>2]|0)+4>>0]|0}function dA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}ol(k[d>>2]|0);if((k[e>>2]|0)>=0?(b=(k[(k[d>>2]|0)+4>>2]|0)+22|0,j[b>>1]=(m[b>>1]|0)&-5,k[e>>2]|0):0){e=(k[(k[d>>2]|0)+4>>2]|0)+22|0;j[e>>1]=m[e>>1]|0|4}k[f>>2]=((m[(k[(k[d>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;ll(k[d>>2]|0);k[c>>2]=k[f>>2];f=k[c>>2]|0;u=g;return f|0}function eA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;f=c;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[d>>2]|0)+4>>2];ol(k[d>>2]|0);fA(k[k[f>>2]>>2]|0,k[e>>2]|0);ll(k[d>>2]|0);u=c;return 0}function fA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;d=f+8|0;e=f+4|0;c=f;k[d>>2]=a;k[e>>2]=b;k[c>>2]=k[e>>2]&7;if(i[(k[d>>2]|0)+13>>0]|0){i[(k[d>>2]|0)+7>>0]=1;i[(k[d>>2]|0)+8>>0]=0;a=0;b=k[d>>2]|0}else{i[(k[d>>2]|0)+7>>0]=(k[c>>2]|0)==1?1:0;i[(k[d>>2]|0)+8>>0]=(k[c>>2]|0)>>>0>=3?1:0;a=((k[c>>2]|0)==4?1:0)&255;b=k[d>>2]|0}i[b+9>>0]=a;do if(!(i[(k[d>>2]|0)+7>>0]|0))if(k[e>>2]&8|0){i[(k[d>>2]|0)+12>>0]=3;i[(k[d>>2]|0)+10>>0]=3;break}else{c=(k[e>>2]&16|0)!=0;i[(k[d>>2]|0)+12>>0]=2;i[(k[d>>2]|0)+10>>0]=c?3:2;break}else{i[(k[d>>2]|0)+12>>0]=0;i[(k[d>>2]|0)+10>>0]=0}while(0);i[(k[d>>2]|0)+11>>0]=i[(k[d>>2]|0)+12>>0]|0;if(!(i[(k[d>>2]|0)+8>>0]|0)){b=k[e>>2]|0;b=b&32;b=(b|0)!=0;e=k[d>>2]|0;e=e+21|0;c=i[e>>0]|0;c=c&255;d=c|1;c=c&-2;d=b?c:d;d=d&255;i[e>>0]=d;u=f;return}b=(k[d>>2]|0)+11|0;i[b>>0]=l[b>>0]|32;b=k[e>>2]|0;b=b&32;b=(b|0)!=0;e=k[d>>2]|0;e=e+21|0;c=i[e>>0]|0;c=c&255;d=c|1;c=c&-2;d=b?c:d;d=d&255;i[e>>0]=d;u=f;return}function gA(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){b=0;b=b&1;u=c;return b|0}b=(l[(k[b>>2]|0)+43>>0]|0|0)==2;b=b&1;u=c;return b|0}function hA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4);do if(k[(k[g>>2]|0)+4>>2]|0){if(k[d>>2]|0?0!=(lh(k[d>>2]|0,k[k[g>>2]>>2]|0)|0):0)break;nv(k[c>>2]|0,k[f>>2]|0)}while(0);k[f>>2]=(k[f>>2]|0)+1}u=h;return}function iA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+48|0;m=n;d=n+44|0;e=n+40|0;f=n+36|0;g=n+32|0;h=n+28|0;i=n+24|0;j=n+20|0;l=n+16|0;c=n+12|0;k[d>>2]=a;k[e>>2]=b;k[h>>2]=k[k[d>>2]>>2];b=Ru(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;k[i>>2]=b;b=jA(k[e>>2]|0)|0;k[f>>2]=b;k[j>>2]=16;k[l>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+(k[i>>2]<<4)>>2];k[c>>2]=(k[i>>2]|0)==1?26433:26452;if((k[i>>2]|0)==1)k[j>>2]=14;if(Su(k[d>>2]|0,k[j>>2]|0,k[k[e>>2]>>2]|0,k[k[f>>2]>>2]|0,k[l>>2]|0)|0){u=n;return}if(Su(k[d>>2]|0,9,k[c>>2]|0,0,k[l>>2]|0)|0){u=n;return}l=Vu(k[d>>2]|0)|0;k[g>>2]=l;if(!l){u=n;return}l=k[d>>2]|0;f=(k[i>>2]|0)==1?26433:26452;j=k[k[e>>2]>>2]|0;k[m>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+(k[i>>2]<<4)>>2];k[m+4>>2]=f;k[m+8>>2]=j;Uu(l,31087,m);Wu(k[d>>2]|0,k[i>>2]|0);cv(k[g>>2]|0,140,k[i>>2]|0,0,0,k[k[e>>2]>>2]|0,0)|0;u=n;return}function jA(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=rv((k[(k[c>>2]|0)+24>>2]|0)+8|0,k[(k[c>>2]|0)+4>>2]|0)|0;u=b;return a|0}function kA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=u;u=u+32|0;j=h+12|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;i[d>>0]=b;k[e>>2]=c;c=im(k[j>>2]|0,36+(k[(k[e>>2]|0)+4>>2]|0)+1|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){j=k[f>>2]|0;u=h;return j|0}k[g>>2]=(k[f>>2]|0)+36;r0(k[g>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;dk(k[g>>2]|0);k[(k[f>>2]|0)+12>>2]=k[g>>2];i[k[f>>2]>>0]=i[d>>0]|0;j=k[f>>2]|0;u=h;return j|0}function lA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=(k[g>>2]|0)+8;b=kv(k[c>>2]|0,0,k[d>>2]|0)|0;k[e>>2]=b;Dk(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=k[e>>2];if(k[e>>2]|0){g=(k[e>>2]|0)+36|0;j[g>>1]=(j[g>>1]|0)+1<<16>>16}if(!(Px(k[c>>2]|0,k[d>>2]|0)|0)){g=k[e>>2]|0;u=f;return g|0}k[e>>2]=0;g=k[e>>2]|0;u=f;return g|0}function mA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;f=u;u=u+32|0;g=f+20|0;m=f+16|0;h=f+12|0;j=f+8|0;i=f+4|0;l=f;k[g>>2]=a;k[m>>2]=b;k[h>>2]=c;k[j>>2]=d;k[i>>2]=e;k[l>>2]=k[k[m>>2]>>2];k[k[g>>2]>>2]=k[m>>2];k[(k[g>>2]|0)+12>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[(k[g>>2]|0)+4>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];k[(k[g>>2]|0)+16>>2]=k[j>>2];k[(k[g>>2]|0)+20>>2]=k[i>>2];k[(k[g>>2]|0)+8>>2]=(k[h>>2]|0)==1&1;u=f;return}function nA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;i=j;f=j+32|0;g=j+28|0;c=j+24|0;d=j+20|0;e=j+16|0;h=j+12|0;k[g>>2]=a;k[c>>2]=b;if(!(k[c>>2]|0)){k[f>>2]=0;i=k[f>>2]|0;u=j;return i|0}k[e>>2]=k[(k[g>>2]|0)+12>>2];k[d>>2]=0;k[h>>2]=(k[c>>2]|0)+8;while(1){if((k[d>>2]|0)>=(k[k[c>>2]>>2]|0)){a=15;break}if(!(k[(k[g>>2]|0)+8>>2]|0)){if(k[(k[h>>2]|0)+4>>2]|0?lh(k[(k[h>>2]|0)+4>>2]|0,k[e>>2]|0)|0:0){a=8;break}fe(k[k[k[g>>2]>>2]>>2]|0,k[(k[h>>2]|0)+4>>2]|0);k[(k[h>>2]|0)+4>>2]=0;k[k[h>>2]>>2]=k[(k[g>>2]|0)+4>>2]}if(oA(k[g>>2]|0,k[(k[h>>2]|0)+20>>2]|0)|0){a=11;break}if(pA(k[g>>2]|0,k[(k[h>>2]|0)+48>>2]|0)|0){a=13;break}k[d>>2]=(k[d>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+72}if((a|0)==8){e=k[k[g>>2]>>2]|0;d=k[(k[g>>2]|0)+20>>2]|0;h=k[(k[h>>2]|0)+4>>2]|0;k[i>>2]=k[(k[g>>2]|0)+16>>2];k[i+4>>2]=d;k[i+8>>2]=h;Cl(e,31393,i);k[f>>2]=1;i=k[f>>2]|0;u=j;return i|0}else if((a|0)==11){k[f>>2]=1;i=k[f>>2]|0;u=j;return i|0}else if((a|0)==13){k[f>>2]=1;i=k[f>>2]|0;u=j;return i|0}else if((a|0)==15){k[f>>2]=0;i=k[f>>2]|0;u=j;return i|0}return 0}function oA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;e=f+8|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0)){a=20;break}if(qA(k[c>>2]|0,k[k[d>>2]>>2]|0)|0){a=4;break}if(nA(k[c>>2]|0,k[(k[d>>2]|0)+28>>2]|0)|0){a=6;break}if(pA(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0)|0){a=8;break}if(qA(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0)|0){a=10;break}if(pA(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0)|0){a=12;break}if(qA(k[c>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0){a=14;break}if(pA(k[c>>2]|0,k[(k[d>>2]|0)+56>>2]|0)|0){a=16;break}if(pA(k[c>>2]|0,k[(k[d>>2]|0)+60>>2]|0)|0){a=18;break}k[d>>2]=k[(k[d>>2]|0)+48>>2]}if((a|0)==4)k[e>>2]=1;else if((a|0)==6)k[e>>2]=1;else if((a|0)==8)k[e>>2]=1;else if((a|0)==10)k[e>>2]=1;else if((a|0)==12)k[e>>2]=1;else if((a|0)==14)k[e>>2]=1;else if((a|0)==16)k[e>>2]=1;else if((a|0)==18)k[e>>2]=1;else if((a|0)==20)k[e>>2]=0;u=f;return k[e>>2]|0}function pA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g;d=g+12|0;e=g+8|0;c=g+4|0;k[e>>2]=a;k[c>>2]=b;while(1){if(!(k[c>>2]|0)){a=16;break}if((l[k[c>>2]>>0]|0)==135){if(!(i[(k[k[k[e>>2]>>2]>>2]|0)+148+5>>0]|0)){a=6;break}i[k[c>>2]>>0]=101}if(k[(k[c>>2]|0)+4>>2]&8404992|0){a=16;break}a=k[e>>2]|0;b=(k[c>>2]|0)+20|0;if(k[(k[c>>2]|0)+4>>2]&2048|0){if(oA(a,k[b>>2]|0)|0){a=10;break}}else if(qA(a,k[b>>2]|0)|0){a=12;break}if(pA(k[e>>2]|0,k[(k[c>>2]|0)+16>>2]|0)|0){a=14;break}k[c>>2]=k[(k[c>>2]|0)+12>>2]}if((a|0)==6){c=k[k[e>>2]>>2]|0;k[f>>2]=k[(k[e>>2]|0)+16>>2];Cl(c,31439,f);k[d>>2]=1;f=k[d>>2]|0;u=g;return f|0}else if((a|0)==10){k[d>>2]=1;f=k[d>>2]|0;u=g;return f|0}else if((a|0)==12){k[d>>2]=1;f=k[d>>2]|0;u=g;return f|0}else if((a|0)==14){k[d>>2]=1;f=k[d>>2]|0;u=g;return f|0}else if((a|0)==16){k[d>>2]=0;f=k[d>>2]|0;u=g;return f|0}return 0}function qA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){k[g>>2]=0;g=k[g>>2]|0;u=h;return g|0}k[e>>2]=0;k[f>>2]=k[(k[d>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){a=8;break}if(pA(k[c>>2]|0,k[k[f>>2]>>2]|0)|0){a=6;break}k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}if((a|0)==6){k[g>>2]=1;g=k[g>>2]|0;u=h;return g|0}else if((a|0)==8){k[g>>2]=0;g=k[g>>2]|0;u=h;return g|0}return 0}function rA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;e=f+8|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0)){a=10;break}if(oA(k[c>>2]|0,k[(k[d>>2]|0)+8>>2]|0)|0){a=4;break}if(pA(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0)|0){a=6;break}if(qA(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0){a=8;break}k[d>>2]=k[(k[d>>2]|0)+28>>2]}if((a|0)==4)k[e>>2]=1;else if((a|0)==6)k[e>>2]=1;else if((a|0)==8)k[e>>2]=1;else if((a|0)==10)k[e>>2]=0;u=f;return k[e>>2]|0}function sA(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+144|0;j[a>>1]=j[a>>1]&-33|32;u=b;return}function tA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=u;u=u+32|0;g=m+28|0;n=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;l=m+8|0;e=m+4|0;f=m;k[g>>2]=a;k[n>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=1;Dd(k[(k[g>>2]|0)+12>>2]|0);d=kB(k[g>>2]|0,k[n>>2]|0)|0;k[l>>2]=d;if(!(k[l>>2]|0)){n=k[g>>2]|0;n=n+12|0;n=k[n>>2]|0;Ed(n);n=k[j>>2]|0;u=m;return n|0}ol(k[l>>2]|0);n=Ak(k[l>>2]|0)|0;k[e>>2]=n;n=Zp(k[e>>2]|0)|0;k[f>>2]=n;do if((k[h>>2]|0)!=7){if((k[h>>2]|0)==27){n=Xl(k[e>>2]|0)|0;k[k[i>>2]>>2]=n;k[j>>2]=0;break}if((k[h>>2]|0)==28){n=lB(k[e>>2]|0)|0;k[k[i>>2]>>2]=n;k[j>>2]=0;break}if(k[k[f>>2]>>2]|0){n=Gm(k[f>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[j>>2]=n;break}else{k[j>>2]=12;break}}else{k[k[i>>2]>>2]=k[f>>2];k[j>>2]=0}while(0);ll(k[l>>2]|0);n=k[g>>2]|0;n=n+12|0;n=k[n>>2]|0;Ed(n);n=k[j>>2]|0;u=m;return n|0}function uA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[f>>2]|0)){u=g;return}Zu(k[d>>2]|0,1,k[f>>2]|0)|0;vA(k[d>>2]|0,k[e>>2]|0);_u(k[d>>2]|0,87,1,1)|0;u=g;return}function vA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;IA(k[e>>2]|0,1,d);u=c;return}function wA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=u;u=u+32|0;g=o+28|0;h=o+24|0;j=o+20|0;m=o+16|0;n=o+8|0;e=o+4|0;f=o;k[h>>2]=a;k[j>>2]=b;k[m>>2]=c;k[o+12>>2]=d;if(((k[(k[h>>2]|0)+136>>2]|0)+(k[j>>2]|0)|0)>(k[(k[(k[h>>2]|0)+12>>2]|0)+48>>2]|0)?bv(k[h>>2]|0,k[j>>2]|0)|0:0){k[g>>2]=0;n=k[g>>2]|0;u=o;return n|0}d=(k[(k[h>>2]|0)+88>>2]|0)+((k[(k[h>>2]|0)+136>>2]|0)*20|0)|0;k[e>>2]=d;k[f>>2]=d;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[j>>2]|0))break;i[k[e>>2]>>0]=i[k[m>>2]>>0]|0;k[(k[e>>2]|0)+4>>2]=i[(k[m>>2]|0)+1>>0];k[(k[e>>2]|0)+8>>2]=i[(k[m>>2]|0)+2>>0];if(l[32756+(l[k[m>>2]>>0]|0)>>0]&1|0?(i[(k[m>>2]|0)+2>>0]|0)>0:0){d=(k[e>>2]|0)+8|0;k[d>>2]=(k[d>>2]|0)+(k[(k[h>>2]|0)+136>>2]|0)}k[(k[e>>2]|0)+12>>2]=i[(k[m>>2]|0)+3>>0];i[(k[e>>2]|0)+1>>0]=0;k[(k[e>>2]|0)+16>>2]=0;i[(k[e>>2]|0)+3>>0]=0;k[n>>2]=(k[n>>2]|0)+1;k[m>>2]=(k[m>>2]|0)+4;k[e>>2]=(k[e>>2]|0)+20}n=(k[h>>2]|0)+136|0;k[n>>2]=(k[n>>2]|0)+(k[j>>2]|0);k[g>>2]=k[f>>2];n=k[g>>2]|0;u=o;return n|0}function xA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=u;u=u+16|0;f=e+12|0;g=e+8|0;h=e;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;Tz(k[f>>2]|0,77,0,1,0,h,-13)|0;vA(k[f>>2]|0,k[g>>2]|0);_u(k[f>>2]|0,87,1,1)|0;u=e;return}function yA(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+4|0;c=e;k[c>>2]=a;do if(k[c>>2]|0){if(!(lh(k[c>>2]|0,31645)|0)){k[b>>2]=1;break}if(!(lh(k[c>>2]|0,31638)|0))k[b>>2]=0;else d=6}else d=6;while(0);if((d|0)==6)k[b>>2]=-1;u=e;return k[b>>2]|0}function zA(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)==6)k[b>>2]=0;else k[b>>2]=k[5488+(k[c>>2]<<2)>>2];u=d;return k[b>>2]|0}function AA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=u;u=u+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;c=e;b=k[c+4>>2]|0;if((b|0)>-1|(b|0)==-1&(k[c>>2]|0)>>>0>=4294967295){a=e;b=k[a+4>>2]|0;c=(k[d>>2]|0)+168|0;k[c>>2]=k[a>>2];k[c+4>>2]=b;jB(k[(k[d>>2]|0)+216>>2]|0,k[e>>2]|0,k[e+4>>2]|0)}e=(k[d>>2]|0)+168|0;M=k[e+4>>2]|0;u=f;return k[e>>2]|0}function BA(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;ol(k[b>>2]|0);if(i[(k[(k[b>>2]|0)+4>>2]|0)+17>>0]|0)a=(i[(k[(k[b>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;else a=0;k[c>>2]=a;ll(k[b>>2]|0);u=d;return k[c>>2]|0}function CA(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(lh(k[c>>2]|0,32716)|0){if(!(lh(k[c>>2]|0,32160)|0)){k[b>>2]=1;break}if(!(lh(k[c>>2]|0,32721)|0)){k[b>>2]=2;break}else{c=pg(k[c>>2]|0)|0;k[d>>2]=c;k[b>>2]=((k[d>>2]|0)>=0&(k[d>>2]|0)<=2?k[d>>2]|0:0)&255;break}}else k[b>>2]=0;while(0);u=e;return k[b>>2]|0}function DA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;c=g+12|0;h=g+8|0;d=g+4|0;e=g;f=g+16|0;k[c>>2]=a;k[h>>2]=b;k[d>>2]=k[(k[c>>2]|0)+4>>2];k[e>>2]=0;i[f>>0]=k[h>>2];ol(k[c>>2]|0);if((m[(k[d>>2]|0)+22>>1]|0)&2|0?((l[f>>0]|0|0?1:0)|0)!=(l[(k[d>>2]|0)+17>>0]|0|0):0){k[e>>2]=8;h=k[c>>2]|0;ll(h);h=k[e>>2]|0;u=g;return h|0}i[(k[d>>2]|0)+17>>0]=l[f>>0]|0|0?1:0;i[(k[d>>2]|0)+18>>0]=(l[f>>0]|0|0)==2?1:0;h=k[c>>2]|0;ll(h);h=k[e>>2]|0;u=g;return h|0}function EA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=u;u=u+16|0;e=d+12|0;f=d+8|0;g=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;k[g>>2]=k[(k[e>>2]|0)+4>>2];ol(k[e>>2]|0);b=hB(k[k[g>>2]>>2]|0,k[f>>2]|0)|0;k[c>>2]=b;ll(k[e>>2]|0);u=d;return k[c>>2]|0}function FA(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(i[(k[b>>2]|0)+67>>0]|0)){u=e;return}k[c>>2]=k[(k[b>>2]|0)+16>>2];k[d>>2]=k[(k[b>>2]|0)+20>>2];while(1){a=k[d>>2]|0;k[d>>2]=a+-1;if((a|0)<=0)break;if(k[(k[c>>2]|0)+4>>2]|0)eA(k[(k[c>>2]|0)+4>>2]|0,l[(k[c>>2]|0)+8>>0]|k[(k[b>>2]|0)+24>>2]&56)|0;k[c>>2]=(k[c>>2]|0)+16}u=e;return}function GA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;c=g+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;b=gB(k[h>>2]|0)|0;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];if((l[(k[f>>2]|0)+68>>0]|0|0)==(k[e>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;u=g;return h|0}if(HA(k[d>>2]|0)|0){k[c>>2]=1;h=k[c>>2]|0;u=g;return h|0}else{i[(k[f>>2]|0)+68>>0]=k[e>>2];k[c>>2]=0;h=k[c>>2]|0;u=g;return h|0}return 0}function HA(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;e=f;b=f+12|0;c=f+8|0;d=f+4|0;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];do if(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0){if(i[(k[d>>2]|0)+67>>0]|0?(xl(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){Er(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]=0;Xp(k[d>>2]|0);break}Cl(k[c>>2]|0,32654,e);k[b>>2]=1;e=k[b>>2]|0;u=f;return e|0}while(0);k[b>>2]=0;e=k[b>>2]|0;u=f;return e|0}function IA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;$s(k[d>>2]|0,k[e>>2]|0);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;at(k[d>>2]|0,k[g>>2]|0,0,k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0,0)|0;k[g>>2]=(k[g>>2]|0)+1}u=h;return}function JA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;g=p+40|0;h=p+36|0;j=p+32|0;l=p+16|0;m=p+12|0;n=p+44|0;o=p+8|0;e=p+4|0;f=p;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=0;while(1){d=i[(k[j>>2]|0)+(k[m>>2]|0)>>0]|0;i[n>>0]=d;if(!(d<<24>>24))break;if((i[n>>0]|0)==115){c=(k[l>>2]|0)+(4-1)&~(4-1);b=k[c>>2]|0;k[l>>2]=c+4;k[e>>2]=b;k[o>>2]=k[e>>2];b=k[g>>2]|0;c=(k[o>>2]|0)==0?79:97;d=k[h>>2]|0;k[h>>2]=d+1;cv(b,c,0,d,0,k[o>>2]|0,0)|0}else{b=k[g>>2]|0;d=(k[l>>2]|0)+(4-1)&~(4-1);c=k[d>>2]|0;k[l>>2]=d+4;k[f>>2]=c;c=k[f>>2]|0;d=k[h>>2]|0;k[h>>2]=d+1;_u(b,76,c,d)|0}k[m>>2]=(k[m>>2]|0)+1}u=p;return}function KA(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;i[d>>0]=a;switch(l[d>>0]|0|0){case 7:{k[b>>2]=32464;break}case 8:{k[b>>2]=32473;break}case 9:{k[b>>2]=32485;break}case 6:{k[b>>2]=32493;break}default:k[b>>2]=32502}u=c;return k[b>>2]|0}function LA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D;w=D+64|0;x=D+60|0;y=D+56|0;z=D+52|0;A=D+48|0;f=D+44|0;g=D+40|0;h=D+36|0;n=D+32|0;o=D+28|0;p=D+24|0;q=D+20|0;r=D+16|0;s=D+68|0;t=D+12|0;v=D+8|0;k[x>>2]=a;k[y>>2]=b;k[z>>2]=c;k[A>>2]=d;k[f>>2]=e;k[g>>2]=0;k[h>>2]=0;k[n>>2]=k[(k[z>>2]|0)+20>>2];k[o>>2]=k[(k[z>>2]|0)+36+4>>2];do if((k[n>>2]|0)==1){if((j[(k[y>>2]|0)+32>>1]|0)>=0){if(!(k[o>>2]|0)){k[w>>2]=0;C=k[w>>2]|0;u=D;return C|0}if(!(lh(k[(k[(k[y>>2]|0)+4>>2]|0)+(j[(k[y>>2]|0)+32>>1]<<4)>>2]|0,k[o>>2]|0)|0)){k[w>>2]=0;C=k[w>>2]|0;u=D;return C|0}}}else if(k[f>>2]|0){e=Od(k[k[x>>2]>>2]|0,k[n>>2]<<2,0)|0;k[h>>2]=e;if(k[h>>2]|0){k[k[f>>2]>>2]=k[h>>2];break}k[w>>2]=1;C=k[w>>2]|0;u=D;return C|0}while(0);k[g>>2]=k[(k[y>>2]|0)+8>>2];a:while(1){if(!(k[g>>2]|0))break;do if((m[(k[g>>2]|0)+50>>1]|0)==(k[n>>2]|0)?l[(k[g>>2]|0)+54>>0]|0:0){if(!(k[o>>2]|0))if((i[(k[g>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[n>>2]|0))break;j[s>>1]=j[(k[(k[g>>2]|0)+4>>2]|0)+(k[q>>2]<<1)>>1]|0;if((j[s>>1]|0)<0)break;e=k[(k[(k[y>>2]|0)+4>>2]|0)+(j[s>>1]<<4)+8>>2]|0;k[t>>2]=e;k[t>>2]=k[t>>2]|0?e:34455;if(lh(k[(k[(k[g>>2]|0)+32>>2]|0)+(k[q>>2]<<2)>>2]|0,k[t>>2]|0)|0)break;k[v>>2]=k[(k[(k[y>>2]|0)+4>>2]|0)+(j[s>>1]<<4)>>2];k[r>>2]=0;while(1){if((k[r>>2]|0)>=(k[n>>2]|0))break;if(!(lh(k[(k[z>>2]|0)+36+(k[r>>2]<<3)+4>>2]|0,k[v>>2]|0)|0)){C=28;break}k[r>>2]=(k[r>>2]|0)+1}if((C|0)==28?(C=0,k[h>>2]|0):0)k[(k[h>>2]|0)+(k[q>>2]<<2)>>2]=k[(k[z>>2]|0)+36+(k[r>>2]<<3)>>2];if((k[r>>2]|0)==(k[n>>2]|0))break;k[q>>2]=(k[q>>2]|0)+1}if((k[q>>2]|0)==(k[n>>2]|0))break a}while(0);k[g>>2]=k[(k[g>>2]|0)+20>>2]}b:do if((C|0)==17?k[h>>2]|0:0){k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[n>>2]|0))break b;k[(k[h>>2]|0)+(k[p>>2]<<2)>>2]=k[(k[z>>2]|0)+36+(k[p>>2]<<3)>>2];k[p>>2]=(k[p>>2]|0)+1}}while(0);if(k[g>>2]|0){k[k[A>>2]>>2]=k[g>>2];k[w>>2]=0;C=k[w>>2]|0;u=D;return C|0}if(!(i[(k[x>>2]|0)+150>>0]|0)){C=k[x>>2]|0;A=k[(k[z>>2]|0)+8>>2]|0;k[B>>2]=k[k[k[z>>2]>>2]>>2];k[B+4>>2]=A;Cl(C,32401,B)}fe(k[k[x>>2]>>2]|0,k[h>>2]|0);k[w>>2]=1;C=k[w>>2]|0;u=D;return C|0}function MA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0;n=u;u=u+32|0;d=n+16|0;c=n+12|0;e=n+8|0;f=n+4|0;g=n;h=n+20|0;l=n+22|0;k[c>>2]=a;k[e>>2]=b;if(!(k[(k[e>>2]|0)+16>>2]|0)){k[g>>2]=k[(k[e>>2]|0)+12>>2];b=(m[(k[e>>2]|0)+52>>1]|0)+1|0;b=Md(0,b,((b|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+16>>2]=b;if(!(k[(k[e>>2]|0)+16>>2]|0)){Yd(k[c>>2]|0);k[d>>2]=0;l=k[d>>2]|0;u=n;return l|0}k[f>>2]=0;while(1){a=k[e>>2]|0;if((k[f>>2]|0)>=(m[(k[e>>2]|0)+52>>1]|0))break;j[h>>1]=j[(k[a+4>>2]|0)+(k[f>>2]<<1)>>1]|0;if((j[h>>1]|0)>=0)i[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]|0)>>0]=i[(k[(k[g>>2]|0)+4>>2]|0)+(j[h>>1]<<4)+13>>0]|0;else{a=k[e>>2]|0;if((j[h>>1]|0)==-1){b=68;a=(k[a+16>>2]|0)+(k[f>>2]|0)|0}else{b=Aw(k[(k[(k[a+40>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0;i[l>>0]=b;i[l>>0]=(i[l>>0]|0)==0?65:b;b=i[l>>0]|0;a=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]|0)|0}i[a>>0]=b}k[f>>2]=(k[f>>2]|0)+1}i[(k[a+16>>2]|0)+(k[f>>2]|0)>>0]=0}k[d>>2]=k[(k[e>>2]|0)+16>>2];l=k[d>>2]|0;u=n;return l|0}function NA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0)k[e>>2]=32334;else k[e>>2]=22031;eB(k[c>>2]|0,22035,2,1,k[e>>2]|0,203,0,0,0)|0;eB(k[c>>2]|0,22035,3,1,k[e>>2]|0,203,0,0,0)|0;eB(k[c>>2]|0,22026,2,1,22022,203,0,0,0)|0;fB(k[c>>2]|0,22026,12);fB(k[c>>2]|0,22035,(k[d>>2]|0?12:4)&255);u=f;return}function OA(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=(l[(k[b>>2]|0)+25>>0]|0|0))break;if(l[a+152+((k[c>>2]|0)*20|0)+6>>0]|0|0?(l[(k[b>>2]|0)+19>>0]|0|0)<8:0){f=k[(k[b>>2]|0)+152+((k[c>>2]|0)*20|0)+12>>2]|0;e=(k[b>>2]|0)+352|0;g=(k[b>>2]|0)+19|0;a=i[g>>0]|0;i[g>>0]=a+1<<24>>24;k[e+((a&255)<<2)>>2]=f}k[c>>2]=(k[c>>2]|0)+1}i[a+25>>0]=0;u=d;return}function PA(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+64|0;A=C+52|0;B=C+48|0;o=C+44|0;p=C+40|0;q=C+56|0;r=C+36|0;s=C+32|0;t=C+28|0;j=C+24|0;v=C+20|0;w=C+16|0;m=C+12|0;x=C+8|0;y=C+4|0;z=C;k[B>>2]=a;k[o>>2]=b;k[p>>2]=c;i[q>>0]=d;k[r>>2]=e;k[s>>2]=f;k[t>>2]=g;k[j>>2]=h;if((l[(k[o>>2]|0)+42>>0]|0)&16|0){k[A>>2]=0;B=k[A>>2]|0;u=C;return B|0}h=Ru(k[k[B>>2]>>2]|0,k[(k[o>>2]|0)+64>>2]|0)|0;k[w>>2]=h;h=Vu(k[B>>2]|0)|0;k[y>>2]=h;if((k[r>>2]|0)<0)k[r>>2]=k[(k[B>>2]|0)+40>>2];h=k[r>>2]|0;k[r>>2]=h+1;k[m>>2]=h;if(k[t>>2]|0)k[k[t>>2]>>2]=k[m>>2];do if(!((l[(k[o>>2]|0)+42>>0]|0)&32)){if(k[s>>2]|0?(l[k[s>>2]>>0]|0|0)==0:0){n=11;break}ry(k[B>>2]|0,k[m>>2]|0,k[w>>2]|0,k[o>>2]|0,k[p>>2]|0)}else n=11;while(0);if((n|0)==11)qy(k[B>>2]|0,k[w>>2]|0,k[(k[o>>2]|0)+28>>2]|0,(k[p>>2]|0)==105&255,k[k[o>>2]>>2]|0);if(k[j>>2]|0)k[k[j>>2]>>2]=k[r>>2];k[v>>2]=0;k[x>>2]=k[(k[o>>2]|0)+8>>2];while(1){a=k[r>>2]|0;if(!(k[x>>2]|0))break;k[r>>2]=a+1;k[z>>2]=a;if((i[(k[x>>2]|0)+55>>0]&3|0)==2?(l[(k[o>>2]|0)+42>>0]|0)&32|0:0){if(k[t>>2]|0)k[k[t>>2]>>2]=k[z>>2];i[q>>0]=0}if(!((k[s>>2]|0)!=0?!(l[(k[s>>2]|0)+((k[v>>2]|0)+1)>>0]|0|0):0)){$u(k[y>>2]|0,k[p>>2]|0,k[z>>2]|0,k[(k[x>>2]|0)+44>>2]|0,k[w>>2]|0)|0;sy(k[B>>2]|0,k[x>>2]|0);ty(k[y>>2]|0,i[q>>0]|0)}k[x>>2]=k[(k[x>>2]|0)+20>>2];k[v>>2]=(k[v>>2]|0)+1}if((a|0)>(k[(k[B>>2]|0)+40>>2]|0))k[(k[B>>2]|0)+40>>2]=k[r>>2];k[A>>2]=k[v>>2];B=k[A>>2]|0;u=C;return B|0}function QA(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+144|0;j[a>>1]=j[a>>1]&-33;u=b;return}function RA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;a=k[e>>2]|0;if((k[c>>2]|0)>0){dB(a,145,k[c>>2]|0)|0;u=d;return 0}else{dB(a,0,0)|0;u=d;return 0}return 0}function SA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=u;u=u+16|0;h=g+12|0;e=g+8|0;f=g+4|0;i=g;k[h>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=d;if((k[i>>2]|0)<(k[h>>2]|0)){u=g;return 0}ch();_A(k[e>>2]|0,k[f>>2]|0)|0;eh();u=g;return 0}function TA(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;Dd(k[(k[b>>2]|0)+12>>2]|0);zk(k[b>>2]|0);k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[a+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0){a=Ak(k[d>>2]|0)|0;k[e>>2]=a;YA(k[e>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}Bk(a);Ed(k[(k[b>>2]|0)+12>>2]|0);u=f;return 0}function UA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;if((k[d>>2]|0)>0){XA(a,206,k[c>>2]|0)|0;k[(k[c>>2]|0)+428>>2]=k[d>>2];u=e;return 0}else{XA(a,0,0)|0;u=e;return 0}return 0}function VA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[f>>2]|0)<0|(k[f>>2]|0)>=12){k[d>>2]=-1;h=k[d>>2]|0;u=i;return h|0}k[h>>2]=k[(k[e>>2]|0)+96+(k[f>>2]<<2)>>2];if((k[g>>2]|0)>=0){if((k[g>>2]|0)>(k[5440+(k[f>>2]<<2)>>2]|0))k[g>>2]=k[5440+(k[f>>2]<<2)>>2];k[(k[e>>2]|0)+96+(k[f>>2]<<2)>>2]=k[g>>2]}k[d>>2]=k[h>>2];h=k[d>>2]|0;u=i;return h|0}function WA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=u;u=u+32|0;c=e+16|0;h=e+12|0;g=e+8|0;d=e+4|0;f=e;k[h>>2]=a;k[g>>2]=b;k[d>>2]=k[h>>2];k[f>>2]=k[(k[h>>2]|0)+428>>2];if((((k[g>>2]|0)+1|0)*1e3|0)>(k[f>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;u=e;return h|0}else{yp(k[k[d>>2]>>2]|0,1e6)|0;k[c>>2]=1;h=k[c>>2]|0;u=e;return h|0}return 0}function XA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;Dd(k[(k[e>>2]|0)+12>>2]|0);k[(k[e>>2]|0)+380>>2]=k[g>>2];k[(k[e>>2]|0)+380+4>>2]=k[f>>2];k[(k[e>>2]|0)+380+8>>2]=0;k[(k[e>>2]|0)+428>>2]=0;Ed(k[(k[e>>2]|0)+12>>2]|0);u=d;return 0}function YA(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;ZA(k[(k[c>>2]|0)+212>>2]|0);u=b;return}function ZA(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Ob[k[164>>2]&255](k[(k[c>>2]|0)+44>>2]|0);u=b;return}function _A(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=$A(k[e>>2]|0,k[d>>2]|0,0,0,0)|0;u=c;return b|0}function $A(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;p=q;j=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;f=q+12|0;g=q+8|0;h=q+4|0;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[f>>2]=e;k[h>>2]=10;if(k[o>>2]|0)k[k[o>>2]>>2]=-1;if(k[f>>2]|0)k[k[f>>2]>>2]=-1;if((k[n>>2]|0)<0|(k[n>>2]|0)>3){k[j>>2]=21;p=k[j>>2]|0;u=q;return p|0}Dd(k[(k[l>>2]|0)+12>>2]|0);if(k[m>>2]|0?i[k[m>>2]>>0]|0:0){e=yl(k[l>>2]|0,k[m>>2]|0)|0;k[h>>2]=e}if((k[h>>2]|0)<0){k[g>>2]=1;o=k[l>>2]|0;k[p>>2]=k[m>>2];vl(o,1,32233,p)}else{k[(k[l>>2]|0)+380+8>>2]=0;p=aB(k[l>>2]|0,k[h>>2]|0,k[n>>2]|0,k[o>>2]|0,k[f>>2]|0)|0;k[g>>2]=p;wl(k[l>>2]|0,k[g>>2]|0)}p=Tr(k[l>>2]|0,k[g>>2]|0)|0;k[g>>2]=p;Ed(k[(k[l>>2]|0)+12>>2]|0);k[j>>2]=k[g>>2];p=k[j>>2]|0;u=q;return p|0}function aB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;i=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;f=o+8|0;g=o+4|0;h=o;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[f>>2]=0;k[h>>2]=0;k[g>>2]=0;while(1){if(!((k[g>>2]|0)<(k[(k[i>>2]|0)+20>>2]|0)?(k[f>>2]|0)==0:0))break;if(((k[j>>2]|0)==10?1:(k[g>>2]|0)==(k[j>>2]|0))?(e=bB(k[(k[(k[i>>2]|0)+16>>2]|0)+(k[g>>2]<<4)+4>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0)|0,k[f>>2]=e,k[m>>2]=0,k[n>>2]=0,(k[f>>2]|0)==5):0){k[h>>2]=1;k[f>>2]=0}k[g>>2]=(k[g>>2]|0)+1}u=o;return ((k[f>>2]|0)==0&(k[h>>2]|0)!=0?5:k[f>>2]|0)|0}function bB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=u;u=u+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;if(!(k[e>>2]|0)){j=k[i>>2]|0;u=m;return j|0}k[j>>2]=k[(k[e>>2]|0)+4>>2];ol(k[e>>2]|0);if(l[(k[j>>2]|0)+20>>0]|0|0)k[i>>2]=6;else{j=cB(k[k[j>>2]>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=j}ll(k[e>>2]|0);j=k[i>>2]|0;u=m;return j|0}function cB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;if(!(k[(k[e>>2]|0)+216>>2]|0)){i=k[i>>2]|0;u=j;return i|0}if(!(k[f>>2]|0))a=0;else a=k[(k[e>>2]|0)+184>>2]|0;h=Fo(k[(k[e>>2]|0)+216>>2]|0,k[f>>2]|0,a,k[(k[e>>2]|0)+188>>2]|0,l[(k[e>>2]|0)+10>>0]|0,k[(k[e>>2]|0)+160>>2]|0,k[(k[e>>2]|0)+208>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=h;i=k[i>>2]|0;u=j;return i|0}function dB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=u;u=u+16|0;f=e+12|0;h=e+8|0;g=e+4|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;Dd(k[(k[f>>2]|0)+12>>2]|0);k[d>>2]=k[(k[f>>2]|0)+228>>2];k[(k[f>>2]|0)+224>>2]=k[h>>2];k[(k[f>>2]|0)+228>>2]=k[g>>2];Ed(k[(k[f>>2]|0)+12>>2]|0);u=e;return k[d>>2]|0}function eB(a,b,c,d,e,f,g,h,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+64|0;C=D;B=D+56|0;p=D+52|0;q=D+48|0;r=D+44|0;s=D+40|0;t=D+36|0;v=D+32|0;w=D+28|0;x=D+24|0;y=D+20|0;z=D+16|0;n=D+12|0;A=D+8|0;o=D+4|0;k[p>>2]=a;k[q>>2]=b;k[r>>2]=c;k[s>>2]=d;k[t>>2]=e;k[v>>2]=f;k[w>>2]=g;k[x>>2]=h;k[y>>2]=l;do if(k[q>>2]|0){if(k[v>>2]|0?(k[x>>2]|0)!=0|(k[w>>2]|0)!=0:0)break;if(((k[v>>2]|0)==0&(k[x>>2]|0)!=0^1|(k[w>>2]|0)!=0?!((((k[v>>2]|0)!=0|(k[x>>2]|0)!=0)^1)&(k[w>>2]|0)!=0|(k[r>>2]|0)<-1|(k[r>>2]|0)>127):0)?(l=wd(k[q>>2]|0)|0,k[n>>2]=l,255>=(l|0)):0){k[A>>2]=k[s>>2]&2048;k[s>>2]=k[s>>2]&7;do if((k[s>>2]|0)!=4){if((k[s>>2]|0)==5){l=eB(k[p>>2]|0,k[q>>2]|0,k[r>>2]|0,1|k[A>>2],k[t>>2]|0,k[v>>2]|0,k[w>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[o>>2]=l;if(!(k[o>>2]|0)){l=eB(k[p>>2]|0,k[q>>2]|0,k[r>>2]|0,2|k[A>>2],k[t>>2]|0,k[v>>2]|0,k[w>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[o>>2]=l}if(!(k[o>>2]|0)){k[s>>2]=3;break}k[B>>2]=k[o>>2];C=k[B>>2]|0;u=D;return C|0}}else k[s>>2]=(i[936]|0)==0?3:2;while(0);l=yx(k[p>>2]|0,k[q>>2]|0,k[r>>2]|0,k[s>>2]&255,0)|0;k[z>>2]=l;do if((k[z>>2]|0?(m[(k[z>>2]|0)+2>>1]&3|0)==(k[s>>2]|0):0)?(i[k[z>>2]>>0]|0)==(k[r>>2]|0):0){a=k[p>>2]|0;if(!(k[(k[p>>2]|0)+156>>2]|0)){_q(a);break}vl(a,5,32338,C);k[B>>2]=5;C=k[B>>2]|0;u=D;return C|0}while(0);C=yx(k[p>>2]|0,k[q>>2]|0,k[r>>2]|0,k[s>>2]&255,1)|0;k[z>>2]=C;if(!(k[z>>2]|0)){k[B>>2]=7;C=k[B>>2]|0;u=D;return C|0}Fr(k[p>>2]|0,k[z>>2]|0);if(k[y>>2]|0){C=k[y>>2]|0;k[C>>2]=(k[C>>2]|0)+1}k[(k[z>>2]|0)+24>>2]=k[y>>2];j[(k[z>>2]|0)+2>>1]=m[(k[z>>2]|0)+2>>1]&3|k[A>>2];k[(k[z>>2]|0)+12>>2]=k[v>>2]|0?k[v>>2]|0:k[w>>2]|0;k[(k[z>>2]|0)+16>>2]=k[x>>2];k[(k[z>>2]|0)+4>>2]=k[t>>2];i[k[z>>2]>>0]=k[r>>2];k[B>>2]=0;C=k[B>>2]|0;u=D;return C|0}}while(0);C=Ad(139436)|0;k[B>>2]=C;C=k[B>>2]|0;u=D;return C|0}function fB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=u;u=u+16|0;h=f+8|0;g=f+4|0;d=f+12|0;e=f;k[h>>2]=a;k[g>>2]=b;i[d>>0]=c;c=yx(k[h>>2]|0,k[g>>2]|0,2,1,0)|0;k[e>>2]=c;if(!(k[e>>2]|0)){u=f;return}h=(k[e>>2]|0)+2|0;j[h>>1]=m[h>>1]|0|(l[d>>0]|0);u=f;return}function gB(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+4|0;c=e;k[c>>2]=a;if((i[k[c>>2]>>0]|0)>=48?(i[k[c>>2]>>0]|0)<=50:0)k[b>>2]=(i[k[c>>2]>>0]|0)-48;else d=4;do if((d|0)==4){if(!(lh(k[c>>2]|0,32553)|0)){k[b>>2]=1;break}if(!(lh(k[c>>2]|0,31045)|0)){k[b>>2]=2;break}else{k[b>>2]=0;break}}while(0);u=e;return k[b>>2]|0}function hB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=iB(k[(k[e>>2]|0)+212>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function iB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){if((k[d>>2]|0)<0){a=k[d>>2]|0;a=B0(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;b=(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+28>>2]|0)|0;b=x0(a|0,M|0,b|0,((b|0)<0)<<31>>31|0)|0;k[d>>2]=b}k[(k[c>>2]|0)+20>>2]=k[d>>2]}d=Nl(k[c>>2]|0)|0;k[e>>2]=d;if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){e=k[e>>2]|0;u=f;return e|0}k[e>>2]=k[(k[c>>2]|0)+20>>2];e=k[e>>2]|0;u=f;return e|0}function jB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=u;u=u+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if(!(k[d>>2]|0)){u=f;return}b=e;c=k[b+4>>2]|0;e=(k[d>>2]|0)+16|0;k[e>>2]=k[b>>2];k[e+4>>2]=c;u=f;return}function kB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0)){a=8;break}if(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2]|0){if(!(k[c>>2]|0)){a=6;break}if(!(lh(k[c>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0)){a=6;break}}k[f>>2]=(k[f>>2]|0)+1}if((a|0)==6){k[d>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2];f=k[d>>2]|0;u=g;return f|0}else if((a|0)==8){k[d>>2]=0;f=k[d>>2]|0;u=g;return f|0}return 0}function lB(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;if(k[(k[c>>2]|0)+216>>2]|0){c=mB(k[a+216>>2]|0)|0;u=b;return c|0}else{c=k[a+68>>2]|0;u=b;return c|0}return 0}function mB(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+8>>2]|0}function nB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+80|0;m=n+8|0;l=n;f=n+44|0;o=n+40|0;g=n+36|0;h=n+32|0;i=n+28|0;j=n+24|0;e=n+48|0;k[f>>2]=a;k[o>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=k[(k[(k[k[f>>2]>>2]|0)+16>>2]|0)+(k[o>>2]<<4)>>2];k[i>>2]=1;while(1){if((k[i>>2]|0)>4)break;k[l>>2]=k[i>>2];pf(24,e,33757,l)|0;if(qv(k[k[f>>2]>>2]|0,e,k[j>>2]|0)|0){o=k[f>>2]|0;c=k[g>>2]|0;d=k[h>>2]|0;k[m>>2]=k[j>>2];k[m+4>>2]=e;k[m+8>>2]=c;k[m+12>>2]=d;Uu(o,30232,m)}k[i>>2]=(k[i>>2]|0)+1}u=n;return}function oB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=u;u=u+48|0;g=d;f=d+36|0;h=d+32|0;j=d+28|0;i=d+24|0;e=d+20|0;k[f>>2]=a;k[h>>2]=b;k[j>>2]=c;c=Vu(k[f>>2]|0)|0;k[i>>2]=c;c=Yv(k[f>>2]|0)|0;k[e>>2]=c;$u(k[i>>2]|0,130,k[h>>2]|0,k[e>>2]|0,k[j>>2]|0)|0;qw(k[f>>2]|0);c=k[f>>2]|0;i=(k[j>>2]|0)==1?26433:26452;h=k[h>>2]|0;a=k[e>>2]|0;b=k[e>>2]|0;k[g>>2]=k[(k[(k[k[f>>2]>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2];k[g+4>>2]=i;k[g+8>>2]=h;k[g+12>>2]=a;k[g+16>>2]=b;Uu(c,33701,g);_v(k[f>>2]|0,k[e>>2]|0);u=d;return}function pB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;l=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;f=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[f>>2]=e;k[h>>2]=k[k[p>>2]>>2];do if(!(k[h>>2]&(k[h>>2]|0)-1)){k[i>>2]=(k[h>>2]|0)==0?1:k[h>>2]<<1;e=$(k[i>>2]|0,k[o>>2]|0)|0;m=ne(k[m>>2]|0,k[n>>2]|0,e,((e|0)<0)<<31>>31)|0;k[j>>2]=m;if(k[j>>2]|0){k[n>>2]=k[j>>2];break}k[k[f>>2]>>2]=-1;k[l>>2]=k[n>>2];p=k[l>>2]|0;u=q;return p|0}while(0);k[g>>2]=k[n>>2];m=(k[g>>2]|0)+($(k[h>>2]|0,k[o>>2]|0)|0)|0;w0(m|0,0,k[o>>2]|0)|0;k[k[f>>2]>>2]=k[h>>2];p=k[p>>2]|0;k[p>>2]=(k[p>>2]|0)+1;k[l>>2]=k[n>>2];p=k[l>>2]|0;u=q;return p|0}function qB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;i=p+28|0;j=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;k[i>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[f>>2]=0;k[g>>2]=0;if(k[(k[k[i>>2]>>2]|0)+24>>2]&16777216|0){j=aw(k[i>>2]|0,k[j>>2]|0)|0;k[g>>2]=j}k[h>>2]=k[g>>2];while(1){if(!(k[h>>2]|0))break;if((l[(k[h>>2]|0)+8>>0]|0|0)==(k[m>>2]|0)?yE(k[(k[h>>2]|0)+16>>2]|0,k[n>>2]|0)|0:0)k[f>>2]=k[f>>2]|(l[(k[h>>2]|0)+9>>0]|0);k[h>>2]=k[(k[h>>2]|0)+32>>2]}if(!(k[o>>2]|0)){n=k[f>>2]|0;n=(n|0)!=0;o=k[g>>2]|0;o=n?o:0;u=p;return o|0}k[k[o>>2]>>2]=k[f>>2];n=k[f>>2]|0;n=(n|0)!=0;o=k[g>>2]|0;o=n?o:0;u=p;return o|0}function rB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=u;u=u+32|0;i=m+8|0;h=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!((l[(k[f>>2]|0)+42>>0]|0)&16|0?(c=(pw(k[k[e>>2]>>2]|0,k[f>>2]|0)|0)+4|0,!(k[(k[k[c>>2]>>2]|0)+52>>2]|0)):0))j=3;do if((j|0)==3){if(((l[(k[f>>2]|0)+42>>0]|0)&1|0?(k[(k[k[e>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(l[(k[e>>2]|0)+18>>0]|0|0)==0:0)break;if((k[g>>2]|0)==0?k[(k[f>>2]|0)+12>>2]|0:0){j=k[e>>2]|0;k[i>>2]=k[k[f>>2]>>2];Cl(j,34685,i);k[d>>2]=1;j=k[d>>2]|0;u=m;return j|0}k[d>>2]=0;j=k[d>>2]|0;u=m;return j|0}while(0);j=k[e>>2]|0;k[h>>2]=k[k[f>>2]>>2];Cl(j,34656,h);k[d>>2]=1;j=k[d>>2]|0;u=m;return j|0}function sB(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+144|0;j[a>>1]=j[a>>1]&-17|16;u=b;return}function tB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=u;u=u+128|0;L=O+108|0;M=O+104|0;N=O+100|0;h=O+96|0;s=O+92|0;t=O+88|0;v=O+84|0;f=O+80|0;w=O+76|0;x=O+72|0;y=O+68|0;g=O+64|0;z=O+60|0;A=O+56|0;B=O+52|0;C=O+48|0;D=O+44|0;q=O+40|0;E=O+36|0;F=O+32|0;G=O+28|0;r=O+24|0;p=O+20|0;H=O+16|0;I=O+12|0;n=O+8|0;o=O+4|0;J=O+112|0;K=O;k[M>>2]=a;k[N>>2]=b;k[h>>2]=c;k[s>>2]=d;k[t>>2]=e;k[v>>2]=k[k[M>>2]>>2];k[E>>2]=0;k[F>>2]=0;k[p>>2]=0;if(!(k[h>>2]|0)){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if((k[(k[M>>2]|0)+472>>2]|0)==0?(k[(k[h>>2]|0)+64>>2]|0)==0:0){if(aw(k[M>>2]|0,k[N>>2]|0)|0){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if(l[(k[N>>2]|0)+42>>0]&16|0){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if((k[s>>2]|0)==10){if((j[(k[N>>2]|0)+32>>1]|0)>=0)k[s>>2]=l[(k[N>>2]|0)+43>>0];if((k[s>>2]|0)==10)k[s>>2]=2}if((k[k[(k[h>>2]|0)+28>>2]>>2]|0)!=1){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if(k[(k[(k[h>>2]|0)+28>>2]|0)+8+20>>2]|0){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if(k[(k[h>>2]|0)+32>>2]|0){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if(k[(k[h>>2]|0)+44>>2]|0){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if(k[(k[h>>2]|0)+36>>2]|0){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if(k[(k[h>>2]|0)+56>>2]|0){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if(k[(k[h>>2]|0)+48>>2]|0){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if(k[(k[h>>2]|0)+8>>2]&1|0){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}k[f>>2]=k[k[h>>2]>>2];if((k[k[f>>2]>>2]|0)!=1){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if((l[k[k[(k[f>>2]|0)+4>>2]>>2]>>0]|0)!=160){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}k[g>>2]=(k[(k[h>>2]|0)+28>>2]|0)+8;h=kv(k[M>>2]|0,0,k[g>>2]|0)|0;k[w>>2]=h;if(!(k[w>>2]|0)){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if((k[w>>2]|0)==(k[N>>2]|0)){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if(((l[(k[N>>2]|0)+42>>0]&32|0)==0|0)!=((l[(k[w>>2]|0)+42>>0]&32|0)==0|0)){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if(l[(k[w>>2]|0)+42>>0]&16|0){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if(k[(k[w>>2]|0)+12>>2]|0){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if((j[(k[N>>2]|0)+34>>1]|0)!=(j[(k[w>>2]|0)+34>>1]|0)){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}if((j[(k[N>>2]|0)+32>>1]|0)!=(j[(k[w>>2]|0)+32>>1]|0)){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}k[z>>2]=0;a:while(1){b=k[N>>2]|0;if((k[z>>2]|0)>=(j[(k[N>>2]|0)+34>>1]|0)){a=64;break}k[n>>2]=(k[b+4>>2]|0)+(k[z>>2]<<4);k[o>>2]=(k[(k[w>>2]|0)+4>>2]|0)+(k[z>>2]<<4);if((i[(k[n>>2]|0)+13>>0]|0)!=(i[(k[o>>2]|0)+13>>0]|0)){a=52;break}if(ul(k[(k[n>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0){a=54;break}if(l[(k[n>>2]|0)+12>>0]|0?(i[(k[o>>2]|0)+12>>0]|0)==0:0){a=57;break}do if((k[z>>2]|0)>0){if(((k[(k[n>>2]|0)+4>>2]|0)==0|0)!=((k[(k[o>>2]|0)+4>>2]|0)==0|0)){a=62;break a}if(!(k[(k[n>>2]|0)+4>>2]|0))break;if(Q_(k[(k[(k[n>>2]|0)+4>>2]|0)+8>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+8>>2]|0)|0){a=62;break a}}while(0);k[z>>2]=(k[z>>2]|0)+1}if((a|0)==52){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}else if((a|0)==54){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}else if((a|0)==57){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}else if((a|0)==62){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}else if((a|0)==64){k[y>>2]=k[b+8>>2];while(1){if(!(k[y>>2]|0))break;if(l[(k[y>>2]|0)+54>>0]|0)k[p>>2]=1;k[x>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[x>>2]|0))break;if(AE(k[y>>2]|0,k[x>>2]|0)|0)break;k[x>>2]=k[(k[x>>2]|0)+20>>2]}if(!(k[x>>2]|0)){a=73;break}k[y>>2]=k[(k[y>>2]|0)+20>>2]}if((a|0)==73){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}do if(k[(k[N>>2]|0)+24>>2]|0){if(!(hx(k[(k[w>>2]|0)+24>>2]|0,k[(k[N>>2]|0)+24>>2]|0,-1)|0))break;k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}while(0);do if(k[(k[v>>2]|0)+24>>2]&524288|0){if(!(k[(k[N>>2]|0)+16>>2]|0))break;k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}while(0);if(k[(k[v>>2]|0)+24>>2]&128|0){k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}o=Ru(k[v>>2]|0,k[(k[w>>2]|0)+64>>2]|0)|0;k[A>>2]=o;o=Vu(k[M>>2]|0)|0;k[G>>2]=o;nv(k[M>>2]|0,k[A>>2]|0);o=(k[M>>2]|0)+40|0;n=k[o>>2]|0;k[o>>2]=n+1;k[B>>2]=n;n=(k[M>>2]|0)+40|0;o=k[n>>2]|0;k[n>>2]=o+1;k[C>>2]=o;o=uB(k[M>>2]|0,k[t>>2]|0,k[N>>2]|0)|0;k[r>>2]=o;o=Yv(k[M>>2]|0)|0;k[H>>2]=o;o=Yv(k[M>>2]|0)|0;k[I>>2]=o;ry(k[M>>2]|0,k[C>>2]|0,k[t>>2]|0,k[N>>2]|0,105);do if(!(k[(k[v>>2]|0)+24>>2]&268435456)){if((j[(k[N>>2]|0)+32>>1]|0)<0){if(!(k[p>>2]|0?1:(k[(k[N>>2]|0)+8>>2]|0)!=0))a=87}else if(!(k[p>>2]|0))a=87;if((a|0)==87?!((k[s>>2]|0)!=2&(k[s>>2]|0)!=1):0)break;p=_u(k[G>>2]|0,57,k[C>>2]|0,0)|0;k[D>>2]=p;p=Xu(k[G>>2]|0,13)|0;k[E>>2]=p;xy(k[G>>2]|0,k[D>>2]|0)}while(0);a=k[M>>2]|0;if(!(l[(k[w>>2]|0)+42>>0]&32)){ry(a,k[B>>2]|0,k[A>>2]|0,k[w>>2]|0,104);p=_u(k[G>>2]|0,57,k[B>>2]|0,0)|0;k[F>>2]=p;do if((j[(k[N>>2]|0)+32>>1]|0)<0){a=k[G>>2]|0;if(!(k[(k[N>>2]|0)+8>>2]|0)){s=_u(a,114,k[C>>2]|0,k[I>>2]|0)|0;k[D>>2]=s;break}else{s=_u(a,123,k[B>>2]|0,k[I>>2]|0)|0;k[D>>2]=s;break}}else{p=_u(k[G>>2]|0,123,k[B>>2]|0,k[I>>2]|0)|0;k[D>>2]=p;p=$u(k[G>>2]|0,33,k[C>>2]|0,0,k[I>>2]|0)|0;k[q>>2]=p;ID(k[M>>2]|0,k[s>>2]|0,k[N>>2]|0);xy(k[G>>2]|0,k[q>>2]|0);AB(k[M>>2]|0,k[r>>2]|0,k[I>>2]|0)}while(0);_u(k[G>>2]|0,122,k[B>>2]|0,k[H>>2]|0)|0;cv(k[G>>2]|0,115,k[C>>2]|0,k[H>>2]|0,k[I>>2]|0,k[N>>2]|0,-20)|0;ty(k[G>>2]|0,11);_u(k[G>>2]|0,7,k[B>>2]|0,k[D>>2]|0)|0;_u(k[G>>2]|0,111,k[B>>2]|0,0)|0;_u(k[G>>2]|0,111,k[C>>2]|0,0)|0}else{qy(a,k[t>>2]|0,k[(k[N>>2]|0)+28>>2]|0,1,k[k[N>>2]>>2]|0);qy(k[M>>2]|0,k[A>>2]|0,k[(k[w>>2]|0)+28>>2]|0,0,k[k[w>>2]>>2]|0)}k[y>>2]=k[(k[N>>2]|0)+8>>2];while(1){if(!(k[y>>2]|0))break;i[J>>0]=0;k[x>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[x>>2]|0))break;if(AE(k[y>>2]|0,k[x>>2]|0)|0)break;k[x>>2]=k[(k[x>>2]|0)+20>>2]}$u(k[G>>2]|0,104,k[B>>2]|0,k[(k[x>>2]|0)+44>>2]|0,k[A>>2]|0)|0;sy(k[M>>2]|0,k[x>>2]|0);$u(k[G>>2]|0,105,k[C>>2]|0,k[(k[y>>2]|0)+44>>2]|0,k[t>>2]|0)|0;sy(k[M>>2]|0,k[y>>2]|0);ty(k[G>>2]|0,1);N=_u(k[G>>2]|0,57,k[B>>2]|0,0)|0;k[D>>2]=N;_u(k[G>>2]|0,121,k[B>>2]|0,k[H>>2]|0)|0;do if(k[(k[v>>2]|0)+24>>2]&268435456|0){k[z>>2]=0;while(1){if((k[z>>2]|0)>=(m[(k[x>>2]|0)+52>>1]|0))break;k[K>>2]=k[(k[(k[x>>2]|0)+32>>2]|0)+(k[z>>2]<<2)>>2];if(ul(34455,k[K>>2]|0)|0)break;k[z>>2]=(k[z>>2]|0)+1}if((k[z>>2]|0)!=(m[(k[x>>2]|0)+52>>1]|0))break;i[J>>0]=16;$u(k[G>>2]|0,53,k[C>>2]|0,0,-1)|0}while(0);do if(l[(k[w>>2]|0)+42>>0]&32|0){if((i[(k[y>>2]|0)+55>>0]&3|0)!=2)break;i[J>>0]=l[J>>0]|1}while(0);$u(k[G>>2]|0,126,k[C>>2]|0,k[H>>2]|0,1)|0;ty(k[G>>2]|0,i[J>>0]|0);_u(k[G>>2]|0,7,k[B>>2]|0,(k[D>>2]|0)+1|0)|0;xy(k[G>>2]|0,k[D>>2]|0);_u(k[G>>2]|0,111,k[B>>2]|0,0)|0;_u(k[G>>2]|0,111,k[C>>2]|0,0)|0;k[y>>2]=k[(k[y>>2]|0)+20>>2]}if(k[F>>2]|0)xy(k[G>>2]|0,k[F>>2]|0);_v(k[M>>2]|0,k[I>>2]|0);_v(k[M>>2]|0,k[H>>2]|0);if(k[E>>2]|0){GB(k[M>>2]|0);_u(k[G>>2]|0,75,0,0)|0;xy(k[G>>2]|0,k[E>>2]|0);_u(k[G>>2]|0,111,k[C>>2]|0,0)|0;k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}else{k[L>>2]=1;N=k[L>>2]|0;u=O;return N|0}}}k[L>>2]=0;N=k[L>>2]|0;u=O;return N|0}function uB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=u;u=u+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=0;if((l[(k[g>>2]|0)+42>>0]|0)&8|0?(k[(k[k[e>>2]>>2]|0)+24>>2]&268435456|0)==0:0){a=k[e>>2]|0;if(k[(k[e>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[i>>2]=a;k[j>>2]=k[(k[i>>2]|0)+120>>2];while(1){if(k[j>>2]|0)b=(k[(k[j>>2]|0)+4>>2]|0)!=(k[g>>2]|0);else b=0;a=k[j>>2]|0;if(!b)break;k[j>>2]=k[a>>2]}do if(!a){e=Od(k[k[e>>2]>>2]|0,16,0)|0;k[j>>2]=e;if(k[j>>2]|0){k[k[j>>2]>>2]=k[(k[i>>2]|0)+120>>2];k[(k[i>>2]|0)+120>>2]=k[j>>2];k[(k[j>>2]|0)+4>>2]=k[g>>2];k[(k[j>>2]|0)+8>>2]=k[f>>2];f=(k[i>>2]|0)+44|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[i>>2]|0)+44|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[(k[j>>2]|0)+12>>2]=g;i=(k[i>>2]|0)+44|0;k[i>>2]=(k[i>>2]|0)+1;break}k[d>>2]=0;j=k[d>>2]|0;u=m;return j|0}while(0);k[h>>2]=k[(k[j>>2]|0)+12>>2]}k[d>>2]=k[h>>2];j=k[d>>2]|0;u=m;return j|0}function vB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;oy(k[d>>2]|0,73,k[e>>2]|0)|0;i[(k[(k[d>>2]|0)+12>>2]|0)+19>>0]=0;k[(k[(k[d>>2]|0)+12>>2]|0)+28>>2]=0;u=c;return}function wB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;p=q+40|0;d=q+36|0;i=q+32|0;j=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;e=q+12|0;f=q+8|0;g=q+4|0;h=q;k[d>>2]=a;k[i>>2]=b;k[j>>2]=c;c=Vu(k[d>>2]|0)|0;k[m>>2]=c;c=Zv(k[m>>2]|0)|0;k[o>>2]=c;if((l[(k[j>>2]|0)+42>>0]|0)&16|0)a=pw(k[k[d>>2]>>2]|0,k[j>>2]|0)|0;else a=0;k[e>>2]=a;k[n>>2]=1;a:while(1){if((k[n>>2]|0)>=(k[o>>2]|0)){a=18;break}d=Ey(k[m>>2]|0,k[n>>2]|0)|0;k[f>>2]=d;b:do if((l[k[f>>2]>>0]|0|0)==104?(k[(k[f>>2]|0)+12>>2]|0)==(k[i>>2]|0):0){k[h>>2]=k[(k[f>>2]|0)+8>>2];if((k[h>>2]|0)==(k[(k[j>>2]|0)+28>>2]|0)){a=8;break a}k[g>>2]=k[(k[j>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break b;if((k[h>>2]|0)==(k[(k[g>>2]|0)+44>>2]|0)){a=12;break a}k[g>>2]=k[(k[g>>2]|0)+20>>2]}}while(0);if((l[k[f>>2]>>0]|0|0)==155?(k[(k[f>>2]|0)+16>>2]|0)==(k[e>>2]|0):0){a=16;break}k[n>>2]=(k[n>>2]|0)+1}if((a|0)==8){k[p>>2]=1;p=k[p>>2]|0;u=q;return p|0}else if((a|0)==12){k[p>>2]=1;p=k[p>>2]|0;u=q;return p|0}else if((a|0)==16){k[p>>2]=1;p=k[p>>2]|0;u=q;return p|0}else if((a|0)==18){k[p>>2]=0;p=k[p>>2]|0;u=q;return p|0}return 0}function xB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=u;u=u+32|0;i=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;e=d;k[i>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[(k[i>>2]|0)+8>>2];ez(k[i>>2]|0,k[f>>2]|0,k[g>>2]|0);b=(k[i>>2]|0)+44|0;c=(k[b>>2]|0)+1|0;k[b>>2]=c;k[e>>2]=c;_u(k[h>>2]|0,84,k[g>>2]|0,k[e>>2]|0)|0;wz(k[f>>2]|0,k[e>>2]|0);u=d;return}function yB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=u;u=u+32|0;d=m+20|0;e=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;k[g>>2]=c;k[l>>2]=k[(k[e>>2]|0)+20>>2];if(!(k[l>>2]|0)){c=Qs(k[d>>2]|0)|0;k[f>>2]=c;c=(j[(k[e>>2]|0)+34>>1]|0)+1|0;c=Md(0,c,((c|0)<0)<<31>>31)|0;k[l>>2]=c;if(!(k[l>>2]|0)){Yd(k[f>>2]|0);u=m;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[e>>2]|0)+34>>1]|0))break;i[(k[l>>2]|0)+(k[h>>2]|0)>>0]=i[(k[(k[e>>2]|0)+4>>2]|0)+(k[h>>2]<<4)+13>>0]|0;k[h>>2]=(k[h>>2]|0)+1}do{c=k[l>>2]|0;f=k[h>>2]|0;k[h>>2]=f+-1;i[c+f>>0]=0;if((k[h>>2]|0)<0)break}while((i[(k[l>>2]|0)+(k[h>>2]|0)>>0]|0)==65);k[(k[e>>2]|0)+20>>2]=k[l>>2]}f=wd(k[l>>2]|0)|0;k[h>>2]=f;if(!(k[h>>2]|0)){u=m;return}a=k[d>>2]|0;if(k[g>>2]|0){cv(a,98,k[g>>2]|0,k[h>>2]|0,0,k[l>>2]|0,k[h>>2]|0)|0;u=m;return}else{dv(a,-1,k[l>>2]|0,k[h>>2]|0);u=m;return}}function zB(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+48|0;t=v+36|0;w=v+32|0;j=v+28|0;m=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;q=v+8|0;r=v+4|0;s=v;k[t>>2]=a;k[w>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[r>>2]=i;k[s>>2]=k[w>>2];while(1){if(!(k[s>>2]|0))break;if(((l[(k[s>>2]|0)+8>>0]|0|0)==(k[j>>2]|0)?(l[(k[s>>2]|0)+9>>0]|0|0)==(k[n>>2]|0):0)?yE(k[(k[s>>2]|0)+16>>2]|0,k[m>>2]|0)|0:0)RD(k[t>>2]|0,k[s>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[r>>2]|0);k[s>>2]=k[(k[s>>2]|0)+32>>2]}u=v;return}function AB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){u=g;return}_u(k[(k[d>>2]|0)+8>>2]|0,145,k[e>>2]|0,k[f>>2]|0)|0;u=g;return}function BB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(l[(k[d>>2]|0)+23>>0]|0|0?oz(k[e>>2]|0)|0:0){Lz(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,0);u=g;return}ez(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);u=g;return}function CB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+20|0;c=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[j>>2]=a;k[c>>2]=b;a=k[j>>2]|0;if(k[(k[j>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[d>>2]=a;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+412>>2]|0))break;if((k[c>>2]|0)==(k[(k[(k[d>>2]|0)+460>>2]|0)+(k[e>>2]<<2)>>2]|0)){h=10;break}k[e>>2]=(k[e>>2]|0)+1}if((h|0)==10){u=i;return}k[f>>2]=(k[(k[d>>2]|0)+412>>2]|0)+1<<2;j=k[f>>2]|0;j=oe(k[(k[d>>2]|0)+460>>2]|0,j,((j|0)<0)<<31>>31)|0;k[g>>2]=j;if(k[g>>2]|0){k[(k[d>>2]|0)+460>>2]=k[g>>2];g=k[c>>2]|0;h=k[(k[d>>2]|0)+460>>2]|0;f=(k[d>>2]|0)+412|0;j=k[f>>2]|0;k[f>>2]=j+1;k[h+(j<<2)>>2]=g;u=i;return}else{Yd(k[k[d>>2]>>2]|0);u=i;return}}function DB(a,b,c,d,e,f,g,h,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=u;u=u+192|0;C=na;E=na+176|0;F=na+172|0;G=na+168|0;H=na+164|0;I=na+160|0;J=na+156|0;K=na+152|0;L=na+183|0;M=na+182|0;N=na+148|0;O=na+144|0;r=na+140|0;P=na+136|0;Q=na+132|0;R=na+128|0;S=na+124|0;T=na+120|0;U=na+116|0;s=na+112|0;V=na+108|0;t=na+104|0;W=na+100|0;X=na+96|0;Y=na+92|0;Z=na+88|0;_=na+181|0;$=na+180|0;aa=na+84|0;v=na+80|0;w=na+76|0;x=na+72|0;y=na+68|0;z=na+64|0;A=na+60|0;B=na+56|0;ba=na+52|0;ca=na+48|0;da=na+44|0;ea=na+40|0;fa=na+36|0;ga=na+32|0;ha=na+28|0;ia=na+24|0;ja=na+20|0;ka=na+16|0;la=na+12|0;ma=na+8|0;k[E>>2]=a;k[F>>2]=b;k[G>>2]=c;k[H>>2]=d;k[I>>2]=e;k[J>>2]=f;k[K>>2]=g;i[L>>0]=h;i[M>>0]=n;k[N>>2]=o;k[O>>2]=p;k[r>>2]=q;k[R>>2]=0;k[W>>2]=0;k[Y>>2]=0;k[Z>>2]=0;i[$>>0]=0;k[aa>>2]=-1;i[_>>0]=(k[K>>2]|0)!=0;k[S>>2]=k[k[E>>2]>>2];o=Vu(k[E>>2]|0)|0;k[P>>2]=o;k[s>>2]=j[(k[F>>2]|0)+34>>1];if(!(l[(k[F>>2]|0)+42>>0]&32)){k[R>>2]=0;k[X>>2]=1}else{o=Ev(k[F>>2]|0)|0;k[R>>2]=o;k[X>>2]=m[(k[R>>2]|0)+50>>1]}k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[s>>2]|0))break;a:do if((k[T>>2]|0)!=(j[(k[F>>2]|0)+32>>1]|0)){if(k[r>>2]|0?(k[(k[r>>2]|0)+(k[T>>2]<<2)>>2]|0)<0:0)break;k[V>>2]=l[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+12>>0];if(k[V>>2]|0){if((l[M>>0]|0)==10){if((k[V>>2]|0)==10)k[V>>2]=2}else k[V>>2]=l[M>>0];if((k[V>>2]|0)==5?(k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0)==0:0)k[V>>2]=2;switch(k[V>>2]|0){case 2:{qw(k[E>>2]|0);break}case 3:case 1:break;case 4:{_u(k[P>>2]|0,34,(k[J>>2]|0)+1+(k[T>>2]|0)|0,k[N>>2]|0)|0;break a}default:{o=oy(k[P>>2]|0,35,(k[J>>2]|0)+1+(k[T>>2]|0)|0)|0;k[t>>2]=o;ez(k[E>>2]|0,k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0,(k[J>>2]|0)+1+(k[T>>2]|0)|0);xy(k[P>>2]|0,k[t>>2]|0);break a}}o=k[S>>2]|0;n=k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)>>2]|0;k[C>>2]=k[k[F>>2]>>2];k[C+4>>2]=n;o=ek(o,29580,C)|0;k[v>>2]=o;cv(k[P>>2]|0,74,1299,k[V>>2]|0,(k[J>>2]|0)+1+(k[T>>2]|0)|0,k[v>>2]|0,-1)|0;ty(k[P>>2]|0,1)}}while(0);k[T>>2]=(k[T>>2]|0)+1}b:do if(k[(k[F>>2]|0)+24>>2]|0?(k[(k[S>>2]|0)+24>>2]&8192|0)==0:0){k[w>>2]=k[(k[F>>2]|0)+24>>2];k[(k[E>>2]|0)+56>>2]=(k[J>>2]|0)+1;k[V>>2]=(l[M>>0]|0)!=10?l[M>>0]|0:2;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[k[w>>2]>>2]|0))break b;k[y>>2]=k[(k[(k[w>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)>>2];if(!(k[r>>2]|0?(HD(k[y>>2]|0,k[r>>2]|0,l[L>>0]|0)|0)!=0:0)){C=uy(k[P>>2]|0)|0;k[x>>2]=C;yz(k[E>>2]|0,k[y>>2]|0,k[x>>2]|0,16);if((k[V>>2]|0)==4)wy(k[P>>2]|0,k[N>>2]|0)|0;else{k[z>>2]=k[(k[(k[w>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)+4>>2];if(!(k[z>>2]|0))k[z>>2]=k[k[F>>2]>>2];if((k[V>>2]|0)==5)k[V>>2]=2;Ry(k[E>>2]|0,275,k[V>>2]|0,k[z>>2]|0,0,3)}yy(k[P>>2]|0,k[x>>2]|0)}k[T>>2]=(k[T>>2]|0)+1}}while(0);if((l[L>>0]|0)!=0&(k[R>>2]|0)==0){C=uy(k[P>>2]|0)|0;k[A>>2]=C;k[V>>2]=l[(k[F>>2]|0)+43>>0];if((l[M>>0]|0)==10){if((k[V>>2]|0)==10)k[V>>2]=2}else k[V>>2]=l[M>>0];if(i[_>>0]|0){$u(k[P>>2]|0,37,k[J>>2]|0,k[A>>2]|0,k[K>>2]|0)|0;ty(k[P>>2]|0,-112)}c:do if((k[V>>2]|0)==5?(l[M>>0]|0)!=5:0){k[Q>>2]=k[(k[F>>2]|0)+8>>2];while(1){if(!(k[Q>>2]|0))break c;if((l[(k[Q>>2]|0)+54>>0]|0)==4)break;if((l[(k[Q>>2]|0)+54>>0]|0)==3)break;k[Q>>2]=k[(k[Q>>2]|0)+20>>2]}C=Xu(k[P>>2]|0,13)|0;k[Y>>2]=C}while(0);$u(k[P>>2]|0,33,k[H>>2]|0,k[A>>2]|0,k[J>>2]|0)|0;switch(k[V>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{k[B>>2]=0;if(k[(k[S>>2]|0)+24>>2]&262144|0){C=qB(k[E>>2]|0,k[F>>2]|0,109,0,0)|0;k[B>>2]=C}if(!(k[B>>2]|0)?!(JD(k[E>>2]|0,k[F>>2]|0,0,0)|0):0){if(k[(k[F>>2]|0)+8>>2]|0){KD(k[E>>2]|0);MD(k[E>>2]|0,k[F>>2]|0,k[H>>2]|0,k[I>>2]|0,0,-1)}}else{KD(k[E>>2]|0);LD(k[E>>2]|0,k[F>>2]|0,k[B>>2]|0,k[H>>2]|0,k[I>>2]|0,k[J>>2]|0,1,0,5,1,-1)}k[W>>2]=1;break}case 4:{wy(k[P>>2]|0,k[N>>2]|0)|0;break}default:{k[V>>2]=2;D=55}}if((D|0)==55)ID(k[E>>2]|0,k[V>>2]|0,k[F>>2]|0);yy(k[P>>2]|0,k[A>>2]|0);if(k[Y>>2]|0){D=Xu(k[P>>2]|0,13)|0;k[Z>>2]=D;xy(k[P>>2]|0,k[Y>>2]|0)}}k[U>>2]=0;k[Q>>2]=k[(k[F>>2]|0)+8>>2];while(1){if(!(k[Q>>2]|0))break;do if(k[(k[G>>2]|0)+(k[U>>2]<<2)>>2]|0){if(!(l[$>>0]|0)){yB(k[P>>2]|0,k[F>>2]|0,(k[J>>2]|0)+1|0);i[$>>0]=1}k[da>>2]=(k[I>>2]|0)+(k[U>>2]|0);D=uy(k[P>>2]|0)|0;k[ea>>2]=D;if(k[(k[Q>>2]|0)+36>>2]|0){_u(k[P>>2]|0,79,0,k[(k[G>>2]|0)+(k[U>>2]<<2)>>2]|0)|0;k[(k[E>>2]|0)+56>>2]=(k[J>>2]|0)+1;Vy(k[E>>2]|0,k[(k[Q>>2]|0)+36>>2]|0,k[ea>>2]|0,16);k[(k[E>>2]|0)+56>>2]=0}D=Wy(k[E>>2]|0,m[(k[Q>>2]|0)+52>>1]|0)|0;k[ba>>2]=D;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[Q>>2]|0)+52>>1]|0))break;k[fa>>2]=j[(k[(k[Q>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1];do if((k[fa>>2]|0)==-2){k[(k[E>>2]|0)+56>>2]=(k[J>>2]|0)+1;az(k[E>>2]|0,k[(k[(k[(k[Q>>2]|0)+40>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)>>2]|0,(k[ba>>2]|0)+(k[T>>2]|0)|0);k[(k[E>>2]|0)+56>>2]=0}else{if((k[fa>>2]|0)!=-1?(k[fa>>2]|0)!=(j[(k[F>>2]|0)+32>>1]|0):0)k[ga>>2]=(k[fa>>2]|0)+(k[J>>2]|0)+1;else{if((k[aa>>2]|0)==((k[ba>>2]|0)+(k[T>>2]|0)|0))break;k[ga>>2]=k[J>>2];if(k[(k[Q>>2]|0)+36>>2]|0)a=-1;else a=(k[ba>>2]|0)+(k[T>>2]|0)|0;k[aa>>2]=a}_u(k[P>>2]|0,(k[fa>>2]|0)<0?86:85,k[ga>>2]|0,(k[ba>>2]|0)+(k[T>>2]|0)|0)|0}while(0);k[T>>2]=(k[T>>2]|0)+1}$u(k[P>>2]|0,99,k[ba>>2]|0,m[(k[Q>>2]|0)+52>>1]|0,k[(k[G>>2]|0)+(k[U>>2]<<2)>>2]|0)|0;jz(k[E>>2]|0,k[ba>>2]|0,m[(k[Q>>2]|0)+52>>1]|0);if((l[_>>0]|0?(k[R>>2]|0)==(k[Q>>2]|0):0)?(l[L>>0]|0)==0:0){yy(k[P>>2]|0,k[ea>>2]|0);break}k[V>>2]=l[(k[Q>>2]|0)+54>>0];if(!(k[V>>2]|0)){Zy(k[E>>2]|0,k[ba>>2]|0,m[(k[Q>>2]|0)+52>>1]|0);yy(k[P>>2]|0,k[ea>>2]|0);break}if((l[M>>0]|0)==10){if((k[V>>2]|0)==10)k[V>>2]=2}else k[V>>2]=l[M>>0];Jy(k[P>>2]|0,29,k[da>>2]|0,k[ea>>2]|0,k[ba>>2]|0,m[(k[Q>>2]|0)+50>>1]|0)|0;if((k[Q>>2]|0)==(k[R>>2]|0))a=k[ba>>2]|0;else a=Wy(k[E>>2]|0,k[X>>2]|0)|0;k[ca>>2]=a;d:do if((l[_>>0]|0)!=0|(k[V>>2]|0)==5){if(!(l[(k[F>>2]|0)+42>>0]&32)){_u(k[P>>2]|0,129,k[da>>2]|0,k[ca>>2]|0)|0;if(!(i[_>>0]|0))break;$u(k[P>>2]|0,37,k[ca>>2]|0,k[ea>>2]|0,k[K>>2]|0)|0;ty(k[P>>2]|0,-112);break}e:do if((k[Q>>2]|0)!=(k[R>>2]|0)){k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[R>>2]|0)+50>>1]|0))break e;D=(cz(k[Q>>2]|0,j[(k[(k[R>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1]|0)|0)<<16>>16;k[ha>>2]=D;$u(k[P>>2]|0,96,k[da>>2]|0,k[ha>>2]|0,(k[ca>>2]|0)+(k[T>>2]|0)|0)|0;k[T>>2]=(k[T>>2]|0)+1}}while(0);if(i[_>>0]|0){D=Zv(k[P>>2]|0)|0;k[ia>>2]=D+(m[(k[R>>2]|0)+50>>1]|0);k[ja>>2]=36;k[ka>>2]=(i[(k[Q>>2]|0)+55>>0]&3|0)==2?k[ba>>2]|0:k[ca>>2]|0;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[R>>2]|0)+50>>1]|0))break d;D=vy(k[E>>2]|0,k[(k[(k[R>>2]|0)+32>>2]|0)+(k[T>>2]<<2)>>2]|0)|0;k[la>>2]=D;k[ha>>2]=j[(k[(k[R>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1];if((k[T>>2]|0)==((m[(k[R>>2]|0)+50>>1]|0)-1|0)){k[ia>>2]=k[ea>>2];k[ja>>2]=37}cv(k[P>>2]|0,k[ja>>2]|0,(k[K>>2]|0)+1+(k[ha>>2]|0)|0,k[ia>>2]|0,(k[ka>>2]|0)+(k[T>>2]|0)|0,k[la>>2]|0,-4)|0;ty(k[P>>2]|0,-112);k[T>>2]=(k[T>>2]|0)+1}}}while(0);switch(k[V>>2]|0){case 3:case 2:case 1:{Qy(k[E>>2]|0,k[V>>2]|0,k[Q>>2]|0);break}case 4:{wy(k[P>>2]|0,k[N>>2]|0)|0;break}default:{k[ma>>2]=0;KD(k[E>>2]|0);if(k[(k[S>>2]|0)+24>>2]&262144|0){D=qB(k[E>>2]|0,k[F>>2]|0,109,0,0)|0;k[ma>>2]=D}LD(k[E>>2]|0,k[F>>2]|0,k[ma>>2]|0,k[H>>2]|0,k[I>>2]|0,k[ca>>2]|0,k[X>>2]&65535,0,5,((k[Q>>2]|0)==(k[R>>2]|0)?1:0)&255,-1);k[W>>2]=1}}yy(k[P>>2]|0,k[ea>>2]|0);Zy(k[E>>2]|0,k[ba>>2]|0,m[(k[Q>>2]|0)+52>>1]|0);if((k[ca>>2]|0)!=(k[ba>>2]|0))Zy(k[E>>2]|0,k[ca>>2]|0,k[X>>2]|0)}while(0);k[Q>>2]=k[(k[Q>>2]|0)+20>>2];k[U>>2]=(k[U>>2]|0)+1}if(!(k[Y>>2]|0)){la=k[W>>2]|0;ma=k[O>>2]|0;k[ma>>2]=la;u=na;return}wy(k[P>>2]|0,(k[Y>>2]|0)+1|0)|0;xy(k[P>>2]|0,k[Z>>2]|0);la=k[W>>2]|0;ma=k[O>>2]|0;k[ma>>2]=la;u=na;return}function EB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=u;u=u+112|0;J=O+108|0;K=O+104|0;L=O+100|0;M=O+96|0;g=O+92|0;h=O+88|0;m=O+84|0;n=O+80|0;o=O+76|0;p=O+72|0;q=O+68|0;r=O+64|0;s=O+60|0;t=O+56|0;v=O+52|0;w=O+48|0;x=O+44|0;y=O+40|0;z=O+36|0;A=O+32|0;B=O+28|0;C=O+24|0;D=O+20|0;E=O+16|0;F=O+12|0;G=O+8|0;H=O+4|0;I=O;k[J>>2]=a;k[K>>2]=b;k[L>>2]=c;k[M>>2]=d;k[g>>2]=e;k[h>>2]=f;k[m>>2]=k[k[J>>2]>>2];k[q>>2]=l[(k[J>>2]|0)+150>>0];if(!(k[(k[m>>2]|0)+24>>2]&524288)){u=O;return}f=Ru(k[m>>2]|0,k[(k[K>>2]|0)+64>>2]|0)|0;k[o>>2]=f;k[p>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+(k[o>>2]<<4)>>2];k[n>>2]=k[(k[K>>2]|0)+16>>2];a:while(1){if(!(k[n>>2]|0)){N=39;break}k[s>>2]=0;k[t>>2]=0;k[y>>2]=0;if(!((k[g>>2]|0?ul(k[k[K>>2]>>2]|0,k[(k[n>>2]|0)+8>>2]|0)|0:0)?!(IB(k[K>>2]|0,k[n>>2]|0,k[g>>2]|0,k[h>>2]|0)|0):0))N=7;do if((N|0)==7){N=0;if(i[(k[J>>2]|0)+150>>0]|0){f=qv(k[m>>2]|0,k[(k[n>>2]|0)+8>>2]|0,k[p>>2]|0)|0;k[r>>2]=f}else{f=ov(k[J>>2]|0,0,k[(k[n>>2]|0)+8>>2]|0,k[p>>2]|0)|0;k[r>>2]=f}if(k[r>>2]|0?(LA(k[J>>2]|0,k[r>>2]|0,k[n>>2]|0,s,t)|0)==0:0){if(k[t>>2]|0)k[v>>2]=k[t>>2];else{k[w>>2]=k[(k[n>>2]|0)+36>>2];k[v>>2]=w}k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[n>>2]|0)+20>>2]|0))break;if((k[(k[v>>2]|0)+(k[x>>2]<<2)>>2]|0)==(j[(k[K>>2]|0)+32>>1]|0))k[(k[v>>2]|0)+(k[x>>2]<<2)>>2]=-1;if(k[(k[m>>2]|0)+296>>2]|0){if(k[s>>2]|0)a=j[(k[(k[s>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0;else a=j[(k[r>>2]|0)+32>>1]|0;k[D>>2]=k[(k[(k[r>>2]|0)+4>>2]|0)+(a<<16>>16<<4)>>2];f=Ix(k[J>>2]|0,k[k[r>>2]>>2]|0,k[D>>2]|0,k[o>>2]|0)|0;k[C>>2]=f;k[y>>2]=(k[C>>2]|0)==2&1}k[x>>2]=(k[x>>2]|0)+1}qy(k[J>>2]|0,k[o>>2]|0,k[(k[r>>2]|0)+28>>2]|0,0,k[k[r>>2]>>2]|0);f=(k[J>>2]|0)+40|0;k[f>>2]=(k[f>>2]|0)+1;if(k[L>>2]|0)JB(k[J>>2]|0,k[o>>2]|0,k[r>>2]|0,k[s>>2]|0,k[n>>2]|0,k[v>>2]|0,k[L>>2]|0,-1,k[y>>2]|0);if(k[M>>2]|0?(KB(k[J>>2]|0,k[n>>2]|0)|0)==0:0)JB(k[J>>2]|0,k[o>>2]|0,k[r>>2]|0,k[s>>2]|0,k[n>>2]|0,k[v>>2]|0,k[M>>2]|0,1,k[y>>2]|0);fe(k[m>>2]|0,k[t>>2]|0);break}if(!(k[q>>2]|0)){N=59;break a}if(l[(k[m>>2]|0)+69>>0]|0){N=59;break a}if(!(k[r>>2]|0)){f=Vu(k[J>>2]|0)|0;k[z>>2]=f;f=Zv(k[z>>2]|0)|0;k[A>>2]=f+(k[(k[n>>2]|0)+20>>2]|0)+1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[n>>2]|0)+20>>2]|0))break;k[B>>2]=(k[(k[n>>2]|0)+36+(k[x>>2]<<3)>>2]|0)+(k[L>>2]|0)+1;_u(k[z>>2]|0,34,k[B>>2]|0,k[A>>2]|0)|0;k[x>>2]=(k[x>>2]|0)+1}_u(k[z>>2]|0,144,l[(k[n>>2]|0)+24>>0]|0,-1)|0}}while(0);k[n>>2]=k[(k[n>>2]|0)+4>>2]}if((N|0)==39){D=sw(k[K>>2]|0)|0;k[n>>2]=D;b:while(1){if(!(k[n>>2]|0)){N=59;break}k[E>>2]=0;k[G>>2]=0;if(!(k[g>>2]|0?!(LB(k[K>>2]|0,k[n>>2]|0,k[g>>2]|0,k[h>>2]|0)|0):0))N=43;do if((N|0)==43){N=0;if((((i[(k[n>>2]|0)+24>>0]|0)==0?(k[(k[m>>2]|0)+24>>2]&33554432|0)==0:0)?(k[(k[J>>2]|0)+124>>2]|0)==0:0)?(i[(k[J>>2]|0)+20>>0]|0)==0:0)break;if(LA(k[J>>2]|0,k[K>>2]|0,k[n>>2]|0,E,G)|0){if(!(k[q>>2]|0)){N=59;break b}if(l[(k[m>>2]|0)+69>>0]|0){N=59;break b}else break}D=Vt(k[m>>2]|0,0,0,0)|0;k[F>>2]=D;if(k[F>>2]|0){k[H>>2]=(k[F>>2]|0)+8;k[(k[H>>2]|0)+16>>2]=k[k[n>>2]>>2];k[(k[H>>2]|0)+8>>2]=k[k[k[n>>2]>>2]>>2];C=(k[(k[H>>2]|0)+16>>2]|0)+36|0;j[C>>1]=(j[C>>1]|0)+1<<16>>16;C=(k[J>>2]|0)+40|0;D=k[C>>2]|0;k[C>>2]=D+1;k[(k[H>>2]|0)+44>>2]=D;if(k[M>>2]|0)MB(k[J>>2]|0,k[F>>2]|0,k[K>>2]|0,k[E>>2]|0,k[n>>2]|0,k[G>>2]|0,k[M>>2]|0,-1);if(k[L>>2]|0?(k[I>>2]=l[(k[n>>2]|0)+25+((k[g>>2]|0)!=0&1)>>0],MB(k[J>>2]|0,k[F>>2]|0,k[K>>2]|0,k[E>>2]|0,k[n>>2]|0,k[G>>2]|0,k[L>>2]|0,1),((k[I>>2]|0)!=9?(i[(k[n>>2]|0)+24>>0]|0)==0:0)&(k[I>>2]|0)!=7):0)qw(k[J>>2]|0);k[(k[H>>2]|0)+8>>2]=0;$k(k[m>>2]|0,k[F>>2]|0)}fe(k[m>>2]|0,k[G>>2]|0)}while(0);k[n>>2]=k[(k[n>>2]|0)+12>>2]}if((N|0)==59){u=O;return}}else if((N|0)==59){u=O;return}}function FB(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+64|0;D=E+52|0;n=E+48|0;o=E+44|0;p=E+40|0;q=E+36|0;r=E+32|0;s=E+28|0;t=E+24|0;v=E+20|0;w=E+16|0;x=E+12|0;y=E+57|0;z=E+8|0;A=E+4|0;B=E;C=E+56|0;k[D>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[r>>2]=f;k[s>>2]=g;k[t>>2]=h;k[v>>2]=m;i[C>>0]=0;m=Vu(k[D>>2]|0)|0;k[w>>2]=m;k[B>>2]=0;k[x>>2]=k[(k[n>>2]|0)+8>>2];while(1){if(!(k[x>>2]|0))break;if(k[(k[r>>2]|0)+(k[B>>2]<<2)>>2]|0){i[C>>0]=1;if(k[(k[x>>2]|0)+36>>2]|0){h=k[w>>2]|0;m=k[(k[r>>2]|0)+(k[B>>2]<<2)>>2]|0;_u(h,34,m,(Zv(k[w>>2]|0)|0)+2|0)|0}_u(k[w>>2]|0,126,(k[p>>2]|0)+(k[B>>2]|0)|0,k[(k[r>>2]|0)+(k[B>>2]<<2)>>2]|0)|0;i[y>>0]=0;i[y>>0]=k[v>>2]|0?16:0;if((i[(k[x>>2]|0)+55>>0]&3|0)==2?l[(k[n>>2]|0)+42>>0]&32|0:0)i[y>>0]=l[y>>0]|1;ty(k[w>>2]|0,i[y>>0]|0)}k[x>>2]=k[(k[x>>2]|0)+20>>2];k[B>>2]=(k[B>>2]|0)+1}if(l[(k[n>>2]|0)+42>>0]&32|0){u=E;return}k[z>>2]=(k[q>>2]|0)+1;m=Yv(k[D>>2]|0)|0;k[A>>2]=m;$u(k[w>>2]|0,99,k[z>>2]|0,j[(k[n>>2]|0)+34>>1]|0,k[A>>2]|0)|0;if(!(i[C>>0]|0))yB(k[w>>2]|0,k[n>>2]|0,0);jz(k[D>>2]|0,k[z>>2]|0,j[(k[n>>2]|0)+34>>1]|0);if(i[(k[D>>2]|0)+18>>0]|0)i[y>>0]=0;else{i[y>>0]=1;i[y>>0]=l[y>>0]|(k[s>>2]|0?4:2)}if(k[t>>2]|0)i[y>>0]=l[y>>0]|8;if(k[v>>2]|0)i[y>>0]=l[y>>0]|16;$u(k[w>>2]|0,115,k[o>>2]|0,k[A>>2]|0,k[q>>2]|0)|0;if(!(i[(k[D>>2]|0)+18>>0]|0))dv(k[w>>2]|0,-1,k[n>>2]|0,-20);ty(k[w>>2]|0,i[y>>0]|0);u=E;return}function GB(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+120>>2]|0)){u=c;return}HB(k[b>>2]|0);u=c;return}function HB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;b=l+28|0;c=l+24|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+8>>2];k[e>>2]=k[k[b>>2]>>2];k[c>>2]=k[(k[b>>2]|0)+120>>2];while(1){if(!(k[c>>2]|0)){a=5;break}k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+8>>2]<<4);k[j>>2]=k[(k[c>>2]|0)+12>>2];a=Yv(k[b>>2]|0)|0;k[h>>2]=a;ry(k[b>>2]|0,0,k[(k[c>>2]|0)+8>>2]|0,k[(k[(k[g>>2]|0)+12>>2]|0)+72>>2]|0,105);a=wA(k[d>>2]|0,5,34e3,0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){a=5;break}k[(k[f>>2]|0)+4>>2]=(k[j>>2]|0)+1;k[(k[f>>2]|0)+20+8>>2]=(k[j>>2]|0)+1;k[(k[f>>2]|0)+40+4>>2]=(k[j>>2]|0)-1;k[(k[f>>2]|0)+40+12>>2]=k[h>>2];k[(k[f>>2]|0)+60+8>>2]=k[h>>2];k[(k[f>>2]|0)+60+12>>2]=(k[j>>2]|0)+1;i[(k[f>>2]|0)+60+3>>0]=8;_v(k[b>>2]|0,k[h>>2]|0);k[c>>2]=k[k[c>>2]>>2]}if((a|0)==5){u=l;return}}function IB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;l=n+4|0;e=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0)){a=8;break}k[e>>2]=k[(k[g>>2]|0)+36+(k[l>>2]<<3)>>2];if((k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0)>=0){a=4;break}if(k[i>>2]|0?(k[e>>2]|0)==(j[(k[f>>2]|0)+32>>1]|0):0){a=6;break}k[l>>2]=(k[l>>2]|0)+1}if((a|0)==4){k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}else if((a|0)==6){k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}else if((a|0)==8){k[m>>2]=0;m=k[m>>2]|0;u=n;return m|0}return 0}function JB(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=u;u=u+96|0;J=K+84|0;n=K+80|0;o=K+76|0;p=K+72|0;q=K+68|0;r=K+64|0;s=K+60|0;t=K+56|0;v=K+52|0;w=K+48|0;x=K+44|0;y=K+40|0;z=K+36|0;A=K+32|0;B=K+28|0;C=K+24|0;D=K+20|0;E=K+16|0;F=K+12|0;G=K+8|0;H=K+4|0;I=K;k[J>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[r>>2]=f;k[s>>2]=g;k[t>>2]=h;k[v>>2]=m;m=Vu(k[J>>2]|0)|0;k[x>>2]=m;k[y>>2]=(k[(k[J>>2]|0)+40>>2]|0)-1;m=uy(k[x>>2]|0)|0;k[z>>2]=m;if((k[t>>2]|0)<0)_u(k[x>>2]|0,65,l[(k[q>>2]|0)+24>>0]|0,k[z>>2]|0)|0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[q>>2]|0)+20>>2]|0))break;k[A>>2]=(k[(k[r>>2]|0)+(k[w>>2]<<2)>>2]|0)+(k[s>>2]|0)+1;_u(k[x>>2]|0,34,k[A>>2]|0,k[z>>2]|0)|0;k[w>>2]=(k[w>>2]|0)+1}do if(!(k[v>>2]|0)){if(!(k[p>>2]|0)){m=Yv(k[J>>2]|0)|0;k[C>>2]=m;_u(k[x>>2]|0,85,(k[k[r>>2]>>2]|0)+1+(k[s>>2]|0)|0,k[C>>2]|0)|0;m=_u(k[x>>2]|0,17,k[C>>2]|0,0)|0;k[B>>2]=m;if((k[t>>2]|0)==1?(k[o>>2]|0)==(k[k[q>>2]>>2]|0):0){$u(k[x>>2]|0,37,k[s>>2]|0,k[z>>2]|0,k[C>>2]|0)|0;ty(k[x>>2]|0,-112)}ry(k[J>>2]|0,k[y>>2]|0,k[n>>2]|0,k[o>>2]|0,104);$u(k[x>>2]|0,33,k[y>>2]|0,0,k[C>>2]|0)|0;wy(k[x>>2]|0,k[z>>2]|0)|0;m=k[x>>2]|0;xy(m,(Zv(k[x>>2]|0)|0)-2|0);xy(k[x>>2]|0,k[B>>2]|0);_v(k[J>>2]|0,k[C>>2]|0);break}k[D>>2]=k[(k[q>>2]|0)+20>>2];m=Wy(k[J>>2]|0,k[D>>2]|0)|0;k[E>>2]=m;m=Yv(k[J>>2]|0)|0;k[F>>2]=m;$u(k[x>>2]|0,104,k[y>>2]|0,k[(k[p>>2]|0)+44>>2]|0,k[n>>2]|0)|0;sy(k[J>>2]|0,k[p>>2]|0);k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[D>>2]|0))break;_u(k[x>>2]|0,84,(k[(k[r>>2]|0)+(k[w>>2]<<2)>>2]|0)+1+(k[s>>2]|0)|0,(k[E>>2]|0)+(k[w>>2]|0)|0)|0;k[w>>2]=(k[w>>2]|0)+1}if((k[t>>2]|0)==1?(k[o>>2]|0)==(k[k[q>>2]>>2]|0):0){m=Zv(k[x>>2]|0)|0;k[G>>2]=m+(k[D>>2]|0)+1;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[D>>2]|0))break;k[H>>2]=(k[(k[r>>2]|0)+(k[w>>2]<<2)>>2]|0)+1+(k[s>>2]|0);k[I>>2]=(j[(k[(k[p>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0)+1+(k[s>>2]|0);if((j[(k[(k[p>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0)==(j[(k[o>>2]|0)+32>>1]|0))k[I>>2]=k[s>>2];$u(k[x>>2]|0,36,k[H>>2]|0,k[G>>2]|0,k[I>>2]|0)|0;ty(k[x>>2]|0,16);k[w>>2]=(k[w>>2]|0)+1}wy(k[x>>2]|0,k[z>>2]|0)|0}e=k[x>>2]|0;f=k[E>>2]|0;g=k[D>>2]|0;h=k[F>>2]|0;m=MA(k[k[J>>2]>>2]|0,k[p>>2]|0)|0;cv(e,99,f,g,h,m,k[D>>2]|0)|0;Jy(k[x>>2]|0,31,k[y>>2]|0,k[z>>2]|0,k[F>>2]|0,0)|0;_v(k[J>>2]|0,k[F>>2]|0);Zy(k[J>>2]|0,k[E>>2]|0,k[D>>2]|0)}while(0);if((((i[(k[q>>2]|0)+24>>0]|0)==0?(k[(k[k[J>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(k[(k[J>>2]|0)+124>>2]|0)==0:0)?(i[(k[J>>2]|0)+20>>0]|0)==0:0){Ry(k[J>>2]|0,787,2,0,-2,4);J=k[x>>2]|0;m=k[z>>2]|0;yy(J,m);m=k[x>>2]|0;J=k[y>>2]|0;oy(m,111,J)|0;u=K;return}if((k[t>>2]|0)>0?(l[(k[q>>2]|0)+24>>0]|0)==0:0)qw(k[J>>2]|0);_u(k[x>>2]|0,144,l[(k[q>>2]|0)+24>>0]|0,k[t>>2]|0)|0;J=k[x>>2]|0;m=k[z>>2]|0;yy(J,m);m=k[x>>2]|0;J=k[y>>2]|0;oy(m,111,J)|0;u=K;return}function KB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;c=g+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;a=k[h>>2]|0;if(k[(k[h>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[e>>2]=a;do if(k[(k[e>>2]|0)+468>>2]|0){k[f>>2]=k[k[(k[e>>2]|0)+468>>2]>>2];if(!((k[f>>2]|0)==(k[(k[d>>2]|0)+28>>2]|0)?(l[(k[d>>2]|0)+25>>0]|0|0)==7:0)){if((k[f>>2]|0)!=(k[(k[d>>2]|0)+28+4>>2]|0))break;if((l[(k[d>>2]|0)+25+1>>0]|0|0)!=7)break}k[c>>2]=1;h=k[c>>2]|0;u=g;return h|0}while(0);k[c>>2]=0;h=k[c>>2]|0;u=g;return h|0}function LB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;h=r+32|0;i=r+28|0;m=r+24|0;n=r+20|0;o=r+16|0;p=r+12|0;e=r+8|0;f=r+4|0;g=r;k[i>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=0;a:while(1){if((k[p>>2]|0)>=(k[(k[m>>2]|0)+20>>2]|0)){q=14;break}k[e>>2]=k[(k[m>>2]|0)+36+(k[p>>2]<<3)+4>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(j[(k[i>>2]|0)+34>>1]|0))break;if(!((k[(k[n>>2]|0)+(k[f>>2]<<2)>>2]|0)<0?!(k[o>>2]|0?(k[f>>2]|0)==(j[(k[i>>2]|0)+32>>1]|0):0):0))q=7;do if((q|0)==7){q=0;k[g>>2]=(k[(k[i>>2]|0)+4>>2]|0)+(k[f>>2]<<4);a=k[g>>2]|0;if(k[e>>2]|0)if(!(lh(k[a>>2]|0,k[e>>2]|0)|0)){q=9;break a}else break;else if(l[a+15>>0]&1|0){q=11;break a}else break}while(0);k[f>>2]=(k[f>>2]|0)+1}k[p>>2]=(k[p>>2]|0)+1}if((q|0)==9){k[h>>2]=1;q=k[h>>2]|0;u=r;return q|0}else if((q|0)==11){k[h>>2]=1;q=k[h>>2]|0;u=r;return q|0}else if((q|0)==14){k[h>>2]=0;q=k[h>>2]|0;u=r;return q|0}return 0}function MB(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=u;u=u+144|0;M=O+128|0;N=O+124|0;i=O+120|0;n=O+116|0;o=O+112|0;p=O+108|0;q=O+104|0;r=O+100|0;s=O+96|0;t=O+92|0;v=O+88|0;w=O+56|0;x=O+48|0;y=O+44|0;z=O+40|0;A=O+36|0;B=O+32|0;C=O+28|0;D=O+134|0;E=O+24|0;F=O+20|0;G=O+16|0;H=O+12|0;I=O+8|0;J=O+4|0;K=O;L=O+132|0;k[M>>2]=a;k[N>>2]=b;k[i>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[r>>2]=h;k[s>>2]=k[k[M>>2]>>2];k[v>>2]=0;k[y>>2]=0;h=Vu(k[M>>2]|0)|0;k[z>>2]=h;if((k[r>>2]|0)<0){h=_u(k[z>>2]|0,65,l[(k[o>>2]|0)+24>>0]|0,0)|0;k[y>>2]=h}k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[o>>2]|0)+20>>2]|0))break;if(k[n>>2]|0)a=j[(k[(k[n>>2]|0)+4>>2]|0)+(k[t>>2]<<1)>>1]|0;else a=-1;j[D>>1]=a;h=NB(k[M>>2]|0,k[i>>2]|0,k[q>>2]|0,j[D>>1]|0)|0;k[A>>2]=h;if(k[p>>2]|0)a=(k[p>>2]|0)+(k[t>>2]<<2)|0;else a=(k[o>>2]|0)+36|0;j[D>>1]=k[a>>2];k[E>>2]=k[(k[(k[k[o>>2]>>2]|0)+4>>2]|0)+(j[D>>1]<<4)>>2];h=Rt(k[s>>2]|0,55,k[E>>2]|0)|0;k[B>>2]=h;h=zt(k[M>>2]|0,37,k[A>>2]|0,k[B>>2]|0,0)|0;k[C>>2]=h;h=Wx(k[s>>2]|0,k[v>>2]|0,k[C>>2]|0)|0;k[v>>2]=h;k[t>>2]=(k[t>>2]|0)+1}if((k[r>>2]|0)>0?(k[i>>2]|0)==(k[k[o>>2]>>2]|0):0){if(!(l[(k[i>>2]|0)+42>>0]&32)){L=NB(k[M>>2]|0,k[i>>2]|0,k[q>>2]|0,-1)|0;k[G>>2]=L;L=OB(k[s>>2]|0,k[i>>2]|0,k[(k[N>>2]|0)+8+44>>2]|0,-1)|0;k[H>>2]=L;L=zt(k[M>>2]|0,36,k[G>>2]|0,k[H>>2]|0,0)|0;k[F>>2]=L}else{k[J>>2]=0;E=Ev(k[i>>2]|0)|0;k[K>>2]=E;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(m[(k[K>>2]|0)+50>>1]|0))break;j[L>>1]=j[(k[(k[n>>2]|0)+4>>2]|0)+(k[t>>2]<<1)>>1]|0;E=NB(k[M>>2]|0,k[i>>2]|0,k[q>>2]|0,j[L>>1]|0)|0;k[G>>2]=E;E=OB(k[s>>2]|0,k[i>>2]|0,k[(k[N>>2]|0)+8+44>>2]|0,j[L>>1]|0)|0;k[H>>2]=E;E=zt(k[M>>2]|0,37,k[G>>2]|0,k[H>>2]|0,0)|0;k[I>>2]=E;E=Wx(k[s>>2]|0,k[J>>2]|0,k[I>>2]|0)|0;k[J>>2]=E;k[t>>2]=(k[t>>2]|0)+1}L=zt(k[M>>2]|0,19,k[J>>2]|0,0,0)|0;k[F>>2]=L}L=Wx(k[s>>2]|0,k[v>>2]|0,k[F>>2]|0)|0;k[v>>2]=L};k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;k[w+12>>2]=0;k[w+16>>2]=0;k[w+20>>2]=0;k[w+24>>2]=0;k[w+28>>2]=0;k[w+4>>2]=k[N>>2];k[w>>2]=k[M>>2];Yw(w,k[v>>2]|0)|0;N=PB(k[M>>2]|0,k[N>>2]|0,k[v>>2]|0,0,0,0,0)|0;k[x>>2]=N;_u(k[z>>2]|0,144,l[(k[o>>2]|0)+24>>0]|0,k[r>>2]|0)|0;if(k[x>>2]|0)QB(k[x>>2]|0);Yk(k[s>>2]|0,k[v>>2]|0);if(!(k[y>>2]|0)){u=O;return}xy(k[z>>2]|0,k[y>>2]|0);u=O;return}function NB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;g=p+24|0;h=p+20|0;l=p+16|0;m=p+28|0;n=p+12|0;o=p+8|0;e=p+4|0;f=p;k[g>>2]=a;k[h>>2]=b;k[l>>2]=c;j[m>>1]=d;k[f>>2]=k[k[g>>2]>>2];d=Rt(k[f>>2]|0,157,0)|0;k[n>>2]=d;if(!(k[n>>2]|0)){o=k[n>>2]|0;u=p;return o|0}if((j[m>>1]|0)>=0?(j[m>>1]|0)!=(j[(k[h>>2]|0)+32>>1]|0):0){k[o>>2]=(k[(k[h>>2]|0)+4>>2]|0)+(j[m>>1]<<4);k[(k[n>>2]|0)+28>>2]=(k[l>>2]|0)+(j[m>>1]|0)+1;i[(k[n>>2]|0)+1>>0]=i[(k[o>>2]|0)+13>>0]|0;k[e>>2]=k[(k[o>>2]|0)+8>>2];if(!(k[e>>2]|0))k[e>>2]=k[k[(k[f>>2]|0)+8>>2]>>2];o=sx(k[g>>2]|0,k[n>>2]|0,k[e>>2]|0)|0;k[n>>2]=o;o=k[n>>2]|0;u=p;return o|0}k[(k[n>>2]|0)+28>>2]=k[l>>2];i[(k[n>>2]|0)+1>>0]=68;o=k[n>>2]|0;u=p;return o|0}function OB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0;i=u;u=u+32|0;l=i+12|0;e=i+8|0;f=i+4|0;g=i+16|0;h=i;k[l>>2]=a;k[e>>2]=b;k[f>>2]=c;j[g>>1]=d;d=Rt(k[l>>2]|0,152,0)|0;k[h>>2]=d;if(!(k[h>>2]|0)){l=k[h>>2]|0;u=i;return l|0}k[(k[h>>2]|0)+44>>2]=k[e>>2];k[(k[h>>2]|0)+28>>2]=k[f>>2];j[(k[h>>2]|0)+32>>1]=j[g>>1]|0;l=k[h>>2]|0;u=i;return l|0} +function uY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;m=t+56|0;n=t+52|0;o=t+48|0;p=t+44|0;q=t+40|0;r=t+36|0;s=t+32|0;d=t;e=t+28|0;f=t+24|0;g=t+20|0;h=t+16|0;i=t+12|0;j=t+8|0;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=k[m>>2];k[q>>2]=k[k[p>>2]>>2];k[r>>2]=k[(k[q>>2]|0)+12>>2];k[s>>2]=0;if(k[(k[p>>2]|0)+60>>2]&4|0){a:do if(k[(k[r>>2]|0)+44>>2]|0){c=UY(k[p>>2]|0)|0;m=d;k[m>>2]=c;k[m+4>>2]=M;m=d;q=VY(k[(k[q>>2]|0)+20>>2]|0,k[m>>2]|0,k[m+4>>2]|0,k[(k[p>>2]|0)+8>>2]|0)|0;k[s>>2]=q}else{if(!(k[(k[r>>2]|0)+36>>2]|0)){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[r>>2]|0)+12>>2]|0))break a;if(!(l[(k[(k[r>>2]|0)+20>>2]|0)+(k[e>>2]|0)>>0]|0))k[(k[(k[p>>2]|0)+8>>2]|0)+(k[e>>2]<<2)>>2]=-1;k[e>>2]=(k[e>>2]|0)+1}}k[f>>2]=0;while(1){if(k[s>>2]|0)break a;if((k[f>>2]|0)>=(k[(k[r>>2]|0)+12>>2]|0))break a;if((l[(k[(k[r>>2]|0)+20>>2]|0)+(k[f>>2]|0)>>0]|0|0)==0?(k[i>>2]=(k[(k[p>>2]|0)+8>>2]|0)+(k[f>>2]<<2),k[(k[(k[p>>2]|0)+8>>2]|0)+(k[f>>2]<<2)>>2]=0,q=tY(k[m>>2]|0,k[f>>2]|0,g,h)|0,k[s>>2]=q,(k[s>>2]|0)==0):0){q=OV(k[r>>2]|0,8,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,152)|0;k[s>>2]=q}k[f>>2]=(k[f>>2]|0)+1}}while(0);q=(k[p>>2]|0)+60|0;k[q>>2]=k[q>>2]&-5}if((k[n>>2]|0)<0){k[k[o>>2]>>2]=0;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[r>>2]|0)+12>>2]|0))break;q=k[o>>2]|0;k[q>>2]=(k[q>>2]|0)+(k[(k[(k[p>>2]|0)+8>>2]|0)+(k[j>>2]<<2)>>2]|0);k[j>>2]=(k[j>>2]|0)+1}s=k[s>>2]|0;u=t;return s|0}if((k[n>>2]|0)<(k[(k[r>>2]|0)+12>>2]|0)){k[k[o>>2]>>2]=k[(k[(k[p>>2]|0)+8>>2]|0)+(k[n>>2]<<2)>>2];s=k[s>>2]|0;u=t;return s|0}else{k[k[o>>2]>>2]=0;k[s>>2]=25;s=k[s>>2]|0;u=t;return s|0}return 0}function vY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=u;u=u+32|0;n=m+28|0;g=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;l=m+8|0;e=m+4|0;f=m;k[n>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=k[n>>2];k[l>>2]=k[k[j>>2]>>2];k[f>>2]=0;d=VW(k[k[j>>2]>>2]|0,f)|0;k[e>>2]=d;if(!(k[e>>2]|0)){k[(k[f>>2]|0)+24>>2]=1;n=(k[f>>2]|0)+32|0;k[n>>2]=0;k[n+4>>2]=-2147483648;n=(k[f>>2]|0)+40|0;k[n>>2]=-1;k[n+4>>2]=2147483647;k[k[f>>2]>>2]=k[l>>2];n=MY(k[(k[j>>2]|0)+52>>2]|0,k[g>>2]|0,(k[f>>2]|0)+52|0)|0;k[e>>2]=n}a:do if(!(k[e>>2]|0)){n=NY(k[l>>2]|0,k[f>>2]|0,0)|0;k[e>>2]=n;while(1){if(k[e>>2]|0)break a;if(k[(k[f>>2]|0)+60>>2]&1|0)break a;n=Lb[k[i>>2]&255](10572,k[f>>2]|0,k[h>>2]|0)|0;k[e>>2]=n;if(k[e>>2]|0)break;n=YW(k[f>>2]|0)|0;k[e>>2]=n}if((k[e>>2]|0)==101)k[e>>2]=0}while(0);WW(k[f>>2]|0)|0;u=m;return k[e>>2]|0}function wY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;d=j+24|0;l=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[l>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[l>>2];k[h>>2]=k[(k[g>>2]|0)+100>>2];while(1){if(!(k[h>>2]|0))break;if((k[k[h>>2]>>2]|0)==(k[(k[g>>2]|0)+96>>2]|0))break;k[h>>2]=k[(k[h>>2]|0)+12>>2]}do if(k[h>>2]|0){if(k[(k[h>>2]|0)+8>>2]|0)Ob[k[(k[h>>2]|0)+8>>2]&255](k[(k[h>>2]|0)+4>>2]|0)}else{k[i>>2]=0;l=nT(i,16)|0;k[h>>2]=l;if(k[h>>2]|0){k[k[h>>2]>>2]=k[(k[g>>2]|0)+96>>2];k[(k[h>>2]|0)+12>>2]=k[(k[g>>2]|0)+100>>2];k[(k[g>>2]|0)+100>>2]=k[h>>2];break}if(k[f>>2]|0)Ob[k[f>>2]&255](k[e>>2]|0);k[d>>2]=k[i>>2];l=k[d>>2]|0;u=j;return l|0}while(0);k[(k[h>>2]|0)+8>>2]=k[f>>2];k[(k[h>>2]|0)+4>>2]=k[e>>2];k[d>>2]=0;l=k[d>>2]|0;u=j;return l|0}function xY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;h=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[c>>2]=b;k[d>>2]=k[h>>2];k[f>>2]=0;k[e>>2]=k[(k[d>>2]|0)+100>>2];while(1){if(!(k[e>>2]|0))break;if((k[k[e>>2]>>2]|0)==(k[(k[d>>2]|0)+96>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+12>>2]}if(!(k[e>>2]|0)){h=k[f>>2]|0;u=g;return h|0}k[f>>2]=k[(k[e>>2]|0)+4>>2];if(!(k[c>>2]|0)){h=k[f>>2]|0;u=g;return h|0}k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+8>>2]=0;h=k[f>>2]|0;u=g;return h|0}function yY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=u;u=u+32|0;h=m+28|0;n=m+24|0;i=m+20|0;j=m+16|0;l=m+12|0;o=m+8|0;f=m+4|0;g=m;k[h>>2]=a;k[n>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[o>>2]=k[h>>2];e=DY(k[o>>2]|0,k[n>>2]|0,k[i>>2]|0,f)|0;k[g>>2]=e;if(k[g>>2]|0){o=k[g>>2]|0;u=m;return o|0}k[(k[i>>2]|0)+4>>2]=(k[k[i>>2]>>2]|0)+(k[f>>2]|0);k[k[j>>2]>>2]=0;k[k[l>>2]>>2]=0;zY(k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0);o=k[g>>2]|0;u=m;return o|0}function zY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[i+16>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;if((k[k[e>>2]>>2]|0)>>>0>=(k[(k[e>>2]|0)+4>>2]|0)>>>0){k[k[f>>2]>>2]=-1;k[k[g>>2]>>2]=-1;u=i;return}c=dS(k[k[e>>2]>>2]|0,h)|0;d=k[e>>2]|0;k[d>>2]=(k[d>>2]|0)+c;if((k[h>>2]|0)==1){c=dS(k[k[e>>2]>>2]|0,h)|0;d=k[e>>2]|0;k[d>>2]=(k[d>>2]|0)+c;k[k[f>>2]>>2]=k[h>>2];k[k[g>>2]>>2]=0;d=dS(k[k[e>>2]>>2]|0,h)|0;f=k[e>>2]|0;k[f>>2]=(k[f>>2]|0)+d}g=k[g>>2]|0;k[g>>2]=(k[g>>2]|0)+((k[h>>2]|0)-2);u=i;return}function AY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+48|0;j=q+40|0;m=q+36|0;n=q+32|0;o=q+28|0;p=q+24|0;f=q+20|0;r=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;e=q;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=0;k[f>>2]=k[j>>2];k[r>>2]=k[(k[k[f>>2]>>2]|0)+12>>2];a=k[f>>2]|0;if((k[(k[r>>2]|0)+48>>2]|0)==2){k[g>>2]=k[a+56>>2];if(k[g>>2]|0){if(!(k[m>>2]|0))a=0;else a=k[(k[g>>2]|0)+24+((k[m>>2]|0)-1<<2)>>2]|0;k[i>>2]=a;k[h>>2]=(k[(k[g>>2]|0)+24+(k[m>>2]<<2)>>2]|0)-(k[i>>2]|0);k[k[n>>2]>>2]=(k[(k[g>>2]|0)+16>>2]|0)+(k[i>>2]|0)}else{r=CY(k[(k[f>>2]|0)+52>>2]|0,k[m>>2]|0,k[n>>2]|0,h)|0;k[p>>2]=r}if(k[p>>2]|0){r=k[p>>2]|0;u=q;return r|0}k[(k[n>>2]|0)+4>>2]=(k[k[n>>2]>>2]|0)+(k[h>>2]|0);k[k[o>>2]>>2]=0;BY(k[j>>2]|0,k[n>>2]|0,k[o>>2]|0);r=k[p>>2]|0;u=q;return r|0}r=DY(a,k[m>>2]|0,k[n>>2]|0,e)|0;k[p>>2]=r;if(k[p>>2]|0){r=k[p>>2]|0;u=q;return r|0}k[(k[n>>2]|0)+4>>2]=(k[k[n>>2]>>2]|0)+(k[e>>2]|0);if((k[e>>2]|0)<=0){k[k[o>>2]>>2]=-1;r=k[p>>2]|0;u=q;return r|0}if((l[k[k[n>>2]>>2]>>0]|0|0)==1){o=1+(dS((k[k[n>>2]>>2]|0)+1|0,k[o>>2]|0)|0)|0;r=k[n>>2]|0;k[r>>2]=(k[r>>2]|0)+o;r=k[p>>2]|0;u=q;return r|0}else{k[k[o>>2]>>2]=0;r=k[p>>2]|0;u=q;return r|0}return 0}function BY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;h=u;u=u+32|0;m=h+24|0;f=h+20|0;g=h+16|0;j=h+12|0;i=h+8|0;d=h+4|0;e=h;k[m>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j>>2]=k[m>>2];k[i>>2]=k[(k[k[j>>2]>>2]|0)+12>>2];if((k[(k[i>>2]|0)+48>>2]|0)==2)if((k[k[f>>2]>>2]|0)>>>0>=(k[(k[f>>2]|0)+4>>2]|0)>>>0){k[k[g>>2]>>2]=-1;u=h;return}else{j=dS(k[k[f>>2]>>2]|0,d)|0;m=k[f>>2]|0;k[m>>2]=(k[m>>2]|0)+j;m=k[g>>2]|0;k[m>>2]=(k[m>>2]|0)+((k[d>>2]|0)-2);u=h;return}while(1){if((k[k[f>>2]>>2]|0)>>>0>=(k[(k[f>>2]|0)+4>>2]|0)>>>0){a=6;break}b=k[k[f>>2]>>2]|0;if((l[k[k[f>>2]>>2]>>0]|0|0)==1){a=9;break}j=dS(b,e)|0;m=k[f>>2]|0;k[m>>2]=(k[m>>2]|0)+j}if((a|0)==6){k[k[g>>2]>>2]=-1;u=h;return}else if((a|0)==9){j=1+(dS(b+1|0,k[g>>2]|0)|0)|0;m=k[f>>2]|0;k[m>>2]=(k[m>>2]|0)+j;u=h;return}}function CY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+48|0;h=n+32|0;o=n+28|0;i=n+24|0;j=n+20|0;l=n+16|0;m=n+12|0;e=n+8|0;f=n+4|0;g=n;k[h>>2]=a;k[o>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=k[(k[(k[h>>2]|0)+20>>2]|0)+(k[o>>2]<<2)>>2];k[m>>2]=k[k[l>>2]>>2];k[e>>2]=0;if(((k[(k[m>>2]|0)+4>>2]|0)==0?(d=(k[m>>2]|0)+16|0,o=(k[(k[h>>2]|0)+8>>2]|0)+16|0,(k[d>>2]|0)==(k[o>>2]|0)?(k[d+4>>2]|0)==(k[o+4>>2]|0):0):0)?(k[(k[l>>2]|0)+4+4>>2]|0)>0:0){k[f>>2]=(k[l>>2]|0)+20;if(k[(k[f>>2]|0)+12>>2]|0){k[g>>2]=(k[(k[f>>2]|0)+12>>2]|0)+16;o=(k[m>>2]|0)+16|0;o=oW(k[f>>2]|0,k[o>>2]|0,k[o+4>>2]|0,k[g>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[e>>2]=o;o=k[e>>2]|0;u=n;return o|0}else{k[k[i>>2]>>2]=k[(k[(k[l>>2]|0)+20+8>>2]|0)+8>>2];k[k[j>>2]>>2]=k[(k[(k[l>>2]|0)+20+8>>2]|0)+12>>2];o=k[e>>2]|0;u=n;return o|0}}k[k[i>>2]>>2]=0;k[k[j>>2]>>2]=0;o=k[e>>2]|0;u=n;return o|0}function DY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+64|0;j=s+48|0;o=s+44|0;p=s+40|0;q=s+36|0;l=s+32|0;r=s+28|0;e=s+24|0;f=s+20|0;g=s+16|0;h=s+12|0;i=s+8|0;m=s+4|0;n=s;k[j>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[l>>2]=k[(k[k[j>>2]>>2]|0)+12>>2];k[r>>2]=0;k[e>>2]=(k[(k[j>>2]|0)+56>>2]|0)==0&1;if(k[(k[j>>2]|0)+60>>2]&64|0){if(k[(k[l>>2]|0)+48>>2]|0){d=EY(k[(k[j>>2]|0)+52>>2]|0,k[e>>2]|0)|0;k[f>>2]=d;if(!(k[f>>2]|0))k[r>>2]=7;k[g>>2]=0;while(1){if(!((k[g>>2]|0)<(k[(k[l>>2]|0)+12>>2]|0)?(k[r>>2]|0)==0:0))break;d=tY(k[j>>2]|0,k[g>>2]|0,i,h)|0;k[r>>2]=d;if(!(k[r>>2]|0)){d=FY(k[l>>2]|0,k[(k[j>>2]|0)+52>>2]|0,k[f>>2]|0,k[g>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;k[r>>2]=d}k[g>>2]=(k[g>>2]|0)+1}ie(k[f>>2]|0);if(k[(k[j>>2]|0)+56>>2]|0){d=(k[(k[j>>2]|0)+56>>2]|0)+8|0;GY(k[(k[j>>2]|0)+52>>2]|0,k[d>>2]|0,k[d+4>>2]|0)}}d=(k[j>>2]|0)+60|0;k[d>>2]=k[d>>2]&-65}if(k[(k[j>>2]|0)+56>>2]|0?(k[(k[l>>2]|0)+48>>2]|0)==0:0){k[m>>2]=k[(k[j>>2]|0)+56>>2];if(!(k[o>>2]|0))a=0;else a=k[(k[m>>2]|0)+24+((k[o>>2]|0)-1<<2)>>2]|0;k[n>>2]=a;k[k[q>>2]>>2]=(k[(k[m>>2]|0)+24+(k[o>>2]<<2)>>2]|0)-(k[n>>2]|0);k[k[p>>2]>>2]=(k[(k[m>>2]|0)+16>>2]|0)+(k[n>>2]|0);r=k[r>>2]|0;u=s;return r|0}p=HY(k[(k[j>>2]|0)+52>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[k[q>>2]>>2]=p;r=k[r>>2]|0;u=s;return r|0}function EY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[c>>2]=a;k[d>>2]=b;b=ze(k[(k[c>>2]|0)+16>>2]<<4)|0;k[e>>2]=b;if(!(k[e>>2]|0)){i=k[e>>2]|0;u=j;return i|0}w0(k[e>>2]|0,0,k[(k[c>>2]|0)+16>>2]<<4|0)|0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[c>>2]|0)+16>>2]|0))break;k[g>>2]=(k[(k[(k[c>>2]|0)+20>>2]|0)+(k[f>>2]<<2)>>2]|0)+4;k[h>>2]=k[k[(k[(k[c>>2]|0)+20>>2]|0)+(k[f>>2]<<2)>>2]>>2];do if(k[d>>2]|0){if((k[(k[g>>2]|0)+4>>2]|0?(a=(k[h>>2]|0)+16|0,b=(k[(k[c>>2]|0)+8>>2]|0)+16|0,!((k[a>>2]|0)!=(k[b>>2]|0)?1:(k[a+4>>2]|0)!=(k[b+4>>2]|0))):0)?(k[(k[h>>2]|0)+4>>2]|0)==0:0){i=9;break}k[(k[e>>2]|0)+(k[f>>2]<<4)+12>>2]=1}else i=9;while(0);if((i|0)==9){i=0;k[(k[g>>2]|0)+4>>2]=0}k[f>>2]=(k[f>>2]|0)+1}i=k[e>>2]|0;u=j;return i|0}function FY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+64|0;n=s+48|0;o=s+44|0;p=s+40|0;q=s+36|0;g=s+32|0;h=s+28|0;i=s+24|0;j=s;l=s+20|0;m=s+16|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[g>>2]=e;k[h>>2]=f;k[j>>2]=k[o>>2];k[j+4>>2]=k[p>>2];e=k[q>>2]|0;e=h0(0,e|0,1,0)|0;f=j+8|0;k[f>>2]=e;k[f+4>>2]=M;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[o>>2]|0)+16>>2]|0))break;k[l>>2]=k[k[(k[(k[o>>2]|0)+20>>2]|0)+(k[i>>2]<<2)>>2]>>2];k[m>>2]=k[(k[(k[l>>2]|0)+24>>2]|0)+4>>2];if(k[m>>2]|0?0==(KY(k[m>>2]|0,k[q>>2]|0)|0):0)r=6;else if(k[(k[p>>2]|0)+(k[i>>2]<<4)+12>>2]|0)r=6;else{a=1;b=(k[p>>2]|0)+(k[i>>2]<<4)|0}if((r|0)==6){r=0;a=0;b=(k[p>>2]|0)+(k[i>>2]<<4)|0}k[b+8>>2]=a;k[i>>2]=(k[i>>2]|0)+1}r=OV(k[n>>2]|0,4,k[g>>2]|0,k[h>>2]|0,j,153)|0;u=s;return r|0}function GY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=u;u=u+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;c=f;IY(k[(k[e>>2]|0)+8>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;u=d;return}function HY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;d=i+20|0;j=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;k[g>>2]=k[(k[(k[d>>2]|0)+20>>2]|0)+(k[j>>2]<<2)>>2];k[h>>2]=k[k[g>>2]>>2];if((k[(k[h>>2]|0)+4>>2]|0)==0?(h=(k[h>>2]|0)+16|0,j=(k[(k[d>>2]|0)+8>>2]|0)+16|0,(k[h>>2]|0)==(k[j>>2]|0)?(k[h+4>>2]|0)==(k[j+4>>2]|0):0):0){k[k[e>>2]>>2]=k[(k[g>>2]|0)+4>>2];k[f>>2]=k[(k[g>>2]|0)+4+4>>2];j=k[f>>2]|0;u=i;return j|0}k[k[e>>2]>>2]=0;k[f>>2]=0;j=k[f>>2]|0;u=i;return j|0}function IY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;d=j+24|0;e=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;b=k[a+4>>2]|0;c=(k[e>>2]|0)+16|0;k[c>>2]=k[a>>2];k[c+4>>2]=b;k[(k[e>>2]|0)+4>>2]=0;a:do switch(k[k[e>>2]>>2]|0){case 11:case 4:{k[d>>2]=(k[(k[(k[(k[e>>2]|0)+24>>2]|0)+12>>2]|0)+4+4>>2]|0)>0&1;i=k[d>>2]|0;u=j;return i|0}case 2:{k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[e>>2]|0)+28>>2]|0))break a;i=f;if(!(IY(k[(k[e>>2]|0)+32+(k[g>>2]<<2)>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0))break;k[g>>2]=(k[g>>2]|0)+1}JY(k[e>>2]|0);k[d>>2]=0;i=k[d>>2]|0;u=j;return i|0}case 1:{k[i>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[e>>2]|0)+28>>2]|0))break;g=f;if(IY(k[(k[e>>2]|0)+32+(k[h>>2]<<2)>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0)k[i>>2]=1;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=k[i>>2];i=k[d>>2]|0;u=j;return i|0}default:{i=f;if(0!=(IY(k[(k[e>>2]|0)+32>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0)?(i=f,0==(IY(k[(k[e>>2]|0)+32+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0)):0)break a;JY(k[e>>2]|0);k[d>>2]=0;i=k[d>>2]|0;u=j;return i|0}}while(0);k[d>>2]=1;i=k[d>>2]|0;u=j;return i|0}function JY(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if((k[k[b>>2]>>2]|0)!=4?(k[k[b>>2]>>2]|0)!=11:0){k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+28>>2]|0))break;JY(k[(k[b>>2]|0)+32+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}u=d;return}k[(k[(k[(k[b>>2]|0)+24>>2]|0)+12>>2]|0)+4+4>>2]=0;u=d;return}function KY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0)){a=6;break}if((k[(k[c>>2]|0)+4+(k[e>>2]<<2)>>2]|0)==(k[d>>2]|0)){a=4;break}k[e>>2]=(k[e>>2]|0)+1}if((a|0)==4){k[f>>2]=1;f=k[f>>2]|0;u=g;return f|0}else if((a|0)==6){k[f>>2]=0;f=k[f>>2]|0;u=g;return f|0}return 0}function LY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=u;u=u+64|0;o=s+48|0;t=s+44|0;p=s+40|0;q=s+36|0;g=s+32|0;h=s+20|0;i=s+16|0;j=s+12|0;l=s+8|0;m=s+4|0;n=s;k[t>>2]=a;k[p>>2]=b;k[q>>2]=c;k[g>>2]=d;k[s+28>>2]=e;k[s+24>>2]=f;k[h>>2]=k[t>>2];k[i>>2]=k[k[h>>2]>>2];if((k[g>>2]|0)>32768)k[g>>2]=32768;if(!(k[p>>2]&1)){t=(k[h>>2]|0)+8|0;p=t;p=i0(k[p>>2]|0,k[p+4>>2]|0,1,0)|0;k[t>>2]=p;k[t+4>>2]=M}k[j>>2]=0;a:while(1){if((k[j>>2]|0)>=(k[(k[i>>2]|0)+16>>2]|0)){r=18;break}b:do if(k[(k[(k[h>>2]|0)+4>>2]|0)+(k[j>>2]<<4)+8>>2]|0){k[l>>2]=(k[(k[(k[i>>2]|0)+20>>2]|0)+(k[j>>2]<<2)>>2]|0)+20;while(1){if(!(k[l>>2]|0))break b;t=q$(k[(k[l>>2]|0)+4>>2]|0)|0;k[m>>2]=t;if((k[m>>2]|0)!=(k[g>>2]|0)){if((k[m>>2]|0)<(k[g>>2]|0)?k[k[l>>2]>>2]|0:0)r=13}else r=13;if((r|0)==13?(r=0,(R_(k[(k[l>>2]|0)+4>>2]|0,k[q>>2]|0,k[m>>2]|0)|0)==0):0)break;k[l>>2]=k[(k[l>>2]|0)+12>>2]}t=(k[h>>2]|0)+8|0;t=nW((k[(k[(k[i>>2]|0)+20>>2]|0)+(k[j>>2]<<2)>>2]|0)+4|0,(k[(k[h>>2]|0)+4>>2]|0)+(k[j>>2]<<4)|0,k[t>>2]|0,k[t+4>>2]|0)|0;k[n>>2]=t;if(k[n>>2]|0){r=15;break a}}while(0);k[j>>2]=(k[j>>2]|0)+1}if((r|0)==15){k[o>>2]=k[n>>2];t=k[o>>2]|0;u=s;return t|0}else if((r|0)==18){k[o>>2]=0;t=k[o>>2]|0;u=s;return t|0}return 0}function MY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+64|0;l=r+60|0;s=r+56|0;o=r+52|0;p=r+48|0;m=r+44|0;q=r+40|0;n=r+32|0;d=r+24|0;e=r+20|0;f=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;k[l>>2]=a;k[s>>2]=b;k[o>>2]=c;k[p>>2]=0;k[q>>2]=0;k[n>>2]=0;k[n+4>>2]=0;k[m>>2]=k[(k[(k[l>>2]|0)+20>>2]|0)+(k[s>>2]<<2)>>2];c=nT(p,24)|0;k[q>>2]=c;if(!(k[p>>2]|0)){s=nT(p,4)|0;k[(k[q>>2]|0)+20>>2]=s}if(!(k[p>>2]|0)){s=nT(p,40)|0;k[(k[q>>2]|0)+8>>2]=s}if(!(k[p>>2]|0)){s=nT(p,20)|0;k[(k[(k[q>>2]|0)+8>>2]|0)+24>>2]=s}if((k[p>>2]|0)==0?(k[d>>2]=k[(k[(k[k[m>>2]>>2]|0)+24>>2]|0)+4>>2],k[d>>2]|0):0){k[e>>2]=8+((k[k[d>>2]>>2]|0)-1<<2);s=nT(p,k[e>>2]|0)|0;k[f>>2]=s;if(k[f>>2]|0)r0(k[f>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[(k[(k[(k[q>>2]|0)+8>>2]|0)+24>>2]|0)+4>>2]=k[f>>2]}a:do if(k[(k[m>>2]|0)+16>>2]|0){k[g>>2]=0;while(1){if(k[p>>2]|0)break a;if((k[g>>2]|0)>=(k[(k[m>>2]|0)+16>>2]|0))break a;k[h>>2]=0;k[i>>2]=(k[m>>2]|0)+20+(k[g>>2]<<4);while(1){if(!(k[i>>2]|0?(k[p>>2]|0)==0:0))break;k[j>>2]=k[(k[i>>2]|0)+4>>2];c=k[h>>2]|0;s=k[j>>2]|0;s=NV(n,c,s,q$(k[j>>2]|0)|0,0,0)|0;k[p>>2]=s;k[h>>2]=1;k[i>>2]=k[(k[i>>2]|0)+12>>2]}if(!(k[p>>2]|0))k[(k[n>>2]|0)+20+(k[g>>2]<<4)>>2]=k[(k[m>>2]|0)+20+(k[g>>2]<<4)>>2];k[g>>2]=(k[g>>2]|0)+1}}else{s=nT(p,36)|0;k[n>>2]=s}while(0);if(k[p>>2]|0){fV(k[q>>2]|0);iV(k[n>>2]|0);k[q>>2]=0;q=k[q>>2]|0;s=k[o>>2]|0;k[s>>2]=q;s=k[p>>2]|0;u=r;return s|0}k[k[q>>2]>>2]=k[k[l>>2]>>2];k[(k[q>>2]|0)+4>>2]=k[(k[l>>2]|0)+4>>2];k[(k[q>>2]|0)+16>>2]=1;k[k[(k[q>>2]|0)+20>>2]>>2]=k[n>>2];k[(k[(k[(k[q>>2]|0)+8>>2]|0)+24>>2]|0)+12>>2]=k[n>>2];k[(k[(k[(k[q>>2]|0)+8>>2]|0)+24>>2]|0)+8>>2]=1;k[k[n>>2]>>2]=k[(k[q>>2]|0)+8>>2];if((k[(k[m>>2]|0)+16>>2]|0)==1?(k[(k[m>>2]|0)+20+12>>2]|0)==0:0){k[k[(k[q>>2]|0)+8>>2]>>2]=4;a=k[q>>2]|0;b=151}else{k[k[(k[q>>2]|0)+8>>2]>>2]=11;a=k[q>>2]|0;b=152}k[(k[a+8>>2]|0)+12>>2]=b;q=k[q>>2]|0;s=k[o>>2]|0;k[s>>2]=q;s=k[p>>2]|0;u=r;return s|0}function NY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=u;u=u+32|0;i=f+16|0;d=f+12|0;h=f+8|0;e=f+4|0;g=f;k[i>>2]=a;k[d>>2]=b;k[h>>2]=c;k[g>>2]=k[(k[d>>2]|0)+52>>2];c=(k[d>>2]|0)+32|0;c=OY(k[g>>2]|0,k[(k[i>>2]|0)+16>>2]|0,k[c>>2]|0,k[c+4>>2]|0,k[h>>2]|0)|0;k[e>>2]=c;if(!(PY(k[g>>2]|0)|0)){i=k[d>>2]|0;QY(i);i=k[e>>2]|0;u=f;return i|0}i=(k[d>>2]|0)+60|0;k[i>>2]=k[i>>2]|1;i=k[d>>2]|0;QY(i);i=k[e>>2]|0;u=f;return i|0}function OY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=u;u=u+32|0;g=j+24|0;m=j+20|0;h=j;l=j+16|0;i=j+12|0;f=j+8|0;k[g>>2]=a;k[m>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[l>>2]=e;k[i>>2]=k[(k[g>>2]|0)+8>>2];k[k[g>>2]>>2]=k[m>>2];k[(k[g>>2]|0)+12>>2]=k[l>>2];e=RY(k[g>>2]|0,k[i>>2]|0)|0;k[f>>2]=e;if((k[(k[i>>2]|0)+4>>2]|0)==0?(l=(k[i>>2]|0)+16|0,m=h,(_V(k[g>>2]|0,k[l>>2]|0,k[l+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0)<0):0){m=h;m=Xb[k[(k[i>>2]|0)+12>>2]&255](k[g>>2]|0,k[i>>2]|0,1,k[m>>2]|0,k[m+4>>2]|0)|0;k[f>>2]=m}while(1){if(!(k[(k[i>>2]|0)+8>>2]|0))break;m=Xb[k[(k[i>>2]|0)+12>>2]&255](k[g>>2]|0,k[i>>2]|0,0,0,0)|0;k[f>>2]=m}u=j;return k[f>>2]|0}function PY(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[(k[b>>2]|0)+8>>2]|0)+4>>2]|0}function QY(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+60|0;k[a>>2]=k[a>>2]|78;u=b;return}function RY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[(k[d>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+8>>2]=0;a:do if((k[k[d>>2]>>2]|0)!=4?(k[k[d>>2]>>2]|0)!=11:0){if(!(k[(k[d>>2]|0)+12>>2]|0)){k[(k[d>>2]|0)+4>>2]=1;break}k[g>>2]=0;k[f>>2]=0;while(1){a=(k[d>>2]|0)+32|0;if(!((k[f>>2]|0)<(k[(k[d>>2]|0)+28>>2]|0)?(k[e>>2]|0)==0:0))break;k[h>>2]=k[a+(k[f>>2]<<2)>>2];b=RY(k[c>>2]|0,k[(k[d>>2]|0)+32+(k[f>>2]<<2)>>2]|0)|0;k[e>>2]=b;k[g>>2]=(k[g>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0);k[f>>2]=(k[f>>2]|0)+1}b=(k[a>>2]|0)+16|0;f=k[b+4>>2]|0;h=(k[d>>2]|0)+16|0;k[h>>2]=k[b>>2];k[h+4>>2]=f;switch(k[k[d>>2]>>2]|0){case 2:{if((k[g>>2]|0)<=0)break a;aW(k[d>>2]|0);break a}case 1:{if((k[(k[d>>2]|0)+28>>2]|0)!=(k[g>>2]|0))break a;aW(k[d>>2]|0);break a}default:{k[(k[d>>2]|0)+4>>2]=k[(k[(k[d>>2]|0)+32>>2]|0)+4>>2];break a}}}else i=3;while(0);if((i|0)==3){i=SY(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=i}if(k[e>>2]|0){i=k[e>>2]|0;u=j;return i|0}i=TY(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=i;i=k[e>>2]|0;u=j;return i|0}function SY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;o=u;u=u+48|0;e=o+36|0;j=o+32|0;f=o+28|0;g=o+24|0;h=o+20|0;m=o+16|0;n=o+12|0;i=o+8|0;c=o+4|0;d=o;k[e>>2]=a;k[j>>2]=b;k[f>>2]=k[(k[j>>2]|0)+24>>2];k[m>>2]=0;k[n>>2]=1;k[g>>2]=0;while(1){if(k[m>>2]|0){a=18;break}if((k[g>>2]|0)>=(k[(k[f>>2]|0)+8>>2]|0)){a=18;break}k[i>>2]=k[(k[f>>2]|0)+12+(k[g>>2]<<2)>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[i>>2]|0)+16>>2]|0))break;k[c>>2]=(k[i>>2]|0)+20+(k[h>>2]<<4);k[d>>2]=k[c>>2];while(1){if(!(k[d>>2]|0?(k[m>>2]|0)==0:0))break;if(k[(k[d>>2]|0)+8>>2]|0){wS(k[(k[d>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+8>>2]=0}p=k[k[e>>2]>>2]|0;a=k[(k[d>>2]|0)+4>>2]|0;b=q$(k[(k[d>>2]|0)+4>>2]|0)|0;b=pS(p,a,b,(k[k[c>>2]>>2]|0?1:0)|(k[(k[e>>2]|0)+12>>2]|0?2:0),k[(k[f>>2]|0)+4>>2]|0,(k[d>>2]|0)+8|0)|0;k[m>>2]=b;if(k[(k[d>>2]|0)+8>>2]|0?0==(l[(k[(k[d>>2]|0)+8>>2]|0)+16>>0]|0|0):0)k[n>>2]=0;k[d>>2]=k[(k[d>>2]|0)+12>>2]}if(k[n>>2]|0)break;k[h>>2]=(k[h>>2]|0)+1}if(k[n>>2]|0){a=18;break}k[g>>2]=(k[g>>2]|0)+1}if((a|0)==18){k[(k[j>>2]|0)+4>>2]=k[n>>2];u=o;return k[m>>2]|0}return 0}function TY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;a:do if(!(k[(k[d>>2]|0)+4>>2]|0))switch(k[k[d>>2]>>2]|0){case 11:{d=fW(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=d;break a}case 4:{d=tW(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=d;break a}case 2:{d=$V(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=d;break a}case 1:{bW(k[c>>2]|0,k[d>>2]|0);break a}default:{d=XV(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=d;break a}}while(0);u=f;return k[e>>2]|0}function UY(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;b=c;d=c+8|0;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+56>>2]|0){e=(k[a+56>>2]|0)+8|0;a=k[e+4>>2]|0;d=b;k[d>>2]=k[e>>2];k[d+4>>2]=a;d=b;d=k[d>>2]|0;b=b+4|0;b=k[b>>2]|0;M=b;u=c;return d|0}else{e=ZY(k[a+52>>2]|0)|0;d=b;k[d>>2]=e;k[d+4>>2]=M;d=b;e=d;e=k[e>>2]|0;d=d+4|0;d=k[d>>2]|0;M=d;u=c;return e|0}return 0}function VY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+48|0;o=n+36|0;h=n;i=n+32|0;j=n+28|0;l=n+24|0;m=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;k[o>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=k[(k[k[o>>2]>>2]|0)+12>>2];k[l>>2]=0;d=XY(k[o>>2]|0,8,l,0)|0;k[m>>2]=d;if(k[m>>2]|0){o=k[m>>2]|0;u=n;return o|0}k[e>>2]=1;o=h;AJ(k[l>>2]|0,1,k[o>>2]|0,k[o+4>>2]|0)|0;if(100==(Ls(k[l>>2]|0)|0)?(o=pJ(k[l>>2]|0,0)|0,k[f>>2]=o,o=qJ(k[l>>2]|0,0)|0,k[g>>2]=o,0==(YY(k[i>>2]|0,k[j>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)):0)k[e>>2]=0;o=Is(k[l>>2]|0)|0;k[m>>2]=o;k[m>>2]=(k[e>>2]|0)!=0&(k[m>>2]|0)==0?267:o;o=k[m>>2]|0;u=n;return o|0}function WY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=u;u=u+32|0;j=h+24|0;i=h+20|0;g=h;k[j>>2]=a;k[i>>2]=b;k[h+16>>2]=c;k[h+12>>2]=d;k[h+8>>2]=e;k[h+4>>2]=f;k[g>>2]=k[j>>2];if(k[i>>2]&1|0){u=h;return 0}j=k[g>>2]|0;k[j>>2]=(k[j>>2]|0)+1;u=h;return 0}function XY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+160|0;x=y+72|0;g=y+64|0;w=y+48|0;f=y+32|0;h=y+8|0;e=y;p=y+156|0;q=y+152|0;r=y+148|0;s=y+144|0;t=y+140|0;v=y+96|0;j=y+92|0;l=y+88|0;m=y+84|0;n=y+80|0;o=y+76|0;k[p>>2]=a;k[q>>2]=b;k[r>>2]=c;k[s>>2]=d;k[t>>2]=0;if(k[(k[p>>2]|0)+28+(k[q>>2]<<2)>>2]|0){x=k[p>>2]|0;x=x+28|0;w=k[q>>2]|0;w=x+(w<<2)|0;w=k[w>>2]|0;x=k[r>>2]|0;k[x>>2]=w;x=k[r>>2]|0;x=k[x>>2]|0;Is(x)|0;x=k[t>>2]|0;u=y;return x|0}a=v;b=10652;c=a+44|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));k[j>>2]=k[k[p>>2]>>2];k[l>>2]=0;switch(k[q>>2]|0){case 10:{w=k[v+(k[q>>2]<<2)>>2]|0;v=k[(k[j>>2]|0)+36>>2]|0;k[e>>2]=k[(k[j>>2]|0)+52>>2];k[e+4>>2]=v;w=xf(w,e)|0;k[l>>2]=w;break}case 1:case 0:{w=k[v+(k[q>>2]<<2)>>2]|0;m=k[(k[j>>2]|0)+36>>2]|0;n=k[(k[j>>2]|0)+40>>2]|0;o=k[(k[j>>2]|0)+40>>2]|0;v=k[(k[j>>2]|0)+40>>2]|0;k[h>>2]=k[(k[j>>2]|0)+52>>2];k[h+4>>2]=m;k[h+8>>2]=n;k[h+12>>2]=o;k[h+16>>2]=v;w=xf(w,h)|0;k[l>>2]=w;break}case 2:{w=k[v+(k[q>>2]<<2)>>2]|0;o=k[(k[j>>2]|0)+36>>2]|0;v=k[(k[j>>2]|0)+40>>2]|0;k[f>>2]=k[(k[j>>2]|0)+52>>2];k[f+4>>2]=o;k[f+8>>2]=v;w=xf(w,f)|0;k[l>>2]=w;break}case 4:case 3:{k[m>>2]=(k[(k[j>>2]|0)+12>>2]|0)+1;h=ze(1+(k[m>>2]<<1)|0)|0;k[n>>2]=h;if(k[n>>2]|0){k[o>>2]=0;while(1){a=k[n>>2]|0;b=k[o>>2]<<1;if((k[o>>2]|0)>=(k[m>>2]|0))break;i[a+b>>0]=63;i[(k[n>>2]|0)+((k[o>>2]<<1)+1)>>0]=44;k[o>>2]=(k[o>>2]|0)+1}i[a+(b-1)>>0]=0;v=k[v+(k[q>>2]<<2)>>2]|0;m=k[(k[j>>2]|0)+8>>2]|0;o=k[n>>2]|0;k[w>>2]=k[(k[j>>2]|0)+4>>2];k[w+4>>2]=m;k[w+8>>2]=o;w=xf(v,w)|0;k[l>>2]=w;ie(k[n>>2]|0)}break}default:{w=k[v+(k[q>>2]<<2)>>2]|0;v=k[(k[j>>2]|0)+8>>2]|0;k[g>>2]=k[(k[j>>2]|0)+4>>2];k[g+4>>2]=v;w=xf(w,g)|0;k[l>>2]=w}}if(!(k[l>>2]|0)){k[t>>2]=7;x=k[p>>2]|0;x=x+28|0;w=k[q>>2]|0;w=x+(w<<2)|0;w=k[w>>2]|0;x=k[r>>2]|0;k[x>>2]=w;x=k[r>>2]|0;x=k[x>>2]|0;Is(x)|0;x=k[t>>2]|0;u=y;return x|0}w=Jv(k[k[j>>2]>>2]|0,k[l>>2]|0,-1,(k[p>>2]|0)+28+(k[q>>2]<<2)|0,0)|0;k[t>>2]=w;ie(k[l>>2]|0);if(!((k[t>>2]|0)!=0&(k[s>>2]|0)!=0)){x=k[p>>2]|0;x=x+28|0;w=k[q>>2]|0;w=x+(w<<2)|0;w=k[w>>2]|0;x=k[r>>2]|0;k[x>>2]=w;x=k[r>>2]|0;x=k[x>>2]|0;Is(x)|0;x=k[t>>2]|0;u=y;return x|0}w=Ov(k[k[j>>2]>>2]|0)|0;k[x>>2]=w;x=xf(21240,x)|0;k[k[s>>2]>>2]=x;x=k[p>>2]|0;x=x+28|0;w=k[q>>2]|0;w=x+(w<<2)|0;w=k[w>>2]|0;x=k[r>>2]|0;k[x>>2]=w;x=k[r>>2]|0;x=k[x>>2]|0;Is(x)|0;x=k[t>>2]|0;u=y;return x|0}function YY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;l=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;e=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[e>>2]=0;k[j>>2]=0;while(1){b=k[e>>2]|0;c=k[i>>2]|0;if((k[j>>2]|0)>=(k[g>>2]|0)){a=6;break}if((b|0)>=(c|0)){a=4;break}d=dS((k[h>>2]|0)+(k[e>>2]|0)|0,(k[f>>2]|0)+(k[j>>2]<<2)|0)|0;k[e>>2]=(k[e>>2]|0)+d;k[j>>2]=(k[j>>2]|0)+1}if((a|0)==4){k[l>>2]=1;l=k[l>>2]|0;u=m;return l|0}else if((a|0)==6){k[l>>2]=(b|0)!=(c|0)&1;l=k[l>>2]|0;u=m;return l|0}return 0}function ZY(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[(k[c>>2]|0)+8>>2]|0)+16|0;M=k[a+4>>2]|0;u=b;return k[a>>2]|0}function _Y(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return (k[(k[(k[b>>2]|0)+12>>2]|0)+32>>2]|0)==1|0}function $Y(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[(k[c>>2]|0)+48>>2]|0)){k[f>>2]=k[k[c>>2]>>2];b=aZ(k[c>>2]|0)|0;k[g>>2]=b;g=bZ(k[(k[f>>2]|0)+20>>2]|0,k[g>>2]|0,(k[c>>2]|0)+48|0,k[d>>2]|0?(k[f>>2]|0)+8|0:0)|0;k[e>>2]=g}if(k[e>>2]|0){g=k[e>>2]|0;u=h;return g|0}if(!(k[(k[c>>2]|0)+60>>2]&2)){g=k[e>>2]|0;u=h;return g|0}Is(k[(k[c>>2]|0)+48>>2]|0)|0;f=k[(k[c>>2]|0)+48>>2]|0;g=UY(k[c>>2]|0)|0;AJ(f,1,g,M)|0;g=Ls(k[(k[c>>2]|0)+48>>2]|0)|0;k[e>>2]=g;if((k[e>>2]|0)==100){k[e>>2]=0;g=(k[c>>2]|0)+60|0;k[g>>2]=k[g>>2]&-3;g=k[e>>2]|0;u=h;return g|0}else{g=Is(k[(k[c>>2]|0)+48>>2]|0)|0;k[e>>2]=g;k[e>>2]=(k[e>>2]|0)==0?267:g;g=k[e>>2]|0;u=h;return g|0}return 0}function aZ(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[(k[c>>2]|0)+24>>2]|0)==5){k[b>>2]=k[(k[c>>2]|0)+28>>2]|0?1:0;c=k[b>>2]|0;u=d;return c|0}else{k[b>>2]=2;c=k[b>>2]|0;u=d;return c|0}return 0}function bZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;e=h+16|0;f=h+12|0;j=h+8|0;i=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[j>>2]=c;k[i>>2]=d;d=XY(k[e>>2]|0,k[f>>2]|0,k[j>>2]|0,k[i>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0){j=k[g>>2]|0;u=h;return j|0}k[(k[e>>2]|0)+28+(k[f>>2]<<2)>>2]=0;j=k[g>>2]|0;u=h;return j|0}function cZ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;o=u;u=u+48|0;e=o+40|0;h=o+36|0;i=o+32|0;j=o+28|0;b=o+24|0;m=o+20|0;n=o+16|0;c=o+12|0;d=o+8|0;f=o+4|0;g=o;k[e>>2]=a;k[h>>2]=0;a=dZ(k[(k[e>>2]|0)+52>>2]|0)|0;k[j>>2]=a;if(!(k[(k[e>>2]|0)+104>>2]|0)){k[b>>2]=(k[j>>2]|0)*24;b=nT(h,k[b>>2]|0)|0;k[(k[e>>2]|0)+104>>2]=b}k[i>>2]=k[(k[e>>2]|0)+104>>2];if(!(k[i>>2]|0)){n=k[h>>2]|0;u=o;return n|0}k[m>>2]=0;k[n>>2]=0;while(1){if(!((k[n>>2]|0)<(k[j>>2]|0)?(k[h>>2]|0)==0:0))break;b=DY(k[e>>2]|0,k[n>>2]|0,c,d)|0;k[h>>2]=b;if(!(k[h>>2]|0))pW(k[c>>2]|0,k[d>>2]|0,(k[i>>2]|0)+((k[n>>2]|0)*24|0)|0)|0;k[n>>2]=(k[n>>2]|0)+1}a:do if(!(k[h>>2]|0)){while(1){k[g>>2]=-1;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[j>>2]|0))break;do if(!(l[(k[i>>2]|0)+((k[n>>2]|0)*24|0)+13>>0]|0)){if((k[g>>2]|0)>=0?(c=(k[i>>2]|0)+((k[n>>2]|0)*24|0)+16|0,a=k[c+4>>2]|0,d=(k[i>>2]|0)+((k[g>>2]|0)*24|0)+16|0,b=k[d+4>>2]|0,!((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[d>>2]|0)>>>0:0))):0)break;k[g>>2]=k[n>>2]}while(0);k[n>>2]=(k[n>>2]|0)+1}if((k[g>>2]|0)<0)break a;k[m>>2]=(k[m>>2]|0)+1;if((k[m>>2]|0)>=(k[(k[e>>2]|0)+108>>2]|0)){if(k[(k[e>>2]|0)+108>>2]|0)a=k[(k[e>>2]|0)+108>>2]<<1;else a=32;k[(k[e>>2]|0)+108>>2]=a;d=fg(k[(k[e>>2]|0)+116>>2]|0,(k[(k[e>>2]|0)+108>>2]<<2)*3|0)|0;k[f>>2]=d;if(!(k[f>>2]|0))break;k[(k[e>>2]|0)+116>>2]=k[f>>2]}k[f>>2]=(k[(k[e>>2]|0)+116>>2]|0)+(((k[m>>2]|0)-1|0)*3<<2);k[k[f>>2]>>2]=k[g>>2];d=(k[i>>2]|0)+((k[g>>2]|0)*24|0)+16|0;d=o0(k[d>>2]|0,k[d+4>>2]|0,32)|0;k[(k[f>>2]|0)+4>>2]=d;k[(k[f>>2]|0)+8>>2]=k[(k[i>>2]|0)+((k[g>>2]|0)*24|0)+16>>2];qW((k[i>>2]|0)+((k[g>>2]|0)*24|0)|0)|0}k[h>>2]=7}while(0);k[(k[e>>2]|0)+112>>2]=k[m>>2];n=(k[e>>2]|0)+60|0;k[n>>2]=k[n>>2]&-9;n=k[h>>2]|0;u=o;return n|0}function dZ(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){b=0;u=c;return b|0}b=k[(k[b>>2]|0)+16>>2]|0;u=c;return b|0}function eZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>=0?(k[e>>2]|0)<(k[(k[d>>2]|0)+16>>2]|0):0){k[c>>2]=k[(k[(k[(k[d>>2]|0)+20>>2]|0)+(k[e>>2]<<2)>>2]|0)+16>>2];e=k[c>>2]|0;u=f;return e|0}k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}function fZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=gZ(k[d>>2]|0,0)|0;k[g>>2]=c;if(k[g>>2]|0){h=k[g>>2]|0;u=i;return h|0}c=k[f>>2]|0;k[c>>2]=0;k[c+4>>2]=0;if((k[e>>2]|0)<0){k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[k[d>>2]>>2]|0)+12>>2]|0))break;c=(k[(k[d>>2]|0)+24>>2]|0)+(k[h>>2]<<3)|0;e=k[f>>2]|0;b=e;c=i0(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[e>>2]=c;k[e+4>>2]=M;k[h>>2]=(k[h>>2]|0)+1}h=k[g>>2]|0;u=i;return h|0}if((k[e>>2]|0)<(k[(k[k[d>>2]>>2]|0)+12>>2]|0)){d=(k[(k[d>>2]|0)+24>>2]|0)+(k[e>>2]<<3)|0;e=k[d+4>>2]|0;h=k[f>>2]|0;k[h>>2]=k[d>>2];k[h+4>>2]=e;h=k[g>>2]|0;u=i;return h|0}else{k[g>>2]=25;h=k[g>>2]|0;u=i;return h|0}return 0}function gZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(k[(k[c>>2]|0)+8>>2]|0){e=k[e>>2]|0;u=f;return e|0}b=hZ(k[(k[c>>2]|0)+4>>2]|0,(k[c>>2]|0)+16|0,k[(k[c>>2]|0)+24>>2]|0)|0;k[e>>2]=b;k[(k[c>>2]|0)+8>>2]=k[d>>2];e=k[e>>2]|0;u=f;return e|0}function hZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[k[d>>2]>>2]|0)+12>>2];c=k[e>>2]|0;k[c>>2]=0;k[c+4>>2]=0;w0(k[f>>2]|0,0,k[g>>2]<<3|0)|0;c=ZR(k[d>>2]|0,1,0)|0;k[h>>2]=c;a:do if((k[(k[d>>2]|0)+36>>2]|0)==0?k[(k[h>>2]|0)+4>>2]|0:0){k[i>>2]=0;e=($R((k[k[h>>2]>>2]|0)+(k[i>>2]|0)|0,k[e>>2]|0)|0)&255;k[i>>2]=(k[i>>2]|0)+e;k[j>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[h>>2]|0)+4>>2]|0))break a;if((k[j>>2]|0)>=(k[g>>2]|0))break a;e=($R((k[k[h>>2]>>2]|0)+(k[i>>2]|0)|0,(k[f>>2]|0)+(k[j>>2]<<3)|0)|0)&255;k[i>>2]=(k[i>>2]|0)+e;k[j>>2]=(k[j>>2]|0)+1}}while(0);KR(k[h>>2]|0);j=LR(k[d>>2]|0)|0;u=l;return j|0}function iZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;b=gZ(k[c>>2]|0,0)|0;k[e>>2]=b;if(k[e>>2]|0){e=k[e>>2]|0;u=f;return e|0}b=(k[c>>2]|0)+16|0;c=k[b+4>>2]|0;d=k[d>>2]|0;k[d>>2]=k[b>>2];k[d+4>>2]=c;e=k[e>>2]|0;u=f;return e|0}function jZ(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e+8|0;d=e+4|0;b=e;k[d>>2]=a;k[b>>2]=k[(k[(k[d>>2]|0)+24>>2]|0)+44>>2];while(1){if(!(k[b>>2]|0)){a=6;break}if((k[k[b>>2]>>2]|0)==(k[d>>2]|0)){a=4;break}k[b>>2]=k[(k[b>>2]|0)+4>>2]}if((a|0)==4){k[c>>2]=0;d=k[c>>2]|0;u=e;return d|0}else if((a|0)==6){d=kZ(k[(k[d>>2]|0)+20>>2]|0)|0;k[c>>2]=d;d=k[c>>2]|0;u=e;return d|0}return 0}function kZ(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=lZ(k[(k[c>>2]|0)+4>>2]|0)|0;u=b;return a|0}function lZ(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;b=c;k[b>>2]=a;d=KT(k[b>>2]|0)|0;a=(k[b>>2]|0)+72|0;if(!((d|0)!=(k[a>>2]|0)?1:(M|0)!=(k[a+4>>2]|0))){d=k[b>>2]|0;d=LR(d)|0;u=c;return d|0}oX(k[b>>2]|0);d=k[b>>2]|0;d=LR(d)|0;u=c;return d|0}function mZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;c=g+20|0;d=g+16|0;e=g+12|0;h=g+8|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;b=Ki(k[(k[d>>2]|0)+4>>2]|0)|0;k[h>>2]=b;if((k[h>>2]|0)!=1){h=k[e>>2]|0;u=g;return h|0}b=Pi(k[(k[d>>2]|0)+4>>2]|0)|0;h=f;k[h>>2]=b;k[h+4>>2]=M;h=f;h=oZ(k[(k[c>>2]|0)+20>>2]|0,k[h>>2]|0,k[h+4>>2]|0,(k[d>>2]|0)+8|0)|0;k[e>>2]=h;h=k[e>>2]|0;u=g;return h|0}function nZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+48|0;j=n+8|0;i=n;e=n+36|0;f=n+32|0;g=n+28|0;l=n+24|0;m=n+20|0;h=n+16|0;d=n+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=k[(k[e>>2]|0)+12>>2];k[m>>2]=0;k[h>>2]=0;if(!(ul(51501,k[f>>2]|0)|0)){a=k[e>>2]|0;if(!(k[(k[l>>2]|0)+32>>2]|0)){DZ(a,51512,i);k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}else{l=EZ(k[a+20>>2]|0)|0;k[m>>2]=l;m=k[m>>2]|0;u=n;return m|0}}if(!(ul(45620,k[f>>2]|0)|0)){a=k[e>>2]|0;if((k[(k[l>>2]|0)+32>>2]|0)==1){DZ(a,51592,j);k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}else{l=FZ(k[a+20>>2]|0)|0;k[m>>2]=l;m=k[m>>2]|0;u=n;return m|0}}if(!(ul(42637,k[f>>2]|0)|0)){l=GZ(k[(k[e>>2]|0)+20>>2]|0)|0;k[m>>2]=l;m=k[m>>2]|0;u=n;return m|0}if(!(ul(51648,k[f>>2]|0)|0)){l=_i(k[g>>2]|0)|0;k[d>>2]=l;l=HZ(k[(k[e>>2]|0)+20>>2]|0,k[d>>2]|0)|0;k[m>>2]=l;m=k[m>>2]|0;u=n;return m|0}l=0==(ul(45628,k[f>>2]|0)|0);a=k[e>>2]|0;if(l){l=IZ(k[a+20>>2]|0)|0;k[m>>2]=l;m=k[m>>2]|0;u=n;return m|0}l=JZ(k[a+16>>2]|0)|0;k[m>>2]=l;if(!(k[m>>2]|0)){l=PT(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0,h)|0;k[m>>2]=l}if(k[m>>2]|0){m=k[m>>2]|0;u=n;return m|0}if(k[h>>2]|0){k[m>>2]=1;m=k[m>>2]|0;u=n;return m|0}else{l=KZ(k[(k[e>>2]|0)+20>>2]|0,k[f>>2]|0,k[g>>2]|0,0)|0;k[m>>2]=l;m=k[m>>2]|0;u=n;return m|0}return 0}function oZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;e=l+24|0;f=l;g=l+20|0;h=l+16|0;i=l+12|0;j=l+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;k[h>>2]=k[k[e>>2]>>2];k[j>>2]=0;d=gZ(k[e>>2]|0,1)|0;k[i>>2]=d;if(!(k[i>>2]|0)){d=f;g=CZ(k[e>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[g>>2]|0)|0;k[i>>2]=g}if(((k[i>>2]|0)==0?k[(k[h>>2]|0)+44>>2]|0:0)?(g=XY(k[e>>2]|0,7,j,0)|0,k[i>>2]=g,(k[i>>2]|0)==0):0){g=f;AJ(k[j>>2]|0,1,k[g>>2]|0,k[g+4>>2]|0)|0;Ls(k[j>>2]|0)|0;g=Is(k[j>>2]|0)|0;k[i>>2]=g}if(!(k[(k[h>>2]|0)+32>>2]|0)){if(!(k[i>>2]|0)){h=XY(k[e>>2]|0,5,j,0)|0;k[i>>2]=h}if(!(k[i>>2]|0)){h=f;AJ(k[j>>2]|0,1,k[h>>2]|0,k[h+4>>2]|0)|0;Ls(k[j>>2]|0)|0;j=Is(k[j>>2]|0)|0;k[i>>2]=j}}if(k[i>>2]|0){j=k[i>>2]|0;u=l;return j|0}j=rX(k[e>>2]|0)|0;k[i>>2]=j;j=k[i>>2]|0;u=l;return j|0}function pZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];if(!(k[i>>2]|0)){d=qZ(k[(k[f>>2]|0)+20>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=d}if(k[i>>2]|0){h=k[i>>2]|0;i=k[e>>2]|0;k[i>>2]=h;u=j;return}h=k[h>>2]|0;h=rZ(k[(k[f>>2]|0)+20>>2]|0,k[g>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[i>>2]=h;h=k[i>>2]|0;i=k[e>>2]|0;k[i>>2]=h;u=j;return}function qZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];k[h>>2]=0;if(k[(k[g>>2]|0)+32>>2]|0)if((Ki(k[(k[e>>2]|0)+4>>2]|0)|0)==1){i=Pi(k[(k[e>>2]|0)+4>>2]|0)|0;j=k[f>>2]|0;k[j>>2]=i;k[j+4>>2]=M;j=k[h>>2]|0;u=l;return j|0}else{j=BZ(k[d>>2]|0,k[f>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;u=l;return j|0}k[i>>2]=0;d=XY(k[d>>2]|0,3,i,0)|0;k[h>>2]=d;k[j>>2]=1;while(1){if(k[h>>2]|0)break;if((k[j>>2]|0)>((k[(k[g>>2]|0)+12>>2]|0)+1|0))break;d=DJ(k[i>>2]|0,k[j>>2]|0,k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[h>>2]=d;k[j>>2]=(k[j>>2]|0)+1}if(!(k[h>>2]|0)){Ls(k[i>>2]|0)|0;j=Is(k[i>>2]|0)|0;k[h>>2]=j}i=mj(k[k[g>>2]>>2]|0)|0;j=k[f>>2]|0;k[j>>2]=i;k[j+4>>2]=M;j=k[h>>2]|0;u=l;return j|0}function rZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;n=u;u=u+48|0;f=n+44|0;g=n+40|0;h=n;i=n+36|0;j=n+32|0;m=n+20|0;e=n+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=k[k[f>>2]>>2];k[j>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[m>>2]=k[f>>2];d=gZ(k[f>>2]|0,1)|0;k[j>>2]=d;if(!(k[j>>2]|0)){d=h;d=sZ(k[(k[f>>2]|0)+4>>2]|0,0,k[d>>2]|0,k[d+4>>2]|0)|0;k[j>>2]=d}k[m+4>>2]=0;while(1){if(k[j>>2]|0)break;if((k[m+4>>2]|0)>=(k[(k[i>>2]|0)+12>>2]|0))break;k[m+8>>2]=0;if(!(l[(k[(k[i>>2]|0)+20>>2]|0)+(k[m+4>>2]|0)>>0]|0)){c=k[i>>2]|0;d=$h(k[(k[g>>2]|0)+((k[m+4>>2]|0)+2<<2)>>2]|0)|0;d=OV(c,4,d,ai(k[(k[g>>2]|0)+((k[m+4>>2]|0)+2<<2)>>2]|0)|0,m,154)|0;k[j>>2]=d}c=k[m+8>>2]|0;rT(j,e,c,((c|0)<0)<<31>>31);c=k[m+8>>2]|0;d=(k[(k[f>>2]|0)+24>>2]|0)+(k[m+4>>2]<<3)|0;b=d;c=i0(k[b>>2]|0,k[b+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;k[d>>2]=c;k[d+4>>2]=M;d=m+4|0;k[d>>2]=(k[d>>2]|0)+1}m=(k[f>>2]|0)+16|0;i=m;i=i0(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[m>>2]=i;k[m+4>>2]=M;if(!(k[j>>2]|0)){m=h;m=uZ(k[f>>2]|0,k[m>>2]|0,k[m+4>>2]|0,e)|0;k[j>>2]=m}ie(k[e>>2]|0);if(k[j>>2]|0){m=k[j>>2]|0;u=n;return m|0}m=rX(k[f>>2]|0)|0;k[j>>2]=m;m=k[j>>2]|0;u=n;return m|0}function sZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;e=i+12|0;f=i+8|0;g=i;k[e>>2]=a;k[f>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;if(!(k[(k[e>>2]|0)+12>>2]|0)){d=AZ(k[k[e>>2]>>2]|0,(k[e>>2]|0)+12|0,(k[e>>2]|0)+16|0)|0;k[(k[e>>2]|0)+36>>2]=d}c=g;a=k[c+4>>2]|0;d=(k[e>>2]|0)+24|0;b=k[d+4>>2]|0;do if(!((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[d>>2]|0)>>>0:0))){c=g;d=(k[e>>2]|0)+24|0;if(((k[c>>2]|0)==(k[d>>2]|0)?(k[c+4>>2]|0)==(k[d+4>>2]|0):0)?(k[(k[e>>2]|0)+32>>2]|0)==0:0){h=7;break}if((k[(k[e>>2]|0)+16>>2]|0)>(k[(k[k[e>>2]>>2]|0)+84>>2]|0))h=7}else h=7;while(0);if((h|0)==7)tX(k[e>>2]|0);d=g;g=k[d+4>>2]|0;h=(k[e>>2]|0)+24|0;k[h>>2]=k[d>>2];k[h+4>>2]=g;k[(k[e>>2]|0)+32>>2]=k[f>>2];h=LR(k[e>>2]|0)|0;u=i;return h|0}function tZ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=u;u=u+32|0;n=m+28|0;i=m+24|0;j=m+20|0;l=m+16|0;g=m+4|0;h=m;k[n>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m+12>>2]=e;k[m+8>>2]=f;k[g>>2]=k[n>>2];k[h>>2]=k[(k[k[g>>2]>>2]|0)+4>>2];if((k[l>>2]|0)>32768)k[l>>2]=32768;if(!((k[i>>2]&1|0)!=0?(k[(k[g>>2]|0)+8>>2]|0)!=0:0)){n=(k[g>>2]|0)+8|0;k[n>>2]=(k[n>>2]|0)+1}n=vZ(k[h>>2]|0,k[(k[g>>2]|0)+4>>2]|0,(k[(k[g>>2]|0)+8>>2]|0)-1|0,k[j>>2]|0,k[l>>2]|0)|0;u=m;return n|0}function uZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;k[h>>2]=0;if(!(k[(k[k[e>>2]>>2]|0)+44>>2]|0)){i=k[h>>2]|0;u=j;return i|0}k[i>>2]=0;e=XY(k[e>>2]|0,6,i,0)|0;k[h>>2]=e;if(k[h>>2]|0){i=k[h>>2]|0;u=j;return i|0}AJ(k[i>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;vJ(k[i>>2]|0,2,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0,0)|0;Ls(k[i>>2]|0)|0;i=Is(k[i>>2]|0)|0;k[h>>2]=i;i=k[h>>2]|0;u=j;return i|0}function vZ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;l=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;f=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[g>>2]=0;k[h>>2]=k[k[l>>2]>>2];e=(k[l>>2]|0)+24|0;e=wZ(k[(k[l>>2]|0)+12>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[m>>2]|0,k[n>>2]|0,48,k[o>>2]|0,k[p>>2]|0)|0;k[g>>2]=e;k[f>>2]=0;while(1){if(!((k[f>>2]|0)<(k[(k[h>>2]|0)+24>>2]|0)?(k[g>>2]|0)==0:0))break;k[i>>2]=k[(k[(k[h>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2];e=xZ(k[o>>2]|0,k[p>>2]|0,k[i>>2]|0)|0;k[j>>2]=e;if(k[j>>2]|0){e=(k[l>>2]|0)+24|0;e=wZ(k[(k[l>>2]|0)+12>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[m>>2]|0,k[n>>2]|0,48+(k[f>>2]|0)+1&255,k[o>>2]|0,k[j>>2]|0)|0;k[g>>2]=e}k[f>>2]=(k[f>>2]|0)+1}u=q;return k[g>>2]|0}function wZ(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+80|0;C=E+68|0;D=E+64|0;p=E;q=E+60|0;r=E+56|0;s=E+72|0;t=E+52|0;v=E+48|0;w=E+44|0;x=E+40|0;y=E+36|0;z=E+32|0;A=E+28|0;B=E+24|0;l=E+20|0;m=E+16|0;n=E+12|0;o=E+8|0;k[D>>2]=a;a=p;k[a>>2]=b;k[a+4>>2]=c;k[q>>2]=d;k[r>>2]=e;i[s>>0]=f;k[t>>2]=g;k[v>>2]=h;k[z>>2]=0;k[A>>2]=(k[k[D>>2]>>2]|0)==0&1;h=yZ(k[(k[D>>2]|0)+12>>2]|0,i[s>>0]|0,k[t>>2]|0,k[v>>2]|0)|0;k[w>>2]=h;k[x>>2]=k[(k[(k[D>>2]|0)+20>>2]|0)+(k[w>>2]<<2)>>2];while(1){if(!(k[x>>2]|0))break;if(((i[(k[x>>2]|0)+40>>0]|0)==(i[s>>0]|0)?(k[(k[x>>2]|0)+20>>2]|0)==(k[v>>2]|0):0)?(R_((k[x>>2]|0)+40+1|0,k[t>>2]|0,k[v>>2]|0)|0)==0:0)break;k[x>>2]=k[k[x>>2]>>2]}if(!(k[x>>2]|0)){h=40+((k[v>>2]|0)+1)+1+64|0;k[B>>2]=h;k[B>>2]=(k[B>>2]|0)<128?128:h;do if((k[(k[D>>2]|0)+8>>2]<<1|0)>=(k[(k[D>>2]|0)+12>>2]|0)){h=zZ(k[D>>2]|0)|0;k[l>>2]=h;if(!(k[l>>2]|0)){h=yZ(k[(k[D>>2]|0)+12>>2]|0,i[s>>0]|0,k[t>>2]|0,k[v>>2]|0)|0;k[w>>2]=h;break}k[C>>2]=k[l>>2];D=k[C>>2]|0;u=E;return D|0}while(0);h=ze(k[B>>2]|0)|0;k[x>>2]=h;if(!(k[x>>2]|0)){k[C>>2]=7;D=k[C>>2]|0;u=E;return D|0}a=k[x>>2]|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[(k[x>>2]|0)+8>>2]=k[B>>2];i[(k[x>>2]|0)+40>>0]=i[s>>0]|0;r0((k[x>>2]|0)+40+1|0,k[t>>2]|0,k[v>>2]|0)|0;k[(k[x>>2]|0)+20>>2]=k[v>>2];i[(k[x>>2]|0)+40+((k[v>>2]|0)+1)>>0]=0;k[(k[x>>2]|0)+16>>2]=(k[v>>2]|0)+1+1+40;k[k[x>>2]>>2]=k[(k[(k[D>>2]|0)+20>>2]|0)+(k[w>>2]<<2)>>2];k[(k[(k[D>>2]|0)+20>>2]|0)+(k[w>>2]<<2)>>2]=k[x>>2];w=(k[D>>2]|0)+8|0;k[w>>2]=(k[w>>2]|0)+1;w=p;w=OS((k[x>>2]|0)+(k[(k[x>>2]|0)+16>>2]|0)|0,k[w>>2]|0,k[w+4>>2]|0)|0;v=(k[x>>2]|0)+16|0;k[v>>2]=(k[v>>2]|0)+w;v=p;w=k[v+4>>2]|0;B=(k[x>>2]|0)+32|0;k[B>>2]=k[v>>2];k[B+4>>2]=w;k[(k[x>>2]|0)+12>>2]=k[(k[x>>2]|0)+16>>2];if((k[k[D>>2]>>2]|0)!=1){B=(k[x>>2]|0)+16|0;k[B>>2]=(k[B>>2]|0)+1;j[(k[x>>2]|0)+26>>1]=(k[k[D>>2]>>2]|0)==0?0:-1}k[z>>2]=(k[z>>2]|0)+(k[(k[x>>2]|0)+16>>2]|0)}else{if(((k[(k[x>>2]|0)+8>>2]|0)-(k[(k[x>>2]|0)+16>>2]|0)|0)<22){k[m>>2]=k[(k[x>>2]|0)+8>>2]<<1;B=fg(k[x>>2]|0,k[m>>2]|0)|0;k[n>>2]=B;if(!(k[n>>2]|0)){k[C>>2]=7;D=k[C>>2]|0;u=E;return D|0}k[(k[n>>2]|0)+8>>2]=k[m>>2];k[o>>2]=(k[(k[D>>2]|0)+20>>2]|0)+(k[w>>2]<<2);while(1){if((k[k[o>>2]>>2]|0)==(k[x>>2]|0))break;k[o>>2]=k[k[o>>2]>>2]}k[k[o>>2]>>2]=k[n>>2];k[x>>2]=k[n>>2]}k[z>>2]=(k[z>>2]|0)-(k[(k[x>>2]|0)+16>>2]|0)}k[y>>2]=k[x>>2];w=p;B=(k[x>>2]|0)+32|0;if(((k[w>>2]|0)!=(k[B>>2]|0)?1:(k[w+4>>2]|0)!=(k[B+4>>2]|0))?(jT(k[D>>2]|0,k[x>>2]|0),v=(k[y>>2]|0)+(k[(k[x>>2]|0)+16>>2]|0)|0,B=p,w=(k[x>>2]|0)+32|0,w=h0(k[B>>2]|0,k[B+4>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0,w=OS(v,w,M)|0,v=(k[x>>2]|0)+16|0,k[v>>2]=(k[v>>2]|0)+w,v=p,w=k[v+4>>2]|0,B=(k[x>>2]|0)+32|0,k[B>>2]=k[v>>2],k[B+4>>2]=w,k[A>>2]=1,k[(k[x>>2]|0)+12>>2]=k[(k[x>>2]|0)+16>>2],(k[k[D>>2]>>2]|0)!=1):0){B=(k[x>>2]|0)+16|0;k[B>>2]=(k[B>>2]|0)+1;j[(k[x>>2]|0)+26>>1]=(k[k[D>>2]>>2]|0)==0?0:-1;k[(k[x>>2]|0)+28>>2]=0}do if((k[q>>2]|0)>=0){if((k[k[D>>2]>>2]|0)==1){i[(k[x>>2]|0)+25>>0]=1;break}do if((k[q>>2]|0)!=(j[(k[x>>2]|0)+26>>1]|0))if(!(k[k[D>>2]>>2]|0)){B=k[y>>2]|0;v=(k[x>>2]|0)+16|0;w=k[v>>2]|0;k[v>>2]=w+1;i[B+w>>0]=1;w=k[q>>2]|0;w=OS((k[y>>2]|0)+(k[(k[x>>2]|0)+16>>2]|0)|0,w,((w|0)<0)<<31>>31)|0;B=(k[x>>2]|0)+16|0;k[B>>2]=(k[B>>2]|0)+w;j[(k[x>>2]|0)+26>>1]=k[q>>2];k[(k[x>>2]|0)+28>>2]=0;break}else{k[A>>2]=1;B=k[q>>2]|0;k[r>>2]=B;j[(k[x>>2]|0)+26>>1]=B;break}while(0);if(k[A>>2]|0){A=(k[r>>2]|0)-(k[(k[x>>2]|0)+28>>2]|0)+2|0;A=OS((k[y>>2]|0)+(k[(k[x>>2]|0)+16>>2]|0)|0,A,((A|0)<0)<<31>>31)|0;B=(k[x>>2]|0)+16|0;k[B>>2]=(k[B>>2]|0)+A;k[(k[x>>2]|0)+28>>2]=k[r>>2]}}else i[(k[x>>2]|0)+24>>0]=1;while(0);k[z>>2]=(k[z>>2]|0)+(k[(k[x>>2]|0)+16>>2]|0);D=k[(k[D>>2]|0)+4>>2]|0;k[D>>2]=(k[D>>2]|0)+(k[z>>2]|0);k[C>>2]=0;D=k[C>>2]|0;u=E;return D|0}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+32|0;j=m+20|0;d=m+16|0;e=m+12|0;f=m+8|0;g=m+4|0;h=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;k[h>>2]=0;while(1){b=k[g>>2]|0;if((k[h>>2]|0)>=(k[f>>2]|0)){a=9;break}if((b|0)>=(k[e>>2]|0)){a=4;break}b=k[d>>2]|0;c=k[g>>2]|0;k[g>>2]=c+1;a:do if((l[b+c>>0]|0)>=192)while(1){if((i[(k[d>>2]|0)+(k[g>>2]|0)>>0]&192|0)!=128)break a;k[g>>2]=(k[g>>2]|0)+1}while(0);k[h>>2]=(k[h>>2]|0)+1}if((a|0)==4){k[j>>2]=0;j=k[j>>2]|0;u=m;return j|0}else if((a|0)==9){k[j>>2]=b;j=k[j>>2]|0;u=m;return j|0}return 0}function yZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0;m=u;u=u+32|0;e=m+16|0;f=m+20|0;g=m+12|0;n=m+8|0;h=m+4|0;j=m;k[e>>2]=a;i[f>>0]=b;k[g>>2]=c;k[n>>2]=d;k[j>>2]=13;k[h>>2]=(k[n>>2]|0)-1;while(1){a=k[j>>2]<<3^k[j>>2];if((k[h>>2]|0)<0)break;k[j>>2]=a^(l[(k[g>>2]|0)+(k[h>>2]|0)>>0]|0);k[h>>2]=(k[h>>2]|0)+-1}k[j>>2]=a^(l[f>>0]|0);u=m;return ((k[j>>2]|0)>>>0)%((k[e>>2]|0)>>>0)|0|0}function zZ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;b=j+28|0;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+12>>2]<<1;k[g>>2]=k[(k[c>>2]|0)+20>>2];a=ze(k[d>>2]<<2)|0;k[f>>2]=a;if(!(k[f>>2]|0)){k[b>>2]=7;i=k[b>>2]|0;u=j;return i|0}w0(k[f>>2]|0,0,k[d>>2]<<2|0)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break;while(1){if(!(k[(k[g>>2]|0)+(k[e>>2]<<2)>>2]|0))break;k[i>>2]=k[(k[g>>2]|0)+(k[e>>2]<<2)>>2];k[(k[g>>2]|0)+(k[e>>2]<<2)>>2]=k[k[i>>2]>>2];l=k[d>>2]|0;a=(k[i>>2]|0)+40|0;a=HT(l,a,q$((k[i>>2]|0)+40|0)|0)|0;k[h>>2]=a;k[k[i>>2]>>2]=k[(k[f>>2]|0)+(k[h>>2]<<2)>>2];k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]=k[i>>2]}k[e>>2]=(k[e>>2]|0)+1}ie(k[g>>2]|0);k[(k[c>>2]|0)+12>>2]=k[d>>2];k[(k[c>>2]|0)+20>>2]=k[f>>2];k[b>>2]=0;l=k[b>>2]|0;u=j;return l|0}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;d=j+20|0;f=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=0;c=ze(24)|0;k[h>>2]=c;k[k[f>>2]>>2]=c;if(!(k[h>>2]|0)){k[g>>2]=7;i=k[g>>2]|0;u=j;return i|0}a=k[h>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[(k[h>>2]|0)+4>>2]=k[e>>2];k[k[h>>2]>>2]=k[(k[d>>2]|0)+48>>2];k[(k[h>>2]|0)+12>>2]=1024;k[i>>2]=k[(k[h>>2]|0)+12>>2]<<2;a=ze(k[i>>2]|0)|0;k[(k[h>>2]|0)+20>>2]=a;a=k[h>>2]|0;if(!(k[(k[h>>2]|0)+20>>2]|0)){ie(a);k[k[f>>2]>>2]=0;k[g>>2]=7;i=k[g>>2]|0;u=j;return i|0}else{w0(k[a+20>>2]|0,0,k[i>>2]|0)|0;i=k[g>>2]|0;u=j;return i|0}return 0}function BZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=20;if(!(k[(k[k[c>>2]>>2]|0)+44>>2]|0)){f=k[e>>2]|0;u=g;return f|0}k[f>>2]=0;b=XY(k[c>>2]|0,6,f,0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){BJ(k[f>>2]|0,1)|0;BJ(k[f>>2]|0,2)|0;Ls(k[f>>2]|0)|0;f=Is(k[f>>2]|0)|0;k[e>>2]=f}if(k[e>>2]|0){f=k[e>>2]|0;u=g;return f|0}c=mj(k[k[k[c>>2]>>2]>>2]|0)|0;f=k[d>>2]|0;k[f>>2]=c;k[f+4>>2]=M;f=k[e>>2]|0;u=g;return f|0}function CZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+64|0;m=s+56|0;n=s+52|0;o=s;p=s+48|0;q=s+44|0;r=s+40|0;e=s+36|0;f=s+32|0;g=s+28|0;h=s+16|0;i=s+12|0;j=s+8|0;k[n>>2]=a;a=o;k[a>>2]=b;k[a+4>>2]=c;k[p>>2]=d;k[q>>2]=k[k[n>>2]>>2];k[r>>2]=0;if(!(k[p>>2]|0)){d=XY(k[n>>2]|0,2,r,0)|0;k[e>>2]=d;if(k[e>>2]|0){k[m>>2]=k[e>>2];r=k[m>>2]|0;u=s;return r|0}d=o;AJ(k[r>>2]|0,1,k[d>>2]|0,k[d+4>>2]|0)|0;if((Ls(k[r>>2]|0)|0)!=100){r=Is(k[r>>2]|0)|0;k[m>>2]=r;r=k[m>>2]|0;u=s;return r|0}}k[h>>2]=k[n>>2];k[h+4>>2]=-1;o=sZ(k[(k[n>>2]|0)+4>>2]|0,1,k[o>>2]|0,k[o+4>>2]|0)|0;k[e>>2]=o;k[g>>2]=1;while(1){if(k[e>>2]|0)break;if((k[g>>2]|0)>(k[(k[q>>2]|0)+12>>2]|0))break;if(!(l[(k[(k[q>>2]|0)+20>>2]|0)+((k[g>>2]|0)-1)>>0]|0)){if(k[r>>2]|0){o=Mv(k[r>>2]|0,k[g>>2]|0)|0;k[i>>2]=o;o=qJ(k[r>>2]|0,k[g>>2]|0)|0;k[j>>2]=o}else{o=$h(k[(k[p>>2]|0)+((k[g>>2]|0)-1<<2)>>2]|0)|0;k[i>>2]=o;o=ai(k[(k[p>>2]|0)+((k[g>>2]|0)-1<<2)>>2]|0)|0;k[j>>2]=o}k[h+8>>2]=0;d=OV(k[q>>2]|0,4,k[i>>2]|0,k[j>>2]|0,h,154)|0;k[e>>2]=d;d=k[h+8>>2]|0;o=(k[(k[n>>2]|0)+24>>2]|0)+((k[g>>2]|0)-1<<3)|0;c=o;d=h0(k[c>>2]|0,k[c+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;k[o>>2]=d;k[o+4>>2]=M}k[g>>2]=(k[g>>2]|0)+1}q=(k[n>>2]|0)+16|0;p=q;p=i0(k[p>>2]|0,k[p+4>>2]|0,-1,-1)|0;k[q>>2]=p;k[q+4>>2]=M;r=Is(k[r>>2]|0)|0;k[f>>2]=r;if(!(k[e>>2]|0))k[e>>2]=k[f>>2];k[m>>2]=k[e>>2];r=k[m>>2]|0;u=s;return r|0}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;c=Ff(k[g>>2]|0,f)|0;k[(k[e>>2]|0)+8>>2]=c;u=d;return}function EZ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=u;u=u+48|0;e=f+16|0;g=f;b=f+32|0;c=f+28|0;d=f+24|0;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];a=k[k[c>>2]>>2]|0;j=k[(k[c>>2]|0)+8>>2]|0;i=k[(k[c>>2]|0)+4>>2]|0;h=k[(k[c>>2]|0)+8>>2]|0;k[g>>2]=k[(k[c>>2]|0)+4>>2];k[g+4>>2]=j;k[g+8>>2]=i;k[g+12>>2]=h;a=fY(a,0,51758,g)|0;k[d>>2]=a;if((k[d>>2]|0)==0?k[(k[c>>2]|0)+44>>2]|0:0){j=k[k[c>>2]>>2]|0;i=k[(k[c>>2]|0)+8>>2]|0;k[e>>2]=k[(k[c>>2]|0)+4>>2];k[e+4>>2]=i;j=fY(j,0,51808,e)|0;k[d>>2]=j}if(!(k[d>>2]|0)){j=ZZ(k[(k[b>>2]|0)+4>>2]|0)|0;k[d>>2]=j}if(k[d>>2]|0){j=k[d>>2]|0;u=f;return j|0}j=KZ(k[b>>2]|0,47943,0,4)|0;k[d>>2]=j;j=k[d>>2]|0;u=f;return j|0}function FZ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=u;u=u+48|0;b=i+44|0;c=i+32|0;d=i+28|0;e=i+24|0;f=i+12|0;g=i+8|0;h=i;k[b>>2]=a;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[d>>2]=k[k[b>>2]>>2];k[e>>2]=0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f>>2]=k[b>>2];a=EZ(k[b>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){a=gZ(k[b>>2]|0,1)|0;k[g>>2]=a}if(!(k[g>>2]|0)){a=XY(k[b>>2]|0,10,e,0)|0;k[g>>2]=a}while(1){if(k[g>>2]|0)break;if(100!=(Ls(k[e>>2]|0)|0))break;j=tJ(k[e>>2]|0,0)|0;a=h;k[a>>2]=j;k[a+4>>2]=M;HS(c);a=h;a=sZ(k[(k[b>>2]|0)+4>>2]|0,0,k[a>>2]|0,k[a+4>>2]|0)|0;k[g>>2]=a;k[f+4>>2]=0;while(1){if(k[g>>2]|0)break;if((k[f+4>>2]|0)>=(k[(k[d>>2]|0)+12>>2]|0))break;k[f+8>>2]=0;if(!(l[(k[(k[d>>2]|0)+20>>2]|0)+(k[f+4>>2]|0)>>0]|0)){a=k[d>>2]|0;j=Mv(k[e>>2]|0,(k[f+4>>2]|0)+1|0)|0;j=OV(a,4,j,qJ(k[e>>2]|0,(k[f+4>>2]|0)+1|0)|0,f,154)|0;k[g>>2]=j}a=k[f+8>>2]|0;rT(g,c,a,((a|0)<0)<<31>>31);a=k[f+8>>2]|0;j=(k[(k[b>>2]|0)+24>>2]|0)+(k[f+4>>2]<<3)|0;m=j;a=i0(k[m>>2]|0,k[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[j>>2]=a;k[j+4>>2]=M;j=f+4|0;k[j>>2]=(k[j>>2]|0)+1}m=(k[b>>2]|0)+16|0;j=m;j=i0(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[m>>2]=j;k[m+4>>2]=M;if(k[g>>2]|0)continue;m=h;m=uZ(k[b>>2]|0,k[m>>2]|0,k[m+4>>2]|0,c)|0;k[g>>2]=m}ie(k[c>>2]|0);if(k[g>>2]|0){m=k[g>>2]|0;u=i;return m|0}m=rX(k[b>>2]|0)|0;k[g>>2]=m;m=k[g>>2]|0;u=i;return m|0}function GZ(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=YZ(k[(k[c>>2]|0)+4>>2]|0)|0;u=b;return a|0}function HZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=WZ(k[(k[e>>2]|0)+4>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function IZ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=u;u=u+96|0;b=q+84|0;g=q+80|0;h=q+76|0;j=q+72|0;l=q+68|0;m=q+64|0;n=q+16|0;o=q+60|0;p=q+56|0;c=q+52|0;d=q+48|0;e=q+8|0;f=q;k[g>>2]=a;k[h>>2]=k[k[g>>2]>>2];k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[n+12>>2]=0;k[n+16>>2]=0;k[n+20>>2]=0;k[n+24>>2]=0;k[n+28>>2]=0;k[n+28>>2]=k[k[g>>2]>>2];a=ze((k[(k[h>>2]|0)+12>>2]|0)*12|0)|0;k[m>>2]=a;if(!(k[m>>2]|0)){k[b>>2]=7;p=k[b>>2]|0;u=q;return p|0}k[l>>2]=(k[m>>2]|0)+(k[(k[h>>2]|0)+12>>2]<<3);w0(k[m>>2]|0,0,k[(k[h>>2]|0)+12>>2]<<3|0)|0;a=XY(k[g>>2]|0,10,o,0)|0;k[j>>2]=a;if(!(k[j>>2]|0)){do{if(100!=(Ls(k[o>>2]|0)|0))break;r=tJ(k[o>>2]|0,0)|0;a=n;k[a>>2]=r;k[a+4>>2]=M;k[n+12>>2]=0;if(k[(k[h>>2]|0)+44>>2]|0){r=n;r=VY(k[g>>2]|0,k[r>>2]|0,k[r+4>>2]|0,k[l>>2]|0)|0;k[j>>2]=r}if((k[j>>2]|0)==0?(k[(k[h>>2]|0)+48>>2]|0)==1:0){r=MZ(n+24|0)|0;k[j>>2]=r}k[c>>2]=0;while(1){if(k[j>>2]|0)break;if((k[c>>2]|0)>=(k[(k[h>>2]|0)+12>>2]|0))break;if(!(i[(k[(k[h>>2]|0)+20>>2]|0)+(k[c>>2]|0)>>0]|0)){k[n+8>>2]=k[c>>2];k[n+12>>2]=0;if((k[(k[h>>2]|0)+48>>2]|0)==2){r=MZ(n+24|0)|0;k[j>>2]=r}if(!(k[j>>2]|0)){a=k[h>>2]|0;r=Mv(k[o>>2]|0,(k[c>>2]|0)+1|0)|0;r=OV(a,4,r,qJ(k[o>>2]|0,(k[c>>2]|0)+1|0)|0,n,155)|0;k[j>>2]=r}if(((k[j>>2]|0)==0?k[(k[h>>2]|0)+44>>2]|0:0)?(k[n+12>>2]|0)!=(k[(k[l>>2]|0)+(k[c>>2]<<2)>>2]|0):0)k[j>>2]=267;a=k[n+12>>2]|0;r=(k[m>>2]|0)+(k[c>>2]<<3)|0;s=r;a=i0(k[s>>2]|0,k[s+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[r>>2]=a;k[r+4>>2]=M;if((k[(k[h>>2]|0)+48>>2]|0)==2){OZ(k[n+24>>2]|0);k[n+24>>2]=0}}k[c>>2]=(k[c>>2]|0)+1}OZ(k[n+24>>2]|0);k[n+24>>2]=0}while(!(k[j>>2]|0));s=Is(k[o>>2]|0)|0;k[p>>2]=s;if(!(k[j>>2]|0))k[j>>2]=k[p>>2]}a:do if(!(k[j>>2]|0)){s=gZ(k[g>>2]|0,0)|0;k[j>>2]=s;k[d>>2]=0;while(1){if(k[j>>2]|0)break a;if((k[d>>2]|0)>=(k[(k[h>>2]|0)+12>>2]|0))break a;r=(k[(k[g>>2]|0)+24>>2]|0)+(k[d>>2]<<3)|0;s=(k[m>>2]|0)+(k[d>>2]<<3)|0;if((k[r>>2]|0)!=(k[s>>2]|0)?1:(k[r+4>>2]|0)!=(k[s+4>>2]|0))k[j>>2]=267;k[d>>2]=(k[d>>2]|0)+1}}while(0);if((((k[j>>2]|0)==0?(k[(k[h>>2]|0)+32>>2]|0)==0:0)?(s=e,k[s>>2]=0,k[s+4>>2]=0,s=PZ(k[g>>2]|0,46221,e)|0,k[j>>2]=s,(k[j>>2]|0)==0):0)?(r=e,s=(k[g>>2]|0)+16|0,(k[r>>2]|0)!=(k[s>>2]|0)?1:(k[r+4>>2]|0)!=(k[s+4>>2]|0)):0)k[j>>2]=267;if((((k[j>>2]|0)==0?k[(k[h>>2]|0)+44>>2]|0:0)?(s=f,k[s>>2]=0,k[s+4>>2]=0,s=PZ(k[g>>2]|0,49899,f)|0,k[j>>2]=s,(k[j>>2]|0)==0):0)?(r=f,s=(k[g>>2]|0)+16|0,(k[r>>2]|0)!=(k[s>>2]|0)?1:(k[r+4>>2]|0)!=(k[s+4>>2]|0)):0)k[j>>2]=267;if(!(k[j>>2]|0)){s=n+16|0;s=QZ(k[(k[g>>2]|0)+4>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[j>>2]=s}ie(k[m>>2]|0);k[b>>2]=k[j>>2];s=k[b>>2]|0;u=q;return s|0}function JZ(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b+4|0;d=b;k[c>>2]=a;a=rS(k[c>>2]|0)|0;k[d>>2]=a;tS(k[d>>2]|0);a=LR(k[c>>2]|0)|0;u=b;return a|0}function KZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;g=m+24|0;e=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;l=m+4|0;f=m;k[g>>2]=a;k[e>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=0;d=XY(k[g>>2]|0,9,j,0)|0;k[l>>2]=d;if(!(k[l>>2]|0)){CJ(k[j>>2]|0,1,k[e>>2]|0,-1,0)|0;a=k[j>>2]|0;if(k[h>>2]|0)DJ(a,2,k[h>>2]|0)|0;else zJ(a,2,k[i>>2]|0)|0;Ls(k[j>>2]|0)|0;j=Is(k[j>>2]|0)|0;k[l>>2]=j}if(!((k[l>>2]|0)==0&(k[h>>2]|0)!=0)){l=k[l>>2]|0;u=m;return l|0}k[f>>2]=(k[(k[k[g>>2]>>2]|0)+64>>2]|0)+1;j=LZ(k[(k[g>>2]|0)+4>>2]|0,k[f>>2]|0)|0;k[l>>2]=j;if(k[l>>2]|0){l=k[l>>2]|0;u=m;return l|0}k[(k[k[g>>2]>>2]|0)+64>>2]=k[f>>2];l=k[l>>2]|0;u=m;return l|0}function LZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=u;u=u+32|0;g=f+16|0;i=f+12|0;c=f+8|0;h=f+4|0;d=f+20|0;e=f;k[g>>2]=a;k[i>>2]=b;k[h>>2]=k[k[g>>2]>>2];k[e>>2]=0;KX(d,k[i>>2]|0);b=HJ(k[k[h>>2]>>2]|0,k[(k[h>>2]|0)+4>>2]|0,k[(k[g>>2]|0)+4>>2]|0,45300,10,0,1,e)|0;k[c>>2]=b;if(k[c>>2]|0){i=k[c>>2]|0;u=f;return i|0}PJ(k[e>>2]|0,d,4,0)|0;i=KJ(k[e>>2]|0)|0;k[c>>2]=i;i=k[c>>2]|0;u=f;return i|0}function MZ(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;a=nT(b,2048)|0;k[k[d>>2]>>2]=a;u=c;return k[b>>2]|0}function NZ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+64|0;v=t+56|0;p=t+52|0;q=t+48|0;r=t+44|0;g=t+32|0;h=t+28|0;i=t+24|0;j=t+20|0;s=t+16|0;l=t+12|0;m=t+8|0;n=t+4|0;o=t;k[v>>2]=a;k[p>>2]=b;k[q>>2]=c;k[r>>2]=d;k[t+40>>2]=e;k[t+36>>2]=f;k[g>>2]=k[v>>2];k[h>>2]=k[(k[g>>2]|0)+24>>2];k[s>>2]=0;if((k[r>>2]|0)>32768)k[r>>2]=32768;if(!((k[p>>2]&1|0)!=0?(k[(k[g>>2]|0)+12>>2]|0)!=0:0)){v=(k[g>>2]|0)+12|0;k[v>>2]=(k[v>>2]|0)+1}switch(k[(k[(k[g>>2]|0)+28>>2]|0)+48>>2]|0){case 0:{k[l>>2]=(k[(k[g>>2]|0)+12>>2]|0)-1;k[m>>2]=k[(k[g>>2]|0)+8>>2];break}case 2:{k[l>>2]=k[(k[g>>2]|0)+8>>2];k[m>>2]=0;break}default:{k[l>>2]=0;k[m>>2]=0}}v=VZ(k[h>>2]|0,0,k[q>>2]|0,k[r>>2]|0,i)|0;k[s>>2]=v;if((k[s>>2]|0)==0&(k[i>>2]|0)==0){f=k[g>>2]|0;f=SZ(k[f>>2]|0,k[f+4>>2]|0,k[m>>2]|0,k[l>>2]|0,0,k[q>>2]|0,k[r>>2]|0)|0;v=(k[g>>2]|0)+16|0;e=v;p=k[e+4>>2]^M;k[v>>2]=k[e>>2]^f;k[v+4>>2]=p}k[j>>2]=0;while(1){if(k[s>>2]|0){a=19;break}if((k[j>>2]|0)>=(k[(k[(k[g>>2]|0)+28>>2]|0)+24>>2]|0)){a=19;break}k[n>>2]=k[(k[(k[(k[g>>2]|0)+28>>2]|0)+28>>2]|0)+(k[j>>2]<<2)>>2];v=xZ(k[q>>2]|0,k[r>>2]|0,k[n>>2]|0)|0;k[o>>2]=v;if(k[o>>2]|0?(v=VZ(k[h>>2]|0,(k[j>>2]|0)+1|0,k[q>>2]|0,k[o>>2]|0,i)|0,k[s>>2]=v,(k[i>>2]|0)==0):0){f=k[g>>2]|0;f=SZ(k[f>>2]|0,k[f+4>>2]|0,k[m>>2]|0,k[l>>2]|0,(k[j>>2]|0)+1|0,k[q>>2]|0,k[o>>2]|0)|0;v=(k[g>>2]|0)+16|0;e=v;p=k[e+4>>2]^M;k[v>>2]=k[e>>2]^f;k[v+4>>2]=p}k[j>>2]=(k[j>>2]|0)+1}if((a|0)==19){u=t;return k[s>>2]|0}return 0}function OZ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;if(!(k[b>>2]|0)){u=f;return}k[c>>2]=0;while(1){a=k[b>>2]|0;if((k[c>>2]|0)>>>0>=512)break;k[d>>2]=k[a+(k[c>>2]<<2)>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+12>>2];ie(k[e>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}ie(a);u=f;return}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=u;u=u+48|0;j=i;m=i+36|0;l=i+32|0;d=i+28|0;e=i+24|0;f=i+20|0;g=i+16|0;h=i+12|0;k[m>>2]=a;k[l>>2]=b;k[d>>2]=c;k[e>>2]=k[k[m>>2]>>2];b=k[(k[e>>2]|0)+8>>2]|0;c=k[l>>2]|0;k[j>>2]=k[(k[e>>2]|0)+4>>2];k[j+4>>2]=b;k[j+8>>2]=c;c=xf(51726,j)|0;k[f>>2]=c;if(!(k[f>>2]|0)){k[g>>2]=7;m=k[f>>2]|0;ie(m);m=k[g>>2]|0;u=i;return m|0}k[h>>2]=0;m=Jv(k[k[e>>2]>>2]|0,k[f>>2]|0,-1,h,0)|0;k[g>>2]=m;if(k[g>>2]|0){m=k[f>>2]|0;ie(m);m=k[g>>2]|0;u=i;return m|0}if(100==(Ls(k[h>>2]|0)|0)){l=tJ(k[h>>2]|0,0)|0;m=k[d>>2]|0;k[m>>2]=l;k[m+4>>2]=M}m=Pr(k[h>>2]|0)|0;k[g>>2]=m;m=k[f>>2]|0;ie(m);m=k[g>>2]|0;u=i;return m|0}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+96|0;p=x+92|0;q=x+24|0;r=x+88|0;s=x+16|0;t=x+76|0;v=x+72|0;w=x+68|0;d=x+60|0;e=x+56|0;f=x+52|0;g=x+48|0;h=x+8|0;i=x+44|0;j=x;l=x+40|0;n=x+36|0;o=x+32|0;k[p>>2]=a;a=q;k[a>>2]=b;k[a+4>>2]=c;k[r>>2]=k[(k[k[p>>2]>>2]|0)+48>>2];c=s;k[c>>2]=0;k[c+4>>2]=0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;k[x+64>>2]=32;c=rS(k[p>>2]|0)|0;k[w>>2]=c;a:do if(k[w>>2]|0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[w>>2]|0)+20>>2]|0))break a;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[w>>2]|0)+24+((k[d>>2]|0)*12|0)+4>>2]|0))break;k[f>>2]=(k[(k[w>>2]|0)+24+((k[d>>2]|0)*12|0)+8>>2]|0)+((k[e>>2]|0)*12|0);RZ(k[p>>2]|0,k[f>>2]|0);k[e>>2]=(k[e>>2]|0)+1}k[d>>2]=(k[d>>2]|0)+1}}while(0);sS(k[p>>2]|0,k[w>>2]|0,32,0,0,0,-1,0,v);while(1){if(XS(k[p>>2]|0,k[v>>2]|0)|0)break;f=h;k[f>>2]=0;k[f+4>>2]=0;k[i>>2]=0;f=sW(k[v>>2]|0)|0;c=j;k[c>>2]=f;k[c+4>>2]=M;c=nS(k[v>>2]|0,g)|0;k[l>>2]=c;b:do if((k[r>>2]|0)==1){if(!(mT(k[p>>2]|0,k[v>>2]|0)|0)){e=j;e=SZ(k[e>>2]|0,k[e+4>>2]|0,0,0,-1,k[l>>2]|0,k[g>>2]|0)|0;d=s;f=k[d+4>>2]^M;c=s;k[c>>2]=k[d>>2]^e;k[c+4>>2]=f}}else{k[t+4>>2]=0;IS(k[p>>2]|0,(k[v>>2]|0)+80+((m[(k[(k[v>>2]|0)+72>>2]|0)+4>>1]|0)*88|0)|0,0,t);while(1){if(HR(k[t>>2]|0,k[t+4>>2]|0,i,h)|0)break b;e=h;e=o0(k[e>>2]|0,k[e+4>>2]|0,32)|0;k[n>>2]=e;k[o>>2]=k[h>>2];e=j;e=SZ(k[e>>2]|0,k[e+4>>2]|0,k[n>>2]|0,k[o>>2]|0,-1,k[l>>2]|0,k[g>>2]|0)|0;d=s;f=k[d+4>>2]^M;c=s;k[c>>2]=k[d>>2]^e;k[c+4>>2]=f}}while(0);JR(k[p>>2]|0,k[v>>2]|0,0,0,0)}yS(k[v>>2]|0);if(k[(k[p>>2]|0)+36>>2]|0){w=k[w>>2]|0;tS(w);xS(t);w=k[p>>2]|0;w=LR(w)|0;u=x;return w|0}r=q;v=s;if(!((k[r>>2]|0)!=(k[v>>2]|0)?1:(k[r+4>>2]|0)!=(k[v+4>>2]|0))){w=k[w>>2]|0;tS(w);xS(t);w=k[p>>2]|0;w=LR(w)|0;u=x;return w|0}k[(k[p>>2]|0)+36>>2]=267;w=k[w>>2]|0;tS(w);xS(t);w=k[p>>2]|0;w=LR(w)|0;u=x;return w|0}function RZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=u;u=u+128|0;d=E+24|0;p=E+116|0;x=E+112|0;c=E+108|0;y=E+104|0;z=E+100|0;A=E+96|0;B=E+92|0;C=E+16|0;e=E+88|0;f=E+84|0;g=E+80|0;h=E+76|0;i=E+72|0;j=E+68|0;l=E+64|0;m=E+60|0;n=E+56|0;o=E+52|0;q=E+48|0;r=E+44|0;s=E+40|0;t=E+8|0;v=E;w=E+36|0;k[p>>2]=a;k[x>>2]=b;k[c>>2]=k[k[p>>2]>>2];k[y>>2]=0;k[A>>2]=(k[(k[x>>2]|0)+4>>2]|0)-1;k[B>>2]=k[(k[x>>2]|0)+8>>2];if(!(k[(k[x>>2]|0)+4>>2]|0)){u=E;return}b=k[p>>2]|0;F=k[(k[c>>2]|0)+8>>2]|0;a=k[k[x>>2]>>2]|0;k[d>>2]=k[(k[c>>2]|0)+4>>2];k[d+4>>2]=F;k[d+8>>2]=a;ET(b,y,xf(51654,d)|0)|0;while(1){if(k[(k[p>>2]|0)+36>>2]|0)break;if(100!=(Ls(k[y>>2]|0)|0))break;F=qJ(k[y>>2]|0,1)|0;k[f>>2]=F;F=Mv(k[y>>2]|0,1)|0;k[g>>2]=F;F=sJ(k[y>>2]|0,2)|0;k[h>>2]=F;F=sJ(k[y>>2]|0,3)|0;k[i>>2]=F;if((k[h>>2]|0)<(k[(k[x>>2]|0)+4>>2]|0))continue;F=k[k[x>>2]>>2]|0;F=t0(F|0,((F|0)<0)<<31>>31|0,37)|0;F=i0(F|0,M|0,0,0)|0;F=i0(F|0,M|0,0,0)|0;d=k[h>>2]|0;d=i0(F|0,M|0,d|0,((d|0)<0)<<31>>31|0)|0;F=C;k[F>>2]=d;k[F+4>>2]=M;F=C;F=ZR(k[p>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[e>>2]=F;if(!(k[e>>2]|0))break;if((k[(k[e>>2]|0)+4>>2]|0)<=(k[(k[e>>2]|0)+8>>2]|0))k[(k[p>>2]|0)+36>>2]=267;else{F=eT(k[e>>2]|0)|0;k[j>>2]=F;F=(_R(k[k[e>>2]>>2]|0)|0)&65535;k[l>>2]=F;if((k[l>>2]|0)<(k[j>>2]|0)){F=dS((k[k[e>>2]>>2]|0)+(k[j>>2]|0)|0,m)|0;k[j>>2]=(k[j>>2]|0)+F;F=R_((k[k[e>>2]>>2]|0)+(k[j>>2]|0)|0,k[g>>2]|0,(k[m>>2]|0)<(k[f>>2]|0)?k[m>>2]|0:k[f>>2]|0)|0;k[n>>2]=F;if(!(k[n>>2]|0))k[n>>2]=(k[m>>2]|0)-(k[f>>2]|0);if((k[n>>2]|0)<0){a=k[p>>2]|0;D=15}}else{a=k[p>>2]|0;D=15}if((D|0)==15){D=0;k[a+36>>2]=267}TZ(k[p>>2]|0,k[e>>2]|0)}KR(k[e>>2]|0);if(k[(k[p>>2]|0)+36>>2]|0)break;UZ(k[p>>2]|0,k[x>>2]|0,(k[A>>2]|0)+1|0,(k[B>>2]|0)+1|0,(k[h>>2]|0)-1|0);if(k[(k[p>>2]|0)+36>>2]|0)break;if(k[i>>2]|0){k[o>>2]=0;k[q>>2]=k[h>>2];k[r>>2]=k[k[x>>2]>>2];k[s>>2]=0;F=BT(k[p>>2]|0,0,k[r>>2]|0,k[h>>2]|0)|0;k[o>>2]=F;while(1){if(SR(k[p>>2]|0,k[o>>2]|0)|0)break;k[s>>2]=(k[q>>2]|0)+1;while(1){F=k[s>>2]|0;if((F|0)>=(UR(k[o>>2]|0)|0))break;F=k[r>>2]|0;F=t0(F|0,((F|0)<0)<<31>>31|0,37)|0;F=i0(F|0,M|0,0,0)|0;F=i0(F|0,M|0,0,0)|0;d=k[s>>2]|0;d=i0(F|0,M|0,d|0,((d|0)<0)<<31>>31|0)|0;F=t;k[F>>2]=d;k[F+4>>2]=M;F=t;F=ZR(k[p>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[e>>2]=F;if(k[e>>2]|0){if((_R(k[k[e>>2]>>2]|0)|0)&65535|0)k[(k[p>>2]|0)+36>>2]=267;KR(k[e>>2]|0)}k[s>>2]=(k[s>>2]|0)+1}F=UR(k[o>>2]|0)|0;k[q>>2]=F;F=k[r>>2]|0;F=t0(F|0,((F|0)<0)<<31>>31|0,37)|0;F=i0(F|0,M|0,0,0)|0;F=i0(F|0,M|0,0,0)|0;d=k[q>>2]|0;d=i0(F|0,M|0,d|0,((d|0)<0)<<31>>31|0)|0;F=t;k[F>>2]=d;k[F+4>>2]=M;F=t;F=ZR(k[p>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[e>>2]=F;if(k[e>>2]|0){F=(_R(k[k[e>>2]>>2]|0)|0)&65535;k[w>>2]=F;if(!((k[w>>2]|0)<(k[(k[e>>2]|0)+8>>2]|0)?($R((k[k[e>>2]>>2]|0)+(k[w>>2]|0)|0,v)|0,F=v,c=k[F>>2]|0,F=k[F+4>>2]|0,d=TR(k[o>>2]|0)|0,!((c|0)!=(d|0)|(F|0)!=(M|0))):0)){a=k[p>>2]|0;D=34}if((D|0)==34){D=0;k[a+36>>2]=267}KR(k[e>>2]|0)}VR(k[p>>2]|0,k[o>>2]|0)|0}k[B>>2]=k[s>>2];AS(k[o>>2]|0)}else k[B>>2]=k[(k[x>>2]|0)+8>>2];k[A>>2]=k[h>>2]}F=Pr(k[y>>2]|0)|0;k[z>>2]=F;if(k[(k[p>>2]|0)+36>>2]|0){u=E;return}k[(k[p>>2]|0)+36>>2]=k[z>>2];u=E;return}function SZ(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;o=u;u=u+48|0;r=o+8|0;q=o+36|0;p=o+32|0;h=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o;s=r;k[s>>2]=a;k[s+4>>2]=b;k[q>>2]=c;k[p>>2]=d;k[h>>2]=e;k[j>>2]=f;k[l>>2]=g;e=r;f=k[e+4>>2]|0;g=n;k[g>>2]=k[e>>2];k[g+4>>2]=f;g=n;g=t0(k[g>>2]|0,k[g+4>>2]|0,3)|0;f=k[q>>2]|0;f=i0(g|0,M|0,f|0,((f|0)<0)<<31>>31|0)|0;g=n;f=i0(k[g>>2]|0,k[g+4>>2]|0,f|0,M|0)|0;g=n;k[g>>2]=f;k[g+4>>2]=M;g=n;g=t0(k[g>>2]|0,k[g+4>>2]|0,3)|0;f=k[p>>2]|0;f=i0(g|0,M|0,f|0,((f|0)<0)<<31>>31|0)|0;g=n;f=i0(k[g>>2]|0,k[g+4>>2]|0,f|0,M|0)|0;g=n;k[g>>2]=f;k[g+4>>2]=M;if((k[h>>2]|0)>=0){s=n;s=t0(k[s>>2]|0,k[s+4>>2]|0,3)|0;r=48+(k[h>>2]|0)|0;r=i0(s|0,M|0,r|0,((r|0)<0)<<31>>31|0)|0;s=n;r=i0(k[s>>2]|0,k[s+4>>2]|0,r|0,M|0)|0;s=n;k[s>>2]=r;k[s+4>>2]=M}k[m>>2]=0;while(1){b=n;a=k[b>>2]|0;b=k[b+4>>2]|0;if((k[m>>2]|0)>=(k[l>>2]|0))break;s=t0(a|0,b|0,3)|0;r=i[(k[j>>2]|0)+(k[m>>2]|0)>>0]|0;r=i0(s|0,M|0,r|0,((r|0)<0)<<31>>31|0)|0;s=n;r=i0(k[s>>2]|0,k[s+4>>2]|0,r|0,M|0)|0;s=n;k[s>>2]=r;k[s+4>>2]=M;k[m>>2]=(k[m>>2]|0)+1}M=b;u=o;return a|0}function TZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;g=p+60|0;h=p+56|0;i=p+52|0;j=p+48|0;n=p+36|0;o=p+24|0;l=p+20|0;m=p+16|0;c=p+12|0;d=p+8|0;e=p+4|0;f=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[j>>2]=k[(k[h>>2]|0)+8>>2];while(1){if((k[j>>2]|0)>=(k[(k[h>>2]|0)+4>>2]|0)){a=18;break}if(k[(k[g>>2]|0)+36>>2]|0){a=18;break}b=dS((k[k[h>>2]>>2]|0)+(k[j>>2]|0)|0,c)|0;k[j>>2]=(k[j>>2]|0)+b;k[i>>2]=(k[i>>2]|0)+(k[c>>2]|0);k[m>>2]=k[i>>2];do if((k[m>>2]|0)<(k[(k[h>>2]|0)+8>>2]|0)){a=(k[k[h>>2]>>2]|0)+(k[m>>2]|0)|0;if((k[i>>2]|0)==(k[c>>2]|0)){a=dS(a,d)|0;k[m>>2]=(k[m>>2]|0)+a;a=(k[g>>2]|0)+36|0;if(((k[m>>2]|0)+(k[d>>2]|0)|0)>(k[(k[h>>2]|0)+8>>2]|0)){k[a>>2]=267;break}else{GR(a,n,k[d>>2]|0,(k[k[h>>2]>>2]|0)+(k[m>>2]|0)|0);break}}b=dS(a,e)|0;k[m>>2]=(k[m>>2]|0)+b;b=dS((k[k[h>>2]>>2]|0)+(k[m>>2]|0)|0,f)|0;k[m>>2]=(k[m>>2]|0)+b;if((k[e>>2]|0)<=(k[n+4>>2]|0)?((k[m>>2]|0)+(k[f>>2]|0)|0)<=(k[(k[h>>2]|0)+8>>2]|0):0){k[n+4>>2]=k[e>>2];lS((k[g>>2]|0)+36|0,n,k[f>>2]|0,(k[k[h>>2]>>2]|0)+(k[m>>2]|0)|0)}else k[(k[g>>2]|0)+36>>2]=267;if((k[(k[g>>2]|0)+36>>2]|0)==0?(b=RR(n,o)|0,k[l>>2]=b,(k[l>>2]|0)<=0):0)k[(k[g>>2]|0)+36>>2]=267}else k[(k[g>>2]|0)+36>>2]=267;while(0);GR((k[g>>2]|0)+36|0,o,k[n+4>>2]|0,k[n>>2]|0)}if((a|0)==18){xS(n);xS(o);u=p;return}}function UZ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=u;u=u+32|0;h=m+24|0;i=m+20|0;n=m+16|0;j=m+12|0;l=m+8|0;f=m+4|0;g=m;k[h>>2]=a;k[i>>2]=b;k[n>>2]=c;k[j>>2]=d;k[l>>2]=e;k[f>>2]=k[n>>2];while(1){if(k[(k[h>>2]|0)+36>>2]|0){a=11;break}if((k[f>>2]|0)>(k[l>>2]|0)){a=11;break}e=k[h>>2]|0;d=k[k[i>>2]>>2]|0;d=t0(d|0,((d|0)<0)<<31>>31|0,37)|0;d=i0(d|0,M|0,0,0)|0;d=i0(d|0,M|0,0,0)|0;n=k[f>>2]|0;n=i0(d|0,M|0,n|0,((n|0)<0)<<31>>31|0)|0;n=ZR(e,n,M)|0;k[g>>2]=n;if(k[g>>2]|0){if((k[(k[g>>2]|0)+8>>2]|0)<(k[(k[g>>2]|0)+4>>2]|0))k[(k[h>>2]|0)+36>>2]=267;if((k[f>>2]|0)>=(k[j>>2]|0)?0!=((_R(k[k[g>>2]>>2]|0)|0)&65535|0):0)k[(k[h>>2]|0)+36>>2]=267}KR(k[g>>2]|0);k[f>>2]=(k[f>>2]|0)+1}if((a|0)==11){u=m;return}}function VZ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;l=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;f=r+12|0;g=r+8|0;h=r+4|0;j=r;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[f>>2]=0;k[k[p>>2]>>2]=0;if(!(k[l>>2]|0)){q=k[f>>2]|0;u=r;return q|0}k[h>>2]=13;k[g>>2]=(k[o>>2]|0)-1;while(1){a=k[h>>2]<<3^k[h>>2];if((k[g>>2]|0)<0)break;k[h>>2]=a^i[(k[n>>2]|0)+(k[g>>2]|0)>>0];k[g>>2]=(k[g>>2]|0)+-1}k[h>>2]=a^k[m>>2];k[h>>2]=((k[h>>2]|0)>>>0)%512|0;k[j>>2]=k[(k[l>>2]|0)+(k[h>>2]<<2)>>2];while(1){if(!(k[j>>2]|0))break;if(((k[(k[j>>2]|0)+8>>2]|0)==(k[m>>2]|0)?(k[(k[j>>2]|0)+4>>2]|0)==(k[o>>2]|0):0)?(R_(k[k[j>>2]>>2]|0,k[n>>2]|0,k[o>>2]|0)|0)==0:0){q=10;break}k[j>>2]=k[(k[j>>2]|0)+12>>2]}if((q|0)==10)k[k[p>>2]>>2]=1;if(k[j>>2]|0){q=k[f>>2]|0;u=r;return q|0}q=nT(f,16+(k[o>>2]|0)|0)|0;k[j>>2]=q;if(!(k[j>>2]|0)){q=k[f>>2]|0;u=r;return q|0}k[k[j>>2]>>2]=(k[j>>2]|0)+16;k[(k[j>>2]|0)+4>>2]=k[o>>2];k[(k[j>>2]|0)+8>>2]=k[m>>2];r0(k[k[j>>2]>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[j>>2]|0)+12>>2]=k[(k[l>>2]|0)+(k[h>>2]<<2)>>2];k[(k[l>>2]|0)+(k[h>>2]<<2)>>2]=k[j>>2];q=k[f>>2]|0;u=r;return q|0}function WZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;b=rS(k[c>>2]|0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){g=k[c>>2]|0;g=LR(g)|0;u=h;return g|0}k[f>>2]=k[(k[k[c>>2]>>2]|0)+80>>2];oX(k[c>>2]|0);if((k[d>>2]|0)<0){b=XZ(k[c>>2]|0,k[e>>2]|0)|0;k[g>>2]=b;tS(k[e>>2]|0);k[e>>2]=k[g>>2];k[f>>2]=2;g=$(k[d>>2]|0,-1)|0;k[d>>2]=g}if((k[e>>2]|0?k[(k[e>>2]|0)+20>>2]|0:0)?TX(k[c>>2]|0,e,k[d>>2]|0,k[f>>2]|0)|0:0)JX(k[c>>2]|0,k[e>>2]|0);tS(k[e>>2]|0);g=k[c>>2]|0;g=LR(g)|0;u=h;return g|0}function XZ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;g=q+44|0;h=q+40|0;i=q+36|0;j=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;c=q+12|0;d=q+8|0;e=q+4|0;f=q;k[h>>2]=a;k[i>>2]=b;k[j>>2]=0;k[l>>2]=40;k[m>>2]=k[(k[i>>2]|0)+16>>2];if((k[m>>2]|0)<2){k[g>>2]=0;p=k[g>>2]|0;u=q;return p|0}k[n>>2]=0;while(1){a=k[i>>2]|0;if((k[n>>2]|0)>=(k[(k[i>>2]|0)+20>>2]|0))break;k[o>>2]=k[a+24+((k[n>>2]|0)*12|0)+4>>2];if((k[o>>2]|0)==(k[m>>2]|0)){p=8;break}if((k[o>>2]|0)==((k[m>>2]|0)-1|0)?(k[(k[i>>2]|0)+24+((k[n>>2]|0)*12|0)>>2]|0)==(k[o>>2]|0):0){p=8;break}k[n>>2]=(k[n>>2]|0)+1}if((p|0)==8){tT(k[i>>2]|0);k[g>>2]=k[i>>2];p=k[g>>2]|0;u=q;return p|0}k[l>>2]=(k[l>>2]|0)+(((k[a+20>>2]|0)+1|0)*12|0);p=nT((k[h>>2]|0)+36|0,k[l>>2]|0)|0;k[j>>2]=p;do if(k[j>>2]|0){k[l>>2]=(k[m>>2]|0)*12;k[(k[j>>2]|0)+20>>2]=(k[(k[i>>2]|0)+20>>2]|0)+1;k[k[j>>2]>>2]=1;n=(k[i>>2]|0)+8|0;o=k[n+4>>2]|0;p=(k[j>>2]|0)+8|0;k[p>>2]=k[n>>2];k[p+4>>2]=o;k[c>>2]=(k[j>>2]|0)+24+((k[(k[i>>2]|0)+20>>2]|0)*12|0);p=nT((k[h>>2]|0)+36|0,k[l>>2]|0)|0;k[(k[c>>2]|0)+8>>2]=p;if(!(k[(k[c>>2]|0)+8>>2]|0)){ie(k[j>>2]|0);k[j>>2]=0;break}k[f>>2]=0;k[d>>2]=(k[(k[i>>2]|0)+20>>2]|0)-1;while(1){if((k[d>>2]|0)<0)break;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[i>>2]|0)+24+((k[d>>2]|0)*12|0)+4>>2]|0))break;p=(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]|0)*12|0)|0;o=(k[(k[i>>2]|0)+24+((k[d>>2]|0)*12|0)+8>>2]|0)+((k[e>>2]|0)*12|0)|0;k[p>>2]=k[o>>2];k[p+4>>2]=k[o+4>>2];k[p+8>>2]=k[o+8>>2];k[f>>2]=(k[f>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+1}k[d>>2]=(k[d>>2]|0)+-1}p=k[m>>2]|0;k[(k[c>>2]|0)+4>>2]=p;k[(k[j>>2]|0)+16>>2]=p}while(0);k[g>>2]=k[j>>2];p=k[g>>2]|0;u=q;return p|0}function YZ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;k[d>>2]=0;tX(k[b>>2]|0);a=rS(k[b>>2]|0)|0;k[c>>2]=a;oX(k[b>>2]|0);if(k[c>>2]|0){a=XZ(k[b>>2]|0,k[c>>2]|0)|0;k[d>>2]=a}tS(k[c>>2]|0);if(!(k[d>>2]|0)){f=k[b>>2]|0;f=LR(f)|0;u=g;return f|0}k[e>>2]=0;while(1){if(k[(k[d>>2]|0)+24+((k[e>>2]|0)*12|0)+4>>2]|0)break;k[e>>2]=(k[e>>2]|0)+1}while(1){if(k[(k[b>>2]|0)+36>>2]|0)break;if((k[(k[d>>2]|0)+24+((k[e>>2]|0)*12|0)+4>>2]|0)<=0)break;k[f>>2]=1e3;MX(k[b>>2]|0,d,k[e>>2]|0,f)}JX(k[b>>2]|0,k[d>>2]|0);tS(k[d>>2]|0);f=k[b>>2]|0;f=LR(f)|0;u=g;return f|0}function ZZ(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+48|0;c=e+40|0;d=e;k[c>>2]=a;oX(k[c>>2]|0);a=d;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));LX(k[c>>2]|0,1,0,55752,0);JX(k[c>>2]|0,d);d=LR(k[c>>2]|0)|0;u=e;return d|0}function _Z(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+64|0;i=r+60|0;j=r+56|0;l=r+52|0;m=r+48|0;n=r+44|0;o=r+32|0;p=r+28|0;q=r+24|0;c=r+20|0;d=r+16|0;e=r+12|0;f=r+8|0;g=r+4|0;h=r;k[i>>2]=a;k[j>>2]=b;k[m>>2]=0;b=dZ(k[(k[j>>2]|0)+52>>2]|0)|0;k[n>>2]=b;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;a:do switch(k[(k[(k[k[j>>2]>>2]|0)+12>>2]|0)+48>>2]|0){case 0:{k[l>>2]=0;while(1){if((k[l>>2]|0)>=((k[n>>2]|0)-1|0))break;h=HY(k[(k[j>>2]|0)+52>>2]|0,k[l>>2]|0,p)|0;k[q>>2]=h;h=k[q>>2]|0;rT(m,o,h,((h|0)<0)<<31>>31);k[l>>2]=(k[l>>2]|0)+1}k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[n>>2]|0))break a;q=HY(k[(k[j>>2]|0)+52>>2]|0,k[l>>2]|0,c)|0;k[d>>2]=q;lS(m,o,k[d>>2]|0,k[c>>2]|0);k[l>>2]=(k[l>>2]|0)+1}}case 2:{k[l>>2]=0;while(1){if(k[m>>2]|0)break;if((k[l>>2]|0)>=((k[n>>2]|0)-1|0))break;q=CY(k[(k[j>>2]|0)+52>>2]|0,k[l>>2]|0,e,f)|0;k[m>>2]=q;q=k[f>>2]|0;rT(m,o,q,((q|0)<0)<<31>>31);k[l>>2]=(k[l>>2]|0)+1}k[l>>2]=0;while(1){if(k[m>>2]|0)break a;if((k[l>>2]|0)>=(k[n>>2]|0))break a;q=CY(k[(k[j>>2]|0)+52>>2]|0,k[l>>2]|0,g,h)|0;k[m>>2]=q;lS(m,o,k[h>>2]|0,k[g>>2]|0);k[l>>2]=(k[l>>2]|0)+1}}default:{}}while(0);wj(k[i>>2]|0,k[o>>2]|0,k[o+4>>2]|0,157);u=r;return k[m>>2]|0}function $Z(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p+8|0;e=p;f=p+52|0;i=p+48|0;b=p+44|0;j=p+40|0;l=p+36|0;m=p+32|0;c=p+28|0;d=p+24|0;n=p+20|0;g=p+16|0;h=p+12|0;k[f>>2]=a;k[i>>2]=k[k[f>>2]>>2];k[b>>2]=k[(k[i>>2]|0)+12>>2];k[j>>2]=0;k[l>>2]=0;k[m>>2]=k[(k[f>>2]|0)+72>>2];k[c>>2]=k[(k[f>>2]|0)+76>>2];do if((k[c>>2]|0?(k[e>>2]=k[c>>2],e=OT(j,45739,e)|0,k[d>>2]=e,k[d>>2]|0):0)?(k[n>>2]=0,e=Jv(k[k[b>>2]>>2]|0,k[d>>2]|0,-1,n,0)|0,k[j>>2]=e,ie(k[d>>2]|0),(k[j>>2]|0)==0):0){e=100==(Ls(k[n>>2]|0)|0);a=k[n>>2]|0;if(!e){n=Pr(a)|0;k[j>>2]=n;break}e=Kv(a)|0;k[(k[f>>2]|0)+84>>2]=e;k[g>>2]=k[(k[f>>2]|0)+84>>2]<<2;g=nT(j,k[g>>2]|0)|0;k[(k[f>>2]|0)+88>>2]=g;a:do if(!(k[j>>2]|0)){k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[f>>2]|0)+84>>2]|0))break a;g=uJ(k[n>>2]|0,k[h>>2]|0)|0;k[(k[(k[f>>2]|0)+88>>2]|0)+(k[h>>2]<<2)>>2]=g;k[h>>2]=(k[h>>2]|0)+1}}while(0);k[(k[f>>2]|0)+92>>2]=k[n>>2]}while(0);if(k[j>>2]|0){n=k[l>>2]|0;o=k[f>>2]|0;o=o+80|0;k[o>>2]=n;o=k[j>>2]|0;u=p;return o|0}n=gY(k[i>>2]|0,k[m>>2]|0)|0;k[l>>2]=n;if(k[l>>2]|0){n=k[l>>2]|0;o=k[f>>2]|0;o=o+80|0;k[o>>2]=n;o=k[j>>2]|0;u=p;return o|0}k[o>>2]=k[m>>2];n=xf(51837,o)|0;k[(k[i>>2]|0)+8>>2]=n;k[j>>2]=1;n=k[l>>2]|0;o=k[f>>2]|0;o=o+80|0;k[o>>2]=n;o=k[j>>2]|0;u=p;return o|0}function a_(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+24|0;d=i+20|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[(k[c>>2]|0)+60>>2]&32)){h=k[e>>2]|0;u=i;return h|0}k[f>>2]=k[k[c>>2]>>2];k[g>>2]=k[(k[c>>2]|0)+28>>2];a=ZY(k[(k[c>>2]|0)+52>>2]|0)|0;b=h;k[b>>2]=a;k[b+4>>2]=M;b=h;g=OY(k[(k[c>>2]|0)+52>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[g>>2]|0)|0;k[e>>2]=g;if((k[e>>2]|0)==0?(h,f=k[h>>2]|0,h=k[h+4>>2]|0,g=ZY(k[(k[c>>2]|0)+52>>2]|0)|0,(f|0)!=(g|0)|(h|0)!=(M|0)):0)k[k[d>>2]>>2]=1;h=(k[c>>2]|0)+60|0;k[h>>2]=k[h>>2]&-33;QY(k[c>>2]|0);if(!(PY(k[(k[c>>2]|0)+52>>2]|0)|0)){h=k[e>>2]|0;u=i;return h|0}h=(k[c>>2]|0)+60|0;k[h>>2]=k[h>>2]|1;k[k[d>>2]>>2]=1;h=k[e>>2]|0;u=i;return h|0}function b_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+16|0;e=h;f=h+12|0;g=h+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=k[(k[d>>2]|0)+8>>2];do{c=Xb[k[(k[g>>2]|0)+12>>2]&255](k[d>>2]|0,k[g>>2]|0,0,0,0)|0;k[f>>2]=c}while((k[(k[g>>2]|0)+8>>2]|0)!=0);c=(k[g>>2]|0)+16|0;if((_V(k[d>>2]|0,k[c>>2]|0,k[c+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0)<=0){g=k[f>>2]|0;u=h;return g|0}k[(k[g>>2]|0)+4>>2]=1;g=k[f>>2]|0;u=h;return g|0}function c_(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+48|0;b=l+32|0;c=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+56>>2];a=Ls(k[k[c>>2]>>2]|0)|0;k[d>>2]=a;if((k[d>>2]|0)==101){k[d>>2]=0;j=(k[b>>2]|0)+60|0;k[j>>2]=k[j>>2]|1;j=k[d>>2]|0;u=l;return j|0}if((k[d>>2]|0)!=100){j=k[d>>2]|0;u=l;return j|0}k[i>>2]=0;k[d>>2]=0;m=tJ(k[k[c>>2]>>2]|0,0)|0;a=(k[c>>2]|0)+8|0;k[a>>2]=m;k[a+4>>2]=M;a=qJ(k[k[c>>2]>>2]|0,1)|0;k[g>>2]=a;a=pJ(k[k[c>>2]>>2]|0,1)|0;k[e>>2]=a;k[f>>2]=a;if((k[g>>2]|0)>0){k[h>>2]=0;while(1){if((k[h>>2]|0)>=((k[(k[c>>2]|0)+20>>2]|0)-1|0))break;m=dS(k[e>>2]|0,j)|0;k[e>>2]=(k[e>>2]|0)+m;k[i>>2]=(k[i>>2]|0)+(k[j>>2]|0);k[(k[c>>2]|0)+24+(k[h>>2]<<2)>>2]=k[i>>2];k[h>>2]=(k[h>>2]|0)+1}k[(k[c>>2]|0)+24+(k[h>>2]<<2)>>2]=(k[f>>2]|0)+(k[g>>2]|0)-(k[e>>2]|0);k[(k[c>>2]|0)+16>>2]=k[e>>2]}QY(k[b>>2]|0);m=k[d>>2]|0;u=l;return m|0}function d_(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;b=h+20|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];ie(k[(k[b>>2]|0)+104>>2]|0);ie(k[(k[b>>2]|0)+116>>2]|0);if(k[(k[b>>2]|0)+48>>2]|0){a=aZ(k[b>>2]|0)|0;k[f>>2]=a;k_(k[(k[c>>2]|0)+20>>2]|0,k[f>>2]|0,k[(k[b>>2]|0)+48>>2]|0)}if(k[(k[b>>2]|0)+56>>2]|0){k[g>>2]=k[(k[b>>2]|0)+56>>2];Pr(k[k[g>>2]>>2]|0)|0;ie(k[g>>2]|0)}if((k[(k[b>>2]|0)+24>>2]|0)!=2)fV(k[(k[b>>2]|0)+52>>2]|0);k[d>>2]=k[(k[b>>2]|0)+100>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+12>>2];if(k[(k[d>>2]|0)+8>>2]|0)Ob[k[(k[d>>2]|0)+8>>2]&255](k[(k[d>>2]|0)+4>>2]|0);ie(k[d>>2]|0);k[d>>2]=k[e>>2]}Pr(k[(k[b>>2]|0)+92>>2]|0)|0;ie(k[(k[b>>2]|0)+88>>2]|0);if(!(k[(k[b>>2]|0)+60>>2]&16)){f=k[b>>2]|0;f=f+24|0;e=k[b>>2]|0;e=e+24|0;g=k[b>>2]|0;g=e-g|0;g=120-g|0;w0(f|0,0,g|0)|0;u=h;return}ie(k[(k[b>>2]|0)+72>>2]|0);ie(k[(k[b>>2]|0)+76>>2]|0);f=k[b>>2]|0;f=f+24|0;e=k[b>>2]|0;e=e+24|0;g=k[b>>2]|0;g=e-g|0;g=120-g|0;w0(f|0,0,g|0)|0;u=h;return}function e_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;d=h+8|0;e=h+20|0;f=h;g=h+16|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(k[e>>2]|0?(c=Oi(k[e>>2]|0)|0,k[g>>2]=c,(k[g>>2]|0)==1):0){g=Pi(k[e>>2]|0)|0;f=d;k[f>>2]=g;k[f+4>>2]=M;f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;M=f;u=h;return g|0}e=f;g=k[e+4>>2]|0;f=d;k[f>>2]=k[e>>2];k[f+4>>2]=g;f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;M=f;u=h;return g|0}function f_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;i=m;d=m+28|0;j=m+24|0;e=m+20|0;l=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;k[l>>2]=0;if(!(k[e>>2]|0)){if(k[(k[d>>2]|0)+88>>2]|0){k[(k[j>>2]|0)+72>>2]=k[(k[d>>2]|0)+88>>2];b=k[(k[d>>2]|0)+92>>2]|0;a=k[j>>2]|0}else{k[(k[j>>2]|0)+72>>2]=48951;b=0;a=k[j>>2]|0}k[a+76>>2]=b;l=k[l>>2]|0;u=m;return l|0}d=$h(k[e>>2]|0)|0;k[f>>2]=d;k[g>>2]=0;k[h>>2]=0;if(!(k[f>>2]|0)){if((Ki(k[e>>2]|0)|0)==5)k[l>>2]=1}else{e=QT(k[f>>2]|0,g,h)|0;k[l>>2]=e}if(!(k[l>>2]|0)){k[(k[j>>2]|0)+72>>2]=k[g>>2];k[(k[j>>2]|0)+76>>2]=k[h>>2];j=(k[j>>2]|0)+60|0;k[j>>2]=k[j>>2]|16;l=k[l>>2]|0;u=m;return l|0}if((k[l>>2]|0)!=1){l=k[l>>2]|0;u=m;return l|0}k[i>>2]=k[f>>2];i=xf(51981,i)|0;k[(k[k[j>>2]>>2]|0)+8>>2]=i;l=k[l>>2]|0;u=m;return l|0}function g_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;l=u;u=u+32|0;j=l;d=l+28|0;e=l+24|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;k[d>>2]=a;k[e>>2]=b;k[m>>2]=c;k[f>>2]=0;k[g>>2]=k[m>>2];while(1){if((i[k[g>>2]>>0]|0)!=32)break;k[g>>2]=(k[g>>2]|0)+1}k[h>>2]=0;while(1){if(!(i[(k[g>>2]|0)+(k[h>>2]|0)>>0]|0))break;if((i[(k[g>>2]|0)+(k[h>>2]|0)>>0]|0)==32)break;k[h>>2]=(k[h>>2]|0)+1}k[(k[e>>2]|0)+24>>2]=3;if(!(vd(51947,k[g>>2]|0,k[h>>2]|0)|0)){j=j_(k[(k[d>>2]|0)+16>>2]|0)|0;m=(k[e>>2]|0)+64|0;k[m>>2]=j;k[m+4>>2]=((j|0)<0)<<31>>31;m=k[f>>2]|0;u=l;return m|0}if(!(vd(32512,k[g>>2]|0,k[h>>2]|0)|0)){h=(k[e>>2]|0)+16|0;j=k[h+4>>2]|0;m=(k[e>>2]|0)+64|0;k[m>>2]=k[h>>2];k[m+4>>2]=j;m=k[f>>2]|0;u=l;return m|0}else{m=k[g>>2]|0;k[j>>2]=k[h>>2];k[j+4>>2]=m;m=xf(51953,j)|0;k[(k[d>>2]|0)+8>>2]=m;k[f>>2]=1;m=k[f>>2]|0;u=l;return m|0}return 0}function h_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+80|0;p=q;h=q+68|0;i=q+64|0;j=q+60|0;l=q+56|0;m=q+52|0;n=q+48|0;o=q+44|0;d=q+40|0;e=q+36|0;f=q+32|0;g=q+28|0;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=k[(k[i>>2]|0)+12>>2];k[f>>2]=k[(k[j>>2]|0)+72>>2];k[g>>2]=k[(k[j>>2]|0)+76>>2];c=dZ(k[(k[j>>2]|0)+52>>2]|0)|0;k[o>>2]=c;k[d>>2]=32+((k[o>>2]|0)-1<<2);c=ze(k[d>>2]|0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){k[h>>2]=7;p=k[h>>2]|0;u=q;return p|0}w0(k[n>>2]|0,0,k[d>>2]|0)|0;k[(k[n>>2]|0)+20>>2]=k[o>>2];c=k[n>>2]|0;o=k[m>>2]|0;a=k[(k[m>>2]|0)+8>>2]|0;b=k[f>>2]|0;d=k[(k[m>>2]|0)+8>>2]|0;f=k[g>>2]|0?30358:55752;g=k[g>>2]|0?k[g>>2]|0:55752;l=k[l>>2]|0?45749:45754;k[p>>2]=k[(k[m>>2]|0)+4>>2];k[p+4>>2]=a;k[p+8>>2]=b;k[p+12>>2]=d;k[p+16>>2]=f;k[p+20>>2]=g;k[p+24>>2]=l;p=i_(c,o,51894,p)|0;k[e>>2]=p;k[(k[j>>2]|0)+56>>2]=k[n>>2];if(!(k[e>>2]|0)){k[(k[i>>2]|0)+28>>2]=k[j>>2];p=c_(k[j>>2]|0)|0;k[e>>2]=p;k[(k[i>>2]|0)+28>>2]=0}if(k[e>>2]|0){Pr(k[k[n>>2]>>2]|0)|0;ie(k[n>>2]|0);k[(k[j>>2]|0)+56>>2]=0}k[h>>2]=k[e>>2];p=k[h>>2]|0;u=q;return p|0}function i_(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=u;u=u+48|0;j=l;e=l+44|0;f=l+40|0;n=l+36|0;g=l+32|0;h=l+28|0;i=l+24|0;m=l+8|0;k[e>>2]=a;k[f>>2]=b;k[n>>2]=c;k[g>>2]=0;k[m>>2]=d;d=Ff(k[n>>2]|0,m)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[h>>2]=7;m=k[g>>2]|0;n=k[e>>2]|0;k[n>>2]=m;n=k[h>>2]|0;u=l;return n|0}n=Jv(k[k[f>>2]>>2]|0,k[i>>2]|0,-1,g,0)|0;k[h>>2]=n;if(k[h>>2]|0){n=Ov(k[k[f>>2]>>2]|0)|0;k[j>>2]=n;n=xf(21240,j)|0;k[k[(k[f>>2]|0)+96>>2]>>2]=n}ie(k[i>>2]|0);m=k[g>>2]|0;n=k[e>>2]|0;k[n>>2]=m;n=k[h>>2]|0;u=l;return n|0}function j_(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+64>>2]|0}function k_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[f>>2]|0;if(!(k[(k[d>>2]|0)+28+(k[e>>2]<<2)>>2]|0)){Is(a)|0;k[(k[d>>2]|0)+28+(k[e>>2]<<2)>>2]=k[f>>2];u=g;return}else{Pr(a)|0;u=g;return}}function l_(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;f=u;u=u+48|0;d=f+32|0;e=f+24|0;g=f;b=f+44|0;c=f+40|0;k[b>>2]=a;a=k[k[b>>2]>>2]|0;m=k[(k[b>>2]|0)+8>>2]|0;l=k[(k[b>>2]|0)+4>>2]|0;j=k[(k[b>>2]|0)+8>>2]|0;i=k[(k[b>>2]|0)+4>>2]|0;h=k[(k[b>>2]|0)+8>>2]|0;k[g>>2]=k[(k[b>>2]|0)+4>>2];k[g+4>>2]=m;k[g+8>>2]=l;k[g+12>>2]=j;k[g+16>>2]=i;k[g+20>>2]=h;a=fY(a,0,52014,g)|0;k[c>>2]=a;if((k[c>>2]|0)==0?k[(k[b>>2]|0)+44>>2]|0:0){m=k[k[b>>2]>>2]|0;l=k[(k[b>>2]|0)+8>>2]|0;k[e>>2]=k[(k[b>>2]|0)+4>>2];k[e+4>>2]=l;m=fY(m,0,52118,e)|0;k[c>>2]=m}if(k[c>>2]|0){m=k[c>>2]|0;u=f;return m|0}if(k[(k[b>>2]|0)+32>>2]|0){m=k[c>>2]|0;u=f;return m|0}m=k[k[b>>2]>>2]|0;l=k[(k[b>>2]|0)+8>>2]|0;k[d>>2]=k[(k[b>>2]|0)+4>>2];k[d+4>>2]=l;m=fY(m,0,52156,d)|0;k[c>>2]=m;m=k[c>>2]|0;u=f;return m|0}function m_(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}n_(k[(k[b>>2]|0)+16>>2]|0)|0;o_(k[(k[b>>2]|0)+20>>2]|0)|0;eV(k[(k[b>>2]|0)+12>>2]|0);ie(k[b>>2]|0);u=c;return}function n_(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(k[b>>2]|0)){c=k[c>>2]|0;u=d;return c|0}oX(k[b>>2]|0);Pr(k[(k[b>>2]|0)+44>>2]|0)|0;Pr(k[(k[b>>2]|0)+48>>2]|0)|0;Pr(k[(k[b>>2]|0)+52>>2]|0)|0;Pr(k[(k[b>>2]|0)+56>>2]|0)|0;Pr(k[(k[b>>2]|0)+60>>2]|0)|0;Pr(k[(k[b>>2]|0)+68>>2]|0)|0;p_(k[(k[b>>2]|0)+12>>2]|0);ie(k[(k[b>>2]|0)+4>>2]|0);ie(k[b>>2]|0);c=k[c>>2]|0;u=d;return c|0}function o_(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;if(!(k[b>>2]|0)){d=k[c>>2]|0;u=e;return d|0}k[d>>2]=0;while(1){a=k[b>>2]|0;if((k[d>>2]|0)>=11)break;Pr(k[a+28+(k[d>>2]<<2)>>2]|0)|0;k[d>>2]=(k[d>>2]|0)+1}ie(a);d=k[c>>2]|0;u=e;return d|0}function p_(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){u=c;return}pX(k[b>>2]|0);ie(k[(k[b>>2]|0)+20>>2]|0);ie(k[b>>2]|0);u=c;return}function q_(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+56|0;k[a>>2]=k[a>>2]|1;u=b;return}function r_(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;s=u;u=u+48|0;q=s+44|0;r=s+40|0;v=s+36|0;h=s+32|0;t=s+28|0;i=s+24|0;j=s+20|0;l=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;k[q>>2]=a;k[r>>2]=b;k[v>>2]=c;k[h>>2]=d;k[t>>2]=e;k[i>>2]=f;k[j>>2]=g;k[l>>2]=k[v>>2];k[m>>2]=k[t>>2];k[n>>2]=0;k[o>>2]=0;k[p>>2]=0;g=nT(n,32)|0;k[p>>2]=g;if(!(k[n>>2]|0)){v=aV(k[l>>2]|0,k[r>>2]|0,k[h>>2]|0,k[m>>2]|0,o,k[j>>2]|0)|0;k[n>>2]=v}if(!(k[n>>2]|0)){k[(k[p>>2]|0)+12>>2]=k[o>>2];k[(k[p>>2]|0)+24>>2]=k[l>>2]}if(!(k[n>>2]|0)){v=s_(k[o>>2]|0,k[q>>2]|0,(k[p>>2]|0)+16|0,k[j>>2]|0)|0;k[n>>2]=v}if(!(k[n>>2]|0)){v=t_(k[o>>2]|0,k[(k[p>>2]|0)+16>>2]|0,k[q>>2]|0,(k[p>>2]|0)+20|0,k[j>>2]|0)|0;k[n>>2]=v}if(!(k[n>>2]|0)){v=u_(k[o>>2]|0)|0;k[n>>2]=v}if(!(k[n>>2]|0)){k[(k[o>>2]|0)+96>>2]=k[j>>2];v=JZ(k[(k[p>>2]|0)+16>>2]|0)|0;k[n>>2]=v;mX(k[(k[p>>2]|0)+16>>2]|0)|0;k[(k[o>>2]|0)+96>>2]=0}if(k[n>>2]|0){m_(k[p>>2]|0);k[p>>2]=0;t=k[p>>2]|0;v=k[i>>2]|0;k[v>>2]=t;v=k[n>>2]|0;u=s;return v|0}else{t=k[p>>2]|0;v=k[i>>2]|0;k[v>>2]=t;v=k[n>>2]|0;u=s;return v|0}return 0}function s_(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;l=m;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;d=nT(i,88)|0;k[j>>2]=d;k[k[g>>2]>>2]=d;if((k[i>>2]|0)==0?(k[k[j>>2]>>2]=k[e>>2],k[(k[j>>2]|0)+8>>2]=64,k[l>>2]=k[(k[e>>2]|0)+8>>2],l=OT(i,52410,l)|0,k[(k[j>>2]|0)+4>>2]=l,k[f>>2]|0?(k[(k[j>>2]|0)+4>>2]|0)!=0:0):0){l=v_(k[e>>2]|0,50977,52418,0,k[h>>2]|0)|0;k[i>>2]=l;if(!(k[i>>2]|0)){l=v_(k[e>>2]|0,30148,52453,1,k[h>>2]|0)|0;k[i>>2]=l}if(!(k[i>>2]|0)){l=ZZ(k[j>>2]|0)|0;k[i>>2]=l}}if(!(k[i>>2]|0)){l=k[i>>2]|0;u=m;return l|0}n_(k[j>>2]|0)|0;k[k[g>>2]>>2]=0;l=k[i>>2]|0;u=m;return l|0}function t_(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+64|0;v=w+8|0;t=w;o=w+60|0;p=w+56|0;q=w+52|0;r=w+48|0;s=w+44|0;f=w+40|0;g=w+36|0;h=w+32|0;i=w+28|0;j=w+24|0;l=w+20|0;m=w+16|0;n=w+12|0;k[p>>2]=a;k[q>>2]=b;k[r>>2]=c;k[s>>2]=d;k[f>>2]=e;k[g>>2]=0;k[i>>2]=72+(k[(k[p>>2]|0)+12>>2]<<3);e=ze(k[i>>2]|0)|0;k[h>>2]=e;k[k[s>>2]>>2]=e;if(!(k[h>>2]|0)){k[o>>2]=7;v=k[o>>2]|0;u=w;return v|0}w0(k[h>>2]|0,0,k[i>>2]|0)|0;k[(k[h>>2]|0)+24>>2]=(k[h>>2]|0)+72;k[k[h>>2]>>2]=k[p>>2];k[(k[h>>2]|0)+4>>2]=k[q>>2];if(k[r>>2]|0){if(!(k[(k[p>>2]|0)+32>>2]|0)){k[j>>2]=32+((k[(k[p>>2]|0)+12>>2]|0)*10|0);r=ze(32+((k[(k[p>>2]|0)+12>>2]|0)*10|0)|0)|0;k[l>>2]=r;if(!(k[l>>2]|0))k[g>>2]=7;else{pf(k[j>>2]|0,k[l>>2]|0,52243,t)|0;t=q$(k[l>>2]|0)|0;k[n>>2]=t;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[(k[p>>2]|0)+12>>2]|0))break;r=(k[j>>2]|0)-(k[n>>2]|0)|0;t=(k[l>>2]|0)+(k[n>>2]|0)|0;k[v>>2]=k[m>>2];pf(r,t,52266,v)|0;t=q$((k[l>>2]|0)+(k[n>>2]|0)|0)|0;k[n>>2]=(k[n>>2]|0)+t;k[m>>2]=(k[m>>2]|0)+1}v=v_(k[p>>2]|0,46221,k[l>>2]|0,0,k[f>>2]|0)|0;k[g>>2]=v}ie(k[l>>2]|0)}if((k[g>>2]|0)==0?k[(k[p>>2]|0)+44>>2]|0:0){v=v_(k[p>>2]|0,49899,52272,0,k[f>>2]|0)|0;k[g>>2]=v}if(!(k[g>>2]|0)){v=v_(k[p>>2]|0,50982,52304,1,k[f>>2]|0)|0;k[g>>2]=v}if(!(k[g>>2]|0)){v=KZ(k[h>>2]|0,47943,0,4)|0;k[g>>2]=v}}if(k[g>>2]|0){o_(k[h>>2]|0)|0;k[k[s>>2]>>2]=0}k[o>>2]=k[g>>2];v=k[o>>2]|0;u=w;return v|0}function u_(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+64|0;h=i+24|0;g=i+8|0;b=i+52|0;c=i+48|0;d=i+44|0;e=i+40|0;f=i+36|0;k[b>>2]=a;k[d>>2]=0;a=OT(d,52194,i)|0;k[e>>2]=a;k[c>>2]=0;while(1){if(!(k[e>>2]|0))break;if((k[c>>2]|0)>=(k[(k[b>>2]|0)+12>>2]|0))break;k[f>>2]=(k[c>>2]|0)==0?55752:30358;j=k[f>>2]|0;a=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<2)>>2]|0;k[g>>2]=k[e>>2];k[g+4>>2]=j;k[g+8>>2]=a;a=OT(d,52210,g)|0;k[e>>2]=a;k[c>>2]=(k[c>>2]|0)+1}j=k[(k[b>>2]|0)+8>>2]|0;k[h>>2]=k[e>>2];k[h+4>>2]=j;k[h+8>>2]=48062;j=OT(d,52217,h)|0;k[e>>2]=j;if(!(k[e>>2]|0)){j=k[d>>2]|0;u=i;return j|0}j=WJ(k[k[b>>2]>>2]|0,k[e>>2]|0)|0;k[d>>2]=j;ie(k[e>>2]|0);j=k[d>>2]|0;u=i;return j|0}function v_(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;m=u;u=u+64|0;l=m+24|0;n=m;h=m+60|0;i=m+56|0;p=m+52|0;o=m+48|0;j=m+44|0;f=m+40|0;g=m+36|0;k[h>>2]=a;k[i>>2]=b;k[p>>2]=c;k[o>>2]=d;k[j>>2]=e;k[g>>2]=0;e=k[k[h>>2]>>2]|0;a=k[(k[h>>2]|0)+8>>2]|0;b=k[i>>2]|0;c=k[p>>2]|0;d=k[o>>2]|0?52321:55752;k[n>>2]=k[(k[h>>2]|0)+4>>2];k[n+4>>2]=a;k[n+8>>2]=b;k[n+12>>2]=c;k[n+16>>2]=d;e=fY(e,g,52336,n)|0;k[f>>2]=e;if(!(k[g>>2]|0)){p=k[f>>2]|0;u=m;return p|0}o=k[i>>2]|0;p=k[g>>2]|0;k[l>>2]=k[(k[h>>2]|0)+8>>2];k[l+4>>2]=o;k[l+8>>2]=p;p=xf(52366,l)|0;k[k[j>>2]>>2]=p;ie(k[g>>2]|0);p=k[f>>2]|0;u=m;return p|0}function w_(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;while(1){if((k[d>>2]|0)>0)b=(i[(k[c>>2]|0)+((k[d>>2]|0)-1)>>0]|0)==32;else b=0;a=k[d>>2]|0;if(!b)break;k[d>>2]=a+-1}u=e;return (a|0)==0|0}function x_(){return 55180}function y_(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=F_(k[a+60>>2]|0)|0;k[c>>2]=a;a=B_(Pa(6,c|0)|0)|0;u=b;return a|0}function z_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;j=m+16|0;f=m;e=m+32|0;h=a+28|0;d=k[h>>2]|0;k[e>>2]=d;i=a+20|0;d=(k[i>>2]|0)-d|0;k[e+4>>2]=d;k[e+8>>2]=b;k[e+12>>2]=c;d=d+c|0;g=a+60|0;k[f>>2]=k[g>>2];k[f+4>>2]=e;k[f+8>>2]=2;f=B_(Ib(146,f|0)|0)|0;a:do if((d|0)!=(f|0)){b=2;while(1){if((f|0)<0)break;d=d-f|0;o=k[e+4>>2]|0;n=f>>>0>o>>>0;e=n?e+8|0:e;b=(n<<31>>31)+b|0;o=f-(n?o:0)|0;k[e>>2]=(k[e>>2]|0)+o;n=e+4|0;k[n>>2]=(k[n>>2]|0)-o;k[j>>2]=k[g>>2];k[j+4>>2]=e;k[j+8>>2]=b;f=B_(Ib(146,j|0)|0)|0;if((d|0)==(f|0)){l=3;break a}}k[a+16>>2]=0;k[h>>2]=0;k[i>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[e+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=k[a+44>>2]|0;k[a+16>>2]=o+(k[a+48>>2]|0);k[h>>2]=o;k[i>>2]=o}u=m;return c|0}function A_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=u;u=u+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((B_(rb(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;u=e;return a|0}function B_(a){a=a|0;var b=0;if(a>>>0>4294963200){b=C_()|0;k[b>>2]=0-a;a=-1}return a|0}function C_(){return (D_()|0)+64|0}function D_(){return E_()|0}function E_(){return 10796}function F_(a){a=a|0;return a|0}function G_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+32|0;d=e;k[a+36>>2]=169;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21523,k[d+8>>2]=e+16,pb(54,d|0)|0):0)i[a+75>>0]=-1;d=z_(a,b,c)|0;u=e;return d|0}function H_(a){a=a|0;var b=0;b=(I_(a)|0)==0;return (b?a:a|32)|0}function I_(a){a=a|0;return (a+-65|0)>>>0<26|0}function J_(a){a=a|0;var b=0;b=(K_(a)|0)==0;return (b?a:a&95)|0}function K_(a){a=a|0;return (a+-97|0)>>>0<26|0}function L_(a){a=+a;var b=0;p[s>>3]=a;b=k[s+4>>2]&2147483647;k[s>>2]=k[s>>2];k[s+4>>2]=b;a=+p[s>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+N_(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+Y(+a);a=(a+1.0/a)*.5;break}else{a=+O_(a);break}while(0);return +a}function M_(a){a=+a;var b=0.0,c=0.0,d=0;p[s>>3]=a;d=k[s+4>>2]|0;c=(d|0)<0?-.5:.5;d=d&2147483647;k[s>>2]=k[s>>2];k[s+4>>2]=d;b=+p[s>>3];do if(d>>>0<1082535490){b=+N_(b);if(d>>>0>=1072693248){a=c*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=c*(b*2.0-b*b/(b+1.0))}else a=c*2.0*+O_(b);while(0);return +a}function N_(a){a=+a;var b=0,c=0.0,d=0.0,e=0,f=0.0,g=0,h=0,i=0.0;p[s>>3]=a;b=k[s+4>>2]|0;e=b&2147483647;b=p0(k[s>>2]|0,b|0,63)|0;do if(e>>>0>1078159481){e=P_(a)|0;h=M&2147483647;if(!(h>>>0>2146435072|(h|0)==2146435072&e>>>0>0))if(!b)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else{c=.5;g=12}else a=-1.0}else{if(e>>>0<=1071001154)if(e>>>0<1016070144)break;else{f=0.0;b=0;g=15;break}b=(b|0)!=0;if(e>>>0>=1072734898){c=b?-.5:.5;g=12;break}if(b){b=-1;c=a+.6931471803691238;d=-1.9082149292705877e-10;g=13;break}else{b=1;c=a+-.6931471803691238;d=1.9082149292705877e-10;g=13;break}}while(0);if((g|0)==12){b=~~(a*1.4426950408889634+c);d=+(b|0);c=a-d*.6931471803691238;d=d*1.9082149292705877e-10;g=13}if((g|0)==13){f=c-d;a=f;f=c-f-d;g=15}a:do if((g|0)==15){d=a*.5;c=a*d;i=c*(c*(c*(c*(4.008217827329362e-06-c*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;d=3.0-d*i;d=c*((i-d)/(6.0-a*d));if(!b){a=a-(a*d-c);break}c=a*(d-f)-f-c;switch(b|0){case -1:{a=(a-c)*.5+-.5;break a}case 1:if(a<-.25){a=(c-(a+.5))*-2.0;break a}else{a=(a-c)*2.0+1.0;break a}default:{g=t0(b+1023|0,0,52)|0;h=M;k[s>>2]=g;k[s+4>>2]=h;d=+p[s>>3];if(b>>>0>56){a=a-c+1.0;a=((b|0)==1024?a*2.0*8988465674311579538646525.0e283:d*a)+-1.0;break a}else{e=t0(1023-b|0,0,52)|0;g=M;h=(b|0)<20;k[s>>2]=e;k[s+4>>2]=g;i=+p[s>>3];a=d*((h?1.0-i:1.0)+(a-(h?c:i+c)));break a}}}}while(0);return +a}function O_(a){a=+a;return +(+Y(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function P_(a){a=+a;var b=0;p[s>>3]=a;b=k[s>>2]|0;M=k[s+4>>2]|0;return b|0}function Q_(a,b){a=a|0;b=b|0;var c=0,d=0;c=i[a>>0]|0;d=i[b>>0]|0;if(c<<24>>24==0?1:c<<24>>24!=d<<24>>24)a=d;else{do{a=a+1|0;b=b+1|0;c=i[a>>0]|0;d=i[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));a=d}return (c&255)-(a&255)|0}function R_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do if(!c)a=0;else{while(1){d=i[a>>0]|0;e=i[b>>0]|0;if(d<<24>>24!=e<<24>>24)break;c=c+-1|0;if(!c){a=0;break a}else{a=a+1|0;b=b+1|0}}a=(d&255)-(e&255)|0}while(0);return a|0}function S_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;if(!c)d=0;else{g=i[a>>0]|0;d=g&255;f=i[b>>0]|0;e=f&255;a:do if(g<<24>>24)do{c=c+-1|0;if(!(g<<24>>24==f<<24>>24&((c|0)!=0&f<<24>>24!=0)))break a;a=a+1|0;b=b+1|0;g=i[a>>0]|0;d=g&255;f=i[b>>0]|0;e=f&255}while(g<<24>>24!=0);while(0);d=d-e|0}return d|0}function T_(a){a=a|0;return 0}function U_(a){a=a|0;return}function V_(a){a=a|0;var b=0;b=(W_()|0)+188|0;return X_(a,k[b>>2]|0)|0}function W_(){return E_()|0}function X_(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;while(1){if((l[52571+d>>0]|0)==(a|0)){a=2;break}c=d+1|0;if((c|0)==87){c=52659;d=87;a=5;break}else d=c}if((a|0)==2)if(!d)c=52659;else{c=52659;a=5}if((a|0)==5)while(1){do{a=c;c=c+1|0}while((i[a>>0]|0)!=0);d=d+-1|0;if(!d)break;else a=5}return Y_(c,k[b+20>>2]|0)|0}function Y_(a,b){a=a|0;b=b|0;return Z_(a,b)|0}function Z_(a,b){a=a|0;b=b|0;if(!b)b=0;else b=__(k[b>>2]|0,k[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function __(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=(k[a>>2]|0)+1794895138|0;f=$_(k[a+8>>2]|0,o)|0;d=$_(k[a+12>>2]|0,o)|0;e=$_(k[a+16>>2]|0,o)|0;a:do if((f>>>0>>2>>>0?(n=b-(f<<2)|0,d>>>0>>0&e>>>0>>0):0)?((e|d)&3|0)==0:0){n=d>>>2;m=e>>>2;l=0;while(1){h=f>>>1;j=l+h|0;g=j<<1;e=g+n|0;d=$_(k[a+(e<<2)>>2]|0,o)|0;e=$_(k[a+(e+1<<2)>>2]|0,o)|0;if(!(e>>>0>>0&d>>>0<(b-e|0)>>>0)){d=0;break a}if(i[a+(e+d)>>0]|0){d=0;break a}d=Q_(c,a+e|0)|0;if(!d)break;d=(d|0)<0;if((f|0)==1){d=0;break a}else{l=d?l:j;f=d?h:f-h|0}}d=g+m|0;e=$_(k[a+(d<<2)>>2]|0,o)|0;d=$_(k[a+(d+1<<2)>>2]|0,o)|0;if(d>>>0>>0&e>>>0<(b-d|0)>>>0)d=(i[a+(d+e)>>0]|0)==0?a+d|0:0;else d=0}else d=0;while(0);return d|0}function $_(a,b){a=a|0;b=b|0;var c=0;c=y0(a|0)|0;return ((b|0)==0?a:c)|0}function a$(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function b$(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function c$(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=F_(a)|0;k[c>>2]=a;a=Pa(6,c|0)|0;a=B_((a|0)==-4?0:a)|0;u=b;return a|0}function d$(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+48|0;e=f+40|0;d=f+8|0;c=f;k[c>>2]=a;k[c+4>>2]=b;c=bb(197,c|0)|0;if((c|0)==-9?(k[d>>2]=a,k[d+4>>2]=1,(Ka(221,d|0)|0)>=0):0){f$(d,a);k[e>>2]=d;k[e+4>>2]=b;b=B_(db(195,e|0)|0)|0}else b=B_(c)|0;u=f;return b|0}function e$(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+192|0;h=r+152|0;g=r+136|0;q=r+120|0;p=r+104|0;o=r+96|0;l=r+80|0;j=r+64|0;e=r+48|0;m=r+32|0;f=r+16|0;d=r;s=r+176|0;i=r+168|0;k[s>>2]=c;c=(k[s>>2]|0)+(4-1)&~(4-1);n=k[c>>2]|0;k[s>>2]=c+4;n=(b|0)==4?n|32768:n;switch(b|0){case 14:{k[d>>2]=a;k[d+4>>2]=14;k[d+8>>2]=n;c=B_(Ka(221,d|0)|0)|0;break}case 9:{k[f>>2]=a;k[f+4>>2]=16;k[f+8>>2]=i;c=Ka(221,f|0)|0;switch(c|0){case -22:{k[m>>2]=a;k[m+4>>2]=9;k[m+8>>2]=n;c=Ka(221,m|0)|0;break}case 0:{c=k[i+4>>2]|0;c=(k[i>>2]|0)==2?0-c|0:c;break}default:c=B_(c)|0}break}case 1030:{k[e>>2]=a;k[e+4>>2]=1030;k[e+8>>2]=n;c=Ka(221,e|0)|0;do if((c|0)==-22){k[l>>2]=a;k[l+4>>2]=1030;k[l+8>>2]=0;c=Ka(221,l|0)|0;if((c|0)==-22){k[p>>2]=a;k[p+4>>2]=0;k[p+8>>2]=n;c=Ka(221,p|0)|0;if((c|0)<=-1)break;k[q>>2]=c;k[q+4>>2]=2;k[q+8>>2]=1;Ka(221,q|0)|0;break}else{if((c|0)<=-1){c=-22;break}k[o>>2]=c;Pa(6,o|0)|0;c=-22;break}}else if((c|0)>-1){k[j>>2]=c;k[j+4>>2]=2;k[j+8>>2]=1;Ka(221,j|0)|0}while(0);c=B_(c)|0;break}case 15:case 16:case 12:case 13:{k[g>>2]=a;k[g+4>>2]=b;k[g+8>>2]=n;c=B_(Ka(221,g|0)|0)|0;break}default:{k[h>>2]=a;k[h+4>>2]=b;k[h+8>>2]=n;c=B_(Ka(221,h|0)|0)|0}}u=r;return c|0}function f$(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a;d=54463;e=c+15|0;do{i[c>>0]=i[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));if(!b){i[a+14>>0]=48;i[a+15>>0]=0}else{d=b;c=14;while(1){c=c+1|0;if(d>>>0<10)break;else d=(d>>>0)/10|0}i[a+c>>0]=0;while(1){c=c+-1|0;i[a+c>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}}return}function g$(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+48|0;f=g+16|0;e=g;d=g+32|0;if(!(b&4194368))d=0;else{k[d>>2]=c;h=(k[d>>2]|0)+(4-1)&~(4-1);c=k[h>>2]|0;k[d>>2]=h+4;d=c}k[e>>2]=a;k[e+4>>2]=b|32768;k[e+8>>2]=d;d=Ab(5,e|0)|0;if(!((b&524288|0)==0|(d|0)<0)){k[f>>2]=d;k[f+4>>2]=2;k[f+8>>2]=1;Ka(221,f|0)|0}h=B_(d)|0;u=g;return h|0}function h$(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=u;u=u+32|0;f=e;d=e+20|0;k[f>>2]=a;k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;c=(B_(rb(140,f|0)|0)|0)!=0;u=e;return (c?-1:k[d>>2]|0)|0}function i$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+208|0;i=l+8|0;j=l;g=$(c,b)|0;h=j;k[h>>2]=1;k[h+4>>2]=0;a:do if(g|0){h=0-c|0;k[i+4>>2]=c;k[i>>2]=c;e=2;b=c;f=c;while(1){b=b+c+f|0;k[i+(e<<2)>>2]=b;if(b>>>0>>0){m=f;e=e+1|0;f=b;b=m}else break}f=a+g+h|0;if(f>>>0>a>>>0){g=f;e=1;b=1;do{do if((b&3|0)!=3){b=e+-1|0;if((k[i+(b<<2)>>2]|0)>>>0<(g-a|0)>>>0)j$(a,c,d,e,i);else l$(a,c,d,j,e,0,i);if((e|0)==1){m$(j,1);e=0;break}else{m$(j,b);e=1;break}}else{j$(a,c,d,e,i);k$(j,2);e=e+2|0}while(0);b=k[j>>2]|1;k[j>>2]=b;a=a+c|0}while(a>>>0>>0)}else{e=1;b=1}l$(a,c,d,j,e,0,i);f=j+4|0;while(1){if((e|0)==1&(b|0)==1){if(!(k[f>>2]|0))break a}else if((e|0)>=2){m$(j,2);m=e+-2|0;k[j>>2]=k[j>>2]^7;k$(j,1);l$(a+(0-(k[i+(m<<2)>>2]|0))+h|0,c,d,j,e+-1|0,1,i);m$(j,1);b=k[j>>2]|1;k[j>>2]=b;g=a+h|0;l$(g,c,d,j,m,1,i);a=g;e=m;continue}b=n$(j)|0;k$(j,b);a=a+h|0;e=b+e|0;b=k[j>>2]|0}}while(0);u=l;return}function j$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+240|0;l=m;k[l>>2]=a;a:do if((d|0)>1){j=0-b|0;f=a;i=d;d=1;while(1){g=f+j|0;h=i+-2|0;f=g+(0-(k[e+(h<<2)>>2]|0))|0;if((Wb[c&255](a,f)|0)>-1?(Wb[c&255](a,g)|0)>-1:0)break a;a=d+1|0;d=l+(d<<2)|0;if((Wb[c&255](f,g)|0)>-1){k[d>>2]=f;d=i+-1|0}else{k[d>>2]=g;f=g;d=h}if((d|0)<=1){d=a;break a}i=d;d=a;a=k[l>>2]|0}}else d=1;while(0);p$(b,l,d);u=m;return}function k$(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+4|0;if(b>>>0>31){d=k[e>>2]|0;k[a>>2]=d;k[e>>2]=0;b=b+-32|0;c=0}else{c=k[e>>2]|0;d=k[a>>2]|0}k[a>>2]=c<<32-b|d>>>b;k[e>>2]=c>>>b;return}function l$(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+240|0;m=o+232|0;n=o;p=k[d>>2]|0;k[m>>2]=p;i=k[d+4>>2]|0;j=m+4|0;k[j>>2]=i;k[n>>2]=a;a:do if((p|0)!=1|(i|0)!=0?(l=0-b|0,h=a+(0-(k[g+(e<<2)>>2]|0))|0,(Wb[c&255](h,a)|0)>=1):0){d=1;f=(f|0)==0;i=h;while(1){if(f&(e|0)>1){f=a+l|0;h=k[g+(e+-2<<2)>>2]|0;if((Wb[c&255](f,i)|0)>-1){h=10;break a}if((Wb[c&255](f+(0-h)|0,i)|0)>-1){h=10;break a}}f=d+1|0;k[n+(d<<2)>>2]=i;p=n$(m)|0;k$(m,p);e=p+e|0;if(!((k[m>>2]|0)!=1|(k[j>>2]|0)!=0)){d=f;a=i;h=10;break a}a=i+(0-(k[g+(e<<2)>>2]|0))|0;if((Wb[c&255](a,k[n>>2]|0)|0)<1){a=i;d=f;f=0;h=9;break}else{p=i;d=f;f=1;i=a;a=p}}}else{d=1;h=9}while(0);if((h|0)==9?(f|0)==0:0)h=10;if((h|0)==10){p$(b,n,d);j$(a,b,c,e,g)}u=o;return}function m$(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+4|0;if(b>>>0>31){d=k[a>>2]|0;k[e>>2]=d;k[a>>2]=0;b=b+-32|0;c=0}else{c=k[a>>2]|0;d=k[e>>2]|0}k[e>>2]=c>>>(32-b|0)|d<>2]=c<>2]|0)+-1|0)|0;if(!b){b=o$(k[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function o$(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}function p$(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+256|0;d=g;a:do if((c|0)>=2?(f=b+(c<<2)|0,k[f>>2]=d,a|0):0)while(1){e=a>>>0<256?a:256;r0(d|0,k[b>>2]|0,e|0)|0;d=0;do{h=b+(d<<2)|0;d=d+1|0;r0(k[h>>2]|0,k[b+(d<<2)>>2]|0,e|0)|0;k[h>>2]=(k[h>>2]|0)+e}while((d|0)!=(c|0));a=a-e|0;if(!a)break a;d=k[f>>2]|0}while(0);u=g;return}function q$(a){a=a|0;var b=0,c=0,d=0;d=a;a:do if(!(d&3))c=4;else{b=d;while(1){if(!(i[a>>0]|0)){a=b;break a}a=a+1|0;b=a;if(!(b&3)){c=4;break}}}while(0);if((c|0)==4){while(1){b=k[a>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))a=a+4|0;else break}if((b&255)<<24>>24)do a=a+1|0;while((i[a>>0]|0)!=0)}return a-d|0}function r$(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;s$();k[d>>2]=a;k[d+4>>2]=b;b=B_(kb(91,d|0)|0)|0;u=c;return b|0}function s$(){return}function t$(a,b){a=a|0;b=b|0;u$(a,b)|0;return a|0}function u$(a,b){a=a|0;b=b|0;var c=0,d=0;c=b;a:do if(!((c^a)&3)){if(c&3)do{c=i[b>>0]|0;i[a>>0]=c;if(!(c<<24>>24))break a;b=b+1|0;a=a+1|0}while((b&3|0)!=0);c=k[b>>2]|0;if(!((c&-2139062144^-2139062144)&c+-16843009)){d=a;while(1){b=b+4|0;a=d+4|0;k[d>>2]=c;c=k[b>>2]|0;if((c&-2139062144^-2139062144)&c+-16843009|0)break;else d=a}}d=8}else d=8;while(0);if((d|0)==8){d=i[b>>0]|0;i[a>>0]=d;if(d<<24>>24)do{b=b+1|0;a=a+1|0;d=i[b>>0]|0;i[a>>0]=d}while(d<<24>>24!=0)}return a|0}function v$(a){a=+a;var b=0;p[s>>3]=a;b=p0(k[s>>2]|0,k[s+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Z(+(a*2.0-1.0/(+P(+(a*a+-1.0))+a)));break}else{a=+Z(+a)+.6931471805599453;break}else{a=a+-1.0;a=+w$(a+ +P(+(a*a+a*2.0)))}while(0);return +a}function w$(a){a=+a;var b=0,c=0.0,d=0,e=0.0,f=0,g=0.0,h=0.0,i=0.0,j=0.0;p[s>>3]=a;b=k[s+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){f=t0(b|0,0,1)|0;if(f>>>0<2034237440)break;if(b>>>0<3218259653){e=0.0;c=0.0;d=11;break}else{d=8;break}}else{if(a==-1.0){a=-C;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)d=8;while(0);if((d|0)==8){c=a+1.0;p[s>>3]=c;b=(k[s+4>>2]|0)+614242|0;d=(b>>>20)+-1023|0;if((d|0)<54){f=(d|0)>1;c=((f?1.0:a)-(c+(f?-a:-1.0)))/c}else c=0.0;k[s>>2]=k[s>>2];k[s+4>>2]=(b&1048575)+1072079006;e=+(d|0);a=+p[s>>3]+-1.0;d=11}if((d|0)==11){g=a*(a*.5);j=a/(a+2.0);i=j*j;h=i*i;a=e*.6931471803691238+(a+(c+e*1.9082149292705877e-10+j*(g+(h*(h*(h*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(h*(h*(h*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-g))}return +a}function x$(a){a=+a;var b=0,c=0,d=0,e=0.0;p[s>>3]=a;d=k[s>>2]|0;c=k[s+4>>2]|0;b=p0(d|0,c|0,52)|0;b=b&2047;k[s>>2]=d;k[s+4>>2]=c&2147483647;a=+p[s>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Z(+(a*2.0+1.0/(a+ +P(+(a*a+1.0)))));break}if(b>>>0>996){e=a*a;a=+w$(a+e/(+P(+(e+1.0))+1.0))}}else a=+Z(+a)+.6931471805599453;while(0);return +((c|0)<0?-a:a)}function y$(a){a=+a;var b=0,c=0,d=0,e=0,f=0.0;p[s>>3]=a;e=k[s>>2]|0;c=k[s+4>>2]|0;b=p0(e|0,c|0,52)|0;b=b&2047;k[s>>2]=e;k[s+4>>2]=c&2147483647;a=+p[s>>3];if(b>>>0<1022){if(b>>>0>=991){f=a*2.0;a=f+a*f/(1.0-a);d=5}}else{a=a/(1.0-a)*2.0;d=5}if((d|0)==5)a=+w$(a)*.5;return +((c|0)<0?-a:a)}function z$(a){a=+a;var b=0,c=0,d=0,e=0,f=0.0,g=0.0,h=0.0,i=0.0,j=0.0;p[s>>3]=a;b=k[s>>2]|0;c=k[s+4>>2]|0;d=(c|0)<0;do if(d|c>>>0<1048576){if((b|0)==0&(c&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;c=k[s+4>>2]|0;d=-1077;b=k[s>>2]|0;e=9;break}}else if(c>>>0<=2146435071)if((b|0)==0&0==0&(c|0)==1072693248)a=0.0;else{d=-1023;e=9}while(0);if((e|0)==9){e=c+614242|0;k[s>>2]=b;k[s+4>>2]=(e&1048575)+1072079006;h=+p[s>>3]+-1.0;g=h*(h*.5);i=h/(h+2.0);j=i*i;a=j*j;p[s>>3]=h-g;c=k[s+4>>2]|0;k[s>>2]=0;k[s+4>>2]=c;f=+p[s>>3];a=h-f-g+i*(g+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+j*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));j=f*.4342944818781689;g=+(d+(e>>>20)|0);i=g*.30102999566361177;h=i+j;a=h+(j+(i-h)+(a*.4342944818781689+(g*3.694239077158931e-13+(f+a)*2.5082946711645275e-11)))}return +a}function A$(a){a=+a;var b=0,c=0;p[s>>3]=a;c=k[s+4>>2]|0;b=c&2147483647;k[s>>2]=k[s>>2];k[s+4>>2]=b;a=+p[s>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+N_(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+N_(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+N_(a*-2.0);a=-a/(a+2.0)}}while(0);return +((c|0)<0?-a:a)}function B$(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;c=B_(Ta(4,e|0)|0)|0;u=d;return c|0}function C$(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;c=B_(xb(3,e|0)|0)|0;u=d;return c|0}function D$(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;b=B_(db(195,d|0)|0)|0;u=c;return b|0}function E$(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+4112|0;d=f;c=f+8|0;if(a)if(!b){a=C_()|0;k[a>>2]=22;a=0}else e=4;else{b=4096;a=c;e=4}if((e|0)==4){k[d>>2]=a;k[d+4>>2]=b;if((B_(Bb(183,d|0)|0)|0)>=0){if((a|0)==(c|0))a=F$(c)|0}else a=0}u=f;return a|0}function F$(a){a=a|0;var b=0,c=0;c=(q$(a)|0)+1|0;b=_$(c)|0;if(!b)b=0;else r0(b|0,a|0,c|0)|0;return b|0}function G$(){var a=0,b=0;b=u;u=u+16|0;a=Sa(20,b|0)|0;u=b;return a|0}function H$(){yb(55244);return 55252}function I$(){qb(55244);return}function J$(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=K$(a)|0;break}c=(T_(a)|0)==0;b=K$(a)|0;if(!c)U_(a)}else{if(!(k[2791]|0))b=0;else b=J$(k[2791]|0)|0;a=H$()|0;a=k[a>>2]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=T_(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=K$(a)|0|b;if(c|0)U_(a);a=k[a+56>>2]|0}while((a|0)!=0);I$()}while(0);return b|0}function K$(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;g=a+28|0;if((k[b>>2]|0)>>>0>(k[g>>2]|0)>>>0?(Lb[k[a+36>>2]&255](a,0,0)|0,(k[b>>2]|0)==0):0)a=-1;else{c=a+4|0;d=k[c>>2]|0;e=a+8|0;f=k[e>>2]|0;if(d>>>0>>0)Lb[k[a+40>>2]&255](a,d-f|0,1)|0;k[a+16>>2]=0;k[g>>2]=0;k[b>>2]=0;k[e>>2]=0;k[c>>2]=0;a=0}return a|0}function L$(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;b=B_(cb(196,d|0)|0)|0;u=c;return b|0}function M$(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;b=B_(ob(33,d|0)|0)|0;u=c;return b|0}function N$(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;c=B_(La(85,e|0)|0)|0;u=d;return c|0}function O$(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=u;u=u+32|0;h=i;g=((f|0)<0)<<31>>31;do if((f&4095|0)==0&(g&-4096|0)==0){if(b>>>0>2147483646){a=C_()|0;k[a>>2]=12;a=-1;break}if(d&16|0)s$();g=p0(f|0,g|0,12)|0;k[h>>2]=a;k[h+4>>2]=b;k[h+8>>2]=c;k[h+12>>2]=d;k[h+16>>2]=e;k[h+20>>2]=g;a=B_(ab(192,h|0)|0)|0}else{a=C_()|0;k[a>>2]=22;a=-1}while(0);u=i;return a|0}function P$(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=B_(vb(10,c|0)|0)|0;u=b;return a|0}function Q$(a,b,c){a=a|0;b=b|0;c=c|0;R$(a,b,c)|0;return a|0}function R$(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=b;do if(!((e^a)&3)){d=(c|0)!=0;a:do if(d&(e&3|0)!=0)while(1){e=i[b>>0]|0;i[a>>0]=e;if(!(e<<24>>24))break a;c=c+-1|0;b=b+1|0;a=a+1|0;d=(c|0)!=0;if(!(d&(b&3|0)!=0)){f=5;break}}else f=5;while(0);if((f|0)==5)if(!d){c=0;break}if(i[b>>0]|0){b:do if(c>>>0>3){d=b;while(1){b=k[d>>2]|0;if((b&-2139062144^-2139062144)&b+-16843009|0){b=d;break b}k[a>>2]=b;c=c+-4|0;b=d+4|0;a=a+4|0;if(c>>>0>3)d=b;else break}}while(0);f=11}}else f=11;while(0);c:do if((f|0)==11)if(!c)c=0;else while(1){f=i[b>>0]|0;i[a>>0]=f;if(!(f<<24>>24))break c;c=c+-1|0;a=a+1|0;if(!c){c=0;break}else b=b+1|0}while(0);w0(a|0,0,c|0)|0;return a|0}function S$(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+48|0;e=f+40|0;d=f+8|0;c=f;k[c>>2]=a;k[c+4>>2]=b;c=hb(94,c|0)|0;if((c|0)==-9?(k[d>>2]=a,k[d+4>>2]=1,(Ka(221,d|0)|0)>=0):0){f$(d,a);k[e>>2]=d;k[e+4>>2]=b;a=B_(sb(15,e|0)|0)|0}else a=B_(c)|0;u=f;return a|0}function T$(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;b=B_(ub(39,d|0)|0)|0;u=c;return b|0}function U$(){var a=0,b=0;b=u;u=u+16|0;a=Eb(201,b|0)|0;u=b;return a|0}function V$(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+64|0;f=g+48|0;e=g+16|0;d=g;k[d>>2]=a;k[d+4>>2]=b;k[d+8>>2]=c;d=Fb(207,d|0)|0;if((d|0)==-9?(k[e>>2]=a,k[e+4>>2]=1,(Ka(221,e|0)|0)>=0):0){f$(e,a);k[f>>2]=e;k[f+4>>2]=b;k[f+8>>2]=c;a=B_(fb(212,f|0)|0)|0}else a=B_(d)|0;u=g;return a|0}function W$(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=B_(Ra(118,c|0)|0)|0;u=b;return a|0}function X$(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=b;k[d+12>>2]=((b|0)<0)<<31>>31;b=B_(eb(194,d|0)|0)|0;u=c;return b|0}function Y$(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=B_(Qa(40,c|0)|0)|0;u=b;return a|0}function Z$(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;k[b+4>>2]=0;a=(ib(b|0,b|0)|0)==0;u=c;return (a?0:k[b>>2]|0)|0}function _$(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=u;u=u+16|0;n=K;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;s=k[13814]|0;c=s>>>a;if(c&3|0){a=(c&1^1)+a|0;c=55296+(a<<1<<2)|0;d=c+8|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[13818]|0)>>>0)zb();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else zb()}else k[13814]=s&~(1<>2]=J|3;J=e+J+4|0;k[J>>2]=k[J>>2]|1;J=f;u=K;return J|0}r=k[13816]|0;if(o>>>0>r>>>0){if(c|0){h=2<>>12&16;a=a>>>h;d=a>>>5&8;a=a>>>d;f=a>>>2&4;a=a>>>f;c=a>>>1&2;a=a>>>c;b=a>>>1&1;b=(d|h|f|c|b)+(a>>>b)|0;a=55296+(b<<1<<2)|0;c=a+8|0;f=k[c>>2]|0;h=f+8|0;d=k[h>>2]|0;do if((a|0)!=(d|0)){if(d>>>0<(k[13818]|0)>>>0)zb();e=d+12|0;if((k[e>>2]|0)==(f|0)){k[e>>2]=a;k[c>>2]=d;i=s;break}else zb()}else{i=s&~(1<>2]=o|3;d=f+o|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(r|0){e=k[13819]|0;b=r>>>3;c=55296+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[13818]|0)>>>0)zb();else{j=a;l=b}}else{k[13814]=i|b;j=c;l=c+8|0}k[l>>2]=e;k[j+12>>2]=e;k[e+8>>2]=j;k[e+12>>2]=c}k[13816]=g;k[13819]=d;J=h;u=K;return J|0}j=k[13815]|0;if(j){a=(j&0-j)+-1|0;I=a>>>12&16;a=a>>>I;H=a>>>5&8;a=a>>>H;J=a>>>2&4;a=a>>>J;c=a>>>1&2;a=a>>>c;b=a>>>1&1;b=k[55560+((H|I|J|c|b)+(a>>>b)<<2)>>2]|0;a=(k[b+4>>2]&-8)-o|0;c=k[b+16+(((k[b+16>>2]|0)==0&1)<<2)>>2]|0;if(!c){i=b;g=a}else{do{I=(k[c+4>>2]&-8)-o|0;J=I>>>0>>0;a=J?I:a;b=J?c:b;c=k[c+16+(((k[c+16>>2]|0)==0&1)<<2)>>2]|0}while((c|0)!=0);i=b;g=a}e=k[13818]|0;if(i>>>0>>0)zb();h=i+o|0;if(i>>>0>=h>>>0)zb();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){m=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)zb();else{k[a>>2]=0;m=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)zb();b=d+12|0;if((k[b>>2]|0)!=(i|0))zb();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;m=c;break}else zb()}while(0);a:do if(f|0){b=k[i+28>>2]|0;a=55560+(b<<2)|0;do if((i|0)==(k[a>>2]|0)){k[a>>2]=m;if(!m){k[13815]=j&~(1<>>0>=(k[13818]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=m;if(!m)break a;else break}else zb();while(0);a=k[13818]|0;if(m>>>0>>0)zb();k[m+24>>2]=f;b=k[i+16>>2]|0;do if(b|0)if(b>>>0>>0)zb();else{k[m+16>>2]=b;k[b+24>>2]=m;break}while(0);b=k[i+20>>2]|0;if(b|0)if(b>>>0<(k[13818]|0)>>>0)zb();else{k[m+20>>2]=b;k[b+24>>2]=m;break}}while(0);if(g>>>0<16){J=g+o|0;k[i+4>>2]=J|3;J=i+J+4|0;k[J>>2]=k[J>>2]|1}else{k[i+4>>2]=o|3;k[h+4>>2]=g|1;k[h+g>>2]=g;if(r|0){d=k[13819]|0;b=r>>>3;c=55296+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[13818]|0)>>>0)zb();else{p=a;q=b}}else{k[13814]=s|b;p=c;q=c+8|0}k[q>>2]=d;k[p+12>>2]=d;k[d+8>>2]=p;k[d+12>>2]=c}k[13816]=g;k[13819]=h}J=i+8|0;u=K;return J|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;j=k[13815]|0;if(j){d=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)h=31;else{q=(a+1048320|0)>>>16&8;C=a<>>16&4;C=C<>>16&2;h=14-(p|q|h)+(C<>>15)|0;h=o>>>(h+7|0)&1|h<<1}else h=0;c=k[55560+(h<<2)>>2]|0;b:do if(!c){c=0;a=0;C=81}else{a=0;g=o<<((h|0)==31?0:25-(h>>>1)|0);f=0;while(1){e=(k[c+4>>2]&-8)-o|0;if(e>>>0>>0)if(!e){a=c;d=0;e=c;C=85;break b}else{a=c;d=e}e=k[c+20>>2]|0;c=k[c+16+(g>>>31<<2)>>2]|0;f=(e|0)==0|(e|0)==(c|0)?f:e;e=(c|0)==0;if(e){c=f;C=81;break}else g=g<<((e^1)&1)}}while(0);if((C|0)==81){if((c|0)==0&(a|0)==0){a=2<>>12&16;q=q>>>l;i=q>>>5&8;q=q>>>i;m=q>>>2&4;q=q>>>m;p=q>>>1&2;q=q>>>p;c=q>>>1&1;a=0;c=k[55560+((i|l|m|p|c)+(q>>>c)<<2)>>2]|0}if(!c){i=a;h=d}else{e=c;C=85}}if((C|0)==85)while(1){C=0;c=(k[e+4>>2]&-8)-o|0;q=c>>>0>>0;c=q?c:d;a=q?e:a;e=k[e+16+(((k[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=a;h=c;break}else{d=c;C=85}}if((i|0)!=0?h>>>0<((k[13816]|0)-o|0)>>>0:0){e=k[13818]|0;if(i>>>0>>0)zb();g=i+o|0;if(i>>>0>=g>>>0)zb();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){r=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)zb();else{k[a>>2]=0;r=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)zb();b=d+12|0;if((k[b>>2]|0)!=(i|0))zb();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;r=c;break}else zb()}while(0);c:do if(f){b=k[i+28>>2]|0;a=55560+(b<<2)|0;do if((i|0)==(k[a>>2]|0)){k[a>>2]=r;if(!r){s=j&~(1<>>0>=(k[13818]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=r;if(!r){s=j;break c}else break}else zb();while(0);a=k[13818]|0;if(r>>>0>>0)zb();k[r+24>>2]=f;b=k[i+16>>2]|0;do if(b|0)if(b>>>0>>0)zb();else{k[r+16>>2]=b;k[b+24>>2]=r;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[13818]|0)>>>0)zb();else{k[r+20>>2]=b;k[b+24>>2]=r;s=j;break}else s=j}else s=j;while(0);do if(h>>>0>=16){k[i+4>>2]=o|3;k[g+4>>2]=h|1;k[g+h>>2]=h;b=h>>>3;if(h>>>0<256){c=55296+(b<<1<<2)|0;a=k[13814]|0;b=1<>2]|0;if(a>>>0<(k[13818]|0)>>>0)zb();else{x=a;y=b}}else{k[13814]=a|b;x=c;y=c+8|0}k[y>>2]=g;k[x+12>>2]=g;k[g+8>>2]=x;k[g+12>>2]=c;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;c=55560+(b<<2)|0;k[g+28>>2]=b;a=g+16|0;k[a+4>>2]=0;k[a>>2]=0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=k[c>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(h|0)){C=139;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){C=136;break}else{a=a<<1;d=b}}if((C|0)==136)if(c>>>0<(k[13818]|0)>>>0)zb();else{k[c>>2]=g;k[g+24>>2]=d;k[g+12>>2]=g;k[g+8>>2]=g;break}else if((C|0)==139){b=d+8|0;a=k[b>>2]|0;J=k[13818]|0;if(a>>>0>=J>>>0&d>>>0>=J>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=d;k[g+24>>2]=0;break}else zb()}}else{J=h+o|0;k[i+4>>2]=J|3;J=i+J+4|0;k[J>>2]=k[J>>2]|1}while(0);J=i+8|0;u=K;return J|0}}}else o=-1;while(0);c=k[13816]|0;if(c>>>0>=o>>>0){b=c-o|0;a=k[13819]|0;if(b>>>0>15){J=a+o|0;k[13819]=J;k[13816]=b;k[J+4>>2]=b|1;k[J+b>>2]=b;k[a+4>>2]=o|3}else{k[13816]=0;k[13819]=0;k[a+4>>2]=c|3;J=a+c+4|0;k[J>>2]=k[J>>2]|1}J=a+8|0;u=K;return J|0}g=k[13817]|0;if(g>>>0>o>>>0){H=g-o|0;k[13817]=H;J=k[13820]|0;I=J+o|0;k[13820]=I;k[I+4>>2]=H|1;k[J+4>>2]=o|3;J=J+8|0;u=K;return J|0}if(!(k[13932]|0)){k[13934]=4096;k[13933]=4096;k[13935]=-1;k[13936]=-1;k[13937]=0;k[13925]=0;a=n&-16^1431655768;k[n>>2]=a;k[13932]=a;a=4096}else a=k[13934]|0;h=o+48|0;i=o+47|0;f=a+i|0;e=0-a|0;j=f&e;if(j>>>0<=o>>>0){J=0;u=K;return J|0}a=k[13924]|0;if(a|0?(x=k[13922]|0,y=x+j|0,y>>>0<=x>>>0|y>>>0>a>>>0):0){J=0;u=K;return J|0}d:do if(!(k[13925]&4)){c=k[13820]|0;e:do if(c){d=55704;while(1){a=k[d>>2]|0;if(a>>>0<=c>>>0?(w=d+4|0,(a+(k[w>>2]|0)|0)>>>0>c>>>0):0)break;a=k[d+8>>2]|0;if(!a){C=163;break e}else d=a}b=f-g&e;if(b>>>0<2147483647){a=s0(b|0)|0;if((a|0)==((k[d>>2]|0)+(k[w>>2]|0)|0)){if((a|0)!=(-1|0)){g=b;f=a;C=180;break d}}else{d=a;C=171}}else b=0}else C=163;while(0);do if((C|0)==163){c=s0(0)|0;if((c|0)!=(-1|0)?(b=c,t=k[13933]|0,v=t+-1|0,b=((v&b|0)==0?0:(v+b&0-t)-b|0)+j|0,t=k[13922]|0,v=b+t|0,b>>>0>o>>>0&b>>>0<2147483647):0){y=k[13924]|0;if(y|0?v>>>0<=t>>>0|v>>>0>y>>>0:0){b=0;break}a=s0(b|0)|0;if((a|0)==(c|0)){g=b;f=c;C=180;break d}else{d=a;C=171}}else b=0}while(0);do if((C|0)==171){c=0-b|0;if(!(h>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{g=b;f=d;C=180;break d}a=k[13934]|0;a=i-b+a&0-a;if(a>>>0>=2147483647){g=b;f=d;C=180;break d}if((s0(a|0)|0)==(-1|0)){s0(c|0)|0;b=0;break}else{g=a+b|0;f=d;C=180;break d}}while(0);k[13925]=k[13925]|4;C=178}else{b=0;C=178}while(0);if(((C|0)==178?j>>>0<2147483647:0)?(B=s0(j|0)|0,y=s0(0)|0,z=y-B|0,A=z>>>0>(o+40|0)>>>0,!((B|0)==(-1|0)|A^1|B>>>0>>0&((B|0)!=(-1|0)&(y|0)!=(-1|0))^1)):0){g=A?z:b;f=B;C=180}if((C|0)==180){b=(k[13922]|0)+g|0;k[13922]=b;if(b>>>0>(k[13923]|0)>>>0)k[13923]=b;j=k[13820]|0;do if(j){b=55704;while(1){a=k[b>>2]|0;c=b+4|0;d=k[c>>2]|0;if((f|0)==(a+d|0)){C=190;break}e=k[b+8>>2]|0;if(!e)break;else b=e}if(((C|0)==190?(k[b+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=a>>>0:0){k[c>>2]=d+g;J=j+8|0;J=(J&7|0)==0?0:0-J&7;I=j+J|0;J=(k[13817]|0)+(g-J)|0;k[13820]=I;k[13817]=J;k[I+4>>2]=J|1;k[I+J+4>>2]=40;k[13821]=k[13936];break}b=k[13818]|0;if(f>>>0>>0){k[13818]=f;h=f}else h=b;c=f+g|0;b=55704;while(1){if((k[b>>2]|0)==(c|0)){C=198;break}a=k[b+8>>2]|0;if(!a)break;else b=a}if((C|0)==198?(k[b+12>>2]&8|0)==0:0){k[b>>2]=f;m=b+4|0;k[m>>2]=(k[m>>2]|0)+g;m=f+8|0;m=f+((m&7|0)==0?0:0-m&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;l=m+o|0;i=b-m-o|0;k[m+4>>2]=o|3;do if((b|0)!=(j|0)){if((b|0)==(k[13819]|0)){J=(k[13816]|0)+i|0;k[13816]=J;k[13819]=l;k[l+4>>2]=J|1;k[l+J>>2]=J;break}a=k[b+4>>2]|0;if((a&3|0)==1){g=a&-8;e=a>>>3;f:do if(a>>>0>=256){f=k[b+24>>2]|0;d=k[b+12>>2]|0;do if((d|0)==(b|0)){d=b+16|0;c=d+4|0;a=k[c>>2]|0;if(!a){a=k[d>>2]|0;if(!a){H=0;break}else c=d}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;c=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;c=d}}if(c>>>0>>0)zb();else{k[c>>2]=0;H=a;break}}else{e=k[b+8>>2]|0;if(e>>>0>>0)zb();a=e+12|0;if((k[a>>2]|0)!=(b|0))zb();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;H=d;break}else zb()}while(0);if(!f)break;a=k[b+28>>2]|0;c=55560+(a<<2)|0;do if((b|0)!=(k[c>>2]|0))if(f>>>0>=(k[13818]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(b|0)&1)<<2)>>2]=H;if(!H)break f;else break}else zb();else{k[c>>2]=H;if(H|0)break;k[13815]=k[13815]&~(1<>>0>>0)zb();k[H+24>>2]=f;a=b+16|0;c=k[a>>2]|0;do if(c|0)if(c>>>0>>0)zb();else{k[H+16>>2]=c;k[c+24>>2]=H;break}while(0);a=k[a+4>>2]|0;if(!a)break;if(a>>>0<(k[13818]|0)>>>0)zb();else{k[H+20>>2]=a;k[a+24>>2]=H;break}}else{c=k[b+8>>2]|0;d=k[b+12>>2]|0;a=55296+(e<<1<<2)|0;do if((c|0)!=(a|0)){if(c>>>0>>0)zb();if((k[c+12>>2]|0)==(b|0))break;zb()}while(0);if((d|0)==(c|0)){k[13814]=k[13814]&~(1<>>0>>0)zb();a=d+8|0;if((k[a>>2]|0)==(b|0)){E=a;break}zb()}while(0);k[c+12>>2]=d;k[E>>2]=c}while(0);b=b+g|0;e=g+i|0}else e=i;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[l+4>>2]=e|1;k[l+e>>2]=e;b=e>>>3;if(e>>>0<256){c=55296+(b<<1<<2)|0;a=k[13814]|0;b=1<>2]|0;if(a>>>0>=(k[13818]|0)>>>0){I=a;J=b;break}zb()}while(0);k[J>>2]=l;k[I+12>>2]=l;k[l+8>>2]=I;k[l+12>>2]=c;break}b=e>>>8;do if(!b)b=0;else{if(e>>>0>16777215){b=31;break}I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=e>>>(b+7|0)&1|b<<1}while(0);d=55560+(b<<2)|0;k[l+28>>2]=b;a=l+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[13815]|0;c=1<>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}a=e<<((b|0)==31?0:25-(b>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){C=265;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){C=262;break}else{a=a<<1;d=b}}if((C|0)==262)if(c>>>0<(k[13818]|0)>>>0)zb();else{k[c>>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}else if((C|0)==265){b=d+8|0;a=k[b>>2]|0;J=k[13818]|0;if(a>>>0>=J>>>0&d>>>0>=J>>>0){k[a+12>>2]=l;k[b>>2]=l;k[l+8>>2]=a;k[l+12>>2]=d;k[l+24>>2]=0;break}else zb()}}else{J=(k[13817]|0)+i|0;k[13817]=J;k[13820]=l;k[l+4>>2]=J|1}while(0);J=m+8|0;u=K;return J|0}b=55704;while(1){a=k[b>>2]|0;if(a>>>0<=j>>>0?(D=a+(k[b+4>>2]|0)|0,D>>>0>j>>>0):0)break;b=k[b+8>>2]|0}e=D+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;c=f+8|0;c=(c&7|0)==0?0:0-c&7;J=f+c|0;c=g+-40-c|0;k[13820]=J;k[13817]=c;k[J+4>>2]=c|1;k[J+c+4>>2]=40;k[13821]=k[13936];c=a+4|0;k[c>>2]=27;k[b>>2]=k[13926];k[b+4>>2]=k[13927];k[b+8>>2]=k[13928];k[b+12>>2]=k[13929];k[13926]=f;k[13927]=g;k[13929]=0;k[13928]=b;b=a+24|0;do{J=b;b=b+4|0;k[b>>2]=7}while((J+8|0)>>>0>>0);if((a|0)!=(j|0)){f=a-j|0;k[c>>2]=k[c>>2]&-2;k[j+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){c=55296+(b<<1<<2)|0;a=k[13814]|0;b=1<>2]|0;if(a>>>0<(k[13818]|0)>>>0)zb();else{F=a;G=b}}else{k[13814]=a|b;F=c;G=c+8|0}k[G>>2]=j;k[F+12>>2]=j;k[j+8>>2]=F;k[j+12>>2]=c;break}b=f>>>8;if(b)if(f>>>0>16777215)c=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;c=14-(H|I|c)+(J<>>15)|0;c=f>>>(c+7|0)&1|c<<1}else c=0;d=55560+(c<<2)|0;k[j+28>>2]=c;k[j+20>>2]=0;k[e>>2]=0;b=k[13815]|0;a=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}a=f<<((c|0)==31?0:25-(c>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(f|0)){C=292;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){C=289;break}else{a=a<<1;d=b}}if((C|0)==289)if(c>>>0<(k[13818]|0)>>>0)zb();else{k[c>>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((C|0)==292){b=d+8|0;a=k[b>>2]|0;J=k[13818]|0;if(a>>>0>=J>>>0&d>>>0>=J>>>0){k[a+12>>2]=j;k[b>>2]=j;k[j+8>>2]=a;k[j+12>>2]=d;k[j+24>>2]=0;break}else zb()}}}else{J=k[13818]|0;if((J|0)==0|f>>>0>>0)k[13818]=f;k[13926]=f;k[13927]=g;k[13929]=0;k[13823]=k[13932];k[13822]=-1;b=0;do{J=55296+(b<<1<<2)|0;k[J+12>>2]=J;k[J+8>>2]=J;b=b+1|0}while((b|0)!=32);J=f+8|0;J=(J&7|0)==0?0:0-J&7;I=f+J|0;J=g+-40-J|0;k[13820]=I;k[13817]=J;k[I+4>>2]=J|1;k[I+J+4>>2]=40;k[13821]=k[13936]}while(0);b=k[13817]|0;if(b>>>0>o>>>0){H=b-o|0;k[13817]=H;J=k[13820]|0;I=J+o|0;k[13820]=I;k[I+4>>2]=H|1;k[J+4>>2]=o|3;J=J+8|0;u=K;return J|0}}J=C_()|0;k[J>>2]=12;J=0;u=K;return J|0}function $$(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;c=a+-8|0;g=k[13818]|0;if(c>>>0>>0)zb();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)zb();d=a&-8;o=c+d|0;a:do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)zb();if((j|0)==(k[13819]|0)){a=o+4|0;b=k[a>>2]|0;if((b&3|0)!=3){r=j;e=i;m=j;break}k[13816]=i;k[a>>2]=b&-2;k[j+4>>2]=i|1;k[j+i>>2]=i;return}d=a>>>3;if(a>>>0<256){b=k[j+8>>2]|0;c=k[j+12>>2]|0;a=55296+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)zb();if((k[b+12>>2]|0)!=(j|0))zb()}if((c|0)==(b|0)){k[13814]=k[13814]&~(1<>>0>>0)zb();a=c+8|0;if((k[a>>2]|0)==(j|0))f=a;else zb()}else f=c+8|0;k[b+12>>2]=c;k[f>>2]=b;r=j;e=i;m=j;break}f=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){c=j+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){h=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)zb();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)zb();a=d+12|0;if((k[a>>2]|0)!=(j|0))zb();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else zb()}while(0);if(f){a=k[j+28>>2]|0;b=55560+(a<<2)|0;do if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[13815]=k[13815]&~(1<>>0>=(k[13818]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(j|0)&1)<<2)>>2]=h;if(!h){r=j;e=i;m=j;break a}else break}else zb();while(0);c=k[13818]|0;if(h>>>0>>0)zb();k[h+24>>2]=f;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)zb();else{k[h+16>>2]=b;k[b+24>>2]=h;break}while(0);a=k[a+4>>2]|0;if(a)if(a>>>0<(k[13818]|0)>>>0)zb();else{k[h+20>>2]=a;k[a+24>>2]=h;r=j;e=i;m=j;break}else{r=j;e=i;m=j}}else{r=j;e=i;m=j}}else{r=c;e=d;m=c}while(0);if(m>>>0>=o>>>0)zb();a=o+4|0;b=k[a>>2]|0;if(!(b&1))zb();if(!(b&2)){a=k[13819]|0;if((o|0)==(k[13820]|0)){q=(k[13817]|0)+e|0;k[13817]=q;k[13820]=r;k[r+4>>2]=q|1;if((r|0)!=(a|0))return;k[13819]=0;k[13816]=0;return}if((o|0)==(a|0)){q=(k[13816]|0)+e|0;k[13816]=q;k[13819]=m;k[r+4>>2]=q|1;k[m+q>>2]=q;return}e=(b&-8)+e|0;d=b>>>3;b:do if(b>>>0>=256){f=k[o+24>>2]|0;a=k[o+12>>2]|0;do if((a|0)==(o|0)){c=o+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){n=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0<(k[13818]|0)>>>0)zb();else{k[b>>2]=0;n=a;break}}else{b=k[o+8>>2]|0;if(b>>>0<(k[13818]|0)>>>0)zb();c=b+12|0;if((k[c>>2]|0)!=(o|0))zb();d=a+8|0;if((k[d>>2]|0)==(o|0)){k[c>>2]=a;k[d>>2]=b;n=a;break}else zb()}while(0);if(f|0){a=k[o+28>>2]|0;b=55560+(a<<2)|0;do if((o|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[13815]=k[13815]&~(1<>>0>=(k[13818]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else zb();while(0);c=k[13818]|0;if(n>>>0>>0)zb();k[n+24>>2]=f;a=o+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)zb();else{k[n+16>>2]=b;k[b+24>>2]=n;break}while(0);a=k[a+4>>2]|0;if(a|0)if(a>>>0<(k[13818]|0)>>>0)zb();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}}else{b=k[o+8>>2]|0;c=k[o+12>>2]|0;a=55296+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[13818]|0)>>>0)zb();if((k[b+12>>2]|0)!=(o|0))zb()}if((c|0)==(b|0)){k[13814]=k[13814]&~(1<>>0<(k[13818]|0)>>>0)zb();a=c+8|0;if((k[a>>2]|0)==(o|0))l=a;else zb()}else l=c+8|0;k[b+12>>2]=c;k[l>>2]=b}while(0);k[r+4>>2]=e|1;k[m+e>>2]=e;if((r|0)==(k[13819]|0)){k[13816]=e;return}}else{k[a>>2]=b&-2;k[r+4>>2]=e|1;k[m+e>>2]=e}a=e>>>3;if(e>>>0<256){c=55296+(a<<1<<2)|0;b=k[13814]|0;a=1<>2]|0;if(b>>>0<(k[13818]|0)>>>0)zb();else{p=b;q=a}}else{k[13814]=b|a;p=c;q=c+8|0}k[q>>2]=r;k[p+12>>2]=r;k[r+8>>2]=p;k[r+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;a=14-(o|p|a)+(q<>>15)|0;a=e>>>(a+7|0)&1|a<<1}else a=0;d=55560+(a<<2)|0;k[r+28>>2]=a;k[r+20>>2]=0;k[r+16>>2]=0;b=k[13815]|0;c=1<>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){a=124;break}c=d+16+(b>>>31<<2)|0;a=k[c>>2]|0;if(!a){a=121;break}else{b=b<<1;d=a}}if((a|0)==121)if(c>>>0<(k[13818]|0)>>>0)zb();else{k[c>>2]=r;k[r+24>>2]=d;k[r+12>>2]=r;k[r+8>>2]=r;break}else if((a|0)==124){a=d+8|0;b=k[a>>2]|0;q=k[13818]|0;if(b>>>0>=q>>>0&d>>>0>=q>>>0){k[b+12>>2]=r;k[a>>2]=r;k[r+8>>2]=b;k[r+12>>2]=d;k[r+24>>2]=0;break}else zb()}}else{k[13815]=b|c;k[d>>2]=r;k[r+24>>2]=d;k[r+12>>2]=r;k[r+8>>2]=r}while(0);r=(k[13822]|0)+-1|0;k[13822]=r;if(!r)a=55712;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[13822]=-1;return}function a0(a,b){a=a|0;b=b|0;var c=0;if(a){c=$(b,a)|0;if((b|a)>>>0>65535)c=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1}else c=0;a=_$(c)|0;if(!a)return a|0;if(!(k[a+-4>>2]&3))return a|0;w0(a|0,0,c|0)|0;return a|0}function b0(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){b=_$(b)|0;return b|0}if(b>>>0>4294967231){b=C_()|0;k[b>>2]=12;b=0;return b|0}c=c0(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c|0){b=c+8|0;return b|0}c=_$(b)|0;if(!c){b=0;return b|0}d=k[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;r0(c|0,a|0,(d>>>0>>0?d:b)|0)|0;$$(a);b=c;return b|0}function c0(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+4|0;n=k[o>>2]|0;c=n&-8;j=a+c|0;h=k[13818]|0;d=n&3;if(!((d|0)!=1&a>>>0>=h>>>0&a>>>0>>0))zb();e=k[j+4>>2]|0;if(!(e&1))zb();if(!d){if(b>>>0<256){a=0;return a|0}if(c>>>0>=(b+4|0)>>>0?(c-b|0)>>>0<=k[13934]<<1>>>0:0)return a|0;a=0;return a|0}if(c>>>0>=b>>>0){c=c-b|0;if(c>>>0<=15)return a|0;m=a+b|0;k[o>>2]=n&1|b|2;k[m+4>>2]=c|3;o=m+c+4|0;k[o>>2]=k[o>>2]|1;d0(m,c);return a|0}if((j|0)==(k[13820]|0)){m=(k[13817]|0)+c|0;c=m-b|0;d=a+b|0;if(m>>>0<=b>>>0){a=0;return a|0}k[o>>2]=n&1|b|2;k[d+4>>2]=c|1;k[13820]=d;k[13817]=c;return a|0}if((j|0)==(k[13819]|0)){e=(k[13816]|0)+c|0;if(e>>>0>>0){a=0;return a|0}c=e-b|0;d=n&1;if(c>>>0>15){n=a+b|0;m=n+c|0;k[o>>2]=d|b|2;k[n+4>>2]=c|1;k[m>>2]=c;d=m+4|0;k[d>>2]=k[d>>2]&-2;d=n}else{k[o>>2]=d|e|2;d=a+e+4|0;k[d>>2]=k[d>>2]|1;d=0;c=0}k[13816]=c;k[13819]=d;return a|0}if(e&2|0){a=0;return a|0}l=(e&-8)+c|0;if(l>>>0>>0){a=0;return a|0}m=l-b|0;f=e>>>3;a:do if(e>>>0>=256){g=k[j+24>>2]|0;e=k[j+12>>2]|0;do if((e|0)==(j|0)){e=j+16|0;d=e+4|0;c=k[d>>2]|0;if(!c){c=k[e>>2]|0;if(!c){i=0;break}else d=e}while(1){e=c+20|0;f=k[e>>2]|0;if(f|0){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)zb();else{k[d>>2]=0;i=c;break}}else{f=k[j+8>>2]|0;if(f>>>0>>0)zb();c=f+12|0;if((k[c>>2]|0)!=(j|0))zb();d=e+8|0;if((k[d>>2]|0)==(j|0)){k[c>>2]=e;k[d>>2]=f;i=e;break}else zb()}while(0);if(g|0){c=k[j+28>>2]|0;d=55560+(c<<2)|0;do if((j|0)==(k[d>>2]|0)){k[d>>2]=i;if(!i){k[13815]=k[13815]&~(1<>>0>=(k[13818]|0)>>>0){k[g+16+(((k[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=i;if(!i)break a;else break}else zb();while(0);e=k[13818]|0;if(i>>>0>>0)zb();k[i+24>>2]=g;c=j+16|0;d=k[c>>2]|0;do if(d|0)if(d>>>0>>0)zb();else{k[i+16>>2]=d;k[d+24>>2]=i;break}while(0);c=k[c+4>>2]|0;if(c|0)if(c>>>0<(k[13818]|0)>>>0)zb();else{k[i+20>>2]=c;k[c+24>>2]=i;break}}}else{d=k[j+8>>2]|0;e=k[j+12>>2]|0;c=55296+(f<<1<<2)|0;if((d|0)!=(c|0)){if(d>>>0>>0)zb();if((k[d+12>>2]|0)!=(j|0))zb()}if((e|0)==(d|0)){k[13814]=k[13814]&~(1<>>0>>0)zb();c=e+8|0;if((k[c>>2]|0)==(j|0))g=c;else zb()}else g=e+8|0;k[d+12>>2]=e;k[g>>2]=d}while(0);c=n&1;if(m>>>0<16){k[o>>2]=l|c|2;o=a+l+4|0;k[o>>2]=k[o>>2]|1;return a|0}else{n=a+b|0;k[o>>2]=c|b|2;k[n+4>>2]=m|3;o=n+m+4|0;k[o>>2]=k[o>>2]|1;d0(n,m);return a|0}return 0} +function cD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=u;u=u+224|0;M=R+180|0;N=R+176|0;O=R+172|0;P=R+168|0;Q=R+208|0;S=R+164|0;f=R+160|0;g=R+156|0;h=R+152|0;n=R+148|0;e=R+144|0;o=R+48|0;p=R;q=R+206|0;r=R+204|0;s=R+202|0;t=R+200|0;v=R+198|0;w=R+40|0;x=R+196|0;y=R+36|0;z=R+194|0;A=R+192|0;B=R+32|0;C=R+28|0;D=R+190|0;E=R+188|0;F=R+186|0;G=R+24|0;H=R+20|0;I=R+16|0;J=R+12|0;K=R+8|0;L=R+184|0;k[N>>2]=a;k[O>>2]=b;k[P>>2]=c;j[Q>>1]=d;k[S>>2]=k[k[N>>2]>>2];k[f>>2]=k[k[S>>2]>>2];k[g>>2]=k[k[f>>2]>>2];k[y>>2]=0;k[B>>2]=0;k[C>>2]=0;k[h>>2]=k[(k[N>>2]|0)+12>>2];if(i[(k[g>>2]|0)+69>>0]|0){k[M>>2]=7;S=k[M>>2]|0;u=R;return S|0}if(k[(k[h>>2]|0)+36>>2]&32|0)k[e>>2]=24;else k[e>>2]=447;if((l[(k[P>>2]|0)+55>>0]|0)>>>2&1|0)k[e>>2]=k[e>>2]&-61;j[r>>1]=j[(k[h>>2]|0)+24>>1]|0;j[s>>1]=j[(k[h>>2]|0)+24+2>>1]|0;j[t>>1]=j[(k[h>>2]|0)+24+4>>1]|0;j[v>>1]=j[(k[h>>2]|0)+42>>1]|0;j[q>>1]=j[(k[h>>2]|0)+40>>1]|0;k[w>>2]=k[(k[h>>2]|0)+36>>2];c=k[h>>2]|0;d=k[c+4>>2]|0;S=p;k[S>>2]=k[c>>2];k[S+4>>2]=d;j[x>>1]=j[(k[h>>2]|0)+22>>1]|0;S=xC(o,k[(k[N>>2]|0)+4>>2]|0,k[(k[O>>2]|0)+44>>2]|0,m[r>>1]|0,k[e>>2]|0,k[P>>2]|0)|0;k[n>>2]=S;j[(k[h>>2]|0)+18>>1]=0;j[z>>1]=j[k[(k[P>>2]|0)+8>>2]>>1]|0;S=OC(j[z>>1]|0)|0;j[A>>1]=S;a:while(1){if(!((k[y>>2]|0)==0?(k[n>>2]|0)!=0:0))break;j[D>>1]=j[(k[n>>2]|0)+12>>1]|0;k[G>>2]=0;if((m[D>>1]|0)!=256?!(m[(k[n>>2]|0)+10>>1]&0|0):0)a=13;else a=12;if((a|0)==12?(a=0,(dD(k[P>>2]|0,m[r>>1]|0)|0)==0):0)a=13;do if((a|0)==13?(0,d=(k[n>>2]|0)+32|0,S=(k[h>>2]|0)+8|0,!(k[d>>2]&k[S>>2]|0?1:(k[d+4>>2]&k[S+4>>2]|0)!=0)):0){if(m[(k[n>>2]|0)+10>>1]&256|0?(m[(k[n>>2]|0)+12>>1]|0)==16:0)break;if((l[(k[O>>2]|0)+36>>0]&8|0?(k[(k[k[n>>2]>>2]|0)+4>>2]&1|0)==0:0)?m[D>>1]&384|0:0)break;k[(k[h>>2]|0)+36>>2]=k[w>>2];j[(k[h>>2]|0)+24>>1]=j[r>>1]|0;j[(k[h>>2]|0)+24+2>>1]=j[s>>1]|0;j[(k[h>>2]|0)+24+4>>1]=j[t>>1]|0;j[(k[h>>2]|0)+40>>1]=j[q>>1]|0;if(HC(k[g>>2]|0,k[h>>2]|0,(m[(k[h>>2]|0)+40>>1]|0)+1|0)|0)break a;c=k[n>>2]|0;e=k[(k[h>>2]|0)+48>>2]|0;d=(k[h>>2]|0)+40|0;b=j[d>>1]|0;j[d>>1]=b+1<<16>>16;k[e+((b&65535)<<2)>>2]=c;b=p;e=(k[n>>2]|0)+32|0;c=(k[h>>2]|0)+8|0;d=(k[b+4>>2]|k[e+4>>2])&~k[c+4>>2];S=k[h>>2]|0;k[S>>2]=(k[b>>2]|k[e>>2])&~k[c>>2];k[S+4>>2]=d;b:do if(!(m[D>>1]&1|0))if(!(m[D>>1]&130|0)){if(m[D>>1]&256|0){S=(k[h>>2]|0)+36|0;k[S>>2]=k[S>>2]|8;break}a=(k[h>>2]|0)+36|0;b=k[a>>2]|0;if(m[D>>1]&36|0){k[a>>2]=b|34;S=(eD(k[f>>2]|0,k[(k[O>>2]|0)+44>>2]|0,k[P>>2]|0,m[r>>1]|0,k[n>>2]|0)|0)&65535;j[(k[h>>2]|0)+24+2>>1]=S;k[C>>2]=k[n>>2];k[B>>2]=0;if(!(m[(k[n>>2]|0)+10>>1]&256))break;k[B>>2]=(k[n>>2]|0)+48;if(HC(k[g>>2]|0,k[h>>2]|0,(m[(k[h>>2]|0)+40>>1]|0)+1|0)|0)break a;c=k[B>>2]|0;d=k[(k[h>>2]|0)+48>>2]|0;e=(k[h>>2]|0)+40|0;S=j[e>>1]|0;j[e>>1]=S+1<<16>>16;k[d+((S&65535)<<2)>>2]=c;S=(k[h>>2]|0)+36|0;k[S>>2]=k[S>>2]|16;j[(k[h>>2]|0)+24+4>>1]=1;break}else{k[a>>2]=b|18;S=(eD(k[f>>2]|0,k[(k[O>>2]|0)+44>>2]|0,k[P>>2]|0,m[r>>1]|0,k[n>>2]|0)|0)&65535;j[(k[h>>2]|0)+24+4>>1]=S;k[B>>2]=k[n>>2];if(k[(k[h>>2]|0)+36>>2]&32|0)a=k[(k[(k[h>>2]|0)+48>>2]|0)+((m[(k[h>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else a=0;k[C>>2]=a;break}}else{k[J>>2]=j[(k[(k[P>>2]|0)+4>>2]|0)+(m[r>>1]<<1)>>1];S=(k[h>>2]|0)+36|0;k[S>>2]=k[S>>2]|1;if((k[J>>2]|0)!=-1){if((k[J>>2]|0)<=0)break;if(j[Q>>1]|0)break;if((m[r>>1]|0)!=((m[(k[P>>2]|0)+50>>1]|0)-1|0))break}if((k[J>>2]|0)>=0?((l[(k[P>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){a=65536;b=k[h>>2]|0}else{a=4096;b=k[h>>2]|0}S=b+36|0;k[S>>2]=k[S>>2]|a;break}else{k[H>>2]=k[k[n>>2]>>2];S=(k[h>>2]|0)+36|0;k[S>>2]=k[S>>2]|4;if(!(k[(k[H>>2]|0)+4>>2]&2048)){if(!(k[(k[H>>2]|0)+20>>2]|0))break;if(!(k[k[(k[H>>2]|0)+20>>2]>>2]|0))break;S=k[k[(k[H>>2]|0)+20>>2]>>2]|0;S=(Hv(S,((S|0)<0)<<31>>31)|0)<<16>>16;k[G>>2]=S;break}k[G>>2]=46;k[I>>2]=0;while(1){if((k[I>>2]|0)>=((m[(k[h>>2]|0)+40>>1]|0)-1|0))break b;if(k[(k[(k[h>>2]|0)+48>>2]|0)+(k[I>>2]<<2)>>2]|0?(k[k[(k[(k[h>>2]|0)+48>>2]|0)+(k[I>>2]<<2)>>2]>>2]|0)==(k[H>>2]|0):0)k[G>>2]=0;k[I>>2]=(k[I>>2]|0)+1}}while(0);do if(!(k[(k[h>>2]|0)+36>>2]&2|0)){d=(k[h>>2]|0)+24|0;S=(j[d>>1]|0)+1<<16>>16;j[d>>1]=S;k[K>>2]=S&65535;if((j[(k[n>>2]|0)+8>>1]|0)<=0?(j[(k[(k[P>>2]|0)+4>>2]|0)+(m[r>>1]<<1)>>1]|0)>=0:0){S=(k[h>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)+(j[(k[n>>2]|0)+8>>1]|0);S=(k[h>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)-(k[G>>2]|0);break}S=(k[h>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)+((j[(k[(k[P>>2]|0)+8>>2]|0)+(k[K>>2]<<1)>>1]|0)-(j[(k[(k[P>>2]|0)+8>>2]|0)+((k[K>>2]|0)-1<<1)>>1]|0));if(m[D>>1]&256|0){S=(k[h>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)+10}}else fD(k[f>>2]|0,k[N>>2]|0,k[C>>2]|0,k[B>>2]|0,k[h>>2]|0)|0;while(0);j[E>>1]=(j[(k[h>>2]|0)+22>>1]|0)+1+(((j[(k[P>>2]|0)+48>>1]|0)*15|0)/(j[(k[(k[O>>2]|0)+16>>2]|0)+40>>1]|0)|0);S=LC(j[A>>1]|0,j[E>>1]|0)|0;j[(k[h>>2]|0)+20>>1]=S;if(!(k[(k[h>>2]|0)+36>>2]&320)){S=LC(j[(k[h>>2]|0)+20>>1]|0,(j[(k[h>>2]|0)+22>>1]|0)+16&65535)|0;j[(k[h>>2]|0)+20>>1]=S}j[F>>1]=j[(k[h>>2]|0)+22>>1]|0;S=(k[h>>2]|0)+20|0;j[S>>1]=(j[S>>1]|0)+((j[Q>>1]|0)+(k[G>>2]|0));S=(k[h>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)+((j[Q>>1]|0)+(k[G>>2]|0));$C(k[(k[N>>2]|0)+4>>2]|0,k[h>>2]|0,j[z>>1]|0);S=UC(k[N>>2]|0,k[h>>2]|0)|0;k[y>>2]=S;S=(k[(k[h>>2]|0)+36>>2]&2|0)!=0;j[(S?k[h>>2]|0:k[h>>2]|0)+22>>1]=S?j[x>>1]|0:j[F>>1]|0;if((k[(k[h>>2]|0)+36>>2]&16|0)==0?(m[(k[h>>2]|0)+24>>1]|0)<(m[(k[P>>2]|0)+52>>1]|0):0)cD(k[N>>2]|0,k[O>>2]|0,k[P>>2]|0,(j[Q>>1]|0)+(k[G>>2]|0)&65535)|0;j[(k[h>>2]|0)+22>>1]=j[x>>1]|0}while(0);S=yC(o)|0;k[n>>2]=S}J=p;K=k[J+4>>2]|0;S=k[h>>2]|0;k[S>>2]=k[J>>2];k[S+4>>2]=K;j[(k[h>>2]|0)+24>>1]=j[r>>1]|0;j[(k[h>>2]|0)+24+2>>1]=j[s>>1]|0;j[(k[h>>2]|0)+24+4>>1]=j[t>>1]|0;j[(k[h>>2]|0)+42>>1]=j[v>>1]|0;k[(k[h>>2]|0)+36>>2]=k[w>>2];j[(k[h>>2]|0)+22>>1]=j[x>>1]|0;j[(k[h>>2]|0)+40>>1]=j[q>>1]|0;if(((((m[r>>1]|0)==(m[v>>1]|0)?((m[r>>1]|0)+1|0)<(m[(k[P>>2]|0)+50>>1]|0):0)?((l[(k[P>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(j[(k[(k[P>>2]|0)+8>>2]|0)+((m[r>>1]|0)+1<<1)>>1]|0)>=42:0)?(S=HC(k[g>>2]|0,k[h>>2]|0,(m[(k[h>>2]|0)+40>>1]|0)+1|0)|0,k[y>>2]=S,(S|0)==0):0){K=(k[h>>2]|0)+24|0;j[K>>1]=(j[K>>1]|0)+1<<16>>16;K=(k[h>>2]|0)+42|0;j[K>>1]=(j[K>>1]|0)+1<<16>>16;K=k[(k[h>>2]|0)+48>>2]|0;J=(k[h>>2]|0)+40|0;S=j[J>>1]|0;j[J>>1]=S+1<<16>>16;k[K+((S&65535)<<2)>>2]=0;S=(k[h>>2]|0)+36|0;k[S>>2]=k[S>>2]|32768;j[L>>1]=(j[(k[(k[P>>2]|0)+8>>2]|0)+(m[r>>1]<<1)>>1]|0)-(j[(k[(k[P>>2]|0)+8>>2]|0)+((m[r>>1]|0)+1<<1)>>1]|0);S=(k[h>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)-(j[L>>1]|0);j[L>>1]=(j[L>>1]|0)+5;cD(k[N>>2]|0,k[O>>2]|0,k[P>>2]|0,(j[L>>1]|0)+(j[Q>>1]|0)&65535)|0;j[(k[h>>2]|0)+22>>1]=j[x>>1]|0;j[(k[h>>2]|0)+24>>1]=j[r>>1]|0;j[(k[h>>2]|0)+42>>1]=j[v>>1]|0;k[(k[h>>2]|0)+36>>2]=k[w>>2]}k[M>>2]=k[y>>2];S=k[M>>2]|0;u=R;return S|0}function dD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=j[(k[(k[d>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1];if((k[e>>2]|0)>=0){k[c>>2]=l[(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(k[e>>2]<<4)+12>>0];g=k[c>>2]|0;u=f;return g|0}if((k[e>>2]|0)==-1){k[c>>2]=1;g=k[c>>2]|0;u=f;return g|0}else{k[c>>2]=0;g=k[c>>2]|0;u=f;return g|0}return 0}function eD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;q=x+36|0;r=x+32|0;s=x+28|0;t=x+24|0;v=x+20|0;f=x+16|0;w=x+12|0;g=x+41|0;h=x+40|0;n=x+8|0;o=x+4|0;p=x;k[q>>2]=a;k[r>>2]=b;k[s>>2]=c;k[t>>2]=d;k[v>>2]=e;e=Bx(k[(k[k[v>>2]>>2]|0)+12>>2]|0)|0;k[f>>2]=e;if((k[f>>2]|0)<((m[(k[s>>2]|0)+52>>1]|0)-(k[t>>2]|0)|0))a=k[f>>2]|0;else a=(m[(k[s>>2]|0)+52>>1]|0)-(k[t>>2]|0)|0;k[f>>2]=a;k[w>>2]=1;while(1){if((k[w>>2]|0)>=(k[f>>2]|0)){a=17;break}i[h>>0]=0;k[o>>2]=k[(k[(k[(k[(k[k[v>>2]>>2]|0)+12>>2]|0)+20>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)>>2];k[p>>2]=k[(k[k[v>>2]>>2]|0)+16>>2];a=(k[p>>2]|0)+20|0;if(k[(k[p>>2]|0)+4>>2]&2048|0)k[p>>2]=k[(k[(k[k[a>>2]>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)>>2];else k[p>>2]=k[(k[(k[a>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)>>2];if((l[k[o>>2]>>0]|0)!=152){a=17;break}if((k[(k[o>>2]|0)+28>>2]|0)!=(k[r>>2]|0)){a=17;break}if((j[(k[o>>2]|0)+32>>1]|0)!=(j[(k[(k[s>>2]|0)+4>>2]|0)+((k[w>>2]|0)+(k[t>>2]|0)<<1)>>1]|0)){a=17;break}if((l[(k[(k[s>>2]|0)+28>>2]|0)+((k[w>>2]|0)+(k[t>>2]|0))>>0]|0)!=(l[(k[(k[s>>2]|0)+28>>2]|0)+(k[t>>2]|0)>>0]|0)){a=17;break}e=k[p>>2]|0;e=Gz(e,Aw(k[o>>2]|0)|0)|0;i[g>>0]=e;e=Jw(k[(k[s>>2]|0)+12>>2]|0,j[(k[o>>2]|0)+32>>1]|0)|0;i[h>>0]=e;if((i[g>>0]|0)!=(i[h>>0]|0)){a=17;break}e=Hz(k[q>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[n>>2]=e;if(!(k[n>>2]|0)){a=17;break}if(lh(k[k[n>>2]>>2]|0,k[(k[(k[s>>2]|0)+32>>2]|0)+((k[w>>2]|0)+(k[t>>2]|0)<<2)>>2]|0)|0){a=17;break}k[w>>2]=(k[w>>2]|0)+1}if((a|0)==17){u=x;return k[w>>2]|0}return 0}function fD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=u;u=u+32|0;i=n+16|0;l=n+12|0;m=n+8|0;f=n+4|0;g=n;h=n+28|0;k[n+24>>2]=a;k[n+20>>2]=b;k[i>>2]=c;k[l>>2]=d;k[m>>2]=e;k[f>>2]=0;k[g>>2]=j[(k[m>>2]|0)+22>>1];e=gD(k[i>>2]|0,k[g>>2]&65535)|0;j[h>>1]=e;e=gD(k[l>>2]|0,j[h>>1]|0)|0;j[h>>1]=e;if((k[i>>2]|0?(k[l>>2]|0?(j[(k[i>>2]|0)+8>>1]|0)>0:0):0)?(j[(k[l>>2]|0)+8>>1]|0)>0:0)j[h>>1]=(j[h>>1]|0)-20;k[g>>2]=(k[g>>2]|0)-(((k[i>>2]|0)!=0&1)+((k[l>>2]|0)!=0&1));if((j[h>>1]|0)<10)j[h>>1]=10;if((j[h>>1]|0)>=(k[g>>2]|0)){l=k[g>>2]|0;l=l&65535;m=k[m>>2]|0;m=m+22|0;j[m>>1]=l;m=k[f>>2]|0;u=n;return m|0}k[g>>2]=j[h>>1];l=k[g>>2]|0;l=l&65535;m=k[m>>2]|0;m=m+22|0;j[m>>1]=l;m=k[f>>2]|0;u=n;return m|0}function gD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e;f=e+6|0;d=e+4|0;k[c>>2]=a;j[f>>1]=b;j[d>>1]=j[f>>1]|0;do if(k[c>>2]|0){a=k[c>>2]|0;if((j[(k[c>>2]|0)+8>>1]|0)<=0){j[d>>1]=(j[d>>1]|0)+(j[a+8>>1]|0);break}if(!(m[a+10>>1]&0))j[d>>1]=(j[d>>1]|0)-20}while(0);u=e;return j[d>>1]|0}function hD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(((l[k[e>>2]>>0]|0|0)==152?(k[(k[e>>2]|0)+28>>2]|0)==(k[(k[(k[d>>2]|0)+24>>2]|0)+4>>2]|0):0)?((cz(k[k[(k[d>>2]|0)+24>>2]>>2]|0,j[(k[e>>2]|0)+32>>1]|0)|0)<<16>>16|0)<0:0){i[(k[d>>2]|0)+20>>0]=1;k[c>>2]=2;e=k[c>>2]|0;u=f;return e|0}k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}function iD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(gx(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=1;g=k[d>>2]|0;u=h;return g|0}do if((l[k[f>>2]>>0]|0|0)==27){if((iD(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)==0?(iD(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0)|0)==0:0)break;k[d>>2]=1;g=k[d>>2]|0;u=h;return g|0}while(0);if((((l[k[f>>2]>>0]|0|0)==35?(gx(k[(k[e>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)==0:0)?(l[k[e>>2]>>0]|0|0)!=34:0)?(l[k[e>>2]>>0]|0|0)!=29:0){k[d>>2]=1;g=k[d>>2]|0;u=h;return g|0}k[d>>2]=0;g=k[d>>2]|0;u=h;return g|0}function jD(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=u;u=u+96|0;I=J+8|0;F=J+80|0;G=J+76|0;H=J+72|0;h=J;n=J+68|0;o=J+64|0;p=J+60|0;q=J+56|0;r=J+52|0;s=J+48|0;t=J+44|0;v=J+40|0;w=J+36|0;x=J+32|0;y=J+28|0;z=J+24|0;A=J+84|0;B=J+20|0;C=J+16|0;D=J+86|0;E=J+12|0;k[G>>2]=a;k[H>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;j[A>>1]=0;k[s>>2]=0;k[q>>2]=0;k[x>>2]=k[(k[H>>2]|0)+20>>2];while(1){if((k[q>>2]|0)>=(k[(k[H>>2]|0)+12>>2]|0))break;if((((k[(k[x>>2]|0)+20>>2]|0)==(k[(k[n>>2]|0)+44>>2]|0)?(f=(k[x>>2]|0)+32|0,g=h,!(k[f>>2]&k[g>>2]|0?1:(k[f+4>>2]&k[g+4>>2]|0)!=0)):0)?m[(k[x>>2]|0)+12>>1]&-2433|0:0)?(m[(k[x>>2]|0)+10>>1]&0|0)==0:0)k[s>>2]=(k[s>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+1;k[x>>2]=(k[x>>2]|0)+48}k[y>>2]=0;if(k[o>>2]|0){k[B>>2]=k[k[o>>2]>>2];k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[B>>2]|0))break;k[C>>2]=k[(k[(k[o>>2]|0)+4>>2]|0)+((k[q>>2]|0)*20|0)>>2];if((l[k[C>>2]>>0]|0)!=152)break;if((k[(k[C>>2]|0)+28>>2]|0)!=(k[(k[n>>2]|0)+44>>2]|0))break;k[q>>2]=(k[q>>2]|0)+1}if((k[q>>2]|0)==(k[B>>2]|0))k[y>>2]=k[B>>2]}g=im(k[k[G>>2]>>2]|0,72+((k[s>>2]|0)*20|0)+(k[y>>2]<<3)|0,0)|0;k[z>>2]=g;if(!(k[z>>2]|0)){Cl(k[G>>2]|0,22481,I);k[F>>2]=0;I=k[F>>2]|0;u=J;return I|0}k[t>>2]=(k[z>>2]|0)+72;k[v>>2]=(k[t>>2]|0)+((k[s>>2]|0)*12|0);k[w>>2]=(k[v>>2]|0)+(k[y>>2]<<3);k[k[z>>2]>>2]=k[s>>2];k[(k[z>>2]|0)+8>>2]=k[y>>2];k[(k[z>>2]|0)+4>>2]=k[t>>2];k[(k[z>>2]|0)+12>>2]=k[v>>2];k[(k[z>>2]|0)+16>>2]=k[w>>2];k[r>>2]=0;k[q>>2]=0;k[x>>2]=k[(k[H>>2]|0)+20>>2];while(1){if((k[q>>2]|0)>=(k[(k[H>>2]|0)+12>>2]|0))break;if((((k[(k[x>>2]|0)+20>>2]|0)==(k[(k[n>>2]|0)+44>>2]|0)?(G=(k[x>>2]|0)+32|0,I=h,!(k[G>>2]&k[I>>2]|0?1:(k[G+4>>2]&k[I+4>>2]|0)!=0)):0)?m[(k[x>>2]|0)+12>>1]&-2433|0:0)?(m[(k[x>>2]|0)+10>>1]&0|0)==0:0){k[(k[t>>2]|0)+((k[r>>2]|0)*12|0)>>2]=k[(k[x>>2]|0)+28>>2];k[(k[t>>2]|0)+((k[r>>2]|0)*12|0)+8>>2]=k[q>>2];I=j[(k[x>>2]|0)+12>>1]&255;i[D>>0]=I;i[D>>0]=(l[D>>0]|0)==1?2:I;if((l[D>>0]|0)==64)i[D>>0]=i[(k[x>>2]|0)+15>>0]|0;i[(k[t>>2]|0)+((k[r>>2]|0)*12|0)+4>>0]=i[D>>0]|0;if(l[D>>0]&60|0?kz(k[(k[k[x>>2]>>2]|0)+16>>2]|0)|0:0){if((k[q>>2]|0)<16)j[A>>1]=m[A>>1]|1<>2];if((l[D>>0]|0)==16)i[(k[t>>2]|0)+((k[r>>2]|0)*12|0)+4>>0]=8;if((l[D>>0]|0)==4)i[(k[t>>2]|0)+((k[r>>2]|0)*12|0)+4>>0]=32}k[r>>2]=(k[r>>2]|0)+1}k[q>>2]=(k[q>>2]|0)+1;k[x>>2]=(k[x>>2]|0)+48}k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[y>>2]|0))break;k[E>>2]=k[(k[(k[o>>2]|0)+4>>2]|0)+((k[q>>2]|0)*20|0)>>2];k[(k[v>>2]|0)+(k[q>>2]<<3)>>2]=j[(k[E>>2]|0)+32>>1];i[(k[v>>2]|0)+(k[q>>2]<<3)+4>>0]=i[(k[(k[o>>2]|0)+4>>2]|0)+((k[q>>2]|0)*20|0)+12>>0]|0;k[q>>2]=(k[q>>2]|0)+1}j[k[p>>2]>>1]=j[A>>1]|0;k[F>>2]=k[z>>2];I=k[F>>2]|0;u=J;return I|0}function kD(a,b,c,d,e,f,g,h,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;var o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=u;u=u+96|0;G=N+16|0;M=N+88|0;I=N+84|0;O=N+8|0;o=N;q=N+94|0;J=N+80|0;s=N+92|0;t=N+76|0;v=N+72|0;w=N+68|0;x=N+64|0;y=N+60|0;z=N+56|0;K=N+52|0;L=N+48|0;A=N+44|0;B=N+40|0;C=N+36|0;r=N+32|0;D=N+28|0;E=N+24|0;F=N+20|0;k[I>>2]=a;a=O;k[a>>2]=b;k[a+4>>2]=c;c=o;k[c>>2]=d;k[c+4>>2]=e;j[q>>1]=f;k[J>>2]=g;j[s>>1]=h;k[t>>2]=n;k[v>>2]=k[(k[I>>2]|0)+4>>2];k[x>>2]=k[(k[J>>2]|0)+16>>2];k[K>>2]=0;k[L>>2]=k[(k[I>>2]|0)+12>>2];k[A>>2]=k[k[k[I>>2]>>2]>>2];k[B>>2]=(k[(k[k[I>>2]>>2]|0)+4>>2]|0)+8+((l[(k[L>>2]|0)+16>>0]|0)*72|0);k[C>>2]=k[k[J>>2]>>2];k[k[t>>2]>>2]=0;g=O;h=k[g+4>>2]|0;n=k[L>>2]|0;k[n>>2]=k[g>>2];k[n+4>>2]=h;k[w>>2]=k[(k[J>>2]|0)+4>>2];k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[C>>2]|0))break;k[r>>2]=(k[(k[v>>2]|0)+20>>2]|0)+((k[(k[w>>2]|0)+8>>2]|0)*48|0);i[(k[w>>2]|0)+5>>0]=0;h=(k[r>>2]|0)+32|0;n=o;O=(k[r>>2]|0)+32|0;if(((k[h>>2]&k[n>>2]|0)==(k[O>>2]|0)?(k[h+4>>2]&k[n+4>>2]|0)==(k[O+4>>2]|0):0)?(m[(k[r>>2]|0)+12>>1]&m[q>>1]|0)==0:0)i[(k[w>>2]|0)+5>>0]=1;k[y>>2]=(k[y>>2]|0)+1;k[w>>2]=(k[w>>2]|0)+12}w0(k[x>>2]|0,0,k[C>>2]<<3|0)|0;k[(k[J>>2]|0)+24>>2]=0;k[(k[J>>2]|0)+20>>2]=0;k[(k[J>>2]|0)+32>>2]=0;p[(k[J>>2]|0)+40>>3]=5.e+98;h=(k[J>>2]|0)+48|0;k[h>>2]=25;k[h+4>>2]=0;k[(k[J>>2]|0)+56>>2]=0;h=(k[B>>2]|0)+56|0;n=k[h+4>>2]|0;O=(k[J>>2]|0)+64|0;k[O>>2]=k[h>>2];k[O+4>>2]=n;O=lD(k[A>>2]|0,k[(k[B>>2]|0)+16>>2]|0,k[J>>2]|0)|0;k[K>>2]=O;if(k[K>>2]|0){k[M>>2]=k[K>>2];O=k[M>>2]|0;u=N;return O|0}k[z>>2]=-1;k[y>>2]=0;while(1){a=k[L>>2]|0;if((k[y>>2]|0)>=(k[C>>2]|0))break;k[(k[a+48>>2]|0)+(k[y>>2]<<2)>>2]=0;k[y>>2]=(k[y>>2]|0)+1}j[a+24+6>>1]=0;k[w>>2]=k[(k[J>>2]|0)+4>>2];k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[C>>2]|0))break;O=(k[(k[x>>2]|0)+(k[y>>2]<<3)>>2]|0)-1|0;k[D>>2]=O;if((O|0)>=0){k[F>>2]=k[(k[w>>2]|0)+8>>2];if((k[F>>2]|0)<0?1:(k[D>>2]|0)>=(k[C>>2]|0)){H=19;break}if((k[F>>2]|0)>=(k[(k[v>>2]|0)+12>>2]|0)){H=19;break}if(k[(k[(k[L>>2]|0)+48>>2]|0)+(k[D>>2]<<2)>>2]|0){H=19;break}if(!(l[(k[w>>2]|0)+5>>0]|0)){H=19;break}k[E>>2]=(k[(k[v>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0);h=(k[E>>2]|0)+32|0;O=k[L>>2]|0;g=O;n=k[g+4>>2]|k[h+4>>2];k[O>>2]=k[g>>2]|k[h>>2];k[O+4>>2]=n;k[(k[(k[L>>2]|0)+48>>2]|0)+(k[D>>2]<<2)>>2]=k[E>>2];if((k[D>>2]|0)>(k[z>>2]|0))k[z>>2]=k[D>>2];if((k[D>>2]|0)<16?l[(k[x>>2]|0)+(k[y>>2]<<3)+4>>0]|0:0){O=(k[L>>2]|0)+24+6|0;j[O>>1]=m[O>>1]|1<>2]}if(m[(k[E>>2]|0)+12>>1]&1|0){k[(k[J>>2]|0)+32>>2]=0;O=(k[J>>2]|0)+56|0;k[O>>2]=k[O>>2]&-2;k[k[t>>2]>>2]=1}}k[y>>2]=(k[y>>2]|0)+1;k[w>>2]=(k[w>>2]|0)+12}if((H|0)==19){k[K>>2]=1;O=k[A>>2]|0;k[G>>2]=k[k[(k[B>>2]|0)+16>>2]>>2];Cl(O,34420,G);k[M>>2]=k[K>>2];O=k[M>>2]|0;u=N;return O|0}O=(k[L>>2]|0)+24+6|0;j[O>>1]=m[O>>1]&~m[s>>1];j[(k[L>>2]|0)+40>>1]=(k[z>>2]|0)+1;k[(k[L>>2]|0)+24>>2]=k[(k[J>>2]|0)+20>>2];i[(k[L>>2]|0)+24+4>>0]=k[(k[J>>2]|0)+28>>2];k[(k[J>>2]|0)+28>>2]=0;k[(k[L>>2]|0)+24+8>>2]=k[(k[J>>2]|0)+24>>2];if(k[(k[J>>2]|0)+32>>2]|0)a=k[(k[J>>2]|0)+8>>2]|0;else a=0;i[(k[L>>2]|0)+24+5>>0]=a;j[(k[L>>2]|0)+18>>1]=0;O=mD(+p[(k[J>>2]|0)+40>>3])|0;j[(k[L>>2]|0)+20>>1]=O;O=(k[J>>2]|0)+48|0;O=Hv(k[O>>2]|0,k[O+4>>2]|0)|0;j[(k[L>>2]|0)+22>>1]=O;O=(k[L>>2]|0)+36|0;H=k[O>>2]|0;k[O>>2]=k[(k[J>>2]|0)+56>>2]&1|0?H|4096:H&-4097;O=UC(k[I>>2]|0,k[L>>2]|0)|0;k[K>>2]=O;if(i[(k[L>>2]|0)+24+4>>0]|0){ie(k[(k[L>>2]|0)+24+8>>2]|0);i[(k[L>>2]|0)+24+4>>0]=0}k[M>>2]=k[K>>2];O=k[M>>2]|0;u=N;return O|0}function lD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+32|0;h=i+8|0;g=i;d=i+28|0;l=i+24|0;j=i+20|0;e=i+16|0;f=i+12|0;k[d>>2]=a;k[l>>2]=b;k[j>>2]=c;c=(pw(k[k[d>>2]>>2]|0,k[l>>2]|0)|0)+8|0;k[e>>2]=k[c>>2];c=Wb[k[(k[k[e>>2]>>2]|0)+12>>2]&255](k[e>>2]|0,k[j>>2]|0)|0;k[f>>2]=c;do if(k[f>>2]|0){if((k[f>>2]|0)==7){Yd(k[k[d>>2]>>2]|0);break}a=k[d>>2]|0;if(k[(k[e>>2]|0)+8>>2]|0){k[h>>2]=k[(k[e>>2]|0)+8>>2];Cl(a,21240,h);break}else{l=fj(k[f>>2]|0)|0;k[g>>2]=l;Cl(a,21240,g);break}}while(0);ie(k[(k[e>>2]|0)+8>>2]|0);k[(k[e>>2]|0)+8>>2]=0;u=i;return k[(k[d>>2]|0)+36>>2]|0}function mD(a){a=+a;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+32|0;b=f+18|0;c=f+8|0;d=f;e=f+16|0;p[c>>3]=a;if(+p[c>>3]<=1.0){j[b>>1]=0;e=j[b>>1]|0;u=f;return e|0}if(+p[c>>3]<=2.0e9){a=+p[c>>3];e=Hv(~~a>>>0,+O(a)>=1.0?(a>0.0?~~+aa(+N(a/4294967296.0),4294967295.0)>>>0:~~+_((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;j[b>>1]=e;e=j[b>>1]|0;u=f;return e|0}else{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];d=p0(k[d>>2]|0,k[d+4>>2]|0,52)|0;d=h0(d|0,M|0,1022,0)|0;j[e>>1]=d;j[b>>1]=(j[e>>1]|0)*10;e=j[b>>1]|0;u=f;return e|0}return 0}function nD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+48|0;r=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;f=s+16|0;q=s+12|0;g=s+8|0;h=s+4|0;i=s;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[f>>2]=e;k[g>>2]=k[(k[(k[p>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2];k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[k[n>>2]>>2]|0)){a=10;break}e=Iw(k[(k[(k[n>>2]|0)+4>>2]|0)+((k[q>>2]|0)*20|0)>>2]|0)|0;k[h>>2]=e;if(((((l[k[h>>2]>>0]|0)==152?(j[(k[h>>2]|0)+32>>1]|0)==(j[(k[(k[p>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0):0)?(k[(k[h>>2]|0)+28>>2]|0)==(k[o>>2]|0):0)?(e=Bw(k[m>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+((k[q>>2]|0)*20|0)>>2]|0)|0,k[i>>2]=e,k[i>>2]|0):0)?0==(lh(k[k[i>>2]>>2]|0,k[g>>2]|0)|0):0){a=8;break}k[q>>2]=(k[q>>2]|0)+1}if((a|0)==8){k[r>>2]=k[q>>2];r=k[r>>2]|0;u=s;return r|0}else if((a|0)==10){k[r>>2]=-1;r=k[r>>2]|0;u=s;return r|0}return 0}function oD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=u;u=u+256|0;E=oa+228|0;Q=oa+224|0;$=oa+220|0;d=oa+216|0;la=oa+212|0;ma=oa+208|0;na=oa+204|0;f=oa+40|0;g=oa+32|0;h=oa+24|0;n=oa+200|0;o=oa+196|0;p=oa+192|0;q=oa+188|0;r=oa+184|0;s=oa+180|0;t=oa+240|0;e=oa+16|0;v=oa+176|0;w=oa+172|0;x=oa+168|0;y=oa+164|0;z=oa+236|0;A=oa+160|0;B=oa+156|0;C=oa+234|0;D=oa+152|0;F=oa+148|0;G=oa+144|0;H=oa+140|0;I=oa+136|0;J=oa+132|0;K=oa+128|0;L=oa+124|0;N=oa+120|0;O=oa+116|0;P=oa+112|0;R=oa+108|0;S=oa+232|0;T=oa+104|0;U=oa+239|0;V=oa+238|0;W=oa+100|0;X=oa+96|0;Y=oa+92|0;Z=oa+88|0;_=oa+84|0;aa=oa+8|0;ba=oa;ca=oa+80|0;da=oa+76|0;ea=oa+72|0;fa=oa+68|0;ga=oa+64|0;ha=oa+60|0;ia=oa+56|0;ja=oa+52|0;ka=oa+48|0;k[E>>2]=a;k[Q>>2]=b;k[$>>2]=c;k[d>>2]=k[k[Q>>2]>>2];c=h;k[c>>2]=0;k[c+4>>2]=0;k[n>>2]=0;k[o>>2]=0;k[p>>2]=0;k[r>>2]=k[k[d>>2]>>2];k[s>>2]=k[k[r>>2]>>2];if(i[(k[s>>2]|0)+69>>0]|0){u=oa;return}k[la>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[$>>2]|0)*48|0);k[ma>>2]=(k[d>>2]|0)+488;k[na>>2]=k[k[la>>2]>>2];c=JC(k[ma>>2]|0,k[(k[na>>2]|0)+12>>2]|0)|0;d=f;k[d>>2]=c;k[d+4>>2]=M;k[q>>2]=l[k[na>>2]>>0];do if((k[q>>2]|0)==33){if(Az(k[r>>2]|0,k[na>>2]|0)|0){u=oa;return}a=k[ma>>2]|0;b=(k[na>>2]|0)+20|0;if(k[(k[na>>2]|0)+4>>2]&2048|0){b=KC(a,k[b>>2]|0)|0;a=k[la>>2]|0;c=M;break}else{b=hC(a,k[b>>2]|0)|0;a=k[la>>2]|0;c=M;break}}else if((k[q>>2]|0)==34){a=k[la>>2]|0;b=0;c=0;break}else{b=JC(k[ma>>2]|0,k[(k[na>>2]|0)+16>>2]|0)|0;a=k[la>>2]|0;c=M;break}while(0);d=a+32|0;k[d>>2]=b;k[d+4>>2]=c;c=JC(k[ma>>2]|0,k[na>>2]|0)|0;d=g;k[d>>2]=c;k[d+4>>2]=M;if(k[(k[na>>2]|0)+4>>2]&1|0){a=lC(k[ma>>2]|0,j[(k[na>>2]|0)+36>>1]|0)|0;b=e;k[b>>2]=a;k[b+4>>2]=M;b=e;a=g;c=k[a+4>>2]|k[b+4>>2];d=g;k[d>>2]=k[a>>2]|k[b>>2];k[d+4>>2]=c;d=e;d=h0(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;e=h;k[e>>2]=d;k[e+4>>2]=M}d=g;a=k[d+4>>2]|0;e=(k[la>>2]|0)+40|0;k[e>>2]=k[d>>2];k[e+4>>2]=a;k[(k[la>>2]|0)+20>>2]=-1;k[(k[la>>2]|0)+16>>2]=-1;j[(k[la>>2]|0)+12>>1]=0;e=(pD(k[q>>2]|0)|0)!=0;a=k[na>>2]|0;a:do if(e){H=Iw(k[a+12>>2]|0)|0;k[x>>2]=H;H=Iw(k[(k[na>>2]|0)+16>>2]|0)|0;k[y>>2]=H;H=(k[la>>2]|0)+32|0;I=f;j[z>>1]=((k[H>>2]&k[I>>2]|0)==0?(k[H+4>>2]&k[I+4>>2]|0)==0:0)?8191:2048;if((k[(k[la>>2]|0)+24>>2]|0)>0)k[x>>2]=k[(k[(k[(k[x>>2]|0)+20>>2]|0)+4>>2]|0)+(((k[(k[la>>2]|0)+24>>2]|0)-1|0)*20|0)>>2];I=f;if(qD(k[E>>2]|0,k[q>>2]|0,k[I>>2]|0,k[I+4>>2]|0,k[x>>2]|0,v,w)|0){k[(k[la>>2]|0)+20>>2]=k[v>>2];k[(k[la>>2]|0)+28>>2]=k[w>>2];I=(rD(k[q>>2]|0)|0)&65535;j[(k[la>>2]|0)+12>>1]=I&m[z>>1]}if((k[q>>2]|0)==29){I=(k[la>>2]|0)+10|0;j[I>>1]=m[I>>1]|2048}if(k[y>>2]|0?(I=(k[la>>2]|0)+32|0,qD(k[E>>2]|0,k[q>>2]|0,k[I>>2]|0,k[I+4>>2]|0,k[y>>2]|0,v,w)|0):0){j[C>>1]=0;if((k[(k[la>>2]|0)+20>>2]|0)>=0){I=ex(k[s>>2]|0,k[na>>2]|0,0)|0;k[B>>2]=I;if(i[(k[s>>2]|0)+69>>0]|0){Yk(k[s>>2]|0,k[B>>2]|0);u=oa;return}I=sD(k[Q>>2]|0,k[B>>2]|0,3)|0;k[D>>2]=I;if(!(k[D>>2]|0)){u=oa;return}k[A>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[D>>2]|0)*48|0);tD(k[Q>>2]|0,k[D>>2]|0,k[$>>2]|0);if((k[q>>2]|0)==29){I=(k[A>>2]|0)+10|0;j[I>>1]=m[I>>1]|2048}k[la>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[$>>2]|0)*48|0);I=(k[la>>2]|0)+10|0;j[I>>1]=m[I>>1]|8;if(uD(k[r>>2]|0,k[B>>2]|0)|0){I=(k[la>>2]|0)+12|0;j[I>>1]=m[I>>1]|2048;j[C>>1]=2048}}else{k[B>>2]=k[na>>2];k[A>>2]=k[la>>2]}vD(k[r>>2]|0,k[B>>2]|0);k[(k[A>>2]|0)+20>>2]=k[v>>2];k[(k[A>>2]|0)+28>>2]=k[w>>2];F=f;I=h;H=k[F+4>>2]|k[I+4>>2];G=(k[A>>2]|0)+32|0;k[G>>2]=k[F>>2]|k[I>>2];k[G+4>>2]=H;G=g;H=k[G+4>>2]|0;I=(k[A>>2]|0)+40|0;k[I>>2]=k[G>>2];k[I+4>>2]=H;I=(rD(l[k[B>>2]>>0]|0)|0)&65535;j[(k[A>>2]|0)+12>>1]=I+(m[C>>1]|0)&m[z>>1]}}else{if((l[a>>0]|0)==32?(l[(k[Q>>2]|0)+8>>0]|0)==28:0){k[F>>2]=k[(k[na>>2]|0)+20>>2];k[G>>2]=0;while(1){if((k[G>>2]|0)>=2)break a;B=k[r>>2]|0;C=l[34446+(k[G>>2]|0)>>0]|0;D=ex(k[s>>2]|0,k[(k[na>>2]|0)+12>>2]|0,0)|0;D=zt(B,C,D,ex(k[s>>2]|0,k[(k[(k[F>>2]|0)+4>>2]|0)+((k[G>>2]|0)*20|0)>>2]|0,0)|0,0)|0;k[H>>2]=D;wD(k[H>>2]|0,k[na>>2]|0);D=sD(k[Q>>2]|0,k[H>>2]|0,3)|0;k[I>>2]=D;oD(k[E>>2]|0,k[Q>>2]|0,k[I>>2]|0);k[la>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[$>>2]|0)*48|0);tD(k[Q>>2]|0,k[I>>2]|0,k[$>>2]|0);k[G>>2]=(k[G>>2]|0)+1}}if((l[k[na>>2]>>0]|0)==27){xD(k[E>>2]|0,k[Q>>2]|0,k[$>>2]|0);k[la>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[$>>2]|0)*48|0)}}while(0);if((l[(k[Q>>2]|0)+8>>0]|0)==28?yD(k[r>>2]|0,k[na>>2]|0,n,o,p)|0:0){j[S>>1]=259;k[J>>2]=k[(k[(k[(k[na>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];S=ex(k[s>>2]|0,k[n>>2]|0,0)|0;k[K>>2]=S;b:do if(k[p>>2]|0?(i[(k[k[r>>2]>>2]|0)+69>>0]|0)==0:0){S=(k[la>>2]|0)+10|0;j[S>>1]=m[S>>1]|1024;k[T>>2]=0;while(1){S=i[(k[(k[n>>2]|0)+8>>2]|0)+(k[T>>2]|0)>>0]|0;i[U>>0]=S;if(!(S<<24>>24))break b;i[(k[(k[n>>2]|0)+8>>2]|0)+(k[T>>2]|0)>>0]=i[U>>0]&~(l[20063+(l[U>>0]|0)>>0]&32);i[(k[(k[K>>2]|0)+8>>2]|0)+(k[T>>2]|0)>>0]=i[20458+(l[U>>0]|0)>>0]|0;k[T>>2]=(k[T>>2]|0)+1}}while(0);if(!(i[(k[s>>2]|0)+69>>0]|0)){U=k[(k[K>>2]|0)+8>>2]|0;U=U+((wd(k[(k[K>>2]|0)+8>>2]|0)|0)-1)|0;k[W>>2]=U;i[V>>0]=i[k[W>>2]>>0]|0;if(k[p>>2]|0){if((l[V>>0]|0)==64)k[o>>2]=0;i[V>>0]=i[20458+(l[V>>0]|0)>>0]|0}i[k[W>>2]>>0]=(l[V>>0]|0)+1}k[R>>2]=k[p>>2]|0?34448:34455;W=ex(k[s>>2]|0,k[J>>2]|0,0)|0;k[L>>2]=W;W=k[r>>2]|0;V=sx(k[r>>2]|0,k[L>>2]|0,k[R>>2]|0)|0;V=zt(W,41,V,k[n>>2]|0,0)|0;k[L>>2]=V;wD(k[L>>2]|0,k[na>>2]|0);V=sD(k[Q>>2]|0,k[L>>2]|0,259)|0;k[O>>2]=V;oD(k[E>>2]|0,k[Q>>2]|0,k[O>>2]|0);V=ex(k[s>>2]|0,k[J>>2]|0,0)|0;k[N>>2]=V;V=k[r>>2]|0;W=sx(k[r>>2]|0,k[N>>2]|0,k[R>>2]|0)|0;W=zt(V,40,W,k[K>>2]|0,0)|0;k[N>>2]=W;wD(k[N>>2]|0,k[na>>2]|0);W=sD(k[Q>>2]|0,k[N>>2]|0,259)|0;k[P>>2]=W;oD(k[E>>2]|0,k[Q>>2]|0,k[P>>2]|0);k[la>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[$>>2]|0)*48|0);if(k[o>>2]|0){tD(k[Q>>2]|0,k[O>>2]|0,k[$>>2]|0);tD(k[Q>>2]|0,k[P>>2]|0,k[$>>2]|0)}}if(((l[(k[Q>>2]|0)+8>>0]|0)==28?zD(k[na>>2]|0,t)|0:0)?(k[Y>>2]=k[k[(k[(k[na>>2]|0)+20>>2]|0)+4>>2]>>2],k[Z>>2]=k[(k[(k[(k[na>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],V=JC(k[ma>>2]|0,k[Y>>2]|0)|0,W=ba,k[W>>2]=V,k[W+4>>2]=M,ma=JC(k[ma>>2]|0,k[Z>>2]|0)|0,W=aa,k[W>>2]=ma,k[W+4>>2]=M,W=ba,ma=aa,(k[W>>2]&k[ma>>2]|0)==0?(k[W+4>>2]&k[ma+4>>2]|0)==0:0):0){ma=k[r>>2]|0;ma=zt(ma,30,0,ex(k[s>>2]|0,k[Y>>2]|0,0)|0,0)|0;k[ca>>2]=ma;ma=sD(k[Q>>2]|0,k[ca>>2]|0,3)|0;k[X>>2]=ma;k[_>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[X>>2]|0)*48|0);ma=ba;ca=k[ma+4>>2]|0;ba=(k[_>>2]|0)+32|0;k[ba>>2]=k[ma>>2];k[ba+4>>2]=ca;k[(k[_>>2]|0)+20>>2]=k[(k[Z>>2]|0)+28>>2];k[(k[_>>2]|0)+28>>2]=j[(k[Z>>2]|0)+32>>1];j[(k[_>>2]|0)+12>>1]=64;i[(k[_>>2]|0)+15>>0]=i[t>>0]|0;tD(k[Q>>2]|0,k[X>>2]|0,k[$>>2]|0);k[la>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[$>>2]|0)*48|0);ba=(k[la>>2]|0)+10|0;j[ba>>1]=m[ba>>1]|8;ba=(k[la>>2]|0)+40|0;ca=k[ba+4>>2]|0;ma=(k[_>>2]|0)+40|0;k[ma>>2]=k[ba>>2];k[ma+4>>2]=ca}do if((l[(k[Q>>2]|0)+8>>0]|0)==28){if((l[k[na>>2]>>0]|0)!=37?(l[k[na>>2]>>0]|0)!=29:0)break;if(kz(k[(k[na>>2]|0)+12>>2]|0)|0){if(k[(k[(k[na>>2]|0)+12>>2]|0)+4>>2]&2048|0?k[(k[(k[na>>2]|0)+16>>2]|0)+4>>2]&2048|0:0)break;ma=Bx(k[(k[na>>2]|0)+12>>2]|0)|0;k[da>>2]=ma;k[ea>>2]=0;while(1){if((k[ea>>2]|0)>=(k[da>>2]|0))break;ma=AD(k[r>>2]|0,k[(k[na>>2]|0)+12>>2]|0,k[ea>>2]|0)|0;k[ha>>2]=ma;ma=AD(k[r>>2]|0,k[(k[na>>2]|0)+16>>2]|0,k[ea>>2]|0)|0;k[ia>>2]=ma;ma=zt(k[r>>2]|0,l[k[na>>2]>>0]|0,k[ha>>2]|0,k[ia>>2]|0,0)|0;k[ga>>2]=ma;wD(k[ga>>2]|0,k[na>>2]|0);ma=sD(k[Q>>2]|0,k[ga>>2]|0,1)|0;k[fa>>2]=ma;oD(k[E>>2]|0,k[Q>>2]|0,k[fa>>2]|0);k[ea>>2]=(k[ea>>2]|0)+1}k[la>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[$>>2]|0)*48|0);j[(k[la>>2]|0)+10>>1]=6;j[(k[la>>2]|0)+12>>1]=0}}while(0);c:do if(((((l[(k[Q>>2]|0)+8>>0]|0)==28?(l[k[na>>2]>>0]|0)==33:0)?(k[(k[la>>2]|0)+24>>2]|0)==0:0)?(l[k[(k[na>>2]|0)+12>>2]>>0]|0)==158:0)?(k[(k[(k[na>>2]|0)+20>>2]|0)+48>>2]|0)==0:0){k[ja>>2]=0;while(1){ma=k[ja>>2]|0;if((ma|0)>=(Bx(k[(k[na>>2]|0)+12>>2]|0)|0))break c;ma=sD(k[Q>>2]|0,k[na>>2]|0,2)|0;k[ka>>2]=ma;k[(k[(k[Q>>2]|0)+20>>2]|0)+((k[ka>>2]|0)*48|0)+24>>2]=(k[ja>>2]|0)+1;oD(k[E>>2]|0,k[Q>>2]|0,k[ka>>2]|0);tD(k[Q>>2]|0,k[ka>>2]|0,k[$>>2]|0);k[ja>>2]=(k[ja>>2]|0)+1}}while(0);ka=h;na=(k[la>>2]|0)+32|0;la=na;ma=k[la+4>>2]|k[ka+4>>2];k[na>>2]=k[la>>2]|k[ka>>2];k[na+4>>2]=ma;u=oa;return}function pD(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if((k[b>>2]|0)!=33?!((k[b>>2]|0)>=37&(k[b>>2]|0)<=41|(k[b>>2]|0)==34):0)a=(k[b>>2]|0)==29;else a=1;u=c;return a&1|0}function qD(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+48|0;t=v+40|0;p=v+36|0;w=v+32|0;h=v;i=v+28|0;q=v+24|0;r=v+20|0;n=v+16|0;o=v+12|0;s=v+8|0;k[p>>2]=a;k[w>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=e;k[q>>2]=f;k[r>>2]=g;if(((k[w>>2]|0)>=38?(l[k[i>>2]>>0]|0)==158:0)&(k[w>>2]|0)<=41)k[i>>2]=k[k[(k[(k[i>>2]|0)+20>>2]|0)+4>>2]>>2];if((l[k[i>>2]>>0]|0)==152){k[k[q>>2]>>2]=k[(k[i>>2]|0)+28>>2];k[k[r>>2]>>2]=j[(k[i>>2]|0)+32>>1];k[t>>2]=1;w=k[t>>2]|0;u=v;return w|0}w=h;if((k[w>>2]|0)==0&(k[w+4>>2]|0)==0){k[t>>2]=0;w=k[t>>2]|0;u=v;return w|0}w=h;f=k[w>>2]|0;w=k[w+4>>2]|0;g=h;g=h0(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;if((f&g|0)!=0|(w&M|0)!=0){k[t>>2]=0;w=k[t>>2]|0;u=v;return w|0}k[o>>2]=0;while(1){w=h;g=k[w+4>>2]|0;if(!(g>>>0>0|(g|0)==0&(k[w>>2]|0)>>>0>1))break;k[o>>2]=(k[o>>2]|0)+1;g=h;g=p0(k[g>>2]|0,k[g+4>>2]|0,1)|0;w=h;k[w>>2]=g;k[w+4>>2]=M}k[s>>2]=k[(k[p>>2]|0)+8+((k[o>>2]|0)*72|0)+44>>2];k[n>>2]=k[(k[(k[p>>2]|0)+8+((k[o>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(k[n>>2]|0)){a=22;break}b:do if(k[(k[n>>2]|0)+40>>2]|0){k[o>>2]=0;while(1){if((k[o>>2]|0)>=(m[(k[n>>2]|0)+50>>1]|0))break b;if((j[(k[(k[n>>2]|0)+4>>2]|0)+(k[o>>2]<<1)>>1]|0)==-2?(gx(k[i>>2]|0,k[(k[(k[(k[n>>2]|0)+40>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2]|0,k[s>>2]|0)|0)==0:0){a=19;break a}k[o>>2]=(k[o>>2]|0)+1}}while(0);k[n>>2]=k[(k[n>>2]|0)+20>>2]}if((a|0)==19){k[k[q>>2]>>2]=k[s>>2];k[k[r>>2]>>2]=-2;k[t>>2]=1;w=k[t>>2]|0;u=v;return w|0}else if((a|0)==22){k[t>>2]=0;w=k[t>>2]|0;u=v;return w|0}return 0}function rD(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d;c=d+4|0;k[b>>2]=a;do if((k[b>>2]|0)!=33){if((k[b>>2]|0)==34){j[c>>1]=256;break}if((k[b>>2]|0)==29){j[c>>1]=128;break}else{j[c>>1]=2<<(k[b>>2]|0)-37;break}}else j[c>>1]=1;while(0);u=d;return j[c>>1]|0}function sD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;o=u;u=u+32|0;l=o+24|0;f=o+20|0;g=o+16|0;h=o+28|0;i=o+12|0;n=o+8|0;e=o+4|0;d=o;k[f>>2]=a;k[g>>2]=b;j[h>>1]=c;do if((k[(k[f>>2]|0)+12>>2]|0)>=(k[(k[f>>2]|0)+16>>2]|0)){k[e>>2]=k[(k[f>>2]|0)+20>>2];k[d>>2]=k[k[k[k[f>>2]>>2]>>2]>>2];c=Od(k[d>>2]|0,(k[(k[f>>2]|0)+16>>2]|0)*48<<1,0)|0;k[(k[f>>2]|0)+20>>2]=c;if(k[(k[f>>2]|0)+20>>2]|0){r0(k[(k[f>>2]|0)+20>>2]|0,k[e>>2]|0,(k[(k[f>>2]|0)+12>>2]|0)*48|0)|0;if((k[e>>2]|0)!=((k[f>>2]|0)+24|0))fe(k[d>>2]|0,k[e>>2]|0);e=((ke(k[d>>2]|0,k[(k[f>>2]|0)+20>>2]|0)|0)>>>0)/48|0;k[(k[f>>2]|0)+16>>2]=e;break}if((m[h>>1]|0)&1|0)Yk(k[d>>2]|0,k[g>>2]|0);k[(k[f>>2]|0)+20>>2]=k[e>>2];k[l>>2]=0;n=k[l>>2]|0;u=o;return n|0}while(0);c=k[(k[f>>2]|0)+20>>2]|0;d=(k[f>>2]|0)+12|0;e=k[d>>2]|0;k[d>>2]=e+1;k[n>>2]=e;k[i>>2]=c+(e*48|0);if(k[g>>2]|0?k[(k[g>>2]|0)+4>>2]&262144|0:0){a=k[(k[g>>2]|0)+28>>2]|0;a=((Hv(a,((a|0)<0)<<31>>31)|0)<<16>>16)-270&65535;b=k[i>>2]|0}else{a=1;b=k[i>>2]|0}j[b+8>>1]=a;a=Iw(k[g>>2]|0)|0;k[k[i>>2]>>2]=a;j[(k[i>>2]|0)+10>>1]=j[h>>1]|0;k[(k[i>>2]|0)+4>>2]=k[f>>2];k[(k[i>>2]|0)+16>>2]=-1;a=(k[i>>2]|0)+12|0;b=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[l>>2]=k[n>>2];n=k[l>>2]|0;u=o;return n|0}function tD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;f=d+8|0;g=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[(k[(k[f>>2]|0)+20>>2]|0)+((k[g>>2]|0)*48|0)+16>>2]=k[e>>2];j[(k[(k[f>>2]|0)+20>>2]|0)+((k[g>>2]|0)*48|0)+8>>1]=j[(k[(k[f>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0)+8>>1]|0;c=(k[(k[f>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0)+14|0;i[c>>0]=(i[c>>0]|0)+1<<24>>24;u=d;return}function uD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=u;u=u+32|0;h=o+20|0;e=o+16|0;f=o+12|0;c=o+25|0;d=o+24|0;g=o+8|0;j=o+4|0;n=o;k[e>>2]=a;k[f>>2]=b;if(m[(k[k[e>>2]>>2]|0)+64>>1]&512|0){k[h>>2]=0;n=k[h>>2]|0;u=o;return n|0}if((l[k[f>>2]>>0]|0)!=37?(l[k[f>>2]>>0]|0)!=29:0){k[h>>2]=0;n=k[h>>2]|0;u=o;return n|0}if(k[(k[f>>2]|0)+4>>2]&1|0){k[h>>2]=0;n=k[h>>2]|0;u=o;return n|0}b=Aw(k[(k[f>>2]|0)+12>>2]|0)|0;i[c>>0]=b;b=Aw(k[(k[f>>2]|0)+16>>2]|0)|0;i[d>>0]=b;do if((i[c>>0]|0)!=(i[d>>0]|0)){if((i[c>>0]|0)>=67?(i[d>>0]|0)>=67:0)break;k[h>>2]=0;n=k[h>>2]|0;u=o;return n|0}while(0);d=Hz(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0?lh(k[k[g>>2]>>2]|0,34455)|0:0){d=Bw(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0)a=k[k[g>>2]>>2]|0;else a=0;k[j>>2]=a;f=Bw(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=f;if(k[g>>2]|0)a=k[k[g>>2]>>2]|0;else a=0;k[n>>2]=a;n=(ul(k[j>>2]|0,k[n>>2]|0)|0)==0&1;k[h>>2]=n;n=k[h>>2]|0;u=o;return n|0}k[h>>2]=1;n=k[h>>2]|0;u=o;return n|0}function vD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;c=g+8|0;d=g+4|0;e=g+14|0;h=g+12|0;f=g;k[c>>2]=a;k[d>>2]=b;j[e>>1]=k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]&256;j[h>>1]=k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]&256;do if((m[e>>1]|0)==(m[h>>1]|0)){if(j[e>>1]|0){h=(k[(k[d>>2]|0)+16>>2]|0)+4|0;k[h>>2]=k[h>>2]&-257;break}if(Bw(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0)|0){h=(k[(k[d>>2]|0)+12>>2]|0)+4|0;k[h>>2]=k[h>>2]|256}}while(0);k[f>>2]=k[(k[d>>2]|0)+16>>2];k[(k[d>>2]|0)+16>>2]=k[(k[d>>2]|0)+12>>2];k[(k[d>>2]|0)+12>>2]=k[f>>2];if((l[k[d>>2]>>0]|0)<38){u=g;return}i[k[d>>2]>>0]=((l[k[d>>2]>>0]|0)-38^2)+38;u=g;return}function wD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){u=e;return}b=(k[c>>2]|0)+4|0;k[b>>2]=k[b>>2]|k[(k[d>>2]|0)+4>>2]&1;j[(k[c>>2]|0)+36>>1]=j[(k[d>>2]|0)+36>>1]|0;u=e;return}function xD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=u;u=u+160|0;D=V+156|0;O=V+152|0;P=V+148|0;Q=V+144|0;R=V+140|0;S=V+136|0;T=V+132|0;w=V+128|0;x=V+124|0;y=V+120|0;z=V+116|0;d=V+112|0;A=V+24|0;e=V+16|0;f=V+108|0;g=V+104|0;h=V+100|0;n=V+96|0;o=V+8|0;p=V;q=V+92|0;r=V+88|0;s=V+84|0;t=V+80|0;v=V+76|0;B=V+72|0;C=V+68|0;E=V+64|0;F=V+60|0;G=V+56|0;H=V+52|0;I=V+48|0;J=V+44|0;K=V+40|0;L=V+36|0;N=V+32|0;k[D>>2]=a;k[O>>2]=b;k[P>>2]=c;k[Q>>2]=k[k[O>>2]>>2];k[R>>2]=k[k[Q>>2]>>2];k[S>>2]=k[k[R>>2]>>2];k[T>>2]=(k[(k[O>>2]|0)+20>>2]|0)+((k[P>>2]|0)*48|0);k[w>>2]=k[k[T>>2]>>2];c=im(k[S>>2]|0,416,0)|0;k[d>>2]=c;k[(k[T>>2]|0)+28>>2]=c;if(!(k[d>>2]|0)){u=V;return}c=(k[T>>2]|0)+10|0;j[c>>1]=m[c>>1]|16;k[y>>2]=k[d>>2];w0((k[y>>2]|0)+24|0,0,384)|0;_B(k[y>>2]|0,k[Q>>2]|0);$B(k[y>>2]|0,k[w>>2]|0,27);cC(k[D>>2]|0,k[y>>2]|0);if(i[(k[S>>2]|0)+69>>0]|0){u=V;return}c=e;k[c>>2]=-1;k[c+4>>2]=-1;c=A;k[c>>2]=-1;k[c+4>>2]=-1;k[x>>2]=(k[(k[y>>2]|0)+12>>2]|0)-1;k[z>>2]=k[(k[y>>2]|0)+20>>2];while(1){c=e;if(!((k[x>>2]|0)>=0?(k[c>>2]|0)!=0|(k[c+4>>2]|0)!=0:0))break;do if(!(m[(k[z>>2]|0)+12>>1]&511)){c=A;k[c>>2]=0;k[c+4>>2]=0;c=Od(k[S>>2]|0,408,0)|0;k[f>>2]=c;if(k[f>>2]|0){c=o;k[c>>2]=0;k[c+4>>2]=0;k[(k[z>>2]|0)+28>>2]=k[f>>2];c=(k[z>>2]|0)+10|0;j[c>>1]=m[c>>1]|32;j[(k[z>>2]|0)+12>>1]=1024;k[g>>2]=k[f>>2];w0((k[g>>2]|0)+24|0,0,384)|0;_B(k[g>>2]|0,k[k[O>>2]>>2]|0);$B(k[g>>2]|0,k[k[z>>2]>>2]|0,28);cC(k[D>>2]|0,k[g>>2]|0);k[(k[g>>2]|0)+4>>2]=k[O>>2];a:do if(!(i[(k[S>>2]|0)+69>>0]|0)){k[n>>2]=0;k[h>>2]=k[(k[g>>2]|0)+20>>2];while(1){if((k[n>>2]|0)>=(k[(k[g>>2]|0)+12>>2]|0))break a;if(!(!(pD(l[k[k[h>>2]>>2]>>0]|0)|0)?(m[(k[h>>2]|0)+12>>1]|0)!=64:0)){a=lC((k[Q>>2]|0)+488|0,k[(k[h>>2]|0)+20>>2]|0)|0;W=o;b=k[W+4>>2]|M;c=o;k[c>>2]=k[W>>2]|a;k[c+4>>2]=b}k[n>>2]=(k[n>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+48}}while(0);b=o;a=e;c=k[a+4>>2]&k[b+4>>2];W=e;k[W>>2]=k[a>>2]&k[b>>2];k[W+4>>2]=c}}else if(!(m[(k[z>>2]|0)+10>>1]&8)){c=lC((k[Q>>2]|0)+488|0,k[(k[z>>2]|0)+20>>2]|0)|0;W=p;k[W>>2]=c;k[W+4>>2]=M;if(m[(k[z>>2]|0)+10>>1]&2|0){k[q>>2]=(k[(k[y>>2]|0)+20>>2]|0)+((k[(k[z>>2]|0)+16>>2]|0)*48|0);b=lC((k[Q>>2]|0)+488|0,k[(k[q>>2]|0)+20>>2]|0)|0;a=p;c=k[a+4>>2]|M;W=p;k[W>>2]=k[a>>2]|b;k[W+4>>2]=c}b=p;a=e;c=k[a+4>>2]&k[b+4>>2];W=e;k[W>>2]=k[a>>2]&k[b>>2];k[W+4>>2]=c;if(!(m[(k[z>>2]|0)+12>>1]&2)){W=A;k[W>>2]=0;k[W+4>>2]=0;break}else{b=p;a=A;c=k[a+4>>2]&k[b+4>>2];W=A;k[W>>2]=k[a>>2]&k[b>>2];k[W+4>>2]=c;break}}while(0);k[x>>2]=(k[x>>2]|0)+-1;k[z>>2]=(k[z>>2]|0)+48}p=e;q=k[p+4>>2]|0;W=(k[d>>2]|0)+408|0;k[W>>2]=k[p>>2];k[W+4>>2]=q;W=e;j[(k[T>>2]|0)+12>>1]=(k[W>>2]|0)==0&(k[W+4>>2]|0)==0?0:512;W=e;b:do if((k[W>>2]|0)!=0|(k[W+4>>2]|0)!=0?(k[(k[y>>2]|0)+12>>2]|0)==2:0){k[r>>2]=0;c:while(1){q=k[(k[y>>2]|0)+20>>2]|0;W=k[r>>2]|0;k[r>>2]=W+1;W=FD(q,W)|0;k[s>>2]=W;if(!W)break b;k[t>>2]=0;while(1){q=(k[(k[y>>2]|0)+20>>2]|0)+48|0;W=k[t>>2]|0;k[t>>2]=W+1;W=FD(q,W)|0;k[v>>2]=W;if(!W)continue c;GD(k[D>>2]|0,k[O>>2]|0,k[s>>2]|0,k[v>>2]|0)}}}while(0);W=A;if(!((k[W>>2]|0)!=0|(k[W+4>>2]|0)!=0)){u=V;return}k[B>>2]=0;k[C>>2]=-1;k[E>>2]=-1;k[F>>2]=0;k[F>>2]=0;while(1){if((k[F>>2]|0)>=2)break;if(!((k[B>>2]|0)!=0^1))break;k[z>>2]=k[(k[y>>2]|0)+20>>2];k[x>>2]=(k[(k[y>>2]|0)+12>>2]|0)-1;while(1){if((k[x>>2]|0)<0)break;W=(k[z>>2]|0)+10|0;j[W>>1]=m[W>>1]&-65;if((k[(k[z>>2]|0)+20>>2]|0)!=(k[E>>2]|0)?(W=A,t=k[W>>2]|0,W=k[W+4>>2]|0,v=lC((k[Q>>2]|0)+488|0,k[(k[z>>2]|0)+20>>2]|0)|0,!((t&v|0)==0&(W&M|0)==0)):0){U=37;break}k[x>>2]=(k[x>>2]|0)+-1;k[z>>2]=(k[z>>2]|0)+48}if((U|0)==37){U=0;k[C>>2]=k[(k[z>>2]|0)+28>>2];k[E>>2]=k[(k[z>>2]|0)+20>>2]}if((k[x>>2]|0)<0)break;k[B>>2]=1;while(1){if(!((k[x>>2]|0)>=0?(k[B>>2]|0)!=0:0))break;a=k[z>>2]|0;do if((k[(k[z>>2]|0)+20>>2]|0)!=(k[E>>2]|0)){W=a+10|0;j[W>>1]=m[W>>1]&-65}else{if((k[a+28>>2]|0)!=(k[C>>2]|0)){k[B>>2]=0;break}W=(Aw(k[(k[k[z>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;k[H>>2]=W;W=(Aw(k[(k[k[z>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;k[G>>2]=W;if(k[H>>2]|0?(k[H>>2]|0)!=(k[G>>2]|0):0){k[B>>2]=0;break}W=(k[z>>2]|0)+10|0;j[W>>1]=m[W>>1]|64}while(0);k[x>>2]=(k[x>>2]|0)+-1;k[z>>2]=(k[z>>2]|0)+48}k[F>>2]=(k[F>>2]|0)+1}if(!(k[B>>2]|0)){u=V;return}k[J>>2]=0;k[K>>2]=0;k[x>>2]=(k[(k[y>>2]|0)+12>>2]|0)-1;k[z>>2]=k[(k[y>>2]|0)+20>>2];while(1){if((k[x>>2]|0)<0)break;if(m[(k[z>>2]|0)+10>>1]&64|0){W=ex(k[S>>2]|0,k[(k[k[z>>2]>>2]|0)+16>>2]|0,0)|0;k[I>>2]=W;W=Ot(k[k[Q>>2]>>2]|0,k[J>>2]|0,k[I>>2]|0)|0;k[J>>2]=W;k[K>>2]=k[(k[k[z>>2]>>2]|0)+12>>2]}k[x>>2]=(k[x>>2]|0)+-1;k[z>>2]=(k[z>>2]|0)+48}W=ex(k[S>>2]|0,k[K>>2]|0,0)|0;k[I>>2]=W;W=zt(k[R>>2]|0,33,k[I>>2]|0,0,0)|0;k[L>>2]=W;if(k[L>>2]|0){wD(k[L>>2]|0,k[w>>2]|0);k[(k[L>>2]|0)+20>>2]=k[J>>2];W=sD(k[O>>2]|0,k[L>>2]|0,3)|0;k[N>>2]=W;oD(k[D>>2]|0,k[O>>2]|0,k[N>>2]|0);k[T>>2]=(k[(k[O>>2]|0)+20>>2]|0)+((k[P>>2]|0)*48|0);tD(k[O>>2]|0,k[N>>2]|0,k[P>>2]|0)}else Uk(k[S>>2]|0,k[J>>2]|0);j[(k[T>>2]|0)+12>>1]=4096;u=V;return}function yD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=u;u=u+96|0;B=F+80|0;C=F+76|0;n=F+72|0;D=F+68|0;E=F+64|0;G=F+60|0;q=F+56|0;r=F+52|0;f=F+48|0;g=F+44|0;o=F+40|0;s=F+36|0;p=F+84|0;t=F+32|0;v=F+28|0;w=F+24|0;x=F+20|0;h=F+16|0;m=F+12|0;y=F+8|0;z=F+4|0;A=F;k[C>>2]=a;k[n>>2]=b;k[D>>2]=c;k[E>>2]=d;k[G>>2]=e;k[q>>2]=0;k[t>>2]=k[k[C>>2]>>2];k[v>>2]=0;if(!(BD(k[t>>2]|0,k[n>>2]|0,k[G>>2]|0,p)|0)){k[B>>2]=0;G=k[B>>2]|0;u=F;return G|0}k[g>>2]=k[(k[n>>2]|0)+20>>2];k[f>>2]=k[(k[(k[g>>2]|0)+4>>2]|0)+20>>2];if(((l[k[f>>2]>>0]|0)==152?((Aw(k[f>>2]|0)|0)<<24>>24|0)==66:0)?(l[(k[(k[f>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){G=Iw(k[k[(k[g>>2]|0)+4>>2]>>2]|0)|0;k[r>>2]=G;k[w>>2]=l[k[r>>2]>>0];if((k[w>>2]|0)!=135){if((k[w>>2]|0)==97)k[q>>2]=k[(k[r>>2]|0)+8>>2]}else{k[h>>2]=k[(k[C>>2]|0)+432>>2];k[m>>2]=j[(k[r>>2]|0)+32>>1];G=CD(k[h>>2]|0,k[m>>2]|0,65)|0;k[v>>2]=G;if(k[v>>2]|0?(Ki(k[v>>2]|0)|0)==3:0){G=$h(k[v>>2]|0)|0;k[q>>2]=G}DD(k[(k[C>>2]|0)+8>>2]|0,k[m>>2]|0)}do if(k[q>>2]|0){k[s>>2]=0;while(1){G=i[(k[q>>2]|0)+(k[s>>2]|0)>>0]|0;k[o>>2]=G;if((G|0?(k[o>>2]|0)!=(i[p>>0]|0):0)?(k[o>>2]|0)!=(i[p+1>>0]|0):0)b=(k[o>>2]|0)!=(i[p+2>>0]|0);else b=0;a=k[s>>2]|0;if(!b)break;k[s>>2]=a+1}if(a|0?255!=(l[(k[q>>2]|0)+((k[s>>2]|0)-1)>>0]|0):0){if((k[o>>2]|0)==(i[p>>0]|0))a=(i[(k[q>>2]|0)+((k[s>>2]|0)+1)>>0]|0)==0;else a=0;k[k[E>>2]>>2]=a&1;G=Rt(k[t>>2]|0,97,k[q>>2]|0)|0;k[y>>2]=G;if(k[y>>2]|0)i[(k[(k[y>>2]|0)+8>>2]|0)+(k[s>>2]|0)>>0]=0;k[k[D>>2]>>2]=k[y>>2];if((k[w>>2]|0)!=135)break;k[z>>2]=k[(k[C>>2]|0)+8>>2];DD(k[z>>2]|0,j[(k[r>>2]|0)+32>>1]|0);if(!(k[k[E>>2]>>2]|0))break;if(!(i[(k[(k[r>>2]|0)+8>>2]|0)+1>>0]|0))break;G=Yv(k[C>>2]|0)|0;k[A>>2]=G;fz(k[C>>2]|0,k[r>>2]|0,k[A>>2]|0)|0;G=k[z>>2]|0;ED(G,(Zv(k[z>>2]|0)|0)-1|0,0);_v(k[C>>2]|0,k[A>>2]|0);break}k[q>>2]=0}while(0);k[x>>2]=(k[q>>2]|0)!=0&1;Lk(k[v>>2]|0);k[B>>2]=k[x>>2];G=k[B>>2]|0;u=F;return G|0}k[B>>2]=0;G=k[B>>2]|0;u=F;return G|0}function zD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;g=j+20|0;e=j+16|0;h=j+12|0;c=j+8|0;d=j+4|0;f=j;k[e>>2]=a;k[h>>2]=b;if((l[k[e>>2]>>0]|0|0)!=151){k[g>>2]=0;h=k[g>>2]|0;u=j;return h|0}k[c>>2]=k[(k[e>>2]|0)+20>>2];if(k[c>>2]|0?(k[k[c>>2]>>2]|0)==2:0){k[d>>2]=k[(k[(k[c>>2]|0)+4>>2]|0)+20>>2];if((l[k[d>>2]>>0]|0|0)==152?(l[(k[(k[d>>2]|0)+44>>2]|0)+42>>0]|0)&16|0:0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=4){a=14;break}d=(lh(k[(k[e>>2]|0)+8>>2]|0,k[5512+(k[f>>2]<<3)>>2]|0)|0)==0;b=k[f>>2]|0;if(d){a=12;break}k[f>>2]=b+1}if((a|0)==12){i[k[h>>2]>>0]=i[5512+(b<<3)+4>>0]|0;k[g>>2]=1;h=k[g>>2]|0;u=j;return h|0}else if((a|0)==14){k[g>>2]=0;h=k[g>>2]|0;u=j;return h|0}}k[g>>2]=0;h=k[g>>2]|0;u=j;return h|0}k[g>>2]=0;h=k[g>>2]|0;u=j;return h|0}function AD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((l[k[e>>2]>>0]|0|0)==119){d=zt(k[d>>2]|0,159,0,0,0)|0;k[g>>2]=d;if(!(k[g>>2]|0)){g=k[g>>2]|0;u=h;return g|0}j[(k[g>>2]|0)+32>>1]=k[f>>2];k[(k[g>>2]|0)+12>>2]=k[e>>2];g=k[g>>2]|0;u=h;return g|0}else{if((l[k[e>>2]>>0]|0|0)==158)k[e>>2]=k[(k[(k[(k[e>>2]|0)+20>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2];f=ex(k[k[d>>2]>>2]|0,k[e>>2]|0,0)|0;k[g>>2]=f;g=k[g>>2]|0;u=h;return g|0}return 0}function BD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=u;u=u+32|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;j=o+4|0;n=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if(((l[k[g>>2]>>0]|0|0)==151?k[(k[g>>2]|0)+20>>2]|0:0)?(k[k[(k[g>>2]|0)+20>>2]>>2]|0)==2:0){g=yx(k[f>>2]|0,k[(k[g>>2]|0)+8>>2]|0,2,1,0)|0;k[n>>2]=g;if(k[n>>2]|0?(m[(k[n>>2]|0)+2>>1]|0)&4|0:0){j=k[j>>2]|0;g=k[(k[n>>2]|0)+4>>2]|0;i[j>>0]=i[g>>0]|0;i[j+1>>0]=i[g+1>>0]|0;i[j+2>>0]=i[g+2>>0]|0;k[k[h>>2]>>2]=((m[(k[n>>2]|0)+2>>1]|0)&8|0)==0&1;k[e>>2]=1;n=k[e>>2]|0;u=o;return n|0}k[e>>2]=0;n=k[e>>2]|0;u=o;return n|0}k[e>>2]=0;n=k[e>>2]|0;u=o;return n|0}function CD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+20|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;if(k[e>>2]|0?(k[h>>2]=(k[(k[e>>2]|0)+116>>2]|0)+(((k[f>>2]|0)-1|0)*40|0),0==((m[(k[h>>2]|0)+8>>1]|0)&1|0)):0){f=Np(k[k[e>>2]>>2]|0)|0;k[j>>2]=f;if(k[j>>2]|0){jj(k[j>>2]|0,k[h>>2]|0)|0;gw(k[j>>2]|0,i[g>>0]|0,1)}k[d>>2]=k[j>>2];j=k[d>>2]|0;u=l;return j|0}k[d>>2]=0;j=k[d>>2]|0;u=l;return j|0}function DD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>32){k[(k[c>>2]|0)+196>>2]=-1;u=e;return}else{c=(k[c>>2]|0)+196|0;k[c>>2]=k[c>>2]|1<<(k[d>>2]|0)-1;u=e;return}}function ED(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;b=k[g>>2]|0;c=(Ey(k[f>>2]|0,k[e>>2]|0)|0)+12|0;k[c>>2]=b;u=d;return}function FD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=k[e>>2]|0;if((m[(k[d>>2]|0)+12>>1]|0|0)!=1024){k[c>>2]=(a|0)==0?k[d>>2]|0:0;e=k[c>>2]|0;u=f;return e|0}if((a|0)<(k[(k[(k[d>>2]|0)+28>>2]|0)+12>>2]|0)){k[c>>2]=(k[(k[(k[d>>2]|0)+28>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0);e=k[c>>2]|0;u=f;return e|0}else{k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}return 0}function GD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;o=r+28|0;p=r+24|0;e=r+20|0;f=r+16|0;q=r+32|0;g=r+12|0;h=r+8|0;l=r+4|0;n=r;k[o>>2]=a;k[p>>2]=b;k[e>>2]=c;k[f>>2]=d;j[q>>1]=m[(k[e>>2]|0)+12>>1]|0|(m[(k[f>>2]|0)+12>>1]|0);if(!((m[(k[e>>2]|0)+12>>1]|0)&62)){u=r;return}if(!((m[(k[f>>2]|0)+12>>1]|0)&62)){u=r;return}if(((m[q>>1]|0)&26|0)!=(m[q>>1]|0|0)?((m[q>>1]|0)&38|0)!=(m[q>>1]|0|0):0){u=r;return}if(gx(k[(k[k[e>>2]>>2]|0)+12>>2]|0,k[(k[k[f>>2]>>2]|0)+12>>2]|0,-1)|0){u=r;return}if(gx(k[(k[k[e>>2]>>2]|0)+16>>2]|0,k[(k[k[f>>2]>>2]|0)+16>>2]|0,-1)|0){u=r;return}do if((m[q>>1]|0)&(m[q>>1]|0)-1|0)if((m[q>>1]|0)&24|0){j[q>>1]=8;break}else{j[q>>1]=32;break}while(0);k[g>>2]=k[k[k[k[p>>2]>>2]>>2]>>2];g=ex(k[g>>2]|0,k[k[e>>2]>>2]|0,0)|0;k[h>>2]=g;if(!(k[h>>2]|0)){u=r;return}k[l>>2]=37;while(1){a=k[l>>2]|0;if((m[q>>1]|0|0)==(2<<(k[l>>2]|0)-37|0))break;k[l>>2]=a+1}i[k[h>>2]>>0]=a;q=sD(k[p>>2]|0,k[h>>2]|0,3)|0;k[n>>2]=q;oD(k[o>>2]|0,k[p>>2]|0,k[n>>2]|0);u=r;return}function HD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=u;u=u+48|0;g=e+36|0;h=e+32|0;f=e+28|0;d=e;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+20>>0]=0;k[d+4>>2]=208;k[d+24>>2]=k[h>>2];Uw(d,k[g>>2]|0)|0;if(k[f>>2]|0){h=d+20|0;h=i[h>>0]|0;h=h<<24>>24!=0;h=h^1;h=h&1;u=e;return h|0}h=d+20|0;i[h>>0]=(l[h>>0]|0)&-3;h=d+20|0;h=i[h>>0]|0;h=h<<24>>24!=0;h=h^1;h=h&1;u=e;return h|0}function ID(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=u;u=u+32|0;l=m+8|0;i=m;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[k[d>>2]>>2]|0;b=k[k[f>>2]>>2]|0;if((j[(k[f>>2]|0)+32>>1]|0)>=0){f=k[(k[(k[f>>2]|0)+4>>2]|0)+(j[(k[f>>2]|0)+32>>1]<<4)>>2]|0;k[i>>2]=b;k[i+4>>2]=f;f=ek(a,29580,i)|0;k[g>>2]=f;k[h>>2]=1555;f=k[d>>2]|0;h=k[h>>2]|0;i=k[e>>2]|0;l=k[g>>2]|0;Ry(f,h,i,l,-1,2);u=m;return}else{k[l>>2]=b;f=ek(a,34647,l)|0;k[g>>2]=f;k[h>>2]=2579;f=k[d>>2]|0;h=k[h>>2]|0;i=k[e>>2]|0;l=k[g>>2]|0;Ry(f,h,i,l,-1,2);u=m;return}}function JD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+32|0;j=l+20|0;m=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;a:do if(k[(k[k[m>>2]>>2]|0)+24>>2]&524288|0){a=k[e>>2]|0;if(!(k[f>>2]|0)){if(sw(a)|0)a=1;else a=(k[(k[e>>2]|0)+16>>2]|0)!=0;k[j>>2]=a&1;m=k[j>>2]|0;u=l;return m|0}k[h>>2]=k[a+16>>2];while(1){a=k[e>>2]|0;if(!(k[h>>2]|0))break;if(IB(a,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0)|0){i=9;break}k[h>>2]=k[(k[h>>2]|0)+4>>2]}if((i|0)==9){k[j>>2]=1;m=k[j>>2]|0;u=l;return m|0}m=sw(a)|0;k[h>>2]=m;while(1){if(!(k[h>>2]|0))break a;if(LB(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)break;k[h>>2]=k[(k[h>>2]|0)+12>>2]}k[j>>2]=1;m=k[j>>2]|0;u=l;return m|0}while(0);k[j>>2]=0;m=k[j>>2]|0;u=l;return m|0}function KD(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[b>>2]=a;i[(k[b>>2]|0)+20>>0]=1;u=c;return}function LD(a,b,c,d,e,f,g,h,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=u;u=u+64|0;p=K+48|0;q=K+44|0;r=K+40|0;s=K+36|0;t=K+32|0;v=K+28|0;w=K+52|0;x=K+58|0;y=K+57|0;z=K+56|0;A=K+24|0;B=K+20|0;C=K+16|0;D=K+12|0;E=K+55|0;F=K+8|0;G=K+4|0;H=K;I=K+54|0;k[p>>2]=a;k[q>>2]=b;k[r>>2]=c;k[s>>2]=d;k[t>>2]=e;k[v>>2]=f;j[w>>1]=g;i[x>>0]=h;i[y>>0]=m;i[z>>0]=n;k[A>>2]=o;k[B>>2]=k[(k[p>>2]|0)+8>>2];k[C>>2]=0;n=uy(k[B>>2]|0)|0;k[D>>2]=n;i[E>>0]=(l[(k[q>>2]|0)+42>>0]&32|0)==0?33:30;if(!(l[z>>0]|0))Jy(k[B>>2]|0,l[E>>0]|0,k[s>>2]|0,k[D>>2]|0,k[v>>2]|0,j[w>>1]|0)|0;n=(JD(k[p>>2]|0,k[q>>2]|0,0,0)|0)!=0;if(n|(k[r>>2]|0)!=0){n=ND(k[p>>2]|0,k[r>>2]|0,0,0,3,k[q>>2]|0,l[y>>0]|0)|0;k[F>>2]=n;n=OD(k[p>>2]|0,k[q>>2]|0)|0;k[F>>2]=k[F>>2]|n;k[C>>2]=(k[(k[p>>2]|0)+44>>2]|0)+1;n=(k[p>>2]|0)+44|0;k[n>>2]=(k[n>>2]|0)+(1+(j[(k[q>>2]|0)+34>>1]|0));_u(k[B>>2]|0,84,k[v>>2]|0,k[C>>2]|0)|0;k[G>>2]=0;while(1){if((k[G>>2]|0)>=(j[(k[q>>2]|0)+34>>1]|0))break;if((k[F>>2]|0)!=-1){if((k[G>>2]|0)<=31?k[F>>2]&1<>2]|0:0)J=9}else J=9;if((J|0)==9){J=0;bz(k[B>>2]|0,k[q>>2]|0,k[s>>2]|0,k[G>>2]|0,(k[C>>2]|0)+(k[G>>2]|0)+1|0)}k[G>>2]=(k[G>>2]|0)+1}J=Zv(k[B>>2]|0)|0;k[H>>2]=J;zB(k[p>>2]|0,k[r>>2]|0,109,0,1,k[q>>2]|0,k[C>>2]|0,l[y>>0]|0,k[D>>2]|0);J=k[H>>2]|0;if((J|0)<(Zv(k[B>>2]|0)|0))Jy(k[B>>2]|0,l[E>>0]|0,k[s>>2]|0,k[D>>2]|0,k[v>>2]|0,j[w>>1]|0)|0;EB(k[p>>2]|0,k[q>>2]|0,k[C>>2]|0,0,0,0)}if(k[(k[q>>2]|0)+12>>2]|0){h=k[p>>2]|0;g=k[q>>2]|0;f=k[C>>2]|0;PD(h,g,0,f,0,0);f=k[p>>2]|0;g=k[r>>2]|0;h=k[q>>2]|0;m=k[C>>2]|0;J=i[y>>0]|0;J=J&255;n=k[D>>2]|0;zB(f,g,109,0,2,h,m,J,n);n=k[B>>2]|0;J=k[D>>2]|0;yy(n,J);u=K;return}i[I>>0]=0;MD(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,0,k[A>>2]|0);_u(k[B>>2]|0,117,k[s>>2]|0,l[x>>0]|0?1:0)|0;dv(k[B>>2]|0,-1,k[q>>2]|0,-20);if(l[z>>0]|0)ty(k[B>>2]|0,4);if((k[A>>2]|0)>=0)oy(k[B>>2]|0,117,k[A>>2]|0)|0;if((l[z>>0]|0)==2)i[I>>0]=l[I>>0]|2;ty(k[B>>2]|0,i[I>>0]|0);h=k[p>>2]|0;g=k[q>>2]|0;f=k[C>>2]|0;PD(h,g,0,f,0,0);f=k[p>>2]|0;g=k[r>>2]|0;h=k[q>>2]|0;m=k[C>>2]|0;J=i[y>>0]|0;J=J&255;n=k[D>>2]|0;zB(f,g,109,0,2,h,m,J,n);n=k[B>>2]|0;J=k[D>>2]|0;yy(n,J);u=K;return}function MD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+64|0;t=y+48|0;g=y+44|0;v=y+40|0;w=y+36|0;h=y+32|0;i=y+28|0;m=y+24|0;n=y+20|0;o=y+16|0;p=y+12|0;q=y+8|0;r=y+4|0;s=y;k[t>>2]=a;k[g>>2]=b;k[v>>2]=c;k[w>>2]=d;k[h>>2]=e;k[i>>2]=f;k[n>>2]=-1;k[q>>2]=0;k[r>>2]=k[(k[t>>2]|0)+8>>2];if(!((l[(k[g>>2]|0)+42>>0]|0)&32))a=0;else a=Ev(k[g>>2]|0)|0;k[s>>2]=a;k[m>>2]=0;k[p>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[p>>2]|0))break;if(!(k[h>>2]|0?!(k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0):0))x=7;if(((x|0)==7?(x=0,(k[p>>2]|0)!=(k[s>>2]|0)):0)?((k[w>>2]|0)+(k[m>>2]|0)|0)!=(k[i>>2]|0):0){a=Oy(k[t>>2]|0,k[p>>2]|0,k[v>>2]|0,0,1,o,k[q>>2]|0,k[n>>2]|0)|0;k[n>>2]=a;a=k[p>>2]|0;if((l[(k[p>>2]|0)+55>>0]|0)>>>3&1|0)a=j[a+50>>1]|0;else a=j[a+52>>1]|0;$u(k[r>>2]|0,127,(k[w>>2]|0)+(k[m>>2]|0)|0,k[n>>2]|0,a&65535)|0;Py(k[t>>2]|0,k[o>>2]|0);k[q>>2]=k[p>>2]}k[m>>2]=(k[m>>2]|0)+1;k[p>>2]=k[(k[p>>2]|0)+20>>2]}u=y;return}function ND(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+48|0;r=t+40|0;v=t+36|0;s=t+32|0;h=t+28|0;i=t+24|0;j=t+20|0;m=t+16|0;n=t+12|0;o=t+8|0;p=t+4|0;q=t;k[r>>2]=a;k[v>>2]=b;k[s>>2]=c;k[h>>2]=d;k[i>>2]=e;k[j>>2]=f;k[m>>2]=g;k[n>>2]=k[s>>2]|0?110:109;k[o>>2]=0;k[p>>2]=k[v>>2];while(1){if(!(k[p>>2]|0))break;if((((l[(k[p>>2]|0)+8>>0]|0|0)==(k[n>>2]|0)?k[i>>2]&(l[(k[p>>2]|0)+9>>0]|0)|0:0)?yE(k[(k[p>>2]|0)+16>>2]|0,k[s>>2]|0)|0:0)?(v=SD(k[r>>2]|0,k[p>>2]|0,k[j>>2]|0,k[m>>2]|0)|0,k[q>>2]=v,k[q>>2]|0):0)k[o>>2]=k[o>>2]|k[(k[q>>2]|0)+16+(k[h>>2]<<2)>>2];k[p>>2]=k[(k[p>>2]|0)+32>>2]}u=t;return k[o>>2]|0}function OD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[(k[k[c>>2]>>2]|0)+24>>2]&524288)){h=k[e>>2]|0;u=i;return h|0}k[f>>2]=k[(k[d>>2]|0)+16>>2];while(1){if(!(k[f>>2]|0))break;k[g>>2]=0;while(1){a=k[f>>2]|0;if((k[g>>2]|0)>=(k[(k[f>>2]|0)+20>>2]|0))break;if((k[a+36+(k[g>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(k[g>>2]<<3)>>2];k[e>>2]=k[e>>2]|a;k[g>>2]=(k[g>>2]|0)+1}k[f>>2]=k[a+4>>2]}b=sw(k[d>>2]|0)|0;k[f>>2]=b;while(1){if(!(k[f>>2]|0))break;k[h>>2]=0;LA(k[c>>2]|0,k[d>>2]|0,k[f>>2]|0,h,0)|0;a:do if(k[h>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(m[(k[h>>2]|0)+50>>1]|0))break a;if((j[(k[(k[h>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1];k[e>>2]=k[e>>2]|a;k[g>>2]=(k[g>>2]|0)+1}}while(0);k[f>>2]=k[(k[f>>2]|0)+12>>2]}h=k[e>>2]|0;u=i;return h|0}function PD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;l=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[g>>2]=e;k[h>>2]=f;if(!(k[(k[k[l>>2]>>2]|0)+24>>2]&524288)){u=q;return}f=sw(k[m>>2]|0)|0;k[i>>2]=f;while(1){if(!(k[i>>2]|0))break;if(!((k[g>>2]|0)!=0?!(LB(k[m>>2]|0,k[i>>2]|0,k[g>>2]|0,k[h>>2]|0)|0):0))p=6;if((p|0)==6?(p=0,f=QD(k[l>>2]|0,k[m>>2]|0,k[i>>2]|0,k[n>>2]|0)|0,k[j>>2]=f,k[j>>2]|0):0)RD(k[l>>2]|0,k[j>>2]|0,k[m>>2]|0,k[o>>2]|0,2,0);k[i>>2]=k[(k[i>>2]|0)+12>>2]}u=q;return}function QD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=u;u=u+144|0;I=N+136|0;D=N+132|0;J=N+128|0;K=N+124|0;L=N+120|0;E=N+116|0;e=N+112|0;F=N+108|0;G=N+104|0;f=N+100|0;g=N+96|0;h=N+92|0;m=N+88|0;H=N+84|0;n=N+80|0;o=N+76|0;p=N+72|0;q=N+68|0;r=N+64|0;s=N+56|0;t=N+48|0;v=N+40|0;w=N+32|0;x=N+28|0;y=N+24|0;z=N+20|0;A=N+16|0;B=N+8|0;C=N;k[D>>2]=a;k[J>>2]=b;k[K>>2]=c;k[L>>2]=d;k[E>>2]=k[k[D>>2]>>2];k[G>>2]=(k[L>>2]|0)!=0&1;k[e>>2]=l[(k[K>>2]|0)+25+(k[G>>2]|0)>>0];if((k[e>>2]|0)==6?k[(k[E>>2]|0)+24>>2]&33554432|0:0){k[I>>2]=0;M=k[I>>2]|0;u=N;return M|0}k[F>>2]=k[(k[K>>2]|0)+28+(k[G>>2]<<2)>>2];if(!((k[e>>2]|0)==0|(k[F>>2]|0)!=0)){k[h>>2]=0;k[m>>2]=0;k[H>>2]=0;k[n>>2]=0;k[o>>2]=0;k[p>>2]=0;k[r>>2]=0;if(LA(k[D>>2]|0,k[J>>2]|0,k[K>>2]|0,h,m)|0){k[I>>2]=0;M=k[I>>2]|0;u=N;return M|0}k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[(k[K>>2]|0)+20>>2]|0))break;k[s>>2]=k[1386];k[s+4>>2]=k[1387];k[t>>2]=k[1388];k[t+4>>2]=k[1389];if(k[m>>2]|0)a=(k[m>>2]|0)+(k[q>>2]<<2)|0;else a=(k[K>>2]|0)+36|0;k[x>>2]=k[a>>2];if(k[h>>2]|0)a=j[(k[(k[h>>2]|0)+4>>2]|0)+(k[q>>2]<<1)>>1]|0;else a=j[(k[J>>2]|0)+32>>1]|0;tx(w,k[(k[(k[J>>2]|0)+4>>2]|0)+(a<<16>>16<<4)>>2]|0);tx(v,k[(k[(k[k[K>>2]>>2]|0)+4>>2]|0)+(k[x>>2]<<4)>>2]|0);c=k[D>>2]|0;b=k[D>>2]|0;d=eu(k[E>>2]|0,55,s,0)|0;d=zt(b,122,d,eu(k[E>>2]|0,55,w,0)|0,0)|0;d=zt(c,37,d,eu(k[E>>2]|0,55,v,0)|0,0)|0;k[y>>2]=d;d=Wx(k[E>>2]|0,k[n>>2]|0,k[y>>2]|0)|0;k[n>>2]=d;if(k[L>>2]|0){a=k[D>>2]|0;c=k[D>>2]|0;b=eu(k[E>>2]|0,55,s,0)|0;b=zt(c,122,b,eu(k[E>>2]|0,55,w,0)|0,0)|0;c=k[D>>2]|0;d=eu(k[E>>2]|0,55,t,0)|0;d=zt(a,29,b,zt(c,122,d,eu(k[E>>2]|0,55,w,0)|0,0)|0,0)|0;k[y>>2]=d;d=Wx(k[E>>2]|0,k[r>>2]|0,k[y>>2]|0)|0;k[r>>2]=d}if((k[e>>2]|0)!=6?(k[e>>2]|0)!=9|(k[L>>2]|0)!=0:0){do if((k[e>>2]|0)!=9){if((k[e>>2]|0)!=8){d=eu(k[E>>2]|0,101,0,0)|0;k[z>>2]=d;break}k[A>>2]=k[(k[(k[k[K>>2]>>2]|0)+4>>2]|0)+(k[x>>2]<<4)+4>>2];a=k[E>>2]|0;if(k[A>>2]|0){d=ex(a,k[A>>2]|0,0)|0;k[z>>2]=d;break}else{d=eu(a,101,0,0)|0;k[z>>2]=d;break}}else{c=k[D>>2]|0;d=eu(k[E>>2]|0,55,t,0)|0;d=zt(c,122,d,eu(k[E>>2]|0,55,w,0)|0,0)|0;k[z>>2]=d}while(0);d=Ot(k[D>>2]|0,k[o>>2]|0,k[z>>2]|0)|0;k[o>>2]=d;Pt(k[D>>2]|0,k[o>>2]|0,v,0)}k[q>>2]=(k[q>>2]|0)+1}fe(k[E>>2]|0,k[m>>2]|0);k[f>>2]=k[k[k[K>>2]>>2]>>2];A=wd(k[f>>2]|0)|0;k[g>>2]=A;if((k[e>>2]|0)==6){k[B>>2]=k[f>>2];k[B+4>>2]=k[g>>2];A=Rt(k[E>>2]|0,83,25102)|0;k[C>>2]=A;if(k[C>>2]|0)i[(k[C>>2]|0)+1>>0]=2;z=k[D>>2]|0;A=Ot(k[D>>2]|0,0,k[C>>2]|0)|0;C=Vt(k[E>>2]|0,0,B,0)|0;C=Nt(z,A,C,k[n>>2]|0,0,0,0,0,0,0)|0;k[p>>2]=C;k[n>>2]=0}C=(k[E>>2]|0)+256|0;k[C>>2]=(k[C>>2]|0)+1;C=im(k[E>>2]|0,72+(k[g>>2]|0)+1|0,0)|0;k[F>>2]=C;if(k[F>>2]|0?(C=(k[F>>2]|0)+36|0,k[(k[F>>2]|0)+28>>2]=C,k[H>>2]=C,k[(k[H>>2]|0)+12>>2]=(k[H>>2]|0)+36,r0(k[(k[H>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0)|0,C=ex(k[E>>2]|0,k[n>>2]|0,1)|0,k[(k[H>>2]|0)+16>>2]=C,C=mx(k[E>>2]|0,k[o>>2]|0,1)|0,k[(k[H>>2]|0)+20>>2]=C,C=uw(k[E>>2]|0,k[p>>2]|0,1)|0,k[(k[H>>2]|0)+8>>2]=C,k[r>>2]|0):0){D=zt(k[D>>2]|0,19,k[r>>2]|0,0,0)|0;k[r>>2]=D;D=ex(k[E>>2]|0,k[r>>2]|0,1)|0;k[(k[F>>2]|0)+12>>2]=D}D=(k[E>>2]|0)+256|0;k[D>>2]=(k[D>>2]|0)+-1;Yk(k[E>>2]|0,k[n>>2]|0);Yk(k[E>>2]|0,k[r>>2]|0);Uk(k[E>>2]|0,k[o>>2]|0);Tk(k[E>>2]|0,k[p>>2]|0);if((l[(k[E>>2]|0)+69>>0]|0|0)==1){cl(k[E>>2]|0,k[F>>2]|0);k[I>>2]=0;M=k[I>>2]|0;u=N;return M|0}switch(k[e>>2]|0){case 6:{a=119;b=k[H>>2]|0;break}case 9:{if(k[L>>2]|0)M=41;else{a=109;b=k[H>>2]|0}break}default:M=41}if((M|0)==41){a=110;b=k[H>>2]|0}i[b>>0]=a;k[(k[H>>2]|0)+4>>2]=k[F>>2];k[(k[F>>2]|0)+20>>2]=k[(k[J>>2]|0)+64>>2];k[(k[F>>2]|0)+24>>2]=k[(k[J>>2]|0)+64>>2];k[(k[K>>2]|0)+28+(k[G>>2]<<2)>>2]=k[F>>2];i[(k[F>>2]|0)+8>>0]=k[L>>2]|0?110:109}k[I>>2]=k[F>>2];M=k[I>>2]|0;u=N;return M|0}function RD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+48|0;m=o+32|0;g=o+28|0;q=o+24|0;n=o+20|0;p=o+16|0;h=o+12|0;i=o+8|0;j=o+4|0;l=o;k[m>>2]=a;k[g>>2]=b;k[q>>2]=c;k[n>>2]=d;k[p>>2]=e;k[h>>2]=f;f=Vu(k[m>>2]|0)|0;k[i>>2]=f;f=SD(k[m>>2]|0,k[g>>2]|0,k[q>>2]|0,k[p>>2]|0)|0;k[j>>2]=f;if(!(k[j>>2]|0)){u=o;return}if(k[k[g>>2]>>2]|0)a=0==(k[(k[k[m>>2]>>2]|0)+24>>2]&262144|0);else a=0;k[l>>2]=a&1;g=k[i>>2]|0;n=k[n>>2]|0;p=k[h>>2]|0;m=(k[m>>2]|0)+44|0;q=(k[m>>2]|0)+1|0;k[m>>2]=q;cv(g,64,n,p,q,k[(k[j>>2]|0)+8>>2]|0,-18)|0;ty(k[i>>2]|0,k[l>>2]&255);u=o;return}function SD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a=k[e>>2]|0;if(k[(k[e>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[i>>2]=a;k[j>>2]=k[(k[i>>2]|0)+468>>2];while(1){if(!(k[j>>2]|0))break;if((k[k[j>>2]>>2]|0)==(k[f>>2]|0)?(k[(k[j>>2]|0)+12>>2]|0)==(k[h>>2]|0):0)break;k[j>>2]=k[(k[j>>2]|0)+4>>2]}if(k[j>>2]|0){j=k[j>>2]|0;u=l;return j|0}i=TD(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=i;j=k[j>>2]|0;u=l;return j|0}function TD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+96|0;w=x;p=x+84|0;q=x+80|0;r=x+76|0;s=x+72|0;t=x+68|0;v=x+64|0;e=x+60|0;f=x+56|0;g=x+52|0;h=x+48|0;j=x+16|0;m=x+12|0;n=x+8|0;o=x+4|0;k[q>>2]=a;k[r>>2]=b;k[s>>2]=c;k[t>>2]=d;a=k[q>>2]|0;if(k[(k[q>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[v>>2]=a;k[e>>2]=k[k[q>>2]>>2];k[g>>2]=0;k[m>>2]=0;k[o>>2]=0;d=im(k[e>>2]|0,24,0)|0;k[f>>2]=d;if(!(k[f>>2]|0)){k[p>>2]=0;w=k[p>>2]|0;u=x;return w|0}k[(k[f>>2]|0)+4>>2]=k[(k[v>>2]|0)+468>>2];k[(k[v>>2]|0)+468>>2]=k[f>>2];d=im(k[e>>2]|0,24,0)|0;k[m>>2]=d;k[(k[f>>2]|0)+8>>2]=d;if(!(k[m>>2]|0)){k[p>>2]=0;w=k[p>>2]|0;u=x;return w|0}UD(k[(k[v>>2]|0)+8>>2]|0,k[m>>2]|0);k[k[f>>2]>>2]=k[r>>2];k[(k[f>>2]|0)+12>>2]=k[t>>2];k[(k[f>>2]|0)+16>>2]=-1;k[(k[f>>2]|0)+16+4>>2]=-1;d=im(k[e>>2]|0,480,0)|0;k[n>>2]=d;if(!(k[n>>2]|0)){k[p>>2]=0;w=k[p>>2]|0;u=x;return w|0};k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[j+12>>2]=0;k[j+16>>2]=0;k[j+20>>2]=0;k[j+24>>2]=0;k[j+28>>2]=0;k[j>>2]=k[n>>2];k[k[n>>2]>>2]=k[e>>2];k[(k[n>>2]|0)+128>>2]=k[s>>2];k[(k[n>>2]|0)+124>>2]=k[v>>2];k[(k[n>>2]|0)+448>>2]=k[k[r>>2]>>2];i[(k[n>>2]|0)+148>>0]=i[(k[r>>2]|0)+8>>0]|0;k[(k[n>>2]|0)+136>>2]=k[(k[q>>2]|0)+136>>2];s=Vu(k[n>>2]|0)|0;k[h>>2]=s;if(k[h>>2]|0){d=k[h>>2]|0;s=k[e>>2]|0;k[w>>2]=k[k[r>>2]>>2];dv(d,-1,ek(s,34505,w)|0,-1);if(k[(k[r>>2]|0)+12>>2]|0){w=ex(k[e>>2]|0,k[(k[r>>2]|0)+12>>2]|0,0)|0;k[g>>2]=w;if(0==(Yw(j,k[g>>2]|0)|0)?(l[(k[e>>2]|0)+69>>0]|0|0)==0:0){w=uy(k[h>>2]|0)|0;k[o>>2]=w;xz(k[n>>2]|0,k[g>>2]|0,k[o>>2]|0,16)}Yk(k[e>>2]|0,k[g>>2]|0)}VD(k[n>>2]|0,k[(k[r>>2]|0)+28>>2]|0,k[t>>2]|0)|0;if(k[o>>2]|0)yy(k[h>>2]|0,k[o>>2]|0);Xu(k[h>>2]|0,75)|0;WD(k[q>>2]|0,k[n>>2]|0);if(!(l[(k[e>>2]|0)+69>>0]|0)){w=XD(k[h>>2]|0,(k[m>>2]|0)+4|0,(k[v>>2]|0)+108|0)|0;k[k[m>>2]>>2]=w}k[(k[m>>2]|0)+8>>2]=k[(k[n>>2]|0)+44>>2];k[(k[m>>2]|0)+12>>2]=k[(k[n>>2]|0)+40>>2];k[(k[m>>2]|0)+16>>2]=k[r>>2];k[(k[f>>2]|0)+16>>2]=k[(k[n>>2]|0)+140>>2];k[(k[f>>2]|0)+16+4>>2]=k[(k[n>>2]|0)+144>>2];Xr(k[h>>2]|0)}Al(k[n>>2]|0);fe(k[e>>2]|0,k[n>>2]|0);k[p>>2]=k[f>>2];w=k[p>>2]|0;u=x;return w|0}function UD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[e>>2]|0)+20>>2]=k[(k[d>>2]|0)+200>>2];k[(k[d>>2]|0)+200>>2]=k[e>>2];u=c;return}function VD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=u;u=u+64|0;e=n+52|0;o=n+48|0;f=n+44|0;g=n+40|0;h=n+36|0;j=n+32|0;m=n+8|0;d=n;k[e>>2]=a;k[o>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[e>>2]|0)+8>>2];k[j>>2]=k[k[e>>2]>>2];k[g>>2]=k[o>>2];while(1){if(!(k[g>>2]|0))break;if((k[f>>2]|0)==10)a=i[(k[g>>2]|0)+1>>0]|0;else a=k[f>>2]&255;i[(k[e>>2]|0)+149>>0]=a;switch(l[k[g>>2]>>0]|0|0){case 110:{b=k[e>>2]|0;c=xE(k[e>>2]|0,k[g>>2]|0)|0;o=mx(k[j>>2]|0,k[(k[g>>2]|0)+20>>2]|0,0)|0;$t(b,c,o,ex(k[j>>2]|0,k[(k[g>>2]|0)+16>>2]|0,0)|0,l[(k[e>>2]|0)+149>>0]|0);break}case 108:{b=k[e>>2]|0;c=xE(k[e>>2]|0,k[g>>2]|0)|0;o=uw(k[j>>2]|0,k[(k[g>>2]|0)+8>>2]|0,0)|0;bu(b,c,o,gy(k[j>>2]|0,k[(k[g>>2]|0)+24>>2]|0)|0,l[(k[e>>2]|0)+149>>0]|0);break}case 109:{o=k[e>>2]|0;Zt(o,xE(k[e>>2]|0,k[g>>2]|0)|0,ex(k[j>>2]|0,k[(k[g>>2]|0)+16>>2]|0,0)|0);break}default:{o=uw(k[j>>2]|0,k[(k[g>>2]|0)+8>>2]|0,0)|0;k[d>>2]=o;Kz(m,4,0);Kt(k[e>>2]|0,k[d>>2]|0,m)|0;Tk(k[j>>2]|0,k[d>>2]|0)}}if((l[k[g>>2]>>0]|0|0)!=119)Xu(k[h>>2]|0,118)|0;k[g>>2]=k[(k[g>>2]|0)+28>>2]}u=n;return 0}function WD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;a=k[d>>2]|0;if(!(k[(k[c>>2]|0)+36>>2]|0)){k[(k[c>>2]|0)+4>>2]=k[a+4>>2];k[(k[c>>2]|0)+36>>2]=k[(k[d>>2]|0)+36>>2];k[(k[c>>2]|0)+12>>2]=k[(k[d>>2]|0)+12>>2];u=e;return}else{fe(k[a>>2]|0,k[(k[d>>2]|0)+4>>2]|0);u=e;return}}function XD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=u;u=u+16|0;f=e+12|0;g=e+8|0;h=e+4|0;d=e;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[d>>2]=k[(k[f>>2]|0)+88>>2];YD(k[f>>2]|0,k[h>>2]|0);k[k[g>>2]>>2]=k[(k[f>>2]|0)+136>>2];k[(k[f>>2]|0)+88>>2]=0;u=e;return k[d>>2]|0}function YD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0;o=u;u=u+32|0;c=o+24|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;m=o;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[d>>2]>>2];k[g>>2]=k[(k[c>>2]|0)+12>>2];k[h>>2]=k[(k[g>>2]|0)+76>>2];b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-129|128;b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-257;k[f>>2]=(k[(k[c>>2]|0)+88>>2]|0)+(((k[(k[c>>2]|0)+136>>2]|0)-1|0)*20|0);while(1){if((l[k[f>>2]>>0]|0|0)<=71){switch(l[k[f>>2]>>0]|0|0){case 2:{if(k[(k[f>>2]|0)+8>>2]|0){n=(k[c>>2]|0)+144|0;j[n>>1]=j[n>>1]&-129;n=6}else n=6;break}case 0:case 1:{n=6;break}case 9:case 10:case 8:{b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-129;b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-257|256;break}case 12:{if((k[(k[f>>2]|0)+8>>2]|0)>(k[e>>2]|0))k[e>>2]=k[(k[f>>2]|0)+8>>2];break}case 11:{k[m>>2]=k[(k[f>>2]|0)+-20+4>>2];if((k[m>>2]|0)>(k[e>>2]|0))k[e>>2]=k[m>>2];break}case 3:case 5:case 7:{k[(k[f>>2]|0)+16>>2]=209;i[(k[f>>2]|0)+1>>0]=-19;break}case 4:case 6:{k[(k[f>>2]|0)+16>>2]=210;i[(k[f>>2]|0)+1>>0]=-19;break}default:{}}if((n|0)==6){n=0;b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-257|256}if((l[32756+(l[k[f>>2]>>0]|0)>>0]|0)&1|0?(k[(k[f>>2]|0)+8>>2]|0)<0:0)k[(k[f>>2]|0)+8>>2]=k[(k[h>>2]|0)+(-1-(k[(k[f>>2]|0)+8>>2]|0)<<2)>>2]}if((k[f>>2]|0)==(k[(k[c>>2]|0)+88>>2]|0))break;k[f>>2]=(k[f>>2]|0)+-20}fe(k[k[c>>2]>>2]|0,k[(k[g>>2]|0)+76>>2]|0);k[(k[g>>2]|0)+76>>2]=0;k[(k[g>>2]|0)+72>>2]=0;k[k[d>>2]>>2]=k[e>>2];u=o;return}function ZD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;j[(k[d>>2]|0)+16+18>>1]=0;a=(k[d>>2]|0)+64|0;i[a>>0]=l[a>>0]&-7;k[k[e>>2]>>2]=0;a=k[d>>2]|0;if((l[(k[d>>2]|0)+66>>0]|0)!=1){f=vE(a,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;u=g;return f|0}k[f>>2]=k[a+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2];a=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;b=(j[a>>1]|0)+1<<16>>16;j[a>>1]=b;if((b&65535|0)>=(m[(k[f>>2]|0)+18>>1]|0)){f=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;j[f>>1]=(j[f>>1]|0)+-1<<16>>16;f=vE(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;u=g;return f|0}if(i[(k[f>>2]|0)+4>>0]|0){k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}else{f=wE(k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;u=g;return f|0}return 0}function _D(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;k[k[e>>2]>>2]=0;b=(k[d>>2]|0)+64|0;i[b>>0]=l[b>>0]&-15;j[(k[d>>2]|0)+16+18>>1]=0;if(((l[(k[d>>2]|0)+66>>0]|0)==1?m[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]|0:0)?l[(k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0:0){e=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;j[e>>1]=(j[e>>1]|0)+-1<<16>>16;k[c>>2]=0;e=k[c>>2]|0;u=f;return e|0}e=$D(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=e;e=k[c>>2]|0;u=f;return e|0}function $D(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=u;u=u+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;c=o;k[e>>2]=a;k[f>>2]=b;if((l[(k[e>>2]|0)+66>>0]|0)!=1){if((l[(k[e>>2]|0)+66>>0]|0)>=3)a=aE(k[e>>2]|0)|0;else a=0;k[g>>2]=a;if(k[g>>2]|0){k[d>>2]=k[g>>2];n=k[d>>2]|0;u=o;return n|0}if(!(l[(k[e>>2]|0)+66>>0]|0)){k[k[f>>2]>>2]=1;k[d>>2]=0;n=k[d>>2]|0;u=o;return n|0}if(k[(k[e>>2]|0)+60>>2]|0?(i[(k[e>>2]|0)+66>>0]=1,b=(k[(k[e>>2]|0)+60>>2]|0)<0,k[(k[e>>2]|0)+60>>2]=0,b):0){k[d>>2]=0;n=k[d>>2]|0;u=o;return n|0}}k[h>>2]=k[(k[e>>2]|0)+120+(i[(k[e>>2]|0)+68>>0]<<2)>>2];do if(i[(k[h>>2]|0)+4>>0]|0){while(1){a=k[e>>2]|0;if(m[(k[e>>2]|0)+80+(i[(k[e>>2]|0)+68>>0]<<1)>>1]|0)break;b=k[e>>2]|0;if(!(i[a+68>>0]|0)){n=17;break}dE(b)}if((n|0)==17){i[b+66>>0]=0;k[k[f>>2]>>2]=1;k[d>>2]=0;n=k[d>>2]|0;u=o;return n|0}n=a+80+(i[(k[e>>2]|0)+68>>0]<<1)|0;j[n>>1]=(j[n>>1]|0)+-1<<16>>16;k[h>>2]=k[(k[e>>2]|0)+120+(i[(k[e>>2]|0)+68>>0]<<2)>>2];if(l[(k[h>>2]|0)+2>>0]|0?(i[(k[h>>2]|0)+4>>0]|0)==0:0){n=_D(k[e>>2]|0,k[f>>2]|0)|0;k[g>>2]=n;break}k[g>>2]=0}else{k[c>>2]=m[(k[e>>2]|0)+80+(i[(k[e>>2]|0)+68>>0]<<1)>>1];n=k[e>>2]|0;n=bE(n,dm((k[(k[h>>2]|0)+56>>2]|0)+(m[(k[h>>2]|0)+20>>1]&(l[(k[(k[h>>2]|0)+64>>2]|0)+(k[c>>2]<<1)>>0]<<8|l[(k[(k[h>>2]|0)+64>>2]|0)+(k[c>>2]<<1)+1>>0]))|0)|0)|0;k[g>>2]=n;if(!(k[g>>2]|0)){n=cE(k[e>>2]|0)|0;k[g>>2]=n;break}k[d>>2]=k[g>>2];n=k[d>>2]|0;u=o;return n|0}while(0);k[d>>2]=k[g>>2];n=k[d>>2]|0;u=o;return n|0}function aE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;a=k[c>>2]|0;if((l[(k[c>>2]|0)+66>>0]|0|0)==4){k[b>>2]=k[a+60>>2];e=k[b>>2]|0;u=f;return e|0}i[a+66>>0]=0;a=(k[c>>2]|0)+40|0;a=fE(k[c>>2]|0,k[(k[c>>2]|0)+48>>2]|0,k[a>>2]|0,k[a+4>>2]|0,0,e)|0;k[d>>2]=a;if(((k[d>>2]|0)==0?(ie(k[(k[c>>2]|0)+48>>2]|0),k[(k[c>>2]|0)+48>>2]=0,a=(k[c>>2]|0)+60|0,k[a>>2]=k[a>>2]|k[e>>2],k[(k[c>>2]|0)+60>>2]|0):0)?(l[(k[c>>2]|0)+66>>0]|0|0)==1:0)i[(k[c>>2]|0)+66>>0]=2;k[b>>2]=k[d>>2];e=k[b>>2]|0;u=f;return e|0}function bE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[d>>2]|0)+4>>2];if((i[(k[d>>2]|0)+68>>0]|0)>=19){f=un(63009)|0;k[c>>2]=f;f=k[c>>2]|0;u=g;return f|0}else{j[(k[d>>2]|0)+16+18>>1]=0;b=(k[d>>2]|0)+64|0;i[b>>0]=l[b>>0]&-7;b=(k[d>>2]|0)+68|0;i[b>>0]=(i[b>>0]|0)+1<<24>>24;j[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]=0;f=eE(k[f>>2]|0,k[e>>2]|0,(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)|0,k[d>>2]|0,l[(k[d>>2]|0)+65>>0]|0)|0;k[c>>2]=f;f=k[c>>2]|0;u=g;return f|0}return 0}function cE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;e=h+16|0;f=h+12|0;c=h+8|0;g=h+4|0;d=h;k[f>>2]=a;k[g>>2]=0;k[d>>2]=0;while(1){a=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0;k[d>>2]=a;b=k[d>>2]|0;if(!((i[a+4>>0]|0)!=0^1)){a=5;break}b=dm((k[b+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0)|0;k[c>>2]=b;j[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]=j[(k[d>>2]|0)+18>>1]|0;b=bE(k[f>>2]|0,k[c>>2]|0)|0;k[g>>2]=b;if(k[g>>2]|0){a=4;break}}if((a|0)==4){k[e>>2]=k[g>>2];g=k[e>>2]|0;u=h;return g|0}else if((a|0)==5){j[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]=(m[b+18>>1]|0)-1;k[e>>2]=0;g=k[e>>2]|0;u=h;return g|0}return 0}function dE(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b;k[d>>2]=a;j[(k[d>>2]|0)+16+18>>1]=0;c=(k[d>>2]|0)+64|0;i[c>>0]=(l[c>>0]|0)&-7;c=(k[d>>2]|0)+120|0;d=(k[d>>2]|0)+68|0;a=i[d>>0]|0;i[d>>0]=a+-1<<24>>24;xq(k[c+(a<<24>>24<<2)>>2]|0);u=b;return}function eE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;j=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;f=r+8|0;g=r+4|0;h=r;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[f>>2]=e;e=k[o>>2]|0;a:do if(e>>>0<=($n(k[n>>2]|0)|0)>>>0){e=rn(k[k[n>>2]>>2]|0,k[o>>2]|0,h,k[f>>2]|0)|0;k[g>>2]=e;if(!(k[g>>2]|0)){e=Vn(k[h>>2]|0)|0;k[k[p>>2]>>2]=e;if((l[k[k[p>>2]>>2]>>0]|0|0)==0?(wq(k[h>>2]|0,k[o>>2]|0,k[n>>2]|0)|0,o=Ap(k[k[p>>2]>>2]|0)|0,k[g>>2]=o,k[g>>2]|0):0){mq(k[k[p>>2]>>2]|0);break}do if(k[q>>2]|0){if((m[(k[k[p>>2]>>2]|0)+18>>1]|0|0)>=1?(l[(k[k[p>>2]>>2]|0)+2>>0]|0|0)==(l[(k[q>>2]|0)+69>>0]|0|0):0)break;o=un(60266)|0;k[g>>2]=o;mq(k[k[p>>2]>>2]|0);break a}while(0);k[j>>2]=0;q=k[j>>2]|0;u=r;return q|0}}else{p=un(60244)|0;k[g>>2]=p}while(0);if(k[q>>2]|0){q=(k[q>>2]|0)+68|0;i[q>>0]=(i[q>>0]|0)+-1<<24>>24}k[j>>2]=k[g>>2];q=k[j>>2]|0;u=r;return q|0}function fE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+432|0;n=r+36|0;o=r+32|0;p=r+28|0;q=r;g=r+24|0;h=r+20|0;i=r+16|0;j=r+12|0;l=r+8|0;k[o>>2]=a;k[p>>2]=b;b=q;k[b>>2]=c;k[b+4>>2]=d;k[g>>2]=e;k[h>>2]=f;k[l>>2]=0;if(k[p>>2]|0){f=gE(k[(k[o>>2]|0)+72>>2]|0,r+40|0,384,l)|0;k[j>>2]=f;if(!(k[j>>2]|0)){k[n>>2]=7;q=k[n>>2]|0;u=r;return q|0}hE(k[(k[o>>2]|0)+72>>2]|0,k[q>>2]|0,k[p>>2]|0,k[j>>2]|0);if(!(m[(k[j>>2]|0)+8>>1]|0)){fe(k[(k[(k[o>>2]|0)+72>>2]|0)+12>>2]|0,k[l>>2]|0);q=un(59021)|0;k[n>>2]=q;q=k[n>>2]|0;u=r;return q|0}}else k[j>>2]=0;q=iE(k[o>>2]|0,k[j>>2]|0,k[q>>2]|0,k[q+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=q;if(k[l>>2]|0)fe(k[(k[(k[o>>2]|0)+72>>2]|0)+12>>2]|0,k[l>>2]|0);k[n>>2]=k[i>>2];q=k[n>>2]|0;u=r;return q|0}function gE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0;o=u;u=u+32|0;g=o+28|0;h=o+24|0;i=o+20|0;p=o+16|0;l=o+12|0;n=o+8|0;e=o+4|0;f=o;k[h>>2]=a;k[i>>2]=b;k[p>>2]=c;k[l>>2]=d;k[e>>2]=8-(k[i>>2]&7)&7;k[f>>2]=16+(((m[(k[h>>2]|0)+6>>1]|0)+1|0)*40|0);if((k[f>>2]|0)>((k[p>>2]|0)+(k[e>>2]|0)|0)){p=k[f>>2]|0;p=Md(k[(k[h>>2]|0)+12>>2]|0,p,((p|0)<0)<<31>>31)|0;k[n>>2]=p;k[k[l>>2]>>2]=k[n>>2];if(!(k[n>>2]|0)){k[g>>2]=0;p=k[g>>2]|0;u=o;return p|0}}else{k[n>>2]=(k[i>>2]|0)+(k[e>>2]|0);k[k[l>>2]>>2]=0}k[(k[n>>2]|0)+4>>2]=(k[n>>2]|0)+16;k[k[n>>2]>>2]=k[h>>2];j[(k[n>>2]|0)+8>>1]=(m[(k[h>>2]|0)+6>>1]|0)+1;k[g>>2]=k[n>>2];p=k[g>>2]|0;u=o;return p|0}function hE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+48|0;n=t+36|0;o=t+32|0;v=t+28|0;s=t+24|0;p=t+20|0;q=t+16|0;e=t+12|0;r=t+40|0;f=t+8|0;g=t+4|0;h=t;k[n>>2]=a;k[o>>2]=b;k[v>>2]=c;k[s>>2]=d;k[p>>2]=k[v>>2];k[g>>2]=k[(k[s>>2]|0)+4>>2];i[(k[s>>2]|0)+10>>0]=0;a=k[p>>2]|0;if((l[k[p>>2]>>0]|0|0)<128){k[f>>2]=l[a>>0];a=1}else a=(pE(a,f)|0)&255;k[e>>2]=a&255;k[q>>2]=k[f>>2];j[r>>1]=0;while(1){if((k[e>>2]|0)>>>0>=(k[f>>2]|0)>>>0){a=11;break}if((k[q>>2]|0)>(k[o>>2]|0)){a=11;break}a=(k[p>>2]|0)+(k[e>>2]|0)|0;if((l[(k[p>>2]|0)+(k[e>>2]|0)>>0]|0|0)<128){k[h>>2]=l[a>>0];a=1}else a=(pE(a,h)|0)&255;k[e>>2]=(k[e>>2]|0)+(a&255);i[(k[g>>2]|0)+10>>0]=i[(k[n>>2]|0)+4>>0]|0;k[(k[g>>2]|0)+32>>2]=k[(k[n>>2]|0)+12>>2];k[(k[g>>2]|0)+24>>2]=0;k[(k[g>>2]|0)+16>>2]=0;v=rE((k[p>>2]|0)+(k[q>>2]|0)|0,k[h>>2]|0,k[g>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+v;k[g>>2]=(k[g>>2]|0)+40;v=(j[r>>1]|0)+1<<16>>16;j[r>>1]=v;if((v&65535|0)>=(m[(k[s>>2]|0)+8>>1]|0|0)){a=11;break}}if((a|0)==11){j[(k[s>>2]|0)+8>>1]=j[r>>1]|0;u=t;return}}function iE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+96|0;B=F+80|0;C=F+76|0;D=F+72|0;E=F+8|0;g=F+68|0;h=F+64|0;n=F+60|0;o=F+56|0;p=F+52|0;q=F+48|0;r=F+44|0;s=F+40|0;t=F+36|0;v=F+32|0;w=F+28|0;x=F;y=F+24|0;z=F+20|0;A=F+16|0;k[C>>2]=a;k[D>>2]=b;b=E;k[b>>2]=c;k[b+4>>2]=d;k[g>>2]=e;k[h>>2]=f;if(((k[D>>2]|0)==0?(l[(k[C>>2]|0)+66>>0]|0)==1:0)?l[(k[C>>2]|0)+64>>0]&2|0:0){e=(k[C>>2]|0)+16|0;f=E;if((k[e>>2]|0)==(k[f>>2]|0)?(k[e+4>>2]|0)==(k[f+4>>2]|0):0){k[k[h>>2]>>2]=0;k[B>>2]=0;E=k[B>>2]|0;u=F;return E|0}if(l[(k[C>>2]|0)+64>>0]&8|0?(e=(k[C>>2]|0)+16|0,c=k[e+4>>2]|0,f=E,d=k[f+4>>2]|0,(c|0)<(d|0)|((c|0)==(d|0)?(k[e>>2]|0)>>>0<(k[f>>2]|0)>>>0:0)):0){k[k[h>>2]>>2]=-1;k[B>>2]=0;E=k[B>>2]|0;u=F;return E|0}}if(k[D>>2]|0){f=jE(k[D>>2]|0)|0;k[o>>2]=f;i[(k[D>>2]|0)+11>>0]=0}else k[o>>2]=0;f=kE(k[C>>2]|0)|0;k[n>>2]=f;if(k[n>>2]|0){k[B>>2]=k[n>>2];E=k[B>>2]|0;u=F;return E|0}if(!(l[(k[C>>2]|0)+66>>0]|0)){k[k[h>>2]>>2]=-1;k[B>>2]=0;E=k[B>>2]|0;u=F;return E|0}a:do{k[v>>2]=k[(k[C>>2]|0)+120+(i[(k[C>>2]|0)+68>>0]<<2)>>2];k[p>>2]=0;k[q>>2]=(m[(k[v>>2]|0)+18>>1]|0)-1;k[r>>2]=k[q>>2]>>1-(k[g>>2]|0);j[(k[C>>2]|0)+80+(i[(k[C>>2]|0)+68>>0]<<1)>>1]=k[r>>2];b:do if(!(k[o>>2]|0)){while(1){k[w>>2]=(k[(k[v>>2]|0)+68>>2]|0)+(m[(k[v>>2]|0)+20>>1]&(l[(k[(k[v>>2]|0)+64>>2]|0)+(k[r>>2]<<1)>>0]<<8|l[(k[(k[v>>2]|0)+64>>2]|0)+(k[r>>2]<<1)+1>>0]));c:do if(i[(k[v>>2]|0)+3>>0]|0)while(1){f=k[w>>2]|0;k[w>>2]=f+1;if(128>(l[f>>0]|0))break c;if((k[w>>2]|0)>>>0>=(k[(k[v>>2]|0)+60>>2]|0)>>>0){c=20;break a}}while(0);Ip(k[w>>2]|0,x)|0;e=x;c=k[e+4>>2]|0;f=E;d=k[f+4>>2]|0;if((c|0)<(d|0)|((c|0)==(d|0)?(k[e>>2]|0)>>>0<(k[f>>2]|0)>>>0:0)){k[p>>2]=(k[r>>2]|0)+1;if((k[p>>2]|0)>(k[q>>2]|0)){c=23;break}}else{e=x;c=k[e+4>>2]|0;f=E;d=k[f+4>>2]|0;if(!((c|0)>(d|0)|((c|0)==(d|0)?(k[e>>2]|0)>>>0>(k[f>>2]|0)>>>0:0))){c=27;break}k[q>>2]=(k[r>>2]|0)-1;if((k[p>>2]|0)>(k[q>>2]|0)){c=26;break}}k[r>>2]=(k[p>>2]|0)+(k[q>>2]|0)>>1}if((c|0)==23){k[s>>2]=-1;c=51;break}else if((c|0)==26){k[s>>2]=1;c=51;break}else if((c|0)==27){c=0;d=(k[C>>2]|0)+64|0;i[d>>0]=l[d>>0]|2;d=x;e=k[d+4>>2]|0;f=(k[C>>2]|0)+16|0;k[f>>2]=k[d>>2];k[f+4>>2]=e;j[(k[C>>2]|0)+80+(i[(k[C>>2]|0)+68>>0]<<1)>>1]=k[r>>2];if(i[(k[v>>2]|0)+4>>0]|0){c=29;break a}k[p>>2]=k[r>>2];break}}else while(1){k[w>>2]=(k[(k[v>>2]|0)+68>>2]|0)+(m[(k[v>>2]|0)+20>>1]&(l[(k[(k[v>>2]|0)+64>>2]|0)+(k[r>>2]<<1)>>0]<<8|l[(k[(k[v>>2]|0)+64>>2]|0)+(k[r>>2]<<1)+1>>0]));k[y>>2]=l[k[w>>2]>>0];do if((k[y>>2]|0)<=(l[(k[v>>2]|0)+7>>0]|0)){f=Lb[k[o>>2]&255](k[y>>2]|0,(k[w>>2]|0)+1|0,k[D>>2]|0)|0;k[s>>2]=f}else{if((l[(k[w>>2]|0)+1>>0]&128|0)==0?(f=((k[y>>2]&127)<<7)+(l[(k[w>>2]|0)+1>>0]|0)|0,k[y>>2]=f,(f|0)<=(m[(k[v>>2]|0)+10>>1]|0)):0){f=Lb[k[o>>2]&255](k[y>>2]|0,(k[w>>2]|0)+2|0,k[D>>2]|0)|0;k[s>>2]=f;break}k[A>>2]=(k[w>>2]|0)+(0-(l[(k[v>>2]|0)+6>>0]|0));Sb[k[(k[v>>2]|0)+80>>2]&255](k[v>>2]|0,k[A>>2]|0,(k[C>>2]|0)+16|0);k[y>>2]=k[(k[C>>2]|0)+16>>2];if((k[y>>2]|0)<2){c=37;break a}f=(k[y>>2]|0)+18|0;f=Pd(f,((f|0)<0)<<31>>31)|0;k[z>>2]=f;if(!(k[z>>2]|0)){c=39;break a}j[(k[C>>2]|0)+80+(i[(k[C>>2]|0)+68>>0]<<1)>>1]=k[r>>2];f=Jq(k[C>>2]|0,0,k[y>>2]|0,k[z>>2]|0,2)|0;k[n>>2]=f;if(k[n>>2]|0){c=41;break a}f=Lb[k[o>>2]&255](k[y>>2]|0,k[z>>2]|0,k[D>>2]|0)|0;k[s>>2]=f;ie(k[z>>2]|0)}while(0);if((k[s>>2]|0)<0)k[p>>2]=(k[r>>2]|0)+1;else{if((k[s>>2]|0)<=0){c=47;break a}k[q>>2]=(k[r>>2]|0)-1}if((k[p>>2]|0)>(k[q>>2]|0)){c=51;break b}k[r>>2]=(k[p>>2]|0)+(k[q>>2]|0)>>1}while(0);if((c|0)==51?(c=0,i[(k[v>>2]|0)+4>>0]|0):0){c=52;break}a=k[(k[v>>2]|0)+56>>2]|0;b=k[v>>2]|0;if((k[p>>2]|0)>=(m[(k[v>>2]|0)+18>>1]|0)){f=dm(a+((l[b+5>>0]|0)+8)|0)|0;k[t>>2]=f}else{f=dm(a+(m[b+20>>1]&(l[(k[(k[v>>2]|0)+64>>2]|0)+(k[p>>2]<<1)>>0]<<8|l[(k[(k[v>>2]|0)+64>>2]|0)+(k[p>>2]<<1)+1>>0]))|0)|0;k[t>>2]=f}j[(k[C>>2]|0)+80+(i[(k[C>>2]|0)+68>>0]<<1)>>1]=k[p>>2];f=bE(k[C>>2]|0,k[t>>2]|0)|0;k[n>>2]=f}while(!(k[n>>2]|0));if((c|0)==20){E=un(63387)|0;k[B>>2]=E;E=k[B>>2]|0;u=F;return E|0}else if((c|0)==29){k[k[h>>2]>>2]=0;k[n>>2]=0}else if((c|0)==37){E=un(63460)|0;k[n>>2]=E}else if((c|0)==39)k[n>>2]=7;else if((c|0)==41)ie(k[z>>2]|0);else if((c|0)==47){k[k[h>>2]>>2]=0;k[n>>2]=0;j[(k[C>>2]|0)+80+(i[(k[C>>2]|0)+68>>0]<<1)>>1]=k[r>>2];if(i[(k[D>>2]|0)+11>>0]|0)k[n>>2]=11}else if((c|0)==52){j[(k[C>>2]|0)+80+(i[(k[C>>2]|0)+68>>0]<<1)>>1]=k[r>>2];k[k[h>>2]>>2]=k[s>>2];k[n>>2]=0}j[(k[C>>2]|0)+16+18>>1]=0;E=(k[C>>2]|0)+64|0;i[E>>0]=l[E>>0]&-7;k[B>>2]=k[n>>2];E=k[B>>2]|0;u=F;return E|0}function jE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;if(((m[(k[k[d>>2]>>2]|0)+6>>1]|0)+(m[(k[k[d>>2]>>2]|0)+8>>1]|0)|0)<=13){k[e>>2]=m[(k[(k[d>>2]|0)+4>>2]|0)+8>>1];a=(k[d>>2]|0)+12|0;if(i[k[(k[k[d>>2]>>2]|0)+16>>2]>>0]|0){i[a>>0]=1;a=-1;b=k[d>>2]|0}else{i[a>>0]=-1;a=1;b=k[d>>2]|0}i[b+13>>0]=a;if(k[e>>2]&4|0){k[c>>2]=158;e=k[c>>2]|0;u=f;return e|0}if((k[e>>2]&25|0)==0?(k[(k[k[d>>2]>>2]|0)+20>>2]|0)==0:0){k[c>>2]=159;e=k[c>>2]|0;u=f;return e|0}}k[c>>2]=160;e=k[c>>2]|0;u=f;return e|0}function kE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0;g=u;u=u+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[e>>2]=0;do if((l[(k[c>>2]|0)+66>>0]|0)>=3){a=k[c>>2]|0;if((l[(k[c>>2]|0)+66>>0]|0)!=4){Jr(a);break}k[b>>2]=k[a+60>>2];f=k[b>>2]|0;u=g;return f|0}while(0);a:do if((i[(k[c>>2]|0)+68>>0]|0)>=0)while(1){if(!(i[(k[c>>2]|0)+68>>0]|0))break a;h=(k[c>>2]|0)+120|0;n=(k[c>>2]|0)+68|0;a=i[n>>0]|0;i[n>>0]=a+-1<<24>>24;xq(k[h+(a<<24>>24<<2)>>2]|0)}else{a=k[c>>2]|0;if(!(k[(k[c>>2]|0)+52>>2]|0)){i[a+66>>0]=0;k[b>>2]=0;n=k[b>>2]|0;u=g;return n|0}a=eE(k[(k[a>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+52>>2]|0,(k[c>>2]|0)+120|0,0,l[(k[c>>2]|0)+65>>0]|0)|0;k[e>>2]=a;a=k[c>>2]|0;if(!(k[e>>2]|0)){i[a+68>>0]=0;i[(k[c>>2]|0)+69>>0]=i[(k[(k[c>>2]|0)+120>>2]|0)+2>>0]|0;break}i[a+66>>0]=0;k[b>>2]=k[e>>2];n=k[b>>2]|0;u=g;return n|0}while(0);k[d>>2]=k[(k[c>>2]|0)+120>>2];if(l[k[d>>2]>>0]|0?((k[(k[c>>2]|0)+72>>2]|0)==0|0)==(l[(k[d>>2]|0)+2>>0]|0):0){j[(k[c>>2]|0)+80>>1]=0;j[(k[c>>2]|0)+16+18>>1]=0;n=(k[c>>2]|0)+64|0;i[n>>0]=l[n>>0]&-15;do if((m[(k[d>>2]|0)+18>>1]|0)>0)i[(k[c>>2]|0)+66>>0]=1;else{if(i[(k[d>>2]|0)+4>>0]|0){i[(k[c>>2]|0)+66>>0]=0;break}if((k[(k[d>>2]|0)+84>>2]|0)==1){n=dm((k[(k[d>>2]|0)+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0)|0;k[f>>2]=n;i[(k[c>>2]|0)+66>>0]=1;n=bE(k[c>>2]|0,k[f>>2]|0)|0;k[e>>2]=n;break}n=un(63147)|0;k[b>>2]=n;n=k[b>>2]|0;u=g;return n|0}while(0);k[b>>2]=k[e>>2];n=k[b>>2]|0;u=g;return n|0}n=un(63136)|0;k[b>>2]=n;n=k[b>>2]|0;u=g;return n|0}function lE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+64|0;j=r+52|0;n=r+48|0;o=r+44|0;p=r+40|0;h=r+36|0;s=r+32|0;q=r+28|0;d=r+24|0;e=r+16|0;f=r+8|0;g=r;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[h>>2]=(k[o>>2]|0)+(l[k[o>>2]>>0]&63);k[s>>2]=l[(k[o>>2]|0)+1>>0];do switch(k[s>>2]|0){case 1:{h=i[k[h>>2]>>0]|0;s=g;k[s>>2]=h;k[s+4>>2]=((h|0)<0)<<31>>31;break}case 2:{h=i[k[h>>2]>>0]<<8|l[(k[h>>2]|0)+1>>0];s=g;k[s>>2]=h;k[s+4>>2]=((h|0)<0)<<31>>31;break}case 3:{h=i[k[h>>2]>>0]<<16|l[(k[h>>2]|0)+1>>0]<<8|l[(k[h>>2]|0)+2>>0];s=g;k[s>>2]=h;k[s+4>>2]=((h|0)<0)<<31>>31;break}case 4:{k[d>>2]=l[k[h>>2]>>0]<<24|l[(k[h>>2]|0)+1>>0]<<16|l[(k[h>>2]|0)+2>>0]<<8|l[(k[h>>2]|0)+3>>0];h=k[d>>2]|0;s=g;k[s>>2]=h;k[s+4>>2]=((h|0)<0)<<31>>31;break}case 5:{s=i[k[h>>2]>>0]<<8|l[(k[h>>2]|0)+1>>0];h=i0(l[(k[h>>2]|0)+2>>0]<<24|l[(k[h>>2]|0)+2+1>>0]<<16|l[(k[h>>2]|0)+2+2>>0]<<8|l[(k[h>>2]|0)+2+3>>0]|0,0,B0(0,1,s|0,((s|0)<0)<<31>>31|0)|0,M|0)|0;s=g;k[s>>2]=h;k[s+4>>2]=M;break}case 6:{s=e;k[s>>2]=l[k[h>>2]>>0]<<24|l[(k[h>>2]|0)+1>>0]<<16|l[(k[h>>2]|0)+2>>0]<<8|l[(k[h>>2]|0)+3>>0];k[s+4>>2]=0;s=k[e>>2]|0;c=e;k[c>>2]=l[(k[h>>2]|0)+4>>0]<<24|l[(k[h>>2]|0)+4+1>>0]<<16|l[(k[h>>2]|0)+4+2>>0]<<8|l[(k[h>>2]|0)+4+3>>0];k[c+4>>2]=s;c=e;h=k[c+4>>2]|0;s=g;k[s>>2]=k[c>>2];k[s+4>>2]=h;break}case 8:{s=g;k[s>>2]=0;k[s+4>>2]=0;break}case 9:{s=g;k[s>>2]=1;k[s+4>>2]=0;break}case 7:case 0:{s=nE(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[j>>2]=s;s=k[j>>2]|0;u=r;return s|0}default:{s=nE(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[j>>2]=s;s=k[j>>2]|0;u=r;return s|0}}while(0);s=k[(k[p>>2]|0)+4>>2]|0;e=k[s+4>>2]|0;h=f;k[h>>2]=k[s>>2];k[h+4>>2]=e;h=f;e=k[h+4>>2]|0;s=g;c=k[s+4>>2]|0;do if(!((e|0)>(c|0)|((e|0)==(c|0)?(k[h>>2]|0)>>>0>(k[s>>2]|0)>>>0:0))){h=f;f=k[h+4>>2]|0;s=g;c=k[s+4>>2]|0;a=k[p>>2]|0;if((f|0)<(c|0)|((f|0)==(c|0)?(k[h>>2]|0)>>>0<(k[s>>2]|0)>>>0:0)){k[q>>2]=i[a+13>>0];break}if((m[a+8>>1]|0)>1){s=oE(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,1)|0;k[q>>2]=s;break}else{k[q>>2]=i[(k[p>>2]|0)+10>>0];i[(k[p>>2]|0)+14>>0]=1;break}}else k[q>>2]=i[(k[p>>2]|0)+12>>0];while(0);k[j>>2]=k[q>>2];s=k[j>>2]|0;u=r;return s|0}function mE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;p=r+36|0;h=r+32|0;j=r+28|0;n=r+24|0;o=r+20|0;d=r+16|0;q=r+12|0;e=r+8|0;f=r+4|0;g=r;k[h>>2]=a;k[j>>2]=b;k[n>>2]=c;k[o>>2]=k[j>>2];a=(k[o>>2]|0)+1|0;if((l[(k[o>>2]|0)+1>>0]|0)<128)k[d>>2]=l[a>>0];else pE(a,d)|0;do if((k[d>>2]|0)>=12){if(!(k[d>>2]&1)){k[q>>2]=i[(k[n>>2]|0)+13>>0];break}k[g>>2]=l[k[o>>2]>>0];k[f>>2]=((k[d>>2]|0)-12|0)/2|0;if(((k[g>>2]|0)+(k[f>>2]|0)|0)>(k[h>>2]|0)){q=(un(74742)|0)&255;i[(k[n>>2]|0)+11>>0]=q;k[p>>2]=0;q=k[p>>2]|0;u=r;return q|0}if((k[(k[(k[n>>2]|0)+4>>2]|0)+12>>2]|0)<(k[f>>2]|0))a=k[(k[(k[n>>2]|0)+4>>2]|0)+12>>2]|0;else a=k[f>>2]|0;k[e>>2]=a;o=R_((k[o>>2]|0)+(k[g>>2]|0)|0,k[(k[(k[n>>2]|0)+4>>2]|0)+16>>2]|0,k[e>>2]|0)|0;k[q>>2]=o;if(k[q>>2]|0){a=k[n>>2]|0;if((k[q>>2]|0)>0){k[q>>2]=i[a+13>>0];break}else{k[q>>2]=i[a+12>>0];break}}k[q>>2]=(k[f>>2]|0)-(k[(k[(k[n>>2]|0)+4>>2]|0)+12>>2]|0);if(!(k[q>>2]|0))if((m[(k[n>>2]|0)+8>>1]|0)>1){o=oE(k[h>>2]|0,k[j>>2]|0,k[n>>2]|0,1)|0;k[q>>2]=o;break}else{k[q>>2]=i[(k[n>>2]|0)+10>>0];i[(k[n>>2]|0)+14>>0]=1;break}else{a=k[n>>2]|0;if((k[q>>2]|0)>0){k[q>>2]=i[a+13>>0];break}else{k[q>>2]=i[a+12>>0];break}}}else k[q>>2]=i[(k[n>>2]|0)+12>>0];while(0);k[p>>2]=k[q>>2];q=k[p>>2]|0;u=r;return q|0}function nE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=oE(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0)|0;u=d;return c|0}function oE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=u;u=u+128|0;C=E+124|0;x=E+120|0;G=E+116|0;D=E+112|0;F=E+108|0;y=E+104|0;z=E+100|0;f=E+96|0;g=E+92|0;A=E+88|0;h=E+84|0;B=E+80|0;n=E+76|0;o=E+16|0;e=E+72|0;q=E+68|0;r=E+8|0;s=E;t=E+64|0;v=E+60|0;w=E+56|0;k[x>>2]=a;k[G>>2]=b;k[D>>2]=c;k[F>>2]=d;k[A>>2]=0;k[h>>2]=k[(k[D>>2]|0)+4>>2];k[B>>2]=k[k[D>>2]>>2];k[n>>2]=k[G>>2];b=k[n>>2]|0;do if(k[F>>2]|0){a=(k[n>>2]|0)+1|0;if((l[b+1>>0]|0)<128){k[e>>2]=l[a>>0];a=1}else a=(pE(a,e)|0)&255;k[g>>2]=1+(a&255);k[f>>2]=l[k[n>>2]>>0];G=k[f>>2]|0;G=G+(qE(k[e>>2]|0)|0)|0;k[y>>2]=G;k[z>>2]=1;k[h>>2]=(k[h>>2]|0)+40}else{a=k[n>>2]|0;if((l[b>>0]|0)<128){k[f>>2]=l[a>>0];a=1}else a=(pE(a,f)|0)&255;k[g>>2]=a&255;k[y>>2]=k[f>>2];if((k[y>>2]|0)>>>0<=(k[x>>2]|0)>>>0){k[z>>2]=0;break}G=(un(74452)|0)&255;i[(k[D>>2]|0)+11>>0]=G;k[C>>2]=0;G=k[C>>2]|0;u=E;return G|0}while(0);a:while(1){do if(m[(k[h>>2]|0)+8>>1]&4|0){k[q>>2]=l[(k[n>>2]|0)+(k[g>>2]|0)>>0];if((k[q>>2]|0)>>>0>=10){k[A>>2]=1;break}if(!(k[q>>2]|0)){k[A>>2]=-1;break}if((k[q>>2]|0)==7){rE((k[n>>2]|0)+(k[y>>2]|0)|0,k[q>>2]|0,o)|0;G=k[h>>2]|0;G=0-(pj(k[G>>2]|0,k[G+4>>2]|0,+p[o>>3])|0)|0;k[A>>2]=G;break}d=sE(k[q>>2]|0,(k[n>>2]|0)+(k[y>>2]|0)|0)|0;G=r;k[G>>2]=d;k[G+4>>2]=M;G=k[h>>2]|0;d=k[G+4>>2]|0;F=s;k[F>>2]=k[G>>2];k[F+4>>2]=d;F=r;d=k[F+4>>2]|0;G=s;e=k[G+4>>2]|0;if((d|0)<(e|0)|((d|0)==(e|0)?(k[F>>2]|0)>>>0<(k[G>>2]|0)>>>0:0)){k[A>>2]=-1;break}F=r;d=k[F+4>>2]|0;G=s;e=k[G+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(k[F>>2]|0)>>>0>(k[G>>2]|0)>>>0:0))k[A>>2]=1}else{if(m[(k[h>>2]|0)+8>>1]&8|0){k[q>>2]=l[(k[n>>2]|0)+(k[g>>2]|0)>>0];if((k[q>>2]|0)>>>0>=10){k[A>>2]=1;break}if(!(k[q>>2]|0)){k[A>>2]=-1;break}rE((k[n>>2]|0)+(k[y>>2]|0)|0,k[q>>2]|0,o)|0;if((k[q>>2]|0)!=7){G=o;G=pj(k[G>>2]|0,k[G+4>>2]|0,+p[k[h>>2]>>3])|0;k[A>>2]=G;break}if(+p[o>>3]<+p[k[h>>2]>>3]){k[A>>2]=-1;break}if(!(+p[o>>3]>+p[k[h>>2]>>3]))break;k[A>>2]=1;break}if(m[(k[h>>2]|0)+8>>1]&2|0){a=(k[n>>2]|0)+(k[g>>2]|0)|0;if((l[(k[n>>2]|0)+(k[g>>2]|0)>>0]|0)<128)k[q>>2]=l[a>>0];else pE(a,q)|0;if((k[q>>2]|0)>>>0<12){k[A>>2]=-1;break}if(!(k[q>>2]&1)){k[A>>2]=1;break}k[o+12>>2]=(((k[q>>2]|0)-12|0)>>>0)/2|0;if(((k[y>>2]|0)+(k[o+12>>2]|0)|0)>>>0>(k[x>>2]|0)>>>0){a=43;break a}if(k[(k[B>>2]|0)+20+(k[z>>2]<<2)>>2]|0){i[o+10>>0]=i[(k[B>>2]|0)+4>>0]|0;k[o+32>>2]=k[(k[B>>2]|0)+12>>2];j[o+8>>1]=2;k[o+16>>2]=(k[n>>2]|0)+(k[y>>2]|0);G=qj(o,k[h>>2]|0,k[(k[B>>2]|0)+20+(k[z>>2]<<2)>>2]|0,(k[D>>2]|0)+11|0)|0;k[A>>2]=G;break}k[t>>2]=k[((k[o+12>>2]|0)<(k[(k[h>>2]|0)+12>>2]|0)?o:k[h>>2]|0)+12>>2];G=R_((k[n>>2]|0)+(k[y>>2]|0)|0,k[(k[h>>2]|0)+16>>2]|0,k[t>>2]|0)|0;k[A>>2]=G;if(k[A>>2]|0)break;k[A>>2]=(k[o+12>>2]|0)-(k[(k[h>>2]|0)+12>>2]|0);break}a=l[(k[n>>2]|0)+(k[g>>2]|0)>>0]|0;if(!(m[(k[h>>2]|0)+8>>1]&16)){k[q>>2]=a;k[A>>2]=(k[q>>2]|0)!=0&1;break}b=(k[n>>2]|0)+(k[g>>2]|0)|0;if((a|0)<128)k[q>>2]=l[b>>0];else pE(b,q)|0;if((k[q>>2]|0)>>>0>=12?(k[q>>2]&1|0)==0:0){k[v>>2]=(((k[q>>2]|0)-12|0)>>>0)/2|0;if(((k[y>>2]|0)+(k[v>>2]|0)|0)>>>0>(k[x>>2]|0)>>>0){a=56;break a}if(m[(k[h>>2]|0)+8>>1]&16384|0)if(sj((k[n>>2]|0)+(k[y>>2]|0)|0,k[v>>2]|0)|0){k[A>>2]=(k[v>>2]|0)-(k[k[h>>2]>>2]|0);break}else{k[A>>2]=1;break}if((k[v>>2]|0)<(k[(k[h>>2]|0)+12>>2]|0))a=k[v>>2]|0;else a=k[(k[h>>2]|0)+12>>2]|0;k[w>>2]=a;G=R_((k[n>>2]|0)+(k[y>>2]|0)|0,k[(k[h>>2]|0)+16>>2]|0,k[w>>2]|0)|0;k[A>>2]=G;if(k[A>>2]|0)break;k[A>>2]=(k[v>>2]|0)-(k[(k[h>>2]|0)+12>>2]|0);break}k[A>>2]=-1}while(0);if(k[A>>2]|0){a=68;break}k[z>>2]=(k[z>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+40;G=qE(k[q>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+G;G=tE(k[q>>2]|0,0)|0;k[g>>2]=(k[g>>2]|0)+G;if((k[g>>2]|0)>>>0>=(k[f>>2]|0)>>>0){a=74;break}if((k[z>>2]|0)>=(m[(k[D>>2]|0)+8>>1]|0)){a=74;break}if((k[y>>2]|0)>>>0>(k[x>>2]|0)>>>0){a=74;break}}if((a|0)==43){G=(un(74527)|0)&255;i[(k[D>>2]|0)+11>>0]=G;k[C>>2]=0;G=k[C>>2]|0;u=E;return G|0}else if((a|0)==56){G=(un(74557)|0)&255;i[(k[D>>2]|0)+11>>0]=G;k[C>>2]=0;G=k[C>>2]|0;u=E;return G|0}else if((a|0)==68){if(i[(k[(k[B>>2]|0)+16>>2]|0)+(k[z>>2]|0)>>0]|0)k[A>>2]=0-(k[A>>2]|0);k[C>>2]=k[A>>2];G=k[C>>2]|0;u=E;return G|0}else if((a|0)==74){i[(k[D>>2]|0)+14>>0]=1;k[C>>2]=i[(k[D>>2]|0)+10>>0];G=k[C>>2]|0;u=E;return G|0}return 0}function pE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+32|0;c=m+25|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m;j=m+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];i[c>>0]=2;j=i[c>>0]|0;u=m;return j|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];i[c>>0]=3;j=i[c>>0]|0;u=m;return j|0}k[d>>2]=(k[d>>2]|0)+-2;g=Ip(k[d>>2]|0,h)|0;i[j>>0]=g;g=h;if(0!=(k[g+4>>2]|0)?1:(k[h>>2]|0)!=(k[g>>2]|0))k[k[e>>2]>>2]=-1;else k[k[e>>2]>>2]=k[h>>2];i[c>>0]=i[j>>0]|0;j=i[c>>0]|0;u=m;return j|0}function qE(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;b=c+4|0;d=c;k[d>>2]=a;a=k[d>>2]|0;if((k[d>>2]|0)>>>0>=128){k[b>>2]=((a-12|0)>>>0)/2|0;d=k[b>>2]|0;u=c;return d|0}else{k[b>>2]=l[34519+a>>0];d=k[b>>2]|0;u=c;return d|0}return 0}function rE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;switch(k[f>>2]|0){case 0:case 11:case 10:{j[(k[g>>2]|0)+8>>1]=1;k[d>>2]=0;g=k[d>>2]|0;u=h;return g|0}case 1:{e=i[k[e>>2]>>0]|0;f=k[g>>2]|0;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=1;g=k[d>>2]|0;u=h;return g|0}case 2:{e=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];f=k[g>>2]|0;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=2;g=k[d>>2]|0;u=h;return g|0}case 3:{e=i[k[e>>2]>>0]<<16|l[(k[e>>2]|0)+1>>0]<<8|l[(k[e>>2]|0)+2>>0];f=k[g>>2]|0;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=3;g=k[d>>2]|0;u=h;return g|0}case 4:{e=i[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];f=k[g>>2]|0;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=4;g=k[d>>2]|0;u=h;return g|0}case 5:{f=l[(k[e>>2]|0)+2>>0]<<24|l[(k[e>>2]|0)+2+1>>0]<<16|l[(k[e>>2]|0)+2+2>>0]<<8|l[(k[e>>2]|0)+2+3>>0];e=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];e=i0(f|0,0,B0(0,1,e|0,((e|0)<0)<<31>>31|0)|0,M|0)|0;f=k[g>>2]|0;k[f>>2]=e;k[f+4>>2]=M;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=6;g=k[d>>2]|0;u=h;return g|0}case 7:case 6:{g=uE(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;u=h;return g|0}case 9:case 8:{e=k[g>>2]|0;k[e>>2]=(k[f>>2]|0)-8;k[e+4>>2]=0;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=0;g=k[d>>2]|0;u=h;return g|0}default:{k[(k[g>>2]|0)+16>>2]=k[e>>2];k[(k[g>>2]|0)+12>>2]=(((k[f>>2]|0)-12|0)>>>0)/2|0;j[(k[g>>2]|0)+8>>1]=j[15238+((k[f>>2]&1)<<1)>>1]|0;k[d>>2]=k[(k[g>>2]|0)+12>>2];g=k[d>>2]|0;u=h;return g|0}}return 0}function sE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+8|0;d=h+24|0;e=h+20|0;f=h+16|0;g=h;k[d>>2]=a;k[e>>2]=b;switch(k[d>>2]|0){case 1:case 0:{f=i[k[e>>2]>>0]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 2:{f=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 3:{f=i[k[e>>2]>>0]<<16|l[(k[e>>2]|0)+1>>0]<<8|l[(k[e>>2]|0)+2>>0];g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 4:{k[f>>2]=l[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];f=k[f>>2]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 5:{g=l[(k[e>>2]|0)+2>>0]<<24|l[(k[e>>2]|0)+2+1>>0]<<16|l[(k[e>>2]|0)+2+2>>0]<<8|l[(k[e>>2]|0)+2+3>>0];f=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];f=i0(g|0,0,B0(0,1,f|0,((f|0)<0)<<31>>31|0)|0,M|0)|0;g=c;k[g>>2]=f;k[g+4>>2]=M;break}case 6:{d=g;k[d>>2]=l[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];k[d+4>>2]=0;d=k[g>>2]|0;f=g;k[f>>2]=l[(k[e>>2]|0)+4>>0]<<24|l[(k[e>>2]|0)+4+1>>0]<<16|l[(k[e>>2]|0)+4+2>>0]<<8|l[(k[e>>2]|0)+4+3>>0];k[f+4>>2]=d;e=g;f=k[e+4>>2]|0;g=c;k[g>>2]=k[e>>2];k[g+4>>2]=f;break}default:{g=c;k[g>>2]=(k[d>>2]|0)-8;k[g+4>>2]=0}}g=c;M=k[g+4>>2]|0;u=h;return k[g>>2]|0}function tE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;k[d>>2]=1;while(1){b=c;b=p0(k[b>>2]|0,k[b+4>>2]|0,7)|0;f=M;a=c;k[a>>2]=b;k[a+4>>2]=f;a=k[d>>2]|0;if(!((b|0)!=0|(f|0)!=0))break;k[d>>2]=a+1}u=e;return a|0}function uE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=u;u=u+32|0;i=f+20|0;g=f+16|0;d=f+12|0;e=f;h=f+8|0;k[i>>2]=a;k[g>>2]=b;k[d>>2]=c;b=e;k[b>>2]=(l[k[i>>2]>>0]|0)<<24|(l[(k[i>>2]|0)+1>>0]|0)<<16|(l[(k[i>>2]|0)+2>>0]|0)<<8|(l[(k[i>>2]|0)+3>>0]|0);k[b+4>>2]=0;k[h>>2]=(l[(k[i>>2]|0)+4>>0]|0)<<24|(l[(k[i>>2]|0)+4+1>>0]|0)<<16|(l[(k[i>>2]|0)+4+2>>0]|0)<<8|(l[(k[i>>2]|0)+4+3>>0]|0);b=i0(0,k[e>>2]|0,k[h>>2]|0,0)|0;c=e;k[c>>2]=b;k[c+4>>2]=M;if((k[g>>2]|0)==6){g=e;i=k[g+4>>2]|0;h=k[d>>2]|0;k[h>>2]=k[g>>2];k[h+4>>2]=i;h=4;i=k[d>>2]|0;i=i+8|0;j[i>>1]=h;u=f;return 8}else{h=k[d>>2]|0;k[h>>2]=k[e>>2];k[h+4>>2]=k[e+4>>2];h=(ae(+p[k[d>>2]>>3])|0)!=0;h=(h?1:8)&65535;i=k[d>>2]|0;i=i+8|0;j[i>>1]=h;u=f;return 8}return 0}function vE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=u;u=u+32|0;c=o+20|0;d=o+16|0;e=o+12|0;f=o+8|0;g=o+4|0;h=o;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+66>>0]|0)!=1){if((l[(k[d>>2]|0)+66>>0]|0)>=3)a=aE(k[d>>2]|0)|0;else a=0;k[f>>2]=a;if(k[f>>2]|0){k[c>>2]=k[f>>2];n=k[c>>2]|0;u=o;return n|0}if(!(l[(k[d>>2]|0)+66>>0]|0)){k[k[e>>2]>>2]=1;k[c>>2]=0;n=k[c>>2]|0;u=o;return n|0}if(k[(k[d>>2]|0)+60>>2]|0?(i[(k[d>>2]|0)+66>>0]=1,b=(k[(k[d>>2]|0)+60>>2]|0)>0,k[(k[d>>2]|0)+60>>2]=0,b):0){k[c>>2]=0;n=k[c>>2]|0;u=o;return n|0}}k[h>>2]=k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2];b=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;a=(j[b>>1]|0)+1<<16>>16;j[b>>1]=a;k[g>>2]=a&65535;a=(i[(k[h>>2]|0)+4>>0]|0)!=0;if((k[g>>2]|0)<(m[(k[h>>2]|0)+18>>1]|0))if(a){k[c>>2]=0;n=k[c>>2]|0;u=o;return n|0}else{n=wE(k[d>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;u=o;return n|0}if(!a){n=k[d>>2]|0;n=bE(n,dm((k[(k[h>>2]|0)+56>>2]|0)+((l[(k[h>>2]|0)+5>>0]|0)+8)|0)|0)|0;k[f>>2]=n;if(k[f>>2]|0){k[c>>2]=k[f>>2];n=k[c>>2]|0;u=o;return n|0}else{n=wE(k[d>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;u=o;return n|0}}do{if(!(i[(k[d>>2]|0)+68>>0]|0)){n=17;break}dE(k[d>>2]|0);k[h>>2]=k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2]}while((m[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]|0)>=(m[(k[h>>2]|0)+18>>1]|0));if((n|0)==17){k[k[e>>2]>>2]=1;i[(k[d>>2]|0)+66>>0]=0;k[c>>2]=0;n=k[c>>2]|0;u=o;return n|0}if(i[(k[h>>2]|0)+2>>0]|0){n=ZD(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;u=o;return n|0}else{k[c>>2]=0;n=k[c>>2]|0;u=o;return n|0}return 0}function wE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;e=f+4|0;d=f;k[b>>2]=a;k[e>>2]=0;while(1){if(k[e>>2]|0){a=5;break}a=k[(k[b>>2]|0)+120+(i[(k[b>>2]|0)+68>>0]<<2)>>2]|0;k[d>>2]=a;if(!((i[a+4>>0]|0)!=0^1)){a=5;break}a=dm((k[(k[d>>2]|0)+56>>2]|0)+(m[(k[d>>2]|0)+20>>1]&(l[(k[(k[d>>2]|0)+64>>2]|0)+(m[(k[b>>2]|0)+80+(i[(k[b>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|l[(k[(k[d>>2]|0)+64>>2]|0)+(m[(k[b>>2]|0)+80+(i[(k[b>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;k[c>>2]=a;a=bE(k[b>>2]|0,k[c>>2]|0)|0;k[e>>2]=a}if((a|0)==5){u=f;return k[e>>2]|0}return 0}function xE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;i=h+20|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[c>>2]=b;k[d>>2]=k[k[i>>2]>>2];b=Vt(k[d>>2]|0,0,0,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){i=k[f>>2]|0;u=h;return i|0}i=fp(k[d>>2]|0,k[(k[c>>2]|0)+12>>2]|0)|0;k[(k[f>>2]|0)+8+(((k[k[f>>2]>>2]|0)-1|0)*72|0)+8>>2]=i;i=Ru(k[d>>2]|0,k[(k[(k[c>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[e>>2]=i;if(!((k[e>>2]|0)==0|(k[e>>2]|0)>=2)){i=k[f>>2]|0;u=h;return i|0}k[g>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];i=fp(k[d>>2]|0,k[g>>2]|0)|0;k[(k[f>>2]|0)+8+(((k[k[f>>2]>>2]|0)-1|0)*72|0)+4>>2]=i;i=k[f>>2]|0;u=h;return i|0}function yE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)==0){k[f>>2]=1;f=k[f>>2]|0;u=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){a=8;break}if((Sx(k[c>>2]|0,k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)+4>>2]|0)|0)>=0){a=6;break}k[e>>2]=(k[e>>2]|0)+1}if((a|0)==6){k[f>>2]=1;f=k[f>>2]|0;u=g;return f|0}else if((a|0)==8){k[f>>2]=0;f=k[f>>2]|0;u=g;return f|0}return 0}function zE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;if((l[k[c>>2]>>0]|0)!=152){u=e;return 0}a=k[d>>2]|0;do if((j[(k[c>>2]|0)+32>>1]|0)>=0)if((k[(k[a+24>>2]|0)+(j[(k[c>>2]|0)+32>>1]<<2)>>2]|0)>=0){b=1;a=k[d>>2]|0;break}else{u=e;return 0}else b=2;while(0);d=a+20|0;i[d>>0]=l[d>>0]|b;u=e;return 0}function AE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;e=g+12|0;f=g+8|0;c=g+4|0;d=g;k[f>>2]=a;k[c>>2]=b;if((m[(k[f>>2]|0)+50>>1]|0)!=(m[(k[c>>2]|0)+50>>1]|0)){k[e>>2]=0;f=k[e>>2]|0;u=g;return f|0}if((l[(k[f>>2]|0)+54>>0]|0)!=(l[(k[c>>2]|0)+54>>0]|0)){k[e>>2]=0;f=k[e>>2]|0;u=g;return f|0}k[d>>2]=0;while(1){b=k[c>>2]|0;if((k[d>>2]|0)>=(m[(k[c>>2]|0)+50>>1]|0)){a=17;break}if((j[(k[b+4>>2]|0)+(k[d>>2]<<1)>>1]|0)!=(j[(k[(k[f>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]|0)){a=8;break}if((j[(k[(k[c>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]|0)==-2?gx(k[(k[(k[(k[c>>2]|0)+40>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>2]|0,k[(k[(k[(k[f>>2]|0)+40>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>2]|0,-1)|0:0){a=11;break}if((l[(k[(k[c>>2]|0)+28>>2]|0)+(k[d>>2]|0)>>0]|0)!=(l[(k[(k[f>>2]|0)+28>>2]|0)+(k[d>>2]|0)>>0]|0)){a=13;break}if(ul(k[(k[(k[c>>2]|0)+32>>2]|0)+(k[d>>2]<<2)>>2]|0,k[(k[(k[f>>2]|0)+32>>2]|0)+(k[d>>2]<<2)>>2]|0)|0){a=15;break}k[d>>2]=(k[d>>2]|0)+1}if((a|0)==8){k[e>>2]=0;f=k[e>>2]|0;u=g;return f|0}else if((a|0)==11){k[e>>2]=0;f=k[e>>2]|0;u=g;return f|0}else if((a|0)==13){k[e>>2]=0;f=k[e>>2]|0;u=g;return f|0}else if((a|0)==15){k[e>>2]=0;f=k[e>>2]|0;u=g;return f|0}else if((a|0)==17)if(gx(k[b+36>>2]|0,k[(k[f>>2]|0)+36>>2]|0,-1)|0){k[e>>2]=0;f=k[e>>2]|0;u=g;return f|0}else{k[e>>2]=1;f=k[e>>2]|0;u=g;return f|0}return 0}function BE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[g>>2]|0)+4>>2]=k[e>>2];k[k[g>>2]>>2]=k[(k[e>>2]|0)+448>>2];k[(k[e>>2]|0)+448>>2]=k[f>>2];u=d;return}function CE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+64|0;h=o+52|0;i=o+48|0;j=o+44|0;l=o+40|0;m=o+16|0;n=o+12|0;e=o+8|0;f=o+4|0;g=o;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[f>>2]=k[k[h>>2]>>2];d=Ru(k[f>>2]|0,k[(k[i>>2]|0)+64>>2]|0)|0;k[g>>2]=d;d=ex(k[f>>2]|0,k[j>>2]|0,0)|0;k[j>>2]=d;d=Vt(k[f>>2]|0,0,0,0)|0;k[e>>2]=d;if(k[e>>2]|0){i=fp(k[f>>2]|0,k[k[i>>2]>>2]|0)|0;k[(k[e>>2]|0)+8+8>>2]=i;i=fp(k[f>>2]|0,k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2]|0)|0;k[(k[e>>2]|0)+8+4>>2]=i}j=Nt(k[h>>2]|0,0,k[e>>2]|0,k[j>>2]|0,0,0,0,131072,0,0)|0;k[n>>2]=j;Kz(m,12,k[l>>2]|0);Kt(k[h>>2]|0,k[n>>2]|0,m)|0;Tk(k[f>>2]|0,k[n>>2]|0);u=o;return}function DE(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=u;u=u+96|0;E=F+88|0;H=F+84|0;q=F+80|0;l=F+76|0;m=F+72|0;n=F+68|0;G=F+64|0;r=F+60|0;s=F+56|0;t=F+52|0;v=F+48|0;I=F+44|0;w=F+40|0;x=F+36|0;y=F+32|0;z=F+28|0;A=F+24|0;B=F+20|0;o=F+16|0;p=F+8|0;C=F+4|0;D=F;k[E>>2]=a;k[H>>2]=b;k[q>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[G>>2]=g;k[r>>2]=h;k[s>>2]=k[(k[E>>2]|0)+8>>2];k[I>>2]=k[k[E>>2]>>2];g=pw(k[I>>2]|0,k[q>>2]|0)|0;k[w>>2]=g;k[y>>2]=2+(j[(k[q>>2]|0)+34>>1]|0);k[o>>2]=k[(k[H>>2]|0)+8+44>>2];g=(k[E>>2]|0)+40|0;h=k[g>>2]|0;k[g>>2]=h+1;k[t>>2]=h;h=_u(k[s>>2]|0,107,k[t>>2]|0,k[y>>2]|0)|0;k[D>>2]=h;k[z>>2]=(k[(k[E>>2]|0)+44>>2]|0)+1;h=(k[E>>2]|0)+44|0;k[h>>2]=(k[h>>2]|0)+(k[y>>2]|0);h=(k[E>>2]|0)+44|0;g=(k[h>>2]|0)+1|0;k[h>>2]=g;k[A>>2]=g;g=(k[E>>2]|0)+44|0;h=(k[g>>2]|0)+1|0;k[g>>2]=h;k[B>>2]=h;h=PB(k[E>>2]|0,k[H>>2]|0,k[G>>2]|0,0,0,4,0)|0;k[x>>2]=h;if(!(k[x>>2]|0)){u=F;return}_u(k[s>>2]|0,123,k[o>>2]|0,k[z>>2]|0)|0;if(k[m>>2]|0)ez(k[E>>2]|0,k[m>>2]|0,(k[z>>2]|0)+1|0);else _u(k[s>>2]|0,123,k[o>>2]|0,(k[z>>2]|0)+1|0)|0;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(j[(k[q>>2]|0)+34>>1]|0))break;if((k[(k[n>>2]|0)+(k[v>>2]<<2)>>2]|0)>=0)ez(k[E>>2]|0,k[(k[(k[l>>2]|0)+4>>2]|0)+((k[(k[n>>2]|0)+(k[v>>2]<<2)>>2]|0)*20|0)>>2]|0,(k[z>>2]|0)+2+(k[v>>2]|0)|0);else $u(k[s>>2]|0,156,k[o>>2]|0,k[v>>2]|0,(k[z>>2]|0)+2+(k[v>>2]|0)|0)|0;k[v>>2]=(k[v>>2]|0)+1}a=EE(k[x>>2]|0,p)|0;k[C>>2]=a;a=k[s>>2]|0;if(k[C>>2]|0){$y(a,k[D>>2]|0)|0;if(!(k[(k[E>>2]|0)+124>>2]|0))i[(k[E>>2]|0)+20>>0]=0}else{$u(a,99,k[z>>2]|0,k[y>>2]|0,k[A>>2]|0)|0;_u(k[s>>2]|0,114,k[t>>2]|0,k[B>>2]|0)|0;$u(k[s>>2]|0,115,k[t>>2]|0,k[A>>2]|0,k[B>>2]|0)|0}a:do if(!(k[C>>2]|0)){QB(k[x>>2]|0);I=oy(k[s>>2]|0,57,k[t>>2]|0)|0;k[D>>2]=I;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[y>>2]|0))break a;$u(k[s>>2]|0,96,k[t>>2]|0,k[v>>2]|0,(k[z>>2]|0)+(k[v>>2]|0)|0)|0;k[v>>2]=(k[v>>2]|0)+1}}while(0);CB(k[E>>2]|0,k[q>>2]|0);cv(k[s>>2]|0,12,0,k[y>>2]|0,k[z>>2]|0,k[w>>2]|0,-10)|0;ty(k[s>>2]|0,((k[r>>2]|0)==10?2:k[r>>2]|0)&255);qw(k[E>>2]|0);if(!(k[C>>2]|0)){_u(k[s>>2]|0,7,k[t>>2]|0,(k[D>>2]|0)+1|0)|0;xy(k[s>>2]|0,k[D>>2]|0);_u(k[s>>2]|0,111,k[t>>2]|0,0)|0;u=F;return}else{QB(k[x>>2]|0);u=F;return}}function EE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;b=k[e>>2]|0;a=(k[c>>2]|0)+20|0;k[b>>2]=k[a>>2];k[b+4>>2]=k[a+4>>2];u=d;return l[(k[c>>2]|0)+45>>0]|0|0}function FE(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+4>>2]|0)){u=c;return}k[(k[(k[b>>2]|0)+4>>2]|0)+448>>2]=k[k[b>>2]>>2];k[(k[b>>2]|0)+4>>2]=0;u=c;return}function GE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+48|0;i=o+32|0;h=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;e=o+8|0;f=o+4|0;g=o;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;do if(((k[k[j>>2]>>2]|0)+(k[l>>2]|0)|0)>>>0>(k[(k[j>>2]|0)+4>>2]|0)>>>0){k[f>>2]=(k[k[j>>2]>>2]|0)+(k[l>>2]|0);d=ne(k[h>>2]|0,k[j>>2]|0,80+(((k[f>>2]|0)-1|0)*72|0)|0,0)|0;k[e>>2]=d;if(k[e>>2]|0){k[j>>2]=k[e>>2];h=((((ke(k[h>>2]|0,k[e>>2]|0)|0)-80|0)>>>0)/72|0)+1|0;k[g>>2]=h;k[(k[j>>2]|0)+4>>2]=k[g>>2];break}k[i>>2]=k[j>>2];n=k[i>>2]|0;u=o;return n|0}while(0);k[n>>2]=(k[k[j>>2]>>2]|0)-1;while(1){if((k[n>>2]|0)<(k[m>>2]|0))break;a=(k[j>>2]|0)+8+(((k[n>>2]|0)+(k[l>>2]|0)|0)*72|0)|0;b=(k[j>>2]|0)+8+((k[n>>2]|0)*72|0)|0;e=a+72|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));k[n>>2]=(k[n>>2]|0)+-1}h=k[j>>2]|0;k[h>>2]=(k[h>>2]|0)+(k[l>>2]|0);w0((k[j>>2]|0)+8+((k[m>>2]|0)*72|0)|0,0,(k[l>>2]|0)*72|0)|0;k[n>>2]=k[m>>2];while(1){a=k[j>>2]|0;if((k[n>>2]|0)>=((k[m>>2]|0)+(k[l>>2]|0)|0))break;k[a+8+((k[n>>2]|0)*72|0)+44>>2]=-1;k[n>>2]=(k[n>>2]|0)+1}k[i>>2]=a;n=k[i>>2]|0;u=o;return n|0}function HE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=u;u=u+128|0;O=Q+112|0;t=Q+108|0;x=Q+104|0;P=Q+100|0;h=Q+96|0;y=Q+92|0;f=Q+88|0;z=Q+84|0;A=Q+80|0;B=Q+76|0;C=Q+72|0;D=Q+68|0;E=Q+64|0;F=Q+60|0;G=Q+56|0;H=Q+52|0;I=Q+48|0;J=Q+44|0;g=Q+40|0;n=Q+36|0;o=Q+32|0;p=Q+28|0;q=Q+24|0;r=Q+20|0;v=Q+16|0;w=Q+12|0;K=Q+8|0;L=Q+116|0;M=Q+4|0;N=Q;k[t>>2]=a;k[x>>2]=b;k[P>>2]=c;k[h>>2]=d;k[y>>2]=e;k[f>>2]=k[(k[t>>2]|0)+448>>2];k[J>>2]=k[k[t>>2]>>2];if(m[(k[J>>2]|0)+64>>1]&1|0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}k[C>>2]=k[(k[x>>2]|0)+28>>2];k[I>>2]=(k[C>>2]|0)+8+((k[P>>2]|0)*72|0);k[F>>2]=k[(k[I>>2]|0)+44>>2];k[A>>2]=k[(k[I>>2]|0)+20>>2];do if(k[y>>2]|0){if(k[h>>2]|0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if((k[k[C>>2]>>2]|0)>1){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(!(k[(k[x>>2]|0)+32>>2]|0?(k[(k[(k[x>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))s=10;if(((s|0)==10?((by(k[k[x>>2]>>2]|0)|0)&2097152|0)==0:0)?((by(k[(k[x>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}while(0);k[D>>2]=k[(k[A>>2]|0)+28>>2];if(k[(k[A>>2]|0)+56>>2]|0?k[(k[x>>2]|0)+56>>2]|0:0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(k[(k[A>>2]|0)+60>>2]|0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(k[(k[x>>2]|0)+8>>2]&256|0?k[(k[A>>2]|0)+56>>2]|0:0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(!(k[k[D>>2]>>2]|0)){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(k[(k[A>>2]|0)+8>>2]&1|0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(k[(k[A>>2]|0)+56>>2]|0?(k[h>>2]|0?1:(k[k[C>>2]>>2]|0)>1):0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(k[y>>2]|0?(k[(k[x>>2]|0)+8>>2]&1|0)!=0:0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(k[(k[x>>2]|0)+44>>2]|0?k[(k[A>>2]|0)+44>>2]|0:0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(k[h>>2]|0?k[(k[A>>2]|0)+44>>2]|0:0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(k[(k[A>>2]|0)+56>>2]|0?k[(k[x>>2]|0)+32>>2]|0:0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(k[(k[A>>2]|0)+56>>2]|0?k[(k[x>>2]|0)+8>>2]&1|0:0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(k[(k[A>>2]|0)+8>>2]&12288|0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(k[(k[x>>2]|0)+8>>2]&8192|0?k[(k[A>>2]|0)+48>>2]|0:0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(l[(k[I>>2]|0)+36>>0]&32|0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}a:do if(k[(k[A>>2]|0)+48>>2]|0){if(k[(k[A>>2]|0)+44>>2]|0){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}do if(!(k[h>>2]|0)){if(k[(k[x>>2]|0)+8>>2]&1|0)break;if((k[k[C>>2]>>2]|0)!=1)break;k[B>>2]=k[A>>2];while(1){if(!(k[B>>2]|0))break;if(k[(k[B>>2]|0)+8>>2]&9|0){s=62;break}if(k[(k[B>>2]|0)+48>>2]|0?(l[(k[B>>2]|0)+4>>0]|0)!=116:0){s=62;break}if((k[k[(k[B>>2]|0)+28>>2]>>2]|0)<1){s=62;break}k[B>>2]=k[(k[B>>2]|0)+48>>2]}if((s|0)==62){k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}if(!(k[(k[x>>2]|0)+44>>2]|0))break a;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[(k[x>>2]|0)+44>>2]>>2]|0))break a;if(!(m[(k[(k[(k[x>>2]|0)+44>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+16>>1]|0))break;k[g>>2]=(k[g>>2]|0)+1}k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}while(0);k[O>>2]=0;P=k[O>>2]|0;u=Q;return P|0}while(0);k[(k[t>>2]|0)+448>>2]=k[(k[I>>2]|0)+8>>2];Su(k[t>>2]|0,21,0,0,0)|0;k[(k[t>>2]|0)+448>>2]=k[f>>2];k[A>>2]=k[(k[A>>2]|0)+48>>2];while(1){if(!(k[A>>2]|0))break;k[o>>2]=k[(k[x>>2]|0)+44>>2];k[p>>2]=k[(k[x>>2]|0)+56>>2];k[q>>2]=k[(k[x>>2]|0)+60>>2];k[r>>2]=k[(k[x>>2]|0)+48>>2];k[(k[x>>2]|0)+44>>2]=0;k[(k[x>>2]|0)+28>>2]=0;k[(k[x>>2]|0)+48>>2]=0;k[(k[x>>2]|0)+56>>2]=0;k[(k[x>>2]|0)+60>>2]=0;a=uw(k[J>>2]|0,k[x>>2]|0,0)|0;k[n>>2]=a;k[(k[x>>2]|0)+60>>2]=k[q>>2];k[(k[x>>2]|0)+56>>2]=k[p>>2];k[(k[x>>2]|0)+44>>2]=k[o>>2];k[(k[x>>2]|0)+28>>2]=k[C>>2];i[(k[x>>2]|0)+4>>0]=116;a=k[r>>2]|0;if(!(k[n>>2]|0))b=k[x>>2]|0;else{k[(k[n>>2]|0)+48>>2]=a;if(k[r>>2]|0)k[(k[r>>2]|0)+52>>2]=k[n>>2];k[(k[n>>2]|0)+52>>2]=k[x>>2];a=k[n>>2]|0;b=k[x>>2]|0}k[b+48>>2]=a;if(i[(k[J>>2]|0)+69>>0]|0){s=78;break}k[A>>2]=k[(k[A>>2]|0)+48>>2]}if((s|0)==78){k[O>>2]=1;P=k[O>>2]|0;u=Q;return P|0}s=k[(k[I>>2]|0)+20>>2]|0;k[B>>2]=s;k[A>>2]=s;fe(k[J>>2]|0,k[(k[I>>2]|0)+4>>2]|0);fe(k[J>>2]|0,k[(k[I>>2]|0)+8>>2]|0);fe(k[J>>2]|0,k[(k[I>>2]|0)+12>>2]|0);k[(k[I>>2]|0)+4>>2]=0;k[(k[I>>2]|0)+8>>2]=0;k[(k[I>>2]|0)+12>>2]=0;k[(k[I>>2]|0)+20>>2]=0;if(k[(k[I>>2]|0)+16>>2]|0){k[v>>2]=k[(k[I>>2]|0)+16>>2];if((m[(k[v>>2]|0)+36>>1]|0)==1){a=k[t>>2]|0;if(k[(k[t>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[w>>2]=a;k[(k[v>>2]|0)+68>>2]=k[(k[w>>2]|0)+464>>2];k[(k[w>>2]|0)+464>>2]=k[v>>2]}else{w=(k[v>>2]|0)+36|0;j[w>>1]=(j[w>>1]|0)+-1<<16>>16}k[(k[I>>2]|0)+16>>2]=0}k[z>>2]=k[x>>2];while(1){if(!(k[z>>2]|0))break;i[L>>0]=0;k[D>>2]=k[(k[A>>2]|0)+28>>2];k[K>>2]=k[k[D>>2]>>2];k[C>>2]=k[(k[z>>2]|0)+28>>2];if(!(k[C>>2]|0)){x=Vt(k[J>>2]|0,0,0,0)|0;k[(k[z>>2]|0)+28>>2]=x;k[C>>2]=x;if(!(k[C>>2]|0))break}else i[L>>0]=i[(k[I>>2]|0)+36>>0]|0;if((k[K>>2]|0)>1?(x=GE(k[J>>2]|0,k[C>>2]|0,(k[K>>2]|0)-1|0,(k[P>>2]|0)+1|0)|0,k[C>>2]=x,k[(k[z>>2]|0)+28>>2]=x,i[(k[J>>2]|0)+69>>0]|0):0)break;k[G>>2]=0;while(1){if((k[G>>2]|0)>=(k[K>>2]|0))break;bl(k[J>>2]|0,k[(k[C>>2]|0)+8+(((k[G>>2]|0)+(k[P>>2]|0)|0)*72|0)+52>>2]|0);a=(k[C>>2]|0)+8+(((k[G>>2]|0)+(k[P>>2]|0)|0)*72|0)|0;b=(k[D>>2]|0)+8+((k[G>>2]|0)*72|0)|0;f=a+72|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(f|0));a=(k[D>>2]|0)+8+((k[G>>2]|0)*72|0)|0;f=a+72|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(f|0));k[G>>2]=(k[G>>2]|0)+1}i[(k[C>>2]|0)+8+((k[P>>2]|0)*72|0)+36>>0]=i[L>>0]|0;k[E>>2]=k[k[z>>2]>>2];k[G>>2]=0;while(1){if((k[G>>2]|0)>=(k[k[E>>2]>>2]|0))break;if(!(k[(k[(k[E>>2]|0)+4>>2]|0)+((k[G>>2]|0)*20|0)+4>>2]|0)){x=fp(k[J>>2]|0,k[(k[(k[E>>2]|0)+4>>2]|0)+((k[G>>2]|0)*20|0)+8>>2]|0)|0;k[M>>2]=x;dk(k[M>>2]|0);k[(k[(k[E>>2]|0)+4>>2]|0)+((k[G>>2]|0)*20|0)+4>>2]=k[M>>2]}k[G>>2]=(k[G>>2]|0)+1}if(k[(k[A>>2]|0)+44>>2]|0){k[N>>2]=k[(k[A>>2]|0)+44>>2];k[G>>2]=0;while(1){a=k[N>>2]|0;if((k[G>>2]|0)>=(k[k[N>>2]>>2]|0))break;j[(k[a+4>>2]|0)+((k[G>>2]|0)*20|0)+16>>1]=0;k[G>>2]=(k[G>>2]|0)+1}k[(k[z>>2]|0)+44>>2]=a;k[(k[A>>2]|0)+44>>2]=0}x=ex(k[J>>2]|0,k[(k[A>>2]|0)+32>>2]|0,0)|0;k[H>>2]=x;if(k[y>>2]|0){k[(k[z>>2]|0)+40>>2]=k[(k[z>>2]|0)+32>>2];k[(k[z>>2]|0)+32>>2]=k[H>>2];w=k[J>>2]|0;x=ex(k[J>>2]|0,k[(k[A>>2]|0)+40>>2]|0,0)|0;x=Wx(w,x,k[(k[z>>2]|0)+40>>2]|0)|0;k[(k[z>>2]|0)+40>>2]=x;x=mx(k[J>>2]|0,k[(k[A>>2]|0)+36>>2]|0,0)|0;k[(k[z>>2]|0)+36>>2]=x}else{x=Wx(k[J>>2]|0,k[H>>2]|0,k[(k[z>>2]|0)+32>>2]|0)|0;k[(k[z>>2]|0)+32>>2]=x}qF(k[J>>2]|0,k[z>>2]|0,k[F>>2]|0,k[k[A>>2]>>2]|0,0);x=(k[z>>2]|0)+8|0;k[x>>2]=k[x>>2]|k[(k[A>>2]|0)+8>>2]&1;if(k[(k[A>>2]|0)+56>>2]|0){k[(k[z>>2]|0)+56>>2]=k[(k[A>>2]|0)+56>>2];k[(k[A>>2]|0)+56>>2]=0}k[z>>2]=k[(k[z>>2]|0)+48>>2];k[A>>2]=k[(k[A>>2]|0)+48>>2]}Tk(k[J>>2]|0,k[B>>2]|0);k[O>>2]=1;P=k[O>>2]|0;u=Q;return P|0}function IE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=u;u=u+256|0;Z=_+8|0;d=_;D=_+240|0;O=_+236|0;U=_+232|0;V=_+228|0;W=_+224|0;X=_+220|0;Y=_+216|0;e=_+192|0;f=_+184|0;g=_+180|0;h=_+176|0;m=_+172|0;n=_+168|0;o=_+164|0;p=_+160|0;q=_+244|0;r=_+156|0;s=_+152|0;t=_+148|0;v=_+144|0;w=_+120|0;x=_+116|0;y=_+112|0;z=_+108|0;A=_+104|0;B=_+100|0;C=_+96|0;E=_+92|0;F=_+88|0;G=_+84|0;H=_+80|0;I=_+76|0;J=_+72|0;K=_+48|0;L=_+40|0;M=_+36|0;N=_+32|0;P=_+28|0;Q=_+24|0;R=_+20|0;S=_+16|0;T=_+12|0;k[O>>2]=a;k[U>>2]=b;k[V>>2]=c;k[W>>2]=0;k[f>>2]=0;k[h>>2]=0;k[m>>2]=0;k[g>>2]=k[k[O>>2]>>2];k[X>>2]=k[(k[U>>2]|0)+48>>2];c=k[V>>2]|0;k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];k[e+8>>2]=k[c+8>>2];k[e+12>>2]=k[c+12>>2];k[e+16>>2]=k[c+16>>2];k[e+20>>2]=k[c+20>>2];a:do if(!(k[(k[X>>2]|0)+44>>2]|0)){a=k[O>>2]|0;if(k[(k[X>>2]|0)+56>>2]|0){Y=ox(l[(k[U>>2]|0)+4>>0]|0)|0;k[Z>>2]=Y;Cl(a,35316,Z);k[W>>2]=1;break}Z=Vu(a)|0;k[Y>>2]=Z;if((l[e>>0]|0)==12){_u(k[Y>>2]|0,107,k[e+8>>2]|0,k[k[k[U>>2]>>2]>>2]|0)|0;i[e>>0]=14}if(k[(k[U>>2]|0)+8>>2]&1024|0){Z=sF(k[O>>2]|0,k[U>>2]|0,e)|0;k[W>>2]=Z;break}b:do if(k[(k[U>>2]|0)+8>>2]&8192|0)tF(k[O>>2]|0,k[U>>2]|0,e);else{if(k[(k[U>>2]|0)+44>>2]|0){Z=uF(k[O>>2]|0,k[U>>2]|0,k[V>>2]|0)|0;k[D>>2]=Z;Z=k[D>>2]|0;u=_;return Z|0}switch(l[(k[U>>2]|0)+4>>0]|0){case 116:{k[n>>2]=0;k[(k[X>>2]|0)+12>>2]=k[(k[U>>2]|0)+12>>2];k[(k[X>>2]|0)+16>>2]=k[(k[U>>2]|0)+16>>2];k[(k[X>>2]|0)+56>>2]=k[(k[U>>2]|0)+56>>2];k[(k[X>>2]|0)+60>>2]=k[(k[U>>2]|0)+60>>2];k[h>>2]=k[(k[O>>2]|0)+424>>2];Z=Kt(k[O>>2]|0,k[X>>2]|0,e)|0;k[W>>2]=Z;k[(k[U>>2]|0)+56>>2]=0;k[(k[U>>2]|0)+60>>2]=0;if(k[W>>2]|0)break a;k[(k[U>>2]|0)+48>>2]=0;k[(k[U>>2]|0)+12>>2]=k[(k[X>>2]|0)+12>>2];k[(k[U>>2]|0)+16>>2]=k[(k[X>>2]|0)+16>>2];if(k[(k[U>>2]|0)+12>>2]|0?(Z=oy(k[Y>>2]|0,22,k[(k[U>>2]|0)+12>>2]|0)|0,k[n>>2]=Z,k[(k[U>>2]|0)+16>>2]|0):0)$u(k[Y>>2]|0,146,k[(k[U>>2]|0)+12>>2]|0,(k[(k[U>>2]|0)+16>>2]|0)+1|0,k[(k[U>>2]|0)+16>>2]|0)|0;k[m>>2]=k[(k[O>>2]|0)+424>>2];Z=Kt(k[O>>2]|0,k[U>>2]|0,e)|0;k[W>>2]=Z;k[f>>2]=k[(k[U>>2]|0)+48>>2];k[(k[U>>2]|0)+48>>2]=k[X>>2];Z=LC(j[(k[U>>2]|0)+6>>1]|0,j[(k[X>>2]|0)+6>>1]|0)|0;j[(k[U>>2]|0)+6>>1]=Z;if((k[(k[X>>2]|0)+56>>2]|0?(Z=(bx(k[(k[X>>2]|0)+56>>2]|0,o)|0)!=0,Z&(k[o>>2]|0)>0):0)?(X=j[(k[U>>2]|0)+6>>1]|0,Z=k[o>>2]|0,(X|0)>((Hv(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=k[o>>2]|0;Z=Hv(Z,((Z|0)<0)<<31>>31)|0;j[(k[U>>2]|0)+6>>1]=Z}if(!(k[n>>2]|0))break b;xy(k[Y>>2]|0,k[n>>2]|0);break b}case 115:case 117:{i[q>>0]=0;k[r>>2]=1;if((l[e>>0]|0)==(k[r>>2]|0))k[p>>2]=k[e+8>>2];else{M=(k[O>>2]|0)+40|0;Z=k[M>>2]|0;k[M>>2]=Z+1;k[p>>2]=Z;Z=_u(k[Y>>2]|0,107,k[p>>2]|0,0)|0;k[v>>2]=Z;k[(k[U>>2]|0)+20>>2]=k[v>>2];Z=(Mx(k[U>>2]|0)|0)+8|0;k[Z>>2]=k[Z>>2]|32}Kz(w,k[r>>2]|0,k[p>>2]|0);k[h>>2]=k[(k[O>>2]|0)+424>>2];Z=Kt(k[O>>2]|0,k[X>>2]|0,w)|0;k[W>>2]=Z;if(k[W>>2]|0)break a;if((l[(k[U>>2]|0)+4>>0]|0)==117)i[q>>0]=2;else i[q>>0]=1;k[(k[U>>2]|0)+48>>2]=0;k[s>>2]=k[(k[U>>2]|0)+56>>2];k[(k[U>>2]|0)+56>>2]=0;k[t>>2]=k[(k[U>>2]|0)+60>>2];k[(k[U>>2]|0)+60>>2]=0;i[w>>0]=i[q>>0]|0;k[m>>2]=k[(k[O>>2]|0)+424>>2];Z=Kt(k[O>>2]|0,k[U>>2]|0,w)|0;k[W>>2]=Z;Uk(k[g>>2]|0,k[(k[U>>2]|0)+44>>2]|0);k[f>>2]=k[(k[U>>2]|0)+48>>2];k[(k[U>>2]|0)+48>>2]=k[X>>2];k[(k[U>>2]|0)+44>>2]=0;if((l[(k[U>>2]|0)+4>>0]|0)==115){Z=LC(j[(k[U>>2]|0)+6>>1]|0,j[(k[X>>2]|0)+6>>1]|0)|0;j[(k[U>>2]|0)+6>>1]=Z}Yk(k[g>>2]|0,k[(k[U>>2]|0)+56>>2]|0);k[(k[U>>2]|0)+56>>2]=k[s>>2];k[(k[U>>2]|0)+60>>2]=k[t>>2];k[(k[U>>2]|0)+12>>2]=0;k[(k[U>>2]|0)+16>>2]=0;if((l[e>>0]|0)==(k[r>>2]|0))break b;if((l[e>>0]|0)==9){k[A>>2]=k[U>>2];while(1){if(!(k[(k[A>>2]|0)+48>>2]|0))break;k[A>>2]=k[(k[A>>2]|0)+48>>2]}gF(k[O>>2]|0,k[(k[A>>2]|0)+28>>2]|0,k[k[A>>2]>>2]|0)}Z=uy(k[Y>>2]|0)|0;k[y>>2]=Z;Z=uy(k[Y>>2]|0)|0;k[x>>2]=Z;NE(k[O>>2]|0,k[U>>2]|0,k[y>>2]|0);_u(k[Y>>2]|0,57,k[p>>2]|0,k[y>>2]|0)|0;Z=Zv(k[Y>>2]|0)|0;k[z>>2]=Z;VE(k[O>>2]|0,k[U>>2]|0,k[k[U>>2]>>2]|0,k[p>>2]|0,0,0,e,k[x>>2]|0,k[y>>2]|0);yy(k[Y>>2]|0,k[x>>2]|0);_u(k[Y>>2]|0,7,k[p>>2]|0,k[z>>2]|0)|0;yy(k[Y>>2]|0,k[y>>2]|0);_u(k[Y>>2]|0,111,k[p>>2]|0,0)|0;break b}default:{Z=(k[O>>2]|0)+40|0;A=k[Z>>2]|0;k[Z>>2]=A+1;k[B>>2]=A;A=(k[O>>2]|0)+40|0;Z=k[A>>2]|0;k[A>>2]=Z+1;k[C>>2]=Z;Z=_u(k[Y>>2]|0,107,k[B>>2]|0,0)|0;k[J>>2]=Z;k[(k[U>>2]|0)+20>>2]=k[J>>2];Z=(Mx(k[U>>2]|0)|0)+8|0;k[Z>>2]=k[Z>>2]|32;Kz(K,1,k[B>>2]|0);k[h>>2]=k[(k[O>>2]|0)+424>>2];Z=Kt(k[O>>2]|0,k[X>>2]|0,K)|0;k[W>>2]=Z;if(k[W>>2]|0)break a;Z=_u(k[Y>>2]|0,107,k[C>>2]|0,0)|0;k[J>>2]=Z;k[(k[U>>2]|0)+20+4>>2]=k[J>>2];k[(k[U>>2]|0)+48>>2]=0;k[H>>2]=k[(k[U>>2]|0)+56>>2];k[(k[U>>2]|0)+56>>2]=0;k[I>>2]=k[(k[U>>2]|0)+60>>2];k[(k[U>>2]|0)+60>>2]=0;k[K+8>>2]=k[C>>2];k[m>>2]=k[(k[O>>2]|0)+424>>2];Z=Kt(k[O>>2]|0,k[U>>2]|0,K)|0;k[W>>2]=Z;k[f>>2]=k[(k[U>>2]|0)+48>>2];k[(k[U>>2]|0)+48>>2]=k[X>>2];if((j[(k[U>>2]|0)+6>>1]|0)>(j[(k[X>>2]|0)+6>>1]|0))j[(k[U>>2]|0)+6>>1]=j[(k[X>>2]|0)+6>>1]|0;Yk(k[g>>2]|0,k[(k[U>>2]|0)+56>>2]|0);k[(k[U>>2]|0)+56>>2]=k[H>>2];k[(k[U>>2]|0)+60>>2]=k[I>>2];if((l[e>>0]|0)==9){k[M>>2]=k[U>>2];while(1){if(!(k[(k[M>>2]|0)+48>>2]|0))break;k[M>>2]=k[(k[M>>2]|0)+48>>2]}gF(k[O>>2]|0,k[(k[M>>2]|0)+28>>2]|0,k[k[M>>2]>>2]|0)}Z=uy(k[Y>>2]|0)|0;k[F>>2]=Z;Z=uy(k[Y>>2]|0)|0;k[E>>2]=Z;NE(k[O>>2]|0,k[U>>2]|0,k[F>>2]|0);_u(k[Y>>2]|0,57,k[B>>2]|0,k[F>>2]|0)|0;Z=Yv(k[O>>2]|0)|0;k[L>>2]=Z;Z=_u(k[Y>>2]|0,121,k[B>>2]|0,k[L>>2]|0)|0;k[G>>2]=Z;Jy(k[Y>>2]|0,30,k[C>>2]|0,k[E>>2]|0,k[L>>2]|0,0)|0;_v(k[O>>2]|0,k[L>>2]|0);VE(k[O>>2]|0,k[U>>2]|0,k[k[U>>2]>>2]|0,k[B>>2]|0,0,0,e,k[E>>2]|0,k[F>>2]|0);yy(k[Y>>2]|0,k[E>>2]|0);_u(k[Y>>2]|0,7,k[B>>2]|0,k[G>>2]|0)|0;yy(k[Y>>2]|0,k[F>>2]|0);_u(k[Y>>2]|0,111,k[C>>2]|0,0)|0;_u(k[Y>>2]|0,111,k[B>>2]|0,0)|0;break b}}}while(0);vF(k[O>>2]|0,l[(k[U>>2]|0)+4>>0]|0,k[h>>2]|0,k[m>>2]|0,(l[(k[U>>2]|0)+4>>0]|0)!=116&1);if(k[(k[U>>2]|0)+8>>2]&32|0){k[S>>2]=k[k[k[U>>2]>>2]>>2];Z=Iy(k[g>>2]|0,k[S>>2]|0,1)|0;k[P>>2]=Z;if(!(k[P>>2]|0)){k[W>>2]=7;break}k[N>>2]=0;k[R>>2]=(k[P>>2]|0)+20;while(1){if((k[N>>2]|0)>=(k[S>>2]|0))break;Z=wF(k[O>>2]|0,k[U>>2]|0,k[N>>2]|0)|0;k[k[R>>2]>>2]=Z;if(!(k[k[R>>2]>>2]|0))k[k[R>>2]>>2]=k[(k[g>>2]|0)+8>>2];k[N>>2]=(k[N>>2]|0)+1;k[R>>2]=(k[R>>2]|0)+4}k[Q>>2]=k[U>>2];while(1){if(!(k[Q>>2]|0))break;k[N>>2]=0;while(1){if((k[N>>2]|0)>=2)break;k[T>>2]=k[(k[Q>>2]|0)+20+(k[N>>2]<<2)>>2];if((k[T>>2]|0)<0)break;Dy(k[Y>>2]|0,k[T>>2]|0,k[S>>2]|0);X=k[Y>>2]|0;Z=k[T>>2]|0;dv(X,Z,Ny(k[P>>2]|0)|0,-6);k[(k[Q>>2]|0)+20+(k[N>>2]<<2)>>2]=-1;k[N>>2]=(k[N>>2]|0)+1}k[Q>>2]=k[(k[Q>>2]|0)+48>>2]}Jk(k[P>>2]|0)}}else{Z=k[O>>2]|0;Y=ox(l[(k[U>>2]|0)+4>>0]|0)|0;k[d>>2]=Y;Cl(Z,35268,d);k[W>>2]=1}while(0);k[(k[V>>2]|0)+12>>2]=k[e+12>>2];k[(k[V>>2]|0)+16>>2]=k[e+16>>2];Tk(k[g>>2]|0,k[f>>2]|0);k[D>>2]=k[W>>2];Z=k[D>>2]|0;u=_;return Z|0}function JE(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;$x(k[d>>2]|0,b);u=c;return k[b>>2]|0}function KE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;m=p+12|0;n=p+8|0;e=p+4|0;f=p;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[m>>2]=d;k[e>>2]=0;if(!(k[j>>2]|0)){k[g>>2]=0;o=k[g>>2]|0;u=p;return o|0}k[f>>2]=k[i>>2];while(1){if(!(k[f>>2]|0))break;if(k[(k[f>>2]|0)+8>>2]&8200|0){o=6;break}k[f>>2]=k[(k[f>>2]|0)+48>>2]}if((o|0)==6){k[g>>2]=0;o=k[g>>2]|0;u=p;return o|0}if(k[(k[i>>2]|0)+56>>2]|0){k[g>>2]=0;o=k[g>>2]|0;u=p;return o|0}while(1){if((l[k[j>>2]>>0]|0|0)!=28)break;o=KE(k[h>>2]|0,k[i>>2]|0,k[(k[j>>2]|0)+16>>2]|0,k[m>>2]|0)|0;k[e>>2]=(k[e>>2]|0)+o;k[j>>2]=k[(k[j>>2]|0)+12>>2]}if(k[(k[j>>2]|0)+4>>2]&1|0){k[g>>2]=0;o=k[g>>2]|0;u=p;return o|0}a:do if(FC(k[j>>2]|0,k[m>>2]|0)|0){k[e>>2]=(k[e>>2]|0)+1;while(1){if(!(k[i>>2]|0))break a;o=ex(k[h>>2]|0,k[j>>2]|0,0)|0;k[n>>2]=o;o=pF(k[h>>2]|0,k[n>>2]|0,k[m>>2]|0,k[k[i>>2]>>2]|0)|0;k[n>>2]=o;o=Wx(k[h>>2]|0,k[(k[i>>2]|0)+32>>2]|0,k[n>>2]|0)|0;k[(k[i>>2]|0)+32>>2]=o;k[i>>2]=k[(k[i>>2]|0)+48>>2]}}while(0);k[g>>2]=k[e>>2];o=k[g>>2]|0;u=p;return o|0}function LE(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+19>>0]=0;k[(k[c>>2]|0)+28>>2]=0;u=b;return}function ME(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;j=p+36|0;l=p+32|0;m=p+28|0;q=p+24|0;n=p+20|0;o=p+16|0;e=p+12|0;f=p+8|0;g=p+4|0;h=p;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[q>>2]=d;k[f>>2]=k[k[j>>2]>>2];k[n>>2]=k[k[l>>2]>>2];d=Iy(k[f>>2]|0,(k[n>>2]|0)-(k[m>>2]|0)|0,(k[q>>2]|0)+1|0)|0;k[o>>2]=d;if(!(k[o>>2]|0)){q=k[o>>2]|0;u=p;return q|0}k[g>>2]=k[m>>2];k[e>>2]=(k[(k[l>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0);while(1){if((k[g>>2]|0)>=(k[n>>2]|0))break;q=Bw(k[j>>2]|0,k[k[e>>2]>>2]|0)|0;k[h>>2]=q;if(!(k[h>>2]|0))k[h>>2]=k[(k[f>>2]|0)+8>>2];k[(k[o>>2]|0)+20+((k[g>>2]|0)-(k[m>>2]|0)<<2)>>2]=k[h>>2];i[(k[(k[o>>2]|0)+16>>2]|0)+((k[g>>2]|0)-(k[m>>2]|0))>>0]=i[(k[e>>2]|0)+12>>0]|0;k[g>>2]=(k[g>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+20}q=k[o>>2]|0;u=p;return q|0}function NE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=u;u=u+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;l=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;k[h>>2]=0;if(k[(k[e>>2]|0)+12>>2]|0){u=m;return}OA(k[d>>2]|0);if(!(k[(k[e>>2]|0)+56>>2]|0)){u=m;return}b=(k[d>>2]|0)+44|0;c=(k[b>>2]|0)+1|0;k[b>>2]=c;k[h>>2]=c;k[(k[e>>2]|0)+12>>2]=c;c=Vu(k[d>>2]|0)|0;k[g>>2]=c;do if(bx(k[(k[e>>2]|0)+56>>2]|0,l)|0){_u(k[g>>2]|0,76,k[l>>2]|0,k[h>>2]|0)|0;if(!(k[l>>2]|0)){wy(k[g>>2]|0,k[f>>2]|0)|0;break}if((k[l>>2]|0)>=0?(c=j[(k[e>>2]|0)+6>>1]|0,f=k[l>>2]|0,(c|0)>((Hv(f,((f|0)<0)<<31>>31)|0)<<16>>16|0)):0){l=k[l>>2]|0;l=Hv(l,((l|0)<0)<<31>>31)|0;j[(k[e>>2]|0)+6>>1]=l;l=(k[e>>2]|0)+8|0;k[l>>2]=k[l>>2]|16384}}else{ez(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0,k[h>>2]|0);oy(k[g>>2]|0,17,k[h>>2]|0)|0;_u(k[g>>2]|0,22,k[h>>2]|0,k[f>>2]|0)|0}while(0);if(!(k[(k[e>>2]|0)+60>>2]|0)){u=m;return}f=(k[d>>2]|0)+44|0;l=(k[f>>2]|0)+1|0;k[f>>2]=l;k[i>>2]=l;k[(k[e>>2]|0)+16>>2]=l;l=(k[d>>2]|0)+44|0;k[l>>2]=(k[l>>2]|0)+1;ez(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0,k[i>>2]|0);oy(k[g>>2]|0,17,k[i>>2]|0)|0;$u(k[g>>2]|0,146,k[h>>2]|0,(k[i>>2]|0)+1|0,k[i>>2]|0)|0;u=m;return}function OE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;f=d+4|0;e=d;g=d+8|0;k[f>>2]=a;k[e>>2]=b;i[g>>0]=c;b=i[g>>0]|0;c=Ey(k[f>>2]|0,k[e>>2]|0)|0;i[c>>0]=b;u=d;return}function PE(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return j[(k[b>>2]|0)+72>>1]|0}function QE(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return l[(k[b>>2]|0)+47>>0]|0|0}function RE(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return i[(k[b>>2]|0)+43>>0]|0}function SE(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return l[(k[b>>2]|0)+48>>0]|0|0}function TE(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+28>>2]|0}function UE(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+32>>2]|0}function VE(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=u;u=u+144|0;V=W+124|0;Q=W+120|0;t=W+116|0;n=W+112|0;R=W+108|0;o=W+104|0;M=W+100|0;v=W+96|0;S=W+92|0;T=W+88|0;C=W+84|0;p=W+80|0;U=W+76|0;D=W+72|0;P=W+68|0;N=W+64|0;O=W+60|0;q=W+128|0;r=W+56|0;w=W+52|0;x=W+48|0;y=W+44|0;z=W+40|0;E=W+36|0;A=W+32|0;F=W+28|0;G=W+24|0;H=W+20|0;I=W+16|0;J=W+12|0;B=W+8|0;K=W+4|0;L=W;k[V>>2]=a;k[Q>>2]=b;k[t>>2]=c;k[n>>2]=d;k[R>>2]=e;k[o>>2]=f;k[M>>2]=g;k[v>>2]=h;k[S>>2]=j;k[T>>2]=k[(k[V>>2]|0)+8>>2];k[D>>2]=l[k[M>>2]>>0];k[P>>2]=k[(k[M>>2]|0)+8>>2];k[O>>2]=0;if(k[o>>2]|0)a=l[(k[o>>2]|0)+1>>0]|0;else a=0;k[p>>2]=a;if(k[R>>2]|0?(k[k[R>>2]>>2]|0)==0:0)k[R>>2]=0;if(!((k[R>>2]|0)!=0|(k[p>>2]|0)!=0))iF(k[T>>2]|0,k[(k[Q>>2]|0)+16>>2]|0,k[v>>2]|0);k[N>>2]=k[k[t>>2]>>2];if(k[(k[M>>2]|0)+12>>2]|0){if(((k[(k[M>>2]|0)+12>>2]|0)+(k[N>>2]|0)|0)>(k[(k[V>>2]|0)+44>>2]|0)){a=k[N>>2]|0;b=k[V>>2]|0;s=16}}else{if(k[R>>2]|0){k[O>>2]=k[k[k[R>>2]>>2]>>2];if(!((l[(k[R>>2]|0)+28>>0]|0)&1))k[O>>2]=(k[O>>2]|0)+1;s=(k[V>>2]|0)+44|0;k[s>>2]=(k[s>>2]|0)+(k[O>>2]|0)}k[(k[M>>2]|0)+12>>2]=(k[(k[V>>2]|0)+44>>2]|0)+1;a=k[N>>2]|0;b=k[V>>2]|0;s=16}if((s|0)==16){s=b+44|0;k[s>>2]=(k[s>>2]|0)+a}k[(k[M>>2]|0)+16>>2]=k[N>>2];k[U>>2]=k[(k[M>>2]|0)+12>>2];a:do if((k[n>>2]|0)<0){if((k[D>>2]|0)!=3){if((k[D>>2]|0)==10|(k[D>>2]|0)==9|(k[D>>2]|0)==13)i[q>>0]=1;else i[q>>0]=0;pz(k[V>>2]|0,k[t>>2]|0,k[U>>2]|0,0,i[q>>0]|0)|0}}else{k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[N>>2]|0))break a;$u(k[T>>2]|0,96,k[n>>2]|0,k[C>>2]|0,(k[U>>2]|0)+(k[C>>2]|0)|0)|0;k[C>>2]=(k[C>>2]|0)+1}}while(0);if(k[p>>2]|0){switch(l[(k[o>>2]|0)+1>>0]|0|0){case 2:{k[x>>2]=(k[(k[V>>2]|0)+44>>2]|0)+1;s=(k[V>>2]|0)+44|0;k[s>>2]=(k[s>>2]|0)+(k[N>>2]|0);$y(k[T>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;s=Ey(k[T>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[r>>2]=s;i[k[r>>2]>>0]=79;k[(k[r>>2]|0)+4>>2]=1;k[(k[r>>2]|0)+8>>2]=k[x>>2];s=Zv(k[T>>2]|0)|0;k[w>>2]=s+(k[N>>2]|0);k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[N>>2]|0))break;a=Bw(k[V>>2]|0,k[(k[(k[t>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)>>2]|0)|0;k[y>>2]=a;a=k[T>>2]|0;b=(k[U>>2]|0)+(k[C>>2]|0)|0;if((k[C>>2]|0)<((k[N>>2]|0)-1|0))$u(a,36,b,k[w>>2]|0,(k[x>>2]|0)+(k[C>>2]|0)|0)|0;else $u(a,37,b,k[v>>2]|0,(k[x>>2]|0)+(k[C>>2]|0)|0)|0;dv(k[T>>2]|0,-1,k[y>>2]|0,-4);ty(k[T>>2]|0,-128);k[C>>2]=(k[C>>2]|0)+1}$u(k[T>>2]|0,84,k[U>>2]|0,k[x>>2]|0,(k[N>>2]|0)-1|0)|0;break}case 1:{$y(k[T>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;break}default:jF(k[V>>2]|0,k[(k[o>>2]|0)+4>>2]|0,k[v>>2]|0,k[N>>2]|0,k[U>>2]|0)}if(!(k[R>>2]|0))iF(k[T>>2]|0,k[(k[Q>>2]|0)+16>>2]|0,k[v>>2]|0)}b:do switch(k[D>>2]|0){case 1:{O=Yv(k[V>>2]|0)|0;k[z>>2]=O;$u(k[T>>2]|0,99,k[U>>2]|0,k[N>>2]|0,k[z>>2]|0)|0;_u(k[T>>2]|0,126,k[P>>2]|0,k[z>>2]|0)|0;_v(k[V>>2]|0,k[z>>2]|0);break}case 2:{$u(k[T>>2]|0,127,k[P>>2]|0,k[U>>2]|0,k[N>>2]|0)|0;break}case 12:case 14:case 6:case 5:{M=Wy(k[V>>2]|0,(k[O>>2]|0)+1|0)|0;k[E>>2]=M;$u(k[T>>2]|0,99,k[U>>2]|0,k[N>>2]|0,(k[E>>2]|0)+(k[O>>2]|0)|0)|0;if((k[D>>2]|0)==6){N=(Zv(k[T>>2]|0)|0)+4|0;k[A>>2]=N;Jy(k[T>>2]|0,31,(k[P>>2]|0)+1|0,k[A>>2]|0,k[E>>2]|0,0)|0;_u(k[T>>2]|0,126,(k[P>>2]|0)+1|0,k[E>>2]|0)|0}a=k[V>>2]|0;if(k[R>>2]|0)oF(a,k[R>>2]|0,k[Q>>2]|0,(k[E>>2]|0)+(k[O>>2]|0)|0,k[U>>2]|0,1,k[O>>2]|0);else{U=Yv(a)|0;k[F>>2]=U;_u(k[T>>2]|0,114,k[P>>2]|0,k[F>>2]|0)|0;$u(k[T>>2]|0,115,k[P>>2]|0,k[E>>2]|0,k[F>>2]|0)|0;ty(k[T>>2]|0,8);_v(k[V>>2]|0,k[F>>2]|0)}Zy(k[V>>2]|0,k[E>>2]|0,(k[O>>2]|0)+1|0);break}case 11:{a=k[V>>2]|0;if(k[R>>2]|0){oF(a,k[R>>2]|0,k[Q>>2]|0,k[U>>2]|0,k[U>>2]|0,k[N>>2]|0,k[O>>2]|0);break b}else{O=Yv(a)|0;k[G>>2]=O;cv(k[T>>2]|0,99,k[U>>2]|0,k[N>>2]|0,k[G>>2]|0,k[(k[M>>2]|0)+4>>2]|0,k[N>>2]|0)|0;jz(k[V>>2]|0,k[U>>2]|0,k[N>>2]|0);_u(k[T>>2]|0,126,k[P>>2]|0,k[G>>2]|0)|0;_v(k[V>>2]|0,k[G>>2]|0);break b}}case 3:{_u(k[T>>2]|0,76,1,k[P>>2]|0)|0;break}case 10:{if(k[R>>2]|0)oF(k[V>>2]|0,k[R>>2]|0,k[Q>>2]|0,k[U>>2]|0,k[U>>2]|0,k[N>>2]|0,k[O>>2]|0);break}case 9:case 13:{if(k[R>>2]|0){oF(k[V>>2]|0,k[R>>2]|0,k[Q>>2]|0,k[U>>2]|0,k[U>>2]|0,k[N>>2]|0,k[O>>2]|0);break b}a=k[T>>2]|0;if((k[D>>2]|0)==13){oy(a,16,k[(k[M>>2]|0)+8>>2]|0)|0;break b}else{_u(a,87,k[U>>2]|0,k[N>>2]|0)|0;jz(k[V>>2]|0,k[U>>2]|0,k[N>>2]|0);break b}}case 7:case 8:{k[K>>2]=0;k[L>>2]=k[(k[M>>2]|0)+20>>2];k[H>>2]=k[k[L>>2]>>2];O=Yv(k[V>>2]|0)|0;k[I>>2]=O;O=Wy(k[V>>2]|0,(k[H>>2]|0)+2|0)|0;k[J>>2]=O;k[B>>2]=(k[J>>2]|0)+(k[H>>2]|0)+1;if((k[D>>2]|0)==8){O=Jy(k[T>>2]|0,31,(k[P>>2]|0)+1|0,0,k[U>>2]|0,k[N>>2]|0)|0;k[K>>2]=O}$u(k[T>>2]|0,99,k[U>>2]|0,k[N>>2]|0,k[B>>2]|0)|0;if((k[D>>2]|0)==8){_u(k[T>>2]|0,126,(k[P>>2]|0)+1|0,k[B>>2]|0)|0;ty(k[T>>2]|0,16)}k[C>>2]=0;while(1){a=k[T>>2]|0;if((k[C>>2]|0)>=(k[H>>2]|0))break;_u(a,85,(k[U>>2]|0)+(m[(k[(k[L>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+16>>1]|0)-1|0,(k[J>>2]|0)+(k[C>>2]|0)|0)|0;k[C>>2]=(k[C>>2]|0)+1}_u(a,113,k[P>>2]|0,(k[J>>2]|0)+(k[H>>2]|0)|0)|0;$u(k[T>>2]|0,99,k[J>>2]|0,(k[H>>2]|0)+2|0,k[I>>2]|0)|0;_u(k[T>>2]|0,126,k[P>>2]|0,k[I>>2]|0)|0;if(k[K>>2]|0)xy(k[T>>2]|0,k[K>>2]|0);_v(k[V>>2]|0,k[I>>2]|0);Zy(k[V>>2]|0,k[J>>2]|0,(k[H>>2]|0)+2|0);break}default:{}}while(0);if(k[R>>2]|0){u=W;return}if(!(k[(k[Q>>2]|0)+12>>2]|0)){u=W;return}_u(k[T>>2]|0,68,k[(k[Q>>2]|0)+12>>2]|0,k[S>>2]|0)|0;u=W;return}function WE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=g;return}k[e>>2]=k[(k[d>>2]|0)+4>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[d>>2]>>2]|0))break;XE(k[c>>2]|0,k[k[e>>2]>>2]|0);k[f>>2]=(k[f>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+20}u=g;return}function XE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+48|0;f=c+32|0;d=c+28|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+4>>2]=211;k[e+8>>2]=212;k[e+24>>2]=k[f>>2];Uw(e,k[d>>2]|0)|0;u=c;return}function YE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;g=h;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;k[c>>2]=a;k[d>>2]=b;if((l[(k[c>>2]|0)+409>>0]|0|0)!=2){u=h;return}k[e>>2]=k[(k[c>>2]|0)+8>>2];b=k[k[c>>2]>>2]|0;k[g>>2]=k[d>>2];g=ek(b,35245,g)|0;k[f>>2]=g;cv(k[e>>2]|0,162,k[(k[c>>2]|0)+420>>2]|0,0,0,k[f>>2]|0,-1)|0;u=h;return}function ZE(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return l[(k[b>>2]|0)+44>>0]|0|0}function _E(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;h=e+12|0;g=e+8|0;i=e+4|0;f=e;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[f>>2]=d;$u(k[(k[h>>2]|0)+8>>2]|0,83,k[g>>2]|0,k[i>>2]|0,k[f>>2]|0)|0;_y(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);u=e;return} +function $t(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=u;u=u+256|0;p=oa;ka=oa+244|0;la=oa+240|0;ma=oa+236|0;na=oa+232|0;V=oa+228|0;X=oa+224|0;B=oa+220|0;Y=oa+216|0;Z=oa+212|0;q=oa+208|0;_=oa+204|0;$=oa+200|0;aa=oa+196|0;r=oa+192|0;s=oa+188|0;ba=oa+184|0;ca=oa+180|0;da=oa+176|0;K=oa+172|0;ea=oa+168|0;fa=oa+164|0;y=oa+254|0;C=oa+253|0;L=oa+252|0;z=oa+160|0;ga=oa+152|0;f=oa+120|0;g=oa+112|0;M=oa+108|0;N=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;O=oa+88|0;D=oa+84|0;E=oa+80|0;ia=oa+76|0;P=oa+72|0;t=oa+64|0;ja=oa+56|0;Q=oa+52|0;R=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;S=oa+32|0;h=oa+28|0;n=oa+24|0;o=oa+250|0;v=oa+20|0;w=oa+248|0;x=oa+16|0;G=oa+12|0;T=oa+8|0;U=oa+4|0;k[ka>>2]=a;k[la>>2]=b;k[ma>>2]=c;k[na>>2]=d;k[V>>2]=e;k[Z>>2]=0;k[K>>2]=0;k[ea>>2]=0;k[z>>2]=0;k[ia>>2]=0;k[P>>2]=0;k[ja>>2]=0;k[Q>>2]=0;k[R>>2]=0;k[I>>2]=0;k[F>>2]=0;k[A>>2]=0;k[S>>2]=0;k[ga>>2]=0;k[ga+4>>2]=0;k[da>>2]=k[k[ka>>2]>>2];a:do if(((((k[(k[ka>>2]|0)+36>>2]|0)==0?(l[(k[da>>2]|0)+69>>0]|0)==0:0)?(e=lA(k[ka>>2]|0,k[la>>2]|0)|0,k[Y>>2]=e,k[Y>>2]|0):0)?(e=Ru(k[k[ka>>2]>>2]|0,k[(k[Y>>2]|0)+64>>2]|0)|0,k[g>>2]=e,e=qB(k[ka>>2]|0,k[Y>>2]|0,110,k[ma>>2]|0,D)|0,k[O>>2]=e,k[H>>2]=(k[(k[Y>>2]|0)+12>>2]|0)!=0&1,(ow(k[ka>>2]|0,k[Y>>2]|0)|0)==0):0)?(rB(k[ka>>2]|0,k[Y>>2]|0,k[D>>2]|0)|0)==0:0){d=(k[ka>>2]|0)+40|0;e=k[d>>2]|0;k[d>>2]=e+1;k[ba>>2]=e;k[s>>2]=e;k[(k[la>>2]|0)+8+44>>2]=e;k[ca>>2]=(k[ba>>2]|0)+1;if(!(l[(k[Y>>2]|0)+42>>0]&32))a=0;else a=Ev(k[Y>>2]|0)|0;k[aa>>2]=a;k[r>>2]=0;k[$>>2]=k[(k[Y>>2]|0)+8>>2];while(1){if(!(k[$>>2]|0))break;if(k[aa>>2]|0?(i[(k[$>>2]|0)+55>>0]&3|0)==2:0){k[ba>>2]=k[(k[ka>>2]|0)+40>>2];k[(k[la>>2]|0)+8+44>>2]=k[ba>>2]}e=(k[ka>>2]|0)+40|0;k[e>>2]=(k[e>>2]|0)+1;k[$>>2]=k[(k[$>>2]|0)+20>>2];k[r>>2]=(k[r>>2]|0)+1}e=Od(k[da>>2]|0,((j[(k[Y>>2]|0)+34>>1]|0)+(k[r>>2]|0)<<2)+(k[r>>2]|0)+2|0,0)|0;k[ea>>2]=e;if(k[ea>>2]|0){k[K>>2]=(k[ea>>2]|0)+(j[(k[Y>>2]|0)+34>>1]<<2);k[fa>>2]=(k[K>>2]|0)+(k[r>>2]<<2);w0(k[fa>>2]|0,1,(k[r>>2]|0)+1|0)|0;i[(k[fa>>2]|0)+((k[r>>2]|0)+1)>>0]=0;k[X>>2]=0;while(1){if((k[X>>2]|0)>=(j[(k[Y>>2]|0)+34>>1]|0))break;k[(k[ea>>2]|0)+(k[X>>2]<<2)>>2]=-1;k[X>>2]=(k[X>>2]|0)+1}k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+28>>2]=0;k[f>>2]=k[ka>>2];k[f+4>>2]=k[la>>2];i[y>>0]=0;i[C>>0]=0;k[X>>2]=0;while(1){if((k[X>>2]|0)>=(k[k[ma>>2]>>2]|0))break;if(Yw(f,k[(k[(k[ma>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0)break a;k[B>>2]=0;while(1){if((k[B>>2]|0)>=(j[(k[Y>>2]|0)+34>>1]|0))break;e=(lh(k[(k[(k[Y>>2]|0)+4>>2]|0)+(k[B>>2]<<4)>>2]|0,k[(k[(k[ma>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)+4>>2]|0)|0)==0;a=k[B>>2]|0;if(e){J=23;break}k[B>>2]=a+1}if((J|0)==23){J=0;if((a|0)!=(j[(k[Y>>2]|0)+32>>1]|0)){if(k[aa>>2]|0?l[(k[(k[Y>>2]|0)+4>>2]|0)+(k[B>>2]<<4)+15>>0]&1|0:0)i[y>>0]=1}else{i[C>>0]=1;k[z>>2]=k[(k[(k[ma>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]}k[(k[ea>>2]|0)+(k[B>>2]<<2)>>2]=k[X>>2]}if((k[B>>2]|0)>=(j[(k[Y>>2]|0)+34>>1]|0)){if(k[aa>>2]|0){J=34;break}if(!(Gx(k[(k[(k[ma>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}k[B>>2]=-1;i[C>>0]=1;k[z>>2]=k[(k[(k[ma>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]}if((k[B>>2]|0)<0)a=29445;else a=k[(k[(k[Y>>2]|0)+4>>2]|0)+(k[B>>2]<<4)>>2]|0;e=Su(k[ka>>2]|0,23,k[k[Y>>2]>>2]|0,a,k[(k[(k[da>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2]|0)|0;k[h>>2]=e;if((k[h>>2]|0)==1)break a;if((k[h>>2]|0)==2)k[(k[ea>>2]|0)+(k[B>>2]<<2)>>2]=-1;k[X>>2]=(k[X>>2]|0)+1}if((J|0)==34){ja=k[ka>>2]|0;k[p>>2]=k[(k[(k[ma>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)+4>>2];Cl(ja,34753,p);i[(k[ka>>2]|0)+17>>0]=1;break}i[L>>0]=(l[C>>0]|0)+(l[y>>0]|0);h=(l[(k[Y>>2]|0)+42>>0]&16|0)!=0;p=(k[la>>2]|0)+8+56|0;k[p>>2]=h?-1:0;k[p+4>>2]=h?-1:0;p=JD(k[ka>>2]|0,k[Y>>2]|0,k[ea>>2]|0,l[L>>0]|0)|0;k[N>>2]=p;k[B>>2]=0;k[$>>2]=k[(k[Y>>2]|0)+8>>2];while(1){if(!(k[$>>2]|0))break;b:do if((!((l[L>>0]|0)!=0|(k[N>>2]|0)!=0)?!(k[(k[$>>2]|0)+36>>2]|0):0)?(k[$>>2]|0)!=(k[aa>>2]|0):0){k[n>>2]=0;k[X>>2]=0;while(1){if((k[X>>2]|0)>=(m[(k[$>>2]|0)+50>>1]|0))break b;j[o>>1]=j[(k[(k[$>>2]|0)+4>>2]|0)+(k[X>>2]<<1)>>1]|0;if((j[o>>1]|0)<0)break;if((k[(k[ea>>2]|0)+(j[o>>1]<<2)>>2]|0)>=0)break;k[X>>2]=(k[X>>2]|0)+1}h=(k[ka>>2]|0)+44|0;p=(k[h>>2]|0)+1|0;k[h>>2]=p;k[n>>2]=p}else J=46;while(0);if((J|0)==46){J=0;h=(k[ka>>2]|0)+44|0;p=(k[h>>2]|0)+1|0;k[h>>2]=p;k[n>>2]=p}if(!(k[n>>2]|0))i[(k[fa>>2]|0)+((k[B>>2]|0)+1)>>0]=0;k[(k[K>>2]|0)+(k[B>>2]<<2)>>2]=k[n>>2];k[$>>2]=k[(k[$>>2]|0)+20>>2];k[B>>2]=(k[B>>2]|0)+1}p=Vu(k[ka>>2]|0)|0;k[_>>2]=p;if(k[_>>2]|0){if(!(l[(k[ka>>2]|0)+18>>0]|0))sB(k[_>>2]|0);mv(k[ka>>2]|0,1,k[g>>2]|0);if(!(l[(k[Y>>2]|0)+42>>0]&16)){p=(k[ka>>2]|0)+44|0;o=(k[p>>2]|0)+1|0;k[p>>2]=o;k[A>>2]=o;o=(k[ka>>2]|0)+44|0;p=(k[o>>2]|0)+1|0;k[o>>2]=p;k[R>>2]=p;k[Q>>2]=p;if((l[y>>0]|0)!=0|(k[O>>2]|0)!=0|(k[N>>2]|0)!=0){k[F>>2]=(k[(k[ka>>2]|0)+44>>2]|0)+1;p=(k[ka>>2]|0)+44|0;k[p>>2]=(k[p>>2]|0)+(j[(k[Y>>2]|0)+34>>1]|0)}if((l[L>>0]|0)!=0|(k[O>>2]|0)!=0|(k[N>>2]|0)!=0){o=(k[ka>>2]|0)+44|0;p=(k[o>>2]|0)+1|0;k[o>>2]=p;k[R>>2]=p}k[I>>2]=(k[(k[ka>>2]|0)+44>>2]|0)+1;p=(k[ka>>2]|0)+44|0;k[p>>2]=(k[p>>2]|0)+(j[(k[Y>>2]|0)+34>>1]|0)}if(k[H>>2]|0)BE(k[ka>>2]|0,ga,k[k[Y>>2]>>2]|0);if(k[H>>2]|0)CE(k[ka>>2]|0,k[Y>>2]|0,k[na>>2]|0,k[ba>>2]|0);if(!(Yw(f,k[na>>2]|0)|0)){if(l[(k[Y>>2]|0)+42>>0]&16|0){DE(k[ka>>2]|0,k[la>>2]|0,k[Y>>2]|0,k[ma>>2]|0,k[z>>2]|0,k[ea>>2]|0,k[na>>2]|0,k[V>>2]|0);break}if(!(l[(k[Y>>2]|0)+42>>0]&32)){$u(k[_>>2]|0,79,0,k[A>>2]|0,k[Q>>2]|0)|0;x=PB(k[ka>>2]|0,k[la>>2]|0,k[na>>2]|0,0,0,1028,k[ca>>2]|0)|0;k[q>>2]=x;if(!(k[q>>2]|0))break;x=EE(k[q>>2]|0,t)|0;k[M>>2]=x;_u(k[_>>2]|0,123,k[ba>>2]|0,k[Q>>2]|0)|0;if(!(k[M>>2]|0))_u(k[_>>2]|0,142,k[A>>2]|0,k[Q>>2]|0)|0;QB(k[q>>2]|0)}else{j[w>>1]=j[(k[aa>>2]|0)+50>>1]|0;k[v>>2]=(k[(k[ka>>2]|0)+44>>2]|0)+1;p=(k[ka>>2]|0)+44|0;k[p>>2]=(k[p>>2]|0)+(j[w>>1]|0);p=(k[ka>>2]|0)+44|0;o=(k[p>>2]|0)+1|0;k[p>>2]=o;k[S>>2]=o;o=(k[ka>>2]|0)+40|0;p=k[o>>2]|0;k[o>>2]=p+1;k[ia>>2]=p;_u(k[_>>2]|0,79,0,k[v>>2]|0)|0;p=_u(k[_>>2]|0,107,k[ia>>2]|0,j[w>>1]|0)|0;k[x>>2]=p;sy(k[ka>>2]|0,k[aa>>2]|0);p=PB(k[ka>>2]|0,k[la>>2]|0,k[na>>2]|0,0,0,4,k[ca>>2]|0)|0;k[q>>2]=p;if(!(k[q>>2]|0))break;p=EE(k[q>>2]|0,t)|0;k[M>>2]=p;k[X>>2]=0;while(1){if((k[X>>2]|0)>=(j[w>>1]|0))break;bz(k[_>>2]|0,k[Y>>2]|0,k[ba>>2]|0,j[(k[(k[aa>>2]|0)+4>>2]|0)+(k[X>>2]<<1)>>1]|0,(k[v>>2]|0)+(k[X>>2]|0)|0);k[X>>2]=(k[X>>2]|0)+1}a=k[_>>2]|0;if(k[M>>2]|0){$y(a,k[x>>2]|0)|0;k[P>>2]=j[w>>1];k[S>>2]=k[v>>2]}else{o=k[v>>2]|0;p=j[w>>1]|0;v=k[S>>2]|0;x=MA(k[da>>2]|0,k[aa>>2]|0)|0;cv(a,99,o,p,v,x,j[w>>1]|0)|0;_u(k[_>>2]|0,126,k[ia>>2]|0,k[S>>2]|0)|0}QB(k[q>>2]|0)}if(k[(k[da>>2]|0)+24>>2]&128|0?(k[(k[ka>>2]|0)+128>>2]|0)==0:0){w=(k[ka>>2]|0)+44|0;x=(k[w>>2]|0)+1|0;k[w>>2]=x;k[ja>>2]=x;_u(k[_>>2]|0,76,0,k[ja>>2]|0)|0}x=uy(k[_>>2]|0)|0;k[ha>>2]=x;if(!(k[H>>2]|0)){c:do if((k[V>>2]|0)==5)w0(k[fa>>2]|0,1,(k[r>>2]|0)+1|0)|0;else{k[$>>2]=k[(k[Y>>2]|0)+8>>2];while(1){if(!(k[$>>2]|0))break c;if((l[(k[$>>2]|0)+54>>0]|0)==5)break;k[$>>2]=k[(k[$>>2]|0)+20>>2]}w0(k[fa>>2]|0,1,(k[r>>2]|0)+1|0)|0}while(0);do if(k[M>>2]|0){if((k[t>>2]|0)>=0)i[(k[fa>>2]|0)+((k[t>>2]|0)-(k[s>>2]|0))>>0]=0;if((k[t+4>>2]|0)<0)break;i[(k[fa>>2]|0)+((k[t+4>>2]|0)-(k[s>>2]|0))>>0]=0}while(0);PA(k[ka>>2]|0,k[Y>>2]|0,105,0,k[s>>2]|0,k[fa>>2]|0,0,0)|0}do if(!(k[M>>2]|0)){a=k[_>>2]|0;if(k[aa>>2]|0){A=uy(a)|0;k[W>>2]=A;_u(k[_>>2]|0,57,k[ia>>2]|0,k[ha>>2]|0)|0;A=_u(k[_>>2]|0,121,k[ia>>2]|0,k[S>>2]|0)|0;k[Z>>2]=A;Jy(k[_>>2]|0,30,k[ba>>2]|0,k[W>>2]|0,k[S>>2]|0,0)|0;break}else{A=$u(a,62,k[A>>2]|0,k[ha>>2]|0,k[Q>>2]|0)|0;k[W>>2]=A;$u(k[_>>2]|0,33,k[ba>>2]|0,k[W>>2]|0,k[Q>>2]|0)|0;break}}else{if(!(k[H>>2]|0?1:(l[(k[fa>>2]|0)+((k[ba>>2]|0)-(k[s>>2]|0))>>0]|0)==0))Jy(k[_>>2]|0,30,k[ba>>2]|0,k[ha>>2]|0,k[S>>2]|0,k[P>>2]|0)|0;k[W>>2]=k[ha>>2];_u(k[_>>2]|0,34,k[aa>>2]|0?k[S>>2]|0:k[Q>>2]|0,k[ha>>2]|0)|0}while(0);if(i[C>>0]|0){ez(k[ka>>2]|0,k[z>>2]|0,k[R>>2]|0);oy(k[_>>2]|0,17,k[R>>2]|0)|0}do if((l[y>>0]|0)!=0|(k[N>>2]|0)!=0|(k[O>>2]|0)!=0){if(k[N>>2]|0)a=OD(k[ka>>2]|0,k[Y>>2]|0)|0;else a=0;k[G>>2]=a;A=ND(k[ka>>2]|0,k[O>>2]|0,k[ma>>2]|0,0,3,k[Y>>2]|0,k[V>>2]|0)|0;k[G>>2]=k[G>>2]|A;k[X>>2]=0;while(1){if((k[X>>2]|0)>=(j[(k[Y>>2]|0)+34>>1]|0))break;do if((k[G>>2]|0)==-1)J=120;else{if((k[X>>2]|0)<32?k[G>>2]&1<>2]|0:0){J=120;break}if(l[(k[(k[Y>>2]|0)+4>>2]|0)+(k[X>>2]<<4)+15>>0]&1|0){J=120;break}_u(k[_>>2]|0,79,0,(k[F>>2]|0)+(k[X>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;bz(k[_>>2]|0,k[Y>>2]|0,k[ba>>2]|0,k[X>>2]|0,(k[F>>2]|0)+(k[X>>2]|0)|0)}k[X>>2]=(k[X>>2]|0)+1}if(!((l[C>>0]|0)==0&(k[aa>>2]|0)==0))break;_u(k[_>>2]|0,84,k[Q>>2]|0,k[R>>2]|0)|0}while(0);G=ND(k[ka>>2]|0,k[O>>2]|0,k[ma>>2]|0,1,1,k[Y>>2]|0,k[V>>2]|0)|0;k[E>>2]=G;k[X>>2]=0;while(1){if((k[X>>2]|0)>=(j[(k[Y>>2]|0)+34>>1]|0))break;d:do if((k[X>>2]|0)==(j[(k[Y>>2]|0)+32>>1]|0))_u(k[_>>2]|0,79,0,(k[I>>2]|0)+(k[X>>2]|0)|0)|0;else{k[B>>2]=k[(k[ea>>2]|0)+(k[X>>2]<<2)>>2];if((k[B>>2]|0)>=0){ez(k[ka>>2]|0,k[(k[(k[ma>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)>>2]|0,(k[I>>2]|0)+(k[X>>2]|0)|0);break}do if(!((k[X>>2]|0)>31?1:0==(k[D>>2]&1|0))){if(k[E>>2]&1<>2]|0)break;_u(k[_>>2]|0,79,0,(k[I>>2]|0)+(k[X>>2]|0)|0)|0;break d}while(0);uC(k[ka>>2]|0,k[Y>>2]|0,k[X>>2]|0,k[ba>>2]|0,(k[I>>2]|0)+(k[X>>2]|0)|0)}while(0);k[X>>2]=(k[X>>2]|0)+1}e:do if(k[D>>2]&1|0){yB(k[_>>2]|0,k[Y>>2]|0,k[I>>2]|0);zB(k[ka>>2]|0,k[O>>2]|0,110,k[ma>>2]|0,1,k[Y>>2]|0,k[Q>>2]|0,k[V>>2]|0,k[W>>2]|0);a=k[_>>2]|0;b=k[ba>>2]|0;c=k[W>>2]|0;if(k[aa>>2]|0)Jy(a,30,b,c,k[S>>2]|0,k[P>>2]|0)|0;else $u(a,33,b,c,k[Q>>2]|0)|0;k[X>>2]=0;while(1){if((k[X>>2]|0)>=(j[(k[Y>>2]|0)+34>>1]|0))break e;do if((k[(k[ea>>2]|0)+(k[X>>2]<<2)>>2]|0)<0){if((k[X>>2]|0)==(j[(k[Y>>2]|0)+32>>1]|0))break;bz(k[_>>2]|0,k[Y>>2]|0,k[ba>>2]|0,k[X>>2]|0,(k[I>>2]|0)+(k[X>>2]|0)|0)}while(0);k[X>>2]=(k[X>>2]|0)+1}}while(0);do if(!(k[H>>2]|0)){k[T>>2]=0;k[U>>2]=0;DB(k[ka>>2]|0,k[Y>>2]|0,k[K>>2]|0,k[ba>>2]|0,k[ca>>2]|0,k[R>>2]|0,k[Q>>2]|0,i[L>>0]|0,k[V>>2]&255,k[W>>2]|0,U,k[ea>>2]|0);if(k[N>>2]|0)EB(k[ka>>2]|0,k[Y>>2]|0,k[Q>>2]|0,0,k[ea>>2]|0,l[L>>0]|0);if(!(!(k[U>>2]|0)?!(l[L>>0]|0):0))J=151;do if((J|0)==151){a=k[_>>2]|0;b=k[ba>>2]|0;if(k[aa>>2]|0){S=Jy(a,30,b,0,k[S>>2]|0,k[P>>2]|0)|0;k[T>>2]=S;break}else{S=$u(a,33,b,0,k[Q>>2]|0)|0;k[T>>2]=S;break}}while(0);MD(k[ka>>2]|0,k[Y>>2]|0,k[ba>>2]|0,k[ca>>2]|0,k[K>>2]|0,-1);if(!(!(k[N>>2]|0)?!((l[L>>0]|0)!=0|(k[aa>>2]|0)!=0):0))_u(k[_>>2]|0,117,k[ba>>2]|0,0)|0;if(!(!(k[U>>2]|0)?!(l[L>>0]|0):0))xy(k[_>>2]|0,k[T>>2]|0);if(k[N>>2]|0)EB(k[ka>>2]|0,k[Y>>2]|0,0,k[R>>2]|0,k[ea>>2]|0,l[L>>0]|0);FB(k[ka>>2]|0,k[Y>>2]|0,k[ba>>2]|0,k[ca>>2]|0,k[R>>2]|0,k[K>>2]|0,1,0,0);if(!(k[N>>2]|0))break;PD(k[ka>>2]|0,k[Y>>2]|0,k[ma>>2]|0,k[Q>>2]|0,k[ea>>2]|0,l[L>>0]|0)}while(0);do if(k[(k[da>>2]|0)+24>>2]&128|0){if(k[(k[ka>>2]|0)+128>>2]|0)break;_u(k[_>>2]|0,91,k[ja>>2]|0,1)|0}while(0);zB(k[ka>>2]|0,k[O>>2]|0,110,k[ma>>2]|0,2,k[Y>>2]|0,k[Q>>2]|0,k[V>>2]|0,k[W>>2]|0);do if(!(k[M>>2]|0)){b=k[_>>2]|0;a=k[W>>2]|0;if(k[aa>>2]|0){yy(b,a);_u(k[_>>2]|0,7,k[ia>>2]|0,k[Z>>2]|0)|0;break}else{wy(b,a)|0;break}}while(0);yy(k[_>>2]|0,k[ha>>2]|0);k[X>>2]=0;k[$>>2]=k[(k[Y>>2]|0)+8>>2];while(1){if(!(k[$>>2]|0))break;if(i[(k[fa>>2]|0)+((k[X>>2]|0)+1)>>0]|0)_u(k[_>>2]|0,111,(k[ca>>2]|0)+(k[X>>2]|0)|0,0)|0;k[$>>2]=k[(k[$>>2]|0)+20>>2];k[X>>2]=(k[X>>2]|0)+1}if((k[ba>>2]|0)<(k[ca>>2]|0))_u(k[_>>2]|0,111,k[ba>>2]|0,0)|0;do if(!(l[(k[ka>>2]|0)+18>>0]|0)){if(k[(k[ka>>2]|0)+128>>2]|0)break;GB(k[ka>>2]|0)}while(0);if(!(k[(k[da>>2]|0)+24>>2]&128))break;if(k[(k[ka>>2]|0)+128>>2]|0)break;if(i[(k[ka>>2]|0)+18>>0]|0)break;_u(k[_>>2]|0,87,k[ja>>2]|0,1)|0;$s(k[_>>2]|0,1);at(k[_>>2]|0,0,0,34772,0)|0}}}}while(0);FE(ga);fe(k[da>>2]|0,k[ea>>2]|0);$k(k[da>>2]|0,k[la>>2]|0);Uk(k[da>>2]|0,k[ma>>2]|0);Yk(k[da>>2]|0,k[na>>2]|0);u=oa;return}function au(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;p=q;h=q+40|0;i=q+36|0;j=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;e=q+16|0;f=q+12|0;g=q+8|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=k[k[h>>2]>>2];if(k[i>>2]|0)a=k[k[i>>2]>>2]|0;else a=0;k[f>>2]=a;do if(!((k[j>>2]|0)==0|(k[m>>2]|0)==0)){d=Bx(k[m>>2]|0)|0;k[o>>2]=d;if((k[(k[j>>2]|0)+4>>2]|0)!=(k[o>>2]|0)){h=k[h>>2]|0;o=k[o>>2]|0;k[p>>2]=k[(k[j>>2]|0)+4>>2];k[p+4>>2]=o;Cl(h,34723,p);break}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[o>>2]|0))break;p=AD(k[h>>2]|0,k[m>>2]|0,k[e>>2]|0)|0;k[g>>2]=p;p=Ot(k[h>>2]|0,k[i>>2]|0,k[g>>2]|0)|0;k[i>>2]=p;if(k[i>>2]|0){k[(k[(k[i>>2]|0)+4>>2]|0)+(((k[k[i>>2]>>2]|0)-1|0)*20|0)+4>>2]=k[(k[k[j>>2]>>2]|0)+(k[e>>2]<<3)>>2];k[(k[k[j>>2]>>2]|0)+(k[e>>2]<<3)>>2]=0}k[e>>2]=(k[e>>2]|0)+1}if((k[i>>2]|0?(l[k[m>>2]>>0]|0|0)==119:0)?k[(k[(k[i>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0:0){k[(k[(k[(k[i>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)+16>>2]=k[m>>2];k[m>>2]=0}}while(0);Yk(k[n>>2]|0,k[m>>2]|0);bl(k[n>>2]|0,k[j>>2]|0);u=q;return k[i>>2]|0}function bu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=u;u=u+304|0;D=oa+32|0;C=oa+16|0;B=oa;fa=oa+284|0;ka=oa+280|0;la=oa+276|0;ma=oa+272|0;na=oa+268|0;F=oa+264|0;G=oa+260|0;f=oa+256|0;H=oa+252|0;I=oa+248|0;J=oa+244|0;K=oa+240|0;L=oa+236|0;M=oa+232|0;N=oa+228|0;O=oa+224|0;P=oa+220|0;Q=oa+216|0;R=oa+212|0;S=oa+208|0;T=oa+204|0;U=oa+200|0;g=oa+176|0;h=oa+172|0;V=oa+291|0;W=oa+290|0;m=oa+289|0;n=oa+288|0;X=oa+168|0;Y=oa+164|0;Z=oa+160|0;_=oa+156|0;$=oa+152|0;aa=oa+148|0;ba=oa+144|0;ca=oa+140|0;da=oa+136|0;ea=oa+132|0;o=oa+128|0;p=oa+124|0;q=oa+120|0;r=oa+116|0;s=oa+112|0;t=oa+108|0;v=oa+104|0;w=oa+72|0;x=oa+68|0;y=oa+64|0;z=oa+60|0;A=oa+56|0;ga=oa+52|0;ha=oa+48|0;ia=oa+44|0;ja=oa+40|0;k[fa>>2]=a;k[ka>>2]=b;k[la>>2]=c;k[ma>>2]=d;k[na>>2]=e;k[N>>2]=0;k[O>>2]=0;k[P>>2]=0;k[Q>>2]=-1;k[S>>2]=0;k[T>>2]=0;k[U>>2]=0;i[V>>0]=0;i[W>>0]=0;k[X>>2]=0;k[Y>>2]=0;k[Z>>2]=0;k[_>>2]=0;k[ca>>2]=0;k[F>>2]=k[k[fa>>2]>>2];k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;a:do if((k[(k[fa>>2]|0)+36>>2]|0)==0?(l[(k[F>>2]|0)+69>>0]|0)==0:0){if((k[la>>2]|0?k[(k[la>>2]|0)+8>>2]&512|0:0)?(k[(k[la>>2]|0)+48>>2]|0)==0:0){k[X>>2]=k[k[la>>2]>>2];k[k[la>>2]>>2]=0;Tk(k[F>>2]|0,k[la>>2]|0);k[la>>2]=0}k[f>>2]=k[(k[ka>>2]|0)+8+8>>2];if(((((k[f>>2]|0?(e=lA(k[fa>>2]|0,k[ka>>2]|0)|0,k[G>>2]=e,k[G>>2]|0):0)?(e=Ru(k[F>>2]|0,k[(k[G>>2]|0)+64>>2]|0)|0,k[h>>2]=e,(Su(k[fa>>2]|0,18,k[k[G>>2]>>2]|0,0,k[(k[(k[F>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)==0):0)?(i[m>>0]=((l[(k[G>>2]|0)+42>>0]&32|0)==0^1)&1,e=qB(k[fa>>2]|0,k[G>>2]|0,108,0,o)|0,k[ea>>2]=e,k[da>>2]=(k[(k[G>>2]|0)+12>>2]|0)!=0&1,(ow(k[fa>>2]|0,k[G>>2]|0)|0)==0):0)?(rB(k[fa>>2]|0,k[G>>2]|0,k[o>>2]|0)|0)==0:0)?(e=Vu(k[fa>>2]|0)|0,k[K>>2]=e,k[K>>2]|0):0){if(!(l[(k[fa>>2]|0)+18>>0]|0))sB(k[K>>2]|0);mv(k[fa>>2]|0,(k[la>>2]|0?1:(k[ea>>2]|0)!=0)&1,k[h>>2]|0);if(!((k[ma>>2]|0)==0?(tB(k[fa>>2]|0,k[G>>2]|0,k[la>>2]|0,k[na>>2]|0,k[h>>2]|0)|0)!=0:0))E=17;b:do if((E|0)==17){e=uB(k[fa>>2]|0,k[h>>2]|0,k[G>>2]|0)|0;k[Z>>2]=e;e=(k[(k[fa>>2]|0)+44>>2]|0)+1|0;k[$>>2]=e;k[aa>>2]=e;e=(k[fa>>2]|0)+44|0;k[e>>2]=(k[e>>2]|0)+((j[(k[G>>2]|0)+34>>1]|0)+1);if(l[(k[G>>2]|0)+42>>0]&16|0){k[aa>>2]=(k[aa>>2]|0)+1;e=(k[fa>>2]|0)+44|0;k[e>>2]=(k[e>>2]|0)+1}k[ba>>2]=(k[aa>>2]|0)+1;i[n>>0]=(l[(k[G>>2]|0)+42>>0]&128|0)==0;c:do if(k[ma>>2]|0){k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[(k[ma>>2]|0)+4>>2]|0))break;k[(k[k[ma>>2]>>2]|0)+(k[H>>2]<<3)+4>>2]=-1;k[H>>2]=(k[H>>2]|0)+1}k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[(k[ma>>2]|0)+4>>2]|0))break c;k[I>>2]=0;while(1){if((k[I>>2]|0)>=(j[(k[G>>2]|0)+34>>1]|0))break;e=(lh(k[(k[k[ma>>2]>>2]|0)+(k[H>>2]<<3)>>2]|0,k[(k[(k[G>>2]|0)+4>>2]|0)+(k[I>>2]<<4)>>2]|0)|0)==0;a=k[I>>2]|0;if(e){E=28;break}k[I>>2]=a+1}do if((E|0)==28){E=0;k[(k[k[ma>>2]>>2]|0)+(k[H>>2]<<3)+4>>2]=a;if((k[H>>2]|0)!=(k[I>>2]|0))i[n>>0]=0;if((k[I>>2]|0)!=(j[(k[G>>2]|0)+32>>1]|0))break;k[Q>>2]=k[H>>2]}while(0);if((k[I>>2]|0)>=(j[(k[G>>2]|0)+34>>1]|0)){e=(Gx(k[(k[k[ma>>2]>>2]|0)+(k[H>>2]<<3)>>2]|0)|0)==0;if(e|(i[m>>0]|0)!=0)break;k[Q>>2]=k[H>>2];i[n>>0]=0}k[H>>2]=(k[H>>2]|0)+1}na=k[fa>>2]|0;ja=k[(k[k[ma>>2]>>2]|0)+(k[H>>2]<<3)>>2]|0;k[B>>2]=k[ka>>2];k[B+4>>2]=0;k[B+8>>2]=ja;Cl(na,33877,B);i[(k[fa>>2]|0)+17>>0]=1;break a}while(0);do if(!(k[la>>2]|0)){k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;k[w+12>>2]=0;k[w+16>>2]=0;k[w+20>>2]=0;k[w+24>>2]=0;k[w+28>>2]=0;k[w>>2]=k[fa>>2];k[S>>2]=-1;if(k[X>>2]|0){k[M>>2]=k[k[X>>2]>>2];if(Zw(w,k[X>>2]|0)|0)break a;else break}else{k[M>>2]=0;break}}else{w=(k[fa>>2]|0)+44|0;B=(k[w>>2]|0)+1|0;k[w>>2]=B;k[p>>2]=B;B=(Zv(k[K>>2]|0)|0)+1|0;k[q>>2]=B;$u(k[K>>2]|0,15,k[p>>2]|0,0,k[q>>2]|0)|0;Kz(g,13,k[p>>2]|0);k[g+12>>2]=l[n>>0]|0?k[ba>>2]|0:0;k[g+16>>2]=j[(k[G>>2]|0)+34>>1];B=Kt(k[fa>>2]|0,k[la>>2]|0,g)|0;k[r>>2]=B;k[Y>>2]=k[g+12>>2];if(k[r>>2]|0)break a;if(l[(k[F>>2]|0)+69>>0]|0)break a;if(k[(k[fa>>2]|0)+36>>2]|0)break a;vB(k[K>>2]|0,k[p>>2]|0);xy(k[K>>2]|0,(k[q>>2]|0)-1|0);k[M>>2]=k[k[k[la>>2]>>2]>>2];if(!(!(k[ea>>2]|0)?!(wB(k[fa>>2]|0,k[h>>2]|0,k[G>>2]|0)|0):0))i[V>>0]=1;if(!(i[V>>0]|0))break;w=(k[fa>>2]|0)+40|0;B=k[w>>2]|0;k[w>>2]=B+1;k[S>>2]=B;B=Yv(k[fa>>2]|0)|0;k[s>>2]=B;B=Yv(k[fa>>2]|0)|0;k[t>>2]=B;_u(k[K>>2]|0,107,k[S>>2]|0,k[M>>2]|0)|0;B=oy(k[K>>2]|0,16,k[g+8>>2]|0)|0;k[v>>2]=B;$u(k[K>>2]|0,99,k[Y>>2]|0,k[M>>2]|0,k[s>>2]|0)|0;_u(k[K>>2]|0,114,k[S>>2]|0,k[t>>2]|0)|0;$u(k[K>>2]|0,115,k[S>>2]|0,k[s>>2]|0,k[t>>2]|0)|0;wy(k[K>>2]|0,k[v>>2]|0)|0;xy(k[K>>2]|0,k[v>>2]|0);_v(k[fa>>2]|0,k[s>>2]|0);_v(k[fa>>2]|0,k[t>>2]|0)}while(0);if((k[ma>>2]|0)==0&(k[M>>2]|0)>0)k[Q>>2]=j[(k[G>>2]|0)+32>>1];k[H>>2]=0;while(1){if((k[H>>2]|0)>=(j[(k[G>>2]|0)+34>>1]|0))break;k[N>>2]=(k[N>>2]|0)+(l[(k[(k[G>>2]|0)+4>>2]|0)+(k[H>>2]<<4)+15>>0]&2|0?1:0);k[H>>2]=(k[H>>2]|0)+1}if((k[ma>>2]|0)==0&(k[M>>2]|0)!=0?(k[M>>2]|0)!=((j[(k[G>>2]|0)+34>>1]|0)-(k[N>>2]|0)|0):0){na=k[fa>>2]|0;ia=(j[(k[G>>2]|0)+34>>1]|0)-(k[N>>2]|0)|0;ja=k[M>>2]|0;k[C>>2]=k[ka>>2];k[C+4>>2]=0;k[C+8>>2]=ia;k[C+12>>2]=ja;Cl(na,33909,C);break a}do if(k[ma>>2]|0){if((k[M>>2]|0)==(k[(k[ma>>2]|0)+4>>2]|0))break;na=k[fa>>2]|0;ja=k[(k[ma>>2]|0)+4>>2]|0;k[D>>2]=k[M>>2];k[D+4>>2]=ja;Cl(na,33961,D);break a}while(0);if(k[(k[F>>2]|0)+24>>2]&128|0){C=(k[fa>>2]|0)+44|0;D=(k[C>>2]|0)+1|0;k[C>>2]=D;k[_>>2]=D;_u(k[K>>2]|0,76,0,k[_>>2]|0)|0}d:do if(!(k[da>>2]|0)){D=PA(k[fa>>2]|0,k[G>>2]|0,105,0,-1,0,O,P)|0;k[x>>2]=D;D=Od(k[F>>2]|0,(k[x>>2]|0)+1<<2,0)|0;k[ca>>2]=D;if(!(k[ca>>2]|0))break a;k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[x>>2]|0))break d;C=(k[fa>>2]|0)+44|0;D=(k[C>>2]|0)+1|0;k[C>>2]=D;k[(k[ca>>2]|0)+(k[H>>2]<<2)>>2]=D;k[H>>2]=(k[H>>2]|0)+1}}while(0);do if(i[V>>0]|0){D=oy(k[K>>2]|0,57,k[S>>2]|0)|0;k[T>>2]=D;D=Zv(k[K>>2]|0)|0;k[U>>2]=D}else{if(!(k[la>>2]|0))break;D=oy(k[K>>2]|0,16,k[g+8>>2]|0)|0;k[U>>2]=D;k[T>>2]=D}while(0);D=uy(k[K>>2]|0)|0;k[R>>2]=D;if(k[o>>2]&1|0){D=Wy(k[fa>>2]|0,(j[(k[G>>2]|0)+34>>1]|0)+1|0)|0;k[y>>2]=D;if((k[Q>>2]|0)<0)_u(k[K>>2]|0,76,-1,k[y>>2]|0)|0;else{if(i[V>>0]|0)$u(k[K>>2]|0,96,k[S>>2]|0,k[Q>>2]|0,k[y>>2]|0)|0;else ez(k[fa>>2]|0,k[(k[(k[X>>2]|0)+4>>2]|0)+((k[Q>>2]|0)*20|0)>>2]|0,k[y>>2]|0);D=oy(k[K>>2]|0,35,k[y>>2]|0)|0;k[z>>2]=D;_u(k[K>>2]|0,76,-1,k[y>>2]|0)|0;xy(k[K>>2]|0,k[z>>2]|0);oy(k[K>>2]|0,17,k[y>>2]|0)|0}k[I>>2]=0;k[H>>2]=0;while(1){if((k[H>>2]|0)>=(j[(k[G>>2]|0)+34>>1]|0))break;e:do if(k[ma>>2]|0){k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[(k[ma>>2]|0)+4>>2]|0))break e;if((k[(k[k[ma>>2]>>2]|0)+(k[I>>2]<<3)+4>>2]|0)==(k[H>>2]|0))break e;k[I>>2]=(k[I>>2]|0)+1}}while(0);do if((i[V>>0]|0)!=0|(k[X>>2]|0)!=0){if(k[ma>>2]|0?(k[I>>2]|0)>=(k[(k[ma>>2]|0)+4>>2]|0):0){E=90;break}if(i[V>>0]|0){$u(k[K>>2]|0,96,k[S>>2]|0,k[I>>2]|0,(k[y>>2]|0)+(k[H>>2]|0)+1|0)|0;break}else{xB(k[fa>>2]|0,k[(k[(k[X>>2]|0)+4>>2]|0)+((k[I>>2]|0)*20|0)>>2]|0,(k[y>>2]|0)+(k[H>>2]|0)+1|0);break}}else E=90;while(0);if((E|0)==90){E=0;ez(k[fa>>2]|0,k[(k[(k[G>>2]|0)+4>>2]|0)+(k[H>>2]<<4)+4>>2]|0,(k[y>>2]|0)+(k[H>>2]|0)+1|0)}if(!(k[ma>>2]|0))k[I>>2]=(k[I>>2]|0)+1;k[H>>2]=(k[H>>2]|0)+1}if(!(k[da>>2]|0))yB(k[K>>2]|0,k[G>>2]|0,(k[y>>2]|0)+1|0);zB(k[fa>>2]|0,k[ea>>2]|0,108,0,1,k[G>>2]|0,(k[y>>2]|0)-(j[(k[G>>2]|0)+34>>1]|0)-1|0,k[na>>2]|0,k[R>>2]|0);Zy(k[fa>>2]|0,k[y>>2]|0,(j[(k[G>>2]|0)+34>>1]|0)+1|0)}do if(!(k[da>>2]|0)){if(l[(k[G>>2]|0)+42>>0]&16|0)_u(k[K>>2]|0,79,0,k[$>>2]|0)|0;f:do if((k[Q>>2]|0)>=0){do if(i[V>>0]|0)$u(k[K>>2]|0,96,k[S>>2]|0,k[Q>>2]|0,k[aa>>2]|0)|0;else{if(k[la>>2]|0){_u(k[K>>2]|0,84,(k[Y>>2]|0)+(k[Q>>2]|0)|0,k[aa>>2]|0)|0;break}ez(k[fa>>2]|0,k[(k[(k[X>>2]|0)+4>>2]|0)+((k[Q>>2]|0)*20|0)>>2]|0,k[aa>>2]|0);E=Ey(k[K>>2]|0,-1)|0;k[A>>2]=E;if(!(k[A>>2]|0))break;if((l[k[A>>2]>>0]|0)!=79)break;if(l[(k[G>>2]|0)+42>>0]&16|0)break;i[W>>0]=1;i[k[A>>2]>>0]=114;k[(k[A>>2]|0)+4>>2]=k[O>>2];k[(k[A>>2]|0)+8>>2]=k[aa>>2];k[(k[A>>2]|0)+12>>2]=k[Z>>2]}while(0);if(i[W>>0]|0)break;a=k[K>>2]|0;if(l[(k[G>>2]|0)+42>>0]&16|0){E=Zv(a)|0;k[ga>>2]=E;_u(k[K>>2]|0,34,k[aa>>2]|0,(k[ga>>2]|0)+2|0)|0}else{E=oy(a,35,k[aa>>2]|0)|0;k[ga>>2]=E;$u(k[K>>2]|0,114,k[O>>2]|0,k[aa>>2]|0,k[Z>>2]|0)|0;xy(k[K>>2]|0,k[ga>>2]|0)}oy(k[K>>2]|0,17,k[aa>>2]|0)|0}else{do if(!(l[(k[G>>2]|0)+42>>0]&16)){if(l[m>>0]|0)break;$u(k[K>>2]|0,114,k[O>>2]|0,k[aa>>2]|0,k[Z>>2]|0)|0;i[W>>0]=1;break f}while(0);_u(k[K>>2]|0,79,0,k[aa>>2]|0)|0}while(0);AB(k[fa>>2]|0,k[Z>>2]|0,k[aa>>2]|0);k[N>>2]=0;k[H>>2]=0;while(1){if((k[H>>2]|0)>=(j[(k[G>>2]|0)+34>>1]|0))break;k[ha>>2]=(k[aa>>2]|0)+1+(k[H>>2]|0);g:do if((k[H>>2]|0)==(j[(k[G>>2]|0)+32>>1]|0))oy(k[K>>2]|0,80,k[ha>>2]|0)|0;else{h:do if(!(k[ma>>2]|0))if(l[(k[(k[G>>2]|0)+4>>2]|0)+(k[H>>2]<<4)+15>>0]&2|0){k[I>>2]=-1;k[N>>2]=(k[N>>2]|0)+1;break}else{k[I>>2]=(k[H>>2]|0)-(k[N>>2]|0);break}else{k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[(k[ma>>2]|0)+4>>2]|0))break h;if((k[(k[k[ma>>2]>>2]|0)+(k[I>>2]<<3)+4>>2]|0)==(k[H>>2]|0))break h;k[I>>2]=(k[I>>2]|0)+1}}while(0);do if(!((k[I>>2]|0)<0|(k[M>>2]|0)==0)){if(k[ma>>2]|0?(k[I>>2]|0)>=(k[(k[ma>>2]|0)+4>>2]|0):0)break;if(i[V>>0]|0){$u(k[K>>2]|0,96,k[S>>2]|0,k[I>>2]|0,k[ha>>2]|0)|0;break g}if(!(k[la>>2]|0)){ez(k[fa>>2]|0,k[(k[(k[X>>2]|0)+4>>2]|0)+((k[I>>2]|0)*20|0)>>2]|0,k[ha>>2]|0);break g}if((k[Y>>2]|0)==(k[ba>>2]|0))break g;_u(k[K>>2]|0,85,(k[Y>>2]|0)+(k[I>>2]|0)|0,k[ha>>2]|0)|0;break g}while(0);BB(k[fa>>2]|0,k[(k[(k[G>>2]|0)+4>>2]|0)+(k[H>>2]<<4)+4>>2]|0,k[ha>>2]|0)}while(0);k[H>>2]=(k[H>>2]|0)+1}if(l[(k[G>>2]|0)+42>>0]&16|0){ja=pw(k[F>>2]|0,k[G>>2]|0)|0;k[ia>>2]=ja;CB(k[fa>>2]|0,k[G>>2]|0);cv(k[K>>2]|0,12,1,(j[(k[G>>2]|0)+34>>1]|0)+2|0,k[$>>2]|0,k[ia>>2]|0,-10)|0;ty(k[K>>2]|0,((k[na>>2]|0)==10?2:k[na>>2]|0)&255);qw(k[fa>>2]|0);break}else{DB(k[fa>>2]|0,k[G>>2]|0,k[ca>>2]|0,k[O>>2]|0,k[P>>2]|0,k[$>>2]|0,0,(k[Q>>2]|0)>=0&255,k[na>>2]&255,k[R>>2]|0,ja,0);EB(k[fa>>2]|0,k[G>>2]|0,0,k[$>>2]|0,0,0);FB(k[fa>>2]|0,k[G>>2]|0,k[O>>2]|0,k[P>>2]|0,k[$>>2]|0,k[ca>>2]|0,0,l[W>>0]|0,(k[ja>>2]|0)==0&1);break}}while(0);if(k[(k[F>>2]|0)+24>>2]&128|0)_u(k[K>>2]|0,91,k[_>>2]|0,1)|0;if(k[ea>>2]|0)zB(k[fa>>2]|0,k[ea>>2]|0,108,0,2,k[G>>2]|0,(k[ba>>2]|0)-2-(j[(k[G>>2]|0)+34>>1]|0)|0,k[na>>2]|0,k[R>>2]|0);yy(k[K>>2]|0,k[R>>2]|0);do if(i[V>>0]|0){_u(k[K>>2]|0,7,k[S>>2]|0,k[U>>2]|0)|0;xy(k[K>>2]|0,k[T>>2]|0);oy(k[K>>2]|0,111,k[S>>2]|0)|0}else{if(!(k[la>>2]|0))break;wy(k[K>>2]|0,k[U>>2]|0)|0;xy(k[K>>2]|0,k[T>>2]|0)}while(0);if(k[da>>2]|0?1:(l[(k[G>>2]|0)+42>>0]&16|0)!=0)break;if((k[O>>2]|0)<(k[P>>2]|0))oy(k[K>>2]|0,111,k[O>>2]|0)|0;k[J>>2]=0;k[L>>2]=k[(k[G>>2]|0)+8>>2];while(1){if(!(k[L>>2]|0))break b;oy(k[K>>2]|0,111,(k[J>>2]|0)+(k[P>>2]|0)|0)|0;k[L>>2]=k[(k[L>>2]|0)+20>>2];k[J>>2]=(k[J>>2]|0)+1}}while(0);if((l[(k[fa>>2]|0)+18>>0]|0)==0?(k[(k[fa>>2]|0)+128>>2]|0)==0:0)GB(k[fa>>2]|0);if((k[(k[F>>2]|0)+24>>2]&128|0?(i[(k[fa>>2]|0)+18>>0]|0)==0:0)?(k[(k[fa>>2]|0)+128>>2]|0)==0:0){_u(k[K>>2]|0,87,k[_>>2]|0,1)|0;$s(k[K>>2]|0,1);at(k[K>>2]|0,0,0,33986,0)|0}}}while(0);$k(k[F>>2]|0,k[ka>>2]|0);Uk(k[F>>2]|0,k[X>>2]|0);Tk(k[F>>2]|0,k[la>>2]|0);bl(k[F>>2]|0,k[ma>>2]|0);fe(k[F>>2]|0,k[ca>>2]|0);u=oa;return}function cu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;e=i+16|0;d=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[f>>2]|0)==0?(c=im(k[d>>2]|0,8,0)|0,k[f>>2]=c,(k[f>>2]|0)==0):0){k[e>>2]=0;h=k[e>>2]|0;u=i;return h|0}a=pB(k[d>>2]|0,k[k[f>>2]>>2]|0,8,(k[f>>2]|0)+4|0,h)|0;k[k[f>>2]>>2]=a;a=k[d>>2]|0;if((k[h>>2]|0)<0){bl(a,k[f>>2]|0);k[e>>2]=0;h=k[e>>2]|0;u=i;return h|0}else{g=Ou(a,k[g>>2]|0)|0;k[(k[k[f>>2]>>2]|0)+(k[h>>2]<<3)>>2]=g;k[e>>2]=k[f>>2];h=k[e>>2]|0;u=i;return h|0}return 0}function du(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[e>>2]|0)+4>>2]=k[k[g>>2]>>2];k[(k[e>>2]|0)+8>>2]=(k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0);u=d;return}function eu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;e=p+24|0;f=p+20|0;h=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;g=p;k[e>>2]=a;k[f>>2]=b;k[h>>2]=c;k[m>>2]=d;k[o>>2]=0;k[g>>2]=0;do if(k[h>>2]|0){if(((k[f>>2]|0)==134?k[k[h>>2]>>2]|0:0)?qg(k[k[h>>2]>>2]|0,g)|0:0)break;k[o>>2]=(k[(k[h>>2]|0)+4>>2]|0)+1}while(0);e=Od(k[e>>2]|0,48+(k[o>>2]|0)|0,0)|0;k[n>>2]=e;if(!(k[n>>2]|0)){o=k[n>>2]|0;u=p;return o|0}a=k[n>>2]|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i[k[n>>2]>>0]=k[f>>2];j[(k[n>>2]|0)+34>>1]=-1;do if(k[h>>2]|0){a=k[n>>2]|0;if(!(k[o>>2]|0)){o=a+4|0;k[o>>2]=k[o>>2]|1024;k[(k[n>>2]|0)+8>>2]=k[g>>2];break}k[(k[n>>2]|0)+8>>2]=a+48;if(k[(k[h>>2]|0)+4>>2]|0)r0(k[(k[n>>2]|0)+8>>2]|0,k[k[h>>2]>>2]|0,k[(k[h>>2]|0)+4>>2]|0)|0;i[(k[(k[n>>2]|0)+8>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)>>0]=0;if(k[m>>2]|0?l[20063+(l[k[(k[n>>2]|0)+8>>2]>>0]|0)>>0]&128|0:0){if((i[k[(k[n>>2]|0)+8>>2]>>0]|0)==34){o=(k[n>>2]|0)+4|0;k[o>>2]=k[o>>2]|64}dk(k[(k[n>>2]|0)+8>>2]|0)}}while(0);k[(k[n>>2]|0)+24>>2]=1;o=k[n>>2]|0;u=p;return o|0}function fu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;r=t+16|0;q=t+8|0;g=t+44|0;h=t+40|0;l=t+36|0;m=t+32|0;n=t+28|0;o=t+50|0;p=t;d=t+24|0;e=t+48|0;f=t+20|0;k[g>>2]=a;k[h>>2]=b;k[l>>2]=c;k[m>>2]=k[k[g>>2]>>2];if(!(k[h>>2]|0)){u=t;return}k[n>>2]=k[(k[h>>2]|0)+8>>2];if(i[(k[n>>2]|0)+1>>0]|0){do if((i[k[n>>2]>>0]|0)!=63){j[o>>1]=0;j[e>>1]=0;while(1){if((j[e>>1]|0)>=(k[(k[g>>2]|0)+404>>2]|0))break;if(k[(k[(k[g>>2]|0)+428>>2]|0)+(j[e>>1]<<2)>>2]|0?(Q_(k[(k[(k[g>>2]|0)+428>>2]|0)+(j[e>>1]<<2)>>2]|0,k[n>>2]|0)|0)==0:0){s=14;break}j[e>>1]=(j[e>>1]|0)+1<<16>>16}if((s|0)==14)j[o>>1]=(j[e>>1]|0)+1;if(!(j[o>>1]|0)){q=(k[g>>2]|0)+400|0;s=(j[q>>1]|0)+1<<16>>16;j[q>>1]=s;j[o>>1]=s}}else{s=0==(Wi((k[n>>2]|0)+1|0,p,(k[l>>2]|0)-1|0,1)|0)&1;k[d>>2]=s;j[o>>1]=k[p>>2];s=p;c=k[s+4>>2]|0;if(!((k[d>>2]|0)==0|((c|0)<0|(c|0)==0&(k[s>>2]|0)>>>0<1))?(c=p,d=k[c+4>>2]|0,s=k[(k[m>>2]|0)+96+36>>2]|0,e=((s|0)<0)<<31>>31,!((d|0)>(e|0)|((d|0)==(e|0)?(k[c>>2]|0)>>>0>s>>>0:0))):0){q=p;e=k[q+4>>2]|0;s=j[(k[g>>2]|0)+400>>1]|0;c=((s|0)<0)<<31>>31;if(!((e|0)>(c|0)|((e|0)==(c|0)?(k[q>>2]|0)>>>0>s>>>0:0)))break;j[(k[g>>2]|0)+400>>1]=k[p>>2];break}s=k[g>>2]|0;k[q>>2]=k[(k[m>>2]|0)+96+36>>2];Cl(s,33811,q);u=t;return}while(0);j[(k[h>>2]|0)+32>>1]=j[o>>1]|0;do if((j[o>>1]|0)>(k[(k[g>>2]|0)+404>>2]|0)){s=ne(k[m>>2]|0,k[(k[g>>2]|0)+428>>2]|0,j[o>>1]<<2,0)|0;k[f>>2]=s;if(!(k[f>>2]|0)){u=t;return}else{k[(k[g>>2]|0)+428>>2]=k[f>>2];w0((k[f>>2]|0)+(k[(k[g>>2]|0)+404>>2]<<2)|0,0,(j[o>>1]|0)-(k[(k[g>>2]|0)+404>>2]|0)<<2|0)|0;k[(k[g>>2]|0)+404>>2]=j[o>>1];break}}while(0);if(!(k[(k[(k[g>>2]|0)+428>>2]|0)+((j[o>>1]|0)-1<<2)>>2]|0)){s=ck(k[m>>2]|0,k[n>>2]|0,k[l>>2]|0,0)|0;k[(k[(k[g>>2]|0)+428>>2]|0)+((j[o>>1]|0)-1<<2)>>2]=s}}else{q=(k[g>>2]|0)+400|0;s=(j[q>>1]|0)+1<<16>>16;j[q>>1]=s;j[(k[h>>2]|0)+32>>1]=s}if((j[(k[g>>2]|0)+400>>1]|0)<=(k[(k[m>>2]|0)+96+36>>2]|0)){u=t;return}Cl(k[g>>2]|0,33854,r);u=t;return}function gu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((k[(k[g>>2]|0)+4>>2]|0)>>>0<=0){i=k[f>>2]|0;u=j;return i|0}h=eu(k[k[e>>2]>>2]|0,53,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=h;if(!(k[i>>2]|0)){i=k[f>>2]|0;u=j;return i|0}k[(k[i>>2]|0)+12>>2]=k[f>>2];h=(k[i>>2]|0)+4|0;k[h>>2]=k[h>>2]|4352;k[f>>2]=k[i>>2];i=k[f>>2]|0;u=j;return i|0}function hu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[j>>2]=c;k[h>>2]=k[k[e>>2]>>2];c=eu(k[h>>2]|0,151,k[j>>2]|0,1)|0;k[g>>2]=c;if(!(k[g>>2]|0)){Uk(k[h>>2]|0,k[f>>2]|0);k[d>>2]=0;j=k[d>>2]|0;u=i;return j|0}else{k[(k[g>>2]|0)+20>>2]=k[f>>2];nu(k[e>>2]|0,k[g>>2]|0);k[d>>2]=k[g>>2];j=k[d>>2]|0;u=i;return j|0}return 0}function iu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[h>>2]=b;k[f>>2]=c;k[g>>2]=d;d=zt(k[i>>2]|0,k[h>>2]|0,k[k[f>>2]>>2]|0,k[k[g>>2]>>2]|0,0)|0;k[k[f>>2]>>2]=d;k[(k[f>>2]|0)+8>>2]=k[(k[g>>2]|0)+8>>2];u=e;return}function ju(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;if(!(k[g>>2]|0)){u=f;return}g=zt(k[d>>2]|0,19,k[k[e>>2]>>2]|0,0,0)|0;k[k[e>>2]>>2]=g;u=f;return}function ku(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[h>>2]=b;k[f>>2]=c;k[g>>2]=d;d=zt(k[i>>2]|0,k[h>>2]|0,k[k[f>>2]>>2]|0,0,0)|0;k[k[f>>2]>>2]=d;k[(k[f>>2]|0)+8>>2]=(k[k[g>>2]>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0);u=e;return}function lu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;j=u;u=u+32|0;m=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[k[m>>2]>>2];if(!((k[f>>2]|0)!=0&(k[e>>2]|0)!=0)){u=j;return}if((l[k[e>>2]>>0]|0|0)!=101){u=j;return}i[k[f>>2]>>0]=k[g>>2];Yk(k[h>>2]|0,k[(k[f>>2]|0)+16>>2]|0);k[(k[f>>2]|0)+16>>2]=0;u=j;return}function mu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=u;u=u+32|0;g=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;l=f;k[g>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[l>>2]=e;k[(k[g>>2]|0)+4>>2]=k[k[l>>2]>>2];e=zt(k[j>>2]|0,k[i>>2]|0,k[k[h>>2]>>2]|0,0,0)|0;k[k[g>>2]>>2]=e;k[(k[g>>2]|0)+8>>2]=k[(k[h>>2]|0)+8>>2];u=f;return}function nu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+36>>2]|0){u=e;return}Zx(k[d>>2]|0);vx(k[c>>2]|0,k[(k[d>>2]|0)+24>>2]|0)|0;u=e;return}function ou(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){k[(k[e>>2]|0)+20>>2]=k[f>>2];f=(k[e>>2]|0)+4|0;k[f>>2]=k[f>>2]|2099200;nu(k[d>>2]|0,k[e>>2]|0);u=g;return}else{Tk(k[k[d>>2]>>2]|0,k[f>>2]|0);u=g;return}}function pu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;j=u;u=u+32|0;i=j;g=j+28|0;o=j+24|0;h=j+20|0;n=j+16|0;m=j+12|0;f=j+8|0;k[g>>2]=a;k[o>>2]=b;k[h>>2]=c;k[n>>2]=d;k[m>>2]=e;e=Ot(k[g>>2]|0,k[o>>2]|0,0)|0;k[f>>2]=e;if((k[n>>2]|0)!=0|(k[m>>2]|0)!=-1?(l[(k[k[g>>2]>>2]|0)+148+5>>0]|0|0)==0:0){o=k[g>>2]|0;n=k[k[h>>2]>>2]|0;k[i>>2]=k[(k[h>>2]|0)+4>>2];k[i+4>>2]=n;Cl(o,33771,i)}Pt(k[g>>2]|0,k[f>>2]|0,k[h>>2]|0,1);u=j;return k[f>>2]|0}function qu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+80|0;n=t+16|0;m=t+8|0;s=t;o=t+68|0;p=t+64|0;q=t+60|0;h=t+56|0;j=t+52|0;r=t+48|0;l=t+44|0;d=t+40|0;e=t+36|0;f=t+32|0;g=t+28|0;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[r>>2]=k[k[o>>2]>>2];if(i[(k[r>>2]|0)+69>>0]|0){r=k[r>>2]|0;s=k[p>>2]|0;$k(r,s);u=t;return}if(pv(k[o>>2]|0)|0){r=k[r>>2]|0;s=k[p>>2]|0;$k(r,s);u=t;return}c=Fv(k[r>>2]|0,k[(k[p>>2]|0)+8+8>>2]|0,k[(k[p>>2]|0)+8+4>>2]|0)|0;k[h>>2]=c;if(!(k[h>>2]|0)){a=k[o>>2]|0;b=k[p>>2]|0;if(k[q>>2]|0)hA(a,k[b+8+4>>2]|0);else{k[s>>2]=b;k[s+4>>2]=0;Cl(a,33561,s)}i[(k[o>>2]|0)+17>>0]=1;r=k[r>>2]|0;s=k[p>>2]|0;$k(r,s);u=t;return}if(i[(k[h>>2]|0)+55>>0]&3|0){s=k[o>>2]|0;k[m>>2]=0;Cl(s,33579,m);r=k[r>>2]|0;s=k[p>>2]|0;$k(r,s);u=t;return}s=Ru(k[r>>2]|0,k[(k[h>>2]|0)+24>>2]|0)|0;k[l>>2]=s;k[d>>2]=10;k[e>>2]=k[(k[h>>2]|0)+12>>2];k[f>>2]=k[(k[(k[r>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2];k[g>>2]=(k[l>>2]|0)==1?26433:26452;if(Su(k[o>>2]|0,9,k[g>>2]|0,0,k[f>>2]|0)|0){r=k[r>>2]|0;s=k[p>>2]|0;$k(r,s);u=t;return}if(k[l>>2]|0)k[d>>2]=12;if(Su(k[o>>2]|0,k[d>>2]|0,k[k[h>>2]>>2]|0,k[k[e>>2]>>2]|0,k[f>>2]|0)|0){r=k[r>>2]|0;s=k[p>>2]|0;$k(r,s);u=t;return}s=Vu(k[o>>2]|0)|0;k[j>>2]=s;if(!(k[j>>2]|0)){r=k[r>>2]|0;s=k[p>>2]|0;$k(r,s);u=t;return}mv(k[o>>2]|0,1,k[l>>2]|0);s=k[o>>2]|0;m=(k[l>>2]|0)==1?26433:26452;q=k[k[h>>2]>>2]|0;k[n>>2]=k[(k[(k[r>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2];k[n+4>>2]=m;k[n+8>>2]=q;Uu(s,33652,n);nB(k[o>>2]|0,k[l>>2]|0,30148,k[k[h>>2]>>2]|0);Wu(k[o>>2]|0,k[l>>2]|0);oB(k[o>>2]|0,k[(k[h>>2]|0)+44>>2]|0,k[l>>2]|0);cv(k[j>>2]|0,139,k[l>>2]|0,0,0,k[k[h>>2]>>2]|0,0)|0;r=k[r>>2]|0;s=k[p>>2]|0;$k(r,s);u=t;return}function ru(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;b=Vu(k[c>>2]|0)|0;k[e>>2]=b;if(k[d>>2]|0)a=ky(k[c>>2]|0,k[d>>2]|0,k[d>>2]|0,d)|0;else a=0;k[f>>2]=a;if(!(k[e>>2]|0)){u=g;return}if(!((k[f>>2]|0)>=2|(k[f>>2]|0)==0)){u=g;return}oy(k[e>>2]|0,10,k[f>>2]|0)|0;gv(k[e>>2]|0,k[f>>2]|0);u=g;return}function su(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=u;u=u+816|0;Za=fc+264|0;Kb=fc+256|0;Jb=fc+248|0;Ya=fc+240|0;Ba=fc+208|0;Aa=fc+200|0;za=fc+184|0;ya=fc+160|0;Zb=fc+144|0;Yb=fc+128|0;xa=fc+112|0;wa=fc+96|0;Xb=fc+72|0;va=fc+64|0;ua=fc+56|0;ta=fc+48|0;q=fc+40|0;o=fc+32|0;ac=fc+808|0;g=fc+804|0;ia=fc+800|0;h=fc+796|0;n=fc+792|0;cc=fc+788|0;dc=fc+784|0;Ha=fc+780|0;f=fc+776|0;p=fc+760|0;$b=fc+756|0;z=fc+752|0;A=fc+748|0;B=fc+744|0;C=fc+740|0;ec=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Lb=fc+724|0;D=fc+720|0;E=fc+716|0;F=fc+712|0;Fa=fc+708|0;G=fc+704|0;H=fc+700|0;I=fc+696|0;_a=fc+692|0;J=fc+688|0;K=fc+684|0;L=fc+680|0;N=fc+676|0;O=fc+672|0;P=fc+668|0;Q=fc+664|0;R=fc+660|0;S=fc+656|0;T=fc+24|0;U=fc+652|0;V=fc+648|0;W=fc+644|0;X=fc+640|0;Y=fc+636|0;Z=fc+632|0;_=fc+628|0;$=fc+624|0;aa=fc+16|0;ba=fc+620|0;ca=fc+616|0;Ga=fc+612|0;Mb=fc+608|0;Nb=fc+604|0;Ob=fc+600|0;Pb=fc+596|0;Qb=fc+592|0;Rb=fc+588|0;da=fc+584|0;ea=fc+580|0;fa=fc+576|0;Sb=fc+572|0;Tb=fc+568|0;Ub=fc+564|0;Vb=fc+560|0;Wb=fc+812|0;ga=fc+556|0;ha=fc+552|0;ja=fc+548|0;ka=fc+536|0;la=fc+532|0;ma=fc+528|0;na=fc+524|0;oa=fc+520|0;pa=fc+516|0;qa=fc+512|0;ra=fc+508|0;sa=fc+504|0;Ja=fc+500|0;Ka=fc+496|0;La=fc+492|0;Ma=fc+488|0;Na=fc+484|0;Oa=fc+480|0;Pa=fc+476|0;Qa=fc+472|0;Ra=fc+468|0;Sa=fc+464|0;Ta=fc+460|0;Ua=fc+456|0;Va=fc+452|0;Wa=fc+448|0;Xa=fc+444|0;Eb=fc+440|0;Fb=fc+436|0;Gb=fc+432|0;Hb=fc+428|0;Ib=fc+424|0;$a=fc+420|0;ab=fc+416|0;bb=fc+412|0;cb=fc+408|0;db=fc+404|0;eb=fc+400|0;fb=fc+396|0;gb=fc+392|0;hb=fc+388|0;ib=fc+384|0;jb=fc+380|0;kb=fc+376|0;lb=fc+372|0;mb=fc+368|0;nb=fc+364|0;ob=fc+360|0;pb=fc+356|0;qb=fc+352|0;rb=fc+348|0;sb=fc+344|0;tb=fc+340|0;ub=fc+336|0;vb=fc+332|0;wb=fc+328|0;xb=fc+324|0;yb=fc+320|0;zb=fc+316|0;Ab=fc+312|0;Bb=fc+308|0;Cb=fc+304|0;Db=fc+300|0;Ia=fc+296|0;r=fc+292|0;s=fc+288|0;t=fc+284|0;Ca=fc+280|0;Da=fc+276|0;v=fc+272|0;w=fc+268|0;x=fc+8|0;y=fc;k[ac>>2]=a;k[g>>2]=b;k[ia>>2]=c;k[h>>2]=d;k[n>>2]=e;k[cc>>2]=0;k[dc>>2]=0;k[Ha>>2]=0;k[B>>2]=0;k[ec>>2]=k[k[ac>>2]>>2];e=Vu(k[ac>>2]|0)|0;k[bc>>2]=e;if(!(k[bc>>2]|0)){u=fc;return}sA(k[bc>>2]|0);k[(k[ac>>2]|0)+44>>2]=2;g=ky(k[ac>>2]|0,k[g>>2]|0,k[ia>>2]|0,f)|0;k[$b>>2]=g;if((k[$b>>2]|0)<0){u=fc;return}k[Ea>>2]=(k[(k[ec>>2]|0)+16>>2]|0)+(k[$b>>2]<<4);if((k[$b>>2]|0)==1?zl(k[ac>>2]|0)|0:0){u=fc;return}g=Ou(k[ec>>2]|0,k[f>>2]|0)|0;k[cc>>2]=g;if(!(k[cc>>2]|0)){u=fc;return}b=k[ec>>2]|0;a=k[h>>2]|0;if(k[n>>2]|0){k[o>>2]=a;o=ek(b,31556,o)|0;k[dc>>2]=o}else{o=Ou(b,a)|0;k[dc>>2]=o}if((k[(k[ia>>2]|0)+4>>2]|0)>>>0>0)a=k[k[Ea>>2]>>2]|0;else a=0;k[Ha>>2]=a;a:do if(!(Su(k[ac>>2]|0,19,k[cc>>2]|0,k[dc>>2]|0,k[Ha>>2]|0)|0)){k[p>>2]=0;k[p+4>>2]=k[cc>>2];k[p+8>>2]=k[dc>>2];k[p+12>>2]=0;k[(k[ec>>2]|0)+380+8>>2]=0;o=tA(k[ec>>2]|0,k[Ha>>2]|0,14,p)|0;k[C>>2]=o;if(!(k[C>>2]|0)){uA(k[bc>>2]|0,31560,k[p>>2]|0);ie(k[p>>2]|0);break}if((k[C>>2]|0)!=12){if(k[p>>2]|0){bc=k[ac>>2]|0;k[q>>2]=k[p>>2];Cl(bc,21240,q);ie(k[p>>2]|0)}bc=(k[ac>>2]|0)+36|0;k[bc>>2]=(k[bc>>2]|0)+1;k[(k[ac>>2]|0)+12>>2]=k[C>>2];break}k[z>>2]=0;k[A>>2]=57;while(1){if((k[z>>2]|0)>(k[A>>2]|0))break;k[B>>2]=((k[z>>2]|0)+(k[A>>2]|0)|0)/2|0;q=ul(k[cc>>2]|0,k[4496+((k[B>>2]|0)*12|0)>>2]|0)|0;k[C>>2]=q;if(!(k[C>>2]|0))break;a=k[B>>2]|0;if((k[C>>2]|0)<0){k[A>>2]=a-1;continue}else{k[z>>2]=a+1;continue}}if((k[z>>2]|0)<=(k[A>>2]|0)){k[Lb>>2]=4496+((k[B>>2]|0)*12|0);if(l[(k[Lb>>2]|0)+5>>0]&1|0?pv(k[ac>>2]|0)|0:0)break;do switch(l[(k[Lb>>2]|0)+4>>0]|0){case 11:{gv(k[bc>>2]|0,k[$b>>2]|0);if(k[dc>>2]|0){_b=zq(pg(k[dc>>2]|0)|0)|0;k[E>>2]=_b;mv(k[ac>>2]|0,0,k[$b>>2]|0);$u(k[bc>>2]|0,102,k[$b>>2]|0,3,k[E>>2]|0)|0;k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]=k[E>>2];zv(k[(k[Ea>>2]|0)+4>>2]|0,k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{vA(k[bc>>2]|0,31567);ac=(k[ac>>2]|0)+44|0;k[ac>>2]=(k[ac>>2]|0)+2;bc=wA(k[bc>>2]|0,9,31578,0)|0;k[D>>2]=bc;k[(k[D>>2]|0)+4>>2]=k[$b>>2];k[(k[D>>2]|0)+20+4>>2]=k[$b>>2];k[(k[D>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{k[F>>2]=k[(k[Ea>>2]|0)+4>>2];if(k[dc>>2]|0){bc=pg(k[dc>>2]|0)|0;k[(k[ec>>2]|0)+80>>2]=bc;if(7!=(Dl(k[F>>2]|0,k[(k[ec>>2]|0)+80>>2]|0,-1,0)|0))break a;Yd(k[ec>>2]|0);break a}if(k[F>>2]|0)a=Rn(k[F>>2]|0)|0;else a=0;k[Fa>>2]=a;ac=k[Fa>>2]|0;xA(k[bc>>2]|0,31614,ac,((ac|0)<0)<<31>>31);break a}case 26:{k[G>>2]=k[(k[Ea>>2]|0)+4>>2];k[H>>2]=-1;if(k[dc>>2]|0){ac=(ng(k[dc>>2]|0,0)|0)&255;k[H>>2]=ac}b:do if((k[H>>2]|0)>=0?(k[(k[ia>>2]|0)+4>>2]|0)==0:0){k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[(k[ec>>2]|0)+20>>2]|0))break b;dA(k[(k[(k[ec>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+4>>2]|0,k[H>>2]|0)|0;k[I>>2]=(k[I>>2]|0)+1}}while(0);ac=dA(k[G>>2]|0,k[H>>2]|0)|0;k[H>>2]=ac;ac=k[H>>2]|0;xA(k[bc>>2]|0,31624,ac,((ac|0)<0)<<31>>31);break a}case 23:{nv(k[ac>>2]|0,k[$b>>2]|0);a=(k[ac>>2]|0)+44|0;f=(k[a>>2]|0)+1|0;k[a>>2]=f;k[_a>>2]=f;f=k[bc>>2]|0;a=k[$b>>2]|0;b=k[_a>>2]|0;if((l[20458+(l[k[cc>>2]>>0]|0)>>0]|0)==112)_u(f,158,a,b)|0;else $u(f,159,a,b,zq(pg(k[dc>>2]|0)|0)|0)|0;_u(k[bc>>2]|0,87,k[_a>>2]|0,1)|0;$s(k[bc>>2]|0,1);at(k[bc>>2]|0,0,0,k[cc>>2]|0,-1)|0;break a}case 22:{k[J>>2]=31638;ac=yA(k[dc>>2]|0)|0;k[K>>2]=ac;if((k[K>>2]|0)==-1?(k[(k[ia>>2]|0)+4>>2]|0)==0:0)k[K>>2]=l[(k[ec>>2]|0)+71>>0];else{if(!(k[(k[ia>>2]|0)+4>>2]|0)){k[N>>2]=2;while(1){if((k[N>>2]|0)>=(k[(k[ec>>2]|0)+20>>2]|0))break;ac=Ak(k[(k[(k[ec>>2]|0)+16>>2]|0)+(k[N>>2]<<4)+4>>2]|0)|0;k[L>>2]=ac;cA(k[L>>2]|0,k[K>>2]|0)|0;k[N>>2]=(k[N>>2]|0)+1}i[(k[ec>>2]|0)+71>>0]=k[K>>2]}ac=Ak(k[(k[Ea>>2]|0)+4>>2]|0)|0;k[L>>2]=ac;ac=cA(k[L>>2]|0,k[K>>2]|0)|0;k[K>>2]=ac}if((k[K>>2]|0)==1)k[J>>2]=31645;uA(k[bc>>2]|0,31655,k[J>>2]|0);break a}case 19:{vA(k[bc>>2]|0,31668);if(k[dc>>2]|0){ac=wd(k[dc>>2]|0)|0;k[R>>2]=ac;k[O>>2]=0;while(1){ac=zA(k[O>>2]|0)|0;k[Q>>2]=ac;if(!ac)break;if(!(vd(k[dc>>2]|0,k[Q>>2]|0,k[R>>2]|0)|0))break;k[O>>2]=(k[O>>2]|0)+1}if(!(k[Q>>2]|0))k[O>>2]=-1}else k[O>>2]=-1;if((k[O>>2]|0)==-1?(k[(k[ia>>2]|0)+4>>2]|0)==0:0){k[$b>>2]=0;k[(k[ia>>2]|0)+4>>2]=1}k[P>>2]=(k[(k[ec>>2]|0)+20>>2]|0)-1;while(1){if((k[P>>2]|0)<0)break;do if(k[(k[(k[ec>>2]|0)+16>>2]|0)+(k[P>>2]<<4)+4>>2]|0){if((k[P>>2]|0)!=(k[$b>>2]|0)?k[(k[ia>>2]|0)+4>>2]|0:0)break;gv(k[bc>>2]|0,k[P>>2]|0);$u(k[bc>>2]|0,9,k[P>>2]|0,1,k[O>>2]|0)|0}while(0);k[P>>2]=(k[P>>2]|0)+-1}_u(k[bc>>2]|0,87,1,1)|0;break a}case 20:{ac=Ak(k[(k[Ea>>2]|0)+4>>2]|0)|0;k[S>>2]=ac;ac=T;k[ac>>2]=-2;k[ac+4>>2]=-1;if(k[dc>>2]|0?(Uz(k[dc>>2]|0,T)|0,ac=T,$b=k[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(k[ac>>2]|0)>>>0<4294967295):0){ac=T;k[ac>>2]=-1;k[ac+4>>2]=-1}$b=T;$b=AA(k[S>>2]|0,k[$b>>2]|0,k[$b+4>>2]|0)|0;ac=T;k[ac>>2]=$b;k[ac+4>>2]=M;ac=T;xA(k[bc>>2]|0,31681,k[ac>>2]|0,k[ac+4>>2]|0);break a}case 1:{k[U>>2]=k[(k[Ea>>2]|0)+4>>2];if(!(k[dc>>2]|0)){ac=k[bc>>2]|0;bc=BA(k[U>>2]|0)|0;xA(ac,31700,bc,((bc|0)<0)<<31>>31);break a}ac=CA(k[dc>>2]|0)|0;k[V>>2]=ac;i[(k[ec>>2]|0)+72>>0]=k[V>>2];ac=DA(k[U>>2]|0,k[V>>2]|0)|0;k[C>>2]=ac;if(k[C>>2]|0)break a;if(!((k[V>>2]|0)==1|(k[V>>2]|0)==2))break a;ac=Zv(k[bc>>2]|0)|0;k[X>>2]=ac;ac=wA(k[bc>>2]|0,5,31712,0)|0;k[W>>2]=ac;k[(k[W>>2]|0)+4>>2]=k[$b>>2];k[(k[W>>2]|0)+20+4>>2]=k[$b>>2];k[(k[W>>2]|0)+40+8>>2]=(k[X>>2]|0)+4;k[(k[W>>2]|0)+80+4>>2]=k[$b>>2];k[(k[W>>2]|0)+80+12>>2]=(k[V>>2]|0)-1;gv(k[bc>>2]|0,k[$b>>2]|0);break a}case 15:{if(!((k[dc>>2]|0)!=0?(_b=(qg(k[dc>>2]|0,Y)|0)==0,!(_b|(k[Y>>2]|0)<=0)):0))k[Y>>2]=2147483647;mv(k[ac>>2]|0,0,k[$b>>2]|0);_u(k[bc>>2]|0,76,k[Y>>2]|0,1)|0;ac=oy(k[bc>>2]|0,69,k[$b>>2]|0)|0;k[Z>>2]=ac;oy(k[bc>>2]|0,87,1)|0;_u(k[bc>>2]|0,91,1,-1)|0;_u(k[bc>>2]|0,66,1,k[Z>>2]|0)|0;xy(k[bc>>2]|0,k[Z>>2]|0);break a}case 4:if(k[dc>>2]|0){bc=pg(k[dc>>2]|0)|0;k[_>>2]=bc;k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]=k[_>>2];zv(k[(k[Ea>>2]|0)+4>>2]|0,k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0;xA(k[bc>>2]|0,31567,ac,((ac|0)<0)<<31>>31);break a}case 5:if(k[dc>>2]|0){k[$>>2]=1;if(qg(k[dc>>2]|0,$)|0)EA(k[(k[Ea>>2]|0)+4>>2]|0,k[$>>2]|0)|0;$b=(ng(k[dc>>2]|0,(k[$>>2]|0)!=0&255)|0)<<24>>24!=0;bc=(k[ec>>2]|0)+24|0;ac=k[bc>>2]|0;k[bc>>2]=$b?ac|32:ac&-33;FA(k[ec>>2]|0);break a}else{b=k[bc>>2]|0;if(!(k[(k[ec>>2]|0)+24>>2]&32))a=0;else a=EA(k[(k[Ea>>2]|0)+4>>2]|0,0)|0;xA(b,31732,a,((a|0)<0)<<31>>31);break a}case 24:{$b=aa;k[$b>>2]=0;k[$b+4>>2]=0;k[C>>2]=0;if(!(k[C>>2]|0)){ac=aa;xA(k[bc>>2]|0,31744,k[ac>>2]|0,k[ac+4>>2]|0);break a}if((k[C>>2]|0)==12)break a;bc=(k[ac>>2]|0)+36|0;k[bc>>2]=(k[bc>>2]|0)+1;k[(k[ac>>2]|0)+12>>2]=k[C>>2];break a}case 32:if(k[dc>>2]|0){GA(k[ac>>2]|0,k[dc>>2]|0)|0;break a}else{xA(k[bc>>2]|0,31754,l[(k[ec>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(k[dc>>2]|0)){uA(k[bc>>2]|0,31765,k[13628]|0);break a}if(i[k[dc>>2]>>0]|0?(bc=an(k[k[ec>>2]>>2]|0,k[dc>>2]|0,1,ba)|0,k[C>>2]=bc,(k[C>>2]|0)!=0|(k[ba>>2]|0)==0):0){Cl(k[ac>>2]|0,31786,ta);break a}if((l[(k[ec>>2]|0)+68>>0]|0)<=1)HA(k[ac>>2]|0)|0;ie(k[13628]|0);if(i[k[dc>>2]>>0]|0){k[ua>>2]=k[dc>>2];a=xf(21240,ua)|0}else a=0;k[13628]=a;break a}case 30:{if(!(k[dc>>2]|0)){ac=(l[(k[Ea>>2]|0)+8>>0]|0)-1|0;xA(k[bc>>2]|0,31811,ac,((ac|0)<0)<<31>>31);break a}if(i[(k[ec>>2]|0)+67>>0]|0){bc=((og(k[dc>>2]|0,0,1)|0)&255)+1&7;k[ca>>2]=bc;k[ca>>2]=(k[ca>>2]|0)==0?1:bc;i[(k[Ea>>2]|0)+8>>0]=k[ca>>2];i[(k[Ea>>2]|0)+9>>0]=1;FA(k[ec>>2]|0);break a}else{Cl(k[ac>>2]|0,31823,va);break a}}case 2:{if(!(k[dc>>2]|0)){ac=(k[(k[ec>>2]|0)+24>>2]&k[(k[Lb>>2]|0)+8>>2]|0)!=0&1;xA(k[bc>>2]|0,k[k[Lb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}k[Ga>>2]=k[(k[Lb>>2]|0)+8>>2];if(!(l[(k[ec>>2]|0)+67>>0]|0))k[Ga>>2]=k[Ga>>2]&-524289;ac=(ng(k[dc>>2]|0,0)|0)<<24>>24!=0;a=k[Ga>>2]|0;if(!ac){ac=(k[ec>>2]|0)+24|0;k[ac>>2]=k[ac>>2]&~a;if((k[Ga>>2]|0)==33554432){ac=(k[ec>>2]|0)+448|0;k[ac>>2]=0;k[ac+4>>2]=0}}else{ac=(k[ec>>2]|0)+24|0;k[ac>>2]=k[ac>>2]|a}Xu(k[bc>>2]|0,150)|0;FA(k[ec>>2]|0);break a}case 31:{if(!(k[dc>>2]|0))break a;_b=ov(k[ac>>2]|0,2,k[dc>>2]|0,k[Ha>>2]|0)|0;k[Mb>>2]=_b;if(!(k[Mb>>2]|0))break a;k[Pb>>2]=0;_b=Ev(k[Mb>>2]|0)|0;k[Rb>>2]=_b;k[(k[ac>>2]|0)+44>>2]=6;nv(k[ac>>2]|0,k[$b>>2]|0);IA(k[bc>>2]|0,6,5192);ow(k[ac>>2]|0,k[Mb>>2]|0)|0;k[Nb>>2]=0;k[Qb>>2]=k[(k[Mb>>2]|0)+4>>2];while(1){if((k[Nb>>2]|0)>=(j[(k[Mb>>2]|0)+34>>1]|0))break a;if(l[(k[Qb>>2]|0)+15>>0]&2|0)k[Pb>>2]=(k[Pb>>2]|0)+1;else{c:do if(!(l[(k[Qb>>2]|0)+15>>0]&1))k[Ob>>2]=0;else{ac=(k[Rb>>2]|0)==0;k[Ob>>2]=1;if(ac)break;while(1){if((k[Ob>>2]|0)>(j[(k[Mb>>2]|0)+34>>1]|0))break c;if((j[(k[(k[Rb>>2]|0)+4>>2]|0)+((k[Ob>>2]|0)-1<<1)>>1]|0)==(k[Nb>>2]|0))break c;k[Ob>>2]=(k[Ob>>2]|0)+1}}while(0);a=k[bc>>2]|0;b=(k[Nb>>2]|0)-(k[Pb>>2]|0)|0;f=k[k[Qb>>2]>>2]|0;c=uv(k[Qb>>2]|0,55752)|0;d=l[(k[Qb>>2]|0)+12>>0]|0?1:0;if(k[(k[Qb>>2]|0)+4>>2]|0)e=k[(k[(k[Qb>>2]|0)+4>>2]|0)+8>>2]|0;else e=0;ac=k[Ob>>2]|0;k[Xb>>2]=b;k[Xb+4>>2]=f;k[Xb+8>>2]=c;k[Xb+12>>2]=d;k[Xb+16>>2]=e;k[Xb+20>>2]=ac;JA(a,1,31876,Xb);_u(k[bc>>2]|0,87,1,6)|0}k[Nb>>2]=(k[Nb>>2]|0)+1;k[Qb>>2]=(k[Qb>>2]|0)+16}}case 29:{_b=Vu(k[ac>>2]|0)|0;k[bc>>2]=_b;k[(k[ac>>2]|0)+44>>2]=4;nv(k[ac>>2]|0,k[$b>>2]|0);IA(k[bc>>2]|0,4,5216);k[ea>>2]=k[(k[(k[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(k[ea>>2]|0))break a;k[fa>>2]=k[(k[ea>>2]|0)+8>>2];ac=k[bc>>2]|0;_b=j[(k[fa>>2]|0)+40>>1]|0;$b=j[(k[fa>>2]|0)+38>>1]|0;k[wa>>2]=k[k[fa>>2]>>2];k[wa+4>>2]=0;k[wa+8>>2]=_b;k[wa+12>>2]=$b;JA(ac,1,31883,wa);_u(k[bc>>2]|0,87,1,4)|0;k[da>>2]=k[(k[fa>>2]|0)+8>>2];while(1){if(!(k[da>>2]|0))break;ac=k[bc>>2]|0;_b=j[(k[da>>2]|0)+48>>1]|0;$b=j[k[(k[da>>2]|0)+8>>2]>>1]|0;k[xa>>2]=k[k[da>>2]>>2];k[xa+4>>2]=_b;k[xa+8>>2]=$b;JA(ac,2,31888,xa);_u(k[bc>>2]|0,87,1,4)|0;k[da>>2]=k[(k[da>>2]|0)+20>>2]}k[ea>>2]=k[k[ea>>2]>>2]}}case 16:{if(!(k[dc>>2]|0))break a;_b=Fv(k[ec>>2]|0,k[dc>>2]|0,k[Ha>>2]|0)|0;k[Sb>>2]=_b;if(!(k[Sb>>2]|0))break a;a=k[Sb>>2]|0;if(k[(k[Lb>>2]|0)+8>>2]|0){k[Vb>>2]=m[a+52>>1];a=6;b=k[ac>>2]|0}else{k[Vb>>2]=m[a+50>>1];a=3;b=k[ac>>2]|0}k[b+44>>2]=a;k[Tb>>2]=k[(k[Sb>>2]|0)+12>>2];nv(k[ac>>2]|0,k[$b>>2]|0);IA(k[bc>>2]|0,k[(k[ac>>2]|0)+44>>2]|0,5232);k[Ub>>2]=0;while(1){if((k[Ub>>2]|0)>=(k[Vb>>2]|0))break a;j[Wb>>1]=j[(k[(k[Sb>>2]|0)+4>>2]|0)+(k[Ub>>2]<<1)>>1]|0;a=k[bc>>2]|0;b=j[Wb>>1]|0;if((j[Wb>>1]|0)<0)f=0;else f=k[(k[(k[Tb>>2]|0)+4>>2]|0)+(j[Wb>>1]<<4)>>2]|0;k[Yb>>2]=k[Ub>>2];k[Yb+4>>2]=b;k[Yb+8>>2]=f;JA(a,1,31892,Yb);if(k[(k[Lb>>2]|0)+8>>2]|0){$b=k[bc>>2]|0;Xb=k[(k[(k[Sb>>2]|0)+32>>2]|0)+(k[Ub>>2]<<2)>>2]|0;_b=(k[Ub>>2]|0)<(m[(k[Sb>>2]|0)+50>>1]|0)&1;k[Zb>>2]=l[(k[(k[Sb>>2]|0)+28>>2]|0)+(k[Ub>>2]|0)>>0];k[Zb+4>>2]=Xb;k[Zb+8>>2]=_b;JA($b,4,31896,Zb)}_u(k[bc>>2]|0,87,1,k[(k[ac>>2]|0)+44>>2]|0)|0;k[Ub>>2]=(k[Ub>>2]|0)+1}}case 17:{if(!(k[dc>>2]|0))break a;_b=qv(k[ec>>2]|0,k[dc>>2]|0,k[Ha>>2]|0)|0;k[ha>>2]=_b;if(!(k[ha>>2]|0))break a;_b=Vu(k[ac>>2]|0)|0;k[bc>>2]=_b;k[(k[ac>>2]|0)+44>>2]=5;nv(k[ac>>2]|0,k[$b>>2]|0);IA(k[bc>>2]|0,5,5256);k[ga>>2]=k[(k[ha>>2]|0)+8>>2];k[ja>>2]=0;while(1){if(!(k[ga>>2]|0))break a;k[ka>>2]=k[1319];k[ka+4>>2]=k[1320];k[ka+8>>2]=k[1321];ac=k[bc>>2]|0;Yb=k[k[ga>>2]>>2]|0;Zb=(l[(k[ga>>2]|0)+54>>0]|0)!=0&1;_b=k[ka+((i[(k[ga>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(k[(k[ga>>2]|0)+36>>2]|0)!=0&1;k[ya>>2]=k[ja>>2];k[ya+4>>2]=Yb;k[ya+8>>2]=Zb;k[ya+12>>2]=_b;k[ya+16>>2]=$b;JA(ac,1,31900,ya);_u(k[bc>>2]|0,87,1,5)|0;k[ga>>2]=k[(k[ga>>2]|0)+20>>2];k[ja>>2]=(k[ja>>2]|0)+1}}case 10:{k[(k[ac>>2]|0)+44>>2]=3;IA(k[bc>>2]|0,3,5288);k[la>>2]=0;while(1){if((k[la>>2]|0)>=(k[(k[ec>>2]|0)+20>>2]|0))break a;if(k[(k[(k[ec>>2]|0)+16>>2]|0)+(k[la>>2]<<4)+4>>2]|0){ac=k[bc>>2]|0;Zb=k[la>>2]|0;_b=k[(k[(k[ec>>2]|0)+16>>2]|0)+(k[la>>2]<<4)>>2]|0;$b=ks(k[(k[(k[ec>>2]|0)+16>>2]|0)+(k[la>>2]<<4)+4>>2]|0)|0;k[za>>2]=Zb;k[za+4>>2]=_b;k[za+8>>2]=$b;JA(ac,1,31906,za);_u(k[bc>>2]|0,87,1,3)|0}k[la>>2]=(k[la>>2]|0)+1}}case 7:{k[ma>>2]=0;k[(k[ac>>2]|0)+44>>2]=2;IA(k[bc>>2]|0,2,5300);k[na>>2]=k[(k[ec>>2]|0)+364+8>>2];while(1){if(!(k[na>>2]|0))break a;k[oa>>2]=k[(k[na>>2]|0)+8>>2];ac=k[bc>>2]|0;_b=k[ma>>2]|0;k[ma>>2]=_b+1;$b=k[k[oa>>2]>>2]|0;k[Aa>>2]=_b;k[Aa+4>>2]=$b;JA(ac,1,31910,Aa);_u(k[bc>>2]|0,87,1,2)|0;k[na>>2]=k[k[na>>2]>>2]}}case 14:{if(!(k[dc>>2]|0))break a;_b=qv(k[ec>>2]|0,k[dc>>2]|0,k[Ha>>2]|0)|0;k[qa>>2]=_b;if(!(k[qa>>2]|0))break a;_b=Vu(k[ac>>2]|0)|0;k[bc>>2]=_b;k[pa>>2]=k[(k[qa>>2]|0)+16>>2];if(!(k[pa>>2]|0))break a;k[ra>>2]=0;k[(k[ac>>2]|0)+44>>2]=8;nv(k[ac>>2]|0,k[$b>>2]|0);IA(k[bc>>2]|0,8,5308);while(1){if(!(k[pa>>2]|0))break a;k[sa>>2]=0;while(1){if((k[sa>>2]|0)>=(k[(k[pa>>2]|0)+20>>2]|0))break;ac=k[bc>>2]|0;Vb=k[ra>>2]|0;Wb=k[sa>>2]|0;Xb=k[(k[pa>>2]|0)+8>>2]|0;Yb=k[(k[(k[qa>>2]|0)+4>>2]|0)+(k[(k[pa>>2]|0)+36+(k[sa>>2]<<3)>>2]<<4)>>2]|0;Zb=k[(k[pa>>2]|0)+36+(k[sa>>2]<<3)+4>>2]|0;_b=KA(i[(k[pa>>2]|0)+25+1>>0]|0)|0;$b=KA(i[(k[pa>>2]|0)+25>>0]|0)|0;k[Ba>>2]=Vb;k[Ba+4>>2]=Wb;k[Ba+8>>2]=Xb;k[Ba+12>>2]=Yb;k[Ba+16>>2]=Zb;k[Ba+20>>2]=_b;k[Ba+24>>2]=$b;k[Ba+28>>2]=31922;JA(ac,1,31913,Ba);_u(k[bc>>2]|0,87,1,8)|0;k[sa>>2]=(k[sa>>2]|0)+1}k[ra>>2]=(k[ra>>2]|0)+1;k[pa>>2]=k[(k[pa>>2]|0)+4>>2]}}case 13:{k[Ra>>2]=(k[(k[ac>>2]|0)+44>>2]|0)+1;Zb=(k[ac>>2]|0)+44|0;k[Zb>>2]=(k[Zb>>2]|0)+4;Zb=(k[ac>>2]|0)+44|0;Yb=(k[Zb>>2]|0)+1|0;k[Zb>>2]=Yb;k[Sa>>2]=Yb;Yb=(k[ac>>2]|0)+44|0;Zb=(k[Yb>>2]|0)+1|0;k[Yb>>2]=Zb;k[Ta>>2]=Zb;Zb=Vu(k[ac>>2]|0)|0;k[bc>>2]=Zb;IA(k[bc>>2]|0,4,5340);nv(k[ac>>2]|0,k[$b>>2]|0);k[Pa>>2]=k[(k[(k[(k[ec>>2]|0)+16>>2]|0)+(k[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(k[Pa>>2]|0))break a;if(k[dc>>2]|0){Zb=ov(k[ac>>2]|0,0,k[dc>>2]|0,k[Ha>>2]|0)|0;k[Ka>>2]=Zb;k[Pa>>2]=0}else{k[Ka>>2]=k[(k[Pa>>2]|0)+8>>2];k[Pa>>2]=k[k[Pa>>2]>>2]}if(!(k[Ka>>2]|0))continue;if(!(k[(k[Ka>>2]|0)+16>>2]|0))continue;qy(k[ac>>2]|0,k[$b>>2]|0,k[(k[Ka>>2]|0)+28>>2]|0,0,k[k[Ka>>2]>>2]|0);if(((j[(k[Ka>>2]|0)+34>>1]|0)+(k[Ta>>2]|0)|0)>(k[(k[ac>>2]|0)+44>>2]|0))k[(k[ac>>2]|0)+44>>2]=(j[(k[Ka>>2]|0)+34>>1]|0)+(k[Ta>>2]|0);ry(k[ac>>2]|0,0,k[$b>>2]|0,k[Ka>>2]|0,104);Zu(k[bc>>2]|0,k[Ra>>2]|0,k[k[Ka>>2]>>2]|0)|0;k[Na>>2]=1;k[Ja>>2]=k[(k[Ka>>2]|0)+16>>2];d:while(1){if(!(k[Ja>>2]|0))break;Zb=qv(k[ec>>2]|0,k[(k[Ja>>2]|0)+8>>2]|0,k[Ha>>2]|0)|0;k[La>>2]=Zb;do if(k[La>>2]|0){k[Ma>>2]=0;qy(k[ac>>2]|0,k[$b>>2]|0,k[(k[La>>2]|0)+28>>2]|0,0,k[k[La>>2]>>2]|0);Zb=LA(k[ac>>2]|0,k[La>>2]|0,k[Ja>>2]|0,Ma,0)|0;k[Qa>>2]=Zb;if(k[Qa>>2]|0){_b=204;break d}if(!(k[Ma>>2]|0)){ry(k[ac>>2]|0,k[Na>>2]|0,k[$b>>2]|0,k[La>>2]|0,104);break}else{$u(k[bc>>2]|0,104,k[Na>>2]|0,k[(k[Ma>>2]|0)+44>>2]|0,k[$b>>2]|0)|0;sy(k[ac>>2]|0,k[Ma>>2]|0);break}}while(0);k[Na>>2]=(k[Na>>2]|0)+1;k[Ja>>2]=k[(k[Ja>>2]|0)+4>>2]}if((_b|0)==204){_b=0;k[Pa>>2]=0}if(k[Ja>>2]|0)break a;if((k[(k[ac>>2]|0)+40>>2]|0)<(k[Na>>2]|0))k[(k[ac>>2]|0)+40>>2]=k[Na>>2];Zb=oy(k[bc>>2]|0,57,0)|0;k[Ua>>2]=Zb;k[Na>>2]=1;k[Ja>>2]=k[(k[Ka>>2]|0)+16>>2];while(1){if(!(k[Ja>>2]|0))break;Zb=qv(k[ec>>2]|0,k[(k[Ja>>2]|0)+8>>2]|0,k[Ha>>2]|0)|0;k[La>>2]=Zb;k[Ma>>2]=0;k[Wa>>2]=0;if(k[La>>2]|0){Zb=LA(k[ac>>2]|0,k[La>>2]|0,k[Ja>>2]|0,Ma,Wa)|0;k[Qa>>2]=Zb}Zb=uy(k[bc>>2]|0)|0;k[Va>>2]=Zb;do if((k[La>>2]|0)!=0&(k[Ma>>2]|0)==0){k[Xa>>2]=k[(k[Ja>>2]|0)+36>>2];a=k[bc>>2]|0;if((k[Xa>>2]|0)!=(j[(k[Ka>>2]|0)+32>>1]|0)){$u(a,96,0,k[Xa>>2]|0,k[Ta>>2]|0)|0;dz(k[bc>>2]|0,k[Ka>>2]|0,k[Xa>>2]|0,k[Ta>>2]|0);_u(k[bc>>2]|0,34,k[Ta>>2]|0,k[Va>>2]|0)|0}else _u(a,123,0,k[Ta>>2]|0)|0;$u(k[bc>>2]|0,32,k[Na>>2]|0,0,k[Ta>>2]|0)|0;wy(k[bc>>2]|0,k[Va>>2]|0)|0;Zb=k[bc>>2]|0;xy(Zb,(Zv(k[bc>>2]|0)|0)-2|0)}else{k[Oa>>2]=0;while(1){if((k[Oa>>2]|0)>=(k[(k[Ja>>2]|0)+20>>2]|0))break;if(k[Wa>>2]|0)a=(k[Wa>>2]|0)+(k[Oa>>2]<<2)|0;else a=(k[Ja>>2]|0)+36+(k[Oa>>2]<<3)|0;bz(k[bc>>2]|0,k[Ka>>2]|0,0,k[a>>2]|0,(k[Ta>>2]|0)+(k[Oa>>2]|0)|0);_u(k[bc>>2]|0,34,(k[Ta>>2]|0)+(k[Oa>>2]|0)|0,k[Va>>2]|0)|0;k[Oa>>2]=(k[Oa>>2]|0)+1}if(!(k[La>>2]|0))break;Vb=k[bc>>2]|0;Wb=k[Ta>>2]|0;Xb=k[(k[Ja>>2]|0)+20>>2]|0;Yb=k[Sa>>2]|0;Zb=MA(k[ec>>2]|0,k[Ma>>2]|0)|0;cv(Vb,99,Wb,Xb,Yb,Zb,k[(k[Ja>>2]|0)+20>>2]|0)|0;Jy(k[bc>>2]|0,31,k[Na>>2]|0,k[Va>>2]|0,k[Sa>>2]|0,0)|0}while(0);_u(k[bc>>2]|0,123,0,(k[Ra>>2]|0)+1|0)|0;Yb=k[bc>>2]|0;Zb=(k[Ra>>2]|0)+2|0;Xb=(k[Na>>2]|0)-1|0;k[Ya>>2]=k[(k[Ja>>2]|0)+8>>2];k[Ya+4>>2]=Xb;JA(Yb,Zb,31927,Ya);_u(k[bc>>2]|0,87,k[Ra>>2]|0,4)|0;yy(k[bc>>2]|0,k[Va>>2]|0);fe(k[ec>>2]|0,k[Wa>>2]|0);k[Na>>2]=(k[Na>>2]|0)+1;k[Ja>>2]=k[(k[Ja>>2]|0)+4>>2]}_u(k[bc>>2]|0,7,0,(k[Ua>>2]|0)+1|0)|0;xy(k[bc>>2]|0,k[Ua>>2]|0)}}case 6:{if(!(k[dc>>2]|0))break a;bc=k[ec>>2]|0;NA(bc,(ng(k[dc>>2]|0,0)|0)&255);break a}case 18:{k[Ib>>2]=(l[20458+(l[k[cc>>2]>>0]|0)>>0]|0)==113&1;if(!(k[k[ia>>2]>>2]|0))k[$b>>2]=-1;k[(k[ac>>2]|0)+44>>2]=6;vA(k[bc>>2]|0,31930);k[Hb>>2]=100;if(k[dc>>2]|0?(qg(k[dc>>2]|0,Hb)|0,(k[Hb>>2]|0)<=0):0)k[Hb>>2]=100;_u(k[bc>>2]|0,76,k[Hb>>2]|0,1)|0;k[Eb>>2]=0;e:while(1){if((k[Eb>>2]|0)>=(k[(k[ec>>2]|0)+20>>2]|0))break;k[cb>>2]=0;k[db>>2]=0;if(!((k[$b>>2]|0)>=0?(k[Eb>>2]|0)!=(k[$b>>2]|0):0))_b=239;f:do if((_b|0)==239){_b=0;nv(k[ac>>2]|0,k[Eb>>2]|0);Zb=oy(k[bc>>2]|0,66,1)|0;k[Gb>>2]=Zb;_u(k[bc>>2]|0,75,0,0)|0;xy(k[bc>>2]|0,k[Gb>>2]|0);k[ab>>2]=(k[(k[(k[ec>>2]|0)+16>>2]|0)+(k[Eb>>2]<<4)+12>>2]|0)+8;k[cb>>2]=0;k[$a>>2]=k[(k[ab>>2]|0)+8>>2];while(1){if(!(k[$a>>2]|0))break;k[fb>>2]=k[(k[$a>>2]|0)+8>>2];if(!(l[(k[fb>>2]|0)+42>>0]&32))k[cb>>2]=(k[cb>>2]|0)+1;k[eb>>2]=0;k[gb>>2]=k[(k[fb>>2]|0)+8>>2];while(1){if(!(k[gb>>2]|0))break;k[cb>>2]=(k[cb>>2]|0)+1;k[gb>>2]=k[(k[gb>>2]|0)+20>>2];k[eb>>2]=(k[eb>>2]|0)+1}if((k[eb>>2]|0)>(k[db>>2]|0))k[db>>2]=k[eb>>2];k[$a>>2]=k[k[$a>>2]>>2]}Zb=Od(k[ec>>2]|0,(k[cb>>2]|0)+1<<2,0)|0;k[bb>>2]=Zb;if(!(k[bb>>2]|0))break e;k[cb>>2]=0;k[$a>>2]=k[(k[ab>>2]|0)+8>>2];while(1){if(!(k[$a>>2]|0))break;k[hb>>2]=k[(k[$a>>2]|0)+8>>2];if(!(l[(k[hb>>2]|0)+42>>0]&32)){Xb=k[(k[hb>>2]|0)+28>>2]|0;Yb=k[bb>>2]|0;Zb=k[cb>>2]|0;k[cb>>2]=Zb+1;k[Yb+(Zb<<2)>>2]=Xb}k[ib>>2]=k[(k[hb>>2]|0)+8>>2];while(1){if(!(k[ib>>2]|0))break;Xb=k[(k[ib>>2]|0)+44>>2]|0;Yb=k[bb>>2]|0;Zb=k[cb>>2]|0;k[cb>>2]=Zb+1;k[Yb+(Zb<<2)>>2]=Xb;k[ib>>2]=k[(k[ib>>2]|0)+20>>2]}k[$a>>2]=k[k[$a>>2]>>2]}k[(k[bb>>2]|0)+(k[cb>>2]<<2)>>2]=0;if((k[(k[ac>>2]|0)+44>>2]|0)>(8+(k[db>>2]|0)|0))a=k[(k[ac>>2]|0)+44>>2]|0;else a=8+(k[db>>2]|0)|0;k[(k[ac>>2]|0)+44>>2]=a;cv(k[bc>>2]|0,141,2,k[cb>>2]|0,1,k[bb>>2]|0,-15)|0;ty(k[bc>>2]|0,k[Eb>>2]&255);Yb=oy(k[bc>>2]|0,34,2)|0;k[Gb>>2]=Yb;Yb=k[bc>>2]|0;Zb=k[ec>>2]|0;k[Jb>>2]=k[(k[(k[ec>>2]|0)+16>>2]|0)+(k[Eb>>2]<<4)>>2];cv(Yb,97,0,3,0,ek(Zb,31946,Jb)|0,-1)|0;$u(k[bc>>2]|0,83,2,4,1)|0;$u(k[bc>>2]|0,52,4,3,2)|0;_u(k[bc>>2]|0,87,2,1)|0;xy(k[bc>>2]|0,k[Gb>>2]|0);k[$a>>2]=k[(k[ab>>2]|0)+8>>2];while(1){if(!(k[$a>>2]|0))break f;if(!((k[Ib>>2]|0)!=0^1))break f;k[jb>>2]=k[(k[$a>>2]|0)+8>>2];k[mb>>2]=0;k[qb>>2]=-1;g:do if(k[(k[jb>>2]|0)+8>>2]|0){if(!(l[(k[jb>>2]|0)+42>>0]&32))a=0;else a=Ev(k[jb>>2]|0)|0;k[lb>>2]=a;Zb=oy(k[bc>>2]|0,66,1)|0;k[Gb>>2]=Zb;_u(k[bc>>2]|0,75,0,0)|0;xy(k[bc>>2]|0,k[Gb>>2]|0);OA(k[ac>>2]|0);PA(k[ac>>2]|0,k[jb>>2]|0,104,0,1,0,ob,pb)|0;_u(k[bc>>2]|0,76,0,7)|0;k[Fb>>2]=0;k[kb>>2]=k[(k[jb>>2]|0)+8>>2];while(1){a=k[bc>>2]|0;if(!(k[kb>>2]|0))break;_u(a,76,0,8+(k[Fb>>2]|0)|0)|0;k[kb>>2]=k[(k[kb>>2]|0)+20>>2];k[Fb>>2]=(k[Fb>>2]|0)+1}_u(a,57,k[ob>>2]|0,0)|0;Zb=_u(k[bc>>2]|0,91,7,1)|0;k[nb>>2]=Zb;k[Fb>>2]=0;while(1){if((k[Fb>>2]|0)>=(j[(k[jb>>2]|0)+34>>1]|0))break;do if((k[Fb>>2]|0)!=(j[(k[jb>>2]|0)+32>>1]|0)){if(!(l[(k[(k[jb>>2]|0)+4>>2]|0)+(k[Fb>>2]<<4)+12>>0]|0))break;bz(k[bc>>2]|0,k[jb>>2]|0,k[ob>>2]|0,k[Fb>>2]|0,3);ty(k[bc>>2]|0,-128);Zb=oy(k[bc>>2]|0,35,3)|0;k[sb>>2]=Zb;_u(k[bc>>2]|0,91,1,-1)|0;Zb=k[ec>>2]|0;Yb=k[(k[(k[jb>>2]|0)+4>>2]|0)+(k[Fb>>2]<<4)>>2]|0;k[Kb>>2]=k[k[jb>>2]>>2];k[Kb+4>>2]=Yb;Zb=ek(Zb,31970,Kb)|0;k[rb>>2]=Zb;cv(k[bc>>2]|0,97,0,3,0,k[rb>>2]|0,-1)|0;_u(k[bc>>2]|0,87,3,1)|0;Zb=oy(k[bc>>2]|0,66,1)|0;k[tb>>2]=Zb;Xu(k[bc>>2]|0,75)|0;xy(k[bc>>2]|0,k[sb>>2]|0);xy(k[bc>>2]|0,k[tb>>2]|0)}while(0);k[Fb>>2]=(k[Fb>>2]|0)+1}k[Fb>>2]=0;k[kb>>2]=k[(k[jb>>2]|0)+8>>2];while(1){a=k[bc>>2]|0;if(!(k[kb>>2]|0))break;Zb=uy(a)|0;k[yb>>2]=Zb;if((k[lb>>2]|0)!=(k[kb>>2]|0)){Zb=Oy(k[ac>>2]|0,k[kb>>2]|0,k[ob>>2]|0,0,0,vb,k[mb>>2]|0,k[qb>>2]|0)|0;k[qb>>2]=Zb;k[mb>>2]=k[kb>>2];_u(k[bc>>2]|0,91,8+(k[Fb>>2]|0)|0,1)|0;Zb=Jy(k[bc>>2]|0,31,(k[pb>>2]|0)+(k[Fb>>2]|0)|0,k[yb>>2]|0,k[qb>>2]|0,m[(k[kb>>2]|0)+52>>1]|0)|0;k[ub>>2]=Zb;_u(k[bc>>2]|0,91,1,-1)|0;Zu(k[bc>>2]|0,3,31990)|0;$u(k[bc>>2]|0,52,7,3,3)|0;Zu(k[bc>>2]|0,4,31995)|0;$u(k[bc>>2]|0,52,4,3,3)|0;Zb=Zu(k[bc>>2]|0,4,k[k[kb>>2]>>2]|0)|0;k[xb>>2]=Zb;$u(k[bc>>2]|0,52,4,3,3)|0;_u(k[bc>>2]|0,87,3,1)|0;Zb=oy(k[bc>>2]|0,66,1)|0;k[wb>>2]=Zb;Xu(k[bc>>2]|0,75)|0;xy(k[bc>>2]|0,k[ub>>2]|0);if(l[(k[kb>>2]|0)+54>>0]|0){Zb=uy(k[bc>>2]|0)|0;k[zb>>2]=Zb;k[Bb>>2]=0;while(1){if((k[Bb>>2]|0)>=(m[(k[kb>>2]|0)+50>>1]|0))break;k[Cb>>2]=j[(k[(k[kb>>2]|0)+4>>2]|0)+(k[Bb>>2]<<1)>>1];if(!((k[Cb>>2]|0)>=0?(l[(k[(k[jb>>2]|0)+4>>2]|0)+(k[Cb>>2]<<4)+12>>0]|0)!=0:0))_u(k[bc>>2]|0,34,(k[qb>>2]|0)+(k[Bb>>2]|0)|0,k[zb>>2]|0)|0;k[Bb>>2]=(k[Bb>>2]|0)+1}Zb=oy(k[bc>>2]|0,7,(k[pb>>2]|0)+(k[Fb>>2]|0)|0)|0;k[Ab>>2]=Zb;wy(k[bc>>2]|0,k[zb>>2]|0)|0;xy(k[bc>>2]|0,k[Ab>>2]|0);Jy(k[bc>>2]|0,59,(k[pb>>2]|0)+(k[Fb>>2]|0)|0,k[zb>>2]|0,k[qb>>2]|0,m[(k[kb>>2]|0)+50>>1]|0)|0;_u(k[bc>>2]|0,91,1,-1)|0;Zu(k[bc>>2]|0,3,32016)|0;wy(k[bc>>2]|0,k[xb>>2]|0)|0;yy(k[bc>>2]|0,k[zb>>2]|0)}xy(k[bc>>2]|0,k[wb>>2]|0);Py(k[ac>>2]|0,k[vb>>2]|0)}k[kb>>2]=k[(k[kb>>2]|0)+20>>2];k[Fb>>2]=(k[Fb>>2]|0)+1}_u(a,7,k[ob>>2]|0,k[nb>>2]|0)|0;xy(k[bc>>2]|0,(k[nb>>2]|0)-1|0);Zu(k[bc>>2]|0,2,32043)|0;k[Fb>>2]=0;k[kb>>2]=k[(k[jb>>2]|0)+8>>2];while(1){if(!(k[kb>>2]|0))break g;if((k[lb>>2]|0)!=(k[kb>>2]|0)){Zb=Zv(k[bc>>2]|0)|0;k[Gb>>2]=Zb;_u(k[bc>>2]|0,66,1,(k[Gb>>2]|0)+2|0)|0;_u(k[bc>>2]|0,75,0,0)|0;_u(k[bc>>2]|0,100,(k[pb>>2]|0)+(k[Fb>>2]|0)|0,3)|0;$u(k[bc>>2]|0,37,8+(k[Fb>>2]|0)|0,(k[Gb>>2]|0)+8|0,3)|0;ty(k[bc>>2]|0,-112);_u(k[bc>>2]|0,91,1,-1)|0;Zu(k[bc>>2]|0,3,k[k[kb>>2]>>2]|0)|0;$u(k[bc>>2]|0,52,3,2,7)|0;_u(k[bc>>2]|0,87,7,1)|0}k[kb>>2]=k[(k[kb>>2]|0)+20>>2];k[Fb>>2]=(k[Fb>>2]|0)+1}}while(0);k[$a>>2]=k[k[$a>>2]>>2]}}while(0);k[Eb>>2]=(k[Eb>>2]|0)+1}bc=wA(k[bc>>2]|0,4,32072,0)|0;k[Db>>2]=bc;if(!(k[Db>>2]|0))break a;k[(k[Db>>2]|0)+8>>2]=0-(k[Hb>>2]|0);i[(k[Db>>2]|0)+40+1>>0]=-2;k[(k[Db>>2]|0)+40+16>>2]=32088;break a}case 12:{if(!(k[dc>>2]|0)){if(pv(k[ac>>2]|0)|0)break a;uA(k[bc>>2]|0,32091,k[5356+(l[(k[k[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((m[(k[(k[(k[ec>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(m[(k[(k[(k[ec>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;k[Ia>>2]=5356;while(1){if(!(k[k[Ia>>2]>>2]|0))break;bc=0==(lh(k[dc>>2]|0,k[k[Ia>>2]>>2]|0)|0);a=k[Ia>>2]|0;if(bc){_b=306;break}k[Ia>>2]=a+8}if((_b|0)==306){if(l[a+4>>0]|0)a=l[(k[Ia>>2]|0)+4>>0]|0;else a=(i[936]|0)==0?3:2;bc=a&255;i[(k[ec>>2]|0)+66>>0]=bc;i[(k[(k[(k[ec>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(k[k[Ia>>2]>>2]|0)break a;bc=k[ac>>2]|0;k[Za>>2]=k[dc>>2];Cl(bc,32100,Za);break a}case 0:{k[r>>2]=k[(k[Lb>>2]|0)+8>>2];gv(k[bc>>2]|0,k[$b>>2]|0);if(k[dc>>2]|0?(l[(k[Lb>>2]|0)+5>>0]&2|0)==0:0){bc=wA(k[bc>>2]|0,2,32125,0)|0;k[s>>2]=bc;k[(k[s>>2]|0)+4>>2]=k[$b>>2];k[(k[s>>2]|0)+20+4>>2]=k[$b>>2];k[(k[s>>2]|0)+20+8>>2]=k[r>>2];bc=pg(k[dc>>2]|0)|0;k[(k[s>>2]|0)+20+12>>2]=bc;break a}ac=wA(k[bc>>2]|0,3,32133,0)|0;k[t>>2]=ac;k[(k[t>>2]|0)+4>>2]=k[$b>>2];k[(k[t>>2]|0)+20+4>>2]=k[$b>>2];k[(k[t>>2]|0)+20+12>>2]=k[r>>2];$s(k[bc>>2]|0,1);at(k[bc>>2]|0,0,0,k[cc>>2]|0,-1)|0;QA(k[bc>>2]|0);break a}case 8:{k[Ca>>2]=0;k[(k[ac>>2]|0)+44>>2]=1;vA(k[bc>>2]|0,32145);while(1){ac=k[Ca>>2]|0;k[Ca>>2]=ac+1;ac=yd(ac)|0;k[Da>>2]=ac;a=k[bc>>2]|0;if(!ac)break;Zu(a,1,k[Da>>2]|0)|0;_u(k[bc>>2]|0,87,1,1)|0}QA(a);break a}case 36:{k[v>>2]=k[k[ia>>2]>>2]|0?k[$b>>2]|0:10;k[w>>2]=0;do if(k[dc>>2]|0){if(!(lh(k[dc>>2]|0,32160)|0)){k[w>>2]=1;break}if(!(lh(k[dc>>2]|0,32165)|0)){k[w>>2]=2;break}if(!(lh(k[dc>>2]|0,32173)|0))k[w>>2]=3}while(0);IA(k[bc>>2]|0,3,5428);k[(k[ac>>2]|0)+44>>2]=3;$u(k[bc>>2]|0,8,k[v>>2]|0,k[w>>2]|0,1)|0;_u(k[bc>>2]|0,87,1,3)|0;break a}case 35:{if(k[dc>>2]|0){ac=k[ec>>2]|0;RA(ac,pg(k[dc>>2]|0)|0)|0}if((k[(k[ec>>2]|0)+224>>2]|0)==145)a=k[(k[ec>>2]|0)+228>>2]|0;else a=0;xA(k[bc>>2]|0,32182,a,((a|0)<0)<<31>>31);break a}case 27:{TA(k[ec>>2]|0)|0;break a}case 28:{if(k[dc>>2]|0?(Uz(k[dc>>2]|0,x)|0)==0:0){ac=x;sl(k[ac>>2]|0,k[ac+4>>2]|0)|0}ac=k[bc>>2]|0;bc=sl(-1,-1)|0;xA(ac,32209,bc,M);break a}case 34:{if(k[dc>>2]|0?(_b=(Uz(k[dc>>2]|0,y)|0)==0,ac=y,$b=k[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(k[ac>>2]|0)>>>0>=0)):0)VA(k[ec>>2]|0,11,k[y>>2]&2147483647)|0;ac=k[bc>>2]|0;bc=VA(k[ec>>2]|0,11,-1)|0;xA(ac,32225,bc,((bc|0)<0)<<31>>31);break a}default:{if(k[dc>>2]|0){ac=k[ec>>2]|0;UA(ac,pg(k[dc>>2]|0)|0)|0}ac=k[(k[ec>>2]|0)+428>>2]|0;xA(k[bc>>2]|0,32201,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);fe(k[ec>>2]|0,k[cc>>2]|0);fe(k[ec>>2]|0,k[dc>>2]|0);u=fc;return}function tu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+112|0;v=w+24|0;t=w;m=w+108|0;n=w+104|0;o=w+100|0;p=w+96|0;q=w+92|0;r=w+88|0;s=w+64|0;d=w+56|0;e=w+48|0;f=w+44|0;g=w+40|0;h=w+36|0;j=w+32|0;l=w+28|0;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=k[(k[m>>2]|0)+444>>2];k[r>>2]=k[k[m>>2]>>2];k[(k[m>>2]|0)+444>>2]=0;do if(k[p>>2]|0?(k[(k[m>>2]|0)+36>>2]|0)==0:0){k[q>>2]=k[k[p>>2]>>2];c=Ru(k[k[m>>2]>>2]|0,k[(k[p>>2]|0)+20>>2]|0)|0;k[d>>2]=c;k[(k[p>>2]|0)+28>>2]=k[n>>2];while(1){a=k[p>>2]|0;if(!(k[n>>2]|0))break;k[(k[n>>2]|0)+4>>2]=a;k[n>>2]=k[(k[n>>2]|0)+28>>2]}tx(e,k[a>>2]|0);mA(s,k[m>>2]|0,k[d>>2]|0,31184,e);if((rA(s,k[(k[p>>2]|0)+28>>2]|0)|0)==0?(pA(s,k[(k[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(i[(k[r>>2]|0)+148+5>>0]|0)){s=Vu(k[m>>2]|0)|0;k[f>>2]=s;if(!(k[f>>2]|0))break;mv(k[m>>2]|0,0,k[d>>2]|0);o=ck(k[r>>2]|0,k[k[o>>2]>>2]|0,k[(k[o>>2]|0)+4>>2]|0,0)|0;k[g>>2]=o;o=k[m>>2]|0;b=(k[d>>2]|0)==1?26433:26452;c=k[q>>2]|0;e=k[(k[p>>2]|0)+4>>2]|0;s=k[g>>2]|0;k[t>>2]=k[(k[(k[r>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2];k[t+4>>2]=b;k[t+8>>2]=c;k[t+12>>2]=e;k[t+16>>2]=s;Uu(o,31463,t);fe(k[r>>2]|0,k[g>>2]|0);Wu(k[m>>2]|0,k[d>>2]|0);o=k[f>>2]|0;s=k[d>>2]|0;t=k[r>>2]|0;k[v>>2]=k[q>>2];Yu(o,s,ek(t,31527,v)|0)}if(i[(k[r>>2]|0)+148+5>>0]|0){k[h>>2]=k[p>>2];k[j>>2]=(k[(k[(k[r>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+40;v=Pk(k[j>>2]|0,k[q>>2]|0,k[p>>2]|0)|0;k[p>>2]=v;if(k[p>>2]|0){Yd(k[r>>2]|0);break}if((k[(k[h>>2]|0)+20>>2]|0)==(k[(k[h>>2]|0)+24>>2]|0)){v=rv((k[(k[h>>2]|0)+24>>2]|0)+8|0,k[(k[h>>2]|0)+4>>2]|0)|0;k[l>>2]=v;k[(k[h>>2]|0)+32>>2]=k[(k[l>>2]|0)+60>>2];k[(k[l>>2]|0)+60>>2]=k[h>>2]}}}}while(0);Ck(k[r>>2]|0,k[p>>2]|0);kl(k[r>>2]|0,k[n>>2]|0);u=w;return}function uu(a,b,c,d,e,f,g,h,j,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=u;u=u+160|0;v=Q+48|0;t=Q+32|0;s=Q+24|0;H=Q+16|0;r=Q+8|0;q=Q;I=Q+156|0;n=Q+152|0;o=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;M=Q+116|0;B=Q+112|0;N=Q+108|0;O=Q+104|0;P=Q+100|0;C=Q+96|0;p=Q+72|0;D=Q+68|0;E=Q+64|0;F=Q+60|0;G=Q+56|0;k[I>>2]=a;k[n>>2]=b;k[o>>2]=c;k[x>>2]=d;k[y>>2]=e;k[J>>2]=f;k[K>>2]=g;k[L>>2]=h;k[z>>2]=j;k[A>>2]=m;k[M>>2]=0;k[N>>2]=0;k[O>>2]=k[k[I>>2]>>2];do if(k[z>>2]|0)if((k[(k[o>>2]|0)+4>>2]|0)>>>0<=0){k[P>>2]=1;k[C>>2]=k[n>>2];if(k[K>>2]|0){w=6;break}else break}else{Cl(k[I>>2]|0,31138,q);break}else{q=ky(k[I>>2]|0,k[n>>2]|0,k[o>>2]|0,C)|0;k[P>>2]=q;if((k[P>>2]|0)>=0&(k[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(l[(k[O>>2]|0)+69>>0]|0)==0:0){if((k[P>>2]|0)!=1?(l[(k[O>>2]|0)+148+5>>0]|0)!=0:0){fe(k[O>>2]|0,k[(k[K>>2]|0)+8+4>>2]|0);k[(k[K>>2]|0)+8+4>>2]=0}w=lA(k[I>>2]|0,k[K>>2]|0)|0;k[B>>2]=w;if(((l[(k[O>>2]|0)+148+5>>0]|0)==0?(k[B>>2]|0?(k[(k[o>>2]|0)+4>>2]|0)==0:0):0)?(k[(k[B>>2]|0)+64>>2]|0)==(k[(k[(k[O>>2]|0)+16>>2]|0)+16+12>>2]|0):0)k[P>>2]=1;if((i[(k[O>>2]|0)+69>>0]|0)==0?(mA(p,k[I>>2]|0,k[P>>2]|0,31184,k[C>>2]|0),(nA(p,k[K>>2]|0)|0)==0):0){w=lA(k[I>>2]|0,k[K>>2]|0)|0;k[B>>2]=w;if(!(k[B>>2]|0)){if((l[(k[O>>2]|0)+148+4>>0]|0)!=1)break;i[(k[O>>2]|0)+148+6>>0]=1;break}if(l[(k[B>>2]|0)+42>>0]&16|0){Cl(k[I>>2]|0,31192,r);break}w=Ou(k[O>>2]|0,k[C>>2]|0)|0;k[N>>2]=w;if(k[N>>2]|0?0==(nw(k[I>>2]|0,k[N>>2]|0)|0):0){if(rv((k[(k[(k[O>>2]|0)+16>>2]|0)+(k[P>>2]<<4)+12>>2]|0)+40|0,k[N>>2]|0)|0){a=k[I>>2]|0;if(k[A>>2]|0){nv(a,k[P>>2]|0);break}else{k[H>>2]=k[C>>2];Cl(a,31233,H);break}}if(!(vd(k[k[B>>2]>>2]|0,26664,7)|0)){Cl(k[I>>2]|0,31259,s);break}if((k[x>>2]|0)!=77?(k[(k[B>>2]|0)+12>>2]|0)!=0:0){P=k[I>>2]|0;H=k[K>>2]|0;k[t>>2]=(k[x>>2]|0)==63?31297:31304;k[t+4>>2]=H;k[t+8>>2]=0;Cl(P,31310,t);break}if((k[x>>2]|0)==77?(k[(k[B>>2]|0)+12>>2]|0)==0:0){P=k[I>>2]|0;k[v>>2]=k[K>>2];k[v+4>>2]=0;Cl(P,31347,v);break}H=Ru(k[O>>2]|0,k[(k[B>>2]|0)+64>>2]|0)|0;k[D>>2]=H;k[E>>2]=7;k[F>>2]=k[(k[(k[O>>2]|0)+16>>2]|0)+(k[D>>2]<<4)>>2];if(k[z>>2]|0)a=k[(k[(k[O>>2]|0)+16>>2]|0)+16>>2]|0;else a=k[F>>2]|0;k[G>>2]=a;if((k[D>>2]|0)==1|(k[z>>2]|0)!=0)k[E>>2]=5;if((Su(k[I>>2]|0,k[E>>2]|0,k[N>>2]|0,k[k[B>>2]>>2]|0,k[G>>2]|0)|0)==0?(Su(k[I>>2]|0,18,(k[D>>2]|0)==1?26433:26452,0,k[F>>2]|0)|0)==0:0){if((k[x>>2]|0)==77)k[x>>2]=63;H=im(k[O>>2]|0,36,0)|0;k[M>>2]=H;if(!(k[M>>2]|0))break;k[k[M>>2]>>2]=k[N>>2];k[N>>2]=0;H=fp(k[O>>2]|0,k[(k[K>>2]|0)+8+8>>2]|0)|0;k[(k[M>>2]|0)+4>>2]=H;k[(k[M>>2]|0)+20>>2]=k[(k[(k[O>>2]|0)+16>>2]|0)+(k[P>>2]<<4)+12>>2];k[(k[M>>2]|0)+24>>2]=k[(k[B>>2]|0)+64>>2];i[(k[M>>2]|0)+8>>0]=k[y>>2];i[(k[M>>2]|0)+9>>0]=(k[x>>2]|0)==63?1:2;P=ex(k[O>>2]|0,k[L>>2]|0,1)|0;k[(k[M>>2]|0)+12>>2]=P;P=gy(k[O>>2]|0,k[J>>2]|0)|0;k[(k[M>>2]|0)+16>>2]=P;k[(k[I>>2]|0)+444>>2]=k[M>>2]}}}}while(0);fe(k[O>>2]|0,k[N>>2]|0);$k(k[O>>2]|0,k[K>>2]|0);bl(k[O>>2]|0,k[J>>2]|0);Yk(k[O>>2]|0,k[L>>2]|0);if(k[(k[I>>2]|0)+444>>2]|0){u=Q;return}Ck(k[O>>2]|0,k[M>>2]|0);u=Q;return}function vu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=u;u=u+32|0;g=m+16|0;n=m+12|0;h=m+8|0;j=m+4|0;l=m+20|0;f=m;k[g>>2]=a;k[n>>2]=b;k[h>>2]=c;k[j>>2]=d;i[l>>0]=e;e=kA(k[g>>2]|0,110,k[n>>2]|0)|0;k[f>>2]=e;if(k[f>>2]|0){n=mx(k[g>>2]|0,k[h>>2]|0,1)|0;k[(k[f>>2]|0)+20>>2]=n;n=ex(k[g>>2]|0,k[j>>2]|0,1)|0;k[(k[f>>2]|0)+16>>2]=n;i[(k[f>>2]|0)+1>>0]=i[l>>0]|0}Uk(k[g>>2]|0,k[h>>2]|0);Yk(k[g>>2]|0,k[j>>2]|0);u=m;return k[f>>2]|0}function wu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=u;u=u+32|0;g=m+16|0;n=m+12|0;h=m+8|0;j=m+4|0;l=m+20|0;f=m;k[g>>2]=a;k[n>>2]=b;k[h>>2]=c;k[j>>2]=d;i[l>>0]=e;a=kA(k[g>>2]|0,108,k[n>>2]|0)|0;k[f>>2]=a;a=k[g>>2]|0;if(k[f>>2]|0){n=uw(a,k[j>>2]|0,1)|0;k[(k[f>>2]|0)+8>>2]=n;k[(k[f>>2]|0)+24>>2]=k[h>>2];i[(k[f>>2]|0)+1>>0]=i[l>>0]|0;l=k[g>>2]|0;n=k[j>>2]|0;Tk(l,n);n=k[f>>2]|0;u=m;return n|0}else{bl(a,k[h>>2]|0);l=k[g>>2]|0;n=k[j>>2]|0;Tk(l,n);n=k[f>>2]|0;u=m;return n|0}return 0}function xu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;c=kA(k[d>>2]|0,109,k[h>>2]|0)|0;k[f>>2]=c;if(k[f>>2]|0){h=ex(k[d>>2]|0,k[e>>2]|0,1)|0;k[(k[f>>2]|0)+16>>2]=h;i[(k[f>>2]|0)+1>>0]=10}Yk(k[d>>2]|0,k[e>>2]|0);u=g;return k[f>>2]|0}function yu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=im(k[d>>2]|0,36,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){Tk(k[d>>2]|0,k[e>>2]|0);k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}else{i[k[f>>2]>>0]=119;k[(k[f>>2]|0)+8>>2]=k[e>>2];i[(k[f>>2]|0)+1>>0]=10;k[c>>2]=k[f>>2];f=k[c>>2]|0;u=g;return f|0}return 0}function zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;p=q;l=q+40|0;m=q+36|0;n=q+32|0;e=q+28|0;f=q+24|0;o=q+20|0;g=q+16|0;j=q+12|0;d=q+8|0;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[e>>2]=0;k[j>>2]=k[k[l>>2]>>2];if(i[(k[j>>2]|0)+69>>0]|0){o=k[j>>2]|0;p=k[m>>2]|0;$k(o,p);u=q;return}if(pv(k[l>>2]|0)|0){o=k[j>>2]|0;p=k[m>>2]|0;$k(o,p);u=q;return}k[o>>2]=k[(k[m>>2]|0)+8+4>>2];k[g>>2]=k[(k[m>>2]|0)+8+8>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[j>>2]|0)+20>>2]|0))break;c=k[f>>2]|0;k[d>>2]=(k[f>>2]|0)<2?c^1:c;if(!(k[o>>2]|0?(lh(k[(k[(k[j>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2]|0,k[o>>2]|0)|0)!=0:0))h=7;if((h|0)==7?(h=0,c=rv((k[(k[(k[j>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+40|0,k[g>>2]|0)|0,k[e>>2]=c,k[e>>2]|0):0)break;k[f>>2]=(k[f>>2]|0)+1}if(k[e>>2]|0){iA(k[l>>2]|0,k[e>>2]|0);o=k[j>>2]|0;p=k[m>>2]|0;$k(o,p);u=q;return}a=k[l>>2]|0;if(k[n>>2]|0)hA(a,k[o>>2]|0);else{k[p>>2]=k[m>>2];k[p+4>>2]=0;Cl(a,31067,p)}i[(k[l>>2]|0)+17>>0]=1;o=k[j>>2]|0;p=k[m>>2]|0;$k(o,p);u=q;return}function Au(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;Yz(k[i>>2]|0,24,4404,k[h>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);u=e;return}function Bu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;Yz(k[e>>2]|0,25,4376,k[d>>2]|0,0,0,k[d>>2]|0);u=c;return}function Cu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;s=t;r=t+48|0;g=t+44|0;h=t+40|0;j=t+36|0;l=t+32|0;m=t+28|0;n=t+24|0;p=t+20|0;q=t+16|0;d=t+12|0;e=t+8|0;f=t+4|0;k[r>>2]=a;k[g>>2]=b;k[h>>2]=c;k[d>>2]=k[k[r>>2]>>2];if(pv(k[r>>2]|0)|0){u=t;return}if(!(k[g>>2]|0)){Ky(k[r>>2]|0,0);u=t;return}if(!((k[h>>2]|0)!=0?(k[k[h>>2]>>2]|0)!=0:0))o=6;do if((o|0)==6){o=Ou(k[k[r>>2]>>2]|0,k[g>>2]|0)|0;k[f>>2]=o;if(!(k[f>>2]|0)){u=t;return}o=Dw(k[d>>2]|0,i[(k[d>>2]|0)+66>>0]|0,k[f>>2]|0,0)|0;k[j>>2]=o;if(!(k[j>>2]|0)){fe(k[d>>2]|0,k[f>>2]|0);break}Ky(k[r>>2]|0,k[f>>2]|0);fe(k[d>>2]|0,k[f>>2]|0);u=t;return}while(0);o=ky(k[r>>2]|0,k[g>>2]|0,k[h>>2]|0,e)|0;k[q>>2]=o;if((k[q>>2]|0)<0){u=t;return}o=Ou(k[d>>2]|0,k[e>>2]|0)|0;k[l>>2]=o;if(!(k[l>>2]|0)){u=t;return}k[m>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[q>>2]<<4)>>2];o=qv(k[d>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=o;if(k[n>>2]|0){Ly(k[r>>2]|0,k[n>>2]|0,0);fe(k[d>>2]|0,k[l>>2]|0);u=t;return}a=Fv(k[d>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[p>>2]=a;fe(k[d>>2]|0,k[l>>2]|0);a=k[r>>2]|0;if(k[p>>2]|0){mv(a,0,k[q>>2]|0);My(k[r>>2]|0,k[p>>2]|0,-1);u=t;return}else{Cl(a,30301,s);u=t;return}}function Du(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;n=q+44|0;e=q+40|0;f=q+36|0;o=q+32|0;g=q+28|0;h=q+24|0;p=q+20|0;i=q+16|0;j=q+12|0;l=q+8|0;d=q+4|0;m=q;k[n>>2]=a;k[e>>2]=b;k[f>>2]=c;k[o>>2]=k[k[n>>2]>>2];if(pv(k[n>>2]|0)|0){u=q;return}a:do if(k[e>>2]|0){if(k[(k[f>>2]|0)+4>>2]|0){h=ky(k[n>>2]|0,k[e>>2]|0,k[f>>2]|0,d)|0;k[g>>2]=h;if((k[g>>2]|0)<0)break;k[i>>2]=k[(k[(k[o>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];h=Ou(k[o>>2]|0,k[d>>2]|0)|0;k[p>>2]=h;if(!(k[p>>2]|0))break;h=Fv(k[o>>2]|0,k[p>>2]|0,k[i>>2]|0)|0;k[l>>2]=h;a=k[n>>2]|0;if(!(h|0)){l=ov(a,0,k[p>>2]|0,k[i>>2]|0)|0;k[j>>2]=l;if(l|0)jy(k[n>>2]|0,k[j>>2]|0,0)}else jy(a,k[(k[l>>2]|0)+12>>2]|0,k[l>>2]|0);fe(k[o>>2]|0,k[p>>2]|0);break}i=iy(k[o>>2]|0,k[e>>2]|0)|0;k[g>>2]=i;if((k[g>>2]|0)>=0){hy(k[n>>2]|0,k[g>>2]|0);break}i=Ou(k[o>>2]|0,k[e>>2]|0)|0;k[p>>2]=i;if(k[p>>2]|0){i=Fv(k[o>>2]|0,k[p>>2]|0,0)|0;k[l>>2]=i;a=k[n>>2]|0;if(!(i|0)){l=ov(a,0,k[p>>2]|0,0)|0;k[j>>2]=l;if(l|0)jy(k[n>>2]|0,k[j>>2]|0,0)}else jy(a,k[(k[l>>2]|0)+12>>2]|0,k[l>>2]|0);fe(k[o>>2]|0,k[p>>2]|0)}}else{k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[o>>2]|0)+20>>2]|0))break a;if((k[h>>2]|0)!=1)hy(k[n>>2]|0,k[h>>2]|0);k[h>>2]=(k[h>>2]|0)+1}}while(0);p=Vu(k[n>>2]|0)|0;k[m>>2]=p;if(!(k[m>>2]|0)){u=q;return}Xu(k[m>>2]|0,150)|0;u=q;return}function Eu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+176|0;C=E+96|0;B=E+80|0;A=E+40|0;D=E+16|0;z=E+8|0;e=E;s=E+172|0;t=E+168|0;d=E+164|0;v=E+160|0;w=E+156|0;x=E+152|0;y=E+148|0;f=E+144|0;g=E+140|0;h=E+136|0;j=E+132|0;m=E+128|0;n=E+124|0;o=E+120|0;p=E+116|0;q=E+112|0;r=E+108|0;k[s>>2]=a;k[t>>2]=b;k[d>>2]=c;k[y>>2]=0;k[f>>2]=k[k[s>>2]>>2];k[m>>2]=0;k[n>>2]=0;k[o>>2]=k[(k[f>>2]|0)+24>>2];do if(((i[(k[f>>2]|0)+69>>0]|0)==0?(c=kv(k[s>>2]|0,0,(k[t>>2]|0)+8|0)|0,k[x>>2]=c,k[x>>2]|0):0)?(c=Ru(k[k[s>>2]>>2]|0,k[(k[x>>2]|0)+64>>2]|0)|0,k[v>>2]=c,k[w>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[v>>2]<<4)>>2],c=(k[f>>2]|0)+24|0,k[c>>2]=k[c>>2]|2097152,d=Ou(k[f>>2]|0,k[d>>2]|0)|0,k[y>>2]=d,k[y>>2]|0):0){if((qv(k[f>>2]|0,k[y>>2]|0,k[w>>2]|0)|0)==0?(Fv(k[f>>2]|0,k[y>>2]|0,k[w>>2]|0)|0)==0:0){if(lv(k[s>>2]|0,k[k[x>>2]>>2]|0)|0)break;if(nw(k[s>>2]|0,k[y>>2]|0)|0)break;a=k[s>>2]|0;if(k[(k[x>>2]|0)+12>>2]|0){k[z>>2]=k[k[x>>2]>>2];Cl(a,27745,z);break}if(Su(a,26,k[w>>2]|0,k[k[x>>2]>>2]|0,0)|0)break;if(ow(k[s>>2]|0,k[x>>2]|0)|0)break;if(l[(k[x>>2]|0)+42>>0]&16|0?(z=pw(k[f>>2]|0,k[x>>2]|0)|0,k[n>>2]=z,(k[(k[k[(k[n>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)k[n>>2]=0;z=Vu(k[s>>2]|0)|0;k[j>>2]=z;if(!(k[j>>2]|0))break;mv(k[s>>2]|0,(k[n>>2]|0)!=0&1,k[v>>2]|0);Wu(k[s>>2]|0,k[v>>2]|0);if(k[n>>2]|0){e=(k[s>>2]|0)+44|0;z=(k[e>>2]|0)+1|0;k[e>>2]=z;k[p>>2]=z;Zu(k[j>>2]|0,k[p>>2]|0,k[y>>2]|0)|0;cv(k[j>>2]|0,157,k[p>>2]|0,0,0,k[n>>2]|0,-10)|0;qw(k[s>>2]|0)}k[h>>2]=k[k[x>>2]>>2];z=ci(k[h>>2]|0,-1)|0;k[g>>2]=z;if(k[(k[f>>2]|0)+24>>2]&524288|0?(z=rw(k[s>>2]|0,k[x>>2]|0)|0,k[m>>2]=z,z|0):0){z=k[s>>2]|0;e=(k[v>>2]|0)==1?26433:26452;j=k[h>>2]|0;n=k[y>>2]|0;p=k[m>>2]|0;k[D>>2]=k[w>>2];k[D+4>>2]=e;k[D+8>>2]=j;k[D+12>>2]=n;k[D+16>>2]=p;Uu(z,27772,D);fe(k[f>>2]|0,k[m>>2]|0)}D=k[s>>2]|0;c=(k[v>>2]|0)==1?26433:26452;d=k[y>>2]|0;e=k[y>>2]|0;j=k[y>>2]|0;n=k[y>>2]|0;p=k[y>>2]|0;v=k[g>>2]|0;z=k[h>>2]|0;k[A>>2]=k[w>>2];k[A+4>>2]=c;k[A+8>>2]=d;k[A+12>>2]=e;k[A+16>>2]=j;k[A+20>>2]=n;k[A+24>>2]=p;k[A+28>>2]=v;k[A+32>>2]=z;Uu(D,27841,A);if(qv(k[f>>2]|0,28225,k[w>>2]|0)|0){D=k[s>>2]|0;z=k[y>>2]|0;A=k[k[x>>2]>>2]|0;k[B>>2]=k[w>>2];k[B+4>>2]=z;k[B+8>>2]=A;Uu(D,28241,B)}D=bw(k[s>>2]|0,k[x>>2]|0)|0;k[m>>2]=D;if(D|0){D=k[s>>2]|0;A=k[y>>2]|0;B=k[m>>2]|0;k[C>>2]=k[y>>2];k[C+4>>2]=A;k[C+8>>2]=B;Uu(D,28299,C);fe(k[f>>2]|0,k[m>>2]|0)}a:do if(k[(k[f>>2]|0)+24>>2]&524288|0){D=sw(k[x>>2]|0)|0;k[q>>2]=D;while(1){if(!(k[q>>2]|0))break a;k[r>>2]=k[k[q>>2]>>2];if((k[r>>2]|0)!=(k[x>>2]|0))$v(k[s>>2]|0,k[k[q>>2]>>2]|0,k[k[r>>2]>>2]|0);k[q>>2]=k[(k[q>>2]|0)+12>>2]}}while(0);$v(k[s>>2]|0,k[x>>2]|0,k[y>>2]|0);break}D=k[s>>2]|0;k[e>>2]=k[y>>2];Cl(D,27686,e)}while(0);$k(k[f>>2]|0,k[t>>2]|0);fe(k[f>>2]|0,k[y>>2]|0);k[(k[f>>2]|0)+24>>2]=k[o>>2];u=E;return}function Fu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+144|0;A=E+40|0;z=E+32|0;D=E+24|0;C=E+16|0;B=E+8|0;y=E;p=E+128|0;q=E+124|0;r=E+120|0;s=E+116|0;t=E+112|0;v=E+108|0;w=E+104|0;x=E+100|0;c=E+96|0;d=E+92|0;e=E+88|0;f=E+84|0;g=E+80|0;h=E+76|0;m=E+72|0;n=E+68|0;o=E+64|0;k[p>>2]=a;k[q>>2]=b;k[f>>2]=k[(k[p>>2]|0)+8>>2];k[e>>2]=k[k[p>>2]>>2];if(k[(k[p>>2]|0)+36>>2]|0){u=E;return}if(l[(k[e>>2]|0)+69>>0]|0){u=E;return}k[r>>2]=k[(k[p>>2]|0)+440>>2];b=Ru(k[e>>2]|0,k[(k[r>>2]|0)+64>>2]|0)|0;k[t>>2]=b;k[v>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[t>>2]<<4)>>2];k[w>>2]=(k[k[r>>2]>>2]|0)+16;k[c>>2]=(k[(k[r>>2]|0)+4>>2]|0)+((j[(k[r>>2]|0)+34>>1]|0)-1<<4);k[d>>2]=k[(k[c>>2]|0)+4>>2];b=qv(k[e>>2]|0,k[w>>2]|0,k[v>>2]|0)|0;k[s>>2]=b;if(Su(k[p>>2]|0,26,k[v>>2]|0,k[k[s>>2]>>2]|0,0)|0){u=E;return}if(k[d>>2]|0?(l[k[(k[d>>2]|0)+12>>2]>>0]|0)==101:0)k[d>>2]=0;if(l[(k[c>>2]|0)+15>>0]&1|0){Cl(k[p>>2]|0,27300,y);u=E;return}if(k[(k[r>>2]|0)+8>>2]|0){Cl(k[p>>2]|0,27332,B);u=E;return}if(k[(k[e>>2]|0)+24>>2]&524288|0?(k[d>>2]|0?(k[(k[r>>2]|0)+16>>2]|0)!=0:0):0){Cl(k[p>>2]|0,27359,C);u=E;return}if(!(k[d>>2]|0?1:(l[(k[c>>2]|0)+12>>0]|0)==0)){Cl(k[p>>2]|0,27418,D);u=E;return}do if(k[d>>2]|0){k[h>>2]=0;D=Xv(k[e>>2]|0,k[d>>2]|0,1,65,h)|0;k[m>>2]=D;if(k[m>>2]|0){u=E;return}if(k[h>>2]|0){Lk(k[h>>2]|0);break}Cl(k[p>>2]|0,27471,z);u=E;return}while(0);D=ck(k[e>>2]|0,k[k[q>>2]>>2]|0,k[(k[q>>2]|0)+4>>2]|0,0)|0;k[x>>2]=D;if(k[x>>2]|0){k[n>>2]=(k[x>>2]|0)+((k[(k[q>>2]|0)+4>>2]|0)-1);k[o>>2]=k[(k[e>>2]|0)+24>>2];while(1){if((k[n>>2]|0)>>>0<=(k[x>>2]|0)>>>0)break;if((i[k[n>>2]>>0]|0)!=59?(l[20063+(l[k[n>>2]>>0]|0)>>0]&1|0)==0:0)break;D=k[n>>2]|0;k[n>>2]=D+-1;i[D>>0]=0}D=(k[e>>2]|0)+24|0;k[D>>2]=k[D>>2]|2097152;D=k[p>>2]|0;q=(k[t>>2]|0)==1?26433:26452;y=k[(k[r>>2]|0)+44>>2]|0;z=k[x>>2]|0;B=(k[(k[r>>2]|0)+44>>2]|0)+1|0;C=k[w>>2]|0;k[A>>2]=k[v>>2];k[A+4>>2]=q;k[A+8>>2]=y;k[A+12>>2]=z;k[A+16>>2]=B;k[A+20>>2]=C;Uu(D,27517,A);fe(k[e>>2]|0,k[x>>2]|0);k[(k[e>>2]|0)+24>>2]=k[o>>2]}C=Yv(k[p>>2]|0)|0;k[g>>2]=C;$u(k[f>>2]|0,101,k[t>>2]|0,k[g>>2]|0,2)|0;gv(k[f>>2]|0,k[t>>2]|0);_u(k[f>>2]|0,91,k[g>>2]|0,-2)|0;C=k[f>>2]|0;D=k[g>>2]|0;_u(C,66,D,(Zv(k[f>>2]|0)|0)+2|0)|0;$u(k[f>>2]|0,102,k[t>>2]|0,2,3)|0;_v(k[p>>2]|0,k[g>>2]|0);$v(k[p>>2]|0,k[s>>2]|0,k[k[s>>2]>>2]|0);u=E;return}function Gu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;s=t+16|0;r=t+8|0;c=t;f=t+56|0;g=t+52|0;h=t+48|0;m=t+44|0;n=t+40|0;o=t+36|0;p=t+32|0;q=t+28|0;d=t+24|0;e=t+20|0;k[f>>2]=a;k[g>>2]=b;k[d>>2]=k[k[f>>2]>>2];do if((i[(k[d>>2]|0)+69>>0]|0)==0?(b=kv(k[f>>2]|0,0,(k[g>>2]|0)+8|0)|0,k[m>>2]=b,k[m>>2]|0):0){if(l[(k[m>>2]|0)+42>>0]&16|0){Cl(k[f>>2]|0,26581,c);break}a=k[f>>2]|0;if(k[(k[m>>2]|0)+12>>2]|0){Cl(a,26615,r);break}if(((0==(lv(a,k[k[m>>2]>>2]|0)|0)?(r=Ru(k[d>>2]|0,k[(k[m>>2]|0)+64>>2]|0)|0,k[o>>2]=r,r=im(k[d>>2]|0,72,0)|0,k[h>>2]=r,k[h>>2]|0):0)?(k[(k[f>>2]|0)+440>>2]=k[h>>2],j[(k[h>>2]|0)+36>>1]=1,j[(k[h>>2]|0)+34>>1]=j[(k[m>>2]|0)+34>>1]|0,k[q>>2]=((((j[(k[h>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,r=im(k[d>>2]|0,k[q>>2]<<4,0)|0,k[(k[h>>2]|0)+4>>2]=r,r=k[d>>2]|0,k[s>>2]=k[k[m>>2]>>2],s=ek(r,26645,s)|0,k[k[h>>2]>>2]=s,k[(k[h>>2]|0)+4>>2]|0):0)?k[k[h>>2]>>2]|0:0){r0(k[(k[h>>2]|0)+4>>2]|0,k[(k[m>>2]|0)+4>>2]|0,j[(k[h>>2]|0)+34>>1]<<4|0)|0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=(j[(k[h>>2]|0)+34>>1]|0))break;k[e>>2]=(k[(k[h>>2]|0)+4>>2]|0)+(k[p>>2]<<4);s=fp(k[d>>2]|0,k[k[e>>2]>>2]|0)|0;k[k[e>>2]>>2]=s;k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+4>>2]=0;k[p>>2]=(k[p>>2]|0)+1}k[(k[h>>2]|0)+64>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[o>>2]<<4)+12>>2];k[(k[h>>2]|0)+44>>2]=k[(k[m>>2]|0)+44>>2];j[(k[h>>2]|0)+36>>1]=1;mv(k[f>>2]|0,0,k[o>>2]|0);s=Vu(k[f>>2]|0)|0;k[n>>2]=s;if(k[n>>2]|0)Wu(k[f>>2]|0,k[o>>2]|0)}}while(0);$k(k[d>>2]|0,k[g>>2]|0);u=t;return}function Hu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+96|0;s=t+32|0;r=t+8|0;q=t;g=t+80|0;h=t+76|0;j=t+72|0;l=t+68|0;m=t+64|0;n=t+60|0;o=t+56|0;p=t+52|0;c=t+48|0;d=t+44|0;e=t+40|0;f=t+36|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=k[(k[g>>2]|0)+440>>2];k[l>>2]=k[k[g>>2]>>2];if(!(k[j>>2]|0)){u=t;return}Pu(k[g>>2]|0);k[(k[g>>2]|0)+452>>2]=0;if((k[(k[j>>2]|0)+48>>2]|0)<1){u=t;return}if(!(i[(k[l>>2]|0)+148+5>>0]|0)){if(k[h>>2]|0)k[(k[g>>2]|0)+384+4>>2]=(k[k[h>>2]>>2]|0)-(k[(k[g>>2]|0)+384>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0);b=k[l>>2]|0;k[q>>2]=(k[g>>2]|0)+384;q=ek(b,26409,q)|0;k[m>>2]=q;q=Ru(k[l>>2]|0,k[(k[j>>2]|0)+64>>2]|0)|0;k[o>>2]=q;q=k[g>>2]|0;b=(k[o>>2]|0)==1?26433:26452;d=k[k[j>>2]>>2]|0;e=k[k[j>>2]>>2]|0;f=k[m>>2]|0;h=k[(k[g>>2]|0)+100>>2]|0;k[r>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[o>>2]<<4)>>2];k[r+4>>2]=b;k[r+8>>2]=d;k[r+12>>2]=e;k[r+16>>2]=f;k[r+20>>2]=h;Uu(q,26466,r);fe(k[l>>2]|0,k[m>>2]|0);r=Vu(k[g>>2]|0)|0;k[c>>2]=r;Wu(k[g>>2]|0,k[o>>2]|0);Xu(k[c>>2]|0,150)|0;r=k[l>>2]|0;k[s>>2]=k[k[j>>2]>>2];r=ek(r,26554,s)|0;k[n>>2]=r;Yu(k[c>>2]|0,k[o>>2]|0,k[n>>2]|0);r=(k[g>>2]|0)+44|0;s=(k[r>>2]|0)+1|0;k[r>>2]=s;k[p>>2]=s;Zu(k[c>>2]|0,k[p>>2]|0,k[k[j>>2]>>2]|0)|0;_u(k[c>>2]|0,153,k[o>>2]|0,k[p>>2]|0)|0;u=t;return}k[e>>2]=k[(k[j>>2]|0)+64>>2];k[f>>2]=k[k[j>>2]>>2];s=Pk((k[e>>2]|0)+8|0,k[f>>2]|0,k[j>>2]|0)|0;k[d>>2]=s;if(k[d>>2]|0){Yd(k[l>>2]|0);u=t;return}else{k[(k[g>>2]|0)+440>>2]=0;u=t;return}}function Iu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;n=u;u=u+32|0;j=n+28|0;q=n+24|0;p=n+20|0;m=n+16|0;o=n+12|0;f=n+8|0;g=n+4|0;h=n;k[j>>2]=a;k[q>>2]=b;k[p>>2]=c;k[m>>2]=d;k[o>>2]=e;ut(k[j>>2]|0,k[q>>2]|0,k[p>>2]|0,0,0,1,k[o>>2]|0);k[g>>2]=k[(k[j>>2]|0)+440>>2];if(!(k[g>>2]|0)){u=n;return}k[h>>2]=k[k[j>>2]>>2];q=Ru(k[h>>2]|0,k[(k[g>>2]|0)+64>>2]|0)|0;k[f>>2]=q;q=(k[g>>2]|0)+42|0;i[q>>0]=l[q>>0]|0|16;k[(k[g>>2]|0)+48>>2]=0;q=k[h>>2]|0;p=k[g>>2]|0;Qu(q,p,Ou(k[h>>2]|0,k[m>>2]|0)|0);Qu(k[h>>2]|0,k[g>>2]|0,0);p=k[h>>2]|0;q=k[g>>2]|0;Qu(p,q,fp(k[h>>2]|0,k[k[g>>2]>>2]|0)|0);k[(k[j>>2]|0)+384+4>>2]=(k[k[m>>2]>>2]|0)+(k[(k[m>>2]|0)+4>>2]|0)-(k[(k[j>>2]|0)+384>>2]|0);if(!(k[(k[g>>2]|0)+52>>2]|0)){u=n;return}Su(k[j>>2]|0,29,k[k[g>>2]>>2]|0,k[k[(k[g>>2]|0)+52>>2]>>2]|0,k[(k[(k[k[j>>2]>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0;u=n;return}function Ju(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;Pu(k[c>>2]|0);k[(k[c>>2]|0)+452>>2]=0;k[(k[c>>2]|0)+452+4>>2]=0;u=b;return}function Ku(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=(k[f>>2]|0)+452;a=k[k[c>>2]>>2]|0;if(!(k[k[d>>2]>>2]|0)){k[k[d>>2]>>2]=a;c=k[(k[c>>2]|0)+4>>2]|0;f=k[d>>2]|0;f=f+4|0;k[f>>2]=c;u=e;return}else{c=a+(k[(k[c>>2]|0)+4>>2]|0)-(k[k[d>>2]>>2]|0)|0;f=k[d>>2]|0;f=f+4|0;k[f>>2]=c;u=e;return}}function Lu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+48|0;q=r;m=r+40|0;n=r+36|0;s=r+32|0;o=r+28|0;p=r+24|0;f=r+20|0;g=r+16|0;h=r+12|0;j=r+8|0;l=r+4|0;k[m>>2]=a;k[n>>2]=b;k[s>>2]=c;k[o>>2]=d;k[p>>2]=e;k[f>>2]=k[k[m>>2]>>2];e=Ou(k[k[m>>2]>>2]|0,k[s>>2]|0)|0;k[h>>2]=e;a:do if((k[h>>2]|0)!=0&(k[n>>2]|0)!=0){k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[k[n>>2]>>2]|0))break a;if(!(lh(k[h>>2]|0,k[(k[n>>2]|0)+8+(k[j>>2]<<4)>>2]|0)|0)){s=k[m>>2]|0;k[q>>2]=k[h>>2];Cl(s,26341,q)}k[j>>2]=(k[j>>2]|0)+1}}while(0);if(k[n>>2]|0){k[l>>2]=24+(k[k[n>>2]>>2]<<4);s=k[l>>2]|0;s=ne(k[f>>2]|0,k[n>>2]|0,s,((s|0)<0)<<31>>31)|0;k[g>>2]=s}else{s=im(k[f>>2]|0,24,0)|0;k[g>>2]=s}if(i[(k[f>>2]|0)+69>>0]|0){Uk(k[f>>2]|0,k[o>>2]|0);Tk(k[f>>2]|0,k[p>>2]|0);fe(k[f>>2]|0,k[h>>2]|0);k[g>>2]=k[n>>2];s=k[g>>2]|0;u=r;return s|0}else{k[(k[g>>2]|0)+8+(k[k[g>>2]>>2]<<4)+8>>2]=k[p>>2];k[(k[g>>2]|0)+8+(k[k[g>>2]>>2]<<4)+4>>2]=k[o>>2];k[(k[g>>2]|0)+8+(k[k[g>>2]>>2]<<4)>>2]=k[h>>2];k[(k[g>>2]|0)+8+(k[k[g>>2]>>2]<<4)+12>>2]=0;s=k[g>>2]|0;k[s>>2]=(k[s>>2]|0)+1;s=k[g>>2]|0;u=r;return s|0}return 0}function Mu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;f=d+4|0;e=d+8|0;c=d;k[f>>2]=a;i[e>>0]=b;k[c>>2]=j[11428+(k[f>>2]<<1)>>1];k[c>>2]=(k[c>>2]|0)+(l[e>>0]|0);u=d;return m[12078+(k[c>>2]<<1)>>1]|0}function Nu(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+4>>2];k[(k[c>>2]|0)+4>>2]=k[d>>2];u=b;return}function Ou(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){d=ck(k[c>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0,0)|0;k[e>>2]=d;dk(k[e>>2]|0);e=k[e>>2]|0;u=f;return e|0}else{k[e>>2]=0;e=k[e>>2]|0;u=f;return e|0}return 0}function Pu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;if(!(k[(k[b>>2]|0)+452>>2]|0)){u=f;return}if(!(k[(k[b>>2]|0)+440>>2]|0)){u=f;return}k[c>>2]=k[(k[b>>2]|0)+452>>2];k[d>>2]=k[(k[b>>2]|0)+452+4>>2];k[e>>2]=k[k[b>>2]>>2];a=k[e>>2]|0;b=k[(k[b>>2]|0)+440>>2]|0;d=k[d>>2]|0;Qu(a,b,ck(k[e>>2]|0,k[c>>2]|0,d,((d|0)<0)<<31>>31)|0);u=f;return}function Qu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=2+(k[(k[e>>2]|0)+48>>2]|0)<<2;c=k[j>>2]|0;c=ne(k[d>>2]|0,k[(k[e>>2]|0)+52>>2]|0,c,((c|0)<0)<<31>>31)|0;k[g>>2]=c;if(!(k[g>>2]|0)){fe(k[d>>2]|0,k[f>>2]|0);u=i;return}else{d=(k[e>>2]|0)+48|0;j=k[d>>2]|0;k[d>>2]=j+1;k[h>>2]=j;k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[f>>2];k[(k[g>>2]|0)+((k[h>>2]|0)+1<<2)>>2]=0;k[(k[e>>2]|0)+52>>2]=k[g>>2];u=i;return}}function Ru(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=-1e6;if(!(k[d>>2]|0)){e=k[e>>2]|0;u=f;return e|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){a=6;break}if((k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)==(k[d>>2]|0)){a=6;break}k[e>>2]=(k[e>>2]|0)+1}if((a|0)==6){e=k[e>>2]|0;u=f;return e|0}return 0}function Su(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;p=q;i=q+32|0;j=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;f=q+12|0;g=q+8|0;h=q+4|0;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[f>>2]=e;k[g>>2]=k[k[j>>2]>>2];if((l[(k[g>>2]|0)+148+5>>0]|0|0)==0?(l[(k[j>>2]|0)+410>>0]|0|0)==0:0){if(!(k[(k[g>>2]|0)+296>>2]|0)){k[i>>2]=0;p=k[i>>2]|0;u=q;return p|0}o=Qb[k[(k[g>>2]|0)+296>>2]&255](k[(k[g>>2]|0)+300>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[f>>2]|0,k[(k[j>>2]|0)+448>>2]|0)|0;k[h>>2]=o;if((k[h>>2]|0)!=1){if((k[h>>2]|0)!=0&(k[h>>2]|0)!=2){k[h>>2]=1;Tu(k[j>>2]|0)}}else{Cl(k[j>>2]|0,26371,p);k[(k[j>>2]|0)+12>>2]=23}k[i>>2]=k[h>>2];p=k[i>>2]|0;u=q;return p|0}k[i>>2]=0;p=k[i>>2]|0;u=q;return p|0}function Tu(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b+4|0;k[c>>2]=a;Cl(k[c>>2]|0,26386,b);k[(k[c>>2]|0)+12>>2]=1;u=b;return}function Uu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+128|0;f=m+36|0;d=m+32|0;e=m+16|0;g=m+8|0;h=m+4|0;j=m;l=m+40|0;k[f>>2]=a;k[d>>2]=b;k[h>>2]=0;k[j>>2]=k[k[f>>2]>>2];if(k[(k[f>>2]|0)+36>>2]|0){u=m;return}k[e>>2]=c;c=fk(k[j>>2]|0,k[d>>2]|0,e)|0;k[g>>2]=c;if(!(k[g>>2]|0)){u=m;return}a=(k[f>>2]|0)+18|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;a=l;b=(k[f>>2]|0)+400|0;d=a+80|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(d|0));a=(k[f>>2]|0)+400|0;d=a+80|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(d|0));Zs(k[f>>2]|0,k[g>>2]|0,h)|0;fe(k[j>>2]|0,k[h>>2]|0);fe(k[j>>2]|0,k[g>>2]|0);a=(k[f>>2]|0)+400|0;b=l;d=a+80|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(d|0));l=(k[f>>2]|0)+18|0;i[l>>0]=(i[l>>0]|0)+-1<<24>>24;u=m;return}function Vu(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(k[c>>2]|0){c=k[c>>2]|0;u=d;return c|0}else{c=iv(k[b>>2]|0)|0;u=d;return c|0}return 0}function Wu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=u;u=u+16|0;g=c+12|0;d=c+8|0;e=c+4|0;f=c;k[g>>2]=a;k[d>>2]=b;k[e>>2]=k[k[g>>2]>>2];k[f>>2]=k[(k[g>>2]|0)+8>>2];$u(k[f>>2]|0,102,k[d>>2]|0,1,(k[k[(k[(k[e>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]>>2]|0)+1|0)|0;u=c;return}function Xu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=$u(k[e>>2]|0,k[d>>2]|0,0,0,0)|0;u=c;return b|0}function Yu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=u;u=u+16|0;d=f+12|0;h=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;cv(k[d>>2]|0,136,k[h>>2]|0,0,0,k[g>>2]|0,-1)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[k[d>>2]>>2]|0)+20>>2]|0))break;gv(k[d>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+1}u=f;return}function Zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=cv(k[g>>2]|0,97,0,k[f>>2]|0,0,k[e>>2]|0,0)|0;u=d;return c|0}function _u(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=u;u=u+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=$u(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;u=e;return d|0}function $u(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;j=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[f>>2]=e;k[g>>2]=k[(k[l>>2]|0)+136>>2];a=k[l>>2]|0;if((k[(k[(k[l>>2]|0)+12>>2]|0)+48>>2]|0)<=(k[g>>2]|0)){o=av(a,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[f>>2]|0)|0;k[j>>2]=o;o=k[j>>2]|0;u=p;return o|0}else{e=a+136|0;k[e>>2]=(k[e>>2]|0)+1;k[h>>2]=(k[(k[l>>2]|0)+88>>2]|0)+((k[g>>2]|0)*20|0);i[k[h>>2]>>0]=k[m>>2];i[(k[h>>2]|0)+3>>0]=0;k[(k[h>>2]|0)+4>>2]=k[n>>2];k[(k[h>>2]|0)+8>>2]=k[o>>2];k[(k[h>>2]|0)+12>>2]=k[f>>2];k[(k[h>>2]|0)+16>>2]=0;i[(k[h>>2]|0)+1>>0]=0;k[j>>2]=k[g>>2];o=k[j>>2]|0;u=p;return o|0}return 0}function av(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;l=m+4|0;f=m;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[f>>2]=e;if(bv(k[h>>2]|0,1)|0){k[g>>2]=1;l=k[g>>2]|0;u=m;return l|0}else{l=$u(k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[f>>2]|0)|0;k[g>>2]=l;l=k[g>>2]|0;u=m;return l|0}return 0}function bv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;c=g+16|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[g+12>>2]=b;k[e>>2]=k[(k[c>>2]|0)+12>>2];if(k[(k[e>>2]|0)+48>>2]|0)a=k[(k[e>>2]|0)+48>>2]<<1;else a=51;k[f>>2]=a;f=ne(k[k[e>>2]>>2]|0,k[(k[c>>2]|0)+88>>2]|0,(k[f>>2]|0)*20|0,0)|0;k[d>>2]=f;if(!(k[d>>2]|0)){f=k[d>>2]|0;f=(f|0)!=0;f=f?0:7;u=g;return f|0}f=ke(k[k[e>>2]>>2]|0,k[d>>2]|0)|0;k[(k[e>>2]|0)+52>>2]=f;k[(k[e>>2]|0)+48>>2]=((k[(k[e>>2]|0)+52>>2]|0)>>>0)/20|0;k[(k[c>>2]|0)+88>>2]=k[d>>2];f=k[d>>2]|0;f=(f|0)!=0;f=f?0:7;u=g;return f|0}function cv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;i=u;u=u+32|0;m=i+28|0;q=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;l=i+8|0;j=i+4|0;h=i;k[m>>2]=a;k[q>>2]=b;k[p>>2]=c;k[o>>2]=d;k[n>>2]=e;k[l>>2]=f;k[j>>2]=g;g=$u(k[m>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0)|0;k[h>>2]=g;dv(k[m>>2]|0,k[h>>2]|0,k[l>>2]|0,k[j>>2]|0);u=i;return k[h>>2]|0}function dv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+32|0;e=m+20|0;f=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;g=m;k[e>>2]=a;k[f>>2]=b;k[h>>2]=c;k[j>>2]=d;k[g>>2]=k[k[e>>2]>>2];if(i[(k[g>>2]|0)+69>>0]|0){if((k[j>>2]|0)==-10){u=m;return}Hk(k[g>>2]|0,k[j>>2]|0,k[h>>2]|0);u=m;return}if((k[f>>2]|0)<0)k[f>>2]=(k[(k[e>>2]|0)+136>>2]|0)-1;k[l>>2]=(k[(k[e>>2]|0)+88>>2]|0)+((k[f>>2]|0)*20|0);if((k[j>>2]|0)<0?(i[(k[l>>2]|0)+1>>0]|0)==0:0){a=k[h>>2]|0;if((k[j>>2]|0)==-14){k[(k[l>>2]|0)+16>>2]=a;i[(k[l>>2]|0)+1>>0]=-14;u=m;return}if(!a){u=m;return}k[(k[l>>2]|0)+16>>2]=k[h>>2];i[(k[l>>2]|0)+1>>0]=k[j>>2];if((k[j>>2]|0)!=-10){u=m;return}fv(k[h>>2]|0);u=m;return}ev(k[e>>2]|0,k[l>>2]|0,k[h>>2]|0,k[j>>2]|0);u=m;return}function ev(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=u;u=u+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(i[(k[f>>2]|0)+1>>0]|0){Hk(k[k[e>>2]>>2]|0,i[(k[f>>2]|0)+1>>0]|0,k[(k[f>>2]|0)+16>>2]|0);i[(k[f>>2]|0)+1>>0]=0;k[(k[f>>2]|0)+16>>2]=0}if((k[h>>2]|0)<0){dv(k[e>>2]|0,((k[f>>2]|0)-(k[(k[e>>2]|0)+88>>2]|0)|0)/20|0,k[g>>2]|0,k[h>>2]|0);u=j;return}if(!(k[h>>2]|0)){d=wd(k[g>>2]|0)|0;k[h>>2]=d}h=k[h>>2]|0;h=ck(k[k[e>>2]>>2]|0,k[g>>2]|0,h,((h|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+16>>2]=h;i[(k[f>>2]|0)+1>>0]=-1;u=j;return}function fv(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;u=b;return}function gv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;b=(k[c>>2]|0)+148|0;k[b>>2]=k[b>>2]|1<>2];if((k[d>>2]|0)==1){u=e;return}if(!(hv(k[(k[(k[k[c>>2]>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+4>>2]|0)|0)){u=e;return}c=(k[c>>2]|0)+152|0;k[c>>2]=k[c>>2]|1<>2];u=e;return}function hv(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return l[(k[b>>2]|0)+9>>0]|0|0}function iv(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;a=jv(k[b>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=a;k[c>>2]=a;if(k[c>>2]|0)_u(k[c>>2]|0,71,0,1)|0;if(k[(k[b>>2]|0)+124>>2]|0){c=k[c>>2]|0;u=d;return c|0}if((m[(k[k[b>>2]>>2]|0)+64>>1]|0)&8|0){c=k[c>>2]|0;u=d;return c|0}i[(k[b>>2]|0)+23>>0]=1;c=k[c>>2]|0;u=d;return c|0}function jv(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=k[k[d>>2]>>2];b=Od(k[e>>2]|0,208,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}a=(k[f>>2]|0)+88|0;b=a+120|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[f>>2]>>2]=k[e>>2];if(k[(k[e>>2]|0)+4>>2]|0)k[(k[(k[e>>2]|0)+4>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+8>>2]=k[(k[e>>2]|0)+4>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+20>>2]=381479589;k[(k[f>>2]|0)+12>>2]=k[d>>2];k[c>>2]=k[f>>2];f=k[c>>2]|0;u=g;return f|0}function kv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){c=Ru(k[k[d>>2]>>2]|0,k[k[f>>2]>>2]|0)|0;k[h>>2]=c;k[g>>2]=k[(k[(k[k[d>>2]>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]}else k[g>>2]=k[(k[f>>2]|0)+4>>2];h=ov(k[d>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+8>>2]|0,k[g>>2]|0)|0;u=i;return h|0}function lv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((wd(k[e>>2]|0)|0)>6?0==(vd(k[e>>2]|0,26664,7)|0):0){d=k[d>>2]|0;k[f>>2]=k[e>>2];Cl(d,26672,f);k[c>>2]=1;f=k[c>>2]|0;u=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;u=g;return f|0}function mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[d>>2]|0;if(k[(k[d>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[g>>2]=a;nv(k[d>>2]|0,k[f>>2]|0);d=(k[g>>2]|0)+92|0;k[d>>2]=k[d>>2]|1<>2];g=(k[g>>2]|0)+20|0;i[g>>0]=l[g>>0]|0|k[e>>2];u=h;return}function nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;a=k[f>>2]|0;if(k[(k[f>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[d>>2]=a;if((k[(k[d>>2]|0)+96>>2]&1<>2]|0)!=0|0){u=e;return}f=(k[d>>2]|0)+96|0;k[f>>2]=k[f>>2]|1<>2];if((k[c>>2]|0)!=1){u=e;return}zl(k[d>>2]|0)|0;u=e;return}function ov(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+64|0;p=q+16|0;o=q;h=q+52|0;j=q+48|0;f=q+44|0;l=q+40|0;m=q+36|0;n=q+32|0;g=q+28|0;e=q+24|0;k[j>>2]=a;k[f>>2]=b;k[l>>2]=c;k[m>>2]=d;if(pv(k[j>>2]|0)|0){k[h>>2]=0;p=k[h>>2]|0;u=q;return p|0}d=qv(k[k[j>>2]>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=d;if(!(k[n>>2]|0)){k[g>>2]=k[f>>2]&1|0?26700:26713;if(((yl(k[k[j>>2]>>2]|0,k[m>>2]|0)|0)<1?(d=rv((k[k[j>>2]>>2]|0)+320|0,k[l>>2]|0)|0,k[e>>2]=d,k[e>>2]|0):0)?sv(k[j>>2]|0,k[e>>2]|0)|0:0){k[h>>2]=k[(k[e>>2]|0)+16>>2];p=k[h>>2]|0;u=q;return p|0}if(!(k[f>>2]&2)){b=k[j>>2]|0;a=k[g>>2]|0;if(k[m>>2]|0){m=k[m>>2]|0;p=k[l>>2]|0;k[o>>2]=a;k[o+4>>2]=m;k[o+8>>2]=p;Cl(b,26727,o)}else{o=k[l>>2]|0;k[p>>2]=a;k[p+4>>2]=o;Cl(b,26737,p)}i[(k[j>>2]|0)+17>>0]=1}}k[h>>2]=k[n>>2];p=k[h>>2]|0;u=q;return p|0}function pv(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;k[d>>2]=k[k[b>>2]>>2];if(!(i[(k[d>>2]|0)+148+5>>0]|0)){d=vv(k[d>>2]|0,(k[b>>2]|0)+4|0)|0;k[c>>2]=d}if(!(k[c>>2]|0)){d=k[c>>2]|0;u=e;return d|0}k[(k[b>>2]|0)+12>>2]=k[c>>2];d=(k[b>>2]|0)+36|0;k[d>>2]=(k[d>>2]|0)+1;d=k[c>>2]|0;u=e;return d|0}function qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;i=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){j=7;break}c=k[h>>2]|0;k[i>>2]=(k[h>>2]|0)<2?c^1:c;if(!((k[f>>2]|0)!=0?(lh(k[f>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[i>>2]<<4)>>2]|0)|0)!=0:0))j=5;if((j|0)==5?(j=0,c=rv((k[(k[(k[d>>2]|0)+16>>2]|0)+(k[i>>2]<<4)+12>>2]|0)+8|0,k[e>>2]|0)|0,k[g>>2]=c,k[g>>2]|0):0){j=7;break}k[h>>2]=(k[h>>2]|0)+1}if((j|0)==7){u=l;return k[g>>2]|0}return 0}function rv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;f=d+12|0;e=d+8|0;c=d+4|0;k[f>>2]=a;k[e>>2]=b;b=el(k[f>>2]|0,k[e>>2]|0,d)|0;k[c>>2]=b;if(!(k[c>>2]|0)){f=0;u=d;return f|0}f=k[(k[c>>2]|0)+8>>2]|0;u=d;return f|0}function sv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;o=p;c=p+32|0;d=p+28|0;e=p+24|0;f=p+20|0;g=p+16|0;h=p+12|0;m=p+8|0;n=p+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[e>>2]>>2];k[h>>2]=0;k[n>>2]=k[k[d>>2]>>2];if(k[(k[e>>2]|0)+16>>2]|0){k[c>>2]=1;o=k[c>>2]|0;u=p;return o|0}if(k[(k[f>>2]|0)+4>>2]|0?(k[(k[f>>2]|0)+4>>2]|0)!=(k[(k[f>>2]|0)+8>>2]|0):0){k[c>>2]=0;o=k[c>>2]|0;u=p;return o|0}b=im(k[n>>2]|0,72,0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){k[c>>2]=0;o=k[c>>2]|0;u=p;return o|0}b=fp(k[n>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;k[k[g>>2]>>2]=b;if(!(k[k[g>>2]>>2]|0)){fe(k[n>>2]|0,k[g>>2]|0);k[c>>2]=0;o=k[c>>2]|0;u=p;return o|0}k[(k[e>>2]|0)+16>>2]=k[g>>2];j[(k[g>>2]|0)+36>>1]=1;k[(k[g>>2]|0)+64>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+12>>2];b=(k[g>>2]|0)+42|0;i[b>>0]=l[b>>0]|0|16;k[(k[g>>2]|0)+48>>2]=0;j[(k[g>>2]|0)+32>>1]=-1;b=k[n>>2]|0;a=k[g>>2]|0;Qu(b,a,fp(k[n>>2]|0,k[k[g>>2]>>2]|0)|0);Qu(k[n>>2]|0,k[g>>2]|0,0);a=k[n>>2]|0;b=k[g>>2]|0;Qu(a,b,fp(k[n>>2]|0,k[k[g>>2]>>2]|0)|0);g=tv(k[n>>2]|0,k[g>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+8>>2]|0,h)|0;k[m>>2]=g;if(k[m>>2]|0){m=k[d>>2]|0;k[o>>2]=k[h>>2];Cl(m,21240,o);fe(k[n>>2]|0,k[h>>2]|0);Gr(k[n>>2]|0,k[e>>2]|0);k[c>>2]=0;o=k[c>>2]|0;u=p;return o|0}else{k[c>>2]=1;o=k[c>>2]|0;u=p;return o|0}return 0}function tv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=u;u=u+144|0;v=N+32|0;I=N+24|0;H=N+16|0;h=N+8|0;g=N;L=N+132|0;M=N+128|0;G=N+124|0;s=N+120|0;t=N+116|0;w=N+112|0;n=N+96|0;x=N+92|0;J=N+88|0;o=N+84|0;p=N+80|0;y=N+76|0;K=N+72|0;q=N+68|0;f=N+64|0;r=N+60|0;z=N+56|0;A=N+136|0;B=N+52|0;C=N+48|0;D=N+44|0;E=N+40|0;F=N+36|0;k[M>>2]=a;k[G>>2]=b;k[s>>2]=c;k[t>>2]=d;k[w>>2]=e;k[o>>2]=k[(k[G>>2]|0)+52>>2];k[p>>2]=k[(k[G>>2]|0)+48>>2];k[y>>2]=0;k[f>>2]=k[(k[M>>2]|0)+336>>2];while(1){if(!(k[f>>2]|0))break;if((k[(k[f>>2]|0)+4>>2]|0)==(k[G>>2]|0)){m=4;break}k[f>>2]=k[(k[f>>2]|0)+8>>2]}if((m|0)==4){M=k[M>>2]|0;k[g>>2]=k[k[G>>2]>>2];M=ek(M,26744,g)|0;k[k[w>>2]>>2]=M;k[L>>2]=6;M=k[L>>2]|0;u=N;return M|0}m=k[M>>2]|0;k[h>>2]=k[k[G>>2]>>2];m=ek(m,21240,h)|0;k[K>>2]=m;if(!(k[K>>2]|0)){k[L>>2]=7;M=k[L>>2]|0;u=N;return M|0}a=im(k[M>>2]|0,28,0)|0;k[x>>2]=a;a=k[M>>2]|0;if(!(k[x>>2]|0)){fe(a,k[K>>2]|0);k[L>>2]=7;M=k[L>>2]|0;u=N;return M|0}k[k[x>>2]>>2]=a;k[(k[x>>2]|0)+4>>2]=k[s>>2];m=Ru(k[M>>2]|0,k[(k[G>>2]|0)+64>>2]|0)|0;k[q>>2]=m;k[(k[(k[G>>2]|0)+52>>2]|0)+4>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[q>>2]<<4)>>2];k[n+4>>2]=k[G>>2];k[n>>2]=k[x>>2];k[n+8>>2]=k[(k[M>>2]|0)+336>>2];k[n+12>>2]=0;k[(k[M>>2]|0)+336>>2]=n;t=Qb[k[t>>2]&255](k[M>>2]|0,k[(k[s>>2]|0)+8>>2]|0,k[p>>2]|0,k[o>>2]|0,(k[x>>2]|0)+8|0,y)|0;k[J>>2]=t;k[(k[M>>2]|0)+336>>2]=k[n+8>>2];if((k[J>>2]|0)==7)Yd(k[M>>2]|0);a:do if(!(k[J>>2]|0)){if(k[(k[x>>2]|0)+8>>2]|0){I=k[(k[x>>2]|0)+8>>2]|0;k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;k[k[(k[x>>2]|0)+8>>2]>>2]=k[k[s>>2]>>2];k[(k[x>>2]|0)+12>>2]=1;if(!(k[n+12>>2]|0)){k[r>>2]=26816;H=k[M>>2]|0;I=k[r>>2]|0;k[v>>2]=k[k[G>>2]>>2];I=ek(H,I,v)|0;k[k[w>>2]>>2]=I;Nk(k[x>>2]|0);k[J>>2]=1;break}i[A>>0]=0;k[(k[x>>2]|0)+24>>2]=k[(k[G>>2]|0)+56>>2];k[(k[G>>2]|0)+56>>2]=k[x>>2];k[z>>2]=0;while(1){if((k[z>>2]|0)>=(j[(k[G>>2]|0)+34>>1]|0))break a;I=uv((k[(k[G>>2]|0)+4>>2]|0)+(k[z>>2]<<4)|0,55752)|0;k[B>>2]=I;k[D>>2]=0;I=wd(k[B>>2]|0)|0;k[C>>2]=I;k[D>>2]=0;b:while(1){if((k[D>>2]|0)>=(k[C>>2]|0))break;do if(!(vd(26862,(k[B>>2]|0)+(k[D>>2]|0)|0,6)|0)){if(k[D>>2]|0?(i[(k[B>>2]|0)+((k[D>>2]|0)-1)>>0]|0)!=32:0)break;if(!(i[(k[B>>2]|0)+((k[D>>2]|0)+6)>>0]|0))break b;if((i[(k[B>>2]|0)+((k[D>>2]|0)+6)>>0]|0)==32)break b}while(0);k[D>>2]=(k[D>>2]|0)+1}if((k[D>>2]|0)<(k[C>>2]|0)){k[F>>2]=6+(i[(k[B>>2]|0)+((k[D>>2]|0)+6)>>0]|0?1:0);k[E>>2]=k[D>>2];while(1){a=k[B>>2]|0;if(((k[E>>2]|0)+(k[F>>2]|0)|0)>(k[C>>2]|0))break;i[(k[B>>2]|0)+(k[E>>2]|0)>>0]=i[a+((k[E>>2]|0)+(k[F>>2]|0))>>0]|0;k[E>>2]=(k[E>>2]|0)+1}if((k[D>>2]|0)>0?(i[a+(k[D>>2]|0)>>0]|0)==0:0)i[(k[B>>2]|0)+((k[D>>2]|0)-1)>>0]=0;I=(k[(k[G>>2]|0)+4>>2]|0)+(k[z>>2]<<4)+15|0;i[I>>0]=l[I>>0]|2;i[A>>0]=-128}else{I=(k[G>>2]|0)+42|0;i[I>>0]=l[I>>0]|l[A>>0]}k[z>>2]=(k[z>>2]|0)+1}}}else{a=k[M>>2]|0;if(!(k[y>>2]|0)){k[H>>2]=k[K>>2];I=ek(a,26786,H)|0;k[k[w>>2]>>2]=I}else{k[I>>2]=k[y>>2];I=ek(a,21240,I)|0;k[k[w>>2]>>2]=I;ie(k[y>>2]|0)}fe(k[M>>2]|0,k[x>>2]|0)}while(0);fe(k[M>>2]|0,k[K>>2]|0);k[L>>2]=k[J>>2];M=k[L>>2]|0;u=N;return M|0}function uv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(!((l[(k[d>>2]|0)+15>>0]|0)&4)){k[c>>2]=k[e>>2];e=k[c>>2]|0;u=f;return e|0}else{e=k[k[d>>2]>>2]|0;e=e+(q$(k[k[d>>2]>>2]|0)|0)+1|0;k[c>>2]=e;e=k[c>>2]|0;u=f;return e|0}return 0}function vv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[g>>2]=((k[(k[c>>2]|0)+24>>2]&2|0)!=0^1)&1;k[f>>2]=0;i[(k[c>>2]|0)+148+5>>0]=1;i[(k[c>>2]|0)+66>>0]=i[(k[(k[(k[c>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;k[e>>2]=0;while(1){if(k[f>>2]|0)break;if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;if(!((k[e>>2]|0)==1?1:((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(b=wv(k[c>>2]|0,k[e>>2]|0,k[d>>2]|0)|0,k[f>>2]=b,k[f>>2]|0):0)dt(k[c>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+1}if(((k[f>>2]|0)==0?((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(e=wv(k[c>>2]|0,1,k[d>>2]|0)|0,k[f>>2]=e,k[f>>2]|0):0)dt(k[c>>2]|0,1);i[(k[c>>2]|0)+148+5>>0]=0;if(!((k[f>>2]|0)==0&(k[g>>2]|0)!=0)){g=k[f>>2]|0;u=h;return g|0}es(k[c>>2]|0);g=k[f>>2]|0;u=h;return g|0}function wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+128|0;z=A;s=A+108|0;t=A+104|0;v=A+100|0;w=A+96|0;x=A+92|0;d=A+88|0;y=A+84|0;f=A+80|0;B=A+64|0;g=A+40|0;h=A+24|0;n=A+20|0;o=A+16|0;p=A+112|0;q=A+12|0;r=A+8|0;k[t>>2]=a;k[v>>2]=b;k[w>>2]=c;k[o>>2]=0;c=(k[v>>2]|0)==1?26433:26452;k[n>>2]=c;k[B>>2]=c;k[B+4>>2]=26869;k[B+8>>2]=26871;k[B+12>>2]=0;k[h>>2]=k[t>>2];k[h+8>>2]=k[v>>2];k[h+12>>2]=0;k[h+4>>2]=k[w>>2];xv(h,3,B,0)|0;if(k[h+12>>2]|0)k[x>>2]=k[h+12>>2];else{k[f>>2]=(k[(k[t>>2]|0)+16>>2]|0)+(k[v>>2]<<4);if(!(k[(k[f>>2]|0)+4>>2]|0)){if((k[v>>2]|0)==1){B=(k[(k[(k[t>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|1}k[s>>2]=0;B=k[s>>2]|0;u=A;return B|0}ol(k[(k[f>>2]|0)+4>>2]|0);do if(!(xl(k[(k[f>>2]|0)+4>>2]|0)|0)){B=Qp(k[(k[f>>2]|0)+4>>2]|0,0)|0;k[x>>2]=B;if(k[x>>2]|0){z=k[w>>2]|0;B=k[t>>2]|0;yv(z,B,fj(k[x>>2]|0)|0);break}else{k[o>>2]=1;e=11;break}}else e=11;while(0);a:do if((e|0)==11){k[d>>2]=0;while(1){if((k[d>>2]|0)>=5)break;Sp(k[(k[f>>2]|0)+4>>2]|0,(k[d>>2]|0)+1|0,g+(k[d>>2]<<2)|0);k[d>>2]=(k[d>>2]|0)+1}k[k[(k[f>>2]|0)+12>>2]>>2]=k[g>>2];do if(k[g+16>>2]|0){a=k[g+16>>2]|0;if(!(k[v>>2]|0)){B=a&3;i[p>>0]=B;i[p>>0]=(l[p>>0]|0)==0?1:B;i[(k[t>>2]|0)+66>>0]=i[p>>0]|0;break}if((a|0)!=(l[(k[t>>2]|0)+66>>0]|0)){yv(k[w>>2]|0,k[t>>2]|0,26947);k[x>>2]=1;break a}}else{B=(k[(k[(k[t>>2]|0)+16>>2]|0)+(k[v>>2]<<4)+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|4}while(0);i[(k[(k[f>>2]|0)+12>>2]|0)+77>>0]=i[(k[t>>2]|0)+66>>0]|0;if(!(k[(k[(k[f>>2]|0)+12>>2]|0)+80>>2]|0)){B=zq(k[g+8>>2]|0)|0;k[y>>2]=B;k[y>>2]=(k[y>>2]|0)==0?-2e3:B;k[(k[(k[f>>2]|0)+12>>2]|0)+80>>2]=k[y>>2];zv(k[(k[f>>2]|0)+4>>2]|0,k[(k[(k[f>>2]|0)+12>>2]|0)+80>>2]|0)|0}i[(k[(k[f>>2]|0)+12>>2]|0)+76>>0]=k[g+4>>2];if(!(l[(k[(k[f>>2]|0)+12>>2]|0)+76>>0]|0))i[(k[(k[f>>2]|0)+12>>2]|0)+76>>0]=1;if((l[(k[(k[f>>2]|0)+12>>2]|0)+76>>0]|0)>4){yv(k[w>>2]|0,k[t>>2]|0,27015);k[x>>2]=1;break}if((k[v>>2]|0)==0?(k[g+4>>2]|0)>=4:0){B=(k[t>>2]|0)+24|0;k[B>>2]=k[B>>2]&-32769}B=k[t>>2]|0;y=k[n>>2]|0;k[z>>2]=k[(k[(k[t>>2]|0)+16>>2]|0)+(k[v>>2]<<4)>>2];k[z+4>>2]=y;B=ek(B,27039,z)|0;k[q>>2]=B;k[r>>2]=k[(k[t>>2]|0)+296>>2];k[(k[t>>2]|0)+296>>2]=0;B=Av(k[t>>2]|0,k[q>>2]|0,146,h,0)|0;k[x>>2]=B;k[(k[t>>2]|0)+296>>2]=k[r>>2];if(!(k[x>>2]|0))k[x>>2]=k[h+12>>2];fe(k[t>>2]|0,k[q>>2]|0);if(!(k[x>>2]|0))Bv(k[t>>2]|0,k[v>>2]|0)|0;if(i[(k[t>>2]|0)+69>>0]|0){k[x>>2]=7;Xp(k[t>>2]|0)}if(k[x>>2]|0?(k[(k[t>>2]|0)+24>>2]&65536|0)==0:0)break;B=(k[(k[(k[t>>2]|0)+16>>2]|0)+(k[v>>2]<<4)+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|1;k[x>>2]=0}while(0);if(k[o>>2]|0)et(k[(k[f>>2]|0)+4>>2]|0)|0;ll(k[(k[f>>2]|0)+4>>2]|0)}if((k[x>>2]|0)==7|(k[x>>2]|0)==3082)Yd(k[t>>2]|0);k[s>>2]=k[x>>2];B=k[s>>2]|0;u=A;return B|0}function xv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+48|0;o=r+40|0;s=r+36|0;p=r+28|0;q=r+20|0;e=r+16|0;f=r+12|0;g=r+8|0;h=r+44|0;l=r+4|0;n=r;k[s>>2]=a;k[r+32>>2]=b;k[p>>2]=c;k[r+24>>2]=d;k[q>>2]=k[s>>2];k[e>>2]=k[k[q>>2]>>2];k[f>>2]=k[(k[q>>2]|0)+8>>2];d=(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+12>>2]|0)+78|0;j[d>>1]=m[d>>1]&-5;if(i[(k[e>>2]|0)+69>>0]|0){Vv(k[q>>2]|0,k[k[p>>2]>>2]|0,0);k[o>>2]=1;s=k[o>>2]|0;u=r;return s|0}if(!(k[p>>2]|0)){k[o>>2]=0;s=k[o>>2]|0;u=r;return s|0}a:do if(!(k[(k[p>>2]|0)+4>>2]|0))Vv(k[q>>2]|0,k[k[p>>2]>>2]|0,0);else{if(vd(k[(k[p>>2]|0)+8>>2]|0,27234,7)|0){do if(k[k[p>>2]>>2]|0){if(k[(k[p>>2]|0)+8>>2]|0?i[k[(k[p>>2]|0)+8>>2]>>0]|0:0)break;s=Fv(k[e>>2]|0,k[k[p>>2]>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0;k[n>>2]=s;if(!(k[n>>2]|0))break a;if(qg(k[(k[p>>2]|0)+4>>2]|0,(k[n>>2]|0)+44|0)|0)break a;Vv(k[q>>2]|0,k[k[p>>2]>>2]|0,27242);break a}while(0);Vv(k[q>>2]|0,k[k[p>>2]>>2]|0,0);break}i[h>>0]=i[(k[e>>2]|0)+148+4>>0]|0;i[(k[e>>2]|0)+148+4>>0]=k[f>>2];s=pg(k[(k[p>>2]|0)+4>>2]|0)|0;k[(k[e>>2]|0)+148>>2]=s;i[(k[e>>2]|0)+148+6>>0]=0;Wv(k[e>>2]|0,k[(k[p>>2]|0)+8>>2]|0,-1,l,0)|0;k[g>>2]=k[(k[e>>2]|0)+52>>2];i[(k[e>>2]|0)+148+4>>0]=i[h>>0]|0;do if(0!=(k[g>>2]|0)?(i[(k[e>>2]|0)+148+6>>0]|0)==0:0){k[(k[q>>2]|0)+12>>2]=k[g>>2];if((k[g>>2]|0)==7){Yd(k[e>>2]|0);break}if((k[g>>2]|0)!=9?(k[g>>2]&255|0)!=6:0){q=k[q>>2]|0;s=k[k[p>>2]>>2]|0;Vv(q,s,Ov(k[e>>2]|0)|0)}}while(0);Pr(k[l>>2]|0)|0}while(0);k[o>>2]=0;s=k[o>>2]|0;u=r;return s|0}function yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;fe(k[g>>2]|0,k[k[e>>2]>>2]|0);c=fp(k[g>>2]|0,k[f>>2]|0)|0;k[k[e>>2]>>2]=c;u=d;return}function zv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;f=c;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[d>>2]|0)+4>>2];ol(k[d>>2]|0);gm(k[k[f>>2]>>2]|0,k[e>>2]|0);ll(k[d>>2]|0);u=c;return 0}function Av(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+64|0;s=z+56|0;t=z+52|0;v=z+48|0;w=z+44|0;x=z+40|0;f=z+36|0;g=z+32|0;h=z+28|0;j=z+24|0;m=z+20|0;n=z+16|0;o=z+12|0;p=z+8|0;q=z+4|0;r=z;k[t>>2]=a;k[v>>2]=b;k[w>>2]=c;k[x>>2]=d;k[f>>2]=e;k[g>>2]=0;k[j>>2]=0;k[m>>2]=0;if(!(Ws(k[t>>2]|0)|0)){y=Ad(109597)|0;k[s>>2]=y;y=k[s>>2]|0;u=z;return y|0}if(!(k[v>>2]|0))k[v>>2]=55752;Dd(k[(k[t>>2]|0)+12>>2]|0);wl(k[t>>2]|0,0);a:while(1){if(k[g>>2]|0)break;if(!(i[k[v>>2]>>0]|0))break;k[p>>2]=0;k[j>>2]=0;e=Jv(k[t>>2]|0,k[v>>2]|0,-1,j,h)|0;k[g>>2]=e;if(k[g>>2]|0)continue;if(!(k[j>>2]|0)){k[v>>2]=k[h>>2];continue}k[n>>2]=0;e=Kv(k[j>>2]|0)|0;k[o>>2]=e;do{e=Ls(k[j>>2]|0)|0;k[g>>2]=e;do if(k[w>>2]|0){if(100!=(k[g>>2]|0)){if(101!=(k[g>>2]|0)|(k[n>>2]|0)!=0)break;if(!(k[(k[t>>2]|0)+24>>2]&256))break}if(!(k[n>>2]|0)){e=im(k[t>>2]|0,(k[o>>2]<<1<<2)+1|0,0)|0;k[m>>2]=e;if(!(k[m>>2]|0))break a;k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[o>>2]|0))break;e=Lv(k[j>>2]|0,k[q>>2]|0)|0;k[(k[m>>2]|0)+(k[q>>2]<<2)>>2]=e;k[q>>2]=(k[q>>2]|0)+1}k[n>>2]=1}b:do if((k[g>>2]|0)==100){k[p>>2]=(k[m>>2]|0)+(k[o>>2]<<2);k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[o>>2]|0))break b;e=Mv(k[j>>2]|0,k[q>>2]|0)|0;k[(k[p>>2]|0)+(k[q>>2]<<2)>>2]=e;if((k[(k[p>>2]|0)+(k[q>>2]<<2)>>2]|0)==0?(Nv(k[j>>2]|0,k[q>>2]|0)|0)!=5:0){y=27;break a}k[q>>2]=(k[q>>2]|0)+1}}while(0);if(Ub[k[w>>2]&255](k[x>>2]|0,k[o>>2]|0,k[p>>2]|0,k[m>>2]|0)|0){y=30;break a}}while(0)}while((k[g>>2]|0)==100);e=Sr(k[j>>2]|0)|0;k[g>>2]=e;k[j>>2]=0;k[v>>2]=k[h>>2];while(1){if(!(l[20063+(l[k[v>>2]>>0]|0)>>0]&1))break;k[v>>2]=(k[v>>2]|0)+1}fe(k[t>>2]|0,k[m>>2]|0);k[m>>2]=0}if((y|0)==27)Yd(k[t>>2]|0);else if((y|0)==30){k[g>>2]=4;Sr(k[j>>2]|0)|0;k[j>>2]=0;wl(k[t>>2]|0,4)}if(k[j>>2]|0)Sr(k[j>>2]|0)|0;fe(k[t>>2]|0,k[m>>2]|0);y=Tr(k[t>>2]|0,k[g>>2]|0)|0;k[g>>2]=y;do if((k[g>>2]|0)!=0&(k[f>>2]|0)!=0){y=1+(wd(Ov(k[t>>2]|0)|0)|0)|0;k[r>>2]=y;y=k[r>>2]|0;y=Pd(y,((y|0)<0)<<31>>31)|0;k[k[f>>2]>>2]=y;if(k[k[f>>2]>>2]|0){x=k[k[f>>2]>>2]|0;y=Ov(k[t>>2]|0)|0;r0(x|0,y|0,k[r>>2]|0)|0;break}else{k[g>>2]=7;wl(k[t>>2]|0,7);break}}else if(k[f>>2]|0)k[k[f>>2]>>2]=0;while(0);Ed(k[(k[t>>2]|0)+12>>2]|0);k[s>>2]=k[g>>2];y=k[s>>2]|0;u=z;return y|0}function Bv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=u;u=u+48|0;m=n;c=n+36|0;d=n+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;l=n+4|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=0;k[f>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(k[f>>2]|0))break;k[i>>2]=k[(k[f>>2]|0)+8>>2];j[k[(k[i>>2]|0)+8>>2]>>1]=0;k[f>>2]=k[k[f>>2]>>2]}k[e>>2]=k[c>>2];k[e+4>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2];do if(qv(k[c>>2]|0,27094,k[e+4>>2]|0)|0){i=k[c>>2]|0;k[m>>2]=k[e+4>>2];m=ek(i,27107,m)|0;k[g>>2]=m;if(!(k[g>>2]|0)){k[h>>2]=7;break}else{m=Av(k[c>>2]|0,k[g>>2]|0,147,e,0)|0;k[h>>2]=m;fe(k[c>>2]|0,k[g>>2]|0);break}}while(0);k[f>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(k[f>>2]|0))break;k[l>>2]=k[(k[f>>2]|0)+8>>2];if(!(j[k[(k[l>>2]|0)+8>>2]>>1]|0))Dv(k[l>>2]|0);k[f>>2]=k[k[f>>2]>>2]}if((k[h>>2]|0)!=7){m=k[h>>2]|0;u=n;return m|0}Yd(k[c>>2]|0);m=k[h>>2]|0;u=n;return m|0}function Cv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+112|0;o=r+96|0;s=r+92|0;p=r+84|0;q=r+76|0;e=r+72|0;f=r+68|0;g=r+64|0;h=r+60|0;l=r+56|0;n=r;k[s>>2]=a;k[r+88>>2]=b;k[p>>2]=c;k[r+80>>2]=d;k[q>>2]=k[s>>2];if((k[p>>2]|0?k[k[p>>2]>>2]|0:0)?k[(k[p>>2]|0)+8>>2]|0:0){s=qv(k[k[q>>2]>>2]|0,k[k[p>>2]>>2]|0,k[(k[q>>2]|0)+4>>2]|0)|0;k[f>>2]=s;if(!(k[f>>2]|0)){k[o>>2]=0;s=k[o>>2]|0;u=r;return s|0}do if(k[(k[p>>2]|0)+4>>2]|0)if(!(ul(k[k[p>>2]>>2]|0,k[(k[p>>2]|0)+4>>2]|0)|0)){s=Ev(k[f>>2]|0)|0;k[e>>2]=s;break}else{s=Fv(k[k[q>>2]>>2]|0,k[(k[p>>2]|0)+4>>2]|0,k[(k[q>>2]|0)+4>>2]|0)|0;k[e>>2]=s;break}else k[e>>2]=0;while(0);k[g>>2]=k[(k[p>>2]|0)+8>>2];if(k[e>>2]|0){k[h>>2]=0;k[l>>2]=(m[(k[e>>2]|0)+50>>1]|0)+1;s=(k[e>>2]|0)+55|0;i[s>>0]=i[s>>0]&-5;Gv(k[g>>2]|0,k[l>>2]|0,k[h>>2]|0,k[(k[e>>2]|0)+8>>2]|0,k[e>>2]|0);if(!(k[(k[e>>2]|0)+36>>2]|0))j[(k[f>>2]|0)+38>>1]=j[k[(k[e>>2]|0)+8>>2]>>1]|0}else{j[n+48>>1]=j[(k[f>>2]|0)+40>>1]|0;Gv(k[g>>2]|0,1,0,(k[f>>2]|0)+38|0,n);j[(k[f>>2]|0)+40>>1]=j[n+48>>1]|0}k[o>>2]=0;s=k[o>>2]|0;u=r;return s|0}k[o>>2]=0;s=k[o>>2]|0;u=r;return s|0}function Dv(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;b=g+12|0;c=g+16|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;j[c>>1]=j[7606]|0;j[c+2>>1]=j[7607]|0;j[c+4>>1]=j[7608]|0;j[c+6>>1]=j[7609]|0;j[c+8>>1]=j[7610]|0;k[d>>2]=k[(k[b>>2]|0)+8>>2];if(5<(m[(k[b>>2]|0)+50>>1]|0))a=5;else a=m[(k[b>>2]|0)+50>>1]|0;k[e>>2]=a;j[k[d>>2]>>1]=j[(k[(k[b>>2]|0)+12>>2]|0)+38>>1]|0;if(k[(k[b>>2]|0)+36>>2]|0){a=k[d>>2]|0;j[a>>1]=(j[a>>1]|0)-10}if((j[k[d>>2]>>1]|0)<33)j[k[d>>2]>>1]=33;r0((k[d>>2]|0)+2|0,c|0,k[e>>2]<<1|0)|0;k[f>>2]=(k[e>>2]|0)+1;while(1){if((k[f>>2]|0)>(m[(k[b>>2]|0)+50>>1]|0))break;j[(k[d>>2]|0)+(k[f>>2]<<1)>>1]=23;k[f>>2]=(k[f>>2]|0)+1}if(!(l[(k[b>>2]|0)+54>>0]|0)){u=g;return}j[(k[d>>2]|0)+(m[(k[b>>2]|0)+50>>1]<<1)>>1]=0;u=g;return}function Ev(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[b>>2]|0)){a=5;break}if(!((i[(k[b>>2]|0)+55>>0]&3|0)==2^1)){a=5;break}k[b>>2]=k[(k[b>>2]|0)+20>>2]}if((a|0)==5){u=c;return k[b>>2]|0}return 0}function Fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){l=7;break}c=k[h>>2]|0;k[i>>2]=(k[h>>2]|0)<2?c^1:c;k[j>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[i>>2]<<4)+12>>2];if(!(k[f>>2]|0?(lh(k[f>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[i>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c=rv((k[j>>2]|0)+24|0,k[e>>2]|0)|0,k[g>>2]=c,k[g>>2]|0):0){l=7;break}k[h>>2]=(k[h>>2]|0)+1}if((l|0)==7){u=m;return k[g>>2]|0}return 0}function Gv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;q=p+32|0;l=p+28|0;m=p+20|0;o=p+16|0;n=p+12|0;f=p+8|0;g=p+4|0;h=p;k[q>>2]=a;k[l>>2]=b;k[p+24>>2]=c;k[m>>2]=d;k[o>>2]=e;k[n>>2]=k[q>>2];k[g>>2]=0;while(1){if(!(i[k[n>>2]>>0]|0))break;if((k[g>>2]|0)>=(k[l>>2]|0))break;k[h>>2]=0;while(1){q=i[k[n>>2]>>0]|0;k[f>>2]=q;if(!((q|0)>=48?(k[f>>2]|0)<=57:0))break;k[h>>2]=((k[h>>2]|0)*10|0)+(k[f>>2]|0)-48;k[n>>2]=(k[n>>2]|0)+1}q=Hv(k[h>>2]|0,0)|0;j[(k[m>>2]|0)+(k[g>>2]<<1)>>1]=q;if((i[k[n>>2]>>0]|0)==32)k[n>>2]=(k[n>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}q=(k[o>>2]|0)+55|0;i[q>>0]=i[q>>0]&-5;q=(k[o>>2]|0)+55|0;i[q>>0]=i[q>>0]&-65;a:while(1){if(!(i[k[n>>2]>>0]|0))break;do if(Iv(27148,k[n>>2]|0)|0){q=(Iv(27159,k[n>>2]|0)|0)==0;a=k[n>>2]|0;if(q){q=pg(a+3|0)|0;q=Hv(q,((q|0)<0)<<31>>31)|0;j[(k[o>>2]|0)+48>>1]=q;break}if(!(Iv(27169,a)|0)){q=(k[o>>2]|0)+55|0;i[q>>0]=i[q>>0]&-65|64}}else{q=(k[o>>2]|0)+55|0;i[q>>0]=i[q>>0]&-5|4}while(0);while(1){if(!(i[k[n>>2]>>0]|0))break;if((i[k[n>>2]>>0]|0)==32)break;k[n>>2]=(k[n>>2]|0)+1}while(1){if((i[k[n>>2]>>0]|0)!=32)continue a;k[n>>2]=(k[n>>2]|0)+1}}u=p;return}function Hv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;c=f+10|0;d=f;e=f+8|0;g=d;k[g>>2]=a;k[g+4>>2]=b;j[e>>1]=40;b=d;a=k[b+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(k[b>>2]|0)>>>0<8){g=d;b=k[g+4>>2]|0;if(b>>>0<0|(b|0)==0&(k[g>>2]|0)>>>0<2){j[c>>1]=0;g=j[c>>1]|0;u=f;return g|0}else while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(k[g>>2]|0)>>>0<8))break a;j[e>>1]=(j[e>>1]|0)-10;b=d;b=t0(k[b>>2]|0,k[b+4>>2]|0,1)|0;g=d;k[g>>2]=b;k[g+4>>2]=M}}else{while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0>0|(b|0)==0&(k[g>>2]|0)>>>0>255))break;j[e>>1]=(j[e>>1]|0)+40;b=d;b=p0(k[b>>2]|0,k[b+4>>2]|0,4)|0;g=d;k[g>>2]=b;k[g+4>>2]=M}while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0>0|(b|0)==0&(k[g>>2]|0)>>>0>15))break a;j[e>>1]=(j[e>>1]|0)+10;b=d;b=p0(k[b>>2]|0,k[b+4>>2]|0,1)|0;g=d;k[g>>2]=b;k[g+4>>2]=M}}while(0);j[c>>1]=(j[15222+((k[d>>2]&7)<<1)>>1]|0)+(j[e>>1]|0)-10;g=j[c>>1]|0;u=f;return g|0}function Iv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=(ei(k[e>>2]|0,k[d>>2]|0,22022,91)|0)==0&1;u=c;return b|0}function Jv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=u;u=u+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;e=Rs(k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,1,0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=e;u=g;return k[f>>2]|0}function Kv(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;u=c;return d|0}d=m[(k[b>>2]|0)+140>>1]|0;u=c;return d|0}function Lv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Uv(k[e>>2]|0,k[d>>2]|0,193,0)|0;u=c;return b|0}function Mv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;b=$h(Rv(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=b;Sv(k[e>>2]|0);u=d;return k[c>>2]|0}function Nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;b=Ki(Rv(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=b;Sv(k[e>>2]|0);u=d;return k[c>>2]|0}function Ov(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){d=fj(7)|0;k[b>>2]=d;d=k[b>>2]|0;u=e;return d|0}if(!(Pv(k[c>>2]|0)|0)){d=fj(Ad(140046)|0)|0;k[b>>2]=d;d=k[b>>2]|0;u=e;return d|0}Dd(k[(k[c>>2]|0)+12>>2]|0);if(!(i[(k[c>>2]|0)+69>>0]|0)){a=$h(k[(k[c>>2]|0)+244>>2]|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){a=fj(k[(k[c>>2]|0)+52>>2]|0)|0;k[d>>2]=a}}else{a=fj(7)|0;k[d>>2]=a}Ed(k[(k[c>>2]|0)+12>>2]|0);k[b>>2]=k[d>>2];d=k[b>>2]|0;u=e;return d|0}function Pv(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;b=c+8|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[(k[e>>2]|0)+84>>2];if((k[d>>2]|0)!=1266094736&(k[d>>2]|0)!=-1607883113&(k[d>>2]|0)!=-264537850){Qv(27181);k[b>>2]=0;e=k[b>>2]|0;u=c;return e|0}else{k[b>>2]=1;e=k[b>>2]|0;u=c;return e|0}return 0}function Qv(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=b+4|0;k[d>>2]=a;k[c>>2]=k[d>>2];Hd(21,27189,c);u=b;return}function Rv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+32|0;c=g+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[e>>2]=k[h>>2];if(!(k[e>>2]|0)){h=Tv()|0;k[c>>2]=h;h=k[c>>2]|0;u=g;return h|0}Dd(k[(k[k[e>>2]>>2]|0)+12>>2]|0);if(k[(k[e>>2]|0)+104>>2]|0?((k[d>>2]|0)>=0?(k[d>>2]|0)<(m[(k[e>>2]|0)+140>>1]|0|0):0):0)k[f>>2]=(k[(k[e>>2]|0)+104>>2]|0)+((k[d>>2]|0)*40|0);else{wl(k[k[e>>2]>>2]|0,25);h=Tv()|0;k[f>>2]=h}k[c>>2]=k[f>>2];h=k[c>>2]|0;u=g;return h|0}function Sv(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){u=c;return}d=Tr(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+40>>2]|0)|0;k[(k[b>>2]|0)+40>>2]=d;Ed(k[(k[k[b>>2]>>2]|0)+12>>2]|0);u=c;return}function Tv(){return 288}function Uv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;o=n+28|0;g=n+24|0;h=n+20|0;j=n+16|0;l=n+12|0;m=n+8|0;e=n+4|0;f=n;k[o>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;k[m>>2]=k[o>>2];k[f>>2]=k[k[m>>2]>>2];d=Kv(k[o>>2]|0)|0;k[e>>2]=d;if(!((k[g>>2]|0)>=0?(k[g>>2]|0)<(k[e>>2]|0):0)){o=k[l>>2]|0;u=n;return o|0}o=$(k[j>>2]|0,k[e>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+o;Dd(k[(k[f>>2]|0)+12>>2]|0);o=Rb[k[h>>2]&255]((k[(k[m>>2]|0)+100>>2]|0)+((k[g>>2]|0)*40|0)|0)|0;k[l>>2]=o;if(i[(k[f>>2]|0)+69>>0]|0){Vr(k[f>>2]|0);k[l>>2]=0}Ed(k[(k[f>>2]|0)+12>>2]|0);o=k[l>>2]|0;u=n;return o|0}function Vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+48|0;m=n+8|0;j=n;d=n+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if((i[(k[g>>2]|0)+69>>0]|0)==0?(k[(k[g>>2]|0)+24>>2]&65536|0)==0:0){if(!(k[e>>2]|0))k[e>>2]=27259;c=k[g>>2]|0;k[j>>2]=k[e>>2];j=ek(c,27261,j)|0;k[h>>2]=j;if(k[f>>2]|0){j=k[g>>2]|0;f=k[f>>2]|0;k[m>>2]=k[h>>2];k[m+4>>2]=f;m=ek(j,27292,m)|0;k[h>>2]=m}fe(k[g>>2]|0,k[k[(k[d>>2]|0)+4>>2]>>2]|0);k[k[(k[d>>2]|0)+4>>2]>>2]=k[h>>2]}if(l[(k[g>>2]|0)+69>>0]|0){j=7;m=k[d>>2]|0;m=m+12|0;k[m>>2]=j;u=n;return}j=un(113554)|0;m=k[d>>2]|0;m=m+12|0;k[m>>2]=j;u=n;return}function Wv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=u;u=u+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;e=Rs(k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,0,0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=e;u=g;return k[f>>2]|0}function Xv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+16|0;f=m+8|0;g=m+4|0;h=m+13|0;j=m+12|0;l=m;k[f>>2]=a;k[g>>2]=b;i[h>>0]=c;i[j>>0]=d;k[l>>2]=e;if(!(k[g>>2]|0)){l=0;u=m;return l|0}l=dw(k[f>>2]|0,k[g>>2]|0,i[h>>0]|0,i[j>>0]|0,k[l>>2]|0,0)|0;u=m;return l|0}function Yv(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[c>>2]|0;if(!(l[(k[c>>2]|0)+19>>0]|0)){a=a+44|0;c=(k[a>>2]|0)+1|0;k[a>>2]=c;k[b>>2]=c;c=k[b>>2]|0;u=d;return c|0}else{e=(k[c>>2]|0)+19|0;c=(i[e>>0]|0)+-1<<24>>24;i[e>>0]=c;k[b>>2]=k[a+352+((c&255)<<2)>>2];c=k[b>>2]|0;u=d;return c|0}return 0}function Zv(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return k[(k[b>>2]|0)+136>>2]|0}function _v(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){u=g;return}if((l[(k[d>>2]|0)+19>>0]|0|0)>=8){u=g;return}k[c>>2]=0;k[f>>2]=(k[d>>2]|0)+152;while(1){if((k[c>>2]|0)>=(l[(k[d>>2]|0)+25>>0]|0|0)){a=8;break}if((k[(k[f>>2]|0)+12>>2]|0)==(k[e>>2]|0)){a=6;break}k[c>>2]=(k[c>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}if((a|0)==6){i[(k[f>>2]|0)+6>>0]=1;u=g;return}else if((a|0)==8){c=k[e>>2]|0;e=(k[d>>2]|0)+352|0;d=(k[d>>2]|0)+19|0;f=i[d>>0]|0;i[d>>0]=f+1<<24>>24;k[e+((f&255)<<2)>>2]=c;u=g;return}}function $v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+48|0;m=n;e=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;l=n+8|0;d=n+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=Vu(k[e>>2]|0)|0;k[h>>2]=c;if(!(k[h>>2]|0)){u=n;return}c=Ru(k[k[e>>2]>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[j>>2]=c;c=aw(k[e>>2]|0,k[f>>2]|0)|0;k[l>>2]=c;while(1){if(!(k[l>>2]|0))break;c=Ru(k[k[e>>2]>>2]|0,k[(k[l>>2]|0)+20>>2]|0)|0;k[d>>2]=c;cv(k[h>>2]|0,140,k[d>>2]|0,0,0,k[k[l>>2]>>2]|0,0)|0;k[l>>2]=k[(k[l>>2]|0)+32>>2]}cv(k[h>>2]|0,138,k[j>>2]|0,0,0,k[k[f>>2]>>2]|0,0)|0;l=k[k[e>>2]>>2]|0;k[m>>2]=k[g>>2];m=ek(l,27626,m)|0;k[i>>2]=m;if(!(k[i>>2]|0)){u=n;return}Yu(k[h>>2]|0,k[j>>2]|0,k[i>>2]|0);m=bw(k[e>>2]|0,k[f>>2]|0)|0;k[i>>2]=m;if(!m){u=n;return}Yu(k[h>>2]|0,1,k[i>>2]|0);u=n;return} +function PB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=u;u=u+192|0;h=ca+24|0;$=ca+180|0;aa=ca+176|0;ba=ca+172|0;n=ca+168|0;p=ca+164|0;q=ca+160|0;R=ca+184|0;r=ca+156|0;o=ca+152|0;S=ca+148|0;T=ca+144|0;U=ca+140|0;V=ca+16|0;s=ca+120|0;t=ca+116|0;W=ca+112|0;v=ca+108|0;X=ca+104|0;Y=ca+100|0;w=ca+96|0;x=ca+186|0;y=ca+8|0;z=ca+92|0;A=ca+88|0;B=ca+84|0;C=ca+80|0;D=ca+76|0;E=ca+72|0;F=ca+68|0;G=ca+64|0;H=ca+60|0;I=ca+56|0;J=ca;K=ca+52|0;L=ca+48|0;N=ca+44|0;O=ca+40|0;P=ca+36|0;Z=ca+32|0;_=ca+28|0;k[aa>>2]=a;k[ba>>2]=b;k[n>>2]=c;k[p>>2]=d;k[q>>2]=e;j[R>>1]=f;k[r>>2]=g;k[U>>2]=k[(k[aa>>2]|0)+8>>2];i[x>>0]=0;k[Y>>2]=k[k[aa>>2]>>2];k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;k[s+12>>2]=0;k[s+16>>2]=0;if(k[p>>2]|0?(k[k[p>>2]>>2]|0)>=64:0)k[p>>2]=0;k[s+8>>2]=k[p>>2];if(m[(k[Y>>2]|0)+64>>1]&32|0)j[R>>1]=m[R>>1]&-257;if((k[k[ba>>2]>>2]|0)>64){ba=k[aa>>2]|0;k[h>>2]=64;Cl(ba,34020,h);k[$>>2]=0;ba=k[$>>2]|0;u=ca;return ba|0}if(m[R>>1]&32|0)a=1;else a=k[k[ba>>2]>>2]|0;k[S>>2]=a;k[o>>2]=832+(((k[S>>2]|0)-1|0)*80|0)+7&-8;h=Od(k[Y>>2]|0,(k[o>>2]|0)+72|0,0)|0;k[T>>2]=h;a:do if(!(i[(k[Y>>2]|0)+69>>0]|0)){k[k[T>>2]>>2]=k[aa>>2];k[(k[T>>2]|0)+4>>2]=k[ba>>2];k[(k[T>>2]|0)+8>>2]=k[p>>2];k[(k[T>>2]|0)+12>>2]=k[q>>2];k[(k[T>>2]|0)+20+4>>2]=-1;k[(k[T>>2]|0)+20>>2]=-1;i[(k[T>>2]|0)+42>>0]=k[S>>2];a=uy(k[U>>2]|0)|0;k[(k[T>>2]|0)+28>>2]=a;k[(k[T>>2]|0)+32>>2]=a;j[(k[T>>2]|0)+40>>1]=j[R>>1]|0;j[(k[T>>2]|0)+16>>1]=k[r>>2];k[(k[T>>2]|0)+36>>2]=k[(k[aa>>2]|0)+136>>2];a=(k[T>>2]|0)+43|0;b=a+37|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0));w0((k[T>>2]|0)+752|0,0,72+((k[S>>2]|0)*80|0)|0)|0;k[t>>2]=(k[T>>2]|0)+488;k[s>>2]=k[T>>2];k[s+4>>2]=(k[T>>2]|0)+80;k[s+12>>2]=(k[T>>2]|0)+(k[o>>2]|0);XB(k[s+12>>2]|0);k[k[t>>2]>>2]=0;_B((k[T>>2]|0)+80|0,k[T>>2]|0);$B((k[T>>2]|0)+80|0,k[n>>2]|0,28);k[X>>2]=0;while(1){a=(k[S>>2]|0)==0;if((k[X>>2]|0)>=(k[(k[s+4>>2]|0)+12>>2]|0))break;if(!(!a?!(Qz(k[(k[(k[s+4>>2]|0)+20>>2]|0)+((k[X>>2]|0)*48|0)>>2]|0)|0):0)){xz(k[aa>>2]|0,k[(k[(k[s+4>>2]|0)+20>>2]|0)+((k[X>>2]|0)*48|0)>>2]|0,k[(k[T>>2]|0)+32>>2]|0,16);o=(k[(k[s+4>>2]|0)+20>>2]|0)+((k[X>>2]|0)*48|0)+10|0;j[o>>1]=m[o>>1]|4}k[X>>2]=(k[X>>2]|0)+1}if(a){if(k[p>>2]|0)i[(k[T>>2]|0)+43>>0]=k[k[p>>2]>>2];if(m[R>>1]&256|0)i[(k[T>>2]|0)+47>>0]=1}k[X>>2]=0;while(1){if((k[X>>2]|0)>=(k[k[ba>>2]>>2]|0))break;aC(k[t>>2]|0,k[(k[ba>>2]|0)+8+((k[X>>2]|0)*72|0)+44>>2]|0);bC(k[aa>>2]|0,(k[ba>>2]|0)+8+((k[X>>2]|0)*72|0)|0,(k[T>>2]|0)+80|0);k[X>>2]=(k[X>>2]|0)+1}cC(k[ba>>2]|0,(k[T>>2]|0)+80|0);if(!(i[(k[Y>>2]|0)+69>>0]|0)){do if(m[R>>1]&256|0){if(dC(k[aa>>2]|0,k[ba>>2]|0,(k[T>>2]|0)+80|0,k[q>>2]|0)|0){i[(k[T>>2]|0)+47>>0]=1;break}if(!(k[p>>2]|0)){p=(k[T>>2]|0)+40|0;j[p>>1]=m[p>>1]|128;k[(k[T>>2]|0)+8>>2]=k[q>>2]}}while(0);if(!((k[S>>2]|0)==1?(eC(s)|0)!=0:0)){p=fC(s)|0;k[w>>2]=p;if(k[w>>2]|0)break;gC(k[T>>2]|0,0)|0;if(i[(k[Y>>2]|0)+69>>0]|0)break;if(k[(k[T>>2]|0)+8>>2]|0?(gC(k[T>>2]|0,(j[(k[T>>2]|0)+72>>1]|0)+1&65535)|0,i[(k[Y>>2]|0)+69>>0]|0):0)break}if((k[(k[T>>2]|0)+8>>2]|0)==0?k[(k[Y>>2]|0)+24>>2]&131072|0:0){w=(k[T>>2]|0)+64|0;k[w>>2]=-1;k[w+4>>2]=-1}if((k[(k[aa>>2]|0)+36>>2]|0)==0?(l[(k[Y>>2]|0)+69>>0]|0)==0:0){b:do if((k[q>>2]|0?(l[(k[T>>2]|0)+42>>0]|0)>=2:0)?(m[(k[Y>>2]|0)+64>>1]&1024|0)==0:0){q=hC(k[t>>2]|0,k[q>>2]|0)|0;w=y;k[w>>2]=q;k[w+4>>2]=M;if(k[s+8>>2]|0){q=hC(k[t>>2]|0,k[s+8>>2]|0)|0;p=y;t=k[p+4>>2]|M;w=y;k[w>>2]=k[p>>2]|q;k[w+4>>2]=t}while(1){if((l[(k[T>>2]|0)+42>>0]|0)<2)break b;k[v>>2]=k[(k[T>>2]|0)+752+(((l[(k[T>>2]|0)+42>>0]|0)-1|0)*80|0)+64>>2];if(!(l[(k[(k[T>>2]|0)+4>>2]|0)+8+((l[(k[v>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((m[R>>1]&256|0)==0?(k[(k[v>>2]|0)+36>>2]&4096|0)==0:0)break b;t=y;w=(k[v>>2]|0)+8|0;if(k[t>>2]&k[w>>2]|0?1:(k[t+4>>2]&k[w+4>>2]|0)!=0)break b;k[A>>2]=(k[(k[s+4>>2]|0)+20>>2]|0)+((k[(k[s+4>>2]|0)+12>>2]|0)*48|0);k[z>>2]=k[(k[s+4>>2]|0)+20>>2];while(1){if((k[z>>2]|0)>>>0>=(k[A>>2]|0)>>>0)break;t=(k[z>>2]|0)+40|0;w=(k[v>>2]|0)+8|0;if((k[t>>2]&k[w>>2]|0?1:(k[t+4>>2]&k[w+4>>2]|0)!=0)?(k[(k[k[z>>2]>>2]|0)+4>>2]&1|0)==0:0)break;k[z>>2]=(k[z>>2]|0)+48}if((k[z>>2]|0)>>>0<(k[A>>2]|0)>>>0)break b;w=(k[T>>2]|0)+42|0;i[w>>0]=(i[w>>0]|0)+-1<<24>>24;k[S>>2]=(k[S>>2]|0)+-1}}while(0);A=(k[k[T>>2]>>2]|0)+136|0;k[A>>2]=(k[A>>2]|0)+(j[(k[T>>2]|0)+72>>1]|0);do if(m[R>>1]&4|0){k[B>>2]=k[(k[(k[T>>2]|0)+752+64>>2]|0)+36>>2];k[C>>2]=(k[B>>2]&4096|0)!=0&1;if(!(k[C>>2]|0)){if(!(m[R>>1]&8))break;if(k[B>>2]&1024)break}i[(k[T>>2]|0)+45>>0]=k[C>>2]|0?1:2;if((l[(k[(k[ba>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?k[B>>2]&64|0:0){if(m[R>>1]&8|0)i[x>>0]=8;k[(k[(k[T>>2]|0)+752+64>>2]|0)+36>>2]=k[B>>2]&-65}}while(0);k[X>>2]=0;k[W>>2]=(k[T>>2]|0)+752;while(1){if((k[X>>2]|0)>=(k[S>>2]|0))break;k[F>>2]=(k[ba>>2]|0)+8+((l[(k[W>>2]|0)+44>>0]|0)*72|0);k[D>>2]=k[(k[F>>2]|0)+16>>2];C=Ru(k[Y>>2]|0,k[(k[D>>2]|0)+64>>2]|0)|0;k[E>>2]=C;k[v>>2]=k[(k[W>>2]|0)+64>>2];c:do if((l[(k[D>>2]|0)+42>>0]&2|0)==0?(k[(k[D>>2]|0)+12>>2]|0)==0:0){if(k[(k[v>>2]|0)+36>>2]&1024|0){C=pw(k[Y>>2]|0,k[D>>2]|0)|0;k[G>>2]=C;k[H>>2]=k[(k[F>>2]|0)+44>>2];cv(k[U>>2]|0,155,k[H>>2]|0,0,0,k[G>>2]|0,-10)|0;break}if(l[(k[D>>2]|0)+42>>0]&16|0)break;do if(!(k[(k[v>>2]|0)+36>>2]&64)){if(m[R>>1]&32|0)break;k[I>>2]=104;if(l[(k[T>>2]|0)+45>>0]|0){k[I>>2]=105;k[(k[T>>2]|0)+20>>2]=k[(k[F>>2]|0)+44>>2]}ry(k[aa>>2]|0,k[(k[F>>2]|0)+44>>2]|0,k[E>>2]|0,k[D>>2]|0,k[I>>2]|0);do if(!(l[(k[T>>2]|0)+45>>0]|0)){if((j[(k[D>>2]|0)+34>>1]|0)>=64)break;if(l[(k[D>>2]|0)+42>>0]&32|0)break;A=(k[F>>2]|0)+56|0;B=k[A+4>>2]|0;C=J;k[C>>2]=k[A>>2];k[C+4>>2]=B;k[K>>2]=0;while(1){C=J;if(!((k[C>>2]|0)!=0|(k[C+4>>2]|0)!=0))break;B=J;B=p0(k[B>>2]|0,k[B+4>>2]|0,1)|0;C=J;k[C>>2]=B;k[C+4>>2]=M;k[K>>2]=(k[K>>2]|0)+1}dv(k[U>>2]|0,-1,k[K>>2]|0,-14)}while(0);ty(k[U>>2]|0,i[x>>0]|0);break c}while(0);qy(k[aa>>2]|0,k[E>>2]|0,k[(k[D>>2]|0)+28>>2]|0,0,k[k[D>>2]>>2]|0)}while(0);do if(k[(k[v>>2]|0)+36>>2]&512|0){k[L>>2]=k[(k[v>>2]|0)+24+8>>2];k[O>>2]=104;do if(!(l[(k[D>>2]|0)+42>>0]&32))Q=93;else{if((i[(k[L>>2]|0)+55>>0]&3|0)!=2){Q=93;break}if(!(m[R>>1]&32)){Q=93;break}k[N>>2]=k[(k[W>>2]|0)+4>>2];k[O>>2]=0}while(0);d:do if((Q|0)==93){Q=0;if(!(l[(k[T>>2]|0)+45>>0]|0)){do if(k[r>>2]|0){if(!(m[R>>1]&32))break;k[N>>2]=k[r>>2];k[O>>2]=103;break d}while(0);B=(k[aa>>2]|0)+40|0;C=k[B>>2]|0;k[B>>2]=C+1;k[N>>2]=C;break}k[P>>2]=k[(k[(k[F>>2]|0)+16>>2]|0)+8>>2];k[N>>2]=k[r>>2];while(1){if(!(k[P>>2]|0))break;if((k[P>>2]|0)==(k[L>>2]|0))break;k[N>>2]=(k[N>>2]|0)+1;k[P>>2]=k[(k[P>>2]|0)+20>>2]}k[O>>2]=105;k[(k[T>>2]|0)+20+4>>2]=k[N>>2]}while(0);k[(k[W>>2]|0)+8>>2]=k[N>>2];if(!(k[O>>2]|0))break;$u(k[U>>2]|0,k[O>>2]|0,k[N>>2]|0,k[(k[L>>2]|0)+44>>2]|0,k[E>>2]|0)|0;sy(k[aa>>2]|0,k[L>>2]|0);if(!(k[(k[v>>2]|0)+36>>2]&15))break;if(k[(k[v>>2]|0)+36>>2]&32770|0)break;if(m[(k[T>>2]|0)+40>>1]&1|0)break;ty(k[U>>2]|0,2)}while(0);if((k[E>>2]|0)>=0)nv(k[aa>>2]|0,k[E>>2]|0);k[X>>2]=(k[X>>2]|0)+1;k[W>>2]=(k[W>>2]|0)+80}Q=Zv(k[U>>2]|0)|0;k[(k[T>>2]|0)+52>>2]=Q;if(!(i[(k[Y>>2]|0)+69>>0]|0)){Q=V;k[Q>>2]=-1;k[Q+4>>2]=-1;k[X>>2]=0;while(1){a=k[T>>2]|0;if((k[X>>2]|0)>=(k[S>>2]|0))break;k[W>>2]=a+752+((k[X>>2]|0)*80|0);k[_>>2]=k[(k[(k[W>>2]|0)+64>>2]|0)+36>>2];if(k[(k[(k[W>>2]|0)+64>>2]|0)+36>>2]&16384|0?(Q=V,iC(k[aa>>2]|0,(k[T>>2]|0)+80|0,(k[ba>>2]|0)+8+((l[(k[W>>2]|0)+44>>0]|0)*72|0)|0,k[Q>>2]|0,k[Q+4>>2]|0,k[W>>2]|0),i[(k[Y>>2]|0)+69>>0]|0):0)break a;P=jC(k[aa>>2]|0,k[ba>>2]|0,k[W>>2]|0,k[X>>2]|0,l[(k[W>>2]|0)+44>>0]|0,j[R>>1]|0)|0;k[Z>>2]=P;P=Zv(k[U>>2]|0)|0;k[(k[W>>2]|0)+32>>2]=P;P=V;P=kC(k[T>>2]|0,k[X>>2]|0,k[P>>2]|0,k[P+4>>2]|0)|0;Q=V;k[Q>>2]=P;k[Q+4>>2]=M;k[(k[T>>2]|0)+28>>2]=k[(k[W>>2]|0)+24>>2];do if((k[_>>2]&8192|0)==0?m[R>>1]&32|0:0)break;while(0);k[X>>2]=(k[X>>2]|0)+1}k[$>>2]=a;ba=k[$>>2]|0;u=ca;return ba|0}}}}else{fe(k[Y>>2]|0,k[T>>2]|0);k[T>>2]=0}while(0);if(k[T>>2]|0){k[(k[aa>>2]|0)+136>>2]=k[(k[T>>2]|0)+36>>2];SB(k[Y>>2]|0,k[T>>2]|0)}k[$>>2]=0;ba=k[$>>2]|0;u=ca;return ba|0}function QB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+96|0;g=E+80|0;t=E+76|0;x=E+72|0;y=E+68|0;z=E+64|0;A=E+60|0;B=E+56|0;C=E+52|0;f=E+48|0;c=E+44|0;d=E+40|0;e=E+36|0;h=E+32|0;n=E+28|0;o=E+24|0;p=E+20|0;q=E+16|0;r=E+12|0;s=E+8|0;v=E+4|0;w=E;k[g>>2]=a;k[t>>2]=k[k[g>>2]>>2];k[x>>2]=k[(k[t>>2]|0)+8>>2];k[B>>2]=k[(k[g>>2]|0)+4>>2];k[C>>2]=k[k[t>>2]>>2];OA(k[t>>2]|0);k[y>>2]=(l[(k[g>>2]|0)+42>>0]|0)-1;while(1){if((k[y>>2]|0)<0)break;k[z>>2]=(k[g>>2]|0)+752+((k[y>>2]|0)*80|0);k[A>>2]=k[(k[z>>2]|0)+64>>2];yy(k[x>>2]|0,k[(k[z>>2]|0)+24>>2]|0);if((l[(k[z>>2]|0)+45>>0]|0)!=161){$u(k[x>>2]|0,l[(k[z>>2]|0)+45>>0]|0,k[(k[z>>2]|0)+48>>2]|0,k[(k[z>>2]|0)+52>>2]|0,l[(k[z>>2]|0)+46>>0]|0)|0;ty(k[x>>2]|0,i[(k[z>>2]|0)+47>>0]|0)}a:do if(k[(k[A>>2]|0)+36>>2]&2048|0?(k[(k[z>>2]|0)+56>>2]|0)>0:0){yy(k[x>>2]|0,k[(k[z>>2]|0)+16>>2]|0);k[d>>2]=k[(k[z>>2]|0)+56>>2];k[c>>2]=(k[(k[z>>2]|0)+56+4>>2]|0)+(((k[d>>2]|0)-1|0)*12|0);while(1){if((k[d>>2]|0)<=0)break a;xy(k[x>>2]|0,(k[(k[c>>2]|0)+4>>2]|0)+1|0);if((l[(k[c>>2]|0)+8>>0]|0)!=161)_u(k[x>>2]|0,l[(k[c>>2]|0)+8>>0]|0,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+4>>2]|0)|0;xy(k[x>>2]|0,(k[(k[c>>2]|0)+4>>2]|0)-1|0);k[d>>2]=(k[d>>2]|0)+-1;k[c>>2]=(k[c>>2]|0)+-12}}while(0);yy(k[x>>2]|0,k[(k[z>>2]|0)+12>>2]|0);if(k[(k[z>>2]|0)+20>>2]|0){wy(k[x>>2]|0,k[(k[z>>2]|0)+20>>2]|0)|0;xy(k[x>>2]|0,k[(k[z>>2]|0)+20>>2]|0);xy(k[x>>2]|0,(k[(k[z>>2]|0)+20>>2]|0)-2|0)}if(k[(k[z>>2]|0)+40>>2]|0)_u(k[x>>2]|0,68,(k[(k[z>>2]|0)+36>>2]|0)>>>1,k[(k[z>>2]|0)+40>>2]|0)|0;if(k[k[z>>2]>>2]|0){k[e>>2]=k[(k[A>>2]|0)+36>>2];b=oy(k[x>>2]|0,66,k[k[z>>2]>>2]|0)|0;k[f>>2]=b;if(!(k[e>>2]&64))oy(k[x>>2]|0,124,k[(k[B>>2]|0)+8+((k[y>>2]|0)*72|0)+44>>2]|0)|0;if(!(k[e>>2]&512|0)){if(k[e>>2]&8192|0?k[(k[z>>2]|0)+56>>2]|0:0)D=22}else D=22;if((D|0)==22){D=0;oy(k[x>>2]|0,124,k[(k[z>>2]|0)+8>>2]|0)|0}a=k[x>>2]|0;b=k[z>>2]|0;if((l[(k[z>>2]|0)+45>>0]|0)==72)_u(a,14,k[b+48>>2]|0,k[(k[z>>2]|0)+28>>2]|0)|0;else wy(a,k[b+28>>2]|0)|0;xy(k[x>>2]|0,k[f>>2]|0)}k[y>>2]=(k[y>>2]|0)+-1}yy(k[x>>2]|0,k[(k[g>>2]|0)+32>>2]|0);k[y>>2]=0;k[z>>2]=(k[g>>2]|0)+752;while(1){if((k[y>>2]|0)>=(l[(k[g>>2]|0)+42>>0]|0))break;k[p>>2]=0;k[q>>2]=(k[B>>2]|0)+8+((l[(k[z>>2]|0)+44>>0]|0)*72|0);k[r>>2]=k[(k[q>>2]|0)+16>>2];k[A>>2]=k[(k[z>>2]|0)+64>>2];if((l[(k[q>>2]|0)+36+1>>0]|0)>>>4&1|0?!(i[(k[C>>2]|0)+69>>0]|0):0)RB(k[x>>2]|0,k[(k[z>>2]|0)+32>>2]|0,k[(k[z>>2]|0)+4>>2]|0,k[(k[q>>2]|0)+32>>2]|0,0);else D=33;b:do if((D|0)==33){D=0;if(((l[(k[r>>2]|0)+42>>0]&2|0)==0?(k[(k[r>>2]|0)+12>>2]|0)==0:0)?(m[(k[g>>2]|0)+40>>1]&32|0)==0:0){k[s>>2]=k[(k[A>>2]|0)+36>>2];if((l[(k[g>>2]|0)+45>>0]|0)==0?(k[s>>2]&64|0)==0:0)oy(k[x>>2]|0,111,k[(k[q>>2]|0)+44>>2]|0)|0;if((k[s>>2]&512|0?(k[s>>2]&16640|0)==0:0)?(k[(k[z>>2]|0)+8>>2]|0)!=(k[(k[g>>2]|0)+20+4>>2]|0):0)oy(k[x>>2]|0,111,k[(k[z>>2]|0)+8>>2]|0)|0}a=k[A>>2]|0;if(!(k[(k[A>>2]|0)+36>>2]&576|0)){if(k[a+36>>2]&8192|0)k[p>>2]=k[(k[z>>2]|0)+56>>2]}else k[p>>2]=k[a+24+8>>2];if(k[p>>2]|0){if(l[(k[g>>2]|0)+45>>0]|0?(l[(k[(k[p>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(i[(k[C>>2]|0)+69>>0]|0)){f=Zv(k[x>>2]|0)|0;k[n>>2]=f;k[h>>2]=k[(k[z>>2]|0)+32>>2];f=Ey(k[x>>2]|0,k[h>>2]|0)|0;k[o>>2]=f;while(1){if((k[h>>2]|0)>=(k[n>>2]|0))break b;do if((k[(k[o>>2]|0)+4>>2]|0)==(k[(k[z>>2]|0)+4>>2]|0)){a=k[o>>2]|0;if((l[k[o>>2]>>0]|0)!=96){if((l[a>>0]|0)!=123)break;k[(k[o>>2]|0)+4>>2]=k[(k[z>>2]|0)+8>>2];i[k[o>>2]>>0]=-127;break}k[v>>2]=k[a+8>>2];if(l[(k[r>>2]|0)+42>>0]&32|0){f=Ev(k[r>>2]|0)|0;k[w>>2]=f;k[v>>2]=j[(k[(k[w>>2]|0)+4>>2]|0)+(k[v>>2]<<1)>>1]}f=(cz(k[p>>2]|0,k[v>>2]&65535)|0)<<16>>16;k[v>>2]=f;if((k[v>>2]|0)>=0){k[(k[o>>2]|0)+8>>2]=k[v>>2];k[(k[o>>2]|0)+4>>2]=k[(k[z>>2]|0)+8>>2]}}while(0);k[h>>2]=(k[h>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+20}}}}while(0);k[y>>2]=(k[y>>2]|0)+1;k[z>>2]=(k[z>>2]|0)+80}k[(k[t>>2]|0)+136>>2]=k[(k[g>>2]|0)+36>>2];SB(k[C>>2]|0,k[g>>2]|0);u=E;return}function RB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;p=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;f=o+4|0;g=o;k[p>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;e=Ey(k[p>>2]|0,k[h>>2]|0)|0;k[f>>2]=e;e=Zv(k[p>>2]|0)|0;k[g>>2]=e;while(1){if((k[h>>2]|0)>=(k[g>>2]|0))break;do if((k[(k[f>>2]|0)+4>>2]|0)==(k[j>>2]|0)){a=k[f>>2]|0;if((l[k[f>>2]>>0]|0|0)==96){i[a>>0]=84;k[(k[f>>2]|0)+4>>2]=(k[(k[f>>2]|0)+8>>2]|0)+(k[m>>2]|0);k[(k[f>>2]|0)+8>>2]=k[(k[f>>2]|0)+12>>2];k[(k[f>>2]|0)+12>>2]=0;break}if((l[a>>0]|0|0)==123){a=k[f>>2]|0;if(k[n>>2]|0){i[a>>0]=91;k[(k[f>>2]|0)+4>>2]=k[(k[f>>2]|0)+8>>2];k[(k[f>>2]|0)+8>>2]=1;break}else{i[a>>0]=79;k[(k[f>>2]|0)+4>>2]=0;k[(k[f>>2]|0)+12>>2]=0;break}}}while(0);k[h>>2]=(k[h>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}u=o;return}function SB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){u=h;return}k[e>>2]=0;while(1){a=k[d>>2]|0;if((k[e>>2]|0)>=(l[(k[d>>2]|0)+42>>0]|0|0))break;k[f>>2]=a+752+((k[e>>2]|0)*80|0);if(k[(k[f>>2]|0)+64>>2]|0?k[(k[(k[f>>2]|0)+64>>2]|0)+36>>2]&2048|0:0)fe(k[c>>2]|0,k[(k[f>>2]|0)+56+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}TB(a+80|0);while(1){if(!(k[(k[d>>2]|0)+56>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+56>>2];k[(k[d>>2]|0)+56>>2]=k[(k[g>>2]|0)+52>>2];UB(k[c>>2]|0,k[g>>2]|0)}fe(k[c>>2]|0,k[d>>2]|0);u=h;return}function TB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[e>>2]=k[k[k[k[b>>2]>>2]>>2]>>2];k[c>>2]=(k[(k[b>>2]|0)+12>>2]|0)-1;k[d>>2]=k[(k[b>>2]|0)+20>>2];while(1){if((k[c>>2]|0)<0)break;if((m[(k[d>>2]|0)+10>>1]|0)&1|0)Yk(k[e>>2]|0,k[k[d>>2]>>2]|0);if(!((m[(k[d>>2]|0)+10>>1]|0)&16|0)){if((m[(k[d>>2]|0)+10>>1]|0)&32|0)ZB(k[e>>2]|0,k[(k[d>>2]|0)+28>>2]|0)}else YB(k[e>>2]|0,k[(k[d>>2]|0)+28>>2]|0);k[c>>2]=(k[c>>2]|0)+-1;k[d>>2]=(k[d>>2]|0)+48}if((k[(k[b>>2]|0)+20>>2]|0)==((k[b>>2]|0)+24|0)){u=f;return}fe(k[e>>2]|0,k[(k[b>>2]|0)+20>>2]|0);u=f;return}function UB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;VB(k[e>>2]|0,k[d>>2]|0);fe(k[e>>2]|0,k[d>>2]|0);u=c;return}function VB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[(k[d>>2]|0)+48>>2]|0)!=((k[d>>2]|0)+56|0))fe(k[c>>2]|0,k[(k[d>>2]|0)+48>>2]|0);WB(k[c>>2]|0,k[d>>2]|0);XB(k[d>>2]|0);u=e;return}function WB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+36>>2]&17408)){u=e;return}if(k[(k[d>>2]|0)+36>>2]&1024|0?l[(k[d>>2]|0)+24+4>>0]|0|0:0){ie(k[(k[d>>2]|0)+24+8>>2]|0);i[(k[d>>2]|0)+24+4>>0]=0;k[(k[d>>2]|0)+24+8>>2]=0;u=e;return}if(!(k[(k[d>>2]|0)+36>>2]&16384)){u=e;return}if(!(k[(k[d>>2]|0)+24+8>>2]|0)){u=e;return}fe(k[c>>2]|0,k[(k[(k[d>>2]|0)+24+8>>2]|0)+16>>2]|0);fe(k[c>>2]|0,k[(k[d>>2]|0)+24+8>>2]|0);k[(k[d>>2]|0)+24+8>>2]=0;u=e;return}function XB(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+48>>2]=(k[c>>2]|0)+56;j[(k[c>>2]|0)+40>>1]=0;j[(k[c>>2]|0)+44>>1]=3;k[(k[c>>2]|0)+36>>2]=0;u=b;return}function YB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;TB(k[d>>2]|0);fe(k[e>>2]|0,k[d>>2]|0);u=c;return}function ZB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;TB(k[d>>2]|0);fe(k[e>>2]|0,k[d>>2]|0);u=c;return}function _B(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[k[d>>2]>>2]=k[e>>2];k[(k[d>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+16>>2]=8;k[(k[d>>2]|0)+20>>2]=(k[d>>2]|0)+24;u=c;return}function $B(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+8|0;e=h+4|0;f=h+12|0;g=h;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;c=Iw(k[e>>2]|0)|0;k[g>>2]=c;i[(k[d>>2]|0)+8>>0]=i[f>>0]|0;if(!(k[g>>2]|0)){u=h;return}a=k[d>>2]|0;if((l[k[g>>2]>>0]|0|0)!=(l[f>>0]|0|0)){sD(a,k[e>>2]|0,0)|0;u=h;return}else{$B(a,k[(k[g>>2]|0)+12>>2]|0,i[f>>0]|0);$B(k[d>>2]|0,k[(k[g>>2]|0)+16>>2]|0,i[f>>0]|0);u=h;return}}function aC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;d=k[d>>2]|0;a=(k[e>>2]|0)+4|0;e=k[e>>2]|0;b=k[e>>2]|0;k[e>>2]=b+1;k[a+(b<<2)>>2]=d;u=c;return}function bC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;p=q;f=q+40|0;g=q+36|0;h=q+32|0;n=q+28|0;o=q+24|0;i=q+20|0;m=q+16|0;d=q+12|0;e=q+8|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;if(!((l[(k[g>>2]|0)+36+1>>0]|0)>>>2&1)){u=q;return}k[n>>2]=k[(k[g>>2]|0)+16>>2];k[m>>2]=k[(k[g>>2]|0)+64>>2];if(!(k[m>>2]|0)){u=q;return}k[i>>2]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[m>>2]>>2]|0)){a=13;break}while(1){if((k[i>>2]|0)<(j[(k[n>>2]|0)+34>>1]|0))a=(l[(k[(k[n>>2]|0)+4>>2]|0)+(k[i>>2]<<4)+15>>0]&2|0)==0;else a=0;b=k[i>>2]|0;if(!a)break;k[i>>2]=b+1}c=k[f>>2]|0;if((b|0)>=(j[(k[n>>2]|0)+34>>1]|0)){a=10;break}c=eu(k[c>>2]|0,152,0,0)|0;k[d>>2]=c;if(!(k[d>>2]|0)){a=13;break}k[(k[d>>2]|0)+28>>2]=k[(k[g>>2]|0)+44>>2];b=k[i>>2]|0;k[i>>2]=b+1;j[(k[d>>2]|0)+32>>1]=b;k[(k[d>>2]|0)+44>>2]=k[n>>2];b=k[f>>2]|0;c=k[d>>2]|0;c=zt(b,37,c,ex(k[k[f>>2]>>2]|0,k[(k[(k[m>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2]|0,0)|0,0)|0;k[e>>2]=c;sD(k[h>>2]|0,k[e>>2]|0,1)|0;k[o>>2]=(k[o>>2]|0)+1}if((a|0)==10){o=k[o>>2]|0;k[p>>2]=k[k[n>>2]>>2];k[p+4>>2]=o;Cl(c,34469,p);u=q;return}else if((a|0)==13){u=q;return}}function cC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[(k[d>>2]|0)+12>>2]|0)-1;while(1){if((k[e>>2]|0)<0)break;oD(k[c>>2]|0,k[d>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+-1}u=f;return}function dC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+48|0;i=t+36|0;n=t+32|0;o=t+28|0;p=t+24|0;q=t+20|0;r=t+16|0;e=t+12|0;f=t+8|0;g=t+4|0;h=t;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;if((k[k[o>>2]>>2]|0)!=1){k[i>>2]=0;s=k[i>>2]|0;u=t;return s|0}k[g>>2]=k[(k[o>>2]|0)+8+44>>2];k[r>>2]=k[(k[o>>2]|0)+8+16>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[q>>2]>>2]|0))break;o=Iw(k[(k[(k[q>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0;k[h>>2]=o;if(((l[k[h>>2]>>0]|0)==152?(k[(k[h>>2]|0)+28>>2]|0)==(k[g>>2]|0):0)?(j[(k[h>>2]|0)+32>>1]|0)<0:0){s=8;break}k[f>>2]=(k[f>>2]|0)+1}if((s|0)==8){k[i>>2]=1;s=k[i>>2]|0;u=t;return s|0}k[e>>2]=k[(k[r>>2]|0)+8>>2];while(1){if(!(k[e>>2]|0)){s=22;break}if(l[(k[e>>2]|0)+54>>0]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(m[(k[e>>2]|0)+50>>1]|0))break;if(!(wC(k[p>>2]|0,k[g>>2]|0,k[f>>2]|0,-1,-1,2,k[e>>2]|0)|0)){if((nD(k[n>>2]|0,k[q>>2]|0,k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0)<0)break;if(!(dD(k[e>>2]|0,k[f>>2]|0)|0))break}k[f>>2]=(k[f>>2]|0)+1}if((k[f>>2]|0)==(m[(k[e>>2]|0)+50>>1]|0)){s=20;break}}k[e>>2]=k[(k[e>>2]|0)+20>>2]}if((s|0)==20){k[i>>2]=1;s=k[i>>2]|0;u=t;return s|0}else if((s|0)==22){k[i>>2]=0;s=k[i>>2]|0;u=t;return s|0}return 0}function eC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+48|0;o=t+44|0;e=t+40|0;p=t+36|0;f=t+32|0;g=t+28|0;h=t+24|0;q=t+20|0;r=t+16|0;n=t+12|0;b=t+8|0;c=t+4|0;d=t;k[e>>2]=a;k[p>>2]=k[k[e>>2]>>2];if((m[(k[p>>2]|0)+40>>1]|0)&32|0){k[o>>2]=0;s=k[o>>2]|0;u=t;return s|0}k[f>>2]=(k[(k[p>>2]|0)+4>>2]|0)+8;k[b>>2]=k[(k[f>>2]|0)+16>>2];if((l[(k[b>>2]|0)+42>>0]|0)&16|0){k[o>>2]=0;s=k[o>>2]|0;u=t;return s|0}if((l[(k[f>>2]|0)+36+1>>0]|0)>>>1&1|0){k[o>>2]=0;s=k[o>>2]|0;u=t;return s|0}k[r>>2]=k[(k[f>>2]|0)+44>>2];k[g>>2]=(k[p>>2]|0)+80;k[q>>2]=k[(k[e>>2]|0)+12>>2];k[(k[q>>2]|0)+36>>2]=0;j[(k[q>>2]|0)+42>>1]=0;e=wC(k[g>>2]|0,k[r>>2]|0,-1,0,0,130,0)|0;k[h>>2]=e;a:do if(k[h>>2]|0){k[(k[q>>2]|0)+36>>2]=4353;k[k[(k[q>>2]|0)+48>>2]>>2]=k[h>>2];j[(k[q>>2]|0)+40>>1]=1;j[(k[q>>2]|0)+24>>1]=1;a=33;b=k[q>>2]|0;s=24}else{k[c>>2]=k[(k[b>>2]|0)+8>>2];while(1){if(!(k[c>>2]|0))break a;if((l[(k[c>>2]|0)+54>>0]|0|0?(k[(k[c>>2]|0)+36>>2]|0)==0:0)?(m[(k[c>>2]|0)+50>>1]|0|0)<=3:0){k[d>>2]=(l[(k[c>>2]|0)+55>>0]|0)>>>3&1|0?130:2;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[c>>2]|0)+50>>1]|0|0))break;e=wC(k[g>>2]|0,k[r>>2]|0,k[n>>2]|0,0,0,k[d>>2]|0,k[c>>2]|0)|0;k[h>>2]=e;if(!(k[h>>2]|0))break;k[(k[(k[q>>2]|0)+48>>2]|0)+(k[n>>2]<<2)>>2]=k[h>>2];k[n>>2]=(k[n>>2]|0)+1}if((k[n>>2]|0)==(m[(k[c>>2]|0)+50>>1]|0|0))break}k[c>>2]=k[(k[c>>2]|0)+20>>2]}k[(k[q>>2]|0)+36>>2]=4609;if(!(!((l[(k[c>>2]|0)+55>>0]|0)>>>5&1|0)?(s=(k[f>>2]|0)+56|0,g=k[s>>2]|0,s=k[s+4>>2]|0,h=aD(k[c>>2]|0)|0,!((g&~h|0)==0&(s&~M|0)==0)):0)){s=(k[q>>2]|0)+36|0;k[s>>2]=k[s>>2]|64}j[(k[q>>2]|0)+40>>1]=k[n>>2];j[(k[q>>2]|0)+24>>1]=k[n>>2];k[(k[q>>2]|0)+24+8>>2]=k[c>>2];a=39;b=k[q>>2]|0;s=24}while(0);if((s|0)==24)j[b+20>>1]=a;if(!(k[(k[q>>2]|0)+36>>2]|0)){k[o>>2]=0;s=k[o>>2]|0;u=t;return s|0}j[(k[q>>2]|0)+22>>1]=1;k[(k[p>>2]|0)+752+64>>2]=k[q>>2];n=lC((k[p>>2]|0)+488|0,k[r>>2]|0)|0;s=(k[q>>2]|0)+8|0;k[s>>2]=n;k[s+4>>2]=M;k[(k[p>>2]|0)+752+4>>2]=k[r>>2];j[(k[p>>2]|0)+72>>1]=1;if(k[(k[p>>2]|0)+8>>2]|0)i[(k[p>>2]|0)+43>>0]=k[k[(k[p>>2]|0)+8>>2]>>2];if((m[(k[p>>2]|0)+40>>1]|0)&256|0)i[(k[p>>2]|0)+47>>0]=1;k[o>>2]=1;s=k[o>>2]|0;u=t;return s|0}function fC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;r=u;u=u+80|0;b=r+60|0;f=r+56|0;g=r+16|0;h=r+8|0;j=r+52|0;s=r+48|0;m=r+44|0;n=r+40|0;q=r+36|0;o=r+32|0;p=r+28|0;c=r+64|0;d=r;e=r+24|0;k[b>>2]=a;k[f>>2]=k[k[b>>2]>>2];a=g;k[a>>2]=0;k[a+4>>2]=0;a=h;k[a>>2]=0;k[a+4>>2]=0;k[s>>2]=k[(k[f>>2]|0)+4>>2];k[n>>2]=(k[s>>2]|0)+8+((l[(k[f>>2]|0)+42>>0]|0)*72|0);k[q>>2]=k[k[k[f>>2]>>2]>>2];k[o>>2]=0;i[c>>0]=0;k[p>>2]=k[(k[b>>2]|0)+12>>2];XB(k[p>>2]|0);k[j>>2]=0;k[m>>2]=(k[s>>2]|0)+8;while(1){if((k[m>>2]|0)>>>0>=(k[n>>2]|0)>>>0){a=19;break}a=d;k[a>>2]=0;k[a+4>>2]=0;i[(k[p>>2]|0)+16>>0]=k[j>>2];a=lC((k[f>>2]|0)+488|0,k[(k[m>>2]|0)+44>>2]|0)|0;s=(k[p>>2]|0)+8|0;k[s>>2]=a;k[s+4>>2]=M;if((l[(k[m>>2]|0)+36>>0]|0|(l[c>>0]|0))&10|0){t=h;a=k[t+4>>2]|0;s=g;k[s>>2]=k[t>>2];k[s+4>>2]=a}i[c>>0]=i[(k[m>>2]|0)+36>>0]|0;if((l[(k[(k[m>>2]|0)+16>>2]|0)+42>>0]|0)&16|0){k[e>>2]=(k[m>>2]|0)+72;while(1){if((k[e>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;t=d;if(!(!((k[t>>2]|0)!=0|(k[t+4>>2]|0)!=0)?!((l[(k[e>>2]|0)+36>>0]|0)&10|0):0)){a=lC((k[f>>2]|0)+488|0,k[(k[e>>2]|0)+44>>2]|0)|0;v=d;s=k[v+4>>2]|M;t=d;k[t>>2]=k[v>>2]|a;k[t+4>>2]=s}k[e>>2]=(k[e>>2]|0)+72}t=g;v=d;v=PC(k[b>>2]|0,k[t>>2]|0,k[t+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[o>>2]=v}else{v=g;v=QC(k[b>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[o>>2]=v}if(!(k[o>>2]|0)){t=g;v=d;v=RC(k[b>>2]|0,k[t>>2]|0,k[t+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[o>>2]=v}s=(k[p>>2]|0)+8|0;a=h;t=k[a+4>>2]|k[s+4>>2];v=h;k[v>>2]=k[a>>2]|k[s>>2];k[v+4>>2]=t;if(k[o>>2]|0){a=19;break}if(l[(k[q>>2]|0)+69>>0]|0|0){a=19;break}k[j>>2]=(k[j>>2]|0)+1;k[m>>2]=(k[m>>2]|0)+72}if((a|0)==19){VB(k[q>>2]|0,k[p>>2]|0);u=r;return k[o>>2]|0}return 0}function gC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=u;u=u+176|0;E=X+40|0;M=X+148|0;P=X+144|0;K=X+162|0;C=X+140|0;V=X+136|0;D=X+132|0;W=X+128|0;L=X+124|0;e=X+120|0;f=X+116|0;g=X+112|0;h=X+108|0;n=X+160|0;o=X+158|0;p=X+104|0;q=X+100|0;r=X+96|0;s=X+92|0;N=X+88|0;t=X+84|0;G=X+80|0;c=X+76|0;v=X+72|0;O=X+68|0;d=X+64|0;w=X+156|0;x=X+154|0;y=X+152|0;z=X+164|0;A=X+32|0;B=X+24|0;H=X+60|0;I=X+16|0;J=X+56|0;Q=X+52|0;R=X+8|0;S=X+48|0;T=X;U=X+44|0;k[P>>2]=a;j[K>>1]=b;k[g>>2]=0;j[n>>1]=0;j[o>>1]=0;k[v>>2]=0;k[D>>2]=k[k[P>>2]>>2];k[W>>2]=k[k[D>>2]>>2];k[V>>2]=l[(k[P>>2]|0)+42>>0];if((k[V>>2]|0)<=1)a=1;else a=(k[V>>2]|0)==2?5:10;k[C>>2]=a;if((k[(k[P>>2]|0)+8>>2]|0)!=0?(j[K>>1]|0)!=0:0)k[h>>2]=k[k[(k[P>>2]|0)+8>>2]>>2];else k[h>>2]=0;b=($(32+(k[V>>2]<<2)|0,k[C>>2]|0)|0)<<1;k[d>>2]=b;k[d>>2]=(k[d>>2]|0)+(k[h>>2]<<1);d=k[d>>2]|0;d=Od(k[W>>2]|0,d,((d|0)<0)<<31>>31)|0;k[O>>2]=d;if(!(k[O>>2]|0)){k[M>>2]=7;W=k[M>>2]|0;u=X;return W|0}k[s>>2]=k[O>>2];k[r>>2]=(k[s>>2]|0)+(k[C>>2]<<5);d=k[r>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[d+28>>2]=0;k[c>>2]=(k[r>>2]|0)+(k[C>>2]<<5);k[e>>2]=k[C>>2]<<1;k[N>>2]=k[s>>2];while(1){if((k[e>>2]|0)<=0)break;k[(k[N>>2]|0)+24>>2]=k[c>>2];k[e>>2]=(k[e>>2]|0)+-1;k[N>>2]=(k[N>>2]|0)+32;k[c>>2]=(k[c>>2]|0)+(k[V>>2]<<2)}if(k[h>>2]|0){k[v>>2]=k[c>>2];w0(k[v>>2]|0,0,k[h>>2]<<1|0)|0}if((k[(k[D>>2]|0)+136>>2]|0)>>>0<48)a=k[(k[D>>2]|0)+136>>2]|0;else a=48;j[(k[r>>2]|0)+16>>1]=a;k[q>>2]=1;if(k[h>>2]|0)i[(k[r>>2]|0)+22>>0]=(k[V>>2]|0)>0?-1:k[h>>2]|0;k[L>>2]=0;while(1){if((k[L>>2]|0)>=(k[V>>2]|0))break;k[p>>2]=0;k[e>>2]=0;k[N>>2]=k[r>>2];while(1){if((k[e>>2]|0)>=(k[q>>2]|0))break;k[G>>2]=k[(k[P>>2]|0)+56>>2];while(1){if(!(k[G>>2]|0))break;i[z>>0]=i[(k[N>>2]|0)+22>>0]|0;c=B;k[c>>2]=0;k[c+4>>2]=0;c=k[G>>2]|0;d=k[N>>2]|0;a:do if(!(k[c>>2]&~k[d>>2]|0?1:(k[c+4>>2]&~k[d+4>>2]|0)!=0)?(c=(k[G>>2]|0)+8|0,d=k[N>>2]|0,!(k[c>>2]&k[d>>2]|0?1:(k[c+4>>2]&k[d+4>>2]|0)!=0)):0){if(k[(k[G>>2]|0)+36>>2]&16384|0?(j[(k[N>>2]|0)+16>>1]|0)<10:0)break;a=LC(j[(k[G>>2]|0)+18>>1]|0,(j[(k[G>>2]|0)+20>>1]|0)+(j[(k[N>>2]|0)+16>>1]|0)&65535)|0;j[y>>1]=a;a=LC(j[y>>1]|0,j[(k[N>>2]|0)+20>>1]|0)|0;j[y>>1]=a;j[w>>1]=(j[(k[N>>2]|0)+16>>1]|0)+(j[(k[G>>2]|0)+22>>1]|0);a=k[N>>2]|0;b=(k[G>>2]|0)+8|0;c=k[a+4>>2]|k[b+4>>2];d=A;k[d>>2]=k[a>>2]|k[b>>2];k[d+4>>2]=c;if((i[z>>0]|0)<0){d=MC(k[P>>2]|0,k[(k[P>>2]|0)+8>>2]|0,k[N>>2]|0,j[(k[P>>2]|0)+40>>1]|0,k[L>>2]&65535,k[G>>2]|0,B)|0;i[z>>0]=d}else{b=(k[N>>2]|0)+8|0;c=k[b+4>>2]|0;d=B;k[d>>2]=k[b>>2];k[d+4>>2]=c}if((i[z>>0]|0)>=0?(i[z>>0]|0)<(k[h>>2]|0):0){if(!(j[(k[v>>2]|0)+(i[z>>0]<<1)>>1]|0)){d=NC(k[P>>2]|0,j[K>>1]|0,k[h>>2]|0,i[z>>0]|0)|0;j[(k[v>>2]|0)+(i[z>>0]<<1)>>1]=d}d=LC(j[y>>1]|0,j[(k[v>>2]|0)+(i[z>>0]<<1)>>1]|0)|0;j[x>>1]=d}else j[x>>1]=j[y>>1]|0;k[f>>2]=0;k[t>>2]=k[s>>2];while(1){if((k[f>>2]|0)>=(k[p>>2]|0))break;c=k[t>>2]|0;d=A;if(((k[c>>2]|0)==(k[d>>2]|0)?(k[c+4>>2]|0)==(k[d+4>>2]|0):0)?((i[(k[t>>2]|0)+22>>0]^i[z>>0])&128|0)==0:0)break;k[f>>2]=(k[f>>2]|0)+1;k[t>>2]=(k[t>>2]|0)+32}do if((k[f>>2]|0)<(k[p>>2]|0)){if((j[(k[t>>2]|0)+18>>1]|0)<(j[x>>1]|0))break a;if((j[(k[t>>2]|0)+18>>1]|0)!=(j[x>>1]|0))break;if((j[(k[t>>2]|0)+16>>1]|0)<=(j[w>>1]|0))break a}else{do if((k[p>>2]|0)>=(k[C>>2]|0)){if((j[x>>1]|0)>(j[n>>1]|0))break a;if((j[x>>1]|0)!=(j[n>>1]|0))break;if((j[y>>1]|0)>=(j[o>>1]|0))break a}while(0);if((k[p>>2]|0)<(k[C>>2]|0)){d=k[p>>2]|0;k[p>>2]=d+1;k[f>>2]=d}else k[f>>2]=k[g>>2];k[t>>2]=(k[s>>2]|0)+(k[f>>2]<<5)}while(0);a=k[N>>2]|0;d=(k[G>>2]|0)+8|0;c=k[a+4>>2]|k[d+4>>2];b=k[t>>2]|0;k[b>>2]=k[a>>2]|k[d>>2];k[b+4>>2]=c;b=B;c=k[b+4>>2]|0;d=(k[t>>2]|0)+8|0;k[d>>2]=k[b>>2];k[d+4>>2]=c;j[(k[t>>2]|0)+16>>1]=j[w>>1]|0;j[(k[t>>2]|0)+18>>1]=j[x>>1]|0;j[(k[t>>2]|0)+20>>1]=j[y>>1]|0;i[(k[t>>2]|0)+22>>0]=i[z>>0]|0;r0(k[(k[t>>2]|0)+24>>2]|0,k[(k[N>>2]|0)+24>>2]|0,k[L>>2]<<2|0)|0;k[(k[(k[t>>2]|0)+24>>2]|0)+(k[L>>2]<<2)>>2]=k[G>>2];if((k[p>>2]|0)>=(k[C>>2]|0)){k[g>>2]=0;j[n>>1]=j[(k[s>>2]|0)+18>>1]|0;j[o>>1]=j[(k[s>>2]|0)+16>>1]|0;k[f>>2]=1;k[t>>2]=(k[s>>2]|0)+32;while(1){if((k[f>>2]|0)>=(k[C>>2]|0))break a;do if((j[(k[t>>2]|0)+18>>1]|0)<=(j[n>>1]|0)){if((j[(k[t>>2]|0)+18>>1]|0)!=(j[n>>1]|0))break;if((j[(k[t>>2]|0)+20>>1]|0)>(j[o>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;j[n>>1]=j[(k[t>>2]|0)+18>>1]|0;j[o>>1]=j[(k[t>>2]|0)+20>>1]|0;k[g>>2]=k[f>>2]}k[f>>2]=(k[f>>2]|0)+1;k[t>>2]=(k[t>>2]|0)+32}}}while(0);k[G>>2]=k[(k[G>>2]|0)+52>>2]}k[e>>2]=(k[e>>2]|0)+1;k[N>>2]=(k[N>>2]|0)+32}k[N>>2]=k[s>>2];k[s>>2]=k[r>>2];k[r>>2]=k[N>>2];k[q>>2]=k[p>>2];k[L>>2]=(k[L>>2]|0)+1}if(!(k[q>>2]|0)){Cl(k[D>>2]|0,34370,E);fe(k[W>>2]|0,k[O>>2]|0);k[M>>2]=1;W=k[M>>2]|0;u=X;return W|0}k[N>>2]=k[r>>2];k[e>>2]=1;while(1){if((k[e>>2]|0)>=(k[q>>2]|0))break;if((j[(k[N>>2]|0)+18>>1]|0)>(j[(k[r>>2]|0)+(k[e>>2]<<5)+18>>1]|0))k[N>>2]=(k[r>>2]|0)+(k[e>>2]<<5);k[e>>2]=(k[e>>2]|0)+1}k[L>>2]=0;while(1){a=k[P>>2]|0;if((k[L>>2]|0)>=(k[V>>2]|0))break;k[H>>2]=a+752+((k[L>>2]|0)*80|0);F=k[(k[(k[N>>2]|0)+24>>2]|0)+(k[L>>2]<<2)>>2]|0;k[G>>2]=F;k[(k[H>>2]|0)+64>>2]=F;i[(k[H>>2]|0)+44>>0]=i[(k[G>>2]|0)+16>>0]|0;k[(k[H>>2]|0)+4>>2]=k[(k[(k[P>>2]|0)+4>>2]|0)+8+((l[(k[H>>2]|0)+44>>0]|0)*72|0)+44>>2];k[L>>2]=(k[L>>2]|0)+1}if((((m[a+40>>1]&256|0?(m[(k[P>>2]|0)+40>>1]&128|0)==0:0)?(l[(k[P>>2]|0)+47>>0]|0)==0:0)?j[K>>1]|0:0)?(L=(MC(k[P>>2]|0,k[(k[P>>2]|0)+12>>2]|0,k[N>>2]|0,128,(k[V>>2]|0)-1&65535,k[(k[(k[N>>2]|0)+24>>2]|0)+((k[V>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,k[J>>2]=L,(k[J>>2]|0)==(k[k[(k[P>>2]|0)+12>>2]>>2]|0)):0)i[(k[P>>2]|0)+47>>0]=2;if(k[(k[P>>2]|0)+8>>2]|0){a=i[(k[N>>2]|0)+22>>0]|0;if(m[(k[P>>2]|0)+40>>1]&128|0){if((a<<24>>24|0)==(k[k[(k[P>>2]|0)+8>>2]>>2]|0))i[(k[P>>2]|0)+47>>0]=2}else{i[(k[P>>2]|0)+43>>0]=a;J=(k[N>>2]|0)+8|0;K=k[J+4>>2]|0;L=(k[P>>2]|0)+64|0;k[L>>2]=k[J>>2];k[L+4>>2]=K;if(((((i[(k[P>>2]|0)+43>>0]|0)<=0?(i[(k[P>>2]|0)+43>>0]=0,(k[V>>2]|0)>0):0)?(k[Q>>2]=k[(k[(k[(k[N>>2]|0)+24>>2]|0)+((k[V>>2]|0)-1<<2)>>2]|0)+36>>2],(k[Q>>2]&4096|0)==0):0)?(k[Q>>2]&260|0)!=260:0)?(Q=R,k[Q>>2]=0,k[Q+4>>2]=0,Q=(MC(k[P>>2]|0,k[(k[P>>2]|0)+8>>2]|0,k[N>>2]|0,2048,(k[V>>2]|0)-1&65535,k[(k[(k[N>>2]|0)+24>>2]|0)+((k[V>>2]|0)-1<<2)>>2]|0,R)|0)<<24>>24,k[S>>2]=Q,(k[S>>2]|0)==(k[k[(k[P>>2]|0)+8>>2]>>2]|0)):0){i[(k[P>>2]|0)+48>>0]=1;Q=R;R=k[Q+4>>2]|0;S=(k[P>>2]|0)+64|0;k[S>>2]=k[Q>>2];k[S+4>>2]=R}}if((m[(k[P>>2]|0)+40>>1]&512|0?((k[V>>2]|0)>0?(i[(k[P>>2]|0)+43>>0]|0)==(k[k[(k[P>>2]|0)+8>>2]>>2]|0):0):0)?(S=T,k[S>>2]=0,k[S+4>>2]=0,V=(MC(k[P>>2]|0,k[(k[P>>2]|0)+8>>2]|0,k[N>>2]|0,0,(k[V>>2]|0)-1&65535,k[(k[(k[N>>2]|0)+24>>2]|0)+((k[V>>2]|0)-1<<2)>>2]|0,T)|0)<<24>>24,k[U>>2]=V,(k[U>>2]|0)==(k[k[(k[P>>2]|0)+8>>2]>>2]|0)):0){i[(k[P>>2]|0)+44>>0]=1;U=k[T+4>>2]|0;V=(k[P>>2]|0)+64|0;k[V>>2]=k[T>>2];k[V+4>>2]=U}}j[(k[P>>2]|0)+72>>1]=j[(k[N>>2]|0)+16>>1]|0;fe(k[W>>2]|0,k[O>>2]|0);k[M>>2]=0;W=k[M>>2]|0;u=X;return W|0}function hC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=u;u=u+32|0;c=g+16|0;d=g+12|0;e=g+8|0;f=g;k[c>>2]=a;k[d>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;if(!(k[d>>2]|0)){e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;M=e;u=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;h=JC(k[c>>2]|0,k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)|0;i=f;a=k[i+4>>2]|M;b=f;k[b>>2]=k[i>>2]|h;k[b+4>>2]=a;k[e>>2]=(k[e>>2]|0)+1}h=f;i=h;i=k[i>>2]|0;h=h+4|0;h=k[h>>2]|0;M=h;u=g;return i|0}function iC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=u;u=u+176|0;p=Y+40|0;X=Y+160|0;J=Y+156|0;K=Y+152|0;L=Y+32|0;N=Y+148|0;s=Y+144|0;t=Y+140|0;v=Y+136|0;w=Y+132|0;O=Y+128|0;P=Y+124|0;x=Y+120|0;Q=Y+116|0;R=Y+112|0;S=Y+108|0;y=Y+104|0;z=Y+100|0;A=Y+96|0;B=Y+92|0;r=Y+88|0;C=Y+24|0;D=Y+16|0;g=Y+164|0;T=Y+84|0;E=Y+80|0;U=Y+76|0;V=Y+72|0;W=Y+68|0;h=Y+64|0;n=Y+60|0;o=Y+8|0;F=Y+56|0;G=Y;H=Y+52|0;I=Y+48|0;k[X>>2]=a;k[J>>2]=b;k[K>>2]=c;c=L;k[c>>2]=d;k[c+4>>2]=e;k[N>>2]=f;i[g>>0]=0;k[T>>2]=0;k[E>>2]=0;k[V>>2]=0;k[O>>2]=k[(k[X>>2]|0)+8>>2];f=Xu(k[O>>2]|0,20)|0;k[P>>2]=f;k[s>>2]=0;k[x>>2]=k[(k[K>>2]|0)+16>>2];k[v>>2]=(k[(k[J>>2]|0)+20>>2]|0)+((k[(k[J>>2]|0)+12>>2]|0)*48|0);k[B>>2]=k[(k[N>>2]|0)+64>>2];f=C;k[f>>2]=0;k[f+4>>2]=0;k[t>>2]=k[(k[J>>2]|0)+20>>2];while(1){if((k[t>>2]|0)>>>0>=(k[v>>2]|0)>>>0)break;k[h>>2]=k[k[t>>2]>>2];f=k[B>>2]|0;if((((k[f>>2]|0)==0&(k[f+4>>2]|0)==0?(m[(k[t>>2]|0)+10>>1]&2|0)==0:0)?(k[(k[h>>2]|0)+4>>2]&1|0)==0:0)?FC(k[h>>2]|0,k[(k[K>>2]|0)+44>>2]|0)|0:0){e=k[k[X>>2]>>2]|0;f=k[T>>2]|0;f=Wx(e,f,ex(k[k[X>>2]>>2]|0,k[h>>2]|0,0)|0)|0;k[T>>2]=f}f=L;if(GC(k[t>>2]|0,k[K>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0){k[n>>2]=k[(k[t>>2]|0)+28>>2];if((k[n>>2]|0)>=64){a=0;b=-2147483648}else{a=t0(1,0,k[n>>2]|0)|0;b=M}f=o;k[f>>2]=a;k[f+4>>2]=b;if(!(i[g>>0]|0)){f=k[(k[(k[x>>2]|0)+4>>2]|0)+(k[n>>2]<<4)>>2]|0;k[p>>2]=k[k[x>>2]>>2];k[p+4>>2]=f;Hd(284,34333,p);i[g>>0]=1}e=C;f=o;if((k[e>>2]&k[f>>2]|0)==0?(k[e+4>>2]&k[f+4>>2]|0)==0:0){if(HC(k[k[X>>2]>>2]|0,k[B>>2]|0,(k[s>>2]|0)+1|0)|0){q=57;break}e=k[t>>2]|0;c=k[(k[B>>2]|0)+48>>2]|0;d=k[s>>2]|0;k[s>>2]=d+1;k[c+(d<<2)>>2]=e;d=o;c=C;e=k[c+4>>2]|k[d+4>>2];f=C;k[f>>2]=k[c>>2]|k[d>>2];k[f+4>>2]=e}}k[t>>2]=(k[t>>2]|0)+48}if((q|0)==57){W=k[X>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;Yk(W,X);u=Y;return}n=k[s>>2]&65535;j[(k[B>>2]|0)+40>>1]=n;j[(k[B>>2]|0)+24>>1]=n;k[(k[B>>2]|0)+36>>2]=16961;n=(k[K>>2]|0)+56|0;o=C;p=k[n+4>>2]&(~k[o+4>>2]|-2147483648);q=D;k[q>>2]=k[n>>2]&~k[o>>2];k[q+4>>2]=p;if(63<(j[(k[x>>2]|0)+34>>1]|0))a=63;else a=j[(k[x>>2]|0)+34>>1]|0;k[z>>2]=a;k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[z>>2]|0))break;q=D;o=k[q>>2]|0;q=k[q+4>>2]|0;p=t0(1,0,k[y>>2]|0)|0;if((o&p|0)!=0|(q&M|0)!=0)k[s>>2]=(k[s>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+1}if(0?1:(k[(k[K>>2]|0)+56+4>>2]&-2147483648|0)!=0)k[s>>2]=(k[s>>2]|0)+((j[(k[x>>2]|0)+34>>1]|0)-64+1);r=IC(k[k[X>>2]>>2]|0,(k[s>>2]|0)+1&65535,0,r)|0;k[w>>2]=r;if(!(k[w>>2]|0)){W=k[X>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;Yk(W,X);u=Y;return}k[(k[B>>2]|0)+24+8>>2]=k[w>>2];k[k[w>>2]>>2]=34359;k[(k[w>>2]|0)+12>>2]=k[x>>2];k[S>>2]=0;r=C;k[r>>2]=0;k[r+4>>2]=0;k[t>>2]=k[(k[J>>2]|0)+20>>2];while(1){if((k[t>>2]|0)>>>0>=(k[v>>2]|0)>>>0)break;r=L;if(GC(k[t>>2]|0,k[K>>2]|0,k[r>>2]|0,k[r+4>>2]|0)|0){k[F>>2]=k[(k[t>>2]|0)+28>>2];if((k[F>>2]|0)>=64){a=0;b=-2147483648}else{a=t0(1,0,k[F>>2]|0)|0;b=M}q=G;k[q>>2]=a;k[q+4>>2]=b;q=C;r=G;if((k[q>>2]&k[r>>2]|0)==0?(k[q+4>>2]&k[r+4>>2]|0)==0:0){k[H>>2]=k[k[t>>2]>>2];p=G;o=C;q=k[o+4>>2]|k[p+4>>2];r=C;k[r>>2]=k[o>>2]|k[p>>2];k[r+4>>2]=q;j[(k[(k[w>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[(k[t>>2]|0)+28>>2];r=Hz(k[X>>2]|0,k[(k[H>>2]|0)+12>>2]|0,k[(k[H>>2]|0)+16>>2]|0)|0;k[A>>2]=r;if(k[A>>2]|0)a=k[k[A>>2]>>2]|0;else a=34455;k[(k[(k[w>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=a;k[S>>2]=(k[S>>2]|0)+1}}k[t>>2]=(k[t>>2]|0)+48}k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[z>>2]|0))break;L=D;G=k[L>>2]|0;L=k[L+4>>2]|0;H=t0(1,0,k[y>>2]|0)|0;if((G&H|0)!=0|(L&M|0)!=0){j[(k[(k[w>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[y>>2];k[(k[(k[w>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=34455;k[S>>2]=(k[S>>2]|0)+1}k[y>>2]=(k[y>>2]|0)+1}a:do if(0?1:(k[(k[K>>2]|0)+56+4>>2]&-2147483648|0)!=0){k[y>>2]=63;while(1){if((k[y>>2]|0)>=(j[(k[x>>2]|0)+34>>1]|0))break a;j[(k[(k[w>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[y>>2];k[(k[(k[w>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=34455;k[S>>2]=(k[S>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+1}}while(0);j[(k[(k[w>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=-1;k[(k[(k[w>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=34455;K=(k[X>>2]|0)+40|0;L=k[K>>2]|0;k[K>>2]=L+1;k[(k[N>>2]|0)+8>>2]=L;_u(k[O>>2]|0,106,k[(k[N>>2]|0)+8>>2]|0,(k[s>>2]|0)+1|0)|0;sy(k[X>>2]|0,k[w>>2]|0);Uy(k[X>>2]|0);k[U>>2]=(k[(k[k[J>>2]>>2]|0)+4>>2]|0)+8+((l[(k[N>>2]|0)+44>>0]|0)*72|0);if((l[(k[U>>2]|0)+36+1>>0]|0)>>>4&1|0){k[I>>2]=k[(k[U>>2]|0)+28>>2];L=_u(k[O>>2]|0,76,0,0)|0;k[V>>2]=L;$u(k[O>>2]|0,15,k[I>>2]|0,0,k[(k[U>>2]|0)+24>>2]|0)|0;L=oy(k[O>>2]|0,16,k[I>>2]|0)|0;k[Q>>2]=L}else{L=oy(k[O>>2]|0,57,k[(k[N>>2]|0)+4>>2]|0)|0;k[Q>>2]=L}if(k[T>>2]|0){L=uy(k[O>>2]|0)|0;k[E>>2]=L;xz(k[X>>2]|0,k[T>>2]|0,k[E>>2]|0,16);L=(k[B>>2]|0)+36|0;k[L>>2]=k[L>>2]|131072}L=Yv(k[X>>2]|0)|0;k[R>>2]=L;L=Oy(k[X>>2]|0,k[w>>2]|0,k[(k[N>>2]|0)+4>>2]|0,k[R>>2]|0,0,0,0,0)|0;k[W>>2]=L;_u(k[O>>2]|0,126,k[(k[N>>2]|0)+8>>2]|0,k[R>>2]|0)|0;ty(k[O>>2]|0,16);if(k[T>>2]|0)yy(k[O>>2]|0,k[E>>2]|0);a=k[O>>2]|0;if((l[(k[U>>2]|0)+36+1>>0]|0)>>>4&1|0){Dy(a,k[V>>2]|0,(k[W>>2]|0)+(k[S>>2]|0)|0);RB(k[O>>2]|0,k[Q>>2]|0,k[(k[N>>2]|0)+4>>2]|0,k[(k[U>>2]|0)+32>>2]|0,1);wy(k[O>>2]|0,k[Q>>2]|0)|0;W=(k[U>>2]|0)+36+1|0;i[W>>0]=i[W>>0]&-17}else _u(a,7,k[(k[N>>2]|0)+4>>2]|0,(k[Q>>2]|0)+1|0)|0;ty(k[O>>2]|0,3);xy(k[O>>2]|0,k[Q>>2]|0);_v(k[X>>2]|0,k[R>>2]|0);Sy(k[X>>2]|0);xy(k[O>>2]|0,k[P>>2]|0);W=k[X>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;Yk(W,X);u=Y;return}function jC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=u;u=u+256|0;K=O+40|0;J=O+32|0;M=O+24|0;L=O+16|0;I=O+8|0;H=O;G=O+144|0;h=O+140|0;n=O+136|0;o=O+132|0;r=O+128|0;s=O+124|0;g=O+148|0;t=O+120|0;v=O+116|0;w=O+112|0;p=O+108|0;x=O+104|0;y=O+100|0;z=O+96|0;A=O+92|0;B=O+88|0;C=O+60|0;q=O+152|0;D=O+56|0;E=O+52|0;F=O+48|0;k[h>>2]=a;k[n>>2]=b;k[o>>2]=c;k[r>>2]=d;k[s>>2]=e;j[g>>1]=f;k[t>>2]=0;do if((l[(k[h>>2]|0)+409>>0]|0|0)==2){k[v>>2]=(k[n>>2]|0)+8+((l[(k[o>>2]|0)+44>>0]|0)*72|0);k[w>>2]=k[(k[h>>2]|0)+8>>2];k[p>>2]=k[k[h>>2]>>2];k[x>>2]=k[(k[h>>2]|0)+420>>2];k[z>>2]=k[(k[o>>2]|0)+64>>2];k[A>>2]=k[(k[z>>2]|0)+36>>2];if((k[A>>2]&8192|0)==0?((m[g>>1]|0)&32|0)==0:0){do if(k[A>>2]&48|0)a=1;else{if((k[A>>2]&1024|0)==0?(m[(k[z>>2]|0)+24>>1]|0|0)>0:0){a=1;break}a=((m[g>>1]|0)&3|0)!=0}while(0);k[y>>2]=a&1;Jd(C,k[p>>2]|0,q,100,1e9);ee(C,k[y>>2]|0?34068:34075);a=k[v>>2]|0;if(k[(k[v>>2]|0)+20>>2]|0){k[H>>2]=l[a+40>>0];yj(C,34080,H)}else{k[I>>2]=k[a+8>>2];yj(C,34093,I)}if(k[(k[v>>2]|0)+12>>2]|0){k[L>>2]=k[(k[v>>2]|0)+12>>2];yj(C,34103,L)}do if(!(k[A>>2]&1280)){k[D>>2]=0;k[E>>2]=k[(k[z>>2]|0)+24+8>>2];if(((l[(k[(k[v>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(i[(k[E>>2]|0)+55>>0]&3|0)==2:0){if(k[y>>2]|0)k[D>>2]=34110}else N=19;do if((N|0)==19){if(k[A>>2]&131072|0){k[D>>2]=34122;break}if(k[A>>2]&16384|0){k[D>>2]=34155;break}if(k[A>>2]&64|0){k[D>>2]=34180;break}else{k[D>>2]=34198;break}}while(0);if(k[D>>2]|0){Zd(C,34207,7);N=k[D>>2]|0;k[M>>2]=k[k[E>>2]>>2];yj(C,N,M);CC(C,k[z>>2]|0)}}else{if(k[A>>2]&256|0?k[A>>2]&15|0:0){do if(!(k[A>>2]&5|0)){if((k[A>>2]&48|0)==48){k[F>>2]=34217;break}if(k[A>>2]&32|0){k[F>>2]=34231;break}else{k[F>>2]=34233;break}}else k[F>>2]=34215;while(0);k[J>>2]=k[F>>2];yj(C,34235,J);break}if(k[A>>2]&1024|0){N=k[(k[z>>2]|0)+24+8>>2]|0;k[K>>2]=k[(k[z>>2]|0)+24>>2];k[K+4>>2]=N;yj(C,34273,K)}}while(0);N=Ld(C)|0;k[B>>2]=N;N=cv(k[w>>2]|0,162,k[x>>2]|0,k[r>>2]|0,k[s>>2]|0,k[B>>2]|0,-1)|0;k[t>>2]=N;break}k[G>>2]=0;N=k[G>>2]|0;u=O;return N|0}while(0);k[G>>2]=k[t>>2];N=k[G>>2]|0;u=O;return N|0}function kC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;hb=u;u=u+448|0;db=hb+8|0;eb=hb+432|0;N=hb+428|0;fb=hb;gb=hb+424|0;Ra=hb+420|0;Sa=hb+416|0;qa=hb+412|0;ra=hb+408|0;Oa=hb+404|0;Za=hb+400|0;sa=hb+396|0;_a=hb+392|0;$a=hb+388|0;ab=hb+384|0;Qa=hb+380|0;bb=hb+376|0;G=hb+372|0;F=hb+368|0;cb=hb+364|0;Pa=hb+360|0;f=hb+356|0;e=hb+352|0;g=hb+348|0;h=hb+344|0;n=hb+340|0;o=hb+336|0;p=hb+332|0;q=hb+328|0;r=hb+324|0;s=hb+320|0;t=hb+316|0;v=hb+312|0;w=hb+308|0;x=hb+304|0;y=hb+300|0;z=hb+296|0;A=hb+292|0;B=hb+288|0;C=hb+284|0;D=hb+280|0;E=hb+276|0;ta=hb+442|0;ua=hb+440|0;va=hb+438|0;wa=hb+272|0;xa=hb+268|0;ya=hb+264|0;za=hb+260|0;Aa=hb+256|0;Ba=hb+252|0;Ca=hb+248|0;Da=hb+244|0;Ea=hb+240|0;H=hb+236|0;Fa=hb+232|0;Ga=hb+228|0;Ha=hb+224|0;Ia=hb+447|0;Ja=hb+446|0;I=hb+220|0;J=hb+445|0;K=hb+444|0;Ka=hb+216|0;La=hb+212|0;Ma=hb+208|0;O=hb+204|0;P=hb+200|0;Q=hb+196|0;R=hb+192|0;S=hb+188|0;T=hb+184|0;U=hb+180|0;V=hb+176|0;W=hb+172|0;X=hb+168|0;Y=hb+164|0;Z=hb+436|0;_=hb+160|0;$=hb+156|0;aa=hb+152|0;ba=hb+148|0;ca=hb+144|0;da=hb+140|0;ea=hb+136|0;fa=hb+132|0;ga=hb+128|0;ha=hb+124|0;ia=hb+120|0;ja=hb+116|0;ka=hb+112|0;la=hb+108|0;ma=hb+104|0;na=hb+100|0;oa=hb+96|0;pa=hb+92|0;L=hb+88|0;Ta=hb+84|0;Ua=hb+80|0;Va=hb+76|0;Wa=hb+72|0;Xa=hb+24|0;Ya=hb+16|0;k[eb>>2]=a;k[N>>2]=b;a=fb;k[a>>2]=c;k[a+4>>2]=d;k[Pa>>2]=0;k[f>>2]=0;k[ab>>2]=k[k[eb>>2]>>2];k[bb>>2]=k[(k[ab>>2]|0)+8>>2];k[_a>>2]=(k[eb>>2]|0)+80;k[Qa>>2]=k[k[ab>>2]>>2];k[Za>>2]=(k[eb>>2]|0)+752+((k[N>>2]|0)*80|0);k[sa>>2]=k[(k[Za>>2]|0)+64>>2];k[G>>2]=(k[(k[eb>>2]|0)+4>>2]|0)+8+((l[(k[Za>>2]|0)+44>>0]|0)*72|0);k[Sa>>2]=k[(k[G>>2]|0)+44>>2];c=fb;a=k[c>>2]|0;c=k[c+4>>2]|0;b=lC((k[eb>>2]|0)+488|0,k[Sa>>2]|0)|0;d=(k[Za>>2]|0)+72|0;k[d>>2]=a&~b;k[d+4>>2]=c&~M;d=(k[eb>>2]|0)+64|0;d=p0(k[d>>2]|0,k[d+4>>2]|0,k[N>>2]|0)|0;k[Oa>>2]=d&1;if(k[(k[sa>>2]|0)+36>>2]&64|0)a=(m[(k[eb>>2]|0)+40>>1]&32|0)==0;else a=0;k[ra>>2]=a&1;d=uy(k[bb>>2]|0)|0;k[(k[Za>>2]|0)+16>>2]=d;k[(k[Za>>2]|0)+12>>2]=d;k[F>>2]=d;d=uy(k[bb>>2]|0)|0;k[(k[Za>>2]|0)+24>>2]=d;k[cb>>2]=d;if((l[(k[Za>>2]|0)+44>>0]|0)>0?l[(k[G>>2]|0)+36>>0]&8|0:0){c=(k[ab>>2]|0)+44|0;d=(k[c>>2]|0)+1|0;k[c>>2]=d;k[k[Za>>2]>>2]=d;_u(k[bb>>2]|0,76,0,k[k[Za>>2]>>2]|0)|0}do if((l[(k[G>>2]|0)+36+1>>0]|0)>>>4&1|0){k[e>>2]=k[(k[G>>2]|0)+28>>2];$u(k[bb>>2]|0,15,k[e>>2]|0,0,k[(k[G>>2]|0)+24>>2]|0)|0;Ra=_u(k[bb>>2]|0,16,k[e>>2]|0,k[F>>2]|0)|0;k[(k[Za>>2]|0)+52>>2]=Ra;i[(k[Za>>2]|0)+45>>0]=13}else{a=k[sa>>2]|0;if(k[(k[sa>>2]|0)+36>>2]&1024|0){k[n>>2]=m[a+40>>1];Uy(k[ab>>2]|0);Ra=Wy(k[ab>>2]|0,(k[n>>2]|0)+2|0)|0;k[g>>2]=Ra;k[h>>2]=k[(k[Za>>2]|0)+12>>2];k[gb>>2]=0;while(1){if((k[gb>>2]|0)>=(k[n>>2]|0))break;k[p>>2]=(k[g>>2]|0)+(k[gb>>2]|0)+2;k[$a>>2]=k[(k[(k[sa>>2]|0)+48>>2]|0)+(k[gb>>2]<<2)>>2];do if(k[$a>>2]|0)if(m[(k[$a>>2]|0)+12>>1]&1|0){mC(k[ab>>2]|0,k[$a>>2]|0,k[Za>>2]|0,k[gb>>2]|0,k[Oa>>2]|0,k[p>>2]|0)|0;k[h>>2]=k[(k[Za>>2]|0)+16>>2];break}else{k[q>>2]=k[(k[k[$a>>2]>>2]|0)+16>>2];nC(k[ab>>2]|0,k[q>>2]|0,k[p>>2]|0,1);break}while(0);k[gb>>2]=(k[gb>>2]|0)+1}_u(k[bb>>2]|0,76,k[(k[sa>>2]|0)+24>>2]|0,k[g>>2]|0)|0;_u(k[bb>>2]|0,76,k[n>>2]|0,(k[g>>2]|0)+1|0)|0;cv(k[bb>>2]|0,11,k[Sa>>2]|0,k[h>>2]|0,k[g>>2]|0,k[(k[sa>>2]|0)+24+8>>2]|0,l[(k[sa>>2]|0)+24+4>>0]|0?-11:-2)|0;i[(k[sa>>2]|0)+24+4>>0]=0;k[(k[Za>>2]|0)+48>>2]=k[Sa>>2];i[(k[Za>>2]|0)+45>>0]=l[(k[eb>>2]|0)+45>>0]|0?161:70;Ra=Zv(k[bb>>2]|0)|0;k[(k[Za>>2]|0)+52>>2]=Ra;k[o>>2]=k[(k[Za>>2]|0)+56>>2];k[gb>>2]=(k[n>>2]|0)-1;while(1){if((k[gb>>2]|0)<0)break;k[$a>>2]=k[(k[(k[sa>>2]|0)+48>>2]|0)+(k[gb>>2]<<2)>>2];if((k[gb>>2]|0)<16?m[(k[sa>>2]|0)+24+6>>1]>>k[gb>>2]&1|0:0)oC(k[Za>>2]|0,k[$a>>2]|0);else Na=21;if((Na|0)==21?(Na=0,m[(k[$a>>2]|0)+12>>1]&1|0):0){if(!(i[(k[Qa>>2]|0)+69>>0]|0)){Oa=k[bb>>2]|0;Pa=k[(k[Za>>2]|0)+56+4>>2]|0;Ra=(k[o>>2]|0)+-1|0;k[o>>2]=Ra;Ra=Ey(Oa,k[Pa+(Ra*12|0)+4>>2]|0)|0;k[t>>2]=Ra;$u(k[bb>>2]|0,l[k[t>>2]>>0]|0,k[(k[t>>2]|0)+4>>2]|0,k[(k[t>>2]|0)+8>>2]|0,k[(k[t>>2]|0)+12>>2]|0)|0}Ra=zt(k[ab>>2]|0,37,0,0,0)|0;k[r>>2]=Ra;if(k[r>>2]|0){k[(k[r>>2]|0)+12>>2]=k[(k[k[$a>>2]>>2]|0)+12>>2];Ra=Rt(k[Qa>>2]|0,157,0)|0;k[s>>2]=Ra;k[(k[r>>2]|0)+16>>2]=Ra;if(k[s>>2]|0){k[(k[s>>2]|0)+28>>2]=(k[g>>2]|0)+(k[gb>>2]|0)+2;xz(k[ab>>2]|0,k[r>>2]|0,k[(k[Za>>2]|0)+24>>2]|0,0)}k[(k[r>>2]|0)+12>>2]=0;Yk(k[Qa>>2]|0,k[r>>2]|0)}}k[gb>>2]=(k[gb>>2]|0)+-1}Sy(k[ab>>2]|0);break}if(k[a+36>>2]&256|0?k[(k[sa>>2]|0)+36>>2]&5|0:0){k[$a>>2]=k[k[(k[sa>>2]|0)+48>>2]>>2];Qa=(k[ab>>2]|0)+44|0;Ra=(k[Qa>>2]|0)+1|0;k[Qa>>2]=Ra;k[f>>2]=Ra;Ra=mC(k[ab>>2]|0,k[$a>>2]|0,k[Za>>2]|0,0,k[Oa>>2]|0,k[f>>2]|0)|0;k[Pa>>2]=Ra;if((k[Pa>>2]|0)!=(k[f>>2]|0))_v(k[ab>>2]|0,k[f>>2]|0);k[qa>>2]=k[(k[Za>>2]|0)+16>>2];$u(k[bb>>2]|0,32,k[Sa>>2]|0,k[qa>>2]|0,k[Pa>>2]|0)|0;jz(k[ab>>2]|0,k[Pa>>2]|0,1);Wz(k[ab>>2]|0,k[Sa>>2]|0,-1,k[Pa>>2]|0);i[(k[Za>>2]|0)+45>>0]=-95;break}if(k[(k[sa>>2]|0)+36>>2]&256|0?k[(k[sa>>2]|0)+36>>2]&2|0:0){k[v>>2]=161;k[x>>2]=0;k[gb>>2]=0;k[z>>2]=0;k[y>>2]=0;if(k[(k[sa>>2]|0)+36>>2]&32|0){Qa=k[(k[sa>>2]|0)+48>>2]|0;Ra=k[gb>>2]|0;k[gb>>2]=Ra+1;k[y>>2]=k[Qa+(Ra<<2)>>2]}if(k[(k[sa>>2]|0)+36>>2]&16|0){Qa=k[(k[sa>>2]|0)+48>>2]|0;Ra=k[gb>>2]|0;k[gb>>2]=Ra+1;k[z>>2]=k[Qa+(Ra<<2)>>2]}if(k[Oa>>2]|0){k[$a>>2]=k[y>>2];k[y>>2]=k[z>>2];k[z>>2]=k[$a>>2]}if(k[y>>2]|0){k[A>>2]=k[k[y>>2]>>2];Ra=(kz(k[(k[A>>2]|0)+16>>2]|0)|0)!=0;a=k[ab>>2]|0;if(Ra){Ra=Yv(a)|0;k[C>>2]=Ra;k[B>>2]=Ra;nC(k[ab>>2]|0,k[(k[A>>2]|0)+16>>2]|0,k[B>>2]|0,1);k[D>>2]=l[34048+((l[k[A>>2]>>0]|0)-38|1)>>0]}else{Ra=mz(a,k[(k[A>>2]|0)+16>>2]|0,C)|0;k[B>>2]=Ra;oC(k[Za>>2]|0,k[y>>2]|0);k[D>>2]=l[34048+((l[k[A>>2]>>0]|0)-38)>>0]}$u(k[bb>>2]|0,k[D>>2]|0,k[Sa>>2]|0,k[F>>2]|0,k[B>>2]|0)|0;jz(k[ab>>2]|0,k[B>>2]|0,1);_v(k[ab>>2]|0,k[C>>2]|0)}else _u(k[bb>>2]|0,k[Oa>>2]|0?53:57,k[Sa>>2]|0,k[F>>2]|0)|0;if(k[z>>2]|0){k[E>>2]=k[k[z>>2]>>2];Qa=(k[ab>>2]|0)+44|0;Ra=(k[Qa>>2]|0)+1|0;k[Qa>>2]=Ra;k[x>>2]=Ra;nC(k[ab>>2]|0,k[(k[E>>2]|0)+16>>2]|0,k[x>>2]|0,1);do if(!(kz(k[(k[E>>2]|0)+16>>2]|0)|0)){if((l[k[E>>2]>>0]|0)!=40?(l[k[E>>2]>>0]|0)!=38:0){Na=54;break}k[v>>2]=k[Oa>>2]|0?39:41}else Na=54;while(0);if((Na|0)==54)k[v>>2]=k[Oa>>2]|0?40:38;if(!(kz(k[(k[E>>2]|0)+16>>2]|0)|0))oC(k[Za>>2]|0,k[z>>2]|0)}Ra=Zv(k[bb>>2]|0)|0;k[w>>2]=Ra;i[(k[Za>>2]|0)+45>>0]=k[Oa>>2]|0?6:7;k[(k[Za>>2]|0)+48>>2]=k[Sa>>2];k[(k[Za>>2]|0)+52>>2]=k[w>>2];if((k[v>>2]|0)==161)break;Qa=(k[ab>>2]|0)+44|0;Ra=(k[Qa>>2]|0)+1|0;k[Qa>>2]=Ra;k[Pa>>2]=Ra;_u(k[bb>>2]|0,123,k[Sa>>2]|0,k[Pa>>2]|0)|0;Wz(k[ab>>2]|0,k[Sa>>2]|0,-1,k[Pa>>2]|0);$u(k[bb>>2]|0,k[v>>2]|0,k[x>>2]|0,k[F>>2]|0,k[Pa>>2]|0)|0;ty(k[bb>>2]|0,83);break}a=k[sa>>2]|0;if(!(k[(k[sa>>2]|0)+36>>2]&512)){if(!(k[a+36>>2]&8192))if((l[(k[G>>2]|0)+36+1>>0]|0)>>>5&1|0){i[(k[Za>>2]|0)+45>>0]=-95;break}else{i[(k[Za>>2]|0)+45>>0]=i[34064+(k[Oa>>2]|0)>>0]|0;k[(k[Za>>2]|0)+48>>2]=k[Sa>>2];Ra=1+(_u(k[bb>>2]|0,l[34066+(k[Oa>>2]|0)>>0]|0,k[Sa>>2]|0,k[F>>2]|0)|0)|0;k[(k[Za>>2]|0)+52>>2]=Ra;i[(k[Za>>2]|0)+47>>0]=1;break}k[Q>>2]=0;a=(k[ab>>2]|0)+40|0;Pa=k[a>>2]|0;k[a>>2]=Pa+1;k[R>>2]=Pa;Pa=(k[ab>>2]|0)+44|0;a=(k[Pa>>2]|0)+1|0;k[Pa>>2]=a;k[S>>2]=a;k[T>>2]=0;k[U>>2]=0;a=uy(k[bb>>2]|0)|0;k[V>>2]=a;k[X>>2]=0;k[_>>2]=0;k[$>>2]=k[(k[G>>2]|0)+16>>2];k[$a>>2]=k[k[(k[sa>>2]|0)+48>>2]>>2];k[O>>2]=k[(k[$a>>2]|0)+28>>2];i[(k[Za>>2]|0)+45>>0]=72;k[(k[Za>>2]|0)+48>>2]=k[S>>2];a=k[eb>>2]|0;a:do if((l[(k[eb>>2]|0)+42>>0]|0)>1){k[aa>>2]=(l[a+42>>0]|0)-(k[N>>2]|0)-1;Pa=Md(k[Qa>>2]|0,80+((k[aa>>2]|0)*72|0)|0,0)|0;k[P>>2]=Pa;if(!(k[P>>2]|0)){eb=fb;gb=k[eb+4>>2]|0;fb=db;k[fb>>2]=k[eb>>2];k[fb+4>>2]=gb;fb=db;gb=fb;gb=k[gb>>2]|0;fb=fb+4|0;fb=k[fb>>2]|0;M=fb;u=hb;return gb|0}k[(k[P>>2]|0)+4>>2]=(k[aa>>2]|0)+1&255;k[k[P>>2]>>2]=k[(k[P>>2]|0)+4>>2];c=(k[P>>2]|0)+8|0;a=k[G>>2]|0;b=c+72|0;do{k[c>>2]=k[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(b|0));k[ba>>2]=(k[(k[eb>>2]|0)+4>>2]|0)+8;k[Ra>>2]=1;while(1){if((k[Ra>>2]|0)>(k[aa>>2]|0))break a;c=(k[P>>2]|0)+8+((k[Ra>>2]|0)*72|0)|0;a=(k[ba>>2]|0)+((l[(k[Za>>2]|0)+((k[Ra>>2]|0)*80|0)+44>>0]|0)*72|0)|0;b=c+72|0;do{k[c>>2]=k[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(b|0));k[Ra>>2]=(k[Ra>>2]|0)+1}}else k[P>>2]=k[a+4>>2];while(0);if(!(m[(k[eb>>2]|0)+40>>1]&16)){if(!(l[(k[$>>2]|0)+42>>0]&32)){Pa=(k[ab>>2]|0)+44|0;Ra=(k[Pa>>2]|0)+1|0;k[Pa>>2]=Ra;k[T>>2]=Ra;_u(k[bb>>2]|0,79,0,k[T>>2]|0)|0}else{Pa=Ev(k[$>>2]|0)|0;k[ca>>2]=Pa;Pa=(k[ab>>2]|0)+40|0;Ra=k[Pa>>2]|0;k[Pa>>2]=Ra+1;k[T>>2]=Ra;_u(k[bb>>2]|0,107,k[T>>2]|0,m[(k[ca>>2]|0)+50>>1]|0)|0;sy(k[ab>>2]|0,k[ca>>2]|0)}Pa=(k[ab>>2]|0)+44|0;Ra=(k[Pa>>2]|0)+1|0;k[Pa>>2]=Ra;k[U>>2]=Ra}Ra=_u(k[bb>>2]|0,76,0,k[S>>2]|0)|0;k[W>>2]=Ra;if((k[(k[_a>>2]|0)+12>>2]|0)>1){k[da>>2]=0;while(1){if((k[da>>2]|0)>=(k[(k[_a>>2]|0)+12>>2]|0))break;k[ea>>2]=k[(k[(k[_a>>2]|0)+20>>2]|0)+((k[da>>2]|0)*48|0)>>2];do if((((k[(k[_a>>2]|0)+20>>2]|0)+((k[da>>2]|0)*48|0)|0)!=(k[$a>>2]|0)?(k[(k[ea>>2]|0)+4>>2]&1|0)==0:0)?(m[(k[(k[_a>>2]|0)+20>>2]|0)+((k[da>>2]|0)*48|0)+10>>1]&6|0)==0:0){if(!(m[(k[(k[_a>>2]|0)+20>>2]|0)+((k[da>>2]|0)*48|0)+12>>1]&8191))break;Ra=ex(k[Qa>>2]|0,k[ea>>2]|0,0)|0;k[ea>>2]=Ra;Ra=Wx(k[Qa>>2]|0,k[_>>2]|0,k[ea>>2]|0)|0;k[_>>2]=Ra}while(0);k[da>>2]=(k[da>>2]|0)+1}if(k[_>>2]|0){Ra=zt(k[ab>>2]|0,284,0,k[_>>2]|0,0)|0;k[_>>2]=Ra}}j[Z>>1]=32|m[(k[eb>>2]|0)+40>>1]&1024;k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(k[(k[O>>2]|0)+12>>2]|0))break;k[fa>>2]=(k[(k[O>>2]|0)+20>>2]|0)+((k[Y>>2]|0)*48|0);if(!((k[(k[fa>>2]|0)+20>>2]|0)!=(k[Sa>>2]|0)?!(m[(k[fa>>2]|0)+12>>1]&1024|0):0)){k[ha>>2]=k[k[fa>>2]>>2];k[ia>>2]=0;if(k[_>>2]|0?(k[(k[ha>>2]|0)+4>>2]&1|0)==0:0){k[(k[_>>2]|0)+12>>2]=k[ha>>2];k[ha>>2]=k[_>>2]}Ra=PB(k[ab>>2]|0,k[P>>2]|0,k[ha>>2]|0,0,0,j[Z>>1]|0,k[R>>2]|0)|0;k[ga>>2]=Ra;if(k[ga>>2]|0){Ra=jC(k[ab>>2]|0,k[P>>2]|0,(k[ga>>2]|0)+752|0,k[N>>2]|0,l[(k[Za>>2]|0)+44>>0]|0,0)|0;k[ka>>2]=Ra;do if(!(m[(k[eb>>2]|0)+40>>1]&16)){k[ma>>2]=(k[Y>>2]|0)==((k[(k[O>>2]|0)+12>>2]|0)-1|0)?-1:k[Y>>2]|0;if(!(l[(k[$>>2]|0)+42>>0]&32)){Ra=gz(k[ab>>2]|0,k[$>>2]|0,-1,k[Sa>>2]|0,k[U>>2]|0,0)|0;k[la>>2]=Ra;Ra=Jy(k[bb>>2]|0,63,k[T>>2]|0,0,k[la>>2]|0,k[ma>>2]|0)|0;k[ia>>2]=Ra;break}Ra=Ev(k[$>>2]|0)|0;k[na>>2]=Ra;k[oa>>2]=m[(k[na>>2]|0)+50>>1];Ra=Wy(k[ab>>2]|0,k[oa>>2]|0)|0;k[la>>2]=Ra;k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[oa>>2]|0))break;k[L>>2]=j[(k[(k[na>>2]|0)+4>>2]|0)+(k[pa>>2]<<1)>>1];uC(k[ab>>2]|0,k[$>>2]|0,k[L>>2]|0,k[Sa>>2]|0,(k[la>>2]|0)+(k[pa>>2]|0)|0);k[pa>>2]=(k[pa>>2]|0)+1}if(k[ma>>2]|0){Ra=Jy(k[bb>>2]|0,31,k[T>>2]|0,0,k[la>>2]|0,k[oa>>2]|0)|0;k[ia>>2]=Ra}do if((k[ma>>2]|0)>=0){$u(k[bb>>2]|0,99,k[la>>2]|0,k[oa>>2]|0,k[U>>2]|0)|0;$u(k[bb>>2]|0,126,k[T>>2]|0,k[U>>2]|0,0)|0;if(!(k[ma>>2]|0))break;ty(k[bb>>2]|0,16)}while(0);Zy(k[ab>>2]|0,k[la>>2]|0,k[oa>>2]|0)}while(0);_u(k[bb>>2]|0,14,k[S>>2]|0,k[V>>2]|0)|0;if(k[ia>>2]|0)xy(k[bb>>2]|0,k[ia>>2]|0);if(i[(k[ga>>2]|0)+46>>0]|0)k[X>>2]=1;k[ja>>2]=k[(k[ga>>2]|0)+752+64>>2];do if(k[(k[ja>>2]|0)+36>>2]&512|0){if(k[Y>>2]|0?(k[(k[ja>>2]|0)+24+8>>2]|0)!=(k[Q>>2]|0):0){Na=191;break}if(l[(k[$>>2]|0)+42>>0]&32|0?(i[(k[(k[ja>>2]|0)+24+8>>2]|0)+55>>0]&3|0)==2:0){Na=191;break}k[Q>>2]=k[(k[ja>>2]|0)+24+8>>2]}else Na=191;while(0);if((Na|0)==191){Na=0;k[Q>>2]=0}QB(k[ga>>2]|0)}}k[Y>>2]=(k[Y>>2]|0)+1}k[(k[Za>>2]|0)+56>>2]=k[Q>>2];if(k[Q>>2]|0)k[(k[Za>>2]|0)+8>>2]=k[R>>2];if(k[_>>2]|0){k[(k[_>>2]|0)+12>>2]=0;Yk(k[Qa>>2]|0,k[_>>2]|0)}Pa=k[bb>>2]|0;Ra=k[W>>2]|0;vC(Pa,Ra,Zv(k[bb>>2]|0)|0);wy(k[bb>>2]|0,k[(k[Za>>2]|0)+12>>2]|0)|0;yy(k[bb>>2]|0,k[V>>2]|0);if((l[(k[eb>>2]|0)+42>>0]|0)>1)fe(k[Qa>>2]|0,k[P>>2]|0);if(k[X>>2]|0)break;oC(k[Za>>2]|0,k[$a>>2]|0);break}j[ta>>1]=j[a+24>>1]|0;j[ua>>1]=j[(k[sa>>2]|0)+24+2>>1]|0;j[va>>1]=j[(k[sa>>2]|0)+24+4>>1]|0;k[xa>>2]=0;k[ya>>2]=0;k[H>>2]=0;k[Ha>>2]=0;i[Ia>>0]=0;i[Ja>>0]=0;k[Da>>2]=k[(k[sa>>2]|0)+24+8>>2];k[Ea>>2]=k[(k[Za>>2]|0)+8>>2];if((m[(k[eb>>2]|0)+40>>1]&1|0?(i[(k[eb>>2]|0)+43>>0]|0)>0:0)?(m[(k[Da>>2]|0)+50>>1]|0)>(m[ta>>1]|0):0){i[Ia>>0]=1;k[H>>2]=1}k[gb>>2]=m[ta>>1];if(k[(k[sa>>2]|0)+36>>2]&32|0){pa=k[(k[sa>>2]|0)+48>>2]|0;Na=k[gb>>2]|0;k[gb>>2]=Na+1;k[xa>>2]=k[pa+(Na<<2)>>2];if((k[H>>2]|0)>(m[(k[sa>>2]|0)+24+2>>1]|0))a=k[H>>2]|0;else a=m[(k[sa>>2]|0)+24+2>>1]|0;k[H>>2]=a}do if(k[(k[sa>>2]|0)+36>>2]&16|0){pa=k[(k[sa>>2]|0)+48>>2]|0;Na=k[gb>>2]|0;k[gb>>2]=Na+1;k[ya>>2]=k[pa+(Na<<2)>>2];if((k[H>>2]|0)>(m[(k[sa>>2]|0)+24+4>>1]|0))a=k[H>>2]|0;else a=m[(k[sa>>2]|0)+24+4>>1]|0;k[H>>2]=a;if(m[(k[ya>>2]|0)+10>>1]&256|0){pa=(k[ab>>2]|0)+44|0;Na=(k[pa>>2]|0)+1|0;k[pa>>2]=Na;k[(k[Za>>2]|0)+36>>2]=Na;_u(k[bb>>2]|0,76,1,k[(k[Za>>2]|0)+36>>2]|0)|0;Na=Zv(k[bb>>2]|0)|0;k[(k[Za>>2]|0)+40>>2]=Na;Na=(k[Za>>2]|0)+36|0;k[Na>>2]=k[Na>>2]<<1;Na=(k[Za>>2]|0)+36|0;k[Na>>2]=k[Na>>2]|k[Oa>>2]^(l[(k[(k[Da>>2]|0)+28>>2]|0)+(m[ta>>1]|0)>>0]|0)==1}if(!(k[xa>>2]|0)){k[gb>>2]=j[(k[(k[Da>>2]|0)+4>>2]|0)+(m[ta>>1]<<1)>>1];if((k[gb>>2]|0)>=0){if(!((k[gb>>2]|0)==-2?1:(l[(k[(k[(k[Da>>2]|0)+12>>2]|0)+4>>2]|0)+(k[gb>>2]<<4)+12>>0]|0)==0))break}else if((k[gb>>2]|0)!=-2)break;i[Ia>>0]=1}}while(0);if((m[ta>>1]|0)<(m[(k[Da>>2]|0)+50>>1]|0)?(k[Oa>>2]|0)==((l[(k[(k[Da>>2]|0)+28>>2]|0)+(m[ta>>1]|0)>>0]|0)==0|0):0)Na=84;else Na=82;if(((Na|0)==82?k[Oa>>2]|0:0)?(m[(k[Da>>2]|0)+50>>1]|0)==(m[ta>>1]|0):0)Na=84;if((Na|0)==84){k[I>>2]=k[ya>>2];k[ya>>2]=k[xa>>2];k[xa>>2]=k[I>>2];i[J>>0]=i[Ia>>0]|0;i[Ia>>0]=i[Ja>>0]|0;i[Ja>>0]=i[J>>0]|0;i[K>>0]=j[ua>>1];j[ua>>1]=j[va>>1]|0;j[va>>1]=l[K>>0]|0}Na=pC(k[ab>>2]|0,k[Za>>2]|0,k[Oa>>2]|0,k[H>>2]|0,Ga)|0;k[wa>>2]=Na;if(k[Ga>>2]|0?m[va>>1]|0:0){Na=fp(k[Qa>>2]|0,(k[Ga>>2]|0)+(m[ta>>1]|0)|0)|0;k[Ha>>2]=Na}k[qa>>2]=k[(k[Za>>2]|0)+16>>2];if(k[xa>>2]|0)a=(m[(k[xa>>2]|0)+12>>1]&40|0)!=0;else a=1;k[za>>2]=a&1;if(k[ya>>2]|0)a=(m[(k[ya>>2]|0)+12>>1]&40|0)!=0;else a=1;k[Aa>>2]=a&1;if(k[xa>>2]|0)a=1;else a=(m[ta>>1]|0)>0;k[Ba>>2]=a&1;k[Ca>>2]=m[ta>>1];if(!(k[xa>>2]|0)){if(i[Ia>>0]|0){_u(k[bb>>2]|0,79,0,(k[wa>>2]|0)+(m[ta>>1]|0)|0)|0;k[Ca>>2]=(k[Ca>>2]|0)+1;k[za>>2]=0;k[Ba>>2]=1}}else{k[Ka>>2]=k[(k[k[xa>>2]>>2]|0)+16>>2];nC(k[ab>>2]|0,k[Ka>>2]|0,(k[wa>>2]|0)+(m[ta>>1]|0)|0,m[ua>>1]|0);qC(k[bb>>2]|0,k[Za>>2]|0,k[xa>>2]|0);do if(!(m[(k[xa>>2]|0)+10>>1]&0)){if(!(Dz(k[Ka>>2]|0)|0))break;_u(k[bb>>2]|0,34,(k[wa>>2]|0)+(m[ta>>1]|0)|0,k[qa>>2]|0)|0}while(0);if(k[Ga>>2]|0)rC(k[Ka>>2]|0,m[ua>>1]|0,(k[Ga>>2]|0)+(m[ta>>1]|0)|0);k[Ca>>2]=(k[Ca>>2]|0)+(m[ua>>1]|0);if(!(kz(k[Ka>>2]|0)|0))oC(k[Za>>2]|0,k[xa>>2]|0);else k[za>>2]=1;i[Ia>>0]=0}sC(k[ab>>2]|0,k[wa>>2]|0,(k[Ca>>2]|0)-(l[Ia>>0]|0)|0,k[Ga>>2]|0);if(!((m[(k[sa>>2]|0)+42>>1]|0)>0?(k[Ca>>2]|0)==(m[(k[sa>>2]|0)+42>>1]|0):0)){k[Fa>>2]=l[34052+((k[Ba>>2]<<2)+(k[za>>2]<<1)+(k[Oa>>2]|0))>>0];Jy(k[bb>>2]|0,k[Fa>>2]|0,k[Ea>>2]|0,k[qa>>2]|0,k[wa>>2]|0,k[Ca>>2]|0)|0}k[Ca>>2]=m[ta>>1];do if(k[ya>>2]|0){k[La>>2]=k[(k[k[ya>>2]>>2]|0)+16>>2];_y(k[ab>>2]|0,(k[wa>>2]|0)+(m[ta>>1]|0)|0,1);nC(k[ab>>2]|0,k[La>>2]|0,(k[wa>>2]|0)+(m[ta>>1]|0)|0,m[va>>1]|0);qC(k[bb>>2]|0,k[Za>>2]|0,k[ya>>2]|0);do if(!(m[(k[ya>>2]|0)+10>>1]&0)){if(!(Dz(k[La>>2]|0)|0))break;_u(k[bb>>2]|0,34,(k[wa>>2]|0)+(m[ta>>1]|0)|0,k[qa>>2]|0)|0}while(0);if(k[Ha>>2]|0){rC(k[La>>2]|0,m[va>>1]|0,k[Ha>>2]|0);sC(k[ab>>2]|0,(k[wa>>2]|0)+(m[ta>>1]|0)|0,m[va>>1]|0,k[Ha>>2]|0)}k[Ca>>2]=(k[Ca>>2]|0)+(m[va>>1]|0);if(!(kz(k[La>>2]|0)|0)){oC(k[Za>>2]|0,k[ya>>2]|0);break}else{k[Aa>>2]=1;break}}else{if(!(i[Ja>>0]|0))break;_u(k[bb>>2]|0,79,0,(k[wa>>2]|0)+(m[ta>>1]|0)|0)|0;k[Aa>>2]=0;k[Ca>>2]=(k[Ca>>2]|0)+1}while(0);fe(k[Qa>>2]|0,k[Ga>>2]|0);fe(k[Qa>>2]|0,k[Ha>>2]|0);Qa=Zv(k[bb>>2]|0)|0;k[(k[Za>>2]|0)+52>>2]=Qa;if(k[Ca>>2]|0){k[Fa>>2]=l[34060+((k[Oa>>2]<<1)+(k[Aa>>2]|0))>>0];Jy(k[bb>>2]|0,k[Fa>>2]|0,k[Ea>>2]|0,k[qa>>2]|0,k[wa>>2]|0,k[Ca>>2]|0)|0}do if(!(k[ra>>2]|0)){if(!(l[(k[(k[Da>>2]|0)+12>>2]|0)+42>>0]&32))if(m[(k[eb>>2]|0)+40>>1]&1024|0){Qa=(k[ab>>2]|0)+44|0;Ra=(k[Qa>>2]|0)+1|0;k[Qa>>2]=Ra;k[Pa>>2]=Ra;_u(k[bb>>2]|0,129,k[Ea>>2]|0,k[Pa>>2]|0)|0;Wz(k[ab>>2]|0,k[Sa>>2]|0,-1,k[Pa>>2]|0);$u(k[bb>>2]|0,33,k[Sa>>2]|0,0,k[Pa>>2]|0)|0;break}else{tC(k[eb>>2]|0,k[Da>>2]|0,k[Sa>>2]|0,k[Ea>>2]|0);break}if((k[Sa>>2]|0)==(k[Ea>>2]|0))break;Qa=Ev(k[(k[Da>>2]|0)+12>>2]|0)|0;k[Ma>>2]=Qa;Qa=Wy(k[ab>>2]|0,m[(k[Ma>>2]|0)+50>>1]|0)|0;k[Pa>>2]=Qa;k[gb>>2]=0;while(1){if((k[gb>>2]|0)>=(m[(k[Ma>>2]|0)+50>>1]|0))break;Qa=(cz(k[Da>>2]|0,j[(k[(k[Ma>>2]|0)+4>>2]|0)+(k[gb>>2]<<1)>>1]|0)|0)<<16>>16;k[Ra>>2]=Qa;$u(k[bb>>2]|0,96,k[Ea>>2]|0,k[Ra>>2]|0,(k[Pa>>2]|0)+(k[gb>>2]|0)|0)|0;k[gb>>2]=(k[gb>>2]|0)+1}Jy(k[bb>>2]|0,30,k[Sa>>2]|0,k[cb>>2]|0,k[Pa>>2]|0,m[(k[Ma>>2]|0)+50>>1]|0)|0}while(0);if(k[(k[sa>>2]|0)+36>>2]&4096|0)i[(k[Za>>2]|0)+45>>0]=-95;else i[(k[Za>>2]|0)+45>>0]=k[Oa>>2]|0?6:7;k[(k[Za>>2]|0)+48>>2]=k[Ea>>2];i[(k[Za>>2]|0)+46>>0]=k[(k[sa>>2]|0)+36>>2]&65536|0?1:0;if(k[(k[sa>>2]|0)+36>>2]&15|0)break;i[(k[Za>>2]|0)+47>>0]=1}while(0);k[$a>>2]=k[(k[_a>>2]|0)+20>>2];k[gb>>2]=k[(k[_a>>2]|0)+12>>2];while(1){if((k[gb>>2]|0)<=0)break;k[Ua>>2]=0;do if(!(m[(k[$a>>2]|0)+10>>1]&6)){Qa=(k[$a>>2]|0)+40|0;Ra=(k[Za>>2]|0)+72|0;if(k[Qa>>2]&k[Ra>>2]|0?1:(k[Qa+4>>2]&k[Ra+4>>2]|0)!=0){i[(k[eb>>2]|0)+46>>0]=1;break}k[Ta>>2]=k[k[$a>>2]>>2];if(k[k[Za>>2]>>2]|0?(k[(k[Ta>>2]|0)+4>>2]&1|0)==0:0)break;if(m[(k[$a>>2]|0)+10>>1]&512|0){k[Va>>2]=k[(k[Za>>2]|0)+36>>2];Ra=oy(k[bb>>2]|0,k[Va>>2]&1|0?22:21,(k[Va>>2]|0)>>>1)|0;k[Ua>>2]=Ra}xz(k[ab>>2]|0,k[Ta>>2]|0,k[cb>>2]|0,16);if(k[Ua>>2]|0)xy(k[bb>>2]|0,k[Ua>>2]|0);Ra=(k[$a>>2]|0)+10|0;j[Ra>>1]=m[Ra>>1]|4}while(0);k[gb>>2]=(k[gb>>2]|0)+-1;k[$a>>2]=(k[$a>>2]|0)+48}k[$a>>2]=k[(k[_a>>2]|0)+20>>2];k[gb>>2]=k[(k[_a>>2]|0)+12>>2];while(1){if((k[gb>>2]|0)<=0)break;if(((((((m[(k[$a>>2]|0)+10>>1]&6|0)==0?m[(k[$a>>2]|0)+12>>1]&130|0:0)?m[(k[$a>>2]|0)+12>>1]&2048|0:0)?(k[(k[$a>>2]|0)+20>>2]|0)==(k[Sa>>2]|0):0)?(k[k[Za>>2]>>2]|0)==0:0)?(k[Wa>>2]=k[k[$a>>2]>>2],eb=fb,eb=wC(k[_a>>2]|0,k[Sa>>2]|0,k[(k[$a>>2]|0)+28>>2]|0,k[eb>>2]|0,k[eb+4>>2]|0,131,0)|0,k[Ya>>2]=eb,k[Ya>>2]|0):0)?(m[(k[Ya>>2]|0)+10>>1]&4|0)==0:0){c=Xa;a=k[k[Ya>>2]>>2]|0;b=c+48|0;do{k[c>>2]=k[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(b|0));k[Xa+12>>2]=k[(k[Wa>>2]|0)+12>>2];xz(k[ab>>2]|0,Xa,k[cb>>2]|0,16)}k[gb>>2]=(k[gb>>2]|0)+-1;k[$a>>2]=(k[$a>>2]|0)+48}b:do if(k[k[Za>>2]>>2]|0){fb=Zv(k[bb>>2]|0)|0;k[(k[Za>>2]|0)+28>>2]=fb;_u(k[bb>>2]|0,76,1,k[k[Za>>2]>>2]|0)|0;OA(k[ab>>2]|0);k[$a>>2]=k[(k[_a>>2]|0)+20>>2];k[gb>>2]=0;while(1){if((k[gb>>2]|0)>=(k[(k[_a>>2]|0)+12>>2]|0))break b;if((m[(k[$a>>2]|0)+10>>1]&6|0)==0?(eb=(k[$a>>2]|0)+40|0,fb=(k[Za>>2]|0)+72|0,!(k[eb>>2]&k[fb>>2]|0?1:(k[eb+4>>2]&k[fb+4>>2]|0)!=0)):0){xz(k[ab>>2]|0,k[k[$a>>2]>>2]|0,k[cb>>2]|0,16);fb=(k[$a>>2]|0)+10|0;j[fb>>1]=m[fb>>1]|4}k[gb>>2]=(k[gb>>2]|0)+1;k[$a>>2]=(k[$a>>2]|0)+48}}while(0);eb=(k[Za>>2]|0)+72|0;gb=k[eb+4>>2]|0;fb=db;k[fb>>2]=k[eb>>2];k[fb+4>>2]=gb;fb=db;gb=fb;gb=k[gb>>2]|0;fb=fb+4|0;fb=k[fb>>2]|0;M=fb;u=hb;return gb|0}function lC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;f=g;c=g+16|0;d=g+12|0;e=g+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0)){a=6;break}b=k[e>>2]|0;if((k[(k[c>>2]|0)+4+(k[e>>2]<<2)>>2]|0)==(k[d>>2]|0)){a=4;break}k[e>>2]=b+1}if((a|0)==4){d=t0(1,0,b|0)|0;e=f;k[e>>2]=d;k[e+4>>2]=M;e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;M=e;u=g;return f|0}else if((a|0)==6){e=f;k[e>>2]=0;k[e+4>>2]=0;e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;M=e;u=g;return f|0}return 0}function mC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=u;u=u+128|0;N=S+120|0;O=S+116|0;P=S+112|0;Q=S+108|0;z=S+104|0;A=S+100|0;g=S+96|0;B=S+92|0;C=S+88|0;D=S+84|0;E=S+80|0;F=S+76|0;G=S+72|0;H=S+68|0;I=S+64|0;r=S+60|0;J=S+56|0;s=S+52|0;h=S+48|0;t=S+44|0;v=S+40|0;w=S+36|0;x=S+32|0;n=S+28|0;o=S+24|0;p=S+20|0;y=S+16|0;q=S+12|0;K=S+8|0;L=S+4|0;M=S;k[O>>2]=a;k[P>>2]=b;k[Q>>2]=c;k[z>>2]=d;k[A>>2]=e;k[g>>2]=f;k[B>>2]=k[k[P>>2]>>2];k[C>>2]=k[(k[O>>2]|0)+8>>2];do if((l[k[B>>2]>>0]|0)!=37?(l[k[B>>2]>>0]|0)!=29:0){if((l[k[B>>2]>>0]|0)==34){k[D>>2]=k[g>>2];_u(k[C>>2]|0,79,0,k[D>>2]|0)|0;break}k[E>>2]=5;k[H>>2]=k[(k[Q>>2]|0)+64>>2];k[r>>2]=0;k[J>>2]=0;if(((k[(k[H>>2]|0)+36>>2]&1024|0)==0?k[(k[H>>2]|0)+24+8>>2]|0:0)?l[(k[(k[(k[H>>2]|0)+24+8>>2]|0)+28>>2]|0)+(k[z>>2]|0)>>0]|0:0)k[A>>2]=((k[A>>2]|0)!=0^1)&1;k[D>>2]=k[g>>2];k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[z>>2]|0))break;if(k[(k[(k[H>>2]|0)+48>>2]|0)+(k[I>>2]<<2)>>2]|0?(k[k[(k[(k[H>>2]|0)+48>>2]|0)+(k[I>>2]<<2)>>2]>>2]|0)==(k[B>>2]|0):0){R=14;break}k[I>>2]=(k[I>>2]|0)+1}if((R|0)==14){oC(k[Q>>2]|0,k[P>>2]|0);k[N>>2]=k[g>>2];R=k[N>>2]|0;u=S;return R|0}k[I>>2]=k[z>>2];while(1){if((k[I>>2]|0)>=(m[(k[H>>2]|0)+40>>1]|0))break;if(k[(k[(k[H>>2]|0)+48>>2]|0)+(k[I>>2]<<2)>>2]|0?(k[k[(k[(k[H>>2]|0)+48>>2]|0)+(k[I>>2]<<2)>>2]>>2]|0)==(k[B>>2]|0):0)k[r>>2]=(k[r>>2]|0)+1;k[I>>2]=(k[I>>2]|0)+1}if((k[(k[B>>2]|0)+4>>2]&2048|0)!=0?(k[k[k[(k[B>>2]|0)+20>>2]>>2]>>2]|0)!=1:0){k[s>>2]=k[(k[B>>2]|0)+20>>2];k[h>>2]=k[k[O>>2]>>2];k[t>>2]=k[k[s>>2]>>2];k[v>>2]=k[(k[(k[B>>2]|0)+12>>2]|0)+20>>2];k[w>>2]=0;k[x>>2]=0;k[I>>2]=k[z>>2];while(1){if((k[I>>2]|0)>=(m[(k[H>>2]|0)+40>>1]|0))break;if((k[k[(k[(k[H>>2]|0)+48>>2]|0)+(k[I>>2]<<2)>>2]>>2]|0)==(k[B>>2]|0)){k[n>>2]=(k[(k[(k[(k[H>>2]|0)+48>>2]|0)+(k[I>>2]<<2)>>2]|0)+24>>2]|0)-1;f=ex(k[h>>2]|0,k[(k[(k[t>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,0)|0;k[o>>2]=f;f=ex(k[h>>2]|0,k[(k[(k[v>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,0)|0;k[p>>2]=f;f=Ot(k[O>>2]|0,k[w>>2]|0,k[o>>2]|0)|0;k[w>>2]=f;f=Ot(k[O>>2]|0,k[x>>2]|0,k[p>>2]|0)|0;k[x>>2]=f}k[I>>2]=(k[I>>2]|0)+1}if(!(i[(k[h>>2]|0)+69>>0]|0)){k[y>>2]=k[(k[B>>2]|0)+12>>2];a:do if(k[(k[s>>2]|0)+44>>2]|0){k[q>>2]=k[(k[s>>2]|0)+44>>2];k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[k[q>>2]>>2]|0))break a;j[(k[(k[q>>2]|0)+4>>2]|0)+((k[I>>2]|0)*20|0)+16>>1]=0;k[I>>2]=(k[I>>2]|0)+1}}while(0);a=k[x>>2]|0;if((k[k[x>>2]>>2]|0)==1)k[(k[B>>2]|0)+12>>2]=k[k[a+4>>2]>>2];else{k[(k[y>>2]|0)+20>>2]=a;f=im(k[k[O>>2]>>2]|0,k[r>>2]<<2,0)|0;k[J>>2]=f}k[k[s>>2]>>2]=k[w>>2];f=Cz(k[O>>2]|0,k[B>>2]|0,4,0,k[J>>2]|0)|0;k[E>>2]=f;k[k[s>>2]>>2]=k[t>>2];k[(k[y>>2]|0)+20>>2]=k[v>>2];k[(k[B>>2]|0)+12>>2]=k[y>>2]}Uk(k[k[O>>2]>>2]|0,k[x>>2]|0);Uk(k[k[O>>2]>>2]|0,k[w>>2]|0)}else{y=Cz(k[O>>2]|0,k[B>>2]|0,4,0,0)|0;k[E>>2]=y}if((k[E>>2]|0)==4)k[A>>2]=((k[A>>2]|0)!=0^1)&1;k[F>>2]=k[(k[B>>2]|0)+28>>2];_u(k[C>>2]|0,k[A>>2]|0?53:57,k[F>>2]|0,0)|0;y=(k[H>>2]|0)+36|0;k[y>>2]=k[y>>2]|2048;if(!(k[(k[Q>>2]|0)+56>>2]|0)){y=uy(k[C>>2]|0)|0;k[(k[Q>>2]|0)+16>>2]=y}k[I>>2]=k[(k[Q>>2]|0)+56>>2];y=(k[Q>>2]|0)+56|0;k[y>>2]=(k[y>>2]|0)+(k[r>>2]|0);y=ti(k[k[O>>2]>>2]|0,k[(k[Q>>2]|0)+56+4>>2]|0,(k[(k[Q>>2]|0)+56>>2]|0)*12|0,0)|0;k[(k[Q>>2]|0)+56+4>>2]=y;k[G>>2]=k[(k[Q>>2]|0)+56+4>>2];b:do if(k[G>>2]|0){k[K>>2]=0;k[G>>2]=(k[G>>2]|0)+((k[I>>2]|0)*12|0);k[I>>2]=k[z>>2];while(1){if((k[I>>2]|0)>=(m[(k[H>>2]|0)+40>>1]|0))break b;if((k[k[(k[(k[H>>2]|0)+48>>2]|0)+(k[I>>2]<<2)>>2]>>2]|0)==(k[B>>2]|0)){k[L>>2]=(k[D>>2]|0)+(k[I>>2]|0)-(k[z>>2]|0);if((k[E>>2]|0)==1){a=_u(k[C>>2]|0,123,k[F>>2]|0,k[L>>2]|0)|0;b=k[G>>2]|0}else{if(k[J>>2]|0){y=k[J>>2]|0;a=k[K>>2]|0;k[K>>2]=a+1;a=k[y+(a<<2)>>2]|0}else a=0;k[M>>2]=a;a=$u(k[C>>2]|0,96,k[F>>2]|0,k[M>>2]|0,k[L>>2]|0)|0;b=k[G>>2]|0}k[b+4>>2]=a;oy(k[C>>2]|0,34,k[L>>2]|0)|0;if((k[I>>2]|0)==(k[z>>2]|0)){k[k[G>>2]>>2]=k[F>>2];a=(k[A>>2]|0?4:5)&255;b=k[G>>2]|0}else{a=-95;b=k[G>>2]|0}i[b+8>>0]=a;k[G>>2]=(k[G>>2]|0)+12}k[I>>2]=(k[I>>2]|0)+1}}else k[(k[Q>>2]|0)+56>>2]=0;while(0);fe(k[k[O>>2]>>2]|0,k[J>>2]|0)}else R=3;while(0);if((R|0)==3){R=fz(k[O>>2]|0,k[(k[B>>2]|0)+16>>2]|0,k[g>>2]|0)|0;k[D>>2]=R}oC(k[Q>>2]|0,k[P>>2]|0);k[N>>2]=k[D>>2];R=k[N>>2]|0;u=S;return R|0}function nC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;g=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;l=n+12|0;m=n+8|0;e=n+4|0;f=n;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;if(!(kz(k[h>>2]|0)|0)){ez(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0);u=n;return}if(k[(k[h>>2]|0)+4>>2]&2048|0){k[l>>2]=k[(k[g>>2]|0)+8>>2];h=sz(k[g>>2]|0,k[h>>2]|0,0,0)|0;k[m>>2]=h;$u(k[l>>2]|0,84,k[m>>2]|0,k[i>>2]|0,(k[j>>2]|0)-1|0)|0;u=n;return}k[f>>2]=k[(k[h>>2]|0)+20>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[j>>2]|0))break;ez(k[g>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,(k[i>>2]|0)+(k[e>>2]|0)|0);k[e>>2]=(k[e>>2]|0)+1}u=n;return}function oC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if(!(k[d>>2]|0)){a=14;break}if((m[(k[d>>2]|0)+10>>1]|0)&4|0){a=14;break}if(k[k[c>>2]>>2]|0?(k[(k[k[d>>2]>>2]|0)+4>>2]&1|0)==0:0){a=14;break}a=(k[c>>2]|0)+72|0;b=(k[d>>2]|0)+40|0;if(!((k[a>>2]&k[b>>2]|0)==0?(k[a+4>>2]&k[b+4>>2]|0)==0:0)){a=14;break}if(k[e>>2]|0?(m[(k[d>>2]|0)+10>>1]|0)&1024|0:0){a=512;b=k[d>>2]|0}else{a=4;b=k[d>>2]|0}b=b+10|0;j[b>>1]=m[b>>1]|0|a;if((k[(k[d>>2]|0)+16>>2]|0)<0){a=14;break}k[d>>2]=(k[(k[(k[d>>2]|0)+4>>2]|0)+20>>2]|0)+((k[(k[d>>2]|0)+16>>2]|0)*48|0);b=(k[d>>2]|0)+14|0;i[b>>0]=(i[b>>0]|0)+-1<<24>>24;if(l[(k[d>>2]|0)+14>>0]|0|0){a=14;break}k[e>>2]=(k[e>>2]|0)+1}if((a|0)==14){u=f;return}}function pC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=u;u=u+80|0;w=A+60|0;x=A+56|0;y=A+52|0;C=A+48|0;z=A+44|0;h=A+66|0;f=A+64|0;l=A+40|0;B=A+36|0;n=A+32|0;o=A+28|0;p=A+24|0;q=A+20|0;r=A+16|0;s=A+12|0;g=A+8|0;t=A+4|0;v=A;k[w>>2]=a;k[x>>2]=b;k[y>>2]=c;k[C>>2]=d;k[z>>2]=e;k[l>>2]=k[(k[w>>2]|0)+8>>2];k[o>>2]=k[(k[x>>2]|0)+64>>2];j[h>>1]=j[(k[o>>2]|0)+24>>1]|0;j[f>>1]=j[(k[o>>2]|0)+42>>1]|0;k[B>>2]=k[(k[o>>2]|0)+24+8>>2];k[q>>2]=(k[(k[w>>2]|0)+44>>2]|0)+1;k[r>>2]=(m[(k[o>>2]|0)+24>>1]|0)+(k[C>>2]|0);e=(k[w>>2]|0)+44|0;k[e>>2]=(k[e>>2]|0)+(k[r>>2]|0);e=k[k[w>>2]>>2]|0;e=fp(e,MA(k[k[w>>2]>>2]|0,k[B>>2]|0)|0)|0;k[s>>2]=e;a:do if(j[f>>1]|0){k[g>>2]=k[(k[x>>2]|0)+8>>2];oy(k[l>>2]|0,k[y>>2]|0?53:57,k[g>>2]|0)|0;C=Xu(k[l>>2]|0,13)|0;k[p>>2]=C;C=Jy(k[l>>2]|0,k[y>>2]|0?23:26,k[g>>2]|0,0,k[q>>2]|0,m[f>>1]|0)|0;k[(k[x>>2]|0)+20>>2]=C;xy(k[l>>2]|0,k[p>>2]|0);k[p>>2]=0;while(1){if((k[p>>2]|0)>=(m[f>>1]|0))break a;$u(k[l>>2]|0,96,k[g>>2]|0,k[p>>2]|0,(k[q>>2]|0)+(k[p>>2]|0)|0)|0;k[p>>2]=(k[p>>2]|0)+1}}while(0);k[p>>2]=m[f>>1];while(1){if((k[p>>2]|0)>=(m[h>>1]|0))break;k[n>>2]=k[(k[(k[o>>2]|0)+48>>2]|0)+(k[p>>2]<<2)>>2];C=mC(k[w>>2]|0,k[n>>2]|0,k[x>>2]|0,k[p>>2]|0,k[y>>2]|0,(k[q>>2]|0)+(k[p>>2]|0)|0)|0;k[t>>2]=C;do if((k[t>>2]|0)!=((k[q>>2]|0)+(k[p>>2]|0)|0))if((k[r>>2]|0)==1){_v(k[w>>2]|0,k[q>>2]|0);k[q>>2]=k[t>>2];break}else{_u(k[l>>2]|0,85,k[t>>2]|0,(k[q>>2]|0)+(k[p>>2]|0)|0)|0;break}while(0);a=k[n>>2]|0;if(m[(k[n>>2]|0)+12>>1]&1|0){if(k[s>>2]|0?(k[(k[a>>2]|0)+4>>2]&2048|0)!=0:0)i[(k[s>>2]|0)+(k[p>>2]|0)>>0]=65}else if(!(m[a+12>>1]&256)){k[v>>2]=k[(k[k[n>>2]>>2]|0)+16>>2];if((m[(k[n>>2]|0)+10>>1]&2048|0)==0?Dz(k[v>>2]|0)|0:0)_u(k[l>>2]|0,34,(k[q>>2]|0)+(k[p>>2]|0)|0,k[(k[x>>2]|0)+12>>2]|0)|0;if(k[s>>2]|0){if(((Gz(k[v>>2]|0,i[(k[s>>2]|0)+(k[p>>2]|0)>>0]|0)|0)<<24>>24|0)==65)i[(k[s>>2]|0)+(k[p>>2]|0)>>0]=65;if(BC(k[v>>2]|0,i[(k[s>>2]|0)+(k[p>>2]|0)>>0]|0)|0)i[(k[s>>2]|0)+(k[p>>2]|0)>>0]=65}}k[p>>2]=(k[p>>2]|0)+1}k[k[z>>2]>>2]=k[s>>2];u=A;return k[q>>2]|0}function qC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[h>>2]=c;if(!((m[(k[h>>2]|0)+10>>1]|0)&256)){u=g;return}h=Ey(k[d>>2]|0,-1)|0;k[f>>2]=h;k[(k[f>>2]|0)+12>>2]=(k[(k[e>>2]|0)+36>>2]|0)>>>1;i[(k[f>>2]|0)+3>>0]=k[(k[e>>2]|0)+36>>2]&1;u=g;return}function rC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;c=Ez(k[d>>2]|0,k[g>>2]|0)|0;k[h>>2]=c;if(!(((Gz(k[h>>2]|0,i[(k[f>>2]|0)+(k[g>>2]|0)>>0]|0)|0)<<24>>24|0)!=65?!(BC(k[h>>2]|0,i[(k[f>>2]|0)+(k[g>>2]|0)>>0]|0)|0):0))i[(k[f>>2]|0)+(k[g>>2]|0)>>0]=65;k[g>>2]=(k[g>>2]|0)+1}u=j;return}function sC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=k[(k[e>>2]|0)+8>>2];if(!(k[h>>2]|0)){u=l;return}while(1){if((k[g>>2]|0)<=0)break;if((i[k[h>>2]>>0]|0)!=65)break;k[g>>2]=(k[g>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}while(1){if((k[g>>2]|0)>1)b=(i[(k[h>>2]|0)+((k[g>>2]|0)-1)>>0]|0)==65;else b=0;a=k[g>>2]|0;if(!b)break;k[g>>2]=a+-1}if((a|0)<=0){u=l;return}cv(k[j>>2]|0,98,k[f>>2]|0,k[g>>2]|0,0,k[h>>2]|0,k[g>>2]|0)|0;jz(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0);u=l;return}function tC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;n=u;u=u+48|0;o=n+32|0;h=n+28|0;p=n+24|0;q=n+20|0;i=n+16|0;l=n+12|0;e=n+8|0;f=n+4|0;g=n;k[o>>2]=a;k[h>>2]=b;k[p>>2]=c;k[q>>2]=d;k[i>>2]=k[k[o>>2]>>2];k[l>>2]=k[(k[i>>2]|0)+8>>2];$u(k[l>>2]|0,128,k[q>>2]|0,0,k[p>>2]|0)|0;if(!(m[(k[o>>2]|0)+40>>1]&32)){u=n;return}a=k[i>>2]|0;if(k[(k[i>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;if(k[a+92>>2]|0){u=n;return}k[f>>2]=k[(k[h>>2]|0)+12>>2];q=im(k[k[i>>2]>>2]|0,(j[(k[f>>2]|0)+34>>1]|0)+1<<2,0)|0;k[g>>2]=q;if(!(k[g>>2]|0)){u=n;return}k[k[g>>2]>>2]=j[(k[f>>2]|0)+34>>1];k[e>>2]=0;while(1){if((k[e>>2]|0)>=((m[(k[h>>2]|0)+52>>1]|0)-1|0))break;if((j[(k[(k[h>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)>=0)k[(k[g>>2]|0)+((j[(k[(k[h>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)+1<<2)>>2]=(k[e>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+1}dv(k[l>>2]|0,-1,k[g>>2]|0,-15);u=n;return}function uC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=u;u=u+32|0;g=i+20|0;m=i+16|0;l=i+12|0;j=i+8|0;h=i+4|0;f=i;k[g>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[h>>2]=e;e=gz(k[g>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[h>>2]|0,0)|0;k[f>>2]=e;if((k[f>>2]|0)==(k[h>>2]|0)){u=i;return}_u(k[(k[g>>2]|0)+8>>2]|0,85,k[f>>2]|0,k[h>>2]|0)|0;u=i;return}function vC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;b=k[g>>2]|0;c=(Ey(k[f>>2]|0,k[e>>2]|0)|0)+4|0;k[c>>2]=b;u=d;return}function wC(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=u;u=u+144|0;o=p+132|0;t=p+128|0;s=p+124|0;r=p+120|0;h=p;i=p+116|0;q=p+112|0;l=p+108|0;n=p+104|0;j=p+8|0;k[t>>2]=a;k[s>>2]=b;k[r>>2]=c;c=h;k[c>>2]=d;k[c+4>>2]=e;k[i>>2]=f;k[q>>2]=g;k[l>>2]=0;g=xC(j,k[t>>2]|0,k[s>>2]|0,k[r>>2]|0,k[i>>2]|0,k[q>>2]|0)|0;k[n>>2]=g;k[i>>2]=k[i>>2]&130;while(1){if(!(k[n>>2]|0)){a=10;break}s=(k[n>>2]|0)+32|0;t=h;if((k[s>>2]&k[t>>2]|0)==0?(k[s+4>>2]&k[t+4>>2]|0)==0:0){t=(k[n>>2]|0)+32|0;if((k[t>>2]|0)==0&(k[t+4>>2]|0)==0?(m[(k[n>>2]|0)+12>>1]|0)&k[i>>2]|0:0){a=6;break}if(!(k[l>>2]|0))k[l>>2]=k[n>>2]}t=yC(j)|0;k[n>>2]=t}if((a|0)==6){k[o>>2]=k[n>>2];t=k[o>>2]|0;u=p;return t|0}else if((a|0)==10){k[o>>2]=k[l>>2];t=k[o>>2]|0;u=p;return t|0}return 0}function xC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;m=p+24|0;q=p+20|0;n=p+16|0;o=p+12|0;l=p+8|0;g=p+4|0;h=p;k[m>>2]=a;k[q>>2]=b;k[n>>2]=c;k[o>>2]=d;k[l>>2]=e;k[g>>2]=f;k[h>>2]=0;k[k[m>>2]>>2]=k[q>>2];k[(k[m>>2]|0)+4>>2]=k[q>>2];k[(k[m>>2]|0)+12>>2]=0;if(k[g>>2]|0){k[h>>2]=k[o>>2];k[o>>2]=j[(k[(k[g>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1];if((k[o>>2]|0)==-2)k[(k[m>>2]|0)+12>>2]=k[(k[(k[(k[g>>2]|0)+40>>2]|0)+4>>2]|0)+((k[h>>2]|0)*20|0)>>2];if((k[o>>2]|0)==(j[(k[(k[g>>2]|0)+12>>2]|0)+32>>1]|0))k[o>>2]=-1}if((k[g>>2]|0)!=0&(k[o>>2]|0)>=0){i[(k[m>>2]|0)+16>>0]=i[(k[(k[(k[g>>2]|0)+12>>2]|0)+4>>2]|0)+(k[o>>2]<<4)+13>>0]|0;a=k[(k[(k[g>>2]|0)+32>>2]|0)+(k[h>>2]<<2)>>2]|0;b=k[m>>2]|0}else{i[(k[m>>2]|0)+16>>0]=0;a=0;b=k[m>>2]|0}k[b+8>>2]=a;k[(k[m>>2]|0)+20>>2]=k[l>>2];k[(k[m>>2]|0)+24>>2]=0;k[(k[m>>2]|0)+28>>2]=k[n>>2];j[(k[m>>2]|0)+72>>1]=k[o>>2];i[(k[m>>2]|0)+17>>0]=1;i[(k[m>>2]|0)+18>>0]=1;q=yC(k[m>>2]|0)|0;u=p;return q|0}function yC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;n=r+36|0;o=r+32|0;d=r+28|0;e=r+40|0;f=r+24|0;g=r+20|0;p=r+16|0;q=r+12|0;h=r+8|0;b=r+4|0;c=r;k[o>>2]=a;k[q>>2]=k[(k[o>>2]|0)+24>>2];a:while(1){if((l[(k[o>>2]|0)+18>>0]|0)>(l[(k[o>>2]|0)+17>>0]|0)){a=40;break}k[d>>2]=k[(k[o>>2]|0)+28+((l[(k[o>>2]|0)+18>>0]|0)-1<<2)>>2];j[e>>1]=j[(k[o>>2]|0)+72+((l[(k[o>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((j[e>>1]|0)==-2?(k[(k[o>>2]|0)+12>>2]|0)==0:0){a=5;break}while(1){a=k[(k[o>>2]|0)+4>>2]|0;k[g>>2]=a;if(!a)break;k[p>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[q>>2]|0)*48|0);while(1){if((k[q>>2]|0)>=(k[(k[g>>2]|0)+12>>2]|0))break;do if((k[(k[p>>2]|0)+20>>2]|0)==(k[d>>2]|0)?(k[(k[p>>2]|0)+28>>2]|0)==(j[e>>1]|0):0){if((j[e>>1]|0)==-2?gx(k[(k[k[p>>2]>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[d>>2]|0)|0:0)break;if((l[(k[o>>2]|0)+18>>0]|0)>1?k[(k[k[p>>2]>>2]|0)+4>>2]&1|0:0)break;if((m[(k[p>>2]|0)+12>>1]&2048|0?(l[(k[o>>2]|0)+17>>0]|0)<11:0)?(a=Iw(k[(k[k[p>>2]>>2]|0)+16>>2]|0)|0,k[f>>2]=a,(l[a>>0]|0)==152):0){k[h>>2]=0;while(1){if((k[h>>2]|0)>=(l[(k[o>>2]|0)+17>>0]|0))break;if((k[(k[o>>2]|0)+28+(k[h>>2]<<2)>>2]|0)==(k[(k[f>>2]|0)+28>>2]|0)?(j[(k[o>>2]|0)+72+(k[h>>2]<<1)>>1]|0)==(j[(k[f>>2]|0)+32>>1]|0):0)break;k[h>>2]=(k[h>>2]|0)+1}if((k[h>>2]|0)==(l[(k[o>>2]|0)+17>>0]|0)){k[(k[o>>2]|0)+28+(k[h>>2]<<2)>>2]=k[(k[f>>2]|0)+28>>2];j[(k[o>>2]|0)+72+(k[h>>2]<<1)>>1]=j[(k[f>>2]|0)+32>>1]|0;a=(k[o>>2]|0)+17|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}}if(m[(k[p>>2]|0)+12>>1]&k[(k[o>>2]|0)+20>>2]|0){if(k[(k[o>>2]|0)+8>>2]|0?(m[(k[p>>2]|0)+12>>1]&256|0)==0:0){k[c>>2]=k[k[k[g>>2]>>2]>>2];k[f>>2]=k[k[p>>2]>>2];if(!(zC(k[f>>2]|0,i[(k[o>>2]|0)+16>>0]|0)|0))break;a=Hz(k[c>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[b>>2]=a;if(!(k[b>>2]|0))k[b>>2]=k[(k[k[c>>2]>>2]|0)+8>>2];if(lh(k[k[b>>2]>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0)break}if(!(m[(k[p>>2]|0)+12>>1]&130)){a=36;break a}a=k[(k[k[p>>2]>>2]|0)+16>>2]|0;k[f>>2]=a;if((l[a>>0]|0)!=152){a=36;break a}if((k[(k[f>>2]|0)+28>>2]|0)!=(k[(k[o>>2]|0)+28>>2]|0)){a=36;break a}if((j[(k[f>>2]|0)+32>>1]|0)!=(j[(k[o>>2]|0)+72>>1]|0)){a=36;break a}}}while(0);k[q>>2]=(k[q>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+48}k[(k[o>>2]|0)+4>>2]=k[(k[(k[o>>2]|0)+4>>2]|0)+4>>2];k[q>>2]=0}k[(k[o>>2]|0)+4>>2]=k[k[o>>2]>>2];k[q>>2]=0;a=(k[o>>2]|0)+18|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}if((a|0)==5){k[n>>2]=0;q=k[n>>2]|0;u=r;return q|0}else if((a|0)==36){k[(k[o>>2]|0)+24>>2]=(k[q>>2]|0)+1;k[n>>2]=k[p>>2];q=k[n>>2]|0;u=r;return q|0}else if((a|0)==40){k[n>>2]=0;q=k[n>>2]|0;u=r;return q|0}return 0}function zC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=u;u=u+16|0;c=e+4|0;g=e;d=e+9|0;f=e+8|0;k[g>>2]=a;i[d>>0]=b;b=AC(k[g>>2]|0)|0;i[f>>0]=b;switch(i[f>>0]|0){case 65:{k[c>>2]=1;break}case 66:{k[c>>2]=(i[d>>0]|0)==66&1;break}default:k[c>>2]=(i[d>>0]|0)>=67&1}u=e;return k[c>>2]|0}function AC(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d;c=d+4|0;k[b>>2]=a;a=Aw(k[(k[b>>2]|0)+12>>2]|0)|0;i[c>>0]=a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+16>>2]|0){b=Gz(k[a+16>>2]|0,i[c>>0]|0)|0;i[c>>0]=b;c=i[c>>0]|0;u=d;return c|0}if(k[a+4>>2]&2048|0){b=Gz(k[k[(k[k[(k[b>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,i[c>>0]|0)|0;i[c>>0]=b;c=i[c>>0]|0;u=d;return c|0}if(i[c>>0]|0){c=i[c>>0]|0;u=d;return c|0}i[c>>0]=65;c=i[c>>0]|0;u=d;return c|0}function BC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;f=g+4|0;c=g;d=g+9|0;e=g+8|0;k[c>>2]=a;i[d>>0]=b;a:do if((i[d>>0]|0)==65)k[f>>2]=1;else{while(1){if((l[k[c>>2]>>0]|0)==156)b=1;else b=(l[k[c>>2]>>0]|0)==155;a=k[c>>2]|0;if(!b)break;k[c>>2]=k[a+12>>2]}i[e>>0]=i[a>>0]|0;if((l[e>>0]|0)==157)i[e>>0]=i[(k[c>>2]|0)+38>>0]|0;switch(l[e>>0]|0){case 134:{if((i[d>>0]|0)==68)a=1;else a=(i[d>>0]|0)==67;k[f>>2]=a&1;break a}case 132:{if((i[d>>0]|0)==69)a=1;else a=(i[d>>0]|0)==67;k[f>>2]=a&1;break a}case 97:{k[f>>2]=(i[d>>0]|0)==66&1;break a}case 133:{k[f>>2]=1;break a}case 152:{if((j[(k[c>>2]|0)+32>>1]|0)<0)if((i[d>>0]|0)==68)a=1;else a=(i[d>>0]|0)==67;else a=0;k[f>>2]=a&1;break a}default:{k[f>>2]=0;break a}}}while(0);u=g;return k[f>>2]|0}function CC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;o=u;u=u+32|0;n=o;c=o+24|0;d=o+20|0;e=o+16|0;f=o+30|0;g=o+28|0;h=o+12|0;i=o+8|0;l=o+4|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+24+8>>2];j[f>>1]=j[(k[d>>2]|0)+24>>1]|0;j[g>>1]=j[(k[d>>2]|0)+42>>1]|0;if((m[f>>1]|0|0)==0?(k[(k[d>>2]|0)+36>>2]&48|0)==0:0){u=o;return}Zd(k[c>>2]|0,34300,2);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(m[f>>1]|0|0))break;b=DC(k[e>>2]|0,k[h>>2]|0)|0;k[l>>2]=b;if(k[h>>2]|0)Zd(k[c>>2]|0,34303,5);a=k[c>>2]|0;b=(k[h>>2]|0)>=(m[g>>1]|0|0)?34309:34314;k[n>>2]=k[l>>2];yj(a,b,n);k[h>>2]=(k[h>>2]|0)+1}k[i>>2]=k[h>>2];if(k[(k[d>>2]|0)+36>>2]&32|0){EC(k[c>>2]|0,k[e>>2]|0,m[(k[d>>2]|0)+24+2>>1]|0,k[i>>2]|0,k[h>>2]|0,34231);k[h>>2]=1}if(k[(k[d>>2]|0)+36>>2]&16|0)EC(k[c>>2]|0,k[e>>2]|0,m[(k[d>>2]|0)+24+4>>1]|0,k[i>>2]|0,k[h>>2]|0,34233);Zd(k[c>>2]|0,34322,1);u=o;return}function DC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;k[e>>2]=j[(k[(k[d>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1];if((k[e>>2]|0)==-2){k[c>>2]=34326;e=k[c>>2]|0;u=f;return e|0}if((k[e>>2]|0)==-1){k[c>>2]=26001;e=k[c>>2]|0;u=f;return e|0}else{k[c>>2]=k[(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(k[e>>2]<<4)>>2];e=k[c>>2]|0;u=f;return e|0}return 0}function EC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+20|0;l=n+16|0;m=n+12|0;o=n+8|0;g=n+4|0;h=n;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[o>>2]=e;k[g>>2]=f;if(k[o>>2]|0)Zd(k[i>>2]|0,34303,5);if((k[l>>2]|0)>1)Zd(k[i>>2]|0,34324,1);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[l>>2]|0))break;if(k[h>>2]|0)Zd(k[i>>2]|0,22226,1);o=k[i>>2]|0;ee(o,DC(k[j>>2]|0,(k[m>>2]|0)+(k[h>>2]|0)|0)|0);k[h>>2]=(k[h>>2]|0)+1}if((k[l>>2]|0)>1)Zd(k[i>>2]|0,34322,1);Zd(k[i>>2]|0,k[g>>2]|0,1);if((k[l>>2]|0)>1)Zd(k[i>>2]|0,34324,1);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[l>>2]|0))break;if(k[h>>2]|0)Zd(k[i>>2]|0,22226,1);Zd(k[i>>2]|0,27259,1);k[h>>2]=(k[h>>2]|0)+1}if((k[l>>2]|0)<=1){u=n;return}Zd(k[i>>2]|0,34322,1);u=n;return}function FC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Mz(k[e>>2]|0,3,k[d>>2]|0)|0;u=c;return b|0}function GC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l;j=l+20|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;if((k[(k[f>>2]|0)+20>>2]|0)!=(k[(k[g>>2]|0)+44>>2]|0)){k[e>>2]=0;j=k[e>>2]|0;u=l;return j|0}if(!((m[(k[f>>2]|0)+12>>1]|0)&130)){k[e>>2]=0;j=k[e>>2]|0;u=l;return j|0}d=(k[f>>2]|0)+32|0;if(k[d>>2]&k[h>>2]|0?1:(k[d+4>>2]&k[h+4>>2]|0)!=0){k[e>>2]=0;j=k[e>>2]|0;u=l;return j|0}if((k[(k[f>>2]|0)+28>>2]|0)<0){k[e>>2]=0;j=k[e>>2]|0;u=l;return j|0}i[j>>0]=i[(k[(k[(k[g>>2]|0)+16>>2]|0)+4>>2]|0)+(k[(k[f>>2]|0)+28>>2]<<4)+13>>0]|0;if(zC(k[k[f>>2]>>2]|0,i[j>>0]|0)|0){k[e>>2]=1;j=k[e>>2]|0;u=l;return j|0}else{k[e>>2]=0;j=k[e>>2]|0;u=l;return j|0}return 0}function HC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((m[(k[f>>2]|0)+44>>1]|0|0)>=(k[g>>2]|0)){k[d>>2]=0;h=k[d>>2]|0;u=i;return h|0}k[g>>2]=(k[g>>2]|0)+7&-8;c=Od(k[e>>2]|0,k[g>>2]<<2,0)|0;k[h>>2]=c;if(!(k[h>>2]|0)){k[d>>2]=7;h=k[d>>2]|0;u=i;return h|0}r0(k[h>>2]|0,k[(k[f>>2]|0)+48>>2]|0,(m[(k[f>>2]|0)+44>>1]|0)<<2|0)|0;if((k[(k[f>>2]|0)+48>>2]|0)!=((k[f>>2]|0)+56|0))fe(k[e>>2]|0,k[(k[f>>2]|0)+48>>2]|0);k[(k[f>>2]|0)+48>>2]=k[h>>2];j[(k[f>>2]|0)+44>>1]=k[g>>2];k[d>>2]=0;h=k[d>>2]|0;u=i;return h|0}function IC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;l=u;u=u+32|0;m=l+20|0;f=l+24|0;n=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;e=l;k[m>>2]=a;j[f>>1]=b;k[n>>2]=c;k[g>>2]=d;k[i>>2]=56+((j[f>>1]<<2)+7&-8)+(((j[f>>1]|0)+1<<1)+(j[f>>1]<<1)+(j[f>>1]|0)+7&-8);d=(k[i>>2]|0)+(k[n>>2]|0)|0;d=im(k[m>>2]|0,d,((d|0)<0)<<31>>31)|0;k[h>>2]=d;if(!(k[h>>2]|0)){n=k[h>>2]|0;u=l;return n|0}k[e>>2]=(k[h>>2]|0)+56;k[(k[h>>2]|0)+32>>2]=k[e>>2];k[e>>2]=(k[e>>2]|0)+((j[f>>1]<<2)+7&-8);k[(k[h>>2]|0)+8>>2]=k[e>>2];k[e>>2]=(k[e>>2]|0)+((j[f>>1]|0)+1<<1);k[(k[h>>2]|0)+4>>2]=k[e>>2];k[e>>2]=(k[e>>2]|0)+(j[f>>1]<<1);k[(k[h>>2]|0)+28>>2]=k[e>>2];j[(k[h>>2]|0)+52>>1]=j[f>>1]|0;j[(k[h>>2]|0)+50>>1]=(j[f>>1]|0)-1;k[k[g>>2]>>2]=(k[h>>2]|0)+(k[i>>2]|0);n=k[h>>2]|0;u=l;return n|0}function JC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=u;u=u+32|0;c=g+8|0;d=g+20|0;e=g+16|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){e=c;k[e>>2]=0;k[e+4>>2]=0;e=c;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;M=e;u=g;return f|0}if((l[k[e>>2]>>0]|0|0)==152){e=lC(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0)|0;d=f;k[d>>2]=e;k[d+4>>2]=M;d=f;f=k[d+4>>2]|0;e=c;k[e>>2]=k[d>>2];k[e+4>>2]=f;e=c;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;M=e;u=g;return f|0}if(k[(k[e>>2]|0)+16>>2]|0){a=JC(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0;b=M}else{a=0;b=0}h=f;k[h>>2]=a;k[h+4>>2]=b;if(k[(k[e>>2]|0)+12>>2]|0){a=JC(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0;i=f;b=k[i+4>>2]|M;h=f;k[h>>2]=k[i>>2]|a;k[h+4>>2]=b}if(!(k[(k[e>>2]|0)+4>>2]&2048|0)){if(k[(k[e>>2]|0)+20>>2]|0){e=hC(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;d=f;h=k[d+4>>2]|M;i=f;k[i>>2]=k[d>>2]|e;k[i+4>>2]=h}}else{e=KC(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;d=f;h=k[d+4>>2]|M;i=f;k[i>>2]=k[d>>2]|e;k[i+4>>2]=h}i=k[f+4>>2]|0;h=c;k[h>>2]=k[f>>2];k[h+4>>2]=i;h=c;i=h;i=k[i>>2]|0;h=h+4|0;h=k[h>>2]|0;M=h;u=g;return i|0}function KC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;c=h+20|0;d=h+16|0;e=h;f=h+12|0;g=h+8|0;k[c>>2]=a;k[d>>2]=b;b=e;k[b>>2]=0;k[b+4>>2]=0;while(1){if(!(k[d>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+28>>2];i=hC(k[c>>2]|0,k[k[d>>2]>>2]|0)|0;j=e;a=k[j+4>>2]|M;b=e;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;b=hC(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0)|0;a=e;i=k[a+4>>2]|M;j=e;k[j>>2]=k[a>>2]|b;k[j+4>>2]=i;j=hC(k[c>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0;i=e;b=k[i+4>>2]|M;a=e;k[a>>2]=k[i>>2]|j;k[a+4>>2]=b;a=JC(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0)|0;b=e;j=k[b+4>>2]|M;i=e;k[i>>2]=k[b>>2]|a;k[i+4>>2]=j;i=JC(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0)|0;j=e;a=k[j+4>>2]|M;b=e;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;a:do if(k[f>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[f>>2]>>2]|0))break a;i=KC(k[c>>2]|0,k[(k[f>>2]|0)+8+((k[g>>2]|0)*72|0)+20>>2]|0)|0;j=e;a=k[j+4>>2]|M;b=e;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;b=JC(k[c>>2]|0,k[(k[f>>2]|0)+8+((k[g>>2]|0)*72|0)+48>>2]|0)|0;a=e;i=k[a+4>>2]|M;j=e;k[j>>2]=k[a>>2]|b;k[j+4>>2]=i;k[g>>2]=(k[g>>2]|0)+1}}while(0);k[d>>2]=k[(k[d>>2]|0)+48>>2]}j=e;M=k[j+4>>2]|0;u=h;return k[j>>2]|0}function LC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=u;u=u+16|0;c=f+4|0;d=f+2|0;e=f;j[d>>1]=a;j[e>>1]=b;if((j[d>>1]|0)>=(j[e>>1]|0)){a=j[d>>1]|0;if((j[d>>1]|0)>((j[e>>1]|0)+49|0)){j[c>>1]=a;e=j[c>>1]|0;u=f;return e|0}b=j[d>>1]|0;if((a<<16>>16|0)>((j[e>>1]|0)+31|0)){j[c>>1]=b+1;e=j[c>>1]|0;u=f;return e|0}else{j[c>>1]=b+(l[34388+((j[d>>1]|0)-(j[e>>1]|0))>>0]|0);e=j[c>>1]|0;u=f;return e|0}}else{a=j[e>>1]|0;if((j[e>>1]|0)>((j[d>>1]|0)+49|0)){j[c>>1]=a;e=j[c>>1]|0;u=f;return e|0}b=j[e>>1]|0;if((a<<16>>16|0)>((j[d>>1]|0)+31|0)){j[c>>1]=b+1;e=j[c>>1]|0;u=f;return e|0}else{j[c>>1]=b+(l[34388+((j[e>>1]|0)-(j[d>>1]|0))>>0]|0);e=j[c>>1]|0;u=f;return e|0}}return 0}function MC(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=u;u=u+160|0;aa=ca+149|0;X=ca+124|0;Y=ca+120|0;h=ca+116|0;n=ca+140|0;o=ca+138|0;p=ca+112|0;q=ca+108|0;r=ca+148|0;s=ca+147|0;t=ca+146|0;v=ca+145|0;w=ca+144|0;x=ca+143|0;y=ca+136|0;z=ca+134|0;A=ca+132|0;B=ca+130|0;C=ca+104|0;Z=ca+100|0;D=ca+96|0;E=ca+92|0;F=ca+88|0;G=ca+84|0;H=ca+80|0;I=ca+76|0;J=ca+72|0;K=ca+68|0;L=ca+64|0;_=ca+40|0;N=ca+32|0;O=ca+24|0;P=ca+16|0;Q=ca+60|0;R=ca+56|0;S=ca+142|0;T=ca+128|0;U=ca+52|0;V=ca+48|0;W=ca+8|0;$=ca;k[X>>2]=a;k[Y>>2]=b;k[h>>2]=c;j[n>>1]=d;j[o>>1]=e;k[p>>2]=f;k[q>>2]=g;k[G>>2]=0;k[L>>2]=k[k[k[X>>2]>>2]>>2];g=_;k[g>>2]=0;k[g+4>>2]=0;if(m[o>>1]|0?m[(k[L>>2]|0)+64>>1]&128|0:0){i[aa>>0]=0;ba=i[aa>>0]|0;u=ca;return ba|0}j[B>>1]=k[k[Y>>2]>>2];if((m[B>>1]|0)>63){i[aa>>0]=0;ba=i[aa>>0]|0;u=ca;return ba|0}i[v>>0]=1;f=t0(1,0,m[B>>1]|0)|0;f=h0(f|0,M|0,1,0)|0;g=N;k[g>>2]=f;k[g+4>>2]=M;g=O;k[g>>2]=0;k[g+4>>2]=0;g=P;k[g>>2]=0;k[g+4>>2]=0;j[y>>1]=386;if(m[n>>1]&2048|0)j[y>>1]=m[y>>1]|1;k[C>>2]=0;a:while(1){if(!(l[v>>0]|0))break;f=_;d=k[f+4>>2]|0;g=N;e=k[g+4>>2]|0;if(!(d>>>0>>0|((d|0)==(e|0)?(k[f>>2]|0)>>>0<(k[g>>2]|0)>>>0:0)))break;if((k[C>>2]|0)>(m[o>>1]|0))break;if((k[C>>2]|0)>0){e=(k[G>>2]|0)+8|0;d=P;f=k[d+4>>2]|k[e+4>>2];g=P;k[g>>2]=k[d>>2]|k[e>>2];k[g+4>>2]=f}if((k[C>>2]|0)<(m[o>>1]|0)){k[G>>2]=k[(k[(k[h>>2]|0)+24>>2]|0)+(k[C>>2]<<2)>>2];if(!(m[n>>1]&2048))ba=17}else{k[G>>2]=k[p>>2];ba=17}b:do if((ba|0)==17){ba=0;if(k[(k[G>>2]|0)+36>>2]&1024|0){ba=18;break a}k[E>>2]=k[(k[(k[X>>2]|0)+4>>2]|0)+8+((l[(k[G>>2]|0)+16>>0]|0)*72|0)+44>>2];k[Z>>2]=0;while(1){if((k[Z>>2]|0)>=(m[B>>1]|0))break;f=t0(1,0,k[Z>>2]|0)|0;g=_;c:do if(((!(f&k[g>>2]|0?1:(M&k[g+4>>2]|0)!=0)?(g=Iw(k[(k[(k[Y>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)>>2]|0)|0,k[I>>2]=g,(l[k[I>>2]>>0]|0)==152):0)?(k[(k[I>>2]|0)+28>>2]|0)==(k[E>>2]|0):0)?(g=P,g=wC((k[X>>2]|0)+80|0,k[E>>2]|0,j[(k[I>>2]|0)+32>>1]|0,~k[g>>2],~k[g+4>>2],m[y>>1]|0,0)|0,k[H>>2]=g,k[H>>2]|0):0){if((m[(k[H>>2]|0)+12>>1]|0)==1){k[D>>2]=0;while(1){if((k[D>>2]|0)>=(m[(k[G>>2]|0)+40>>1]|0))break;if((k[H>>2]|0)==(k[(k[(k[G>>2]|0)+48>>2]|0)+(k[D>>2]<<2)>>2]|0))break;k[D>>2]=(k[D>>2]|0)+1}if((k[D>>2]|0)>=(m[(k[G>>2]|0)+40>>1]|0))break}do if(m[(k[H>>2]|0)+12>>1]&130|0){if((j[(k[I>>2]|0)+32>>1]|0)<0)break;g=Bw(k[k[X>>2]>>2]|0,k[(k[(k[Y>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)>>2]|0)|0;k[J>>2]=g;if(!(k[J>>2]|0))k[J>>2]=k[(k[L>>2]|0)+8>>2];k[Q>>2]=k[k[J>>2]>>2];g=Bw(k[k[X>>2]>>2]|0,k[k[H>>2]>>2]|0)|0;k[J>>2]=g;if(!(k[J>>2]|0))k[J>>2]=k[(k[L>>2]|0)+8>>2];k[R>>2]=k[k[J>>2]>>2];if(lh(k[Q>>2]|0,k[R>>2]|0)|0)break c}while(0);e=t0(1,0,k[Z>>2]|0)|0;d=_;f=k[d+4>>2]|M;g=_;k[g>>2]=k[d>>2]|e;k[g+4>>2]=f}while(0);k[Z>>2]=(k[Z>>2]|0)+1}if(!(k[(k[G>>2]|0)+36>>2]&4096)){if(k[(k[G>>2]|0)+36>>2]&256|0){k[K>>2]=0;j[z>>1]=0;j[A>>1]=1}else{g=k[(k[G>>2]|0)+24+8>>2]|0;k[K>>2]=g;if(!g){ba=46;break a}if((l[(k[K>>2]|0)+55>>0]|0)>>>2&1|0){ba=46;break a}j[z>>1]=j[(k[K>>2]|0)+50>>1]|0;j[A>>1]=j[(k[K>>2]|0)+52>>1]|0;i[v>>0]=(l[(k[K>>2]|0)+54>>0]|0)!=0}i[r>>0]=0;i[s>>0]=0;i[w>>0]=0;k[D>>2]=0;while(1){if((k[D>>2]|0)>=(m[A>>1]|0))break;i[S>>0]=1;d:do if((k[D>>2]|0)<(m[(k[G>>2]|0)+24>>1]|0)?(k[D>>2]|0)>=(m[(k[G>>2]|0)+42>>1]|0):0){j[T>>1]=j[(k[(k[(k[G>>2]|0)+48>>2]|0)+(k[D>>2]<<2)>>2]|0)+12>>1]|0;a=m[T>>1]|0;if(m[T>>1]&m[y>>1]|0){if(!(a&256))break;i[v>>0]=0;break}if(!(a&1)){ba=61;break}k[U>>2]=k[k[(k[(k[G>>2]|0)+48>>2]|0)+(k[D>>2]<<2)>>2]>>2];k[Z>>2]=(k[D>>2]|0)+1;while(1){if((k[Z>>2]|0)>=(m[(k[G>>2]|0)+24>>1]|0)){ba=61;break d}if((k[k[(k[(k[G>>2]|0)+48>>2]|0)+(k[Z>>2]<<2)>>2]>>2]|0)==(k[U>>2]|0))break;k[Z>>2]=(k[Z>>2]|0)+1}i[S>>0]=0;ba=61}else ba=61;while(0);if((ba|0)==61){ba=0;do if(k[K>>2]|0){k[F>>2]=j[(k[(k[K>>2]|0)+4>>2]|0)+(k[D>>2]<<1)>>1];i[t>>0]=i[(k[(k[K>>2]|0)+28>>2]|0)+(k[D>>2]|0)>>0]|0;if((k[F>>2]|0)!=(j[(k[(k[K>>2]|0)+12>>2]|0)+32>>1]|0))break;k[F>>2]=-1}else{k[F>>2]=-1;i[t>>0]=0}while(0);do if((l[v>>0]|0)!=0&(k[F>>2]|0)>=0){if((k[D>>2]|0)<(m[(k[G>>2]|0)+24>>1]|0))break;if(l[(k[(k[(k[K>>2]|0)+12>>2]|0)+4>>2]|0)+(k[F>>2]<<4)+12>>0]|0)break;i[v>>0]=0}while(0);i[x>>0]=0;k[Z>>2]=0;e:while(1){if(!(l[S>>0]|0))break;if((k[Z>>2]|0)>=(m[B>>1]|0))break;f=t0(1,0,k[Z>>2]|0)|0;g=_;do if(!(f&k[g>>2]|0?1:(M&k[g+4>>2]|0)!=0)){g=Iw(k[(k[(k[Y>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)>>2]|0)|0;k[I>>2]=g;if(!(m[n>>1]&192))i[S>>0]=0;a=k[I>>2]|0;if((k[F>>2]|0)>=-1){if((l[a>>0]|0)!=152)break;if((k[(k[I>>2]|0)+28>>2]|0)!=(k[E>>2]|0))break;if((j[(k[I>>2]|0)+32>>1]|0)!=(k[F>>2]|0))break}else if(gx(a,k[(k[(k[(k[K>>2]|0)+40>>2]|0)+4>>2]|0)+((k[D>>2]|0)*20|0)>>2]|0,k[E>>2]|0)|0)break;if((k[F>>2]|0)<0){ba=84;break e}g=Bw(k[k[X>>2]>>2]|0,k[(k[(k[Y>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)>>2]|0)|0;k[J>>2]=g;if(!(k[J>>2]|0))k[J>>2]=k[(k[L>>2]|0)+8>>2];if(!(lh(k[k[J>>2]>>2]|0,k[(k[(k[K>>2]|0)+32>>2]|0)+(k[D>>2]<<2)>>2]|0)|0)){ba=84;break e}}while(0);k[Z>>2]=(k[Z>>2]|0)+1}if((ba|0)==84){ba=0;i[x>>0]=1}do if(l[x>>0]|0){if(m[n>>1]&64|0)break;if(i[r>>0]|0){if((l[s>>0]^l[t>>0]|0)==(l[(k[(k[Y>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)+12>>0]|0))break;i[x>>0]=0;break}i[s>>0]=l[t>>0]^l[(k[(k[Y>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)+12>>0];if(i[s>>0]|0){e=t0(1,0,k[C>>2]|0)|0;g=k[q>>2]|0;d=g;f=k[d+4>>2]|M;k[g>>2]=k[d>>2]|e;k[g+4>>2]=f}i[r>>0]=1}while(0);if(!(i[x>>0]|0)){ba=98;break}if((k[F>>2]|0)==-1)i[w>>0]=1;e=t0(1,0,k[Z>>2]|0)|0;d=_;f=k[d+4>>2]|M;g=_;k[g>>2]=k[d>>2]|e;k[g+4>>2]=f}k[D>>2]=(k[D>>2]|0)+1}do if((ba|0)==98){ba=0;if(k[D>>2]|0?(k[D>>2]|0)>=(m[z>>1]|0):0)break;i[v>>0]=0}while(0);if(i[w>>0]|0)i[v>>0]=1}if(i[v>>0]|0){e=(k[G>>2]|0)+8|0;d=O;f=k[d+4>>2]|k[e+4>>2];g=O;k[g>>2]=k[d>>2]|k[e>>2];k[g+4>>2]=f;k[Z>>2]=0;while(1){if((k[Z>>2]|0)>=(m[B>>1]|0))break b;f=t0(1,0,k[Z>>2]|0)|0;g=_;do if(!(f&k[g>>2]|0?1:(M&k[g+4>>2]|0)!=0)){k[V>>2]=k[(k[(k[Y>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)>>2];f=JC((k[X>>2]|0)+488|0,k[V>>2]|0)|0;g=W;k[g>>2]=f;k[g+4>>2]=M;g=W;if((k[g>>2]|0)==0&(k[g+4>>2]|0)==0?(oz(k[V>>2]|0)|0)==0:0)break;f=W;g=O;if((k[f>>2]&~k[g>>2]|0)==0?(k[f+4>>2]&~k[g+4>>2]|0)==0:0){e=t0(1,0,k[Z>>2]|0)|0;d=_;f=k[d+4>>2]|M;g=_;k[g>>2]=k[d>>2]|e;k[g+4>>2]=f}}while(0);k[Z>>2]=(k[Z>>2]|0)+1}}}while(0);k[C>>2]=(k[C>>2]|0)+1}if((ba|0)==18){if(i[(k[G>>2]|0)+24+5>>0]|0){X=N;Y=k[X+4>>2]|0;ba=_;k[ba>>2]=k[X>>2];k[ba+4>>2]=Y}}else if((ba|0)==46){i[aa>>0]=0;ba=i[aa>>0]|0;u=ca;return ba|0}Y=_;ba=N;if((k[Y>>2]|0)==(k[ba>>2]|0)?(k[Y+4>>2]|0)==(k[ba+4>>2]|0):0){i[aa>>0]=j[B>>1];ba=i[aa>>0]|0;u=ca;return ba|0}if(i[v>>0]|0){i[aa>>0]=-1;ba=i[aa>>0]|0;u=ca;return ba|0}k[Z>>2]=(m[B>>1]|0)-1;while(1){if((k[Z>>2]|0)<=0){ba=122;break}Y=t0(1,0,k[Z>>2]|0)|0;Y=h0(Y|0,M|0,1,0)|0;X=$;k[X>>2]=Y;k[X+4>>2]=M;X=_;Y=$;ba=$;a=k[Z>>2]|0;if((k[X>>2]&k[Y>>2]|0)==(k[ba>>2]|0)?(k[X+4>>2]&k[Y+4>>2]|0)==(k[ba+4>>2]|0):0){ba=120;break}k[Z>>2]=a+-1}if((ba|0)==120){i[aa>>0]=a;ba=i[aa>>0]|0;u=ca;return ba|0}else if((ba|0)==122){i[aa>>0]=0;ba=i[aa>>0]|0;u=ca;return ba|0}return 0}function NC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0;h=u;u=u+32|0;e=h+8|0;f=h+16|0;l=h+4|0;n=h;i=h+14|0;g=h+12|0;k[e>>2]=a;j[f>>1]=b;k[l>>2]=c;k[n>>2]=d;d=(((k[l>>2]|0)-(k[n>>2]|0)|0)*100|0)/(k[l>>2]|0)|0;d=((Hv(d,((d|0)<0)<<31>>31)|0)<<16>>16)-66&65535;j[i>>1]=d;j[g>>1]=(j[f>>1]|0)+(j[i>>1]|0)+16;if(m[(k[e>>2]|0)+40>>1]&16384|0?(j[(k[e>>2]|0)+16>>1]|0)<(j[f>>1]|0):0)j[f>>1]=j[(k[e>>2]|0)+16>>1]|0;n=(OC(j[f>>1]|0)|0)<<16>>16;j[g>>1]=(j[g>>1]|0)+n;u=h;return j[g>>1]|0}function OC(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;j[b>>1]=a;if((j[b>>1]|0)<=10){b=0;b=b&65535;u=c;return b|0}b=j[b>>1]|0;b=((Hv(b,((b|0)<0)<<31>>31)|0)<<16>>16)-33|0;b=b&65535;u=c;return b|0}function PC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=u;u=u+128|0;z=D+108|0;A=D+104|0;B=D+48|0;F=D+40|0;C=D+100|0;G=D+96|0;f=D+92|0;g=D+88|0;E=D+84|0;h=D+80|0;m=D+76|0;n=D+72|0;o=D+68|0;p=D+32|0;q=D+112|0;r=D+64|0;s=D+60|0;t=D+24|0;v=D+16|0;w=D+56|0;x=D+8|0;y=D;k[A>>2]=a;a=B;k[a>>2]=b;k[a+4>>2]=c;c=F;k[c>>2]=d;k[c+4>>2]=e;k[C>>2]=0;k[G>>2]=k[k[A>>2]>>2];k[f>>2]=k[k[G>>2]>>2];k[g>>2]=k[(k[A>>2]|0)+4>>2];k[o>>2]=k[(k[A>>2]|0)+12>>2];k[E>>2]=(k[(k[G>>2]|0)+4>>2]|0)+8+((l[(k[o>>2]|0)+16>>0]|0)*72|0);e=F;e=jD(k[f>>2]|0,k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[E>>2]|0,k[(k[A>>2]|0)+8>>2]|0,q)|0;k[h>>2]=e;if(!(k[h>>2]|0)){k[z>>2]=7;G=k[z>>2]|0;u=D;return G|0}j[(k[o>>2]|0)+18>>1]=0;k[(k[o>>2]|0)+36>>2]=1024;j[(k[o>>2]|0)+40>>1]=0;i[(k[o>>2]|0)+24+4>>0]=0;k[m>>2]=k[k[h>>2]>>2];if(HC(k[k[f>>2]>>2]|0,k[o>>2]|0,k[m>>2]|0)|0){fe(k[k[f>>2]>>2]|0,k[h>>2]|0);k[z>>2]=7;G=k[z>>2]|0;u=D;return G|0}G=B;G=kD(k[A>>2]|0,k[G>>2]|0,k[G+4>>2]|0,-1,-1,0,k[h>>2]|0,j[q>>1]|0,n)|0;k[C>>2]=G;if((k[C>>2]|0)==0?(E=k[o>>2]|0,G=B,F=k[E>>2]&~k[G>>2],G=k[E+4>>2]&~k[G+4>>2],E=p,k[E>>2]=F,k[E+4>>2]=G,(F|0)!=0|(G|0)!=0):0){k[r>>2]=0;k[s>>2]=0;G=t;k[G>>2]=0;k[G+4>>2]=0;G=v;k[G>>2]=0;k[G+4>>2]=0;if(k[n>>2]|0?(e=B,e=kD(k[A>>2]|0,k[e>>2]|0,k[e+4>>2]|0,-1,-1,1,k[h>>2]|0,j[q>>1]|0,n)|0,k[C>>2]=e,e=k[o>>2]|0,E=B,F=k[e+4>>2]&~k[E+4>>2],G=v,k[G>>2]=k[e>>2]&~k[E>>2],k[G+4>>2]=F,G=v,(k[G>>2]|0)==0&(k[G+4>>2]|0)==0):0){k[r>>2]=1;k[s>>2]=1}while(1){if(k[C>>2]|0)break;G=x;k[G>>2]=-1;k[G+4>>2]=-1;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[m>>2]|0))break;E=(k[(k[g>>2]|0)+20>>2]|0)+((k[(k[(k[h>>2]|0)+4>>2]|0)+((k[w>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;G=B;e=k[E+4>>2]&~k[G+4>>2];F=y;k[F>>2]=k[E>>2]&~k[G>>2];k[F+4>>2]=e;F=y;e=k[F+4>>2]|0;G=t;E=k[G+4>>2]|0;if(e>>>0>E>>>0|((e|0)==(E|0)?(k[F>>2]|0)>>>0>(k[G>>2]|0)>>>0:0)?(F=y,e=k[F+4>>2]|0,G=x,E=k[G+4>>2]|0,e>>>0>>0|((e|0)==(E|0)?(k[F>>2]|0)>>>0<(k[G>>2]|0)>>>0:0)):0){E=y;F=k[E+4>>2]|0;G=x;k[G>>2]=k[E>>2];k[G+4>>2]=F}k[w>>2]=(k[w>>2]|0)+1}E=x;F=k[E+4>>2]|0;G=t;k[G>>2]=k[E>>2];k[G+4>>2]=F;G=x;if((k[G>>2]|0)==-1?(k[G+4>>2]|0)==-1:0)break;F=x;G=p;if((k[F>>2]|0)==(k[G>>2]|0)?(k[F+4>>2]|0)==(k[G+4>>2]|0):0)continue;F=x;G=v;if((k[F>>2]|0)==(k[G>>2]|0)?(k[F+4>>2]|0)==(k[G+4>>2]|0):0)continue;E=B;G=x;F=B;F=kD(k[A>>2]|0,k[E>>2]|0,k[E+4>>2]|0,k[G>>2]|k[F>>2],k[G+4>>2]|k[F+4>>2],0,k[h>>2]|0,j[q>>1]|0,n)|0;k[C>>2]=F;F=k[o>>2]|0;G=B;if(!((k[F>>2]|0)==(k[G>>2]|0)?(k[F+4>>2]|0)==(k[G+4>>2]|0):0))continue;k[r>>2]=1;if(k[n>>2]|0)continue;k[s>>2]=1}if((k[C>>2]|0)==0&(k[r>>2]|0)==0?(F=B,G=B,G=kD(k[A>>2]|0,k[F>>2]|0,k[F+4>>2]|0,k[G>>2]|0,k[G+4>>2]|0,0,k[h>>2]|0,j[q>>1]|0,n)|0,k[C>>2]=G,(k[n>>2]|0)==0):0)k[s>>2]=1;if((k[C>>2]|0)==0&(k[s>>2]|0)==0){F=B;G=B;G=kD(k[A>>2]|0,k[F>>2]|0,k[F+4>>2]|0,k[G>>2]|0,k[G+4>>2]|0,1,k[h>>2]|0,j[q>>1]|0,n)|0;k[C>>2]=G}}if(k[(k[h>>2]|0)+28>>2]|0)ie(k[(k[h>>2]|0)+24>>2]|0);fe(k[k[f>>2]>>2]|0,k[h>>2]|0);k[z>>2]=k[C>>2];G=k[z>>2]|0;u=D;return G|0}function QC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=u;u=u+160|0;A=I+144|0;B=I+8|0;C=I+140|0;D=I+136|0;E=I+80|0;F=I+156|0;G=I+154|0;J=I+72|0;d=I+68|0;e=I+64|0;H=I+60|0;f=I+56|0;g=I+52|0;h=I+152|0;n=I+150|0;o=I+48|0;p=I+44|0;q=I+40|0;r=I+36|0;s=I+32|0;t=I;v=I+148|0;w=I+28|0;x=I+24|0;y=I+20|0;z=I+16|0;k[A>>2]=a;a=B;k[a>>2]=b;k[a+4>>2]=c;j[G>>1]=-1;k[H>>2]=0;k[f>>2]=1;k[e>>2]=k[(k[A>>2]|0)+12>>2];k[C>>2]=k[k[A>>2]>>2];k[J>>2]=k[(k[C>>2]|0)+4>>2];k[d>>2]=(k[J>>2]|0)+8+((l[(k[e>>2]|0)+16>>0]|0)*72|0);k[p>>2]=k[(k[d>>2]|0)+16>>2];k[o>>2]=k[(k[A>>2]|0)+4>>2];do if(k[(k[d>>2]|0)+68>>2]|0)k[D>>2]=k[(k[d>>2]|0)+68>>2];else{if(l[(k[p>>2]|0)+42>>0]&32|0){k[D>>2]=k[(k[p>>2]|0)+8>>2];break}a=E;b=a+56|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));j[E+50>>1]=1;j[E+52>>1]=1;k[E+4>>2]=G;k[E+8>>2]=F;i[E+54>>0]=5;k[E+12>>2]=k[p>>2];j[E+48>>1]=j[(k[p>>2]|0)+40>>1]|0;j[F>>1]=j[(k[p>>2]|0)+38>>1]|0;j[F+2>>1]=0;k[q>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+8>>2];if(!(i[(k[d>>2]|0)+36+1>>0]&1))k[E+20>>2]=k[q>>2];k[D>>2]=E}while(0);j[h>>1]=j[(k[p>>2]|0)+38>>1]|0;J=OC(j[h>>1]|0)|0;j[n>>1]=J;a:do if((((((((k[(k[A>>2]|0)+16>>2]|0)==0?(m[(k[C>>2]|0)+40>>1]&32|0)==0:0)?k[(k[k[k[C>>2]>>2]>>2]|0)+24>>2]&1048576|0:0)?(k[(k[d>>2]|0)+68>>2]|0)==0:0)?(i[(k[d>>2]|0)+36+1>>0]&1|0)==0:0)?(l[(k[p>>2]|0)+42>>0]&32|0)==0:0)?((l[(k[d>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((l[(k[d>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){k[s>>2]=(k[(k[o>>2]|0)+20>>2]|0)+((k[(k[o>>2]|0)+12>>2]|0)*48|0);k[r>>2]=k[(k[o>>2]|0)+20>>2];while(1){if(k[H>>2]|0)break a;if((k[r>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break a;G=(k[r>>2]|0)+32|0;J=(k[e>>2]|0)+8|0;if(!(k[G>>2]&k[J>>2]|0?1:(k[G+4>>2]&k[J+4>>2]|0)!=0)?GC(k[r>>2]|0,k[d>>2]|0,0,0)|0:0){j[(k[e>>2]|0)+24>>1]=1;j[(k[e>>2]|0)+42>>1]=0;k[(k[e>>2]|0)+24+8>>2]=0;j[(k[e>>2]|0)+40>>1]=1;k[k[(k[e>>2]|0)+48>>2]>>2]=k[r>>2];j[(k[e>>2]|0)+18>>1]=(j[n>>1]|0)+(j[h>>1]|0)+4;if((k[(k[p>>2]|0)+12>>2]|0)==0?(l[(k[p>>2]|0)+42>>0]&2|0)==0:0){J=(k[e>>2]|0)+18|0;j[J>>1]=(j[J>>1]|0)+24}if((j[(k[e>>2]|0)+18>>1]|0)<0)j[(k[e>>2]|0)+18>>1]=0;j[(k[e>>2]|0)+22>>1]=43;E=LC(j[n>>1]|0,j[(k[e>>2]|0)+22>>1]|0)|0;j[(k[e>>2]|0)+20>>1]=E;k[(k[e>>2]|0)+36>>2]=16384;E=B;F=(k[r>>2]|0)+32|0;G=k[E+4>>2]|k[F+4>>2];J=k[e>>2]|0;k[J>>2]=k[E>>2]|k[F>>2];k[J+4>>2]=G;J=UC(k[A>>2]|0,k[e>>2]|0)|0;k[H>>2]=J}k[r>>2]=(k[r>>2]|0)+48}}while(0);b:while(1){if(!((k[H>>2]|0)==0?(k[D>>2]|0)!=0:0)){a=57;break}if(!(k[(k[D>>2]|0)+36>>2]|0?!(ZC(k[(k[d>>2]|0)+44>>2]|0,k[o>>2]|0,k[(k[D>>2]|0)+36>>2]|0)|0):0)){j[h>>1]=j[k[(k[D>>2]|0)+8>>2]>>1]|0;j[(k[e>>2]|0)+24>>1]=0;j[(k[e>>2]|0)+24+2>>1]=0;j[(k[e>>2]|0)+24+4>>1]=0;j[(k[e>>2]|0)+42>>1]=0;j[(k[e>>2]|0)+40>>1]=0;i[(k[e>>2]|0)+17>>0]=0;j[(k[e>>2]|0)+18>>1]=0;F=B;G=k[F+4>>2]|0;J=k[e>>2]|0;k[J>>2]=k[F>>2];k[J+4>>2]=G;j[(k[e>>2]|0)+22>>1]=j[h>>1]|0;k[(k[e>>2]|0)+24+8>>2]=k[D>>2];J=_C(k[A>>2]|0,k[D>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0;k[g>>2]=J;do if((k[(k[D>>2]|0)+44>>2]|0)<=0){k[(k[e>>2]|0)+36>>2]=256;i[(k[e>>2]|0)+17>>0]=k[g>>2]|0?k[f>>2]|0:0;j[(k[e>>2]|0)+20>>1]=(j[h>>1]|0)+16;$C(k[o>>2]|0,k[e>>2]|0,j[h>>1]|0);J=UC(k[A>>2]|0,k[e>>2]|0)|0;k[H>>2]=J;j[(k[e>>2]|0)+22>>1]=j[h>>1]|0;if(k[H>>2]|0){a=57;break b}}else{if((l[(k[D>>2]|0)+55>>0]|0)>>>5&1|0){k[(k[e>>2]|0)+36>>2]=576;J=t;k[J>>2]=0;k[J+4>>2]=0}else{G=(k[d>>2]|0)+56|0;E=k[G>>2]|0;G=k[G+4>>2]|0;F=aD(k[D>>2]|0)|0;J=t;k[J>>2]=E&~F;k[J+4>>2]=G&~M;J=t;k[(k[e>>2]|0)+36>>2]=(k[J>>2]|0)==0&(k[J+4>>2]|0)==0?576:512}if(((k[g>>2]|0)==0?(l[(k[p>>2]|0)+42>>0]&32|0)==0:0)?(k[(k[D>>2]|0)+36>>2]|0)==0:0){J=t;if(!((k[J>>2]|0)==0&(k[J+4>>2]|0)==0))break;if((l[(k[D>>2]|0)+55>>0]|0)>>>2&1|0)break;if((j[(k[D>>2]|0)+48>>1]|0)>=(j[(k[p>>2]|0)+40>>1]|0))break;if(!(k[6]|0?(m[(k[C>>2]|0)+40>>1]&4|0)==0:0))break;if(m[(k[k[k[C>>2]>>2]>>2]|0)+64>>1]&64|0)break}i[(k[e>>2]|0)+17>>0]=k[g>>2]|0?k[f>>2]|0:0;j[(k[e>>2]|0)+20>>1]=(j[h>>1]|0)+1+(((j[(k[D>>2]|0)+48>>1]|0)*15|0)/(j[(k[p>>2]|0)+40>>1]|0)|0);J=t;if((k[J>>2]|0)!=0|(k[J+4>>2]|0)!=0){j[v>>1]=(j[h>>1]|0)+16;k[x>>2]=k[(k[d>>2]|0)+44>>2];k[y>>2]=(k[C>>2]|0)+80;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[y>>2]|0)+12>>2]|0))break;k[z>>2]=(k[(k[y>>2]|0)+20>>2]|0)+((k[w>>2]|0)*48|0);if(!(bD(k[k[z>>2]>>2]|0,k[x>>2]|0,k[D>>2]|0)|0))break;if((j[(k[z>>2]|0)+8>>1]|0)>0){j[v>>1]=(j[v>>1]|0)+-1<<16>>16;if(m[(k[z>>2]|0)+12>>1]&130|0)j[v>>1]=(j[v>>1]|0)-19}else j[v>>1]=(j[v>>1]|0)+(j[(k[z>>2]|0)+8>>1]|0);k[w>>2]=(k[w>>2]|0)+1}J=LC(j[(k[e>>2]|0)+20>>1]|0,j[v>>1]|0)|0;j[(k[e>>2]|0)+20>>1]=J}$C(k[o>>2]|0,k[e>>2]|0,j[h>>1]|0);J=UC(k[A>>2]|0,k[e>>2]|0)|0;k[H>>2]=J;j[(k[e>>2]|0)+22>>1]=j[h>>1]|0;if(k[H>>2]|0){a=57;break b}}while(0);J=cD(k[A>>2]|0,k[d>>2]|0,k[D>>2]|0,0)|0;k[H>>2]=J;if(k[(k[d>>2]|0)+68>>2]|0){a=57;break}}k[D>>2]=k[(k[D>>2]|0)+20>>2];k[f>>2]=(k[f>>2]|0)+1}if((a|0)==57){u=I;return k[H>>2]|0}return 0}function RC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=u;u=u+672|0;D=I+668|0;E=I+584|0;F=I+576|0;f=I+664|0;G=I+660|0;g=I+656|0;h=I+652|0;n=I+648|0;o=I+644|0;p=I+640|0;q=I+168|0;r=I+620|0;s=I+112|0;t=I+56|0;v=I+616|0;w=I+612|0;x=I+608|0;y=I+604|0;z=I+600|0;A=I+596|0;B=I+592|0;C=I;k[D>>2]=a;a=E;k[a>>2]=b;k[a+4>>2]=c;a=F;k[a>>2]=d;k[a+4>>2]=e;k[f>>2]=k[k[D>>2]>>2];k[o>>2]=0;k[G>>2]=k[(k[D>>2]|0)+4>>2];k[n>>2]=(k[(k[G>>2]|0)+20>>2]|0)+((k[(k[G>>2]|0)+12>>2]|0)*48|0);k[g>>2]=k[(k[D>>2]|0)+12>>2];a=s;b=a+56|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[v>>2]=(k[(k[f>>2]|0)+4>>2]|0)+8+((l[(k[g>>2]|0)+16>>0]|0)*72|0);k[p>>2]=k[(k[v>>2]|0)+44>>2];k[h>>2]=k[(k[G>>2]|0)+20>>2];while(1){if(!((k[h>>2]|0)>>>0<(k[n>>2]|0)>>>0?(k[o>>2]|0)==0:0))break;a:do if(m[(k[h>>2]|0)+12>>1]&512|0?(e=(k[(k[h>>2]|0)+28>>2]|0)+408|0,f=(k[g>>2]|0)+8|0,k[e>>2]&k[f>>2]|0?1:(k[e+4>>2]&k[f+4>>2]|0)!=0):0){k[w>>2]=k[(k[h>>2]|0)+28>>2];k[x>>2]=(k[(k[w>>2]|0)+20>>2]|0)+((k[(k[w>>2]|0)+12>>2]|0)*48|0);k[z>>2]=1;f=k[D>>2]|0;k[r>>2]=k[f>>2];k[r+4>>2]=k[f+4>>2];k[r+8>>2]=k[f+8>>2];k[r+12>>2]=k[f+12>>2];k[r+16>>2]=k[f+16>>2];k[r+8>>2]=0;k[r+16>>2]=t;k[y>>2]=k[(k[w>>2]|0)+20>>2];b:while(1){if((k[y>>2]|0)>>>0>=(k[x>>2]|0)>>>0)break;a=k[y>>2]|0;if(!(m[(k[y>>2]|0)+12>>1]&1024|0)){if((k[a+20>>2]|0)==(k[p>>2]|0)){k[q>>2]=k[k[G>>2]>>2];k[q+4>>2]=k[G>>2];i[q+8>>0]=28;k[q+12>>2]=1;k[q+20>>2]=k[y>>2];a=q;H=11}}else{a=k[a+28>>2]|0;H=11}c:do if((H|0)==11){H=0;k[r+4>>2]=a;j[t>>1]=0;b=E;a=k[b>>2]|0;b=k[b+4>>2]|0;if(l[(k[(k[v>>2]|0)+16>>2]|0)+42>>0]&16|0){f=F;f=PC(r,a,b,k[f>>2]|0,k[f+4>>2]|0)|0;k[o>>2]=f}else{f=QC(r,a,b)|0;k[o>>2]=f}if(!(k[o>>2]|0)){e=E;f=F;f=RC(r,k[e>>2]|0,k[e+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[o>>2]=f}if(!(m[t>>1]|0)){H=17;break b}if(k[z>>2]|0){SC(s,t);k[z>>2]=0;break}SC(C,s);j[s>>1]=0;k[A>>2]=0;while(1){if((k[A>>2]|0)>=(m[C>>1]|0))break c;k[B>>2]=0;while(1){if((k[B>>2]|0)>=(m[t>>1]|0))break;f=C+8+(k[A>>2]<<4)|0;e=t+8+(k[B>>2]<<4)|0;d=k[f>>2]|k[e>>2];e=k[f+4>>2]|k[e+4>>2];f=LC(j[C+8+(k[A>>2]<<4)+8>>1]|0,j[t+8+(k[B>>2]<<4)+8>>1]|0)|0;TC(s,d,e,f,LC(j[C+8+(k[A>>2]<<4)+10>>1]|0,j[t+8+(k[B>>2]<<4)+10>>1]|0)|0)|0;k[B>>2]=(k[B>>2]|0)+1}k[A>>2]=(k[A>>2]|0)+1}}while(0);k[y>>2]=(k[y>>2]|0)+48}if((H|0)==17){H=0;j[s>>1]=0}j[(k[g>>2]|0)+40>>1]=1;k[k[(k[g>>2]|0)+48>>2]>>2]=k[h>>2];k[(k[g>>2]|0)+36>>2]=8192;j[(k[g>>2]|0)+18>>1]=0;i[(k[g>>2]|0)+17>>0]=0;f=(k[g>>2]|0)+24|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[A>>2]=0;while(1){if(k[o>>2]|0)break a;if((k[A>>2]|0)>=(m[s>>1]|0))break a;j[(k[g>>2]|0)+20>>1]=(j[s+8+(k[A>>2]<<4)+8>>1]|0)+1;j[(k[g>>2]|0)+22>>1]=j[s+8+(k[A>>2]<<4)+10>>1]|0;d=s+8+(k[A>>2]<<4)|0;e=k[d+4>>2]|0;f=k[g>>2]|0;k[f>>2]=k[d>>2];k[f+4>>2]=e;f=UC(k[D>>2]|0,k[g>>2]|0)|0;k[o>>2]=f;k[A>>2]=(k[A>>2]|0)+1}}while(0);k[h>>2]=(k[h>>2]|0)+48}u=I;return k[o>>2]|0}function SC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;j[k[d>>2]>>1]=j[k[e>>2]>>1]|0;r0((k[d>>2]|0)+8|0,(k[e>>2]|0)+8|0,(m[k[d>>2]>>1]|0)<<4|0)|0;u=c;return}function TC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;i=q+16|0;l=q+12|0;n=q;o=q+24|0;p=q+22|0;g=q+20|0;h=q+8|0;k[l>>2]=a;a=n;k[a>>2]=b;k[a+4>>2]=c;j[o>>1]=d;j[p>>1]=e;j[g>>1]=j[k[l>>2]>>1]|0;k[h>>2]=(k[l>>2]|0)+8;while(1){if((m[g>>1]|0)<=0){f=9;break}if((j[o>>1]|0)<=(j[(k[h>>2]|0)+8>>1]|0)?(c=n,d=k[h>>2]|0,e=n,(k[c>>2]&k[d>>2]|0)==(k[e>>2]|0)?(k[c+4>>2]&k[d+4>>2]|0)==(k[e+4>>2]|0):0):0)break;if((j[(k[h>>2]|0)+8>>1]|0)<=(j[o>>1]|0)?(c=k[h>>2]|0,d=n,e=k[h>>2]|0,(k[c>>2]&k[d>>2]|0)==(k[e>>2]|0)?(k[c+4>>2]&k[d+4>>2]|0)==(k[e+4>>2]|0):0):0){f=7;break}j[g>>1]=(j[g>>1]|0)+-1<<16>>16;k[h>>2]=(k[h>>2]|0)+16}if((f|0)==7){k[i>>2]=0;p=k[i>>2]|0;u=q;return p|0}do if((f|0)==9){a=(k[l>>2]|0)+8|0;if((m[k[l>>2]>>1]|0)<3){g=k[l>>2]|0;l=j[g>>1]|0;j[g>>1]=l+1<<16>>16;k[h>>2]=a+((l&65535)<<4);j[(k[h>>2]|0)+10>>1]=j[p>>1]|0;break}k[h>>2]=a;j[g>>1]=1;while(1){a=j[(k[h>>2]|0)+8>>1]|0;if((m[g>>1]|0)>=(m[k[l>>2]>>1]|0))break;if((a|0)>(j[(k[l>>2]|0)+8+(m[g>>1]<<4)+8>>1]|0))k[h>>2]=(k[l>>2]|0)+8+(m[g>>1]<<4);j[g>>1]=(j[g>>1]|0)+1<<16>>16}if((a|0)<=(j[o>>1]|0)){k[i>>2]=0;p=k[i>>2]|0;u=q;return p|0}}while(0);g=n;l=k[g+4>>2]|0;n=k[h>>2]|0;k[n>>2]=k[g>>2];k[n+4>>2]=l;j[(k[h>>2]|0)+8>>1]=j[o>>1]|0;if((j[(k[h>>2]|0)+10>>1]|0)>(j[p>>1]|0))j[(k[h>>2]|0)+10>>1]=j[p>>1]|0;k[i>>2]=1;p=k[i>>2]|0;u=q;return p|0}function UC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;f=p+40|0;g=p+36|0;h=p+32|0;i=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;c=p+8|0;d=p+4|0;e=p;k[g>>2]=a;k[h>>2]=b;k[m>>2]=k[k[g>>2]>>2];k[n>>2]=k[k[k[m>>2]>>2]>>2];if(k[(k[g>>2]|0)+16>>2]|0){if(j[(k[h>>2]|0)+40>>1]|0){o=k[h>>2]|0;TC(k[(k[g>>2]|0)+16>>2]|0,k[o>>2]|0,k[o+4>>2]|0,j[(k[h>>2]|0)+20>>1]|0,j[(k[h>>2]|0)+22>>1]|0)|0}k[f>>2]=0;o=k[f>>2]|0;u=p;return o|0}VC(k[(k[m>>2]|0)+56>>2]|0,k[h>>2]|0);m=WC((k[m>>2]|0)+56|0,k[h>>2]|0)|0;k[i>>2]=m;if(!(k[i>>2]|0)){k[f>>2]=0;o=k[f>>2]|0;u=p;return o|0}k[l>>2]=k[k[i>>2]>>2];a:do if(!(k[l>>2]|0)){m=Od(k[n>>2]|0,72,0)|0;k[l>>2]=m;k[k[i>>2]>>2]=m;if(k[l>>2]|0){XB(k[l>>2]|0);k[(k[l>>2]|0)+52>>2]=0;break}k[f>>2]=7;o=k[f>>2]|0;u=p;return o|0}else{k[c>>2]=(k[l>>2]|0)+52;while(1){if(!(k[k[c>>2]>>2]|0))break a;m=WC(k[c>>2]|0,k[h>>2]|0)|0;k[c>>2]=m;if(!(k[c>>2]|0))break a;k[d>>2]=k[k[c>>2]>>2];if(!(k[d>>2]|0))break a;k[k[c>>2]>>2]=k[(k[d>>2]|0)+52>>2];UB(k[n>>2]|0,k[d>>2]|0)}}while(0);n=XC(k[n>>2]|0,k[l>>2]|0,k[h>>2]|0)|0;k[o>>2]=n;if(((k[(k[l>>2]|0)+36>>2]&1024|0)==0?(k[e>>2]=k[(k[l>>2]|0)+24+8>>2],k[e>>2]|0):0)?(k[(k[e>>2]|0)+44>>2]|0)==0:0)k[(k[l>>2]|0)+24+8>>2]=0;k[f>>2]=k[o>>2];o=k[f>>2]|0;u=p;return o|0}function VC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0?(k[(k[d>>2]|0)+36>>2]&512|0)!=0:0)){u=e;return}do{do if((l[(k[c>>2]|0)+16>>0]|0)==(l[(k[d>>2]|0)+16>>0]|0)?k[(k[c>>2]|0)+36>>2]&512|0:0){if(YC(k[c>>2]|0,k[d>>2]|0)|0){j[(k[d>>2]|0)+20>>1]=j[(k[c>>2]|0)+20>>1]|0;j[(k[d>>2]|0)+22>>1]=(j[(k[c>>2]|0)+22>>1]|0)-1;break}if(YC(k[d>>2]|0,k[c>>2]|0)|0){j[(k[d>>2]|0)+20>>1]=j[(k[c>>2]|0)+20>>1]|0;j[(k[d>>2]|0)+22>>1]=(j[(k[c>>2]|0)+22>>1]|0)+1}}while(0);k[c>>2]=k[(k[c>>2]|0)+52>>2]}while((k[c>>2]|0)!=0);u=e;return}function WC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;e=g+12|0;f=g+8|0;c=g+4|0;d=g;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[k[f>>2]>>2];while(1){if(!(k[d>>2]|0)){a=19;break}if((l[(k[d>>2]|0)+16>>0]|0)==(l[(k[c>>2]|0)+16>>0]|0)?(l[(k[d>>2]|0)+17>>0]|0)==(l[(k[c>>2]|0)+17>>0]|0):0){if((((k[(k[d>>2]|0)+36>>2]&16384|0?(m[(k[c>>2]|0)+42>>1]|0)==0:0)?k[(k[c>>2]|0)+36>>2]&512|0:0)?k[(k[c>>2]|0)+36>>2]&1|0:0)?(h=k[d>>2]|0,a=k[c>>2]|0,b=k[c>>2]|0,(k[h>>2]&k[a>>2]|0)==(k[b>>2]|0)?(k[h+4>>2]&k[a+4>>2]|0)==(k[b+4>>2]|0):0):0){a=19;break}a=k[d>>2]|0;b=k[c>>2]|0;h=k[d>>2]|0;if(((((k[a>>2]&k[b>>2]|0)==(k[h>>2]|0)?(k[a+4>>2]&k[b+4>>2]|0)==(k[h+4>>2]|0):0)?(j[(k[d>>2]|0)+18>>1]|0)<=(j[(k[c>>2]|0)+18>>1]|0):0)?(j[(k[d>>2]|0)+20>>1]|0)<=(j[(k[c>>2]|0)+20>>1]|0):0)?(j[(k[d>>2]|0)+22>>1]|0)<=(j[(k[c>>2]|0)+22>>1]|0):0){a=14;break}a=k[d>>2]|0;b=k[c>>2]|0;h=k[c>>2]|0;if((((k[a>>2]&k[b>>2]|0)==(k[h>>2]|0)?(k[a+4>>2]&k[b+4>>2]|0)==(k[h+4>>2]|0):0)?(j[(k[d>>2]|0)+20>>1]|0)>=(j[(k[c>>2]|0)+20>>1]|0):0)?(j[(k[d>>2]|0)+22>>1]|0)>=(j[(k[c>>2]|0)+22>>1]|0):0){a=19;break}}k[f>>2]=(k[d>>2]|0)+52;k[d>>2]=k[k[f>>2]>>2]}if((a|0)==14){k[e>>2]=0;h=k[e>>2]|0;u=g;return h|0}else if((a|0)==19){k[e>>2]=k[f>>2];h=k[e>>2]|0;u=g;return h|0}return 0}function XC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;e=g+12|0;h=g+8|0;d=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[f>>2]=c;WB(k[h>>2]|0,k[d>>2]|0);c=(HC(k[h>>2]|0,k[d>>2]|0,m[(k[f>>2]|0)+40>>1]|0)|0)!=0;a=k[d>>2]|0;if(c){h=a+24|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[e>>2]=7;h=k[e>>2]|0;u=g;return h|0}b=k[f>>2]|0;c=a+44|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));r0(k[(k[d>>2]|0)+48>>2]|0,k[(k[f>>2]|0)+48>>2]|0,(m[(k[d>>2]|0)+40>>1]|0)<<2|0)|0;a=k[f>>2]|0;if(!(k[(k[f>>2]|0)+36>>2]&1024|0)){if(k[a+36>>2]&16384|0)k[(k[f>>2]|0)+24+8>>2]=0}else i[a+24+4>>0]=0;k[e>>2]=0;h=k[e>>2]|0;u=g;return h|0}function YC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(((m[(k[c>>2]|0)+40>>1]|0)-(m[(k[c>>2]|0)+42>>1]|0)|0)>=((m[(k[d>>2]|0)+40>>1]|0)-(m[(k[d>>2]|0)+42>>1]|0)|0)){k[g>>2]=0;g=k[g>>2]|0;u=h;return g|0}if((m[(k[d>>2]|0)+42>>1]|0)>(m[(k[c>>2]|0)+42>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;u=h;return g|0}if((j[(k[c>>2]|0)+20>>1]|0)>=(j[(k[d>>2]|0)+20>>1]|0)){if((j[(k[c>>2]|0)+20>>1]|0)>(j[(k[d>>2]|0)+20>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;u=h;return g|0}if((j[(k[c>>2]|0)+22>>1]|0)>(j[(k[d>>2]|0)+22>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;u=h;return g|0}}k[e>>2]=(m[(k[c>>2]|0)+40>>1]|0)-1;while(1){if((k[e>>2]|0)<0){a=20;break}if(k[(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]|0){k[f>>2]=(m[(k[d>>2]|0)+40>>1]|0)-1;while(1){if((k[f>>2]|0)<0)break;if((k[(k[(k[d>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]|0))break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){a=18;break}}k[e>>2]=(k[e>>2]|0)+-1}if((a|0)==18){k[g>>2]=0;g=k[g>>2]|0;u=h;return g|0}else if((a|0)==20){k[g>>2]=1;g=k[g>>2]|0;u=h;return g|0}return 0}function ZC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0;o=u;u=u+32|0;d=o+24|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;i=o+4|0;m=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;while(1){if((l[k[g>>2]>>0]|0)!=28)break;if(!(ZC(k[e>>2]|0,k[f>>2]|0,k[(k[g>>2]|0)+12>>2]|0)|0)){n=4;break}k[g>>2]=k[(k[g>>2]|0)+16>>2]}if((n|0)==4){k[d>>2]=0;n=k[d>>2]|0;u=o;return n|0}k[h>>2]=0;k[i>>2]=k[(k[f>>2]|0)+20>>2];while(1){if((k[h>>2]|0)>=(k[(k[f>>2]|0)+12>>2]|0)){n=13;break}k[m>>2]=k[k[i>>2]>>2];if(iD(k[m>>2]|0,k[g>>2]|0,k[e>>2]|0)|0){if(!(k[(k[m>>2]|0)+4>>2]&1)){n=11;break}if((j[(k[m>>2]|0)+36>>1]|0)==(k[e>>2]|0)){n=11;break}}k[h>>2]=(k[h>>2]|0)+1;k[i>>2]=(k[i>>2]|0)+48}if((n|0)==11){k[d>>2]=1;n=k[d>>2]|0;u=o;return n|0}else if((n|0)==13){k[d>>2]=0;n=k[d>>2]|0;u=o;return n|0}return 0}function _C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;f=r+32|0;g=r+28|0;h=r+24|0;i=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;d=r+4|0;e=r;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;if((l[(k[h>>2]|0)+55>>0]|0)>>>2&1|0){k[f>>2]=0;q=k[f>>2]|0;u=r;return q|0}g=k[(k[k[g>>2]>>2]|0)+8>>2]|0;k[n>>2]=g;if(!g){k[f>>2]=0;q=k[f>>2]|0;u=r;return q|0}k[p>>2]=0;a:while(1){if((k[p>>2]|0)>=(k[k[n>>2]>>2]|0)){q=24;break}g=Iw(k[(k[(k[n>>2]|0)+4>>2]|0)+((k[p>>2]|0)*20|0)>>2]|0)|0;k[e>>2]=g;b:do if((l[k[e>>2]>>0]|0)==152?(k[(k[e>>2]|0)+28>>2]|0)==(k[i>>2]|0):0){if((j[(k[e>>2]|0)+32>>1]|0)<0){q=10;break a}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(m[(k[h>>2]|0)+50>>1]|0))break b;if((j[(k[e>>2]|0)+32>>1]|0)==(j[(k[(k[h>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]|0)){q=14;break a}k[d>>2]=(k[d>>2]|0)+1}}else q=16;while(0);c:do if((q|0)==16?(q=0,g=k[(k[h>>2]|0)+40>>2]|0,k[o>>2]=g,g|0):0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(m[(k[h>>2]|0)+50>>1]|0))break c;if((j[(k[(k[h>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]|0)==-2?(gx(k[e>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>2]|0,k[i>>2]|0)|0)==0:0){q=21;break a}k[d>>2]=(k[d>>2]|0)+1}}while(0);k[p>>2]=(k[p>>2]|0)+1}if((q|0)==10){k[f>>2]=1;q=k[f>>2]|0;u=r;return q|0}else if((q|0)==14){k[f>>2]=1;q=k[f>>2]|0;u=r;return q|0}else if((q|0)==21){k[f>>2]=1;q=k[f>>2]|0;u=r;return q|0}else if((q|0)==24){k[f>>2]=0;q=k[f>>2]|0;u=r;return q|0}return 0}function $C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+48|0;h=r+36|0;i=r+32|0;l=r+42|0;n=r+28|0;o=r+24|0;p=r;q=r+20|0;d=r+16|0;e=r+12|0;f=r+40|0;g=r+8|0;k[h>>2]=a;k[i>>2]=b;j[l>>1]=c;s=k[i>>2]|0;a=(k[i>>2]|0)+8|0;b=~(k[s+4>>2]|k[a+4>>2]);c=p;k[c>>2]=~(k[s>>2]|k[a>>2]);k[c+4>>2]=b;j[f>>1]=0;k[q>>2]=k[(k[h>>2]|0)+12>>2];k[n>>2]=k[(k[h>>2]|0)+20>>2];while(1){if((k[q>>2]|0)<=0)break;if(m[(k[n>>2]|0)+10>>1]&2|0)break;c=(k[n>>2]|0)+40|0;s=(k[i>>2]|0)+8|0;do if(!((k[c>>2]&k[s>>2]|0)==0?(k[c+4>>2]&k[s+4>>2]|0)==0:0)?(c=(k[n>>2]|0)+40|0,s=p,!(k[c>>2]&k[s>>2]|0?1:(k[c+4>>2]&k[s+4>>2]|0)!=0)):0){k[d>>2]=(m[(k[i>>2]|0)+40>>1]|0)-1;while(1){if((k[d>>2]|0)<0)break;k[o>>2]=k[(k[(k[i>>2]|0)+48>>2]|0)+(k[d>>2]<<2)>>2];if(k[o>>2]|0){if((k[o>>2]|0)==(k[n>>2]|0))break;if((k[(k[o>>2]|0)+16>>2]|0)>=0?((k[(k[h>>2]|0)+20>>2]|0)+((k[(k[o>>2]|0)+16>>2]|0)*48|0)|0)==(k[n>>2]|0):0)break}k[d>>2]=(k[d>>2]|0)+-1}if((k[d>>2]|0)<0){if((j[(k[n>>2]|0)+8>>1]|0)<=0){s=(k[i>>2]|0)+22|0;j[s>>1]=(j[s>>1]|0)+(j[(k[n>>2]|0)+8>>1]|0);break}s=(k[i>>2]|0)+22|0;j[s>>1]=(j[s>>1]|0)+-1<<16>>16;if(m[(k[n>>2]|0)+12>>1]&130|0){k[g>>2]=k[(k[k[n>>2]>>2]|0)+16>>2];s=(bx(k[g>>2]|0,e)|0)!=0;if(s&(k[e>>2]|0)>=-1&(k[e>>2]|0)<=1)k[e>>2]=10;else k[e>>2]=20;if((j[f>>1]|0)<(k[e>>2]|0))j[f>>1]=k[e>>2]}}}while(0);k[q>>2]=(k[q>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+48}if((j[(k[i>>2]|0)+22>>1]|0)<=((j[l>>1]|0)-(j[f>>1]|0)|0)){u=r;return}j[(k[i>>2]|0)+22>>1]=(j[l>>1]|0)-(j[f>>1]|0);u=r;return}function aD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=u;u=u+32|0;b=f+16|0;c=f;d=f+12|0;e=f+8|0;k[b>>2]=a;a=c;k[a>>2]=0;k[a+4>>2]=0;k[d>>2]=(m[(k[b>>2]|0)+52>>1]|0)-1;while(1){if((k[d>>2]|0)<0)break;k[e>>2]=j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1];if((k[e>>2]|0)>=0&(k[e>>2]|0)<63){h=t0(1,0,k[e>>2]|0)|0;i=c;g=k[i+4>>2]|M;a=c;k[a>>2]=k[i>>2]|h;k[a+4>>2]=g}k[d>>2]=(k[d>>2]|0)+-1}i=c;M=k[i+4>>2]|0;u=f;return k[i>>2]|0}function bD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=u;u=u+48|0;f=e+44|0;j=e+40|0;h=e+36|0;d=e+8|0;g=e;k[f>>2]=a;k[j>>2]=b;k[h>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[g+4>>2]=k[j>>2];k[g>>2]=k[h>>2];k[d+4>>2]=207;k[d+24>>2]=g;Uw(d,k[f>>2]|0)|0;u=e;return ((i[d+20>>0]|0)!=0^1)&1|0} +function Ts(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=u;u=u+32|0;h=f+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[c>>2]=k[h>>2];k[d>>2]=k[g>>2];Dd(k[(k[k[d>>2]>>2]|0)+12>>2]|0);k[e>>2]=0;while(1){a=k[d>>2]|0;if((k[e>>2]|0)>=(j[(k[c>>2]|0)+16>>1]|0))break;Vs((k[a+116>>2]|0)+((k[e>>2]|0)*40|0)|0,(k[(k[c>>2]|0)+116>>2]|0)+((k[e>>2]|0)*40|0)|0);k[e>>2]=(k[e>>2]|0)+1}Ed(k[(k[a>>2]|0)+12>>2]|0);u=f;return 0}function Us(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+40>>2]=0;u=b;return}function Vs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;oi(k[c>>2]|0);a=k[c>>2]|0;b=k[d>>2]|0;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));j[(k[d>>2]|0)+8>>1]=1;k[(k[d>>2]|0)+24>>2]=0;u=e;return}function Ws(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(k[c>>2]|0)){Qv(20953);k[b>>2]=0}else{k[d>>2]=k[(k[c>>2]|0)+84>>2];if((k[d>>2]|0)==-1607883113){k[b>>2]=1;break}if(Pv(k[c>>2]|0)|0)Qv(38719);k[b>>2]=0}while(0);u=e;return k[b>>2]|0}function Xs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=u;u=u+576|0;H=I+16|0;s=I+8|0;n=I;G=I+572|0;A=I+568|0;r=I+564|0;t=I+560|0;h=I+556|0;v=I+552|0;o=I+548|0;C=I+544|0;D=I+540|0;w=I+536|0;E=I+56|0;j=I+48|0;m=I+44|0;p=I+40|0;q=I+36|0;x=I+32|0;y=I+28|0;z=I+24|0;F=I+20|0;k[G>>2]=a;k[A>>2]=b;k[r>>2]=c;k[t>>2]=d;k[h>>2]=e;k[v>>2]=f;k[o>>2]=g;k[C>>2]=0;k[D>>2]=0;w0(E|0,0,152)|0;a=E+400|0;b=a+80|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0));k[E+432>>2]=k[h>>2];k[w>>2]=0;while(1){a=k[G>>2]|0;if((k[w>>2]|0)>=(k[(k[G>>2]|0)+20>>2]|0))break;k[j>>2]=k[(k[a+16>>2]|0)+(k[w>>2]<<4)+4>>2];if(k[j>>2]|0?(h=Ys(k[j>>2]|0)|0,k[D>>2]=h,k[D>>2]|0):0){B=5;break}k[w>>2]=(k[w>>2]|0)+1}if((B|0)==5){k[m>>2]=k[(k[(k[G>>2]|0)+16>>2]|0)+(k[w>>2]<<4)>>2];F=k[G>>2]|0;H=k[D>>2]|0;k[n>>2]=k[m>>2];vl(F,H,25177,n);Al(E);G=k[G>>2]|0;H=k[D>>2]|0;H=Tr(G,H)|0;k[D>>2]=H;H=k[D>>2]|0;u=I;return H|0}Yq(a);k[E>>2]=k[G>>2];do if((k[r>>2]|0)>=0){if(k[r>>2]|0?(i[(k[A>>2]|0)+((k[r>>2]|0)-1)>>0]|0)==0:0){B=15;break}k[q>>2]=k[(k[G>>2]|0)+96+4>>2];a=k[G>>2]|0;if((k[r>>2]|0)>(k[q>>2]|0)){vl(a,18,25207,s);H=Tr(k[G>>2]|0,18)|0;k[D>>2]=H;Al(E);G=k[G>>2]|0;H=k[D>>2]|0;H=Tr(G,H)|0;k[D>>2]=H;H=k[D>>2]|0;u=I;return H|0}s=k[r>>2]|0;s=ck(a,k[A>>2]|0,s,((s|0)<0)<<31>>31)|0;k[p>>2]=s;if(k[p>>2]|0){Zs(E,k[p>>2]|0,C)|0;k[E+436>>2]=(k[A>>2]|0)+((k[E+436>>2]|0)-(k[p>>2]|0));fe(k[G>>2]|0,k[p>>2]|0);break}else{k[E+436>>2]=(k[A>>2]|0)+(k[r>>2]|0);break}}else B=15;while(0);if((B|0)==15)Zs(E,k[A>>2]|0,C)|0;if((k[E+12>>2]|0)==101)k[E+12>>2]=0;if(i[E+17>>0]|0)_s(E);if(i[(k[G>>2]|0)+69>>0]|0)k[E+12>>2]=7;if(k[o>>2]|0)k[k[o>>2]>>2]=k[E+436>>2];k[D>>2]=k[E+12>>2];a:do if(((k[D>>2]|0)==0?k[E+8>>2]|0:0)?l[E+409>>0]|0:0){a=k[E+8>>2]|0;if((l[E+409>>0]|0)==2){$s(a,4);k[x>>2]=8;k[y>>2]=12}else{$s(a,8);k[x>>2]=0;k[y>>2]=8}k[w>>2]=k[x>>2];while(1){if((k[w>>2]|0)>=(k[y>>2]|0))break a;at(k[E+8>>2]|0,(k[w>>2]|0)-(k[x>>2]|0)|0,0,k[4180+(k[w>>2]<<2)>>2]|0,0)|0;k[w>>2]=(k[w>>2]|0)+1}}while(0);if(!(l[(k[G>>2]|0)+148+5>>0]|0)){k[z>>2]=k[E+8>>2];bt(k[z>>2]|0,k[A>>2]|0,(k[E+436>>2]|0)-(k[A>>2]|0)|0,k[t>>2]|0)}do if(k[E+8>>2]|0){if((k[D>>2]|0)==0?(l[(k[G>>2]|0)+69>>0]|0)==0:0){B=39;break}Sr(k[E+8>>2]|0)|0}else B=39;while(0);if((B|0)==39)k[k[v>>2]>>2]=k[E+8>>2];a=k[G>>2]|0;b=k[D>>2]|0;if(k[C>>2]|0){k[H>>2]=k[C>>2];vl(a,b,21240,H);fe(k[G>>2]|0,k[C>>2]|0)}else wl(a,b);while(1){if(!(k[E+468>>2]|0))break;k[F>>2]=k[E+468>>2];k[E+468>>2]=k[(k[F>>2]|0)+4>>2];fe(k[G>>2]|0,k[F>>2]|0)}Al(E);G=k[G>>2]|0;H=k[D>>2]|0;H=Tr(G,H)|0;k[D>>2]=H;H=k[D>>2]|0;u=I;return H|0}function Ys(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;ol(k[d>>2]|0);a=er(k[d>>2]|0,1,1)|0;k[b>>2]=a;ll(k[d>>2]|0);u=c;return k[b>>2]|0}function Zs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;z=u;u=u+80|0;d=z+72|0;p=z+16|0;o=z+8|0;n=z;v=z+68|0;w=z+64|0;h=z+60|0;j=z+56|0;x=z+52|0;y=z+48|0;m=z+44|0;e=z+40|0;f=z+36|0;r=z+32|0;g=z+28|0;s=z+24|0;t=z+20|0;k[w>>2]=a;k[h>>2]=b;k[j>>2]=c;k[x>>2]=0;k[f>>2]=-1;k[r>>2]=k[k[w>>2]>>2];k[g>>2]=k[(k[r>>2]|0)+96+4>>2];if(!(k[(k[r>>2]|0)+156>>2]|0))k[(k[r>>2]|0)+248>>2]=0;k[(k[w>>2]|0)+12>>2]=0;k[(k[w>>2]|0)+436>>2]=k[h>>2];k[y>>2]=0;c=ft(196)|0;k[m>>2]=c;if(!(k[m>>2]|0)){Yd(k[r>>2]|0);k[v>>2]=7;y=k[v>>2]|0;u=z;return y|0}a:while(1){do if(i[(k[h>>2]|0)+(k[y>>2]|0)>>0]|0){k[(k[w>>2]|0)+392>>2]=(k[h>>2]|0)+(k[y>>2]|0);c=bk((k[h>>2]|0)+(k[y>>2]|0)|0,e)|0;k[(k[w>>2]|0)+392+4>>2]=c;k[y>>2]=(k[y>>2]|0)+(k[(k[w>>2]|0)+392+4>>2]|0);if((k[y>>2]|0)>(k[g>>2]|0)){q=7;break a}}else{if((k[f>>2]|0)==1){k[e>>2]=0;break}if(!(k[f>>2]|0))break a;k[e>>2]=1}while(0);if((k[e>>2]|0)>=162){if(k[(k[r>>2]|0)+248>>2]|0){q=14;break}if((k[e>>2]|0)==163){q=16;break}else continue}else{a=k[m>>2]|0;b=k[e>>2]|0;A=(k[w>>2]|0)+392|0;c=k[w>>2]|0;k[d>>2]=k[A>>2];k[d+4>>2]=k[A+4>>2];gt(a,b,d,c);k[f>>2]=k[e>>2];if(k[(k[w>>2]|0)+12>>2]|0)break;if(l[(k[r>>2]|0)+69>>0]|0)break;else continue}}if((q|0)==7)k[(k[w>>2]|0)+12>>2]=18;else if((q|0)==14)k[(k[w>>2]|0)+12>>2]=9;else if((q|0)==16){A=k[w>>2]|0;k[n>>2]=(k[w>>2]|0)+392;Cl(A,25288,n)}k[(k[w>>2]|0)+436>>2]=(k[h>>2]|0)+(k[y>>2]|0);ht(k[m>>2]|0,157);if(i[(k[r>>2]|0)+69>>0]|0)k[(k[w>>2]|0)+12>>2]=7;if((k[(k[w>>2]|0)+12>>2]|0?(k[(k[w>>2]|0)+12>>2]|0)!=101:0)?(k[(k[w>>2]|0)+4>>2]|0)==0:0){A=k[r>>2]|0;q=fj(k[(k[w>>2]|0)+12>>2]|0)|0;k[o>>2]=q;A=ek(A,21240,o)|0;k[(k[w>>2]|0)+4>>2]=A}if(k[(k[w>>2]|0)+4>>2]|0){k[k[j>>2]>>2]=k[(k[w>>2]|0)+4>>2];A=k[(k[w>>2]|0)+12>>2]|0;k[p>>2]=k[k[j>>2]>>2];Hd(A,21240,p);k[(k[w>>2]|0)+4>>2]=0;k[x>>2]=(k[x>>2]|0)+1}if((k[(k[w>>2]|0)+8>>2]|0?(k[(k[w>>2]|0)+36>>2]|0)>0:0)?(l[(k[w>>2]|0)+18>>0]|0)==0:0){Xr(k[(k[w>>2]|0)+8>>2]|0);k[(k[w>>2]|0)+8>>2]=0}if(!(l[(k[w>>2]|0)+18>>0]|0)){fe(k[r>>2]|0,k[(k[w>>2]|0)+116>>2]|0);k[(k[w>>2]|0)+116>>2]=0;k[(k[w>>2]|0)+112>>2]=0}ie(k[(k[w>>2]|0)+460>>2]|0);if(!(i[(k[w>>2]|0)+410>>0]|0))Dk(k[r>>2]|0,k[(k[w>>2]|0)+440>>2]|0);if(k[(k[w>>2]|0)+476>>2]|0)al(k[r>>2]|0,k[(k[w>>2]|0)+476>>2]|0);Ck(k[r>>2]|0,k[(k[w>>2]|0)+444>>2]|0);k[y>>2]=(k[(k[w>>2]|0)+404>>2]|0)-1;while(1){d=k[r>>2]|0;a=k[(k[w>>2]|0)+428>>2]|0;if((k[y>>2]|0)<0)break;fe(d,k[a+(k[y>>2]<<2)>>2]|0);k[y>>2]=(k[y>>2]|0)+-1}fe(d,a);while(1){if(!(k[(k[w>>2]|0)+120>>2]|0))break;k[s>>2]=k[(k[w>>2]|0)+120>>2];k[(k[w>>2]|0)+120>>2]=k[k[s>>2]>>2];fe(k[r>>2]|0,k[s>>2]|0)}while(1){if(!(k[(k[w>>2]|0)+464>>2]|0))break;k[t>>2]=k[(k[w>>2]|0)+464>>2];k[(k[w>>2]|0)+464>>2]=k[(k[t>>2]|0)+68>>2];Dk(k[r>>2]|0,k[t>>2]|0)}k[v>>2]=k[x>>2];A=k[v>>2]|0;u=z;return A|0}function _s(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;b=i+24|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){a=14;break}k[g>>2]=0;k[h>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+4>>2];if(k[h>>2]|0){if(!(xl(k[h>>2]|0)|0)){a=Qp(k[h>>2]|0,0)|0;k[e>>2]=a;if((k[e>>2]|0)==7|(k[e>>2]|0)==3082)Yd(k[c>>2]|0);if(k[e>>2]|0){a=14;break}k[g>>2]=1}Sp(k[h>>2]|0,1,f);if((k[f>>2]|0)!=(k[k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]>>2]|0)){dt(k[c>>2]|0,k[d>>2]|0);k[(k[b>>2]|0)+12>>2]=17}if(k[g>>2]|0)et(k[h>>2]|0)|0}k[d>>2]=(k[d>>2]|0)+1}if((a|0)==14){u=i;return}}function $s(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=u;u=u+32|0;c=e+16|0;g=e+12|0;d=e+4|0;f=e;k[c>>2]=a;k[g>>2]=b;k[f>>2]=k[k[c>>2]>>2];Fk(k[(k[c>>2]|0)+100>>2]|0,(m[(k[c>>2]|0)+140>>1]|0)<<1);fe(k[f>>2]|0,k[(k[c>>2]|0)+100>>2]|0);k[d>>2]=k[g>>2]<<1;j[(k[c>>2]|0)+140>>1]=k[g>>2];b=Od(k[f>>2]|0,(k[d>>2]|0)*40|0,0)|0;k[e+8>>2]=b;k[(k[c>>2]|0)+100>>2]=b;if(!(k[(k[c>>2]|0)+100>>2]|0)){u=e;return}ct(k[(k[c>>2]|0)+100>>2]|0,k[d>>2]|0,k[k[c>>2]>>2]|0,1);u=e;return}function at(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;j=q+28|0;l=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;f=q+8|0;g=q+4|0;h=q;k[l>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[f>>2]=e;if(i[(k[k[l>>2]>>2]|0)+69>>0]|0){k[j>>2]=7;p=k[j>>2]|0;u=q;return p|0}else{o=(k[(k[l>>2]|0)+100>>2]|0)+(((k[n>>2]|0)+($(k[o>>2]|0,m[(k[l>>2]|0)+140>>1]|0)|0)|0)*40|0)|0;k[h>>2]=o;p=mi(k[h>>2]|0,k[p>>2]|0,-1,1,k[f>>2]|0)|0;k[g>>2]=p;k[j>>2]=k[g>>2];p=k[j>>2]|0;u=q;return p|0}return 0}function bt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[e>>2]|0)){u=i;return}g=k[g>>2]|0;g=ck(k[k[e>>2]>>2]|0,k[f>>2]|0,g,((g|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+176>>2]=g;g=(k[e>>2]|0)+144|0;j[g>>1]=j[g>>1]&-513|(k[h>>2]&1)<<9&65535;u=i;return}function ct(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;e=i+8|0;f=i+4|0;g=i;h=i+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;j[h>>1]=d;while(1){d=k[f>>2]|0;k[f>>2]=d+-1;if((d|0)<=0)break;k[(k[e>>2]|0)+32>>2]=k[g>>2];j[(k[e>>2]|0)+8>>1]=j[h>>1]|0;k[(k[e>>2]|0)+24>>2]=0;k[e>>2]=(k[e>>2]|0)+40}u=i;return}function dt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4);Xq(k[(k[d>>2]|0)+12>>2]|0);if((k[f>>2]|0)==1){u=e;return}k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+16;Xq(k[(k[d>>2]|0)+12>>2]|0);u=e;return}function et(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;ol(k[b>>2]|0);a=dq(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){a=cq(k[b>>2]|0,0)|0;k[c>>2]=a}ll(k[b>>2]|0);u=d;return k[c>>2]|0}function ft(a){a=a|0;var b=0,c=0,d=0;c=u;u=u+16|0;d=c+4|0;b=c;k[d>>2]=a;a=Wb[k[d>>2]&255](1608,0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){d=k[b>>2]|0;u=c;return d|0}k[k[b>>2]>>2]=(k[b>>2]|0)+8;j[(k[b>>2]|0)+8>>1]=0;i[(k[b>>2]|0)+8+2>>0]=0;d=k[b>>2]|0;u=c;return d|0}function gt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=u;u=u+48|0;e=j+32|0;m=j+28|0;f=j+24|0;l=j+20|0;g=j+8|0;h=j+4|0;i=j;k[m>>2]=a;k[f>>2]=b;k[l>>2]=d;k[i>>2]=k[m>>2];k[(k[i>>2]|0)+4>>2]=k[l>>2];while(1){m=kt(k[i>>2]|0,k[f>>2]&255)|0;k[h>>2]=m;do if((k[h>>2]|0)>>>0>999)if((k[h>>2]|0)>>>0<=1331){mt(k[i>>2]|0,(k[h>>2]|0)-1e3|0);break}else{k[g>>2]=k[c>>2];k[g+4>>2]=k[c+4>>2];l=k[i>>2]|0;m=k[f>>2]|0;k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];nt(l,m,e);jt(k[i>>2]|0,k[f>>2]&255,g);k[f>>2]=252;break}else{d=k[i>>2]|0;l=k[h>>2]|0;m=k[f>>2]|0;k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];lt(d,l,m,e);k[f>>2]=252}while(0);if((k[f>>2]|0)==252){e=9;break}if((k[k[i>>2]>>2]|0)>>>0<=((k[i>>2]|0)+8|0)>>>0){e=9;break}}if((e|0)==9){u=j;return}}function ht(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];while(1){if((k[k[d>>2]>>2]|0)>>>0<=((k[d>>2]|0)+8|0)>>>0)break;it(k[d>>2]|0)}Ob[k[c>>2]&255](k[d>>2]|0);u=e;return}function it(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;d=b+4|0;c=b;k[d>>2]=a;e=k[d>>2]|0;a=k[e>>2]|0;k[e>>2]=a+-16;k[c>>2]=a;jt(k[d>>2]|0,i[(k[c>>2]|0)+2>>0]|0,(k[c>>2]|0)+4|0);u=b;return}function jt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=u;u=u+16|0;h=f+8|0;g=f+12|0;d=f+4|0;e=f;k[h>>2]=a;i[g>>0]=b;k[d>>2]=c;k[e>>2]=k[(k[h>>2]|0)+4>>2];do switch(l[g>>0]|0|0){case 206:case 195:case 194:case 163:{Tk(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);u=f;return}case 173:case 172:{Yk(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);u=f;return}case 226:case 224:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{Uk(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);u=f;return}case 212:case 211:case 200:case 193:{$k(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);u=f;return}case 250:case 196:{al(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);u=f;return}case 241:case 236:case 227:case 225:case 215:case 203:case 201:{Yk(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);u=f;return}case 220:case 217:case 216:{bl(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);u=f;return}case 237:case 232:{kl(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);u=f;return}case 234:{bl(k[k[e>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0);u=f;return}default:{u=f;return}}while(0)}function kt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;o=u;u=u+32|0;c=o+16|0;p=o+12|0;d=o+21|0;e=o+8|0;f=o+4|0;g=o+20|0;h=o;k[p>>2]=a;i[d>>0]=b;k[f>>2]=m[k[k[p>>2]>>2]>>1];if((k[f>>2]|0)>=1e3){k[c>>2]=k[f>>2];p=k[c>>2]|0;u=o;return p|0}while(1){k[e>>2]=j[15242+(k[f>>2]<<1)>>1];k[e>>2]=(k[e>>2]|0)+(l[d>>0]|0);if(!((k[e>>2]|0)<0|(k[e>>2]|0)>=1567)?(l[37056+(k[e>>2]|0)>>0]|0)==(l[d>>0]|0):0){n=13;break}if((l[d>>0]|0)>>>0>=96)break;p=i[38623+(l[d>>0]|0)>>0]|0;i[g>>0]=p;if(!(p&255))break;i[d>>0]=i[g>>0]|0}if((n|0)==13){k[c>>2]=m[12078+(k[e>>2]<<1)>>1];p=k[c>>2]|0;u=o;return p|0}k[h>>2]=(k[e>>2]|0)-(l[d>>0]|0)+96;if(((k[h>>2]|0)<1567?(l[37056+(k[h>>2]|0)>>0]|0)==96:0)?(l[d>>0]|0)>0:0){k[c>>2]=m[12078+(k[h>>2]<<1)>>1];p=k[c>>2]|0;u=o;return p|0}k[c>>2]=m[16154+(k[f>>2]<<1)>>1];p=k[c>>2]|0;u=o;return p|0}function lt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0;l=u;u=u+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=k[e>>2]|0;k[c>>2]=(k[c>>2]|0)+16;if((k[k[e>>2]>>2]|0)>>>0>=((k[e>>2]|0)+8+1600|0)>>>0){ot(k[e>>2]|0);u=l;return}if((k[f>>2]|0)>455)k[f>>2]=(k[f>>2]|0)+332;k[h>>2]=k[k[e>>2]>>2];j[k[h>>2]>>1]=k[f>>2];i[(k[h>>2]|0)+2>>0]=k[g>>2];h=(k[h>>2]|0)+4|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];u=l;return}function mt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=u;u=u+288|0;c=fa+280|0;X=fa+40|0;W=fa+32|0;V=fa+24|0;U=fa+16|0;Z=fa+8|0;T=fa;$=fa+276|0;aa=fa+272|0;ba=fa+268|0;ca=fa+264|0;da=fa+260|0;ea=fa+256|0;_=fa+252|0;S=fa+240|0;d=fa+228|0;e=fa+216|0;f=fa+192|0;g=fa+188|0;h=fa+184|0;n=fa+180|0;o=fa+176|0;p=fa+168|0;q=fa+164|0;r=fa+160|0;s=fa+156|0;t=fa+152|0;v=fa+148|0;w=fa+144|0;x=fa+140|0;y=fa+136|0;z=fa+132|0;A=fa+128|0;B=fa+124|0;C=fa+120|0;D=fa+116|0;E=fa+112|0;F=fa+108|0;G=fa+104|0;Y=fa+96|0;H=fa+92|0;I=fa+88|0;J=fa+84|0;K=fa+80|0;L=fa+76|0;M=fa+72|0;N=fa+68|0;O=fa+64|0;P=fa+60|0;Q=fa+56|0;R=fa+48|0;k[$>>2]=a;k[aa>>2]=b;k[_>>2]=k[(k[$>>2]|0)+4>>2];k[da>>2]=k[k[$>>2]>>2];if((l[25337+(k[aa>>2]<<1)+1>>0]|0)==0?(k[k[$>>2]>>2]|0)>>>0>=((k[$>>2]|0)+8+1584|0)>>>0:0){ot(k[$>>2]|0);u=fa;return}a:do switch(k[aa>>2]|0){case 0:{i[(k[_>>2]|0)+409>>0]=1;break}case 1:{i[(k[_>>2]|0)+409>>0]=2;break}case 2:{pt(k[_>>2]|0);break}case 3:{qt(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 4:{k[(k[da>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{k[(k[da>>2]|0)+4>>2]=l[(k[da>>2]|0)+2>>0];break}case 9:case 8:{rt(k[_>>2]|0);break}case 10:{st(k[_>>2]|0);break}case 11:{tt(k[_>>2]|0,0,(k[da>>2]|0)+4|0);break}case 12:{tt(k[_>>2]|0,1,(k[da>>2]|0)+4|0);break}case 13:{tt(k[_>>2]|0,2,(k[da>>2]|0)+4|0);break}case 14:{ut(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0,k[(k[da>>2]|0)+-64+4>>2]|0,0,0,k[(k[da>>2]|0)+-32+4>>2]|0);break}case 15:{vt(k[_>>2]|0);break}case 215:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 17:{k[(k[da>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{k[(k[da>>2]|0)+4>>2]=1;break}case 20:{wt(k[_>>2]|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-16+4|0,k[(k[da>>2]|0)+4>>2]&255,0);break}case 21:{wt(k[_>>2]|0,0,0,0,k[(k[da>>2]|0)+4>>2]|0);Tk(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 23:{if((k[(k[da>>2]|0)+4+4>>2]|0)==5?(vd(k[(k[da>>2]|0)+4>>2]|0,26001,5)|0)==0:0){k[(k[da>>2]|0)+-16+4>>2]=96;break a}k[(k[da>>2]|0)+-16+4>>2]=0;_=k[_>>2]|0;Z=k[(k[da>>2]|0)+4>>2]|0;k[T>>2]=k[(k[da>>2]|0)+4+4>>2];k[T+4>>2]=Z;Cl(_,26007,T);break}case 24:{xt(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0);break}case 96:case 60:case 25:{k[(k[da>>2]|0)+16+4+4>>2]=0;k[(k[da>>2]|0)+16+4>>2]=0;break}case 26:{k[(k[da>>2]|0)+-48+4+4>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0)-(k[(k[da>>2]|0)+-48+4>>2]|0);break}case 27:{k[(k[da>>2]|0)+-80+4+4>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0)-(k[(k[da>>2]|0)+-80+4>>2]|0);break}case 28:{k[(k[da>>2]|0)+-16+4+4>>2]=(k[(k[da>>2]|0)+4+4>>2]|0)+((k[(k[da>>2]|0)+4>>2]|0)-(k[(k[da>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{_=(k[_>>2]|0)+84|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];break}case 32:case 30:{yt(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 31:{yt(k[_>>2]|0,(k[da>>2]|0)+-16+4|0);break}case 33:{Z=zt(k[_>>2]|0,155,k[(k[da>>2]|0)+4>>2]|0,0,0)|0;k[d>>2]=Z;k[d+4>>2]=k[(k[da>>2]|0)+-16+4>>2];k[d+8>>2]=k[(k[da>>2]|0)+4+8>>2];yt(k[_>>2]|0,d);break}case 34:{Z=k[_>>2]|0;Y=(k[da>>2]|0)+4|0;k[c>>2]=k[Y>>2];k[c+4>>2]=k[Y+4>>2];At(e,Z,97,c);yt(k[_>>2]|0,e);break}case 35:{Bt(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 36:{Ct(k[_>>2]|0,0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0);break}case 37:{Dt(k[_>>2]|0,0,0,0,0,k[(k[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 38:{Et(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 39:{Ft(k[_>>2]|0,0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 40:{Gt(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 41:{Ht(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 44:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 45:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+-16+4>>2]&~k[(k[da>>2]|0)+4+4>>2]|k[(k[da>>2]|0)+4>>2];break}case 46:{k[(k[da>>2]|0)+-16+4>>2]=0;k[(k[da>>2]|0)+-16+4+4>>2]=0;break}case 47:{k[(k[da>>2]|0)+-32+4>>2]=0;k[(k[da>>2]|0)+-32+4+4>>2]=0;break}case 48:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2];k[(k[da>>2]|0)+-32+4+4>>2]=255;break}case 49:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2]<<8;k[(k[da>>2]|0)+-32+4+4>>2]=65280;break}case 50:{k[(k[da>>2]|0)+-16+4>>2]=7;break}case 51:{k[(k[da>>2]|0)+-16+4>>2]=8;break}case 52:{k[(k[da>>2]|0)+4>>2]=9;break}case 53:{k[(k[da>>2]|0)+4>>2]=6;break}case 54:{k[(k[da>>2]|0)+-16+4>>2]=0;break}case 55:{k[(k[da>>2]|0)+-32+4>>2]=0;break}case 144:case 71:case 56:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 216:case 190:case 187:case 75:case 58:{k[(k[da>>2]|0)+-16+4>>2]=1;break}case 59:{k[(k[da>>2]|0)+-16+4>>2]=0;break}case 61:{k[(k[_>>2]|0)+84+4>>2]=0;break}case 63:{Ct(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,0);break}case 64:{Dt(k[_>>2]|0,0,0,0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 65:{Et(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0);break}case 66:{Ft(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,(k[da>>2]|0)+-48+4|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);Gt(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 70:case 68:{k[(k[da>>2]|0)+16+4>>2]=10;break}case 69:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 72:{k[(k[da>>2]|0)+4>>2]=4;break}case 145:case 73:{k[(k[da>>2]|0)+4>>2]=5;break}case 74:{It(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 77:{Jt(k[_>>2]|0,(k[da>>2]|0)+-128+4|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-48+4|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-112+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0);break}case 78:{It(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,1,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 79:{k[f>>2]=k[1057];k[f+4>>2]=k[1058];k[f+8>>2]=k[1059];k[f+12>>2]=k[1060];k[f+16>>2]=k[1061];k[f+20>>2]=k[1062];Kt(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,f)|0;Tk(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 80:{k[g>>2]=k[(k[da>>2]|0)+4>>2];if(k[g>>2]|0){k[(k[g>>2]|0)+64>>2]=k[(k[da>>2]|0)+-16+4>>2];Lt(k[_>>2]|0,k[g>>2]|0)}else al(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);k[(k[da>>2]|0)+-16+4>>2]=k[g>>2];break}case 81:{k[h>>2]=k[(k[da>>2]|0)+4>>2];k[n>>2]=k[(k[da>>2]|0)+-32+4>>2];if(k[h>>2]|0?k[(k[h>>2]|0)+48>>2]|0:0){k[p+4>>2]=0;Lt(k[_>>2]|0,k[h>>2]|0);Z=Mt(k[_>>2]|0,0,0,0,p,k[h>>2]|0,0,0)|0;k[o>>2]=Z;Z=Nt(k[_>>2]|0,0,k[o>>2]|0,0,0,0,0,0,0,0)|0;k[h>>2]=Z}if(k[h>>2]|0){i[(k[h>>2]|0)+4>>0]=k[(k[da>>2]|0)+-16+4>>2];k[(k[h>>2]|0)+48>>2]=k[n>>2];if(k[n>>2]|0){Z=(k[n>>2]|0)+8|0;k[Z>>2]=k[Z>>2]&-1025}Z=(k[h>>2]|0)+8|0;k[Z>>2]=k[Z>>2]&-1025;if((k[(k[da>>2]|0)+-16+4>>2]|0)!=116)i[(k[_>>2]|0)+22>>0]=1}else Tk(k[k[_>>2]>>2]|0,k[n>>2]|0);k[(k[da>>2]|0)+-32+4>>2]=k[h>>2];break}case 84:case 82:{k[(k[da>>2]|0)+4>>2]=l[(k[da>>2]|0)+2>>0];break}case 83:{k[(k[da>>2]|0)+-16+4>>2]=116;break}case 85:{_=Nt(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+-112+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+4+4>>2]|0)|0;k[(k[da>>2]|0)+-128+4>>2]=_;break}case 86:{_=Nt(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;break}case 87:{k[r>>2]=k[(k[da>>2]|0)+-64+4>>2];_=Nt(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;k[q>>2]=_;if(k[r>>2]|0){_=(k[r>>2]|0)+8|0;k[_>>2]=k[_>>2]&-1025}if(k[q>>2]|0){i[(k[q>>2]|0)+4>>0]=116;k[(k[q>>2]|0)+48>>2]=k[r>>2];c=k[q>>2]|0;a=k[da>>2]|0}else{c=k[r>>2]|0;a=k[da>>2]|0}k[a+-64+4>>2]=c;break}case 88:{k[(k[da>>2]|0)+4>>2]=1;break}case 89:{k[(k[da>>2]|0)+4>>2]=2;break}case 211:case 206:case 203:case 126:case 119:case 91:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 92:{Z=Ot(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-32+4>>2]=Z;if((k[(k[da>>2]|0)+4+4>>2]|0)>>>0>0)Pt(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+4|0,1);Qt(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+-16+4|0);break}case 93:{Z=Rt(k[k[_>>2]>>2]|0,160,0)|0;k[s>>2]=Z;_=Ot(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[s>>2]|0)|0;k[(k[da>>2]|0)+-16+4>>2]=_;break}case 94:{Z=zt(k[_>>2]|0,160,0,0,0)|0;k[t>>2]=Z;Z=zt(k[_>>2]|0,55,0,0,(k[da>>2]|0)+-32+4|0)|0;k[v>>2]=Z;Z=zt(k[_>>2]|0,122,k[v>>2]|0,k[t>>2]|0,0)|0;k[w>>2]=Z;_=Ot(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[w>>2]|0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;break}case 226:case 225:case 106:case 95:{_=(k[da>>2]|0)+-16+4|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];break}case 97:{_=im(k[k[_>>2]>>2]|0,80,0)|0;k[(k[da>>2]|0)+16+4>>2]=_;break}case 98:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];St(k[(k[da>>2]|0)+-16+4>>2]|0);break}case 99:{if(k[(k[da>>2]|0)+-16+4>>2]|0?(k[k[(k[da>>2]|0)+-16+4>>2]>>2]|0)>0:0)i[(k[(k[da>>2]|0)+-16+4>>2]|0)+8+(((k[k[(k[da>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=k[(k[da>>2]|0)+4>>2];break}case 100:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 101:{Z=Mt(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,(k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-48+4|0,0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=Z;Tt(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,(k[da>>2]|0)+-32+4|0);break}case 102:{Z=Mt(k[_>>2]|0,k[(k[da>>2]|0)+-128+4>>2]|0,(k[da>>2]|0)+-112+4|0,(k[da>>2]|0)+-96+4|0,(k[da>>2]|0)+-32+4|0,0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-128+4>>2]=Z;Ut(k[_>>2]|0,k[(k[da>>2]|0)+-128+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 103:{_=Mt(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,0,0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=_;break}case 104:{if((((k[(k[da>>2]|0)+-96+4>>2]|0)==0?(k[(k[da>>2]|0)+-32+4+4>>2]|0)==0:0)?(k[(k[da>>2]|0)+-16+4>>2]|0)==0:0)?(k[(k[da>>2]|0)+4>>2]|0)==0:0){k[(k[da>>2]|0)+-96+4>>2]=k[(k[da>>2]|0)+-64+4>>2];break a}if((k[k[(k[da>>2]|0)+-64+4>>2]>>2]|0)!=1){St(k[(k[da>>2]|0)+-64+4>>2]|0);Z=Nt(k[_>>2]|0,0,k[(k[da>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;k[z>>2]=Z;_=Mt(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,0,0,(k[da>>2]|0)+-32+4|0,k[z>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=_;break a}Z=Mt(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,0,0,(k[da>>2]|0)+-32+4|0,0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=Z;if(k[(k[da>>2]|0)+-96+4>>2]|0){k[x>>2]=(k[(k[da>>2]|0)+-96+4>>2]|0)+8+(((k[k[(k[da>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);k[y>>2]=(k[(k[da>>2]|0)+-64+4>>2]|0)+8;k[(k[x>>2]|0)+8>>2]=k[(k[y>>2]|0)+8>>2];k[(k[x>>2]|0)+4>>2]=k[(k[y>>2]|0)+4>>2];k[(k[x>>2]|0)+20>>2]=k[(k[y>>2]|0)+20>>2];k[(k[y>>2]|0)+4>>2]=0;k[(k[y>>2]|0)+8>>2]=0;k[(k[y>>2]|0)+20>>2]=0}$k(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{k[(k[da>>2]|0)+16+4>>2]=0;k[(k[da>>2]|0)+16+4+4>>2]=0;break}case 107:{_=Vt(k[k[_>>2]>>2]|0,0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0)|0;k[(k[da>>2]|0)+-16+4>>2]=_;break}case 108:{k[(k[da>>2]|0)+4>>2]=1;break}case 109:{_=Wt(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,0,0)|0;k[(k[da>>2]|0)+-16+4>>2]=_;break}case 110:{_=Wt(k[_>>2]|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-16+4|0,0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 111:{_=Wt(k[_>>2]|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-16+4|0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;break}case 199:case 136:case 129:case 112:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 202:case 200:case 135:case 128:case 113:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 115:{_=(k[da>>2]|0)+-32+4|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];break}case 116:{k[(k[da>>2]|0)+-16+4>>2]=0;k[(k[da>>2]|0)+-16+4+4>>2]=1;break}case 117:{k[(k[da>>2]|0)+-48+4>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 146:case 118:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 127:case 120:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 121:{_=Ot(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;Xt(k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 122:{_=Ot(k[_>>2]|0,0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-16+4>>2]=_;Xt(k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 123:{k[(k[da>>2]|0)+4>>2]=0;break}case 124:{k[(k[da>>2]|0)+4>>2]=1;break}case 125:{k[(k[da>>2]|0)+16+4>>2]=-1;break}case 130:{k[(k[da>>2]|0)+16+4>>2]=0;k[(k[da>>2]|0)+16+4+4>>2]=0;break}case 131:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];k[(k[da>>2]|0)+-16+4+4>>2]=0;break}case 132:{k[(k[da>>2]|0)+-48+4>>2]=k[(k[da>>2]|0)+-32+4>>2];k[(k[da>>2]|0)+-48+4+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 133:{k[(k[da>>2]|0)+-48+4+4>>2]=k[(k[da>>2]|0)+-32+4>>2];k[(k[da>>2]|0)+-48+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 134:{Yt(k[_>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0,1);Tt(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+-16+4|0);Zt(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 137:{Yt(k[_>>2]|0,k[(k[da>>2]|0)+-112+4>>2]|0,1);Tt(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,(k[da>>2]|0)+-48+4|0);_t(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,26034);$t(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0);break}case 138:{Z=Ot(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;Pt(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,(k[da>>2]|0)+-32+4|0,1);break}case 139:{_=au(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=_;break}case 140:{Z=Ot(k[_>>2]|0,0,k[(k[da>>2]|0)+4>>2]|0)|0;k[S>>2]=Z;Pt(k[_>>2]|0,k[S>>2]|0,(k[da>>2]|0)+-32+4|0,1);k[(k[da>>2]|0)+-32+4>>2]=k[S>>2];break}case 141:{_=au(k[_>>2]|0,0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 142:{Yt(k[_>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0,1);bu(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 143:{Yt(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,1);bu(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0);break}case 147:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 148:{_=cu(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+4|0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 149:{_=cu(k[k[_>>2]>>2]|0,0,(k[da>>2]|0)+4|0)|0;k[(k[da>>2]|0)+4>>2]=_;break}case 150:{du((k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 157:case 156:case 151:{Y=(k[da>>2]|0)+4|0;Z=k[_>>2]|0;_=l[(k[da>>2]|0)+2>>0]|0;X=(k[da>>2]|0)+4|0;k[c>>2]=k[X>>2];k[c+4>>2]=k[X+4>>2];At(Y,Z,_,c);break}case 153:case 152:{Z=(k[da>>2]|0)+4|0;_=k[_>>2]|0;Y=(k[da>>2]|0)+4|0;k[c>>2]=k[Y>>2];k[c+4>>2]=k[Y+4>>2];At(Z,_,55,c);break}case 154:{Z=eu(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+-32+4|0,1)|0;k[A>>2]=Z;Z=eu(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+4|0,1)|0;k[B>>2]=Z;du((k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);_=zt(k[_>>2]|0,122,k[A>>2]|0,k[B>>2]|0,0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 155:{Z=eu(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+-64+4|0,1)|0;k[C>>2]=Z;Z=eu(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+-32+4|0,1)|0;k[D>>2]=Z;Z=eu(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+4|0,1)|0;k[E>>2]=Z;Z=zt(k[_>>2]|0,122,k[D>>2]|0,k[E>>2]|0,0)|0;k[F>>2]=Z;du((k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+4|0);_=zt(k[_>>2]|0,122,k[C>>2]|0,k[F>>2]|0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 158:{_=eu(k[k[_>>2]>>2]|0,134,(k[da>>2]|0)+4|0,1)|0;k[S>>2]=_;k[S+4>>2]=k[(k[da>>2]|0)+4>>2];k[S+8>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);if(k[S>>2]|0){_=(k[S>>2]|0)+4|0;k[_>>2]=k[_>>2]|8388608}_=(k[da>>2]|0)+4|0;k[_>>2]=k[S>>2];k[_+4>>2]=k[S+4>>2];k[_+8>>2]=k[S+8>>2];break}case 159:{if((i[k[(k[da>>2]|0)+4>>2]>>0]|0)==35?l[20063+(l[(k[(k[da>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0:0){c=(k[da>>2]|0)+4|0;k[Y>>2]=k[c>>2];k[Y+4>>2]=k[c+4>>2];du((k[da>>2]|0)+4|0,Y,Y);c=k[_>>2]|0;if(!(l[(k[_>>2]|0)+18>>0]|0)){k[Z>>2]=Y;Cl(c,25313,Z);k[(k[da>>2]|0)+4>>2]=0;break a}_=zt(c,157,0,0,0)|0;k[(k[da>>2]|0)+4>>2]=_;if(!(k[(k[da>>2]|0)+4>>2]|0))break a;qg((k[Y>>2]|0)+1|0,(k[(k[da>>2]|0)+4>>2]|0)+28|0)|0;break a}k[G>>2]=k[(k[da>>2]|0)+4+4>>2];Y=(k[da>>2]|0)+4|0;Z=k[_>>2]|0;X=(k[da>>2]|0)+4|0;k[c>>2]=k[X>>2];k[c+4>>2]=k[X+4>>2];At(Y,Z,135,c);fu(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[G>>2]|0);break}case 160:{_=gu(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+4|0,1)|0;k[(k[da>>2]|0)+-32+4>>2]=_;k[(k[da>>2]|0)+-32+4+8>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);break}case 161:{du((k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+4|0);_=zt(k[_>>2]|0,66,k[(k[da>>2]|0)+-48+4>>2]|0,0,(k[da>>2]|0)+-16+4|0)|0;k[(k[da>>2]|0)+-80+4>>2]=_;break}case 162:{if(k[(k[da>>2]|0)+-16+4>>2]|0?(k[k[(k[da>>2]|0)+-16+4>>2]>>2]|0)>(k[(k[k[_>>2]>>2]|0)+96+24>>2]|0):0){Z=k[_>>2]|0;k[U>>2]=(k[da>>2]|0)+-64+4;Cl(Z,26043,U)}_=hu(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,(k[da>>2]|0)+-64+4|0)|0;k[S>>2]=_;du(S,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+4|0);if((k[(k[da>>2]|0)+-32+4>>2]|0)==1?k[S>>2]|0:0){_=(k[S>>2]|0)+4|0;k[_>>2]=k[_>>2]|16}_=(k[da>>2]|0)+-64+4|0;k[_>>2]=k[S>>2];k[_+4>>2]=k[S+4>>2];k[_+8>>2]=k[S+8>>2];break}case 163:{_=hu(k[_>>2]|0,0,(k[da>>2]|0)+-48+4|0)|0;k[S>>2]=_;du(S,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+4|0);_=(k[da>>2]|0)+-48+4|0;k[_>>2]=k[S>>2];k[_+4>>2]=k[S+4>>2];k[_+8>>2]=k[S+8>>2];break}case 164:{_=hu(k[_>>2]|0,0,(k[da>>2]|0)+4|0)|0;k[S>>2]=_;du(S,(k[da>>2]|0)+4|0,(k[da>>2]|0)+4|0);_=(k[da>>2]|0)+4|0;k[_>>2]=k[S>>2];k[_+4>>2]=k[S+4>>2];k[_+8>>2]=k[S+8>>2];break}case 165:{Z=Ot(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[H>>2]=Z;Z=zt(k[_>>2]|0,158,0,0,0)|0;k[S>>2]=Z;if(k[S>>2]|0){k[(k[S>>2]|0)+20>>2]=k[H>>2];du(S,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+4|0)}else Uk(k[k[_>>2]>>2]|0,k[H>>2]|0);_=(k[da>>2]|0)+-64+4|0;k[_>>2]=k[S>>2];k[_+4>>2]=k[S+4>>2];k[_+8>>2]=k[S+8>>2];break}case 173:case 172:case 171:case 170:case 169:case 168:case 167:case 166:{iu(k[_>>2]|0,l[(k[da>>2]|0)+-16+2>>0]|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);break}case 174:{_=(k[da>>2]|0)+4|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];break}case 175:{_=(k[da>>2]|0)+-16+4|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];_=(k[da>>2]|0)+-16+4+4|0;k[_>>2]=k[_>>2]|-2147483648;break}case 176:{k[J>>2]=k[(k[da>>2]|0)+-16+4+4>>2]&-2147483648;Z=(k[da>>2]|0)+-16+4+4|0;k[Z>>2]=k[Z>>2]&2147483647;Z=Ot(k[_>>2]|0,0,k[(k[da>>2]|0)+4>>2]|0)|0;k[I>>2]=Z;Z=Ot(k[_>>2]|0,k[I>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[I>>2]=Z;Z=hu(k[_>>2]|0,k[I>>2]|0,(k[da>>2]|0)+-16+4|0)|0;k[(k[da>>2]|0)+-32+4>>2]=Z;ju(k[_>>2]|0,k[J>>2]|0,(k[da>>2]|0)+-32+4|0);k[(k[da>>2]|0)+-32+4+8>>2]=k[(k[da>>2]|0)+4+8>>2];if(k[(k[da>>2]|0)+-32+4>>2]|0){_=(k[(k[da>>2]|0)+-32+4>>2]|0)+4|0;k[_>>2]=k[_>>2]|128}break}case 177:{k[L>>2]=k[(k[da>>2]|0)+-48+4+4>>2]&-2147483648;Z=(k[da>>2]|0)+-48+4+4|0;k[Z>>2]=k[Z>>2]&2147483647;Z=Ot(k[_>>2]|0,0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[K>>2]=Z;Z=Ot(k[_>>2]|0,k[K>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0)|0;k[K>>2]=Z;Z=Ot(k[_>>2]|0,k[K>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[K>>2]=Z;Z=hu(k[_>>2]|0,k[K>>2]|0,(k[da>>2]|0)+-48+4|0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;ju(k[_>>2]|0,k[L>>2]|0,(k[da>>2]|0)+-64+4|0);k[(k[da>>2]|0)+-64+4+8>>2]=k[(k[da>>2]|0)+4+8>>2];if(k[(k[da>>2]|0)+-64+4>>2]|0){_=(k[(k[da>>2]|0)+-64+4>>2]|0)+4|0;k[_>>2]=k[_>>2]|128}break}case 178:{ku(k[_>>2]|0,l[(k[da>>2]|0)+2>>0]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0);break}case 179:{ku(k[_>>2]|0,35,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);break}case 180:{iu(k[_>>2]|0,29,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);lu(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,34);break}case 181:{iu(k[_>>2]|0,148,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+4|0);lu(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,35);break}case 183:case 182:{mu((k[da>>2]|0)+-16+4|0,k[_>>2]|0,l[(k[da>>2]|0)+-16+2>>0]|0,(k[da>>2]|0)+4|0,(k[da>>2]|0)+-16+4|0);break}case 184:{mu((k[da>>2]|0)+-16+4|0,k[_>>2]|0,155,(k[da>>2]|0)+4|0,(k[da>>2]|0)+-16+4|0);break}case 185:{mu((k[da>>2]|0)+-16+4|0,k[_>>2]|0,156,(k[da>>2]|0)+4|0,(k[da>>2]|0)+-16+4|0);break}case 189:case 186:{k[(k[da>>2]|0)+4>>2]=0;break}case 188:{Z=Ot(k[_>>2]|0,0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[M>>2]=Z;Z=Ot(k[_>>2]|0,k[M>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[M>>2]=Z;Z=zt(k[_>>2]|0,32,k[(k[da>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;if(k[(k[da>>2]|0)+-64+4>>2]|0)k[(k[(k[da>>2]|0)+-64+4>>2]|0)+20>>2]=k[M>>2];else Uk(k[k[_>>2]>>2]|0,k[M>>2]|0);ju(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+-64+4|0);k[(k[da>>2]|0)+-64+4+8>>2]=k[(k[da>>2]|0)+4+8>>2];break}case 191:{do if(!(k[(k[da>>2]|0)+-16+4>>2]|0)){Yk(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);_=zt(k[_>>2]|0,134,0,0,4252+(k[(k[da>>2]|0)+-48+4>>2]<<3)|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_}else{if((k[k[(k[da>>2]|0)+-16+4>>2]>>2]|0)==1){k[N>>2]=k[k[(k[(k[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2];k[k[(k[(k[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;Uk(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);if(k[N>>2]|0){Z=(k[N>>2]|0)+4|0;k[Z>>2]=k[Z>>2]&-257;Z=(k[N>>2]|0)+4|0;k[Z>>2]=k[Z>>2]|512}_=zt(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0?36:37,k[(k[da>>2]|0)+-64+4>>2]|0,k[N>>2]|0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}Z=zt(k[_>>2]|0,33,k[(k[da>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;if(k[(k[da>>2]|0)+-64+4>>2]|0){k[(k[(k[da>>2]|0)+-64+4>>2]|0)+20>>2]=k[(k[da>>2]|0)+-16+4>>2];nu(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0)}else Uk(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);ju(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+-64+4|0)}while(0);k[(k[da>>2]|0)+-64+4+8>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);break}case 192:{du((k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);Z=zt(k[_>>2]|0,119,0,0,0)|0;k[(k[da>>2]|0)+-32+4>>2]=Z;ou(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 193:{Z=zt(k[_>>2]|0,33,k[(k[da>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;ou(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);ju(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+-64+4|0);k[(k[da>>2]|0)+-64+4+8>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);break}case 194:{Z=Vt(k[k[_>>2]>>2]|0,0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-16+4|0)|0;k[O>>2]=Z;Z=Nt(k[_>>2]|0,0,k[O>>2]|0,0,0,0,0,0,0,0)|0;k[P>>2]=Z;if(k[(k[da>>2]|0)+4>>2]|0)Ut(k[_>>2]|0,k[P>>2]|0?k[O>>2]|0:0,k[(k[da>>2]|0)+4>>2]|0);c=zt(k[_>>2]|0,33,k[(k[da>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=c;ou(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[P>>2]|0);ju(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+-64+4|0);c=k[da>>2]|0;if(k[(k[da>>2]|0)+-16+4>>2]|0){a=(k[da>>2]|0)+-16|0;c=k[c+-16+4>>2]|0}else{a=(k[da>>2]|0)+-32|0;c=k[c+-32+4>>2]|0}k[(k[da>>2]|0)+-64+4+8>>2]=c+(k[a+4+4>>2]|0);break}case 195:{du((k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+4|0);Z=zt(k[_>>2]|0,20,0,0,0)|0;k[(k[da>>2]|0)+-48+4>>2]=Z;k[Q>>2]=Z;ou(k[_>>2]|0,k[Q>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 196:{du((k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+4|0);Z=zt(k[_>>2]|0,136,k[(k[da>>2]|0)+-48+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;if(!(k[(k[da>>2]|0)+-64+4>>2]|0)){Uk(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0);Yk(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break a}if(k[(k[da>>2]|0)+-16+4>>2]|0)c=Ot(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;else c=k[(k[da>>2]|0)+-32+4>>2]|0;k[(k[(k[da>>2]|0)+-64+4>>2]|0)+20>>2]=c;nu(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 197:{Z=Ot(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;_=Ot(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 198:{Z=Ot(k[_>>2]|0,0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[(k[da>>2]|0)+-48+4>>2]=Z;_=Ot(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;break}case 201:{k[(k[da>>2]|0)+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 204:{_=Ot(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 205:{_=Ot(k[_>>2]|0,0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+4>>2]=_;break}case 212:case 207:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 208:{Dt(k[_>>2]|0,(k[da>>2]|0)+-112+4|0,(k[da>>2]|0)+-96+4|0,Vt(k[k[_>>2]>>2]|0,0,(k[da>>2]|0)+-64+4|0,0)|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-160+4>>2]|0,(k[da>>2]|0)+-176+4|0,k[(k[da>>2]|0)+4>>2]|0,0,k[(k[da>>2]|0)+-128+4>>2]|0,0);break}case 250:case 209:{k[(k[da>>2]|0)+4>>2]=2;break}case 210:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 213:{_=pu(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 214:{_=pu(k[_>>2]|0,0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 217:{qu(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 218:{ru(k[_>>2]|0,0);break}case 219:{ru(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 220:{su(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0,0,0);break}case 221:{su(k[_>>2]|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0,0);break}case 222:{su(k[_>>2]|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-16+4|0,0);break}case 223:{su(k[_>>2]|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0,1);break}case 224:{su(k[_>>2]|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-16+4|0,1);break}case 227:{k[R>>2]=k[(k[da>>2]|0)+-48+4>>2];k[R+4>>2]=(k[(k[da>>2]|0)+4>>2]|0)-(k[(k[da>>2]|0)+-48+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);tu(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,R);break}case 228:{uu(k[_>>2]|0,(k[da>>2]|0)+-112+4|0,(k[da>>2]|0)+-96+4|0,k[(k[da>>2]|0)+-80+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-64+4+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-160+4>>2]|0,k[(k[da>>2]|0)+-128+4>>2]|0);c=(k[da>>2]|0)+-160+4|0;a=k[da>>2]|0;if(!(k[(k[da>>2]|0)+-96+4+4>>2]|0)){_=a+-112+4|0;k[c>>2]=k[_>>2];k[c+4>>2]=k[_+4>>2];break a}else{_=a+-96+4|0;k[c>>2]=k[_>>2];k[c+4>>2]=k[_+4>>2];break a}}case 229:{k[(k[da>>2]|0)+4>>2]=63;break}case 230:{k[(k[da>>2]|0)+4>>2]=59;break}case 231:{k[(k[da>>2]|0)+-16+4>>2]=77;break}case 232:{k[(k[da>>2]|0)+16+4>>2]=63;break}case 234:case 233:{k[(k[da>>2]|0)+4>>2]=l[(k[da>>2]|0)+2>>0];k[(k[da>>2]|0)+4+4>>2]=0;break}case 235:{k[(k[da>>2]|0)+-32+4>>2]=110;k[(k[da>>2]|0)+-32+4+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 255:case 236:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 256:case 237:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 238:{k[(k[(k[(k[da>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=k[(k[da>>2]|0)+-16+4>>2];k[(k[(k[da>>2]|0)+-32+4>>2]|0)+32>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 239:{k[(k[(k[da>>2]|0)+-16+4>>2]|0)+32>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 240:{Z=(k[da>>2]|0)+-32+4|0;Y=(k[da>>2]|0)+4|0;k[Z>>2]=k[Y>>2];k[Z+4>>2]=k[Y+4>>2];Cl(k[_>>2]|0,26077,V);break}case 241:{Cl(k[_>>2]|0,26172,W);break}case 242:{Cl(k[_>>2]|0,26256,X);break}case 243:{_=vu(k[k[_>>2]>>2]|0,(k[da>>2]|0)+-64+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]&255)|0;k[(k[da>>2]|0)+-96+4>>2]=_;break}case 244:{_=wu(k[k[_>>2]>>2]|0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]&255)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 245:{_=xu(k[k[_>>2]>>2]|0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 246:{_=yu(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+4>>2]=_;break}case 247:{du((k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+4|0);_=zt(k[_>>2]|0,83,0,0,0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;if(k[(k[da>>2]|0)+-48+4>>2]|0)i[(k[(k[da>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 248:{du((k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+4|0);_=zt(k[_>>2]|0,83,0,0,(k[da>>2]|0)+-16+4|0)|0;k[(k[da>>2]|0)+-80+4>>2]=_;if(k[(k[da>>2]|0)+-80+4>>2]|0)i[(k[(k[da>>2]|0)+-80+4>>2]|0)+1>>0]=k[(k[da>>2]|0)+-48+4>>2];break}case 249:{k[(k[da>>2]|0)+4>>2]=1;break}case 251:{k[(k[da>>2]|0)+4>>2]=3;break}case 252:{zu(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 253:{Au(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 254:{Bu(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 257:{Cu(k[_>>2]|0,0,0);break}case 258:{Cu(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0);break}case 259:{Du(k[_>>2]|0,0,0);break}case 260:{Du(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0);break}case 261:{Eu(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+4|0);break}case 262:{k[(k[da>>2]|0)+-16+4+4>>2]=(k[(k[_>>2]|0)+392>>2]|0)-(k[(k[da>>2]|0)+-16+4>>2]|0)+(k[(k[_>>2]|0)+392+4>>2]|0);Fu(k[_>>2]|0,(k[da>>2]|0)+-16+4|0);break}case 263:{vt(k[_>>2]|0);Gu(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 264:{Hu(k[_>>2]|0,0);break}case 265:{Hu(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 266:{Iu(k[_>>2]|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 267:{Ju(k[_>>2]|0);break}case 270:case 269:case 268:{Ku(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 271:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 272:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 273:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 274:{_=Lu(k[_>>2]|0,0,(k[da>>2]|0)+-80+4|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-80+4>>2]=_;break}case 275:{_=Lu(k[_>>2]|0,k[(k[da>>2]|0)+-112+4>>2]|0,(k[da>>2]|0)+-80+4|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-112+4>>2]=_;break}default:{}}while(0);k[ba>>2]=l[25337+(k[aa>>2]<<1)>>0];k[ea>>2]=l[25337+(k[aa>>2]<<1)+1>>0];aa=Mu(m[(k[da>>2]|0)+(0-(k[ea>>2]|0)<<4)>>1]|0,k[ba>>2]&255)|0;k[ca>>2]=aa;if((k[ca>>2]|0)>999){da=k[$>>2]|0;k[da>>2]=(k[da>>2]|0)+(0-(k[ea>>2]|0)<<4);Nu(k[$>>2]|0);u=fa;return}if((k[ca>>2]|0)>455)k[ca>>2]=(k[ca>>2]|0)+332;k[da>>2]=(k[da>>2]|0)+(0-((k[ea>>2]|0)-1)<<4);k[k[$>>2]>>2]=k[da>>2];j[k[da>>2]>>1]=k[ca>>2];i[(k[da>>2]|0)+2>>0]=k[ba>>2];u=fa;return}function nt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=u;u=u+16|0;g=d;e=d+12|0;f=d+4|0;k[e>>2]=a;k[d+8>>2]=b;k[f>>2]=k[(k[e>>2]|0)+4>>2];b=k[f>>2]|0;k[g>>2]=c;Cl(b,25313,g);k[(k[e>>2]|0)+4>>2]=k[f>>2];u=d;return}function ot(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;d=e;b=e+8|0;c=e+4|0;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+-16;while(1){if((k[k[b>>2]>>2]|0)>>>0<=((k[b>>2]|0)+8|0)>>>0)break;it(k[b>>2]|0)}Cl(k[c>>2]|0,37034,d);k[(k[b>>2]|0)+4>>2]=k[c>>2];u=e;return}function pt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+32|0;b=m+28|0;c=m+24|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];if(i[(k[b>>2]|0)+18>>0]|0){u=m;return}if((l[(k[c>>2]|0)+69>>0]|0)==0?(k[(k[b>>2]|0)+36>>2]|0)==0:0){a=Vu(k[b>>2]|0)|0;k[d>>2]=a;do if(k[d>>2]|0?(Xu(k[d>>2]|0,75)|0,(l[(k[c>>2]|0)+69>>0]|0)==0):0){if((k[(k[b>>2]|0)+96>>2]|0)==0?(k[(k[b>>2]|0)+80>>2]|0)==0:0)break;xy(k[d>>2]|0,0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;if((k[(k[b>>2]|0)+96>>2]&1<>2]|0)!=0|0?(gv(k[d>>2]|0,k[e>>2]|0),k[g>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2],Jy(k[d>>2]|0,2,k[e>>2]|0,(k[(k[b>>2]|0)+92>>2]&1<>2]|0)!=0&1,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0,(l[(k[c>>2]|0)+148+5>>0]|0)==0):0)ty(k[d>>2]|0,1);k[e>>2]=(k[e>>2]|0)+1}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[b>>2]|0)+412>>2]|0))break;g=pw(k[c>>2]|0,k[(k[(k[b>>2]|0)+460>>2]|0)+(k[f>>2]<<2)>>2]|0)|0;k[h>>2]=g;cv(k[d>>2]|0,152,0,0,0,k[h>>2]|0,-10)|0;k[f>>2]=(k[f>>2]|0)+1}k[(k[b>>2]|0)+412>>2]=0;RF(k[b>>2]|0);SF(k[b>>2]|0);a:do if(k[(k[b>>2]|0)+80>>2]|0){k[j>>2]=k[(k[b>>2]|0)+80>>2];i[(k[b>>2]|0)+23>>0]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[j>>2]>>2]|0))break a;ez(k[b>>2]|0,k[(k[(k[j>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0,k[(k[(k[j>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)+16>>2]|0);k[f>>2]=(k[f>>2]|0)+1}}while(0);wy(k[d>>2]|0,1)|0}while(0);if((k[d>>2]|0?(k[(k[b>>2]|0)+36>>2]|0)==0:0)?(i[(k[c>>2]|0)+69>>0]|0)==0:0){if(k[(k[b>>2]|0)+120>>2]|0?(k[(k[b>>2]|0)+40>>2]|0)==0:0)k[(k[b>>2]|0)+40>>2]=1;TF(k[d>>2]|0,k[b>>2]|0);k[(k[b>>2]|0)+12>>2]=101;u=m;return}k[(k[b>>2]|0)+12>>2]=1;u=m;return}if(k[(k[b>>2]|0)+12>>2]|0){u=m;return}k[(k[b>>2]|0)+12>>2]=1;u=m;return}function qt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];if(Su(k[c>>2]|0,22,36964,0,0)|0){u=h;return}c=Vu(k[c>>2]|0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){u=h;return}a:do if((k[d>>2]|0)!=7){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break a;_u(k[f>>2]|0,2,k[g>>2]|0,((k[d>>2]|0)==9&1)+1|0)|0;gv(k[f>>2]|0,k[g>>2]|0);k[g>>2]=(k[g>>2]|0)+1}}while(0);Xu(k[f>>2]|0,1)|0;u=h;return}function rt(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(Su(k[b>>2]|0,22,36987,0,0)|0){u=d;return}b=Vu(k[b>>2]|0)|0;k[c>>2]=b;if(!(k[c>>2]|0)){u=d;return}oy(k[c>>2]|0,1,1)|0;u=d;return}function st(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(Su(k[b>>2]|0,22,36978,0,0)|0){u=d;return}b=Vu(k[b>>2]|0)|0;k[c>>2]=b;if(!(k[c>>2]|0)){u=d;return}_u(k[c>>2]|0,1,1,1)|0;u=d;return}function tt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;d=h+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[i>>2]=c;c=Ou(k[k[d>>2]>>2]|0,k[i>>2]|0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){u=h;return}i=Vu(k[d>>2]|0)|0;k[g>>2]=i;if(k[g>>2]|0?(Su(k[d>>2]|0,32,k[5580+(k[e>>2]<<2)>>2]|0,k[f>>2]|0,0)|0)==0:0){cv(k[g>>2]|0,0,k[e>>2]|0,0,0,k[f>>2]|0,-1)|0;u=h;return}fe(k[k[d>>2]>>2]|0,k[f>>2]|0);u=h;return}function ut(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=u;u=u+112|0;v=J+16|0;H=J+8|0;t=J;G=J+96|0;r=J+92|0;s=J+88|0;h=J+84|0;w=J+80|0;x=J+76|0;y=J+72|0;m=J+68|0;z=J+64|0;A=J+60|0;B=J+56|0;I=J+52|0;C=J+48|0;n=J+44|0;o=J+40|0;p=J+36|0;q=J+32|0;D=J+28|0;E=J+24|0;F=J+20|0;k[G>>2]=a;k[r>>2]=b;k[s>>2]=c;k[h>>2]=d;k[w>>2]=e;k[x>>2]=f;k[y>>2]=g;k[z>>2]=0;k[A>>2]=k[k[G>>2]>>2];if(l[(k[A>>2]|0)+148+5>>0]|0?(k[(k[A>>2]|0)+148>>2]|0)==1:0){k[I>>2]=l[(k[A>>2]|0)+148+4>>0];t=fp(k[A>>2]|0,(k[I>>2]|0)==1?26433:26452)|0;k[z>>2]=t;k[C>>2]=k[r>>2]}else{r=ky(k[G>>2]|0,k[r>>2]|0,k[s>>2]|0,C)|0;k[I>>2]=r;if((k[I>>2]|0)<0){u=J;return}if(k[h>>2]|0?((k[I>>2]|0)!=1?(k[(k[s>>2]|0)+4>>2]|0)>>>0>0:0):0){Cl(k[G>>2]|0,36854,t);u=J;return}if(k[h>>2]|0)k[I>>2]=1;t=Ou(k[A>>2]|0,k[C>>2]|0)|0;k[z>>2]=t}t=(k[G>>2]|0)+384|0;s=k[C>>2]|0;k[t>>2]=k[s>>2];k[t+4>>2]=k[s+4>>2];if(!(k[z>>2]|0)){u=J;return}a:do if(!(nw(k[G>>2]|0,k[z>>2]|0)|0)){if((l[(k[A>>2]|0)+148+4>>0]|0)==1)k[h>>2]=1;k[n>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2];if(!(Su(k[G>>2]|0,18,(k[h>>2]|0)==1?26433:26452,0,k[n>>2]|0)|0)){if((k[x>>2]|0)==0?Su(k[G>>2]|0,l[36895+((k[h>>2]|0)+(k[w>>2]<<1))>>0]|0,k[z>>2]|0,0,k[n>>2]|0)|0:0)break;do if(!(i[(k[G>>2]|0)+410>>0]|0)){k[o>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2];if(pv(k[G>>2]|0)|0)break a;t=qv(k[A>>2]|0,k[z>>2]|0,k[o>>2]|0)|0;k[m>>2]=t;if(!(k[m>>2]|0)){if(!(Fv(k[A>>2]|0,k[z>>2]|0,k[o>>2]|0)|0))break;I=k[G>>2]|0;k[v>>2]=k[z>>2];Cl(I,36923,v);break a}a=k[G>>2]|0;if(k[y>>2]|0){nv(a,k[I>>2]|0);break a}else{k[H>>2]=k[C>>2];Cl(a,36899,H);break a}}while(0);H=im(k[A>>2]|0,72,0)|0;k[m>>2]=H;if(!(k[m>>2]|0)){k[(k[G>>2]|0)+12>>2]=7;I=(k[G>>2]|0)+36|0;k[I>>2]=(k[I>>2]|0)+1;break}k[k[m>>2]>>2]=k[z>>2];j[(k[m>>2]|0)+32>>1]=-1;k[(k[m>>2]|0)+64>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+12>>2];j[(k[m>>2]|0)+36>>1]=1;j[(k[m>>2]|0)+38>>1]=200;k[(k[G>>2]|0)+440>>2]=k[m>>2];if((i[(k[G>>2]|0)+18>>0]|0)==0?(Q_(k[z>>2]|0,28225)|0)==0:0)k[(k[(k[m>>2]|0)+64>>2]|0)+72>>2]=k[m>>2];if(i[(k[A>>2]|0)+148+5>>0]|0){u=J;return}H=Vu(k[G>>2]|0)|0;k[B>>2]=H;if(!H){u=J;return}mv(k[G>>2]|0,1,k[I>>2]|0);if(k[x>>2]|0)Xu(k[B>>2]|0,152)|0;H=(k[G>>2]|0)+44|0;a=(k[H>>2]|0)+1|0;k[H>>2]=a;k[(k[G>>2]|0)+100>>2]=a;k[D>>2]=a;a=(k[G>>2]|0)+44|0;H=(k[a>>2]|0)+1|0;k[a>>2]=H;k[(k[G>>2]|0)+104>>2]=H;k[E>>2]=H;H=(k[G>>2]|0)+44|0;a=(k[H>>2]|0)+1|0;k[H>>2]=a;k[F>>2]=a;$u(k[B>>2]|0,101,k[I>>2]|0,k[F>>2]|0,2)|0;gv(k[B>>2]|0,k[I>>2]|0);a=oy(k[B>>2]|0,21,k[F>>2]|0)|0;k[p>>2]=a;k[q>>2]=k[(k[A>>2]|0)+24>>2]&32768|0?1:4;$u(k[B>>2]|0,102,k[I>>2]|0,2,k[q>>2]|0)|0;$u(k[B>>2]|0,102,k[I>>2]|0,5,l[(k[A>>2]|0)+66>>0]|0)|0;xy(k[B>>2]|0,k[p>>2]|0);a=k[B>>2]|0;if((k[w>>2]|0)!=0|(k[x>>2]|0)!=0)_u(a,76,0,k[E>>2]|0)|0;else{H=_u(a,135,k[I>>2]|0,k[E>>2]|0)|0;k[(k[G>>2]|0)+132>>2]=H}QF(k[G>>2]|0,k[I>>2]|0);_u(k[B>>2]|0,114,0,k[D>>2]|0)|0;cv(k[B>>2]|0,81,6,k[F>>2]|0,0,36958,-2)|0;$u(k[B>>2]|0,115,0,k[F>>2]|0,k[D>>2]|0)|0;ty(k[B>>2]|0,8);Xu(k[B>>2]|0,111)|0;u=J;return}}while(0);fe(k[A>>2]|0,k[z>>2]|0);u=J;return}function vt(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+24|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;a=(k[k[c>>2]>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+1;u=b;return}function wt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+208|0;O=R+72|0;M=R+64|0;Q=R+32|0;P=R+16|0;N=R+8|0;L=R;G=R+200|0;H=R+196|0;I=R+192|0;J=R+204|0;K=R+188|0;f=R+184|0;g=R+180|0;h=R+176|0;m=R+172|0;n=R+168|0;o=R+164|0;p=R+160|0;q=R+156|0;r=R+152|0;s=R+128|0;t=R+120|0;v=R+116|0;w=R+112|0;x=R+108|0;y=R+104|0;z=R+100|0;A=R+96|0;B=R+92|0;C=R+88|0;D=R+84|0;E=R+80|0;F=R+76|0;k[G>>2]=a;k[H>>2]=b;k[I>>2]=c;i[J>>0]=d;k[K>>2]=e;k[g>>2]=k[k[G>>2]>>2];if((k[I>>2]|0)==0&(k[K>>2]|0)==0){u=R;return}k[f>>2]=k[(k[G>>2]|0)+440>>2];if(!(k[f>>2]|0)){u=R;return}if(i[(k[g>>2]|0)+148+5>>0]|0?(k[(k[f>>2]|0)+28>>2]=k[(k[g>>2]|0)+148>>2],(k[(k[f>>2]|0)+28>>2]|0)==1):0){e=(k[f>>2]|0)+42|0;i[e>>0]=l[e>>0]|1}do if(l[J>>0]&32|0){if(l[(k[f>>2]|0)+42>>0]&8|0){Cl(k[G>>2]|0,36535,L);u=R;return}if(!(l[(k[f>>2]|0)+42>>0]&4)){L=k[G>>2]|0;k[N>>2]=k[k[f>>2]>>2];Cl(L,36585,N);break}else{N=(k[f>>2]|0)+42|0;i[N>>0]=l[N>>0]|96;JF(k[G>>2]|0,k[f>>2]|0);break}}while(0);N=Ru(k[g>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[h>>2]=N;if(k[(k[f>>2]|0)+24>>2]|0)EF(k[G>>2]|0,k[f>>2]|0,4,0,k[(k[f>>2]|0)+24>>2]|0);KF(k[f>>2]|0);k[m>>2]=k[(k[f>>2]|0)+8>>2];while(1){if(!(k[m>>2]|0))break;HF(k[m>>2]|0);k[m>>2]=k[(k[m>>2]|0)+20>>2]}if(!(i[(k[g>>2]|0)+148+5>>0]|0)){N=Vu(k[G>>2]|0)|0;k[o>>2]=N;if(!(k[o>>2]|0)){u=R;return}oy(k[o>>2]|0,111,0)|0;if(!(k[(k[f>>2]|0)+12>>2]|0)){k[p>>2]=32446;k[q>>2]=36617}else{k[p>>2]=35495;k[q>>2]=36623}do if(k[K>>2]|0){L=(k[G>>2]|0)+44|0;N=(k[L>>2]|0)+1|0;k[L>>2]=N;k[t>>2]=N;N=(k[G>>2]|0)+44|0;L=(k[N>>2]|0)+1|0;k[N>>2]=L;k[w>>2]=L;L=(k[G>>2]|0)+44|0;N=(k[L>>2]|0)+1|0;k[L>>2]=N;k[x>>2]=N;qw(k[G>>2]|0);$u(k[o>>2]|0,105,1,k[(k[G>>2]|0)+104>>2]|0,k[h>>2]|0)|0;ty(k[o>>2]|0,16);k[(k[G>>2]|0)+40>>2]=2;N=(Zv(k[o>>2]|0)|0)+1|0;k[v>>2]=N;$u(k[o>>2]|0,15,k[t>>2]|0,0,k[v>>2]|0)|0;Kz(s,13,k[t>>2]|0);Kt(k[G>>2]|0,k[K>>2]|0,s)|0;vB(k[o>>2]|0,k[t>>2]|0);xy(k[o>>2]|0,(k[v>>2]|0)-1|0);if(k[(k[G>>2]|0)+36>>2]|0){u=R;return}N=ww(k[G>>2]|0,k[K>>2]|0)|0;k[z>>2]=N;if(!(k[z>>2]|0)){u=R;return}else{j[(k[f>>2]|0)+34>>1]=j[(k[z>>2]|0)+34>>1]|0;k[(k[f>>2]|0)+4>>2]=k[(k[z>>2]|0)+4>>2];j[(k[z>>2]|0)+34>>1]=0;k[(k[z>>2]|0)+4>>2]=0;Dk(k[g>>2]|0,k[z>>2]|0);N=oy(k[o>>2]|0,16,k[s+8>>2]|0)|0;k[y>>2]=N;$u(k[o>>2]|0,99,k[s+12>>2]|0,k[s+16>>2]|0,k[w>>2]|0)|0;yB(k[o>>2]|0,k[f>>2]|0,0);_u(k[o>>2]|0,114,1,k[x>>2]|0)|0;$u(k[o>>2]|0,115,1,k[w>>2]|0,k[x>>2]|0)|0;wy(k[o>>2]|0,k[y>>2]|0)|0;xy(k[o>>2]|0,k[y>>2]|0);oy(k[o>>2]|0,111,1)|0;break}}while(0);if(k[K>>2]|0){P=LF(k[g>>2]|0,k[f>>2]|0)|0;k[r>>2]=P}else{k[A>>2]=l[J>>0]|0?(k[G>>2]|0)+392|0:k[I>>2]|0;k[n>>2]=(k[k[A>>2]>>2]|0)-(k[(k[G>>2]|0)+384>>2]|0);if((i[k[k[A>>2]>>2]>>0]|0)!=59)k[n>>2]=(k[n>>2]|0)+(k[(k[A>>2]|0)+4>>2]|0);N=k[g>>2]|0;K=k[n>>2]|0;L=k[(k[G>>2]|0)+384>>2]|0;k[P>>2]=k[q>>2];k[P+4>>2]=K;k[P+8>>2]=L;P=ek(N,36628,P)|0;k[r>>2]=P}P=k[G>>2]|0;A=(k[h>>2]|0)==1?26433:26452;d=k[p>>2]|0;e=k[k[f>>2]>>2]|0;J=k[k[f>>2]>>2]|0;K=k[(k[G>>2]|0)+104>>2]|0;L=k[r>>2]|0;N=k[(k[G>>2]|0)+100>>2]|0;k[Q>>2]=k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[Q+4>>2]=A;k[Q+8>>2]=d;k[Q+12>>2]=e;k[Q+16>>2]=J;k[Q+20>>2]=K;k[Q+24>>2]=L;k[Q+28>>2]=N;Uu(P,36643,Q);fe(k[g>>2]|0,k[r>>2]|0);Wu(k[G>>2]|0,k[h>>2]|0);if(l[(k[f>>2]|0)+42>>0]&8|0?(k[B>>2]=(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4),(k[(k[(k[B>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=k[G>>2]|0;k[M>>2]=k[k[B>>2]>>2];Uu(Q,36730,M)}N=k[o>>2]|0;P=k[h>>2]|0;Q=k[g>>2]|0;k[O>>2]=k[k[f>>2]>>2];Yu(N,P,ek(Q,36772,O)|0)}if(!(i[(k[g>>2]|0)+148+5>>0]|0)){u=R;return}k[D>>2]=k[(k[f>>2]|0)+64>>2];Q=Pk((k[D>>2]|0)+8|0,k[k[f>>2]>>2]|0,k[f>>2]|0)|0;k[C>>2]=Q;if(k[C>>2]|0){Yd(k[g>>2]|0);u=R;return}k[(k[G>>2]|0)+440>>2]=0;Q=(k[g>>2]|0)+24|0;k[Q>>2]=k[Q>>2]|2;if(k[(k[f>>2]|0)+12>>2]|0){u=R;return}k[E>>2]=k[(k[G>>2]|0)+384>>2];if(!(k[k[H>>2]>>2]|0))k[H>>2]=k[I>>2];k[F>>2]=(k[k[H>>2]>>2]|0)-(k[E>>2]|0);Q=13+(ci(k[E>>2]|0,k[F>>2]|0)|0)|0;k[(k[f>>2]|0)+44>>2]=Q;u=R;return}function xt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+64|0;s=v+8|0;r=v;g=v+48|0;h=v+44|0;m=v+40|0;n=v+36|0;o=v+32|0;p=v+28|0;q=v+24|0;d=v+20|0;e=v+16|0;f=v+12|0;k[g>>2]=a;k[h>>2]=b;k[m>>2]=c;k[e>>2]=k[k[g>>2]>>2];c=k[(k[g>>2]|0)+440>>2]|0;k[n>>2]=c;if(!c){u=v;return}if(((j[(k[n>>2]|0)+34>>1]|0)+1|0)>(k[(k[e>>2]|0)+96+8>>2]|0)){t=k[g>>2]|0;k[r>>2]=k[k[n>>2]>>2];Cl(t,36486,r);u=v;return}r=Md(k[e>>2]|0,(k[(k[h>>2]|0)+4>>2]|0)+(k[(k[m>>2]|0)+4>>2]|0)+2|0,0)|0;k[p>>2]=r;if(!(k[p>>2]|0)){u=v;return}r0(k[p>>2]|0,k[k[h>>2]>>2]|0,k[(k[h>>2]|0)+4>>2]|0)|0;i[(k[p>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)>>0]=0;dk(k[p>>2]|0);k[o>>2]=0;while(1){if((k[o>>2]|0)>=(j[(k[n>>2]|0)+34>>1]|0))break;if(!(ul(k[p>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+(k[o>>2]<<4)>>2]|0)|0)){t=8;break}k[o>>2]=(k[o>>2]|0)+1}if((t|0)==8){t=k[g>>2]|0;k[s>>2]=k[p>>2];Cl(t,36509,s);fe(k[e>>2]|0,k[p>>2]|0);u=v;return}do if(!(j[(k[n>>2]|0)+34>>1]&7)){t=ne(k[e>>2]|0,k[(k[n>>2]|0)+4>>2]|0,(j[(k[n>>2]|0)+34>>1]|0)+8<<4,0)|0;k[f>>2]=t;if(k[f>>2]|0){k[(k[n>>2]|0)+4>>2]=k[f>>2];break}fe(k[e>>2]|0,k[p>>2]|0);u=v;return}while(0);k[d>>2]=(k[(k[n>>2]|0)+4>>2]|0)+(j[(k[n>>2]|0)+34>>1]<<4);t=k[d>>2]|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;k[t+12>>2]=0;k[k[d>>2]>>2]=k[p>>2];if(!(k[(k[m>>2]|0)+4>>2]|0)){i[(k[d>>2]|0)+13>>0]=65;i[(k[d>>2]|0)+14>>0]=1}else{t=k[p>>2]|0;t=t+(wd(k[p>>2]|0)|0)+1|0;k[q>>2]=t;r0(k[q>>2]|0,k[k[m>>2]>>2]|0,k[(k[m>>2]|0)+4>>2]|0)|0;i[(k[q>>2]|0)+(k[(k[m>>2]|0)+4>>2]|0)>>0]=0;dk(k[q>>2]|0);t=ew(k[q>>2]|0,(k[d>>2]|0)+14|0)|0;i[(k[d>>2]|0)+13>>0]=t;t=(k[d>>2]|0)+15|0;i[t>>0]=l[t>>0]|4}t=(k[n>>2]|0)+34|0;j[t>>1]=(j[t>>1]|0)+1<<16>>16;k[(k[g>>2]|0)+84+4>>2]=0;u=v;return}function yt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=u;u=u+80|0;e=m;c=m+72|0;f=m+68|0;d=m+64|0;g=m+60|0;h=m+56|0;l=m+8|0;k[c>>2]=a;k[f>>2]=b;k[h>>2]=k[k[c>>2]>>2];k[d>>2]=k[(k[c>>2]|0)+440>>2];if(!(k[d>>2]|0)){h=k[h>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;Yk(h,l);u=m;return}k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+((j[(k[d>>2]|0)+34>>1]|0)-1<<4);if(IF(k[k[f>>2]>>2]|0,i[(k[h>>2]|0)+148+5>>0]|0)|0){Yk(k[h>>2]|0,k[(k[g>>2]|0)+4>>2]|0);a=l;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i[l>>0]=-95;e=(k[(k[f>>2]|0)+8>>2]|0)-(k[(k[f>>2]|0)+4>>2]|0)|0;e=ck(k[h>>2]|0,k[(k[f>>2]|0)+4>>2]|0,e,((e|0)<0)<<31>>31)|0;k[l+8>>2]=e;k[l+12>>2]=k[k[f>>2]>>2];k[l+4>>2]=4096;e=ex(k[h>>2]|0,l,1)|0;k[(k[g>>2]|0)+4>>2]=e;fe(k[h>>2]|0,k[l+8>>2]|0);h=k[h>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;Yk(h,l);u=m;return}else{l=k[c>>2]|0;k[e>>2]=k[k[g>>2]>>2];Cl(l,36441,e);h=k[h>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;Yk(h,l);u=m;return}}function zt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;l=m+4|0;f=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;if((k[h>>2]|0)==28?(k[(k[g>>2]|0)+36>>2]|0)==0:0){l=Wx(k[k[g>>2]>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[f>>2]=l}else{l=eu(k[k[g>>2]>>2]|0,k[h>>2]&255,k[l>>2]|0,1)|0;k[f>>2]=l;Yx(k[k[g>>2]>>2]|0,k[f>>2]|0,k[i>>2]|0,k[j>>2]|0)}if(!(k[f>>2]|0)){l=k[f>>2]|0;u=m;return l|0}vx(k[g>>2]|0,k[(k[f>>2]|0)+24>>2]|0)|0;l=k[f>>2]|0;u=m;return l|0}function At(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0;h=u;u=u+16|0;e=h+12|0;m=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[m>>2]=b;k[f>>2]=c;c=Od(k[k[m>>2]>>2]|0,48+(k[d+4>>2]|0)+1|0,0)|0;k[g>>2]=c;if(!(k[g>>2]|0)){m=k[g>>2]|0;g=k[e>>2]|0;k[g>>2]=m;g=k[d>>2]|0;m=k[e>>2]|0;m=m+4|0;k[m>>2]=g;m=k[d>>2]|0;g=d+4|0;g=k[g>>2]|0;g=m+g|0;m=k[e>>2]|0;m=m+8|0;k[m>>2]=g;u=h;return}a=k[g>>2]|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i[k[g>>2]>>0]=k[f>>2];k[(k[g>>2]|0)+4>>2]=8388608;j[(k[g>>2]|0)+34>>1]=-1;k[(k[g>>2]|0)+8>>2]=(k[g>>2]|0)+48;r0(k[(k[g>>2]|0)+8>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;i[(k[(k[g>>2]|0)+8>>2]|0)+(k[d+4>>2]|0)>>0]=0;if(l[20063+(l[k[(k[g>>2]|0)+8>>2]>>0]|0)>>0]&128|0){if((i[k[(k[g>>2]|0)+8>>2]>>0]|0)==34){m=(k[g>>2]|0)+4|0;k[m>>2]=k[m>>2]|64}dk(k[(k[g>>2]|0)+8>>2]|0)}k[(k[g>>2]|0)+24>>2]=1;m=k[g>>2]|0;g=k[e>>2]|0;k[g>>2]=m;g=k[d>>2]|0;m=k[e>>2]|0;m=m+4|0;k[m>>2]=g;m=k[d>>2]|0;g=d+4|0;g=k[g>>2]|0;g=m+g|0;m=k[e>>2]|0;m=m+8|0;k[m>>2]=g;u=h;return}function Bt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=u;u=u+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[f>>2]|0)+440>>2];if(!(k[d>>2]|0)){u=e;return}if((j[(k[d>>2]|0)+34>>1]|0)<1){u=e;return}i[(k[(k[d>>2]|0)+4>>2]|0)+((j[(k[d>>2]|0)+34>>1]|0)-1<<4)+12>>0]=k[c>>2];u=e;return}function Ct(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+64|0;x=y+8|0;q=y;r=y+56|0;s=y+52|0;t=y+48|0;v=y+44|0;w=y+40|0;f=y+36|0;g=y+32|0;h=y+28|0;m=y+24|0;n=y+20|0;o=y+16|0;p=y+12|0;k[r>>2]=a;k[s>>2]=b;k[t>>2]=c;k[v>>2]=d;k[w>>2]=e;k[f>>2]=k[(k[r>>2]|0)+440>>2];k[g>>2]=0;k[h>>2]=-1;if(!(k[f>>2]|0)){w=k[r>>2]|0;w=k[w>>2]|0;x=k[s>>2]|0;Uk(w,x);u=y;return}if(l[(k[f>>2]|0)+42>>0]&4|0){w=k[r>>2]|0;k[q>>2]=k[k[f>>2]>>2];Cl(w,36344,q);w=k[r>>2]|0;w=k[w>>2]|0;x=k[s>>2]|0;Uk(w,x);u=y;return}q=(k[f>>2]|0)+42|0;i[q>>0]=l[q>>0]|4;a:do if(!(k[s>>2]|0)){k[h>>2]=(j[(k[f>>2]|0)+34>>1]|0)-1;k[g>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[h>>2]<<4);q=(k[g>>2]|0)+15|0;i[q>>0]=l[q>>0]|1;k[n>>2]=1}else{k[n>>2]=k[k[s>>2]>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[n>>2]|0))break a;q=Iw(k[(k[(k[s>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)>>2]|0)|0;k[o>>2]=q;FF(k[o>>2]|0);b:do if((l[k[o>>2]>>0]|0)==55){k[p>>2]=k[(k[o>>2]|0)+8>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break b;if(!(lh(k[p>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0)|0))break;k[h>>2]=(k[h>>2]|0)+1}k[g>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[h>>2]<<4);q=(k[g>>2]|0)+15|0;i[q>>0]=l[q>>0]|1}while(0);k[m>>2]=(k[m>>2]|0)+1}}while(0);if((k[n>>2]|0)==1&(k[g>>2]|0)!=0?(q=(lh(uv(k[g>>2]|0,55752)|0,28455)|0)==0,q&(k[w>>2]|0)!=1):0){j[(k[f>>2]|0)+32>>1]=k[h>>2];i[(k[f>>2]|0)+43>>0]=k[t>>2];x=(k[f>>2]|0)+42|0;i[x>>0]=l[x>>0]|k[v>>2]<<3;if(!(k[s>>2]|0)){w=k[r>>2]|0;w=k[w>>2]|0;x=k[s>>2]|0;Uk(w,x);u=y;return}i[(k[r>>2]|0)+408>>0]=i[(k[(k[s>>2]|0)+4>>2]|0)+12>>0]|0;w=k[r>>2]|0;w=k[w>>2]|0;x=k[s>>2]|0;Uk(w,x);u=y;return}a=k[r>>2]|0;if(k[v>>2]|0){Cl(a,36385,x);w=k[r>>2]|0;w=k[w>>2]|0;x=k[s>>2]|0;Uk(w,x);u=y;return}else{Dt(a,0,0,0,k[s>>2]|0,k[t>>2]|0,0,0,k[w>>2]|0,0,2);k[s>>2]=0;w=k[r>>2]|0;w=k[w>>2]|0;x=k[s>>2]|0;Uk(w,x);u=y;return}}function Dt(a,b,c,d,e,f,g,h,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=u;u=u+352|0;ma=za+112|0;la=za+88|0;ka=za+72|0;ja=za+64|0;ia=za+56|0;D=za+48|0;K=za+40|0;C=za+32|0;B=za+24|0;F=za+16|0;E=za+8|0;A=za;L=za+332|0;q=za+328|0;r=za+324|0;ta=za+320|0;ua=za+316|0;na=za+312|0;M=za+308|0;va=za+304|0;s=za+300|0;G=za+296|0;N=za+336|0;oa=za+292|0;wa=za+288|0;xa=za+284|0;H=za+280|0;O=za+276|0;P=za+272|0;t=za+248|0;Q=za+240|0;ya=za+236|0;I=za+232|0;pa=za+228|0;R=za+224|0;S=za+220|0;T=za+216|0;J=za+212|0;U=za+208|0;V=za+204|0;v=za+200|0;w=za+196|0;x=za+192|0;y=za+184|0;z=za+180|0;W=za+176|0;X=za+172|0;Y=za+168|0;Z=za+164|0;_=za+160|0;$=za+156|0;aa=za+152|0;ba=za+148|0;ca=za+144|0;da=za+140|0;qa=za+136|0;ea=za+132|0;fa=za+128|0;ga=za+124|0;ha=za+120|0;ra=za+116|0;k[L>>2]=a;k[q>>2]=b;k[r>>2]=c;k[ta>>2]=d;k[ua>>2]=e;k[na>>2]=f;k[M>>2]=g;k[va>>2]=h;k[s>>2]=n;k[G>>2]=o;i[N>>0]=p;k[oa>>2]=0;k[wa>>2]=0;k[xa>>2]=0;k[ya>>2]=k[k[L>>2]>>2];k[R>>2]=0;k[T>>2]=0;k[U>>2]=0;k[V>>2]=0;a:do if((l[(k[ya>>2]|0)+69>>0]|0)==0?(k[(k[L>>2]|0)+36>>2]|0)<=0:0){if(l[(k[L>>2]|0)+410>>0]|0?(l[N>>0]|0)!=2:0)break;if(!(pv(k[L>>2]|0)|0)){a=k[L>>2]|0;if(k[ta>>2]|0){q=ky(a,k[q>>2]|0,k[r>>2]|0,R)|0;k[pa>>2]=q;if((k[pa>>2]|0)<0)break;if(((i[(k[ya>>2]|0)+148+5>>0]|0)==0?(q=lA(k[L>>2]|0,k[ta>>2]|0)|0,k[oa>>2]=q,k[oa>>2]|0?(k[(k[r>>2]|0)+4>>2]|0)==0:0):0)?(k[(k[oa>>2]|0)+64>>2]|0)==(k[(k[(k[ya>>2]|0)+16>>2]|0)+16+12>>2]|0):0)k[pa>>2]=1;mA(t,k[L>>2]|0,k[pa>>2]|0,32611,k[R>>2]|0);nA(t,k[ta>>2]|0)|0;t=kv(k[L>>2]|0,0,(k[ta>>2]|0)+8|0)|0;k[oa>>2]=t;if(!(k[oa>>2]|0))break;if((k[pa>>2]|0)==1?(k[(k[(k[ya>>2]|0)+16>>2]|0)+(k[pa>>2]<<4)+12>>2]|0)!=(k[(k[oa>>2]|0)+64>>2]|0):0){sa=k[L>>2]|0;k[A>>2]=k[k[oa>>2]>>2];Cl(sa,35910,A);break}if(l[(k[oa>>2]|0)+42>>0]&32|0){A=Ev(k[oa>>2]|0)|0;k[V>>2]=A}}else{k[oa>>2]=k[a+440>>2];if(!(k[oa>>2]|0))break;A=Ru(k[ya>>2]|0,k[(k[oa>>2]|0)+64>>2]|0)|0;k[pa>>2]=A}k[I>>2]=(k[(k[ya>>2]|0)+16>>2]|0)+(k[pa>>2]<<4);if(((vd(k[k[oa>>2]>>2]|0,26664,7)|0)==0?(l[(k[ya>>2]|0)+148+5>>0]|0)==0:0)?vd((k[k[oa>>2]>>2]|0)+7|0,35960,9)|0:0){sa=k[L>>2]|0;k[E>>2]=k[k[oa>>2]>>2];Cl(sa,35970,E);break}if(k[(k[oa>>2]|0)+12>>2]|0){Cl(k[L>>2]|0,35998,F);break}if(l[(k[oa>>2]|0)+42>>0]&16|0){Cl(k[L>>2]|0,36023,B);break}if(k[R>>2]|0){F=Ou(k[ya>>2]|0,k[R>>2]|0)|0;k[xa>>2]=F;if(!(k[xa>>2]|0))break;if(nw(k[L>>2]|0,k[xa>>2]|0)|0)break;if((i[(k[ya>>2]|0)+148+5>>0]|0)==0?qv(k[ya>>2]|0,k[xa>>2]|0,0)|0:0){sa=k[L>>2]|0;k[C>>2]=k[xa>>2];Cl(sa,36057,C);break}if(Fv(k[ya>>2]|0,k[xa>>2]|0,k[k[I>>2]>>2]|0)|0){a=k[L>>2]|0;if(k[G>>2]|0){nv(a,k[pa>>2]|0);break}else{k[K>>2]=k[xa>>2];Cl(a,36091,K);break}}}else{k[w>>2]=k[(k[oa>>2]|0)+8>>2];k[v>>2]=1;while(1){if(!(k[w>>2]|0))break;k[w>>2]=k[(k[w>>2]|0)+20>>2];k[v>>2]=(k[v>>2]|0)+1}K=k[ya>>2]|0;G=k[v>>2]|0;k[D>>2]=k[k[oa>>2]>>2];k[D+4>>2]=G;K=ek(K,36115,D)|0;k[xa>>2]=K;if(!(k[xa>>2]|0))break;if(i[(k[L>>2]|0)+410>>0]|0){K=(k[xa>>2]|0)+7|0;i[K>>0]=(i[K>>0]|0)+1<<24>>24}}k[x>>2]=k[k[I>>2]>>2];if((Su(k[L>>2]|0,18,(k[pa>>2]|0)==1?26433:26452,0,k[x>>2]|0)|0)==0?(k[O>>2]=1,k[O>>2]=(k[pa>>2]|0)==1?3:1,(Su(k[L>>2]|0,k[O>>2]|0,k[xa>>2]|0,k[k[oa>>2]>>2]|0,k[x>>2]|0)|0)==0):0){if(!(k[ua>>2]|0)){tx(y,k[(k[(k[oa>>2]|0)+4>>2]|0)+((j[(k[oa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);K=k[L>>2]|0;K=Ot(K,0,eu(k[ya>>2]|0,55,y,0)|0)|0;k[ua>>2]=K;if(!(k[ua>>2]|0))break;Xt(k[ua>>2]|0,k[s>>2]|0)}else _t(k[L>>2]|0,k[ua>>2]|0,32611);k[O>>2]=0;while(1){if((k[O>>2]|0)>=(k[k[ua>>2]>>2]|0))break;k[z>>2]=k[(k[(k[ua>>2]|0)+4>>2]|0)+((k[O>>2]|0)*20|0)>>2];if((l[k[z>>2]>>0]|0)==53){K=1+(wd(k[(k[z>>2]|0)+8>>2]|0)|0)|0;k[T>>2]=(k[T>>2]|0)+K}k[O>>2]=(k[O>>2]|0)+1}K=wd(k[xa>>2]|0)|0;k[H>>2]=K;if(k[V>>2]|0)a=m[(k[V>>2]|0)+50>>1]|0;else a=1;k[J>>2]=a;K=IC(k[ya>>2]|0,(k[k[ua>>2]>>2]|0)+(k[J>>2]|0)&65535,(k[H>>2]|0)+(k[T>>2]|0)+1|0,U)|0;k[wa>>2]=K;if(!(i[(k[ya>>2]|0)+69>>0]|0)){k[k[wa>>2]>>2]=k[U>>2];k[U>>2]=(k[U>>2]|0)+((k[H>>2]|0)+1);r0(k[k[wa>>2]>>2]|0,k[xa>>2]|0,(k[H>>2]|0)+1|0)|0;k[(k[wa>>2]|0)+12>>2]=k[oa>>2];i[(k[wa>>2]|0)+54>>0]=k[na>>2];K=(k[wa>>2]|0)+55|0;i[K>>0]=i[K>>0]&-9|((k[na>>2]|0)!=0&1)<<3&255;K=(k[wa>>2]|0)+55|0;i[K>>0]=i[K>>0]&-4|l[N>>0]&3;k[(k[wa>>2]|0)+24>>2]=k[(k[(k[ya>>2]|0)+16>>2]|0)+(k[pa>>2]<<4)+12>>2];j[(k[wa>>2]|0)+50>>1]=k[k[ua>>2]>>2];if(k[va>>2]|0){EF(k[L>>2]|0,k[oa>>2]|0,2,k[va>>2]|0,0);k[(k[wa>>2]|0)+36>>2]=k[va>>2];k[va>>2]=0}if((l[(k[(k[I>>2]|0)+12>>2]|0)+76>>0]|0)>=4)k[Q>>2]=-1;else k[Q>>2]=0;k[O>>2]=0;k[S>>2]=k[(k[ua>>2]|0)+4>>2];while(1){if((k[O>>2]|0)>=(k[k[ua>>2]>>2]|0))break;FF(k[k[S>>2]>>2]|0);EF(k[L>>2]|0,k[oa>>2]|0,32,k[k[S>>2]>>2]|0,0);if(k[(k[L>>2]|0)+36>>2]|0)break a;K=Iw(k[k[S>>2]>>2]|0)|0;k[W>>2]=K;if((l[k[W>>2]>>0]|0)!=152){if((k[oa>>2]|0)==(k[(k[L>>2]|0)+440>>2]|0)){sa=68;break}do if(!(k[(k[wa>>2]|0)+40>>2]|0)){K=mx(k[ya>>2]|0,k[ua>>2]|0,0)|0;k[Z>>2]=K;k[(k[wa>>2]|0)+40>>2]=k[Z>>2];if(i[(k[ya>>2]|0)+69>>0]|0)break;k[S>>2]=(k[(k[Z>>2]|0)+4>>2]|0)+((k[O>>2]|0)*20|0)}while(0);k[P>>2]=-2;j[(k[(k[wa>>2]|0)+4>>2]|0)+(k[O>>2]<<1)>>1]=-2;K=(k[wa>>2]|0)+55|0;i[K>>0]=i[K>>0]&-9}else{k[P>>2]=j[(k[W>>2]|0)+32>>1];a=k[oa>>2]|0;do if((k[P>>2]|0)<0)k[P>>2]=j[a+32>>1];else{if(l[(k[a+4>>2]|0)+(k[P>>2]<<4)+12>>0]|0)break;K=(k[wa>>2]|0)+55|0;i[K>>0]=i[K>>0]&-9}while(0);j[(k[(k[wa>>2]|0)+4>>2]|0)+(k[O>>2]<<1)>>1]=k[P>>2]}k[Y>>2]=0;do if((l[k[k[S>>2]>>2]>>0]|0)==53){k[Y>>2]=k[(k[k[S>>2]>>2]|0)+8>>2];K=(wd(k[Y>>2]|0)|0)+1|0;k[_>>2]=K;r0(k[U>>2]|0,k[Y>>2]|0,k[_>>2]|0)|0;k[Y>>2]=k[U>>2];k[U>>2]=(k[U>>2]|0)+(k[_>>2]|0);k[T>>2]=(k[T>>2]|0)-(k[_>>2]|0)}else{if((k[P>>2]|0)<0)break;k[Y>>2]=k[(k[(k[oa>>2]|0)+4>>2]|0)+(k[P>>2]<<4)+8>>2]}while(0);if(!(k[Y>>2]|0))k[Y>>2]=34455;if((i[(k[ya>>2]|0)+148+5>>0]|0)==0?(vy(k[L>>2]|0,k[Y>>2]|0)|0)==0:0)break a;k[(k[(k[wa>>2]|0)+32>>2]|0)+(k[O>>2]<<2)>>2]=k[Y>>2];k[X>>2]=l[(k[S>>2]|0)+12>>0]&k[Q>>2];i[(k[(k[wa>>2]|0)+28>>2]|0)+(k[O>>2]|0)>>0]=k[X>>2];k[O>>2]=(k[O>>2]|0)+1;k[S>>2]=(k[S>>2]|0)+20}if((sa|0)==68){Cl(k[L>>2]|0,36138,ia);break}b:do if(k[V>>2]|0){k[P>>2]=0;while(1){if((k[P>>2]|0)>=(m[(k[V>>2]|0)+50>>1]|0))break b;k[$>>2]=j[(k[(k[V>>2]|0)+4>>2]|0)+(k[P>>2]<<1)>>1];if(GF(k[(k[wa>>2]|0)+4>>2]|0,m[(k[wa>>2]|0)+50>>1]|0,k[$>>2]|0)|0){ia=(k[wa>>2]|0)+52|0;j[ia>>1]=(j[ia>>1]|0)+-1<<16>>16}else{j[(k[(k[wa>>2]|0)+4>>2]|0)+(k[O>>2]<<1)>>1]=k[$>>2];k[(k[(k[wa>>2]|0)+32>>2]|0)+(k[O>>2]<<2)>>2]=k[(k[(k[V>>2]|0)+32>>2]|0)+(k[P>>2]<<2)>>2];i[(k[(k[wa>>2]|0)+28>>2]|0)+(k[O>>2]|0)>>0]=i[(k[(k[V>>2]|0)+28>>2]|0)+(k[P>>2]|0)>>0]|0;k[O>>2]=(k[O>>2]|0)+1}k[P>>2]=(k[P>>2]|0)+1}}else{j[(k[(k[wa>>2]|0)+4>>2]|0)+(k[O>>2]<<1)>>1]=-1;k[(k[(k[wa>>2]|0)+32>>2]|0)+(k[O>>2]<<2)>>2]=34455}while(0);Dv(k[wa>>2]|0);if(!(k[(k[L>>2]|0)+440>>2]|0))HF(k[wa>>2]|0);c:do if(k[ta>>2]|0){if((m[(k[wa>>2]|0)+52>>1]|0)<(j[(k[oa>>2]|0)+34>>1]|0))break;ia=(k[wa>>2]|0)+55|0;i[ia>>0]=i[ia>>0]&-33|32;k[P>>2]=0;while(1){if((k[P>>2]|0)>=(j[(k[oa>>2]|0)+34>>1]|0))break c;if((k[P>>2]|0)!=(j[(k[oa>>2]|0)+32>>1]|0)?((cz(k[wa>>2]|0,k[P>>2]&65535)|0)<<16>>16|0)<0:0)break;k[P>>2]=(k[P>>2]|0)+1}ia=(k[wa>>2]|0)+55|0;i[ia>>0]=i[ia>>0]&-33}while(0);d:do if((k[oa>>2]|0)==(k[(k[L>>2]|0)+440>>2]|0)){k[aa>>2]=k[(k[oa>>2]|0)+8>>2];while(1){if(!(k[aa>>2]|0))break d;if((m[(k[aa>>2]|0)+50>>1]|0)==(m[(k[wa>>2]|0)+50>>1]|0)){k[ba>>2]=0;while(1){if((k[ba>>2]|0)>=(m[(k[aa>>2]|0)+50>>1]|0))break;if((j[(k[(k[aa>>2]|0)+4>>2]|0)+(k[ba>>2]<<1)>>1]|0)!=(j[(k[(k[wa>>2]|0)+4>>2]|0)+(k[ba>>2]<<1)>>1]|0))break;k[ca>>2]=k[(k[(k[aa>>2]|0)+32>>2]|0)+(k[ba>>2]<<2)>>2];k[da>>2]=k[(k[(k[wa>>2]|0)+32>>2]|0)+(k[ba>>2]<<2)>>2];if(lh(k[ca>>2]|0,k[da>>2]|0)|0)break;k[ba>>2]=(k[ba>>2]|0)+1}if((k[ba>>2]|0)==(m[(k[aa>>2]|0)+50>>1]|0))break}k[aa>>2]=k[(k[aa>>2]|0)+20>>2]}do if((l[(k[aa>>2]|0)+54>>0]|0)!=(l[(k[wa>>2]|0)+54>>0]|0)){do if((l[(k[aa>>2]|0)+54>>0]|0)!=10){if((l[(k[wa>>2]|0)+54>>0]|0)==10)break;sa=k[L>>2]|0;k[ja>>2]=0;Cl(sa,36199,ja)}while(0);if((l[(k[aa>>2]|0)+54>>0]|0)!=10)break;i[(k[aa>>2]|0)+54>>0]=i[(k[wa>>2]|0)+54>>0]|0}while(0);if((l[N>>0]|0)!=2)break a;sa=(k[aa>>2]|0)+55|0;i[sa>>0]=i[sa>>0]&-4|l[N>>0]&3;break a}while(0);do if(i[(k[ya>>2]|0)+148+5>>0]|0){a=Pk((k[(k[wa>>2]|0)+24>>2]|0)+24|0,k[k[wa>>2]>>2]|0,k[wa>>2]|0)|0;k[qa>>2]=a;a=k[ya>>2]|0;if(k[qa>>2]|0){Yd(a);break a}qa=a+24|0;k[qa>>2]=k[qa>>2]|2;if(!(k[ta>>2]|0))break;k[(k[wa>>2]|0)+44>>2]=k[(k[ya>>2]|0)+148>>2]}else{if(!(k[ta>>2]|0?1:(l[(k[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(k[L>>2]|0)+44|0;qa=(k[ja>>2]|0)+1|0;k[ja>>2]=qa;k[ga>>2]=qa;qa=Vu(k[L>>2]|0)|0;k[ea>>2]=qa;if(!(k[ea>>2]|0))break a;mv(k[L>>2]|0,1,k[pa>>2]|0);qa=Xu(k[ea>>2]|0,161)|0;k[(k[wa>>2]|0)+44>>2]=qa;_u(k[ea>>2]|0,134,k[pa>>2]|0,k[ga>>2]|0)|0;if(k[M>>2]|0){k[ha>>2]=(k[(k[L>>2]|0)+392>>2]|0)-(k[k[R>>2]>>2]|0)+(k[(k[L>>2]|0)+392+4>>2]|0);if((i[(k[k[R>>2]>>2]|0)+((k[ha>>2]|0)-1)>>0]|0)==59)k[ha>>2]=(k[ha>>2]|0)+-1;qa=k[ya>>2]|0;ia=k[ha>>2]|0;ja=k[k[R>>2]>>2]|0;k[ka>>2]=(k[na>>2]|0)==0?55752:36241;k[ka+4>>2]=ia;k[ka+8>>2]=ja;qa=ek(qa,36249,ka)|0;k[fa>>2]=qa}else k[fa>>2]=0;qa=k[L>>2]|0;da=(k[pa>>2]|0)==1?26433:26452;ha=k[k[wa>>2]>>2]|0;ia=k[k[oa>>2]>>2]|0;ja=k[ga>>2]|0;ka=k[fa>>2]|0;k[la>>2]=k[(k[(k[ya>>2]|0)+16>>2]|0)+(k[pa>>2]<<4)>>2];k[la+4>>2]=da;k[la+8>>2]=ha;k[la+12>>2]=ia;k[la+16>>2]=ja;k[la+20>>2]=ka;Uu(qa,36269,la);fe(k[ya>>2]|0,k[fa>>2]|0);if(k[ta>>2]|0){My(k[L>>2]|0,k[wa>>2]|0,k[ga>>2]|0);Wu(k[L>>2]|0,k[pa>>2]|0);la=k[ea>>2]|0;pa=k[pa>>2]|0;qa=k[ya>>2]|0;k[ma>>2]=k[k[wa>>2]>>2];Yu(la,pa,ek(qa,36317,ma)|0);Xu(k[ea>>2]|0,150)|0}xy(k[ea>>2]|0,k[(k[wa>>2]|0)+44>>2]|0)}while(0);if(!((k[ta>>2]|0)==0?1:(l[(k[ya>>2]|0)+148+5>>0]|0)!=0))break;do if((k[na>>2]|0)!=5)sa=143;else{if(!(k[(k[oa>>2]|0)+8>>2]|0)){sa=143;break}if((l[(k[(k[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){sa=143;break}k[ra>>2]=k[(k[oa>>2]|0)+8>>2];while(1){if(k[(k[ra>>2]|0)+20>>2]|0)b=(l[(k[(k[ra>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else b=0;a=k[(k[ra>>2]|0)+20>>2]|0;if(!b)break;k[ra>>2]=a}k[(k[wa>>2]|0)+20>>2]=a;k[(k[ra>>2]|0)+20>>2]=k[wa>>2]}while(0);if((sa|0)==143){k[(k[wa>>2]|0)+20>>2]=k[(k[oa>>2]|0)+8>>2];k[(k[oa>>2]|0)+8>>2]=k[wa>>2]}k[wa>>2]=0}}}}while(0);if(!(k[wa>>2]|0)){sa=k[ya>>2]|0;wa=k[va>>2]|0;Yk(sa,wa);wa=k[ya>>2]|0;va=k[ua>>2]|0;Uk(wa,va);va=k[ya>>2]|0;wa=k[ta>>2]|0;$k(va,wa);wa=k[ya>>2]|0;ya=k[xa>>2]|0;fe(wa,ya);u=za;return}Qk(k[ya>>2]|0,k[wa>>2]|0);sa=k[ya>>2]|0;wa=k[va>>2]|0;Yk(sa,wa);wa=k[ya>>2]|0;va=k[ua>>2]|0;Uk(wa,va);va=k[ya>>2]|0;wa=k[ta>>2]|0;$k(va,wa);wa=k[ya>>2]|0;ya=k[xa>>2]|0;fe(wa,ya);u=za;return}function Et(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+440>>2];k[f>>2]=k[k[c>>2]>>2];if((k[e>>2]|0?(i[(k[c>>2]|0)+410>>0]|0)==0:0)?(DF(k[(k[(k[f>>2]|0)+16>>2]|0)+(l[(k[f>>2]|0)+148+4>>0]<<4)+4>>2]|0)|0)==0:0){f=Ot(k[c>>2]|0,k[(k[e>>2]|0)+24>>2]|0,k[d>>2]|0)|0;k[(k[e>>2]|0)+24>>2]=f;if(!(k[(k[c>>2]|0)+84+4>>2]|0)){u=g;return}Pt(k[c>>2]|0,k[(k[e>>2]|0)+24>>2]|0,(k[c>>2]|0)+84|0,1);u=g;return}Yk(k[k[c>>2]>>2]|0,k[d>>2]|0);u=g;return}function Ft(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+96|0;C=E+16|0;n=E+8|0;m=E;y=E+80|0;z=E+76|0;h=E+72|0;A=E+68|0;B=E+64|0;o=E+60|0;p=E+56|0;q=E+52|0;r=E+48|0;f=E+44|0;s=E+40|0;t=E+36|0;v=E+32|0;g=E+28|0;w=E+24|0;x=E+20|0;k[y>>2]=a;k[z>>2]=b;k[h>>2]=c;k[A>>2]=d;k[B>>2]=e;k[o>>2]=k[k[y>>2]>>2];k[p>>2]=0;k[r>>2]=k[(k[y>>2]|0)+440>>2];a:do if(k[r>>2]|0?(l[(k[y>>2]|0)+410>>0]|0)==0:0){if(!(k[z>>2]|0)){k[g>>2]=(j[(k[r>>2]|0)+34>>1]|0)-1;if((k[g>>2]|0)<0)break;if(k[A>>2]|0?(k[k[A>>2]>>2]|0)!=1:0){D=k[y>>2]|0;C=k[h>>2]|0;k[m>>2]=k[(k[(k[r>>2]|0)+4>>2]|0)+(k[g>>2]<<4)>>2];k[m+4>>2]=C;Cl(D,35707,m);break}k[t>>2]=1}else{if(k[A>>2]|0?(k[k[A>>2]>>2]|0)!=(k[k[z>>2]>>2]|0):0){Cl(k[y>>2]|0,35770,n);break}k[t>>2]=k[k[z>>2]>>2]}k[f>>2]=44+((k[t>>2]|0)-1<<3)+(k[(k[h>>2]|0)+4>>2]|0)+1;b:do if(k[A>>2]|0){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[A>>2]>>2]|0))break b;n=(wd(k[(k[(k[A>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+4>>2]|0)|0)+1|0;k[f>>2]=(k[f>>2]|0)+n;k[s>>2]=(k[s>>2]|0)+1}}while(0);n=k[f>>2]|0;n=im(k[o>>2]|0,n,((n|0)<0)<<31>>31)|0;k[p>>2]=n;if(k[p>>2]|0){k[k[p>>2]>>2]=k[r>>2];k[(k[p>>2]|0)+4>>2]=k[(k[r>>2]|0)+16>>2];k[v>>2]=(k[p>>2]|0)+36+(k[t>>2]<<3);k[(k[p>>2]|0)+8>>2]=k[v>>2];r0(k[v>>2]|0,k[k[h>>2]>>2]|0,k[(k[h>>2]|0)+4>>2]|0)|0;i[(k[v>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)>>0]=0;dk(k[v>>2]|0);k[v>>2]=(k[v>>2]|0)+((k[(k[h>>2]|0)+4>>2]|0)+1);k[(k[p>>2]|0)+20>>2]=k[t>>2];c:do if(!(k[z>>2]|0))k[(k[p>>2]|0)+36>>2]=(j[(k[r>>2]|0)+34>>1]|0)-1;else{k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break c;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(j[(k[r>>2]|0)+34>>1]|0))break;n=(lh(k[(k[(k[r>>2]|0)+4>>2]|0)+(k[w>>2]<<4)>>2]|0,k[(k[(k[z>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+4>>2]|0)|0)==0;a=k[w>>2]|0;if(n){D=25;break}k[w>>2]=a+1}if((D|0)==25){D=0;k[(k[p>>2]|0)+36+(k[s>>2]<<3)>>2]=a}if((k[w>>2]|0)>=(j[(k[r>>2]|0)+34>>1]|0))break;k[s>>2]=(k[s>>2]|0)+1}D=k[y>>2]|0;k[C>>2]=k[(k[(k[z>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+4>>2];Cl(D,35864,C);break a}while(0);d:do if(k[A>>2]|0){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break d;D=wd(k[(k[(k[A>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+4>>2]|0)|0;k[x>>2]=D;k[(k[p>>2]|0)+36+(k[s>>2]<<3)+4>>2]=k[v>>2];r0(k[v>>2]|0,k[(k[(k[A>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+4>>2]|0,k[x>>2]|0)|0;i[(k[v>>2]|0)+(k[x>>2]|0)>>0]=0;k[v>>2]=(k[v>>2]|0)+((k[x>>2]|0)+1);k[s>>2]=(k[s>>2]|0)+1}}while(0);i[(k[p>>2]|0)+24>>0]=0;i[(k[p>>2]|0)+25>>0]=k[B>>2];i[(k[p>>2]|0)+25+1>>0]=k[B>>2]>>8;D=Pk((k[(k[r>>2]|0)+64>>2]|0)+56|0,k[(k[p>>2]|0)+8>>2]|0,k[p>>2]|0)|0;k[q>>2]=D;if((k[q>>2]|0)==(k[p>>2]|0)){Yd(k[o>>2]|0);break}if(k[q>>2]|0){k[(k[p>>2]|0)+12>>2]=k[q>>2];k[(k[q>>2]|0)+16>>2]=k[p>>2]}k[(k[r>>2]|0)+16>>2]=k[p>>2];k[p>>2]=0}}while(0);fe(k[o>>2]|0,k[p>>2]|0);Uk(k[o>>2]|0,k[z>>2]|0);Uk(k[o>>2]|0,k[A>>2]|0);u=E;return}function Gt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=u;u=u+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;b=k[(k[g>>2]|0)+440>>2]|0;k[d>>2]=b;if(!b){u=f;return}g=k[(k[d>>2]|0)+16>>2]|0;k[e>>2]=g;if(!g){u=f;return}i[(k[e>>2]|0)+24>>0]=k[c>>2];u=f;return}function Ht(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=u;u=u+32|0;c=l+24|0;d=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;e=l+4|0;i=l;k[c>>2]=a;k[d>>2]=b;b=k[(k[c>>2]|0)+440>>2]|0;k[f>>2]=b;if(!b){u=l;return}k[g>>2]=(j[(k[f>>2]|0)+34>>1]|0)-1;k[e>>2]=k[k[c>>2]>>2];d=Ou(k[e>>2]|0,k[d>>2]|0)|0;k[h>>2]=d;if(!(k[h>>2]|0)){u=l;return}d=(vy(k[c>>2]|0,k[h>>2]|0)|0)!=0;a=k[e>>2]|0;if(!d){fe(a,k[h>>2]|0);u=l;return}fe(a,k[(k[(k[f>>2]|0)+4>>2]|0)+(k[g>>2]<<4)+8>>2]|0);k[(k[(k[f>>2]|0)+4>>2]|0)+(k[g>>2]<<4)+8>>2]=k[h>>2];k[i>>2]=k[(k[f>>2]|0)+8>>2];while(1){if(!(k[i>>2]|0))break;if((j[k[(k[i>>2]|0)+4>>2]>>1]|0)==(k[g>>2]|0))k[k[(k[i>>2]|0)+32>>2]>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+(k[g>>2]<<4)+8>>2];k[i>>2]=k[(k[i>>2]|0)+20>>2]}u=l;return}function It(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+80|0;w=x+16|0;v=x+8|0;t=x;n=x+64|0;o=x+60|0;p=x+56|0;q=x+52|0;r=x+48|0;s=x+44|0;e=x+40|0;f=x+36|0;g=x+32|0;h=x+28|0;j=x+24|0;m=x+20|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[e>>2]=k[k[n>>2]>>2];do if((i[(k[e>>2]|0)+69>>0]|0)==0?(pv(k[n>>2]|0)|0)==0:0){if(k[q>>2]|0){d=(k[e>>2]|0)+73|0;i[d>>0]=(i[d>>0]|0)+1<<24>>24}d=kv(k[n>>2]|0,k[p>>2]|0,(k[o>>2]|0)+8|0)|0;k[r>>2]=d;if(k[q>>2]|0){d=(k[e>>2]|0)+73|0;i[d>>0]=(i[d>>0]|0)+-1<<24>>24}if(!(k[r>>2]|0)){if(!(k[q>>2]|0))break;hA(k[n>>2]|0,k[(k[o>>2]|0)+8+4>>2]|0);break}q=Ru(k[e>>2]|0,k[(k[r>>2]|0)+64>>2]|0)|0;k[f>>2]=q;if(l[(k[r>>2]|0)+42>>0]&16|0?ow(k[n>>2]|0,k[r>>2]|0)|0:0)break;k[h>>2]=(k[f>>2]|0)==1?26433:26452;k[j>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2];k[m>>2]=0;if(!(Su(k[n>>2]|0,9,k[h>>2]|0,0,k[j>>2]|0)|0)){do if(k[p>>2]|0)if((k[f>>2]|0)==1){k[g>>2]=15;break}else{k[g>>2]=17;break}else{if(l[(k[r>>2]|0)+42>>0]&16|0){k[g>>2]=30;q=(pw(k[e>>2]|0,k[r>>2]|0)|0)+4|0;k[m>>2]=k[(k[q>>2]|0)+4>>2];break}if((k[f>>2]|0)==1){k[g>>2]=13;break}else{k[g>>2]=11;break}}while(0);if((Su(k[n>>2]|0,k[g>>2]|0,k[k[r>>2]>>2]|0,k[m>>2]|0,k[j>>2]|0)|0)==0?(Su(k[n>>2]|0,9,k[k[r>>2]>>2]|0,0,k[j>>2]|0)|0)==0:0){if((vd(k[k[r>>2]>>2]|0,26664,7)|0)==0?vd(k[k[r>>2]>>2]|0,35500,11)|0:0){w=k[n>>2]|0;k[t>>2]=k[k[r>>2]>>2];Cl(w,35512,t);break}if(k[p>>2]|0?(k[(k[r>>2]|0)+12>>2]|0)==0:0){w=k[n>>2]|0;k[v>>2]=k[k[r>>2]>>2];Cl(w,35540,v);break}if((k[p>>2]|0)==0?k[(k[r>>2]|0)+12>>2]|0:0){v=k[n>>2]|0;k[w>>2]=k[k[r>>2]>>2];Cl(v,35574,w);break}w=Vu(k[n>>2]|0)|0;k[s>>2]=w;if(k[s>>2]|0){mv(k[n>>2]|0,1,k[f>>2]|0);nB(k[n>>2]|0,k[f>>2]|0,30152,k[k[r>>2]>>2]|0);zF(k[n>>2]|0,k[o>>2]|0,k[r>>2]|0);AF(k[n>>2]|0,k[r>>2]|0,k[f>>2]|0,k[p>>2]|0)}}}}while(0);$k(k[e>>2]|0,k[o>>2]|0);u=x;return}function Jt(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+96|0;B=D+88|0;C=D+84|0;m=D+80|0;n=D+76|0;o=D+72|0;p=D+68|0;q=D+64|0;r=D+60|0;s=D+56|0;t=D+52|0;v=D+48|0;w=D+40|0;x=D+16|0;y=D+12|0;z=D+8|0;A=D+4|0;k[B>>2]=a;k[C>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[r>>2]=h;k[y>>2]=0;k[A>>2]=k[k[B>>2]>>2];a=k[B>>2]|0;if((j[(k[B>>2]|0)+400>>1]|0)<=0){ut(a,k[m>>2]|0,k[n>>2]|0,k[q>>2]|0,1,0,k[r>>2]|0);k[s>>2]=k[(k[B>>2]|0)+440>>2];if(((k[s>>2]|0?(k[(k[B>>2]|0)+36>>2]|0)==0:0)?(ky(k[B>>2]|0,k[m>>2]|0,k[n>>2]|0,y)|0,r=Ru(k[A>>2]|0,k[(k[s>>2]|0)+64>>2]|0)|0,k[z>>2]=r,mA(x,k[B>>2]|0,k[z>>2]|0,35495,k[y>>2]|0),(oA(x,k[p>>2]|0)|0)==0):0)?(z=uw(k[A>>2]|0,k[p>>2]|0,1)|0,k[(k[s>>2]|0)+12>>2]=z,z=mx(k[A>>2]|0,k[o>>2]|0,1)|0,k[(k[s>>2]|0)+24>>2]=z,(i[(k[A>>2]|0)+69>>0]|0)==0):0){z=(k[B>>2]|0)+392|0;k[w>>2]=k[z>>2];k[w+4>>2]=k[z+4>>2];if((i[k[w>>2]>>0]|0)!=59)k[w>>2]=(k[w>>2]|0)+(k[w+4>>2]|0);k[w+4>>2]=0;k[t>>2]=(k[w>>2]|0)-(k[k[C>>2]>>2]|0);k[v>>2]=k[k[C>>2]>>2];while(1){if(!(l[20063+(l[(k[v>>2]|0)+((k[t>>2]|0)-1)>>0]|0)>>0]&1))break;k[t>>2]=(k[t>>2]|0)+-1}k[w>>2]=(k[v>>2]|0)+((k[t>>2]|0)-1);k[w+4>>2]=1;wt(k[B>>2]|0,0,w,0,0)}}else Cl(a,35459,D);Tk(k[A>>2]|0,k[p>>2]|0);Uk(k[A>>2]|0,k[o>>2]|0);u=D;return}function Kt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=u;u=u+432|0;v=Ca;Z=Ca+412|0;aa=Ca+408|0;ja=Ca+404|0;ua=Ca+400|0;za=Ca+396|0;Aa=Ca+392|0;Ba=Ca+388|0;N=Ca+384|0;w=Ca+380|0;O=Ca+376|0;P=Ca+372|0;B=Ca+368|0;Q=Ca+364|0;R=Ca+360|0;S=Ca+356|0;T=Ca+344|0;U=Ca+312|0;V=Ca+264|0;W=Ca+260|0;X=Ca+256|0;Y=Ca+252|0;d=Ca+248|0;e=Ca+244|0;f=Ca+240|0;g=Ca+236|0;h=Ca+232|0;n=Ca+208|0;o=Ca+204|0;p=Ca+200|0;q=Ca+196|0;r=Ca+192|0;s=Ca+188|0;t=Ca+184|0;x=Ca+416|0;C=Ca+152|0;_=Ca+148|0;$=Ca+144|0;ba=Ca+140|0;ca=Ca+136|0;da=Ca+132|0;ea=Ca+128|0;fa=Ca+124|0;ga=Ca+120|0;ha=Ca+116|0;y=Ca+112|0;z=Ca+108|0;ia=Ca+104|0;ka=Ca+100|0;la=Ca+96|0;ma=Ca+92|0;na=Ca+88|0;oa=Ca+84|0;pa=Ca+80|0;qa=Ca+76|0;ra=Ca+72|0;sa=Ca+68|0;ta=Ca+64|0;va=Ca+60|0;wa=Ca+56|0;xa=Ca+52|0;ya=Ca+48|0;D=Ca+44|0;E=Ca+40|0;F=Ca+36|0;G=Ca+32|0;H=Ca+28|0;I=Ca+24|0;J=Ca+20|0;K=Ca+16|0;L=Ca+12|0;M=Ca+418|0;k[aa>>2]=a;k[ja>>2]=b;k[ua>>2]=c;k[O>>2]=0;k[S>>2]=1;k[Y>>2]=k[(k[aa>>2]|0)+420>>2];b=(k[aa>>2]|0)+424|0;c=k[b>>2]|0;k[b>>2]=c+1;k[(k[aa>>2]|0)+420>>2]=c;k[X>>2]=k[k[aa>>2]>>2];if((k[ja>>2]|0?(l[(k[X>>2]|0)+69>>0]|0)==0:0)?(k[(k[aa>>2]|0)+36>>2]|0)==0:0){if(Su(k[aa>>2]|0,21,0,0,0)|0){k[Z>>2]=1;Ba=k[Z>>2]|0;u=Ca;return Ba|0}a=V;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if((l[k[ua>>2]>>0]|0)<=8){Uk(k[X>>2]|0,k[(k[ja>>2]|0)+44>>2]|0);k[(k[ja>>2]|0)+44>>2]=0;c=(k[ja>>2]|0)+8|0;k[c>>2]=k[c>>2]&-2}Kw(k[aa>>2]|0,k[ja>>2]|0,0);k[U>>2]=0;k[U+4>>2]=0;k[U+8>>2]=0;k[U+12>>2]=0;k[U+16>>2]=0;k[U+20>>2]=0;k[U+24>>2]=0;k[U+28>>2]=0;k[U>>2]=k[(k[ja>>2]|0)+44>>2];k[P>>2]=k[(k[ja>>2]|0)+28>>2];a:do if((k[(k[aa>>2]|0)+36>>2]|0)==0?(l[(k[X>>2]|0)+69>>0]|0)==0:0){k[w>>2]=(k[(k[ja>>2]|0)+8>>2]&8|0)!=0&1;k[za>>2]=0;while(1){if(k[(k[ja>>2]|0)+48>>2]|0)break;if((k[za>>2]|0)>=(k[k[P>>2]>>2]|0))break;k[d>>2]=(k[P>>2]|0)+8+((k[za>>2]|0)*72|0);k[e>>2]=k[(k[d>>2]|0)+20>>2];k[g>>2]=k[(k[d>>2]|0)+16>>2];if(k[e>>2]|0){if((j[(k[g>>2]|0)+34>>1]|0)!=(k[k[k[e>>2]>>2]>>2]|0)){A=16;break}k[f>>2]=(k[(k[e>>2]|0)+8>>2]&8|0)!=0&1;if(HE(k[aa>>2]|0,k[ja>>2]|0,k[za>>2]|0,k[w>>2]|0,k[f>>2]|0)|0){if(k[f>>2]|0){k[w>>2]=1;c=(k[ja>>2]|0)+8|0;k[c>>2]=k[c>>2]|8}k[za>>2]=-1}k[P>>2]=k[(k[ja>>2]|0)+28>>2];if(i[(k[X>>2]|0)+69>>0]|0)break a;if((l[k[ua>>2]>>0]|0)>8)k[U>>2]=k[(k[ja>>2]|0)+44>>2]}k[za>>2]=(k[za>>2]|0)+1}if((A|0)==16){Ba=k[aa>>2]|0;za=k[k[g>>2]>>2]|0;Aa=k[k[k[e>>2]>>2]>>2]|0;k[v>>2]=j[(k[g>>2]|0)+34>>1];k[v+4>>2]=za;k[v+8>>2]=Aa;Cl(Ba,35054,v);break}v=Vu(k[aa>>2]|0)|0;k[N>>2]=v;if(k[N>>2]|0){if(k[(k[ja>>2]|0)+48>>2]|0){Ba=IE(k[aa>>2]|0,k[ja>>2]|0,k[ua>>2]|0)|0;k[S>>2]=Ba;k[(k[aa>>2]|0)+420>>2]=k[Y>>2];k[Z>>2]=k[S>>2];Ba=k[Z>>2]|0;u=Ca;return Ba|0}k[za>>2]=0;while(1){if((k[za>>2]|0)>=(k[k[P>>2]>>2]|0))break;k[h>>2]=(k[P>>2]|0)+8+((k[za>>2]|0)*72|0);k[o>>2]=k[(k[h>>2]|0)+20>>2];do if(k[o>>2]|0){if(k[(k[h>>2]|0)+24>>2]|0){if((l[(k[h>>2]|0)+36+1>>0]|0)>>>4&1|0)break;_u(k[N>>2]|0,14,k[(k[h>>2]|0)+28>>2]|0,k[(k[h>>2]|0)+24>>2]|0)|0;break}g=JE(k[ja>>2]|0)|0;v=(k[aa>>2]|0)+416|0;k[v>>2]=(k[v>>2]|0)+g;if(!(l[(k[h>>2]|0)+36>>0]&32))KE(k[X>>2]|0,k[o>>2]|0,k[(k[ja>>2]|0)+32>>2]|0,k[(k[h>>2]|0)+44>>2]|0)|0;do if(!(k[za>>2]|0)){if((k[k[P>>2]>>2]|0)!=1?(l[(k[P>>2]|0)+8+72+36>>0]&10|0)==0:0){A=42;break}if(k[(k[ja>>2]|0)+8>>2]&2|0){A=42;break}if(m[(k[X>>2]|0)+64>>1]&256|0){A=42;break}g=(Zv(k[N>>2]|0)|0)+1|0;k[p>>2]=g;g=(k[aa>>2]|0)+44|0;v=(k[g>>2]|0)+1|0;k[g>>2]=v;k[(k[h>>2]|0)+28>>2]=v;$u(k[N>>2]|0,15,k[(k[h>>2]|0)+28>>2]|0,0,k[p>>2]|0)|0;k[(k[h>>2]|0)+24>>2]=k[p>>2];Kz(n,13,k[(k[h>>2]|0)+28>>2]|0);i[(k[h>>2]|0)+40>>0]=k[(k[aa>>2]|0)+424>>2];Kt(k[aa>>2]|0,k[o>>2]|0,n)|0;j[(k[(k[h>>2]|0)+16>>2]|0)+38>>1]=j[(k[o>>2]|0)+6>>1]|0;v=(k[h>>2]|0)+36+1|0;i[v>>0]=i[v>>0]&-17|16;k[(k[h>>2]|0)+32>>2]=k[n+12>>2];vB(k[N>>2]|0,k[(k[h>>2]|0)+28>>2]|0);xy(k[N>>2]|0,(k[p>>2]|0)-1|0);LE(k[aa>>2]|0)}else A=42;while(0);if((A|0)==42){A=0;k[r>>2]=0;g=(k[aa>>2]|0)+44|0;v=(k[g>>2]|0)+1|0;k[g>>2]=v;k[(k[h>>2]|0)+28>>2]=v;v=_u(k[N>>2]|0,76,0,k[(k[h>>2]|0)+28>>2]|0)|0;k[q>>2]=v;k[(k[h>>2]|0)+24>>2]=(k[q>>2]|0)+1;if(!((l[(k[h>>2]|0)+36+1>>0]|0)>>>3&1)){v=Xu(k[N>>2]|0,20)|0;k[r>>2]=v}Kz(n,12,k[(k[h>>2]|0)+44>>2]|0);i[(k[h>>2]|0)+40>>0]=k[(k[aa>>2]|0)+424>>2];Kt(k[aa>>2]|0,k[o>>2]|0,n)|0;j[(k[(k[h>>2]|0)+16>>2]|0)+38>>1]=j[(k[o>>2]|0)+6>>1]|0;if(k[r>>2]|0)xy(k[N>>2]|0,k[r>>2]|0);v=oy(k[N>>2]|0,72,k[(k[h>>2]|0)+28>>2]|0)|0;k[s>>2]=v;vC(k[N>>2]|0,k[q>>2]|0,k[s>>2]|0);LE(k[aa>>2]|0)}if(i[(k[X>>2]|0)+69>>0]|0)break a;g=JE(k[ja>>2]|0)|0;v=(k[aa>>2]|0)+416|0;k[v>>2]=(k[v>>2]|0)-g}while(0);k[za>>2]=(k[za>>2]|0)+1}k[O>>2]=k[k[ja>>2]>>2];k[B>>2]=k[(k[ja>>2]|0)+32>>2];k[Q>>2]=k[(k[ja>>2]|0)+36>>2];k[R>>2]=k[(k[ja>>2]|0)+40>>2];i[T>>0]=(k[(k[ja>>2]|0)+8>>2]&1|0)!=0;if((k[(k[ja>>2]|0)+8>>2]&9|0)==1?(hx(k[U>>2]|0,k[O>>2]|0,-1)|0)==0:0){v=(k[ja>>2]|0)+8|0;k[v>>2]=k[v>>2]&-2;v=mx(k[X>>2]|0,k[O>>2]|0,0)|0;k[(k[ja>>2]|0)+36>>2]=v;k[Q>>2]=v}if(k[U>>2]|0){v=ME(k[aa>>2]|0,k[U>>2]|0,0,k[k[O>>2]>>2]|0)|0;k[t>>2]=v;v=(k[aa>>2]|0)+40|0;a=k[v>>2]|0;k[v>>2]=a+1;k[U+8>>2]=a;a=cv(k[N>>2]|0,107,k[U+8>>2]|0,(k[k[U>>2]>>2]|0)+1+(k[k[O>>2]>>2]|0)|0,0,k[t>>2]|0,-6)|0}else a=-1;k[U+20>>2]=a;if((l[k[ua>>2]>>0]|0)==12)_u(k[N>>2]|0,107,k[(k[ua>>2]|0)+8>>2]|0,k[k[O>>2]>>2]|0)|0;v=uy(k[N>>2]|0)|0;k[W>>2]=v;j[(k[ja>>2]|0)+6>>1]=320;NE(k[aa>>2]|0,k[ja>>2]|0,k[W>>2]|0);if((k[(k[ja>>2]|0)+12>>2]|0)==0?(k[U+20>>2]|0)>=0:0){OE(k[N>>2]|0,k[U+20>>2]|0,108);v=U+28|0;i[v>>0]=l[v>>0]|1}if(k[(k[ja>>2]|0)+8>>2]&1|0){a=(k[aa>>2]|0)+40|0;v=k[a>>2]|0;k[a>>2]=v+1;k[T+4>>2]=v;v=k[N>>2]|0;a=k[T+4>>2]|0;a=cv(v,107,a,0,0,ME(k[aa>>2]|0,k[k[ja>>2]>>2]|0,0,0)|0,-6)|0;k[T+8>>2]=a;ty(k[N>>2]|0,8);a=3}else a=0;i[T+1>>0]=a;if((k[w>>2]|0)==0&(k[Q>>2]|0)==0){j[x>>1]=l[T>>0]|0?256:0;j[x>>1]=m[x>>1]|k[(k[ja>>2]|0)+8>>2]&16384;Aa=PB(k[aa>>2]|0,k[P>>2]|0,k[B>>2]|0,k[U>>2]|0,k[k[ja>>2]>>2]|0,j[x>>1]|0,j[(k[ja>>2]|0)+6>>1]|0)|0;k[Ba>>2]=Aa;if(!(k[Ba>>2]|0))break;Aa=(PE(k[Ba>>2]|0)|0)<<16>>16;if((Aa|0)<(j[(k[ja>>2]|0)+6>>1]|0)){Aa=PE(k[Ba>>2]|0)|0;j[(k[ja>>2]|0)+6>>1]=Aa}do if(l[T>>0]|0){if(!(QE(k[Ba>>2]|0)|0))break;Aa=(QE(k[Ba>>2]|0)|0)&255;i[T+1>>0]=Aa}while(0);do if(k[U>>2]|0){Aa=RE(k[Ba>>2]|0)|0;k[U+4>>2]=Aa;Aa=(SE(k[Ba>>2]|0)|0)&255;i[U+29>>0]=Aa;if((k[U+4>>2]|0)!=(k[k[U>>2]>>2]|0))break;k[U>>2]=0}while(0);do if((k[U+20>>2]|0)>=0){if(k[U>>2]|0)break;$y(k[N>>2]|0,k[U+20>>2]|0)|0}while(0);wa=k[aa>>2]|0;xa=k[ja>>2]|0;ya=k[O>>2]|0;za=k[ua>>2]|0;Aa=TE(k[Ba>>2]|0)|0;VE(wa,xa,ya,-1,U,T,za,Aa,UE(k[Ba>>2]|0)|0);QB(k[Ba>>2]|0)}else{k[fa>>2]=0;k[ga>>2]=0;k[ha>>2]=0;a=k[ja>>2]|0;do if(k[Q>>2]|0){k[y>>2]=k[k[a>>2]>>2];k[z>>2]=k[(k[k[ja>>2]>>2]|0)+4>>2];while(1){if((k[y>>2]|0)<=0)break;j[(k[z>>2]|0)+16+2>>1]=0;k[y>>2]=(k[y>>2]|0)+-1;k[z>>2]=(k[z>>2]|0)+20}k[y>>2]=k[k[Q>>2]>>2];k[z>>2]=k[(k[Q>>2]|0)+4>>2];while(1){if((k[y>>2]|0)<=0)break;j[(k[z>>2]|0)+16+2>>1]=0;k[y>>2]=(k[y>>2]|0)+-1;k[z>>2]=(k[z>>2]|0)+20}if((j[(k[ja>>2]|0)+6>>1]|0)<=66)break;b=66;a=k[ja>>2]|0;A=85}else{b=0;A=85}while(0);if((A|0)==85)j[a+6>>1]=b;if(!(hx(k[Q>>2]|0,k[U>>2]|0,-1)|0))k[ha>>2]=1;A=uy(k[N>>2]|0)|0;k[ea>>2]=A;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[C+12>>2]=0;k[C+16>>2]=0;k[C+20>>2]=0;k[C+24>>2]=0;k[C+28>>2]=0;k[C>>2]=k[aa>>2];k[C+4>>2]=k[P>>2];k[C+12>>2]=V;k[V+16>>2]=(k[(k[aa>>2]|0)+44>>2]|0)+1;if(k[Q>>2]|0)a=k[k[Q>>2]>>2]|0;else a=0;k[V+12>>2]=a;k[V+24>>2]=k[Q>>2];WE(C,k[O>>2]|0);WE(C,k[U>>2]|0);if(k[R>>2]|0)XE(C,k[R>>2]|0);k[V+36>>2]=k[V+32>>2];k[za>>2]=0;while(1){if((k[za>>2]|0)>=(k[V+44>>2]|0))break;A=C+28|0;j[A>>1]=m[A>>1]|8;WE(C,k[(k[(k[V+40>>2]|0)+(k[za>>2]<<4)>>2]|0)+20>>2]|0);A=C+28|0;j[A>>1]=m[A>>1]&-9;k[za>>2]=(k[za>>2]|0)+1}k[V+20>>2]=k[(k[aa>>2]|0)+44>>2];if(i[(k[X>>2]|0)+69>>0]|0)break;if(k[Q>>2]|0){L=(k[aa>>2]|0)+40|0;M=k[L>>2]|0;k[L>>2]=M+1;k[V+4>>2]=M;M=ME(k[aa>>2]|0,k[Q>>2]|0,0,k[V+32>>2]|0)|0;k[ia>>2]=M;M=cv(k[N>>2]|0,108,k[V+4>>2]|0,k[V+12>>2]|0,0,k[ia>>2]|0,-6)|0;k[pa>>2]=M;M=(k[aa>>2]|0)+44|0;L=(k[M>>2]|0)+1|0;k[M>>2]=L;k[ba>>2]=L;L=(k[aa>>2]|0)+44|0;M=(k[L>>2]|0)+1|0;k[L>>2]=M;k[ca>>2]=M;M=(k[aa>>2]|0)+44|0;L=(k[M>>2]|0)+1|0;k[M>>2]=L;k[ma>>2]=L;L=uy(k[N>>2]|0)|0;k[la>>2]=L;L=(k[aa>>2]|0)+44|0;M=(k[L>>2]|0)+1|0;k[L>>2]=M;k[ra>>2]=M;M=uy(k[N>>2]|0)|0;k[qa>>2]=M;k[_>>2]=(k[(k[aa>>2]|0)+44>>2]|0)+1;M=(k[aa>>2]|0)+44|0;k[M>>2]=(k[M>>2]|0)+(k[k[Q>>2]>>2]|0);k[$>>2]=(k[(k[aa>>2]|0)+44>>2]|0)+1;M=(k[aa>>2]|0)+44|0;k[M>>2]=(k[M>>2]|0)+(k[k[Q>>2]>>2]|0);_u(k[N>>2]|0,76,0,k[ca>>2]|0)|0;_u(k[N>>2]|0,76,0,k[ba>>2]|0)|0;$u(k[N>>2]|0,79,0,k[_>>2]|0,(k[_>>2]|0)+(k[k[Q>>2]>>2]|0)-1|0)|0;_u(k[N>>2]|0,14,k[ra>>2]|0,k[qa>>2]|0)|0;M=PB(k[aa>>2]|0,k[P>>2]|0,k[B>>2]|0,k[Q>>2]|0,0,(64|(k[ha>>2]|0?512:0))&65535,0)|0;k[Ba>>2]=M;if(!(k[Ba>>2]|0))break;M=RE(k[Ba>>2]|0)|0;if((M|0)==(k[k[Q>>2]>>2]|0))k[da>>2]=0;else{if(l[T>>0]|0)a=(k[(k[ja>>2]|0)+8>>2]&1|0)==0;else a=0;YE(k[aa>>2]|0,a?35094:35103);k[da>>2]=1;k[wa>>2]=k[k[Q>>2]>>2];k[va>>2]=k[wa>>2];k[Aa>>2]=k[wa>>2];k[za>>2]=0;while(1){if((k[za>>2]|0)>=(k[V+32>>2]|0))break;if((k[(k[V+28>>2]|0)+((k[za>>2]|0)*24|0)+12>>2]|0)>=(k[Aa>>2]|0)){k[va>>2]=(k[va>>2]|0)+1;k[Aa>>2]=(k[Aa>>2]|0)+1}k[za>>2]=(k[za>>2]|0)+1}M=Wy(k[aa>>2]|0,k[va>>2]|0)|0;k[sa>>2]=M;OA(k[aa>>2]|0);pz(k[aa>>2]|0,k[Q>>2]|0,k[sa>>2]|0,0,0)|0;k[Aa>>2]=k[wa>>2];k[za>>2]=0;while(1){if((k[za>>2]|0)>=(k[V+32>>2]|0))break;k[xa>>2]=(k[V+28>>2]|0)+((k[za>>2]|0)*24|0);if((k[(k[xa>>2]|0)+12>>2]|0)>=(k[Aa>>2]|0)){k[ya>>2]=(k[Aa>>2]|0)+(k[sa>>2]|0);uC(k[aa>>2]|0,k[k[xa>>2]>>2]|0,k[(k[xa>>2]|0)+8>>2]|0,k[(k[xa>>2]|0)+4>>2]|0,k[ya>>2]|0);k[Aa>>2]=(k[Aa>>2]|0)+1}k[za>>2]=(k[za>>2]|0)+1}ya=Yv(k[aa>>2]|0)|0;k[ta>>2]=ya;$u(k[N>>2]|0,99,k[sa>>2]|0,k[va>>2]|0,k[ta>>2]|0)|0;_u(k[N>>2]|0,125,k[V+4>>2]|0,k[ta>>2]|0)|0;_v(k[aa>>2]|0,k[ta>>2]|0);Zy(k[aa>>2]|0,k[sa>>2]|0,k[va>>2]|0);QB(k[Ba>>2]|0);ya=(k[aa>>2]|0)+40|0;za=k[ya>>2]|0;k[ya>>2]=za+1;k[fa>>2]=za;k[V+8>>2]=za;za=Yv(k[aa>>2]|0)|0;k[ga>>2]=za;$u(k[N>>2]|0,110,k[fa>>2]|0,k[ga>>2]|0,k[va>>2]|0)|0;_u(k[N>>2]|0,55,k[V+4>>2]|0,k[ea>>2]|0)|0;i[V+1>>0]=1;OA(k[aa>>2]|0)}do if(k[ha>>2]|0){if(m[(k[X>>2]|0)+64>>1]&4|0)break;if((k[da>>2]|0)==0?(ZE(k[Ba>>2]|0)|0)==0:0)break;k[U>>2]=0;$y(k[N>>2]|0,k[U+20>>2]|0)|0}while(0);za=Zv(k[N>>2]|0)|0;k[oa>>2]=za;OA(k[aa>>2]|0);if(k[da>>2]|0)$u(k[N>>2]|0,120,k[V+4>>2]|0,k[ga>>2]|0,k[fa>>2]|0)|0;k[Aa>>2]=0;while(1){if((k[Aa>>2]|0)>=(k[k[Q>>2]>>2]|0))break;if(k[da>>2]|0)$u(k[N>>2]|0,96,k[fa>>2]|0,k[Aa>>2]|0,(k[$>>2]|0)+(k[Aa>>2]|0)|0)|0;else{i[V>>0]=1;ez(k[aa>>2]|0,k[(k[(k[Q>>2]|0)+4>>2]|0)+((k[Aa>>2]|0)*20|0)>>2]|0,(k[$>>2]|0)+(k[Aa>>2]|0)|0)}k[Aa>>2]=(k[Aa>>2]|0)+1}xa=k[N>>2]|0;ya=k[_>>2]|0;za=k[$>>2]|0;Aa=k[k[Q>>2]>>2]|0;cv(xa,95,ya,za,Aa,Ny(k[ia>>2]|0)|0,-6)|0;Aa=Zv(k[N>>2]|0)|0;k[ka>>2]=Aa;$u(k[N>>2]|0,18,(k[ka>>2]|0)+1|0,0,(k[ka>>2]|0)+1|0)|0;_E(k[aa>>2]|0,k[$>>2]|0,k[_>>2]|0,k[k[Q>>2]>>2]|0);_u(k[N>>2]|0,14,k[ma>>2]|0,k[la>>2]|0)|0;_u(k[N>>2]|0,66,k[ca>>2]|0,k[ea>>2]|0)|0;_u(k[N>>2]|0,14,k[ra>>2]|0,k[qa>>2]|0)|0;xy(k[N>>2]|0,k[ka>>2]|0);$E(k[aa>>2]|0,V);_u(k[N>>2]|0,76,1,k[ba>>2]|0)|0;if(k[da>>2]|0)_u(k[N>>2]|0,3,k[V+4>>2]|0,k[oa>>2]|0)|0;else{QB(k[Ba>>2]|0);$y(k[N>>2]|0,k[pa>>2]|0)|0}_u(k[N>>2]|0,14,k[ma>>2]|0,k[la>>2]|0)|0;wy(k[N>>2]|0,k[ea>>2]|0)|0;Ba=Zv(k[N>>2]|0)|0;k[na>>2]=Ba;_u(k[N>>2]|0,76,1,k[ca>>2]|0)|0;oy(k[N>>2]|0,72,k[ma>>2]|0)|0;yy(k[N>>2]|0,k[la>>2]|0);Ba=Zv(k[N>>2]|0)|0;k[la>>2]=Ba;_u(k[N>>2]|0,66,k[ba>>2]|0,(k[la>>2]|0)+2|0)|0;oy(k[N>>2]|0,72,k[ma>>2]|0)|0;aF(k[aa>>2]|0,V);xz(k[aa>>2]|0,k[R>>2]|0,(k[la>>2]|0)+1|0,16);VE(k[aa>>2]|0,k[ja>>2]|0,k[k[ja>>2]>>2]|0,-1,U,T,k[ua>>2]|0,(k[la>>2]|0)+1|0,k[na>>2]|0);oy(k[N>>2]|0,72,k[ma>>2]|0)|0;yy(k[N>>2]|0,k[qa>>2]|0);bF(k[aa>>2]|0,V);oy(k[N>>2]|0,72,k[ra>>2]|0)|0}else{k[D>>2]=0;Aa=cF(k[ja>>2]|0,V)|0;k[E>>2]=Aa;if(Aa|0){Aa=Ru(k[k[aa>>2]>>2]|0,k[(k[E>>2]|0)+64>>2]|0)|0;k[F>>2]=Aa;Aa=(k[aa>>2]|0)+40|0;Ba=k[Aa>>2]|0;k[Aa>>2]=Ba+1;k[G>>2]=Ba;k[I>>2]=0;k[J>>2]=0;k[K>>2]=k[(k[E>>2]|0)+28>>2];nv(k[aa>>2]|0,k[F>>2]|0);qy(k[aa>>2]|0,k[F>>2]|0,k[(k[E>>2]|0)+28>>2]|0,0,k[k[E>>2]>>2]|0);if(l[(k[E>>2]|0)+42>>0]&32|0){Ba=Ev(k[E>>2]|0)|0;k[J>>2]=Ba}k[H>>2]=k[(k[E>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;do if(!((l[(k[H>>2]|0)+55>>0]|0)>>>2&1)){if((j[(k[H>>2]|0)+48>>1]|0)>=(j[(k[E>>2]|0)+40>>1]|0))break;if(k[(k[H>>2]|0)+36>>2]|0)break;if(k[J>>2]|0?(j[(k[H>>2]|0)+48>>1]|0)>=(j[(k[J>>2]|0)+48>>1]|0):0)break;k[J>>2]=k[H>>2]}while(0);k[H>>2]=k[(k[H>>2]|0)+20>>2]}if(k[J>>2]|0){k[K>>2]=k[(k[J>>2]|0)+44>>2];Ba=Hy(k[aa>>2]|0,k[J>>2]|0)|0;k[I>>2]=Ba}Jy(k[N>>2]|0,104,k[G>>2]|0,k[K>>2]|0,k[F>>2]|0,1)|0;if(k[I>>2]|0)dv(k[N>>2]|0,-1,k[I>>2]|0,-6);_u(k[N>>2]|0,100,k[G>>2]|0,k[(k[V+40>>2]|0)+8>>2]|0)|0;oy(k[N>>2]|0,111,k[G>>2]|0)|0;dF(k[aa>>2]|0,k[E>>2]|0,k[J>>2]|0)}else{k[L>>2]=0;i[M>>0]=0;if(!(k[(k[ja>>2]|0)+40>>2]|0)){Aa=eF(V,L)|0;i[M>>0]=Aa}do if(i[M>>0]|0){Aa=mx(k[X>>2]|0,k[L>>2]|0,0)|0;k[L>>2]=Aa;k[D>>2]=k[L>>2];if(i[(k[X>>2]|0)+69>>0]|0)break;i[(k[(k[L>>2]|0)+4>>2]|0)+12>>0]=(l[M>>0]|0)!=1?1:0;i[k[k[(k[L>>2]|0)+4>>2]>>2]>>0]=-104}while(0);bF(k[aa>>2]|0,V);Aa=PB(k[aa>>2]|0,k[P>>2]|0,k[B>>2]|0,k[L>>2]|0,0,l[M>>0]|0,0)|0;k[Ba>>2]=Aa;if(!(k[Ba>>2]|0)){Uk(k[X>>2]|0,k[D>>2]|0);break}$E(k[aa>>2]|0,V);if((RE(k[Ba>>2]|0)|0)>0){Aa=k[N>>2]|0;wy(Aa,UE(k[Ba>>2]|0)|0)|0}QB(k[Ba>>2]|0);aF(k[aa>>2]|0,V)}k[U>>2]=0;xz(k[aa>>2]|0,k[R>>2]|0,k[ea>>2]|0,16);VE(k[aa>>2]|0,k[ja>>2]|0,k[k[ja>>2]>>2]|0,-1,0,0,k[ua>>2]|0,k[ea>>2]|0,k[ea>>2]|0);Uk(k[X>>2]|0,k[D>>2]|0)}yy(k[N>>2]|0,k[ea>>2]|0)}if((l[T+1>>0]|0)==3)YE(k[aa>>2]|0,35094);if(k[U>>2]|0){YE(k[aa>>2]|0,(k[U+4>>2]|0)>0?35112:35135);fF(k[aa>>2]|0,k[ja>>2]|0,U,k[k[O>>2]>>2]|0,k[ua>>2]|0)}yy(k[N>>2]|0,k[W>>2]|0);k[S>>2]=(k[(k[aa>>2]|0)+36>>2]|0)>0&1}}while(0);k[(k[aa>>2]|0)+420>>2]=k[Y>>2];if((k[S>>2]|0)==0?(l[k[ua>>2]>>0]|0)==9:0)gF(k[aa>>2]|0,k[P>>2]|0,k[O>>2]|0);fe(k[X>>2]|0,k[V+28>>2]|0);fe(k[X>>2]|0,k[V+40>>2]|0);k[Z>>2]=k[S>>2];Ba=k[Z>>2]|0;u=Ca;return Ba|0}k[Z>>2]=1;Ba=k[Z>>2]|0;u=Ca;return Ba|0}function Lt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j;c=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+48>>2]|0)){u=j;return}k[e>>2]=0;k[h>>2]=0;k[f>>2]=k[d>>2];while(1){if(!(k[f>>2]|0))break;k[(k[f>>2]|0)+52>>2]=k[e>>2];b=(k[f>>2]|0)+8|0;k[b>>2]=k[b>>2]|256;k[e>>2]=k[f>>2];k[f>>2]=k[(k[f>>2]|0)+48>>2];k[h>>2]=(k[h>>2]|0)+1}if(k[(k[d>>2]|0)+8>>2]&1024|0){u=j;return}f=k[(k[k[c>>2]>>2]|0)+96+16>>2]|0;k[g>>2]=f;if((f|0)<=0){u=j;return}if((k[h>>2]|0)<=(k[g>>2]|0)){u=j;return}Cl(k[c>>2]|0,35020,i);u=j;return}function Mt(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;v=x;s=x+44|0;t=x+40|0;i=x+36|0;j=x+32|0;l=x+28|0;m=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;q=x+8|0;r=x+4|0;k[t>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[p>>2]=h;k[r>>2]=k[k[t>>2]>>2];if(!(k[i>>2]|0)?(k[o>>2]|0)!=0|(k[p>>2]|0)!=0:0){t=k[t>>2]|0;k[v>>2]=k[o>>2]|0?34975:34978;Cl(t,34984,v)}else w=4;if(((w|0)==4?(w=Vt(k[r>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0)|0,k[i>>2]=w,k[i>>2]|0):0)?k[k[i>>2]>>2]|0:0){k[q>>2]=(k[i>>2]|0)+8+(((k[k[i>>2]>>2]|0)-1|0)*72|0);if(k[(k[m>>2]|0)+4>>2]|0){w=Ou(k[r>>2]|0,k[m>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=w}k[(k[q>>2]|0)+20>>2]=k[n>>2];k[(k[q>>2]|0)+48>>2]=k[o>>2];k[(k[q>>2]|0)+52>>2]=k[p>>2];k[s>>2]=k[i>>2];w=k[s>>2]|0;u=x;return w|0}Yk(k[r>>2]|0,k[o>>2]|0);bl(k[r>>2]|0,k[p>>2]|0);Tk(k[r>>2]|0,k[n>>2]|0);k[s>>2]=0;w=k[s>>2]|0;u=x;return w|0}function Nt(a,b,c,d,e,f,g,h,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+128|0;n=B+112|0;o=B+108|0;p=B+104|0;q=B+100|0;r=B+96|0;s=B+92|0;t=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;y=B+72|0;z=B+4|0;A=B;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[r>>2]=e;k[s>>2]=f;k[t>>2]=g;k[v>>2]=h;k[w>>2]=l;k[x>>2]=m;k[A>>2]=k[k[n>>2]>>2];m=Od(k[A>>2]|0,68,0)|0;k[y>>2]=m;k[y>>2]=(k[y>>2]|0)==0?z:m;if(!(k[o>>2]|0)){m=k[n>>2]|0;m=Ot(m,0,Rt(k[A>>2]|0,160,0)|0)|0;k[o>>2]=m}k[k[y>>2]>>2]=k[o>>2];i[(k[y>>2]|0)+4>>0]=119;k[(k[y>>2]|0)+8>>2]=k[v>>2];k[(k[y>>2]|0)+12>>2]=0;k[(k[y>>2]|0)+16>>2]=0;k[(k[y>>2]|0)+20>>2]=-1;k[(k[y>>2]|0)+20+4>>2]=-1;j[(k[y>>2]|0)+6>>1]=0;if(!(k[p>>2]|0)){m=im(k[A>>2]|0,80,0)|0;k[p>>2]=m}k[(k[y>>2]|0)+28>>2]=k[p>>2];k[(k[y>>2]|0)+32>>2]=k[q>>2];k[(k[y>>2]|0)+36>>2]=k[r>>2];k[(k[y>>2]|0)+40>>2]=k[s>>2];k[(k[y>>2]|0)+44>>2]=k[t>>2];k[(k[y>>2]|0)+48>>2]=0;k[(k[y>>2]|0)+52>>2]=0;k[(k[y>>2]|0)+56>>2]=k[w>>2];k[(k[y>>2]|0)+60>>2]=k[x>>2];k[(k[y>>2]|0)+64>>2]=0;if(!(i[(k[A>>2]|0)+69>>0]|0)){m=k[y>>2]|0;u=B;return m|0}_k(k[A>>2]|0,k[y>>2]|0,(k[y>>2]|0)!=(z|0)&1);k[y>>2]=0;m=k[y>>2]|0;u=B;return m|0}function Ot(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+32|0;e=j+24|0;l=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;d=j+4|0;i=j;k[l>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[k[l>>2]>>2];if(!(k[f>>2]|0)){l=Od(k[h>>2]|0,8,0)|0;k[f>>2]=l;if((k[f>>2]|0)!=0?(k[k[f>>2]>>2]=0,l=Od(k[h>>2]|0,20,0)|0,k[(k[f>>2]|0)+4>>2]=l,(k[(k[f>>2]|0)+4>>2]|0)!=0):0)a=7;else a=8}else if(!(k[k[f>>2]>>2]&(k[k[f>>2]>>2]|0)-1)){l=ne(k[h>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(k[k[f>>2]>>2]<<1)*20|0,0)|0;k[d>>2]=l;if(!(k[d>>2]|0))a=8;else{k[(k[f>>2]|0)+4>>2]=k[d>>2];a=7}}else a=7;if((a|0)==7){h=k[(k[f>>2]|0)+4>>2]|0;d=k[f>>2]|0;l=k[d>>2]|0;k[d>>2]=l+1;k[i>>2]=h+(l*20|0);l=k[i>>2]|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[k[i>>2]>>2]=k[g>>2];k[e>>2]=k[f>>2];l=k[e>>2]|0;u=j;return l|0}else if((a|0)==8){Yk(k[h>>2]|0,k[g>>2]|0);Uk(k[h>>2]|0,k[f>>2]|0);k[e>>2]=0;l=k[e>>2]|0;u=j;return l|0}return 0}function Pt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){u=j;return}k[i>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(((k[k[f>>2]>>2]|0)-1|0)*20|0);g=ck(k[k[e>>2]>>2]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0,0)|0;k[(k[i>>2]|0)+4>>2]=g;if(!(k[h>>2]|0)){u=j;return}dk(k[(k[i>>2]|0)+4>>2]|0);u=j;return}function Qt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[k[i>>2]>>2];if(!(k[d>>2]|0)){u=h;return}k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+(((k[k[d>>2]>>2]|0)-1|0)*20|0);fe(k[f>>2]|0,k[(k[g>>2]|0)+8>>2]|0);i=(k[(k[e>>2]|0)+8>>2]|0)-(k[(k[e>>2]|0)+4>>2]|0)|0;i=ck(k[f>>2]|0,k[(k[e>>2]|0)+4>>2]|0,i,((i|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+8>>2]=i;u=h;return}function Rt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;e=h+16|0;f=h+12|0;d=h+8|0;g=h;k[e>>2]=a;k[f>>2]=b;k[d>>2]=c;k[g>>2]=k[d>>2];if(k[d>>2]|0)a=wd(k[d>>2]|0)|0;else a=0;k[g+4>>2]=a;g=eu(k[e>>2]|0,k[f>>2]|0,g,0)|0;u=h;return g|0}function St(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){u=d;return}k[c>>2]=(k[k[b>>2]>>2]|0)-1;while(1){a=(k[b>>2]|0)+8|0;if((k[c>>2]|0)<=0)break;i[(k[b>>2]|0)+8+((k[c>>2]|0)*72|0)+36>>0]=i[a+(((k[c>>2]|0)-1|0)*72|0)+36>>0]|0;k[c>>2]=(k[c>>2]|0)+-1}i[a+36>>0]=0;u=d;return}function Tt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){u=h;return}if((k[k[e>>2]>>2]|0)<=0){u=h;return}k[g>>2]=(k[e>>2]|0)+8+(((k[k[e>>2]>>2]|0)-1|0)*72|0);if((k[(k[f>>2]|0)+4>>2]|0)==1?(k[k[f>>2]>>2]|0)==0:0){g=(k[g>>2]|0)+36+1|0;i[g>>0]=i[g>>0]&-2|1;u=h;return}f=Ou(k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[(k[g>>2]|0)+64>>2]=f;f=(k[g>>2]|0)+36+1|0;i[f>>0]=i[f>>0]&-3|((k[(k[g>>2]|0)+64>>2]|0)!=0&1)<<1&255;u=h;return}function Ut(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){k[g>>2]=(k[e>>2]|0)+8+(((k[k[e>>2]>>2]|0)-1|0)*72|0);k[(k[g>>2]|0)+64>>2]=k[f>>2];g=(k[g>>2]|0)+36+1|0;i[g>>0]=i[g>>0]&-5|4;u=h;return}else{Uk(k[k[d>>2]>>2]|0,k[f>>2]|0);u=h;return}}function Vt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;e=n;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;do if(!(k[h>>2]|0)){d=Od(k[g>>2]|0,80,0)|0;k[h>>2]=d;if(k[h>>2]|0){k[(k[h>>2]|0)+4>>2]=1;k[k[h>>2]>>2]=0;break}k[f>>2]=0;m=k[f>>2]|0;u=n;return m|0}while(0);d=GE(k[g>>2]|0,k[h>>2]|0,1,k[k[h>>2]>>2]|0)|0;k[h>>2]=d;if(i[(k[g>>2]|0)+69>>0]|0){$k(k[g>>2]|0,k[h>>2]|0);k[f>>2]=0;m=k[f>>2]|0;u=n;return m|0}k[m>>2]=(k[h>>2]|0)+8+(((k[k[h>>2]>>2]|0)-1|0)*72|0);if(k[l>>2]|0?(k[k[l>>2]>>2]|0)==0:0)k[l>>2]=0;if(k[l>>2]|0){k[e>>2]=k[l>>2];k[l>>2]=k[j>>2];k[j>>2]=k[e>>2]}j=Ou(k[g>>2]|0,k[j>>2]|0)|0;k[(k[m>>2]|0)+8>>2]=j;l=Ou(k[g>>2]|0,k[l>>2]|0)|0;k[(k[m>>2]|0)+4>>2]=l;k[f>>2]=k[h>>2];m=k[f>>2]|0;u=n;return m|0}function Wt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+80|0;r=t+16|0;q=t;i=t+64|0;j=t+60|0;m=t+56|0;n=t+52|0;o=t+48|0;p=t+36|0;e=t+32|0;f=t+28|0;g=t+24|0;h=t+20|0;k[i>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=0;k[p>>2]=k[j>>2];k[p+4>>2]=k[m>>2];k[p+8>>2]=k[n>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=3)break;if(!(k[p+(k[f>>2]<<2)>>2]|0))break;k[e>>2]=k[p+(k[f>>2]<<2)>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=7)break;if((k[(k[e>>2]|0)+4>>2]|0)==(l[34821+((k[g>>2]|0)*3|0)+1>>0]|0|0)?(vd(k[k[e>>2]>>2]|0,34842+(l[34821+((k[g>>2]|0)*3|0)>>0]|0)|0,k[(k[e>>2]|0)+4>>2]|0)|0)==0:0){s=8;break}k[g>>2]=(k[g>>2]|0)+1}if((s|0)==8){s=0;k[o>>2]=k[o>>2]|(l[34821+((k[g>>2]|0)*3|0)+2>>0]|0)}if((k[g>>2]|0)>=7){s=11;break}k[f>>2]=(k[f>>2]|0)+1}if((s|0)==11)k[o>>2]=k[o>>2]|64;if((k[o>>2]&33|0)!=33?(k[o>>2]&64|0)==0:0){if(!(k[o>>2]&32)){s=k[o>>2]|0;u=t;return s|0}if((k[o>>2]&24|0)==8){s=k[o>>2]|0;u=t;return s|0}Cl(k[i>>2]|0,34920,r);k[o>>2]=1;s=k[o>>2]|0;u=t;return s|0}k[h>>2]=23021;if(!(k[n>>2]|0))k[h>>2]=(k[h>>2]|0)+1;s=k[i>>2]|0;m=k[m>>2]|0;p=k[h>>2]|0;r=k[n>>2]|0;k[q>>2]=k[j>>2];k[q+4>>2]=m;k[q+8>>2]=p;k[q+12>>2]=r;Cl(s,34876,q);k[o>>2]=1;s=k[o>>2]|0;u=t;return s|0}function Xt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)<0){u=e;return}i[(k[(k[c>>2]|0)+4>>2]|0)+(((k[k[c>>2]>>2]|0)-1|0)*20|0)+12>>0]=k[d>>2];u=e;return}function Yt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+4|0;e=g;f=g+8|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;if(!(k[e>>2]|0)){u=g;return}k[(k[e>>2]|0)+4>>2]=k[(k[d>>2]|0)+472>>2];k[(k[d>>2]|0)+472>>2]=k[e>>2];if(!(i[f>>0]|0)){u=g;return}k[(k[d>>2]|0)+476>>2]=k[e>>2];u=g;return}function Zt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=u;u=u+192|0;P=X+176|0;S=X+172|0;T=X+168|0;U=X+164|0;V=X+160|0;W=X+156|0;F=X+152|0;G=X+148|0;d=X+144|0;H=X+140|0;I=X+136|0;e=X+132|0;J=X+128|0;K=X+120|0;f=X+88|0;g=X+84|0;L=X+80|0;h=X+76|0;t=X+72|0;v=X+64|0;M=X+60|0;N=X+56|0;n=X+52|0;o=X+184|0;w=X+48|0;x=X+182|0;O=X+44|0;y=X+40|0;z=X+36|0;Q=X+32|0;p=X+28|0;A=X+24|0;R=X+20|0;B=X+16|0;q=X+180|0;r=X+12|0;C=X+8|0;D=X+4|0;E=X;k[P>>2]=a;k[S>>2]=b;k[T>>2]=c;k[H>>2]=0;k[I>>2]=0;k[L>>2]=-1;k[M>>2]=0;k[n>>2]=0;j[o>>1]=1;k[O>>2]=0;k[y>>2]=0;k[z>>2]=0;k[Q>>2]=0;k[p>>2]=0;k[K>>2]=0;k[K+4>>2]=0;k[J>>2]=k[k[P>>2]>>2];a:do if(((k[(k[P>>2]|0)+36>>2]|0)==0?(l[(k[J>>2]|0)+69>>0]|0)==0:0)?(c=lA(k[P>>2]|0,k[S>>2]|0)|0,k[V>>2]=c,k[V>>2]|0):0){c=qB(k[P>>2]|0,k[V>>2]|0,109,0,0)|0;k[B>>2]=c;k[R>>2]=(k[(k[V>>2]|0)+12>>2]|0)!=0&1;if(k[B>>2]|0)a=1;else a=(JD(k[P>>2]|0,k[V>>2]|0,0,0)|0)!=0;k[A>>2]=a&1;if(((ow(k[P>>2]|0,k[V>>2]|0)|0)==0?(rB(k[P>>2]|0,k[V>>2]|0,k[B>>2]|0?1:0)|0)==0:0)?(c=Ru(k[J>>2]|0,k[(k[V>>2]|0)+64>>2]|0)|0,k[g>>2]=c,c=Su(k[P>>2]|0,9,k[k[V>>2]>>2]|0,0,k[(k[(k[J>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2]|0)|0,k[h>>2]=c,(k[h>>2]|0)!=1):0){b=(k[P>>2]|0)+40|0;c=k[b>>2]|0;k[b>>2]=c+1;k[(k[S>>2]|0)+8+44>>2]=c;k[d>>2]=c;k[e>>2]=0;k[G>>2]=k[(k[V>>2]|0)+8>>2];while(1){if(!(k[G>>2]|0))break;c=(k[P>>2]|0)+40|0;k[c>>2]=(k[c>>2]|0)+1;k[G>>2]=k[(k[G>>2]|0)+20>>2];k[e>>2]=(k[e>>2]|0)+1}if(k[R>>2]|0)BE(k[P>>2]|0,K,k[k[V>>2]>>2]|0);c=Vu(k[P>>2]|0)|0;k[U>>2]=c;if(k[U>>2]|0){if(!(l[(k[P>>2]|0)+18>>0]|0))sB(k[U>>2]|0);mv(k[P>>2]|0,1,k[g>>2]|0);if(k[R>>2]|0){CE(k[P>>2]|0,k[V>>2]|0,k[T>>2]|0,k[d>>2]|0);c=k[d>>2]|0;k[I>>2]=c;k[H>>2]=c};k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+28>>2]=0;k[f>>2]=k[P>>2];k[f+4>>2]=k[S>>2];if(!(Yw(f,k[T>>2]|0)|0)){if(k[(k[J>>2]|0)+24>>2]&128|0){b=(k[P>>2]|0)+44|0;c=(k[b>>2]|0)+1|0;k[b>>2]=c;k[L>>2]=c;_u(k[U>>2]|0,76,0,k[L>>2]|0)|0}b:do if(!((k[h>>2]|0)==0&(k[T>>2]|0)==0^1|(k[A>>2]|0)!=0)?!(l[(k[V>>2]|0)+42>>0]&16|0):0){qy(k[P>>2]|0,k[g>>2]|0,k[(k[V>>2]|0)+28>>2]|0,1,k[k[V>>2]>>2]|0);if(!(l[(k[V>>2]|0)+42>>0]&32))cv(k[U>>2]|0,131,k[(k[V>>2]|0)+28>>2]|0,k[g>>2]|0,k[L>>2]|0,k[k[V>>2]>>2]|0,-2)|0;k[G>>2]=k[(k[V>>2]|0)+8>>2];while(1){if(!(k[G>>2]|0))break b;_u(k[U>>2]|0,131,k[(k[G>>2]|0)+44>>2]|0,k[g>>2]|0)|0;k[G>>2]=k[(k[G>>2]|0)+20>>2]}}else s=29;while(0);c:do if((s|0)==29){j[q>>1]=1044;if(m[f+28>>1]&64|0)k[A>>2]=1;j[q>>1]=m[q>>1]|(k[A>>2]|0?0:8);if(!(l[(k[V>>2]|0)+42>>0]&32)){k[N>>2]=0;j[o>>1]=1;h=(k[P>>2]|0)+44|0;s=(k[h>>2]|0)+1|0;k[h>>2]=s;k[y>>2]=s;_u(k[U>>2]|0,79,0,k[y>>2]|0)|0}else{h=Ev(k[V>>2]|0)|0;k[N>>2]=h;j[o>>1]=j[(k[N>>2]|0)+50>>1]|0;k[n>>2]=(k[(k[P>>2]|0)+44>>2]|0)+1;h=(k[P>>2]|0)+44|0;k[h>>2]=(k[h>>2]|0)+(j[o>>1]|0);h=(k[P>>2]|0)+40|0;s=k[h>>2]|0;k[h>>2]=s+1;k[O>>2]=s;s=_u(k[U>>2]|0,107,k[O>>2]|0,j[o>>1]|0)|0;k[p>>2]=s;sy(k[P>>2]|0,k[N>>2]|0)}s=PB(k[P>>2]|0,k[S>>2]|0,k[T>>2]|0,0,0,j[q>>1]|0,(k[d>>2]|0)+1|0)|0;k[F>>2]=s;if(!(k[F>>2]|0))break a;s=EE(k[F>>2]|0,v)|0;k[t>>2]=s;if(k[(k[J>>2]|0)+24>>2]&128|0)_u(k[U>>2]|0,91,k[L>>2]|0,1)|0;do if(k[N>>2]|0){k[W>>2]=0;while(1){if((k[W>>2]|0)>=(j[o>>1]|0))break;bz(k[U>>2]|0,k[V>>2]|0,k[d>>2]|0,j[(k[(k[N>>2]|0)+4>>2]|0)+(k[W>>2]<<1)>>1]|0,(k[n>>2]|0)+(k[W>>2]|0)|0);k[W>>2]=(k[W>>2]|0)+1}k[w>>2]=k[n>>2]}else{k[w>>2]=(k[(k[P>>2]|0)+44>>2]|0)+1;s=gz(k[P>>2]|0,k[V>>2]|0,-1,k[d>>2]|0,k[w>>2]|0,0)|0;k[w>>2]=s;if((k[w>>2]|0)<=(k[(k[P>>2]|0)+44>>2]|0))break;k[(k[P>>2]|0)+44>>2]=k[w>>2]}while(0);do if(!(k[t>>2]|0))if(k[N>>2]|0){p=(k[P>>2]|0)+44|0;h=(k[p>>2]|0)+1|0;k[p>>2]=h;k[w>>2]=h;j[x>>1]=0;h=k[U>>2]|0;n=k[n>>2]|0;p=j[o>>1]|0;q=k[w>>2]|0;s=MA(k[k[P>>2]>>2]|0,k[N>>2]|0)|0;cv(h,99,n,p,q,s,j[o>>1]|0)|0;_u(k[U>>2]|0,126,k[O>>2]|0,k[w>>2]|0)|0;break}else{j[x>>1]=1;_u(k[U>>2]|0,142,k[y>>2]|0,k[w>>2]|0)|0;break}else{j[x>>1]=j[o>>1]|0;s=(k[e>>2]|0)+2|0;s=Od(k[J>>2]|0,s,((s|0)<0)<<31>>31)|0;k[M>>2]=s;if(!(k[M>>2]|0)){QB(k[F>>2]|0);break a}w0(k[M>>2]|0,1,(k[e>>2]|0)+1|0)|0;i[(k[M>>2]|0)+((k[e>>2]|0)+1)>>0]=0;if((k[v>>2]|0)>=0)i[(k[M>>2]|0)+((k[v>>2]|0)-(k[d>>2]|0))>>0]=0;if((k[v+4>>2]|0)>=0)i[(k[M>>2]|0)+((k[v+4>>2]|0)-(k[d>>2]|0))>>0]=0;if(!(k[p>>2]|0))break;$y(k[U>>2]|0,k[p>>2]|0)|0}while(0);if(k[t>>2]|0){s=uy(k[U>>2]|0)|0;k[z>>2]=s}else QB(k[F>>2]|0);do if(!(k[R>>2]|0)){k[r>>2]=0;if((k[t>>2]|0)==2){s=Xu(k[U>>2]|0,20)|0;k[r>>2]=s}PA(k[P>>2]|0,k[V>>2]|0,105,8,k[d>>2]|0,k[M>>2]|0,H,I)|0;if((k[t>>2]|0)!=2)break;xy(k[U>>2]|0,k[r>>2]|0)}while(0);do if(!(k[t>>2]|0)){a=k[U>>2]|0;if(k[N>>2]|0){y=oy(a,57,k[O>>2]|0)|0;k[Q>>2]=y;_u(k[U>>2]|0,121,k[O>>2]|0,k[w>>2]|0)|0;break}else{y=$u(a,62,k[y>>2]|0,0,k[w>>2]|0)|0;k[Q>>2]=y;break}}else{if(l[(k[V>>2]|0)+42>>0]&16|0)break;if(!(l[(k[M>>2]|0)+((k[H>>2]|0)-(k[d>>2]|0))>>0]|0))break;Jy(k[U>>2]|0,30,k[H>>2]|0,k[z>>2]|0,k[w>>2]|0,j[x>>1]|0)|0}while(0);do if(l[(k[V>>2]|0)+42>>0]&16|0){E=pw(k[J>>2]|0,k[V>>2]|0)|0;k[C>>2]=E;CB(k[P>>2]|0,k[V>>2]|0);cv(k[U>>2]|0,12,0,1,k[w>>2]|0,k[C>>2]|0,-10)|0;ty(k[U>>2]|0,2);qw(k[P>>2]|0);if((k[t>>2]|0)!=1)break;if(k[(k[P>>2]|0)+124>>2]|0)break;i[(k[P>>2]|0)+20>>0]=0}else{k[D>>2]=(l[(k[P>>2]|0)+18>>0]|0)==0&1;k[E>>2]=-1;do if(!(k[A>>2]|0)){if((k[v+4>>2]|0)==(k[H>>2]|0))break;k[E>>2]=k[v+4>>2]}while(0);LD(k[P>>2]|0,k[V>>2]|0,k[B>>2]|0,k[H>>2]|0,k[I>>2]|0,k[w>>2]|0,j[x>>1]|0,k[D>>2]&255,10,k[t>>2]&255,k[E>>2]|0)}while(0);do if(!(k[t>>2]|0)){a=k[U>>2]|0;if(k[N>>2]|0){_u(a,7,k[O>>2]|0,(k[Q>>2]|0)+1|0)|0;xy(k[U>>2]|0,k[Q>>2]|0);break}else{wy(a,k[Q>>2]|0)|0;xy(k[U>>2]|0,k[Q>>2]|0);break}}else{yy(k[U>>2]|0,k[z>>2]|0);QB(k[F>>2]|0)}while(0);if(k[R>>2]|0)break;if(l[(k[V>>2]|0)+42>>0]&16|0)break;if(!(k[N>>2]|0))oy(k[U>>2]|0,111,k[H>>2]|0)|0;k[W>>2]=0;k[G>>2]=k[(k[V>>2]|0)+8>>2];while(1){if(!(k[G>>2]|0))break c;oy(k[U>>2]|0,111,(k[I>>2]|0)+(k[W>>2]|0)|0)|0;k[W>>2]=(k[W>>2]|0)+1;k[G>>2]=k[(k[G>>2]|0)+20>>2]}}while(0);if((l[(k[P>>2]|0)+18>>0]|0)==0?(k[(k[P>>2]|0)+128>>2]|0)==0:0)GB(k[P>>2]|0);if((k[(k[J>>2]|0)+24>>2]&128|0?(i[(k[P>>2]|0)+18>>0]|0)==0:0)?(k[(k[P>>2]|0)+128>>2]|0)==0:0){_u(k[U>>2]|0,87,k[L>>2]|0,1)|0;$s(k[U>>2]|0,1);at(k[U>>2]|0,0,0,34808,0)|0}}}}}while(0);FE(K);$k(k[J>>2]|0,k[S>>2]|0);Yk(k[J>>2]|0,k[T>>2]|0);fe(k[J>>2]|0,k[M>>2]|0);u=X;return}function _t(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;h=i;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[k[d>>2]>>2]|0)+96+8>>2];if(!(k[e>>2]|0)){u=i;return}if((k[k[e>>2]>>2]|0)<=(k[g>>2]|0)){u=i;return}g=k[d>>2]|0;k[h>>2]=k[f>>2];Cl(g,34785,h);u=i;return} +function WF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Mb=0,Nb=0,Ob=0,Qb=0,Tb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Zd=0,_d=0,$d=0,be=0,ce=0,de=0,ee=0,ge=0,he=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0.0,Af=0;xf=u;u=u+1872|0;Ve=xf+536|0;Ue=xf+528|0;Te=xf+520|0;hf=xf+504|0;gf=xf+496|0;ef=xf+488|0;df=xf+480|0;cf=xf+472|0;bf=xf+464|0;af=xf+456|0;$e=xf+440|0;jf=xf+432|0;_e=xf+424|0;Ze=xf+416|0;Ye=xf+408|0;Xe=xf+400|0;We=xf+392|0;pf=xf+376|0;of=xf+368|0;nf=xf+360|0;mf=xf+352|0;sf=xf+1656|0;qf=xf+1652|0;rf=xf+1648|0;uf=xf+1644|0;vf=xf+1640|0;ff=xf+1862|0;ne=xf+1861|0;ye=xf+1636|0;wf=xf+1632|0;e=xf+1628|0;w=xf+1624|0;G=xf+1620|0;U=xf+1616|0;fa=xf+1612|0;qa=xf+1608|0;Ba=xf+1604|0;tf=xf+344|0;b=xf+1600|0;eb=xf+1596|0;pb=xf+1592|0;Ab=xf+1588|0;lf=xf+1584|0;bc=xf+1580|0;mc=xf+1670|0;xc=xf+1576|0;Ic=xf+1572|0;Tc=xf+1568|0;cd=xf+1564|0;nd=xf+1560|0;ud=xf+1556|0;vd=xf+1552|0;xd=xf+336|0;yd=xf+1860|0;zd=xf+1668|0;Ad=xf+1666|0;Bd=xf+1664|0;Cd=xf+328|0;Dd=xf+320|0;Ed=xf+312|0;Fd=xf+304|0;Gd=xf+1548|0;Id=xf+1544|0;Jd=xf+1540|0;Kd=xf+1536|0;Ld=xf+296|0;Md=xf+288|0;Nd=xf+280|0;Pd=xf+1859|0;Qd=xf+1532|0;Rd=xf+1528|0;Sd=xf+1858|0;Td=xf+1662|0;Ud=xf+1660|0;Vd=xf+1524|0;Wd=xf+1520|0;Xd=xf+1516|0;Zd=xf+1512|0;_d=xf+1508|0;$d=xf+1504|0;be=xf+1500|0;ce=xf+1496|0;de=xf+1492|0;ee=xf+1488|0;ge=xf+1484|0;he=xf+1480|0;je=xf+1476|0;ke=xf+1472|0;le=xf+1468|0;me=xf+1464|0;oe=xf+1460|0;pe=xf+1456|0;qe=xf+240|0;re=xf+1452|0;se=xf+1448|0;te=xf+1444|0;ue=xf+1440|0;ve=xf+232|0;we=xf+1436|0;xe=xf+1432|0;ze=xf+1428|0;Ae=xf+1424|0;Be=xf+1857|0;Ce=xf+1420|0;De=xf+1416|0;Ee=xf+224|0;Fe=xf+1412|0;Ge=xf+216|0;He=xf+208|0;Ie=xf+1408|0;Je=xf+1404|0;Ke=xf+1400|0;Le=xf+1396|0;Me=xf+1392|0;Ne=xf+1388|0;Oe=xf+1384|0;Pe=xf+1380|0;Qe=xf+1376|0;Re=xf+1372|0;Se=xf+200|0;f=xf+1368|0;g=xf+1364|0;h=xf+1360|0;n=xf+1356|0;o=xf+1352|0;q=xf+1348|0;r=xf+1344|0;s=xf+1340|0;t=xf+1336|0;v=xf+1332|0;x=xf+1328|0;kf=xf+1324|0;y=xf+1320|0;z=xf+1316|0;A=xf+1312|0;B=xf+1308|0;C=xf+1304|0;D=xf+1300|0;E=xf+1296|0;F=xf+1292|0;H=xf+1288|0;I=xf+1284|0;J=xf+1280|0;K=xf+1276|0;L=xf+1272|0;P=xf+1268|0;Q=xf+1264|0;R=xf+1260|0;S=xf+1256|0;T=xf+1252|0;V=xf+1248|0;W=xf+1244|0;X=xf+1240|0;Y=xf+1236|0;Z=xf+1232|0;$=xf+1228|0;ba=xf+1224|0;ca=xf+1208|0;da=xf+1200|0;ea=xf+192|0;ga=xf+1196|0;ha=xf+1192|0;ia=xf+1188|0;ja=xf+1184|0;ka=xf+1180|0;la=xf+1176|0;ma=xf+1172|0;na=xf+1168|0;oa=xf+1152|0;pa=xf+1674|0;ra=xf+1148|0;sa=xf+1144|0;ta=xf+1140|0;ua=xf+184|0;va=xf+176|0;wa=xf+1136|0;xa=xf+1132|0;ya=xf+1128|0;za=xf+1124|0;Aa=xf+1120|0;Ca=xf+1116|0;Da=xf+1112|0;Ea=xf+1108|0;Fa=xf+1104|0;Ga=xf+1100|0;Ha=xf+1096|0;Ia=xf+1092|0;Ja=xf+144|0;Ka=xf+1088|0;La=xf+1084|0;Ma=xf+1080|0;Na=xf+1076|0;Oa=xf+1072|0;Pa=xf+1068|0;Qa=xf+1064|0;Ra=xf+1060|0;Sa=xf+1056|0;Ta=xf+1052|0;Ua=xf+1048|0;Va=xf+1044|0;Wa=xf+136|0;Xa=xf+1040|0;Ya=xf+1036|0;Za=xf+1032|0;_a=xf+1028|0;$a=xf+1024|0;ab=xf+1020|0;bb=xf+1016|0;cb=xf+1012|0;db=xf+1008|0;fb=xf+1004|0;gb=xf+1e3|0;hb=xf+996|0;ib=xf+104|0;jb=xf+992|0;kb=xf+988|0;lb=xf+984|0;mb=xf+968|0;nb=xf+964|0;ob=xf+960|0;qb=xf+96|0;rb=xf+956|0;sb=xf+952|0;tb=xf+936|0;ub=xf+932|0;vb=xf+928|0;wb=xf+924|0;xb=xf+920|0;yb=xf+916|0;zb=xf+912|0;Bb=xf+908|0;Cb=xf+904|0;Db=xf+900|0;Eb=xf+896|0;Fb=xf+880|0;Gb=xf+872|0;Hb=xf+868|0;Ib=xf+864|0;Jb=xf+860|0;Kb=xf+856|0;Mb=xf+88|0;Nb=xf+852|0;Ob=xf+848|0;Qb=xf+844|0;Tb=xf+840|0;Yb=xf+836|0;Zb=xf+832|0;_b=xf+828|0;$b=xf+824|0;ac=xf+820|0;cc=xf+816|0;dc=xf+812|0;ec=xf+808|0;fc=xf+804|0;gc=xf+800|0;hc=xf+796|0;ic=xf+792|0;jc=xf+788|0;kc=xf+784|0;lc=xf+48|0;nc=xf+780|0;oc=xf+776|0;pc=xf+764|0;qc=xf+760|0;rc=xf+756|0;sc=xf+752|0;tc=xf+748|0;uc=xf+744|0;vc=xf+740|0;wc=xf+736|0;yc=xf+1673|0;zc=xf+732|0;Ac=xf+728|0;Bc=xf+724|0;Cc=xf+8|0;Dc=xf+720|0;Ec=xf+716|0;Fc=xf+712|0;Gc=xf+708|0;Hc=xf+704|0;Jc=xf+700|0;Kc=xf+696|0;Lc=xf+692|0;Mc=xf+688|0;Nc=xf+684|0;Oc=xf+680|0;Pc=xf+676|0;Qc=xf+672|0;Rc=xf+668|0;Sc=xf+664|0;Uc=xf+660|0;Vc=xf+656|0;Wc=xf+652|0;Xc=xf+648|0;Yc=xf+616|0;Zc=xf+612|0;_c=xf+608|0;$c=xf+604|0;ad=xf+600|0;bd=xf+596|0;dd=xf+592|0;ed=xf+588|0;fd=xf+584|0;gd=xf+580|0;hd=xf+576|0;id=xf+572|0;jd=xf;kd=xf+568|0;ld=xf+564|0;md=xf+1672|0;od=xf+560|0;pd=xf+556|0;qd=xf+552|0;rd=xf+548|0;sd=xf+544|0;td=xf+540|0;k[sf>>2]=a;k[qf>>2]=k[(k[sf>>2]|0)+88>>2];k[rf>>2]=k[qf>>2];k[uf>>2]=0;k[vf>>2]=k[k[sf>>2]>>2];i[ff>>0]=0;i[ne>>0]=i[(k[vf>>2]|0)+66>>0]|0;k[ye>>2]=0;k[wf>>2]=0;k[e>>2]=0;k[w>>2]=k[(k[sf>>2]|0)+92>>2];k[G>>2]=0;k[U>>2]=0;k[fa>>2]=0;k[qa>>2]=0;k[Ba>>2]=0;yf=(k[vf>>2]|0)+32|0;a=k[yf+4>>2]|0;c=tf;k[c>>2]=k[yf>>2];k[c+4>>2]=a;as(k[sf>>2]|0);a:do if((k[(k[sf>>2]|0)+40>>2]|0)==7)d=887;else{k[(k[sf>>2]|0)+40>>2]=0;yf=(k[sf>>2]|0)+56|0;k[yf>>2]=0;k[yf+4>>2]=0;k[(k[sf>>2]|0)+104>>2]=0;k[(k[vf>>2]|0)+380+8>>2]=0;b:do if(!(k[(k[vf>>2]|0)+248>>2]|0)){if(k[(k[vf>>2]|0)+304>>2]|0){k[b>>2]=k[(k[sf>>2]|0)+156+16>>2];k[e>>2]=(k[(k[vf>>2]|0)+312>>2]|0)-(((k[b>>2]|0)>>>0)%((k[(k[vf>>2]|0)+312>>2]|0)>>>0)|0)}k[rf>>2]=(k[qf>>2]|0)+((k[(k[sf>>2]|0)+36>>2]|0)*20|0);c:while(1){k[wf>>2]=(k[wf>>2]|0)+1;d:do switch(l[k[rf>>2]>>0]|0){case 87:{d=64;break c}case 1:{d=395;break c}case 13:{d=7;break}case 14:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);j[(k[G>>2]|0)+8>>1]=4;yf=((k[rf>>2]|0)-(k[qf>>2]|0)|0)/20|0;d=k[G>>2]|0;k[d>>2]=yf;k[d+4>>2]=((yf|0)<0)<<31>>31;d=14;break}case 72:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[rf>>2]=(k[qf>>2]|0)+((k[k[G>>2]>>2]|0)*20|0);j[(k[G>>2]|0)+8>>1]=128;break}case 15:{k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);c=(k[(k[rf>>2]|0)+12>>2]|0)-1|0;yf=k[qa>>2]|0;k[yf>>2]=c;k[yf+4>>2]=((c|0)<0)<<31>>31;j[(k[qa>>2]|0)+8>>1]=4;if(k[(k[rf>>2]|0)+8>>2]|0)d=14;break}case 73:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[eb>>2]=(k[qf>>2]|0)+((k[k[G>>2]>>2]|0)*20|0);k[rf>>2]=(k[qf>>2]|0)+(((k[(k[eb>>2]|0)+8>>2]|0)-1|0)*20|0);j[(k[G>>2]|0)+8>>1]=128;break}case 16:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);j[(k[G>>2]|0)+8>>1]=4;k[pb>>2]=k[k[G>>2]>>2];c=((k[rf>>2]|0)-(k[qf>>2]|0)|0)/20|0;yf=k[G>>2]|0;k[yf>>2]=c;k[yf+4>>2]=((c|0)<0)<<31>>31;k[rf>>2]=(k[qf>>2]|0)+((k[pb>>2]|0)*20|0);break}case 74:{k[fa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);if(m[(k[fa>>2]|0)+8>>1]&1|0)d=20;break}case 75:{d=20;break}case 76:{c=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=c;c=k[(k[rf>>2]|0)+4>>2]|0;yf=k[qa>>2]|0;k[yf>>2]=c;k[yf+4>>2]=((c|0)<0)<<31>>31;break}case 77:{b=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=b;b=k[(k[rf>>2]|0)+16>>2]|0;c=k[b+4>>2]|0;yf=k[qa>>2]|0;k[yf>>2]=k[b>>2];k[yf+4>>2]=c;break}case 132:{yf=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=yf;j[(k[qa>>2]|0)+8>>1]=8;p[k[qa>>2]>>3]=+p[k[(k[rf>>2]|0)+16>>2]>>3];break}case 97:{yf=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=yf;i[k[rf>>2]>>0]=78;yf=wd(k[(k[rf>>2]|0)+16>>2]|0)|0;k[(k[rf>>2]|0)+4>>2]=yf;if((l[ne>>0]|0)!=1){yf=mi(k[qa>>2]|0,k[(k[rf>>2]|0)+16>>2]|0,-1,1,0)|0;k[uf>>2]=yf;if(yi(k[qa>>2]|0,l[ne>>0]|0)|0){d=887;break a}k[(k[qa>>2]|0)+24>>2]=0;yf=(k[qa>>2]|0)+8|0;j[yf>>1]=m[yf>>1]|2048;if((i[(k[rf>>2]|0)+1>>0]|0)==-1)fe(k[vf>>2]|0,k[(k[rf>>2]|0)+16>>2]|0);i[(k[rf>>2]|0)+1>>0]=-1;k[(k[rf>>2]|0)+16>>2]=k[(k[qa>>2]|0)+16>>2];k[(k[rf>>2]|0)+4>>2]=k[(k[qa>>2]|0)+12>>2]}if((k[(k[rf>>2]|0)+4>>2]|0)>(k[(k[vf>>2]|0)+96>>2]|0)){d=886;break c}else d=43;break}case 78:{d=43;break}case 79:{yf=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=yf;k[bc>>2]=(k[(k[rf>>2]|0)+12>>2]|0)-(k[(k[rf>>2]|0)+8>>2]|0);yf=(k[(k[rf>>2]|0)+4>>2]|0?257:1)&65535;j[mc>>1]=yf;j[(k[qa>>2]|0)+8>>1]=yf;k[(k[qa>>2]|0)+12>>2]=0;while(1){if((k[bc>>2]|0)<=0)break d;k[qa>>2]=(k[qa>>2]|0)+40;ii(k[qa>>2]|0);j[(k[qa>>2]|0)+8>>1]=j[mc>>1]|0;k[(k[qa>>2]|0)+12>>2]=0;k[bc>>2]=(k[bc>>2]|0)+-1}}case 80:{k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);j[(k[qa>>2]|0)+8>>1]=(m[(k[qa>>2]|0)+8>>1]|1)&-129;break}case 81:{yf=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=yf;mi(k[qa>>2]|0,k[(k[rf>>2]|0)+16>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,0,0)|0;i[(k[qa>>2]|0)+10>>0]=i[ne>>0]|0;break}case 82:{k[xc>>2]=(k[(k[sf>>2]|0)+116>>2]|0)+(((k[(k[rf>>2]|0)+4>>2]|0)-1|0)*40|0);if($F(k[xc>>2]|0)|0){d=886;break c}yf=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=yf;uj(k[qa>>2]|0,k[xc>>2]|0,2048);break}case 83:{k[Ic>>2]=k[(k[rf>>2]|0)+12>>2];k[Tc>>2]=k[(k[rf>>2]|0)+4>>2];k[cd>>2]=k[(k[rf>>2]|0)+8>>2];k[G>>2]=(k[w>>2]|0)+((k[Tc>>2]|0)*40|0);k[qa>>2]=(k[w>>2]|0)+((k[cd>>2]|0)*40|0);do{Vs(k[qa>>2]|0,k[G>>2]|0);if(m[(k[qa>>2]|0)+8>>1]&4096|0?qi(k[qa>>2]|0)|0:0){d=887;break a}k[G>>2]=(k[G>>2]|0)+40;k[qa>>2]=(k[qa>>2]|0)+40;yf=(k[Ic>>2]|0)+-1|0;k[Ic>>2]=yf}while((yf|0)!=0);break}case 84:{k[nd>>2]=k[(k[rf>>2]|0)+12>>2];k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);while(1){uj(k[qa>>2]|0,k[G>>2]|0,4096);if(m[(k[qa>>2]|0)+8>>1]&4096|0?qi(k[qa>>2]|0)|0:0){d=887;break a}yf=k[nd>>2]|0;k[nd>>2]=yf+-1;if(!yf)break d;k[qa>>2]=(k[qa>>2]|0)+40;k[G>>2]=(k[G>>2]|0)+40}}case 85:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);uj(k[qa>>2]|0,k[G>>2]|0,4096);break}case 86:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);yf=k[G>>2]|0;gi(k[qa>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0);break}case 52:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[U>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);if((m[(k[G>>2]|0)+8>>1]|m[(k[U>>2]|0)+8>>1])&1|0){ii(k[qa>>2]|0);break d}if(m[(k[G>>2]|0)+8>>1]&16384|0?ri(k[G>>2]|0)|0:0){d=887;break a}if(m[(k[U>>2]|0)+8>>1]&16384|0?ri(k[U>>2]|0)|0:0){d=887;break a}if((m[(k[G>>2]|0)+8>>1]&18|0)==0?Ai(k[G>>2]|0,i[ne>>0]|0,0)|0:0){d=887;break a}if((m[(k[U>>2]|0)+8>>1]&18|0)==0?Ai(k[U>>2]|0,i[ne>>0]|0,0)|0:0){d=887;break a}a=(k[(k[G>>2]|0)+12>>2]|0)+(k[(k[U>>2]|0)+12>>2]|0)|0;c=xd;k[c>>2]=a;k[c+4>>2]=((a|0)<0)<<31>>31;c=xd;a=k[c+4>>2]|0;yf=k[(k[vf>>2]|0)+96>>2]|0;b=((yf|0)<0)<<31>>31;if((a|0)>(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0>yf>>>0:0)){d=886;break c}if(si(k[qa>>2]|0,(k[xd>>2]|0)+2|0,(k[qa>>2]|0)==(k[U>>2]|0)&1)|0){d=887;break a}j[(k[qa>>2]|0)+8>>1]=m[(k[qa>>2]|0)+8>>1]&-49664|2;if((k[qa>>2]|0)!=(k[U>>2]|0))r0(k[(k[qa>>2]|0)+16>>2]|0,k[(k[U>>2]|0)+16>>2]|0,k[(k[U>>2]|0)+12>>2]|0)|0;r0((k[(k[qa>>2]|0)+16>>2]|0)+(k[(k[U>>2]|0)+12>>2]|0)|0,k[(k[G>>2]|0)+16>>2]|0,k[(k[G>>2]|0)+12>>2]|0)|0;i[(k[(k[qa>>2]|0)+16>>2]|0)+(k[xd>>2]|0)>>0]=0;c=k[(k[qa>>2]|0)+16>>2]|0;yf=xd;yf=i0(k[yf>>2]|0,k[yf+4>>2]|0,1,0)|0;i[c+yf>>0]=0;yf=(k[qa>>2]|0)+8|0;j[yf>>1]=m[yf>>1]|512;k[(k[qa>>2]|0)+12>>2]=k[xd>>2];i[(k[qa>>2]|0)+10>>0]=i[ne>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);yf=aG(k[G>>2]|0)|0;j[Ad>>1]=yf;k[U>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);yf=aG(k[U>>2]|0)|0;j[Bd>>1]=yf;k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);j[zd>>1]=m[(k[G>>2]|0)+8>>1]|m[(k[U>>2]|0)+8>>1];e:do if(!(m[zd>>1]&1)){f:do if(m[Ad>>1]&m[Bd>>1]&4|0){yf=k[G>>2]|0;c=k[yf+4>>2]|0;b=Cd;k[b>>2]=k[yf>>2];k[b+4>>2]=c;b=k[U>>2]|0;c=k[b+4>>2]|0;yf=Dd;k[yf>>2]=k[b>>2];k[yf+4>>2]=c;i[yd>>0]=1;switch(l[k[rf>>2]>>0]|0){case 47:{yf=Cd;if(Qi(Dd,k[yf>>2]|0,k[yf+4>>2]|0)|0)break f;break}case 48:{yf=Cd;if(bG(Dd,k[yf>>2]|0,k[yf+4>>2]|0)|0)break f;break}case 49:{yf=Cd;if(cG(Dd,k[yf>>2]|0,k[yf+4>>2]|0)|0)break f;break}case 50:{yf=Cd;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0)break e;c=Cd;yf=Dd;if(((k[c>>2]|0)==-1?(k[c+4>>2]|0)==-1:0)&((k[yf>>2]|0)==0?(k[yf+4>>2]|0)==-2147483648:0))break f;c=Cd;yf=Dd;c=x0(k[yf>>2]|0,k[yf+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;yf=Dd;k[yf>>2]=c;k[yf+4>>2]=M;break}default:{yf=Cd;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0)break e;yf=Cd;if((k[yf>>2]|0)==-1?(k[yf+4>>2]|0)==-1:0){yf=Cd;k[yf>>2]=1;k[yf+4>>2]=0}c=Cd;yf=Dd;c=m0(k[yf>>2]|0,k[yf+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;yf=Dd;k[yf>>2]=c;k[yf+4>>2]=M}}b=Dd;c=k[b+4>>2]|0;yf=k[qa>>2]|0;k[yf>>2]=k[b>>2];k[yf+4>>2]=c;j[(k[qa>>2]|0)+8>>1]=m[(k[qa>>2]|0)+8>>1]&-49664|4;break d}else i[yd>>0]=0;while(0);zf=+Si(k[G>>2]|0);p[Ed>>3]=zf;zf=+Si(k[U>>2]|0);p[Fd>>3]=zf;switch(l[k[rf>>2]>>0]|0){case 47:{p[Fd>>3]=+p[Fd>>3]+ +p[Ed>>3];break}case 48:{p[Fd>>3]=+p[Fd>>3]-+p[Ed>>3];break}case 49:{p[Fd>>3]=+p[Fd>>3]*+p[Ed>>3];break}case 50:{if(+p[Ed>>3]==0.0)break e;p[Fd>>3]=+p[Fd>>3]/+p[Ed>>3];break}default:{zf=+p[Ed>>3];yf=+O(zf)>=1.0?(zf>0.0?~~+aa(+N(zf/4294967296.0),4294967295.0)>>>0:~~+_((zf-+(~~zf>>>0))/4294967296.0)>>>0):0;c=Cd;k[c>>2]=~~zf>>>0;k[c+4>>2]=yf;zf=+p[Fd>>3];c=+O(zf)>=1.0?(zf>0.0?~~+aa(+N(zf/4294967296.0),4294967295.0)>>>0:~~+_((zf-+(~~zf>>>0))/4294967296.0)>>>0):0;yf=Dd;k[yf>>2]=~~zf>>>0;k[yf+4>>2]=c;yf=Cd;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0)break e;yf=Cd;if((k[yf>>2]|0)==-1?(k[yf+4>>2]|0)==-1:0){yf=Cd;k[yf>>2]=1;k[yf+4>>2]=0}c=Dd;yf=Cd;yf=m0(k[c>>2]|0,k[c+4>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)|0;p[Fd>>3]=+(yf>>>0)+4294967296.0*+(M|0)}}if(!(ae(+p[Fd>>3])|0)){p[k[qa>>2]>>3]=+p[Fd>>3];j[(k[qa>>2]|0)+8>>1]=m[(k[qa>>2]|0)+8>>1]&-49664|8;if(i[yd>>0]|0?1:((m[Ad>>1]|m[Bd>>1])&8|0)!=0)break d;Zi(k[qa>>2]|0);break d}}while(0);ii(k[qa>>2]|0);break}case 88:{if(k[(k[rf>>2]|0)+4>>2]|0)gi((k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 89:{k[Gd>>2]=l[(k[rf>>2]|0)+3>>0];yf=Od(k[vf>>2]|0,32+((k[Gd>>2]|0)-1<<2)|0,0)|0;k[Id>>2]=yf;if(!(k[Id>>2]|0)){d=887;break a}k[k[Id>>2]>>2]=0;k[(k[Id>>2]|0)+4>>2]=k[(k[rf>>2]|0)+16>>2];k[(k[Id>>2]|0)+16>>2]=((k[rf>>2]|0)-(k[qf>>2]|0)|0)/20|0;k[(k[Id>>2]|0)+12>>2]=k[sf>>2];i[(k[Id>>2]|0)+26>>0]=k[Gd>>2];i[(k[rf>>2]|0)+1>>0]=-21;k[(k[rf>>2]|0)+16>>2]=k[Id>>2];i[k[rf>>2]>>0]=90;d=126;break}case 90:{d=126;break}case 46:case 45:case 44:case 43:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[U>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);if((m[(k[G>>2]|0)+8>>1]|m[(k[U>>2]|0)+8>>1])&1|0){ii(k[qa>>2]|0);break d}yf=Ui(k[U>>2]|0)|0;c=Ld;k[c>>2]=yf;k[c+4>>2]=M;c=Ui(k[G>>2]|0)|0;yf=Nd;k[yf>>2]=c;k[yf+4>>2]=M;i[Pd>>0]=i[k[rf>>2]>>0]|0;do if((l[Pd>>0]|0)!=43){b=Nd;a=k[b>>2]|0;b=k[b+4>>2]|0;if((l[Pd>>0]|0)==44){Af=Ld;c=k[Af+4>>2]|b;yf=Ld;k[yf>>2]=k[Af>>2]|a;k[yf+4>>2]=c;break}if((a|0)!=0|(b|0)!=0){if((k[Nd+4>>2]|0)<0){i[Pd>>0]=91-(l[Pd>>0]|0);yf=Nd;c=k[yf+4>>2]|0;yf=(c|0)>-1|(c|0)==-1&(k[yf>>2]|0)>>>0>4294967232;c=Nd;c=h0(0,0,k[c>>2]|0,k[c+4>>2]|0)|0;Af=Nd;k[Af>>2]=yf?c:64;k[Af+4>>2]=yf?M:0}Af=Nd;yf=k[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(k[Af>>2]|0)>>>0>=64){Af=Ld;yf=k[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(k[Af>>2]|0)>>>0>=0)a=1;else a=(l[Pd>>0]|0)==45;yf=a?0:-1;Af=Ld;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;break};k[Md>>2]=k[Ld>>2];k[Md+4>>2]=k[Ld+4>>2];a=k[Nd>>2]|0;c=Md;b=k[c>>2]|0;c=k[c+4>>2]|0;if((l[Pd>>0]|0)!=45){yf=p0(b|0,c|0,a|0)|0;Af=Md;k[Af>>2]=yf;k[Af+4>>2]=M;if((k[Ld+4>>2]|0)<0){c=Nd;c=h0(64,0,k[c>>2]|0,k[c+4>>2]|0)|0;c=t0(-1,-1,c|0)|0;b=Md;yf=k[b+4>>2]|M;Af=Md;k[Af>>2]=k[b>>2]|c;k[Af+4>>2]=yf}}else{yf=t0(b|0,c|0,a|0)|0;Af=Md;k[Af>>2]=yf;k[Af+4>>2]=M};k[Ld>>2]=k[Md>>2];k[Ld+4>>2]=k[Md+4>>2]}}else{c=Nd;b=Ld;yf=k[b+4>>2]&k[c+4>>2];Af=Ld;k[Af>>2]=k[b>>2]&k[c>>2];k[Af+4>>2]=yf}while(0);c=Ld;yf=k[c+4>>2]|0;Af=k[qa>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;j[(k[qa>>2]|0)+8>>1]=m[(k[qa>>2]|0)+8>>1]&-49664|4;break}case 91:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);lw(k[G>>2]|0)|0;yf=k[(k[rf>>2]|0)+8>>2]|0;Af=k[G>>2]|0;c=Af;yf=i0(k[c>>2]|0,k[c+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[Af>>2]=yf;k[Af+4>>2]=M;break}case 17:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);if((m[(k[G>>2]|0)+8>>1]&4|0)==0?(kw(k[G>>2]|0,67,i[ne>>0]|0),(m[(k[G>>2]|0)+8>>1]&4|0)==0):0)if(!(k[(k[rf>>2]|0)+8>>2]|0)){d=159;break c}else{d=14;break d}j[(k[G>>2]|0)+8>>1]=m[(k[G>>2]|0)+8>>1]&-49664|4;break}case 92:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);if(m[(k[G>>2]|0)+8>>1]&4|0)mw(k[G>>2]|0)|0;break}case 93:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);if(m[(k[G>>2]|0)+8>>1]&16384|0)a=ri(k[G>>2]|0)|0;else a=0;k[uf>>2]=a;fw(k[G>>2]|0,k[(k[rf>>2]|0)+8>>2]&255,i[ne>>0]|0);if(k[uf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[fa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);j[Td>>1]=j[(k[G>>2]|0)+8>>1]|0;j[Ud>>1]=j[(k[fa>>2]|0)+8>>1]|0;a=l[(k[rf>>2]|0)+3>>0]|0;do if((m[Td>>1]|m[Ud>>1])&1|0){if(!(a&128))if(!(l[(k[rf>>2]|0)+3>>0]&32|0))if(l[(k[rf>>2]|0)+3>>0]&16|0){d=14;break d}else break d;else{k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);k[ye>>2]=1;j[(k[qa>>2]|0)+8>>1]=m[(k[qa>>2]|0)+8>>1]&-49664|1;break d}if((m[Td>>1]&1|0?m[Ud>>1]&1|0:0)?(m[Ud>>1]&256|0)==0:0){k[Qd>>2]=0;break}k[Qd>>2]=1}else{i[Sd>>0]=a&71;if((i[Sd>>0]|0)>=67){if((m[Td>>1]|m[Ud>>1])&2|0){if((m[Td>>1]&14|0)==2){Yi(k[G>>2]|0,0);j[Ud>>1]=j[(k[fa>>2]|0)+8>>1]|0}if((m[Ud>>1]&14|0)==2)Yi(k[fa>>2]|0,0)}if(m[(k[G>>2]|0)+8>>1]&m[(k[fa>>2]|0)+8>>1]&4|0){yf=k[fa>>2]|0;b=k[yf+4>>2]|0;Af=k[G>>2]|0;c=k[Af+4>>2]|0;if((b|0)>(c|0)|((b|0)==(c|0)?(k[yf>>2]|0)>>>0>(k[Af>>2]|0)>>>0:0)){k[Qd>>2]=1;break}yf=k[fa>>2]|0;b=k[yf+4>>2]|0;Af=k[G>>2]|0;c=k[Af+4>>2]|0;if((b|0)<(c|0)|((b|0)==(c|0)?(k[yf>>2]|0)>>>0<(k[Af>>2]|0)>>>0:0)){k[Qd>>2]=-1;break}else{k[Qd>>2]=0;break}}}else if((i[Sd>>0]|0)==66){if((m[Td>>1]&2|0)==0?m[Td>>1]&12|0:0){Ai(k[G>>2]|0,i[ne>>0]|0,1)|0;j[Td>>1]=m[(k[G>>2]|0)+8>>1]&-33280|m[Td>>1]&33279}if((m[Ud>>1]&2|0)==0?m[Ud>>1]&12|0:0){Ai(k[fa>>2]|0,i[ne>>0]|0,1)|0;j[Ud>>1]=m[(k[fa>>2]|0)+8>>1]&-33280|m[Ud>>1]&33279}}Af=oj(k[fa>>2]|0,k[G>>2]|0,k[(k[rf>>2]|0)+16>>2]|0)|0;k[Qd>>2]=Af}while(0);switch(l[k[rf>>2]>>0]|0){case 37:{k[Rd>>2]=(k[Qd>>2]|0)==0&1;break}case 36:{k[Rd>>2]=k[Qd>>2];break}case 40:{k[Rd>>2]=(k[Qd>>2]|0)<0&1;break}case 39:{k[Rd>>2]=(k[Qd>>2]|0)<=0&1;break}case 38:{k[Rd>>2]=(k[Qd>>2]|0)>0&1;break}default:k[Rd>>2]=(k[Qd>>2]|0)>=0&1}j[(k[G>>2]|0)+8>>1]=j[Td>>1]|0;j[(k[fa>>2]|0)+8>>1]=j[Ud>>1]|0;if(!(l[(k[rf>>2]|0)+3>>0]&32))if(k[Rd>>2]|0){d=14;break d}else break d;k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);k[ye>>2]=k[Qd>>2];k[Rd>>2]=(k[Rd>>2]|0)!=0&1;if(l[(k[rf>>2]|0)+3>>0]&8|0?((l[k[rf>>2]>>0]|0)==37|0)==(k[Rd>>2]|0):0)break d;j[(k[qa>>2]|0)+8>>1]=m[(k[qa>>2]|0)+8>>1]&-49664|4;yf=k[Rd>>2]|0;Af=k[qa>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 42:{if(k[ye>>2]|0)d=14;break}case 94:{k[Ba>>2]=(k[(k[rf>>2]|0)+16>>2]|0)+4;break}case 95:{if(!(l[(k[rf>>2]|0)+3>>0]&1))k[Ba>>2]=0;k[Vd>>2]=k[(k[rf>>2]|0)+12>>2];k[_d>>2]=k[(k[rf>>2]|0)+16>>2];k[Xd>>2]=k[(k[rf>>2]|0)+4>>2];k[Zd>>2]=k[(k[rf>>2]|0)+8>>2];k[Wd>>2]=0;while(1){if((k[Wd>>2]|0)>=(k[Vd>>2]|0))break;if(k[Ba>>2]|0)a=k[(k[Ba>>2]|0)+(k[Wd>>2]<<2)>>2]|0;else a=k[Wd>>2]|0;k[$d>>2]=a;k[be>>2]=k[(k[_d>>2]|0)+20+(k[Wd>>2]<<2)>>2];k[ce>>2]=l[(k[(k[_d>>2]|0)+16>>2]|0)+(k[Wd>>2]|0)>>0];Af=oj((k[w>>2]|0)+(((k[Xd>>2]|0)+(k[$d>>2]|0)|0)*40|0)|0,(k[w>>2]|0)+(((k[Zd>>2]|0)+(k[$d>>2]|0)|0)*40|0)|0,k[be>>2]|0)|0;k[ye>>2]=Af;if(k[ye>>2]|0){d=218;break}k[Wd>>2]=(k[Wd>>2]|0)+1}if((d|0)==218?(d=0,k[ce>>2]|0):0)k[ye>>2]=0-(k[ye>>2]|0);k[Ba>>2]=0;break}case 18:{if((k[ye>>2]|0)<0){k[rf>>2]=(k[qf>>2]|0)+(((k[(k[rf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}a=k[qf>>2]|0;b=k[rf>>2]|0;if(!(k[ye>>2]|0)){k[rf>>2]=a+(((k[b+8>>2]|0)-1|0)*20|0);break d}else{k[rf>>2]=a+(((k[b+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);if(m[(k[G>>2]|0)+8>>1]&1|0)k[de>>2]=2;else{Af=Ui(k[G>>2]|0)|0;k[de>>2]=((Af|0)!=0|(M|0)!=0)&1}k[U>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);if(m[(k[U>>2]|0)+8>>1]&1|0)k[ee>>2]=2;else{Af=Ui(k[U>>2]|0)|0;k[ee>>2]=((Af|0)!=0|(M|0)!=0)&1}a=((k[de>>2]|0)*3|0)+(k[ee>>2]|0)|0;if((l[k[rf>>2]>>0]|0)==28)k[de>>2]=l[38780+a>>0];else k[de>>2]=l[38789+a>>0];k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);if((k[de>>2]|0)==2){a=(m[(k[qa>>2]|0)+8>>1]&-49664|1)&65535;b=k[qa>>2]|0}else{b=k[de>>2]|0;a=k[qa>>2]|0;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=(m[(k[qa>>2]|0)+8>>1]&-49664|4)&65535;b=k[qa>>2]|0}j[b+8>>1]=a;break}case 19:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);ii(k[qa>>2]|0);if(!(m[(k[G>>2]|0)+8>>1]&1)){j[(k[qa>>2]|0)+8>>1]=4;yf=Ui(k[G>>2]|0)|0;yf=(((yf|0)!=0|(M|0)!=0)^1)&1;Af=k[qa>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31}break}case 54:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);ii(k[qa>>2]|0);if(!(m[(k[G>>2]|0)+8>>1]&1)){j[(k[qa>>2]|0)+8>>1]=4;yf=Ui(k[G>>2]|0)|0;Af=k[qa>>2]|0;k[Af>>2]=~yf;k[Af+4>>2]=~M}break}case 20:{if((k[(k[(k[sf>>2]|0)+88>>2]|0)+4>>2]|0)==(k[(k[rf>>2]|0)+4>>2]|0))d=14;else k[(k[rf>>2]|0)+4>>2]=k[(k[(k[sf>>2]|0)+88>>2]|0)+4>>2];break}case 22:case 21:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);if(!(m[(k[G>>2]|0)+8>>1]&1|0)){Af=+Si(k[G>>2]|0)!=0.0&1;k[ge>>2]=Af;if((l[k[rf>>2]>>0]|0)==22)k[ge>>2]=((k[ge>>2]|0)!=0^1)&1}else k[ge>>2]=k[(k[rf>>2]|0)+12>>2];if(k[ge>>2]|0)d=14;break}case 34:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);if(m[(k[G>>2]|0)+8>>1]&1|0)d=14;break}case 35:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);if(!(m[(k[G>>2]|0)+8>>1]&1))d=14;break}case 96:{k[je>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[he>>2]=k[(k[rf>>2]|0)+8>>2];Af=dG(je,he)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;k[pe>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);k[le>>2]=k[(k[je>>2]|0)+76>>2];k[ke>>2]=k[(k[je>>2]|0)+16>>2];do if((k[(k[je>>2]|0)+56>>2]|0)!=(k[(k[sf>>2]|0)+32>>2]|0)){do if(i[(k[je>>2]|0)+2>>0]|0)if((l[k[je>>2]>>0]|0)==3){k[ze>>2]=(k[w>>2]|0)+((k[(k[je>>2]|0)+16>>2]|0)*40|0);Af=k[(k[ze>>2]|0)+12>>2]|0;k[we>>2]=Af;k[(k[je>>2]|0)+64>>2]=Af;k[(k[je>>2]|0)+60>>2]=Af;k[(k[je>>2]|0)+72>>2]=k[(k[ze>>2]|0)+16>>2];break}else{ii(k[pe>>2]|0);break d}else{a=Hq(k[ke>>2]|0)|0;k[(k[je>>2]|0)+60>>2]=a;a=eG(k[ke>>2]|0,we)|0;k[(k[je>>2]|0)+72>>2]=a;a=k[(k[je>>2]|0)+60>>2]|0;if((k[(k[je>>2]|0)+60>>2]|0)>>>0<=(k[we>>2]|0)>>>0){k[(k[je>>2]|0)+64>>2]=a;break}if(a>>>0>(k[(k[vf>>2]|0)+96>>2]|0)>>>0){d=886;break c}k[(k[je>>2]|0)+64>>2]=k[we>>2]}while(0);k[(k[je>>2]|0)+56>>2]=k[(k[sf>>2]|0)+32>>2];a=k[(k[je>>2]|0)+72>>2]|0;if((l[k[(k[je>>2]|0)+72>>2]>>0]|0)<128){k[ue>>2]=l[a>>0];a=1}else a=(pE(a,ue)|0)&255;k[(k[je>>2]|0)+68>>2]=a&255;j[(k[je>>2]|0)+14>>1]=0;k[k[le>>2]>>2]=k[ue>>2];if((k[we>>2]|0)>>>0<(k[ue>>2]|0)>>>0){k[(k[je>>2]|0)+72>>2]=0;k[(k[je>>2]|0)+64>>2]=0;if((k[ue>>2]|0)>>>0>98307){d=269;break c}if((k[ue>>2]|0)>>>0>(k[(k[je>>2]|0)+60>>2]|0)>>>0){d=269;break c}else{d=272;break}}else{if((k[ue>>2]|0)>>>0<=0){d=272;break}k[re>>2]=k[(k[je>>2]|0)+72>>2];d=278;break}}else d=272;while(0);do if((d|0)==272){d=0;a=k[je>>2]|0;if((m[(k[je>>2]|0)+14>>1]|0)>(k[he>>2]|0)){k[xe>>2]=k[a+80+(k[he>>2]<<2)>>2];break}if((k[a+68>>2]|0)>>>0>=(k[k[le>>2]>>2]|0)>>>0){k[xe>>2]=0;d=294;break}if(k[(k[je>>2]|0)+72>>2]|0){k[re>>2]=k[(k[je>>2]|0)+72>>2];d=278;break}a=qe;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));Af=fG(k[ke>>2]|0,0,k[k[le>>2]>>2]|0,((i[(k[je>>2]|0)+4>>0]|0)!=0^1)&1,qe)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;k[re>>2]=k[qe+16>>2];d=278}while(0);if((d|0)==278){k[oe>>2]=m[(k[je>>2]|0)+14>>1];Af=ve;k[Af>>2]=k[(k[le>>2]|0)+(k[oe>>2]<<2)>>2];k[Af+4>>2]=0;k[se>>2]=(k[re>>2]|0)+(k[(k[je>>2]|0)+68>>2]|0);k[te>>2]=(k[re>>2]|0)+(k[k[le>>2]>>2]|0);do{Af=l[k[se>>2]>>0]|0;k[xe>>2]=Af;a=k[se>>2]|0;if(Af>>>0<128){k[se>>2]=a+1;yf=(gG(k[xe>>2]&255)|0)&255;Af=ve;yf=i0(k[Af>>2]|0,k[Af+4>>2]|0,yf|0,0)|0;Af=ve;k[Af>>2]=yf;k[Af+4>>2]=M}else{yf=(pE(a,xe)|0)&255;k[se>>2]=(k[se>>2]|0)+yf;yf=qE(k[xe>>2]|0)|0;Af=ve;yf=i0(k[Af>>2]|0,k[Af+4>>2]|0,yf|0,0)|0;Af=ve;k[Af>>2]=yf;k[Af+4>>2]=M}d=k[xe>>2]|0;yf=(k[je>>2]|0)+80|0;Af=k[oe>>2]|0;k[oe>>2]=Af+1;k[yf+(Af<<2)>>2]=d;k[(k[le>>2]|0)+(k[oe>>2]<<2)>>2]=k[ve>>2];if((k[oe>>2]|0)>(k[he>>2]|0))break}while((k[se>>2]|0)>>>0<(k[te>>2]|0)>>>0);if((k[se>>2]|0)>>>0>=(k[te>>2]|0)>>>0){if((k[se>>2]|0)>>>0>(k[te>>2]|0)>>>0){d=288;break c}Af=ve;if(k[Af+4>>2]|0?1:(k[Af>>2]|0)!=(k[(k[je>>2]|0)+60>>2]|0)){d=288;break c}}Af=ve;yf=k[Af+4>>2]|0;if(yf>>>0>0|((yf|0)==0?(k[Af>>2]|0)>>>0>(k[(k[je>>2]|0)+60>>2]|0)>>>0:0)){d=288;break c}j[(k[je>>2]|0)+14>>1]=k[oe>>2];k[(k[je>>2]|0)+68>>2]=(k[se>>2]|0)-(k[re>>2]|0);if(!(k[(k[je>>2]|0)+72>>2]|0)){oi(qe);d=294}else d=294}if((d|0)==294?(d=0,(m[(k[je>>2]|0)+14>>1]|0)<=(k[he>>2]|0)):0){a=k[pe>>2]|0;if((i[(k[rf>>2]|0)+1>>0]|0)==-8){uj(a,k[(k[rf>>2]|0)+16>>2]|0,2048);break d}else{ii(a);break d}}if(m[(k[pe>>2]|0)+8>>1]&9312|0)ii(k[pe>>2]|0);if((k[(k[je>>2]|0)+64>>2]|0)>>>0>=(k[(k[le>>2]|0)+((k[he>>2]|0)+1<<2)>>2]|0)>>>0){k[re>>2]=(k[(k[je>>2]|0)+72>>2]|0)+(k[(k[le>>2]|0)+(k[he>>2]<<2)>>2]|0);if((k[xe>>2]|0)>>>0<12){rE(k[re>>2]|0,k[xe>>2]|0,k[pe>>2]|0)|0;break d}a=(((k[xe>>2]|0)-12|0)>>>0)/2|0;k[me>>2]=a;k[(k[pe>>2]|0)+12>>2]=a;i[(k[pe>>2]|0)+10>>0]=i[ne>>0]|0;a=k[pe>>2]|0;if((k[(k[pe>>2]|0)+24>>2]|0)<((k[me>>2]|0)+2|0)){j[a+8>>1]=1;if(si(k[pe>>2]|0,(k[me>>2]|0)+2|0,0)|0){d=887;break a}}else k[(k[pe>>2]|0)+16>>2]=k[a+20>>2];r0(k[(k[pe>>2]|0)+16>>2]|0,k[re>>2]|0,k[me>>2]|0)|0;i[(k[(k[pe>>2]|0)+16>>2]|0)+(k[me>>2]|0)>>0]=0;i[(k[(k[pe>>2]|0)+16>>2]|0)+((k[me>>2]|0)+1)>>0]=0;j[(k[pe>>2]|0)+8>>1]=j[17066+((k[xe>>2]&1)<<1)>>1]|0;break d}i[(k[pe>>2]|0)+10>>0]=i[ne>>0]|0;do if(l[(k[rf>>2]|0)+3>>0]&192|0){if((k[xe>>2]|0)>>>0>=12?(k[xe>>2]&1|0)==0:0)break;if(!(l[(k[rf>>2]|0)+3>>0]&128))d=312}else d=312;while(0);if((d|0)==312?(d=0,Af=qE(k[xe>>2]|0)|0,k[me>>2]=Af,Af|0):0){Af=fG(k[ke>>2]|0,k[(k[le>>2]|0)+(k[he>>2]<<2)>>2]|0,k[me>>2]|0,((i[(k[je>>2]|0)+4>>0]|0)!=0^1)&1,k[pe>>2]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;rE(k[(k[pe>>2]|0)+16>>2]|0,k[xe>>2]|0,k[pe>>2]|0)|0;Af=(k[pe>>2]|0)+8|0;j[Af>>1]=m[Af>>1]&-4097;break d}rE(56041,k[xe>>2]|0,k[pe>>2]|0)|0;break}case 98:{k[Ae>>2]=k[(k[rf>>2]|0)+16>>2];k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);while(1){Af=k[Ae>>2]|0;k[Ae>>2]=Af+1;Af=i[Af>>0]|0;i[Be>>0]=Af;if(!(Af<<24>>24))break d;kw(k[G>>2]|0,i[Be>>0]|0,i[ne>>0]|0);k[G>>2]=(k[G>>2]|0)+40}}case 99:{Af=Ee;k[Af>>2]=0;k[Af+4>>2]=0;k[Fe>>2]=0;Af=He;k[Af>>2]=0;k[Af+4>>2]=0;k[Me>>2]=k[(k[rf>>2]|0)+4>>2];k[Ne>>2]=k[(k[rf>>2]|0)+16>>2];k[Ke>>2]=(k[w>>2]|0)+((k[Me>>2]|0)*40|0);k[Me>>2]=k[(k[rf>>2]|0)+8>>2];k[Le>>2]=(k[Ke>>2]|0)+(((k[Me>>2]|0)-1|0)*40|0);k[Oe>>2]=l[(k[sf>>2]|0)+143>>0];k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);if(k[Ne>>2]|0){k[De>>2]=k[Ke>>2];do{yf=k[De>>2]|0;k[De>>2]=yf+40;Af=k[Ne>>2]|0;k[Ne>>2]=Af+1;kw(yf,i[Af>>0]|0,i[ne>>0]|0)}while((i[k[Ne>>2]>>0]|0)!=0)}k[De>>2]=k[Le>>2];while(1){Af=hG(k[De>>2]|0,k[Oe>>2]|0,Re)|0;k[Je>>2]=Af;k[(k[De>>2]|0)+28>>2]=Af;do if(m[(k[De>>2]|0)+8>>1]&16384|0){Af=Ee;a=k[De>>2]|0;if((k[Af>>2]|0)!=0|(k[Af+4>>2]|0)!=0)if(ri(a)|0){d=887;break a}else break;else{yf=k[a>>2]|0;Af=He;yf=i0(k[Af>>2]|0,k[Af+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;Af=He;k[Af>>2]=yf;k[Af+4>>2]=M;k[Re>>2]=(k[Re>>2]|0)-(k[k[De>>2]>>2]|0);break}}while(0);yf=Ee;yf=i0(k[yf>>2]|0,k[yf+4>>2]|0,k[Re>>2]|0,0)|0;Af=Ee;k[Af>>2]=yf;k[Af+4>>2]=M;if((k[Je>>2]|0)>>>0<=127)a=1;else a=tE(k[Je>>2]|0,0)|0;k[Fe>>2]=(k[Fe>>2]|0)+a;if((k[De>>2]|0)==(k[Ke>>2]|0))break;k[De>>2]=(k[De>>2]|0)+-40}a=k[Fe>>2]|0;if((k[Fe>>2]|0)>126){yf=tE(a,((a|0)<0)<<31>>31)|0;k[Ie>>2]=yf;k[Fe>>2]=(k[Fe>>2]|0)+(k[Ie>>2]|0);yf=k[Ie>>2]|0;Af=k[Fe>>2]|0;if((yf|0)<(tE(Af,((Af|0)<0)<<31>>31)|0))k[Fe>>2]=(k[Fe>>2]|0)+1}else k[Fe>>2]=a+1;b=k[Fe>>2]|0;yf=Ee;yf=i0(b|0,((b|0)<0)<<31>>31|0,k[yf>>2]|0,k[yf+4>>2]|0)|0;b=Ge;k[b>>2]=yf;k[b+4>>2]=M;b=Ge;yf=He;yf=i0(k[b>>2]|0,k[b+4>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)|0;b=M;Af=k[(k[vf>>2]|0)+96>>2]|0;c=((Af|0)<0)<<31>>31;if((b|0)>(c|0)|(b|0)==(c|0)&yf>>>0>Af>>>0){d=886;break c}if(ni(k[qa>>2]|0,k[Ge>>2]|0)|0){d=887;break a}k[Ce>>2]=k[(k[qa>>2]|0)+16>>2];if((k[Fe>>2]|0)>>>0<128){i[k[Ce>>2]>>0]=k[Fe>>2];a=1}else{a=k[Fe>>2]|0;a=iG(k[Ce>>2]|0,a,((a|0)<0)<<31>>31)|0}k[Pe>>2]=a&255;k[Qe>>2]=k[Fe>>2];k[De>>2]=k[Ke>>2];do{k[Je>>2]=k[(k[De>>2]|0)+28>>2];if((k[Je>>2]|0)>>>0<128){i[(k[Ce>>2]|0)+(k[Pe>>2]|0)>>0]=k[Je>>2];a=1}else a=iG((k[Ce>>2]|0)+(k[Pe>>2]|0)|0,k[Je>>2]|0,0)|0;k[Pe>>2]=(k[Pe>>2]|0)+(a&255);Af=jG((k[Ce>>2]|0)+(k[Qe>>2]|0)|0,k[De>>2]|0,k[Je>>2]|0)|0;k[Qe>>2]=(k[Qe>>2]|0)+Af;Af=(k[De>>2]|0)+40|0;k[De>>2]=Af}while(Af>>>0<=(k[Le>>2]|0)>>>0);k[(k[qa>>2]|0)+12>>2]=k[Ge>>2];j[(k[qa>>2]|0)+8>>1]=16;Af=He;if((k[Af>>2]|0)!=0|(k[Af+4>>2]|0)!=0){k[k[qa>>2]>>2]=k[He>>2];Af=(k[qa>>2]|0)+8|0;j[Af>>1]=m[Af>>1]|16384}i[(k[qa>>2]|0)+10>>0]=1;break}case 100:{k[f>>2]=k[(k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];Af=Se;k[Af>>2]=0;k[Af+4>>2]=0;Af=kG(k[f>>2]|0,Se)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;c=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=c;c=Se;yf=k[c+4>>2]|0;Af=k[qa>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;break}case 0:{k[g>>2]=k[(k[rf>>2]|0)+4>>2];k[h>>2]=k[(k[rf>>2]|0)+16>>2];do if(!(k[g>>2]|0)){if((k[(k[vf>>2]|0)+164>>2]|0)>0){ss(k[sf>>2]|0,38798,Xe);k[uf>>2]=5;break}Af=wd(k[h>>2]|0)|0;k[n>>2]=Af;Af=is(k[vf>>2]|0,0,(k[(k[vf>>2]|0)+436>>2]|0)+(k[(k[vf>>2]|0)+432>>2]|0)|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;Af=Od(k[vf>>2]|0,32+(k[n>>2]|0)+1|0,0)|0;k[o>>2]=Af;if(k[o>>2]|0){k[k[o>>2]>>2]=(k[o>>2]|0)+32;r0(k[k[o>>2]>>2]|0,k[h>>2]|0,(k[n>>2]|0)+1|0)|0;a=k[vf>>2]|0;if(i[(k[vf>>2]|0)+67>>0]|0){i[a+67>>0]=0;i[(k[vf>>2]|0)+75>>0]=1}else{Af=a+432|0;k[Af>>2]=(k[Af>>2]|0)+1}k[(k[o>>2]|0)+24>>2]=k[(k[vf>>2]|0)+424>>2];k[(k[vf>>2]|0)+424>>2]=k[o>>2];Af=(k[vf>>2]|0)+440|0;yf=k[Af+4>>2]|0;c=(k[o>>2]|0)+8|0;k[c>>2]=k[Af>>2];k[c+4>>2]=yf;c=(k[vf>>2]|0)+448|0;yf=k[c+4>>2]|0;Af=(k[o>>2]|0)+16|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf}}else{k[s>>2]=0;k[q>>2]=k[(k[vf>>2]|0)+424>>2];while(1){if(!(k[q>>2]|0))break;if(!(lh(k[k[q>>2]>>2]|0,k[h>>2]|0)|0))break;k[s>>2]=(k[s>>2]|0)+1;k[q>>2]=k[(k[q>>2]|0)+24>>2]}if(!(k[q>>2]|0)){Af=k[sf>>2]|0;k[Ye>>2]=k[h>>2];ss(Af,38849,Ye);k[uf>>2]=1;break}if((k[g>>2]|0)==1?(k[(k[vf>>2]|0)+164>>2]|0)>0:0){ss(k[sf>>2]|0,38871,Ze);k[uf>>2]=5;break}if(!(k[(k[q>>2]|0)+24>>2]|0))a=(l[(k[vf>>2]|0)+75>>0]|0)!=0;else a=0;k[v>>2]=a&1;if(!((k[v>>2]|0)!=0&(k[g>>2]|0)==1)){k[s>>2]=(k[(k[vf>>2]|0)+432>>2]|0)-(k[s>>2]|0)-1;g:do if((k[g>>2]|0)==2){k[x>>2]=(k[(k[vf>>2]|0)+24>>2]&2|0)!=0&1;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[vf>>2]|0)+20>>2]|0))break g;Af=Or(k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[t>>2]<<4)+4>>2]|0,516,(k[x>>2]|0)==0&1)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;k[t>>2]=(k[t>>2]|0)+1}}else k[x>>2]=0;while(0);k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[vf>>2]|0)+20>>2]|0))break;Af=hs(k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[t>>2]<<4)+4>>2]|0,k[g>>2]|0,k[s>>2]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;k[t>>2]=(k[t>>2]|0)+1}if(k[x>>2]|0){_q(k[vf>>2]|0);Xp(k[vf>>2]|0);k[(k[vf>>2]|0)+24>>2]=k[(k[vf>>2]|0)+24>>2]|2}}else{Af=bs(k[sf>>2]|0,1)|0;k[uf>>2]=Af;if(Af|0){d=885;break c}i[(k[vf>>2]|0)+67>>0]=1;if((Yr(k[sf>>2]|0)|0)==5){d=372;break c}i[(k[vf>>2]|0)+75>>0]=0;k[uf>>2]=k[(k[sf>>2]|0)+40>>2]}while(1){if((k[(k[vf>>2]|0)+424>>2]|0)==(k[q>>2]|0))break;k[r>>2]=k[(k[vf>>2]|0)+424>>2];k[(k[vf>>2]|0)+424>>2]=k[(k[r>>2]|0)+24>>2];fe(k[vf>>2]|0,k[r>>2]|0);Af=(k[vf>>2]|0)+432|0;k[Af>>2]=(k[Af>>2]|0)+-1}a=k[q>>2]|0;if((k[g>>2]|0)==1){k[(k[vf>>2]|0)+424>>2]=k[a+24>>2];fe(k[vf>>2]|0,k[q>>2]|0);if(!(k[v>>2]|0)){Af=(k[vf>>2]|0)+432|0;k[Af>>2]=(k[Af>>2]|0)+-1}}else{Af=a+8|0;yf=k[Af+4>>2]|0;c=(k[vf>>2]|0)+440|0;k[c>>2]=k[Af>>2];k[c+4>>2]=yf;c=(k[q>>2]|0)+16|0;yf=k[c+4>>2]|0;Af=(k[vf>>2]|0)+448|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf}if((k[v>>2]|0)==0|(k[g>>2]|0)==2){Af=is(k[vf>>2]|0,k[g>>2]|0,k[s>>2]|0)|0;k[uf>>2]=Af;if((k[uf>>2]|0)!=0|(k[uf>>2]|0)!=0)break a;else break d}}while(0);if(k[uf>>2]|0)break a;break}case 2:{if(k[(k[rf>>2]|0)+8>>2]|0?k[(k[vf>>2]|0)+24>>2]&67108864|0:0){d=413;break c}k[z>>2]=k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<4)+4>>2];if(k[z>>2]|0){Af=Qp(k[z>>2]|0,k[(k[rf>>2]|0)+8>>2]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0){d=416;break c}do if(k[(k[rf>>2]|0)+8>>2]|0?(m[(k[sf>>2]|0)+144>>1]|0)>>>6&1|0:0){if(l[(k[vf>>2]|0)+67>>0]|0?(k[(k[vf>>2]|0)+160>>2]|0)<=1:0)break;if(!(k[(k[sf>>2]|0)+48>>2]|0)){Af=(k[vf>>2]|0)+436|0;k[Af>>2]=(k[Af>>2]|0)+1;k[(k[sf>>2]|0)+48>>2]=(k[(k[vf>>2]|0)+432>>2]|0)+(k[(k[vf>>2]|0)+436>>2]|0)}Af=is(k[vf>>2]|0,0,(k[(k[sf>>2]|0)+48>>2]|0)-1|0)|0;k[uf>>2]=Af;if(!(k[uf>>2]|0)){Af=lG(k[z>>2]|0,k[(k[sf>>2]|0)+48>>2]|0)|0;k[uf>>2]=Af}Af=(k[vf>>2]|0)+440|0;yf=k[Af+4>>2]|0;c=(k[sf>>2]|0)+72|0;k[c>>2]=k[Af>>2];k[c+4>>2]=yf;c=(k[vf>>2]|0)+448|0;yf=k[c+4>>2]|0;Af=(k[sf>>2]|0)+80|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf}while(0);Sp(k[z>>2]|0,1,A);k[B>>2]=k[(k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{k[A>>2]=0;k[B>>2]=0}do if(l[(k[rf>>2]|0)+3>>0]|0){if((k[A>>2]|0)==(k[(k[rf>>2]|0)+12>>2]|0)?(k[B>>2]|0)==(k[(k[rf>>2]|0)+16>>2]|0):0)break;fe(k[vf>>2]|0,k[(k[sf>>2]|0)+108>>2]|0);Af=fp(k[vf>>2]|0,22704)|0;k[(k[sf>>2]|0)+108>>2]=Af;if((k[k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(k[A>>2]|0))dt(k[vf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0);Af=(k[sf>>2]|0)+144|0;j[Af>>1]=j[Af>>1]&-2|1;k[uf>>2]=17}while(0);if(k[uf>>2]|0)break a;break}case 101:{k[D>>2]=k[(k[rf>>2]|0)+4>>2];k[E>>2]=k[(k[rf>>2]|0)+12>>2];Sp(k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[D>>2]<<4)+4>>2]|0,k[E>>2]|0,C);yf=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=yf;yf=k[C>>2]|0;Af=k[qa>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 102:{k[F>>2]=(k[(k[vf>>2]|0)+16>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<4);a=Wp(k[(k[F>>2]|0)+4>>2]|0,k[(k[rf>>2]|0)+8>>2]|0,k[(k[rf>>2]|0)+12>>2]|0)|0;k[uf>>2]=a;a=k[rf>>2]|0;if((k[(k[rf>>2]|0)+8>>2]|0)!=1){if((k[a+8>>2]|0)==2)i[(k[(k[F>>2]|0)+12>>2]|0)+76>>0]=k[(k[rf>>2]|0)+12>>2]}else{k[k[(k[F>>2]|0)+12>>2]>>2]=k[a+12>>2];Af=(k[vf>>2]|0)+24|0;k[Af>>2]=k[Af>>2]|2}if((k[(k[rf>>2]|0)+4>>2]|0)==1){_q(k[vf>>2]|0);Af=(k[sf>>2]|0)+144|0;j[Af>>1]=j[Af>>1]&-2}if(k[uf>>2]|0)break a;break}case 103:{k[Q>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];if(k[Q>>2]|0?(k[(k[Q>>2]|0)+8>>2]|0)==(k[(k[rf>>2]|0)+8>>2]|0):0)d=460;else d=446;break}case 105:case 104:{d=446;break}case 107:case 106:{Af=mG(k[sf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,k[(k[rf>>2]|0)+8>>2]|0,-1,0)|0;k[S>>2]=Af;if(!(k[S>>2]|0)){d=887;break a}i[(k[S>>2]|0)+2>>0]=1;Af=(k[S>>2]|0)+5|0;i[Af>>0]=i[Af>>0]&-2|1;Af=Bl(k[k[vf>>2]>>2]|0,0,k[vf>>2]|0,(k[S>>2]|0)+20|0,5|l[(k[rf>>2]|0)+3>>0],1054)|0;k[uf>>2]=Af;if(!(k[uf>>2]|0)){Af=Qp(k[(k[S>>2]|0)+20>>2]|0,1)|0;k[uf>>2]=Af}if(!(k[uf>>2]|0)){Af=k[(k[rf>>2]|0)+16>>2]|0;k[T>>2]=Af;a=k[(k[S>>2]|0)+20>>2]|0;if(Af|0){Af=pG(a,V,2|l[(k[rf>>2]|0)+3>>0])|0;k[uf>>2]=Af;if(!(k[uf>>2]|0)){k[(k[S>>2]|0)+24>>2]=k[T>>2];Af=nG(k[(k[S>>2]|0)+20>>2]|0,k[V>>2]|0,4,k[T>>2]|0,k[(k[S>>2]|0)+16>>2]|0)|0;k[uf>>2]=Af}a=0;b=k[S>>2]|0}else{a=nG(a,1,4,0,k[(k[S>>2]|0)+16>>2]|0)|0;k[uf>>2]=a;a=1;b=k[S>>2]|0}i[b+4>>0]=a}if(k[uf>>2]|0)break a;Af=(k[S>>2]|0)+5|0;i[Af>>0]=i[Af>>0]&-5|((l[(k[rf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 108:{Af=mG(k[sf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,k[(k[rf>>2]|0)+8>>2]|0,-1,1)|0;k[W>>2]=Af;if(!(k[W>>2]|0)){d=887;break a}k[(k[W>>2]|0)+24>>2]=k[(k[rf>>2]|0)+16>>2];Af=qG(k[vf>>2]|0,k[(k[rf>>2]|0)+12>>2]|0,k[W>>2]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;break}case 109:{k[X>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];c=(k[X>>2]|0)+32|0;Af=c;yf=k[Af>>2]|0;Af=k[Af+4>>2]|0;b=i0(yf|0,Af|0,1,0)|0;k[c>>2]=b;k[c+4>>2]=M;if((yf|0)==0&(Af|0)==0)d=14;break}case 110:{Af=mG(k[sf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,k[(k[rf>>2]|0)+12>>2]|0,-1,3)|0;k[Y>>2]=Af;if(!(k[Y>>2]|0)){d=887;break a}i[(k[Y>>2]|0)+2>>0]=1;k[(k[Y>>2]|0)+16>>2]=k[(k[rf>>2]|0)+8>>2];i[(k[Y>>2]|0)+4>>0]=1;break}case 111:{xs(k[sf>>2]|0,k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2]|0);k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{k[ba>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[$>>2]=l[k[rf>>2]>>0];k[ga>>2]=0;i[(k[ba>>2]|0)+2>>0]=0;if(i[(k[ba>>2]|0)+4>>0]|0){k[fa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);if((m[(k[fa>>2]|0)+8>>1]&14|0)==2)Yi(k[fa>>2]|0,0);yf=Ui(k[fa>>2]|0)|0;Af=ea;k[Af>>2]=yf;k[Af+4>>2]=M;do if(!(m[(k[fa>>2]|0)+8>>1]&4)){if(!(m[(k[fa>>2]|0)+8>>1]&8)){d=14;break d}Af=ea;if(+p[k[fa>>2]>>3]<+((k[Af>>2]|0)>>>0)+4294967296.0*+(k[Af+4>>2]|0)){if(k[$>>2]&1|0)break;k[$>>2]=(k[$>>2]|0)+-1;break}Af=ea;if(+p[k[fa>>2]>>3]>+((k[Af>>2]|0)>>>0)+4294967296.0*+(k[Af+4>>2]|0)?(k[$>>2]&1|0)==1:0)k[$>>2]=(k[$>>2]|0)+1}while(0);c=ea;c=iE(k[(k[ba>>2]|0)+16>>2]|0,0,k[c>>2]|0,k[c+4>>2]|0,0,Z)|0;k[uf>>2]=c;c=ea;yf=k[c+4>>2]|0;Af=(k[ba>>2]|0)+40|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;if(k[uf>>2]|0)break a;else d=496}else{if(rG(k[(k[ba>>2]|0)+16>>2]|0,2)|0)k[ga>>2]=1;k[da>>2]=k[(k[rf>>2]|0)+16>>2];k[ca>>2]=k[(k[ba>>2]|0)+24>>2];j[ca+8>>1]=k[da>>2];i[ca+10>>0]=1&(k[$>>2]|0)-23|0?-1:1;k[ca+4>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);i[ca+14>>0]=0;Af=iE(k[(k[ba>>2]|0)+16>>2]|0,ca,0,0,0,Z)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;if(!(k[ga>>2]|0?!(l[ca+14>>0]|0):0))d=496}do if((d|0)==496){d=0;i[(k[ba>>2]|0)+3>>0]=0;k[(k[ba>>2]|0)+56>>2]=0;a=k[Z>>2]|0;if((k[$>>2]|0)>=25){if((a|0)>=0?!((k[Z>>2]|0)==0&(k[$>>2]|0)==26):0){k[Z>>2]=0;break}k[Z>>2]=0;Af=ZD(k[(k[ba>>2]|0)+16>>2]|0,Z)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;else break}else{if((a|0)<=0?!((k[Z>>2]|0)==0&(k[$>>2]|0)==23):0){Af=sG(k[(k[ba>>2]|0)+16>>2]|0)|0;k[Z>>2]=Af;break}k[Z>>2]=0;Af=_D(k[(k[ba>>2]|0)+16>>2]|0,Z)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;else break}}while(0);if(!(k[Z>>2]|0)){if(k[ga>>2]|0)k[rf>>2]=(k[rf>>2]|0)+20}else d=14;break}case 31:case 30:case 29:{k[ka>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[fa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);k[ma>>2]=0;a=k[(k[ka>>2]|0)+24>>2]|0;if((k[(k[rf>>2]|0)+16>>2]|0)>0){k[oa>>2]=a;j[oa+8>>1]=k[(k[rf>>2]|0)+16>>2];k[oa+4>>2]=k[fa>>2];k[na>>2]=oa}else{Af=gE(a,pa,183,ma)|0;k[na>>2]=Af;if(!(k[na>>2]|0)){d=887;break a}if(m[(k[fa>>2]|0)+8>>1]&16384|0)ri(k[fa>>2]|0)|0;hE(k[(k[ka>>2]|0)+24>>2]|0,k[(k[fa>>2]|0)+12>>2]|0,k[(k[fa>>2]|0)+16>>2]|0,k[na>>2]|0)}i[(k[na>>2]|0)+10>>0]=0;k[ia>>2]=0;h:do if((l[k[rf>>2]>>0]|0)==29){k[ja>>2]=0;while(1){if((k[ja>>2]|0)>=(m[(k[na>>2]|0)+8>>1]|0))break h;if(m[(k[(k[na>>2]|0)+4>>2]|0)+((k[ja>>2]|0)*40|0)+8>>1]&1|0)break;k[ja>>2]=(k[ja>>2]|0)+1}k[ia>>2]=1}while(0);Af=iE(k[(k[ka>>2]|0)+16>>2]|0,k[na>>2]|0,0,0,0,la)|0;k[uf>>2]=Af;fe(k[vf>>2]|0,k[ma>>2]|0);if(k[uf>>2]|0)break a;k[(k[ka>>2]|0)+28>>2]=k[la>>2];k[ha>>2]=(k[la>>2]|0)==0&1;i[(k[ka>>2]|0)+2>>0]=1-(k[ha>>2]|0);i[(k[ka>>2]|0)+3>>0]=0;k[(k[ka>>2]|0)+56>>2]=0;if((l[k[rf>>2]>>0]|0)==31)if(k[ha>>2]|0){d=14;break d}else break d;else if((k[ia>>2]|0)==0&(k[ha>>2]|0)!=0)break d;else{d=14;break d}}case 32:{k[fa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);if((m[(k[fa>>2]|0)+8>>1]&4|0)==0?(kw(k[fa>>2]|0,67,i[ne>>0]|0),(m[(k[fa>>2]|0)+8>>1]&4|0)==0):0)d=14;else d=526;break}case 33:{d=526;break}case 113:{Af=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=Af;Af=(k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;yf=Af;c=k[yf>>2]|0;yf=k[yf+4>>2]|0;b=i0(c|0,yf|0,1,0)|0;k[Af>>2]=b;k[Af+4>>2]=M;Af=k[qa>>2]|0;k[Af>>2]=c;k[Af+4>>2]=yf;break}case 114:{Af=va;k[Af>>2]=0;k[Af+4>>2]=0;k[xa>>2]=0;Af=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=Af;k[wa>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];do if(!((l[(k[wa>>2]|0)+5>>0]|0)>>>1&1)){Af=tG(k[(k[wa>>2]|0)+16>>2]|0,xa)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;if(k[xa>>2]|0){Af=va;k[Af>>2]=1;k[Af+4>>2]=0;break}yf=Gq(k[(k[wa>>2]|0)+16>>2]|0)|0;Af=va;k[Af>>2]=yf;k[Af+4>>2]=M;Af=va;yf=k[Af+4>>2]|0;if((yf|0)>2147483647|(yf|0)==2147483647&(k[Af>>2]|0)>>>0>=4294967295){Af=(k[wa>>2]|0)+5|0;i[Af>>0]=i[Af>>0]&-3|2;break}else{yf=va;yf=i0(k[yf>>2]|0,k[yf+4>>2]|0,1,0)|0;Af=va;k[Af>>2]=yf;k[Af+4>>2]=M;break}}while(0);if(k[(k[rf>>2]|0)+12>>2]|0){if(k[(k[sf>>2]|0)+184>>2]|0){k[Aa>>2]=k[(k[sf>>2]|0)+184>>2];while(1){a=k[Aa>>2]|0;if(!(k[(k[Aa>>2]|0)+4>>2]|0))break;k[Aa>>2]=k[a+4>>2]}k[za>>2]=(k[a+16>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0)}else k[za>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);lw(k[za>>2]|0)|0;Af=k[za>>2]|0;if((k[Af>>2]|0)==-1?(k[Af+4>>2]|0)==2147483647:0){d=547;break c}if((l[(k[wa>>2]|0)+5>>0]|0)>>>1&1|0){d=547;break c}b=va;yf=k[b>>2]|0;b=k[b+4>>2]|0;Af=k[za>>2]|0;Af=i0(k[Af>>2]|0,k[Af+4>>2]|0,1,0)|0;c=M;if((b|0)<(c|0)|(b|0)==(c|0)&yf>>>0>>0){yf=k[za>>2]|0;yf=i0(k[yf>>2]|0,k[yf+4>>2]|0,1,0)|0;Af=va;k[Af>>2]=yf;k[Af+4>>2]=M}c=va;yf=k[c+4>>2]|0;Af=k[za>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf}if((l[(k[wa>>2]|0)+5>>0]|0)>>>1&1|0){k[ya>>2]=0;do{Cf(8,va);c=va;Af=k[c+4>>2]&1073741823;yf=va;k[yf>>2]=k[c>>2];k[yf+4>>2]=Af;yf=va;yf=i0(k[yf>>2]|0,k[yf+4>>2]|0,1,0)|0;Af=va;k[Af>>2]=yf;k[Af+4>>2]=M;Af=va;Af=iE(k[(k[wa>>2]|0)+16>>2]|0,0,k[Af>>2]|0,k[Af+4>>2]|0,0,xa)|0;k[uf>>2]=Af;if(!((Af|0)==0&(k[xa>>2]|0)==0))break;Af=(k[ya>>2]|0)+1|0;k[ya>>2]=Af}while((Af|0)<100);if(k[uf>>2]|0)break a;if(!(k[xa>>2]|0)){d=557;break c}}i[(k[wa>>2]|0)+3>>0]=0;k[(k[wa>>2]|0)+56>>2]=0;c=va;yf=k[c+4>>2]|0;Af=k[qa>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;break}case 116:case 115:{k[Ia>>2]=0;k[Ca>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);k[Ea>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];if((l[k[rf>>2]>>0]|0)==115){k[Da>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);b=k[Da>>2]|0;a=k[b>>2]|0;b=k[b+4>>2]|0}else{b=k[(k[rf>>2]|0)+12>>2]|0;a=b;b=((b|0)<0)<<31>>31}Af=Ja+8|0;k[Af>>2]=a;k[Af+4>>2]=b;if((i[(k[rf>>2]|0)+1>>0]|0)==-20?k[(k[vf>>2]|0)+220>>2]|0:0){k[Ga>>2]=k[(k[(k[vf>>2]|0)+16>>2]|0)+(i[(k[Ea>>2]|0)+1>>0]<<4)>>2];k[Ha>>2]=k[(k[rf>>2]|0)+16>>2];k[Ia>>2]=l[(k[rf>>2]|0)+3>>0]&4|0?23:18}else{k[Ha>>2]=0;k[Ga>>2]=0}if(l[(k[rf>>2]|0)+3>>0]&1|0){Af=(k[sf>>2]|0)+44|0;k[Af>>2]=(k[Af>>2]|0)+1}if(l[(k[rf>>2]|0)+3>>0]&2|0){yf=Ja+8|0;c=k[yf>>2]|0;yf=k[yf+4>>2]|0;Af=tf;k[Af>>2]=c;k[Af+4>>2]=yf;Af=(k[vf>>2]|0)+32|0;k[Af>>2]=c;k[Af+4>>2]=yf}if(m[(k[Ca>>2]|0)+8>>1]&1|0){k[Ja+16>>2]=0;a=0}else{k[Ja+16>>2]=k[(k[Ca>>2]|0)+16>>2];a=k[(k[Ca>>2]|0)+12>>2]|0}k[Ja+20>>2]=a;if(l[(k[rf>>2]|0)+3>>0]&16|0)a=k[(k[Ea>>2]|0)+28>>2]|0;else a=0;k[Fa>>2]=a;if(m[(k[Ca>>2]|0)+8>>1]&16384|0)a=k[k[Ca>>2]>>2]|0;else a=0;k[Ja+24>>2]=a;k[Ja>>2]=0;Af=uG(k[(k[Ea>>2]|0)+16>>2]|0,Ja,(l[(k[rf>>2]|0)+3>>0]&8|0)!=0&1,k[Fa>>2]|0)|0;k[uf>>2]=Af;i[(k[Ea>>2]|0)+3>>0]=0;k[(k[Ea>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;if(k[Ia>>2]|0?(k[(k[vf>>2]|0)+220>>2]|0)!=0:0){Af=Ja+8|0;Vb[k[(k[vf>>2]|0)+220>>2]&255](k[(k[vf>>2]|0)+216>>2]|0,k[Ia>>2]|0,k[Ga>>2]|0,k[k[Ha>>2]>>2]|0,k[Af>>2]|0,k[Af+4>>2]|0)}break}case 117:{k[Na>>2]=k[(k[rf>>2]|0)+8>>2];k[Ka>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];if((i[(k[rf>>2]|0)+1>>0]|0)==-20?k[(k[vf>>2]|0)+220>>2]|0:0){k[La>>2]=k[(k[(k[vf>>2]|0)+16>>2]|0)+(i[(k[Ka>>2]|0)+1>>0]<<4)>>2];k[Ma>>2]=k[(k[rf>>2]|0)+16>>2];if(l[(k[rf>>2]|0)+3>>0]&2|0?l[(k[Ka>>2]|0)+4>>0]|0:0){yf=Gq(k[(k[Ka>>2]|0)+16>>2]|0)|0;Af=(k[Ka>>2]|0)+40|0;k[Af>>2]=yf;k[Af+4>>2]=M}}else{k[La>>2]=0;k[Ma>>2]=0}Af=vG(k[(k[Ka>>2]|0)+16>>2]|0,i[(k[rf>>2]|0)+3>>0]|0)|0;k[uf>>2]=Af;k[(k[Ka>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;if((k[Na>>2]&1|0?(Af=(k[sf>>2]|0)+44|0,k[Af>>2]=(k[Af>>2]|0)+1,k[(k[vf>>2]|0)+220>>2]|0):0)?(l[(k[Ma>>2]|0)+42>>0]&32|0)==0:0){Af=(k[Ka>>2]|0)+40|0;Vb[k[(k[vf>>2]|0)+220>>2]&255](k[(k[vf>>2]|0)+216>>2]|0,9,k[La>>2]|0,k[k[Ma>>2]>>2]|0,k[Af>>2]|0,k[Af+4>>2]|0)}break}case 118:{gs(k[vf>>2]|0,k[(k[sf>>2]|0)+44>>2]|0);k[(k[sf>>2]|0)+44>>2]=0;break}case 119:{k[Oa>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[fa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);k[Qa>>2]=k[(k[rf>>2]|0)+16>>2];k[Pa>>2]=0;Af=wG(k[Oa>>2]|0,k[fa>>2]|0,k[Qa>>2]|0,Pa)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;if(k[Pa>>2]|0)d=14;break}case 120:{k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);k[Ra>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];Af=xG(k[Ra>>2]|0,k[qa>>2]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;k[(k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 122:case 121:{k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);k[Sa>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[Ta>>2]=k[(k[Sa>>2]|0)+16>>2];Af=Hq(k[Ta>>2]|0)|0;k[Ua>>2]=Af;if((k[Ua>>2]|0)>>>0>(k[(k[vf>>2]|0)+96>>2]|0)>>>0){d=886;break c}if(ni(k[qa>>2]|0,(k[Ua>>2]|0)>>>0>32?k[Ua>>2]|0:32)|0){d=887;break a}k[(k[qa>>2]|0)+12>>2]=k[Ua>>2];j[(k[qa>>2]|0)+8>>1]=m[(k[qa>>2]|0)+8>>1]&-49664|16;a=k[Ta>>2]|0;b=k[Ua>>2]|0;c=k[(k[qa>>2]|0)+16>>2]|0;if(!(l[(k[Sa>>2]|0)+4>>0]|0)){Af=Iq(a,0,b,c)|0;k[uf>>2]=Af}else{Af=yG(a,0,b,c)|0;k[uf>>2]=Af}if(k[uf>>2]|0)break a;i[(k[qa>>2]|0)+10>>0]=1;break}case 123:{Af=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=Af;k[Va>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];if(i[(k[Va>>2]|0)+2>>0]|0){j[(k[qa>>2]|0)+8>>1]=1;break d}a=k[Va>>2]|0;do if(!(i[(k[Va>>2]|0)+3>>0]|0)){b=k[Va>>2]|0;if((l[a>>0]|0)==2){k[Xa>>2]=k[k[b+16>>2]>>2];k[Ya>>2]=k[k[Xa>>2]>>2];Af=Wb[k[(k[Ya>>2]|0)+48>>2]&255](k[(k[Va>>2]|0)+16>>2]|0,Wa)|0;k[uf>>2]=Af;qs(k[sf>>2]|0,k[Xa>>2]|0);if(k[uf>>2]|0)break a;else break}Af=zG(b)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;if(i[(k[Va>>2]|0)+2>>0]|0){j[(k[qa>>2]|0)+8>>1]=1;break d}else{yf=Gq(k[(k[Va>>2]|0)+16>>2]|0)|0;Af=Wa;k[Af>>2]=yf;k[Af+4>>2]=M;break}}else{c=a+40|0;yf=k[c+4>>2]|0;Af=Wa;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf}while(0);c=Wa;yf=k[c+4>>2]|0;Af=k[qa>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;break}case 124:{k[Za>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];i[(k[Za>>2]|0)+2>>0]=1;k[(k[Za>>2]|0)+56>>2]=0;if(!(l[k[Za>>2]>>0]|0))Jr(k[(k[Za>>2]|0)+16>>2]|0);break}case 53:{k[_a>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[$a>>2]=k[(k[_a>>2]|0)+16>>2];k[ab>>2]=0;Af=tG(k[$a>>2]|0,ab)|0;k[uf>>2]=Af;i[(k[_a>>2]|0)+2>>0]=k[ab>>2];i[(k[_a>>2]|0)+3>>0]=0;k[(k[_a>>2]|0)+56>>2]=0;k[(k[_a>>2]|0)+28>>2]=k[(k[rf>>2]|0)+12>>2];if(k[uf>>2]|0)break a;if(k[ab>>2]|0?(k[(k[rf>>2]|0)+8>>2]|0)>0:0)d=14;break}case 56:case 55:{d=(k[sf>>2]|0)+156+8|0;k[d>>2]=(k[d>>2]|0)+1;d=619;break}case 57:{d=619;break}case 3:{k[fb>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[gb>>2]=0;d=CG(k[vf>>2]|0,k[fb>>2]|0,gb)|0;k[uf>>2]=d;d=627;break}case 5:case 4:{if(k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2]|0)d=626;break}case 7:case 6:{d=626;break}case 126:case 125:{k[hb>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[U>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);if(l[(k[rf>>2]|0)+3>>0]&1|0){Af=(k[sf>>2]|0)+44|0;k[Af>>2]=(k[Af>>2]|0)+1}if(m[(k[U>>2]|0)+8>>1]&16384|0)a=ri(k[U>>2]|0)|0;else a=0;k[uf>>2]=a;if(k[uf>>2]|0)break a;if((l[k[rf>>2]>>0]|0)==125){Af=DG(k[hb>>2]|0,k[U>>2]|0)|0;k[uf>>2]=Af}else{yf=k[(k[U>>2]|0)+12>>2]|0;Af=ib+8|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;k[ib>>2]=k[(k[U>>2]|0)+16>>2];if(l[(k[rf>>2]|0)+3>>0]&16|0)a=k[(k[hb>>2]|0)+28>>2]|0;else a=0;Af=uG(k[(k[hb>>2]|0)+16>>2]|0,ib,k[(k[rf>>2]|0)+12>>2]|0,a)|0;k[uf>>2]=Af;k[(k[hb>>2]|0)+56>>2]=0}if(k[uf>>2]|0)break a;break}case 127:{k[jb>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[kb>>2]=k[(k[jb>>2]|0)+16>>2];k[mb>>2]=k[(k[jb>>2]|0)+24>>2];j[mb+8>>1]=k[(k[rf>>2]|0)+12>>2];i[mb+10>>0]=0;k[mb+4>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);Af=iE(k[kb>>2]|0,mb,0,0,0,lb)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;if((k[lb>>2]|0)==0?(Af=vG(k[kb>>2]|0,4)|0,k[uf>>2]=Af,k[uf>>2]|0):0)break a;k[(k[jb>>2]|0)+56>>2]=0;break}case 129:case 128:{k[nb>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];Af=zG(k[nb>>2]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;if(i[(k[nb>>2]|0)+2>>0]|0){ii((k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0)|0);break d}Af=qb;k[Af>>2]=0;k[Af+4>>2]=0;Af=EG(k[vf>>2]|0,k[(k[nb>>2]|0)+16>>2]|0,qb)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;a=k[sf>>2]|0;if((l[k[rf>>2]>>0]|0)==128){k[ob>>2]=k[(k[a+112>>2]|0)+(k[(k[rf>>2]|0)+12>>2]<<2)>>2];i[(k[ob>>2]|0)+2>>0]=0;c=qb;yf=k[c+4>>2]|0;Af=(k[ob>>2]|0)+40|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;i[(k[ob>>2]|0)+3>>0]=1;k[(k[ob>>2]|0)+52>>2]=k[(k[rf>>2]|0)+16>>2];k[(k[ob>>2]|0)+48>>2]=k[nb>>2];break d}else{c=_F(a,k[rf>>2]|0)|0;k[qa>>2]=c;c=qb;yf=k[c+4>>2]|0;Af=k[qa>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;j[(k[qa>>2]|0)+8>>1]=4;break d}}case 61:case 60:case 59:case 58:{k[rb>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[tb>>2]=k[(k[rb>>2]|0)+24>>2];j[tb+8>>1]=k[(k[rf>>2]|0)+16>>2];i[tb+10>>0]=(l[k[rf>>2]>>0]|0)<60?-1:0;k[tb+4>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);k[sb>>2]=0;a=FG(k[vf>>2]|0,k[rb>>2]|0,tb,sb)|0;k[uf>>2]=a;a=k[sb>>2]|0;if(!(l[k[rf>>2]>>0]&1))k[sb>>2]=0-a;else k[sb>>2]=a+1;if(k[uf>>2]|0)break a;if((k[sb>>2]|0)>0)d=14;break}case 130:{Af=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=Af;j[(k[qa>>2]|0)+8>>1]=1;if((k[(k[vf>>2]|0)+160>>2]|0)>((k[(k[vf>>2]|0)+172>>2]|0)+1|0)){d=659;break c}k[vb>>2]=k[(k[rf>>2]|0)+12>>2];k[ub>>2]=0;yf=GG(k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[vb>>2]<<4)+4>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,ub)|0;k[uf>>2]=yf;j[(k[qa>>2]|0)+8>>1]=4;yf=k[ub>>2]|0;Af=k[qa>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;if(k[uf>>2]|0)break a;if(k[ub>>2]|0){HG(k[vf>>2]|0,k[vb>>2]|0,k[ub>>2]|0,k[(k[rf>>2]|0)+4>>2]|0);i[ff>>0]=(k[vb>>2]|0)+1}break}case 131:{k[wb>>2]=0;Af=IG(k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[(k[rf>>2]|0)+8>>2]<<4)+4>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,k[(k[rf>>2]|0)+12>>2]|0?wb:0)|0;k[uf>>2]=Af;if(k[(k[rf>>2]|0)+12>>2]|0?(Af=(k[sf>>2]|0)+44|0,k[Af>>2]=(k[Af>>2]|0)+(k[wb>>2]|0),(k[(k[rf>>2]|0)+12>>2]|0)>0):0){yf=k[wb>>2]|0;Af=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0)|0;c=Af;yf=i0(k[c>>2]|0,k[c+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[Af>>2]=yf;k[Af+4>>2]=M}if(k[uf>>2]|0)break a;break}case 133:{k[xb>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];if((l[k[xb>>2]>>0]|0)!=1){Af=JG(k[(k[xb>>2]|0)+16>>2]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;else break d}else{zs(k[vf>>2]|0,k[(k[xb>>2]|0)+16>>2]|0);break d}}case 135:case 134:{Af=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=Af;k[yb>>2]=0;k[Bb>>2]=(k[(k[vf>>2]|0)+16>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<4);if((l[k[rf>>2]>>0]|0)==135)k[zb>>2]=1;else k[zb>>2]=2;Af=pG(k[(k[Bb>>2]|0)+4>>2]|0,yb,k[zb>>2]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;yf=k[yb>>2]|0;Af=k[qa>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 136:{k[Cb>>2]=k[(k[rf>>2]|0)+4>>2];k[Db>>2]=(k[Cb>>2]|0)==1?26433:26452;k[Fb>>2]=k[vf>>2];k[Fb+8>>2]=k[(k[rf>>2]|0)+4>>2];k[Fb+4>>2]=(k[sf>>2]|0)+108;Af=k[vf>>2]|0;c=k[Db>>2]|0;yf=k[(k[rf>>2]|0)+16>>2]|0;k[$e>>2]=k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[Cb>>2]<<4)>>2];k[$e+4>>2]=c;k[$e+8>>2]=yf;Af=ek(Af,39112,$e)|0;k[Eb>>2]=Af;if(!(k[Eb>>2]|0))k[uf>>2]=7;else{i[(k[vf>>2]|0)+148+5>>0]=1;k[Fb+12>>2]=0;Af=Av(k[vf>>2]|0,k[Eb>>2]|0,146,Fb,0)|0;k[uf>>2]=Af;if(!(k[uf>>2]|0))k[uf>>2]=k[Fb+12>>2];fe(k[vf>>2]|0,k[Eb>>2]|0);i[(k[vf>>2]|0)+148+5>>0]=0}if(k[uf>>2]|0){d=681;break c}break}case 137:{Af=Bv(k[vf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;break}case 138:{KG(k[vf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,k[(k[rf>>2]|0)+16>>2]|0);break}case 139:{LG(k[vf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,k[(k[rf>>2]|0)+16>>2]|0);break}case 140:{MG(k[vf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,k[(k[rf>>2]|0)+16>>2]|0);break}case 141:{k[Gb>>2]=k[(k[rf>>2]|0)+8>>2];k[Hb>>2]=k[(k[rf>>2]|0)+16>>2];k[Kb>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);yf=NG(k[(k[(k[vf>>2]|0)+16>>2]|0)+(l[(k[rf>>2]|0)+3>>0]<<4)+4>>2]|0,k[Hb>>2]|0,k[Gb>>2]|0,k[k[Kb>>2]>>2]|0,Ib)|0;k[Jb>>2]=yf;yf=k[Ib>>2]|0;Af=k[Kb>>2]|0;c=Af;yf=h0(k[c>>2]|0,k[c+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[Af>>2]=yf;k[Af+4>>2]=M;ii(k[G>>2]|0);if(k[Ib>>2]|0){if(!(k[Jb>>2]|0)){d=887;break a}mi(k[G>>2]|0,k[Jb>>2]|0,-1,1,157)|0}yi(k[G>>2]|0,l[ne>>0]|0)|0;break}case 142:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[U>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);if((m[(k[G>>2]|0)+8>>1]&32|0)==0?(OG(k[G>>2]|0),(m[(k[G>>2]|0)+8>>1]&32|0)==0):0){d=887;break a}Af=k[U>>2]|0;PG(k[k[G>>2]>>2]|0,k[Af>>2]|0,k[Af+4>>2]|0);break}case 62:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);if(m[(k[G>>2]|0)+8>>1]&32|0?QG(k[k[G>>2]>>2]|0,Mb)|0:0){d=Mb;gi((k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0)|0,k[d>>2]|0,k[d+4>>2]|0);d=8;break d}ii(k[G>>2]|0);d=7;break}case 63:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[fa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);k[Nb>>2]=k[(k[rf>>2]|0)+16>>2];if((m[(k[G>>2]|0)+8>>1]&32|0)==0?(OG(k[G>>2]|0),(m[(k[G>>2]|0)+8>>1]&32|0)==0):0){d=887;break a}if(k[Nb>>2]|0?(Af=k[fa>>2]|0,Af=RG(k[k[G>>2]>>2]|0,k[Nb>>2]|0,k[Af>>2]|0,k[Af+4>>2]|0)|0,k[Ob>>2]=Af,k[Ob>>2]|0):0){d=14;break d}if((k[Nb>>2]|0)>=0){Af=k[fa>>2]|0;PG(k[k[G>>2]>>2]|0,k[Af>>2]|0,k[Af+4>>2]|0)}break}case 64:{k[ac>>2]=k[(k[rf>>2]|0)+16>>2];k[Yb>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);if(i[(k[rf>>2]|0)+3>>0]|0){k[cc>>2]=k[(k[ac>>2]|0)+16>>2];k[$b>>2]=k[(k[sf>>2]|0)+184>>2];while(1){if(!(k[$b>>2]|0))break;if((k[(k[$b>>2]|0)+24>>2]|0)==(k[cc>>2]|0))break;k[$b>>2]=k[(k[$b>>2]|0)+4>>2]}if(k[$b>>2]|0)break d}if((k[(k[sf>>2]|0)+192>>2]|0)>=(k[(k[vf>>2]|0)+96+40>>2]|0)){d=710;break c}i:do if(!(m[(k[Yb>>2]|0)+8>>1]&64)){k[Qb>>2]=(k[(k[ac>>2]|0)+8>>2]|0)+(k[(k[ac>>2]|0)+12>>2]|0);if(!(k[(k[ac>>2]|0)+12>>2]|0))k[Qb>>2]=(k[Qb>>2]|0)+1;k[Tb>>2]=80+((k[Qb>>2]|0)*40|0)+(k[(k[ac>>2]|0)+12>>2]<<2);Af=k[Tb>>2]|0;Af=im(k[vf>>2]|0,Af,((Af|0)<0)<<31>>31)|0;k[$b>>2]=Af;if(!(k[$b>>2]|0)){d=887;break a}oi(k[Yb>>2]|0);j[(k[Yb>>2]|0)+8>>1]=64;k[k[Yb>>2]>>2]=k[$b>>2];k[k[$b>>2]>>2]=k[sf>>2];k[(k[$b>>2]|0)+60>>2]=k[Qb>>2];k[(k[$b>>2]|0)+64>>2]=k[(k[ac>>2]|0)+12>>2];k[(k[$b>>2]|0)+48>>2]=((k[rf>>2]|0)-(k[qf>>2]|0)|0)/20|0;k[(k[$b>>2]|0)+16>>2]=k[(k[sf>>2]|0)+92>>2];k[(k[$b>>2]|0)+56>>2]=k[(k[sf>>2]|0)+24>>2];k[(k[$b>>2]|0)+20>>2]=k[(k[sf>>2]|0)+112>>2];k[(k[$b>>2]|0)+44>>2]=k[(k[sf>>2]|0)+28>>2];k[(k[$b>>2]|0)+8>>2]=k[(k[sf>>2]|0)+88>>2];k[(k[$b>>2]|0)+52>>2]=k[(k[sf>>2]|0)+136>>2];k[(k[$b>>2]|0)+24>>2]=k[(k[ac>>2]|0)+16>>2];k[_b>>2]=(k[$b>>2]|0)+80+((k[(k[$b>>2]|0)+60>>2]|0)*40|0);k[Zb>>2]=(k[$b>>2]|0)+80;while(1){if((k[Zb>>2]|0)==(k[_b>>2]|0))break i;j[(k[Zb>>2]|0)+8>>1]=128;k[(k[Zb>>2]|0)+32>>2]=k[vf>>2];k[Zb>>2]=(k[Zb>>2]|0)+40}}else k[$b>>2]=k[k[Yb>>2]>>2];while(0);c=(k[sf>>2]|0)+192|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[$b>>2]|0)+4>>2]=k[(k[sf>>2]|0)+184>>2];c=tf;yf=k[c+4>>2]|0;Af=(k[$b>>2]|0)+32|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;k[(k[$b>>2]|0)+68>>2]=k[(k[sf>>2]|0)+44>>2];k[(k[$b>>2]|0)+72>>2]=k[(k[k[sf>>2]>>2]|0)+88>>2];k[(k[$b>>2]|0)+40>>2]=k[(k[sf>>2]|0)+204>>2];k[(k[sf>>2]|0)+204>>2]=0;k[(k[sf>>2]|0)+44>>2]=0;k[(k[sf>>2]|0)+184>>2]=k[$b>>2];Af=(k[$b>>2]|0)+80|0;k[w>>2]=Af;k[(k[sf>>2]|0)+92>>2]=Af;k[(k[sf>>2]|0)+24>>2]=k[(k[$b>>2]|0)+60>>2];k[(k[sf>>2]|0)+28>>2]=k[(k[$b>>2]|0)+64>>2]&65535;k[(k[sf>>2]|0)+112>>2]=(k[w>>2]|0)+((k[(k[sf>>2]|0)+24>>2]|0)*40|0);Af=k[k[ac>>2]>>2]|0;k[qf>>2]=Af;k[(k[sf>>2]|0)+88>>2]=Af;k[(k[sf>>2]|0)+136>>2]=k[(k[ac>>2]|0)+4>>2];k[rf>>2]=(k[qf>>2]|0)+-20;break}case 143:{Af=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=Af;k[dc>>2]=k[(k[sf>>2]|0)+184>>2];k[ec>>2]=(k[(k[dc>>2]|0)+16>>2]|0)+(((k[(k[rf>>2]|0)+4>>2]|0)+(k[(k[(k[dc>>2]|0)+8>>2]|0)+((k[(k[dc>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);uj(k[qa>>2]|0,k[ec>>2]|0,4096);break}case 144:{a=k[rf>>2]|0;if(k[(k[vf>>2]|0)+24>>2]&33554432|0){c=k[a+8>>2]|0;a=(k[vf>>2]|0)+448|0;b=c;c=((c|0)<0)<<31>>31}else{c=k[(k[rf>>2]|0)+8>>2]|0;a=k[a+4>>2]|0?(k[vf>>2]|0)+440|0:(k[sf>>2]|0)+64|0;b=c;c=((c|0)<0)<<31>>31}yf=a;yf=i0(k[yf>>2]|0,k[yf+4>>2]|0,b|0,c|0)|0;Af=a;k[Af>>2]=yf;k[Af+4>>2]=M;break}case 65:if(k[(k[rf>>2]|0)+4>>2]|0){Af=(k[vf>>2]|0)+440|0;if(!((k[Af>>2]|0)==0&(k[Af+4>>2]|0)==0))break d;Af=(k[vf>>2]|0)+448|0;if((k[Af>>2]|0)==0&(k[Af+4>>2]|0)==0){d=14;break d}else break d}else{Af=(k[sf>>2]|0)+64|0;if(!((k[Af>>2]|0)==0&(k[Af+4>>2]|0)==0))break d;Af=(k[vf>>2]|0)+448|0;if((k[Af>>2]|0)==0&(k[Af+4>>2]|0)==0){d=14;break d}else break d}case 145:{if(k[(k[sf>>2]|0)+184>>2]|0){k[fc>>2]=k[(k[sf>>2]|0)+184>>2];while(1){a=k[fc>>2]|0;if(!(k[(k[fc>>2]|0)+4>>2]|0))break;k[fc>>2]=k[a+4>>2]}k[G>>2]=(k[a+16>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0)}else k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);lw(k[G>>2]|0)|0;k[U>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0);lw(k[U>>2]|0)|0;yf=k[G>>2]|0;b=k[yf+4>>2]|0;Af=k[U>>2]|0;c=k[Af+4>>2]|0;if((b|0)<(c|0)|((b|0)==(c|0)?(k[yf>>2]|0)>>>0<(k[Af>>2]|0)>>>0:0)){c=k[U>>2]|0;yf=k[c+4>>2]|0;Af=k[G>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf}break}case 66:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);Af=k[G>>2]|0;yf=k[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(k[Af>>2]|0)>>>0>0){Af=k[(k[rf>>2]|0)+12>>2]|0;d=k[G>>2]|0;yf=d;Af=h0(k[yf>>2]|0,k[yf+4>>2]|0,Af|0,((Af|0)<0)<<31>>31|0)|0;k[d>>2]=Af;k[d+4>>2]=M;d=14}break}case 146:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);k[fa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);Af=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=Af;Af=k[G>>2]|0;yf=k[Af+4>>2]|0;if((yf|0)<0|(yf|0)==0&(k[Af>>2]|0)>>>0<=0){a=-1;b=-1}else{a=k[G>>2]|0;Af=k[fa>>2]|0;yf=k[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(k[Af>>2]|0)>>>0>0){c=k[fa>>2]|0;b=k[c>>2]|0;c=k[c+4>>2]|0}else{b=0;c=0}a=i0(k[a>>2]|0,k[a+4>>2]|0,b|0,c|0)|0;b=M}Af=k[qa>>2]|0;k[Af>>2]=a;k[Af+4>>2]=b;break}case 67:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);Af=k[G>>2]|0;if((k[Af>>2]|0)!=0|(k[Af+4>>2]|0)!=0){Af=k[(k[rf>>2]|0)+12>>2]|0;d=k[G>>2]|0;yf=d;Af=h0(k[yf>>2]|0,k[yf+4>>2]|0,Af|0,((Af|0)<0)<<31>>31|0)|0;k[d>>2]=Af;k[d+4>>2]=M;d=14}break}case 68:{k[G>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);Af=k[G>>2]|0;yf=Af;yf=i0(k[yf>>2]|0,k[yf+4>>2]|0,-1,-1)|0;k[Af>>2]=yf;k[Af+4>>2]=M;Af=k[G>>2]|0;if((k[Af>>2]|0)==0&(k[Af+4>>2]|0)==0)d=14;break}case 147:{k[gc>>2]=l[(k[rf>>2]|0)+3>>0];Af=Od(k[vf>>2]|0,32+((k[gc>>2]|0)-1<<2)|0,0)|0;k[hc>>2]=Af;if(!(k[hc>>2]|0)){d=887;break a}k[(k[hc>>2]|0)+8>>2]=0;k[(k[hc>>2]|0)+4>>2]=k[(k[rf>>2]|0)+16>>2];k[(k[hc>>2]|0)+16>>2]=((k[rf>>2]|0)-(k[qf>>2]|0)|0)/20|0;k[(k[hc>>2]|0)+12>>2]=k[sf>>2];i[(k[hc>>2]|0)+26>>0]=k[gc>>2];i[(k[rf>>2]|0)+1>>0]=-21;k[(k[rf>>2]|0)+16>>2]=k[hc>>2];i[k[rf>>2]>>0]=-108;d=750;break}case 148:{d=750;break}case 149:{k[nc>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);Af=ki(k[nc>>2]|0,k[(k[rf>>2]|0)+16>>2]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0){d=762;break c}yi(k[nc>>2]|0,l[ne>>0]|0)|0;if($F(k[nc>>2]|0)|0){d=886;break c}break}case 8:{k[pc>>2]=0;k[pc+8>>2]=-1;k[pc+4>>2]=-1;Af=aB(k[vf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,k[(k[rf>>2]|0)+8>>2]|0,pc+4|0,pc+8|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0){if((k[uf>>2]|0)!=5)break a;k[uf>>2]=0;k[pc>>2]=1}k[oc>>2]=0;k[qc>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);while(1){if((k[oc>>2]|0)>=3)break d;Af=k[pc+(k[oc>>2]<<2)>>2]|0;gi(k[qc>>2]|0,Af,((Af|0)<0)<<31>>31);k[oc>>2]=(k[oc>>2]|0)+1;k[qc>>2]=(k[qc>>2]|0)+40}}case 9:{Af=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=Af;k[tc>>2]=k[(k[rf>>2]|0)+12>>2];k[rc>>2]=k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<4)+4>>2];Af=Ak(k[rc>>2]|0)|0;k[sc>>2]=Af;Af=Tp(k[sc>>2]|0)|0;k[uc>>2]=Af;if((k[tc>>2]|0)==-1)k[tc>>2]=k[uc>>2];if(!(SG(k[sc>>2]|0)|0))k[tc>>2]=k[uc>>2];Af=Wl(k[sc>>2]|0,1)|0;k[vc>>2]=Af;do if((k[tc>>2]|0)==5){if(wd(k[vc>>2]|0)|0?nr(k[sc>>2]|0)|0:0)break;k[tc>>2]=k[uc>>2]}while(0);if((k[tc>>2]|0)!=(k[uc>>2]|0)?(k[uc>>2]|0)==5|(k[tc>>2]|0)==5:0){if(!(i[(k[vf>>2]|0)+67>>0]|0)){d=782;break c}if((k[(k[vf>>2]|0)+160>>2]|0)>1){d=782;break c}if((k[uc>>2]|0)==5){Af=TG(k[sc>>2]|0)|0;k[uf>>2]=Af;if(!(k[uf>>2]|0))UG(k[sc>>2]|0,k[tc>>2]|0)|0}else if((k[uc>>2]|0)==4)UG(k[sc>>2]|0,2)|0;if(!(k[uf>>2]|0)){Af=Yp(k[rc>>2]|0,(k[tc>>2]|0)==5?2:1)|0;k[uf>>2]=Af}}if(k[uf>>2]|0)k[tc>>2]=k[uc>>2];Af=UG(k[sc>>2]|0,k[tc>>2]|0)|0;k[tc>>2]=Af;j[(k[qa>>2]|0)+8>>1]=2562;Af=zA(k[tc>>2]|0)|0;k[(k[qa>>2]|0)+16>>2]=Af;Af=wd(k[(k[qa>>2]|0)+16>>2]|0)|0;k[(k[qa>>2]|0)+12>>2]=Af;i[(k[qa>>2]|0)+10>>0]=1;yi(k[qa>>2]|0,l[ne>>0]|0)|0;if(k[uf>>2]|0)break a;break}case 10:{Af=VG((k[sf>>2]|0)+108|0,k[vf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;break}case 69:{k[wc>>2]=k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<4)+4>>2];Af=WG(k[wc>>2]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0){if((k[uf>>2]|0)!=101)break a;k[uf>>2]=0;d=14}break}case 150:if(k[(k[rf>>2]|0)+4>>2]|0){Af=(k[sf>>2]|0)+144|0;j[Af>>1]=j[Af>>1]&-2|1;break d}else{_q(k[vf>>2]|0);break d}case 151:{i[yc>>0]=k[(k[rf>>2]|0)+12>>2];if((l[yc>>0]|0)==0?0!=(k[(k[vf>>2]|0)+24>>2]&16384|0):0)break d;k[zc>>2]=k[(k[rf>>2]|0)+4>>2];Af=XG(k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[zc>>2]<<4)+4>>2]|0,k[(k[rf>>2]|0)+8>>2]|0,i[yc>>0]|0)|0;k[uf>>2]=Af;if(k[uf>>2]|0){d=803;break c}break}case 152:{k[Bc>>2]=k[(k[rf>>2]|0)+16>>2];Af=YG(k[vf>>2]|0,k[Bc>>2]|0)|0;k[uf>>2]=Af;if(k[Bc>>2]|0)qs(k[sf>>2]|0,k[(k[Bc>>2]|0)+8>>2]|0);if(k[uf>>2]|0)break a;break}case 153:{a=Cc;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[Cc+32>>2]=k[vf>>2];Af=jj(Cc,(k[w>>2]|0)+((k[(k[rf>>2]|0)+8>>2]|0)*40|0)|0)|0;k[uf>>2]=Af;Af=$h(Cc)|0;k[Dc>>2]=Af;if(k[Dc>>2]|0){Af=ZG(k[vf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,k[Dc>>2]|0,(k[sf>>2]|0)+108|0)|0;k[uf>>2]=Af}oi(Cc);if(k[uf>>2]|0)break a;break}case 154:{Af=(k[vf>>2]|0)+172|0;k[Af>>2]=(k[Af>>2]|0)+1;Af=_G(k[vf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,k[(k[rf>>2]|0)+16>>2]|0)|0;k[uf>>2]=Af;Af=(k[vf>>2]|0)+172|0;k[Af>>2]=(k[Af>>2]|0)+-1;if(k[uf>>2]|0)break a;break}case 155:{k[Ec>>2]=0;k[Fc>>2]=0;k[Gc>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+8>>2];if(!(k[Gc>>2]|0)){d=814;break c}if(!(k[k[Gc>>2]>>2]|0)){d=814;break c}k[Hc>>2]=k[k[Gc>>2]>>2];Af=Wb[k[(k[Hc>>2]|0)+24>>2]&255](k[Gc>>2]|0,Fc)|0;k[uf>>2]=Af;qs(k[sf>>2]|0,k[Gc>>2]|0);if(k[uf>>2]|0)break a;k[k[Fc>>2]>>2]=k[Gc>>2];Af=mG(k[sf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,0,-1,2)|0;k[Ec>>2]=Af;if(!(k[Ec>>2]|0)){d=818;break c}k[(k[Ec>>2]|0)+16>>2]=k[Fc>>2];Af=(k[Gc>>2]|0)+4|0;k[Af>>2]=(k[Af>>2]|0)+1;break}case 11:{k[Mc>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);k[Nc>>2]=(k[Mc>>2]|0)+40;k[Qc>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[Oc>>2]=k[(k[Qc>>2]|0)+16>>2];k[Pc>>2]=k[k[Oc>>2]>>2];k[Lc>>2]=k[k[Pc>>2]>>2];k[Jc>>2]=k[k[Nc>>2]>>2];k[Kc>>2]=k[k[Mc>>2]>>2];k[Rc>>2]=0;k[Uc>>2]=k[(k[sf>>2]|0)+96>>2];k[Sc>>2]=0;while(1){if((k[Sc>>2]|0)>=(k[Jc>>2]|0))break;k[(k[Uc>>2]|0)+(k[Sc>>2]<<2)>>2]=(k[Nc>>2]|0)+(((k[Sc>>2]|0)+1|0)*40|0);k[Sc>>2]=(k[Sc>>2]|0)+1}Af=Xb[k[(k[Lc>>2]|0)+32>>2]&255](k[Oc>>2]|0,k[Kc>>2]|0,k[(k[rf>>2]|0)+16>>2]|0,k[Jc>>2]|0,k[Uc>>2]|0)|0;k[uf>>2]=Af;qs(k[sf>>2]|0,k[Pc>>2]|0);if(k[uf>>2]|0)break a;Af=Rb[k[(k[Lc>>2]|0)+40>>2]&255](k[Oc>>2]|0)|0;k[Rc>>2]=Af;i[(k[Qc>>2]|0)+2>>0]=0;if(k[Rc>>2]|0)d=14;break}case 156:{k[Zc>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[Xc>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);if(i[(k[Zc>>2]|0)+2>>0]|0){ii(k[Xc>>2]|0);break d}k[Vc>>2]=k[k[(k[Zc>>2]|0)+16>>2]>>2];k[Wc>>2]=k[k[Vc>>2]>>2];k[Yc>>2]=0;k[Yc+4>>2]=0;k[Yc+8>>2]=0;k[Yc+12>>2]=0;k[Yc+16>>2]=0;k[Yc+20>>2]=0;k[Yc+24>>2]=0;k[Yc+28>>2]=0;k[Yc>>2]=k[Xc>>2];j[(k[Xc>>2]|0)+8>>1]=m[(k[Xc>>2]|0)+8>>1]&-49664|1;Af=Lb[k[(k[Wc>>2]|0)+44>>2]&255](k[(k[Zc>>2]|0)+16>>2]|0,Yc,k[(k[rf>>2]|0)+8>>2]|0)|0;k[uf>>2]=Af;qs(k[sf>>2]|0,k[Vc>>2]|0);if(k[Yc+20>>2]|0)k[uf>>2]=k[Yc+20>>2];yi(k[Xc>>2]|0,l[ne>>0]|0)|0;if($F(k[Xc>>2]|0)|0){d=886;break c}if(k[uf>>2]|0)break a;break}case 70:{k[ad>>2]=0;k[bd>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];if(!(i[(k[bd>>2]|0)+2>>0]|0)){k[_c>>2]=k[k[(k[bd>>2]|0)+16>>2]>>2];k[$c>>2]=k[k[_c>>2]>>2];Af=Rb[k[(k[$c>>2]|0)+36>>2]&255](k[(k[bd>>2]|0)+16>>2]|0)|0;k[uf>>2]=Af;qs(k[sf>>2]|0,k[_c>>2]|0);if(k[uf>>2]|0)break a;Af=Rb[k[(k[$c>>2]|0)+40>>2]&255](k[(k[bd>>2]|0)+16>>2]|0)|0;k[ad>>2]=Af;if(k[ad>>2]|0)d=8;else d=7}break}case 157:{k[dd>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+8>>2];k[ed>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0);Af=yi(k[ed>>2]|0,1)|0;k[uf>>2]=Af;if(k[uf>>2]|0)break a;Af=Wb[k[(k[k[dd>>2]>>2]|0)+76>>2]&255](k[dd>>2]|0,k[(k[ed>>2]|0)+16>>2]|0)|0;k[uf>>2]=Af;qs(k[sf>>2]|0,k[dd>>2]|0);Af=(k[sf>>2]|0)+144|0;j[Af>>1]=j[Af>>1]&-2;if(k[uf>>2]|0)break a;break}case 12:{k[fd>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+8>>2];if(!(k[fd>>2]|0)){d=837;break c}if(!(k[k[fd>>2]>>2]|0)){d=837;break c}k[gd>>2]=k[k[fd>>2]>>2];k[hd>>2]=k[(k[rf>>2]|0)+8>>2];if(k[(k[gd>>2]|0)+52>>2]|0){i[md>>0]=i[(k[vf>>2]|0)+74>>0]|0;k[kd>>2]=k[(k[sf>>2]|0)+96>>2];k[ld>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);k[id>>2]=0;while(1){if((k[id>>2]|0)>=(k[hd>>2]|0))break;k[(k[kd>>2]|0)+(k[id>>2]<<2)>>2]=k[ld>>2];k[ld>>2]=(k[ld>>2]|0)+40;k[id>>2]=(k[id>>2]|0)+1}i[(k[vf>>2]|0)+74>>0]=i[(k[rf>>2]|0)+3>>0]|0;Af=Ub[k[(k[gd>>2]|0)+52>>2]&255](k[fd>>2]|0,k[hd>>2]|0,k[kd>>2]|0,jd)|0;k[uf>>2]=Af;i[(k[vf>>2]|0)+74>>0]=i[md>>0]|0;qs(k[sf>>2]|0,k[fd>>2]|0);if((k[uf>>2]|0)==0?k[(k[rf>>2]|0)+4>>2]|0:0){yf=jd;c=k[yf>>2]|0;yf=k[yf+4>>2]|0;Af=tf;k[Af>>2]=c;k[Af+4>>2]=yf;Af=(k[vf>>2]|0)+32|0;k[Af>>2]=c;k[Af+4>>2]=yf}do if((k[uf>>2]&255|0)==19?l[(k[(k[rf>>2]|0)+16>>2]|0)+16>>0]|0:0){if((l[(k[rf>>2]|0)+3>>0]|0)==4){k[uf>>2]=0;break}if((l[(k[rf>>2]|0)+3>>0]|0)==5)a=2;else a=l[(k[rf>>2]|0)+3>>0]|0;i[(k[sf>>2]|0)+142>>0]=a}else d=852;while(0);if((d|0)==852){d=0;Af=(k[sf>>2]|0)+44|0;k[Af>>2]=(k[Af>>2]|0)+1}if(k[uf>>2]|0)break a}break}case 158:{yf=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=yf;yf=Wn(k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;Af=k[qa>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=0;break}case 159:{Af=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=Af;k[pd>>2]=k[(k[(k[vf>>2]|0)+16>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<4)+4>>2];k[od>>2]=0;if(k[(k[rf>>2]|0)+12>>2]|0?(Af=Wn(k[pd>>2]|0)|0,k[od>>2]=Af,(k[od>>2]|0)>>>0<(k[(k[rf>>2]|0)+12>>2]|0)>>>0):0)k[od>>2]=k[(k[rf>>2]|0)+12>>2];yf=$G(k[pd>>2]|0,k[od>>2]|0)|0;Af=k[qa>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 71:{do if(l[(k[vf>>2]|0)+76>>0]&129|0?((m[(k[sf>>2]|0)+144>>1]|0)>>>1&1|0)==0:0){if(k[(k[rf>>2]|0)+16>>2]|0)a=k[(k[rf>>2]|0)+16>>2]|0;else a=k[(k[sf>>2]|0)+176>>2]|0;k[qd>>2]=a;if(a|0){a=k[(k[vf>>2]|0)+184>>2]|0;if(l[(k[vf>>2]|0)+76>>0]&128|0){k[sd>>2]=a;Af=aH(k[sf>>2]|0,k[qd>>2]|0)|0;k[td>>2]=Af;Pb[k[sd>>2]&255](k[(k[vf>>2]|0)+188>>2]|0,k[td>>2]|0);ie(k[td>>2]|0);break}else{Ub[a&255](1,k[(k[vf>>2]|0)+188>>2]|0,k[sf>>2]|0,k[qd>>2]|0)|0;break}}}while(0);if((k[(k[rf>>2]|0)+4>>2]|0)>=(k[70]|0)){k[rd>>2]=1;while(1){if((k[rd>>2]|0)>=(k[(k[sf>>2]|0)+136>>2]|0))break;if((l[(k[(k[sf>>2]|0)+88>>2]|0)+((k[rd>>2]|0)*20|0)>>0]|0)==20)k[(k[(k[sf>>2]|0)+88>>2]|0)+((k[rd>>2]|0)*20|0)+4>>2]=0;k[rd>>2]=(k[rd>>2]|0)+1}k[(k[rf>>2]|0)+4>>2]=0}d=(k[rf>>2]|0)+4|0;k[d>>2]=(k[d>>2]|0)+1;d=14;break}default:{}}while(0);do if((d|0)==20){d=0;k[lf>>2]=((k[rf>>2]|0)-(k[qf>>2]|0)|0)/20|0;if(k[(k[rf>>2]|0)+4>>2]|0){d=25;break c}if(!(k[(k[sf>>2]|0)+184>>2]|0)){d=25;break c}k[Ab>>2]=k[(k[sf>>2]|0)+184>>2];k[(k[sf>>2]|0)+184>>2]=k[(k[Ab>>2]|0)+4>>2];c=(k[sf>>2]|0)+192|0;k[c>>2]=(k[c>>2]|0)+-1;gs(k[vf>>2]|0,k[(k[sf>>2]|0)+44>>2]|0);c=ts(k[Ab>>2]|0)|0;k[lf>>2]=c;c=(k[vf>>2]|0)+32|0;yf=k[c+4>>2]|0;Af=tf;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;if((k[(k[rf>>2]|0)+8>>2]|0)==4)k[lf>>2]=(k[(k[(k[sf>>2]|0)+88>>2]|0)+((k[lf>>2]|0)*20|0)+8>>2]|0)-1;k[qf>>2]=k[(k[sf>>2]|0)+88>>2];k[w>>2]=k[(k[sf>>2]|0)+92>>2];k[rf>>2]=(k[qf>>2]|0)+((k[lf>>2]|0)*20|0)}else if((d|0)==43){d=0;Af=_F(k[sf>>2]|0,k[rf>>2]|0)|0;k[qa>>2]=Af;j[(k[qa>>2]|0)+8>>1]=2562;k[(k[qa>>2]|0)+16>>2]=k[(k[rf>>2]|0)+16>>2];k[(k[qa>>2]|0)+12>>2]=k[(k[rf>>2]|0)+4>>2];i[(k[qa>>2]|0)+10>>0]=i[ne>>0]|0;if((k[(k[rf>>2]|0)+12>>2]|0)>0?(k[fa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0),Af=k[fa>>2]|0,(k[Af+4>>2]|0)==0?(k[Af>>2]|0)==(l[(k[rf>>2]|0)+3>>0]|0):0):0)j[(k[qa>>2]|0)+8>>1]=2576}else if((d|0)==126){d=0;k[Kd>>2]=k[(k[rf>>2]|0)+16>>2];k[qa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);j:do if((k[k[Kd>>2]>>2]|0)!=(k[qa>>2]|0)){k[k[Kd>>2]>>2]=k[qa>>2];k[Jd>>2]=(l[(k[Kd>>2]|0)+26>>0]|0)-1;while(1){if((k[Jd>>2]|0)<0)break j;k[(k[Kd>>2]|0)+28+(k[Jd>>2]<<2)>>2]=(k[w>>2]|0)+(((k[(k[rf>>2]|0)+8>>2]|0)+(k[Jd>>2]|0)|0)*40|0);k[Jd>>2]=(k[Jd>>2]|0)+-1}}while(0);j[(k[k[Kd>>2]>>2]|0)+8>>1]=m[(k[k[Kd>>2]>>2]|0)+8>>1]&-49664|1;i[(k[Kd>>2]|0)+25>>0]=0;Af=tf;yf=k[Af+4>>2]|0;c=(k[vf>>2]|0)+32|0;k[c>>2]=k[Af>>2];k[c+4>>2]=yf;Sb[k[(k[(k[Kd>>2]|0)+4>>2]|0)+12>>2]&255](k[Kd>>2]|0,l[(k[Kd>>2]|0)+26>>0]|0,(k[Kd>>2]|0)+28|0);c=(k[vf>>2]|0)+32|0;yf=k[c+4>>2]|0;Af=tf;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;if(i[(k[Kd>>2]|0)+25>>0]|0){if(k[(k[Kd>>2]|0)+20>>2]|0){Af=k[sf>>2]|0;yf=$h(k[k[Kd>>2]>>2]|0)|0;k[We>>2]=yf;ss(Af,21240,We);k[uf>>2]=k[(k[Kd>>2]|0)+20>>2]}ws(k[vf>>2]|0,(k[sf>>2]|0)+204|0,k[(k[Kd>>2]|0)+16>>2]|0,k[(k[rf>>2]|0)+4>>2]|0);if(k[uf>>2]|0)break a}if(m[(k[qa>>2]|0)+8>>1]&18|0?(yi(k[k[Kd>>2]>>2]|0,l[ne>>0]|0)|0,$F(k[k[Kd>>2]>>2]|0)|0):0){d=886;break c}}else if((d|0)==446){if(j[(k[sf>>2]|0)+144>>1]&1|0){d=447;break c}k[H>>2]=0;k[I>>2]=0;k[J>>2]=k[(k[rf>>2]|0)+8>>2];k[K>>2]=k[(k[rf>>2]|0)+12>>2];k[R>>2]=(k[(k[vf>>2]|0)+16>>2]|0)+(k[K>>2]<<4);k[P>>2]=k[(k[R>>2]|0)+4>>2];if((l[k[rf>>2]>>0]|0)==105){k[L>>2]=4|l[(k[rf>>2]|0)+3>>0]&8;if((l[(k[(k[R>>2]|0)+12>>2]|0)+76>>0]|0)<(l[(k[sf>>2]|0)+143>>0]|0))i[(k[sf>>2]|0)+143>>0]=i[(k[(k[R>>2]|0)+12>>2]|0)+76>>0]|0}else k[L>>2]=0;if(l[(k[rf>>2]|0)+3>>0]&16|0){k[U>>2]=(k[w>>2]|0)+((k[J>>2]|0)*40|0);lw(k[U>>2]|0)|0;k[J>>2]=k[k[U>>2]>>2]}a=k[rf>>2]|0;if((i[(k[rf>>2]|0)+1>>0]|0)!=-6){if((i[a+1>>0]|0)==-14)k[H>>2]=k[(k[rf>>2]|0)+16>>2]}else{k[I>>2]=k[a+16>>2];k[H>>2]=(m[(k[I>>2]|0)+6>>1]|0)+(m[(k[I>>2]|0)+8>>1]|0)}Af=mG(k[sf>>2]|0,k[(k[rf>>2]|0)+4>>2]|0,k[H>>2]|0,k[K>>2]|0,0)|0;k[Q>>2]=Af;if(!(k[Q>>2]|0)){d=887;break a}i[(k[Q>>2]|0)+2>>0]=1;d=(k[Q>>2]|0)+5|0;i[d>>0]=i[d>>0]&-5|4;k[(k[Q>>2]|0)+8>>2]=k[J>>2];d=nG(k[P>>2]|0,k[J>>2]|0,k[L>>2]|0,k[I>>2]|0,k[(k[Q>>2]|0)+16>>2]|0)|0;k[uf>>2]=d;k[(k[Q>>2]|0)+24>>2]=k[I>>2];i[(k[Q>>2]|0)+4>>0]=(i[(k[rf>>2]|0)+1>>0]|0)!=-6;d=460}else if((d|0)==526){d=0;k[fa>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);k[ra>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[sa>>2]=k[(k[ra>>2]|0)+16>>2];k[ta>>2]=0;Af=k[fa>>2]|0;yf=k[Af+4>>2]|0;c=ua;k[c>>2]=k[Af>>2];k[c+4>>2]=yf;c=ua;c=iE(k[sa>>2]|0,0,k[c>>2]|0,k[c+4>>2]|0,0,ta)|0;k[uf>>2]=c;c=ua;yf=k[c+4>>2]|0;Af=(k[ra>>2]|0)+40|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;i[(k[ra>>2]|0)+2>>0]=0;k[(k[ra>>2]|0)+56>>2]=0;i[(k[ra>>2]|0)+3>>0]=0;k[(k[ra>>2]|0)+28>>2]=k[ta>>2];if(k[ta>>2]|0){if(k[(k[rf>>2]|0)+8>>2]|0){d=14;break}Af=un(81458)|0;k[uf>>2]=Af}if(k[uf>>2]|0)break a}else if((d|0)==619){d=0;k[bb>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[db>>2]=1;a=k[bb>>2]|0;if((l[k[bb>>2]>>0]|0)==1){Af=AG(a,db)|0;k[uf>>2]=Af}else{k[cb>>2]=k[a+16>>2];Af=BG(k[cb>>2]|0,db)|0;k[uf>>2]=Af;i[(k[bb>>2]|0)+3>>0]=0;k[(k[bb>>2]|0)+56>>2]=0}if(k[uf>>2]|0)break a;i[(k[bb>>2]|0)+2>>0]=k[db>>2];if(k[db>>2]|0)d=14}else if((d|0)==626){k[fb>>2]=k[(k[(k[sf>>2]|0)+112>>2]|0)+(k[(k[rf>>2]|0)+4>>2]<<2)>>2];k[gb>>2]=k[(k[rf>>2]|0)+12>>2];Af=Wb[k[(k[rf>>2]|0)+16>>2]&255](k[(k[fb>>2]|0)+16>>2]|0,gb)|0;k[uf>>2]=Af;d=627}else if((d|0)==750){d=0;k[jc>>2]=k[(k[rf>>2]|0)+16>>2];k[kc>>2]=(k[w>>2]|0)+((k[(k[rf>>2]|0)+12>>2]|0)*40|0);k:do if((k[(k[jc>>2]|0)+8>>2]|0)!=(k[kc>>2]|0)){k[(k[jc>>2]|0)+8>>2]=k[kc>>2];k[ic>>2]=(l[(k[jc>>2]|0)+26>>0]|0)-1;while(1){if((k[ic>>2]|0)<0)break k;k[(k[jc>>2]|0)+28+(k[ic>>2]<<2)>>2]=(k[w>>2]|0)+(((k[(k[rf>>2]|0)+8>>2]|0)+(k[ic>>2]|0)|0)*40|0);k[ic>>2]=(k[ic>>2]|0)+-1}}while(0);Af=(k[kc>>2]|0)+12|0;k[Af>>2]=(k[Af>>2]|0)+1;tj(lc,k[vf>>2]|0,1);k[k[jc>>2]>>2]=lc;i[(k[jc>>2]|0)+25>>0]=0;i[(k[jc>>2]|0)+24>>0]=0;Sb[k[(k[(k[jc>>2]|0)+4>>2]|0)+12>>2]&255](k[jc>>2]|0,l[(k[jc>>2]|0)+26>>0]|0,(k[jc>>2]|0)+28|0);if(i[(k[jc>>2]|0)+25>>0]|0){if(k[(k[jc>>2]|0)+20>>2]|0){Af=k[sf>>2]|0;yf=$h(lc)|0;k[bf>>2]=yf;ss(Af,21240,bf);k[uf>>2]=k[(k[jc>>2]|0)+20>>2]}oi(lc);if(k[uf>>2]|0)break a}if(i[(k[jc>>2]|0)+24>>0]|0?(k[ic>>2]=k[(k[rf>>2]|0)+-20+4>>2],k[ic>>2]|0):0)gi((k[w>>2]|0)+((k[ic>>2]|0)*40|0)|0,1,0)}while(0);do if((d|0)==14){d=0;k[rf>>2]=(k[qf>>2]|0)+(((k[(k[rf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((d|0)==460){d=0;oG(k[(k[Q>>2]|0)+16>>2]|0,l[(k[rf>>2]|0)+3>>0]&3);if(k[uf>>2]|0)break a}else if((d|0)==627){d=0;k[(k[fb>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;a=(k[fb>>2]|0)+2|0;if(!(k[gb>>2]|0)){i[a>>0]=0;d=(k[sf>>2]|0)+156+(l[(k[rf>>2]|0)+3>>0]<<2)|0;k[d>>2]=(k[d>>2]|0)+1;d=7;break}else{i[a>>0]=1;d=8;break}}while(0);if((d|0)==7){k[rf>>2]=(k[qf>>2]|0)+(((k[(k[rf>>2]|0)+8>>2]|0)-1|0)*20|0);d=8}if((d|0)==8){d=0;if(k[(k[vf>>2]|0)+248>>2]|0)break b;if((k[(k[vf>>2]|0)+304>>2]|0?(k[wf>>2]|0)>>>0>=(k[e>>2]|0)>>>0:0)?(k[e>>2]=(k[wf>>2]|0)+(k[(k[vf>>2]|0)+312>>2]|0)-(((k[wf>>2]|0)>>>0)%((k[(k[vf>>2]|0)+312>>2]|0)>>>0)|0),Rb[k[(k[vf>>2]|0)+304>>2]&255](k[(k[vf>>2]|0)+308>>2]|0)|0):0){d=12;break}}k[rf>>2]=(k[rf>>2]|0)+20}switch(d|0){case 12:{k[uf>>2]=9;break a}case 25:{k[(k[sf>>2]|0)+40>>2]=k[(k[rf>>2]|0)+4>>2];i[(k[sf>>2]|0)+142>>0]=k[(k[rf>>2]|0)+8>>2];k[(k[sf>>2]|0)+36>>2]=k[lf>>2];if(k[(k[sf>>2]|0)+40>>2]|0){a=k[sf>>2]|0;b=k[rf>>2]|0;if(i[(k[rf>>2]|0)+3>>0]|0){k[mf>>2]=k[5592+((l[b+3>>0]|0)-1<<2)>>2];ss(a,38728,mf);if(k[(k[rf>>2]|0)+16>>2]|0){Af=k[vf>>2]|0;yf=k[(k[rf>>2]|0)+16>>2]|0;k[nf>>2]=k[(k[sf>>2]|0)+108>>2];k[nf+4>>2]=yf;Af=ek(Af,38749,nf)|0;k[(k[sf>>2]|0)+108>>2]=Af}}else{k[of>>2]=k[b+16>>2];ss(a,21240,of)}Af=k[(k[rf>>2]|0)+4>>2]|0;rf=k[(k[sf>>2]|0)+176>>2]|0;yf=k[(k[sf>>2]|0)+108>>2]|0;k[pf>>2]=k[lf>>2];k[pf+4>>2]=rf;k[pf+8>>2]=yf;Hd(Af,38756,pf)}a=Yr(k[sf>>2]|0)|0;k[uf>>2]=a;a=(k[sf>>2]|0)+40|0;if((k[uf>>2]|0)==5){k[a>>2]=5;Af=tf;tf=Af;tf=k[tf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[vf>>2]|0;yf=yf+32|0;vf=yf;k[vf>>2]=tf;yf=yf+4|0;k[yf>>2]=Af;yf=k[wf>>2]|0;Af=k[sf>>2]|0;Af=Af+156|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[sf>>2]|0;cs(Af);Af=k[uf>>2]|0;u=xf;return Af|0}else{k[uf>>2]=k[a>>2]|0?1:101;Af=tf;tf=Af;tf=k[tf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[vf>>2]|0;yf=yf+32|0;vf=yf;k[vf>>2]=tf;yf=yf+4|0;k[yf>>2]=Af;yf=k[wf>>2]|0;Af=k[sf>>2]|0;Af=Af+156|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[sf>>2]|0;cs(Af);Af=k[uf>>2]|0;u=xf;return Af|0}}case 64:{if((k[(k[vf>>2]|0)+304>>2]|0?(k[wf>>2]|0)>>>0>=(k[e>>2]|0)>>>0:0)?Rb[k[(k[vf>>2]|0)+304>>2]&255](k[(k[vf>>2]|0)+308>>2]|0)|0:0){k[uf>>2]=9;break a}Af=bs(k[sf>>2]|0,0)|0;k[uf>>2]=Af;if(Af)break a;Af=fs(k[sf>>2]|0,1)|0;k[uf>>2]=Af;k[(k[sf>>2]|0)+32>>2]=(k[(k[sf>>2]|0)+32>>2]|0)+2|1;Af=(k[w>>2]|0)+((k[(k[rf>>2]|0)+4>>2]|0)*40|0)|0;k[(k[sf>>2]|0)+104>>2]=Af;k[ud>>2]=Af;k[vd>>2]=0;while(1){if((k[vd>>2]|0)>=(k[(k[rf>>2]|0)+8>>2]|0))break;if(m[(k[ud>>2]|0)+((k[vd>>2]|0)*40|0)+8>>1]&4096|0?qi((k[ud>>2]|0)+((k[vd>>2]|0)*40|0)|0)|0:0){d=887;break a}zi((k[ud>>2]|0)+((k[vd>>2]|0)*40|0)|0)|0;k[vd>>2]=(k[vd>>2]|0)+1}if(i[(k[vf>>2]|0)+69>>0]|0){d=887;break a}if(l[(k[vf>>2]|0)+76>>0]&4|0)Ub[k[(k[vf>>2]|0)+184>>2]&255](4,k[(k[vf>>2]|0)+188>>2]|0,k[sf>>2]|0,0)|0;k[(k[sf>>2]|0)+36>>2]=(((k[rf>>2]|0)-(k[qf>>2]|0)|0)/20|0)+1;k[uf>>2]=100;Af=tf;tf=Af;tf=k[tf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[vf>>2]|0;yf=yf+32|0;vf=yf;k[vf>>2]=tf;yf=yf+4|0;k[yf>>2]=Af;yf=k[wf>>2]|0;Af=k[sf>>2]|0;Af=Af+156|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[sf>>2]|0;cs(Af);Af=k[uf>>2]|0;u=xf;return Af|0}case 159:{k[uf>>2]=20;break a}case 269:{Af=un(79835)|0;k[uf>>2]=Af;break a}case 288:{if(!(k[(k[je>>2]|0)+72>>2]|0))oi(qe);Af=un(79894)|0;k[uf>>2]=Af;break a}case 372:{k[(k[sf>>2]|0)+36>>2]=((k[rf>>2]|0)-(k[qf>>2]|0)|0)/20|0;i[(k[vf>>2]|0)+67>>0]=0;k[uf>>2]=5;k[(k[sf>>2]|0)+40>>2]=5;Af=tf;tf=Af;tf=k[tf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[vf>>2]|0;yf=yf+32|0;vf=yf;k[vf>>2]=tf;yf=yf+4|0;k[yf>>2]=Af;yf=k[wf>>2]|0;Af=k[sf>>2]|0;Af=Af+156|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[sf>>2]|0;cs(Af);Af=k[uf>>2]|0;u=xf;return Af|0}case 395:{k[kf>>2]=k[(k[rf>>2]|0)+4>>2];k[y>>2]=k[(k[rf>>2]|0)+8>>2];if((k[kf>>2]|0)==(l[(k[vf>>2]|0)+67>>0]|0)){if(k[kf>>2]|0)a=k[y>>2]|0?38980:39023;else a=39064;ss(k[sf>>2]|0,a,jf);k[uf>>2]=1;break a}do if(!(k[y>>2]|0)){if(k[kf>>2]|0?(k[(k[vf>>2]|0)+164>>2]|0)>0:0){ss(k[sf>>2]|0,38925,_e);k[uf>>2]=5;break a}Af=bs(k[sf>>2]|0,1)|0;k[uf>>2]=Af;if(Af|0){Af=tf;tf=Af;tf=k[tf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[vf>>2]|0;yf=yf+32|0;vf=yf;k[vf>>2]=tf;yf=yf+4|0;k[yf>>2]=Af;yf=k[wf>>2]|0;Af=k[sf>>2]|0;Af=Af+156|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[sf>>2]|0;cs(Af);Af=k[uf>>2]|0;u=xf;return Af|0}else{a=k[kf>>2]&255;b=k[vf>>2]|0;break}}else{Cr(k[vf>>2]|0,516);a=1;b=k[vf>>2]|0}while(0);i[b+67>>0]=a;if((Yr(k[sf>>2]|0)|0)==5){k[(k[sf>>2]|0)+36>>2]=((k[rf>>2]|0)-(k[qf>>2]|0)|0)/20|0;i[(k[vf>>2]|0)+67>>0]=1-(k[kf>>2]|0);k[uf>>2]=5;k[(k[sf>>2]|0)+40>>2]=5;Af=tf;tf=Af;tf=k[tf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[vf>>2]|0;yf=yf+32|0;vf=yf;k[vf>>2]=tf;yf=yf+4|0;k[yf>>2]=Af;yf=k[wf>>2]|0;Af=k[sf>>2]|0;Af=Af+156|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[sf>>2]|0;cs(Af);Af=k[uf>>2]|0;u=xf;return Af|0}Dr(k[vf>>2]|0);if(!(k[(k[sf>>2]|0)+40>>2]|0)){k[uf>>2]=101;Af=tf;tf=Af;tf=k[tf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[vf>>2]|0;yf=yf+32|0;vf=yf;k[vf>>2]=tf;yf=yf+4|0;k[yf>>2]=Af;yf=k[wf>>2]|0;Af=k[sf>>2]|0;Af=Af+156|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[sf>>2]|0;cs(Af);Af=k[uf>>2]|0;u=xf;return Af|0}else{k[uf>>2]=1;Af=tf;tf=Af;tf=k[tf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[vf>>2]|0;yf=yf+32|0;vf=yf;k[vf>>2]=tf;yf=yf+4|0;k[yf>>2]=Af;yf=k[wf>>2]|0;Af=k[sf>>2]|0;Af=Af+156|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[sf>>2]|0;cs(Af);Af=k[uf>>2]|0;u=xf;return Af|0}}case 413:{k[uf>>2]=8;break a}case 416:{if((k[uf>>2]&255|0)!=5)break a;k[(k[sf>>2]|0)+36>>2]=((k[rf>>2]|0)-(k[qf>>2]|0)|0)/20|0;k[(k[sf>>2]|0)+40>>2]=k[uf>>2];Af=tf;tf=Af;tf=k[tf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[vf>>2]|0;yf=yf+32|0;vf=yf;k[vf>>2]=tf;yf=yf+4|0;k[yf>>2]=Af;yf=k[wf>>2]|0;Af=k[sf>>2]|0;Af=Af+156|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[sf>>2]|0;cs(Af);Af=k[uf>>2]|0;u=xf;return Af|0}case 447:{k[uf>>2]=516;break a}case 547:{k[uf>>2]=13;break a}case 557:{k[uf>>2]=13;break a}case 659:{k[uf>>2]=6;i[(k[sf>>2]|0)+142>>0]=2;break a}case 681:{Xp(k[vf>>2]|0);if((k[uf>>2]|0)==7){d=887;break a}else break a}case 710:{k[uf>>2]=1;ss(k[sf>>2]|0,39176,af);break a}case 762:{Af=k[sf>>2]|0;yf=$h(k[nc>>2]|0)|0;k[cf>>2]=yf;ss(Af,21240,cf);break a}case 782:{k[uf>>2]=1;Af=k[sf>>2]|0;k[df>>2]=(k[tc>>2]|0)==5?39213:39218;ss(Af,39225,df);break a}case 803:{if((k[uf>>2]&255|0)!=6)break a;k[Ac>>2]=k[(k[rf>>2]|0)+16>>2];Af=k[sf>>2]|0;k[ef>>2]=k[Ac>>2];ss(Af,39277,ef);break a}case 814:{k[uf>>2]=6;break a}case 818:{Rb[k[(k[Hc>>2]|0)+28>>2]&255](k[Fc>>2]|0)|0;d=887;break a}case 837:{k[uf>>2]=6;break a}case 885:{Af=tf;tf=Af;tf=k[tf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[vf>>2]|0;yf=yf+32|0;vf=yf;k[vf>>2]=tf;yf=yf+4|0;k[yf>>2]=Af;yf=k[wf>>2]|0;Af=k[sf>>2]|0;Af=Af+156|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[sf>>2]|0;cs(Af);Af=k[uf>>2]|0;u=xf;return Af|0}case 886:{ss(k[sf>>2]|0,22203,Te);k[uf>>2]=18;break a}}}while(0);k[uf>>2]=l[(k[vf>>2]|0)+69>>0]|0?7:9;k[(k[sf>>2]|0)+40>>2]=k[uf>>2];Af=k[sf>>2]|0;yf=fj(k[uf>>2]|0)|0;k[Ve>>2]=yf;ss(Af,21240,Ve)}while(0);if((d|0)==887){Yd(k[vf>>2]|0);ss(k[sf>>2]|0,22481,Ue);k[uf>>2]=7}if(i[(k[vf>>2]|0)+69>>0]|0)k[uf>>2]=7;if((k[uf>>2]|0)!=3082?(k[(k[sf>>2]|0)+108>>2]|0)==0:0){Af=k[sf>>2]|0;yf=fj(k[uf>>2]|0)|0;k[gf>>2]=yf;ss(Af,21240,gf)}k[(k[sf>>2]|0)+40>>2]=k[uf>>2];Lp(k[vf>>2]|0,k[uf>>2]|0);Af=k[uf>>2]|0;pf=k[(k[sf>>2]|0)+176>>2]|0;yf=k[(k[sf>>2]|0)+108>>2]|0;k[hf>>2]=((k[rf>>2]|0)-(k[qf>>2]|0)|0)/20|0;k[hf+4>>2]=pf;k[hf+8>>2]=yf;Hd(Af,39306,hf);Yr(k[sf>>2]|0)|0;if((k[uf>>2]|0)==3082)Yd(k[vf>>2]|0);k[uf>>2]=1;if((l[ff>>0]|0)<=0){Af=tf;tf=Af;tf=k[tf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[vf>>2]|0;yf=yf+32|0;vf=yf;k[vf>>2]=tf;yf=yf+4|0;k[yf>>2]=Af;yf=k[wf>>2]|0;Af=k[sf>>2]|0;Af=Af+156|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[sf>>2]|0;cs(Af);Af=k[uf>>2]|0;u=xf;return Af|0}dt(k[vf>>2]|0,(l[ff>>0]|0)-1|0);Af=tf;tf=Af;tf=k[tf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[vf>>2]|0;yf=yf+32|0;vf=yf;k[vf>>2]=tf;yf=yf+4|0;k[yf>>2]=Af;yf=k[wf>>2]|0;Af=k[sf>>2]|0;Af=Af+156|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[sf>>2]|0;cs(Af);Af=k[uf>>2]|0;u=xf;return Af|0}function XF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;k[c>>2]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+4>>2];if(k[e>>2]|0?(ol(k[e>>2]|0),a=YF(Ak(k[e>>2]|0)|0)|0,k[f>>2]=a,ll(k[e>>2]|0),((k[f>>2]|0)>0?(k[(k[b>>2]|0)+224>>2]|0)!=0:0)&(k[c>>2]|0)==0):0){a=Ub[k[(k[b>>2]|0)+224>>2]&255](k[(k[b>>2]|0)+228>>2]|0,k[b>>2]|0,k[(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2]|0,k[f>>2]|0)|0;k[c>>2]=a}k[d>>2]=(k[d>>2]|0)+1}u=g;return k[c>>2]|0}function YF(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;k[c>>2]=a;a=ZF(k[(k[c>>2]|0)+216>>2]|0)|0;u=b;return a|0}function ZF(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(k[b>>2]|0)){c=k[c>>2]|0;u=d;return c|0}k[c>>2]=k[(k[b>>2]|0)+12>>2];k[(k[b>>2]|0)+12>>2]=0;c=k[c>>2]|0;u=d;return c|0}function _F(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=u;u=u+16|0;c=e+12|0;g=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[d>>2]=(k[(k[g>>2]|0)+92>>2]|0)+((k[(k[f>>2]|0)+8>>2]|0)*40|0);a=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&9312|0){g=lJ(a)|0;k[c>>2]=g;g=k[c>>2]|0;u=e;return g|0}else{j[a+8>>1]=4;k[c>>2]=k[d>>2];g=k[c>>2]|0;u=e;return g|0}return 0}function $F(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){k[b>>2]=0;d=k[b>>2]|0;u=e;return d|0}k[d>>2]=k[(k[c>>2]|0)+12>>2];if((m[(k[c>>2]|0)+8>>1]|0)&16384|0)k[d>>2]=(k[d>>2]|0)+(k[k[c>>2]>>2]|0);k[b>>2]=(k[d>>2]|0)>(k[(k[(k[c>>2]|0)+32>>2]|0)+96>>2]|0)&1;d=k[b>>2]|0;u=e;return d|0}function aG(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[c>>2]=a;a=m[(k[c>>2]|0)+8>>1]|0;do if(!((m[(k[c>>2]|0)+8>>1]|0)&12|0))if(a&18|0){c=kJ(k[c>>2]|0)|0;j[b>>1]=c;break}else{j[b>>1]=0;break}else j[b>>1]=a&12;while(0);u=d;return j[b>>1]|0}function bG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;c=f;a=k[e>>2]|0;if(!((k[c>>2]|0)==0?(k[c+4>>2]|0)==-2147483648:0)){f=h0(0,0,k[f>>2]|0,k[f+4>>2]|0)|0;f=Qi(a,f,M)|0;k[d>>2]=f;f=k[d>>2]|0;u=g;return f|0}c=a;b=k[c+4>>2]|0;if((b|0)>0|(b|0)==0&(k[c>>2]|0)>>>0>=0){k[d>>2]=1;f=k[d>>2]|0;u=g;return f|0}else{c=f;f=k[e>>2]|0;e=f;e=h0(k[e>>2]|0,k[e+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[f>>2]=e;k[f+4>>2]=M;k[d>>2]=0;f=k[d>>2]|0;u=g;return f|0}return 0}function cG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;d=h+20|0;e=h+16|0;f=h+8|0;g=h;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=k[e>>2]|0;b=k[a+4>>2]|0;c=g;k[c>>2]=k[a>>2];k[c+4>>2]=b;c=f;b=k[c+4>>2]|0;do if((b|0)>0|(b|0)==0&(k[c>>2]|0)>>>0>0){i=g;b=k[i>>2]|0;i=k[i+4>>2]|0;c=f;c=x0(-1,2147483647,k[c>>2]|0,k[c+4>>2]|0)|0;a=M;if((i|0)>(a|0)|(i|0)==(a|0)&b>>>0>c>>>0){k[d>>2]=1;i=k[d>>2]|0;u=h;return i|0}a=g;c=k[a>>2]|0;a=k[a+4>>2]|0;i=f;i=x0(0,-2147483648,k[i>>2]|0,k[i+4>>2]|0)|0;b=M;if((a|0)<(b|0)|(a|0)==(b|0)&c>>>0>>0){k[d>>2]=1;i=k[d>>2]|0;u=h;return i|0}}else if((k[f+4>>2]|0)<0){i=g;c=k[i+4>>2]|0;if((c|0)>0|(c|0)==0&(k[i>>2]|0)>>>0>0){a=f;c=k[a>>2]|0;a=k[a+4>>2]|0;i=g;i=x0(0,-2147483648,k[i>>2]|0,k[i+4>>2]|0)|0;b=M;if(!((a|0)<(b|0)|(a|0)==(b|0)&c>>>0>>0))break;k[d>>2]=1;i=k[d>>2]|0;u=h;return i|0}if((k[g+4>>2]|0)<0){i=f;if((k[i>>2]|0)==0?(k[i+4>>2]|0)==-2147483648:0){k[d>>2]=1;i=k[d>>2]|0;u=h;return i|0}i=g;if((k[i>>2]|0)==0?(k[i+4>>2]|0)==-2147483648:0){k[d>>2]=1;i=k[d>>2]|0;u=h;return i|0}c=g;c=h0(0,0,k[c>>2]|0,k[c+4>>2]|0)|0;a=M;i=f;i=h0(0,0,k[i>>2]|0,k[i+4>>2]|0)|0;i=x0(-1,2147483647,i|0,M|0)|0;b=M;if((a|0)>(b|0)|(a|0)==(b|0)&c>>>0>i>>>0){k[d>>2]=1;i=k[d>>2]|0;u=h;return i|0}}}while(0);i=g;g=f;g=B0(k[i>>2]|0,k[i+4>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;i=k[e>>2]|0;k[i>>2]=g;k[i+4>>2]=M;k[d>>2]=0;i=k[d>>2]|0;u=h;return i|0}function dG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];do if(!(l[k[f>>2]>>0]|0)){a=k[f>>2]|0;if(!(i[(k[f>>2]|0)+3>>0]|0)){if(!(CI(k[a+16>>2]|0)|0))break;g=DI(k[f>>2]|0)|0;k[c>>2]=g;g=k[c>>2]|0;u=h;return g|0}if(k[a+52>>2]|0?(b=k[(k[(k[f>>2]|0)+52>>2]|0)+(1+(k[k[e>>2]>>2]|0)<<2)>>2]|0,k[g>>2]=b,(b|0)>0):0){k[k[d>>2]>>2]=k[(k[f>>2]|0)+48>>2];k[k[e>>2]>>2]=(k[g>>2]|0)-1;k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}g=jJ(k[f>>2]|0)|0;k[c>>2]=g;g=k[c>>2]|0;u=h;return g|0}while(0);k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}function eG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=iJ(k[e>>2]|0,k[d>>2]|0)|0;u=c;return b|0}function fG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;h=o+28|0;i=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;f=o+8|0;p=o+4|0;g=o;k[h>>2]=a;k[i>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[p>>2]=0;k[g>>2]=0;e=eG(k[h>>2]|0,p)|0;k[f>>2]=e;if(((k[i>>2]|0)+(k[l>>2]|0)|0)>>>0<=(k[p>>2]|0)>>>0){k[(k[n>>2]|0)+16>>2]=(k[f>>2]|0)+(k[i>>2]|0);j[(k[n>>2]|0)+8>>1]=4112;k[(k[n>>2]|0)+12>>2]=k[l>>2];p=k[g>>2]|0;u=o;return p|0}else{p=hJ(k[h>>2]|0,k[i>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[g>>2]=p;p=k[g>>2]|0;u=o;return p|0}return 0}function gG(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;i[b>>0]=a;u=c;return i[34519+(l[b>>0]|0)>>0]|0}function hG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0;n=u;u=u+48|0;l=n+36|0;d=n+32|0;i=n+28|0;g=n+24|0;e=n+20|0;f=n+16|0;j=n+8|0;h=n;k[d>>2]=a;k[i>>2]=b;k[g>>2]=c;k[e>>2]=m[(k[d>>2]|0)+8>>1];if(k[e>>2]&1|0){k[k[g>>2]>>2]=0;k[l>>2]=0;l=k[l>>2]|0;u=n;return l|0}if(!(k[e>>2]&4)){if(k[e>>2]&8|0){k[k[g>>2]>>2]=8;k[l>>2]=7;l=k[l>>2]|0;u=n;return l|0}k[f>>2]=k[(k[d>>2]|0)+12>>2];if(k[e>>2]&16384|0)k[f>>2]=(k[f>>2]|0)+(k[k[d>>2]>>2]|0);k[k[g>>2]>>2]=k[f>>2];k[l>>2]=(k[f>>2]<<1)+12+((k[e>>2]&2|0)!=0&1);l=k[l>>2]|0;u=n;return l|0}f=k[d>>2]|0;a=k[f+4>>2]|0;b=j;k[b>>2]=k[f>>2];k[b+4>>2]=a;b=j;a=k[b>>2]|0;b=k[b+4>>2]|0;if((k[j+4>>2]|0)<0){f=h;k[f>>2]=~a;k[f+4>>2]=~b}else{f=h;k[f>>2]=a;k[f+4>>2]=b}f=h;e=k[f+4>>2]|0;if(e>>>0<0|(e|0)==0&(k[f>>2]|0)>>>0<=127){f=j;a=k[g>>2]|0;if((0==(k[f+4>>2]|0)?(k[j>>2]&1|0)==(k[f>>2]|0):0)&(k[i>>2]|0)>=4){k[a>>2]=0;k[l>>2]=8+(k[h>>2]|0);l=k[l>>2]|0;u=n;return l|0}else{k[a>>2]=1;k[l>>2]=1;l=k[l>>2]|0;u=n;return l|0}}j=h;i=k[j+4>>2]|0;if(i>>>0<0|(i|0)==0&(k[j>>2]|0)>>>0<=32767){k[k[g>>2]>>2]=2;k[l>>2]=2;l=k[l>>2]|0;u=n;return l|0}j=h;i=k[j+4>>2]|0;if(i>>>0<0|(i|0)==0&(k[j>>2]|0)>>>0<=8388607){k[k[g>>2]>>2]=3;k[l>>2]=3;l=k[l>>2]|0;u=n;return l|0}j=h;i=k[j+4>>2]|0;if(i>>>0<0|(i|0)==0&(k[j>>2]|0)>>>0<=2147483647){k[k[g>>2]>>2]=4;k[l>>2]=4;l=k[l>>2]|0;u=n;return l|0}j=h;i=k[j+4>>2]|0;a=k[g>>2]|0;if(i>>>0<32767|(i|0)==32767&(k[j>>2]|0)>>>0<=4294967295){k[a>>2]=6;k[l>>2]=5;l=k[l>>2]|0;u=n;return l|0}else{k[a>>2]=8;k[l>>2]=6;l=k[l>>2]|0;u=n;return l|0}return 0}function iG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;h=f;k[h>>2]=b;k[h+4>>2]=c;c=f;h=k[c+4>>2]|0;b=f;a=k[b>>2]|0;b=k[b+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[c>>2]|0)>>>0<=127){i[k[e>>2]>>0]=a&127;k[d>>2]=1;h=k[d>>2]|0;u=g;return h|0}if(b>>>0<0|(b|0)==0&a>>>0<=16383){h=f;h=p0(k[h>>2]|0,k[h+4>>2]|0,7)|0;i[k[e>>2]>>0]=h&127|128;i[(k[e>>2]|0)+1>>0]=k[f>>2]&127;k[d>>2]=2;h=k[d>>2]|0;u=g;return h|0}else{h=f;h=gJ(k[e>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[d>>2]=h;h=k[d>>2]|0;u=g;return h|0}return 0}function jG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n;m=n+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;if((k[g>>2]|0)>>>0<=7&(k[g>>2]|0)>>>0>0){if((a|0)==7){f=k[f>>2]|0;k[j>>2]=k[f>>2];k[j+4>>2]=k[f+4>>2]}else{b=k[f>>2]|0;c=k[b+4>>2]|0;f=j;k[f>>2]=k[b>>2];k[f+4>>2]=c}g=l[34519+(k[g>>2]|0)>>0]|0;k[m>>2]=g;k[h>>2]=g;do{c=k[j>>2]&255;g=k[e>>2]|0;f=(k[m>>2]|0)+-1|0;k[m>>2]=f;i[g+f>>0]=c;f=j;f=p0(k[f>>2]|0,k[f+4>>2]|0,8)|0;g=j;k[g>>2]=f;k[g+4>>2]=M}while((k[m>>2]|0)!=0);k[d>>2]=k[h>>2];m=k[d>>2]|0;u=n;return m|0}else{if(a>>>0<12){k[d>>2]=0;m=k[d>>2]|0;u=n;return m|0}k[h>>2]=k[(k[f>>2]|0)+12>>2];if((k[h>>2]|0)>>>0>0)r0(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[h>>2]|0)|0;k[d>>2]=k[h>>2];m=k[d>>2]|0;u=n;return m|0}return 0}function kG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=u;u=u+32|0;f=p+28|0;g=p+24|0;h=p+20|0;n=p;o=p+16|0;d=p+12|0;e=p+8|0;k[g>>2]=a;k[h>>2]=b;c=n;k[c>>2]=0;k[c+4>>2]=0;if(!(k[(k[g>>2]|0)+52>>2]|0)){o=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[f>>2]=0;o=k[f>>2]|0;u=p;return o|0}c=kE(k[g>>2]|0)|0;k[o>>2]=c;a:while(1){if(k[o>>2]|0){a=16;break}k[e>>2]=k[(k[g>>2]|0)+120+(i[(k[g>>2]|0)+68>>0]<<2)>>2];if(!(!(l[(k[e>>2]|0)+4>>0]|0)?(i[(k[e>>2]|0)+2>>0]|0)!=0:0)){b=n;b=i0(k[b>>2]|0,k[b+4>>2]|0,m[(k[e>>2]|0)+18>>1]|0,0)|0;c=n;k[c>>2]=b;k[c+4>>2]=M}if(i[(k[e>>2]|0)+4>>0]|0){do{if(!(i[(k[g>>2]|0)+68>>0]|0)){a=10;break a}dE(k[g>>2]|0)}while((m[(k[g>>2]|0)+80+(i[(k[g>>2]|0)+68>>0]<<1)>>1]|0)>=(m[(k[(k[g>>2]|0)+120+(i[(k[g>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));c=(k[g>>2]|0)+80+(i[(k[g>>2]|0)+68>>0]<<1)|0;j[c>>1]=(j[c>>1]|0)+1<<16>>16;k[e>>2]=k[(k[g>>2]|0)+120+(i[(k[g>>2]|0)+68>>0]<<2)>>2]}k[d>>2]=m[(k[g>>2]|0)+80+(i[(k[g>>2]|0)+68>>0]<<1)>>1];a=k[g>>2]|0;b=k[(k[e>>2]|0)+56>>2]|0;c=k[e>>2]|0;if((k[d>>2]|0)==(m[(k[e>>2]|0)+18>>1]|0)){c=bE(a,dm(b+((l[c+5>>0]|0)+8)|0)|0)|0;k[o>>2]=c;continue}else{c=bE(a,dm(b+(m[c+20>>1]&(l[(k[(k[e>>2]|0)+64>>2]|0)+(k[d>>2]<<1)>>0]<<8|l[(k[(k[e>>2]|0)+64>>2]|0)+(k[d>>2]<<1)+1>>0]))|0)|0)|0;k[o>>2]=c;continue}}if((a|0)==10){e=n;n=k[e+4>>2]|0;o=k[h>>2]|0;k[o>>2]=k[e>>2];k[o+4>>2]=n;o=kE(k[g>>2]|0)|0;k[f>>2]=o;o=k[f>>2]|0;u=p;return o|0}else if((a|0)==16){k[f>>2]=k[o>>2];o=k[f>>2]|0;u=p;return o|0}return 0}function lG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=u;u=u+16|0;e=d+12|0;f=d+8|0;c=d+4|0;g=d;k[e>>2]=a;k[f>>2]=b;k[g>>2]=k[(k[e>>2]|0)+4>>2];ol(k[e>>2]|0);b=hr(k[k[g>>2]>>2]|0,k[f>>2]|0)|0;k[c>>2]=b;ll(k[e>>2]|0);u=d;return k[c>>2]|0}function mG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;g=r+24|0;h=r+20|0;o=r+16|0;p=r+12|0;q=r+28|0;m=r+8|0;f=r+4|0;n=r;k[g>>2]=a;k[h>>2]=b;k[o>>2]=c;k[p>>2]=d;i[q>>0]=e;a=k[(k[g>>2]|0)+92>>2]|0;if((k[h>>2]|0)>0)a=a+(((k[(k[g>>2]|0)+24>>2]|0)-(k[h>>2]|0)|0)*40|0)|0;k[m>>2]=a;k[n>>2]=0;a=88+(k[o>>2]<<3)|0;if(!(l[q>>0]|0))b=eJ()|0;else b=0;k[f>>2]=a+b;if(k[(k[(k[g>>2]|0)+112>>2]|0)+(k[h>>2]<<2)>>2]|0){xs(k[g>>2]|0,k[(k[(k[g>>2]|0)+112>>2]|0)+(k[h>>2]<<2)>>2]|0);k[(k[(k[g>>2]|0)+112>>2]|0)+(k[h>>2]<<2)>>2]=0}if(ni(k[m>>2]|0,k[f>>2]|0)|0){q=k[n>>2]|0;u=r;return q|0}a=k[(k[m>>2]|0)+16>>2]|0;k[n>>2]=a;k[(k[(k[g>>2]|0)+112>>2]|0)+(k[h>>2]<<2)>>2]=a;a=k[n>>2]|0;b=a+88|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i[k[n>>2]>>0]=i[q>>0]|0;i[(k[n>>2]|0)+1>>0]=k[p>>2];j[(k[n>>2]|0)+12>>1]=k[o>>2];k[(k[n>>2]|0)+76>>2]=(k[n>>2]|0)+80+(k[o>>2]<<2);if(l[q>>0]|0|0){q=k[n>>2]|0;u=r;return q|0}k[(k[n>>2]|0)+16>>2]=(k[(k[m>>2]|0)+16>>2]|0)+(88+(k[o>>2]<<3));fJ(k[(k[n>>2]|0)+16>>2]|0);q=k[n>>2]|0;u=r;return q|0}function nG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;l=m+4|0;f=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;if((k[h>>2]|0)<1){l=un(62410)|0;k[f>>2]=l;l=k[f>>2]|0;u=m;return l|0}else{ol(k[g>>2]|0);l=cJ(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[f>>2]=l;ll(k[g>>2]|0);l=k[f>>2]|0;u=m;return l|0}return 0}function oG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[(k[d>>2]|0)+67>>0]=k[e>>2];u=c;return}function pG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=u;u=u+16|0;f=e+12|0;h=e+8|0;g=e+4|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;ol(k[f>>2]|0);c=bJ(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[d>>2]=c;ll(k[f>>2]|0);u=e;return k[d>>2]|0}function qG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+64|0;s=x+56|0;n=x+52|0;o=x+48|0;t=x+44|0;p=x+40|0;v=x+36|0;w=x+32|0;d=x+28|0;e=x+24|0;r=x+20|0;f=x+16|0;g=x+12|0;q=x;h=x+8|0;k[s>>2]=a;k[n>>2]=b;k[o>>2]=c;k[r>>2]=0;c=(Ul(k[s>>2]|0)|0)!=0;if(c|(k[3]|0)==0)k[f>>2]=0;else k[f>>2]=k[(k[s>>2]|0)+96+44>>2];k[d>>2]=24+((m[(k[(k[o>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);k[e>>2]=136+((k[f>>2]|0)*72|0);c=(k[e>>2]|0)+(k[d>>2]|0)|0;c=im(k[s>>2]|0,c,((c|0)<0)<<31>>31)|0;k[v>>2]=c;k[(k[o>>2]|0)+16>>2]=k[v>>2];if(!(k[v>>2]|0)){k[r>>2]=7;w=k[r>>2]|0;u=x;return w|0}c=(k[v>>2]|0)+(k[e>>2]|0)|0;k[w>>2]=c;k[(k[v>>2]|0)+28>>2]=c;r0(k[w>>2]|0,k[(k[o>>2]|0)+24>>2]|0,k[d>>2]|0)|0;k[(k[w>>2]|0)+12>>2]=0;if((k[n>>2]|0)!=0&(k[f>>2]|0)==0){o=(k[w>>2]|0)+8|0;j[o>>1]=(m[o>>1]|0)+((m[(k[w>>2]|0)+6>>1]|0)-(k[n>>2]|0));j[(k[w>>2]|0)+6>>1]=k[n>>2]}o=Rn(k[(k[(k[s>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[t>>2]=o;k[(k[v>>2]|0)+12>>2]=o;i[(k[v>>2]|0)+59>>0]=(k[f>>2]|0)+1;i[(k[v>>2]|0)+58>>0]=(k[f>>2]|0)-1;i[(k[v>>2]|0)+57>>0]=(l[(k[v>>2]|0)+59>>0]|0|0)>1;k[(k[v>>2]|0)+24>>2]=k[s>>2];k[p>>2]=0;while(1){if((k[p>>2]|0)>=(l[(k[v>>2]|0)+59>>0]|0|0))break;k[g>>2]=(k[v>>2]|0)+64+((k[p>>2]|0)*72|0);k[(k[g>>2]|0)+8>>2]=k[v>>2];k[p>>2]=(k[p>>2]|0)+1}if(!(Ul(k[s>>2]|0)|0)){k[h>>2]=k[58];a=$(k[h>>2]|0,k[t>>2]|0)|0;k[k[v>>2]>>2]=a;a=k[(k[(k[(k[s>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;b=q;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;b=q;a=k[b>>2]|0;b=k[b+4>>2]|0;if((k[q+4>>2]|0)<0){o=B0(a|0,b|0,-1024,-1)|0;p=q;k[p>>2]=o;k[p+4>>2]=M}else{o=k[t>>2]|0;o=B0(a|0,b|0,o|0,((o|0)<0)<<31>>31|0)|0;p=q;k[p>>2]=o;k[p+4>>2]=M}c=q;n=k[c+4>>2]|0;c=(n|0)<0|(n|0)==0&(k[c>>2]|0)>>>0<536870912;n=q;o=c?k[n+4>>2]|0:0;p=q;k[p>>2]=c?k[n>>2]|0:536870912;k[p+4>>2]=o;if((k[k[v>>2]>>2]|0)>(k[q>>2]|0))a=k[k[v>>2]>>2]|0;else a=k[q>>2]|0;k[(k[v>>2]|0)+4>>2]=a;if((k[50]|0)==0?(k[(k[v>>2]|0)+52>>2]=k[t>>2],t=k[t>>2]|0,t=Pd(t,((t|0)<0)<<31>>31)|0,k[(k[v>>2]|0)+36+4>>2]=t,(k[(k[v>>2]|0)+36+4>>2]|0)==0):0)k[r>>2]=7}if(((m[(k[w>>2]|0)+6>>1]|0)+(m[(k[w>>2]|0)+8>>1]|0)|0)>=13){w=k[r>>2]|0;u=x;return w|0}if(k[(k[w>>2]|0)+20>>2]|0?(k[(k[w>>2]|0)+20>>2]|0)!=(k[(k[s>>2]|0)+8>>2]|0):0){w=k[r>>2]|0;u=x;return w|0}i[(k[v>>2]|0)+60>>0]=3;w=k[r>>2]|0;u=x;return w|0}function rG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;u=e;return ((l[(k[d>>2]|0)+67>>0]|0)&k[c>>2]|0)!=0|0}function sG(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return 1!=(l[(k[b>>2]|0)+66>>0]|0|0)|0}function tG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;if(1==(l[(k[e>>2]|0)+66>>0]|0|0)?(l[(k[e>>2]|0)+64>>0]|0)&8|0:0){k[d>>2]=0;f=k[d>>2]|0;u=g;return f|0}b=kE(k[e>>2]|0)|0;k[f>>2]=b;do if(!(k[f>>2]|0)){a=k[c>>2]|0;if(!(l[(k[e>>2]|0)+66>>0]|0)){k[a>>2]=1;break}else{k[a>>2]=0;c=cE(k[e>>2]|0)|0;k[f>>2]=c;e=(k[e>>2]|0)+64|0;c=l[e>>0]|0;i[e>>0]=(k[f>>2]|0)==0?c|8:c&-9;break}}while(0);k[d>>2]=k[f>>2];f=k[d>>2]|0;u=g;return f|0}function uG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;y=u;u=u+64|0;s=y+52|0;t=y+48|0;v=y+44|0;w=y+40|0;z=y+36|0;x=y+32|0;e=y+28|0;f=y+24|0;g=y+20|0;h=y+16|0;n=y+12|0;o=y+8|0;p=y+4|0;q=y;r=y+56|0;k[t>>2]=a;k[v>>2]=b;k[w>>2]=c;k[z>>2]=d;k[e>>2]=k[z>>2];k[f>>2]=0;k[n>>2]=k[k[t>>2]>>2];k[o>>2]=k[(k[n>>2]|0)+4>>2];k[q>>2]=0;a=k[t>>2]|0;if((l[(k[t>>2]|0)+66>>0]|0)==4){k[s>>2]=k[a+60>>2];z=k[s>>2]|0;u=y;return z|0}if(l[a+64>>0]&32|0?(z=iq(k[o>>2]|0,k[(k[t>>2]|0)+52>>2]|0,k[t>>2]|0)|0,k[x>>2]=z,k[x>>2]|0):0){k[s>>2]=k[x>>2];z=k[s>>2]|0;u=y;return z|0}do if(!(k[(k[t>>2]|0)+72>>2]|0)){z=(k[v>>2]|0)+8|0;DH(k[n>>2]|0,k[z>>2]|0,k[z+4>>2]|0,0);if((l[(k[t>>2]|0)+64>>0]&2|0?(z=(k[v>>2]|0)+8|0,n=k[z+4>>2]|0,(n|0)>0|(n|0)==0&(k[z>>2]|0)>>>0>0):0)?(z=(k[t>>2]|0)+16|0,d=k[z>>2]|0,z=k[z+4>>2]|0,n=(k[v>>2]|0)+8|0,n=h0(k[n>>2]|0,k[n+4>>2]|0,1,0)|0,(d|0)==(n|0)&(z|0)==(M|0)):0){k[e>>2]=-1;break}if((k[e>>2]|0)==0?(z=(k[v>>2]|0)+8|0,z=iE(k[t>>2]|0,0,k[z>>2]|0,k[z+4>>2]|0,k[w>>2]|0,e)|0,k[x>>2]=z,k[x>>2]|0):0){k[s>>2]=k[x>>2];z=k[s>>2]|0;u=y;return z|0}}else if((k[e>>2]|0)==0?(z=(k[v>>2]|0)+8|0,z=fE(k[t>>2]|0,k[k[v>>2]>>2]|0,k[z>>2]|0,k[z+4>>2]|0,k[w>>2]|0,e)|0,k[x>>2]=z,k[x>>2]|0):0){k[s>>2]=k[x>>2];z=k[s>>2]|0;u=y;return z|0}while(0);k[h>>2]=k[(k[t>>2]|0)+120+(i[(k[t>>2]|0)+68>>0]<<2)>>2];k[q>>2]=k[(k[o>>2]|0)+80>>2];z=aJ(k[h>>2]|0,k[q>>2]|0,k[v>>2]|0,f)|0;k[x>>2]=z;do if(!(k[x>>2]|0)){k[g>>2]=m[(k[t>>2]|0)+80+(i[(k[t>>2]|0)+68>>0]<<1)>>1];if(!(k[e>>2]|0)){z=Tn(k[(k[h>>2]|0)+72>>2]|0)|0;k[x>>2]=z;if(k[x>>2]|0)break;k[p>>2]=(k[(k[h>>2]|0)+56>>2]|0)+(m[(k[h>>2]|0)+20>>1]&(l[(k[(k[h>>2]|0)+64>>2]|0)+(k[g>>2]<<1)>>0]<<8|l[(k[(k[h>>2]|0)+64>>2]|0)+(k[g>>2]<<1)+1>>0]));if(!(i[(k[h>>2]|0)+4>>0]|0)){z=k[q>>2]|0;w=k[p>>2]|0;i[z>>0]=i[w>>0]|0;i[z+1>>0]=i[w+1>>0]|0;i[z+2>>0]=i[w+2>>0]|0;i[z+3>>0]=i[w+3>>0]|0}z=FH(k[h>>2]|0,k[p>>2]|0,r)|0;k[x>>2]=z;GI(k[h>>2]|0,k[g>>2]|0,m[r>>1]|0,x);if(k[x>>2]|0)break}else if((k[e>>2]|0)<0?(m[(k[h>>2]|0)+18>>1]|0)>0:0){w=(k[t>>2]|0)+80+(i[(k[t>>2]|0)+68>>0]<<1)|0;z=(j[w>>1]|0)+1<<16>>16;j[w>>1]=z;k[g>>2]=z&65535}HI(k[h>>2]|0,k[g>>2]|0,k[q>>2]|0,k[f>>2]|0,0,0,x);j[(k[t>>2]|0)+16+18>>1]=0;if(i[(k[h>>2]|0)+1>>0]|0){z=(k[t>>2]|0)+64|0;i[z>>0]=l[z>>0]&-3;z=II(k[t>>2]|0)|0;k[x>>2]=z;i[(k[(k[t>>2]|0)+120+(i[(k[t>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;i[(k[t>>2]|0)+66>>0]=0}}while(0);k[s>>2]=k[x>>2];z=k[s>>2]|0;u=y;return z|0} +function d0(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+b|0;c=k[a+4>>2]|0;a:do if(!(c&1)){f=k[a>>2]|0;if(!(c&3))return;l=a+(0-f)|0;j=f+b|0;h=k[13818]|0;if(l>>>0>>0)zb();if((l|0)==(k[13819]|0)){a=o+4|0;c=k[a>>2]|0;if((c&3|0)!=3){r=l;e=j;break}k[13816]=j;k[a>>2]=c&-2;k[l+4>>2]=j|1;k[l+j>>2]=j;return}d=f>>>3;if(f>>>0<256){c=k[l+8>>2]|0;b=k[l+12>>2]|0;a=55296+(d<<1<<2)|0;if((c|0)!=(a|0)){if(c>>>0>>0)zb();if((k[c+12>>2]|0)!=(l|0))zb()}if((b|0)==(c|0)){k[13814]=k[13814]&~(1<>>0>>0)zb();a=b+8|0;if((k[a>>2]|0)==(l|0))g=a;else zb()}else g=b+8|0;k[c+12>>2]=b;k[g>>2]=c;r=l;e=j;break}f=k[l+24>>2]|0;b=k[l+12>>2]|0;do if((b|0)==(l|0)){b=l+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>2]|0;if(!a){i=0;break}else c=b}while(1){b=a+20|0;d=k[b>>2]|0;if(d|0){a=d;c=b;continue}b=a+16|0;d=k[b>>2]|0;if(!d)break;else{a=d;c=b}}if(c>>>0>>0)zb();else{k[c>>2]=0;i=a;break}}else{d=k[l+8>>2]|0;if(d>>>0>>0)zb();a=d+12|0;if((k[a>>2]|0)!=(l|0))zb();c=b+8|0;if((k[c>>2]|0)==(l|0)){k[a>>2]=b;k[c>>2]=d;i=b;break}else zb()}while(0);if(f){a=k[l+28>>2]|0;c=55560+(a<<2)|0;do if((l|0)==(k[c>>2]|0)){k[c>>2]=i;if(!i){k[13815]=k[13815]&~(1<>>0>=(k[13818]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(l|0)&1)<<2)>>2]=i;if(!i){r=l;e=j;break a}else break}else zb();while(0);b=k[13818]|0;if(i>>>0>>0)zb();k[i+24>>2]=f;a=l+16|0;c=k[a>>2]|0;do if(c|0)if(c>>>0>>0)zb();else{k[i+16>>2]=c;k[c+24>>2]=i;break}while(0);a=k[a+4>>2]|0;if(a)if(a>>>0<(k[13818]|0)>>>0)zb();else{k[i+20>>2]=a;k[a+24>>2]=i;r=l;e=j;break}else{r=l;e=j}}else{r=l;e=j}}else{r=a;e=b}while(0);g=k[13818]|0;if(o>>>0>>0)zb();a=o+4|0;c=k[a>>2]|0;if(!(c&2)){a=k[13819]|0;if((o|0)==(k[13820]|0)){q=(k[13817]|0)+e|0;k[13817]=q;k[13820]=r;k[r+4>>2]=q|1;if((r|0)!=(a|0))return;k[13819]=0;k[13816]=0;return}if((o|0)==(a|0)){q=(k[13816]|0)+e|0;k[13816]=q;k[13819]=r;k[r+4>>2]=q|1;k[r+q>>2]=q;return}e=(c&-8)+e|0;d=c>>>3;b:do if(c>>>0>=256){f=k[o+24>>2]|0;b=k[o+12>>2]|0;do if((b|0)==(o|0)){b=o+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>2]|0;if(!a){n=0;break}else c=b}while(1){b=a+20|0;d=k[b>>2]|0;if(d|0){a=d;c=b;continue}b=a+16|0;d=k[b>>2]|0;if(!d)break;else{a=d;c=b}}if(c>>>0>>0)zb();else{k[c>>2]=0;n=a;break}}else{d=k[o+8>>2]|0;if(d>>>0>>0)zb();a=d+12|0;if((k[a>>2]|0)!=(o|0))zb();c=b+8|0;if((k[c>>2]|0)==(o|0)){k[a>>2]=b;k[c>>2]=d;n=b;break}else zb()}while(0);if(f|0){a=k[o+28>>2]|0;c=55560+(a<<2)|0;do if((o|0)==(k[c>>2]|0)){k[c>>2]=n;if(!n){k[13815]=k[13815]&~(1<>>0>=(k[13818]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else zb();while(0);b=k[13818]|0;if(n>>>0>>0)zb();k[n+24>>2]=f;a=o+16|0;c=k[a>>2]|0;do if(c|0)if(c>>>0>>0)zb();else{k[n+16>>2]=c;k[c+24>>2]=n;break}while(0);a=k[a+4>>2]|0;if(a|0)if(a>>>0<(k[13818]|0)>>>0)zb();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}}else{c=k[o+8>>2]|0;b=k[o+12>>2]|0;a=55296+(d<<1<<2)|0;if((c|0)!=(a|0)){if(c>>>0>>0)zb();if((k[c+12>>2]|0)!=(o|0))zb()}if((b|0)==(c|0)){k[13814]=k[13814]&~(1<>>0>>0)zb();a=b+8|0;if((k[a>>2]|0)==(o|0))m=a;else zb()}else m=b+8|0;k[c+12>>2]=b;k[m>>2]=c}while(0);k[r+4>>2]=e|1;k[r+e>>2]=e;if((r|0)==(k[13819]|0)){k[13816]=e;return}}else{k[a>>2]=c&-2;k[r+4>>2]=e|1;k[r+e>>2]=e}a=e>>>3;if(e>>>0<256){b=55296+(a<<1<<2)|0;c=k[13814]|0;a=1<>2]|0;if(c>>>0<(k[13818]|0)>>>0)zb();else{p=c;q=a}}else{k[13814]=c|a;p=b;q=b+8|0}k[q>>2]=r;k[p+12>>2]=r;k[r+8>>2]=p;k[r+12>>2]=b;return}a=e>>>8;if(a)if(e>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;a=14-(o|p|a)+(q<>>15)|0;a=e>>>(a+7|0)&1|a<<1}else a=0;d=55560+(a<<2)|0;k[r+28>>2]=a;k[r+20>>2]=0;k[r+16>>2]=0;c=k[13815]|0;b=1<>2]=r;k[r+24>>2]=d;k[r+12>>2]=r;k[r+8>>2]=r;return}c=e<<((a|0)==31?0:25-(a>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){a=121;break}b=d+16+(c>>>31<<2)|0;a=k[b>>2]|0;if(!a){a=118;break}else{c=c<<1;d=a}}if((a|0)==118){if(b>>>0<(k[13818]|0)>>>0)zb();k[b>>2]=r;k[r+24>>2]=d;k[r+12>>2]=r;k[r+8>>2]=r;return}else if((a|0)==121){a=d+8|0;c=k[a>>2]|0;q=k[13818]|0;if(!(c>>>0>=q>>>0&d>>>0>=q>>>0))zb();k[c+12>>2]=r;k[a>>2]=r;k[r+8>>2]=c;k[r+12>>2]=d;k[r+24>>2]=0;return}}function e0(a,b){a=a|0;b=b|0;if(a>>>0<9){b=_$(b)|0;return b|0}else{b=f0(a,b)|0;return b|0}return 0}function f0(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a=a>>>0>16?a:16;if(a+-1&a){c=16;while(1)if(c>>>0>>0)c=c<<1;else{a=c;break}}if((-64-a|0)>>>0<=b>>>0){g=C_()|0;k[g>>2]=12;g=0;return g|0}f=b>>>0<11?16:b+11&-8;c=_$(f+12+a|0)|0;if(!c){g=0;return g|0}e=c+-8|0;do if(c&a+-1){d=(c+a+-1&0-a)+-8|0;b=e;d=(d-b|0)>>>0>15?d:d+a|0;b=d-b|0;a=c+-4|0;h=k[a>>2]|0;c=(h&-8)-b|0;if(!(h&3)){k[d>>2]=(k[e>>2]|0)+b;k[d+4>>2]=c;a=d;b=d;break}else{h=d+4|0;k[h>>2]=c|k[h>>2]&1|2;c=d+c+4|0;k[c>>2]=k[c>>2]|1;k[a>>2]=b|k[a>>2]&1|2;k[h>>2]=k[h>>2]|1;d0(e,b);a=d;b=d;break}}else{a=e;b=e}while(0);a=a+4|0;c=k[a>>2]|0;if(c&3|0?(g=c&-8,g>>>0>(f+16|0)>>>0):0){h=g-f|0;g=b+f|0;k[a>>2]=f|c&1|2;k[g+4>>2]=h|3;f=g+h+4|0;k[f>>2]=k[f>>2]|1;d0(g,h)}h=b+8|0;return h|0}function g0(){}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (M=d,a-c>>>0|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (M=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function j0(a){a=a|0;return 0}function k0(a){a=a|0;var b=0;b=i[w+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[w+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[w+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[w+(a>>>24)>>0]|0)+24|0}function l0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (M=n,e)|0}else{if(!f){n=0;e=0;return (M=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (M=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ca(h|0)|0)-(ca(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (M=n,e)|0}f=g-1|0;if(f&g|0){h=(ca(g|0)|0)+33-(ca(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e|0){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (M=o,p)|0}else{p=k0(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (M=o,p)|0}}else{if(f){if(e|0){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (M=o,p)|0}if(!l){if(e|0){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (M=o,p)|0}f=h-1|0;if(!(f&h)){if(e|0){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((k0(h|0)|0)>>>0);return (M=o,p)|0}f=(ca(h|0)|0)-(ca(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (M=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=i0(m|0,l|0,-1,-1)|0;c=M;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;h0(j|0,c|0,d|0,n|0)|0;p=M;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=h0(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=M;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e|0){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (M=o,p)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=h0(g^a|0,f^b|0,g|0,f|0)|0;b=M;l0(a,b,h0(j^c|0,i^d|0,j|0,i|0)|0,M,h)|0;d=h0(k[h>>2]^g|0,k[h+4>>2]^f|0,g|0,f|0)|0;c=M;u=e;return (M=c,d)|0}function n0(a){a=a|0;return 0}function o0(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b>>c;return a>>>c|(b&(1<>c-32|0}function p0(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b>>>c;return a>>>c|(b&(1<>>c-32|0}function q0(a){a=a|0;return 0}function r0(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;if((c|0)>=8192)return jb(a|0,b|0,c|0)|0;f=a|0;e=a+c|0;if((a&3)==(b&3)){while(a&3){if(!c)return f|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}c=e&-4|0;d=c-64|0;while((a|0)<=(d|0)){k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];k[a+20>>2]=k[b+20>>2];k[a+24>>2]=k[b+24>>2];k[a+28>>2]=k[b+28>>2];k[a+32>>2]=k[b+32>>2];k[a+36>>2]=k[b+36>>2];k[a+40>>2]=k[b+40>>2];k[a+44>>2]=k[b+44>>2];k[a+48>>2]=k[b+48>>2];k[a+52>>2]=k[b+52>>2];k[a+56>>2]=k[b+56>>2];k[a+60>>2]=k[b+60>>2];a=a+64|0;b=b+64|0}while((a|0)<(c|0)){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}}else{c=e-4|0;while((a|0)<(c|0)){i[a>>0]=i[b>>0]|0;i[a+1>>0]=i[b+1>>0]|0;i[a+2>>0]=i[b+2>>0]|0;i[a+3>>0]=i[b+3>>0]|0;a=a+4|0;b=b+4|0}}while((a|0)<(e|0)){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}return f|0}function s0(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=k[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ha()|0;$a(12);return -1}k[r>>2]=a;if((a|0)>(ga()|0)?(fa()|0)==0:0){$a(12);k[r>>2]=b;return -1}return b|0}function t0(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b<>>32-c;return a<0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else r0(a,b,c)|0;return a|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=u;u=u+16|0;e=f|0;l0(a,b,c,d,e)|0;u=f;return (M=k[e+4>>2]|0,k[e>>2]|0)|0}function w0(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=a+c|0;b=b&255;if((c|0)>=67){while(a&3){i[a>>0]=b;a=a+1|0}d=f&-4|0;e=d-64|0;g=b|b<<8|b<<16|b<<24;while((a|0)<=(e|0)){k[a>>2]=g;k[a+4>>2]=g;k[a+8>>2]=g;k[a+12>>2]=g;k[a+16>>2]=g;k[a+20>>2]=g;k[a+24>>2]=g;k[a+28>>2]=g;k[a+32>>2]=g;k[a+36>>2]=g;k[a+40>>2]=g;k[a+44>>2]=g;k[a+48>>2]=g;k[a+52>>2]=g;k[a+56>>2]=g;k[a+60>>2]=g;a=a+64|0}while((a|0)<(d|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}return f-c|0}function x0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=h0(j^a|0,i^b|0,j|0,i|0)|0;g=M;a=f^j;b=e^i;return h0((l0(h,g,h0(f^c|0,e^d|0,f|0,e|0)|0,M,0)|0)^a|0,M^b|0,a|0,b|0)|0}function y0(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return l0(a,b,c,d,0)|0}function A0(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return (M=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function B0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=A0(e,f)|0;a=M;return (M=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function C0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Lb[a&255](b|0,c|0,d|0)|0}function D0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(0,a|0,b|0,c|0)|0}function E0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(1,a|0,b|0,c|0)|0}function F0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(2,a|0,b|0,c|0)|0}function G0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(3,a|0,b|0,c|0)|0}function H0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(4,a|0,b|0,c|0)|0}function I0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(5,a|0,b|0,c|0)|0}function J0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(6,a|0,b|0,c|0)|0}function K0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(7,a|0,b|0,c|0)|0}function L0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(8,a|0,b|0,c|0)|0}function M0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(9,a|0,b|0,c|0)|0}function N0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(10,a|0,b|0,c|0)|0}function O0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(11,a|0,b|0,c|0)|0}function P0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(12,a|0,b|0,c|0)|0}function Q0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(13,a|0,b|0,c|0)|0}function R0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(14,a|0,b|0,c|0)|0}function S0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(15,a|0,b|0,c|0)|0}function T0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(16,a|0,b|0,c|0)|0}function U0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(17,a|0,b|0,c|0)|0}function V0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(18,a|0,b|0,c|0)|0}function W0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(19,a|0,b|0,c|0)|0}function X0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(20,a|0,b|0,c|0)|0}function Y0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(21,a|0,b|0,c|0)|0}function Z0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(22,a|0,b|0,c|0)|0}function _0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(23,a|0,b|0,c|0)|0}function $0(a,b,c){a=a|0;b=b|0;c=c|0;return ja(24,a|0,b|0,c|0)|0}function a1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(25,a|0,b|0,c|0)|0}function b1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(26,a|0,b|0,c|0)|0}function c1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(27,a|0,b|0,c|0)|0}function d1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(28,a|0,b|0,c|0)|0}function e1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(29,a|0,b|0,c|0)|0}function f1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(30,a|0,b|0,c|0)|0}function g1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(31,a|0,b|0,c|0)|0}function h1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(32,a|0,b|0,c|0)|0}function i1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(33,a|0,b|0,c|0)|0}function j1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(34,a|0,b|0,c|0)|0}function k1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(35,a|0,b|0,c|0)|0}function l1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(36,a|0,b|0,c|0)|0}function m1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(37,a|0,b|0,c|0)|0}function n1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(38,a|0,b|0,c|0)|0}function o1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(39,a|0,b|0,c|0)|0}function p1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(40,a|0,b|0,c|0)|0}function q1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(41,a|0,b|0,c|0)|0}function r1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(42,a|0,b|0,c|0)|0}function s1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(43,a|0,b|0,c|0)|0}function t1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(44,a|0,b|0,c|0)|0}function u1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(45,a|0,b|0,c|0)|0}function v1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(46,a|0,b|0,c|0)|0}function w1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(47,a|0,b|0,c|0)|0}function x1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(48,a|0,b|0,c|0)|0}function y1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(49,a|0,b|0,c|0)|0}function z1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(50,a|0,b|0,c|0)|0}function A1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(51,a|0,b|0,c|0)|0}function B1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(52,a|0,b|0,c|0)|0}function C1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(53,a|0,b|0,c|0)|0}function D1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(54,a|0,b|0,c|0)|0}function E1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(55,a|0,b|0,c|0)|0}function F1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(56,a|0,b|0,c|0)|0}function G1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(57,a|0,b|0,c|0)|0}function H1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(58,a|0,b|0,c|0)|0}function I1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(59,a|0,b|0,c|0)|0}function J1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(60,a|0,b|0,c|0)|0}function K1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(61,a|0,b|0,c|0)|0}function L1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(62,a|0,b|0,c|0)|0}function M1(a,b,c){a=a|0;b=b|0;c=c|0;return ja(63,a|0,b|0,c|0)|0}function N1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Mb[a&255](b|0,c|0,d|0,e|0,f|0)}function O1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(0,a|0,b|0,c|0,d|0,e|0)}function P1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(1,a|0,b|0,c|0,d|0,e|0)}function Q1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(2,a|0,b|0,c|0,d|0,e|0)}function R1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(3,a|0,b|0,c|0,d|0,e|0)}function S1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(4,a|0,b|0,c|0,d|0,e|0)}function T1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(5,a|0,b|0,c|0,d|0,e|0)}function U1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(6,a|0,b|0,c|0,d|0,e|0)}function V1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(7,a|0,b|0,c|0,d|0,e|0)}function W1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(8,a|0,b|0,c|0,d|0,e|0)}function X1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(9,a|0,b|0,c|0,d|0,e|0)}function Y1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(10,a|0,b|0,c|0,d|0,e|0)}function Z1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(11,a|0,b|0,c|0,d|0,e|0)}function _1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(12,a|0,b|0,c|0,d|0,e|0)}function $1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(13,a|0,b|0,c|0,d|0,e|0)}function a2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(14,a|0,b|0,c|0,d|0,e|0)}function b2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(15,a|0,b|0,c|0,d|0,e|0)}function c2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(16,a|0,b|0,c|0,d|0,e|0)}function d2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(17,a|0,b|0,c|0,d|0,e|0)}function e2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(18,a|0,b|0,c|0,d|0,e|0)}function f2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(19,a|0,b|0,c|0,d|0,e|0)}function g2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(20,a|0,b|0,c|0,d|0,e|0)}function h2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(21,a|0,b|0,c|0,d|0,e|0)}function i2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(22,a|0,b|0,c|0,d|0,e|0)}function j2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(23,a|0,b|0,c|0,d|0,e|0)}function k2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(24,a|0,b|0,c|0,d|0,e|0)}function l2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(25,a|0,b|0,c|0,d|0,e|0)}function m2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(26,a|0,b|0,c|0,d|0,e|0)}function n2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(27,a|0,b|0,c|0,d|0,e|0)}function o2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(28,a|0,b|0,c|0,d|0,e|0)}function p2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(29,a|0,b|0,c|0,d|0,e|0)}function q2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(30,a|0,b|0,c|0,d|0,e|0)}function r2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(31,a|0,b|0,c|0,d|0,e|0)}function s2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(32,a|0,b|0,c|0,d|0,e|0)}function t2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(33,a|0,b|0,c|0,d|0,e|0)}function u2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(34,a|0,b|0,c|0,d|0,e|0)}function v2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(35,a|0,b|0,c|0,d|0,e|0)}function w2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(36,a|0,b|0,c|0,d|0,e|0)}function x2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(37,a|0,b|0,c|0,d|0,e|0)}function y2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(38,a|0,b|0,c|0,d|0,e|0)}function z2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(39,a|0,b|0,c|0,d|0,e|0)}function A2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(40,a|0,b|0,c|0,d|0,e|0)}function B2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(41,a|0,b|0,c|0,d|0,e|0)}function C2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(42,a|0,b|0,c|0,d|0,e|0)}function D2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(43,a|0,b|0,c|0,d|0,e|0)}function E2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(44,a|0,b|0,c|0,d|0,e|0)}function F2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(45,a|0,b|0,c|0,d|0,e|0)}function G2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(46,a|0,b|0,c|0,d|0,e|0)}function H2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(47,a|0,b|0,c|0,d|0,e|0)}function I2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(48,a|0,b|0,c|0,d|0,e|0)}function J2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(49,a|0,b|0,c|0,d|0,e|0)}function K2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(50,a|0,b|0,c|0,d|0,e|0)}function L2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(51,a|0,b|0,c|0,d|0,e|0)}function M2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(52,a|0,b|0,c|0,d|0,e|0)}function N2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(53,a|0,b|0,c|0,d|0,e|0)}function O2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(54,a|0,b|0,c|0,d|0,e|0)}function P2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(55,a|0,b|0,c|0,d|0,e|0)}function Q2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(56,a|0,b|0,c|0,d|0,e|0)}function R2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(57,a|0,b|0,c|0,d|0,e|0)}function S2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(58,a|0,b|0,c|0,d|0,e|0)}function T2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(59,a|0,b|0,c|0,d|0,e|0)}function U2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(60,a|0,b|0,c|0,d|0,e|0)}function V2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(61,a|0,b|0,c|0,d|0,e|0)}function W2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(62,a|0,b|0,c|0,d|0,e|0)}function X2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(63,a|0,b|0,c|0,d|0,e|0)}function Y2(a){a=a|0;return Nb[a&255]()|0}function Z2(){return na(0)|0}function _2(){return na(1)|0}function $2(){return na(2)|0}function a3(){return na(3)|0}function b3(){return na(4)|0}function c3(){return na(5)|0}function d3(){return na(6)|0}function e3(){return na(7)|0}function f3(){return na(8)|0}function g3(){return na(9)|0}function h3(){return na(10)|0}function i3(){return na(11)|0}function j3(){return na(12)|0}function k3(){return na(13)|0}function l3(){return na(14)|0}function m3(){return na(15)|0}function n3(){return na(16)|0}function o3(){return na(17)|0}function p3(){return na(18)|0}function q3(){return na(19)|0}function r3(){return na(20)|0}function s3(){return na(21)|0}function t3(){return na(22)|0}function u3(){return na(23)|0}function v3(){return na(24)|0}function w3(){return na(25)|0}function x3(){return na(26)|0}function y3(){return na(27)|0}function z3(){return na(28)|0}function A3(){return na(29)|0}function B3(){return na(30)|0}function C3(){return na(31)|0}function D3(){return na(32)|0}function E3(){return na(33)|0}function F3(){return na(34)|0}function G3(){return na(35)|0}function H3(){return na(36)|0}function I3(){return na(37)|0}function J3(){return na(38)|0}function K3(){return na(39)|0}function L3(){return na(40)|0}function M3(){return na(41)|0}function N3(){return na(42)|0}function O3(){return na(43)|0}function P3(){return na(44)|0}function Q3(){return na(45)|0}function R3(){return na(46)|0}function S3(){return na(47)|0}function T3(){return na(48)|0}function U3(){return na(49)|0}function V3(){return na(50)|0}function W3(){return na(51)|0}function X3(){return na(52)|0}function Y3(){return na(53)|0}function Z3(){return na(54)|0}function _3(){return na(55)|0}function $3(){return na(56)|0}function a4(){return na(57)|0}function b4(){return na(58)|0}function c4(){return na(59)|0}function d4(){return na(60)|0}function e4(){return na(61)|0}function f4(){return na(62)|0}function g4(){return na(63)|0}function h4(a,b){a=a|0;b=b|0;Ob[a&255](b|0)}function i4(a){a=a|0;pa(0,a|0)}function j4(a){a=a|0;pa(1,a|0)}function k4(a){a=a|0;pa(2,a|0)}function l4(a){a=a|0;pa(3,a|0)}function m4(a){a=a|0;pa(4,a|0)}function n4(a){a=a|0;pa(5,a|0)}function o4(a){a=a|0;pa(6,a|0)}function p4(a){a=a|0;pa(7,a|0)}function q4(a){a=a|0;pa(8,a|0)}function r4(a){a=a|0;pa(9,a|0)}function s4(a){a=a|0;pa(10,a|0)}function t4(a){a=a|0;pa(11,a|0)}function u4(a){a=a|0;pa(12,a|0)}function v4(a){a=a|0;pa(13,a|0)}function w4(a){a=a|0;pa(14,a|0)}function x4(a){a=a|0;pa(15,a|0)}function y4(a){a=a|0;pa(16,a|0)}function z4(a){a=a|0;pa(17,a|0)}function A4(a){a=a|0;pa(18,a|0)}function B4(a){a=a|0;pa(19,a|0)}function C4(a){a=a|0;pa(20,a|0)}function D4(a){a=a|0;pa(21,a|0)}function E4(a){a=a|0;pa(22,a|0)}function F4(a){a=a|0;pa(23,a|0)}function G4(a){a=a|0;pa(24,a|0)}function H4(a){a=a|0;pa(25,a|0)}function I4(a){a=a|0;pa(26,a|0)}function J4(a){a=a|0;pa(27,a|0)}function K4(a){a=a|0;pa(28,a|0)}function L4(a){a=a|0;pa(29,a|0)}function M4(a){a=a|0;pa(30,a|0)}function N4(a){a=a|0;pa(31,a|0)}function O4(a){a=a|0;pa(32,a|0)}function P4(a){a=a|0;pa(33,a|0)}function Q4(a){a=a|0;pa(34,a|0)}function R4(a){a=a|0;pa(35,a|0)}function S4(a){a=a|0;pa(36,a|0)}function T4(a){a=a|0;pa(37,a|0)}function U4(a){a=a|0;pa(38,a|0)}function V4(a){a=a|0;pa(39,a|0)}function W4(a){a=a|0;pa(40,a|0)}function X4(a){a=a|0;pa(41,a|0)}function Y4(a){a=a|0;pa(42,a|0)}function Z4(a){a=a|0;pa(43,a|0)}function _4(a){a=a|0;pa(44,a|0)}function $4(a){a=a|0;pa(45,a|0)}function a5(a){a=a|0;pa(46,a|0)}function b5(a){a=a|0;pa(47,a|0)}function c5(a){a=a|0;pa(48,a|0)}function d5(a){a=a|0;pa(49,a|0)}function e5(a){a=a|0;pa(50,a|0)}function f5(a){a=a|0;pa(51,a|0)}function g5(a){a=a|0;pa(52,a|0)}function h5(a){a=a|0;pa(53,a|0)}function i5(a){a=a|0;pa(54,a|0)}function j5(a){a=a|0;pa(55,a|0)}function k5(a){a=a|0;pa(56,a|0)}function l5(a){a=a|0;pa(57,a|0)}function m5(a){a=a|0;pa(58,a|0)}function n5(a){a=a|0;pa(59,a|0)}function o5(a){a=a|0;pa(60,a|0)}function p5(a){a=a|0;pa(61,a|0)}function q5(a){a=a|0;pa(62,a|0)}function r5(a){a=a|0;pa(63,a|0)}function s5(a,b,c){a=a|0;b=b|0;c=c|0;Pb[a&255](b|0,c|0)}function t5(a,b){a=a|0;b=b|0;ra(0,a|0,b|0)}function u5(a,b){a=a|0;b=b|0;ra(1,a|0,b|0)}function v5(a,b){a=a|0;b=b|0;ra(2,a|0,b|0)}function w5(a,b){a=a|0;b=b|0;ra(3,a|0,b|0)}function x5(a,b){a=a|0;b=b|0;ra(4,a|0,b|0)}function y5(a,b){a=a|0;b=b|0;ra(5,a|0,b|0)}function z5(a,b){a=a|0;b=b|0;ra(6,a|0,b|0)}function A5(a,b){a=a|0;b=b|0;ra(7,a|0,b|0)}function B5(a,b){a=a|0;b=b|0;ra(8,a|0,b|0)}function C5(a,b){a=a|0;b=b|0;ra(9,a|0,b|0)}function D5(a,b){a=a|0;b=b|0;ra(10,a|0,b|0)}function E5(a,b){a=a|0;b=b|0;ra(11,a|0,b|0)}function F5(a,b){a=a|0;b=b|0;ra(12,a|0,b|0)}function G5(a,b){a=a|0;b=b|0;ra(13,a|0,b|0)}function H5(a,b){a=a|0;b=b|0;ra(14,a|0,b|0)}function I5(a,b){a=a|0;b=b|0;ra(15,a|0,b|0)}function J5(a,b){a=a|0;b=b|0;ra(16,a|0,b|0)}function K5(a,b){a=a|0;b=b|0;ra(17,a|0,b|0)}function L5(a,b){a=a|0;b=b|0;ra(18,a|0,b|0)}function M5(a,b){a=a|0;b=b|0;ra(19,a|0,b|0)}function N5(a,b){a=a|0;b=b|0;ra(20,a|0,b|0)}function O5(a,b){a=a|0;b=b|0;ra(21,a|0,b|0)}function P5(a,b){a=a|0;b=b|0;ra(22,a|0,b|0)}function Q5(a,b){a=a|0;b=b|0;ra(23,a|0,b|0)}function R5(a,b){a=a|0;b=b|0;ra(24,a|0,b|0)}function S5(a,b){a=a|0;b=b|0;ra(25,a|0,b|0)}function T5(a,b){a=a|0;b=b|0;ra(26,a|0,b|0)}function U5(a,b){a=a|0;b=b|0;ra(27,a|0,b|0)}function V5(a,b){a=a|0;b=b|0;ra(28,a|0,b|0)}function W5(a,b){a=a|0;b=b|0;ra(29,a|0,b|0)}function X5(a,b){a=a|0;b=b|0;ra(30,a|0,b|0)}function Y5(a,b){a=a|0;b=b|0;ra(31,a|0,b|0)}function Z5(a,b){a=a|0;b=b|0;ra(32,a|0,b|0)}function _5(a,b){a=a|0;b=b|0;ra(33,a|0,b|0)}function $5(a,b){a=a|0;b=b|0;ra(34,a|0,b|0)}function a6(a,b){a=a|0;b=b|0;ra(35,a|0,b|0)}function b6(a,b){a=a|0;b=b|0;ra(36,a|0,b|0)}function c6(a,b){a=a|0;b=b|0;ra(37,a|0,b|0)}function d6(a,b){a=a|0;b=b|0;ra(38,a|0,b|0)}function e6(a,b){a=a|0;b=b|0;ra(39,a|0,b|0)}function f6(a,b){a=a|0;b=b|0;ra(40,a|0,b|0)}function g6(a,b){a=a|0;b=b|0;ra(41,a|0,b|0)}function h6(a,b){a=a|0;b=b|0;ra(42,a|0,b|0)}function i6(a,b){a=a|0;b=b|0;ra(43,a|0,b|0)}function j6(a,b){a=a|0;b=b|0;ra(44,a|0,b|0)}function k6(a,b){a=a|0;b=b|0;ra(45,a|0,b|0)}function l6(a,b){a=a|0;b=b|0;ra(46,a|0,b|0)}function m6(a,b){a=a|0;b=b|0;ra(47,a|0,b|0)}function n6(a,b){a=a|0;b=b|0;ra(48,a|0,b|0)}function o6(a,b){a=a|0;b=b|0;ra(49,a|0,b|0)}function p6(a,b){a=a|0;b=b|0;ra(50,a|0,b|0)}function q6(a,b){a=a|0;b=b|0;ra(51,a|0,b|0)}function r6(a,b){a=a|0;b=b|0;ra(52,a|0,b|0)}function s6(a,b){a=a|0;b=b|0;ra(53,a|0,b|0)}function t6(a,b){a=a|0;b=b|0;ra(54,a|0,b|0)}function u6(a,b){a=a|0;b=b|0;ra(55,a|0,b|0)}function v6(a,b){a=a|0;b=b|0;ra(56,a|0,b|0)}function w6(a,b){a=a|0;b=b|0;ra(57,a|0,b|0)}function x6(a,b){a=a|0;b=b|0;ra(58,a|0,b|0)}function y6(a,b){a=a|0;b=b|0;ra(59,a|0,b|0)}function z6(a,b){a=a|0;b=b|0;ra(60,a|0,b|0)}function A6(a,b){a=a|0;b=b|0;ra(61,a|0,b|0)}function B6(a,b){a=a|0;b=b|0;ra(62,a|0,b|0)}function C6(a,b){a=a|0;b=b|0;ra(63,a|0,b|0)}function D6(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Qb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function E6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function F6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function G6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function H6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function I6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function J6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function K6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function L6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function M6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function N6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function O6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function P6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Q6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function R6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function S6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function T6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function U6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function V6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function W6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function X6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Y6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Z6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function a7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function b7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function c7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function d7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function e7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function f7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function g7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function h7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function i7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function j7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function k7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function l7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function m7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function n7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function o7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function p7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function q7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function r7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function s7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function t7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function u7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function v7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function w7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function x7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function y7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function z7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function A7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function B7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function C7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function D7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function E7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function F7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function G7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function H7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function I7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function J7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function K7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function L7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function M7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function N7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ta(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function O7(a,b){a=a|0;b=b|0;return Rb[a&255](b|0)|0}function P7(a){a=a|0;return va(0,a|0)|0}function Q7(a){a=a|0;return va(1,a|0)|0}function R7(a){a=a|0;return va(2,a|0)|0}function S7(a){a=a|0;return va(3,a|0)|0}function T7(a){a=a|0;return va(4,a|0)|0}function U7(a){a=a|0;return va(5,a|0)|0}function V7(a){a=a|0;return va(6,a|0)|0}function W7(a){a=a|0;return va(7,a|0)|0}function X7(a){a=a|0;return va(8,a|0)|0}function Y7(a){a=a|0;return va(9,a|0)|0}function Z7(a){a=a|0;return va(10,a|0)|0}function _7(a){a=a|0;return va(11,a|0)|0}function $7(a){a=a|0;return va(12,a|0)|0}function a8(a){a=a|0;return va(13,a|0)|0}function b8(a){a=a|0;return va(14,a|0)|0}function c8(a){a=a|0;return va(15,a|0)|0}function d8(a){a=a|0;return va(16,a|0)|0}function e8(a){a=a|0;return va(17,a|0)|0}function f8(a){a=a|0;return va(18,a|0)|0}function g8(a){a=a|0;return va(19,a|0)|0}function h8(a){a=a|0;return va(20,a|0)|0}function i8(a){a=a|0;return va(21,a|0)|0}function j8(a){a=a|0;return va(22,a|0)|0}function k8(a){a=a|0;return va(23,a|0)|0}function l8(a){a=a|0;return va(24,a|0)|0}function m8(a){a=a|0;return va(25,a|0)|0}function n8(a){a=a|0;return va(26,a|0)|0}function o8(a){a=a|0;return va(27,a|0)|0}function p8(a){a=a|0;return va(28,a|0)|0}function q8(a){a=a|0;return va(29,a|0)|0}function r8(a){a=a|0;return va(30,a|0)|0}function s8(a){a=a|0;return va(31,a|0)|0}function t8(a){a=a|0;return va(32,a|0)|0}function u8(a){a=a|0;return va(33,a|0)|0}function v8(a){a=a|0;return va(34,a|0)|0}function w8(a){a=a|0;return va(35,a|0)|0}function x8(a){a=a|0;return va(36,a|0)|0}function y8(a){a=a|0;return va(37,a|0)|0}function z8(a){a=a|0;return va(38,a|0)|0}function A8(a){a=a|0;return va(39,a|0)|0}function B8(a){a=a|0;return va(40,a|0)|0}function C8(a){a=a|0;return va(41,a|0)|0}function D8(a){a=a|0;return va(42,a|0)|0}function E8(a){a=a|0;return va(43,a|0)|0}function F8(a){a=a|0;return va(44,a|0)|0}function G8(a){a=a|0;return va(45,a|0)|0}function H8(a){a=a|0;return va(46,a|0)|0}function I8(a){a=a|0;return va(47,a|0)|0}function J8(a){a=a|0;return va(48,a|0)|0}function K8(a){a=a|0;return va(49,a|0)|0}function L8(a){a=a|0;return va(50,a|0)|0}function M8(a){a=a|0;return va(51,a|0)|0}function N8(a){a=a|0;return va(52,a|0)|0}function O8(a){a=a|0;return va(53,a|0)|0}function P8(a){a=a|0;return va(54,a|0)|0}function Q8(a){a=a|0;return va(55,a|0)|0}function R8(a){a=a|0;return va(56,a|0)|0}function S8(a){a=a|0;return va(57,a|0)|0}function T8(a){a=a|0;return va(58,a|0)|0}function U8(a){a=a|0;return va(59,a|0)|0}function V8(a){a=a|0;return va(60,a|0)|0}function W8(a){a=a|0;return va(61,a|0)|0}function X8(a){a=a|0;return va(62,a|0)|0}function Y8(a){a=a|0;return va(63,a|0)|0}function Z8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sb[a&255](b|0,c|0,d|0)}function _8(a,b,c){a=a|0;b=b|0;c=c|0;xa(0,a|0,b|0,c|0)}function $8(a,b,c){a=a|0;b=b|0;c=c|0;xa(1,a|0,b|0,c|0)}function a9(a,b,c){a=a|0;b=b|0;c=c|0;xa(2,a|0,b|0,c|0)}function b9(a,b,c){a=a|0;b=b|0;c=c|0;xa(3,a|0,b|0,c|0)}function c9(a,b,c){a=a|0;b=b|0;c=c|0;xa(4,a|0,b|0,c|0)}function d9(a,b,c){a=a|0;b=b|0;c=c|0;xa(5,a|0,b|0,c|0)}function e9(a,b,c){a=a|0;b=b|0;c=c|0;xa(6,a|0,b|0,c|0)}function f9(a,b,c){a=a|0;b=b|0;c=c|0;xa(7,a|0,b|0,c|0)}function g9(a,b,c){a=a|0;b=b|0;c=c|0;xa(8,a|0,b|0,c|0)}function h9(a,b,c){a=a|0;b=b|0;c=c|0;xa(9,a|0,b|0,c|0)}function i9(a,b,c){a=a|0;b=b|0;c=c|0;xa(10,a|0,b|0,c|0)}function j9(a,b,c){a=a|0;b=b|0;c=c|0;xa(11,a|0,b|0,c|0)}function k9(a,b,c){a=a|0;b=b|0;c=c|0;xa(12,a|0,b|0,c|0)}function l9(a,b,c){a=a|0;b=b|0;c=c|0;xa(13,a|0,b|0,c|0)}function m9(a,b,c){a=a|0;b=b|0;c=c|0;xa(14,a|0,b|0,c|0)}function n9(a,b,c){a=a|0;b=b|0;c=c|0;xa(15,a|0,b|0,c|0)}function o9(a,b,c){a=a|0;b=b|0;c=c|0;xa(16,a|0,b|0,c|0)}function p9(a,b,c){a=a|0;b=b|0;c=c|0;xa(17,a|0,b|0,c|0)}function q9(a,b,c){a=a|0;b=b|0;c=c|0;xa(18,a|0,b|0,c|0)}function r9(a,b,c){a=a|0;b=b|0;c=c|0;xa(19,a|0,b|0,c|0)}function s9(a,b,c){a=a|0;b=b|0;c=c|0;xa(20,a|0,b|0,c|0)}function t9(a,b,c){a=a|0;b=b|0;c=c|0;xa(21,a|0,b|0,c|0)}function u9(a,b,c){a=a|0;b=b|0;c=c|0;xa(22,a|0,b|0,c|0)}function v9(a,b,c){a=a|0;b=b|0;c=c|0;xa(23,a|0,b|0,c|0)}function w9(a,b,c){a=a|0;b=b|0;c=c|0;xa(24,a|0,b|0,c|0)}function x9(a,b,c){a=a|0;b=b|0;c=c|0;xa(25,a|0,b|0,c|0)}function y9(a,b,c){a=a|0;b=b|0;c=c|0;xa(26,a|0,b|0,c|0)}function z9(a,b,c){a=a|0;b=b|0;c=c|0;xa(27,a|0,b|0,c|0)}function A9(a,b,c){a=a|0;b=b|0;c=c|0;xa(28,a|0,b|0,c|0)}function B9(a,b,c){a=a|0;b=b|0;c=c|0;xa(29,a|0,b|0,c|0)}function C9(a,b,c){a=a|0;b=b|0;c=c|0;xa(30,a|0,b|0,c|0)}function D9(a,b,c){a=a|0;b=b|0;c=c|0;xa(31,a|0,b|0,c|0)}function E9(a,b,c){a=a|0;b=b|0;c=c|0;xa(32,a|0,b|0,c|0)}function F9(a,b,c){a=a|0;b=b|0;c=c|0;xa(33,a|0,b|0,c|0)}function G9(a,b,c){a=a|0;b=b|0;c=c|0;xa(34,a|0,b|0,c|0)}function H9(a,b,c){a=a|0;b=b|0;c=c|0;xa(35,a|0,b|0,c|0)}function I9(a,b,c){a=a|0;b=b|0;c=c|0;xa(36,a|0,b|0,c|0)}function J9(a,b,c){a=a|0;b=b|0;c=c|0;xa(37,a|0,b|0,c|0)}function K9(a,b,c){a=a|0;b=b|0;c=c|0;xa(38,a|0,b|0,c|0)}function L9(a,b,c){a=a|0;b=b|0;c=c|0;xa(39,a|0,b|0,c|0)}function M9(a,b,c){a=a|0;b=b|0;c=c|0;xa(40,a|0,b|0,c|0)}function N9(a,b,c){a=a|0;b=b|0;c=c|0;xa(41,a|0,b|0,c|0)}function O9(a,b,c){a=a|0;b=b|0;c=c|0;xa(42,a|0,b|0,c|0)}function P9(a,b,c){a=a|0;b=b|0;c=c|0;xa(43,a|0,b|0,c|0)}function Q9(a,b,c){a=a|0;b=b|0;c=c|0;xa(44,a|0,b|0,c|0)}function R9(a,b,c){a=a|0;b=b|0;c=c|0;xa(45,a|0,b|0,c|0)}function S9(a,b,c){a=a|0;b=b|0;c=c|0;xa(46,a|0,b|0,c|0)}function T9(a,b,c){a=a|0;b=b|0;c=c|0;xa(47,a|0,b|0,c|0)}function U9(a,b,c){a=a|0;b=b|0;c=c|0;xa(48,a|0,b|0,c|0)}function V9(a,b,c){a=a|0;b=b|0;c=c|0;xa(49,a|0,b|0,c|0)}function W9(a,b,c){a=a|0;b=b|0;c=c|0;xa(50,a|0,b|0,c|0)}function X9(a,b,c){a=a|0;b=b|0;c=c|0;xa(51,a|0,b|0,c|0)}function Y9(a,b,c){a=a|0;b=b|0;c=c|0;xa(52,a|0,b|0,c|0)}function Z9(a,b,c){a=a|0;b=b|0;c=c|0;xa(53,a|0,b|0,c|0)}function _9(a,b,c){a=a|0;b=b|0;c=c|0;xa(54,a|0,b|0,c|0)}function $9(a,b,c){a=a|0;b=b|0;c=c|0;xa(55,a|0,b|0,c|0)}function aaa(a,b,c){a=a|0;b=b|0;c=c|0;xa(56,a|0,b|0,c|0)}function baa(a,b,c){a=a|0;b=b|0;c=c|0;xa(57,a|0,b|0,c|0)}function caa(a,b,c){a=a|0;b=b|0;c=c|0;xa(58,a|0,b|0,c|0)}function daa(a,b,c){a=a|0;b=b|0;c=c|0;xa(59,a|0,b|0,c|0)}function eaa(a,b,c){a=a|0;b=b|0;c=c|0;xa(60,a|0,b|0,c|0)}function faa(a,b,c){a=a|0;b=b|0;c=c|0;xa(61,a|0,b|0,c|0)}function gaa(a,b,c){a=a|0;b=b|0;c=c|0;xa(62,a|0,b|0,c|0)}function haa(a,b,c){a=a|0;b=b|0;c=c|0;xa(63,a|0,b|0,c|0)}function iaa(a){a=a|0;Tb[a&255]()}function jaa(){za(0)}function kaa(){za(1)}function laa(){za(2)}function maa(){za(3)}function naa(){za(4)}function oaa(){za(5)}function paa(){za(6)}function qaa(){za(7)}function raa(){za(8)}function saa(){za(9)}function taa(){za(10)}function uaa(){za(11)}function vaa(){za(12)}function waa(){za(13)}function xaa(){za(14)}function yaa(){za(15)}function zaa(){za(16)}function Aaa(){za(17)}function Baa(){za(18)}function Caa(){za(19)}function Daa(){za(20)}function Eaa(){za(21)}function Faa(){za(22)}function Gaa(){za(23)}function Haa(){za(24)}function Iaa(){za(25)}function Jaa(){za(26)}function Kaa(){za(27)}function Laa(){za(28)}function Maa(){za(29)}function Naa(){za(30)}function Oaa(){za(31)}function Paa(){za(32)}function Qaa(){za(33)}function Raa(){za(34)}function Saa(){za(35)}function Taa(){za(36)}function Uaa(){za(37)}function Vaa(){za(38)}function Waa(){za(39)}function Xaa(){za(40)}function Yaa(){za(41)}function Zaa(){za(42)}function _aa(){za(43)}function $aa(){za(44)}function aba(){za(45)}function bba(){za(46)}function cba(){za(47)}function dba(){za(48)}function eba(){za(49)}function fba(){za(50)}function gba(){za(51)}function hba(){za(52)}function iba(){za(53)}function jba(){za(54)}function kba(){za(55)}function lba(){za(56)}function mba(){za(57)}function nba(){za(58)}function oba(){za(59)}function pba(){za(60)}function qba(){za(61)}function rba(){za(62)}function sba(){za(63)}function tba(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ub[a&255](b|0,c|0,d|0,e|0)|0}function uba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(0,a|0,b|0,c|0,d|0)|0}function vba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(1,a|0,b|0,c|0,d|0)|0}function wba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(2,a|0,b|0,c|0,d|0)|0}function xba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(3,a|0,b|0,c|0,d|0)|0}function yba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(4,a|0,b|0,c|0,d|0)|0}function zba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(5,a|0,b|0,c|0,d|0)|0}function Aba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(6,a|0,b|0,c|0,d|0)|0}function Bba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(7,a|0,b|0,c|0,d|0)|0}function Cba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(8,a|0,b|0,c|0,d|0)|0}function Dba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(9,a|0,b|0,c|0,d|0)|0}function Eba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(10,a|0,b|0,c|0,d|0)|0}function Fba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(11,a|0,b|0,c|0,d|0)|0}function Gba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(12,a|0,b|0,c|0,d|0)|0}function Hba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(13,a|0,b|0,c|0,d|0)|0}function Iba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(14,a|0,b|0,c|0,d|0)|0}function Jba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(15,a|0,b|0,c|0,d|0)|0}function Kba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(16,a|0,b|0,c|0,d|0)|0}function Lba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(17,a|0,b|0,c|0,d|0)|0}function Mba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(18,a|0,b|0,c|0,d|0)|0}function Nba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(19,a|0,b|0,c|0,d|0)|0}function Oba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(20,a|0,b|0,c|0,d|0)|0}function Pba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(21,a|0,b|0,c|0,d|0)|0}function Qba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(22,a|0,b|0,c|0,d|0)|0}function Rba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(23,a|0,b|0,c|0,d|0)|0}function Sba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(24,a|0,b|0,c|0,d|0)|0}function Tba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(25,a|0,b|0,c|0,d|0)|0}function Uba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(26,a|0,b|0,c|0,d|0)|0}function Vba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(27,a|0,b|0,c|0,d|0)|0}function Wba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(28,a|0,b|0,c|0,d|0)|0}function Xba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(29,a|0,b|0,c|0,d|0)|0}function Yba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(30,a|0,b|0,c|0,d|0)|0}function Zba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(31,a|0,b|0,c|0,d|0)|0}function _ba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(32,a|0,b|0,c|0,d|0)|0}function $ba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(33,a|0,b|0,c|0,d|0)|0}function aca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(34,a|0,b|0,c|0,d|0)|0}function bca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(35,a|0,b|0,c|0,d|0)|0}function cca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(36,a|0,b|0,c|0,d|0)|0}function dca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(37,a|0,b|0,c|0,d|0)|0}function eca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(38,a|0,b|0,c|0,d|0)|0}function fca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(39,a|0,b|0,c|0,d|0)|0}function gca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(40,a|0,b|0,c|0,d|0)|0}function hca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(41,a|0,b|0,c|0,d|0)|0}function ica(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(42,a|0,b|0,c|0,d|0)|0}function jca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(43,a|0,b|0,c|0,d|0)|0}function kca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(44,a|0,b|0,c|0,d|0)|0}function lca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(45,a|0,b|0,c|0,d|0)|0}function mca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(46,a|0,b|0,c|0,d|0)|0}function nca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(47,a|0,b|0,c|0,d|0)|0}function oca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(48,a|0,b|0,c|0,d|0)|0}function pca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(49,a|0,b|0,c|0,d|0)|0}function qca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(50,a|0,b|0,c|0,d|0)|0}function rca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(51,a|0,b|0,c|0,d|0)|0}function sca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(52,a|0,b|0,c|0,d|0)|0}function tca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(53,a|0,b|0,c|0,d|0)|0}function uca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(54,a|0,b|0,c|0,d|0)|0}function vca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(55,a|0,b|0,c|0,d|0)|0}function wca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(56,a|0,b|0,c|0,d|0)|0}function xca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(57,a|0,b|0,c|0,d|0)|0}function yca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(58,a|0,b|0,c|0,d|0)|0}function zca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(59,a|0,b|0,c|0,d|0)|0}function Aca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(60,a|0,b|0,c|0,d|0)|0}function Bca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(61,a|0,b|0,c|0,d|0)|0}function Cca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(62,a|0,b|0,c|0,d|0)|0}function Dca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ba(63,a|0,b|0,c|0,d|0)|0}function Eca(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Vb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function Fca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(0,a|0,b|0,c|0,d|0,e|0,f|0)}function Gca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(1,a|0,b|0,c|0,d|0,e|0,f|0)}function Hca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(2,a|0,b|0,c|0,d|0,e|0,f|0)}function Ica(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(3,a|0,b|0,c|0,d|0,e|0,f|0)}function Jca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(4,a|0,b|0,c|0,d|0,e|0,f|0)}function Kca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(5,a|0,b|0,c|0,d|0,e|0,f|0)}function Lca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(6,a|0,b|0,c|0,d|0,e|0,f|0)}function Mca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(7,a|0,b|0,c|0,d|0,e|0,f|0)}function Nca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(8,a|0,b|0,c|0,d|0,e|0,f|0)}function Oca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(9,a|0,b|0,c|0,d|0,e|0,f|0)}function Pca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(10,a|0,b|0,c|0,d|0,e|0,f|0)}function Qca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(11,a|0,b|0,c|0,d|0,e|0,f|0)}function Rca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(12,a|0,b|0,c|0,d|0,e|0,f|0)}function Sca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(13,a|0,b|0,c|0,d|0,e|0,f|0)}function Tca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(14,a|0,b|0,c|0,d|0,e|0,f|0)}function Uca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(15,a|0,b|0,c|0,d|0,e|0,f|0)}function Vca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(16,a|0,b|0,c|0,d|0,e|0,f|0)}function Wca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(17,a|0,b|0,c|0,d|0,e|0,f|0)}function Xca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(18,a|0,b|0,c|0,d|0,e|0,f|0)}function Yca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(19,a|0,b|0,c|0,d|0,e|0,f|0)}function Zca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(20,a|0,b|0,c|0,d|0,e|0,f|0)}function _ca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(21,a|0,b|0,c|0,d|0,e|0,f|0)}function $ca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(22,a|0,b|0,c|0,d|0,e|0,f|0)}function ada(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(23,a|0,b|0,c|0,d|0,e|0,f|0)}function bda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(24,a|0,b|0,c|0,d|0,e|0,f|0)}function cda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(25,a|0,b|0,c|0,d|0,e|0,f|0)}function dda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(26,a|0,b|0,c|0,d|0,e|0,f|0)}function eda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(27,a|0,b|0,c|0,d|0,e|0,f|0)}function fda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(28,a|0,b|0,c|0,d|0,e|0,f|0)}function gda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(29,a|0,b|0,c|0,d|0,e|0,f|0)}function hda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(30,a|0,b|0,c|0,d|0,e|0,f|0)}function ida(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(31,a|0,b|0,c|0,d|0,e|0,f|0)}function jda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(32,a|0,b|0,c|0,d|0,e|0,f|0)}function kda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(33,a|0,b|0,c|0,d|0,e|0,f|0)}function lda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(34,a|0,b|0,c|0,d|0,e|0,f|0)}function mda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(35,a|0,b|0,c|0,d|0,e|0,f|0)}function nda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(36,a|0,b|0,c|0,d|0,e|0,f|0)}function oda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(37,a|0,b|0,c|0,d|0,e|0,f|0)}function pda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(38,a|0,b|0,c|0,d|0,e|0,f|0)}function qda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(39,a|0,b|0,c|0,d|0,e|0,f|0)}function rda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(40,a|0,b|0,c|0,d|0,e|0,f|0)}function sda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(41,a|0,b|0,c|0,d|0,e|0,f|0)}function tda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(42,a|0,b|0,c|0,d|0,e|0,f|0)}function uda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(43,a|0,b|0,c|0,d|0,e|0,f|0)}function vda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(44,a|0,b|0,c|0,d|0,e|0,f|0)}function wda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(45,a|0,b|0,c|0,d|0,e|0,f|0)}function xda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(46,a|0,b|0,c|0,d|0,e|0,f|0)}function yda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(47,a|0,b|0,c|0,d|0,e|0,f|0)}function zda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(48,a|0,b|0,c|0,d|0,e|0,f|0)}function Ada(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(49,a|0,b|0,c|0,d|0,e|0,f|0)}function Bda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(50,a|0,b|0,c|0,d|0,e|0,f|0)}function Cda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(51,a|0,b|0,c|0,d|0,e|0,f|0)}function Dda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(52,a|0,b|0,c|0,d|0,e|0,f|0)}function Eda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(53,a|0,b|0,c|0,d|0,e|0,f|0)}function Fda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(54,a|0,b|0,c|0,d|0,e|0,f|0)}function Gda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(55,a|0,b|0,c|0,d|0,e|0,f|0)}function Hda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(56,a|0,b|0,c|0,d|0,e|0,f|0)}function Ida(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(57,a|0,b|0,c|0,d|0,e|0,f|0)}function Jda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(58,a|0,b|0,c|0,d|0,e|0,f|0)}function Kda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(59,a|0,b|0,c|0,d|0,e|0,f|0)}function Lda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(60,a|0,b|0,c|0,d|0,e|0,f|0)}function Mda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(61,a|0,b|0,c|0,d|0,e|0,f|0)}function Nda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(62,a|0,b|0,c|0,d|0,e|0,f|0)}function Oda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Da(63,a|0,b|0,c|0,d|0,e|0,f|0)}function Pda(a,b,c){a=a|0;b=b|0;c=c|0;return Wb[a&255](b|0,c|0)|0}function Qda(a,b){a=a|0;b=b|0;return Fa(0,a|0,b|0)|0}function Rda(a,b){a=a|0;b=b|0;return Fa(1,a|0,b|0)|0}function Sda(a,b){a=a|0;b=b|0;return Fa(2,a|0,b|0)|0}function Tda(a,b){a=a|0;b=b|0;return Fa(3,a|0,b|0)|0}function Uda(a,b){a=a|0;b=b|0;return Fa(4,a|0,b|0)|0}function Vda(a,b){a=a|0;b=b|0;return Fa(5,a|0,b|0)|0}function Wda(a,b){a=a|0;b=b|0;return Fa(6,a|0,b|0)|0}function Xda(a,b){a=a|0;b=b|0;return Fa(7,a|0,b|0)|0}function Yda(a,b){a=a|0;b=b|0;return Fa(8,a|0,b|0)|0}function Zda(a,b){a=a|0;b=b|0;return Fa(9,a|0,b|0)|0}function _da(a,b){a=a|0;b=b|0;return Fa(10,a|0,b|0)|0}function $da(a,b){a=a|0;b=b|0;return Fa(11,a|0,b|0)|0}function aea(a,b){a=a|0;b=b|0;return Fa(12,a|0,b|0)|0}function bea(a,b){a=a|0;b=b|0;return Fa(13,a|0,b|0)|0}function cea(a,b){a=a|0;b=b|0;return Fa(14,a|0,b|0)|0}function dea(a,b){a=a|0;b=b|0;return Fa(15,a|0,b|0)|0}function eea(a,b){a=a|0;b=b|0;return Fa(16,a|0,b|0)|0}function fea(a,b){a=a|0;b=b|0;return Fa(17,a|0,b|0)|0}function gea(a,b){a=a|0;b=b|0;return Fa(18,a|0,b|0)|0}function hea(a,b){a=a|0;b=b|0;return Fa(19,a|0,b|0)|0}function iea(a,b){a=a|0;b=b|0;return Fa(20,a|0,b|0)|0}function jea(a,b){a=a|0;b=b|0;return Fa(21,a|0,b|0)|0}function kea(a,b){a=a|0;b=b|0;return Fa(22,a|0,b|0)|0}function lea(a,b){a=a|0;b=b|0;return Fa(23,a|0,b|0)|0}function mea(a,b){a=a|0;b=b|0;return Fa(24,a|0,b|0)|0}function nea(a,b){a=a|0;b=b|0;return Fa(25,a|0,b|0)|0}function oea(a,b){a=a|0;b=b|0;return Fa(26,a|0,b|0)|0}function pea(a,b){a=a|0;b=b|0;return Fa(27,a|0,b|0)|0}function qea(a,b){a=a|0;b=b|0;return Fa(28,a|0,b|0)|0}function rea(a,b){a=a|0;b=b|0;return Fa(29,a|0,b|0)|0}function sea(a,b){a=a|0;b=b|0;return Fa(30,a|0,b|0)|0}function tea(a,b){a=a|0;b=b|0;return Fa(31,a|0,b|0)|0}function uea(a,b){a=a|0;b=b|0;return Fa(32,a|0,b|0)|0}function vea(a,b){a=a|0;b=b|0;return Fa(33,a|0,b|0)|0}function wea(a,b){a=a|0;b=b|0;return Fa(34,a|0,b|0)|0}function xea(a,b){a=a|0;b=b|0;return Fa(35,a|0,b|0)|0}function yea(a,b){a=a|0;b=b|0;return Fa(36,a|0,b|0)|0}function zea(a,b){a=a|0;b=b|0;return Fa(37,a|0,b|0)|0}function Aea(a,b){a=a|0;b=b|0;return Fa(38,a|0,b|0)|0}function Bea(a,b){a=a|0;b=b|0;return Fa(39,a|0,b|0)|0}function Cea(a,b){a=a|0;b=b|0;return Fa(40,a|0,b|0)|0}function Dea(a,b){a=a|0;b=b|0;return Fa(41,a|0,b|0)|0}function Eea(a,b){a=a|0;b=b|0;return Fa(42,a|0,b|0)|0}function Fea(a,b){a=a|0;b=b|0;return Fa(43,a|0,b|0)|0}function Gea(a,b){a=a|0;b=b|0;return Fa(44,a|0,b|0)|0}function Hea(a,b){a=a|0;b=b|0;return Fa(45,a|0,b|0)|0}function Iea(a,b){a=a|0;b=b|0;return Fa(46,a|0,b|0)|0}function Jea(a,b){a=a|0;b=b|0;return Fa(47,a|0,b|0)|0}function Kea(a,b){a=a|0;b=b|0;return Fa(48,a|0,b|0)|0}function Lea(a,b){a=a|0;b=b|0;return Fa(49,a|0,b|0)|0}function Mea(a,b){a=a|0;b=b|0;return Fa(50,a|0,b|0)|0}function Nea(a,b){a=a|0;b=b|0;return Fa(51,a|0,b|0)|0}function Oea(a,b){a=a|0;b=b|0;return Fa(52,a|0,b|0)|0}function Pea(a,b){a=a|0;b=b|0;return Fa(53,a|0,b|0)|0}function Qea(a,b){a=a|0;b=b|0;return Fa(54,a|0,b|0)|0}function Rea(a,b){a=a|0;b=b|0;return Fa(55,a|0,b|0)|0}function Sea(a,b){a=a|0;b=b|0;return Fa(56,a|0,b|0)|0}function Tea(a,b){a=a|0;b=b|0;return Fa(57,a|0,b|0)|0}function Uea(a,b){a=a|0;b=b|0;return Fa(58,a|0,b|0)|0}function Vea(a,b){a=a|0;b=b|0;return Fa(59,a|0,b|0)|0}function Wea(a,b){a=a|0;b=b|0;return Fa(60,a|0,b|0)|0}function Xea(a,b){a=a|0;b=b|0;return Fa(61,a|0,b|0)|0}function Yea(a,b){a=a|0;b=b|0;return Fa(62,a|0,b|0)|0}function Zea(a,b){a=a|0;b=b|0;return Fa(63,a|0,b|0)|0}function _ea(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Xb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function $ea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(0,a|0,b|0,c|0,d|0,e|0)|0}function afa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(1,a|0,b|0,c|0,d|0,e|0)|0}function bfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(2,a|0,b|0,c|0,d|0,e|0)|0}function cfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(3,a|0,b|0,c|0,d|0,e|0)|0}function dfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(4,a|0,b|0,c|0,d|0,e|0)|0}function efa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(5,a|0,b|0,c|0,d|0,e|0)|0}function ffa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(6,a|0,b|0,c|0,d|0,e|0)|0}function gfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(7,a|0,b|0,c|0,d|0,e|0)|0}function hfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(8,a|0,b|0,c|0,d|0,e|0)|0}function ifa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(9,a|0,b|0,c|0,d|0,e|0)|0}function jfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(10,a|0,b|0,c|0,d|0,e|0)|0}function kfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(11,a|0,b|0,c|0,d|0,e|0)|0}function lfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(12,a|0,b|0,c|0,d|0,e|0)|0}function mfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(13,a|0,b|0,c|0,d|0,e|0)|0}function nfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(14,a|0,b|0,c|0,d|0,e|0)|0}function ofa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(15,a|0,b|0,c|0,d|0,e|0)|0}function pfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(16,a|0,b|0,c|0,d|0,e|0)|0}function qfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(17,a|0,b|0,c|0,d|0,e|0)|0}function rfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(18,a|0,b|0,c|0,d|0,e|0)|0}function sfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(19,a|0,b|0,c|0,d|0,e|0)|0}function tfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(20,a|0,b|0,c|0,d|0,e|0)|0}function ufa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(21,a|0,b|0,c|0,d|0,e|0)|0}function vfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(22,a|0,b|0,c|0,d|0,e|0)|0}function wfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(23,a|0,b|0,c|0,d|0,e|0)|0}function xfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(24,a|0,b|0,c|0,d|0,e|0)|0}function yfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(25,a|0,b|0,c|0,d|0,e|0)|0}function zfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(26,a|0,b|0,c|0,d|0,e|0)|0}function Afa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(27,a|0,b|0,c|0,d|0,e|0)|0}function Bfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(28,a|0,b|0,c|0,d|0,e|0)|0}function Cfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(29,a|0,b|0,c|0,d|0,e|0)|0}function Dfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(30,a|0,b|0,c|0,d|0,e|0)|0}function Efa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(31,a|0,b|0,c|0,d|0,e|0)|0}function Ffa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(32,a|0,b|0,c|0,d|0,e|0)|0}function Gfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(33,a|0,b|0,c|0,d|0,e|0)|0}function Hfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(34,a|0,b|0,c|0,d|0,e|0)|0}function Ifa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(35,a|0,b|0,c|0,d|0,e|0)|0}function Jfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(36,a|0,b|0,c|0,d|0,e|0)|0}function Kfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(37,a|0,b|0,c|0,d|0,e|0)|0}function Lfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(38,a|0,b|0,c|0,d|0,e|0)|0}function Mfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(39,a|0,b|0,c|0,d|0,e|0)|0}function Nfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(40,a|0,b|0,c|0,d|0,e|0)|0}function Ofa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(41,a|0,b|0,c|0,d|0,e|0)|0}function Pfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(42,a|0,b|0,c|0,d|0,e|0)|0}function Qfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(43,a|0,b|0,c|0,d|0,e|0)|0}function Rfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(44,a|0,b|0,c|0,d|0,e|0)|0}function Sfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(45,a|0,b|0,c|0,d|0,e|0)|0}function Tfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(46,a|0,b|0,c|0,d|0,e|0)|0}function Ufa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(47,a|0,b|0,c|0,d|0,e|0)|0}function Vfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(48,a|0,b|0,c|0,d|0,e|0)|0}function Wfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(49,a|0,b|0,c|0,d|0,e|0)|0}function Xfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(50,a|0,b|0,c|0,d|0,e|0)|0}function Yfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(51,a|0,b|0,c|0,d|0,e|0)|0}function Zfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(52,a|0,b|0,c|0,d|0,e|0)|0}function _fa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(53,a|0,b|0,c|0,d|0,e|0)|0}function $fa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(54,a|0,b|0,c|0,d|0,e|0)|0}function aga(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(55,a|0,b|0,c|0,d|0,e|0)|0}function bga(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(56,a|0,b|0,c|0,d|0,e|0)|0}function cga(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(57,a|0,b|0,c|0,d|0,e|0)|0}function dga(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(58,a|0,b|0,c|0,d|0,e|0)|0}function ega(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(59,a|0,b|0,c|0,d|0,e|0)|0}function fga(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(60,a|0,b|0,c|0,d|0,e|0)|0}function gga(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(61,a|0,b|0,c|0,d|0,e|0)|0}function hga(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(62,a|0,b|0,c|0,d|0,e|0)|0}function iga(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ha(63,a|0,b|0,c|0,d|0,e|0)|0}function jga(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Yb[a&255](b|0,c|0,d|0,e|0)}function kga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(0,a|0,b|0,c|0,d|0)}function lga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(1,a|0,b|0,c|0,d|0)}function mga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(2,a|0,b|0,c|0,d|0)}function nga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(3,a|0,b|0,c|0,d|0)}function oga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(4,a|0,b|0,c|0,d|0)}function pga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(5,a|0,b|0,c|0,d|0)}function qga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(6,a|0,b|0,c|0,d|0)}function rga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(7,a|0,b|0,c|0,d|0)}function sga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(8,a|0,b|0,c|0,d|0)}function tga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(9,a|0,b|0,c|0,d|0)}function uga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(10,a|0,b|0,c|0,d|0)}function vga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(11,a|0,b|0,c|0,d|0)}function wga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(12,a|0,b|0,c|0,d|0)}function xga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(13,a|0,b|0,c|0,d|0)}function yga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(14,a|0,b|0,c|0,d|0)}function zga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(15,a|0,b|0,c|0,d|0)}function Aga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(16,a|0,b|0,c|0,d|0)}function Bga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(17,a|0,b|0,c|0,d|0)}function Cga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(18,a|0,b|0,c|0,d|0)}function Dga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(19,a|0,b|0,c|0,d|0)}function Ega(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(20,a|0,b|0,c|0,d|0)}function Fga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(21,a|0,b|0,c|0,d|0)}function Gga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(22,a|0,b|0,c|0,d|0)}function Hga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(23,a|0,b|0,c|0,d|0)}function Iga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(24,a|0,b|0,c|0,d|0)}function Jga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(25,a|0,b|0,c|0,d|0)}function Kga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(26,a|0,b|0,c|0,d|0)}function Lga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(27,a|0,b|0,c|0,d|0)}function Mga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(28,a|0,b|0,c|0,d|0)}function Nga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(29,a|0,b|0,c|0,d|0)}function Oga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(30,a|0,b|0,c|0,d|0)}function Pga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(31,a|0,b|0,c|0,d|0)}function Qga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(32,a|0,b|0,c|0,d|0)}function Rga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(33,a|0,b|0,c|0,d|0)}function Sga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(34,a|0,b|0,c|0,d|0)}function Tga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(35,a|0,b|0,c|0,d|0)}function Uga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(36,a|0,b|0,c|0,d|0)}function Vga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(37,a|0,b|0,c|0,d|0)}function Wga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(38,a|0,b|0,c|0,d|0)}function Xga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(39,a|0,b|0,c|0,d|0)}function Yga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(40,a|0,b|0,c|0,d|0)}function Zga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(41,a|0,b|0,c|0,d|0)}function _ga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(42,a|0,b|0,c|0,d|0)}function $ga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(43,a|0,b|0,c|0,d|0)}function aha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(44,a|0,b|0,c|0,d|0)}function bha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(45,a|0,b|0,c|0,d|0)}function cha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(46,a|0,b|0,c|0,d|0)}function dha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(47,a|0,b|0,c|0,d|0)}function eha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(48,a|0,b|0,c|0,d|0)}function fha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(49,a|0,b|0,c|0,d|0)}function gha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(50,a|0,b|0,c|0,d|0)}function hha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(51,a|0,b|0,c|0,d|0)}function iha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(52,a|0,b|0,c|0,d|0)}function jha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(53,a|0,b|0,c|0,d|0)}function kha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(54,a|0,b|0,c|0,d|0)}function lha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(55,a|0,b|0,c|0,d|0)}function mha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(56,a|0,b|0,c|0,d|0)}function nha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(57,a|0,b|0,c|0,d|0)}function oha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(58,a|0,b|0,c|0,d|0)}function pha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(59,a|0,b|0,c|0,d|0)}function qha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(60,a|0,b|0,c|0,d|0)}function rha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(61,a|0,b|0,c|0,d|0)}function sha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(62,a|0,b|0,c|0,d|0)}function tha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ja(63,a|0,b|0,c|0,d|0)}function uha(a,b,c){a=a|0;b=b|0;c=c|0;da(0);return 0}function vha(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(1)}function wha(){da(2);return 0}function xha(a){a=a|0;da(3)}function yha(a,b){a=a|0;b=b|0;da(4)}function zha(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;da(5);return 0}function Aha(a){a=a|0;da(6);return 0}function Bha(a,b,c){a=a|0;b=b|0;c=c|0;da(7)}function Cha(){da(8)}function Dha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;da(9);return 0}function Eha(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;da(10)}function Fha(a,b){a=a|0;b=b|0;da(11);return 0}function Gha(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(12);return 0}function Hha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;da(13)} +function $E(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+64|0;l=v+56|0;n=v+52|0;o=v+48|0;p=v+44|0;q=v+40|0;r=v+36|0;s=v+32|0;t=v+28|0;c=v+24|0;d=v+20|0;e=v+16|0;f=v+12|0;g=v+8|0;h=v+4|0;j=v;k[l>>2]=a;k[n>>2]=b;k[o>>2]=k[(k[l>>2]|0)+8>>2];k[q>>2]=0;k[r>>2]=0;i[k[n>>2]>>0]=1;k[p>>2]=0;k[s>>2]=k[(k[n>>2]|0)+40>>2];while(1){if((k[p>>2]|0)>=(k[(k[n>>2]|0)+44>>2]|0))break;k[d>>2]=0;k[f>>2]=k[(k[k[s>>2]>>2]|0)+20>>2];if(k[f>>2]|0){k[c>>2]=k[k[f>>2]>>2];b=Wy(k[l>>2]|0,k[c>>2]|0)|0;k[e>>2]=b;pz(k[l>>2]|0,k[f>>2]|0,k[e>>2]|0,0,1)|0}else{k[c>>2]=0;k[e>>2]=0}if((k[(k[s>>2]|0)+12>>2]|0)>=0){b=uy(k[o>>2]|0)|0;k[d>>2]=b;jF(k[l>>2]|0,k[(k[s>>2]|0)+12>>2]|0,k[d>>2]|0,1,k[e>>2]|0)}if((m[(k[(k[s>>2]|0)+4>>2]|0)+2>>1]|0)&32|0){k[g>>2]=0;k[j>>2]=0;k[h>>2]=k[(k[f>>2]|0)+4>>2];while(1){if(k[g>>2]|0)break;if((k[j>>2]|0)>=(k[c>>2]|0))break;b=Bw(k[l>>2]|0,k[k[h>>2]>>2]|0)|0;k[g>>2]=b;k[j>>2]=(k[j>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+20}if(!(k[g>>2]|0))k[g>>2]=k[(k[k[l>>2]>>2]|0)+8>>2];if((k[q>>2]|0)==0?k[(k[n>>2]|0)+36>>2]|0:0){a=(k[l>>2]|0)+44|0;b=(k[a>>2]|0)+1|0;k[a>>2]=b;k[q>>2]=b}cv(k[o>>2]|0,88,k[q>>2]|0,0,0,k[g>>2]|0,-4)|0}cv(k[o>>2]|0,147,0,k[e>>2]|0,k[(k[s>>2]|0)+8>>2]|0,k[(k[s>>2]|0)+4>>2]|0,-5)|0;ty(k[o>>2]|0,k[c>>2]&255);jz(k[l>>2]|0,k[e>>2]|0,k[c>>2]|0);Zy(k[l>>2]|0,k[e>>2]|0,k[c>>2]|0);if(k[d>>2]|0){yy(k[o>>2]|0,k[d>>2]|0);OA(k[l>>2]|0)}k[p>>2]=(k[p>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+16}if(k[q>>2]|0){s=oy(k[o>>2]|0,21,k[q>>2]|0)|0;k[r>>2]=s}OA(k[l>>2]|0);k[p>>2]=0;k[t>>2]=k[(k[n>>2]|0)+28>>2];while(1){if((k[p>>2]|0)>=(k[(k[n>>2]|0)+36>>2]|0))break;ez(k[l>>2]|0,k[(k[t>>2]|0)+20>>2]|0,k[(k[t>>2]|0)+16>>2]|0);k[p>>2]=(k[p>>2]|0)+1;k[t>>2]=(k[t>>2]|0)+24}i[k[n>>2]>>0]=0;OA(k[l>>2]|0);if(!(k[r>>2]|0)){u=v;return}xy(k[o>>2]|0,k[r>>2]|0);u=v;return}function aF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=u;u=u+32|0;i=h+20|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[i>>2]|0)+8>>2];k[e>>2]=0;k[f>>2]=k[(k[c>>2]|0)+40>>2];while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+44>>2]|0))break;k[g>>2]=k[(k[k[f>>2]>>2]|0)+20>>2];if(k[g>>2]|0)a=k[k[g>>2]>>2]|0;else a=0;cv(k[d>>2]|0,149,k[(k[f>>2]|0)+8>>2]|0,a,0,k[(k[f>>2]|0)+4>>2]|0,-5)|0;k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+16}u=h;return}function bF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=u;u=u+48|0;j=l;c=l+32|0;d=l+28|0;e=l+24|0;f=l+20|0;g=l+16|0;m=l+12|0;h=l+8|0;i=l+4|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+8>>2];k[m>>2]=(k[(k[d>>2]|0)+44>>2]|0)+(k[(k[d>>2]|0)+32>>2]|0);if(!(k[m>>2]|0)){u=l;return}$u(k[e>>2]|0,79,0,k[(k[d>>2]|0)+16>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0;k[g>>2]=k[(k[d>>2]|0)+40>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+44>>2]|0))break;do if((k[(k[g>>2]|0)+12>>2]|0)>=0){k[h>>2]=k[k[g>>2]>>2];if(k[(k[h>>2]|0)+20>>2]|0?(k[k[(k[h>>2]|0)+20>>2]>>2]|0)==1:0){m=ME(k[c>>2]|0,k[(k[h>>2]|0)+20>>2]|0,0,0)|0;k[i>>2]=m;cv(k[e>>2]|0,107,k[(k[g>>2]|0)+12>>2]|0,0,0,k[i>>2]|0,-6)|0;break}Cl(k[c>>2]|0,35194,j);k[(k[g>>2]|0)+12>>2]=-1}while(0);k[f>>2]=(k[f>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+16}u=l;return}function cF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;if((((k[(k[d>>2]|0)+32>>2]|0)==0?(k[k[k[d>>2]>>2]>>2]|0)==1:0)?(k[k[(k[d>>2]|0)+28>>2]>>2]|0)==1:0)?(k[(k[(k[d>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){k[f>>2]=k[(k[(k[d>>2]|0)+28>>2]|0)+8+16>>2];k[g>>2]=k[k[(k[k[d>>2]>>2]|0)+4>>2]>>2];if((l[(k[f>>2]|0)+42>>0]|0)&16|0){k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}if((l[k[g>>2]>>0]|0|0)!=153){k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}if(!(k[(k[e>>2]|0)+44>>2]|0)){k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}if(!((m[(k[(k[(k[e>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}if(k[(k[g>>2]|0)+4>>2]&16|0){k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}else{k[c>>2]=k[f>>2];g=k[c>>2]|0;u=h;return g|0}}k[c>>2]=0;g=k[c>>2]|0;u=h;return g|0}function dF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=u;u=u+32|0;j=m;f=m+28|0;g=m+24|0;d=m+20|0;e=m+16|0;h=m+12|0;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;if((l[(k[f>>2]|0)+409>>0]|0|0)!=2){u=m;return}if(k[d>>2]|0)if(!((l[(k[g>>2]|0)+42>>0]|0)&32))a=1;else a=(i[(k[d>>2]|0)+55>>0]&3|0)==2^1;else a=0;k[e>>2]=a&1;b=k[k[f>>2]>>2]|0;c=k[e>>2]|0?35153:55752;if(k[e>>2]|0)a=k[k[d>>2]>>2]|0;else a=55752;k[j>>2]=k[k[g>>2]>>2];k[j+4>>2]=c;k[j+8>>2]=a;j=ek(b,35176,j)|0;k[h>>2]=j;cv(k[(k[f>>2]|0)+8>>2]|0,162,k[(k[f>>2]|0)+420>>2]|0,0,0,k[h>>2]|0,-1)|0;u=m;return}function eF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+32|0;c=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[k[d>>2]>>2]=0;do if((((k[(k[c>>2]|0)+44>>2]|0)==1?(k[f>>2]=k[k[(k[c>>2]|0)+40>>2]>>2],k[g>>2]=k[(k[f>>2]|0)+20>>2],k[g>>2]|0):0)?(k[k[g>>2]>>2]|0)==1:0)?(l[k[k[(k[g>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){k[h>>2]=k[(k[f>>2]|0)+8>>2];if(!(lh(k[h>>2]|0,21770)|0)){k[e>>2]=1;k[k[d>>2]>>2]=k[g>>2];break}if(!(lh(k[h>>2]|0,21774)|0)){k[e>>2]=2;k[k[d>>2]>>2]=k[g>>2]}}while(0);u=i;return k[e>>2]&255|0}function fF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+96|0;x=E+84|0;q=E+80|0;D=E+76|0;y=E+72|0;r=E+68|0;B=E+64|0;C=E+60|0;t=E+56|0;A=E+52|0;f=E+48|0;z=E+44|0;g=E+40|0;v=E+36|0;h=E+32|0;s=E+28|0;w=E+24|0;i=E+20|0;j=E+16|0;m=E+12|0;n=E+8|0;o=E+4|0;p=E;k[x>>2]=a;k[q>>2]=b;k[D>>2]=c;k[y>>2]=d;k[r>>2]=e;k[B>>2]=k[(k[x>>2]|0)+8>>2];k[C>>2]=k[(k[D>>2]|0)+24>>2];e=uy(k[B>>2]|0)|0;k[t>>2]=e;k[f>>2]=0;k[g>>2]=k[k[D>>2]>>2];k[v>>2]=l[k[r>>2]>>0];k[h>>2]=k[(k[r>>2]|0)+8>>2];if(k[(k[D>>2]|0)+16>>2]|0){_u(k[B>>2]|0,14,k[(k[D>>2]|0)+12>>2]|0,k[(k[D>>2]|0)+16>>2]|0)|0;wy(k[B>>2]|0,k[C>>2]|0)|0;yy(k[B>>2]|0,k[(k[D>>2]|0)+16>>2]|0)}k[z>>2]=k[(k[D>>2]|0)+8>>2];if((k[v>>2]|0)==9|(k[v>>2]|0)==13|(k[v>>2]|0)==10){k[w>>2]=0;k[s>>2]=k[(k[r>>2]|0)+12>>2];k[m>>2]=k[y>>2]}else{e=Yv(k[x>>2]|0)|0;k[w>>2]=e;e=Wy(k[x>>2]|0,k[y>>2]|0)|0;k[s>>2]=e;k[m>>2]=k[y>>2]}k[i>>2]=(k[k[g>>2]>>2]|0)-(k[(k[D>>2]|0)+4>>2]|0);if((l[(k[D>>2]|0)+28>>0]|0)&1|0){e=(k[x>>2]|0)+44|0;d=(k[e>>2]|0)+1|0;k[e>>2]=d;k[p>>2]=d;d=(k[x>>2]|0)+40|0;e=k[d>>2]|0;k[d>>2]=e+1;k[j>>2]=e;if(k[(k[D>>2]|0)+16>>2]|0){e=Xu(k[B>>2]|0,20)|0;k[f>>2]=e}$u(k[B>>2]|0,110,k[j>>2]|0,k[p>>2]|0,(k[i>>2]|0)+1+(k[m>>2]|0)|0)|0;if(k[f>>2]|0)xy(k[B>>2]|0,k[f>>2]|0);e=1+(_u(k[B>>2]|0,55,k[z>>2]|0,k[C>>2]|0)|0)|0;k[A>>2]=e;iF(k[B>>2]|0,k[(k[q>>2]|0)+16>>2]|0,k[t>>2]|0);$u(k[B>>2]|0,120,k[z>>2]|0,k[p>>2]|0,k[j>>2]|0)|0;k[o>>2]=0}else{e=1+(_u(k[B>>2]|0,56,k[z>>2]|0,k[C>>2]|0)|0)|0;k[A>>2]=e;iF(k[B>>2]|0,k[(k[q>>2]|0)+16>>2]|0,k[t>>2]|0);k[j>>2]=k[z>>2];k[o>>2]=1}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[m>>2]|0))break;$u(k[B>>2]|0,96,k[j>>2]|0,(k[i>>2]|0)+(k[o>>2]|0)+(k[n>>2]|0)|0,(k[s>>2]|0)+(k[n>>2]|0)|0)|0;k[n>>2]=(k[n>>2]|0)+1}a:do switch(k[v>>2]|0){case 12:{_u(k[B>>2]|0,114,k[h>>2]|0,k[w>>2]|0)|0;$u(k[B>>2]|0,115,k[h>>2]|0,k[s>>2]|0,k[w>>2]|0)|0;ty(k[B>>2]|0,8);break}case 11:{cv(k[B>>2]|0,99,k[s>>2]|0,k[y>>2]|0,k[w>>2]|0,k[(k[r>>2]|0)+4>>2]|0,k[y>>2]|0)|0;jz(k[x>>2]|0,k[s>>2]|0,k[y>>2]|0);_u(k[B>>2]|0,126,k[h>>2]|0,k[w>>2]|0)|0;break}case 10:break;default:{a=k[B>>2]|0;b=k[r>>2]|0;if((k[v>>2]|0)==9){_u(a,87,k[b+12>>2]|0,k[y>>2]|0)|0;jz(k[x>>2]|0,k[(k[r>>2]|0)+12>>2]|0,k[y>>2]|0);break a}else{oy(a,16,k[b+8>>2]|0)|0;break a}}}while(0);if(k[w>>2]|0){b=k[x>>2]|0;a=k[s>>2]|0;if((k[v>>2]|0)==11)Zy(b,a,k[y>>2]|0);else _v(b,a);_v(k[x>>2]|0,k[w>>2]|0)}yy(k[B>>2]|0,k[t>>2]|0);f=k[B>>2]|0;b=k[z>>2]|0;a=k[A>>2]|0;if((l[(k[D>>2]|0)+28>>0]|0)&1|0)_u(f,3,b,a)|0;else _u(f,7,b,a)|0;if(!(k[(k[D>>2]|0)+12>>2]|0)){B=k[B>>2]|0;D=k[C>>2]|0;yy(B,D);u=E;return}oy(k[B>>2]|0,72,k[(k[D>>2]|0)+12>>2]|0)|0;B=k[B>>2]|0;D=k[C>>2]|0;yy(B,D);u=E;return}function gF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+80|0;z=A+8|0;y=A;q=A+72|0;r=A+68|0;s=A+64|0;t=A+60|0;v=A+56|0;w=A+52|0;x=A+48|0;d=A+44|0;e=A+40|0;f=A+36|0;g=A+32|0;h=A+28|0;m=A+24|0;n=A+20|0;o=A+16|0;p=A+12|0;k[q>>2]=a;k[r>>2]=b;k[s>>2]=c;k[t>>2]=k[(k[q>>2]|0)+8>>2];k[x>>2]=k[k[q>>2]>>2];if(i[(k[q>>2]|0)+409>>0]|0){u=A;return}if(l[(k[q>>2]|0)+16>>0]|0){u=A;return}if(l[(k[x>>2]|0)+69>>0]|0){u=A;return}i[(k[q>>2]|0)+16>>0]=1;k[d>>2]=(k[(k[x>>2]|0)+24>>2]&4|0)!=0&1;k[e>>2]=(k[(k[x>>2]|0)+24>>2]&64|0)!=0&1;$s(k[t>>2]|0,k[k[s>>2]>>2]|0);k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[k[s>>2]>>2]|0))break;k[f>>2]=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[v>>2]|0)*20|0)>>2];do if(k[f>>2]|0){if(k[(k[(k[s>>2]|0)+4>>2]|0)+((k[v>>2]|0)*20|0)+4>>2]|0){k[g>>2]=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[v>>2]|0)*20|0)+4>>2];at(k[t>>2]|0,k[v>>2]|0,0,k[g>>2]|0,-1)|0;break}if((l[k[f>>2]>>0]|0)!=152?(l[k[f>>2]>>0]|0)!=154:0){k[p>>2]=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[v>>2]|0)*20|0)+8>>2];a=k[x>>2]|0;if(!(k[p>>2]|0)){k[z>>2]=(k[v>>2]|0)+1;a=ek(a,35144,z)|0}else a=fp(a,k[p>>2]|0)|0;k[p>>2]=a;at(k[t>>2]|0,k[v>>2]|0,0,k[p>>2]|0,191)|0;break}k[n>>2]=j[(k[f>>2]|0)+32>>1];k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[k[r>>2]>>2]|0))break;if((k[(k[r>>2]|0)+8+((k[w>>2]|0)*72|0)+44>>2]|0)==(k[(k[f>>2]|0)+28>>2]|0))break;k[w>>2]=(k[w>>2]|0)+1}k[h>>2]=k[(k[r>>2]|0)+8+((k[w>>2]|0)*72|0)+16>>2];if((k[n>>2]|0)<0)k[n>>2]=j[(k[h>>2]|0)+32>>1];if((k[n>>2]|0)<0)k[m>>2]=26001;else k[m>>2]=k[(k[(k[h>>2]|0)+4>>2]|0)+(k[n>>2]<<4)>>2];if(!((k[e>>2]|0)!=0|(k[d>>2]|0)!=0)){b=k[t>>2]|0;c=k[v>>2]|0;at(b,c,0,fp(k[x>>2]|0,k[(k[(k[s>>2]|0)+4>>2]|0)+((k[v>>2]|0)*20|0)+8>>2]|0)|0,191)|0;break}if(k[d>>2]|0){k[o>>2]=0;c=k[x>>2]|0;b=k[m>>2]|0;k[y>>2]=k[k[h>>2]>>2];k[y+4>>2]=b;c=ek(c,29580,y)|0;k[o>>2]=c;at(k[t>>2]|0,k[v>>2]|0,0,k[o>>2]|0,191)|0;break}else{at(k[t>>2]|0,k[v>>2]|0,0,k[m>>2]|0,-1)|0;break}}while(0);k[v>>2]=(k[v>>2]|0)+1}hF(k[q>>2]|0,k[r>>2]|0,k[s>>2]|0);u=A;return}function hF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=u;u=u+64|0;l=j+56|0;m=j+52|0;e=j+48|0;f=j+44|0;g=j+40|0;h=j+8|0;i=j+4|0;d=j;k[l>>2]=a;k[m>>2]=b;k[e>>2]=c;k[f>>2]=k[(k[l>>2]|0)+8>>2];k[h+4>>2]=k[m>>2];k[h>>2]=k[l>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[e>>2]>>2]|0))break;k[i>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];m=zw(h,k[i>>2]|0,0)|0;k[d>>2]=m;at(k[f>>2]|0,k[g>>2]|0,1,k[d>>2]|0,-1)|0;k[g>>2]=(k[g>>2]|0)+1}u=j;return}function iF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){u=g;return}$u(k[d>>2]|0,66,k[e>>2]|0,k[f>>2]|0,1)|0;u=g;return}function jF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;f=u;u=u+32|0;h=f+24|0;i=f+20|0;n=f+16|0;l=f+12|0;m=f+8|0;j=f+4|0;g=f;k[h>>2]=a;k[i>>2]=b;k[n>>2]=c;k[l>>2]=d;k[m>>2]=e;k[j>>2]=k[(k[h>>2]|0)+8>>2];e=Yv(k[h>>2]|0)|0;k[g>>2]=e;Jy(k[j>>2]|0,31,k[i>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;$u(k[j>>2]|0,99,k[m>>2]|0,k[l>>2]|0,k[g>>2]|0)|0;_u(k[j>>2]|0,126,k[i>>2]|0,k[g>>2]|0)|0;_v(k[h>>2]|0,k[g>>2]|0);u=f;return}function kF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+80|0;w=A+64|0;p=A+60|0;x=A+56|0;y=A+52|0;q=A+48|0;t=A+44|0;r=A+40|0;z=A+36|0;c=A+32|0;d=A+28|0;e=A+24|0;f=A+20|0;g=A+16|0;h=A+12|0;n=A+8|0;o=A+4|0;v=A;s=A+68|0;k[p>>2]=a;k[x>>2]=b;k[q>>2]=k[(k[p>>2]|0)+24>>2];k[t>>2]=k[k[q>>2]>>2];k[r>>2]=k[(k[q>>2]|0)+4>>2];k[z>>2]=k[(k[q>>2]|0)+12>>2];switch(l[k[x>>2]>>0]|0){case 152:case 154:{a:do if(k[r>>2]|0){k[c>>2]=(k[r>>2]|0)+8;k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[k[r>>2]>>2]|0))break a;if((k[(k[x>>2]|0)+28>>2]|0)==(k[(k[c>>2]|0)+44>>2]|0))break;k[y>>2]=(k[y>>2]|0)+1;k[c>>2]=(k[c>>2]|0)+72}k[d>>2]=k[(k[z>>2]|0)+28>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[z>>2]|0)+32>>2]|0))break;if((k[(k[d>>2]|0)+4>>2]|0)==(k[(k[x>>2]|0)+28>>2]|0)?(k[(k[d>>2]|0)+8>>2]|0)==(j[(k[x>>2]|0)+32>>1]|0):0)break;k[e>>2]=(k[e>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+24}if((k[e>>2]|0)>=(k[(k[z>>2]|0)+32>>2]|0)?(y=mF(k[k[t>>2]>>2]|0,k[z>>2]|0)|0,k[e>>2]=y,(y|0)>=0):0){k[d>>2]=(k[(k[z>>2]|0)+28>>2]|0)+((k[e>>2]|0)*24|0);k[k[d>>2]>>2]=k[(k[x>>2]|0)+44>>2];k[(k[d>>2]|0)+4>>2]=k[(k[x>>2]|0)+28>>2];k[(k[d>>2]|0)+8>>2]=j[(k[x>>2]|0)+32>>1];v=(k[t>>2]|0)+44|0;y=(k[v>>2]|0)+1|0;k[v>>2]=y;k[(k[d>>2]|0)+16>>2]=y;k[(k[d>>2]|0)+12>>2]=-1;k[(k[d>>2]|0)+20>>2]=k[x>>2];b:do if(k[(k[z>>2]|0)+24>>2]|0){k[h>>2]=k[(k[z>>2]|0)+24>>2];k[n>>2]=k[(k[h>>2]|0)+4>>2];k[g>>2]=k[k[h>>2]>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break b;k[o>>2]=k[k[n>>2]>>2];if(((l[k[o>>2]>>0]|0)==152?(k[(k[o>>2]|0)+28>>2]|0)==(k[(k[x>>2]|0)+28>>2]|0):0)?(j[(k[o>>2]|0)+32>>1]|0)==(j[(k[x>>2]|0)+32>>1]|0):0)break;k[f>>2]=(k[f>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+20}k[(k[d>>2]|0)+12>>2]=k[f>>2]}while(0);if((k[(k[d>>2]|0)+12>>2]|0)<0){v=(k[z>>2]|0)+12|0;y=k[v>>2]|0;k[v>>2]=y+1;k[(k[d>>2]|0)+12>>2]=y}}k[(k[x>>2]|0)+40>>2]=k[z>>2];i[k[x>>2]>>0]=-102;j[(k[x>>2]|0)+34>>1]=k[e>>2]}while(0);k[w>>2]=1;z=k[w>>2]|0;u=A;return z|0}case 153:{if((m[(k[q>>2]|0)+28>>1]&8|0)==0?(k[(k[p>>2]|0)+16>>2]|0)==(l[(k[x>>2]|0)+38>>0]|0):0){k[v>>2]=k[(k[z>>2]|0)+40>>2];k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[(k[z>>2]|0)+44>>2]|0))break;if(!(gx(k[k[v>>2]>>2]|0,k[x>>2]|0,-1)|0))break;k[y>>2]=(k[y>>2]|0)+1;k[v>>2]=(k[v>>2]|0)+16}if((k[y>>2]|0)>=(k[(k[z>>2]|0)+44>>2]|0)?(i[s>>0]=i[(k[k[t>>2]>>2]|0)+66>>0]|0,r=nF(k[k[t>>2]>>2]|0,k[z>>2]|0)|0,k[y>>2]=r,(k[y>>2]|0)>=0):0){k[v>>2]=(k[(k[z>>2]|0)+40>>2]|0)+(k[y>>2]<<4);k[k[v>>2]>>2]=k[x>>2];q=(k[t>>2]|0)+44|0;r=(k[q>>2]|0)+1|0;k[q>>2]=r;k[(k[v>>2]|0)+8>>2]=r;if(k[(k[x>>2]|0)+20>>2]|0)a=k[k[(k[x>>2]|0)+20>>2]>>2]|0;else a=0;s=yx(k[k[t>>2]>>2]|0,k[(k[x>>2]|0)+8>>2]|0,a,i[s>>0]|0,0)|0;k[(k[v>>2]|0)+4>>2]=s;if(k[(k[x>>2]|0)+4>>2]&16|0){a=(k[t>>2]|0)+40|0;b=k[a>>2]|0;k[a>>2]=b+1;a=k[v>>2]|0}else{b=-1;a=k[v>>2]|0}k[a+12>>2]=b}j[(k[x>>2]|0)+34>>1]=k[y>>2];k[(k[x>>2]|0)+40>>2]=k[z>>2];k[w>>2]=1;z=k[w>>2]|0;u=A;return z|0}k[w>>2]=0;z=k[w>>2]|0;u=A;return z|0}default:{k[w>>2]=0;z=k[w>>2]|0;u=A;return z|0}}return 0}function lF(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c+4>>2]=a;k[c>>2]=b;u=c;return 0}function mF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=pB(k[f>>2]|0,k[(k[e>>2]|0)+28>>2]|0,24,(k[e>>2]|0)+32|0,c)|0;k[(k[e>>2]|0)+28>>2]=b;u=d;return k[c>>2]|0}function nF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=pB(k[f>>2]|0,k[(k[e>>2]|0)+40>>2]|0,16,(k[e>>2]|0)+44|0,c)|0;k[(k[e>>2]|0)+40>>2]=b;u=d;return k[c>>2]|0}function oF(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=u;u=u+112|0;J=L+96|0;K=L+92|0;h=L+88|0;j=L+84|0;n=L+80|0;q=L+76|0;o=L+72|0;r=L+68|0;s=L+64|0;t=L+60|0;p=L+56|0;v=L+52|0;w=L+48|0;x=L+44|0;y=L+40|0;z=L+36|0;A=L+32|0;B=L+28|0;C=L+24|0;D=L+20|0;E=L+16|0;F=L+12|0;G=L+8|0;H=L+4|0;I=L;k[J>>2]=a;k[K>>2]=b;k[h>>2]=c;k[j>>2]=d;k[n>>2]=e;k[q>>2]=f;k[o>>2]=g;k[r>>2]=k[(k[J>>2]|0)+8>>2];k[s>>2]=(l[(k[K>>2]|0)+28>>0]&1|0)==0&1;k[t>>2]=k[k[k[K>>2]>>2]>>2];k[p>>2]=(k[t>>2]|0)+(k[s>>2]|0)+(k[q>>2]|0);f=(k[J>>2]|0)+44|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[w>>2]=g;k[x>>2]=k[(k[K>>2]|0)+4>>2];if(k[o>>2]|0)k[v>>2]=(k[j>>2]|0)-(k[t>>2]|0)-(k[s>>2]|0);else{k[v>>2]=(k[(k[J>>2]|0)+44>>2]|0)+1;g=(k[J>>2]|0)+44|0;k[g>>2]=(k[g>>2]|0)+(k[p>>2]|0)}a=k[h>>2]|0;if(k[(k[h>>2]|0)+16>>2]|0)a=(k[a+16>>2]|0)+1|0;else a=k[a+12>>2]|0;k[z>>2]=a;h=uy(k[r>>2]|0)|0;k[(k[K>>2]|0)+24>>2]=h;pz(k[J>>2]|0,k[k[K>>2]>>2]|0,k[v>>2]|0,k[n>>2]|0,5)|0;if(k[s>>2]|0)_u(k[r>>2]|0,113,k[(k[K>>2]|0)+8>>2]|0,(k[v>>2]|0)+(k[t>>2]|0)|0)|0;if(!(k[o>>2]|0))_E(k[J>>2]|0,k[j>>2]|0,(k[v>>2]|0)+(k[t>>2]|0)+(k[s>>2]|0)|0,k[q>>2]|0);$u(k[r>>2]|0,99,(k[v>>2]|0)+(k[x>>2]|0)|0,(k[p>>2]|0)-(k[x>>2]|0)|0,k[w>>2]|0)|0;if((k[x>>2]|0)>0){k[A>>2]=(k[(k[J>>2]|0)+44>>2]|0)+1;a=(k[J>>2]|0)+44|0;k[a>>2]=(k[a>>2]|0)+(k[(k[K>>2]|0)+4>>2]|0);k[E>>2]=(k[t>>2]|0)-(k[(k[K>>2]|0)+4>>2]|0)+(k[s>>2]|0);a=k[r>>2]|0;if(k[s>>2]|0){s=oy(a,22,(k[v>>2]|0)+(k[t>>2]|0)|0)|0;k[B>>2]=s}else{s=oy(a,109,k[(k[K>>2]|0)+8>>2]|0)|0;k[B>>2]=s}$u(k[r>>2]|0,95,k[A>>2]|0,k[v>>2]|0,k[(k[K>>2]|0)+4>>2]|0)|0;s=Ey(k[r>>2]|0,k[(k[K>>2]|0)+20>>2]|0)|0;k[D>>2]=s;if(i[(k[k[J>>2]>>2]|0)+69>>0]|0){u=L;return}k[(k[D>>2]|0)+8>>2]=(k[E>>2]|0)+(k[q>>2]|0);k[F>>2]=k[(k[D>>2]|0)+16>>2];w0(k[(k[F>>2]|0)+16>>2]|0,0,m[(k[F>>2]|0)+6>>1]|0)|0;dv(k[r>>2]|0,-1,k[F>>2]|0,-6);E=ME(k[J>>2]|0,k[k[K>>2]>>2]|0,k[x>>2]|0,(m[(k[F>>2]|0)+8>>1]|0)-1|0)|0;k[(k[D>>2]|0)+16>>2]=E;E=Zv(k[r>>2]|0)|0;k[C>>2]=E;$u(k[r>>2]|0,18,(k[C>>2]|0)+1|0,0,(k[C>>2]|0)+1|0)|0;E=uy(k[r>>2]|0)|0;k[(k[K>>2]|0)+16>>2]=E;E=(k[J>>2]|0)+44|0;F=(k[E>>2]|0)+1|0;k[E>>2]=F;k[(k[K>>2]|0)+12>>2]=F;_u(k[r>>2]|0,14,k[(k[K>>2]|0)+12>>2]|0,k[(k[K>>2]|0)+16>>2]|0)|0;oy(k[r>>2]|0,133,k[(k[K>>2]|0)+8>>2]|0)|0;if(k[z>>2]|0)_u(k[r>>2]|0,22,k[z>>2]|0,k[(k[K>>2]|0)+24>>2]|0)|0;xy(k[r>>2]|0,k[B>>2]|0);_E(k[J>>2]|0,k[v>>2]|0,k[A>>2]|0,k[(k[K>>2]|0)+4>>2]|0);xy(k[r>>2]|0,k[C>>2]|0)}if(l[(k[K>>2]|0)+28>>0]&1|0)k[y>>2]=125;else k[y>>2]=126;_u(k[r>>2]|0,k[y>>2]|0,k[(k[K>>2]|0)+8>>2]|0,k[w>>2]|0)|0;if(!(k[z>>2]|0)){u=L;return}k[H>>2]=0;F=$u(k[r>>2]|0,67,k[z>>2]|0,0,1)|0;k[G>>2]=F;oy(k[r>>2]|0,53,k[(k[K>>2]|0)+8>>2]|0)|0;if(i[(k[K>>2]|0)+29>>0]|0){F=(k[J>>2]|0)+44|0;J=(k[F>>2]|0)+1|0;k[F>>2]=J;k[H>>2]=J;$u(k[r>>2]|0,96,k[(k[K>>2]|0)+8>>2]|0,k[t>>2]|0,k[H>>2]|0)|0}oy(k[r>>2]|0,117,k[(k[K>>2]|0)+8>>2]|0)|0;if(i[(k[K>>2]|0)+29>>0]|0){K=(Zv(k[r>>2]|0)|0)+2|0;k[I>>2]=K;$u(k[r>>2]|0,37,(k[v>>2]|0)+(k[t>>2]|0)|0,k[I>>2]|0,k[H>>2]|0)|0;ty(k[r>>2]|0,-128)}xy(k[r>>2]|0,k[G>>2]|0);u=L;return}function pF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;h=p+20|0;e=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;f=p;k[e>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;if(!(k[m>>2]|0)){k[h>>2]=0;o=k[h>>2]|0;u=p;return o|0}do if((l[k[m>>2]>>0]|0)==152?(k[(k[m>>2]|0)+28>>2]|0)==(k[n>>2]|0):0)if((j[(k[m>>2]|0)+32>>1]|0)<0){i[k[m>>2]>>0]=101;break}else{o=ex(k[e>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+((j[(k[m>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;k[f>>2]=o;Yk(k[e>>2]|0,k[m>>2]|0);k[m>>2]=k[f>>2];break}else g=8;while(0);do if((g|0)==8){a=pF(k[e>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[m>>2]|0)+12>>2]=a;a=pF(k[e>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[m>>2]|0)+16>>2]=a;a=k[e>>2]|0;b=(k[m>>2]|0)+20|0;if(k[(k[m>>2]|0)+4>>2]&2048|0){qF(a,k[b>>2]|0,k[n>>2]|0,k[o>>2]|0,1);break}else{rF(a,k[b>>2]|0,k[n>>2]|0,k[o>>2]|0);break}}while(0);k[h>>2]=k[m>>2];o=k[h>>2]|0;u=p;return o|0}function qF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;i=p+28|0;j=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;k[i>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;if(!(k[j>>2]|0)){u=p;return}while(1){rF(k[i>>2]|0,k[k[j>>2]>>2]|0,k[m>>2]|0,k[n>>2]|0);rF(k[i>>2]|0,k[(k[j>>2]|0)+36>>2]|0,k[m>>2]|0,k[n>>2]|0);rF(k[i>>2]|0,k[(k[j>>2]|0)+44>>2]|0,k[m>>2]|0,k[n>>2]|0);e=pF(k[i>>2]|0,k[(k[j>>2]|0)+40>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[(k[j>>2]|0)+40>>2]=e;e=pF(k[i>>2]|0,k[(k[j>>2]|0)+32>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[(k[j>>2]|0)+32>>2]=e;k[f>>2]=k[(k[j>>2]|0)+28>>2];k[h>>2]=k[k[f>>2]>>2];k[g>>2]=(k[f>>2]|0)+8;while(1){if((k[h>>2]|0)<=0)break;qF(k[i>>2]|0,k[(k[g>>2]|0)+20>>2]|0,k[m>>2]|0,k[n>>2]|0,1);if((l[(k[g>>2]|0)+36+1>>0]|0)>>>2&1|0)rF(k[i>>2]|0,k[(k[g>>2]|0)+64>>2]|0,k[m>>2]|0,k[n>>2]|0);k[h>>2]=(k[h>>2]|0)+-1;k[g>>2]=(k[g>>2]|0)+72}if(!(k[o>>2]|0)){a=9;break}e=k[(k[j>>2]|0)+48>>2]|0;k[j>>2]=e;if(!e){a=9;break}}if((a|0)==9){u=p;return}}function rF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){u=j;return}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[k[f>>2]>>2]|0))break;d=pF(k[e>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[(k[(k[f>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]=d;k[i>>2]=(k[i>>2]|0)+1}u=j;return}function sF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=u;u=u+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;i=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=1;k[i>>2]=0;while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2];k[h>>2]=(k[h>>2]|0)+1}while(1){if(!(k[e>>2]|0)){a=7;break}k[g>>2]=k[(k[e>>2]|0)+48>>2];k[(k[e>>2]|0)+48>>2]=0;c=Kt(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[i>>2]=c;k[(k[e>>2]|0)+48>>2]=k[g>>2];if(k[i>>2]|0){a=7;break}j[(k[e>>2]|0)+6>>1]=k[h>>2];k[e>>2]=k[(k[e>>2]|0)+52>>2]}if((a|0)==7){u=l;return k[i>>2]|0}return 0}function tF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+128|0;F=G;A=G+120|0;B=G+116|0;C=G+112|0;e=G+108|0;m=G+104|0;D=G+100|0;E=G+96|0;n=G+92|0;o=G+88|0;p=G+84|0;q=G+80|0;r=G+76|0;s=G+72|0;g=G+68|0;h=G+64|0;t=G+40|0;d=G+32|0;i=G+28|0;v=G+24|0;w=G+20|0;x=G+16|0;y=G+12|0;z=G+8|0;j=G+4|0;k[A>>2]=a;k[B>>2]=b;k[C>>2]=c;k[e>>2]=k[(k[B>>2]|0)+28>>2];k[m>>2]=k[k[k[B>>2]>>2]>>2];k[D>>2]=k[(k[A>>2]|0)+8>>2];k[E>>2]=k[(k[B>>2]|0)+48>>2];k[q>>2]=0;k[g>>2]=0;k[h>>2]=5;if(Su(k[A>>2]|0,33,0,0,0)|0){u=G;return}c=uy(k[D>>2]|0)|0;k[p>>2]=c;NE(k[A>>2]|0,k[B>>2]|0,k[p>>2]|0);k[w>>2]=k[(k[B>>2]|0)+56>>2];k[x>>2]=k[(k[B>>2]|0)+60>>2];k[y>>2]=k[(k[B>>2]|0)+12>>2];k[z>>2]=k[(k[B>>2]|0)+16>>2];k[(k[B>>2]|0)+60>>2]=0;k[(k[B>>2]|0)+56>>2]=0;k[(k[B>>2]|0)+16>>2]=0;k[(k[B>>2]|0)+12>>2]=0;k[v>>2]=k[(k[B>>2]|0)+44>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[e>>2]>>2]|0))break;if((l[(k[e>>2]|0)+8+((k[d>>2]|0)*72|0)+36+1>>0]|0)>>>5&1|0){f=5;break}k[d>>2]=(k[d>>2]|0)+1}if((f|0)==5)k[q>>2]=k[(k[e>>2]|0)+8+((k[d>>2]|0)*72|0)+44>>2];f=(k[A>>2]|0)+40|0;a=k[f>>2]|0;k[f>>2]=a+1;k[s>>2]=a;a=(k[v>>2]|0)!=0;if((l[(k[B>>2]|0)+4>>0]|0|0)==115){k[h>>2]=a?8:6;e=(k[A>>2]|0)+40|0;f=k[e>>2]|0;k[e>>2]=f+1;k[g>>2]=f}else k[h>>2]=a?7:5;Kz(t,k[h>>2]|0,k[s>>2]|0);f=(k[A>>2]|0)+44|0;h=(k[f>>2]|0)+1|0;k[f>>2]=h;k[r>>2]=h;$u(k[D>>2]|0,110,k[q>>2]|0,k[r>>2]|0,k[m>>2]|0)|0;if(k[v>>2]|0){m=xF(k[A>>2]|0,k[B>>2]|0,1)|0;k[j>>2]=m;cv(k[D>>2]|0,107,k[s>>2]|0,(k[k[v>>2]>>2]|0)+2|0,0,k[j>>2]|0,-6)|0;k[t+20>>2]=k[v>>2]}else _u(k[D>>2]|0,107,k[s>>2]|0,k[m>>2]|0)|0;if(k[g>>2]|0){m=_u(k[D>>2]|0,107,k[g>>2]|0,0)|0;k[(k[B>>2]|0)+20>>2]=m;m=(k[B>>2]|0)+8|0;k[m>>2]=k[m>>2]|32}k[(k[B>>2]|0)+44>>2]=0;k[(k[E>>2]|0)+52>>2]=0;m=Kt(k[A>>2]|0,k[E>>2]|0,t)|0;k[i>>2]=m;k[(k[E>>2]|0)+52>>2]=k[B>>2];if(!(k[i>>2]|0)){a=_u(k[D>>2]|0,57,k[s>>2]|0,k[p>>2]|0)|0;k[n>>2]=a;oy(k[D>>2]|0,124,k[q>>2]|0)|0;a=k[D>>2]|0;b=k[s>>2]|0;if(k[v>>2]|0)$u(a,96,b,(k[k[v>>2]>>2]|0)+1|0,k[r>>2]|0)|0;else _u(a,122,b,k[r>>2]|0)|0;oy(k[D>>2]|0,117,k[s>>2]|0)|0;s=uy(k[D>>2]|0)|0;k[o>>2]=s;iF(k[D>>2]|0,k[z>>2]|0,k[o>>2]|0);VE(k[A>>2]|0,k[B>>2]|0,k[k[B>>2]>>2]|0,k[q>>2]|0,0,0,k[C>>2]|0,k[o>>2]|0,k[p>>2]|0);if(k[y>>2]|0)_u(k[D>>2]|0,68,k[y>>2]|0,k[p>>2]|0)|0;yy(k[D>>2]|0,k[o>>2]|0);if(k[(k[B>>2]|0)+8>>2]&8|0)Cl(k[A>>2]|0,35417,F);else{k[(k[B>>2]|0)+48>>2]=0;Kt(k[A>>2]|0,k[B>>2]|0,t)|0;k[(k[B>>2]|0)+48>>2]=k[E>>2]}wy(k[D>>2]|0,k[n>>2]|0)|0;yy(k[D>>2]|0,k[p>>2]|0)}Uk(k[k[A>>2]>>2]|0,k[(k[B>>2]|0)+44>>2]|0);k[(k[B>>2]|0)+44>>2]=k[v>>2];k[(k[B>>2]|0)+56>>2]=k[w>>2];k[(k[B>>2]|0)+60>>2]=k[x>>2];u=G;return}function uF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=u;u=u+224|0;K=ba+220|0;U=ba+216|0;_=ba+212|0;$=ba+208|0;n=ba+204|0;o=ba+200|0;aa=ba+196|0;p=ba+192|0;q=ba+168|0;r=ba+144|0;s=ba+140|0;t=ba+136|0;v=ba+132|0;w=ba+128|0;x=ba+124|0;y=ba+120|0;z=ba+116|0;A=ba+112|0;B=ba+108|0;C=ba+104|0;D=ba+100|0;E=ba+96|0;F=ba+92|0;G=ba+88|0;H=ba+84|0;I=ba+80|0;J=ba+76|0;L=ba+72|0;M=ba+68|0;N=ba+64|0;O=ba+60|0;P=ba+56|0;Q=ba+52|0;R=ba+48|0;S=ba+44|0;T=ba+40|0;d=ba+36|0;V=ba+32|0;W=ba+28|0;X=ba+24|0;Y=ba+20|0;e=ba+16|0;f=ba+12|0;g=ba+8|0;h=ba+4|0;Z=ba;k[U>>2]=a;k[_>>2]=b;k[$>>2]=c;k[A>>2]=0;k[R>>2]=0;k[T>>2]=k[k[U>>2]>>2];k[p>>2]=k[(k[U>>2]|0)+8>>2];c=uy(k[p>>2]|0)|0;k[O>>2]=c;c=uy(k[p>>2]|0)|0;k[N>>2]=c;k[Q>>2]=l[(k[_>>2]|0)+4>>0];k[aa>>2]=k[(k[_>>2]|0)+48>>2];k[d>>2]=k[(k[_>>2]|0)+44>>2];k[V>>2]=k[k[d>>2]>>2];a:do if((k[Q>>2]|0)!=116){k[n>>2]=1;while(1){if(l[(k[T>>2]|0)+69>>0]|0)break a;if((k[n>>2]|0)>(k[k[k[_>>2]>>2]>>2]|0))break a;k[o>>2]=0;k[e>>2]=k[(k[d>>2]|0)+4>>2];while(1){if((k[o>>2]|0)>=(k[V>>2]|0))break;if((m[(k[e>>2]|0)+16>>1]|0)==(k[n>>2]|0))break;k[o>>2]=(k[o>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+20}if((k[o>>2]|0)==(k[V>>2]|0)){c=Rt(k[T>>2]|0,134,0)|0;k[f>>2]=c;if(!(k[f>>2]|0))break;c=(k[f>>2]|0)+4|0;k[c>>2]=k[c>>2]|1024;k[(k[f>>2]|0)+8>>2]=k[n>>2];c=Ot(k[U>>2]|0,k[d>>2]|0,k[f>>2]|0)|0;k[d>>2]=c;if(k[d>>2]|0){a=k[n>>2]&65535;b=k[(k[d>>2]|0)+4>>2]|0;c=k[V>>2]|0;k[V>>2]=c+1;j[b+(c*20|0)+16>>1]=a}}k[n>>2]=(k[n>>2]|0)+1}k[K>>2]=7;aa=k[K>>2]|0;u=ba;return aa|0}while(0);o=Od(k[T>>2]|0,(k[V>>2]|0)+1<<2,0)|0;k[W>>2]=o;if(k[W>>2]|0){k[k[W>>2]>>2]=k[V>>2];k[n>>2]=1;k[g>>2]=k[(k[d>>2]|0)+4>>2];while(1){if((k[n>>2]|0)>(k[V>>2]|0))break;k[(k[W>>2]|0)+(k[n>>2]<<2)>>2]=(m[(k[g>>2]|0)+16>>1]|0)-1;k[n>>2]=(k[n>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+20}o=xF(k[U>>2]|0,k[_>>2]|0,1)|0;k[S>>2]=o}else k[S>>2]=0;k[(k[_>>2]|0)+44>>2]=k[d>>2];o=mx(k[k[U>>2]>>2]|0,k[d>>2]|0,0)|0;k[(k[aa>>2]|0)+44>>2]=o;b:do if((k[Q>>2]|0)!=116){k[h>>2]=k[k[k[_>>2]>>2]>>2];k[J>>2]=(k[(k[U>>2]|0)+44>>2]|0)+1;o=(k[U>>2]|0)+44|0;k[o>>2]=(k[o>>2]|0)+((k[h>>2]|0)+1);_u(k[p>>2]|0,76,0,k[J>>2]|0)|0;o=Iy(k[T>>2]|0,k[h>>2]|0,1)|0;k[R>>2]=o;if(k[R>>2]|0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[h>>2]|0))break b;o=wF(k[U>>2]|0,k[_>>2]|0,k[n>>2]|0)|0;k[(k[R>>2]|0)+20+(k[n>>2]<<2)>>2]=o;i[(k[(k[R>>2]|0)+16>>2]|0)+(k[n>>2]|0)>>0]=0;k[n>>2]=(k[n>>2]|0)+1}}}else k[J>>2]=0;while(0);k[(k[_>>2]|0)+48>>2]=0;k[(k[aa>>2]|0)+52>>2]=0;px(k[U>>2]|0,k[_>>2]|0,k[(k[_>>2]|0)+44>>2]|0,28515)|0;if(!(k[(k[aa>>2]|0)+48>>2]|0))px(k[U>>2]|0,k[aa>>2]|0,k[(k[aa>>2]|0)+44>>2]|0,28515)|0;NE(k[U>>2]|0,k[_>>2]|0,k[O>>2]|0);if((k[Q>>2]|0)==116?(k[(k[_>>2]|0)+12>>2]|0)!=0:0){a=(k[U>>2]|0)+44|0;o=(k[a>>2]|0)+1|0;k[a>>2]=o;k[H>>2]=o;o=(k[U>>2]|0)+44|0;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[I>>2]=a;a=k[_>>2]|0;if(k[(k[_>>2]|0)+16>>2]|0)a=(k[a+16>>2]|0)+1|0;else a=k[a+12>>2]|0;_u(k[p>>2]|0,84,a,k[H>>2]|0)|0;_u(k[p>>2]|0,84,k[H>>2]|0,k[I>>2]|0)|0}else{k[I>>2]=0;k[H>>2]=0}Yk(k[T>>2]|0,k[(k[_>>2]|0)+56>>2]|0);k[(k[_>>2]|0)+56>>2]=0;Yk(k[T>>2]|0,k[(k[_>>2]|0)+60>>2]|0);k[(k[_>>2]|0)+60>>2]=0;o=(k[U>>2]|0)+44|0;n=(k[o>>2]|0)+1|0;k[o>>2]=n;k[s>>2]=n;n=(k[U>>2]|0)+44|0;o=(k[n>>2]|0)+1|0;k[n>>2]=o;k[t>>2]=o;o=(k[U>>2]|0)+44|0;n=(k[o>>2]|0)+1|0;k[o>>2]=n;k[x>>2]=n;n=(k[U>>2]|0)+44|0;o=(k[n>>2]|0)+1|0;k[n>>2]=o;k[y>>2]=o;Kz(q,13,k[s>>2]|0);Kz(r,13,k[t>>2]|0);o=(Zv(k[p>>2]|0)|0)+1|0;k[v>>2]=o;v=$u(k[p>>2]|0,15,k[s>>2]|0,0,k[v>>2]|0)|0;k[P>>2]=v;k[(k[aa>>2]|0)+12>>2]=k[H>>2];k[X>>2]=k[(k[U>>2]|0)+424>>2];Kt(k[U>>2]|0,k[aa>>2]|0,q)|0;vB(k[p>>2]|0,k[s>>2]|0);xy(k[p>>2]|0,k[P>>2]|0);H=(Zv(k[p>>2]|0)|0)+1|0;k[w>>2]=H;H=$u(k[p>>2]|0,15,k[t>>2]|0,0,k[w>>2]|0)|0;k[P>>2]=H;k[L>>2]=k[(k[_>>2]|0)+12>>2];k[M>>2]=k[(k[_>>2]|0)+16>>2];k[(k[_>>2]|0)+12>>2]=k[I>>2];k[(k[_>>2]|0)+16>>2]=0;k[Y>>2]=k[(k[U>>2]|0)+424>>2];Kt(k[U>>2]|0,k[_>>2]|0,r)|0;k[(k[_>>2]|0)+12>>2]=k[L>>2];k[(k[_>>2]|0)+16>>2]=k[M>>2];vB(k[p>>2]|0,k[t>>2]|0);M=yF(k[U>>2]|0,k[_>>2]|0,q,k[$>>2]|0,k[x>>2]|0,k[J>>2]|0,k[R>>2]|0,k[O>>2]|0)|0;k[z>>2]=M;if((k[Q>>2]|0)==116|(k[Q>>2]|0)==115){M=yF(k[U>>2]|0,k[_>>2]|0,r,k[$>>2]|0,k[y>>2]|0,k[J>>2]|0,k[R>>2]|0,k[O>>2]|0)|0;k[A>>2]=M}Jk(k[R>>2]|0);if((k[Q>>2]|0)==117|(k[Q>>2]|0)==118){R=k[O>>2]|0;k[B>>2]=R;k[C>>2]=R}else{R=_u(k[p>>2]|0,14,k[y>>2]|0,k[A>>2]|0)|0;k[B>>2]=R;R=_u(k[p>>2]|0,16,k[t>>2]|0,k[O>>2]|0)|0;k[C>>2]=R;wy(k[p>>2]|0,k[B>>2]|0)|0;R=LC(j[(k[_>>2]|0)+6>>1]|0,j[(k[aa>>2]|0)+6>>1]|0)|0;j[(k[_>>2]|0)+6>>1]=R}if((k[Q>>2]|0)==118){k[D>>2]=k[B>>2];if((j[(k[_>>2]|0)+6>>1]|0)>(j[(k[aa>>2]|0)+6>>1]|0))j[(k[_>>2]|0)+6>>1]=j[(k[aa>>2]|0)+6>>1]|0}else{R=_u(k[p>>2]|0,14,k[x>>2]|0,k[z>>2]|0)|0;k[D>>2]=R;_u(k[p>>2]|0,16,k[s>>2]|0,k[O>>2]|0)|0;wy(k[p>>2]|0,k[D>>2]|0)|0}R=_u(k[p>>2]|0,14,k[x>>2]|0,k[z>>2]|0)|0;k[E>>2]=R;_u(k[p>>2]|0,16,k[s>>2]|0,k[B>>2]|0)|0;wy(k[p>>2]|0,k[N>>2]|0)|0;do if((k[Q>>2]|0)!=116)if((k[Q>>2]|0)==118){k[F>>2]=k[E>>2];k[E>>2]=(k[E>>2]|0)+1;break}else{R=_u(k[p>>2]|0,16,k[s>>2]|0,k[B>>2]|0)|0;k[F>>2]=R;wy(k[p>>2]|0,k[N>>2]|0)|0;break}else k[F>>2]=k[E>>2];while(0);R=Zv(k[p>>2]|0)|0;k[G>>2]=R;if((k[Q>>2]|0)==116|(k[Q>>2]|0)==115)_u(k[p>>2]|0,14,k[y>>2]|0,k[A>>2]|0)|0;_u(k[p>>2]|0,16,k[t>>2]|0,k[D>>2]|0)|0;wy(k[p>>2]|0,k[N>>2]|0)|0;xy(k[p>>2]|0,k[P>>2]|0);_u(k[p>>2]|0,16,k[s>>2]|0,k[C>>2]|0)|0;_u(k[p>>2]|0,16,k[t>>2]|0,k[D>>2]|0)|0;yy(k[p>>2]|0,k[N>>2]|0);cv(k[p>>2]|0,94,0,0,0,k[W>>2]|0,-15)|0;cv(k[p>>2]|0,95,k[q+12>>2]|0,k[r+12>>2]|0,k[V>>2]|0,k[S>>2]|0,-6)|0;ty(k[p>>2]|0,1);$u(k[p>>2]|0,18,k[E>>2]|0,k[F>>2]|0,k[G>>2]|0)|0;yy(k[p>>2]|0,k[O>>2]|0);if((l[k[$>>2]>>0]|0)==9){k[Z>>2]=k[aa>>2];while(1){if(!(k[(k[Z>>2]|0)+48>>2]|0))break;k[Z>>2]=k[(k[Z>>2]|0)+48>>2]}gF(k[U>>2]|0,k[(k[Z>>2]|0)+28>>2]|0,k[k[Z>>2]>>2]|0)}if(k[(k[_>>2]|0)+48>>2]|0)Tk(k[T>>2]|0,k[(k[_>>2]|0)+48>>2]|0);k[(k[_>>2]|0)+48>>2]=k[aa>>2];k[(k[aa>>2]|0)+52>>2]=k[_>>2];vF(k[U>>2]|0,l[(k[_>>2]|0)+4>>0]|0,k[X>>2]|0,k[Y>>2]|0,0);k[K>>2]=(k[(k[U>>2]|0)+36>>2]|0)!=0&1;aa=k[K>>2]|0;u=ba;return aa|0}function vF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;o=p;h=p+40|0;i=p+36|0;j=p+32|0;m=p+28|0;n=p+24|0;f=p+20|0;g=p+16|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;if((l[(k[h>>2]|0)+409>>0]|0|0)!=2){u=p;return}k[f>>2]=k[(k[h>>2]|0)+8>>2];e=k[k[h>>2]>>2]|0;d=k[j>>2]|0;j=k[m>>2]|0;m=k[n>>2]|0?35361:55752;n=ox(k[i>>2]|0)|0;k[o>>2]=d;k[o+4>>2]=j;k[o+8>>2]=m;k[o+12>>2]=n;o=ek(e,35380,o)|0;k[g>>2]=o;cv(k[f>>2]|0,162,k[(k[h>>2]|0)+420>>2]|0,0,0,k[g>>2]|0,-1)|0;u=p;return}function wF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+48>>2]|0){c=wF(k[d>>2]|0,k[(k[e>>2]|0)+48>>2]|0,k[f>>2]|0)|0;k[g>>2]=c}else k[g>>2]=0;if(k[g>>2]|0){g=k[g>>2]|0;u=h;return g|0}if((k[f>>2]|0)>=(k[k[k[e>>2]>>2]>>2]|0)){g=k[g>>2]|0;u=h;return g|0}f=Bw(k[d>>2]|0,k[(k[(k[k[e>>2]>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;u=h;return g|0}function xF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+48|0;h=q+40|0;j=q+36|0;r=q+32|0;l=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;d=q+12|0;e=q+8|0;f=q+4|0;g=q;k[h>>2]=a;k[j>>2]=b;k[r>>2]=c;k[l>>2]=k[(k[j>>2]|0)+44>>2];k[n>>2]=k[k[(k[j>>2]|0)+44>>2]>>2];k[o>>2]=k[k[h>>2]>>2];c=Iy(k[o>>2]|0,(k[n>>2]|0)+(k[r>>2]|0)|0,1)|0;k[p>>2]=c;if(!(k[p>>2]|0)){r=k[p>>2]|0;u=q;return r|0}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[n>>2]|0))break;k[e>>2]=(k[(k[l>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0);k[f>>2]=k[k[e>>2]>>2];a=k[h>>2]|0;if(k[(k[f>>2]|0)+4>>2]&256|0){r=Bw(a,k[f>>2]|0)|0;k[g>>2]=r}else{r=wF(a,k[j>>2]|0,(m[(k[e>>2]|0)+16>>1]|0)-1|0)|0;k[g>>2]=r;if(!(k[g>>2]|0))k[g>>2]=k[(k[o>>2]|0)+8>>2];r=sx(k[h>>2]|0,k[f>>2]|0,k[k[g>>2]>>2]|0)|0;k[(k[(k[l>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>2]=r}k[(k[p>>2]|0)+20+(k[d>>2]<<2)>>2]=k[g>>2];i[(k[(k[p>>2]|0)+16>>2]|0)+(k[d>>2]|0)>>0]=i[(k[(k[l>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)+12>>0]|0;k[d>>2]=(k[d>>2]|0)+1}r=k[p>>2]|0;u=q;return r|0}function yF(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+64|0;C=D+60|0;j=D+56|0;m=D+52|0;n=D+48|0;o=D+44|0;p=D+40|0;q=D+36|0;r=D+32|0;s=D+28|0;t=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;y=D+8|0;z=D+4|0;A=D;k[C>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[r>>2]=h;k[s>>2]=k[(k[C>>2]|0)+8>>2];h=Zv(k[s>>2]|0)|0;k[v>>2]=h;h=uy(k[s>>2]|0)|0;k[t>>2]=h;if(k[p>>2]|0){e=oy(k[s>>2]|0,22,k[p>>2]|0)|0;k[w>>2]=e;e=k[s>>2]|0;f=k[(k[m>>2]|0)+12>>2]|0;g=(k[p>>2]|0)+1|0;h=k[(k[m>>2]|0)+16>>2]|0;h=cv(e,95,f,g,h,Ny(k[q>>2]|0)|0,-6)|0;k[x>>2]=h;$u(k[s>>2]|0,18,(k[x>>2]|0)+2|0,k[t>>2]|0,(k[x>>2]|0)+2|0)|0;xy(k[s>>2]|0,k[w>>2]|0);$u(k[s>>2]|0,84,k[(k[m>>2]|0)+12>>2]|0,(k[p>>2]|0)+1|0,(k[(k[m>>2]|0)+16>>2]|0)-1|0)|0;_u(k[s>>2]|0,76,1,k[p>>2]|0)|0}if(i[(k[k[C>>2]>>2]|0)+69>>0]|0){k[B>>2]=0;C=k[B>>2]|0;u=D;return C|0}iF(k[s>>2]|0,k[(k[j>>2]|0)+16>>2]|0,k[t>>2]|0);switch(l[k[n>>2]>>0]|0){case 12:{h=Yv(k[C>>2]|0)|0;k[y>>2]=h;h=Yv(k[C>>2]|0)|0;k[z>>2]=h;$u(k[s>>2]|0,99,k[(k[m>>2]|0)+12>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[y>>2]|0)|0;_u(k[s>>2]|0,114,k[(k[n>>2]|0)+8>>2]|0,k[z>>2]|0)|0;$u(k[s>>2]|0,115,k[(k[n>>2]|0)+8>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;ty(k[s>>2]|0,8);_v(k[C>>2]|0,k[z>>2]|0);_v(k[C>>2]|0,k[y>>2]|0);break}case 11:{h=Yv(k[C>>2]|0)|0;k[A>>2]=h;cv(k[s>>2]|0,99,k[(k[m>>2]|0)+12>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[A>>2]|0,k[(k[n>>2]|0)+4>>2]|0,k[(k[m>>2]|0)+16>>2]|0)|0;jz(k[C>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[(k[m>>2]|0)+16>>2]|0);_u(k[s>>2]|0,126,k[(k[n>>2]|0)+8>>2]|0,k[A>>2]|0)|0;_v(k[C>>2]|0,k[A>>2]|0);break}case 10:{_E(k[C>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[(k[n>>2]|0)+8>>2]|0,1);break}case 13:{if(!(k[(k[n>>2]|0)+12>>2]|0)){h=Wy(k[C>>2]|0,k[(k[m>>2]|0)+16>>2]|0)|0;k[(k[n>>2]|0)+12>>2]=h;k[(k[n>>2]|0)+16>>2]=k[(k[m>>2]|0)+16>>2]}_E(k[C>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[(k[n>>2]|0)+12>>2]|0,k[(k[m>>2]|0)+16>>2]|0);oy(k[s>>2]|0,16,k[(k[n>>2]|0)+8>>2]|0)|0;break}default:{_u(k[s>>2]|0,87,k[(k[m>>2]|0)+12>>2]|0,k[(k[m>>2]|0)+16>>2]|0)|0;jz(k[C>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[(k[m>>2]|0)+16>>2]|0)}}if(k[(k[j>>2]|0)+12>>2]|0)_u(k[s>>2]|0,68,k[(k[j>>2]|0)+12>>2]|0,k[r>>2]|0)|0;yy(k[s>>2]|0,k[t>>2]|0);oy(k[s>>2]|0,72,k[o>>2]|0)|0;k[B>>2]=k[v>>2];C=k[B>>2]|0;u=D;return C|0}function zF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=u;u=u+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if(!(k[(k[g>>2]|0)+24>>2]&524288)){u=n;return}if((l[(k[f>>2]|0)+42>>0]|0)&16|0){u=n;return}if(k[(k[f>>2]|0)+12>>2]|0){u=n;return}k[h>>2]=0;c=Vu(k[d>>2]|0)|0;k[j>>2]=c;do if(!(sw(k[f>>2]|0)|0)){k[m>>2]=k[(k[f>>2]|0)+16>>2];while(1){if(!(k[m>>2]|0))break;if(l[(k[m>>2]|0)+24>>0]|0|0)break;if(k[(k[g>>2]|0)+24>>2]&33554432|0)break;k[m>>2]=k[(k[m>>2]|0)+4>>2]}if(k[m>>2]|0){m=uy(k[j>>2]|0)|0;k[h>>2]=m;_u(k[j>>2]|0,65,1,k[h>>2]|0)|0;break}else{u=n;return}}while(0);i[(k[d>>2]|0)+150>>0]=1;m=k[d>>2]|0;Zt(m,ey(k[g>>2]|0,k[e>>2]|0,0)|0,0);i[(k[d>>2]|0)+150>>0]=0;if(!(k[(k[g>>2]|0)+24>>2]&33554432)){m=k[j>>2]|0;_u(m,65,0,(Zv(k[j>>2]|0)|0)+2|0)|0;Ry(k[d>>2]|0,787,2,0,-2,4)}if(!(k[h>>2]|0)){u=n;return}yy(k[j>>2]|0,k[h>>2]|0);u=n;return}function AF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+64|0;p=q+8|0;o=q;g=q+48|0;h=q+44|0;i=q+40|0;j=q+36|0;m=q+32|0;n=q+28|0;e=q+24|0;f=q+20|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[n>>2]=k[k[g>>2]>>2];k[f>>2]=(k[(k[n>>2]|0)+16>>2]|0)+(k[i>>2]<<4);d=Vu(k[g>>2]|0)|0;k[m>>2]=d;mv(k[g>>2]|0,1,k[i>>2]|0);if((l[(k[h>>2]|0)+42>>0]|0)&16|0)Xu(k[m>>2]|0,152)|0;d=aw(k[g>>2]|0,k[h>>2]|0)|0;k[e>>2]=d;while(1){if(!(k[e>>2]|0))break;iA(k[g>>2]|0,k[e>>2]|0);k[e>>2]=k[(k[e>>2]|0)+32>>2]}if((l[(k[h>>2]|0)+42>>0]|0)&8|0){d=k[g>>2]|0;c=k[k[h>>2]>>2]|0;k[o>>2]=k[k[f>>2]>>2];k[o+4>>2]=c;Uu(d,35606,o)}o=k[g>>2]|0;c=(k[i>>2]|0)==1?26433:26452;d=k[k[h>>2]>>2]|0;k[p>>2]=k[k[f>>2]>>2];k[p+4>>2]=c;k[p+8>>2]=d;Uu(o,35651,p);if((k[j>>2]|0)==0?((l[(k[h>>2]|0)+42>>0]|0)&16|0)==0:0)BF(k[g>>2]|0,k[h>>2]|0);if(!((l[(k[h>>2]|0)+42>>0]|0)&16)){m=k[m>>2]|0;o=k[i>>2]|0;p=k[h>>2]|0;p=k[p>>2]|0;cv(m,138,o,0,0,p,0)|0;p=k[g>>2]|0;o=k[i>>2]|0;Wu(p,o);o=k[n>>2]|0;p=k[i>>2]|0;CF(o,p);u=q;return}cv(k[m>>2]|0,154,k[i>>2]|0,0,0,k[k[h>>2]>>2]|0,0)|0;m=k[m>>2]|0;o=k[i>>2]|0;p=k[h>>2]|0;p=k[p>>2]|0;cv(m,138,o,0,0,p,0)|0;p=k[g>>2]|0;o=k[i>>2]|0;Wu(p,o);o=k[n>>2]|0;p=k[i>>2]|0;CF(o,p);u=q;return}function BF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;c=m+28|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+28>>2];k[f>>2]=0;while(1){k[h>>2]=0;if(!((k[f>>2]|0)!=0?(k[e>>2]|0)>=(k[f>>2]|0):0))k[h>>2]=k[e>>2];k[g>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break;k[i>>2]=k[(k[g>>2]|0)+44>>2];if(!((k[f>>2]|0)!=0?(k[i>>2]|0)>=(k[f>>2]|0):0))l=9;if((l|0)==9?(l=0,(k[i>>2]|0)>(k[h>>2]|0)):0)k[h>>2]=k[i>>2];k[g>>2]=k[(k[g>>2]|0)+20>>2]}if(!(k[h>>2]|0))break;b=Ru(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+64>>2]|0)|0;k[j>>2]=b;oB(k[c>>2]|0,k[h>>2]|0,k[j>>2]|0);k[f>>2]=k[h>>2]}u=m;return}function CF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){u=g;return}k[e>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+8>>2];if(k[(k[f>>2]|0)+12>>2]|0){Sk(k[c>>2]|0,k[f>>2]|0);k[(k[f>>2]|0)+4>>2]=0;j[(k[f>>2]|0)+34>>1]=0}k[e>>2]=k[k[e>>2]>>2]}f=(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+78|0;j[f>>1]=(m[f>>1]|0)&-3;u=g;return}function DF(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;u=c;return ((m[(k[(k[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function EF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;o=u;u=u+144|0;h=o+128|0;i=o+124|0;l=o+120|0;m=o+116|0;n=o+112|0;f=o;g=o+80|0;k[h>>2]=a;k[i>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;k[g+24>>2]=0;k[g+28>>2]=0;a=f;b=a+80|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[f>>2]=1;k[f+8+8>>2]=k[k[i>>2]>>2];k[f+8+16>>2]=k[i>>2];k[f+8+44>>2]=-1;k[g>>2]=k[h>>2];k[g+4>>2]=f;j[g+28>>1]=k[l>>2];m=(Yw(g,k[m>>2]|0)|0)==0;if(!(m&(k[n>>2]|0)!=0)){u=o;return}Zw(g,k[n>>2]|0)|0;u=o;return}function FF(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;k[b>>2]=a;a=k[b>>2]|0;if((l[k[b>>2]>>0]|0|0)==97){i[a>>0]=55;u=c;return}if((l[a>>0]|0|0)!=53){u=c;return}if((l[k[(k[b>>2]|0)+12>>2]>>0]|0|0)!=97){u=c;return}i[k[(k[b>>2]|0)+12>>2]>>0]=55;u=c;return}function GF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){c=k[e>>2]|0;k[e>>2]=c+-1;if((c|0)<=0){a=5;break}b=k[f>>2]|0;c=k[d>>2]|0;k[d>>2]=c+2;if((b|0)==(j[c>>1]|0)){a=4;break}}if((a|0)==4){k[g>>2]=1;g=k[g>>2]|0;u=h;return g|0}else if((a|0)==5){k[g>>2]=0;g=k[g>>2]|0;u=h;return g|0}return 0}function HF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;b=g+12|0;c=g+8|0;d=g+4|0;e=g;f=g+16|0;k[b>>2]=a;k[c>>2]=0;k[e>>2]=k[(k[(k[b>>2]|0)+12>>2]|0)+4>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(m[(k[b>>2]|0)+52>>1]|0))break;j[f>>1]=j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]|0;if((j[f>>1]|0)<0)a=1;else a=l[(k[e>>2]|0)+(j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]<<4)+14>>0]|0;k[c>>2]=(k[c>>2]|0)+a;k[d>>2]=(k[d>>2]|0)+1}f=Hv(k[c>>2]<<2,0)|0;j[(k[b>>2]|0)+48>>1]=f;u=g;return}function IF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c;d=c+4|0;k[e>>2]=a;i[d>>0]=b;b=Mz(k[e>>2]|0,4+(l[d>>0]|0)|0,0)|0;u=c;return b|0}function JF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+64|0;f=v+52|0;h=v+48|0;n=v+44|0;o=v+40|0;p=v+36|0;q=v+32|0;r=v+28|0;s=v+24|0;c=v+20|0;d=v+16|0;e=v+8|0;g=v;k[f>>2]=a;k[h>>2]=b;k[s>>2]=k[k[f>>2]>>2];k[c>>2]=k[(k[f>>2]|0)+8>>2];a:do if(!(i[(k[s>>2]|0)+148+7>>0]|0)){k[q>>2]=0;while(1){if((k[q>>2]|0)>=(j[(k[h>>2]|0)+34>>1]|0))break a;if(l[(k[(k[h>>2]|0)+4>>2]|0)+(k[q>>2]<<4)+15>>0]&1|0)i[(k[(k[h>>2]|0)+4>>2]|0)+(k[q>>2]<<4)+12>>0]=2;k[q>>2]=(k[q>>2]|0)+1}}while(0);if(i[(k[f>>2]|0)+410>>0]|0){u=v;return}if(k[(k[f>>2]|0)+132>>2]|0)OE(k[c>>2]|0,k[(k[f>>2]|0)+132>>2]|0,-122);a=k[h>>2]|0;do if((j[(k[h>>2]|0)+32>>1]|0)>=0){tx(e,k[(k[a+4>>2]|0)+(j[(k[h>>2]|0)+32>>1]<<4)>>2]|0);c=k[f>>2]|0;e=Ot(c,0,eu(k[s>>2]|0,55,e,0)|0)|0;k[d>>2]=e;if(!(k[d>>2]|0)){u=v;return}i[(k[(k[d>>2]|0)+4>>2]|0)+12>>0]=i[(k[f>>2]|0)+408>>0]|0;Dt(k[f>>2]|0,0,0,0,k[d>>2]|0,l[(k[h>>2]|0)+43>>0]|0,0,0,0,0,2);if(i[(k[s>>2]|0)+69>>0]|0){u=v;return}else{f=Ev(k[h>>2]|0)|0;k[o>>2]=f;j[(k[h>>2]|0)+32>>1]=-1;break}}else{f=Ev(a)|0;k[o>>2]=f;if(k[c>>2]|0)OE(k[c>>2]|0,k[(k[o>>2]|0)+44>>2]|0,13);k[r>>2]=1;k[q>>2]=1;while(1){if((k[q>>2]|0)>=(m[(k[o>>2]|0)+50>>1]|0))break;f=(GF(k[(k[o>>2]|0)+4>>2]|0,k[r>>2]|0,j[(k[(k[o>>2]|0)+4>>2]|0)+(k[q>>2]<<1)>>1]|0)|0)!=0;a=k[o>>2]|0;if(f){f=a+52|0;j[f>>1]=(j[f>>1]|0)+-1<<16>>16}else{d=j[(k[a+4>>2]|0)+(k[q>>2]<<1)>>1]|0;e=k[(k[o>>2]|0)+4>>2]|0;f=k[r>>2]|0;k[r>>2]=f+1;j[e+(f<<1)>>1]=d}k[q>>2]=(k[q>>2]|0)+1}j[(k[o>>2]|0)+50>>1]=k[r>>2]}while(0);f=(k[o>>2]|0)+55|0;i[f>>0]=i[f>>0]&-33|32;if(!(i[(k[s>>2]|0)+148+7>>0]|0)){f=(k[o>>2]|0)+55|0;i[f>>0]=i[f>>0]&-9|8}k[p>>2]=m[(k[o>>2]|0)+50>>1];k[(k[o>>2]|0)+44>>2]=k[(k[h>>2]|0)+28>>2];k[n>>2]=k[(k[h>>2]|0)+8>>2];b:while(1){if(!(k[n>>2]|0))break;c:do if((i[(k[n>>2]|0)+55>>0]&3|0)!=2){k[g>>2]=0;k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[p>>2]|0))break;if(!(GF(k[(k[n>>2]|0)+4>>2]|0,m[(k[n>>2]|0)+50>>1]|0,j[(k[(k[o>>2]|0)+4>>2]|0)+(k[q>>2]<<1)>>1]|0)|0))k[g>>2]=(k[g>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+1}if(!(k[g>>2]|0)){j[(k[n>>2]|0)+52>>1]=j[(k[n>>2]|0)+50>>1]|0;break}if(PF(k[s>>2]|0,k[n>>2]|0,(m[(k[n>>2]|0)+50>>1]|0)+(k[g>>2]|0)|0)|0){t=50;break b}k[q>>2]=0;k[r>>2]=m[(k[n>>2]|0)+50>>1];while(1){if((k[q>>2]|0)>=(k[p>>2]|0))break c;if(!(GF(k[(k[n>>2]|0)+4>>2]|0,m[(k[n>>2]|0)+50>>1]|0,j[(k[(k[o>>2]|0)+4>>2]|0)+(k[q>>2]<<1)>>1]|0)|0)){j[(k[(k[n>>2]|0)+4>>2]|0)+(k[r>>2]<<1)>>1]=j[(k[(k[o>>2]|0)+4>>2]|0)+(k[q>>2]<<1)>>1]|0;k[(k[(k[n>>2]|0)+32>>2]|0)+(k[r>>2]<<2)>>2]=k[(k[(k[o>>2]|0)+32>>2]|0)+(k[q>>2]<<2)>>2];k[r>>2]=(k[r>>2]|0)+1}k[q>>2]=(k[q>>2]|0)+1}}while(0);k[n>>2]=k[(k[n>>2]|0)+20>>2]}if((t|0)==50){u=v;return}if((k[p>>2]|0)>=(j[(k[h>>2]|0)+34>>1]|0)){j[(k[o>>2]|0)+52>>1]=j[(k[h>>2]|0)+34>>1]|0;u=v;return}if(PF(k[s>>2]|0,k[o>>2]|0,j[(k[h>>2]|0)+34>>1]|0)|0){u=v;return}k[q>>2]=0;k[r>>2]=k[p>>2];while(1){if((k[q>>2]|0)>=(j[(k[h>>2]|0)+34>>1]|0))break;if(!(GF(k[(k[o>>2]|0)+4>>2]|0,k[r>>2]|0,k[q>>2]|0)|0)){j[(k[(k[o>>2]|0)+4>>2]|0)+(k[r>>2]<<1)>>1]=k[q>>2];k[(k[(k[o>>2]|0)+32>>2]|0)+(k[r>>2]<<2)>>2]=34455;k[r>>2]=(k[r>>2]|0)+1}k[q>>2]=(k[q>>2]|0)+1}u=v;return}function KF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=u;u=u+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=0;k[e>>2]=j[(k[b>>2]|0)+34>>1];k[d>>2]=k[(k[b>>2]|0)+4>>2];while(1){if((k[e>>2]|0)<=0)break;k[c>>2]=(k[c>>2]|0)+(l[(k[d>>2]|0)+14>>0]|0);k[e>>2]=(k[e>>2]|0)+-1;k[d>>2]=(k[d>>2]|0)+16}if((j[(k[b>>2]|0)+32>>1]|0)>=0){d=k[c>>2]|0;d=d<<2;d=Hv(d,0)|0;e=k[b>>2]|0;e=e+40|0;j[e>>1]=d;u=f;return}k[c>>2]=(k[c>>2]|0)+1;d=k[c>>2]|0;d=d<<2;d=Hv(d,0)|0;e=k[b>>2]|0;e=e+40|0;j[e>>1]=d;u=f;return}function LF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+80|0;v=w+16|0;t=w+8|0;d=w;m=w+68|0;c=w+64|0;n=w+60|0;o=w+56|0;p=w+52|0;q=w+48|0;r=w+44|0;s=w+40|0;e=w+36|0;f=w+32|0;g=w+28|0;h=w+24|0;l=w+20|0;k[c>>2]=a;k[n>>2]=b;k[q>>2]=0;k[g>>2]=k[(k[n>>2]|0)+4>>2];k[o>>2]=0;while(1){if((k[o>>2]|0)>=(j[(k[n>>2]|0)+34>>1]|0))break;b=(MF(k[k[g>>2]>>2]|0)|0)+5|0;k[q>>2]=(k[q>>2]|0)+b;k[o>>2]=(k[o>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+16}b=MF(k[k[n>>2]>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+b;if((k[q>>2]|0)<50){k[s>>2]=55752;k[e>>2]=22226;k[f>>2]=34322}else{k[s>>2]=36806;k[e>>2]=36810;k[f>>2]=36815}k[q>>2]=(k[q>>2]|0)+(35+((j[(k[n>>2]|0)+34>>1]|0)*6|0));b=k[q>>2]|0;b=Md(0,b,((b|0)<0)<<31>>31)|0;k[r>>2]=b;if(!(k[r>>2]|0)){Yd(k[c>>2]|0);k[m>>2]=0;v=k[m>>2]|0;u=w;return v|0}pf(k[q>>2]|0,k[r>>2]|0,36818,d)|0;c=wd(k[r>>2]|0)|0;k[p>>2]=c;NF(k[r>>2]|0,p,k[k[n>>2]>>2]|0);c=k[r>>2]|0;d=k[p>>2]|0;k[p>>2]=d+1;i[c+d>>0]=40;k[g>>2]=k[(k[n>>2]|0)+4>>2];k[o>>2]=0;while(1){a=(k[q>>2]|0)-(k[p>>2]|0)|0;b=(k[r>>2]|0)+(k[p>>2]|0)|0;if((k[o>>2]|0)>=(j[(k[n>>2]|0)+34>>1]|0))break;pf(a,b,k[s>>2]|0,t)|0;d=wd((k[r>>2]|0)+(k[p>>2]|0)|0)|0;k[p>>2]=(k[p>>2]|0)+d;k[s>>2]=k[e>>2];NF(k[r>>2]|0,p,k[k[g>>2]>>2]|0);k[l>>2]=k[5560+((i[(k[g>>2]|0)+13>>0]|0)-65<<2)>>2];d=wd(k[l>>2]|0)|0;k[h>>2]=d;r0((k[r>>2]|0)+(k[p>>2]|0)|0,k[l>>2]|0,k[h>>2]|0)|0;k[p>>2]=(k[p>>2]|0)+(k[h>>2]|0);k[o>>2]=(k[o>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+16}k[v>>2]=k[f>>2];pf(a,b,21240,v)|0;k[m>>2]=k[r>>2];v=k[m>>2]|0;u=w;return v|0}function MF(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if(!(i[k[b>>2]>>0]|0))break;if((i[k[b>>2]>>0]|0)==34)k[c>>2]=(k[c>>2]|0)+1;k[c>>2]=(k[c>>2]|0)+1;k[b>>2]=(k[b>>2]|0)+1}u=d;return (k[c>>2]|0)+2|0}function NF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;m=u;u=u+32|0;d=m+24|0;e=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[n>>2]=c;k[f>>2]=k[n>>2];k[g>>2]=k[k[e>>2]>>2];k[h>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[h>>2]|0)>>0]|0))break;if((l[20063+(l[(k[f>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&6|0)==0?(l[(k[f>>2]|0)+(k[h>>2]|0)>>0]|0)!=95:0)break;k[h>>2]=(k[h>>2]|0)+1}if((!(l[20063+(l[k[f>>2]>>0]|0)>>0]&4|0)?(OF(k[f>>2]|0,k[h>>2]|0)|0)==55:0)?!(l[(k[f>>2]|0)+(k[h>>2]|0)>>0]|0):0)a=(k[h>>2]|0)==0;else a=1;k[j>>2]=a&1;if(k[j>>2]|0){c=k[d>>2]|0;n=k[g>>2]|0;k[g>>2]=n+1;i[c+n>>0]=34}k[h>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[h>>2]|0)>>0]|0))break;b=i[(k[f>>2]|0)+(k[h>>2]|0)>>0]|0;c=k[d>>2]|0;n=k[g>>2]|0;k[g>>2]=n+1;i[c+n>>0]=b;if((l[(k[f>>2]|0)+(k[h>>2]|0)>>0]|0)==34){c=k[d>>2]|0;n=k[g>>2]|0;k[g>>2]=n+1;i[c+n>>0]=34}k[h>>2]=(k[h>>2]|0)+1}if(!(k[j>>2]|0)){n=k[d>>2]|0;j=k[g>>2]|0;j=n+j|0;i[j>>0]=0;j=k[g>>2]|0;n=k[e>>2]|0;k[n>>2]=j;u=m;return}j=k[d>>2]|0;n=k[g>>2]|0;k[g>>2]=n+1;i[j+n>>0]=34;n=k[d>>2]|0;j=k[g>>2]|0;j=n+j|0;i[j>>0]=0;j=k[g>>2]|0;n=k[e>>2]|0;k[n>>2]=j;u=m;return}function OF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;k[c>>2]=55;gk(k[f>>2]|0,k[e>>2]|0,c)|0;u=d;return k[c>>2]|0}function PF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0;n=u;u=u+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n+4|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((m[(k[f>>2]|0)+52>>1]|0|0)>=(k[g>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;u=n;return l|0}k[l>>2]=(k[g>>2]|0)*7;l=k[l>>2]|0;l=im(k[e>>2]|0,l,((l|0)<0)<<31>>31)|0;k[h>>2]=l;if(!(k[h>>2]|0)){k[d>>2]=7;l=k[d>>2]|0;u=n;return l|0}else{r0(k[h>>2]|0,k[(k[f>>2]|0)+32>>2]|0,(m[(k[f>>2]|0)+52>>1]|0)<<2|0)|0;k[(k[f>>2]|0)+32>>2]=k[h>>2];k[h>>2]=(k[h>>2]|0)+(k[g>>2]<<2);r0(k[h>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(m[(k[f>>2]|0)+52>>1]|0)<<1|0)|0;k[(k[f>>2]|0)+4>>2]=k[h>>2];k[h>>2]=(k[h>>2]|0)+(k[g>>2]<<1);r0(k[h>>2]|0,k[(k[f>>2]|0)+28>>2]|0,m[(k[f>>2]|0)+52>>1]|0|0)|0;k[(k[f>>2]|0)+28>>2]=k[h>>2];j[(k[f>>2]|0)+52>>1]=k[g>>2];l=(k[f>>2]|0)+55|0;i[l>>0]=i[l>>0]&-17|16;k[d>>2]=0;l=k[d>>2]|0;u=n;return l|0}return 0}function QF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=u;u=u+16|0;c=d+8|0;e=d+4|0;f=d;k[c>>2]=a;k[e>>2]=b;b=Vu(k[c>>2]|0)|0;k[f>>2]=b;qy(k[c>>2]|0,k[e>>2]|0,1,1,(k[e>>2]|0)==1?26433:26452);Jy(k[f>>2]|0,105,0,1,k[e>>2]|0,5)|0;if(k[(k[c>>2]|0)+40>>2]|0){u=d;return}k[(k[c>>2]|0)+40>>2]=1;u=d;return}function RF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=u;u=u+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;a=Vu(k[b>>2]|0)|0;k[d>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+112>>2]|0))break;k[e>>2]=(k[(k[b>>2]|0)+116>>2]|0)+(k[c>>2]<<4);k[f>>2]=k[k[e>>2]>>2];cv(k[d>>2]|0,151,k[f>>2]|0,k[(k[e>>2]|0)+4>>2]|0,l[(k[e>>2]|0)+8>>0]|0,k[(k[e>>2]|0)+12>>2]|0,-2)|0;k[c>>2]=(k[c>>2]|0)+1}u=g;return}function SF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;b=j+24|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[g>>2]=k[(k[b>>2]|0)+8>>2];k[c>>2]=k[(k[b>>2]|0)+120>>2];while(1){if(!(k[c>>2]|0)){a=5;break}k[e>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+8>>2]<<4);k[f>>2]=k[(k[c>>2]|0)+12>>2];ry(k[b>>2]|0,0,k[(k[c>>2]|0)+8>>2]|0,k[(k[(k[e>>2]|0)+12>>2]|0)+72>>2]|0,104);Zu(k[g>>2]|0,(k[f>>2]|0)-1|0,k[k[(k[c>>2]|0)+4>>2]>>2]|0)|0;a=wA(k[g>>2]|0,10,36994,0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){a=5;break}k[(k[h>>2]|0)+8>>2]=k[f>>2];k[(k[h>>2]|0)+12>>2]=(k[f>>2]|0)+1;k[(k[h>>2]|0)+40+12>>2]=k[f>>2];k[(k[h>>2]|0)+60+4>>2]=(k[f>>2]|0)-1;k[(k[h>>2]|0)+60+12>>2]=k[f>>2];i[(k[h>>2]|0)+60+3>>0]=16;k[(k[h>>2]|0)+80+8>>2]=(k[f>>2]|0)+1;k[(k[h>>2]|0)+100+12>>2]=k[f>>2];k[(k[h>>2]|0)+160+8>>2]=k[f>>2];k[c>>2]=k[k[c>>2]>>2]}if((a|0)==5){u=j;return}}function TF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=u;u=u+48|0;e=p+40|0;f=p+36|0;g=p+32|0;h=p+28|0;m=p+24|0;n=p+20|0;o=p+16|0;c=p+12|0;d=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=k[k[e>>2]>>2];k[h>>2]=j[(k[f>>2]|0)+400>>1];k[m>>2]=k[(k[f>>2]|0)+44>>2];k[n>>2]=k[(k[f>>2]|0)+40>>2];k[o>>2]=k[(k[f>>2]|0)+108>>2];k[m>>2]=(k[m>>2]|0)+(k[n>>2]|0);if((k[n>>2]|0)==0&(k[m>>2]|0)>0)k[m>>2]=(k[m>>2]|0)+1;k[c>>2]=((k[(k[e>>2]|0)+136>>2]|0)*20|0)+7&-8;k[d>>2]=(k[(k[e>>2]|0)+88>>2]|0)+(k[c>>2]|0);k[d+4>>2]=(k[(k[f>>2]|0)+52>>2]|0)-(k[c>>2]|0)&-8;YD(k[e>>2]|0,o);if(l[(k[f>>2]|0)+20>>0]|0)a=(l[(k[f>>2]|0)+21>>0]|0)!=0;else a=0;c=(k[e>>2]|0)+144|0;j[c>>1]=j[c>>1]&-65|(a&1)<<6&65535;if((k[m>>2]|0)<10?(l[(k[f>>2]|0)+409>>0]|0)!=0:0)k[m>>2]=10;c=(k[e>>2]|0)+144|0;j[c>>1]=j[c>>1]&-2;do{k[d+8>>2]=0;c=UF(d,k[(k[e>>2]|0)+92>>2]|0,(k[m>>2]|0)*40|0)|0;k[(k[e>>2]|0)+92>>2]=c;c=UF(d,k[(k[e>>2]|0)+116>>2]|0,(k[h>>2]|0)*40|0)|0;k[(k[e>>2]|0)+116>>2]=c;c=UF(d,k[(k[e>>2]|0)+96>>2]|0,k[o>>2]<<2)|0;k[(k[e>>2]|0)+96>>2]=c;c=UF(d,k[(k[e>>2]|0)+112>>2]|0,k[n>>2]<<2)|0;k[(k[e>>2]|0)+112>>2]=c;if(!(k[d+8>>2]|0))break;c=k[d+8>>2]|0;c=Od(k[g>>2]|0,c,((c|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+180>>2]=c;k[d>>2]=c;k[d+4>>2]=k[d+8>>2]}while((i[(k[g>>2]|0)+69>>0]|0)!=0^1);j[(k[e>>2]|0)+18>>1]=k[(k[f>>2]|0)+404>>2];k[(k[e>>2]|0)+120>>2]=k[(k[f>>2]|0)+428>>2];k[(k[f>>2]|0)+404>>2]=0;k[(k[f>>2]|0)+428>>2]=0;o=(k[e>>2]|0)+144|0;j[o>>1]=j[o>>1]&-13|(l[(k[f>>2]|0)+409>>0]&3)<<2&65535;if(i[(k[g>>2]|0)+69>>0]|0){j[(k[e>>2]|0)+16>>1]=0;k[(k[e>>2]|0)+28>>2]=0;k[(k[e>>2]|0)+24>>2]=0;o=k[e>>2]|0;Js(o);u=p;return}else{k[(k[e>>2]|0)+28>>2]=k[n>>2];j[(k[e>>2]|0)+16>>1]=k[h>>2];ct(k[(k[e>>2]|0)+116>>2]|0,k[h>>2]|0,k[g>>2]|0,1);k[(k[e>>2]|0)+24>>2]=k[m>>2];ct(k[(k[e>>2]|0)+92>>2]|0,k[m>>2]|0,k[g>>2]|0,128);w0(k[(k[e>>2]|0)+112>>2]|0,0,k[n>>2]<<2|0)|0;o=k[e>>2]|0;Js(o);u=p;return}}function UF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){f=k[e>>2]|0;u=g;return f|0}k[f>>2]=(k[f>>2]|0)+7&-8;a=k[f>>2]|0;b=k[d>>2]|0;if((k[f>>2]|0)<=(k[(k[d>>2]|0)+4>>2]|0)){f=b+4|0;k[f>>2]=(k[f>>2]|0)-a;k[e>>2]=(k[k[d>>2]>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);f=k[e>>2]|0;u=g;return f|0}else{f=b+8|0;k[f>>2]=(k[f>>2]|0)+a;f=k[e>>2]|0;u=g;return f|0}return 0}function VF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;y=u;u=u+80|0;x=y+8|0;d=y;q=y+68|0;v=y+64|0;b=y+60|0;h=y+56|0;n=y+52|0;o=y+48|0;c=y+44|0;p=y+40|0;w=y+36|0;r=y+32|0;s=y+28|0;t=y+24|0;e=y+20|0;f=y+16|0;g=y+12|0;k[v>>2]=a;k[h>>2]=0;k[n>>2]=0;k[o>>2]=0;k[c>>2]=k[k[v>>2]>>2];k[w>>2]=0;k[r>>2]=(k[(k[v>>2]|0)+92>>2]|0)+40;Fk(k[r>>2]|0,8);k[(k[v>>2]|0)+104>>2]=0;if((k[(k[v>>2]|0)+40>>2]|0)==7){Yd(k[c>>2]|0);k[q>>2]=1;x=k[q>>2]|0;u=y;return x|0}k[b>>2]=k[(k[v>>2]|0)+136>>2];a:do if(((m[(k[v>>2]|0)+144>>1]|0)>>>2&3|0)==1){k[o>>2]=(k[(k[v>>2]|0)+92>>2]|0)+360;if(m[(k[o>>2]|0)+8>>1]&16|0){k[h>>2]=((k[(k[o>>2]|0)+12>>2]|0)>>>0)/4|0;k[n>>2]=k[(k[o>>2]|0)+16>>2]}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[h>>2]|0))break a;k[b>>2]=(k[b>>2]|0)+(k[(k[(k[n>>2]|0)+(k[p>>2]<<2)>>2]|0)+4>>2]|0);k[p>>2]=(k[p>>2]|0)+1}}while(0);do{z=(k[v>>2]|0)+36|0;a=k[z>>2]|0;k[z>>2]=a+1;k[p>>2]=a;if((k[p>>2]|0)>=(k[b>>2]|0))break;if(((m[(k[v>>2]|0)+144>>1]|0)>>>2&3|0)!=2)break}while((l[(k[(k[v>>2]|0)+88>>2]|0)+((k[p>>2]|0)*20|0)>>0]|0)!=162);do if((k[p>>2]|0)>=(k[b>>2]|0)){k[(k[v>>2]|0)+40>>2]=0;k[w>>2]=101}else{if(k[(k[c>>2]|0)+248>>2]|0){k[(k[v>>2]|0)+40>>2]=9;k[w>>2]=1;z=k[v>>2]|0;ss(z,fj(k[(k[v>>2]|0)+40>>2]|0)|0,d);break}a=k[v>>2]|0;if((k[p>>2]|0)<(k[(k[v>>2]|0)+136>>2]|0))k[t>>2]=(k[a+88>>2]|0)+((k[p>>2]|0)*20|0);else{k[p>>2]=(k[p>>2]|0)-(k[a+136>>2]|0);k[e>>2]=0;while(1){a=k[(k[n>>2]|0)+(k[e>>2]<<2)>>2]|0;if((k[p>>2]|0)<(k[(k[(k[n>>2]|0)+(k[e>>2]<<2)>>2]|0)+4>>2]|0))break;k[p>>2]=(k[p>>2]|0)-(k[a+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}k[t>>2]=(k[a>>2]|0)+((k[p>>2]|0)*20|0)}if(((m[(k[v>>2]|0)+144>>1]|0)>>>2&3|0)==1?(j[(k[r>>2]|0)+8>>1]=4,p=k[p>>2]|0,z=k[r>>2]|0,k[z>>2]=p,k[z+4>>2]=((p|0)<0)<<31>>31,k[r>>2]=(k[r>>2]|0)+40,j[(k[r>>2]|0)+8>>1]=2562,z=mJ(l[k[t>>2]>>0]|0)|0,k[(k[r>>2]|0)+16>>2]=z,z=wd(k[(k[r>>2]|0)+16>>2]|0)|0,k[(k[r>>2]|0)+12>>2]=z,i[(k[r>>2]|0)+10>>0]=1,k[r>>2]=(k[r>>2]|0)+40,(i[(k[t>>2]|0)+1>>0]|0)==-18):0){k[f>>2]=(k[h>>2]|0)+1<<2;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;if((k[(k[n>>2]|0)+(k[g>>2]<<2)>>2]|0)==(k[(k[t>>2]|0)+16>>2]|0))break;k[g>>2]=(k[g>>2]|0)+1}if((k[g>>2]|0)==(k[h>>2]|0)?0==(si(k[o>>2]|0,k[f>>2]|0,(k[h>>2]|0)!=0&1)|0):0){k[n>>2]=k[(k[o>>2]|0)+16>>2];g=k[(k[t>>2]|0)+16>>2]|0;p=k[n>>2]|0;z=k[h>>2]|0;k[h>>2]=z+1;k[p+(z<<2)>>2]=g;z=(k[o>>2]|0)+8|0;j[z>>1]=m[z>>1]|16;k[(k[o>>2]|0)+12>>2]=k[h>>2]<<2}}j[(k[r>>2]|0)+8>>1]=4;p=k[(k[t>>2]|0)+4>>2]|0;z=k[r>>2]|0;k[z>>2]=p;k[z+4>>2]=((p|0)<0)<<31>>31;k[r>>2]=(k[r>>2]|0)+40;j[(k[r>>2]|0)+8>>1]=4;z=k[(k[t>>2]|0)+8>>2]|0;p=k[r>>2]|0;k[p>>2]=z;k[p+4>>2]=((z|0)<0)<<31>>31;k[r>>2]=(k[r>>2]|0)+40;j[(k[r>>2]|0)+8>>1]=4;p=k[(k[t>>2]|0)+12>>2]|0;z=k[r>>2]|0;k[z>>2]=p;k[z+4>>2]=((p|0)<0)<<31>>31;k[r>>2]=(k[r>>2]|0)+40;if(ni(k[r>>2]|0,100)|0){k[q>>2]=1;z=k[q>>2]|0;u=y;return z|0}j[(k[r>>2]|0)+8>>1]=514;a=nJ(k[t>>2]|0,k[(k[r>>2]|0)+16>>2]|0,k[(k[r>>2]|0)+24>>2]|0)|0;k[s>>2]=a;a=k[r>>2]|0;if((k[s>>2]|0)!=(k[(k[r>>2]|0)+16>>2]|0)){k[a+12>>2]=0;mi(k[r>>2]|0,k[s>>2]|0,-1,1,0)|0}else{z=wd(k[a+16>>2]|0)|0;k[(k[r>>2]|0)+12>>2]=z;i[(k[r>>2]|0)+10>>0]=1}k[r>>2]=(k[r>>2]|0)+40;do if(((m[(k[v>>2]|0)+144>>1]|0)>>>2&3|0)==1){if(!(ni(k[r>>2]|0,4)|0)){j[(k[r>>2]|0)+8>>1]=514;k[(k[r>>2]|0)+12>>2]=2;z=k[(k[r>>2]|0)+16>>2]|0;k[x>>2]=l[(k[t>>2]|0)+3>>0];pf(3,z,40683,x)|0;i[(k[r>>2]|0)+10>>0]=1;k[r>>2]=(k[r>>2]|0)+40;j[(k[r>>2]|0)+8>>1]=1;break}k[q>>2]=1;z=k[q>>2]|0;u=y;return z|0}while(0);j[(k[v>>2]|0)+140>>1]=8-(((m[(k[v>>2]|0)+144>>1]|0)>>>2&3)-1<<2);k[(k[v>>2]|0)+104>>2]=(k[(k[v>>2]|0)+92>>2]|0)+40;k[(k[v>>2]|0)+40>>2]=0;k[w>>2]=100}while(0);k[q>>2]=k[w>>2];z=k[q>>2]|0;u=y;return z|0} // EMSCRIPTEN_END_FUNCS -var Yb=[X5,X5,pS,X5,qS,X5,rS,X5,sS,X5,tS,X5,uS,X5,vS,X5,wS,X5,xS,X5,yS,X5,zS,X5,AS,X5,BS,X5,CS,X5,DS,X5,ES,X5,FS,X5,GS,X5,HS,X5,IS,X5,JS,X5,KS,X5,LS,X5,MS,X5,NS,X5,OS,X5,PS,X5,QS,X5,RS,X5,SS,X5,TS,X5,US,X5,VS,X5,WS,X5,XS,X5,YS,X5,ZS,X5,_S,X5,$S,X5,aT,X5,bT,X5,cT,X5,dT,X5,eT,X5,fT,X5,gT,X5,hT,X5,iT,X5,jT,X5,kT,X5,lT,X5,mT,X5,nT,X5,oT,X5,pT,X5,qT,X5,rT,X5,sT,X5,tT,X5,uT,X5,vT,X5,wT,X5,xT,X5,yT,X5,GN,JN,MN,ON,hl,Jk,oq,Eq,Tq,Wq,Zr,Iu,Lu,VN,$N,nO,NQ,GR,LR,zR,HR,lR,jR,$n,Wm,Zm,Xn,Vn,eo,lo,hG,iG,jG,kR,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5];var Zb=[Y5,Y5,AT,Y5,BT,Y5,CT,Y5,DT,Y5,ET,Y5,FT,Y5,GT,Y5,HT,Y5,IT,Y5,JT,Y5,KT,Y5,LT,Y5,MT,Y5,NT,Y5,OT,Y5,PT,Y5,QT,Y5,RT,Y5,ST,Y5,TT,Y5,UT,Y5,VT,Y5,WT,Y5,XT,Y5,YT,Y5,ZT,Y5,_T,Y5,$T,Y5,aU,Y5,bU,Y5,cU,Y5,dU,Y5,eU,Y5,fU,Y5,gU,Y5,hU,Y5,iU,Y5,jU,Y5,kU,Y5,lU,Y5,mU,Y5,nU,Y5,oU,Y5,pU,Y5,qU,Y5,rU,Y5,sU,Y5,tU,Y5,uU,Y5,vU,Y5,wU,Y5,xU,Y5,yU,Y5,zU,Y5,AU,Y5,BU,Y5,CU,Y5,DU,Y5,EU,Y5,FU,Y5,GU,Y5,HU,Y5,IU,Y5,JU,Y5,DR,pO,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5];var _b=[Z5,Z5,LU,Z5,MU,Z5,NU,Z5,OU,Z5,PU,Z5,QU,Z5,RU,Z5,SU,Z5,TU,Z5,UU,Z5,VU,Z5,WU,Z5,XU,Z5,YU,Z5,ZU,Z5,_U,Z5,$U,Z5,aV,Z5,bV,Z5,cV,Z5,dV,Z5,eV,Z5,fV,Z5,gV,Z5,hV,Z5,iV,Z5,jV,Z5,kV,Z5,lV,Z5,mV,Z5,nV,Z5,oV,Z5,pV,Z5,qV,Z5,rV,Z5,sV,Z5,tV,Z5,uV,Z5,vV,Z5,wV,Z5,xV,Z5,yV,Z5,zV,Z5,AV,Z5,BV,Z5,CV,Z5,DV,Z5,EV,Z5,FV,Z5,GV,Z5,HV,Z5,IV,Z5,JV,Z5,KV,Z5,LV,Z5,MV,Z5,NV,Z5,OV,Z5,PV,Z5,QV,Z5,RV,Z5,SV,Z5,TV,Z5,UV,Z5,ed,fd,hd,id,jd,kd,Hu,Pu,Qu,cv,hv,dO,sP,RP,SP,TP,VP,XP,Ud,jr,Ij,xk,_n,qA,MR,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5];var $b=[_5,_5,WV,_5,XV,_5,YV,_5,ZV,_5,_V,_5,$V,_5,aW,_5,bW,_5,cW,_5,dW,_5,eW,_5,fW,_5,gW,_5,hW,_5,iW,_5,jW,_5,kW,_5,lW,_5,mW,_5,nW,_5,oW,_5,pW,_5,qW,_5,rW,_5,sW,_5,tW,_5,uW,_5,vW,_5,wW,_5,xW,_5,yW,_5,zW,_5,AW,_5,BW,_5,CW,_5,DW,_5,EW,_5,FW,_5,GW,_5,HW,_5,IW,_5,JW,_5,KW,_5,LW,_5,MW,_5,NW,_5,OW,_5,PW,_5,QW,_5,RW,_5,SW,_5,TW,_5,UW,_5,VW,_5,WW,_5,XW,_5,YW,_5,ZW,_5,_W,_5,$W,_5,aX,_5,bX,_5,cX,_5,dX,_5,Ju,Ou,vz,Ay,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5];var ac=[$5,$5,fX,$5,gX,$5,hX,$5,iX,$5,jX,$5,kX,$5,lX,$5,mX,$5,nX,$5,oX,$5,pX,$5,qX,$5,rX,$5,sX,$5,tX,$5,uX,$5,vX,$5,wX,$5,xX,$5,yX,$5,zX,$5,AX,$5,BX,$5,CX,$5,DX,$5,EX,$5,FX,$5,GX,$5,HX,$5,IX,$5,JX,$5,KX,$5,LX,$5,MX,$5,NX,$5,OX,$5,PX,$5,QX,$5,RX,$5,SX,$5,TX,$5,UX,$5,VX,$5,WX,$5,XX,$5,YX,$5,ZX,$5,_X,$5,$X,$5,aY,$5,bY,$5,cY,$5,dY,$5,eY,$5,fY,$5,gY,$5,hY,$5,iY,$5,jY,$5,kY,$5,lY,$5,mY,$5,nY,$5,oY,$5,Zk,_k,Bk,sq,Iq,Lq,_q,$Q,EL,FL,GL,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5];var bc=[a6,a6,qY,a6,rY,a6,sY,a6,tY,a6,uY,a6,vY,a6,wY,a6,xY,a6,yY,a6,zY,a6,AY,a6,BY,a6,CY,a6,DY,a6,EY,a6,FY,a6,GY,a6,HY,a6,IY,a6,JY,a6,KY,a6,LY,a6,MY,a6,NY,a6,OY,a6,PY,a6,QY,a6,RY,a6,SY,a6,TY,a6,UY,a6,VY,a6,WY,a6,XY,a6,YY,a6,ZY,a6,_Y,a6,$Y,a6,aZ,a6,bZ,a6,cZ,a6,dZ,a6,eZ,a6,fZ,a6,gZ,a6,hZ,a6,iZ,a6,jZ,a6,kZ,a6,lZ,a6,mZ,a6,nZ,a6,oZ,a6,pZ,a6,qZ,a6,rZ,a6,sZ,a6,tZ,a6,uZ,a6,vZ,a6,wZ,a6,xZ,a6,yZ,a6,zZ,a6,al,bl,dl,fl,gl,kl,ll,ml,nl,Dk,Fk,Hk,Ik,pq,rq,Fq,Hq,Nq,Pq,Rq,Sq,Xq,Zq,Wr,Gu,Ku,bv,ev,fv,gv,SN,aO,bO,yR,KR,IR,GO,RO,iR,je,kg,nr,wq,xq,Bq,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6];var cc=[b6,b6,BZ,b6,CZ,b6,DZ,b6,EZ,b6,FZ,b6,GZ,b6,HZ,b6,IZ,b6,JZ,b6,KZ,b6,LZ,b6,MZ,b6,NZ,b6,OZ,b6,PZ,b6,QZ,b6,RZ,b6,SZ,b6,TZ,b6,UZ,b6,VZ,b6,WZ,b6,XZ,b6,YZ,b6,ZZ,b6,_Z,b6,$Z,b6,a_,b6,b_,b6,c_,b6,d_,b6,e_,b6,f_,b6,g_,b6,h_,b6,i_,b6,j_,b6,k_,b6,l_,b6,m_,b6,n_,b6,o_,b6,p_,b6,q_,b6,r_,b6,s_,b6,t_,b6,u_,b6,v_,b6,w_,b6,x_,b6,y_,b6,z_,b6,A_,b6,B_,b6,C_,b6,D_,b6,E_,b6,F_,b6,G_,b6,H_,b6,I_,b6,J_,b6,K_,b6,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Wc,Xc,Yc,Zc,_c,$c,ad,bd,cd,dd,gd,Bm,Cm,Dm,Em,Mu,pA,lA,kA,UB,bC,mP,nP,oP,pP,qP,rP,tP,uP,vP,wP,xP,yP,zP,AP,BP,CP,DP,EP,FP,GP,HP,IP,JP,KP,LP,MP,NP,OP,PP,QP,UP,WP,RC,$P,aQ,bQ,cQ,dQ,eQ,fQ,gQ,xQ,yQ,zQ,vi,iq,hu,ju,ku,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6];var dc=[c6,c6,M_,c6,N_,c6,O_,c6,P_,c6,Q_,c6,R_,c6,S_,c6,T_,c6,U_,c6,V_,c6,W_,c6,X_,c6,Y_,c6,Z_,c6,__,c6,$_,c6,a$,c6,b$,c6,c$,c6,d$,c6,e$,c6,f$,c6,g$,c6,h$,c6,i$,c6,j$,c6,k$,c6,l$,c6,m$,c6,n$,c6,o$,c6,p$,c6,q$,c6,r$,c6,s$,c6,t$,c6,u$,c6,v$,c6,w$,c6,x$,c6,y$,c6,z$,c6,A$,c6,B$,c6,C$,c6,D$,c6,E$,c6,F$,c6,G$,c6,H$,c6,I$,c6,J$,c6,K$,c6,L$,c6,M$,c6,N$,c6,O$,c6,P$,c6,Q$,c6,R$,c6,S$,c6,T$,c6,U$,c6,V$,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6];var ec=[d6,d6,X$,d6,Y$,d6,Z$,d6,_$,d6,$$,d6,a0,d6,b0,d6,c0,d6,d0,d6,e0,d6,f0,d6,g0,d6,h0,d6,i0,d6,j0,d6,k0,d6,l0,d6,m0,d6,n0,d6,o0,d6,p0,d6,q0,d6,r0,d6,s0,d6,t0,d6,u0,d6,v0,d6,w0,d6,x0,d6,y0,d6,z0,d6,A0,d6,B0,d6,C0,d6,D0,d6,E0,d6,F0,d6,G0,d6,H0,d6,I0,d6,J0,d6,K0,d6,L0,d6,M0,d6,N0,d6,O0,d6,P0,d6,Q0,d6,R0,d6,S0,d6,T0,d6,U0,d6,V0,d6,W0,d6,X0,d6,Y0,d6,Z0,d6,_0,d6,$0,d6,a1,d6,b1,d6,c1,d6,d1,d6,e1,d6,HN,IN,jl,qq,Gq,Yq,cO,gO,_h,wi,Lj,Rj,Uk,Vk,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6];var fc=[e6,e6,g1,e6,h1,e6,i1,e6,j1,e6,k1,e6,l1,e6,m1,e6,n1,e6,o1,e6,p1,e6,q1,e6,r1,e6,s1,e6,t1,e6,u1,e6,v1,e6,w1,e6,x1,e6,y1,e6,z1,e6,A1,e6,B1,e6,C1,e6,D1,e6,E1,e6,F1,e6,G1,e6,H1,e6,I1,e6,J1,e6,K1,e6,L1,e6,M1,e6,N1,e6,O1,e6,P1,e6,Q1,e6,R1,e6,S1,e6,T1,e6,U1,e6,V1,e6,W1,e6,X1,e6,Y1,e6,Z1,e6,_1,e6,$1,e6,a2,e6,b2,e6,c2,e6,d2,e6,e2,e6,f2,e6,g2,e6,h2,e6,i2,e6,j2,e6,k2,e6,l2,e6,m2,e6,n2,e6,o2,e6,p2,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6];var gc=[f6,f6,r2,f6,s2,f6,t2,f6,u2,f6,v2,f6,w2,f6,x2,f6,y2,f6,z2,f6,A2,f6,B2,f6,C2,f6,D2,f6,E2,f6,F2,f6,G2,f6,H2,f6,I2,f6,J2,f6,K2,f6,L2,f6,M2,f6,N2,f6,O2,f6,P2,f6,Q2,f6,R2,f6,S2,f6,T2,f6,U2,f6,V2,f6,W2,f6,X2,f6,Y2,f6,Z2,f6,_2,f6,$2,f6,a3,f6,b3,f6,c3,f6,d3,f6,e3,f6,f3,f6,g3,f6,h3,f6,i3,f6,j3,f6,k3,f6,l3,f6,m3,f6,n3,f6,o3,f6,p3,f6,q3,f6,r3,f6,s3,f6,t3,f6,u3,f6,v3,f6,w3,f6,x3,f6,y3,f6,z3,f6,A3,f6,KN,LN,NN,PN,QN,$k,cl,il,pl,ql,rl,sl,Ck,Ek,Kk,Mq,Oq,Uq,_r,$r,dv,bP,FO,RN,WN,XN,YN,ZN,_N,eO,xR,CR,fR,cR,BR,bR,oO,eR,aR,dR,HO,IO,JO,SO,TO,UO,ud,vd,si,jg,Wk,Xk,Yl,Zl,am,Am,Et,Is,gu,iu,By,tz,uz,Iy,Jy,gz,nz,IB,JB,VE,GG,LF,MF,rH,sH,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6];var hc=[g6,g6,C3,g6,D3,g6,E3,g6,F3,g6,G3,g6,H3,g6,I3,g6,J3,g6,K3,g6,L3,g6,M3,g6,N3,g6,O3,g6,P3,g6,Q3,g6,R3,g6,S3,g6,T3,g6,U3,g6,V3,g6,W3,g6,X3,g6,Y3,g6,Z3,g6,_3,g6,$3,g6,a4,g6,b4,g6,c4,g6,d4,g6,e4,g6,f4,g6,g4,g6,h4,g6,i4,g6,j4,g6,k4,g6,l4,g6,m4,g6,n4,g6,o4,g6,p4,g6,q4,g6,r4,g6,s4,g6,t4,g6,u4,g6,v4,g6,w4,g6,x4,g6,y4,g6,z4,g6,A4,g6,B4,g6,C4,g6,D4,g6,E4,g6,F4,g6,G4,g6,H4,g6,I4,g6,J4,g6,K4,g6,L4,g6,FN,el,ol,Gk,Qq,Xr,Yr,TN,UN,fO,VO,ik,jk,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6];var ic=[h6,h6,N4,h6,O4,h6,P4,h6,Q4,h6,R4,h6,S4,h6,T4,h6,U4,h6,V4,h6,W4,h6,X4,h6,Y4,h6,Z4,h6,_4,h6,$4,h6,a5,h6,b5,h6,c5,h6,d5,h6,e5,h6,f5,h6,g5,h6,h5,h6,i5,h6,j5,h6,k5,h6,l5,h6,m5,h6,n5,h6,o5,h6,p5,h6,q5,h6,r5,h6,s5,h6,t5,h6,u5,h6,v5,h6,w5,h6,x5,h6,y5,h6,z5,h6,A5,h6,B5,h6,C5,h6,D5,h6,E5,h6,F5,h6,G5,h6,H5,h6,I5,h6,J5,h6,K5,h6,L5,h6,M5,h6,N5,h6,O5,h6,P5,h6,Q5,h6,R5,h6,S5,h6,T5,h6,U5,h6,V5,h6,W5,h6,Nu,Fd,Hd,sB,tB,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6];return{_sqlite3_value_blob:ie,_sqlite3_column_name:Re,_sqlite3_reset:ge,_sqlite3_column_type:Qe,_sqlite3_exec:kf,_sqlite3_result_null:ve,_sqlite3_step:De,_bitshift64Lshr:aS,_sqlite3_prepare_v2:lf,_sqlite3_close_v2:Df,_sqlite3_open:Pf,_bitshift64Shl:eS,_sqlite3_result_text:we,_fflush:mR,_sqlite3_column_bytes:Ke,_sqlite3_bind_int:Ue,_sqlite3_bind_blob:Se,_memset:dS,_sqlite3_value_double:le,_memcpy:bS,_sqlite3_result_double:re,_sqlite3_value_text:je,_sqlite3_changes:Af,_sqlite3_column_blob:Je,_sqlite3_bind_parameter_index:$e,_sqlite3_value_type:oe,_i64Subtract:_R,_sqlite3_column_text:Oe,_i64Add:$R,_sqlite3_value_bytes:ke,_sqlite3_finalize:fe,_sqlite3_column_double:Le,_sqlite3_create_function_v2:Hf,_sqlite3_free:Ud,_sqlite3_value_int:me,_sqlite3_data_count:Ie,_sqlite3_bind_text:Xe,_sqlite3_bind_double:Te,___errno_location:LQ,_RegisterExtensionFunctions:sc,_free:UR,_memmove:cS,_sqlite3_errmsg:mf,_sqlite3_clear_bindings:he,_malloc:TR,runPostSets:ZR,_emscripten_replace_memory:Xb,stackAlloc:jc,stackSave:kc,stackRestore:lc,establishStackSpace:mc,setThrew:nc,setTempRet0:qc,getTempRet0:rc,dynCall_iiii:oS,dynCall_i:zT,dynCall_vi:KU,dynCall_vii:VV,dynCall_iiiiiii:eX,dynCall_ii:pY,dynCall_viii:AZ,dynCall_v:L_,dynCall_iiiii:W$,dynCall_viiiiii:f1,dynCall_iii:q2,dynCall_iiiiii:B3,dynCall_viiii:M4}}) +var Lb=[uha,uha,D0,uha,E0,uha,F0,uha,G0,uha,H0,uha,I0,uha,J0,uha,K0,uha,L0,uha,M0,uha,N0,uha,O0,uha,P0,uha,Q0,uha,R0,uha,S0,uha,T0,uha,U0,uha,V0,uha,W0,uha,X0,uha,Y0,uha,Z0,uha,_0,uha,$0,uha,a1,uha,b1,uha,c1,uha,d1,uha,e1,uha,f1,uha,g1,uha,h1,uha,i1,uha,j1,uha,k1,uha,l1,uha,m1,uha,n1,uha,o1,uha,p1,uha,q1,uha,r1,uha,s1,uha,t1,uha,u1,uha,v1,uha,w1,uha,x1,uha,y1,uha,z1,uha,A1,uha,B1,uha,C1,uha,D1,uha,E1,uha,F1,uha,G1,uha,H1,uha,I1,uha,J1,uha,K1,uha,L1,uha,M1,uha,Ee,He,Ke,Me,Te,Ze,mf,e$,C$,B$,V$,N$,Jg,Mg,Tm,kL,MK,pQ,FQ,UQ,XQ,_W,DR,mY,uY,wY,G_,A_,lE,mE,nE,bO,ZM,aN,ZN,XN,fO,mO,PU,z_,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha];var Mb=[vha,vha,O1,vha,P1,vha,Q1,vha,R1,vha,S1,vha,T1,vha,U1,vha,V1,vha,W1,vha,X1,vha,Y1,vha,Z1,vha,_1,vha,$1,vha,a2,vha,b2,vha,c2,vha,d2,vha,e2,vha,f2,vha,g2,vha,h2,vha,i2,vha,j2,vha,k2,vha,l2,vha,m2,vha,n2,vha,o2,vha,p2,vha,q2,vha,r2,vha,s2,vha,t2,vha,u2,vha,v2,vha,w2,vha,x2,vha,y2,vha,z2,vha,A2,vha,B2,vha,C2,vha,D2,vha,E2,vha,F2,vha,G2,vha,H2,vha,I2,vha,J2,vha,K2,vha,L2,vha,M2,vha,N2,vha,O2,vha,P2,vha,Q2,vha,R2,vha,S2,vha,T2,vha,U2,vha,V2,vha,W2,vha,X2,vha,LU,MU,NU,TS,VS,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha];var Nb=[wha,wha,Z2,wha,_2,wha,$2,wha,a3,wha,b3,wha,c3,wha,d3,wha,e3,wha,f3,wha,g3,wha,h3,wha,i3,wha,j3,wha,k3,wha,l3,wha,m3,wha,n3,wha,o3,wha,p3,wha,q3,wha,r3,wha,s3,wha,t3,wha,u3,wha,v3,wha,w3,wha,x3,wha,y3,wha,z3,wha,A3,wha,B3,wha,C3,wha,D3,wha,E3,wha,F3,wha,G3,wha,H3,wha,I3,wha,J3,wha,K3,wha,L3,wha,M3,wha,N3,wha,O3,wha,P3,wha,Q3,wha,R3,wha,S3,wha,T3,wha,U3,wha,V3,wha,W3,wha,X3,wha,Y3,wha,Z3,wha,_3,wha,$3,wha,a4,wha,b4,wha,c4,wha,d4,wha,e4,wha,f4,wha,g4,wha,U$,of,jk,kk,qk,rk,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha];var Ob=[xha,xha,i4,xha,j4,xha,k4,xha,l4,xha,m4,xha,n4,xha,o4,xha,p4,xha,q4,xha,r4,xha,s4,xha,t4,xha,u4,xha,v4,xha,w4,xha,x4,xha,y4,xha,z4,xha,A4,xha,B4,xha,C4,xha,D4,xha,E4,xha,F4,xha,G4,xha,H4,xha,I4,xha,J4,xha,K4,xha,L4,xha,M4,xha,N4,xha,O4,xha,P4,xha,Q4,xha,R4,xha,S4,xha,T4,xha,U4,xha,V4,xha,W4,xha,X4,xha,Y4,xha,Z4,xha,_4,xha,$4,xha,a5,xha,b5,xha,c5,xha,d5,xha,e5,xha,f5,xha,g5,xha,h5,xha,i5,xha,j5,xha,k5,xha,l5,xha,m5,xha,n5,xha,o5,xha,p5,xha,q5,xha,r5,xha,Sc,Tc,Vc,Wc,Xc,Yc,bf,Ig,Qg,Rg,Bg,Gg,sh,Rh,Sh,Th,Vh,Xh,mk,nk,pk,tk,uk,wk,fU,iU,lU,ie,Yl,Gy,Xq,AK,aO,lR,pV,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha];var Pb=[yha,yha,t5,yha,u5,yha,v5,yha,w5,yha,x5,yha,y5,yha,z5,yha,A5,yha,B5,yha,C5,yha,D5,yha,E5,yha,F5,yha,G5,yha,H5,yha,I5,yha,J5,yha,K5,yha,L5,yha,M5,yha,N5,yha,O5,yha,P5,yha,Q5,yha,R5,yha,S5,yha,T5,yha,U5,yha,V5,yha,W5,yha,X5,yha,Y5,yha,Z5,yha,_5,yha,$5,yha,a6,yha,b6,yha,c6,yha,d6,yha,e6,yha,f6,yha,g6,yha,h6,yha,i6,yha,j6,yha,k6,yha,l6,yha,m6,yha,n6,yha,o6,yha,p6,yha,q6,yha,r6,yha,s6,yha,t6,yha,u6,yha,v6,yha,w6,yha,x6,yha,y6,yha,z6,yha,A6,yha,B6,yha,C6,yha,Kg,Pg,Lx,Ow,BS,CS,DS,ES,FS,GS,lT,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha,yha];var Qb=[zha,zha,E6,zha,F6,zha,G6,zha,H6,zha,I6,zha,J6,zha,K6,zha,L6,zha,M6,zha,N6,zha,O6,zha,P6,zha,Q6,zha,R6,zha,S6,zha,T6,zha,U6,zha,V6,zha,W6,zha,X6,zha,Y6,zha,Z6,zha,_6,zha,$6,zha,a7,zha,b7,zha,c7,zha,d7,zha,e7,zha,f7,zha,g7,zha,h7,zha,i7,zha,j7,zha,k7,zha,l7,zha,m7,zha,n7,zha,o7,zha,p7,zha,q7,zha,r7,zha,s7,zha,t7,zha,u7,zha,v7,zha,w7,zha,x7,zha,y7,zha,z7,zha,A7,zha,B7,zha,C7,zha,D7,zha,E7,zha,F7,zha,G7,zha,H7,zha,I7,zha,J7,zha,K7,zha,L7,zha,M7,zha,N7,zha,O$,aL,bL,EK,tQ,JQ,MQ,$Q,QW,RW,tR,uR,gU,jU,mU,aI,bI,cI,nU,UU,RU,NV,WY,LY,tZ,NZ,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha,zha];var Rb=[Aha,Aha,P7,Aha,Q7,Aha,R7,Aha,S7,Aha,T7,Aha,U7,Aha,V7,Aha,W7,Aha,X7,Aha,Y7,Aha,Z7,Aha,_7,Aha,$7,Aha,a8,Aha,b8,Aha,c8,Aha,d8,Aha,e8,Aha,f8,Aha,g8,Aha,h8,Aha,i8,Aha,j8,Aha,k8,Aha,l8,Aha,m8,Aha,n8,Aha,o8,Aha,p8,Aha,q8,Aha,r8,Aha,s8,Aha,t8,Aha,u8,Aha,v8,Aha,w8,Aha,x8,Aha,y8,Aha,z8,Aha,A8,Aha,B8,Aha,C8,Aha,D8,Aha,E8,Aha,F8,Aha,G8,Aha,H8,Aha,I8,Aha,J8,Aha,K8,Aha,L8,Aha,M8,Aha,N8,Aha,O8,Aha,P8,Aha,Q8,Aha,R8,Aha,S8,Aha,T8,Aha,U8,Aha,V8,Aha,W8,Aha,X8,Aha,Y8,Aha,Qe,_e,$e,c$,P$,Y$,Pf,$f,Hg,Lg,Ag,Dg,Eg,Fg,lk,ok,sk,vk,Qm,dL,eL,gL,iL,jL,nL,oL,pL,qL,GK,IK,KK,LK,qQ,sQ,GQ,IQ,OQ,QQ,SQ,TQ,YQ,_Q,TW,UW,WW,YW,ZW,bX,cX,dX,eX,wR,xR,zR,BR,CR,jY,kY,oY,sY,y_,Ud,am,$h,QH,nI,wI,xQ,yQ,CQ,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha,Aha];var Sb=[Bha,Bha,_8,Bha,$8,Bha,a9,Bha,b9,Bha,c9,Bha,d9,Bha,e9,Bha,f9,Bha,g9,Bha,h9,Bha,i9,Bha,j9,Bha,k9,Bha,l9,Bha,m9,Bha,n9,Bha,o9,Bha,p9,Bha,q9,Bha,r9,Bha,s9,Bha,t9,Bha,u9,Bha,v9,Bha,w9,Bha,x9,Bha,y9,Bha,z9,Bha,A9,Bha,B9,Bha,C9,Bha,D9,Bha,E9,Bha,F9,Bha,G9,Bha,H9,Bha,I9,Bha,J9,Bha,K9,Bha,L9,Bha,M9,Bha,N9,Bha,O9,Bha,P9,Bha,Q9,Bha,R9,Bha,S9,Bha,T9,Bha,U9,Bha,V9,Bha,W9,Bha,X9,Bha,Y9,Bha,Z9,Bha,_9,Bha,$9,Bha,aaa,Bha,baa,Bha,caa,Bha,daa,Bha,eaa,Bha,faa,Bha,gaa,Bha,haa,Bha,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Uc,Ng,mh,nh,oh,ph,qh,rh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Uh,Wh,Yh,Bj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,_j,$j,ak,Fy,By,Ay,_z,$z,EM,FM,GM,HM,XU,YU,ZU,_U,BY,Gp,Dp,Fp,iK,jQ,rR,sR,GW,HW,SS,US,bT,cT,dT,hY,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha];var Tb=[Cha,Cha,jaa,Cha,kaa,Cha,laa,Cha,maa,Cha,naa,Cha,oaa,Cha,paa,Cha,qaa,Cha,raa,Cha,saa,Cha,taa,Cha,uaa,Cha,vaa,Cha,waa,Cha,xaa,Cha,yaa,Cha,zaa,Cha,Aaa,Cha,Baa,Cha,Caa,Cha,Daa,Cha,Eaa,Cha,Faa,Cha,Gaa,Cha,Haa,Cha,Iaa,Cha,Jaa,Cha,Kaa,Cha,Laa,Cha,Maa,Cha,Naa,Cha,Oaa,Cha,Paa,Cha,Qaa,Cha,Raa,Cha,Saa,Cha,Taa,Cha,Uaa,Cha,Vaa,Cha,Waa,Cha,Xaa,Cha,Yaa,Cha,Zaa,Cha,_aa,Cha,$aa,Cha,aba,Cha,bba,Cha,cba,Cha,dba,Cha,eba,Cha,fba,Cha,gba,Cha,hba,Cha,iba,Cha,jba,Cha,kba,Cha,lba,Cha,mba,Cha,nba,Cha,oba,Cha,pba,Cha,qba,Cha,rba,Cha,sba,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha,Cha];var Ub=[Dha,Dha,uba,Dha,vba,Dha,wba,Dha,xba,Dha,yba,Dha,zba,Dha,Aba,Dha,Bba,Dha,Cba,Dha,Dba,Dha,Eba,Dha,Fba,Dha,Gba,Dha,Hba,Dha,Iba,Dha,Jba,Dha,Kba,Dha,Lba,Dha,Mba,Dha,Nba,Dha,Oba,Dha,Pba,Dha,Qba,Dha,Rba,Dha,Sba,Dha,Tba,Dha,Uba,Dha,Vba,Dha,Wba,Dha,Xba,Dha,Yba,Dha,Zba,Dha,_ba,Dha,$ba,Dha,aca,Dha,bca,Dha,cca,Dha,dca,Dha,eca,Dha,fca,Dha,gca,Dha,hca,Dha,ica,Dha,jca,Dha,kca,Dha,lca,Dha,mca,Dha,nca,Dha,oca,Dha,pca,Dha,qca,Dha,rca,Dha,sca,Dha,tca,Dha,uca,Dha,vca,Dha,wca,Dha,xca,Dha,yca,Dha,zca,Dha,Aca,Dha,Bca,Dha,Cca,Dha,Dca,Dha,Fe,Ge,af,ef,mL,rQ,HQ,ZQ,aX,eU,hU,kU,tY,vY,AY,SA,xv,Cv,yG,QJ,XK,YK,kR,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha,Dha];var Vb=[Eha,Eha,Fca,Eha,Gca,Eha,Hca,Eha,Ica,Eha,Jca,Eha,Kca,Eha,Lca,Eha,Mca,Eha,Nca,Eha,Oca,Eha,Pca,Eha,Qca,Eha,Rca,Eha,Sca,Eha,Tca,Eha,Uca,Eha,Vca,Eha,Wca,Eha,Xca,Eha,Yca,Eha,Zca,Eha,_ca,Eha,$ca,Eha,ada,Eha,bda,Eha,cda,Eha,dda,Eha,eda,Eha,fda,Eha,gda,Eha,hda,Eha,ida,Eha,jda,Eha,kda,Eha,lda,Eha,mda,Eha,nda,Eha,oda,Eha,pda,Eha,qda,Eha,rda,Eha,sda,Eha,tda,Eha,uda,Eha,vda,Eha,wda,Eha,xda,Eha,yda,Eha,zda,Eha,Ada,Eha,Bda,Eha,Cda,Eha,Dda,Eha,Eda,Eha,Fda,Eha,Gda,Eha,Hda,Eha,Ida,Eha,Jda,Eha,Kda,Eha,Lda,Eha,Mda,Eha,Nda,Eha,Oda,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha,Eha];var Wb=[Fha,Fha,Qda,Fha,Rda,Fha,Sda,Fha,Tda,Fha,Uda,Fha,Vda,Fha,Wda,Fha,Xda,Fha,Yda,Fha,Zda,Fha,_da,Fha,$da,Fha,aea,Fha,bea,Fha,cea,Fha,dea,Fha,eea,Fha,fea,Fha,gea,Fha,hea,Fha,iea,Fha,jea,Fha,kea,Fha,lea,Fha,mea,Fha,nea,Fha,oea,Fha,pea,Fha,qea,Fha,rea,Fha,sea,Fha,tea,Fha,uea,Fha,vea,Fha,wea,Fha,xea,Fha,yea,Fha,zea,Fha,Aea,Fha,Bea,Fha,Cea,Fha,Dea,Fha,Eea,Fha,Fea,Fha,Gea,Fha,Hea,Fha,Iea,Fha,Jea,Fha,Kea,Fha,Lea,Fha,Mea,Fha,Nea,Fha,Oea,Fha,Pea,Fha,Qea,Fha,Rea,Fha,Sea,Fha,Tea,Fha,Uea,Fha,Vea,Fha,Wea,Fha,Xea,Fha,Yea,Fha,Zea,Fha,Ie,Je,Le,Ne,Oe,tg,Of,Pe,Ue,Ve,We,Xe,Ye,cf,M$,E$,D$,d$,X$,S$,nf,T$,r$,L$,Qf,Rf,Sf,ag,bg,cg,Cg,Um,Vm,cL,fL,lL,sL,tL,uL,vL,FK,HK,NK,NQ,PQ,VQ,SW,VW,$W,gX,hX,iX,jX,vR,yR,ER,lY,pY,qY,xY,gd,hd,gp,vo,Cp,Ep,Pd,Pw,Jx,Kx,Ww,Xw,ux,Cx,Nz,Oz,WA,hD,zE,ZD,_D,kF,lF,ZK,_K,$L,aM,dM,DM,lV,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha,Fha];var Xb=[Gha,Gha,$ea,Gha,afa,Gha,bfa,Gha,cfa,Gha,dfa,Gha,efa,Gha,ffa,Gha,gfa,Gha,hfa,Gha,ifa,Gha,jfa,Gha,kfa,Gha,lfa,Gha,mfa,Gha,nfa,Gha,ofa,Gha,pfa,Gha,qfa,Gha,rfa,Gha,sfa,Gha,tfa,Gha,ufa,Gha,vfa,Gha,wfa,Gha,xfa,Gha,yfa,Gha,zfa,Gha,Afa,Gha,Bfa,Gha,Cfa,Gha,Dfa,Gha,Efa,Gha,Ffa,Gha,Gfa,Gha,Hfa,Gha,Ifa,Gha,Jfa,Gha,Kfa,Gha,Lfa,Gha,Mfa,Gha,Nfa,Gha,Ofa,Gha,Pfa,Gha,Qfa,Gha,Rfa,Gha,Sfa,Gha,Tfa,Gha,Ufa,Gha,Vfa,Gha,Wfa,Gha,Xfa,Gha,Yfa,Gha,Zfa,Gha,_fa,Gha,$fa,Gha,aga,Gha,bga,Gha,cga,Gha,dga,Gha,ega,Gha,fga,Gha,gga,Gha,hga,Gha,iga,Gha,De,Re,Se,df,dg,Rm,Sm,hL,rL,JK,RQ,XW,fX,AR,nY,rY,yY,mK,oK,iR,jR,SV,TV,UV,VV,WV,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha,Gha];var Yb=[Hha,Hha,kga,Hha,lga,Hha,mga,Hha,nga,Hha,oga,Hha,pga,Hha,qga,Hha,rga,Hha,sga,Hha,tga,Hha,uga,Hha,vga,Hha,wga,Hha,xga,Hha,yga,Hha,zga,Hha,Aga,Hha,Bga,Hha,Cga,Hha,Dga,Hha,Ega,Hha,Fga,Hha,Gga,Hha,Hga,Hha,Iga,Hha,Jga,Hha,Kga,Hha,Lga,Hha,Mga,Hha,Nga,Hha,Oga,Hha,Pga,Hha,Qga,Hha,Rga,Hha,Sga,Hha,Tga,Hha,Uga,Hha,Vga,Hha,Wga,Hha,Xga,Hha,Yga,Hha,Zga,Hha,_ga,Hha,$ga,Hha,aha,Hha,bha,Hha,cha,Hha,dha,Hha,eha,Hha,fha,Hha,gha,Hha,hha,Hha,iha,Hha,jha,Hha,kha,Hha,lha,Hha,mha,Hha,nha,Hha,oha,Hha,pha,Hha,qha,Hha,rha,Hha,sha,Hha,tha,Hha,Og,zY,rd,td,xz,yz,JS,MS,NS,OX,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha,Hha];return{___uremdi3:v0,_sqlite3_value_blob:$i,_sqlite3_column_name:Lv,_sqlite3_reset:Is,_sqlite3_column_type:Nv,_sqlite3_exec:Av,_sqlite3_result_null:xj,___udivdi3:z0,_sqlite3_step:Ls,_bitshift64Lshr:p0,_sqlite3_prepare_v2:Jv,_sqlite3_close_v2:eK,_sqlite3_open:kK,_bitshift64Shl:t0,_sqlite3_result_text:Hi,_fflush:J$,_sqlite3_errmsg:Ov,_sqlite3_column_bytes:qJ,_sqlite3_bind_int:zJ,_sqlite3_bind_blob:vJ,_memset:w0,_sbrk:s0,_sqlite3_value_double:Ri,_memcpy:r0,_sqlite3_result_double:Mi,_sqlite3_value_text:$h,___muldi3:B0,_sqlite3_changes:lj,_sqlite3_column_blob:pJ,_sqlite3_bind_parameter_index:GJ,___divdi3:x0,_sqlite3_value_type:Ki,_pthread_mutex_trylock:n0,_i64Subtract:h0,_sqlite3_column_text:Mv,___udivmoddi4:l0,_llvm_cttz_i32:k0,_i64Add:i0,_sqlite3_value_bytes:ai,_pthread_mutex_unlock:q0,_sqlite3_finalize:Pr,_sqlite3_column_double:rJ,_sqlite3_create_function_v2:gK,_sqlite3_free:ie,_sqlite3_value_int:_i,_sqlite3_data_count:oJ,_sqlite3_bind_text:CJ,_sqlite3_bind_double:yJ,___errno_location:C_,___muldsi3:A0,_RegisterExtensionFunctions:ec,_free:$$,_memmove:u0,_emscripten_get_global_libc:x_,_sqlite3_clear_bindings:Ks,_malloc:_$,_bitshift64Ashr:o0,_pthread_mutex_lock:j0,_memalign:e0,___remdi3:m0,_llvm_bswap_i32:y0,runPostSets:g0,_emscripten_replace_memory:Kb,stackAlloc:Zb,stackSave:_b,stackRestore:$b,establishStackSpace:ac,setTempRet0:cc,getTempRet0:dc,setThrew:bc,stackAlloc:Zb,stackSave:_b,stackRestore:$b,establishStackSpace:ac,setThrew:bc,setTempRet0:cc,getTempRet0:dc,dynCall_iiii:C0,dynCall_viiiii:N1,dynCall_i:Y2,dynCall_vi:h4,dynCall_vii:s5,dynCall_iiiiiii:D6,dynCall_ii:O7,dynCall_viii:Z8,dynCall_v:iaa,dynCall_iiiii:tba,dynCall_viiiiii:Eca,dynCall_iii:Pda,dynCall_iiiiii:_ea,dynCall_viiii:jga}}) // EMSCRIPTEN_END_ASM -(f.mb,f.nb,buffer);f._sqlite3_value_blob=X._sqlite3_value_blob;f._sqlite3_column_name=X._sqlite3_column_name;f._sqlite3_reset=X._sqlite3_reset;f._sqlite3_column_type=X._sqlite3_column_type;f._sqlite3_exec=X._sqlite3_exec;f._sqlite3_result_null=X._sqlite3_result_null;f._sqlite3_step=X._sqlite3_step;var Xc=f._bitshift64Lshr=X._bitshift64Lshr;f._sqlite3_prepare_v2=X._sqlite3_prepare_v2;f._sqlite3_close_v2=X._sqlite3_close_v2;f._sqlite3_open=X._sqlite3_open; -var fd=f._bitshift64Shl=X._bitshift64Shl;f._sqlite3_result_text=X._sqlite3_result_text;f._fflush=X._fflush;f._sqlite3_column_bytes=X._sqlite3_column_bytes;f._sqlite3_bind_int=X._sqlite3_bind_int;f._sqlite3_bind_blob=X._sqlite3_bind_blob;var ed=f._memset=X._memset;f._sqlite3_value_double=X._sqlite3_value_double;var bd=f._memcpy=X._memcpy;f._sqlite3_result_double=X._sqlite3_result_double;f._sqlite3_value_text=X._sqlite3_value_text;f._sqlite3_changes=X._sqlite3_changes;f._sqlite3_column_blob=X._sqlite3_column_blob; -f._sqlite3_bind_parameter_index=X._sqlite3_bind_parameter_index;f._sqlite3_value_type=X._sqlite3_value_type;var Db=f._i64Subtract=X._i64Subtract;f._sqlite3_column_text=X._sqlite3_column_text;var Eb=f._i64Add=X._i64Add;f._sqlite3_value_bytes=X._sqlite3_value_bytes;f._sqlite3_finalize=X._sqlite3_finalize;f._sqlite3_column_double=X._sqlite3_column_double;f._sqlite3_create_function_v2=X._sqlite3_create_function_v2;f._sqlite3_free=X._sqlite3_free;f._sqlite3_value_int=X._sqlite3_value_int; -f._sqlite3_data_count=X._sqlite3_data_count;f._sqlite3_bind_text=X._sqlite3_bind_text;f._sqlite3_bind_double=X._sqlite3_bind_double;f.___errno_location=X.___errno_location;f._RegisterExtensionFunctions=X._RegisterExtensionFunctions;var Ra=f._free=X._free;f.runPostSets=X.runPostSets;var cd=f._memmove=X._memmove;f._sqlite3_errmsg=X._sqlite3_errmsg;f._sqlite3_clear_bindings=X._sqlite3_clear_bindings;var Ia=f._malloc=X._malloc,ab=f._emscripten_replace_memory=X._emscripten_replace_memory; -f.dynCall_iiii=X.dynCall_iiii;f.dynCall_i=X.dynCall_i;f.dynCall_vi=X.dynCall_vi;f.dynCall_vii=X.dynCall_vii;f.dynCall_iiiiiii=X.dynCall_iiiiiii;f.dynCall_ii=X.dynCall_ii;f.dynCall_viii=X.dynCall_viii;f.dynCall_v=X.dynCall_v;f.dynCall_iiiii=X.dynCall_iiiii;f.dynCall_viiiiii=X.dynCall_viiiiii;f.dynCall_iii=X.dynCall_iii;f.dynCall_iiiiii=X.dynCall_iiiiii;f.dynCall_viiii=X.dynCall_viiii;l.R=X.stackAlloc;l.qa=X.stackSave;l.ga=X.stackRestore;l.we=X.establishStackSpace;l.Qb=X.setTempRet0;l.Ab=X.getTempRet0; -function la(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}la.prototype=Error();la.prototype.constructor=la;var Zd=null,zb=function $d(){f.calledRun||ae();f.calledRun||(zb=$d)}; -f.callMain=f.te=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}assert(0==xb,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(0==fb.length,"cannot call main when preRun functions remain to be called");a=a||[];La||(La=!0,eb(gb));var c=a.length+1,d=[z(D(f.thisProgram),"i8",0)];b();for(var e=0;eg;a=0<=g?++c:--c)e[a]=w[d+a];return e};a.prototype.get=function(a){var c,d,e;null!=a&&this.bind(a)&&this.step();e=[];a=c=0;for(d=xe(this.u);0<=d?cd;a=0<=d?++c:--c)switch(ve(this.u,a)){case Y.gb:case Y.FLOAT:e.push(this.yb(a));break;case Y.ib:e.push(this.zb(a));break;case Y.cb:e.push(this.getBlob(a));break;default:e.push(null)}return e};a.prototype.getColumnNames= -function(){var a,c,d,e;e=[];a=c=0;for(d=xe(this.u);0<=d?cd;a=0<=d?++c:--c)e.push(te(this.u,a));return e};a.prototype.getAsObject=function(a){var c,d,e,g,h,m;m=this.get(a);g=this.getColumnNames();h={};a=c=0;for(d=g.length;c>>0);null!=a&&Kc("/",this.filename,a,!0,!0);this.handleError(Be(this.filename,Z));this.db=Ha(Z,"i32");fe(this.db);this.ra={}}a.prototype.run=function(a,c){var d;if(!this.db)throw"Database closed";c?(d=this.prepare(a,c),d.step(),d.free()):this.handleError(ze(this.db,a,0,0,Z));return this};a.prototype.exec=function(a){var c,d,e,g,h;if(!this.db)throw"Database closed";g=l.qa();d=l.R(a.length<<3);xa(a,d);a=l.R(4);for(e= -[];Ha(d,"i8")!==ee;)if(za(Z,0,"i32"),za(a,0,"i32"),this.handleError(De(this.db,d,-1,Z,a)),c=Ha(Z,"i32"),d=Ha(a,"i32"),c!==ee){h=new ge(c,this);for(c=null;h.step();)null===c&&(c={columns:h.getColumnNames(),values:[]},e.push(c)),c.values.push(h.get());h.free()}l.ga(g);return e};a.prototype.each=function(a,c,d,e){"function"===typeof c&&(e=d,d=c,c=void 0);for(a=this.prepare(a,c);a.step();)d(a.getAsObject());a.free();if("function"===typeof e)return e()};a.prototype.prepare=function(a,c){var d,e;za(Z,0, -"i32");this.handleError(Ce(this.db,a,-1,Z,ee));d=Ha(Z,"i32");if(d===ee)throw"Nothing to prepare";e=new ge(d,this);null!=c&&e.bind(c);return this.ra[d]=e};a.prototype["export"]=function(){var a,c,d,e;d=this.ra;for(a in d)e=d[a],e.free();this.handleError(pe(this.db));e=this.filename;a=a={encoding:"binary"};a.flags=a.flags||"r";a.encoding=a.encoding||"binary";if("utf8"!==a.encoding&&"binary"!==a.encoding)throw Error('Invalid encoding type "'+a.encoding+'"');d=Ac(e,a.flags);e=vc(e).size;var g=new Uint8Array(e); -Ec(d,g,0,e,0);"utf8"===a.encoding?c=Na(g,0):"binary"===a.encoding&&(c=g);Cc(d);this.handleError(Be(this.filename,Z));this.db=Ha(Z,"i32");return c};a.prototype.close=function(){var a,c,d;c=this.ra;for(a in c)d=c[a],d.free();this.handleError(pe(this.db));uc("/"+this.filename);return this.db=null};a.prototype.handleError=function(a){if(a===Y.ka)return null;a=ye(this.db);throw Error(a);};a.prototype.getRowsModified=function(){return ne(this.db)};a.prototype.create_function=function(a,c){var d;d=l.La(function(a, -b,d){var m,t,r,x,v;t=[];for(m=r=0;0<=b?r<=b:r>=b;m=0<=b?++r:--r)x=Ha(d+4*m,"i32"),v=Oe(x),m=function(){switch(!1){case 1!==v:return Me;case 2!==v:return Le;case 3!==v:return Ne;case 4!==v:return function(a){var b,c,d,e;e=Ke(a);b=Je(a);a=new Uint8Array(e);for(c=d=0;0<=e?de;c=0<=e?++d:--d)a[c]=w[b+c];return a};default:return function(){return null}}}(),m=m(x),t.push(m);if(b=c.apply(null,t))switch(typeof b){case "number":return Fe(a,b);case "string":return He(a,b,-1,-1)}else return Ge(a)});this.handleError(we(this.db, -a,c.length,Y.jb,0,d,0,0,0));return this};return a}();Be=f.cwrap("sqlite3_open","number",["string","number"]);pe=f.cwrap("sqlite3_close_v2","number",["number"]);ze=f.cwrap("sqlite3_exec","number",["number","string","number","number","number"]);f.cwrap("sqlite3_free","",["number"]);ne=f.cwrap("sqlite3_changes","number",["number"]);Ce=f.cwrap("sqlite3_prepare_v2","number",["number","string","number","number","number"]);De=f.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]); -me=f.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]);ie=f.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]);je=f.cwrap("sqlite3_bind_double","number",["number","number","number"]);ke=f.cwrap("sqlite3_bind_int","number",["number","number","number"]);le=f.cwrap("sqlite3_bind_parameter_index","number",["number","string"]);Ie=f.cwrap("sqlite3_step","number",["number"]);ye=f.cwrap("sqlite3_errmsg","string",["number"]); -xe=f.cwrap("sqlite3_data_count","number",["number"]);se=f.cwrap("sqlite3_column_double","number",["number","number"]);ue=f.cwrap("sqlite3_column_text","string",["number","number"]);qe=f.cwrap("sqlite3_column_blob","number",["number","number"]);re=f.cwrap("sqlite3_column_bytes","number",["number","number"]);ve=f.cwrap("sqlite3_column_type","number",["number","number"]);te=f.cwrap("sqlite3_column_name","string",["number","number"]);Ee=f.cwrap("sqlite3_reset","number",["number"]); -oe=f.cwrap("sqlite3_clear_bindings","number",["number"]);Ae=f.cwrap("sqlite3_finalize","number",["number"]);we=f.cwrap("sqlite3_create_function_v2","number","number string number number number number number number number".split(" "));Oe=f.cwrap("sqlite3_value_type","number",["number"]);Ke=f.cwrap("sqlite3_value_bytes","number",["number"]);Ne=f.cwrap("sqlite3_value_text","string",["number"]);Me=f.cwrap("sqlite3_value_int","number",["number"]);Je=f.cwrap("sqlite3_value_blob","number",["number"]); -Le=f.cwrap("sqlite3_value_double","number",["number"]);Fe=f.cwrap("sqlite3_result_double","",["number","number"]);Ge=f.cwrap("sqlite3_result_null","",["number"]);He=f.cwrap("sqlite3_result_text","",["number","string","number","number"]);fe=f.cwrap("RegisterExtensionFunctions","number",["number"]);this.SQL={Database:Database};for(he in this.SQL)f[he]=this.SQL[he];ee=0;Y.ka=0;Y.ERROR=1;Y.$d=2;Y.je=3;Y.Ub=4;Y.Wb=5;Y.ce=6;Y.NOMEM=7;Y.me=8;Y.ae=9;Y.be=10;Y.Zb=11;Y.NOTFOUND=12;Y.Yd=13;Y.Xb=14;Y.ke=15; -Y.EMPTY=16;Y.ne=17;Y.pe=18;Y.Yb=19;Y.de=20;Y.ee=21;Y.fe=22;Y.Vb=23;Y.Xd=24;Y.le=25;Y.ge=26;Y.he=27;Y.qe=28;Y.hb=100;Y.DONE=101;Y.gb=1;Y.FLOAT=2;Y.ib=3;Y.cb=4;Y.ie=5;Y.jb=1; +(e.Ua,e.Va,buffer),cd=e._llvm_bswap_i32=X._llvm_bswap_i32;e._sqlite3_value_blob=X._sqlite3_value_blob;e.stackSave=X.stackSave; +e._sqlite3_column_name=X._sqlite3_column_name;e._sqlite3_reset=X._sqlite3_reset;e._sqlite3_column_type=X._sqlite3_column_type;e._sqlite3_exec=X._sqlite3_exec;e._sqlite3_data_count=X._sqlite3_data_count;e.getTempRet0=X.getTempRet0;e._sqlite3_result_null=X._sqlite3_result_null;var dd=e.___udivdi3=X.___udivdi3;e._sqlite3_step=X._sqlite3_step;var Qc=e._bitshift64Lshr=X._bitshift64Lshr;e._sqlite3_prepare_v2=X._sqlite3_prepare_v2;e._sqlite3_close_v2=X._sqlite3_close_v2;e._sqlite3_open=X._sqlite3_open; +var Xc=e._bitshift64Shl=X._bitshift64Shl;e._sqlite3_result_text=X._sqlite3_result_text;e._fflush=X._fflush;e._emscripten_get_global_libc=X._emscripten_get_global_libc;e._sqlite3_column_bytes=X._sqlite3_column_bytes;e._sqlite3_bind_int=X._sqlite3_bind_int;e._sqlite3_bind_blob=X._sqlite3_bind_blob;var ad=e._memset=X._memset,Wc=e._sbrk=X._sbrk;e._sqlite3_value_double=X._sqlite3_value_double;var Vc=e._memcpy=X._memcpy;e._sqlite3_result_double=X._sqlite3_result_double;e._sqlite3_value_text=X._sqlite3_value_text; +var fd=e.___muldi3=X.___muldi3;e._sqlite3_changes=X._sqlite3_changes;var Wa=e._emscripten_replace_memory=X._emscripten_replace_memory;e._sqlite3_column_blob=X._sqlite3_column_blob;var Zc=e.___uremdi3=X.___uremdi3,bd=e.___divdi3=X.___divdi3;e._sqlite3_value_type=X._sqlite3_value_type;var Ic=e._pthread_mutex_trylock=X._pthread_mutex_trylock,pb=e._i64Subtract=X._i64Subtract;e._sqlite3_column_text=X._sqlite3_column_text;var Fc=e.___udivmoddi4=X.___udivmoddi4;e.setTempRet0=X.setTempRet0; +var qb=e._i64Add=X._i64Add;e._sqlite3_value_bytes=X._sqlite3_value_bytes;var Uc=e._pthread_mutex_unlock=X._pthread_mutex_unlock;e._sqlite3_finalize=X._sqlite3_finalize;e._sqlite3_column_double=X._sqlite3_column_double;e._sqlite3_create_function_v2=X._sqlite3_create_function_v2;e._sqlite3_errmsg=X._sqlite3_errmsg;e._sqlite3_value_int=X._sqlite3_value_int;var Ec=e._llvm_cttz_i32=X._llvm_cttz_i32;e._sqlite3_bind_text=X._sqlite3_bind_text;e.stackAlloc=X.stackAlloc;e.stackRestore=X.stackRestore; +e._sqlite3_bind_double=X._sqlite3_bind_double;e.___errno_location=X.___errno_location;var ed=e.___muldsi3=X.___muldsi3;e._RegisterExtensionFunctions=X._RegisterExtensionFunctions;var Ja=e._free=X._free;e.runPostSets=X.runPostSets;e.setThrew=X.setThrew;e.establishStackSpace=X.establishStackSpace;e._sqlite3_bind_parameter_index=X._sqlite3_bind_parameter_index;e._sqlite3_free=X._sqlite3_free;e._sqlite3_clear_bindings=X._sqlite3_clear_bindings; +var Aa=e._malloc=X._malloc,Pc=e._bitshift64Ashr=X._bitshift64Ashr,rb=e._pthread_mutex_lock=X._pthread_mutex_lock,gd=e._memalign=X._memalign,Yc=e._memmove=X._memmove,Gc=e.___remdi3=X.___remdi3;e.dynCall_iiii=X.dynCall_iiii;e.dynCall_viiiii=X.dynCall_viiiii;e.dynCall_i=X.dynCall_i;e.dynCall_vi=X.dynCall_vi;e.dynCall_vii=X.dynCall_vii;e.dynCall_iiiiiii=X.dynCall_iiiiiii;e.dynCall_ii=X.dynCall_ii;e.dynCall_viii=X.dynCall_viii;e.dynCall_v=X.dynCall_v;e.dynCall_iiiii=X.dynCall_iiiii;e.dynCall_viiiiii=X.dynCall_viiiiii; +e.dynCall_iii=X.dynCall_iii;e.dynCall_iiiiii=X.dynCall_iiiiii;e.dynCall_viiii=X.dynCall_viiii;n.D=e.stackAlloc;n.$=e.stackSave;n.Q=e.stackRestore;n.Yd=e.establishStackSpace;n.tb=e.setTempRet0;n.hb=e.getTempRet0;e.asm=X;function ia(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ia.prototype=Error();ia.prototype.constructor=ia;var hd=null,lb=function id(){e.calledRun||jd();e.calledRun||(lb=id)}; +e.callMain=e.Wd=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}a=a||[];Ca||(Ca=!0,$a(bb));var c=a.length+1,d=[A(E(e.thisProgram),"i8",0)];b();for(var f=0;fg;a=0<=g?++c:--c)f[a]=z[d+a];return f};a.prototype.get=function(a){var c,d,f;null!=a&&this.bind(a)&&this.step();f=[];a=c=0;for(d=Gd(this.i);0<=d?cd;a=0<=d?++c:--c)switch(Ed(this.i,a)){case Y.Oa:case Y.FLOAT:f.push(this.fb(a));break;case Y.Qa:f.push(this.gb(a));break;case Y.La:f.push(this.getBlob(a));break;default:f.push(null)}return f};a.prototype.getColumnNames= +function(){var a,c,d,f;f=[];a=c=0;for(d=Gd(this.i);0<=d?cd;a=0<=d?++c:--c)f.push(Cd(this.i,a));return f};a.prototype.getAsObject=function(a){var c,d,f,g,h,q;q=this.get(a);g=this.getColumnNames();h={};a=c=0;for(d=g.length;c>>0);null!=a&&xc("/",this.filename,a,!0,!0);this.handleError(Kd(this.filename,Z));this.db=za(Z,"i32");od(this.db);this.aa={}}a.prototype.run=function(a,c){var d;if(!this.db)throw"Database closed";c?(d=this.prepare(a,c),d.step(),d.free()):this.handleError(Id(this.db,a,0,0,Z));return this};a.prototype.exec=function(a){var c,d,f,g,h;if(!this.db)throw"Database closed";g=n.$();d=n.D(a.length<<3);hb(a,d);a=n.D(4);for(f= +[];za(d,"i8")!==nd;)if(ra(Z,0,"i32"),ra(a,0,"i32"),this.handleError(Md(this.db,d,-1,Z,a)),c=za(Z,"i32"),d=za(a,"i32"),c!==nd){h=new pd(c,this);for(c=null;h.step();)null===c&&(c={columns:h.getColumnNames(),values:[]},f.push(c)),c.values.push(h.get());h.free()}n.Q(g);return f};a.prototype.each=function(a,c,d,f){"function"===typeof c&&(f=d,d=c,c=void 0);for(a=this.prepare(a,c);a.step();)d(a.getAsObject());a.free();if("function"===typeof f)return f()};a.prototype.prepare=function(a,c){var d,f;ra(Z,0, +"i32");this.handleError(Ld(this.db,a,-1,Z,nd));d=za(Z,"i32");if(d===nd)throw"Nothing to prepare";f=new pd(d,this);null!=c&&f.bind(c);return this.aa[d]=f};a.prototype["export"]=function(){var a,c,d,f;d=this.aa;for(a in d)f=d[a],f.free();this.handleError(yd(this.db));f=this.filename;a=a={encoding:"binary"};a.flags=a.flags||"r";a.encoding=a.encoding||"binary";if("utf8"!==a.encoding&&"binary"!==a.encoding)throw Error('Invalid encoding type "'+a.encoding+'"');d=nc(f,a.flags);f=ic(f).size;var g=new Uint8Array(f); +rc(d,g,0,f,0);"utf8"===a.encoding?c=Fa(g,0):"binary"===a.encoding&&(c=g);pc(d);this.handleError(Kd(this.filename,Z));this.db=za(Z,"i32");return c};a.prototype.close=function(){var a,c,d;c=this.aa;for(a in c)d=c[a],d.free();this.handleError(yd(this.db));hc("/"+this.filename);return this.db=null};a.prototype.handleError=function(a){if(a===Y.OK)return null;a=Hd(this.db);throw Error(a);};a.prototype.getRowsModified=function(){return wd(this.db)};a.prototype.create_function=function(a,c){var d;d=n.ua(function(a, +b,d){var q,v,r,D,B;v=[];for(q=r=0;0<=b?r<=b:r>=b;q=0<=b?++r:--r)D=za(d+4*q,"i32"),B=Xd(D),q=function(){switch(!1){case 1!==B:return Vd;case 2!==B:return Ud;case 3!==B:return Wd;case 4!==B:return function(a){var b,c,d,f;f=Td(a);b=Sd(a);a=new Uint8Array(f);for(c=d=0;0<=f?df;c=0<=f?++d:--d)a[c]=z[b+c];return a};default:return function(){return null}}}(),q=q(D),v.push(q);if(b=c.apply(null,v))switch(typeof b){case "number":return Od(a,b);case "string":return Qd(a,b,-1,-1)}else return Pd(a)});this.handleError(Fd(this.db, +a,c.length,Y.Ra,0,d,0,0,0));return this};return a}();Kd=e.cwrap("sqlite3_open","number",["string","number"]);yd=e.cwrap("sqlite3_close_v2","number",["number"]);Id=e.cwrap("sqlite3_exec","number",["number","string","number","number","number"]);e.cwrap("sqlite3_free","",["number"]);wd=e.cwrap("sqlite3_changes","number",["number"]);Ld=e.cwrap("sqlite3_prepare_v2","number",["number","string","number","number","number"]);Md=e.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]); +vd=e.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]);rd=e.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]);sd=e.cwrap("sqlite3_bind_double","number",["number","number","number"]);td=e.cwrap("sqlite3_bind_int","number",["number","number","number"]);ud=e.cwrap("sqlite3_bind_parameter_index","number",["number","string"]);Rd=e.cwrap("sqlite3_step","number",["number"]);Hd=e.cwrap("sqlite3_errmsg","string",["number"]); +Gd=e.cwrap("sqlite3_data_count","number",["number"]);Bd=e.cwrap("sqlite3_column_double","number",["number","number"]);Dd=e.cwrap("sqlite3_column_text","string",["number","number"]);zd=e.cwrap("sqlite3_column_blob","number",["number","number"]);Ad=e.cwrap("sqlite3_column_bytes","number",["number","number"]);Ed=e.cwrap("sqlite3_column_type","number",["number","number"]);Cd=e.cwrap("sqlite3_column_name","string",["number","number"]);Nd=e.cwrap("sqlite3_reset","number",["number"]); +xd=e.cwrap("sqlite3_clear_bindings","number",["number"]);Jd=e.cwrap("sqlite3_finalize","number",["number"]);Fd=e.cwrap("sqlite3_create_function_v2","number","number string number number number number number number number".split(" "));Xd=e.cwrap("sqlite3_value_type","number",["number"]);Td=e.cwrap("sqlite3_value_bytes","number",["number"]);Wd=e.cwrap("sqlite3_value_text","string",["number"]);Vd=e.cwrap("sqlite3_value_int","number",["number"]);Sd=e.cwrap("sqlite3_value_blob","number",["number"]); +Ud=e.cwrap("sqlite3_value_double","number",["number"]);Od=e.cwrap("sqlite3_result_double","",["number","number"]);Pd=e.cwrap("sqlite3_result_null","",["number"]);Qd=e.cwrap("sqlite3_result_text","",["number","string","number","number"]);od=e.cwrap("RegisterExtensionFunctions","number",["number"]);this.SQL={Database:Database};for(qd in this.SQL)e[qd]=this.SQL[qd];nd=0;Y.OK=0;Y.ERROR=1;Y.Bd=2;Y.Ld=3;Y.wb=4;Y.yb=5;Y.Ed=6;Y.NOMEM=7;Y.Od=8;Y.Cd=9;Y.Dd=10;Y.Bb=11;Y.NOTFOUND=12;Y.Ad=13;Y.zb=14;Y.Md=15; +Y.EMPTY=16;Y.Pd=17;Y.Rd=18;Y.Ab=19;Y.Fd=20;Y.Gd=21;Y.Hd=22;Y.xb=23;Y.zd=24;Y.Nd=25;Y.Id=26;Y.Jd=27;Y.Sd=28;Y.Pa=100;Y.DONE=101;Y.Oa=1;Y.FLOAT=2;Y.Qa=3;Y.La=4;Y.Kd=5;Y.Ra=1; return this['SQL']; })(); diff --git a/js/sql.js b/js/sql.js index 95eba051..367913fd 100644 --- a/js/sql.js +++ b/js/sql.js @@ -1,503 +1,529 @@ // This prevents pollution of the global namespace var SQL = (function () { -var f;f||(f=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},ba;for(ba in f)f.hasOwnProperty(ba)&&(aa[ba]=f[ba]);var ca="object"===typeof window,da="function"===typeof importScripts,ea="object"===typeof process&&"function"===typeof require&&!ca&&!da,fa=!ca&&!ea&&!da; -if(ea){f.print||(f.print=function(a){process.stdout.write(a+"\n")});f.printErr||(f.printErr=function(a){process.stderr.write(a+"\n")});var ga=require("fs"),ia=require("path");f.read=function(a,b){a=ia.normalize(a);var c=ga.readFileSync(a);c||a==ia.resolve(a)||(a=path.join(__dirname,"..","src",a),c=ga.readFileSync(a));c&&!b&&(c=c.toString());return c};f.readBinary=function(a){a=f.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};f.load=function(a){ja(read(a))};f.thisProgram||(f.thisProgram= -1 0) var gc = undefined");else if(ca||da)f.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},"undefined"!=typeof arguments&&(f.arguments=arguments),"undefined"!== -typeof console?(f.print||(f.print=function(a){console.log(a)}),f.printErr||(f.printErr=function(a){console.log(a)})):f.print||(f.print=function(){}),da&&(f.load=importScripts),"undefined"===typeof f.setWindowTitle&&(f.setWindowTitle=function(a){document.title=a});else throw"Unknown runtime environment. Where are we?";function ja(a){eval.call(null,a)}!f.load&&f.read&&(f.load=function(a){ja(f.read(a))});f.print||(f.print=function(){});f.printErr||(f.printErr=f.print);f.arguments||(f.arguments=[]); -f.thisProgram||(f.thisProgram="./this.program");f.print=f.print;f.fa=f.printErr;f.preRun=[];f.postRun=[];for(ba in aa)aa.hasOwnProperty(ba)&&(f[ba]=aa[ba]); -var l={Qb:function(a){la=a},Ab:function(){return la},qa:function(){return k},ga:function(a){k=a},Xa:function(a){switch(a){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:return"*"===a[a.length-1]?l.M:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},xb:function(a){return Math.max(l.Xa(a),l.M)},oe:16,Ke:function(a,b){"double"===b||"i64"===b?a&7&&(assert(4===(a&7)),a+=4):assert(0===(a&3));return a}, -ye:function(a,b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?l.xb(a):0),l.M):Math.min(b,8):8},T:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),f["dynCall_"+a].apply(null,c)):f["dynCall_"+a].call(null,b)},A:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, -null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],La:function(a){for(var b=0;b=na)p("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+na+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "), -a=!0;return a?(n=b,0):b},ta:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},He:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},aa:8,M:4,re:0};f.Runtime=l;l.addFunction=l.La;l.removeFunction=l.Mb;var oa=!1,pa,qa,la;function assert(a,b){a||p("Assertion failed: "+b)}function ra(a){var b=f["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}assert(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var sa,ta; -(function(){function a(a){a=a.toString().match(d).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}var b={stackSave:function(){l.qa()},stackRestore:function(){l.ga()},arrayToC:function(a){var b=l.R(a.length);ua(a,b);return b},stringToC:function(a){var b=0;null!==a&&void 0!==a&&0!==a&&(b=l.R((a.length<<2)+1),wa(a,b));return b}},c={string:b.stringToC,array:b.arrayToC};ta=function(a,b,d,e,g){a=ra(a);var v=[],G=0;if(e)for(var I=0;I>0]=b;break;case "i8":u[a>>0]=b;break;case "i16":za[a>>1]=b;break;case "i32":w[a>>2]=b;break;case "i64":qa=[b>>>0,(pa=b,1<=+Aa(pa)?0>>0:~~+Da((pa-+(~~pa>>>0))/4294967296)>>>0:0)];w[a>>2]=qa[0];w[a+4>>2]=qa[1];break;case "float":Ea[a>>2]=b;break;case "double":Fa[a>>3]=b;break;default:p("invalid type for setValue: "+c)}}f.setValue=ya; -function y(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return u[a>>0];case "i8":return u[a>>0];case "i16":return za[a>>1];case "i32":return w[a>>2];case "i64":return w[a>>2];case "float":return Ea[a>>2];case "double":return Fa[a>>3];default:p("invalid type for setValue: "+b)}return null}f.getValue=y;f.ALLOC_NORMAL=0;f.ALLOC_STACK=1;f.ALLOC_STATIC=2;f.ALLOC_DYNAMIC=3;f.ALLOC_NONE=4; -function z(a,b,c,d){var e,g;"number"===typeof a?(e=!0,g=a):(e=!1,g=a.length);var h="string"===typeof b?b:null;c=4==c?d:[Ga,l.R,l.bb,l.ba][void 0===c?2:c](Math.max(g,h?1:b.length));if(e){d=c;assert(0==(c&3));for(a=c+(g&-4);d>2]=0;for(a=c+g;d>0]=0;return c}if("i8"===h)return a.subarray||a.slice?A.set(a,c):A.set(new Uint8Array(a),c),c;d=0;for(var m,t;d>0];c|=d;if(0==d&&!b)break;e++;if(b&&e==b)break}b||(b=e);d="";if(128>c){for(;0>0];if(!c)return b;b+=String.fromCharCode(c)}}; -f.stringToAscii=function(a,b){return Ka(a,b,!1)}; -function La(a,b){for(var c,d,e,g,h,m,t="";;){c=a[b++];if(!c)return t;c&128?(d=a[b++]&63,192==(c&224)?t+=String.fromCharCode((c&31)<<6|d):(e=a[b++]&63,224==(c&240)?c=(c&15)<<12|d<<6|e:(g=a[b++]&63,240==(c&248)?c=(c&7)<<18|d<<12|e<<6|g:(h=a[b++]&63,248==(c&252)?c=(c&3)<<24|d<<18|e<<12|g<<6|h:(m=a[b++]&63,c=(c&1)<<30|d<<24|e<<18|g<<12|h<<6|m))),65536>c?t+=String.fromCharCode(c):(c-=65536,t+=String.fromCharCode(55296|c>>10,56320|c&1023)))):t+=String.fromCharCode(c)}}f.UTF8ArrayToString=La; -f.UTF8ToString=function(a){return La(A,a)}; -function Ma(a,b,c,d){if(!(0=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++g)&1023);if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(2097151>=h){if(c+3>=d)break;b[c++]=240|h>>18}else{if(67108863>=h){if(c+4>=d)break;b[c++]=248|h>>24}else{if(c+5>=d)break;b[c++]=252|h>>30;b[c++]=128|h>>24&63}b[c++]=128|h>>18&63}b[c++]=128| -h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-e}f.stringToUTF8Array=Ma;f.stringToUTF8=function(a,b,c){return Ma(a,A,b,c)};function Na(a){for(var b=0,c=0;c=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:2097151>=d?b+4:67108863>=d?b+5:b+6}return b}f.lengthBytesUTF8=Na;f.UTF16ToString=function(a){for(var b=0,c="";;){var d=za[a+2*b>>1];if(0==d)return c;++b;c+=String.fromCharCode(d)}}; -f.stringToUTF16=function(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e>1]=a.charCodeAt(e),b+=2;za[b>>1]=0;return b-d};f.lengthBytesUTF16=function(a){return 2*a.length};f.UTF32ToString=function(a){for(var b=0,c="";;){var d=w[a+4*b>>2];if(0==d)return c;++b;65536<=d?(d=d-65536,c+=String.fromCharCode(55296|d>>10,56320|d&1023)):c+=String.fromCharCode(d)}}; -f.stringToUTF32=function(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e=g)var h=a.charCodeAt(++e),g=65536+((g&1023)<<10)|h&1023;w[b>>2]=g;b+=4;if(b+4>c)break}w[b>>2]=0;return b-d};f.lengthBytesUTF32=function(a){for(var b=0,c=0;c=d&&++c;b+=4}return b}; -function Oa(a){function b(c,d,e){d=d||Infinity;var g="",h=[],v;if("N"===a[m]){m++;"K"===a[m]&&m++;for(v=[];"E"!==a[m];)if("S"===a[m]){m++;var F=a.indexOf("_",m);v.push(r[a.substring(m,F)||0]||"?");m=F+1}else if("C"===a[m])v.push(v[v.length-1]),m+=2;else{var F=parseInt(a.substr(m)),ha=F.toString().length;if(!F||!ha){m--;break}var lc=a.substr(m+ha,F);v.push(lc);r.push(lc);m+=ha+F}m++;v=v.join("::");d--;if(0===d)return c?[v]:v}else if(("K"===a[m]||x&&"L"===a[m])&&m++,F=parseInt(a.substr(m)))ha=F.toString().length, -v=a.substr(m+ha,F),m+=ha+F;x=!1;"I"===a[m]?(m++,F=b(!0),ha=b(!0,1,!0),g+=ha[0]+" "+v+"<"+F.join(", ")+">"):g=v;a:for(;m$a?2*$a:$a+16777216;$a!==na&&(na=$a);assert("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(na);u=new Int8Array(buffer);za=new Int16Array(buffer);w=new Int32Array(buffer);A=new Uint8Array(buffer); -Ta=new Uint16Array(buffer);Ua=new Uint32Array(buffer);Ea=new Float32Array(buffer);Fa=new Float64Array(buffer);w[0]=255;assert(255===A[0]&&0===A[3],"Typed arrays 2 must be run on a little-endian system");f.HEAP=void 0;f.buffer=buffer;f.HEAP8=u;f.HEAP16=za;f.HEAP32=w;f.HEAPU8=A;f.HEAPU16=Ta;f.HEAPU32=Ua;f.HEAPF32=Ea;f.HEAPF64=Fa; -function ab(a){for(;0>0]=a[c],c+=1}f.writeStringToMemory=wa;function ua(a,b){for(var c=0;c>0]=a[c]}f.writeArrayToMemory=ua; -function Ka(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(u[b>>0]=0)}f.writeAsciiToMemory=Ka;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0});Math.De=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.ue=Math.clz32; -var Aa=Math.abs,ib=Math.cos,jb=Math.sin,kb=Math.tan,lb=Math.acos,mb=Math.asin,nb=Math.atan,ob=Math.atan2,pb=Math.exp,qb=Math.log,rb=Math.sqrt,Da=Math.ceil,Ca=Math.floor,sb=Math.pow,Ba=Math.min,tb=0,ub=null,vb=null;function wb(){tb++;f.monitorRunDependencies&&f.monitorRunDependencies(tb)}f.addRunDependency=wb;function xb(){tb--;f.monitorRunDependencies&&f.monitorRunDependencies(tb);if(0==tb&&(null!==ub&&(clearInterval(ub),ub=null),vb)){var a=vb;vb=null;a()}}f.removeRunDependency=xb; -f.preloadedImages={};f.preloadedAudios={};Va=8;ma=Va+48688;cb.push(); -z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,64,0,0,1,0,1,0,130,0,0,0,55,64,0,0,1,0,1,0,131,0,0,0,60,64,0,0,1,0,1,0,132,0,0,0,65,64,0,0,2,0,1,0,133,0,0,0,70,64,0,0,2,0,1,0,133,0,0,0,76,64,0,0,1,0,1,0,134,0,0,0,82,64,0,0,1,0,1,0,135,0,0,0,88,64,0,0,1,0,1,0,136,0,0,0,94,64,0,0,2,0,1,0,137,0,0,0,105,64,0,0,1,0,1,0, -138,0,0,0,113,64,0,0,1,0,1,0,139,0,0,0,121,64,0,0,1,0,1,0,140,0,0,0,125,64,0,0,1,0,1,0,141,0,0,0,129,64,0,0,1,0,1,0,142,0,0,0,133,64,0,0,1,0,1,0,143,0,0,0,137,64,0,0,1,0,1,0,144,0,0,0,142,64,0,0,1,0,1,0,145,0,0,0,147,64,0,0,1,0,1,0,146,0,0,0,152,64,0,0,1,0,1,0,147,0,0,0,157,64,0,0,1,0,1,0,148,0,0,0,143,98,0,0,1,0,1,0,149,0,0,0,161,64,0,0,1,0,1,0,150,0,0,0,167,64,0,0,2,0,1,0,151,0,0,0,173,64,0,0,1,0,1,0,152,0,0,0,178,64,0,0,1,0,1,0,153,0,0,0,183,64,0,0,1,0,1,0,154,0,0,0,190,64,0,0,1,0,1,0,155,0,0, -0,195,64,0,0,1,0,1,0,156,0,0,0,201,64,0,0,0,0,1,1,157,0,0,0,204,64,0,0,2,0,1,0,158,0,0,0,214,64,0,0,2,0,1,0,159,0,0,0,214,64,0,0,3,0,1,0,159,0,0,0,224,64,0,0,2,0,1,0,160,0,0,0,232,64,0,0,2,0,1,0,161,0,0,0,241,64,0,0,1,0,1,0,162,0,0,0,249,64,0,0,1,0,1,0,163,0,0,0,0,65,0,0,2,0,1,0,164,0,0,0,5,65,0,0,2,0,1,0,165,0,0,0,10,65,0,0,2,0,1,0,166,0,0,0,15,65,0,0,2,0,1,0,167,0,0,0,25,65,0,0,1,0,0,0,168,0,0,0,130,0,0,0,31,65,0,0,1,0,0,0,168,0,0,0,131,0,0,0,221,101,0,0,1,0,0,0,169,0,0,0,132,0,0,0,40,65,0,0,1, -0,0,0,169,0,0,0,133,0,0,0,47,65,0,0,1,0,0,0,169,0,0,0,134,0,0,0,62,65,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,45,178,0,0,66,178,0,0,78,178,0,0,90,178,0,0,114,178,0,0,125,178,0,0,145,178,0,0,159,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,21,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,26,172,0,0,208,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130, -0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,36,172,0,0,212,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,49,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0, -0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131, -0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,81,0,0,184,81,0,0,252,81,0,0,24,82,0,0,53,82,0,0,80,82,0,0,108,82,0,0,133,82,0,0,157,82,0,0,222,82,0,0,25,83,0,0,93,83,0,0,141,83,0,0,253,83,0, -0,132,84,0,0,184,84,0,0,250,84,0,0,37,85,0,0,96,85,0,0,135,85,0,0,179,85,0,0,220,85,0,0,11,86,0,0,53,86,0,0,226,71,0,0,226,71,0,0,91,86,0,0,146,86,0,0,207,86,0,0,70,87,0,0,173,87,0,0,228,87,0,0,30,88,0,0,137,88,0,0,216,88,0,0,25,89,0,0,85,89,0,0,133,89,0,0,239,89,0,0,56,90,0,0,6,80,0,0,170,0,0,0,14,80,0,0,171,0,0,0,32,80,0,0,172,0,0,0,22,80,0,0,173,0,0,0,0,93,0,0,2,0,4,0,3,93,0,0,3,1,3,0,7,93,0,0,3,1,2,0,11,93,0,0,4,0,1,0,22,80,0,0,9,0,0,0,236,96,0,0,6,0,0,0,99,94,0,0,8,0,0,0,108,94,0,0,10,0,0,0, -243,96,0,0,5,0,0,0,37,94,0,0,7,0,0,0,249,96,0,0,10,0,0,0,4,97,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255, -255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0, -9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24, -47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0, -6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110, -0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156, -0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1, -8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248, -3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68, -7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220, -7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,102,0,0,0,0,2,0,61,102,0,0,0,0,4,0,0,0,0,0,0,0,0,0,37,102,0,0,1,0,0,0,40,102,0,0,2,0,0,0,43,102,0,0,6,0,0,0,47,102,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150, -0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,133,0,0,1,0,0,0,226,77,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,185,120,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,175,120,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,155,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,78,0,0,248,120,0,0,5,121,0,0,0,0,0,0,18,121,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,85,122,0,0,0,0,0,0,3,0,1,0,0,0,0, -0,0,0,0,0,179,0,0,0,0,0,0,0,210,122,0,0,0,0,0,0,23,130,0,0,0,0,0,0,8,0,0,0,247,125,0,0,1,1,0,0,0,0,0,0,38,130,0,0,2,0,0,0,0,0,16,0,54,130,0,0,3,0,0,0,0,0,0,0,114,125,0,0,4,1,0,0,0,0,0,0,23,126,0,0,5,0,0,0,0,0,0,0,67,130,0,0,6,0,0,0,0,0,0,0,87,130,0,0,2,0,0,0,0,0,0,32,103,130,0,0,2,0,0,0,16,0,0,0,124,130,0,0,7,0,0,0,0,0,0,0,139,130,0,0,8,0,0,0,0,0,0,0,155,130,0,0,2,0,0,0,128,0,0,0,169,130,0,0,0,2,0,0,15,0,0,0,182,130,0,0,10,1,0,0,0,0,0,0,196,130,0,0,11,1,0,0,0,0,0,0,215,130,0,0,2,0,0,0,0,0,0,2,234, -130,0,0,2,0,0,0,0,1,0,0,126,127,0,0,12,0,0,0,0,0,0,0,1,131,0,0,13,1,0,0,0,0,0,0,19,131,0,0,14,1,0,0,0,0,0,0,36,131,0,0,2,0,0,0,0,0,8,0,49,131,0,0,0,2,0,0,0,0,0,0,64,131,0,0,2,0,0,0,4,0,0,0,82,131,0,0,2,0,0,0,8,0,0,0,92,131,0,0,2,0,0,0,0,32,0,0,117,131,0,0,15,1,0,0,0,0,0,0,136,131,0,0,16,1,0,0,0,0,0,0,147,131,0,0,17,1,0,0,0,0,0,0,158,131,0,0,16,1,0,0,1,0,0,0,221,126,0,0,18,1,0,0,0,0,0,0,215,125,0,0,19,1,0,0,0,0,0,0,228,125,0,0,20,0,0,0,0,0,0,0,170,131,0,0,2,0,0,0,0,128,0,0,202,125,0,0,22,0,0,0,0,0, -0,0,189,131,0,0,23,1,0,0,0,0,0,0,35,126,0,0,24,0,0,0,0,0,0,0,204,131,0,0,23,1,0,0,0,0,0,0,161,125,0,0,25,0,0,0,0,0,0,0,215,131,0,0,2,0,0,0,0,0,0,4,226,131,0,0,18,1,0,0,0,0,0,0,238,131,0,0,2,0,0,0,0,64,0,0,255,131,0,0,2,0,0,0,0,0,4,0,18,132,0,0,2,0,0,0,0,0,2,0,44,132,0,0,0,0,0,0,1,0,0,0,171,125,0,0,26,0,0,0,0,0,0,0,59,132,0,0,2,0,0,0,64,0,0,0,78,132,0,0,27,0,0,0,0,0,0,0,244,127,0,0,28,0,0,0,0,0,0,0,92,132,0,0,29,1,0,0,0,0,0,0,102,126,0,0,30,1,0,0,0,0,0,0,98,132,0,0,31,1,0,0,0,0,0,0,45,126,0,0,32,0, -0,0,0,0,0,0,56,126,0,0,33,0,0,0,0,0,0,0,4,128,0,0,34,0,0,0,0,0,0,0,109,132,0,0,0,0,0,0,6,0,0,0,217,127,0,0,35,0,0,0,0,0,0,0,122,132,0,0,36,1,0,0,0,0,0,0,137,132,0,0,2,0,0,0,0,8,1,0,121,129,0,0,76,129,0,0,153,129,0,0,158,129,0,0,166,129,0,0,90,129,0,0,225,128,0,0,134,129,0,0,140,129,0,0,146,129,0,0,115,129,0,0,121,129,0,0,76,129,0,0,9,94,0,0,125,129,0,0,130,129,0,0,38,129,0,0,76,129,0,0,93,129,0,0,100,129,0,0,107,129,0,0,86,129,0,0,88,129,0,0,90,129,0,0,38,129,0,0,76,129,0,0,81,129,0,0,38,129,0,0, -76,129,0,0,35,129,0,0,38,129,0,0,225,128,0,0,42,129,0,0,47,129,0,0,50,129,0,0,60,129,0,0,70,129,0,0,225,128,0,0,169,96,0,0,231,128,0,0,238,128,0,0,30,128,0,0,1,0,0,0,35,128,0,0,1,0,0,0,41,128,0,0,2,0,0,0,50,128,0,0,3,0,0,0,59,128,0,0,2,0,0,0,67,128,0,0,3,0,0,0,75,128,0,0,0,0,0,0,82,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,128,0,0,143,98,0,0,17,128,0,0,0,130,0,0,7,130,0,0,15,130,0,0,208,127,0,0,47,102,0,0,19,130,0,0,70,129,0,0,64,0,0,0,97,128,0,0,66,0,0,0,92,128,0,0,65,0,0,0,25,136,0,0,67,0,0,0,248,116, -0,0,3,0,0,0,244,116,0,0,3,0,0,0,226,71,0,0,19,146,0,0,25,146,0,0,30,146,0,0,35,146,0,0,151,146,0,0,157,146,0,0,165,146,0,0,216,154,0,0,221,154,0,0,228,154,0,0,231,154,0,0,234,154,0,0,237,154,0,0,240,154,0,0,243,154,0,0,251,154,0,0,243,96,0,0,42,129,0,0,4,155,0,0,148,163,0,0,157,163,0,0,164,163,0,0,170,163,0,0,253,163,0,0,7,164,0,0,18,164,0,0,30,164,0,0,41,164,0,0,52,164,0,0,63,164,0,0,68,164,0,0,73,164,0,0,84,164,0,0,96,164,0,0,103,164,0,0,111,164,0,0,119,164,0,0,124,164,0,0,130,164,0,0,144,164,0, -0,150,164,0,0,160,164,0,0,165,164,0,0,169,164,0,0,174,164,0,0,177,164,0,0,183,164,0,0,190,164,0,0,197,164,0,0,204,164,0,0,211,164,0,0,214,164,0,0,218,164,0,0,229,164,0,0,238,164,0,0,244,164,0,0,254,164,0,0,8,165,0,0,15,165,0,0,23,165,0,0,26,165,0,0,29,165,0,0,32,165,0,0,35,165,0,0,38,165,0,0,41,165,0,0,51,165,0,0,58,165,0,0,64,165,0,0,74,165,0,0,85,165,0,0,89,165,0,0,98,165,0,0,107,165,0,0,114,165,0,0,124,165,0,0,131,165,0,0,136,165,0,0,143,165,0,0,154,165,0,0,159,165,0,0,166,165,0,0,172,165,0,0, -178,165,0,0,184,165,0,0,190,165,0,0,201,165,0,0,212,165,0,0,220,165,0,0,229,165,0,0,235,165,0,0,245,165,0,0,2,166,0,0,13,166,0,0,19,166,0,0,24,166,0,0,31,166,0,0,44,166,0,0,55,166,0,0,60,166,0,0,68,166,0,0,74,166,0,0,81,166,0,0,86,166,0,0,95,166,0,0,100,166,0,0,109,166,0,0,114,166,0,0,119,166,0,0,125,166,0,0,133,166,0,0,143,166,0,0,151,166,0,0,161,166,0,0,170,166,0,0,177,166,0,0,190,166,0,0,195,166,0,0,207,166,0,0,215,166,0,0,222,166,0,0,230,166,0,0,239,166,0,0,250,166,0,0,0,167,0,0,11,167,0,0,21, -167,0,0,31,167,0,0,40,167,0,0,50,167,0,0,64,167,0,0,78,167,0,0,89,167,0,0,102,167,0,0,113,167,0,0,119,167,0,0,131,167,0,0,140,167,0,0,149,167,0,0,156,167,0,0,166,167,0,0,173,167,0,0,184,167,0,0,198,167,0,0,209,167,0,0,216,167,0,0,224,167,0,0,230,167,0,0,238,167,0,0,251,167,0,0,5,168,0,0,15,168,0,0,20,168,0,0,29,168,0,0,37,168,0,0,43,168,0,0,48,168,0,0,60,168,0,0,72,168,0,0,84,168,0,0,96,168,0,0,109,168,0,0,119,168,0,0,129,168,0,0,141,168,0,0,153,168,0,0,163,168,0,0,169,168,0,0,179,168,0,0,186,168, -0,0,198,168,0,0,207,168,0,0,215,168,0,0,224,168,0,0,231,168,0,0,241,168,0,0,248,168,0,0,0,169,0,0,9,169,0,0,15,169,0,0,23,169,0,0,31,169,0,0,41,169,0,0,50,169,0,0,61,169,0,0,66,169,0,0,150,169,0,0,163,169,0,0,0,0,0,0,199,169,0,0,224,169,0,0,255,169,0,0,18,170,0,0,184,97,0,0,43,170,0,0,80,170,0,0,92,170,0,0,107,170,0,0,140,170,0,0,158,170,0,0,183,170,0,0,212,170,0,0,229,170,0,0,73,157,0,0,250,70,0,0,252,170,0,0,14,171,0,0,32,171,0,0,71,171,0,0,102,171,0,0,123,171,0,0,155,171,0,0,189,171,0,0,151,0, -0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,96,172,0,0,145,0,0,0,0,0,0,0,59,172,0,0,163,0,0,0,0,0,0,0,226,101,0,0,160,0,0,0,0,0,0,0,101,172,0,0,161,0,0,0,0,0,0,0,108,172,0,0,162,0,0,0,0,0,0,0,113,172,0,0,163,0,0,0,0,0,0,0,119,172,0,0,164,0,0,0,0,0,0,0,129,172,0,0,146,0,0,0,0,0,0,0,135,172,0,0,147,0,0,0,0,0,0,0,140,172,0,0,0,0,0,0,0,0, -0,0,146,172,0,0,0,0,0,0,0,0,0,0,154,172,0,0,148,0,0,0,0,0,0,0,160,172,0,0,0,0,0,0,0,0,0,0,167,172,0,0,0,0,0,0,0,0,0,0,176,172,0,0,165,0,0,0,0,0,0,0,183,172,0,0,0,0,0,0,0,0,0,0,193,172,0,0,164,0,0,0,0,0,0,0,200,172,0,0,166,0,0,0,0,0,0,0,214,172,0,0,167,0,0,0,0,0,0,0,220,172,0,0,165,0,0,0,0,0,0,0,226,172,0,0,149,0,0,0,0,0,0,0,233,172,0,0,130,0,0,0,0,0,0,0,241,172,0,0,137,0,0,0,0,0,0,0,246,172,0,0,168,0,0,0,0,0,0,0,253,172,0,0,0,0,0,0,0,0,0,0,4,173,0,0,131,0,0,0,0,0,0,0,16,173,0,0,150,0,0,0,0,0,0,0, -25,173,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,173,0,0,131,173,0,0,140,173,0,0,145,173,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0, -0,0,0,180,0,0,0,0,0,0,0,17,175,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,43,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,68,175,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,77,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,88,175,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183, -0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,124,139,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0, -185,0,0,0,142,0,0,0,128,139,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,112,175,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,119,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,126,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,132,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,139,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,147,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,152,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0, -0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,162,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,168,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,174,175,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,178,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,185,175,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,192,175,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0, -199,0,0,0,0,0,0,0,203,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,210,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,225,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,242,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,253,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,3,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,21,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,29,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0, -0,0,0,0,0,43,176,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,51,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,67,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,71,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,77,176,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146, -0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,13,8,218,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,97,128,0,0,0,0,0,0,2,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,3,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0, -0,0,0,0,100,176,0,0,0,0,0,0,101,138,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,165,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,175,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,180,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,185,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,194,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,203,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,216,176,0,0,0,0,0,0,0,0,1,32,0, -0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,234,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,209,177,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,229,177,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,251,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,34,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,39,186,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71, -1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143, -1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118, -3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136, -31,150,8,152,31,150,8,168,31],"i8",4,l.aa); -z([150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62, -121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255, -170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29, -25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235,2,18,3,27,3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76, -0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0, -217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158,3,127,4,137,4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4, -102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202,4,226,4,230,4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239, -4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209, -3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,190,3,190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0, -98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2,46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3, -86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0, -178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25,0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94, -0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3,194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78, -3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0,169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83, -0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64,3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0,189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19, -0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0,151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166, -3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3,56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0,96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8, -3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214,3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121,3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12, -1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0,120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38,0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0, -42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0,18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194,1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121, -0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190,1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244,2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0, -242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0,143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158,3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0, -142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170,1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241,2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1, -134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239,2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3,96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211, -0,12,5,11,5,53,1,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2, -248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181,3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31, -6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255,181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2,42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73, -5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214,4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31,6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4, -153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133,5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158,5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5, -252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178,4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117,4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5, -52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52,5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243, -4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5,111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111, -4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104,4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52,5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52, -5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96,4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,12,0,14, -0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101, +var e;e||(e=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},ba;for(ba in e)e.hasOwnProperty(ba)&&(aa[ba]=e[ba]);var ca=!1,k=!1,l=!1,da=!1; +if(e.ENVIRONMENT)if("WEB"===e.ENVIRONMENT)ca=!0;else if("WORKER"===e.ENVIRONMENT)k=!0;else if("NODE"===e.ENVIRONMENT)l=!0;else if("SHELL"===e.ENVIRONMENT)da=!0;else throw Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ca="object"===typeof window,k="function"===typeof importScripts,l="object"===typeof process&&"function"===typeof require&&!ca&&!k,da=!ca&&!l&&!k; +if(l){e.print||(e.print=console.log);e.printErr||(e.printErr=console.warn);var ea,fa;e.read=function(a,b){ea||(ea=require("fs"));fa||(fa=require("path"));a=fa.normalize(a);var c=ea.readFileSync(a);return b?c:c.toString()};e.readBinary=function(a){a=e.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};e.load=function(a){ga(read(a))};e.thisProgram||(e.thisProgram=1 0) var gc = undefined");else if(ca||k)e.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},k&&(e.readBinary=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return b.response}),e.readAsync=function(a, +b,c){var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)},"undefined"!=typeof arguments&&(e.arguments=arguments),"undefined"!==typeof console?(e.print||(e.print=function(a){console.log(a)}),e.printErr||(e.printErr=function(a){console.warn(a)})):e.print||(e.print=function(){}),k&&(e.load=importScripts),"undefined"===typeof e.setWindowTitle&&(e.setWindowTitle=function(a){document.title= +a});else throw"Unknown runtime environment. Where are we?";function ga(a){eval.call(null,a)}!e.load&&e.read&&(e.load=function(a){ga(e.read(a))});e.print||(e.print=function(){});e.printErr||(e.printErr=e.print);e.arguments||(e.arguments=[]);e.thisProgram||(e.thisProgram="./this.program");e.quit||(e.quit=function(a,b){throw b;});e.print=e.print;e.Z=e.printErr;e.preRun=[];e.postRun=[];for(ba in aa)aa.hasOwnProperty(ba)&&(e[ba]=aa[ba]); +var aa=void 0,n={tb:function(a){return tempRet0=a},hb:function(){return tempRet0},$:function(){return m},Q:function(a){m=a},Ga:function(a){switch(a){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:return"*"===a[a.length-1]?n.U:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},eb:function(a){return Math.max(n.Ga(a),n.U)},Qd:16,ke:function(a,b){"double"===b||"i64"===b?a&7&&(assert(4===(a&7)),a+= +4):assert(0===(a&3));return a},$d:function(a,b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?n.eb(a):0),n.U):Math.min(b,8):8},ga:function(a,b,c){return c&&c.length?e["dynCall_"+a].apply(null,[b].concat(c)):e["dynCall_"+a].call(null,b)},j:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, +null,null,null,null,null,null,null,null,null,null,null,null],ua:function(a){for(var b=0;b>2];a=(b+a+15|0)&-16;t[ia>>2]=a;if(a=a>=ja)ka(),a=!0;return a?(t[ia>>2]=b,0):b},va:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)}, +je:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},G:8,U:4,Td:0};e.Runtime=n;n.addFunction=n.ua;n.removeFunction=n.pb;var la=0;function assert(a,b){a||u("Assertion failed: "+b)}function na(a){var b=e["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}assert(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var oa,pa; +(function(){function a(a){a=a.toString().match(f).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}function b(){if(!g){g={};for(var b in c)c.hasOwnProperty(b)&&(g[b]=a(c[b]))}}var c={stackSave:function(){n.$()},stackRestore:function(){n.Q()},arrayToC:function(a){var b=n.D(a.length);qa(a,b);return b},stringToC:function(a){var b=0;if(null!==a&&void 0!==a&&0!==a){var c=(a.length<<2)+1,b=n.D(c);ra(a,b,c)}return b}},d={string:c.stringToC,array:c.arrayToC};pa=function(a,b,c,f,g){a=na(a);var B= +[],R=0;if(f)for(var G=0;G>0]=b;break;case "i8":x[a>>0]=b;break;case "i16":ta[a>>1]=b;break;case "i32":t[a>>2]=b;break;case "i64":tempI64=[b>>>0,(tempDouble=b,1<=+ua(tempDouble)?0>>0:~~+xa((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)];t[a>>2]=tempI64[0];t[a+4>>2]=tempI64[1];break;case "float":ya[a>>2]=b;break;case "double":za[a>>3]=b;break;default:u("invalid type for setValue: "+ +c)}}e.setValue=sa;function y(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return x[a>>0];case "i8":return x[a>>0];case "i16":return ta[a>>1];case "i32":return t[a>>2];case "i64":return t[a>>2];case "float":return ya[a>>2];case "double":return za[a>>3];default:u("invalid type for setValue: "+b)}return null}e.getValue=y;e.ALLOC_NORMAL=0;e.ALLOC_STACK=1;e.ALLOC_STATIC=2;e.ALLOC_DYNAMIC=3;e.ALLOC_NONE=4; +function z(a,b,c,d){var f,g;"number"===typeof a?(f=!0,g=a):(f=!1,g=a.length);var h="string"===typeof b?b:null;c=4==c?d:["function"===typeof Aa?Aa:n.oa,n.D,n.oa,n.Ba][void 0===c?2:c](Math.max(g,h?1:b.length));if(f){d=c;assert(0==(c&3));for(a=c+(g&-4);d>2]=0;for(a=c+g;d>0]=0;return c}if("i8"===h)return a.subarray||a.slice?A.set(a,c):A.set(new Uint8Array(a),c),c;d=0;for(var q,v;d>0];c|=d;if(0==d&&!b)break;f++;if(b&&f==b)break}b||(b=f);d="";if(128>c){for(;0>0];if(!c)return b;b+=String.fromCharCode(c)}}; +e.stringToAscii=function(a,b){return Da(a,b,!1)};var Ea="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0; +function Fa(a,b){for(var c=b;a[c];)++c;if(16d?c+=String.fromCharCode(d):(d-=65536,c+=String.fromCharCode(55296|d>> +10,56320|d&1023)))):c+=String.fromCharCode(d)}}e.UTF8ArrayToString=Fa;e.UTF8ToString=function(a){return Fa(A,a)}; +function Ga(a,b,c,d){if(!(0=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++g)&1023);if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(2097151>=h){if(c+3>=d)break;b[c++]=240|h>>18}else{if(67108863>=h){if(c+4>=d)break;b[c++]=248|h>>24}else{if(c+5>=d)break;b[c++]=252|h>>30;b[c++]=128|h>>24&63}b[c++]=128|h>>18&63}b[c++]=128| +h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-f}e.stringToUTF8Array=Ga;function ra(a,b,c){return Ga(a,A,b,c)}e.stringToUTF8=ra;function Ha(a){for(var b=0,c=0;c=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:2097151>=d?b+4:67108863>=d?b+5:b+6}return b}e.lengthBytesUTF8=Ha;"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le"); +function Ia(a){return a.replace(/__Z[\w\d_]+/g,function(a){var c;a:{var d=e.___cxa_demangle||e.__cxa_demangle;if(d)try{var f=a.substr(1),g=Ha(f)+1,h=Aa(g);ra(f,h,g);var q=Aa(4),v=d(h,0,0,q);if(0===y(q,"i32")&&v){c=w(v);break a}}catch(r){}finally{h&&Ja(h),q&&Ja(q),v&&Ja(v)}else n.K("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");c=a}return a===c?a:a+" ["+c+"]"})} +function Ka(){var a;a:{a=Error();if(!a.stack){try{throw Error(0);}catch(b){a=b}if(!a.stack){a="(no stack trace available)";break a}}a=a.stack.toString()}e.extraStackTrace&&(a+="\n"+e.extraStackTrace());return Ia(a)}e.stackTrace=Ka;var buffer,x,A,ta,La,t,Ma,ya,za,Na,p,Ba,Oa,m,Pa,Qa,ia;Na=p=Oa=m=Pa=Qa=ia=0;Ba=!1; +function ka(){u("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ja+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}var Ra=e.TOTAL_STACK||5242880,ja=e.TOTAL_MEMORY||16777216; +ja>0]=a.charCodeAt(d);c||(x[b>>0]=0)}e.writeAsciiToMemory=Da;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0}); +Math.ee=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.Xd=Math.clz32;Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});Math.trunc=Math.trunc;var ua=Math.abs,xa=Math.ceil,wa=Math.floor,ab=Math.pow,va=Math.min,bb=0,cb=null,db=null;function eb(){bb++;e.monitorRunDependencies&&e.monitorRunDependencies(bb)}e.addRunDependency=eb; +function fb(){bb--;e.monitorRunDependencies&&e.monitorRunDependencies(bb);if(0==bb&&(null!==cb&&(clearInterval(cb),cb=null),db)){var a=db;db=null;a()}}e.removeRunDependency=fb;e.preloadedImages={};e.preloadedAudios={};Na=8;p=Na+57088;Ua.push(); +z([1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,73,0,0,1,0,1,0,130,0,0,0,201,73,0,0,1,0,1,0,131,0,0,0,206,73,0,0,1,0,1,0,132,0,0,0,211,73,0,0,2,0,1,0,133,0,0,0,216,73,0,0,2,0,1,0,133,0,0,0,222,73,0,0,1,0,1,0,134,0,0,0,228,73,0,0,1,0,1,0,135,0,0,0,234,73,0,0,1,0,1,0,136,0,0,0,240,73,0,0,2,0,1,0,137,0,0,0,251,73,0,0,1,0,1,0,138,0,0,0,3,74,0,0,1,0,1,0,139,0,0,0,11,74,0,0,1,0,1,0, +140,0,0,0,15,74,0,0,1,0,1,0,141,0,0,0,19,74,0,0,1,0,1,0,142,0,0,0,23,74,0,0,1,0,1,0,143,0,0,0,27,74,0,0,1,0,1,0,144,0,0,0,32,74,0,0,1,0,1,0,145,0,0,0,37,74,0,0,1,0,1,0,146,0,0,0,42,74,0,0,1,0,1,0,147,0,0,0,47,74,0,0,1,0,1,0,148,0,0,0,3,126,0,0,1,0,1,0,149,0,0,0,51,74,0,0,1,0,1,0,150,0,0,0,57,74,0,0,2,0,1,0,151,0,0,0,63,74,0,0,1,0,1,0,152,0,0,0,68,74,0,0,1,0,1,0,153,0,0,0,73,74,0,0,1,0,1,0,154,0,0,0,80,74,0,0,1,0,1,0,155,0,0,0,85,74,0,0,1,0,1,0,156,0,0,0,91,74,0,0,0,0,1,1,157,0,0,0,94,74,0,0,2,0,1, +0,158,0,0,0,104,74,0,0,2,0,1,0,159,0,0,0,104,74,0,0,3,0,1,0,159,0,0,0,114,74,0,0,2,0,1,0,160,0,0,0,122,74,0,0,2,0,1,0,161,0,0,0,131,74,0,0,1,0,1,0,162,0,0,0,139,74,0,0,1,0,1,0,163,0,0,0,146,74,0,0,2,0,1,0,164,0,0,0,151,74,0,0,2,0,1,0,165,0,0,0,156,74,0,0,2,0,1,0,166,0,0,0,161,74,0,0,2,0,1,0,167,0,0,0,171,74,0,0,1,0,0,0,168,0,0,0,130,0,0,0,177,74,0,0,1,0,0,0,168,0,0,0,131,0,0,0,250,120,0,0,1,0,0,0,169,0,0,0,132,0,0,0,186,74,0,0,1,0,0,0,169,0,0,0,133,0,0,0,193,74,0,0,1,0,0,0,169,0,0,0,134,0,0,0,208, +74,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,95,79,0,0,116,79,0,0,128,79,0,0,140,79,0,0,164,79,0,0,176,79,0,0,187,79,0,0,207,79,0,0,221,79,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,231,81,0,0,48,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,236,81,0,0,52,5,0,0,130,0,0, +0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,246,81,0,0,56,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,3,82,0,0,48,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0, +132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,1,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,0,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,50,82,0,0,136,0,0,0,0,0,0,0,13,82,0,0,133,0,0,0,0,0,0,0,55,82,0,0,144,0,0,0,0,0,0,0,62,82,0,0,145,0,0,0,0,0,0,0,69,82,0,0,146,0,0,0,0,0,0,0,74,82,0,0,147,0,0,0,0,0,0,0,80,82,0,0,148,0,0,0,0,0,0,0,90,82,0,0,137,0,0,0,0,0,0,0,96,82,0,0,138, +0,0,0,0,0,0,0,101,82,0,0,0,0,0,0,0,0,0,0,107,82,0,0,0,0,0,0,0,0,0,0,115,82,0,0,139,0,0,0,0,0,0,0,121,82,0,0,0,0,0,0,0,0,0,0,128,82,0,0,0,0,0,0,0,0,0,0,137,82,0,0,149,0,0,0,0,0,0,0,144,82,0,0,0,0,0,0,0,0,0,0,154,82,0,0,134,0,0,0,0,0,0,0,161,82,0,0,150,0,0,0,0,0,0,0,175,82,0,0,151,0,0,0,0,0,0,0,181,82,0,0,135,0,0,0,0,0,0,0,187,82,0,0,140,0,0,0,0,0,0,0,194,82,0,0,130,0,0,0,0,0,0,0,202,82,0,0,130,0,0,0,0,0,0,0,207,82,0,0,152,0,0,0,0,0,0,0,214,82,0,0,0,0,0,0,0,0,0,0,221,82,0,0,131,0,0,0,0,0,0,0,233,82, +0,0,141,0,0,0,0,0,0,0,242,82,0,0,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,83,0,0,112,83,0,0,121,83,0,0,229,81,0,0,3,0,0,0,136,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,0,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,3,0,0,0,137,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,0,0,0,64,1,0,0,0, +0,0,0,0,138,0,0,0,137,0,0,0,142,0,0,0,130,0,0,0,139,0,0,0,143,0,0,0,170,0,0,0,130,0,0,0,131,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,140,0,0,0,160,0,0,0,141,0,0,0,142,0,0,0,143,0,0,0,141,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,171,84,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,172,0,0,0,0,0,0,0,197,84,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,222,84,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,231,84,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,242,84,0,0,0,0, +0,0,1,0,1,8,1,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,249,84,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,249,84,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,255,84,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,255,84,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,5,85,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,5,85,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,10,85,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,85,0,0,0,0,0,0,1,0,33,16,0,0, +0,0,0,0,0,0,176,0,0,0,142,0,0,0,10,85,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,14,85,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,85,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,176,0,0,0,142,0,0,0,14,85,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,18,85,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,25,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,32,85,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,38,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0, +0,0,181,0,0,0,0,0,0,0,45,85,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,53,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,58,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,62,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,62,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,185,0,0,0,0,0,0,0,68,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,74,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,80,85,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,173,0,0,0,0,0, +0,0,84,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,91,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,98,85,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,109,85,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,116,85,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,131,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,148,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,159,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,165,85,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,183,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,191,85,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,205,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,213,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,222,85,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,222,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,143,0,0,0,229,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,144,0,0,0,233,85,0,0,0,0,0,0, +1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,145,0,0,0,239,85,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,201,0,0,0,146,0,0,0,243,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,201,0,0,0,146,0,0,0,243,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,202,0,0,0,147,0,0,0,249,85,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,202,0,0,0,147,0,0,0,249,85,0,0,0,0,0,0,2,0,13,8,6,86,0,0,0,0,0,0,203,0,0,0,0,0,0,0,10,86,0,0,0,0,0,0,2,0,5,8,15,86,0,0,0,0,0,0,203,0,0,0,0,0,0,0,19,86,0,0,0,0,0,0,3,0,5,8,15,86,0,0,0,0,0,0,203,0,0,0,0,0,0,0,19,86,0,0,0,0,0,0, +1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,86,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,86,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,24,86,0,0,0,0,0,0,60,87,0,0,73,87,0,0,0,0,0,0,109,87,0,0,134,87,0,0,165,87,0,0,184,87,0,0,209,87,0,0,223,87,0,0,4,88,0,0,16,88,0,0,31,88,0,0,64,88,0,0,82,88,0,0,107,88,0,0,136,88,0,0,153,88,0,0,176,88,0,0,187,86,0,0,204,88,0,0,222,88,0,0,240,88,0,0,23,89,0,0,54,89,0,0,75,89,0,0,107,89,0,0,141,89,0,0,237,89,0,0,255,0,1,32,0,0,0,0,0,0,0,0,204, +0,0,0,0,0,0,0,239,89,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,249,89,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,254,89,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,3,90,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,12,90,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,209,0,0,0,0,0,0,0,21,90,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,210,0,0,0,0,0,0,0,34,90,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,52,90,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,212,0,0, +0,0,0,0,0,33,91,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,53,91,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,75,91,0,0,0,0,0,0,132,0,0,0,133,0,0,0,144,0,0,0,148,0,0,0,149,0,0,0,145,0,0,0,150,0,0,0,0,0,0,0,0,0,0,0,134,0,0,0,135,0,0,0,146,0,0,0,151,0,0,0,152,0,0,0,147,0,0,0,153,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,148,0,0,0,135,0,0,0,136,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,98,0,0,143,98, +0,0,150,98,0,0,153,98,0,0,156,98,0,0,159,98,0,0,162,98,0,0,165,98,0,0,173,98,0,0,182,98,0,0,188,98,0,0,193,98,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,132,0,0,1,0,0,0,245,104,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,247,117,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,237,117,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,217,117,0,0,0,0,0,0,214,105,0,0,54,118,0,0,67,118,0,0,0,0,0,0,80,118,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,147,119,0,0, +0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,16,120,0,0,0,0,0,0,76,121,0,0,0,0,2,0,83,121,0,0,0,0,4,0,0,0,0,0,0,0,0,0,59,121,0,0,1,0,0,0,62,121,0,0,2,0,0,0,65,121,0,0,6,0,0,0,69,121,0,0,128,0,0,0,0,0,0,0,0,0,0,0,151,128,0,0,0,0,0,0,8,0,0,0,212,123,0,0,1,1,0,0,0,0,0,0,166,128,0,0,2,0,0,0,0,0,16,0,182,128,0,0,3,0,0,0,0,0,0,0,79,123,0,0,4,1,0,0,0,0,0,0,244,123,0,0,5,0,0,0,0,0,0,0,195,128,0,0,6,0,0,0,0,0,0,0,215,128,0,0,2,0,0,0,0,0,0,32,231,128,0,0,2,0,0,0,16,0,0,0,252,128,0,0,7,0,0,0,0,0,0,0,11, +129,0,0,8,0,0,0,0,0,0,0,27,129,0,0,2,0,0,0,128,0,0,0,41,129,0,0,0,2,0,0,15,0,0,0,54,129,0,0,10,1,0,0,0,0,0,0,68,129,0,0,11,1,0,0,0,0,0,0,87,129,0,0,2,0,0,0,0,0,0,2,106,129,0,0,2,0,0,0,0,1,0,0,91,125,0,0,12,0,0,0,0,0,0,0,129,129,0,0,13,1,0,0,0,0,0,0,147,129,0,0,14,1,0,0,0,0,0,0,164,129,0,0,2,0,0,0,0,0,8,0,177,129,0,0,0,2,0,0,0,0,0,0,192,129,0,0,2,0,0,0,4,0,0,0,210,129,0,0,2,0,0,0,8,0,0,0,220,129,0,0,2,0,0,0,0,32,0,0,245,129,0,0,15,1,0,0,0,0,0,0,8,130,0,0,16,1,0,0,0,0,0,0,19,130,0,0,17,1,0,0,0,0,0, +0,30,130,0,0,16,1,0,0,1,0,0,0,186,124,0,0,18,1,0,0,0,0,0,0,180,123,0,0,19,1,0,0,0,0,0,0,193,123,0,0,20,0,0,0,0,0,0,0,42,130,0,0,2,0,0,0,0,128,0,0,167,123,0,0,22,0,0,0,0,0,0,0,61,130,0,0,23,1,0,0,0,0,0,0,0,124,0,0,24,0,0,0,0,0,0,0,76,130,0,0,23,1,0,0,0,0,0,0,126,123,0,0,25,0,0,0,0,0,0,0,87,130,0,0,2,0,0,0,0,0,0,4,98,130,0,0,18,1,0,0,0,0,0,0,110,130,0,0,2,0,0,0,0,64,0,0,127,130,0,0,2,0,0,0,0,0,4,0,146,130,0,0,2,0,0,0,0,0,2,0,172,130,0,0,0,0,0,0,1,0,0,0,136,123,0,0,26,0,0,0,0,0,0,0,187,130,0,0,2,0,0, +0,64,0,0,0,206,130,0,0,27,0,0,0,0,0,0,0,209,125,0,0,28,0,0,0,0,0,0,0,220,130,0,0,29,1,0,0,0,0,0,0,67,124,0,0,30,1,0,0,0,0,0,0,226,130,0,0,31,1,0,0,0,0,0,0,10,124,0,0,32,0,0,0,0,0,0,0,21,124,0,0,33,0,0,0,0,0,0,0,225,125,0,0,34,0,0,0,0,0,0,0,237,130,0,0,0,0,0,0,6,0,0,0,182,125,0,0,35,0,0,0,0,0,0,0,250,130,0,0,36,1,0,0,0,0,0,0,9,131,0,0,2,0,0,0,0,8,1,0,81,127,0,0,36,127,0,0,118,127,0,0,123,127,0,0,131,127,0,0,50,127,0,0,190,126,0,0,99,127,0,0,105,127,0,0,111,127,0,0,75,127,0,0,81,127,0,0,36,127,0,0, +85,127,0,0,90,127,0,0,95,127,0,0,3,127,0,0,36,127,0,0,53,127,0,0,60,127,0,0,67,127,0,0,46,127,0,0,48,127,0,0,50,127,0,0,3,127,0,0,36,127,0,0,41,127,0,0,3,127,0,0,36,127,0,0,0,127,0,0,3,127,0,0,190,126,0,0,188,98,0,0,7,127,0,0,10,127,0,0,20,127,0,0,30,127,0,0,190,126,0,0,145,101,0,0,196,126,0,0,203,126,0,0,20,126,0,0,1,0,0,0,25,126,0,0,1,0,0,0,31,126,0,0,2,0,0,0,40,126,0,0,3,0,0,0,49,126,0,0,2,0,0,0,57,126,0,0,3,0,0,0,65,126,0,0,0,0,0,0,72,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,125,0,0,3,126,0,0,7,126, +0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,8,0,0,0,221,127,0,0,228,127,0,0,236,127,0,0,173,125,0,0,69,121,0,0,240,127,0,0,30,127,0,0,64,0,0,0,10,86,0,0,66,0,0,0,19,86,0,0,65,0,0,0,158,134,0,0,67,0,0,0,176,114,0,0,3,0,0,0,172,114,0,0,3,0,0,0,200,217,0,0,224,143,0,0,230,143,0,0,235,143,0,0,240,143,0,0,100,144,0,0,106,144,0,0,114,144,0,0,201,158,0,0,210,158,0,0,217,158,0,0,223,158,0,0,44,159,0,0,54,159,0,0,65,159,0,0,77,159, +0,0,88,159,0,0,99,159,0,0,110,159,0,0,115,159,0,0,120,159,0,0,131,159,0,0,143,159,0,0,150,159,0,0,158,159,0,0,166,159,0,0,171,159,0,0,177,159,0,0,191,159,0,0,197,159,0,0,207,159,0,0,212,159,0,0,216,159,0,0,221,159,0,0,224,159,0,0,230,159,0,0,237,159,0,0,244,159,0,0,251,159,0,0,2,160,0,0,5,160,0,0,9,160,0,0,20,160,0,0,29,160,0,0,35,160,0,0,45,160,0,0,55,160,0,0,62,160,0,0,70,160,0,0,73,160,0,0,76,160,0,0,79,160,0,0,82,160,0,0,85,160,0,0,88,160,0,0,98,160,0,0,105,160,0,0,111,160,0,0,121,160,0,0,132, +160,0,0,136,160,0,0,145,160,0,0,154,160,0,0,161,160,0,0,171,160,0,0,178,160,0,0,183,160,0,0,190,160,0,0,201,160,0,0,206,160,0,0,213,160,0,0,219,160,0,0,225,160,0,0,231,160,0,0,237,160,0,0,248,160,0,0,3,161,0,0,11,161,0,0,20,161,0,0,26,161,0,0,36,161,0,0,49,161,0,0,60,161,0,0,66,161,0,0,71,161,0,0,78,161,0,0,91,161,0,0,102,161,0,0,107,161,0,0,115,161,0,0,121,161,0,0,128,161,0,0,133,161,0,0,142,161,0,0,147,161,0,0,156,161,0,0,161,161,0,0,166,161,0,0,172,161,0,0,180,161,0,0,190,161,0,0,198,161,0,0,208, +161,0,0,217,161,0,0,224,161,0,0,237,161,0,0,242,161,0,0,254,161,0,0,6,162,0,0,13,162,0,0,21,162,0,0,30,162,0,0,41,162,0,0,47,162,0,0,58,162,0,0,68,162,0,0,78,162,0,0,87,162,0,0,97,162,0,0,111,162,0,0,125,162,0,0,136,162,0,0,149,162,0,0,160,162,0,0,166,162,0,0,178,162,0,0,187,162,0,0,196,162,0,0,203,162,0,0,213,162,0,0,220,162,0,0,231,162,0,0,245,162,0,0,0,163,0,0,7,163,0,0,15,163,0,0,21,163,0,0,29,163,0,0,42,163,0,0,52,163,0,0,62,163,0,0,67,163,0,0,76,163,0,0,84,163,0,0,90,163,0,0,95,163,0,0,107, +163,0,0,119,163,0,0,131,163,0,0,143,163,0,0,156,163,0,0,166,163,0,0,176,163,0,0,188,163,0,0,200,163,0,0,210,163,0,0,216,163,0,0,226,163,0,0,233,163,0,0,245,163,0,0,254,163,0,0,6,164,0,0,15,164,0,0,22,164,0,0,32,164,0,0,39,164,0,0,47,164,0,0,56,164,0,0,62,164,0,0,70,164,0,0,78,164,0,0,88,164,0,0,97,164,0,0,108,164,0,0,113,164,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,2,0,0,0,131,0,0,0,132,0,0,0,163,0,0,0,149,0,0,0,150,0,0,0,164,0,0,0,151,0,0,0,137,0,0,0,152,0,0, +0,153,0,0,0,145,0,0,0,165,0,0,0,134,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,138,0,0,0,166,0,0,0,167,0,0,0,168,0,0,0,169,0,0,0,0,0,0,0,133,0,0,0,133,0,0,0,170,0,0,0,158,0,0,0,158,0,0,0,171,0,0,0,159,0,0,0,139,0,0,0,160,0,0,0,161,0,0,0,146,0,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,167,0,0,37,168,0,0,105,168,0,0,133,168,0,0,162,168,0,0,189,168,0,0,217,168,0,0,242,168,0,0,10,169,0,0,75,169,0,0,134,169,0,0,202,169,0,0,250,169,0,0,106,170, +0,0,241,170,0,0,37,171,0,0,103,171,0,0,146,171,0,0,205,171,0,0,244,171,0,0,32,172,0,0,73,172,0,0,120,172,0,0,162,172,0,0,200,217,0,0,200,217,0,0,200,172,0,0,255,172,0,0,60,173,0,0,179,173,0,0,26,174,0,0,81,174,0,0,139,174,0,0,246,174,0,0,69,175,0,0,134,175,0,0,194,175,0,0,242,175,0,0,92,176,0,0,165,176,0,0,115,166,0,0,220,0,0,0,123,166,0,0,221,0,0,0,141,166,0,0,222,0,0,0,131,166,0,0,223,0,0,0,109,179,0,0,2,0,4,0,112,179,0,0,3,1,3,0,116,179,0,0,3,1,2,0,120,179,0,0,4,0,1,0,131,166,0,0,9,0,0,0,54,183, +0,0,6,0,0,0,184,180,0,0,8,0,0,0,193,180,0,0,10,0,0,0,182,98,0,0,5,0,0,0,141,180,0,0,7,0,0,0,61,183,0,0,10,0,0,0,72,183,0,0,10,0,0,0,0,0,0,0,147,0,0,0,162,0,0,0,135,0,0,0,163,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,148,0,0,0,164,0,0,0,136,0,0,0,165,0,0,0,135,0,0,0,0,0,0,0,0,0,0,0,136,0,0,0,136,0,0,0,173,0,0,0,166,0,0,0,166,0,0,0,174,0,0,0,167,0,0,0,140,0,0,0,168,0,0,0,169,0,0,0,149,0,0,0,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,0,0,170,0,0,0,137, +0,0,0,171,0,0,0,137,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27, +192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88, +45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52, +62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108, +0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0, +144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154, +2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200, +238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46, +68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24, +64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,2,0,0,0,138,0,0,0,139,0,0,0,176,0,0,0,172,0,0,0,173,0,0,0,177,0,0,0,174,0,0,0,141,0,0,0,175,0,0,0,176,0,0,0,151,0,0,0,178,0,0,0,138,0,0,0,177,0,0,0,178,0,0,0,179,0,0,0,180,0,0,0,142,0,0,0,179,0,0,0,180,0,0,0,181,0,0,0,182,0,0,0,2,0,0,0,140,0,0,0,141,0,0,0,183,0,0,0,181,0,0,0,182,0,0,0,184,0,0,0,183,0,0,0,143,0,0,0,184,0,0,0,185,0,0,0,152,0,0,0,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,242,188,0,0,26,189,0,0,90,166,0,0,139,0,0,0,154,0,0,0,142,0,0,0,61,189,0,0,140,0,0,0,155,0,0,0,143,0,0,0,83,166,0,0,141,0,0,0,156,0,0,0,144,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5, +0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1, +212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0, +1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0, +2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80, +132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0, +30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170, +2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228, +44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4],"i8",4,n.G); +z([4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212, +7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,115,166,0,0,0,0,0,0,130,0,0,0,0,0,0,0,45,191,0,0,0,0,0,0,131,0,0,0,0,0,0,0,55,191,0,0,0,0,0,0,132,0,0,0,0,0,0,0,117,191,0,0,224,0,0,0,127,191,0,0,225,0,0,0,141,191,0,0,226,0,0,0,154,191,0,0,227,0,0,0,204,127,0,0,1,0,0,0,160,125,0,0,0,0,0,0,249,196,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,186,0,0,0,187,0,0,0,186,0,0,0,153,0,0,0,144,0,0,0,188,0,0,0,187,0,0,0,188,0,0,0,145,0,0,0,189,0,0,0,142,0,0,0,154, +0,0,0,143,0,0,0,155,0,0,0,189,0,0,0,146,0,0,0,131,0,0,0,144,0,0,0,228,0,0,0,108,199,0,0,176,199,0,0,245,199,0,0,205,171,0,0,22,200,0,0,62,200,0,0,32,172,0,0,101,200,0,0,140,200,0,0,182,200,0,0,222,200,0,0,66,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,255,255,255,255,66,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,255,255,255,255,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,24,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,36,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,156,0,0,0,157,0,0,0,253,218,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,43,0,0,12,0,14,0,24,0,31,0,59,0,15,39,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184, +0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235, +2,18,3,27,3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76, +0,76,0,76,0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0,217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158, +3,127,4,137,4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4,102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202, +4,226,4,230,4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239,4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98, +0,98,0,98,0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209,3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0, +95,1,190,3,190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2,46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91, +1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3, +78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0,178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25, +0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3,194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96, +0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0, +169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83,0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64,3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0, +189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19,0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0, +151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166,3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3,56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0, +96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8,3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214,3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121, +3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12,1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0,120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38, +0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0,42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0,18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194, +1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121,0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190,1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244, +2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0,242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0,143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158, +3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0,142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170,1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241, +2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1,134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239,2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3, +96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211,0,12,5,11,5,53,1,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1, +203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181,3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181, +3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31,6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255,181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2, +42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73,5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214,4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31, +6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4,153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133,5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158, +5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5,252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178,4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117, +4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52,5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52, +5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243,4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5, +111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111,4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104,4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52, +5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96, +4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167, +1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144, +1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2, +232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14, +26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255, +249,255,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1, +18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193, +4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44, +22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0, +218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78, +11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246, +106,246,42,247,158,247,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101, 0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114, 116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0, 116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70, 117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116, -101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133, -134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117, -99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0,0,75,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12, -0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, -64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110, -111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5, -4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73, -79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67, -65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83, -67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131, -81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8, -0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116, -41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32, -114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101, -109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97, -105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110],"i8",4,l.aa+10240); -z([105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69, -32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81, -46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40, -83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111, -99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99, -107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116, -97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98, -108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101, -118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63, -0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101, -39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63, -32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32, -49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69, -32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39, -37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72, -69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32, -105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108, -61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116, -97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79, -73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114, -103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68, -69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80, -32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69, -88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102, -105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78, -44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116, -115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99, -107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37, -81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105, -108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109, -0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115, -116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118, -119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110, -111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115, -0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115, -116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32, -98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178, -0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3, -203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177, -0,177,3,187,5,187,3,229,0,229,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1, -168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105, -101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32, -115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115, -0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35, -37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97, -116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32, -97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100, -101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40, -37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115, -113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95, -114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117, -116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95, -115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101, -32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101, -103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117, -108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102, -32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109, -97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115, -0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117, -101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97,108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108, -105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105, -98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0, -97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111, -116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37, -115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116, -111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101],"i8",4,l.aa+20480); -z([32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116, -101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32, -105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114, -45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32,114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98, -105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97, -99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110, -97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99, -97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101, -114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115, -32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2,1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111, -114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114, -121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78, -79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32, -105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101, -97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115, -115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113, -0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111, -114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111, -117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108, -116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0, -102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114, -121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116, -97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112, -101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32, -110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97, -108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66, -76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111, -119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,44,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115, -116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0, -0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55, -56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32,97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,114,111, -119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37, -84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116, -101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97, -116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32, -98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119, -0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110, -97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115, -32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101, -32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105, -115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105, -99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32, -109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115, -32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115, -32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103, -101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101, -100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47, -48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157,90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119, -120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43,44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46, -47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33, -247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206, -179,180,92,172,173,95,152,97,98,188,99,101,219,102,103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97,85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83, -43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56,101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98,172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132, -133,134,135,136,89,16,207,92,93,19,172,173,169,170,195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152,172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172, -173,152,172,173,152,172,173,152,152,172,173,152,172,173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152,152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217, -166,167,163,163,163,163,163,196,130,217,211,212,217,116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175,175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159, -158,22,177,201,201,159,107,158,177,159,174,158,76,174,182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37,22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64, -22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24,1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3, -3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32, -100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114, -101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114, -101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110, -111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114, -111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104, -97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108, -32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65, -67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115, -99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68,32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34, -37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118],"i8",4,l.aa+30720); -z([97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32, -37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79, -110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101, -32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110, -99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115, -116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115, -45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109, -0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117, -116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116, -0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84, -0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101, -114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112, -97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110, -99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111, -119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112, -73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79, -112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32, -97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111, -99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105, -115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116, -32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32, -105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100, -58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114, -0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81, -76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116, -105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,109,111,100,101,111,102,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2, -14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103, -101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0, -110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110, -116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115, -116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101, -32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97, -114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,51,46,55,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25, -13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97, -32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99, -101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45, -111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100, -114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117, -115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100, -101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117, -108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109, -111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115, -99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111, -116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114, -101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111, -110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111, -116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+40960);var yb=l.ta(z(12,"i8",2),8);assert(0==yb%8);f._i64Subtract=zb;f._i64Add=Ab; -var D={H:1,J:2,Kd:3,Gc:4,O:5,Ka:6,$b:7,dd:8,L:9,nc:10,Ga:11,Ud:11,Ia:12,Y:13,zc:14,rd:15,Z:16,Ha:17,Vd:18,ha:19,ia:20,S:21,p:22,Zc:23,eb:24,$:25,Rd:26,Ac:27,nd:28,ja:29,Hd:30,Sc:31,Bd:32,wc:33,fb:34,jd:42,Dc:43,oc:44,Jc:45,Kc:46,Lc:47,Rc:48,Sd:49,bd:50,Ic:51,tc:35,ed:37,fc:52,ic:53,Wd:54,$c:55,jc:56,kc:57,uc:35,lc:59,pd:60,cd:61,Od:62,od:63,kd:64,ld:65,Gd:66,gd:67,cc:68,Ld:69,pc:70,Cd:71,Uc:72,xc:73,hc:74,wd:76,gc:77,Fd:78,Mc:79,Nc:80,Qc:81,Pc:82,Oc:83,qd:38,Ja:39,Vc:36,sa:40,xd:95,Ad:96,sc:104,ad:105, -dc:97,Ed:91,ud:88,md:92,Id:108,rc:111,ac:98,qc:103,Yc:101,Wc:100,Pd:110,Bc:112,Cc:113,Fc:115,ec:114,vc:89,Tc:90,Dd:93,Jd:94,bc:99,Xc:102,Hc:106,sd:107,Qd:109,Td:87,yc:122,Md:116,vd:95,hd:123,Ec:84,yd:75,mc:125,td:131,zd:130,Nd:86},Bb={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", +101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, +64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,52,46,48,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,69,78,65,66,76,69,95,70,84,83,53,0,73,78,84,54,52,95, +84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,49,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"i8",4,n.G+10240); +z([30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166, +167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0,1,0,0,109,105,115,117,115,101,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,37,0,100,10,1,0, +0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2,14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,78, +85,76,76,0,40,78,85,76,76,41,0,46,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,97,99,99,101,115,115,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112, +114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116, +0,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,102,117,108,108,95,102,115,121,110, +99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58, +32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,109,111,100,101,111,102,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32, +109,101,109,111,114,121,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,109,105,110,0,109,97,120,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110, +116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119, +105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,42,63,91,0,103,108,111,98,0,37,95,0,1,108,105,107,101,0,99,111,97,108,101,115,99,101,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65, +80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,37,108,108,100,0,37,33,46,49,53,103,0,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,44,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,105,110, +116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101, +100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100, +0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116, +97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112, +112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116, +97,98,97,115,101,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,105,110,116,101,103,101,114,0,116,101,120,116,0,114,101,97,108,0,98,108,111,98,0,110,117,108,108,0,1,32,0,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116, +101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,46,49,54,103,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101, +0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37, +119,34,0,37,115,37,115,0,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, +2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6, +2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82, +65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76, +76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78, +84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131,81,80,111,21,21, +27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0, +87,0,75,51,0,27,37,73,83,0,35,68,0,0,37,46,42,115,34,37,119,34,37,115,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98, +108,101,115,0,58,109,101,109,111,114,121,58,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0, +45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,64,32,32,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104, +32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,111,114,100,101,114,0,102,114,111,109,0,100,101,116,97,105,108,0, +117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181, +2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8, +218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177,0,177,3,187,5,187,3,229,0,229,2,149,4,149,1,149,2,149,3,149, +5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1, +190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,114,111,119,105,100,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110, +97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116, +115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111, +114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103, +101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,115,113,108,105,116, +101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100, +58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99, +104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100, +0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,99,114,101, +97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108, +117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46, +37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97, +109,101,61,37,81,0,45,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113, +108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95, +110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109, +101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101, +113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117, +108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,73,78,84,69,71,69,82,0,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116, +32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117, +116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109, +101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46, +34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110, +99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97, +108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115, +117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,82,79,87,73,68,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,95,82,79,87,73,68,95,0,79,73,68,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109, +97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,42,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104, +97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108, +101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32, +99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101, +58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37, +115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117, +110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32, +114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101, +32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115],"i8",4,n.G+20480); +z([32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115, +32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119, +101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109, +97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,116,114,105,103,103,101,114,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98, +108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37, +115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2, +1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112, +95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115, +105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101, +110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99, +97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,98,117,115,121,0,108,111,103,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49, +54,0,85,84,70,49,54,0,37,95,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84, +32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,100,101,115,99,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119, +105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108, +0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121, +95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116, +0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110, +95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110, +116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0, +115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98, +101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32, +99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98, +117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69, +82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65, +82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2, +2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,78,79,67,65,83,69,0,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26, +26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32, +97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,117, +110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116, +111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88, +32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99, +108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114, +115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84, +69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117, +109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105, +103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97, +98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89, +32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113, +39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105, +115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0, +84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101, +113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116, +115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50, +51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157, +90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119,120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43, +44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46,47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19, +207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33,247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54, +55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206,179,180,92,172,173,95,152,97,98,188,99,101,219,102,103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97, +85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83,43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56,101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98, +172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132,133,134,135,136,89,16,207,92,93,19,172,173,169,170,195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152, +172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172,173,152,172,173,152,172,173,152,152,172,173,152,172,173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152, +152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217,166,167,163,163,163,163,163,196,130,217,211,212,217,116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175, +175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159,158,22,177,201,201,159,107,158,177,159,174,158,76,174,182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37, +22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64,22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24,1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,117,110,111,112,101,110, +101,100,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110, +111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32, +105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82, +69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108, +111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105, +110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32, +115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68,32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34,37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77, +32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112, +101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32, +0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32, +111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116, +97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107, +101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98, +105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97, +109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111, +117,116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100],"i8",4,n.G+30720); +z([0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121, +0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112, +90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119, +0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73, +100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101, +108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83, +111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105, +116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119, +105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116, +32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0,0,75,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101, +32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,1,4,3,2,5,116,101,109,112,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117, +101,115,116,101,100,32,99,111,110,116,101,120,116,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117, +116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113, +95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95, +115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69, +32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32, +37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115, +39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61, +32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120, +32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82, +69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69, +80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65, +76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70, +82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113, +95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76, +69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114, +111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32, +49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105, +100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101, +103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115, +116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32, +97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79, +66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109, +117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84, +83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32, +37,115,0,97,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97, +110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113, +95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73, +78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59, +0,44,37,115,40,63,41,0,44,32,63,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105, +122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110, +116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116, +110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111, +110,115,116,114,117,99,116,111,114,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,102,116,115,53,0,102,116,115,53,95,115,111,117,114,99,101,95,105,100,0,102,116,115,53,58,32, +50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,102,116,115,53,118,111,99,97,98,0,83,69,76,69,67,84,32,112,103,110,111,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,105,100,120,39,32,87,72,69,82,69,32,115,101,103,105,100,61,63,32,65,78,68,32,116,101,114,109,60,61,63,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,68,69,83,67,32,76,73,77,73,84,32,49,0,83,69, +76,69,67,84,32,107,44,32,118,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,102,105,103,39,0,118,101,114,115,105,111,110,0,105,110,118,97,108,105,100,32,102,116,115,53,32,102,105,108,101,32,102,111,114,109,97,116,32,40,102,111,117,110,100,32,37,100,44,32,101,120,112,101,99,116,101,100,32,37,100,41,32,45,32,114,117,110,32,39,114,101,98,117,105,108,100,39,0,112,103,115,122,0,104,97,115,104,115,105,122,101,0,97,117,116,111,109,101,114,103,101,0,117,115,101,114,109,101,114,103,101,0,99,114,105,115, +105,115,109,101,114,103,101,0,114,97,110,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,80,82,65,71,77,65,32,37,81,46,100,97,116,97,95,118,101,114,115,105,111,110,0,83,69,76,69,67,84,32,116,46,37,81,32,70,82,79,77,32,37,81,46,37,81,32,65,83,32,116,32,87,72,69,82,69,32,116,46,37,81,32,77, +65,84,67,72,32,39,42,105,100,39,0,110,111,32,115,117,99,104,32,102,116,115,53,32,116,97,98,108,101,58,32,37,115,46,37,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,118,116,97,98,108,101,32,97,114,103,117,109,101,110,116,115,0,99,111,108,0,114,111,119,0,102,116,115,53,118,111,99,97,98,58,32,117,110,107,110,111,119,110,32,116,97,98,108,101,32,116,121,112,101,58,32,37,81,0,67,82,69,65,84,69,32,84,65,66,108,69,32,118,111,99,97,98,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99, +44,32,99,110,116,41,0,67,82,69,65,84,69,32,84,65,66,108,69,32,118,111,99,97,98,40,116,101,114,109,44,32,100,111,99,44,32,99,110,116,41,0,97,115,99,105,105,0,101,114,0,97,98,108,101,0,105,98,108,101,0,97,110,116,0,101,109,101,110,116,0,109,101,110,116,0,105,111,110,0,111,117,0,105,115,109,0,105,99,97,108,0,110,101,115,115,0,105,99,97,116,101,0,105,99,105,116,105,0,97,116,105,118,101,0,97,108,105,122,101,0,97,116,105,111,110,97,108,0,116,105,111,110,97,108,0,101,110,99,105,0,97,110,99,105,0,105,122, +101,114,0,108,111,103,105,0,98,108,105,0,97,108,108,105,0,101,110,116,108,105,0,101,108,105,0,111,117,115,108,105,0,105,122,97,116,105,111,110,0,97,116,105,111,110,0,97,116,111,114,0,97,108,105,115,109,0,105,118,101,110,101,115,115,0,102,117,108,110,101,115,115,0,111,117,115,110,101,115,115,0,97,108,105,116,105,0,105,118,105,116,105,0,98,105,108,105,116,105,0,97,116,0,98,108,0,105,122,0,101,101,100,0,101,100,0,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,116,111,107,101,110,99,104,97,114,115,0,115,101,112,97,114,97,116,111,114,115,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100, +100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,0,104,105,103,104,108,105,103,104,116,0,98,109,50,53,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,104,105,103,104,108,105,103,104,116,40,41,0,37,122,37,46,42,115,0,102,116,115,53,95,101,120,112,114,0,102, +116,115,53,95,101,120,112,114,95,116,99,108,0,102,116,115,53,95,105,115,97,108,110,117,109,0,102,116,115,53,95,102,111,108,100,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,102,116,115,53,95,102,111,108,100,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,102,116,115,53,95,105,115,97,108,110,117,109,0,110, +101,97,114,115,101,116,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,115,0,34,34,0,37,115,32,58,32,0,78,69,65,82,40,0,32,43,32,0,44,32,37,100,41,0,32,78,79,84,32,0,32,79,82,32,0,37,115,37,115,37,122,37,115,0,37,115,32,0,45,99,111,108,32,37,100,32,0,45,99,111,108,32,123,37,100,0,32,37,100,0,125,32,0,45,110,101,97,114,32,37,100,32,0,45,45,0,32,123,0,125,0,32,91,37,122,93,0,102,116,115,53,58,32,115, +121,110,116,97,120,32,101,114,114,111,114,32,110,101,97,114,32,34,37,46,42,115,34,0,16,1,17,3,17,3,17,3,17,3,17,1,19,1,19,2,18,1,18,3,21,4,21,3,21,1,21,2,22,2,22,1,20,1,20,5,23,1,23,2,25,0,25,2,24,4,24,2,26,1,26,0,240,248,0,9,17,28,26,35,33,13,13,22,54,13,51,98,16,51,5,53,27,83,7,26,15,51,5,53,27,13,69,26,48,51,5,53,27,19,11,26,9,20,51,5,53,27,13,22,26,28,51,5,53,27,68,1,26,19,11,17,9,52,10,53,27,23,24,26,54,3,4,2,26,6,21,49,71,3,4,2,7,56,59,55,59,4,2,12,69,58,60,18,67,62,69,25,66,8,14,2,101,120, +112,101,99,116,101,100,32,105,110,116,101,103,101,114,44,32,103,111,116,32,34,37,46,42,115,34,0,102,116,115,53,58,32,99,111,108,117,109,110,32,113,117,101,114,105,101,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,100,101,116,97,105,108,61,110,111,110,101,41,0,112,104,114,97,115,101,0,102,116,115,53,58,32,37,115,32,113,117,101,114,105,101,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,100,101,116,97,105,108,33,61,102,117,108,108,41,0,102, +116,115,53,58,32,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,34,34,34,34,34,14,20,3,36,1,59,64,64,65,65,53,61,56,58,63,68,67,70,67,71,72,67,77,81,16,17,18,19,20,21,5,6,24,17,18,19,20,21,11,14,24,17,18,19,20,21,8,9,24,11,17,18,19,20,21,11,12,24,17,18,19,20,21,26,6,24,8,9,22,11,18,11,20,21,24,25,24,20,1,2,3,24,23,24,7,0,1,2,3,6,10,11,10,11,2,3,9,14,11,11,22,26,7,14,13,11,5,11,3,97,97,97,97,97,76,91,97,97,96,96,97,97,96,96,97,97,97,97,97,73,89,97,90,97,97,87,97,72, +117,110,116,101,114,109,105,110,97,116,101,100,32,115,116,114,105,110,103,0,102,116,115,53,58,32,115,121,110,116,97,120,32,101,114,114,111,114,32,110,101,97,114,32,34,37,46,49,115,34,0,114,101,115,101,114,118,101,100,32,102,116,115,53,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,112,97,114,115,101,32,101,114,114,111,114,32,105,110,32,34,37,115,34,0,100,111,99,115,105,122,101,0,37,81,46,39,37,113,95,37,115,39,0,84,46,37,81,0,44,32,84,46,37,81,0,44,32,84,46,99,37,100,0,110,111,32,115,117,99, +104,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,101,114,114,111,114,32,105,110,32,116,111,107,101,110,105,122,101,114,32,99,111,110,115,116,114,117,99,116,111,114,0,114,101,115,101,114,118,101,100,32,102,116,115,53,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,117,110,105,110,100,101,120,101,100,0,117,110,114,101,99,111,103,110,105,122,101,100,32,99,111,108,117,109,110,32,111,112,116,105,111,110,58,32,37,115,0,109,97,108,102,111,114,109,101,100,32,112,114,101,102,105,120,61, +46,46,46,32,100,105,114,101,99,116,105,118,101,0,116,111,111,32,109,97,110,121,32,112,114,101,102,105,120,32,105,110,100,101,120,101,115,32,40,109,97,120,32,37,100,41,0,112,114,101,102,105,120,32,108,101,110,103,116,104,32,111,117,116,32,111,102,32,114,97,110,103,101,32,40,109,97,120,32,57,57,57,41,0,109,117,108,116,105,112,108,101,32,116,111,107,101,110,105,122,101,61,46,46,46,32,100,105,114,101,99,116,105,118,101,115,0,112,97,114,115,101,32,101,114,114,111,114,32,105,110,32,116,111,107,101,110, +105,122,101,32,100,105,114,101,99,116,105,118,101,0,109,117,108,116,105,112,108,101,32,99,111,110,116,101,110,116,61,46,46,46,32,100,105,114,101,99,116,105,118,101,115,0,37,81,46,37,81,0,99,111,110,116,101,110,116,95,114,111,119,105,100,0,109,117,108,116,105,112,108,101,32,99,111,110,116,101,110,116,95,114,111,119,105,100,61,46,46,46,32,100,105,114,101,99,116,105,118,101,115,0,99,111,108,117,109,110,115,105,122,101,0,109,97,108,102,111,114,109,101,100,32,99,111,108,117,109,110,115,105,122,101,61, +46,46,46,32,100,105,114,101,99,116,105,118,101,0,109,97,108,102,111,114,109,101,100,32,100,101,116,97,105,108,61,46,46,46,32,100,105,114,101,99,116,105,118,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,112,116,105,111,110,58,32,34,37,46,42,115,34,0,99,111,108,117,109,110,115,0,102,116,115,53,95,100,101,99,111,100,101,0,102,116,115,53,95,100,101,99,111,100,101,95,110,111,110,101,0,102,116,115,53,95,114,111,119,105,100,0,115,104,111,117,108,100,32,98,101,58,32,102,116,115,53,95,114,111, +119,105,100,40,115,117,98,106,101,99,116,44,32,46,46,46,46,41,0,115,101,103,109,101,110,116,0,115,104,111,117,108,100,32,98,101,58,32,102,116,115,53,95,114,111,119,105,100,40,39,115,101,103,109,101,110,116,39,44,32,115,101,103,105,100,44,32,112,103,110,111,41,41,0,102,105,114,115,116,32,97,114,103,32,116,111,32,102,116,115,53,95,114,111,119,105,100,40,41,32,109,117,115,116,32,98,101,32,39,115,101,103,109,101,110,116,39,0,32,37,100,40,37,108,108,100,41,0,32,116,101,114,109,61,37,46,42,115,0,99,111, +114,114,117,112,116,0,32,105,100,61,37,108,108,100,0,32,110,80,111,115,61,37,100,37,115,0,43,0,32,37,108,108,100,37,115,0,32,123,108,118,108,61,37,100,32,110,77,101,114,103,101,61,37,100,32,110,83,101,103,61,37,100,0,32,123,105,100,61,37,100,32,108,101,97,118,101,115,61,37,100,46,46,37,100,125,0,37,115,37,100,0,123,97,118,101,114,97,103,101,115,125,32,0,123,115,116,114,117,99,116,117,114,101,125,0,100,108,105,100,120,32,0,123,37,115,115,101,103,105,100,61,37,100,32,104,61,37,100,32,112,103,110,111, +61,37,100,125,0,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,100,97,116,97,39,40,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,100,97,116,97,39,32,87,72,69,82,69,32,105,100,62,61,63,32,65,78,68,32,105,100,60,61,63,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,105,100,120,39,32,87,72,69,82,69,32,115,101,103,105,100,61,63,0,73,78,83,69,82,84,32,73,78,84,79,32,39,37, +113,39,46,39,37,113,95,105,100,120,39,40,115,101,103,105,100,44,116,101,114,109,44,112,103,110,111,41,32,86,65,76,85,69,83,40,63,44,63,44,63,41,0,100,97,116,97,0,99,111,110,102,105,103,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,37,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,37,115,39,59,0,110,111,32,115,117,99,104,32,99,117,114,115,111,114,58,32,37,108,108,100,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,84,32,87,72,69,82,69,32,84,46,37,81,32,62,61,32,63,32, +65,78,68,32,84,46,37,81,32,60,61,32,63,32,79,82,68,69,82,32,66,89,32,84,46,37,81,32,65,83,67,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,84,32,87,72,69,82,69,32,84,46,37,81,32,60,61,32,63,32,65,78,68,32,84,46,37,81,32,62,61,32,63,32,79,82,68,69,82,32,66,89,32,84,46,37,81,32,68,69,83,67,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,84],"i8",4,n.G+40960); +z([32,87,72,69,82,69,32,84,46,37,81,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,105,100,61,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,105,100,61,63,0,83,69,76,69,67,84,32,115,122,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99, +115,105,122,101,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,102,105,103,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,65,83,32,84,0,85,80,68,65,84,69,0,68,69,76,69,84,69,32,102,114,111,109,0,99,97,110,110,111,116,32,37,115,32,99,111,110,116,101,110,116,108,101,115,115,32,102,116,115,53,32,116,97,98,108,101,58,32,37,115,0,100,101,108,101,116,101,45,97,108,108,0,39,100,101,108,101, +116,101,45,97,108,108,39,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,32,99,111,110,116,101,110,116,108,101,115,115,32,111,114,32,101,120,116,101,114,110,97,108,32,99,111,110,116,101,110,116,32,102,116,115,53,32,116,97,98,108,101,0,39,114,101,98,117,105,108,100,39,32,109,97,121,32,110,111,116,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,32,99,111,110,116,101,110,116,108,101,115,115,32,102,116,115,53,32,116,97,98,108,101,0,109,101,114,103,101,0,83, +69,76,69,67,84,32,115,101,103,105,100,44,32,116,101,114,109,44,32,40,112,103,110,111,62,62,49,41,44,32,40,112,103,110,111,38,49,41,32,70,82,79,77,32,37,81,46,39,37,113,95,105,100,120,39,32,87,72,69,82,69,32,115,101,103,105,100,61,37,100,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,37,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,97,116,97,39,59,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,105,100,120,39,59,0,68,69, +76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,59,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,115,0,37,115,58,32,116,97,98,108,101,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,99,97,110,110,105,110,103,0,83,69,76,69,67,84,32,114,111,119,105,100,44,32,114,97,110,107,32,70,82,79,77,32,37,81,46,37,81,32,79,82,68,69,82,32,66,89,32,37,115,40,37,115,37,115,37,115,41,32,37,115,0,114,101,97,100,115,0,117,110,107,110, +111,119,110,32,115,112,101,99,105,97,108,32,113,117,101,114,121,58,32,37,46,42,115,0,112,97,114,115,101,32,101,114,114,111,114,32,105,110,32,114,97,110,107,32,102,117,110,99,116,105,111,110,58,32,37,115,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,97,116,97,39,59,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,105,100,120,39,59,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99, +111,110,102,105,103,39,59,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,59,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,0,37,122,37,115,37,81,0,37,122,44,32,37,81,32,72,73,68,68,69,78,44,32,37,115,32,72,73,68,68,69,78,41,0,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,44,32,99,37,100, +0,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,122,32,66,76,79,66,0,107,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,0,32,87,73,84,72,79,85,84,32,82,79,87,73,68,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,37,113,39,40,37,115,41,37,115,0,102,116,115,53,58,32,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,115,104,97,100,111,119,32,116,97,98,108,101,32,37,113,95,37,115,58,32,37,115,0,37,115,95,100,97,116,97,0,105,100,32,73,78,84,69,71,69, +82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,0,115,101,103,105,100,44,32,116,101,114,109,44,32,112,103,110,111,44,32,80,82,73,77,65,82,89,32,75,69,89,40,115,101,103,105,100,44,32,116,101,114,109,41,0,77,65,84,67,72,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115, +0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78, +111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32, +115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82, +101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108, +101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105, +108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102, +105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111, +99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101, +114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108, +101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108, +101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108, +0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32, +105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108, +101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0],"i8",4,n.G+51200);var gb=p;p+=16;e._i64Subtract=hb;e._i64Add=ib;e._pthread_mutex_lock=jb; +var E={q:1,p:2,md:3,ic:4,v:5,ta:6,Cb:7,Gc:8,t:9,Qb:10,pa:11,wd:11,ra:12,L:13,bc:14,Sc:15,M:16,qa:17,xd:18,R:19,S:20,N:21,h:22,Bc:23,Ma:24,F:25,td:26,cc:27,Oc:28,T:29,jd:30,uc:31,bd:32,Zb:33,Na:34,Kc:42,fc:43,Rb:44,lc:45,mc:46,nc:47,tc:48,ud:49,Ec:50,kc:51,Wb:35,Hc:37,Ib:52,Lb:53,yd:54,Cc:55,Mb:56,Nb:57,Xb:35,Ob:59,Qc:60,Fc:61,qd:62,Pc:63,Lc:64,Mc:65,hd:66,Ic:67,Fb:68,nd:69,Sb:70,cd:71,wc:72,$b:73,Kb:74,Xc:76,Jb:77,gd:78,oc:79,pc:80,sc:81,rc:82,qc:83,Rc:38,sa:39,xc:36,ba:40,Yc:95,ad:96,Vb:104,Dc:105, +Gb:97,ed:91,Vc:88,Nc:92,kd:108,Ub:111,Db:98,Tb:103,Ac:101,yc:100,rd:110,dc:112,ec:113,hc:115,Hb:114,Yb:89,vc:90,dd:93,ld:94,Eb:99,zc:102,jc:106,Tc:107,sd:109,vd:87,ac:122,od:116,Wc:95,Jc:123,gc:84,Zc:75,Pb:125,Uc:131,$c:130,pd:86},kb={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 Cb(a){f.___errno_location&&(w[f.___errno_location()>>2]=a);return a} -function Db(a,b){for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function Eb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=Db(a.split("/").filter(function(a){return!!a}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a} -function Fb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function Gb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function Hb(){var a=Array.prototype.slice.call(arguments,0);return Eb(a.join("/"))}function E(a,b){return Eb(a+"/"+b)} -function Ib(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Db(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var Jb=[];function Kb(a,b){Jb[a]={input:[],output:[],W:b};Lb(a,Mb)} -var Mb={open:function(a){var b=Jb[a.g.rdev];if(!b)throw new H(D.ha);a.tty=b;a.seekable=!1},close:function(a){a.tty.W.flush(a.tty)},flush:function(a){a.tty.W.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.W.Ya)throw new H(D.Ka);for(var e=0,g=0;ga.e.length&&(a.e=J.wb(a),a.q=a.e.length);if(!a.e||a.e.subarray){var c=a.e?a.e.buffer.byteLength:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.e,a.e=new Uint8Array(b),0b)a.e.length= -b;else for(;a.e.length=a.g.q)return 0;a=Math.min(a.g.q-e,d);assert(0<=a);if(8b)throw new H(D.p);return b},Ma:function(a,b,c){J.Sa(a.g,b+c);a.g.q=Math.max(a.g.q,b+c)},oa:function(a,b,c,d,e,g,h){if(32768!==(a.g.mode&61440))throw new H(D.ha);c=a.g.e;if(h& -2||c.buffer!==b&&c.buffer!==b.buffer){if(0>1)}catch(c){if(!c.code)throw c;throw new H(D[c.code]);}return b.mode},F:function(a){for(var b=[];a.parent!==a;)b.push(a.name),a=a.parent;b.push(a.D.Ba.root);b.reverse();return Hb.apply(null,b)},Ta:{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+"},ub:function(a){a&=-32769;if(a in L.Ta)return L.Ta[a];throw new H(D.p);},k:{G:function(a){a=L.F(a);var b;try{b=fs.lstatSync(a)}catch(c){if(!c.code)throw c;throw new H(D[c.code]);}L.na&&!b.P&&(b.P=4096);L.na&&!b.blocks&&(b.blocks=(b.size+b.P-1)/b.P|0);return{dev:b.dev,ino:b.ino,mode:b.mode,nlink:b.nlink,uid:b.uid,gid:b.gid,rdev:b.rdev,size:b.size,atime:b.atime,mtime:b.mtime,ctime:b.ctime,P:b.P,blocks:b.blocks}},B:function(a, -b){var c=L.F(a);try{void 0!==b.mode&&(fs.chmodSync(c,b.mode),a.mode=b.mode),void 0!==b.size&&fs.truncateSync(c,b.size)}catch(d){if(!d.code)throw d;throw new H(D[d.code]);}},lookup:function(a,b){var c=E(L.F(a),b),c=L.Wa(c);return L.createNode(a,b,c)},da:function(a,b,c,d){a=L.createNode(a,b,c,d);b=L.F(a);try{K(a.mode)?fs.mkdirSync(b,a.mode):fs.writeFileSync(b,"",{mode:a.mode})}catch(e){if(!e.code)throw e;throw new H(D[e.code]);}return a},rename:function(a,b,c){a=L.F(a);b=E(L.F(b),c);try{fs.renameSync(a, -b)}catch(d){if(!d.code)throw d;throw new H(D[d.code]);}},unlink:function(a,b){var c=E(L.F(a),b);try{fs.unlinkSync(c)}catch(d){if(!d.code)throw d;throw new H(D[d.code]);}},rmdir:function(a,b){var c=E(L.F(a),b);try{fs.rmdirSync(c)}catch(d){if(!d.code)throw d;throw new H(D[d.code]);}},readdir:function(a){a=L.F(a);try{return fs.readdirSync(a)}catch(b){if(!b.code)throw b;throw new H(D[b.code]);}},symlink:function(a,b,c){a=E(L.F(a),b);try{fs.symlinkSync(c,a)}catch(d){if(!d.code)throw d;throw new H(D[d.code]); -}},readlink:function(a){var b=L.F(a);try{return b=fs.readlinkSync(b),b=Tb.relative(Tb.resolve(a.D.Ba.root),b)}catch(c){if(!c.code)throw c;throw new H(D[c.code]);}}},n:{open:function(a){var b=L.F(a.g);try{32768===(a.g.mode&61440)&&(a.ea=fs.openSync(b,L.ub(a.flags)))}catch(c){if(!c.code)throw c;throw new H(D[c.code]);}},close:function(a){try{32768===(a.g.mode&61440)&&a.ea&&fs.closeSync(a.ea)}catch(b){if(!b.code)throw b;throw new H(D[b.code]);}},read:function(a,b,c,d,e){if(0===d)return 0;var g=new Buffer(d), -h;try{h=fs.readSync(a.ea,g,0,d,e)}catch(m){throw new H(D[m.code]);}if(0b)throw new H(D.p);return b}}};z(1,"i32*",2);z(1,"i32*",2);z(1,"i32*",2); -var Ub=null,Vb=[null],M=[],Wb=1,Xb=null,Yb=!0,N={},H=null,Rb={}; -function O(a,b){a=Ib("/",a);b=b||{};if(!a)return{path:"",g:null};var c={Ua:!0,Da:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8>>0)%Xb.length}function ac(a){var b=$b(a.parent.id,a.name);a.V=Xb[b];Xb[b]=a}function bc(a){var b=$b(a.parent.id,a.name);if(Xb[b]===a)Xb[b]=a.V;else for(b=Xb[b];b;){if(b.V===a){b.V=a.V;break}b=b.V}} -function Sb(a,b){var c;if(c=(c=cc(a,"x"))?c:a.k.lookup?0:D.Y)throw new H(c,a);for(c=Xb[$b(a.id,b)];c;c=c.V){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.k.lookup(a,b)} -function Qb(a,b,c,d){dc||(dc=function(a,b,c,d){a||(a=this);this.parent=a;this.D=a.D;this.U=null;this.id=Wb++;this.name=b;this.mode=c;this.k={};this.n={};this.rdev=d},dc.prototype={},Object.defineProperties(dc.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},Fb:{get:function(){return K(this.mode)}},Eb:{get:function(){return 8192===(this.mode& -61440)}}}));a=new dc(a,b,c,d);ac(a);return a}function K(a){return 16384===(a&61440)}var ec={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};function cc(a,b){if(Yb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return D.Y}else return D.Y;return 0}function fc(a,b){try{return Sb(a,b),D.Ha}catch(c){}return cc(a,"wx")} -function gc(a,b,c){var d;try{d=Sb(a,b)}catch(e){return e.o}if(a=cc(a,"wx"))return a;if(c){if(!K(d.mode))return D.ia;if(d===d.parent||"/"===P(d))return D.Z}else if(K(d.mode))return D.S;return 0}function hc(a){var b;b=4096;for(a=a||0;a<=b;a++)if(!M[a])return a;throw new H(D.eb);} -function ic(a,b){jc||(jc=function(){},jc.prototype={},Object.defineProperties(jc.prototype,{object:{get:function(){return this.g},set:function(a){this.g=a}},Fe:{get:function(){return 1!==(this.flags&2097155)}},Ge:{get:function(){return 0!==(this.flags&2097155)}},Ee:{get:function(){return this.flags&1024}}}));var c=new jc,d;for(d in a)c[d]=a[d];a=c;c=hc(b);a.fd=c;return M[c]=a}var Pb={open:function(a){a.n=Vb[a.g.rdev].n;a.n.open&&a.n.open(a)},N:function(){throw new H(D.ja);}}; -function Lb(a,b){Vb[a]={n:b}}function kc(a,b){var c="/"===b,d=!b,e;if(c&&Ub)throw new H(D.Z);if(!c&&!d){e=O(b,{Ua:!1});b=e.path;e=e.g;if(e.U)throw new H(D.Z);if(!K(e.mode))throw new H(D.ia);}var d={type:a,Ba:{},$a:b,Jb:[]},g=a.D(d);g.D=d;d.root=g;c?Ub=g:e&&(e.U=d,e.D&&e.D.Jb.push(d))}function mc(a,b,c){var d=O(a,{parent:!0}).g;a=Gb(a);if(!a||"."===a||".."===a)throw new H(D.p);var e=fc(d,a);if(e)throw new H(e);if(!d.k.da)throw new H(D.H);return d.k.da(d,a,b,c)} -function nc(a,b){b=(void 0!==b?b:438)&4095;b|=32768;return mc(a,b,0)}function Q(a,b){b=(void 0!==b?b:511)&1023;b|=16384;return mc(a,b,0)}function oc(a,b,c){"undefined"===typeof c&&(c=b,b=438);return mc(a,b|8192,c)}function pc(a,b){if(!Ib(a))throw new H(D.J);var c=O(b,{parent:!0}).g;if(!c)throw new H(D.J);var d=Gb(b),e=fc(c,d);if(e)throw new H(e);if(!c.k.symlink)throw new H(D.H);return c.k.symlink(c,d,a)} -function qc(a){var b=O(a,{parent:!0}).g,c=Gb(a),d=Sb(b,c),e=gc(b,c,!1);if(e)throw e===D.S&&(e=D.H),new H(e);if(!b.k.unlink)throw new H(D.H);if(d.U)throw new H(D.Z);try{N.willDeletePath&&N.willDeletePath(a)}catch(g){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.k.unlink(b,c);bc(d);try{if(N.onDeletePath)N.onDeletePath(a)}catch(h){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+h.message)}} -function Zb(a){a=O(a).g;if(!a)throw new H(D.J);if(!a.k.readlink)throw new H(D.p);return Ib(P(a.parent),a.k.readlink(a))}function rc(a,b){var c=O(a,{Q:!b}).g;if(!c)throw new H(D.J);if(!c.k.G)throw new H(D.H);return c.k.G(c)}function sc(a){return rc(a,!0)}function tc(a,b){var c;"string"===typeof a?c=O(a,{Q:!0}).g:c=a;if(!c.k.B)throw new H(D.H);c.k.B(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})} -function uc(a){var b;"string"===typeof a?b=O(a,{Q:!0}).g:b=a;if(!b.k.B)throw new H(D.H);b.k.B(b,{timestamp:Date.now()})}function vc(a,b){if(0>b)throw new H(D.p);var c;"string"===typeof a?c=O(a,{Q:!0}).g:c=a;if(!c.k.B)throw new H(D.H);if(K(c.mode))throw new H(D.S);if(32768!==(c.mode&61440))throw new H(D.p);var d=cc(c,"w");if(d)throw new H(d);c.k.B(c,{size:b,timestamp:Date.now()})} -function wc(a,b,c,d){if(""===a)throw new H(D.J);if("string"===typeof b){var e=ec[b];if("undefined"===typeof e)throw Error("Unknown file open mode: "+b);b=e}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;var g;if("object"===typeof a)g=a;else{a=Eb(a);try{g=O(a,{Q:!(b&131072)}).g}catch(h){}}e=!1;if(b&64)if(g){if(b&128)throw new H(D.Ha);}else g=mc(a,c,0),e=!0;if(!g)throw new H(D.J);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!K(g.mode))throw new H(D.ia);if(!e&&(g?40960===(g.mode&61440)?c=D.sa:K(g.mode)&& -(0!==(b&2097155)||b&512)?c=D.S:(c=["r","w","rw"][b&3],b&512&&(c+="w"),c=cc(g,c)):c=D.J,c))throw new H(c);b&512&&vc(g,0);b&=-641;d=ic({g:g,path:P(g),flags:b,seekable:!0,position:0,n:g.n,Sb:[],error:!1},d);d.n.open&&d.n.open(d);!f.logReadFiles||b&1||(xc||(xc={}),a in xc||(xc[a]=1,f.printErr("read file: "+a)));try{N.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),N.onOpenFile(a,g))}catch(m){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+m.message)}return d} -function yc(a){a.za&&(a.za=null);try{a.n.close&&a.n.close(a)}catch(b){throw b;}finally{M[a.fd]=null}}function zc(a,b,c){if(!a.seekable||!a.n.N)throw new H(D.ja);a.position=a.n.N(a,b,c);a.Sb=[]}function Ac(a,b,c,d,e){if(0>d||0>e)throw new H(D.p);if(1===(a.flags&2097155))throw new H(D.L);if(K(a.g.mode))throw new H(D.S);if(!a.n.read)throw new H(D.p);var g=!0;if("undefined"===typeof e)e=a.position,g=!1;else if(!a.seekable)throw new H(D.ja);b=a.n.read(a,b,c,d,e);g||(a.position+=b);return b} -function Bc(a,b,c,d,e,g){if(0>d||0>e)throw new H(D.p);if(0===(a.flags&2097155))throw new H(D.L);if(K(a.g.mode))throw new H(D.S);if(!a.n.write)throw new H(D.p);a.flags&1024&&zc(a,0,2);var h=!0;if("undefined"===typeof e)e=a.position,h=!1;else if(!a.seekable)throw new H(D.ja);b=a.n.write(a,b,c,d,e,g);h||(a.position+=b);try{if(a.path&&N.onWriteToFile)N.onWriteToFile(a.path)}catch(m){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+m.message)}return b} -function Cc(){H||(H=function(a,b){this.g=b;this.Pb=function(a){this.o=a;for(var b in D)if(D[b]===a){this.code=b;break}};this.Pb(a);this.message=Bb[a]},H.prototype=Error(),H.prototype.constructor=H,[D.J].forEach(function(a){Rb[a]=new H(a);Rb[a].stack=""}))}var Dc;function Ec(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}function Fc(a,b,c,d){a=E("string"===typeof a?a:P(a),b);return nc(a,Ec(c,d))} -function Gc(a,b,c,d,e,g){a=b?E("string"===typeof a?a:P(a),b):a;d=Ec(d,e);e=nc(a,d);if(c){if("string"===typeof c){a=Array(c.length);b=0;for(var h=c.length;b>2]=d.dev;w[c+4>>2]=0;w[c+8>>2]=d.ino;w[c+12>>2]=d.mode;w[c+16>>2]=d.nlink;w[c+20>>2]=d.uid;w[c+24>>2]=d.gid;w[c+28>>2]=d.rdev;w[c+32>>2]=0;w[c+36>>2]=d.size;w[c+40>>2]=4096;w[c+44>>2]=d.blocks;w[c+48>>2]=d.atime.getTime()/1E3|0;w[c+52>>2]=0;w[c+56>>2]=d.mtime.getTime()/1E3|0;w[c+60>>2]=0;w[c+64>>2]=d.ctime.getTime()/1E3|0;w[c+68>>2]=0;w[c+72>>2]=d.ino;return 0}var S=0; -function T(){S+=4;return w[S-4>>2]}function U(){return q(T())}function Lc(){var a;a=T();a=M[a];if(!a)throw new H(D.L);return a}var xa=void 0;function Mc(a){a=a/1E3;if((ca||da)&&self.performance&&self.performance.now)for(var b=self.performance.now();self.performance.now()-b>2]=60*-(new Date).getTimezoneOffset();var b=new Date(2E3,0,1),c=new Date(2E3,6,1);w[Pc>>2]=Number(b.getTimezoneOffset()!=c.getTimezoneOffset());var d=a(b),e=a(c),d=z(B(d),"i8",0),e=z(B(e),"i8",0);c.getTimezoneOffset()>2]=d,w[Oc+4>>2]=e):(w[Oc>>2]=e,w[Oc+4>>2]=d)}} -function Sc(a,b){Rc();var c=new Date(1E3*w[a>>2]);w[b>>2]=c.getSeconds();w[b+4>>2]=c.getMinutes();w[b+8>>2]=c.getHours();w[b+12>>2]=c.getDate();w[b+16>>2]=c.getMonth();w[b+20>>2]=c.getFullYear()-1900;w[b+24>>2]=c.getDay();var d=new Date(c.getFullYear(),0,1);w[b+28>>2]=(c.getTime()-d.getTime())/864E5|0;w[b+36>>2]=-(60*c.getTimezoneOffset());c=c.getTimezoneOffset()==Math.min(d.getTimezoneOffset(),(new Date(2E3,6,1)).getTimezoneOffset())|0;w[b+32>>2]=c;w[b+40>>2]=w[Oc+(c?l.M:0)>>2];return b} -f._bitshift64Lshr=Tc;function Uc(a,b){eb.push(function(){l.T("vi",a,[b])});Uc.level=eb.length}var Vc=z(1,"i32*",2); -function Wc(a){var b,c;Wc.C?(c=w[Vc>>2],b=w[c>>2]):(Wc.C=!0,V.USER=V.LOGNAME="web_user",V.PATH="/",V.PWD="/",V.HOME="/home/web_user",V.LANG="C",V._=f.thisProgram,b=z(1024,"i8",2),c=z(256,"i8*",2),w[c>>2]=b,w[Vc>>2]=c);var d=[],e=0,g;for(g in a)if("string"===typeof a[g]){var h=g+"="+a[g];d.push(h);e+=h.length}if(1024>2]=b,b+=h.length+1;w[c+4*d.length>>2]=0}var V={}; -function Xc(a){if(0===a)return 0;a=q(a);if(!V.hasOwnProperty(a))return 0;Xc.C&&Pa(Xc.C);Xc.C=z(B(V[a]),"i8",0);return Xc.C}f._memcpy=Yc;function Ia(a){Ia.Va||(n=Sa(),Ia.Va=!0,assert(l.ba),Ia.Gb=l.ba,l.ba=function(){p("cannot dynamically allocate, sbrk now has control")});var b=n;return 0==a||Ia.Gb(a)?b:4294967295}f._memmove=Zc;function $c(a,b){S=b;return 0}f._memset=ad;f._bitshift64Shl=bd;var cd=Ca; -function dd(a,b){ed=a;fd=b;if(!gd)return 1;if(0==a)hd=function(){setTimeout(id,b)},jd="timeout";else if(1==a)hd=function(){kd(id)},jd="rAF";else if(2==a){if(!window.setImmediate){var c=[];window.addEventListener("message",function(a){a.source===window&&"__emcc"===a.data&&(a.stopPropagation(),c.shift()())},!0);window.setImmediate=function(a){c.push(a);window.postMessage("__emcc","*")}}hd=function(){window.setImmediate(id)};jd="immediate"}return 0} -function ld(a,b,c,d,e){f.noExitRuntime=!0;assert(!gd,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");gd=a;md=d;var g=nd;id=function(){if(!oa)if(0>h-6&63,h=h-6,c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[v];2==h?(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(g&3)<<4],c+="=="):4==h&&(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(g&15)<<2],c+="=");G.src="data:audio/x-"+b.substr(-3)+";base64,"+c;m(G)}};G.src=x;Dd(function(){m(G)})}else return t()}});var c=f.canvas;c&&(c.Ea=c.requestPointerLock||c.mozRequestPointerLock|| -c.webkitRequestPointerLock||c.msRequestPointerLock||function(){},c.Ra=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},c.Ra=c.Ra.bind(document),document.addEventListener("pointerlockchange",a,!1),document.addEventListener("mozpointerlockchange",a,!1),document.addEventListener("webkitpointerlockchange",a,!1),document.addEventListener("mspointerlockchange",a,!1),f.elementPointerLock&&c.addEventListener("click",function(a){!vd&& -c.Ea&&(c.Ea(),a.preventDefault())},!1))}}function Ed(a,b,c,d){if(b&&f.wa&&a==f.canvas)return f.wa;var e,g;if(b){g={antialias:!1,alpha:!1};if(d)for(var h in d)g[h]=d[h];if(g=GL.createContext(a,g))e=GL.getContext(g).Zd;a.style.backgroundColor="black"}else e=a.getContext("2d");if(!e)return null;c&&(b||assert("undefined"===typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),f.wa=e,b&&GL.Ie(g),f.Le=b,wd.forEach(function(a){a()}),xd());return e} -var Fd=!1,Gd=void 0,Hd=void 0; -function Id(a,b,c){function d(){ud=!1;var a=e.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===a?(e.Pa=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){}, -e.Pa=e.Pa.bind(document),Gd&&e.Ea(),ud=!0,Hd&&Jd()):(a.parentNode.insertBefore(e,a),a.parentNode.removeChild(a),Hd&&Kd());if(f.onFullScreen)f.onFullScreen(ud);Ld(e)}Gd=a;Hd=b;Md=c;"undefined"===typeof Gd&&(Gd=!0);"undefined"===typeof Hd&&(Hd=!1);"undefined"===typeof Md&&(Md=null);var e=f.canvas;Fd||(Fd=!0,document.addEventListener("fullscreenchange",d,!1),document.addEventListener("mozfullscreenchange",d,!1),document.addEventListener("webkitfullscreenchange",d,!1),document.addEventListener("MSFullscreenChange", -d,!1));var g=document.createElement("div");e.parentNode.insertBefore(g,e);g.appendChild(e);g.C=g.requestFullScreen||g.mozRequestFullScreen||g.msRequestFullscreen||(g.webkitRequestFullScreen?function(){g.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null);c?g.C({Me:c}):g.C()}var Nd=0;function Od(a){var b=Date.now();if(0===Nd)Nd=b+1E3/60;else for(;b+2>=Nd;)Nd+=1E3/60;b=Math.max(Nd-b,0);setTimeout(a,b)} -function kd(a){"undefined"===typeof window?Od(a):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Od),window.requestAnimationFrame(a))}function Dd(a){f.noExitRuntime=!0;setTimeout(function(){oa||a()},1E4)} -function Cd(a){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".")+1)]}function Pd(a,b,c){var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)} -function Qd(a,b,c){Pd(a,function(c){assert(c,'Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(c));xb()},function(){if(c)c();else throw'Loading data file "'+a+'" failed.';});wb()}var Rd=[];function Sd(){var a=f.canvas;Rd.forEach(function(b){b(a.width,a.height)})}function Jd(){if("undefined"!=typeof SDL){var a=Ua[SDL.screen+0*l.M>>2];w[SDL.screen+0*l.M>>2]=a|8388608}Sd()} -function Kd(){if("undefined"!=typeof SDL){var a=Ua[SDL.screen+0*l.M>>2];w[SDL.screen+0*l.M>>2]=a&-8388609}Sd()} -function Ld(a,b,c){b&&c?(a.Tb=b,a.Cb=c):(b=a.Tb,c=a.Cb);var d=b,e=c;f.forcedAspectRatio&&0this.length-1||0>a)){var b=a%this.chunkSize;return this.Bb(a/this.chunkSize|0)[b]}};m.prototype.Ob=function(a){this.Bb=a};m.prototype.Oa=function(){var a=new XMLHttpRequest;a.open("HEAD",c,!1);a.send(null);if(!(200<=a.status&&300>a.status||304===a.status))throw Error("Couldn't load "+c+". Status: "+a.status);var b=Number(a.getResponseHeader("Content-length")),d,e=1048576;(d=a.getResponseHeader("Accept-Ranges"))&& -"bytes"===d||(e=b);var g=this;g.Ob(function(a){var d=a*e,h=(a+1)*e-1,h=Math.min(h,b-1);if("undefined"===typeof g.ma[a]){var m=g.ma;if(d>h)throw Error("invalid range ("+d+", "+h+") or no bytes requested!");if(h>b-1)throw Error("only "+b+" bytes available! programmer error!");var r=new XMLHttpRequest;r.open("GET",c,!1);b!==e&&r.setRequestHeader("Range","bytes="+d+"-"+h);"undefined"!=typeof Uint8Array&&(r.responseType="arraybuffer");r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined"); -r.send(null);if(!(200<=r.status&&300>r.status||304===r.status))throw Error("Couldn't load "+c+". Status: "+r.status);d=void 0!==r.response?new Uint8Array(r.response||[]):B(r.responseText||"",!0);m[a]=d}if("undefined"===typeof g.ma[a])throw Error("doXHR failed!");return g.ma[a]});this.lb=b;this.kb=e;this.Aa=!0};if("undefined"!==typeof XMLHttpRequest){if(!da)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";g=new m;Object.defineProperty(g, -"length",{get:function(){this.Aa||this.Oa();return this.lb}});Object.defineProperty(g,"chunkSize",{get:function(){this.Aa||this.Oa();return this.kb}});h=void 0}else h=c,g=void 0;var t=Fc(a,b,d,e);g?t.e=g:h&&(t.e=null,t.url=h);Object.defineProperty(t,"usedBytes",{get:function(){return this.e.length}});var r={};Object.keys(t.n).forEach(function(a){var b=t.n[a];r[a]=function(){if(!Ic(t))throw new H(D.O);return b.apply(null,arguments)}});r.read=function(a,b,c,d,e){if(!Ic(t))throw new H(D.O);a=a.g.e;if(e>= -a.length)return 0;d=Math.min(a.length-e,d);assert(0<=d);if(a.slice)for(var g=0;g=g)e=-D.p;else{var h=Zb(c),h=h.slice(0,Math.max(0,g));wa(h,d,!0);e=h.length}return e}catch(m){return"undefined"!==typeof R&&m instanceof H||p(m),-m.o}},_sin:jb,_exp:pb,_utimes:function(a,b){var c;b?(c=1E3*w[b+8>>2],c+=w[b+12>>2]/1E3):c=Date.now();a=q(a);try{var d=c,e=O(a,{Q:!0}).g;e.k.B(e,{timestamp:Math.max(d,c)});return 0}catch(g){if(!(g instanceof H))throw g+" : "+Qa();Cb(g.o);return-1}},_llvm_pow_f64:sb,_acos:lb,___syscall54:function(a,b){S=b;try{var c=Lc(), -d=T();switch(d){case 21505:return c.tty?0:-D.$;case 21506:return c.tty?0:-D.$;case 21519:if(!c.tty)return-D.$;var e=T();return w[e>>2]=0;case 21520:return c.tty?-D.p:-D.$;case 21531:e=T();if(!c.n.Db)throw new H(D.$);return c.n.Db(c,d,e);default:p("bad ioctl syscall "+d)}}catch(g){return"undefined"!==typeof R&&g instanceof H||p(g),-g.o}},_pthread_cleanup_push:Uc,_abort:function(){f.abort()},___syscall40:function(a,b){S=b;try{var c=U(),d=O(c,{parent:!0}).g,e=Gb(c),g=Sb(d,e),h=gc(d,e,!0);if(h)throw new H(h); -if(!d.k.rmdir)throw new H(D.H);if(g.U)throw new H(D.Z);try{N.willDeletePath&&N.willDeletePath(c)}catch(m){console.log("FS.trackingDelegate['willDeletePath']('"+c+"') threw an exception: "+m.message)}d.k.rmdir(d,e);bc(g);try{if(N.onDeletePath)N.onDeletePath(c)}catch(t){console.log("FS.trackingDelegate['onDeletePath']('"+c+"') threw an exception: "+t.message)}return 0}catch(r){return"undefined"!==typeof R&&r instanceof H||p(r),-r.o}},___syscall118:function(a,b){S=b;try{return Lc(),0}catch(c){return"undefined"!== -typeof R&&c instanceof H||p(c),-c.o}},___setErrNo:Cb,___syscall20:function(a,b){S=b;return 42},___syscall183:function(a,b){S=b;try{var c=T(),d=T();if(0===d)return-D.p;if(2>d)return-D.fb;Ka("/",c);return c}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}},___assert_fail:function(a,b,c,d){oa=!0;throw"Assertion failed: "+q(a)+", at: "+[b?q(b):"unknown filename",c,d?q(d):"unknown function"]+" at "+Qa();},_usleep:Mc,_asin:mb,___buildEnvironment:Wc,___syscall202:$c,___syscall91:function(a, -b){S=b;try{var c=T(),d=T(),e=Jc[c];if(!e)return 0;if(d===e.Hb){var g=M[e.fd],h=e.flags,m=new Uint8Array(A.subarray(c,c+d));g&&g.n.pa&&g.n.pa(g,m,0,d,h);Jc[c]=null;e.ua&&Pa(e.Ib)}return 0}catch(t){return"undefined"!==typeof R&&t instanceof H||p(t),-t.o}},_cos:ib,___syscall39:function(a,b){S=b;try{var c=U(),d=T(),c=Eb(c);"/"===c[c.length-1]&&(c=c.substr(0,c.length-1));Q(c,d);return 0}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}},_localtime_r:Sc,_tzset:Rc,_emscripten_set_main_loop_timing:dd, -_sbrk:Ia,___syscall192:function(a,b){S=b;try{var c=T(),d=T(),e=T(),g=T(),h=T(),m=T(),m=m<<12,t,r=!1;if(-1===h){t=Ga(d);if(!t)return-D.Ia;ad(t,0,d);r=!0}else{var x=M[h];if(!x)return-D.L;var v,G=A;if(1===(x.flags&2097155))throw new H(D.Y);if(!x.n.oa)throw new H(D.ha);v=x.n.oa(x,G,c,d,m,e,g);t=v.Kb;r=v.ua}Jc[t]={Ib:t,Hb:d,ua:r,fd:h,flags:g};return t}catch(I){return"undefined"!==typeof R&&I instanceof H||p(I),-I.o}},___syscall197:function(a,b){S=b;try{var c=Lc(),d=T();return Kc(rc,c.path,d)}catch(e){return"undefined"!== -typeof R&&e instanceof H||p(e),-e.o}},___syscall196:function(a,b){S=b;try{var c=U(),d=T();return Kc(sc,c,d)}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}},___syscall195:function(a,b){S=b;try{var c=U(),d=T();return Kc(rc,c,d)}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}},___syscall194:function(a,b){S=b;try{var c=T();assert(0===T());var d=T(),e=T();0<=d?assert(0===e):assert(-1===e);var g=M[c];if(!g)throw new H(D.L);if(0===(g.flags&2097155))throw new H(D.p);vc(g.g, -d);return 0}catch(h){return"undefined"!==typeof R&&h instanceof H||p(h),-h.o}},___syscall212:function(a,b){S=b;try{var c=U();T();T();uc(c);return 0}catch(d){return"undefined"!==typeof R&&d instanceof H||p(d),-d.o}},_sysconf:function(a){switch(a){case 30:return 4096;case 85:return $a/4096;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 1E3;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:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}Cb(D.p);return-1}, -___syscall94:function(a,b){S=b;try{var c=T(),d=T(),e=M[c];if(!e)throw new H(D.L);tc(e.g,d);return 0}catch(g){return"undefined"!==typeof R&&g instanceof H||p(g),-g.o}},_nanosleep:function(a,b){var c=w[a>>2],d=w[a+4>>2];0!==b&&(w[b>>2]=0,w[b+4>>2]=0);return Mc(1E6*c+d/1E3)},_emscripten_memcpy_big:function(a,b,c){A.set(A.subarray(b,b+c),a);return a},___syscall221:function(a,b){S=b;try{var c=Lc();switch(T()){case 0:var d=T();return 0>d?-D.p:wc(c.path,c.flags,0,d).fd;case 1:case 2:return 0;case 3:return c.flags; -case 4:return d=T(),c.flags|=d,0;case 12:case 12:return d=T(),za[d+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-D.p;case 9:return Cb(D.p),-1;default:return-D.p}}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}},_floor:cd,_atan:nb,___syscall201:function(){return $c.apply(null,arguments)},_pthread_self:function(){return 0},_getenv:Xc,___syscall33:function(a,b){S=b;try{var c=U(),d;var e=T();if(e&-8)d=-D.p;else{var g;g=O(c,{Q:!0}).g;c="";e&4&&(c+="r");e&2&& -(c+="w");e&1&&(c+="x");d=c&&cc(g,c)?-D.Y:0}return d}catch(h){return"undefined"!==typeof R&&h instanceof H||p(h),-h.o}},_log:qb,___unlock:function(){},___syscall140:function(a,b){S=b;try{var c=Lc(),d=T(),e=T(),g=T(),h=T();assert(0===d);zc(c,e,h);w[g>>2]=c.position;c.za&&0===e&&0===h&&(c.za=null);return 0}catch(m){return"undefined"!==typeof R&&m instanceof H||p(m),-m.o}},___syscall15:function(a,b){S=b;try{var c=U(),d=T();tc(c,d);return 0}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}}, -_emscripten_set_main_loop:ld,___syscall10:function(a,b){S=b;try{var c=U();qc(c);return 0}catch(d){return"undefined"!==typeof R&&d instanceof H||p(d),-d.o}},_tan:kb,___syscall3:function(a,b){S=b;try{var c=Lc(),d=T(),e=T();return Ac(c,u,d,e)}catch(g){return"undefined"!==typeof R&&g instanceof H||p(g),-g.o}},___lock:function(){},___syscall6:function(a,b){S=b;try{var c=Lc();yc(c);return 0}catch(d){return"undefined"!==typeof R&&d instanceof H||p(d),-d.o}},___syscall5:function(a,b){S=b;try{var c=U(),d= -T(),e=T();return wc(c,d,e).fd}catch(g){return"undefined"!==typeof R&&g instanceof H||p(g),-g.o}},___syscall4:function(a,b){S=b;try{var c=Lc(),d=T(),e=T();return Bc(c,u,d,e)}catch(g){return"undefined"!==typeof R&&g instanceof H||p(g),-g.o}},_time:function(a){var b=Date.now()/1E3|0;a&&(w[a>>2]=b);return b},_atan2:ob,_gettimeofday:function(a){var b=Date.now();w[a>>2]=b/1E3|0;w[a+4>>2]=b%1E3*1E3|0;return 0},_ceil:Td,_sqrt:rb,_localtime:function(a){return Sc(a,Nc)},___syscall207:function(a,b){S=b;try{var c= -T();T();T();var d=M[c];if(!d)throw new H(D.L);uc(d.g);return 0}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}},___syscall146:function(a,b){S=b;try{var c=Lc(),d=T(),e;a:{for(var g=T(),h=0,m=0;m>2],w[d+(8*m+4)>>2],void 0);if(0>t){e=-1;break a}h+=t}e=h}return e}catch(r){return"undefined"!==typeof R&&r instanceof H||p(r),-r.o}},STACKTOP:k,STACK_MAX:Xa,tempDoublePtr:yb,ABORT:oa,cttz_i8:Ud};// EMSCRIPTEN_START_ASM - +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 lb(a){e.___errno_location&&(t[e.___errno_location()>>2]=a);return a} +function mb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function nb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=mb(a.split("/").filter(function(a){return!!a}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a} +function ob(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function pb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function qb(){var a=Array.prototype.slice.call(arguments,0);return nb(a.join("/"))}function F(a,b){return nb(a+"/"+b)} +function rb(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=mb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var sb=[];function tb(a,b){sb[a]={input:[],output:[],J:b};ub(a,vb)} +var vb={open:function(a){var b=sb[a.c.rdev];if(!b)throw new H(E.R);a.tty=b;a.seekable=!1},close:function(a){a.tty.J.flush(a.tty)},flush:function(a){a.tty.J.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.J.Ha)throw new H(E.ta);for(var f=0,g=0;ga.b.length&&(a.b=I.cb(a),a.g=a.b.length);if(!a.b||a.b.subarray){var c=a.b?a.b.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.b,a.b=new Uint8Array(b),0b)a.b.length=b;else for(;a.b.length=a.c.g)return 0;a=Math.min(a.c.g-f,d);assert(0<=a);if(8b)throw new H(E.h);return b},wa:function(a,b,c){I.Ca(a.c,b+c);a.c.g=Math.max(a.c.g,b+c)},X:function(a, +b,c,d,f,g,h){if(32768!==(a.c.mode&61440))throw new H(E.R);c=a.c.b;if(h&2||c.buffer!==b&&c.buffer!==b.buffer){if(0>1)}catch(c){if(!c.code)throw c;throw new H(E[c.code]);}return b.mode},m:function(a){for(var b=[];a.parent!==a;)b.push(a.name),a=a.parent;b.push(a.l.ka.root);b.reverse();return qb.apply(null,b)},Da:{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+"},bb:function(a){a&=-2099201;a&=-32769;a&=-524289;if(a in K.Da)return K.Da[a];throw new H(E.h);},d:{n:function(a){a=K.m(a);var b;try{b=fs.lstatSync(a)}catch(c){if(!c.code)throw c;throw new H(E[c.code]);}K.W&&!b.B&&(b.B=4096);K.W&&!b.blocks&&(b.blocks=(b.size+b.B-1)/b.B|0);return{dev:b.dev,ino:b.ino,mode:b.mode,nlink:b.nlink,uid:b.uid,gid:b.gid,rdev:b.rdev,size:b.size, +atime:b.atime,mtime:b.mtime,ctime:b.ctime,B:b.B,blocks:b.blocks}},k:function(a,b){var c=K.m(a);try{void 0!==b.mode&&(fs.chmodSync(c,b.mode),a.mode=b.mode),void 0!==b.size&&fs.truncateSync(c,b.size)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},lookup:function(a,b){var c=F(K.m(a),b),c=K.Fa(c);return K.createNode(a,b,c)},O:function(a,b,c,d){a=K.createNode(a,b,c,d);b=K.m(a);try{J(a.mode)?fs.mkdirSync(b,a.mode):fs.writeFileSync(b,"",{mode:a.mode})}catch(f){if(!f.code)throw f;throw new H(E[f.code]); +}return a},rename:function(a,b,c){a=K.m(a);b=F(K.m(b),c);try{fs.renameSync(a,b)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},unlink:function(a,b){var c=F(K.m(a),b);try{fs.unlinkSync(c)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},rmdir:function(a,b){var c=F(K.m(a),b);try{fs.rmdirSync(c)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},readdir:function(a){a=K.m(a);try{return fs.readdirSync(a)}catch(b){if(!b.code)throw b;throw new H(E[b.code]);}},symlink:function(a,b,c){a=F(K.m(a), +b);try{fs.symlinkSync(c,a)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},readlink:function(a){var b=K.m(a);try{return b=fs.readlinkSync(b),b=Cb.relative(Cb.resolve(a.l.ka.root),b)}catch(c){if(!c.code)throw c;throw new H(E[c.code]);}}},e:{open:function(a){var b=K.m(a.c);try{32768===(a.c.mode&61440)&&(a.P=fs.openSync(b,K.bb(a.flags)))}catch(c){if(!c.code)throw c;throw new H(E[c.code]);}},close:function(a){try{32768===(a.c.mode&61440)&&a.P&&fs.closeSync(a.P)}catch(b){if(!b.code)throw b;throw new H(E[b.code]); +}},read:function(a,b,c,d,f){if(0===d)return 0;var g=new Buffer(d),h;try{h=fs.readSync(a.P,g,0,d,f)}catch(q){throw new H(E[q.code]);}if(0b)throw new H(E.h);return b}}};p+=16; +p+=16;p+=16;var Db=null,Eb=[null],L=[],Fb=1,Gb=null,Hb=!0,M={},H=null,Ab={}; +function N(a,b){a=rb("/",a);b=b||{};if(!a)return{path:"",c:null};var c={Ea:!0,ma:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8>>0)%Gb.length}function Kb(a){var b=Jb(a.parent.id,a.name);a.I=Gb[b];Gb[b]=a}function Lb(a){var b=Jb(a.parent.id,a.name);if(Gb[b]===a)Gb[b]=a.I;else for(b=Gb[b];b;){if(b.I===a){b.I=a.I;break}b=b.I}} +function Bb(a,b){var c;if(c=(c=Mb(a,"x"))?c:a.d.lookup?0:E.L)throw new H(c,a);for(c=Gb[Jb(a.id,b)];c;c=c.I){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.d.lookup(a,b)} +function zb(a,b,c,d){Nb||(Nb=function(a,b,c,d){a||(a=this);this.parent=a;this.l=a.l;this.H=null;this.id=Fb++;this.name=b;this.mode=c;this.d={};this.e={};this.rdev=d},Nb.prototype={},Object.defineProperties(Nb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},kb:{get:function(){return J(this.mode)}},jb:{get:function(){return 8192===(this.mode& +61440)}}}));a=new Nb(a,b,c,d);Kb(a);return a}function J(a){return 16384===(a&61440)}var Ob={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};function Pb(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function Mb(a,b){if(Hb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return E.L}else return E.L;return 0} +function Qb(a,b){try{return Bb(a,b),E.qa}catch(c){}return Mb(a,"wx")}function Rb(a,b,c){var d;try{d=Bb(a,b)}catch(f){return f.f}if(a=Mb(a,"wx"))return a;if(c){if(!J(d.mode))return E.S;if(d===d.parent||"/"===O(d))return E.M}else if(J(d.mode))return E.N;return 0}function Sb(a){var b;b=4096;for(a=a||0;a<=b;a++)if(!L[a])return a;throw new H(E.Ma);} +function Tb(a,b){Ub||(Ub=function(){},Ub.prototype={},Object.defineProperties(Ub.prototype,{object:{get:function(){return this.c},set:function(a){this.c=a}},he:{get:function(){return 1!==(this.flags&2097155)}},ie:{get:function(){return 0!==(this.flags&2097155)}},ge:{get:function(){return this.flags&1024}}}));var c=new Ub,d;for(d in a)c[d]=a[d];a=c;c=Sb(b);a.fd=c;return L[c]=a}var yb={open:function(a){a.e=Eb[a.c.rdev].e;a.e.open&&a.e.open(a)},u:function(){throw new H(E.T);}}; +function ub(a,b){Eb[a]={e:b}}function Vb(a,b){var c="/"===b,d=!b,f;if(c&&Db)throw new H(E.M);if(!c&&!d){f=N(b,{Ea:!1});b=f.path;f=f.c;if(f.H)throw new H(E.M);if(!J(f.mode))throw new H(E.S);}var d={type:a,ka:{},Ka:b,nb:[]},g=a.l(d);g.l=d;d.root=g;c?Db=g:f&&(f.H=d,f.l&&f.l.nb.push(d))}function Wb(a,b,c){var d=N(a,{parent:!0}).c;a=pb(a);if(!a||"."===a||".."===a)throw new H(E.h);var f=Qb(d,a);if(f)throw new H(f);if(!d.d.O)throw new H(E.q);return d.d.O(d,a,b,c)} +function Xb(a,b){b=(void 0!==b?b:438)&4095;b|=32768;return Wb(a,b,0)}function P(a,b){b=(void 0!==b?b:511)&1023;b|=16384;return Wb(a,b,0)}function Yb(a,b,c){"undefined"===typeof c&&(c=b,b=438);return Wb(a,b|8192,c)}function Zb(a,b){if(!rb(a))throw new H(E.p);var c=N(b,{parent:!0}).c;if(!c)throw new H(E.p);var d=pb(b),f=Qb(c,d);if(f)throw new H(f);if(!c.d.symlink)throw new H(E.q);return c.d.symlink(c,d,a)} +function $b(a){var b=N(a,{parent:!0}).c,c=pb(a),d=Bb(b,c),f=Rb(b,c,!1);if(f)throw new H(f);if(!b.d.unlink)throw new H(E.q);if(d.H)throw new H(E.M);try{M.willDeletePath&&M.willDeletePath(a)}catch(g){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.d.unlink(b,c);Lb(d);try{if(M.onDeletePath)M.onDeletePath(a)}catch(h){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+h.message)}} +function Ib(a){a=N(a).c;if(!a)throw new H(E.p);if(!a.d.readlink)throw new H(E.h);return rb(O(a.parent),a.d.readlink(a))}function ac(a,b){var c=N(a,{C:!b}).c;if(!c)throw new H(E.p);if(!c.d.n)throw new H(E.q);return c.d.n(c)}function bc(a){return ac(a,!0)}function cc(a,b){var c;"string"===typeof a?c=N(a,{C:!0}).c:c=a;if(!c.d.k)throw new H(E.q);c.d.k(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})} +function dc(a){var b;"string"===typeof a?b=N(a,{C:!0}).c:b=a;if(!b.d.k)throw new H(E.q);b.d.k(b,{timestamp:Date.now()})}function ec(a,b){if(0>b)throw new H(E.h);var c;"string"===typeof a?c=N(a,{C:!0}).c:c=a;if(!c.d.k)throw new H(E.q);if(J(c.mode))throw new H(E.N);if(32768!==(c.mode&61440))throw new H(E.h);var d=Mb(c,"w");if(d)throw new H(d);c.d.k(c,{size:b,timestamp:Date.now()})} +function fc(a,b,c,d){if(""===a)throw new H(E.p);if("string"===typeof b){var f=Ob[b];if("undefined"===typeof f)throw Error("Unknown file open mode: "+b);b=f}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;var g;if("object"===typeof a)g=a;else{a=nb(a);try{g=N(a,{C:!(b&131072)}).c}catch(h){}}f=!1;if(b&64)if(g){if(b&128)throw new H(E.qa);}else g=Wb(a,c,0),f=!0;if(!g)throw new H(E.p);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!J(g.mode))throw new H(E.S);if(!f&&(c=g?40960===(g.mode&61440)?E.ba:J(g.mode)&& +("r"!==Pb(b)||b&512)?E.N:Mb(g,Pb(b)):E.p))throw new H(c);b&512&&ec(g,0);b&=-641;d=Tb({c:g,path:O(g),flags:b,seekable:!0,position:0,e:g.e,vb:[],error:!1},d);d.e.open&&d.e.open(d);!e.logReadFiles||b&1||(gc||(gc={}),a in gc||(gc[a]=1,e.printErr("read file: "+a)));try{M.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),M.onOpenFile(a,g))}catch(q){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+q.message)}return d} +function hc(a){a.ia&&(a.ia=null);try{a.e.close&&a.e.close(a)}catch(b){throw b;}finally{L[a.fd]=null}}function ic(a,b,c){if(!a.seekable||!a.e.u)throw new H(E.T);a.position=a.e.u(a,b,c);a.vb=[]}function jc(a,b,c,d,f){if(0>d||0>f)throw new H(E.h);if(1===(a.flags&2097155))throw new H(E.t);if(J(a.c.mode))throw new H(E.N);if(!a.e.read)throw new H(E.h);var g=!0;if("undefined"===typeof f)f=a.position,g=!1;else if(!a.seekable)throw new H(E.T);b=a.e.read(a,b,c,d,f);g||(a.position+=b);return b} +function kc(a,b,c,d,f,g){if(0>d||0>f)throw new H(E.h);if(0===(a.flags&2097155))throw new H(E.t);if(J(a.c.mode))throw new H(E.N);if(!a.e.write)throw new H(E.h);a.flags&1024&&ic(a,0,2);var h=!0;if("undefined"===typeof f)f=a.position,h=!1;else if(!a.seekable)throw new H(E.T);b=a.e.write(a,b,c,d,f,g);h||(a.position+=b);try{if(a.path&&M.onWriteToFile)M.onWriteToFile(a.path)}catch(q){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+q.message)}return b} +function lc(){H||(H=function(a,b){this.c=b;this.sb=function(a){this.f=a;for(var b in E)if(E[b]===a){this.code=b;break}};this.sb(a);this.message=kb[a]},H.prototype=Error(),H.prototype.constructor=H,[E.p].forEach(function(a){Ab[a]=new H(a);Ab[a].stack=""}))}var mc;function nc(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}function oc(a,b,c,d){a=F("string"===typeof a?a:O(a),b);return Xb(a,nc(c,d))} +function pc(a,b,c,d,f,g){a=b?F("string"===typeof a?a:O(a),b):a;d=nc(d,f);f=Xb(a,d);if(c){if("string"===typeof c){a=Array(c.length);b=0;for(var h=c.length;b>2]=d.dev;t[c+4>>2]=0;t[c+8>>2]=d.ino;t[c+12>>2]=d.mode;t[c+16>>2]=d.nlink;t[c+20>>2]=d.uid;t[c+24>>2]=d.gid;t[c+28>>2]=d.rdev;t[c+32>>2]=0;t[c+36>>2]=d.size;t[c+40>>2]=4096;t[c+44>>2]=d.blocks;t[c+48>>2]=d.atime.getTime()/1E3|0;t[c+52>>2]=0;t[c+56>>2]=d.mtime.getTime()/1E3|0;t[c+60>>2]=0;t[c+64>>2]=d.ctime.getTime()/1E3|0;t[c+68>>2]=0;t[c+72>>2]=d.ino;return 0}var S=0; +function T(){S+=4;return t[S-4>>2]}function U(){return w(T())}function uc(){var a;a=T();a=L[a];if(!a)throw new H(E.t);return a} +var vc=z([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",2);e._llvm_cttz_i32=wc;e.___udivmoddi4=xc;e.___remdi3=yc;function zc(a){a=a/1E3;if((ca||k)&&self.performance&&self.performance.now)for(var b=self.performance.now();self.performance.now()-b>2]=60*-(new Date).getTimezoneOffset();var b=new Date(2E3,0,1),c=new Date(2E3,6,1);t[Dc>>2]=Number(b.getTimezoneOffset()!=c.getTimezoneOffset());var d=a(b),f=a(c),d=z(C(d),"i8",0),f=z(C(f),"i8",0);c.getTimezoneOffset()>2]=d,t[Cc+4>>2]=f):(t[Cc>>2]=f,t[Cc+4>>2]=d)}} +function Gc(a,b){Fc();var c=new Date(1E3*t[a>>2]);t[b>>2]=c.getSeconds();t[b+4>>2]=c.getMinutes();t[b+8>>2]=c.getHours();t[b+12>>2]=c.getDate();t[b+16>>2]=c.getMonth();t[b+20>>2]=c.getFullYear()-1900;t[b+24>>2]=c.getDay();var d=new Date(c.getFullYear(),0,1);t[b+28>>2]=(c.getTime()-d.getTime())/864E5|0;t[b+36>>2]=-(60*c.getTimezoneOffset());c=c.getTimezoneOffset()==Math.min(d.getTimezoneOffset(),(new Date(2E3,6,1)).getTimezoneOffset())|0;t[b+32>>2]=c;t[b+40>>2]=t[Cc+(c?n.U:0)>>2];return b} +e._bitshift64Ashr=Hc;e._bitshift64Lshr=Ic;var Jc=p;p+=16; +function Kc(a){var b,c;Kc.A?(c=t[Jc>>2],b=t[c>>2]):(Kc.A=!0,V.USER=V.LOGNAME="web_user",V.PATH="/",V.PWD="/",V.HOME="/home/web_user",V.LANG="C",V._=e.thisProgram,b=z(1024,"i8",2),c=z(256,"i8*",2),t[c>>2]=b,t[Jc>>2]=c);var d=[],f=0,g;for(g in a)if("string"===typeof a[g]){var h=g+"="+a[g];d.push(h);f+=h.length}if(1024>2]=b,b+=h.length+1;t[c+4*d.length>>2]=0}var V={}; +function Lc(a){if(0===a)return 0;a=w(a);if(!V.hasOwnProperty(a))return 0;Lc.A&&Ja(Lc.A);Lc.A=z(C(V[a]),"i8",0);return Lc.A}e._pthread_mutex_unlock=Mc;e._memcpy=Nc;e._sbrk=Oc;e._bitshift64Shl=Pc;e._memmove=Qc;e.___uremdi3=Rc;function Sc(a,b){S=b;return 0}e._memset=Tc;e.___divdi3=Uc;e._llvm_bswap_i32=Vc;e.___udivdi3=Wc;e.___muldsi3=Xc;e.___muldi3=Yc;lc();Gb=Array(4096);Vb(I,"/");P("/tmp");P("/home");P("/home/web_user"); +(function(){P("/dev");ub(259,{read:function(){return 0},write:function(a,b,f,g){return g}});Yb("/dev/null",259);tb(1280,wb);tb(1536,xb);Yb("/dev/tty",1280);Yb("/dev/tty1",1536);var a;if("undefined"!==typeof crypto){var b=new Uint8Array(1);a=function(){crypto.getRandomValues(b);return b[0]}}else a=l?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};qc("/dev","random",a);qc("/dev","urandom",a);P("/dev/shm");P("/dev/shm/tmp")})();P("/proc");P("/proc/self"); +P("/proc/self/fd");Vb({l:function(){var a=zb("/proc/self","fd",16895,73);a.d={lookup:function(a,c){var d=L[+c];if(!d)throw new H(E.t);var f={parent:null,l:{Ka:"fake"},d:{readlink:function(){return d.path}}};return f.parent=f}};return a}},"/proc/self/fd"); +Ua.unshift(function(){if(!e.noFSInit&&!mc){assert(!mc,"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)");mc=!0;lc();e.stdin=e.stdin;e.stdout=e.stdout;e.stderr=e.stderr;e.stdin?qc("/dev","stdin",e.stdin):Zb("/dev/tty","/dev/stdin");e.stdout?qc("/dev","stdout",null,e.stdout):Zb("/dev/tty","/dev/stdout");e.stderr?qc("/dev","stderr",null,e.stderr):Zb("/dev/tty1","/dev/stderr"); +var a=fc("/dev/stdin","r");assert(0===a.fd,"invalid handle for stdin ("+a.fd+")");a=fc("/dev/stdout","w");assert(1===a.fd,"invalid handle for stdout ("+a.fd+")");a=fc("/dev/stderr","w");assert(2===a.fd,"invalid handle for stderr ("+a.fd+")")}});Va.push(function(){Hb=!1});Wa.push(function(){mc=!1;var a=e._fflush;a&&a(0);for(a=0;athis.length-1||0>a)){var b=a%this.chunkSize;return this.Ia(a/this.chunkSize|0)[b]}};q.prototype.rb=function(a){this.Ia=a};q.prototype.za=function(){var a=new XMLHttpRequest;a.open("HEAD",c,!1);a.send(null);if(!(200<=a.status&&300>a.status||304===a.status))throw Error("Couldn't load "+c+". Status: "+a.status);var b=Number(a.getResponseHeader("Content-length")),d,f=(d=a.getResponseHeader("Accept-Ranges"))&& +"bytes"===d,a=(d=a.getResponseHeader("Content-Encoding"))&&"gzip"===d,g=1048576;f||(g=b);var h=this;h.rb(function(a){var d=a*g,f=(a+1)*g-1,f=Math.min(f,b-1);if("undefined"===typeof h.V[a]){var q=h.V;if(d>f)throw Error("invalid range ("+d+", "+f+") or no bytes requested!");if(f>b-1)throw Error("only "+b+" bytes available! programmer error!");var r=new XMLHttpRequest;r.open("GET",c,!1);b!==g&&r.setRequestHeader("Range","bytes="+d+"-"+f);"undefined"!=typeof Uint8Array&&(r.responseType="arraybuffer"); +r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined");r.send(null);if(!(200<=r.status&&300>r.status||304===r.status))throw Error("Couldn't load "+c+". Status: "+r.status);d=void 0!==r.response?new Uint8Array(r.response||[]):C(r.responseText||"",!0);q[a]=d}if("undefined"===typeof h.V[a])throw Error("doXHR failed!");return h.V[a]});if(a||!b)g=b=1,g=b=this.Ia(0).length,console.log("LazyFiles on gzip forces download of the whole file when length is accessed");this.Ta=b;this.Sa= +g;this.ja=!0};if("undefined"!==typeof XMLHttpRequest){if(!k)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";g=new q;Object.defineProperties(g,{length:{get:function(){this.ja||this.za();return this.Ta}},chunkSize:{get:function(){this.ja||this.za();return this.Sa}}});h=void 0}else h=c,g=void 0;var v=oc(a,b,d,f);g?v.b=g:h&&(v.b=null,v.url=h);Object.defineProperties(v,{g:{get:function(){return this.b.length}}});var r={};Object.keys(v.e).forEach(function(a){var b= +v.e[a];r[a]=function(){if(!rc(v))throw new H(E.v);return b.apply(null,arguments)}});r.read=function(a,b,c,d,f){if(!rc(v))throw new H(E.v);a=a.c.b;if(f>=a.length)return 0;d=Math.min(a.length-f,d);assert(0<=d);if(a.slice)for(var g=0;g>2]=Qa;Ba=!0;e.Ua={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity}; +e.Va={abort:u,assert:assert,enlargeMemory:function(){ka()},getTotalMemory:function(){return ja},abortOnCannotGrowMemory:ka,invoke_iiii:function(a,b,c,d){try{return e.dynCall_iiii(a,b,c,d)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;e.setThrew(1,0)}},jsCall_iiii:function(a,b,c,d){return n.j[a](b,c,d)},invoke_viiiii:function(a,b,c,d,f,g){try{e.dynCall_viiiii(a,b,c,d,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},jsCall_viiiii:function(a,b,c,d,f,g){n.j[a](b, +c,d,f,g)},invoke_i:function(a){try{return e.dynCall_i(a)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;e.setThrew(1,0)}},jsCall_i:function(a){return n.j[a]()},invoke_vi:function(a,b){try{e.dynCall_vi(a,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;e.setThrew(1,0)}},jsCall_vi:function(a,b){n.j[a](b)},invoke_vii:function(a,b,c){try{e.dynCall_vii(a,b,c)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;e.setThrew(1,0)}},jsCall_vii:function(a,b,c){n.j[a](b,c)},invoke_iiiiiii:function(a, +b,c,d,f,g,h){try{return e.dynCall_iiiiiii(a,b,c,d,f,g,h)}catch(q){if("number"!==typeof q&&"longjmp"!==q)throw q;e.setThrew(1,0)}},jsCall_iiiiiii:function(a,b,c,d,f,g,h){return n.j[a](b,c,d,f,g,h)},invoke_ii:function(a,b){try{return e.dynCall_ii(a,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;e.setThrew(1,0)}},jsCall_ii:function(a,b){return n.j[a](b)},invoke_viii:function(a,b,c,d){try{e.dynCall_viii(a,b,c,d)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;e.setThrew(1,0)}},jsCall_viii:function(a, +b,c,d){n.j[a](b,c,d)},invoke_v:function(a){try{e.dynCall_v(a)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;e.setThrew(1,0)}},jsCall_v:function(a){n.j[a]()},invoke_iiiii:function(a,b,c,d,f){try{return e.dynCall_iiiii(a,b,c,d,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},jsCall_iiiii:function(a,b,c,d,f){return n.j[a](b,c,d,f)},invoke_viiiiii:function(a,b,c,d,f,g,h){try{e.dynCall_viiiiii(a,b,c,d,f,g,h)}catch(q){if("number"!==typeof q&&"longjmp"!==q)throw q;e.setThrew(1, +0)}},jsCall_viiiiii:function(a,b,c,d,f,g,h){n.j[a](b,c,d,f,g,h)},invoke_iii:function(a,b,c){try{return e.dynCall_iii(a,b,c)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;e.setThrew(1,0)}},jsCall_iii:function(a,b,c){return n.j[a](b,c)},invoke_iiiiii:function(a,b,c,d,f,g){try{return e.dynCall_iiiiii(a,b,c,d,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},jsCall_iiiiii:function(a,b,c,d,f,g){return n.j[a](b,c,d,f,g)},invoke_viiii:function(a,b,c,d,f){try{e.dynCall_viiii(a, +b,c,d,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},jsCall_viiii:function(a,b,c,d,f){n.j[a](b,c,d,f)},___syscall221:function(a,b){S=b;try{var c=uc();switch(T()){case 0:var d=T();return 0>d?-E.h:fc(c.path,c.flags,0,d).fd;case 1:case 2:return 0;case 3:return c.flags;case 4:return d=T(),c.flags|=d,0;case 12:case 12:return d=T(),ta[d+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-E.h;case 9:return lb(E.h),-1;default:return-E.h}}catch(f){return"undefined"!== +typeof Q&&f instanceof H||u(f),-f.f}},___syscall85:function(a,b){S=b;try{var c=U(),d=T(),f;var g=T();if(0>=g)f=-E.h;else{var h=Ib(c),q=Math.min(g,Ha(h)),v=x[d+q];ra(h,d,g+1);x[d+q]=v;f=q}return f}catch(r){return"undefined"!==typeof Q&&r instanceof H||u(r),-r.f}},_pthread_mutex_init:function(){},_utimes:function(a,b){var c;b?(c=1E3*t[b+8>>2],c+=t[b+12>>2]/1E3):c=Date.now();a=w(a);try{var d=c,f=N(a,{C:!0}).c;f.d.k(f,{timestamp:Math.max(d,c)});return 0}catch(g){if(!(g instanceof H))throw g+" : "+Ka(); +lb(g.f);return-1}},_llvm_pow_f64:ab,___syscall6:function(a,b){S=b;try{var c=uc();hc(c);return 0}catch(d){return"undefined"!==typeof Q&&d instanceof H||u(d),-d.f}},___syscall40:function(a,b){S=b;try{var c=U(),d=N(c,{parent:!0}).c,f=pb(c),g=Bb(d,f),h=Rb(d,f,!0);if(h)throw new H(h);if(!d.d.rmdir)throw new H(E.q);if(g.H)throw new H(E.M);try{M.willDeletePath&&M.willDeletePath(c)}catch(q){console.log("FS.trackingDelegate['willDeletePath']('"+c+"') threw an exception: "+q.message)}d.d.rmdir(d,f);Lb(g);try{if(M.onDeletePath)M.onDeletePath(c)}catch(v){console.log("FS.trackingDelegate['onDeletePath']('"+ +c+"') threw an exception: "+v.message)}return 0}catch(r){return"undefined"!==typeof Q&&r instanceof H||u(r),-r.f}},___syscall118:function(a,b){S=b;try{return uc(),0}catch(c){return"undefined"!==typeof Q&&c instanceof H||u(c),-c.f}},___syscall20:function(a,b){S=b;return 42},___syscall4:function(a,b){S=b;try{var c=uc(),d=T(),f=T();return kc(c,x,d,f)}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},___assert_fail:function(a,b,c,d){la=!0;throw"Assertion failed: "+w(a)+", at: "+[b?w(b): +"unknown filename",c,d?w(d):"unknown function"]+" at "+Ka();},_usleep:zc,_pthread_join:function(){},___buildEnvironment:Kc,_pthread_mutexattr_destroy:function(){},_localtime_r:Gc,_tzset:Fc,___setErrNo:lb,___syscall192:function(a,b){S=b;try{var c=T(),d=T(),f=T(),g=T(),h=T(),q=T(),q=q<<12,v,r=!1;if(-1===h){v=Zc(16384,d);if(!v)return-E.ra;Tc(v,0,d);r=!0}else{var D=L[h];if(!D)return-E.t;var B,R=A;if(1===(D.flags&2097155))throw new H(E.L);if(!D.e.X)throw new H(E.R);B=D.e.X(D,R,c,d,q,f,g);v=B.ob;r=B.da}sc[v]= +{mb:v,lb:d,da:r,fd:h,flags:g};return v}catch(G){return"undefined"!==typeof Q&&G instanceof H||u(G),-G.f}},___syscall197:function(a,b){S=b;try{var c=uc(),d=T();return tc(ac,c.path,d)}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},___syscall196:function(a,b){S=b;try{var c=U(),d=T();return tc(bc,c,d)}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},___syscall195:function(a,b){S=b;try{var c=U(),d=T();return tc(ac,c,d)}catch(f){return"undefined"!==typeof Q&&f instanceof +H||u(f),-f.f}},___syscall194:function(a,b){S=b;try{var c=T();assert(0===T());var d=T(),f=T();0<=d?assert(0===f):assert(-1===f);var g=L[c];if(!g)throw new H(E.t);if(0===(g.flags&2097155))throw new H(E.h);ec(g.c,d);return 0}catch(h){return"undefined"!==typeof Q&&h instanceof H||u(h),-h.f}},___syscall212:function(a,b){S=b;try{var c=U();T();T();dc(c);return 0}catch(d){return"undefined"!==typeof Q&&d instanceof H||u(d),-d.f}},_sysconf:function(a){switch(a){case 30:return 16384;case 85:return a=2130706432, +a=A.length,a/16384;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 1E3;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:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}lb(E.h);return-1},___syscall94:function(a,b){S=b;try{var c=T(),d=T(),f=L[c];if(!f)throw new H(E.t);cc(f.c,d);return 0}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},_nanosleep:function(a,b){var c=t[a>>2],d=t[a+4>>2];0!==b&&(t[b>>2]=0,t[b+4>>2]=0);return zc(1E6*c+d/1E3)},_emscripten_memcpy_big:function(a, +b,c){A.set(A.subarray(b,b+c),a);return a},___syscall91:function(a,b){S=b;try{var c=T(),d=T(),f=sc[c];if(!f)return 0;if(d===f.lb){var g=L[f.fd],h=f.flags,q=new Uint8Array(A.subarray(c,c+d));g&&g.e.Y&&g.e.Y(g,q,0,d,h);sc[c]=null;f.da&&Ja(f.mb)}return 0}catch(v){return"undefined"!==typeof Q&&v instanceof H||u(v),-v.f}},_pthread_mutex_destroy:function(){},_pthread_mutexattr_settype:function(){},_getenv:Lc,___syscall33:function(a,b){S=b;try{var c=U(),d;var f=T();if(f&-8)d=-E.h;else{var g;g=N(c,{C:!0}).c; +c="";f&4&&(c+="r");f&2&&(c+="w");f&1&&(c+="x");d=c&&Mb(g,c)?-E.L:0}return d}catch(h){return"undefined"!==typeof Q&&h instanceof H||u(h),-h.f}},___syscall54:function(a,b){S=b;try{var c=uc(),d=T();switch(d){case 21505:return c.tty?0:-E.F;case 21506:return c.tty?0:-E.F;case 21519:if(!c.tty)return-E.F;var f=T();return t[f>>2]=0;case 21520:return c.tty?-E.h:-E.F;case 21531:f=T();if(!c.e.ib)throw new H(E.F);return c.e.ib(c,d,f);case 21523:return c.tty?0:-E.F;default:u("bad ioctl syscall "+d)}}catch(g){return"undefined"!== +typeof Q&&g instanceof H||u(g),-g.f}},___unlock:function(){},___syscall140:function(a,b){S=b;try{var c=uc(),d=T(),f=T(),g=T(),h=T();assert(0===d);ic(c,f,h);t[g>>2]=c.position;c.ia&&0===f&&0===h&&(c.ia=null);return 0}catch(q){return"undefined"!==typeof Q&&q instanceof H||u(q),-q.f}},___syscall15:function(a,b){S=b;try{var c=U(),d=T();cc(c,d);return 0}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},_pthread_create:function(){return 11},___syscall39:function(a,b){S=b;try{var c=U(), +d=T(),c=nb(c);"/"===c[c.length-1]&&(c=c.substr(0,c.length-1));P(c,d);return 0}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},___syscall10:function(a,b){S=b;try{var c=U();$b(c);return 0}catch(d){return"undefined"!==typeof Q&&d instanceof H||u(d),-d.f}},_pthread_mutexattr_init:function(){},___syscall3:function(a,b){S=b;try{var c=uc(),d=T(),f=T();return jc(c,x,d,f)}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},___lock:function(){},_abort:function(){e.abort()}, +___syscall5:function(a,b){S=b;try{var c=U(),d=T(),f=T();return fc(c,d,f).fd}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},___syscall183:function(a,b){S=b;try{var c=T(),d=T();if(0===d)return-E.h;if(2>d)return-E.Na;Da("/",c);return c}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},_time:function(a){var b=Date.now()/1E3|0;a&&(t[a>>2]=b);return b},_gettimeofday:function(a){var b=Date.now();t[a>>2]=b/1E3|0;t[a+4>>2]=b%1E3*1E3|0;return 0},___syscall201:function(){return Sc.apply(null, +arguments)},___syscall207:function(a,b){S=b;try{var c=T();T();T();var d=L[c];if(!d)throw new H(E.t);dc(d.c);return 0}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},_localtime:function(a){return Gc(a,Bc)},___syscall202:Sc,___syscall146:function(a,b){S=b;try{var c=uc(),d=T(),f;a:{for(var g=T(),h=0,q=0;q>2],t[d+(8*q+4)>>2],void 0);if(0>v){f=-1;break a}h+=v}f=h}return f}catch(r){return"undefined"!==typeof Q&&r instanceof H||u(r),-r.f}},DYNAMICTOP_PTR:ia, +tempDoublePtr:gb,ABORT:la,STACKTOP:m,STACK_MAX:Pa,cttz_i8:vc};// EMSCRIPTEN_START_ASM var W=(function(global,env,buffer) { -"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.jsCall_iiii;var fa=env.invoke_i;var ga=env.jsCall_i;var ha=env.invoke_vi;var ia=env.jsCall_vi;var ja=env.invoke_vii;var ka=env.jsCall_vii;var la=env.invoke_iiiiiii;var ma=env.jsCall_iiiiiii;var na=env.invoke_ii;var oa=env.jsCall_ii;var pa=env.invoke_viii;var qa=env.jsCall_viii;var ra=env.invoke_v;var sa=env.jsCall_v;var ta=env.invoke_iiiii;var ua=env.jsCall_iiiii;var va=env.invoke_viiiiii;var wa=env.jsCall_viiiiii;var xa=env.invoke_iii;var ya=env.jsCall_iii;var za=env.invoke_iiiiii;var Aa=env.jsCall_iiiiii;var Ba=env.invoke_viiii;var Ca=env.jsCall_viiii;var Da=env._pthread_cleanup_pop;var Ea=env.___syscall85;var Fa=env._sin;var Ga=env._exp;var Ha=env._utimes;var Ia=env._llvm_pow_f64;var Ja=env._acos;var Ka=env.___syscall54;var La=env._pthread_cleanup_push;var Ma=env._abort;var Na=env.___syscall40;var Oa=env.___syscall118;var Pa=env.___setErrNo;var Qa=env.___syscall20;var Ra=env.___syscall183;var Sa=env.___assert_fail;var Ta=env._usleep;var Ua=env._asin;var Va=env.___buildEnvironment;var Wa=env.___syscall202;var Xa=env.___syscall91;var Ya=env._cos;var Za=env.___syscall39;var _a=env._localtime_r;var $a=env._tzset;var ab=env._emscripten_set_main_loop_timing;var bb=env._sbrk;var cb=env.___syscall192;var db=env.___syscall197;var eb=env.___syscall196;var fb=env.___syscall195;var gb=env.___syscall194;var hb=env.___syscall212;var ib=env._sysconf;var jb=env.___syscall94;var kb=env._nanosleep;var lb=env._emscripten_memcpy_big;var mb=env.___syscall221;var nb=env._floor;var ob=env._atan;var pb=env.___syscall201;var qb=env._pthread_self;var rb=env._getenv;var sb=env.___syscall33;var tb=env._log;var ub=env.___unlock;var vb=env.___syscall140;var wb=env.___syscall15;var xb=env._emscripten_set_main_loop;var yb=env.___syscall10;var zb=env._tan;var Ab=env.___syscall3;var Bb=env.___lock;var Cb=env.___syscall6;var Db=env.___syscall5;var Eb=env.___syscall4;var Fb=env._time;var Gb=env._atan2;var Hb=env._gettimeofday;var Ib=env._ceil;var Jb=env._sqrt;var Kb=env._localtime;var Lb=env.___syscall207;var Mb=env.___syscall146;var Nb=0.0; +"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=env.abort;var X=env.assert;var Y=env.enlargeMemory;var Z=env.getTotalMemory;var _=env.abortOnCannotGrowMemory;var $=env.invoke_iiii;var aa=env.jsCall_iiii;var ba=env.invoke_viiiii;var ca=env.jsCall_viiiii;var da=env.invoke_i;var ea=env.jsCall_i;var fa=env.invoke_vi;var ga=env.jsCall_vi;var ha=env.invoke_vii;var ia=env.jsCall_vii;var ja=env.invoke_iiiiiii;var ka=env.jsCall_iiiiiii;var la=env.invoke_ii;var ma=env.jsCall_ii;var na=env.invoke_viii;var oa=env.jsCall_viii;var pa=env.invoke_v;var qa=env.jsCall_v;var ra=env.invoke_iiiii;var sa=env.jsCall_iiiii;var ta=env.invoke_viiiiii;var ua=env.jsCall_viiiiii;var va=env.invoke_iii;var wa=env.jsCall_iii;var xa=env.invoke_iiiiii;var ya=env.jsCall_iiiiii;var za=env.invoke_viiii;var Aa=env.jsCall_viiii;var Ba=env.___syscall221;var Ca=env.___syscall85;var Da=env._pthread_mutex_init;var Ea=env._utimes;var Fa=env._llvm_pow_f64;var Ga=env.___syscall6;var Ha=env.___syscall40;var Ia=env.___syscall118;var Ja=env.___syscall20;var Ka=env.___syscall4;var La=env.___assert_fail;var Ma=env._usleep;var Na=env._pthread_join;var Oa=env.___buildEnvironment;var Pa=env._pthread_mutexattr_destroy;var Qa=env._localtime_r;var Ra=env._tzset;var Sa=env.___setErrNo;var Ta=env.___syscall192;var Ua=env.___syscall197;var Va=env.___syscall196;var Wa=env.___syscall195;var Xa=env.___syscall194;var Ya=env.___syscall212;var Za=env._sysconf;var _a=env.___syscall94;var $a=env._nanosleep;var ab=env._emscripten_memcpy_big;var bb=env.___syscall91;var cb=env._pthread_mutex_destroy;var db=env._pthread_mutexattr_settype;var eb=env._getenv;var fb=env.___syscall33;var gb=env.___syscall54;var hb=env.___unlock;var ib=env.___syscall140;var jb=env.___syscall15;var kb=env._pthread_create;var lb=env.___syscall39;var mb=env.___syscall10;var nb=env._pthread_mutexattr_init;var ob=env.___syscall3;var pb=env.___lock;var qb=env._abort;var rb=env.___syscall5;var sb=env.___syscall183;var tb=env._time;var ub=env._gettimeofday;var vb=env.___syscall201;var wb=env.___syscall207;var xb=env._localtime;var yb=env.___syscall202;var zb=env.___syscall146;var Ab=0.0; // EMSCRIPTEN_START_FUNCS -function jz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;f=r+40|0;m=r+36|0;j=r+32|0;o=r+28|0;k=r+24|0;n=r+20|0;g=r+16|0;p=r+12|0;q=r+8|0;h=r;c[f>>2]=b;c[m>>2]=e;if(!(c[(c[m>>2]|0)+48>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}if(!(c[(c[m>>2]|0)+44>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[k>>2]=c[m>>2];while(1){if(!(c[k>>2]|0))break;if((d[(c[k>>2]|0)+4>>0]|0|0)!=116?(d[(c[k>>2]|0)+4>>0]|0|0)!=119:0)break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}if(!(c[k>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[g>>2]=c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2];c[j>>2]=(c[c[(c[m>>2]|0)+44>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if(c[(c[(c[g>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[q>>2]=c[c[f>>2]>>2];c[n>>2]=c[c[q>>2]>>2];c[o>>2]=sh(c[n>>2]|0,68,0)|0;if(!(c[o>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0};c[h>>2]=0;c[h+4>>2]=0;c[p>>2]=Rv(c[q>>2]|0,0,0,0,h,c[o>>2]|0,0,0)|0;if(!(c[p>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0}else{f=c[o>>2]|0;g=c[m>>2]|0;h=f+68|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));c[(c[m>>2]|0)+28>>2]=c[p>>2];q=c[q>>2]|0;q=Tv(q,0,Wv(c[n>>2]|0,160,0)|0)|0;c[c[m>>2]>>2]=q;a[(c[m>>2]|0)+4>>0]=119;c[(c[m>>2]|0)+32>>2]=0;c[(c[o>>2]|0)+36>>2]=0;c[(c[o>>2]|0)+40>>2]=0;c[(c[o>>2]|0)+44>>2]=0;c[(c[m>>2]|0)+48>>2]=0;c[(c[m>>2]|0)+52>>2]=0;c[(c[m>>2]|0)+64>>2]=0;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]&-257;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]|65536;c[(c[(c[o>>2]|0)+48>>2]|0)+52>>2]=c[o>>2];c[(c[o>>2]|0)+56>>2]=0;c[(c[o>>2]|0)+60>>2]=0;c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}return 0}function kz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;p=Y+8|0;m=Y;q=Y+196|0;h=Y+192|0;r=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;l=Y+202|0;o=Y+140|0;k=Y+136|0;j=Y+200|0;s=Y+132|0;E=Y+128|0;n=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;c[h>>2]=f;c[r>>2]=g;c[F>>2]=c[c[h>>2]>>2];c[t>>2]=c[c[F>>2]>>2];b[l>>1]=c[(c[r>>2]|0)+8>>2];f=(c[r>>2]|0)+8|0;c[f>>2]=c[f>>2]|64;if(a[(c[t>>2]|0)+69>>0]|0){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}if((c[(c[r>>2]|0)+28>>2]|0)!=0?(e[l>>1]&64|0)==0:0){c[J>>2]=c[(c[r>>2]|0)+28>>2];c[A>>2]=c[c[r>>2]>>2];if((c[(c[h>>2]|0)+12>>2]|0)==132){l=c[F>>2]|0;bw(l,c[(mz(c[r>>2]|0)|0)+64>>2]|0,0)}$x(c[F>>2]|0,c[J>>2]|0);c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;a:while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0)){j=38;break}if(!((d[(c[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(nz(c[h>>2]|0,c[C>>2]|0)|0){j=12;break}do if(!(c[(c[C>>2]|0)+16>>2]|0)){if(!(c[(c[C>>2]|0)+8>>2]|0)){c[k>>2]=c[(c[C>>2]|0)+20>>2];if(sy(c[h>>2]|0,c[k>>2]|0)|0){j=16;break a}l=sh(c[t>>2]|0,72,0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=18;break a}b[(c[o>>2]|0)+36>>1]=1;l=c[t>>2]|0;c[m>>2]=c[o>>2];l=Gh(l,30109,m)|0;c[c[o>>2]>>2]=l;while(1){if(!(c[(c[k>>2]|0)+48>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}by(c[F>>2]|0,c[c[k>>2]>>2]|0,(c[o>>2]|0)+34|0,(c[o>>2]|0)+4|0)|0;b[(c[o>>2]|0)+32>>1]=-1;b[(c[o>>2]|0)+38>>1]=200;l=(c[o>>2]|0)+42|0;a[l>>0]=d[l>>0]|2;break}l=px(c[F>>2]|0,0,c[C>>2]|0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=24;break a}if((e[(c[o>>2]|0)+36>>1]|0)==65535){j=26;break a}l=(c[o>>2]|0)+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(oz(c[F>>2]|0,c[C>>2]|0)|0)!=0:0){j=29;break a}if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(c[(c[o>>2]|0)+12>>2]|0)==0:0)break;if(Tx(c[F>>2]|0,c[o>>2]|0)|0){j=33;break a}l=_x(c[t>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[C>>2]|0)+20>>2]=l;b[j>>1]=b[(c[o>>2]|0)+34>>1]|0;b[(c[o>>2]|0)+34>>1]=-1;sy(c[h>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;b[(c[o>>2]|0)+34>>1]=b[j>>1]|0}while(0);if(pz(c[F>>2]|0,c[C>>2]|0)|0){j=36;break}}c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if((j|0)==12){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==16){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==18){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==24){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==26){X=c[F>>2]|0;c[p>>2]=c[c[o>>2]>>2];Eh(X,30122,p);c[(c[C>>2]|0)+16>>2]=0;c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==29){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==33){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==36){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==38){if((d[(c[t>>2]|0)+69>>0]|0)==0?(qz(c[F>>2]|0,c[r>>2]|0)|0)==0:0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[(c[A>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==160)break;if((d[c[z>>2]>>0]|0)==122?(d[c[(c[z>>2]|0)+16>>2]>>0]|0)==160:0)break;c[x>>2]=(c[x>>2]|0)+1}if((c[x>>2]|0)<(c[c[A>>2]>>2]|0)){c[s>>2]=c[(c[A>>2]|0)+4>>2];c[E>>2]=0;c[n>>2]=c[(c[c[F>>2]>>2]|0)+24>>2];if(c[n>>2]&4)h=(c[n>>2]&64|0)==0;else h=0;c[y>>2]=h&1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2];c[G>>2]=c[(c[z>>2]|0)+16>>2];do if((d[c[z>>2]>>0]|0)!=160){if((d[c[z>>2]>>0]|0)==122?(d[c[G>>2]>>0]|0)==160:0){j=58;break}c[E>>2]=Tv(c[F>>2]|0,c[E>>2]|0,c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0)|0;if(c[E>>2]|0){c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2];c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2];c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2]=0;c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2]=0}c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]=0}else j=58;while(0);do if((j|0)==58){j=0;c[M>>2]=0;c[V>>2]=0;if((d[c[z>>2]>>0]|0)==122)c[V>>2]=c[(c[(c[z>>2]|0)+12>>2]|0)+8>>2];c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0))break;c[I>>2]=c[(c[C>>2]|0)+16>>2];c[H>>2]=c[(c[C>>2]|0)+20>>2];c[W>>2]=c[(c[C>>2]|0)+12>>2];c[U>>2]=0;if(!(c[W>>2]|0))c[W>>2]=c[c[I>>2]>>2];if(a[(c[t>>2]|0)+69>>0]|0)break;if((c[H>>2]|0)!=0?(c[(c[H>>2]|0)+8>>2]&2048|0)!=0:0)j=72;else j=67;do if((j|0)==67){j=0;c[H>>2]=0;if((c[V>>2]|0)!=0?(ig(c[V>>2]|0,c[W>>2]|0)|0)!=0:0)break;c[v>>2]=Fh(c[t>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;if((c[v>>2]|0)>=0)h=c[(c[(c[t>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2]|0;else h=25451;c[U>>2]=h;j=72}while(0);b:do if((j|0)==72){j=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break b;c[T>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)>>2];if(!((c[V>>2]|0)!=0&(c[H>>2]|0)!=0?(fz(c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0,0,c[V>>2]|0,0)|0)==0:0))j=76;do if((j|0)==76){j=0;if((c[(c[r>>2]|0)+8>>2]&131072|0)==0?(d[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)+15>>0]&2|0)!=0:0)break;c[M>>2]=1;if((c[u>>2]|0)>0&(c[V>>2]|0)==0){if((d[(c[C>>2]|0)+36>>0]&4|0)!=0?(rz(c[J>>2]|0,c[u>>2]|0,c[T>>2]|0,0,0)|0)!=0:0)break;if((sz(c[(c[C>>2]|0)+52>>2]|0,c[T>>2]|0)|0)>=0)break}c[G>>2]=Wv(c[t>>2]|0,55,c[T>>2]|0)|0;c[S>>2]=c[T>>2];c[X>>2]=0;do if(c[y>>2]|0)j=84;else{if((c[c[J>>2]>>2]|0)>1){j=84;break}c[B>>2]=c[G>>2]}while(0);do if((j|0)==84){j=0;c[D>>2]=Wv(c[t>>2]|0,55,c[W>>2]|0)|0;c[B>>2]=Ev(c[F>>2]|0,122,c[D>>2]|0,c[G>>2]|0,0)|0;if(c[U>>2]|0){c[D>>2]=Wv(c[t>>2]|0,55,c[U>>2]|0)|0;c[B>>2]=Ev(c[F>>2]|0,122,c[D>>2]|0,c[B>>2]|0,0)|0}if(!(c[y>>2]|0))break;p=c[t>>2]|0;o=c[T>>2]|0;c[R>>2]=c[W>>2];c[R+4>>2]=o;c[S>>2]=Gh(p,30161,R)|0;c[X>>2]=c[S>>2]}while(0);c[E>>2]=Tv(c[F>>2]|0,c[E>>2]|0,c[B>>2]|0)|0;Xy(L,c[S>>2]|0);Uv(c[F>>2]|0,c[E>>2]|0,L,0);do if(c[E>>2]|0){if(!(c[(c[r>>2]|0)+8>>2]&2048))break;c[K>>2]=(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0);h=c[t>>2]|0;if(c[H>>2]|0){p=qh(h,c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0)|0;c[(c[K>>2]|0)+8>>2]=p}else{o=c[W>>2]|0;p=c[S>>2]|0;c[N>>2]=c[U>>2];c[N+4>>2]=o;c[N+8>>2]=p;p=Gh(h,30167,N)|0;c[(c[K>>2]|0)+8>>2]=p}p=(c[K>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Tf(c[t>>2]|0,c[X>>2]|0)}while(0);c[w>>2]=(c[w>>2]|0)+1}}while(0);c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if(!(c[M>>2]|0)){h=c[F>>2]|0;if(c[V>>2]|0){c[O>>2]=c[V>>2];Eh(h,30176,O);break}else{Eh(h,30194,P);break}}}while(0);c[x>>2]=(c[x>>2]|0)+1}ev(c[t>>2]|0,c[A>>2]|0);c[c[r>>2]>>2]=c[E>>2]}if((c[c[r>>2]>>2]|0)!=0?(c[c[c[r>>2]>>2]>>2]|0)>(c[(c[t>>2]|0)+96+8>>2]|0):0){Eh(c[F>>2]|0,30214,Q);c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=0;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}}c[q>>2]=1;X=c[q>>2]|0;i=Y;return X|0}function lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(mz(c[g>>2]|0)|0)+64>>2];if(!(c[e>>2]|0)){i=f;return}c[(c[d>>2]|0)+472>>2]=c[(c[e>>2]|0)+4>>2];i=f;return}function mz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+52>>2]|0))break;c[b>>2]=c[a+52>>2]}i=d;return a|0}function nz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;u=B+16|0;o=B+8|0;j=B;v=B+88|0;w=B+84|0;k=B+80|0;y=B+76|0;h=B+72|0;x=B+68|0;p=B+64|0;t=B+60|0;r=B+56|0;A=B+52|0;s=B+48|0;q=B+44|0;z=B+40|0;l=B+36|0;n=B+32|0;m=B+28|0;c[w>>2]=f;c[k>>2]=g;c[y>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[y>>2]>>2];c[x>>2]=Fz(c[(c[y>>2]|0)+472>>2]|0,c[k>>2]|0,p)|0;if(c[x>>2]|0){g=c[y>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){A=c[(c[x>>2]|0)+12>>2]|0;c[j>>2]=c[c[x>>2]>>2];Eh(g,A,j);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}if(oz(g,c[k>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}j=sh(c[h>>2]|0,72,0)|0;c[t>>2]=j;c[(c[k>>2]|0)+16>>2]=j;if(!(c[t>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;i=B;return A|0}b[(c[t>>2]|0)+36>>1]=1;j=qh(c[h>>2]|0,c[c[x>>2]>>2]|0)|0;c[c[t>>2]>>2]=j;b[(c[t>>2]|0)+32>>1]=-1;b[(c[t>>2]|0)+38>>1]=200;j=(c[t>>2]|0)+42|0;a[j>>0]=d[j>>0]|66;j=_x(c[h>>2]|0,c[(c[x>>2]|0)+8>>2]|0,0)|0;c[(c[k>>2]|0)+20>>2]=j;if(a[(c[h>>2]|0)+69>>0]|0){c[v>>2]=7;A=c[v>>2]|0;i=B;return A|0}c[A>>2]=c[(c[k>>2]|0)+20>>2];if((d[(c[A>>2]|0)+4>>0]|0)==116)g=1;else g=(d[(c[A>>2]|0)+4>>0]|0)==115;c[q>>2]=g&1;a:do if(c[q>>2]|0){c[n>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+28>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[n>>2]>>2]|0))break a;c[m>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0)?0==(ig(c[(c[m>>2]|0)+8>>2]|0,c[c[x>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[t>>2];k=(c[m>>2]|0)+36+1|0;a[k>>0]=a[k>>0]&-33|32;k=(c[t>>2]|0)+36|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=(c[A>>2]|0)+8|0;c[k>>2]=c[k>>2]|8192}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((e[(c[t>>2]|0)+36>>1]|0)>2){A=c[y>>2]|0;c[o>>2]=c[c[x>>2]>>2];Eh(A,30455,o);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+12>>2]=30498;c[z>>2]=c[(c[y>>2]|0)+472>>2];c[(c[y>>2]|0)+472>>2]=c[p>>2];g=c[A>>2]|0;if(c[q>>2]|0)g=c[g+48>>2]|0;sy(c[w>>2]|0,g)|0;c[(c[y>>2]|0)+472>>2]=c[p>>2];c[s>>2]=c[A>>2];while(1){g=c[s>>2]|0;if(!(c[(c[s>>2]|0)+48>>2]|0))break;c[s>>2]=c[g+48>>2]}c[r>>2]=c[g>>2];if(c[(c[x>>2]|0)+4>>2]|0){if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[(c[x>>2]|0)+4>>2]>>2]|0):0){A=c[y>>2]|0;t=c[c[r>>2]>>2]|0;w=c[c[(c[x>>2]|0)+4>>2]>>2]|0;c[u>>2]=c[c[x>>2]>>2];c[u+4>>2]=t;c[u+8>>2]=w;Eh(A,30521,u);c[(c[y>>2]|0)+472>>2]=c[z>>2];c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[r>>2]=c[(c[x>>2]|0)+4>>2]}by(c[y>>2]|0,c[r>>2]|0,(c[t>>2]|0)+34|0,(c[t>>2]|0)+4|0)|0;if(c[q>>2]|0){g=(c[x>>2]|0)+12|0;if(c[(c[A>>2]|0)+8>>2]&8192)c[g>>2]=30559;else c[g>>2]=30593;sy(c[w>>2]|0,c[A>>2]|0)|0}c[(c[x>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+472>>2]=c[z>>2]}c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}function oz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1){a=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];Eh(a,30432,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}return 0}function pz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;m=n+12|0;j=n+8|0;c[g>>2]=b;c[h>>2]=e;do if((c[(c[h>>2]|0)+16>>2]|0)!=0?((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];c[m>>2]=c[(c[h>>2]|0)+64>>2];c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!(ig(c[c[j>>2]>>2]|0,c[m>>2]|0)|0))break;c[j>>2]=c[(c[j>>2]|0)+20>>2]}if(c[j>>2]|0){c[(c[h>>2]|0)+68>>2]=c[j>>2];break}k=c[g>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=0;Eh(k,30414,l);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function qz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;f=C+84|0;u=C+80|0;g=C+76|0;o=C+72|0;p=C+68|0;s=C+64|0;q=C+60|0;t=C+56|0;n=C+52|0;v=C+48|0;h=C+44|0;k=C+40|0;r=C+36|0;B=C+32|0;j=C+28|0;l=C+24|0;m=C+20|0;c[x>>2]=a;c[f>>2]=e;c[u>>2]=c[(c[f>>2]|0)+28>>2];c[p>>2]=(c[u>>2]|0)+8;c[s>>2]=(c[p>>2]|0)+72;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=((c[c[u>>2]>>2]|0)-1|0)){f=28;break}c[q>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];b:do if(!((c[q>>2]|0)==0|(c[t>>2]|0)==0)){c[n>>2]=(d[(c[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[s>>2]|0)+36>>0]&4){if(c[(c[s>>2]|0)+48>>2]|0){f=7;break a}if(c[(c[s>>2]|0)+52>>2]|0){f=7;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break c;c[v>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(rz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[v>>2]|0,h,k)|0)uz(c[x>>2]|0,c[u>>2]|0,c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+1|0,c[o>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[s>>2]|0)+48>>2]|0)!=0?(c[(c[s>>2]|0)+52>>2]|0)!=0:0){f=15;break a}if(c[(c[s>>2]|0)+48>>2]|0){if(c[n>>2]|0)vz(c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+44>>2]|0);a=wz(c[c[x>>2]>>2]|0,c[(c[f>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+48>>2]|0)|0;c[(c[f>>2]|0)+32>>2]=a;c[(c[s>>2]|0)+48>>2]=0}if(c[(c[s>>2]|0)+52>>2]|0){c[r>>2]=c[(c[s>>2]|0)+52>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break b;c[B>>2]=c[(c[c[r>>2]>>2]|0)+(c[o>>2]<<3)>>2];c[m>>2]=tz(c[t>>2]|0,c[B>>2]|0)|0;if((c[m>>2]|0)<0){f=25;break a}if(!(rz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[B>>2]|0,j,l)|0)){f=25;break a}uz(c[x>>2]|0,c[u>>2]|0,c[j>>2]|0,c[l>>2]|0,(c[g>>2]|0)+1|0,c[m>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+72;c[p>>2]=(c[p>>2]|0)+72}if((f|0)==7){B=c[x>>2]|0;c[y>>2]=0;Eh(B,30245,y);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==15){Eh(c[x>>2]|0,30295,z);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==25){z=c[x>>2]|0;c[A>>2]=c[B>>2];Eh(z,30350,A);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==28){c[w>>2]=0;B=c[w>>2]|0;i=C;return B|0}return 0}function rz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){p=8;break}c[o>>2]=tz(c[(c[h>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)>=0)break;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==8){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2]}c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(ig(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}return 0}function tz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(ig(c[(c[(c[e>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;i=j;return h|0}return 0}function uz(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;l=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=Ez(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=Ez(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=Ev(c[s>>2]|0,37,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=wz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=wz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function vz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;vz(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);vz(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}i=j;return}function wz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;j=c[e>>2]|0;i=k;return j|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;j=c[e>>2]|0;i=k;return j|0}if((xz(b)|0)==0?(xz(c[h>>2]|0)|0)==0:0){c[j>>2]=jw(c[f>>2]|0,28,0,0)|0;yz(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}iv(c[f>>2]|0,c[g>>2]|0);iv(c[f>>2]|0,c[h>>2]|0);c[e>>2]=jw(c[f>>2]|0,134,4276,0)|0;j=c[e>>2]|0;i=k;return j|0}function xz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(Fy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function yz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){iv(c[f>>2]|0,c[h>>2]|0);iv(c[f>>2]|0,c[j>>2]|0);i=k;return}if(c[j>>2]|0){c[(c[g>>2]|0)+16>>2]=c[j>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[j>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[h>>2]|0)+4>>2]}zz(c[g>>2]|0);i=k;return}function zz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;Az(c[(c[b>>2]|0)+12>>2]|0,d);Az(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048)){if(c[a>>2]|0){Cz(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(Dz(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else Bz(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;i=e;return}function Az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){i=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];i=f;return}function Bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}Az(c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);Az(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);Az(c[(c[d>>2]|0)+56>>2]|0,c[e>>2]|0);Az(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);Cz(c[c[d>>2]>>2]|0,c[e>>2]|0);Cz(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);Cz(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);Bz(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);i=f;return}function Cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;Az(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function Dz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){a=c[e>>2]|0;i=g;return a|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}a=c[e>>2]|0;i=g;return a|0}function Ez(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=jw(c[n>>2]|0,152,0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}c[l>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[k>>2]|0)+44>>2]=c[(c[l>>2]|0)+16>>2];c[(c[k>>2]|0)+28>>2]=c[(c[l>>2]|0)+44>>2];if((b[(c[(c[k>>2]|0)+44>>2]|0)+32>>1]|0)==(c[j>>2]|0))b[(c[k>>2]|0)+32>>1]=-1;else{b[(c[k>>2]|0)+32>>1]=c[j>>2];e=WR(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[l>>2]|0)+56|0;l=n;d=c[l+4>>2]|C;c[n>>2]=c[l>>2]|e;c[n+4>>2]=d}n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[k>>2]|0;i=m;return n|0}function Fz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(d=c[(c[g>>2]|0)+8>>2]|0,c[l>>2]=d,(d|0)!=0):0){c[k>>2]=c[f>>2];b:while(1){if(!(c[k>>2]|0))break a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(!(ig(c[l>>2]|0,c[(c[k>>2]|0)+8+(c[j>>2]<<4)>>2]|0)|0))break b;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[k>>2];c[e>>2]=(c[k>>2]|0)+8+(c[j>>2]<<4);l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function Gz(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;n=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;p=r+4|0;q=r;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((c[c[j>>2]>>2]|0)>0)a=((c[c[j>>2]>>2]|0)-1|0)*72|0;else a=0;c[m>>2]=80+a;m=c[m>>2]|0;c[n>>2]=Vw(c[h>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}m=c[c[j>>2]>>2]|0;c[(c[n>>2]|0)+4>>2]=m;c[c[n>>2]>>2]=m;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);c[p>>2]=(c[j>>2]|0)+8+((c[l>>2]|0)*72|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];m=qh(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=m;m=qh(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=m;m=qh(c[h>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=m;c[(c[o>>2]|0)+36>>2]=c[(c[p>>2]|0)+36>>2];c[(c[o>>2]|0)+44>>2]=c[(c[p>>2]|0)+44>>2];c[(c[o>>2]|0)+24>>2]=c[(c[p>>2]|0)+24>>2];c[(c[o>>2]|0)+28>>2]=c[(c[p>>2]|0)+28>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>1&1){m=qh(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}c[(c[o>>2]|0)+68>>2]=c[(c[p>>2]|0)+68>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1){m=Qy(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}m=c[(c[p>>2]|0)+16>>2]|0;c[(c[o>>2]|0)+16>>2]=m;c[q>>2]=m;if(c[q>>2]|0){m=(c[q>>2]|0)+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}f=_x(c[h>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+20>>2]=f;f=Iy(c[h>>2]|0,c[(c[p>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+48>>2]=f;f=Iz(c[h>>2]|0,c[(c[p>>2]|0)+52>>2]|0)|0;c[(c[o>>2]|0)+52>>2]=f;f=(c[p>>2]|0)+56|0;e=c[f+4>>2]|0;m=(c[o>>2]|0)+56|0;c[m>>2]=c[f>>2];c[m+4>>2]=e;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}function Hz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);b=c[g>>2]|0;c[h>>2]=sh(c[d>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[c[h>>2]>>2]=c[c[e>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;b=_x(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+8>>2]=b;b=Qy(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+4>>2]=b;b=qh(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)>>2]=b;c[f>>2]=(c[f>>2]|0)+1}h=c[h>>2]|0;i=j;return h|0}function Iz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=Vw(c[e>>2]|0,8,0)|0;if(!(c[h>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=Vw(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Tf(c[e>>2]|0,c[h>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[j>>2]=(c[c[h>>2]>>2]|0)+(c[g>>2]<<3);c[k>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]<<3);b=qh(c[e>>2]|0,c[c[k>>2]>>2]|0)|0;c[c[j>>2]>>2]=b;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function Jz(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;B=N+32|0;K=N+24|0;J=N+16|0;m=N+8|0;l=N;E=N+132|0;F=N+128|0;o=N+124|0;p=N+120|0;q=N+116|0;G=N+112|0;A=N+96|0;H=N+92|0;I=N+88|0;r=N+84|0;w=N+80|0;L=N+76|0;M=N+72|0;u=N+68|0;k=N+64|0;C=N+60|0;t=N+56|0;z=N+136|0;D=N+52|0;y=N+48|0;s=N+44|0;v=N+40|0;x=N+36|0;c[F>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[G>>2]=j;c[r>>2]=c[(c[o>>2]|0)+52>>2];c[w>>2]=c[(c[o>>2]|0)+48>>2];c[L>>2]=0;c[k>>2]=c[(c[F>>2]|0)+336>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)==(c[o>>2]|0)){n=4;break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if((n|0)==4){M=c[F>>2]|0;c[l>>2]=c[c[o>>2]>>2];M=Gh(M,30650,l)|0;c[c[G>>2]>>2]=M;c[E>>2]=6;M=c[E>>2]|0;i=N;return M|0}n=c[F>>2]|0;c[m>>2]=c[c[o>>2]>>2];c[M>>2]=Gh(n,18391,m)|0;if(!(c[M>>2]|0)){c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[H>>2]=sh(c[F>>2]|0,28,0)|0;e=c[F>>2]|0;if(!(c[H>>2]|0)){Tf(e,c[M>>2]|0);c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[c[H>>2]>>2]=e;c[(c[H>>2]|0)+4>>2]=c[p>>2];c[u>>2]=Fh(c[F>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;c[(c[(c[o>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];c[A+4>>2]=c[o>>2];c[A>>2]=c[H>>2];c[A+8>>2]=c[(c[F>>2]|0)+336>>2];c[A+12>>2]=0;c[(c[F>>2]|0)+336>>2]=A;c[I>>2]=Sb[c[q>>2]&255](c[F>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[w>>2]|0,c[r>>2]|0,(c[H>>2]|0)+8|0,L)|0;c[(c[F>>2]|0)+336>>2]=c[A+8>>2];if((c[I>>2]|0)==7)mh(c[F>>2]|0);a:do if(!(c[I>>2]|0)){if(c[(c[H>>2]|0)+8>>2]|0){L=c[(c[H>>2]|0)+8>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[c[(c[H>>2]|0)+8>>2]>>2]=c[c[p>>2]>>2];c[(c[H>>2]|0)+12>>2]=1;if(!(c[A+12>>2]|0)){c[C>>2]=30722;K=c[F>>2]|0;L=c[C>>2]|0;c[B>>2]=c[c[o>>2]>>2];L=Gh(K,L,B)|0;c[c[G>>2]>>2]=L;su(c[H>>2]|0);c[I>>2]=1;break}a[z>>0]=0;c[(c[H>>2]|0)+24>>2]=c[(c[o>>2]|0)+56>>2];c[(c[o>>2]|0)+56>>2]=c[H>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break a;c[D>>2]=vi((c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)|0,18402)|0;c[s>>2]=0;c[y>>2]=Jf(c[D>>2]|0)|0;c[s>>2]=0;b:while(1){if((c[s>>2]|0)>=(c[y>>2]|0))break;do if(!(zd(30768,(c[D>>2]|0)+(c[s>>2]|0)|0,6)|0)){if((c[s>>2]|0)!=0?(a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=32:0)break;if(!(a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0))break b;if((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)==32)break b}while(0);c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)<(c[y>>2]|0)){c[x>>2]=6+((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)!=0?1:0);c[v>>2]=c[s>>2];while(1){if(((c[v>>2]|0)+(c[x>>2]|0)|0)>(c[y>>2]|0))break;a[(c[D>>2]|0)+(c[v>>2]|0)>>0]=a[(c[D>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0))>>0]|0;c[v>>2]=(c[v>>2]|0)+1}if((c[s>>2]|0)>0?(a[(c[D>>2]|0)+(c[s>>2]|0)>>0]|0)==0:0)a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]=0;L=(c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+15|0;a[L>>0]=d[L>>0]|2;a[z>>0]=-128}else{L=(c[o>>2]|0)+42|0;a[L>>0]=d[L>>0]|d[z>>0]}c[t>>2]=(c[t>>2]|0)+1}}}else{e=c[F>>2]|0;if(!(c[L>>2]|0)){c[J>>2]=c[M>>2];L=Gh(e,30692,J)|0;c[c[G>>2]>>2]=L}else{c[K>>2]=c[L>>2];K=Gh(e,18391,K)|0;c[c[G>>2]>>2]=K;Kd(c[L>>2]|0)}Tf(c[F>>2]|0,c[H>>2]|0)}while(0);Tf(c[F>>2]|0,c[M>>2]|0);c[E>>2]=c[I>>2];M=c[E>>2]|0;i=N;return M|0}function Kz(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[c[d>>2]>>2];if(!(a[(c[e>>2]|0)+148+5>>0]|0))c[f>>2]=si(c[e>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[f>>2];b=(c[d>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+1;f=c[f>>2]|0;i=g;return f|0}function Lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;d=l+32|0;e=l+28|0;n=l+24|0;m=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];rx(c[d>>2]|0,0,c[e>>2]|0);c[g>>2]=c[(c[d>>2]|0)+40>>2];a=(c[d>>2]|0)+40|0;c[a>>2]=(c[a>>2]|0)+3;Pz(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,0,0);c[f>>2]=(c[(c[d>>2]|0)+44>>2]|0)+1;c[h>>2]=c[(c[d>>2]|0)+40>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];Qz(c[d>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);c[j>>2]=c[c[j>>2]>>2]}Rz(c[d>>2]|0,c[e>>2]|0);i=l;return}function Mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Tw(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=ni(c[g>>2]|0,c[f>>2]|0)|0;Tf(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function Nz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;rx(c[e>>2]|0,0,c[h>>2]|0);c[j>>2]=c[(c[e>>2]|0)+40>>2];d=(c[e>>2]|0)+40|0;c[d>>2]=(c[d>>2]|0)+3;d=c[e>>2]|0;a=c[h>>2]|0;b=c[j>>2]|0;if(c[g>>2]|0)Pz(d,a,b,c[c[g>>2]>>2]|0,30854);else Pz(d,a,b,c[c[f>>2]>>2]|0,30858);Qz(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[j>>2]|0,(c[(c[e>>2]|0)+44>>2]|0)+1|0,c[(c[e>>2]|0)+40>>2]|0);Rz(c[e>>2]|0,c[h>>2]|0);i=k;return}function Oz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;o=r+16|0;n=r+12|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[c[j>>2]>>2];e=(c[n>>2]|0)+148|0;if((c[(c[l>>2]|0)+4>>2]|0)>>>0>0){if(a[e+5>>0]|0){Eh(c[j>>2]|0,30817,p);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}c[c[m>>2]>>2]=c[l>>2];c[o>>2]=Mz(c[n>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];Eh(p,30834,q);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}}else{c[o>>2]=d[e+4>>0];c[c[m>>2]>>2]=c[k>>2]}c[h>>2]=c[o>>2];q=c[h>>2]|0;i=r;return q|0}function Pz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+96|0;v=x+16|0;u=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;q=x+64|0;p=x+60|0;r=x+56|0;t=x+52|0;o=x+40|0;n=x+88|0;w=x+36|0;s=x+32|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=c[c[h>>2]>>2];c[t>>2]=dx(c[h>>2]|0)|0;if(!(c[t>>2]|0)){i=x;return}c[r>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;c[w>>2]=c[4396+(c[q>>2]<<3)>>2];g=ti(c[p>>2]|0,c[w>>2]|0,c[c[r>>2]>>2]|0)|0;c[s>>2]=g;do if(!g){if(c[4396+(c[q>>2]<<3)+4>>2]|0){g=c[h>>2]|0;b=c[w>>2]|0;f=c[4396+(c[q>>2]<<3)+4>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=b;c[u+8>>2]=f;cx(g,30915,u);c[o+(c[q>>2]<<2)>>2]=c[(c[h>>2]|0)+104>>2];a[n+(c[q>>2]|0)>>0]=16}}else{c[o+(c[q>>2]<<2)>>2]=c[(c[s>>2]|0)+28>>2];a[n+(c[q>>2]|0)>>0]=0;Tz(c[h>>2]|0,c[j>>2]|0,c[o+(c[q>>2]<<2)>>2]|0,1,c[w>>2]|0);if(c[l>>2]|0){g=c[h>>2]|0;e=c[w>>2]|0;b=c[m>>2]|0;f=c[l>>2]|0;c[v>>2]=c[c[r>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=b;c[v+12>>2]=f;cx(g,30938,v);break}else{ix(c[t>>2]|0,131,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0)|0;break}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if(!(c[4396+(c[q>>2]<<3)+4>>2]|0))break;Ih(c[t>>2]|0,105,(c[k>>2]|0)+(c[q>>2]|0)|0,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0,3)|0;Jh(c[t>>2]|0,a[n+(c[q>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+1}i=x;return}function Qz(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+128|0;n=R+116|0;o=R+112|0;p=R+108|0;q=R+104|0;l=R+100|0;m=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;r=R+4|0;E=R;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[l>>2]=j;c[m>>2]=k;c[u>>2]=c[c[n>>2]>>2];c[A>>2]=-1;a[D>>0]=1;f=c[l>>2]|0;c[l>>2]=f+1;c[I>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[L>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[G>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[N>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[M>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[H>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[K>>2]=f;c[J>>2]=c[l>>2];if((c[(c[n>>2]|0)+44>>2]|0)>(c[l>>2]|0))l=c[(c[n>>2]|0)+44>>2]|0;else l=c[l>>2]|0;c[(c[n>>2]|0)+44>>2]=l;c[O>>2]=dx(c[n>>2]|0)|0;if((c[O>>2]|0)==0|(c[o>>2]|0)==0){i=R;return}if(!(c[(c[o>>2]|0)+28>>2]|0)){i=R;return}if(!(_e(30862,c[c[o>>2]>>2]|0,0)|0)){i=R;return}c[x>>2]=Fh(c[u>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;if(ax(c[n>>2]|0,28,c[c[o>>2]>>2]|0,0,c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2]|0)|0){i=R;return}Tz(c[n>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+28>>2]|0,0,c[c[o>>2]>>2]|0);f=c[m>>2]|0;c[m>>2]=f+1;c[z>>2]=f;f=c[m>>2]|0;c[m>>2]=f+1;c[y>>2]=f;if((c[(c[n>>2]|0)+40>>2]|0)>(c[m>>2]|0))l=c[(c[n>>2]|0)+40>>2]|0;else l=c[m>>2]|0;c[(c[n>>2]|0)+40>>2]=l;Uz(c[n>>2]|0,c[z>>2]|0,c[x>>2]|0,c[o>>2]|0,104);hx(c[O>>2]|0,c[M>>2]|0,c[c[o>>2]>>2]|0)|0;c[F>>2]=c[(c[o>>2]|0)+8>>2];while(1){l=c[p>>2]|0;if(!(c[F>>2]|0))break;if(!((l|0)!=0?(c[p>>2]|0)!=(c[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[F>>2]|0)+36>>2]|0))a[D>>0]=0;if(((d[(c[o>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[F>>2]|0)+55>>0]&3|0)==2:0){c[B>>2]=e[(c[F>>2]|0)+50>>1];c[P>>2]=c[c[o>>2]>>2];c[C>>2]=(c[B>>2]|0)-1}else{c[B>>2]=e[(c[F>>2]|0)+52>>1];c[P>>2]=c[c[F>>2]>>2];if((d[(c[F>>2]|0)+55>>0]|0)>>>3&1)l=e[(c[F>>2]|0)+50>>1]|0;else l=c[B>>2]|0;c[C>>2]=l-1}hx(c[O>>2]|0,c[H>>2]|0,c[P>>2]|0)|0;if((c[(c[n>>2]|0)+44>>2]|0)>((c[J>>2]|0)+(c[C>>2]|0)|0))l=c[(c[n>>2]|0)+44>>2]|0;else l=(c[J>>2]|0)+(c[C>>2]|0)|0;c[(c[n>>2]|0)+44>>2]=l;jx(c[O>>2]|0,104,c[y>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Vz(c[n>>2]|0,c[F>>2]|0);ix(c[O>>2]|0,76,c[B>>2]|0,(c[L>>2]|0)+1|0)|0;ix(c[O>>2]|0,76,e[(c[F>>2]|0)+50>>1]|0,(c[L>>2]|0)+2|0)|0;mx(c[O>>2]|0,89,0,(c[L>>2]|0)+1|0,c[L>>2]|0,4292,-5)|0;Jh(c[O>>2]|0,2);c[t>>2]=Sz(c[O>>2]|0,57,c[y>>2]|0)|0;ix(c[O>>2]|0,76,0,c[G>>2]|0)|0;c[s>>2]=wx(c[O>>2]|0)|0;if((c[C>>2]|0)>0){c[v>>2]=Wz(c[O>>2]|0)|0;c[r>>2]=Vw(c[u>>2]|0,c[C>>2]<<2,0)|0;if(!(c[r>>2]|0))break;fx(c[O>>2]|0,13)|0;c[s>>2]=wx(c[O>>2]|0)|0;if(((c[C>>2]|0)==1?(e[(c[F>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[F>>2]|0)+54>>0]|0|0)!=0:0)ix(c[O>>2]|0,35,c[J>>2]|0,c[v>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=Xz(c[n>>2]|0,c[(c[(c[F>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0)|0;ix(c[O>>2]|0,76,c[w>>2]|0,c[G>>2]|0)|0;jx(c[O>>2]|0,96,c[y>>2]|0,c[w>>2]|0,c[N>>2]|0)|0;m=mx(c[O>>2]|0,36,c[N>>2]|0,0,(c[J>>2]|0)+(c[w>>2]|0)|0,c[E>>2]|0,-4)|0;c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]=m;Jh(c[O>>2]|0,-128);c[w>>2]=(c[w>>2]|0)+1}ix(c[O>>2]|0,76,c[C>>2]|0,c[G>>2]|0)|0;Yz(c[O>>2]|0,c[v>>2]|0)|0;Zz(c[O>>2]|0,(c[s>>2]|0)-1|0);c[w>>2]=0;while(1){l=c[O>>2]|0;if((c[w>>2]|0)>=(c[C>>2]|0))break;Zz(l,c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0);jx(c[O>>2]|0,96,c[y>>2]|0,c[w>>2]|0,(c[J>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}_z(l,c[v>>2]|0);Tf(c[u>>2]|0,c[r>>2]|0)}mx(c[O>>2]|0,89,1,c[L>>2]|0,c[N>>2]|0,4320,-5)|0;Jh(c[O>>2]|0,2);ix(c[O>>2]|0,7,c[y>>2]|0,c[s>>2]|0)|0;$z(c[O>>2]|0,c[L>>2]|0,0,c[K>>2]|0);mx(c[O>>2]|0,99,c[M>>2]|0,3,c[N>>2]|0,30871,0)|0;ix(c[O>>2]|0,114,c[q>>2]|0,c[I>>2]|0)|0;jx(c[O>>2]|0,115,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Jh(c[O>>2]|0,8);Zz(c[O>>2]|0,c[t>>2]|0)}while(0);c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(l){i=R;return}if(!(d[D>>0]|0)){i=R;return}ix(c[O>>2]|0,100,c[z>>2]|0,c[K>>2]|0)|0;c[A>>2]=Sz(c[O>>2]|0,22,c[K>>2]|0)|0;ix(c[O>>2]|0,79,0,c[H>>2]|0)|0;mx(c[O>>2]|0,99,c[M>>2]|0,3,c[N>>2]|0,30871,0)|0;ix(c[O>>2]|0,114,c[q>>2]|0,c[I>>2]|0)|0;jx(c[O>>2]|0,115,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Jh(c[O>>2]|0,8);Zz(c[O>>2]|0,c[A>>2]|0);i=R;return}function Rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=dx(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}Sz(c[e>>2]|0,137,c[d>>2]|0)|0;i=f;return}function Sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=jx(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return d|0}function Tz(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;m=s+24|0;n=s+20|0;o=s+32|0;p=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;r=s;c[t>>2]=b;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[p>>2]=h;e=c[t>>2]|0;if(c[(c[t>>2]|0)+124>>2]|0)e=c[e+124>>2]|0;c[q>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[q>>2]|0)+112>>2]|0))break;c[r>>2]=(c[(c[q>>2]|0)+116>>2]|0)+(c[j>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[m>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[n>>2]|0):0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){if(d[(c[r>>2]|0)+8>>0]|0)e=1;else e=(d[o>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=e&1;i=s;return}c[k>>2]=(c[(c[q>>2]|0)+112>>2]|0)+1<<4;e=c[k>>2]|0;e=Px(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+116>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[q>>2]|0)+116>>2]=e;e=(c[q>>2]|0)+112|0;if(c[(c[q>>2]|0)+116>>2]|0){t=c[e>>2]|0;c[e>>2]=t+1;c[r>>2]=(c[(c[q>>2]|0)+116>>2]|0)+(t<<4);c[c[r>>2]>>2]=c[m>>2];c[(c[r>>2]|0)+4>>2]=c[n>>2];a[(c[r>>2]|0)+8>>0]=a[o>>0]|0;c[(c[r>>2]|0)+12>>2]=c[p>>2];i=s;return}else{c[e>>2]=0;mh(c[c[q>>2]>>2]|0);i=s;return}}function Uz(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=dx(c[j>>2]|0)|0;Tz(c[j>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+28>>2]|0,((c[n>>2]|0)==105?1:0)&255,c[c[m>>2]>>2]|0);if(!(d[(c[m>>2]|0)+42>>0]&32)){Ih(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+28>>2]|0,c[l>>2]|0,b[(c[m>>2]|0)+34>>1]|0)|0;i=q;return}else{c[o>>2]=Jj(c[m>>2]|0)|0;jx(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[l>>2]|0)|0;Vz(c[j>>2]|0,c[o>>2]|0);i=q;return}}function Vz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;Mh(a,-1,hA(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function Wz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+12>>2];f=(c[d>>2]|0)+72|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=Px(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+76>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[d>>2]|0)+76>>2]=f}if(!(c[(c[d>>2]|0)+76>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}c[(c[(c[d>>2]|0)+76>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}function Xz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+12|0;g=k+8|0;m=k+4|0;h=k+17|0;l=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+66>>0]|0;a[l>>0]=a[(c[m>>2]|0)+148+5>>0]|0;c[j>>2]=Sj(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[j>>2]|0;i=k;return m|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=gy(c[f>>2]|0,a[h>>0]|0,c[j>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=k;return m|0}function Yz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=jx(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;i=d;return a|0}function Zz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;dA(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+136>>2]|0);i=d;return}function _z(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[d>>2]|0)+12>>2];c[e>>2]=-1-(c[h>>2]|0);if(!(c[(c[f>>2]|0)+76>>2]|0)){i=g;return}c[(c[(c[f>>2]|0)+76>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[d>>2]|0)+136>>2];i=g;return}function $z(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;mx(c[g>>2]|0,89,0,c[j>>2]|0,c[h>>2]|0,4348,-5)|0;Jh(c[g>>2]|0,1);i=f;return}function aA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;l=o+24|0;k=o+16|0;e=o+56|0;p=o+48|0;j=o+44|0;m=o+40|0;f=o+36|0;n=o+32|0;h=o+8|0;g=o;c[e>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[j>>2]=_d(c[c[p>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[n>>2]=kg(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){se(c[e>>2]|0);i=o;return}p=c[n>>2]|0;a=k;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;Qd(24,p,30884,k)|0;p=c[n>>2]|0;c[m>>2]=p+(Jf(c[n>>2]|0)|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;p=h;c[p>>2]=(c[(c[(c[j>>2]|0)+20+4>>2]|0)+(c[f>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=h;p=RR(c[c[j>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=QR(p|0,C|0,1,0)|0;d=h;d=bS(p|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;p=g;c[p>>2]=d;c[p+4>>2]=C;p=c[m>>2]|0;d=g;a=c[d+4>>2]|0;k=l;c[k>>2]=c[d>>2];c[k+4>>2]=a;Qd(24,p,30889,l)|0;p=Jf(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[f>>2]=(c[f>>2]|0)+1}me(c[e>>2]|0,c[n>>2]|0,-1,148);i=o;return}function bA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[h+20>>2]=a;c[h+16>>2]=b;c[j>>2]=d;c[g>>2]=_d(c[c[j>>2]>>2]|0)|0;c[f>>2]=ce(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}cA(c[g>>2]|0,c[f>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;j=(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[f>>2];while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;j=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}function cA(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function dA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(eA(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;i=e;return}function eA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+136>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=4376;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);b=c[e>>2]|0;i=h;return b|0}return 0}function fA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;n=l+24|0;k=l+20|0;g=l+16|0;j=l+12|0;h=l+8|0;m=l+4|0;f=l;c[e>>2]=a;c[l+28>>2]=b;c[n>>2]=d;c[g>>2]=ce(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[g>>2]|0)+1&-2;c[j>>2]=ce(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[f>>2]=ve(c[e>>2]|0)|0;a=c[m>>2]|0;c[k>>2]=sh(c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){se(c[e>>2]|0);i=l;return}else{c[(c[k>>2]|0)+52>>2]=c[f>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+8>>2]=c[g>>2];c[(c[k>>2]|0)+12>>2]=c[j>>2];c[(c[k>>2]|0)+20+4>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+20>>2]=(c[(c[k>>2]|0)+20+4>>2]|0)+(c[h>>2]<<2);fe(c[e>>2]|0,c[k>>2]|0,56,153);i=l;return}}function gA(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tf(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function hA(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=e[(c[k>>2]|0)+52>>1];c[g>>2]=e[(c[k>>2]|0)+50>>1];if(c[(c[j>>2]|0)+36>>2]|0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}f=c[c[j>>2]>>2]|0;if((d[(c[k>>2]|0)+55>>0]|0)>>>3&1)c[n>>2]=iA(f,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=iA(f,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)==34834)f=0;else f=Xz(c[j>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[l>>2]<<2)>>2]=f;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[k>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0;c[l>>2]=(c[l>>2]|0)+1}if(c[(c[j>>2]|0)+36>>2]|0){jA(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function iA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)*5;c[l>>2]=Vw(c[g>>2]|0,24+(c[k>>2]|0)|0,0)|0;if(c[l>>2]|0){c[(c[l>>2]|0)+16>>2]=(c[l>>2]|0)+20+((c[h>>2]|0)+(c[j>>2]|0)<<2);b[(c[l>>2]|0)+6>>1]=c[h>>2];b[(c[l>>2]|0)+8>>1]=c[j>>2];a[(c[l>>2]|0)+4>>0]=a[(c[g>>2]|0)+66>>0]|0;c[(c[l>>2]|0)+12>>2]=c[g>>2];c[c[l>>2]>>2]=1;VR((c[l>>2]|0)+24|0,0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{mh(c[g>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function jA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){i=d;return}Tf(c[(c[b>>2]|0)+12>>2]|0,c[b>>2]|0);i=d;return}function kA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[j>>2]=c[(c[f>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];lA(c[d>>2]|0,c[k>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}i=l;return}function lA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[g>>2]|0)!=0?(HB(c[g>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;rx(c[e>>2]|0,0,c[h>>2]|0);mA(c[e>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=k;return}function mA(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;n=x+64|0;o=x+60|0;g=x+56|0;l=x+52|0;t=x+48|0;r=x+44|0;s=x+40|0;p=x+36|0;q=x+32|0;m=x+28|0;j=x+24|0;w=x+20|0;k=x+16|0;v=x+12|0;y=x+8|0;h=x+4|0;u=x;c[n>>2]=a;c[o>>2]=b;c[g>>2]=f;c[l>>2]=c[(c[o>>2]|0)+12>>2];a=(c[n>>2]|0)+40|0;b=c[a>>2]|0;c[a>>2]=b+1;c[t>>2]=b;b=(c[n>>2]|0)+40|0;a=c[b>>2]|0;c[b>>2]=a+1;c[r>>2]=a;c[y>>2]=c[c[n>>2]>>2];c[h>>2]=Fh(c[y>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;if(ax(c[n>>2]|0,27,c[c[o>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0){i=x;return}Tz(c[n>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+28>>2]|0,1,c[c[l>>2]>>2]|0);c[w>>2]=dx(c[n>>2]|0)|0;if(!(c[w>>2]|0)){i=x;return}if((c[g>>2]|0)>=0)c[m>>2]=c[g>>2];else c[m>>2]=c[(c[o>>2]|0)+44>>2];c[k>>2]=hA(c[n>>2]|0,c[o>>2]|0)|0;a=(c[n>>2]|0)+40|0;b=c[a>>2]|0;c[a>>2]=b+1;c[s>>2]=b;b=c[w>>2]|0;a=c[s>>2]|0;y=e[(c[o>>2]|0)+50>>1]|0;mx(b,108,a,0,y,nA(c[k>>2]|0)|0,-6)|0;Uz(c[n>>2]|0,c[t>>2]|0,c[h>>2]|0,c[l>>2]|0,104);c[p>>2]=ix(c[w>>2]|0,57,c[t>>2]|0,0)|0;c[v>>2]=vx(c[n>>2]|0)|0;oA(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,0,j,0,0)|0;ix(c[w>>2]|0,125,c[s>>2]|0,c[v>>2]|0)|0;pA(c[n>>2]|0,c[j>>2]|0);ix(c[w>>2]|0,7,c[t>>2]|0,(c[p>>2]|0)+1|0)|0;Zz(c[w>>2]|0,c[p>>2]|0);if((c[g>>2]|0)<0)ix(c[w>>2]|0,131,c[m>>2]|0,c[h>>2]|0)|0;mx(c[w>>2]|0,105,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0,-6)|0;Jh(c[w>>2]|0,(1|((c[g>>2]|0)>=0?16:0))&255);c[p>>2]=ix(c[w>>2]|0,55,c[s>>2]|0,0)|0;y=(d[(c[o>>2]|0)+54>>0]|0|0)!=0;g=wx(c[w>>2]|0)|0;if(y){c[u>>2]=g+3;Yz(c[w>>2]|0,c[u>>2]|0)|0;c[q>>2]=wx(c[w>>2]|0)|0;Ih(c[w>>2]|0,119,c[s>>2]|0,c[u>>2]|0,c[v>>2]|0,e[(c[o>>2]|0)+50>>1]|0)|0;qA(c[n>>2]|0,2,c[o>>2]|0)}else c[q>>2]=g;jx(c[w>>2]|0,120,c[s>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;jx(c[w>>2]|0,53,c[r>>2]|0,0,-1)|0;jx(c[w>>2]|0,126,c[r>>2]|0,c[v>>2]|0,0)|0;Jh(c[w>>2]|0,16);xx(c[n>>2]|0,c[v>>2]|0);ix(c[w>>2]|0,3,c[s>>2]|0,c[q>>2]|0)|0;Zz(c[w>>2]|0,c[p>>2]|0);Sz(c[w>>2]|0,111,c[t>>2]|0)|0;Sz(c[w>>2]|0,111,c[r>>2]|0)|0;Sz(c[w>>2]|0,111,c[s>>2]|0)|0;i=x;return}function nA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function oA(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;o=y+44|0;p=y+40|0;q=y+36|0;r=y+32|0;m=y+28|0;n=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=h;c[n>>2]=j;c[s>>2]=k;c[t>>2]=l;c[x>>2]=c[(c[o>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[p>>2]|0)+36>>2]|0){l=Wz(c[x>>2]|0)|0;c[c[n>>2]>>2]=l;c[(c[o>>2]|0)+60>>2]=c[q>>2];AA(c[o>>2]|0);BA(c[o>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if((c[m>>2]|0)!=0?((d[(c[p>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)m=b[(c[p>>2]|0)+50>>1]|0;else m=b[(c[p>>2]|0)+52>>1]|0;c[v>>2]=m&65535;c[w>>2]=CA(c[o>>2]|0,c[v>>2]|0)|0;do if(c[s>>2]|0){if((c[w>>2]|0)==(c[t>>2]|0)?(c[(c[s>>2]|0)+36>>2]|0)==0:0)break;c[s>>2]=0}while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if(!(((c[s>>2]|0)!=0?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0):0)?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)!=-2:0)){DA(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[u>>2]|0,(c[w>>2]|0)+(c[u>>2]|0)|0);EA(c[x>>2]|0,92)|0}c[u>>2]=(c[u>>2]|0)+1}if(!(c[r>>2]|0)){t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;FA(t,u,x);x=c[w>>2]|0;i=y;return x|0}jx(c[x>>2]|0,99,c[w>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;FA(t,u,x);x=c[w>>2]|0;i=y;return x|0}function pA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}_z(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);yA(c[d>>2]|0);i=f;return}function qA(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;p=s+8|0;o=s;h=s+68|0;j=s+64|0;k=s+60|0;r=s+56|0;m=s+52|0;l=s+24|0;n=s+20|0;q=s+16|0;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[n>>2]=c[(c[k>>2]|0)+12>>2];dg(l,c[c[h>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[o>>2]=c[c[k>>2]>>2];rA(l,31053,o);o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;tA(o,p,q,r,-1,2);i=s;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[q>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]<<4)>>2];if(c[m>>2]|0)sA(l,31064,2);o=c[q>>2]|0;c[p>>2]=c[c[n>>2]>>2];c[p+4>>2]=o;rA(l,30161,p);c[m>>2]=(c[m>>2]|0)+1}o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;tA(o,p,q,r,-1,2);i=s;return}function rA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;eg(c[h>>2]|0,c[g>>2]|0,f);i=e;return}function sA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){uA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}else{b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);TR((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}}function tA(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;n=q+21|0;o=q+20|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;a[o>>0]=h;c[p>>2]=dx(c[j>>2]|0)|0;if((c[l>>2]|0)==2)Vx(c[j>>2]|0);mx(c[p>>2]|0,75,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,a[n>>0]|0)|0;Jh(c[p>>2]|0,a[o>>0]|0);i=q;return}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=vA(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){i=h;return}TR((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);i=h;return}function vA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;f=m;c[j>>2]=b;c[k>>2]=e;if(a[(c[j>>2]|0)+24>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}e=c[j>>2]|0;if(!(c[(c[j>>2]|0)+20>>2]|0)){c[k>>2]=(c[e+16>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)-1;wA(c[j>>2]|0,2);c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}if(d[e+25>>0]&4)e=c[(c[j>>2]|0)+8>>2]|0;else e=0;c[g>>2]=e;e=f;c[e>>2]=c[(c[j>>2]|0)+12>>2];c[e+4>>2]=0;e=(c[k>>2]|0)+1|0;b=f;e=RR(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C;b=f;b=RR(c[b>>2]|0,c[b+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;e=C;if((e|0)<0|((e|0)==0?b>>>0<=(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){e=f;e=RR(c[e>>2]|0,c[e+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C}b=f;e=c[b+4>>2]|0;if((e|0)>0|((e|0)==0?(c[b>>2]|0)>>>0>(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){xA(c[j>>2]|0);wA(c[j>>2]|0,2);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}c[(c[j>>2]|0)+16>>2]=c[f>>2];if(c[c[j>>2]>>2]|0)c[l>>2]=Uw(c[c[j>>2]>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;else c[l>>2]=Md(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;e=c[j>>2]|0;if(!(c[l>>2]|0)){xA(e);wA(c[j>>2]|0,1);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}if((d[e+25>>0]&4|0)==0?(c[(c[j>>2]|0)+12>>2]|0)>>>0>0:0)TR(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=c[l>>2];l=ku(c[c[j>>2]>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;l=(c[j>>2]|0)+25|0;a[l>>0]=d[l>>0]|4;c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}function wA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function xA(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}Tf(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}function yA(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=0;a=(c[b>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[e>>2]|0)>=(d[(c[b>>2]|0)+25>>0]|0|0))break;if((c[(c[b>>2]|0)+152+((c[e>>2]|0)*20|0)+8>>2]|0)>(c[(c[b>>2]|0)+64>>2]|0)){zA(c[b>>2]|0,c[e>>2]|0);continue}else{c[e>>2]=(c[e>>2]|0)+1;continue}}i=f;return}function zA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((a[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+6>>0]|0)!=0?(d[(c[f>>2]|0)+19>>0]|0)<8:0){e=c[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+12>>2]|0;j=(c[f>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[f>>2]|0)+352+((b&255)<<2)>>2]=e}j=(c[f>>2]|0)+25|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;if((c[g>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0)){i=h;return}j=(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)|0;b=(c[f>>2]|0)+152+((d[(c[f>>2]|0)+25>>0]|0)*20|0)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[j+16>>2]=c[b+16>>2];i=h;return}function AA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function BA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=Iy(c[k>>2]|0,c[n>>2]|0,0)|0;if(d[(c[k>>2]|0)+69>>0]|0){a=c[k>>2]|0;n=c[l>>2]|0;iv(a,n);i=m;return}iB(c[g>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0);a=c[k>>2]|0;n=c[l>>2]|0;iv(a,n);i=m;return}function CA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[f>>2]|0)==1){c[d>>2]=vx(b)|0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=c[b+32>>2];c[h>>2]=c[(c[e>>2]|0)+28>>2];if((c[f>>2]|0)<=(c[h>>2]|0)){h=(c[e>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0);h=(c[e>>2]|0)+28|0;c[h>>2]=(c[h>>2]|0)-(c[f>>2]|0)}else{c[g>>2]=(c[(c[e>>2]|0)+44>>2]|0)+1;h=(c[e>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0)}c[d>>2]=c[g>>2];h=c[d>>2]|0;i=j;return h|0}function DA(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;n=o+20|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b[n>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;if((b[n>>1]|0)==-2){c[(c[h>>2]|0)+60>>2]=c[k>>2];MA(c[h>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0,c[m>>2]|0);i=o;return}else{NA(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[n>>1]|0,c[m>>2]|0);i=o;return}}function EA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;j=h+8|0;c[g>>2]=b;a[j>>0]=e;if((c[(c[g>>2]|0)+136>>2]|0)>0?(d[(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){c[f>>2]=HA(c[g>>2]|0,(c[(c[g>>2]|0)+136>>2]|0)-1|0)|0;j=c[f>>2]|0;i=h;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=h;return j|0}function FA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[e>>2]|0;d=c[f>>2]|0;if((c[g>>2]|0)==1){xx(b,d);i=h;return}GA(b,d,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+28>>2]|0)){i=h;return}c[(c[e>>2]|0)+28>>2]=c[g>>2];c[(c[e>>2]|0)+32>>2]=c[f>>2];i=h;return}function GA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;c[k>>2]=(c[f>>2]|0)+152+((c[j>>2]|0)*20|0);if((c[(c[k>>2]|0)+12>>2]|0)>=(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)<((c[g>>2]|0)+(c[h>>2]|0)|0):0){zA(c[f>>2]|0,c[j>>2]|0);continue}c[j>>2]=(c[j>>2]|0)+1}i=l;return}function HA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);IA(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-95;c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}return 0}function IA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;a:do switch(c[h>>2]|0){case -21:{JA(c[e>>2]|0,c[f>>2]|0);break}case -15:case -1:case -13:case -12:{Tf(c[e>>2]|0,c[f>>2]|0);break}case -6:{if(!(c[(c[e>>2]|0)+456>>2]|0))jA(c[f>>2]|0);break}case -11:{if(!(c[(c[e>>2]|0)+456>>2]|0))Kd(c[f>>2]|0);break}case -5:{KA(c[e>>2]|0,c[f>>2]|0);break}case -8:if(!(c[(c[e>>2]|0)+456>>2]|0)){ch(c[f>>2]|0);break a}else{LA(c[e>>2]|0,c[f>>2]|0);break a}case -10:{if(!(c[(c[e>>2]|0)+456>>2]|0))su(c[f>>2]|0);break}default:{}}while(0);i=g;return}function JA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;KA(c[f>>2]|0,c[(c[e>>2]|0)+4>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function KA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){i=g;return}Tf(c[d>>2]|0,c[f>>2]|0);i=g;return}function LA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[e>>2]|0)+24>>2]|0)Tf(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function MA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[f>>2]>>2];c[g>>2]=Iy(c[j>>2]|0,c[g>>2]|0,0)|0;if(a[(c[j>>2]|0)+69>>0]|0){b=c[j>>2]|0;e=c[g>>2]|0;iv(b,e);i=k;return}RA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);b=c[j>>2]|0;e=c[g>>2]|0;iv(b,e);i=k;return}function NA(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[o>>2]=(d[(c[k>>2]|0)+42>>0]&16|0)!=0?156:96;c[p>>2]=c[m>>2];if((d[(c[k>>2]|0)+42>>0]&32|0)!=0?(d[(c[k>>2]|0)+42>>0]&16|0)==0:0){a=Jj(c[k>>2]|0)|0;c[p>>2]=(OA(a,c[m>>2]&65535)|0)<<16>>16}jx(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[p>>2]|0,c[n>>2]|0)|0}else ix(c[j>>2]|0,123,c[l>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=q;return}PA(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function OA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+10|0;f=k+4|0;g=k+8|0;h=k;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){d=6;break}a=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){d=4;break}c[h>>2]=a+1}if((d|0)==4){b[j>>1]=a;j=b[j>>1]|0;i=k;return j|0}else if((d|0)==6){b[j>>1]=-1;j=b[j>>1]|0;i=k;return j|0}return 0}function PA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o+24|0;m=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[h>>2]|0)+12>>2]|0){i=o;return}c[n>>2]=0;a[l>>0]=a[(QA(c[g>>2]|0)|0)+66>>0]|0;c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4);b=QA(c[g>>2]|0)|0;ux(b,c[(c[m>>2]|0)+4>>2]|0,a[l>>0]|0,a[(c[m>>2]|0)+13>>0]|0,n)|0;if(c[n>>2]|0)Mh(c[g>>2]|0,-1,c[n>>2]|0,-8);if((a[(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4)+13>>0]|0)!=69){i=o;return}Sz(c[g>>2]|0,92,c[k>>2]|0)|0;i=o;return}function QA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function RA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)!=0?(d[c[g>>2]>>0]|0|0)==157:0){ix(c[(c[f>>2]|0)+8>>2]|0,84,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;i=k;return}c[j>>2]=SA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){i=k;return}ix(c[(c[f>>2]|0)+8>>2]|0,85,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function SA(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=i;i=i+320|0;x=ja+24|0;w=ja+16|0;F=ja+8|0;v=ja;ga=ja+304|0;ha=ja+300|0;O=ja+296|0;ia=ja+292|0;ea=ja+288|0;B=ja+284|0;ba=ja+280|0;ca=ja+276|0;da=ja+272|0;R=ja+268|0;E=ja+264|0;S=ja+216|0;C=ja+208|0;q=ja+204|0;r=ja+200|0;m=ja+196|0;n=ja+192|0;y=ja+188|0;z=ja+184|0;D=ja+180|0;t=ja+176|0;j=ja+172|0;s=ja+168|0;Q=ja+164|0;P=ja+160|0;N=ja+156|0;G=ja+152|0;H=ja+148|0;L=ja+144|0;I=ja+140|0;A=ja+309|0;M=ja+136|0;J=ja+132|0;K=ja+308|0;o=ja+128|0;k=ja+124|0;l=ja+120|0;u=ja+116|0;p=ja+112|0;U=ja+108|0;X=ja+104|0;W=ja+100|0;V=ja+96|0;Z=ja+92|0;T=ja+88|0;Y=ja+40|0;aa=ja+32|0;$=ja+28|0;c[ha>>2]=f;c[O>>2]=g;c[ia>>2]=h;c[ea>>2]=c[(c[ha>>2]|0)+8>>2];c[ba>>2]=c[ia>>2];c[ca>>2]=0;c[da>>2]=0;c[C>>2]=0;if(!(c[ea>>2]|0)){c[ga>>2]=0;ia=c[ga>>2]|0;i=ja;return ia|0}if(!(c[O>>2]|0))c[B>>2]=101;else c[B>>2]=d[c[O>>2]>>0];a:do switch(c[B>>2]|0){case 154:{c[q>>2]=c[(c[O>>2]|0)+40>>2];c[r>>2]=(c[(c[q>>2]|0)+28>>2]|0)+((b[(c[O>>2]|0)+34>>1]|0)*24|0);if(!(a[c[q>>2]>>0]|0)){c[ga>>2]=c[(c[r>>2]|0)+16>>2];ia=c[ga>>2]|0;i=ja;return ia|0}if(a[(c[q>>2]|0)+1>>0]|0){jx(c[ea>>2]|0,96,c[(c[q>>2]|0)+8>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}else fa=11;break}case 152:{fa=11;break}case 134:{UA(c[ha>>2]|0,c[O>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 132:{VA(c[ea>>2]|0,c[(c[O>>2]|0)+8>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 97:{hx(c[ea>>2]|0,c[ia>>2]|0,c[(c[O>>2]|0)+8>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 101:{ix(c[ea>>2]|0,79,0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 133:{c[y>>2]=(c[(c[O>>2]|0)+8>>2]|0)+2;c[n>>2]=(Jf(c[y>>2]|0)|0)-1;c[z>>2]=Ix(QA(c[ea>>2]|0)|0,c[y>>2]|0,c[n>>2]|0)|0;mx(c[ea>>2]|0,81,(c[n>>2]|0)/2|0,c[ia>>2]|0,0,c[z>>2]|0,-1)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 135:{ix(c[ea>>2]|0,82,b[(c[O>>2]|0)+32>>1]|0,c[ia>>2]|0)|0;if(a[(c[(c[O>>2]|0)+8>>2]|0)+1>>0]|0)Mh(c[ea>>2]|0,-1,c[(c[(c[ha>>2]|0)+428>>2]|0)+((b[(c[O>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 157:{c[ga>>2]=c[(c[O>>2]|0)+28>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 66:{c[ba>>2]=SA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;if((c[ba>>2]|0)!=(c[ia>>2]|0)){ix(c[ea>>2]|0,85,c[ba>>2]|0,c[ia>>2]|0)|0;c[ba>>2]=c[ia>>2]}ix(c[ea>>2]|0,93,c[ia>>2]|0,(Dx(c[(c[O>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;WA(c[ha>>2]|0,c[ba>>2]|0,1);c[ga>>2]=c[ba>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 148:case 29:{c[B>>2]=(c[B>>2]|0)==29?37:36;c[C>>2]=128;fa=29;break}case 37:case 36:case 41:case 38:case 39:case 40:{fa=29;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{c[R>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,ca)|0;c[E>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+16>>2]|0,da)|0;jx(c[ea>>2]|0,c[B>>2]|0,c[E>>2]|0,c[R>>2]|0,c[ia>>2]|0)|0;break}case 155:{c[t>>2]=c[(c[O>>2]|0)+12>>2];if((d[c[t>>2]>>0]|0)==134){UA(c[ha>>2]|0,c[t>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}if((d[c[t>>2]>>0]|0)!=132){a[S>>0]=-122;c[S+4>>2]=17408;c[S+8>>2]=0;c[R>>2]=ZA(c[ha>>2]|0,S,ca)|0;c[E>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,da)|0;jx(c[ea>>2]|0,48,c[E>>2]|0,c[R>>2]|0,c[ia>>2]|0)|0;break a}VA(c[ea>>2]|0,c[(c[t>>2]|0)+8>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 19:case 54:{c[R>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,ca)|0;ix(c[ea>>2]|0,c[B>>2]|0,c[R>>2]|0,c[ba>>2]|0)|0;break}case 35:case 34:{ix(c[ea>>2]|0,76,1,c[ia>>2]|0)|0;c[R>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,ca)|0;c[j>>2]=Sz(c[ea>>2]|0,c[B>>2]|0,c[R>>2]|0)|0;ix(c[ea>>2]|0,76,0,c[ia>>2]|0)|0;Zz(c[ea>>2]|0,c[j>>2]|0);break}case 153:{c[s>>2]=c[(c[O>>2]|0)+40>>2];if(!(c[s>>2]|0)){ia=c[ha>>2]|0;c[v>>2]=c[(c[O>>2]|0)+8>>2];Eh(ia,31067,v);break a}c[ga>>2]=c[(c[(c[s>>2]|0)+40>>2]|0)+(b[(c[O>>2]|0)+34>>1]<<4)+8>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 151:{c[H>>2]=0;c[I>>2]=c[c[ha>>2]>>2];a[A>>0]=a[(c[I>>2]|0)+66>>0]|0;c[M>>2]=0;if(c[(c[O>>2]|0)+4>>2]&16384)c[Q>>2]=0;else c[Q>>2]=c[(c[O>>2]|0)+20>>2];if(c[Q>>2]|0)j=c[c[Q>>2]>>2]|0;else j=0;c[P>>2]=j;c[G>>2]=c[(c[O>>2]|0)+8>>2];c[N>>2]=ki(c[I>>2]|0,c[G>>2]|0,c[P>>2]|0,a[A>>0]|0,0)|0;if((c[N>>2]|0)!=0?(c[(c[N>>2]|0)+16>>2]|0)==0:0){if(e[(c[N>>2]|0)+2>>1]&512){c[J>>2]=Wz(c[ea>>2]|0)|0;RA(c[ha>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0);c[L>>2]=1;while(1){j=c[ea>>2]|0;if((c[L>>2]|0)>=(c[P>>2]|0))break;ix(j,35,c[ia>>2]|0,c[J>>2]|0)|0;GA(c[ha>>2]|0,c[ia>>2]|0,1);AA(c[ha>>2]|0);RA(c[ha>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[L>>2]|0)*20|0)>>2]|0,c[ia>>2]|0);yA(c[ha>>2]|0);c[L>>2]=(c[L>>2]|0)+1}_z(j,c[J>>2]|0);break a}if(e[(c[N>>2]|0)+2>>1]&1024){c[ga>>2]=SA(c[ha>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[P>>2]|0))break;if((c[L>>2]|0)<32?($A(c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[L>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[H>>2]=c[H>>2]|1<>2];if(!((c[M>>2]|0)!=0?1:(e[(c[N>>2]|0)+2>>1]&32|0)==0))c[M>>2]=fy(c[ha>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[L>>2]|0)*20|0)>>2]|0)|0;c[L>>2]=(c[L>>2]|0)+1}if(c[Q>>2]|0){j=c[ha>>2]|0;if(c[H>>2]|0){c[R>>2]=(c[j+44>>2]|0)+1;da=(c[ha>>2]|0)+44|0;c[da>>2]=(c[da>>2]|0)+(c[P>>2]|0)}else c[R>>2]=CA(j,c[P>>2]|0)|0;do if(e[(c[N>>2]|0)+2>>1]&192){a[K>>0]=a[c[c[(c[Q>>2]|0)+4>>2]>>2]>>0]|0;if((d[K>>0]|0)!=152?(d[K>>0]|0)!=154:0)break;a[(c[c[(c[Q>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[N>>2]|0)+2>>1]&192}while(0);AA(c[ha>>2]|0);aB(c[ha>>2]|0,c[Q>>2]|0,c[R>>2]|0,0,3)|0;yA(c[ha>>2]|0)}else c[R>>2]=0;if((c[P>>2]|0)>=2?(c[(c[O>>2]|0)+4>>2]&128|0)!=0:0)c[N>>2]=bB(c[I>>2]|0,c[N>>2]|0,c[P>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+20>>2]|0)|0;else fa=79;if((fa|0)==79?(c[P>>2]|0)>0:0)c[N>>2]=bB(c[I>>2]|0,c[N>>2]|0,c[P>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[N>>2]|0)+2>>1]&32){if(!(c[M>>2]|0))c[M>>2]=c[(c[I>>2]|0)+8>>2];mx(c[ea>>2]|0,88,0,0,0,c[M>>2]|0,-4)|0}mx(c[ea>>2]|0,89,c[H>>2]|0,c[R>>2]|0,c[ia>>2]|0,c[N>>2]|0,-5)|0;Jh(c[ea>>2]|0,c[P>>2]&255);if((c[P>>2]|0)!=0&(c[H>>2]|0)==0)FA(c[ha>>2]|0,c[R>>2]|0,c[P>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}ia=c[ha>>2]|0;c[F>>2]=c[G>>2];Eh(ia,31093,F);break}case 119:case 20:{if((c[B>>2]|0)==119?(ia=c[c[c[(c[O>>2]|0)+20>>2]>>2]>>2]|0,c[o>>2]=ia,(ia|0)!=1):0){cB(c[ha>>2]|0,c[o>>2]|0,1);break a}c[ga>>2]=dB(c[ha>>2]|0,c[O>>2]|0,0,0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}case 159:{if(!(c[(c[(c[O>>2]|0)+12>>2]|0)+28>>2]|0)){ia=dB(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,0,0)|0;c[(c[(c[O>>2]|0)+12>>2]|0)+28>>2]=ia}c[ga>>2]=(c[(c[(c[O>>2]|0)+12>>2]|0)+28>>2]|0)+(b[(c[O>>2]|0)+32>>1]|0);ia=c[ga>>2]|0;i=ja;return ia|0}case 33:{c[k>>2]=Wz(c[ea>>2]|0)|0;c[l>>2]=Wz(c[ea>>2]|0)|0;ix(c[ea>>2]|0,79,0,c[ia>>2]|0)|0;eB(c[ha>>2]|0,c[O>>2]|0,c[k>>2]|0,c[l>>2]|0);ix(c[ea>>2]|0,76,1,c[ia>>2]|0)|0;_z(c[ea>>2]|0,c[k>>2]|0);ix(c[ea>>2]|0,91,c[ia>>2]|0,0)|0;_z(c[ea>>2]|0,c[l>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 32:{fB(c[ha>>2]|0,c[O>>2]|0,c[ia>>2]|0,0,0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 156:case 53:case 161:{c[ga>>2]=SA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}case 88:{c[u>>2]=c[(c[O>>2]|0)+44>>2];c[p>>2]=(_(c[(c[O>>2]|0)+28>>2]|0,(b[(c[u>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[O>>2]|0)+32>>1]|0);ix(c[ea>>2]|0,143,c[p>>2]|0,c[ia>>2]|0)|0;if((b[(c[O>>2]|0)+32>>1]|0)>=0?(a[(c[(c[u>>2]|0)+4>>2]|0)+(b[(c[O>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)Sz(c[ea>>2]|0,92,c[ia>>2]|0)|0;break}case 158:{Eh(c[ha>>2]|0,29838,w);break}case 83:{if(!(c[(c[ha>>2]|0)+128>>2]|0)){Eh(c[ha>>2]|0,31116,x);c[ga>>2]=0;ia=c[ga>>2]|0;i=ja;return ia|0}if((a[(c[O>>2]|0)+1>>0]|0)==2)Vx(c[ha>>2]|0);if((a[(c[O>>2]|0)+1>>0]|0)==4){mx(c[ea>>2]|0,75,0,4,0,c[(c[O>>2]|0)+8>>2]|0,0)|0;break a}else{tA(c[ha>>2]|0,1811,a[(c[O>>2]|0)+1>>0]|0,c[(c[O>>2]|0)+8>>2]|0,0,0);break a}}default:{c[$>>2]=0;c[Z>>2]=c[(c[O>>2]|0)+20>>2];c[T>>2]=c[(c[Z>>2]|0)+4>>2];c[W>>2]=c[c[Z>>2]>>2];c[U>>2]=Wz(c[ea>>2]|0)|0;R=c[(c[O>>2]|0)+12>>2]|0;c[aa>>2]=R;if(R){j=S;k=c[aa>>2]|0;l=j+48|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));hB(S,gB(c[ha>>2]|0,S,ca)|0);j=Y;l=j+48|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));a[Y>>0]=37;c[Y+12>>2]=S;c[$>>2]=Y;c[ca>>2]=0}c[V>>2]=0;while(1){if((c[V>>2]|0)>=((c[W>>2]|0)-1|0))break;AA(c[ha>>2]|0);j=c[(c[T>>2]|0)+((c[V>>2]|0)*20|0)>>2]|0;if(c[aa>>2]|0)c[Y+16>>2]=j;else c[$>>2]=j;c[X>>2]=Wz(c[ea>>2]|0)|0;iB(c[ha>>2]|0,c[$>>2]|0,c[X>>2]|0,16);RA(c[ha>>2]|0,c[(c[T>>2]|0)+(((c[V>>2]|0)+1|0)*20|0)>>2]|0,c[ia>>2]|0);Yz(c[ea>>2]|0,c[U>>2]|0)|0;yA(c[ha>>2]|0);_z(c[ea>>2]|0,c[X>>2]|0);c[V>>2]=(c[V>>2]|0)+2}if(c[W>>2]&1){AA(c[ha>>2]|0);RA(c[ha>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+(((c[W>>2]|0)-1|0)*20|0)>>2]|0,c[ia>>2]|0);yA(c[ha>>2]|0)}else ix(c[ea>>2]|0,79,0,c[ia>>2]|0)|0;_z(c[ea>>2]|0,c[U>>2]|0)}}while(0);do if((fa|0)==11){c[m>>2]=c[(c[O>>2]|0)+28>>2];do if((c[m>>2]|0)<0){if((c[(c[ha>>2]|0)+56>>2]|0)<=0){c[m>>2]=c[(c[ha>>2]|0)+60>>2];break}c[ga>>2]=(b[(c[O>>2]|0)+32>>1]|0)+(c[(c[ha>>2]|0)+56>>2]|0);ia=c[ga>>2]|0;i=ja;return ia|0}while(0);c[ga>>2]=TA(c[ha>>2]|0,c[(c[O>>2]|0)+44>>2]|0,b[(c[O>>2]|0)+32>>1]|0,c[m>>2]|0,c[ia>>2]|0,a[(c[O>>2]|0)+38>>0]|0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}else if((fa|0)==29){c[D>>2]=c[(c[O>>2]|0)+12>>2];fa=(XA(c[D>>2]|0)|0)!=0;j=c[ha>>2]|0;if(fa){YA(j,c[O>>2]|0,c[ia>>2]|0,c[B>>2]&255,c[C>>2]&255);break}else{c[R>>2]=ZA(j,c[D>>2]|0,ca)|0;c[E>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+16>>2]|0,da)|0;_A(c[ha>>2]|0,c[D>>2]|0,c[(c[O>>2]|0)+16>>2]|0,c[B>>2]|0,c[R>>2]|0,c[E>>2]|0,c[ba>>2]|0,32|c[C>>2])|0;break}}while(0);xx(c[ha>>2]|0,c[ca>>2]|0);xx(c[ha>>2]|0,c[da>>2]|0);c[ga>>2]=c[ba>>2];ia=c[ga>>2]|0;i=ja;return ia|0}function TA(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+32|0;m=w+28|0;n=w+24|0;o=w+20|0;p=w+16|0;q=w+12|0;r=w+36|0;u=w+8|0;s=w+4|0;t=w;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;a[r>>0]=k;c[u>>2]=c[(c[m>>2]|0)+8>>2];c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+152;while(1){if((c[s>>2]|0)>=(d[(c[m>>2]|0)+25>>0]|0))break;if((c[c[t>>2]>>2]|0)==(c[p>>2]|0)?(b[(c[t>>2]|0)+4>>1]|0)==(c[o>>2]|0):0){v=5;break}c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==5){u=(c[m>>2]|0)+68|0;v=c[u>>2]|0;c[u>>2]=v+1;c[(c[t>>2]|0)+16>>2]=v;FB(c[m>>2]|0,c[(c[t>>2]|0)+12>>2]|0);c[l>>2]=c[(c[t>>2]|0)+12>>2];v=c[l>>2]|0;i=w;return v|0}NA(c[u>>2]|0,c[n>>2]|0,c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);if(a[r>>0]|0)Jh(c[u>>2]|0,a[r>>0]|0);else GB(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);c[l>>2]=c[q>>2];v=c[l>>2]|0;i=w;return v|0}function UA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;n=p+8|0;f=p+40|0;q=p+36|0;g=p+32|0;h=p+28|0;l=p+24|0;k=p+20|0;j=p+16|0;m=p;o=p+12|0;c[f>>2]=a;c[q>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[f>>2]|0)+8>>2];e=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024){c[k>>2]=c[e>>2];if(c[g>>2]|0)c[k>>2]=0-(c[k>>2]|0);ix(c[l>>2]|0,76,c[k>>2]|0,c[h>>2]|0)|0;i=p;return}c[o>>2]=c[e>>2];c[j>>2]=Hi(c[o>>2]|0,m)|0;if((c[j>>2]|0)!=0?!((c[j>>2]|0)==2&(c[g>>2]|0)!=0):0)if(!(zd(c[o>>2]|0,31290,2)|0)){q=c[f>>2]|0;c[n>>2]=c[o>>2];Eh(q,31293,n);i=p;return}else{VA(c[l>>2]|0,c[o>>2]|0,c[g>>2]|0,c[h>>2]|0);i=p;return}if(c[g>>2]|0){o=(c[j>>2]|0)==2;n=m;n=QR(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=m;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:C}EB(c[l>>2]|0,77,0,c[h>>2]|0,0,m,-13)|0;i=p;return}function VA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){i=m;return}b=c[g>>2]|0;ez(b,l,Jf(c[g>>2]|0)|0,1)|0;if(c[j>>2]|0)h[l>>3]=-+h[l>>3];EB(c[f>>2]|0,132,0,c[k>>2]|0,0,l,-12)|0;i=m;return}function WA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;GA(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function XA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(cz(c[d>>2]|0)|0)>1&1;i=b;return a|0}function YA(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+80|0;j=C+64|0;D=C+60|0;k=C+56|0;l=C+70|0;m=C+69|0;B=C+52|0;s=C+48|0;u=C+44|0;p=C+40|0;o=C+36|0;z=C+32|0;A=C+28|0;q=C+68|0;n=C+24|0;x=C+20|0;y=C+16|0;r=C+12|0;t=C+8|0;v=C+4|0;w=C;c[j>>2]=b;c[D>>2]=e;c[k>>2]=f;a[l>>0]=g;a[m>>0]=h;c[B>>2]=c[(c[j>>2]|0)+8>>2];c[s>>2]=c[(c[D>>2]|0)+12>>2];c[u>>2]=c[(c[D>>2]|0)+16>>2];c[p>>2]=cz(c[s>>2]|0)|0;c[z>>2]=0;c[A>>2]=0;a[q>>0]=a[l>>0]|0;c[n>>2]=Wz(c[B>>2]|0)|0;a[m>>0]=d[m>>0]|0|32;if((d[q>>0]|0|0)==39)a[q>>0]=40;if((d[q>>0]|0|0)==41)a[q>>0]=38;c[z>>2]=CB(c[j>>2]|0,c[s>>2]|0)|0;c[A>>2]=CB(c[j>>2]|0,c[u>>2]|0)|0;c[o>>2]=0;while(1){c[x>>2]=0;c[y>>2]=0;if((c[o>>2]|0)>0)AA(c[j>>2]|0);c[v>>2]=DB(c[j>>2]|0,c[s>>2]|0,c[o>>2]|0,c[z>>2]|0,r,x)|0;c[w>>2]=DB(c[j>>2]|0,c[u>>2]|0,c[o>>2]|0,c[A>>2]|0,t,y)|0;_A(c[j>>2]|0,c[r>>2]|0,c[t>>2]|0,d[q>>0]|0,c[v>>2]|0,c[w>>2]|0,c[k>>2]|0,d[m>>0]|0)|0;xx(c[j>>2]|0,c[x>>2]|0);xx(c[j>>2]|0,c[y>>2]|0);if((c[o>>2]|0)>0)yA(c[j>>2]|0);if((c[o>>2]|0)==((c[p>>2]|0)-1|0))break;do if((d[q>>0]|0|0)!=37){f=c[B>>2]|0;if((d[q>>0]|0|0)==36){ix(f,21,c[k>>2]|0,c[n>>2]|0)|0;a[m>>0]=d[m>>0]|0|8;break}ix(f,42,0,c[n>>2]|0)|0;if((c[o>>2]|0)==((c[p>>2]|0)-2|0))a[q>>0]=a[l>>0]|0}else{ix(c[B>>2]|0,22,c[k>>2]|0,c[n>>2]|0)|0;a[m>>0]=d[m>>0]|0|8}while(0);c[o>>2]=(c[o>>2]|0)+1}_z(c[B>>2]|0,c[n>>2]|0);i=C;return}function ZA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;k=q+8|0;m=q+4|0;n=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[h>>2]=ky(c[h>>2]|0)|0;if(((d[(c[g>>2]|0)+23>>0]|0|0)!=0?(d[c[h>>2]>>0]|0|0)!=157:0)?(BB(c[h>>2]|0)|0)!=0:0){c[l>>2]=c[(c[g>>2]|0)+80>>2];c[c[j>>2]>>2]=0;a:do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+4>>2];c[k>>2]=c[c[l>>2]>>2];while(1){if((c[k>>2]|0)<=0)break a;if(((d[(c[m>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(Ky(c[c[m>>2]>>2]|0,c[h>>2]|0,-1)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=c[(c[m>>2]|0)+16>>2];p=c[f>>2]|0;i=q;return p|0}while(0);e=(c[g>>2]|0)+44|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[o>>2]=n;wB(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,1)}else p=12;do if((p|0)==12){c[n>>2]=vx(c[g>>2]|0)|0;c[o>>2]=SA(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[c[j>>2]>>2]=c[n>>2];break}else{xx(c[g>>2]|0,c[n>>2]|0);c[c[j>>2]>>2]=0;break}}while(0);c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function _A(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;i=i+48|0;n=l+40|0;v=l+36|0;u=l+32|0;s=l+28|0;p=l+24|0;r=l+20|0;q=l+16|0;t=l+12|0;m=l+8|0;k=l+4|0;o=l;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=sB(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(AB(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=mx(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;Jh(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function $A(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=xB(c[d>>2]|0,1,0)|0;i=b;return a|0}function aB(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+44|0;l=z+40|0;m=z+36|0;n=z+32|0;o=z+49|0;v=z+28|0;q=z+24|0;s=z+20|0;t=z+16|0;p=z+48|0;x=z+12|0;u=z+8|0;r=z+4|0;w=z;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;a[p>>0]=(d[o>>0]&1|0)!=0?84:85;c[x>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[c[l>>2]>>2];if(!(a[(c[k>>2]|0)+23>>0]|0))a[o>>0]=d[o>>0]&-3;c[v>>2]=c[(c[l>>2]|0)+4>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;c[u>>2]=c[c[v>>2]>>2];if((d[o>>0]&4|0)!=0?(g=e[(c[(c[l>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+16>>1]|0,c[s>>2]=g,(g|0)>0):0)ix(c[x>>2]|0,d[p>>0]|0,(c[s>>2]|0)+(c[n>>2]|0)-1|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((d[o>>0]&2|0)!=0?($A(c[u>>2]|0)|0)!=0:0){wB(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0,0);break}c[r>>2]=SA(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[m>>2]|0)+(c[q>>2]|0)|0)){if((((d[p>>0]|0)==84?(g=eA(c[x>>2]|0,-1)|0,c[w>>2]=g,(d[g>>0]|0)==84):0)?((c[(c[w>>2]|0)+4>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[w>>2]|0)+8>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==((c[m>>2]|0)+(c[q>>2]|0)|0):0){g=(c[w>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+1;break}ix(c[x>>2]|0,d[p>>0]|0,c[r>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+20}i=z;return c[t>>2]|0}function bB(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+52|0;l=y+48|0;m=y+44|0;n=y+40|0;o=y+36|0;s=y+32|0;t=y+28|0;q=y+24|0;v=y+20|0;p=y+16|0;r=y+12|0;u=y+8|0;x=y+4|0;w=y;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[v>>2]=0;c[p>>2]=0;c[u>>2]=0;if(!(c[o>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}if((d[c[o>>2]>>0]|0)!=152){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}c[s>>2]=c[(c[o>>2]|0)+44>>2];if(!(c[s>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}if(!(d[(c[s>>2]|0)+42>>0]&16)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}c[t>>2]=c[(Ux(c[l>>2]|0,c[s>>2]|0)|0)+8>>2];c[q>>2]=c[c[t>>2]>>2];if(!(c[(c[q>>2]|0)+72>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}c[x>>2]=qh(c[l>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if(c[x>>2]|0){c[w>>2]=c[x>>2];while(1){if(!(a[c[w>>2]>>0]|0))break;a[c[w>>2]>>0]=a[17613+(d[c[w>>2]>>0]|0)>>0]|0;c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=Zb[c[(c[q>>2]|0)+72>>2]&255](c[t>>2]|0,c[n>>2]|0,c[x>>2]|0,v,p)|0;Tf(c[l>>2]|0,c[x>>2]|0)}if(!(c[u>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}x=c[l>>2]|0;c[r>>2]=sh(x,28+(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[r>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}else{w=c[r>>2]|0;x=c[m>>2]|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[(c[r>>2]|0)+20>>2]=(c[r>>2]|0)+28;w=(c[r>>2]|0)+28|0;x=c[(c[m>>2]|0)+20>>2]|0;TR(w|0,x|0,(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[r>>2]|0)+12>>2]=c[v>>2];c[(c[r>>2]|0)+4>>2]=c[p>>2];x=(c[r>>2]|0)+2|0;b[x>>1]=e[x>>1]|16;c[k>>2]=c[r>>2];x=c[k>>2]|0;i=y;return x|0}return 0}function cB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e;k=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=31246;d=c[k>>2]|0;a=c[j>>2]|0;b=c[h>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=b;Eh(d,a,f);i=e;return}function dB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+176|0;h=O;H=O+168|0;I=O+164|0;J=O+160|0;K=O+156|0;v=O+152|0;L=O+148|0;M=O+144|0;N=O+140|0;j=O+136|0;w=O+132|0;s=O+128|0;C=O+124|0;p=O+120|0;u=O+116|0;r=O+112|0;n=O+88|0;o=O+80|0;q=O+76|0;x=O+172|0;y=O+72|0;t=O+68|0;B=O+64|0;D=O+60|0;E=O+56|0;F=O+52|0;A=O+48|0;z=O+44|0;m=O+40|0;k=O+16|0;l=O+12|0;c[I>>2]=b;c[J>>2]=e;c[K>>2]=f;c[v>>2]=g;c[L>>2]=-1;c[M>>2]=0;c[N>>2]=dx(c[I>>2]|0)|0;if(!(c[N>>2]|0)){c[H>>2]=0;N=c[H>>2]|0;i=O;return N|0}AA(c[I>>2]|0);if(!(c[(c[J>>2]|0)+4>>2]&32))c[L>>2]=fx(c[N>>2]|0,20)|0;if((d[(c[I>>2]|0)+409>>0]|0)==2){f=c[c[I>>2]>>2]|0;e=(d[c[J>>2]>>0]|0)==33?31209:31214;b=c[(c[I>>2]|0)+424>>2]|0;c[h>>2]=(c[L>>2]|0)>=0?18402:31197;c[h+4>>2]=e;c[h+8>>2]=b;c[j>>2]=Gh(f,31221,h)|0;mx(c[N>>2]|0,162,c[(c[I>>2]|0)+420>>2]|0,0,0,c[j>>2]|0,-1)|0}g=c[J>>2]|0;do if((d[c[J>>2]>>0]|0)==33){c[s>>2]=c[g+12>>2];c[C>>2]=0;c[p>>2]=cz(c[s>>2]|0)|0;l=(c[I>>2]|0)+40|0;m=c[l>>2]|0;c[l>>2]=m+1;c[(c[J>>2]|0)+28>>2]=m;c[w>>2]=ix(c[N>>2]|0,107,c[(c[J>>2]|0)+28>>2]|0,(c[v>>2]|0)!=0?0:c[p>>2]|0)|0;if(c[v>>2]|0)g=0;else g=iA(c[c[I>>2]>>2]|0,c[p>>2]|0,1)|0;c[C>>2]=g;g=(c[J>>2]|0)+20|0;a:do if(c[(c[J>>2]|0)+4>>2]&2048){c[u>>2]=c[g>>2];c[r>>2]=c[c[u>>2]>>2];if((c[c[r>>2]>>2]|0)==(c[p>>2]|0)){vB(n,11,c[(c[J>>2]|0)+28>>2]|0);c[n+4>>2]=mB(c[I>>2]|0,c[J>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=0;G=(Pv(c[I>>2]|0,c[u>>2]|0,n)|0)!=0;Tf(c[c[I>>2]>>2]|0,c[n+4>>2]|0);if(G){jA(c[C>>2]|0);c[H>>2]=0;N=c[H>>2]|0;i=O;return N|0}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break a;c[q>>2]=pB(c[s>>2]|0,c[o>>2]|0)|0;G=sB(c[I>>2]|0,c[q>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;c[(c[C>>2]|0)+20+(c[o>>2]<<2)>>2]=G;c[o>>2]=(c[o>>2]|0)+1}}}else if(c[g>>2]|0){c[t>>2]=c[(c[J>>2]|0)+20>>2];u=ey(c[s>>2]|0)|0;a[x>>0]=u;a[x>>0]=(a[x>>0]|0)!=0?u:65;if(c[C>>2]|0){u=fy(c[I>>2]|0,c[(c[J>>2]|0)+12>>2]|0)|0;c[(c[C>>2]|0)+20>>2]=u}c[D>>2]=vx(c[I>>2]|0)|0;c[E>>2]=vx(c[I>>2]|0)|0;if(c[v>>2]|0)ix(c[N>>2]|0,79,0,c[E>>2]|0)|0;c[y>>2]=c[c[t>>2]>>2];c[B>>2]=c[(c[t>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[A>>2]=c[c[B>>2]>>2];if((c[L>>2]|0)>=0?($A(c[A>>2]|0)|0)==0:0){HA(c[N>>2]|0,c[L>>2]|0)|0;c[L>>2]=-1}if((c[v>>2]|0)!=0?(Fy(c[A>>2]|0,z)|0)!=0:0)jx(c[N>>2]|0,116,c[(c[J>>2]|0)+28>>2]|0,c[E>>2]|0,c[z>>2]|0)|0;else G=30;do if((G|0)==30){G=0;c[F>>2]=SA(c[I>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;g=c[N>>2]|0;e=c[F>>2]|0;if(c[v>>2]|0){ix(g,17,e,(wx(c[N>>2]|0)|0)+2|0)|0;jx(c[N>>2]|0,115,c[(c[J>>2]|0)+28>>2]|0,c[E>>2]|0,c[F>>2]|0)|0;break}else{mx(g,99,e,1,c[E>>2]|0,x,1)|0;WA(c[I>>2]|0,c[F>>2]|0,1);ix(c[N>>2]|0,126,c[(c[J>>2]|0)+28>>2]|0,c[E>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[B>>2]=(c[B>>2]|0)+20}xx(c[I>>2]|0,c[D>>2]|0);xx(c[I>>2]|0,c[E>>2]|0)}while(0);if(c[C>>2]|0)Mh(c[N>>2]|0,c[w>>2]|0,c[C>>2]|0,-6)}else{c[m>>2]=c[g+20>>2];if((d[c[J>>2]>>0]|0)==119)g=c[c[c[m>>2]>>2]>>2]|0;else g=1;c[l>>2]=g;vB(k,0,(c[(c[I>>2]|0)+44>>2]|0)+1|0);G=(c[I>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+(c[l>>2]|0);if((d[c[J>>2]>>0]|0)==119){a[k>>0]=10;c[k+12>>2]=c[k+8>>2];c[k+16>>2]=c[l>>2];jx(c[N>>2]|0,79,0,c[k+8>>2]|0,(c[k+8>>2]|0)+(c[l>>2]|0)-1|0)|0}else{a[k>>0]=3;ix(c[N>>2]|0,76,0,c[k+8>>2]|0)|0}iv(c[c[I>>2]>>2]|0,c[(c[m>>2]|0)+56>>2]|0);G=jw(c[c[I>>2]>>2]|0,134,4284,0)|0;c[(c[m>>2]|0)+56>>2]=G;c[(c[m>>2]|0)+12>>2]=0;G=(c[m>>2]|0)+8|0;c[G>>2]=c[G>>2]&-1025;if(!(Pv(c[I>>2]|0,c[m>>2]|0,k)|0)){c[M>>2]=c[k+8>>2];break}c[H>>2]=0;N=c[H>>2]|0;i=O;return N|0}while(0);if(c[K>>2]|0)tB(c[N>>2]|0,c[(c[J>>2]|0)+28>>2]|0,c[K>>2]|0);if((c[L>>2]|0)>=0)Zz(c[N>>2]|0,c[L>>2]|0);yA(c[I>>2]|0);c[H>>2]=c[M>>2];N=c[H>>2]|0;i=O;return N|0}function eB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+128|0;r=L+120|0;s=L+116|0;t=L+112|0;u=L+108|0;I=L+104|0;q=L+100|0;G=L+96|0;H=L+92|0;J=L+88|0;x=L+84|0;K=L+80|0;B=L+76|0;E=L+68|0;A=L+64|0;g=L+60|0;z=L+56|0;w=L+52|0;y=L+48|0;v=L+44|0;m=L+40|0;l=L+36|0;j=L+32|0;n=L+28|0;p=L+24|0;o=L+20|0;h=L+16|0;k=L+12|0;C=L+8|0;D=L+4|0;F=L;c[r>>2]=b;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[I>>2]=0;c[x>>2]=0;c[K>>2]=0;c[z>>2]=0;c[E>>2]=c[(c[s>>2]|0)+12>>2];if(lB(c[r>>2]|0,c[s>>2]|0)|0){i=L;return}c[K>>2]=mB(c[r>>2]|0,c[s>>2]|0)|0;c[B>>2]=cz(c[(c[s>>2]|0)+12>>2]|0)|0;c[x>>2]=sh(c[c[r>>2]>>2]|0,((c[B>>2]|0)*5|0)+1|0,0)|0;if(!(a[(c[c[r>>2]>>2]|0)+69>>0]|0)){c[J>>2]=c[(c[r>>2]|0)+8>>2];c[q>>2]=nB(c[r>>2]|0,c[s>>2]|0,3,(c[t>>2]|0)==(c[u>>2]|0)?0:I,c[x>>2]|0)|0;AA(c[r>>2]|0);c[H>>2]=gB(c[r>>2]|0,c[E>>2]|0,L+72|0)|0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break;if((c[(c[x>>2]|0)+(c[A>>2]<<2)>>2]|0)!=(c[A>>2]|0))break;c[A>>2]=(c[A>>2]|0)+1}a:do if((c[A>>2]|0)==(c[B>>2]|0))c[G>>2]=c[H>>2];else{c[G>>2]=CA(c[r>>2]|0,c[B>>2]|0)|0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break a;jx(c[J>>2]|0,84,(c[H>>2]|0)+(c[A>>2]|0)|0,(c[G>>2]|0)+(c[(c[x>>2]|0)+(c[A>>2]<<2)>>2]|0)|0,0)|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);b:do if((c[q>>2]|0)==5){c[m>>2]=c[(c[s>>2]|0)+20>>2];c[l>>2]=fy(c[r>>2]|0,c[(c[s>>2]|0)+12>>2]|0)|0;c[j>>2]=Wz(c[J>>2]|0)|0;c[o>>2]=0;if((c[u>>2]|0)!=(c[t>>2]|0)){c[o>>2]=vx(c[r>>2]|0)|0;jx(c[J>>2]|0,43,c[G>>2]|0,c[G>>2]|0,c[o>>2]|0)|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[m>>2]>>2]|0))break;c[n>>2]=ZA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,p)|0;if((c[o>>2]|0)!=0?(oB(c[(c[(c[m>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)|0)!=0:0)jx(c[J>>2]|0,43,c[o>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[h>>2]|0)>=((c[c[m>>2]>>2]|0)-1|0)?(c[u>>2]|0)==(c[t>>2]|0):0){mx(c[J>>2]|0,36,c[G>>2]|0,c[t>>2]|0,c[n>>2]|0,c[l>>2]|0,-4)|0;Jh(c[J>>2]|0,(a[c[K>>2]>>0]|16)&255)}else{mx(c[J>>2]|0,37,c[G>>2]|0,c[j>>2]|0,c[n>>2]|0,c[l>>2]|0,-4)|0;Jh(c[J>>2]|0,a[c[K>>2]>>0]|0)}xx(c[r>>2]|0,c[p>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(c[o>>2]|0){ix(c[J>>2]|0,34,c[o>>2]|0,c[u>>2]|0)|0;Yz(c[J>>2]|0,c[t>>2]|0)|0}_z(c[J>>2]|0,c[j>>2]|0);xx(c[r>>2]|0,c[o>>2]|0)}else{if((c[u>>2]|0)==(c[t>>2]|0))c[g>>2]=c[t>>2];else{p=Wz(c[J>>2]|0)|0;c[z>>2]=p;c[g>>2]=p}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break;c[k>>2]=pB(c[(c[s>>2]|0)+12>>2]|0,c[A>>2]|0)|0;if(oB(c[k>>2]|0)|0)ix(c[J>>2]|0,34,(c[G>>2]|0)+(c[A>>2]|0)|0,c[g>>2]|0)|0;c[A>>2]=(c[A>>2]|0)+1}e=c[J>>2]|0;do if((c[q>>2]|0)!=1){mx(e,98,c[G>>2]|0,c[B>>2]|0,0,c[K>>2]|0,c[B>>2]|0)|0;e=c[J>>2]|0;f=c[(c[s>>2]|0)+28>>2]|0;if((c[t>>2]|0)==(c[u>>2]|0)){Ih(e,30,f,c[t>>2]|0,c[G>>2]|0,c[B>>2]|0)|0;break b}else{c[w>>2]=Ih(e,31,f,0,c[G>>2]|0,c[B>>2]|0)|0;break}}else{jx(e,32,c[(c[s>>2]|0)+28>>2]|0,c[t>>2]|0,c[G>>2]|0)|0;c[w>>2]=fx(c[J>>2]|0,13)|0}while(0);if((c[I>>2]|0)!=0&(c[B>>2]|0)==1)ix(c[J>>2]|0,35,c[I>>2]|0,c[t>>2]|0)|0;if((c[t>>2]|0)==(c[u>>2]|0))Yz(c[J>>2]|0,c[t>>2]|0)|0;if(c[z>>2]|0)_z(c[J>>2]|0,c[z>>2]|0);c[v>>2]=ix(c[J>>2]|0,57,c[(c[s>>2]|0)+28>>2]|0,c[t>>2]|0)|0;if((c[B>>2]|0)>1)c[y>>2]=Wz(c[J>>2]|0)|0;else c[y>>2]=c[t>>2];c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break;c[F>>2]=vx(c[r>>2]|0)|0;c[C>>2]=pB(c[E>>2]|0,c[A>>2]|0)|0;c[D>>2]=fy(c[r>>2]|0,c[C>>2]|0)|0;jx(c[J>>2]|0,96,c[(c[s>>2]|0)+28>>2]|0,c[A>>2]|0,c[F>>2]|0)|0;mx(c[J>>2]|0,36,(c[G>>2]|0)+(c[A>>2]|0)|0,c[y>>2]|0,c[F>>2]|0,c[D>>2]|0,-4)|0;xx(c[r>>2]|0,c[F>>2]|0);c[A>>2]=(c[A>>2]|0)+1}ix(c[J>>2]|0,13,0,c[u>>2]|0)|0;if((c[B>>2]|0)>1){_z(c[J>>2]|0,c[y>>2]|0);ix(c[J>>2]|0,7,c[(c[s>>2]|0)+28>>2]|0,(c[v>>2]|0)+1|0)|0;ix(c[J>>2]|0,13,0,c[t>>2]|0)|0}Zz(c[J>>2]|0,c[w>>2]|0)}while(0);if((c[G>>2]|0)!=(c[H>>2]|0))xx(c[r>>2]|0,c[G>>2]|0);yA(c[r>>2]|0)}Tf(c[c[r>>2]>>2]|0,c[x>>2]|0);Tf(c[c[r>>2]>>2]|0,c[K>>2]|0);i=L;return}function fB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;h=s+216|0;j=s+212|0;k=s+208|0;l=s+204|0;m=s+200|0;p=s+152|0;n=s+104|0;o=s+56|0;q=s+8|0;r=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[r>>2]=0;e=n;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=o;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=p;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=q;g=c[(c[j>>2]|0)+12>>2]|0;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[p>>0]=28;c[p+12>>2]=n;c[p+16>>2]=o;a[n>>0]=41;c[n+12>>2]=q;c[n+16>>2]=c[c[(c[(c[j>>2]|0)+20>>2]|0)+4>>2]>>2];a[o>>0]=39;c[o+12>>2]=q;c[o+16>>2]=c[(c[(c[(c[j>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];hB(q,gB(c[h>>2]|0,q,r)|0);if(c[l>>2]|0){_b[c[l>>2]&255](c[h>>2]|0,p,c[k>>2]|0,c[m>>2]|0);q=c[h>>2]|0;r=c[r>>2]|0;xx(q,r);i=s;return}else{q=q+4|0;c[q>>2]=c[q>>2]|1;SA(c[h>>2]|0,p,c[k>>2]|0)|0;q=c[h>>2]|0;r=c[r>>2]|0;xx(q,r);i=s;return}}function gB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;f=m+12|0;k=m+8|0;l=m+4|0;j=m;c[g>>2]=a;c[h>>2]=b;c[f>>2]=e;c[l>>2]=cz(c[h>>2]|0)|0;if((c[l>>2]|0)==1){c[k>>2]=ZA(c[g>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}c[c[f>>2]>>2]=0;f=c[g>>2]|0;if((d[c[h>>2]>>0]|0|0)==119){c[k>>2]=dB(f,c[h>>2]|0,0,0)|0;l=c[k>>2]|0;i=m;return l|0}c[k>>2]=(c[f+44>>2]|0)+1;e=(c[g>>2]|0)+44|0;c[e>>2]=(c[e>>2]|0)+(c[l>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;RA(c[g>>2]|0,c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0,(c[j>>2]|0)+(c[k>>2]|0)|0);c[j>>2]=(c[j>>2]|0)+1}l=c[k>>2]|0;i=m;return l|0}function hB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function iB(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;s=u+28|0;n=u+24|0;q=u+20|0;r=u+16|0;o=u+12|0;p=u+8|0;l=u+4|0;m=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==0|(c[h>>2]|0)==0){i=u;return}c[n>>2]=((d[c[h>>2]>>0]|0)+0^1)-0;a:do switch(d[c[h>>2]>>0]|0|0){case 28:{iB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);AA(c[g>>2]|0);iB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);yA(c[g>>2]|0);break}case 27:{c[l>>2]=Wz(c[s>>2]|0)|0;jB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);AA(c[g>>2]|0);iB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);_z(c[s>>2]|0,c[l>>2]|0);yA(c[g>>2]|0);break}case 19:{jB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 29:{c[n>>2]=(d[c[h>>2]>>0]|0|0)==29?36:37;c[k>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{c[o>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;ix(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0)|0;break}case 32:{fB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,133,c[k>>2]|0);break}case 33:if(c[k>>2]|0){eB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j>>2]|0);break a}else{c[m>>2]=Wz(c[s>>2]|0)|0;eB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);_z(c[s>>2]|0,c[m>>2]|0);break a}default:t=14}while(0);if((t|0)==7)if(XA(c[(c[h>>2]|0)+12>>2]|0)|0)t=14;else{c[o>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;_A(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}do if((t|0)==14){if(xz(c[h>>2]|0)|0){Yz(c[s>>2]|0,c[j>>2]|0)|0;break}if(!(kB(c[h>>2]|0)|0)){c[o>>2]=ZA(c[g>>2]|0,c[h>>2]|0,q)|0;jx(c[s>>2]|0,22,c[o>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}while(0);xx(c[g>>2]|0,c[q>>2]|0);xx(c[g>>2]|0,c[r>>2]|0);i=u;return}function jB(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+48|0;h=v+44|0;j=v+40|0;k=v+36|0;t=v+32|0;o=v+28|0;r=v+24|0;s=v+20|0;p=v+16|0;q=v+12|0;l=v+8|0;m=v+4|0;n=v;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[r>>2]=0;c[s>>2]=0;if((c[t>>2]|0)==0|(c[h>>2]|0)==0){i=v;return}c[o>>2]=d[c[h>>2]>>0];switch(c[o>>2]|0){case 28:{c[l>>2]=Wz(c[t>>2]|0)|0;iB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);AA(c[g>>2]|0);jB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);_z(c[t>>2]|0,c[l>>2]|0);yA(c[g>>2]|0);break}case 27:{jB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);AA(c[g>>2]|0);jB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);yA(c[g>>2]|0);break}case 19:{iB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 29:{c[o>>2]=(c[o>>2]|0)==29?37:36;c[k>>2]=128;u=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{u=7;break}case 35:case 34:{c[p>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;ix(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;break}case 32:{fB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,134,c[k>>2]|0);break}case 33:{c[m>>2]=Wz(c[t>>2]|0)|0;c[n>>2]=(c[k>>2]|0)!=0?c[j>>2]|0:c[m>>2]|0;eB(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);Yz(c[t>>2]|0,c[j>>2]|0)|0;_z(c[t>>2]|0,c[m>>2]|0);break}default:u=12}if((u|0)==7)if(XA(c[(c[h>>2]|0)+12>>2]|0)|0)u=12;else{c[p>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;_A(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}do if((u|0)==12){if(kB(c[h>>2]|0)|0){Yz(c[t>>2]|0,c[j>>2]|0)|0;break}if(!(xz(c[h>>2]|0)|0)){c[p>>2]=ZA(c[g>>2]|0,c[h>>2]|0,r)|0;jx(c[t>>2]|0,21,c[p>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}while(0);xx(c[g>>2]|0,c[r>>2]|0);xx(c[g>>2]|0,c[s>>2]|0);i=v;return}function kB(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(Fy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function lB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j;e=j+16|0;d=j+12|0;f=j+8|0;g=j+4|0;c[d>>2]=a;c[f>>2]=b;c[g>>2]=cz(c[(c[f>>2]|0)+12>>2]|0)|0;b=c[g>>2]|0;if(c[(c[f>>2]|0)+4>>2]&2048){if((b|0)!=(c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0)){cB(c[d>>2]|0,c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0,c[g>>2]|0);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}}else if((b|0)!=1){b=c[d>>2]|0;if(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]&2048)cB(b,c[g>>2]|0,1);else Eh(b,29838,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}function mB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+28|0;e=o+24|0;l=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;h=o+4|0;k=o;g=o+32|0;c[f>>2]=b;c[e>>2]=d;c[l>>2]=c[(c[e>>2]|0)+12>>2];c[j>>2]=cz(c[l>>2]|0)|0;if(c[(c[e>>2]|0)+4>>2]&2048)e=c[(c[e>>2]|0)+20>>2]|0;else e=0;c[m>>2]=e;b=(c[j>>2]|0)+1|0;c[n>>2]=sh(c[c[f>>2]>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){n=c[n>>2]|0;i=o;return n|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=pB(c[l>>2]|0,c[h>>2]|0)|0;a[g>>0]=ey(c[k>>2]|0)|0;if(c[m>>2]|0){f=rB(c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,a[g>>0]|0)|0;a[(c[n>>2]|0)+(c[h>>2]|0)>>0]=f}else a[(c[n>>2]|0)+(c[h>>2]|0)>>0]=a[g>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[(c[n>>2]|0)+(c[j>>2]|0)>>0]=0;n=c[n>>2]|0;i=o;return n|0}function nB(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+160|0;W=X+16|0;l=X+140|0;m=X+136|0;n=X+132|0;o=X+128|0;p=X+124|0;K=X+120|0;u=X+116|0;D=X+112|0;H=X+108|0;V=X+104|0;v=X+100|0;L=X+96|0;t=X+92|0;S=X+88|0;B=X+144|0;M=X+84|0;J=X+80|0;y=X+76|0;N=X+72|0;q=X+68|0;w=X+64|0;O=X+60|0;A=X+56|0;E=X+147|0;r=X+146|0;s=X+8|0;G=X;P=X+52|0;R=X+48|0;Q=X+44|0;F=X+40|0;z=X+36|0;U=X+32|0;T=X+28|0;x=X+24|0;I=X+20|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=k;c[u>>2]=0;g=(c[l>>2]|0)+40|0;j=c[g>>2]|0;c[g>>2]=j+1;c[D>>2]=j;c[V>>2]=dx(c[l>>2]|0)|0;c[H>>2]=(c[n>>2]&4|0)!=0&1;if((c[o>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)!=0:0){c[L>>2]=c[c[(c[m>>2]|0)+20>>2]>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[L>>2]>>2]|0))break;if(oB(c[(c[(c[L>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)>>2]|0)|0)break;c[v>>2]=(c[v>>2]|0)+1}if((c[v>>2]|0)==(c[c[L>>2]>>2]|0))c[o>>2]=0}a:do if((c[(c[l>>2]|0)+36>>2]|0)==0?(j=qB(c[m>>2]|0)|0,c[K>>2]=j,(j|0)!=0):0){c[t>>2]=c[c[l>>2]>>2];c[M>>2]=c[c[K>>2]>>2];c[J>>2]=c[c[M>>2]>>2];c[S>>2]=c[(c[(c[K>>2]|0)+28>>2]|0)+8+16>>2];b[B>>1]=Fh(c[t>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;sx(c[l>>2]|0,b[B>>1]|0);Tz(c[l>>2]|0,b[B>>1]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0);if((c[J>>2]|0)==1?(b[(c[c[(c[M>>2]|0)+4>>2]>>2]|0)+32>>1]|0)<0:0){c[y>>2]=fx(c[V>>2]|0,20)|0;Uz(c[l>>2]|0,c[D>>2]|0,b[B>>1]|0,c[S>>2]|0,104);c[u>>2]=1;Zz(c[V>>2]|0,c[y>>2]|0);break}c[q>>2]=1;c[w>>2]=0;while(1){if(!((c[w>>2]|0)<(c[J>>2]|0)?(c[q>>2]|0)!=0:0))break;c[O>>2]=pB(c[(c[m>>2]|0)+12>>2]|0,c[w>>2]|0)|0;c[A>>2]=b[(c[(c[(c[M>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2]|0)+32>>1];a[E>>0]=ly(c[S>>2]|0,c[A>>2]|0)|0;a[r>>0]=rB(c[O>>2]|0,a[E>>0]|0)|0;if(((a[r>>0]|0)+-65|0)>>>0>=2)c[q>>2]=(a[E>>0]|0)>=67&1;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0){c[N>>2]=c[(c[S>>2]|0)+8>>2];while(1){if(!((c[N>>2]|0)!=0?(c[u>>2]|0)==0:0))break a;do if((e[(c[N>>2]|0)+52>>1]|0)>=(c[J>>2]|0)?(e[(c[N>>2]|0)+52>>1]|0)<63:0){if(c[H>>2]|0){if((e[(c[N>>2]|0)+50>>1]|0)>(c[J>>2]|0))break;if((e[(c[N>>2]|0)+52>>1]|0)>(c[J>>2]|0)?(d[(c[N>>2]|0)+54>>0]|0)==0:0)break}j=s;c[j>>2]=0;c[j+4>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[J>>2]|0))break;c[P>>2]=pB(c[(c[m>>2]|0)+12>>2]|0,c[w>>2]|0)|0;c[R>>2]=c[(c[(c[M>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[Q>>2]=sB(c[l>>2]|0,c[P>>2]|0,c[R>>2]|0)|0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[J>>2]|0))break;if((b[(c[(c[N>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]|0)==(b[(c[R>>2]|0)+32>>1]|0)){if(!(c[Q>>2]|0))break;if(!(ig(c[c[Q>>2]>>2]|0,c[(c[(c[N>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]|0)|0))break}c[F>>2]=(c[F>>2]|0)+1}if((c[F>>2]|0)==(c[J>>2]|0))break;j=WR(1,0,c[F>>2]|0)|0;g=G;c[g>>2]=j;c[g+4>>2]=C;g=G;j=s;if((c[g>>2]&c[j>>2]|0)!=0?1:(c[g+4>>2]&c[j+4>>2]|0)!=0)break;S=G;f=s;g=c[f+4>>2]|c[S+4>>2];j=s;c[j>>2]=c[f>>2]|c[S>>2];c[j+4>>2]=g;if(c[p>>2]|0)c[(c[p>>2]|0)+(c[w>>2]<<2)>>2]=c[F>>2];c[w>>2]=(c[w>>2]|0)+1}j=s;S=c[j>>2]|0;j=c[j+4>>2]|0;g=WR(1,0,c[J>>2]|0)|0;g=QR(g|0,C|0,1,0)|0;if((S|0)==(g|0)&(j|0)==(C|0)){c[z>>2]=fx(c[V>>2]|0,20)|0;g=c[V>>2]|0;j=c[t>>2]|0;c[W>>2]=c[c[N>>2]>>2];mx(g,162,0,0,0,Gh(j,31166,W)|0,-1)|0;jx(c[V>>2]|0,104,c[D>>2]|0,c[(c[N>>2]|0)+44>>2]|0,b[B>>1]|0)|0;Vz(c[l>>2]|0,c[N>>2]|0);c[u>>2]=3+(d[c[(c[N>>2]|0)+28>>2]>>0]|0);if((c[o>>2]|0)!=0?(g=(c[l>>2]|0)+44|0,j=(c[g>>2]|0)+1|0,c[g>>2]=j,c[c[o>>2]>>2]=j,(c[J>>2]|0)==1):0)tB(c[V>>2]|0,c[D>>2]|0,c[c[o>>2]>>2]|0);Zz(c[V>>2]|0,c[z>>2]|0)}}while(0);c[N>>2]=c[(c[N>>2]|0)+20>>2]}}}while(0);do if(((c[u>>2]|0)==0?(c[n>>2]&1|0)!=0:0)?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){if((uB(c[m>>2]|0)|0)!=0?(c[c[(c[m>>2]|0)+20>>2]>>2]|0)>2:0)break;c[u>>2]=5}while(0);if(!(c[u>>2]|0)){c[U>>2]=c[(c[l>>2]|0)+136>>2];c[T>>2]=0;c[u>>2]=2;if(c[n>>2]&4){c[(c[l>>2]|0)+136>>2]=0;if((b[(c[(c[m>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0)c[u>>2]=1}else if(c[o>>2]|0){V=(c[l>>2]|0)+44|0;W=(c[V>>2]|0)+1|0;c[V>>2]=W;c[T>>2]=W;c[c[o>>2]>>2]=W}dB(c[l>>2]|0,c[m>>2]|0,c[T>>2]|0,(c[u>>2]|0)==1&1)|0;c[(c[l>>2]|0)+136>>2]=c[U>>2]}else c[(c[m>>2]|0)+28>>2]=c[D>>2];if(!((c[p>>2]|0)!=0&(c[u>>2]|0)!=3&(c[u>>2]|0)!=4)){W=c[u>>2]|0;i=X;return W|0}c[I>>2]=cz(c[(c[m>>2]|0)+12>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[I>>2]|0))break;c[(c[p>>2]|0)+(c[x>>2]<<2)>>2]=c[x>>2];c[x>>2]=(c[x>>2]|0)+1}W=c[u>>2]|0;i=X;return W|0}function oB(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;g=k;h=k+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 133:case 132:case 97:case 134:{c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else e=0;else e=1;c[j>>2]=e&1;j=c[j>>2]|0;i=k;return j|0}default:{c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}}return 0}function pB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;a=(XA(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;if(!a){c[e>>2]=b;g=c[e>>2]|0;i=h;return g|0}if((d[b>>0]|0|0)!=119?(d[(c[f>>2]|0)+38>>0]|0|0)!=119:0){c[e>>2]=c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;i=h;return g|0}c[e>>2]=c[(c[(c[c[(c[f>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;i=h;return g|0}function qB(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m+28|0;b=m+24|0;l=m+20|0;h=m+16|0;f=m+12|0;j=m+8|0;e=m+4|0;g=m;c[b>>2]=a;do if(c[(c[b>>2]|0)+4>>2]&2048){if(c[(c[b>>2]|0)+4>>2]&32){c[k>>2]=0;break}c[l>>2]=c[(c[b>>2]|0)+20>>2];if(c[(c[l>>2]|0)+48>>2]|0){c[k>>2]=0;break}if(c[(c[l>>2]|0)+8>>2]&9){c[k>>2]=0;break}if(c[(c[l>>2]|0)+56>>2]|0){c[k>>2]=0;break}if(c[(c[l>>2]|0)+32>>2]|0){c[k>>2]=0;break}c[h>>2]=c[(c[l>>2]|0)+28>>2];if((c[c[h>>2]>>2]|0)!=1){c[k>>2]=0;break}if(c[(c[h>>2]|0)+8+20>>2]|0){c[k>>2]=0;break}c[j>>2]=c[(c[h>>2]|0)+8+16>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16){c[k>>2]=0;break}c[f>>2]=c[c[l>>2]>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[f>>2]>>2]|0)){b=24;break}c[g>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[e>>2]|0)*20|0)>>2];if((d[c[g>>2]>>0]|0|0)!=152){b=22;break}c[e>>2]=(c[e>>2]|0)+1}if((b|0)==22){c[k>>2]=0;break}else if((b|0)==24){c[k>>2]=c[l>>2];break}}else c[k>>2]=0;while(0);i=m;return c[k>>2]|0}function rB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+6|0;j=h;f=h+5|0;g=h+4|0;c[j>>2]=b;a[f>>0]=d;a[g>>0]=ey(c[j>>2]|0)|0;if((a[g>>0]|0)!=0?(a[f>>0]|0)!=0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}a[e>>0]=67;j=a[e>>0]|0;i=h;return j|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);j=a[e>>0]|0;i=h;return j|0}else{a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}return 0}function sB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256){c[h>>2]=fy(c[e>>2]|0,c[f>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&256|0)!=0:0){c[h>>2]=fy(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}c[h>>2]=fy(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){d=c[h>>2]|0;i=j;return d|0}c[h>>2]=fy(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}function tB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;ix(c[g>>2]|0,76,0,c[h>>2]|0)|0;c[f>>2]=Sz(c[g>>2]|0,57,c[j>>2]|0)|0;jx(c[g>>2]|0,96,c[j>>2]|0,0,c[h>>2]|0)|0;Jh(c[g>>2]|0,-128);Zz(c[g>>2]|0,c[f>>2]|0);i=e;return}function uB(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=$A(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function vB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function wB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[j>>2]=f;a[k>>0]=g;c[l>>2]=c[(c[h>>2]|0)+80>>2];c[o>>2]=Iy(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[l>>2]=Tv(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;if(!(c[l>>2]|0)){g=c[l>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=g;i=n;return}c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+(((c[c[l>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[j>>2];g=(c[m>>2]|0)+13|0;a[g>>0]=a[g>>0]&-5|((d[k>>0]|0)&1)<<2&255;g=c[l>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=g;i=n;return}function xB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;j=h+36|0;l=h+32|0;k=h+28|0;g=h;c[j>>2]=b;c[l>>2]=e;c[k>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[l>>2];c[g+4>>2]=197;c[g+8>>2]=198;c[g+24>>2]=c[k>>2];wy(g,c[j>>2]|0)|0;i=h;return d[g+20>>0]|0|0}function yB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+8|0;g=k+4|0;h=k;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?(c[(c[h>>2]|0)+4>>2]&1|0)!=0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else j=4;a:do if((j|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 55:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);i=k;return c[f>>2]|0}function zB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;i=e;return 2}function AB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=ey(c[k>>2]|0)|0;d=(rB(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=d|c[h>>2]&255;i=g;return a[f>>0]|0}function BB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=xB(c[d>>2]|0,2,0)|0;i=b;return a|0}function CB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((d[c[f>>2]>>0]|0|0)!=119){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=dB(c[e>>2]|0,c[f>>2]|0,0,0)|0;g=c[g>>2]|0;i=h;return g|0}function DB(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;l=s+24|0;m=s+20|0;k=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;r=s+28|0;c[m>>2]=b;c[k>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;a[r>>0]=a[c[k>>2]>>0]|0;if((d[r>>0]|0|0)==157){r=pB(c[k>>2]|0,c[n>>2]|0)|0;c[c[p>>2]>>2]=r;c[l>>2]=(c[(c[k>>2]|0)+28>>2]|0)+(c[n>>2]|0);r=c[l>>2]|0;i=s;return r|0}b=c[n>>2]|0;f=(c[k>>2]|0)+20|0;if((d[r>>0]|0|0)==119){c[c[p>>2]>>2]=c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+(b*20|0)>>2];c[l>>2]=(c[o>>2]|0)+(c[n>>2]|0);r=c[l>>2]|0;i=s;return r|0}else{c[c[p>>2]>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*20|0)>>2];c[l>>2]=ZA(c[m>>2]|0,c[c[p>>2]>>2]|0,c[q>>2]|0)|0;r=c[l>>2]|0;i=s;return r|0}return 0}function EB(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=Vw(QA(c[k>>2]|0)|0,8,0)|0;if(c[r>>2]|0){h=c[r>>2]|0;j=c[p>>2]|0;a[h>>0]=a[j>>0]|0;a[h+1>>0]=a[j+1>>0]|0;a[h+2>>0]=a[j+2>>0]|0;a[h+3>>0]=a[j+3>>0]|0;a[h+4>>0]=a[j+4>>0]|0;a[h+5>>0]=a[j+5>>0]|0;a[h+6>>0]=a[j+6>>0]|0;a[h+7>>0]=a[j+7>>0]|0}h=mx(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;i=s;return h|0}function FB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[j>>2]=(c[f>>2]|0)+152;while(1){if((c[h>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;if((c[(c[j>>2]|0)+12>>2]|0)==(c[g>>2]|0))a[(c[j>>2]|0)+6>>0]=0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}i=k;return}function GB(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if((e[(c[c[k>>2]>>2]|0)+64>>1]|0)&2){i=s;return}if((d[(c[k>>2]|0)+25>>0]|0|0)>=10){c[q>>2]=2147483647;c[p>>2]=-1;c[o>>2]=0;c[r>>2]=(c[k>>2]|0)+152;while(1){if((c[o>>2]|0)>=10)break;if((c[(c[r>>2]|0)+16>>2]|0)<(c[q>>2]|0)){c[p>>2]=c[o>>2];c[q>>2]=c[(c[r>>2]|0)+16>>2]}c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+20}c[r>>2]=(c[k>>2]|0)+152+((c[p>>2]|0)*20|0)}else{q=(c[k>>2]|0)+25|0;f=a[q>>0]|0;a[q>>0]=f+1<<24>>24;c[r>>2]=(c[k>>2]|0)+152+((f&255)*20|0)}c[(c[r>>2]|0)+8>>2]=c[(c[k>>2]|0)+64>>2];c[c[r>>2]>>2]=c[l>>2];b[(c[r>>2]|0)+4>>1]=c[m>>2];c[(c[r>>2]|0)+12>>2]=c[n>>2];a[(c[r>>2]|0)+6>>0]=0;q=(c[k>>2]|0)+68|0;f=c[q>>2]|0;c[q>>2]=f+1;c[(c[r>>2]|0)+16>>2]=f;i=s;return}function HB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){f=7;break}c[j>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(ig(c[j>>2]|0,c[f>>2]|0)|0):0){f=5;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==5){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==7){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function IB(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[c[l>>2]>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[l>>2];e=JB(v,c[p>>2]|0)|0;c[t>>2]=e;do if((0==(e|0)?(e=JB(v,c[q>>2]|0)|0,c[t>>2]=e,0==(e|0)):0)?(e=JB(v,c[r>>2]|0)|0,c[t>>2]=e,0==(e|0)):0){if(c[o>>2]|0){if((d[c[o>>2]>>0]|0)==97)c[x>>2]=c[(c[o>>2]|0)+8>>2];else c[x>>2]=0;c[t>>2]=ax(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,0,0)|0;if(c[t>>2]|0)break}c[w>>2]=dx(c[l>>2]|0)|0;c[u>>2]=CA(c[l>>2]|0,4)|0;RA(c[l>>2]|0,c[p>>2]|0,c[u>>2]|0);RA(c[l>>2]|0,c[q>>2]|0,(c[u>>2]|0)+1|0);RA(c[l>>2]|0,c[r>>2]|0,(c[u>>2]|0)+2|0);if(c[w>>2]|0){mx(c[w>>2]|0,89,0,(c[u>>2]|0)+3-(a[c[n>>2]>>0]|0)|0,(c[u>>2]|0)+3|0,c[n>>2]|0,-5)|0;Jh(c[w>>2]|0,a[c[n>>2]>>0]|0);Sz(c[w>>2]|0,150,(c[m>>2]|0)==24&1)|0}}while(0);iv(c[s>>2]|0,c[p>>2]|0);iv(c[s>>2]|0,c[q>>2]|0);iv(c[s>>2]|0,c[r>>2]|0);i=y;return}function JB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=55){c[h>>2]=Ay(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);i=j;return c[h>>2]|0}function KB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+192|0;n=q+24|0;m=q+16|0;l=q+8|0;k=q;f=q+52|0;r=q+44|0;p=q+40|0;g=q+36|0;h=q+32|0;j=q+28|0;o=q+56|0;c[f>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[p>>2]=$d(c[c[r>>2]>>2]|0)|0;c[g>>2]=ve(c[f>>2]|0)|0;c[j>>2]=0;if(!(c[p>>2]|0))c[p>>2]=18402;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[c[j>>2]>>2]|0,c[p>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}do if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[k>>2]=c[p>>2];Qd(128,o,31331,k)|0}else{if((c[h>>2]|0)<2){c[l>>2]=c[p>>2];Qd(128,o,31352,l)|0;break}if(!(a[(c[g>>2]|0)+67>>0]|0)){Qd(128,o,31378,m)|0;break}if((og(c[(c[j>>2]|0)+4>>2]|0)|0)==0?(qu(c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){LB(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+12>>2]=0;MB(c[g>>2]|0);i=q;return}c[n>>2]=c[p>>2];Qd(128,o,31420,n)|0}while(0);ie(c[f>>2]|0,o,-1);i=q;return}function LB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];mg(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;NB(c[g>>2]|0)|0}Pg(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(OB(c[e>>2]|0)|0)==0:0)){hr(c[c[e>>2]>>2]|0)|0;if((c[(c[e>>2]|0)+52>>2]|0)!=0?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)Qb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Tf(0,c[(c[e>>2]|0)+48>>2]|0);Ui(c[e>>2]|0);Kd(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;Kd(g);i=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;Kd(g);i=h;return 0}function MB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Tf(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){i=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+392|0)){i=g;return}h=(c[b>>2]|0)+392|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Tf(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+392;i=g;return}function NB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];if(!(c[g>>2]|0)){i=j;return 0}c[f>>2]=c[(c[d>>2]|0)+4>>2];mg(c[g>>2]|0);PB(c[d>>2]|0);a:do if((c[(c[f>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;QB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}RB(c[f>>2]|0);Kd(c[(c[d>>2]|0)+12>>2]|0);i=j;return 0}function OB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;i=g;return f|0}if((c[1006]|0)!=(c[d>>2]|0)){c[e>>2]=c[1006];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[1006]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}function PB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Kd(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;i=d;return}function QB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}SB(c[b>>2]|0);i=d;return}function RB(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0){i=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;SB(c[e>>2]|0);i=f;return}function SB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Js(c[(c[d>>2]|0)+72>>2]|0);i=b;return}function TB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;k=E+16|0;j=E+8|0;h=E;n=E+116|0;F=E+108|0;g=E+104|0;u=E+100|0;p=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;q=E+76|0;o=E+72|0;A=E+68|0;t=E+64|0;l=E+60|0;s=E+56|0;r=E+52|0;c[n>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[u>>2]=0;c[p>>2]=ve(c[n>>2]|0)|0;c[D>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=$d(c[c[F>>2]>>2]|0)|0;c[C>>2]=$d(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[B>>2]|0))c[B>>2]=18402;if(!(c[C>>2]|0))c[C>>2]=18402;e=c[p>>2]|0;do if((c[(c[p>>2]|0)+20>>2]|0)<((c[(c[p>>2]|0)+96+28>>2]|0)+2|0)){if(!(a[e+67>>0]|0)){c[A>>2]=Gh(c[p>>2]|0,31493,j)|0;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!(ig(c[l>>2]|0,c[C>>2]|0)|0)){m=12;break}c[g>>2]=(c[g>>2]|0)+1}if((m|0)==12){F=c[p>>2]|0;c[k>>2]=c[C>>2];c[A>>2]=Gh(F,31535,k)|0;break}e=c[p>>2]|0;do if((c[(c[p>>2]|0)+16>>2]|0)==((c[p>>2]|0)+392|0)){c[o>>2]=Vw(e,48,0)|0;if(!(c[o>>2]|0)){i=E;return}else{F=c[o>>2]|0;m=c[(c[p>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[o>>2]=Uw(e,c[(c[p>>2]|0)+16>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[o>>2]|0)){i=E;return}}while(0);c[(c[p>>2]|0)+16>>2]=c[o>>2];c[o>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+20>>2]<<4);F=c[o>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[p>>2]|0)+48>>2];c[u>>2]=ak(c[(c[c[p>>2]>>2]|0)+16>>2]|0,c[B>>2]|0,q,t,D,z)|0;if(c[u>>2]|0){if((c[u>>2]|0)==7)mh(c[p>>2]|0);ie(c[n>>2]|0,c[z>>2]|0,-1);Kd(c[z>>2]|0);i=E;return}c[q>>2]=c[q>>2]|256;c[u>>2]=bk(c[t>>2]|0,c[D>>2]|0,c[p>>2]|0,(c[o>>2]|0)+4|0,0,c[q>>2]|0)|0;Kd(c[D>>2]|0);F=(c[p>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[u>>2]|0)!=19){if(!(c[u>>2]|0)){F=ck(c[p>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=F;if(c[(c[o>>2]|0)+12>>2]|0){if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[p>>2]|0)+66>>0]|0):0){c[A>>2]=Gh(c[p>>2]|0,20016,y)|0;c[u>>2]=1}}else c[u>>2]=7;mg(c[(c[o>>2]|0)+4>>2]|0);c[s>>2]=Pf(c[(c[o>>2]|0)+4>>2]|0)|0;UB(c[s>>2]|0,d[(c[p>>2]|0)+71>>0]|0)|0;F=c[(c[o>>2]|0)+4>>2]|0;VB(F,VB(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;WB(c[(c[o>>2]|0)+4>>2]|0,3|c[(c[p>>2]|0)+24>>2]&56)|0}}else{c[u>>2]=1;c[A>>2]=Gh(c[p>>2]|0,31565,x)|0}a[(c[o>>2]|0)+8>>0]=3;F=qh(c[p>>2]|0,c[C>>2]|0)|0;c[c[o>>2]>>2]=F;if((c[u>>2]|0)==0?(c[c[o>>2]>>2]|0)==0:0)c[u>>2]=7;if(!(c[u>>2]|0)){Of(c[p>>2]|0);c[u>>2]=si(c[p>>2]|0,A)|0}if(!(c[u>>2]|0)){i=E;return}c[r>>2]=(c[(c[p>>2]|0)+20>>2]|0)-1;if(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0){LB(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0)|0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]=0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]=0}Cg(c[p>>2]|0);c[(c[p>>2]|0)+20>>2]=c[r>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082){mh(c[p>>2]|0);Tf(c[p>>2]|0,c[A>>2]|0);c[A>>2]=Gh(c[p>>2]|0,25016,v)|0;break}if(!(c[A>>2]|0)){F=c[p>>2]|0;c[w>>2]=c[B>>2];c[A>>2]=Gh(F,31594,w)|0}}else{c[h>>2]=c[(c[p>>2]|0)+96+28>>2];c[A>>2]=Gh(e,31456,h)|0}while(0);if(c[A>>2]|0){ie(c[n>>2]|0,c[A>>2]|0,-1);Tf(c[p>>2]|0,c[A>>2]|0)}if(!(c[u>>2]|0)){i=E;return}qe(c[n>>2]|0,c[u>>2]|0);i=E;return}function UB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(YB(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];i=h;return d[(c[f>>2]|0)+4>>0]|0}function VB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}mg(c[g>>2]|0);if((c[h>>2]|0)>=0?(a=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[h>>2]|0)!=0):0){a=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[j>>2];a=c[f>>2]|0;i=k;return a|0}function WB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);XB(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function XB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;a[(c[g>>2]|0)+9>>0]=0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;a[(c[g>>2]|0)+9>>0]=(c[f>>2]|0)==4?1:0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[h>>2]&8){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}e=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;f=(c[g>>2]|0)+10|0;if(e){a[f>>0]=3;break}else{a[f>>0]=2;break}}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(a[(c[g>>2]|0)+8>>0]|0){e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32}f=(c[g>>2]|0)+21|0;b=d[f>>0]|0;if(c[h>>2]&32){a[f>>0]=b&-2;i=j;return}else{a[f>>0]=b|1;i=j;return}}function YB(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+43>>0]|0|0)==2;a=a&1;i=e;return a|0}function ZB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=(ig(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;sx(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=j;return}function _B(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;l=o;d=o+44|0;e=o+40|0;j=o+36|0;k=o+32|0;g=o+28|0;h=o+24|0;f=o+20|0;m=o+16|0;n=o+12|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[d>>2]>>2];c[h>>2]=Fh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[j>>2]=$B(c[e>>2]|0)|0;c[f>>2]=16;c[m>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[n>>2]=(c[h>>2]|0)==1?19905:19924;if((c[h>>2]|0)==1)c[f>>2]=14;if(ax(c[d>>2]|0,c[f>>2]|0,c[c[e>>2]>>2]|0,c[c[j>>2]>>2]|0,c[m>>2]|0)|0){i=o;return}if(ax(c[d>>2]|0,9,c[n>>2]|0,0,c[m>>2]|0)|0){i=o;return}n=dx(c[d>>2]|0)|0;c[k>>2]=n;if(!n){i=o;return}n=c[d>>2]|0;b=(c[h>>2]|0)==1?19905:19924;m=c[c[e>>2]>>2]|0;c[l>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[l+4>>2]=b;c[l+8>>2]=m;cx(n,31642,l);ex(c[d>>2]|0,c[h>>2]|0);mx(c[k>>2]|0,140,c[h>>2]|0,0,0,c[c[e>>2]>>2]|0,0)|0;i=o;return}function $B(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=sj((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function aC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+16|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=sh(c[l>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=(c[h>>2]|0)+36;TR(c[j>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Zw(c[j>>2]|0);c[(c[h>>2]|0)+12>>2]=c[j>>2];a[c[h>>2]>>0]=a[f>>0]|0;l=c[h>>2]|0;i=k;return l|0}function bC(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=d;c[f>>2]=(c[j>>2]|0)+8;c[g>>2]=px(c[e>>2]|0,0,c[f>>2]|0)|0;Rf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){j=(c[g>>2]|0)+36|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(pz(c[e>>2]|0,c[f>>2]|0)|0)){j=c[g>>2]|0;i=h;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function cC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function dC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;k=l;g=l+32|0;h=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[j>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){d=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[(c[j>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0:0){d=8;break}Tf(c[c[c[h>>2]>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(eC(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0){d=11;break}if(fC(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0)|0){d=13;break}c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+72}if((d|0)==8){f=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;j=c[(c[j>>2]|0)+4>>2]|0;c[k>>2]=c[(c[h>>2]|0)+16>>2];c[k+4>>2]=b;c[k+8>>2]=j;Eh(f,31940,k);c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==13){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==15){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function eC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=20;break}if(gC(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){d=4;break}if(dC(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0){d=6;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){d=8;break}if(gC(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){d=10;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){d=12;break}if(gC(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){d=14;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0)|0){d=16;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){d=18;break}c[e>>2]=c[(c[e>>2]|0)+48>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=1;else if((d|0)==12)c[f>>2]=1;else if((d|0)==14)c[f>>2]=1;else if((d|0)==16)c[f>>2]=1;else if((d|0)==18)c[f>>2]=1;else if((d|0)==20)c[f>>2]=0;i=g;return c[f>>2]|0}function fC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+12|0;h=k+8|0;f=k+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){e=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+148+5>>0]|0)){e=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&8404992){e=16;break}e=c[h>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(eC(e,c[b>>2]|0)|0){e=10;break}}else if(gC(e,c[b>>2]|0)|0){e=12;break}if(fC(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){e=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((e|0)==6){f=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];Eh(f,31986,j);c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==10){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==12){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==14){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==16){c[g>>2]=0;j=c[g>>2]|0;i=k;return j|0}return 0}function gC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if(fC(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){d=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function hC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=10;break}if(eC(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){d=4;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){d=6;break}if(gC(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){d=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=0;i=g;return c[f>>2]|0}function iC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33|32;i=d;return}function jC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=h;return}hx(c[e>>2]|0,1,c[g>>2]|0)|0;kC(c[e>>2]|0,c[f>>2]|0);ix(c[e>>2]|0,87,1,1)|0;i=h;return}function kC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;yC(c[f>>2]|0,1,e);i=d;return}function lC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;EB(c[g>>2]|0,77,0,1,0,j,-13)|0;kC(c[g>>2]|0,c[h>>2]|0);ix(c[g>>2]|0,87,1,1)|0;i=f;return}function mC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;f=h+16|0;k=h+12|0;g=h+4|0;j=h;c[f>>2]=a;c[k>>2]=d;c[j>>2]=c[c[f>>2]>>2];OC(c[(c[f>>2]|0)+100>>2]|0,(e[(c[f>>2]|0)+140>>1]|0)<<1);Tf(c[j>>2]|0,c[(c[f>>2]|0)+100>>2]|0);c[g>>2]=c[k>>2]<<1;b[(c[f>>2]|0)+140>>1]=c[k>>2];a=Vw(c[j>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h+8>>2]=a;c[(c[f>>2]|0)+100>>2]=a;if(!(c[(c[f>>2]|0)+100>>2]|0)){i=h;return}PC(c[(c[f>>2]|0)+100>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,1);i=h;return}function nC(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;q=r+4|0;p=r;c[k>>2]=b;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(a[(c[c[k>>2]>>2]|0)+69>>0]|0){c[j>>2]=7;g=c[j>>2]|0;i=r;return g|0}else{g=(c[l>>2]|0)+(_(c[m>>2]|0,e[(c[k>>2]|0)+140>>1]|0)|0)|0;c[p>>2]=(c[(c[k>>2]|0)+100>>2]|0)+(g*40|0);c[q>>2]=gh(c[p>>2]|0,c[n>>2]|0,-1,1,c[o>>2]|0)|0;c[j>>2]=c[q>>2];g=c[j>>2]|0;i=r;return g|0}return 0}function oC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(ig(c[d>>2]|0,32192)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,32185)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;i=f;return c[b>>2]|0}function pC(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[5420+(c[d>>2]<<2)>>2];i=e;return c[b>>2]|0}function qC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;a=f;d=c[a+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[a>>2]|0)>>>0>=4294967295){b=f;d=c[b+4>>2]|0;a=(c[e>>2]|0)+168|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=f;NC(c[(c[e>>2]|0)+216>>2]|0,c[a>>2]|0,c[a+4>>2]|0)}a=(c[e>>2]|0)+168|0;C=c[a+4>>2]|0;i=g;return c[a>>2]|0}function rC(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;mg(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){b=0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function sC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(ig(c[d>>2]|0,33263)|0){if(!(ig(c[d>>2]|0,32707)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,33268)|0)){c[b>>2]=2;break}else{c[e>>2]=Pi(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function tC(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;l=k+12|0;m=k+8|0;h=k+4|0;j=k;g=k+16|0;c[l>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;a[g>>0]=c[m>>2];mg(c[l>>2]|0);if(((e[(c[h>>2]|0)+22>>1]|0)&2|0)!=0?(((d[g>>0]|0|0)!=0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[j>>2]=8;m=c[j>>2]|0;i=k;return m|0}a[(c[h>>2]|0)+17>>0]=(d[g>>0]|0|0)!=0?1:0;a[(c[h>>2]|0)+18>>0]=(d[g>>0]|0|0)==2?1:0;m=c[j>>2]|0;i=k;return m|0}function uC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=LC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function vC(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+67>>0]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[f>>2]|0;c[f>>2]=b+-1;if((b|0)<=0)break;if(c[(c[g>>2]|0)+4>>2]|0)WB(c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[g>>2]=(c[g>>2]|0)+16}i=h;return}function wC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[g>>2]=b;c[l>>2]=e;c[j>>2]=KC(c[l>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+68>>0]|0|0)==(c[j>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}if(xC(c[g>>2]|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{a[(c[h>>2]|0)+68>>0]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}return 0}function xC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if((a[(c[f>>2]|0)+67>>0]|0)!=0?(og(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){LB(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;Cg(c[f>>2]|0);break}Eh(c[e>>2]|0,33201,g);c[d>>2]=1;g=c[d>>2]|0;i=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function yC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;mC(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;nC(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}i=j;return}function zC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+32|0;h=o+28|0;j=o+24|0;k=o+8|0;m=o+4|0;l=o+36|0;n=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){e=a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0;a[l>>0]=e;if(!(e<<24>>24))break;if((a[l>>0]|0)==115){f=(c[k>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[k>>2]=f+4;c[n>>2]=b;b=c[g>>2]|0;f=(c[n>>2]|0)==0?79:97;e=c[h>>2]|0;c[h>>2]=e+1;mx(b,f,0,e,0,c[n>>2]|0,0)|0}else{b=c[g>>2]|0;e=(c[k>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[k>>2]=e+4;e=c[h>>2]|0;c[h>>2]=e+1;ix(b,76,f,e)|0}c[m>>2]=(c[m>>2]|0)+1}i=o;return}function AC(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=33011;break}case 8:{c[e>>2]=33020;break}case 9:{c[e>>2]=33032;break}case 6:{c[e>>2]=33040;break}default:c[e>>2]=33049}i=f;return c[e>>2]|0}function BC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;y=D;l=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;x=D+40|0;r=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[x>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[o>>2]|0)+20>>2];c[B>>2]=c[(c[o>>2]|0)+36+4>>2];do if((c[w>>2]|0)==1){if((b[(c[n>>2]|0)+32>>1]|0)>=0){if(!(c[B>>2]|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(ig(c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[n>>2]|0)+32>>1]<<4)>>2]|0,c[B>>2]|0)|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}}}else if(c[q>>2]|0){c[r>>2]=Vw(c[c[m>>2]>>2]|0,c[w>>2]<<2,0)|0;if(c[r>>2]|0){c[c[q>>2]>>2]=c[r>>2];break}c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}while(0);c[x>>2]=c[(c[n>>2]|0)+8>>2];a:while(1){if(!(c[x>>2]|0))break;do if((e[(c[x>>2]|0)+50>>1]|0)==(c[w>>2]|0)?(d[(c[x>>2]|0)+54>>0]|0)!=0:0){if(!(c[B>>2]|0))if((a[(c[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;b[u>>1]=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;if((b[u>>1]|0)<0)break;j=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+8>>2]|0;c[z>>2]=j;c[z>>2]=(c[z>>2]|0)!=0?j:34834;if(ig(c[(c[(c[x>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]|0,c[z>>2]|0)|0)break;c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;if(!(ig(c[(c[o>>2]|0)+36+(c[v>>2]<<3)+4>>2]|0,c[A>>2]|0)|0)){C=28;break}c[v>>2]=(c[v>>2]|0)+1}if((C|0)==28?(C=0,(c[r>>2]|0)!=0):0)c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[v>>2]<<3)>>2];if((c[v>>2]|0)==(c[w>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(c[w>>2]|0))break a}while(0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}b:do if((C|0)==17?(c[r>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break b;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[s>>2]<<3)>>2];c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[x>>2]|0){c[c[p>>2]>>2]=c[x>>2];c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(a[(c[m>>2]|0)+150>>0]|0)){C=c[m>>2]|0;B=c[(c[o>>2]|0)+8>>2]|0;c[y>>2]=c[c[c[o>>2]>>2]>>2];c[y+4>>2]=B;Eh(C,32948,y)}Tf(c[c[m>>2]>>2]|0,c[r>>2]|0);c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}function CC(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;g=o+12|0;j=o+8|0;l=o+4|0;m=o;n=o+20|0;k=o+22|0;c[g>>2]=d;c[j>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+12>>2];f=(e[(c[j>>2]|0)+52>>1]|0)+1|0;f=Ch(0,f,((f|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+16>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){mh(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[l>>2]=0;while(1){g=c[l>>2]|0;d=c[j>>2]|0;if((c[l>>2]|0)>=(e[(c[j>>2]|0)+52>>1]|0))break;b[n>>1]=b[(c[d+4>>2]|0)+(g<<1)>>1]|0;g=b[n>>1]|0;do if((b[n>>1]|0)<0){d=c[l>>2]|0;f=c[j>>2]|0;if((g|0)==-1){a[(c[f+16>>2]|0)+d>>0]=68;break}else{f=ey(c[(c[(c[f+40>>2]|0)+4>>2]|0)+(d*20|0)>>2]|0)|0;a[k>>0]=f;a[k>>0]=(a[k>>0]|0)==0?65:f;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[k>>0]|0;break}}else a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[m>>2]|0)+4>>2]|0)+(g<<4)+13>>0]|0;while(0);c[l>>2]=(c[l>>2]|0)+1}a[(c[d+16>>2]|0)+g>>0]=0}c[h>>2]=c[(c[j>>2]|0)+16>>2];n=c[h>>2]|0;i=o;return n|0}function DC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=32856;else c[f>>2]=18398;ji(c[d>>2]|0,32860,2,1,c[f>>2]|0,212,0,0,0)|0;ji(c[d>>2]|0,32860,3,1,c[f>>2]|0,212,0,0,0)|0;ji(c[d>>2]|0,32865,2,1,18394,212,0,0,0)|0;IC(c[d>>2]|0,32865,12);IC(c[d>>2]|0,32860,((c[e>>2]|0)!=0?12:4)&255);i=g;return}function EC(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(d[(c[e>>2]|0)+25>>0]|0|0))break;if((d[(c[e>>2]|0)+152+((c[f>>2]|0)*20|0)+6>>0]|0|0)!=0?(d[(c[e>>2]|0)+19>>0]|0|0)<8:0){h=c[(c[e>>2]|0)+152+((c[f>>2]|0)*20|0)+12>>2]|0;j=(c[e>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[e>>2]|0)+352+((b&255)<<2)>>2]=h}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+25>>0]=0;i=g;return}function FC(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+64|0;p=C+52|0;q=C+48|0;r=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;m=C+24|0;x=C+20|0;y=C+16|0;n=C+12|0;A=C+8|0;B=C+4|0;z=C;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;a[t>>0]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[m>>2]=l;if((d[(c[r>>2]|0)+42>>0]|0)&16){c[p>>2]=0;B=c[p>>2]|0;i=C;return B|0}c[y>>2]=Fh(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0;c[B>>2]=dx(c[q>>2]|0)|0;if((c[u>>2]|0)<0)c[u>>2]=c[(c[q>>2]|0)+40>>2];l=c[u>>2]|0;c[u>>2]=l+1;c[n>>2]=l;if(c[w>>2]|0)c[c[w>>2]>>2]=c[n>>2];do if(!((d[(c[r>>2]|0)+42>>0]|0)&32)){if((c[v>>2]|0)!=0?(d[c[v>>2]>>0]|0|0)==0:0){o=11;break}Uz(c[q>>2]|0,c[n>>2]|0,c[y>>2]|0,c[r>>2]|0,c[s>>2]|0)}else o=11;while(0);if((o|0)==11)Tz(c[q>>2]|0,c[y>>2]|0,c[(c[r>>2]|0)+28>>2]|0,(c[s>>2]|0)==105&255,c[c[r>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[u>>2];c[x>>2]=0;c[A>>2]=c[(c[r>>2]|0)+8>>2];while(1){m=c[u>>2]|0;if(!(c[A>>2]|0))break;c[u>>2]=m+1;c[z>>2]=m;if((a[(c[A>>2]|0)+55>>0]&3|0)==2?((d[(c[r>>2]|0)+42>>0]|0)&32|0)!=0:0){if(c[w>>2]|0)c[c[w>>2]>>2]=c[z>>2];a[t>>0]=0}if(!((c[v>>2]|0)!=0?(d[(c[v>>2]|0)+((c[x>>2]|0)+1)>>0]|0|0)==0:0)){jx(c[B>>2]|0,c[s>>2]|0,c[z>>2]|0,c[(c[A>>2]|0)+44>>2]|0,c[y>>2]|0)|0;Vz(c[q>>2]|0,c[A>>2]|0);Jh(c[B>>2]|0,a[t>>0]|0)}c[A>>2]=c[(c[A>>2]|0)+20>>2];c[x>>2]=(c[x>>2]|0)+1}if((m|0)>(c[(c[q>>2]|0)+40>>2]|0))c[(c[q>>2]|0)+40>>2]=c[u>>2];c[p>>2]=c[x>>2];B=c[p>>2]|0;i=C;return B|0}function GC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33;i=d;return}function HC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;l=o+24|0;m=o+20|0;j=o+16|0;q=o+12|0;p=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=ve(c[f>>2]|0)|0;c[k>>2]=ue(c[f>>2]|0)|0;c[m>>2]=$d(c[c[h>>2]>>2]|0)|0;c[l>>2]=$d(c[(c[h>>2]|0)+4>>2]|0)|0;c[q>>2]=ae(c[c[h>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+96+32>>2]|0)){ie(c[f>>2]|0,32870,-1);i=o;return}do if((c[g>>2]|0)==3){c[n>>2]=$d(c[(c[h>>2]|0)+8>>2]|0)|0;if(!(c[n>>2]|0)){i=o;return}if((Wx(c[n>>2]|0,-1)|0)==1){c[j>>2]=JC(n)|0;break}ie(c[f>>2]|0,32903,-1);i=o;return}else c[j>>2]=d[(c[k>>2]|0)+2>>0];while(0);if(!((c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){i=o;return}q=c[f>>2]|0;je(q,Th(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0);i=o;return}function IC(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;n=l+8|0;m=l+4|0;j=l+12|0;k=l;c[n>>2]=f;c[m>>2]=g;a[j>>0]=h;c[k>>2]=ki(c[n>>2]|0,c[m>>2]|0,2,1,0)|0;if(!(c[k>>2]|0)){i=l;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[j>>0]|0);i=l;return}function JC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=f;return g|0}c[e>>2]=d[25563+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=f;return h|0}function KC(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(ig(c[e>>2]|0,33105)|0)){c[d>>2]=1;break}if(!(ig(c[e>>2]|0,26159)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);i=g;return c[d>>2]|0}function LC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=MC(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function MC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){b=c[e>>2]|0;b=aS(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;a=_R(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;c[e>>2]=a}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=cj(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;i=g;return f|0}function NC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function OC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){i=k;return}c[j>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[h>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[h>>2]|0)+456>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}do{f=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312)){if(c[f+24>>2]|0){Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else Xg(f);b[(c[g>>2]|0)+8>>1]=128;a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}function PC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l;k=l+12|0;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;b[k>>1]=f;while(1){a=c[h>>2]|0;c[h>>2]=a+-1;if((a|0)<=0)break;c[(c[g>>2]|0)+32>>2]=c[j>>2];b[(c[g>>2]|0)+8>>1]=b[k>>1]|0;c[(c[g>>2]|0)+24>>2]=0;c[g>>2]=(c[g>>2]|0)+40}i=l;return}function QC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;l=o+8|0;k=o;f=o+44|0;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;n=o+48|0;c[f>>2]=a;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[k>>2]=c[j>>2];Qd(24,n,34141,k)|0;if(ti(c[c[f>>2]>>2]|0,n,c[m>>2]|0)|0){p=c[f>>2]|0;e=c[g>>2]|0;d=c[h>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=n;c[l+8>>2]=e;c[l+12>>2]=d;cx(p,30938,l)}c[j>>2]=(c[j>>2]|0)+1}i=o;return}function RC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=dx(c[g>>2]|0)|0;c[f>>2]=vx(c[g>>2]|0)|0;jx(c[k>>2]|0,130,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Vx(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?19905:19924;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;cx(a,34085,h);xx(c[g>>2]|0,c[f>>2]|0);i=e;return}function SC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;q=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[c[l>>2]>>2];do if(!(c[n>>2]&(c[n>>2]|0)-1)){c[p>>2]=(c[n>>2]|0)==0?1:c[n>>2]<<1;d=_(c[p>>2]|0,c[k>>2]|0)|0;c[o>>2]=Uw(c[h>>2]|0,c[j>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];break}c[c[m>>2]>>2]=-1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}while(0);c[q>>2]=c[j>>2];d=_(c[n>>2]|0,c[k>>2]|0)|0;VR((c[q>>2]|0)+d|0,0,c[k>>2]|0)|0;c[c[m>>2]>>2]=c[n>>2];q=c[l>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}function TC(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[p>>2]=0;if(c[(c[c[h>>2]>>2]|0)+24>>2]&16777216)c[p>>2]=zx(c[h>>2]|0,c[j>>2]|0)|0;c[o>>2]=c[p>>2];while(1){if(!(c[o>>2]|0))break;if((d[(c[o>>2]|0)+8>>0]|0|0)==(c[k>>2]|0)?(vG(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)c[n>>2]=c[n>>2]|(d[(c[o>>2]|0)+9>>0]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}if(!(c[m>>2]|0)){a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}c[c[m>>2]>>2]=c[n>>2];a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}function UC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(((d[(c[h>>2]|0)+42>>0]|0)&16|0)!=0?(c[(c[c[(Ux(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))m=3;do if((m|0)==3){if((((d[(c[h>>2]|0)+42>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[j>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;c[l>>2]=c[c[h>>2]>>2];Eh(m,35257,l);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];Eh(m,35228,k);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}function VC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-17|16;i=d;return}function WC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+128|0;u=O+108|0;v=O+104|0;w=O+100|0;l=O+96|0;r=O+92|0;x=O+88|0;z=O+84|0;n=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;o=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;q=O+20|0;K=O+16|0;L=O+12|0;m=O+8|0;p=O+4|0;G=O+112|0;N=O;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[r>>2]=j;c[x>>2]=k;c[z>>2]=c[c[v>>2]>>2];c[A>>2]=0;c[B>>2]=0;c[q>>2]=0;if(!(c[l>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[(c[v>>2]|0)+472>>2]|0)==0?(c[(c[l>>2]|0)+64>>2]|0)==0:0){if(zx(c[v>>2]|0,c[w>>2]|0)|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[r>>2]|0)==10){if((b[(c[w>>2]|0)+32>>1]|0)>=0)c[r>>2]=d[(c[w>>2]|0)+43>>0];if((c[r>>2]|0)==10)c[r>>2]=2}if((c[c[(c[l>>2]|0)+28>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[(c[l>>2]|0)+28>>2]|0)+8+20>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+32>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+44>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+36>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+56>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+48>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+8>>2]&1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[n>>2]=c[c[l>>2]>>2];if((c[c[n>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((d[c[c[(c[n>>2]|0)+4>>2]>>2]>>0]|0)!=160){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[o>>2]=(c[(c[l>>2]|0)+28>>2]|0)+8;c[I>>2]=px(c[v>>2]|0,0,c[o>>2]|0)|0;if(!(c[I>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[I>>2]|0)==(c[w>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[I>>2]|0)+42>>0]&32|0)==0|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[I>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[I>>2]|0)+12>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+34>>1]|0)!=(b[(c[I>>2]|0)+34>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+32>>1]|0)!=(b[(c[I>>2]|0)+32>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[C>>2]=0;a:while(1){if((c[C>>2]|0)>=(b[(c[w>>2]|0)+34>>1]|0)){l=64;break}c[m>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<4);c[p>>2]=(c[(c[I>>2]|0)+4>>2]|0)+(c[C>>2]<<4);if((a[(c[m>>2]|0)+13>>0]|0)!=(a[(c[p>>2]|0)+13>>0]|0)){l=52;break}if(Td(c[(c[m>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){l=54;break}if((d[(c[m>>2]|0)+12>>0]|0)!=0?(a[(c[p>>2]|0)+12>>0]|0)==0:0){l=57;break}do if((c[C>>2]|0)>0){if(((c[(c[m>>2]|0)+4>>2]|0)==0|0)!=((c[(c[p>>2]|0)+4>>2]|0)==0|0)){l=62;break a}if(!(c[(c[m>>2]|0)+4>>2]|0))break;if(hR(c[(c[(c[m>>2]|0)+4>>2]|0)+8>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+8>>2]|0)|0){l=62;break a}}while(0);c[C>>2]=(c[C>>2]|0)+1}if((l|0)==52){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==54){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==57){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==62){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==64){c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(d[(c[H>>2]|0)+54>>0]|0)c[q>>2]=1;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(xG(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}if(!(c[J>>2]|0)){l=73;break}c[H>>2]=c[(c[H>>2]|0)+20>>2]}if((l|0)==73){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}do if(c[(c[w>>2]|0)+24>>2]|0){if(!(Ly(c[(c[I>>2]|0)+24>>2]|0,c[(c[w>>2]|0)+24>>2]|0,-1)|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);do if(c[(c[z>>2]|0)+24>>2]&524288){if(!(c[(c[w>>2]|0)+16>>2]|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);if(c[(c[z>>2]|0)+24>>2]&128){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[D>>2]=Fh(c[z>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;c[M>>2]=dx(c[v>>2]|0)|0;sx(c[v>>2]|0,c[D>>2]|0);p=(c[v>>2]|0)+40|0;h=c[p>>2]|0;c[p>>2]=h+1;c[F>>2]=h;h=(c[v>>2]|0)+40|0;p=c[h>>2]|0;c[h>>2]=p+1;c[E>>2]=p;c[t>>2]=XC(c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[K>>2]=vx(c[v>>2]|0)|0;c[L>>2]=vx(c[v>>2]|0)|0;Uz(c[v>>2]|0,c[E>>2]|0,c[x>>2]|0,c[w>>2]|0,105);do if(!(c[(c[z>>2]|0)+24>>2]&268435456)){if((b[(c[w>>2]|0)+32>>1]|0)<0){if(!((c[q>>2]|0)!=0?1:(c[(c[w>>2]|0)+8>>2]|0)!=0))l=87}else if(!(c[q>>2]|0))l=87;if((l|0)==87?!((c[r>>2]|0)!=2&(c[r>>2]|0)!=1):0)break;c[y>>2]=ix(c[M>>2]|0,57,c[E>>2]|0,0)|0;c[A>>2]=fx(c[M>>2]|0,13)|0;Zz(c[M>>2]|0,c[y>>2]|0)}while(0);l=c[v>>2]|0;if(!(d[(c[I>>2]|0)+42>>0]&32)){Uz(l,c[F>>2]|0,c[D>>2]|0,c[I>>2]|0,104);c[B>>2]=ix(c[M>>2]|0,57,c[F>>2]|0,0)|0;do if((b[(c[w>>2]|0)+32>>1]|0)<0){l=c[M>>2]|0;if(!(c[(c[w>>2]|0)+8>>2]|0)){c[y>>2]=ix(l,114,c[E>>2]|0,c[L>>2]|0)|0;break}else{c[y>>2]=ix(l,123,c[F>>2]|0,c[L>>2]|0)|0;break}}else{c[y>>2]=ix(c[M>>2]|0,123,c[F>>2]|0,c[L>>2]|0)|0;c[s>>2]=jx(c[M>>2]|0,33,c[E>>2]|0,0,c[L>>2]|0)|0;kF(c[v>>2]|0,c[r>>2]|0,c[w>>2]|0);Zz(c[M>>2]|0,c[s>>2]|0);bD(c[v>>2]|0,c[t>>2]|0,c[L>>2]|0)}while(0);ix(c[M>>2]|0,122,c[F>>2]|0,c[K>>2]|0)|0;mx(c[M>>2]|0,115,c[E>>2]|0,c[K>>2]|0,c[L>>2]|0,c[w>>2]|0,-20)|0;Jh(c[M>>2]|0,11);ix(c[M>>2]|0,7,c[F>>2]|0,c[y>>2]|0)|0;ix(c[M>>2]|0,111,c[F>>2]|0,0)|0;ix(c[M>>2]|0,111,c[E>>2]|0,0)|0}else{Tz(l,c[x>>2]|0,c[(c[w>>2]|0)+28>>2]|0,1,c[c[w>>2]>>2]|0);Tz(c[v>>2]|0,c[D>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0)}c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;a[G>>0]=0;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(xG(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}jx(c[M>>2]|0,104,c[F>>2]|0,c[(c[J>>2]|0)+44>>2]|0,c[D>>2]|0)|0;Vz(c[v>>2]|0,c[J>>2]|0);jx(c[M>>2]|0,105,c[E>>2]|0,c[(c[H>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Vz(c[v>>2]|0,c[H>>2]|0);Jh(c[M>>2]|0,1);c[y>>2]=ix(c[M>>2]|0,57,c[F>>2]|0,0)|0;ix(c[M>>2]|0,121,c[F>>2]|0,c[K>>2]|0)|0;do if(c[(c[z>>2]|0)+24>>2]&268435456){c[C>>2]=0;while(1){if((c[C>>2]|0)>=(e[(c[J>>2]|0)+52>>1]|0))break;c[N>>2]=c[(c[(c[J>>2]|0)+32>>2]|0)+(c[C>>2]<<2)>>2];if(Td(34834,c[N>>2]|0)|0)break;c[C>>2]=(c[C>>2]|0)+1}if((c[C>>2]|0)!=(e[(c[J>>2]|0)+52>>1]|0))break;a[G>>0]=16;jx(c[M>>2]|0,53,c[E>>2]|0,0,-1)|0}while(0);do if(d[(c[I>>2]|0)+42>>0]&32){if((a[(c[H>>2]|0)+55>>0]&3|0)!=2)break;a[G>>0]=d[G>>0]|1}while(0);jx(c[M>>2]|0,126,c[E>>2]|0,c[K>>2]|0,1)|0;Jh(c[M>>2]|0,a[G>>0]|0);ix(c[M>>2]|0,7,c[F>>2]|0,(c[y>>2]|0)+1|0)|0;Zz(c[M>>2]|0,c[y>>2]|0);ix(c[M>>2]|0,111,c[F>>2]|0,0)|0;ix(c[M>>2]|0,111,c[E>>2]|0,0)|0;c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[B>>2]|0)Zz(c[M>>2]|0,c[B>>2]|0);xx(c[v>>2]|0,c[L>>2]|0);xx(c[v>>2]|0,c[K>>2]|0);if(c[A>>2]|0){hD(c[v>>2]|0);ix(c[M>>2]|0,75,0,0)|0;Zz(c[M>>2]|0,c[A>>2]|0);ix(c[M>>2]|0,111,c[E>>2]|0,0)|0;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else{c[u>>2]=1;N=c[u>>2]|0;i=O;return N|0}}}c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}function XC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=0;if(((d[(c[j>>2]|0)+42>>0]|0)&8|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&268435456|0)==0:0){b=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[m>>2]=b;c[l>>2]=c[(c[m>>2]|0)+120>>2];while(1){if(c[l>>2]|0)a=(c[(c[l>>2]|0)+4>>2]|0)!=(c[j>>2]|0);else a=0;b=c[l>>2]|0;if(!a)break;c[l>>2]=c[b>>2]}do if(!b){c[l>>2]=Vw(c[c[g>>2]>>2]|0,16,0)|0;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[m>>2]|0)+120>>2];c[(c[m>>2]|0)+120>>2]=c[l>>2];c[(c[l>>2]|0)+4>>2]=c[j>>2];c[(c[l>>2]|0)+8>>2]=c[h>>2];h=(c[m>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[m>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[(c[l>>2]|0)+12>>2]=j;m=(c[m>>2]|0)+44|0;c[m>>2]=(c[m>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);c[k>>2]=c[(c[l>>2]|0)+12>>2]}c[f>>2]=c[k>>2];m=c[f>>2]|0;i=n;return m|0}function YC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;Sz(c[f>>2]|0,73,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+12>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+12>>2]|0)+28>>2]=0;i=e;return}function ZC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;p=r+24|0;j=r+20|0;k=r+16|0;n=r+12|0;m=r+8|0;l=r+4|0;o=r;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=dx(c[f>>2]|0)|0;c[k>>2]=wx(c[p>>2]|0)|0;if((d[(c[h>>2]|0)+42>>0]|0)&16)f=Ux(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;else f=0;c[n>>2]=f;c[j>>2]=1;a:while(1){if((c[j>>2]|0)>=(c[k>>2]|0)){f=18;break}c[m>>2]=eA(c[p>>2]|0,c[j>>2]|0)|0;b:do if((d[c[m>>2]>>0]|0|0)==104?(c[(c[m>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){c[o>>2]=c[(c[m>>2]|0)+8>>2];if((c[o>>2]|0)==(c[(c[h>>2]|0)+28>>2]|0)){f=8;break a}c[l>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break b;if((c[o>>2]|0)==(c[(c[l>>2]|0)+44>>2]|0)){f=12;break a}c[l>>2]=c[(c[l>>2]|0)+20>>2]}}while(0);if((d[c[m>>2]>>0]|0|0)==155?(c[(c[m>>2]|0)+16>>2]|0)==(c[n>>2]|0):0){f=16;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==8){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==12){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==16){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==18){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}return 0}function _C(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];RA(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);a=(c[k>>2]|0)+44|0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[f>>2]=d;ix(c[j>>2]|0,84,c[h>>2]|0,c[f>>2]|0)|0;hB(c[g>>2]|0,c[f>>2]|0);i=e;return}function $C(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[j>>2]=QA(c[g>>2]|0)|0;d=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=Ch(0,d,((d|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){mh(c[j>>2]|0);i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+13>>0]|0;c[l>>2]=(c[l>>2]|0)+1}do{d=c[l>>2]|0;c[l>>2]=d+-1;a[(c[m>>2]|0)+d>>0]=0;if((c[l>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[l>>2]=Jf(c[m>>2]|0)|0;if(!(c[l>>2]|0)){i=n;return}g=c[g>>2]|0;if(c[k>>2]|0){mx(g,98,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return}else{Mh(g,-1,c[m>>2]|0,c[l>>2]|0);i=n;return}}function aD(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;m=v+36|0;w=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;r=v+12|0;s=v+8|0;t=v+4|0;u=v;c[m>>2]=a;c[w>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=c[w>>2];while(1){if(!(c[u>>2]|0))break;if(((d[(c[u>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?(d[(c[u>>2]|0)+9>>0]|0|0)==(c[p>>2]|0):0)?(vG(c[(c[u>>2]|0)+16>>2]|0,c[o>>2]|0)|0)!=0:0)tF(c[m>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=c[(c[u>>2]|0)+32>>2]}i=v;return}function bD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}ix(c[(c[e>>2]|0)+8>>2]|0,145,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function cD(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?($A(c[g>>2]|0)|0)!=0:0){wB(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}RA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function dD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;d=k+16|0;h=k+12|0;f=k+8|0;g=k+4|0;e=k;c[l>>2]=a;c[d>>2]=b;a=c[l>>2]|0;if(c[(c[l>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[h>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[h>>2]|0)+412>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[h>>2]|0)+460>>2]|0)+(c[f>>2]<<2)>>2]|0)){j=10;break}c[f>>2]=(c[f>>2]|0)+1}if((j|0)==10){i=k;return}c[g>>2]=(c[(c[h>>2]|0)+412>>2]|0)+1<<2;l=c[g>>2]|0;c[e>>2]=Md(c[(c[h>>2]|0)+460>>2]|0,l,((l|0)<0)<<31>>31)|0;if(c[e>>2]|0){c[(c[h>>2]|0)+460>>2]=c[e>>2];j=c[d>>2]|0;g=(c[h>>2]|0)+412|0;l=c[g>>2]|0;c[g>>2]=l+1;c[(c[(c[h>>2]|0)+460>>2]|0)+(l<<2)>>2]=j;i=k;return}else{mh(c[c[h>>2]>>2]|0);i=k;return}}function eD(f,g,h,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=i;i=i+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;c[E>>2]=f;c[F>>2]=g;c[H>>2]=h;c[I>>2]=j;c[J>>2]=k;c[K>>2]=l;c[L>>2]=m;a[M>>0]=n;a[N>>0]=o;c[O>>2]=p;c[G>>2]=q;c[s>>2]=r;c[da>>2]=0;c[ja>>2]=0;c[X>>2]=0;c[W>>2]=0;a[R>>0]=0;c[ia>>2]=-1;a[Y>>0]=(c[L>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[ka>>2]=dx(c[E>>2]|0)|0;c[w>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[da>>2]=0;c[_>>2]=1}else{c[da>>2]=Jj(c[F>>2]|0)|0;c[_>>2]=e[(c[da>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[w>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[$>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+12>>0];if(c[$>>2]|0){if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if((c[$>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0)==0:0)c[$>>2]=2;switch(c[$>>2]|0){case 2:{Vx(c[E>>2]|0);break}case 3:case 1:break;case 4:{ix(c[ka>>2]|0,34,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[O>>2]|0)|0;break a}default:{c[t>>2]=Sz(c[ka>>2]|0,35,(c[K>>2]|0)+1+(c[T>>2]|0)|0)|0;RA(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0);Zz(c[ka>>2]|0,c[t>>2]|0);break a}}m=c[S>>2]|0;l=c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)>>2]|0;c[A>>2]=c[c[F>>2]>>2];c[A+4>>2]=l;c[B>>2]=Gh(m,30161,A)|0;mx(c[ka>>2]|0,74,1299,c[$>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[B>>2]|0,-1)|0;Jh(c[ka>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if((c[(c[F>>2]|0)+24>>2]|0)!=0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[x>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+56>>2]=(c[K>>2]|0)+1;c[$>>2]=(d[N>>0]|0)!=10?d[N>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[x>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!((c[s>>2]|0)!=0?(jF(c[y>>2]|0,c[s>>2]|0,d[M>>0]|0)|0)!=0:0)){c[v>>2]=Wz(c[ka>>2]|0)|0;jB(c[E>>2]|0,c[y>>2]|0,c[v>>2]|0,16);if((c[$>>2]|0)==4)Yz(c[ka>>2]|0,c[O>>2]|0)|0;else{c[C>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[C>>2]|0))c[C>>2]=c[c[F>>2]>>2];if((c[$>>2]|0)==5)c[$>>2]=2;tA(c[E>>2]|0,275,c[$>>2]|0,c[C>>2]|0,0,3)}_z(c[ka>>2]|0,c[v>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[M>>0]|0)!=0&(c[da>>2]|0)==0){c[u>>2]=Wz(c[ka>>2]|0)|0;c[$>>2]=d[(c[F>>2]|0)+43>>0];if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if(a[Y>>0]|0){jx(c[ka>>2]|0,37,c[K>>2]|0,c[u>>2]|0,c[L>>2]|0)|0;Jh(c[ka>>2]|0,-112)}c:do if((c[$>>2]|0)==5?(d[N>>0]|0)!=5:0){c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break c;if((d[(c[ca>>2]|0)+54>>0]|0)==4)break;if((d[(c[ca>>2]|0)+54>>0]|0)==3)break;c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}c[X>>2]=fx(c[ka>>2]|0,13)|0}while(0);jx(c[ka>>2]|0,33,c[I>>2]|0,c[u>>2]|0,c[K>>2]|0)|0;switch(c[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[z>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144)c[z>>2]=TC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if((c[z>>2]|0)==0?(lF(c[E>>2]|0,c[F>>2]|0,0,0)|0)==0:0){if(c[(c[F>>2]|0)+8>>2]|0){mF(c[E>>2]|0);oF(c[E>>2]|0,c[F>>2]|0,c[I>>2]|0,c[J>>2]|0,0,-1)}}else{mF(c[E>>2]|0);nF(c[E>>2]|0,c[F>>2]|0,c[z>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1,0,5,1,-1)}c[ja>>2]=1;break}case 4:{Yz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[$>>2]=2;D=55}}if((D|0)==55)kF(c[E>>2]|0,c[$>>2]|0,c[F>>2]|0);_z(c[ka>>2]|0,c[u>>2]|0);if(c[X>>2]|0){c[W>>2]=fx(c[ka>>2]|0,13)|0;Zz(c[ka>>2]|0,c[X>>2]|0)}}c[Z>>2]=0;c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;do if(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0){if(!(d[R>>0]|0)){$C(c[ka>>2]|0,c[F>>2]|0,(c[K>>2]|0)+1|0);a[R>>0]=1}c[V>>2]=(c[J>>2]|0)+(c[Z>>2]|0);c[Q>>2]=Wz(c[ka>>2]|0)|0;if(c[(c[ca>>2]|0)+36>>2]|0){ix(c[ka>>2]|0,79,0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+56>>2]=(c[K>>2]|0)+1;BA(c[E>>2]|0,c[(c[ca>>2]|0)+36>>2]|0,c[Q>>2]|0,16);c[(c[E>>2]|0)+56>>2]=0}c[ga>>2]=CA(c[E>>2]|0,e[(c[ca>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[ca>>2]|0)+52>>1]|0))break;c[U>>2]=b[(c[(c[ca>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[U>>2]|0)==-2){c[(c[E>>2]|0)+56>>2]=(c[K>>2]|0)+1;MA(c[E>>2]|0,c[(c[(c[(c[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+56>>2]=0}else{if((c[U>>2]|0)!=-1?(c[U>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[la>>2]=(c[U>>2]|0)+(c[K>>2]|0)+1;else{if((c[ia>>2]|0)==((c[ga>>2]|0)+(c[T>>2]|0)|0))break;c[la>>2]=c[K>>2];if(c[(c[ca>>2]|0)+36>>2]|0)s=-1;else s=(c[ga>>2]|0)+(c[T>>2]|0)|0;c[ia>>2]=s}ix(c[ka>>2]|0,(c[U>>2]|0)<0?86:85,c[la>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}jx(c[ka>>2]|0,99,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;WA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if(((d[Y>>0]|0)!=0?(c[da>>2]|0)==(c[ca>>2]|0):0)?(d[M>>0]|0)==0:0){_z(c[ka>>2]|0,c[Q>>2]|0);break}c[$>>2]=d[(c[ca>>2]|0)+54>>0];if(!(c[$>>2]|0)){FA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);_z(c[ka>>2]|0,c[Q>>2]|0);break}if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];Ih(c[ka>>2]|0,29,c[V>>2]|0,c[Q>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;if((c[ca>>2]|0)==(c[da>>2]|0))s=c[ga>>2]|0;else s=CA(c[E>>2]|0,c[_>>2]|0)|0;c[ha>>2]=s;d:do if((d[Y>>0]|0)!=0|(c[$>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){ix(c[ka>>2]|0,129,c[V>>2]|0,c[ha>>2]|0)|0;if(!(a[Y>>0]|0))break;jx(c[ka>>2]|0,37,c[ha>>2]|0,c[Q>>2]|0,c[L>>2]|0)|0;Jh(c[ka>>2]|0,-112);break}e:do if((c[ca>>2]|0)!=(c[da>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break e;c[ma>>2]=(OA(c[ca>>2]|0,b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;jx(c[ka>>2]|0,96,c[V>>2]|0,c[ma>>2]|0,(c[ha>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[Y>>0]|0){D=wx(c[ka>>2]|0)|0;c[P>>2]=D+(e[(c[da>>2]|0)+50>>1]|0);c[aa>>2]=36;c[fa>>2]=(a[(c[ca>>2]|0)+55>>0]&3|0)==2?c[ga>>2]|0:c[ha>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break d;c[ba>>2]=Xz(c[E>>2]|0,c[(c[(c[da>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ma>>2]=b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[da>>2]|0)+50>>1]|0)-1|0)){c[P>>2]=c[Q>>2];c[aa>>2]=37}mx(c[ka>>2]|0,c[aa>>2]|0,(c[L>>2]|0)+1+(c[ma>>2]|0)|0,c[P>>2]|0,(c[fa>>2]|0)+(c[T>>2]|0)|0,c[ba>>2]|0,-4)|0;Jh(c[ka>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[$>>2]|0){case 3:case 2:case 1:{qA(c[E>>2]|0,c[$>>2]|0,c[ca>>2]|0);break}case 4:{Yz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[ea>>2]=0;mF(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144)c[ea>>2]=TC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;nF(c[E>>2]|0,c[F>>2]|0,c[ea>>2]|0,c[I>>2]|0,c[J>>2]|0,c[ha>>2]|0,c[_>>2]&65535,0,5,((c[ca>>2]|0)==(c[da>>2]|0)?1:0)&255,-1);c[ja>>2]=1}}_z(c[ka>>2]|0,c[Q>>2]|0);FA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if((c[ha>>2]|0)!=(c[ga>>2]|0))FA(c[E>>2]|0,c[ha>>2]|0,c[_>>2]|0)}while(0);c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[X>>2]|0)){la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}Yz(c[ka>>2]|0,(c[X>>2]|0)+1|0)|0;Zz(c[ka>>2]|0,c[W>>2]|0);la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}function fD(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+112|0;l=O+108|0;m=O+104|0;n=O+100|0;o=O+96|0;p=O+92|0;q=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;r=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[v>>2]=c[c[l>>2]>>2];c[C>>2]=d[(c[l>>2]|0)+150>>0];if(!(c[(c[v>>2]|0)+24>>2]&524288)){i=O;return}c[z>>2]=Fh(c[v>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;c[M>>2]=c[(c[(c[v>>2]|0)+16>>2]|0)+(c[z>>2]<<4)>>2];c[D>>2]=c[(c[m>>2]|0)+16>>2];a:while(1){if(!(c[D>>2]|0)){N=39;break}c[E>>2]=0;c[t>>2]=0;c[u>>2]=0;if(!(((c[p>>2]|0)!=0?(Td(c[c[m>>2]>>2]|0,c[(c[D>>2]|0)+8>>2]|0)|0)!=0:0)?(jD(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(a[(c[l>>2]|0)+150>>0]|0)c[I>>2]=ti(c[v>>2]|0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;else c[I>>2]=Dh(c[l>>2]|0,0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;if((c[I>>2]|0)!=0?(BC(c[l>>2]|0,c[I>>2]|0,c[D>>2]|0,E,t)|0)==0:0){if(c[t>>2]|0)c[r>>2]=c[t>>2];else{c[y>>2]=c[(c[D>>2]|0)+36>>2];c[r>>2]=y}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;if((c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0))c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[v>>2]|0)+296>>2]|0){if(c[E>>2]|0)j=b[(c[(c[E>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else j=b[(c[I>>2]|0)+32>>1]|0;c[L>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(j<<16>>16<<4)>>2];c[J>>2]=iz(c[l>>2]|0,c[c[I>>2]>>2]|0,c[L>>2]|0,c[z>>2]|0)|0;c[u>>2]=(c[J>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}Tz(c[l>>2]|0,c[z>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0);g=(c[l>>2]|0)+40|0;c[g>>2]=(c[g>>2]|0)+1;if(c[n>>2]|0)kD(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[n>>2]|0,-1,c[u>>2]|0);if((c[o>>2]|0)!=0?(lD(c[l>>2]|0,c[D>>2]|0)|0)==0:0)kD(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[o>>2]|0,1,c[u>>2]|0);Tf(c[v>>2]|0,c[t>>2]|0);break}if(!(c[C>>2]|0)){N=59;break a}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break a}if(!(c[I>>2]|0)){c[K>>2]=dx(c[l>>2]|0)|0;g=wx(c[K>>2]|0)|0;c[A>>2]=g+(c[(c[D>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[D>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[n>>2]|0)+1;ix(c[K>>2]|0,34,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}ix(c[K>>2]|0,144,d[(c[D>>2]|0)+24>>0]|0,-1)|0}}while(0);c[D>>2]=c[(c[D>>2]|0)+4>>2]}if((N|0)==39){c[D>>2]=Yx(c[m>>2]|0)|0;b:while(1){if(!(c[D>>2]|0)){N=59;break}c[F>>2]=0;c[s>>2]=0;if(!((c[p>>2]|0)!=0?(mD(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((a[(c[D>>2]|0)+24>>0]|0)==0?(c[(c[v>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[l>>2]|0)+124>>2]|0)==0:0)?(a[(c[l>>2]|0)+20>>0]|0)==0:0)break;if(BC(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0,F,s)|0){if(!(c[C>>2]|0)){N=59;break b}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break b}else break}c[H>>2]=_v(c[v>>2]|0,0,0,0)|0;if(c[H>>2]|0){c[G>>2]=(c[H>>2]|0)+8;c[(c[G>>2]|0)+16>>2]=c[c[D>>2]>>2];c[(c[G>>2]|0)+8>>2]=c[c[c[D>>2]>>2]>>2];L=(c[(c[G>>2]|0)+16>>2]|0)+36|0;b[L>>1]=(b[L>>1]|0)+1<<16>>16;L=(c[l>>2]|0)+40|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[G>>2]|0)+44>>2]=M;if(c[o>>2]|0)nD(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[o>>2]|0,-1);if((c[n>>2]|0)!=0?(c[w>>2]=d[(c[D>>2]|0)+25+((c[p>>2]|0)!=0&1)>>0],nD(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[n>>2]|0,1),((c[w>>2]|0)!=9?(a[(c[D>>2]|0)+24>>0]|0)==0:0)&(c[w>>2]|0)!=7):0)Vx(c[l>>2]|0);c[(c[G>>2]|0)+8>>2]=0;hv(c[v>>2]|0,c[H>>2]|0)}Tf(c[v>>2]|0,c[s>>2]|0)}while(0);c[D>>2]=c[(c[D>>2]|0)+12>>2]}if((N|0)==59){i=O;return}}else if((N|0)==59){i=O;return}}function gD(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+64|0;o=E+52|0;p=E+48|0;q=E+44|0;r=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;a[x>>0]=0;c[D>>2]=dx(c[o>>2]|0)|0;c[y>>2]=0;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;if(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0){a[x>>0]=1;if(c[(c[z>>2]|0)+36>>2]|0){j=c[D>>2]|0;n=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0;ix(j,34,n,(wx(c[D>>2]|0)|0)+2|0)|0}ix(c[D>>2]|0,126,(c[r>>2]|0)+(c[y>>2]|0)|0,c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)|0;a[A>>0]=0;a[A>>0]=(c[w>>2]|0)!=0?16:0;if((a[(c[z>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]&32|0)!=0:0)a[A>>0]=d[A>>0]|1;Jh(c[D>>2]|0,a[A>>0]|0)}c[z>>2]=c[(c[z>>2]|0)+20>>2];c[y>>2]=(c[y>>2]|0)+1}if(d[(c[p>>2]|0)+42>>0]&32){i=E;return}c[B>>2]=(c[s>>2]|0)+1;c[C>>2]=vx(c[o>>2]|0)|0;jx(c[D>>2]|0,99,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0,c[C>>2]|0)|0;if(!(a[x>>0]|0))$C(c[D>>2]|0,c[p>>2]|0,0);WA(c[o>>2]|0,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0);if(a[(c[o>>2]|0)+18>>0]|0)a[A>>0]=0;else{a[A>>0]=1;a[A>>0]=d[A>>0]|((c[u>>2]|0)!=0?4:2)}if(c[v>>2]|0)a[A>>0]=d[A>>0]|8;if(c[w>>2]|0)a[A>>0]=d[A>>0]|16;jx(c[D>>2]|0,115,c[q>>2]|0,c[C>>2]|0,c[s>>2]|0)|0;if(!(a[(c[o>>2]|0)+18>>0]|0))Mh(c[D>>2]|0,-1,c[p>>2]|0,-20);Jh(c[D>>2]|0,a[A>>0]|0);i=E;return}function hD(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+120>>2]|0)){i=d;return}iD(c[b>>2]|0);i=d;return}function iD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;j=m+24|0;l=m+20|0;f=m+16|0;e=m+12|0;k=m+8|0;g=m+4|0;h=m;c[d>>2]=b;c[l>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[c[d>>2]>>2];c[j>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[j>>2]|0)){d=5;break}c[k>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[j>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[j>>2]|0)+12>>2];c[g>>2]=vx(c[d>>2]|0)|0;Uz(c[d>>2]|0,0,c[(c[j>>2]|0)+8>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+72>>2]|0,105);c[e>>2]=Kh(c[l>>2]|0,5,34384,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+20+8>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+40+4>>2]=(c[h>>2]|0)-1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+8>>2]=c[g>>2];c[(c[e>>2]|0)+60+12>>2]=(c[h>>2]|0)+1;a[(c[e>>2]|0)+60+3>>0]=8;xx(c[d>>2]|0,c[g>>2]|0);c[j>>2]=c[c[j>>2]>>2]}if((d|0)==5){i=m;return}}function jD(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){g=8;break}c[m>>2]=c[(c[h>>2]|0)+36+(c[l>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>=0){g=4;break}if((c[k>>2]|0)!=0?(c[m>>2]|0)==(b[(c[g>>2]|0)+32>>1]|0):0){g=6;break}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==4){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==6){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==8){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}return 0} -function $b(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ac(){return i|0}function bc(a){a=a|0;i=a}function cc(a,b){a=a|0;b=b|0;i=a;j=b}function dc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ec(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function fc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function gc(a){a=a|0;C=a}function hc(){return C|0}function ic(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[360+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[360+((c[f>>2]|0)*12|0)>>2]|0,a[360+((c[f>>2]|0)*12|0)+4>>0]|0,d[360+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[360+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[840+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[840+(c[f>>2]<<4)>>2]|0,a[840+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[840+(c[f>>2]<<4)+8>>2]|0,c[840+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=j;return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,378,16758);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+T(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,379,16767);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+U(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,380,16776);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+V(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[l>>2]|0)!=2)Sa(16785,16734,570,16793);if((ee(c[c[f>>2]>>2]|0)|0)!=5?(ee(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+be(c[c[f>>2]>>2]|0);h[j>>3]=+be(c[(c[f>>2]|0)+4>>2]|0);he(c[e>>2]|0,+W(+(+h[g>>3]),+(+h[j>>3])));i=k;return}le(c[e>>2]|0);i=k;return}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,394,16802);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+IQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,402,16812);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+JQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,410,16822);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+KQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;j=o+12|0;h=o+8|0;k=o+4|0;l=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[j>>2]=0;c[h>>2]=0;if((c[p>>2]|0)!=2)Sa(16785,16734,1680,16832);if((ee(c[c[g>>2]>>2]|0)|0)!=5?(ee(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[k>>2]=$d(c[c[g>>2]>>2]|0)|0;c[l>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;md(c[k>>2]|0,c[m>>2]|0);md(c[l>>2]|0,c[n>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=4)break;p=nd(c[m>>2]|0)|0;if((p|0)==(nd(c[n>>2]|0)|0))c[j>>2]=(c[j>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}je(c[f>>2]|0,c[j>>2]|0);i=o;return}le(c[f>>2]|0);i=o;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,498,17236);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+od(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,499,17248);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+pd(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,420,17260);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+Q(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,419,17268);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+R(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,421,17276);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+S(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,422,17284);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+qd(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,446,17292);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+LQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,438,17301);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+PQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,454,17310);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+QQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,456,17319);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+rd(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,474,17328);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+X(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,472,17336);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+Y(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,473,17344);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+NQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;e=l+32|0;m=l+28|0;f=l+24|0;g=l+16|0;j=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[m>>2]|0)!=2)Sa(16785,16734,546,17354);if((ee(c[c[f>>2]>>2]|0)|0)!=5?(ee(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+be(c[c[f>>2]>>2]|0);h[j>>3]=+be(c[(c[f>>2]|0)+4>>2]|0);c[(BQ()|0)>>2]=0;h[k>>3]=+P(+(+h[g>>3]),+(+h[j>>3]));m=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(m){he(e,+h[k>>3]);i=l;return}else{m=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,m,c[(BQ()|0)>>2]|0);i=l;return}}le(c[e>>2]|0);i=l;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+24|0;l=k+20|0;e=k+16|0;g=k+8|0;f=k;c[j>>2]=a;c[l>>2]=b;c[e>>2]=d;h[g>>3]=0.0;a=f;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(16726,16734,590,17364);switch(ee(c[c[e>>2]>>2]|0)|0){case 1:{l=f;c[l>>2]=de(c[c[e>>2]>>2]|0)|0;c[l+4>>2]=C;l=f;g=c[l+4>>2]|0;if((g|0)>0|(g|0)==0&(c[l>>2]|0)>>>0>0)e=1;else e=(c[f+4>>2]|0)<0?-1:0;l=f;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=f;ke(c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{le(c[j>>2]|0);i=k;return}default:{h[g>>3]=+be(c[c[e>>2]>>2]|0);if(+h[g>>3]>0.0)e=1;else e=+h[g>>3]<0.0?-1:0;h[g>>3]=+(e|0);he(c[j>>2]|0,+h[g>>3]);i=k;return}}}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,375,17373);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+O(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;h[j>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,514,17382);switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{a=g;c[a>>2]=de(c[c[f>>2]>>2]|0)|0;c[a+4>>2]=C;a=c[e>>2]|0;j=g;l=g;ke(a,aS(c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);he(c[e>>2]|0,+h[j>>3]*+h[j>>3]);i=k;return}}}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(16726,16734,620,17393);switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=de(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;ke(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);m=+Z(+(+h[j>>3]));ke(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(16726,16734,645,17402);switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=de(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;ke(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);m=+M(+(+h[j>>3]));ke(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;he(c[f>>2]|0,3.141592653589793);i=e;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+48|0;o=n+44|0;f=n+40|0;l=n+36|0;m=n+32|0;h=n+24|0;j=n+16|0;k=n+8|0;g=n;c[e>>2]=a;c[o>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;if((c[o>>2]|0)!=2){i=n;return}if(5==(ee(c[c[f>>2]>>2]|0)|0)){i=n;return}a=de(c[(c[f>>2]|0)+4>>2]|0)|0;o=h;c[o>>2]=a;c[o+4>>2]=C;if((c[h+4>>2]|0)<0){ie(c[e>>2]|0,17412,-1);i=n;return}a=ae(c[c[f>>2]>>2]|0)|0;o=j;c[o>>2]=a;c[o+4>>2]=((a|0)<0)<<31>>31;o=j;a=h;a=aS(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=k;c[o>>2]=a;c[o+4>>2]=C;o=k;o=RR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[l>>2]=Id(o)|0;o=j;o=RR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[m>>2]=Id(o)|0;if((c[l>>2]|0)!=0&(c[m>>2]|0)!=0){o=c[m>>2]|0;iR(o,$d(c[c[f>>2]>>2]|0)|0)|0;o=g;c[o>>2]=0;c[o+4>>2]=0;while(1){k=g;d=c[k+4>>2]|0;o=h;a=c[o+4>>2]|0;if(!((d|0)<(a|0)|((d|0)==(a|0)?(c[k>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[l>>2]|0;a=g;k=j;k=aS(c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;iR(o+k|0,c[m>>2]|0)|0;k=g;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;o=g;c[o>>2]=k;c[o+4>>2]=C}me(c[e>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);Kd(c[m>>2]|0);i=n;return}se(c[e>>2]|0);if(c[l>>2]|0)Kd(c[l>>2]|0);if(!(c[m>>2]|0)){i=n;return}Kd(c[m>>2]|0);i=n;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))Sa(17425,16734,1038,17443);if(5!=(ee(c[c[g>>2]>>2]|0)|0)?5!=(ee(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[k>>2]=$d(c[c[g>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=m;return}c[l>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){a=(ce(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=a;c[j>>2]=(c[j>>2]|0)<0?0:a}else c[j>>2]=0;c[h>>2]=sd(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,0)|0;je(c[e>>2]|0,(c[h>>2]|0)+1|0);i=m;return}le(c[e>>2]|0);i=m;return}function Nc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;g=p+32|0;q=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;o=p+4|0;m=p;c[g>>2]=b;c[q>>2]=e;c[h>>2]=f;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,1073,17457);if(5!=(ee(c[c[h>>2]>>2]|0)|0)?5!=(ee(c[(c[h>>2]|0)+4>>2]|0)|0):0){c[n>>2]=$d(c[c[h>>2]>>2]|0)|0;c[l>>2]=ce(c[(c[h>>2]|0)+4>>2]|0)|0;c[o>>2]=c[n>>2];a:while(1){if(!(nd(c[o>>2]|0)|0))break;q=c[j>>2]|0;c[j>>2]=q+1;if((q|0)>=(c[l>>2]|0))break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[k>>2]=(c[o>>2]|0)-(c[n>>2]|0);c[m>>2]=Id((c[o>>2]|0)-(c[n>>2]|0)+1|0)|0;if(c[m>>2]|0){mR(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0)|0;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=0;me(c[g>>2]|0,c[m>>2]|0,-1,-1);Kd(c[m>>2]|0);i=p;return}else{se(c[g>>2]|0);i=p;return}}le(c[g>>2]|0);i=p;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+36|0;q=p+32|0;g=p+28|0;k=p+24|0;h=p+20|0;j=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;c[f>>2]=b;c[q>>2]=d;c[g>>2]=e;c[k>>2]=0;c[h>>2]=0;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,1113,17466);if(5!=(ee(c[c[g>>2]>>2]|0)|0)?5!=(ee(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[m>>2]=$d(c[c[g>>2]>>2]|0)|0;c[k>>2]=ce(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if(!(nd(c[o>>2]|0)|0))break;do{q=(c[o>>2]|0)+1|0;c[o>>2]=q}while((192&a[q>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=c[o>>2];c[o>>2]=c[m>>2];q=(c[h>>2]|0)-(c[k>>2]|0)|0;c[j>>2]=q;c[j>>2]=(c[j>>2]|0)<0?0:q;a:while(1){q=c[j>>2]|0;c[j>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[l>>2]=Id((c[n>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[l>>2]|0){iR(c[l>>2]|0,c[o>>2]|0)|0;me(c[f>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=p;return}else{se(c[f>>2]|0);i=p;return}}le(c[f>>2]|0);i=p;return}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o+8|0;j=o+4|0;h=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;if(1!=(c[p>>2]|0))Sa(17476,16734,1323,17484);if(5==(ee(c[c[g>>2]>>2]|0)|0)){le(c[f>>2]|0);i=o;return}c[m>>2]=$d(c[c[g>>2]>>2]|0)|0;c[j>>2]=kR(c[m>>2]|0)|0;c[k>>2]=Id((c[j>>2]|0)+1|0)|0;if(!(c[k>>2]|0)){se(c[f>>2]|0);i=o;return}c[l>>2]=(c[k>>2]|0)+(c[j>>2]|0);p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=0;c[n>>2]=c[m>>2];a:while(1){if(!(nd(c[n>>2]|0)|0))break;c[m>>2]=c[n>>2];do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=1;while(1){if(((c[n>>2]|0)+(0-(c[h>>2]|0))|0)>>>0<(c[m>>2]|0)>>>0)continue a;j=a[(c[n>>2]|0)+(0-(c[h>>2]|0))>>0]|0;p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=j;c[h>>2]=(c[h>>2]|0)+1}}me(c[f>>2]|0,c[k>>2]|0,-1,-1);Kd(c[k>>2]|0);i=o;return}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;o=n+20|0;f=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n+28|0;h=n;c[g>>2]=b;c[o>>2]=d;c[f>>2]=e;c[h>>2]=1;if((c[o>>2]|0)!=1)Sa(16726,16734,724,17496);if(5==(ee(c[c[f>>2]>>2]|0)|0)){le(c[g>>2]|0);i=n;return}c[k>>2]=$d(c[c[f>>2]>>2]|0)|0;c[l>>2]=td(c[k>>2]|0)|0;if(!(c[l>>2]|0)){se(c[g>>2]|0);i=n;return}c[m>>2]=c[l>>2];while(1){o=c[k>>2]|0;c[k>>2]=o+1;o=a[o>>0]|0;a[j>>0]=o;if(!(o<<24>>24))break;if(wQ(a[j>>0]|0)|0)c[h>>2]=1;else{f=a[j>>0]|0;if((c[h>>2]|0)==1)a[j>>0]=AQ(f)|0;else a[j>>0]=zQ(f)|0;c[h>>2]=0}b=a[j>>0]|0;o=c[m>>2]|0;c[m>>2]=o+1;a[o>>0]=b}a[c[m>>2]>>0]=0;me(c[g>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=n;return}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;k=o;g=o+28|0;j=o+24|0;n=o+20|0;l=o+16|0;c[m>>2]=b;c[p>>2]=d;c[f>>2]=e;c[g>>2]=0;if((c[p>>2]|0)!=2)Sa(16785,16734,771,17507);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[m>>2]|0);i=o;return}c[j>>2]=$d(c[c[f>>2]>>2]|0)|0;b=de(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=b;c[p+4>>2]=C;if((c[h+4>>2]|0)<0){ie(c[m>>2]|0,17412,-1);i=o;return}d=ud(c[j>>2]|0,-1)|0;b=k;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=k;d=c[b+4>>2]|0;p=h;e=c[p+4>>2]|0;f=c[j>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[n>>2]=td(f)|0;f=c[m>>2]|0;if(c[n>>2]|0){me(f,c[n>>2]|0,-1,-1);break}se(f);i=o;return}else{p=kR(f)|0;b=h;b=RR(p|0,0,c[b>>2]|0,c[b+4>>2]|0)|0;p=k;p=QR(b|0,C|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=RR(p|0,C|0,1,0)|0;c[n>>2]=Id(p)|0;if(!(c[n>>2]|0)){se(c[m>>2]|0);i=o;return}c[l>>2]=c[n>>2];c[g>>2]=1;while(1){d=c[g>>2]|0;b=k;b=RR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;p=h;e=c[p+4>>2]|0;f=c[l>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[p>>2]|0)>>>0:0)))break;c[l>>2]=f+1;a[f>>0]=32;c[g>>2]=(c[g>>2]|0)+1}iR(f,c[j>>2]|0)|0}while(0);me(c[m>>2]|0,c[n>>2]|0,-1,-1);Kd(c[n>>2]|0);i=o;return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,825,17544);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[n>>2]|0);i=p;return}c[g>>2]=$d(c[c[f>>2]>>2]|0)|0;b=de(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){ie(c[n>>2]|0,17412,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){me(f,c[o>>2]|0,-1,-1);break}se(f);i=p;return}else{q=h;c[q>>2]=kR(f)|0;c[q+4>>2]=0;q=h;b=k;b=RR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=QR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=RR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){se(c[n>>2]|0);i=p;return}q=iR(c[o>>2]|0,c[g>>2]|0)|0;c[m>>2]=q+(c[h>>2]|0);c[j>>2]=1;while(1){b=c[j>>2]|0;h=l;h=RR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);me(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,880,17553);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[n>>2]|0);i=p;return}c[g>>2]=$d(c[c[f>>2]>>2]|0)|0;b=de(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){ie(c[n>>2]|0,17412,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){me(f,c[o>>2]|0,-1,-1);break}se(f);i=p;return}else{q=h;c[q>>2]=kR(f)|0;c[q+4>>2]=0;q=h;b=k;b=RR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=QR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=RR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){se(c[n>>2]|0);i=p;return}c[m>>2]=c[o>>2];c[j>>2]=1;while(1){d=c[j>>2]<<1;b=l;b=RR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;q=k;e=c[q+4>>2]|0;f=c[m>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}iR(f,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);while(1){b=c[j>>2]|0;h=l;h=RR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);me(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;f=r+44|0;s=r+40|0;g=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;p=r+12|0;q=r+8|0;h=r+4|0;j=r;c[f>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)Sa(16785,16734,939,17562);if((ee(c[c[g>>2]>>2]|0)|0)!=5?(ee(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=$d(c[c[g>>2]>>2]|0)|0;c[o>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=Id((kR(c[n>>2]|0)|0)+1|0)|0;if(!(c[p>>2]|0)){se(c[f>>2]|0);i=r;return}c[q>>2]=c[p>>2];c[k>>2]=c[n>>2];a:while(1){s=nd(c[k>>2]|0)|0;c[h>>2]=s;if(!s)break;c[l>>2]=c[o>>2];b:while(1){s=nd(c[l>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[h>>2]|0))break;while(1){s=(c[l>>2]|0)+1|0;c[l>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[m>>2]=c[l>>2];do{s=(c[m>>2]|0)+1|0;c[m>>2]=s}while((192&a[s>>0]|0)==128);mR(c[q>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+((c[m>>2]|0)-(c[l>>2]|0))}while(1){s=(c[k>>2]|0)+1|0;c[k>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[q>>2]>>0]=0;me(c[f>>2]|0,c[p>>2]|0,-1,-1);Kd(c[p>>2]|0);i=r;return}le(c[f>>2]|0);i=r;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;f=l+20|0;j=l+16|0;g=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)Sa(16726,16734,1395,17576);c[j>>2]=we(c[e>>2]|0,24)|0;if(5==(Te(c[c[f>>2]>>2]|0)|0)){i=l;return}a=(c[j>>2]|0)+16|0;m=a;m=RR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[a>>2]=m;c[a+4>>2]=C;h[k>>3]=+be(c[c[f>>2]>>2]|0);h[g>>3]=+h[k>>3]-+h[c[j>>2]>>3];a=(c[j>>2]|0)+16|0;m=c[j>>2]|0;h[m>>3]=+h[m>>3]+ +h[g>>3]/(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0));m=(c[j>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[g>>3]*(+h[k>>3]-+h[c[j>>2]>>3]);i=l;return}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;he(a,+O(+(g/(+(f>>>0)+4294967296.0*+(C|0)))));i=e;return}he(c[b>>2]|0,0.0);i=e;return}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;he(a,g/(+(f>>>0)+4294967296.0*+(C|0)));i=e;return}he(c[b>>2]|0,0.0);i=e;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;e=q+64|0;r=q+60|0;f=q+56|0;n=q+52|0;p=q+8|0;o=q;m=q+48|0;l=q+44|0;k=q+40|0;g=q+28|0;j=q+16|0;c[e>>2]=a;c[r>>2]=b;c[f>>2]=d;a=p;c[a>>2]=0;c[a+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)Sa(16726,16734,1418,17589);c[k>>2]=Te(c[c[f>>2]>>2]|0)|0;if((c[k>>2]|0)==5){i=q;return}c[n>>2]=we(c[e>>2]|0,64)|0;do if(!(c[(c[n>>2]|0)+56>>2]|0)){e=LR(1,12)|0;c[(c[n>>2]|0)+56>>2]=e;e=c[n>>2]|0;if((c[k>>2]|0)==1){r=c[e+56>>2]|0;bd(g,176);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[n>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=e+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[n>>2]|0)+56>>2]|0;bd(j,177);c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];break}}while(0);r=(c[n>>2]|0)+16|0;e=r;e=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[r>>2]=e;c[r+4>>2]=C;r=(c[n>>2]|0)+48|0;e=c[c[f>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=de(e)|0;o=p;c[o>>2]=r;c[o+4>>2]=C;c[m>>2]=LR(1,8)|0;o=p;p=c[o+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=p;fd(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);i=q;return}else{h[o>>3]=+be(e);c[l>>2]=LR(1,8)|0;h[c[l>>2]>>3]=+h[o>>3];fd(c[(c[n>>2]|0)+56>>2]|0,c[l>>2]|0);i=q;return}}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){i=e;return}hd(c[(c[d>>2]|0)+56>>2]|0,131,c[d>>2]|0);jd(c[(c[d>>2]|0)+56>>2]|0);KR(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){i=e;return}f=(c[d>>2]|0)+48|0;a=c[b>>2]|0;b=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=b;ke(a,c[f>>2]|0,c[f+4>>2]|0);i=e;return}else{he(a,+h[b+8>>3]);i=e;return}}function _c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;wd(c[b>>2]|0);i=e;return}function $c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;wd(c[b>>2]|0);i=e;return}function ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;a=aS(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(C|0))/4.0;wd(c[b>>2]|0);i=e;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];i=d;return}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=LR(c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;KR(c[d>>2]|0);i=b;return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;f=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=cd(1,24,16717)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];j=(c[f>>2]|0)+16|0;c[j>>2]=1;c[j+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];i=k;return}c[j>>2]=Yb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){j=(c[c[e>>2]>>2]|0)+16|0;g=j;g=RR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[j>>2]=g;c[j+4>>2]=C;dd(c[h>>2]|0);i=k;return}e=c[c[e>>2]>>2]|0;if((c[j>>2]|0)>0){ed(e,c[g>>2]|0,c[h>>2]|0);i=k;return}else{ed(e+4|0,c[g>>2]|0,c[h>>2]|0);i=k;return}}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ed(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);i=d;return}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}if(c[c[e>>2]>>2]|0)gd(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;_b[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){i=h;return}gd(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;gd(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}dd(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)id(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)id(c[(c[b>>2]|0)+4>>2]|0);dd(c[b>>2]|0);i=d;return}function jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;id(c[c[d>>2]>>2]|0);i=b;return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;d=g+24|0;j=g+20|0;h=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;j=c[j>>2]|0;a=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;j=c[d>>2]|0;i=g;return j|0}h=e;b=c[h+4>>2]|0;j=f;f=c[j+4>>2]|0;if((b|0)<(f|0)|((b|0)==(f|0)?(c[h>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){c[d>>2]=-1;j=c[d>>2]|0;i=g;return j|0}else{c[d>>2]=1;j=c[d>>2]|0;i=g;return j|0}return 0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;g=i;i=i+32|0;d=g+24|0;k=g+20|0;j=g+16|0;e=g+8|0;f=g;c[k>>2]=a;c[j>>2]=b;h[e>>3]=+h[c[k>>2]>>3];h[f>>3]=+h[c[j>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);i=g;return c[d>>2]|0}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;j=l+12|0;h=l+8|0;k=l+4|0;g=l;c[f>>2]=b;c[j>>2]=e;c[h>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;if(!((vQ(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)!=0^1))break;c[h>>2]=(c[h>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){iR(c[j>>2]|0,16975)|0;i=l;return}e=(AQ(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)&255;a[c[j>>2]>>0]=e;c[k>>2]=1;while(1){if((c[k>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;c[g>>2]=d[16847+(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]&127)>>0];if((c[g>>2]|0)>0){b=(c[g>>2]|0)+48&255;e=c[k>>2]|0;c[k>>2]=e+1;a[(c[j>>2]|0)+e>>0]=b}c[h>>2]=(c[h>>2]|0)+1}while(1){f=c[k>>2]|0;if((c[k>>2]|0)>=4)break;c[k>>2]=f+1;a[(c[j>>2]|0)+f>>0]=48}a[(c[j>>2]|0)+f>>0]=0;i=l;return}function nd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[16980+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;i=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[936+(c[f>>2]<<2)>>2]|0);if(((c[952+(c[f>>2]<<2)>>2]&c[e>>2]|0)!=0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;i=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}function od(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*180.0/3.141592653589793)}function pd(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*3.141592653589793/180.0)}function qd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+S(+(+h[c>>3]));i=b;return +a}function rd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+QQ(+h[c>>3]);i=b;return +a}function sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;g=t+40|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;r=t+8|0;n=t+4|0;o=t;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[p>>2]=-1;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=-1;s=c[g>>2]|0;i=t;return s|0}a:while(1){if(!(nd(c[j>>2]|0)|0))break;d=c[m>>2]|0;c[m>>2]=d+1;if((d|0)>=(c[k>>2]|0))break;while(1){d=(c[j>>2]|0)+1|0;c[j>>2]=d;if((192&a[d>>0]|0)!=128)continue a}}c[m>>2]=0;while(1){if(!(nd(c[j>>2]|0)|0))break;c[q>>2]=c[h>>2];c[r>>2]=c[j>>2];do{c[n>>2]=nd(c[q>>2]|0)|0;c[o>>2]=nd(c[r>>2]|0)|0;do{d=(c[q>>2]|0)+1|0;c[q>>2]=d}while((192&a[d>>0]|0)==128);do{d=(c[r>>2]|0)+1|0;c[r>>2]=d}while((192&a[d>>0]|0)==128)}while(((c[n>>2]|0)!=0?(c[n>>2]|0)==(c[o>>2]|0):0)&(c[o>>2]|0)!=0);if(!(c[n>>2]|0)){s=14;break}do{d=(c[j>>2]|0)+1|0;c[j>>2]=d}while((192&a[d>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}if((s|0)==14)c[p>>2]=c[m>>2];if(c[l>>2]|0)c[c[l>>2]>>2]=c[j>>2];s=c[p>>2]|0;c[g>>2]=(c[p>>2]|0)>=0?s+(c[k>>2]|0)|0:s;s=c[g>>2]|0;i=t;return s|0}function td(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Id((kR(c[d>>2]|0)|0)+1|0)|0;a=iR(c[e>>2]|0,c[d>>2]|0)|0;i=b;return a|0}function ud(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)Sa(17516,16734,316,17525);while(1){if(!(a[c[f>>2]>>0]|0)){f=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){f=10;break}c[f>>2]=(c[f>>2]|0)+((d[16980+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){i=k;return c[j>>2]|0}return 0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;m=l+32|0;j=l+16|0;n=l+28|0;g=l+8|0;f=l;k=l+24|0;c[m>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[k>>2]=c[n>>2];e=(c[k>>2]|0)+48|0;b=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[b>>2]|0;m=g;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=RR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}n=c[g+4>>2]|0;m=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}else{h[f>>3]=+h[b>>3];m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=RR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}h[(c[k>>2]|0)+8>>3]=+h[f>>3];m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}}function wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=we(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){i=f;return}c[(c[e>>2]|0)+60>>2]=0;hd(c[(c[e>>2]|0)+56>>2]|0,132,c[e>>2]|0);jd(c[(c[e>>2]|0)+56>>2]|0);KR(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;he(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));i=f;return}g=(c[e>>2]|0)+40|0;b=c[b>>2]|0;d=c[e>>2]|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){ke(b,a,d);i=f;return}else{g=(c[e>>2]|0)+40|0;he(b,(+(a>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));i=f;return}}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;j=q+56|0;m=q+32|0;r=q+52|0;o=q+24|0;n=q+16|0;f=q+8|0;k=q;g=q+48|0;l=q+44|0;p=q+40|0;c[j>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[p>>2]=c[r>>2];if((c[(c[p>>2]|0)+60>>2]|0)>0){i=q;return}h[f>>3]=+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+16|0;h[k>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+32|0;e=m;e=RR(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[g>>2]=e;e=(c[p>>2]|0)+16|0;r=(c[p>>2]|0)+32|0;r=QR(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[l>>2]=r;do if(+(c[g>>2]|0)>=+h[f>>3]){b=c[p>>2]|0;if(!(+(c[l>>2]|0)>=+h[k>>3])){c[b+60>>2]=1;break}r=b+40|0;b=r;b=RR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[r>>2]=b;c[r+4>>2]=C;r=(c[p>>2]|0)+48|0;b=c[j>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){n=c[b>>2]|0;r=o;c[r>>2]=n;c[r+4>>2]=((n|0)<0)<<31>>31;r=c[p>>2]|0;n=r;o=RR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=o;c[r+4>>2]=C;break}else{h[n>>3]=+h[b>>3];r=(c[p>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[n>>3];break}}while(0);o=m;r=(c[p>>2]|0)+32|0;p=r;p=RR(c[p>>2]|0,c[p+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=C;i=q;return}function yd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(zd(c[d>>2]|0,17605,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=Jf(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=8){d=9;break}if((zd(c[d>>2]|0,c[976+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(Kf(a[(c[976+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){d=7;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==9){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function zd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;if(!(c[f>>2]|0)){c[l>>2]=(e|0)!=0?-1:0;l=c[l>>2]|0;i=m;return l|0}if(!e){c[l>>2]=1;l=c[l>>2]|0;i=m;return l|0}c[j>>2]=c[f>>2];c[k>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[j>>2]>>0]|0))break;if((d[17613+(d[c[j>>2]>>0]|0)>>0]|0|0)!=(d[17613+(d[c[k>>2]>>0]|0)>>0]|0|0))break;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((c[h>>2]|0)<0)e=0;else e=(d[17613+(d[c[j>>2]>>0]|0)>>0]|0)-(d[17613+(d[c[k>>2]>>0]|0)>>0]|0)|0;c[l>>2]=e;l=c[l>>2]|0;i=m;return l|0}function Ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<8){c[b>>2]=c[976+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=Lf(18365)|0;l=c[g>>2]|0;i=m;return l|0}if(a[17869+(c[h>>2]|0)>>0]|0)b=Mf()|0;else b=Nf()|0;c[m>>2]=b;j=c[j>>2]|0;c[j>>2]=c[1008+(c[h>>2]<<2)>>2];c[j+4>>2]=0;k=c[k>>2]|0;c[k>>2]=c[1048+(c[h>>2]<<2)>>2];c[k+4>>2]=0;if(c[l>>2]|0)c[1048+(c[h>>2]<<2)>>2]=c[1008+(c[h>>2]<<2)>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Dd()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[e>>2]=c[272];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(hR(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;i=f;return g|0}function Dd(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+16|0;a=e+4|0;b=e;if(c[59]|0){c[a>>2]=0;f=c[a>>2]|0;i=e;return f|0}c[b>>2]=0;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}c[61]=1;if(!(c[62]|0))c[b>>2]=Uf()|0;if(((c[b>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=8,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[b>>2]=7;if(!(c[b>>2]|0))c[64]=(c[64]|0)+1;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}if((c[59]|0)==0&(c[60]|0)==0){c[60]=1;d=1092;f=d+92|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Vf();if(!(c[63]|0))c[b>>2]=Wf()|0;if(!(c[b>>2]|0)){c[63]=1;c[b>>2]=Xf()|0}if(!(c[b>>2]|0)){Yf(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}c[64]=(c[64]|0)+-1;if((c[64]|0)<=0)c[65]=0;c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Dd()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;i=h;return g|0}Zf(c[f>>2]|0);b=c[272]|0;if((c[g>>2]|0)!=0|(c[272]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[272]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[272]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function Fd(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;e=j+32|0;f=j+24|0;h=j+16|0;g=j+8|0;d=j;k=j+40|0;l=f;c[l>>2]=a;c[l+4>>2]=b;c[k>>2]=Dd()|0;if(c[k>>2]|0){k=e;c[k>>2]=-1;c[k+4>>2]=-1;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=296;k=c[b+4>>2]|0;l=h;c[l>>2]=c[b>>2];c[l+4>>2]=k;if((c[f+4>>2]|0)<0){l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=f;l=c[b+4>>2]|0;k=296;c[k>>2]=c[b>>2];c[k+4>>2]=l;k=_f(0)|0;l=d;c[l>>2]=k;c[l+4>>2]=C;l=f;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0){l=f;b=c[l+4>>2]|0;a=d;k=c[a+4>>2]|0;a=(b|0)<(k|0)|((b|0)==(k|0)?(c[l>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[79]=a&1;l=Hd()|0;k=f;k=QR(l|0,C|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=g;c[l>>2]=k;c[l+4>>2]=C;l=g;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0)Fd(c[g>>2]&2147483647)|0;l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function Hd(){var a=0,b=0;b=i;i=i+16|0;a=b+8|0;Bd(0,a,b,0)|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function Id(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Dd()|0){c[d>>2]=0;d=c[d>>2]|0;i=e;return d|0}if((c[b>>2]|0)<=0)b=0;else{b=c[b>>2]|0;b=$f(b,((b|0)<0)<<31>>31)|0}c[d>>2]=b;d=c[d>>2]|0;i=e;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(Dd()|0){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}else{g=e;c[d>>2]=$f(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;i=f;return g|0}return 0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[2]|0){bg(0,ag(c[b>>2]|0)|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=g;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[d>>2]=cg(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[d>>2]|0;i=g;return a|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Dd()|0){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}else{a=g;c[e>>2]=cg(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+128|0;d=j+40|0;e=j+36|0;f=j+32|0;h=j+28|0;g=j;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}else{dg(g,0,j+44|0,70,1e9);eg(g,c[e>>2]|0,c[f>>2]|0);c[h>>2]=fg(g)|0;c[d>>2]=c[h>>2];a=c[d>>2]|0;i=j;return a|0}return 0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}else{c[f>>2]=b;c[g>>2]=Nd(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];a=c[d>>2]|0;i=h;return a|0}return 0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;f=l+44|0;g=l+40|0;m=l+36|0;h=l+32|0;j=l+28|0;k=l;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=e;m=c[f>>2]|0;i=l;return m|0}else{dg(k,0,e,c[g>>2]|0,0);eg(k,c[h>>2]|0,c[j>>2]|0);c[f>>2]=fg(k)|0;m=c[f>>2]|0;i=l;return m|0}return 0}function Qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=Pd(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){i=h;return}c[g>>2]=d;gg(c[e>>2]|0,c[f>>2]|0,g);i=h;return}function Sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+288|0;f=m+12|0;g=m+8|0;k=m+272|0;l=m+4|0;h=m;j=m+16|0;c[f>>2]=b;c[g>>2]=e;c[l>>2]=c[g>>2];if(Dd()|0){i=m;return}if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[17879]=0;i=m;return}if(!(a[17879]|0)){a[17881]=0;a[17880]=0;hg(Cd(0)|0,256,j)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[17882+(c[h>>2]|0)>>0]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[17881]=(d[17881]|0)+((d[17882+(c[h>>2]|0)>>0]|0)+(a[j+(c[h>>2]|0)>>0]|0));a[k>>0]=a[17882+(d[17881]|0)>>0]|0;a[17882+(d[17881]|0)>>0]=a[17882+(c[h>>2]|0)>>0]|0;a[17882+(c[h>>2]|0)>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[17879]=1}do{a[17880]=(a[17880]|0)+1<<24>>24;a[k>>0]=a[17882+(d[17880]|0)>>0]|0;a[17881]=(d[17881]|0)+(d[k>>0]|0);a[17882+(d[17880]|0)>>0]=a[17882+(d[17881]|0)>>0]|0;a[17882+(d[17881]|0)>>0]=a[k>>0]|0;a[k>>0]=(d[k>>0]|0)+(d[17882+(d[17880]|0)>>0]|0);j=a[17882+(d[k>>0]|0)>>0]|0;e=c[l>>2]|0;c[l>>2]=e+1;a[e>>0]=j;e=(c[f>>2]|0)+-1|0;c[f>>2]=e}while((e|0)!=0);i=m;return}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;do if(c[e>>2]|0)if(!a){c[d>>2]=1;break}else{c[d>>2]=ig(c[e>>2]|0,c[f>>2]|0)|0;break}else c[d>>2]=(a|0)!=0?-1:0;while(0);i=g;return c[d>>2]|0}function Ud(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;Ed(1184+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}i=b;return 0}function Vd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+112|0;r=F+108|0;e=F+104|0;D=F+100|0;f=F+96|0;B=F+92|0;p=F+88|0;z=F+84|0;x=F+80|0;j=F+76|0;m=F+72|0;s=F+68|0;h=F+64|0;o=F+60|0;k=F+56|0;q=F+52|0;v=F+16|0;y=F+48|0;g=F+44|0;l=F+40|0;u=F+8|0;t=F;n=F+36|0;A=F+32|0;w=F+28|0;E=F+24|0;c[r>>2]=a;c[e>>2]=b;c[B>>2]=0;c[p>>2]=0;mg(c[(c[r>>2]|0)+24>>2]|0);c[D>>2]=c[(c[r>>2]|0)+28>>2];if(ng(c[D>>2]|0)|0){E=c[D>>2]|0;i=F;return E|0}c[z>>2]=Pf(c[(c[r>>2]|0)+24>>2]|0)|0;c[x>>2]=Pf(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=-1;c[s>>2]=0;if((c[c[r>>2]>>2]|0)!=0?(d[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[D>>2]=5;else c[D>>2]=0;if((c[D>>2]|0)==0?0==(og(c[(c[r>>2]|0)+24>>2]|0)|0):0){c[D>>2]=pg(c[(c[r>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}if(((c[D>>2]|0)==0?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(qg(c[r>>2]|0)|0)==7:0)c[D>>2]=7;if((0==(c[D>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(a=pg(c[(c[r>>2]|0)+4>>2]|0,2)|0,c[D>>2]=a,0==(a|0)):0){c[(c[r>>2]|0)+12>>2]=1;rg(c[(c[r>>2]|0)+4>>2]|0,1,(c[r>>2]|0)+8|0)}c[B>>2]=sg(c[(c[r>>2]|0)+24>>2]|0)|0;c[p>>2]=sg(c[(c[r>>2]|0)+4>>2]|0)|0;c[f>>2]=tg(Pf(c[(c[r>>2]|0)+4>>2]|0)|0)|0;if(0==(c[D>>2]|0)&(c[f>>2]|0)==5?(c[B>>2]|0)!=(c[p>>2]|0):0)c[D>>2]=8;c[m>>2]=ug(c[(c[r>>2]|0)+24>>2]|0)|0;c[j>>2]=0;while(1){if((c[e>>2]|0)>=0?(c[j>>2]|0)>=(c[e>>2]|0):0)break;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;if(!((c[D>>2]|0)!=0^1))break;c[h>>2]=c[(c[r>>2]|0)+16>>2];if((c[h>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[D>>2]=vg(c[z>>2]|0,c[h>>2]|0,o,2)|0,(c[D>>2]|0)==0):0){b=c[r>>2]|0;a=c[h>>2]|0;c[D>>2]=xg(b,a,wg(c[o>>2]|0)|0,0)|0;yg(c[o>>2]|0)}a=(c[r>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}do if(!(c[D>>2]|0)){c[(c[r>>2]|0)+36>>2]=c[m>>2];c[(c[r>>2]|0)+32>>2]=(c[m>>2]|0)+1-(c[(c[r>>2]|0)+16>>2]|0);if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[D>>2]=101;break}if(!(c[(c[r>>2]|0)+40>>2]|0))zg(c[r>>2]|0)}while(0);if((c[D>>2]|0)==101){if(!(c[m>>2]|0)){c[D>>2]=Ag(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=1}if((c[D>>2]|0)==0|(c[D>>2]|0)==101)c[D>>2]=Bg(c[(c[r>>2]|0)+4>>2]|0,1,(c[(c[r>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[D>>2]|0)){if(c[c[r>>2]>>2]|0)Cg(c[c[r>>2]>>2]|0);if((c[f>>2]|0)==5)c[D>>2]=Dg(c[(c[r>>2]|0)+4>>2]|0,2)|0}if(!(c[D>>2]|0)){if((c[B>>2]|0)<(c[p>>2]|0)){c[q>>2]=(c[p>>2]|0)/(c[B>>2]|0)|0;c[k>>2]=((c[m>>2]|0)+(c[q>>2]|0)-1|0)/(c[q>>2]|0)|0;if((c[k>>2]|0)==((((c[384]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=_(c[m>>2]|0,(c[B>>2]|0)/(c[p>>2]|0)|0)|0;if((c[B>>2]|0)<(c[p>>2]|0)){q=c[B>>2]|0;o=c[m>>2]|0;o=aS(q|0,((q|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=o;c[q+4>>2]=C;c[y>>2]=Eg(c[x>>2]|0)|0;Fg(c[x>>2]|0,l);c[g>>2]=c[k>>2];while(1){if(c[D>>2]|0)break;if((c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0)break;do if((c[g>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[D>>2]=vg(c[x>>2]|0,c[g>>2]|0,n,0)|0;if(c[D>>2]|0)break;c[D>>2]=Gg(c[n>>2]|0)|0;yg(c[n>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=Hg(c[x>>2]|0,0,1)|0;o=(c[384]|0)+(c[p>>2]|0)|0;a=((o|0)<0)<<31>>31;q=v;n=c[q+4>>2]|0;if((a|0)<(n|0)|((a|0)==(n|0)?o>>>0<(c[q>>2]|0)>>>0:0)){f=(c[384]|0)+(c[p>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{f=v;e=c[f>>2]|0;f=c[f+4>>2]|0}p=t;c[p>>2]=e;c[p+4>>2]=f;p=(c[384]|0)+(c[B>>2]|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[D>>2]|0)break;p=u;n=c[p+4>>2]|0;q=t;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[A>>2]=0;p=u;q=c[B>>2]|0;q=_R(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=RR(q|0,C|0,1,0)|0;c[w>>2]=q;c[D>>2]=vg(c[z>>2]|0,c[w>>2]|0,A,0)|0;if(!(c[D>>2]|0)){c[E>>2]=wg(c[A>>2]|0)|0;q=u;c[D>>2]=Ig(c[y>>2]|0,c[E>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}yg(c[A>>2]|0);p=c[B>>2]|0;q=u;p=RR(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=C}if(!(c[D>>2]|0)){E=v;c[D>>2]=Jg(c[y>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0}if(!(c[D>>2]|0))c[D>>2]=Kg(c[x>>2]|0,0)|0}else{Lg(c[x>>2]|0,c[k>>2]|0);c[D>>2]=Hg(c[x>>2]|0,0,0)|0}if(!(c[D>>2]|0)){E=Mg(c[(c[r>>2]|0)+4>>2]|0,0)|0;c[D>>2]=E;c[D>>2]=0==(E|0)?101:E}}}if(c[s>>2]|0){Ng(c[(c[r>>2]|0)+24>>2]|0,0)|0;Mg(c[(c[r>>2]|0)+24>>2]|0,0)|0}if((c[D>>2]|0)==3082)c[D>>2]=7;c[(c[r>>2]|0)+28>>2]=c[D>>2];E=c[D>>2]|0;i=F;return E|0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];mg(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Og(Pf(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}Pg(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){lg(c[c[e>>2]>>2]|0,c[g>>2]|0);Qg(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Kd(c[e>>2]|0);Qg(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;if(!(c[d>>2]|0))c[f>>2]=0;else{c[g>>2]=c[d>>2];c[e>>2]=c[c[g>>2]>>2];if(Rg(c[g>>2]|0)|0){c[b>>2]=Lf(75223)|0;g=c[b>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+128|0;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0)Sg(c[e>>2]|0,c[g>>2]|0);c[f>>2]=Tg(c[g>>2]|0)|0;c[f>>2]=Ug(c[e>>2]|0,c[f>>2]|0)|0;Qg(c[e>>2]|0)}c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[e>>2]=0;f=c[e>>2]|0;i=g;return f|0}c[f>>2]=c[b>>2];c[d>>2]=c[c[f>>2]>>2];a=(c[f>>2]|0)+128|0;b=c[a+4>>2]|0;if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)Sg(c[d>>2]|0,c[f>>2]|0);c[e>>2]=Vg(c[f>>2]|0)|0;Wg(c[f>>2]|0);c[e>>2]=Ug(c[d>>2]|0,c[e>>2]|0)|0;f=c[e>>2]|0;i=g;return f|0}function Zd(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[g>>2]=0;c[f>>2]=c[j>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(b[(c[f>>2]|0)+16>>1]|0))break;Xg((c[(c[f>>2]|0)+116>>2]|0)+((c[d>>2]|0)*40|0)|0);b[(c[(c[f>>2]|0)+116>>2]|0)+((c[d>>2]|0)*40|0)+8>>1]=1;c[d>>2]=(c[d>>2]|0)+1}if(!((e[(c[f>>2]|0)+144>>1]|0)>>>9&1)){j=c[g>>2]|0;i=h;return j|0}if(!(c[(c[f>>2]|0)+196>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=(c[f>>2]|0)+144|0;b[j>>1]=b[j>>1]&-2|1;j=c[g>>2]|0;i=h;return j|0}function _d(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=$d(c[d>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}if((e[(c[f>>2]|0)+8>>1]|0)&16384)d=Yg(c[f>>2]|0)|0;else d=0;if(d){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)d=c[(c[f>>2]|0)+16>>2]|0;else d=0;c[g>>2]=d;g=c[g>>2]|0;i=h;return g|0}function $d(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg(c[d>>2]|0,1)|0;i=b;return a|0}function ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=_g(c[d>>2]|0,1)|0;i=b;return a|0}function be(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+$g(c[e>>2]|0);i=d;return +b}function ce(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ah(c[d>>2]|0)|0;i=b;return a|0}function de(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ah(c[d>>2]|0)|0;i=b;return a|0}function ee(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[18138+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;dh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function ge(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;b=j;f=c[b+4>>2]|0;if(f>>>0>0|(f|0)==0&(c[b>>2]|0)>>>0>2147483647){eh(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;i=l;return}else{dh(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);i=l;return}}function he(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;fh(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;gh(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;hh(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;hh(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function le(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ih(c[c[d>>2]>>2]|0);i=b;return}function me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;dh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function ne(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+16|0;l=p+12|0;m=p;n=p+8|0;o=p+20|0;c[k>>2]=b;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;c[n>>2]=h;a[o>>0]=j;if((d[o>>0]|0)==4)a[o>>0]=(a[968]|0)==0?3:2;e=m;h=c[e+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[e>>2]|0)>>>0>2147483647){eh(c[l>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;i=p;return}else{dh(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0);i=p;return}}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;jh(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h+12|0;g=h;k=h+8|0;c[f>>2]=a;j=g;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=c[c[f>>2]>>2];d=g;j=c[d+4>>2]|0;a=c[(c[(c[k>>2]|0)+32>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if(j>>>0>b>>>0|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){c[e>>2]=18;k=c[e>>2]|0;i=h;return k|0}else{kh(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function qe(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){i=h;return}b=c[c[f>>2]>>2]|0;gh(b,lh(c[g>>2]|0)|0,-1,1,0)|0;i=h;return}function re(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;gh(c[c[e>>2]>>2]|0,18170,-1,1,0)|0;i=d;return}function se(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;ih(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;mh(c[(c[c[e>>2]>>2]|0)+32>>2]|0);i=d;return}function te(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;l=o+4|0;n=o;c[f>>2]=d;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[f>>2];c[g>>2]=0;if(nh(c[m>>2]|0)|0){c[e>>2]=Lf(75775)|0;n=c[e>>2]|0;i=o;return n|0}c[h>>2]=c[c[m>>2]>>2];d=(c[m>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3;while(1){d=oh(c[m>>2]|0)|0;c[j>>2]=d;if((d|0)!=17)break;d=c[g>>2]|0;c[g>>2]=d+1;if((d|0)>=50)break;c[l>>2]=c[(c[m>>2]|0)+36>>2];d=ph(c[m>>2]|0)|0;c[j>>2]=d;c[k>>2]=d;if(c[j>>2]|0)break;Yd(c[f>>2]|0)|0;if((c[l>>2]|0)<0)continue;d=(c[m>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3|2}do if(c[k>>2]|0){c[n>>2]=$d(c[(c[h>>2]|0)+244>>2]|0)|0;Tf(c[h>>2]|0,c[(c[m>>2]|0)+108>>2]|0);if(a[(c[h>>2]|0)+69>>0]|0){c[(c[m>>2]|0)+108>>2]=0;c[j>>2]=7;c[(c[m>>2]|0)+40>>2]=7;break}else{n=qh(c[h>>2]|0,c[n>>2]|0)|0;c[(c[m>>2]|0)+108>>2]=n;c[(c[m>>2]|0)+40>>2]=c[k>>2];break}}while(0);c[j>>2]=Ug(c[h>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=o;return n|0}function ue(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function ve(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function we(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=rh(b,c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function xe(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}f=e[(c[b>>2]|0)+140>>1]|0;i=d;return f|0}function ye(a){a=a|0;var b=0,d=0,f=0,g=0;f=i;i=i+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+104>>2]|0)!=0:0){c[b>>2]=e[(c[d>>2]|0)+140>>1];g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=_d(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ae(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+be(th(c[f>>2]|0,c[g>>2]|0)|0);uh(c[f>>2]|0);i=e;return +(+h[d>>3])}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ce(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;b=de(th(c[f>>2]|0,c[g>>2]|0)|0)|0;a=e;c[a>>2]=b;c[a+4>>2]=C;uh(c[f>>2]|0);a=e;C=c[a+4>>2]|0;i=d;return c[a>>2]|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=$d(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function Fe(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;j=h+4|0;g=h;c[f>>2]=a;c[j>>2]=d;c[g>>2]=th(c[f>>2]|0,c[j>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){j=c[f>>2]|0;uh(j);j=c[g>>2]|0;i=h;return j|0}j=(c[g>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-2049;j=(c[g>>2]|0)+8|0;b[j>>1]=e[j>>1]|0|4096;j=c[f>>2]|0;uh(j);j=c[g>>2]|0;i=h;return j|0}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ee(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=vh(c[f>>2]|0,c[e>>2]|0,169,0)|0;i=d;return a|0}function Ie(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=wh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return d|0}function Je(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;f=k;j=k+12|0;g=k+8|0;c[l>>2]=a;c[e>>2]=b;h[f>>3]=d;c[g>>2]=c[l>>2];c[j>>2]=xh(c[g>>2]|0,c[e>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}fh((c[(c[g>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);l=c[j>>2]|0;i=k;return l|0}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Le(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k+16|0;g=k;j=k+12|0;h=k+8|0;c[l>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=xh(c[h>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=g;hh((c[(c[h>>2]|0)+116>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=xh(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Ne(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=wh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return d|0}function Oe(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=f;switch(ee(c[k>>2]|0)|0){case 1:{k=c[k>>2]|0;c[l>>2]=Le(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}case 2:{c[l>>2]=Je(c[g>>2]|0,c[j>>2]|0,+h[c[k>>2]>>3])|0;l=c[l>>2]|0;i=m;return l|0}case 4:{b=c[g>>2]|0;g=c[j>>2]|0;d=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16384){c[l>>2]=Pe(b,g,c[d>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=Ie(b,g,c[d+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1)|0;l=c[l>>2]|0;i=m;return l|0}}case 3:{c[l>>2]=wh(c[g>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1,a[(c[k>>2]|0)+10>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}default:{c[l>>2]=Me(c[g>>2]|0,c[j>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}}return 0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[k>>2];c[h>>2]=xh(c[g>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}kh((c[(c[g>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Qe(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=e;return f|0}f=b[(c[d>>2]|0)+16>>1]|0;i=e;return f|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=yh(a,b,Jf(c[e>>2]|0)|0)|0;i=d;return b|0}function Se(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+176>>2]|0;i=d;return e|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=ee(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){a=c[d>>2]|0;i=f;return a|0}c[e>>2]=c[b>>2];Bh(c[e>>2]|0,0);c[d>>2]=ee(c[b>>2]|0)|0;a=c[d>>2]|0;i=f;return a|0}function Ue(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;o=Q+128|0;p=Q+124|0;G=Q+120|0;q=Q;r=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;c[F>>2]=f;c[o>>2]=g;c[p>>2]=h;c[G>>2]=j;h=q;c[h>>2]=k;c[h+4>>2]=l;c[r>>2]=m;c[H>>2]=n;c[x>>2]=0;c[K>>2]=0;c[O>>2]=0;c[J>>2]=0;c[I>>2]=0;c[c[H>>2]>>2]=0;c[r>>2]=((c[r>>2]|0)!=0^1^1)&1;c[I>>2]=sh(c[F>>2]|0,36,0)|0;a:do if((c[I>>2]|0)!=0?(c[J>>2]=Ch(c[F>>2]|0,480,0)|0,(c[J>>2]|0)!=0):0){while(1){VR(c[J>>2]|0,0,480)|0;c[c[J>>2]>>2]=c[F>>2];Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=0;Of(c[F>>2]|0);c[A>>2]=Dh(c[J>>2]|0,0,c[p>>2]|0,c[o>>2]|0)|0;if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&16|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[C>>2]=c[p>>2];Eh(h,18193,C)}if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&32|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[D>>2]=c[p>>2];Eh(h,18223,D)}if((c[A>>2]|0)!=0?(c[(c[A>>2]|0)+12>>2]|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[E>>2]=c[p>>2];Eh(h,18259,E)}if(!(c[A>>2]|0)){k=13;break}c[(c[I>>2]|0)+32>>2]=c[A>>2];h=Fh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;c[(c[I>>2]|0)+28>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(h<<4)>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;if(!(ig(c[(c[(c[A>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0,c[G>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(b[(c[A>>2]|0)+34>>1]|0)){k=21;break}if(c[r>>2]|0){c[P>>2]=0;b:do if(c[(c[F>>2]|0)+24>>2]&524288){c[y>>2]=c[(c[A>>2]|0)+16>>2];while(1){if(!(c[y>>2]|0))break b;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;if((c[(c[y>>2]|0)+36+(c[v>>2]<<3)>>2]|0)==(c[t>>2]|0))c[P>>2]=18301;c[v>>2]=(c[v>>2]|0)+1}c[y>>2]=c[(c[y>>2]|0)+4>>2]}}while(0);c[z>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[z>>2]|0)+50>>1]|0))break;if(!((b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=(c[t>>2]|0)?(b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=-2:0))c[P>>2]=18313;c[w>>2]=(c[w>>2]|0)+1}c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(c[P>>2]|0){k=42;break}}h=Hh(c[J>>2]|0)|0;c[(c[I>>2]|0)+20>>2]=h;if(c[(c[I>>2]|0)+20>>2]|0){c[B>>2]=c[(c[I>>2]|0)+20>>2];c[u>>2]=Fh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;Ih(c[B>>2]|0,2,c[u>>2]|0,c[r>>2]|0,c[c[(c[A>>2]|0)+64>>2]>>2]|0,c[(c[(c[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Jh(c[B>>2]|0,1);c[s>>2]=Kh(c[B>>2]|0,9,18355,0)|0;Lh(c[B>>2]|0,c[u>>2]|0);if(!(d[(c[F>>2]|0)+69>>0]|0)){c[(c[s>>2]|0)+4>>2]=c[u>>2];c[(c[s>>2]|0)+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+12>>2]=c[r>>2];Mh(c[B>>2]|0,1,c[c[A>>2]>>2]|0,0)}if(!(d[(c[F>>2]|0)+69>>0]|0)){if(c[r>>2]|0)a[(c[s>>2]|0)+20>>0]=105;c[(c[s>>2]|0)+20+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+20+12>>2]=c[u>>2];a[(c[s>>2]|0)+20+1>>0]=-14;c[(c[s>>2]|0)+20+16>>2]=(b[(c[A>>2]|0)+34>>1]|0)+1;c[(c[s>>2]|0)+80+8>>2]=b[(c[A>>2]|0)+34>>1];b[(c[J>>2]|0)+400>>1]=1;c[(c[J>>2]|0)+44>>2]=1;c[(c[J>>2]|0)+40>>2]=1;Nh(c[B>>2]|0,c[J>>2]|0)}}c[c[I>>2]>>2]=c[r>>2];c[(c[I>>2]|0)+12>>2]=c[t>>2];c[(c[I>>2]|0)+24>>2]=c[F>>2];if(a[(c[F>>2]|0)+69>>0]|0)break a;h=q;Le(c[(c[I>>2]|0)+20>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;h=q;c[K>>2]=Oh(c[I>>2]|0,c[h>>2]|0,c[h+4>>2]|0,O)|0;h=(c[x>>2]|0)+1|0;c[x>>2]=h;if(!((h|0)<50?(c[K>>2]|0)==17:0))break a}if((k|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[K>>2]=1;break}else if((k|0)==21){Tf(c[F>>2]|0,c[O>>2]|0);P=c[F>>2]|0;c[N>>2]=c[G>>2];c[O>>2]=Gh(P,18280,N)|0;c[K>>2]=1;break}else if((k|0)==42){Tf(c[F>>2]|0,c[O>>2]|0);N=c[F>>2]|0;c[L>>2]=c[P>>2];c[O>>2]=Gh(N,18321,L)|0;c[K>>2]=1;break}}while(0);if((c[K>>2]|0)==0?(d[(c[F>>2]|0)+69>>0]|0)==0:0){c[c[H>>2]>>2]=c[I>>2];L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?18391:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Ph(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Ug(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}if((c[I>>2]|0)!=0?(c[(c[I>>2]|0)+20>>2]|0)!=0:0)Tg(c[(c[I>>2]|0)+20>>2]|0)|0;Tf(c[F>>2]|0,c[I>>2]|0);L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?18391:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Ph(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Ug(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0){c[b>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=Xd(c[(c[d>>2]|0)+20>>2]|0)|0;Tf(c[b>>2]|0,c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}return 0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Rh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,138)|0;i=f;return b|0}function Xe(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;i=d;return e|0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;j=m+24|0;h=m+20|0;g=m+16|0;l=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=Lf(84814)|0;n=c[e>>2]|0;i=m;return n|0}c[g>>2]=c[(c[h>>2]|0)+24>>2];if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[j>>2]=Oh(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,l)|0;if(c[j>>2]|0){h=c[g>>2]|0;a=c[j>>2]|0;n=(c[l>>2]|0)!=0?18391:0;c[k>>2]=c[l>>2];jg(h,a,n,k);Tf(c[g>>2]|0,c[l>>2]|0)}}else c[j>>2]=4;c[j>>2]=Ug(c[g>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=m;return n|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Th(c[f>>2]|0,c[e>>2]|0,18394,91)|0)==0&1;i=d;return b|0}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=(Th(c[h>>2]|0,c[g>>2]|0,18398,c[f>>2]|0)|0)==0&1;i=e;return b|0}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;j=z+56|0;k=z+52|0;l=z+48|0;m=z+44|0;n=z+40|0;o=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;p=z+20|0;r=z+16|0;t=z+12|0;q=z+8|0;s=z+4|0;u=z;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=0;c[v>>2]=0;c[p>>2]=0;if(!(Uh(c[k>>2]|0)|0)){c[j>>2]=Lf(109597)|0;y=c[j>>2]|0;i=z;return y|0}if(!(c[l>>2]|0))c[l>>2]=18402;lg(c[k>>2]|0,0);a:while(1){if(c[w>>2]|0)break;if(!(a[c[l>>2]>>0]|0))break;c[q>>2]=0;c[v>>2]=0;c[w>>2]=af(c[k>>2]|0,c[l>>2]|0,-1,v,x)|0;if(c[w>>2]|0)continue;if(!(c[v>>2]|0)){c[l>>2]=c[x>>2];continue}c[r>>2]=0;c[t>>2]=xe(c[v>>2]|0)|0;do{c[w>>2]=te(c[v>>2]|0)|0;do if(c[m>>2]|0){if(100!=(c[w>>2]|0)){if(101!=(c[w>>2]|0)|(c[r>>2]|0)!=0)break;if(!(c[(c[k>>2]|0)+24>>2]&256))break}if(!(c[r>>2]|0)){c[p>>2]=sh(c[k>>2]|0,(c[t>>2]<<1<<2)+1|0,0)|0;if(!(c[p>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=He(c[v>>2]|0,c[s>>2]|0)|0;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=e;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}b:do if((c[w>>2]|0)==100){c[q>>2]=(c[p>>2]|0)+(c[t>>2]<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break b;e=Ee(c[v>>2]|0,c[s>>2]|0)|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=e;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)==0?(Ge(c[v>>2]|0,c[s>>2]|0)|0)!=5:0){y=27;break a}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(Wb[c[m>>2]&255](c[n>>2]|0,c[t>>2]|0,c[q>>2]|0,c[p>>2]|0)|0){y=30;break a}}while(0)}while((c[w>>2]|0)==100);c[w>>2]=Tg(c[v>>2]|0)|0;c[v>>2]=0;c[l>>2]=c[x>>2];while(1){if(!(d[18403+(d[c[l>>2]>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}Tf(c[k>>2]|0,c[p>>2]|0);c[p>>2]=0}if((y|0)==27)mh(c[k>>2]|0);else if((y|0)==30){c[w>>2]=4;Tg(c[v>>2]|0)|0;c[v>>2]=0;lg(c[k>>2]|0,4)}if(c[v>>2]|0)Tg(c[v>>2]|0)|0;Tf(c[k>>2]|0,c[p>>2]|0);c[w>>2]=Ug(c[k>>2]|0,c[w>>2]|0)|0;do if((c[w>>2]|0)!=0&(c[o>>2]|0)!=0){c[u>>2]=1+(Jf(bf(c[k>>2]|0)|0)|0);y=c[u>>2]|0;y=$f(y,((y|0)<0)<<31>>31)|0;c[c[o>>2]>>2]=y;if(c[c[o>>2]>>2]|0){e=c[c[o>>2]>>2]|0;y=bf(c[k>>2]|0)|0;TR(e|0,y|0,c[u>>2]|0)|0;break}else{c[w>>2]=7;lg(c[k>>2]|0,7);break}}else if(c[o>>2]|0)c[c[o>>2]>>2]=0;while(0);c[j>>2]=c[w>>2];y=c[j>>2]|0;i=z;return y|0}function af(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Vh(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function bf(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=lh(7)|0;f=c[d>>2]|0;i=g;return f|0}if(!(Wh(c[e>>2]|0)|0)){c[d>>2]=lh(Lf(140046)|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(a[(c[e>>2]|0)+69>>0]|0)){c[f>>2]=$d(c[(c[e>>2]|0)+244>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=lh(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=lh(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Vh(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Xh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return b|0}function ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;b=Xh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function ff(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;n=s+24|0;p=s+20|0;o=s+16|0;r=s+12|0;m=s+8|0;l=s+4|0;c[h>>2]=e;c[j>>2]=f;c[p>>2]=0;c[r>>2]=0;c[k>>2]=c[(c[h>>2]|0)+336>>2];if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[o>>2]=c[(c[k>>2]|0)+4>>2];c[n>>2]=sh(c[h>>2]|0,480,0)|0;if(!(c[n>>2]|0))c[p>>2]=7;else{a[(c[n>>2]|0)+410>>0]=1;c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+136>>2]=1;if((((0==(Yh(c[n>>2]|0,c[j>>2]|0,r)|0)?(c[(c[n>>2]|0)+440>>2]|0)!=0:0)?(a[(c[h>>2]|0)+69>>0]|0)==0:0)?(c[(c[(c[n>>2]|0)+440>>2]|0)+12>>2]|0)==0:0)?(d[(c[(c[n>>2]|0)+440>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[o>>2]|0)+4>>2]|0)){c[m>>2]=c[(c[n>>2]|0)+440>>2];c[(c[o>>2]|0)+4>>2]=c[(c[m>>2]|0)+4>>2];b[(c[o>>2]|0)+34>>1]=b[(c[m>>2]|0)+34>>1]|0;r=(c[o>>2]|0)+42|0;a[r>>0]=d[r>>0]|d[(c[m>>2]|0)+42>>0]&96;b[(c[m>>2]|0)+34>>1]=0;c[(c[m>>2]|0)+4>>2]=0;if((d[(c[m>>2]|0)+42>>0]&32|0)!=0?(c[(c[c[(c[c[k>>2]>>2]|0)+4>>2]>>2]|0)+52>>2]|0)!=0:0)c[p>>2]=1;c[l>>2]=c[(c[m>>2]|0)+8>>2];if(c[l>>2]|0){c[(c[o>>2]|0)+8>>2]=c[l>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[l>>2]|0)+12>>2]=c[o>>2]}}c[(c[k>>2]|0)+12>>2]=1}else{o=c[h>>2]|0;f=(c[r>>2]|0)!=0?18391:0;c[q>>2]=c[r>>2];jg(o,1,f,q);Tf(c[h>>2]|0,c[r>>2]|0);c[p>>2]=1}a[(c[n>>2]|0)+410>>0]=0;if(c[(c[n>>2]|0)+8>>2]|0)Tg(c[(c[n>>2]|0)+8>>2]|0)|0;Rf(c[h>>2]|0,c[(c[n>>2]|0)+440>>2]|0);Ph(c[n>>2]|0);Tf(c[h>>2]|0,c[n>>2]|0)}c[p>>2]=Ug(c[h>>2]|0,c[p>>2]|0)|0;c[g>>2]=c[p>>2];r=c[g>>2]|0;i=s;return r|0}lg(c[h>>2]|0,21);c[g>>2]=Lf(123278)|0;r=c[g>>2]|0;i=s;return r|0}function gf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[18659+((d[(c[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+28|0;l=k+24|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[l>>2]=d;c[j>>2]=0;c[g>>2]=e;do if((c[l>>2]|0)==1){c[h>>2]=c[(c[f>>2]|0)+336>>2];if(c[h>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);l=c[e>>2]|0;c[g>>2]=e+4;a[(c[c[h>>2]>>2]|0)+16>>0]=l;break}else{c[j>>2]=Lf(123749)|0;break}}else c[j>>2]=Lf(123757)|0;while(0);if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}lg(c[f>>2]|0,c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}function jf(){return 17598}function kf(){return 18677}function lf(){return 3015001}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+48|0;h=k+44|0;d=k+40|0;e=k+24|0;j=k+16|0;g=k+8|0;f=k;c[d>>2]=a;c[j>>2]=0;if(c[59]|0){c[h>>2]=Lf(138190)|0;j=c[h>>2]|0;i=k;return j|0}c[e>>2]=b;do switch(c[d>>2]|0){case 4:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[12]=c[b>>2];c[13]=c[b+4>>2];c[14]=c[b+8>>2];c[15]=c[b+12>>2];c[16]=c[b+16>>2];c[17]=c[b+20>>2];c[18]=c[b+24>>2];c[19]=c[b+28>>2];break}case 5:{if(!(c[12]|0))$h();g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[b>>2]=c[12];c[b+4>>2]=c[13];c[b+8>>2]=c[14];c[b+12>>2]=c[15];c[b+16>>2]=c[16];c[b+20>>2]=c[17];c[b+24>>2]=c[18];c[b+28>>2]=c[19];break}case 9:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[2]=b;break}case 6:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[50]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[51]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[52]=b;break}case 7:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[53]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[54]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[55]=b;break}case 24:{g=(ai()|0)+(bi()|0)+(ci()|0)|0;a=(c[e>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[e>>2]=a+4;c[b>>2]=g;break}case 14:break;case 15:{c[j>>2]=1;break}case 18:{d=(c[e>>2]|0)+(4-1)&~(4-1);f=c[d>>2]|0;c[e>>2]=d+4;d=116;e=f;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 19:{if(!(c[31]|0))di();f=(c[e>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[e>>2]=f+4;e=116;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 13:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[9]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[10]=b;break}case 16:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[66]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[67]=b;break}case 17:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[5]=b;break}case 20:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[6]=b;break}case 22:{b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=g;c[b>>2]=d;c[b+4>>2]=a;b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;e=f;c[e>>2]=d;c[e+4>>2]=a;e=f;b=c[e+4>>2]|0;e=(c[f+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[e>>2]|0)>>>0>0);b=f;c[b>>2]=e?0:d;c[b+4>>2]=e?0:a;if((c[g+4>>2]|0)<0){b=g;c[b>>2]=0;c[b+4>>2]=0}a=g;d=c[a+4>>2]|0;b=f;e=c[b+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){e=f;a=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=a}b=c[f+4>>2]|0;a=192;c[a>>2]=c[f>>2];c[a+4>>2]=b;a=g;g=c[a+4>>2]|0;b=184;c[b>>2]=c[a>>2];c[b+4>>2]=g;break}case 25:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[58]=b;break}case 26:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[11]=b;break}default:c[j>>2]=1}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Pf(c[e>>2]|0)|0;ei(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}i=g;return 0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;e=r+52|0;f=r+48|0;g=r+32|0;o=r+28|0;m=r+24|0;p=r+20|0;h=r+16|0;j=r+12|0;l=r+8|0;n=r+4|0;k=r;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;switch(c[f>>2]|0){case 1e3:{d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[c[(c[e>>2]|0)+16>>2]>>2]=q;c[o>>2]=0;q=c[o>>2]|0;i=r;return q|0}case 1001:{d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[m>>2]=q;q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[p>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[h>>2]=q;c[o>>2]=gi(c[e>>2]|0,c[m>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;q=c[o>>2]|0;i=r;return q|0}default:{c[o>>2]=1;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=4){q=17;break}if((c[1548+(c[j>>2]<<3)>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}if((q|0)==17){q=c[o>>2]|0;i=r;return q|0}q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[l>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[n>>2]=q;c[k>>2]=c[(c[e>>2]|0)+24>>2];if((c[l>>2]|0)<=0){if(!(c[l>>2]|0)){q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]&~c[1548+(c[j>>2]<<3)+4>>2]}}else{q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]|c[1548+(c[j>>2]<<3)+4>>2]}if((c[k>>2]|0)!=(c[(c[e>>2]|0)+24>>2]|0))Sh(c[e>>2]|0);if(c[n>>2]|0)c[c[n>>2]>>2]=(c[(c[e>>2]|0)+24>>2]&c[1548+(c[j>>2]<<3)+4>>2]|0)!=0&1;c[o>>2]=0;q=c[o>>2]|0;i=r;return q|0}}return 0}function pf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function qf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+88>>2]|0}function rf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+92>>2]|0}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hi(c[d>>2]|0,0)|0;i=b;return a|0}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hi(c[d>>2]|0,1)|0;i=b;return a|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+380>>2]=c[h>>2];c[(c[f>>2]|0)+380+4>>2]=c[g>>2];c[(c[f>>2]|0)+380+8>>2]=0;c[(c[f>>2]|0)+428>>2]=0;i=e;return 0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){uf(a,178,c[d>>2]|0)|0;c[(c[d>>2]|0)+428>>2]=c[e>>2];i=f;return 0}else{uf(a,0,0)|0;i=f;return 0}return 0}function wf(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;s=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;n=k+8|0;m=k+4|0;l=k;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[l>>2]=j;b=xf(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0)|0;i=k;return b|0}function xf(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=1;c[u>>2]=0;do if(c[t>>2]|0){c[u>>2]=sh(c[l>>2]|0,12,0)|0;a=c[t>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[p>>2];w=5;break}else{Qb[a&255](c[p>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[v>>2]=ji(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[u>>2]|0)|0,(c[u>>2]|0)!=0):0)?(c[c[u>>2]>>2]|0)==0:0){Qb[c[t>>2]&255](c[p>>2]|0);Tf(c[l>>2]|0,c[u>>2]|0)}c[v>>2]=Ug(c[l>>2]|0,c[v>>2]|0)|0;i=x;return c[v>>2]|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(ki(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=ji(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,224,0,0,0)|0;c[h>>2]=Ug(c[e>>2]|0,c[h>>2]|0)|0;i=j;return c[h>>2]|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){Af(a,139,c[d>>2]|0)|0;i=e;return 0}else{Af(a,0,0)|0;i=e;return 0}return 0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+228>>2];c[(c[g>>2]|0)+224>>2]=c[j>>2];c[(c[g>>2]|0)+228>>2]=c[h>>2];i=f;return c[e>>2]|0}function Bf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;o=r+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=10;if(c[m>>2]|0)c[c[m>>2]>>2]=-1;if(c[n>>2]|0)c[c[n>>2]>>2]=-1;if((c[l>>2]|0)<0|(c[l>>2]|0)>3){c[h>>2]=21;d=c[h>>2]|0;i=r;return d|0}if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)c[o>>2]=ni(c[j>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){c[p>>2]=1;d=c[j>>2]|0;c[q>>2]=c[k>>2];jg(d,1,18738,q)}else{c[(c[j>>2]|0)+380+8>>2]=0;c[p>>2]=oi(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;lg(c[j>>2]|0,c[p>>2]|0)}c[p>>2]=Ug(c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=c[p>>2];d=c[h>>2]|0;i=r;return d|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Bf(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return b|0}function Df(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(Wh(c[e>>2]|0)|0)==0:0){c[b>>2]=Lf(140115)|0;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(d[(c[e>>2]|0)+69>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];a=c[b>>2]|0;i=f;return a|0}c[b>>2]=7;a=c[b>>2]|0;i=f;return a|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[1580+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[1580+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=qi(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;o=m+28|0;n=m+24|0;f=m+20|0;g=m+16|0;l=m+12|0;j=m+8|0;k=m+4|0;h=m;c[o>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=e;c[l>>2]=1;c[j>>2]=xi(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[j>>2]|0)){o=c[l>>2]|0;i=m;return o|0}mg(c[j>>2]|0);c[k>>2]=Pf(c[j>>2]|0)|0;c[h>>2]=Eg(c[k>>2]|0)|0;if((c[f>>2]|0)==7){c[c[g>>2]>>2]=c[h>>2];c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==27){o=yi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==28){o=zi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if(c[c[h>>2]>>2]|0){c[l>>2]=Ai(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;o=c[l>>2]|0;i=m;return o|0}else{c[l>>2]=12;o=c[l>>2]|0;i=m;return o|0}return 0}function Hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=hR(c[e>>2]|0,c[f>>2]|0)|0;d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(Jf(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Hf(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){j=(Gi(c[f>>2]|0,c[e>>2]&255)|0)&255;i=g;return j|0}else{j=c[e>>2]|0;i=g;return j|0}return 0}function Jf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(kR(c[d>>2]|0)|0);i=e;return c[b>>2]|0}function Kf(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return ((d[18403+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Lf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rj(21,c[d>>2]|0,45606)|0;i=b;return a|0}function Mf(){return c[428]|0}function Nf(){return c[72]|0}function Of(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Pf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}ov(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Tf(c[d>>2]|0,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);iv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);kv(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function Rf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=h;return}if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))g=4;if((g|0)==4?(d=(c[f>>2]|0)+36|0,g=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=g,(g&65535|0)>0):0){i=h;return}sQ(c[e>>2]|0,c[f>>2]|0);i=h;return}function Sf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;g=l+8|0;f=l+4|0;k=l;c[h>>2]=a;c[j>>2]=d;OC(c[(c[j>>2]|0)+100>>2]|0,e[(c[j>>2]|0)+140>>1]<<1);c[g>>2]=c[(c[j>>2]|0)+200>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=c[(c[g>>2]|0)+20>>2];rQ(c[h>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[h>>2]|0,c[g>>2]|0);c[g>>2]=c[f>>2]}if((c[(c[j>>2]|0)+20>>2]|0)!=381479589){OC(c[(c[j>>2]|0)+116>>2]|0,b[(c[j>>2]|0)+16>>1]|0);c[k>>2]=(b[(c[j>>2]|0)+18>>1]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<0)break;Tf(a,c[(c[(c[j>>2]|0)+120>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}Tf(a,c[(c[j>>2]|0)+120>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+180>>2]|0)}rQ(c[h>>2]|0,c[(c[j>>2]|0)+88>>2]|0,c[(c[j>>2]|0)+136>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+100>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+176>>2]|0);i=l;return}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+456>>2]|0){qQ(a,b);i=g;return}if(lu(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+256+28>>2];c[(c[d>>2]|0)+256+28>>2]=c[f>>2];f=(c[d>>2]|0)+256+8|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}}Kd(c[e>>2]|0);i=g;return}function Uf(){var a=0,b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;a=g+12|0;b=g+8|0;f=g+4|0;d=g;if(!(c[12]|0))$h();c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[78]=0;c[79]=0;c[72]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[f>>2]=c[51]&-8;c[51]=c[f>>2];c[d>>2]=c[50];c[b>>2]=c[52];c[77]=c[d>>2];c[78]=c[b>>2];c[a>>2]=0;while(1){if((c[a>>2]|0)>=((c[b>>2]|0)-1|0))break;c[c[d>>2]>>2]=(c[d>>2]|0)+(c[f>>2]|0);c[d>>2]=c[c[d>>2]>>2];c[a>>2]=(c[a>>2]|0)+1}c[c[d>>2]>>2]=0;c[76]=(c[d>>2]|0)+4}else{c[76]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[e>>2]=Tb[c[68>>2]&255](c[19]|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;i=g;return f|0};c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[78]=0;c[79]=0;f=c[e>>2]|0;i=g;return f|0}function Vf(){$O();aP();bP(6956,57);return}function Wf(){if(!(c[31]|0))di();return Tb[c[124>>2]&255](c[30]|0)|0}function Xf(){var a=0,b=0,d=0;d=i;i=i+16|0;a=d+4|0;b=d;c[b>>2]=Id(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;i=d;return b|0}else{Kd(c[b>>2]|0);c[a>>2]=Ud()|0;b=c[a>>2]|0;i=d;return b|0}return 0}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[420]|0)){i=j;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[423]=c[f>>2];b=c[g>>2]|0;c[430]=b;c[424]=b;if((c[g>>2]|0)>90)d=10;else d=((c[g>>2]|0)/10|0)+1|0;c[425]=d;c[426]=c[e>>2];c[429]=0;c[431]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;d=c[e>>2]|0;if(!b)break;c[h>>2]=d;c[c[h>>2]>>2]=c[429];c[429]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[427]=d;i=j;return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}if((c[272]|0)==(c[d>>2]|0)){c[272]=c[(c[d>>2]|0)+12>>2];i=f;return}if(!(c[272]|0)){i=f;return}c[e>>2]=c[272];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=f;return}function _f(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;C=0;i=d;return c[1008+(c[b>>2]<<2)>>2]|0}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}if(c[2]|0){_O(c[d>>2]|0,e)|0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=Tb[c[48>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}return 0}function ag(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[60>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=1008+(c[f>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[e>>2]|0);i=d;return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;e=m+28|0;f=m+24|0;g=m;k=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;b=c[d>>2]|0;d=c[d+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=$f(b,d)|0;l=c[e>>2]|0;i=m;return l|0}if((b|0)==0&(d|0)==0){Kd(c[f>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=g;d=c[a+4>>2]|0;if(d>>>0>0|(d|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=ag(c[f>>2]|0)|0;c[j>>2]=Tb[c[64>>2]&255](c[g>>2]|0)|0;do if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[2]|0)){c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;break}Ri(5,c[g>>2]|0);c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);d=_f(0)|0;n=C;b=296;a=c[h>>2]|0;a=QR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=C;if((n|0)>(b|0)|(n|0)==(b|0)&d>>>0>=a>>>0)ZO(c[h>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;n=296;h=c[n+4>>2]|0;if((c[l>>2]|0)==0&((h|0)>0|(h|0)==0&(c[n>>2]|0)>>>0>0)){ZO(c[g>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0}if(c[l>>2]|0){c[j>>2]=ag(c[l>>2]|0)|0;Si(0,(c[j>>2]|0)-(c[k>>2]|0)|0)}}else c[l>>2]=c[f>>2];while(0);c[e>>2]=c[l>>2];n=c[e>>2]|0;i=m;return n|0}function dg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;m=h+12|0;n=h+8|0;l=h+4|0;k=h;c[j>>2]=b;c[m>>2]=d;c[n>>2]=e;c[l>>2]=f;c[k>>2]=g;e=c[n>>2]|0;c[(c[j>>2]|0)+4>>2]=e;c[(c[j>>2]|0)+8>>2]=e;c[c[j>>2]>>2]=c[m>>2];c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=c[l>>2];c[(c[j>>2]|0)+20>>2]=c[k>>2];a[(c[j>>2]|0)+24>>0]=0;a[(c[j>>2]|0)+25>>0]=0;i=h;return}function eg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=i;i=i+272|0;j=ra+176|0;k=ra+172|0;l=ra+168|0;q=ra+164|0;p=ra+160|0;aa=ra+156|0;Q=ra+152|0;K=ra+148|0;ja=ra+144|0;B=ra+268|0;F=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;H=ra+263|0;D=ra+262|0;E=ra+261|0;t=ra+260|0;na=ra+259|0;m=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;L=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;G=ra+254|0;X=ra+112|0;o=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;n=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;I=ra+88|0;U=ra+84|0;J=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;r=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;a[na>>0]=16;c[oa>>2]=0;c[X>>2]=0;c[p>>2]=0;if(a[(c[j>>2]|0)+25>>0]|0){b=d[(c[j>>2]|0)+25>>0]&2;a[m>>0]=b;if(b&255){e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[X>>2]=b}a[ha>>0]=d[(c[j>>2]|0)+25>>0]&1}else{a[ha>>0]=0;a[m>>0]=0}a:while(1){b=a[c[k>>2]>>0]|0;c[q>>2]=b;if(!b){qa=268;break}if((c[q>>2]|0)!=37){c[p>>2]=c[k>>2];do{c[k>>2]=(c[k>>2]|0)+1;if(!(a[c[k>>2]>>0]|0))break}while((a[c[k>>2]>>0]|0)!=37);sA(c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)-(c[p>>2]|0)|0);if(!(a[c[k>>2]>>0]|0)){qa=268;break}}b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b;if(!b){qa=13;break}a[H>>0]=0;a[y>>0]=0;a[x>>0]=0;a[z>>0]=0;a[F>>0]=0;a[B>>0]=0;a[t>>0]=0;do{switch(c[q>>2]|0){case 45:{a[B>>0]=1;break}case 43:{a[F>>0]=1;break}case 32:{a[z>>0]=1;break}case 35:{a[x>>0]=1;break}case 33:{a[y>>0]=1;break}case 48:{a[H>>0]=1;break}default:a[t>>0]=1}if(a[t>>0]|0)break;b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b}while((b|0)!=0);if((c[q>>2]|0)==42){if(a[m>>0]|0){b=UO(c[X>>2]|0)|0;c[ja>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[ja>>2]=b}if((c[ja>>2]|0)<0){a[B>>0]=1;c[ja>>2]=(c[ja>>2]|0)>=-2147483647?0-(c[ja>>2]|0)|0:0}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}else{c[ka>>2]=0;while(1){f=c[ka>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ka>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[ja>>2]=f&2147483647}do if((c[q>>2]|0)==46){b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)!=42){c[ca>>2]=0;while(1){f=c[ca>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ca>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[aa>>2]=f&2147483647;break}if(a[m>>0]|0){b=UO(c[X>>2]|0)|0;c[aa>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[aa>>2]=b}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[aa>>2]|0)<0)c[aa>>2]=(c[aa>>2]|0)>=-2147483647?0-(c[aa>>2]|0)|0:-1}else c[aa>>2]=-1;while(0);do if((c[q>>2]|0)==108){a[D>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)==108){a[E>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];break}else{a[E>>0]=0;break}}else{a[E>>0]=0;a[D>>0]=0}while(0);c[L>>2]=44615;a[na>>0]=16;c[K>>2]=0;while(1){if((c[K>>2]|0)>=23)break;f=c[K>>2]|0;if((c[q>>2]|0)==(a[44615+((c[K>>2]|0)*6|0)>>0]|0)){qa=56;break}c[K>>2]=f+1}if((qa|0)==56){qa=0;c[L>>2]=44615+(f*6|0);if((d[ha>>0]|0)==0?(d[(c[L>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}a[na>>0]=a[(c[L>>2]|0)+3>>0]|0}b:do switch(d[na>>0]|0){case 13:{a[E>>0]=0;a[D>>0]=1;qa=62;break}case 0:case 15:{qa=62;break}case 3:case 2:case 1:{if(a[m>>0]|0)h[ea>>3]=+VO(c[X>>2]|0);else{b=c[l>>2]|0;e=(c[b>>2]|0)+(8-1)&~(8-1);g=+h[e>>3];c[b>>2]=e+8;h[ea>>3]=g}if((c[aa>>2]|0)<0)c[aa>>2]=6;do if(!(+h[ea>>3]<0.0)){if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{h[ea>>3]=-+h[ea>>3];a[ba>>0]=45}while(0);if((d[na>>0]|0)==3&(c[aa>>2]|0)>0)c[aa>>2]=(c[aa>>2]|0)+-1;c[K>>2]=c[aa>>2]&4095;h[fa>>3]=.5;while(1){if((c[K>>2]|0)<=0)break;c[K>>2]=(c[K>>2]|0)+-1;h[fa>>3]=+h[fa>>3]*.1}if((d[na>>0]|0)==1)h[ea>>3]=+h[ea>>3]+ +h[fa>>3];c[w>>2]=0;if(qG(+h[ea>>3])|0){c[p>>2]=44802;c[Q>>2]=3;break b}if(+h[ea>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.e+100?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[w>>2]=(c[w>>2]|0)+100}while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.0e10?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[w>>2]=(c[w>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[ea>>3]>=+h[ga>>3]*10.0?(c[w>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[w>>2]=(c[w>>2]|0)+1}h[ea>>3]=+h[ea>>3]/g;while(1){if(!(+h[ea>>3]<1.0e-08))break;h[ea>>3]=+h[ea>>3]*1.0e8;c[w>>2]=(c[w>>2]|0)-8}while(1){if(!(+h[ea>>3]<1.0))break;h[ea>>3]=+h[ea>>3]*10.0;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>350){c[p>>2]=o;a[o>>0]=a[ba>>0]|0;b=o+((a[ba>>0]|0)!=0&1)|0;a[b>>0]=a[44806]|0;a[b+1>>0]=a[44807]|0;a[b+2>>0]=a[44808]|0;a[b+3>>0]=a[44809]|0;c[Q>>2]=3+((a[ba>>0]|0)!=0&1);break b}}c[p>>2]=o;if((d[na>>0]|0)!=1?(h[ea>>3]=+h[ea>>3]+ +h[fa>>3],+h[ea>>3]>=10.0):0){h[ea>>3]=+h[ea>>3]*.1;c[w>>2]=(c[w>>2]|0)+1}c:do if((d[na>>0]|0)==3){a[G>>0]=((a[x>>0]|0)!=0^1)&1;do if((c[w>>2]|0)>=-4){if((c[w>>2]|0)>(c[aa>>2]|0))break;c[aa>>2]=(c[aa>>2]|0)-(c[w>>2]|0);a[na>>0]=1;break c}while(0);a[na>>0]=2}else a[G>>0]=a[y>>0]|0;while(0);if((d[na>>0]|0)==2)c[u>>2]=0;else c[u>>2]=c[w>>2];b=(c[u>>2]|0)>0?c[u>>2]|0:0;e=c[aa>>2]|0;e=RR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=c[ja>>2]|0;b=RR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|(e|0)==0&b>>>0>55?(b=(c[u>>2]|0)>0?c[u>>2]|0:0,e=c[aa>>2]|0,e=RR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,b=c[ja>>2]|0,b=RR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0,b=RR(b|0,C|0,15,0)|0,b=$f(b,C)|0,c[oa>>2]=b,c[p>>2]=b,(c[p>>2]|0)==0):0){qa=161;break a}c[pa>>2]=c[p>>2];c[W>>2]=16+((d[y>>0]|0)*10|0);a[A>>0]=((c[aa>>2]|0)>0?1:0)|d[x>>0]|d[y>>0];if(a[ba>>0]|0){e=a[ba>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}d:do if((c[u>>2]|0)<0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48}else while(1){if((c[u>>2]|0)<0)break d;e=WO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[u>>2]=(c[u>>2]|0)+-1}while(0);if(a[A>>0]|0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=46}c[u>>2]=(c[u>>2]|0)+1;while(1){if((c[u>>2]|0)>=0)break;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48;c[aa>>2]=(c[aa>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1}while(1){b=c[aa>>2]|0;c[aa>>2]=b+-1;if((b|0)<=0)break;e=WO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}do if(d[G>>0]|0){if(!(d[A>>0]|0))break;while(1){f=(c[p>>2]|0)+-1|0;if((a[(c[p>>2]|0)+-1>>0]|0)!=48)break;c[p>>2]=f;a[f>>0]=0}if((a[f>>0]|0)!=46)break;f=c[p>>2]|0;if(a[y>>0]|0){c[p>>2]=f+1;a[f>>0]=48;break}else{b=f+-1|0;c[p>>2]=b;a[b>>0]=0;break}}while(0);if((d[na>>0]|0)==2){f=a[44762+(d[(c[L>>2]|0)+4>>0]|0)>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=f;b=(c[w>>2]|0)<0;f=c[p>>2]|0;c[p>>2]=f+1;if(b){a[f>>0]=45;c[w>>2]=0-(c[w>>2]|0)}else a[f>>0]=43;if((c[w>>2]|0)>=100){e=((c[w>>2]|0)/100|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[w>>2]=(c[w>>2]|0)%100|0}b=((c[w>>2]|0)/10|0)+48&255;e=c[p>>2]|0;c[p>>2]=e+1;a[e>>0]=b;e=((c[w>>2]|0)%10|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}a[c[p>>2]>>0]=0;c[Q>>2]=(c[p>>2]|0)-(c[pa>>2]|0);c[p>>2]=c[pa>>2];if((d[H>>0]|0)==0|(a[B>>0]|0)!=0)break b;if((c[Q>>2]|0)>=(c[ja>>2]|0))break b;c[U>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);c[I>>2]=c[ja>>2];while(1){if((c[I>>2]|0)<(c[U>>2]|0))break;a[(c[p>>2]|0)+(c[I>>2]|0)>>0]=a[(c[p>>2]|0)+((c[I>>2]|0)-(c[U>>2]|0))>>0]|0;c[I>>2]=(c[I>>2]|0)+-1}c[I>>2]=(a[ba>>0]|0)!=0&1;while(1){b=c[U>>2]|0;c[U>>2]=b+-1;if(!b)break;b=c[I>>2]|0;c[I>>2]=b+1;a[(c[p>>2]|0)+b>>0]=48}c[Q>>2]=c[ja>>2];break}case 4:{if(!(a[m>>0]|0)){e=c[(c[j>>2]|0)+12>>2]|0;f=c[l>>2]|0;sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;c[b>>2]=e}c[ja>>2]=0;c[Q>>2]=0;break}case 7:{a[o>>0]=37;c[p>>2]=o;c[Q>>2]=1;break}case 8:{if(a[m>>0]|0){c[p>>2]=XO(c[X>>2]|0)|0;if(c[p>>2]|0)f=a[c[p>>2]>>0]|0;else f=0;c[q>>2]=f}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[q>>2]=sa}if((c[aa>>2]|0)>1){c[ja>>2]=(c[ja>>2]|0)-((c[aa>>2]|0)-1);if(!((c[ja>>2]|0)<=1|(a[B>>0]|0)!=0)){YO(c[j>>2]|0,(c[ja>>2]|0)-1|0,32);c[ja>>2]=0}YO(c[j>>2]|0,(c[aa>>2]|0)-1|0,c[q>>2]&255)}c[Q>>2]=1;a[o>>0]=c[q>>2];c[p>>2]=o;break}case 6:case 5:{if(a[m>>0]|0){c[p>>2]=XO(c[X>>2]|0)|0;a[na>>0]=5}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[p>>2]=sa}if(c[p>>2]|0){if((d[na>>0]|0)==6)c[oa>>2]=c[p>>2]}else c[p>>2]=18402;if((c[aa>>2]|0)<0){c[Q>>2]=Jf(c[p>>2]|0)|0;break b}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[aa>>2]|0))break b;if(!(a[(c[p>>2]|0)+(c[Q>>2]|0)>>0]|0))break b;c[Q>>2]=(c[Q>>2]|0)+1}}case 14:case 10:case 9:{a[da>>0]=(d[na>>0]|0)==14?34:39;if(a[m>>0]|0)c[v>>2]=XO(c[X>>2]|0)|0;else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[v>>2]=sa}c[M>>2]=(c[v>>2]|0)==0&1;if(c[M>>2]|0)c[v>>2]=(d[na>>0]|0)==10?39691:44810;c[O>>2]=c[aa>>2];c[S>>2]=0;c[J>>2]=0;while(1){if(!(c[O>>2]|0))break;sa=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=sa;if(!(sa<<24>>24))break;if((a[r>>0]|0)==(a[da>>0]|0))c[S>>2]=(c[S>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if(c[M>>2]|0)f=0;else f=(d[na>>0]|0)==10;c[V>>2]=f&1;c[S>>2]=(c[S>>2]|0)+((c[J>>2]|0)+3);if((c[S>>2]|0)>70){sa=c[S>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[p>>2]=sa;if(!(c[p>>2]|0)){qa=241;break a}}else c[p>>2]=o;c[N>>2]=0;if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[O>>2]=c[J>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[O>>2]|0))break;b=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=b;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b;if((a[r>>0]|0)==(a[da>>0]|0)){b=a[r>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[J>>2]=(c[J>>2]|0)+1}if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}a[(c[p>>2]|0)+(c[N>>2]|0)>>0]=0;c[Q>>2]=c[N>>2];break}case 11:{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[_>>2]=sa;if((c[_>>2]|0)!=0?(c[(c[_>>2]|0)+4>>2]|0)!=0:0)sA(c[j>>2]|0,c[c[_>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}case 12:{e=c[l>>2]|0;sa=(c[e>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[e>>2]=sa+4;c[Z>>2]=b;b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[P>>2]=sa;c[Y>>2]=(c[Z>>2]|0)+8+((c[P>>2]|0)*72|0);if(c[(c[Y>>2]|0)+4>>2]|0){dE(c[j>>2]|0,c[(c[Y>>2]|0)+4>>2]|0);sA(c[j>>2]|0,44433,1)}dE(c[j>>2]|0,c[(c[Y>>2]|0)+8>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;f=(a[m>>0]|0)!=0;do if(d[(c[L>>2]|0)+2>>0]&1){do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=ia;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=ia;c[sa>>2]=b;c[sa+4>>2]=((b|0)<0)<<31>>31;break}}else{b=UO(c[X>>2]|0)|0;sa=ia;c[sa>>2]=b;c[sa+4>>2]=C}while(0);e=ia;f=c[e>>2]|0;e=c[e+4>>2]|0;if((c[ia+4>>2]|0)<0){if((f|0)==0&(e|0)==-2147483648){sa=R;c[sa>>2]=0;c[sa+4>>2]=-2147483648}else{b=ia;b=QR(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}a[ba>>0]=45;break}sa=R;c[sa>>2]=f;c[sa+4>>2]=e;if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=R;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=R;c[sa>>2]=b;c[sa+4>>2]=0;break}}else{b=UO(c[X>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}while(0);a[ba>>0]=0}while(0);sa=R;if((c[sa>>2]|0)==0&(c[sa+4>>2]|0)==0)a[x>>0]=0;if((d[H>>0]|0)!=0?(c[aa>>2]|0)<((c[ja>>2]|0)-((a[ba>>0]|0)!=0&1)|0):0)c[aa>>2]=(c[ja>>2]|0)-((a[ba>>0]|0)!=0&1);if((c[aa>>2]|0)>=60){c[T>>2]=(c[aa>>2]|0)+10;sa=c[T>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[pa>>2]=sa;if(!(c[pa>>2]|0)){qa=92;break}}else{c[T>>2]=70;c[pa>>2]=o}c[p>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1);if((d[na>>0]|0)==15){sa=R;sa=cS(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0;c[la>>2]=sa;if(!((c[la>>2]|0)<4?(sa=R,sa=bS(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0,sa=cS(sa|0,C|0,10,0)|0,!((sa|0)==1&(C|0)==0)):0))c[la>>2]=0;sa=a[44753+((c[la>>2]<<1)+1)>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=a[44753+(c[la>>2]<<1)>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}c[s>>2]=44762+(d[(c[L>>2]|0)+4>>0]|0);a[n>>0]=a[(c[L>>2]|0)+1>>0]|0;do{sa=R;sa=cS(c[sa>>2]|0,c[sa+4>>2]|0,d[n>>0]|0,0)|0;sa=a[(c[s>>2]|0)+sa>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=R;b=bS(c[b>>2]|0,c[b+4>>2]|0,d[n>>0]|0,0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C;sa=R;b=c[sa+4>>2]|0}while(b>>>0>0|(b|0)==0&(c[sa>>2]|0)>>>0>0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0);c[K>>2]=(c[aa>>2]|0)-(c[Q>>2]|0);while(1){if((c[K>>2]|0)<=0)break;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=48;c[K>>2]=(c[K>>2]|0)+-1}if(a[ba>>0]|0){b=a[ba>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}e:do if((d[x>>0]|0)!=0?(d[(c[L>>2]|0)+5>>0]|0)!=0:0){c[$>>2]=44795+(d[(c[L>>2]|0)+5>>0]|0);while(1){sa=a[c[$>>2]>>0]|0;a[ma>>0]=sa;if(!(sa<<24>>24))break e;b=a[ma>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b;c[$>>2]=(c[$>>2]|0)+1}}while(0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0)}c[ja>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);if(!((c[ja>>2]|0)<=0|(a[B>>0]|0)!=0))YO(c[j>>2]|0,c[ja>>2]|0,32);sA(c[j>>2]|0,c[p>>2]|0,c[Q>>2]|0);if((c[ja>>2]|0)>0?(d[B>>0]|0)!=0:0)YO(c[j>>2]|0,c[ja>>2]|0,32);if(c[oa>>2]|0){Tf(c[c[j>>2]>>2]|0,c[oa>>2]|0);c[oa>>2]=0}c[k>>2]=(c[k>>2]|0)+1}if((qa|0)==13){sA(c[j>>2]|0,44613,1);i=ra;return}else if((qa|0)==92){wA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==161){wA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==241){wA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==268){i=ra;return}}function fg(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=Ch(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){TR(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{wA(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+256|0;h=e+36|0;j=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;dg(g,0,e+40|0,210,0);eg(g,c[j>>2]|0,c[f>>2]|0);f=c[66]|0;d=c[67]|0;a=c[h>>2]|0;b=fg(g)|0;Ub[f&255](d,a,b);i=e;return}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function ig(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[k>>2]=a;c[j>>2]=b;c[e>>2]=c[k>>2];c[f>>2]=c[j>>2];while(1){c[g>>2]=(d[17613+(d[c[e>>2]>>0]|0)>>0]|0)-(d[17613+(d[c[f>>2]>>0]|0)>>0]|0);if(c[g>>2]|0){e=5;break}if(!(d[c[e>>2]>>0]|0)){e=5;break}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}if((e|0)==5){i=h;return c[g>>2]|0}return 0}function jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];SJ(c[f>>2]|0,c[g>>2]|0);a=c[f>>2]|0;if(!(c[h>>2]|0)){lg(a,c[g>>2]|0);i=l;return}if((c[a+244>>2]|0)==0?(g=Zh(c[f>>2]|0)|0,c[(c[f>>2]|0)+244>>2]=g,(g|0)==0):0){i=l;return}c[j>>2]=e;c[k>>2]=ox(c[f>>2]|0,c[h>>2]|0,j)|0;_h(c[(c[f>>2]|0)+244>>2]|0,-1,c[k>>2]|0,1,170);i=l;return}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=$f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}VR(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[d>>2]|0)+52>>2]=c[e>>2];if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+244>>2]|0)==0:0){i=f;return}tN(c[d>>2]|0,c[e>>2]|0);i=f;return}function mg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){a=0;a=a&1;i=d;return a|0}a=(c[b>>2]|0)!=6;a=a&1;i=d;return a|0}function og(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function pg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;l=p+16|0;o=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=0;mg(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?((c[j>>2]|0)!=0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if((c[j>>2]|0)!=0?(e[(c[l>>2]|0)+22>>1]&1|0)!=0:0){c[o>>2]=8;break}c[k>>2]=0;if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[l>>2]|0)+22>>1]&64)){if((c[j>>2]|0)>1){c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break a;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=(c[h>>2]|0))break;c[m>>2]=c[f+12>>2]}c[k>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[k>>2]=c[c[(c[l>>2]|0)+76>>2]>>2];if(c[k>>2]|0){c[o>>2]=262;break}c[o>>2]=WH(c[h>>2]|0,1,1)|0;if(!(c[o>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-9;if(!(c[(c[l>>2]|0)+44>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|8}while(1){if((c[(c[l>>2]|0)+12>>2]|0)==0?(m=qN(c[l>>2]|0)|0,c[o>>2]=m,0==(m|0)):0)continue;do if((c[o>>2]|0)==0&(c[j>>2]|0)!=0){if(e[(c[l>>2]|0)+22>>1]&1){c[o>>2]=8;break}k=c[c[l>>2]>>2]|0;m=(c[j>>2]|0)>1&1;c[o>>2]=rN(k,m,Zq(c[c[h>>2]>>2]|0)|0)|0;if(!(c[o>>2]|0))c[o>>2]=AM(c[l>>2]|0)|0}while(0);if(c[o>>2]|0)RB(c[l>>2]|0);if((c[o>>2]&255|0)!=5)break;if(d[(c[l>>2]|0)+20>>0]|0)break;if(!(dr(c[l>>2]|0)|0))break}if(!(c[o>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(m=(c[l>>2]|0)+40|0,c[m>>2]=(c[m>>2]|0)+1,(a[(c[h>>2]|0)+9>>0]|0)!=0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=(c[j>>2]|0)!=0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[l>>2]|0)+20>>0]|0))a[(c[l>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[j>>2]|0){c[n>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+76>>2]=c[h>>2];m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-33;if((c[j>>2]|0)>1){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|32}m=c[(c[l>>2]|0)+44>>2]|0;if((m|0)!=(gr((c[(c[n>>2]|0)+56>>2]|0)+28|0)|0)?(c[o>>2]=Gg(c[(c[n>>2]|0)+72>>2]|0)|0,(c[o>>2]|0)==0):0)ft((c[(c[n>>2]|0)+56>>2]|0)+28|0,c[(c[l>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[o>>2]|0)==0&(c[j>>2]|0)!=0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=xM(c[c[l>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+432>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function qg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;a=c[(c[e>>2]|0)+4>>2]|0;c[b>>2]=Ci(a,sg(c[(c[e>>2]|0)+24>>2]|0)|0,-1,0)|0;i=d;return c[b>>2]|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);if((c[f>>2]|0)==15){d=pN(c[c[h>>2]>>2]|0)|0;c[c[g>>2]>>2]=d+(c[(c[e>>2]|0)+20>>2]|0);i=j;return}else{d=gr((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=d;i=j;return}}function sg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function tg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function ug(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=JF(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function vg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;k=t+44|0;l=t+40|0;m=t+36|0;n=t+32|0;u=t+28|0;s=t+24|0;r=t+20|0;p=t+16|0;q=t+12|0;o=t+8|0;h=t+4|0;g=t;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[u>>2]=f;c[s>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2]&1;c[o>>2]=0;if((c[m>>2]|0)>>>0<=1&(c[m>>2]|0)==0){c[k>>2]=Qj(51704)|0;u=c[k>>2]|0;i=t;return u|0}do if(c[(c[l>>2]|0)+44>>2]|0){c[s>>2]=c[(c[l>>2]|0)+44>>2];j=24}else{if(((c[o>>2]|0)!=0?(Br(c[l>>2]|0)|0)!=0:0)?(c[s>>2]=Hs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;if((c[o>>2]|0)!=0&(c[p>>2]|0)==0){c[h>>2]=0;e=c[(c[l>>2]|0)+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=aS((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=GL(e,u,C,c[(c[l>>2]|0)+160>>2]|0,h)|0;if((c[s>>2]|0)==0&(c[h>>2]|0)!=0){if(!((d[(c[l>>2]|0)+17>>0]|0|0)<=1?(d[(c[l>>2]|0)+13>>0]|0|0)==0:0))c[r>>2]=hs(c[l>>2]|0,c[m>>2]|0)|0;f=c[l>>2]|0;if(!(c[r>>2]|0))c[s>>2]=mN(f,c[m>>2]|0,c[h>>2]|0,r)|0;else{e=c[f+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=aS((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Ms(e,u,C,c[h>>2]|0)|0}if(c[r>>2]|0){c[c[n>>2]>>2]=c[r>>2];c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}}if(c[s>>2]|0)break}c[g>>2]=ms(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,3)|0;if(!(c[g>>2]|0)){c[s>>2]=nN(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,g)|0;if(c[s>>2]|0)break;if(!(c[g>>2]|0)){c[c[n>>2]>>2]=0;c[r>>2]=0;c[s>>2]=7;break}}j=ns(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;c[c[n>>2]>>2]=j;c[r>>2]=j;j=24}while(0);do if((j|0)==24){if(c[s>>2]|0){c[r>>2]=0;break}f=c[l>>2]|0;if(!((c[q>>2]|0)!=0?1:(c[(c[r>>2]|0)+16>>2]|0)==0)){u=f+192|0;c[u>>2]=(c[u>>2]|0)+1;c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[(c[r>>2]|0)+16>>2]=f;if((c[m>>2]|0)>>>0<=2147483647?(c[m>>2]|0)!=(((c[384]|0)/(c[(c[l>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[c[(c[l>>2]|0)+64>>2]>>2]|0)!=0?!((c[q>>2]|0)!=0?1:(c[(c[l>>2]|0)+28>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){u=(Br(c[l>>2]|0)|0)!=0;if(u&(c[o>>2]|0)==0?(c[s>>2]=Hs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;u=(c[l>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=Is(c[r>>2]|0,c[p>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[m>>2]|0)>>>0>(c[(c[l>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[q>>2]|0){Yj();if((c[m>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)lj(c[(c[l>>2]|0)+60>>2]|0,c[m>>2]|0)|0;St(c[l>>2]|0,c[m>>2]|0)|0;Zj()}VR(c[(c[r>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+160>>2]|0)|0}c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[s>>2]=Qj(51793)|0}while(0);if(c[r>>2]|0)Gs(c[r>>2]|0);Ls(c[l>>2]|0);c[c[n>>2]>>2]=0;c[k>>2]=c[s>>2];u=c[k>>2]|0;i=t;return u|0}function wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function xg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80|0;g=w+68|0;x=w+64|0;h=w+60|0;j=w+56|0;q=w+52|0;p=w+48|0;o=w+44|0;n=w+40|0;l=w+8|0;v=w+36|0;m=w;r=w+32|0;k=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;c[g>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=Pf(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=sg(c[(c[g>>2]|0)+24>>2]|0)|0;c[o>>2]=sg(c[(c[g>>2]|0)+4>>2]|0)|0;c[n>>2]=(c[p>>2]|0)<(c[o>>2]|0)?c[p>>2]|0:c[o>>2]|0;b=c[p>>2]|0;b=aS(c[x>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=l;c[e>>2]=b;c[e+4>>2]=C;c[v>>2]=0;if((c[p>>2]|0)!=(c[o>>2]|0)?(kK(c[q>>2]|0)|0)!=0:0)c[v>>2]=8;x=l;e=c[p>>2]|0;e=QR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C;while(1){if(c[v>>2]|0){g=14;break}e=m;d=c[e+4>>2]|0;x=l;b=c[x+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[e>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){g=14;break}c[r>>2]=0;e=m;x=c[o>>2]|0;x=_R(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[k>>2]=x+1;if((c[k>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=vg(c[q>>2]|0,c[k>>2]|0,r,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Gg(c[r>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(x=m,e=c[p>>2]|0,e=$R(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,c[t>>2]=(c[h>>2]|0)+e,c[s>>2]=wg(c[r>>2]|0)|0,e=m,x=c[o>>2]|0,x=$R(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[u>>2]=(c[s>>2]|0)+x,TR(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0)|0,a[(Ut(c[r>>2]|0)|0)>>0]=0,x=m,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[j>>2]|0)==0):0){x=(c[u>>2]|0)+28|0;ft(x,ug(c[(c[g>>2]|0)+24>>2]|0)|0)}yg(c[r>>2]|0)}e=c[o>>2]|0;x=m;e=RR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C}if((g|0)==14){i=w;return c[v>>2]|0}return 0}function yg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Js(c[b>>2]|0);i=d;return}function zg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Og(Pf(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function Ag(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=AM(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function Bg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];mg(c[m>>2]|0);c[j>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=Gg(c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}ft((c[j>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[k>>2]|0;i=l;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[k>>2]|0;i=l;return m|0}function Cg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)yj(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=(c[b>>2]|0)+24|0;c[e>>2]=c[e>>2]&-3;uu(c[b>>2]|0);MB(c[b>>2]|0);i=f;return}function Dg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[j>>2]|0)==1){f=(c[l>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[m>>2]=pg(c[h>>2]|0,0)|0;do if(!(c[m>>2]|0)){c[k>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+56>>2];if((d[(c[k>>2]|0)+18>>0]|0|0)==(c[j>>2]&255|0)?(d[(c[k>>2]|0)+19>>0]|0|0)==(c[j>>2]&255|0):0)break;c[m>>2]=pg(c[h>>2]|0,2)|0;if((c[m>>2]|0)==0?(c[m>>2]=Gg(c[(c[(c[l>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[m>>2]|0)==0):0){a[(c[k>>2]|0)+18>>0]=c[j>>2];a[(c[k>>2]|0)+19>>0]=c[j>>2]}}while(0);f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=n;return c[m>>2]|0}function Eg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+64>>2]|0}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];i=d;return}function Gg(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;i=g;return f|0}if(((e[(c[b>>2]|0)+24>>1]|0)&4|0)!=0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=wt(c[b>>2]|0)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}b=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=gN(b)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=hN(b)|0;f=c[d>>2]|0;i=g;return f|0}return 0}function Hg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[(c[h>>2]|0)+44>>2];o=c[g>>2]|0;i=p;return o|0}if(Bi(400)|0){c[g>>2]=10;o=c[g>>2]|0;i=p;return o|0}if((d[(c[h>>2]|0)+17>>0]|0|0)<3){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}e=0==(yr(c[h>>2]|0,1)|0);f=c[h>>2]|0;do if(!e){e=(Br(f)|0)!=0;f=c[h>>2]|0;if(e){c[m>>2]=As(c[f+212>>2]|0)|0;c[n>>2]=0;if(!(c[m>>2]|0)){c[o>>2]=vg(c[h>>2]|0,1,n,0)|0;c[m>>2]=c[n>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[o>>2]=xt(c[h>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+28>>2]|0,1)|0;yg(c[n>>2]|0);if(c[o>>2]|0)break;zr(c[(c[h>>2]|0)+212>>2]|0);break}c[o>>2]=eN(f,0)|0;if((((c[o>>2]|0)==0?(c[o>>2]=fN(c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)==0):0)?(c[o>>2]=yt(c[h>>2]|0,0)|0,(c[o>>2]|0)==0):0)?(n=c[h>>2]|0,c[o>>2]=zt(n,As(c[(c[h>>2]|0)+212>>2]|0)|0)|0,(c[o>>2]|0)==0):0){zr(c[(c[h>>2]|0)+212>>2]|0);if((c[(c[h>>2]|0)+28>>2]|0)>>>0>(c[(c[h>>2]|0)+36>>2]|0)>>>0){c[l>>2]=(c[(c[h>>2]|0)+28>>2]|0)-((c[(c[h>>2]|0)+28>>2]|0)==(((c[384]|0)/(c[(c[h>>2]|0)+160>>2]|0)|0)+1|0)&1);c[o>>2]=Dr(c[h>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[o>>2]=Kg(c[h>>2]|0,c[j>>2]|0)|0}}else dj(c[f+96>>2]|0);while(0);if((c[o>>2]|0)==0?(Br(c[h>>2]|0)|0)==0:0)a[(c[h>>2]|0)+17>>0]=5;c[g>>2]=c[o>>2];o=c[g>>2]|0;i=p;return o|0}function Ig(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+12>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+20|0;f=j+8|0;g=j;h=j+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Xi(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}b=c[g+4>>2]|0;a=f;d=c[a+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){h=c[h>>2]|0;i=j;return h|0}a=f;c[h>>2]=ur(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function Kg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[h>>2]=c[g>>2];e=Ai(c[(c[f>>2]|0)+64>>2]|0,21,c[h>>2]|0)|0;c[j>>2]=e;c[j>>2]=(c[j>>2]|0)==12?0:e}if(c[j>>2]|0){e=c[j>>2]|0;i=k;return e|0}if(a[(c[f>>2]|0)+7>>0]|0){e=c[j>>2]|0;i=k;return e|0}c[j>>2]=vr(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;e=c[j>>2]|0;i=k;return e|0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];i=d;return}function Mg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}mg(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=dN(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[h>>2]|0)==0)){k=(c[g>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;_M(c[j>>2]|0);break}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}while(0);$M(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Ng(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[k>>2]=cN(c[j>>2]|0)|0,(c[k>>2]|0)!=0):0){c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}if(a[(c[j>>2]|0)+19>>0]|0)Lg(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[k>>2]=Hg(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}function Og(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+96|0}function Pg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;p=q+4|0;k=q;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(!(c[h>>2]|0)){f=XH(c[l>>2]|0,0,0)|0;c[h>>2]=f;c[n>>2]=f;if(c[n>>2]|0)c[j>>2]=0}else c[n>>2]=0;if((c[h>>2]|0)!=0?(c[o>>2]=WI(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)!=0):0)c[n>>2]=c[o>>2];if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){f=c[g>>2]|0;$M(f);f=c[n>>2]|0;i=q;return f|0}c[p>>2]=qr(c[c[l>>2]>>2]|0)|0;if(c[p>>2]|0)c[n>>2]=c[p>>2];if(!(XF(c[l>>2]|0,1,m,0)|0)){c[k>>2]=gr((c[(c[m>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[k>>2]|0))Fg(c[c[l>>2]>>2]|0,k);c[(c[l>>2]|0)+44>>2]=c[k>>2];QB(c[m>>2]|0)}a[(c[l>>2]|0)+20>>0]=1;_M(c[l>>2]|0);f=c[g>>2]|0;$M(f);f=c[n>>2]|0;i=q;return f|0}function Qg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[d>>2]=b;if((c[(c[d>>2]|0)+84>>2]|0)!=1691352191){i=m;return}if(pu(c[d>>2]|0)|0){i=m;return}YI(c[d>>2]|0,0);ZI(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(LB(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[j>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[j>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0)yj(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);uu(c[d>>2]|0);MB(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+348+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];do{mu(c[d>>2]|0,c[g>>2]|0);c[l>>2]=c[(c[g>>2]|0)+8>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[l>>2]}while((c[g>>2]|0)!=0);c[e>>2]=c[c[e>>2]>>2]}Aj((c[d>>2]|0)+348|0);c[e>>2]=c[(c[d>>2]|0)+364+8>>2];while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)Qb[c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[h>>2]|0);c[e>>2]=c[c[e>>2]>>2]}Aj((c[d>>2]|0)+364|0);c[e>>2]=c[(c[d>>2]|0)+320+8>>2];while(1){if(!(c[e>>2]|0))break;c[k>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);kI(c[d>>2]|0,c[k>>2]|0);Tf(c[d>>2]|0,c[k>>2]|0);c[e>>2]=c[c[e>>2]>>2]}Aj((c[d>>2]|0)+320|0);lg(c[d>>2]|0,0);ch(c[(c[d>>2]|0)+244>>2]|0);c[(c[d>>2]|0)+84>>2]=-1254786768;Tf(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+84>>2]=-1623446221;if(a[(c[d>>2]|0)+256+6>>0]|0)Kd(c[(c[d>>2]|0)+256+32>>2]|0);Kd(c[d>>2]|0);i=m;return}function Rg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){Rd(21,44004,d);c[b>>2]=1;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=d;return e|0}return 0}function Sg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;j=h+8|0;g=h;c[e>>2]=a;c[f>>2]=b;qI(c[c[e>>2]>>2]|0,j)|0;b=j;a=(c[f>>2]|0)+128|0;a=QR(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=aS(a|0,C|0,1e6,0)|0;b=g;c[b>>2]=a;c[b+4>>2]=C;if(c[(c[e>>2]|0)+192>>2]|0){j=g;_b[c[(c[e>>2]|0)+192>>2]&255](c[(c[e>>2]|0)+196>>2]|0,c[(c[f>>2]|0)+176>>2]|0,c[j>>2]|0,c[j+4>>2]|0)}if(!((d[(c[e>>2]|0)+76>>0]|0)&2)){j=c[f>>2]|0;j=j+128|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;i=h;return}Wb[c[(c[e>>2]|0)+184>>2]&255](2,c[(c[e>>2]|0)+188>>2]|0,c[f>>2]|0,g)|0;j=c[f>>2]|0;j=j+128|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;i=h;return}function Tg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+20>>2]|0)!=770837923?(c[(c[b>>2]|0)+20>>2]|0)!=832317811:0))c[d>>2]=Vg(c[b>>2]|0)|0;cv(c[b>>2]|0);i=e;return c[d>>2]|0}function Ug(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+69>>0]|0|0)!=0){c[e>>2]=ZM(c[f>>2]|0)|0;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];b=c[e>>2]|0;i=h;return b|0}return 0}function Vg(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;d=h+8|0;f=h+4|0;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];BI(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+36>>2]|0)>=0){uI(a)|0;Tf(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;if((e[(c[d>>2]|0)+144>>1]|0)>>>5&1){g=(c[d>>2]|0)+144|0;b[g>>1]=b[g>>1]&-2|1}}else if((c[a+40>>2]|0)!=0?(b[(c[d>>2]|0)+144>>1]&1|0)!=0:0){k=c[f>>2]|0;j=c[(c[d>>2]|0)+40>>2]|0;a=(c[(c[d>>2]|0)+108>>2]|0)!=0?18391:0;c[g>>2]=c[(c[d>>2]|0)+108>>2];jg(k,j,a,g);Tf(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0}YM(c[d>>2]|0);k=(c[d>>2]|0)+56|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[d>>2]|0)+20>>2]=1224384374;i=h;return c[(c[d>>2]|0)+40>>2]&c[(c[f>>2]|0)+56>>2]|0}function Wg(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=770837923;c[(c[e>>2]|0)+36>>2]=-1;c[(c[e>>2]|0)+40>>2]=0;a[(c[e>>2]|0)+142>>0]=2;c[(c[e>>2]|0)+44>>2]=0;c[(c[e>>2]|0)+32>>2]=1;a[(c[e>>2]|0)+143>>0]=-1;c[(c[e>>2]|0)+48>>2]=0;b=(c[e>>2]|0)+64|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){i=d;return}XM(c[b>>2]|0);i=d;return}function Yg(a){a=a|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;h=g;c[f>>2]=a;a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)<=0?1:a;if(Ox(c[f>>2]|0,c[h>>2]|0,1)|0){c[d>>2]=7;h=c[d>>2]|0;i=g;return h|0}else{VR((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;h=(c[f>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);h=(c[f>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-16897;c[d>>2]=0;h=c[d>>2]|0;i=g;return h|0}return 0}function Zg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[h>>2]=b;a[j>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[j>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=WM(c[h>>2]|0,a[j>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=k;return c[g>>2]|0}function _g(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;g=l+4|0;h=l+12|0;k=l;c[g>>2]=b;a[h>>0]=f;c[k>>2]=c[g>>2];if(((e[(c[k>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[j>>2]=c[(c[k>>2]|0)+12>>2];k=c[j>>2]|0;i=l;return k|0}b=e[(c[k>>2]|0)+8>>1]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){f=c[(c[k>>2]|0)+12>>2]|0;if(b&16384){c[j>>2]=f+(c[c[k>>2]>>2]|0);k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=f;k=c[j>>2]|0;i=l;return k|0}}else if(b&1){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=VM(c[g>>2]|0,a[h>>0]|0)|0;k=c[j>>2]|0;i=l;return k|0}return 0}function $g(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+32|0;f=k+8|0;g=k+16|0;j=k;c[g>>2]=b;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[d>>3];l=+h[f>>3];i=k;return +l}b=c[g>>2]|0;if((e[d+8>>1]|0)&4){j=b;h[f>>3]=+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0);l=+h[f>>3];i=k;return +l}if((e[b+8>>1]|0)&18){h[j>>3]=0.0;ez(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[j>>3];l=+h[f>>3];i=k;return +l}else{h[f>>3]=0.0;l=+h[f>>3];i=k;return +l}return 0.0}function ah(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;d=k+8|0;f=k+20|0;g=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4)){if(c[g>>2]&8){b=Kx(+h[c[f>>2]>>3])|0;j=d;c[j>>2]=b;c[j+4>>2]=C;break}if(c[g>>2]&18){g=j;c[g>>2]=0;c[g+4>>2]=0;Mi(c[(c[f>>2]|0)+16>>2]|0,j,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;g=j;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b;break}else{j=d;c[j>>2]=0;c[j+4>>2]=0;break}}else{g=c[f>>2]|0;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b}while(0);j=d;C=c[j+4>>2]|0;i=k;return c[j>>2]|0}function bh(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;do if((e[(c[g>>2]|0)+8>>1]|0)&18){if(((e[(c[g>>2]|0)+8>>1]|0)&16384|0)!=0?(Yg(c[g>>2]|0)|0)!=0:0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(Ox(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}while(0);d=(c[g>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-4097;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}function ch(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Xg(c[b>>2]|0);Tf(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);i=d;return}function dh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+12|0;n=j+8|0;m=j+4|0;l=j+16|0;k=j;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((gh(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=j;return}re(c[h>>2]|0);i=j;return}function eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))Qb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){i=h;return 18}re(c[g>>2]|0);i=h;return 18}function fh(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;ih(c[e>>2]|0);if(qG(+h[f>>3])|0){i=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;i=g;return}function gh(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;n=u+28|0;o=u+24|0;l=u+20|0;v=u+16|0;p=u+34|0;q=u+12|0;t=u+8|0;s=u+4|0;r=u+32|0;m=u;c[o>>2]=f;c[l>>2]=g;c[v>>2]=h;a[p>>0]=j;c[q>>2]=k;c[t>>2]=c[v>>2];b[r>>1]=0;j=c[o>>2]|0;if(!(c[l>>2]|0)){ih(j);c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}if(c[j+32>>2]|0)c[s>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+96>>2];else c[s>>2]=1e9;b[r>>1]=(d[p>>0]|0)==0?16:2;if((c[t>>2]|0)<0){a:do if((d[p>>0]|0)==1){c[t>>2]=Jf(c[l>>2]|0)|0;if((c[t>>2]|0)>(c[s>>2]|0))c[t>>2]=(c[s>>2]|0)+1}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[s>>2]|0))break a;if(!(a[(c[l>>2]|0)+(c[t>>2]|0)>>0]|a[(c[l>>2]|0)+((c[t>>2]|0)+1)>>0]))break a;c[t>>2]=(c[t>>2]|0)+2}}while(0);b[r>>1]=e[r>>1]|512}do if((c[q>>2]|0)!=(-1|0)){v=(c[q>>2]|0)==170;Xg(c[o>>2]|0);j=c[l>>2]|0;c[(c[o>>2]|0)+16>>2]=j;if(v){c[(c[o>>2]|0)+20>>2]=j;v=ku(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=v;break}else{c[(c[o>>2]|0)+36>>2]=c[q>>2];b[r>>1]=e[r>>1]|((c[q>>2]|0)==0?2048:1024);break}}else{c[m>>2]=c[t>>2];if(e[r>>1]&512)c[m>>2]=(c[m>>2]|0)+((d[p>>0]|0)==1?1:2);if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}if(!(Nx(c[o>>2]|0,(c[m>>2]|0)>32?c[m>>2]|0:32)|0)){TR(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;break}c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}while(0);c[(c[o>>2]|0)+12>>2]=c[t>>2];b[(c[o>>2]|0)+8>>1]=b[r>>1]|0;a[(c[o>>2]|0)+10>>0]=(d[p>>0]|0)==0?1:d[p>>0]|0;if((d[(c[o>>2]|0)+10>>0]|0)!=1?(UM(c[o>>2]|0)|0)!=0:0){c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}else{c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}return 0}function hh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312){a=h;TM(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=j;return}else{f=h;h=c[f+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=h;b[(c[g>>2]|0)+8>>1]=4;i=j;return}}function ih(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){mG(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function jh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312)mG(c[f>>2]|0);a=c[f>>2]|0;d=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;i=j;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;i=j;return h|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[h>>2]=bh(c[f>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function kh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Xg(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;i=h;return}function lh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=43378;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?(c[6240+(c[b>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[6240+(c[b>>2]<<2)>>2]}else c[d>>2]=43392;i=e;return c[d>>2]|0}function mh(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+69>>0]|0){i=f;return}if(d[(c[e>>2]|0)+70>>0]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=1;if((c[(c[e>>2]|0)+168>>2]|0)>0)c[(c[e>>2]|0)+248>>2]=1;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=f;return}function nh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){Rd(21,43338,e);c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=Rg(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function oh(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[h>>2]=f;if((c[(c[h>>2]|0)+20>>2]|0)!=770837923)Yd(c[h>>2]|0)|0;c[j>>2]=c[c[h>>2]>>2];f=c[h>>2]|0;if(a[(c[j>>2]|0)+69>>0]|0){c[f+40>>2]=7;c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}if((c[f+36>>2]|0)<=0?(b[(c[h>>2]|0)+144>>1]&1|0)!=0:0){c[(c[h>>2]|0)+40>>2]=17;c[k>>2]=1}else{if((c[(c[h>>2]|0)+36>>2]|0)<0){if(!(c[(c[j>>2]|0)+156>>2]|0))c[(c[j>>2]|0)+248>>2]=0;if(!((c[(c[j>>2]|0)+192>>2]|0)==0?(d[(c[j>>2]|0)+76>>0]&2|0)==0:0))l=13;if(((l|0)==13?(a[(c[j>>2]|0)+148+5>>0]|0)==0:0)?(c[(c[h>>2]|0)+176>>2]|0)!=0:0)qI(c[c[j>>2]>>2]|0,(c[h>>2]|0)+128|0)|0;l=(c[j>>2]|0)+156|0;c[l>>2]=(c[l>>2]|0)+1;if(!((e[(c[h>>2]|0)+144>>1]|0)>>>7&1)){l=(c[j>>2]|0)+164|0;c[l>>2]=(c[l>>2]|0)+1}if((e[(c[h>>2]|0)+144>>1]|0)>>>8&1){l=(c[j>>2]|0)+160|0;c[l>>2]=(c[l>>2]|0)+1}c[(c[h>>2]|0)+36>>2]=0}if((e[(c[h>>2]|0)+144>>1]|0)>>>2&3)c[k>>2]=rI(c[h>>2]|0)|0;else{l=(c[j>>2]|0)+168|0;c[l>>2]=(c[l>>2]|0)+1;c[k>>2]=sI(c[h>>2]|0)|0;l=(c[j>>2]|0)+168|0;c[l>>2]=(c[l>>2]|0)+-1}if((c[k>>2]|0)!=100?(l=(c[h>>2]|0)+128|0,f=c[l+4>>2]|0,(f|0)>0|(f|0)==0&(c[l>>2]|0)>>>0>0):0)Sg(c[j>>2]|0,c[h>>2]|0);if((c[k>>2]|0)==101?(l=tI(c[j>>2]|0)|0,c[(c[h>>2]|0)+40>>2]=l,(c[(c[h>>2]|0)+40>>2]|0)!=0):0)c[k>>2]=1;c[(c[j>>2]|0)+52>>2]=c[k>>2];if(7==(Ug(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+40>>2]|0)|0))c[(c[h>>2]|0)+40>>2]=7}if(((c[k>>2]|0)!=100?((e[(c[h>>2]|0)+144>>1]|0)>>>9&1|0)!=0:0)&(c[k>>2]|0)!=101)c[k>>2]=uI(c[h>>2]|0)|0;c[g>>2]=c[k>>2]&c[(c[j>>2]|0)+56>>2];l=c[g>>2]|0;i=m;return l|0}function ph(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;b=h+20|0;d=h+16|0;g=h+12|0;f=h+8|0;j=h+4|0;e=h;c[d>>2]=a;c[j>>2]=Se(c[d>>2]|0)|0;c[e>>2]=QA(c[d>>2]|0)|0;c[g>>2]=Vh(c[e>>2]|0,c[j>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[g>>2]|0)){oI(c[f>>2]|0,c[d>>2]|0);zh(c[f>>2]|0,c[d>>2]|0)|0;pI(c[f>>2]|0);Tg(c[f>>2]|0)|0;c[b>>2]=0;j=c[b>>2]|0;i=h;return j|0}if((c[g>>2]|0)==7)mh(c[e>>2]|0);c[b>>2]=c[g>>2];j=c[b>>2]|0;i=h;return j|0}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=(Jf(c[f>>2]|0)|0)+1;b=c[g>>2]|0;c[h>>2]=Ch(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[h>>2]|0)TR(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=c[h>>2];h=c[d>>2]|0;i=j;return h|0}function rh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];d=c[g>>2]|0;if((c[f>>2]|0)>0){Nx(d,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)VR(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{ih(d);c[(c[g>>2]|0)+16>>2]=0}i=h;return c[(c[g>>2]|0)+16>>2]|0}function sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;c[f>>2]=Ch(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}VR(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function th(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;c[h>>2]=c[k>>2];if(!(c[h>>2]|0)){c[d>>2]=nI()|0;k=c[d>>2]|0;i=j;return k|0}if((c[(c[h>>2]|0)+104>>2]|0)!=0?((c[f>>2]|0)>=0?(c[f>>2]|0)<(e[(c[h>>2]|0)+140>>1]|0|0):0):0)c[g>>2]=(c[(c[h>>2]|0)+104>>2]|0)+((c[f>>2]|0)*40|0);else{lg(c[c[h>>2]>>2]|0,25);c[g>>2]=nI()|0}c[d>>2]=c[g>>2];k=c[d>>2]|0;i=j;return k|0}function uh(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){i=d;return}e=Ug(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+40>>2]|0)|0;c[(c[b>>2]|0)+40>>2]=e;i=d;return}function vh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;m=o+8|0;l=o+4|0;k=o;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[p>>2];c[k>>2]=c[c[m>>2]>>2];c[l>>2]=xe(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[n>>2]|0;i=o;return p|0}p=_(c[j>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[n>>2]=Tb[c[h>>2]&255]((c[(c[m>>2]|0)+100>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[k>>2]|0)+69>>0]|0)){p=c[n>>2]|0;i=o;return p|0}pi(c[k>>2]|0);c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}function wh(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+32|0;p=s+8|0;q=s+4|0;r=s;c[t>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;c[p>>2]=c[t>>2];c[r>>2]=xh(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){if(!((c[n>>2]|0)!=0&(c[n>>2]|0)!=(-1|0))){t=c[r>>2]|0;i=s;return t|0}Qb[c[n>>2]&255](c[l>>2]|0);t=c[r>>2]|0;i=s;return t|0}if(!(c[l>>2]|0)){t=c[r>>2]|0;i=s;return t|0}c[q>>2]=(c[(c[p>>2]|0)+116>>2]|0)+(((c[k>>2]|0)-1|0)*40|0);c[r>>2]=gh(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0)|0;if((c[r>>2]|0)==0?(d[o>>0]|0|0)!=0:0)c[r>>2]=iu(c[q>>2]|0,d[(c[c[p>>2]>>2]|0)+66>>0]|0)|0;lg(c[c[p>>2]>>2]|0,c[r>>2]|0);c[r>>2]=Ug(c[c[p>>2]>>2]|0,c[r>>2]|0)|0;t=c[r>>2]|0;i=s;return t|0}function xh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;c[g>>2]=a;c[h>>2]=d;if(nh(c[g>>2]|0)|0){c[f>>2]=Lf(76348)|0;l=c[f>>2]|0;i=m;return l|0}if((c[(c[g>>2]|0)+20>>2]|0)==770837923?(c[(c[g>>2]|0)+36>>2]|0)<0:0){if((c[h>>2]|0)>=1?(c[h>>2]|0)<=(b[(c[g>>2]|0)+16>>1]|0):0){c[h>>2]=(c[h>>2]|0)+-1;c[j>>2]=(c[(c[g>>2]|0)+116>>2]|0)+((c[h>>2]|0)*40|0);Xg(c[j>>2]|0);b[(c[j>>2]|0)+8>>1]=1;lg(c[c[g>>2]>>2]|0,0);do if((e[(c[g>>2]|0)+144>>1]|0)>>>9&1){if(!((c[h>>2]|0)<32?(c[(c[g>>2]|0)+196>>2]&1<>2]|0)!=0:0))l=12;if((l|0)==12?(c[(c[g>>2]|0)+196>>2]|0)!=-1:0)break;l=(c[g>>2]|0)+144|0;b[l>>1]=b[l>>1]&-2|1}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}lg(c[c[g>>2]>>2]|0,25);c[f>>2]=25;l=c[f>>2]|0;i=m;return l|0}lg(c[c[g>>2]>>2]|0,21);c[k>>2]=c[(c[g>>2]|0)+176>>2];Rd(21,39833,k);c[f>>2]=Lf(76356)|0;l=c[f>>2]|0;i=m;return l|0}function yh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}a:do if(c[j>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+18>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+120>>2]|0)+(c[l>>2]<<2)>>2];if(((c[m>>2]|0)!=0?(lR(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=(c[l>>2]|0)+1;e=c[g>>2]|0;i=n;return e|0}while(0);c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}function zh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[j>>2]=d;c[f>>2]=c[k>>2];c[g>>2]=c[j>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[f>>2]|0)+16>>1]|0))break;mI((c[(c[g>>2]|0)+116>>2]|0)+((c[e>>2]|0)*40|0)|0,(c[(c[f>>2]|0)+116>>2]|0)+((c[e>>2]|0)*40|0)|0);c[e>>2]=(c[e>>2]|0)+1}i=h;return 0}function Ah(f,g){f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+256|0;A=D+72|0;C=D+64|0;B=D+56|0;z=D+48|0;y=D+40|0;k=D+148|0;l=D+144|0;m=D+140|0;p=D+136|0;u=D+132|0;q=D+128|0;t=D+124|0;o=D+120|0;w=D+116|0;v=D+88|0;x=D;j=D+84|0;r=D+80|0;n=D+152|0;s=D+76|0;c[k>>2]=f;c[l>>2]=g;c[p>>2]=0;c[u>>2]=1;c[m>>2]=c[c[k>>2]>>2];dg(v,0,D+156|0,100,c[(c[m>>2]|0)+96>>2]|0);a:do if((c[(c[m>>2]|0)+168>>2]|0)>1)while(1){if(!(a[c[l>>2]>>0]|0))break a;c[j>>2]=c[l>>2];do{C=c[l>>2]|0;c[l>>2]=C+1;if((a[C>>0]|0)==10)break}while((a[c[l>>2]>>0]|0)!=0);sA(v,39799,3);sA(v,c[j>>2]|0,(c[l>>2]|0)-(c[j>>2]|0)|0)}else{if(!(b[(c[k>>2]|0)+16>>1]|0)){C=c[l>>2]|0;sA(v,C,Jf(c[l>>2]|0)|0);break}while(1){if(!(a[c[l>>2]>>0]|0))break a;c[q>>2]=lI(c[l>>2]|0,t)|0;sA(v,c[l>>2]|0,c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);if(!(c[t>>2]|0))break a;do if((a[c[l>>2]>>0]|0)==63)if((c[t>>2]|0)>1){Qi((c[l>>2]|0)+1|0,p)|0;break}else{c[p>>2]=c[u>>2];break}else c[p>>2]=yh(c[k>>2]|0,c[l>>2]|0,c[t>>2]|0)|0;while(0);c[l>>2]=(c[l>>2]|0)+(c[t>>2]|0);c[u>>2]=(c[p>>2]|0)+1;c[w>>2]=(c[(c[k>>2]|0)+116>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);if(e[(c[w>>2]|0)+8>>1]&1){sA(v,39691,4);continue}g=c[w>>2]|0;if(e[(c[w>>2]|0)+8>>1]&4){f=g;g=c[f+4>>2]|0;j=y;c[j>>2]=c[f>>2];c[j+4>>2]=g;rA(v,28266,y);continue}f=c[w>>2]|0;if(e[g+8>>1]&8){h[z>>3]=+h[f>>3];rA(v,28271,z);continue}if(e[f+8>>1]&2){a[n>>0]=a[(c[m>>2]|0)+66>>0]|0;if((d[n>>0]|0)!=1){f=x;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[x+32>>2]=c[m>>2];gh(x,c[(c[w>>2]|0)+16>>2]|0,c[(c[w>>2]|0)+12>>2]|0,a[n>>0]|0,0)|0;if(7==(iu(x,1)|0)){a[v+24>>0]=1;c[v+16>>2]=0}c[w>>2]=x}c[r>>2]=c[(c[w>>2]|0)+12>>2];j=c[(c[w>>2]|0)+16>>2]|0;c[B>>2]=c[r>>2];c[B+4>>2]=j;rA(v,39803,B);if((d[n>>0]|0)==1)continue;Xg(x);continue}else{if(e[(c[w>>2]|0)+8>>1]&16384){c[C>>2]=c[c[w>>2]>>2];rA(v,39810,C);continue}sA(v,39823,2);c[s>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[A>>2]=a[(c[(c[w>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]&255;rA(v,39826,A);c[o>>2]=(c[o>>2]|0)+1}sA(v,39831,1);continue}}}while(0);if(!(a[v+24>>0]|0)){C=fg(v)|0;i=D;return C|0}xA(v);C=fg(v)|0;i=D;return C|0}function Bh(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;j=n+16|0;m=n+8|0;l=n;k=n+24|0;c[g>>2]=d;c[j>>2]=f;a[k>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(ez(c[(c[g>>2]|0)+16>>2]|0,m,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){i=n;return}if(!(Mi(c[(c[g>>2]|0)+16>>2]|0,l,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){d=c[l+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;i=n;return}h[c[g>>2]>>3]=+h[m>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[j>>2]|0)){i=n;return}Jx(c[g>>2]|0);i=n;return}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=Vw(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;i=j;return h|0}else{a=g;c[h>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Dh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+16|0;p=r;k=r+52|0;l=r+48|0;g=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;j=r+28|0;h=r+24|0;c[l>>2]=b;c[g>>2]=d;c[m>>2]=e;c[n>>2]=f;if(Kz(c[l>>2]|0)|0){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}c[o>>2]=ti(c[c[l>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=(c[g>>2]&1|0)!=0?39772:39785;if(((ni(c[c[l>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[h>>2]=sj((c[c[l>>2]>>2]|0)+320|0,c[m>>2]|0)|0,(c[h>>2]|0)!=0):0)?(jI(c[l>>2]|0,c[h>>2]|0)|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];q=c[k>>2]|0;i=r;return q|0}if(!(c[g>>2]&2)){d=c[l>>2]|0;g=c[j>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=g;c[p+4>>2]=n;c[p+8>>2]=q;Eh(d,30029,p)}else{p=c[m>>2]|0;c[q>>2]=g;c[q+4>>2]=p;Eh(d,30039,q)}a[(c[l>>2]|0)+17>>0]=1}}c[k>>2]=c[o>>2];q=c[k>>2]|0;i=r;return q|0}function Eh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;f=j+32|0;l=j+28|0;h=j+24|0;k=j+8|0;g=j;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];c[k>>2]=e;c[h>>2]=ox(c[g>>2]|0,c[l>>2]|0,k)|0;if(a[(c[g>>2]|0)+73>>0]|0){Tf(c[g>>2]|0,c[h>>2]|0);i=j;return}else{l=(c[f>>2]|0)+36|0;c[l>>2]=(c[l>>2]|0)+1;Tf(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=1;i=j;return}}function Fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){d=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){f=c[f>>2]|0;i=g;return f|0}return 0}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=ox(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function Hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=c[c[e>>2]>>2];c[g>>2]=Vw(c[f>>2]|0,208,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+88|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[g>>2]>>2]=c[f>>2];if(c[(c[f>>2]|0)+4>>2]|0)c[(c[(c[f>>2]|0)+4>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+8>>2]=c[(c[f>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+20>>2]=381479589;c[(c[g>>2]|0)+12>>2]=c[e>>2];c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Ih(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+24|0;p=j+20|0;o=j+16|0;n=j+12|0;m=j+8|0;k=j+4|0;h=j;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=jx(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Mh(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function Jh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if((c[(c[e>>2]|0)+136>>2]|0)<=0){i=g;return}a[(c[(c[e>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+136>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=g;return}function Kh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+8|0;o=p+4|0;n=p;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[p+12>>2]=g;if(((c[(c[j>>2]|0)+136>>2]|0)+(c[k>>2]|0)|0)>(c[(c[(c[j>>2]|0)+12>>2]|0)+48>>2]|0)?(lx(c[j>>2]|0,c[k>>2]|0)|0)!=0:0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}b=(c[(c[j>>2]|0)+88>>2]|0)+((c[(c[j>>2]|0)+136>>2]|0)*20|0)|0;c[o>>2]=b;c[n>>2]=b;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;a[c[o>>2]>>0]=a[c[l>>2]>>0]|0;c[(c[o>>2]|0)+4>>2]=a[(c[l>>2]|0)+1>>0];c[(c[o>>2]|0)+8>>2]=a[(c[l>>2]|0)+2>>0];if((d[34898+(d[c[l>>2]>>0]|0)>>0]&1|0)!=0?(a[(c[l>>2]|0)+2>>0]|0)>0:0){b=(c[o>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[j>>2]|0)+136>>2]|0)}c[(c[o>>2]|0)+12>>2]=a[(c[l>>2]|0)+3>>0];a[(c[o>>2]|0)+1>>0]=0;c[(c[o>>2]|0)+16>>2]=0;a[(c[o>>2]|0)+3>>0]=0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+4;c[o>>2]=(c[o>>2]|0)+20}o=(c[j>>2]|0)+136|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=(c[d>>2]|0)+148|0;c[a>>2]=c[a>>2]|1<>2];if((c[e>>2]|0)==1){i=f;return}if(!(iI(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){i=f;return}a=(c[d>>2]|0)+152|0;c[a>>2]=c[a>>2]|1<>2];i=f;return}function Mh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+69>>0]|0){if((c[l>>2]|0)==-10){i=n;return}IA(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0);i=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+136>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+88>>2]|0)+((c[h>>2]|0)*20|0);if((c[l>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){g=c[k>>2]|0;if((c[l>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=g;a[(c[m>>2]|0)+1>>0]=-14;i=n;return}if(!g){i=n;return}c[(c[m>>2]|0)+16>>2]=c[k>>2];a[(c[m>>2]|0)+1>>0]=c[l>>2];if((c[l>>2]|0)!=-10){i=n;return}hI(c[k>>2]|0);i=n;return}gI(c[g>>2]|0,c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);i=n;return}function Nh(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;k=q+32|0;o=q+28|0;n=q+24|0;m=q+20|0;l=q+16|0;g=q+12|0;p=q;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];c[o>>2]=b[(c[j>>2]|0)+400>>1];c[n>>2]=c[(c[j>>2]|0)+44>>2];c[m>>2]=c[(c[j>>2]|0)+40>>2];c[l>>2]=c[(c[j>>2]|0)+108>>2];c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);if((c[m>>2]|0)==0&(c[n>>2]|0)>0)c[n>>2]=(c[n>>2]|0)+1;c[g>>2]=((c[(c[h>>2]|0)+136>>2]|0)*20|0)+7&-8;c[p>>2]=(c[(c[h>>2]|0)+88>>2]|0)+(c[g>>2]|0);c[p+4>>2]=(c[(c[j>>2]|0)+52>>2]|0)-(c[g>>2]|0)&-8;AF(c[h>>2]|0,l);if(d[(c[j>>2]|0)+20>>0]|0)g=(d[(c[j>>2]|0)+21>>0]|0)!=0;else g=0;f=(c[h>>2]|0)+144|0;b[f>>1]=b[f>>1]&-65|(g&1)<<6&65535;if((c[n>>2]|0)<10?(d[(c[j>>2]|0)+409>>0]|0)!=0:0)c[n>>2]=10;f=(c[h>>2]|0)+144|0;b[f>>1]=b[f>>1]&-2;do{c[p+8>>2]=0;f=fI(p,c[(c[h>>2]|0)+92>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[h>>2]|0)+92>>2]=f;f=fI(p,c[(c[h>>2]|0)+116>>2]|0,(c[o>>2]|0)*40|0)|0;c[(c[h>>2]|0)+116>>2]=f;f=fI(p,c[(c[h>>2]|0)+96>>2]|0,c[l>>2]<<2)|0;c[(c[h>>2]|0)+96>>2]=f;f=fI(p,c[(c[h>>2]|0)+112>>2]|0,c[m>>2]<<2)|0;c[(c[h>>2]|0)+112>>2]=f;if(!(c[p+8>>2]|0))break;f=c[p+8>>2]|0;f=Vw(c[k>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+180>>2]=f;c[p>>2]=f;c[p+4>>2]=c[p+8>>2]}while((a[(c[k>>2]|0)+69>>0]|0)!=0^1);b[(c[h>>2]|0)+18>>1]=c[(c[j>>2]|0)+404>>2];c[(c[h>>2]|0)+120>>2]=c[(c[j>>2]|0)+428>>2];c[(c[j>>2]|0)+404>>2]=0;c[(c[j>>2]|0)+428>>2]=0;p=(c[h>>2]|0)+144|0;b[p>>1]=b[p>>1]&-13|(d[(c[j>>2]|0)+409>>0]&3)<<2&65535;if(a[(c[k>>2]|0)+69>>0]|0){b[(c[h>>2]|0)+16>>1]=0;c[(c[h>>2]|0)+28>>2]=0;c[(c[h>>2]|0)+24>>2]=0;p=c[h>>2]|0;Wg(p);i=q;return}else{c[(c[h>>2]|0)+28>>2]=c[m>>2];b[(c[h>>2]|0)+16>>1]=c[o>>2];PC(c[(c[h>>2]|0)+116>>2]|0,c[o>>2]|0,c[k>>2]|0,1);c[(c[h>>2]|0)+24>>2]=c[n>>2];PC(c[(c[h>>2]|0)+92>>2]|0,c[n>>2]|0,c[k>>2]|0,128);VR(c[(c[h>>2]|0)+112>>2]|0,0,c[m>>2]<<2|0)|0;p=c[h>>2]|0;Wg(p);i=q;return}}function Oh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;q=s+24|0;p=s+16|0;k=s+8|0;l=s+52|0;m=s;n=s+48|0;o=s+44|0;r=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[r>>2]=0;c[g>>2]=c[(c[l>>2]|0)+20>>2];e=m;a=c[e+4>>2]|0;f=c[(c[g>>2]|0)+116>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=a;c[o>>2]=te(c[(c[l>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[h>>2]=c[c[(c[g>>2]|0)+112>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+80+(c[(c[l>>2]|0)+12>>2]<<2)>>2];d=c[l>>2]|0;if((c[j>>2]|0)>>>0>=12){c[(c[l>>2]|0)+8>>2]=c[(c[h>>2]|0)+80+((c[d+12>>2]|0)+(b[(c[h>>2]|0)+12>>1]|0)<<2)>>2];k=cG(c[j>>2]|0)|0;c[(c[l>>2]|0)+4>>2]=k;c[(c[l>>2]|0)+16>>2]=c[(c[h>>2]|0)+16>>2];eI(c[(c[l>>2]|0)+16>>2]|0);break}e=c[d+24>>2]|0;if(!(c[j>>2]|0))d=39718;else d=(c[j>>2]|0)==7?39705:39710;c[k>>2]=d;c[r>>2]=Gh(e,39723,k)|0;c[o>>2]=1;Xd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}if(!(c[(c[l>>2]|0)+20>>2]|0)){q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}c[o>>2]=Xd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0;d=c[(c[l>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){l=m;m=c[l+4>>2]|0;q=p;c[q>>2]=c[l>>2];c[q+4>>2]=m;c[r>>2]=Gh(d,39752,p)|0;c[o>>2]=1;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}else{c[q>>2]=bf(c[(c[l>>2]|0)+24>>2]|0)|0;c[r>>2]=Gh(d,18391,q)|0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}return 0}function Ph(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];Tf(c[f>>2]|0,c[(c[e>>2]|0)+76>>2]|0);ev(c[f>>2]|0,c[(c[e>>2]|0)+80>>2]|0);if(c[f>>2]|0){b=(c[f>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;i=g;return}function Qh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;i=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)e=EF(c[h>>2]|0)|0;else e=0;c[m>>2]=e;if(!(c[m>>2]|0))c[m>>2]=RF(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;i=n;return m|0}function Rh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;o=r+12|0;n=r+8|0;p=r+4|0;m=r;c[s>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=c[s>>2];if(!(c[n>>2]|0)){c[g>>2]=Lf(84716)|0;s=c[g>>2]|0;i=r;return s|0}c[m>>2]=c[(c[n>>2]|0)+24>>2];c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(!((c[j>>2]|0)<0|(c[k>>2]|0)<0)?(a=c[k>>2]|0,b=c[j>>2]|0,b=RR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=C,s=c[(c[n>>2]|0)+4>>2]|0,f=((s|0)<0)<<31>>31,!((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>s>>>0)):0){if(!(c[p>>2]|0)){c[o>>2]=4;break}dI(c[(c[n>>2]|0)+16>>2]|0);c[o>>2]=Wb[c[l>>2]&255](c[(c[n>>2]|0)+16>>2]|0,(c[k>>2]|0)+(c[(c[n>>2]|0)+8>>2]|0)|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[o>>2]|0)==4){Tg(c[p>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=0;break}else{c[(c[p>>2]|0)+40>>2]=c[o>>2];break}}else q=5;while(0);if((q|0)==5)c[o>>2]=1;lg(c[m>>2]|0,c[o>>2]|0);c[o>>2]=Ug(c[m>>2]|0,c[o>>2]|0)|0;c[g>>2]=c[o>>2];s=c[g>>2]|0;i=r;return s|0}function Sh(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+144|0;b[f>>1]=b[f>>1]&-2|1;c[d>>2]=c[(c[d>>2]|0)+8>>2]}i=e;return}function Th(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;n=x+24|0;m=x+20|0;p=x+56|0;l=x+16|0;o=x+12|0;j=x+8|0;k=x+4|0;h=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[n>>2]=d[(c[v>>2]|0)+1>>0];c[m>>2]=d[c[v>>2]>>0];a[p>>0]=a[(c[v>>2]|0)+3>>0]|0;c[l>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=JC(t)|0;c[q>>2]=g;if(!g){b=83;break}if((c[q>>2]|0)==(c[m>>2]|0)){b=7;break}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=JC(t)|0;if(!(c[q>>2]|0)){b=49;break a}c[l>>2]=c[t>>2];break}c[j>>2]=0;c[k>>2]=0;c[h>>2]=0;c[q>>2]=JC(u)|0;if(!(c[q>>2]|0)){b=52;break a}c[r>>2]=JC(t)|0;if((c[r>>2]|0)==94){c[h>>2]=1;c[r>>2]=JC(t)|0}if((c[r>>2]|0)==93){if((c[q>>2]|0)==93)c[k>>2]=1;c[r>>2]=JC(t)|0}while(1){g=c[r>>2]|0;if(!((c[r>>2]|0)!=0?(c[r>>2]|0)!=93:0))break;if(((g|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[j>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[r>>2]=JC(t)|0;if((c[q>>2]|0)>>>0>=(c[j>>2]|0)>>>0?(c[q>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)c[k>>2]=1;c[j>>2]=0}else{if((c[q>>2]|0)==(c[r>>2]|0))c[k>>2]=1;c[j>>2]=c[r>>2]}c[r>>2]=JC(t)|0}if(!g){b=73;break a}if(!(c[k>>2]^c[h>>2])){b=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=JC(u)|0;c[r>>2]=g;if((c[q>>2]|0)==(c[r>>2]|0))continue;if((d[p>>0]|0)!=0?((c[q>>2]|0)>>>0<128?(d[17613+(c[q>>2]&255)>>0]|0)==(d[17613+(c[r>>2]&255)>>0]|0):0)&(c[r>>2]|0)>>>0<128:0)continue;if((c[q>>2]|0)!=(c[n>>2]|0)){b=82;break}if(!((c[r>>2]|0)!=0?(c[t>>2]|0)!=(c[l>>2]|0):0)){b=82;break}}if((b|0)==7){while(1){b=0;if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=JC(t)|0;c[q>>2]=g;if((g|0)==(c[m>>2]|0))g=1;else g=(c[q>>2]|0)==(c[n>>2]|0);f=c[q>>2]|0;if(!g)break;if((f|0)!=(c[n>>2]|0)){b=7;continue}if(!(JC(u)|0)){b=15;break}else b=7}if((b|0)==15){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}if(!f){c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=JC(t)|0;if(c[q>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)g=(Th((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else g=0;f=c[u>>2]|0;if(!g)break;c[u>>2]=f+1;if((d[f>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[f>>0]|0)!=0&1;w=c[s>>2]|0;i=x;return w|0}while(0);c:do if((c[q>>2]|0)>>>0<=128){g=c[q>>2]|0;if(a[p>>0]|0){c[o>>2]=g&~(d[18403+(c[q>>2]&255)>>0]&32);c[q>>2]=d[17613+(c[q>>2]&255)>>0]}else c[o>>2]=g;while(1){p=c[u>>2]|0;c[u>>2]=p+1;p=d[p>>0]|0;c[r>>2]=p;if(!p)break c;if((c[r>>2]|0)!=(c[q>>2]|0)?(c[r>>2]|0)!=(c[o>>2]|0):0)continue;if(Th(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=JC(u)|0;c[r>>2]=g;if(!g)break c;if((c[r>>2]|0)!=(c[q>>2]|0))continue;if(Th(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==49){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==52){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==73){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==82){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;i=x;return w|0}return 0}function Uh(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){RH(39691);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+84>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Wh(c[d>>2]|0)|0)RH(39696);c[b>>2]=0}while(0);i=f;return c[b>>2]|0}function Vh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[c[p>>2]>>2]=0;b=(Uh(c[k>>2]|0)|0)==0;if(b|(c[l>>2]|0)==0){c[j>>2]=Lf(114197)|0;b=c[j>>2]|0;i=s;return b|0}Of(c[k>>2]|0);c[r>>2]=SH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==17){Xd(c[c[p>>2]>>2]|0)|0;c[r>>2]=SH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}c[j>>2]=c[r>>2];b=c[j>>2]|0;i=s;return b|0}function Wh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+84>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){RH(39538);c[b>>2]=0;f=c[b>>2]|0;i=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;i=d;return f|0}return 0}function Xh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;m=r+12|0;o=r+8|0;n=r+4|0;q=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=0;c[m>>2]=Jf(c[h>>2]|0)|0;if(!(sj((c[g>>2]|0)+320|0,c[h>>2]|0)|0)){c[o>>2]=Vw(c[g>>2]|0,20+(c[m>>2]|0)+1|0,0)|0;if((c[o>>2]|0)!=0?(c[q>>2]=(c[o>>2]|0)+20,TR(c[q>>2]|0,c[h>>2]|0,(c[m>>2]|0)+1|0)|0,c[(c[o>>2]|0)+4>>2]=c[q>>2],c[c[o>>2]>>2]=c[j>>2],c[(c[o>>2]|0)+8>>2]=c[k>>2],c[(c[o>>2]|0)+12>>2]=c[l>>2],c[(c[o>>2]|0)+16>>2]=0,c[n>>2]=Uj((c[g>>2]|0)+320|0,c[q>>2]|0,c[o>>2]|0)|0,(c[n>>2]|0)!=0):0){mh(c[g>>2]|0);Tf(c[g>>2]|0,c[n>>2]|0)}}else c[p>>2]=Lf(122590)|0;c[p>>2]=Ug(c[g>>2]|0,c[p>>2]|0)|0;if(!((c[p>>2]|0)!=0&(c[l>>2]|0)!=0)){b=c[p>>2]|0;i=r;return b|0}Qb[c[l>>2]&255](c[k>>2]|0);b=c[p>>2]|0;i=r;return b|0}function Yh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;s=z+68|0;t=z+64|0;h=z+60|0;j=z+56|0;w=z+52|0;v=z+48|0;m=z+44|0;n=z+40|0;k=z+36|0;u=z+32|0;l=z+28|0;x=z+24|0;y=z+20|0;c[t>>2]=b;c[h>>2]=e;c[j>>2]=f;c[w>>2]=0;c[k>>2]=-1;c[u>>2]=c[c[t>>2]>>2];c[l>>2]=c[(c[u>>2]|0)+96+4>>2];if(!(c[(c[u>>2]|0)+156>>2]|0))c[(c[u>>2]|0)+248>>2]=0;c[(c[t>>2]|0)+12>>2]=0;c[(c[t>>2]|0)+436>>2]=c[h>>2];c[v>>2]=0;c[m>>2]=_u(179)|0;if(!(c[m>>2]|0)){mh(c[u>>2]|0);c[s>>2]=7;y=c[s>>2]|0;i=z;return y|0}a:while(1){do if(a[(c[h>>2]|0)+(c[v>>2]|0)>>0]|0){c[(c[t>>2]|0)+392>>2]=(c[h>>2]|0)+(c[v>>2]|0);e=$u((c[h>>2]|0)+(c[v>>2]|0)|0,n)|0;c[(c[t>>2]|0)+392+4>>2]=e;c[v>>2]=(c[v>>2]|0)+(c[(c[t>>2]|0)+392+4>>2]|0);if((c[v>>2]|0)>(c[l>>2]|0)){r=7;break a}}else{if((c[k>>2]|0)==1){c[n>>2]=0;break}if(!(c[k>>2]|0))break a;c[n>>2]=1}while(0);if((c[n>>2]|0)>=162){if(c[(c[u>>2]|0)+248>>2]|0){r=14;break}if((c[n>>2]|0)==163){r=16;break}else continue}else{b=c[m>>2]|0;f=c[n>>2]|0;A=(c[t>>2]|0)+392|0;e=c[t>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];av(b,f,g,e);c[k>>2]=c[n>>2];if(c[(c[t>>2]|0)+12>>2]|0)break;if(d[(c[u>>2]|0)+69>>0]|0)break;else continue}}if((r|0)==7)c[(c[t>>2]|0)+12>>2]=18;else if((r|0)==14)c[(c[t>>2]|0)+12>>2]=9;else if((r|0)==16){A=c[t>>2]|0;c[o>>2]=(c[t>>2]|0)+392;Eh(A,26437,o)}c[(c[t>>2]|0)+436>>2]=(c[h>>2]|0)+(c[v>>2]|0);bv(c[m>>2]|0,148);if(a[(c[u>>2]|0)+69>>0]|0)c[(c[t>>2]|0)+12>>2]=7;if(((c[(c[t>>2]|0)+12>>2]|0)!=0?(c[(c[t>>2]|0)+12>>2]|0)!=101:0)?(c[(c[t>>2]|0)+4>>2]|0)==0:0){A=c[u>>2]|0;c[p>>2]=lh(c[(c[t>>2]|0)+12>>2]|0)|0;A=Gh(A,18391,p)|0;c[(c[t>>2]|0)+4>>2]=A}if(c[(c[t>>2]|0)+4>>2]|0){c[c[j>>2]>>2]=c[(c[t>>2]|0)+4>>2];A=c[(c[t>>2]|0)+12>>2]|0;c[q>>2]=c[c[j>>2]>>2];Rd(A,18391,q);c[(c[t>>2]|0)+4>>2]=0;c[w>>2]=(c[w>>2]|0)+1}if(((c[(c[t>>2]|0)+8>>2]|0)!=0?(c[(c[t>>2]|0)+36>>2]|0)>0:0)?(d[(c[t>>2]|0)+18>>0]|0)==0:0){cv(c[(c[t>>2]|0)+8>>2]|0);c[(c[t>>2]|0)+8>>2]=0}if(!(d[(c[t>>2]|0)+18>>0]|0)){Tf(c[u>>2]|0,c[(c[t>>2]|0)+116>>2]|0);c[(c[t>>2]|0)+116>>2]=0;c[(c[t>>2]|0)+112>>2]=0}Kd(c[(c[t>>2]|0)+460>>2]|0);if(!(a[(c[t>>2]|0)+410>>0]|0))Rf(c[u>>2]|0,c[(c[t>>2]|0)+440>>2]|0);if(c[(c[t>>2]|0)+476>>2]|0)dv(c[u>>2]|0,c[(c[t>>2]|0)+476>>2]|0);Qf(c[u>>2]|0,c[(c[t>>2]|0)+444>>2]|0);c[v>>2]=(c[(c[t>>2]|0)+404>>2]|0)-1;while(1){g=c[u>>2]|0;if((c[v>>2]|0)<0)break;Tf(g,c[(c[(c[t>>2]|0)+428>>2]|0)+(c[v>>2]<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+-1}Tf(g,c[(c[t>>2]|0)+428>>2]|0);while(1){if(!(c[(c[t>>2]|0)+120>>2]|0))break;c[x>>2]=c[(c[t>>2]|0)+120>>2];c[(c[t>>2]|0)+120>>2]=c[c[x>>2]>>2];Tf(c[u>>2]|0,c[x>>2]|0)}while(1){if(!(c[(c[t>>2]|0)+464>>2]|0))break;c[y>>2]=c[(c[t>>2]|0)+464>>2];c[(c[t>>2]|0)+464>>2]=c[(c[y>>2]|0)+68>>2];Rf(c[u>>2]|0,c[y>>2]|0)}c[s>>2]=c[w>>2];A=c[s>>2]|0;i=z;return A|0}function Zh(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=sh(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;i=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;i=f;return e|0}function _h(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){i=n;return}gh(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,a[l>>0]|0,c[m>>2]|0)|0;i=n;return}function $h(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=4220;mf(4,b)|0;i=a;return}function ai(){return 88}function bi(){return 40}function ci(){return 32}function di(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=4168;mf(18,b)|0;i=a;return}function ei(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;vu(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function fi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+8>>0]|0|0)==2;a=a&1;i=e;return a|0}function gi(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[(c[j>>2]|0)+256+8>>2]|0){c[h>>2]=5;f=c[h>>2]|0;i=q;return f|0}if(a[(c[j>>2]|0)+256+6>>0]|0)Kd(c[(c[j>>2]|0)+256+32>>2]|0);f=c[l>>2]&-8;c[l>>2]=f;c[l>>2]=(c[l>>2]|0)<=4?0:f;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[l>>2]|0)==0|(c[m>>2]|0)==0)){if(c[k>>2]|0){c[p>>2]=c[k>>2];break}Yj();f=_(c[l>>2]|0,c[m>>2]|0)|0;c[p>>2]=$f(f,((f|0)<0)<<31>>31)|0;Zj();if(c[p>>2]|0){f=ag(c[p>>2]|0)|0;c[m>>2]=(f|0)/(c[l>>2]|0)|0}}else{c[l>>2]=0;c[p>>2]=0}while(0);c[(c[j>>2]|0)+256+32>>2]=c[p>>2];c[(c[j>>2]|0)+256+28>>2]=0;b[(c[j>>2]|0)+256+4>>1]=c[l>>2];if(c[p>>2]|0){c[o>>2]=c[p>>2];c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[c[o>>2]>>2]=c[(c[j>>2]|0)+256+28>>2];c[(c[j>>2]|0)+256+28>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[(c[j>>2]|0)+256+36>>2]=c[o>>2];c[(c[j>>2]|0)+256>>2]=0;a[(c[j>>2]|0)+256+6>>0]=(c[k>>2]|0)==0?1:0}else{c[(c[j>>2]|0)+256+32>>2]=c[j>>2];c[(c[j>>2]|0)+256+36>>2]=c[j>>2];c[(c[j>>2]|0)+256>>2]=1;a[(c[j>>2]|0)+256+6>>0]=0}c[h>>2]=0;f=c[h>>2]|0;i=q;return f|0}function hi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}if(!(Wh(c[f>>2]|0)|0)){c[e>>2]=Lf(138867)|0;h=c[e>>2]|0;i=j;return h|0}if((d[(c[f>>2]|0)+76>>0]|0)&8)Wb[c[(c[f>>2]|0)+184>>2]&255](8,c[(c[f>>2]|0)+188>>2]|0,c[f>>2]|0,0)|0;nu(c[f>>2]|0);ou(c[f>>2]|0)|0;if((c[g>>2]|0)==0?(pu(c[f>>2]|0)|0)!=0:0){jg(c[f>>2]|0,5,26295,h);c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}c[(c[f>>2]|0)+84>>2]=1691352191;Qg(c[f>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}function ii(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;d=f+16|0;j=f+12|0;h=f+8|0;e=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+428>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=f;return j|0}else{wi(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}return 0} -function ji(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+64|0;C=D;q=D+56|0;r=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;y=D+24|0;z=D+20|0;B=D+16|0;o=D+12|0;A=D+8|0;p=D+4|0;c[r>>2]=d;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[x>>2]=l;c[y>>2]=m;c[z>>2]=n;do if(c[s>>2]|0){if((c[w>>2]|0)!=0?(c[y>>2]|0)!=0|(c[x>>2]|0)!=0:0)break;if(((c[w>>2]|0)==0&(c[y>>2]|0)!=0^1|(c[x>>2]|0)!=0?!((((c[w>>2]|0)!=0|(c[y>>2]|0)!=0)^1)&(c[x>>2]|0)!=0|(c[t>>2]|0)<-1|(c[t>>2]|0)>127):0)?(f=Jf(c[s>>2]|0)|0,c[o>>2]=f,255>=(f|0)):0){c[A>>2]=c[u>>2]&2048;c[u>>2]=c[u>>2]&7;do if((c[u>>2]|0)!=4){if((c[u>>2]|0)==5){c[p>>2]=ji(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,1|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=ji(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,2|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0)){c[u>>2]=3;break}c[q>>2]=c[p>>2];C=c[q>>2]|0;i=D;return C|0}}else c[u>>2]=(a[968]|0)==0?3:2;while(0);c[B>>2]=ki(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,0)|0;do if(((c[B>>2]|0)!=0?(e[(c[B>>2]|0)+2>>1]&3|0)==(c[u>>2]|0):0)?(a[c[B>>2]>>0]|0)==(c[t>>2]|0):0){d=c[r>>2]|0;if(!(c[(c[r>>2]|0)+156>>2]|0)){Sh(d);break}jg(d,5,26232,C);c[q>>2]=5;C=c[q>>2]|0;i=D;return C|0}while(0);c[B>>2]=ki(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,1)|0;if(!(c[B>>2]|0)){c[q>>2]=7;C=c[q>>2]|0;i=D;return C|0}mu(c[r>>2]|0,c[B>>2]|0);if(c[z>>2]|0){C=c[z>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[B>>2]|0)+24>>2]=c[z>>2];b[(c[B>>2]|0)+2>>1]=e[(c[B>>2]|0)+2>>1]&3|c[A>>2];c[(c[B>>2]|0)+12>>2]=(c[w>>2]|0)!=0?c[w>>2]|0:c[x>>2]|0;c[(c[B>>2]|0)+16>>2]=c[y>>2];c[(c[B>>2]|0)+4>>2]=c[v>>2];a[c[B>>2]>>0]=c[t>>2];c[q>>2]=0;C=c[q>>2]|0;i=D;return C|0}}while(0);c[q>>2]=Lf(139436)|0;C=c[q>>2]|0;i=D;return C|0}function ki(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+49|0;p=y+48|0;t=y+28|0;u=y+24|0;q=y+20|0;r=y+16|0;s=y+12|0;w=y+8|0;x=y+4|0;v=y;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a[o>>0]=h;a[p>>0]=j;c[u>>2]=0;c[q>>2]=0;c[s>>2]=Jf(c[m>>2]|0)|0;c[t>>2]=sj((c[l>>2]|0)+348|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;c[w>>2]=gu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[w>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[w>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}a:do if(!(a[p>>0]|0)){if((c[u>>2]|0)!=0?(c[(c[l>>2]|0)+24>>2]&2097152|0)==0:0)break;c[q>>2]=0;c[r>>2]=((d[17613+(d[c[m>>2]>>0]|0)>>0]|0)+(c[s>>2]|0)|0)%23|0;c[t>>2]=hu(c[r>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break a;c[x>>2]=gu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[x>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[x>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}}while(0);do if((d[p>>0]|0)!=0&(c[q>>2]|0)<6?(f=sh(c[l>>2]|0,28+(c[s>>2]|0)+1|0,0)|0,c[u>>2]=f,(f|0)!=0):0){c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+28;a[c[u>>2]>>0]=c[n>>2];b[(c[u>>2]|0)+2>>1]=d[o>>0]|0;TR((c[u>>2]|0)+28|0,c[m>>2]|0,(c[s>>2]|0)+1|0)|0;c[v>>2]=Uj((c[l>>2]|0)+348|0,c[(c[u>>2]|0)+20>>2]|0,c[u>>2]|0)|0;if((c[v>>2]|0)!=(c[u>>2]|0)){c[(c[u>>2]|0)+8>>2]=c[v>>2];break}Tf(c[l>>2]|0,c[u>>2]|0);mh(c[l>>2]|0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}while(0);do if(c[u>>2]|0){if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[p>>0]|0)==0:0)break;c[k>>2]=c[u>>2];f=c[k>>2]|0;i=y;return f|0}while(0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}function li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[j>>2];c[f>>2]=Od(26181,h)|0;ie(c[g>>2]|0,c[f>>2]|0,-1);Kd(c[f>>2]|0);i=e;return}function mi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;j=h+12|0;f=h+8|0;g=h+4|0;k=h;c[j>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=h;return 0}Yj();Cf(c[f>>2]|0,c[g>>2]|0)|0;Zj();i=h;return 0}function ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=-1;if(!(c[e>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);while(1){if((c[g>>2]|0)<0){d=6;break}if(!(ig(c[c[f>>2]>>2]|0,c[e>>2]|0)|0)){d=6;break}c[g>>2]=(c[g>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+-16}if((d|0)==6){g=c[g>>2]|0;i=h;return g|0}return 0}function oi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[g>>2]|0)+20>>2]|0)?(c[o>>2]|0)==0:0))break;if(((c[h>>2]|0)==10?1:(c[n>>2]|0)==(c[h>>2]|0))?(c[o>>2]=eu(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0,c[k>>2]=0,c[l>>2]=0,(c[o>>2]|0)==5):0){c[m>>2]=1;c[o>>2]=0}c[n>>2]=(c[n>>2]|0)+1}i=p;return ((c[o>>2]|0)==0&(c[m>>2]|0)!=0?5:c[o>>2]|0)|0}function pi(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+69>>0]|0)){i=f;return}if(c[(c[e>>2]|0)+168>>2]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=0;c[(c[e>>2]|0)+248>>2]=0;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+-1;i=f;return}function qi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;p=s;h=s+40|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;g=s+12|0;r=s+8|0;q=s+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=0;c[c[k>>2]>>2]=0;c[o>>2]=Dd()|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}if(!(1<<(c[l>>2]&7)&70)){c[h>>2]=Lf(140621)|0;r=c[h>>2]|0;i=s;return r|0}do if(c[3]|0){if(c[l>>2]&32768){c[g>>2]=0;break}if(c[l>>2]&65536){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[l>>2]&262144)){if(c[57]|0)c[l>>2]=c[l>>2]|131072}else c[l>>2]=c[l>>2]&-131073;c[l>>2]=c[l>>2]&-655129;c[n>>2]=kg(464,0)|0;do if(c[n>>2]|0){if((c[g>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]=8,(c[(c[n>>2]|0)+12>>2]|0)==0):0){Kd(c[n>>2]|0);c[n>>2]=0;break}c[(c[n>>2]|0)+56>>2]=255;c[(c[n>>2]|0)+20>>2]=2;c[(c[n>>2]|0)+84>>2]=-264537850;c[(c[n>>2]|0)+16>>2]=(c[n>>2]|0)+392;e=(c[n>>2]|0)+96|0;g=1580;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[(c[n>>2]|0)+96+44>>2]=0;a[(c[n>>2]|0)+67>>0]=1;a[(c[n>>2]|0)+72>>0]=-1;d=184;b=c[d+4>>2]|0;f=(c[n>>2]|0)+40|0;c[f>>2]=c[d>>2];c[f+4>>2]=b;c[(c[n>>2]|0)+80>>2]=0;c[(c[n>>2]|0)+144>>2]=2147483647;f=(c[n>>2]|0)+24|0;c[f>>2]=c[f>>2]|17825888;zj((c[n>>2]|0)+364|0);zj((c[n>>2]|0)+320|0);ri(c[n>>2]|0,34834,1,0,141,0)|0;ri(c[n>>2]|0,34834,3,0,141,0)|0;ri(c[n>>2]|0,34834,2,0,141,0)|0;ri(c[n>>2]|0,20429,1,0,142,0)|0;ri(c[n>>2]|0,20436,1,1,141,0)|0;if(!(a[(c[n>>2]|0)+69>>0]|0)){f=Sj(c[n>>2]|0,1,34834,0)|0;c[(c[n>>2]|0)+8>>2]=f;c[(c[n>>2]|0)+48>>2]=c[l>>2];c[o>>2]=ak(c[m>>2]|0,c[j>>2]|0,l,c[n>>2]|0,r,q)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7)mh(c[n>>2]|0);j=c[n>>2]|0;l=c[o>>2]|0;m=(c[q>>2]|0)!=0?18391:0;c[p>>2]=c[q>>2];jg(j,l,m,p);Kd(c[q>>2]|0);break}c[o>>2]=bk(c[c[n>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+4|0,0,c[l>>2]|256)|0;if(c[o>>2]|0){if((c[o>>2]|0)==3082)c[o>>2]=7;lg(c[n>>2]|0,c[o>>2]|0);break}mg(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0);q=ck(c[n>>2]|0,c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=q;if(!(a[(c[n>>2]|0)+69>>0]|0))a[(c[n>>2]|0)+66>>0]=a[(c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;q=ck(c[n>>2]|0,0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+16+12>>2]=q;c[c[(c[n>>2]|0)+16>>2]>>2]=20442;a[(c[(c[n>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[n>>2]|0)+16>>2]|0)+16>>2]=18672;a[(c[(c[n>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[n>>2]|0)+84>>2]=-1607883113;if(!(a[(c[n>>2]|0)+69>>0]|0)){lg(c[n>>2]|0,0);dk(c[n>>2]|0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)==0?(ek(c[n>>2]|0),c[o>>2]=Df(c[n>>2]|0)|0,(c[o>>2]|0)!=0):0)break;if((c[o>>2]|0)==0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)c[o>>2]=fk(c[n>>2]|0)|0;if(c[o>>2]|0)lg(c[n>>2]|0,c[o>>2]|0);gi(c[n>>2]|0,0,c[9]|0,c[10]|0)|0;zf(c[n>>2]|0,1e3)|0}}}while(0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)!=7){if(c[o>>2]|0)c[(c[n>>2]|0)+84>>2]=1266094736}else{sf(c[n>>2]|0)|0;c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];Kd(c[r>>2]|0);c[h>>2]=c[o>>2]&255;r=c[h>>2]|0;i=s;return r|0}function ri(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;w=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+48|0;o=x+32|0;p=x+28|0;q=x+24|0;v=x+20|0;s=x+16|0;r=x+12|0;t=x+8|0;u=x+4|0;c[l>>2]=b;c[m>>2]=e;a[n>>0]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[s>>2]=d[n>>0];if((c[s>>2]|0)==4|(c[s>>2]|0)==8)c[s>>2]=(a[968]|0)==0?3:2;if((c[s>>2]|0)<1|(c[s>>2]|0)>3){c[k>>2]=Lf(140172)|0;w=c[k>>2]|0;i=x;return w|0}c[v>>2]=Sj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,0)|0;a:do if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;if(c[(c[l>>2]|0)+156>>2]|0){jg(b,5,20361,w);c[k>>2]=5;w=c[k>>2]|0;i=x;return w|0}Sh(b);if((d[(c[v>>2]|0)+4>>0]&-9|0)==(c[s>>2]|0)){c[r>>2]=sj((c[l>>2]|0)+364|0,c[m>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=3)break a;c[u>>2]=(c[r>>2]|0)+((c[t>>2]|0)*20|0);if((d[(c[u>>2]|0)+4>>0]|0)==(d[(c[v>>2]|0)+4>>0]|0)){if(c[(c[u>>2]|0)+16>>2]|0)Qb[c[(c[u>>2]|0)+16>>2]&255](c[(c[u>>2]|0)+8>>2]|0);c[(c[u>>2]|0)+12>>2]=0}c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[v>>2]=Sj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,1)|0;if(!(c[v>>2]|0)){c[k>>2]=7;w=c[k>>2]|0;i=x;return w|0}else{c[(c[v>>2]|0)+12>>2]=c[p>>2];c[(c[v>>2]|0)+8>>2]=c[o>>2];c[(c[v>>2]|0)+16>>2]=c[q>>2];a[(c[v>>2]|0)+4>>0]=c[s>>2]|d[n>>0]&8;lg(c[l>>2]|0,0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}return 0}function si(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[k>>2]=0;a[(c[f>>2]|0)+148+5>>0]=1;a[(c[f>>2]|0)+66>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[j>>2]=0;while(1){if(c[k>>2]|0)break;if((c[j>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[j>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[k>>2]=vj(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)wj(c[f>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(((c[k>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[k>>2]=vj(c[f>>2]|0,1,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)wj(c[f>>2]|0,1);a[(c[f>>2]|0)+148+5>>0]=0;if(!((c[k>>2]|0)==0&(c[h>>2]|0)!=0)){k=c[k>>2]|0;i=l;return k|0}xj(c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}function ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){l=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c[k>>2]=sj((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){l=7;break}c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){i=m;return c[k>>2]|0}return 0}function ui(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(ig(c[d>>2]|0,19887)|0){if(!(ig(c[d>>2]|0,19895)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,19901)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=e;return c[b>>2]|0}function vi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((d[(c[f>>2]|0)+15>>0]|0)&4)){c[e>>2]=c[g>>2];b=c[e>>2]|0;i=h;return b|0}else{b=c[c[f>>2]>>2]|0;c[e>>2]=b+(kR(c[c[f>>2]>>2]|0)|0)+1;b=c[e>>2]|0;i=h;return b|0}return 0}function wi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function xi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){d=6;break}if(!(ig(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){d=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;i=h;return g|0}else if((d|0)==8){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function yi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=rj(c[a+216>>2]|0)|0;i=b;return d|0}else{d=c[a+68>>2]|0;i=b;return d|0}return 0}function Ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function Bi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function Ci(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];mg(c[p>>2]|0);if((e[(c[m>>2]|0)+22>>1]|0)&2){c[h>>2]=8;p=c[h>>2]|0;i=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[m>>2]|0)+32>>2]=c[j>>2];Ui(c[m>>2]|0)}c[n>>2]=Vi(c[c[m>>2]>>2]|0,(c[m>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[l>>2]|0){p=(c[m>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=o;return p|0}function Di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=55;Ti(c[g>>2]|0,c[f>>2]|0,d)|0;i=e;return c[d>>2]|0}function Ei(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;Ri(8,c[b>>2]|0);if((c[78]|0)!=0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[77];c[77]=c[c[77]>>2];c[78]=(c[78]|0)+-1;Si(3,1);d=c[d>>2]|0;i=e;return d|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;i=e;return d|0}Si(4,ag(c[d>>2]|0)|0);d=c[d>>2]|0;i=e;return d|0}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[76]|0)>>>0:0){c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[77];c[77]=c[e>>2];c[78]=(c[78]|0)+1;bg(3,1);i=f;return}if(c[2]|0){c[d>>2]=ag(c[b>>2]|0)|0;bg(4,c[d>>2]|0);bg(0,c[d>>2]|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}}function Gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((Oi(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0}function Hi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+24|0;f=m+20|0;g=m+16|0;k=m;h=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;b=k;c[b>>2]=0;c[b+4>>2]=0;c[h>>2]=2;while(1){e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=48)break;c[h>>2]=e+1}c[j>>2]=e;while(1){if(!(d[18403+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;b=k;b=aS(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=C;e=RR(b|0,e|0,(Li(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))e=((c[j>>2]|0)-(c[h>>2]|0)|0)<=16;else e=0;c[l>>2]=e?0:1;l=c[l>>2]|0;i=m;return l|0}while(0);j=c[f>>2]|0;k=c[g>>2]|0;c[l>>2]=Mi(j,k,Jf(c[f>>2]|0)|0,1)|0;l=c[l>>2]|0;i=m;return l|0}function Ii(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ki(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function Ji(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Ki(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0|0)!=0:0){g=18402;i=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;i=f;return g|0}function Li(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function Mi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;l=v+48|0;m=v+44|0;n=v+40|0;h=v+36|0;j=v+52|0;q=v+32|0;k=v;r=v+28|0;p=v+24|0;o=v+20|0;s=v+16|0;u=v+12|0;t=v+8|0;c[m>>2]=b;c[n>>2]=e;c[h>>2]=f;a[j>>0]=g;b=k;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[o>>2]=0;c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+(c[h>>2]|0);if((d[j>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[p>>2]=3-(d[j>>0]|0);while(1){if((c[p>>2]|0)>=(c[h>>2]|0))break;if(a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)break;c[p>>2]=(c[p>>2]|0)+2}c[s>>2]=(c[p>>2]|0)<(c[h>>2]|0)&1;c[t>>2]=(c[m>>2]|0)+(c[p>>2]^1);c[m>>2]=(c[m>>2]|0)+(d[j>>0]&1)}while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if(!(d[18403+(d[c[m>>2]>>0]|0)>>0]&1))break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}do if((c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0){if((a[c[m>>2]>>0]|0)==45){c[r>>2]=1;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((a[c[m>>2]>>0]|0)==43)c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}while(0);c[u>>2]=c[m>>2];while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if((a[c[m>>2]>>0]|0)!=48)break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}c[p>>2]=0;while(1){if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0?(b=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0,c[o>>2]=b,(b|0)>=48):0)h=(c[o>>2]|0)<=57;else h=0;j=k;g=c[j>>2]|0;j=c[j+4>>2]|0;if(!h)break;b=aS(g|0,j|0,10,0)|0;e=c[o>>2]|0;e=RR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;e=QR(e|0,C|0,48,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0)}f=(c[r>>2]|0)!=0;do if(!(j>>>0>2147483647|(j|0)==2147483647&g>>>0>4294967295)){j=k;h=c[j>>2]|0;j=c[j+4>>2]|0;if(f){k=QR(0,0,h|0,j|0)|0;n=c[n>>2]|0;c[n>>2]=k;c[n+4>>2]=C;break}else{n=c[n>>2]|0;c[n>>2]=h;c[n+4>>2]=j;break}}else{n=c[n>>2]|0;c[n>>2]=f?0:-1;c[n+4>>2]=f?-2147483648:2147483647}while(0);do if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0>=(c[t>>2]|0)>>>0){if((c[p>>2]|0)==0?(c[u>>2]|0)==(c[m>>2]|0):0)break;if(!((c[s>>2]|0)!=0?1:(c[p>>2]|0)>((c[q>>2]|0)*19|0))){if((c[p>>2]|0)<((c[q>>2]|0)*19|0)){c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}c[o>>2]=Ni(c[m>>2]|0,c[q>>2]|0)|0;if((c[o>>2]|0)<0){c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}if((c[o>>2]|0)>0){c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}else{c[l>>2]=(c[r>>2]|0)!=0?0:2;u=c[l>>2]|0;i=v;return u|0}}}while(0);c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}function Ni(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[j>>2]=18767;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;b=_(c[h>>2]|0,c[f>>2]|0)|0;c[g>>2]=((a[(c[e>>2]|0)+b>>0]|0)-(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){b=c[g>>2]|0;i=k;return b|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;b=c[g>>2]|0;i=k;return b|0}function Oi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+17|0;g=n+12|0;h=n+8|0;l=n+16|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;a[l>>0]=f;f=c[g>>2]|0;if((d[18403+(d[c[g>>2]>>0]|0)>>0]|0)&4){a[k>>0]=Pi(f)|0;m=a[k>>0]|0;i=n;return m|0}c[j>>2]=Jf(f)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){f=11;break}if((d[18786+(c[m>>2]|0)>>0]|0|0)==(c[j>>2]|0)?(zd(18802+(d[18794+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[j>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){f=9;break}if((d[18827+(c[m>>2]|0)>>0]|0|0)<=1){f=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==9){a[k>>0]=a[18827+(c[m>>2]|0)>>0]|0;m=a[k>>0]|0;i=n;return m|0}else if((f|0)==11){a[k>>0]=a[l>>0]|0;m=a[k>>0]|0;i=n;return m|0}return 0}function Pi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)Qi(c[b>>2]|0,d)|0;i=e;return c[d>>2]|0}function Qi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;k=o+28|0;l=o+24|0;h=o;m=o+20|0;f=o+16|0;g=o+12|0;n=o+8|0;c[k>>2]=b;c[l>>2]=e;b=h;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[18403+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[n>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){e=c[n>>2]|0;if(!((d[18403+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)!=0?(c[m>>2]|0)<8:0))break;c[n>>2]=(e<<4)+((Li(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((e&-2147483648|0)==0?(d[18403+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[l>>2]>>2]=c[n>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}}}else{c[g>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[f>>2]=n;if(!((n|0)>=0&(c[f>>2]|0)<=9))break;n=h;n=aS(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;b=c[f>>2]|0;b=RR(n|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;n=h;c[n>>2]=b;c[n+4>>2]=C;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}m=h;n=c[g>>2]|0;n=QR(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=C;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if(c[g>>2]|0){m=h;m=QR(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=h;c[n>>2]=m;c[n+4>>2]=C}c[c[l>>2]>>2]=c[h>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}function Ri(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[1048+(c[d>>2]<<2)>>2]|0)>>>0){i=f;return}c[1048+(c[d>>2]<<2)>>2]=c[e>>2];i=f;return}function Si(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=1008+(c[d>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[1008+(c[d>>2]<<2)>>2]|0)>>>0<=(c[1048+(c[d>>2]<<2)>>2]|0)>>>0){i=e;return}c[1048+(c[d>>2]<<2)>>2]=c[1008+(c[d>>2]<<2)>>2];i=e;return}function Ti(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if((c[j>>2]|0)<2){o=c[j>>2]|0;i=p;return o|0}c[l>>2]=(d[17613+(d[c[h>>2]>>0]|0)>>0]<<2^(d[17613+(d[(c[h>>2]|0)+((c[j>>2]|0)-1)>>0]|0)>>0]|0)*3^c[j>>2]|0)%127|0;c[l>>2]=(d[18835+(c[l>>2]|0)>>0]|0)-1;while(1){if((c[l>>2]|0)<0){o=13;break}if((d[18962+(c[l>>2]|0)>>0]|0)==(c[j>>2]|0)){c[m>>2]=0;c[n>>2]=19086+(e[9524+(c[l>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[j>>2]|0))g=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else g=0;f=c[m>>2]|0;if(!g)break;c[m>>2]=f+1}if((f|0)>=(c[j>>2]|0))break}c[l>>2]=(d[19763+(c[l>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[j>>2]|0;i=p;return o|0}c[c[k>>2]>>2]=d[19639+(c[l>>2]|0)>>0];o=c[j>>2]|0;i=p;return o|0}function Ui(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){i=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;$i(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;i=d;return}function Vi(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;n=p+16|0;m=p+12|0;l=p+8|0;k=p;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Wi(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[m>>2]|0)!=0):0)?(c[m>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[l>>2]=0;o=k;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0)c[n>>2]=Xi(c[(c[g>>2]|0)+64>>2]|0,k)|0;if((c[n>>2]|0)==0?(c[l>>2]=Yi(c[m>>2]|0)|0,(c[l>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Zi(c[g>>2]|0);c[n>>2]=_i(c[(c[g>>2]|0)+212>>2]|0,c[m>>2]|0)|0}if(!(c[n>>2]|0)){$i(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[l>>2];o=k;o=RR(c[o>>2]|0,c[o+4>>2]|0,c[m>>2]|0,0)|0;o=QR(o|0,C|0,1,0)|0;o=_R(o|0,C|0,c[m>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[m>>2];break}else{$i(c[l>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[n>>2]|0){o=c[n>>2]|0;i=p;return o|0}if((c[j>>2]|0)<0)c[j>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[j>>2];aj(c[g>>2]|0);o=c[n>>2]|0;i=p;return o|0}function Wi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Xi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Yi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=jj(c[d>>2]|0)|0;i=b;return a|0}function Zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;dj(c[(c[d>>2]|0)+96>>2]|0);ej(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function _i(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=Ob[c[132>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;b=c[e>>2]|0;i=j;return b|0}k=c[34]|0;a=c[h>>2]|0;b=cj(c[f>>2]|0)|0;Rb[k&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)Qb[c[160>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function $i(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;bj(c[d>>2]|0);i=b;return}function aj(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function bj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[426]|0)>>>0?(c[b>>2]|0)>>>0<(c[427]|0)>>>0:0){bg(1,1);c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[429];c[429]=c[e>>2];c[430]=(c[430]|0)+1;c[431]=(c[430]|0)<(c[425]|0)&1;i=f;return}c[d>>2]=0;c[d>>2]=ag(c[b>>2]|0)|0;bg(2,c[d>>2]|0);Kd(c[b>>2]|0);i=f;return}function cj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;i=e;return d|0}else{a=aS(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=_R(a|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;i=e;return d|0}return 0}function dj(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}i=d;return}function ej(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;fj(c[d>>2]|0,0);i=b;return}function fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){i=j;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)gj(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?(c[(c[d>>2]|0)+12>>2]|0)!=0:0)?(c[h>>2]=Ob[c[144>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,(c[h>>2]|0)!=0):0){VR(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}Rb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);i=j;return}function gj(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){i=f;return}hj(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}ij(c[d>>2]|0);i=f;return}function hj(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+4|0;g=k+8|0;j=k;c[h>>2]=b;a[g>>0]=f;c[j>>2]=c[(c[h>>2]|0)+28>>2];if(d[g>>0]&1){if((c[(c[j>>2]|0)+8>>2]|0)==(c[h>>2]|0))c[(c[j>>2]|0)+8>>2]=c[(c[h>>2]|0)+36>>2];f=c[(c[h>>2]|0)+36>>2]|0;if(c[(c[h>>2]|0)+32>>2]|0)c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=f;else c[(c[j>>2]|0)+4>>2]=f;f=c[(c[h>>2]|0)+32>>2]|0;if(!(c[(c[h>>2]|0)+36>>2]|0)){c[c[j>>2]>>2]=f;if(!(c[c[j>>2]>>2]|0))a[(c[j>>2]|0)+33>>0]=2}else c[(c[(c[h>>2]|0)+36>>2]|0)+32>>2]=f;c[(c[h>>2]|0)+32>>2]=0;c[(c[h>>2]|0)+36>>2]=0}if(!(d[g>>0]&2)){i=k;return}c[(c[h>>2]|0)+32>>2]=c[c[j>>2]>>2];f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+32>>2]|0)){c[(c[j>>2]|0)+4>>2]=f;if(a[(c[j>>2]|0)+32>>0]|0)a[(c[j>>2]|0)+33>>0]=1}else c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=f;c[c[j>>2]>>2]=c[h>>2];if(c[(c[j>>2]|0)+8>>2]|0){i=k;return}if(e[(c[h>>2]|0)+24>>1]&8){i=k;return}c[(c[j>>2]|0)+8>>2]=c[h>>2];i=k;return}function ij(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){i=e;return}Ub[c[148>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);i=e;return}function jj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[423]|0)?(c[d>>2]=c[429],(c[d>>2]|0)!=0):0){c[429]=c[c[429]>>2];c[430]=(c[430]|0)+-1;c[431]=(c[430]|0)<(c[425]|0)&1;Ri(7,c[b>>2]|0);Si(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;i=f;return e|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=f;return e|0}c[e>>2]=ag(c[d>>2]|0)|0;Ri(7,c[b>>2]|0);Si(2,c[e>>2]|0);e=c[d>>2]|0;i=f;return e|0}function kj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=kg(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;i=e;return d|0}function lj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;k=p;c[h>>2]=b;c[j>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[c[h>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[f>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(b=kj(c[(c[h>>2]|0)+8>>2]|0)|0,c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]=b,(c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){o=8;break}c[h>>2]=c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]}if((o|0)==8){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}f=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){o=(c[h>>2]|0)+12+(((c[j>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(f&7);c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=f+1;c[l>>2]=(f>>>0)%125|0;a:do if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=124)o=17}else{while(1){if((c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)==(c[j>>2]|0))break;o=(c[l>>2]|0)+1|0;c[l>>2]=o;c[l>>2]=(c[l>>2]|0)>>>0>=125?0:o;if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){o=17;break a}}c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}while(0);if((o|0)==17?(c[(c[h>>2]|0)+4>>2]|0)>>>0>=62:0){c[k>>2]=Ch(0,500,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}TR(c[k>>2]|0,(c[h>>2]|0)+12|0,500)|0;VR((c[h>>2]|0)+12|0,0,500)|0;c[(c[h>>2]|0)+8>>2]=(((c[c[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=lj(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0){o=lj(c[h>>2]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|o}c[m>>2]=(c[m>>2]|0)+1}Tf(0,c[k>>2]|0);c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}o=(c[h>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]=c[j>>2];c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function mj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;n=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){i=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){i=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));i=p;return}c[k>>2]=c[j>>2];TR(c[k>>2]|0,(c[g>>2]|0)+12|0,500)|0;VR((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[m>>2]=(((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]|0))break;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){a=0;a=a&1;i=f;return a|0}a=(qj(c[d>>2]|0,c[e>>2]|0)|0)!=0;a=a&1;i=f;return a|0}function oj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function pj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;pj(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Kd(c[b>>2]|0);i=e;return}function qj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[h>>2]=a;c[j>>2]=b;c[j>>2]=(c[j>>2]|0)+-1;if((c[j>>2]|0)>>>0>=(c[c[h>>2]>>2]|0)>>>0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}while(1){if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[e>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=c[(c[h>>2]|0)+12+(c[e>>2]<<2)>>2];if(!(c[h>>2]|0)){f=5;break}}if((f|0)==5){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}e=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){c[g>>2]=((d[(c[h>>2]|0)+12+((e>>>0)/8|0)>>0]|0)&1<<(c[j>>2]&7)|0)!=0&1;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=e+1;c[k>>2]=(e>>>0)%125|0;while(1){if(!(c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)){f=13;break}if((c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)==(c[j>>2]|0)){f=11;break}c[k>>2]=(((c[k>>2]|0)+1|0)>>>0)%125|0}if((f|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((f|0)==13){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function rj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function sj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=tj(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;i=e;return g|0}function tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+28|0;e=n+24|0;j=n+20|0;f=n+16|0;l=n+12|0;k=n+8|0;g=n+4|0;h=n;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;if(c[(c[e>>2]|0)+12>>2]|0){b=uj(c[j>>2]|0)|0;c[g>>2]=(b>>>0)%((c[c[e>>2]>>2]|0)>>>0)|0;c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);c[l>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=c[c[h>>2]>>2]}else{c[g>>2]=0;c[l>>2]=c[(c[e>>2]|0)+8>>2];c[k>>2]=c[(c[e>>2]|0)+4>>2]}c[c[f>>2]>>2]=c[g>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+-1;if(!b){e=9;break}b=(ig(c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0;f=c[l>>2]|0;if(b){e=7;break}c[l>>2]=c[f>>2]}if((e|0)==7){c[m>>2]=f;m=c[m>>2]|0;i=n;return m|0}else if((e|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function uj(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=a[b>>0]|0;a[f>>0]=b;if(!(b&255))break;c[g>>2]=(c[g>>2]|0)+(d[17613+(d[f>>0]|0)>>0]|0);c[g>>2]=_(c[g>>2]|0,-1640531535)|0}i=h;return c[g>>2]|0}function vj(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+128|0;w=A;l=A+108|0;m=A+104|0;n=A+100|0;o=A+96|0;u=A+92|0;j=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;r=A+40|0;q=A+24|0;y=A+20|0;s=A+16|0;p=A+112|0;z=A+12|0;x=A+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=0;h=(c[n>>2]|0)==1?19905:19924;c[y>>2]=h;c[B>>2]=h;c[B+4>>2]=19938;c[B+8>>2]=19940;c[B+12>>2]=0;c[q>>2]=c[m>>2];c[q+8>>2]=c[n>>2];c[q+12>>2]=0;c[q+4>>2]=c[o>>2];Bj(q,3,B,0)|0;if(!(c[q+12>>2]|0)){c[t>>2]=(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4);if(!(c[(c[t>>2]|0)+4>>2]|0)){if((c[n>>2]|0)==1){B=(c[(c[(c[m>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[l>>2]=0;B=c[l>>2]|0;i=A;return B|0}mg(c[(c[t>>2]|0)+4>>2]|0);do if(!(og(c[(c[t>>2]|0)+4>>2]|0)|0)){c[u>>2]=pg(c[(c[t>>2]|0)+4>>2]|0,0)|0;if(c[u>>2]|0){z=c[o>>2]|0;B=c[m>>2]|0;Cj(z,B,lh(c[u>>2]|0)|0);break}else{c[s>>2]=1;k=11;break}}else k=11;while(0);a:do if((k|0)==11){c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;rg(c[(c[t>>2]|0)+4>>2]|0,(c[j>>2]|0)+1|0,r+(c[j>>2]<<2)|0);c[j>>2]=(c[j>>2]|0)+1}c[c[(c[t>>2]|0)+12>>2]>>2]=c[r>>2];f=c[n>>2]|0;do if(c[r+16>>2]|0){j=c[r+16>>2]|0;if(!f){B=j&3;a[p>>0]=B;a[p>>0]=(d[p>>0]|0)==0?1:B;a[(c[m>>2]|0)+66>>0]=a[p>>0]|0;break}if((j|0)!=(d[(c[m>>2]|0)+66>>0]|0)){Cj(c[o>>2]|0,c[m>>2]|0,20016);c[u>>2]=1;break a}}else{B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(f<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[t>>2]|0)+12>>2]|0)+77>>0]=a[(c[m>>2]|0)+66>>0]|0;if(!(c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Dj(c[r+8>>2]|0)|0;c[v>>2]=B;c[v>>2]=(c[v>>2]|0)==0?-2e3:B;c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]=c[v>>2];Ej(c[(c[t>>2]|0)+4>>2]|0,c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=c[r+4>>2];if(!(d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Cj(c[o>>2]|0,c[m>>2]|0,20084);c[u>>2]=1;break}if((c[n>>2]|0)==0?(c[r+4>>2]|0)>=4:0){B=(c[m>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[m>>2]|0;y=c[y>>2]|0;c[w>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[w+4>>2]=y;c[z>>2]=Gh(B,20108,w)|0;c[x>>2]=c[(c[m>>2]|0)+296>>2];c[(c[m>>2]|0)+296>>2]=0;c[u>>2]=$e(c[m>>2]|0,c[z>>2]|0,140,q,0)|0;c[(c[m>>2]|0)+296>>2]=c[x>>2];if(!(c[u>>2]|0))c[u>>2]=c[q+12>>2];Tf(c[m>>2]|0,c[z>>2]|0);if(!(c[u>>2]|0))Fj(c[m>>2]|0,c[n>>2]|0)|0;if(a[(c[m>>2]|0)+69>>0]|0){c[u>>2]=7;Cg(c[m>>2]|0)}if((c[u>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[u>>2]=0}while(0);if(c[s>>2]|0)Gj(c[(c[t>>2]|0)+4>>2]|0)|0}else c[u>>2]=c[q+12>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082)mh(c[m>>2]|0);c[l>>2]=c[u>>2];B=c[l>>2]|0;i=A;return B|0}function wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);yj(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;yj(c[(c[e>>2]|0)+12>>2]|0);i=f;return}function xj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function yj(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;l=k+48|0;h=k+32|0;j=k+16|0;d=k+8|0;f=k+4|0;g=k;c[l>>2]=a;c[f>>2]=c[l>>2];a=(c[f>>2]|0)+8|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=(c[f>>2]|0)+40|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];zj((c[f>>2]|0)+40|0);Aj((c[f>>2]|0)+24|0);c[d>>2]=c[j+8>>2];while(1){if(!(c[d>>2]|0))break;Qf(0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2]}Aj(j);zj((c[f>>2]|0)+8|0);c[d>>2]=c[h+8>>2];while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];Rf(0,c[g>>2]|0);c[d>>2]=c[c[d>>2]>>2]}Aj(h);Aj((c[f>>2]|0)+56|0);c[(c[f>>2]|0)+72>>2]=0;if(!((e[(c[f>>2]|0)+78>>1]|0)&1)){i=k;return}l=(c[f>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[f>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=k;return}function zj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function Aj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Kd(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;i=f;return}function Bj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;j=s+40|0;t=s+36|0;k=s+28|0;n=s+20|0;l=s+16|0;m=s+12|0;q=s+8|0;r=s+44|0;p=s+4|0;o=s;c[t>>2]=d;c[s+32>>2]=f;c[k>>2]=g;c[s+24>>2]=h;c[n>>2]=c[t>>2];c[l>>2]=c[c[n>>2]>>2];c[m>>2]=c[(c[n>>2]|0)+8>>2];d=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[l>>2]|0)+69>>0]|0){Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);c[j>>2]=1;t=c[j>>2]|0;i=s;return t|0}if(!(c[k>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}a:do if(!(c[(c[k>>2]|0)+4>>2]|0))Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);else{if(zd(c[(c[k>>2]|0)+8>>2]|0,20250,7)|0){do if(c[c[k>>2]>>2]|0){if((c[(c[k>>2]|0)+8>>2]|0)!=0?(a[c[(c[k>>2]|0)+8>>2]>>0]|0)!=0:0)break;c[o>>2]=Kj(c[l>>2]|0,c[c[k>>2]>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(Qi(c[(c[k>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,20258);break a}while(0);Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);break}a[r>>0]=a[(c[l>>2]|0)+148+4>>0]|0;a[(c[l>>2]|0)+148+4>>0]=c[m>>2];t=Pi(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[l>>2]|0)+148>>2]=t;a[(c[l>>2]|0)+148+6>>0]=0;cf(c[l>>2]|0,c[(c[k>>2]|0)+8>>2]|0,-1,p,0)|0;c[q>>2]=c[(c[l>>2]|0)+52>>2];a[(c[l>>2]|0)+148+4>>0]=a[r>>0]|0;do if(0!=(c[q>>2]|0)?(a[(c[l>>2]|0)+148+6>>0]|0)==0:0){c[(c[n>>2]|0)+12>>2]=c[q>>2];if((c[q>>2]|0)==7){mh(c[l>>2]|0);break}if((c[q>>2]|0)!=9?(c[q>>2]&255|0)!=6:0){r=c[n>>2]|0;t=c[c[k>>2]>>2]|0;Pj(r,t,bf(c[l>>2]|0)|0)}}while(0);Xd(c[p>>2]|0)|0}while(0);c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Tf(c[h>>2]|0,c[c[f>>2]>>2]|0);d=qh(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;i=e;return}function Dj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);i=e;return c[b>>2]|0}function Ej(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);Nj(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function Fj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+36|0;f=o+32|0;l=o+24|0;g=o+20|0;n=o+16|0;k=o+12|0;h=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=d;c[k>>2]=0;c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+8>>2];b[c[(c[h>>2]|0)+8>>2]>>1]=0;c[g>>2]=c[c[g>>2]>>2]}c[l>>2]=c[e>>2];c[l+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];do if(ti(c[e>>2]|0,20163,c[l+4>>2]|0)|0){h=c[e>>2]|0;c[m>>2]=c[l+4>>2];c[n>>2]=Gh(h,20176,m)|0;if(!(c[n>>2]|0)){c[k>>2]=7;break}else{c[k>>2]=$e(c[e>>2]|0,c[n>>2]|0,141,l,0)|0;Tf(c[e>>2]|0,c[n>>2]|0);break}}while(0);c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(b[c[(c[j>>2]|0)+8>>2]>>1]|0))Ij(c[j>>2]|0);c[g>>2]=c[c[g>>2]>>2]}if((c[k>>2]|0)!=7){n=c[k>>2]|0;i=o;return n|0}mh(c[e>>2]|0);n=c[k>>2]|0;i=o;return n|0}function Gj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;mg(c[b>>2]|0);c[d>>2]=Ng(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Mg(c[b>>2]|0,0)|0;d=c[d>>2]|0;i=e;return d|0}function Hj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+112|0;j=s+96|0;t=s+92|0;k=s+84|0;p=s+76|0;o=s+72|0;q=s+68|0;r=s+64|0;l=s+60|0;n=s+56|0;m=s;c[t>>2]=d;c[s+88>>2]=f;c[k>>2]=g;c[s+80>>2]=h;c[p>>2]=c[t>>2];if(((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0)?(c[(c[k>>2]|0)+8>>2]|0)!=0:0){c[q>>2]=ti(c[c[p>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}do if(c[(c[k>>2]|0)+4>>2]|0)if(!(Td(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){c[o>>2]=Jj(c[q>>2]|0)|0;break}else{c[o>>2]=Kj(c[c[p>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break}else c[o>>2]=0;while(0);c[r>>2]=c[(c[k>>2]|0)+8>>2];if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=(e[(c[o>>2]|0)+50>>1]|0)+1;t=(c[o>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Lj(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[o>>2]|0);if(!(c[(c[o>>2]|0)+36>>2]|0))b[(c[q>>2]|0)+38>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0}else{b[m+48>>1]=b[(c[q>>2]|0)+40>>1]|0;Lj(c[r>>2]|0,1,0,(c[q>>2]|0)+38|0,m);b[(c[q>>2]|0)+40>>1]=b[m+48>>1]|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Ij(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;h=l+16|0;g=l+8|0;k=l+4|0;j=l;c[f>>2]=a;b[h>>1]=b[4886]|0;b[h+2>>1]=b[4887]|0;b[h+4>>1]=b[4888]|0;b[h+6>>1]=b[4889]|0;b[h+8>>1]=b[4890]|0;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[k>>2]=a;b[c[g>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if(c[(c[f>>2]|0)+36>>2]|0){a=c[g>>2]|0;b[a>>1]=(b[a>>1]|0)-10}if((b[c[g>>2]>>1]|0)<33)b[c[g>>2]>>1]=33;TR((c[g>>2]|0)+2|0,h|0,c[k>>2]<<1|0)|0;c[j>>2]=(c[k>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){i=l;return}b[(c[g>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;i=l;return}function Jj(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){i=e;return c[d>>2]|0}return 0}function Kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;k=n+12|0;h=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;c[l>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[k>>2]=sj((c[l>>2]|0)+24|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){m=7;break}c[h>>2]=(c[h>>2]|0)+1}if((m|0)==7){i=n;return c[k>>2]|0}return 0}function Lj(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+32|0;j=q+28|0;k=q+20|0;o=q+16|0;p=q+12|0;l=q+8|0;m=q+4|0;n=q;c[r>>2]=d;c[j>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=h;c[p>>2]=c[r>>2];c[m>>2]=0;while(1){if(!(a[c[p>>2]>>0]|0))break;if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=0;while(1){r=a[c[p>>2]>>0]|0;c[l>>2]=r;if(!((r|0)>=48?(c[l>>2]|0)<=57:0))break;c[n>>2]=((c[n>>2]|0)*10|0)+(c[l>>2]|0)-48;c[p>>2]=(c[p>>2]|0)+1}r=Mj(c[n>>2]|0,0)|0;b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=r;if((a[c[p>>2]>>0]|0)==32)c[p>>2]=(c[p>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[p>>2]>>0]|0))break;do if(Ze(20217,c[p>>2]|0)|0){r=(Ze(20228,c[p>>2]|0)|0)==0;j=c[p>>2]|0;if(r){r=Pi(j+3|0)|0;r=Mj(r,((r|0)<0)<<31>>31)|0;b[(c[o>>2]|0)+48>>1]=r;break}if(!(Ze(20238,j)|0)){r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[p>>2]>>0]|0))break;if((a[c[p>>2]>>0]|0)==32)break;c[p>>2]=(c[p>>2]|0)+1}while(1){if((a[c[p>>2]>>0]|0)!=32)continue a;c[p>>2]=(c[p>>2]|0)+1}}i=q;return}function Mj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+10|0;f=h;g=h+8|0;j=f;c[j>>2]=a;c[j+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){j=f;d=c[j+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<2){b[e>>1]=0;j=b[e>>1]|0;i=h;return j|0}else while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=WR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}else{while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=SR(c[d>>2]|0,c[d+4>>2]|0,4)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=SR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}while(0);b[e>>1]=(b[9782+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;j=b[e>>1]|0;i=h;return j|0}function Nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Oj(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);i=d;return}function Oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[34]|0;b=c[(c[f>>2]|0)+44>>2]|0;a=cj(c[f>>2]|0)|0;Rb[e&255](b,a);i=d;return}function Pj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o+8|0;l=o;g=o+32|0;h=o+28|0;j=o+24|0;k=o+20|0;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[k>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=20275;e=c[k>>2]|0;c[l>>2]=c[h>>2];c[n>>2]=Gh(e,20277,l)|0;if(c[j>>2]|0){e=c[k>>2]|0;f=c[j>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=f;c[n>>2]=Gh(e,20308,m)|0}Tf(c[k>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[n>>2]}if(d[(c[k>>2]|0)+69>>0]|0){f=7;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}f=Qj(113554)|0;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}function Qj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rj(11,c[d>>2]|0,20316)|0;i=b;return a|0}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f;e=f+20|0;j=f+16|0;h=f+12|0;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;d=c[e>>2]|0;h=c[h>>2]|0;a=c[j>>2]|0;b=(kf()|0)+20|0;c[g>>2]=h;c[g+4>>2]=a;c[g+8>>2]=b;Rd(d,20336,g);i=f;return c[e>>2]|0}function Sj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+12|0;h=m+16|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;a[h>>0]=e;c[j>>2]=f;c[k>>2]=g;g=c[n>>2]|0;if(c[j>>2]|0)c[l>>2]=Tj(g,c[j>>2]|0,c[k>>2]|0)|0;else c[l>>2]=c[g+8>>2];if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}c[l>>2]=(c[l>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[l>>2]|0;i=m;return n|0}function Tj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;m=l+12|0;j=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[j>>2]=sj((c[f>>2]|0)+364|0,c[g>>2]|0)|0;if(!(0==(c[j>>2]|0)&(c[m>>2]|0)!=0)){m=c[j>>2]|0;i=l;return m|0}c[h>>2]=Jf(c[g>>2]|0)|0;c[j>>2]=sh(c[f>>2]|0,60+(c[h>>2]|0)+1|0,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;i=l;return m|0}c[k>>2]=0;c[c[j>>2]>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+4>>0]=1;c[(c[j>>2]|0)+20>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+20+4>>0]=2;c[(c[j>>2]|0)+40>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+40+4>>0]=3;TR(c[c[j>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[c[j>>2]>>2]|0)+(c[h>>2]|0)>>0]=0;c[k>>2]=Uj((c[f>>2]|0)+364|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){m=c[j>>2]|0;i=l;return m|0}mh(c[f>>2]|0);Tf(c[f>>2]|0,c[k>>2]|0);c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}function Uj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+28|0;l=n+24|0;e=n+20|0;f=n+16|0;h=n+12|0;g=n+8|0;m=n+4|0;j=n;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=tj(c[l>>2]|0,c[e>>2]|0,h)|0;if(c[g>>2]|0){c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))Vj(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0);else{c[(c[g>>2]|0)+8>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=c[e>>2]}c[k>>2]=c[j>>2];m=c[k>>2]|0;i=n;return m|0}if(!(c[f>>2]|0)){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[m>>2]=$f(16,0)|0;if(!(c[m>>2]|0)){c[k>>2]=c[f>>2];m=c[k>>2]|0;i=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+8>>2]=c[f>>2];b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;if(((c[(c[l>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[l>>2]|0)+4>>2]|0)>>>0>c[c[l>>2]>>2]<<1>>>0:0)?(Wj(c[l>>2]|0,c[(c[l>>2]|0)+4>>2]<<1)|0)!=0:0){b=uj(c[e>>2]|0)|0;c[h>>2]=(b>>>0)%((c[c[l>>2]>>2]|0)>>>0)|0}if(c[(c[l>>2]|0)+12>>2]|0)e=(c[(c[l>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else e=0;Xj(c[l>>2]|0,e,c[m>>2]|0);c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[c[f>>2]>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0)c[c[(c[f>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Kd(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){i=j;return}Aj(c[e>>2]|0);i=j;return}function Wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Yj();c[j>>2]=$f(c[f>>2]<<3,0)|0;Zj();if(!(c[j>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Kd(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];a=((ag(c[j>>2]|0)|0)>>>0)/8|0;c[f>>2]=a;c[c[e>>2]>>2]=a;VR(c[j>>2]|0,0,c[f>>2]<<3|0)|0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[g>>2]|0))break;a=uj(c[(c[g>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[f>>2]|0)>>>0)|0;c[k>>2]=c[c[g>>2]>>2];Xj(c[e>>2]|0,(c[j>>2]|0)+(c[h>>2]<<3)|0,c[g>>2]|0);c[g>>2]=c[k>>2]}c[d>>2]=1;a=c[d>>2]|0;i=l;return a|0}function Xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[e>>2]|0){if(c[c[e>>2]>>2]|0)b=c[(c[e>>2]|0)+4>>2]|0;else b=0;c[h>>2]=b;d=c[e>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[e>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[g>>2];i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[f>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];i=j;return}function Yj(){if(!(c[432]|0))return;Vb[c[1728>>2]&255]();return}function Zj(){if(!(c[433]|0))return;Vb[c[1732>>2]&255]();return}function _j(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)<(c[k>>2]|0)?c[h>>2]|0:c[k>>2]|0;c[n>>2]=eR(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){n=c[n>>2]|0;i=o;return n|0}if(((c[g>>2]|0)!=0?(du((c[j>>2]|0)+(c[m>>2]|0)|0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0)?(du((c[l>>2]|0)+(c[m>>2]|0)|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[n>>2]|0;i=o;return n|0}function $j(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[k+20>>2]=a;c[g>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=zd(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)<(c[h>>2]|0)?c[g>>2]|0:c[h>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=(c[g>>2]|0)-(c[h>>2]|0);m=c[j>>2]|0;i=k;return m|0}function ak(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=i;i=i+160|0;K=S+32|0;J=S+24|0;I=S+16|0;H=S+8|0;m=S+140|0;T=S+136|0;n=S+132|0;o=S+128|0;p=S+124|0;q=S+120|0;r=S+116|0;G=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;l=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;k=S;F=S+76|0;D=S+72|0;P=S+68|0;E=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;L=S+36|0;c[T>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[G>>2]=0;c[v>>2]=c[c[o>>2]>>2];c[Q>>2]=c[T>>2];c[l>>2]=Jf(c[n>>2]|0)|0;a:do if(((c[v>>2]&64|0)!=0|(c[5]|0)!=0)&(c[l>>2]|0)>=5?(eR(c[n>>2]|0,26023,5)|0)==0:0){c[y>>2]=0;e=(c[l>>2]|0)+2|0;T=k;c[T>>2]=e;c[T+4>>2]=((e|0)<0)<<31>>31;c[v>>2]=c[v>>2]|64;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;e=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==38&1;T=k;e=RR(c[T>>2]|0,c[T+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=e;c[T+4>>2]=C;c[x>>2]=(c[x>>2]|0)+1}T=k;c[M>>2]=Jd(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[M>>2]|0)){c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}c[x>>2]=5;do if((a[(c[n>>2]|0)+5>>0]|0)==47?(a[(c[n>>2]|0)+6>>0]|0)==47:0){c[x>>2]=7;while(1){if(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)k=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)!=47;else k=0;l=c[x>>2]|0;if(!k)break;c[x>>2]=l+1}if((l|0)!=7){if((c[x>>2]|0)==16?(eR(26029,(c[n>>2]|0)+7|0,9)|0)==0:0)break;T=(c[n>>2]|0)+7|0;c[H>>2]=(c[x>>2]|0)-7;c[H+4>>2]=T;T=Od(26039,H)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break a}}while(0);c[u>>2]=0;b:while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[x>>2]=(c[x>>2]|0)+1;do if(((a[t>>0]|0)==37?(d[18403+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[18403+(d[(c[n>>2]|0)+((c[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=c[x>>2]|0;c[x>>2]=T+1;c[F>>2]=((Li(a[(c[n>>2]|0)+T>>0]|0)|0)&255)<<4;T=c[x>>2]|0;c[x>>2]=T+1;T=(Li(a[(c[n>>2]|0)+T>>0]|0)|0)&255;c[F>>2]=(c[F>>2]|0)+T;if(c[F>>2]|0){a[t>>0]=c[F>>2];break}while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[u>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[u>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[x>>2]=(c[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[u>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[M>>2]|0)+((c[y>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0))continue b;if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==35)continue b;if((a[(c[n>>2]|0)+((c[x>>2]|0)-1)>>0]|0)==38)continue b;c[x>>2]=(c[x>>2]|0)+1}else{if((a[t>>0]|0)==38){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}else c[u>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[u>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[u>>2]=1}while(0);H=a[t>>0]|0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=H}if((c[u>>2]|0)==1){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=(Jf(c[M>>2]|0)|0)+1|0;c[O>>2]=(c[M>>2]|0)+T;while(1){if(!(a[c[O>>2]>>0]|0)){R=84;break a}c[D>>2]=Jf(c[O>>2]|0)|0;c[P>>2]=(c[O>>2]|0)+((c[D>>2]|0)+1);c[E>>2]=Jf(c[P>>2]|0)|0;if((c[D>>2]|0)==3?(eR(26067,c[O>>2]|0,3)|0)==0:0)c[Q>>2]=c[P>>2];else{c[s>>2]=0;c[N>>2]=0;c[A>>2]=0;c[z>>2]=0;if((c[D>>2]|0)==5?(eR(26071,c[O>>2]|0,5)|0)==0:0){c[A>>2]=393216;c[s>>2]=4104;c[z>>2]=c[A>>2];c[N>>2]=26071}if((c[D>>2]|0)==4?(eR(26077,c[O>>2]|0,4)|0)==0:0){c[A>>2]=135;c[s>>2]=4128;c[z>>2]=c[A>>2]&c[v>>2];c[N>>2]=26082}if(c[s>>2]|0){c[B>>2]=0;c[w>>2]=0;while(1){if(!(c[(c[s>>2]|0)+(c[w>>2]<<3)>>2]|0))break;c[L>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)>>2];T=c[E>>2]|0;if((T|0)==(Jf(c[L>>2]|0)|0)?0==(eR(c[P>>2]|0,c[L>>2]|0,c[E>>2]|0)|0):0){R=73;break}c[w>>2]=(c[w>>2]|0)+1}if((R|0)==73){R=0;c[B>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)+4>>2]}if(!(c[B>>2]|0)){R=76;break}if((c[B>>2]&-129|0)>(c[z>>2]|0)){R=78;break}c[v>>2]=c[v>>2]&~c[A>>2]|c[B>>2]}}c[O>>2]=(c[P>>2]|0)+((c[E>>2]|0)+1)}if((R|0)==76){T=c[P>>2]|0;c[I>>2]=c[N>>2];c[I+4>>2]=T;T=Od(26089,I)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break}else if((R|0)==78){T=c[P>>2]|0;c[J>>2]=c[N>>2];c[J+4>>2]=T;T=Od(26109,J)|0;c[c[r>>2]>>2]=T;c[G>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[l>>2]|0)+2|0;c[M>>2]=Jd(T,((T|0)<0)<<31>>31)|0;if(c[M>>2]|0){TR(c[M>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;a[(c[M>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[M>>2]|0)+((c[l>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;R=84;break}c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}while(0);if((R|0)==84?(T=Cd(c[Q>>2]|0)|0,c[c[p>>2]>>2]=T,(c[c[p>>2]>>2]|0)==0):0){c[K>>2]=c[Q>>2];T=Od(26133,K)|0;c[c[r>>2]>>2]=T;c[G>>2]=1}if(c[G>>2]|0){Kd(c[M>>2]|0);c[M>>2]=0}c[c[o>>2]>>2]=c[v>>2];c[c[q>>2]>>2]=c[M>>2];c[m>>2]=c[G>>2];T=c[m>>2]|0;i=S;return T|0}function bk(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;C=I+76|0;m=I+72|0;n=I+68|0;o=I+64|0;D=I+60|0;p=I+56|0;q=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;r=I+4|0;G=I;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[D>>2]=j;c[p>>2]=k;c[q>>2]=l;c[F>>2]=0;c[I+40>>2]=0;c[H>>2]=0;if(!(c[n>>2]|0))h=1;else h=(a[c[n>>2]>>0]|0)==0;c[u>>2]=h&1;if((c[n>>2]|0)!=0?(hR(c[n>>2]|0,25837)|0)==0:0)h=1;else B=5;do if((B|0)==5){if((c[u>>2]|0)!=0?(Zq(c[o>>2]|0)|0)!=0:0){h=1;break}h=(c[q>>2]&128|0)!=0}while(0);c[t>>2]=h&1;if(c[t>>2]|0)c[p>>2]=c[p>>2]|2;if((c[q>>2]&256|0)!=0?(c[t>>2]|0)!=0|(c[u>>2]|0)!=0:0)c[q>>2]=c[q>>2]&-257|512;c[E>>2]=kg(48,0)|0;if(!(c[E>>2]|0)){c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}a[(c[E>>2]|0)+8>>0]=0;c[c[E>>2]>>2]=c[o>>2];c[(c[E>>2]|0)+32>>2]=c[E>>2];c[(c[E>>2]|0)+32+4>>2]=1;do if(!(c[u>>2]|0)){if((c[t>>2]|0)!=0?(c[q>>2]&64|0)==0:0)break;if(c[q>>2]&131072){c[v>>2]=(Jf(c[n>>2]|0)|0)+1;c[w>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;u=(c[w>>2]|0)>(c[v>>2]|0)?c[w>>2]|0:c[v>>2]|0;c[A>>2]=$f(u,((u|0)<0)<<31>>31)|0;a[(c[E>>2]|0)+9>>0]=1;if(!(c[A>>2]|0)){Kd(c[E>>2]|0);c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}if(!(c[t>>2]|0)){c[H>>2]=_q(c[m>>2]|0,c[n>>2]|0,c[w>>2]|0,c[A>>2]|0)|0;if(c[H>>2]|0){Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}}else TR(c[A>>2]|0,c[n>>2]|0,c[v>>2]|0)|0;c[F>>2]=c[1006];while(1){if(!(c[F>>2]|0))break;w=c[A>>2]|0;if(0==(hR(w,Ki(c[c[F>>2]>>2]|0,0)|0)|0)?(w=yi(c[c[F>>2]>>2]|0)|0,(w|0)==(c[m>>2]|0)):0){B=29;break}c[F>>2]=c[(c[F>>2]|0)+68>>2]}do if((B|0)==29){c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;while(1){if((c[s>>2]|0)<0){B=35;break}c[y>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]<<4)+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+4>>2]|0)==(c[F>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+-1}if((B|0)==35){c[(c[E>>2]|0)+4>>2]=c[F>>2];y=(c[F>>2]|0)+64|0;c[y>>2]=(c[y>>2]|0)+1;break}Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=19;H=c[C>>2]|0;i=I;return H|0}while(0);Kd(c[A>>2]|0)}}while(0);do if(!(c[F>>2]|0)){c[F>>2]=kg(84,0)|0;if(!(c[F>>2]|0)){c[H>>2]=7;break}c[H>>2]=ar(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0,88,c[p>>2]|0,c[q>>2]|0,149)|0;if(!(c[H>>2]|0)){A=(c[o>>2]|0)+40|0;br(c[c[F>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0);c[H>>2]=cr(c[c[F>>2]>>2]|0,100,z)|0}if(!(c[H>>2]|0)){a[(c[F>>2]|0)+16>>0]=c[p>>2];c[(c[F>>2]|0)+4>>2]=c[o>>2];er(c[c[F>>2]>>2]|0,171,c[F>>2]|0);c[(c[E>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+12>>2]=0;if((fr(c[c[F>>2]>>2]|0)|0)<<24>>24){A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|1}c[(c[F>>2]|0)+32>>2]=d[z+16>>0]<<8|d[z+17>>0]<<16;if(((c[(c[F>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[F>>2]|0)+32>>2]|0)-1&c[(c[F>>2]|0)+32>>2]|0)==0:0){a[x>>0]=a[z+20>>0]|0;A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|2;A=(gr(z+52|0)|0)!=0;a[(c[F>>2]|0)+17>>0]=A?1:0;A=(gr(z+64|0)|0)!=0;a[(c[F>>2]|0)+18>>0]=A?1:0}else{c[(c[F>>2]|0)+32>>2]=0;if(!((c[n>>2]|0)==0|(c[t>>2]|0)!=0)){a[(c[F>>2]|0)+17>>0]=0;a[(c[F>>2]|0)+18>>0]=0}a[x>>0]=0}c[H>>2]=Vi(c[c[F>>2]>>2]|0,(c[F>>2]|0)+32|0,d[x>>0]|0)|0;if(!(c[H>>2]|0)){c[(c[F>>2]|0)+36>>2]=(c[(c[F>>2]|0)+32>>2]|0)-(d[x>>0]|0);c[(c[F>>2]|0)+64>>2]=1;if(a[(c[E>>2]|0)+9>>0]|0){c[(c[F>>2]|0)+68>>2]=c[1006];c[1006]=c[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(a[(c[E>>2]|0)+9>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break a;B=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0;c[G>>2]=B;if((B|0)!=0?(d[(c[G>>2]|0)+9>>0]|0)!=0:0)break;c[r>>2]=(c[r>>2]|0)+1}while(1){if(!(c[(c[G>>2]|0)+28>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+28>>2]}if((c[(c[E>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0){c[(c[E>>2]|0)+24>>2]=c[G>>2];c[(c[E>>2]|0)+28>>2]=0;c[(c[G>>2]|0)+28>>2]=c[E>>2];break}while(1){if(c[(c[G>>2]|0)+24>>2]|0)k=(c[(c[(c[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[E>>2]|0)+4>>2]|0)>>>0;else k=0;h=c[(c[G>>2]|0)+24>>2]|0;if(!k)break;c[G>>2]=h}c[(c[E>>2]|0)+24>>2]=h;c[(c[E>>2]|0)+28>>2]=c[G>>2];if(c[(c[E>>2]|0)+24>>2]|0)c[(c[(c[E>>2]|0)+24>>2]|0)+28>>2]=c[E>>2];c[(c[G>>2]|0)+24>>2]=c[E>>2]}while(0);c[c[D>>2]>>2]=c[E>>2]}if(!(c[H>>2]|0)){if(!(Yq(c[E>>2]|0,0,0)|0))Nj(c[c[(c[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if((c[F>>2]|0)!=0?(c[c[F>>2]>>2]|0)!=0:0)hr(c[c[F>>2]>>2]|0)|0;Kd(c[F>>2]|0);Kd(c[E>>2]|0);c[c[D>>2]>>2]=0}c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}function ck(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=Yq(c[g>>2]|0,84,150)|0;else c[h>>2]=sh(0,84,0)|0;if(!(c[h>>2]|0)){mh(c[f>>2]|0);e=c[h>>2]|0;i=j;return e|0}if(d[(c[h>>2]|0)+76>>0]|0){e=c[h>>2]|0;i=j;return e|0}zj((c[h>>2]|0)+8|0);zj((c[h>>2]|0)+24|0);zj((c[h>>2]|0)+40|0);zj((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;e=c[h>>2]|0;i=j;return e|0}function dk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=yf(c[b>>2]|0,25831,2)|0;if((c[e>>2]|0)!=7){i=d;return}mh(c[b>>2]|0);i=d;return}function ek(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;h=l;b=l+28|0;e=l+24|0;d=l+20|0;g=l+16|0;j=l+12|0;k=l+8|0;f=l+4|0;c[b>>2]=a;c[d>>2]=1;if(!(c[385]|0)){i=l;return}c[e>>2]=0;while(1){if(!(c[d>>2]|0))break;c[f>>2]=0;if((c[e>>2]|0)>>>0>=(c[385]|0)>>>0){c[j>>2]=0;c[d>>2]=0}else c[j>>2]=c[(c[386]|0)+(c[e>>2]<<2)>>2];c[k>>2]=0;if((c[j>>2]|0)!=0?(a=Ob[c[j>>2]&255](c[b>>2]|0,k,c[f>>2]|0)|0,c[g>>2]=a,(a|0)!=0):0){m=c[b>>2]|0;a=c[g>>2]|0;c[h>>2]=c[k>>2];jg(m,a,25792,h);c[d>>2]=0}Kd(c[k>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=l;return}function fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[j>>2]=0;c[e>>2]=0;c[g>>2]=0;c[f>>2]=0;c[h>>2]=0;gk(h);c[j>>2]=hk(c[d>>2]|0)|0;if(c[j>>2]|0){c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}ik(g);jk(f);c[e>>2]=Id(20)|0;if(c[e>>2]|0)kk(c[e>>2]|0,1,1);else c[j>>2]=7;do if(!(c[j>>2]|0)){if(((lk(c[e>>2]|0,20447,7,c[g>>2]|0)|0)==0?(lk(c[e>>2]|0,20454,7,c[f>>2]|0)|0)==0:0)?(lk(c[e>>2]|0,20461,10,c[h>>2]|0)|0)==0:0)break;c[j>>2]=7}while(0);if((((((0==(c[j>>2]|0)?(h=mk(c[d>>2]|0,c[e>>2]|0,20471)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20486,-1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20494,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20502,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20502,2)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20512,1)|0,c[j>>2]=h,0==(h|0)):0){c[j>>2]=ef(c[d>>2]|0,20521,1736,c[e>>2]|0,151)|0;if(!(c[j>>2]|0))c[j>>2]=ef(c[d>>2]|0,20526,1736,c[e>>2]|0,0)|0;if(!(c[j>>2]|0))c[j>>2]=ok(c[d>>2]|0,c[e>>2]|0)|0;c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}if(c[e>>2]|0){pk(c[e>>2]|0);Kd(c[e>>2]|0)}c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}function gk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2356;i=b;return}function hk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=df(c[e>>2]|0,25443,2264,0)|0;i=d;return c[b>>2]|0}function ik(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2236;i=b;return}function jk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2208;i=b;return}function kk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f;j=f+5|0;h=f+4|0;c[g>>2]=b;a[j>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[j>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function lk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+40|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;q=s+20|0;p=s+16|0;g=s+12|0;r=s+8|0;t=s+4|0;h=s;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=Hk(a[c[l>>2]>>0]|0)|0;c[q>>2]=Yb[c[t>>2]&255](c[m>>2]|0,c[n>>2]|0)|0;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;c[g>>2]=Ik(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[o>>2]|0))aq(c[l>>2]|0,c[g>>2]|0,c[p>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[o>>2];c[k>>2]=c[h>>2];t=c[k>>2]|0;i=s;return t|0}if(!(c[o>>2]|0)){c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}if(!((c[(c[l>>2]|0)+12>>2]|0)==0?(bq(c[l>>2]|0,8)|0)!=0:0))j=10;do if((j|0)==10){if((c[(c[l>>2]|0)+4>>2]|0)>=(c[(c[l>>2]|0)+12>>2]|0)?(bq(c[l>>2]|0,c[(c[l>>2]|0)+12>>2]<<1)|0)!=0:0)break;c[r>>2]=cq(20)|0;if(!(c[r>>2]|0)){c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}do if((c[m>>2]|0)!=0?(a[(c[l>>2]|0)+1>>0]|0)!=0:0){f=cq(c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=f;f=c[r>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){TR(c[f+12>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break}qk(f);c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}else c[(c[r>>2]|0)+12>>2]=c[m>>2];while(0);c[(c[r>>2]|0)+16>>2]=c[n>>2];t=(c[l>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;dq(c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+(c[p>>2]<<3)|0,c[r>>2]|0);c[(c[r>>2]|0)+8>>2]=c[o>>2];c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}function mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[h>>2]=0;c[g>>2]=c[k>>2];c[j>>2]=5;if(!(c[h>>2]|0))c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,1,5,c[g>>2]|0,225,0,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,2,5,c[g>>2]|0,225,0,0)|0;k=c[h>>2]|0;i=j;return k|0}function nk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];pk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=df(c[g>>2]|0,20531,1828,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function pk(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;qk(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if((a[(c[d>>2]|0)+1>>0]|0)!=0?(c[(c[e>>2]|0)+12>>2]|0)!=0:0)qk(c[(c[e>>2]|0)+12>>2]|0);qk(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;i=g;return}function qk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function rk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;h=w+56|0;x=w+52|0;j=w+48|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;s=w+28|0;r=w+24|0;t=w+20|0;u=w+16|0;p=w+12|0;q=w+8|0;v=w+4|0;o=w;c[x>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[s>>2]=0;c[r>>2]=0;c[t>>2]=0;c[p>>2]=0;c[u>>2]=ff(c[x>>2]|0,20544)|0;if(c[u>>2]|0){c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}c[q>>2]=(c[k>>2]|0)-3;c[u>>2]=Ck(c[q>>2]|0,(c[l>>2]|0)+12|0,p)|0;if(!(c[u>>2]|0)){if((c[q>>2]|0)<1)c[v>>2]=20447;else c[v>>2]=c[c[p>>2]>>2];c[u>>2]=Dk(c[j>>2]|0,c[v>>2]|0,r,c[n>>2]|0)|0}if(!(c[u>>2]|0)){c[o>>2]=(c[p>>2]|0)+4;c[u>>2]=Ob[c[(c[r>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[o>>2]|0,t)|0}if((c[u>>2]|0)==0?(c[s>>2]=Id(20)|0,(c[s>>2]|0)==0):0)c[u>>2]=7;if(c[u>>2]|0){if(c[t>>2]|0)Tb[c[(c[r>>2]|0)+8>>2]&255](c[t>>2]|0)|0}else{x=c[s>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[s>>2]|0)+12>>2]=c[r>>2];c[(c[s>>2]|0)+16>>2]=c[t>>2];c[c[m>>2]>>2]=c[s>>2]}Kd(c[p>>2]|0);c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}function sk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+4|0;j=k;c[k+8>>2]=b;c[g>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if(((d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0|0)!=0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else if((e|0)==8){c[(c[g>>2]|0)+20>>2]=0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}return 0}function tk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;Kd(c[d>>2]|0);i=b;return 0}function uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function vk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Bk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function wk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;r=q+32|0;k=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;l=q;c[j>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=1;c[m>>2]=c[j>>2];c[n>>2]=c[c[j>>2]>>2];Bk(c[m>>2]|0);do if((c[r>>2]|0)==1){c[p>>2]=$d(c[c[k>>2]>>2]|0)|0;c[l>>2]=ae(c[c[k>>2]>>2]|0)|0;r=Id((c[l>>2]|0)+1|0)|0;c[(c[m>>2]|0)+4>>2]=r;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[o>>2]=7;break}TR(c[(c[m>>2]|0)+4>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;a[(c[(c[m>>2]|0)+4>>2]|0)+(c[l>>2]|0)>>0]=0;c[o>>2]=Wb[c[(c[(c[n>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[n>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[l>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[o>>2]|0))c[c[(c[m>>2]|0)+8>>2]>>2]=c[(c[n>>2]|0)+16>>2]}while(0);if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=q;return r|0}else{c[h>>2]=xk(c[j>>2]|0)|0;r=c[h>>2]|0;i=q;return r|0}return 0}function xk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=Sb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;i=e;return g|0}Bk(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;i=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=e;return g|0}function yk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{me(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);i=g;return 0}case 1:{me(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);i=g;return 0}case 2:{je(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);i=g;return 0}case 3:{je(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);i=g;return 0}default:{je(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);i=g;return 0}}return 0}function Ak(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;i=d;return 0}function Bk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}Kd(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;i=e;return}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;g=o+24|0;n=o+20|0;j=o+16|0;l=o+12|0;h=o+8|0;m=o+4|0;k=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;if(!(c[e>>2]|0)){c[c[g>>2]>>2]=0;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;d=(kR(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)+1|0;c[l>>2]=(c[l>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+1}d=Id((c[e>>2]<<2)+(c[l>>2]|0)|0)|0;c[h>>2]=d;c[c[g>>2]>>2]=d;if(!(c[h>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=(c[h>>2]|0)+(c[e>>2]<<2);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;c[k>>2]=kR(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];TR(c[m>>2]|0,c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0,(c[k>>2]|0)+1|0)|0;Ok(c[m>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[k>>2]|0)+1);c[j>>2]=(c[j>>2]|0)+1}n=c[n>>2]|0;i=o;return n|0}function Dk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;l=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=kR(c[g>>2]|0)|0;c[k>>2]=Ek(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}else{o=c[j>>2]|0;c[l>>2]=c[g>>2];Fk(o,20595,l);c[f>>2]=1;o=c[f>>2]|0;i=m;return o|0}return 0}function Ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Gk(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){j=0;i=f;return j|0}j=c[(c[e>>2]|0)+8>>2]|0;i=f;return j|0}function Fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Kd(c[c[f>>2]>>2]|0);c[g>>2]=d;b=Nd(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=b;i=e;return}function Gk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)!=0:0){c[l>>2]=Hk(a[c[g>>2]>>0]|0)|0;c[k>>2]=Yb[c[l>>2]&255](c[h>>2]|0,c[j>>2]|0)|0;c[f>>2]=Ik(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;l=c[f>>2]|0;i=m;return l|0}c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Hk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=180;else c[b>>2]=181;i=d;return c[b>>2]|0}function Ik(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;g=q+28|0;l=q+24|0;m=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;p=q+4|0;j=q;c[g>>2]=b;c[l>>2]=d;c[m>>2]=e;c[h>>2]=f;a:do if(c[(c[g>>2]|0)+16>>2]|0){c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<3);c[o>>2]=c[(c[j>>2]|0)+4>>2];c[n>>2]=c[c[j>>2]>>2];c[p>>2]=Jk(a[c[g>>2]>>0]|0)|0;while(1){d=c[n>>2]|0;c[n>>2]=d+-1;if(!((d|0)!=0?(c[o>>2]|0)!=0:0))break a;d=(Wb[c[p>>2]&255](c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0;g=c[o>>2]|0;if(d)break;c[o>>2]=c[g>>2]}c[k>>2]=g;p=c[k>>2]|0;i=q;return p|0}while(0);c[k>>2]=0;p=c[k>>2]|0;i=q;return p|0}function Jk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=142;else c[b>>2]=143;i=d;return c[b>>2]|0}function Kk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=lR(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Lk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=eR(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Mk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;c[g>>2]=c[j>>2];c[f>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=kR(c[g>>2]|0)|0;while(1){d=c[f>>2]|0;if((c[e>>2]|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0];c[e>>2]=(c[e>>2]|0)+-1}i=h;return d&2147483647|0}function Nk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[j>>2];while(1){j=c[e>>2]|0;c[e>>2]=j+-1;d=c[f>>2]|0;if((j|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0]}i=h;return d&2147483647|0}function Ok(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;a[h>>0]=a[c[e>>2]>>0]|0;if((((a[h>>0]|0)!=91?(a[h>>0]|0)!=39:0)?(a[h>>0]|0)!=34:0)?(a[h>>0]|0)!=96:0){i=j;return}c[f>>2]=1;c[g>>2]=0;if((a[h>>0]|0)==91)a[h>>0]=93;while(1){if(!(a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=b+1|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)!=(a[h>>0]|0)){c[f>>2]=d;b=a[(c[e>>2]|0)+b>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;continue}if((a[(c[e>>2]|0)+d>>0]|0)!=(a[h>>0]|0))break;b=a[h>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;c[f>>2]=(c[f>>2]|0)+2}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function Pk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Lp(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Qk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Lp(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Rk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+64|0;r=u+48|0;v=u+44|0;s=u+40|0;o=u+36|0;g=u+32|0;j=u+28|0;n=u+24|0;k=u+20|0;l=u+16|0;m=u+12|0;f=u+8|0;p=u+4|0;t=u;c[v>>2]=b;c[s>>2]=e;c[o>>2]=c[v>>2];c[j>>2]=-1;c[n>>2]=-1;c[k>>2]=-1;c[l>>2]=-1;c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=5.0e6;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[p>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);e=c[p>>2]|0;b:do if(!(d[(c[p>>2]|0)+5>>0]|0)){if((d[e+4>>0]|0)==64){q=5;break a}}else{if((c[e>>2]|0)<0)e=1;else e=(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[f>>2]=e&1;if((c[j>>2]|0)<0?((c[f>>2]|0)!=0?(d[(c[p>>2]|0)+4>>0]|0)==2:0):0){c[(c[s>>2]|0)+20>>2]=1;h[(c[s>>2]|0)+40>>3]=1.0;c[j>>2]=c[g>>2]}if(((d[(c[p>>2]|0)+4>>0]|0)==64?(c[c[p>>2]>>2]|0)>=0:0)?(c[c[p>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[s>>2]|0)+20>>2]=2+(c[c[p>>2]>>2]|0);h[(c[s>>2]|0)+40>>3]=2.0;c[j>>2]=c[g>>2]}if((d[(c[p>>2]|0)+4>>0]|0)==2?(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[n>>2]=c[g>>2];if(c[f>>2]|0)switch(d[(c[p>>2]|0)+4>>0]|0){case 4:case 32:{c[k>>2]=c[g>>2];break b}case 16:case 8:{c[l>>2]=c[g>>2];break b}default:break b}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((q|0)==5){c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=1.e+50;Jp(c[s>>2]|0,0,262144);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)==1)Kp(c[s>>2]|0);c[m>>2]=1;if((c[j>>2]|0)>=0){v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=v;a[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1}if((c[n>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=v}if((c[k>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=v}if((c[l>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=v}do if((c[(c[s>>2]|0)+8>>2]|0)==1){c[t>>2]=c[(c[s>>2]|0)+12>>2];if((c[c[t>>2]>>2]|0)>=0?(c[c[t>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;e=(c[s>>2]|0)+24|0;if(a[(c[t>>2]|0)+4>>0]|0)c[e>>2]=23624;else c[e>>2]=23629;c[(c[s>>2]|0)+32>>2]=1}while(0);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}function Sk(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[f>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Xd(c[(c[d>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[d>>2]|0)+240>>2]|0);Kd(c[(c[d>>2]|0)+216>>2]|0);Kd(c[(c[d>>2]|0)+220>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);Tb[c[(c[c[(c[d>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+36>>2]|0)|0;Kd(c[d>>2]|0);i=e;return 0}function Tk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;g=n;b=n+56|0;e=n+52|0;f=n+48|0;m=n+44|0;d=n+40|0;c[b>>2]=a;c[e>>2]=c[b>>2];c[f>>2]=0;c[m>>2]=c[(c[e>>2]|0)+16>>2];c[d>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[(c[e>>2]|0)+40>>2]|0)){a=c[d>>2]|0;o=c[(c[e>>2]|0)+20>>2]|0;c[g>>2]=c[m>>2];c[g+4>>2]=o;nl(f,a,23824,g)}o=c[d>>2]|0;g=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=g;nl(f,o,23861,k);o=c[d>>2]|0;k=c[(c[e>>2]|0)+20>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;nl(f,o,23899,l);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=l;nl(f,o,23935,h);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=l;nl(f,o,23972,j);if(!(c[f>>2]|0)){o=Sk(c[b>>2]|0)|0;i=n;return o|0}else{o=c[f>>2]|0;i=n;return o|0}return 0}function Uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=Id(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){d=c[d>>2]|0;a=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;i=f;return g|0}return 0}function Vk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Xd(c[(c[d>>2]|0)+8>>2]|0)|0;gp(c[(c[d>>2]|0)+12>>2]|0);Ip(c[d>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);zm(c[(c[d>>2]|0)+92>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Wk(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+112|0;B=E+32|0;A=E;t=E+108|0;u=E+104|0;k=E+100|0;n=E+96|0;l=E+88|0;z=E+84|0;D=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;q=E+64|0;r=E+60|0;x=E+56|0;y=E+52|0;m=E+48|0;p=E+44|0;s=E+40|0;c[u>>2]=e;c[k>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[l>>2]=j;c[z>>2]=0;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[u>>2];c[q>>2]=0;c[r>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[k>>2]&65535;c[m>>2]=0;if(c[o>>2]|0){e=c[m>>2]|0;c[m>>2]=e+1;c[q>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&65536){e=c[m>>2]|0;c[m>>2]=e+1;c[r>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&131072){e=c[m>>2]|0;c[m>>2]=e+1;c[x>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&262144){e=c[m>>2]|0;c[m>>2]=e+1;c[y>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}Xd(c[(c[w>>2]|0)+8>>2]|0)|0;Kd(c[(c[w>>2]|0)+44>>2]|0);zm(c[(c[w>>2]|0)+92>>2]|0);gp(c[(c[w>>2]|0)+12>>2]|0);k=(c[u>>2]|0)+4|0;l=k+92|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));e=hp(c[x>>2]|0,0,-2147483648)|0;h=(c[w>>2]|0)+72|0;c[h>>2]=e;c[h+4>>2]=C;h=hp(c[y>>2]|0,-1,2147483647)|0;e=(c[w>>2]|0)+80|0;c[e>>2]=h;c[e+4>>2]=C;if(c[n>>2]|0)a[(c[w>>2]|0)+52>>0]=(a[c[n>>2]>>0]|0)==68;else a[(c[w>>2]|0)+52>>0]=a[(c[v>>2]|0)+231>>0]|0;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[p>>2]=(c[o>>2]|0)-2;c[s>>2]=$d(c[q>>2]|0)|0;if((c[s>>2]|0)==0?(ee(c[q>>2]|0)|0)!=5:0){c[t>>2]=7;D=c[t>>2]|0;i=E;return D|0}c[(c[w>>2]|0)+16>>2]=0;if(c[r>>2]|0){r=ce(c[r>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=r}c[z>>2]=ip(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[p>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}c[z>>2]=jp(c[w>>2]|0)|0;ym(c[v>>2]|0);if(!(c[z>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}while(0);do if(!(c[o>>2]|0)){k=c[(c[v>>2]|0)+216>>2]|0;l=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=l+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;B=(d[(c[w>>2]|0)+52>>0]|0)!=0?23624:23629;c[A>>2]=k;y=A+8|0;c[y>>2]=q;c[y+4>>2]=r;y=A+16|0;c[y>>2]=s;c[y+4>>2]=x;c[A+24>>2]=B;c[D>>2]=Od(23633,A)|0}else{A=(d[l+52>>0]|0)!=0?23624:23629;c[B>>2]=k;c[B+4>>2]=A;c[D>>2]=Od(23695,B)|0}if(c[D>>2]|0){c[z>>2]=af(c[(c[v>>2]|0)+12>>2]|0,c[D>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;Kd(c[D>>2]|0);break}else{c[z>>2]=7;break}}else if((c[o>>2]|0)==1?(c[z>>2]=Fn(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[z>>2]|0)==0):0)c[z>>2]=Oe(c[(c[w>>2]|0)+8>>2]|0,1,c[q>>2]|0)|0;while(0);if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}else{c[t>>2]=Xk(c[u>>2]|0)|0;D=c[t>>2]|0;i=E;return D|0}return 0}function Xk(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=d;c[f>>2]=c[e>>2];if((b[(c[f>>2]|0)+4>>1]|0)!=1?(b[(c[f>>2]|0)+4>>1]|0)!=0:0){c[g>>2]=fp(c[e>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}d=100!=(te(c[(c[f>>2]|0)+8>>2]|0)|0);e=c[f>>2]|0;if(d){a[e+6>>0]=1;c[g>>2]=Yd(c[(c[f>>2]|0)+8>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}else{d=De(c[e+8>>2]|0,0)|0;f=(c[f>>2]|0)+32|0;c[f>>2]=d;c[f+4>>2]=C;c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function Yk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+6>>0]|0|0}function Zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;e=l+20|0;f=l+16|0;k=l+12|0;j=l+8|0;h=l+4|0;g=l;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[k>>2]=0;c[j>>2]=c[m>>2];c[h>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+1|0)){m=(c[j>>2]|0)+32|0;ke(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==(c[(c[h>>2]|0)+24>>2]|0)){fe(c[e>>2]|0,j,4,-1);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[(c[j>>2]|0)+16>>2]|0;ke(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[k>>2]|0;i=l;return m|0}c[k>>2]=tn(0,c[j>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)){c[g>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0)c[g>>2]=Ce(c[(c[j>>2]|0)+8>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+1|0)|0;je(c[e>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}else{m=ye(c[(c[j>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[k>>2]|0;i=l;return m|0}m=c[e>>2]|0;oe(m,Fe(c[(c[j>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[k>>2]|0;i=l;return m|0}return 0}function _k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function $k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Go(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function al(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=ll(c[d>>2]|0)|0;i=b;return a|0}function bl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;h=g+20|0;e=g+12|0;f=g+8|0;d=g+4|0;b=g;c[h>>2]=a;c[g+16>>2]=64;c[e>>2]=c[h>>2];c[f>>2]=ml(c[e>>2]|0)|0;if(((((c[f>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)>>>0>4:0)?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)?(c[(c[e>>2]|0)+48>>2]|0)!=255:0)?(c[d>>2]=0,c[f>>2]=fo(c[e>>2]|0,d)|0,c[b>>2]=_(c[(c[e>>2]|0)+52>>2]|0,c[d>>2]|0)|0,c[b>>2]=(c[b>>2]|0)+((c[b>>2]|0)/2|0),(c[b>>2]|0)>64):0)c[f>>2]=go(c[e>>2]|0,c[b>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;ym(c[e>>2]|0);i=g;return c[f>>2]|0}function cl(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function dl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];jl(c[d>>2]|0);i=b;return 0}function el(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+64|0;j=m+60|0;g=m+48|0;k=m+44|0;l=m+8|0;h=m;c[m+56>>2]=a;c[m+52>>2]=b;c[g>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[l>>2]=c[520];c[l+4>>2]=c[521];c[l+8>>2]=c[522];c[l+12>>2]=c[523];c[l+16>>2]=c[524];c[l+20>>2]=c[525];c[l+24>>2]=c[526];c[l+28>>2]=c[527];c[h>>2]=0;while(1){if((c[h>>2]|0)>=4){b=6;break}d=(hR(c[g>>2]|0,c[l+(c[h>>2]<<3)>>2]|0)|0)==0;a=c[h>>2]|0;if(d){b=4;break}c[h>>2]=a+1}if((b|0)==4){c[c[k>>2]>>2]=c[l+(a<<3)+4>>2];c[j>>2]=1;l=c[j>>2]|0;i=m;return l|0}else if((b|0)==6){c[j>>2]=0;l=c[j>>2]|0;i=m;return l|0}return 0}function fl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+96|0;l=o+64|0;k=o+48|0;n=o+32|0;m=o+16|0;j=o;p=o+92|0;e=o+88|0;g=o+84|0;f=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[g>>2]=c[p>>2];c[f>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=ll(c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=ml(c[g>>2]|0)|0;if(!(c[(c[g>>2]|0)+40>>2]|0)){p=c[f>>2]|0;b=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[j>>2]=c[(c[g>>2]|0)+16>>2];c[j+4>>2]=b;c[j+8>>2]=d;nl(h,p,20617,j)}if(a[(c[g>>2]|0)+230>>0]|0){p=c[f>>2]|0;j=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[m+4>>2]=j;c[m+8>>2]=d;nl(h,p,20670,m)}if(a[(c[g>>2]|0)+229>>0]|0){p=c[f>>2]|0;m=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[n>>2]=c[(c[g>>2]|0)+16>>2];c[n+4>>2]=m;c[n+8>>2]=d;nl(h,p,20723,n)}p=c[f>>2]|0;d=c[(c[g>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[g>>2]|0)+16>>2];c[k+4>>2]=d;c[k+8>>2]=n;nl(h,p,20770,k);p=c[f>>2]|0;n=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[l>>2]=c[(c[g>>2]|0)+16>>2];c[l+4>>2]=n;c[l+8>>2]=d;nl(h,p,20824,l);i=o;return c[h>>2]|0}function gl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=bl(c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function hl(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];jl(c[e>>2]|0);i=d;return 0}function jl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];kl(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}pk(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+260>>2]=0;i=h;return}function kl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function ll(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;e=m+28|0;h=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;c[e>>2]=b;c[h>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){l=c[h>>2]|0;i=m;return l|0}c[k>>2]=23181;k=c[k>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[(c[e>>2]|0)+16>>2];c[j+4>>2]=b;c[l>>2]=Od(k,j)|0;if(!(c[l>>2]|0)){c[h>>2]=7;l=c[h>>2]|0;i=m;return l|0}c[g>>2]=0;c[h>>2]=af(c[(c[e>>2]|0)+12>>2]|0,c[l>>2]|0,-1,g,0)|0;if((c[h>>2]|0)==0?(c[f>>2]=(te(c[g>>2]|0)|0)==100&1,c[h>>2]=Xd(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[f>>2];Kd(c[l>>2]|0);l=c[h>>2]|0;i=m;return l|0}function ml(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=0;while(1){if(!(c[h>>2]|0))a=(c[f>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;b=ol(b,c[(c[e>>2]|0)+272>>2]|0,c[f>>2]|0,-1)|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)==101?0:b;c[f>>2]=(c[f>>2]|0)+1}jl(b);if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=0;c[h>>2]=pl(c[e>>2]|0,22,g,0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}Ke(c[g>>2]|0,1,2)|0;c[h>>2]=te(c[g>>2]|0)|0;if((c[h>>2]|0)==100){f=Ce(c[g>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=f;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[h>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[h>>2]=Yd(c[g>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+32|0;g=l+28|0;h=l+24|0;j=l+8|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=l;return}c[j>>2]=e;c[k>>2]=Nd(c[h>>2]|0,j)|0;if(!(c[k>>2]|0)){c[c[f>>2]>>2]=7;i=l;return}else{d=$e(c[g>>2]|0,c[k>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=d;Kd(c[k>>2]|0);i=l;return}}function ol(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+128|0;f=s+120|0;g=s+116|0;h=s+112|0;j=s+108|0;r=s+104|0;n=s+100|0;p=s+8|0;q=s+96|0;m=s+80|0;l=s+24|0;k=s+16|0;o=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;a=p;c[a>>2]=0;c[a+4>>2]=0;c[q>>2]=0;c[k>>2]=0;a=o;c[a>>2]=0;c[a+4>>2]=0;c[r>>2]=ql(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,0,1,0,l)|0;do if((c[r>>2]|0)==0?(c[l+4>>2]|0)!=0:0){if((c[j>>2]|0)!=-1?(c[r>>2]=rl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,o)|0,(c[r>>2]|0)!=0):0)break;if((c[j>>2]|0)==-2){if((c[l+4>>2]|0)==1?0==((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0):0){c[r>>2]=101;break}b=o;e=c[b+4>>2]|0;a=p;c[a>>2]=c[b>>2];c[a+4>>2]=e;c[k>>2]=1}else{e=sl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0)|0;a=p;c[a>>2]=e;c[a+4>>2]=C;c[r>>2]=tl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0,n)|0;if((c[j>>2]|0)!=-1){a=p;b=c[a+4>>2]|0;d=o;e=c[d+4>>2]|0;d=(b|0)>(e|0)|((b|0)==(e|0)?(c[a>>2]|0)>>>0>(c[d>>2]|0)>>>0:0)}else d=0;c[k>>2]=d&1}if(!(c[r>>2]|0)){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+12>>2]=1;a=m+12|0;c[a>>2]=c[a>>2]|((c[k>>2]|0)!=0?2:0);c[r>>2]=ul(c[f>>2]|0,l,m)|0;while(1){if(c[r>>2]|0)break;c[r>>2]=vl(c[f>>2]|0,l)|0;if((c[r>>2]|0)!=100)break;c[r>>2]=wl(c[f>>2]|0,q,1,c[l+40>>2]|0,c[l+44>>2]|0,c[l+48>>2]|0,c[l+52>>2]|0)|0}if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1){c[r>>2]=xl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;if(!((c[r>>2]|0)==0&(c[q>>2]|0)!=0))break}else if(!(c[q>>2]|0))break;m=p;c[r>>2]=yl(c[f>>2]|0,c[q>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[n>>2]|0)|0;if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1?(n=p,k=c[n+4>>2]|0,o,m=c[o+4>>2]|0,!((k|0)<(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0))):0)break;o=p;p=(c[q>>2]|0)+56|0;c[r>>2]=zl(c[f>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}}}while(0);Al(c[q>>2]|0);Bl(l);i=s;return c[r>>2]|0}function pl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+240|0;o=t+24|0;n=t+16|0;g=t;h=t+228|0;j=t+224|0;q=t+220|0;k=t+216|0;f=t+56|0;s=t+48|0;r=t+44|0;p=t+40|0;l=t+36|0;m=t+32|0;c[h>>2]=a;c[j>>2]=b;c[q>>2]=d;c[k>>2]=e;TR(f|0,1920,160)|0;c[s>>2]=0;c[r>>2]=c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2];do if(!(c[r>>2]|0)){a=c[j>>2]|0;do if((c[j>>2]|0)!=18){e=c[f+(c[j>>2]<<2)>>2]|0;b=c[h>>2]|0;if((a|0)==7){c[n>>2]=c[b+216>>2];c[p>>2]=Od(e,n)|0;break}else{n=c[(c[h>>2]|0)+20>>2]|0;c[o>>2]=c[b+16>>2];c[o+4>>2]=n;c[p>>2]=Od(e,o)|0;break}}else{o=c[f+(a<<2)>>2]|0;f=c[(c[h>>2]|0)+20>>2]|0;n=c[(c[h>>2]|0)+220>>2]|0;c[g>>2]=c[(c[h>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=n;c[p>>2]=Od(o,g)|0}while(0);if(c[p>>2]|0){c[s>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[p>>2]|0,-1,r,0)|0;Kd(c[p>>2]|0);c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2]=c[r>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[k>>2]|0)){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}c[m>>2]=Qe(c[r>>2]|0)|0;c[l>>2]=0;while(1){if(c[s>>2]|0){e=15;break}if((c[l>>2]|0)>=(c[m>>2]|0)){e=15;break}c[s>>2]=Oe(c[r>>2]|0,(c[l>>2]|0)+1|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1}if((e|0)==15){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}return 0}function ql(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;s=u+4|0;t=u;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;d=c[t>>2]|0;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));t=jm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;i=u;return t|0}function rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=pl(c[g>>2]|0,15,l,0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}m=c[l>>2]|0;e=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Le(m,1,e,C)|0;e=c[l>>2]|0;m=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Le(e,2,m,C)|0;if(100==(te(c[l>>2]|0)|0)){e=De(c[l>>2]|0,0)|0;m=c[k>>2]|0;c[m>>2]=e;c[m+4>>2]=C}c[f>>2]=Yd(c[l>>2]|0)|0;m=c[f>>2]|0;i=n;return m|0}function sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;k=f+20|0;l=f+16|0;j=f+12|0;g=f+8|0;h=f;c[k>>2]=a;c[l>>2]=b;c[j>>2]=d;c[g>>2]=e;a=c[l>>2]|0;e=c[(c[k>>2]|0)+248>>2]|0;e=aS(a|0,((a|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=c[j>>2]|0;a=RR(e|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;a=aS(a|0,C|0,1024,0)|0;e=h;c[e>>2]=a;c[e+4>>2]=C;e=h;a=c[g>>2]|0;a=RR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=f;return a|0}function tl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[o>>2]=pl(c[g>>2]|0,8,n,0)|0;if(!(c[o>>2]|0)){a=c[n>>2]|0;f=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Le(a,1,f,C)|0;if(100==(te(c[n>>2]|0)|0))c[m>>2]=Ce(c[n>>2]|0,0)|0;c[o>>2]=Yd(c[n>>2]|0)|0}if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[m>>2]|0)>=16){c[o>>2]=ol(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=0;o=c[o>>2]|0;i=p;return o|0}else{c[c[l>>2]>>2]=c[m>>2];o=c[o>>2]|0;i=p;return o|0}return 0}function ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=hm(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;i=e;return d|0}function vl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+128|0;f=K+120|0;g=K+116|0;h=K+112|0;H=K+108|0;s=K+104|0;u=K+100|0;q=K+96|0;t=K+92|0;v=K+88|0;r=K+84|0;l=K+80|0;B=K+76|0;E=K+72|0;I=K+68|0;A=K+64|0;m=K+60|0;G=K+56|0;y=K+52|0;p=K+16|0;w=K+48|0;F=K+44|0;z=K+40|0;x=K+36|0;o=K+8|0;n=K;k=K+32|0;j=K+28|0;D=K+24|0;c[g>>2]=b;c[h>>2]=e;c[H>>2]=0;c[s>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&2;c[u>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&1;c[q>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&4;c[t>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&8;c[v>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&16;c[r>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&32;c[l>>2]=c[c[h>>2]>>2];c[B>>2]=c[(c[h>>2]|0)+4>>2];c[E>>2]=c[(c[h>>2]|0)+12>>2];c[I>>2]=(d[(c[g>>2]|0)+231>>0]|0)!=0?182:183;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[f>>2]=0;J=c[f>>2]|0;i=K;return J|0}a:while(1){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0))break;c[G>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];if(a[(c[G>>2]|0)+4>>0]|0)Ql(c[G>>2]|0);else c[H>>2]=Rl(c[g>>2]|0,c[G>>2]|0,0)|0;if(c[H>>2]|0){J=9;break a}c[m>>2]=(c[m>>2]|0)+1}Tl(c[l>>2]|0,c[B>>2]|0,c[(c[h>>2]|0)+8>>2]|0,184);c[(c[h>>2]|0)+8>>2]=0;if(!(c[(c[c[l>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[h>>2]|0)+44>>2]=c[(c[c[l>>2]>>2]|0)+60>>2];c[(c[h>>2]|0)+40>>2]=c[(c[c[l>>2]>>2]|0)+64>>2];if(!((c[v>>2]|0)!=0?1:(c[c[E>>2]>>2]|0)==0)){if((c[(c[h>>2]|0)+44>>2]|0)<(c[(c[E>>2]|0)+4>>2]|0)){J=61;break}if((c[t>>2]|0)==0?(c[(c[h>>2]|0)+44>>2]|0)>(c[(c[E>>2]|0)+4>>2]|0):0){J=61;break}if(eR(c[(c[h>>2]|0)+40>>2]|0,c[c[E>>2]>>2]|0,c[(c[E>>2]|0)+4>>2]|0)|0){J=61;break}}c[A>>2]=1;while(1){if(((c[A>>2]|0)<(c[B>>2]|0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0):0)e=0==(eR(c[(c[h>>2]|0)+40>>2]|0,c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+64>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0);else e=0;b=c[A>>2]|0;if(!e)break;c[A>>2]=b+1}do if(!((b|0)!=1|(c[s>>2]|0)!=0|(c[r>>2]|0)!=0)){if((d[(c[g>>2]|0)+231>>0]|0)!=0?((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){J=32;break}c[(c[h>>2]|0)+52>>2]=c[(c[c[l>>2]>>2]|0)+76>>2];if(c[(c[c[l>>2]>>2]|0)+56>>2]|0){c[H>>2]=Ul(c[h>>2]|0,c[(c[c[l>>2]>>2]|0)+72>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2]}else c[(c[h>>2]|0)+48>>2]=c[(c[c[l>>2]>>2]|0)+72>>2];if(!(c[H>>2]|0))c[H>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[y>>2]=0;e=p;c[e>>2]=0;c[e+4>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[A>>2]|0))break;Vl(c[g>>2]|0,c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}Tl(c[l>>2]|0,c[A>>2]|0,c[A>>2]|0,c[I>>2]|0);while(1){if(!(c[(c[c[l>>2]>>2]|0)+80>>2]|0))break;c[F>>2]=0;c[z>>2]=0;L=(c[c[l>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=o;c[e>>2]=c[L>>2];c[e+4>>2]=b;Wl(c[g>>2]|0,c[c[l>>2]>>2]|0,F,z)|0;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[A>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+88|0;L=o;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;Wl(c[g>>2]|0,c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0,0,0)|0;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0)Xl(c[(c[E>>2]|0)+8>>2]|0,0,F,z);do if((c[s>>2]|0)==0|(c[z>>2]|0)>0){if((c[y>>2]|0)>0?(d[(c[g>>2]|0)+231>>0]|0)!=0:0){L=p;e=o;e=QR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}else{L=o;e=p;e=QR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}L=n;L=Jl(c[L>>2]|0,c[L+4>>2]|0)|0;c[x>>2]=L+((c[u>>2]|0)!=0?(c[z>>2]|0)+1|0:0);if(((c[y>>2]|0)+(c[x>>2]|0)|0)>(c[(c[h>>2]|0)+20>>2]|0)){c[(c[h>>2]|0)+20>>2]=(c[y>>2]|0)+(c[x>>2]|0)<<1;c[k>>2]=Ld(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0;if(!(c[k>>2]|0)){J=50;break a}c[(c[h>>2]|0)+16>>2]=c[k>>2]}b=(c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0;if(c[r>>2]|0){c[j>>2]=b;L=n;c[D>>2]=Yl(c[L>>2]|0,c[L+4>>2]|0,c[F>>2]|0,c[z>>2]|0,c[j>>2]|0)|0;if(!(c[D>>2]|0))break;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[y>>2]=(c[y>>2]|0)+(c[D>>2]|0);break}else{e=n;b=Kl(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+b;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[u>>2]|0))break;TR((c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0,c[F>>2]|0,c[z>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+(c[z>>2]|0);L=c[y>>2]|0;c[y>>2]=L+1;a[(c[(c[h>>2]|0)+16>>2]|0)+L>>0]=0;break}}while(0);Tl(c[l>>2]|0,c[A>>2]|0,c[w>>2]|0,c[I>>2]|0)}if((c[y>>2]|0)>0){c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+52>>2]=c[y>>2];c[H>>2]=100}}c[(c[h>>2]|0)+8>>2]=c[A>>2];if(c[H>>2]|0){J=61;break}}if((J|0)==9){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}else if((J|0)==50){c[f>>2]=7;L=c[f>>2]|0;i=K;return L|0}else if((J|0)==61){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}return 0}function wl(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+44|0;q=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;r=B+4|0;A=B;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[x>>2]=c[c[l>>2]>>2];if(!(c[x>>2]|0)){c[x>>2]=Id(64)|0;if(!(c[x>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}g=c[x>>2]|0;d=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(d|0));c[c[l>>2]>>2]=c[x>>2];l=Id(c[(c[k>>2]|0)+224>>2]|0)|0;c[(c[x>>2]|0)+48>>2]=l;if(!(c[(c[x>>2]|0)+48>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+40>>2]=c[(c[k>>2]|0)+224>>2];c[y>>2]=pl(c[k>>2]|0,10,w,0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}if(100==(te(c[w>>2]|0)|0)){e=De(c[w>>2]|0,0)|0;b=(c[x>>2]|0)+16|0;c[b>>2]=e;c[b+4>>2]=C;b=(c[x>>2]|0)+16|0;e=c[b+4>>2]|0;l=(c[x>>2]|0)+8|0;c[l>>2]=c[b>>2];c[l+4>>2]=e}c[y>>2]=Yd(c[w>>2]|0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}}c[s>>2]=c[(c[x>>2]|0)+44>>2];c[t>>2]=Ml(c[(c[x>>2]|0)+24>>2]|0,c[(c[x>>2]|0)+28>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[o>>2]|0)-(c[t>>2]|0);y=c[t>>2]|0;y=Jl(y,((y|0)<0)<<31>>31)|0;w=c[v>>2]|0;w=y+(Jl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(c[v>>2]|0)|0;y=c[q>>2]|0;y=w+(Jl(y,((y|0)<0)<<31>>31)|0)|0;c[u>>2]=y+(c[q>>2]|0);do if((c[s>>2]|0)>0?((c[s>>2]|0)+(c[u>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){l=c[k>>2]|0;e=(c[x>>2]|0)+16|0;y=e;w=c[y>>2]|0;y=c[y+4>>2]|0;b=RR(w|0,y|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=C;c[z>>2]=Fl(l,w,y,c[(c[x>>2]|0)+48>>2]|0,c[s>>2]|0)|0;if(c[z>>2]|0){c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}y=(c[k>>2]|0)+52|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=Nl(c[k>>2]|0,c[x>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[s>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[t>>2]=0;c[v>>2]=c[o>>2];y=c[o>>2]|0;y=1+(Jl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(c[o>>2]|0)|0;z=c[q>>2]|0;z=y+(Jl(z,((z|0)<0)<<31>>31)|0)|0;c[u>>2]=z+(c[q>>2]|0);break}c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}while(0);y=c[u>>2]|0;z=(c[x>>2]|0)+56|0;w=z;y=RR(c[w>>2]|0,c[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;c[z>>2]=y;c[z+4>>2]=C;do if((c[u>>2]|0)>(c[(c[x>>2]|0)+40>>2]|0)){c[r>>2]=Ld(c[(c[x>>2]|0)+48>>2]|0,c[u>>2]|0)|0;if(c[r>>2]|0){c[(c[x>>2]|0)+48>>2]=c[r>>2];c[(c[x>>2]|0)+40>>2]=c[u>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);z=c[t>>2]|0;z=Kl((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;z=c[v>>2]|0;z=Kl((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;TR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,(c[n>>2]|0)+(c[t>>2]|0)|0,c[v>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[v>>2]|0);z=c[q>>2]|0;z=Kl((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;TR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[(c[x>>2]|0)+44>>2]=(c[s>>2]|0)+(c[q>>2]|0);if(c[m>>2]|0){do if((c[o>>2]|0)>(c[(c[x>>2]|0)+32>>2]|0)){c[A>>2]=Ld(c[(c[x>>2]|0)+36>>2]|0,c[o>>2]<<1)|0;if(c[A>>2]|0){c[(c[x>>2]|0)+32>>2]=c[o>>2]<<1;c[(c[x>>2]|0)+36>>2]=c[A>>2];c[(c[x>>2]|0)+24>>2]=c[A>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);TR(c[(c[x>>2]|0)+24>>2]|0,c[n>>2]|0,c[o>>2]|0)|0}else c[(c[x>>2]|0)+24>>2]=c[n>>2];c[(c[x>>2]|0)+28>>2]=c[o>>2];c[j>>2]=0;A=c[j>>2]|0;i=B;return A|0}function xl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;j=s+12|0;r=s+8|0;k=s+4|0;q=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[j>>2]=g;c[r>>2]=0;c[q>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[r>>2]=Ll(c[m>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}if(c[r>>2]|0){c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}h=c[m>>2]|0;if((c[p>>2]|0)==-2){c[r>>2]=pl(h,26,q,0)|0;if(!(c[r>>2]|0)){p=c[q>>2]|0;a=sl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,0)|0;Le(p,1,a,C)|0;a=c[q>>2]|0;p=sl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1023)|0;Le(a,2,p,C)|0}}else{c[r>>2]=pl(h,16,q,0)|0;if(!(c[r>>2]|0)){a=c[q>>2]|0;p=sl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;Le(a,1,p,C)|0}}if(!(c[r>>2]|0)){te(c[q>>2]|0)|0;c[r>>2]=Yd(c[q>>2]|0)|0}c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}function yl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+44|0;h=q+40|0;j=q+16|0;k=q+36|0;o=q+32|0;l=q+8|0;m=q;p=q+28|0;n=q+24|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;if(!(c[c[h>>2]>>2]|0)){b=j;p=(c[h>>2]|0)+56|0;c[o>>2]=Hl(c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[k>>2]|0,0,0,0,0,0,0,c[p>>2]|0,c[p+4>>2]|0,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}b=l;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[n>>2]=0;b=(c[h>>2]|0)+16|0;e=c[b+4>>2]|0;f=m;c[f>>2]=c[b>>2];c[f+4>>2]=e;f=c[g>>2]|0;e=(c[h>>2]|0)+16|0;b=e;a=c[b>>2]|0;b=c[b+4>>2]|0;d=RR(a|0,b|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[o>>2]=Fl(f,a,b,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;if(!(c[o>>2]|0)){a=(c[h>>2]|0)+8|0;b=(c[h>>2]|0)+16|0;c[o>>2]=Gl(c[g>>2]|0,c[c[h>>2]>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,l,p,n)|0}if(c[o>>2]|0){p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}f=(c[h>>2]|0)+8|0;a=l;b=(c[h>>2]|0)+56|0;c[o>>2]=Hl(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[p>>2]|0,c[n>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}function zl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+80|0;g=v+72|0;h=v+40|0;j=v+32|0;t=v+68|0;q=v+64|0;k=v+60|0;n=v+24|0;o=v+16|0;p=v+8|0;l=v;m=v+56|0;r=v+52|0;s=v+48|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;c[t>>2]=0;c[t>>2]=pl(c[g>>2]|0,37,q,0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}c[k>>2]=0;f=h;f=_R(c[f>>2]|0,c[f+4>>2]|0,1024,0)|0;f=RR(f|0,C|0,1,0)|0;f=aS(f|0,C|0,1024,0)|0;f=QR(f|0,C|0,1,0)|0;a=n;c[a>>2]=f;c[a+4>>2]=C;a=j;a=aS(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;a=_R(a|0,C|0,2,0)|0;j=o;c[j>>2]=a;c[j+4>>2]=C;j=c[q>>2]|0;a=h;a=RR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;Le(j,1,a,C)|0;a=n;Le(c[q>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;while(1){if(100!=(te(c[q>>2]|0)|0))break;a=p;c[a>>2]=0;c[a+4>>2]=0;El(c[q>>2]|0,2,l,p);a=p;n=c[a+4>>2]|0;if((n|0)<0|(n|0)==0&(c[a>>2]|0)>>>0<=0){u=6;break}n=p;f=c[n+4>>2]|0;a=o;j=c[a+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[n>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)){u=6;break}c[k>>2]=1}if((u|0)==6)c[k>>2]=0;c[t>>2]=Yd(c[q>>2]|0)|0;if(!(c[k>>2]|0)){u=c[t>>2]|0;i=v;return u|0}c[m>>2]=0;c[r>>2]=0;c[s>>2]=0;if(!(c[t>>2]|0))c[t>>2]=pl(c[g>>2]|0,38,r,0)|0;if(!(c[t>>2]|0))c[t>>2]=pl(c[g>>2]|0,39,s,0)|0;a:do if(!(c[t>>2]|0)){u=h;Le(c[q>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(te(c[q>>2]|0)|0))break a;a=c[r>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;Ke(a,1,u)|0;u=c[r>>2]|0;Ke(u,2,Ce(c[q>>2]|0,0)|0)|0;u=c[r>>2]|0;Ke(u,3,Ce(c[q>>2]|0,1)|0)|0;te(c[r>>2]|0)|0;c[t>>2]=Yd(c[r>>2]|0)|0}while((c[t>>2]|0)==0);Yd(c[q>>2]|0)|0}while(0);if(!(c[t>>2]|0))c[t>>2]=Yd(c[q>>2]|0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}u=h;Le(c[s>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;te(c[s>>2]|0)|0;c[t>>2]=Yd(c[s>>2]|0)|0;u=c[t>>2]|0;i=v;return u|0}function Al(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);Dl(c[c[b>>2]>>2]|0);Kd(c[b>>2]|0);i=d;return}function Bl(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;Cl(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Kd(c[c[b>>2]>>2]|0);Kd(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;i=e;return}function Cl(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))Kd(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;a=c[b>>2]|0;Kd(a);i=e;return}function Dl(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];Dl(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))Kd(c[(c[d>>2]|0)+36>>2]|0);Kd(c[(c[d>>2]|0)+28>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}i=f;return}function El(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;k=n+8|0;l=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[h>>2]=f;c[m>>2]=Ee(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}c[k>>2]=1;p=l;c[p>>2]=0;c[p+4>>2]=0;c[j>>2]=0;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=aS(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=RR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=a;c[p+4>>2]=e;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=32)break;c[j>>2]=(c[j>>2]|0)+1}p=l;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)==45){c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=-1}while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=aS(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=RR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}o=c[k>>2]|0;o=aS(a|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[h>>2]|0;c[p>>2]=o;c[p+4>>2]=C;i=n;return}function Fl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+24|0;g=m;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;c[n>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=f;c[l>>2]=pl(c[n>>2]|0,9,k,0)|0;if(c[l>>2]|0){n=c[l>>2]|0;i=m;return n|0}n=g;Le(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;Ie(c[k>>2]|0,2,c[h>>2]|0,c[j>>2]|0,0)|0;te(c[k>>2]|0)|0;c[l>>2]=Yd(c[k>>2]|0)|0;n=c[l>>2]|0;i=m;return n|0}function Gl(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;o=B+72|0;p=B+68|0;q=B+64|0;r=B+24|0;s=B+16|0;t=B+60|0;m=B+56|0;n=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;b=r;c[b>>2]=e;c[b+4>>2]=f;b=s;c[b>>2]=g;c[b+4>>2]=h;c[t>>2]=j;c[m>>2]=k;c[n>>2]=l;c[A>>2]=0;if(!(c[c[p>>2]>>2]|0)){j=r;c[w>>2]=Il(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=s;j=QR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;l=c[t>>2]|0;c[l>>2]=j;c[l+4>>2]=C;c[c[n>>2]>>2]=(c[(c[p>>2]|0)+32>>2]|0)-(c[w>>2]|0);c[c[m>>2]>>2]=(c[(c[p>>2]|0)+36>>2]|0)+(c[w>>2]|0);A=c[A>>2]|0;i=B;return A|0}l=s;j=c[l+4>>2]|0;k=u;c[k>>2]=c[l>>2];c[k+4>>2]=j;k=r;j=c[k+4>>2]|0;l=v;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0?(c[A>>2]|0)==0:0))break;l=v;c[x>>2]=Il(c[z>>2]|0,c[q>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;c[y>>2]=(c[(c[z>>2]|0)+32>>2]|0)-(c[x>>2]|0);l=u;c[A>>2]=Fl(c[o>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[(c[z>>2]|0)+36>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)|0;l=u;l=RR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;j=u;c[j>>2]=l;c[j+4>>2]=C;j=(c[(c[z>>2]|0)+12>>2]|0)+1|0;l=v;j=RR(c[l>>2]|0,c[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;l=v;c[l>>2]=j;c[l+4>>2]=C;c[z>>2]=c[(c[z>>2]|0)+4>>2]}if(c[A>>2]|0){A=c[A>>2]|0;i=B;return A|0}j=s;l=u;c[A>>2]=Gl(c[o>>2]|0,c[c[p>>2]>>2]|0,(c[q>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0,c[t>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;A=c[A>>2]|0;i=B;return A|0}function Hl(a,b,d,e,f,g,h,j,k,l,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;B=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;a=t;c[a>>2]=f;c[a+4>>2]=g;a=u;c[a>>2]=h;c[a+4>>2]=j;a=v;c[a>>2]=k;c[a+4>>2]=l;a=w;c[a>>2]=m;c[a+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=pl(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;Le(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;Ke(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;Le(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;Le(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;Le(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{e=v;p=c[e+4>>2]|0;o=w;a=c[o>>2]|0;o=c[o+4>>2]|0;E=B;c[E>>2]=c[e>>2];c[E+4>>2]=p;E=B+8|0;c[E>>2]=a;c[E+4>>2]=o;c[C>>2]=Od(23153,B)|0;if(c[C>>2]|0){Ne(c[z>>2]|0,5,c[C>>2]|0,-1,148)|0;break}c[q>>2]=7;E=c[q>>2]|0;i=D;return E|0}while(0);Ie(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;te(c[z>>2]|0)|0;c[A>>2]=Yd(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;i=D;return E|0}function Il(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;j=h+16|0;l=h+12|0;k=h;g=h+8|0;c[j>>2]=b;c[l>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;b=k;c[g>>2]=10-(Jl(c[b>>2]|0,c[b+4>>2]|0)|0);a[(c[(c[j>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[l>>2];b=k;Kl((c[(c[j>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=h;return c[g>>2]|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=SR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=C;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);i=f;return c[e>>2]|0}function Kl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+20|0;l=k+8|0;h=k+16|0;j=k;c[g>>2]=b;b=l;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];e=l;f=c[e+4>>2]|0;b=j;c[b>>2]=c[e>>2];c[b+4>>2]=f;do{l=(c[j>>2]&127|128)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=l;b=j;b=SR(c[b>>2]|0,c[b+4>>2]|0,7)|0;l=j;c[l>>2]=b;c[l+4>>2]=C;l=j}while((c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0);l=(c[h>>2]|0)+-1|0;a[l>>0]=(d[l>>0]|0)&127;i=k;return (c[h>>2]|0)-(c[g>>2]|0)|0}function Ll(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=pl(c[d>>2]|0,17,f,0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}b=(c[e>>2]|0)+8|0;Le(c[f>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;b=(c[e>>2]|0)+24|0;Le(c[f>>2]|0,2,c[b>>2]|0,c[b+4>>2]|0)|0;te(c[f>>2]|0)|0;c[g>>2]=Yd(c[f>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}function Ml(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l+4>>2]=f;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0)){g=5;break}if((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)!=(a[(c[j>>2]|0)+(c[k>>2]|0)>>0]|0)){g=5;break}c[k>>2]=(c[k>>2]|0)+1}if((g|0)==5){i=l;return c[k>>2]|0}return 0}function Nl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;m=w+56|0;n=w+52|0;o=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;g=w+20|0;j=w+16|0;h=w+12|0;k=w+8|0;l=w+4|0;t=w;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[u>>2]=c[c[o>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[j>>2]=c[g>>2];c[h>>2]=Ml(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[k>>2]=(c[r>>2]|0)-(c[h>>2]|0);b=c[h>>2]|0;b=Jl(b,((b|0)<0)<<31>>31)|0;e=c[k>>2]|0;e=b+(Jl(e,((e|0)<0)<<31>>31)|0)|0;c[j>>2]=(c[j>>2]|0)+(e+(c[k>>2]|0));if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(c[(c[u>>2]|0)+16>>2]|0)!=0:0)break;if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(v=Id(c[j>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=v,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){v=c[h>>2]|0;v=Kl((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v}v=c[k>>2]|0;v=Kl((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v;TR((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[q>>2]|0)+(c[h>>2]|0)|0,c[k>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[k>>2]|0);v=(c[u>>2]|0)+12|0;c[v>>2]=(c[v>>2]|0)+1;if(c[p>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[r>>2]|0)){c[l>>2]=Ld(c[(c[u>>2]|0)+28>>2]|0,c[r>>2]<<1)|0;if(c[l>>2]|0){c[(c[u>>2]|0)+24>>2]=c[r>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[l>>2];break}c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];TR(c[(c[u>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+20>>2]=c[r>>2]}else{c[(c[u>>2]|0)+16>>2]=c[q>>2];c[(c[u>>2]|0)+20>>2]=c[r>>2]}c[m>>2]=0;v=c[m>>2]|0;i=w;return v|0}while(0);c[s>>2]=Id(40+(c[(c[n>>2]|0)+224>>2]|0)|0)|0;if(!(c[s>>2]|0)){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}d=c[s>>2]|0;g=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));c[(c[s>>2]|0)+32>>2]=11;c[(c[s>>2]|0)+36>>2]=(c[s>>2]|0)+40;if(c[u>>2]|0){c[t>>2]=c[c[u>>2]>>2];c[v>>2]=Nl(c[n>>2]|0,t,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[t>>2];c[(c[u>>2]|0)+4>>2]=c[s>>2];c[(c[s>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[s>>2]>>2]=c[t>>2];c[(c[s>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[s>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[s>>2]|0)+8>>2]=c[s>>2];c[v>>2]=Nl(c[n>>2]|0,s,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}c[c[o>>2]>>2]=c[s>>2];c[m>>2]=c[v>>2];v=c[m>>2]|0;i=w;return v|0}function Ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)<(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Pl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Ql(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0){a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}function Rl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;s=v+52|0;g=v+48|0;t=v+44|0;h=v+40|0;q=v+36|0;u=v+32|0;o=v+28|0;p=v+24|0;l=v+20|0;j=v+16|0;m=v+12|0;k=v+8|0;n=v+4|0;r=v;c[g>>2]=b;c[t>>2]=e;c[h>>2]=f;f=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[(c[t>>2]|0)+72>>2]|0)+(c[f+76>>2]|0);else c[u>>2]=c[f+40>>2];if(!((c[u>>2]|0)!=0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){f=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[l>>2]=c[c[f+56>>2]>>2];Kd(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+8>>2];c[k>>2]=(c[c[m>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[l>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[l>>2]|0)+16>>2];c[j>>2]=Id(c[k>>2]|0)|0;if(c[j>>2]|0){TR(c[j>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0)|0;u=c[k>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[j>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}Ql(f);l=(c[t>>2]|0)+32|0;j=c[l+4>>2]|0;m=(c[t>>2]|0)+16|0;k=c[m+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}k=c[g>>2]|0;j=(c[t>>2]|0)+32|0;l=j;l=RR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;m=C;c[j>>2]=l;c[j+4>>2]=m;c[q>>2]=gm(k,l,m,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,(c[h>>2]|0)!=0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}if((c[h>>2]|0)!=0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[g>>2]|0)+244>>2];c[(c[g>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=cm(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=$l(f,o)|0;else{c[o>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=$l(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;if(!((c[o>>2]|0)<0|(c[p>>2]|0)<=0)?((c[u>>2]|0)+(c[p>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[o>>2]|0)+(c[p>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[n>>2]=(c[o>>2]|0)+(c[p>>2]|0)<<1;c[r>>2]=Ld(c[(c[t>>2]|0)+64>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){c[(c[t>>2]|0)+64>>2]=c[r>>2];c[(c[t>>2]|0)+68>>2]=c[n>>2];break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[q>>2]=cm(c[t>>2]|0,c[u>>2]|0,(c[p>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}TR((c[(c[t>>2]|0)+64>>2]|0)+(c[o>>2]|0)|0,c[u>>2]|0,c[p>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[p>>2]|0);f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=$l(f,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?(a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}function Sl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+40>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)!=0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=eR(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=eR(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;i=h;return g|0}function Tl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[h>>2]|0)==(c[g>>2]|0))c[h>>2]=(c[h>>2]|0)+-1;c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=((c[g>>2]|0)-1|0))break;if((Yb[c[j>>2]&255](c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0,c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[m>>2]=c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2];c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}i=n;return}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[j>>2]=Ld(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+16>>2]=c[j>>2];break}c[e>>2]=7;j=c[e>>2]|0;i=k;return j|0}while(0);TR(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}function Vl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+8|0;j=k+4|0;g=k+16|0;h=k;c[l>>2]=b;c[f>>2]=e;c[j>>2]=0;if((d[(c[l>>2]|0)+231>>0]|0|0)!=0?(c[(c[f>>2]|0)+56>>2]|0)!=0:0){a[g>>0]=0;l=(c[f>>2]|0)+88|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;am(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,g);l=c[j>>2]|0;i=k;return l|0}c[j>>2]=cm(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=_l(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[h>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Wl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;s=u+36|0;t=u+32|0;r=u+28|0;h=u+24|0;j=u+20|0;q=u+16|0;o=u+12|0;l=u+41|0;k=u+40|0;p=u+8|0;n=u;c[t>>2]=b;c[r>>2]=e;c[h>>2]=f;c[j>>2]=g;c[q>>2]=0;c[o>>2]=c[(c[r>>2]|0)+80>>2];a[l>>0]=0;do if((d[(c[t>>2]|0)+231>>0]|0)!=0?(c[(c[r>>2]|0)+56>>2]|0)!=0:0){a[k>>0]=0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[(c[r>>2]|0)+84>>2]|0)-1}am(0,c[(c[r>>2]|0)+72>>2]|0,c[(c[r>>2]|0)+76>>2]|0,o,(c[r>>2]|0)+88|0,(c[r>>2]|0)+84|0,k);if(a[k>>0]|0){c[(c[r>>2]|0)+80>>2]=0;break}else{c[(c[r>>2]|0)+80>>2]=c[o>>2];break}}else m=8;while(0);do if((m|0)==8){c[p>>2]=(c[(c[r>>2]|0)+72>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0);while(1){if(a[c[o>>2]>>0]|a[l>>0]){f=c[o>>2]|0;c[o>>2]=f+1;a[l>>0]=a[f>>0]&128;continue}if(!(c[(c[r>>2]|0)+52>>2]|0))break;if((c[o>>2]|0)>>>0<((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0)|0)>>>0)break;c[q>>2]=bm(c[r>>2]|0)|0;if(c[q>>2]|0){m=14;break}}if((m|0)==14){c[s>>2]=c[q>>2];t=c[s>>2]|0;i=u;return t|0}c[o>>2]=(c[o>>2]|0)+1;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[o>>2]|0)-(c[(c[r>>2]|0)+80>>2]|0)-1}while(1){if((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0)h=(a[c[o>>2]>>0]|0)==0;else h=0;j=c[o>>2]|0;if(!h)break;c[o>>2]=j+1}h=c[r>>2]|0;if(j>>>0>=(c[p>>2]|0)>>>0){c[h+80>>2]=0;break}c[q>>2]=cm(h,c[o>>2]|0,10)|0;if(!(c[q>>2]|0)){e=c[o>>2]|0;e=e+(_l(c[o>>2]|0,n)|0)|0;c[(c[r>>2]|0)+80>>2]=e;e=n;l=c[e>>2]|0;e=c[e+4>>2]|0;h=(c[r>>2]|0)+88|0;k=h;j=c[k>>2]|0;k=c[k+4>>2]|0;if(a[(c[t>>2]|0)+231>>0]|0){r=QR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}else{r=RR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}}}while(0);c[s>>2]=0;t=c[s>>2]|0;i=u;return t|0}function Xl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+32|0;j=t+28|0;k=t+24|0;l=t+20|0;r=t+16|0;o=t+12|0;q=t+8|0;n=t+4|0;p=t;m=t+36|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[r>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[l>>2]>>2];c[q>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=0;c[p>>2]=c[r>>2];while(1){a[m>>0]=0;while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!((a[m>>0]|a[c[p>>2]>>0])&254))break;f=c[p>>2]|0;c[p>>2]=f+1;a[m>>0]=a[f>>0]&128}e=(c[p>>2]|0)-(c[r>>2]|0)|0;if((c[h>>2]|0)==(c[n>>2]|0)){s=7;break}c[o>>2]=(c[o>>2]|0)-e;c[r>>2]=c[p>>2];if(!(c[o>>2]|0))break;c[p>>2]=(c[r>>2]|0)+1;e=c[p>>2]|0;if(d[c[p>>2]>>0]&128)e=$l(e,n)|0;else{c[n>>2]=d[e>>0];e=1}c[p>>2]=(c[p>>2]|0)+e}if((s|0)==7)c[o>>2]=e;if(!(c[j>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}if(((c[r>>2]|0)+(c[o>>2]|0)|0)==(c[q>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}VR((c[r>>2]|0)+(c[o>>2]|0)|0,0,(c[q>>2]|0)-((c[r>>2]|0)+(c[o>>2]|0))|0)|0;s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}function Yl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;h=p+8|0;r=p+40|0;q=p+36|0;j=p+32|0;m=p+28|0;k=p+24|0;n=p+20|0;o=p+16|0;l=p;s=h;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[m>>2]=0;c[k>>2]=0;c[n>>2]=c[r>>2];c[o>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[n>>2]>>0]|0)!=1){if((a[c[n>>2]>>0]|0)==2){s=h;s=Kl((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2;c[k>>2]=1}Zl(0,n)}while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;if((a[c[n>>2]>>0]|0)!=1)break;c[n>>2]=(c[n>>2]|0)+1;s=_l(c[n>>2]|0,l)|0;c[n>>2]=(c[n>>2]|0)+s;if((a[c[n>>2]>>0]|0)==2){if(!(c[k>>2]|0)){s=h;s=Kl((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;c[k>>2]=1}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=1;s=l;s=Kl((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2}Zl(0,n)}if(!(c[k>>2]|0)){s=c[m>>2]|0;i=p;return s|0}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=0;s=c[m>>2]|0;i=p;return s|0}function Zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){if(!(254&(a[c[k>>2]>>0]|a[g>>0])))break;d=c[k>>2]|0;c[k>>2]=d+1;a[g>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];TR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}function _l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+36|0;f=n+32|0;g=n+28|0;l=n+24|0;h=n+20|0;j=n+8|0;m=n+16|0;k=n;c[f>>2]=b;c[g>>2]=d;c[l>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=a[b>>0];b=c[h>>2]|0;if(!(c[h>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&127|a[d>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;i=n;return m|0}h=j;c[h>>2]=b&268435455;c[h+4>>2]=0;c[m>>2]=28;while(1){if((c[m>>2]|0)>63)break;h=c[f>>2]|0;c[f>>2]=h+1;h=a[h>>0]|0;d=k;c[d>>2]=h;c[d+4>>2]=((h|0)<0)<<31>>31;d=WR(c[k>>2]&127|0,0,c[m>>2]|0)|0;h=j;d=RR(c[h>>2]|0,c[h+4>>2]|0,d|0,C|0)|0;h=j;c[h>>2]=d;c[h+4>>2]=C;if((c[k>>2]&128|0)==0&0==0)break;c[m>>2]=(c[m>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[l>>2]|0);m=c[e>>2]|0;i=n;return m|0}function $l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}return 0}function am(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;k=B+76|0;l=B+72|0;m=B+68|0;n=B+64|0;o=B+60|0;p=B+56|0;q=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;r=B+8|0;v=B+28|0;s=B;A=B+24|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[w>>2]=c[c[n>>2]>>2];if(c[w>>2]|0){c[v>>2]=(c[k>>2]|0)!=0?-1:1;em(w,c[l>>2]|0,s);f=c[v>>2]|0;h=s;h=aS(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=c[o>>2]|0;g=f;h=QR(c[g>>2]|0,c[g+4>>2]|0,h|0,C|0)|0;c[f>>2]=h;c[f+4>>2]=C;if((c[w>>2]|0)==(c[l>>2]|0))a[c[q>>2]>>0]=1;else{c[A>>2]=c[w>>2];fm(c[l>>2]|0,w);c[c[p>>2]>>2]=(c[A>>2]|0)-(c[w>>2]|0)}c[c[n>>2]>>2]=c[w>>2];i=B;return}f=t;c[f>>2]=0;c[f+4>>2]=0;c[z>>2]=0;c[x>>2]=c[l>>2];c[y>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[u>>2]=1;while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;f=_l(c[x>>2]|0,r)|0;c[x>>2]=(c[x>>2]|0)+f;f=c[u>>2]|0;h=r;h=aS(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=t;h=RR(c[f>>2]|0,c[f+4>>2]|0,h|0,C|0)|0;f=t;c[f>>2]=h;c[f+4>>2]=C;c[z>>2]=c[x>>2];dm(0,x);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(a[c[x>>2]>>0]|0)break;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=(c[k>>2]|0)!=0?-1:1}c[c[p>>2]>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[c[n>>2]>>2]=c[z>>2];g=t;h=c[g+4>>2]|0;f=c[o>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=h;i=B;return}function bm(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=We(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;i=g;return f|0}Ve(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;i=g;return f|0}function cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){e=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){e=5;break}c[h>>2]=bm(c[e>>2]|0)|0}if((e|0)==5){i=j;return c[h>>2]|0}return 0}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){d=(a[c[k>>2]>>0]|a[g>>0]|0)!=0;b=c[k>>2]|0;c[k>>2]=b+1;if(!d)break;a[g>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];TR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}function em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[k>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[k>>2]>>0]&128))break;c[k>>2]=(c[k>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+1;c[c[f>>2]>>2]=c[k>>2];_l(c[k>>2]|0,j)|0;d=j;e=c[d+4>>2]|0;b=c[h>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=e;i=l;return}function fm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+8|0;f=k+4|0;h=k;g=k+12|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=(c[c[f>>2]>>2]|0)+-2;a[g>>0]=0;do{if((c[h>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[h>>2]|0;c[h>>2]=d+-1;d=a[d>>0]|0;a[g>>0]=d}while((d<<24>>24|0)==0);while(1){if((c[h>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[h>>2]>>0]&128|a[g>>0]|0)!=0;else d=0;b=c[h>>2]|0;if(!d)break;c[h>>2]=b+-1;a[g>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[g>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[h>>2]|0)+2|0)>>>0:0)j=11}else j=11;if((j|0)==11)c[h>>2]=(c[h>>2]|0)+2;do{j=c[h>>2]|0;c[h>>2]=j+1}while((a[j>>0]&128|0)!=0);c[c[f>>2]>>2]=c[h>>2];i=k;return}function gm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+8|0;p=t+40|0;j=t+36|0;k=t;q=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;n=t+16|0;r=t+12|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;d=c[j>>2]|0;if(c[(c[j>>2]|0)+244>>2]|0){o=k;c[s>>2]=Ye(c[d+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[d+240>>2]|0)?(c[o>>2]=c[(c[j>>2]|0)+20>>2],o=Od(23163,o)|0,c[(c[j>>2]|0)+240>>2]=o,0==(c[(c[j>>2]|0)+240>>2]|0)):0){c[p>>2]=7;s=c[p>>2]|0;i=t;return s|0}o=k;c[s>>2]=Ue(c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+240>>2]|0,23175,c[o>>2]|0,c[o+4>>2]|0,0,(c[j>>2]|0)+244|0)|0}if((c[s>>2]|0)==0?(c[n>>2]=Xe(c[(c[j>>2]|0)+244>>2]|0)|0,c[c[l>>2]>>2]=c[n>>2],(c[q>>2]|0)!=0):0){c[r>>2]=Id((c[n>>2]|0)+20|0)|0;if(c[r>>2]|0){if((c[m>>2]|0)!=0&(c[n>>2]|0)>16384){c[n>>2]=4096;c[c[m>>2]>>2]=c[n>>2]}c[s>>2]=We(c[(c[j>>2]|0)+244>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;d=(c[r>>2]|0)+(c[n>>2]|0)|0;e=d+20|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));if(c[s>>2]|0){Kd(c[r>>2]|0);c[r>>2]=0}}else c[s>>2]=7;c[c[q>>2]>>2]=c[r>>2]}c[p>>2]=c[s>>2];s=c[p>>2]|0;i=t;return s|0}function hm(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+36|0;g=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;k=r+16|0;p=r+12|0;m=r+8|0;l=r+4|0;q=r;c[g>>2]=a;c[o>>2]=b;c[h>>2]=e;c[j>>2]=f;c[p>>2]=c[(c[o>>2]|0)+4>>2];c[k>>2]=0;a:while(1){if(c[(c[o>>2]|0)+28>>2]|0){g=12;break}if((c[k>>2]|0)>=(c[(c[o>>2]|0)+4>>2]|0)){g=12;break}c[m>>2]=0;c[l>>2]=c[(c[c[o>>2]>>2]|0)+(c[k>>2]<<2)>>2];do{c[q>>2]=Rl(c[g>>2]|0,c[l>>2]|0,0)|0;if(c[q>>2]|0){g=6;break a}if(!(c[h>>2]|0))break;e=im(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=e}while((e|0)<0);if((c[m>>2]|0)!=0?(d[(c[l>>2]|0)+4>>0]|0|0)!=0:0)Ql(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if((g|0)==6){c[n>>2]=c[q>>2];q=c[n>>2]|0;i=r;return q|0}else if((g|0)==12){Tl(c[c[o>>2]>>2]|0,c[p>>2]|0,c[p>>2]|0,184);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}return 0}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=c[(c[f>>2]|0)+64>>2]|0;d=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=eR(a,d,c[g>>2]|0)|0;else c[h>>2]=eR(a,d,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;i=j;return h|0}function jm(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;l=G+88|0;m=G+84|0;n=G+80|0;o=G+76|0;p=G+72|0;q=G+68|0;r=G+64|0;s=G+60|0;t=G+56|0;D=G+52|0;A=G+48|0;E=G+44|0;y=G+40|0;z=G+36|0;w=G+16|0;v=G+8|0;u=G;x=G+32|0;F=G+28|0;B=G+24|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[D>>2]=0;c[A>>2]=0;if(((c[o>>2]|0)<0?(c[(c[l>>2]|0)+252>>2]|0)!=0:0)?(c[y>>2]=0,c[D>>2]=km(c[l>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,((c[r>>2]|0)!=0?1:(c[s>>2]|0)!=0)&1,y)|0,(c[D>>2]|0)==0&(c[y>>2]|0)!=0):0)c[D>>2]=lm(c[t>>2]|0,c[y>>2]|0)|0;a:do if((c[o>>2]|0)!=-1){if(!(c[D>>2]|0))c[D>>2]=mm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,A)|0;while(1){if(c[D>>2]|0)break a;f=te(c[A>>2]|0)|0;c[D>>2]=f;if(100!=(f|0))break a;c[z>>2]=0;y=De(c[A>>2]|0,1)|0;f=w;c[f>>2]=y;c[f+4>>2]=C;f=De(c[A>>2]|0,2)|0;y=v;c[y>>2]=f;c[y+4>>2]=C;y=De(c[A>>2]|0,3)|0;f=u;c[f>>2]=y;c[f+4>>2]=C;c[x>>2]=Ae(c[A>>2]|0,4)|0;c[F>>2]=ze(c[A>>2]|0,4)|0;f=w;if(((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)&(c[p>>2]|0)!=0){c[B>>2]=(c[r>>2]|0)!=0?v:0;c[D>>2]=nm(c[l>>2]|0,c[p>>2]|0,c[q>>2]|0,c[F>>2]|0,c[x>>2]|0,w,c[B>>2]|0)|0;if(c[D>>2]|0)break a;if((c[r>>2]|0)==0&(c[s>>2]|0)==0){k=w;y=c[k+4>>2]|0;f=v;c[f>>2]=c[k>>2];c[f+4>>2]=y}}k=w;y=v;f=u;c[D>>2]=om((c[(c[t>>2]|0)+4>>2]|0)+1|0,((c[r>>2]|0)==0?(c[s>>2]|0)==0:0)&1,c[k>>2]|0,c[k+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[F>>2]|0,c[x>>2]|0,z)|0;if(c[D>>2]|0)break a;c[D>>2]=lm(c[t>>2]|0,c[z>>2]|0)|0}}while(0);c[E>>2]=Yd(c[A>>2]|0)|0;if((c[D>>2]|0)!=101){f=c[D>>2]|0;i=G;return f|0}c[D>>2]=c[E>>2];f=c[D>>2]|0;i=G;return f|0}function km(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;A=y+64|0;z=y+60|0;h=y+56|0;j=y+52|0;k=y+48|0;l=y+44|0;u=y+40|0;s=y+36|0;m=y+32|0;q=y+28|0;v=y+24|0;t=y+20|0;o=y+16|0;w=y+12|0;r=y+8|0;n=y+4|0;p=y;c[A>>2]=a;c[z>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[u>>2]=0;c[m>>2]=0;c[q>>2]=0;c[v>>2]=0;c[t>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[k>>2]|0){c[o>>2]=0;c[s>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;c[w>>2]=c[(c[s>>2]|0)+12>>2];c[r>>2]=c[(c[s>>2]|0)+16>>2];if(c[j>>2]|0){if((c[r>>2]|0)>=(c[j>>2]|0)?0==(eR(c[w>>2]|0,c[h>>2]|0,c[j>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[q>>2]|0)==(c[o>>2]|0)){c[o>>2]=(c[o>>2]|0)+16;c[n>>2]=Ld(c[m>>2]|0,c[o>>2]<<2)|0;if(!(c[n>>2]|0)){x=9;break}c[m>>2]=c[n>>2]}z=c[s>>2]|0;A=c[q>>2]|0;c[q>>2]=A+1;c[(c[m>>2]|0)+(A<<2)>>2]=z}c[s>>2]=c[c[s>>2]>>2]}if((x|0)==9){c[v>>2]=7;c[q>>2]=0}if((c[q>>2]|0)>1)dR(c[m>>2]|0,c[q>>2]|0,4,185)}else{c[s>>2]=Gk(c[t>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[s>>2]|0){c[m>>2]=s;c[q>>2]=1}}do if((c[q>>2]|0)>0){c[p>>2]=96+((c[q>>2]|0)+1<<2);c[u>>2]=Id(c[p>>2]|0)|0;if(c[u>>2]|0){VR(c[u>>2]|0,0,c[p>>2]|0)|0;c[c[u>>2]>>2]=2147483647;c[(c[u>>2]|0)+56>>2]=(c[u>>2]|0)+96;TR(c[(c[u>>2]|0)+56>>2]|0,c[m>>2]|0,c[q>>2]<<2|0)|0;break}else{c[v>>2]=7;break}}while(0);if(!(c[k>>2]|0)){z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}Kd(c[m>>2]|0);z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}function lm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Ld(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}Cl(c[f>>2]|0);c[d>>2]=7;b=c[d>>2]|0;i=j;return b|0}while(0);a=c[f>>2]|0;h=(c[e>>2]|0)+4|0;b=c[h>>2]|0;c[h>>2]=b+1;c[(c[c[e>>2]>>2]|0)+(b<<2)>>2]=a;c[d>>2]=0;b=c[d>>2]|0;i=j;return b|0}function mm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;d=c[g>>2]|0;if((c[k>>2]|0)<0){c[n>>2]=pl(d,13,m,0)|0;if(!(c[n>>2]|0)){k=c[m>>2]|0;f=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Le(k,1,f,C)|0;f=c[m>>2]|0;k=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Le(f,2,k,C)|0}}else{c[n>>2]=pl(d,12,m,0)|0;if(!(c[n>>2]|0)){f=c[m>>2]|0;k=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Le(f,1,k,C)|0}}c[c[l>>2]>>2]=c[m>>2];i=o;return c[n>>2]|0}function nm(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+32|0;k=v+28|0;l=v+24|0;q=v+20|0;r=v+16|0;t=v+12|0;m=v+8|0;u=v+4|0;s=v;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[l>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;g=c[k>>2]|0;if((d[c[k>>2]>>0]|0)&128)$l(g,m)|0;else c[m>>2]=d[g>>0];c[t>>2]=pm(c[o>>2]|0,c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!((c[t>>2]|0)==0&(c[m>>2]|0)>1)){u=c[t>>2]|0;i=v;return u|0}c[u>>2]=0;c[s>>2]=0;if((c[q>>2]|0)!=0&(c[r>>2]|0)!=0?(l=c[q>>2]|0,m=c[r>>2]|0,(c[l>>2]|0)!=(c[m>>2]|0)?1:(c[l+4>>2]|0)!=(c[m+4>>2]|0)):0){m=c[q>>2]|0;c[t>>2]=gm(c[n>>2]|0,c[m>>2]|0,c[m+4>>2]|0,u,s,0)|0;if(!(c[t>>2]|0))c[t>>2]=nm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,0)|0;Kd(c[u>>2]|0);c[q>>2]=0;c[u>>2]=0}if(!(c[t>>2]|0)){if(c[q>>2]|0){e=c[q>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}else{e=c[r>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}c[t>>2]=gm(c[n>>2]|0,g,e,u,s,0)|0}if(!(c[t>>2]|0))c[t>>2]=nm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;Kd(c[u>>2]|0);u=c[t>>2]|0;i=v;return u|0}function om(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;o=z+8|0;p=z;q=z+40|0;r=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;c[u>>2]=b;c[v>>2]=d;b=w;c[b>>2]=e;c[b+4>>2]=f;b=o;c[b>>2]=g;c[b+4>>2]=h;b=p;c[b>>2]=j;c[b+4>>2]=k;c[q>>2]=l;c[r>>2]=m;c[s>>2]=n;c[x>>2]=0;l=w;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)c[x>>2]=(c[r>>2]|0)+20;c[y>>2]=Id(96+(c[x>>2]|0)|0)|0;if(!(c[y>>2]|0)){c[t>>2]=7;y=c[t>>2]|0;i=z;return y|0}e=c[y>>2]|0;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[c[y>>2]>>2]=c[u>>2];a[(c[y>>2]|0)+4>>0]=(c[v>>2]|0)!=0;l=w;u=c[l+4>>2]|0;v=(c[y>>2]|0)+8|0;c[v>>2]=c[l>>2];c[v+4>>2]=u;v=c[o+4>>2]|0;u=(c[y>>2]|0)+16|0;c[u>>2]=c[o>>2];c[u+4>>2]=v;u=c[p+4>>2]|0;v=(c[y>>2]|0)+24|0;c[v>>2]=c[p>>2];c[v+4>>2]=u;if(c[x>>2]|0){c[(c[y>>2]|0)+40>>2]=(c[y>>2]|0)+96;a[(c[y>>2]|0)+5>>0]=1;c[(c[y>>2]|0)+44>>2]=c[r>>2];TR(c[(c[y>>2]|0)+40>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;e=(c[(c[y>>2]|0)+40>>2]|0)+(c[r>>2]|0)|0;f=e+20|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}else{w=QR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=(c[y>>2]|0)+32|0;c[x>>2]=w;c[x+4>>2]=C}c[c[s>>2]>>2]=c[y>>2];c[t>>2]=0;y=c[t>>2]|0;i=z;return y|0}function pm(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;A=i;i=i+80|0;u=A+76|0;j=A+72|0;k=A+68|0;D=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;r=A+44|0;s=A+40|0;z=A+36|0;n=A+32|0;m=A+28|0;x=A;l=A+24|0;q=A+20|0;p=A+16|0;o=A+12|0;t=A+8|0;c[j>>2]=a;c[k>>2]=b;c[D>>2]=e;c[B>>2]=f;c[v>>2]=g;c[w>>2]=h;c[y>>2]=0;c[r>>2]=c[D>>2];c[s>>2]=(c[r>>2]|0)+(c[B>>2]|0);c[z>>2]=0;c[n>>2]=0;c[m>>2]=1;a=_l(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;a=_l(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;if((c[r>>2]|0)>>>0>(c[s>>2]|0)>>>0){c[u>>2]=267;D=c[u>>2]|0;i=A;return D|0}while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){f=28;break}if(!((c[v>>2]|0)!=0?1:(c[w>>2]|0)!=0)){f=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=$l(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f}c[m>>2]=0;f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=$l(f,q)|0;else{c[q>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f;if((c[p>>2]|0)<0|(c[q>>2]|0)<0){f=15;break}if(((c[r>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[s>>2]|0)>>>0){f=15;break}if(((c[p>>2]|0)+(c[q>>2]|0)|0)>(c[n>>2]|0)){c[n>>2]=(c[p>>2]|0)+(c[q>>2]|0)<<1;c[t>>2]=Ld(c[z>>2]|0,c[n>>2]|0)|0;if(!(c[t>>2]|0)){f=18;break}c[z>>2]=c[t>>2]}TR((c[z>>2]|0)+(c[p>>2]|0)|0,c[r>>2]|0,c[q>>2]|0)|0;c[o>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[l>>2]=eR(c[j>>2]|0,c[z>>2]|0,(c[o>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[o>>2]|0)|0;do if(c[v>>2]|0){if((c[l>>2]|0)>=0){if(c[l>>2]|0)break;if((c[o>>2]|0)<=(c[k>>2]|0))break}a=x;B=c[a+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[v>>2]=0}while(0);if((c[w>>2]|0)!=0&(c[l>>2]|0)<0){a=x;B=c[a+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[w>>2]=0}B=x;B=RR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;D=x;c[D>>2]=B;c[D+4>>2]=C}if((f|0)==15)c[y>>2]=267;else if((f|0)==18)c[y>>2]=7;else if((f|0)==28){if(c[v>>2]|0){t=x;B=c[t+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=B}if(c[w>>2]|0){B=c[x+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[x>>2];c[D+4>>2]=B}}Kd(c[z>>2]|0);c[u>>2]=c[y>>2];D=c[u>>2]|0;i=A;return D|0}function qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+28|0;l=g+24|0;k=g+20|0;j=g+16|0;e=g+12|0;f=g+8|0;h=g+4|0;d=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[j>>2]=c[(c[c[l>>2]>>2]|0)+12>>2];c[e>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[f>>2]=c[(c[c[l>>2]>>2]|0)+16>>2];c[h>>2]=(c[e>>2]|0)<(c[f>>2]|0)?c[e>>2]|0:c[f>>2]|0;c[d>>2]=eR(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(c[d>>2]|0){m=c[d>>2]|0;i=g;return m|0}c[d>>2]=(c[e>>2]|0)-(c[f>>2]|0);m=c[d>>2]|0;i=g;return m|0}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;h=p+32|0;e=p+28|0;f=p+24|0;l=p+20|0;o=p+16|0;n=p+12|0;m=p+8|0;j=p+4|0;k=p;c[h>>2]=a;c[e>>2]=b;c[f>>2]=d;c[o>>2]=23427;c[n>>2]=23431;c[m>>2]=23436;c[j>>2]=-1;c[k>>2]=15;d=c[h>>2]|0;if((c[e>>2]|0)>6){ie(d,23447,-1);i=p;return}if(vm(d,20486,c[c[f>>2]>>2]|0,l)|0){i=p;return}switch(c[e>>2]|0){case 6:{c[k>>2]=ce(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[j>>2]=ce(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[m>>2]=$d(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=$d(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[o>>2]=$d(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){se(c[h>>2]|0);i=p;return}d=c[h>>2]|0;if(!(c[k>>2]|0)){me(d,18402,-1,0);i=p;return}if(tn(d,c[l>>2]|0)|0){i=p;return}Yn(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);i=p;return}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(vm(c[e>>2]|0,20494,c[c[h>>2]>>2]|0,f)|0){i=g;return}if(tn(c[e>>2]|0,c[f>>2]|0)|0){i=g;return}Un(c[e>>2]|0,c[f>>2]|0);i=g;return}function tm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[j+16>>2]=b;c[k>>2]=d;if(vm(c[e>>2]|0,20512,c[c[k>>2]>>2]|0,g)|0){i=j;return}c[f>>2]=c[c[g>>2]>>2];c[h>>2]=Sn(c[f>>2]|0)|0;switch(c[h>>2]|0){case 0:{me(c[e>>2]|0,23331,-1,0);i=j;return}case 101:{me(c[e>>2]|0,23347,-1,0);i=j;return}default:{qe(c[e>>2]|0,c[h>>2]|0);i=j;return}}}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(vm(c[e>>2]|0,20502,c[c[g>>2]>>2]|0,h)|0){i=k;return}c[j>>2]=0;if((c[f>>2]|0)>1)c[j>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;wm(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0);i=k;return}function vm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((ee(c[k>>2]|0)|0)==4?(ae(c[k>>2]|0)|0)==4:0){d=_d(c[k>>2]|0)|0;a[m>>0]=a[d>>0]|0;a[m+1>>0]=a[d+1>>0]|0;a[m+2>>0]=a[d+2>>0]|0;a[m+3>>0]=a[d+3>>0]|0;c[c[l>>2]>>2]=c[m>>2];c[g>>2]=0;d=c[g>>2]|0;i=p;return d|0}c[n>>2]=c[j>>2];c[o>>2]=Od(23302,n)|0;ie(c[h>>2]|0,c[o>>2]|0,-1);Kd(c[o>>2]|0);c[g>>2]=1;d=c[g>>2]|0;i=p;return d|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[j>>2]=c[f>>2];else c[j>>2]=23237;e=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){xm(e,c[g>>2]|0,c[j>>2]|0);ym(c[h>>2]|0);i=k;return}else{fe(e,18402,0,0);i=k;return}}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;f=u+76|0;g=u+72|0;h=u+68|0;q=u;o=u+64|0;p=u+60|0;k=u+56|0;j=u+52|0;r=u+48|0;n=u+44|0;l=u+40|0;s=u+36|0;m=u+32|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[o>>2]=c[c[g>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[j>>2]=0;c[r>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[g>>2];c[q+4>>2]=c[(c[o>>2]|0)+24>>2];if((c[(c[g>>2]|0)+92>>2]|0)!=0?(hR(c[(c[(c[g>>2]|0)+92>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0){zm(c[(c[g>>2]|0)+92>>2]|0);c[(c[g>>2]|0)+92>>2]=0}if(!(c[(c[g>>2]|0)+92>>2]|0)){c[n>>2]=0;e=Am(c[(c[g>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+20>>2]=e;c[q+8>>2]=c[(c[g>>2]|0)+20>>2];c[l>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0))break;c[s>>2]=0;if(Bm(c[o>>2]|0,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0,s)|0){t=8;break}e=Cm(q,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[n>>2]=(c[n>>2]|0)+e;c[l>>2]=(c[l>>2]|0)+1}if((t|0)==8){ie(c[f>>2]|0,c[s>>2]|0,-1);Kd(c[s>>2]|0);i=u;return}t=Dm(c[n>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+92>>2]=t;if(!(c[(c[g>>2]|0)+92>>2]|0))c[p>>2]=7;c[(c[g>>2]|0)+88>>2]=1;c[k>>2]=1}if((c[p>>2]|0)==0?(c[r>>2]=Em(c[(c[g>>2]|0)+92>>2]|0,j)|0,(c[r>>2]|0)==0):0)c[p>>2]=7;if((c[p>>2]|0)==0?(c[q+28>>2]=c[j>>2],c[q+8>>2]=c[(c[g>>2]|0)+20>>2],c[p>>2]=Fm(c[g>>2]|0,c[k>>2]|0,q,c[h>>2]|0)|0,(c[k>>2]|0)!=0):0)Gm(c[(c[g>>2]|0)+92>>2]|0);if(!(c[p>>2]|0)){c[m>>2]=c[(c[(c[g>>2]|0)+92>>2]|0)+4>>2]<<2;fe(c[f>>2]|0,c[j>>2]|0,c[m>>2]|0,c[r>>2]|0);i=u;return}qe(c[f>>2]|0,c[p>>2]|0);if(!(c[r>>2]|0)){i=u;return}Qb[c[r>>2]&255](c[j>>2]|0);i=u;return}function ym(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ve(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;i=b;return}function zm(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Am(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Nm(c[e>>2]|0,153,b)|0;i=d;return c[b>>2]|0}function Bm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;g=m+12|0;h=m+8|0;j=m+16|0;k=m+4|0;c[h>>2]=b;a[j>>0]=e;c[k>>2]=f;do if((a[j>>0]|0)!=112?(a[j>>0]|0)!=99:0){if((a[j>>0]|0)==110?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==97?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==108?(d[(c[h>>2]|0)+230>>0]|0)!=0:0)break;if((((a[j>>0]|0)!=115?(a[j>>0]|0)!=120:0)?(a[j>>0]|0)!=121:0)?(a[j>>0]|0)!=98:0){f=c[k>>2]|0;c[l>>2]=a[j>>0];Fk(f,23267,l);c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=_(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}i=g;return c[f>>2]|0}function Dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;j=k+8|0;g=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=((c[e>>2]<<1)+1<<2)+20;c[h>>2]=kR(c[f>>2]|0)|0;c[j>>2]=Id((c[g>>2]|0)+(c[h>>2]|0)+1|0)|0;if(!(c[j>>2]|0)){d=c[j>>2]|0;i=k;return d|0}VR(c[j>>2]|0,0,c[g>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=(c[j>>2]|0)+16+4-(c[j>>2]|0);c[(c[j>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[j>>2]|0)+4>>2]=c[e>>2];c[(c[j>>2]|0)+12>>2]=(c[j>>2]|0)+(c[g>>2]|0);TR(c[(c[j>>2]|0)+12>>2]|0,c[f>>2]|0,(c[h>>2]|0)+1|0)|0;a[c[j>>2]>>0]=1;d=c[j>>2]|0;i=k;return d|0}function Em(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;e=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){b=c[f>>2]|0;if(!(d[e+2>>0]|0)){a[b+2>>0]=1;c[h>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[j>>2]=152;break}c[h>>2]=Id(c[b+4>>2]<<2)|0;if((c[h>>2]|0)!=0?(c[j>>2]=148,(c[(c[f>>2]|0)+8>>2]|0)!=0):0)TR(c[h>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[e+1>>0]=1;c[h>>2]=(c[f>>2]|0)+16+4;c[j>>2]=152}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Fm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;g=B+92|0;h=B+88|0;j=B+84|0;k=B+80|0;A=B+76|0;n=B+72|0;y=B+68|0;z=B+64|0;r=B+24|0;s=B+16|0;l=B+60|0;o=B+56|0;q=B+52|0;t=B+8|0;x=B+48|0;p=B+44|0;m=B+40|0;u=B;v=B+36|0;w=B+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[y>>2]=c[c[g>>2]>>2];c[z>>2]=0;c[n>>2]=0;while(1){if(c[A>>2]|0){g=31;break}if(!(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)){g=31;break}a[(c[j>>2]|0)+24>>0]=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a:do switch(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0){case 112:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+8>>2];break}case 99:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+4>>2];break}case 110:{if(c[h>>2]|0){f=r;c[f>>2]=0;c[f+4>>2]=0;c[A>>2]=Hm(c[y>>2]|0,z,r,0)|0;c[c[(c[j>>2]|0)+28>>2]>>2]=c[r>>2]}break}case 97:{if((c[h>>2]|0)!=0?(c[A>>2]=Hm(c[y>>2]|0,z,s,l)|0,(c[A>>2]|0)==0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break a;f=_l(c[l>>2]|0,t)|0;c[l>>2]=(c[l>>2]|0)+f;f=c[t>>2]|0;e=s;e=_R(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=RR(f|0,0,e|0,C|0)|0;f=s;f=_R(e|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[q>>2]=f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1}}break}case 108:{c[x>>2]=0;f=(c[g>>2]|0)+32|0;c[A>>2]=Im(c[y>>2]|0,c[f>>2]|0,c[f+4>>2]|0,x)|0;b:do if(!(c[A>>2]|0)){c[m>>2]=ze(c[x>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break b;f=_l(c[m>>2]|0,u)|0;c[m>>2]=(c[m>>2]|0)+f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[u>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);Yd(c[x>>2]|0)|0;break}case 115:{c[A>>2]=Jm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0))c[A>>2]=Km(c[g>>2]|0,c[j>>2]|0)|0;break}case 121:case 98:{c[v>>2]=(Cm(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0)<<2;VR(c[(c[j>>2]|0)+28>>2]|0,0,c[v>>2]|0)|0;Lm(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0);break}default:{c[w>>2]=c[(c[g>>2]|0)+12>>2];c[A>>2]=Jm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0)){if(c[h>>2]|0){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[A>>2]=Hm(c[y>>2]|0,z,(c[j>>2]|0)+16|0,0)|0,(c[A>>2]|0)!=0):0)break a;c[A>>2]=Nm(c[w>>2]|0,154,c[j>>2]|0)|0;Om(c[g>>2]|0,A)|0;if(c[A>>2]|0)break a}Nm(c[w>>2]|0,155,c[j>>2]|0)|0}}}while(0);e=Cm(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0;f=(c[j>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[n>>2]=(c[n>>2]|0)+1}if((g|0)==31){Yd(c[z>>2]|0)|0;i=B;return c[A>>2]|0}return 0}function Gm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;TR((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;i=b;return}function Hm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+36|0;g=p+32|0;h=p+28|0;j=p+24|0;k=p+20|0;n=p+16|0;l=p+12|0;m=p;o=p+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[h>>2]>>2]|0)==0?(c[o>>2]=Pn(c[g>>2]|0,c[h>>2]|0)|0,(c[o>>2]|0)!=0):0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[n>>2]=c[c[h>>2]>>2];c[l>>2]=ze(c[n>>2]|0,0)|0;o=_l(c[l>>2]|0,m)|0;c[l>>2]=(c[l>>2]|0)+o;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[f>>2]=267;o=c[f>>2]|0;i=p;return o|0}o=c[j>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=c[l>>2];c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}function Im(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+12|0;j=f;g=f+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=j;e=On(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;i=f;return e|0}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[k>>2];c[g>>2]=Nm(c[(c[k>>2]|0)+12>>2]|0,156,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){k=c[g>>2]|0;i=j;return k|0}c[c[f>>2]>>2]=c[h+8>>2];k=c[g>>2]|0;i=j;return k|0}function Km(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;q=t+56|0;d=t+52|0;e=t+48|0;r=t+44|0;f=t+40|0;g=t+36|0;l=t+32|0;o=t+28|0;h=t+24|0;j=t+20|0;s=t+16|0;n=t+12|0;m=t+8|0;k=t+4|0;p=t;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[r>>2]=Id(c[(c[d>>2]|0)+20>>2]<<4)|0;if(!(c[r>>2]|0)){c[q>>2]=7;s=c[q>>2]|0;i=t;return s|0}VR(c[r>>2]|0,0,c[(c[d>>2]|0)+20>>2]<<4|0)|0;Nm(c[(c[d>>2]|0)+12>>2]|0,157,c[r>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[o>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[l>>2]=(c[l>>2]|0)-(c[(c[(c[c[o>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[o>>2]|0)+4>>2]=c[l>>2];c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){d=33;break}c[h>>2]=0;c[j>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[n>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[s>>2]=Qm(c[d>>2]|0,c[c[n>>2]>>2]|0,c[g>>2]|0,(c[n>>2]|0)+8|0)|0;if(c[s>>2]|0){d=11;break a}if(c[(c[n>>2]|0)+8>>2]|0){c[(c[n>>2]|0)+12>>2]=c[(c[n>>2]|0)+4>>2];Mn((c[r>>2]|0)+(c[f>>2]<<4)|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}while(1){if((c[j>>2]|0)<=0)break;c[m>>2]=0;c[k>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[p>>2]=(c[r>>2]|0)+(c[f>>2]<<4);if(c[(c[p>>2]|0)+8>>2]|0){if(!((c[m>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0):0))c[m>>2]=c[p>>2];if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)!=(c[(c[p>>2]|0)+-16+12>>2]|0):0)c[k>>2]=1;else c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>(c[h>>2]|0))c[h>>2]=c[k>>2]}else c[k>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(!(Mn(c[m>>2]|0)|0))continue;c[j>>2]=(c[j>>2]|0)+-1}c[(c[(c[e>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[g>>2]=(c[g>>2]|0)+1}if((d|0)==11){c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}else if((d|0)==33){Kd(c[r>>2]|0);c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}return 0}function Lm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0){i=g;return}b=(c[e>>2]|0)+24|0;a=(c[c[f>>2]>>2]|0)+32|0;if(!((c[b>>2]|0)==(c[a>>2]|0)?(c[b+4>>2]|0)==(c[a+4>>2]|0):0)){i=g;return}b=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){Lm(c[b+12>>2]|0,c[f>>2]|0);Lm(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);i=g;return}else{Kn(b,c[f>>2]|0);i=g;return}}function Mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];a=_((c[h>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0;a=Hn(c[c[f>>2]>>2]|0,c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+(a<<2)|0)|0;i=e;return a|0}function Nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;b=Gn(c[j>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function Om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[e>>2]>>2];c[f>>2]=0;if(c[g>>2]|0){b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}if((c[(c[d>>2]|0)+24>>2]|0)!=0?(c[g>>2]=tn(0,c[d>>2]|0)|0,(c[g>>2]|0)==0):0)c[g>>2]=un(c[d>>2]|0)|0;c[f>>2]=0==(vn(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,g)|0)&1;wn(c[d>>2]|0);c[c[e>>2]>>2]=c[g>>2];b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}function Pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;n=l+20|0;k=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;j=l;c[e>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=0;c[h>>2]=c[n>>2];c[g>>2]=(_(c[m>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0)*3;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)?(c[k>>2]|0)==0:0))break;c[k>>2]=Qm(c[c[h>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if(c[j>>2]|0){n=Rm(j)|0;c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=n}else c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}i=l;return c[k>>2]|0}function Qm(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;z=G+80|0;p=G+76|0;h=G+72|0;A=G+68|0;B=G+64|0;x=G+60|0;n=G+56|0;E=G+52|0;D=G+48|0;u=G;o=G+44|0;q=G+40|0;k=G+36|0;l=G+85|0;v=G+32|0;m=G+28|0;s=G+24|0;j=G+20|0;r=G+84|0;y=G+16|0;w=G+12|0;t=G+8|0;c[p>>2]=b;c[h>>2]=e;c[A>>2]=f;c[B>>2]=g;c[x>>2]=c[(c[h>>2]|0)+20>>2];c[n>>2]=c[c[p>>2]>>2];c[c[B>>2]>>2]=0;if((c[(c[x>>2]|0)+68>>2]|0)<(c[(c[n>>2]|0)+24>>2]|0)?(c[(c[x>>2]|0)+68>>2]|0)!=(c[A>>2]|0):0){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}b=(c[h>>2]|0)+24|0;g=c[b+4>>2]|0;e=u;c[e>>2]=c[b>>2];c[e+4>>2]=g;c[E>>2]=c[(c[x>>2]|0)+28>>2];e=u;g=(c[p>>2]|0)+32|0;if(!(!((c[e>>2]|0)!=(c[g>>2]|0)?1:(c[e+4>>2]|0)!=(c[g+4>>2]|0))?(d[(c[h>>2]|0)+32>>0]|0)==0:0))F=6;do if((F|0)==6){c[o>>2]=0;c[q>>2]=d[(c[n>>2]|0)+231>>0];c[k>>2]=0;a[l>>0]=0;c[m>>2]=c[h>>2];c[v>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[v>>2]|0))break;if((c[c[v>>2]>>2]|0)==4)c[k>>2]=1;if((c[c[v>>2]>>2]|0)==1)c[m>>2]=c[v>>2];if(a[(c[v>>2]|0)+32>>0]|0)a[l>>0]=1;c[v>>2]=c[(c[v>>2]|0)+8>>2]}if(!(c[k>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}a:do if(c[(c[x>>2]|0)+40>>2]|0){c[j>>2]=d[(c[m>>2]|0)+32>>0];Sm(c[p>>2]|0,c[m>>2]|0,o);b:while(1){if(c[o>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;Tm(c[p>>2]|0,c[m>>2]|0,o);if(c[j>>2]|0)continue b;n=(c[m>>2]|0)+24|0;g=u;if(!(((c[n>>2]|0)!=(c[g>>2]|0)?1:(c[n+4>>2]|0)!=(c[g+4>>2]|0))&(c[o>>2]|0)==0))break a}}}while(0);c:do if((a[l>>0]|0)!=0&(c[o>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;Tm(c[p>>2]|0,c[m>>2]|0,o)}while((c[o>>2]|0)==0);while(0);if(c[o>>2]|0){c[z>>2]=c[o>>2];F=c[z>>2]|0;i=G;return F|0}c[s>>2]=1;c[v>>2]=c[m>>2];while(1){if(!(c[v>>2]|0))break;a[r>>0]=0;c[y>>2]=c[v>>2];if((c[c[y>>2]>>2]|0)==1)c[y>>2]=c[(c[y>>2]|0)+16>>2];c[w>>2]=c[(c[y>>2]|0)+20>>2];c[E>>2]=c[(c[w>>2]|0)+48>>2];g=(c[w>>2]|0)+56|0;o=c[g+4>>2]|0;h=u;c[h>>2]=c[g>>2];c[h+4>>2]=o;h=(c[(c[w>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[p>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(h)h=(c[E>>2]|0)>>>0>=((c[c[w>>2]>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0)|0)>>>0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=QR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,aS(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,(C|0)>=0):0)break d;if(d[r>>0]|0)break d;Um(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,r)}}else{if(h)if(c[E>>2]|0)h=(c[E>>2]|0)>>>0<=(c[c[w>>2]>>2]|0)>>>0;else h=0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=QR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=aS(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,g=C,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[r>>0]|0)break d;am(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,t,r)}}while(0);c[(c[w>>2]|0)+48>>2]=c[E>>2];n=u;g=c[n+4>>2]|0;o=(c[w>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!((d[r>>0]|0)==0?(g=u,o=(c[p>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[v>>2]=c[(c[v>>2]|0)+12>>2]}if(c[s>>2]|0){c[E>>2]=c[(c[x>>2]|0)+48>>2];break}else{c[E>>2]=0;break}}while(0);if(!(c[E>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if((a[c[E>>2]>>0]|0)==1){c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=$l(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}else c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[A>>2]|0))break;Zl(0,E);if(!(a[c[E>>2]>>0]|0)){F=65;break}c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=$l(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}if((F|0)==65){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if(!(a[c[E>>2]>>0]|0))c[E>>2]=0;c[c[B>>2]>>2]=(c[A>>2]|0)==(c[D>>2]|0)?c[E>>2]|0:0;c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}function Rm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;g=h+4|0;e=h+12|0;f=h;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];a[e>>0]=0;c[f>>2]=0;while(1){b=c[g>>2]|0;if(!(254&(a[c[g>>2]>>0]|a[e>>0])))break;c[g>>2]=b+1;a[e>>0]=a[b>>0]&128;if(a[e>>0]|0)continue;c[f>>2]=(c[f>>2]|0)+1}c[c[d>>2]>>2]=b;i=h;return c[f>>2]|0}function Sm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}c[k>>2]=c[(c[g>>2]|0)+20>>2];if(c[k>>2]|0){Vm(c[k>>2]|0);if(c[(c[k>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+64>>2]|0))break;c[l>>2]=(c[k>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[l>>2]|0)+20>>2]|0)cn(c[(c[l>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}l=dn(c[f>>2]|0,0,c[k>>2]|0)|0;c[c[h>>2]>>2]=l}c[(c[k>>2]|0)+8>>2]=0;l=(c[k>>2]|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[k>>2]|0)+48>>2]=0}l=(c[g>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;Sm(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);Sm(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);i=m;return} -function Rp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;e=k+20|0;c[l>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=c[l>>2];a:while(1){if(c[j>>2]|0){d=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{d=4;break a}case 96:case 34:case 39:{c[j>>2]=c[h>>2];while(1){l=(c[j>>2]|0)+1|0;c[j>>2]=l;if(!(a[l>>0]|0))continue a;if((a[c[j>>2]>>0]|0)!=(a[e>>0]|0))continue;l=(c[j>>2]|0)+1|0;c[j>>2]=l;if((a[l>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[j>>2]=(c[h>>2]|0)+1;while(1){if(a[c[j>>2]>>0]|0)b=(a[c[j>>2]>>0]|0)!=93;else b=0;d=c[j>>2]|0;if(!b)break;c[j>>2]=d+1}if(!(a[d>>0]|0))continue a;c[j>>2]=(c[j>>2]|0)+1;continue a}default:{l=(Mp(a[c[h>>2]>>0]|0)|0)!=0;d=(c[h>>2]|0)+1|0;if(!l){c[h>>2]=d;continue a}c[j>>2]=d;while(1){if(!(Mp(a[c[j>>2]>>0]|0)|0))continue a;c[j>>2]=(c[j>>2]|0)+1}}}}if((d|0)==4){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}else if((d|0)==21){c[c[g>>2]>>2]=(c[j>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];l=c[f>>2]|0;i=k;return l|0}return 0}function Sp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+96|0;r=t+56|0;l=t+48|0;k=t+40|0;n=t+32|0;m=t+24|0;j=t+8|0;h=t;q=t+92|0;e=t+88|0;f=t+84|0;s=t+80|0;o=t+76|0;p=t+72|0;g=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[s>>2]=0;c[o>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){Yp(c[f>>2]|0,s,24745,n);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[k>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2];Yp(p,s,24751,k);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[l>>2]=c[(c[q>>2]|0)+44>>2];Yp(p,s,24731,l)}}else{if(c[e>>2]|0){b=Xp(c[e>>2]|0)|0;c[p>>2]=b;c[o>>2]=b}else c[p>>2]=18402;Yp(c[f>>2]|0,s,24710,h);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;b=c[f>>2]|0;l=c[g>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]|0;c[j>>2]=c[p>>2];c[j+4>>2]=l;c[j+8>>2]=n;Yp(b,s,24716,j);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[m>>2]=24738;Yp(p,s,24731,m)}Kd(c[o>>2]|0)}e=c[f>>2]|0;f=c[(c[q>>2]|0)+16>>2]|0;g=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){b=c[g+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?18402:24760;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Yp(e,s,24769,r);s=c[s>>2]|0;i=t;return s|0}else{b=c[g+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?18402:24760;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Yp(e,s,24769,r);s=c[s>>2]|0;i=t;return s|0}return 0}function Tp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;k=o+16|0;j=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;n=o+32|0;l=o+28|0;m=o+24|0;h=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;c[l>>2]=0;if(c[f>>2]|0){b=Xp(c[f>>2]|0)|0;c[m>>2]=b;c[l>>2]=b}else c[m>>2]=18402;Yp(c[g>>2]|0,n,20275,o);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;b=c[g>>2]|0;c[j>>2]=c[m>>2];Yp(b,n,24694,j);c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}Yp(c[g>>2]|0,n,24701,k);m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}function Up(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+112|0;m=r+64|0;k=r+56|0;j=r+48|0;h=r+32|0;n=r+24|0;l=r+8|0;d=r+96|0;g=r+92|0;f=r+88|0;e=r+84|0;q=r+80|0;p=r+76|0;o=r+72|0;c[d>>2]=b;c[g>>2]=0;c[e>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[q>>2]=c[(c[d>>2]|0)+44>>2];c[p>>2]=Od(24319,r)|0;c[f>>2]=0;while(1){if(!(c[p>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[o>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[o>>2]|0;c[l>>2]=c[p>>2];c[l+4>>2]=s;c[l+8>>2]=b;c[p>>2]=Od(24345,l)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[q>>2]|0)!=0&(c[p>>2]|0)!=0){s=c[q>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=s;c[p>>2]=Od(24357,n)|0}if(!(c[p>>2]|0))c[g>>2]=7;s=c[e>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[p>>2]|0;c[h>>2]=c[(c[d>>2]|0)+16>>2];c[h+4>>2]=o;c[h+8>>2]=q;nl(g,s,24368,h);Kd(c[p>>2]|0)}s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[(c[d>>2]|0)+16>>2];c[j+4>>2]=q;nl(g,s,24401,j);s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=q;nl(g,s,24473,k);if(a[(c[d>>2]|0)+230>>0]|0){s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;nl(g,s,24626,m)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[g>>2]|0;i=r;return s|0}bp(g,c[d>>2]|0);s=c[g>>2]|0;i=r;return s|0}function Vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;d=k+20|0;e=k+16|0;g=k+12|0;j=k+8|0;f=k+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){i=k;return}c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=Od(24299,h)|0;do if(c[j>>2]|0){c[g>>2]=cf(c[(c[e>>2]|0)+12>>2]|0,c[j>>2]|0,-1,f,0)|0;if(!(c[g>>2]|0)){te(c[f>>2]|0)|0;h=Ce(c[f>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=h;c[g>>2]=Xd(c[f>>2]|0)|0;break}if((c[g>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[g>>2]=0}}else c[g>>2]=7;while(0);Kd(c[j>>2]|0);c[c[d>>2]>>2]=c[g>>2];i=k;return}function Wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;l=p+24|0;k=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;j=p+48|0;o=p+44|0;m=p+40|0;n=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){i=p;return}if(c[(c[g>>2]|0)+44>>2]|0)b=c[(c[g>>2]|0)+44>>2]|0;else b=24224;c[n>>2]=b;a=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;hf(a,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[m>>2]=Od(24233,e)|0;c[h>>2]=1;while(1){if(c[m>>2]|0)a=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else a=0;b=c[m>>2]|0;if(!a)break;e=c[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[k>>2]=b;c[k+4>>2]=e;c[m>>2]=Od(24238,k)|0;c[h>>2]=(c[h>>2]|0)+1}k=c[(c[g>>2]|0)+20>>2]|0;n=c[n>>2]|0;c[l>>2]=b;c[l+4>>2]=k;c[l+8>>2]=n;c[o>>2]=Od(24245,l)|0;if((c[m>>2]|0)!=0&(c[o>>2]|0)!=0)c[j>>2]=ff(c[(c[g>>2]|0)+12>>2]|0,c[o>>2]|0)|0;else c[j>>2]=7;Kd(c[o>>2]|0);Kd(c[m>>2]|0);c[c[f>>2]>>2]=c[j>>2];i=p;return}function Xp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;j=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=b;c[j>>2]=2+((kR(c[d>>2]|0)|0)<<1)+1;c[g>>2]=Id(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}c[f>>2]=c[g>>2];j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;c[e>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0)==34){j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34}b=a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=b;c[e>>2]=(c[e>>2]|0)+1}j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=0;j=c[g>>2]|0;i=h;return j|0}function Yp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+16|0;l=n+12|0;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=n;return}c[j>>2]=e;c[l>>2]=Nd(c[h>>2]|0,j)|0;if((c[l>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0){d=c[l>>2]|0;c[k>>2]=c[c[g>>2]>>2];c[k+4>>2]=d;c[m>>2]=Od(24705,k)|0;Kd(c[l>>2]|0);c[l>>2]=c[m>>2]}if(!(c[l>>2]|0))c[c[f>>2]>>2]=7;Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[l>>2];i=n;return}function Zp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[l+8>>2]=1e7;c[h>>2]=0;c[j>>2]=c[c[f>>2]>>2];while(1){if((a[c[j>>2]>>0]|0)<48)break;if((a[c[j>>2]>>0]|0)>57)break;c[h>>2]=((c[h>>2]|0)*10|0)+((a[c[j>>2]>>0]|0)-48);if((c[h>>2]|0)>1e7){k=5;break}c[j>>2]=(c[j>>2]|0)+1}if((k|0)==5)c[h>>2]=0;if((c[j>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}else{c[c[g>>2]>>2]=c[h>>2];c[c[f>>2]>>2]=c[j>>2];c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}return 0}function _p(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;m=p;e=p+40|0;q=p+36|0;f=p+32|0;j=p+28|0;l=p+24|0;o=p+20|0;h=p+16|0;k=p+12|0;g=p+8|0;n=p+4|0;c[e>>2]=a;c[q>>2]=b;c[f>>2]=d;c[l>>2]=0;c[j>>2]=ue(c[e>>2]|0)|0;c[o>>2]=$d(c[c[f>>2]>>2]|0)|0;c[h>>2]=(ae(c[c[f>>2]>>2]|0)|0)+1;do if((c[q>>2]|0)==2){if(!($p(c[e>>2]|0)|0)){ie(c[e>>2]|0,25030,-1);i=p;return}c[g>>2]=ae(c[(c[f>>2]|0)+4>>2]|0)|0;if((c[o>>2]|0)==0|(c[g>>2]|0)!=4){ie(c[e>>2]|0,24993,-1);i=p;return}else{c[l>>2]=c[(_d(c[(c[f>>2]|0)+4>>2]|0)|0)>>2];c[k>>2]=lk(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if((c[k>>2]|0)!=(c[l>>2]|0))break;ie(c[e>>2]|0,25016,-1);break}}else{if(c[o>>2]|0)c[l>>2]=Ek(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0)|0;if(!(c[l>>2]|0)){c[m>>2]=c[o>>2];c[n>>2]=Od(20595,m)|0;ie(c[e>>2]|0,c[n>>2]|0,-1);Kd(c[n>>2]|0);i=p;return}}while(0);fe(c[e>>2]|0,l,4,-1);i=p;return}function $p(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d;g=d+16|0;f=d+12|0;b=d+8|0;c[g>>2]=a;c[f>>2]=ve(c[g>>2]|0)|0;c[b>>2]=0;a=c[f>>2]|0;c[e>>2]=-1;c[e+4>>2]=b;of(a,1004,e)|0;i=d;return c[b>>2]|0}function aq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;d=c[c[g>>2]>>2]|0;if(c[(c[g>>2]|0)+4>>2]|0)c[c[(c[g>>2]|0)+4>>2]>>2]=d;else c[(c[f>>2]|0)+8>>2]=d;if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[j>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[j>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[j>>2]>>2]|0)<=0)c[(c[j>>2]|0)+4>>2]=0;if((a[(c[f>>2]|0)+1>>0]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0)qk(c[(c[g>>2]|0)+12>>2]|0);qk(c[g>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){i=k;return}pk(c[f>>2]|0);i=k;return}function bq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;j=n;c[f>>2]=b;c[g>>2]=d;c[k>>2]=cq(c[g>>2]<<3)|0;if(!(c[k>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}qk(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[m>>2]=Hk(a[c[f>>2]>>0]|0)|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=Yb[c[m>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;c[j>>2]=b&(c[g>>2]|0)-1;c[l>>2]=c[c[h>>2]>>2];dq(c[f>>2]|0,(c[k>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[l>>2]}c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}function cq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}VR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function dq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}function eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=Id(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;i=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function fq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function gq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){b=kR(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=b;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function hq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function iq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;j=w+48|0;x=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;u=w+16|0;r=w+12|0;q=w+8|0;s=w+4|0;t=w;c[x>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[x>>2];c[u>>2]=c[(c[p>>2]|0)+4>>2];do{if((c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)?(x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0,c[q>>2]=x,(x&128|0)==0):0)if((c[q>>2]|0)<48)b=1;else b=(a[25052+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}c[r>>2]=h;while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)){x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0;c[q>>2]=x;if(!(x&128))if((c[q>>2]|0)<48)b=1;else b=(a[25052+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}}while((h|0)<=(c[r>>2]|0));if((v|0)==23){c[j>>2]=101;x=c[j>>2]|0;i=w;return x|0}c[s>>2]=(c[(c[p>>2]|0)+12>>2]|0)-(c[r>>2]|0);do if((c[s>>2]|0)>(c[(c[p>>2]|0)+24>>2]|0)){c[(c[p>>2]|0)+24>>2]=(c[s>>2]|0)+20;c[t>>2]=Ld(c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;if(c[t>>2]|0){c[(c[p>>2]|0)+20>>2]=c[t>>2];break}c[j>>2]=7;x=c[j>>2]|0;i=w;return x|0}while(0);jq((c[u>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[l>>2]|0);c[c[k>>2]>>2]=c[(c[p>>2]|0)+20>>2];c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=c[(c[p>>2]|0)+12>>2];v=(c[p>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[o>>2]>>2]=x;c[j>>2]=0;x=c[j>>2]|0;i=w;return x|0}function jq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;g=s+28|0;h=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;k=s+8|0;m=s+36|0;r=s+4|0;l=s;j=s+32|0;c[g>>2]=b;c[h>>2]=d;c[o>>2]=e;c[p>>2]=f;if((c[h>>2]|0)<3|(c[h>>2]|0)>=21){kq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}c[q>>2]=0;c[k>>2]=22;while(1){if((c[q>>2]|0)>=(c[h>>2]|0))break;a[j>>0]=a[(c[g>>2]|0)+(c[q>>2]|0)>>0]|0;if((a[j>>0]|0)>=65?(a[j>>0]|0)<=90:0)a[m+(c[k>>2]|0)>>0]=(a[j>>0]|0)+97-65;else{if((a[j>>0]|0)<97){n=11;break}if((a[j>>0]|0)>122){n=11;break}a[m+(c[k>>2]|0)>>0]=a[j>>0]|0}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==11){kq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}n=m+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[r>>2]=m+((c[k>>2]|0)+1);if((((a[c[r>>2]>>0]|0)==115?(lq(r,25132,25137,0)|0)==0:0)?(lq(r,25140,25144,0)|0)==0:0)?(lq(r,25137,25137,0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1;c[l>>2]=c[r>>2];do if(!(lq(r,25146,25150,172)|0)){if((lq(r,25153,18402,173)|0)==0?(lq(r,25157,18402,173)|0)==0:0)break;if((((c[r>>2]|0)!=(c[l>>2]|0)?(lq(r,25160,25163,0)|0)==0:0)?(lq(r,25167,25170,0)|0)==0:0)?(lq(r,25174,25177,0)|0)==0:0){if((((oq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)!=108:0)?(a[c[r>>2]>>0]|0)!=115:0)?(a[c[r>>2]>>0]|0)!=122:0){c[r>>2]=(c[r>>2]|0)+1;break}if((pq(c[r>>2]|0)|0)!=0?(qq(c[r>>2]|0)|0)!=0:0){n=(c[r>>2]|0)+-1|0;c[r>>2]=n;a[n>>0]=101}}}while(0);if((a[c[r>>2]>>0]|0)==121?(nq((c[r>>2]|0)+1|0)|0)!=0:0)a[c[r>>2]>>0]=105;switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if(!(lq(r,25181,25163,172)|0))lq(r,25189,25196,172)|0;break}case 99:{if(!(lq(r,25201,25206,172)|0))lq(r,25211,25216,172)|0;break}case 101:{lq(r,25221,25177,172)|0;break}case 103:{lq(r,25226,25231,172)|0;break}case 108:{if((((lq(r,25235,25170,172)|0)==0?(lq(r,25239,25244,172)|0)==0:0)?(lq(r,25247,25253,172)|0)==0:0)?(lq(r,25257,25261,172)|0)==0:0)lq(r,25263,25269,172)|0;break}case 111:{if((lq(r,25273,25177,172)|0)==0?(lq(r,25281,25163,172)|0)==0:0)lq(r,25287,25163,172)|0;break}case 115:{if(((lq(r,25292,25244,172)|0)==0?(lq(r,25298,25306,172)|0)==0:0)?(lq(r,25310,25318,172)|0)==0:0)lq(r,25322,25269,172)|0;break}case 116:{if((lq(r,25330,25244,172)|0)==0?(lq(r,25336,25306,172)|0)==0:0)lq(r,25342,25170,172)|0;break}default:{}}switch(a[c[r>>2]>>0]|0){case 101:{if((lq(r,25349,25355,172)|0)==0?(lq(r,25358,18402,172)|0)==0:0)lq(r,25364,25244,172)|0;break}case 105:{lq(r,25370,25355,172)|0;break}case 108:{if(!(lq(r,25376,25355,172)|0))lq(r,25381,18402,172)|0;break}case 115:{lq(r,25385,18402,172)|0;break}default:{}}a:do switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if((a[c[r>>2]>>0]|0)==108?(rq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 99:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==110:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=101:0)break a;if(rq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 101:{if((a[c[r>>2]>>0]|0)==114?(rq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 105:{if((a[c[r>>2]>>0]|0)==99?(rq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 108:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==98:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=105:0)break a;if(rq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 110:{if((a[c[r>>2]>>0]|0)==116){g=c[r>>2]|0;if((a[(c[r>>2]|0)+2>>0]|0)==97){if(!(rq(g+3|0)|0))break a;c[r>>2]=(c[r>>2]|0)+3;break a}if(((a[g+2>>0]|0)==101?(lq(r,25390,18402,174)|0)==0:0)?(lq(r,25396,18402,174)|0)==0:0)lq(r,25401,18402,174)|0}break}case 111:{g=c[r>>2]|0;if((a[c[r>>2]>>0]|0)==117){if(!(rq(g+2|0)|0))break a;c[r>>2]=(c[r>>2]|0)+2;break a}if((a[g+3>>0]|0)!=115?(a[(c[r>>2]|0)+3>>0]|0)!=116:0)break a;lq(r,25405,18402,174)|0;break}case 115:{if(((a[c[r>>2]>>0]|0)==109?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(rq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 116:{if(!(lq(r,25409,18402,174)|0))lq(r,25413,18402,174)|0;break}case 117:{if(((a[c[r>>2]>>0]|0)==115?(a[(c[r>>2]|0)+2>>0]|0)==111:0)?(rq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 122:case 118:{if(((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(rq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}default:{}}while(0);do if((a[c[r>>2]>>0]|0)==101){n=(rq((c[r>>2]|0)+1|0)|0)!=0;g=(c[r>>2]|0)+1|0;if(n){c[r>>2]=g;break}if((pq(g)|0)!=0?(qq((c[r>>2]|0)+1|0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1}while(0);if(((rq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)==108:0)?(a[(c[r>>2]|0)+1>>0]|0)==108:0)c[r>>2]=(c[r>>2]|0)+1;n=kR(c[r>>2]|0)|0;c[q>>2]=n;c[c[p>>2]>>2]=n;a[(c[o>>2]|0)+(c[q>>2]|0)>>0]=0;while(1){if(!(a[c[r>>2]>>0]|0))break;n=c[r>>2]|0;c[r>>2]=n+1;n=a[n>>0]|0;p=(c[q>>2]|0)+-1|0;c[q>>2]=p;a[(c[o>>2]|0)+p>>0]=n}i=s;return}function kq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;n=q+12|0;p=q+8|0;o=q+4|0;m=q;l=q+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[l>>0]=a[(c[g>>2]|0)+(c[n>>2]|0)>>0]|0;if((a[l>>0]|0)>=65?(a[l>>0]|0)<=90:0)a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=(a[l>>0]|0)-65+97;else{if((a[l>>0]|0)>=48?(a[l>>0]|0)<=57:0)c[m>>2]=1;a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=a[l>>0]|0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(c[m>>2]|0)!=0?3:10;if((c[h>>2]|0)<=(c[p>>2]<<1|0)){b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}c[o>>2]=c[p>>2];c[n>>2]=(c[h>>2]|0)-(c[p>>2]|0);while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[(c[j>>2]|0)+(c[o>>2]|0)>>0]=a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=c[o>>2];b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}function lq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[j>>2]>>0]|0))break;if((a[c[j>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if(a[c[j>>2]>>0]|0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}if((c[l>>2]|0)!=0?(Tb[c[l>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}while(1){if(!(a[c[k>>2]>>0]|0))break;d=c[k>>2]|0;c[k>>2]=d+1;d=a[d>>0]|0;e=(c[m>>2]|0)+-1|0;c[m>>2]=e;a[e>>0]=d}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function mq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function nq(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;c[d>>2]=b;while(1){f=(tq(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}i=e;return (a[b>>0]|0)!=0|0}function oq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(tq(c[d>>2]|0)|0)){b=0;b=b&1;i=e;return b|0}b=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);b=b&1;i=e;return b|0}function pq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;i=f;return g|0}function qq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(((((tq(c[d>>2]|0)|0)!=0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?(sq((c[d>>2]|0)+1|0)|0)!=0:0)d=(tq((c[d>>2]|0)+2|0)|0)!=0;else d=0;i=e;return d&1|0}function rq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function sq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}c[f>>2]=a[25417+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=tq((c[e>>2]|0)+1|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function tq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}c[e>>2]=a[25417+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;i=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))d=1;else d=(sq((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=d&1;g=c[g>>2]|0;i=h;return g|0}function uq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;l=q+32|0;n=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=Id(132)|0;if(!(c[p>>2]|0)){c[g>>2]=7;p=c[g>>2]|0;i=q;return p|0}VR(c[p>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[o>>2]=kR(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break a;a[l>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]|0)>>0]|0;if((d[l>>0]|0|0)>=128)break;a[(c[p>>2]|0)+4+(d[l>>0]|0)>>0]=1;c[m>>2]=(c[m>>2]|0)+1}Kd(c[p>>2]|0);c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}else{c[n>>2]=1;while(1){if((c[n>>2]|0)>=128)break a;f=(Aq(c[n>>2]|0)|0)!=0^1;a[(c[p>>2]|0)+4+(c[n>>2]|0)>>0]=f?-1:0;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[c[k>>2]>>2]=c[p>>2];c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}function vq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function wq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=kR(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function xq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function yq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;n=z+52|0;A=z+48|0;o=z+44|0;p=z+40|0;q=z+36|0;r=z+32|0;s=z+28|0;t=z+24|0;l=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;k=z;u=z+56|0;c[A>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[A>>2];c[l>>2]=c[c[A>>2]>>2];c[y>>2]=c[(c[t>>2]|0)+4>>2];do{if((c[(c[t>>2]|0)+12>>2]|0)>=(c[(c[t>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(zq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}c[w>>2]=j;while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(zq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}}while((j|0)<=(c[w>>2]|0));if((m|0)==25){c[n>>2]=101;A=c[n>>2]|0;i=z;return A|0}c[x>>2]=(c[(c[t>>2]|0)+12>>2]|0)-(c[w>>2]|0);do if((c[x>>2]|0)>(c[(c[t>>2]|0)+24>>2]|0)){c[(c[t>>2]|0)+24>>2]=(c[x>>2]|0)+20;c[k>>2]=Ld(c[(c[t>>2]|0)+20>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[t>>2]|0)+20>>2]=c[k>>2];break}c[n>>2]=7;A=c[n>>2]|0;i=z;return A|0}while(0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[x>>2]|0))break;a[u>>0]=a[(c[y>>2]|0)+((c[w>>2]|0)+(c[v>>2]|0))>>0]|0;if((d[u>>0]|0|0)>=65?(d[u>>0]|0|0)<=90:0)b=(d[u>>0]|0)-65+97|0;else b=d[u>>0]|0;a[(c[(c[t>>2]|0)+20>>2]|0)+(c[v>>2]|0)>>0]=b;c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[(c[t>>2]|0)+20>>2];c[c[p>>2]>>2]=c[x>>2];c[c[q>>2]>>2]=c[w>>2];c[c[r>>2]>>2]=c[(c[t>>2]|0)+12>>2];y=(c[t>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[s>>2]>>2]=A;c[n>>2]=0;A=c[n>>2]|0;i=z;return A|0}function zq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){b=0;b=b&1;i=h;return b|0}b=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;b=b&1;i=h;return b|0}function Aq(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)b=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else b=1;i=d;return b&1|0}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;t=w;h=w+56|0;j=w+52|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;u=w+28|0;v=w+24|0;p=w+20|0;q=w+16|0;o=w+12|0;s=w+8|0;r=w+4|0;c[j>>2]=a;c[w+48>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;do if(!((c[k>>2]|0)!=4&(c[k>>2]|0)!=5)){c[u>>2]=c[(c[l>>2]|0)+4>>2];c[p>>2]=kR(c[u>>2]|0)|0;if((c[k>>2]|0)==5){if((c[p>>2]|0)!=4)break;if(zd(18672,c[u>>2]|0,4)|0)break;c[u>>2]=c[(c[l>>2]|0)+12>>2];c[p>>2]=kR(c[u>>2]|0)|0;c[v>>2]=c[(c[l>>2]|0)+16>>2]}else c[v>>2]=c[(c[l>>2]|0)+12>>2];c[q>>2]=kR(c[v>>2]|0)|0;c[s>>2]=ff(c[j>>2]|0,25453)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];v=c[h>>2]|0;i=w;return v|0}c[o>>2]=296+(c[p>>2]|0)+(c[q>>2]|0)+2;c[r>>2]=Id(c[o>>2]|0)|0;if(c[r>>2]|0){VR(c[r>>2]|0,0,c[o>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[p>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[j>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;TR(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;TR(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;Ok(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[m>>2]>>2]=c[r>>2];c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}else{c[h>>2]=7;v=c[h>>2]|0;i=w;return v|0}}while(0);Fk(c[n>>2]|0,25522,t);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}function Cq(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;f=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q+12|0;p=q+8|0;j=q+4|0;g=q;c[q+36>>2]=b;c[k>>2]=e;c[l>>2]=-1;c[m>>2]=-1;c[o>>2]=-1;c[n>>2]=-1;c[p>>2]=1;if(((c[(c[k>>2]|0)+8>>2]|0)==1?(c[c[(c[k>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[k>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[k>>2]|0)+32>>2]=1;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(a[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+5>>0]|0){c[j>>2]=d[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[j>>2]|0)==2)c[l>>2]=c[f>>2];if((c[j>>2]|0)==16)c[o>>2]=c[f>>2];if((c[j>>2]|0)==8)c[o>>2]=c[f>>2];if((c[j>>2]|0)==4)c[m>>2]=c[f>>2];if((c[j>>2]|0)==32)c[m>>2]=c[f>>2]}if((c[g>>2]|0)==4&(c[j>>2]|0)==2)c[n>>2]=c[f>>2]}c[f>>2]=(c[f>>2]|0)+1}f=(c[k>>2]|0)+20|0;if((c[l>>2]|0)<0){c[f>>2]=0;h[(c[k>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){l=(c[k>>2]|0)+20|0;c[l>>2]=(c[l>>2]|0)+2;l=c[p>>2]|0;c[p>>2]=l+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=l;m=(c[k>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[o>>2]|0)>=0){m=(c[k>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=m;o=(c[k>>2]|0)+40|0;h[o>>3]=+h[o>>3]/2.0}}else{c[f>>2]=1;o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=o;h[(c[k>>2]|0)+40>>3]=5.0}if((c[n>>2]|0)<0){i=q;return 0}o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=o;p=(c[k>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;i=q;return 0}function Dq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];c[e>>2]=c[(c[d>>2]|0)+12>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Xd(c[(c[e>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[e>>2]|0)+240>>2]|0);Kd(c[d>>2]|0);i=f;return 0}function Eq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}return 0}function Fq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];ym(c[e>>2]|0);Bl((c[d>>2]|0)+4|0);Kd(c[(c[d>>2]|0)+60>>2]|0);Kd(c[(c[d>>2]|0)+76>>2]|0);Kd(c[(c[d>>2]|0)+112>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Gq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;x=z+8|0;w=z;g=z+76|0;h=z+72|0;j=z+68|0;k=z+60|0;l=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;o=z+36|0;m=z+32|0;n=z+28|0;q=z+24|0;p=z+20|0;r=z+16|0;y=z+12|0;c[h>>2]=a;c[j>>2]=b;c[z+64>>2]=d;c[k>>2]=e;c[l>>2]=f;c[t>>2]=c[h>>2];c[u>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];c[s>>2]=0;c[o>>2]=0;c[m>>2]=-1;c[n>>2]=-1;c[q>>2]=-1;c[p>>2]=-1;c[r>>2]=0;if((c[j>>2]|0)!=1){c[s>>2]=1;if(c[j>>2]&2){a=c[r>>2]|0;c[r>>2]=a+1;c[n>>2]=a}if(c[j>>2]&4){a=c[r>>2]|0;c[r>>2]=a+1;c[q>>2]=a}}else{a=c[r>>2]|0;c[r>>2]=a+1;c[m>>2]=a}if((c[r>>2]|0)<(c[k>>2]|0)){a=c[r>>2]|0;c[r>>2]=a+1;c[p>>2]=a}Bl((c[t>>2]|0)+4|0);Kd(c[(c[t>>2]|0)+60>>2]|0);Kd(c[(c[t>>2]|0)+112>>2]|0);VR((c[t>>2]|0)+4|0,0,(c[t>>2]|0)+120-((c[t>>2]|0)+4)|0)|0;c[(c[t>>2]|0)+60+12>>2]=3;if(c[s>>2]|0){a=(c[t>>2]|0)+60+12|0;c[a>>2]=c[a>>2]|16}if(((c[m>>2]|0)>=0|(c[n>>2]|0)>=0?(c[y>>2]=$d(c[c[l>>2]>>2]|0)|0,(c[y>>2]|0)!=0):0)?(c[w>>2]=c[y>>2],y=Od(18391,w)|0,c[(c[t>>2]|0)+60>>2]=y,y=ae(c[c[l>>2]>>2]|0)|0,c[(c[t>>2]|0)+60+4>>2]=y,(c[(c[t>>2]|0)+60>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[q>>2]|0)>=0?(c[x>>2]=$d(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,y=Od(18391,x)|0,c[(c[t>>2]|0)+76>>2]=y,y=ae(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,c[(c[t>>2]|0)+80>>2]=y,(c[(c[t>>2]|0)+76>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[p>>2]|0)>=0){y=ce(c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;c[o>>2]=y;c[o>>2]=(c[o>>2]|0)<0?0:y}c[(c[t>>2]|0)+84>>2]=c[o>>2];c[v>>2]=ql(c[u>>2]|0,c[o>>2]|0,0,-2,c[(c[t>>2]|0)+60>>2]|0,c[(c[t>>2]|0)+60+4>>2]|0,0,c[s>>2]|0,(c[t>>2]|0)+4|0)|0;if(!(c[v>>2]|0))c[v>>2]=ul(c[u>>2]|0,(c[t>>2]|0)+4|0,(c[t>>2]|0)+60|0)|0;if(!(c[v>>2]|0))c[v>>2]=Hq(c[h>>2]|0)|0;c[g>>2]=c[v>>2];y=c[g>>2]|0;i=z;return y|0}function Hq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;d=q+52|0;r=q+48|0;m=q+44|0;b=q+40|0;n=q+36|0;g=q+32|0;l=q+28|0;e=q+24|0;h=q+20|0;f=q+16|0;k=q+12|0;j=q+8|0;o=q;c[r>>2]=a;c[m>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[m>>2]|0)+96|0;r=a;r=RR(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=C;a=(c[m>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if((c[(c[m>>2]|0)+104>>2]|0)>=(c[(c[m>>2]|0)+108>>2]|0))break;r=(c[(c[m>>2]|0)+112>>2]|0)+(c[(c[m>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}r=(c[m>>2]|0)+104|0;c[r>>2]=(c[r>>2]|0)+1}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}c[n>>2]=vl(c[b>>2]|0,(c[m>>2]|0)+4|0)|0;do if((c[n>>2]|0)==100){c[g>>2]=0;c[l>>2]=c[(c[m>>2]|0)+4+52>>2];c[e>>2]=c[(c[m>>2]|0)+4+48>>2];c[f>>2]=0;do if(c[(c[m>>2]|0)+76>>2]|0){a=c[m>>2]|0;if((c[(c[m>>2]|0)+80>>2]|0)<(c[(c[m>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[k>>2]=a;c[j>>2]=eR(c[(c[m>>2]|0)+76>>2]|0,c[(c[m>>2]|0)+4+40>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)>=0){if(c[j>>2]|0)break;if((c[(c[m>>2]|0)+4+44>>2]|0)<=(c[(c[m>>2]|0)+80>>2]|0))break}c[(c[m>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}while(0);if(Lq(c[m>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}VR(c[(c[m>>2]|0)+112>>2]|0,0,c[(c[m>>2]|0)+108>>2]<<4|0)|0;c[h>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[l>>2]|0)){p=32;break}r=o;c[r>>2]=0;c[r+4>>2]=0;r=_l((c[e>>2]|0)+(c[g>>2]|0)|0,o)|0;c[g>>2]=(c[g>>2]|0)+r;switch(c[f>>2]|0){case 0:{r=c[(c[m>>2]|0)+112>>2]|0;k=r;c[r>>2]=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=1;c[h>>2]=0;continue a}case 1:{r=o;k=c[r+4>>2]|0;if((k|0)>0|(k|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;k=r;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C}c[f>>2]=2;break}case 2:break;default:{c[h>>2]=c[o>>2];if(Lq(c[m>>2]|0,(c[h>>2]|0)+2|0)|0)break a;r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)|0;k=r;c[r>>2]=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=2;continue a}}r=o;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[f>>2]=0;continue}r=o;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[f>>2]=3;continue}else{r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)+8|0;k=r;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;r=(c[(c[m>>2]|0)+112>>2]|0)+8|0;k=r;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;continue}}if((p|0)==32){c[(c[m>>2]|0)+104>>2]=0;c[n>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}else c[(c[m>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[n>>2];r=c[d>>2]|0;i=q;return r|0}function Iq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return c[(c[b>>2]|0)+88>>2]|0}function Jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{me(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);i=g;return 0}case 1:{e=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){je(e,(c[(c[f>>2]|0)+104>>2]|0)-1|0);i=g;return 0}else{me(e,25451,-1,0);i=g;return 0}}case 2:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;ke(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}case 3:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;ke(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}default:{je(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);i=g;return 0}}return 0}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Ld(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){VR((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Mq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;j=p+12|0;m=p+8|0;n=p+4|0;k=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;c[l>>2]=Id(16)|0;if(!(c[l>>2]|0)){c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}d=c[l>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[l>>2]|0)+4>>2]=1;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[f>>2]|0))break;c[n>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[k>>2]=kR(c[n>>2]|0)|0;if((c[k>>2]|0)==19?(eR(25728,c[n>>2]|0,19)|0)==0:0)c[(c[l>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[k>>2]|0)==19?(eR(25748,c[n>>2]|0,19)|0)==0:0){c[(c[l>>2]|0)+4>>2]=0;break}if((c[k>>2]|0)>=11?(eR(25768,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Xq(c[l>>2]|0,1,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}if((c[k>>2]|0)>=11?(eR(25780,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Xq(c[l>>2]|0,0,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}c[m>>2]=1}while(0);c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){Nq(c[l>>2]|0)|0;c[l>>2]=0}c[c[h>>2]>>2]=c[l>>2];c[e>>2]=c[m>>2];o=c[e>>2]|0;i=p;return o|0}function Nq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return 0}c[d>>2]=c[b>>2];Kd(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);i=e;return 0}function Oq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}e=c[k>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=kR(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function Pq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Qq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+80|0;p=A+64|0;B=A+60|0;q=A+56|0;r=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;m=A+32|0;k=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;o=A+8|0;l=A+4|0;n=A;c[B>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=c[B>>2];c[m>>2]=c[c[v>>2]>>2];c[k>>2]=0;c[w>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+12>>2]|0);c[z>>2]=c[w>>2];c[o>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[25563+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))b=((d[c[w>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Rq(c[m>>2]|0,c[k>>2]|0)|0)break;c[z>>2]=c[w>>2]}if((c[z>>2]|0)>>>0>=(c[o>>2]|0)>>>0){c[p>>2]=101;B=c[p>>2]|0;i=A;return B|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0)|0)>=((c[(c[v>>2]|0)+24>>2]|0)-4|0)){c[n>>2]=Ld(c[(c[v>>2]|0)+20>>2]|0,(c[(c[v>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[n>>2]|0)){b=20;break}c[y>>2]=(c[n>>2]|0)+((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0));c[(c[v>>2]|0)+20>>2]=c[n>>2];B=(c[v>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[x>>2]=c[w>>2];c[l>>2]=Sq(c[k>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;do if(c[l>>2]|0){b=c[l>>2]|0;if((c[l>>2]|0)<128){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=b;break}e=c[l>>2]|0;if((b|0)<2048){f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=192+(e>>6&31);f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}b=c[l>>2]|0;if((e|0)<65536){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}else{f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=240+(b>>18&7);f=128+(c[l>>2]>>12&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}}while(0);if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=43;break}B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[25563+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))e=((d[c[w>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Rq(c[m>>2]|0,c[k>>2]|0)|0)continue;if(!(Tq(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[p>>2]=7;B=c[p>>2]|0;i=A;return B|0}else if((b|0)==43){c[(c[v>>2]|0)+12>>2]=(c[w>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=c[(c[v>>2]|0)+20>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0);c[c[s>>2]>>2]=(c[z>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[t>>2]>>2]=(c[x>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);z=(c[v>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[u>>2]>>2]=B;c[p>>2]=0;B=c[p>>2]|0;i=A;return B|0}return 0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Vq(c[e>>2]|0)|0;a=a^(Wq(c[f>>2]|0,c[e>>2]|0)|0);i=d;return a|0}function Sq(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;o=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;h=p+4|0;n=p;c[f>>2]=a;c[g>>2]=b;c[o>>2]=c[f>>2];b=c[f>>2]|0;if((c[f>>2]|0)<128){if(!((b|0)>=65&(c[f>>2]|0)<=90)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+32;o=c[o>>2]|0;i=p;return o|0}if((b|0)>=65536){if(!((c[f>>2]|0)>=66560&(c[f>>2]|0)<66600)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+40;o=c[o>>2]|0;i=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[l>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[m>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[h>>2]=(c[f>>2]|0)-(e[9798+(c[m>>2]<<2)>>1]|0);b=c[m>>2]|0;if((c[h>>2]|0)>=0){c[l>>2]=b;c[k>>2]=(c[m>>2]|0)+1;continue}else{c[j>>2]=b-1;continue}}if(((c[l>>2]|0)>=0?(c[n>>2]=9798+(c[l>>2]<<2),(c[f>>2]|0)<((e[c[n>>2]>>1]|0)+(d[(c[n>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[n>>2]|0)+2>>0]|0)&((e[c[n>>2]>>1]|0)^c[f>>2])|0):0)c[o>>2]=(c[f>>2]|0)+(e[10450+((d[(c[n>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[g>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Uq(c[o>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function Tq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=134389727;c[e>>2]=221688;if((c[b>>2]|0)<768|(c[b>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}if((c[b>>2]|0)<800)b=c[d>>2]&1<<(c[b>>2]|0)-768;else b=c[e>>2]&1<<(c[b>>2]|0)-768-32;c[f>>2]=b;f=c[f>>2]|0;i=g;return f|0}function Uq(b){b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+336|0;g=p+20|0;j=p+24|0;h=p+226|0;o=p+16|0;m=p+12|0;k=p+8|0;l=p+4|0;n=p;c[g>>2]=b;TR(j|0,10604,202)|0;b=h;d=25627;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[o>>2]=c[g>>2]<<3|7;c[m>>2]=0;c[k>>2]=100;c[l>>2]=0;while(1){if((c[k>>2]|0)<(c[l>>2]|0))break;c[n>>2]=((c[k>>2]|0)+(c[l>>2]|0)|0)/2|0;b=c[n>>2]|0;if((c[o>>2]|0)>>>0>=(e[j+(c[n>>2]<<1)>>1]|0)>>>0){c[m>>2]=b;c[l>>2]=(c[n>>2]|0)+1;continue}else{c[k>>2]=b-1;continue}}if((c[g>>2]|0)>((e[j+(c[m>>2]<<1)>>1]>>3)+(e[j+(c[m>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;i=p;return o|0}else{o=a[h+(c[m>>2]|0)>>0]|0;i=p;return o|0}return 0}function Vq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;g=k+12|0;e=k+8|0;f=k+4|0;h=k;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[2384+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;j=c[b>>2]|0;i=k;return j|0}if((a|0)>=4194304){c[b>>2]=1;j=c[b>>2]|0;i=k;return j|0}c[j>>2]=c[d>>2]<<10|1023;c[g>>2]=0;c[e>>2]=405;c[f>>2]=0;while(1){if((c[e>>2]|0)<(c[f>>2]|0))break;c[h>>2]=((c[e>>2]|0)+(c[f>>2]|0)|0)/2|0;a=c[h>>2]|0;if((c[j>>2]|0)>>>0>=(c[2400+(c[h>>2]<<2)>>2]|0)>>>0){c[g>>2]=a;c[f>>2]=(c[h>>2]|0)+1;continue}else{c[e>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[2400+(c[g>>2]<<2)>>2]|0)>>>10)+(c[2400+(c[g>>2]<<2)>>2]&1023)|0)>>>0&1;j=c[b>>2]|0;i=k;return j|0}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+24|0;d=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[j>>2]=0;c[h>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[h>>2]|0)<(c[j>>2]|0))break a;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0))break;d=c[k>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)){c[j>>2]=d+1;continue}else{c[h>>2]=d-1;continue}}c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Xq(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+48|0;k=t+44|0;l=t+40|0;g=t+36|0;u=t+32|0;r=t+28|0;s=t+24|0;o=t+20|0;h=t+16|0;m=t+12|0;q=t+8|0;n=t+4|0;p=t;c[k>>2]=a;c[l>>2]=b;c[g>>2]=e;c[u>>2]=f;c[r>>2]=c[g>>2];c[s>>2]=(c[r>>2]|0)+(c[u>>2]|0);c[h>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[25563+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Vq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Tq(c[o>>2]|0)|0)continue;c[h>>2]=(c[h>>2]|0)+1}if(c[h>>2]|0){c[m>>2]=Ld(c[(c[k>>2]|0)+12>>2]|0,(c[(c[k>>2]|0)+8>>2]|0)+(c[h>>2]|0)<<2)|0;if(!(c[m>>2]|0)){c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}c[q>>2]=c[(c[k>>2]|0)+8>>2];c[r>>2]=c[g>>2];while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[25563+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Vq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Tq(c[o>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;if((c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[o>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[q>>2];while(1){if((c[p>>2]|0)<=(c[n>>2]|0))break;c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[q>>2]=(c[q>>2]|0)+1}c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[q>>2]}c[j>>2]=0;u=c[j>>2]|0;i=t;return u|0}function Yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+4>>2];mg(c[j>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}j=c[e>>2]|0;j=sh(0,j,((j|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=j;c[(c[g>>2]|0)+52>>2]=c[f>>2];j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}function Zq(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+68>>0]|0|0)==2|0}function _q(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=Wb[c[(c[l>>2]|0)+36>>2]&255](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function $q(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Ut(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=f;return}a[c[e>>2]>>0]=0;if((Vt(c[d>>2]|0)|0)<=1){i=f;return}Wt(c[e>>2]|0)|0;i=f;return}function ar(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+112|0;r=K+96|0;s=K+92|0;t=K+88|0;u=K+84|0;v=K+80|0;L=K+76|0;w=K+72|0;x=K+68|0;n=K+64|0;C=K+60|0;D=K+56|0;G=K+52|0;A=K+48|0;E=K+44|0;l=K+40|0;I=K+36|0;B=K+32|0;H=K+28|0;o=K+24|0;F=K+20|0;q=K+16|0;m=K+12|0;p=K+8|0;y=K+4|0;z=K;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[L>>2]=h;c[w>>2]=j;c[x>>2]=k;c[C>>2]=0;c[D>>2]=0;c[G>>2]=0;c[A>>2]=0;c[E>>2]=0;c[I>>2]=0;c[B>>2]=0;c[H>>2]=(c[L>>2]&1|0)==0&1;c[o>>2]=st()|0;c[F>>2]=4096;c[q>>2]=0;c[m>>2]=0;c[l>>2]=(tt(c[s>>2]|0)|0)+7&-8;c[c[t>>2]>>2]=0;do if(((c[L>>2]&2|0)!=0?(c[A>>2]=1,(c[u>>2]|0)!=0):0)?(a[c[u>>2]>>0]|0)!=0:0){c[I>>2]=qh(0,c[u>>2]|0)|0;if(c[I>>2]|0){c[B>>2]=Jf(c[I>>2]|0)|0;c[u>>2]=0;break}c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}while(0);if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[B>>2]=(c[(c[s>>2]|0)+8>>2]|0)+1;L=c[B>>2]<<1;c[I>>2]=Ch(0,L,((L|0)<0)<<31>>31)|0;if(!(c[I>>2]|0)){c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}a[c[I>>2]>>0]=0;c[D>>2]=_q(c[s>>2]|0,c[u>>2]|0,c[B>>2]|0,c[I>>2]|0)|0;c[B>>2]=Jf(c[I>>2]|0)|0;L=(Jf(c[u>>2]|0)|0)+1|0;L=(c[u>>2]|0)+L|0;c[q>>2]=L;c[p>>2]=L;while(1){h=c[p>>2]|0;if(!(a[c[p>>2]>>0]|0))break;L=(Jf(h)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L;L=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L}c[m>>2]=h+1-(c[q>>2]|0);if((c[D>>2]|0)==0?((c[B>>2]|0)+8|0)>(c[(c[s>>2]|0)+8>>2]|0):0)c[D>>2]=ot(51006)|0;if(c[D>>2]|0){Tf(0,c[I>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}}c[n>>2]=kg(224+((c[o>>2]|0)+7&-8)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)+(c[l>>2]<<1)+(c[B>>2]|0)+1+(c[m>>2]|0)+(c[B>>2]|0)+8+2+(c[B>>2]|0)+4+2|0,0)|0;if(!(c[n>>2]|0)){Tf(0,c[I>>2]|0);c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}c[C>>2]=c[n>>2];L=(c[n>>2]|0)+224|0;c[n>>2]=L;c[(c[C>>2]|0)+212>>2]=L;L=(c[n>>2]|0)+((c[o>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+64>>2]=L;L=(c[n>>2]|0)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+72>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+68>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+176>>2]=L;if(c[I>>2]|0){L=(c[n>>2]|0)+((c[B>>2]|0)+1+(c[m>>2]|0))|0;c[n>>2]=L;c[(c[C>>2]|0)+180>>2]=L;TR(c[(c[C>>2]|0)+176>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;if(c[m>>2]|0)TR((c[(c[C>>2]|0)+176>>2]|0)+((c[B>>2]|0)+1)|0,c[q>>2]|0,c[m>>2]|0)|0;TR(c[(c[C>>2]|0)+180>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;h=(c[(c[C>>2]|0)+180>>2]|0)+(c[B>>2]|0)|0;g=25989;d=h+10|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(d|0));c[(c[C>>2]|0)+220>>2]=(c[(c[C>>2]|0)+180>>2]|0)+((c[B>>2]|0)+8+1);TR(c[(c[C>>2]|0)+220>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;L=(c[(c[C>>2]|0)+220>>2]|0)+(c[B>>2]|0)|0;a[L>>0]=a[25999]|0;a[L+1>>0]=a[26e3]|0;a[L+2>>0]=a[26001]|0;a[L+3>>0]=a[26002]|0;a[L+4>>0]=a[26003]|0;Tf(0,c[I>>2]|0)}c[c[C>>2]>>2]=c[s>>2];c[(c[C>>2]|0)+152>>2]=c[w>>2];do if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[y>>2]=0;c[D>>2]=Ur(c[s>>2]|0,c[(c[C>>2]|0)+176>>2]|0,c[(c[C>>2]|0)+64>>2]|0,c[w>>2]|0,y)|0;c[E>>2]=c[y>>2]&1;if(!(c[D>>2]|0)){c[z>>2]=bs(c[(c[C>>2]|0)+64>>2]|0)|0;do if((c[E>>2]|0)==0?(as(c[C>>2]|0),(c[F>>2]|0)>>>0<(c[(c[C>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[C>>2]|0)+156>>2]|0)>>>0>8192){c[F>>2]=8192;break}else{c[F>>2]=c[(c[C>>2]|0)+156>>2];break}while(0);L=(If(c[u>>2]|0,26005,0)|0)&255;a[(c[C>>2]|0)+14>>0]=L;if((c[z>>2]&8192|0)==0?(If(c[u>>2]|0,26012,0)|0)==0:0)break;c[w>>2]=c[w>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){c[G>>2]=1;a[(c[C>>2]|0)+17>>0]=1;a[(c[C>>2]|0)+18>>0]=4;a[(c[C>>2]|0)+14>>0]=1;c[E>>2]=c[w>>2]&1}if(!(c[D>>2]|0))c[D>>2]=Vi(c[C>>2]|0,F,-1)|0;if(!(c[D>>2]|0)){c[v>>2]=(c[v>>2]|0)+7&-8;c[D>>2]=vt(c[F>>2]|0,c[v>>2]|0,((c[A>>2]|0)!=0^1)&1,(c[A>>2]|0)!=0^1?186:0,c[C>>2]|0,c[(c[C>>2]|0)+212>>2]|0)|0}if(c[D>>2]|0){or(c[(c[C>>2]|0)+64>>2]|0);$i(c[(c[C>>2]|0)+208>>2]|0);Kd(c[C>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}a[(c[C>>2]|0)+6>>0]=c[H>>2];c[(c[C>>2]|0)+164>>2]=1073741823;a[(c[C>>2]|0)+13>>0]=c[G>>2];a[(c[C>>2]|0)+4>>0]=c[G>>2];a[(c[C>>2]|0)+19>>0]=a[(c[C>>2]|0)+13>>0]|0;a[(c[C>>2]|0)+16>>0]=c[A>>2];a[(c[C>>2]|0)+15>>0]=c[E>>2];a[(c[C>>2]|0)+7>>0]=a[(c[C>>2]|0)+13>>0]|0;if(!(a[(c[C>>2]|0)+7>>0]|0)){a[(c[C>>2]|0)+8>>0]=1;a[(c[C>>2]|0)+9>>0]=0;a[(c[C>>2]|0)+12>>0]=2;a[(c[C>>2]|0)+11>>0]=34;a[(c[C>>2]|0)+10>>0]=2}b[(c[C>>2]|0)+148>>1]=c[v>>2];L=(c[C>>2]|0)+168|0;c[L>>2]=-1;c[L+4>>2]=-1;as(c[C>>2]|0);if(c[H>>2]|0){if(c[A>>2]|0)a[(c[C>>2]|0)+5>>0]=4}else a[(c[C>>2]|0)+5>>0]=2;c[(c[C>>2]|0)+204>>2]=c[x>>2];c[c[t>>2]>>2]=c[C>>2];c[r>>2]=0;L=c[r>>2]|0;i=K;return L|0}function br(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b+4>>2]|0;a=(c[f>>2]|0)+136|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;aj(c[f>>2]|0);i=e;return}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;VR(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=es(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)==522?0:a;h=c[h>>2]|0;i=j;return h|0}function dr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=rt((c[(c[d>>2]|0)+4>>2]|0)+380|0)|0;i=b;return a|0}function er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[j>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){i=g;return}c[f>>2]=(c[e>>2]|0)+184;Ts(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);i=g;return}function fr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+15>>0]|0}function gr(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function hr(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];Yj();ir(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;jr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Zi(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)kr(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;mr(b,lr(c[e>>2]|0)|0)|0}nr(c[e>>2]|0)}Zj();or(c[(c[e>>2]|0)+68>>2]|0);or(c[(c[e>>2]|0)+64>>2]|0);$i(c[f>>2]|0);pr(c[(c[e>>2]|0)+212>>2]|0);Kd(c[e>>2]|0);i=g;return 0}function ir(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Kd(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function jr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;if(!(c[h>>2]|0)){g=c[o>>2]|0;i=p;return g|0}c[n>>2]=0;c[o>>2]=Rs(c[(c[h>>2]|0)+4>>2]|0,4)|0;do if(!(c[o>>2]|0)){if(!(d[(c[h>>2]|0)+43>>0]|0))a[(c[h>>2]|0)+43>>0]=1;c[o>>2]=Ss(c[h>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=-1;Ts(c[(c[h>>2]|0)+4>>2]|0,10,m);if((c[m>>2]|0)!=1){c[n>>2]=1;break}g=(c[h>>2]|0)+16|0;e=c[g+4>>2]|0;if((e|0)>0|(e|0)==0&(c[g>>2]|0)>>>0>=0)Us(c[h>>2]|0,0,0)}}while(0);Vs(c[h>>2]|0,c[n>>2]|0);or(c[(c[h>>2]|0)+8>>2]|0);if(c[n>>2]|0){Yj();xr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+108>>2]|0,0)|0;Zj()}Kd(c[(c[h>>2]|0)+32>>2]|0);Kd(c[h>>2]|0);g=c[o>>2]|0;i=p;return g|0}function kr(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h+4|0;e=h;c[g>>2]=b;pj(c[(c[g>>2]|0)+60>>2]|0);c[(c[g>>2]|0)+60>>2]=0;sr(c[g>>2]|0);j=(Br(c[g>>2]|0)|0)!=0;b=c[g>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[g>>2]|0)+64>>2]>>2]|0)b=bs(c[(c[g>>2]|0)+64>>2]|0)|0;else b=0;c[e>>2]=b;if(!(0!=(c[e>>2]&2048|0)?1==(d[(c[g>>2]|0)+5>>0]&5|0):0))or(c[(c[g>>2]|0)+68>>2]|0);c[f>>2]=Fr(c[g>>2]|0,0)|0;if((c[f>>2]|0)!=0?(d[(c[g>>2]|0)+17>>0]|0)==6:0)a[(c[g>>2]|0)+18>>0]=5;a[(c[g>>2]|0)+19>>0]=0;a[(c[g>>2]|0)+17>>0]=0}}else{Qs(c[b+216>>2]|0);a[(c[g>>2]|0)+17>>0]=0}if(!(c[(c[g>>2]|0)+44>>2]|0)){j=c[g>>2]|0;j=j+80|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+88|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}b=c[g>>2]|0;if(!(d[(c[g>>2]|0)+13>>0]|0)){Zi(b);a[(c[g>>2]|0)+19>>0]=0;a[(c[g>>2]|0)+17>>0]=0}else a[(c[g>>2]|0)+17>>0]=(c[c[b+68>>2]>>2]|0)!=0?0:1;c[(c[g>>2]|0)+44>>2]=0;j=c[g>>2]|0;j=j+80|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+88|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}function lr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=vr(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;i=f;return e|0}c[e>>2]=Xi(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;i=f;return e|0}function mr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;i=g;return h|0}function nr(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?(d[(c[e>>2]|0)+17>>0]|0)!=0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){Yj();qr(c[e>>2]|0)|0;Zj();break}if(!(a[(c[e>>2]|0)+4>>0]|0))rr(c[e>>2]|0,0,0)|0}while(0);kr(c[e>>2]|0);i=f;return}function or(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[c[b>>2]>>2]|0)){i=d;return}Tb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;i=d;return}function pr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function qr(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];j=c[e>>2]|0;i=k;return j|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}l=(Br(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(l){c[h>>2]=Vr(b,2,-1)|0;c[j>>2]=rr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+68>>2]>>2]|0)!=0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[h>>2]=Wr(c[f>>2]|0,0)|0;break}c[g>>2]=d[(c[f>>2]|0)+17>>0];c[h>>2]=rr(c[f>>2]|0,0,0)|0;if((c[g>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[h>>2];l=c[e>>2]|0;i=k;return l|0}}while(0);c[e>>2]=mr(c[f>>2]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}function rr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+24|0;k=o+20|0;g=o+16|0;l=o+12|0;m=o+8|0;n=o+4|0;h=o;c[k>>2]=b;c[g>>2]=e;c[l>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[k>>2]|0)+17>>0]|0)<2?(d[(c[k>>2]|0)+18>>0]|0)<2:0){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}sr(c[k>>2]|0);a:do if(c[c[(c[k>>2]|0)+68>>2]>>2]|0){b=(tr(c[(c[k>>2]|0)+68>>2]|0)|0)!=0;f=c[k>>2]|0;if(b){or(c[f+68>>2]|0);break}e=c[k>>2]|0;if((d[f+5>>0]|0)==3){h=e+80|0;if(!((c[h>>2]|0)==0&(c[h+4>>2]|0)==0)){c[m>>2]=ur(c[(c[k>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?(d[(c[k>>2]|0)+8>>0]|0)!=0:0)c[m>>2]=vr(c[(c[k>>2]|0)+68>>2]|0,d[(c[k>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;h=(c[k>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0;break}do if((d[e+5>>0]|0)!=1){if((d[(c[k>>2]|0)+4>>0]|0)!=0?(d[(c[k>>2]|0)+5>>0]|0)!=5:0)break;c[h>>2]=((a[(c[k>>2]|0)+13>>0]|0)!=0^1)&1;or(c[(c[k>>2]|0)+68>>2]|0);if(!(c[h>>2]|0))break a;c[m>>2]=xr(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+180>>2]|0,d[(c[k>>2]|0)+9>>0]|0)|0;break a}while(0);if(c[g>>2]|0)f=1;else f=(d[(c[k>>2]|0)+13>>0]|0)!=0;c[m>>2]=wr(c[k>>2]|0,f&1)|0;h=(c[k>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0}while(0);pj(c[(c[k>>2]|0)+60>>2]|0);c[(c[k>>2]|0)+60>>2]=0;c[(c[k>>2]|0)+48>>2]=0;if(!(c[m>>2]|0)){h=(yr(c[k>>2]|0,c[l>>2]|0)|0)!=0;f=c[(c[k>>2]|0)+212>>2]|0;if(h)zr(f);else Ar(f);fj(c[(c[k>>2]|0)+212>>2]|0,c[(c[k>>2]|0)+28>>2]|0)}if(!(Br(c[k>>2]|0)|0)){if((c[m>>2]|0)==0&(c[l>>2]|0)!=0?(c[(c[k>>2]|0)+36>>2]|0)>>>0>(c[(c[k>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=Dr(c[k>>2]|0,c[(c[k>>2]|0)+28>>2]|0)|0}else c[n>>2]=Cr(c[(c[k>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[l>>2]|0)!=0?(c[c[(c[k>>2]|0)+64>>2]>>2]|0)!=0:0){l=Ai(c[(c[k>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=l;c[m>>2]=(c[m>>2]|0)==12?0:l}do if(!(a[(c[k>>2]|0)+4>>0]|0)){if((Br(c[k>>2]|0)|0)!=0?(Er(c[(c[k>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=Fr(c[k>>2]|0,1)|0;a[(c[k>>2]|0)+19>>0]=0}while(0);a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+20>>0]=0;c[j>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[j>>2]|0;i=o;return n|0}function sr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;pj(c[(c[(c[d>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(tr(c[(c[d>>2]|0)+72>>2]|0)|0)==0:0))or(c[(c[d>>2]|0)+72>>2]|0);Kd(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;i=f;return}function tr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[b>>2]>>2]|0)==4028|0}function ur(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=Ob[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function wr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;g=l+20|0;j=l+16|0;h=l+8|0;k=l;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;b=(c[f>>2]|0)+80|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){k=c[j>>2]|0;i=l;return k|0}m=(c[f>>2]|0)+168|0;e=c[m+4>>2]|0;b=h;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=h;e=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[j>>2]=ur(e,0,0)|0;else c[j>>2]=Ig(e,25846,28,0,0)|0;if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[j>>2]=vr(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=h;g=c[m+4>>2]|0;if(!((c[j>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[j>>2]|0;i=l;return m|0}c[j>>2]=Xi(c[(c[f>>2]|0)+68>>2]|0,k)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=l;return m|0}b=c[k+4>>2]|0;m=h;g=c[m+4>>2]|0;if(!((b|0)>(g|0)|((b|0)==(g|0)?(c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[j>>2]|0;i=l;return m|0}m=h;c[j>>2]=ur(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}function xr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=Ob[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function yr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;do if(d[(c[f>>2]|0)+13>>0]|0){if(!(c[g>>2]|0)){c[e>>2]=0;break}if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[e>>2]=(Lr(c[(c[f>>2]|0)+212>>2]|0)|0)>=25&1;break}else{c[e>>2]=0;break}}else c[e>>2]=1;while(0);i=h;return c[e>>2]|0}function zr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;gj(c[d>>2]|0)}i=e;return}function Ar(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-13;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function Br(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function Cr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){i=e;return 0}Kr(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;i=e;return 0}function Dr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;e=m+32|0;f=m+28|0;k=m+24|0;g=m+8|0;h=m;l=m+20|0;j=m+16|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?(d[(c[e>>2]|0)+17>>0]|0|0)!=0:0){l=c[k>>2]|0;i=m;return l|0}c[l>>2]=c[(c[e>>2]|0)+160>>2];c[k>>2]=Xi(c[(c[e>>2]|0)+64>>2]|0,g)|0;b=c[l>>2]|0;b=aS(b|0,((b|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}b=g;a=h;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){l=c[k>>2]|0;i=m;return l|0}b=g;o=c[b+4>>2]|0;a=h;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){b=g;n=c[l>>2]|0;n=RR(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=C;o=h;a=c[o+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[j>>2]=c[(c[e>>2]|0)+208>>2];VR(c[j>>2]|0,0,c[l>>2]|0)|0;a=c[(c[e>>2]|0)+64>>2]|0;j=c[j>>2]|0;n=c[l>>2]|0;o=c[l>>2]|0;o=QR(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[k>>2]=Ig(a,j,n,o,C)|0}}else{o=h;c[k>>2]=ur(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[k>>2]|0){o=c[k>>2]|0;i=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function Er(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){f=c[g>>2]|0;if((c[h>>2]|0)>0){Ir(f,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else{c[j>>2]=(d[f+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}a[(c[g>>2]|0)+43>>0]=0;if(Hr(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}function Fr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Gr(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Hr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=Jr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Ir(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){i=g;return}Jr(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;i=g;return}function Jr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[c[k>>2]>>2]|0)+56>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Kr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){i=j;return}Jr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;i=j;return}function Lr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f+8|0;d=f+4|0;b=f;c[g>>2]=a;c[d>>2]=0;c[b>>2]=cj(c[g>>2]|0)|0;c[e>>2]=c[c[g>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=c[(c[e>>2]|0)+32>>2]}if(!(c[b>>2]|0)){g=0;i=f;return g|0}e=c[d>>2]|0;e=aS(e|0,((e|0)<0)<<31>>31|0,100,0)|0;g=c[b>>2]|0;g=_R(e|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;i=f;return g|0}function Mr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Sr(c[d>>2]|0);i=b;return 0}function Nr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+64|0;t=r+52|0;s=r+48|0;h=r+44|0;j=r+8|0;o=r+40|0;q=r+36|0;n=r+32|0;k=r+28|0;p=r+24|0;g=r;l=r+20|0;m=r+16|0;c[t>>2]=a;c[s>>2]=b;c[h>>2]=d;d=j;c[d>>2]=e;c[d+4>>2]=f;c[o>>2]=c[t>>2];c[q>>2]=c[s>>2];c[n>>2]=c[h>>2];d=(c[o>>2]|0)+40|0;a=j;b=j;a:do if(((c[d>>2]|0)!=(c[a>>2]|0)?1:(c[d+4>>2]|0)!=(c[a+4>>2]|0))|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){t=g;c[t>>2]=0;c[t+4>>2]=0;c[p>>2]=c[(c[o>>2]|0)+16>>2];while(1){if(!(c[p>>2]|0))break a;a=g;s=c[(c[o>>2]|0)+4>>2]|0;s=RR(c[a>>2]|0,c[a+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;a=C;t=j;b=c[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=c[(c[o>>2]|0)+4>>2]|0;t=g;s=RR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=C;c[p>>2]=c[c[p>>2]>>2]}}else c[p>>2]=c[(c[o>>2]|0)+40+8>>2];while(0);s=j;t=c[(c[o>>2]|0)+4>>2]|0;t=$R(c[s>>2]|0,c[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;c[k>>2]=t;do{c[l>>2]=(c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0);if((c[n>>2]|0)<((c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[n>>2]|0;else e=(c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[m>>2]=e;TR(c[q>>2]|0,(c[p>>2]|0)+4+(c[k>>2]|0)|0,c[m>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[l>>2]|0);c[k>>2]=0;if((c[n>>2]|0)<0)break;t=c[c[p>>2]>>2]|0;c[p>>2]=t}while((t|0)!=0&(c[n>>2]|0)>0);if(!(c[p>>2]|0)){n=0;t=0;s=c[o>>2]|0;s=s+40|0;q=s;c[q>>2]=n;s=s+4|0;c[s>>2]=t;s=c[p>>2]|0;t=c[o>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;i=r;return 0}t=j;n=c[h>>2]|0;n=RR(c[t>>2]|0,c[t+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;t=C;s=c[o>>2]|0;s=s+40|0;q=s;c[q>>2]=n;s=s+4|0;c[s>>2]=t;s=c[p>>2]|0;t=c[o>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;i=r;return 0}function Or(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;q=u+52|0;g=u+48|0;h=u+44|0;r=u+40|0;s=u;t=u+36|0;m=u+32|0;p=u+28|0;j=u+24|0;n=u+20|0;k=u+16|0;l=u+12|0;o=u+8|0;c[g>>2]=a;c[h>>2]=b;c[r>>2]=d;b=s;c[b>>2]=e;c[b+4>>2]=f;c[t>>2]=c[g>>2];c[m>>2]=c[r>>2];c[p>>2]=c[h>>2];if((c[(c[t>>2]|0)+8>>2]|0)>0?(f=c[r>>2]|0,a=s,a=RR(f|0,((f|0)<0)<<31>>31|0,c[a>>2]|0,c[a+4>>2]|0)|0,f=C,b=c[(c[t>>2]|0)+8>>2]|0,d=((b|0)<0)<<31>>31,(f|0)>(d|0)|(f|0)==(d|0)&a>>>0>b>>>0):0){c[j>>2]=Tr(c[t>>2]|0)|0;if(!(c[j>>2]|0)){t=s;c[j>>2]=Ig(c[g>>2]|0,c[h>>2]|0,c[r>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0}c[q>>2]=c[j>>2];t=c[q>>2]|0;i=u;return t|0}while(1){if((c[m>>2]|0)<=0){e=18;break}c[n>>2]=c[(c[t>>2]|0)+24+8>>2];j=(c[t>>2]|0)+24|0;b=c[(c[t>>2]|0)+4>>2]|0;b=$R(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[k>>2]=b;if((c[m>>2]|0)<((c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[m>>2]|0;else e=(c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[l>>2]=e;if(!(c[k>>2]|0)){c[o>>2]=Id(12+((c[(c[t>>2]|0)+4>>2]|0)-8)|0)|0;if(!(c[o>>2]|0)){e=12;break}c[c[o>>2]>>2]=0;e=c[o>>2]|0;if(c[n>>2]|0)c[c[n>>2]>>2]=e;else c[(c[t>>2]|0)+16>>2]=e;c[(c[t>>2]|0)+24+8>>2]=c[o>>2]}TR((c[(c[t>>2]|0)+24+8>>2]|0)+4+(c[k>>2]|0)|0,c[p>>2]|0,c[l>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[l>>2]|0);j=c[l>>2]|0;b=(c[t>>2]|0)+24|0;a=b;j=RR(c[a>>2]|0,c[a+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;c[b>>2]=j;c[b+4>>2]=C}if((e|0)==12){c[q>>2]=3082;t=c[q>>2]|0;i=u;return t|0}else if((e|0)==18){r=c[r>>2]|0;s=RR(r|0,((r|0)<0)<<31>>31|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=s;c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function Pr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f;e=f+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[h>>2];a=g;if(!((c[a>>2]|0)==0&(c[a+4>>2]|0)==0)){i=f;return 0}Sr(c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+24+8>>2]=0;h=(c[e>>2]|0)+24|0;c[h>>2]=0;c[h+4>>2]=0;c[(c[e>>2]|0)+40+8>>2]=0;h=(c[e>>2]|0)+40|0;c[h>>2]=0;c[h+4>>2]=0;i=f;return 0}function Qr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Rr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+24|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Sr(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+16>>2]=0;i=f;return}function Tr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+112|0;e=m+96|0;l=m+92|0;k=m+88|0;f=m+8|0;h=m+84|0;g=m;j=m+80|0;c[e>>2]=a;c[k>>2]=c[e>>2];a=f;b=c[e>>2]|0;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));a=c[e>>2]|0;d=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[l>>2]=Ur(c[f+60>>2]|0,c[f+64>>2]|0,c[k>>2]|0,c[f+56>>2]|0,0)|0;if(!(c[l>>2]|0)){c[h>>2]=c[f+4>>2];d=g;c[d>>2]=0;c[d+4>>2]=0;c[j>>2]=c[f+16>>2];while(1){if(!(c[j>>2]|0))break;n=g;b=c[h>>2]|0;b=RR(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=C;d=f+24|0;a=c[d+4>>2]|0;if((n|0)>(a|0)|((n|0)==(a|0)?b>>>0>(c[d>>2]|0)>>>0:0)){d=f+24|0;n=g;n=QR(c[d>>2]|0,c[d+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[h>>2]=n}n=g;c[l>>2]=Ig(c[k>>2]|0,(c[j>>2]|0)+4|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[l>>2]|0)break;d=c[h>>2]|0;n=g;d=RR(c[n>>2]|0,c[n+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;n=g;c[n>>2]=d;c[n+4>>2]=C;c[j>>2]=c[c[j>>2]>>2]}if(!(c[l>>2]|0))Sr(f)}if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}or(c[k>>2]|0);a=c[e>>2]|0;b=f;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));n=c[l>>2]|0;i=m;return n|0}function Ur(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Zb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[j>>2]|0)+44>>2];if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0))break;pj(c[(c[(c[j>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[j>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((Br(c[j>>2]|0)|0)==0?(c[c[(c[j>>2]|0)+68>>2]>>2]|0)==0:0){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))e=0;else e=(c[(c[j>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=e;c[l>>2]=qs(c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}if(c[h>>2]|0){l=c[l>>2]|0;i=m;return l|0}if(!(c[c[(c[j>>2]|0)+72>>2]>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(tr(c[(c[j>>2]|0)+72>>2]|0)|0)c[l>>2]=ur(c[(c[j>>2]|0)+72>>2]|0,0,0)|0;c[(c[j>>2]|0)+56>>2]=0;l=c[l>>2]|0;i=m;return l|0}function Wr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;r=t+8|0;m=t+56|0;n=t+52|0;j=t+48|0;k=t;g=t+44|0;l=t+40|0;f=t+36|0;p=t+32|0;q=t+28|0;s=t+24|0;h=t+20|0;o=t+16|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=c[c[m>>2]>>2];c[f>>2]=0;c[q>>2]=1;c[s>>2]=0;c[o>>2]=0;c[p>>2]=Xi(c[(c[m>>2]|0)+68>>2]|0,k)|0;a:do if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Xr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[p>>2]|0)==0?(a[c[s>>2]>>0]|0)!=0:0)c[p>>2]=Yr(c[j>>2]|0,c[s>>2]|0,0,q)|0;c[s>>2]=0;if((c[p>>2]|0)==0&(c[q>>2]|0)!=0){j=(c[m>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0;c[h>>2]=c[n>>2];b:while(1){j=k;c[p>>2]=Zr(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,g,f)|0;if(c[p>>2]|0){e=8;break}if((c[g>>2]|0)==-1){b=k;b=QR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=_R(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}if(!((c[g>>2]|0)!=0|(c[n>>2]|0)!=0)?(b=(c[m>>2]|0)+88|0,b=RR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0,j=(c[m>>2]|0)+80|0,(b|0)==(c[j>>2]|0)?(C|0)==(c[j+4>>2]|0):0):0){j=k;b=(c[m>>2]|0)+80|0;b=QR(c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=_R(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}j=(c[m>>2]|0)+80|0;if((c[j+4>>2]|0)==0?(c[j>>2]|0)==(c[(c[m>>2]|0)+156>>2]|0):0){c[p>>2]=Dr(c[m>>2]|0,c[f>>2]|0)|0;if(c[p>>2]|0)break a;c[(c[m>>2]|0)+28>>2]=c[f>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0)continue b;if(c[h>>2]|0){Zi(c[m>>2]|0);c[h>>2]=0}c[p>>2]=_r(c[m>>2]|0,(c[m>>2]|0)+80|0,0,1,0)|0;if(c[p>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if((c[p>>2]|0)!=101){e=26;break}e=k;b=c[e+4>>2]|0;j=(c[m>>2]|0)+80|0;c[j>>2]=c[e>>2];c[j+4>>2]=b}if((e|0)==8){if((c[p>>2]|0)!=101)break;c[p>>2]=0;break}else if((e|0)==26){if((c[p>>2]|0)!=522)break;c[p>>2]=0;break}}}while(0);a[(c[m>>2]|0)+19>>0]=a[(c[m>>2]|0)+13>>0]|0;if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Xr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+17>>0]|0)<4?(d[(c[m>>2]|0)+17>>0]|0)!=0:0)break;c[p>>2]=Kg(c[m>>2]|0,0)|0}while(0);if(!(c[p>>2]|0))c[p>>2]=rr(c[m>>2]|0,(a[c[s>>2]>>0]|0)!=0&1,0)|0;if((c[p>>2]|0)==0?((c[q>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0):0)c[p>>2]=$r(c[m>>2]|0,c[s>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[m>>2]|0;as(s);s=c[p>>2]|0;i=t;return s|0}s=c[(c[m>>2]|0)+180>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=s;Rd(539,25874,r);s=c[m>>2]|0;as(s);s=c[p>>2]|0;i=t;return s|0}function Xr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;m=q+16|0;o=q;l=q+12|0;p=q+8|0;k=q+40|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a[c[h>>2]>>0]=0;e=Xi(c[g>>2]|0,o)|0;c[n>>2]=e;d=o;b=c[d+4>>2]|0;if((((((!(0!=(e|0)|((b|0)<0|(b|0)==0&(c[d>>2]|0)>>>0<16))?(b=c[g>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=fs(b,d,C,m)|0,c[n>>2]=d,0==(d|0)):0)?!((c[m>>2]|0)==0?1:(c[m>>2]|0)>>>0>=(c[j>>2]|0)>>>0):0)?(b=c[g>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,12,0)|0,d=fs(b,d,C,l)|0,c[n>>2]=d,0==(d|0)):0)?(b=c[g>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,8,0)|0,d=es(b,k,8,d,C)|0,c[n>>2]=d,0==(d|0)):0)?(eR(k,25901,8)|0)==0:0)?(k=c[g>>2]|0,e=c[h>>2]|0,b=c[m>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=QR(d|0,C|0,c[m>>2]|0,0)|0,d=es(k,e,b,d,C)|0,c[n>>2]=d,0==(d|0)):0){c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[l>>2]=(c[l>>2]|0)-(a[(c[h>>2]|0)+(c[p>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[l>>2]|0)c[m>>2]=0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;c[f>>2]=0;d=c[f>>2]|0;i=q;return d|0}c[f>>2]=c[n>>2];d=c[f>>2]|0;i=q;return d|0}function Yr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Zr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;h=s+44|0;j=s+40|0;k=s+36|0;t=s+8|0;l=s+32|0;m=s+28|0;r=s+24|0;n=s+48|0;o=s;p=s+20|0;q=s+16|0;c[j>>2]=a;c[k>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;b=ps(c[j>>2]|0)|0;f=(c[j>>2]|0)+80|0;c[f>>2]=b;c[f+4>>2]=C;f=(c[j>>2]|0)+80|0;f=RR(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;b=C;a=t;g=c[a+4>>2]|0;if((b|0)>(g|0)|((b|0)==(g|0)?f>>>0>(c[a>>2]|0)>>>0:0)){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}f=(c[j>>2]|0)+80|0;a=c[f+4>>2]|0;t=o;c[t>>2]=c[f>>2];c[t+4>>2]=a;if(!((c[k>>2]|0)==0?(a=o,t=(c[j>>2]|0)+88|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=o;c[r>>2]=es(c[(c[j>>2]|0)+68>>2]|0,n,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}if(eR(n,25901,8)|0){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}}a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=RR(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=fs(a,t,C,c[l>>2]|0)|0;c[r>>2]=t;if((0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=RR(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=fs(a,t,C,(c[j>>2]|0)+52|0)|0,c[r>>2]=t,0==(t|0)):0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=RR(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=fs(a,t,C,c[m>>2]|0)|0,c[r>>2]=t,0==(t|0)):0){t=(c[j>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=RR(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=fs(a,t,C,q)|0;c[r>>2]=t;if(0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=RR(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=fs(a,t,C,p)|0,c[r>>2]=t,0==(t|0)):0){if(!(c[p>>2]|0))c[p>>2]=c[(c[j>>2]|0)+160>>2];if((!((c[p>>2]|0)>>>0<512|(c[q>>2]|0)>>>0<32|(c[p>>2]|0)>>>0>65536|(c[q>>2]|0)>>>0>65536)?((c[p>>2]|0)-1&c[p>>2]|0)==0:0)?((c[q>>2]|0)-1&c[q>>2]|0)==0:0){c[r>>2]=Vi(c[j>>2]|0,p,-1)|0;c[(c[j>>2]|0)+156>>2]=c[q>>2];break}c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}while(0);t=(c[j>>2]|0)+80|0;a=t;a=RR(c[a>>2]|0,c[a+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=C;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}function _r(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+64|0;y=B+60|0;q=B+56|0;l=B+52|0;m=B+48|0;r=B+44|0;n=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;o=B+24|0;s=B+20|0;p=B+16|0;t=B+12|0;u=B;x=B+8|0;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;c[r>>2]=j;c[n>>2]=k;c[s>>2]=c[(c[q>>2]|0)+208>>2];j=c[q>>2]|0;if(c[r>>2]|0)j=c[j+68>>2]|0;else j=c[j+72>>2]|0;c[p>>2]=j;f=c[l>>2]|0;c[A>>2]=fs(c[p>>2]|0,c[f>>2]|0,c[f+4>>2]|0,v)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}k=c[p>>2]|0;h=c[s>>2]|0;g=c[(c[q>>2]|0)+160>>2]|0;f=c[l>>2]|0;f=RR(c[f>>2]|0,c[f+4>>2]|0,4,0)|0;c[A>>2]=es(k,h,g,f,C)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}g=(c[(c[q>>2]|0)+160>>2]|0)+4+(c[r>>2]<<2)|0;f=c[l>>2]|0;h=f;g=RR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[f>>2]=g;c[f+4>>2]=C;if((c[v>>2]|0)!=0?(c[v>>2]|0)!=(((c[384]|0)/(c[(c[q>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[v>>2]|0)>>>0<=(c[(c[q>>2]|0)+28>>2]|0)>>>0?(nj(c[m>>2]|0,c[v>>2]|0)|0)==0:0){if(c[r>>2]|0){f=c[p>>2]|0;p=c[l>>2]|0;p=QR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0;c[A>>2]=fs(f,p,C,o)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[n>>2]|0)==0?(p=gs(c[q>>2]|0,c[s>>2]|0)|0,(p|0)!=(c[o>>2]|0)):0){c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}}if((c[m>>2]|0)!=0?(p=lj(c[m>>2]|0,c[v>>2]|0)|0,c[A>>2]=p,(p|0)!=0):0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[v>>2]|0)==1?(b[(c[q>>2]|0)+150>>1]|0)!=(d[(c[s>>2]|0)+20>>0]|0):0)b[(c[q>>2]|0)+150>>1]=d[(c[s>>2]|0)+20>>0]|0;if(Br(c[q>>2]|0)|0)c[z>>2]=0;else c[z>>2]=hs(c[q>>2]|0,c[v>>2]|0)|0;if(c[r>>2]|0){if(d[(c[q>>2]|0)+7>>0]|0)j=1;else{p=c[l>>2]|0;n=c[p+4>>2]|0;j=(c[q>>2]|0)+88|0;o=c[j+4>>2]|0;j=(n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0)}c[t>>2]=j&1}else{if(!(c[z>>2]|0))j=1;else j=0==(e[(c[z>>2]|0)+24>>1]&8|0);c[t>>2]=j&1}do if(c[c[(c[q>>2]|0)+64>>2]>>2]|0){if((d[(c[q>>2]|0)+17>>0]|0)>=4){if(!(c[t>>2]|0)){w=44;break}}else if(!((c[t>>2]|0)!=0?(d[(c[q>>2]|0)+17>>0]|0)==0:0)){w=44;break}p=c[(c[q>>2]|0)+160>>2]|0;p=aS((c[v>>2]|0)-1|0,0,p|0,((p|0)<0)<<31>>31|0)|0;t=u;c[t>>2]=p;c[t+4>>2]=C;c[A>>2]=Ig(c[(c[q>>2]|0)+64>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+160>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;if((c[v>>2]|0)>>>0>(c[(c[q>>2]|0)+36>>2]|0)>>>0)c[(c[q>>2]|0)+36>>2]=c[v>>2];if(c[(c[q>>2]|0)+96>>2]|0){is(c[(c[q>>2]|0)+96>>2]|0,c[v>>2]|0,c[s>>2]|0);c[s>>2]=c[s>>2]}}else w=44;while(0);do if((w|0)==44?(c[r>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[q>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[A>>2]=vg(c[q>>2]|0,c[v>>2]|0,z,1)|0;w=(c[q>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[A>>2]|0)){js(c[z>>2]|0);break}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];TR(c[x>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+160>>2]|0)|0;Qb[c[(c[q>>2]|0)+204>>2]&255](c[z>>2]|0);if((c[v>>2]|0)==1){h=(c[q>>2]|0)+112|0;j=(c[x>>2]|0)+24|0;k=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0))}ks(c[z>>2]|0)}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}c[y>>2]=0;A=c[y>>2]|0;i=B;return A|0}c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}function $r(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;t=s+60|0;e=s+56|0;n=s+52|0;o=s+48|0;m=s+44|0;l=s+40|0;q=s+36|0;j=s;p=s+32|0;r=s+28|0;k=s+24|0;g=s+16|0;f=s+12|0;h=s+8|0;c[t>>2]=b;c[e>>2]=d;c[n>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[n>>2]|0)+4>>2]<<1;c[m>>2]=kg(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[m>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+20>>2]=16385;c[o>>2]=Ur(c[n>>2]|0,c[e>>2]|0,c[m>>2]|0,16385,0)|0}else c[o>>2]=7;a:do if((c[o>>2]|0)==0?(c[o>>2]=Xi(c[m>>2]|0,j)|0,(c[o>>2]|0)==0):0){c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+1;d=j;t=c[k>>2]|0;t=RR(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=RR(t|0,C|0,1,0)|0;c[q>>2]=$f(t,C)|0;if(!(c[q>>2]|0)){c[o>>2]=7;break}t=j;t=RR(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[r>>2]=(c[q>>2]|0)+t;c[o>>2]=es(c[m>>2]|0,c[q>>2]|0,c[j>>2]|0,0,0)|0;if(!(c[o>>2]|0)){a[(c[q>>2]|0)+(c[j>>2]|0)>>0]=0;c[p>>2]=c[q>>2];while(1){d=(c[p>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[o>>2]=Yr(c[n>>2]|0,c[p>>2]|0,0,g)|0;if(c[o>>2]|0)break a;if(c[g>>2]|0){c[h>>2]=2049;c[o>>2]=Ur(c[n>>2]|0,c[p>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0)break a;c[o>>2]=Xr(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;or(c[l>>2]|0);if(c[o>>2]|0)break a;if(a[c[r>>2]>>0]|0)b=(hR(c[r>>2]|0,c[e>>2]|0)|0)==0;else b=0;c[f>>2]=b&1;if(c[f>>2]|0)break a}u=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}or(c[m>>2]|0);c[o>>2]=xr(c[n>>2]|0,c[e>>2]|0,0)|0}}while(0);Kd(c[q>>2]|0);if(!(c[m>>2]|0)){u=c[o>>2]|0;i=s;return u|0}or(c[m>>2]|0);Kd(c[m>>2]|0);u=c[o>>2]|0;i=s;return u|0}function as(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?((bs(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=cs(c[(c[b>>2]|0)+64>>2]|0)|0;c[(c[b>>2]|0)+156>>2]=a;i=e;return}c[(c[b>>2]|0)+156>>2]=512;i=e;return}function bs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function cs(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=ds(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;i=d;return c[b>>2]|0}function ds(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function es(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+8>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function fs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+16|0;l=j;f=j+12|0;g=j+20|0;h=j+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=l;c[h>>2]=es(c[k>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}l=gr(g)|0;c[c[f>>2]>>2]=l;l=c[h>>2]|0;i=j;return l|0}function gs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[j>>2]|0)+52>>2];c[g>>2]=(c[(c[j>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=h;return c[f>>2]|0}function hs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=ms(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=ns(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}ls(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function js(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&17)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-17;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;hj(c[d>>2]|0,2);i=f;return}function ks(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16){i=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1){ij(a);i=f;return}if(!(c[a+36>>2]|0)){i=f;return}hj(c[d>>2]|0,3);i=f;return}function ls(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((ng(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=xg(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,(c[h>>2]|0)!=0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];a=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=a}while((a|0)!=0);i=j;return}function ms(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;l=g+8|0;h=g+4|0;f=g;c[k>>2]=a;c[j>>2]=b;c[l>>2]=e;c[h>>2]=c[l>>2]&(d[(c[k>>2]|0)+33>>0]|0);c[f>>2]=Ob[c[144>>2]&255](c[(c[k>>2]|0)+44>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return c[f>>2]|0}function ns(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[l>>2]|0;if(c[c[j>>2]>>2]|0){l=a+12|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[j>>2]|0)+26|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;c[f>>2]=c[j>>2];l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=os(a,c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function os(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;k=f;c[j>>2]=a;c[h>>2]=d;c[g>>2]=e;c[k>>2]=c[(c[g>>2]|0)+4>>2];d=(c[k>>2]|0)+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[c[k>>2]>>2]=c[g>>2];c[(c[k>>2]|0)+4>>2]=c[c[g>>2]>>2];c[(c[k>>2]|0)+8>>2]=(c[k>>2]|0)+40;VR(c[(c[k>>2]|0)+8>>2]|0,0,c[(c[j>>2]|0)+28>>2]|0)|0;c[(c[k>>2]|0)+28>>2]=c[j>>2];c[(c[k>>2]|0)+20>>2]=c[h>>2];b[(c[k>>2]|0)+24>>1]=1;d=ns(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return d|0}function ps(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;b=f+16|0;e=f+8|0;d=f;c[b>>2]=a;h=e;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=d;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}h=d;h=QR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=_R(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=RR(h|0,C|0,1,0)|0;h=aS(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}function qs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;e=s+56|0;f=s+52|0;g=s+48|0;q=s+16|0;j=s+8|0;p=s+44|0;o=s+40|0;k=s+36|0;m=s+32|0;h=s+28|0;l=s+24|0;n=s;c[f>>2]=b;c[g>>2]=d;c[p>>2]=0;c[o>>2]=0;if((c[g>>2]|0)!=0?(c[o>>2]=kj(c[(c[g>>2]|0)+20>>2]|0)|0,(c[o>>2]|0)==0):0){c[e>>2]=7;r=c[e>>2]|0;i=s;return r|0}if(c[g>>2]|0)b=c[(c[g>>2]|0)+20>>2]|0;else b=c[(c[f>>2]|0)+32>>2]|0;c[(c[f>>2]|0)+28>>2]=b;a[(c[f>>2]|0)+19>>0]=a[(c[f>>2]|0)+13>>0]|0;if((c[g>>2]|0)==0?(Br(c[f>>2]|0)|0)!=0:0){c[e>>2]=rs(c[f>>2]|0)|0;r=c[e>>2]|0;i=s;return r|0}t=(c[f>>2]|0)+80|0;b=c[t+4>>2]|0;d=q;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if((c[g>>2]|0)!=0?(Br(c[f>>2]|0)|0)==0:0){t=(c[g>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[g>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=q;b=c[d>>2]|0;d=c[d+4>>2]|0}t=j;c[t>>2]=b;c[t+4>>2]=d;b=c[g>>2]|0;d=c[b+4>>2]|0;t=(c[f>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[p>>2]|0)break a;d=(c[f>>2]|0)+80|0;u=c[d+4>>2]|0;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[p>>2]=_r(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[f>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[p>>2]|0)break;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[m>>2]=0;u=q;c[p>>2]=Zr(c[f>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,m,h)|0;if((c[m>>2]|0)==0?(t=(c[f>>2]|0)+88|0,t=RR(c[t>>2]|0,c[t+4>>2]|0,c[(c[f>>2]|0)+156>>2]|0,0)|0,u=(c[f>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(C|0)==(c[u+4>>2]|0):0):0){u=q;t=(c[f>>2]|0)+80|0;t=QR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[f>>2]|0)+160>>2]|0)+8|0;u=_R(t|0,C|0,u|0,((u|0)<0)<<31>>31|0)|0;c[m>>2]=u}c[k>>2]=0;while(1){if(c[p>>2]|0)continue b;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)continue b;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[p>>2]=_r(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0;c[k>>2]=(c[k>>2]|0)+1}}c:do if(c[g>>2]|0){t=4+(c[(c[f>>2]|0)+160>>2]|0)|0;t=aS(c[(c[g>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;c[u>>2]=t;c[u+4>>2]=C;if(Br(c[f>>2]|0)|0)c[p>>2]=ss(c[(c[f>>2]|0)+216>>2]|0,(c[g>>2]|0)+28|0)|0;c[l>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(c[p>>2]|0)break c;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+56>>2]|0)>>>0)break c;c[p>>2]=_r(c[f>>2]|0,n,c[o>>2]|0,0,1)|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);pj(c[o>>2]|0);if(!(c[p>>2]|0)){r=q;t=c[r+4>>2]|0;u=(c[f>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[e>>2]=c[p>>2];u=c[e>>2]|0;i=s;return u|0}function rs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[f>>2]=zs(c[(c[b>>2]|0)+216>>2]|0,187,c[b>>2]|0)|0;c[d>>2]=As(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!((c[d>>2]|0)!=0?(c[f>>2]|0)==0:0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=ys(c[b>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[d>>2]=c[e>>2]}i=g;return c[f>>2]|0}function ss(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];ts(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function ts(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;j=m+8|0;l=m+4|0;h=m;c[d>>2]=a;c[f>>2]=0;c[g>>2]=0;c[k>>2]=0;c[j>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){i=m;return}a=c[d>>2]|0;vs(a,us(c[(c[d>>2]|0)+52+16>>2]|0)|0,f,g,k)|0;c[j>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[k>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0|0)>(c[j>>2]|0))b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[j>>2]|0)+1<<2));VR((c[g>>2]|0)+((c[j>>2]|0)+1<<2)|0,0,c[l>>2]|0)|0;i=m;return}function us(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function vs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;q=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[q>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=ws(c[q>>2]|0,c[g>>2]|0,m)|0;if(c[o>>2]|0){q=c[o>>2]|0;i=p;return q|0}c[l>>2]=(c[m>>2]|0)+16384;if(!(c[g>>2]|0)){c[m>>2]=(c[m>>2]|0)+136;c[n>>2]=0}else c[n>>2]=4062+((c[g>>2]|0)-1<<12);c[c[j>>2]>>2]=(c[m>>2]|0)+-4;c[c[h>>2]>>2]=c[l>>2];c[c[k>>2]>>2]=c[n>>2];q=c[o>>2]|0;i=p;return q|0}function ws(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;m=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[j>>2]|0)){c[m>>2]=(c[j>>2]|0)+1<<2;f=c[m>>2]|0;c[l>>2]=Md(c[(c[h>>2]|0)+32>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[l>>2]|0){VR((c[l>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[j>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[l>>2];c[(c[h>>2]|0)+24>>2]=(c[j>>2]|0)+1;break}c[c[k>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;i=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){f=kg(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]=f;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0)break;c[n>>2]=7;break}else{c[n>>2]=xs(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)|0)|0;if((c[n>>2]|0)!=8)break;f=(c[h>>2]|0)+46|0;a[f>>0]=d[f>>0]|0|2;c[n>>2]=0;break}while(0);c[c[k>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2];c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function xs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;f=Zb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function ys(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+20|0;j=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[k>>2]=a;c[j>>2]=b;c[g>>2]=0;c[e>>2]=c[k>>2];c[f>>2]=hs(c[e>>2]|0,c[j>>2]|0)|0;do if(c[f>>2]|0){if((Fs(c[f>>2]|0)|0)==1){Gs(c[f>>2]|0);break}c[d>>2]=0;c[g>>2]=Hs(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,d)|0;if(!(c[g>>2]|0))c[g>>2]=Is(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[g>>2]|0))Qb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);Js(c[f>>2]|0)}while(0);dj(c[(c[e>>2]|0)+96>>2]|0);i=h;return c[g>>2]|0}function zs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[f>>2]|0)+52+16>>2];e=(c[f>>2]|0)+52|0;b=Ds(c[f>>2]|0)|0;d=e+48|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));c[j>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[l>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[g>>2]|0;b=c[h>>2]|0;d=Es(c[f>>2]|0,c[j>>2]|0)|0;c[l>>2]=Yb[e&255](b,d)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){l=c[l>>2]|0;i=m;return l|0}ts(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}function As(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}a=Bs(c[c[b>>2]>>2]|0)|0;i=e;return a|0}function Bs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;d=j+136|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[h>>2]=c[d>>2];c[d>>2]=c[(c[h>>2]|0)+12>>2];c[(c[h>>2]|0)+12>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=31)break;if(!(c[f+(c[g>>2]<<2)>>2]|0)){e=6;break}c[h>>2]=Cs(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[g>>2]<<2)>>2]=c[h>>2]}if((c[g>>2]|0)!=31)continue;b=Cs(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=b}c[h>>2]=c[f>>2];c[g>>2]=1;while(1){if((c[g>>2]|0)>=32)break;if(c[f+(c[g>>2]<<2)>>2]|0){if(c[h>>2]|0)a=Cs(c[h>>2]|0,c[f+(c[g>>2]<<2)>>2]|0)|0;else a=c[f+(c[g>>2]<<2)>>2]|0;c[h>>2]=a}c[g>>2]=(c[g>>2]|0)+1}i=j;return c[h>>2]|0}function Cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;d=h+52|0;e=h+48|0;g=h+8|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=g;while(1)if((c[(c[d>>2]|0)+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[f>>2]|0)+12>>2]=c[d>>2];c[f>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[d>>2]|0)){a=4;break}else continue}else{c[(c[f>>2]|0)+12>>2]=c[e>>2];c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[e>>2]|0)){a=6;break}else continue}if((a|0)==4){c[(c[f>>2]|0)+12>>2]=c[e>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==6){c[(c[f>>2]|0)+12>>2]=c[d>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}return 0}function Ds(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function Es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=us(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[c[(c[e>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[f>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function Fs(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function Gs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)hj(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;Ub[c[148>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function Hs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;s=w+56|0;g=w+52|0;h=w+48|0;t=w+44|0;u=w+40|0;o=w+36|0;m=w+32|0;p=w+28|0;j=w+24|0;k=w+20|0;q=w+16|0;n=w+12|0;r=w+8|0;v=w+4|0;l=w;c[g>>2]=a;c[h>>2]=d;c[t>>2]=f;c[u>>2]=0;c[o>>2]=c[(c[g>>2]|0)+52+16>>2];if((c[o>>2]|0)!=0?(b[(c[g>>2]|0)+40>>1]|0)!=0:0){c[p>>2]=us(c[(c[g>>2]|0)+100>>2]|0)|0;c[m>>2]=us(c[o>>2]|0)|0;a:while(1){if(!((c[m>>2]|0)>=(c[p>>2]|0)?(c[u>>2]|0)==0:0)){g=18;break}c[v>>2]=vs(c[g>>2]|0,c[m>>2]|0,j,k,q)|0;if(c[v>>2]|0){g=7;break}c[r>>2]=8192;c[n>>2]=Os(c[h>>2]|0)|0;while(1){if(!(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0))break;c[l>>2]=(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+(c[q>>2]|0);if(((c[l>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[l>>2]|0)>>>0>=(c[(c[g>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[k>>2]|0)+(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]<<2)>>2]|0)==(c[h>>2]|0):0)c[u>>2]=c[l>>2];f=c[r>>2]|0;c[r>>2]=f+-1;if(!f){g=15;break a}c[n>>2]=Ps(c[n>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+-1}if((g|0)==7){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}else if((g|0)==15){c[s>>2]=Qj(56344)|0;v=c[s>>2]|0;i=w;return v|0}else if((g|0)==18){c[c[t>>2]>>2]=c[u>>2];c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}}c[c[t>>2]>>2]=0;c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}function Is(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+32|0;f=n+28|0;h=n+24|0;j=n+20|0;m=n+16|0;k=n+12|0;g=n;l=n+8|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[k>>2]=c[(c[h>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=Ns(c[(c[h>>2]|0)+216>>2]|0,c[f>>2]|0,c[k>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[h>>2]|0)+160>>2]|0;d=aS((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=d;c[b+4>>2]=C;b=g;k=es(c[(c[h>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==522?0:k}if((c[j>>2]|0)!=1){m=c[m>>2]|0;i=n;return m|0}if(c[m>>2]|0){d=(c[h>>2]|0)+112|0;f=d+16|0;do{a[d>>0]=255;d=d+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}else{c[l>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;d=(c[h>>2]|0)+112|0;e=c[l>>2]|0;f=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}return 0}function Js(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&32){Ks(a);f=c[b>>2]|0;Ls(f);i=d;return}else{ks(a);f=c[b>>2]|0;Ls(f);i=d;return}}function Ks(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=aS((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Ms(e,a,C,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function Ls(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){i=d;return}if(Wi(c[(c[b>>2]|0)+212>>2]|0)|0){i=d;return}nr(c[b>>2]|0);i=d;return}function Ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function Ns(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+52+14>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);f=(c[j>>2]|0)+24|0;f=aS((c[n>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=RR(32,0,f|0,C|0)|0;f=RR(f|0,C|0,24,0)|0;a=m;c[a>>2]=f;c[a+4>>2]=C;a=m;a=es(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Os(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)*383&8191|0}function Ps(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+1&8191|0}function Qs(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;Cr(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){i=e;return}Ir(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;i=e;return}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Ss(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=0;c[x>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;i=A;return z|0}c[y>>2]=Xs(c[v>>2]|0,1,1)|0;if(c[y>>2]|0){c[z>>2]=c[y>>2];z=c[z>>2]|0;i=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[y>>2]=Ys(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[y>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[y>>2]|0)==5){c[x>>2]=0;c[u>>2]=0;c[y>>2]=0}}while(0);if(((c[y>>2]|0)==0?(c[y>>2]=Zs(c[v>>2]|0,t)|0,(c[t>>2]|0)!=0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Ms(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[y>>2]|0)){if((c[(c[v>>2]|0)+52+16>>2]|0)!=0?(j=_s(c[v>>2]|0)|0,(j|0)!=(c[p>>2]|0)):0)c[y>>2]=Qj(57049)|0;else c[y>>2]=$s(c[v>>2]|0,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[y>>2]|0)==0|(c[y>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){j=c[(at(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=j}}}if(c[t>>2]|0){m=(c[v>>2]|0)+52|0;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}Cr(c[v>>2]|0)|0;Kr(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[y>>2]|0)==0?(c[w>>2]|0)!=(c[x>>2]|0):0)m=5;else m=c[y>>2]|0;c[z>>2]=m;z=c[z>>2]|0;i=A;return z|0}function Ts(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;e=k+24|0;f=k+8|0;h=k;g=k+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;Yj();c[g>>2]=Xi(c[(c[e>>2]|0)+8>>2]|0,h)|0;if((c[g>>2]|0)==0?(a=h,b=c[a+4>>2]|0,h=f,d=c[h+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?(c[a>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)):0){h=f;c[g>>2]=ur(c[(c[e>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0}Zj();if(!(c[g>>2]|0)){i=k;return}h=c[g>>2]|0;c[j>>2]=c[(c[e>>2]|0)+108>>2];Rd(h,25909,j);i=k;return}function Vs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Ws(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Kd(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Xs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[k>>2]=Jr(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,10)|0;c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}return 0}function Ys(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;while(1){c[m>>2]=Xs(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){g=4;break}if(!(Tb[c[h>>2]&255](c[j>>2]|0)|0)){g=4;break}}if((g|0)==4){i=n;return c[m>>2]|0}return 0}function Zs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[l>>2]=ws(c[g>>2]|0,0,k)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}if(c[k>>2]|0)e=mt(c[g>>2]|0,c[h>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2){k=Hr(e,0)|0;c[l>>2]=k;if(k)break;Ir(c[g>>2]|0,0);c[l>>2]=264;break}b=Xs(e,0,1)|0;c[l>>2]=b;if(!b){a[(c[g>>2]|0)+44>>0]=1;k=ws(c[g>>2]|0,0,k)|0;c[l>>2]=k;if(0==(k|0)?(c[j>>2]=mt(c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[l>>2]=nt(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Kr(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[l>>2]=ot(55897)|0;c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}function _s(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function $s(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;h=H+104|0;j=H+100|0;k=H+96|0;l=H+92|0;m=H+88|0;n=H+84|0;o=H+80|0;A=H+76|0;E=H+72|0;z=H+68|0;q=H+64|0;r=H+60|0;u=H+56|0;t=H+52|0;p=H+48|0;y=H+44|0;F=H+40|0;x=H+24|0;v=H+36|0;w=H+16|0;s=H+8|0;D=H;B=H+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[A>>2]=0;c[z>>2]=0;c[q>>2]=0;c[r>>2]=0;c[E>>2]=_s(c[j>>2]|0)|0;c[y>>2]=at(c[j>>2]|0)|0;a:do if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=bt(c[j>>2]|0,z)|0;if(c[A>>2]|0){c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}c[u>>2]=c[(c[j>>2]|0)+52+16>>2];c[t>>2]=c[(c[j>>2]|0)+52+20>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break;c[F>>2]=c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2];do if((c[u>>2]|0)>>>0>(c[F>>2]|0)>>>0){c[A>>2]=Ys(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[A>>2]|0)){c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2]=(c[p>>2]|0)==1?c[u>>2]|0:-1;Kr(c[j>>2]|0,3+(c[p>>2]|0)|0,1);break}if((c[A>>2]|0)!=5)break a;c[u>>2]=c[F>>2];c[l>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+1}if((c[c[y>>2]>>2]|0)>>>0<(c[u>>2]|0)>>>0?(G=Ys(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3,1)|0,c[A>>2]=G,(G|0)==0):0){c[v>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+32>>2]=c[u>>2];if(c[n>>2]|0)c[A>>2]=vr(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0)|0;if(((c[A>>2]|0)==0?(g=c[E>>2]|0,g=aS(c[t>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=w,c[G>>2]=g,c[G+4>>2]=C,c[A>>2]=Xi(c[(c[j>>2]|0)+4>>2]|0,x)|0,(c[A>>2]|0)==0):0)?(g=x,d=c[g+4>>2]|0,G=w,F=c[G+4>>2]|0,(d|0)<(F|0)|((d|0)==(F|0)?(c[g>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Ts(c[(c[j>>2]|0)+4>>2]|0,5,w);b:while(1){if(c[A>>2]|0)break;while(1){if(ct(c[z>>2]|0,q,r)|0)break b;if((c[r>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0)continue b;if((c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue b;g=(c[E>>2]|0)+24|0;g=aS((c[r>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;g=RR(32,0,g|0,C|0)|0;g=RR(g|0,C|0,24,0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=es(c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break b;g=c[E>>2]|0;g=aS((c[q>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Ig(c[(c[j>>2]|0)+4>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[A>>2]|0)==0&(c[A>>2]|0)==0))break b}}if(!(c[A>>2]|0)){G=c[u>>2]|0;if((G|0)==(c[(Ds(c[j>>2]|0)|0)+16>>2]|0)?(g=c[E>>2]|0,g=aS(c[(c[j>>2]|0)+52+20>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=D,c[G>>2]=g,c[G+4>>2]=C,G=D,c[A>>2]=ur(c[(c[j>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[A>>2]|0)==0&(c[n>>2]|0)!=0):0)c[A>>2]=vr(c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0))c[c[y>>2]>>2]=c[u>>2]}Kr(c[j>>2]|0,3,1)}if((c[A>>2]|0)==5){c[A>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[A>>2]|0)==0&(c[k>>2]|0)!=0:0){if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=5;break}if((c[k>>2]|0)>=2?(Sd(4,B),c[A>>2]=Ys(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,4,4)|0,(c[A>>2]|0)==0):0){if((c[k>>2]|0)==3){dt(c[j>>2]|0,c[B>>2]|0);c[A>>2]=ur(c[(c[j>>2]|0)+8>>2]|0,0,0)|0}Kr(c[j>>2]|0,4,4)}}while(0);et(c[z>>2]|0);c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}function at(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function bt(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;e=v+60|0;f=v+56|0;g=v+52|0;t=v+48|0;s=v+44|0;n=v+40|0;q=v+36|0;m=v+32|0;l=v+28|0;u=v+24|0;h=v+20|0;o=v+16|0;k=v+12|0;p=v+8|0;r=v+4|0;j=v;c[f>>2]=a;c[g>>2]=d;c[u>>2]=0;c[n>>2]=c[(c[f>>2]|0)+52+16>>2];c[s>>2]=(us(c[n>>2]|0)|0)+1;c[q>>2]=28+(((c[s>>2]|0)-1|0)*20|0)+(c[n>>2]<<1);d=c[q>>2]|0;c[t>>2]=Jd(d,((d|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[e>>2]=7;u=c[e>>2]|0;i=v;return u|0}VR(c[t>>2]|0,0,c[q>>2]|0)|0;c[(c[t>>2]|0)+4>>2]=c[s>>2];c[l>>2]=Jd(((c[n>>2]|0)>>>0>4096?4096:c[n>>2]|0)<<1,0)|0;if(!(c[l>>2]|0))c[u>>2]=7;c[m>>2]=0;while(1){if(c[u>>2]|0)break;if((c[m>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=vs(c[f>>2]|0,c[m>>2]|0,h,k,o)|0;if(!(c[u>>2]|0)){c[k>>2]=(c[k>>2]|0)+4;if(((c[m>>2]|0)+1|0)==(c[s>>2]|0))c[r>>2]=(c[n>>2]|0)-(c[o>>2]|0);else c[r>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)/4|0;c[j>>2]=(c[t>>2]|0)+8+((c[(c[t>>2]|0)+4>>2]|0)*20|0)+(c[o>>2]<<1);c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}kt(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,r);c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+16>>2]=c[o>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+12>>2]=c[r>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+4>>2]=c[j>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+8>>2]=c[k>>2]}c[m>>2]=(c[m>>2]|0)+1}Kd(c[l>>2]|0);if(c[u>>2]|0)et(c[t>>2]|0);c[c[g>>2]>>2]=c[t>>2];c[e>>2]=c[u>>2];u=c[e>>2]|0;i=v;return u|0}function ct(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;m=p+12|0;j=p+8|0;n=p+4|0;l=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=-1;c[k>>2]=c[c[f>>2]>>2];c[j>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+8+((c[j>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){o=6;break}b=c[n>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((o|0)==6?(o=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[h>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[j>>2]=(c[j>>2]|0)+-1}o=c[m>>2]|0;c[c[f>>2]>>2]=o;c[c[g>>2]>>2]=o;i=p;return (c[m>>2]|0)==-1|0}function dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;j=f;c[g>>2]=a;c[h>>2]=b;c[e>>2]=at(c[g>>2]|0)|0;c[j>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[j>>2]|0;ft(b,1+(gr(c[j>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];gt(c[g>>2]|0);c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+32>>2]=0;c[(c[e>>2]|0)+4+4>>2]=0;c[d>>2]=2;while(1){if((c[d>>2]|0)>=5)break;c[(c[e>>2]|0)+4+(c[d>>2]<<2)>>2]=-1;c[d>>2]=(c[d>>2]|0)+1}i=f;return}function et(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function ft(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function gt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=Ds(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;ht(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));it(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=h;return}function ht(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;g=o+32|0;q=o+28|0;p=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;k=o+4|0;l=o;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[q>>2];c[l>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[h>>2]|0){c[m>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2]}else{c[n>>2]=0;c[m>>2]=0}if(c[g>>2]|0){do{q=c[k>>2]|0;c[k>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[n>>2]|0));q=c[k>>2]|0;c[k>>2]=q+4;c[n>>2]=(c[n>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[k>>2]>>2]&255)<<24)+((c[c[k>>2]>>2]&65280)<<8)+((c[c[k>>2]>>2]&16711680)>>>8)+((c[c[k>>2]>>2]&-16777216)>>>24)+(c[n>>2]|0));c[n>>2]=(c[n>>2]|0)+(((c[(c[k>>2]|0)+4>>2]&255)<<24)+((c[(c[k>>2]|0)+4>>2]&65280)<<8)+((c[(c[k>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[k>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[k>>2]=(c[k>>2]|0)+8}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}}function it(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){i=e;return}jt(c[(c[b>>2]|0)+4>>2]|0);i=e;return}function jt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);i=b;return}function kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+160|0;f=s+144|0;g=s+140|0;h=s+136|0;j=s+132|0;o=s+128|0;p=s+124|0;k=s+120|0;m=s+116|0;n=s+112|0;l=s+8|0;q=s+4|0;r=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[n>>2]=0;b=l;a=b+104|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=1;c[k>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[n>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[q>>2]=l+(c[n>>2]<<3);lt(c[f>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[c[q>>2]>>2]|0,k,p,c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[l+(c[n>>2]<<3)+4>>2]=c[k>>2];c[l+(c[n>>2]<<3)>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;while(1){if((c[n>>2]|0)>>>0>=13)break;if(c[o>>2]&1<>2]){c[r>>2]=l+(c[n>>2]<<3);lt(c[f>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0,k,p,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}c[c[j>>2]>>2]=c[p>>2];i=s;return}function lt(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;q=y+4|0;v=y+48|0;r=y;c[k>>2]=a;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[s>>2]=0;c[u>>2]=0;c[t>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[q>>2]=c[c[n>>2]>>2];while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[s>>2]|0)>=(c[m>>2]|0):0)break;do if((c[s>>2]|0)<(c[m>>2]|0)){if((c[u>>2]|0)<(c[w>>2]|0)?(c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[k>>2]|0)+((e[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[s>>2]|0;c[s>>2]=h+1;b[v>>1]=b[(c[l>>2]|0)+(h<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[u>>2]|0;c[u>>2]=h+1;b[v>>1]=b[(c[q>>2]|0)+(h<<1)>>1]|0}c[r>>2]=c[(c[k>>2]|0)+((e[v>>1]|0)<<2)>>2];g=b[v>>1]|0;h=c[t>>2]|0;c[t>>2]=h+1;b[(c[p>>2]|0)+(h<<1)>>1]=g;if((c[s>>2]|0)>=(c[m>>2]|0))continue;if((c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[r>>2]|0))continue;c[s>>2]=(c[s>>2]|0)+1}c[c[n>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[t>>2];TR(c[l>>2]|0,c[p>>2]|0,c[t>>2]<<1|0)|0;i=y;return}function mt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+128|0;h=p+120|0;j=p+116|0;k=p+112|0;l=p+104|0;n=p+56|0;o=p+8|0;m=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=Ds(c[j>>2]|0)|0;f=n;b=c[m>>2]|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));it(c[j>>2]|0);f=o;b=(c[m>>2]|0)+48|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));if(eR(n,o,48)|0){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}if(!(d[n+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}ht(1,n,40,0,l);if((c[l>>2]|0)==(c[n+40>>2]|0)?(c[l+4>>2]|0)==(c[n+40+4>>2]|0):0){if(eR((c[j>>2]|0)+52|0,n,48)|0){c[c[k>>2]>>2]=1;f=(c[j>>2]|0)+52|0;b=n;g=f+48|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(g|0));c[(c[j>>2]|0)+36>>2]=((e[(c[j>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[j>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}function nt(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+144|0;B=E+16|0;g=E+96|0;h=E+92|0;y=E+88|0;u=E+8|0;m=E+80|0;p=E+76|0;t=E+72|0;j=E+104|0;l=E+68|0;z=E+64|0;k=E+60|0;o=E+56|0;q=E;A=E+52|0;s=E+48|0;D=E+44|0;r=E+40|0;x=E+36|0;v=E+32|0;w=E+28|0;n=E+24|0;c[h>>2]=e;c[m>>2]=0;c[m+4>>2]=0;c[p>>2]=1+(d[(c[h>>2]|0)+45>>0]|0);c[t>>2]=8-(c[p>>2]|0);c[y>>2]=Xs(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;if(c[y>>2]|0){c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}e=(c[h>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[y>>2]=Xi(c[(c[h>>2]|0)+8>>2]|0,u)|0;a:do if(!(c[y>>2]|0)){f=u;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[l>>2]=0;c[y>>2]=es(c[(c[h>>2]|0)+8>>2]|0,j,32,0,0)|0;if(c[y>>2]|0)break a;c[s>>2]=gr(j)|0;c[A>>2]=gr(j+8|0)|0;if((((c[s>>2]&-2|0)==931071618?!(((c[A>>2]|0)>65536?1:(c[A>>2]&(c[A>>2]|0)-1|0)!=0)|(c[A>>2]|0)<512):0)?(a[(c[h>>2]|0)+52+13>>0]=c[s>>2]&1,c[(c[h>>2]|0)+36>>2]=c[A>>2],s=gr(j+12|0)|0,c[(c[h>>2]|0)+112>>2]=s,s=(c[h>>2]|0)+52+32|0,f=j+16|0,a[s>>0]=a[f>>0]|0,a[s+1>>0]=a[f+1>>0]|0,a[s+2>>0]=a[f+2>>0]|0,a[s+3>>0]=a[f+3>>0]|0,a[s+4>>0]=a[f+4>>0]|0,a[s+5>>0]=a[f+5>>0]|0,a[s+6>>0]=a[f+6>>0]|0,a[s+7>>0]=a[f+7>>0]|0,ht((d[(c[h>>2]|0)+52+13>>0]|0)==((a[968]|0)==0|0)&1,j,24,0,(c[h>>2]|0)+52+24|0),s=c[(c[h>>2]|0)+52+24>>2]|0,(s|0)==(gr(j+24|0)|0)):0)?(s=c[(c[h>>2]|0)+52+24+4>>2]|0,(s|0)==(gr(j+28|0)|0)):0){c[D>>2]=gr(j+4|0)|0;if((c[D>>2]|0)!=3007e3){c[y>>2]=ot(54951)|0;break}c[z>>2]=(c[A>>2]|0)+24;D=c[z>>2]|0;c[l>>2]=Jd(D,((D|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[y>>2]=7;break a}c[k>>2]=(c[l>>2]|0)+24;c[o>>2]=0;D=q;c[D>>2]=32;c[D+4>>2]=0;while(1){f=q;s=c[z>>2]|0;s=RR(c[f>>2]|0,c[f+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;f=C;D=u;j=c[D+4>>2]|0;if(!((f|0)<(j|0)|((f|0)==(j|0)?s>>>0<=(c[D>>2]|0)>>>0:0)))break;c[o>>2]=(c[o>>2]|0)+1;D=q;c[y>>2]=es(c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0,c[z>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0;if(c[y>>2]|0)break;c[r>>2]=pt(c[h>>2]|0,x,v,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[r>>2]|0))break;c[y>>2]=qt(c[h>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[y>>2]|0)break;if(c[v>>2]|0){c[(c[h>>2]|0)+52+16>>2]=c[o>>2];c[(c[h>>2]|0)+52+20>>2]=c[v>>2];b[(c[h>>2]|0)+52+14>>1]=c[A>>2]&65280|c[A>>2]>>16;c[m>>2]=c[(c[h>>2]|0)+52+24>>2];c[m+4>>2]=c[(c[h>>2]|0)+52+24+4>>2]}s=c[z>>2]|0;D=q;s=RR(c[D>>2]|0,c[D+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;D=q;c[D>>2]=s;c[D+4>>2]=C}Kd(c[l>>2]|0)}}while(0);if(!(c[y>>2]|0)){c[(c[h>>2]|0)+52+24>>2]=c[m>>2];c[(c[h>>2]|0)+52+24+4>>2]=c[m+4>>2];gt(c[h>>2]|0);c[w>>2]=at(c[h>>2]|0)|0;c[c[w>>2]>>2]=0;c[(c[w>>2]|0)+32>>2]=c[(c[h>>2]|0)+52+16>>2];c[(c[w>>2]|0)+4>>2]=0;c[n>>2]=1;while(1){if((c[n>>2]|0)>=5)break;c[(c[w>>2]|0)+4+(c[n>>2]<<2)>>2]=-1;c[n>>2]=(c[n>>2]|0)+1}if(c[(c[h>>2]|0)+52+16>>2]|0)c[(c[w>>2]|0)+4+4>>2]=c[(c[h>>2]|0)+52+16>>2];if(c[(c[h>>2]|0)+52+20>>2]|0){D=c[(c[h>>2]|0)+108>>2]|0;c[B>>2]=c[(c[h>>2]|0)+52+16>>2];c[B+4>>2]=D;Rd(283,25952,B)}}}while(0);Kr(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0);c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}function ot(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rj(14,c[d>>2]|0,25935)|0;i=b;return a|0}function pt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=(c[k>>2]|0)+52+24;if(eR((c[k>>2]|0)+52+32|0,(c[o>>2]|0)+8|0,8)|0){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[r>>2]=gr(c[o>>2]|0)|0;if(!(c[r>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[q>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[968]|0)==0|0)&1;ht(c[q>>2]|0,c[o>>2]|0,8,c[p>>2]|0,c[p>>2]|0);ht(c[q>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[p>>2]|0,c[p>>2]|0);f=c[c[p>>2]>>2]|0;if((f|0)==(gr((c[o>>2]|0)+16|0)|0)?(f=c[(c[p>>2]|0)+4>>2]|0,(f|0)==(gr((c[o>>2]|0)+20|0)|0)):0){c[c[l>>2]>>2]=c[r>>2];f=gr((c[o>>2]|0)+4|0)|0;c[c[m>>2]>>2]=f;c[j>>2]=1;f=c[j>>2]|0;i=s;return f|0}c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}function qt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;f=t+44|0;g=t+40|0;h=t+36|0;j=t+32|0;r=t+28|0;n=t+24|0;l=t+20|0;k=t+16|0;m=t+12|0;o=t+8|0;q=t+4|0;p=t;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=0;c[k>>2]=0;a=c[g>>2]|0;c[r>>2]=vs(a,us(c[h>>2]|0)|0,k,l,n)|0;do if(!(c[r>>2]|0)){c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);if((c[o>>2]|0)==1){c[p>>2]=(c[k>>2]|0)+16384-((c[l>>2]|0)+4);VR((c[l>>2]|0)+4|0,0,c[p>>2]|0)|0}if(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)ts(c[g>>2]|0);c[q>>2]=c[o>>2];c[m>>2]=Os(c[j>>2]|0)|0;while(1){if(!(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)){s=11;break}a=c[q>>2]|0;c[q>>2]=a+-1;if(!a)break;c[m>>2]=Ps(c[m>>2]|0)|0}if((s|0)==11){c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[j>>2];b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=c[o>>2];break}c[f>>2]=Qj(54820)|0;s=c[f>>2]|0;i=t;return s|0}while(0);c[f>>2]=c[r>>2];s=c[f>>2]|0;i=t;return s|0}function rt(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if(((c[b>>2]|0)!=0?(c[c[b>>2]>>2]|0)!=0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=Yb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))c[b>>2]=-1;else c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}function st(){return 48}function tt(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+4>>2]|0)<=72){a=72;i=d;return a|0}a=c[(c[b>>2]|0)+4>>2]|0;i=d;return a|0}function ut(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=b;c[h>>2]=c[l>>2];c[j>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}do if(d[(c[h>>2]|0)+21>>0]|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}while(0);c[(c[g>>2]|0)+12>>2]=0;l=(Br(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(l){c[j>>2]=wt(a)|0;if(!(c[j>>2]|0))c[j>>2]=xt(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(((e[a+24>>1]|0)&8|0)==0?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[j>>2]=yt(c[h>>2]|0,1)|0;if(!(c[j>>2]|0))c[j>>2]=zt(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[j>>2]|0))gj(c[g>>2]|0);c[f>>2]=mr(c[h>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}function vt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;e=c[o>>2]|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+32>>0]=c[l>>2];a[(c[o>>2]|0)+33>>0]=2;c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+40>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=100;c[(c[o>>2]|0)+20>>2]=1;o=_i(c[o>>2]|0,c[j>>2]|0)|0;i=p;return o|0}function wt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(Ot(c[d>>2]|0)|0){c[b>>2]=Pt(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function xt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;l=p+8|0;m=p+4|0;n=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a:do if(c[k>>2]|0){c[n>>2]=h;c[l>>2]=0;c[m>>2]=c[h>>2];while(1){a=c[m>>2]|0;c[c[n>>2]>>2]=a;if(!a)break a;if((c[(c[m>>2]|0)+20>>2]|0)>>>0<=(c[j>>2]|0)>>>0){c[n>>2]=(c[m>>2]|0)+12;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+12>>2]}}else c[l>>2]=1;while(0);n=(c[g>>2]|0)+192+8|0;c[n>>2]=(c[n>>2]|0)+(c[l>>2]|0);if((c[(c[h>>2]|0)+20>>2]|0)==1)Bt(c[h>>2]|0);c[o>>2]=Ht(c[(c[g>>2]|0)+216>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,d[(c[g>>2]|0)+11>>0]|0)|0;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if(!(c[(c[g>>2]|0)+96>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[m>>2]=c[h>>2];while(1){if(!(c[m>>2]|0))break;is(c[(c[g>>2]|0)+96>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+4>>2]|0);c[m>>2]=c[(c[m>>2]|0)+12>>2]}o=c[o>>2]|0;i=p;return o|0}function yt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+24|0;g=o+20|0;h=o+16|0;m=o+12|0;k=o+8|0;l=o;j=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=Ct(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if((c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[k>>2]=bs(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[k>>2]&512)){a[n>>0]=a[25901]|0;a[n+1>>0]=a[25902]|0;a[n+2>>0]=a[25903]|0;a[n+3>>0]=a[25904]|0;a[n+4>>0]=a[25905]|0;a[n+5>>0]=a[25906]|0;a[n+6>>0]=a[25907]|0;a[n+7>>0]=a[25908]|0;ft(n+8|0,c[(c[g>>2]|0)+48>>2]|0);e=ps(c[g>>2]|0)|0;b=l;c[b>>2]=e;c[b+4>>2]=C;b=l;c[m>>2]=es(c[(c[g>>2]|0)+68>>2]|0,j,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[m>>2]|0)==0?0==(eR(j,25901,8)|0):0){b=l;c[m>>2]=Ig(c[(c[g>>2]|0)+68>>2]|0,26022,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[m>>2]|0)!=0&(c[m>>2]|0)!=522){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}if(((d[(c[g>>2]|0)+8>>0]|0)!=0?0==(c[k>>2]&1024|0):0)?(c[m>>2]=vr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+88|0;c[m>>2]=Ig(c[(c[g>>2]|0)+68>>2]|0,n,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}}if(0==(c[k>>2]&1024|0)?(c[m>>2]=vr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}e=(c[g>>2]|0)+80|0;b=c[e+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[e>>2];c[n+4>>2]=b;if(!(c[h>>2]|0))break;if(c[k>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[m>>2]=Dt(c[g>>2]|0)|0;if(!(c[m>>2]|0))break;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+80|0;m=c[b+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[b>>2];c[n+4>>2]=m}while(0);Et(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}function zt(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+32|0;h=n+28|0;m=n+24|0;f=n+8|0;l=n+20|0;j=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[m>>2]=At(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[m>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;d=c[(c[g>>2]|0)+160>>2]|0;d=aS(d|0,((d|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;b=f;c[b>>2]=d;c[b+4>>2]=C;Ts(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[m>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[l>>2]=c[(c[h>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&16|0):0){b=c[(c[g>>2]|0)+160>>2]|0;b=aS((c[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;if((c[(c[h>>2]|0)+20>>2]|0)==1)Bt(c[h>>2]|0);c[k>>2]=c[(c[h>>2]|0)+4>>2];f=j;c[m>>2]=Ig(c[(c[g>>2]|0)+64>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[l>>2]|0)==1){d=(c[g>>2]|0)+112|0;b=(c[k>>2]|0)+24|0;f=d+16|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(f|0))}if((c[l>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[l>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;is(c[(c[g>>2]|0)+96>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}i=n;return c[m>>2]|0}function At(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Ur(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function Bt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(gr((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;ft((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);ft((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);ft((c[(c[d>>2]|0)+4>>2]|0)+96|0,3015001);i=b;return}function Ct(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(Br(c[b>>2]|0)|0):0)c[d>>2]=Ft(c[b>>2]|0,4)|0;i=e;return c[d>>2]|0}function Dt(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;f=l+20|0;k=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;e=l;c[f>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[f>>2]|0)+208>>2];c[g>>2]=c[(c[f>>2]|0)+160>>2];if((c[g>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[g>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}b=ps(c[f>>2]|0)|0;m=C;n=(c[f>>2]|0)+80|0;c[n>>2]=b;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=b;c[n+4>>2]=m;if(((d[(c[f>>2]|0)+7>>0]|0|0)==0?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?((bs(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0)==0:0){e=c[j>>2]|0;b=e+12|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0))}else{n=c[j>>2]|0;a[n>>0]=a[25901]|0;a[n+1>>0]=a[25902]|0;a[n+2>>0]=a[25903]|0;a[n+3>>0]=a[25904]|0;a[n+4>>0]=a[25905]|0;a[n+5>>0]=a[25906]|0;a[n+6>>0]=a[25907]|0;a[n+7>>0]=a[25908]|0;ft((c[j>>2]|0)+8|0,-1)}Sd(4,(c[f>>2]|0)+52|0);ft((c[j>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);ft((c[j>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);ft((c[j>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);ft((c[j>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);VR((c[j>>2]|0)+28|0,0,(c[g>>2]|0)-28|0)|0;c[h>>2]=0;while(1){if(c[k>>2]|0){e=17;break}if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){e=17;break}n=(c[f>>2]|0)+80|0;c[k>>2]=Ig(c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=RR(c[m>>2]|0,c[m+4>>2]|0,c[g>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0)}if((e|0)==17){i=l;return c[k>>2]|0}return 0}function Et(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function Ft(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=Gt(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){d=4;break}if(!(Tb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){d=4;break}}if((d|0)==4){i=g;return c[f>>2]|0}return 0}function Gt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Rs(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Ht(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+176|0;u=N+136|0;v=N+132|0;w=N+128|0;x=N+124|0;y=N+120|0;z=N+116|0;A=N+112|0;I=N+108|0;D=N+104|0;G=N+100|0;H=N+96|0;F=N+92|0;L=N+88|0;E=N+40|0;M=N+16|0;p=N+84|0;o=N+80|0;n=N+144|0;m=N+72|0;s=N+64|0;r=N+60|0;q=N+8|0;t=N+56|0;B=N+52|0;J=N+48|0;K=N;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=j;c[z>>2]=k;c[A>>2]=l;c[H>>2]=0;c[F>>2]=0;c[p>>2]=0;c[o>>2]=Ds(c[v>>2]|0)|0;if(eR((c[v>>2]|0)+52|0,c[o>>2]|0,48)|0)c[p>>2]=(c[(c[o>>2]|0)+16>>2]|0)+1;g=It(c[v>>2]|0)|0;c[I>>2]=g;if(g){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}c[D>>2]=c[(c[v>>2]|0)+52+16>>2];if(!(c[D>>2]|0)){ft(n,931071618|(a[968]|0)==0);ft(n+4|0,3007e3);ft(n+8|0,c[w>>2]|0);ft(n+12|0,c[(c[v>>2]|0)+112>>2]|0);if(!(c[(c[v>>2]|0)+112>>2]|0))Sd(8,(c[v>>2]|0)+52+32|0);g=n+16|0;l=(c[v>>2]|0)+52+32|0;a[g>>0]=a[l>>0]|0;a[g+1>>0]=a[l+1>>0]|0;a[g+2>>0]=a[l+2>>0]|0;a[g+3>>0]=a[l+3>>0]|0;a[g+4>>0]=a[l+4>>0]|0;a[g+5>>0]=a[l+5>>0]|0;a[g+6>>0]=a[l+6>>0]|0;a[g+7>>0]=a[l+7>>0]|0;ht(1,n,24,0,m);ft(n+24|0,c[m>>2]|0);ft(n+28|0,c[m+4>>2]|0);c[(c[v>>2]|0)+36>>2]=c[w>>2];a[(c[v>>2]|0)+52+13>>0]=(a[968]|0)==0;c[(c[v>>2]|0)+52+24>>2]=c[m>>2];c[(c[v>>2]|0)+52+24+4>>2]=c[m+4>>2];a[(c[v>>2]|0)+47>>0]=1;c[I>>2]=Ig(c[(c[v>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[I>>2]|0){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}if(((c[A>>2]|0)!=0?(d[(c[v>>2]|0)+48>>0]|0)!=0:0)?(c[I>>2]=vr(c[(c[v>>2]|0)+8>>2]|0,c[A>>2]&19)|0,(c[I>>2]|0)!=0):0){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}}c[M>>2]=c[v>>2];c[M+4>>2]=c[(c[v>>2]|0)+8>>2];l=M+8|0;c[l>>2]=0;c[l+4>>2]=0;c[M+16>>2]=c[A>>2];c[M+20>>2]=c[w>>2];l=(c[w>>2]|0)+24|0;l=aS((c[D>>2]|0)+1-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=RR(32,0,l|0,C|0)|0;g=E;c[g>>2]=l;c[g+4>>2]=C;c[L>>2]=(c[w>>2]|0)+24;c[G>>2]=c[x>>2];while(1){if(!(c[G>>2]|0)){m=30;break}if(((c[p>>2]|0)!=0?((c[z>>2]|0)==0?1:(c[(c[G>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,Hs(c[v>>2]|0,c[(c[G>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){l=(c[w>>2]|0)+24|0;l=aS((c[r>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=RR(32,0,l|0,C|0)|0;l=RR(l|0,C|0,24,0)|0;g=q;c[g>>2]=l;c[g+4>>2]=C;if(!((c[(c[v>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[v>>2]|0)+104>>2]|0)>>>0:0))c[(c[v>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[G>>2]|0)+4>>2];g=q;c[I>>2]=Ig(c[(c[v>>2]|0)+8>>2]|0,c[t>>2]|0,c[w>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[I>>2]|0){m=22;break}g=(c[G>>2]|0)+24|0;b[g>>1]=e[g>>1]&-65}else{c[D>>2]=(c[D>>2]|0)+1;if(c[z>>2]|0)m=(c[(c[G>>2]|0)+12>>2]|0)==0?c[y>>2]|0:0;else m=0;c[s>>2]=m;g=E;c[I>>2]=Jt(M,c[G>>2]|0,c[s>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[I>>2]|0){m=27;break}c[H>>2]=c[G>>2];l=c[L>>2]|0;g=E;l=RR(c[g>>2]|0,c[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;g=E;c[g>>2]=l;c[g+4>>2]=C;g=(c[G>>2]|0)+24|0;b[g>>1]=e[g>>1]|64}c[G>>2]=c[(c[G>>2]|0)+12>>2]}if((m|0)==22){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}else if((m|0)==27){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}else if((m|0)==30){if(((c[z>>2]|0)!=0?(c[(c[v>>2]|0)+104>>2]|0)!=0:0)?(c[I>>2]=Kt(c[v>>2]|0,c[D>>2]|0)|0,(c[I>>2]|0)!=0):0){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}if((c[z>>2]|0)!=0?(c[A>>2]&32|0)!=0:0){c[B>>2]=1;a:do if(a[(c[v>>2]|0)+49>>0]|0){c[J>>2]=cs(c[(c[v>>2]|0)+8>>2]|0)|0;t=E;s=c[J>>2]|0;s=RR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;s=QR(s|0,C|0,1,0)|0;t=c[J>>2]|0;t=_R(s|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;J=c[J>>2]|0;J=aS(t|0,C|0,J|0,((J|0)<0)<<31>>31|0)|0;t=M+8|0;c[t>>2]=J;c[t+4>>2]=C;t=M+8|0;J=E;c[B>>2]=((c[t>>2]|0)==(c[J>>2]|0)?(c[t+4>>2]|0)==(c[J+4>>2]|0):0)&1;while(1){t=E;r=c[t+4>>2]|0;J=M+8|0;s=c[J+4>>2]|0;if(!((r|0)<(s|0)|((r|0)==(s|0)?(c[t>>2]|0)>>>0<(c[J>>2]|0)>>>0:0)))break a;J=E;c[I>>2]=Jt(M,c[H>>2]|0,c[y>>2]|0,c[J>>2]|0,c[J+4>>2]|0)|0;if(c[I>>2]|0)break;t=c[L>>2]|0;J=E;t=RR(c[J>>2]|0,c[J+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;J=E;c[J>>2]=t;c[J+4>>2]=C;c[F>>2]=(c[F>>2]|0)+1}c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}while(0);if(c[B>>2]|0)c[I>>2]=vr(c[M+4>>2]|0,c[A>>2]&19)|0}if(((c[z>>2]|0)!=0?(d[(c[v>>2]|0)+47>>0]|0)!=0:0)?(M=(c[v>>2]|0)+16|0,L=c[M+4>>2]|0,(L|0)>0|(L|0)==0&(c[M>>2]|0)>>>0>=0):0){M=(c[v>>2]|0)+16|0;E=c[M+4>>2]|0;L=K;c[L>>2]=c[M>>2];c[L+4>>2]=E;L=(c[w>>2]|0)+24|0;L=aS((c[D>>2]|0)+(c[F>>2]|0)+1-1|0,0,L|0,((L|0)<0)<<31>>31|0)|0;L=RR(32,0,L|0,C|0)|0;E=C;M=(c[v>>2]|0)+16|0;J=c[M+4>>2]|0;if((E|0)>(J|0)|((E|0)==(J|0)?L>>>0>(c[M>>2]|0)>>>0:0)){L=(c[w>>2]|0)+24|0;L=aS((c[D>>2]|0)+(c[F>>2]|0)+1-1|0,0,L|0,((L|0)<0)<<31>>31|0)|0;L=RR(32,0,L|0,C|0)|0;M=K;c[M>>2]=L;c[M+4>>2]=C}M=K;Us(c[v>>2]|0,c[M>>2]|0,c[M+4>>2]|0);a[(c[v>>2]|0)+47>>0]=0}c[D>>2]=c[(c[v>>2]|0)+52+16>>2];c[G>>2]=c[x>>2];while(1){if(!((c[G>>2]|0)!=0?(c[I>>2]|0)==0:0))break;if(e[(c[G>>2]|0)+24>>1]&64){c[D>>2]=(c[D>>2]|0)+1;c[I>>2]=qt(c[v>>2]|0,c[D>>2]|0,c[(c[G>>2]|0)+20>>2]|0)|0}c[G>>2]=c[(c[G>>2]|0)+12>>2]}while(1){if(!((c[I>>2]|0)==0?(c[F>>2]|0)>0:0))break;c[D>>2]=(c[D>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+-1;c[I>>2]=qt(c[v>>2]|0,c[D>>2]|0,c[(c[H>>2]|0)+20>>2]|0)|0}if(!(c[I>>2]|0)){b[(c[v>>2]|0)+52+14>>1]=c[w>>2]&65280|c[w>>2]>>16;c[(c[v>>2]|0)+52+16>>2]=c[D>>2];if(c[z>>2]|0){M=(c[v>>2]|0)+52+8|0;c[M>>2]=(c[M>>2]|0)+1;c[(c[v>>2]|0)+52+20>>2]=c[y>>2]}if(c[z>>2]|0){gt(c[v>>2]|0);c[(c[v>>2]|0)+12>>2]=c[D>>2]}}c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}return 0}function It(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;f=l+12|0;h=l+8|0;k=l+4|0;g=l;c[e>>2]=a;c[j>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=at(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){Sd(4,k);c[j>>2]=Xs(c[e>>2]|0,4,4)|0;if(!(c[j>>2]|0)){dt(c[e>>2]|0,c[k>>2]|0);Kr(c[e>>2]|0,4,4);break}if((c[j>>2]|0)!=5){c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}}while(0);Ir(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[f>>2]=0;do{a=c[e>>2]|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[j>>2]=Nt(a,g,1,k)|0}while((c[j>>2]|0)==-1)}c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}function Jt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;j=m;l=m+12|0;k=m+8|0;n=m+32|0;c[h>>2]=a;c[p>>2]=b;c[o>>2]=d;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[(c[p>>2]|0)+4>>2];Lt(c[c[h>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[k>>2]|0,n);b=j;c[l>>2]=Mt(c[h>>2]|0,n,24,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}else{b=c[h>>2]|0;n=c[k>>2]|0;o=c[(c[h>>2]|0)+20>>2]|0;p=j;p=RR(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[l>>2]=Mt(b,n,o,p,C)|0;c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}return 0}function Kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+80|0;d=q+48|0;e=q+44|0;f=q+40|0;p=q+36|0;o=q+32|0;g=q+28|0;h=q+56|0;m=q+24|0;j=q+8|0;k=q;l=q+20|0;n=q+16|0;c[e>>2]=a;c[f>>2]=b;c[p>>2]=c[(c[e>>2]|0)+36>>2];c[o>>2]=0;c[g>>2]=Id((c[p>>2]|0)+24|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;p=c[d>>2]|0;i=q;return p|0}if((c[(c[e>>2]|0)+104>>2]|0)==1){a=j;c[a>>2]=24;c[a+4>>2]=0}else{b=(c[p>>2]|0)+24|0;b=aS((c[(c[e>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=RR(32,0,b|0,C|0)|0;b=RR(b|0,C|0,16,0)|0;a=j;c[a>>2]=b;c[a+4>>2]=C}a=j;c[o>>2]=es(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,8,c[a>>2]|0,c[a+4>>2]|0)|0;a=gr(c[g>>2]|0)|0;c[(c[e>>2]|0)+52+24>>2]=a;a=gr((c[g>>2]|0)+4|0)|0;c[(c[e>>2]|0)+52+24+4>>2]=a;c[m>>2]=c[(c[e>>2]|0)+104>>2];c[(c[e>>2]|0)+104>>2]=0;while(1){if(c[o>>2]|0)break;if((c[m>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;b=(c[p>>2]|0)+24|0;b=aS((c[m>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=RR(32,0,b|0,C|0)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=k;c[o>>2]=es(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,(c[p>>2]|0)+24|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[o>>2]|0)){c[l>>2]=gr(c[g>>2]|0)|0;c[n>>2]=gr((c[g>>2]|0)+4|0)|0;Lt(c[e>>2]|0,c[l>>2]|0,c[n>>2]|0,(c[g>>2]|0)+24|0,h);a=k;c[o>>2]=Ig(c[(c[e>>2]|0)+8>>2]|0,h,24,c[a>>2]|0,c[a+4>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}Kd(c[g>>2]|0);c[d>>2]=c[o>>2];p=c[d>>2]|0;i=q;return p|0}function Lt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;j=o+24|0;q=o+20|0;p=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=b;c[q>>2]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=h;c[m>>2]=(c[j>>2]|0)+52+24;ft(c[l>>2]|0,c[q>>2]|0);ft((c[l>>2]|0)+4|0,c[p>>2]|0);g=(c[l>>2]|0)+8|0;if(!(c[(c[j>>2]|0)+104>>2]|0)){q=(c[j>>2]|0)+52+32|0;a[g>>0]=a[q>>0]|0;a[g+1>>0]=a[q+1>>0]|0;a[g+2>>0]=a[q+2>>0]|0;a[g+3>>0]=a[q+3>>0]|0;a[g+4>>0]=a[q+4>>0]|0;a[g+5>>0]=a[q+5>>0]|0;a[g+6>>0]=a[q+6>>0]|0;a[g+7>>0]=a[q+7>>0]|0;c[n>>2]=(d[(c[j>>2]|0)+52+13>>0]|0)==((a[968]|0)==0|0)&1;ht(c[n>>2]|0,c[l>>2]|0,8,c[m>>2]|0,c[m>>2]|0);ht(c[n>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[m>>2]|0,c[m>>2]|0);ft((c[l>>2]|0)+16|0,c[c[m>>2]>>2]|0);ft((c[l>>2]|0)+20|0,c[(c[m>>2]|0)+4>>2]|0);i=o;return}else{h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));i=o;return}}function Mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o;n=o+12|0;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;f=c[a+4>>2]|0;b=(c[h>>2]|0)+8|0;d=c[b+4>>2]|0;if((f|0)<(d|0)|((f|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?(f=l,a=c[k>>2]|0,a=RR(c[f>>2]|0,c[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,f=C,b=(c[h>>2]|0)+8|0,d=c[b+4>>2]|0,(f|0)>(d|0)|((f|0)==(d|0)?a>>>0>=(c[b>>2]|0)>>>0:0)):0){a=(c[h>>2]|0)+8|0;b=l;b=QR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=b;b=l;c[n>>2]=Ig(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}a=c[m>>2]|0;b=l;a=RR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[n>>2]=vr(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+16>>2]&19)|0;if((c[k>>2]|0)==0|(c[n>>2]|0)!=0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}}b=l;c[n>>2]=Ig(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function Nt(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;v=w+48|0;h=w+44|0;j=w+40|0;k=w+36|0;l=w+32|0;r=w+28|0;p=w+24|0;o=w+20|0;m=w+16|0;s=w+12|0;n=w+8|0;q=w+4|0;t=w;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[s>>2]=0;if((c[l>>2]|0)>5){c[q>>2]=1;if((c[l>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;i=w;return v|0}if((c[l>>2]|0)>=10)c[q>>2]=(_((c[l>>2]|0)-9|0,(c[l>>2]|0)-9|0)|0)*39;wi(c[c[h>>2]>>2]|0,c[q>>2]|0)|0}if(!(c[k>>2]|0)){c[s>>2]=Zs(c[h>>2]|0,c[j>>2]|0)|0;do if((c[s>>2]|0)==5){if(!(c[c[(c[h>>2]|0)+32>>2]>>2]|0)){c[s>>2]=-1;break}f=Hr(c[h>>2]|0,2)|0;c[s>>2]=f;if(!f){Ir(c[h>>2]|0,2);c[s>>2]=-1;break}if((c[s>>2]|0)==5)c[s>>2]=261}while(0);if(c[s>>2]|0){c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}}c[r>>2]=at(c[h>>2]|0)|0;do if((c[k>>2]|0)==0?(c[c[r>>2]>>2]|0)==(c[(c[h>>2]|0)+52+16>>2]|0):0){c[s>>2]=Hr(c[h>>2]|0,3)|0;it(c[h>>2]|0);if(c[s>>2]|0){if((c[s>>2]|0)==5)break;c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}u=Ds(c[h>>2]|0)|0;u=(eR(u,(c[h>>2]|0)+52|0,48)|0)!=0;h=c[h>>2]|0;if(u){Ir(h,3);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}else{b[h+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;i=w;return v|0}}while(0);c[p>>2]=0;c[o>>2]=0;c[n>>2]=c[(c[h>>2]|0)+52+16>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break;c[t>>2]=c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0<=(c[t>>2]|0)>>>0?(c[t>>2]|0)>>>0<=(c[n>>2]|0)>>>0:0){c[p>>2]=c[t>>2];c[o>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}a:do if(((d[(c[h>>2]|0)+46>>0]|0)&2|0)==0?((c[o>>2]|0)==0?1:(c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0):0){c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break a;c[s>>2]=Xs(c[h>>2]|0,3+(c[m>>2]|0)|0,1)|0;if(!(c[s>>2]|0)){u=36;break}if((c[s>>2]|0)!=5)break;c[m>>2]=(c[m>>2]|0)+1}if((u|0)==36){u=c[n>>2]|0;c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2]=u;c[p>>2]=u;c[o>>2]=c[m>>2];Kr(c[h>>2]|0,3+(c[m>>2]|0)|0,1);break}c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}while(0);if(!(c[o>>2]|0)){c[v>>2]=(c[s>>2]|0)==5?-1:520;v=c[v>>2]|0;i=w;return v|0}c[s>>2]=Hr(c[h>>2]|0,3+(c[o>>2]|0)|0)|0;if(c[s>>2]|0){c[v>>2]=(c[s>>2]|0)==5?-1:c[s>>2]|0;v=c[v>>2]|0;i=w;return v|0}c[(c[h>>2]|0)+100>>2]=(c[c[r>>2]>>2]|0)+1;it(c[h>>2]|0);if((c[(c[r>>2]|0)+4+(c[o>>2]<<2)>>2]|0)==(c[p>>2]|0)?(u=Ds(c[h>>2]|0)|0,(eR(u,(c[h>>2]|0)+52|0,48)|0)==0):0){b[(c[h>>2]|0)+40>>1]=c[o>>2];c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}Ir(c[h>>2]|0,3+(c[o>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}function Ot(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+20|0;j=h+16|0;e=h+12|0;d=h+8|0;f=h+4|0;b=h;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[f>>2]=c[(c[j>>2]|0)+20>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[e>>2]|0)+104>>2]|0)){b=7;break}c[d>>2]=(c[(c[e>>2]|0)+100>>2]|0)+((c[b>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[f>>2]|0)>>>0?0==(qj(c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0):0){b=5;break}c[b>>2]=(c[b>>2]|0)+1}if((b|0)==5){c[g>>2]=1;j=c[g>>2]|0;i=h;return j|0}else if((b|0)==7){c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}return 0}function Pt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;b=k+24|0;j=k+20|0;h=k+16|0;f=k+12|0;e=k;g=k+8|0;c[b>>2]=a;c[j>>2]=0;c[h>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[h>>2]|0)+5>>0]|0|0)!=2?(c[j>>2]=Qt(c[h>>2]|0)|0,(c[j>>2]|0)==0):0)?(c[f>>2]=c[(c[b>>2]|0)+4>>2],l=4+(c[(c[h>>2]|0)+160>>2]|0)|0,l=aS(c[(c[h>>2]|0)+56>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=e,c[a>>2]=l,c[a+4>>2]=C,c[g>>2]=c[f>>2],a=e,c[j>>2]=Rt(c[(c[h>>2]|0)+72>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)==0):0){f=c[(c[h>>2]|0)+72>>2]|0;g=c[g>>2]|0;a=c[(c[h>>2]|0)+160>>2]|0;l=e;l=RR(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[j>>2]=Ig(f,g,a,l,C)|0}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=(c[h>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=St(c[h>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function Qt(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g;c[b>>2]=a;c[f>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[g+4>>2]=8222;c[e>>2]=c[11];if(!((d[(c[b>>2]|0)+5>>0]|0|0)!=4?(d[(c[b>>2]|0)+22>>0]|0|0)==0:0))c[e>>2]=-1;c[f>>2]=Tt(c[c[b>>2]>>2]|0,0,c[(c[b>>2]|0)+72>>2]|0,8222,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function Rt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;ft(g,c[k>>2]|0);e=j;e=Ig(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;i=f;return e|0}function St(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[g>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[g>>2]|0)+20>>2]|0)>>>0){b=lj(c[(c[g>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[h>>2]=c[h>>2]|b}c[f>>2]=(c[f>>2]|0)+1}i=j;return c[h>>2]|0}function Tt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[k>>2];e=c[n>>2]|0;f=e+72|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));if(!(c[m>>2]|0)){c[g>>2]=Ur(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;n=c[g>>2]|0;i=o;return n|0}if((c[m>>2]|0)>0)c[(c[n>>2]|0)+4>>2]=c[m>>2];else c[(c[n>>2]|0)+4>>2]=1020;c[c[n>>2]>>2]=4028;c[(c[n>>2]|0)+8>>2]=c[m>>2];c[(c[n>>2]|0)+56>>2]=c[l>>2];c[(c[n>>2]|0)+64>>2]=c[j>>2];c[(c[n>>2]|0)+60>>2]=c[h>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Ut(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Vt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Fs(c[d>>2]|0)|0;i=b;return a|0}function Wt(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;l=x+40|0;m=x+36|0;t=x+50|0;o=x+52|0;n=x+32|0;j=x+28|0;w=x+24|0;g=x+48|0;r=x+20|0;v=x+16|0;p=x+12|0;q=x+8|0;h=x+4|0;k=x;s=x+46|0;u=x+44|0;c[m>>2]=f;do if(!(a[c[m>>2]>>0]|0)){c[j>>2]=c[(c[m>>2]|0)+52>>2];a[o>>0]=a[(c[m>>2]|0)+5>>0]|0;c[n>>2]=c[(c[m>>2]|0)+56>>2];if(Xt(c[m>>2]|0,d[(c[n>>2]|0)+(d[o>>0]|0)>>0]|0)|0){c[l>>2]=Qj(60006)|0;w=c[l>>2]|0;i=x;return w|0}b[(c[m>>2]|0)+20>>1]=(c[(c[j>>2]|0)+32>>2]|0)-1;a[(c[m>>2]|0)+1>>0]=0;c[w>>2]=c[(c[j>>2]|0)+36>>2];f=(d[o>>0]|0)+8+(d[(c[m>>2]|0)+6>>0]|0)&65535;b[g>>1]=f;b[(c[m>>2]|0)+14>>1]=f;c[(c[m>>2]|0)+60>>2]=(c[n>>2]|0)+(c[w>>2]|0);c[(c[m>>2]|0)+64>>2]=(c[n>>2]|0)+(e[g>>1]|0);c[(c[m>>2]|0)+68>>2]=(c[n>>2]|0)+(d[(c[m>>2]|0)+6>>0]|0);c[v>>2]=((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[m>>2]|0)+18>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+3)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+3)+1>>0];if((e[(c[m>>2]|0)+18>>1]|0)>>>0>((((c[(c[j>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[l>>2]=Qj(60024)|0;w=c[l>>2]|0;i=x;return w|0}c[p>>2]=(e[g>>1]|0)+(e[(c[m>>2]|0)+18>>1]<<1);c[q>>2]=(c[w>>2]|0)-4;do if(c[(c[(c[j>>2]|0)+4>>2]|0)+24>>2]&536870912){if(!(a[(c[m>>2]|0)+4>>0]|0))c[q>>2]=(c[q>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+18>>1]|0)){g=17;break}b[t>>1]=d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))>>0]<<8|d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))+1>>0];if((e[t>>1]|0)<(c[p>>2]|0)){g=13;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=13;break}c[k>>2]=(Yb[c[(c[m>>2]|0)+76>>2]&255](c[m>>2]|0,(c[n>>2]|0)+(e[t>>1]|0)|0)|0)&65535;if(((e[t>>1]|0)+(c[k>>2]|0)|0)>(c[w>>2]|0)){g=15;break}c[h>>2]=(c[h>>2]|0)+1}if((g|0)==13){c[l>>2]=Qj(60052)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==15){c[l>>2]=Qj(60057)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==17){if(a[(c[m>>2]|0)+4>>0]|0)break;c[q>>2]=(c[q>>2]|0)+1;break}}while(0);b[t>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0];c[r>>2]=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0)+(c[v>>2]|0);while(1){if((e[t>>1]|0)<=0){g=29;break}if((e[t>>1]|0)<(c[p>>2]|0)){g=23;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=23;break}b[s>>1]=d[(c[n>>2]|0)+(e[t>>1]|0)>>0]<<8|d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0];b[u>>1]=d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]<<8|d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0];if((e[s>>1]|0)>0?(e[s>>1]|0)<=((e[t>>1]|0)+(e[u>>1]|0)+3|0):0){g=27;break}if(((e[t>>1]|0)+(e[u>>1]|0)|0)>(c[w>>2]|0)){g=27;break}c[r>>2]=(c[r>>2]|0)+(e[u>>1]|0);b[t>>1]=b[s>>1]|0}if((g|0)==23){c[l>>2]=Qj(60077)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==27){c[l>>2]=Qj(60084)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==29){if((c[r>>2]|0)<=(c[w>>2]|0)){b[(c[m>>2]|0)+16>>1]=(c[r>>2]|0)-(c[p>>2]|0);a[c[m>>2]>>0]=1;break}c[l>>2]=Qj(60098)|0;w=c[l>>2]|0;i=x;return w|0}}while(0);c[l>>2]=0;w=c[l>>2]|0;i=x;return w|0}function Xt(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=e;c[g>>2]=f;a[(c[j>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[j>>2]|0)+6>>0]=4-(d[(c[j>>2]|0)+4>>0]<<2);c[(c[j>>2]|0)+76>>2]=188;c[k>>2]=c[(c[j>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[j>>2]|0)+2>>0]=1;g=(c[j>>2]|0)+3|0;if(a[(c[j>>2]|0)+4>>0]|0){a[g>>0]=1;c[(c[j>>2]|0)+80>>2]=226}else{a[g>>0]=0;c[(c[j>>2]|0)+76>>2]=189;c[(c[j>>2]|0)+80>>2]=227}b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+28>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+30>>1]|0}else{if((c[g>>2]|0)==2){a[(c[j>>2]|0)+2>>0]=0;a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+80>>2]=228;b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+24>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+26>>1]|0;break}c[h>>2]=Qj(59964)|0;k=c[h>>2]|0;i=l;return k|0}while(0);a[(c[j>>2]|0)+7>>0]=a[(c[k>>2]|0)+21>>0]|0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Yt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;m=n+12|0;l=n+8|0;k=n+4|0;j=n;c[g>>2]=b;c[h>>2]=f;c[m>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[m>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[l>>2]=(c[m>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{f=c[k>>2]<<7;b=(c[m>>2]|0)+1|0;c[m>>2]=b;c[k>>2]=f|d[b>>0]&127;if((d[c[m>>2]>>0]|0)<128)break a}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[l>>2]=(c[m>>2]|0)+9;do{b=c[m>>2]|0;c[m>>2]=b+1;if(!(d[b>>0]&128))break b}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){b=(c[k>>2]|0)+((c[m>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=b;c[k>>2]=(c[k>>2]|0)>>>0<4?4:b;b=c[k>>2]|0;b=b&65535;i=n;return b|0}c[j>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[j>>2]|0)+((((c[k>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[m>>2]|0)-(c[h>>2]|0)&65535));b=c[k>>2]|0;b=b&65535;i=n;return b|0}function Zt(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+28|0;k=q+24|0;p=q+20|0;m=q+16|0;l=q;n=q+12|0;o=q+8|0;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[j>>2];c[m>>2]=d[c[p>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[p>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{g=c[m>>2]<<7;a=(c[p>>2]|0)+1|0;c[p>>2]=a;c[m>>2]=g|(d[a>>0]|0)&127;if((d[c[p>>2]>>0]|0|0)<128)break a}while((c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[p>>2]=(c[p>>2]|0)+1;a=l;c[a>>2]=d[c[p>>2]>>0];c[a+4>>2]=0;a=l;g=c[a+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[a>>2]|0)>>>0>=128){c[o>>2]=(c[p>>2]|0)+7;a=l;c[a>>2]=c[l>>2]&127;c[a+4>>2]=0;do{n=l;n=WR(c[n>>2]|0,c[n+4>>2]|0,7)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;g=(d[g>>0]|0)&127;a=l;c[a>>2]=n|g;c[a+4>>2]=C|((g|0)<0)<<31>>31;if((d[c[p>>2]>>0]|0|0)<128)break b}while((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0);o=l;o=WR(c[o>>2]|0,c[o+4>>2]|0,8)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;a=l;c[a>>2]=o|(d[g>>0]|0);c[a+4>>2]=C}while(0);c[p>>2]=(c[p>>2]|0)+1;o=l;g=c[o+4>>2]|0;a=c[k>>2]|0;c[a>>2]=c[o>>2];c[a+4>>2]=g;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[p>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){bu(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=q;return}b[(c[k>>2]|0)+18>>1]=(c[m>>2]|0)+((c[p>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[m>>2];i=q;return}function _t(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[h+12>>2]=a;c[e>>2]=b;c[g>>2]=(c[e>>2]|0)+4;c[f>>2]=(c[g>>2]|0)+9;do{a=c[g>>2]|0;c[g>>2]=a+1;if(!((d[a>>0]|0)&128))break}while((c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0);i=h;return (c[g>>2]|0)-(c[e>>2]|0)&65535|0}function $t(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;a=4+((cu((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=a;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;i=f;return}function au(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[n>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[l>>2]=d[c[n>>2]>>0];a:do if((c[l>>2]|0)>>>0>=128){c[m>>2]=(c[n>>2]|0)+8;c[l>>2]=c[l>>2]&127;do{g=c[l>>2]<<7;a=(c[n>>2]|0)+1|0;c[n>>2]=a;c[l>>2]=g|(d[a>>0]|0)&127;if((d[c[n>>2]>>0]|0|0)<128)break a}while((c[n>>2]|0)>>>0<(c[m>>2]|0)>>>0)}while(0);c[n>>2]=(c[n>>2]|0)+1;a=c[k>>2]|0;c[a>>2]=c[l>>2];c[a+4>>2]=0;c[(c[k>>2]|0)+12>>2]=c[l>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[l>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){bu(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=o;return}b[(c[k>>2]|0)+18>>1]=(c[l>>2]|0)+((c[n>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[l>>2];i=o;return}function bu(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;m=l+4|0;k=l;c[n>>2]=a;c[g>>2]=d;c[h>>2]=f;c[j>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[k>>2]=(c[j>>2]|0)+((((c[(c[h>>2]|0)+12>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)<=(c[m>>2]|0))b[(c[h>>2]|0)+16>>1]=c[k>>2];else b[(c[h>>2]|0)+16>>1]=c[j>>2];b[(c[h>>2]|0)+18>>1]=((c[(c[h>>2]|0)+8>>2]|0)+(e[(c[h>>2]|0)+16>>1]|0)-(c[g>>2]|0)&65535)+4;i=l;return}function cu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=1;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=2;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;if(!e){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=3;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);e=(c[k>>2]&128|0)!=0;c[k>>2]=c[k>>2]&2080895;b=c[j>>2]|0;if(!e){c[j>>2]=b<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=4;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=5;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[k>>2];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=6;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);b=c[j>>2]|0;if(!(c[j>>2]&128)){c[j>>2]=b&-266354561;c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>11;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=7;l=a[f>>0]|0;i=m;return l|0}c[j>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(c[k>>2]&128){c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<15;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<8;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=c[l>>2]<<4;c[k>>2]=d[(c[g>>2]|0)+-4>>0];c[k>>2]=c[k>>2]&127;c[k>>2]=(c[k>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[k>>2];k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=9;l=a[f>>0]|0;i=m;return l|0}else{c[k>>2]=c[k>>2]&-266354561;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>4;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=8;l=a[f>>0]|0;i=m;return l|0}return 0}function du(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)b=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return (d|0)==0|0}function eu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(d[(c[l>>2]|0)+20>>0]|0){c[m>>2]=6;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=fu(c[c[l>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function fu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))b=0;else b=c[(c[g>>2]|0)+184>>2]|0;c[l>>2]=Ss(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,b,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function gu(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[j>>2]=b;c[k>>2]=f;a[l>>0]=g;g=c[j>>2]|0;if((c[k>>2]|0)==-2){c[h>>2]=(c[g+12>>2]|0)==0?0:6;m=c[h>>2]|0;i=n;return m|0}if((a[g>>0]|0)!=(c[k>>2]|0)?(a[c[j>>2]>>0]|0)>=0:0){c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}if((a[c[j>>2]>>0]|0)==(c[k>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[l>>0]|0)!=(e[(c[j>>2]|0)+2>>1]&3|0)){if(d[l>>0]&e[(c[j>>2]|0)+2>>1]&2)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[h>>2]=c[m>>2];m=c[h>>2]|0;i=n;return m|0}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[1092+(c[h>>2]<<2)>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(ig(c[(c[e>>2]|0)+20>>2]|0,c[d>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+24>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;i=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;i=g;return h|0}return 0}function iu(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if(((e[(c[g>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[j>>2]=ju(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}function ju(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+45|0;k=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;r=v+16|0;q=v+12|0;j=v+44|0;h=v+8|0;l=v+4|0;m=v;c[o>>2]=f;a[p>>0]=g;if((d[(c[o>>2]|0)+10>>0]|0|0)!=1?(d[p>>0]|0|0)!=1:0){c[h>>2]=bh(c[o>>2]|0)|0;if(c[h>>2]|0){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;a[j>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[j>>0]|0;t=c[s>>2]|0;c[s>>2]=t+1;a[t>>0]=r}a[(c[o>>2]|0)+10>>0]=a[p>>0]|0}else{g=(c[o>>2]|0)+12|0;f=c[g>>2]|0;if((d[p>>0]|0|0)==1){c[g>>2]=f&-2;c[k>>2]=(c[(c[o>>2]|0)+12>>2]<<1)+1}else c[k>>2]=(f<<1)+2;c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]|0);k=c[k>>2]|0;c[t>>2]=Ch(c[(c[o>>2]|0)+32>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[r>>2]=c[t>>2];if((d[(c[o>>2]|0)+10>>0]|0|0)==1){a:do if((d[p>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[25563+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;l=(c[q>>2]|0)>>>8&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{m=(g>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=216+(((c[q>>2]|0)-65536|0)>>>18&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=c[q>>2]&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=220+((c[q>>2]|0)>>>8&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[25563+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g>>>8;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=216+((g-65536|0)>>>18&3);l=((c[q>>2]|0)>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=220+((c[q>>2]|0)>>>8&3)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0);u=c[r>>2]|0;c[r>>2]=u+1;a[u>>0]=0}else{b:do if((d[(c[o>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(c[q>>2]|0)+((d[m>>0]|0)<<8);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=(c[l>>2]|0)+((d[m>>0]|0)<<8);c[q>>2]=(c[l>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=224+(g>>>12&15);m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(c[q>>2]|0)+(d[l>>0]|0);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(c[m>>2]|0)+(d[l>>0]|0);c[q>>2]=(c[m>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=224+(g>>>12&15);l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0)}a[c[r>>2]>>0]=0;c[q>>2]=e[(c[o>>2]|0)+8>>1];Xg(c[o>>2]|0);b[(c[o>>2]|0)+8>>1]=514|c[q>>2]&32799;a[(c[o>>2]|0)+10>>0]=a[p>>0]|0;c[(c[o>>2]|0)+16>>2]=c[t>>2];c[(c[o>>2]|0)+20>>2]=c[(c[o>>2]|0)+16>>2];u=ku(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=u}c[n>>2]=0;u=c[n>>2]|0;i=v;return u|0}function ku(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)!=0?(lu(c[f>>2]|0,c[g>>2]|0)|0)!=0:0){c[d>>2]=e[(c[f>>2]|0)+256+4>>1];b=c[d>>2]|0;i=h;return b|0}c[d>>2]=Tb[c[60>>2]&255](c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}function lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+32>>2]|0)>>>0){b=0;b=b&1;i=f;return b|0}b=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+36>>2]|0)>>>0;b=b&1;i=f;return b|0}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+24>>2];if(!(c[e>>2]|0)){i=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){i=f;return}Qb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function nu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[b>>2]=a;Of(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[h>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[j>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16)tu(c[b>>2]|0,c[j>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[(c[b>>2]|0)+320+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[g>>2]|0)+16>>2]|0)tu(c[b>>2]|0,c[(c[g>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}uu(c[b>>2]|0);i=k;return}function ou(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ru(c[d>>2]|0,68);i=b;return 0} -function vJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;f=n+24|0;g=n+20|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;l=n;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[m>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[m>>2]|0)+28>>2]|0)==(c[f>>2]|0))c[(c[m>>2]|0)+28>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[l>>2]|0)+44>>2]|0)==(c[f>>2]|0))c[(c[l>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=n;return}function wJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);c[j>>2]=XH(c[h>>2]|0,c[f>>2]|0,0)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}ZK(c[e>>2]|0,0,0,1);c[j>>2]=_K(c[h>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function xJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;TK(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[g>>2]|0)+64+((c[h>>2]|0)*72|0);UK(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[g>>2]|0)+36+4>>2]|0))VK(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Tf(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;i=k;return}function yJ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=wJ(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;i=b;return a|0}function zJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=Uj((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Rf(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;i=e;return}function AJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;e=h+20|0;l=h+16|0;j=h+12|0;g=h+8|0;k=h+4|0;f=h;c[e>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[g>>2]=Uj(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}a=c[g>>2]|0;if((c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[f>>2]|0)b=(c[(c[f>>2]|0)+20>>2]|0)!=(c[g>>2]|0);else b=0;a=c[f>>2]|0;if(!b)break;c[f>>2]=c[a+20>>2]}if((a|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)==(c[g>>2]|0):0)c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2]}else c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];FH(c[e>>2]|0,c[g>>2]|0);l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}function BJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;f=j+24|0;m=j+20|0;k=j+16|0;g=j+12|0;l=j+8|0;e=j+4|0;h=j;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Uj(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){i=j;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=$B(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Qf(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=j;return}function CJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+240|0;s=t+16|0;r=t+8|0;v=t+124|0;j=t+120|0;k=t+116|0;u=t+112|0;l=t+108|0;m=t+104|0;p=t+32|0;o=t+24|0;q=t+20|0;n=t;c[v>>2]=b;c[j>>2]=e;c[k>>2]=f;c[u>>2]=g;c[l>>2]=h;c[o>>2]=c[(c[v>>2]|0)+4>>2];c[q>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2];mg(c[v>>2]|0);c[p>>2]=c[o>>2];c[p+4>>2]=c[c[o>>2]>>2];c[p+12>>2]=JF(c[p>>2]|0)|0;c[p+16>>2]=c[u>>2];c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p+32>>2]=0;c[p+36>>2]=0;c[p+8>>2]=0;c[p+68>>2]=0;dg(p+40|0,0,t+128|0,100,1e9);a[p+40+25>>0]=1;a:do if(c[p+12>>2]|0){c[p+8>>2]=kg((((c[p+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[p+8>>2]|0)){c[p+24>>2]=1;break}c[p+68>>2]=Yi(c[(c[o>>2]|0)+32>>2]|0)|0;if(!(c[p+68>>2]|0)){c[p+24>>2]=1;break}c[m>>2]=(((c[384]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0)KK(p,c[m>>2]|0);c[p+28>>2]=41095;v=gr((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;LK(p,1,v,gr((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[p+28>>2]=0;v=(c[(c[o>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-536870913;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[k>>2]|0)?(c[p+16>>2]|0)!=0:0))break;if(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)!=0?(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>1:0)MK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,1,0);NK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[m>>2]=(c[m>>2]|0)+1}c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]=c[q>>2];c[m>>2]=1;while(1){if(!((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0?(c[p+16>>2]|0)!=0:0))break a;do if(!(OK(p,c[m>>2]|0)|0)){v=VF(c[o>>2]|0,c[m>>2]|0)|0;if((v|0)==(c[m>>2]|0)?(a[(c[o>>2]|0)+17>>0]|0)!=0:0)break;c[r>>2]=c[m>>2];PK(p,41111,r)}while(0);if(((OK(p,c[m>>2]|0)|0)!=0?(v=VF(c[o>>2]|0,c[m>>2]|0)|0,(v|0)==(c[m>>2]|0)):0)?(d[(c[o>>2]|0)+17>>0]|0)!=0:0){c[s>>2]=c[m>>2];PK(p,41133,s)}c[m>>2]=(c[m>>2]|0)+1}}while(0);$i(c[p+68>>2]|0);Kd(c[p+8>>2]|0);if(c[p+24>>2]|0){xA(p+40|0);v=p+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[l>>2]>>2]=c[p+20>>2];if(c[p+20>>2]|0){v=p+40|0;v=fg(v)|0;i=t;return v|0}xA(p+40|0);v=p+40|0;v=fg(v)|0;i=t;return v|0}function DJ(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Xg(c[e>>2]|0);d=Vw(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+69>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=g;return}else{d=ku(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;d=JK(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=d;b[(c[e>>2]|0)+8>>1]=32;i=g;return}}function EJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l;j=l+12|0;k=l+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[j>>2]=HK(c[g>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}d=h;f=c[d+4>>2]|0;a=c[j>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;c[(c[j>>2]|0)+8>>2]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0){d=c[h+4>>2]|0;a=c[k>>2]|0;f=c[a+4>>2]|0;if((d|0)<(f|0)|((d|0)==(f|0)?(c[h>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)){a=(c[g>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[k>>2]|0)+8>>2]=c[j>>2]}else c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];i=l;return}function FJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;if(!((e[(c[g>>2]|0)+26>>1]|0)&2)){if(!((e[(c[g>>2]|0)+26>>1]|0)&1)){d=DK(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=d}d=(c[g>>2]|0)+26|0;b[d>>1]=e[d>>1]|0|3}if(!(c[(c[g>>2]|0)+8>>2]|0)){c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}k=c[(c[g>>2]|0)+8>>2]|0;a=c[k+4>>2]|0;d=c[h>>2]|0;c[d>>2]=c[k>>2];c[d+4>>2]=a;c[(c[g>>2]|0)+8>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[g>>2]|0)+8>>2]|0))oG(c[g>>2]|0);c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}function GJ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;h=s+32|0;j=s+28|0;p=s;q=s+24|0;r=s+20|0;m=s+16|0;k=s+12|0;l=s+8|0;c[h>>2]=a;c[j>>2]=d;a=p;c[a>>2]=f;c[a+4>>2]=g;if((c[j>>2]|0)!=(c[(c[h>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[q>>2]|0){c[m>>2]=(c[h>>2]|0)+20;if(!((e[(c[h>>2]|0)+26>>1]|0)&1))c[q>>2]=DK(c[q>>2]|0)|0;c[r>>2]=c[(c[h>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}FK(c[(c[r>>2]|0)+12>>2]|0,k,l);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=GK(c[k>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=EK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=HK(c[h>>2]|0)|0,c[r>>2]=n,c[c[m>>2]>>2]=n,(c[r>>2]|0)!=0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=EK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;n=(c[h>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[h>>2]|0)+28>>2]=c[j>>2]}c[r>>2]=c[(c[h>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;f=c[q>>2]|0;if((a|0)<(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[f+8>>2];continue}m=f;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;if(!((a|0)>(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;i=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function HJ(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}if((c[c[(c[e>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[e>>2]|0)+80|0,e=c[a+4>>2]|0,(e|0)>0|(e|0)==0&(c[a>>2]|0)>>>0>0):0){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}function IJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+64>>2]>>2];if(a[(c[e>>2]|0)+14>>0]|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}if(!(d[(c[e>>2]|0)+4>>0]|0))if((c[c[f>>2]>>2]|0)>=2)e=(c[(c[f>>2]|0)+52>>2]|0)!=0;else e=0;else e=1;c[g>>2]=e&1;g=c[g>>2]|0;i=h;return g|0}function JJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;if(!(c[(c[e>>2]|0)+216>>2]|0)){c[f>>2]=0;c[g>>2]=Gt(c[e>>2]|0,1)|0;if(!(c[g>>2]|0))c[g>>2]=Yr(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+220>>2]|0,0,f)|0;if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=yK(c[e>>2]|0)|0}if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+216>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=zK(c[e>>2]|0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=jr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[(c[e>>2]|0)+208>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;aj(c[e>>2]|0);if(!(c[g>>2]|0)){g=c[g>>2]|0;i=h;return g|0}if(a[(c[e>>2]|0)+4>>0]|0){g=c[g>>2]|0;i=h;return g|0}Fr(c[e>>2]|0,1)|0;g=c[g>>2]|0;i=h;return g|0}function KJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;g=l+8|0;h=l+16|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if((a[(c[f>>2]|0)+16>>0]|0)!=0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){or(c[(c[f>>2]|0)+68>>2]|0);if((d[(c[f>>2]|0)+18>>0]|0)>=2){xr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[j>>2]=0;c[k>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[k>>2]|0))c[j>>2]=rK(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[j>>2]=Gt(c[f>>2]|0,2)|0;if(!(c[j>>2]|0))xr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)==1){Fr(c[f>>2]|0,1)|0;break}if(c[k>>2]|0)break;kr(c[f>>2]|0);break}if((c[g>>2]|0)==2)or(c[(c[f>>2]|0)+68>>2]|0)}while(0);i=l;return d[(c[f>>2]|0)+5>>0]|0}function LJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+112|0;o=D+24|0;n=D+16|0;m=D+8|0;l=D;q=D+92|0;j=D+88|0;r=D+84|0;g=D+80|0;y=D+76|0;w=D+72|0;x=D+68|0;z=D+64|0;B=D+60|0;C=D+56|0;A=D+96|0;v=D+52|0;h=D+48|0;u=D+44|0;k=D+40|0;p=D+36|0;t=D+32|0;s=D+28|0;c[j>>2]=b;c[r>>2]=e;c[g>>2]=f;c[y>>2]=0;c[v>>2]=0;if(!(a[(c[r>>2]|0)+67>>0]|0)){Cj(c[j>>2]|0,c[r>>2]|0,40519);c[q>>2]=1;C=c[q>>2]|0;i=D;return C|0}if((c[(c[r>>2]|0)+156>>2]|0)>1){Cj(c[j>>2]|0,c[r>>2]|0,40559);c[q>>2]=1;C=c[q>>2]|0;i=D;return C|0}c[z>>2]=c[(c[r>>2]|0)+24>>2];c[B>>2]=c[(c[r>>2]|0)+88>>2];c[C>>2]=c[(c[r>>2]|0)+92>>2];a[A>>0]=a[(c[r>>2]|0)+76>>0]|0;b=(c[r>>2]|0)+24|0;c[b>>2]=c[b>>2]|270542848;b=(c[r>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655489;a[(c[r>>2]|0)+76>>0]=0;c[p>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[w>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];c[h>>2]=kK(Pf(c[w>>2]|0)|0)|0;c[k>>2]=c[(c[r>>2]|0)+20>>2];c[y>>2]=lK(c[r>>2]|0,c[j>>2]|0,40602)|0;a:do if(((c[y>>2]|0)==0?(c[v>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[k>>2]<<4),c[x>>2]=c[(c[v>>2]|0)+4>>2],Gj(c[x>>2]|0)|0,c[u>>2]=mK(c[w>>2]|0)|0,Ej(c[x>>2]|0,c[(c[(c[(c[r>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+80>>2]|0)|0,b=c[x>>2]|0,uC(b,uC(c[w>>2]|0,0)|0)|0,WB(c[x>>2]|0,33)|0,c[y>>2]=lK(c[r>>2]|0,c[j>>2]|0,37527)|0,(c[y>>2]|0)==0):0)?(c[y>>2]=pg(c[w>>2]|0,2)|0,(c[y>>2]|0)==0):0){if((tg(Pf(c[w>>2]|0)|0)|0)==5)c[(c[r>>2]|0)+80>>2]=0;f=c[x>>2]|0;b=sg(c[w>>2]|0)|0;do if(!(Ci(f,b,c[u>>2]|0,0)|0)){if((c[h>>2]|0)==0?(Ci(c[x>>2]|0,c[(c[r>>2]|0)+80>>2]|0,c[u>>2]|0,0)|0)!=0:0)break;if(!(d[(c[r>>2]|0)+69>>0]|0)){g=c[x>>2]|0;if((a[(c[r>>2]|0)+72>>0]|0)>=0)e=a[(c[r>>2]|0)+72>>0]|0;else e=rC(c[w>>2]|0)|0;tC(g,e)|0;a[(c[r>>2]|0)+148+4>>0]=c[k>>2];b=c[r>>2]|0;k=c[j>>2]|0;c[l>>2]=c[p>>2];c[y>>2]=nK(b,k,40623,l)|0;if(c[y>>2]|0)break a;k=c[r>>2]|0;l=c[j>>2]|0;c[m>>2]=c[p>>2];c[y>>2]=nK(k,l,40731,m)|0;if(c[y>>2]|0)break a;a[(c[r>>2]|0)+148+4>>0]=0;l=c[r>>2]|0;m=c[j>>2]|0;c[n>>2]=c[p>>2];c[y>>2]=nK(l,m,40804,n)|0;n=(c[r>>2]|0)+24|0;c[n>>2]=c[n>>2]&-268435457;if(c[y>>2]|0)break a;m=c[r>>2]|0;n=c[j>>2]|0;c[o>>2]=c[p>>2];c[y>>2]=nK(m,n,40955,o)|0;if(c[y>>2]|0)break a;c[s>>2]=0;while(1){g=c[w>>2]|0;if((c[s>>2]|0)>=10)break;rg(g,d[41085+(c[s>>2]|0)>>0]|0,t);c[y>>2]=Bg(c[x>>2]|0,d[41085+(c[s>>2]|0)>>0]|0,(c[t>>2]|0)+(d[41085+((c[s>>2]|0)+1)>>0]|0)|0)|0;if(c[y>>2]|0)break a;c[s>>2]=(c[s>>2]|0)+2}c[y>>2]=oK(g,c[x>>2]|0)|0;if(c[y>>2]|0)break a;c[y>>2]=Gj(c[x>>2]|0)|0;if(c[y>>2]|0)break a;t=c[w>>2]|0;tC(t,rC(c[x>>2]|0)|0)|0;t=c[w>>2]|0;x=sg(c[x>>2]|0)|0;c[y>>2]=Ci(t,x,c[u>>2]|0,1)|0;break a}}while(0);c[y>>2]=7}while(0);a[(c[r>>2]|0)+148+4>>0]=0;c[(c[r>>2]|0)+24>>2]=c[z>>2];c[(c[r>>2]|0)+88>>2]=c[B>>2];c[(c[r>>2]|0)+92>>2]=c[C>>2];a[(c[r>>2]|0)+76>>0]=a[A>>0]|0;Ci(c[w>>2]|0,-1,-1,1)|0;a[(c[r>>2]|0)+67>>0]=1;if(c[v>>2]|0){LB(c[(c[v>>2]|0)+4>>2]|0)|0;c[(c[v>>2]|0)+4>>2]=0;c[(c[v>>2]|0)+12>>2]=0}Cg(c[r>>2]|0);c[q>>2]=c[y>>2];C=c[q>>2]|0;i=D;return C|0}function MJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;d=j;c[k>>2]=b;c[g>>2]=c[(c[k>>2]|0)+4>>2];mg(c[k>>2]|0);if(!(a[(c[g>>2]|0)+17>>0]|0)){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[f>>2]=JF(c[g>>2]|0)|0;c[e>>2]=gr((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[d>>2]=ZJ(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0){c[h>>2]=Qj(61866)|0;k=c[h>>2]|0;i=j;return k|0}if((c[e>>2]|0)>>>0<=0){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[h>>2]=XH(c[g>>2]|0,0,0)|0;if(!(c[h>>2]|0)){_J(c[g>>2]|0);c[h>>2]=$J(c[g>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0}if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=Gg(c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0)|0;ft((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[g>>2]|0)+44>>2]|0);k=c[h>>2]|0;i=j;return k|0}function NJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+8|0;h=m+4|0;j=m+13|0;l=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[l>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){l=c[l>>2]|0;i=m;return l|0}a[k>>0]=1+(d[j>>0]|0);mg(c[g>>2]|0);c[l>>2]=WH(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=YJ(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}function OJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;e=m+20|0;f=m+16|0;k=m+12|0;j=m+8|0;g=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if((c[(c[e>>2]|0)+316>>2]|0)>0?(c[(c[e>>2]|0)+340>>2]|0)==0:0){c[d>>2]=6;l=c[d>>2]|0;i=m;return l|0}if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[j>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0))break;if((c[(c[(c[e>>2]|0)+340>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[f>>2]|0)){l=10;break}c[g>>2]=(c[g>>2]|0)+1}if((l|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[k>>2]=WJ(c[e>>2]|0)|0;if((((c[k>>2]|0)==0?(c[k>>2]=Tb[c[(c[j>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[k>>2]|0)==0):0)?(c[h>>2]=(c[(c[e>>2]|0)+436>>2]|0)+(c[(c[e>>2]|0)+432>>2]|0),XJ(c[e>>2]|0,c[f>>2]|0),(c[h>>2]|0)!=0):0)?(c[(c[j>>2]|0)+80>>2]|0)!=0:0){c[(c[f>>2]|0)+20>>2]=c[h>>2];c[k>>2]=Yb[c[(c[j>>2]|0)+80>>2]&255](c[(c[f>>2]|0)+8>>2]|0,(c[h>>2]|0)-1|0)|0}}c[d>>2]=c[k>>2];l=c[d>>2]|0;i=m;return l|0}function PJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;l=n;f=n+32|0;o=n+28|0;p=n+24|0;g=n+20|0;k=n+16|0;j=n+12|0;h=n+8|0;m=n+4|0;c[f>>2]=a;c[o>>2]=b;c[p>>2]=d;c[g>>2]=e;c[k>>2]=0;c[j>>2]=ti(c[f>>2]|0,c[p>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[m>>2]=c[c[(c[j>>2]|0)+52>>2]>>2];c[h>>2]=sj((c[f>>2]|0)+320|0,c[m>>2]|0)|0;if(((c[h>>2]|0)!=0?(c[(c[c[h>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[h>>2]>>2]|0)+20>>2]|0)!=0:0)c[k>>2]=Jz(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+4>>2]|0,c[g>>2]|0)|0;else{p=c[f>>2]|0;c[l>>2]=c[m>>2];p=Gh(p,30631,l)|0;c[c[g>>2]>>2]=p;c[k>>2]=1}if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}if(!(Ux(c[f>>2]|0,c[j>>2]|0)|0)){p=c[k>>2]|0;i=n;return p|0}c[k>>2]=WJ(c[f>>2]|0)|0;if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}p=c[f>>2]|0;XJ(p,Ux(c[f>>2]|0,c[j>>2]|0)|0);p=c[k>>2]|0;i=n;return p|0}function QJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;m=l+20|0;n=l+16|0;j=l+12|0;h=l+8|0;g=l+4|0;k=l;c[f>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=0;c[h>>2]=ti(c[f>>2]|0,c[n>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+56>>2]|0)!=0:0){c[g>>2]=c[(c[h>>2]|0)+56>>2];while(1){if(!(c[g>>2]|0)){a=8;break}if((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[g>>2]=c[(c[g>>2]|0)+24>>2]}if((a|0)==6){c[e>>2]=6;n=c[e>>2]|0;i=l;return n|0}else if((a|0)==8){c[g>>2]=VJ(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=c[(c[c[(c[g>>2]|0)+4>>2]>>2]|0)+20>>2];c[j>>2]=Tb[c[k>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;if(c[j>>2]|0)break;c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+56>>2]=0;su(c[g>>2]|0);break}}while(0);c[e>>2]=c[j>>2];n=c[e>>2]|0;i=l;return n|0}function RJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;mg(c[g>>2]|0);c[d>>2]=UJ(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function SJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==3082){i=f;return}c[e>>2]=c[e>>2]&255;if(!((c[e>>2]|0)==14|(c[e>>2]|0)==10)){i=f;return}b=TJ(c[c[d>>2]>>2]|0)|0;c[(c[d>>2]|0)+60>>2]=b;i=f;return}function TJ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+68>>2]|0)){a=0;i=d;return a|0}a=Ob[c[(c[b>>2]|0)+68>>2]&255](c[b>>2]|0,0,0)|0;i=d;return a|0}function UJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];i=f;return c[(c[d>>2]|0)+164>>2]|0}function VJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[j>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[j>>2]|0))break;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+24>>2];if((c[f>>2]|0)==(c[d>>2]|0)){c[h>>2]=c[j>>2];c[(c[e>>2]|0)+56>>2]=c[h>>2];c[(c[h>>2]|0)+24>>2]=0}else{c[(c[j>>2]|0)+24>>2]=c[(c[f>>2]|0)+344>>2];c[(c[f>>2]|0)+344>>2]=c[j>>2]}c[j>>2]=c[g>>2]}i=k;return c[h>>2]|0}function WJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+316>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+316>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=Uw(c[d>>2]|0,c[(c[d>>2]|0)+340>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+316>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+340>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function XJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[e>>2]|0;g=(c[f>>2]|0)+316|0;b=c[g>>2]|0;c[g>>2]=b+1;c[(c[(c[f>>2]|0)+340>>2]|0)+(b<<2)>>2]=a;hI(c[e>>2]|0);i=d;return}function YJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+20|0;h=p+16|0;j=p+12|0;k=p+24|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0)?(c[c[m>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((o|0)==5)c[n>>2]=c[m>>2];do if(!(c[n>>2]|0)){c[n>>2]=kg(16,0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+4>>2]=c[j>>2];c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=c[n>>2];break}c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}while(0);if((d[k>>0]|0|0)>(d[(c[n>>2]|0)+8>>0]|0|0))a[(c[n>>2]|0)+8>>0]=a[k>>0]|0;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function ZJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;e=g+20|0;h=g+16|0;k=g+12|0;l=g+8|0;j=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(VF(c[e>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){l=VF(c[e>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return d|0}function _J(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}i=f;return}function $J(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;h=z+52|0;j=z+48|0;k=z+44|0;l=z+40|0;m=z+36|0;t=z+32|0;x=z+28|0;o=z+57|0;s=z+24|0;p=z+20|0;u=z+16|0;q=z+12|0;w=z+8|0;n=z+56|0;r=z+4|0;v=z;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b=VF(c[j>>2]|0,c[l>>2]|0)|0;do if((b|0)!=(c[l>>2]|0)?(c[l>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[t>>2]=gr((c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[t>>2]|0)){c[h>>2]=101;y=c[h>>2]|0;i=z;return y|0}c[x>>2]=WF(c[j>>2]|0,c[l>>2]|0,o,s)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==1){c[h>>2]=Qj(61751)|0;y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==2){if(c[m>>2]|0)break;c[x>>2]=aK(c[j>>2]|0,u,p,c[l>>2]|0,1)|0;if(!(c[x>>2]|0)){QB(c[u>>2]|0);break}c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}a[n>>0]=0;c[r>>2]=0;c[x>>2]=XF(c[j>>2]|0,c[l>>2]|0,w,0)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if(!(c[m>>2]|0)){a[n>>0]=2;c[r>>2]=c[k>>2]}do{c[x>>2]=aK(c[j>>2]|0,v,q,c[r>>2]|0,a[n>>0]|0)|0;if(c[x>>2]|0){y=19;break}QB(c[v>>2]|0);if(!(c[m>>2]|0))break}while((c[q>>2]|0)>>>0>(c[k>>2]|0)>>>0);if((y|0)==19){QB(c[w>>2]|0);c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}c[x>>2]=bK(c[j>>2]|0,c[w>>2]|0,a[o>>0]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;QB(c[w>>2]|0);if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}}while(0);if(!(c[m>>2]|0)){while(1){c[l>>2]=(c[l>>2]|0)+-1;if((c[l>>2]|0)==((((c[384]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=VF(c[j>>2]|0,c[l>>2]|0)|0;if((y|0)!=(c[l>>2]|0))break}a[(c[j>>2]|0)+19>>0]=1;c[(c[j>>2]|0)+44>>2]=c[l>>2]}c[h>>2]=0;y=c[h>>2]|0;i=z;return y|0}function aK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;H=L+96|0;m=L+92|0;n=L+88|0;o=L+84|0;p=L+80|0;q=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;k=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;r=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;j=L+4|0;l=L;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[J>>2]=0;c[I>>2]=0;c[F>>2]=c[(c[m>>2]|0)+12>>2];c[A>>2]=JF(c[m>>2]|0)|0;c[B>>2]=gr((c[(c[F>>2]|0)+56>>2]|0)+36|0)|0;if((c[B>>2]|0)>>>0>=(c[A>>2]|0)>>>0){c[H>>2]=Qj(63793)|0;K=c[H>>2]|0;i=L;return K|0}a:do if((c[B>>2]|0)>>>0>0){a[G>>0]=0;c[C>>2]=0;do if((d[q>>0]|0)==1){if((c[p>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[K>>2]=WF(c[m>>2]|0,c[p>>2]|0,k,0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{if((d[k>>0]|0)!=2)break;a[G>>0]=1;break}}}else if((d[q>>0]|0)==2)a[G>>0]=1;while(0);c[K>>2]=Gg(c[(c[F>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}ft((c[(c[F>>2]|0)+56>>2]|0)+36|0,(c[B>>2]|0)-1|0);b:while(1){c[I>>2]=c[J>>2];if(c[I>>2]|0)c[y>>2]=gr(c[(c[I>>2]|0)+56>>2]|0)|0;else c[y>>2]=gr((c[(c[F>>2]|0)+56>>2]|0)+32|0)|0;if((c[y>>2]|0)>>>0<=(c[A>>2]|0)>>>0?(e=c[C>>2]|0,c[C>>2]=e+1,e>>>0<=(c[B>>2]|0)>>>0):0)c[K>>2]=iK(c[m>>2]|0,c[y>>2]|0,J,0)|0;else c[K>>2]=Qj(63849)|0;if(c[K>>2]|0){j=23;break}c[z>>2]=gr((c[(c[J>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[z>>2]|0)!=0|(a[G>>0]|0)!=0){if((c[z>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){j=28;break b}do if(d[G>>0]|0){if((c[p>>2]|0)!=(c[y>>2]|0)){if((c[y>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[y>>2];c[c[n>>2]>>2]=c[J>>2];a[G>>0]=0;c[K>>2]=Gg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;do if(!(c[z>>2]|0)){if(!(c[I>>2]|0)){e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;break}c[K>>2]=Gg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;e=c[(c[I>>2]|0)+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}else{c[w>>2]=gr((c[(c[J>>2]|0)+56>>2]|0)+8|0)|0;if((c[w>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=40;break b}c[K>>2]=iK(c[m>>2]|0,c[w>>2]|0,E,0)|0;if(c[K>>2]|0)break a;c[K>>2]=Gg(c[(c[E>>2]|0)+72>>2]|0)|0;h=c[E>>2]|0;if(c[K>>2]|0){j=43;break b}e=c[h+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;ft((c[(c[E>>2]|0)+56>>2]|0)+4|0,(c[z>>2]|0)-1|0);TR((c[(c[E>>2]|0)+56>>2]|0)+8|0,(c[(c[J>>2]|0)+56>>2]|0)+12|0,(c[z>>2]|0)-1<<2|0)|0;QB(c[E>>2]|0);if(!(c[I>>2]|0)){ft((c[(c[F>>2]|0)+56>>2]|0)+32|0,c[w>>2]|0);break}c[K>>2]=Gg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;ft(c[(c[I>>2]|0)+56>>2]|0,c[w>>2]|0)}while(0);c[J>>2]=0;break c}while(0);if((c[z>>2]|0)>>>0>0){c[r>>2]=c[(c[J>>2]|0)+56>>2];e=(c[p>>2]|0)>>>0>0;c[s>>2]=0;d:do if(e)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;c[x>>2]=gr((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;j=c[v>>2]|0;if((c[x>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[v>>2]=j+1}c[s>>2]=j;break}else{e=gr((c[r>>2]|0)+8|0)|0;c[u>>2]=Dj(e-(c[p>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;e=gr((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[t>>2]=Dj(e-(c[p>>2]|0)|0)|0;if((c[t>>2]|0)<(c[u>>2]|0)){c[s>>2]=c[v>>2];c[u>>2]=c[t>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[x>>2]=gr((c[r>>2]|0)+(8+(c[s>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=63;break b}if((a[G>>0]|0)!=0?(c[x>>2]|0)!=(c[p>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[x>>2];c[K>>2]=Gg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;if((c[s>>2]|0)>>>0<((c[z>>2]|0)-1|0)>>>0){e=(c[r>>2]|0)+(8+(c[s>>2]<<2))|0;f=(c[r>>2]|0)+(4+(c[z>>2]<<2))|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}ft((c[r>>2]|0)+4|0,(c[z>>2]|0)-1|0);e=(jK(c[m>>2]|0,c[c[o>>2]>>2]|0)|0)!=0^1;c[D>>2]=e?1:0;c[K>>2]=iK(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[D>>2]|0)|0;do if(!(c[K>>2]|0)){c[K>>2]=Gg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;QB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0}while(0);a[G>>0]=0}}else{c[K>>2]=Gg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;c[c[o>>2]>>2]=c[y>>2];e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;c[c[n>>2]>>2]=c[J>>2];c[J>>2]=0}while(0);QB(c[I>>2]|0);c[I>>2]=0;if(!(a[G>>0]|0))break a}if((j|0)==23){c[J>>2]=0;break}else if((j|0)==28){c[K>>2]=Qj(63878)|0;break}else if((j|0)==40){c[K>>2]=Qj(63912)|0;break}else if((j|0)==43){QB(h);break}else if((j|0)==63){c[K>>2]=Qj(63977)|0;break}}else{c[j>>2]=0==(d[(c[m>>2]|0)+19>>0]|0)?1:0;c[K>>2]=Gg(c[(c[(c[m>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)==((((c[384]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if((d[(c[m>>2]|0)+17>>0]|0)!=0?(G=VF(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[m>>2]|0)+44>>2]|0)):0){c[l>>2]=0;c[K>>2]=iK(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0,l,c[j>>2]|0)|0;if(!(c[K>>2]|0)){c[K>>2]=Gg(c[(c[l>>2]|0)+72>>2]|0)|0;QB(c[l>>2]|0)}if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);ft((c[(c[(c[m>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[m>>2]|0)+44>>2]|0);c[c[o>>2]>>2]=c[(c[m>>2]|0)+44>>2];c[K>>2]=iK(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{c[K>>2]=Gg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;QB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;break}}while(0);QB(c[J>>2]|0);QB(c[I>>2]|0);c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}function bK(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;k=v+32|0;p=v+44|0;q=v+28|0;r=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;l=v;c[o>>2]=b;c[k>>2]=e;a[p>>0]=f;c[q>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[o>>2]>>2];c[u>>2]=cK(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[l>>2]=gr(c[(c[k>>2]|0)+56>>2]|0)|0;if((c[l>>2]|0)!=0?(eK(c[o>>2]|0,c[l>>2]|0,4,c[r>>2]|0,u),(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}}else m=5;if((m|0)==5?(c[u>>2]=dK(c[k>>2]|0)|0,(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}do if((d[p>>0]|0|0)!=1){c[u>>2]=XF(c[o>>2]|0,c[q>>2]|0,t,0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[u>>2]=Gg(c[(c[t>>2]|0)+72>>2]|0)|0;k=c[t>>2]|0;if(c[u>>2]|0){QB(k);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}else{c[u>>2]=fK(k,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;QB(c[t>>2]|0);if(c[u>>2]|0)break;eK(c[o>>2]|0,c[r>>2]|0,a[p>>0]|0,c[q>>2]|0,u);break}}while(0);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}function cK(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+36|0;m=u+32|0;n=u+28|0;o=u+24|0;k=u+20|0;s=u+16|0;p=u+12|0;t=u+8|0;q=u+4|0;r=u;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[k>>2]=j;c[p>>2]=0;if((a[(c[m>>2]|0)+13>>0]|0)!=0?(c[t>>2]=Gg(c[n>>2]|0)|0,(c[t>>2]|0)!=0):0){c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}if((e[(c[n>>2]|0)+24>>1]&2|0)!=0?(h=wt(c[n>>2]|0)|0,c[t>>2]=h,0!=(h|0)):0){c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}if(!((c[k>>2]|0)!=0?1:(e[(c[n>>2]|0)+24>>1]&8|0)==0))c[p>>2]=c[(c[n>>2]|0)+20>>2];h=(c[n>>2]|0)+24|0;b[h>>1]=e[h>>1]&-9;c[s>>2]=hs(c[m>>2]|0,c[o>>2]|0)|0;do if(c[s>>2]|0){k=(c[n>>2]|0)+24|0;b[k>>1]=e[k>>1]|e[(c[s>>2]|0)+24>>1]&8;k=c[s>>2]|0;if(a[(c[m>>2]|0)+13>>0]|0){hK(k,(c[(c[m>>2]|0)+28>>2]|0)+1|0);break}else{Gs(k);break}}while(0);c[q>>2]=c[(c[n>>2]|0)+20>>2];hK(c[n>>2]|0,c[o>>2]|0);js(c[n>>2]|0);if((c[s>>2]|0)!=0?(d[(c[m>>2]|0)+13>>0]|0)!=0:0){hK(c[s>>2]|0,c[q>>2]|0);Js(c[s>>2]|0)}do if(c[p>>2]|0){c[t>>2]=vg(c[m>>2]|0,c[p>>2]|0,r,0)|0;if(!(c[t>>2]|0)){t=(c[r>>2]|0)+24|0;b[t>>1]=e[t>>1]|8;js(c[r>>2]|0);Js(c[r>>2]|0);break}if((c[p>>2]|0)>>>0<=(c[(c[m>>2]|0)+32>>2]|0)>>>0)mj(c[(c[m>>2]|0)+60>>2]|0,c[p>>2]|0,c[(c[m>>2]|0)+208>>2]|0);c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}while(0);c[l>>2]=0;t=c[l>>2]|0;i=u;return t|0}function dK(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;j=q+28|0;l=q+24|0;p=q+20|0;m=q+16|0;k=q+36|0;o=q+12|0;n=q+8|0;g=q+4|0;h=q;c[f>>2]=b;c[m>>2]=c[(c[f>>2]|0)+52>>2];a[k>>0]=a[c[f>>2]>>0]|0;c[o>>2]=c[(c[f>>2]|0)+84>>2];c[p>>2]=Wt(c[f>>2]|0)|0;if(c[p>>2]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=e[(c[f>>2]|0)+18>>1];c[j>>2]=0;while(1){b=c[f>>2]|0;if((c[j>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]));gK(c[f>>2]|0,c[n>>2]|0,p);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[g>>2]=gr(c[n>>2]|0)|0;eK(c[m>>2]|0,c[g>>2]|0,5,c[o>>2]|0,p)}c[j>>2]=(c[j>>2]|0)+1}if(a[b+4>>0]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[h>>2]=gr((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;eK(c[m>>2]|0,c[h>>2]|0,5,c[o>>2]|0,p);n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}function eK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+32|0;k=t+28|0;l=t+36|0;m=t+24|0;n=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;s=t;c[j>>2]=b;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;c[n>>2]=h;if(c[c[n>>2]>>2]|0){i=t;return}if(!(c[k>>2]|0)){s=Qj(59184)|0;c[c[n>>2]>>2]=s;i=t;return}c[o>>2]=VF(c[j>>2]|0,c[k>>2]|0)|0;c[s>>2]=vg(c[c[j>>2]>>2]|0,c[o>>2]|0,q,0)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}c[p>>2]=((c[k>>2]|0)-(c[o>>2]|0)-1|0)*5;do if((c[p>>2]|0)>=0){c[r>>2]=wg(c[q>>2]|0)|0;if((d[l>>0]|0|0)==(d[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0|0)?(g=gr((c[r>>2]|0)+((c[p>>2]|0)+1)|0)|0,(g|0)==(c[m>>2]|0)):0)break;g=Gg(c[q>>2]|0)|0;c[s>>2]=g;c[c[n>>2]>>2]=g;if(!(c[s>>2]|0)){a[(c[r>>2]|0)+(c[p>>2]|0)>>0]=a[l>>0]|0;ft((c[r>>2]|0)+((c[p>>2]|0)+1)|0,c[m>>2]|0)}}else{s=Qj(59195)|0;c[c[n>>2]>>2]=s}while(0);yg(c[q>>2]|0);i=t;return}function fK(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;j=v+52|0;k=v+48|0;l=v+44|0;m=v+40|0;n=v+57|0;q=v+56|0;o=v+36|0;r=v+32|0;t=v+28|0;s=v+24|0;p=v;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;h=c[k>>2]|0;do if((d[n>>0]|0|0)==4){u=gr(c[h+56>>2]|0)|0;if((u|0)==(c[l>>2]|0)){ft(c[(c[k>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[j>>2]=Qj(61581)|0;u=c[j>>2]|0;i=v;return u|0}else{a[q>>0]=a[h>>0]|0;c[t>>2]=Wt(c[k>>2]|0)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}c[r>>2]=e[(c[k>>2]|0)+18>>1];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[s>>2]=(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]|0)));if((d[n>>0]|0|0)==3){Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,c[s>>2]|0,p);if(((e[p+16>>1]|0)>>>0<(c[p+12>>2]|0)>>>0?((c[s>>2]|0)+(e[p+18>>1]|0)+-1|0)>>>0<=((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=c[l>>2]|0,(t|0)==(gr((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=gr(c[s>>2]|0)|0;if((t|0)==(c[l>>2]|0)){u=15;break}}c[o>>2]=(c[o>>2]|0)+1}if((u|0)==13)ft((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0,c[m>>2]|0);else if((u|0)==15)ft(c[s>>2]|0,c[m>>2]|0);do if((c[o>>2]|0)==(c[r>>2]|0)){if((d[n>>0]|0|0)==5?(u=gr((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[l>>2]|0)):0){ft((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[m>>2]|0);break}c[j>>2]=Qj(61617)|0;u=c[j>>2]|0;i=v;return u|0}while(0);a[c[k>>2]>>0]=a[q>>0]|0}while(0);c[j>>2]=0;u=c[j>>2]|0;i=v;return u|0}function gK(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+36|0;g=l+32|0;h=l+28|0;j=l;k=l+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){i=l;return}Ub[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,j);if((e[j+16>>1]|0)>>>0>=(c[j+12>>2]|0)>>>0){i=l;return}c[k>>2]=gr((c[g>>2]|0)+((e[j+18>>1]|0)-4)|0)|0;eK(c[(c[f>>2]|0)+52>>2]|0,c[k>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);i=l;return}function hK(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];_b[c[152>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){i=f;return}hj(c[d>>2]|0,3);i=f;return}function iK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=XF(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;do if(!(c[j>>2]|0)){n=(Vt(c[(c[f>>2]|0)+72>>2]|0)|0)>1;f=c[c[h>>2]>>2]|0;if(!n){a[f>>0]=0;break}QB(f);c[c[h>>2]>>2]=0;c[g>>2]=Qj(60316)|0;n=c[g>>2]|0;i=k;return n|0}else c[f>>2]=0;while(0);c[g>>2]=c[j>>2];n=c[g>>2]|0;i=k;return n|0}function jK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=f;return g|0}g=c[d>>2]|0;if(g>>>0>(oj(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=f;return g|0}g=(nj(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;i=f;return g|0}function kK(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+13>>0]|0|0}function lK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+24|0;f=l+20|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[m>>2]=d;c[j>>2]=af(c[f>>2]|0,c[m>>2]|0,-1,h,0)|0;if(c[j>>2]|0){c[e>>2]=c[j>>2];m=c[e>>2]|0;i=l;return m|0}while(1){m=te(c[h>>2]|0)|0;c[j>>2]=m;if(100!=(m|0))break;c[k>>2]=Ee(c[h>>2]|0,0)|0;if(!(c[k>>2]|0))continue;c[j>>2]=lK(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0)|0;if(c[j>>2]|0)break}if((c[j>>2]|0)==101)c[j>>2]=0;if(c[j>>2]|0){k=c[g>>2]|0;m=c[f>>2]|0;Cj(k,m,bf(c[f>>2]|0)|0)}Xd(c[h>>2]|0)|0;c[e>>2]=c[j>>2];m=c[e>>2]|0;i=l;return m|0}function mK(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=qK(c[e>>2]|0)|0;i=d;return c[b>>2]|0}function nK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;f=l+40|0;g=l+36|0;h=l+32|0;n=l+28|0;k=l+24|0;m=l+8|0;j=l;c[g>>2]=a;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;c[k>>2]=ox(c[g>>2]|0,c[n>>2]|0,m)|0;if(!(c[k>>2]|0)){c[f>>2]=7;n=c[f>>2]|0;i=l;return n|0}else{c[j>>2]=lK(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;Tf(c[g>>2]|0,c[k>>2]|0);c[f>>2]=c[j>>2];n=c[f>>2]|0;i=l;return n|0}return 0}function oK(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+80|0;h=m+68|0;j=m+64|0;l=m+60|0;g=m+56|0;k=m+8|0;f=m;c[h>>2]=a;c[j>>2]=d;mg(c[h>>2]|0);mg(c[j>>2]|0);c[g>>2]=Eg(Pf(c[h>>2]|0)|0)|0;if((c[c[g>>2]>>2]|0)!=0?(d=sg(c[j>>2]|0)|0,d=aS(d|0,((d|0)<0)<<31>>31|0,ug(c[j>>2]|0)|0,0)|0,a=f,c[a>>2]=d,c[a+4>>2]=C,a=Ai(c[g>>2]|0,11,f)|0,c[l>>2]=a,c[l>>2]=(c[l>>2]|0)==12?0:a,(c[l>>2]|0)!=0):0){l=c[l>>2]|0;i=m;return l|0}f=k;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[k+20>>2]=c[c[j>>2]>>2];c[k+24>>2]=c[j>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Vd(k,2147483647)|0;c[l>>2]=Wd(k)|0;if(!(c[l>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;l=c[l>>2]|0;i=m;return l|0}else{pK(Pf(c[k+4>>2]|0)|0);l=c[l>>2]|0;i=m;return l|0}return 0}function pK(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+13>>0]|0){i=e;return}Zi(c[b>>2]|0);i=e;return}function qK(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function rK(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p+28|0;o=p+24|0;f=p+20|0;j=p+16|0;e=p+12|0;h=p+8|0;g=p+4|0;k=p;m=p+32|0;c[n>>2]=b;c[o>>2]=0;do if((Br(c[n>>2]|0)|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0){c[f>>2]=1;c[o>>2]=Ft(c[n>>2]|0,1)|0;if(!(c[o>>2]|0)){if((d[(c[n>>2]|0)+18>>0]|0)<=1)c[o>>2]=sK(c[n>>2]|0,f)|0;if(!(c[o>>2]|0)){if(c[f>>2]|0){if(a[(c[n>>2]|0)+15>>0]|0){c[o>>2]=776;break}c[o>>2]=Gt(c[n>>2]|0,4)|0;if(c[o>>2]|0)break;if((((c[c[(c[n>>2]|0)+68>>2]>>2]|0)==0?(c[j>>2]=c[c[n>>2]>>2],c[o>>2]=Yr(c[j>>2]|0,c[(c[n>>2]|0)+180>>2]|0,0,e)|0,(c[o>>2]|0)==0&(c[e>>2]|0)!=0):0)?(c[h>>2]=0,c[g>>2]=2050,c[o>>2]=Ur(c[j>>2]|0,c[(c[n>>2]|0)+180>>2]|0,c[(c[n>>2]|0)+68>>2]|0,c[g>>2]|0,h)|0,(c[o>>2]|0)==0):0)?(c[h>>2]&1|0)!=0:0){c[o>>2]=ot(51483)|0;or(c[(c[n>>2]|0)+68>>2]|0)}e=c[n>>2]|0;if(c[c[(c[n>>2]|0)+68>>2]>>2]|0){c[o>>2]=lr(e)|0;if(!(c[o>>2]|0)){c[o>>2]=Wr(c[n>>2]|0,((a[(c[n>>2]|0)+13>>0]|0)!=0^1)&1)|0;a[(c[n>>2]|0)+17>>0]=0}}else if(!(a[e+4>>0]|0))Fr(c[n>>2]|0,1)|0;if(c[o>>2]|0){mr(c[n>>2]|0,c[o>>2]|0)|0;break}}if((a[(c[n>>2]|0)+13>>0]|0)==0?(d[(c[n>>2]|0)+24>>0]|0)!=0:0){c[k>>2]=0;c[o>>2]=tK(c[n>>2]|0,k)|0;if(c[o>>2]|0)break;if((c[k>>2]|0)>>>0>0){c[o>>2]=es(c[(c[n>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[o>>2]|0)!=0&(c[o>>2]|0)!=522)break}else{e=m;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}if(eR((c[n>>2]|0)+112|0,m,16)|0)Zi(c[n>>2]|0)}c[o>>2]=uK(c[n>>2]|0)|0;l=32}}}else l=32;while(0);if((l|0)==32){if(Br(c[n>>2]|0)|0)c[o>>2]=vK(c[n>>2]|0)|0;if((d[(c[n>>2]|0)+13>>0]|0)==0?((c[o>>2]|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0):0)c[o>>2]=tK(c[n>>2]|0,(c[n>>2]|0)+28|0)|0}e=c[n>>2]|0;if(c[o>>2]|0){kr(e);o=c[o>>2]|0;i=p;return o|0}else{a[e+17>>0]=1;a[(c[n>>2]|0)+24>>0]=1;o=c[o>>2]|0;i=p;return o|0}return 0}function sK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;o=q+24|0;p=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;j=q;k=q+36|0;c[f>>2]=b;c[g>>2]=e;c[o>>2]=c[c[f>>2]>>2];c[p>>2]=0;c[h>>2]=1;c[l>>2]=((c[c[(c[f>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[g>>2]>>2]=0;if(!(c[l>>2]|0))c[p>>2]=Yr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0,h)|0;if(!((c[p>>2]|0)==0&(c[h>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[m>>2]=0;c[p>>2]=CK(c[(c[f>>2]|0)+64>>2]|0,m)|0;if((c[p>>2]|0)!=0|(c[m>>2]|0)!=0){p=c[p>>2]|0;i=q;return p|0}c[p>>2]=tK(c[f>>2]|0,n)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!((c[n>>2]|0)!=0|(c[l>>2]|0)!=0)){Yj();if((Gt(c[f>>2]|0,2)|0)==0?(xr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0,(a[(c[f>>2]|0)+4>>0]|0)==0):0)Fr(c[f>>2]|0,1)|0;Zj();p=c[p>>2]|0;i=q;return p|0}if(!(c[l>>2]|0)){c[j>>2]=2049;c[p>>2]=Ur(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,j)|0}if(!(c[p>>2]|0)){a[k>>0]=0;o=es(c[(c[f>>2]|0)+68>>2]|0,k,1,0,0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)==522?0:o;if(!(c[l>>2]|0))or(c[(c[f>>2]|0)+68>>2]|0);c[c[g>>2]>>2]=(d[k>>0]|0)!=0&1;p=c[p>>2]|0;i=q;return p|0}else{if((c[p>>2]|0)!=14){p=c[p>>2]|0;i=q;return p|0}c[c[g>>2]>>2]=1;c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function tK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+24|0;e=k+20|0;f=k+16|0;h=k+12|0;g=k;j=k+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=BK(c[(c[e>>2]|0)+216>>2]|0)|0;do if((c[h>>2]|0)==0?(c[c[(c[e>>2]|0)+64>>2]>>2]|0)!=0:0){b=g;c[b>>2]=0;c[b+4>>2]=0;c[j>>2]=Xi(c[(c[e>>2]|0)+64>>2]|0,g)|0;if(!(c[j>>2]|0)){j=g;b=c[(c[e>>2]|0)+160>>2]|0;b=RR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=QR(b|0,C|0,1,0)|0;j=c[(c[e>>2]|0)+160>>2]|0;j=_R(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[h>>2]=j;break}c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}while(0);if((c[h>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[h>>2];c[c[f>>2]>>2]=c[h>>2];c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function uK(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l+4|0;f=l;c[h>>2]=b;c[k>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[k>>2]=tK(c[h>>2]|0,f)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=xr(b,e,0)|0;c[k>>2]=f;c[k>>2]=(c[k>>2]|0)==5898?0:f;c[j>>2]=0}else c[k>>2]=Yr(b,e,0,j)|0;if(!(c[k>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[k>>2]=xK(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}function vK(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Qs(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=wK(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=e;return f|0}Zi(c[b>>2]|0);f=c[d>>2]|0;i=e;return f|0}function wK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do{j=c[d>>2]|0;b=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[g>>2]=Nt(j,b,0,a)|0}while((c[g>>2]|0)==-1);i=h;return c[g>>2]|0}function xK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if((a[(c[f>>2]|0)+13>>0]|0)==0?(c[(c[f>>2]|0)+216>>2]|0)==0:0)if(IJ(c[f>>2]|0)|0){or(c[(c[f>>2]|0)+68>>2]|0);c[h>>2]=yK(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;j=c[e>>2]|0;i=k;return j|0}else j=7;while(0);if((j|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function yK(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=zK(c[e>>2]|0)|0;if(c[f>>2]|0){b=c[e>>2]|0;aj(b);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=AK(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;b=c[e>>2]|0;aj(b);f=c[f>>2]|0;i=g;return f|0}function zK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Gt(c[b>>2]|0,4)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}Fr(c[b>>2]|0,1)|0;d=c[d>>2]|0;i=e;return d|0}function AK(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+44|0;m=w+40|0;n=w+36|0;o=w+32|0;p=w+28|0;q=w;r=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;f=q;c[f>>2]=h;c[f+4>>2]=j;c[r>>2]=k;c[c[r>>2]>>2]=0;c[u>>2]=kg(120+(c[(c[m>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[u>>2]|0)){c[l>>2]=7;f=c[l>>2]|0;i=w;return f|0}c[c[u>>2]>>2]=c[m>>2];c[(c[u>>2]|0)+8>>2]=(c[u>>2]|0)+120;c[(c[u>>2]|0)+4>>2]=c[n>>2];b[(c[u>>2]|0)+40>>1]=-1;d=q;k=c[d+4>>2]|0;f=(c[u>>2]|0)+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=k;c[(c[u>>2]|0)+108>>2]=c[o>>2];a[(c[u>>2]|0)+48>>0]=1;a[(c[u>>2]|0)+49>>0]=1;a[(c[u>>2]|0)+43>>0]=(c[p>>2]|0)!=0?2:0;c[s>>2]=524294;c[v>>2]=Ur(c[m>>2]|0,c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[s>>2]|0,s)|0;if((c[v>>2]|0)==0?(c[s>>2]&1|0)!=0:0)a[(c[u>>2]|0)+46>>0]=1;if(c[v>>2]|0){Vs(c[u>>2]|0,0);or(c[(c[u>>2]|0)+8>>2]|0);Kd(c[u>>2]|0)}else{c[t>>2]=bs(c[n>>2]|0)|0;if(c[t>>2]&1024)a[(c[u>>2]|0)+48>>0]=0;if(c[t>>2]&4096)a[(c[u>>2]|0)+49>>0]=0;c[c[r>>2]>>2]=c[u>>2]}c[l>>2]=c[v>>2];f=c[l>>2]|0;i=w;return f|0}function BK(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];a=c[d>>2]|0;i=f;return a|0}c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function CK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function DK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+176|0;d=g+168|0;f=g+164|0;b=g+160|0;e=g;c[d>>2]=a;VR(e|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if(!(c[e+(c[f>>2]<<2)>>2]|0))break;c[d>>2]=GK(c[e+(c[f>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[e+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}c[e+(c[f>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=c[e>>2];c[f>>2]=1;while(1){if((c[f>>2]|0)>>>0>=40)break;if(c[e+(c[f>>2]<<2)>>2]|0){if(c[d>>2]|0)a=GK(c[d>>2]|0,c[e+(c[f>>2]<<2)>>2]|0)|0;else a=c[e+(c[f>>2]<<2)>>2]|0;c[d>>2]=a}c[f>>2]=(c[f>>2]|0)+1}i=g;return c[d>>2]|0}function EK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=IK(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}i=g;return a|0}function FK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;h=j+4|0;f=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){FK(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){FK(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);i=j;return}else{c[c[h>>2]>>2]=a;i=j;return}}function GK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;k=c[a+4>>2]|0;b=c[e>>2]|0;j=c[b+4>>2]|0;if(!((k|0)<(j|0)|((k|0)==(j|0)?(c[a>>2]|0)>>>0<=(c[b>>2]|0)>>>0:0))){k=c[e>>2]|0;c[(c[g>>2]|0)+8>>2]=k;c[g>>2]=k;c[e>>2]=c[(c[e>>2]|0)+8>>2];if(!(c[e>>2]|0)){a=8;break}else continue}j=c[d>>2]|0;a=c[j+4>>2]|0;k=c[e>>2]|0;b=c[k+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){k=c[d>>2]|0;c[(c[g>>2]|0)+8>>2]=k;c[g>>2]=k}c[d>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[d>>2]|0)){a=6;break}}if((a|0)==6){c[(c[g>>2]|0)+8>>2]=c[e>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}else if((a|0)==8){c[(c[g>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}return 0}function HK(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=Vw(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}while(0);a=(c[f>>2]|0)+24|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;a=(c[f>>2]|0)+16|0;g=c[a>>2]|0;c[a>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;i=h;return g|0}function IK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}b=c[f>>2]|0;do if((c[g>>2]|0)>1){c[d>>2]=IK(b,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];b=c[d>>2]|0;if(c[h>>2]|0){c[(c[h>>2]|0)+12>>2]=b;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=IK(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;break}c[e>>2]=b;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=c[b>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0}while(0);c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}function JK(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function KK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function LK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;q=x+76|0;h=x+72|0;r=x+68|0;s=x+64|0;j=x+60|0;t=x+56|0;u=x+52|0;n=x+48|0;m=x+44|0;l=x+40|0;k=x+36|0;c[q>>2]=b;c[h>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=c[s>>2];c[u>>2]=c[r>>2];while(1){b=c[s>>2]|0;c[s>>2]=b+-1;if((b|0)<=0){g=25;break}if(!(c[(c[q>>2]|0)+16>>2]|0)){g=25;break}f=c[q>>2]|0;if((c[r>>2]|0)<1){g=5;break}if(QK(f,c[r>>2]|0)|0){g=25;break}if(vg(c[(c[q>>2]|0)+4>>2]|0,c[r>>2]|0,n,0)|0){g=8;break}c[m>>2]=wg(c[n>>2]|0)|0;do if(!(c[h>>2]|0)){if((c[s>>2]|0)>0?(d[(c[c[q>>2]>>2]|0)+17>>0]|0)!=0:0){c[j>>2]=gr(c[m>>2]|0)|0;MK(c[q>>2]|0,c[j>>2]|0,4,c[r>>2]|0)}}else{c[l>>2]=gr((c[m>>2]|0)+4|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)MK(c[q>>2]|0,c[r>>2]|0,2,0);if((c[l>>2]|0)>(((c[(c[c[q>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[q>>2]|0;c[p>>2]=c[r>>2];PK(b,41711,p);c[s>>2]=(c[s>>2]|0)+-1;break}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=gr((c[m>>2]|0)+(8+(c[j>>2]<<2))|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)MK(c[q>>2]|0,c[k>>2]|0,2,0);QK(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[s>>2]=(c[s>>2]|0)-(c[l>>2]|0)}while(0);c[r>>2]=gr(c[m>>2]|0)|0;yg(c[n>>2]|0);if(!(c[h>>2]|0))continue;if((c[s>>2]|0)>=((c[r>>2]|0)!=0|0))continue;PK(c[q>>2]|0,41750,o)}if((g|0)==5){t=c[t>>2]|0;w=c[u>>2]|0;c[v>>2]=(c[s>>2]|0)+1;c[v+4>>2]=t;c[v+8>>2]=w;PK(f,41632,v);i=x;return}else if((g|0)==8){v=c[q>>2]|0;c[w>>2]=c[r>>2];PK(v,41689,w);i=x;return}else if((g|0)==25){i=x;return}}function MK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;h=r+44|0;j=r+40|0;k=r+49|0;l=r+36|0;o=r+32|0;m=r+48|0;n=r+28|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=g;c[o>>2]=WF(c[c[h>>2]>>2]|0,c[j>>2]|0,m,n)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7|(c[o>>2]|0)==3082)c[(c[h>>2]|0)+24>>2]=1;q=c[h>>2]|0;c[p>>2]=c[j>>2];PK(q,41549,p);i=r;return}if((d[m>>0]|0|0)==(d[k>>0]|0|0)?(c[n>>2]|0)==(c[l>>2]|0):0){i=r;return}p=c[h>>2]|0;e=d[k>>0]|0;g=c[l>>2]|0;b=d[m>>0]|0;o=c[n>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=e;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=o;PK(p,41578,q);i=r;return}function NK(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;m=ca+40|0;l=ca+32|0;n=ca+240|0;o=ca+236|0;p=ca+232|0;q=ca+228|0;r=ca+24|0;K=ca+224|0;A=ca+220|0;k=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;g=r;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[w>>2]=-1;c[x>>2]=1;c[D>>2]=1;c[z>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[o>>2]|0)+28>>2];c[Q>>2]=c[(c[o>>2]|0)+32>>2];c[R>>2]=c[(c[o>>2]|0)+36>>2];a[P>>0]=0;c[H>>2]=c[c[o>>2]>>2];c[V>>2]=c[(c[H>>2]|0)+36>>2];if(!(c[p>>2]|0)){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}if(QK(c[o>>2]|0,c[p>>2]|0)|0){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}c[(c[o>>2]|0)+28>>2]=41169;c[(c[o>>2]|0)+32>>2]=c[p>>2];g=XF(c[H>>2]|0,c[p>>2]|0,K,0)|0;c[k>>2]=g;do if(!g){a[P>>0]=a[c[K>>2]>>0]|0;a[c[K>>2]>>0]=0;l=Wt(c[K>>2]|0)|0;c[k>>2]=l;if(l){ba=c[o>>2]|0;c[m>>2]=c[k>>2];PK(ba,41217,m);break}c[v>>2]=c[(c[K>>2]|0)+56>>2];c[y>>2]=d[(c[K>>2]|0)+5>>0];c[(c[o>>2]|0)+28>>2]=41255;c[t>>2]=((d[(c[v>>2]|0)+((c[y>>2]|0)+5)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+5)+1>>0])-1&65535)+1;c[E>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+3)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+3)+1>>0];c[s>>2]=(c[y>>2]|0)+12-(d[(c[K>>2]|0)+4>>0]<<2);c[J>>2]=(c[v>>2]|0)+((c[s>>2]|0)+((c[E>>2]|0)-1<<1));if(a[(c[K>>2]|0)+4>>0]|0){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0}else{c[M>>2]=gr((c[v>>2]|0)+((c[y>>2]|0)+8)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0){c[(c[o>>2]|0)+28>>2]=41281;MK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0)}m=r;c[w>>2]=NK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0}c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;if(!(c[(c[o>>2]|0)+16>>2]|0))break;c[(c[o>>2]|0)+36>>2]=c[A>>2];c[L>>2]=d[c[J>>2]>>0]<<8|d[(c[J>>2]|0)+1>>0];c[J>>2]=(c[J>>2]|0)+-2;do if((c[L>>2]|0)>>>0>=(c[t>>2]|0)>>>0?(c[L>>2]|0)>>>0<=((c[V>>2]|0)-4|0)>>>0:0){c[I>>2]=(c[v>>2]|0)+(c[L>>2]|0);Ub[c[(c[K>>2]|0)+80>>2]&255](c[K>>2]|0,c[I>>2]|0,B);if(((c[L>>2]|0)+(e[B+18>>1]|0)|0)>>>0>(c[V>>2]|0)>>>0){PK(c[o>>2]|0,41339,$);c[x>>2]=0;break}if(a[(c[K>>2]|0)+2>>0]|0){j=B;h=c[j>>2]|0;j=c[j+4>>2]|0;b=r;f=c[b>>2]|0;b=c[b+4>>2]|0;if(c[D>>2]|0){if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>f>>>0)ba=26}else if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>=f>>>0)ba=26;if((ba|0)==26){ba=0;m=c[o>>2]|0;g=B;k=c[g+4>>2]|0;l=W;c[l>>2]=c[g>>2];c[l+4>>2]=k;PK(m,41363,W)}k=B;l=c[k+4>>2]|0;m=r;c[m>>2]=c[k>>2];c[m+4>>2]=l}if((c[B+12>>2]|0)>>>0>(e[B+16>>1]|0)>>>0){c[G>>2]=(((c[B+12>>2]|0)-(e[B+16>>1]|0)+(c[V>>2]|0)-5|0)>>>0)/(((c[V>>2]|0)-4|0)>>>0)|0;c[N>>2]=gr((c[I>>2]|0)+((e[B+18>>1]|0)-4)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)MK(c[o>>2]|0,c[N>>2]|0,3,c[p>>2]|0);LK(c[o>>2]|0,0,c[N>>2]|0,c[G>>2]|0)}if(a[(c[K>>2]|0)+4>>0]|0){RK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(e[B+18>>1]|0)-1);break}c[M>>2]=gr(c[I>>2]|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)MK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0);m=r;c[u>>2]=NK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0;if((c[u>>2]|0)!=(c[w>>2]|0)){PK(c[o>>2]|0,41387,X);c[w>>2]=c[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[o>>2]|0;k=c[t>>2]|0;l=(c[V>>2]|0)-4|0;c[_>>2]=c[L>>2];c[_+4>>2]=k;c[_+8>>2]=l;PK(m,41309,_);c[x>>2]=0}c[A>>2]=(c[A>>2]|0)+-1}X=r;_=c[X+4>>2]|0;$=c[q>>2]|0;c[$>>2]=c[X>>2];c[$+4>>2]=_;c[(c[o>>2]|0)+28>>2]=0;if((c[x>>2]|0)!=0?(c[(c[o>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[K>>2]|0)+4>>0]|0)){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0;c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break a;c[L>>2]=d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))>>0]<<8|d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))+1>>0];c[T>>2]=(Yb[c[(c[K>>2]|0)+76>>2]&255](c[K>>2]|0,(c[v>>2]|0)+(c[L>>2]|0)|0)|0)&65535;RK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(c[T>>2]|0)-1);c[A>>2]=(c[A>>2]|0)+-1}}while(0);c[A>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+1)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+1)+1>>0];while(1){if((c[A>>2]|0)<=0)break;c[U>>2]=d[(c[v>>2]|0)+((c[A>>2]|0)+2)>>0]<<8|d[(c[v>>2]|0)+((c[A>>2]|0)+2)+1>>0];RK(c[z>>2]|0,c[A>>2]<<16|(c[A>>2]|0)+(c[U>>2]|0)-1);c[C>>2]=d[(c[v>>2]|0)+(c[A>>2]|0)>>0]<<8|d[(c[v>>2]|0)+(c[A>>2]|0)+1>>0];c[A>>2]=c[C>>2]}c[F>>2]=0;c[O>>2]=(c[t>>2]|0)-1;while(1){if(!(SK(c[z>>2]|0,aa)|0))break;if((c[O>>2]&65535)>>>0>=(c[aa>>2]|0)>>>16>>>0){ba=51;break}c[F>>2]=(c[F>>2]|0)+(((c[aa>>2]|0)>>>16)-(c[O>>2]&65535)-1);c[O>>2]=c[aa>>2]}if((ba|0)==51){ba=c[o>>2]|0;$=c[p>>2]|0;c[Y>>2]=(c[aa>>2]|0)>>>16;c[Y+4>>2]=$;PK(ba,41412,Y)}c[F>>2]=(c[F>>2]|0)+((c[V>>2]|0)-(c[O>>2]&65535)-1);if((c[c[z>>2]>>2]|0)==0?(c[F>>2]|0)!=(d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0):0){ba=c[o>>2]|0;$=d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0;aa=c[p>>2]|0;c[Z>>2]=c[F>>2];c[Z+4>>2]=$;c[Z+8>>2]=aa;PK(ba,41449,Z)}}}else{ba=c[o>>2]|0;c[l>>2]=c[k>>2];PK(ba,41179,l)}while(0);if(!(c[x>>2]|0))a[c[K>>2]>>0]=a[P>>0]|0;QB(c[K>>2]|0);c[(c[o>>2]|0)+28>>2]=c[S>>2];c[(c[o>>2]|0)+32>>2]=c[Q>>2];c[(c[o>>2]|0)+36>>2]=c[R>>2];c[n>>2]=(c[w>>2]|0)+1;ba=c[n>>2]|0;i=ca;return ba|0}function OK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function PK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;f=k+28|0;g=k+24|0;h=k+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=k;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)sA((c[f>>2]|0)+40|0,41167,1);if(c[(c[f>>2]|0)+28>>2]|0){e=(c[f>>2]|0)+40|0;b=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[j>>2]=c[(c[f>>2]|0)+32>>2];c[j+4>>2]=a;rA(e,b,j)}eg((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){i=k;return}c[(c[f>>2]|0)+24>>2]=1;i=k;return}function QK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+8|0;e=j;g=j+20|0;d=j+16|0;f=j+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){b=c[d>>2]|0;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;PK(b,41501,e);c[g>>2]=1;break}e=(OK(b,a)|0)!=0;a=c[d>>2]|0;b=c[f>>2]|0;if(e){c[h>>2]=b;PK(a,41524,h);c[g>>2]=1;break}else{KK(a,b);c[g>>2]=0;break}}else c[g>>2]=1;while(0);i=j;return c[g>>2]|0}function RK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[f>>2]=b;c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];while(1){b=((c[f>>2]|0)>>>0)/2|0;c[g>>2]=b;if(b>>>0<=0){d=5;break}if((c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0){d=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];c[f>>2]=c[g>>2]}if((d|0)==5){i=h;return}}function SK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[j>>2]=b;if(!b){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[j>>2]<<2)>>2];c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=-1;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[g>>2]=1;while(1){b=c[g>>2]<<1;c[h>>2]=b;if(b>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2]|0)>>>0)c[h>>2]=(c[h>>2]|0)+1;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0)break;c[j>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[j>>2];c[g>>2]=c[h>>2]}c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}function TK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;XK((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}a=c[b>>2]|0;Kd(a);i=e;return}function UK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Tf(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);VK(0,c[(c[d>>2]|0)+16>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)WK(c[(c[d>>2]|0)+40>>2]|0);if(!(c[(c[d>>2]|0)+56>>2]|0)){d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}WK(c[(c[d>>2]|0)+56>>2]|0);d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}function VK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Tf(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=g;return}function WK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;or(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function XK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;Kd(c[(c[b>>2]|0)+28>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)Ms(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;YK(c[(c[b>>2]|0)+48>>2]|0);b=c[b>>2]|0;a=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=d;return}function YK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}TK(c[(c[b>>2]|0)+4>>2]|0);Kd(c[b>>2]|0);i=d;return}function ZK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m;k=m+12|0;l=m+8|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){i=m;return}a[(c[h>>2]|0)+11>>0]=0;c[l>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;do if((d[(c[l>>2]|0)+64>>0]|0)&16){a[(c[h>>2]|0)+11>>0]=1;if((c[k>>2]|0)==0?(g=(c[l>>2]|0)+16|0,b=j,!((c[g>>2]|0)==(c[b>>2]|0)?(c[g+4>>2]|0)==(c[b+4>>2]|0):0)):0)break;a[(c[l>>2]|0)+66>>0]=0}while(0);c[l>>2]=c[(c[l>>2]|0)+8>>2]}i=m;return}function _K(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;p=u+36|0;k=u+32|0;j=u+28|0;q=u+24|0;l=u+20|0;s=u+16|0;t=u+12|0;n=u+8|0;m=u+4|0;r=u;o=u+40|0;c[k>>2]=b;c[j>>2]=f;c[q>>2]=g;c[l>>2]=h;h=c[j>>2]|0;if(h>>>0>(JF(c[k>>2]|0)|0)>>>0){c[p>>2]=Qj(66688)|0;t=c[p>>2]|0;i=u;return t|0}c[t>>2]=IF(c[k>>2]|0,c[j>>2]|0,s,0,0)|0;if(c[t>>2]|0){c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}a:do if(!(a[(c[s>>2]|0)+8>>0]|0)){a[(c[s>>2]|0)+8>>0]=1;c[r>>2]=d[(c[s>>2]|0)+5>>0];c[m>>2]=0;while(1){j=c[s>>2]|0;if((c[m>>2]|0)>=(e[(c[s>>2]|0)+18>>1]|0))break;c[n>>2]=(c[j+56>>2]|0)+(e[(c[s>>2]|0)+20>>1]&(d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if((a[(c[s>>2]|0)+4>>0]|0)==0?(f=c[k>>2]|0,h=gr(c[n>>2]|0)|0,c[t>>2]=_K(f,h,1,c[l>>2]|0)|0,(c[t>>2]|0)!=0):0)break a;c[t>>2]=$K(c[s>>2]|0,c[n>>2]|0,o)|0;if(c[t>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}if(a[j+4>>0]|0){if(c[l>>2]|0){o=c[l>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[s>>2]|0)+18>>1]|0)}}else{n=c[k>>2]|0;o=gr((c[(c[s>>2]|0)+56>>2]|0)+((c[r>>2]|0)+8)|0)|0;c[t>>2]=_K(n,o,1,c[l>>2]|0)|0;if(c[t>>2]|0)break}j=c[s>>2]|0;if(c[q>>2]|0){aL(j,t);break}q=Gg(c[j+72>>2]|0)|0;c[t>>2]=q;if(!q)bL(c[s>>2]|0,d[(c[(c[s>>2]|0)+56>>2]|0)+(c[r>>2]|0)>>0]|8)}else c[t>>2]=Qj(66693)|0;while(0);a[(c[s>>2]|0)+8>>0]=0;QB(c[s>>2]|0);c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}function $K(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+80|0;g=t+64|0;h=t+60|0;j=t+56|0;u=t+52|0;p=t+48|0;l=t;o=t+44|0;r=t+40|0;m=t+36|0;n=t+32|0;k=t+28|0;q=t+24|0;c[h>>2]=a;c[j>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[h>>2]|0)+52>>2];Ub[c[(c[h>>2]|0)+80>>2]&255](c[h>>2]|0,c[j>>2]|0,l);b[c[u>>2]>>1]=b[l+18>>1]|0;if((e[l+16>>1]|0|0)==(c[l+12>>2]|0)){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}if(((c[j>>2]|0)+(e[l+18>>1]|0)+-1|0)>>>0>((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]|0)|0)>>>0){c[g>>2]=Qj(64249)|0;u=c[g>>2]|0;i=t;return u|0}c[o>>2]=gr((c[j>>2]|0)+(e[l+18>>1]|0)+-4|0)|0;c[n>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[m>>2]=(((c[l+12>>2]|0)-(e[l+16>>1]|0)+(c[n>>2]|0)-1|0)>>>0)/((c[n>>2]|0)>>>0)|0;while(1){u=c[m>>2]|0;c[m>>2]=u+-1;if(!u){s=23;break}c[k>>2]=0;c[q>>2]=0;if((c[o>>2]|0)>>>0<2){s=9;break}u=c[o>>2]|0;if(u>>>0>(JF(c[p>>2]|0)|0)>>>0){s=9;break}if((c[m>>2]|0)!=0?(c[r>>2]=UF(c[p>>2]|0,c[o>>2]|0,q,k)|0,(c[r>>2]|0)!=0):0){s=12;break}if((c[q>>2]|0)==0?(u=eL(c[p>>2]|0,c[o>>2]|0)|0,c[q>>2]=u,(u|0)==0):0)s=17;else if((Vt(c[(c[q>>2]|0)+72>>2]|0)|0)!=1)c[r>>2]=Qj(64285)|0;else s=17;if((s|0)==17){s=0;c[r>>2]=cL(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0)|0}if(c[q>>2]|0)yg(c[(c[q>>2]|0)+72>>2]|0);if(c[r>>2]|0){s=21;break}c[o>>2]=c[k>>2]}if((s|0)==9){c[g>>2]=Qj(64265)|0;u=c[g>>2]|0;i=t;return u|0}else if((s|0)==12){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==21){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==23){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}return 0}function aL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){i=f;return}b=cL(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=b;i=f;return}function bL(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+12|0;j=o+8|0;k=o+4|0;n=o;m=o+18|0;l=o+16|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[n>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[n>>2]|0)+22>>1]|0)&4)VR((c[k>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[n>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[k>>2]|0)+(d[m>>0]|0)>>0]=c[j>>2];b[l>>1]=(d[m>>0]|0)+((c[j>>2]&8|0)==0?12:8);f=(c[k>>2]|0)+((d[m>>0]|0)+1)|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[n>>2]|0)+36>>2]|0)>>>8;a[(c[k>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[n>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[l>>1]|0);Xt(c[h>>2]|0,c[j>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[l>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[k>>2]|0)+(c[(c[n>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[k>>2]|0)+(e[l>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[k>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[n>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;i=o;return}function cL(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;p=s+16|0;o=s+12|0;r=s+8|0;m=s+4|0;n=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=f;c[q>>2]=0;c[l>>2]=0;c[p>>2]=c[(c[h>>2]|0)+12>>2];if((c[k>>2]|0)>>>0<2){c[g>>2]=Qj(64103)|0;r=c[g>>2]|0;i=s;return r|0}if(c[j>>2]|0){c[o>>2]=c[j>>2];dL(c[(c[o>>2]|0)+72>>2]|0)}else c[o>>2]=eL(c[h>>2]|0,c[k>>2]|0)|0;c[r>>2]=Gg(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[r>>2]|0)){c[m>>2]=gr((c[(c[p>>2]|0)+56>>2]|0)+36|0)|0;ft((c[(c[p>>2]|0)+56>>2]|0)+36|0,(c[m>>2]|0)+1|0);if(e[(c[h>>2]|0)+22>>1]&4){if((c[o>>2]|0)==0?(d=XF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,(d|0)!=0):0)break;d=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;c[r>>2]=d;if(d)break;VR(c[(c[o>>2]|0)+56>>2]|0,0,c[(c[(c[o>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[h>>2]|0)+17>>0]|0)!=0?(eK(c[h>>2]|0,c[k>>2]|0,2,0,r),(c[r>>2]|0)!=0):0)break;if(c[m>>2]|0){c[l>>2]=gr((c[(c[p>>2]|0)+56>>2]|0)+32|0)|0;c[r>>2]=XF(c[h>>2]|0,c[l>>2]|0,q,0)|0;if(c[r>>2]|0)break;c[n>>2]=gr((c[(c[q>>2]|0)+56>>2]|0)+4|0)|0;if((c[n>>2]|0)>>>0>((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[r>>2]=Qj(64156)|0;break}if((c[n>>2]|0)>>>0<((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[r>>2]=Gg(c[(c[q>>2]|0)+72>>2]|0)|0;if(c[r>>2]|0)break;ft((c[(c[q>>2]|0)+56>>2]|0)+4|0,(c[n>>2]|0)+1|0);ft((c[(c[q>>2]|0)+56>>2]|0)+(8+(c[n>>2]<<2))|0,c[k>>2]|0);if((c[o>>2]|0)!=0?(e[(c[h>>2]|0)+22>>1]&4|0)==0:0)fL(c[(c[o>>2]|0)+72>>2]|0);c[r>>2]=gL(c[h>>2]|0,c[k>>2]|0)|0;break}}if((c[o>>2]|0)==0?(d=XF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,0!=(d|0)):0)break;c[r>>2]=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[r>>2]|0)){ft(c[(c[o>>2]|0)+56>>2]|0,c[l>>2]|0);ft((c[(c[o>>2]|0)+56>>2]|0)+4|0,0);ft((c[(c[p>>2]|0)+56>>2]|0)+32|0,c[k>>2]|0)}}while(0);if(c[o>>2]|0)a[c[o>>2]>>0]=0;QB(c[o>>2]|0);QB(c[q>>2]|0);c[g>>2]=c[r>>2];r=c[g>>2]|0;i=s;return r|0}function dL(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hL(c[d>>2]|0);i=b;return}function eL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=hs(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=KF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}return 0}function fL(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=c[(c[f>>2]|0)+16>>2];if(a[(c[g>>2]|0)+13>>0]|0){i=h;return}if(!(e[(c[f>>2]|0)+24>>1]&2)){i=h;return}if(c[(c[g>>2]|0)+104>>2]|0){i=h;return}d=(c[f>>2]|0)+24|0;b[d>>1]=e[d>>1]|16;d=(c[f>>2]|0)+24|0;b[d>>1]=e[d>>1]&-5;i=h;return}function gL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=kj(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(b>>>0>(oj(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=lj(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function hL(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function iL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;o=p+16|0;n=p+12|0;l=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=c[(c[g>>2]|0)+4>>2];if(c[(c[l>>2]|0)+8>>2]|0){c[f>>2]=262;o=c[f>>2]|0;i=p;return o|0}if((c[h>>2]|0)>>>0<2){c[f>>2]=Qj(66814)|0;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=XF(c[l>>2]|0,c[h>>2]|0,n,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=wJ(c[g>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){QB(c[n>>2]|0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[c[j>>2]>>2]=0;if(a[(c[l>>2]|0)+17>>0]|0){rg(c[g>>2]|0,4,k);d=c[n>>2]|0;do if((c[h>>2]|0)==(c[k>>2]|0)){aL(d,o);QB(c[n>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}}else{QB(d);c[o>>2]=XF(c[l>>2]|0,c[k>>2]|0,m,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=bK(c[l>>2]|0,c[m>>2]|0,1,0,c[h>>2]|0,0)|0;QB(c[m>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[m>>2]=0;c[o>>2]=XF(c[l>>2]|0,c[k>>2]|0,m,0)|0;aL(c[m>>2]|0,o);QB(c[m>>2]|0);if(!(c[o>>2]|0)){c[c[j>>2]>>2]=c[k>>2];break}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[l>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=VF(c[l>>2]|0,c[k>>2]|0)|0,(n|0)!=(c[k>>2]|0)):0)break;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=Bg(c[g>>2]|0,4,c[k>>2]|0)|0}else{aL(c[n>>2]|0,o);QB(c[n>>2]|0)}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function jL(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=kL((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function kL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+64|0;e=l+60|0;f=l+56|0;d=l+52|0;j=l+48|0;k=l;g=l+44|0;h=l+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=0;b=k;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[j>>2]=lL(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[j>>2]|0))c[j>>2]=mL(c[e>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;i=l;return k|0}c[h>>2]=0;d=(c[e>>2]|0)+40+8|0;nL(c[(c[e>>2]|0)+40>>2]|0,k,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;oL(k,d,((d|0)<0)<<31>>31);c[g>>2]=c[c[f>>2]>>2];while(1){b=c[g>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=c[b+4>>2];d=c[c[g>>2]>>2]|0;oL(k,d,((d|0)<0)<<31>>31);pL(k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Kd(c[g>>2]|0);c[g>>2]=c[h>>2]}c[c[f>>2]>>2]=b;c[j>>2]=qL(k,(c[e>>2]|0)+40+8|0)|0;k=c[j>>2]|0;i=l;return k|0}function lL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=a;a=l+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(Bi(202)|0){c[f>>2]=3338;k=c[f>>2]|0;i=l;return k|0}c[k>>2]=yL(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,k)|0;if(!(c[k>>2]|0)){e=j;c[e>>2]=0;c[e+4>>2]=0;Ts(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}function mL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;j=n+20|0;l=n+16|0;k=n+12|0;m=n+8|0;e=n+4|0;f=n;c[h>>2]=a;c[j>>2]=b;c[e>>2]=rL(c[h>>2]|0)|0;if(c[e>>2]|0){c[g>>2]=c[e>>2];m=c[g>>2]|0;i=n;return m|0}c[m>>2]=c[c[j>>2]>>2];e=sL(c[(c[h>>2]|0)+8>>2]|0)|0;c[(c[h>>2]|0)+32>>2]=e;c[k>>2]=kg(256,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;m=c[g>>2]|0;i=n;return m|0}while(1){if(!(c[m>>2]|0))break;b=c[m>>2]|0;do if(c[(c[j>>2]|0)+4>>2]|0)if((b|0)==(c[(c[j>>2]|0)+4>>2]|0)){c[f>>2]=0;break}else{c[f>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0);break}else c[f>>2]=c[b+4>>2];while(0);c[(c[m>>2]|0)+4>>2]=0;c[l>>2]=0;while(1){if(!(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0))break;c[m>>2]=tL(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=c[f>>2]}c[m>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=64)break;if(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0){if(c[m>>2]|0)b=tL(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;else b=c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0;c[m>>2]=b}c[l>>2]=(c[l>>2]|0)+1}c[c[j>>2]>>2]=c[m>>2];Kd(c[k>>2]|0);c[g>>2]=d[(c[(c[h>>2]|0)+12>>2]|0)+11>>0];m=c[g>>2]|0;i=n;return m|0}function nL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;e=c[h>>2]|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=c[j>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=a;if(c[(c[h>>2]|0)+4>>2]|0){b=k;a=c[j>>2]|0;a=$R(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=a;a=c[(c[h>>2]|0)+12>>2]|0;a=QR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k=(c[h>>2]|0)+24|0;c[k>>2]=a;c[k+4>>2]=C;c[(c[h>>2]|0)+8>>2]=c[j>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];i=l;return}else{c[c[h>>2]>>2]=7;i=l;return}}function oL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=SI(g,c[a>>2]|0,c[a+4>>2]|0)|0;pL(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function pL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)<=0){e=9;break}if(c[c[e>>2]>>2]|0){e=9;break}c[h>>2]=c[j>>2];if((c[h>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[h>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);TR((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[j>>2]|0))|0,c[h>>2]|0)|0;b=(c[e>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+(c[h>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){l=c[(c[e>>2]|0)+32>>2]|0;d=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;b=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;a=c[(c[e>>2]|0)+12>>2]|0;a=RR(c[m>>2]|0,c[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ig(l,d,b,a,C)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;b=(c[e>>2]|0)+24|0;d=b;a=RR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[b>>2]=a;c[b+4>>2]=C}c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0)}if((e|0)==9){i=k;return}}function qL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){j=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;k=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=RR(c[k>>2]|0,c[k+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Ig(j,h,a,b,C)|0;c[c[d>>2]>>2]=b}j=(c[d>>2]|0)+24|0;k=c[(c[d>>2]|0)+16>>2]|0;k=RR(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;e=c[e>>2]|0;c[e>>2]=k;c[e+4>>2]=C;Kd(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];d=c[d>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=g;return c[f>>2]|0}function rL(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=MF(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;d=c[e>>2]|0;i=h;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}function sL(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=139;break}else{c[b>>2]=140;break}else c[b>>2]=138;while(0);i=f;return c[b>>2]|0}function tL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;f=m+4|0;g=m;c[e>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=0;c[l>>2]=k;c[f>>2]=0;while(1){c[g>>2]=Sb[c[(c[e>>2]|0)+32>>2]&255](c[e>>2]|0,f,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0,(c[j>>2]|0)+8|0,c[c[j>>2]>>2]|0)|0;if((c[g>>2]|0)<=0){c[c[l>>2]>>2]=c[h>>2];c[l>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];if(!(c[h>>2]|0)){e=4;break}else continue}else{c[c[l>>2]>>2]=c[j>>2];c[l>>2]=(c[j>>2]|0)+4;c[j>>2]=c[(c[j>>2]|0)+4>>2];c[f>>2]=0;if(!(c[j>>2]|0)){e=6;break}else continue}}if((e|0)==4){c[c[l>>2]>>2]=c[j>>2];l=c[k>>2]|0;i=m;return l|0}else if((e|0)==6){c[c[l>>2]>>2]=c[h>>2];l=c[k>>2]|0;i=m;return l|0}return 0}function uL(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+64|0;q=x+52|0;r=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;p=x+8|0;w=x+4|0;l=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[z>>2]=c[s>>2];c[y>>2]=c[u>>2];c[m>>2]=d[(c[z>>2]|0)+1>>0];c[n>>2]=d[(c[y>>2]|0)+1>>0];c[o>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[p>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);h=c[m>>2]|0;k=c[n>>2]|0;a:do if(!((c[m>>2]|0)>7&(c[n>>2]|0)>7)){if((h|0)==(k|0)){if((d[c[o>>2]>>0]^d[c[p>>2]>>0])&128){c[w>>2]=(d[c[o>>2]>>0]&128|0)!=0?-1:1;break}c[w>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[41789+(c[m>>2]|0)>>0]|0))break a;z=(d[(c[o>>2]|0)+(c[l>>2]|0)>>0]|0)-(d[(c[p>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[w>>2]=z;if(z)break a;c[l>>2]=(c[l>>2]|0)+1}}do if((c[n>>2]|0)<=7)if((c[m>>2]|0)>7){c[w>>2]=-1;break}else{c[w>>2]=(c[m>>2]|0)-(c[n>>2]|0);break}else c[w>>2]=1;while(0);if((c[w>>2]|0)>0){if(!(d[c[o>>2]>>0]&128))break;c[w>>2]=-1;break}else{if(!(d[c[p>>2]>>0]&128))break;c[w>>2]=1;break}}else c[w>>2]=h-k;while(0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=xL(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;z=c[w>>2]|0;i=x;return z|0}else{if(!(a[c[h+16>>2]>>0]|0)){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=_(c[w>>2]|0,-1)|0;z=c[w>>2]|0;i=x;return z|0}return 0}function vL(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;q=x+48|0;r=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;l=x+8|0;m=x+4|0;w=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[y>>2]=c[s>>2];c[n>>2]=c[u>>2];c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[p>>2]=(c[n>>2]|0)+(d[c[n>>2]>>0]|0);h=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[l>>2]=d[h>>0];else bG(h,l)|0;c[l>>2]=((c[l>>2]|0)-13|0)/2|0;h=(c[n>>2]|0)+1|0;if((d[(c[n>>2]|0)+1>>0]|0)<128)c[m>>2]=d[h>>0];else bG(h,m)|0;c[m>>2]=((c[m>>2]|0)-13|0)/2|0;c[w>>2]=eR(c[o>>2]|0,c[p>>2]|0,(c[l>>2]|0)<(c[m>>2]|0)?c[l>>2]|0:c[m>>2]|0)|0;if(!(c[w>>2]|0))c[w>>2]=(c[l>>2]|0)-(c[m>>2]|0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=xL(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;y=c[w>>2]|0;i=x;return y|0}else{if(!(a[c[h+16>>2]>>0]|0)){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=_(c[w>>2]|0,-1)|0;y=c[w>>2]|0;i=x;return y|0}return 0}function wL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=$F(a,b,o)|0;i=p;return o|0}NF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=$F(a,b,o)|0;i=p;return o|0}function xL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=aG(a,b,o,1)|0;i=p;return o|0}NF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=aG(a,b,o,1)|0;i=p;return o|0}function yL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=f;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=Ur(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;g=c[l>>2]|0;if(c[n>>2]|0){Kd(g);n=c[n>>2]|0;i=o;return n|0}else{c[c[m>>2]>>2]=g;n=c[n>>2]|0;i=o;return n|0}return 0}function zL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+36|0;f=q+32|0;o=q+28|0;j=q+24|0;n=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;g=q+4|0;k=q;c[e>>2]=a;c[f>>2]=b;c[j>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];c[n>>2]=c[(c[e>>2]|0)+4>>2];c[o>>2]=AL((c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[o>>2]|0)){c[g>>2]=0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[h>>2]=((c[c[e>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[h>>2]|0)<=0)break;do if(c[(c[l>>2]|0)+24>>2]|0)if(!(c[(c[m>>2]|0)+24>>2]|0)){c[k>>2]=-1;break}else{c[k>>2]=Sb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,g,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;break}else c[k>>2]=1;while(0);do if((c[k>>2]|0)<0)p=12;else{if((c[k>>2]|0)==0?(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0:0){p=12;break}if(c[(c[l>>2]|0)+24>>2]|0)c[g>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[m>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0);c[g>>2]=0}c[h>>2]=(c[h>>2]|0)/2|0}c[c[f>>2]>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[o>>2]|0)){p=d[(c[(c[n>>2]|0)+12>>2]|0)+11>>0]|0;i=q;return p|0}else{p=c[o>>2]|0;i=q;return p|0}return 0}function AL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;b=j+24|0;d=j+20|0;h=j+16|0;f=j;g=j+12|0;e=j+8|0;c[d>>2]=a;c[h>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;k=c[d>>2]|0;m=c[k+4>>2]|0;a=(c[d>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[e>>2]=1;if(((c[g>>2]|0)!=0?(c[h>>2]=BL(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[h>>2]=CL(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[e>>2]=0}if(c[e>>2]|0){XK(c[d>>2]|0);c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}}if(!(c[h>>2]|0))c[h>>2]=DL(c[d>>2]|0,f)|0;if(!(c[h>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[h>>2]=EL(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}function BL(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=HL(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=e;return f|0}function CL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;k=q+24|0;l=q;p=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;c[p>>2]=0;if(Bi(201)|0){c[g>>2]=266;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+44>>2]|0){Ms(c[(c[j>>2]|0)+24>>2]|0,0,0,c[(c[j>>2]|0)+44>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=0}a=l;b=c[a+4>>2]|0;d=c[j>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[j>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[j>>2]|0)+24>>2]=c[c[k>>2]>>2];c[p>>2]=FL(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+44|0)|0;if((c[p>>2]|0)==0?(c[(c[j>>2]|0)+44>>2]|0)==0:0){c[o>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2];b=c[j>>2]|0;a=c[o>>2]|0;a=$R(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0)){a=c[o>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+36>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0))c[p>>2]=7;c[(c[j>>2]|0)+40>>2]=c[o>>2]}if((c[p>>2]|0)==0&(c[m>>2]|0)!=0){c[n>>2]=(c[o>>2]|0)-(c[m>>2]|0);d=c[j>>2]|0;a=c[n>>2]|0;a=RR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;o=(c[j>>2]|0)+8|0;b=c[o+4>>2]|0;if((d|0)>(b|0)|((d|0)==(b|0)?a>>>0>(c[o>>2]|0)>>>0:0)){a=(c[j>>2]|0)+8|0;o=c[j>>2]|0;o=QR(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[n>>2]=o}o=c[j>>2]|0;c[p>>2]=es(c[(c[j>>2]|0)+24>>2]|0,(c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}}c[g>>2]=c[p>>2];p=c[g>>2]|0;i=q;return p|0}function DL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;k=p+32|0;j=p+8|0;l=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(cu((c[(c[g>>2]|0)+44>>2]|0)+b|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=RR(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=C}else{q=c[(c[g>>2]|0)+40>>2]|0;e=$R(b|0,e|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=e;if((c[m>>2]|0)!=0?((c[(c[g>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){o=(cu((c[(c[g>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[h>>2]|0)|0)&255;q=c[g>>2]|0;n=q;o=RR(c[n>>2]|0,c[n+4>>2]|0,o|0,0)|0;c[q>>2]=o;c[q+4>>2]=C;break}c[l>>2]=0;while(1){c[n>>2]=EL(c[g>>2]|0,1,j)|0;if(c[n>>2]|0)break;m=a[c[j>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[k+(q&15)>>0]=m;if(!((d[c[j>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){cu(k,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=p;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=p;return q|0}function EL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+64|0;g=u+52|0;h=u+48|0;j=u+44|0;k=u+40|0;n=u+36|0;o=u+32|0;e=u+28|0;f=u+24|0;r=u+20|0;l=u+16|0;q=u+12|0;s=u+8|0;p=u+4|0;m=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=c[h>>2]|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+b;s=c[j>>2]|0;t=c[h>>2]|0;r=t;s=RR(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=C;c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}d=c[(c[h>>2]|0)+40>>2]|0;d=$R(b|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;c[n>>2]=d;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;a=c[h>>2]|0;a=QR(c[w>>2]|0,c[w+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;w=C;d=c[(c[h>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;b=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>d>>>0)c[e>>2]=c[b+40>>2];else{v=b+8|0;w=c[h>>2]|0;w=QR(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[e>>2]=w}w=c[h>>2]|0;c[f>>2]=es(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];w=c[g>>2]|0;i=u;return w|0}}c[o>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[o>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;t=w;v=RR(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))b=128;else b=c[(c[h>>2]|0)+16>>2]<<1;c[q>>2]=b;while(1){if((c[j>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[q>>2]<<1}w=c[q>>2]|0;c[l>>2]=cg(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[h>>2]|0)+16>>2]=c[q>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=u;return w|0}while(0);TR(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;v=c[o>>2]|0;w=c[h>>2]|0;q=w;v=RR(c[q>>2]|0,c[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C;c[r>>2]=(c[j>>2]|0)-(c[o>>2]|0);while(1){if((c[r>>2]|0)<=0){t=27;break}c[p>>2]=c[r>>2];if((c[r>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[s>>2]=EL(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[s>>2]|0)break;TR((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[r>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}if((t|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[s>>2];w=c[g>>2]|0;i=u;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=u;return w|0}function FL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;l=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a=(c[e>>2]|0)+8|0;k=c[a+4>>2]|0;d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+144>>2]|0;b=((d|0)<0)<<31>>31;if(!((k|0)<(b|0)|((k|0)==(b|0)?(c[a>>2]|0)>>>0<=d>>>0:0))){l=c[h>>2]|0;i=j;return l|0}c[g>>2]=c[c[e>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[h>>2]|0;i=j;return l|0}c[h>>2]=GL(c[g>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;l=c[h>>2]|0;i=j;return l|0}function GL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function HL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+96|0;b=o+88|0;l=o+84|0;m=o+80|0;f=o+48|0;j=o+76|0;p=o+72|0;h=o+68|0;n=o+8|0;d=o+64|0;k=o+60|0;g=o+56|0;e=o;c[b>>2]=a;c[l>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=f;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+4>>2];a=f;nL(c[c[j>>2]>>2]|0,n,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[l>>2]|0)break;c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+((c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[g>>2]=c[(c[k>>2]|0)+20>>2];r=n+24|0;q=c[n+16>>2]|0;q=RR(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=e;c[r>>2]=q;c[r+4>>2]=C;if(!(c[(c[k>>2]|0)+24>>2]|0))break;a=e;p=c[g>>2]|0;p=RR(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=C;q=c[g>>2]|0;q=iG(q,((q|0)<0)<<31>>31)|0;q=RR(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=C;p=f;r=c[(c[b>>2]|0)+16>>2]|0;r=RR(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=C;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[g>>2]|0;oL(n,r,((r|0)<0)<<31>>31);pL(n,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0);c[l>>2]=zL(c[(c[b>>2]|0)+4>>2]|0,d)|0}c[m>>2]=qL(n,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){r=c[l>>2]|0;i=o;return r|0}c[l>>2]=c[m>>2];r=c[l>>2]|0;i=o;return r|0}function IL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[d>>2]=0;c[f>>2]=JL(c[b>>2]|0,d)|0;if(!(c[f>>2]|0)){c[f>>2]=KL(c[e>>2]|0,c[d>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[d>>2];c[d>>2]=0}if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}TK(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function JL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;e=s+52|0;f=s+48|0;n=s+44|0;r=s+40|0;k=s+36|0;q=s+32|0;p=s+28|0;l=s+24|0;h=s;g=s+20|0;j=s+16|0;o=s+12|0;m=s+8|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=0;c[r>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[e>>2]|0)+64+((c[k>>2]|0)*72|0);c[p>>2]=0;c[l>>2]=OL(c[(c[q>>2]|0)+28>>2]|0)|0;b=h;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[q>>2]|0)+28>>2]|0)<=16)c[r>>2]=PL(c[q>>2]|0,c[(c[q>>2]|0)+28>>2]|0,h,p)|0;else{c[j>>2]=0;c[p>>2]=QL(16)|0;if(!(c[p>>2]|0))c[r>>2]=7;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[q>>2]|0)+28>>2]|0)?(c[r>>2]|0)==0:0))break a;c[o>>2]=0;if(((c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0)<16)a=(c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0;else a=16;c[m>>2]=a;c[r>>2]=PL(c[q>>2]|0,c[m>>2]|0,h,o)|0;if(!(c[r>>2]|0)){t=c[q>>2]|0;a=c[l>>2]|0;b=c[j>>2]|0;c[j>>2]=b+1;c[r>>2]=RL(t,a,b,c[p>>2]|0,c[o>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+16}}while(0);a=c[p>>2]|0;if(!(c[r>>2]|0))c[n>>2]=a;else TK(a);c[k>>2]=(c[k>>2]|0)+1}if(!(c[r>>2]|0)){q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}TK(c[n>>2]|0);c[n>>2]=0;q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}function KL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;l=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[h>>2]=b;c[n+12>>2]=e;c[l>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=LL((c[(c[h>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[l>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;ML(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function LL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+48>>2];c[f>>2]=0;if(!(c[h>>2]|0)){h=c[f>>2]|0;i=g;return h|0}c[f>>2]=NL(c[d>>2]|0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function ML(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+36|0;e=o+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;f=o+4|0;n=o;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)/2|0|0)){c[g>>2]=b-((c[c[d>>2]>>2]|0)/2|0)<<1;c[h>>2]=(c[g>>2]|0)+1}else{c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[h>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[g>>2]|0)*56|0);c[l>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[l>>2]|0)+24>>2]|0)){c[j>>2]=c[g>>2];break}c[m>>2]=c[(c[d>>2]|0)+4>>2];c[f>>2]=0;c[n>>2]=Sb[c[(c[m>>2]|0)+32>>2]&255](c[m>>2]|0,f,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0;if((c[n>>2]|0)<=0){c[j>>2]=c[g>>2];break}else{c[j>>2]=c[h>>2];break}}else c[j>>2]=c[h>>2];while(0);c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2];i=o;return}function NL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;e=k+4|0;f=k;c[d>>2]=a;c[l>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=c[c[g>>2]>>2];c[e>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=KL(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[(c[h>>2]|0)+56>>2]|0)){l=(c[h>>2]|0)+56+8|0;c[j>>2]=lL(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[h>>2]|0)+56|0)|0;l=(c[h>>2]|0)+56+8|0;c[l>>2]=0;c[l+4>>2]=0}if(!(c[j>>2]|0)){c[(c[g>>2]|0)+32+16>>2]=c[(c[h>>2]|0)+56>>2];b=(c[h>>2]|0)+56+8|0;l=c[b+4>>2]|0;a=(c[g>>2]|0)+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=l;a=c[f>>2]|0;l=(c[h>>2]|0)+56+8|0;h=l;h=RR(c[h>>2]|0,c[h+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[l>>2]=h;c[l+4>>2]=C}}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[j>>2]=AL(c[d>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function OL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=aS(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=C;c[d>>2]=(c[d>>2]|0)+1}i=f;return c[d>>2]|0}function PL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+44|0;g=q+40|0;h=q+36|0;j=q+32|0;n=q+28|0;l=q+8|0;k=q+24|0;p=q+20|0;m=q;o=q+16|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[h>>2]|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[p>>2]=0;e=QL(c[g>>2]|0)|0;c[n>>2]=e;c[c[j>>2]>>2]=e;if(!(c[n>>2]|0))c[p>>2]=7;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[g>>2]|0)?(c[p>>2]|0)==0:0))break;a=m;c[a>>2]=0;c[a+4>>2]=0;c[o>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);a=l;c[p>>2]=TL(c[f>>2]|0,(c[f>>2]|0)+40|0,c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,m)|0;a=(c[o>>2]|0)+8|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}if(!(c[p>>2]|0)){d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}TK(c[n>>2]|0);c[c[j>>2]>>2]=0;d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}function QL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(Bi(100)|0)a=0;else{a=c[d>>2]|0;a=kg(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;i=g;return f|0}function RL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;g=s+48|0;h=s+44|0;p=s+40|0;u=s+36|0;t=s+32|0;r=s+28|0;l=s+24|0;j=s+20|0;q=s+16|0;m=s+12|0;k=s+8|0;o=s+4|0;n=s;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[u>>2]=e;c[t>>2]=f;c[r>>2]=0;c[l>>2]=1;c[q>>2]=c[u>>2];c[r>>2]=SL(c[g>>2]|0,c[t>>2]|0,m)|0;c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[l>>2]<<4;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if(!((c[j>>2]|0)<(c[h>>2]|0)?(c[r>>2]|0)==0:0))break;c[k>>2]=((c[p>>2]|0)/(c[l>>2]|0)|0|0)%16|0;c[o>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);do if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=QL(16)|0;if(!(c[n>>2]|0)){c[r>>2]=7;break}else{c[r>>2]=SL(c[g>>2]|0,c[n>>2]|0,(c[o>>2]|0)+48|0)|0;break}}while(0);if(!(c[r>>2]|0)){c[q>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[l>>2]|0)/16|0}c[j>>2]=(c[j>>2]|0)+1}g=c[m>>2]|0;if(!(c[r>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[p>>2]|0)%16|0)*56|0)+48>>2]=g;u=c[r>>2]|0;i=s;return u|0}else{YK(g);u=c[r>>2]|0;i=s;return u|0}return 0}function SL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=0;if(Bi(100)|0)b=0;else b=kg(64,0)|0;c[c[f>>2]>>2]=b;c[h>>2]=b;b=c[e>>2]|0;if(!(c[h>>2]|0)){TK(b);c[j>>2]=7;j=c[j>>2]|0;i=k;return j|0}c[(c[h>>2]|0)+4>>2]=b;c[c[h>>2]>>2]=c[g>>2];b=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(c[b+8>>2]|0)+9|0;else b=(c[b+4>>2]|0)/2|0;c[(c[h>>2]|0)+16>>2]=b;f=c[(c[h>>2]|0)+16>>2]|0;h=(c[g>>2]|0)+56+8|0;g=h;g=RR(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[h>>2]=g;c[h+4>>2]=C;j=c[j>>2]|0;i=k;return j|0}function TL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+48|0;o=m+32|0;n=m+28|0;p=m+8|0;h=m+24|0;j=m+20|0;l=m+16|0;k=m;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=f;c[j>>2]=g;g=p;c[l>>2]=CL(c[o>>2]|0,c[h>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[l>>2]|0)){o=k;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=DL(c[h>>2]|0,k)|0;o=c[h>>2]|0;p=k;p=RR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[h>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=C;o=k;p=c[j>>2]|0;n=p;o=RR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=C}if(c[l>>2]|0){p=c[l>>2]|0;i=m;return p|0}c[l>>2]=AL(c[h>>2]|0)|0;p=c[l>>2]|0;i=m;return p|0}function UL(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function VL(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=WL(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;i=f;return g|0}function WL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;c[h>>2]=a;c[e>>2]=b;if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=EF(c[h>>2]|0)|0;else a=0;c[f>>2]=a;if(c[f>>2]|0){c[c[e>>2]>>2]=1;c[g>>2]=c[f>>2];h=c[g>>2]|0;i=j;return h|0}a=c[e>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0|0)!=1)c[a>>2]=1;else c[a>>2]=0;c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}function XL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[(c[e>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[b+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;i=j;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;i=j;return h|0}return 0}function YL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;q=t+16|0;o=t+12|0;r=t+8|0;s=t+4|0;p=t;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if(c[c[n>>2]>>2]|0){i=t;return}c[o>>2]=c[(c[k>>2]|0)+56>>2];c[r>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[q>>2]=(d[c[r>>2]>>0]|0)<<8|(d[(c[r>>2]|0)+1>>0]|0);c[p>>2]=d[(c[k>>2]|0)+5>>0];if((c[q>>2]|0)>>>0>=((d[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))>>>0?((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[s>>2]=nM(c[k>>2]|0,c[q>>2]&65535,c[m>>2]&65535)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}h=(c[k>>2]|0)+18|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;if(!(e[(c[k>>2]|0)+18>>1]|0)){h=(c[o>>2]|0)+((c[p>>2]|0)+1)|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+7)>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];b[(c[k>>2]|0)+16>>1]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[k>>2]|0)+5>>0]|0)-(d[(c[k>>2]|0)+6>>0]|0)-8;i=t;return}else{UR(c[r>>2]|0,(c[r>>2]|0)+2|0,(e[(c[k>>2]|0)+18>>1]|0)-(c[l>>2]|0)<<1|0)|0;a[(c[o>>2]|0)+((c[p>>2]|0)+3)>>0]=(e[(c[k>>2]|0)+18>>1]|0)>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+3)+1>>0]=b[(c[k>>2]|0)+18>>1];h=(c[k>>2]|0)+16|0;b[h>>1]=(e[h>>1]|0)+2;i=t;return}}h=Qj(64508)|0;c[c[n>>2]>>2]=h;i=t;return}function ZL(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;r=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[v>>2]=0;if((d[(c[n>>2]|0)+1>>0]|0)==0?((c[q>>2]|0)+2|0)<=(e[(c[n>>2]|0)+16>>1]|0):0){c[y>>2]=Gg(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}c[u>>2]=c[(c[n>>2]|0)+56>>2];c[y>>2]=pM(c[n>>2]|0,c[q>>2]|0,v)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}j=(c[n>>2]|0)+16|0;b[j>>1]=(e[j>>1]|0)-(2+(c[q>>2]|0)&65535);TR((c[u>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0)ft((c[u>>2]|0)+(c[v>>2]|0)|0,c[s>>2]|0);c[x>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);UR((c[x>>2]|0)+2|0,c[x>>2]|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[c[x>>2]>>0]=c[v>>2]>>8;a[(c[x>>2]|0)+1>>0]=c[v>>2];y=(c[n>>2]|0)+18|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;y=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+4)|0;j=(a[y>>0]|0)+1<<24>>24;a[y>>0]=j;if(!(j&255)){j=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+3)|0;a[j>>0]=(a[j>>0]|0)+1<<24>>24}if(!(a[(c[(c[n>>2]|0)+52>>2]|0)+17>>0]|0)){i=z;return}gK(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0);i=z;return}if(c[r>>2]|0){TR(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[p>>2]=c[r>>2]}if(c[s>>2]|0)ft(c[p>>2]|0,c[s>>2]|0);y=(c[n>>2]|0)+1|0;j=a[y>>0]|0;a[y>>0]=j+1<<24>>24;c[w>>2]=j&255;c[(c[n>>2]|0)+32+(c[w>>2]<<2)>>2]=c[p>>2];b[(c[n>>2]|0)+22+(c[w>>2]<<1)>>1]=c[o>>2];i=z;return}function _L(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;g=r+32|0;q=r+28|0;l=r+24|0;h=r+36|0;m=r+20|0;k=r+16|0;n=r+12|0;o=r+8|0;j=r+4|0;p=r;c[g>>2]=f;c[q>>2]=0;c[l>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[k>>2]=a[(c[g>>2]|0)+68>>0];c[n>>2]=c[(c[g>>2]|0)+120+(c[k>>2]<<2)>>2];f=a[(c[n>>2]|0)+1>>0]|0;if(!(c[k>>2]|0)){if(!(f<<24>>24))break;c[q>>2]=$L(c[n>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[q>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[n>>2]|0)+16>>1]|0)<=(c[l>>2]|0):0)break;c[o>>2]=c[(c[g>>2]|0)+120+((c[k>>2]|0)-1<<2)>>2];c[j>>2]=e[(c[g>>2]|0)+80+((c[k>>2]|0)-1<<1)>>1];c[q>>2]=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;do if(!(c[q>>2]|0)){if(((((d[(c[n>>2]|0)+3>>0]|0)!=0?(d[(c[n>>2]|0)+1>>0]|0)==1:0)?(e[(c[n>>2]|0)+22>>1]|0)==(e[(c[n>>2]|0)+18>>1]|0):0)?(c[(c[o>>2]|0)+84>>2]|0)!=1:0)?(e[(c[o>>2]|0)+18>>1]|0)==(c[j>>2]|0):0){c[q>>2]=aM(c[o>>2]|0,c[n>>2]|0,h)|0;break}c[p>>2]=Yi(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[q>>2]=bM(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)$i(c[m>>2]|0);c[m>>2]=c[p>>2]}while(0);a[(c[n>>2]|0)+1>>0]=0;QB(c[n>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while((c[q>>2]|0)==0);if(!(c[m>>2]|0)){q=c[q>>2]|0;i=r;return q|0}$i(c[m>>2]|0);q=c[q>>2]|0;i=r;return q|0}function $L(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;k=n+8|0;l=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[(c[g>>2]|0)+52>>2];c[m>>2]=Gg(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[m>>2]|0)==0?(c[m>>2]=aK(c[j>>2]|0,k,l,c[(c[g>>2]|0)+84>>2]|0,0)|0,gM(c[g>>2]|0,c[k>>2]|0,m),(a[(c[j>>2]|0)+17>>0]|0)!=0):0)eK(c[j>>2]|0,c[l>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,m);if(c[m>>2]|0){c[c[h>>2]>>2]=0;QB(c[k>>2]|0);c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}else{TR((c[k>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;TR((c[k>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[k>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;bL(c[g>>2]|0,d[c[(c[k>>2]|0)+56>>2]>>0]&-9);ft((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[l>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function aM(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;j=v+40|0;k=v+36|0;l=v+32|0;m=v+28|0;n=v+24|0;p=v+20|0;t=v+16|0;s=v+12|0;q=v+8|0;o=v+4|0;u=v+44|0;r=v;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[j>>2]=Qj(65006)|0;u=c[j>>2]|0;i=v;return u|0}c[t>>2]=aK(c[n>>2]|0,p,s,0,0)|0;if(!(c[t>>2]|0)){c[q>>2]=(c[m>>2]|0)+4;c[o>>2]=c[(c[l>>2]|0)+32>>2];b[u>>1]=Yb[c[(c[l>>2]|0)+76>>2]&255](c[l>>2]|0,c[o>>2]|0)|0;bL(c[p>>2]|0,13);c[t>>2]=lM(c[p>>2]|0,1,o,u)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}b[(c[p>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[(c[p>>2]|0)+14>>1]|0)-2-(e[u>>1]|0);if((a[(c[n>>2]|0)+17>>0]|0)!=0?(eK(c[n>>2]|0,c[s>>2]|0,5,c[(c[k>>2]|0)+84>>2]|0,t),(e[u>>1]|0)>(e[(c[p>>2]|0)+12>>1]|0)):0)gK(c[p>>2]|0,c[o>>2]|0,t);c[o>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;if(!(d[u>>0]&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;u=a[u>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[h>>0]=u;if(!(u&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);if(!(c[t>>2]|0))ZL(c[k>>2]|0,e[(c[k>>2]|0)+18>>1]|0,c[m>>2]|0,(c[q>>2]|0)-(c[m>>2]|0)|0,0,c[(c[l>>2]|0)+84>>2]|0,t);ft((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[s>>2]|0);QB(c[p>>2]|0)}c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}function bM(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+448|0;ga=Da+412|0;ha=Da+408|0;l=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;q=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;p=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;o=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;m=Da+152|0;v=Da+148|0;r=Da+144|0;n=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;c[ha>>2]=f;c[l>>2]=g;c[Q>>2]=h;c[ia>>2]=j;c[C>>2]=k;c[t>>2]=0;c[wa>>2]=0;c[Aa>>2]=0;c[q>>2]=0;c[W>>2]=0;a[ja>>0]=0;a[ja+1>>0]=0;a[ja+2>>0]=0;a[ja+3>>0]=0;a[ja+4>>0]=0;c[ma>>2]=0;c[ma+8>>2]=0;c[za>>2]=c[(c[ha>>2]|0)+52>>2];if(!(c[Q>>2]|0)){c[ga>>2]=7;Ca=c[ga>>2]|0;i=Da;return Ca|0}c[pa>>2]=(d[(c[ha>>2]|0)+1>>0]|0)+(e[(c[ha>>2]|0)+18>>1]|0);if((c[pa>>2]|0)<2)c[Z>>2]=0;else{do if(c[l>>2]|0)if((c[l>>2]|0)==(c[pa>>2]|0)){c[Z>>2]=(c[pa>>2]|0)-2+(c[C>>2]|0);break}else{c[Z>>2]=(c[l>>2]|0)-1;break}else c[Z>>2]=0;while(0);c[pa>>2]=2-(c[C>>2]|0)}c[ya>>2]=(c[pa>>2]|0)+1;l=c[ha>>2]|0;if(((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0)==(e[(c[ha>>2]|0)+18>>1]|0))c[K>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+((d[l+5>>0]|0)+8);else c[K>>2]=(c[l+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=gr(c[K>>2]|0)|0;while(1){c[Aa>>2]=IF(c[za>>2]|0,c[M>>2]|0,la+(c[pa>>2]<<2)|0,0,0)|0;if(c[Aa>>2]|0){h=16;break}c[t>>2]=(c[t>>2]|0)+(1+(e[(c[la+(c[pa>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[la+(c[pa>>2]<<2)>>2]|0)+1>>0]|0));f=c[pa>>2]|0;c[pa>>2]=f+-1;if(!f){h=26;break}if(((c[pa>>2]|0)+(c[Z>>2]|0)|0)==(e[(c[ha>>2]|0)+22>>1]|0)?(d[(c[ha>>2]|0)+1>>0]|0)!=0:0){c[p+(c[pa>>2]<<2)>>2]=c[(c[ha>>2]|0)+32>>2];c[M>>2]=gr(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;a[(c[ha>>2]|0)+1>>0]=0;continue}c[p+(c[pa>>2]<<2)>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=gr(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;if(e[(c[za>>2]|0)+22>>1]&4){c[m>>2]=(c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[Ba+(c[pa>>2]<<2)>>2]|0)|0)>(c[(c[za>>2]|0)+36>>2]|0)){h=23;break}TR((c[Q>>2]|0)+(c[m>>2]|0)|0,c[p+(c[pa>>2]<<2)>>2]|0,c[Ba+(c[pa>>2]<<2)>>2]|0)|0;c[p+(c[pa>>2]<<2)>>2]=(c[Q>>2]|0)+((c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0))}YL(c[ha>>2]|0,(c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0,c[Ba+(c[pa>>2]<<2)>>2]|0,Aa)}a:do if((h|0)==16)VR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0;else if((h|0)==23){c[Aa>>2]=Qj(65347)|0;VR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0}else if((h|0)==26){c[t>>2]=(c[t>>2]|0)+3&-4;c[A>>2]=(c[t>>2]<<2)+(c[t>>2]<<1)+(c[(c[za>>2]|0)+32>>2]|0);c[ma+8>>2]=Ei(c[A>>2]|0)|0;if(!(c[ma+8>>2]|0)){c[Aa>>2]=7;break}c[ma+12>>2]=(c[ma+8>>2]|0)+(c[t>>2]<<2);c[o>>2]=(c[ma+12>>2]|0)+(c[t>>2]<<1);c[ma+4>>2]=c[la>>2];b[ua>>1]=d[(c[ma+4>>2]|0)+4>>0]<<2;c[va>>2]=d[(c[ma+4>>2]|0)+3>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[v>>2]=c[la+(c[pa>>2]<<2)>>2];c[r>>2]=e[(c[v>>2]|0)+18>>1];c[n>>2]=c[(c[v>>2]|0)+56>>2];b[s>>1]=b[(c[v>>2]|0)+20>>1]|0;c[x>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0);if((d[c[(c[v>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[la>>2]|0)+56>>2]>>0]|0)){h=31;break}VR((c[ma+12>>2]|0)+(c[ma>>2]<<1)|0,0,(c[r>>2]|0)+(d[(c[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[v>>2]|0)+1>>0]|0)>0){c[r>>2]=e[(c[v>>2]|0)+22>>1];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[r>>2]|0))break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1;c[Y>>2]=(c[Y>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(d[(c[v>>2]|0)+1>>0]|0))break b;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=c[(c[v>>2]|0)+32+(c[H>>2]<<2)>>2];c[ma>>2]=(c[ma>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}}while(0);c[y>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0)+(e[(c[v>>2]|0)+18>>1]<<1);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1}c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if(!((c[va>>2]|0)!=0?1:(c[pa>>2]|0)>=((c[ya>>2]|0)-1|0))){b[z>>1]=c[Ba+(c[pa>>2]<<2)>>2];b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=b[z>>1]|0;c[w>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[q>>2]=(c[q>>2]|0)+(e[z>>1]|0);TR(c[w>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0,e[z>>1]|0)|0;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[w>>2]|0)+(e[ua>>1]|0);b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=(e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)-(e[ua>>1]|0);c:do if(a[(c[v>>2]|0)+4>>0]|0)while(1){if((e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)>=4)break c;A=c[q>>2]|0;c[q>>2]=A+1;a[(c[o>>2]|0)+A>>0]=0;A=(c[ma+12>>2]|0)+(c[ma>>2]<<1)|0;b[A>>1]=(b[A>>1]|0)+1<<16>>16}else{A=c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]|0;t=(c[(c[v>>2]|0)+56>>2]|0)+8|0;a[A>>0]=a[t>>0]|0;a[A+1>>0]=a[t+1>>0]|0;a[A+2>>0]=a[t+2>>0]|0;a[A+3>>0]=a[t+3>>0]|0}while(0);c[ma>>2]=(c[ma>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==31){c[Aa>>2]=Qj(65414)|0;break}c[Ca>>2]=(c[(c[za>>2]|0)+36>>2]|0)-12+(e[ua>>1]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[u>>2]=c[la+(c[pa>>2]<<2)>>2];c[Ba+(c[pa>>2]<<2)>>2]=(c[Ca>>2]|0)-(e[(c[u>>2]|0)+16>>1]|0);if((c[Ba+(c[pa>>2]<<2)>>2]|0)<0){h=52;break}c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(d[(c[u>>2]|0)+1>>0]|0))break;z=2+((Yb[c[(c[u>>2]|0)+76>>2]&255](c[u>>2]|0,c[(c[u>>2]|0)+32+(c[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+z;c[Y>>2]=(c[Y>>2]|0)+1}c[na+(c[pa>>2]<<2)>>2]=c[oa+(c[pa>>2]<<2)>>2];c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==52){c[Aa>>2]=Qj(65512)|0;break}c[H>>2]=c[ya>>2];c[pa>>2]=0;d:while(1){if((c[pa>>2]|0)>=(c[H>>2]|0)){h=83;break}while(1){if((c[Ba+(c[pa>>2]<<2)>>2]|0)<=(c[Ca>>2]|0))break;if(((c[pa>>2]|0)+1|0)>=(c[H>>2]|0)){c[H>>2]=(c[pa>>2]|0)+2;if((c[H>>2]|0)>5){h=62;break d}c[Ba+((c[H>>2]|0)-1<<2)>>2]=0;c[na+((c[H>>2]|0)-1<<2)>>2]=c[ma>>2]}c[B>>2]=2+((cM(ma,(c[na+(c[pa>>2]<<2)>>2]|0)-1|0)|0)&65535);A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((cM(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[na+(c[pa>>2]<<2)>>2]|0)>=(c[ma>>2]|0))break;c[B>>2]=2+((cM(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);if(((c[Ba+(c[pa>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[Ca>>2]|0))break;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((cM(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}l=c[pa>>2]|0;if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){if((c[pa>>2]|0)>0)h=c[na+((c[pa>>2]|0)-1<<2)>>2]|0;else h=0;if((c[na+(l<<2)>>2]|0)<=(h|0)){h=81;break}}else c[H>>2]=l+1;c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==62){c[Aa>>2]=Qj(65524)|0;break}else if((h|0)==81){c[Aa>>2]=Qj(65557)|0;break}else if((h|0)==83){c[pa>>2]=(c[H>>2]|0)-1;while(1){if((c[pa>>2]|0)<=0)break;c[P>>2]=c[Ba+(c[pa>>2]<<2)>>2];c[O>>2]=c[Ba+((c[pa>>2]|0)-1<<2)>>2];c[N>>2]=(c[na+((c[pa>>2]|0)-1<<2)>>2]|0)-1;c[F>>2]=(c[N>>2]|0)+1-(c[va>>2]|0);cM(ma,c[F>>2]|0)|0;do{cM(ma,c[N>>2]|0)|0;if(c[P>>2]|0){if(c[C>>2]|0)break;if(((c[P>>2]|0)+(e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+((c[pa>>2]|0)==((c[H>>2]|0)-1|0)?0:2))|0))break}c[P>>2]=(c[P>>2]|0)+((e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2);c[na+((c[pa>>2]|0)-1<<2)>>2]=c[N>>2];c[N>>2]=(c[N>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+-1}while((c[N>>2]|0)>=0);c[Ba+(c[pa>>2]<<2)>>2]=c[P>>2];c[Ba+((c[pa>>2]|0)-1<<2)>>2]=c[O>>2];if((c[pa>>2]|0)>1)l=c[na+((c[pa>>2]|0)-2<<2)>>2]|0;else l=0;if((c[na+((c[pa>>2]|0)-1<<2)>>2]|0)<=(l|0)){h=93;break}c[pa>>2]=(c[pa>>2]|0)+-1}if((h|0)==93){c[Aa>>2]=Qj(65599)|0;break}c[L>>2]=d[c[(c[la>>2]|0)+56>>2]>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[H>>2]|0))break;if((c[pa>>2]|0)<(c[ya>>2]|0)){P=c[la+(c[pa>>2]<<2)>>2]|0;c[ka+(c[pa>>2]<<2)>>2]=P;c[I>>2]=P;c[la+(c[pa>>2]<<2)>>2]=0;c[Aa>>2]=Gg(c[(c[I>>2]|0)+72>>2]|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;if(c[Aa>>2]|0)break a}else{c[Aa>>2]=aK(c[za>>2]|0,I,M,(c[C>>2]|0)!=0?1:c[M>>2]|0,0)|0;if(c[Aa>>2]|0)break a;bL(c[I>>2]|0,c[L>>2]|0);c[ka+(c[pa>>2]<<2)>>2]=c[I>>2];c[wa>>2]=(c[wa>>2]|0)+1;c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if((a[(c[za>>2]|0)+17>>0]|0)!=0?(eK(c[za>>2]|0,c[(c[I>>2]|0)+84>>2]|0,5,c[(c[ha>>2]|0)+84>>2]|0,Aa),(c[Aa>>2]|0)!=0):0)break a}c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;e:while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;P=c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0;c[S+(c[pa>>2]<<2)>>2]=P;c[E+(c[pa>>2]<<2)>>2]=P;b[D+(c[pa>>2]<<1)>>1]=b[(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[pa>>2]|0))break;if((c[S+(c[Y>>2]<<2)>>2]|0)==(c[S+(c[pa>>2]<<2)>>2]|0)){h=108;break e}c[Y>>2]=(c[Y>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==108){c[Aa>>2]=Qj(65673)|0;break}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;c[G>>2]=0;c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(c[wa>>2]|0))break;if((c[E+(c[Y>>2]<<2)>>2]|0)>>>0<(c[E+(c[G>>2]<<2)>>2]|0)>>>0)c[G>>2]=c[Y>>2];c[Y>>2]=(c[Y>>2]|0)+1}c[M>>2]=c[E+(c[G>>2]<<2)>>2];c[E+(c[G>>2]<<2)>>2]=-1;if((c[G>>2]|0)!=(c[pa>>2]|0)){if((c[G>>2]|0)>(c[pa>>2]|0))dM(c[(c[ka+(c[G>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[za>>2]|0)+44>>2]|0)+(c[G>>2]|0)+1|0,0);dM(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0,c[M>>2]|0,b[D+(c[G>>2]<<1)>>1]|0);c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]=c[M>>2]}c[pa>>2]=(c[pa>>2]|0)+1}ft(c[K>>2]|0,c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[L>>2]&8|0)==0?(c[ya>>2]|0)!=(c[wa>>2]|0):0){c[J>>2]=c[((c[wa>>2]|0)>(c[ya>>2]|0)?ka:la)+((c[ya>>2]|0)-1<<2)>>2];P=(c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(c[(c[J>>2]|0)+56>>2]|0)+8|0;a[P>>0]=a[O>>0]|0;a[P+1>>0]=a[O+1>>0]|0;a[P+2>>0]=a[O+2>>0]|0;a[P+3>>0]=a[O+3>>0]|0}f:do if(a[(c[za>>2]|0)+17>>0]|0){c[aa>>2]=c[ka>>2];c[R>>2]=c[(c[aa>>2]|0)+56>>2];c[T>>2]=(e[(c[aa>>2]|0)+18>>1]|0)+(d[(c[aa>>2]|0)+1>>0]|0);c[fa>>2]=c[(c[za>>2]|0)+36>>2];c[U>>2]=0;c[V>>2]=0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ma>>2]|0))break f;c[_>>2]=c[(c[ma+8>>2]|0)+(c[pa>>2]<<2)>>2];if((c[pa>>2]|0)==(c[T>>2]|0)){P=(c[V>>2]|0)+1|0;c[V>>2]=P;l=c[V>>2]|0;if((P|0)<(c[wa>>2]|0))l=c[ka+(l<<2)>>2]|0;else l=c[la+(l<<2)>>2]|0;c[ca>>2]=l;c[T>>2]=(c[T>>2]|0)+((e[(c[ca>>2]|0)+18>>1]|0)+(d[(c[ca>>2]|0)+1>>0]|0)+(((c[va>>2]|0)!=0^1)&1));c[R>>2]=c[(c[ca>>2]|0)+56>>2]}if(!((c[pa>>2]|0)==(c[na+(c[U>>2]<<2)>>2]|0)?(P=(c[U>>2]|0)+1|0,c[U>>2]=P,c[aa>>2]=c[ka+(P<<2)>>2],(c[va>>2]|0)==0):0))h=136;do if((h|0)==136){h=0;if((((c[V>>2]|0)<(c[wa>>2]|0)?(c[(c[aa>>2]|0)+84>>2]|0)==(c[S+(c[V>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[R>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[R>>2]|0)+(c[fa>>2]|0)|0)>>>0:0)break;if(!(b[ua>>1]|0)){O=c[za>>2]|0;P=gr(c[_>>2]|0)|0;eK(O,P,5,c[(c[aa>>2]|0)+84>>2]|0,Aa)}P=(cM(ma,c[pa>>2]|0)|0)&65535;if((P|0)>(e[(c[aa>>2]|0)+12>>1]|0))gK(c[aa>>2]|0,c[_>>2]|0,Aa);if(c[Aa>>2]|0)break a}while(0);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=((c[wa>>2]|0)-1|0))break;c[ba>>2]=c[ka+(c[pa>>2]<<2)>>2];c[Y>>2]=c[na+(c[pa>>2]<<2)>>2];c[$>>2]=c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2];c[ea>>2]=(e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)+(e[ua>>1]|0);c[da>>2]=(c[Q>>2]|0)+(c[W>>2]|0);do if(a[(c[ba>>2]|0)+4>>0]|0){if(c[va>>2]|0){c[Y>>2]=(c[Y>>2]|0)+-1;Ub[c[(c[ba>>2]|0)+80>>2]&255](c[ba>>2]|0,c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2]|0,X);c[$>>2]=c[da>>2];fa=X;c[ea>>2]=4+(SI((c[$>>2]|0)+4|0,c[fa>>2]|0,c[fa+4>>2]|0)|0);c[da>>2]=0;break}c[$>>2]=(c[$>>2]|0)+-4;if((e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)==4)c[ea>>2]=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[$>>2]|0)|0)&65535}else{fa=(c[(c[ba>>2]|0)+56>>2]|0)+8|0;ca=c[$>>2]|0;a[fa>>0]=a[ca>>0]|0;a[fa+1>>0]=a[ca+1>>0]|0;a[fa+2>>0]=a[ca+2>>0]|0;a[fa+3>>0]=a[ca+3>>0]|0}while(0);c[W>>2]=(c[W>>2]|0)+(c[ea>>2]|0);ZL(c[ha>>2]|0,(c[Z>>2]|0)+(c[pa>>2]|0)|0,c[$>>2]|0,c[ea>>2]|0,c[da>>2]|0,c[(c[ba>>2]|0)+84>>2]|0,Aa);if(c[Aa>>2]|0)break a;c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=1-(c[wa>>2]|0);while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;fa=c[pa>>2]|0;c[sa>>2]=(c[pa>>2]|0)<0?0-fa|0:fa;do if(!(a[ja+(c[sa>>2]|0)>>0]|0)){if((c[pa>>2]|0)<0?(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)<(c[na+((c[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[sa>>2]|0)){c[ra>>2]=0;c[qa>>2]=0;c[xa>>2]=c[na>>2]}else{if((c[sa>>2]|0)<(c[ya>>2]|0))l=(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1)|0;else l=c[ma>>2]|0;c[ra>>2]=l;c[qa>>2]=(c[na+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1);c[xa>>2]=(c[na+(c[sa>>2]<<2)>>2]|0)-(c[qa>>2]|0)}c[Aa>>2]=eM(c[ka+(c[sa>>2]<<2)>>2]|0,c[ra>>2]|0,c[qa>>2]|0,c[xa>>2]|0,ma)|0;if(c[Aa>>2]|0)break a;fa=ja+(c[sa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[ka+(c[sa>>2]<<2)>>2]|0)+16>>1]=(c[Ca>>2]|0)-(c[Ba+(c[sa>>2]<<2)>>2]|0)}while(0);c[pa>>2]=(c[pa>>2]|0)+1}if(((c[ia>>2]|0)!=0?(e[(c[ha>>2]|0)+18>>1]|0)==0:0)?(d[(c[ha>>2]|0)+5>>0]|0)<=(e[(c[ka>>2]|0)+16>>1]|0):0){c[Aa>>2]=fM(c[ka>>2]|0)|0;gM(c[ka>>2]|0,c[ha>>2]|0,Aa);aL(c[ka>>2]|0,Aa)}else h=174;g:do if((h|0)==174?!((b[ua>>1]|0)!=0?1:(d[(c[za>>2]|0)+17>>0]|0)==0):0){c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break g;c[ta>>2]=gr((c[(c[ka+(c[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;eK(c[za>>2]|0,c[ta>>2]|0,5,c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=c[wa>>2];while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break a;aL(c[la+(c[pa>>2]<<2)>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}}while(0);Fi(c[ma+8>>2]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;QB(c[la+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;QB(c[ka+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[ga>>2]=c[Aa>>2];Ca=c[ga>>2]|0;i=Da;return Ca|0}function cM(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;if(b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0){b[e>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0;a=b[e>>1]|0;i=h;return a|0}else{b[e>>1]=oM(c[f>>2]|0,c[g>>2]|0)|0;a=b[e>>1]|0;i=h;return a|0}return 0}function dM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=a;c[g>>2]=d;b[j>>1]=e;b[(c[h>>2]|0)+24>>1]=b[j>>1]|0;hK(c[h>>2]|0,c[g>>2]|0);i=f;return}function eM(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;o=D+68|0;p=D+64|0;q=D+60|0;r=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;m=D+16|0;l=D+12|0;n=D+8|0;y=D+4|0;x=D;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=c[(c[p>>2]|0)+56>>2];c[v>>2]=d[(c[p>>2]|0)+5>>0];c[A>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[s>>2]<<1);c[z>>2]=e[(c[p>>2]|0)+18>>1];c[m>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+18>>1]|0)+(d[(c[p>>2]|0)+1>>0]|0);c[l>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[q>>2]|0)<(c[r>>2]|0)){c[n>>2]=iM(c[p>>2]|0,c[q>>2]|0,(c[r>>2]|0)-(c[q>>2]|0)|0,c[t>>2]|0)|0;UR(c[(c[p>>2]|0)+64>>2]|0,(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[z>>2]<<1|0)|0;c[z>>2]=(c[z>>2]|0)-(c[n>>2]|0)}if((c[l>>2]|0)<(c[m>>2]|0)){f=iM(c[p>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0,c[t>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-f}c[C>>2]=(c[u>>2]|0)+((((d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[C>>2]|0)>>>0>=(c[A>>2]|0)>>>0){if((c[r>>2]|0)<(c[q>>2]|0)){if((c[s>>2]|0)<((c[q>>2]|0)-(c[r>>2]|0)|0))h=c[s>>2]|0;else h=(c[q>>2]|0)-(c[r>>2]|0)|0;c[y>>2]=h;c[B>>2]=c[(c[p>>2]|0)+64>>2];UR((c[B>>2]|0)+(c[y>>2]<<1)|0,c[B>>2]|0,c[z>>2]<<1|0)|0;if(jM(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,c[r>>2]|0,c[y>>2]|0,c[t>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+(c[y>>2]|0)}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(d[(c[p>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+22+(c[w>>2]<<1)>>1]|0)-(c[r>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[s>>2]|0):0)?(c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[x>>2]<<1),UR((c[B>>2]|0)+2|0,c[B>>2]|0,(c[z>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[z>>2]=(c[z>>2]|0)+1,(jM(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[x>>2]|0)+(c[r>>2]|0)|0,1,c[t>>2]|0)|0)!=0):0)break a;c[w>>2]=(c[w>>2]|0)+1}c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[z>>2]<<1);if(!(jM(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[r>>2]|0)+(c[z>>2]|0)|0,(c[s>>2]|0)-(c[z>>2]|0)|0,c[t>>2]|0)|0)){b[(c[p>>2]|0)+18>>1]=c[s>>2];a[(c[p>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[p>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[p>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[C>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[C>>2]|0)-(c[u>>2]|0);c[o>>2]=0;C=c[o>>2]|0;i=D;return C|0}}while(0);kM(c[t>>2]|0,c[r>>2]|0,c[s>>2]|0);c[o>>2]=lM(c[p>>2]|0,c[s>>2]|0,(c[(c[t>>2]|0)+8>>2]|0)+(c[r>>2]<<2)|0,(c[(c[t>>2]|0)+12>>2]|0)+(c[r>>2]<<1)|0)|0;C=c[o>>2]|0;i=D;return C|0}function fM(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;f=y+64|0;g=y+60|0;m=y+56|0;r=y+52|0;l=y+48|0;s=y+44|0;v=y+40|0;j=y+36|0;h=y+32|0;p=y+28|0;k=y+24|0;u=y+20|0;t=y+16|0;n=y+12|0;o=y+8|0;q=y+4|0;w=y;c[g>>2]=b;c[u>>2]=0;b=c[(c[g>>2]|0)+56>>2]|0;c[k>>2]=b;c[t>>2]=b;c[l>>2]=d[(c[g>>2]|0)+5>>0];c[j>>2]=e[(c[g>>2]|0)+14>>1];c[p>>2]=e[(c[g>>2]|0)+18>>1];c[v>>2]=c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2];c[h>>2]=c[v>>2];c[n>>2]=(c[j>>2]|0)+(c[p>>2]<<1);c[o>>2]=(c[v>>2]|0)-4;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[p>>2]|0)){x=14;break}c[q>>2]=(c[k>>2]|0)+((c[j>>2]|0)+(c[m>>2]<<1));c[r>>2]=(d[c[q>>2]>>0]|0)<<8|(d[(c[q>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[n>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[o>>2]|0)){x=5;break}c[s>>2]=(Yb[c[(c[g>>2]|0)+76>>2]&255](c[g>>2]|0,(c[t>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[h>>2]=(c[h>>2]|0)-(c[s>>2]|0);if((c[h>>2]|0)<(c[n>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[s>>2]|0)|0)>(c[v>>2]|0)){x=8;break}a[c[q>>2]>>0]=c[h>>2]>>8;a[(c[q>>2]|0)+1>>0]=c[h>>2];if(!(c[u>>2]|0)){if((c[h>>2]|0)!=(c[r>>2]|0)){c[u>>2]=hM(c[c[(c[g>>2]|0)+52>>2]>>2]|0)|0;c[w>>2]=(d[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]|0)<<8|(d[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]|0);TR((c[u>>2]|0)+(c[w>>2]|0)|0,(c[k>>2]|0)+(c[w>>2]|0)|0,(c[h>>2]|0)+(c[s>>2]|0)-(c[w>>2]|0)|0)|0;c[t>>2]=c[u>>2];x=12}}else x=12;if((x|0)==12){x=0;TR((c[k>>2]|0)+(c[h>>2]|0)|0,(c[t>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}if((x|0)==5){c[f>>2]=Qj(59617)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==8){c[f>>2]=Qj(59623)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==14){a[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]=c[h>>2]>>8;a[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]=c[h>>2];a[(c[k>>2]|0)+((c[l>>2]|0)+1)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+2)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+7)>>0]=0;VR((c[k>>2]|0)+(c[n>>2]|0)|0,0,(c[h>>2]|0)-(c[n>>2]|0)|0)|0;if(((c[h>>2]|0)-(c[n>>2]|0)|0)!=(e[(c[g>>2]|0)+16>>1]|0|0)){c[f>>2]=Qj(59647)|0;x=c[f>>2]|0;i=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;i=y;return x|0}}return 0}function gM(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;m=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;n=s;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=s;return}c[q>>2]=c[(c[h>>2]|0)+52>>2];c[l>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[o>>2]=d[(c[h>>2]|0)+5>>0];c[p>>2]=(c[(c[j>>2]|0)+84>>2]|0)==1?100:0;c[n>>2]=d[(c[l>>2]|0)+((c[o>>2]|0)+5)>>0]<<8|d[(c[l>>2]|0)+((c[o>>2]|0)+5)+1>>0];TR((c[m>>2]|0)+(c[n>>2]|0)|0,(c[l>>2]|0)+(c[n>>2]|0)|0,(c[(c[q>>2]|0)+36>>2]|0)-(c[n>>2]|0)|0)|0;TR((c[m>>2]|0)+(c[p>>2]|0)|0,(c[l>>2]|0)+(c[o>>2]|0)|0,(e[(c[h>>2]|0)+14>>1]|0)+(e[(c[h>>2]|0)+18>>1]<<1)|0)|0;a[c[j>>2]>>0]=0;c[r>>2]=Wt(c[j>>2]|0)|0;if(c[r>>2]|0){c[c[k>>2]>>2]=c[r>>2];i=s;return}if(!(a[(c[q>>2]|0)+17>>0]|0)){i=s;return}r=dK(c[j>>2]|0)|0;c[c[k>>2]>>2]=r;i=s;return}function hM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+208>>2]|0}function iM(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+64|0;h=w+56|0;j=w+52|0;x=w+48|0;y=w+44|0;k=w+40|0;l=w+36|0;q=w+32|0;s=w+28|0;o=w+24|0;m=w+20|0;n=w+16|0;r=w+12|0;u=w+8|0;p=w+4|0;t=w;c[j>>2]=a;c[x>>2]=b;c[y>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=(c[l>>2]|0)+(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0);c[s>>2]=(c[l>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8+(d[(c[j>>2]|0)+6>>0]|0));c[o>>2]=0;c[n>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[r>>2]=0;c[u>>2]=0;c[m>>2]=c[x>>2];while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[s>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0){c[t>>2]=e[(c[(c[k>>2]|0)+12>>2]|0)+(c[m>>2]<<1)>>1];if((c[r>>2]|0)!=((c[p>>2]|0)+(c[t>>2]|0)|0)){if(c[r>>2]|0)nM(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[r>>2]=c[p>>2];c[u>>2]=c[t>>2];if(((c[r>>2]|0)+(c[t>>2]|0)|0)>>>0>(c[q>>2]|0)>>>0){v=9;break}}else{c[r>>2]=c[p>>2];c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0)}c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((v|0)==9){c[h>>2]=0;y=c[h>>2]|0;i=w;return y|0}if(c[r>>2]|0)nM(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[h>>2]=c[o>>2];y=c[h>>2]|0;i=w;return y|0}function jM(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+64|0;l=y+56|0;m=y+52|0;n=y+48|0;o=y+44|0;p=y+40|0;z=y+36|0;A=y+32|0;q=y+28|0;s=y+24|0;r=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[z>>2]=h;c[A>>2]=j;c[q>>2]=k;c[r>>2]=c[(c[m>>2]|0)+56>>2];c[u>>2]=c[c[o>>2]>>2];c[t>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[s>>2]=c[z>>2];while(1){if((c[s>>2]|0)>=(c[t>>2]|0)){h=10;break}c[x>>2]=(cM(c[q>>2]|0,c[s>>2]|0)|0)&65535;if((d[(c[r>>2]|0)+1>>0]|0|0)==0?(d[(c[r>>2]|0)+2>>0]|0|0)==0:0)h=6;else h=5;if((h|0)==5?(h=0,A=mM(c[m>>2]|0,c[x>>2]|0,w)|0,c[v>>2]=A,(A|0)==0):0)h=6;if((h|0)==6){if(((c[u>>2]|0)-(c[n>>2]|0)|0)<(c[x>>2]|0)){h=7;break}c[u>>2]=(c[u>>2]|0)+(0-(c[x>>2]|0));c[v>>2]=c[u>>2]}UR(c[v>>2]|0,c[(c[(c[q>>2]|0)+8>>2]|0)+(c[s>>2]<<2)>>2]|0,c[x>>2]|0)|0;a[c[p>>2]>>0]=(c[v>>2]|0)-(c[r>>2]|0)>>8;a[(c[p>>2]|0)+1>>0]=(c[v>>2]|0)-(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+2;c[s>>2]=(c[s>>2]|0)+1}if((h|0)==7){c[l>>2]=1;A=c[l>>2]|0;i=y;return A|0}else if((h|0)==10){c[c[o>>2]>>2]=c[u>>2];c[l>>2]=0;A=c[l>>2]|0;i=y;return A|0}return 0}function kM(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;while(1){if((c[j>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=Yb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=a}c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function lM(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;r=x+52|0;s=x+48|0;t=x+44|0;k=x+40|0;l=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;p=x+20|0;m=x+16|0;o=x+12|0;q=x+8|0;w=x+4|0;n=x;c[s>>2]=f;c[t>>2]=g;c[k>>2]=h;c[l>>2]=j;c[v>>2]=d[(c[s>>2]|0)+5>>0];c[u>>2]=c[(c[s>>2]|0)+56>>2];c[y>>2]=c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2];c[p>>2]=(c[u>>2]|0)+(c[y>>2]|0);c[o>>2]=c[(c[s>>2]|0)+64>>2];c[q>>2]=hM(c[c[(c[s>>2]|0)+52>>2]>>2]|0)|0;c[m>>2]=(d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0);TR((c[q>>2]|0)+(c[m>>2]|0)|0,(c[u>>2]|0)+(c[m>>2]|0)|0,(c[y>>2]|0)-(c[m>>2]|0)|0)|0;c[w>>2]=c[p>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[t>>2]|0)){k=9;break}c[n>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];if((c[n>>2]|0)>>>0>=(c[u>>2]|0)>>>0?(c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0:0)c[n>>2]=(c[q>>2]|0)+((c[n>>2]|0)-(c[u>>2]|0));c[w>>2]=(c[w>>2]|0)+(0-(e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0));a[c[o>>2]>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[o>>2]|0)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+2;if((c[w>>2]|0)>>>0<(c[o>>2]|0)>>>0){k=7;break}TR(c[w>>2]|0,c[n>>2]|0,e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0|0)|0;c[m>>2]=(c[m>>2]|0)+1}if((k|0)==7){c[r>>2]=Qj(64716)|0;y=c[r>>2]|0;i=x;return y|0}else if((k|0)==9){b[(c[s>>2]|0)+18>>1]=c[t>>2];a[(c[s>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[s>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[s>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);a[(c[u>>2]|0)+((c[v>>2]|0)+7)>>0]=0;c[r>>2]=0;y=c[r>>2]|0;i=x;return y|0}return 0}function mM(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+40|0;k=t+36|0;h=t+32|0;l=t+28|0;n=t+24|0;m=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;q=t;c[k>>2]=b;c[h>>2]=f;c[l>>2]=g;c[n>>2]=d[(c[k>>2]|0)+5>>0];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[o>>2]=(c[n>>2]|0)+1;c[p>>2]=(d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[o>>2]|0)+1>>0]|0);c[r>>2]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[p>>2]|0)>((c[r>>2]|0)-4|0)){f=4;break}if((c[p>>2]|0)<((c[o>>2]|0)+4|0)){f=4;break}c[q>>2]=(d[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]|0);g=(c[q>>2]|0)-(c[h>>2]|0)|0;c[s>>2]=g;b=c[p>>2]|0;if((g|0)>=0){f=6;break}c[o>>2]=b;c[p>>2]=(d[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[p>>2]|0)+1>>0]|0);if(!(c[p>>2]|0)){f=16;break}}if((f|0)==4){s=Qj(59680)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==6){if((b|0)>=((e[(c[k>>2]|0)+14>>1]|0)+((e[(c[k>>2]|0)+18>>1]|0)<<1)|0)?((c[q>>2]|0)+(c[p>>2]|0)|0)<=(c[r>>2]|0):0){do if((c[s>>2]|0)<4){if((d[(c[m>>2]|0)+((c[n>>2]|0)+7)>>0]|0|0)<=57){r=(c[m>>2]|0)+(c[o>>2]|0)|0;q=(c[m>>2]|0)+(c[p>>2]|0)|0;a[r>>0]=a[q>>0]|0;a[r+1>>0]=a[q+1>>0]|0;r=(c[m>>2]|0)+((c[n>>2]|0)+7)|0;a[r>>0]=(d[r>>0]|0)+(c[s>>2]&255);break}c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else{a[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]=c[s>>2]>>8;a[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]=c[s>>2]}while(0);c[j>>2]=(c[m>>2]|0)+((c[p>>2]|0)+(c[s>>2]|0));s=c[j>>2]|0;i=t;return s|0}s=Qj(59691)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==16){c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}return 0}function nM(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;j=y+20|0;k=y+16|0;l=y+32|0;m=y+30|0;u=y+28|0;r=y+26|0;p=y+35|0;w=y+34|0;t=y+24|0;s=y+12|0;q=y+8|0;o=y+4|0;v=y;c[k>>2]=f;b[l>>1]=g;b[m>>1]=h;a[w>>0]=0;b[t>>1]=b[m>>1]|0;c[s>>2]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[q>>2]=(e[l>>1]|0)+(e[m>>1]|0);c[o>>2]=c[(c[k>>2]|0)+56>>2];if((e[(c[(c[k>>2]|0)+52>>2]|0)+22>>1]|0)&4)VR((c[o>>2]|0)+(e[l>>1]|0)|0,0,e[m>>1]|0|0)|0;a[p>>0]=a[(c[k>>2]|0)+5>>0]|0;b[u>>1]=(d[p>>0]|0)+1;if((d[(c[o>>2]|0)+((e[u>>1]|0)+1)>>0]|0|0)==0?(d[(c[o>>2]|0)+(e[u>>1]|0)>>0]|0|0)==0:0)b[r>>1]=0;else x=6;do if((x|0)==6){while(1){x=0;f=((d[(c[o>>2]|0)+(e[u>>1]|0)>>0]|0)<<8|(d[(c[o>>2]|0)+(e[u>>1]|0)+1>>0]|0))&65535;b[r>>1]=f;if((f&65535|0)>=(e[l>>1]|0|0))break;n=b[r>>1]|0;if((e[r>>1]|0|0)<((e[u>>1]|0)+4|0)){x=8;break}b[u>>1]=n;x=6}if((x|0)==8?(n&65535|0)!=0:0){c[j>>2]=Qj(59854)|0;x=c[j>>2]|0;i=y;return x|0}if((e[r>>1]|0)>>>0>(c[s>>2]|0)>>>0){c[j>>2]=Qj(59858)|0;x=c[j>>2]|0;i=y;return x|0}do if((e[r>>1]|0|0)!=0?((c[q>>2]|0)+3|0)>>>0>=(e[r>>1]|0)>>>0:0){a[w>>0]=(e[r>>1]|0)-(c[q>>2]|0);if((c[q>>2]|0)>>>0>(e[r>>1]|0)>>>0){c[j>>2]=Qj(59869)|0;x=c[j>>2]|0;i=y;return x|0}c[q>>2]=(e[r>>1]|0)+((d[(c[o>>2]|0)+((e[r>>1]|0)+2)>>0]|0)<<8|(d[(c[o>>2]|0)+((e[r>>1]|0)+2)+1>>0]|0));if((c[q>>2]|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[m>>1]=(c[q>>2]|0)-(e[l>>1]|0);b[r>>1]=(d[(c[o>>2]|0)+(e[r>>1]|0)>>0]|0)<<8|(d[(c[o>>2]|0)+(e[r>>1]|0)+1>>0]|0);break}c[j>>2]=Qj(59871)|0;x=c[j>>2]|0;i=y;return x|0}while(0);do if((e[u>>1]|0|0)>((d[p>>0]|0)+1|0)?(c[v>>2]=(e[u>>1]|0)+((d[(c[o>>2]|0)+((e[u>>1]|0)+2)>>0]|0)<<8|(d[(c[o>>2]|0)+((e[u>>1]|0)+2)+1>>0]|0)),((c[v>>2]|0)+3|0)>=(e[l>>1]|0|0)):0){if((c[v>>2]|0)<=(e[l>>1]|0|0)){a[w>>0]=(d[w>>0]|0)+((e[l>>1]|0)-(c[v>>2]|0));b[m>>1]=(c[q>>2]|0)-(e[u>>1]|0);b[l>>1]=b[u>>1]|0;break}c[j>>2]=Qj(59883)|0;x=c[j>>2]|0;i=y;return x|0}while(0);if((d[w>>0]|0|0)<=(d[(c[o>>2]|0)+((d[p>>0]|0)+7)>>0]|0|0)){x=(c[o>>2]|0)+((d[p>>0]|0)+7)|0;a[x>>0]=(d[x>>0]|0)-(d[w>>0]|0);break}c[j>>2]=Qj(59889)|0;x=c[j>>2]|0;i=y;return x|0}while(0);do if((e[l>>1]|0|0)==((d[(c[o>>2]|0)+((d[p>>0]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((d[p>>0]|0)+5)+1>>0]|0)|0)){if((e[u>>1]|0|0)==((d[p>>0]|0)+1|0)){a[(c[o>>2]|0)+((d[p>>0]|0)+1)>>0]=(e[r>>1]|0)>>8;a[(c[o>>2]|0)+((d[p>>0]|0)+1)+1>>0]=b[r>>1];a[(c[o>>2]|0)+((d[p>>0]|0)+5)>>0]=(c[q>>2]|0)>>>8;a[(c[o>>2]|0)+((d[p>>0]|0)+5)+1>>0]=c[q>>2];break}c[j>>2]=Qj(59896)|0;x=c[j>>2]|0;i=y;return x|0}else{a[(c[o>>2]|0)+(e[u>>1]|0)>>0]=(e[l>>1]|0)>>8;a[(c[o>>2]|0)+(e[u>>1]|0)+1>>0]=b[l>>1];a[(c[o>>2]|0)+(e[l>>1]|0)>>0]=(e[r>>1]|0)>>8;a[(c[o>>2]|0)+(e[l>>1]|0)+1>>0]=b[r>>1];a[(c[o>>2]|0)+((e[l>>1]|0)+2)>>0]=(e[m>>1]|0)>>8;a[(c[o>>2]|0)+((e[l>>1]|0)+2)+1>>0]=b[m>>1]}while(0);x=(c[k>>2]|0)+16|0;b[x>>1]=(e[x>>1]|0)+(e[t>>1]|0);c[j>>2]=0;x=c[j>>2]|0;i=y;return x|0}function oM(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;a=Yb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=a;i=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function pM(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;o=t+20|0;m=t+16|0;r=t+12|0;q=t+8|0;n=t+4|0;p=t;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[o>>2]=d[(c[j>>2]|0)+5>>0];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=0;c[n>>2]=(e[(c[j>>2]|0)+14>>1]|0)+((e[(c[j>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0);do if((c[n>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[h>>2]=Qj(59758)|0;s=c[h>>2]|0;i=t;return s|0}while(0);if(!((d[(c[m>>2]|0)+((c[o>>2]|0)+2)>>0]|0|0)==0?(d[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((c[n>>2]|0)+2|0)<=(c[r>>2]|0):0){c[p>>2]=mM(c[j>>2]|0,c[k>>2]|0,q)|0;if(c[p>>2]|0){c[c[l>>2]>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}}do if(((c[n>>2]|0)+2+(c[k>>2]|0)|0)>(c[r>>2]|0)){c[q>>2]=fM(c[j>>2]|0)|0;if(!(c[q>>2]|0)){c[r>>2]=(((d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[k>>2]|0);a[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]=c[r>>2];c[c[l>>2]>>2]=c[r>>2];c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function qM(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+76|0;k=E+72|0;l=E+68|0;j=E+64|0;m=E+60|0;r=E+56|0;x=E+52|0;s=E+48|0;p=E+44|0;D=E+40|0;A=E+36|0;u=E+32|0;C=E+28|0;w=E+24|0;v=E+20|0;t=E+16|0;y=E+12|0;q=E+8|0;o=E+4|0;z=E;n=E+80|0;c[k>>2]=b;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[u>>2]=0;c[C>>2]=0;c[t>>2]=c[(c[k>>2]|0)+52>>2];c[y>>2]=0;c[q>>2]=d[(c[k>>2]|0)+6>>0];f=c[j>>2]|0;if(a[(c[k>>2]|0)+2>>0]|0){c[r>>2]=(c[f+20>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);c[x>>2]=c[(c[j>>2]|0)+16>>2];c[s>>2]=c[(c[j>>2]|0)+20>>2];if((c[r>>2]|0)>>>0<128){a[(c[l>>2]|0)+(c[q>>2]|0)>>0]=c[r>>2];f=1}else{f=c[r>>2]|0;f=SI((c[l>>2]|0)+(c[q>>2]|0)|0,f,((f|0)<0)<<31>>31)|0}c[q>>2]=(c[q>>2]|0)+(f&255);j=(c[j>>2]|0)+8|0;j=SI((c[l>>2]|0)+(c[q>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+j}else{h=c[f+8>>2]|0;c[r>>2]=h;c[s>>2]=h;c[x>>2]=c[c[j>>2]>>2];if((c[r>>2]|0)>>>0<128){a[(c[l>>2]|0)+(c[q>>2]|0)>>0]=c[r>>2];f=1}else{f=c[r>>2]|0;f=SI((c[l>>2]|0)+(c[q>>2]|0)|0,f,((f|0)<0)<<31>>31)|0}c[q>>2]=(c[q>>2]|0)+(f&255)}if((c[r>>2]|0)<=(e[(c[k>>2]|0)+10>>1]|0)){o=(c[q>>2]|0)+(c[r>>2]|0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)<4?4:o;c[c[m>>2]>>2]=c[p>>2];c[A>>2]=c[r>>2];c[w>>2]=c[l>>2]}else{c[o>>2]=e[(c[k>>2]|0)+12>>1];c[p>>2]=(c[o>>2]|0)+((((c[r>>2]|0)-(c[o>>2]|0)|0)>>>0)%(((c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[p>>2]|0)>(e[(c[k>>2]|0)+10>>1]|0))c[p>>2]=c[o>>2];c[A>>2]=c[p>>2];c[c[m>>2]>>2]=(c[p>>2]|0)+(c[q>>2]|0)+4;c[w>>2]=(c[l>>2]|0)+((c[q>>2]|0)+(c[p>>2]|0))}c[v>>2]=(c[l>>2]|0)+(c[q>>2]|0);while(1){if((c[r>>2]|0)<=0){f=35;break}if(!(c[A>>2]|0)){c[z>>2]=c[y>>2];if(a[(c[t>>2]|0)+17>>0]|0)while(1){c[y>>2]=(c[y>>2]|0)+1;q=VF(c[t>>2]|0,c[y>>2]|0)|0;if((q|0)==(c[y>>2]|0))continue;if((c[y>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[t>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[D>>2]=aK(c[t>>2]|0,u,y,c[y>>2]|0,0)|0;if(((c[D>>2]|0)==0?(d[(c[t>>2]|0)+17>>0]|0)!=0:0)?(a[n>>0]=(c[z>>2]|0)!=0?4:3,eK(c[t>>2]|0,c[y>>2]|0,a[n>>0]|0,c[z>>2]|0,D),(c[D>>2]|0)!=0):0)QB(c[u>>2]|0);if(c[D>>2]|0){f=25;break}ft(c[w>>2]|0,c[y>>2]|0);QB(c[C>>2]|0);c[C>>2]=c[u>>2];c[w>>2]=c[(c[u>>2]|0)+56>>2];ft(c[w>>2]|0,0);c[v>>2]=(c[(c[u>>2]|0)+56>>2]|0)+4;c[A>>2]=(c[(c[t>>2]|0)+36>>2]|0)-4}c[p>>2]=c[r>>2];if((c[p>>2]|0)>(c[A>>2]|0))c[p>>2]=c[A>>2];if((c[s>>2]|0)>0){if((c[p>>2]|0)>(c[s>>2]|0))c[p>>2]=c[s>>2];TR(c[v>>2]|0,c[x>>2]|0,c[p>>2]|0)|0}else VR(c[v>>2]|0,0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[p>>2]|0);c[x>>2]=(c[x>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)-(c[p>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[p>>2]|0)}if((f|0)==25){QB(c[C>>2]|0);c[B>>2]=c[D>>2];D=c[B>>2]|0;i=E;return D|0}else if((f|0)==35){QB(c[C>>2]|0);c[B>>2]=0;D=c[B>>2]|0;i=E;return D|0}return 0}function rM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}xJ(c[d>>2]|0,c[f>>2]|0);Kd(c[(c[f>>2]|0)+36+4>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function sM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;n=u+28|0;p=u+24|0;r=u+20|0;t=u+16|0;s=u+12|0;q=u+8|0;o=u+4|0;l=u+48|0;m=u;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[h>>2]|0)+4>>2];f=c[n>>2]|0;if(a[(c[n>>2]|0)+17>>0]|0){_J(f);rg(c[h>>2]|0,4,r);c[r>>2]=(c[r>>2]|0)+1;while(1){e=c[r>>2]|0;if((e|0)!=(VF(c[n>>2]|0,c[r>>2]|0)|0)?(c[r>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=aK(c[n>>2]|0,o,q,c[r>>2]|0,1)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}if((c[q>>2]|0)!=(c[r>>2]|0)){a[l>>0]=0;c[m>>2]=0;c[t>>2]=XH(c[n>>2]|0,0,0)|0;QB(c[o>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=XF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=WF(c[n>>2]|0,c[r>>2]|0,l,m)|0;if(!((d[l>>0]|0)!=1?(d[l>>0]|0)!=2:0))c[t>>2]=Qj(66598)|0;if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=bK(c[n>>2]|0,c[p>>2]|0,a[l>>0]|0,c[m>>2]|0,c[q>>2]|0,0)|0;QB(c[p>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=XF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Gg(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else c[p>>2]=c[o>>2];eK(c[n>>2]|0,c[r>>2]|0,1,0,t);if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Bg(c[h>>2]|0,4,c[r>>2]|0)|0;if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else{c[t>>2]=aK(f,p,r,1,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}if(c[k>>2]&1)c[s>>2]=13;else c[s>>2]=10;bL(c[p>>2]|0,c[s>>2]|0);yg(c[(c[p>>2]|0)+72>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}function tM(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;q=r;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[(c[k>>2]|0)+4>>2];if((c[m>>2]|0)!=0?(uM(c[p>>2]|0),(c[(c[p>>2]|0)+80>>2]|0)==0):0){c[j>>2]=7;f=c[j>>2]|0;i=r;return f|0}if((c[l>>2]|0)==1?(JF(c[p>>2]|0)|0)==0:0)c[l>>2]=0;c[(c[o>>2]|0)+52>>2]=c[l>>2];a[(c[o>>2]|0)+68>>0]=-1;c[(c[o>>2]|0)+72>>2]=c[n>>2];c[c[o>>2]>>2]=c[k>>2];c[(c[o>>2]|0)+4>>2]=c[p>>2];a[(c[o>>2]|0)+64>>0]=(c[m>>2]|0)!=0?1:0;a[(c[o>>2]|0)+65>>0]=(c[m>>2]|0)!=0?0:2;c[q>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if((c[(c[q>>2]|0)+52>>2]|0)==(c[l>>2]|0)){f=(c[q>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32;f=(c[o>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32}c[q>>2]=c[(c[q>>2]|0)+8>>2]}c[(c[o>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];c[(c[p>>2]|0)+8>>2]=c[o>>2];a[(c[o>>2]|0)+66>>0]=0;c[j>>2]=0;f=c[j>>2]|0;i=r;return f|0}function uM(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){i=e;return}b=Yi(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;b=(c[d>>2]|0)+80|0;c[b>>2]=(c[b>>2]|0)+4;i=e;return}function vM(){return 200}function wM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function xM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?(d[(c[f>>2]|0)+6>>0]|0|0)!=0:0){c[e>>2]=yM(c[f>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}function yM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;h=l+8|0;g=l+4|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[h>>2]=c[(c[d>>2]|0)+104>>2];c[f>>2]=cg(c[(c[d>>2]|0)+100>>2]|0,(c[e>>2]|0)*48|0,0)|0;if(!(c[f>>2]|0)){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}VR((c[f>>2]|0)+((c[h>>2]|0)*48|0)|0,0,((c[e>>2]|0)-(c[h>>2]|0)|0)*48|0)|0;c[(c[d>>2]|0)+100>>2]=c[f>>2];c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[e>>2]|0)){d=14;break}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[d>>2]|0)+28>>2];if((c[c[(c[d>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[d>>2]|0)+80|0,b=c[a+4>>2]|0,(b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0):0){h=(c[d>>2]|0)+80|0;b=c[h+4>>2]|0;a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[h>>2];c[a+4>>2]=b}else{a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[(c[d>>2]|0)+156>>2];c[a+4>>2]=0}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[d>>2]|0)+56>>2];a=kj(c[(c[d>>2]|0)+28>>2]|0)|0;c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){d=10;break}if(Br(c[d>>2]|0)|0)zM(c[(c[d>>2]|0)+216>>2]|0,(c[f>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[d>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((d|0)==10){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}else if((d|0)==14){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}return 0}function zM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];i=d;return}function AM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n+8|0;l=n+4|0;g=n;c[k>>2]=f;if((c[(c[k>>2]|0)+44>>2]|0)>>>0>0){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}c[m>>2]=c[(c[k>>2]|0)+12>>2];c[l>>2]=c[(c[m>>2]|0)+56>>2];c[g>>2]=Gg(c[(c[m>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[g>>2];m=c[j>>2]|0;i=n;return m|0}else{f=c[l>>2]|0;g=41796;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[l>>2]|0)+16>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>8;a[(c[l>>2]|0)+17>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>16;a[(c[l>>2]|0)+18>>0]=1;a[(c[l>>2]|0)+19>>0]=1;a[(c[l>>2]|0)+20>>0]=(c[(c[k>>2]|0)+32>>2]|0)-(c[(c[k>>2]|0)+36>>2]|0);a[(c[l>>2]|0)+21>>0]=64;a[(c[l>>2]|0)+22>>0]=32;a[(c[l>>2]|0)+23>>0]=32;f=(c[l>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));bL(c[m>>2]|0,13);m=(c[k>>2]|0)+22|0;b[m>>1]=e[m>>1]|0|2;ft((c[l>>2]|0)+52|0,d[(c[k>>2]|0)+17>>0]|0);ft((c[l>>2]|0)+64|0,d[(c[k>>2]|0)+18>>0]|0);c[(c[k>>2]|0)+44>>2]=1;a[(c[l>>2]|0)+31>>0]=1;c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}return 0}function BM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+24|0;h=o+20|0;j=o;l=o+16|0;m=o+12|0;n=o+8|0;k=o+28|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[j+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[j>>2];n=j;n=SR(c[n>>2]|0,c[n+4>>2]|0,8)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=7;while(1){if((c[l>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=c[j>>2]&127|128;n=j;n=SR(c[n>>2]|0,c[n+4>>2]|0,7)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=9;b=c[g>>2]|0;i=o;return b|0}c[n>>2]=0;do{b=(c[j>>2]&127|128)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[k+f>>0]=b;f=j;f=SR(c[f>>2]|0,c[f+4>>2]|0,7)|0;b=j;c[b>>2]=f;c[b+4>>2]=C;b=j}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[k>>0]=(d[k>>0]|0)&127;c[l>>2]=0;c[m>>2]=(c[n>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=a[k+(c[m>>2]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=o;return b|0}function CM(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;b[(c[n>>2]|0)+8>>1]=1;h=Nx(c[n>>2]|0,(c[l>>2]|0)+2|0)|0;c[o>>2]=h;if(h){o=c[o>>2]|0;i=p;return o|0}e=c[j>>2]|0;j=c[k>>2]|0;f=c[l>>2]|0;g=c[(c[n>>2]|0)+16>>2]|0;if(c[m>>2]|0)c[o>>2]=cI(e,j,f,g)|0;else c[o>>2]=Qh(e,j,f,g)|0;if(!(c[o>>2]|0)){a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[(c[n>>2]|0)+16>>2]|0)+((c[l>>2]|0)+1)>>0]=0;b[(c[n>>2]|0)+8>>1]=528;c[(c[n>>2]|0)+12>>2]=c[l>>2];o=c[o>>2]|0;i=p;return o|0}else{Xg(c[n>>2]|0);o=c[o>>2]|0;i=p;return o|0}return 0}function DM(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];i=j;return c[(c[f>>2]|0)+16+8>>2]|0}function EM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[f>>2]=OF(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,g)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];g=c[d>>2]|0;i=h;return g|0}if(c[g>>2]|0){c[d>>2]=Qj(73491)|0;g=c[d>>2]|0;i=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function FM(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;d=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[g>>2]|0)+12>>2];c[k>>2]=c[(c[h>>2]|0)+12>>2];b=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0|(e[(c[h>>2]|0)+8>>1]|0))&16384)){c[d>>2]=eR(c[b+16>>2]|0,c[(c[h>>2]|0)+16>>2]|0,(c[j>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[j>>2]|0)|0;if(c[d>>2]|0){c[f>>2]=c[d>>2];k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=(c[j>>2]|0)-(c[k>>2]|0);k=c[f>>2]|0;i=l;return k|0}}a=c[g>>2]|0;if((e[b+8>>1]|0)&(e[(c[h>>2]|0)+8>>1]|0)&16384){c[f>>2]=(c[a>>2]|0)-(c[c[h>>2]>>2]|0);k=c[f>>2]|0;i=l;return k|0}if((e[a+8>>1]|0)&16384)if(hG(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[c[g>>2]>>2]|0)-(c[k>>2]|0);k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=-1;k=c[f>>2]|0;i=l;return k|0}else if(hG(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[j>>2]|0)-(c[c[h>>2]>>2]|0);k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=1;k=c[f>>2]|0;i=l;return k|0}return 0}function GM(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(ez(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;d=b[e>>1]|0;i=g;return d|0}if(!(Mi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;d=b[e>>1]|0;i=g;return d|0}else{b[e>>1]=8;d=b[e>>1]|0;i=g;return d|0}return 0}function HM(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;if(Ox(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}return 0}function IM(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;ih(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;i=e;return c[d>>2]|0}function JM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+184>>2]|0){c[b>>2]=c[(c[d>>2]|0)+184>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}zI(a)|0;c[(c[d>>2]|0)+184>>2]=0;c[(c[d>>2]|0)+192>>2]=0}PM(c[d>>2]|0);if(c[(c[d>>2]|0)+92>>2]|0)OC(c[(c[d>>2]|0)+92>>2]|0,c[(c[d>>2]|0)+24>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+188>>2]|0))break;c[e>>2]=c[a+188>>2];c[(c[d>>2]|0)+188>>2]=c[(c[e>>2]|0)+4>>2];QM(c[e>>2]|0)}if(!(c[a+204>>2]|0)){i=f;return}LI(c[c[d>>2]>>2]|0,(c[d>>2]|0)+204|0,-1,0);i=f;return}function KM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+144|0;A=I+32|0;D=I+24|0;B=I+16|0;z=I+8|0;e=I+128|0;f=I+124|0;J=I+120|0;g=I+116|0;k=I+112|0;w=I+108|0;l=I+104|0;n=I+100|0;u=I+96|0;o=I+92|0;p=I+88|0;v=I+84|0;G=I+80|0;F=I+76|0;t=I+72|0;m=I;x=I+68|0;y=I+64|0;j=I+60|0;h=I+56|0;q=I+52|0;E=I+48|0;r=I+44|0;s=I+40|0;c[f>>2]=a;c[J>>2]=b;c[k>>2]=0;c[w>>2]=0;c[l>>2]=0;c[w>>2]=LM(c[f>>2]|0,c[J>>2]|0)|0;c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[n>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(fi(c[n>>2]|0)|0){c[l>>2]=1;mg(c[n>>2]|0);c[u>>2]=Pf(c[n>>2]|0)|0;if((d[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+8>>0]|0|0)!=1?(d[41812+(tg(c[u>>2]|0)|0)>>0]|0|0)!=0:0)c[k>>2]=(c[k>>2]|0)+1;c[w>>2]=Ct(c[u>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(((c[l>>2]|0)!=0?(c[(c[f>>2]|0)+204>>2]|0)!=0:0)?(c[w>>2]=Tb[c[(c[f>>2]|0)+204>>2]&255](c[(c[f>>2]|0)+200>>2]|0)|0,(c[w>>2]|0)!=0):0){c[e>>2]=531;J=c[e>>2]|0;i=I;return J|0}J=0==(Jf(Ii(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(J|(c[k>>2]|0)<=1){c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[o>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[o>>2]|0)c[w>>2]=Ng(c[o>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[p>>2]|0)c[w>>2]=Mg(c[p>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}if(!(c[w>>2]|0))MM(c[f>>2]|0)|0}else{c[v>>2]=c[c[f>>2]>>2];c[G>>2]=0;c[F>>2]=Ii(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=0;J=m;c[J>>2]=0;c[J+4>>2]=0;c[y>>2]=0;c[j>>2]=Jf(c[F>>2]|0)|0;J=c[f>>2]|0;c[z>>2]=c[F>>2];c[G>>2]=Gh(J,41818,z)|0;if(!(c[G>>2]|0)){c[e>>2]=7;J=c[e>>2]|0;i=I;return J|0}do{if(c[y>>2]|0){if((c[y>>2]|0)>100){H=35;break}if((c[y>>2]|0)==1){c[D>>2]=c[G>>2];Rd(13,41848,D)}}c[y>>2]=(c[y>>2]|0)+1;Sd(4,h);J=(c[G>>2]|0)+(c[j>>2]|0)|0;F=c[h>>2]&255;c[A>>2]=(c[h>>2]|0)>>>8&16777215;c[A+4>>2]=F;Qd(13,J,41863,A)|0;c[w>>2]=Yr(c[v>>2]|0,c[G>>2]|0,0,x)|0}while((c[w>>2]|0)==0?(c[x>>2]|0)!=0:0);if((H|0)==35){c[B>>2]=c[G>>2];Rd(13,41834,B);xr(c[v>>2]|0,c[G>>2]|0,0)|0}if(!(c[w>>2]|0))c[w>>2]=yL(c[v>>2]|0,c[G>>2]|0,t,16406,0)|0;if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[q>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(((fi(c[q>>2]|0)|0)!=0?(c[E>>2]=NM(c[q>>2]|0)|0,(c[E>>2]|0)!=0):0)?(B=c[t>>2]|0,D=c[E>>2]|0,J=(Jf(c[E>>2]|0)|0)+1|0,F=m,c[w>>2]=Ig(B,D,J,c[F>>2]|0,c[F+4>>2]|0)|0,F=(Jf(c[E>>2]|0)|0)+1|0,J=m,F=RR(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0,J=m,c[J>>2]=F,c[J+4>>2]=C,(c[w>>2]|0)!=0):0){H=48;break}c[g>>2]=(c[g>>2]|0)+1}if((H|0)==48){WK(c[t>>2]|0);xr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(0==((bs(c[t>>2]|0)|0)&1024|0)?(J=vr(c[t>>2]|0,2)|0,c[w>>2]=J,0!=(J|0)):0){WK(c[t>>2]|0);xr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[r>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[r>>2]|0)c[w>>2]=Ng(c[r>>2]|0,c[G>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}WK(c[t>>2]|0);if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[w>>2]=xr(c[v>>2]|0,c[G>>2]|0,1)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[G>>2]=0;if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}Yj();c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[s>>2]|0)Mg(c[s>>2]|0,1)|0;c[g>>2]=(c[g>>2]|0)+1}Zj();MM(c[f>>2]|0)|0}c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}function LM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;g=l+4|0;f=l;c[h>>2]=a;c[d>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[h>>2]|0)+340>>2];c[(c[h>>2]|0)+340>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[h>>2]|0)+316>>2]|0)){d=8;break}c[f>>2]=c[(c[(c[j>>2]|0)+(c[e>>2]<<2)>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(b=c[(c[c[f>>2]>>2]|0)+60>>2]|0,c[g>>2]=b,(b|0)!=0):0){c[k>>2]=Tb[c[g>>2]&255](c[f>>2]|0)|0;mJ(c[d>>2]|0,c[f>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){c[(c[h>>2]|0)+340>>2]=c[j>>2];i=l;return c[k>>2]|0}return 0}function MM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ru(c[d>>2]|0,64);i=b;return 0}function NM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=OM(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function OM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+180>>2]|0}function PM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+112>>2]|0)){i=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){eJ(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}i=f;return}function QM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=(c[b>>2]|0)+80;c[e>>2]=(c[d>>2]|0)+((c[(c[b>>2]|0)+60>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+64>>2]|0))break;eJ(c[c[b>>2]>>2]|0,c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}OC(c[d>>2]|0,c[(c[b>>2]|0)+60>>2]|0);LI(c[c[c[b>>2]>>2]>>2]|0,(c[b>>2]|0)+40|0,-1,0);Tf(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);i=g;return}function RM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[5588+(c[b>>2]<<2)>>2]|0}function SM(b,f,g){b=b|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;u=L+48|0;t=L+40|0;s=L+32|0;A=L+24|0;z=L+16|0;E=L+8|0;r=L;j=L+184|0;k=L+180|0;M=L+176|0;K=L+172|0;J=L+144|0;B=L+140|0;D=L+136|0;C=L+132|0;F=L+128|0;o=L+124|0;p=L+120|0;G=L+116|0;q=L+112|0;m=L+108|0;l=L+104|0;n=L+100|0;c[j>>2]=b;c[k>>2]=f;c[M>>2]=g;c[K>>2]=c[k>>2];dg(J,0,c[k>>2]|0,c[M>>2]|0,0);a:do switch(a[(c[j>>2]|0)+1>>0]|0){case -6:{c[D>>2]=c[(c[j>>2]|0)+16>>2];c[r>>2]=e[(c[D>>2]|0)+6>>1];rA(J,41915,r);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[(c[D>>2]|0)+6>>1]|0))break;c[C>>2]=c[(c[D>>2]|0)+20+(c[B>>2]<<2)>>2];if(c[C>>2]|0)j=c[c[C>>2]>>2]|0;else j=18402;c[F>>2]=j;M=(hR(c[F>>2]|0,34834)|0)==0;c[F>>2]=M?41920:j;M=c[F>>2]|0;c[E>>2]=(d[(c[(c[D>>2]|0)+16>>2]|0)+(c[B>>2]|0)>>0]|0)!=0?28264:18402;c[E+4>>2]=M;rA(J,41922,E);c[B>>2]=(c[B>>2]|0)+1}sA(J,34706,1);break}case -4:{c[o>>2]=c[(c[j>>2]|0)+16>>2];c[z>>2]=c[c[o>>2]>>2];rA(J,41928,z);break}case -5:{c[p>>2]=c[(c[j>>2]|0)+16>>2];M=a[c[p>>2]>>0]|0;c[A>>2]=c[(c[p>>2]|0)+20>>2];c[A+4>>2]=M;rA(J,41936,A);break}case -13:{H=c[(c[j>>2]|0)+16>>2]|0;I=c[H+4>>2]|0;M=s;c[M>>2]=c[H>>2];c[M+4>>2]=I;rA(J,28266,s);break}case -14:{c[t>>2]=c[(c[j>>2]|0)+16>>2];rA(J,41943,t);break}case -12:{h[u>>3]=+h[c[(c[j>>2]|0)+16>>2]>>3];rA(J,41946,u);break}case -8:{c[G>>2]=c[(c[j>>2]|0)+16>>2];j=c[G>>2]|0;if(e[(c[G>>2]|0)+8>>1]&2){c[K>>2]=c[j+16>>2];break a}k=c[G>>2]|0;if(e[j+8>>1]&4){G=k;I=c[G+4>>2]|0;M=H;c[M>>2]=c[G>>2];c[M+4>>2]=I;rA(J,28266,H);break a}j=c[G>>2]|0;if(e[k+8>>1]&8){h[I>>3]=+h[j>>3];rA(J,41946,I);break a}if(e[j+8>>1]&1){c[K>>2]=39691;break a}else{c[K>>2]=41952;break a}}case -10:{c[q>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2];c[v>>2]=c[q>>2];rA(J,41959,v);break}case -15:{c[l>>2]=c[(c[j>>2]|0)+16>>2];c[n>>2]=c[c[l>>2]>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[w>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];rA(J,41967,w);c[m>>2]=(c[m>>2]|0)+1}a[c[k>>2]>>0]=91;sA(J,41971,1);break}case -18:{rA(J,41973,x);break}case -19:{a[c[k>>2]>>0]=0;break}case -20:{c[y>>2]=c[c[(c[j>>2]|0)+16>>2]>>2];rA(J,18391,y);break}default:{c[K>>2]=c[(c[j>>2]|0)+16>>2];if(!(c[K>>2]|0)){c[K>>2]=c[k>>2];a[c[k>>2]>>0]=0}}}while(0);fg(J)|0;i=L;return c[K>>2]|0}function TM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;ih(c[g>>2]|0);d=h;e=c[d+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=e;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function UM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+4|0;l=m;k=m+10|0;h=m+9|0;j=m+8|0;c[g>>2]=f;c[l>>2]=0;a[k>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[h>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[j>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[h>>0]|0)==254?(d[j>>0]|0)==255:0)a[k>>0]=3;if((d[h>>0]|0)==255?(d[j>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=bh(c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}f=(c[g>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)-2;UR(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|512;a[(c[g>>2]|0)+10>>0]=a[k>>0]|0;l=c[l>>2]|0;i=m;return l|0}function VM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(WM(c[e>>2]|0,a[g>>0]|0)|0)){g=0;i=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;i=f;return g|0}function WM(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;j=l;k=l+8|0;c[j>>2]=f;a[k>>0]=g;g=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((d[(c[j>>2]|0)+10>>0]|0|0)!=((d[k>>0]|0)&-9|0))iu(c[j>>2]|0,(d[k>>0]|0)&-9)|0;if((((d[k>>0]|0)&8|0)!=0?1==(1&c[(c[j>>2]|0)+16>>2]|0):0)?(bh(c[j>>2]|0)|0)!=0:0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}GI(c[j>>2]|0)|0}else Mx(g,a[k>>0]|0,0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)==((d[k>>0]|0)&-9|0)){c[h>>2]=c[(c[j>>2]|0)+16>>2];k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function XM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)mG(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}Tf(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}function YM(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Tf(c[e>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;c[(c[d>>2]|0)+104>>2]=0;i=b;return}function ZM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pi(c[d>>2]|0);lg(c[d>>2]|0,7);i=b;return 7}function _M(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pj(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function $M(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+160>>2]|0)>1:0){aN(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;i=g;return}if((d[(c[e>>2]|0)+8>>0]|0|0)!=0?(bN(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;RB(c[f>>2]|0);i=g;return}function aN(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=h;return}c[(c[f>>2]|0)+76>>2]=0;j=(c[f>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=h;return} -function Tm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;p=x+64|0;w=x+60|0;q=x+56|0;r=x+52|0;u=x+48|0;v=x+44|0;m=x+8|0;s=x+40|0;t=x+36|0;n=x+32|0;o=x+28|0;l=x;g=x+24|0;j=x+20|0;h=x+16|0;c[p>>2]=b;c[w>>2]=e;c[q>>2]=f;if(c[c[q>>2]>>2]|0){i=x;return}c[r>>2]=d[(c[p>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){Tm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;i=x;return}o=(a[(c[v>>2]|0)+34>>0]|0)!=0;Tm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0);if(o){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;i=x;return}Tm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[q>>2]>>2]|0)break;o=(c[r>>2]|0)!=0?-1:1;l=(c[u>>2]|0)+24|0;n=(c[v>>2]|0)+24|0;n=QR(c[l>>2]|0,c[l+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=aS(o|0,((o|0)<0)<<31>>31|0,n|0,C|0)|0;o=m;c[o>>2]=n;c[o+4>>2]=C;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0)break;b=c[p>>2]|0;if((c[m+4>>2]|0)<0){Tm(b,c[u>>2]|0,c[q>>2]|0);continue}else{Tm(b,c[v>>2]|0,c[q>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;r=(c[w>>2]|0)+24|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){i=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){i=x;return}a:do if((c[(c[v>>2]|0)+20>>2]|0)!=0?(c[c[(c[v>>2]|0)+20>>2]>>2]|0)!=0:0){c[s>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;VR(c[(c[s>>2]|0)+28>>2]|0,0,c[(c[s>>2]|0)+32>>2]|0)|0;Tm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){i=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){i=x;return}c[t>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0){k=53;break}if(d[(c[u>>2]|0)+32>>0]|0){k=53;break}VR(c[(c[t>>2]|0)+28>>2]|0,0,c[(c[t>>2]|0)+32>>2]|0)|0;Tm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0)}if((k|0)==53){i=x;return}break}case 4:{c[n>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=c[(c[w>>2]|0)+16>>2];v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=QR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=aS(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;do if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[n>>2]|0)+32>>0]|0)==0?(v=l,u=c[v+4>>2]|0,!((d[(c[o>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){Tm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);Tm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);break}Tm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0)}else k=33;while(0);if((k|0)==33)Tm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);if(d[(c[n>>2]|0)+32>>0]|0)b=(d[(c[o>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=QR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=aS(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){u=(c[o>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}u=(c[n>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[j>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[j>>2]|0)+33>>0]|0))Tm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0);Tm(c[p>>2]|0,c[g>>2]|0,c[q>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[q>>2]>>2]|0)break b;if(a[(c[j>>2]|0)+32>>0]|0)break b;u=(c[r>>2]|0)!=0?-1:1;t=(c[g>>2]|0)+24|0;v=(c[j>>2]|0)+24|0;v=QR(c[t>>2]|0,c[t+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=aS(u|0,((u|0)<0)<<31>>31|0,v|0,C|0)|0;u=C;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;Tm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;i=x;return}default:{c[h>>2]=c[(c[w>>2]|0)+20>>2];Vm(c[h>>2]|0);u=Wm(c[p>>2]|0,c[h>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[q>>2]>>2]=u;u=(c[h>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}}}function Um(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;q=r+8|0;p=r;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[q>>2]=c[c[m>>2]>>2];if(!(c[q>>2]|0)){c[q>>2]=c[k>>2];p=_l(c[q>>2]|0,c[n>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+p;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}dm(0,q);while(1){if((c[q>>2]|0)>>>0<((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0)b=(a[c[q>>2]>>0]|0)==0;else b=0;d=c[q>>2]|0;if(!b)break;c[q>>2]=d+1}if(d>>>0>=((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0){a[c[o>>2]>>0]=1;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}else{l=_l(c[q>>2]|0,p)|0;c[q>>2]=(c[q>>2]|0)+l;l=(c[j>>2]|0)!=0?-1:1;o=p;o=aS(l|0,((l|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[n>>2]|0;n=p;o=RR(c[n>>2]|0,c[n+4>>2]|0,o|0,C|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}}function Vm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)Kd(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;i=d;return}function Wm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[k>>2]=0;c[h>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];b=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=Xm(b,c[f>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}if((d[b+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?(c[(c[h>>2]|0)+4>>2]|0)!=0:0){am(d[(c[j>>2]|0)+231>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,(c[h>>2]|0)+8|0,(c[h>>2]|0)+16|0,(c[h>>2]|0)+32|0,c[g>>2]|0);c[(c[h>>2]|0)+28>>2]=c[(c[h>>2]|0)+8>>2];m=c[k>>2]|0;i=l;return m|0}Ym(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}function Xm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+192|0;h=E+172|0;g=E+168|0;j=E+164|0;k=E+160|0;A=E+156|0;v=E+152|0;z=E+148|0;o=E+176|0;n=E+144|0;l=E+8|0;p=E+140|0;r=E;q=E+136|0;u=E+132|0;s=E+128|0;m=E+124|0;w=E+120|0;y=E+116|0;x=E+112|0;t=E+108|0;B=E+104|0;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[v>>2]=c[j>>2];c[z>>2]=c[c[g>>2]>>2];a[o>>0]=0;if((c[(c[j>>2]|0)+64>>2]|0)==1?(c[(c[j>>2]|0)+40>>2]|0)!=0:0){c[A>>2]=Zm(c[z>>2]|0,c[(c[j>>2]|0)+72+20>>2]|0,(c[v>>2]|0)+16|0,(c[v>>2]|0)+28|0,(c[v>>2]|0)+32|0)|0;if(!(c[(c[v>>2]|0)+28>>2]|0))a[o>>0]=1}else D=5;a:do if((D|0)==5){c[n>>2]=d[(c[g>>2]|0)+52>>0];g=l;e=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));while(1){if(d[o>>0]|0)break a;c[p>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;c[q>>2]=0;while(1){if(c[A>>2]|0)break;if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;if(d[o>>0]|0)break;c[A>>2]=_m(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;do if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){if((c[p>>2]|0)!=0?(b=(c[n>>2]|0)!=0?-1:1,e=r,f=l+((c[q>>2]|0)*24|0)+8|0,f=QR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0,aS(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0,(C|0)>=0):0)break;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[p>>2]=1}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;while(1){if(c[A>>2]|0)break;if(d[o>>0]|0)break;if(c[l+((c[q>>2]|0)*24|0)>>2]|0)break;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=QR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;aS(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;if((C|0)>=0)break;c[A>>2]=_m(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=QR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=aS(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;b=C;if(!((b|0)>0|(b|0)==0&f>>>0>0))continue;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[q>>2]=0}c[q>>2]=(c[q>>2]|0)+1}if(d[o>>0]|0)continue;c[u>>2]=0;c[s>>2]=c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[m>>2]=Id((c[s>>2]|0)+1|0)|0;if(!(c[m>>2]|0))break;TR(c[m>>2]|0,c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[s>>2]|0)+1|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[(c[j>>2]|0)+64>>2]|0)-1|0))break;if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){c[w>>2]=c[l+((c[q>>2]|0)*24|0)+16>>2];c[y>>2]=c[m>>2];c[x>>2]=c[m>>2];c[t>>2]=(c[(c[j>>2]|0)+64>>2]|0)-1-(c[q>>2]|0);c[B>>2]=$m(x,c[t>>2]|0,0,1,w,y)|0;if(!(c[B>>2]|0))break;c[u>>2]=(c[x>>2]|0)-(c[m>>2]|0)}c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==((c[(c[j>>2]|0)+64>>2]|0)-1|0)){D=35;break}Kd(c[m>>2]|0)}if((D|0)==35){z=r;B=c[z+4>>2]|0;D=(c[v>>2]|0)+16|0;c[D>>2]=c[z>>2];c[D+4>>2]=B;c[(c[v>>2]|0)+28>>2]=c[m>>2];c[(c[v>>2]|0)+32>>2]=c[u>>2];c[(c[v>>2]|0)+24>>2]=1;break}c[h>>2]=7;D=c[h>>2]|0;i=E;return D|0}while(0);a[c[k>>2]>>0]=a[o>>0]|0;c[h>>2]=c[A>>2];D=c[h>>2]|0;i=E;return D|0}function Ym(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;l=n+8|0;h=n;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);e=c[j>>2]|0;if(c[(c[j>>2]|0)+8>>2]|0)c[m>>2]=c[e+8>>2];else c[m>>2]=c[e>>2];if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){a[c[k>>2]>>0]=1;i=n;return}f=_l(c[m>>2]|0,h)|0;c[m>>2]=(c[m>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[j>>2]|0)+16|0;f=h;g=QR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}else{g=h;h=(c[j>>2]|0)+16|0;f=h;g=RR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}c[(c[j>>2]|0)+28>>2]=c[m>>2];dm(0,m);c[(c[j>>2]|0)+32>>2]=(c[m>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0);while(1){if((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)b=(a[c[m>>2]>>0]|0)==0;else b=0;e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}c[(c[j>>2]|0)+8>>2]=e;a[c[k>>2]>>0]=0;i=n;return}function Zm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;p=x+60|0;h=x+56|0;j=x+52|0;q=x+48|0;r=x+44|0;s=x+40|0;m=x+36|0;k=x+32|0;o=x+28|0;n=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;l=x+8|0;t=x;c[h>>2]=a;c[j>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];c[o>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(c[m>>2]|0)){c[c[r>>2]>>2]=0;c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}while(1){c[n>>2]=c[c[c[j>>2]>>2]>>2];if(!(c[(c[n>>2]|0)+80>>2]|0)){h=4;break}f=(c[c[k>>2]>>2]|0)+88|0;e=c[f+4>>2]|0;g=t;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[w>>2]=Wl(c[h>>2]|0,c[c[k>>2]>>2]|0,v,u)|0;c[l>>2]=1;while(1){if(c[w>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[e>>2]|0)==(c[g>>2]|0)?(c[e+4>>2]|0)==(c[g+4>>2]|0):0))break;c[w>>2]=Wl(c[h>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0,0,0)|0;c[l>>2]=(c[l>>2]|0)+1}if(c[w>>2]|0){h=12;break}Tl(c[c[j>>2]>>2]|0,c[m>>2]|0,c[l>>2]|0,c[o>>2]|0);if((c[u>>2]|0)>0?(c[(c[c[k>>2]>>2]|0)+56>>2]|0)!=0:0){c[w>>2]=Ul(c[j>>2]|0,c[v>>2]|0,(c[u>>2]|0)+1|0)|0;if(c[w>>2]|0){h=16;break}c[v>>2]=c[(c[j>>2]|0)+16>>2]}if((c[(c[j>>2]|0)+24>>2]|0)>=0)Xl(c[(c[j>>2]|0)+24>>2]|0,1,v,u);if((c[u>>2]|0)>0){h=21;break}}if((h|0)==4)c[c[r>>2]>>2]=0;else if((h|0)==12){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==16){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==21){c[c[r>>2]>>2]=c[v>>2];v=c[t+4>>2]|0;w=c[q>>2]|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[c[s>>2]>>2]=c[u>>2]}c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}function _m(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;if((c[(c[j>>2]|0)+44>>2]|0)==(c[k>>2]|0)){Ym(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+16>>2]=c[(c[j>>2]|0)+28>>2];c[(c[l>>2]|0)+20>>2]=c[(c[j>>2]|0)+32>>2];b=(c[j>>2]|0)+16|0;n=c[b+4>>2]|0;g=(c[l>>2]|0)+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=n;o=c[o>>2]|0;i=p;return o|0}c[n>>2]=(c[j>>2]|0)+72+((c[k>>2]|0)*24|0);if(!(c[(c[n>>2]|0)+20>>2]|0)){c[c[l>>2]>>2]=1;o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Zm(c[h>>2]|0,c[(c[n>>2]|0)+20>>2]|0,(c[l>>2]|0)+8|0,(c[l>>2]|0)+16|0,(c[l>>2]|0)+20|0)|0;if(c[(c[l>>2]|0)+16>>2]|0){o=c[o>>2]|0;i=p;return o|0}a[c[m>>2]>>0]=1;o=c[o>>2]|0;i=p;return o|0}function $m(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+96|0;k=D+80|0;l=D+76|0;m=D+72|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;x=D+52|0;y=D+48|0;z=D+44|0;r=D+40|0;s=D+36|0;A=D+32|0;v=D+24|0;t=D+16|0;u=D+8|0;w=D;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[x>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[p>>2]>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=0;c[s>>2]=0;if((a[c[y>>2]>>0]|0)==1){c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=$l(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g}if((a[c[z>>2]>>0]|0)==1){c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=$l(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}while(1){if((c[r>>2]|0)!=(c[s>>2]|0))if((c[r>>2]|0)<(c[s>>2]|0)){Zl(0,y);if(!(a[c[y>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=$l(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;continue}else{Zl(0,z);if(!(a[c[z>>2]>>0]|0))break;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=$l(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g;continue}c[A>>2]=c[x>>2];j=v;c[j>>2]=0;c[j+4>>2]=0;j=t;c[j>>2]=0;c[j+4>>2]=0;j=u;c[j>>2]=0;c[j+4>>2]=0;if(c[r>>2]|0){j=c[x>>2]|0;c[x>>2]=j+1;a[j>>0]=1;j=c[r>>2]|0;j=Kl(c[x>>2]|0,j,((j|0)<0)<<31>>31)|0;c[x>>2]=(c[x>>2]|0)+j}an(y,t);j=t;j=QR(c[j>>2]|0,c[j+4>>2]|0,2,0)|0;h=t;c[h>>2]=j;c[h+4>>2]=C;an(z,u);h=u;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;while(1){j=u;b=c[j>>2]|0;j=c[j+4>>2]|0;e=t;h=c[m>>2]|0;h=RR(c[e>>2]|0,c[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((b|0)==(h|0)&(j|0)==(C|0))){if(((c[o>>2]|0)==0?(h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,(e|0)>(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=RR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0)B=19}else B=19;if((B|0)==19){B=0;f=(c[n>>2]|0)!=0;e=t;b=u;j=f?c[e+4>>2]|0:c[b+4>>2]|0;h=w;c[h>>2]=f?c[e>>2]|0:c[b>>2]|0;c[h+4>>2]=j;h=w;h=RR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;bn(x,v,h,C);h=v;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=v;c[j>>2]=h;c[j+4>>2]=C;c[A>>2]=0}if(!((c[n>>2]|0)==0?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=RR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0))B=22;if((B|0)==22?(B=0,h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,!((e|0)<(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0))):0){if(!(a[c[y>>2]>>0]&254))break;an(y,t);h=t;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=t;c[j>>2]=h;c[j+4>>2]=C;continue}if(!(a[c[z>>2]>>0]&254))break;an(z,u);h=u;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C}if(c[A>>2]|0)c[x>>2]=c[A>>2];Zl(0,y);Zl(0,z);if(!(a[c[y>>2]>>0]|0))break;if(!(a[c[z>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=$l(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=$l(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}dm(0,z);dm(0,y);c[c[p>>2]>>2]=c[y>>2];c[c[q>>2]>>2]=c[z>>2];if((c[c[l>>2]>>2]|0)==(c[x>>2]|0)){c[k>>2]=0;B=c[k>>2]|0;i=D;return B|0}else{B=c[x>>2]|0;c[x>>2]=B+1;a[B>>0]=0;c[c[l>>2]>>2]=c[x>>2];c[k>>2]=1;B=c[k>>2]|0;i=D;return B|0}return 0}function an(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;a=_l(c[c[g>>2]>>2]|0,f)|0;b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+a;b=f;a=c[e>>2]|0;e=a;b=RR(c[e>>2]|0,c[e+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=C;i=d;return}function bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[g>>2]=b;a=h;c[a>>2]=d;c[a+4>>2]=e;e=c[c[j>>2]>>2]|0;a=h;b=c[g>>2]|0;b=QR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Kl(e,b,C)|0;e=c[j>>2]|0;c[e>>2]=(c[e>>2]|0)+b;e=h;b=c[e+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;i=f;return}function cn(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}i=e;return 0}function dn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;f=s+44|0;t=s+40|0;l=s+36|0;p=s+32|0;r=s+28|0;m=s+24|0;g=s+20|0;h=s+16|0;j=s+12|0;n=s+8|0;q=s+4|0;o=s;c[f>>2]=a;c[t>>2]=b;c[l>>2]=e;c[p>>2]=c[c[f>>2]>>2];c[r>>2]=0;c[g>>2]=0;if(((c[t>>2]|0)!=0?(d[(c[f>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[l>>2]|0)+64>>2]|0)<=4:0)b=(c[(c[l>>2]|0)+64>>2]|0)>0;else b=0;c[h>>2]=b&1;c[m>>2]=0;while(1){if((c[h>>2]|0)!=1)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[j>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[j>>2]|0)+12>>2]|0)){if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[(c[(c[j>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)k=11}else k=11;if((k|0)==11){k=0;c[h>>2]=0}if(c[(c[j>>2]|0)+20>>2]|0)c[g>>2]=1;c[m>>2]=(c[m>>2]|0)+1}if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){c[r>>2]=fn(c[f>>2]|0,c[l>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=0;t=c[r>>2]|0;i=s;return t|0}if((c[(c[l>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))b=-1;else b=c[(c[l>>2]|0)+68>>2]|0;c[n>>2]=b;c[m>>2]=0;while(1){if(c[r>>2]|0)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[q>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);c[o>>2]=c[(c[q>>2]|0)+20>>2];if(c[o>>2]|0)c[r>>2]=en(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}c[(c[l>>2]|0)+40>>2]=1;t=c[r>>2]|0;i=s;return t|0}function en(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;n=t+40|0;h=t+36|0;o=t+32|0;p=t+28|0;j=t+24|0;k=t+20|0;q=t+16|0;r=t+12|0;l=t+8|0;s=t+4|0;m=t;c[h>>2]=a;c[o>>2]=b;c[p>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[o>>2]|0)+4>>2];c[s>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;c[r>>2]=hm(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;c[m>>2]=c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2];if(!(c[(c[m>>2]|0)+40>>2]|0))break;if(im(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}c[(c[o>>2]|0)+8>>2]=c[q>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+8>>2]|0)){h=13;break}c[r>>2]=Vl(c[h>>2]|0,c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;if(c[r>>2]|0){h=11;break}c[q>>2]=(c[q>>2]|0)+1}if((h|0)==11){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}else if((h|0)==13){Tl(c[c[o>>2]>>2]|0,c[q>>2]|0,c[q>>2]|0,c[s>>2]|0);c[(c[o>>2]|0)+24>>2]=c[p>>2];c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+28|0;d=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;f=l+4|0;h=l;c[m>>2]=a;c[d>>2]=b;c[g>>2]=c[c[m>>2]>>2];c[k>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){d=8;break}c[j>>2]=(c[d>>2]|0)+72+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[f>>2]=0,c[h>>2]=0,c[k>>2]=gn(c[g>>2]|0,c[j>>2]|0,c[(c[d>>2]|0)+68>>2]|0,f,h)|0,(c[k>>2]|0)==0):0)c[k>>2]=hn(c[g>>2]|0,c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){i=l;return c[k>>2]|0}return 0}function gn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+192|0;g=r+176|0;h=r+172|0;j=r+168|0;k=r+164|0;l=r+160|0;p=r+156|0;o=r+152|0;q=r+24|0;m=r+8|0;n=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=c[(c[h>>2]|0)+20>>2];d=q;a=d+128|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[m+12>>2]=3|((c[(c[h>>2]|0)+8>>2]|0)!=0?8:0)|((c[(c[h>>2]|0)+12>>2]|0)!=0?32:0)|((c[j>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?4:0);c[m+8>>2]=c[j>>2];c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=ul(c[g>>2]|0,c[o>>2]|0,m)|0;while(1){if(c[p>>2]|0)break;m=vl(c[g>>2]|0,c[o>>2]|0)|0;c[p>>2]=m;if(100!=(m|0))break;c[p>>2]=mn(c[g>>2]|0,q,c[(c[o>>2]|0)+48>>2]|0,c[(c[o>>2]|0)+52>>2]|0)|0}if(!(c[p>>2]|0))c[p>>2]=nn(c[g>>2]|0,q)|0;if(!(c[p>>2]|0)){c[c[l>>2]>>2]=c[q>>2];c[c[k>>2]>>2]=c[q+64>>2];q=c[o>>2]|0;on(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=16)break;Kd(c[q+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}q=c[o>>2]|0;on(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}function hn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;n=t;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[s>>2]=0;e=c[j>>2]|0;do if(!(c[l>>2]|0)){Kd(c[e>>2]|0);c[c[j>>2]>>2]=0;c[(c[j>>2]|0)+4>>2]=0}else{if((c[e+44>>2]|0)<0){c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];break}if(!(c[c[j>>2]>>2]|0)){Kd(c[l>>2]|0);break}e=c[c[j>>2]>>2]|0;if((c[(c[j>>2]|0)+44>>2]|0)<(c[k>>2]|0)){c[q>>2]=e;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[r>>2]=c[l>>2];c[p>>2]=c[m>>2];c[n>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+44>>2]|0)}else{c[r>>2]=e;c[p>>2]=c[(c[j>>2]|0)+4>>2];c[q>>2]=c[l>>2];c[o>>2]=c[m>>2];c[n>>2]=(c[(c[j>>2]|0)+44>>2]|0)-(c[k>>2]|0)}c[s>>2]=jn(d[(c[h>>2]|0)+231>>0]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,r,p)|0;Kd(c[q>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[(c[j>>2]|0)+4>>2]=c[p>>2]}while(0);if((c[k>>2]|0)<=(c[(c[j>>2]|0)+44>>2]|0)){s=c[s>>2]|0;i=t;return s|0}c[(c[j>>2]|0)+44>>2]=c[k>>2];s=c[s>>2]|0;i=t;return s|0}function jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;D=i;i=i+112|0;h=D+104|0;j=D+100|0;k=D+96|0;E=D+92|0;F=D+88|0;l=D+84|0;m=D+80|0;r=D+32|0;s=D+24|0;u=D+16|0;o=D+76|0;z=D+72|0;A=D+68|0;x=D+64|0;y=D+60|0;w=D+56|0;p=D+52|0;n=D+48|0;t=D+8|0;B=D+44|0;v=D;q=D+40|0;c[j>>2]=a;c[k>>2]=b;c[E>>2]=d;c[F>>2]=e;c[l>>2]=f;c[m>>2]=g;g=r;c[g>>2]=0;c[g+4>>2]=0;g=s;c[g>>2]=0;c[g+4>>2]=0;g=u;c[g>>2]=0;c[g+4>>2]=0;c[o>>2]=c[c[l>>2]>>2];c[z>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[A>>2]=(c[o>>2]|0)+(c[c[m>>2]>>2]|0);c[x>>2]=c[E>>2];c[y>>2]=c[o>>2];c[p>>2]=0;if(c[j>>2]|0){c[n>>2]=Id((c[c[m>>2]>>2]|0)+10|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;F=c[h>>2]|0;i=D;return F|0}}else c[n>>2]=c[o>>2];c[w>>2]=c[n>>2];kn(x,c[z>>2]|0,0,r);kn(y,c[A>>2]|0,0,s);while(1){if(!((c[x>>2]|0)!=0?(c[y>>2]|0)!=0:0))break;F=(c[j>>2]|0)!=0?-1:1;g=r;E=s;E=QR(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=aS(F|0,((F|0)<0)<<31>>31|0,E|0,C|0)|0;F=t;c[F>>2]=E;c[F+4>>2]=C;F=t;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[t+4>>2]|0)<0){dm(0,x);kn(x,c[z>>2]|0,c[j>>2]|0,r);continue}else{dm(0,y);kn(y,c[A>>2]|0,c[j>>2]|0,s);continue}else{c[B>>2]=c[w>>2];g=u;E=c[g+4>>2]|0;F=v;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[q>>2]=c[p>>2];F=r;ln(w,c[j>>2]|0,u,p,c[F>>2]|0,c[F+4>>2]|0);if(!($m(w,c[k>>2]|0,0,1,x,y)|0)){c[w>>2]=c[B>>2];g=v;E=c[g+4>>2]|0;F=u;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[p>>2]=c[q>>2]}kn(x,c[z>>2]|0,c[j>>2]|0,r);kn(y,c[A>>2]|0,c[j>>2]|0,s);continue}}c[c[m>>2]>>2]=(c[w>>2]|0)-(c[n>>2]|0);if(c[j>>2]|0){Kd(c[o>>2]|0);c[c[l>>2]>>2]=c[n>>2]}c[h>>2]=0;F=c[h>>2]|0;i=D;return F|0}function kn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+20|0;l=k+16|0;j=k+12|0;h=k+8|0;g=k;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[h>>2]=e;d=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[d>>2]=0;i=k;return}a=_l(c[d>>2]|0,g)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+a;f=g;a=c[f>>2]|0;f=c[f+4>>2]|0;d=c[h>>2]|0;e=d;b=c[e>>2]|0;e=c[e+4>>2]|0;if(c[j>>2]|0){j=QR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}else{j=RR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}}function ln(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;l=n+8|0;m=n;c[h>>2]=a;c[o>>2]=b;c[j>>2]=d;c[k>>2]=e;a=l;c[a>>2]=f;c[a+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0){o=c[j>>2]|0;a=l;a=QR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}else{o=l;a=c[j>>2]|0;a=QR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}a=m;a=Kl(c[c[h>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+a;d=l;a=c[d+4>>2]|0;o=c[j>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=a;c[c[k>>2]>>2]=1;i=n;return}function mn(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;g=t+24|0;m=t+20|0;p=t+16|0;o=t+12|0;n=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[g>>2]=f;a:do if(!(c[c[k>>2]>>2]|0)){s=Id((c[g>>2]|0)+10+1|0)|0;c[c[k>>2]>>2]=s;c[(c[k>>2]|0)+64>>2]=c[g>>2];if(c[c[k>>2]>>2]|0){TR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[g>>2]|0)|0;break}c[h>>2]=7;s=c[h>>2]|0;i=t;return s|0}else{c[m>>2]=c[l>>2];c[p>>2]=c[g>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break a;if(!(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)){s=8;break}c[r>>2]=pn(d[(c[j>>2]|0)+231>>0]|0,c[m>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]|0,n,q)|0;g=(c[m>>2]|0)!=(c[l>>2]|0);if(c[r>>2]|0)break;if(g)Kd(c[m>>2]|0);Kd(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=0;c[m>>2]=c[n>>2];c[p>>2]=c[q>>2];if(((c[o>>2]|0)+1|0)==16){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2]}c[o>>2]=(c[o>>2]|0)+1}if((s|0)==8){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2];break}if(g)Kd(c[m>>2]|0);c[h>>2]=c[r>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function nn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;e=o+28|0;k=o+24|0;l=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;f=o+4|0;n=o;c[e>>2]=a;c[k>>2]=b;c[l>>2]=0;c[m>>2]=0;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=16){e=10;break}do if(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0){if(!(c[l>>2]|0)){c[l>>2]=c[(c[k>>2]|0)+(c[g>>2]<<2)>>2];c[m>>2]=c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2];c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;break}c[n>>2]=pn(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2]|0,c[l>>2]|0,c[m>>2]|0,f,h)|0;if(c[n>>2]|0){e=7;break a}Kd(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0);Kd(c[l>>2]|0);c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;c[l>>2]=c[f>>2];c[m>>2]=c[h>>2]}while(0);c[g>>2]=(c[g>>2]|0)+1}if((e|0)==7){Kd(c[l>>2]|0);c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}else if((e|0)==10){c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+64>>2]=c[m>>2];c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}return 0}function on(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Bl(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function pn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;y=i;i=i+96|0;j=y+88|0;k=y+84|0;D=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;l=y+64|0;m=y+60|0;p=y+24|0;q=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;n=y+36|0;o=y+32|0;r=y;c[k>>2]=a;c[D>>2]=b;c[A>>2]=d;c[B>>2]=e;c[z>>2]=f;c[l>>2]=g;c[m>>2]=h;h=p;c[h>>2]=0;c[h+4>>2]=0;h=q;c[h>>2]=0;c[h+4>>2]=0;h=s;c[h>>2]=0;c[h+4>>2]=0;c[w>>2]=(c[D>>2]|0)+(c[A>>2]|0);c[x>>2]=(c[B>>2]|0)+(c[z>>2]|0);c[u>>2]=c[D>>2];c[v>>2]=c[B>>2];c[o>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;c[n>>2]=Id((c[A>>2]|0)+(c[z>>2]|0)+10-1|0)|0;if(!(c[n>>2]|0)){c[j>>2]=7;D=c[j>>2]|0;i=y;return D|0}c[t>>2]=c[n>>2];kn(u,c[w>>2]|0,0,p);kn(v,c[x>>2]|0,0,q);while(1){if(!((c[u>>2]|0)!=0?1:(c[v>>2]|0)!=0))break;D=(c[k>>2]|0)!=0?-1:1;A=p;B=q;B=QR(c[A>>2]|0,c[A+4>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;B=aS(D|0,((D|0)<0)<<31>>31|0,B|0,C|0)|0;D=r;c[D>>2]=B;c[D+4>>2]=C;D=r;if((c[v>>2]|0)!=0&(c[u>>2]|0)!=0&((c[D>>2]|0)==0&(c[D+4>>2]|0)==0)){D=p;ln(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);qn(t,u,v);kn(u,c[w>>2]|0,c[k>>2]|0,p);kn(v,c[x>>2]|0,c[k>>2]|0,q);continue}if((c[v>>2]|0)!=0?!((c[u>>2]|0)!=0&(c[r+4>>2]|0)<0):0){D=q;ln(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);dm(t,v);kn(v,c[x>>2]|0,c[k>>2]|0,q);continue}D=p;ln(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);dm(t,u);kn(u,c[w>>2]|0,c[k>>2]|0,p)}c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=(c[t>>2]|0)-(c[n>>2]|0);c[j>>2]=0;D=c[j>>2]|0;i=y;return D|0}function qn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;g=t+56|0;h=t+52|0;j=t+48|0;q=t+44|0;r=t+40|0;s=t+36|0;m=t+32|0;n=t+28|0;k=t+16|0;l=t+8|0;o=t;p=t+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[c[g>>2]>>2];c[r>>2]=c[c[h>>2]>>2];c[s>>2]=c[c[j>>2]>>2];a:while(1){if((a[c[r>>2]>>0]|0)==0?(a[c[s>>2]>>0]|0)==0:0)break;b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128){$l(e,m)|0;break}else{c[m>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[m>>2]=2147483647;break}else{c[m>>2]=0;break}while(0);b=c[s>>2]|0;do if((a[c[s>>2]>>0]|0)==1){e=(c[s>>2]|0)+1|0;if(d[b+1>>0]&128){$l(e,n)|0;break}else{c[n>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[n>>2]=2147483647;break}else{c[n>>2]=0;break}while(0);if((c[m>>2]|0)!=(c[n>>2]|0))if((c[m>>2]|0)<(c[n>>2]|0)){f=rn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;Zl(q,r);continue}else{f=rn(q,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+f;Zl(q,s);continue}f=k;c[f>>2]=0;c[f+4>>2]=0;f=l;c[f>>2]=0;c[f+4>>2]=0;f=o;c[f>>2]=0;c[f+4>>2]=0;c[p>>2]=rn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[p>>2]|0);an(r,k);an(s,l);while(1){e=k;u=c[e+4>>2]|0;b=l;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=k;f=l;bn(q,o,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=o;f=QR(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=o;c[e>>2]=f;c[e+4>>2]=C;e=k;f=l;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=k;b=c[f+4>>2]|0;u=l;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){sn(r,k);break}else{sn(s,l);break}}else{sn(r,k);sn(s,l)}while(0);f=k;u=l;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[q>>2]|0;c[q>>2]=u+1;a[u>>0]=0;c[c[g>>2]>>2]=c[q>>2];c[c[h>>2]>>2]=(c[r>>2]|0)+1;c[c[j>>2]>>2]=(c[s>>2]|0)+1;i=t;return}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){b=c[g>>2]|0;i=j;return b|0}c[h>>2]=c[c[e>>2]>>2];b=c[f>>2]|0;c[g>>2]=1+(Kl((c[h>>2]|0)+1|0,b,((b|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);b=c[g>>2]|0;i=j;return b|0}function sn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254){an(c[e>>2]|0,c[f>>2]|0);b=c[f>>2]|0;d=b;d=QR(c[d>>2]|0,c[d+4>>2]|0,2,0)|0;c[b>>2]=d;c[b+4>>2]=C;i=g;return}else{b=c[f>>2]|0;c[b>>2]=2147483647;c[b+4>>2]=0;i=g;return}}function tn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((a[(c[g>>2]|0)+7>>0]|0)!=0?(c[h>>2]=0,c[j>>2]=Fn(c[g>>2]|0,h)|0,(c[j>>2]|0)==0):0){h=(c[g>>2]|0)+32|0;Le(c[(c[g>>2]|0)+8>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(te(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=Yd(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[j>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[j>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[j>>2]|0)!=0&(c[f>>2]|0)!=0)qe(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function un(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+80|0;b=v+64|0;r=v+60|0;e=v+56|0;f=v;m=v+52|0;l=v+48|0;p=v+44|0;n=v+40|0;s=v+36|0;q=v+32|0;t=v+28|0;k=v+24|0;g=v+20|0;h=v+16|0;j=v+12|0;o=v+8|0;c[b>>2]=a;c[r>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[r>>2]|0;i=v;return u|0}c[l>>2]=c[c[b>>2]>>2];c[p>>2]=c[(c[l>>2]|0)+36>>2];c[n>>2]=c[c[p>>2]>>2];w=De(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=f;c[a>>2]=w;c[a+4>>2]=C;c[e>>2]=0;while(1){if(!((c[e>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[r>>2]|0)==0:0))break;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[e>>2]|0)>>0]|0)){c[s>>2]=Ee(c[(c[b>>2]|0)+8>>2]|0,(c[e>>2]|0)+1|0)|0;c[q>>2]=0;c[r>>2]=Cn(c[p>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[s>>2]|0,-1,q)|0;a:while(1){if(c[r>>2]|0)break;c[k>>2]=0;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[r>>2]=Sb[c[(c[n>>2]|0)+20>>2]&255](c[q>>2]|0,t,k,g,h,j)|0;c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))continue a;c[o>>2]=c[c[m>>2]>>2];if(!((c[(c[m>>2]|0)+4>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[(c[m>>2]|0)+4>>2]|0)!=(c[e>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[o>>2]|0)+12>>2]|0)==0):0){if((c[(c[o>>2]|0)+4>>2]|0)!=(c[k>>2]|0)){if(!(c[(c[o>>2]|0)+8>>2]|0))break;if((c[(c[o>>2]|0)+4>>2]|0)>=(c[k>>2]|0))break}if(!(eR(c[t>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)){x=f;a=c[e>>2]|0;w=c[j>>2]|0;Dn((c[m>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,r)|0}}while(0);c[m>>2]=c[(c[m>>2]|0)+8>>2]}}if(c[q>>2]|0)Tb[c[(c[n>>2]|0)+16>>2]&255](c[q>>2]|0)|0;if((c[r>>2]|0)==101)c[r>>2]=0}c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))break;if(c[(c[m>>2]|0)+12>>2]|0)c[r>>2]=En((c[m>>2]|0)+12|0,0,0)|0;c[m>>2]=c[(c[m>>2]|0)+8>>2]}x=c[r>>2]|0;i=v;return x|0}function vn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+28|0;l=p+24|0;g=p+20|0;o=p+16|0;n=p+12|0;h=p+8|0;j=p+4|0;k=p;c[m>>2]=b;c[l>>2]=e;c[g>>2]=f;c[o>>2]=1;if(c[c[g>>2]>>2]|0){o=c[o>>2]|0;i=p;return o|0}switch(c[c[l>>2]>>2]|0){case 3:case 1:{if((vn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)!=0?(vn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0:0)g=(xn(c[l>>2]|0,c[g>>2]|0)|0)!=0;else g=0;c[o>>2]=g&1;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[c[l>>2]>>2]|0)!=1){o=c[o>>2]|0;i=p;return o|0}if((c[(c[l>>2]|0)+8>>2]|0)!=0?(c[c[(c[l>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;i=p;return o|0}c[n>>2]=c[l>>2];while(1){g=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;f=(c[g+16>>2]|0)+24|0;l=(c[m>>2]|0)+32|0;if((c[f>>2]|0)==(c[l>>2]|0)?(c[f+4>>2]|0)==(c[l+4>>2]|0):0)Vm(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}l=g+24|0;m=(c[m>>2]|0)+32|0;if(!((c[l>>2]|0)==(c[m>>2]|0)?(c[l+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;i=p;return o|0}Vm(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;i=p;return o|0}case 4:{c[h>>2]=vn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0;c[j>>2]=vn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0;c[o>>2]=((c[h>>2]|0)!=0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;i=p;return o|0}case 2:{if(vn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)g=(vn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0^1;else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){f=(c[l>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[f>>2]|0)==(c[n>>2]|0)?(c[f+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[l>>2]|0)+34>>0]|0)==0:0)break;c[k>>2]=c[(c[l>>2]|0)+20>>2];if(a[(c[l>>2]|0)+34>>0]|0)Vm(c[k>>2]|0);f=yn(c[m>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=f;c[o>>2]=(c[(c[k>>2]|0)+28>>2]|0)!=0&1;f=(c[m>>2]|0)+32|0;m=c[f+4>>2]|0;n=(c[l>>2]|0)+24|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;o=c[o>>2]|0;i=p;return o|0}while(0);if(!(d[(c[l>>2]|0)+32>>0]|0)){n=(c[l>>2]|0)+24|0;g=(c[m>>2]|0)+32|0;g=(c[n>>2]|0)==(c[g>>2]|0)?(c[n+4>>2]|0)==(c[g+4>>2]|0):0}else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}}return 0}function wn(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;kl(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}i=d;return}function xn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;e=r+44|0;f=r+40|0;q=r+36|0;o=r+32|0;h=r+28|0;l=r+24|0;k=r+20|0;n=r+16|0;j=r+12|0;g=r+8|0;m=r+4|0;p=r;c[e>>2]=a;c[f>>2]=b;c[q>>2]=1;if(c[c[f>>2]>>2]|0){q=c[q>>2]|0;i=r;return q|0}if((c[c[e>>2]>>2]|0)!=1){q=c[q>>2]|0;i=r;return q|0}if(d[(c[e>>2]|0)+32>>0]|0){q=c[q>>2]|0;i=r;return q|0}if((c[(c[e>>2]|0)+8>>2]|0)!=0?(c[c[(c[e>>2]|0)+8>>2]>>2]|0)==1:0){q=c[q>>2]|0;i=r;return q|0}c[h>>2]=0;c[o>>2]=c[e>>2];while(1){a=c[o>>2]|0;if(!(c[(c[o>>2]|0)+12>>2]|0))break;c[h>>2]=(c[h>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}c[h>>2]=(c[h>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[h>>2]|0)){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}c[l>>2]=Id(c[h>>2]<<1)|0;a:do if(c[l>>2]|0){c[k>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0))break;if((c[c[o>>2]>>2]|0)!=1)break;c[j>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+20>>2];c[g>>2]=c[(c[o>>2]|0)+4>>2];c[q>>2]=An(c[g>>2]|0,c[l>>2]|0,k,n,c[j>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+8>>2]}c[k>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[e>>2]|0)+12>>2];while(1){if(!((c[o>>2]|0)!=0?(c[q>>2]|0)!=0:0))break a;c[m>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+4>>2];a=c[o>>2]|0;if((c[c[o>>2]>>2]|0)==1)a=c[(c[a+16>>2]|0)+20>>2]|0;else a=c[a+20>>2]|0;c[p>>2]=a;c[q>>2]=An(c[m>>2]|0,c[l>>2]|0,k,n,c[p>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+12>>2]}}else{c[c[f>>2]>>2]=7;c[q>>2]=0}while(0);Kd(c[l>>2]|0);q=c[q>>2]|0;i=r;return q|0}function yn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;m=y+76|0;n=y+72|0;o=y+68|0;e=y+64|0;q=y+60|0;u=y+56|0;r=y+52|0;l=y+48|0;j=y+44|0;k=y+40|0;f=y+36|0;x=y+32|0;d=y+28|0;g=y+24|0;h=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;p=y;c[n>>2]=a;c[o>>2]=b;c[q>>2]=0;c[u>>2]=0;c[r>>2]=-1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0)){a=14;break}c[l>>2]=(c[o>>2]|0)+72+((c[e>>2]|0)*24|0);c[j>>2]=c[(c[l>>2]|0)+16>>2];if(c[j>>2]|0){c[x>>2]=zn(c[j>>2]|0,k,f)|0;if(c[x>>2]|0){a=5;break}b=c[q>>2]|0;if(!(c[k>>2]|0)){a=7;break}a=c[k>>2]|0;if(b){c[d>>2]=a;c[g>>2]=c[q>>2];c[h>>2]=c[d>>2];$m(d,(c[e>>2]|0)-(c[r>>2]|0)|0,0,1,g,h)|0;Kd(c[q>>2]|0);c[q>>2]=c[k>>2];c[u>>2]=(c[d>>2]|0)-(c[q>>2]|0);if(!(c[u>>2]|0)){a=11;break}}else{c[q>>2]=a;c[u>>2]=c[f>>2]}c[r>>2]=c[e>>2]}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==5){c[m>>2]=c[x>>2];x=c[m>>2]|0;i=y;return x|0}else if((a|0)==7){Kd(b);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==11){Kd(c[q>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==14){do if((c[r>>2]|0)>=0){c[t>>2]=c[(c[o>>2]|0)+44>>2];if((c[t>>2]|0)<0){c[(c[o>>2]|0)+28>>2]=c[q>>2];c[(c[o>>2]|0)+32>>2]=c[u>>2];v=(c[n>>2]|0)+32|0;w=c[v+4>>2]|0;x=(c[o>>2]|0)+16|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[(c[o>>2]|0)+24>>2]=1;break}if((c[t>>2]|0)>(c[r>>2]|0)){c[v>>2]=c[q>>2];c[w>>2]=c[(c[o>>2]|0)+28>>2];c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[(c[o>>2]|0)+28>>2];c[w>>2]=c[q>>2];c[s>>2]=(c[r>>2]|0)-(c[t>>2]|0)}c[p>>2]=Id((c[u>>2]|0)+8|0)|0;if(!(c[p>>2]|0)){Kd(c[q>>2]|0);c[m>>2]=7;x=c[m>>2]|0;i=y;return x|0}c[(c[o>>2]|0)+28>>2]=c[p>>2];if($m(p,c[s>>2]|0,0,1,v,w)|0){c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+32>>2]=(c[p>>2]|0)-(c[(c[o>>2]|0)+28>>2]|0)}else{Kd(c[p>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0}Kd(c[q>>2]|0)}while(0);c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}return 0}function zn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+16|0;k=l+12|0;j=l+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}c[k>>2]=Id(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[k>>2]|0){c[j>>2]=_l(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,l)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[k>>2];TR(c[k>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=l;return b|0}return 0}function An(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=i;i=i+48|0;s=n+40|0;r=n+36|0;g=n+32|0;h=n+28|0;j=n+24|0;q=n+20|0;p=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[s>>2]=a;c[r>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[h>>2]>>2]|0);e=c[(c[j>>2]|0)+28>>2]|0;c[l>>2]=e;c[o>>2]=e;c[m>>2]=Bn(l,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[g>>2]|0,o)|0;if(!(c[m>>2]|0)){s=c[m>>2]|0;i=n;return s|0}c[k>>2]=(c[l>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0)-1;VR((c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)|0,0,(c[(c[j>>2]|0)+32>>2]|0)-(c[k>>2]|0)|0)|0;c[(c[j>>2]|0)+32>>2]=c[k>>2];c[c[g>>2]>>2]=c[(c[j>>2]|0)+28>>2];c[c[h>>2]>>2]=c[(c[j>>2]|0)+64>>2];s=c[m>>2]|0;i=n;return s|0}function Bn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=i;i=i+48|0;h=o+44|0;j=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[l>>2]=c[j>>2];c[n>>2]=1;$m(l,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[l>>2]|0;c[m>>2]=g;c[k>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];$m(m,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[l>>2]|0)!=(c[j>>2]|0)?(c[m>>2]|0)!=(c[k>>2]|0):0){qn(c[h>>2]|0,j,k);u=c[n>>2]|0;i=o;return u|0}if((c[l>>2]|0)!=(c[j>>2]|0)){dm(c[h>>2]|0,j);u=c[n>>2]|0;i=o;return u|0}if((c[m>>2]|0)!=(c[k>>2]|0)){dm(c[h>>2]|0,k);u=c[n>>2]|0;i=o;return u|0}else{c[n>>2]=0;u=c[n>>2]|0;i=o;return u|0}return 0}function Cn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;p=n+20|0;o=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[o>>2]=e;c[j>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[k>>2]=0;c[m>>2]=Wb[c[(c[l>>2]|0)+12>>2]&255](c[g>>2]|0,c[p>>2]|0,c[o>>2]|0,k)|0;if(((c[m>>2]|0)==0?(c[c[k>>2]>>2]=c[g>>2],(c[c[l>>2]>>2]|0)>=1):0)?(c[m>>2]=Yb[c[(c[l>>2]|0)+24>>2]&255](c[k>>2]|0,c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){Tb[c[(c[l>>2]|0)+16>>2]&255](c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];i=n;return c[m>>2]|0}function Dn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;m=u+48|0;n=u+44|0;o=u+24|0;p=u+16|0;k=u+8|0;l=u+40|0;r=u+36|0;s=u+32|0;q=u;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;a=p;c[a>>2]=e;c[a+4>>2]=f;a=k;c[a>>2]=g;c[a+4>>2]=h;c[l>>2]=j;c[r>>2]=c[c[n>>2]>>2];c[s>>2]=0;if((c[r>>2]|0)!=0?(j=(c[r>>2]|0)+16|0,a=o,!((c[j>>2]|0)!=(c[a>>2]|0)?1:(c[j+4>>2]|0)!=(c[a+4>>2]|0))):0)t=9;else{b=o;if(c[r>>2]|0){e=(c[r>>2]|0)+16|0;d=c[e>>2]|0;e=c[e+4>>2]|0}else{d=0;e=0}j=QR(c[b>>2]|0,c[b+4>>2]|0,d|0,e|0)|0;a=q;c[a>>2]=j;c[a+4>>2]=C;if(c[r>>2]|0){a=c[r>>2]|0;c[a>>2]=(c[a>>2]|0)+1}q=En(r,c[q>>2]|0,c[q+4>>2]|0)|0;c[s>>2]=q;if(!q){q=(c[r>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[r>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[o+4>>2]|0;t=(c[r>>2]|0)+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[r>>2]|0)+24|0,t=p,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=En(r,1,0)|0;c[s>>2]=t;if(t)break;t=p;t=En(r,c[t>>2]|0,c[t+4>>2]|0)|0;c[s>>2]=t;if(t)break;o=p;q=c[o+4>>2]|0;t=(c[r>>2]|0)+24|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=(c[r>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=k,q=RR(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[r>>2]|0)+32|0,t=QR(q|0,C|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[s>>2]=En(r,t,C)|0,(c[s>>2]|0)==0):0){p=k;q=c[p+4>>2]|0;t=(c[r>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=q}}while(0);c[c[l>>2]>>2]=c[s>>2];if((c[r>>2]|0)!=(c[c[n>>2]>>2]|0)){c[c[n>>2]>>2]=c[r>>2];c[m>>2]=1;t=c[m>>2]|0;i=u;return t|0}else{c[m>>2]=0;t=c[m>>2]|0;i=u;return t|0}return 0}function En(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l;k=l+12|0;j=l+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(c[k>>2]|0){if(((c[c[k>>2]>>2]|0)+10+1|0)>(c[(c[k>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[k>>2]|0)+8>>2]<<1;c[k>>2]=Ld(c[k>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;break}Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}}else{c[k>>2]=Id(140)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=100;c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;c[c[k>>2]>>2]=0;break}c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}while(0);j=h;j=Kl((c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;b=c[k>>2]|0;c[b>>2]=(c[b>>2]|0)+j;a[(c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function Fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;k=l+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[g>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[g>>2]|0)+216>>2];c[k>>2]=Od(23241,j)|0;if(c[k>>2]|0){c[h>>2]=af(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;Kd(c[k>>2]|0);break}c[d>>2]=7;k=c[d>>2]|0;i=l;return k|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function Gn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[l>>2]=Ob[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[j>>2]|0)|0;d=c[g>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[l>>2]|0;i=m;return d|0}c[l>>2]=Gn(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(!((c[l>>2]|0)==0&(c[k>>2]|0)!=2)){d=c[l>>2]|0;i=m;return d|0}c[l>>2]=Gn(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[l>>2]|0;i=m;return d|0}function Hn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0;if((d[(c[g>>2]|0)+34>>0]|0|0)!=0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}c[l>>2]=In(c[f>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}function In(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;g=s+44|0;h=s+40|0;f=s+36|0;q=s+32|0;p=s+28|0;o=s+24|0;m=s+20|0;l=s+8|0;k=s;j=s+48|0;n=s+16|0;c[h>>2]=b;c[f>>2]=e;c[q>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[p>>2]=c[c[h>>2]>>2];t=(c[h>>2]|0)+32|0;b=c[t+4>>2]|0;e=l;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)f=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else f=0;b=c[o>>2]|0;if(!f)break;c[o>>2]=c[b+8>>2]}b=b+24|0;e=c[b+4>>2]|0;t=k;c[t>>2]=c[b>>2];c[t+4>>2]=e;a[j>>0]=a[(c[o>>2]|0)+32>>0]|0;c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=5)f=c[f+16>>2]|0;c[n>>2]=f;t=Id((c[(c[p>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[n>>2]|0)+40>>2]=t;if(!(c[(c[n>>2]|0)+40>>2]|0)){r=12;break}VR(c[(c[n>>2]|0)+40>>2]|0,0,(c[(c[p>>2]|0)+24>>2]|0)*3<<2|0)|0;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((r|0)==12){c[g>>2]=7;t=c[g>>2]|0;i=s;return t|0}Sm(c[h>>2]|0,c[o>>2]|0,q);while(1){if(!((d[(c[h>>2]|0)+6>>0]|0)==0?(c[q>>2]|0)==0:0))break;do{if(!(d[(c[h>>2]|0)+7>>0]|0))Yd(c[(c[h>>2]|0)+8>>2]|0)|0;Tm(c[h>>2]|0,c[o>>2]|0,q);a[(c[h>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[h>>2]|0)+7>>0]=1;c[(c[h>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[h>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((Om(c[h>>2]|0,q)|0)!=0);if(c[q>>2]|0)continue;if(d[(c[h>>2]|0)+6>>0]|0)continue;Jn(c[o>>2]|0)}a[(c[h>>2]|0)+6>>0]=0;p=l;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(a[j>>0]|0){a[(c[o>>2]|0)+32>>0]=a[j>>0]|0;break}Sm(c[h>>2]|0,c[o>>2]|0,q);do{Tm(c[h>>2]|0,c[o>>2]|0,q);r=(c[o>>2]|0)+24|0;t=k}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[q>>2]|0)==0:0)}while(0);c[g>>2]=c[q>>2];t=c[g>>2]|0;i=s;return t|0}function Jn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;e=l+12|0;j=l+8|0;k=l+4|0;g=l+20|0;h=l;c[f>>2]=b;if(!(c[f>>2]|0)){i=l;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+28>>2]|0)!=0:0){c[j>>2]=0;c[k>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[g>>0]=0;c[h>>2]=0;while(1){if(!(254&(a[c[k>>2]>>0]|d[g>>0])))break;if(!(d[g>>0]&128))c[h>>2]=(c[h>>2]|0)+1;e=c[k>>2]|0;c[k>>2]=e+1;a[g>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[h>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[h>>2]|0)>0&1);if(!(a[c[k>>2]>>0]|0))break a;c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;if(d[c[k>>2]>>0]&128)b=$l(b,j)|0;else{c[j>>2]=d[b>>0];b=1}c[k>>2]=(c[k>>2]|0)+b}}while(0);Jn(c[(c[f>>2]|0)+12>>2]|0);Jn(c[(c[f>>2]|0)+16>>2]|0);i=l;return}function Kn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;f=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;k=o+8|0;g=o+4|0;j=o;c[p>>2]=b;c[f>>2]=e;c[m>>2]=c[c[c[f>>2]>>2]>>2];c[l>>2]=c[(c[p>>2]|0)+20>>2];c[k>>2]=c[(c[l>>2]|0)+28>>2];c[g>>2]=0;e=c[(c[p>>2]|0)+36>>2]|0;b=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=_(e,b)|0;else c[h>>2]=_(e,(b+31|0)/32|0)|0;while(1){c[j>>2]=Rm(k)|0;if(!((c[(c[l>>2]|0)+68>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?(c[(c[l>>2]|0)+68>>2]|0)!=(c[g>>2]|0):0))n=6;do if((n|0)==6){n=0;e=c[j>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[g>>2]|0)<<2)>>2]=e;break}if(e){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[g>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[g>>2]&31)}}while(0);if((a[c[k>>2]>>0]|0)!=1)break;c[k>>2]=(c[k>>2]|0)+1;e=c[k>>2]|0;if(d[c[k>>2]>>0]&128)e=$l(e,g)|0;else{c[g>>2]=d[e>>0];e=1}c[k>>2]=(c[k>>2]|0)+e}i=o;return}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=c[j>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];i=e;return 0}function Mn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;b=g+16|0;e=g+12|0;d=g;f=g+8|0;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=_l(c[e>>2]|0,d)|0;c[e>>2]=(c[e>>2]|0)+h;h=d;a=d;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[e>>2]=0;c[f>>2]=1;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}else{a=d;a=QR(c[a>>2]|0,c[a+4>>2]|0,2,0)|0;h=(c[b>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+a;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}return 0}function Nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+20|0;j=f+12|0;e=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[f+16>>2]=b;c[j>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+20>>2];c[h>>2]=c[j>>2];a=(c[h>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[h>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);i=f;return c[e>>2]|0}function On(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;h=k+12|0;j=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=pl(c[l>>2]|0,21,h,0)|0;do if(!(c[j>>2]|0)){l=f;Le(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;c[j>>2]=te(c[h>>2]|0)|0;if((c[j>>2]|0)==100?(Ge(c[h>>2]|0,0)|0)==4:0){c[j>>2]=0;break}l=Yd(c[h>>2]|0)|0;c[j>>2]=l;c[j>>2]=(c[j>>2]|0)==0?267:l;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Pn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=pl(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){Ke(c[e>>2]|0,1,0)|0;if((te(c[e>>2]|0)|0)==100?(Ge(c[e>>2]|0,0)|0)==4:0)break;h=Yd(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];i=g;return c[f>>2]|0}function Qn(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];i=e;return 0}function Sn(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=$e(c[(c[b>>2]|0)+12>>2]|0,23369,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=Tn(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){$e(a,23397,0,0,0)|0;$e(c[(c[b>>2]|0)+12>>2]|0,23384,0,0,0)|0;break}c[e>>2]=$e(a,23384,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);ym(c[b>>2]|0);i=f;return c[d>>2]|0}function Tn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;j=m+12|0;l=m+8|0;g=m+4|0;h=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[j>>2]=0;c[k>>2]=pl(c[d>>2]|0,27,j,0)|0;if(!(c[k>>2]|0)){Ke(c[j>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;Ke(c[j>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){a=(te(c[j>>2]|0)|0)==100;b=c[j>>2]|0;if(!a)break;c[h>>2]=Ce(b,0)|0;c[g>>2]=0;while(1){if(c[k>>2]|0)continue a;if((c[g>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[k>>2]=ol(c[d>>2]|0,c[h>>2]|0,c[g>>2]|0,-2)|0;if((c[k>>2]|0)==101){c[f>>2]=1;c[k>>2]=0}c[g>>2]=(c[g>>2]|0)+1}}c[l>>2]=Yd(b)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}ym(c[d>>2]|0);jl(c[d>>2]|0);i=m;return ((c[k>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[k>>2]|0)|0}function Un(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+208|0;y=C+32|0;e=C+132|0;f=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;r=C+112|0;l=C+108|0;B=C+96|0;x=C;s=C+92|0;h=C+88|0;g=C+84|0;p=C+80|0;n=C+76|0;m=C+72|0;z=C+68|0;q=C+64|0;k=C+60|0;o=C+56|0;w=C+52|0;u=C+48|0;j=C+136|0;c[e>>2]=b;c[f>>2]=d;c[v>>2]=c[c[f>>2]>>2];c[t>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){me(c[e>>2]|0,18402,0,0);i=C;return};c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;c[A>>2]=Jm(c[f>>2]|0,0,r)|0;a:do if(!(c[A>>2]|0)){c[x+24>>2]=Id((c[r>>2]|0)*12|0)|0;if(!(c[x+24>>2]|0)){c[A>>2]=7;break}D=(c[f>>2]|0)+32|0;d=c[D+4>>2]|0;b=x+16|0;c[b>>2]=c[D>>2];c[b+4>>2]=d;c[x>>2]=c[f>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[g>>2]=0;c[p>>2]=0;c[n>>2]=0;c[m>>2]=0;c[x+4>>2]=c[l>>2];c[x+8>>2]=0;Nm(c[(c[f>>2]|0)+12>>2]|0,158,x)|0;c[z>>2]=Ee(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;c[q>>2]=Ae(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){if((Ge(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=Cn(c[(c[v>>2]|0)+36>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[z>>2]|0,c[q>>2]|0,s)|0;if(c[A>>2]|0)break a;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0;while(1){if(c[A>>2]|0)break;c[o>>2]=2147483647;c[w>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[r>>2]|0))break;c[u>>2]=(c[x+24>>2]|0)+((c[k>>2]|0)*12|0);if((c[c[u>>2]>>2]|0)!=0?((c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0)|0)<(c[o>>2]|0):0){c[o>>2]=(c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0);c[w>>2]=c[u>>2]}c[k>>2]=(c[k>>2]|0)+1}if(!(c[w>>2]|0)){c[A>>2]=101;continue}d=c[w>>2]|0;if(!(254&a[c[c[w>>2]>>2]>>0]))c[d>>2]=0;else Wn(d,(c[w>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[m>>2]|0)>=(c[o>>2]|0))break;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0}if(!(c[A>>2]|0)){d=((c[w>>2]|0)-(c[x+24>>2]|0)|0)/12|0;b=c[p>>2]|0;D=(c[n>>2]|0)-(c[p>>2]|0)|0;c[y>>2]=c[l>>2];c[y+4>>2]=d;c[y+8>>2]=b;c[y+12>>2]=D;Qd(64,j,23414,y)|0;c[A>>2]=Xn(B,j,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;Tb[c[(c[t>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if(c[A>>2]|0)break a}c[l>>2]=(c[l>>2]|0)+1}c[A>>2]=7}while(0);Kd(c[x+24>>2]|0);ym(c[v>>2]|0);d=c[e>>2]|0;if(c[A>>2]|0){qe(d,c[A>>2]|0);Kd(c[B>>2]|0);i=C;return}else{me(d,c[B>>2]|0,(c[B+4>>2]|0)-1|0,148);i=C;return}}function Vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;n=m+36|0;o=m+28|0;h=m+24|0;g=m+20|0;f=m+16|0;j=m+12|0;e=m+8|0;l=m+4|0;k=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[l>>2]=Qm(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,j)|0;c[g>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[j>>2]|0)Wn(j,e);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;n=(c[h>>2]|0)+8|0;o=c[n>>2]|0;c[n>>2]=o+1;c[k>>2]=(c[(c[h>>2]|0)+24>>2]|0)+(o*12|0);c[(c[k>>2]|0)+8>>2]=(c[g>>2]|0)-(c[f>>2]|0)-1;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[e>>2];c[f>>2]=(c[f>>2]|0)+1}i=m;return c[l>>2]|0}function Wn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128)b=$l(b,g)|0;else{c[g>>2]=d[b>>0];b=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+b;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);i=h;return}function Xn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<0)c[j>>2]=kR(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[k>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[j>>2]|0)+100;c[l>>2]=Ld(c[c[g>>2]>>2]|0,c[k>>2]|0)|0;if(c[l>>2]|0){c[c[g>>2]>>2]=c[l>>2];c[(c[g>>2]|0)+8>>2]=c[k>>2];break}c[f>>2]=7;l=c[f>>2]|0;i=m;return l|0}while(0);TR((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[j>>2]|0)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+(c[j>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Yn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+224|0;j=G+212|0;k=G+208|0;l=G+204|0;m=G+200|0;n=G+196|0;o=G+192|0;p=G+188|0;B=G+184|0;E=G+180|0;r=G+176|0;F=G+164|0;z=G+160|0;q=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[B>>2]=c[c[k>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[z>>2]=0;c[y>>2]=-1;if(!(c[(c[k>>2]|0)+12>>2]|0)){me(c[j>>2]|0,18402,0,0);i=G;return}c[z>>2]=1;a:while(1){g=w;c[g>>2]=0;c[g+4>>2]=0;g=x;c[g>>2]=0;c[g+4>>2]=0;g=c[p>>2]|0;if((c[p>>2]|0)>=0)c[y>>2]=(g+(c[z>>2]|0)-1|0)/(c[z>>2]|0)|0;else c[y>>2]=_(-1,g)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break;c[s>>2]=-1;c[A>>2]=q+((c[v>>2]|0)*24|0);d=c[A>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[B>>2]|0)+24>>2]|0))break;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[u>>2]=0;if(!((c[o>>2]|0)>=0?(c[t>>2]|0)!=(c[o>>2]|0):0)){d=w;c[E>>2]=Zn(c[y>>2]|0,c[k>>2]|0,c[t>>2]|0,c[d>>2]|0,c[d+4>>2]|0,x,C,u)|0;if(c[E>>2]|0)break a;if((c[u>>2]|0)>(c[s>>2]|0)){d=c[A>>2]|0;c[d>>2]=c[C>>2];c[d+4>>2]=c[C+4>>2];c[d+8>>2]=c[C+8>>2];c[d+12>>2]=c[C+12>>2];c[d+16>>2]=c[C+16>>2];c[d+20>>2]=c[C+20>>2];c[s>>2]=c[u>>2]}}c[t>>2]=(c[t>>2]|0)+1}f=(c[A>>2]|0)+8|0;a=w;e=c[a+4>>2]|c[f+4>>2];d=w;c[d>>2]=c[a>>2]|c[f>>2];c[d+4>>2]=e;c[v>>2]=(c[v>>2]|0)+1}e=x;d=w;if(((c[e>>2]|0)==(c[d>>2]|0)?(c[e+4>>2]|0)==(c[d+4>>2]|0):0)|(c[z>>2]|0)==4){D=20;break}c[z>>2]=(c[z>>2]|0)+1}b:do if((D|0)==20){c[r>>2]=0;while(1){if(!((c[r>>2]|0)<(c[z>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=_n(c[k>>2]|0,q+((c[r>>2]|0)*24|0)|0,c[r>>2]|0,(c[r>>2]|0)==((c[z>>2]|0)-1|0)&1,c[y>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,F)|0;c[r>>2]=(c[r>>2]|0)+1}}while(0);ym(c[B>>2]|0);g=c[j>>2]|0;if(c[E>>2]|0){qe(g,c[E>>2]|0);Kd(c[F>>2]|0);i=G;return}else{me(g,c[F>>2]|0,-1,148);i=G;return}}function Zn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+112|0;k=D+104|0;l=D+100|0;m=D+96|0;n=D+92|0;o=D+16|0;p=D+88|0;q=D+84|0;r=D+80|0;A=D+76|0;z=D+72|0;B=D+48|0;y=D+40|0;t=D+36|0;s=D+32|0;u=D+28|0;v=D+24|0;w=D+8|0;x=D;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;b=o;c[b>>2]=e;c[b+4>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=-1;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[A>>2]=Jm(c[m>>2]|0,z,0)|0;if(c[A>>2]|0){c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}c[y>>2]=(c[z>>2]|0)*24;c[B+16>>2]=Id(c[y>>2]|0)|0;if(!(c[B+16>>2]|0)){c[k>>2]=7;B=c[k>>2]|0;i=D;return B|0}VR(c[B+16>>2]|0,0,c[y>>2]|0)|0;c[B>>2]=c[m>>2];c[B+4>>2]=c[n>>2];c[B+8>>2]=c[l>>2];c[B+12>>2]=c[z>>2];c[B+20>>2]=-1;c[A>>2]=Nm(c[(c[m>>2]|0)+12>>2]|0,159,B)|0;if(!(c[A>>2]|0)){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[z>>2]|0))break;if(c[(c[B+16>>2]|0)+((c[s>>2]|0)*24|0)+12>>2]|0){h=WR(1,0,c[s>>2]|0)|0;g=c[p>>2]|0;b=g;j=c[b+4>>2]|C;c[g>>2]=c[b>>2]|h;c[g+4>>2]=j}c[s>>2]=(c[s>>2]|0)+1}c[c[q>>2]>>2]=c[n>>2];while(1){if(!((bo(B)|0)!=0^1))break;g=o;co(B,c[g>>2]|0,c[g+4>>2]|0,u,v,w,x);if((c[v>>2]|0)<=(c[t>>2]|0))continue;c[(c[q>>2]|0)+4>>2]=c[u>>2];g=x;j=c[g+4>>2]|0;h=(c[q>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;h=w;j=c[h+4>>2]|0;g=(c[q>>2]|0)+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=j;c[t>>2]=c[v>>2]}c[c[r>>2]>>2]=c[t>>2]}Kd(c[B+16>>2]|0);c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}function _n(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=i;i=i+128|0;l=N+112|0;m=N+108|0;P=N+104|0;n=N+100|0;o=N+96|0;p=N+92|0;q=N+88|0;r=N+84|0;s=N+80|0;t=N+76|0;J=N+72|0;K=N+68|0;L=N+64|0;G=N+60|0;y=N+56|0;z=N+52|0;E=N+48|0;B=N+44|0;w=N;O=N+40|0;I=N+36|0;H=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;D=N+12|0;F=N+8|0;c[m>>2]=a;c[P>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[J>>2]=c[c[m>>2]>>2];c[y>>2]=0;c[z>>2]=0;c[E>>2]=0;c[B>>2]=c[(c[P>>2]|0)+4>>2];g=(c[P>>2]|0)+16|0;e=c[g+4>>2]|0;d=w;c[d>>2]=c[g>>2];c[d+4>>2]=e;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[L>>2]=Ee(c[(c[m>>2]|0)+8>>2]|0,c[O>>2]|0)|0;d=c[(c[m>>2]|0)+8>>2]|0;e=c[O>>2]|0;if(!(c[L>>2]|0))if((Ge(d,e)|0)!=5){c[l>>2]=7;P=c[l>>2]|0;i=N;return P|0}else{c[l>>2]=0;P=c[l>>2]|0;i=N;return P|0}c[G>>2]=Ae(d,e)|0;c[I>>2]=c[c[(c[J>>2]|0)+36>>2]>>2];c[K>>2]=Cn(c[(c[J>>2]|0)+36>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[L>>2]|0,c[G>>2]|0,H)|0;if(c[K>>2]|0){c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}while(1){if(c[K>>2]|0)break;c[u>>2]=-1;c[x>>2]=0;c[A>>2]=0;c[D>>2]=0;c[K>>2]=Sb[c[(c[I>>2]|0)+20>>2]&255](c[H>>2]|0,v,u,x,A,y)|0;if(c[K>>2]|0){M=9;break}if((c[y>>2]|0)<(c[B>>2]|0))continue;if(!(c[E>>2]|0)){c[F>>2]=(c[G>>2]|0)-(c[x>>2]|0);c[K>>2]=$n(c[J>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[p>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,c[F>>2]|0,B,w)|0;c[E>>2]=1;do if(!(c[K>>2]|0)){if((c[B>>2]|0)>0|(c[n>>2]|0)>0){c[K>>2]=Xn(c[t>>2]|0,c[s>>2]|0,-1)|0;break}if(c[x>>2]|0)c[K>>2]=Xn(c[t>>2]|0,c[L>>2]|0,c[x>>2]|0)|0}while(0);if(c[K>>2]|0)continue;if((c[y>>2]|0)<(c[B>>2]|0))continue}if((c[y>>2]|0)>=((c[B>>2]|0)+(c[p>>2]|0)|0)){M=21;break}P=w;g=c[P>>2]|0;P=c[P+4>>2]|0;O=WR(1,0,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;c[D>>2]=((g&O|0)!=0|(P&C|0)!=0)&1;if((c[y>>2]|0)>(c[B>>2]|0))c[K>>2]=Xn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,(c[x>>2]|0)-(c[z>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Xn(c[t>>2]|0,c[q>>2]|0,-1)|0;if(!(c[K>>2]|0))c[K>>2]=Xn(c[t>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,(c[A>>2]|0)-(c[x>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Xn(c[t>>2]|0,c[r>>2]|0,-1)|0;c[z>>2]=c[A>>2]}if((M|0)==9){if((c[K>>2]|0)==101)c[K>>2]=Xn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,-1)|0}else if((M|0)==21?(c[o>>2]|0)!=0:0)c[K>>2]=Xn(c[t>>2]|0,c[s>>2]|0,-1)|0;Tb[c[(c[I>>2]|0)+16>>2]&255](c[H>>2]|0)|0;c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}function $n(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+96|0;w=F+84|0;j=F+80|0;k=F+76|0;x=F+72|0;l=F+68|0;m=F+64|0;y=F+60|0;z=F+56|0;A=F;s=F+52|0;t=F+48|0;r=F+44|0;D=F+40|0;B=F+36|0;E=F+32|0;v=F+28|0;u=F+24|0;q=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;c[j>>2]=a;c[k>>2]=b;c[x>>2]=d;c[l>>2]=e;c[m>>2]=f;c[y>>2]=g;c[z>>2]=h;a=c[z>>2]|0;g=c[a+4>>2]|0;e=A;c[e>>2]=c[a>>2];c[e+4>>2]=g;e=A;do if((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0){c[s>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=WR(1,0,c[s>>2]|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=WR(1,0,(c[x>>2]|0)-1-(c[t>>2]|0)|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=((c[s>>2]|0)-(c[t>>2]|0)|0)/2|0;if((c[r>>2]|0)>0){c[B>>2]=0;c[v>>2]=c[c[(c[j>>2]|0)+36>>2]>>2];c[E>>2]=Cn(c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,u)|0;if(c[E>>2]|0){c[w>>2]=c[E>>2];E=c[w>>2]|0;i=F;return E|0}while(1){if(c[E>>2]|0)break;if((c[B>>2]|0)>=((c[x>>2]|0)+(c[r>>2]|0)|0))break;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[E>>2]=Sb[c[(c[v>>2]|0)+20>>2]&255](c[u>>2]|0,q,n,o,p,B)|0}Tb[c[(c[v>>2]|0)+16>>2]&255](c[u>>2]|0)|0;j=c[E>>2]|0;if((c[E>>2]|0)!=0&(c[E>>2]|0)!=101){c[w>>2]=j;E=c[w>>2]|0;i=F;return E|0}else{c[D>>2]=((j|0)==101&1)+(c[B>>2]|0)-(c[x>>2]|0);if((c[D>>2]|0)<=0)break;E=c[y>>2]|0;c[E>>2]=(c[E>>2]|0)+(c[D>>2]|0);E=A;D=SR(c[E>>2]|0,c[E+4>>2]|0,c[D>>2]|0)|0;E=c[z>>2]|0;c[E>>2]=D;c[E+4>>2]=C;break}}}while(0);c[w>>2]=0;E=c[w>>2]|0;i=F;return E|0}function ao(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+28|0;m=j+24|0;n=j+20|0;k=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;e=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=c[n>>2];c[g>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[g>>2]>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=Qm(c[c[k>>2]>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+4>>2]|0,f)|0;if(!(c[f>>2]|0)){n=c[h>>2]|0;i=j;return n|0}c[e>>2]=0;c[(c[g>>2]|0)+4>>2]=c[f>>2];Wn(f,e);c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[g>>2]|0)+20>>2]=c[f>>2];c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;i=j;return n|0}function bo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+28|0;d=l+24|0;e=l+20|0;h=l+16|0;g=l+12|0;f=l+8|0;j=l+4|0;k=l;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[h>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);eo((c[h>>2]|0)+12|0,(c[h>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[f>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+12>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)<(c[f>>2]|0):0)c[f>>2]=c[(c[j>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[f>>2]|0)==2147483647){c[b>>2]=1;k=c[b>>2]|0;i=l;return k|0}j=(c[f>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=j;c[(c[d>>2]|0)+20>>2]=j;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[k>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);eo((c[k>>2]|0)+12|0,(c[k>>2]|0)+8|0,(c[f>>2]|0)+1|0);eo((c[k>>2]|0)+20|0,(c[k>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}function co(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;k=B+84|0;l=B+32|0;m=B+80|0;n=B+76|0;o=B+72|0;p=B+68|0;t=B+64|0;s=B+60|0;q=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;r=B+44|0;u=B+40|0;x=B+8|0;y=B;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[t>>2]=c[(c[k>>2]|0)+20>>2];c[s>>2]=0;j=v;c[j>>2]=0;c[j+4>>2]=0;j=w;c[j>>2]=0;c[j+4>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+12>>2]|0))break;c[A>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[q>>2]|0)*24|0);a:do if(c[(c[A>>2]|0)+20>>2]|0){c[z>>2]=c[(c[A>>2]|0)+20>>2];c[r>>2]=c[(c[A>>2]|0)+16>>2];while(1){if((c[r>>2]|0)>=((c[t>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0))break a;f=WR(1,0,c[q>>2]|0)|0;h=x;c[h>>2]=f;c[h+4>>2]=C;h=WR(1,0,(c[r>>2]|0)-(c[t>>2]|0)|0)|0;f=y;c[f>>2]=h;c[f+4>>2]=C;f=v;h=l;j=x;d=c[s>>2]|0;if(((c[f>>2]|c[h>>2])&c[j>>2]|0)!=0?1:((c[f+4>>2]|c[h+4>>2])&c[j+4>>2]|0)!=0)c[s>>2]=d+1;else c[s>>2]=d+1e3;f=x;g=v;h=c[g+4>>2]|c[f+4>>2];j=v;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[A>>2]>>2]|0))break;f=y;f=SR(c[f>>2]|0,c[f+4>>2]|0,c[u>>2]|0)|0;g=w;h=c[g+4>>2]|C;j=w;c[j>>2]=c[g>>2]|f;c[j+4>>2]=h;c[u>>2]=(c[u>>2]|0)+1}if(!(a[c[z>>2]>>0]&254))break a;Wn(z,r)}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[c[m>>2]>>2]=c[t>>2];c[c[n>>2]>>2]=c[s>>2];A=v;z=c[A+4>>2]|0;y=c[o>>2]|0;c[y>>2]=c[A>>2];c[y+4>>2]=z;y=w;z=c[y+4>>2]|0;A=c[p>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;i=B;return}function eo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[k>>2]|0)){i=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[k>>2]>>0]&254)){l=5;break}Wn(k,j)}if((l|0)==5){c[j>>2]=-1;c[k>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[k>>2];i=m;return}function fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=0;c[g>>2]=pl(c[j>>2]|0,36,f,0)|0;if(c[g>>2]|0){b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}if(100==(te(c[f>>2]|0)|0))c[e>>2]=Ce(c[f>>2]|0,0)|0;c[g>>2]=Yd(c[f>>2]|0)|0;b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}function go(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;D=i;i=i+128|0;f=D+112|0;g=D+108|0;E=D+104|0;h=D+100|0;A=D+96|0;u=D+92|0;w=D+88|0;x=D+84|0;z=D+80|0;v=D+76|0;n=D+16|0;m=D+64|0;j=D+60|0;t=D+8|0;y=D+52|0;l=D+48|0;p=D+44|0;q=D+40|0;o=D;r=D+36|0;k=D+32|0;B=D+28|0;s=D+24|0;c[g>>2]=a;c[E>>2]=b;c[h>>2]=e;c[u>>2]=c[E>>2];c[v>>2]=0;a=n;c[a>>2]=0;c[a+4>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[j>>2]=0;c[D+56>>2]=640;c[z>>2]=Id(640)|0;if(!(c[z>>2]|0)){c[f>>2]=7;E=c[f>>2]|0;i=D;return E|0}c[x>>2]=(c[z>>2]|0)+568;c[w>>2]=(c[x>>2]|0)+16;c[A>>2]=ho(c[g>>2]|0,m)|0;while(1){if(!((c[A>>2]|0)==0?(c[u>>2]|0)>0:0))break;a=c[(c[g>>2]|0)+248>>2]<<10;E=t;c[E>>2]=a;c[E+4>>2]=((a|0)<0)<<31>>31;c[y>>2]=0;c[l>>2]=0;c[p>>2]=0;c[A>>2]=pl(c[g>>2]|0,28,y,0)|0;Ke(c[y>>2]|0,1,2>(c[h>>2]|0)?2:c[h>>2]|0)|0;if((te(c[y>>2]|0)|0)==100){a=De(c[y>>2]|0,0)|0;E=n;c[E>>2]=a;c[E+4>>2]=C;c[v>>2]=Ce(c[y>>2]|0,1)|0}else c[v>>2]=-1;c[A>>2]=Yd(c[y>>2]|0)|0;do if((c[A>>2]|0)==0?(c[m+4>>2]|0)!=0:0){c[q>>2]=c[m+4>>2];E=o;c[E>>2]=0;c[E+4>>2]=0;c[r>>2]=0;c[A>>2]=io(m,o,r)|0;if((c[v>>2]|0)>=0?(b=n,a=t,a=$R(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,b=C,e=o,E=t,E=$R(c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,e=C,!((b|0)>(e|0)|(b|0)==(e|0)&a>>>0>=E>>>0)):0){c[m+4>>2]=c[q>>2];break}e=o;a=c[e+4>>2]|0;E=n;c[E>>2]=c[e>>2];c[E+4>>2]=a;c[v>>2]=c[r>>2];c[l>>2]=1;c[j>>2]=1}while(0);if((c[v>>2]|0)<0)break;VR(c[z>>2]|0,0,640)|0;c[(c[x>>2]|0)+12>>2]=1;do if(!(c[A>>2]|0)){E=n;c[A>>2]=jo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if((c[p>>2]|0)!=0?!((c[l>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[k>>2]=0;a=c[g>>2]|0;E=n;E=RR(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[A>>2]=ko(a,E,C,k)|0;if(c[k>>2]|0){E=(c[x>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[A>>2]|0)){E=n;c[A>>2]=lo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,c[w>>2]|0)|0}if(((0==(c[A>>2]|0)?(c[(c[w>>2]|0)+4>>2]|0)==(c[v>>2]|0):0)?(E=ul(c[g>>2]|0,c[w>>2]|0,c[x>>2]|0)|0,c[A>>2]=E,0==(E|0)):0)?(E=vl(c[g>>2]|0,c[w>>2]|0)|0,c[A>>2]=E,100==(E|0)):0){if((c[l>>2]|0)!=0&(c[p>>2]|0)>0){c[B>>2]=c[(c[w>>2]|0)+40>>2];c[s>>2]=c[(c[w>>2]|0)+44>>2];E=n;c[A>>2]=mo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[B>>2]|0,c[s>>2]|0,c[z>>2]|0)|0}else{E=n;c[A>>2]=no(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[w>>2]|0,c[z>>2]|0)|0}if((c[A>>2]|0)==0?(c[c[z>>2]>>2]|0)!=0:0){do{c[A>>2]=oo(c[g>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;if(!(c[A>>2]|0))c[A>>2]=vl(c[g>>2]|0,c[w>>2]|0)|0;if((c[A>>2]|0)==100?(c[(c[z>>2]|0)+4>>2]|0)>=(c[u>>2]|0):0)c[A>>2]=0}while((c[A>>2]|0)==100);if((c[A>>2]|0)==0?(c[u>>2]=(c[u>>2]|0)-(1+(c[(c[z>>2]|0)+4>>2]|0)),E=n,c[A>>2]=po(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[w>>2]|0,v)|0,(c[v>>2]|0)!=0):0){c[j>>2]=1;E=n;qo(m,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,A)}}if(c[v>>2]|0){a=(c[z>>2]|0)+40|0;a=aS(c[a>>2]|0,c[a+4>>2]|0,-1,-1)|0;E=(c[z>>2]|0)+40|0;c[E>>2]=a;c[E+4>>2]=C}ro(c[g>>2]|0,c[z>>2]|0,A);if((c[v>>2]|0)==0?(d[(c[z>>2]|0)+48>>0]|0|0)==0:0){e=c[g>>2]|0;a=n;a=RR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;E=(c[z>>2]|0)+40|0;zl(e,a,C,c[E>>2]|0,c[E+4>>2]|0)|0}}Bl(c[w>>2]|0)}if((c[j>>2]|0)!=0&(c[A>>2]|0)==0)c[A>>2]=so(c[g>>2]|0,m)|0;Kd(c[z>>2]|0);Kd(c[m>>2]|0);c[f>>2]=c[A>>2];E=c[f>>2]|0;i=D;return E|0}function ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+24|0;d=k+20|0;g=k+16|0;h=k+12|0;j=k+8|0;e=k+4|0;f=k;c[l>>2]=a;c[d>>2]=b;c[g>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[h>>2]=pl(c[l>>2]|0,22,g,0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}Ke(c[g>>2]|0,1,1)|0;if((100==(te(c[g>>2]|0)|0)?(c[e>>2]=ze(c[g>>2]|0,0)|0,c[f>>2]=Ae(c[g>>2]|0,0)|0,(c[e>>2]|0)!=0):0)?(to(c[d>>2]|0,c[f>>2]|0,h),(c[h>>2]|0)==0):0){TR(c[c[d>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[f>>2]}c[j>>2]=Yd(c[g>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}function io(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+20|0;h=n+16|0;g=n+12|0;j=n+8|0;m=n+4|0;l=n;c[h>>2]=b;c[g>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+4>>2];c[l>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[l>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128))break;c[l>>2]=(c[l>>2]|0)+-1}while(1){if((c[l>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[l>>2]|0;if(!e)break;c[l>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=_l((c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0,c[g>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[l>>2]|0)>>0]&128)b=$l(b,c[j>>2]|0)|0;else{c[c[j>>2]>>2]=d[b>>0];b=1}c[l>>2]=(c[l>>2]|0)+b;if((c[l>>2]|0)!=(c[m>>2]|0)){c[k>>2]=267;m=c[k>>2]|0;i=n;return m|0}else{c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function jo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=pl(c[l>>2]|0,8,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}e=c[h>>2]|0;l=f;l=RR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;Le(e,1,l,C)|0;te(c[h>>2]|0)|0;l=Ce(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=l;c[j>>2]=Yd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function ko(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[k>>2]=pl(c[m>>2]|0,15,j,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];m=c[f>>2]|0;i=l;return m|0}m=c[j>>2]|0;k=g;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;Le(m,1,k,C)|0;k=c[j>>2]|0;m=g;m=_R(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=RR(m|0,C|0,1,0)|0;m=aS(m|0,C|0,1024,0)|0;Le(k,2,m,C)|0;c[c[h>>2]>>2]=0;if(100==(te(c[j>>2]|0)|0)){m=(Ge(c[j>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=Yd(c[j>>2]|0)|0;m=c[f>>2]|0;i=l;return m|0}function lo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q;j=q+32|0;k=q+28|0;o=q+24|0;n=q+20|0;m=q+16|0;l=q+12|0;p=q+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;b=c[k>>2]|0;d=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[m>>2]=c[j>>2]<<2;f=Id(c[m>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0))c[o>>2]=7;else{VR(c[c[k>>2]>>2]|0,0,c[m>>2]|0)|0;c[o>>2]=pl(c[g>>2]|0,12,n,0)|0}if(c[o>>2]|0){p=c[o>>2]|0;i=q;return p|0}m=h;Le(c[n>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[l>>2]=0;while(1){if(c[o>>2]|0)break;if((te(c[n>>2]|0)|0)!=100)break;if((c[l>>2]|0)>=(c[j>>2]|0))break;r=c[l>>2]|0;b=De(c[n>>2]|0,1)|0;d=C;e=De(c[n>>2]|0,2)|0;a=C;f=De(c[n>>2]|0,3)|0;g=C;h=ze(c[n>>2]|0,4)|0;m=Ae(c[n>>2]|0,4)|0;c[o>>2]=om(r,0,b,d,e,a,f,g,h,m,(c[c[k>>2]>>2]|0)+(c[l>>2]<<2)|0)|0;m=(c[k>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[p>>2]=Yd(c[n>>2]|0)|0;if(c[o>>2]|0){r=c[o>>2]|0;i=q;return r|0}c[o>>2]=c[p>>2];r=c[o>>2]|0;i=q;return r|0}function mo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+208|0;y=K+200|0;z=K+196|0;k=K+120|0;l=K+192|0;m=K+188|0;n=K+184|0;A=K+180|0;H=K+176|0;G=K+172|0;s=K+112|0;r=K+104|0;q=K+96|0;v=K+168|0;x=K+164|0;I=K+160|0;p=K+156|0;o=K+152|0;t=K+148|0;u=K+48|0;D=K+144|0;w=K+140|0;F=K+136|0;J=K;B=K+132|0;E=K+128|0;c[z>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[A>>2]=j;c[G>>2]=0;c[H>>2]=pl(c[z>>2]|0,32,G,0)|0;if(!(c[H>>2]|0)){d=s;c[d>>2]=0;c[d+4>>2]=0;d=r;c[d>>2]=0;c[d+4>>2]=0;d=q;c[d>>2]=0;c[d+4>>2]=0;c[v>>2]=0;c[x>>2]=0;c[p>>2]=0;d=c[G>>2]|0;g=k;g=RR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;Le(d,1,g,C)|0;Ke(c[G>>2]|0,2,c[l>>2]|0)|0;g=(te(c[G>>2]|0)|0)==100;d=c[G>>2]|0;if(!g){c[y>>2]=Yd(d)|0;J=c[y>>2]|0;i=K;return J|0}g=De(d,1)|0;j=s;c[j>>2]=g;c[j+4>>2]=C;j=De(c[G>>2]|0,2)|0;g=r;c[g>>2]=j;c[g+4>>2]=C;El(c[G>>2]|0,3,q,(c[A>>2]|0)+40|0);if((c[(c[A>>2]|0)+40+4>>2]|0)<0){j=(c[A>>2]|0)+40|0;j=aS(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;g=(c[A>>2]|0)+40|0;c[g>>2]=j;c[g+4>>2]=C}g=(c[A>>2]|0)+40|0;a[(c[A>>2]|0)+48>>0]=(c[g>>2]|0)==0&(c[g+4>>2]|0)==0&1;c[x>>2]=Ae(c[G>>2]|0,4)|0;c[v>>2]=ze(c[G>>2]|0,4)|0;g=q;c[H>>2]=Fo(c[z>>2]|0,c[g>>2]|0,c[g+4>>2]|0,p)|0;if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[o>>2]=0;c[t>>2]=0;c[H>>2]=gm(c[z>>2]|0,c[r>>2]|0,c[r+4>>2]|0,o,t,0)|0;if(!(c[H>>2]|0)){c[H>>2]=yo(u,c[o>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[H>>2]|0)==0?(c[u>>2]|0)!=0:0))break;c[H>>2]=Co(u)|0}if((zo(c[m>>2]|0,c[n>>2]|0,c[u+24>>2]|0,c[u+24+4>>2]|0)|0)<=0)c[p>>2]=0;Do(u)}Kd(c[o>>2]|0)}a:do if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[w>>2]=a[c[v>>2]>>0];u=q;t=s;t=QR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=RR(t|0,C|0,1,0)|0;c[c[A>>2]>>2]=(t|0)/16|0;t=c[s+4>>2]|0;u=(c[A>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;u=q;t=c[u+4>>2]|0;s=(c[A>>2]|0)+32|0;c[s>>2]=c[u>>2];c[s+4>>2]=t;s=k;t=c[s+4>>2]|0;u=(c[A>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[A>>2]|0)+16>>2]=c[l>>2];c[D>>2]=(c[w>>2]|0)+1;while(1){if((c[D>>2]|0)>=16)break;u=(c[A>>2]|0)+24|0;t=_(c[D>>2]|0,c[c[A>>2]>>2]|0)|0;t=RR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[A>>2]|0)+56+(c[D>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=C;c[D>>2]=(c[D>>2]|0)+1}c[F>>2]=(c[A>>2]|0)+56+(c[w>>2]<<5);u=(c[A>>2]|0)+24|0;t=_(c[c[A>>2]>>2]|0,c[w>>2]|0)|0;t=RR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[F>>2]|0;c[u>>2]=t;c[u+4>>2]=C;if((c[x>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[x>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;to((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){TR(c[(c[F>>2]|0)+20>>2]|0,c[v>>2]|0,c[x>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[x>>2]}c[D>>2]=c[w>>2];while(1){if(!((c[D>>2]|0)>=0?(c[H>>2]|0)==0:0))break a;c[F>>2]=(c[A>>2]|0)+56+(c[D>>2]<<5);c[H>>2]=yo(J,c[(c[F>>2]|0)+20>>2]|0,c[(c[F>>2]|0)+20+4>>2]|0)|0;while(1){if(!((c[J>>2]|0)!=0?(c[H>>2]|0)==0:0))break;c[H>>2]=Co(J)|0}to((c[F>>2]|0)+8|0,c[J+24+4>>2]|0,H);if((c[H>>2]|0)==0?(TR(c[(c[F>>2]|0)+8>>2]|0,c[J+24>>2]|0,c[J+24+4>>2]|0)|0,c[(c[F>>2]|0)+8+4>>2]=c[J+24+4>>2],(c[D>>2]|0)>0):0){c[B>>2]=0;c[E>>2]=0;c[F>>2]=(c[A>>2]|0)+56+((c[D>>2]|0)-1<<5);v=J+16|0;w=c[v+4>>2]|0;x=c[F>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=J+16|0;c[H>>2]=gm(c[z>>2]|0,c[x>>2]|0,c[x+4>>2]|0,B,E,0)|0;if((c[E>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[E>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;to((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){TR(c[(c[F>>2]|0)+20>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[E>>2]}Kd(c[B>>2]|0)}Do(J);c[D>>2]=(c[D>>2]|0)+-1}}while(0);c[I>>2]=Yd(c[G>>2]|0)|0;if(!(c[H>>2]|0))c[H>>2]=c[I>>2]}c[y>>2]=c[H>>2];J=c[y>>2]|0;i=K;return J|0}function no(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+44|0;j=t+40|0;k=t;l=t+36|0;m=t+32|0;n=t+28|0;s=t+24|0;o=t+20|0;p=t+16|0;r=t+12|0;q=t+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=pl(c[j>>2]|0,29,r,0)|0;if(!(c[s>>2]|0)){g=k;Le(c[r>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[m>>2]|0)+4>>2]|0;Le(c[r>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(te(c[r>>2]|0)|0))c[p>>2]=Ce(c[r>>2]|0,0)|0;c[s>>2]=Yd(c[r>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}c[s>>2]=pl(c[j>>2]|0,10,q,0)|0;if(!(c[s>>2]|0)){if(100==(te(c[q>>2]|0)|0)){r=De(c[q>>2]|0,0)|0;g=(c[n>>2]|0)+24|0;c[g>>2]=r;c[g+4>>2]=C;g=(c[n>>2]|0)+24|0;g=QR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;r=(c[n>>2]|0)+32|0;c[r>>2]=g;c[r+4>>2]=C;r=c[p>>2]<<4;g=(c[n>>2]|0)+32|0;f=g;r=RR(c[f>>2]|0,c[f+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[g>>2]=r;c[g+4>>2]=C}c[s>>2]=Yd(c[q>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}g=(c[n>>2]|0)+32|0;c[s>>2]=Fl(c[j>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}r=k;g=c[r+4>>2]|0;s=(c[n>>2]|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;c[c[n>>2]>>2]=c[p>>2];c[(c[n>>2]|0)+16>>2]=c[l>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break;s=(c[n>>2]|0)+24|0;g=_(c[o>>2]|0,c[c[n>>2]>>2]|0)|0;g=RR(c[s>>2]|0,c[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;s=(c[n>>2]|0)+56+(c[o>>2]<<5)|0;c[s>>2]=g;c[s+4>>2]=C;c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function oo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;f=r+44|0;g=r+40|0;s=r+36|0;q=r+32|0;n=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;l=r+12|0;k=r+8|0;m=r+4|0;o=r;c[f>>2]=b;c[g>>2]=d;c[s>>2]=e;c[q>>2]=c[(c[s>>2]|0)+40>>2];c[n>>2]=c[(c[s>>2]|0)+44>>2];c[h>>2]=c[(c[s>>2]|0)+48>>2];c[j>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=0;c[o>>2]=(c[g>>2]|0)+56;c[k>>2]=Ml(c[(c[o>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+8+4>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[m>>2]=(c[n>>2]|0)-(c[k>>2]|0);d=c[k>>2]|0;c[l>>2]=Jl(d,((d|0)<0)<<31>>31)|0;d=c[m>>2]|0;d=Jl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[m>>2]|0));d=c[j>>2]|0;d=Jl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[j>>2]|0));if((c[(c[o>>2]|0)+20+4>>2]|0)>0?((c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0)>(c[(c[f>>2]|0)+224>>2]|0):0){s=c[o>>2]|0;c[p>>2]=Fl(c[f>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+20+4>>2]|0)|0;s=(c[g>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[p>>2]|0))c[p>>2]=Eo(c[f>>2]|0,c[g>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1|0)|0;s=c[o>>2]|0;d=s;d=RR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[s>>2]=d;c[s+4>>2]=C;c[(c[o>>2]|0)+8+4>>2]=0;c[(c[o>>2]|0)+20+4>>2]=0;c[m>>2]=c[n>>2];c[l>>2]=1;s=c[m>>2]|0;s=Jl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[m>>2]|0));s=c[j>>2]|0;s=Jl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[j>>2]|0))}d=c[l>>2]|0;s=(c[g>>2]|0)+40|0;e=s;d=RR(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[s>>2]=d;c[s+4>>2]=C;to((c[o>>2]|0)+20|0,(c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0,p);if(c[p>>2]|0){s=c[p>>2]|0;i=r;return s|0}if(!(c[(c[o>>2]|0)+20+4>>2]|0)){c[(c[o>>2]|0)+20+4>>2]=1;a[c[(c[o>>2]|0)+20>>2]>>0]=0}c[p>>2]=Bo((c[o>>2]|0)+20|0,(c[o>>2]|0)+8|0,c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;s=c[p>>2]|0;i=r;return s|0}function po(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+44|0;h=s;j=s+40|0;k=s+36|0;l=s+32|0;n=s+28|0;q=s+24|0;p=s+20|0;m=s+16|0;r=s+12|0;o=s+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;c[q>>2]=0;c[l>>2]=(c[(c[j>>2]|0)+4>>2]|0)-1;while(1){if(!((c[l>>2]|0)>=0?(c[q>>2]|0)==0:0))break;c[p>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[p>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];if((c[c[p>>2]>>2]|0)==(c[l>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if(!(c[(c[p>>2]|0)+40>>2]|0)){c[q>>2]=Ll(c[g>>2]|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){f=h;c[q>>2]=uo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0)|0}c[c[k>>2]>>2]=0}else{c[r>>2]=c[(c[p>>2]|0)+64>>2];c[o>>2]=c[(c[p>>2]|0)+60>>2];f=h;c[q>>2]=vo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+-1}if(c[q>>2]|0){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}if((c[n>>2]|0)==(c[(c[j>>2]|0)+4>>2]|0)){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}f=h;c[q>>2]=wo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}function qo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+16|0;h=k;j=k+12|0;l=k+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[l>>2]=f;to(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[l>>2]|0);if(c[c[l>>2]>>2]|0){i=k;return}l=h;l=Kl((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[l>>2]|0,c[l+4>>2]|0)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+l;f=c[j>>2]|0;f=Kl((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+f;i=k;return}function ro(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;n=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;q=r+12|0;l=r+8|0;k=r+4|0;m=r;c[g>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[j>>2]=15;while(1){if((c[j>>2]|0)<0)break;c[l>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);if((c[(c[l>>2]|0)+20+4>>2]|0)>0)break;Kd(c[(c[l>>2]|0)+20>>2]|0);Kd(c[(c[l>>2]|0)+8>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=r;return}if(!(c[j>>2]|0)){c[k>>2]=(c[n>>2]|0)+56+32+20;to(c[k>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[k>>2]>>2]>>0]=1;e=(c[n>>2]|0)+56|0;e=1+(Kl((c[c[k>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[k>>2]|0)+4>>2]=e}c[j>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[n>>2]|0)+56+(c[h>>2]<<5);if((c[q>>2]|0)==0?(c[(c[m>>2]|0)+20+4>>2]|0)>0:0){e=c[m>>2]|0;c[q>>2]=Fl(c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[m>>2]|0)+20>>2]|0);Kd(c[(c[m>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(!(c[q>>2]|0)){m=c[g>>2]|0;g=(c[n>>2]|0)+8|0;g=RR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=(c[n>>2]|0)+24|0;j=(c[n>>2]|0)+56|0;b=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){l=(c[n>>2]|0)+40|0;k=c[l>>2]|0;l=c[l+4>>2]|0}else{k=0;l=0}c[q>>2]=Hl(m,g,C,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,k,l,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[p>>2]|0)+20>>2]|0);Kd(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];i=r;return}function so(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=pl(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}Ke(c[e>>2]|0,1,1)|0;Ie(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;te(c[e>>2]|0)|0;c[f>>2]=Yd(c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){i=k;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){i=k;return}c[j>>2]=c[f>>2];c[h>>2]=Ld(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+8>>2]=c[j>>2];c[c[e>>2]>>2]=c[h>>2];i=k;return}else{c[c[g>>2]>>2]=7;i=k;return}}function uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=pl(c[l>>2]|0,30,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=f;Le(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Ke(c[h>>2]|0,2,c[g>>2]|0)|0;te(c[h>>2]|0)|0;c[j>>2]=Yd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;h=B+104|0;j=B+24|0;k=B+100|0;l=B+96|0;m=B+92|0;y=B+88|0;A=B+76|0;p=B+64|0;q=B+16|0;r=B+8|0;s=B;x=B+60|0;z=B+56|0;o=B+52|0;u=B+48|0;n=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[y>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;f=q;c[f>>2]=0;c[f+4>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;f=s;c[f>>2]=0;c[f+4>>2]=0;c[x>>2]=0;c[y>>2]=pl(c[h>>2]|0,32,x,0)|0;if(!(c[y>>2]|0)){f=j;Le(c[x>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Ke(c[x>>2]|0,2,c[k>>2]|0)|0;if(100==(te(c[x>>2]|0)|0)){c[o>>2]=ze(c[x>>2]|0,4)|0;c[u>>2]=Ae(c[x>>2]|0,4)|0;a=De(c[x>>2]|0,1)|0;f=s;c[f>>2]=a;c[f+4>>2]=C;c[y>>2]=xo(c[o>>2]|0,c[u>>2]|0,A,c[l>>2]|0,c[m>>2]|0,q)|0}c[z>>2]=Yd(c[x>>2]|0)|0;if(!(c[y>>2]|0))c[y>>2]=c[z>>2]}while(1){f=q;if(!((c[y>>2]|0)==0?(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0:0))break;c[n>>2]=0;c[t>>2]=0;x=q;z=c[x+4>>2]|0;f=r;c[f>>2]=c[x>>2];c[f+4>>2]=z;f=q;c[y>>2]=gm(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,n,t,0)|0;if(!(c[y>>2]|0))c[y>>2]=xo(c[n>>2]|0,c[t>>2]|0,p,c[l>>2]|0,c[m>>2]|0,q)|0;if(!(c[y>>2]|0)){f=r;c[y>>2]=Fl(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}Kd(c[n>>2]|0)}f=r;if((c[y>>2]|0)==0&((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)?(c[w>>2]=0,c[y>>2]=pl(c[h>>2]|0,17,w,0)|0,(c[y>>2]|0)==0):0){z=s;Le(c[w>>2]|0,1,c[z>>2]|0,c[z+4>>2]|0)|0;z=c[w>>2]|0;f=r;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Le(z,2,f,C)|0;te(c[w>>2]|0)|0;c[y>>2]=Yd(c[w>>2]|0)|0}if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}c[v>>2]=0;c[y>>2]=pl(c[h>>2]|0,33,v,0)|0;if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}f=r;Le(c[v>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Ie(c[v>>2]|0,2,c[A>>2]|0,c[A+4>>2]|0,0)|0;f=j;Le(c[v>>2]|0,3,c[f>>2]|0,c[f+4>>2]|0)|0;Ke(c[v>>2]|0,4,c[k>>2]|0)|0;te(c[v>>2]|0)|0;c[y>>2]=Yd(c[v>>2]|0)|0;f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}function wo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;f=s+44|0;g=s;p=s+40|0;h=s+36|0;m=s+32|0;l=s+28|0;k=s+24|0;n=s+20|0;o=s+16|0;q=s+12|0;j=s+8|0;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=0;c[m>>2]=0;c[l>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=pl(c[f>>2]|0,35,n,0)|0;if(!(c[p>>2]|0)){b=g;Le(c[n>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;while(1){if(100!=(te(c[n>>2]|0)|0))break;if((c[m>>2]|0)>=(c[l>>2]|0)){c[l>>2]=(c[l>>2]|0)+16;c[j>>2]=Ld(c[h>>2]|0,c[l>>2]<<2)|0;if(!(c[j>>2]|0)){r=6;break}c[h>>2]=c[j>>2]}e=Ce(c[n>>2]|0,0)|0;b=c[m>>2]|0;c[m>>2]=b+1;c[(c[h>>2]|0)+(b<<2)>>2]=e}if((r|0)==6)c[p>>2]=7;c[q>>2]=Yd(c[n>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=c[q>>2]}if(!(c[p>>2]|0))c[p>>2]=pl(c[f>>2]|0,31,o,0)|0;if(!(c[p>>2]|0)){r=g;Le(c[o>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[f>>2]|0)+232>>0]=1;c[k>>2]=0;while(1){if(c[p>>2]|0){r=21;break}if((c[k>>2]|0)>=(c[m>>2]|0)){r=21;break}if((c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)!=(c[k>>2]|0)){Ke(c[o>>2]|0,3,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;Ke(c[o>>2]|0,1,c[k>>2]|0)|0;te(c[o>>2]|0)|0;c[p>>2]=Yd(c[o>>2]|0)|0}c[k>>2]=(c[k>>2]|0)+1}if((r|0)==21){a[(c[f>>2]|0)+232>>0]=0;Kd(c[h>>2]|0);i=s;return c[p>>2]|0}return 0}function xo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+112|0;j=w+96|0;k=w+92|0;l=w+88|0;m=w+84|0;n=w+80|0;o=w+76|0;p=w+72|0;t=w;r=w+60|0;s=w+56|0;q=w+52|0;u=w+48|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[s>>2]=0;c[q>>2]=(a[c[k>>2]>>0]|0)==0&1;to(c[m>>2]|0,c[l>>2]|0,s);if(c[s>>2]|0){c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}c[(c[m>>2]|0)+4>>2]=0;c[s>>2]=yo(t,c[k>>2]|0,c[l>>2]|0)|0;while(1){if(!((c[s>>2]|0)==0?(c[t>>2]|0)!=0:0))break;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[u>>2]=zo(c[t+24>>2]|0,c[t+24+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>=0?!((c[q>>2]|0)==0&(c[u>>2]|0)==0):0){h=t+16|0;Ao(c[m>>2]|0,a[c[k>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=t+16|0;f=c[h+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=f;v=9}}else v=9;if((v|0)==9?(v=0,c[s>>2]=Bo(c[m>>2]|0,r,c[t+24>>2]|0,c[t+24+4>>2]|0,c[t+36>>2]|0,c[t+40>>2]|0)|0,(c[s>>2]|0)!=0):0)break;c[s>>2]=Co(t)|0}if(!(c[(c[m>>2]|0)+4>>2]|0)){u=t+16|0;Ao(c[m>>2]|0,a[c[k>>2]>>0]|0,c[u>>2]|0,c[u+4>>2]|0);u=t+16|0;f=c[u+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=f}Do(t);Kd(c[r>>2]|0);c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}function yo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j+4|0;g=j;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;d=c[h>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];d=c[h>>2]|0;if(a[c[c[h>>2]>>2]>>0]|0){g=1+(_l((c[d>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;c[(c[h>>2]|0)+8>>2]=g;h=c[h>>2]|0;h=Co(h)|0;i=j;return h|0}else{c[d+8>>2]=1;h=c[h>>2]|0;h=Co(h)|0;i=j;return h|0}return 0}function zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;m=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;k=j+4|0;h=j;c[m>>2]=a;c[f>>2]=b;c[l>>2]=d;c[g>>2]=e;c[k>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=eR(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;i=j;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function Ao(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;j=i;i=i+16|0;g=j+12|0;k=j+8|0;h=j;c[g>>2]=b;c[k>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[k>>2];b=h;e=c[g>>2]|0;if((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0){k=h;k=1+(Kl((c[e>>2]|0)+1|0,c[k>>2]|0,c[k+4>>2]|0)|0)|0;c[(c[g>>2]|0)+4>>2]=k;i=j;return}else{c[e+4>>2]=1;i=j;return}}function Bo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;s=t+12|0;p=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[s>>2]=0;c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)==0&1;to(c[k>>2]|0,c[m>>2]|0,s);if(c[s>>2]|0){c[h>>2]=c[s>>2];d=c[h>>2]|0;i=t;return d|0}c[q>>2]=Ml(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[m>>2]|0)-(c[q>>2]|0);TR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=c[m>>2];if(!(c[p>>2]|0)){s=c[q>>2]|0;s=Kl((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s}s=c[r>>2]|0;s=Kl((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;TR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,(c[l>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[r>>2]|0);if(c[n>>2]|0){s=c[o>>2]|0;s=Kl((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;TR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[o>>2]|0)}c[h>>2]=0;d=c[h>>2]|0;i=t;return d|0}function Co(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;g=j+16|0;b=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;k=a;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[a>>2]=k;c[a+4>>2]=C}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;k=c[h>>2]|0;i=j;return k|0}if(!(c[b>>2]|0)){b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=$l(b,e)|0;else{c[e>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=$l(b,f)|0;else{c[f>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;to((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}TR((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+16|0;if(!((c[k>>2]|0)==0&(c[k+4>>2]|0)==0)){k=c[h>>2]|0;i=j;return k|0}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=$l(b,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Do(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[(c[d>>2]|0)+24>>2]|0);i=b;return}function Eo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;t=v+60|0;g=v+56|0;h=v+52|0;j=v+48|0;k=v+44|0;n=v+8|0;l=v+40|0;m=v;s=v+36|0;u=v+32|0;o=v+28|0;q=v+24|0;p=v+20|0;r=v+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b=(c[h>>2]|0)+56|0;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=1;while(1){if((c[l>>2]|0)>=16){g=16;break}e=m;c[e>>2]=0;c[e+4>>2]=0;c[s>>2]=(c[h>>2]|0)+56+(c[l>>2]<<5);c[u>>2]=0;c[o>>2]=Ml(c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+8+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[k>>2]|0)-(c[o>>2]|0);e=c[o>>2]|0;c[p>>2]=Jl(e,((e|0)<0)<<31>>31)|0;e=c[q>>2]|0;e=Jl(e,((e|0)<0)<<31>>31)|0;c[p>>2]=(c[p>>2]|0)+(e+(c[q>>2]|0));if((c[(c[s>>2]|0)+8+4>>2]|0)!=0?((c[(c[s>>2]|0)+20+4>>2]|0)+(c[p>>2]|0)|0)>(c[(c[g>>2]|0)+224>>2]|0):0){d=c[s>>2]|0;c[u>>2]=Fl(c[g>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[s>>2]|0)+20>>2]|0,c[(c[s>>2]|0)+20+4>>2]|0)|0;a[c[(c[s>>2]|0)+20>>2]>>0]=c[l>>2];d=(c[(c[s>>2]|0)+20>>2]|0)+1|0;b=n;b=RR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;b=1+(Kl(d,b,C)|0)|0;c[(c[s>>2]|0)+20+4>>2]=b;b=c[s>>2]|0;d=c[b+4>>2]|0;e=m;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=c[s>>2]|0;d=e;d=RR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[(c[s>>2]|0)+8+4>>2]=0}else{c[r>>2]=(c[s>>2]|0)+20;if((c[(c[r>>2]|0)+4>>2]|0)==0?(to(c[r>>2]|0,c[(c[g>>2]|0)+224>>2]|0,u),(c[u>>2]|0)==0):0){a[c[c[r>>2]>>2]>>0]=c[l>>2];e=n;e=1+(Kl((c[c[r>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[r>>2]|0)+4>>2]=e}to(c[r>>2]|0,(c[(c[r>>2]|0)+4>>2]|0)+(c[p>>2]|0)|0,u);to((c[s>>2]|0)+8|0,c[k>>2]|0,u);if(!(c[u>>2]|0)){if(c[(c[s>>2]|0)+8+4>>2]|0){d=c[o>>2]|0;d=Kl((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d}d=c[q>>2]|0;d=Kl((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d;TR((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+(c[q>>2]|0);TR(c[(c[s>>2]|0)+8>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[(c[s>>2]|0)+8+4>>2]=c[k>>2]}}e=m;if((c[u>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){g=14;break}b=m;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=(c[l>>2]|0)+1}if((g|0)==14){c[t>>2]=c[u>>2];u=c[t>>2]|0;i=v;return u|0}else if((g|0)==16){c[t>>2]=0;u=c[t>>2]|0;i=v;return u|0}return 0}function Fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;c[k>>2]=pl(c[m>>2]|0,34,j,0)|0;if(c[k>>2]|0){e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}m=f;Le(c[j>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(te(c[j>>2]|0)|0))c[h>>2]=1;c[k>>2]=Yd(c[j>>2]|0)|0;e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}function Go(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;u=t+48|0;g=t+44|0;h=t+40|0;j=t+36|0;q=t+32|0;s=t+28|0;o=t+24|0;l=t+20|0;k=t+16|0;p=t+12|0;m=t+8|0;r=t+4|0;n=t;c[u>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[u>>2];c[s>>2]=0;c[o>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[m>>2]=0;if(((c[g>>2]|0)>1?(ee(c[c[h>>2]>>2]|0)|0)==5:0)?(ee(c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=Ho(c[q>>2]|0,c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}if((c[g>>2]|0)>1?(ce(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}c[k>>2]=Id((c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[k>>2]|0)){c[s>>2]=7;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}c[l>>2]=(c[k>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+1<<2);VR(c[k>>2]|0,0,(c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=Io(c[q>>2]|0)|0;if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}do if((c[g>>2]|0)>1?(c[(c[q>>2]|0)+40>>2]|0)==0:0){c[r>>2]=c[(c[h>>2]|0)+(3+(c[(c[q>>2]|0)+24>>2]|0)<<2)>>2];if((ee(c[r>>2]|0)|0)==5)c[r>>2]=c[(c[h>>2]|0)+4>>2];if((ee(c[r>>2]|0)|0)!=5){if((ee(c[c[h>>2]>>2]|0)|0)!=5?(f=de(c[c[h>>2]>>2]|0)|0,u=C,b=de(c[r>>2]|0)|0,!((f|0)!=(b|0)|(u|0)!=(C|0))):0)break;u=(gf(c[(c[q>>2]|0)+12>>2]|0)|0)==5;e=c[q>>2]|0;if(u){c[s>>2]=Jo(e,c[r>>2]|0,p,c[k>>2]|0)|0;break}else{c[s>>2]=Ko(e,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}if((ee(c[c[h>>2]>>2]|0)|0)!=5){c[s>>2]=Jo(c[q>>2]|0,c[c[h>>2]>>2]|0,p,c[k>>2]|0)|0;c[o>>2]=1}if((c[g>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=ce(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[m>>2]|0)==0?(c[s>>2]=Ko(c[q>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[q>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if((c[o>>2]|0)!=0?(r=c[j>>2]|0,u=(c[q>>2]|0)+264|0,!((c[r>>2]|0)!=(c[u>>2]|0)?1:(c[r+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[j>>2]|0;c[s>>2]=Lo(c[q>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=Mo(c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if(a[(c[q>>2]|0)+230>>0]|0)No(s,c[q>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if(!(a[(c[q>>2]|0)+228>>0]|0)){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}Oo(s,c[q>>2]|0,c[l>>2]|0,c[k>>2]|0,c[p>>2]|0);u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}function Ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;f=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=$d(c[l>>2]|0)|0;c[f>>2]=ae(c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[d>>2]=7;l=c[d>>2]|0;i=k;return l|0}if((c[f>>2]|0)==8?0==(zd(c[h>>2]|0,20512,8)|0):0)c[g>>2]=Tn(c[e>>2]|0,0)|0;else j=6;do if((j|0)==6){if((c[f>>2]|0)==7?0==(zd(c[h>>2]|0,23495,7)|0):0){c[g>>2]=Yo(c[e>>2]|0)|0;break}if((c[f>>2]|0)==15?0==(zd(c[h>>2]|0,23503,15)|0):0){c[g>>2]=Zo(c[e>>2]|0)|0;break}if((c[f>>2]|0)>6?0==(zd(c[h>>2]|0,23519,6)|0):0){c[g>>2]=_o(c[e>>2]|0,(c[h>>2]|0)+6|0)|0;break}if((c[f>>2]|0)>10?0==(zd(c[h>>2]|0,23526,10)|0):0){c[g>>2]=$o(c[e>>2]|0,(c[h>>2]|0)+10|0)|0;break}c[g>>2]=1}while(0);c[d>>2]=c[g>>2];l=c[d>>2]|0;i=k;return l|0}function Io(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[e>>2]=pl(c[b>>2]|0,16,d,0)|0,(c[e>>2]|0)==0):0){Me(c[d>>2]|0,1)|0;te(c[d>>2]|0)|0;c[e>>2]=Yd(c[d>>2]|0)|0}i=f;return c[e>>2]|0}function Jo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;l=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;To(m,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;i=n;return o|0}c[l>>2]=0;c[m>>2]=Uo(c[g>>2]|0,c[h>>2]|0,l)|0;if(c[m>>2]|0){o=c[m>>2]|0;i=n;return o|0}if(c[l>>2]|0){c[m>>2]=Vo(c[g>>2]|0,1)|0;c[c[j>>2]>>2]=0;VR(c[k>>2]|0,0,(c[(c[g>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;i=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[g>>2]|0)+40>>2]|0))Wo(m,c[g>>2]|0,0,h);if(!(a[(c[g>>2]|0)+230>>0]|0)){o=c[m>>2]|0;i=n;return o|0}Wo(m,c[g>>2]|0,19,h);o=c[m>>2]|0;i=n;return o|0}function Ko(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[f>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[b+24>>2]|0)+3<<2)>>2];if((ee(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((ee(c[k>>2]|0)|0)!=1){c[e>>2]=19;l=c[e>>2]|0;i=m;return l|0}else{k=de(c[k>>2]|0)|0;l=c[h>>2]|0;c[l>>2]=k;c[l+4>>2]=C;c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}}c[l>>2]=pl(b,18,j,(c[g>>2]|0)+4|0)|0;if((c[l>>2]|0)==0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[l>>2]=Ke(d,k,ce(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}if(5!=(ee(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(ee(c[c[g>>2]>>2]|0)|0)?5!=(ee(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;l=c[e>>2]|0;i=m;return l|0}c[l>>2]=Oe(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}}te(c[j>>2]|0)|0;c[l>>2]=Yd(c[j>>2]|0)|0;j=pf(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=C;c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}function Lo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=l;c[d>>2]=e;c[d+4>>2]=f;d=l;f=c[d+4>>2]|0;a=(c[h>>2]|0)+264|0;b=c[a+4>>2]|0;do if(!((f|0)<(b|0)|((f|0)==(b|0)?(c[d>>2]|0)>>>0<(c[a>>2]|0)>>>0:0))){d=l;a=(c[h>>2]|0)+264|0;if(((c[d>>2]|0)==(c[a>>2]|0)?(c[d+4>>2]|0)==(c[a+4>>2]|0):0)?(c[(c[h>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[h>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[h>>2]|0)+260>>2]|0)<=(c[(c[h>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[m>>2]=ml(c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}a=l;m=c[a+4>>2]|0;n=(c[h>>2]|0)+264|0;c[n>>2]=c[a>>2];c[n+4>>2]=m;c[(c[h>>2]|0)+272>>2]=c[k>>2];c[(c[h>>2]|0)+276>>2]=c[j>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Mo(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;p=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=2;while(1){if((c[l>>2]|0)>=((c[(c[g>>2]|0)+24>>2]|0)+2|0)){g=8;break}c[m>>2]=(c[l>>2]|0)-2;if(!(d[(c[(c[g>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[n>>2]=$d(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[p>>2]=Ro(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+(c[m>>2]<<2)|0)|0;if(c[p>>2]|0){g=5;break}b=ae(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;a=(c[k>>2]|0)+(c[(c[g>>2]|0)+24>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+b}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==5){c[o>>2]=c[p>>2];p=c[o>>2]|0;i=q;return p|0}else if((g|0)==8){c[o>>2]=0;p=c[o>>2]|0;i=q;return p|0}return 0}function No(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;k=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){i=m;return}c[j>>2]=Id((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[j>>2]|0)){c[c[e>>2]>>2]=7;i=m;return}Qo(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[j>>2]|0,h);c[l>>2]=pl(c[f>>2]|0,20,k,0)|0;if(c[l>>2]|0){Kd(c[j>>2]|0);c[c[e>>2]>>2]=c[l>>2];i=m;return}else{l=(c[f>>2]|0)+264|0;Le(c[k>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Ie(c[k>>2]|0,2,c[j>>2]|0,c[h>>2]|0,148)|0;te(c[k>>2]|0)|0;l=Yd(c[k>>2]|0)|0;c[c[e>>2]>>2]=l;i=m;return}}function Oo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;q=u+28|0;o=u+24|0;m=u+20|0;r=u+16|0;n=u+12|0;s=u+8|0;p=u+4|0;t=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=(c[(c[h>>2]|0)+24>>2]|0)+2;if(c[c[g>>2]>>2]|0){i=u;return}c[m>>2]=Id((c[p>>2]|0)*14|0)|0;if(!(c[m>>2]|0)){c[c[g>>2]>>2]=7;i=u;return}c[q>>2]=(c[m>>2]|0)+(c[p>>2]<<2);c[s>>2]=pl(c[h>>2]|0,22,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}Ke(c[r>>2]|0,1,0)|0;if((te(c[r>>2]|0)|0)==100){f=c[p>>2]|0;b=c[m>>2]|0;a=ze(c[r>>2]|0,0)|0;Po(f,b,a,Ae(c[r>>2]|0,0)|0)}else VR(c[m>>2]|0,0,c[p>>2]<<2|0)|0;c[s>>2]=Yd(c[r>>2]|0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}if((c[l>>2]|0)<0?(c[c[m>>2]>>2]|0)>>>0<(0-(c[l>>2]|0)|0)>>>0:0)c[c[m>>2]>>2]=0;else{a=c[m>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[h>>2]|0)+24>>2]|0)+1|0))break;c[t>>2]=c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2];if(((c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0)>>>0<(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>>>0)c[t>>2]=0;else c[t>>2]=(c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0);c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[t>>2];c[n>>2]=(c[n>>2]|0)+1}Qo(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,o);c[s>>2]=pl(c[h>>2]|0,23,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}else{Ke(c[r>>2]|0,1,0)|0;Ie(c[r>>2]|0,2,c[q>>2]|0,c[o>>2]|0,0)|0;te(c[r>>2]|0)|0;t=Yd(c[r>>2]|0)|0;c[c[g>>2]>>2]=t;Kd(c[m>>2]|0);i=u;return}}function Po(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+28|0;g=m+24|0;h=m+20|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;d=_l((c[h>>2]|0)+(c[k>>2]|0)|0,l)|0;c[k>>2]=(c[k>>2]|0)+d;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}i=m;return}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[k>>2]=0;while(1){a=c[l>>2]|0;if((c[k>>2]|0)>=(c[f>>2]|0))break;d=Kl((c[h>>2]|0)+a|0,c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0,0)|0;c[l>>2]=(c[l>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}c[c[j>>2]>>2]=a;i=m;return}function Ro(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;l=B+56|0;m=B+52|0;x=B+48|0;q=B+44|0;o=B+40|0;p=B+36|0;s=B+32|0;z=B+28|0;r=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;n=B+4|0;u=B;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[h>>2]|0)+36>>2];c[v>>2]=c[c[w>>2]>>2];if(!(c[k>>2]|0)){c[c[m>>2]>>2]=0;c[g>>2]=0;A=c[g>>2]|0;i=B;return A|0}c[x>>2]=Cn(c[w>>2]|0,c[j>>2]|0,c[k>>2]|0,-1,t)|0;if(c[x>>2]|0){c[g>>2]=c[x>>2];A=c[g>>2]|0;i=B;return A|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];a:while(1){if(c[x>>2]|0)break;d=Sb[c[y>>2]&255](c[t>>2]|0,z,r,q,o,p)|0;c[x>>2]=d;if(d)break;if((c[p>>2]|0)>=(c[s>>2]|0))c[s>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>=0&(c[z>>2]|0)!=0^1|(c[r>>2]|0)<=0){A=11;break}c[x>>2]=So(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[(c[h>>2]|0)+252>>2]|0)+4|0,c[z>>2]|0,c[r>>2]|0)|0;c[n>>2]=1;while(1){if(c[x>>2]|0)continue a;if((c[n>>2]|0)>=(c[(c[h>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[h>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0);if((c[r>>2]|0)>=(c[c[u>>2]>>2]|0))c[x>>2]=So(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[u>>2]|0)+4|0,c[z>>2]|0,c[c[u>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}if((A|0)==11)c[x>>2]=1;Tb[c[(c[v>>2]|0)+16>>2]&255](c[t>>2]|0)|0;A=c[m>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[s>>2]|0);c[g>>2]=(c[x>>2]|0)==101?0:c[x>>2]|0;A=c[g>>2]|0;i=B;return A|0}function So(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[o>>2]=Ek(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)-((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20)}a=(c[h>>2]|0)+264|0;e=c[j>>2]|0;f=c[k>>2]|0;if((Dn(o,c[a>>2]|0,c[a+4>>2]|0,e,((e|0)<0)<<31>>31,f,((f|0)<0)<<31>>31,p)|0)!=0?(f=c[o>>2]|0,(f|0)==(lk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)):0){Kd(c[o>>2]|0);c[p>>2]=7}if(c[p>>2]|0){f=c[p>>2]|0;i=q;return f|0}f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)+((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20);f=c[p>>2]|0;i=q;return f|0}function To(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;j=u+48|0;k=u+44|0;h=u+40|0;l=u+36|0;m=u+32|0;s=u+28|0;r=u+24|0;n=u+20|0;q=u+16|0;p=u;o=u+12|0;t=u+8|0;c[j>>2]=a;c[k>>2]=b;c[h>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[c[j>>2]>>2]|0){i=u;return}c[s>>2]=pl(c[k>>2]|0,7,r,h)|0;h=c[r>>2]|0;if(!(c[s>>2]|0)){do if(100==(te(h)|0)){c[q>>2]=Xo(c[k>>2]|0,c[r>>2]|0)|0;e=De(c[r>>2]|0,0)|0;g=p;c[g>>2]=e;c[g+4>>2]=C;c[s>>2]=Lo(c[k>>2]|0,1,c[q>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[n>>2]=1;while(1){if(c[s>>2]|0)break;if((c[n>>2]|0)>(c[(c[k>>2]|0)+24>>2]|0))break;c[o>>2]=(c[n>>2]|0)-1;if(!(d[(c[(c[k>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[t>>2]=Ee(c[r>>2]|0,c[n>>2]|0)|0;c[s>>2]=Ro(c[k>>2]|0,c[q>>2]|0,c[t>>2]|0,-1,(c[l>>2]|0)+(c[o>>2]<<2)|0)|0;g=Ae(c[r>>2]|0,c[n>>2]|0)|0;p=(c[l>>2]|0)+(c[(c[k>>2]|0)+24>>2]<<2)|0;c[p>>2]=(c[p>>2]|0)+g}c[n>>2]=(c[n>>2]|0)+1}if(!(c[s>>2]|0)){c[c[m>>2]>>2]=1;break}Yd(c[r>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}while(0);c[s>>2]=Yd(c[r>>2]|0)|0}else Yd(h)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}function Uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}c[j>>2]=pl(c[e>>2]|0,1,h,f)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}if(100==(te(c[h>>2]|0)|0)){d=Ce(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=d}c[j>>2]=Yd(c[h>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function Vo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;jl(c[e>>2]|0);if(c[h>>2]|0)Wo(f,c[e>>2]|0,2,0);Wo(f,c[e>>2]|0,3,0);Wo(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)Wo(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;i=g;return h|0}Wo(f,c[e>>2]|0,6,0);h=c[f>>2]|0;i=g;return h|0}function Wo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(c[c[f>>2]>>2]|0){i=m;return}c[l>>2]=pl(c[g>>2]|0,c[h>>2]|0,k,c[j>>2]|0)|0;if(!(c[l>>2]|0)){te(c[k>>2]|0)|0;c[l>>2]=Yd(c[k>>2]|0)|0}c[c[f>>2]>>2]=c[l>>2];i=m;return}function Xo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){b=c[f>>2]|0;i=g;return b|0}c[f>>2]=Ce(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;b=c[f>>2]|0;i=g;return b|0}function Yo(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;f=t;h=t+52|0;q=t+48|0;j=t+44|0;l=t+40|0;k=t+36|0;p=t+32|0;o=t+28|0;g=t+24|0;e=t+20|0;m=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;c[h>>2]=b;c[q>>2]=Vo(c[h>>2]|0,0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[j>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[o>>2]=0;c[f>>2]=c[(c[h>>2]|0)+216>>2];c[g>>2]=Od(23614,f)|0;if(c[g>>2]|0){c[q>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[g>>2]|0,-1,p,0)|0;Kd(c[g>>2]|0)}else c[q>>2]=7;do if(!(c[q>>2]|0)){c[e>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[j>>2]=Id(c[e>>2]|0)|0;if(!(c[j>>2]|0)){c[q>>2]=7;break}else{VR(c[j>>2]|0,0,c[e>>2]|0)|0;c[l>>2]=(c[j>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[k>>2]=(c[l>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[q>>2]|0))e=100==(te(c[p>>2]|0)|0);else e=0;b=c[h>>2]|0;if(!e)break;c[n>>2]=Xo(b,c[p>>2]|0)|0;b=c[h>>2]|0;f=c[n>>2]|0;g=De(c[p>>2]|0,0)|0;c[q>>2]=Lo(b,0,f,g,C)|0;VR(c[j>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[m>>2]=0;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+24>>2]|0))break;if(!(d[(c[(c[h>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[s>>2]=Ee(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;c[q>>2]=Ro(c[h>>2]|0,c[n>>2]|0,c[s>>2]|0,c[m>>2]|0,(c[j>>2]|0)+(c[m>>2]<<2)|0)|0;f=Ae(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;g=(c[j>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[m>>2]=(c[m>>2]|0)+1}if(a[(c[h>>2]|0)+230>>0]|0)No(q,c[h>>2]|0,c[j>>2]|0);if(c[q>>2]|0){Xd(c[p>>2]|0)|0;c[p>>2]=0;continue}c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[l>>2]|0)+(c[m>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}if(a[b+228>>0]|0)Oo(q,c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[o>>2]|0);Kd(c[j>>2]|0);if(!(c[p>>2]|0)){s=c[q>>2]|0;i=t;return s|0}c[r>>2]=Xd(c[p>>2]|0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[q>>2]=c[r>>2];s=c[q>>2]|0;i=t;return s|0}function Zo(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=cp(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;i=d;return c[b>>2]|0}function _o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;l=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[e>>2]=b;c[l>>2]=d;c[g>>2]=8;c[f>>2]=0;c[j>>2]=c[l>>2];c[f>>2]=ap(j)|0;if((a[c[j>>2]>>0]|0)==44?(a[(c[j>>2]|0)+1>>0]|0)!=0:0){c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=ap(j)|0}if((c[g>>2]|0)<2?1:(a[c[j>>2]>>0]|0)!=0){c[h>>2]=1;l=c[h>>2]|0;i=k;return l|0}c[h>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))bp(h,c[e>>2]|0);if(!(c[h>>2]|0))c[h>>2]=go(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;ym(c[e>>2]|0);l=c[h>>2]|0;i=k;return l|0}function $o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[f>>2]=b;c[k>>2]=d;c[h>>2]=0;c[g>>2]=0;d=ap(k)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?(bp(h,c[f>>2]|0),(c[h>>2]|0)!=0):0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}c[h>>2]=pl(c[f>>2]|0,23,g,0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}else{Ke(c[g>>2]|0,1,2)|0;Ke(c[g>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;te(c[g>>2]|0)|0;c[h>>2]=Yd(c[g>>2]|0)|0;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}return 0}function ap(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[e>>2]=0;while(1){if((a[c[f>>2]>>0]|0)<48){b=5;break}if((a[c[f>>2]>>0]|0)>57){b=5;break}h=(c[e>>2]|0)*10|0;b=c[f>>2]|0;c[f>>2]=b+1;c[e>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[f>>2];i=g;return c[e>>2]|0}return 0}function bp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;d=c[g>>2]|0;b=c[(c[e>>2]|0)+12>>2]|0;j=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=j;nl(d,b,23537,h);if(c[c[g>>2]>>2]|0){i=f;return}a[(c[e>>2]|0)+229>>0]=1;i=f;return}function cp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+112|0;j=F+24|0;l=F+108|0;m=F+104|0;B=F+100|0;n=F+16|0;o=F+8|0;g=F+96|0;h=F+92|0;f=F+88|0;e=F+84|0;y=F+80|0;z=F+76|0;k=F+72|0;r=F;u=F+68|0;q=F+64|0;D=F+60|0;w=F+56|0;A=F+52|0;E=F+48|0;x=F+44|0;s=F+40|0;t=F+36|0;v=F+32|0;p=F+28|0;c[l>>2]=a;c[m>>2]=b;c[B>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[B>>2]=pl(c[l>>2]|0,27,g,0)|0;if(!(c[B>>2]|0)){Ke(c[g>>2]|0,1,c[(c[l>>2]|0)+272>>2]|0)|0;Ke(c[g>>2]|0,2,c[(c[l>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[B>>2]|0))a=(te(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[f>>2]=Ce(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue a;a=n;H=c[a>>2]|0;a=c[a+4>>2]|0;G=dp(c[l>>2]|0,c[f>>2]|0,c[e>>2]|0,B)|0;b=n;c[b>>2]=H^G;c[b+4>>2]=a^C;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=Yd(b)|0;if(!(c[B>>2]|0))c[B>>2]=c[h>>2]}if(c[B>>2]|0){E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}c[y>>2]=c[c[(c[l>>2]|0)+36>>2]>>2];c[z>>2]=0;c[j>>2]=c[(c[l>>2]|0)+216>>2];c[k>>2]=Od(23614,j)|0;if(c[k>>2]|0){c[B>>2]=af(c[(c[l>>2]|0)+12>>2]|0,c[k>>2]|0,-1,z,0)|0;Kd(c[k>>2]|0)}else c[B>>2]=7;b:while(1){if(!(c[B>>2]|0))a=100==(te(c[z>>2]|0)|0);else a=0;b=c[z>>2]|0;if(!a)break;G=De(b,0)|0;H=r;c[H>>2]=G;c[H+4>>2]=C;c[u>>2]=Xo(c[l>>2]|0,c[z>>2]|0)|0;c[q>>2]=0;while(1){if(c[B>>2]|0)continue b;if((c[q>>2]|0)>=(c[(c[l>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[q>>2]|0)>>0]|0)){c[D>>2]=Ee(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[w>>2]=Ae(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[A>>2]=0;c[B>>2]=Cn(c[(c[l>>2]|0)+36>>2]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,A)|0;c:while(1){if(c[B>>2]|0)break;c[x>>2]=0;c[s>>2]=0;c[t>>2]=0;c[v>>2]=0;c[B>>2]=Sb[c[(c[y>>2]|0)+20>>2]&255](c[A>>2]|0,E,x,s,t,v)|0;if(c[B>>2]|0)continue;G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=ep(c[E>>2]|0,c[x>>2]|0,c[u>>2]|0,0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0)<=(c[x>>2]|0)){G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=ep(c[E>>2]|0,c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0,c[u>>2]|0,c[p>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C}c[p>>2]=(c[p>>2]|0)+1}}if(c[A>>2]|0)Tb[c[(c[y>>2]|0)+16>>2]&255](c[A>>2]|0)|0;if((c[B>>2]|0)==101)c[B>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}Xd(b)|0;E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}function dp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+144|0;g=u+140|0;h=u+136|0;j=u+132|0;k=u+128|0;f=u+112|0;m=u+56|0;t=u+48|0;l=u+32|0;r=u+44|0;s=u+40|0;o=u+24|0;n=u+16|0;p=u+8|0;q=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;d=l;c[d>>2]=0;c[d+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;d=m;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[t>>2]=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,-2,0,0,0,1,m)|0;if(!(c[t>>2]|0))c[t>>2]=ul(c[g>>2]|0,m,f)|0;if(c[t>>2]|0){Bl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}a:while(1){f=vl(c[g>>2]|0,m)|0;c[t>>2]=f;if(100!=(f|0))break;c[r>>2]=c[m+48>>2];c[s>>2]=(c[r>>2]|0)+(c[m+52>>2]|0);f=o;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=_l(c[r>>2]|0,o)|0;c[r>>2]=(c[r>>2]|0)+f;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue a;f=q;c[f>>2]=0;c[f+4>>2]=0;f=_l(c[r>>2]|0,q)|0;c[r>>2]=(c[r>>2]|0)+f;if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue;e=q;f=q;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=q;b=QR(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=p;b=RR(c[e>>2]|0,c[e+4>>2]|0,b|0,C|0)|0;e=p;c[e>>2]=b;c[e+4>>2]=C;e=l;b=c[e>>2]|0;e=c[e+4>>2]|0;a=o;a=ep(c[m+40>>2]|0,c[m+44>>2]|0,c[h>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;f=l;c[f>>2]=b^a;c[f+4>>2]=e^C;continue}f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=q;d=c[r>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=_l(d,n)|0;c[r>>2]=(c[r>>2]|0)+f;continue}else{e=_l(d,q)|0;c[r>>2]=(c[r>>2]|0)+e;e=q;f=o;e=RR(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;continue}}}Bl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}function ep(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=i;i=i+48|0;l=p+40|0;m=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;n=p+16|0;o=p;c[l>>2]=b;c[m>>2]=d;c[t>>2]=e;c[s>>2]=f;d=u;c[d>>2]=g;c[d+4>>2]=h;c[r>>2]=j;c[q>>2]=k;k=u;d=c[k+4>>2]|0;b=o;c[b>>2]=c[k>>2];c[b+4>>2]=d;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[t>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[s>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[r>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[q>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;c[n>>2]=0;while(1){h=o;g=c[h>>2]|0;h=c[h+4>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;u=WR(g|0,h|0,3)|0;t=a[(c[l>>2]|0)+(c[n>>2]|0)>>0]|0;t=RR(u|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;u=o;t=RR(c[u>>2]|0,c[u+4>>2]|0,t|0,C|0)|0;u=o;c[u>>2]=t;c[u+4>>2]=C;c[n>>2]=(c[n>>2]|0)+1}C=h;i=p;return g|0}function fp(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;c[f>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[f>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))Yd(c[(c[e>>2]|0)+8>>2]|0)|0;Tm(c[e>>2]|0,c[f>>2]|0,g);a[(c[e>>2]|0)+6>>0]=a[(c[f>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;k=(c[f>>2]|0)+24|0;j=c[k+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=j;if(d[(c[e>>2]|0)+6>>0]|0)break a}while((Om(c[e>>2]|0,g)|0)!=0);while(0);if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(j=(c[e>>2]|0)+32|0,b=c[j+4>>2]|0,k=(c[e>>2]|0)+80|0,f=c[k+4>>2]|0,(b|0)>(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){k=c[g>>2]|0;i=h;return k|0}j=(c[e>>2]|0)+32|0;b=c[j+4>>2]|0;k=(c[e>>2]|0)+72|0;f=c[k+4>>2]|0;if(!((b|0)<(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0))){k=c[g>>2]|0;i=h;return k|0}}a[(c[e>>2]|0)+6>>0]=1;k=c[g>>2]|0;i=h;return k|0}function gp(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];Gp(c[b>>2]|0);if(((c[d>>2]|0)!=0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?(c[(c[d>>2]|0)+16>>2]|0)!=0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}i=e;return}function hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j;h=j+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if((c[f>>2]|0)!=0?(c[h>>2]=Te(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){a=de(c[f>>2]|0)|0;h=e;c[h>>2]=a;c[h+4>>2]=C;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}a=c[g+4>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=a;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}function ip(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=i;i=i+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=j;c[n>>2]=k;c[o>>2]=l;c[p>>2]=up(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?(c[c[n>>2]>>2]|0)!=0:0)?(c[p>>2]=vp(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=wp(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;i=s;return z|0}gp(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;Fk(z,23723,q);c[p>>2]=1;z=c[p>>2]|0;i=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;i=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];Fk(z,23775,r);z=c[p>>2]|0;i=s;return z|0}function jp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;b=n+36|0;o=n+32|0;m=n+28|0;j=n+24|0;h=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;l=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[m>>2]=0;c[j>>2]=0;c[h>>2]=0;kp(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,j,h,m);do if((c[m>>2]|0)==0&(c[j>>2]|0)>1?(d[(c[o>>2]|0)+228>>0]|0|0)!=0:0){c[e>>2]=Id(((c[j>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[f>>2]=(c[e>>2]|0)+((c[j>>2]|0)*24|0);if(!(c[e>>2]|0)){c[m>>2]=7;break}c[k>>2]=c[e>>2];c[l>>2]=c[f>>2];lp(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,k,l,m);c[j>>2]=((c[k>>2]|0)-(c[e>>2]|0)|0)/24|0;c[h>>2]=((c[l>>2]|0)-(c[f>>2]|0)|0)/4|0;a:do if(!(c[m>>2]|0)){c[m>>2]=mp(c[b>>2]|0,0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=0;while(1){if(c[m>>2]|0)break a;if((c[g>>2]|0)>=(c[h>>2]|0))break a;c[m>>2]=mp(c[b>>2]|0,c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);Kd(c[e>>2]|0)}while(0);np(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,m);i=n;return c[m>>2]|0}function kp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;p=q;c[g>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){i=q;return}if(c[c[o>>2]>>2]|0){i=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){p=c[j>>2]|0;c[p>>2]=(c[p>>2]|0)+((c[a>>2]|0)==4&1);kp(c[g>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);kp(c[g>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);i=q;return}c[l>>2]=c[(c[a+20>>2]|0)+64>>2];j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)+(c[l>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0)){a=9;break}c[m>>2]=(c[(c[n>>2]|0)+20>>2]|0)+72+((c[k>>2]|0)*24|0);c[p>>2]=sp(c[g>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+8>>2]|0,(c[m>>2]|0)+20|0)|0;if(c[p>>2]|0){a=7;break}c[k>>2]=(c[k>>2]|0)+1}if((a|0)==7){c[c[o>>2]>>2]=c[p>>2];i=q;return}else if((a|0)==9){c[(c[(c[n>>2]|0)+20>>2]|0)+44>>2]=-1;i=q;return}}function lp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;h=r+4|0;k=r;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;if(c[c[q>>2]>>2]|0){i=r;return}d=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==5){c[j>>2]=c[d+20>>2];c[h>>2]=0;while(1){if(c[c[q>>2]>>2]|0){a=13;break}if((c[h>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0)){a=13;break}n=c[o>>2]|0;p=c[n>>2]|0;c[n>>2]=p+24;c[k>>2]=p;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=(c[j>>2]|0)+72+((c[h>>2]|0)*24|0);c[(c[k>>2]|0)+20>>2]=c[(c[j>>2]|0)+68>>2];p=rp(c[l>>2]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+20>>2]|0,(c[k>>2]|0)+16|0)|0;c[c[q>>2]>>2]=p;c[h>>2]=(c[h>>2]|0)+1}if((a|0)==13){i=r;return}}if((c[d>>2]|0)==2){i=r;return}if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+12>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}lp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+16>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}lp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);i=r;return}function mp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;f=B+76|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;w=B+56|0;o=B+52|0;z=B+48|0;m=B+44|0;s=B+40|0;t=B+36|0;r=B+32|0;q=B+28|0;l=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;p=B+8|0;u=B+4|0;n=B;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[w>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[z>>2]=0;c[s>>2]=0;c[t>>2]=0;c[r>>2]=0;c[q>>2]=1;if(c[(c[w>>2]|0)+40>>2]|0){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;if((c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0)){c[s>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+16>>2]|0);c[t>>2]=(c[t>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((c[s>>2]|0)==0|(c[t>>2]|0)<2){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[z>>2]=op(c[g>>2]|0,o)|0;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[t>>2]|0)?(c[z>>2]|0)==0:0))break;c[v>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;do if((c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+8>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0):0){if((c[v>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+16>>2]|0)>=(c[(c[v>>2]|0)+16>>2]|0):0)break;c[v>>2]=(c[j>>2]|0)+((c[l>>2]|0)*24|0)}while(0);c[l>>2]=(c[l>>2]|0)+1}if((c[m>>2]|0)!=0?(c[(c[v>>2]|0)+16>>2]|0)>=(_(((c[r>>2]|0)+((c[q>>2]|0)/4|0)-1|0)/((c[q>>2]|0)/4|0|0)|0,c[o>>2]|0)|0):0){c[x>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=pp(c[g>>2]|0,c[x>>2]|0,c[(c[v>>2]|0)+20>>2]|0)|0;on(c[(c[x>>2]|0)+20>>2]|0);c[(c[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[m>>2]|0)<12)c[q>>2]=c[q>>2]<<2;if(c[m>>2]|0){if((c[(c[c[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[m>>2]|0)==((c[t>>2]|0)-1|0))break}c[y>>2]=c[(c[v>>2]|0)+8>>2];c[p>>2]=0;c[u>>2]=0;c[z>>2]=gn(c[w>>2]|0,c[y>>2]|0,c[(c[v>>2]|0)+20>>2]|0,p,u)|0;if(!(c[z>>2]|0))c[z>>2]=hn(c[w>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;if(!(c[z>>2]|0)){c[n>>2]=qp(c[c[c[v>>2]>>2]>>2]|0,c[(c[c[v>>2]>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)!=0?(c[n>>2]|0)>=(c[r>>2]|0):0)break;c[r>>2]=c[n>>2]}}while(0);c[(c[v>>2]|0)+8>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[f>>2]=c[z>>2];A=c[f>>2]|0;i=B;return A|0}function np(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;l=m+12|0;h=m+8|0;k=m+4|0;j=m;c[g>>2]=b;c[l>>2]=e;c[h>>2]=f;if(!(c[l>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}if((c[c[l>>2]>>2]|0)!=5){np(c[g>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[h>>2]|0);np(c[g>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[l>>2]|0)+12>>2]|0)+34>>0]|0)g=(d[(c[(c[l>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else g=0;a[(c[l>>2]|0)+34>>0]=g&1;i=m;return}c[k>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[l>>2]|0)+34>>0]=(c[j>>2]|0)==(c[k>>2]|0)}l=dn(c[g>>2]|0,1,c[(c[l>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=l;i=m;return}function op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+44|0;e=o+40|0;f=o+36|0;n=o+32|0;k=o+28|0;m=o+24|0;j=o+8|0;h=o;l=o+20|0;g=o+16|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+60>>2]|0)){c[k>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[n>>2]=Pn(c[k>>2]|0,m)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}c[g>>2]=ze(c[m>>2]|0,0)|0;b=Ae(c[m>>2]|0,0)|0;c[l>>2]=(c[g>>2]|0)+b;b=_l(c[g>>2]|0,j)|0;c[g>>2]=(c[g>>2]|0)+b;while(1){if((c[g>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;b=_l(c[g>>2]|0,h)|0;c[g>>2]=(c[g>>2]|0)+b}l=j;b=h;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){Yd(c[m>>2]|0)|0;c[d>>2]=267;n=c[d>>2]|0;i=o;return n|0}a=j;b=c[a+4>>2]|0;l=(c[e>>2]|0)+64|0;c[l>>2]=c[a>>2];c[l+4>>2]=b;l=h;b=j;b=_R(c[l>>2]|0,c[l+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;l=c[(c[k>>2]|0)+236>>2]|0;l=RR(b|0,C|0,l|0,((l|0)<0)<<31>>31|0)|0;b=c[(c[k>>2]|0)+236>>2]|0;b=_R(l|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;c[(c[e>>2]|0)+60>>2]=b;c[n>>2]=Yd(c[m>>2]|0)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}}c[c[f>>2]>>2]=c[(c[e>>2]|0)+60>>2];c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}function pp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Id(16)|0;if(c[j>>2]|0){b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[j>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[j>>2];c[(c[g>>2]|0)+16>>2]=c[j>>2];c[e>>2]=0;b=c[e>>2]|0;i=k;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=k;return b|0}return 0}function qp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(!(c[e>>2]|0)){j=c[h>>2]|0;i=k;return j|0}c[g>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[j>>2]=c[e>>2];while(1){if((c[j>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break;c[h>>2]=(c[h>>2]|0)+1;do{d=c[j>>2]|0;c[j>>2]=d+1}while((a[d>>0]&128|0)!=0);dm(0,j)}j=c[h>>2]|0;i=k;return j|0}function rp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+44|0;f=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;g=q+24|0;p=q+20|0;m=q+16|0;l=q+12|0;h=q;j=q+8|0;c[r>>2]=a;c[f>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[m>>2]=c[(c[k>>2]|0)+236>>2];c[g>>2]=0;while(1){if(c[p>>2]|0){f=13;break}if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){f=13;break}c[l>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2];a:do if((c[(c[l>>2]|0)+56>>2]|0)==0?(d[(c[l>>2]|0)+5>>0]|0|0)==0:0){b=(c[l>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[l>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=gm(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,j,0)|0;if(c[p>>2]|0)break a;if(((c[j>>2]|0)+35|0)>(c[m>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[j>>2]|0)+34|0)/(c[m>>2]|0)|0);e=h;e=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=C}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[c[n>>2]>>2]=c[o>>2];i=q;return c[p>>2]|0}return 0}function sp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;q=r+12|0;n=r+8|0;m=r+4|0;o=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[q>>2]=7;c[p>>2]=Id(56)|0;if(!(c[p>>2]|0)){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[m>>2]=0;c[o>>2]=c[c[g>>2]>>2];a:do if(c[k>>2]|0){c[n>>2]=1;while(1){if(c[m>>2]|0)break;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==(c[j>>2]|0)){c[m>>2]=1;c[q>>2]=ql(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=1}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if(c[m>>2]|0)break a;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break a;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==((c[j>>2]|0)+1|0)?(c[m>>2]=1,c[q>>2]=ql(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,1,0,c[p>>2]|0)|0,(c[q>>2]|0)==0):0)c[q>>2]=tp(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[m>>2]|0){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[q>>2]=ql(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,0,-2,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=((c[k>>2]|0)!=0^1)&1;f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}function tp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=jm(c[m>>2]|0,c[l>>2]|0,0,-2,c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;i=g;return d|0}function up(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+96|0;l=y+80|0;m=y+76|0;n=y+72|0;o=y+68|0;p=y+64|0;q=y+60|0;r=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;d=x;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[x>>2]=c[m>>2];c[x+4>>2]=c[n>>2];c[x+8>>2]=c[o>>2];c[x+16>>2]=c[q>>2];c[x+20>>2]=c[r>>2];c[x+12>>2]=c[p>>2];if(!(c[s>>2]|0)){c[c[u>>2]>>2]=0;c[l>>2]=0;x=c[l>>2]|0;i=y;return x|0}if((c[t>>2]|0)<0)c[t>>2]=kR(c[s>>2]|0)|0;c[w>>2]=xp(x,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,v)|0;if((c[w>>2]|0)==0?(c[x+32>>2]|0)!=0:0)c[w>>2]=1;c[l>>2]=c[w>>2];x=c[l>>2]|0;i=y;return x|0}function vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;f=t+52|0;g=t+48|0;r=t+44|0;q=t+40|0;o=t+36|0;j=t+32|0;h=t+28|0;k=t+24|0;m=t+20|0;l=t+16|0;p=t+12|0;n=t+8|0;d=t+4|0;e=t;c[f>>2]=a;c[g>>2]=b;c[r>>2]=0;c[q>>2]=c[c[f>>2]>>2];c[o>>2]=0;c[j>>2]=c[c[q>>2]>>2];if(!(c[g>>2]|0))c[r>>2]=1;do if(!(c[r>>2]|0)){if(!((c[j>>2]|0)==3|(c[j>>2]|0)==4)){if((c[j>>2]|0)!=2)break;c[d>>2]=c[(c[q>>2]|0)+12>>2];c[e>>2]=c[(c[q>>2]|0)+16>>2];c[(c[q>>2]|0)+12>>2]=0;c[(c[q>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[r>>2]=vp(d,(c[g>>2]|0)-1|0)|0;if(!(c[r>>2]|0))c[r>>2]=vp(e,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0){gp(c[e>>2]|0);gp(c[d>>2]|0);break}else{c[(c[q>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[q>>2];break}}c[h>>2]=Id(c[g>>2]<<2)|0;if(!(c[h>>2]|0))c[r>>2]=7;else VR(c[h>>2]|0,0,c[g>>2]<<2|0)|0;if(!(c[r>>2]|0)){c[m>>2]=c[q>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}while(1){c[p>>2]=c[(c[m>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;if(c[p>>2]|0)c[(c[p>>2]|0)+12>>2]=0;else c[q>>2]=0;c[r>>2]=vp(m,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0)break;c[l>>2]=0;while(1){if(!(c[m>>2]|0))break;if((c[l>>2]|0)>=(c[g>>2]|0))break;if(!(c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)){c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=0}else{c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=0}c[l>>2]=(c[l>>2]|0)+1}if(c[m>>2]|0){s=24;break}if(!(c[p>>2]|0))break;c[m>>2]=c[(c[p>>2]|0)+16>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];b=c[(c[p>>2]|0)+16>>2]|0;if(c[(c[p>>2]|0)+8>>2]|0)c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]=b;else c[q>>2]=b;c[(c[p>>2]|0)+8>>2]=c[o>>2];c[o>>2]=c[p>>2]}if((s|0)==24){gp(c[m>>2]|0);c[r>>2]=18}a:do if(!(c[r>>2]|0)){c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;do if(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)if(!(c[m>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[m>>2]|0)+8>>2]=0;break}else{c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;break}while(0);c[k>>2]=(c[k>>2]|0)+1}c[q>>2]=c[m>>2]}else{c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;gp(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}while(1){s=c[o>>2]|0;c[n>>2]=s;if(!s)break a;c[o>>2]=c[(c[n>>2]|0)+8>>2];Kd(c[n>>2]|0)}}while(0);Kd(c[h>>2]|0)}}while(0);if(!(c[r>>2]|0)){q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}gp(c[q>>2]|0);c[q>>2]=0;q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}function wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=wp(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=wp(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);i=g;return c[f>>2]|0}function xp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;g=x+64|0;y=x+60|0;o=x+56|0;p=x+52|0;q=x+48|0;v=x+44|0;m=x+40|0;u=x+36|0;s=x+32|0;n=x+28|0;w=x+24|0;r=x+20|0;t=x+16|0;k=x+12|0;j=x+8|0;h=x+4|0;l=x;c[g>>2]=a;c[y>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[v>>2]=0;c[m>>2]=0;c[u>>2]=0;c[s>>2]=c[o>>2];c[n>>2]=c[y>>2];c[w>>2]=0;c[r>>2]=1;while(1){if(c[w>>2]|0){d=25;break}c[t>>2]=0;c[k>>2]=0;c[w>>2]=yp(c[g>>2]|0,c[n>>2]|0,c[s>>2]|0,t,k)|0;if((c[w>>2]|0)==0&(c[t>>2]|0)!=0){c[h>>2]=c[c[t>>2]>>2];if((c[h>>2]|0)==5)d=1;else d=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=d&1;if((c[j>>2]|0)==0&(c[r>>2]|0)!=0){d=7;break}if(!((c[j>>2]|0)==0|(c[r>>2]|0)!=0)){c[l>>2]=zp(48)|0;if(!(c[l>>2]|0)){d=10;break}c[c[l>>2]>>2]=3;Ap(v,c[m>>2]|0,c[l>>2]|0);c[m>>2]=c[l>>2]}if(c[m>>2]|0){if(!((c[h>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[m>>2]>>2]|0)!=5:0){d=17;break}if((c[h>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[m>>2]>>2]|0)==1:0){d=17;break}}do if(c[j>>2]|0){d=c[t>>2]|0;if(c[v>>2]|0){c[(c[m>>2]|0)+16>>2]=d;c[(c[t>>2]|0)+8>>2]=c[m>>2];break}else{c[v>>2]=d;break}}else Ap(v,c[m>>2]|0,c[t>>2]|0);while(0);c[r>>2]=((c[j>>2]|0)!=0^1)&1;c[m>>2]=c[t>>2]}c[s>>2]=(c[s>>2]|0)-(c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}if((d|0)==7){gp(c[t>>2]|0);c[w>>2]=1}else if((d|0)==10){gp(c[t>>2]|0);c[w>>2]=7}else if((d|0)==17){gp(c[t>>2]|0);c[w>>2]=1}else if((d|0)==25){if((c[w>>2]|0)==101&(c[v>>2]|0)!=0&(c[r>>2]|0)!=0)c[w>>2]=1;if((c[w>>2]|0)==101)c[w>>2]=0;c[c[q>>2]>>2]=(c[o>>2]|0)-(c[s>>2]|0)}if(!(c[w>>2]|0)){v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}gp(c[v>>2]|0);gp(c[u>>2]|0);c[v>>2]=0;v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}function yp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+80|0;p=E+72|0;q=E+68|0;r=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;o=E+32|0;B=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;l=E+12|0;j=E+76|0;k=E+8|0;C=E+4|0;z=E;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[o>>2]=0;c[B>>2]=c[r>>2];c[y>>2]=c[s>>2];c[(c[q>>2]|0)+24>>2]=0;while(1){if((c[y>>2]|0)>0)b=(Cp(a[c[B>>2]>>0]|0)|0)!=0;else b=0;f=c[y>>2]|0;if(!b)break;c[y>>2]=f+-1;c[B>>2]=(c[B>>2]|0)+1}if(!f){c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;c[n>>2]=2112+(c[x>>2]<<3);if(((d[(c[n>>2]|0)+5>>0]&-2|0)==0?(c[y>>2]|0)>=(d[(c[n>>2]|0)+4>>0]|0):0)?0==(eR(c[B>>2]|0,c[c[n>>2]>>2]|0,d[(c[n>>2]|0)+4>>0]|0)|0):0){c[m>>2]=10;c[l>>2]=d[(c[n>>2]|0)+4>>0];a:do if((((d[(c[n>>2]|0)+6>>0]|0)==1?(a[(c[B>>2]|0)+4>>0]|0)==47:0)?(a[(c[B>>2]|0)+5>>0]|0)>=48:0)?(a[(c[B>>2]|0)+5>>0]|0)<=57:0){c[m>>2]=0;c[l>>2]=5;while(1){if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)<48)break a;if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)>57)break a;c[m>>2]=((c[m>>2]|0)*10|0)+((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)-48);c[l>>2]=(c[l>>2]|0)+1}}while(0);a[j>>0]=a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0;if(Cp(a[j>>0]|0)|0){D=26;break}if((a[j>>0]|0)==34){D=26;break}if((a[j>>0]|0)==40){D=26;break}if((a[j>>0]|0)==41){D=26;break}if(!(a[j>>0]|0)){D=26;break}}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==26){c[o>>2]=zp(48)|0;if(c[o>>2]|0){c[c[o>>2]>>2]=d[(c[n>>2]|0)+6>>0];c[(c[o>>2]|0)+4>>2]=c[m>>2];c[c[t>>2]>>2]=c[o>>2];c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[l>>2]|0);c[p>>2]=0;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=7;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==34){c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break;if((a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0)==34)break;c[x>>2]=(c[x>>2]|0)+1}c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[x>>2]|0)+1;if((c[x>>2]|0)==(c[y>>2]|0)){c[p>>2]=1;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=Dp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[x>>2]|0)-1|0,c[t>>2]|0)|0;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==40){c[k>>2]=0;D=(c[q>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[A>>2]=xp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[y>>2]|0)-1|0,c[t>>2]|0,k)|0;if((c[A>>2]|0)==0?(c[c[t>>2]>>2]|0)==0:0)c[A>>2]=101;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1+(c[k>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}f=c[q>>2]|0;if((a[c[B>>2]>>0]|0)==41){D=f+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1;c[c[t>>2]>>2]=0;c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[v>>2]=c[f+20>>2];c[w>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[q>>2]|0)+16>>2]|0))break;c[C>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+(c[x>>2]<<2)>>2];c[z>>2]=kR(c[C>>2]|0)|0;if(((c[y>>2]|0)>(c[z>>2]|0)?(a[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)==58:0)?(zd(c[C>>2]|0,c[B>>2]|0,c[z>>2]|0)|0)==0:0){D=50;break}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==50){c[v>>2]=c[x>>2];c[w>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[z>>2]|0)+1}c[A>>2]=Ep(c[q>>2]|0,c[v>>2]|0,(c[r>>2]|0)+(c[w>>2]|0)|0,(c[s>>2]|0)-(c[w>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;D=c[u>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}function zp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}VR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function Ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=c[j>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){d=Bp(c[(c[g>>2]|0)+8>>2]|0)|0;d=(d|0)<=(Bp(c[f>>2]|0)|0)}else d=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!d)break;c[g>>2]=b}d=c[f>>2]|0;if(b){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=d;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}else{c[c[e>>2]>>2]=d;e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}}function Bp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Cp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)c=(a[c>>0]|0)==12;else c=1;i=d;return c&1|0}function Dp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;g=D+88|0;h=D+84|0;j=D+80|0;k=D+76|0;l=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;p=D+32|0;A=D+28|0;r=D+24|0;m=D+20|0;n=D+16|0;o=D+12|0;x=D+8|0;q=D+4|0;z=D;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[E>>2]=c[c[h>>2]>>2];c[w>>2]=c[c[E>>2]>>2];c[u>>2]=0;c[v>>2]=0;c[B>>2]=0;c[s>>2]=0;c[D+40>>2]=144;c[t>>2]=0;c[y>>2]=Cn(c[E>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,v)|0;a:do if(!(c[y>>2]|0)){c[p>>2]=0;while(1){if(c[y>>2]|0)break;c[r>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[y>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,r,m,n,o)|0;if(!(c[y>>2]|0)){c[u>>2]=Fp(c[u>>2]|0,144+((c[p>>2]|0)*24|0)|0)|0;if(!(c[u>>2]|0))break a;c[B>>2]=Fp(c[B>>2]|0,(c[s>>2]|0)+(c[r>>2]|0)|0)|0;if(!(c[B>>2]|0))break a;c[x>>2]=(c[u>>2]|0)+48+72+((c[p>>2]|0)*24|0);E=c[x>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;TR((c[B>>2]|0)+(c[s>>2]|0)|0,c[A>>2]|0,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[x>>2]|0)+4>>2]=c[r>>2];if((c[n>>2]|0)<(c[k>>2]|0))e=(a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0)==42;else e=0;c[(c[x>>2]|0)+8>>2]=e&1;if((c[m>>2]|0)>0)e=(a[(c[j>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==94;else e=0;c[(c[x>>2]|0)+12>>2]=e&1;c[t>>2]=(c[p>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;c[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[y>>2]|0)==101){c[z>>2]=0;c[u>>2]=Fp(c[u>>2]|0,144+((c[t>>2]|0)*24|0)+(c[s>>2]|0)|0)|0;if(!(c[u>>2]|0))break;VR(c[u>>2]|0,0,(c[u>>2]|0)+48+72-(c[u>>2]|0)|0)|0;c[c[u>>2]>>2]=5;c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+48;c[(c[(c[u>>2]|0)+20>>2]|0)+68>>2]=c[(c[h>>2]|0)+20>>2];c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]=c[t>>2];c[z>>2]=(c[(c[u>>2]|0)+20>>2]|0)+72+((c[t>>2]|0)*24|0);if(c[B>>2]|0){TR(c[z>>2]|0,c[B>>2]|0,c[s>>2]|0)|0;Kd(c[B>>2]|0)}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+(c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=0}c[c[l>>2]>>2]=c[u>>2];c[g>>2]=c[y>>2];E=c[g>>2]|0;i=D;return E|0}while(0);if(c[v>>2]|0)Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;Kd(c[B>>2]|0);Kd(c[u>>2]|0);c[c[l>>2]>>2]=0;c[g>>2]=7;E=c[g>>2]|0;i=D;return E|0}function Ep(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;p=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;q=B+8|0;r=B+4|0;t=B;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[y>>2]=c[c[j>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[x>>2]=0;c[p>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==40)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==41)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==34)break;c[p>>2]=(c[p>>2]|0)+1}c[c[o>>2]>>2]=c[p>>2];c[z>>2]=Cn(c[y>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0,c[p>>2]|0,v)|0;if(c[z>>2]|0){e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}c[u>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;c[z>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,u,s,q,r)|0;if(c[z>>2]|0){if((c[p>>2]|0)!=0&(c[z>>2]|0)==101)c[z>>2]=0}else{c[t>>2]=144+(c[u>>2]|0);c[x>>2]=zp(c[t>>2]|0)|0;a:do if(c[x>>2]|0){c[c[x>>2]>>2]=5;c[(c[x>>2]|0)+20>>2]=(c[x>>2]|0)+48;c[(c[(c[x>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[x>>2]|0)+20>>2]|0)+68>>2]=c[k>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72+4>>2]=c[u>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]=(c[(c[x>>2]|0)+20>>2]|0)+96;TR(c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]|0,c[A>>2]|0,c[u>>2]|0)|0;if((c[q>>2]|0)<(c[m>>2]|0)?(a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0)==42:0){c[(c[(c[x>>2]|0)+20>>2]|0)+72+8>>2]=1;c[q>>2]=(c[q>>2]|0)+1}while(1){if(!((c[s>>2]|0)>0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[l>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[x>>2]|0)+20>>2]|0)+72+12>>2]=1;c[s>>2]=(c[s>>2]|0)+-1}}else c[z>>2]=7;while(0);c[c[o>>2]>>2]=c[q>>2]}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}function Fp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Ld(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;i=f;return g|0}Kd(c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}function Gp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Hp(c[(c[d>>2]|0)+20>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[d>>2]|0);i=b;return}function Hp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}Kd(c[c[d>>2]>>2]|0);Vm(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;on(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}i=f;return}function Ip(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];kl(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;i=f;return}function Jp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((lf()|0)<3008002){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+48|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function Kp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((lf()|0)<3008012){i=d;return}a=(c[b>>2]|0)+56|0;c[a>>2]=c[a>>2]|1;i=d;return}function Lp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=i;i=i+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;q=ha+16|0;r=ha+8|0;p=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;k=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;n=ha+148|0;t=ha+144|0;l=ha+80|0;m=ha+76|0;o=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;c[v>>2]=b;c[w>>2]=d;c[ia>>2]=e;c[k>>2]=f;c[x>>2]=g;c[da>>2]=h;c[y>>2]=j;c[S>>2]=c[ia>>2];c[ea>>2]=0;c[ga>>2]=0;c[R>>2]=0;c[M>>2]=0;c[G>>2]=(a[(c[c[x>>2]>>2]|0)+3>>0]|0)==52&1;c[fa>>2]=0;c[O>>2]=0;c[A>>2]=0;c[D>>2]=0;c[C>>2]=0;c[ba>>2]=0;c[X>>2]=0;c[ca>>2]=0;c[Y>>2]=0;c[_>>2]=0;c[B>>2]=0;c[Q>>2]=0;c[N>>2]=(kR(c[(c[x>>2]|0)+4>>2]|0)|0)+1;c[P>>2]=(kR(c[(c[x>>2]|0)+8>>2]|0)|0)+1;c[L>>2]=(c[k>>2]|0)-2<<2;c[z>>2]=Id(c[L>>2]|0)|0;if(c[z>>2]|0){VR(c[z>>2]|0,0,c[L>>2]|0)|0;c[B>>2]=Id(c[L>>2]|0)|0}if(c[B>>2]|0)VR(c[B>>2]|0,0,c[L>>2]|0)|0;do if((c[z>>2]|0)!=0&(c[B>>2]|0)!=0){c[E>>2]=3;while(1){if(c[ga>>2]|0)break;if((c[E>>2]|0)>=(c[k>>2]|0))break;c[s>>2]=c[(c[x>>2]|0)+(c[E>>2]<<2)>>2];if((((c[fa>>2]|0)==0?(kR(c[s>>2]|0)|0)>>>0>8:0)?0==(zd(c[s>>2]|0,24006,8)|0):0)?0==(Mp(a[(c[s>>2]|0)+8>>0]|0)|0):0)c[ga>>2]=Np(c[S>>2]|0,(c[s>>2]|0)+9|0,fa,c[y>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if((c[G>>2]|0)!=0?(Op(c[s>>2]|0,n,t)|0)!=0:0){f=l;g=2144;d=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));if(!(c[t>>2]|0)){c[ga>>2]=7;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=8)break;c[o>>2]=l+(c[m>>2]<<3);if((c[n>>2]|0)==(c[(c[o>>2]|0)+4>>2]|0)?(zd(c[s>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+1}a:do if((c[m>>2]|0)==8){ia=c[y>>2]|0;c[p>>2]=c[s>>2];Fk(ia,24015,p);c[ga>>2]=1}else switch(c[m>>2]|0){case 0:{if(!((kR(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,20521,4)|0)==0:0)){ia=c[y>>2]|0;c[r>>2]=c[t>>2];Fk(ia,24042,r);c[ga>>2]=1}c[D>>2]=1;break a}case 1:{Kd(c[ba>>2]|0);c[ba>>2]=c[t>>2];c[t>>2]=0;break a}case 2:{Kd(c[X>>2]|0);c[X>>2]=c[t>>2];c[t>>2]=0;break a}case 3:{Kd(c[ca>>2]|0);c[ca>>2]=c[t>>2];c[t>>2]=0;break a}case 4:{if(!((kR(c[t>>2]|0)|0)==3?(zd(c[t>>2]|0,24069,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((kR(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,24073,4)|0)==0:0)break;ia=c[y>>2]|0;c[q>>2]=c[t>>2];Fk(ia,24078,q);c[ga>>2]=1}while(0);if((a[c[t>>2]>>0]|0)==100)f=1;else f=(a[c[t>>2]>>0]|0)==68;c[C>>2]=f&1;break a}case 5:{Kd(c[Y>>2]|0);c[Y>>2]=c[t>>2];c[t>>2]=0;break a}case 6:{Kd(c[_>>2]|0);c[_>>2]=c[t>>2];c[t>>2]=0;break a}case 7:{j=c[t>>2]|0;ia=c[Q>>2]|0;c[Q>>2]=ia+1;c[(c[B>>2]|0)+(ia<<2)>>2]=j;c[t>>2]=0;break a}default:break a}while(0);Kd(c[t>>2]|0);break}j=(kR(c[s>>2]|0)|0)+1|0;c[R>>2]=(c[R>>2]|0)+j;j=c[s>>2]|0;ia=c[M>>2]|0;c[M>>2]=ia+1;c[(c[z>>2]|0)+(ia<<2)>>2]=j}while(0);c[E>>2]=(c[E>>2]|0)+1}b:do if(((c[ga>>2]|0)==0&(c[Y>>2]|0)!=0?(Kd(c[X>>2]|0),Kd(c[ca>>2]|0),c[X>>2]=0,c[ca>>2]=0,(c[M>>2]|0)==0):0)?(Kd(c[z>>2]|0),c[z>>2]=0,c[ga>>2]=Pp(c[w>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[Y>>2]|0,z,M,R,c[y>>2]|0)|0,(c[ga>>2]|0)==0&(c[_>>2]|0)!=0):0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[M>>2]|0))break b;ia=(Td(c[_>>2]|0,c[(c[z>>2]|0)+(c[H>>2]<<2)>>2]|0)|0)==0;f=c[H>>2]|0;if(ia)break;c[H>>2]=f+1}c[I>>2]=f;while(1){if((c[I>>2]|0)>=(c[M>>2]|0))break;c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[z>>2]|0)+((c[I>>2]|0)+1<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+-1}while(0);if(!(c[ga>>2]|0)){if(!(c[M>>2]|0)){c[c[z>>2]>>2]=24101;c[R>>2]=8;c[M>>2]=1}if((c[fa>>2]|0)==0?(c[ga>>2]=Np(c[S>>2]|0,20447,fa,c[y>>2]|0)|0,(c[ga>>2]|0)!=0):0)break;c[ga>>2]=Qp(c[ba>>2]|0,O,A)|0;if((c[ga>>2]|0)==1){ia=c[y>>2]|0;c[T>>2]=c[ba>>2];Fk(ia,24109,T)}if(!(c[ga>>2]|0)){c[L>>2]=280+(c[M>>2]<<2)+((c[O>>2]|0)*24|0)+(c[M>>2]|0)+(c[P>>2]|0)+(c[N>>2]|0)+(c[R>>2]|0);c[ea>>2]=Id(c[L>>2]|0)|0;if(!(c[ea>>2]|0)){c[ga>>2]=7;break}VR(c[ea>>2]|0,0,c[L>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[w>>2];c[(c[ea>>2]|0)+24>>2]=c[M>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[fa>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=((c[G>>2]|0)!=0?(c[D>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[G>>2];a[(c[ea>>2]|0)+228>>0]=c[G>>2];a[(c[ea>>2]|0)+231>>0]=c[C>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[Y>>2];c[(c[ea>>2]|0)+44>>2]=c[_>>2];c[Y>>2]=0;c[_>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[M>>2]<<2);TR(c[(c[ea>>2]|0)+252>>2]|0,c[A>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[O>>2]|0))break;kk((c[(c[ea>>2]|0)+252>>2]|0)+((c[E>>2]|0)*24|0)+4|0,1,1);c[E>>2]=(c[E>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=(c[(c[ea>>2]|0)+252>>2]|0)+((c[O>>2]|0)*24|0);c[Z>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[M>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[Z>>2];TR(c[Z>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[P>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[P>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[Z>>2];TR(c[Z>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[N>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[N>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[J>>2]=0;c[W>>2]=Rp(c[(c[z>>2]|0)+(c[F>>2]<<2)>>2]|0,J)|0;TR(c[Z>>2]|0,c[W>>2]|0,c[J>>2]|0)|0;a[(c[Z>>2]|0)+(c[J>>2]|0)>>0]=0;Ok(c[Z>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]=c[Z>>2];c[Z>>2]=(c[Z>>2]|0)+((c[J>>2]|0)+1);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[K>>2]=kR(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;c[aa>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];if(((c[aa>>2]|0)!=0?(ia=c[K>>2]|0,(ia|0)==(kR(c[aa>>2]|0)|0)):0)?0==(zd(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0,c[aa>>2]|0,c[K>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[F>>2]|0)>>0]=1;Kd(c[aa>>2]|0);c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]=0}c[E>>2]=(c[E>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;if(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0){ia=c[y>>2]|0;c[U>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];Fk(ia,24144,U);c[ga>>2]=1}c[E>>2]=(c[E>>2]|0)+1}if((c[ga>>2]|0)==0?((c[X>>2]|0)==0|0)!=((c[ca>>2]|0)==0|0):0){c[$>>2]=(c[X>>2]|0)==0?24163:24172;c[ga>>2]=1;ia=c[y>>2]|0;c[V>>2]=c[$>>2];Fk(ia,24183,V)}ia=Sp(c[ea>>2]|0,c[ca>>2]|0,ga)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=Tp(c[ea>>2]|0,c[X>>2]|0,ga)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[ga>>2]|0)){if(c[v>>2]|0)c[ga>>2]=Up(c[ea>>2]|0)|0;if(!((c[G>>2]|0)!=0|(c[v>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;Vp(ga,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;Wp(ga,c[ea>>2]|0)}}}}else c[ga>>2]=7;while(0);Kd(c[ba>>2]|0);Kd(c[A>>2]|0);Kd(c[X>>2]|0);Kd(c[ca>>2]|0);Kd(c[Y>>2]|0);Kd(c[_>>2]|0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;Kd(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0);c[E>>2]=(c[E>>2]|0)+1}Kd(c[z>>2]|0);Kd(c[B>>2]|0);f=c[ea>>2]|0;if(!(c[ga>>2]|0)){c[c[da>>2]>>2]=f;ia=c[ga>>2]|0;i=ha;return ia|0}if(f){Sk(c[ea>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}if(!(c[fa>>2]|0)){ia=c[ga>>2]|0;i=ha;return ia|0}Tb[c[(c[c[fa>>2]>>2]|0)+8>>2]&255](c[fa>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}function Mp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128){b=1;b=b&1;i=d;return b|0}b=(a[24865+(a[c>>0]|0)>>0]|0)!=0;b=b&1;i=d;return b|0}function Np(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;t=y+16|0;s=y+8|0;z=y;g=y+76|0;h=y+72|0;A=y+68|0;j=y+64|0;k=y+60|0;r=y+56|0;u=y+52|0;p=y+48|0;v=y+44|0;w=y+40|0;o=y+36|0;l=y+32|0;n=y+28|0;q=y+24|0;m=y+20|0;c[h>>2]=b;c[A>>2]=d;c[j>>2]=e;c[k>>2]=f;c[u>>2]=c[A>>2];c[p>>2]=0;c[z>>2]=c[A>>2];c[v>>2]=Od(18391,z)|0;if(!(c[v>>2]|0)){c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}A=kR(c[v>>2]|0)|0;c[w>>2]=(c[v>>2]|0)+A;c[u>>2]=Rp(c[v>>2]|0,p)|0;if(!(c[u>>2]|0))c[u>>2]=c[v>>2];a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Ok(c[u>>2]|0);z=c[h>>2]|0;A=c[u>>2]|0;c[o>>2]=Ek(z,A,(kR(c[u>>2]|0)|0)+1|0)|0;if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1);while(1){if((c[u>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;A=Rp(c[u>>2]|0,p)|0;c[u>>2]=A;if(!A)break;c[q>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=Ld(c[l>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0)){x=11;break}c[l>>2]=c[m>>2];z=c[u>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[(c[l>>2]|0)+(A<<2)>>2]=z;a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Ok(c[u>>2]|0);c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1)}if((x|0)==11){Kd(c[v>>2]|0);Kd(c[l>>2]|0);c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}c[r>>2]=Ob[c[(c[o>>2]|0)+4>>2]&255](c[n>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;if(c[r>>2]|0)Fk(c[k>>2]|0,24847,t);else c[c[c[j>>2]>>2]>>2]=c[o>>2];Kd(c[l>>2]|0)}else{A=c[k>>2]|0;c[s>>2]=c[u>>2];Fk(A,20595,s);c[r>>2]=1}Kd(c[v>>2]|0);c[g>>2]=c[r>>2];A=c[g>>2]|0;i=y;return A|0}function Op(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;l=o+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=c[g>>2];while(1){d=c[l>>2]|0;if((a[c[l>>2]>>0]|0)==61)break;if(!(a[d>>0]|0)){n=4;break}c[l>>2]=(c[l>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=d-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)+1;c[m>>2]=Od(18391,k)|0;if(c[m>>2]|0)Ok(c[m>>2]|0);c[c[j>>2]>>2]=c[m>>2];c[f>>2]=1;n=c[f>>2]|0;i=o;return n|0}function Pp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+96|0;w=A+8|0;B=A;j=A+80|0;C=A+76|0;D=A+72|0;k=A+68|0;l=A+64|0;m=A+60|0;n=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;o=A+40|0;s=A+36|0;r=A+32|0;p=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;q=A+12|0;c[j>>2]=a;c[C>>2]=b;c[D>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[v>>2]=0;c[u>>2]=0;d=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=d;c[z>>2]=Od(24792,B)|0;if(c[z>>2]|0){c[v>>2]=cf(c[j>>2]|0,c[z>>2]|0,-1,u,0)|0;if(c[v>>2]|0){D=c[n>>2]|0;c[w>>2]=bf(c[j>>2]|0)|0;Fk(D,18391,w)}}else c[v>>2]=7;Kd(c[z>>2]|0);if(c[v>>2]|0){D=c[v>>2]|0;i=A;return D|0}c[s>>2]=0;c[r>>2]=xe(c[u>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[x>>2]=He(c[u>>2]|0,c[p>>2]|0)|0;D=(kR(c[x>>2]|0)|0)+1|0;c[s>>2]=(c[s>>2]|0)+D;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=Id((c[r>>2]<<2)+(c[s>>2]|0)|0)|0;a:do if(!(c[o>>2]|0))c[v>>2]=7;else{c[t>>2]=(c[o>>2]|0)+(c[r>>2]<<2);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;c[y>>2]=He(c[u>>2]|0,c[p>>2]|0)|0;c[q>>2]=(kR(c[y>>2]|0)|0)+1;TR(c[t>>2]|0,c[y>>2]|0,c[q>>2]|0)|0;c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);Xd(c[u>>2]|0)|0;c[c[l>>2]>>2]=c[r>>2];c[c[m>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[o>>2];D=c[v>>2]|0;i=A;return D|0}function Qp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;o=q+12|0;p=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=1;a:do if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=c[g>>2];while(1){if(!(a[c[o>>2]>>0]|0))break a;if((a[c[o>>2]>>0]|0)==44)c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[k>>2]=Id((c[m>>2]|0)*24|0)|0;c[c[j>>2]>>2]=c[k>>2];if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=q;return b|0}VR(c[k>>2]|0,0,(c[m>>2]|0)*24|0)|0;b:do if(c[g>>2]|0){c[p>>2]=c[g>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break b;c[n>>2]=0;if(Zp(p,n)|0)break;if(!(c[n>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-1}else c[(c[k>>2]|0)+((c[l>>2]|0)*24|0)>>2]=c[n>>2];c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=1;b=c[f>>2]|0;i=q;return b|0}while(0);c[c[h>>2]>>2]=c[m>>2];c[f>>2]=0;b=c[f>>2]|0;i=q;return b|0} -function SE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;l=oa+228|0;m=oa+224|0;n=oa+220|0;j=oa+216|0;ha=oa+212|0;V=oa+208|0;P=oa+204|0;la=oa+40|0;ia=oa+32|0;t=oa+24|0;fa=oa+200|0;I=oa+196|0;K=oa+192|0;L=oa+188|0;ba=oa+184|0;q=oa+180|0;s=oa+240|0;k=oa+16|0;z=oa+176|0;y=oa+172|0;Q=oa+168|0;ca=oa+164|0;M=oa+236|0;W=oa+160|0;O=oa+156|0;r=oa+234|0;A=oa+152|0;U=oa+148|0;u=oa+144|0;Y=oa+140|0;B=oa+136|0;S=oa+132|0;ga=oa+128|0;Z=oa+124|0;_=oa+120|0;E=oa+116|0;G=oa+112|0;na=oa+108|0;ma=oa+232|0;x=oa+104|0;o=oa+239|0;p=oa+238|0;N=oa+100|0;H=oa+96|0;ea=oa+92|0;T=oa+88|0;aa=oa+84|0;ja=oa+8|0;ka=oa;$=oa+80|0;J=oa+76|0;v=oa+72|0;D=oa+68|0;X=oa+64|0;R=oa+60|0;da=oa+56|0;w=oa+52|0;F=oa+48|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=c[c[m>>2]>>2];g=t;c[g>>2]=0;c[g+4>>2]=0;c[fa>>2]=0;c[I>>2]=0;c[K>>2]=0;c[ba>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[ba>>2]>>2];if(a[(c[q>>2]|0)+69>>0]|0){i=oa;return}c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[V>>2]=(c[j>>2]|0)+488;c[P>>2]=c[c[ha>>2]>>2];g=lE(c[V>>2]|0,c[(c[P>>2]|0)+12>>2]|0)|0;j=la;c[j>>2]=g;c[j+4>>2]=C;c[L>>2]=d[c[P>>2]>>0];do if((c[L>>2]|0)==33){if(lB(c[ba>>2]|0,c[P>>2]|0)|0){i=oa;return}h=c[V>>2]|0;f=(c[P>>2]|0)+20|0;if(c[(c[P>>2]|0)+4>>2]&2048){g=mE(h,c[f>>2]|0)|0;j=(c[ha>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}else{g=KD(h,c[f>>2]|0)|0;j=(c[ha>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}}else if((c[L>>2]|0)==34){j=(c[ha>>2]|0)+32|0;c[j>>2]=0;c[j+4>>2]=0;break}else{g=lE(c[V>>2]|0,c[(c[P>>2]|0)+16>>2]|0)|0;j=(c[ha>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}while(0);g=lE(c[V>>2]|0,c[P>>2]|0)|0;j=ia;c[j>>2]=g;c[j+4>>2]=C;if(c[(c[P>>2]|0)+4>>2]&1){h=OD(c[V>>2]|0,b[(c[P>>2]|0)+36>>1]|0)|0;f=k;c[f>>2]=h;c[f+4>>2]=C;f=k;h=ia;g=c[h+4>>2]|c[f+4>>2];j=ia;c[j>>2]=c[h>>2]|c[f>>2];c[j+4>>2]=g;j=k;j=QR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=t;c[k>>2]=j;c[k+4>>2]=C}j=ia;h=c[j+4>>2]|0;k=(c[ha>>2]|0)+40|0;c[k>>2]=c[j>>2];c[k+4>>2]=h;c[(c[ha>>2]|0)+20>>2]=-1;c[(c[ha>>2]|0)+16>>2]=-1;b[(c[ha>>2]|0)+12>>1]=0;k=(TE(c[L>>2]|0)|0)!=0;h=c[P>>2]|0;a:do if(k){c[Q>>2]=ky(c[h+12>>2]|0)|0;c[ca>>2]=ky(c[(c[P>>2]|0)+16>>2]|0)|0;U=(c[ha>>2]|0)+32|0;Y=la;b[M>>1]=((c[U>>2]&c[Y>>2]|0)==0?(c[U+4>>2]&c[Y+4>>2]|0)==0:0)?8191:2048;if((c[(c[ha>>2]|0)+24>>2]|0)>0)c[Q>>2]=c[(c[(c[(c[Q>>2]|0)+20>>2]|0)+4>>2]|0)+(((c[(c[ha>>2]|0)+24>>2]|0)-1|0)*20|0)>>2];Y=la;if(UE(c[l>>2]|0,c[L>>2]|0,c[Y>>2]|0,c[Y+4>>2]|0,c[Q>>2]|0,z,y)|0){c[(c[ha>>2]|0)+20>>2]=c[z>>2];c[(c[ha>>2]|0)+28>>2]=c[y>>2];Y=(VE(c[L>>2]|0)|0)&65535;b[(c[ha>>2]|0)+12>>1]=Y&e[M>>1]}if((c[L>>2]|0)==29){Y=(c[ha>>2]|0)+10|0;b[Y>>1]=e[Y>>1]|2048}if((c[ca>>2]|0)!=0?(Y=(c[ha>>2]|0)+32|0,(UE(c[l>>2]|0,c[L>>2]|0,c[Y>>2]|0,c[Y+4>>2]|0,c[ca>>2]|0,z,y)|0)!=0):0){b[r>>1]=0;if((c[(c[ha>>2]|0)+20>>2]|0)>=0){c[O>>2]=Iy(c[q>>2]|0,c[P>>2]|0,0)|0;if(a[(c[q>>2]|0)+69>>0]|0){iv(c[q>>2]|0,c[O>>2]|0);i=oa;return}c[A>>2]=WE(c[m>>2]|0,c[O>>2]|0,3)|0;if(!(c[A>>2]|0)){i=oa;return}c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[A>>2]|0)*48|0);XE(c[m>>2]|0,c[A>>2]|0,c[n>>2]|0);if((c[L>>2]|0)==29){ca=(c[W>>2]|0)+10|0;b[ca>>1]=e[ca>>1]|2048}c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);ca=(c[ha>>2]|0)+10|0;b[ca>>1]=e[ca>>1]|8;if(YE(c[ba>>2]|0,c[O>>2]|0)|0){ca=(c[ha>>2]|0)+12|0;b[ca>>1]=e[ca>>1]|2048;b[r>>1]=2048}}else{c[O>>2]=c[P>>2];c[W>>2]=c[ha>>2]}ZE(c[ba>>2]|0,c[O>>2]|0);c[(c[W>>2]|0)+20>>2]=c[z>>2];c[(c[W>>2]|0)+28>>2]=c[y>>2];U=la;Y=t;la=c[U+4>>2]|c[Y+4>>2];ca=(c[W>>2]|0)+32|0;c[ca>>2]=c[U>>2]|c[Y>>2];c[ca+4>>2]=la;ca=ia;ia=c[ca+4>>2]|0;la=(c[W>>2]|0)+40|0;c[la>>2]=c[ca>>2];c[la+4>>2]=ia;la=(VE(d[c[O>>2]>>0]|0)|0)&65535;b[(c[W>>2]|0)+12>>1]=la+(e[r>>1]|0)&e[M>>1]}}else{if((d[h>>0]|0)==32?(d[(c[m>>2]|0)+8>>0]|0)==28:0){c[U>>2]=c[(c[P>>2]|0)+20>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break a;ca=c[ba>>2]|0;ia=d[34832+(c[u>>2]|0)>>0]|0;la=Iy(c[q>>2]|0,c[(c[P>>2]|0)+12>>2]|0,0)|0;c[Y>>2]=Ev(ca,ia,la,Iy(c[q>>2]|0,c[(c[(c[U>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;_E(c[Y>>2]|0,c[P>>2]|0);c[B>>2]=WE(c[m>>2]|0,c[Y>>2]|0,3)|0;SE(c[l>>2]|0,c[m>>2]|0,c[B>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);XE(c[m>>2]|0,c[B>>2]|0,c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+1}}if((d[c[P>>2]>>0]|0)==27){$E(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0)}}while(0);if((d[(c[m>>2]|0)+8>>0]|0)==28?(aF(c[ba>>2]|0,c[P>>2]|0,fa,I,K)|0)!=0:0){b[ma>>1]=259;c[S>>2]=c[(c[(c[(c[P>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[ga>>2]=Iy(c[q>>2]|0,c[fa>>2]|0,0)|0;b:do if((c[K>>2]|0)!=0?(a[(c[c[ba>>2]>>2]|0)+69>>0]|0)==0:0){ma=(c[ha>>2]|0)+10|0;b[ma>>1]=e[ma>>1]|1024;c[x>>2]=0;while(1){ma=a[(c[(c[fa>>2]|0)+8>>2]|0)+(c[x>>2]|0)>>0]|0;a[o>>0]=ma;if(!(ma<<24>>24))break b;a[(c[(c[fa>>2]|0)+8>>2]|0)+(c[x>>2]|0)>>0]=a[o>>0]&~(d[18403+(d[o>>0]|0)>>0]&32);a[(c[(c[ga>>2]|0)+8>>2]|0)+(c[x>>2]|0)>>0]=a[17613+(d[o>>0]|0)>>0]|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(a[(c[q>>2]|0)+69>>0]|0)){ma=(Jf(c[(c[ga>>2]|0)+8>>2]|0)|0)-1|0;c[N>>2]=(c[(c[ga>>2]|0)+8>>2]|0)+ma;a[p>>0]=a[c[N>>2]>>0]|0;if(c[K>>2]|0){if((d[p>>0]|0)==64)c[I>>2]=0;a[p>>0]=a[17613+(d[p>>0]|0)>>0]|0}a[c[N>>2]>>0]=(d[p>>0]|0)+1}c[na>>2]=(c[K>>2]|0)!=0?20429:34834;c[Z>>2]=Iy(c[q>>2]|0,c[S>>2]|0,0)|0;la=c[ba>>2]|0;ma=Wy(c[ba>>2]|0,c[Z>>2]|0,c[na>>2]|0)|0;c[Z>>2]=Ev(la,41,ma,c[fa>>2]|0,0)|0;_E(c[Z>>2]|0,c[P>>2]|0);c[E>>2]=WE(c[m>>2]|0,c[Z>>2]|0,259)|0;SE(c[l>>2]|0,c[m>>2]|0,c[E>>2]|0);c[_>>2]=Iy(c[q>>2]|0,c[S>>2]|0,0)|0;ma=c[ba>>2]|0;na=Wy(c[ba>>2]|0,c[_>>2]|0,c[na>>2]|0)|0;c[_>>2]=Ev(ma,40,na,c[ga>>2]|0,0)|0;_E(c[_>>2]|0,c[P>>2]|0);c[G>>2]=WE(c[m>>2]|0,c[_>>2]|0,259)|0;SE(c[l>>2]|0,c[m>>2]|0,c[G>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);if(c[I>>2]|0){XE(c[m>>2]|0,c[E>>2]|0,c[n>>2]|0);XE(c[m>>2]|0,c[G>>2]|0,c[n>>2]|0)}}if(((d[(c[m>>2]|0)+8>>0]|0)==28?(bF(c[P>>2]|0,s)|0)!=0:0)?(c[ea>>2]=c[c[(c[(c[P>>2]|0)+20>>2]|0)+4>>2]>>2],c[T>>2]=c[(c[(c[(c[P>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ma=lE(c[V>>2]|0,c[ea>>2]|0)|0,na=ka,c[na>>2]=ma,c[na+4>>2]=C,na=lE(c[V>>2]|0,c[T>>2]|0)|0,ma=ja,c[ma>>2]=na,c[ma+4>>2]=C,ma=ka,na=ja,(c[ma>>2]&c[na>>2]|0)==0?(c[ma+4>>2]&c[na+4>>2]|0)==0:0):0){na=c[ba>>2]|0;c[$>>2]=Ev(na,30,0,Iy(c[q>>2]|0,c[ea>>2]|0,0)|0,0)|0;c[H>>2]=WE(c[m>>2]|0,c[$>>2]|0,3)|0;c[aa>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[H>>2]|0)*48|0);na=ka;ma=c[na+4>>2]|0;la=(c[aa>>2]|0)+32|0;c[la>>2]=c[na>>2];c[la+4>>2]=ma;c[(c[aa>>2]|0)+20>>2]=c[(c[T>>2]|0)+28>>2];c[(c[aa>>2]|0)+28>>2]=b[(c[T>>2]|0)+32>>1];b[(c[aa>>2]|0)+12>>1]=64;a[(c[aa>>2]|0)+15>>0]=a[s>>0]|0;XE(c[m>>2]|0,c[H>>2]|0,c[n>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);la=(c[ha>>2]|0)+10|0;b[la>>1]=e[la>>1]|8;la=(c[ha>>2]|0)+40|0;ma=c[la+4>>2]|0;na=(c[aa>>2]|0)+40|0;c[na>>2]=c[la>>2];c[na+4>>2]=ma}do if((d[(c[m>>2]|0)+8>>0]|0)==28){if((d[c[P>>2]>>0]|0)!=37?(d[c[P>>2]>>0]|0)!=29:0)break;if(XA(c[(c[P>>2]|0)+12>>2]|0)|0){if((c[(c[(c[P>>2]|0)+12>>2]|0)+4>>2]&2048|0)!=0?(c[(c[(c[P>>2]|0)+16>>2]|0)+4>>2]&2048|0)!=0:0)break;c[J>>2]=cz(c[(c[P>>2]|0)+12>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[J>>2]|0))break;c[R>>2]=cF(c[ba>>2]|0,c[(c[P>>2]|0)+12>>2]|0,c[v>>2]|0)|0;c[da>>2]=cF(c[ba>>2]|0,c[(c[P>>2]|0)+16>>2]|0,c[v>>2]|0)|0;c[X>>2]=Ev(c[ba>>2]|0,d[c[P>>2]>>0]|0,c[R>>2]|0,c[da>>2]|0,0)|0;_E(c[X>>2]|0,c[P>>2]|0);c[D>>2]=WE(c[m>>2]|0,c[X>>2]|0,1)|0;SE(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0);c[v>>2]=(c[v>>2]|0)+1}c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);b[(c[ha>>2]|0)+10>>1]=6;b[(c[ha>>2]|0)+12>>1]=0}}while(0);c:do if(((((d[(c[m>>2]|0)+8>>0]|0)==28?(d[c[P>>2]>>0]|0)==33:0)?(c[(c[ha>>2]|0)+24>>2]|0)==0:0)?(d[c[(c[P>>2]|0)+12>>2]>>0]|0)==158:0)?(c[(c[(c[P>>2]|0)+20>>2]|0)+48>>2]|0)==0:0){c[w>>2]=0;while(1){na=c[w>>2]|0;if((na|0)>=(cz(c[(c[P>>2]|0)+12>>2]|0)|0))break c;c[F>>2]=WE(c[m>>2]|0,c[P>>2]|0,2)|0;c[(c[(c[m>>2]|0)+20>>2]|0)+((c[F>>2]|0)*48|0)+24>>2]=(c[w>>2]|0)+1;SE(c[l>>2]|0,c[m>>2]|0,c[F>>2]|0);XE(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0);c[w>>2]=(c[w>>2]|0)+1}}while(0);la=t;na=(c[ha>>2]|0)+32|0;ka=na;ma=c[ka+4>>2]|c[la+4>>2];c[na>>2]=c[ka>>2]|c[la>>2];c[na+4>>2]=ma;i=oa;return}function TE(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=33?!((c[b>>2]|0)>=37&(c[b>>2]|0)<=41|(c[b>>2]|0)==34):0)b=(c[b>>2]|0)==29;else b=1;i=d;return b&1|0}function UE(a,f,g,h,j,k,l){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;r=v+40|0;m=v+36|0;w=v+32|0;n=v;o=v+28|0;s=v+24|0;t=v+20|0;q=v+16|0;p=v+12|0;u=v+8|0;c[m>>2]=a;c[w>>2]=f;a=n;c[a>>2]=g;c[a+4>>2]=h;c[o>>2]=j;c[s>>2]=k;c[t>>2]=l;if(((c[w>>2]|0)>=38?(d[c[o>>2]>>0]|0)==158:0)&(c[w>>2]|0)<=41)c[o>>2]=c[c[(c[(c[o>>2]|0)+20>>2]|0)+4>>2]>>2];if((d[c[o>>2]>>0]|0)==152){c[c[s>>2]>>2]=c[(c[o>>2]|0)+28>>2];c[c[t>>2]>>2]=b[(c[o>>2]|0)+32>>1];c[r>>2]=1;w=c[r>>2]|0;i=v;return w|0}w=n;if((c[w>>2]|0)==0&(c[w+4>>2]|0)==0){c[r>>2]=0;w=c[r>>2]|0;i=v;return w|0}w=n;l=c[w>>2]|0;w=c[w+4>>2]|0;k=n;k=QR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((l&k|0)!=0|(w&C|0)!=0){c[r>>2]=0;w=c[r>>2]|0;i=v;return w|0}c[p>>2]=0;while(1){w=n;k=c[w+4>>2]|0;g=c[p>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[w>>2]|0)>>>0>1))break;c[p>>2]=g+1;k=n;k=SR(c[k>>2]|0,c[k+4>>2]|0,1)|0;w=n;c[w>>2]=k;c[w+4>>2]=C}c[u>>2]=c[(c[m>>2]|0)+8+(g*72|0)+44>>2];c[q>>2]=c[(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[q>>2]|0)){g=22;break}b:do if(c[(c[q>>2]|0)+40>>2]|0){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[(c[q>>2]|0)+50>>1]|0))break b;if((b[(c[(c[q>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1]|0)==-2?(Ky(c[o>>2]|0,c[(c[(c[(c[q>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,c[u>>2]|0)|0)==0:0){g=19;break a}c[p>>2]=(c[p>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((g|0)==19){c[c[s>>2]>>2]=c[u>>2];c[c[t>>2]>>2]=-2;c[r>>2]=1;w=c[r>>2]|0;i=v;return w|0}else if((g|0)==22){c[r>>2]=0;w=c[r>>2]|0;i=v;return w|0}return 0}function VE(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=33){if((c[d>>2]|0)==34){b[e>>1]=256;break}if((c[d>>2]|0)==29){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-37;break}}else b[e>>1]=1;while(0);i=f;return b[e>>1]|0}function WE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p+24|0;g=p+20|0;h=p+16|0;j=p+28|0;m=p+12|0;o=p+8|0;l=p+4|0;k=p;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;do if((c[(c[g>>2]|0)+12>>2]|0)>=(c[(c[g>>2]|0)+16>>2]|0)){c[l>>2]=c[(c[g>>2]|0)+20>>2];c[k>>2]=c[c[c[c[g>>2]>>2]>>2]>>2];f=Vw(c[k>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[g>>2]|0)+20>>2]=f;if(c[(c[g>>2]|0)+20>>2]|0){TR(c[(c[g>>2]|0)+20>>2]|0,c[l>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)*48|0)|0;if((c[l>>2]|0)!=((c[g>>2]|0)+24|0))Tf(c[k>>2]|0,c[l>>2]|0);f=((ku(c[k>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[g>>2]|0)+16>>2]=f;break}if((e[j>>1]|0)&1)iv(c[k>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+20>>2]=c[l>>2];c[n>>2]=0;o=c[n>>2]|0;i=p;return o|0}while(0);a=(c[g>>2]|0)+12|0;f=c[a>>2]|0;c[a>>2]=f+1;c[o>>2]=f;c[m>>2]=(c[(c[g>>2]|0)+20>>2]|0)+(f*48|0);if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+4>>2]&262144|0)!=0:0){f=c[(c[h>>2]|0)+28>>2]|0;f=((Mj(f,((f|0)<0)<<31>>31)|0)<<16>>16)-270&65535;b[(c[m>>2]|0)+8>>1]=f}else b[(c[m>>2]|0)+8>>1]=1;h=ky(c[h>>2]|0)|0;c[c[m>>2]>>2]=h;b[(c[m>>2]|0)+10>>1]=b[j>>1]|0;c[(c[m>>2]|0)+4>>2]=c[g>>2];c[(c[m>>2]|0)+16>>2]=-1;g=(c[m>>2]|0)+12|0;h=g+36|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(h|0));c[n>>2]=c[o>>2];o=c[n>>2]|0;i=p;return o|0}function XE(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=d;c[k>>2]=e;c[h>>2]=f;c[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+16>>2]=c[h>>2];b[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+8>>1]=b[(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+8>>1]|0;d=(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+14|0;a[d>>0]=(a[d>>0]|0)+1<<24>>24;i=g;return}function YE(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;j=p+16|0;k=p+12|0;g=p+25|0;h=p+24|0;l=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;if(e[(c[c[j>>2]>>2]|0)+64>>1]&512){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if((d[c[k>>2]>>0]|0)!=37?(d[c[k>>2]>>0]|0)!=29:0){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if(c[(c[k>>2]|0)+4>>2]&1){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}a[g>>0]=ey(c[(c[k>>2]|0)+12>>2]|0)|0;a[h>>0]=ey(c[(c[k>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}while(0);c[l>>2]=sB(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if((c[l>>2]|0)!=0?(ig(c[c[l>>2]>>2]|0,34834)|0)!=0:0){c[l>>2]=fy(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[n>>2]=g;c[l>>2]=fy(c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[o>>2]=g;c[m>>2]=(Td(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;i=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;i=p;return o|0}function ZE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;h=m+8|0;j=m+4|0;k=m+14|0;n=m+12|0;l=m;c[h>>2]=f;c[j>>2]=g;b[k>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[k>>1]|0)==(e[n>>1]|0)){if(b[k>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(fy(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[l>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[l>>2];if((d[c[j>>2]>>0]|0)<38){i=m;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-38^2)+38;i=m;return}function _E(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){i=g;return}a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;i=g;return}function $E(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;D=V+136|0;S=V+132|0;L=V+128|0;E=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;n=V+16|0;p=V+108|0;r=V+104|0;q=V+100|0;o=V+96|0;j=V+8|0;k=V;u=V+92|0;l=V+88|0;s=V+84|0;m=V+80|0;v=V+76|0;J=V+72|0;F=V+68|0;G=V+64|0;I=V+60|0;z=V+56|0;A=V+52|0;K=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;H=V+32|0;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[T>>2]=c[c[x>>2]>>2];c[R>>2]=c[c[T>>2]>>2];c[D>>2]=c[c[R>>2]>>2];c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);c[L>>2]=c[c[S>>2]>>2];g=sh(c[D>>2]|0,416,0)|0;c[t>>2]=g;c[(c[S>>2]|0)+28>>2]=g;if(!(c[t>>2]|0)){i=V;return}g=(c[S>>2]|0)+10|0;b[g>>1]=e[g>>1]|16;c[Q>>2]=c[t>>2];VR((c[Q>>2]|0)+24|0,0,384)|0;BD(c[Q>>2]|0,c[T>>2]|0);CD(c[Q>>2]|0,c[L>>2]|0,27);FD(c[w>>2]|0,c[Q>>2]|0);if(a[(c[D>>2]|0)+69>>0]|0){i=V;return}g=n;c[g>>2]=-1;c[g+4>>2]=-1;g=B;c[g>>2]=-1;c[g+4>>2]=-1;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){g=n;if(!((c[E>>2]|0)>=0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;do if(!(e[(c[P>>2]|0)+12>>1]&511)){g=B;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=Vw(c[D>>2]|0,408,0)|0;if(c[p>>2]|0){g=j;c[g>>2]=0;c[g+4>>2]=0;c[(c[P>>2]|0)+28>>2]=c[p>>2];g=(c[P>>2]|0)+10|0;b[g>>1]=e[g>>1]|32;b[(c[P>>2]|0)+12>>1]=1024;c[r>>2]=c[p>>2];VR((c[r>>2]|0)+24|0,0,384)|0;BD(c[r>>2]|0,c[c[x>>2]>>2]|0);CD(c[r>>2]|0,c[c[P>>2]>>2]|0,28);FD(c[w>>2]|0,c[r>>2]|0);c[(c[r>>2]|0)+4>>2]=c[x>>2];a:do if(!(a[(c[D>>2]|0)+69>>0]|0)){c[o>>2]=0;c[q>>2]=c[(c[r>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+12>>2]|0))break a;if(!((TE(d[c[c[q>>2]>>2]>>0]|0)|0)==0?(e[(c[q>>2]|0)+12>>1]|0)!=64:0)){h=OD((c[T>>2]|0)+488|0,c[(c[q>>2]|0)+20>>2]|0)|0;W=j;f=c[W+4>>2]|C;g=j;c[g>>2]=c[W>>2]|h;c[g+4>>2]=f}c[o>>2]=(c[o>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}}while(0);f=j;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g}}else if(!(e[(c[P>>2]|0)+10>>1]&8)){g=OD((c[T>>2]|0)+488|0,c[(c[P>>2]|0)+20>>2]|0)|0;W=k;c[W>>2]=g;c[W+4>>2]=C;if(e[(c[P>>2]|0)+10>>1]&2){c[u>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[(c[P>>2]|0)+16>>2]|0)*48|0);f=OD((c[T>>2]|0)+488|0,c[(c[u>>2]|0)+20>>2]|0)|0;h=k;g=c[h+4>>2]|C;W=k;c[W>>2]=c[h>>2]|f;c[W+4>>2]=g}f=k;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;if(!(e[(c[P>>2]|0)+12>>1]&2)){W=B;c[W>>2]=0;c[W+4>>2]=0;break}else{f=k;h=B;g=c[h+4>>2]&c[f+4>>2];W=B;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;break}}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}f=n;g=c[f+4>>2]|0;W=(c[t>>2]|0)+408|0;c[W>>2]=c[f>>2];c[W+4>>2]=g;W=n;b[(c[S>>2]|0)+12>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=n;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[Q>>2]|0)+12>>2]|0)==2:0){c[l>>2]=0;c:while(1){g=c[(c[Q>>2]|0)+20>>2]|0;W=c[l>>2]|0;c[l>>2]=W+1;W=hF(g,W)|0;c[s>>2]=W;if(!W)break b;c[m>>2]=0;while(1){g=(c[(c[Q>>2]|0)+20>>2]|0)+48|0;W=c[m>>2]|0;c[m>>2]=W+1;W=hF(g,W)|0;c[v>>2]=W;if(!W)continue c;iF(c[w>>2]|0,c[x>>2]|0,c[s>>2]|0,c[v>>2]|0)}}}while(0);W=B;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){i=V;return}c[J>>2]=0;c[F>>2]=-1;c[G>>2]=-1;c[I>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=2)break;if(!((c[J>>2]|0)!=0^1))break;c[P>>2]=c[(c[Q>>2]|0)+20>>2];c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;while(1){if((c[E>>2]|0)<0)break;W=(c[P>>2]|0)+10|0;b[W>>1]=e[W>>1]&-65;if((c[(c[P>>2]|0)+20>>2]|0)!=(c[G>>2]|0)?(W=B,v=c[W>>2]|0,W=c[W+4>>2]|0,g=OD((c[T>>2]|0)+488|0,c[(c[P>>2]|0)+20>>2]|0)|0,!((v&g|0)==0&(W&C|0)==0)):0){U=37;break}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}if((U|0)==37){U=0;c[F>>2]=c[(c[P>>2]|0)+28>>2];c[G>>2]=c[(c[P>>2]|0)+20>>2]}if((c[E>>2]|0)<0)break;c[J>>2]=1;while(1){if(!((c[E>>2]|0)>=0?(c[J>>2]|0)!=0:0))break;j=c[P>>2]|0;do if((c[(c[P>>2]|0)+20>>2]|0)!=(c[G>>2]|0)){W=j+10|0;b[W>>1]=e[W>>1]&-65}else{if((c[j+28>>2]|0)!=(c[F>>2]|0)){c[J>>2]=0;break}c[A>>2]=(ey(c[(c[c[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[z>>2]=(ey(c[(c[c[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[A>>2]|0)!=0?(c[A>>2]|0)!=(c[z>>2]|0):0){c[J>>2]=0;break}W=(c[P>>2]|0)+10|0;b[W>>1]=e[W>>1]|64}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[I>>2]=(c[I>>2]|0)+1}if(!(c[J>>2]|0)){i=V;return}c[N>>2]=0;c[M>>2]=0;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){if((c[E>>2]|0)<0)break;if(e[(c[P>>2]|0)+10>>1]&64){c[K>>2]=Iy(c[D>>2]|0,c[(c[c[P>>2]>>2]|0)+16>>2]|0,0)|0;c[N>>2]=Tv(c[c[T>>2]>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;c[M>>2]=c[(c[c[P>>2]>>2]|0)+12>>2]}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[K>>2]=Iy(c[D>>2]|0,c[M>>2]|0,0)|0;c[O>>2]=Ev(c[R>>2]|0,33,c[K>>2]|0,0,0)|0;if(c[O>>2]|0){_E(c[O>>2]|0,c[L>>2]|0);c[(c[O>>2]|0)+20>>2]=c[N>>2];c[H>>2]=WE(c[x>>2]|0,c[O>>2]|0,3)|0;SE(c[w>>2]|0,c[x>>2]|0,c[H>>2]|0);c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);XE(c[x>>2]|0,c[H>>2]|0,c[y>>2]|0)}else ev(c[D>>2]|0,c[N>>2]|0);b[(c[S>>2]|0)+12>>1]=4096;i=V;return}function aF(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+96|0;r=F+80|0;s=F+76|0;k=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;m=F+48|0;n=F+44|0;p=F+40|0;v=F+36|0;q=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;o=F+16|0;l=F+12|0;y=F+8|0;D=F+4|0;B=F;c[s>>2]=e;c[k>>2]=f;c[t>>2]=g;c[u>>2]=h;c[G>>2]=j;c[E>>2]=0;c[w>>2]=c[c[s>>2]>>2];c[A>>2]=0;if(!(dF(c[w>>2]|0,c[k>>2]|0,c[G>>2]|0,q)|0)){c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}c[n>>2]=c[(c[k>>2]|0)+20>>2];c[m>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+20>>2];if(((d[c[m>>2]>>0]|0)==152?((ey(c[m>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[m>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[z>>2]=ky(c[c[(c[n>>2]|0)+4>>2]>>2]|0)|0;c[x>>2]=d[c[z>>2]>>0];if((c[x>>2]|0)!=135){if((c[x>>2]|0)==97)c[E>>2]=c[(c[z>>2]|0)+8>>2]}else{c[o>>2]=c[(c[s>>2]|0)+432>>2];c[l>>2]=b[(c[z>>2]|0)+32>>1];c[A>>2]=eF(c[o>>2]|0,c[l>>2]|0,65)|0;if((c[A>>2]|0)!=0?(ee(c[A>>2]|0)|0)==3:0)c[E>>2]=$d(c[A>>2]|0)|0;fF(c[(c[s>>2]|0)+8>>2]|0,c[l>>2]|0)}do if(c[E>>2]|0){c[v>>2]=0;while(1){G=a[(c[E>>2]|0)+(c[v>>2]|0)>>0]|0;c[p>>2]=G;if(((G|0)!=0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)k=(c[p>>2]|0)!=(a[q+2>>0]|0);else k=0;l=c[v>>2]|0;if(!k)break;c[v>>2]=l+1}if((l|0)!=0?255!=(d[(c[E>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))k=(a[(c[E>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else k=0;c[c[u>>2]>>2]=k&1;c[y>>2]=Wv(c[w>>2]|0,97,c[E>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[y>>2];if((c[x>>2]|0)!=135)break;c[D>>2]=c[(c[s>>2]|0)+8>>2];fF(c[D>>2]|0,b[(c[z>>2]|0)+32>>1]|0);if(!(c[c[u>>2]>>2]|0))break;if(!(a[(c[(c[z>>2]|0)+8>>2]|0)+1>>0]|0))break;c[B>>2]=vx(c[s>>2]|0)|0;SA(c[s>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;G=c[D>>2]|0;gF(G,(wx(c[D>>2]|0)|0)-1|0,0);xx(c[s>>2]|0,c[B>>2]|0);break}c[E>>2]=0}while(0);c[C>>2]=(c[E>>2]|0)!=0&1;ch(c[A>>2]|0);c[r>>2]=c[C>>2];G=c[r>>2]|0;i=F;return G|0}c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}function bF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m+20|0;h=m+16|0;l=m+12|0;g=m+8|0;f=m+4|0;j=m;c[h>>2]=b;c[l>>2]=e;if((d[c[h>>2]>>0]|0|0)!=151){c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}c[g>>2]=c[(c[h>>2]|0)+20>>2];if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)==2:0){c[f>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];if((d[c[f>>2]>>0]|0|0)==152?((d[(c[(c[f>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=4){f=14;break}e=(ig(c[(c[h>>2]|0)+8>>2]|0,c[5444+(c[j>>2]<<3)>>2]|0)|0)==0;b=c[j>>2]|0;if(e){f=12;break}c[j>>2]=b+1}if((f|0)==12){a[c[l>>2]>>0]=a[5444+(b<<3)+4>>0]|0;c[k>>2]=1;l=c[k>>2]|0;i=m;return l|0}else if((f|0)==14){c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}}c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}function cF(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if((d[c[h>>2]>>0]|0|0)==119){c[k>>2]=Ev(c[g>>2]|0,159,0,0,0)|0;if(!(c[k>>2]|0)){e=c[k>>2]|0;i=l;return e|0}b[(c[k>>2]|0)+32>>1]=c[j>>2];c[(c[k>>2]|0)+12>>2]=c[h>>2];e=c[k>>2]|0;i=l;return e|0}else{if((d[c[h>>2]>>0]|0|0)==158)c[h>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[k>>2]=Iy(c[c[g>>2]>>2]|0,c[h>>2]|0,0)|0;e=c[k>>2]|0;i=l;return e|0}return 0}function dF(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[l>>2]>>0]|0|0)==151?(c[(c[l>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)==2:0){c[o>>2]=ki(c[k>>2]|0,c[(c[l>>2]|0)+8>>2]|0,2,1,0)|0;if((c[o>>2]|0)!=0?((e[(c[o>>2]|0)+2>>1]|0)&4|0)!=0:0){g=c[n>>2]|0;f=c[(c[o>>2]|0)+4>>2]|0;a[g>>0]=a[f>>0]|0;a[g+1>>0]=a[f+1>>0]|0;a[g+2>>0]=a[f+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[j>>2]=1;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}function eF(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=f;if((c[h>>2]|0)!=0?(c[l>>2]=(c[(c[h>>2]|0)+116>>2]|0)+(((c[j>>2]|0)-1|0)*40|0),0==((e[(c[l>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Zh(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){jh(c[m>>2]|0,c[l>>2]|0)|0;Fx(c[m>>2]|0,a[k>>0]|0,1)}c[g>>2]=c[m>>2];b=c[g>>2]|0;i=n;return b|0}c[g>>2]=0;b=c[g>>2]|0;i=n;return b|0}function fF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+196>>2]=-1;i=f;return}else{a=(c[d>>2]|0)+196|0;c[a>>2]=c[a>>2]|1<<(c[e>>2]|0)-1;i=f;return}}function gF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(eA(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;i=e;return}function hF(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[f>>2]|0)+12>>1]|0|0)!=1024){c[d>>2]=(b|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;i=h;return g|0}if((b|0)<(c[(c[(c[f>>2]|0)+28>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+28>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function iF(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;m=s+28|0;n=s+24|0;j=s+20|0;k=s+16|0;o=s+32|0;l=s+12|0;r=s+8|0;q=s+4|0;p=s;c[m>>2]=d;c[n>>2]=f;c[j>>2]=g;c[k>>2]=h;b[o>>1]=e[(c[j>>2]|0)+12>>1]|0|(e[(c[k>>2]|0)+12>>1]|0);if(!((e[(c[j>>2]|0)+12>>1]|0)&62)){i=s;return}if(!((e[(c[k>>2]|0)+12>>1]|0)&62)){i=s;return}if(((e[o>>1]|0)&26|0)!=(e[o>>1]|0|0)?((e[o>>1]|0)&38|0)!=(e[o>>1]|0|0):0){i=s;return}if(Ky(c[(c[c[j>>2]>>2]|0)+12>>2]|0,c[(c[c[k>>2]>>2]|0)+12>>2]|0,-1)|0){i=s;return}if(Ky(c[(c[c[j>>2]>>2]|0)+16>>2]|0,c[(c[c[k>>2]>>2]|0)+16>>2]|0,-1)|0){i=s;return}do if((e[o>>1]|0)&(e[o>>1]|0)-1)if((e[o>>1]|0)&24){b[o>>1]=8;break}else{b[o>>1]=32;break}while(0);c[l>>2]=c[c[c[c[n>>2]>>2]>>2]>>2];c[r>>2]=Iy(c[l>>2]|0,c[c[j>>2]>>2]|0,0)|0;if(!(c[r>>2]|0)){i=s;return}c[q>>2]=37;while(1){j=c[q>>2]|0;if((e[o>>1]|0|0)==(2<<(c[q>>2]|0)-37|0))break;c[q>>2]=j+1}a[c[r>>2]>>0]=j;c[p>>2]=WE(c[n>>2]|0,c[r>>2]|0,3)|0;SE(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0);i=s;return}function jF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;k=h+36|0;l=h+32|0;j=h+28|0;g=h;c[k>>2]=b;c[l>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=200;c[g+24>>2]=c[l>>2];wy(g,c[k>>2]|0)|0;if(c[j>>2]|0){l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}l=g+20|0;a[l>>0]=(d[l>>0]|0)&-3;l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}function kF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<4)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[m>>2]=Gh(a,30161,k)|0;c[j>>2]=1555;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;tA(h,k,l,m,-1,2);i=n;return}else{c[l>>2]=d;c[m>>2]=Gh(a,35219,l)|0;c[j>>2]=2579;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;tA(h,k,l,m,-1,2);i=n;return}}function lF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){d=c[f>>2]|0;if(!(c[g>>2]|0)){if(Yx(d)|0)d=1;else d=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[l>>2]=d&1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=c[d+16>>2];while(1){d=c[f>>2]|0;if(!(c[j>>2]|0))break;if(jD(d,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){k=9;break}c[j>>2]=c[(c[j>>2]|0)+4>>2]}if((k|0)==9){c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=Yx(d)|0;while(1){if(!(c[j>>2]|0))break a;if(mD(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[j>>2]=c[(c[j>>2]|0)+12>>2]}c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}while(0);c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}function mF(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;i=e;return}function nF(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+64|0;q=K+48|0;r=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;c[q>>2]=e;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;b[x>>1]=l;a[y>>0]=m;a[z>>0]=n;a[A>>0]=o;c[s>>2]=p;c[I>>2]=c[(c[q>>2]|0)+8>>2];c[E>>2]=0;c[D>>2]=Wz(c[I>>2]|0)|0;a[G>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?33:30;if(!(d[A>>0]|0))Ih(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;g=(lF(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(g|(c[t>>2]|0)!=0){c[F>>2]=pF(c[q>>2]|0,c[t>>2]|0,0,0,3,c[r>>2]|0,d[z>>0]|0)|0;g=qF(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|g;c[E>>2]=(c[(c[q>>2]|0)+44>>2]|0)+1;g=(c[q>>2]|0)+44|0;c[g>>2]=(c[g>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));ix(c[I>>2]|0,84,c[w>>2]|0,c[E>>2]|0)|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[C>>2]|0)<=31?(c[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;NA(c[I>>2]|0,c[r>>2]|0,c[u>>2]|0,c[C>>2]|0,(c[E>>2]|0)+(c[C>>2]|0)+1|0)}c[C>>2]=(c[C>>2]|0)+1}c[B>>2]=wx(c[I>>2]|0)|0;aD(c[q>>2]|0,c[t>>2]|0,109,0,1,c[r>>2]|0,c[E>>2]|0,d[z>>0]|0,c[D>>2]|0);J=c[B>>2]|0;if((J|0)<(wx(c[I>>2]|0)|0))Ih(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;fD(c[q>>2]|0,c[r>>2]|0,c[E>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;rF(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;aD(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;_z(I,J);i=K;return}a[H>>0]=0;oF(c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[v>>2]|0,0,c[s>>2]|0);ix(c[I>>2]|0,117,c[u>>2]|0,(d[y>>0]|0)!=0?1:0)|0;Mh(c[I>>2]|0,-1,c[r>>2]|0,-20);if(d[A>>0]|0)Jh(c[I>>2]|0,4);if((c[s>>2]|0)>=0)Sz(c[I>>2]|0,117,c[s>>2]|0)|0;if((d[A>>0]|0)==2)a[H>>0]=d[H>>0]|2;Jh(c[I>>2]|0,a[H>>0]|0);e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;rF(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;aD(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;_z(I,J);i=K;return}function oF(a,e,f,g,h,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;l=y+48|0;k=y+44|0;m=y+40|0;n=y+36|0;o=y+32|0;p=y+28|0;q=y+24|0;v=y+20|0;r=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;c[l>>2]=a;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[v>>2]=-1;c[u>>2]=0;c[w>>2]=c[(c[l>>2]|0)+8>>2];if(!((d[(c[k>>2]|0)+42>>0]|0)&32))h=0;else h=Jj(c[k>>2]|0)|0;c[t>>2]=h;c[q>>2]=0;c[s>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;if(!((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(c[s>>2]|0)!=(c[t>>2]|0)):0)?((c[n>>2]|0)+(c[q>>2]|0)|0)!=(c[p>>2]|0):0){c[v>>2]=oA(c[l>>2]|0,c[s>>2]|0,c[m>>2]|0,0,1,r,c[u>>2]|0,c[v>>2]|0)|0;h=c[s>>2]|0;if((d[(c[s>>2]|0)+55>>0]|0)>>>3&1)h=b[h+50>>1]|0;else h=b[h+52>>1]|0;jx(c[w>>2]|0,127,(c[n>>2]|0)+(c[q>>2]|0)|0,c[v>>2]|0,h&65535)|0;pA(c[l>>2]|0,c[r>>2]|0);c[u>>2]=c[s>>2]}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=c[(c[s>>2]|0)+20>>2]}i=y;return}function pF(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+40|0;v=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;r=u+12|0;q=u+8|0;s=u+4|0;t=u;c[k>>2]=a;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[r>>2]=(c[l>>2]|0)!=0?110:109;c[q>>2]=0;c[s>>2]=c[v>>2];while(1){if(!(c[s>>2]|0))break;if((((d[(c[s>>2]|0)+8>>0]|0|0)==(c[r>>2]|0)?(c[n>>2]&(d[(c[s>>2]|0)+9>>0]|0)|0)!=0:0)?(vG(c[(c[s>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)?(c[t>>2]=uF(c[k>>2]|0,c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[t>>2]|0)!=0):0)c[q>>2]=c[q>>2]|c[(c[t>>2]|0)+16+(c[m>>2]<<2)>>2];c[s>>2]=c[(c[s>>2]|0)+32>>2]}i=u;return c[q>>2]|0}function qF(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){l=c[j>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;if((c[(c[k>>2]|0)+36+(c[h>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[h>>2]<<3)>>2];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[k>>2]=Yx(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=0;BC(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,l,0)|0;a:do if(c[l>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break a;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}l=c[j>>2]|0;i=m;return l|0}function rF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if(!(c[(c[c[h>>2]>>2]|0)+24>>2]&524288)){i=r;return}c[p>>2]=Yx(c[j>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!((c[m>>2]|0)!=0?(mD(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0))q=6;if((q|0)==6?(q=0,c[o>>2]=sF(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0,c[k>>2]|0)|0,(c[o>>2]|0)!=0):0)tF(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[l>>2]|0,2,0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}i=r;return}function sF(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;j=N+136|0;k=N+132|0;l=N+128|0;m=N+124|0;n=N+120|0;q=N+116|0;o=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;p=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;r=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[c[k>>2]>>2];c[s>>2]=(c[n>>2]|0)!=0&1;c[o>>2]=d[(c[m>>2]|0)+25+(c[s>>2]|0)>>0];if((c[o>>2]|0)==6?(c[(c[q>>2]|0)+24>>2]&33554432|0)!=0:0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[D>>2]=c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2];if(!((c[o>>2]|0)==0|(c[D>>2]|0)!=0)){c[x>>2]=0;c[p>>2]=0;c[C>>2]=0;c[F>>2]=0;c[y>>2]=0;c[B>>2]=0;c[E>>2]=0;if(BC(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,x,p)|0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[J>>2]=c[1369];c[J+4>>2]=c[1370];c[I>>2]=c[1371];c[I+4>>2]=c[1372];if(c[p>>2]|0)h=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0;else h=c[(c[m>>2]|0)+36>>2]|0;c[t>>2]=h;if(c[x>>2]|0)h=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else h=b[(c[l>>2]|0)+32>>1]|0;Xy(K,c[(c[(c[l>>2]|0)+4>>2]|0)+(h<<16>>16<<4)>>2]|0);Xy(H,c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0);e=c[k>>2]|0;g=c[k>>2]|0;f=jw(c[q>>2]|0,55,J,0)|0;f=Ev(g,122,f,jw(c[q>>2]|0,55,K,0)|0,0)|0;c[w>>2]=Ev(e,37,f,jw(c[q>>2]|0,55,H,0)|0,0)|0;c[F>>2]=wz(c[q>>2]|0,c[F>>2]|0,c[w>>2]|0)|0;if(c[n>>2]|0){h=c[k>>2]|0;e=c[k>>2]|0;g=jw(c[q>>2]|0,55,J,0)|0;g=Ev(e,122,g,jw(c[q>>2]|0,55,K,0)|0,0)|0;e=c[k>>2]|0;f=jw(c[q>>2]|0,55,I,0)|0;c[w>>2]=Ev(h,29,g,Ev(e,122,f,jw(c[q>>2]|0,55,K,0)|0,0)|0,0)|0;c[E>>2]=wz(c[q>>2]|0,c[E>>2]|0,c[w>>2]|0)|0}if((c[o>>2]|0)!=6?(c[o>>2]|0)!=9|(c[n>>2]|0)!=0:0){do if((c[o>>2]|0)!=9){if((c[o>>2]|0)!=8){c[z>>2]=jw(c[q>>2]|0,101,0,0)|0;break}c[v>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+4>>2];h=c[q>>2]|0;if(c[v>>2]|0){c[z>>2]=Iy(h,c[v>>2]|0,0)|0;break}else{c[z>>2]=jw(h,101,0,0)|0;break}}else{e=c[k>>2]|0;f=jw(c[q>>2]|0,55,I,0)|0;c[z>>2]=Ev(e,122,f,jw(c[q>>2]|0,55,K,0)|0,0)|0}while(0);c[y>>2]=Tv(c[k>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;Uv(c[k>>2]|0,c[y>>2]|0,H,0)}c[r>>2]=(c[r>>2]|0)+1}Tf(c[q>>2]|0,c[p>>2]|0);c[L>>2]=c[c[c[m>>2]>>2]>>2];c[u>>2]=Jf(c[L>>2]|0)|0;if((c[o>>2]|0)==6){c[G>>2]=c[L>>2];c[G+4>>2]=c[u>>2];c[A>>2]=Wv(c[q>>2]|0,83,35189)|0;if(c[A>>2]|0)a[(c[A>>2]|0)+1>>0]=2;I=c[k>>2]|0;J=Tv(c[k>>2]|0,0,c[A>>2]|0)|0;K=_v(c[q>>2]|0,0,G,0)|0;c[B>>2]=Sv(I,J,K,c[F>>2]|0,0,0,0,0,0,0)|0;c[F>>2]=0}K=(c[q>>2]|0)+256|0;c[K>>2]=(c[K>>2]|0)+1;c[D>>2]=sh(c[q>>2]|0,72+(c[u>>2]|0)+1|0,0)|0;if((c[D>>2]|0)!=0?(K=(c[D>>2]|0)+36|0,c[(c[D>>2]|0)+28>>2]=K,c[C>>2]=K,c[(c[C>>2]|0)+12>>2]=(c[C>>2]|0)+36,TR(c[(c[C>>2]|0)+12>>2]|0,c[L>>2]|0,c[u>>2]|0)|0,L=Iy(c[q>>2]|0,c[F>>2]|0,1)|0,c[(c[C>>2]|0)+16>>2]=L,L=Qy(c[q>>2]|0,c[y>>2]|0,1)|0,c[(c[C>>2]|0)+20>>2]=L,L=_x(c[q>>2]|0,c[B>>2]|0,1)|0,c[(c[C>>2]|0)+8>>2]=L,(c[E>>2]|0)!=0):0){c[E>>2]=Ev(c[k>>2]|0,19,c[E>>2]|0,0,0)|0;L=Iy(c[q>>2]|0,c[E>>2]|0,1)|0;c[(c[D>>2]|0)+12>>2]=L}L=(c[q>>2]|0)+256|0;c[L>>2]=(c[L>>2]|0)+-1;iv(c[q>>2]|0,c[F>>2]|0);iv(c[q>>2]|0,c[E>>2]|0);ev(c[q>>2]|0,c[y>>2]|0);fv(c[q>>2]|0,c[B>>2]|0);if((d[(c[q>>2]|0)+69>>0]|0|0)==1){uG(c[q>>2]|0,c[D>>2]|0);c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}switch(c[o>>2]|0){case 6:{a[c[C>>2]>>0]=119;break}case 9:{if(c[n>>2]|0)M=41;else a[c[C>>2]>>0]=109;break}default:M=41}if((M|0)==41)a[c[C>>2]>>0]=110;c[(c[C>>2]|0)+4>>2]=c[D>>2];c[(c[D>>2]|0)+20>>2]=c[(c[l>>2]|0)+64>>2];c[(c[D>>2]|0)+24>>2]=c[(c[l>>2]|0)+64>>2];c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2]=c[D>>2];a[(c[D>>2]|0)+8>>0]=(c[n>>2]|0)!=0?110:109}c[j>>2]=c[D>>2];M=c[j>>2]|0;i=N;return M|0}function tF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;j=p+32|0;h=p+28|0;r=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=g;c[o>>2]=dx(c[j>>2]|0)|0;c[n>>2]=uF(c[j>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[n>>2]|0)){i=p;return}if(c[c[h>>2]>>2]|0)h=0==(c[(c[c[j>>2]>>2]|0)+24>>2]&262144|0);else h=0;c[m>>2]=h&1;e=c[o>>2]|0;k=c[k>>2]|0;q=c[l>>2]|0;l=(c[j>>2]|0)+44|0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;mx(e,64,k,q,r,c[(c[n>>2]|0)+8>>2]|0,-18)|0;Jh(c[o>>2]|0,c[m>>2]&255);i=p;return}function uF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)e=c[e+124>>2]|0;c[l>>2]=e;c[k>>2]=c[(c[l>>2]|0)+468>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[j>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}c[k>>2]=vF(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}function vF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+96|0;w=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;s=x+64|0;n=x+60|0;p=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;q=x+12|0;r=x+8|0;o=x+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=c[j>>2]|0;if(c[(c[j>>2]|0)+124>>2]|0)g=c[g+124>>2]|0;c[s>>2]=g;c[n>>2]=c[c[j>>2]>>2];c[t>>2]=0;c[q>>2]=0;c[o>>2]=0;c[p>>2]=sh(c[n>>2]|0,24,0)|0;if(!(c[p>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[(c[p>>2]|0)+4>>2]=c[(c[s>>2]|0)+468>>2];c[(c[s>>2]|0)+468>>2]=c[p>>2];e=sh(c[n>>2]|0,24,0)|0;c[q>>2]=e;c[(c[p>>2]|0)+8>>2]=e;if(!(c[q>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}wF(c[(c[s>>2]|0)+8>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=c[k>>2];c[(c[p>>2]|0)+12>>2]=c[m>>2];c[(c[p>>2]|0)+16>>2]=-1;c[(c[p>>2]|0)+16+4>>2]=-1;c[r>>2]=sh(c[n>>2]|0,480,0)|0;if(!(c[r>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[u>>2]=c[r>>2];c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+128>>2]=c[l>>2];c[(c[r>>2]|0)+124>>2]=c[s>>2];c[(c[r>>2]|0)+448>>2]=c[c[k>>2]>>2];a[(c[r>>2]|0)+148>>0]=a[(c[k>>2]|0)+8>>0]|0;c[(c[r>>2]|0)+136>>2]=c[(c[j>>2]|0)+136>>2];c[v>>2]=dx(c[r>>2]|0)|0;if(c[v>>2]|0){e=c[v>>2]|0;l=c[n>>2]|0;c[w>>2]=c[c[k>>2]>>2];Mh(e,-1,Gh(l,34884,w)|0,-1);if(c[(c[k>>2]|0)+12>>2]|0){c[t>>2]=Iy(c[n>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(0==(Ay(u,c[t>>2]|0)|0)?(d[(c[n>>2]|0)+69>>0]|0|0)==0:0){c[o>>2]=Wz(c[v>>2]|0)|0;iB(c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,16)}iv(c[n>>2]|0,c[t>>2]|0)}xF(c[r>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[m>>2]|0)|0;if(c[o>>2]|0)_z(c[v>>2]|0,c[o>>2]|0);fx(c[v>>2]|0,75)|0;yF(c[j>>2]|0,c[r>>2]|0);if(!(d[(c[n>>2]|0)+69>>0]|0)){w=zF(c[v>>2]|0,(c[q>>2]|0)+4|0,(c[s>>2]|0)+108|0)|0;c[c[q>>2]>>2]=w}c[(c[q>>2]|0)+8>>2]=c[(c[r>>2]|0)+44>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+40>>2];c[(c[q>>2]|0)+16>>2]=c[k>>2];c[(c[p>>2]|0)+16>>2]=c[(c[r>>2]|0)+140>>2];c[(c[p>>2]|0)+16+4>>2]=c[(c[r>>2]|0)+144>>2];cv(c[v>>2]|0)}Ph(c[r>>2]|0);Tf(c[n>>2]|0,c[r>>2]|0);c[h>>2]=c[p>>2];w=c[h>>2]|0;i=x;return w|0}function wF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+20>>2]=c[(c[e>>2]|0)+200>>2];c[(c[e>>2]|0)+200>>2]=c[f>>2];i=d;return}function xF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;g=o+52|0;p=o+48|0;h=o+44|0;l=o+40|0;n=o+36|0;j=o+32|0;m=o+8|0;k=o;c[g>>2]=b;c[p>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[p>>2];while(1){if(!(c[l>>2]|0))break;if((c[h>>2]|0)==10)f=a[(c[l>>2]|0)+1>>0]|0;else f=c[h>>2]&255;a[(c[g>>2]|0)+149>>0]=f;switch(d[c[l>>2]>>0]|0|0){case 110:{b=c[g>>2]|0;e=tG(c[g>>2]|0,c[l>>2]|0)|0;p=Qy(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0;ew(b,e,p,Iy(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0,d[(c[g>>2]|0)+149>>0]|0);break}case 108:{b=c[g>>2]|0;e=tG(c[g>>2]|0,c[l>>2]|0)|0;p=_x(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;gw(b,e,p,Iz(c[j>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0,d[(c[g>>2]|0)+149>>0]|0);break}case 109:{p=c[g>>2]|0;cw(p,tG(c[g>>2]|0,c[l>>2]|0)|0,Iy(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0);break}default:{c[k>>2]=_x(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;vB(m,4,0);Pv(c[g>>2]|0,c[k>>2]|0,m)|0;fv(c[j>>2]|0,c[k>>2]|0)}}if((d[c[l>>2]>>0]|0|0)!=119)fx(c[n>>2]|0,118)|0;c[l>>2]=c[(c[l>>2]|0)+28>>2]}i=o;return 0}function yF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+36>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[b+4>>2];c[(c[d>>2]|0)+36>>2]=c[(c[e>>2]|0)+36>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];i=f;return}else{Tf(c[b>>2]|0,c[(c[e>>2]|0)+4>>2]|0);i=f;return}}function zF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+88>>2];AF(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+136>>2];c[(c[g>>2]|0)+88>>2]=0;i=f;return c[e>>2]|0}function AF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;l=p+16|0;m=p+12|0;n=p+8|0;j=p+4|0;k=p;c[g>>2]=e;c[h>>2]=f;c[l>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[g>>2]|0)+12>>2];c[j>>2]=c[(c[n>>2]|0)+76>>2];f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129|128;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257;c[m>>2]=(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0);while(1){if((d[c[m>>2]>>0]|0|0)<=71){switch(d[c[m>>2]>>0]|0|0){case 2:{if(c[(c[m>>2]|0)+8>>2]|0){o=(c[g>>2]|0)+144|0;b[o>>1]=b[o>>1]&-129;o=6}else o=6;break}case 0:case 1:{o=6;break}case 9:case 10:case 8:{f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256;break}case 12:{if((c[(c[m>>2]|0)+8>>2]|0)>(c[l>>2]|0))c[l>>2]=c[(c[m>>2]|0)+8>>2];break}case 11:{c[k>>2]=c[(c[m>>2]|0)+-20+4>>2];if((c[k>>2]|0)>(c[l>>2]|0))c[l>>2]=c[k>>2];break}case 3:case 5:case 7:{c[(c[m>>2]|0)+16>>2]=201;a[(c[m>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[m>>2]|0)+16>>2]=202;a[(c[m>>2]|0)+1>>0]=-19;break}default:{}}if((o|0)==6){o=0;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256}if(((d[34898+(d[c[m>>2]>>0]|0)>>0]|0)&1|0)!=0?(c[(c[m>>2]|0)+8>>2]|0)<0:0)c[(c[m>>2]|0)+8>>2]=c[(c[j>>2]|0)+(-1-(c[(c[m>>2]|0)+8>>2]|0)<<2)>>2]}if((c[m>>2]|0)==(c[(c[g>>2]|0)+88>>2]|0))break;c[m>>2]=(c[m>>2]|0)+-20}Tf(c[c[g>>2]>>2]|0,c[(c[n>>2]|0)+76>>2]|0);c[(c[n>>2]|0)+76>>2]=0;c[(c[n>>2]|0)+72>>2]=0;c[c[h>>2]>>2]=c[l>>2];i=p;return}function BF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=f;c[k>>2]=g;b[(c[j>>2]|0)+16+18>>1]=0;f=(c[j>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[k>>2]>>2]=0;f=c[j>>2]|0;if((d[(c[j>>2]|0)+66>>0]|0)!=1){c[h>>2]=rG(f,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}c[l>>2]=c[(c[j>>2]|0)+120+(a[f+68>>0]<<2)>>2];f=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[l>>2]|0)+18>>1]|0)){l=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;c[h>>2]=rG(c[j>>2]|0,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}if(a[(c[l>>2]|0)+4>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}else{c[h>>2]=sG(c[j>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}return 0}function CF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[j>>2]=f;c[k>>2]=g;c[c[k>>2]>>2]=0;g=(c[j>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[j>>2]|0)+16+18>>1]=0;if(((d[(c[j>>2]|0)+66>>0]|0)==1?(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(d[(c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;c[h>>2]=0;g=c[h>>2]|0;i=l;return g|0}c[h>>2]=DF(c[j>>2]|0,c[k>>2]|0)|0;g=c[h>>2]|0;i=l;return g|0}function DF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;h=p;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+66>>0]|0)!=1){if((d[(c[k>>2]|0)+66>>0]|0)>=3)f=EF(c[k>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}if(!(d[(c[k>>2]|0)+66>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}if((c[(c[k>>2]|0)+60>>2]|0)!=0?(a[(c[k>>2]|0)+66>>0]=1,g=(c[(c[k>>2]|0)+60>>2]|0)<0,c[(c[k>>2]|0)+60>>2]=0,g):0){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];do if(a[(c[m>>2]|0)+4>>0]|0){while(1){f=a[(c[k>>2]|0)+68>>0]|0;if(e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[k>>2]|0;if(!f){o=17;break}HF(g)}if((o|0)==17){a[g+66>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}o=(c[k>>2]|0)+80+(f<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];if((d[(c[m>>2]|0)+2>>0]|0)!=0?(a[(c[m>>2]|0)+4>>0]|0)==0:0){c[n>>2]=CF(c[k>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[h>>2]=e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1];o=c[k>>2]|0;c[n>>2]=FF(o,gr((c[(c[m>>2]|0)+56>>2]|0)+(e[(c[m>>2]|0)+20>>1]&(d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=GF(c[k>>2]|0)|0;break}c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}while(0);c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}function EF(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;i=j;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=LF(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(Kd(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],(c[(c[f>>2]|0)+60>>2]|0)!=0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;i=j;return h|0}function FF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=Qj(63009)|0;e=c[g>>2]|0;i=l;return e|0}else{b[(c[h>>2]|0)+16+18>>1]=0;e=(c[h>>2]|0)+64|0;a[e>>0]=d[e>>0]&-7;e=(c[h>>2]|0)+68|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=IF(c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;e=c[g>>2]|0;i=l;return e|0}return 0}function GF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;h=n;c[l>>2]=f;c[m>>2]=0;c[h>>2]=0;while(1){f=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=f;g=c[h>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[j>>2]=gr((c[(c[h>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0;b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=b[(c[h>>2]|0)+18>>1]|0;c[m>>2]=FF(c[l>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[k>>2]=c[m>>2];m=c[k>>2]|0;i=n;return m|0}else if((f|0)==5){b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function HF(e){e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;c[g>>2]=e;b[(c[g>>2]|0)+16+18>>1]=0;h=(c[g>>2]|0)+64|0;a[h>>0]=(d[h>>0]|0)&-7;h=(c[g>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;SB(c[(c[g>>2]|0)+120+(e<<24>>24<<2)>>2]|0);i=f;return}function IF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;q=s;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;g=c[m>>2]|0;a:do if(g>>>0<=(JF(c[l>>2]|0)|0)>>>0){c[r>>2]=vg(c[c[l>>2]>>2]|0,c[m>>2]|0,q,c[p>>2]|0)|0;if(!(c[r>>2]|0)){g=Ut(c[q>>2]|0)|0;c[c[n>>2]>>2]=g;if((d[c[c[n>>2]>>2]>>0]|0|0)==0?(KF(c[q>>2]|0,c[m>>2]|0,c[l>>2]|0)|0,c[r>>2]=Wt(c[c[n>>2]>>2]|0)|0,(c[r>>2]|0)!=0):0){QB(c[c[n>>2]>>2]|0);break}do if(c[o>>2]|0){if((e[(c[c[n>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[n>>2]>>2]|0)+2>>0]|0|0)==(d[(c[o>>2]|0)+69>>0]|0|0):0)break;c[r>>2]=Qj(60266)|0;QB(c[c[n>>2]>>2]|0);break a}while(0);c[k>>2]=0;r=c[k>>2]|0;i=s;return r|0}}else c[r>>2]=Qj(60244)|0;while(0);if(c[o>>2]|0){g=(c[o>>2]|0)+68|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}c[k>>2]=c[r>>2];r=c[k>>2]|0;i=s;return r|0}function JF(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function KF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=Ut(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[j>>2]|0)+84>>2]|0)){d=c[j>>2]|0;i=k;return d|0}d=wg(c[f>>2]|0)|0;c[(c[j>>2]|0)+56>>2]=d;c[(c[j>>2]|0)+72>>2]=c[f>>2];c[(c[j>>2]|0)+52>>2]=c[h>>2];c[(c[j>>2]|0)+84>>2]=c[g>>2];a[(c[j>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;d=c[j>>2]|0;i=k;return d|0}function LF(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+432|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s;n=s+24|0;o=s+20|0;r=s+16|0;q=s+12|0;p=s+8|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;if(c[l>>2]|0){c[q>>2]=MF(c[(c[k>>2]|0)+72>>2]|0,s+40|0,384,p)|0;if(!(c[q>>2]|0)){c[j>>2]=7;r=c[j>>2]|0;i=s;return r|0}NF(c[(c[k>>2]|0)+72>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);if(!(e[(c[q>>2]|0)+8>>1]|0)){Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=Qj(59021)|0;r=c[j>>2]|0;i=s;return r|0}}else c[q>>2]=0;h=m;c[r>>2]=OF(c[k>>2]|0,c[q>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=c[r>>2];r=c[j>>2]|0;i=s;return r|0}function MF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[k>>2]=d;c[q>>2]=f;c[l>>2]=g;c[n>>2]=8-(c[k>>2]&7)&7;c[m>>2]=16+(((e[(c[j>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[m>>2]|0)>((c[q>>2]|0)+(c[n>>2]|0)|0)){q=c[m>>2]|0;c[o>>2]=Ch(c[(c[j>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[l>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}}else{c[o>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[c[l>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[j>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[j>>2]|0)+6>>1]|0)+1;c[h>>2]=c[o>>2];q=c[h>>2]|0;i=p;return q|0}function NF(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+36|0;l=u+32|0;v=u+28|0;s=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;t=u+40|0;r=u+8|0;p=u+4|0;q=u;c[k>>2]=f;c[l>>2]=g;c[v>>2]=h;c[s>>2]=j;c[m>>2]=c[v>>2];c[p>>2]=c[(c[s>>2]|0)+4>>2];a[(c[s>>2]|0)+10>>0]=0;g=c[m>>2]|0;if((d[c[m>>2]>>0]|0|0)<128){c[r>>2]=d[g>>0];g=1}else g=(bG(g,r)|0)&255;c[o>>2]=g&255;c[n>>2]=c[r>>2];b[t>>1]=0;while(1){if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){g=11;break}if((c[n>>2]|0)>(c[l>>2]|0)){g=11;break}g=(c[m>>2]|0)+(c[o>>2]|0)|0;if((d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0|0)<128){c[q>>2]=d[g>>0];g=1}else g=(bG(g,q)|0)&255;c[o>>2]=(c[o>>2]|0)+(g&255);a[(c[p>>2]|0)+10>>0]=a[(c[k>>2]|0)+4>>0]|0;c[(c[p>>2]|0)+32>>2]=c[(c[k>>2]|0)+12>>2];c[(c[p>>2]|0)+24>>2]=0;c[(c[p>>2]|0)+16>>2]=0;v=dG((c[m>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+v;c[p>>2]=(c[p>>2]|0)+40;v=(b[t>>1]|0)+1<<16>>16;b[t>>1]=v;if((v&65535|0)>=(e[(c[s>>2]|0)+8>>1]|0|0)){g=11;break}}if((g|0)==11){b[(c[s>>2]|0)+8>>1]=b[t>>1]|0;i=u;return}}function OF(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+96|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+8|0;q=F+68|0;r=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;if(((c[o>>2]|0)==0?(d[(c[n>>2]|0)+66>>0]|0)==1:0)?(d[(c[n>>2]|0)+64>>0]&2|0)!=0:0){g=(c[n>>2]|0)+16|0;l=p;if((c[g>>2]|0)==(c[l>>2]|0)?(c[g+4>>2]|0)==(c[l+4>>2]|0):0){c[c[r>>2]>>2]=0;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}if((d[(c[n>>2]|0)+64>>0]&8|0)!=0?(g=(c[n>>2]|0)+16|0,k=c[g+4>>2]|0,l=p,f=c[l+4>>2]|0,(k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)):0){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}}if(c[o>>2]|0){c[E>>2]=PF(c[o>>2]|0)|0;a[(c[o>>2]|0)+11>>0]=0}else c[E>>2]=0;c[C>>2]=QF(c[n>>2]|0)|0;if(c[C>>2]|0){c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}if(!(d[(c[n>>2]|0)+66>>0]|0)){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}a:do{c[B>>2]=c[(c[n>>2]|0)+120+(a[(c[n>>2]|0)+68>>0]<<2)>>2];c[v>>2]=0;c[D>>2]=(e[(c[B>>2]|0)+18>>1]|0)-1;c[u>>2]=c[D>>2]>>1-(c[q>>2]|0);b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];b:do if(!(c[E>>2]|0)){while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c:do if(a[(c[B>>2]|0)+3>>0]|0)while(1){l=c[y>>2]|0;c[y>>2]=l+1;if(128>(d[l>>0]|0))break c;if((c[y>>2]|0)>>>0>=(c[(c[B>>2]|0)+60>>2]|0)>>>0){j=20;break a}}while(0);cu(c[y>>2]|0,x)|0;g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if((k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[D>>2]|0)){j=23;break}}else{g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if(!((k|0)>(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0:0))){j=27;break}c[D>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[D>>2]|0)){j=26;break}}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}if((j|0)==23){c[s>>2]=-1;j=51;break}else if((j|0)==26){c[s>>2]=1;j=51;break}else if((j|0)==27){j=0;f=(c[n>>2]|0)+64|0;a[f>>0]=d[f>>0]|2;f=x;g=c[f+4>>2]|0;l=(c[n>>2]|0)+16|0;c[l>>2]=c[f>>2];c[l+4>>2]=g;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+4>>0]|0){j=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c[w>>2]=d[c[y>>2]>>0];do if((c[w>>2]|0)<=(d[(c[B>>2]|0)+7>>0]|0))c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+1|0,c[o>>2]|0)|0;else{if((d[(c[y>>2]|0)+1>>0]&128|0)==0?(l=((c[w>>2]&127)<<7)+(d[(c[y>>2]|0)+1>>0]|0)|0,c[w>>2]=l,(l|0)<=(e[(c[B>>2]|0)+10>>1]|0)):0){c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+2|0,c[o>>2]|0)|0;break}c[z>>2]=(c[y>>2]|0)+(0-(d[(c[B>>2]|0)+6>>0]|0));Ub[c[(c[B>>2]|0)+80>>2]&255](c[B>>2]|0,c[z>>2]|0,(c[n>>2]|0)+16|0);c[w>>2]=c[(c[n>>2]|0)+16>>2];if((c[w>>2]|0)<2){j=37;break a}l=(c[w>>2]|0)+18|0;c[A>>2]=$f(l,((l|0)<0)<<31>>31)|0;if(!(c[A>>2]|0)){j=39;break a}b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[C>>2]=RF(c[n>>2]|0,0,c[w>>2]|0,c[A>>2]|0,2)|0;if(c[C>>2]|0){j=41;break a}c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;Kd(c[A>>2]|0)}while(0);if((c[s>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[s>>2]|0)<=0){j=47;break a}c[D>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[D>>2]|0)){j=51;break b}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}while(0);if((j|0)==51?(j=0,(a[(c[B>>2]|0)+4>>0]|0)!=0):0){j=52;break}h=c[B>>2]|0;if((c[v>>2]|0)>=(e[(c[B>>2]|0)+18>>1]|0))c[t>>2]=gr((c[(c[B>>2]|0)+56>>2]|0)+((d[h+5>>0]|0)+8)|0)|0;else c[t>>2]=gr((c[h+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[v>>2];c[C>>2]=FF(c[n>>2]|0,c[t>>2]|0)|0}while((c[C>>2]|0)==0);if((j|0)==20){c[m>>2]=Qj(63387)|0;E=c[m>>2]|0;i=F;return E|0}else if((j|0)==29){c[c[r>>2]>>2]=0;c[C>>2]=0}else if((j|0)==37)c[C>>2]=Qj(63460)|0;else if((j|0)==39)c[C>>2]=7;else if((j|0)==41)Kd(c[A>>2]|0);else if((j|0)==47){c[c[r>>2]>>2]=0;c[C>>2]=0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[o>>2]|0)+11>>0]|0)c[C>>2]=11}else if((j|0)==52){b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[c[r>>2]>>2]=c[s>>2];c[C>>2]=0}b[(c[n>>2]|0)+16+18>>1]=0;E=(c[n>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}function PF(b){b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=b;if(((e[(c[c[f>>2]>>2]|0)+6>>1]|0)+(e[(c[c[f>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[f>>2]|0)+4>>2]|0)+8>>1];b=(c[f>>2]|0)+12|0;if(a[c[(c[c[f>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;a[(c[f>>2]|0)+13>>0]=-1}else{a[b>>0]=-1;a[(c[f>>2]|0)+13>>0]=1}if(c[g>>2]&4){c[d>>2]=160;g=c[d>>2]|0;i=h;return g|0}if((c[g>>2]&25|0)==0?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=161;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=162;g=c[d>>2]|0;i=h;return g|0}function QF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=f;c[k>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){PB(f);break}c[g>>2]=c[f+60>>2];l=c[g>>2]|0;i=m;return l|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+68|0;f=a[n>>0]|0;a[n>>0]=f+-1<<24>>24;SB(c[(c[h>>2]|0)+120+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=m;return n|0}c[k>>2]=IF(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[k>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}while(0);c[j>>2]=c[(c[h>>2]|0)+120>>2];if((d[c[j>>2]>>0]|0)!=0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[j>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;n=(c[h>>2]|0)+64|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[j>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[j>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[j>>2]|0)+84>>2]|0)==1){c[l>>2]=gr((c[(c[j>>2]|0)+56>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[k>>2]=FF(c[h>>2]|0,c[l>>2]|0)|0;break}c[g>>2]=Qj(63147)|0;n=c[g>>2]|0;i=m;return n|0}while(0);c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}c[g>>2]=Qj(63136)|0;n=c[g>>2]|0;i=m;return n|0}function RF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+80|0;k=C+68|0;l=C+64|0;m=C+60|0;n=C+56|0;o=C+52|0;p=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;q=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;r=C+4|0;z=C;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[B>>2]=0;c[u>>2]=0;c[A>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];SF(c[l>>2]|0);c[t>>2]=c[(c[l>>2]|0)+16+8>>2];if(((c[t>>2]|0)-(c[(c[A>>2]|0)+56>>2]|0)|0)>>>0>((c[(c[y>>2]|0)+36>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)|0)>>>0){c[k>>2]=Qj(62723)|0;B=c[k>>2]|0;i=C;return B|0}if((c[m>>2]|0)>>>0<(e[(c[l>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[n>>2];if(((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0>(e[(c[l>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[l>>2]|0)+16+16>>1]|0)-(c[m>>2]|0);c[B>>2]=TF((c[t>>2]|0)+(c[m>>2]|0)|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]&1,c[(c[A>>2]|0)+72>>2]|0)|0;c[m>>2]=0;c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}else c[m>>2]=(c[m>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0);a:do if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[x>>2]=(c[(c[y>>2]|0)+36>>2]|0)-4;c[w>>2]=gr((c[t>>2]|0)+(e[(c[l>>2]|0)+16+16>>1]|0)|0)|0;if((c[p>>2]|0)!=2?(d[(c[l>>2]|0)+64>>0]&4|0)==0:0){c[v>>2]=(((c[(c[l>>2]|0)+16+12>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)+(c[x>>2]|0)-1|0)>>>0)/((c[x>>2]|0)>>>0)|0;do if((c[v>>2]|0)>(c[(c[l>>2]|0)+56>>2]|0)){c[s>>2]=cg(c[(c[l>>2]|0)+12>>2]|0,c[v>>2]<<1<<2,0)|0;if(!(c[s>>2]|0)){c[B>>2]=7;break}else{c[(c[l>>2]|0)+56>>2]=c[v>>2]<<1;c[(c[l>>2]|0)+12>>2]=c[s>>2];break}}while(0);if(!(c[B>>2]|0)){VR(c[(c[l>>2]|0)+12>>2]|0,0,c[v>>2]<<2|0)|0;A=(c[l>>2]|0)+64|0;a[A>>0]=d[A>>0]|4}}if((d[(c[l>>2]|0)+64>>0]&4|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+((((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[u>>2]=((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0;c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2];c[m>>2]=((c[m>>2]|0)>>>0)%((c[x>>2]|0)>>>0)|0}while(1){if(!((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0&(c[w>>2]|0)!=0))break a;if(d[(c[l>>2]|0)+64>>0]&4)c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]=c[w>>2];if((c[m>>2]|0)>>>0>=(c[x>>2]|0)>>>0){if(c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0)c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2];else c[B>>2]=UF(c[y>>2]|0,c[w>>2]|0,0,w)|0;c[m>>2]=(c[m>>2]|0)-(c[x>>2]|0)}else{c[r>>2]=c[n>>2];if(((c[r>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0)c[r>>2]=(c[x>>2]|0)-(c[m>>2]|0);c[B>>2]=vg(c[c[y>>2]>>2]|0,c[w>>2]|0,z,(c[p>>2]&1|0)==0?2:0)|0;if(!(c[B>>2]|0)){c[t>>2]=wg(c[z>>2]|0)|0;c[w>>2]=gr(c[t>>2]|0)|0;c[B>>2]=TF((c[t>>2]|0)+((c[m>>2]|0)+4)|0,c[o>>2]|0,c[r>>2]|0,c[p>>2]&1,c[z>>2]|0)|0;yg(c[z>>2]|0);c[m>>2]=0}c[n>>2]=(c[n>>2]|0)-(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[u>>2]=(c[u>>2]|0)+1}}while(0);if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[k>>2]=Qj(62880)|0;B=c[k>>2]|0;i=C;return B|0}else{c[k>>2]=c[B>>2];B=c[k>>2]|0;i=C;return B|0}return 0}function SF(b){b=b|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){i=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;YF(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);i=h;return}function TF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[o>>2]=e;c[l>>2]=f;do if(c[o>>2]|0){c[m>>2]=Gg(c[l>>2]|0)|0;if(!(c[m>>2]|0)){TR(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=n;return o|0}else TR(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;while(0);c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}function UF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;q=s+24|0;k=s+20|0;n=s+16|0;o=s+12|0;r=s+8|0;p=s+4|0;m=s;l=s+36|0;c[h>>2]=b;c[j>>2]=e;c[q>>2]=f;c[k>>2]=g;c[n>>2]=0;c[o>>2]=0;c[r>>2]=0;if(a[(c[h>>2]|0)+17>>0]|0){c[m>>2]=(c[j>>2]|0)+1;while(1){f=VF(c[h>>2]|0,c[m>>2]|0)|0;if((f|0)==(c[m>>2]|0))b=1;else b=(c[m>>2]|0)==((((c[384]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}if(((e>>>0<=(JF(c[h>>2]|0)|0)>>>0?(c[r>>2]=WF(c[h>>2]|0,c[m>>2]|0,l,p)|0,(c[r>>2]|0)==0):0)?(d[l>>0]|0)==4:0)?(c[p>>2]|0)==(c[j>>2]|0):0){c[n>>2]=c[m>>2];c[r>>2]=101}}if((c[r>>2]|0)==0?(c[r>>2]=XF(c[h>>2]|0,c[j>>2]|0,o,(c[q>>2]|0)==0?2:0)|0,(c[r>>2]|0)==0):0)c[n>>2]=gr(c[(c[o>>2]|0)+56>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];e=c[o>>2]|0;if(c[q>>2]|0){c[c[q>>2]>>2]=e;q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}else{QB(e);q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}return 0}function VF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[h>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[g>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[j>>2]=(_(c[g>>2]|0,c[h>>2]|0)|0)+2;if((c[j>>2]|0)==((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[j>>2]=(c[j>>2]|0)+1;c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}function WF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;h=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;o=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[s>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=VF(c[s>>2]|0,c[j>>2]|0)|0;c[q>>2]=vg(c[c[s>>2]>>2]|0,c[m>>2]|0,o,0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=r;return s|0}c[p>>2]=wg(c[o>>2]|0)|0;c[n>>2]=((c[j>>2]|0)-(c[m>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){yg(c[o>>2]|0);c[h>>2]=Qj(59240)|0;s=c[h>>2]|0;i=r;return s|0}a[c[k>>2]>>0]=a[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[l>>2]|0){s=gr((c[p>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[l>>2]>>2]=s}yg(c[o>>2]|0);if((d[c[k>>2]>>0]|0|0)>=1?(d[c[k>>2]>>0]|0|0)<=5:0){c[h>>2]=0;s=c[h>>2]|0;i=r;return s|0}c[h>>2]=Qj(59248)|0;s=c[h>>2]|0;i=r;return s|0}function XF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;n=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=e;c[l>>2]=vg(c[c[g>>2]>>2]|0,c[h>>2]|0,k,c[n>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}else{n=KF(c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[c[j>>2]>>2]=n;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}return 0}function YF(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function ZF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;h=s+36|0;t=s+32|0;r=s+28|0;m=s+24|0;l=s+16|0;k=s+8|0;j=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];do switch(c[t>>2]|0){case 1:{m=a[c[h>>2]>>0]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[m>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];m=c[m>>2]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=RR(d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0]|0,0,aS(0,1,m|0,((m|0)<0)<<31>>31|0)|0,C|0)|0;c[t+4>>2]=C;break}case 6:{t=l;c[t>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[t+4>>2]=0;t=c[l>>2]|0;m=l;c[m>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[m+4>>2]=t;m=c[l+4>>2]|0;t=j;c[t>>2]=c[l>>2];c[t+4>>2]=m;break}case 8:{t=j;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=j;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=$F(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}default:{c[n>>2]=$F(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}}while(0);t=c[(c[q>>2]|0)+4>>2]|0;g=c[t+4>>2]|0;m=k;c[m>>2]=c[t>>2];c[m+4>>2]=g;m=k;g=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;do if(!((g|0)>(l|0)|((g|0)==(l|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=k;k=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;h=c[q>>2]|0;if((k|0)<(l|0)|((k|0)==(l|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[h+13>>0];break}if((e[h+8>>1]|0)>1){c[r>>2]=aG(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;i=s;return t|0}function _F(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s+36|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;h=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[k>>2];b=(c[m>>2]|0)+1|0;if((d[(c[m>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else bG(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[l>>2]|0)+13>>0];break}c[p>>2]=d[c[m>>2]>>0];c[o>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[j>>2]|0)){r=(Qj(74742)|0)&255;a[(c[l>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;i=s;return r|0}if((c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0)<(c[o>>2]|0))b=c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[o>>2]|0;c[n>>2]=b;c[r>>2]=eR((c[m>>2]|0)+(c[p>>2]|0)|0,c[(c[(c[l>>2]|0)+4>>2]|0)+16>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[o>>2]|0)-(c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[l>>2]|0)+8>>1]|0)>1){c[r>>2]=aG(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,1)|0;break}else{c[r>>2]=a[(c[l>>2]|0)+10>>0];a[(c[l>>2]|0)+14>>0]=1;break}else{b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[l>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function $F(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=aG(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function aG(f,g,j,k){f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+128|0;A=F+124|0;m=F+120|0;H=F+116|0;B=F+112|0;G=F+108|0;o=F+104|0;p=F+100|0;z=F+96|0;q=F+92|0;E=F+88|0;w=F+84|0;D=F+80|0;n=F+76|0;s=F+16|0;l=F+72|0;y=F+68|0;r=F+8|0;x=F;t=F+64|0;v=F+60|0;u=F+56|0;c[m>>2]=f;c[H>>2]=g;c[B>>2]=j;c[G>>2]=k;c[E>>2]=0;c[w>>2]=c[(c[B>>2]|0)+4>>2];c[D>>2]=c[c[B>>2]>>2];c[n>>2]=c[H>>2];f=c[n>>2]|0;do if(c[G>>2]|0){k=(c[n>>2]|0)+1|0;if((d[f+1>>0]|0)<128){c[l>>2]=d[k>>0];k=1}else k=(bG(k,l)|0)&255;c[q>>2]=1+(k&255);c[z>>2]=d[c[n>>2]>>0];H=c[z>>2]|0;c[o>>2]=H+(cG(c[l>>2]|0)|0);c[p>>2]=1;c[w>>2]=(c[w>>2]|0)+40}else{k=c[n>>2]|0;if((d[f>>0]|0)<128){c[z>>2]=d[k>>0];k=1}else k=(bG(k,z)|0)&255;c[q>>2]=k&255;c[o>>2]=c[z>>2];if((c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[p>>2]=0;break}H=(Qj(74452)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}while(0);a:while(1){do if(e[(c[w>>2]|0)+8>>1]&4){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}if((c[y>>2]|0)==7){dG((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;H=c[w>>2]|0;c[E>>2]=0-(eG(c[H>>2]|0,c[H+4>>2]|0,+h[s>>3])|0);break}j=fG(c[y>>2]|0,(c[n>>2]|0)+(c[o>>2]|0)|0)|0;H=r;c[H>>2]=j;c[H+4>>2]=C;H=c[w>>2]|0;j=c[H+4>>2]|0;G=x;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)<(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[E>>2]=-1;break}G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)>(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[E>>2]=1}else{if(e[(c[w>>2]|0)+8>>1]&8){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}dG((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;if((c[y>>2]|0)!=7){H=s;c[E>>2]=eG(c[H>>2]|0,c[H+4>>2]|0,+h[c[w>>2]>>3])|0;break}if(+h[s>>3]<+h[c[w>>2]>>3]){c[E>>2]=-1;break}if(!(+h[s>>3]>+h[c[w>>2]>>3]))break;c[E>>2]=1;break}if(e[(c[w>>2]|0)+8>>1]&2){k=(c[n>>2]|0)+(c[q>>2]|0)|0;if((d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0)<128)c[y>>2]=d[k>>0];else bG(k,y)|0;if((c[y>>2]|0)>>>0<12){c[E>>2]=-1;break}if(!(c[y>>2]&1)){c[E>>2]=1;break}c[s+12>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[s+12>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=43;break a}if(c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0){a[s+10>>0]=a[(c[D>>2]|0)+4>>0]|0;c[s+32>>2]=c[(c[D>>2]|0)+12>>2];b[s+8>>1]=2;c[s+16>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[E>>2]=gG(s,c[w>>2]|0,c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0,(c[B>>2]|0)+11|0)|0;break}if((c[s+12>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[s+12>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[t>>2]=k;c[E>>2]=eR((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[t>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[s+12>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}k=d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0;if(!(e[(c[w>>2]|0)+8>>1]&16)){c[y>>2]=k;c[E>>2]=(c[y>>2]|0)!=0&1;break}f=(c[n>>2]|0)+(c[q>>2]|0)|0;if((k|0)<128)c[y>>2]=d[f>>0];else bG(f,y)|0;if((c[y>>2]|0)>>>0>=12?(c[y>>2]&1|0)==0:0){c[v>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=59;break a}if(e[(c[w>>2]|0)+8>>1]&16384)if(hG((c[n>>2]|0)+(c[o>>2]|0)|0,c[v>>2]|0)|0){c[E>>2]=(c[v>>2]|0)-(c[c[w>>2]>>2]|0);break}else{c[E>>2]=1;break}if((c[v>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[v>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[u>>2]=k;c[E>>2]=eR((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[v>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}c[E>>2]=-1}while(0);f=c[p>>2]|0;if(c[E>>2]|0){k=71;break}c[p>>2]=f+1;c[w>>2]=(c[w>>2]|0)+40;H=cG(c[y>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+H;H=iG(c[y>>2]|0,0)|0;c[q>>2]=(c[q>>2]|0)+H;if((c[q>>2]|0)>>>0>=(c[z>>2]|0)>>>0){k=77;break}if((c[p>>2]|0)>=(e[(c[B>>2]|0)+8>>1]|0)){k=77;break}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){k=77;break}}if((k|0)==43){H=(Qj(74527)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==59){H=(Qj(74557)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==71){if(a[(c[(c[D>>2]|0)+16>>2]|0)+f>>0]|0)c[E>>2]=0-(c[E>>2]|0);c[A>>2]=c[E>>2];H=c[A>>2]|0;i=F;return H|0}else if((k|0)==77){a[(c[B>>2]|0)+14>>0]=1;c[A>>2]=a[(c[B>>2]|0)+10>>0];H=c[A>>2]|0;i=F;return H|0}return 0}function bG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+25|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n;l=n+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=2;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=3;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[l>>0]=cu(c[g>>2]|0,m)|0;e=m;if(0!=(c[e+4>>2]|0)?1:(c[m>>2]|0)!=(c[e>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[f>>0]=a[l>>0]|0;m=a[f>>0]|0;i=n;return m|0}function cG(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=d[35061+a>>0];f=c[b>>2]|0;i=e;return f|0}return 0}function dG(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;switch(c[k>>2]|0){case 0:case 11:case 10:{b[(c[l>>2]|0)+8>>1]=1;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}case 1:{g=a[c[j>>2]>>0]|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=1;f=c[h>>2]|0;i=m;return f|0}case 2:{g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=2;f=c[h>>2]|0;i=m;return f|0}case 3:{g=a[c[j>>2]>>0]<<16|d[(c[j>>2]|0)+1>>0]<<8|d[(c[j>>2]|0)+2>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=3;f=c[h>>2]|0;i=m;return f|0}case 4:{g=a[c[j>>2]>>0]<<24|d[(c[j>>2]|0)+1>>0]<<16|d[(c[j>>2]|0)+2>>0]<<8|d[(c[j>>2]|0)+3>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=4;f=c[h>>2]|0;i=m;return f|0}case 5:{f=d[(c[j>>2]|0)+2>>0]<<24|d[(c[j>>2]|0)+2+1>>0]<<16|d[(c[j>>2]|0)+2+2>>0]<<8|d[(c[j>>2]|0)+2+3>>0];g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];g=RR(f|0,0,aS(0,1,g|0,((g|0)<0)<<31>>31|0)|0,C|0)|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=C;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=6;f=c[h>>2]|0;i=m;return f|0}case 7:case 6:{c[h>>2]=pG(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;i=m;return f|0}case 9:case 8:{f=c[l>>2]|0;c[f>>2]=(c[k>>2]|0)-8;c[f+4>>2]=0;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}default:{c[(c[l>>2]|0)+16>>2]=c[j>>2];c[(c[l>>2]|0)+12>>2]=(((c[k>>2]|0)-12|0)>>>0)/2|0;b[(c[l>>2]|0)+8>>1]=b[14590+((c[k>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[l>>2]|0)+12>>2];f=c[h>>2]|0;i=m;return f|0}}return 0}function eG(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;f=l+24|0;g=l+16|0;k=l+8|0;j=l;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;i=l;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;i=l;return m|0}d=+h[g>>3];n=+N(d)>=1.0?(d>0.0?~~+$(+M(d/4294967296.0),4294967295.0)>>>0:~~+Z((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=k;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=k;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}m=f;a=c[m+4>>2]|0;n=k;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=k;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;i=l;return n|0}return 0}function fG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+8|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{j=a[c[h>>2]>>0]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 2:{j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 3:{j=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 4:{c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];j=c[k>>2]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 5:{b=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=RR(b|0,0,aS(0,1,j|0,((j|0)<0)<<31>>31|0)|0,C|0)|0;c[k+4>>2]=C;break}case 6:{k=j;c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[k+4>>2]=0;k=c[j>>2]|0;b=j;c[b>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[b+4>>2]=k;b=j;j=c[b+4>>2]|0;k=f;c[k>>2]=c[b>>2];c[k+4>>2]=j;break}default:{k=f;c[k>>2]=(c[g>>2]|0)-8;c[k+4>>2]=0}}k=f;C=c[k+4>>2]|0;i=l;return c[k>>2]|0}function gG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+128|0;h=u+116|0;j=u+112|0;k=u+108|0;l=u+104|0;m=u+100|0;r=u+96|0;s=u+92|0;t=u+88|0;p=u+84|0;q=u+80|0;n=u+40|0;o=u;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[j>>2]|0)+10>>0]|0|0)==(d[(c[l>>2]|0)+4>>0]|0|0)){c[h>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;t=c[h>>2]|0;i=u;return t|0}jG(n,c[(c[j>>2]|0)+32>>2]|0,1);jG(o,c[(c[j>>2]|0)+32>>2]|0,1);kG(n,c[j>>2]|0,4096);kG(o,c[k>>2]|0,4096);c[s>>2]=Zg(n,a[(c[l>>2]|0)+4>>0]|0)|0;c[p>>2]=(c[s>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Zg(o,a[(c[l>>2]|0)+4>>0]|0)|0;c[q>>2]=(c[t>>2]|0)==0?0:c[o+12>>2]|0;c[r>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;if(((c[s>>2]|0)==0|(c[t>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;Xg(n);Xg(o);c[h>>2]=c[r>>2];t=c[h>>2]|0;i=u;return t|0}function hG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){e=6;break}if(a[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0){e=4;break}c[g>>2]=(c[g>>2]|0)+1}if((e|0)==4){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}else if((e|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}return 0}function iG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=SR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=C;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}i=f;return a|0}function jG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function kG(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){lG(d,c[h>>2]|0,c[j>>2]|0);i=k;return}f=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048){i=k;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[j>>2];i=k;return}function lG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;mG(c[h>>2]|0);kG(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function mG(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192)nG(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32){oG(c[d>>2]|0);break}if((e[d+8>>1]|0)&64){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+188>>2];c[(c[c[g>>2]>>2]|0)+188>>2]=c[g>>2]}}else Qb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;i=h;return}function nG(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;f=k+80|0;g=k+76|0;j=k+72|0;h=k+40|0;e=k;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){j=c[j>>2]|0;i=k;return j|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){j=c[j>>2]|0;i=k;return j|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=e;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=e;c[h+8>>2]=c[f>>2];c[h+4>>2]=c[g>>2];Qb[c[(c[g>>2]|0)+16>>2]&255](h);if((c[(c[f>>2]|0)+24>>2]|0)>0)Tf(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);d=c[f>>2]|0;a=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(a|0));c[j>>2]=c[h+20>>2];j=c[j>>2]|0;i=k;return j|0}function oG(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Tf(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=g;return}function pG(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+20|0;l=k+16|0;g=k+12|0;j=k;m=k+8|0;c[n>>2]=a;c[l>>2]=e;c[g>>2]=f;f=j;c[f>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[f+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);f=RR(0,c[j>>2]|0,c[m>>2]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=C;if((c[l>>2]|0)==6){l=j;m=c[l+4>>2]|0;n=c[g>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[g>>2]|0)+8>>1]=4;i=k;return 8}else{n=c[g>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];n=(qG(+h[c[g>>2]>>3])|0)!=0;b[(c[g>>2]|0)+8>>1]=n?1:8;i=k;return 8}return 0}function qG(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function rG(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;n=p+8|0;l=p+4|0;m=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=EF(c[j>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if((c[(c[j>>2]|0)+60>>2]|0)!=0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)>0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[l>>2]=f&65535;f=(a[(c[m>>2]|0)+4>>0]|0)!=0;if((c[l>>2]|0)<(e[(c[m>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=sG(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}if(!f){o=c[j>>2]|0;c[n>>2]=FF(o,gr((c[(c[m>>2]|0)+56>>2]|0)+((d[(c[m>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=sG(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}}do{if(!(a[(c[j>>2]|0)+68>>0]|0)){o=17;break}HF(c[j>>2]|0);c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]}while((e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[m>>2]|0)+18>>1]|0));if((o|0)==17){c[c[k>>2]>>2]=1;a[(c[j>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if(a[(c[m>>2]|0)+2>>0]|0){c[h>>2]=BF(c[j>>2]|0,c[k>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}return 0}function sG(b){b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[j>>2]=0;while(1){if(c[j>>2]|0){f=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[g>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=gr((c[(c[g>>2]|0)+56>>2]|0)+(e[(c[g>>2]|0)+20>>1]&(d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[j>>2]=FF(c[f>>2]|0,c[h>>2]|0)|0}if((f|0)==5){i=k;return c[j>>2]|0}return 0}function tG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[d>>2]=b;c[e>>2]=c[c[k>>2]>>2];c[g>>2]=_v(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){k=c[g>>2]|0;i=j;return k|0}k=qh(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=k;c[f>>2]=Fh(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){k=c[g>>2]|0;i=j;return k|0}c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];k=qh(c[e>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=k;k=c[g>>2]|0;i=j;return k|0}function uG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];iv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);ev(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);fv(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);iv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function vG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((sz(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==8){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function wG(e,f){e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;c[g>>2]=e;c[h>>2]=f;if((d[c[h>>2]>>0]|0)!=152){i=j;return 0}if((b[(c[h>>2]|0)+32>>1]|0)<0){e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|2;i=j;return 0}if((c[(c[(c[g>>2]|0)+24>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<2)>>2]|0)<0){i=j;return 0}e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|1;i=j;return 0}function xG(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[j>>2]=a;c[k>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[k>>2]|0)+50>>1]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[k>>2]|0)+54>>0]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0)){g=17;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)){g=8;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)==-2?(Ky(c[(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){g=11;break}if((d[(c[(c[k>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)){g=13;break}if(Td(c[(c[(c[k>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)|0){g=15;break}c[g>>2]=(c[g>>2]|0)+1}if((g|0)==8){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==11){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==13){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==15){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==17)if(Ky(c[(c[k>>2]|0)+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function yG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+448>>2];c[(c[f>>2]|0)+448>>2]=c[g>>2];i=e;return}function zG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;f=p+52|0;g=p+48|0;h=p+44|0;j=p+40|0;l=p+16|0;o=p+12|0;n=p+8|0;k=p+4|0;m=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[m>>2]=Fh(c[k>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[h>>2]=Iy(c[k>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=_v(c[k>>2]|0,0,0,0)|0;if(c[n>>2]|0){d=qh(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;c[(c[n>>2]|0)+8+8>>2]=d;d=qh(c[k>>2]|0,c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+8+4>>2]=d}c[o>>2]=Sv(c[f>>2]|0,0,c[n>>2]|0,c[h>>2]|0,0,0,0,131072,0,0)|0;vB(l,12,c[j>>2]|0);Pv(c[f>>2]|0,c[o>>2]|0,l)|0;fv(c[k>>2]|0,c[o>>2]|0);i=p;return}function AG(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=i;i=i+96|0;r=F+88|0;H=F+84|0;s=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;q=F+16|0;p=F+8|0;v=F+4|0;u=F;c[r>>2]=d;c[H>>2]=e;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[G>>2]=k;c[t>>2]=l;c[E>>2]=c[(c[r>>2]|0)+8>>2];c[I>>2]=c[c[r>>2]>>2];c[z>>2]=Ux(c[I>>2]|0,c[s>>2]|0)|0;c[y>>2]=2+(b[(c[s>>2]|0)+34>>1]|0);c[q>>2]=c[(c[H>>2]|0)+8+44>>2];f=(c[r>>2]|0)+40|0;k=c[f>>2]|0;c[f>>2]=k+1;c[w>>2]=k;c[u>>2]=ix(c[E>>2]|0,107,c[w>>2]|0,c[y>>2]|0)|0;c[B>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;k=(c[r>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[r>>2]|0)+44|0;f=(c[k>>2]|0)+1|0;c[k>>2]=f;c[C>>2]=f;f=(c[r>>2]|0)+44|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[D>>2]=k;c[A>>2]=qD(c[r>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[A>>2]|0)){i=F;return}ix(c[E>>2]|0,123,c[q>>2]|0,c[B>>2]|0)|0;if(c[n>>2]|0)RA(c[r>>2]|0,c[n>>2]|0,(c[B>>2]|0)+1|0);else ix(c[E>>2]|0,123,c[q>>2]|0,(c[B>>2]|0)+1|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)>=0)RA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0);else jx(c[E>>2]|0,156,c[q>>2]|0,c[x>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}c[v>>2]=BG(c[A>>2]|0,p)|0;m=c[E>>2]|0;if(c[v>>2]|0){HA(m,c[u>>2]|0)|0;if(!(c[(c[r>>2]|0)+124>>2]|0))a[(c[r>>2]|0)+20>>0]=0}else{jx(m,99,c[B>>2]|0,c[y>>2]|0,c[C>>2]|0)|0;ix(c[E>>2]|0,114,c[w>>2]|0,c[D>>2]|0)|0;jx(c[E>>2]|0,115,c[w>>2]|0,c[C>>2]|0,c[D>>2]|0)|0}a:do if(!(c[v>>2]|0)){rD(c[A>>2]|0);c[u>>2]=Sz(c[E>>2]|0,57,c[w>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break a;jx(c[E>>2]|0,96,c[w>>2]|0,c[x>>2]|0,(c[B>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);dD(c[r>>2]|0,c[s>>2]|0);mx(c[E>>2]|0,12,0,c[y>>2]|0,c[B>>2]|0,c[z>>2]|0,-10)|0;Jh(c[E>>2]|0,((c[t>>2]|0)==10?2:c[t>>2]|0)&255);Vx(c[r>>2]|0);if(!(c[v>>2]|0)){ix(c[E>>2]|0,7,c[w>>2]|0,(c[u>>2]|0)+1|0)|0;Zz(c[E>>2]|0,c[u>>2]|0);ix(c[E>>2]|0,111,c[w>>2]|0,0)|0;i=F;return}else{rD(c[A>>2]|0);i=F;return}}function BG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+20|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+45>>0]|0|0}function CG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+448>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;i=d;return}function DG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;k=p+32|0;f=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;j=p+8|0;g=p+4|0;h=p;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[l>>2]>>2]|0)+(c[m>>2]|0);c[j>>2]=Uw(c[f>>2]|0,c[l>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[j>>2]|0){c[l>>2]=c[j>>2];c[h>>2]=((((ku(c[f>>2]|0,c[j>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[h>>2];break}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}while(0);c[o>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;f=(c[l>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;a=(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)|0;e=f+72|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(e|0));c[o>>2]=(c[o>>2]|0)+-1}b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);VR((c[l>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}function EG(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;l=Q+96|0;A=Q+92|0;n=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;m=Q+40|0;p=Q+36|0;r=Q+32|0;o=Q+28|0;q=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;c[u>>2]=f;c[v>>2]=g;c[z>>2]=h;c[l>>2]=j;c[A>>2]=k;c[n>>2]=c[(c[u>>2]|0)+448>>2];c[B>>2]=c[c[u>>2]>>2];if(e[(c[B>>2]|0)+64>>1]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}c[J>>2]=c[(c[v>>2]|0)+28>>2];c[N>>2]=(c[J>>2]|0)+8+((c[z>>2]|0)*72|0);c[D>>2]=c[(c[N>>2]|0)+44>>2];c[K>>2]=c[(c[N>>2]|0)+20>>2];do if(c[A>>2]|0){if(c[l>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[c[J>>2]>>2]|0)>1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!((c[(c[v>>2]|0)+32>>2]|0)!=0?(c[(c[(c[v>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((Dz(c[c[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((Dz(c[(c[v>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[M>>2]=c[(c[K>>2]|0)+28>>2];if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+60>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&256|0)!=0?(c[(c[K>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[c[M>>2]>>2]|0)){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?((c[l>>2]|0)!=0?1:(c[c[J>>2]>>2]|0)>1):0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+44>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[l>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+32>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&12288){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&8192|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(d[(c[N>>2]|0)+36>>0]&32){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}a:do if(c[(c[K>>2]|0)+48>>2]|0){if(c[(c[K>>2]|0)+44>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}do if(!(c[l>>2]|0)){if(c[(c[v>>2]|0)+8>>2]&1)break;if((c[c[J>>2]>>2]|0)!=1)break;c[L>>2]=c[K>>2];while(1){if(!(c[L>>2]|0))break;if(c[(c[L>>2]|0)+8>>2]&9){t=62;break}if((c[(c[L>>2]|0)+48>>2]|0)!=0?(d[(c[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[L>>2]|0)+28>>2]>>2]|0)<1){t=62;break}c[L>>2]=c[(c[L>>2]|0)+48>>2]}if((t|0)==62){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[(c[v>>2]|0)+44>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[v>>2]|0)+44>>2]>>2]|0))break a;if(!(e[(c[(c[(c[v>>2]|0)+44>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[(c[u>>2]|0)+448>>2]=c[(c[N>>2]|0)+8>>2];ax(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+448>>2]=c[n>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2];while(1){if(!(c[K>>2]|0))break;c[r>>2]=c[(c[v>>2]|0)+44>>2];c[o>>2]=c[(c[v>>2]|0)+56>>2];c[q>>2]=c[(c[v>>2]|0)+60>>2];c[s>>2]=c[(c[v>>2]|0)+48>>2];c[(c[v>>2]|0)+44>>2]=0;c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+48>>2]=0;c[(c[v>>2]|0)+56>>2]=0;c[(c[v>>2]|0)+60>>2]=0;c[p>>2]=_x(c[B>>2]|0,c[v>>2]|0,0)|0;c[(c[v>>2]|0)+60>>2]=c[q>>2];c[(c[v>>2]|0)+56>>2]=c[o>>2];c[(c[v>>2]|0)+44>>2]=c[r>>2];c[(c[v>>2]|0)+28>>2]=c[J>>2];a[(c[v>>2]|0)+4>>0]=116;l=c[s>>2]|0;if(!(c[p>>2]|0))c[(c[v>>2]|0)+48>>2]=l;else{c[(c[p>>2]|0)+48>>2]=l;if(c[s>>2]|0)c[(c[s>>2]|0)+52>>2]=c[p>>2];c[(c[p>>2]|0)+52>>2]=c[v>>2];c[(c[v>>2]|0)+48>>2]=c[p>>2]}if(a[(c[B>>2]|0)+69>>0]|0){t=78;break}c[K>>2]=c[(c[K>>2]|0)+48>>2]}if((t|0)==78){c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}t=c[(c[N>>2]|0)+20>>2]|0;c[L>>2]=t;c[K>>2]=t;Tf(c[B>>2]|0,c[(c[N>>2]|0)+4>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+8>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+4>>2]=0;c[(c[N>>2]|0)+8>>2]=0;c[(c[N>>2]|0)+12>>2]=0;c[(c[N>>2]|0)+20>>2]=0;if(c[(c[N>>2]|0)+16>>2]|0){c[w>>2]=c[(c[N>>2]|0)+16>>2];if((e[(c[w>>2]|0)+36>>1]|0)==1){l=c[u>>2]|0;if(c[(c[u>>2]|0)+124>>2]|0)l=c[l+124>>2]|0;c[x>>2]=l;c[(c[w>>2]|0)+68>>2]=c[(c[x>>2]|0)+464>>2];c[(c[x>>2]|0)+464>>2]=c[w>>2]}else{x=(c[w>>2]|0)+36|0;b[x>>1]=(b[x>>1]|0)+-1<<16>>16}c[(c[N>>2]|0)+16>>2]=0}c[I>>2]=c[v>>2];while(1){if(!(c[I>>2]|0))break;a[E>>0]=0;c[M>>2]=c[(c[K>>2]|0)+28>>2];c[F>>2]=c[c[M>>2]>>2];c[J>>2]=c[(c[I>>2]|0)+28>>2];if(!(c[J>>2]|0)){x=_v(c[B>>2]|0,0,0,0)|0;c[(c[I>>2]|0)+28>>2]=x;c[J>>2]=x;if(!(c[J>>2]|0))break}else a[E>>0]=a[(c[N>>2]|0)+36>>0]|0;if((c[F>>2]|0)>1?(x=DG(c[B>>2]|0,c[J>>2]|0,(c[F>>2]|0)-1|0,(c[z>>2]|0)+1|0)|0,c[J>>2]=x,c[(c[I>>2]|0)+28>>2]=x,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[F>>2]|0))break;kv(c[B>>2]|0,c[(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)+52>>2]|0);l=(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)|0;h=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=c[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(m|0));l=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[C>>2]=(c[C>>2]|0)+1}a[(c[J>>2]|0)+8+((c[z>>2]|0)*72|0)+36>>0]=a[E>>0]|0;c[G>>2]=c[c[I>>2]>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[G>>2]>>2]|0))break;if(!(c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]|0)){c[P>>2]=qh(c[B>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+8>>2]|0)|0;Zw(c[P>>2]|0);c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]=c[P>>2]}c[C>>2]=(c[C>>2]|0)+1}if(c[(c[K>>2]|0)+44>>2]|0){c[H>>2]=c[(c[K>>2]|0)+44>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[H>>2]>>2]|0))break;b[(c[(c[H>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]=0;c[C>>2]=(c[C>>2]|0)+1}c[(c[I>>2]|0)+44>>2]=c[H>>2];c[(c[K>>2]|0)+44>>2]=0}c[O>>2]=Iy(c[B>>2]|0,c[(c[K>>2]|0)+32>>2]|0,0)|0;if(c[A>>2]|0){c[(c[I>>2]|0)+40>>2]=c[(c[I>>2]|0)+32>>2];c[(c[I>>2]|0)+32>>2]=c[O>>2];w=c[B>>2]|0;x=Iy(c[B>>2]|0,c[(c[K>>2]|0)+40>>2]|0,0)|0;x=wz(w,x,c[(c[I>>2]|0)+40>>2]|0)|0;c[(c[I>>2]|0)+40>>2]=x;x=Qy(c[B>>2]|0,c[(c[K>>2]|0)+36>>2]|0,0)|0;c[(c[I>>2]|0)+36>>2]=x}else{x=wz(c[B>>2]|0,c[O>>2]|0,c[(c[I>>2]|0)+32>>2]|0)|0;c[(c[I>>2]|0)+32>>2]=x}nH(c[B>>2]|0,c[I>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0,0);x=(c[I>>2]|0)+8|0;c[x>>2]=c[x>>2]|c[(c[K>>2]|0)+8>>2]&1;if(c[(c[K>>2]|0)+56>>2]|0){c[(c[I>>2]|0)+56>>2]=c[(c[K>>2]|0)+56>>2];c[(c[K>>2]|0)+56>>2]=0}c[I>>2]=c[(c[I>>2]|0)+48>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2]}fv(c[B>>2]|0,c[L>>2]|0);c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}function FG(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=i;i=i+256|0;Z=_+8|0;h=_;j=_+240|0;k=_+236|0;l=_+232|0;m=_+228|0;T=_+224|0;Q=_+220|0;Y=_+216|0;t=_+192|0;H=_+184|0;s=_+180|0;B=_+176|0;C=_+172|0;n=_+168|0;F=_+164|0;W=_+160|0;G=_+244|0;R=_+156|0;L=_+152|0;O=_+148|0;o=_+144|0;X=_+120|0;x=_+116|0;v=_+112|0;z=_+108|0;I=_+104|0;U=_+100|0;V=_+96|0;y=_+92|0;w=_+88|0;A=_+84|0;M=_+80|0;P=_+76|0;p=_+72|0;D=_+48|0;S=_+40|0;J=_+36|0;u=_+32|0;K=_+28|0;N=_+24|0;r=_+20|0;E=_+16|0;q=_+12|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[T>>2]=0;c[H>>2]=0;c[B>>2]=0;c[C>>2]=0;c[s>>2]=c[c[k>>2]>>2];c[Q>>2]=c[(c[l>>2]|0)+48>>2];e=c[m>>2]|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[t+16>>2]=c[e+16>>2];c[t+20>>2]=c[e+20>>2];a:do if(!(c[(c[Q>>2]|0)+44>>2]|0)){f=c[k>>2]|0;if(c[(c[Q>>2]|0)+56>>2]|0){c[Z>>2]=Sy(d[(c[l>>2]|0)+4>>0]|0)|0;Eh(f,35879,Z);c[T>>2]=1;break}c[Y>>2]=dx(f)|0;if((d[t>>0]|0)==12){ix(c[Y>>2]|0,107,c[t+8>>2]|0,c[c[c[l>>2]>>2]>>2]|0)|0;a[t>>0]=14}if(c[(c[l>>2]|0)+8>>2]&1024){c[T>>2]=pH(c[k>>2]|0,c[l>>2]|0,t)|0;break}b:do if(c[(c[l>>2]|0)+8>>2]&8192)qH(c[k>>2]|0,c[l>>2]|0,t);else{if(c[(c[l>>2]|0)+44>>2]|0){c[j>>2]=rH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;Z=c[j>>2]|0;i=_;return Z|0}switch(d[(c[l>>2]|0)+4>>0]|0){case 116:{c[n>>2]=0;c[(c[Q>>2]|0)+12>>2]=c[(c[l>>2]|0)+12>>2];c[(c[Q>>2]|0)+16>>2]=c[(c[l>>2]|0)+16>>2];c[(c[Q>>2]|0)+56>>2]=c[(c[l>>2]|0)+56>>2];c[(c[Q>>2]|0)+60>>2]=c[(c[l>>2]|0)+60>>2];c[B>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[Q>>2]|0,t)|0;c[(c[l>>2]|0)+56>>2]=0;c[(c[l>>2]|0)+60>>2]=0;if(c[T>>2]|0)break a;c[(c[l>>2]|0)+48>>2]=0;c[(c[l>>2]|0)+12>>2]=c[(c[Q>>2]|0)+12>>2];c[(c[l>>2]|0)+16>>2]=c[(c[Q>>2]|0)+16>>2];if((c[(c[l>>2]|0)+12>>2]|0)!=0?(c[n>>2]=Sz(c[Y>>2]|0,22,c[(c[l>>2]|0)+12>>2]|0)|0,(c[(c[l>>2]|0)+16>>2]|0)!=0):0)jx(c[Y>>2]|0,146,c[(c[l>>2]|0)+12>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+1|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[C>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[l>>2]|0,t)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];Z=nE(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z;if(((c[(c[Q>>2]|0)+56>>2]|0)!=0?(Z=(Fy(c[(c[Q>>2]|0)+56>>2]|0,F)|0)!=0,Z&(c[F>>2]|0)>0):0)?(X=b[(c[l>>2]|0)+6>>1]|0,Z=c[F>>2]|0,(X|0)>((Mj(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=c[F>>2]|0;Z=Mj(Z,((Z|0)<0)<<31>>31)|0;b[(c[l>>2]|0)+6>>1]=Z}if(!(c[n>>2]|0))break b;Zz(c[Y>>2]|0,c[n>>2]|0);break b}case 115:case 117:{a[G>>0]=0;c[R>>2]=1;if((d[t>>0]|0)==(c[R>>2]|0))c[W>>2]=c[t+8>>2];else{V=(c[k>>2]|0)+40|0;Z=c[V>>2]|0;c[V>>2]=Z+1;c[W>>2]=Z;c[o>>2]=ix(c[Y>>2]|0,107,c[W>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[o>>2];Z=(mz(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32}vB(X,c[R>>2]|0,c[W>>2]|0);c[B>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[Q>>2]|0,X)|0;if(c[T>>2]|0)break a;if((d[(c[l>>2]|0)+4>>0]|0)==117)a[G>>0]=2;else a[G>>0]=1;c[(c[l>>2]|0)+48>>2]=0;c[L>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[O>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;a[X>>0]=a[G>>0]|0;c[C>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[l>>2]|0,X)|0;ev(c[s>>2]|0,c[(c[l>>2]|0)+44>>2]|0);c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];c[(c[l>>2]|0)+44>>2]=0;if((d[(c[l>>2]|0)+4>>0]|0)==115){Z=nE(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z}iv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[L>>2];c[(c[l>>2]|0)+60>>2]=c[O>>2];c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;if((d[t>>0]|0)==(c[R>>2]|0))break b;if((d[t>>0]|0)==9){c[I>>2]=c[l>>2];while(1){if(!(c[(c[I>>2]|0)+48>>2]|0))break;c[I>>2]=c[(c[I>>2]|0)+48>>2]}dH(c[k>>2]|0,c[(c[I>>2]|0)+28>>2]|0,c[c[I>>2]>>2]|0)}c[v>>2]=Wz(c[Y>>2]|0)|0;c[x>>2]=Wz(c[Y>>2]|0)|0;KG(c[k>>2]|0,c[l>>2]|0,c[v>>2]|0);ix(c[Y>>2]|0,57,c[W>>2]|0,c[v>>2]|0)|0;c[z>>2]=wx(c[Y>>2]|0)|0;SG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[W>>2]|0,0,0,t,c[x>>2]|0,c[v>>2]|0);_z(c[Y>>2]|0,c[x>>2]|0);ix(c[Y>>2]|0,7,c[W>>2]|0,c[z>>2]|0)|0;_z(c[Y>>2]|0,c[v>>2]|0);ix(c[Y>>2]|0,111,c[W>>2]|0,0)|0;break b}default:{Z=(c[k>>2]|0)+40|0;X=c[Z>>2]|0;c[Z>>2]=X+1;c[U>>2]=X;X=(c[k>>2]|0)+40|0;Z=c[X>>2]|0;c[X>>2]=Z+1;c[V>>2]=Z;c[p>>2]=ix(c[Y>>2]|0,107,c[U>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[p>>2];Z=(mz(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32;vB(D,1,c[U>>2]|0);c[B>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[Q>>2]|0,D)|0;if(c[T>>2]|0)break a;c[p>>2]=ix(c[Y>>2]|0,107,c[V>>2]|0,0)|0;c[(c[l>>2]|0)+20+4>>2]=c[p>>2];c[(c[l>>2]|0)+48>>2]=0;c[M>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[P>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;c[D+8>>2]=c[V>>2];c[C>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[l>>2]|0,D)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];if((b[(c[l>>2]|0)+6>>1]|0)>(b[(c[Q>>2]|0)+6>>1]|0))b[(c[l>>2]|0)+6>>1]=b[(c[Q>>2]|0)+6>>1]|0;iv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[M>>2];c[(c[l>>2]|0)+60>>2]=c[P>>2];if((d[t>>0]|0)==9){c[J>>2]=c[l>>2];while(1){if(!(c[(c[J>>2]|0)+48>>2]|0))break;c[J>>2]=c[(c[J>>2]|0)+48>>2]}dH(c[k>>2]|0,c[(c[J>>2]|0)+28>>2]|0,c[c[J>>2]>>2]|0)}c[w>>2]=Wz(c[Y>>2]|0)|0;c[y>>2]=Wz(c[Y>>2]|0)|0;KG(c[k>>2]|0,c[l>>2]|0,c[w>>2]|0);ix(c[Y>>2]|0,57,c[U>>2]|0,c[w>>2]|0)|0;c[S>>2]=vx(c[k>>2]|0)|0;c[A>>2]=ix(c[Y>>2]|0,121,c[U>>2]|0,c[S>>2]|0)|0;Ih(c[Y>>2]|0,30,c[V>>2]|0,c[y>>2]|0,c[S>>2]|0,0)|0;xx(c[k>>2]|0,c[S>>2]|0);SG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[U>>2]|0,0,0,t,c[y>>2]|0,c[w>>2]|0);_z(c[Y>>2]|0,c[y>>2]|0);ix(c[Y>>2]|0,7,c[U>>2]|0,c[A>>2]|0)|0;_z(c[Y>>2]|0,c[w>>2]|0);ix(c[Y>>2]|0,111,c[V>>2]|0,0)|0;ix(c[Y>>2]|0,111,c[U>>2]|0,0)|0;break b}}}while(0);sH(c[k>>2]|0,d[(c[l>>2]|0)+4>>0]|0,c[B>>2]|0,c[C>>2]|0,(d[(c[l>>2]|0)+4>>0]|0)!=116&1);if(c[(c[l>>2]|0)+8>>2]&32){c[E>>2]=c[c[c[l>>2]>>2]>>2];c[K>>2]=iA(c[s>>2]|0,c[E>>2]|0,1)|0;if(!(c[K>>2]|0)){c[T>>2]=7;break}c[u>>2]=0;c[r>>2]=(c[K>>2]|0)+20;while(1){if((c[u>>2]|0)>=(c[E>>2]|0))break;Z=tH(c[k>>2]|0,c[l>>2]|0,c[u>>2]|0)|0;c[c[r>>2]>>2]=Z;if(!(c[c[r>>2]>>2]|0))c[c[r>>2]>>2]=c[(c[s>>2]|0)+8>>2];c[u>>2]=(c[u>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+4}c[N>>2]=c[l>>2];while(1){if(!(c[N>>2]|0))break;c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break;c[q>>2]=c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2];if((c[q>>2]|0)<0)break;dA(c[Y>>2]|0,c[q>>2]|0,c[E>>2]|0);X=c[Y>>2]|0;Z=c[q>>2]|0;Mh(X,Z,nA(c[K>>2]|0)|0,-6);c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2]=-1;c[u>>2]=(c[u>>2]|0)+1}c[N>>2]=c[(c[N>>2]|0)+48>>2]}jA(c[K>>2]|0)}}else{Z=c[k>>2]|0;c[h>>2]=Sy(d[(c[l>>2]|0)+4>>0]|0)|0;Eh(Z,35831,h);c[T>>2]=1}while(0);c[(c[m>>2]|0)+12>>2]=c[t+12>>2];c[(c[m>>2]|0)+16>>2]=c[t+16>>2];fv(c[s>>2]|0,c[H>>2]|0);c[j>>2]=c[T>>2];Z=c[j>>2]|0;i=_;return Z|0}function GG(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Bz(c[e>>2]|0,b);i=d;return c[b>>2]|0}function HG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;n=q+8|0;m=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;if(!(c[k>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[o>>2]=c[j>>2];while(1){if(!(c[o>>2]|0))break;if(c[(c[o>>2]|0)+8>>2]&8200){p=6;break}c[o>>2]=c[(c[o>>2]|0)+48>>2]}if((p|0)==6){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}while(1){if((d[c[k>>2]>>0]|0|0)!=28)break;p=HG(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[k>>2]=c[(c[k>>2]|0)+12>>2]}if(c[(c[k>>2]|0)+4>>2]&1){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}a:do if(hE(c[k>>2]|0,c[l>>2]|0)|0){c[m>>2]=(c[m>>2]|0)+1;while(1){if(!(c[j>>2]|0))break a;c[n>>2]=Iy(c[h>>2]|0,c[k>>2]|0,0)|0;c[n>>2]=mH(c[h>>2]|0,c[n>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0)|0;p=wz(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[n>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=p;c[j>>2]=c[(c[j>>2]|0)+48>>2]}}while(0);c[g>>2]=c[m>>2];p=c[g>>2]|0;i=q;return p|0}function IG(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+28>>2]=0;i=d;return}function JG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;r=q+24|0;m=q+20|0;o=q+16|0;p=q+12|0;k=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[o>>2]=iA(c[k>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[o>>2]|0)){r=c[o>>2]|0;i=q;return r|0}c[l>>2]=c[j>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=fy(c[g>>2]|0,c[c[p>>2]>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=c[(c[k>>2]|0)+8>>2];c[(c[o>>2]|0)+20+((c[l>>2]|0)-(c[j>>2]|0)<<2)>>2]=c[n>>2];a[(c[(c[o>>2]|0)+16>>2]|0)+((c[l>>2]|0)-(c[j>>2]|0))>>0]=a[(c[p>>2]|0)+12>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}r=c[o>>2]|0;i=q;return r|0}function KG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[m>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){i=n;return}EC(c[f>>2]|0);if(!(c[(c[g>>2]|0)+56>>2]|0)){i=n;return}d=(c[f>>2]|0)+44|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[j>>2]=a;c[(c[g>>2]|0)+12>>2]=a;c[m>>2]=dx(c[f>>2]|0)|0;do if(Fy(c[(c[g>>2]|0)+56>>2]|0,l)|0){ix(c[m>>2]|0,76,c[l>>2]|0,c[j>>2]|0)|0;if(!(c[l>>2]|0)){Yz(c[m>>2]|0,c[h>>2]|0)|0;break}if((c[l>>2]|0)>=0?(d=b[(c[g>>2]|0)+6>>1]|0,a=c[l>>2]|0,(d|0)>((Mj(a,((a|0)<0)<<31>>31)|0)<<16>>16|0)):0){a=c[l>>2]|0;a=Mj(a,((a|0)<0)<<31>>31)|0;b[(c[g>>2]|0)+6>>1]=a;a=(c[g>>2]|0)+8|0;c[a>>2]=c[a>>2]|16384}}else{RA(c[f>>2]|0,c[(c[g>>2]|0)+56>>2]|0,c[j>>2]|0);Sz(c[m>>2]|0,17,c[j>>2]|0)|0;ix(c[m>>2]|0,22,c[j>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[g>>2]|0)+60>>2]|0)){i=n;return}d=(c[f>>2]|0)+44|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[k>>2]=a;c[(c[g>>2]|0)+16>>2]=a;a=(c[f>>2]|0)+44|0;c[a>>2]=(c[a>>2]|0)+1;RA(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0);Sz(c[m>>2]|0,17,c[k>>2]|0)|0;jx(c[m>>2]|0,146,c[j>>2]|0,(c[k>>2]|0)+1|0,c[k>>2]|0)|0;i=n;return}function LG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=b;c[g>>2]=d;a[j>>0]=e;b=a[j>>0]|0;a[(eA(c[h>>2]|0,c[g>>2]|0)|0)>>0]=b;i=f;return}function MG(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+72>>1]|0}function NG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+47>>0]|0|0}function OG(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+43>>0]|0}function PG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+48>>0]|0|0}function QG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+28>>2]|0}function RG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function SG(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=i;i=i+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;o=V+112|0;R=V+108|0;p=V+104|0;L=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;r=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;N=V+64|0;M=V+60|0;q=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;G=V+36|0;v=V+32|0;J=V+28|0;H=V+24|0;E=V+20|0;I=V+16|0;K=V+12|0;z=V+8|0;B=V+4|0;F=V;c[P>>2]=b;c[Q>>2]=f;c[t>>2]=g;c[o>>2]=h;c[R>>2]=j;c[p>>2]=k;c[L>>2]=l;c[u>>2]=m;c[S>>2]=n;c[U>>2]=c[(c[P>>2]|0)+8>>2];c[C>>2]=d[c[L>>2]>>0];c[O>>2]=c[(c[L>>2]|0)+8>>2];c[M>>2]=0;if(c[p>>2]|0)n=d[(c[p>>2]|0)+1>>0]|0;else n=0;c[r>>2]=n;if((c[R>>2]|0)!=0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[r>>2]|0)!=0))fH(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0);c[N>>2]=c[c[t>>2]>>2];if(c[(c[L>>2]|0)+12>>2]|0){if(((c[(c[L>>2]|0)+12>>2]|0)+(c[N>>2]|0)|0)>(c[(c[P>>2]|0)+44>>2]|0)){h=(c[P>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}}else{if(c[R>>2]|0){c[M>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[M>>2]=(c[M>>2]|0)+1;h=(c[P>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[M>>2]|0)}c[(c[L>>2]|0)+12>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;h=(c[P>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}c[(c[L>>2]|0)+16>>2]=c[N>>2];c[T>>2]=c[(c[L>>2]|0)+12>>2];a:do if((c[o>>2]|0)<0){if((c[C>>2]|0)!=3){if((c[C>>2]|0)==10|(c[C>>2]|0)==9|(c[C>>2]|0)==13)a[q>>0]=1;else a[q>>0]=0;aB(c[P>>2]|0,c[t>>2]|0,c[T>>2]|0,0,a[q>>0]|0)|0}}else{c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[N>>2]|0))break a;jx(c[U>>2]|0,96,c[o>>2]|0,c[D>>2]|0,(c[T>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);if(c[r>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[A>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;r=(c[P>>2]|0)+44|0;c[r>>2]=(c[r>>2]|0)+(c[N>>2]|0);HA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=eA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=79;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[A>>2];c[w>>2]=(wx(c[U>>2]|0)|0)+(c[N>>2]|0);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[N>>2]|0))break;c[x>>2]=fy(c[P>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0)|0;n=c[U>>2]|0;m=(c[T>>2]|0)+(c[D>>2]|0)|0;if((c[D>>2]|0)<((c[N>>2]|0)-1|0))jx(n,36,m,c[w>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;else jx(n,37,m,c[u>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;Mh(c[U>>2]|0,-1,c[x>>2]|0,-4);Jh(c[U>>2]|0,-128);c[D>>2]=(c[D>>2]|0)+1}jx(c[U>>2]|0,84,c[T>>2]|0,c[A>>2]|0,(c[N>>2]|0)-1|0)|0;break}case 1:{HA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:gH(c[P>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[u>>2]|0,c[N>>2]|0,c[T>>2]|0)}if(!(c[R>>2]|0))fH(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0)}b:do switch(c[C>>2]|0){case 1:{c[y>>2]=vx(c[P>>2]|0)|0;jx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,c[y>>2]|0)|0;ix(c[U>>2]|0,126,c[O>>2]|0,c[y>>2]|0)|0;xx(c[P>>2]|0,c[y>>2]|0);break}case 2:{jx(c[U>>2]|0,127,c[O>>2]|0,c[T>>2]|0,c[N>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[G>>2]=CA(c[P>>2]|0,(c[M>>2]|0)+1|0)|0;jx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,(c[G>>2]|0)+(c[M>>2]|0)|0)|0;if((c[C>>2]|0)==6){c[v>>2]=(wx(c[U>>2]|0)|0)+4;Ih(c[U>>2]|0,31,(c[O>>2]|0)+1|0,c[v>>2]|0,c[G>>2]|0,0)|0;ix(c[U>>2]|0,126,(c[O>>2]|0)+1|0,c[G>>2]|0)|0}n=c[P>>2]|0;if(c[R>>2]|0)lH(n,c[R>>2]|0,c[Q>>2]|0,(c[G>>2]|0)+(c[M>>2]|0)|0,c[T>>2]|0,1,c[M>>2]|0);else{c[J>>2]=vx(n)|0;ix(c[U>>2]|0,114,c[O>>2]|0,c[J>>2]|0)|0;jx(c[U>>2]|0,115,c[O>>2]|0,c[G>>2]|0,c[J>>2]|0)|0;Jh(c[U>>2]|0,8);xx(c[P>>2]|0,c[J>>2]|0)}FA(c[P>>2]|0,c[G>>2]|0,(c[M>>2]|0)+1|0);break}case 11:{n=c[P>>2]|0;if(c[R>>2]|0){lH(n,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[N>>2]|0,c[M>>2]|0);break b}else{c[H>>2]=vx(n)|0;mx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,c[H>>2]|0,c[(c[L>>2]|0)+4>>2]|0,c[N>>2]|0)|0;WA(c[P>>2]|0,c[T>>2]|0,c[N>>2]|0);ix(c[U>>2]|0,126,c[O>>2]|0,c[H>>2]|0)|0;xx(c[P>>2]|0,c[H>>2]|0);break b}}case 3:{ix(c[U>>2]|0,76,1,c[O>>2]|0)|0;break}case 10:{if(c[R>>2]|0)lH(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[N>>2]|0,c[M>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){lH(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[N>>2]|0,c[M>>2]|0);break b}n=c[U>>2]|0;if((c[C>>2]|0)==13){Sz(n,16,c[(c[L>>2]|0)+8>>2]|0)|0;break b}else{ix(n,87,c[T>>2]|0,c[N>>2]|0)|0;WA(c[P>>2]|0,c[T>>2]|0,c[N>>2]|0);break b}}case 7:case 8:{c[B>>2]=0;c[F>>2]=c[(c[L>>2]|0)+20>>2];c[E>>2]=c[c[F>>2]>>2];c[I>>2]=vx(c[P>>2]|0)|0;c[K>>2]=CA(c[P>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=(c[K>>2]|0)+(c[E>>2]|0)+1;if((c[C>>2]|0)==8)c[B>>2]=Ih(c[U>>2]|0,31,(c[O>>2]|0)+1|0,0,c[T>>2]|0,c[N>>2]|0)|0;jx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,c[z>>2]|0)|0;if((c[C>>2]|0)==8){ix(c[U>>2]|0,126,(c[O>>2]|0)+1|0,c[z>>2]|0)|0;Jh(c[U>>2]|0,16)}c[D>>2]=0;while(1){n=c[U>>2]|0;if((c[D>>2]|0)>=(c[E>>2]|0))break;ix(n,85,(c[T>>2]|0)+(e[(c[(c[F>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)+16>>1]|0)-1|0,(c[K>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}ix(n,113,c[O>>2]|0,(c[K>>2]|0)+(c[E>>2]|0)|0)|0;jx(c[U>>2]|0,99,c[K>>2]|0,(c[E>>2]|0)+2|0,c[I>>2]|0)|0;ix(c[U>>2]|0,126,c[O>>2]|0,c[I>>2]|0)|0;if(c[B>>2]|0)Zz(c[U>>2]|0,c[B>>2]|0);xx(c[P>>2]|0,c[I>>2]|0);FA(c[P>>2]|0,c[K>>2]|0,(c[E>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){i=V;return}if(!(c[(c[Q>>2]|0)+12>>2]|0)){i=V;return}ix(c[U>>2]|0,68,c[(c[Q>>2]|0)+12>>2]|0,c[S>>2]|0)|0;i=V;return}function TG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;UG(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function UG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=203;c[f+8>>2]=204;c[f+24>>2]=c[g>>2];wy(f,c[e>>2]|0)|0;i=d;return}function VG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+409>>0]|0|0)!=2){i=k;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[h>>2]=c[f>>2];c[j>>2]=Gh(b,35808,h)|0;mx(c[g>>2]|0,162,c[(c[e>>2]|0)+420>>2]|0,0,0,c[j>>2]|0,-1)|0;i=k;return}function WG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+44>>0]|0|0}function XG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;jx(c[(c[j>>2]|0)+8>>2]|0,83,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;GA(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function YG(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;f=v+56|0;g=v+52|0;u=v+48|0;k=v+44|0;t=v+40|0;h=v+36|0;p=v+32|0;n=v+28|0;m=v+24|0;j=v+20|0;s=v+16|0;r=v+12|0;o=v+8|0;q=v+4|0;l=v;c[f>>2]=b;c[g>>2]=d;c[u>>2]=c[(c[f>>2]|0)+8>>2];c[t>>2]=0;c[h>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[p>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[j>>2]=0;c[r>>2]=c[(c[c[p>>2]>>2]|0)+20>>2];if(c[r>>2]|0){c[m>>2]=c[c[r>>2]>>2];c[s>>2]=CA(c[f>>2]|0,c[m>>2]|0)|0;aB(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,0,1)|0}else{c[m>>2]=0;c[s>>2]=0}if((c[(c[p>>2]|0)+12>>2]|0)>=0){c[j>>2]=Wz(c[u>>2]|0)|0;gH(c[f>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0,1,c[s>>2]|0)}if((e[(c[(c[p>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[o>>2]=0;c[l>>2]=0;c[q>>2]=c[(c[r>>2]|0)+4>>2];while(1){if(c[o>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=fy(c[f>>2]|0,c[c[q>>2]>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if(!(c[o>>2]|0))c[o>>2]=c[(c[c[f>>2]>>2]|0)+8>>2];if((c[t>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[f>>2]|0)+44|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[t>>2]=b}mx(c[u>>2]|0,88,c[t>>2]|0,0,0,c[o>>2]|0,-4)|0}mx(c[u>>2]|0,147,0,c[s>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+4>>2]|0,-5)|0;Jh(c[u>>2]|0,c[m>>2]&255);WA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);FA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);if(c[j>>2]|0){_z(c[u>>2]|0,c[j>>2]|0);EC(c[f>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}if(c[t>>2]|0)c[h>>2]=Sz(c[u>>2]|0,21,c[t>>2]|0)|0;EC(c[f>>2]|0);c[k>>2]=0;c[n>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;RA(c[f>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+24}a[c[g>>2]>>0]=0;EC(c[f>>2]|0);if(!(c[h>>2]|0)){i=v;return}Zz(c[u>>2]|0,c[h>>2]|0);i=v;return}function ZG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[g>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];if(c[g>>2]|0)b=c[c[g>>2]>>2]|0;else b=0;mx(c[h>>2]|0,149,c[(c[f>>2]|0)+8>>2]|0,b,0,c[(c[f>>2]|0)+4>>2]|0,-5)|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function _G(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;l=m;d=m+32|0;e=m+28|0;k=m+24|0;f=m+20|0;h=m+16|0;n=m+12|0;g=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=m;return}jx(c[k>>2]|0,79,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[g>>2]=c[c[h>>2]>>2];if((c[(c[g>>2]|0)+20>>2]|0)!=0?(c[c[(c[g>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=JG(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0,0,0)|0;mx(c[k>>2]|0,107,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}Eh(c[d>>2]|0,35757,l);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}i=m;return}function $G(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+32>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+28>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){c[k>>2]=c[(c[(c[g>>2]|0)+28>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(c[(c[j>>2]|0)+4>>2]&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function aH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;if((d[(c[j>>2]|0)+409>>0]|0|0)!=2){i=n;return}if(c[g>>2]|0)if(!((d[(c[k>>2]|0)+42>>0]|0)&32))f=1;else f=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else f=0;c[h>>2]=f&1;b=c[c[j>>2]>>2]|0;e=(c[h>>2]|0)!=0?35716:18402;if(c[h>>2]|0)f=c[c[g>>2]>>2]|0;else f=18402;c[l>>2]=c[c[k>>2]>>2];c[l+4>>2]=e;c[l+8>>2]=f;c[m>>2]=Gh(b,35739,l)|0;mx(c[(c[j>>2]|0)+8>>2]|0,162,c[(c[j>>2]|0)+420>>2]|0,0,0,c[m>>2]|0,-1)|0;i=n;return}function bH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[h>>2]=c[(c[j>>2]|0)+20>>2],(c[h>>2]|0)!=0):0)?(c[c[h>>2]>>2]|0)==1:0)?(d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!(ig(c[k>>2]|0,35708)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[h>>2];break}if(!(ig(c[k>>2]|0,35712)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[h>>2]}}while(0);i=l;return c[g>>2]&255|0}function cH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;u=E+84|0;h=E+80|0;B=E+76|0;v=E+72|0;s=E+68|0;D=E+64|0;C=E+60|0;w=E+56|0;A=E+52|0;j=E+48|0;z=E+44|0;q=E+40|0;x=E+36|0;m=E+32|0;t=E+28|0;y=E+24|0;o=E+20|0;n=E+16|0;p=E+12|0;l=E+8|0;k=E+4|0;r=E;c[u>>2]=a;c[h>>2]=b;c[B>>2]=e;c[v>>2]=f;c[s>>2]=g;c[D>>2]=c[(c[u>>2]|0)+8>>2];c[C>>2]=c[(c[B>>2]|0)+24>>2];c[w>>2]=Wz(c[D>>2]|0)|0;c[j>>2]=0;c[q>>2]=c[c[B>>2]>>2];c[x>>2]=d[c[s>>2]>>0];c[m>>2]=c[(c[s>>2]|0)+8>>2];if(c[(c[B>>2]|0)+16>>2]|0){ix(c[D>>2]|0,14,c[(c[B>>2]|0)+12>>2]|0,c[(c[B>>2]|0)+16>>2]|0)|0;Yz(c[D>>2]|0,c[C>>2]|0)|0;_z(c[D>>2]|0,c[(c[B>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[B>>2]|0)+8>>2];if((c[x>>2]|0)==9|(c[x>>2]|0)==13|(c[x>>2]|0)==10){c[y>>2]=0;c[t>>2]=c[(c[s>>2]|0)+12>>2];c[p>>2]=c[v>>2]}else{c[y>>2]=vx(c[u>>2]|0)|0;c[t>>2]=CA(c[u>>2]|0,c[v>>2]|0)|0;c[p>>2]=c[v>>2]}c[o>>2]=(c[c[q>>2]>>2]|0)-(c[(c[B>>2]|0)+4>>2]|0);if((d[(c[B>>2]|0)+28>>0]|0)&1){e=(c[u>>2]|0)+44|0;a=(c[e>>2]|0)+1|0;c[e>>2]=a;c[r>>2]=a;a=(c[u>>2]|0)+40|0;e=c[a>>2]|0;c[a>>2]=e+1;c[n>>2]=e;if(c[(c[B>>2]|0)+16>>2]|0)c[j>>2]=fx(c[D>>2]|0,20)|0;jx(c[D>>2]|0,110,c[n>>2]|0,c[r>>2]|0,(c[o>>2]|0)+1+(c[p>>2]|0)|0)|0;if(c[j>>2]|0)Zz(c[D>>2]|0,c[j>>2]|0);c[A>>2]=1+(ix(c[D>>2]|0,55,c[z>>2]|0,c[C>>2]|0)|0);fH(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[w>>2]|0);jx(c[D>>2]|0,120,c[z>>2]|0,c[r>>2]|0,c[n>>2]|0)|0;c[k>>2]=0}else{c[A>>2]=1+(ix(c[D>>2]|0,56,c[z>>2]|0,c[C>>2]|0)|0);fH(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[w>>2]|0);c[n>>2]=c[z>>2];c[k>>2]=1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;jx(c[D>>2]|0,96,c[n>>2]|0,(c[o>>2]|0)+(c[k>>2]|0)+(c[l>>2]|0)|0,(c[t>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}a:do switch(c[x>>2]|0){case 12:{ix(c[D>>2]|0,114,c[m>>2]|0,c[y>>2]|0)|0;jx(c[D>>2]|0,115,c[m>>2]|0,c[t>>2]|0,c[y>>2]|0)|0;Jh(c[D>>2]|0,8);break}case 11:{mx(c[D>>2]|0,99,c[t>>2]|0,c[v>>2]|0,c[y>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[v>>2]|0)|0;WA(c[u>>2]|0,c[t>>2]|0,c[v>>2]|0);ix(c[D>>2]|0,126,c[m>>2]|0,c[y>>2]|0)|0;break}case 10:break;default:{h=c[D>>2]|0;j=c[s>>2]|0;if((c[x>>2]|0)==9){ix(h,87,c[j+12>>2]|0,c[v>>2]|0)|0;WA(c[u>>2]|0,c[(c[s>>2]|0)+12>>2]|0,c[v>>2]|0);break a}else{Sz(h,16,c[j+8>>2]|0)|0;break a}}}while(0);if(c[y>>2]|0){j=c[u>>2]|0;h=c[t>>2]|0;if((c[x>>2]|0)==11)FA(j,h,c[v>>2]|0);else xx(j,h);xx(c[u>>2]|0,c[y>>2]|0)}_z(c[D>>2]|0,c[w>>2]|0);k=c[D>>2]|0;j=c[z>>2]|0;h=c[A>>2]|0;if((d[(c[B>>2]|0)+28>>0]|0)&1)ix(k,3,j,h)|0;else ix(k,7,j,h)|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){B=c[D>>2]|0;D=c[C>>2]|0;_z(B,D);i=E;return}Sz(c[D>>2]|0,72,c[(c[B>>2]|0)+12>>2]|0)|0;B=c[D>>2]|0;D=c[C>>2]|0;_z(B,D);i=E;return}function dH(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;v=A+8|0;u=A;h=A+72|0;j=A+68|0;k=A+64|0;t=A+60|0;n=A+56|0;p=A+52|0;l=A+48|0;m=A+44|0;s=A+40|0;q=A+36|0;y=A+32|0;r=A+28|0;x=A+24|0;o=A+20|0;z=A+16|0;w=A+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[c[h>>2]>>2];if(a[(c[h>>2]|0)+409>>0]|0){i=A;return}if(d[(c[h>>2]|0)+16>>0]|0){i=A;return}if(d[(c[l>>2]|0)+69>>0]|0){i=A;return}a[(c[h>>2]|0)+16>>0]=1;c[m>>2]=(c[(c[l>>2]|0)+24>>2]&4|0)!=0&1;c[s>>2]=(c[(c[l>>2]|0)+24>>2]&64|0)!=0&1;mC(c[t>>2]|0,c[c[k>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[q>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[q>>2]|0){if(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[y>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];nC(c[t>>2]|0,c[n>>2]|0,0,c[y>>2]|0,-1)|0;break}if((d[c[q>>2]>>0]|0)!=152?(d[c[q>>2]>>0]|0)!=154:0){c[w>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[l>>2]|0;if(!(c[w>>2]|0)){c[v>>2]=(c[n>>2]|0)+1;g=Gh(g,35699,v)|0}else g=qh(g,c[w>>2]|0)|0;c[w>>2]=g;nC(c[t>>2]|0,c[n>>2]|0,0,c[w>>2]|0,170)|0;break}c[o>>2]=b[(c[q>>2]|0)+32>>1];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0)==(c[(c[q>>2]|0)+28>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[r>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[x>>2]=24745;else c[x>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(!((c[s>>2]|0)!=0|(c[m>>2]|0)!=0)){e=c[t>>2]|0;f=c[n>>2]|0;nC(e,f,0,qh(c[l>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(c[m>>2]|0){c[z>>2]=0;f=c[l>>2]|0;e=c[x>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=e;c[z>>2]=Gh(f,30161,u)|0;nC(c[t>>2]|0,c[n>>2]|0,0,c[z>>2]|0,170)|0;break}else{nC(c[t>>2]|0,c[n>>2]|0,0,c[x>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}eH(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=A;return}function eH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+64|0;m=l+56|0;n=l+52|0;e=l+48|0;j=l+44|0;f=l+40|0;h=l+8|0;g=l+4|0;k=l;c[m>>2]=a;c[n>>2]=b;c[e>>2]=d;c[j>>2]=c[(c[m>>2]|0)+8>>2];c[h+4>>2]=c[n>>2];c[h>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=dy(h,c[g>>2]|0,0)|0;nC(c[j>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function fH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}jx(c[e>>2]|0,66,c[f>>2]|0,c[g>>2]|0,1)|0;i=h;return}function gH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+24|0;k=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=vx(c[j>>2]|0)|0;Ih(c[l>>2]|0,31,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;jx(c[l>>2]|0,99,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;ix(c[l>>2]|0,126,c[k>>2]|0,c[h>>2]|0)|0;xx(c[j>>2]|0,c[h>>2]|0);i=g;return}function hH(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;t=A+64|0;h=A+60|0;u=A+56|0;w=A+52|0;q=A+48|0;z=A+44|0;r=A+40|0;x=A+36|0;p=A+32|0;m=A+28|0;k=A+24|0;j=A+20|0;l=A+16|0;o=A+12|0;s=A+8|0;n=A+4|0;y=A;v=A+68|0;c[h>>2]=f;c[u>>2]=g;c[q>>2]=c[(c[h>>2]|0)+24>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];c[x>>2]=c[(c[q>>2]|0)+12>>2];switch(d[c[u>>2]>>0]|0){case 152:case 154:{a:do if(c[r>>2]|0){c[p>>2]=(c[r>>2]|0)+8;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[r>>2]>>2]|0))break a;if((c[(c[u>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+44>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[m>>2]=c[(c[x>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+8>>2]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+24}if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0)?(y=jH(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,c[k>>2]=y,(y|0)>=0):0){c[m>>2]=(c[(c[x>>2]|0)+28>>2]|0)+((c[k>>2]|0)*24|0);c[c[m>>2]>>2]=c[(c[u>>2]|0)+44>>2];c[(c[m>>2]|0)+4>>2]=c[(c[u>>2]|0)+28>>2];c[(c[m>>2]|0)+8>>2]=b[(c[u>>2]|0)+32>>1];y=(c[z>>2]|0)+44|0;z=(c[y>>2]|0)+1|0;c[y>>2]=z;c[(c[m>>2]|0)+16>>2]=z;c[(c[m>>2]|0)+12>>2]=-1;c[(c[m>>2]|0)+20>>2]=c[u>>2];b:do if(c[(c[x>>2]|0)+24>>2]|0){c[o>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[o>>2]|0)+4>>2];c[l>>2]=c[c[o>>2]>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;c[n>>2]=c[c[s>>2]>>2];if(((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0):0)?(b[(c[n>>2]|0)+32>>1]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}c[(c[m>>2]|0)+12>>2]=c[j>>2]}while(0);if((c[(c[m>>2]|0)+12>>2]|0)<0){y=(c[x>>2]|0)+12|0;z=c[y>>2]|0;c[y>>2]=z+1;c[(c[m>>2]|0)+12>>2]=z}}c[(c[u>>2]|0)+40>>2]=c[x>>2];a[c[u>>2]>>0]=-102;b[(c[u>>2]|0)+34>>1]=c[k>>2]}while(0);c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}case 153:{if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[h>>2]|0)+16>>2]|0)==(d[(c[u>>2]|0)+38>>0]|0):0){c[y>>2]=c[(c[x>>2]|0)+40>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0))break;if(!(Ky(c[c[y>>2]>>2]|0,c[u>>2]|0,-1)|0))break;c[w>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+16}do if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0)?(a[v>>0]=a[(c[c[z>>2]>>2]|0)+66>>0]|0,c[w>>2]=kH(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,(c[w>>2]|0)>=0):0){c[y>>2]=(c[(c[x>>2]|0)+40>>2]|0)+(c[w>>2]<<4);c[c[y>>2]>>2]=c[u>>2];s=(c[z>>2]|0)+44|0;f=(c[s>>2]|0)+1|0;c[s>>2]=f;c[(c[y>>2]|0)+8>>2]=f;if(c[(c[u>>2]|0)+20>>2]|0)h=c[c[(c[u>>2]|0)+20>>2]>>2]|0;else h=0;v=ki(c[c[z>>2]>>2]|0,c[(c[u>>2]|0)+8>>2]|0,h,a[v>>0]|0,0)|0;c[(c[y>>2]|0)+4>>2]=v;if(c[(c[u>>2]|0)+4>>2]&16){v=(c[z>>2]|0)+40|0;z=c[v>>2]|0;c[v>>2]=z+1;c[(c[y>>2]|0)+12>>2]=z;break}else{c[(c[y>>2]|0)+12>>2]=-1;break}}while(0);b[(c[u>>2]|0)+34>>1]=c[w>>2];c[(c[u>>2]|0)+40>>2]=c[x>>2];c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}default:{c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}}return 0}function iH(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function jH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=SC(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;i=e;return c[d>>2]|0}function kH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=SC(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;i=e;return c[d>>2]|0}function lH(b,f,g,h,j,k,l){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;r=L+96|0;s=L+92|0;m=L+88|0;n=L+84|0;o=L+80|0;t=L+76|0;p=L+72|0;K=L+68|0;x=L+64|0;A=L+60|0;q=L+56|0;H=L+52|0;J=L+48|0;C=L+44|0;D=L+40|0;z=L+36|0;I=L+32|0;v=L+28|0;w=L+24|0;F=L+20|0;B=L+16|0;E=L+12|0;u=L+8|0;G=L+4|0;y=L;c[r>>2]=b;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[t>>2]=k;c[p>>2]=l;c[K>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=(d[(c[s>>2]|0)+28>>0]&1|0)==0&1;c[A>>2]=c[c[c[s>>2]>>2]>>2];c[q>>2]=(c[A>>2]|0)+(c[x>>2]|0)+(c[t>>2]|0);h=(c[r>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[J>>2]=j;c[C>>2]=c[(c[s>>2]|0)+4>>2];if(c[p>>2]|0)c[H>>2]=(c[n>>2]|0)-(c[A>>2]|0)-(c[x>>2]|0);else{c[H>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;j=(c[r>>2]|0)+44|0;c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0)}k=c[m>>2]|0;if(c[(c[m>>2]|0)+16>>2]|0)k=(c[k+16>>2]|0)+1|0;else k=c[k+12>>2]|0;c[z>>2]=k;m=Wz(c[K>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=m;aB(c[r>>2]|0,c[c[s>>2]>>2]|0,c[H>>2]|0,c[o>>2]|0,5)|0;if(c[x>>2]|0)ix(c[K>>2]|0,113,c[(c[s>>2]|0)+8>>2]|0,(c[H>>2]|0)+(c[A>>2]|0)|0)|0;if(!(c[p>>2]|0))XG(c[r>>2]|0,c[n>>2]|0,(c[H>>2]|0)+(c[A>>2]|0)+(c[x>>2]|0)|0,c[t>>2]|0);jx(c[K>>2]|0,99,(c[H>>2]|0)+(c[C>>2]|0)|0,(c[q>>2]|0)-(c[C>>2]|0)|0,c[J>>2]|0)|0;if((c[C>>2]|0)>0){c[I>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;k=(c[r>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[(c[s>>2]|0)+4>>2]|0);c[B>>2]=(c[A>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0)+(c[x>>2]|0);k=c[K>>2]|0;if(c[x>>2]|0)c[v>>2]=Sz(k,22,(c[H>>2]|0)+(c[A>>2]|0)|0)|0;else c[v>>2]=Sz(k,109,c[(c[s>>2]|0)+8>>2]|0)|0;jx(c[K>>2]|0,95,c[I>>2]|0,c[H>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;c[F>>2]=eA(c[K>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;if(a[(c[c[r>>2]>>2]|0)+69>>0]|0){i=L;return}c[(c[F>>2]|0)+8>>2]=(c[B>>2]|0)+(c[t>>2]|0);c[E>>2]=c[(c[F>>2]|0)+16>>2];VR(c[(c[E>>2]|0)+16>>2]|0,0,e[(c[E>>2]|0)+6>>1]|0)|0;Mh(c[K>>2]|0,-1,c[E>>2]|0,-6);E=JG(c[r>>2]|0,c[c[s>>2]>>2]|0,c[C>>2]|0,(e[(c[E>>2]|0)+8>>1]|0)-1|0)|0;c[(c[F>>2]|0)+16>>2]=E;c[w>>2]=wx(c[K>>2]|0)|0;jx(c[K>>2]|0,18,(c[w>>2]|0)+1|0,0,(c[w>>2]|0)+1|0)|0;E=Wz(c[K>>2]|0)|0;c[(c[s>>2]|0)+16>>2]=E;E=(c[r>>2]|0)+44|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[(c[s>>2]|0)+12>>2]=F;ix(c[K>>2]|0,14,c[(c[s>>2]|0)+12>>2]|0,c[(c[s>>2]|0)+16>>2]|0)|0;Sz(c[K>>2]|0,133,c[(c[s>>2]|0)+8>>2]|0)|0;if(c[z>>2]|0)ix(c[K>>2]|0,22,c[z>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;Zz(c[K>>2]|0,c[v>>2]|0);XG(c[r>>2]|0,c[H>>2]|0,c[I>>2]|0,c[(c[s>>2]|0)+4>>2]|0);Zz(c[K>>2]|0,c[w>>2]|0)}if(d[(c[s>>2]|0)+28>>0]&1)c[D>>2]=125;else c[D>>2]=126;ix(c[K>>2]|0,c[D>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[J>>2]|0)|0;if(!(c[z>>2]|0)){i=L;return}c[G>>2]=0;c[u>>2]=jx(c[K>>2]|0,67,c[z>>2]|0,0,1)|0;Sz(c[K>>2]|0,53,c[(c[s>>2]|0)+8>>2]|0)|0;if(a[(c[s>>2]|0)+29>>0]|0){I=(c[r>>2]|0)+44|0;J=(c[I>>2]|0)+1|0;c[I>>2]=J;c[G>>2]=J;jx(c[K>>2]|0,96,c[(c[s>>2]|0)+8>>2]|0,c[A>>2]|0,c[G>>2]|0)|0}Sz(c[K>>2]|0,117,c[(c[s>>2]|0)+8>>2]|0)|0;if(a[(c[s>>2]|0)+29>>0]|0){c[y>>2]=(wx(c[K>>2]|0)|0)+2;jx(c[K>>2]|0,37,(c[H>>2]|0)+(c[A>>2]|0)|0,c[y>>2]|0,c[G>>2]|0)|0;Jh(c[K>>2]|0,-128)}Zz(c[K>>2]|0,c[u>>2]|0);i=L;return}function mH(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;m=q+20|0;j=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[j>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[k>>2]=Iy(c[j>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;iv(c[j>>2]|0,c[n>>2]|0);c[n>>2]=c[k>>2];break}else l=8;while(0);do if((l|0)==8){e=mH(c[j>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=mH(c[j>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;j=c[j>>2]|0;e=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048){nH(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{oH(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;i=q;return p|0}function nH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[j>>2]|0)){i=q;return}while(1){oH(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0,c[l>>2]|0);oH(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0);oH(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,c[l>>2]|0);f=mH(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+40>>2]=f;f=mH(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=f;c[p>>2]=c[(c[j>>2]|0)+28>>2];c[n>>2]=c[c[p>>2]>>2];c[o>>2]=(c[p>>2]|0)+8;while(1){if((c[n>>2]|0)<=0)break;nH(c[h>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[k>>2]|0,c[l>>2]|0,1);if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1)oH(c[h>>2]|0,c[(c[o>>2]|0)+64>>2]|0,c[k>>2]|0,c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+72}if(!(c[m>>2]|0)){h=9;break}f=c[(c[j>>2]|0)+48>>2]|0;c[j>>2]=f;if(!f){h=9;break}}if((h|0)==9){i=q;return}}function oH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=mH(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function pH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=1;c[l>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[g>>2]=c[(c[g>>2]|0)+48>>2];c[j>>2]=(c[j>>2]|0)+1}while(1){if(!(c[g>>2]|0)){f=7;break}c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=0;c[l>>2]=Pv(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+48>>2]=c[k>>2];if(c[l>>2]|0){f=7;break}b[(c[g>>2]|0)+6>>1]=c[j>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((f|0)==7){i=m;return c[l>>2]|0}return 0}function qH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+128|0;F=G;o=G+120|0;p=G+116|0;q=G+112|0;g=G+108|0;l=G+104|0;E=G+100|0;A=G+96|0;t=G+92|0;s=G+88|0;r=G+84|0;v=G+80|0;B=G+76|0;w=G+72|0;k=G+68|0;j=G+64|0;u=G+40|0;f=G+32|0;n=G+28|0;z=G+24|0;x=G+20|0;y=G+16|0;C=G+12|0;D=G+8|0;m=G+4|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[g>>2]=c[(c[p>>2]|0)+28>>2];c[l>>2]=c[c[c[p>>2]>>2]>>2];c[E>>2]=c[(c[o>>2]|0)+8>>2];c[A>>2]=c[(c[p>>2]|0)+48>>2];c[v>>2]=0;c[k>>2]=0;c[j>>2]=5;if(ax(c[o>>2]|0,33,0,0,0)|0){i=G;return}c[r>>2]=Wz(c[E>>2]|0)|0;KG(c[o>>2]|0,c[p>>2]|0,c[r>>2]|0);c[x>>2]=c[(c[p>>2]|0)+56>>2];c[y>>2]=c[(c[p>>2]|0)+60>>2];c[C>>2]=c[(c[p>>2]|0)+12>>2];c[D>>2]=c[(c[p>>2]|0)+16>>2];c[(c[p>>2]|0)+60>>2]=0;c[(c[p>>2]|0)+56>>2]=0;c[(c[p>>2]|0)+16>>2]=0;c[(c[p>>2]|0)+12>>2]=0;c[z>>2]=c[(c[p>>2]|0)+44>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=c[f>>2]|0;if((d[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){h=5;break}c[f>>2]=b+1}if((h|0)==5)c[v>>2]=c[(c[g>>2]|0)+8+(b*72|0)+44>>2];h=(c[o>>2]|0)+40|0;b=c[h>>2]|0;c[h>>2]=b+1;c[w>>2]=b;b=(c[z>>2]|0)!=0;if((d[(c[p>>2]|0)+4>>0]|0|0)==115){c[j>>2]=b?8:6;g=(c[o>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[k>>2]=h}else c[j>>2]=b?7:5;vB(u,c[j>>2]|0,c[w>>2]|0);h=(c[o>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[B>>2]=j;jx(c[E>>2]|0,110,c[v>>2]|0,c[B>>2]|0,c[l>>2]|0)|0;if(c[z>>2]|0){c[m>>2]=uH(c[o>>2]|0,c[p>>2]|0,1)|0;mx(c[E>>2]|0,107,c[w>>2]|0,(c[c[z>>2]>>2]|0)+2|0,0,c[m>>2]|0,-6)|0;c[u+20>>2]=c[z>>2]}else ix(c[E>>2]|0,107,c[w>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){m=ix(c[E>>2]|0,107,c[k>>2]|0,0)|0;c[(c[p>>2]|0)+20>>2]=m;m=(c[p>>2]|0)+8|0;c[m>>2]=c[m>>2]|32}c[(c[p>>2]|0)+44>>2]=0;c[(c[A>>2]|0)+52>>2]=0;c[n>>2]=Pv(c[o>>2]|0,c[A>>2]|0,u)|0;c[(c[A>>2]|0)+52>>2]=c[p>>2];if(!(c[n>>2]|0)){c[t>>2]=ix(c[E>>2]|0,57,c[w>>2]|0,c[r>>2]|0)|0;Sz(c[E>>2]|0,124,c[v>>2]|0)|0;b=c[E>>2]|0;e=c[w>>2]|0;if(c[z>>2]|0)jx(b,96,e,(c[c[z>>2]>>2]|0)+1|0,c[B>>2]|0)|0;else ix(b,122,e,c[B>>2]|0)|0;Sz(c[E>>2]|0,117,c[w>>2]|0)|0;c[s>>2]=Wz(c[E>>2]|0)|0;fH(c[E>>2]|0,c[D>>2]|0,c[s>>2]|0);SG(c[o>>2]|0,c[p>>2]|0,c[c[p>>2]>>2]|0,c[v>>2]|0,0,0,c[q>>2]|0,c[s>>2]|0,c[r>>2]|0);if(c[C>>2]|0)ix(c[E>>2]|0,68,c[C>>2]|0,c[r>>2]|0)|0;_z(c[E>>2]|0,c[s>>2]|0);if(c[(c[p>>2]|0)+8>>2]&8)Eh(c[o>>2]|0,35980,F);else{c[(c[p>>2]|0)+48>>2]=0;Pv(c[o>>2]|0,c[p>>2]|0,u)|0;c[(c[p>>2]|0)+48>>2]=c[A>>2]}Yz(c[E>>2]|0,c[t>>2]|0)|0;_z(c[E>>2]|0,c[r>>2]|0)}ev(c[c[o>>2]>>2]|0,c[(c[p>>2]|0)+44>>2]|0);c[(c[p>>2]|0)+44>>2]=c[z>>2];c[(c[p>>2]|0)+56>>2]=c[x>>2];c[(c[p>>2]|0)+60>>2]=c[y>>2];i=G;return}function rH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=i;i=i+224|0;q=ba+220|0;r=ba+216|0;s=ba+212|0;t=ba+208|0;j=ba+204|0;k=ba+200|0;S=ba+196|0;aa=ba+192|0;H=ba+168|0;I=ba+144|0;T=ba+140|0;U=ba+136|0;E=ba+132|0;F=ba+128|0;X=ba+124|0;Y=ba+120|0;C=ba+116|0;D=ba+112|0;z=ba+108|0;A=ba+104|0;B=ba+100|0;y=ba+96|0;w=ba+92|0;x=ba+88|0;V=ba+84|0;W=ba+80|0;Z=ba+76|0;_=ba+72|0;$=ba+68|0;L=ba+64|0;M=ba+60|0;v=ba+56|0;O=ba+52|0;Q=ba+48|0;R=ba+44|0;G=ba+40|0;p=ba+36|0;N=ba+32|0;u=ba+28|0;J=ba+24|0;K=ba+20|0;m=ba+16|0;o=ba+12|0;n=ba+8|0;l=ba+4|0;P=ba;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[D>>2]=0;c[Q>>2]=0;c[G>>2]=c[c[r>>2]>>2];c[aa>>2]=c[(c[r>>2]|0)+8>>2];c[M>>2]=Wz(c[aa>>2]|0)|0;c[L>>2]=Wz(c[aa>>2]|0)|0;c[O>>2]=d[(c[s>>2]|0)+4>>0];c[S>>2]=c[(c[s>>2]|0)+48>>2];c[p>>2]=c[(c[s>>2]|0)+44>>2];c[N>>2]=c[c[p>>2]>>2];a:do if((c[O>>2]|0)!=116){c[j>>2]=1;while(1){if(d[(c[G>>2]|0)+69>>0]|0)break a;if((c[j>>2]|0)>(c[c[c[s>>2]>>2]>>2]|0))break a;c[k>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[N>>2]|0))break;if((e[(c[m>>2]|0)+16>>1]|0)==(c[j>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((c[k>>2]|0)==(c[N>>2]|0)){c[o>>2]=Wv(c[G>>2]|0,134,0)|0;if(!(c[o>>2]|0))break;f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];c[p>>2]=Tv(c[r>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){h=c[j>>2]&65535;f=c[N>>2]|0;c[N>>2]=f+1;b[(c[(c[p>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=h}}c[j>>2]=(c[j>>2]|0)+1}c[q>>2]=7;aa=c[q>>2]|0;i=ba;return aa|0}while(0);c[u>>2]=Vw(c[G>>2]|0,(c[N>>2]|0)+1<<2,0)|0;if(c[u>>2]|0){c[c[u>>2]>>2]=c[N>>2];c[j>>2]=1;c[n>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[j>>2]|0)>(c[N>>2]|0))break;c[(c[u>>2]|0)+(c[j>>2]<<2)>>2]=(e[(c[n>>2]|0)+16>>1]|0)-1;c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[R>>2]=uH(c[r>>2]|0,c[s>>2]|0,1)|0}else c[R>>2]=0;c[(c[s>>2]|0)+44>>2]=c[p>>2];f=Qy(c[c[r>>2]>>2]|0,c[p>>2]|0,0)|0;c[(c[S>>2]|0)+44>>2]=f;b:do if((c[O>>2]|0)!=116){c[l>>2]=c[c[c[s>>2]>>2]>>2];c[Z>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;f=(c[r>>2]|0)+44|0;c[f>>2]=(c[f>>2]|0)+((c[l>>2]|0)+1);ix(c[aa>>2]|0,76,0,c[Z>>2]|0)|0;c[Q>>2]=iA(c[G>>2]|0,c[l>>2]|0,1)|0;if(c[Q>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;f=tH(c[r>>2]|0,c[s>>2]|0,c[j>>2]|0)|0;c[(c[Q>>2]|0)+20+(c[j>>2]<<2)>>2]=f;a[(c[(c[Q>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=0;c[j>>2]=(c[j>>2]|0)+1}}}else c[Z>>2]=0;while(0);c[(c[s>>2]|0)+48>>2]=0;c[(c[S>>2]|0)+52>>2]=0;Ty(c[r>>2]|0,c[s>>2]|0,c[(c[s>>2]|0)+44>>2]|0,29099)|0;if(!(c[(c[S>>2]|0)+48>>2]|0))Ty(c[r>>2]|0,c[S>>2]|0,c[(c[S>>2]|0)+44>>2]|0,29099)|0;KG(c[r>>2]|0,c[s>>2]|0,c[M>>2]|0);if((c[O>>2]|0)==116?(c[(c[s>>2]|0)+12>>2]|0)!=0:0){j=(c[r>>2]|0)+44|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;c[V>>2]=f;f=(c[r>>2]|0)+44|0;j=(c[f>>2]|0)+1|0;c[f>>2]=j;c[W>>2]=j;j=c[s>>2]|0;if(c[(c[s>>2]|0)+16>>2]|0)j=(c[j+16>>2]|0)+1|0;else j=c[j+12>>2]|0;ix(c[aa>>2]|0,84,j,c[V>>2]|0)|0;ix(c[aa>>2]|0,84,c[V>>2]|0,c[W>>2]|0)|0}else{c[W>>2]=0;c[V>>2]=0}iv(c[G>>2]|0,c[(c[s>>2]|0)+56>>2]|0);c[(c[s>>2]|0)+56>>2]=0;iv(c[G>>2]|0,c[(c[s>>2]|0)+60>>2]|0);c[(c[s>>2]|0)+60>>2]=0;f=(c[r>>2]|0)+44|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[T>>2]=p;p=(c[r>>2]|0)+44|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[U>>2]=f;f=(c[r>>2]|0)+44|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[X>>2]=p;p=(c[r>>2]|0)+44|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[Y>>2]=f;vB(H,13,c[T>>2]|0);vB(I,13,c[U>>2]|0);c[E>>2]=(wx(c[aa>>2]|0)|0)+1;c[v>>2]=jx(c[aa>>2]|0,15,c[T>>2]|0,0,c[E>>2]|0)|0;c[(c[S>>2]|0)+12>>2]=c[V>>2];c[J>>2]=c[(c[r>>2]|0)+424>>2];Pv(c[r>>2]|0,c[S>>2]|0,H)|0;YC(c[aa>>2]|0,c[T>>2]|0);Zz(c[aa>>2]|0,c[v>>2]|0);c[F>>2]=(wx(c[aa>>2]|0)|0)+1;c[v>>2]=jx(c[aa>>2]|0,15,c[U>>2]|0,0,c[F>>2]|0)|0;c[_>>2]=c[(c[s>>2]|0)+12>>2];c[$>>2]=c[(c[s>>2]|0)+16>>2];c[(c[s>>2]|0)+12>>2]=c[W>>2];c[(c[s>>2]|0)+16>>2]=0;c[K>>2]=c[(c[r>>2]|0)+424>>2];Pv(c[r>>2]|0,c[s>>2]|0,I)|0;c[(c[s>>2]|0)+12>>2]=c[_>>2];c[(c[s>>2]|0)+16>>2]=c[$>>2];YC(c[aa>>2]|0,c[U>>2]|0);c[C>>2]=vH(c[r>>2]|0,c[s>>2]|0,H,c[t>>2]|0,c[X>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)c[D>>2]=vH(c[r>>2]|0,c[s>>2]|0,I,c[t>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;jA(c[Q>>2]|0);if((c[O>>2]|0)==117|(c[O>>2]|0)==118){$=c[M>>2]|0;c[z>>2]=$;c[A>>2]=$}else{c[z>>2]=ix(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;c[A>>2]=ix(c[aa>>2]|0,16,c[U>>2]|0,c[M>>2]|0)|0;Yz(c[aa>>2]|0,c[z>>2]|0)|0;$=nE(b[(c[s>>2]|0)+6>>1]|0,b[(c[S>>2]|0)+6>>1]|0)|0;b[(c[s>>2]|0)+6>>1]=$}if((c[O>>2]|0)==118){c[B>>2]=c[z>>2];if((b[(c[s>>2]|0)+6>>1]|0)>(b[(c[S>>2]|0)+6>>1]|0))b[(c[s>>2]|0)+6>>1]=b[(c[S>>2]|0)+6>>1]|0}else{c[B>>2]=ix(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;ix(c[aa>>2]|0,16,c[T>>2]|0,c[M>>2]|0)|0;Yz(c[aa>>2]|0,c[B>>2]|0)|0}c[y>>2]=ix(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;ix(c[aa>>2]|0,16,c[T>>2]|0,c[z>>2]|0)|0;Yz(c[aa>>2]|0,c[L>>2]|0)|0;do if((c[O>>2]|0)!=116)if((c[O>>2]|0)==118){c[w>>2]=c[y>>2];c[y>>2]=(c[y>>2]|0)+1;break}else{c[w>>2]=ix(c[aa>>2]|0,16,c[T>>2]|0,c[z>>2]|0)|0;Yz(c[aa>>2]|0,c[L>>2]|0)|0;break}else c[w>>2]=c[y>>2];while(0);c[x>>2]=wx(c[aa>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)ix(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;ix(c[aa>>2]|0,16,c[U>>2]|0,c[B>>2]|0)|0;Yz(c[aa>>2]|0,c[L>>2]|0)|0;Zz(c[aa>>2]|0,c[v>>2]|0);ix(c[aa>>2]|0,16,c[T>>2]|0,c[A>>2]|0)|0;ix(c[aa>>2]|0,16,c[U>>2]|0,c[B>>2]|0)|0;_z(c[aa>>2]|0,c[L>>2]|0);mx(c[aa>>2]|0,94,0,0,0,c[u>>2]|0,-15)|0;mx(c[aa>>2]|0,95,c[H+12>>2]|0,c[I+12>>2]|0,c[N>>2]|0,c[R>>2]|0,-6)|0;Jh(c[aa>>2]|0,1);jx(c[aa>>2]|0,18,c[y>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;_z(c[aa>>2]|0,c[M>>2]|0);if((d[c[t>>2]>>0]|0)==9){c[P>>2]=c[S>>2];while(1){if(!(c[(c[P>>2]|0)+48>>2]|0))break;c[P>>2]=c[(c[P>>2]|0)+48>>2]}dH(c[r>>2]|0,c[(c[P>>2]|0)+28>>2]|0,c[c[P>>2]>>2]|0)}if(c[(c[s>>2]|0)+48>>2]|0)fv(c[G>>2]|0,c[(c[s>>2]|0)+48>>2]|0);c[(c[s>>2]|0)+48>>2]=c[S>>2];c[(c[S>>2]|0)+52>>2]=c[s>>2];sH(c[r>>2]|0,d[(c[s>>2]|0)+4>>0]|0,c[J>>2]|0,c[K>>2]|0,0);c[q>>2]=(c[(c[r>>2]|0)+36>>2]|0)!=0&1;aa=c[q>>2]|0;i=ba;return aa|0}function sH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;h=q+40|0;j=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;p=q+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[h>>2]|0)+409>>0]|0|0)!=2){i=q;return}c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[c[h>>2]>>2]|0;g=c[k>>2]|0;e=c[l>>2]|0;f=(c[m>>2]|0)!=0?35924:18402;b=Sy(c[j>>2]|0)|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=f;c[o+12>>2]=b;c[p>>2]=Gh(a,35943,o)|0;mx(c[n>>2]|0,162,c[(c[h>>2]|0)+420>>2]|0,0,0,c[p>>2]|0,-1)|0;i=q;return}function tH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+48>>2]|0)c[h>>2]=tH(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=fy(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function uH(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+40|0;h=r+36|0;s=r+32|0;o=r+28|0;l=r+24|0;j=r+20|0;p=r+16|0;k=r+12|0;n=r+8|0;q=r+4|0;m=r;c[g>>2]=b;c[h>>2]=d;c[s>>2]=f;c[o>>2]=c[(c[h>>2]|0)+44>>2];c[l>>2]=c[c[(c[h>>2]|0)+44>>2]>>2];c[j>>2]=c[c[g>>2]>>2];c[p>>2]=iA(c[j>>2]|0,(c[l>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[p>>2]|0)){s=c[p>>2]|0;i=r;return s|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0);c[q>>2]=c[c[n>>2]>>2];f=c[g>>2]|0;if(c[(c[q>>2]|0)+4>>2]&256)c[m>>2]=fy(f,c[q>>2]|0)|0;else{c[m>>2]=tH(f,c[h>>2]|0,(e[(c[n>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[(c[j>>2]|0)+8>>2];s=Wy(c[g>>2]|0,c[q>>2]|0,c[c[m>>2]>>2]|0)|0;c[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=s}c[(c[p>>2]|0)+20+(c[k>>2]<<2)>>2]=c[m>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+12>>0]|0;c[k>>2]=(c[k>>2]|0)+1}s=c[p>>2]|0;i=r;return s|0}function vH(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;m=D+64|0;n=D+60|0;o=D+56|0;p=D+52|0;q=D+48|0;r=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[C>>2]=c[(c[n>>2]|0)+8>>2];c[v>>2]=wx(c[C>>2]|0)|0;c[y>>2]=Wz(c[C>>2]|0)|0;if(c[s>>2]|0){c[w>>2]=Sz(c[C>>2]|0,22,c[s>>2]|0)|0;k=c[C>>2]|0;b=c[(c[p>>2]|0)+12>>2]|0;j=(c[s>>2]|0)+1|0;h=c[(c[p>>2]|0)+16>>2]|0;c[x>>2]=mx(k,95,b,j,h,nA(c[t>>2]|0)|0,-6)|0;jx(c[C>>2]|0,18,(c[x>>2]|0)+2|0,c[y>>2]|0,(c[x>>2]|0)+2|0)|0;Zz(c[C>>2]|0,c[w>>2]|0);jx(c[C>>2]|0,84,c[(c[p>>2]|0)+12>>2]|0,(c[s>>2]|0)+1|0,(c[(c[p>>2]|0)+16>>2]|0)-1|0)|0;ix(c[C>>2]|0,76,1,c[s>>2]|0)|0}if(a[(c[c[n>>2]>>2]|0)+69>>0]|0){c[m>>2]=0;C=c[m>>2]|0;i=D;return C|0}fH(c[C>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[y>>2]|0);switch(d[c[q>>2]>>0]|0){case 12:{c[z>>2]=vx(c[n>>2]|0)|0;c[B>>2]=vx(c[n>>2]|0)|0;jx(c[C>>2]|0,99,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[z>>2]|0)|0;ix(c[C>>2]|0,114,c[(c[q>>2]|0)+8>>2]|0,c[B>>2]|0)|0;jx(c[C>>2]|0,115,c[(c[q>>2]|0)+8>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;Jh(c[C>>2]|0,8);xx(c[n>>2]|0,c[B>>2]|0);xx(c[n>>2]|0,c[z>>2]|0);break}case 11:{c[A>>2]=vx(c[n>>2]|0)|0;mx(c[C>>2]|0,99,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[A>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;WA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0);ix(c[C>>2]|0,126,c[(c[q>>2]|0)+8>>2]|0,c[A>>2]|0)|0;xx(c[n>>2]|0,c[A>>2]|0);break}case 10:{XG(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+8>>2]|0,1);break}case 13:{if(!(c[(c[q>>2]|0)+12>>2]|0)){h=CA(c[n>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[q>>2]|0)+12>>2]=h;c[(c[q>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2]}XG(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0);Sz(c[C>>2]|0,16,c[(c[q>>2]|0)+8>>2]|0)|0;break}default:{ix(c[C>>2]|0,87,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;WA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0)}}if(c[(c[o>>2]|0)+12>>2]|0)ix(c[C>>2]|0,68,c[(c[o>>2]|0)+12>>2]|0,c[u>>2]|0)|0;_z(c[C>>2]|0,c[y>>2]|0);Sz(c[C>>2]|0,72,c[r>>2]|0)|0;c[m>>2]=c[v>>2];C=c[m>>2]|0;i=D;return C|0}function wH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if(!(c[(c[k>>2]|0)+24>>2]&524288)){i=o;return}if((d[(c[j>>2]|0)+42>>0]|0)&16){i=o;return}if(c[(c[j>>2]|0)+12>>2]|0){i=o;return}c[l>>2]=0;c[n>>2]=dx(c[g>>2]|0)|0;do if(!(Yx(c[j>>2]|0)|0)){c[m>>2]=c[(c[j>>2]|0)+16>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+24>>0]|0)break;if(c[(c[k>>2]|0)+24>>2]&33554432)break;c[m>>2]=c[(c[m>>2]|0)+4>>2]}if(c[m>>2]|0){c[l>>2]=Wz(c[n>>2]|0)|0;ix(c[n>>2]|0,65,1,c[l>>2]|0)|0;break}else{i=o;return}}while(0);a[(c[g>>2]|0)+150>>0]=1;f=c[g>>2]|0;cw(f,Gz(c[k>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+150>>0]=0;if(!(c[(c[k>>2]|0)+24>>2]&33554432)){f=c[n>>2]|0;ix(f,65,0,(wx(c[n>>2]|0)|0)+2|0)|0;tA(c[g>>2]|0,787,2,0,-2,4)}if(!(c[l>>2]|0)){i=o;return}_z(c[n>>2]|0,c[l>>2]|0);i=o;return}function xH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;g=r+48|0;h=r+44|0;j=r+40|0;k=r+36|0;o=r+32|0;l=r+28|0;n=r+24|0;m=r+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[o>>2]=dx(c[g>>2]|0)|0;rx(c[g>>2]|0,1,c[j>>2]|0);if((d[(c[h>>2]|0)+42>>0]|0)&16)fx(c[o>>2]|0,152)|0;c[n>>2]=zx(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;_B(c[g>>2]|0,c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+32>>2]}if((d[(c[h>>2]|0)+42>>0]|0)&8){n=c[g>>2]|0;b=c[c[h>>2]>>2]|0;c[p>>2]=c[c[m>>2]>>2];c[p+4>>2]=b;cx(n,36169,p)}p=c[g>>2]|0;b=(c[j>>2]|0)==1?19905:19924;n=c[c[h>>2]>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[q+4>>2]=b;c[q+8>>2]=n;cx(p,36214,q);if((c[k>>2]|0)==0?((d[(c[h>>2]|0)+42>>0]|0)&16|0)==0:0)yH(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[h>>2]|0)+42>>0]|0)&16)){o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;mx(o,138,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;ex(q,p);p=c[l>>2]|0;q=c[j>>2]|0;zH(p,q);i=r;return}mx(c[o>>2]|0,154,c[j>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;mx(o,138,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;ex(q,p);p=c[l>>2]|0;q=c[j>>2]|0;zH(p,q);i=r;return}function yH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;d=n+28|0;e=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;f=n;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[j>>2]=0;if(!((c[g>>2]|0)!=0?(c[k>>2]|0)>=(c[g>>2]|0):0))c[j>>2]=c[k>>2];c[l>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;c[h>>2]=c[(c[l>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[h>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[h>>2]|0)>(c[j>>2]|0)):0)c[j>>2]=c[h>>2];c[l>>2]=c[(c[l>>2]|0)+20>>2]}if(!(c[j>>2]|0))break;c[f>>2]=Fh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;RC(c[d>>2]|0,c[j>>2]|0,c[f>>2]|0);c[g>>2]=c[j>>2]}i=n;return}function zH(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=k;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[j>>2]|0)+12>>2]|0){AH(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+4>>2]=0;b[(c[j>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}j=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[j>>1]=(e[j>>1]|0)&-3;i=k;return}function AH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){i=j;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Tf(a,c[c[h>>2]>>2]|0);iv(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}Tf(a,c[(c[f>>2]|0)+4>>2]|0);i=j;return}function BH(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+144|0;h=p+128|0;j=p+124|0;k=p+120|0;l=p+116|0;m=p+112|0;o=p;n=p+80|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;f=o;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=1;c[o+8+8>>2]=c[c[j>>2]>>2];c[o+8+16>>2]=c[j>>2];c[o+8+44>>2]=-1;c[n>>2]=c[h>>2];c[n+4>>2]=o;b[n+28>>1]=c[k>>2];o=(Ay(n,c[l>>2]|0)|0)==0;if(!(o&(c[m>>2]|0)!=0)){i=p;return}By(n,c[m>>2]|0)|0;i=p;return}function CH(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=55;i=f;return}if((d[b>>0]|0|0)!=53){i=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){i=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=55;i=f;return}function DH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){f=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){f=4;break}}if((f|0)==4){c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else if((f|0)==5){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}return 0}function EH(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k=l+16|0;c[f>>2]=a;c[j>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[k>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[k>>1]|0)<0)a=1;else a=d[(c[g>>2]|0)+(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]<<4)+14>>0]|0;c[j>>2]=(c[j>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}k=Mj(c[j>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=k;i=l;return}function FH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;GH(c[e>>2]|0,c[f>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}Tf(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}function GH(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function HH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=xB(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;i=f;return b|0}function IH(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;h=v+52|0;j=v+48|0;q=v+44|0;s=v+40|0;p=v+36|0;l=v+32|0;n=v+28|0;k=v+24|0;t=v+20|0;r=v+16|0;m=v+8|0;o=v;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[c[h>>2]>>2];c[t>>2]=c[(c[h>>2]|0)+8>>2];a:do if(!(a[(c[k>>2]|0)+148+7>>0]|0)){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break a;if(d[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+15>>0]&1)a[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+12>>0]=2;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[h>>2]|0)+410>>0]|0){i=v;return}if(c[(c[h>>2]|0)+132>>2]|0)LG(c[t>>2]|0,c[(c[h>>2]|0)+132>>2]|0,-122);f=c[j>>2]|0;do if((b[(c[j>>2]|0)+32>>1]|0)>=0){Xy(m,c[(c[(c[j>>2]|0)+4>>2]|0)+(b[f+32>>1]<<4)>>2]|0);t=c[h>>2]|0;c[r>>2]=Tv(t,0,jw(c[k>>2]|0,55,m,0)|0)|0;if(!(c[r>>2]|0)){i=v;return}a[(c[(c[r>>2]|0)+4>>2]|0)+12>>0]=a[(c[h>>2]|0)+408>>0]|0;Iv(c[h>>2]|0,0,0,0,c[r>>2]|0,d[(c[j>>2]|0)+43>>0]|0,0,0,0,0,2);if(a[(c[k>>2]|0)+69>>0]|0){i=v;return}else{c[s>>2]=Jj(c[j>>2]|0)|0;b[(c[j>>2]|0)+32>>1]=-1;break}}else{c[s>>2]=Jj(f)|0;if(c[t>>2]|0)LG(c[t>>2]|0,c[(c[s>>2]|0)+44>>2]|0,13);c[n>>2]=1;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(e[(c[s>>2]|0)+50>>1]|0))break;if(DH(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0){t=(c[s>>2]|0)+52|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16}else{r=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;t=c[n>>2]|0;c[n>>2]=t+1;b[(c[(c[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=r}c[l>>2]=(c[l>>2]|0)+1}b[(c[s>>2]|0)+50>>1]=c[n>>2]}while(0);t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-33|32;if(!(a[(c[k>>2]|0)+148+7>>0]|0)){t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-9|8}c[p>>2]=e[(c[s>>2]|0)+50>>1];c[(c[s>>2]|0)+44>>2]=c[(c[j>>2]|0)+28>>2];c[q>>2]=c[(c[j>>2]|0)+8>>2];b:while(1){if(!(c[q>>2]|0))break;c:do if((a[(c[q>>2]|0)+55>>0]&3|0)!=2){c[o>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;if(!(DH(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0))c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(!(c[o>>2]|0)){b[(c[q>>2]|0)+52>>1]=b[(c[q>>2]|0)+50>>1]|0;break}if(NH(c[k>>2]|0,c[q>>2]|0,(e[(c[q>>2]|0)+50>>1]|0)+(c[o>>2]|0)|0)|0){u=50;break b}c[l>>2]=0;c[n>>2]=e[(c[q>>2]|0)+50>>1];while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break c;if(!(DH(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0)){b[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;c[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((u|0)==50){i=v;return}if((c[p>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0)){b[(c[s>>2]|0)+52>>1]=b[(c[j>>2]|0)+34>>1]|0;i=v;return}if(NH(c[k>>2]|0,c[s>>2]|0,b[(c[j>>2]|0)+34>>1]|0)|0){i=v;return}c[l>>2]=0;c[n>>2]=c[p>>2];while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!(DH(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,c[l>>2]|0)|0)){b[(c[(c[s>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[l>>2];c[(c[(c[s>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=34834;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=v;return}function JH(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)<=0)break;c[h>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+14>>0]|0);c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+16}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[h>>2]|0;g=g<<2;g=Mj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}c[h>>2]=(c[h>>2]|0)+1;g=c[h>>2]|0;g=g<<2;g=Mj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}function KH(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;q=w+16|0;p=w+8|0;g=w;h=w+68|0;f=w+64|0;j=w+60|0;k=w+56|0;l=w+52|0;n=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;r=w+32|0;o=w+28|0;m=w+24|0;v=w+20|0;c[f>>2]=d;c[j>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;e=(LH(c[c[o>>2]>>2]|0)|0)+5|0;c[n>>2]=(c[n>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}e=LH(c[c[j>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+e;if((c[n>>2]|0)<50){c[s>>2]=18402;c[t>>2]=34710;c[r>>2]=34706}else{c[s>>2]=37369;c[t>>2]=37373;c[r>>2]=37378}c[n>>2]=(c[n>>2]|0)+(35+((b[(c[j>>2]|0)+34>>1]|0)*6|0));e=c[n>>2]|0;c[u>>2]=Ch(0,e,((e|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){mh(c[f>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}Qd(c[n>>2]|0,c[u>>2]|0,37381,g)|0;c[l>>2]=Jf(c[u>>2]|0)|0;MH(c[u>>2]|0,l,c[c[j>>2]>>2]|0);g=c[l>>2]|0;c[l>>2]=g+1;a[(c[u>>2]|0)+g>>0]=40;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){f=(c[n>>2]|0)-(c[l>>2]|0)|0;d=(c[u>>2]|0)+(c[l>>2]|0)|0;if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;Qd(f,d,c[s>>2]|0,p)|0;g=Jf((c[u>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+g;c[s>>2]=c[t>>2];MH(c[u>>2]|0,l,c[c[o>>2]>>2]|0);c[v>>2]=c[5492+((a[(c[o>>2]|0)+13>>0]|0)-65<<2)>>2];c[m>>2]=Jf(c[v>>2]|0)|0;TR((c[u>>2]|0)+(c[l>>2]|0)|0,c[v>>2]|0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}c[q>>2]=c[r>>2];Qd(f,d,18391,q)|0;c[h>>2]=c[u>>2];v=c[h>>2]|0;i=w;return v|0}function LH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}i=f;return (c[e>>2]|0)+2|0}function MH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;o=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[18403+(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if(((d[18403+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(Di(c[m>>2]|0,c[k>>2]|0)|0)==55:0)?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)e=(c[k>>2]|0)==0;else e=1;c[l>>2]=e&1;if(c[l>>2]|0){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;f=a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=f;if((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==34){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[l>>2]|0)){m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}m=c[j>>2]|0;c[j>>2]=m+1;a[(c[g>>2]|0)+m>>0]=34;m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}function NH(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if((e[(c[k>>2]|0)+52>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=(c[l>>2]|0)*7;f=c[m>>2]|0;c[n>>2]=sh(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}else{TR(c[n>>2]|0,c[(c[k>>2]|0)+32>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[k>>2]|0)+32>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<2);TR(c[n>>2]|0,c[(c[k>>2]|0)+4>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[k>>2]|0)+4>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<1);TR(c[n>>2]|0,c[(c[k>>2]|0)+28>>2]|0,e[(c[k>>2]|0)+52>>1]|0|0)|0;c[(c[k>>2]|0)+28>>2]=c[n>>2];b[(c[k>>2]|0)+52>>1]=c[l>>2];n=(c[k>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}return 0}function OH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=dx(c[d>>2]|0)|0;Tz(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?19905:19924);Ih(c[g>>2]|0,105,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+40>>2]|0){i=e;return}c[(c[d>>2]|0)+40>>2]=1;i=e;return}function PH(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[b>>2]=a;c[h>>2]=dx(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+112>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+116>>2]|0)+(c[e>>2]<<4);c[g>>2]=c[c[f>>2]>>2];mx(c[h>>2]|0,151,c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|0,c[(c[f>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=j;return}function QH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;h=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;e=l;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=c[(c[d>>2]|0)+8>>2];c[h>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[h>>2]|0)){d=5;break}c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[h>>2]|0)+12>>2];Uz(c[d>>2]|0,0,c[(c[h>>2]|0)+8>>2]|0,c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0,104);hx(c[k>>2]|0,(c[g>>2]|0)-1|0,c[c[(c[h>>2]|0)+4>>2]>>2]|0)|0;c[e>>2]=Kh(c[k>>2]|0,10,37557,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+12>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+4>>2]=(c[g>>2]|0)-1;c[(c[e>>2]|0)+60+12>>2]=c[g>>2];a[(c[e>>2]|0)+60+3>>0]=16;c[(c[e>>2]|0)+80+8>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+100+12>>2]=c[g>>2];c[(c[e>>2]|0)+160+8>>2]=c[g>>2];c[h>>2]=c[c[h>>2]>>2]}if((d|0)==5){i=l;return}}function RH(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];Rd(21,39546,d);i=b;return} -function gw(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+304|0;C=oa+32|0;B=oa+16|0;A=oa;F=oa+284|0;G=oa+280|0;H=oa+276|0;I=oa+272|0;J=oa+268|0;P=oa+264|0;ca=oa+260|0;k=oa+256|0;R=oa+252|0;Z=oa+248|0;V=oa+244|0;na=oa+240|0;aa=oa+236|0;_=oa+232|0;$=oa+228|0;S=oa+224|0;T=oa+220|0;W=oa+216|0;Q=oa+212|0;la=oa+208|0;N=oa+204|0;M=oa+200|0;p=oa+176|0;q=oa+172|0;ma=oa+291|0;O=oa+290|0;D=oa+289|0;o=oa+288|0;ba=oa+168|0;ha=oa+164|0;fa=oa+160|0;ja=oa+156|0;ia=oa+152|0;ka=oa+148|0;ga=oa+144|0;K=oa+140|0;Y=oa+136|0;da=oa+132|0;z=oa+128|0;x=oa+124|0;n=oa+120|0;t=oa+116|0;v=oa+112|0;w=oa+108|0;m=oa+104|0;y=oa+72|0;r=oa+68|0;u=oa+64|0;l=oa+60|0;s=oa+56|0;L=oa+52|0;U=oa+48|0;ea=oa+44|0;X=oa+40|0;c[F>>2]=e;c[G>>2]=f;c[H>>2]=g;c[I>>2]=h;c[J>>2]=j;c[$>>2]=0;c[S>>2]=0;c[T>>2]=0;c[W>>2]=-1;c[la>>2]=0;c[N>>2]=0;c[M>>2]=0;a[ma>>0]=0;a[O>>0]=0;c[ba>>2]=0;c[ha>>2]=0;c[fa>>2]=0;c[ja>>2]=0;c[K>>2]=0;c[P>>2]=c[c[F>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;a:do if((c[(c[F>>2]|0)+36>>2]|0)==0?(d[(c[P>>2]|0)+69>>0]|0)==0:0){if(((c[H>>2]|0)!=0?(c[(c[H>>2]|0)+8>>2]&512|0)!=0:0)?(c[(c[H>>2]|0)+48>>2]|0)==0:0){c[ba>>2]=c[c[H>>2]>>2];c[c[H>>2]>>2]=0;fv(c[P>>2]|0,c[H>>2]|0);c[H>>2]=0}c[k>>2]=c[(c[G>>2]|0)+8+8>>2];if((((((c[k>>2]|0)!=0?(c[ca>>2]=bC(c[F>>2]|0,c[G>>2]|0)|0,(c[ca>>2]|0)!=0):0)?(c[q>>2]=Fh(c[P>>2]|0,c[(c[ca>>2]|0)+64>>2]|0)|0,(ax(c[F>>2]|0,18,c[c[ca>>2]>>2]|0,0,c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0)|0)==0):0)?(a[D>>0]=((d[(c[ca>>2]|0)+42>>0]&32|0)==0^1)&1,c[da>>2]=TC(c[F>>2]|0,c[ca>>2]|0,108,0,z)|0,c[Y>>2]=(c[(c[ca>>2]|0)+12>>2]|0)!=0&1,(Tx(c[F>>2]|0,c[ca>>2]|0)|0)==0):0)?(UC(c[F>>2]|0,c[ca>>2]|0,c[z>>2]|0)|0)==0:0)?(c[na>>2]=dx(c[F>>2]|0)|0,(c[na>>2]|0)!=0):0){if(!(d[(c[F>>2]|0)+18>>0]|0))VC(c[na>>2]|0);rx(c[F>>2]|0,((c[H>>2]|0)!=0?1:(c[da>>2]|0)!=0)&1,c[q>>2]|0);if(!((c[I>>2]|0)==0?(WC(c[F>>2]|0,c[ca>>2]|0,c[H>>2]|0,c[J>>2]|0,c[q>>2]|0)|0)!=0:0))E=17;b:do if((E|0)==17){c[fa>>2]=XC(c[F>>2]|0,c[q>>2]|0,c[ca>>2]|0)|0;k=(c[(c[F>>2]|0)+44>>2]|0)+1|0;c[ia>>2]=k;c[ka>>2]=k;k=(c[F>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+((b[(c[ca>>2]|0)+34>>1]|0)+1);if(d[(c[ca>>2]|0)+42>>0]&16){c[ka>>2]=(c[ka>>2]|0)+1;k=(c[F>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+1}c[ga>>2]=(c[ka>>2]|0)+1;a[o>>0]=(d[(c[ca>>2]|0)+42>>0]&128|0)==0;c:do if(c[I>>2]|0){c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break;c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)+4>>2]=-1;c[R>>2]=(c[R>>2]|0)+1}c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break c;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;k=(ig(c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+(c[Z>>2]<<4)>>2]|0)|0)==0;j=c[Z>>2]|0;if(k){E=28;break}c[Z>>2]=j+1}do if((E|0)==28){E=0;c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)+4>>2]=j;if((c[R>>2]|0)!=(c[Z>>2]|0))a[o>>0]=0;if((c[Z>>2]|0)!=(b[(c[ca>>2]|0)+32>>1]|0))break;c[W>>2]=c[R>>2]}while(0);if((c[Z>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0)){k=(ui(c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)>>2]|0)|0)==0;if(k|(a[D>>0]|0)!=0)break;c[W>>2]=c[R>>2];a[o>>0]=0}c[R>>2]=(c[R>>2]|0)+1}na=c[F>>2]|0;ma=c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)>>2]|0;c[A>>2]=c[G>>2];c[A+4>>2]=0;c[A+8>>2]=ma;Eh(na,34261,A);a[(c[F>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[H>>2]|0)){c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[y+16>>2]=0;c[y+20>>2]=0;c[y+24>>2]=0;c[y+28>>2]=0;c[y>>2]=c[F>>2];c[la>>2]=-1;if(c[ba>>2]|0){c[_>>2]=c[c[ba>>2]>>2];if(By(y,c[ba>>2]|0)|0)break a;else break}else{c[_>>2]=0;break}}else{y=(c[F>>2]|0)+44|0;A=(c[y>>2]|0)+1|0;c[y>>2]=A;c[x>>2]=A;c[n>>2]=(wx(c[na>>2]|0)|0)+1;jx(c[na>>2]|0,15,c[x>>2]|0,0,c[n>>2]|0)|0;vB(p,13,c[x>>2]|0);c[p+12>>2]=(d[o>>0]|0)!=0?c[ga>>2]|0:0;c[p+16>>2]=b[(c[ca>>2]|0)+34>>1];c[t>>2]=Pv(c[F>>2]|0,c[H>>2]|0,p)|0;c[ha>>2]=c[p+12>>2];if(c[t>>2]|0)break a;if(d[(c[P>>2]|0)+69>>0]|0)break a;if(c[(c[F>>2]|0)+36>>2]|0)break a;YC(c[na>>2]|0,c[x>>2]|0);Zz(c[na>>2]|0,(c[n>>2]|0)-1|0);c[_>>2]=c[c[c[H>>2]>>2]>>2];if(!((c[da>>2]|0)==0?(ZC(c[F>>2]|0,c[q>>2]|0,c[ca>>2]|0)|0)==0:0))a[ma>>0]=1;if(!(a[ma>>0]|0))break;y=(c[F>>2]|0)+40|0;A=c[y>>2]|0;c[y>>2]=A+1;c[la>>2]=A;c[v>>2]=vx(c[F>>2]|0)|0;c[w>>2]=vx(c[F>>2]|0)|0;ix(c[na>>2]|0,107,c[la>>2]|0,c[_>>2]|0)|0;c[m>>2]=Sz(c[na>>2]|0,16,c[p+8>>2]|0)|0;jx(c[na>>2]|0,99,c[ha>>2]|0,c[_>>2]|0,c[v>>2]|0)|0;ix(c[na>>2]|0,114,c[la>>2]|0,c[w>>2]|0)|0;jx(c[na>>2]|0,115,c[la>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;Yz(c[na>>2]|0,c[m>>2]|0)|0;Zz(c[na>>2]|0,c[m>>2]|0);xx(c[F>>2]|0,c[v>>2]|0);xx(c[F>>2]|0,c[w>>2]|0)}while(0);if((c[I>>2]|0)==0&(c[_>>2]|0)>0)c[W>>2]=b[(c[ca>>2]|0)+32>>1];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;c[$>>2]=(c[$>>2]|0)+((d[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+15>>0]&2|0)!=0?1:0);c[R>>2]=(c[R>>2]|0)+1}if((c[I>>2]|0)==0&(c[_>>2]|0)!=0?(c[_>>2]|0)!=((b[(c[ca>>2]|0)+34>>1]|0)-(c[$>>2]|0)|0):0){na=c[F>>2]|0;la=(b[(c[ca>>2]|0)+34>>1]|0)-(c[$>>2]|0)|0;ma=c[_>>2]|0;c[B>>2]=c[G>>2];c[B+4>>2]=0;c[B+8>>2]=la;c[B+12>>2]=ma;Eh(na,34293,B);break a}do if(c[I>>2]|0){if((c[_>>2]|0)==(c[(c[I>>2]|0)+4>>2]|0))break;na=c[F>>2]|0;ma=c[(c[I>>2]|0)+4>>2]|0;c[C>>2]=c[_>>2];c[C+4>>2]=ma;Eh(na,34345,C);break a}while(0);if(c[(c[P>>2]|0)+24>>2]&128){B=(c[F>>2]|0)+44|0;C=(c[B>>2]|0)+1|0;c[B>>2]=C;c[ja>>2]=C;ix(c[na>>2]|0,76,0,c[ja>>2]|0)|0}d:do if(!(c[Y>>2]|0)){c[r>>2]=FC(c[F>>2]|0,c[ca>>2]|0,105,0,-1,0,S,T)|0;c[K>>2]=Vw(c[P>>2]|0,(c[r>>2]|0)+1<<2,0)|0;if(!(c[K>>2]|0))break a;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[r>>2]|0))break d;B=(c[F>>2]|0)+44|0;C=(c[B>>2]|0)+1|0;c[B>>2]=C;c[(c[K>>2]|0)+(c[R>>2]<<2)>>2]=C;c[R>>2]=(c[R>>2]|0)+1}}while(0);do if(a[ma>>0]|0){c[N>>2]=Sz(c[na>>2]|0,57,c[la>>2]|0)|0;c[M>>2]=wx(c[na>>2]|0)|0}else{if(!(c[H>>2]|0))break;C=Sz(c[na>>2]|0,16,c[p+8>>2]|0)|0;c[M>>2]=C;c[N>>2]=C}while(0);c[Q>>2]=Wz(c[na>>2]|0)|0;if(c[z>>2]&1){c[u>>2]=CA(c[F>>2]|0,(b[(c[ca>>2]|0)+34>>1]|0)+1|0)|0;if((c[W>>2]|0)<0)ix(c[na>>2]|0,76,-1,c[u>>2]|0)|0;else{if(a[ma>>0]|0)jx(c[na>>2]|0,96,c[la>>2]|0,c[W>>2]|0,c[u>>2]|0)|0;else RA(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0,c[u>>2]|0);c[l>>2]=Sz(c[na>>2]|0,35,c[u>>2]|0)|0;ix(c[na>>2]|0,76,-1,c[u>>2]|0)|0;Zz(c[na>>2]|0,c[l>>2]|0);Sz(c[na>>2]|0,17,c[u>>2]|0)|0}c[Z>>2]=0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;e:do if(c[I>>2]|0){c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break e;if((c[(c[c[I>>2]>>2]|0)+(c[Z>>2]<<3)+4>>2]|0)==(c[R>>2]|0))break e;c[Z>>2]=(c[Z>>2]|0)+1}}while(0);do if((a[ma>>0]|0)!=0|(c[ba>>2]|0)!=0){if((c[I>>2]|0)!=0?(c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0):0){E=90;break}if(a[ma>>0]|0){jx(c[na>>2]|0,96,c[la>>2]|0,c[Z>>2]|0,(c[u>>2]|0)+(c[R>>2]|0)+1|0)|0;break}else{_C(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0,(c[u>>2]|0)+(c[R>>2]|0)+1|0);break}}else E=90;while(0);if((E|0)==90){E=0;RA(c[F>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+4>>2]|0,(c[u>>2]|0)+(c[R>>2]|0)+1|0)}if(!(c[I>>2]|0))c[Z>>2]=(c[Z>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+1}if(!(c[Y>>2]|0))$C(c[na>>2]|0,c[ca>>2]|0,(c[u>>2]|0)+1|0);aD(c[F>>2]|0,c[da>>2]|0,108,0,1,c[ca>>2]|0,(c[u>>2]|0)-(b[(c[ca>>2]|0)+34>>1]|0)-1|0,c[J>>2]|0,c[Q>>2]|0);FA(c[F>>2]|0,c[u>>2]|0,(b[(c[ca>>2]|0)+34>>1]|0)+1|0)}do if(!(c[Y>>2]|0)){if(d[(c[ca>>2]|0)+42>>0]&16)ix(c[na>>2]|0,79,0,c[ia>>2]|0)|0;f:do if((c[W>>2]|0)>=0){do if(a[ma>>0]|0)jx(c[na>>2]|0,96,c[la>>2]|0,c[W>>2]|0,c[ka>>2]|0)|0;else{if(c[H>>2]|0){ix(c[na>>2]|0,84,(c[ha>>2]|0)+(c[W>>2]|0)|0,c[ka>>2]|0)|0;break}RA(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0,c[ka>>2]|0);c[s>>2]=eA(c[na>>2]|0,-1)|0;if(!(c[s>>2]|0))break;if((d[c[s>>2]>>0]|0)!=79)break;if(d[(c[ca>>2]|0)+42>>0]&16)break;a[O>>0]=1;a[c[s>>2]>>0]=114;c[(c[s>>2]|0)+4>>2]=c[S>>2];c[(c[s>>2]|0)+8>>2]=c[ka>>2];c[(c[s>>2]|0)+12>>2]=c[fa>>2]}while(0);if(a[O>>0]|0)break;j=c[na>>2]|0;if(d[(c[ca>>2]|0)+42>>0]&16){c[L>>2]=wx(j)|0;ix(c[na>>2]|0,34,c[ka>>2]|0,(c[L>>2]|0)+2|0)|0}else{c[L>>2]=Sz(j,35,c[ka>>2]|0)|0;jx(c[na>>2]|0,114,c[S>>2]|0,c[ka>>2]|0,c[fa>>2]|0)|0;Zz(c[na>>2]|0,c[L>>2]|0)}Sz(c[na>>2]|0,17,c[ka>>2]|0)|0}else{do if(!(d[(c[ca>>2]|0)+42>>0]&16)){if(d[D>>0]|0)break;jx(c[na>>2]|0,114,c[S>>2]|0,c[ka>>2]|0,c[fa>>2]|0)|0;a[O>>0]=1;break f}while(0);ix(c[na>>2]|0,79,0,c[ka>>2]|0)|0}while(0);bD(c[F>>2]|0,c[fa>>2]|0,c[ka>>2]|0);c[$>>2]=0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;c[U>>2]=(c[ka>>2]|0)+1+(c[R>>2]|0);g:do if((c[R>>2]|0)==(b[(c[ca>>2]|0)+32>>1]|0))Sz(c[na>>2]|0,80,c[U>>2]|0)|0;else{h:do if(!(c[I>>2]|0))if(d[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+15>>0]&2){c[Z>>2]=-1;c[$>>2]=(c[$>>2]|0)+1;break}else{c[Z>>2]=(c[R>>2]|0)-(c[$>>2]|0);break}else{c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break h;if((c[(c[c[I>>2]>>2]|0)+(c[Z>>2]<<3)+4>>2]|0)==(c[R>>2]|0))break h;c[Z>>2]=(c[Z>>2]|0)+1}}while(0);do if(!((c[Z>>2]|0)<0|(c[_>>2]|0)==0)){if((c[I>>2]|0)!=0?(c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0):0)break;if(a[ma>>0]|0){jx(c[na>>2]|0,96,c[la>>2]|0,c[Z>>2]|0,c[U>>2]|0)|0;break g}if(!(c[H>>2]|0)){RA(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0,c[U>>2]|0);break g}if((c[ha>>2]|0)==(c[ga>>2]|0))break g;ix(c[na>>2]|0,85,(c[ha>>2]|0)+(c[Z>>2]|0)|0,c[U>>2]|0)|0;break g}while(0);cD(c[F>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+4>>2]|0,c[U>>2]|0)}while(0);c[R>>2]=(c[R>>2]|0)+1}if(d[(c[ca>>2]|0)+42>>0]&16){c[ea>>2]=Ux(c[P>>2]|0,c[ca>>2]|0)|0;dD(c[F>>2]|0,c[ca>>2]|0);mx(c[na>>2]|0,12,1,(b[(c[ca>>2]|0)+34>>1]|0)+2|0,c[ia>>2]|0,c[ea>>2]|0,-10)|0;Jh(c[na>>2]|0,((c[J>>2]|0)==10?2:c[J>>2]|0)&255);Vx(c[F>>2]|0);break}else{eD(c[F>>2]|0,c[ca>>2]|0,c[K>>2]|0,c[S>>2]|0,c[T>>2]|0,c[ia>>2]|0,0,(c[W>>2]|0)>=0&255,c[J>>2]&255,c[Q>>2]|0,X,0);fD(c[F>>2]|0,c[ca>>2]|0,0,c[ia>>2]|0,0,0);gD(c[F>>2]|0,c[ca>>2]|0,c[S>>2]|0,c[T>>2]|0,c[ia>>2]|0,c[K>>2]|0,0,d[O>>0]|0,(c[X>>2]|0)==0&1);break}}while(0);if(c[(c[P>>2]|0)+24>>2]&128)ix(c[na>>2]|0,91,c[ja>>2]|0,1)|0;if(c[da>>2]|0)aD(c[F>>2]|0,c[da>>2]|0,108,0,2,c[ca>>2]|0,(c[ga>>2]|0)-2-(b[(c[ca>>2]|0)+34>>1]|0)|0,c[J>>2]|0,c[Q>>2]|0);_z(c[na>>2]|0,c[Q>>2]|0);do if(a[ma>>0]|0){ix(c[na>>2]|0,7,c[la>>2]|0,c[M>>2]|0)|0;Zz(c[na>>2]|0,c[N>>2]|0);Sz(c[na>>2]|0,111,c[la>>2]|0)|0}else{if(!(c[H>>2]|0))break;Yz(c[na>>2]|0,c[M>>2]|0)|0;Zz(c[na>>2]|0,c[N>>2]|0)}while(0);if((c[Y>>2]|0)!=0?1:(d[(c[ca>>2]|0)+42>>0]&16|0)!=0)break;if((c[S>>2]|0)<(c[T>>2]|0))Sz(c[na>>2]|0,111,c[S>>2]|0)|0;c[V>>2]=0;c[aa>>2]=c[(c[ca>>2]|0)+8>>2];while(1){if(!(c[aa>>2]|0))break b;Sz(c[na>>2]|0,111,(c[V>>2]|0)+(c[T>>2]|0)|0)|0;c[aa>>2]=c[(c[aa>>2]|0)+20>>2];c[V>>2]=(c[V>>2]|0)+1}}while(0);if((d[(c[F>>2]|0)+18>>0]|0)==0?(c[(c[F>>2]|0)+128>>2]|0)==0:0)hD(c[F>>2]|0);if(((c[(c[P>>2]|0)+24>>2]&128|0)!=0?(a[(c[F>>2]|0)+18>>0]|0)==0:0)?(c[(c[F>>2]|0)+128>>2]|0)==0:0){ix(c[na>>2]|0,87,c[ja>>2]|0,1)|0;mC(c[na>>2]|0,1);nC(c[na>>2]|0,0,0,34370,0)|0}}}while(0);hv(c[P>>2]|0,c[G>>2]|0);ev(c[P>>2]|0,c[ba>>2]|0);fv(c[P>>2]|0,c[H>>2]|0);kv(c[P>>2]|0,c[I>>2]|0);Tf(c[P>>2]|0,c[K>>2]|0);i=oa;return}function hw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=sh(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}d=SC(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;e=c[e>>2]|0;if((c[j>>2]|0)<0){kv(e,c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else{h=Tw(e,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];j=c[f>>2]|0;i=k;return j|0}return 0}function iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function jw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=0;c[n>>2]=0;do if(c[l>>2]|0){if(((c[k>>2]|0)==134?(c[c[l>>2]>>2]|0)!=0:0)?(Qi(c[c[l>>2]>>2]|0,n)|0)!=0:0)break;c[o>>2]=(c[(c[l>>2]|0)+4>>2]|0)+1}while(0);c[p>>2]=Vw(c[j>>2]|0,48+(c[o>>2]|0)|0,0)|0;if(!(c[p>>2]|0)){p=c[p>>2]|0;i=q;return p|0}j=c[p>>2]|0;e=j+48|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(e|0));a[c[p>>2]>>0]=c[k>>2];b[(c[p>>2]|0)+34>>1]=-1;do if(c[l>>2]|0){j=c[p>>2]|0;if(!(c[o>>2]|0)){o=j+4|0;c[o>>2]=c[o>>2]|1024;c[(c[p>>2]|0)+8>>2]=c[n>>2];break}c[(c[p>>2]|0)+8>>2]=j+48;if(c[(c[l>>2]|0)+4>>2]|0)TR(c[(c[p>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0)|0;a[(c[(c[p>>2]|0)+8>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0)>>0]=0;if((c[m>>2]|0)!=0?(d[18403+(d[c[(c[p>>2]|0)+8>>2]>>0]|0)>>0]&128|0)!=0:0){if((a[c[(c[p>>2]|0)+8>>2]>>0]|0)==34){o=(c[p>>2]|0)+4|0;c[o>>2]=c[o>>2]|64}Zw(c[(c[p>>2]|0)+8>>2]|0)}}while(0);c[(c[p>>2]|0)+24>>2]=1;p=c[p>>2]|0;i=q;return p|0}function kw(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;q=u+16|0;p=u+8|0;g=u+44|0;h=u+40|0;j=u+36|0;m=u+32|0;s=u+28|0;r=u+50|0;n=u;l=u+24|0;o=u+48|0;k=u+20|0;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[c[g>>2]>>2];if(!(c[h>>2]|0)){i=u;return}c[s>>2]=c[(c[h>>2]|0)+8>>2];if(a[(c[s>>2]|0)+1>>0]|0){do if((a[c[s>>2]>>0]|0)!=63){b[r>>1]=0;b[o>>1]=0;while(1){if((b[o>>1]|0)>=(c[(c[g>>2]|0)+404>>2]|0))break;if((c[(c[(c[g>>2]|0)+428>>2]|0)+(b[o>>1]<<2)>>2]|0)!=0?(hR(c[(c[(c[g>>2]|0)+428>>2]|0)+(b[o>>1]<<2)>>2]|0,c[s>>2]|0)|0)==0:0){t=14;break}b[o>>1]=(b[o>>1]|0)+1<<16>>16}if((t|0)==14)b[r>>1]=(b[o>>1]|0)+1;if(!(b[r>>1]|0)){p=(c[g>>2]|0)+400|0;t=(b[p>>1]|0)+1<<16>>16;b[p>>1]=t;b[r>>1]=t}}else{c[l>>2]=0==(Mi((c[s>>2]|0)+1|0,n,(c[j>>2]|0)-1|0,1)|0)&1;b[r>>1]=c[n>>2];t=n;d=c[t+4>>2]|0;if(!((c[l>>2]|0)==0|((d|0)<0|(d|0)==0&(c[t>>2]|0)>>>0<1))?(d=n,f=c[d+4>>2]|0,t=c[(c[m>>2]|0)+96+36>>2]|0,e=((t|0)<0)<<31>>31,!((f|0)>(e|0)|((f|0)==(e|0)?(c[d>>2]|0)>>>0>t>>>0:0))):0){p=n;e=c[p+4>>2]|0;t=b[(c[g>>2]|0)+400>>1]|0;d=((t|0)<0)<<31>>31;if(!((e|0)>(d|0)|((e|0)==(d|0)?(c[p>>2]|0)>>>0>t>>>0:0)))break;b[(c[g>>2]|0)+400>>1]=c[n>>2];break}t=c[g>>2]|0;c[p>>2]=c[(c[m>>2]|0)+96+36>>2];Eh(t,34195,p);i=u;return}while(0);b[(c[h>>2]|0)+32>>1]=b[r>>1]|0;do if((b[r>>1]|0)>(c[(c[g>>2]|0)+404>>2]|0)){c[k>>2]=Uw(c[m>>2]|0,c[(c[g>>2]|0)+428>>2]|0,b[r>>1]<<2,0)|0;if(!(c[k>>2]|0)){i=u;return}else{c[(c[g>>2]|0)+428>>2]=c[k>>2];VR((c[k>>2]|0)+(c[(c[g>>2]|0)+404>>2]<<2)|0,0,(b[r>>1]|0)-(c[(c[g>>2]|0)+404>>2]|0)<<2|0)|0;c[(c[g>>2]|0)+404>>2]=b[r>>1];break}}while(0);if(!(c[(c[(c[g>>2]|0)+428>>2]|0)+((b[r>>1]|0)-1<<2)>>2]|0)){t=Yw(c[m>>2]|0,c[s>>2]|0,c[j>>2]|0,0)|0;c[(c[(c[g>>2]|0)+428>>2]|0)+((b[r>>1]|0)-1<<2)>>2]=t}}else{s=(c[g>>2]|0)+400|0;t=(b[s>>1]|0)+1<<16>>16;b[s>>1]=t;b[(c[h>>2]|0)+32>>1]=t}if((b[(c[g>>2]|0)+400>>1]|0)<=(c[(c[m>>2]|0)+96+36>>2]|0)){i=u;return}Eh(c[g>>2]|0,34238,q);i=u;return}function lw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){a=c[g>>2]|0;i=l;return a|0}c[k>>2]=jw(c[c[f>>2]>>2]|0,53,c[h>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){a=c[g>>2]|0;i=l;return a|0}c[(c[k>>2]|0)+12>>2]=c[g>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[g>>2]=c[k>>2];a=c[g>>2]|0;i=l;return a|0}function mw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=jw(c[h>>2]|0,151,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){ev(c[h>>2]|0,c[g>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=k;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];sw(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}return 0}function nw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=Ev(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];i=f;return}function ow(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){i=g;return}h=Ev(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;i=g;return}function pw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=Ev(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function qw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[j>>2]|0)!=0&(c[h>>2]|0)!=0)){i=m;return}if((d[c[h>>2]>>0]|0|0)!=101){i=m;return}a[c[j>>2]>>0]=c[k>>2];iv(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=0;i=m;return}function rw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;m=g;c[h>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[m>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[m>>2]>>2];f=Ev(c[l>>2]|0,c[k>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function sw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+36>>2]|0){i=f;return}zz(c[e>>2]|0);Zy(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=f;return}function tw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){c[(c[f>>2]|0)+20>>2]=c[g>>2];d=(c[f>>2]|0)+4|0;c[d>>2]=c[d>>2]|2099200;sw(c[e>>2]|0,c[f>>2]|0);i=h;return}else{fv(c[c[e>>2]>>2]|0,c[g>>2]|0);i=h;return}}function uw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;l=m;h=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;k=m+8|0;c[h>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[k>>2]=Tv(c[h>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[h>>2]>>2]|0)+148+5>>0]|0|0)==0:0){p=c[h>>2]|0;o=c[c[j>>2]>>2]|0;c[l>>2]=c[(c[j>>2]|0)+4>>2];c[l+4>>2]=o;Eh(p,34155,l)}Uv(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,1);i=m;return c[k>>2]|0}function vw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;m=u+16|0;l=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;h=u+56|0;k=u+52|0;s=u+48|0;g=u+44|0;f=u+40|0;j=u+36|0;n=u+32|0;o=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}if(Kz(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}c[h>>2]=Kj(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[h>>2]|0)){f=c[p>>2]|0;g=c[q>>2]|0;if(c[r>>2]|0)ZB(f,c[g+8+4>>2]|0);else{c[t>>2]=g;c[t+4>>2]=0;Eh(f,33945,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}if(a[(c[h>>2]|0)+55>>0]&3){t=c[p>>2]|0;c[l>>2]=0;Eh(t,33963,l);s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}c[g>>2]=Fh(c[s>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[j>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[o>>2]=(c[g>>2]|0)==1?19905:19924;if(ax(c[p>>2]|0,9,c[o>>2]|0,0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}if(c[g>>2]|0)c[f>>2]=12;if(ax(c[p>>2]|0,c[f>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}c[k>>2]=dx(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}rx(c[p>>2]|0,1,c[g>>2]|0);t=c[p>>2]|0;o=(c[g>>2]|0)==1?19905:19924;r=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[m+4>>2]=o;c[m+8>>2]=r;cx(t,34036,m);QC(c[p>>2]|0,c[g>>2]|0,30854,c[c[h>>2]>>2]|0);ex(c[p>>2]|0,c[g>>2]|0);RC(c[p>>2]|0,c[(c[h>>2]|0)+44>>2]|0,c[g>>2]|0);mx(c[k>>2]|0,139,c[g>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}function ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=dx(c[d>>2]|0)|0;if(c[e>>2]|0)d=Oz(c[d>>2]|0,c[e>>2]|0,c[e>>2]|0,e)|0;else d=0;c[f>>2]=d;if(!(c[g>>2]|0)){i=h;return}if(!((c[f>>2]|0)>=2|(c[f>>2]|0)==0)){i=h;return}Sz(c[g>>2]|0,10,c[f>>2]|0)|0;Lh(c[g>>2]|0,c[f>>2]|0);i=h;return}function xw(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=i;i=i+816|0;Ia=fc+264|0;Qb=fc+256|0;Pb=fc+248|0;Ya=fc+240|0;za=fc+208|0;ya=fc+200|0;xa=fc+184|0;wa=fc+160|0;Ob=fc+144|0;Nb=fc+128|0;va=fc+112|0;ua=fc+96|0;Zb=fc+72|0;ta=fc+64|0;sa=fc+56|0;ra=fc+48|0;r=fc+40|0;p=fc+32|0;ac=fc+808|0;l=fc+804|0;s=fc+800|0;n=fc+796|0;o=fc+792|0;dc=fc+788|0;ec=fc+784|0;_a=fc+780|0;m=fc+776|0;q=fc+760|0;$b=fc+756|0;W=fc+752|0;qa=fc+748|0;X=fc+744|0;ka=fc+740|0;cc=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Eb=fc+724|0;v=fc+720|0;ma=fc+716|0;_=fc+712|0;Fa=fc+708|0;$=fc+704|0;B=fc+700|0;S=fc+696|0;Oa=fc+692|0;Ba=fc+688|0;E=fc+684|0;fa=fc+680|0;T=fc+676|0;F=fc+672|0;U=fc+668|0;Aa=fc+664|0;Y=fc+660|0;ga=fc+656|0;Q=fc+24|0;aa=fc+652|0;D=fc+648|0;y=fc+644|0;M=fc+640|0;R=fc+636|0;z=fc+632|0;na=fc+628|0;oa=fc+624|0;pa=fc+16|0;la=fc+620|0;P=fc+616|0;Da=fc+612|0;Yb=fc+608|0;Tb=fc+604|0;Ub=fc+600|0;Vb=fc+596|0;Wb=fc+592|0;Xb=fc+588|0;da=fc+584|0;H=fc+580|0;ha=fc+576|0;zb=fc+572|0;Gb=fc+568|0;fb=fc+564|0;vb=fc+560|0;eb=fc+812|0;ea=fc+556|0;ia=fc+552|0;I=fc+548|0;A=fc+536|0;J=fc+532|0;K=fc+528|0;Z=fc+524|0;ba=fc+520|0;ca=fc+516|0;ja=fc+512|0;L=fc+508|0;V=fc+504|0;Ra=fc+500|0;Ua=fc+496|0;Ta=fc+492|0;Sa=fc+488|0;Ma=fc+484|0;Pa=fc+480|0;Qa=fc+476|0;Za=fc+472|0;Wa=fc+468|0;Va=fc+464|0;Xa=fc+460|0;Ka=fc+456|0;Ja=fc+452|0;La=fc+448|0;Na=fc+444|0;gb=fc+440|0;lb=fc+436|0;bb=fc+432|0;wb=fc+428|0;kb=fc+424|0;Rb=fc+420|0;Kb=fc+416|0;ab=fc+412|0;db=fc+408|0;xb=fc+404|0;yb=fc+400|0;Hb=fc+396|0;Ab=fc+392|0;Ib=fc+388|0;Bb=fc+384|0;Jb=fc+380|0;Cb=fc+376|0;Db=fc+372|0;Fb=fc+368|0;ub=fc+364|0;ib=fc+360|0;jb=fc+356|0;Lb=fc+352|0;Sb=fc+348|0;mb=fc+344|0;ob=fc+340|0;nb=fc+336|0;pb=fc+332|0;qb=fc+328|0;rb=fc+324|0;cb=fc+320|0;Mb=fc+316|0;sb=fc+312|0;tb=fc+308|0;hb=fc+304|0;$a=fc+300|0;Ha=fc+296|0;O=fc+292|0;w=fc+288|0;x=fc+284|0;Ca=fc+280|0;Ga=fc+276|0;N=fc+272|0;G=fc+268|0;t=fc+8|0;u=fc;c[ac>>2]=f;c[l>>2]=g;c[s>>2]=h;c[n>>2]=j;c[o>>2]=k;c[dc>>2]=0;c[ec>>2]=0;c[_a>>2]=0;c[X>>2]=0;c[cc>>2]=c[c[ac>>2]>>2];c[bc>>2]=dx(c[ac>>2]|0)|0;if(!(c[bc>>2]|0)){i=fc;return}iC(c[bc>>2]|0);c[(c[ac>>2]|0)+44>>2]=2;c[$b>>2]=Oz(c[ac>>2]|0,c[l>>2]|0,c[s>>2]|0,m)|0;if((c[$b>>2]|0)<0){i=fc;return}c[Ea>>2]=(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4);if((c[$b>>2]|0)==1?(tx(c[ac>>2]|0)|0)!=0:0){i=fc;return}c[dc>>2]=Tw(c[cc>>2]|0,c[m>>2]|0)|0;if(!(c[dc>>2]|0)){i=fc;return}k=c[cc>>2]|0;l=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=l;c[ec>>2]=Gh(k,32103,p)|0}else c[ec>>2]=Tw(k,l)|0;if((c[(c[s>>2]|0)+4>>2]|0)>>>0>0)l=c[c[Ea>>2]>>2]|0;else l=0;c[_a>>2]=l;a:do if(!(ax(c[ac>>2]|0,19,c[dc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[dc>>2];c[q+8>>2]=c[ec>>2];c[q+12>>2]=0;c[(c[cc>>2]|0)+380+8>>2]=0;c[ka>>2]=Gf(c[cc>>2]|0,c[_a>>2]|0,14,q)|0;if(!(c[ka>>2]|0)){jC(c[bc>>2]|0,32107,c[q>>2]|0);Kd(c[q>>2]|0);break}if((c[ka>>2]|0)!=12){if(c[q>>2]|0){bc=c[ac>>2]|0;c[r>>2]=c[q>>2];Eh(bc,18391,r);Kd(c[q>>2]|0)}bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break}c[W>>2]=0;c[qa>>2]=57;while(1){if((c[W>>2]|0)>(c[qa>>2]|0))break;c[X>>2]=((c[W>>2]|0)+(c[qa>>2]|0)|0)/2|0;c[ka>>2]=Td(c[dc>>2]|0,c[4476+((c[X>>2]|0)*12|0)>>2]|0)|0;if(!(c[ka>>2]|0))break;l=c[X>>2]|0;if((c[ka>>2]|0)<0){c[qa>>2]=l-1;continue}else{c[W>>2]=l+1;continue}}if((c[W>>2]|0)<=(c[qa>>2]|0)){c[Eb>>2]=4476+((c[X>>2]|0)*12|0);if((d[(c[Eb>>2]|0)+5>>0]&1|0)!=0?(Kz(c[ac>>2]|0)|0)!=0:0)break;do switch(d[(c[Eb>>2]|0)+4>>0]|0){case 11:{Lh(c[bc>>2]|0,c[$b>>2]|0);if(c[ec>>2]|0){c[ma>>2]=Dj(Pi(c[ec>>2]|0)|0)|0;rx(c[ac>>2]|0,0,c[$b>>2]|0);jx(c[bc>>2]|0,102,c[$b>>2]|0,3,c[ma>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[ma>>2];Ej(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{kC(c[bc>>2]|0,32114);ac=(c[ac>>2]|0)+44|0;c[ac>>2]=(c[ac>>2]|0)+2;c[v>>2]=Kh(c[bc>>2]|0,9,32125,0)|0;c[(c[v>>2]|0)+4>>2]=c[$b>>2];c[(c[v>>2]|0)+20+4>>2]=c[$b>>2];c[(c[v>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{c[_>>2]=c[(c[Ea>>2]|0)+4>>2];if(c[ec>>2]|0){bc=Pi(c[ec>>2]|0)|0;c[(c[cc>>2]|0)+80>>2]=bc;if(7!=(Ci(c[_>>2]|0,c[(c[cc>>2]|0)+80>>2]|0,-1,0)|0))break a;mh(c[cc>>2]|0);break a}if(c[_>>2]|0)l=sg(c[_>>2]|0)|0;else l=0;c[Fa>>2]=l;ac=c[Fa>>2]|0;lC(c[bc>>2]|0,32161,ac,((ac|0)<0)<<31>>31);break a}case 26:{c[$>>2]=c[(c[Ea>>2]|0)+4>>2];c[B>>2]=-1;if(c[ec>>2]|0)c[B>>2]=(Gi(c[ec>>2]|0,0)|0)&255;b:do if((c[B>>2]|0)>=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break b;VB(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[S>>2]<<4)+4>>2]|0,c[B>>2]|0)|0;c[S>>2]=(c[S>>2]|0)+1}}while(0);c[B>>2]=VB(c[$>>2]|0,c[B>>2]|0)|0;ac=c[B>>2]|0;lC(c[bc>>2]|0,32171,ac,((ac|0)<0)<<31>>31);break a}case 23:{sx(c[ac>>2]|0,c[$b>>2]|0);l=(c[ac>>2]|0)+44|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;c[Oa>>2]=m;m=c[bc>>2]|0;l=c[$b>>2]|0;k=c[Oa>>2]|0;if((d[17613+(d[c[dc>>2]>>0]|0)>>0]|0)==112)ix(m,158,l,k)|0;else jx(m,159,l,k,Dj(Pi(c[ec>>2]|0)|0)|0)|0;ix(c[bc>>2]|0,87,c[Oa>>2]|0,1)|0;mC(c[bc>>2]|0,1);nC(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;break a}case 22:{c[Ba>>2]=32185;c[E>>2]=oC(c[ec>>2]|0)|0;if((c[E>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0)c[E>>2]=d[(c[cc>>2]|0)+71>>0];else{if(!(c[(c[s>>2]|0)+4>>2]|0)){c[T>>2]=2;while(1){if((c[T>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[fa>>2]=Pf(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[T>>2]<<4)+4>>2]|0)|0;UB(c[fa>>2]|0,c[E>>2]|0)|0;c[T>>2]=(c[T>>2]|0)+1}a[(c[cc>>2]|0)+71>>0]=c[E>>2]}c[fa>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;c[E>>2]=UB(c[fa>>2]|0,c[E>>2]|0)|0}if((c[E>>2]|0)==1)c[Ba>>2]=32192;jC(c[bc>>2]|0,32202,c[Ba>>2]|0);break a}case 19:{kC(c[bc>>2]|0,32215);if(c[ec>>2]|0){c[Y>>2]=Jf(c[ec>>2]|0)|0;c[F>>2]=0;while(1){ac=pC(c[F>>2]|0)|0;c[Aa>>2]=ac;if(!ac)break;if(!(zd(c[ec>>2]|0,c[Aa>>2]|0,c[Y>>2]|0)|0))break;c[F>>2]=(c[F>>2]|0)+1}if(!(c[Aa>>2]|0))c[F>>2]=-1}else c[F>>2]=-1;if((c[F>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[$b>>2]=0;c[(c[s>>2]|0)+4>>2]=1}c[U>>2]=(c[(c[cc>>2]|0)+20>>2]|0)-1;while(1){if((c[U>>2]|0)<0)break;do if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[U>>2]<<4)+4>>2]|0){if((c[U>>2]|0)!=(c[$b>>2]|0)?(c[(c[s>>2]|0)+4>>2]|0)!=0:0)break;Lh(c[bc>>2]|0,c[U>>2]|0);jx(c[bc>>2]|0,9,c[U>>2]|0,1,c[F>>2]|0)|0}while(0);c[U>>2]=(c[U>>2]|0)+-1}ix(c[bc>>2]|0,87,1,1)|0;break a}case 20:{c[ga>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;ac=Q;c[ac>>2]=-2;c[ac+4>>2]=-1;if((c[ec>>2]|0)!=0?(Hi(c[ec>>2]|0,Q)|0,ac=Q,$b=c[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(c[ac>>2]|0)>>>0<4294967295):0){ac=Q;c[ac>>2]=-1;c[ac+4>>2]=-1}$b=Q;$b=qC(c[ga>>2]|0,c[$b>>2]|0,c[$b+4>>2]|0)|0;ac=Q;c[ac>>2]=$b;c[ac+4>>2]=C;ac=Q;lC(c[bc>>2]|0,32228,c[ac>>2]|0,c[ac+4>>2]|0);break a}case 1:{c[aa>>2]=c[(c[Ea>>2]|0)+4>>2];if(!(c[ec>>2]|0)){ac=c[bc>>2]|0;bc=rC(c[aa>>2]|0)|0;lC(ac,32247,bc,((bc|0)<0)<<31>>31);break a}c[D>>2]=sC(c[ec>>2]|0)|0;a[(c[cc>>2]|0)+72>>0]=c[D>>2];c[ka>>2]=tC(c[aa>>2]|0,c[D>>2]|0)|0;if(c[ka>>2]|0)break a;if(!((c[D>>2]|0)==1|(c[D>>2]|0)==2))break a;c[M>>2]=wx(c[bc>>2]|0)|0;c[y>>2]=Kh(c[bc>>2]|0,5,32259,0)|0;c[(c[y>>2]|0)+4>>2]=c[$b>>2];c[(c[y>>2]|0)+20+4>>2]=c[$b>>2];c[(c[y>>2]|0)+40+8>>2]=(c[M>>2]|0)+4;c[(c[y>>2]|0)+80+4>>2]=c[$b>>2];c[(c[y>>2]|0)+80+12>>2]=(c[D>>2]|0)-1;Lh(c[bc>>2]|0,c[$b>>2]|0);break a}case 15:{if(!((c[ec>>2]|0)!=0?(_b=(Qi(c[ec>>2]|0,R)|0)==0,!(_b|(c[R>>2]|0)<=0)):0))c[R>>2]=2147483647;rx(c[ac>>2]|0,0,c[$b>>2]|0);ix(c[bc>>2]|0,76,c[R>>2]|0,1)|0;c[z>>2]=Sz(c[bc>>2]|0,69,c[$b>>2]|0)|0;Sz(c[bc>>2]|0,87,1)|0;ix(c[bc>>2]|0,91,1,-1)|0;ix(c[bc>>2]|0,66,1,c[z>>2]|0)|0;Zz(c[bc>>2]|0,c[z>>2]|0);break a}case 4:if(c[ec>>2]|0){c[na>>2]=Pi(c[ec>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[na>>2];Ej(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0;lC(c[bc>>2]|0,32114,ac,((ac|0)<0)<<31>>31);break a}case 5:{if(!(c[ec>>2]|0)){k=c[bc>>2]|0;if(!(c[(c[cc>>2]|0)+24>>2]&32))l=0;else l=uC(c[(c[Ea>>2]|0)+4>>2]|0,0)|0;lC(k,32279,l,((l|0)<0)<<31>>31);break a}c[oa>>2]=1;if(Qi(c[ec>>2]|0,oa)|0)uC(c[(c[Ea>>2]|0)+4>>2]|0,c[oa>>2]|0)|0;bc=(Gi(c[ec>>2]|0,(c[oa>>2]|0)!=0&255)|0)<<24>>24!=0;l=(c[cc>>2]|0)+24|0;k=c[l>>2]|0;if(bc)c[l>>2]=k|32;else c[l>>2]=k&-33;vC(c[cc>>2]|0);break a}case 24:{$b=pa;c[$b>>2]=0;c[$b+4>>2]=0;c[ka>>2]=0;if(!(c[ka>>2]|0)){ac=pa;lC(c[bc>>2]|0,32291,c[ac>>2]|0,c[ac+4>>2]|0);break a}if((c[ka>>2]|0)==12)break a;bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break a}case 32:if(c[ec>>2]|0){wC(c[ac>>2]|0,c[ec>>2]|0)|0;break a}else{lC(c[bc>>2]|0,32301,d[(c[cc>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(c[ec>>2]|0)){jC(c[bc>>2]|0,32312,c[243]|0);break a}if((a[c[ec>>2]>>0]|0)!=0?(c[ka>>2]=Yr(c[c[cc>>2]>>2]|0,c[ec>>2]|0,1,la)|0,(c[ka>>2]|0)!=0|(c[la>>2]|0)==0):0){Eh(c[ac>>2]|0,32333,ra);break a}if((d[(c[cc>>2]|0)+68>>0]|0)<=1)xC(c[ac>>2]|0)|0;Kd(c[243]|0);if(a[c[ec>>2]>>0]|0){c[sa>>2]=c[ec>>2];c[243]=Od(18391,sa)|0;break a}else{c[243]=0;break a}}case 30:{if(!(c[ec>>2]|0)){ac=(d[(c[Ea>>2]|0)+8>>0]|0)-1|0;lC(c[bc>>2]|0,32358,ac,((ac|0)<0)<<31>>31);break a}if(a[(c[cc>>2]|0)+67>>0]|0){bc=((Oi(c[ec>>2]|0,0,1)|0)&255)+1&7;c[P>>2]=bc;c[P>>2]=(c[P>>2]|0)==0?1:bc;a[(c[Ea>>2]|0)+8>>0]=c[P>>2];a[(c[Ea>>2]|0)+9>>0]=1;vC(c[cc>>2]|0);break a}else{Eh(c[ac>>2]|0,32370,ta);break a}}case 2:{if(!(c[ec>>2]|0)){ac=(c[(c[cc>>2]|0)+24>>2]&c[(c[Eb>>2]|0)+8>>2]|0)!=0&1;lC(c[bc>>2]|0,c[c[Eb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}c[Da>>2]=c[(c[Eb>>2]|0)+8>>2];if(!(d[(c[cc>>2]|0)+67>>0]|0))c[Da>>2]=c[Da>>2]&-524289;ac=(Gi(c[ec>>2]|0,0)|0)<<24>>24!=0;l=c[Da>>2]|0;if(!ac){ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]&~l;if((c[Da>>2]|0)==33554432){ac=(c[cc>>2]|0)+448|0;c[ac>>2]=0;c[ac+4>>2]=0}}else{ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]|l}fx(c[bc>>2]|0,150)|0;vC(c[cc>>2]|0);break a}case 31:{if(!(c[ec>>2]|0))break a;c[Yb>>2]=Dh(c[ac>>2]|0,2,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[Yb>>2]|0))break a;c[Vb>>2]=0;c[Xb>>2]=Jj(c[Yb>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=6;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,6,5172);Tx(c[ac>>2]|0,c[Yb>>2]|0)|0;c[Tb>>2]=0;c[Wb>>2]=c[(c[Yb>>2]|0)+4>>2];while(1){if((c[Tb>>2]|0)>=(b[(c[Yb>>2]|0)+34>>1]|0))break a;if(d[(c[Wb>>2]|0)+15>>0]&2)c[Vb>>2]=(c[Vb>>2]|0)+1;else{c:do if(!(d[(c[Wb>>2]|0)+15>>0]&1))c[Ub>>2]=0;else{ac=(c[Xb>>2]|0)==0;c[Ub>>2]=1;if(ac)break;while(1){if((c[Ub>>2]|0)>(b[(c[Yb>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Xb>>2]|0)+4>>2]|0)+((c[Ub>>2]|0)-1<<1)>>1]|0)==(c[Tb>>2]|0))break c;c[Ub>>2]=(c[Ub>>2]|0)+1}}while(0);l=c[bc>>2]|0;k=(c[Tb>>2]|0)-(c[Vb>>2]|0)|0;m=c[c[Wb>>2]>>2]|0;g=vi(c[Wb>>2]|0,18402)|0;h=(d[(c[Wb>>2]|0)+12>>0]|0)!=0?1:0;if(c[(c[Wb>>2]|0)+4>>2]|0)f=c[(c[(c[Wb>>2]|0)+4>>2]|0)+8>>2]|0;else f=0;ac=c[Ub>>2]|0;c[Zb>>2]=k;c[Zb+4>>2]=m;c[Zb+8>>2]=g;c[Zb+12>>2]=h;c[Zb+16>>2]=f;c[Zb+20>>2]=ac;zC(l,1,32423,Zb);ix(c[bc>>2]|0,87,1,6)|0}c[Tb>>2]=(c[Tb>>2]|0)+1;c[Wb>>2]=(c[Wb>>2]|0)+16}}case 29:{c[bc>>2]=dx(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=4;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,4,5196);c[H>>2]=c[(c[(c[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[H>>2]|0))break a;c[ha>>2]=c[(c[H>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=b[(c[ha>>2]|0)+40>>1]|0;$b=b[(c[ha>>2]|0)+38>>1]|0;c[ua>>2]=c[c[ha>>2]>>2];c[ua+4>>2]=0;c[ua+8>>2]=_b;c[ua+12>>2]=$b;zC(ac,1,32430,ua);ix(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[ha>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break;ac=c[bc>>2]|0;_b=b[(c[da>>2]|0)+48>>1]|0;$b=b[c[(c[da>>2]|0)+8>>2]>>1]|0;c[va>>2]=c[c[da>>2]>>2];c[va+4>>2]=_b;c[va+8>>2]=$b;zC(ac,2,32435,va);ix(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2]}c[H>>2]=c[c[H>>2]>>2]}}case 16:{if(!(c[ec>>2]|0))break a;c[zb>>2]=Kj(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[zb>>2]|0))break a;l=c[zb>>2]|0;if(c[(c[Eb>>2]|0)+8>>2]|0){c[vb>>2]=e[l+52>>1];c[(c[ac>>2]|0)+44>>2]=6}else{c[vb>>2]=e[l+50>>1];c[(c[ac>>2]|0)+44>>2]=3}c[Gb>>2]=c[(c[zb>>2]|0)+12>>2];sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,c[(c[ac>>2]|0)+44>>2]|0,5212);c[fb>>2]=0;while(1){if((c[fb>>2]|0)>=(c[vb>>2]|0))break a;b[eb>>1]=b[(c[(c[zb>>2]|0)+4>>2]|0)+(c[fb>>2]<<1)>>1]|0;l=c[bc>>2]|0;k=b[eb>>1]|0;if((b[eb>>1]|0)<0)m=0;else m=c[(c[(c[Gb>>2]|0)+4>>2]|0)+(b[eb>>1]<<4)>>2]|0;c[Nb>>2]=c[fb>>2];c[Nb+4>>2]=k;c[Nb+8>>2]=m;zC(l,1,32439,Nb);if(c[(c[Eb>>2]|0)+8>>2]|0){$b=c[bc>>2]|0;Zb=c[(c[(c[zb>>2]|0)+32>>2]|0)+(c[fb>>2]<<2)>>2]|0;_b=(c[fb>>2]|0)<(e[(c[zb>>2]|0)+50>>1]|0)&1;c[Ob>>2]=d[(c[(c[zb>>2]|0)+28>>2]|0)+(c[fb>>2]|0)>>0];c[Ob+4>>2]=Zb;c[Ob+8>>2]=_b;zC($b,4,32443,Ob)}ix(c[bc>>2]|0,87,1,c[(c[ac>>2]|0)+44>>2]|0)|0;c[fb>>2]=(c[fb>>2]|0)+1}}case 17:{if(!(c[ec>>2]|0))break a;c[ia>>2]=ti(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ia>>2]|0))break a;c[bc>>2]=dx(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=5;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,5,5236);c[ea>>2]=c[(c[ia>>2]|0)+8>>2];c[I>>2]=0;while(1){if(!(c[ea>>2]|0))break a;c[A>>2]=c[1314];c[A+4>>2]=c[1315];c[A+8>>2]=c[1316];ac=c[bc>>2]|0;Yb=c[c[ea>>2]>>2]|0;Zb=(d[(c[ea>>2]|0)+54>>0]|0)!=0&1;_b=c[A+((a[(c[ea>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(c[(c[ea>>2]|0)+36>>2]|0)!=0&1;c[wa>>2]=c[I>>2];c[wa+4>>2]=Yb;c[wa+8>>2]=Zb;c[wa+12>>2]=_b;c[wa+16>>2]=$b;zC(ac,1,32447,wa);ix(c[bc>>2]|0,87,1,5)|0;c[ea>>2]=c[(c[ea>>2]|0)+20>>2];c[I>>2]=(c[I>>2]|0)+1}}case 10:{c[(c[ac>>2]|0)+44>>2]=3;yC(c[bc>>2]|0,3,5268);c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break a;if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0){ac=c[bc>>2]|0;Zb=c[J>>2]|0;_b=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)>>2]|0;$b=Ii(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0)|0;c[xa>>2]=Zb;c[xa+4>>2]=_b;c[xa+8>>2]=$b;zC(ac,1,32453,xa);ix(c[bc>>2]|0,87,1,3)|0}c[J>>2]=(c[J>>2]|0)+1}}case 7:{c[K>>2]=0;c[(c[ac>>2]|0)+44>>2]=2;yC(c[bc>>2]|0,2,5280);c[Z>>2]=c[(c[cc>>2]|0)+364+8>>2];while(1){if(!(c[Z>>2]|0))break a;c[ba>>2]=c[(c[Z>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=c[K>>2]|0;c[K>>2]=_b+1;$b=c[c[ba>>2]>>2]|0;c[ya>>2]=_b;c[ya+4>>2]=$b;zC(ac,1,32457,ya);ix(c[bc>>2]|0,87,1,2)|0;c[Z>>2]=c[c[Z>>2]>>2]}}case 14:{if(!(c[ec>>2]|0))break a;c[ja>>2]=ti(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ja>>2]|0))break a;c[bc>>2]=dx(c[ac>>2]|0)|0;c[ca>>2]=c[(c[ja>>2]|0)+16>>2];if(!(c[ca>>2]|0))break a;c[L>>2]=0;c[(c[ac>>2]|0)+44>>2]=8;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,8,5288);while(1){if(!(c[ca>>2]|0))break a;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[ca>>2]|0)+20>>2]|0))break;ac=c[bc>>2]|0;Vb=c[L>>2]|0;Wb=c[V>>2]|0;Xb=c[(c[ca>>2]|0)+8>>2]|0;Yb=c[(c[(c[ja>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+36+(c[V>>2]<<3)>>2]<<4)>>2]|0;Zb=c[(c[ca>>2]|0)+36+(c[V>>2]<<3)+4>>2]|0;_b=AC(a[(c[ca>>2]|0)+25+1>>0]|0)|0;$b=AC(a[(c[ca>>2]|0)+25>>0]|0)|0;c[za>>2]=Vb;c[za+4>>2]=Wb;c[za+8>>2]=Xb;c[za+12>>2]=Yb;c[za+16>>2]=Zb;c[za+20>>2]=_b;c[za+24>>2]=$b;c[za+28>>2]=32469;zC(ac,1,32460,za);ix(c[bc>>2]|0,87,1,8)|0;c[V>>2]=(c[V>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1;c[ca>>2]=c[(c[ca>>2]|0)+4>>2]}}case 13:{c[Wa>>2]=(c[(c[ac>>2]|0)+44>>2]|0)+1;Zb=(c[ac>>2]|0)+44|0;c[Zb>>2]=(c[Zb>>2]|0)+4;Zb=(c[ac>>2]|0)+44|0;Yb=(c[Zb>>2]|0)+1|0;c[Zb>>2]=Yb;c[Va>>2]=Yb;Yb=(c[ac>>2]|0)+44|0;Zb=(c[Yb>>2]|0)+1|0;c[Yb>>2]=Zb;c[Xa>>2]=Zb;c[bc>>2]=dx(c[ac>>2]|0)|0;yC(c[bc>>2]|0,4,5320);sx(c[ac>>2]|0,c[$b>>2]|0);c[Qa>>2]=c[(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Qa>>2]|0))break a;if(c[ec>>2]|0){c[Ua>>2]=Dh(c[ac>>2]|0,0,c[ec>>2]|0,c[_a>>2]|0)|0;c[Qa>>2]=0}else{c[Ua>>2]=c[(c[Qa>>2]|0)+8>>2];c[Qa>>2]=c[c[Qa>>2]>>2]}if(!(c[Ua>>2]|0))continue;if(!(c[(c[Ua>>2]|0)+16>>2]|0))continue;Tz(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ua>>2]|0)+28>>2]|0,0,c[c[Ua>>2]>>2]|0);if(((b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0)|0)>(c[(c[ac>>2]|0)+44>>2]|0))c[(c[ac>>2]|0)+44>>2]=(b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0);Uz(c[ac>>2]|0,0,c[$b>>2]|0,c[Ua>>2]|0,104);hx(c[bc>>2]|0,c[Wa>>2]|0,c[c[Ua>>2]>>2]|0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];d:while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ti(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;do if(c[Ta>>2]|0){c[Sa>>2]=0;Tz(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ta>>2]|0)+28>>2]|0,0,c[c[Ta>>2]>>2]|0);c[Za>>2]=BC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,0)|0;if(c[Za>>2]|0){_b=207;break d}if(!(c[Sa>>2]|0)){Uz(c[ac>>2]|0,c[Ma>>2]|0,c[$b>>2]|0,c[Ta>>2]|0,104);break}else{jx(c[bc>>2]|0,104,c[Ma>>2]|0,c[(c[Sa>>2]|0)+44>>2]|0,c[$b>>2]|0)|0;Vz(c[ac>>2]|0,c[Sa>>2]|0);break}}while(0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}if((_b|0)==207){_b=0;c[Qa>>2]=0}if(c[Ra>>2]|0)break a;if((c[(c[ac>>2]|0)+40>>2]|0)<(c[Ma>>2]|0))c[(c[ac>>2]|0)+40>>2]=c[Ma>>2];c[Ka>>2]=Sz(c[bc>>2]|0,57,0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ti(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;c[Sa>>2]=0;c[La>>2]=0;if(c[Ta>>2]|0)c[Za>>2]=BC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,La)|0;c[Ja>>2]=Wz(c[bc>>2]|0)|0;do if((c[Ta>>2]|0)!=0&(c[Sa>>2]|0)==0){c[Na>>2]=c[(c[Ra>>2]|0)+36>>2];l=c[bc>>2]|0;if((c[Na>>2]|0)!=(b[(c[Ua>>2]|0)+32>>1]|0)){jx(l,96,0,c[Na>>2]|0,c[Xa>>2]|0)|0;PA(c[bc>>2]|0,c[Ua>>2]|0,c[Na>>2]|0,c[Xa>>2]|0);ix(c[bc>>2]|0,34,c[Xa>>2]|0,c[Ja>>2]|0)|0}else ix(l,123,0,c[Xa>>2]|0)|0;jx(c[bc>>2]|0,32,c[Ma>>2]|0,0,c[Xa>>2]|0)|0;Yz(c[bc>>2]|0,c[Ja>>2]|0)|0;Zb=c[bc>>2]|0;Zz(Zb,(wx(c[bc>>2]|0)|0)-2|0)}else{c[Pa>>2]=0;while(1){if((c[Pa>>2]|0)>=(c[(c[Ra>>2]|0)+20>>2]|0))break;l=c[Pa>>2]|0;if(c[La>>2]|0)l=c[(c[La>>2]|0)+(l<<2)>>2]|0;else l=c[(c[Ra>>2]|0)+36+(l<<3)>>2]|0;NA(c[bc>>2]|0,c[Ua>>2]|0,0,l,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0);ix(c[bc>>2]|0,34,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0,c[Ja>>2]|0)|0;c[Pa>>2]=(c[Pa>>2]|0)+1}if(!(c[Ta>>2]|0))break;Vb=c[bc>>2]|0;Wb=c[Xa>>2]|0;Xb=c[(c[Ra>>2]|0)+20>>2]|0;Yb=c[Va>>2]|0;Zb=CC(c[cc>>2]|0,c[Sa>>2]|0)|0;mx(Vb,99,Wb,Xb,Yb,Zb,c[(c[Ra>>2]|0)+20>>2]|0)|0;Ih(c[bc>>2]|0,31,c[Ma>>2]|0,c[Ja>>2]|0,c[Va>>2]|0,0)|0}while(0);ix(c[bc>>2]|0,123,0,(c[Wa>>2]|0)+1|0)|0;Yb=c[bc>>2]|0;Zb=(c[Wa>>2]|0)+2|0;Xb=(c[Ma>>2]|0)-1|0;c[Ya>>2]=c[(c[Ra>>2]|0)+8>>2];c[Ya+4>>2]=Xb;zC(Yb,Zb,32474,Ya);ix(c[bc>>2]|0,87,c[Wa>>2]|0,4)|0;_z(c[bc>>2]|0,c[Ja>>2]|0);Tf(c[cc>>2]|0,c[La>>2]|0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}ix(c[bc>>2]|0,7,0,(c[Ka>>2]|0)+1|0)|0;Zz(c[bc>>2]|0,c[Ka>>2]|0)}}case 6:{if(!(c[ec>>2]|0))break a;bc=c[cc>>2]|0;DC(bc,(Gi(c[ec>>2]|0,0)|0)&255);break a}case 18:{c[kb>>2]=(d[17613+(d[c[dc>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[s>>2]>>2]|0))c[$b>>2]=-1;c[(c[ac>>2]|0)+44>>2]=6;kC(c[bc>>2]|0,32477);c[wb>>2]=100;if((c[ec>>2]|0)!=0?(Qi(c[ec>>2]|0,wb)|0,(c[wb>>2]|0)<=0):0)c[wb>>2]=100;ix(c[bc>>2]|0,76,c[wb>>2]|0,1)|0;c[gb>>2]=0;e:while(1){if((c[gb>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[db>>2]=0;c[xb>>2]=0;if(!((c[$b>>2]|0)>=0?(c[gb>>2]|0)!=(c[$b>>2]|0):0))_b=242;f:do if((_b|0)==242){_b=0;sx(c[ac>>2]|0,c[gb>>2]|0);c[bb>>2]=Sz(c[bc>>2]|0,66,1)|0;ix(c[bc>>2]|0,75,0,0)|0;Zz(c[bc>>2]|0,c[bb>>2]|0);c[Kb>>2]=(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)+12>>2]|0)+8;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Hb>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Hb>>2]|0)+42>>0]&32))c[db>>2]=(c[db>>2]|0)+1;c[yb>>2]=0;c[Ab>>2]=c[(c[Hb>>2]|0)+8>>2];while(1){if(!(c[Ab>>2]|0))break;c[db>>2]=(c[db>>2]|0)+1;c[Ab>>2]=c[(c[Ab>>2]|0)+20>>2];c[yb>>2]=(c[yb>>2]|0)+1}if((c[yb>>2]|0)>(c[xb>>2]|0))c[xb>>2]=c[yb>>2];c[Rb>>2]=c[c[Rb>>2]>>2]}c[ab>>2]=Vw(c[cc>>2]|0,(c[db>>2]|0)+1<<2,0)|0;if(!(c[ab>>2]|0))break e;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Ib>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Ib>>2]|0)+42>>0]&32)){Yb=c[(c[Ib>>2]|0)+28>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb}c[Bb>>2]=c[(c[Ib>>2]|0)+8>>2];while(1){if(!(c[Bb>>2]|0))break;Yb=c[(c[Bb>>2]|0)+44>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb;c[Bb>>2]=c[(c[Bb>>2]|0)+20>>2]}c[Rb>>2]=c[c[Rb>>2]>>2]}c[(c[ab>>2]|0)+(c[db>>2]<<2)>>2]=0;if((c[(c[ac>>2]|0)+44>>2]|0)>(8+(c[xb>>2]|0)|0))l=c[(c[ac>>2]|0)+44>>2]|0;else l=8+(c[xb>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=l;mx(c[bc>>2]|0,141,2,c[db>>2]|0,1,c[ab>>2]|0,-15)|0;Jh(c[bc>>2]|0,c[gb>>2]&255);c[bb>>2]=Sz(c[bc>>2]|0,34,2)|0;Yb=c[bc>>2]|0;Zb=c[cc>>2]|0;c[Pb>>2]=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)>>2];mx(Yb,97,0,3,0,Gh(Zb,32493,Pb)|0,-1)|0;jx(c[bc>>2]|0,83,2,4,1)|0;jx(c[bc>>2]|0,52,4,3,2)|0;ix(c[bc>>2]|0,87,2,1)|0;Zz(c[bc>>2]|0,c[bb>>2]|0);c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break f;if(!((c[kb>>2]|0)!=0^1))break f;c[Jb>>2]=c[(c[Rb>>2]|0)+8>>2];c[Fb>>2]=0;c[Lb>>2]=-1;g:do if(c[(c[Jb>>2]|0)+8>>2]|0){if(!(d[(c[Jb>>2]|0)+42>>0]&32))l=0;else l=Jj(c[Jb>>2]|0)|0;c[Db>>2]=l;c[bb>>2]=Sz(c[bc>>2]|0,66,1)|0;ix(c[bc>>2]|0,75,0,0)|0;Zz(c[bc>>2]|0,c[bb>>2]|0);EC(c[ac>>2]|0);FC(c[ac>>2]|0,c[Jb>>2]|0,104,0,1,0,ib,jb)|0;ix(c[bc>>2]|0,76,0,7)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;ix(l,76,0,8+(c[lb>>2]|0)|0)|0;c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}ix(l,57,c[ib>>2]|0,0)|0;c[ub>>2]=ix(c[bc>>2]|0,91,7,1)|0;c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(b[(c[Jb>>2]|0)+34>>1]|0))break;do if((c[lb>>2]|0)!=(b[(c[Jb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)+12>>0]|0))break;NA(c[bc>>2]|0,c[Jb>>2]|0,c[ib>>2]|0,c[lb>>2]|0,3);Jh(c[bc>>2]|0,-128);c[mb>>2]=Sz(c[bc>>2]|0,35,3)|0;ix(c[bc>>2]|0,91,1,-1)|0;Zb=c[cc>>2]|0;Yb=c[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)>>2]|0;c[Qb>>2]=c[c[Jb>>2]>>2];c[Qb+4>>2]=Yb;c[Sb>>2]=Gh(Zb,32517,Qb)|0;mx(c[bc>>2]|0,97,0,3,0,c[Sb>>2]|0,-1)|0;ix(c[bc>>2]|0,87,3,1)|0;c[ob>>2]=Sz(c[bc>>2]|0,66,1)|0;fx(c[bc>>2]|0,75)|0;Zz(c[bc>>2]|0,c[mb>>2]|0);Zz(c[bc>>2]|0,c[ob>>2]|0)}while(0);c[lb>>2]=(c[lb>>2]|0)+1}c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;c[cb>>2]=Wz(l)|0;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[Lb>>2]=oA(c[ac>>2]|0,c[Cb>>2]|0,c[ib>>2]|0,0,0,pb,c[Fb>>2]|0,c[Lb>>2]|0)|0;c[Fb>>2]=c[Cb>>2];ix(c[bc>>2]|0,91,8+(c[lb>>2]|0)|0,1)|0;c[nb>>2]=Ih(c[bc>>2]|0,31,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[cb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+52>>1]|0)|0;ix(c[bc>>2]|0,91,1,-1)|0;hx(c[bc>>2]|0,3,32537)|0;jx(c[bc>>2]|0,52,7,3,3)|0;hx(c[bc>>2]|0,4,32542)|0;jx(c[bc>>2]|0,52,4,3,3)|0;c[rb>>2]=hx(c[bc>>2]|0,4,c[c[Cb>>2]>>2]|0)|0;jx(c[bc>>2]|0,52,4,3,3)|0;ix(c[bc>>2]|0,87,3,1)|0;c[qb>>2]=Sz(c[bc>>2]|0,66,1)|0;fx(c[bc>>2]|0,75)|0;Zz(c[bc>>2]|0,c[nb>>2]|0);if(d[(c[Cb>>2]|0)+54>>0]|0){c[Mb>>2]=Wz(c[bc>>2]|0)|0;c[tb>>2]=0;while(1){if((c[tb>>2]|0)>=(e[(c[Cb>>2]|0)+50>>1]|0))break;c[hb>>2]=b[(c[(c[Cb>>2]|0)+4>>2]|0)+(c[tb>>2]<<1)>>1];if(!((c[hb>>2]|0)>=0?(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[hb>>2]<<4)+12>>0]|0)!=0:0))ix(c[bc>>2]|0,34,(c[Lb>>2]|0)+(c[tb>>2]|0)|0,c[Mb>>2]|0)|0;c[tb>>2]=(c[tb>>2]|0)+1}c[sb>>2]=Sz(c[bc>>2]|0,7,(c[jb>>2]|0)+(c[lb>>2]|0)|0)|0;Yz(c[bc>>2]|0,c[Mb>>2]|0)|0;Zz(c[bc>>2]|0,c[sb>>2]|0);Ih(c[bc>>2]|0,59,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[Mb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+50>>1]|0)|0;ix(c[bc>>2]|0,91,1,-1)|0;hx(c[bc>>2]|0,3,32563)|0;Yz(c[bc>>2]|0,c[rb>>2]|0)|0;_z(c[bc>>2]|0,c[Mb>>2]|0)}Zz(c[bc>>2]|0,c[qb>>2]|0);pA(c[ac>>2]|0,c[pb>>2]|0)}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}ix(l,7,c[ib>>2]|0,c[ub>>2]|0)|0;Zz(c[bc>>2]|0,(c[ub>>2]|0)-1|0);hx(c[bc>>2]|0,2,32590)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){if(!(c[Cb>>2]|0))break g;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[bb>>2]=wx(c[bc>>2]|0)|0;ix(c[bc>>2]|0,66,1,(c[bb>>2]|0)+2|0)|0;ix(c[bc>>2]|0,75,0,0)|0;ix(c[bc>>2]|0,100,(c[jb>>2]|0)+(c[lb>>2]|0)|0,3)|0;jx(c[bc>>2]|0,37,8+(c[lb>>2]|0)|0,(c[bb>>2]|0)+8|0,3)|0;Jh(c[bc>>2]|0,-112);ix(c[bc>>2]|0,91,1,-1)|0;hx(c[bc>>2]|0,3,c[c[Cb>>2]>>2]|0)|0;jx(c[bc>>2]|0,52,3,2,7)|0;ix(c[bc>>2]|0,87,7,1)|0}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}}while(0);c[Rb>>2]=c[c[Rb>>2]>>2]}}while(0);c[gb>>2]=(c[gb>>2]|0)+1}c[$a>>2]=Kh(c[bc>>2]|0,4,32619,0)|0;if(!(c[$a>>2]|0))break a;c[(c[$a>>2]|0)+8>>2]=0-(c[wb>>2]|0);a[(c[$a>>2]|0)+40+1>>0]=-2;c[(c[$a>>2]|0)+40+16>>2]=32635;break a}case 12:{if(!(c[ec>>2]|0)){if(Kz(c[ac>>2]|0)|0)break a;jC(c[bc>>2]|0,32638,c[5336+(d[(c[c[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ha>>2]=5336;while(1){if(!(c[c[Ha>>2]>>2]|0))break;bc=0==(ig(c[ec>>2]|0,c[c[Ha>>2]>>2]|0)|0);l=c[Ha>>2]|0;if(bc){_b=309;break}c[Ha>>2]=l+8}if((_b|0)==309){if(d[l+4>>0]|0)l=d[(c[Ha>>2]|0)+4>>0]|0;else l=(a[968]|0)==0?3:2;bc=l&255;a[(c[cc>>2]|0)+66>>0]=bc;a[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(c[c[Ha>>2]>>2]|0)break a;bc=c[ac>>2]|0;c[Ia>>2]=c[ec>>2];Eh(bc,32647,Ia);break a}case 0:{c[O>>2]=c[(c[Eb>>2]|0)+8>>2];Lh(c[bc>>2]|0,c[$b>>2]|0);if((c[ec>>2]|0)!=0?(d[(c[Eb>>2]|0)+5>>0]&2|0)==0:0){c[w>>2]=Kh(c[bc>>2]|0,2,32672,0)|0;c[(c[w>>2]|0)+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+8>>2]=c[O>>2];bc=Pi(c[ec>>2]|0)|0;c[(c[w>>2]|0)+20+12>>2]=bc;break a}c[x>>2]=Kh(c[bc>>2]|0,3,32680,0)|0;c[(c[x>>2]|0)+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+12>>2]=c[O>>2];mC(c[bc>>2]|0,1);nC(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;GC(c[bc>>2]|0);break a}case 8:{c[Ca>>2]=0;c[(c[ac>>2]|0)+44>>2]=1;kC(c[bc>>2]|0,32692);while(1){ac=c[Ca>>2]|0;c[Ca>>2]=ac+1;ac=Ad(ac)|0;c[Ga>>2]=ac;l=c[bc>>2]|0;if(!ac)break;hx(l,1,c[Ga>>2]|0)|0;ix(c[bc>>2]|0,87,1,1)|0}GC(l);break a}case 36:{c[N>>2]=(c[c[s>>2]>>2]|0)!=0?c[$b>>2]|0:10;c[G>>2]=0;do if(c[ec>>2]|0){if(!(ig(c[ec>>2]|0,32707)|0)){c[G>>2]=1;break}if(!(ig(c[ec>>2]|0,32712)|0)){c[G>>2]=2;break}if(!(ig(c[ec>>2]|0,32720)|0))c[G>>2]=3}while(0);yC(c[bc>>2]|0,3,5408);c[(c[ac>>2]|0)+44>>2]=3;jx(c[bc>>2]|0,8,c[N>>2]|0,c[G>>2]|0,1)|0;ix(c[bc>>2]|0,87,1,3)|0;break a}case 35:{if(c[ec>>2]|0){ac=c[cc>>2]|0;zf(ac,Pi(c[ec>>2]|0)|0)|0}if((c[(c[cc>>2]|0)+224>>2]|0)==139)l=c[(c[cc>>2]|0)+228>>2]|0;else l=0;lC(c[bc>>2]|0,32729,l,((l|0)<0)<<31>>31);break a}case 27:{nf(c[cc>>2]|0)|0;break a}case 28:{if((c[ec>>2]|0)!=0?(Hi(c[ec>>2]|0,t)|0)==0:0){ac=t;Gd(c[ac>>2]|0,c[ac+4>>2]|0)|0}ac=c[bc>>2]|0;bc=Gd(-1,-1)|0;lC(ac,32756,bc,C);break a}case 34:{if((c[ec>>2]|0)!=0?(_b=(Hi(c[ec>>2]|0,u)|0)==0,ac=u,$b=c[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(c[ac>>2]|0)>>>0>=0)):0)Ef(c[cc>>2]|0,11,c[u>>2]&2147483647)|0;ac=c[bc>>2]|0;bc=Ef(c[cc>>2]|0,11,-1)|0;lC(ac,32772,bc,((bc|0)<0)<<31>>31);break a}default:{if(c[ec>>2]|0){ac=c[cc>>2]|0;vf(ac,Pi(c[ec>>2]|0)|0)|0}ac=c[(c[cc>>2]|0)+428>>2]|0;lC(c[bc>>2]|0,32748,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);Tf(c[cc>>2]|0,c[dc>>2]|0);Tf(c[cc>>2]|0,c[ec>>2]|0);i=fc;return}function yw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+112|0;t=w+24|0;s=w;f=w+108|0;g=w+104|0;h=w+100|0;p=w+96|0;v=w+92|0;j=w+88|0;q=w+64|0;k=w+56|0;l=w+48|0;r=w+44|0;u=w+40|0;n=w+36|0;m=w+32|0;o=w+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[f>>2]|0)+444>>2];c[j>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+444>>2]=0;do if((c[p>>2]|0)!=0?(c[(c[f>>2]|0)+36>>2]|0)==0:0){c[v>>2]=c[c[p>>2]>>2];c[k>>2]=Fh(c[c[f>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0)|0;c[(c[p>>2]|0)+28>>2]=c[g>>2];while(1){e=c[p>>2]|0;if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+4>>2]=e;c[g>>2]=c[(c[g>>2]|0)+28>>2]}Xy(l,c[e>>2]|0);cC(q,c[f>>2]|0,c[k>>2]|0,18664,l);if((hC(q,c[(c[p>>2]|0)+28>>2]|0)|0)==0?(fC(q,c[(c[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[j>>2]|0)+148+5>>0]|0)){c[r>>2]=dx(c[f>>2]|0)|0;if(!(c[r>>2]|0))break;rx(c[f>>2]|0,0,c[k>>2]|0);c[u>>2]=Yw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;q=c[f>>2]|0;b=(c[k>>2]|0)==1?19905:19924;d=c[v>>2]|0;h=c[(c[p>>2]|0)+4>>2]|0;l=c[u>>2]|0;c[s>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=h;c[s+16>>2]=l;cx(q,32010,s);Tf(c[j>>2]|0,c[u>>2]|0);ex(c[f>>2]|0,c[k>>2]|0);r=c[r>>2]|0;s=c[k>>2]|0;u=c[j>>2]|0;c[t>>2]=c[v>>2];gx(r,s,Gh(u,32074,t)|0)}if(a[(c[j>>2]|0)+148+5>>0]|0){c[n>>2]=c[p>>2];c[m>>2]=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+40;c[p>>2]=Uj(c[m>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;if(c[p>>2]|0){mh(c[j>>2]|0);break}if((c[(c[n>>2]|0)+20>>2]|0)==(c[(c[n>>2]|0)+24>>2]|0)){c[o>>2]=sj((c[(c[n>>2]|0)+24>>2]|0)+8|0,c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=c[n>>2]}}}}while(0);Qf(c[j>>2]|0,c[p>>2]|0);ov(c[j>>2]|0,c[g>>2]|0);i=w;return}function zw(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;q=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=j;c[K>>2]=k;c[L>>2]=l;c[z>>2]=m;c[A>>2]=n;c[O>>2]=0;c[P>>2]=0;c[M>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[N>>2]=1;c[D>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{Eh(c[I>>2]|0,31693,r);break}else{c[N>>2]=Oz(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,D)|0;if((c[N>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[M>>2]|0)+69>>0]|0)==0:0){if((c[N>>2]|0)!=1?(d[(c[M>>2]|0)+148+5>>0]|0)!=0:0){Tf(c[M>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[E>>2]=bC(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[M>>2]|0)+148+5>>0]|0)==0?((c[E>>2]|0)!=0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[E>>2]|0)+64>>2]|0)==(c[(c[(c[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[N>>2]=1;if((a[(c[M>>2]|0)+69>>0]|0)==0?(cC(q,c[I>>2]|0,c[N>>2]|0,18664,c[D>>2]|0),(dC(q,c[K>>2]|0)|0)==0):0){c[E>>2]=bC(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[E>>2]|0)){if((d[(c[M>>2]|0)+148+4>>0]|0)!=1)break;a[(c[M>>2]|0)+148+6>>0]=1;break}if(d[(c[E>>2]|0)+42>>0]&16){Eh(c[I>>2]|0,31739,s);break}c[P>>2]=Tw(c[M>>2]|0,c[D>>2]|0)|0;if((c[P>>2]|0)!=0?0==(Sx(c[I>>2]|0,c[P>>2]|0)|0):0){if(sj((c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2]|0)+40|0,c[P>>2]|0)|0){o=c[I>>2]|0;if(c[A>>2]|0){sx(o,c[N>>2]|0);break}else{c[F>>2]=c[D>>2];Eh(o,31780,F);break}}if(!(zd(c[c[E>>2]>>2]|0,27844,7)|0)){Eh(c[I>>2]|0,31806,t);break}if((c[x>>2]|0)!=77?(c[(c[E>>2]|0)+12>>2]|0)!=0:0){N=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==63?31844:31851;c[u+4>>2]=H;c[u+8>>2]=0;Eh(N,31857,u);break}if((c[x>>2]|0)==77?(c[(c[E>>2]|0)+12>>2]|0)==0:0){N=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;Eh(N,31894,v);break}c[C>>2]=Fh(c[M>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[B>>2]=7;c[G>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[z>>2]|0)o=c[(c[(c[M>>2]|0)+16>>2]|0)+16>>2]|0;else o=c[G>>2]|0;c[H>>2]=o;if((c[C>>2]|0)==1|(c[z>>2]|0)!=0)c[B>>2]=5;if((ax(c[I>>2]|0,c[B>>2]|0,c[P>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0)|0)==0?(ax(c[I>>2]|0,18,(c[C>>2]|0)==1?19905:19924,0,c[G>>2]|0)|0)==0:0){if((c[x>>2]|0)==77)c[x>>2]=63;c[O>>2]=sh(c[M>>2]|0,36,0)|0;if(!(c[O>>2]|0))break;c[c[O>>2]>>2]=c[P>>2];c[P>>2]=0;H=qh(c[M>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[O>>2]|0)+4>>2]=H;c[(c[O>>2]|0)+20>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2];c[(c[O>>2]|0)+24>>2]=c[(c[E>>2]|0)+64>>2];a[(c[O>>2]|0)+8>>0]=c[y>>2];a[(c[O>>2]|0)+9>>0]=(c[x>>2]|0)==63?1:2;N=Iy(c[M>>2]|0,c[L>>2]|0,1)|0;c[(c[O>>2]|0)+12>>2]=N;N=Iz(c[M>>2]|0,c[J>>2]|0)|0;c[(c[O>>2]|0)+16>>2]=N;c[(c[I>>2]|0)+444>>2]=c[O>>2]}}}}while(0);Tf(c[M>>2]|0,c[P>>2]|0);hv(c[M>>2]|0,c[K>>2]|0);kv(c[M>>2]|0,c[J>>2]|0);iv(c[M>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+444>>2]|0){i=Q;return}Qf(c[M>>2]|0,c[O>>2]|0);i=Q;return}function Aw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=aC(c[h>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=Qy(c[h>>2]|0,c[j>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;o=Iy(c[h>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+16>>2]=o;a[(c[m>>2]|0)+1>>0]=a[l>>0]|0}ev(c[h>>2]|0,c[j>>2]|0);iv(c[h>>2]|0,c[k>>2]|0);i=n;return c[m>>2]|0}function Bw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=aC(c[h>>2]|0,108,c[o>>2]|0)|0;b=c[h>>2]|0;if(c[m>>2]|0){o=_x(b,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+8>>2]=o;c[(c[m>>2]|0)+24>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=a[l>>0]|0;l=c[h>>2]|0;o=c[k>>2]|0;fv(l,o);o=c[m>>2]|0;i=n;return o|0}else{kv(b,c[j>>2]|0);l=c[h>>2]|0;o=c[k>>2]|0;fv(l,o);o=c[m>>2]|0;i=n;return o|0}return 0}function Cw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[h>>2]=aC(c[f>>2]|0,109,c[k>>2]|0)|0;if(c[h>>2]|0){k=Iy(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=k;a[(c[h>>2]|0)+1>>0]=10}iv(c[f>>2]|0,c[g>>2]|0);i=j;return c[h>>2]|0}function Dw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=sh(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){fv(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Ew(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;l=r+40|0;m=r+36|0;n=r+32|0;h=r+28|0;f=r+24|0;q=r+20|0;j=r+16|0;o=r+12|0;g=r+8|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[h>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(a[(c[o>>2]|0)+69>>0]|0){p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}if(Kz(c[l>>2]|0)|0){p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}c[q>>2]=c[(c[m>>2]|0)+8+4>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;b=c[f>>2]|0;c[g>>2]=(c[f>>2]|0)<2?b^1:b;if(!((c[q>>2]|0)!=0?(ig(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0,c[q>>2]|0)|0)!=0:0))k=7;if((k|0)==7?(k=0,c[h>>2]=sj((c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+40|0,c[j>>2]|0)|0,(c[h>>2]|0)!=0):0)break;c[f>>2]=(c[f>>2]|0)+1}if(c[h>>2]|0){_B(c[l>>2]|0,c[h>>2]|0);p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}f=c[l>>2]|0;if(c[n>>2]|0)ZB(f,c[q>>2]|0);else{c[p>>2]=c[m>>2];c[p+4>>2]=0;Eh(f,31622,p)}a[(c[l>>2]|0)+17>>0]=1;p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}function Fw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;IB(c[k>>2]|0,24,4448,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function Gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;IB(c[f>>2]|0,25,4420,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function Hw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u;q=u+48|0;f=u+44|0;g=u+40|0;j=u+36|0;m=u+32|0;o=u+28|0;l=u+24|0;s=u+20|0;r=u+16|0;h=u+12|0;k=u+8|0;n=u+4|0;c[q>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[q>>2]>>2];if(Kz(c[q>>2]|0)|0){i=u;return}if(!(c[f>>2]|0)){kA(c[q>>2]|0,0);i=u;return}if(!((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[n>>2]=Tw(c[c[q>>2]>>2]|0,c[f>>2]|0)|0;if(!(c[n>>2]|0)){i=u;return}c[j>>2]=Sj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[n>>2]|0,0)|0;if(!(c[j>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);break}kA(c[q>>2]|0,c[n>>2]|0);Tf(c[h>>2]|0,c[n>>2]|0);i=u;return}while(0);c[r>>2]=Oz(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0,k)|0;if((c[r>>2]|0)<0){i=u;return}c[m>>2]=Tw(c[h>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){i=u;return}c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[l>>2]=ti(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;if(c[l>>2]|0){lA(c[q>>2]|0,c[l>>2]|0,0);Tf(c[h>>2]|0,c[m>>2]|0);i=u;return}c[s>>2]=Kj(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;Tf(c[h>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(c[s>>2]|0){rx(f,0,c[r>>2]|0);mA(c[q>>2]|0,c[s>>2]|0,-1);i=u;return}else{Eh(f,31007,t);i=u;return}}function Iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;e=r+40|0;f=r+36|0;m=r+32|0;h=r+28|0;g=r+24|0;q=r+20|0;k=r+16|0;o=r+12|0;n=r+8|0;j=r+4|0;p=r;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[c[l>>2]>>2];if(Kz(c[l>>2]|0)|0){i=r;return}a:do if(c[e>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=Oz(c[l>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if((c[h>>2]|0)<0)break;c[k>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Tw(c[m>>2]|0,c[j>>2]|0)|0;if(!(c[q>>2]|0))break;j=Kj(c[m>>2]|0,c[q>>2]|0,c[k>>2]|0)|0;c[n>>2]=j;e=c[l>>2]|0;if(!j){n=Dh(e,0,c[q>>2]|0,c[k>>2]|0)|0;c[o>>2]=n;if(n)Nz(c[l>>2]|0,c[o>>2]|0,0)}else Nz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0);break}c[h>>2]=Mz(c[m>>2]|0,c[e>>2]|0)|0;if((c[h>>2]|0)>=0){Lz(c[l>>2]|0,c[h>>2]|0);break}c[q>>2]=Tw(c[m>>2]|0,c[e>>2]|0)|0;if(c[q>>2]|0){k=Kj(c[m>>2]|0,c[q>>2]|0,0)|0;c[n>>2]=k;e=c[l>>2]|0;if(!k){n=Dh(e,0,c[q>>2]|0,0)|0;c[o>>2]=n;if(n)Nz(c[l>>2]|0,c[o>>2]|0,0)}else Nz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0)}}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break a;if((c[g>>2]|0)!=1)Lz(c[l>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=dx(c[l>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}fx(c[p>>2]|0,150)|0;i=r;return}function Jw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;h=E;j=E+172|0;k=E+168|0;g=E+164|0;n=E+160|0;A=E+156|0;r=E+152|0;B=E+148|0;l=E+144|0;o=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;m=E+116|0;p=E+112|0;q=E+108|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[B>>2]=0;c[l>>2]=c[c[j>>2]>>2];c[D>>2]=0;c[s>>2]=0;c[t>>2]=c[(c[l>>2]|0)+24>>2];do if(((a[(c[l>>2]|0)+69>>0]|0)==0?(c[r>>2]=px(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,(c[r>>2]|0)!=0):0)?(c[n>>2]=Fh(c[c[j>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0,c[A>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2],e=(c[l>>2]|0)+24|0,c[e>>2]=c[e>>2]|2097152,c[B>>2]=Tw(c[l>>2]|0,c[g>>2]|0)|0,(c[B>>2]|0)!=0):0){if((ti(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0?(Kj(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0:0){if(qx(c[j>>2]|0,c[c[r>>2]>>2]|0)|0)break;if(Sx(c[j>>2]|0,c[B>>2]|0)|0)break;g=c[j>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){c[v>>2]=c[c[r>>2]>>2];Eh(g,28337,v);break}if(ax(g,26,c[A>>2]|0,c[c[r>>2]>>2]|0,0)|0)break;if(Tx(c[j>>2]|0,c[r>>2]|0)|0)break;if((d[(c[r>>2]|0)+42>>0]&16|0)!=0?(c[s>>2]=Ux(c[l>>2]|0,c[r>>2]|0)|0,(c[(c[c[(c[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[s>>2]=0;c[u>>2]=dx(c[j>>2]|0)|0;if(!(c[u>>2]|0))break;rx(c[j>>2]|0,(c[s>>2]|0)!=0&1,c[n>>2]|0);ex(c[j>>2]|0,c[n>>2]|0);if(c[s>>2]|0){h=(c[j>>2]|0)+44|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;c[m>>2]=v;hx(c[u>>2]|0,c[m>>2]|0,c[B>>2]|0)|0;mx(c[u>>2]|0,157,c[m>>2]|0,0,0,c[s>>2]|0,-10)|0;Vx(c[j>>2]|0)}c[C>>2]=c[c[r>>2]>>2];c[o>>2]=Wx(c[C>>2]|0,-1)|0;if((c[(c[l>>2]|0)+24>>2]&524288|0)!=0?(v=Xx(c[j>>2]|0,c[r>>2]|0)|0,c[D>>2]=v,(v|0)!=0):0){v=c[j>>2]|0;h=(c[n>>2]|0)==1?19905:19924;m=c[C>>2]|0;s=c[B>>2]|0;u=c[D>>2]|0;c[z>>2]=c[A>>2];c[z+4>>2]=h;c[z+8>>2]=m;c[z+12>>2]=s;c[z+16>>2]=u;cx(v,28364,z);Tf(c[l>>2]|0,c[D>>2]|0)}z=c[j>>2]|0;e=(c[n>>2]|0)==1?19905:19924;h=c[B>>2]|0;m=c[B>>2]|0;n=c[B>>2]|0;s=c[B>>2]|0;u=c[B>>2]|0;v=c[o>>2]|0;C=c[C>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=e;c[w+8>>2]=h;c[w+12>>2]=m;c[w+16>>2]=n;c[w+20>>2]=s;c[w+24>>2]=u;c[w+28>>2]=v;c[w+32>>2]=C;cx(z,28433,w);if(ti(c[l>>2]|0,28817,c[A>>2]|0)|0){C=c[j>>2]|0;w=c[B>>2]|0;z=c[c[r>>2]>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=w;c[x+8>>2]=z;cx(C,28833,x)}C=Ax(c[j>>2]|0,c[r>>2]|0)|0;c[D>>2]=C;if(C){C=c[j>>2]|0;z=c[B>>2]|0;A=c[D>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=z;c[y+8>>2]=A;cx(C,28891,y);Tf(c[l>>2]|0,c[D>>2]|0)}a:do if(c[(c[l>>2]|0)+24>>2]&524288){c[p>>2]=Yx(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[q>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=(c[r>>2]|0))yx(c[j>>2]|0,c[c[p>>2]>>2]|0,c[c[q>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);yx(c[j>>2]|0,c[r>>2]|0,c[B>>2]|0);break}D=c[j>>2]|0;c[h>>2]=c[B>>2];Eh(D,28278,h)}while(0);hv(c[l>>2]|0,c[k>>2]|0);Tf(c[l>>2]|0,c[B>>2]|0);c[(c[l>>2]|0)+24>>2]=c[t>>2];i=E;return}function Kw(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+144|0;w=E+40|0;v=E+32|0;z=E+24|0;y=E+16|0;x=E+8|0;u=E;g=E+128|0;h=E+124|0;n=E+120|0;o=E+116|0;k=E+112|0;B=E+108|0;D=E+104|0;A=E+100|0;l=E+96|0;m=E+92|0;j=E+88|0;t=E+84|0;q=E+80|0;p=E+76|0;r=E+72|0;C=E+68|0;s=E+64|0;c[g>>2]=e;c[h>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];if(c[(c[g>>2]|0)+36>>2]|0){i=E;return}if(d[(c[j>>2]|0)+69>>0]|0){i=E;return}c[n>>2]=c[(c[g>>2]|0)+440>>2];c[k>>2]=Fh(c[j>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;c[B>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[D>>2]=(c[c[n>>2]>>2]|0)+16;c[l>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+34>>1]|0)-1<<4);c[m>>2]=c[(c[l>>2]|0)+4>>2];c[o>>2]=ti(c[j>>2]|0,c[D>>2]|0,c[B>>2]|0)|0;if(ax(c[g>>2]|0,26,c[B>>2]|0,c[c[o>>2]>>2]|0,0)|0){i=E;return}if((c[m>>2]|0)!=0?(d[c[(c[m>>2]|0)+12>>2]>>0]|0)==101:0)c[m>>2]=0;if(d[(c[l>>2]|0)+15>>0]&1){Eh(c[g>>2]|0,27880,u);i=E;return}if(c[(c[n>>2]|0)+8>>2]|0){Eh(c[g>>2]|0,27912,x);i=E;return}if((c[(c[j>>2]|0)+24>>2]&524288|0)!=0?((c[m>>2]|0)!=0?(c[(c[n>>2]|0)+16>>2]|0)!=0:0):0){Eh(c[g>>2]|0,27939,y);i=E;return}if(!((c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+12>>0]|0)==0)){Eh(c[g>>2]|0,27998,z);i=E;return}do if(c[m>>2]|0){c[p>>2]=0;c[r>>2]=ux(c[j>>2]|0,c[m>>2]|0,1,65,p)|0;if(c[r>>2]|0){i=E;return}if(c[p>>2]|0){ch(c[p>>2]|0);break}Eh(c[g>>2]|0,28051,v);i=E;return}while(0);c[A>>2]=Yw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;if(c[A>>2]|0){c[C>>2]=(c[A>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1);c[s>>2]=c[(c[j>>2]|0)+24>>2];while(1){if((c[C>>2]|0)>>>0<=(c[A>>2]|0)>>>0)break;if((a[c[C>>2]>>0]|0)!=59?(d[18403+(d[c[C>>2]>>0]|0)>>0]&1|0)==0:0)break;z=c[C>>2]|0;c[C>>2]=z+-1;a[z>>0]=0}C=(c[j>>2]|0)+24|0;c[C>>2]=c[C>>2]|2097152;C=c[g>>2]|0;v=(c[k>>2]|0)==1?19905:19924;x=c[(c[n>>2]|0)+44>>2]|0;y=c[A>>2]|0;z=(c[(c[n>>2]|0)+44>>2]|0)+1|0;D=c[D>>2]|0;c[w>>2]=c[B>>2];c[w+4>>2]=v;c[w+8>>2]=x;c[w+12>>2]=y;c[w+16>>2]=z;c[w+20>>2]=D;cx(C,28097,w);Tf(c[j>>2]|0,c[A>>2]|0);c[(c[j>>2]|0)+24>>2]=c[s>>2]}c[q>>2]=vx(c[g>>2]|0)|0;jx(c[t>>2]|0,101,c[k>>2]|0,c[q>>2]|0,2)|0;Lh(c[t>>2]|0,c[k>>2]|0);ix(c[t>>2]|0,91,c[q>>2]|0,-2)|0;C=c[t>>2]|0;D=c[q>>2]|0;ix(C,66,D,(wx(c[t>>2]|0)|0)+2|0)|0;jx(c[t>>2]|0,102,c[k>>2]|0,2,3)|0;xx(c[g>>2]|0,c[q>>2]|0);yx(c[g>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0);i=E;return}function Lw(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u+16|0;s=u+8|0;g=u;h=u+56|0;j=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;m=u+36|0;l=u+32|0;n=u+28|0;k=u+24|0;o=u+20|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];do if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[q>>2]=px(c[h>>2]|0,0,(c[j>>2]|0)+8|0)|0,(c[q>>2]|0)!=0):0){if(d[(c[q>>2]|0)+42>>0]&16){Eh(c[h>>2]|0,27691,g);break}e=c[h>>2]|0;if(c[(c[q>>2]|0)+12>>2]|0){Eh(e,27725,s);break}if(((0==(qx(e,c[c[q>>2]>>2]|0)|0)?(c[m>>2]=Fh(c[k>>2]|0,c[(c[q>>2]|0)+64>>2]|0)|0,c[p>>2]=sh(c[k>>2]|0,72,0)|0,(c[p>>2]|0)!=0):0)?(c[(c[h>>2]|0)+440>>2]=c[p>>2],b[(c[p>>2]|0)+36>>1]=1,b[(c[p>>2]|0)+34>>1]=b[(c[q>>2]|0)+34>>1]|0,c[n>>2]=((((b[(c[p>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=sh(c[k>>2]|0,c[n>>2]<<4,0)|0,c[(c[p>>2]|0)+4>>2]=s,s=c[k>>2]|0,c[t>>2]=c[c[q>>2]>>2],t=Gh(s,27755,t)|0,c[c[p>>2]>>2]=t,(c[(c[p>>2]|0)+4>>2]|0)!=0):0)?(c[c[p>>2]>>2]|0)!=0:0){TR(c[(c[p>>2]|0)+4>>2]|0,c[(c[q>>2]|0)+4>>2]|0,b[(c[p>>2]|0)+34>>1]<<4|0)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[p>>2]|0)+34>>1]|0))break;c[o>>2]=(c[(c[p>>2]|0)+4>>2]|0)+(c[l>>2]<<4);t=qh(c[k>>2]|0,c[c[o>>2]>>2]|0)|0;c[c[o>>2]>>2]=t;c[(c[o>>2]|0)+8>>2]=0;c[(c[o>>2]|0)+4>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[p>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];c[(c[p>>2]|0)+44>>2]=c[(c[q>>2]|0)+44>>2];b[(c[p>>2]|0)+36>>1]=1;rx(c[h>>2]|0,0,c[m>>2]|0);c[r>>2]=dx(c[h>>2]|0)|0;if(c[r>>2]|0)ex(c[h>>2]|0,c[m>>2]|0)}}while(0);hv(c[k>>2]|0,c[j>>2]|0);i=u;return}function Mw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+96|0;q=u+32|0;p=u+8|0;o=u;e=u+80|0;f=u+76|0;m=u+72|0;g=u+68|0;s=u+64|0;t=u+60|0;h=u+56|0;j=u+52|0;n=u+48|0;k=u+44|0;l=u+40|0;r=u+36|0;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[(c[e>>2]|0)+440>>2];c[g>>2]=c[c[e>>2]>>2];if(!(c[m>>2]|0)){i=u;return}_w(c[e>>2]|0);c[(c[e>>2]|0)+452>>2]=0;if((c[(c[m>>2]|0)+48>>2]|0)<1){i=u;return}if(!(a[(c[g>>2]|0)+148+5>>0]|0)){if(c[f>>2]|0)c[(c[e>>2]|0)+384+4>>2]=(c[c[f>>2]>>2]|0)-(c[(c[e>>2]|0)+384>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);r=c[g>>2]|0;c[o>>2]=(c[e>>2]|0)+384;c[s>>2]=Gh(r,27552,o)|0;c[h>>2]=Fh(c[g>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;r=c[e>>2]|0;d=(c[h>>2]|0)==1?19905:19924;k=c[c[m>>2]>>2]|0;b=c[c[m>>2]>>2]|0;l=c[s>>2]|0;o=c[(c[e>>2]|0)+100>>2]|0;c[p>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[p+4>>2]=d;c[p+8>>2]=k;c[p+12>>2]=b;c[p+16>>2]=l;c[p+20>>2]=o;cx(r,27576,p);Tf(c[g>>2]|0,c[s>>2]|0);c[n>>2]=dx(c[e>>2]|0)|0;ex(c[e>>2]|0,c[h>>2]|0);fx(c[n>>2]|0,150)|0;s=c[g>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[t>>2]=Gh(s,27664,q)|0;gx(c[n>>2]|0,c[h>>2]|0,c[t>>2]|0);s=(c[e>>2]|0)+44|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[j>>2]=t;hx(c[n>>2]|0,c[j>>2]|0,c[c[m>>2]>>2]|0)|0;ix(c[n>>2]|0,153,c[h>>2]|0,c[j>>2]|0)|0;i=u;return}c[l>>2]=c[(c[m>>2]|0)+64>>2];c[r>>2]=c[c[m>>2]>>2];c[k>>2]=Uj((c[l>>2]|0)+8|0,c[r>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0){mh(c[g>>2]|0);i=u;return}else{c[(c[e>>2]|0)+440>>2]=0;i=u;return}}function Nw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+32|0;j=o+28|0;r=o+24|0;q=o+20|0;k=o+16|0;p=o+12|0;m=o+8|0;n=o+4|0;l=o;c[j>>2]=b;c[r>>2]=e;c[q>>2]=f;c[k>>2]=g;c[p>>2]=h;zv(c[j>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[n>>2]=c[(c[j>>2]|0)+440>>2];if(!(c[n>>2]|0)){i=o;return}c[l>>2]=c[c[j>>2]>>2];c[m>>2]=Fh(c[l>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;r=(c[n>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;r=c[l>>2]|0;q=c[n>>2]|0;$w(r,q,Tw(c[l>>2]|0,c[k>>2]|0)|0);$w(c[l>>2]|0,c[n>>2]|0,0);q=c[l>>2]|0;r=c[n>>2]|0;$w(q,r,qh(c[l>>2]|0,c[c[n>>2]>>2]|0)|0);c[(c[j>>2]|0)+384+4>>2]=(c[c[k>>2]>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+384>>2]|0);if(!(c[(c[n>>2]|0)+52>>2]|0)){i=o;return}ax(c[j>>2]|0,29,c[c[n>>2]>>2]|0,c[c[(c[n>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;i=o;return}function Ow(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;_w(c[d>>2]|0);c[(c[d>>2]|0)+452>>2]=0;c[(c[d>>2]|0)+452+4>>2]=0;i=b;return}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+452;b=c[d>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=f;return}}function Qw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;q=s;h=s+40|0;j=s+36|0;t=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;p=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;c[h>>2]=b;c[j>>2]=d;c[t>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[r>>2]=Tw(c[c[h>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[r>>2]|0)!=0&(c[j>>2]|0)!=0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[j>>2]>>2]|0))break a;if(!(ig(c[r>>2]|0,c[(c[j>>2]|0)+8+(c[n>>2]<<4)>>2]|0)|0)){t=c[h>>2]|0;c[q>>2]=c[r>>2];Eh(t,27484,q)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[j>>2]|0){c[o>>2]=24+(c[c[j>>2]>>2]<<4);t=c[o>>2]|0;c[p>>2]=Uw(c[m>>2]|0,c[j>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[p>>2]=sh(c[m>>2]|0,24,0)|0;if(a[(c[m>>2]|0)+69>>0]|0){ev(c[m>>2]|0,c[k>>2]|0);fv(c[m>>2]|0,c[l>>2]|0);Tf(c[m>>2]|0,c[r>>2]|0);c[p>>2]=c[j>>2];t=c[p>>2]|0;i=s;return t|0}else{c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+8>>2]=c[l>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+4>>2]=c[k>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)>>2]=c[r>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+12>>2]=0;t=c[p>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[p>>2]|0;i=s;return t|0}return 0}function Rw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[10806+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[11456+(c[h>>2]<<1)>>1]|0}function Sw(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=c[e>>2];i=b;return}function Tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Yw(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Zw(c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function Uw(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=f;d=c[h>>2]|0;if(!(c[j>>2]|0)){c[g>>2]=Vw(d,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}if((lu(d,c[j>>2]|0)|0)!=0?(b=k,a=c[b+4>>2]|0,a>>>0<0|((a|0)==0?(c[b>>2]|0)>>>0<=(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)):0){c[g>>2]=c[j>>2];k=c[g>>2]|0;i=l;return k|0}c[g>>2]=Ww(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Vw(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+256>>2]|0){if(a[(c[h>>2]|0)+69>>0]|0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}}else{b=j;f=c[b+4>>2]|0;d=(c[h>>2]|0)+256|0;if(f>>>0>0|((f|0)==0?(c[b>>2]|0)>>>0>(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)){k=d+16+4|0;c[k>>2]=(c[k>>2]|0)+1;break}b=c[d+28>>2]|0;c[k>>2]=b;if(!b){k=(c[h>>2]|0)+256+16+8|0;c[k>>2]=(c[k>>2]|0)+1;break}c[(c[h>>2]|0)+256+28>>2]=c[c[k>>2]>>2];j=(c[h>>2]|0)+256+8|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[h>>2]|0)+256+16|0;c[j>>2]=(c[j>>2]|0)+1;if((c[(c[h>>2]|0)+256+8>>2]|0)>(c[(c[h>>2]|0)+256+12>>2]|0))c[(c[h>>2]|0)+256+12>>2]=c[(c[h>>2]|0)+256+8>>2];c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}while(0);k=j;c[g>>2]=Xw(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Ww(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=f;c[b+4>>2]=g;c[l>>2]=0;if(d[(c[h>>2]|0)+69>>0]|0){l=c[l>>2]|0;i=m;return l|0}if(lu(c[h>>2]|0,c[j>>2]|0)|0){b=k;c[l>>2]=Vw(c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}TR(c[l>>2]|0,c[j>>2]|0,e[(c[h>>2]|0)+256+4>>1]|0|0)|0;Tf(c[h>>2]|0,c[j>>2]|0);l=c[l>>2]|0;i=m;return l|0}else{b=k;c[l>>2]=Md(c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}mh(c[h>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Xw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=h;c[f>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}mh(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}function Yw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}b=c[h>>2]|0;d=k;d=RR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[l>>2]=Vw(b,d,C)|0;if(c[l>>2]|0){TR(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0}c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}function Zw(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;if(!(c[e>>2]|0)){i=j;return}a[h>>0]=a[c[e>>2]>>0]|0;if(!(d[18403+(d[h>>0]|0)>>0]&128)){i=j;return}if((a[h>>0]|0)==91)a[h>>0]=93;c[f>>2]=1;c[g>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[e>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[(c[e>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[e>>2]|0)+b>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[e>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function _w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+452>>2]|0)){i=g;return}if(!(c[(c[b>>2]|0)+440>>2]|0)){i=g;return}c[f>>2]=c[(c[b>>2]|0)+452>>2];c[e>>2]=c[(c[b>>2]|0)+452+4>>2];c[d>>2]=c[c[b>>2]>>2];h=c[d>>2]|0;b=c[(c[b>>2]|0)+440>>2]|0;a=c[e>>2]|0;$w(h,b,Yw(c[d>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0);i=g;return}function $w(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[l>>2]|0;c[h>>2]=Uw(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Tf(c[e>>2]|0,c[g>>2]|0);i=k;return}else{d=(c[f>>2]|0)+48|0;l=c[d>>2]|0;c[d>>2]=l+1;c[j>>2]=l;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];i=k;return}}function ax(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[j>>2]>>2];if((d[(c[o>>2]|0)+148+5>>0]|0|0)==0?(d[(c[j>>2]|0)+410>>0]|0|0)==0:0){if(!(c[(c[o>>2]|0)+296>>2]|0)){c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}c[p>>2]=Sb[c[(c[o>>2]|0)+296>>2]&255](c[(c[o>>2]|0)+300>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[j>>2]|0)+448>>2]|0)|0;if((c[p>>2]|0)!=1){if((c[p>>2]|0)!=0&(c[p>>2]|0)!=2){c[p>>2]=1;bx(c[j>>2]|0)}}else{Eh(c[j>>2]|0,27514,q);c[(c[j>>2]|0)+12>>2]=23}c[h>>2]=c[p>>2];g=c[h>>2]|0;i=r;return g|0}c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}function bx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;Eh(c[d>>2]|0,27529,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function cx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;h=n+36|0;f=n+32|0;g=n+16|0;m=n+8|0;l=n+4|0;j=n;k=n+40|0;c[h>>2]=b;c[f>>2]=d;c[l>>2]=0;c[j>>2]=c[c[h>>2]>>2];if(c[(c[h>>2]|0)+36>>2]|0){i=n;return}c[g>>2]=e;c[m>>2]=ox(c[j>>2]|0,c[f>>2]|0,g)|0;if(!(c[m>>2]|0)){i=n;return}f=(c[h>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;f=k;g=(c[h>>2]|0)+400|0;b=f+80|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(b|0));f=(c[h>>2]|0)+400|0;b=f+80|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));Yh(c[h>>2]|0,c[m>>2]|0,l)|0;Tf(c[j>>2]|0,c[l>>2]|0);Tf(c[j>>2]|0,c[m>>2]|0);f=(c[h>>2]|0)+400|0;g=k;b=f+80|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(b|0));m=(c[h>>2]|0)+18|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;i=n;return}function dx(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}else{d=nx(c[b>>2]|0)|0;i=e;return d|0}return 0}function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];jx(c[g>>2]|0,102,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;i=d;return}function fx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=jx(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function gx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;mx(c[e>>2]|0,136,c[j>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;Lh(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=mx(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;i=e;return d|0}function ix(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;e=jx(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return e|0}function jx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[j>>2]|0)+136>>2];d=c[j>>2]|0;if((c[(c[(c[j>>2]|0)+12>>2]|0)+48>>2]|0)<=(c[o>>2]|0)){c[h>>2]=kx(d,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;p=c[h>>2]|0;i=q;return p|0}else{g=d+136|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[(c[j>>2]|0)+88>>2]|0)+((c[o>>2]|0)*20|0);a[c[p>>2]>>0]=c[k>>2];a[(c[p>>2]|0)+3>>0]=0;c[(c[p>>2]|0)+4>>2]=c[l>>2];c[(c[p>>2]|0)+8>>2]=c[m>>2];c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+1>>0]=0;c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}return 0}function kx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(lx(c[h>>2]|0,1)|0){c[g>>2]=1;f=c[g>>2]|0;i=n;return f|0}else{c[g>>2]=jx(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;f=c[g>>2]|0;i=n;return f|0}return 0}function lx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+12>>2];if(c[(c[f>>2]|0)+48>>2]|0)b=c[(c[f>>2]|0)+48>>2]<<1;else b=51;c[e>>2]=b;c[g>>2]=Uw(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+88>>2]|0,(c[e>>2]|0)*20|0,0)|0;if(!(c[g>>2]|0)){g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}e=ku(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+52>>2]=e;c[(c[f>>2]|0)+48>>2]=((c[(c[f>>2]|0)+52>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+88>>2]=c[g>>2];g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}function mx(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;n=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;m=k+8|0;l=k+4|0;j=k;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=jx(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Mh(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function nx(b){b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=b;b=Hh(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)ix(c[f>>2]|0,71,0,1)|0;if(c[(c[d>>2]|0)+124>>2]|0){f=c[f>>2]|0;i=g;return f|0}if((e[(c[c[d>>2]>>2]|0)+64>>1]|0)&8){f=c[f>>2]|0;i=g;return f|0}a[(c[d>>2]|0)+23>>0]=1;f=c[f>>2]|0;i=g;return f|0}function ox(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+128|0;g=j+40|0;m=j+36|0;l=j+32|0;h=j+28|0;k=j;c[g>>2]=b;c[m>>2]=e;c[l>>2]=f;dg(k,c[g>>2]|0,j+44|0,70,c[(c[g>>2]|0)+96>>2]|0);a[k+25>>0]=1;eg(k,c[m>>2]|0,c[l>>2]|0);c[h>>2]=fg(k)|0;if((d[k+24>>0]|0|0)!=1){m=c[h>>2]|0;i=j;return m|0}mh(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function px(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[j>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]}else c[j>>2]=c[(c[g>>2]|0)+4>>2];j=Dh(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[j>>2]|0)|0;i=k;return j|0}function qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((Jf(c[f>>2]|0)|0)>6?0==(zd(c[f>>2]|0,27844,7)|0):0){b=c[e>>2]|0;c[g>>2]=c[f>>2];Eh(b,27852,g);c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function rx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;f=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)f=c[f+124>>2]|0;c[k>>2]=f;sx(c[g>>2]|0,c[j>>2]|0);g=(c[k>>2]|0)+92|0;c[g>>2]=c[g>>2]|1<>2];k=(c[k>>2]|0)+20|0;a[k>>0]=d[k>>0]|0|c[h>>2];i=l;return}function sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;b=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[e>>2]=b;if((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0){i=f;return}g=(c[e>>2]|0)+96|0;c[g>>2]=c[g>>2]|1<>2];if((c[d>>2]|0)!=1){i=f;return}tx(c[e>>2]|0)|0;i=f;return}function tx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+409>>0]|0)==0:0){c[h>>2]=bk(c[c[f>>2]>>2]|0,0,c[f>>2]|0,g,0,542)|0;if(c[h>>2]|0){Eh(c[e>>2]|0,27774,j);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[g>>2];if(7==(Ci(c[g>>2]|0,c[(c[f>>2]|0)+80>>2]|0,-1,0)|0)){mh(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}}c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function ux(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;h=n+8|0;j=n+4|0;k=n+13|0;l=n+12|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[j>>2]|0)){g=0;i=n;return g|0}g=Cx(c[h>>2]|0,c[j>>2]|0,a[k>>0]|0,a[l>>0]|0,c[m>>2]|0,0)|0;i=n;return g|0}function vx(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+44|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;i=g;return f|0}else{h=b+19|0;b=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=b;c[e>>2]=c[(c[f>>2]|0)+352+((b&255)<<2)>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function wx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+136>>2]|0}function xx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=k;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){i=k;return}c[f>>2]=0;c[j>>2]=(c[g>>2]|0)+152;while(1){if((c[f>>2]|0)>=(d[(c[g>>2]|0)+25>>0]|0|0)){f=8;break}if((c[(c[j>>2]|0)+12>>2]|0)==(c[h>>2]|0)){f=6;break}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==6){a[(c[j>>2]|0)+6>>0]=1;i=k;return}else if((f|0)==8){h=c[h>>2]|0;b=(c[g>>2]|0)+19|0;j=a[b>>0]|0;a[b>>0]=j+1<<24>>24;c[(c[g>>2]|0)+352+((j&255)<<2)>>2]=h;i=k;return}}function yx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+32|0;f=o+28|0;g=o+24|0;l=o+20|0;n=o+16|0;h=o+12|0;k=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=dx(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=o;return}c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;c[k>>2]=zx(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[j>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;mx(c[l>>2]|0,140,c[j>>2]|0,0,0,c[c[k>>2]>>2]|0,0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}mx(c[l>>2]|0,138,c[h>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;d=c[c[e>>2]>>2]|0;c[m>>2]=c[g>>2];c[n>>2]=Gh(d,28206,m)|0;if(!(c[n>>2]|0)){i=o;return}gx(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0);d=Ax(c[e>>2]|0,c[f>>2]|0)|0;c[n>>2]=d;if(!d){i=o;return}gx(c[l>>2]|0,1,c[n>>2]|0);i=o;return}function zx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;k=l+24|0;m=l+20|0;f=l+16|0;e=l+12|0;h=l+8|0;g=l+4|0;j=l;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+150>>0]|0){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[g>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((c[(c[j>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(ig(c[(c[j>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[j>>2]|0)+32>>2]=b;c[h>>2]=c[j>>2]}c[g>>2]=c[c[g>>2]>>2]}}while(0);if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[k>>2]=b;m=c[k>>2]|0;i=l;return m|0}function Ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;d=m+28|0;e=m+24|0;h=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;k=m+4|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[g>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[c[d>>2]>>2];c[h>>2]=zx(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;if((c[(c[h>>2]|0)+20>>2]|0)==(c[g>>2]|0))c[l>>2]=Bx(c[f>>2]|0,c[l>>2]|0,c[c[h>>2]>>2]|0)|0;c[h>>2]=c[(c[h>>2]|0)+32>>2]}}while(0);if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}h=c[c[d>>2]>>2]|0;c[j>>2]=c[l>>2];c[k>>2]=Gh(h,28218,j)|0;Tf(c[c[d>>2]>>2]|0,c[l>>2]|0);c[l>>2]=c[k>>2];l=c[l>>2]|0;i=m;return l|0}function Bx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+8|0;h=l;e=l+28|0;f=l+24|0;g=l+20|0;k=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){h=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;c[k>>2]=Gh(a,28250,j)|0;Tf(c[e>>2]|0,c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}else{c[h>>2]=c[g>>2];c[k>>2]=Gh(a,28242,h)|0;k=c[k>>2]|0;i=l;return k|0}return 0}function Cx(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+64|0;t=E;z=E+52|0;v=E+48|0;n=E+44|0;x=E+58|0;y=E+57|0;A=E+40|0;o=E+36|0;s=E+32|0;w=E+28|0;B=E+24|0;r=E+20|0;u=E+16|0;D=E+12|0;p=E+56|0;q=E+8|0;c[v>>2]=f;c[n>>2]=g;a[x>>0]=j;a[y>>0]=k;c[A>>2]=l;c[o>>2]=m;c[w>>2]=0;c[B>>2]=0;c[r>>2]=1;c[u>>2]=18402;c[D>>2]=0;while(1){l=d[c[n>>2]>>0]|0;c[s>>2]=l;if(!((l|0)==156?1:(c[s>>2]|0)==161))break;c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((c[s>>2]|0)==157)c[s>>2]=d[(c[n>>2]|0)+38>>0];if((c[s>>2]|0)==66){a[p>>0]=Dx(c[(c[n>>2]|0)+8>>2]|0,0)|0;c[D>>2]=Cx(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[p>>0]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[c[A>>2]>>2]|0){Ex(c[c[A>>2]>>2]|0,a[p>>0]|0,1);Fx(c[c[A>>2]>>2]|0,a[y>>0]|0,1)}c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}do if((c[s>>2]|0)==155){if((d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=134?(d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=132:0)break;c[n>>2]=c[(c[n>>2]|0)+12>>2];c[s>>2]=d[c[n>>2]>>0];c[r>>2]=-1;c[u>>2]=28264}while(0);do if((c[s>>2]|0)==97|(c[s>>2]|0)==132|(c[s>>2]|0)==134){c[B>>2]=Gx(c[v>>2]|0,c[o>>2]|0)|0;if(c[B>>2]|0){if(c[(c[n>>2]|0)+4>>2]&1024){v=c[B>>2]|0;u=c[(c[n>>2]|0)+8>>2]|0;w=c[r>>2]|0;w=aS(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;hh(v,w,C)}else{l=c[v>>2]|0;g=c[(c[n>>2]|0)+8>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=g;c[w>>2]=Gh(l,24705,t)|0;if(!(c[w>>2]|0)){n=42;break}_h(c[B>>2]|0,-1,c[w>>2]|0,1,170)}if((c[s>>2]|0)==134|(c[s>>2]|0)==132?(d[y>>0]|0|0)==65:0)Fx(c[B>>2]|0,67,1);else Fx(c[B>>2]|0,a[y>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12){y=(c[B>>2]|0)+8|0;b[y>>1]=(e[y>>1]|0)&-3}if((d[x>>0]|0|0)!=1){c[D>>2]=iu(c[B>>2]|0,d[x>>0]|0)|0;n=41}else n=41}else n=42}else{if((c[s>>2]|0)!=155){if((c[s>>2]|0)==101){c[B>>2]=Gx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=42;break}else{n=41;break}}if((c[s>>2]|0)!=133){n=41;break}c[B>>2]=Gx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=42;break}c[w>>2]=(c[(c[n>>2]|0)+8>>2]|0)+2;c[q>>2]=(Jf(c[w>>2]|0)|0)-1;y=c[B>>2]|0;n=Ix(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;gh(y,n,(c[q>>2]|0)/2|0,0,170)|0;n=41;break}w=0==(ux(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[y>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){Hx(c[B>>2]|0)|0;n=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8)){w=n;n=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[n>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=n;v=QR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=C;break}}else h[c[B>>2]>>3]=-+h[n>>3];while(0);Fx(c[B>>2]|0,a[y>>0]|0,a[x>>0]|0);n=41}else n=41}while(0);if((n|0)==41){c[c[A>>2]>>2]=c[B>>2];c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}else if((n|0)==42){mh(c[v>>2]|0);Tf(c[v>>2]|0,c[w>>2]|0);ch(c[B>>2]|0);c[z>>2]=7;D=c[z>>2]|0;i=E;return D|0}return 0}function Dx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+16|0;g=n+12|0;j=n+8|0;h=n+20|0;l=n+4|0;k=n;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;a[h>>0]=67;c[l>>2]=0;a:while(1){if(!(a[c[f>>2]>>0]|0))break;c[j>>2]=(c[j>>2]<<8)+(d[17613+(a[c[f>>2]>>0]&255)>>0]|0);c[f>>2]=(c[f>>2]|0)+1;if((c[j>>2]|0)==1667785074){a[h>>0]=66;c[l>>2]=c[f>>2];continue}if((c[j>>2]|0)==1668050786){a[h>>0]=66;continue}if((c[j>>2]|0)==1952807028){a[h>>0]=66;continue}do if((c[j>>2]|0)==1651273570){if((a[h>>0]|0)!=67?(a[h>>0]|0)!=69:0)break;a[h>>0]=65;if((a[c[f>>2]>>0]|0)!=40)continue a;c[l>>2]=c[f>>2];continue a}while(0);if((c[j>>2]|0)==1919246700?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1718382433?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1685026146?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]&16777215|0)==6909556){m=24;break}}if((m|0)==24)a[h>>0]=68;if(!(c[g>>2]|0)){m=a[h>>0]|0;i=n;return m|0}a[c[g>>2]>>0]=1;if((a[h>>0]|0)>=67){m=a[h>>0]|0;i=n;return m|0}if(!(c[l>>2]|0)){a[c[g>>2]>>0]=5;m=a[h>>0]|0;i=n;return m|0}while(1){if(!(a[c[l>>2]>>0]|0)){m=33;break}if(d[18403+(d[c[l>>2]>>0]|0)>>0]&4)break;c[l>>2]=(c[l>>2]|0)+1}if((m|0)==33){m=a[h>>0]|0;i=n;return m|0}c[k>>2]=0;Qi(c[l>>2]|0,k)|0;m=((c[k>>2]|0)/4|0)+1|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>255?255:m;a[c[g>>2]>>0]=c[k>>2];m=a[h>>0]|0;i=n;return m|0}function Ex(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+5|0;l=m+4|0;c[k>>2]=f;a[j>>0]=g;a[l>>0]=h;if((e[(c[k>>2]|0)+8>>1]|0)&1){i=m;return}switch(d[j>>0]|0|0){case 65:{j=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){l=j+8|0;b[l>>1]=(e[l>>1]|0)&-33264;i=m;return}Fx(j,66,a[l>>0]|0);if(!((e[(c[k>>2]|0)+8>>1]|0)&2)){i=m;return}b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-49664|16;i=m;return}case 67:{Hx(c[k>>2]|0)|0;i=m;return}case 68:{Qx(c[k>>2]|0)|0;i=m;return}case 69:{Rx(c[k>>2]|0)|0;i=m;return}default:{f=(c[k>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[k>>2]|0)+8>>1]|0)&16)>>3;Fx(c[k>>2]|0,66,a[l>>0]|0);l=(c[k>>2]|0)+8|0;b[l>>1]=(e[l>>1]|0)&-16413;i=m;return}}}function Fx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;Lx(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Zh(c[e>>2]|0)|0;i=d;return b|0}function Hx(d){d=d|0;var f=0,g=0,j=0,k=0.0;g=i;i=i+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){j=0==(Mi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(j){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{k=+$g(d);h[c[f>>2]>>3]=k;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;Jx(c[f>>2]|0);break}}while(0);j=(c[f>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-16403;i=g;return 0}function Ix(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;d=((c[g>>2]|0)/2|0)+1|0;c[j>>2]=Vw(c[l>>2]|0,d,((d|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=0;while(1){b=c[h>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;l=((Li(a[(c[f>>2]|0)+b>>0]|0)|0)&255)<<4;l=(l|(Li(a[(c[f>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[j>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[j>>2]|0)+((b|0)/2|0)>>0]=0;l=c[j>>2]|0;i=k;return l|0}function Jx(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;d=g+8|0;f=g;c[d>>2]=a;k=Kx(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=C;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=g;return}k=f;l=c[k+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;i=g;return}function Kx(a){a=+a;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;C=c[f+4>>2]|0;i=e;return c[f>>2]|0}function Lx(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;h=l+5|0;j=l+4|0;c[k>>2]=d;a[h>>0]=f;a[j>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){i=l;return}if(0==(e[(c[k>>2]|0)+8>>1]&2|0)?(e[(c[k>>2]|0)+8>>1]&12|0)!=0:0)Mx(c[k>>2]|0,a[j>>0]|0,1)|0;k=(c[k>>2]|0)+8|0;b[k>>1]=e[k>>1]&-13;i=l;return}if(e[(c[k>>2]|0)+8>>1]&4){i=l;return}h=c[k>>2]|0;if(e[(c[k>>2]|0)+8>>1]&8){Jx(h);i=l;return}if(!(e[h+8>>1]&2)){i=l;return}Bh(c[k>>2]|0,1);i=l;return}function Mx(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;k=r+28|0;l=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[l>>2]=f;a[m>>0]=g;a[n>>0]=j;c[o>>2]=e[(c[l>>2]|0)+8>>1];c[r+16>>2]=32;if(Nx(c[l>>2]|0,32)|0){a[(c[l>>2]|0)+10>>0]=0;c[k>>2]=7;q=c[k>>2]|0;i=r;return q|0}j=c[(c[l>>2]|0)+16>>2]|0;g=c[l>>2]|0;if(c[o>>2]&4){f=g;o=c[f+4>>2]|0;q=p;c[q>>2]=c[f>>2];c[q+4>>2]=o;Qd(32,j,28266,p)|0}else{h[q>>3]=+h[g>>3];Qd(32,j,28271,q)|0}q=Jf(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=q;a[(c[l>>2]|0)+10>>0]=1;q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}iu(c[l>>2]|0,d[m>>0]|0)|0;c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}function Nx(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=Ox(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;i=j;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;i=j;return h|0}return 0}function Ox(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=a;c[g>>2]=d;c[k>>2]=f;do if((c[(c[j>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+24>>2]|0)>0:0)?(c[(c[j>>2]|0)+16>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0):0){a=c[g>>2]|0;a=Px(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a;c[(c[j>>2]|0)+16>>2]=a;c[k>>2]=0}else{if((c[(c[j>>2]|0)+24>>2]|0)>0)Tf(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=c[g>>2]|0;a=Ch(c[(c[j>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a}g=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){a=ku(c[g+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=a;break}ih(g);c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}while(0);if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+16>>2]|0)!=(c[(c[j>>2]|0)+20>>2]|0):0)TR(c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if((e[(c[j>>2]|0)+8>>1]|0)&1024)Qb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+20>>2];k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-7169;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Px(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;k=j;h=j+8|0;c[f>>2]=a;c[g>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;b=k;c[h>>2]=Uw(c[f>>2]|0,c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}Tf(c[f>>2]|0,c[g>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Qx(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=ah(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=C;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;i=d;return 0}function Rx(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+$g(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;i=d;return 0}function Sx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;f=k+12|0;g=k+8|0;h=k+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+148+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(zd(c[h>>2]|0,27844,7)|0):0){e=c[g>>2]|0;c[j>>2]=c[h>>2];Eh(e,30775,j);c[f>>2]=1;e=c[f>>2]|0;i=k;return e|0}c[f>>2]=0;e=c[f>>2]|0;i=k;return e|0}function Tx(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;g=r+36|0;h=r+32|0;j=r+28|0;o=r+24|0;n=r+20|0;m=r+16|0;l=r+12|0;k=r+8|0;q=r+4|0;c[h>>2]=a;c[j>>2]=f;c[m>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(Zx(c[h>>2]|0,c[j>>2]|0)|0){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}if(d[(c[j>>2]|0)+42>>0]&16){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)>0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)<0){q=c[h>>2]|0;c[p>>2]=c[c[j>>2]>>2];Eh(q,28983,p);c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}c[n>>2]=_x(c[k>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=c[(c[h>>2]|0)+40>>2];$x(c[h>>2]|0,c[(c[n>>2]|0)+28>>2]|0);b[(c[j>>2]|0)+34>>1]=-1;p=(c[k>>2]|0)+256|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=c[(c[k>>2]|0)+296>>2];c[(c[k>>2]|0)+296>>2]=0;c[o>>2]=ay(c[h>>2]|0,c[n>>2]|0)|0;c[(c[k>>2]|0)+296>>2]=c[q>>2];c[(c[h>>2]|0)+40>>2]=c[l>>2];do if(c[(c[j>>2]|0)+24>>2]|0){by(c[h>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[j>>2]|0)+34|0,(c[j>>2]|0)+4|0)|0;if(((d[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[h>>2]|0)+36>>2]|0)==0:0)?(b[(c[j>>2]|0)+34>>1]|0)==(c[c[c[n>>2]>>2]>>2]|0):0)cy(c[h>>2]|0,c[j>>2]|0,c[n>>2]|0)}else if(c[o>>2]|0){b[(c[j>>2]|0)+34>>1]=b[(c[o>>2]|0)+34>>1]|0;c[(c[j>>2]|0)+4>>2]=c[(c[o>>2]|0)+4>>2];b[(c[o>>2]|0)+34>>1]=0;c[(c[o>>2]|0)+4>>2]=0;break}else{b[(c[j>>2]|0)+34>>1]=0;c[m>>2]=(c[m>>2]|0)+1;break}while(0);Rf(c[k>>2]|0,c[o>>2]|0);fv(c[k>>2]|0,c[n>>2]|0);q=(c[k>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1}else c[m>>2]=(c[m>>2]|0)+1;q=(c[(c[j>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[g>>2]=c[m>>2];q=c[g>>2]|0;i=r;return q|0}function Ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function Vx(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;i=e;return}function Wx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[k>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){e=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){e=10;break}k=c[f>>2]|0;c[f>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((e|0)==10){i=j;return c[h>>2]|0}return 0}function Xx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=Yx(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=Bx(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return c[f>>2]|0}function Yx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=sj((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Zx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;m=q+8|0;l=q;e=q+44|0;f=q+40|0;g=q+36|0;h=q+32|0;o=q+28|0;j=q+24|0;k=q+20|0;p=q+16|0;n=q+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[c[f>>2]>>2];if(((d[(c[g>>2]|0)+42>>0]|0)&16|0)!=0?(Ux(c[h>>2]|0,c[g>>2]|0)|0)==0:0){c[o>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];c[j>>2]=sj((c[h>>2]|0)+320|0,c[o>>2]|0)|0;if(c[j>>2]|0){c[n>>2]=0;c[k>>2]=Jz(c[h>>2]|0,c[g>>2]|0,c[j>>2]|0,c[(c[c[j>>2]>>2]|0)+8>>2]|0,n)|0;if(c[k>>2]|0){p=c[f>>2]|0;c[m>>2]=c[n>>2];Eh(p,18391,m)}Tf(c[h>>2]|0,c[n>>2]|0)}else{c[p>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];o=c[f>>2]|0;c[l>>2]=c[p>>2];Eh(o,30631,l);c[k>>2]=1}c[e>>2]=c[k>>2];p=c[e>>2]|0;i=q;return p|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}function _x(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[l>>2]=Vw(c[h>>2]|0,68,0)|0;if(!(c[l>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}e=Qy(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=e;e=Gz(c[h>>2]|0,c[(c[j>>2]|0)+28>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+28>>2]=e;e=Iy(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+32>>2]=e;e=Qy(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=e;e=Iy(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=e;e=Qy(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+44>>2]=e;a[(c[l>>2]|0)+4>>0]=a[(c[j>>2]|0)+4>>0]|0;e=_x(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[m>>2]=e;c[(c[l>>2]|0)+48>>2]=e;if(c[m>>2]|0)c[(c[m>>2]|0)+52>>2]=c[l>>2];c[(c[l>>2]|0)+52>>2]=0;m=Iy(c[h>>2]|0,c[(c[j>>2]|0)+56>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+56>>2]=m;m=Iy(c[h>>2]|0,c[(c[j>>2]|0)+60>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+60>>2]=m;c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;c[(c[l>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2]&-33;c[(c[l>>2]|0)+20>>2]=-1;c[(c[l>>2]|0)+20+4>>2]=-1;b[(c[l>>2]|0)+6>>1]=b[(c[j>>2]|0)+6>>1]|0;m=Hz(c[h>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[(c[l>>2]|0)+64>>2]=m;c[g>>2]=c[l>>2];m=c[g>>2]|0;i=n;return m|0}function $x(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){d=8;break}b=(c[d>>2]|0)+40|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[g>>2]|0)+44>>2]=a;if(c[(c[g>>2]|0)+20>>2]|0)$x(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+28>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((d|0)==8){i=h;return}}function ay(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;my(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+36>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}c[(c[j>>2]|0)+24>>2]=c[l>>2];c[k>>2]=sh(c[j>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}b[(c[k>>2]|0)+36>>1]=1;c[c[k>>2]>>2]=0;b[(c[k>>2]|0)+38>>1]=200;by(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;cy(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0);b[(c[k>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+69>>0]|0){Rf(c[j>>2]|0,c[k>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}return 0}function by(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;j=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;k=D+72|0;z=D+68|0;q=D+64|0;n=D+60|0;p=D+56|0;v=D+52|0;o=D+48|0;l=D+32|0;r=D+28|0;s=D+24|0;m=D+20|0;c[E>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;c[A>>2]=c[c[E>>2]>>2];zj(l);if(c[j>>2]|0){c[n>>2]=c[c[j>>2]>>2];c[z>>2]=sh(c[A>>2]|0,c[n>>2]<<4,0)|0}else{c[n>>2]=0;c[z>>2]=0}b[c[x>>2]>>1]=c[n>>2];c[c[y>>2]>>2]=c[z>>2];c[B>>2]=0;c[q>>2]=c[z>>2];while(1){if((c[B>>2]|0)>=(c[n>>2]|0))break;if(!((a[(c[A>>2]|0)+69>>0]|0)!=0^1))break;c[p>>2]=ky(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+4>>2]|0;c[v>>2]=E;do if(!E){c[r>>2]=c[p>>2];while(1){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[f+16>>2]}if((d[f>>0]|0)==152?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[m>>2]=b[(c[r>>2]|0)+32>>1];c[s>>2]=c[(c[r>>2]|0)+44>>2];if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0;else f=24745;c[v>>2]=f;break}if((d[c[r>>2]>>0]|0)==55){c[v>>2]=c[(c[r>>2]|0)+8>>2];break}else{c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+8>>2];break}}while(0);E=c[A>>2]|0;c[t>>2]=c[v>>2];c[v>>2]=Gh(E,18391,t)|0;c[k>>2]=0;while(1){if(c[v>>2]|0)e=(sj(l,c[v>>2]|0)|0)!=0;else e=0;f=c[v>>2]|0;if(!e)break;c[o>>2]=Jf(f)|0;if((c[o>>2]|0)>0){c[C>>2]=(c[o>>2]|0)-1;while(1){if((c[C>>2]|0)<=0)break;if(!(d[18403+(d[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)>>0]&4))break;c[C>>2]=(c[C>>2]|0)+-1}if((a[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)==58)c[o>>2]=c[C>>2]}E=c[A>>2]|0;e=c[o>>2]|0;h=c[v>>2]|0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[u>>2]=e;c[u+4>>2]=h;c[u+8>>2]=g;c[v>>2]=Gh(E,29047,u)|0;if((c[k>>2]|0)>>>0<=3)continue;Sd(4,k)}c[c[q>>2]>>2]=f;if((c[v>>2]|0)!=0?(E=Uj(l,c[v>>2]|0,c[q>>2]|0)|0,(E|0)==(c[q>>2]|0)):0)mh(c[A>>2]|0);c[B>>2]=(c[B>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+16}Aj(l);if(!(a[(c[A>>2]|0)+69>>0]|0)){c[w>>2]=0;E=c[w>>2]|0;i=D;return E|0}c[C>>2]=0;while(1){f=c[A>>2]|0;if((c[C>>2]|0)>=(c[B>>2]|0))break;Tf(f,c[(c[z>>2]|0)+(c[C>>2]<<4)>>2]|0);c[C>>2]=(c[C>>2]|0)+1}Tf(f,c[z>>2]|0);c[c[y>>2]>>2]=0;b[c[x>>2]>>1]=0;c[w>>2]=7;E=c[w>>2]|0;i=D;return E|0}function cy(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+96|0;h=w+84|0;j=w+80|0;k=w+76|0;m=w+72|0;t=w+40|0;r=w+36|0;s=w+32|0;n=w+28|0;q=w+24|0;l=w+20|0;u=w;v=w+16|0;p=w+12|0;o=w+8|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];f=u;c[f>>2]=0;c[f+4>>2]=0;if(a[(c[m>>2]|0)+69>>0]|0){i=w;return};c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;c[t+4>>2]=c[(c[k>>2]|0)+28>>2];c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];c[n>>2]=0;c[r>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;c[q>>2]=c[(c[l>>2]|0)+((c[n>>2]|0)*20|0)>>2];c[v>>2]=dy(t,c[q>>2]|0,(c[r>>2]|0)+14|0)|0;g=u;g=RR(c[g>>2]|0,c[g+4>>2]|0,d[(c[r>>2]|0)+14>>0]|0,0)|0;f=u;c[f>>2]=g;c[f+4>>2]=C;f=ey(c[q>>2]|0)|0;a[(c[r>>2]|0)+13>>0]=f;if(((c[v>>2]|0)!=0?(f=Jf(c[v>>2]|0)|0,c[o>>2]=f,(f|0)>0):0)?(c[p>>2]=Jf(c[c[r>>2]>>2]|0)|0,f=(c[p>>2]|0)+(c[o>>2]|0)+2|0,f=Px(c[m>>2]|0,c[c[r>>2]>>2]|0,f,((f|0)<0)<<31>>31)|0,c[c[r>>2]>>2]=f,(c[c[r>>2]>>2]|0)!=0):0){TR((c[c[r>>2]>>2]|0)+((c[p>>2]|0)+1)|0,c[v>>2]|0,(c[o>>2]|0)+1|0)|0;f=(c[r>>2]|0)+15|0;a[f>>0]=d[f>>0]|4}if(!(a[(c[r>>2]|0)+13>>0]|0))a[(c[r>>2]|0)+13>>0]=65;c[s>>2]=fy(c[h>>2]|0,c[q>>2]|0)|0;if((c[s>>2]|0)!=0?(c[(c[r>>2]|0)+8>>2]|0)==0:0){f=qh(c[m>>2]|0,c[c[s>>2]>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=f}c[n>>2]=(c[n>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+16}v=u;v=aS(c[v>>2]|0,c[v+4>>2]|0,4,0)|0;v=Mj(v,C)|0;b[(c[j>>2]|0)+40>>1]=v;i=w;return}function dy(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+128|0;h=x+112|0;j=x+108|0;k=x+104|0;w=x+100|0;n=x+96|0;l=x+116|0;s=x+92|0;q=x+88|0;m=x+84|0;t=x+80|0;u=x+48|0;o=x+40|0;v=x+8|0;r=x+4|0;p=x;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[w>>2]=0;a[l>>0]=1;a:do switch(d[c[j>>2]>>0]|0){case 152:case 154:{c[s>>2]=0;c[q>>2]=0;c[m>>2]=b[(c[j>>2]|0)+32>>1];while(1){if(!(c[h>>2]|0))break;if(!((c[s>>2]|0)!=0^1))break;c[t>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if((c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)<(c[c[t>>2]>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2];c[q>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+20>>2];continue}else{c[h>>2]=c[(c[h>>2]|0)+16>>2];continue}}if(c[s>>2]|0){if(c[q>>2]|0){if((c[m>>2]|0)<0)break a;if((c[m>>2]|0)>=(c[c[c[q>>2]>>2]>>2]|0))break a;c[o>>2]=c[(c[(c[c[q>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[u+4>>2]=c[(c[q>>2]|0)+28>>2];c[u+16>>2]=c[h>>2];c[u>>2]=c[c[h>>2]>>2];c[w>>2]=dy(u,c[o>>2]|0,l)|0;break a}if(c[(c[s>>2]|0)+64>>2]|0){if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)<0){c[w>>2]=18759;break a}else{c[w>>2]=vi((c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)|0,0)|0;a[l>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+14>>0]|0;break a}}}break}case 119:{c[r>>2]=c[(c[j>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[r>>2]>>2]|0)+4>>2]>>2];c[v+4>>2]=c[(c[r>>2]|0)+28>>2];c[v+16>>2]=c[h>>2];c[v>>2]=c[c[h>>2]>>2];c[w>>2]=dy(v,c[p>>2]|0,l)|0;break}default:{}}while(0);if(!(c[k>>2]|0)){w=c[w>>2]|0;i=x;return w|0}a[c[k>>2]>>0]=a[l>>0]|0;w=c[w>>2]|0;i=x;return w|0}function ey(e){e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=e;c[g>>2]=ky(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512){a[f>>0]=0;h=a[f>>0]|0;i=j;return h|0}c[h>>2]=d[c[g>>2]>>0];if((c[h>>2]|0)==119){a[f>>0]=ey(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;h=a[f>>0]|0;i=j;return h|0}if((c[h>>2]|0)==157)c[h>>2]=d[(c[g>>2]|0)+38>>0];if((c[h>>2]|0)==66){a[f>>0]=Dx(c[(c[g>>2]|0)+8>>2]|0,0)|0;h=a[f>>0]|0;i=j;return h|0}if((c[h>>2]|0)==154|(c[h>>2]|0)==152){a[f>>0]=ly(c[(c[g>>2]|0)+44>>2]|0,b[(c[g>>2]|0)+32>>1]|0)|0;h=a[f>>0]|0;i=j;return h|0}e=c[g>>2]|0;if((c[h>>2]|0)==159){a[f>>0]=ey(c[(c[(c[c[(c[(c[g>>2]|0)+12>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((b[e+32>>1]|0)*20|0)>>2]|0)|0;h=a[f>>0]|0;i=j;return h|0}else{a[f>>0]=a[e+1>>0]|0;h=a[f>>0]|0;i=j;return h|0}return 0}function fy(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;n=r+24|0;m=r+20|0;l=r+16|0;k=r+12|0;p=r+8|0;o=r+4|0;j=r;c[g>>2]=e;c[s>>2]=f;c[h>>2]=c[c[g>>2]>>2];c[n>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[l>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512)break;if((c[l>>2]|0)==66|(c[l>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[l>>2]|0)==53){q=9;break}if((c[l>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==53:0){q=9;break}if((c[l>>2]|0)==154|(c[l>>2]|0)==152|(c[l>>2]|0)==157|(c[l>>2]|0)==88?(c[(c[m>>2]|0)+44>>2]|0)!=0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if((c[(c[m>>2]|0)+12>>2]|0)!=0?(c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[o>>2]=c[(c[m>>2]|0)+16>>2];a:do if((c[(c[m>>2]|0)+20>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;f=c[j>>2]|0;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=f+1}c[o>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+(f*20|0)>>2]}while(0);c[m>>2]=c[o>>2]}if((q|0)==9)c[n>>2]=gy(c[g>>2]|0,a[(c[h>>2]|0)+66>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[k>>2]=b[(c[m>>2]|0)+32>>1],(c[k>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+8>>2];c[n>>2]=Sj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[p>>2]|0,0)|0}if(!(hy(c[g>>2]|0,c[n>>2]|0)|0)){s=c[n>>2]|0;i=r;return s|0}c[n>>2]=0;s=c[n>>2]|0;i=r;return s|0}function gy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;n=o;h=o+20|0;j=o+24|0;p=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;c[h>>2]=b;a[j>>0]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=c[c[h>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=Sj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){iy(c[l>>2]|0,d[j>>0]|0,c[k>>2]|0);c[m>>2]=Sj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(jy(c[l>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[k>>2];Eh(p,29013,n);p=c[m>>2]|0;i=o;return p|0}function hy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)!=0?(c[k>>2]=c[c[g>>2]>>2],c[h>>2]=c[c[f>>2]>>2],c[j>>2]=gy(c[f>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[g>>2]|0,c[k>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function iy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;do if(c[(c[g>>2]|0)+232>>2]|0){c[l>>2]=qh(c[g>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){_b[c[(c[g>>2]|0)+232>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);Tf(c[g>>2]|0,c[l>>2]|0);break}else{i=n;return}}while(0);if(!(c[(c[g>>2]|0)+236>>2]|0)){i=n;return}c[k>>2]=Zh(c[g>>2]|0)|0;_h(c[k>>2]|0,-1,c[j>>2]|0,1,0);c[m>>2]=Zg(c[k>>2]|0,((a[968]|0)==0?3:2)&255)|0;if(c[m>>2]|0)_b[c[(c[g>>2]|0)+236>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+66>>0]|0,c[m>>2]|0);ch(c[k>>2]|0);i=n;return}function jy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;f=l;c[e>>2]=b;c[j>>2]=d;c[g>>2]=c[c[j>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3){e=6;break}c[k>>2]=Sj(c[e>>2]|0,a[29044+(c[f>>2]|0)>>0]|0,c[g>>2]|0,0)|0;if(c[(c[k>>2]|0)+12>>2]|0){e=4;break}c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){g=c[j>>2]|0;k=c[k>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[(c[j>>2]|0)+16>>2]=0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((e|0)==6){c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function ky(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}i=e;return b|0}function ly(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[f>>2]|0)<0){b=68;b=b&255;i=g;return b|0}b=a[(c[(c[e>>2]|0)+4>>2]|0)+(c[f>>2]<<4)+13>>0]|0;b=b&255;i=g;return b|0}function my(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[h>>2]|0)){i=l;return}c[k>>2]=c[c[g>>2]>>2];if(a[(c[k>>2]|0)+69>>0]|0){i=l;return}if(c[(c[h>>2]|0)+8>>2]&128){i=l;return}ny(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}oy(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}py(c[g>>2]|0,c[h>>2]|0);i=l;return}function ny(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+48|0;h=g+32|0;e=g+28|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=190;c[f>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+8>>2]=191;sy(f,c[e>>2]|0)|0}c[f+8>>2]=192;if(c[(c[e>>2]|0)+8>>2]&1024){h=c[e>>2]|0;sy(f,h)|0;i=g;return}c[f+12>>2]=132;h=c[e>>2]|0;sy(f,h)|0;i=g;return}function oy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+36|0;f=e+32|0;h=e+28|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=193;c[g+8>>2]=194;c[g>>2]=c[j>>2];c[g+24>>2]=c[h>>2];sy(g,c[f>>2]|0)|0;i=e;return}function py(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=190;c[f>>2]=c[g>>2];sy(f,c[e>>2]|0)|0;i=d;return}function qy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+28|0;m=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;f=l+8|0;j=l+4|0;h=l;c[n>>2]=a;c[m>>2]=b;a=(c[m>>2]|0)+8|0;c[a>>2]=c[a>>2]|128;c[g>>2]=c[c[n>>2]>>2];c[k>>2]=c[(c[m>>2]|0)+28>>2];c[e>>2]=0;c[f>>2]=(c[k>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+16>>2];if(((d[(c[j>>2]|0)+42>>0]|0)&2|0)!=0?(c[h>>2]=c[(c[f>>2]|0)+20>>2],(c[h>>2]|0)!=0):0){while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}cy(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+72}i=l;return}function ry(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[d>>2]|0)){d=15;break}if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[g>>2]=Yb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,(c[g>>2]|0)!=0):0){d=15;break}if(ty(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(uy(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(c[(c[f>>2]|0)+12>>2]|0)Rb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+48>>2]}if((d|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else if((d|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function ty(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(vy(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(wy(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0)|0){c[d>>2]=2;break}if(vy(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(wy(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(vy(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(wy(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0)|0){c[d>>2]=2;break}if(wy(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=g;return c[d>>2]|0}function uy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+20|0;e=k+16|0;l=k+12|0;h=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=c[(c[l>>2]|0)+28>>2];a:do if(c[h>>2]|0){c[f>>2]=c[c[h>>2]>>2];c[g>>2]=(c[h>>2]|0)+8;while(1){if((c[f>>2]|0)<=0)break a;if(sy(c[e>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){e=5;break}if(((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(vy(c[e>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0)!=0:0){e=8;break}c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+72}if((e|0)==5){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}else if((e|0)==8){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}}while(0);c[j>>2]=0;l=c[j>>2]|0;i=k;return l|0}function vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(wy(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=j;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}function wy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){a=0;i=f;return a|0}a=xy(c[d>>2]|0,c[e>>2]|0)|0;i=f;return a|0}function xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Yb[c[(c[e>>2]|0)+4>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&8404992|0)==0:0){if((c[(c[f>>2]|0)+12>>2]|0)!=0?(xy(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0)!=0:0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}if((c[(c[f>>2]|0)+16>>2]|0)!=0?(xy(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0)!=0:0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}if(c[(c[f>>2]|0)+4>>2]&2048){if(sy(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}}else if((c[(c[f>>2]|0)+20>>2]|0)!=0?(vy(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0)!=0:0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[d>>2]=c[g>>2]&2;g=c[d>>2]|0;i=h;return g|0}function yy(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+144|0;m=M+40|0;F=M+32|0;H=M+24|0;G=M+16|0;E=M+8|0;D=M;L=M+128|0;q=M+124|0;r=M+120|0;A=M+116|0;C=M+112|0;n=M+108|0;p=M+104|0;o=M+100|0;l=M+96|0;z=M+92|0;v=M+88|0;x=M+84|0;I=M+80|0;u=M+76|0;w=M+72|0;J=M+68|0;y=M+64|0;t=M+132|0;s=M+60|0;B=M+56|0;j=M+52|0;h=M+48|0;k=M+44|0;c[q>>2]=f;c[r>>2]=g;c[A>>2]=c[(c[q>>2]|0)+24>>2];c[C>>2]=c[c[A>>2]>>2];if(c[(c[r>>2]|0)+4>>2]&4){c[L>>2]=1;L=c[L>>2]|0;i=M;return L|0}f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[r>>2]>>0]|0){case 55:{c[L>>2]=_y(c[C>>2]|0,0,0,c[(c[r>>2]|0)+8>>2]|0,c[A>>2]|0,c[r>>2]|0)|0;L=c[L>>2]|0;i=M;return L|0}case 122:{$y(c[C>>2]|0,c[A>>2]|0,29561,32);c[l>>2]=c[(c[r>>2]|0)+16>>2];if((d[c[l>>2]>>0]|0)==55){c[o>>2]=0;c[p>>2]=c[(c[(c[r>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2]}else{c[o>>2]=c[(c[(c[r>>2]|0)+12>>2]|0)+8>>2];c[p>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+8>>2]}c[L>>2]=_y(c[C>>2]|0,c[o>>2]|0,c[p>>2]|0,c[n>>2]|0,c[A>>2]|0,c[r>>2]|0)|0;L=c[L>>2]|0;i=M;return L|0}case 151:{c[z>>2]=c[(c[r>>2]|0)+20>>2];if(c[z>>2]|0)h=c[c[z>>2]>>2]|0;else h=0;c[v>>2]=h;c[x>>2]=0;c[I>>2]=0;c[u>>2]=0;a[t>>0]=a[(c[c[C>>2]>>2]|0)+66>>0]|0;c[J>>2]=c[(c[r>>2]|0)+8>>2];c[w>>2]=Jf(c[J>>2]|0)|0;c[y>>2]=ki(c[c[C>>2]>>2]|0,c[J>>2]|0,c[v>>2]|0,a[t>>0]|0,0)|0;do if(!(c[y>>2]|0)){c[y>>2]=ki(c[c[C>>2]>>2]|0,c[J>>2]|0,-2,a[t>>0]|0,0)|0;if(!(c[y>>2]|0)){c[x>>2]=1;break}else{c[I>>2]=1;break}}else{c[u>>2]=(c[(c[y>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[y>>2]|0)+2>>1]&1024){t=(c[r>>2]|0)+4|0;c[t>>2]=c[t>>2]|266240;if((c[v>>2]|0)!=2){c[(c[r>>2]|0)+28>>2]=(a[c[(c[y>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}v=az(c[(c[(c[z>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[r>>2]|0)+28>>2]=v;if((c[(c[r>>2]|0)+28>>2]|0)<0){Eh(c[C>>2]|0,29578,D);D=(c[A>>2]|0)+24|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);c[s>>2]=ax(c[C>>2]|0,31,0,c[(c[y>>2]|0)+20>>2]|0,0)|0;if(c[s>>2]|0){if((c[s>>2]|0)==1){K=c[C>>2]|0;c[E>>2]=c[(c[y>>2]|0)+20>>2];Eh(K,29649,E);K=(c[A>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}a[c[r>>2]>>0]=101;c[L>>2]=1;L=c[L>>2]|0;i=M;return L|0}else{if(e[(c[y>>2]|0)+2>>1]&10240){E=(c[r>>2]|0)+4|0;c[E>>2]=c[E>>2]|524288}if(e[(c[y>>2]|0)+2>>1]&2048)break;$y(c[C>>2]|0,c[A>>2]|0,29684,34);break}}while(0);if((c[u>>2]|0)!=0?(e[(c[A>>2]|0)+28>>1]&1|0)==0:0){I=c[C>>2]|0;J=c[J>>2]|0;c[G>>2]=c[w>>2];c[G+4>>2]=J;Eh(I,29712,G);J=(c[A>>2]|0)+24|0;c[J>>2]=(c[J>>2]|0)+1;c[u>>2]=0}else K=31;do if((K|0)==31){if((c[x>>2]|0)!=0?(d[(c[c[C>>2]>>2]|0)+148+5>>0]|0)==0:0){K=c[C>>2]|0;J=c[J>>2]|0;c[H>>2]=c[w>>2];c[H+4>>2]=J;Eh(K,29748,H);K=(c[A>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1;break}if(c[I>>2]|0){K=c[C>>2]|0;J=c[J>>2]|0;c[F>>2]=c[w>>2];c[F+4>>2]=J;Eh(K,29771,F);K=(c[A>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}}while(0);if(c[u>>2]|0){K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]&-2}vy(c[q>>2]|0,c[z>>2]|0)|0;if(c[u>>2]|0){c[B>>2]=c[A>>2];a[c[r>>2]>>0]=-103;a[(c[r>>2]|0)+38>>0]=0;while(1){if(!(c[B>>2]|0))break;if(!((bz(c[r>>2]|0,c[(c[B>>2]|0)+4>>2]|0)|0)!=0^1))break;K=(c[r>>2]|0)+38|0;a[K>>0]=(a[K>>0]|0)+1<<24>>24;c[B>>2]=c[(c[B>>2]|0)+16>>2]}if(c[B>>2]|0){K=(c[B>>2]|0)+28|0;b[K>>1]=e[K>>1]|(16|e[(c[y>>2]|0)+2>>1]&4096)}K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]|1}c[L>>2]=1;L=c[L>>2]|0;i=M;return L|0}case 33:case 20:case 119:{if((c[(c[r>>2]|0)+4>>2]&2048|0)!=0?(c[j>>2]=c[(c[A>>2]|0)+20>>2],$y(c[C>>2]|0,c[A>>2]|0,29816,38),sy(c[q>>2]|0,c[(c[r>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)!=(c[(c[A>>2]|0)+20>>2]|0)):0){K=(c[r>>2]|0)+4|0;c[K>>2]=c[K>>2]|32;K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]|64}break}case 135:{$y(c[C>>2]|0,c[A>>2]|0,29827,38);break}case 148:case 29:case 41:case 38:case 39:case 40:case 36:case 37:{if((a[(c[c[C>>2]>>2]|0)+69>>0]|0)==0?(c[h>>2]=cz(c[(c[r>>2]|0)+12>>2]|0)|0,c[k>>2]=cz(c[(c[r>>2]|0)+16>>2]|0)|0,(c[h>>2]|0)!=(c[k>>2]|0)):0)Eh(c[C>>2]|0,29838,m);break}default:{}}if(c[(c[C>>2]|0)+36>>2]|0)h=1;else h=(d[(c[c[C>>2]>>2]|0)+69>>0]|0)!=0;c[L>>2]=h?2:0;L=c[L>>2]|0;i=M;return L|0}function zy(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+128|0;C=E+8|0;B=E;D=E+116|0;h=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;l=E+64|0;A=E+60|0;k=E+56|0;n=E+52|0;z=E+48|0;j=E+44|0;t=E+40|0;o=E+36|0;r=E+32|0;m=E+28|0;w=E+24|0;p=E+20|0;u=E+16|0;q=E+12|0;c[h>>2]=f;c[x>>2]=g;if(c[(c[x>>2]|0)+8>>2]&4){c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}c[s>>2]=c[(c[h>>2]|0)+24>>2];c[A>>2]=c[c[h>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(c[(c[x>>2]|0)+8>>2]&64)){my(c[A>>2]|0,c[x>>2]|0,c[s>>2]|0);if(c[(c[A>>2]|0)+36>>2]|0)h=1;else h=(d[(c[j>>2]|0)+69>>0]|0)!=0;c[D>>2]=h?2:1;D=c[D>>2]|0;i=E;return D|0}c[y>>2]=(c[(c[x>>2]|0)+48>>2]|0)!=0&1;c[l>>2]=0;c[z>>2]=c[x>>2];a:while(1){if(!(c[x>>2]|0)){h=68;break}f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(Ay(v,c[(c[x>>2]|0)+56>>2]|0)|0){h=11;break}if(Ay(v,c[(c[x>>2]|0)+60>>2]|0)|0){h=11;break}if(c[(c[x>>2]|0)+8>>2]&65536){c[t>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[t>>2]|0)+44>>2]=c[(c[x>>2]|0)+44>>2];c[(c[x>>2]|0)+44>>2]=0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[o>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(c[(c[o>>2]|0)+20>>2]|0){c[m>>2]=0;c[w>>2]=c[(c[A>>2]|0)+448>>2];c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}if(c[(c[o>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+448>>2]=c[(c[o>>2]|0)+8>>2];oy(c[A>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[s>>2]|0);c[(c[A>>2]|0)+448>>2]=c[w>>2];if(c[(c[A>>2]|0)+36>>2]|0){h=24;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=24;break a}c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)-(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}f=(c[o>>2]|0)+36+1|0;a[f>>0]=a[f>>0]&-9|((c[m>>2]|0)!=0&1)<<3&255}c[k>>2]=(c[k>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[x>>2]|0)+28>>2];c[v+16>>2]=c[s>>2];if(By(v,c[c[x>>2]>>2]|0)|0){h=31;break}c[n>>2]=c[(c[x>>2]|0)+36>>2];if((c[n>>2]|0)==0?(e[v+28>>1]&16|0)==0:0){f=v+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|(8|e[v+28>>1]&4096)}if(!((c[n>>2]|0)!=0?1:(c[(c[x>>2]|0)+40>>2]|0)==0)){h=37;break}c[v+8>>2]=c[c[x>>2]>>2];if(Ay(v,c[(c[x>>2]|0)+40>>2]|0)|0){h=39;break}if(Ay(v,c[(c[x>>2]|0)+32>>2]|0)|0){h=41;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[p>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(((d[(c[p>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(By(v,c[(c[p>>2]|0)+64>>2]|0)|0)!=0:0){h=46;break a}c[k>>2]=(c[k>>2]|0)+1}c[v+16>>2]=0;f=v+28|0;b[f>>1]=e[f>>1]|1;if(c[(c[x>>2]|0)+8>>2]&65536){c[u>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[x>>2]|0)+44>>2]=c[(c[u>>2]|0)+44>>2];c[(c[u>>2]|0)+44>>2]=0}if((c[y>>2]|0)<=(c[l>>2]|0)?(Cy(v,c[x>>2]|0,c[(c[x>>2]|0)+44>>2]|0,29099)|0)!=0:0){h=52;break}if(a[(c[j>>2]|0)+69>>0]|0){h=54;break}b:do if(c[n>>2]|0){if(Cy(v,c[x>>2]|0,c[n>>2]|0,29105)|0){h=58;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=58;break a}c[k>>2]=0;c[q>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[c[n>>2]>>2]|0))break b;if(c[(c[c[q>>2]>>2]|0)+4>>2]&2){h=62;break a}c[k>>2]=(c[k>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}while(0);if((c[(c[x>>2]|0)+52>>2]|0)!=0?(c[c[c[x>>2]>>2]>>2]|0)!=(c[c[c[(c[x>>2]|0)+52>>2]>>2]>>2]|0):0){h=66;break}c[x>>2]=c[(c[x>>2]|0)+48>>2];c[l>>2]=(c[l>>2]|0)+1}switch(h|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 37:{Eh(c[A>>2]|0,29055,B);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 62:{Eh(c[A>>2]|0,29111,C);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 66:{Dy(c[A>>2]|0,c[(c[x>>2]|0)+52>>2]|0);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 68:{if((c[y>>2]|0)!=0?(Ey(c[A>>2]|0,c[z>>2]|0)|0)!=0:0){c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}}return 0}function Ay(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+40|0;h=n+36|0;j=n+32|0;l=n+44|0;m=n+4|0;k=n;c[h>>2]=d;c[j>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[k>>2]=c[c[h>>2]>>2];if(Zy(c[k>>2]|0,(c[(c[j>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+416>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;i=n;return m|0}k=(c[k>>2]|0)+416|0;c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);b[l>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4112;k=(c[h>>2]|0)+28|0;b[k>>1]=(e[k>>1]|0)&-4113;c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=193;c[m+8>>2]=194;c[m+12>>2]=0;c[m+16>>2]=0;a[m+20>>0]=0;c[m+24>>2]=c[h>>2];wy(m,c[j>>2]|0)|0;k=(c[c[h>>2]>>2]|0)+416|0;c[k>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[m>>2]|0)+36>>2]|0)<=0:0)){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&16){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[l>>1]|0);c[g>>2]=(c[(c[j>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;i=n;return m|0}function By(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(Ay(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Cy(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;h=w+48|0;j=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;p=w+24|0;o=w+20|0;t=w+16|0;u=w+12|0;q=w+8|0;r=w+4|0;s=w;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}c[q>>2]=c[c[c[k>>2]>>2]>>2];c[u>>2]=c[c[j>>2]>>2];c[n>>2]=0;c[t>>2]=c[(c[l>>2]|0)+4>>2];a:while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0)){v=20;break}c[r>>2]=c[c[t>>2]>>2];c[s>>2]=ky(c[r>>2]|0)|0;if((a[c[m>>2]>>0]|0)!=71?(c[o>>2]=Hy(c[u>>2]|0,c[c[k>>2]>>2]|0,c[s>>2]|0)|0,(c[o>>2]|0)>0):0)b[(c[t>>2]|0)+16>>1]=c[o>>2];else v=8;b:do if((v|0)==8){v=0;if(Fy(c[s>>2]|0,o)|0){if((c[o>>2]|0)<1|(c[o>>2]|0)>65535){v=10;break a}b[(c[t>>2]|0)+16>>1]=c[o>>2];break}b[(c[t>>2]|0)+16>>1]=0;if(Ay(c[j>>2]|0,c[r>>2]|0)|0){v=13;break a}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[c[k>>2]>>2]>>2]|0))break b;if(!(Ky(c[r>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[t>>2]|0)+16>>1]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==10){Gy(c[u>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0,c[q>>2]|0);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==13){c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==20){c[h>>2]=Ty(c[u>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;v=c[h>>2]|0;i=w;return v|0}return 0}function Dy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+8|0;h=g+16|0;e=g+12|0;c[h>>2]=a;c[e>>2]=b;b=c[h>>2]|0;if(c[(c[e>>2]|0)+8>>2]&512){Eh(b,29321,g);i=g;return}else{c[f>>2]=Sy(d[(c[e>>2]|0)+4>>0]|0)|0;Eh(b,29367,f);i=g;return}}function Ey(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+8|0;q=w+64|0;r=w+60|0;g=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;h=w+40|0;k=w+36|0;n=w+32|0;j=w+28|0;m=w+24|0;l=w+20|0;o=w+16|0;p=w+12|0;c[r>>2]=e;c[g>>2]=f;c[k>>2]=1;c[u>>2]=c[(c[g>>2]|0)+44>>2];if(!(c[u>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}c[h>>2]=c[c[r>>2]>>2];if((c[c[u>>2]>>2]|0)>(c[(c[h>>2]|0)+96+8>>2]|0)){Eh(c[r>>2]|0,29170,w);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;f=(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[g>>2]|0)+52>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[(c[(c[g>>2]|0)+48>>2]|0)+52>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+48>>2]}a:while(1){if(!((c[g>>2]|0)!=0?(c[k>>2]|0)!=0:0)){g=36;break}c[k>>2]=0;c[t>>2]=c[c[g>>2]>>2];c[s>>2]=0;c[n>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[j>>2]=-1;do if(!(a[(c[n>>2]|0)+13>>0]&1)){c[m>>2]=ky(c[c[n>>2]>>2]|0)|0;if(Fy(c[m>>2]|0,j)|0){if((c[j>>2]|0)<=0){g=18;break a}if((c[j>>2]|0)>(c[c[t>>2]>>2]|0)){g=18;break a}}else{c[j>>2]=Hy(c[r>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[j>>2]|0)){c[l>>2]=Iy(c[h>>2]|0,c[m>>2]|0,0)|0;if(!(a[(c[h>>2]|0)+69>>0]|0))c[j>>2]=Jy(c[r>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;iv(c[h>>2]|0,c[l>>2]|0)}}if((c[j>>2]|0)<=0){c[k>>2]=1;break}c[o>>2]=Wv(c[h>>2]|0,134,0)|0;if(!(c[o>>2]|0)){g=25;break a}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];if((c[c[n>>2]>>2]|0)==(c[m>>2]|0))c[c[n>>2]>>2]=c[o>>2];else{c[p>>2]=c[c[n>>2]>>2];while(1){if((d[c[(c[p>>2]|0)+12>>2]>>0]|0)!=53)break;c[p>>2]=c[(c[p>>2]|0)+12>>2]}c[(c[p>>2]|0)+12>>2]=c[o>>2]}iv(c[h>>2]|0,c[m>>2]|0);b[(c[n>>2]|0)+16>>1]=c[j>>2];f=(c[n>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((g|0)==18){Gy(c[r>>2]|0,29099,(c[s>>2]|0)+1|0,c[c[t>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==25){c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0)){g=41;break}if(!(a[(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){g=39;break}c[s>>2]=(c[s>>2]|0)+1}if((g|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;Eh(u,29204,v);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==41){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}}return 0}function Fy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;j=c[e>>2]|0;i=k;return j|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=Fy(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(Fy(c[(c[f>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function Gy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[l>>2]|0;e=c[k>>2]|0;a=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=a;Eh(b,29265,g);i=f;return}function Hy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+24|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==55){c[l>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+4>>2];if((c[k>>2]|0)!=0?(ig(c[k>>2]|0,c[l>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[j>>2]|0)+1;l=c[f>>2]|0;i=m;return l|0}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Iy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){b=0;i=h;return b|0}b=My(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,0)|0;i=h;return b|0}function Jy(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;i=i+80|0;k=l+60|0;q=l+56|0;r=l+52|0;g=l+48|0;h=l+44|0;j=l+40|0;p=l+8|0;n=l+4|0;m=l;o=l+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+28>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+73>>0]|0;a[(c[n>>2]|0)+73>>0]=1;c[m>>2]=Ay(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+73>>0]=a[o>>0]|0;if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){f=8;break}r=(Ky(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;d=(c[h>>2]|0)+1|0;if(r){f=6;break}c[h>>2]=d}if((f|0)==6){c[k>>2]=d;r=c[k>>2]|0;i=l;return r|0}else if((f|0)==8){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}return 0}function Ky(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=(c[j>>2]|0)==(c[h>>2]|0)?0:2;l=c[g>>2]|0;i=m;return l|0}c[l>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[j>>2]|0)+4>>2];f=c[h>>2]|0;if(c[l>>2]&1024){if((c[f+4>>2]&c[(c[j>>2]|0)+4>>2]&1024|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}a=d[c[h>>2]>>0]|0;if((d[f>>0]|0)!=(d[c[j>>2]>>0]|0)){if((a|0)==53?(Ky(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}if((d[c[j>>2]>>0]|0)==53?(Ky(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(((a|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?(c[(c[h>>2]|0)+8>>2]|0)!=0:0){f=c[(c[h>>2]|0)+8>>2]|0;a=c[(c[j>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(ig(f,a)|0))break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}else{if(!(hR(f,a)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==53?1:2;l=c[g>>2]|0;i=m;return l|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[j>>2]|0)+4>>2]&16|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(!(c[l>>2]&16384)){if(c[l>>2]&2048){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Ky(c[(c[h>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Ky(c[(c[h>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Ly(c[(c[h>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[l>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[k>>2]|0)?(c[(c[j>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Ly(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0)){f=14;break}c[k>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)){f=10;break}if(Ky(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0){f=12;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==12){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==14){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function My(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+44|0;p=t+40|0;n=t+36|0;q=t+32|0;r=t+28|0;s=t+24|0;l=t+20|0;j=t+16|0;g=t+12|0;k=t+8|0;h=t+4|0;m=t;c[o>>2]=a;c[p>>2]=b;c[n>>2]=e;c[q>>2]=f;if(c[q>>2]|0){c[s>>2]=c[c[q>>2]>>2];c[l>>2]=32768}else{b=c[o>>2]|0;f=Ny(c[p>>2]|0,c[n>>2]|0)|0;c[s>>2]=Vw(b,f,((f|0)<0)<<31>>31)|0;c[l>>2]=0}c[r>>2]=c[s>>2];if(!(c[r>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[j>>2]=Oy(c[p>>2]|0,c[n>>2]|0)|0;c[g>>2]=c[j>>2]&4095;if((c[(c[p>>2]|0)+4>>2]&1024|0)==0?(c[(c[p>>2]|0)+8>>2]|0)!=0:0)c[k>>2]=(Jf(c[(c[p>>2]|0)+8>>2]|0)|0)+1;else c[k>>2]=0;if(!(c[n>>2]|0)){c[h>>2]=Py(c[p>>2]|0)|0;TR(c[s>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;if((c[h>>2]|0)>>>0<48)VR((c[s>>2]|0)+(c[h>>2]|0)|0,0,48-(c[h>>2]|0)|0)|0}else TR(c[s>>2]|0,c[p>>2]|0,c[g>>2]|0)|0;f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]&-122881;f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[j>>2]&24576;f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[l>>2];if(c[k>>2]|0){l=(c[s>>2]|0)+(c[g>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=l;c[m>>2]=l;TR(c[m>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[k>>2]|0)|0}do if(!((c[(c[p>>2]|0)+4>>2]|c[(c[r>>2]|0)+4>>2])&8404992)){a=c[o>>2]|0;e=(c[p>>2]|0)+20|0;if(c[(c[p>>2]|0)+4>>2]&2048){m=_x(a,c[e>>2]|0,c[n>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}else{m=Qy(a,c[e>>2]|0,c[n>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}}while(0);a=c[p>>2]|0;if(!(c[(c[r>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&8404992){s=c[r>>2]|0;i=t;return s|0}if((d[c[r>>2]>>0]|0|0)==159)c[(c[r>>2]|0)+12>>2]=c[(c[p>>2]|0)+12>>2];else{s=Iy(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+12>>2]=s}s=Iy(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=s;s=c[r>>2]|0;i=t;return s|0}n=Ry(a,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+n;if(!(c[(c[r>>2]|0)+4>>2]&8404992)){if(c[(c[p>>2]|0)+12>>2]|0)a=My(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,1,s)|0;else a=0;c[(c[r>>2]|0)+12>>2]=a;if(c[(c[p>>2]|0)+16>>2]|0)a=My(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,1,s)|0;else a=0;c[(c[r>>2]|0)+16>>2]=a}if(!(c[q>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[c[q>>2]>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}function Ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[f>>2]=Ry(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){a=c[f>>2]|0;i=g;return a|0}a=Ny(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;a=a+(Ny(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+a;a=c[f>>2]|0;i=g;return a|0}function Oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]|0))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=f;return c[e>>2]|0}function Py(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384))if(c[(c[d>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=e;return c[b>>2]|0}function Qy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;n=q+16|0;m=q+12|0;p=q+8|0;l=q+4|0;o=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[n>>2]=Vw(c[h>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=c[c[j>>2]>>2]|0;c[l>>2]=e;c[c[n>>2]>>2]=e;a:do if(!(c[k>>2]&1)){c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break a;c[l>>2]=(c[l>>2]|0)+(c[l>>2]|0)}}while(0);e=Vw(c[h>>2]|0,(c[l>>2]|0)*20|0,0)|0;c[m>>2]=e;c[(c[n>>2]|0)+4>>2]=e;if(!(c[m>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[p>>2]=c[(c[j>>2]|0)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=c[c[p>>2]>>2];e=Iy(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=e;e=qh(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=qh(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;a[(c[m>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-2;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[m>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(Oy(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?(c[(c[d>>2]|0)+8>>2]|0)!=0:0){g=(Jf(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}i=f;return (c[e>>2]|0)+7&-8|0}function Sy(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=29449;break}case 118:{c[b>>2]=29459;break}case 117:{c[b>>2]=29469;break}default:c[b>>2]=29476}i=d;return c[b>>2]|0}function Ty(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;l=t;p=t+36|0;m=t+32|0;j=t+28|0;n=t+24|0;q=t+20|0;r=t+16|0;k=t+12|0;s=t+8|0;o=t+4|0;c[m>>2]=a;c[j>>2]=f;c[n>>2]=g;c[q>>2]=h;c[k>>2]=c[c[m>>2]>>2];if((c[n>>2]|0)!=0?(d[(c[c[m>>2]>>2]|0)+69>>0]|0)==0:0){if((c[c[n>>2]>>2]|0)>(c[(c[k>>2]|0)+96+8>>2]|0)){s=c[m>>2]|0;c[l>>2]=c[q>>2];Eh(s,29482,l);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}c[s>>2]=c[c[j>>2]>>2];c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0)){j=13;break}if(b[(c[o>>2]|0)+16>>1]|0){k=c[m>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[s>>2]>>2]|0)){j=10;break}Uy(k,c[s>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[q>>2]|0,0)}c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((j|0)==10){Gy(k,c[q>>2]|0,(c[r>>2]|0)+1|0,c[c[s>>2]>>2]|0);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}else if((j|0)==13){c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}}c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}function Uy(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+48|0;k=q+32|0;t=q+28|0;s=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;r=q+8|0;p=q+4|0;o=q;c[k>>2]=b;c[t>>2]=e;c[s>>2]=f;c[n>>2]=g;c[l>>2]=h;c[m>>2]=j;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=Iy(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[p>>2]|0)){i=q;return}if((a[c[l>>2]>>0]|0)!=71)Vy(c[p>>2]|0,c[m>>2]|0);if((d[c[n>>2]>>0]|0)==53)c[p>>2]=Wy(c[k>>2]|0,c[p>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;k=(c[p>>2]|0)+4|0;c[k>>2]=c[k>>2]|4194304;k=(c[n>>2]|0)+4|0;c[k>>2]=c[k>>2]|32768;iv(c[o>>2]|0,c[n>>2]|0);k=c[n>>2]|0;l=c[p>>2]|0;m=k+48|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((c[(c[n>>2]|0)+4>>2]&1024|0)==0?(c[(c[n>>2]|0)+8>>2]|0)!=0:0){t=qh(c[o>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=t;t=(c[n>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Tf(c[o>>2]|0,c[p>>2]|0);i=q;return}function Vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){i=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=195;c[f+24>>2]=c[e>>2];wy(f,c[d>>2]|0)|0;i=g;return}function Wy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;Xy(f,c[j>>2]|0);d=lw(c[h>>2]|0,c[g>>2]|0,f,0)|0;i=e;return d|0}function Xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=Jf(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;i=d;return}function Yy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){i=h;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);i=h;return 0}function Zy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;d=h+16|0;j=h+12|0;f=h+8|0;e=h+4|0;c[d>>2]=a;c[j>>2]=b;c[f>>2]=0;c[e>>2]=c[(c[c[d>>2]>>2]|0)+96+12>>2];if((c[j>>2]|0)<=(c[e>>2]|0)){j=c[f>>2]|0;i=h;return j|0}j=c[d>>2]|0;c[g>>2]=c[e>>2];Eh(j,29513,g);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0}function _y(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;W=X+40|0;V=X+24|0;D=X+8|0;B=X;I=X+164|0;J=X+160|0;m=X+156|0;K=X+152|0;L=X+148|0;M=X+144|0;N=X+140|0;q=X+136|0;s=X+132|0;O=X+128|0;o=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;p=X+76|0;F=X+72|0;u=X+68|0;r=X+64|0;E=X+60|0;y=X+56|0;H=X+52|0;R=X+48|0;c[J>>2]=f;c[m>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[N>>2]=l;c[O>>2]=0;c[o>>2]=0;c[t>>2]=0;c[P>>2]=c[c[J>>2]>>2];c[S>>2]=0;c[U>>2]=c[M>>2];c[T>>2]=0;c[Q>>2]=0;c[A>>2]=0;c[(c[N>>2]|0)+28>>2]=-1;c[(c[N>>2]|0)+44>>2]=0;a:do if(c[m>>2]|0){if(e[(c[M>>2]|0)+28>>1]&6){c[m>>2]=0;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[P>>2]|0)+20>>2]|0))break a;h=(ig(c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0,c[m>>2]|0)|0)==0;l=c[q>>2]|0;if(h)break;c[q>>2]=l+1}c[T>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+(l<<4)+12>>2]}while(0);b:while(1){if(!((c[M>>2]|0)!=0?(c[O>>2]|0)==0:0)){G=89;break}c[z>>2]=c[(c[M>>2]|0)+4>>2];if(c[z>>2]|0){c[q>>2]=0;c[x>>2]=(c[z>>2]|0)+8;while(1){if((c[q>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[A>>2]=c[(c[x>>2]|0)+16>>2];if((c[(c[x>>2]|0)+20>>2]|0)!=0?(c[(c[(c[x>>2]|0)+20>>2]|0)+8>>2]&2048|0)!=0:0){c[p>>2]=0;c[w>>2]=c[c[(c[x>>2]|0)+20>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break;if(fz(c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+8>>2]|0,c[L>>2]|0,c[K>>2]|0,c[m>>2]|0)|0){c[O>>2]=(c[O>>2]|0)+1;c[o>>2]=2;c[S>>2]=c[x>>2];b[(c[N>>2]|0)+32>>1]=c[s>>2];c[p>>2]=1}c[s>>2]=(c[s>>2]|0)+1}if(!((c[p>>2]|0)!=0|(c[K>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if((c[m>>2]|0)!=0?(c[(c[A>>2]|0)+64>>2]|0)!=(c[T>>2]|0):0)break;if(c[K>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0)l=c[(c[x>>2]|0)+12>>2]|0;else l=c[c[A>>2]>>2]|0;c[F>>2]=l;if(ig(c[F>>2]|0,c[K>>2]|0)|0)break}h=c[o>>2]|0;c[o>>2]=h+1;if(!h)c[S>>2]=c[x>>2];c[s>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break c;if(!(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)){if((c[O>>2]|0)!=1)break;if((d[(c[x>>2]|0)+36>>0]&4|0)==0?(gz(c[(c[x>>2]|0)+52>>2]|0,c[L>>2]|0)|0)==0:0)break}c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+16}c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=c[x>>2];if((c[s>>2]|0)==(b[(c[A>>2]|0)+32>>1]|0))l=-1;else l=(c[s>>2]&65535)<<16>>16;b[(c[N>>2]|0)+32>>1]=l}while(0);c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72}if(c[S>>2]|0){c[(c[N>>2]|0)+28>>2]=c[(c[S>>2]|0)+44>>2];c[(c[N>>2]|0)+44>>2]=c[(c[S>>2]|0)+16>>2];if(d[(c[S>>2]|0)+36>>0]&8){h=(c[N>>2]|0)+4|0;c[h>>2]=c[h>>2]|1048576}c[T>>2]=c[(c[(c[N>>2]|0)+44>>2]|0)+64>>2]}}if((c[m>>2]|0)==0&(c[K>>2]|0)!=0&(c[o>>2]|0)==0?(c[(c[J>>2]|0)+128>>2]|0)!=0:0){c[u>>2]=d[(c[J>>2]|0)+148>>0];if((c[u>>2]|0)!=109?(ig(29940,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=1;c[A>>2]=c[(c[J>>2]|0)+128>>2]}else G=50;do if((G|0)==50){G=0;if((c[u>>2]|0)!=108?(ig(29944,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=0;c[A>>2]=c[(c[J>>2]|0)+128>>2];break}c[A>>2]=0}while(0);if(c[A>>2]|0){c[T>>2]=c[(c[A>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;h=(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)==0;n=c[r>>2]|0;if(h){G=58;break}c[r>>2]=n+1;c[v>>2]=(c[v>>2]|0)+16}if((G|0)==58?(G=0,(n|0)==(b[(c[A>>2]|0)+32>>1]|0)):0)c[r>>2]=-1;if(((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0)?(ui(c[L>>2]|0)|0)!=0:0)?(d[(c[A>>2]|0)+42>>0]&64|0)==0:0)c[r>>2]=-1;if((c[r>>2]|0)<(b[(c[A>>2]|0)+34>>1]|0)){c[O>>2]=(c[O>>2]|0)+1;l=c[N>>2]|0;do if((c[r>>2]|0)>=0){k=(c[r>>2]|0)>=32?-1:1<>2];f=c[J>>2]|0;if(!(c[l+28>>2]|0)){h=f+140|0;c[h>>2]=c[h>>2]|k;break}else{h=f+144|0;c[h>>2]=c[h>>2]|k;break}}else a[l+1>>0]=68;while(0);b[(c[N>>2]|0)+32>>1]=c[r>>2];c[(c[N>>2]|0)+44>>2]=c[A>>2];c[Q>>2]=1}}}if((((c[O>>2]|0)==0&(c[o>>2]|0)==1&(c[S>>2]|0)!=0?(e[(c[M>>2]|0)+28>>1]&32|0)==0:0)?(ui(c[L>>2]|0)|0)!=0:0)?(d[(c[(c[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[O>>2]=1;b[(c[N>>2]|0)+32>>1]=-1;a[(c[N>>2]|0)+1>>0]=68}h=c[(c[M>>2]|0)+8>>2]|0;c[w>>2]=h;d:do if((h|0)!=0&(c[K>>2]|0)==0&(c[O>>2]|0)==0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break d;c[E>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];if((c[E>>2]|0)!=0?(ig(c[E>>2]|0,c[L>>2]|0)|0)==0:0){G=82;break b}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[O>>2]|0)continue;c[M>>2]=c[(c[M>>2]|0)+16>>2];c[t>>2]=(c[t>>2]|0)+1}if((G|0)==82){c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((e[(c[M>>2]|0)+28>>1]&1|0)==0?(c[(c[y>>2]|0)+4>>2]&2|0)!=0:0){W=c[J>>2]|0;c[B>>2]=c[E>>2];Eh(W,29948,B);c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}Uy(c[J>>2]|0,c[w>>2]|0,c[s>>2]|0,c[N>>2]|0,18402,c[t>>2]|0);c[O>>2]=1;c[S>>2]=0}else if((G|0)==89){if((c[O>>2]|0)==0&(c[K>>2]|0)==0?(c[(c[N>>2]|0)+4>>2]&64|0)!=0:0){a[c[N>>2]>>0]=97;c[(c[N>>2]|0)+44>>2]=0;c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}if((c[O>>2]|0)!=1){c[H>>2]=(c[O>>2]|0)==0?29979:29994;do if(!(c[m>>2]|0)){k=c[J>>2]|0;l=c[H>>2]|0;if(c[K>>2]|0){K=c[K>>2]|0;W=c[L>>2]|0;c[V>>2]=l;c[V+4>>2]=K;c[V+8>>2]=W;Eh(k,30029,V);break}else{V=c[L>>2]|0;c[W>>2]=l;c[W+4>>2]=V;Eh(k,30039,W);break}}else{W=c[J>>2]|0;G=c[m>>2]|0;K=c[K>>2]|0;V=c[L>>2]|0;c[D>>2]=c[H>>2];c[D+4>>2]=G;c[D+8>>2]=K;c[D+12>>2]=V;Eh(W,30016,D)}while(0);a[(c[J>>2]|0)+17>>0]=1;W=(c[U>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if((c[S>>2]|0)!=0?(b[(c[N>>2]|0)+32>>1]|0)>=0:0){W=b[(c[N>>2]|0)+32>>1]|0;c[R>>2]=W;c[R>>2]=(c[R>>2]|0)>=64?63:W;R=WR(1,0,c[R>>2]|0)|0;W=(c[S>>2]|0)+56|0;S=W;V=c[S+4>>2]|C;c[W>>2]=c[S>>2]|R;c[W+4>>2]=V}iv(c[P>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+12>>2]=0;iv(c[P>>2]|0,c[(c[N>>2]|0)+16>>2]|0);c[(c[N>>2]|0)+16>>2]=0;a[c[N>>2]>>0]=(c[Q>>2]|0)!=0?88:152}if((c[O>>2]|0)!=1){c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}if(!(c[(c[N>>2]|0)+4>>2]&4194304))hz(c[J>>2]|0,c[N>>2]|0,c[T>>2]|0,c[(c[M>>2]|0)+4>>2]|0);while(1){W=(c[U>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[U>>2]|0)==(c[M>>2]|0))break;c[U>>2]=c[(c[U>>2]|0)+16>>2]}c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}function $y(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;k=m;g=m+24|0;h=m+20|0;j=m+16|0;n=m+12|0;l=m+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){i=m;return}c[l>>2]=29856;if(!((e[(c[h>>2]|0)+28>>1]|0)&32)){if((e[(c[h>>2]|0)+28>>1]|0)&4)c[l>>2]=29902}else c[l>>2]=29884;n=c[g>>2]|0;d=c[l>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=d;Eh(n,29920,k);i=m;return}function az(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=132){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;ez(a,f,Jf(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;i=g;return f|0}return 0}function bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=196;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;vy(g,c[(c[f>>2]|0)+20>>2]|0)|0;i=e;return ((c[d+4>>2]|0)>0?1:(c[d+8>>2]|0)==0)&1|0}function cz(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h;g=h+8|0;c[f>>2]=b;a[g>>0]=a[c[f>>2]>>0]|0;if((d[g>>0]|0|0)==157)a[g>>0]=a[(c[f>>2]|0)+38>>0]|0;if((d[g>>0]|0|0)==158){c[e>>2]=c[c[(c[f>>2]|0)+20>>2]>>2];b=c[e>>2]|0;i=h;return b|0}if((d[g>>0]|0|0)==119){c[e>>2]=c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2];b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=1;b=c[e>>2]|0;i=h;return b|0}return 0}function dz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){i=l;return 0}c[g>>2]=c[(c[e>>2]|0)+24>>2];c[h>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[k>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+8+((c[j>>2]|0)*72|0)+44>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}e=c[g>>2]|0;if((c[j>>2]|0)<(c[k>>2]|0)){k=e+4|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}return 0}function ez(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+76|0;w=G+72|0;x=G+68|0;j=G+64|0;m=G+80|0;q=G+60|0;E=G+56|0;u=G+52|0;t=G+16|0;p=G+48|0;z=G+44|0;r=G+40|0;y=G+36|0;D=G+8|0;A=G+32|0;B=G+28|0;n=G+24|0;v=G;c[w>>2]=b;c[x>>2]=e;c[j>>2]=f;a[m>>0]=g;c[E>>2]=(c[w>>2]|0)+(c[j>>2]|0);c[u>>2]=1;b=t;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[z>>2]=1;c[r>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[x>>2]>>3]=0.0;if((d[m>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[n>>2]=3-(d[m>>0]|0);while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;if(a[(c[w>>2]|0)+(c[n>>2]|0)>>0]|0)break;c[n>>2]=(c[n>>2]|0)+2}c[B>>2]=(c[n>>2]|0)<(c[j>>2]|0)&1;c[E>>2]=(c[w>>2]|0)+(c[n>>2]^1);c[w>>2]=(c[w>>2]|0)+(d[m>>0]&1)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&1))break;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;i=G;return F|0}if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}else{c[u>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[18403+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=aS(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=RR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&4))break;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){b:do if((a[c[w>>2]>>0]|0)==46){c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break b;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&4))break b;b=t;e=c[b+4>>2]|0;if((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835){b=t;b=aS(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=RR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+-1}c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){if(!((a[c[w>>2]>>0]|0)!=101?(a[c[w>>2]>>0]|0)!=69:0))o=34;c:do if((o|0)==34){c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[y>>2]=0;if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}else{c[z>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break c;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&4))break c;if((c[r>>2]|0)<1e4)j=((c[r>>2]|0)*10|0)+((a[c[w>>2]>>0]|0)-48)|0;else j=1e4;c[r>>2]=j;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[y>>2]=1}}while(0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&1))break a;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}}}while(0);q=_(c[r>>2]|0,c[z>>2]|0)|0;c[r>>2]=q+(c[p>>2]|0);if((c[r>>2]|0)<0){c[z>>2]=-1;c[r>>2]=_(c[r>>2]|0,-1)|0}else c[z>>2]=1;q=t;do if(!((c[q>>2]|0)==0&(c[q+4>>2]|0)==0)){while(1){if((c[r>>2]|0)<=0)break;m=t;j=c[m>>2]|0;m=c[m+4>>2]|0;if((c[z>>2]|0)>0){if((m|0)>214748364|(m|0)==214748364&j>>>0>=3435973836)break;p=t;p=aS(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=t;c[q>>2]=p;c[q+4>>2]=C}else{q=$R(j|0,m|0,10,0)|0;if((q|0)!=0|(C|0)!=0)break;p=t;p=_R(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=t;c[q>>2]=p;c[q+4>>2]=C}c[r>>2]=(c[r>>2]|0)+-1}p=(c[u>>2]|0)<0;q=t;o=c[q>>2]|0;q=c[q+4>>2]|0;b=QR(0,0,o|0,q|0)|0;u=t;c[u>>2]=p?b:o;c[u+4>>2]=p?C:q;if(!(c[r>>2]|0)){z=t;h[D>>3]=+((c[z>>2]|0)>>>0)+4294967296.0*+(c[z+4>>2]|0);break}h[v>>3]=1.0;if((c[r>>2]|0)<=307){while(1){if(!((c[r>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[r>>2]=(c[r>>2]|0)-1}while(1){if((c[r>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[r>>2]=(c[r>>2]|0)-22}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;break}else{h[D>>3]=l*k;break}}if((c[r>>2]|0)>=342){v=t;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[z>>2]|0)<0){h[D>>3]=0.0*k;break}else{h[D>>3]=s*k;break}}while(1){if(!((c[r>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[r>>2]=(c[r>>2]|0)-1}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;h[D>>3]=+h[D>>3]/1.e+308;break}else{h[D>>3]=l*k;h[D>>3]=+h[D>>3]*1.e+308;break}}else h[D>>3]=(c[u>>2]|0)<0?-0.0:0.0;while(0);h[c[x>>2]>>3]=+h[D>>3];if(((c[A>>2]|0)>0?(c[w>>2]|0)==(c[E>>2]|0):0)&(c[y>>2]|0)!=0)j=(c[B>>2]|0)==0;else j=0;c[F>>2]=j&1;F=c[F>>2]|0;i=G;return F|0}function fz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[l>>2]|0){if((zd(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((zd(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if((c[j>>2]|0)!=0?(ig(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(ig(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function hz(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+36|0;l=s+32|0;j=s+28|0;m=s+24|0;t=s+20|0;q=s+16|0;r=s+12|0;p=s+8|0;o=s+4|0;n=s;c[k>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[t>>2]=c[c[k>>2]>>2];c[q>>2]=0;if(!(c[(c[t>>2]|0)+296>>2]|0)){i=s;return}c[o>>2]=Fh(c[c[k>>2]>>2]|0,c[j>>2]|0)|0;if((c[o>>2]|0)<0){i=s;return}a:do if((d[c[l>>2]>>0]|0)==88)c[q>>2]=c[(c[k>>2]|0)+128>>2];else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[m>>2]>>2]|0))break a;j=c[p>>2]|0;if((c[(c[l>>2]|0)+28>>2]|0)==(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0))break;c[p>>2]=j+1}c[q>>2]=c[(c[m>>2]|0)+8+(j*72|0)+16>>2]}while(0);c[n>>2]=b[(c[l>>2]|0)+32>>1];if(!(c[q>>2]|0)){i=s;return}do if((c[n>>2]|0)<0)if((b[(c[q>>2]|0)+32>>1]|0)>=0){c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(b[(c[q>>2]|0)+32>>1]<<4)>>2];break}else{c[r>>2]=19895;break}else c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2];while(0);if(2!=(iz(c[k>>2]|0,c[c[q>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)){i=s;return}a[c[l>>2]>>0]=101;i=s;return}function iz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;p=r+16|0;o=r;g=r+52|0;h=r+48|0;j=r+44|0;k=r+40|0;l=r+36|0;m=r+32|0;q=r+28|0;n=r+24|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];c[q>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];if(a[(c[m>>2]|0)+148+5>>0]|0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[n>>2]=Sb[c[(c[m>>2]|0)+296>>2]&255](c[(c[m>>2]|0)+300>>2]|0,20,c[j>>2]|0,c[k>>2]|0,c[q>>2]|0,c[(c[h>>2]|0)+448>>2]|0)|0;if((c[n>>2]|0)!=1){if((c[n>>2]|0)!=2&(c[n>>2]|0)!=0)bx(c[h>>2]|0)}else{f=c[h>>2]|0;if((c[l>>2]|0)!=0?1:(c[(c[m>>2]|0)+20>>2]|0)>2){m=c[j>>2]|0;p=c[k>>2]|0;c[o>>2]=c[q>>2];c[o+4>>2]=m;c[o+8>>2]=p;Eh(f,30046,o)}else{q=c[k>>2]|0;c[p>>2]=c[j>>2];c[p+4>>2]=q;Eh(f,30079,p)}c[(c[h>>2]|0)+12>>2]=23}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0} -function bN(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;f=j+4|0;d=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[f>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[f>>2]>>2]|0))break;c[d>>2]=c[c[f>>2]>>2];a=(c[d>>2]|0)+12|0;if((c[c[d>>2]>>2]|0)!=(c[g>>2]|0)){c[f>>2]=a;continue}c[c[f>>2]>>2]=c[a>>2];if((c[(c[d>>2]|0)+4>>2]|0)==1)continue;Kd(c[d>>2]|0)}a=c[h>>2]|0;if((c[(c[h>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[a+76>>2]=0;h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-97;i=j;return}if((c[a+40>>2]|0)!=2){i=j;return}h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-65;i=j;return}function cN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;l=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;f=m+4|0;j=m;c[e>>2]=b;c[l>>2]=0;c[k>>2]=c[c[e>>2]>>2];_J(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[j>>2]=JF(c[e>>2]|0)|0;b=VF(c[e>>2]|0,c[j>>2]|0)|0;if((b|0)!=(c[j>>2]|0)?(c[j>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[h>>2]=gr((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=ZJ(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[d>>2]=Qj(61919)|0;l=c[d>>2]|0;i=m;return l|0}if((c[g>>2]|0)>>>0<(c[j>>2]|0)>>>0)c[l>>2]=XH(c[e>>2]|0,0,0)|0;c[f>>2]=c[j>>2];while(1){if(!((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(c[l>>2]|0)==0:0))break;c[l>>2]=$J(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+-1}if(((c[l>>2]|0)==101|(c[l>>2]|0)==0)&(c[h>>2]|0)>>>0>0){c[l>>2]=Gg(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;ft((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);ft((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);ft((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[g>>2]}if(!(c[l>>2]|0))break;qr(c[k>>2]|0)|0;break}c[d>>2]=Qj(61914)|0;l=c[d>>2]|0;i=m;return l|0}while(0);c[d>>2]=c[l>>2];l=c[d>>2]|0;i=m;return l|0}function dN(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;i=h;return g|0}if(((d[b+17>>0]|0|0)==2?(d[(c[f>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=rr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=mr(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function eN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;g=h+4|0;f=h;c[e>>2]=b;c[h+8>>2]=d;c[g>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[g>>2]|0;i=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=vg(c[e>>2]|0,1,f,0)|0;if(!(c[g>>2]|0))c[g>>2]=Gg(c[f>>2]|0)|0;if(!(c[g>>2]|0)){Bt(c[f>>2]|0);a[(c[e>>2]|0)+19>>0]=1}yg(c[f>>2]|0);g=c[g>>2]|0;i=h;return g|0}function fN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;n=o+24|0;m=o+20|0;k=o+8|0;l=o;j=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;if(((c[h>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+20>>0]=1;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=ps(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=C}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Rt(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[384]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[n>>2]=e;if((((0==(e|0)?(q=c[(c[g>>2]|0)+68>>2]|0,b=c[h>>2]|0,e=c[m>>2]|0,p=k,p=RR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Ig(q,b,e,p,C)|0,c[n>>2]=p,0==(p|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=RR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=RR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=Rt(p,q,C,c[m>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=RR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=RR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=RR(q|0,C|0,4,0)|0,q=Rt(p,q,C,c[j>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=RR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=RR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=RR(q|0,C|0,8,0)|0,q=Ig(p,25901,8,q,C)|0,c[n>>2]=q,0==(q|0)):0){p=(c[m>>2]|0)+20|0;q=(c[g>>2]|0)+80|0;e=q;p=RR(c[e>>2]|0,c[e+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[q>>2]=p;c[q+4>>2]=C;q=Xi(c[(c[g>>2]|0)+68>>2]|0,l)|0;c[n>>2]=q;if(0==(q|0)?(p=l,b=c[p+4>>2]|0,q=(c[g>>2]|0)+80|0,e=c[q+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0)):0){q=(c[g>>2]|0)+80|0;c[n>>2]=ur(c[(c[g>>2]|0)+68>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=0;q=c[f>>2]|0;i=o;return q|0}function gN(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;s=u+40|0;k=u+36|0;r=u+32|0;j=u+28|0;h=u+24|0;m=u+20|0;p=u+16|0;l=u+12|0;q=u+8|0;n=u+4|0;o=u;c[g>>2]=f;c[s>>2]=0;c[j>>2]=0;c[m>>2]=0;c[p>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[(c[p>>2]|0)+156>>2]|0)>>>0)/((c[(c[p>>2]|0)+160>>2]|0)>>>0)|0;f=(c[p>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[r>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[l>>2]|0)-1))+1;c[k>>2]=c[(c[p>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0)if(((c[r>>2]|0)+(c[l>>2]|0)-1|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=(c[k>>2]|0)+1-(c[r>>2]|0);break}else{c[j>>2]=c[l>>2];break}else c[j>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[r>>2]|0)+1;while(0);c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[s>>2]|0)==0:0))break;c[q>>2]=(c[r>>2]|0)+(c[h>>2]|0);if((c[q>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?(nj(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0)!=0:0){f=hs(c[p>>2]|0,c[q>>2]|0)|0;c[n>>2]=f;if(f){if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Js(c[n>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[q>>2]|0)!=(((c[384]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[s>>2]=vg(c[p>>2]|0,c[q>>2]|0,n,0)|0,(c[s>>2]|0)==0):0){c[s>>2]=hN(c[n>>2]|0)|0;if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Js(c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}if(!((c[s>>2]|0)==0&(c[m>>2]|0)!=0)){t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=hs(c[p>>2]|0,(c[r>>2]|0)+(c[h>>2]|0)|0)|0;if(c[o>>2]|0){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;Js(c[o>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}function hN(a){a=a|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[j>>2]=iN(c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}js(c[g>>2]|0);do if((c[(c[h>>2]|0)+60>>2]|0)!=0?(qj(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[j>>2]=jN(c[g>>2]|0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[j>>2]=wt(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}function iN(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;j=l+16|0;k=l+12|0;g=l+8|0;e=l+4|0;f=l;c[j>>2]=b;c[k>>2]=0;c[g>>2]=c[c[j>>2]>>2];b=c[j>>2]|0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[b+44>>2];k=c[h>>2]|0;i=l;return k|0}if((Br(b)|0)==0?(d[(c[j>>2]|0)+5>>0]|0)!=2:0){b=kj(c[(c[j>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+60>>2]=b;if(!(c[(c[j>>2]|0)+60>>2]|0)){c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}do if(!(c[c[(c[j>>2]|0)+68>>2]>>2]|0)){if((d[(c[j>>2]|0)+5>>0]|0)==4){kN(c[(c[j>>2]|0)+68>>2]|0);break}c[e>>2]=6;b=c[e>>2]|0;if(a[(c[j>>2]|0)+13>>0]|0){c[e>>2]=b|4104;c[f>>2]=c[11]}else{c[e>>2]=b|2048;c[f>>2]=0}c[k>>2]=lN(c[j>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=Tt(c[g>>2]|0,c[(c[j>>2]|0)+180>>2]|0,c[(c[j>>2]|0)+68>>2]|0,c[e>>2]|0,c[f>>2]|0)|0}while(0);if(!(c[k>>2]|0)){c[(c[j>>2]|0)+48>>2]=0;g=(c[j>>2]|0)+80|0;c[g>>2]=0;c[g+4>>2]=0;a[(c[j>>2]|0)+20>>0]=0;g=(c[j>>2]|0)+88|0;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=Dt(c[j>>2]|0)|0}}b=c[j>>2]|0;if(c[k>>2]|0){pj(c[b+60>>2]|0);c[(c[j>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[h>>2]=c[k>>2];k=c[h>>2]|0;i=l;return k|0}function jN(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;d=m+28|0;f=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;j=m+8|0;h=m;c[f>>2]=a;c[k>>2]=c[(c[f>>2]|0)+16>>2];o=(c[k>>2]|0)+80|0;n=c[o+4>>2]|0;a=h;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[g>>2]=gs(c[k>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=h;c[l>>2]=Rt(c[(c[k>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];o=c[d>>2]|0;i=m;return o|0}p=c[(c[k>>2]|0)+68>>2]|0;a=c[j>>2]|0;n=c[(c[k>>2]|0)+160>>2]|0;o=h;o=RR(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[l>>2]=Ig(p,a,n,o,C)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}o=c[(c[k>>2]|0)+68>>2]|0;n=h;p=c[(c[k>>2]|0)+160>>2]|0;p=RR(c[n>>2]|0,c[n+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=RR(p|0,C|0,4,0)|0;c[l>>2]=Rt(o,p,C,c[g>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}else{o=8+(c[(c[k>>2]|0)+160>>2]|0)|0;p=(c[k>>2]|0)+80|0;n=p;o=RR(c[n>>2]|0,c[n+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=(c[k>>2]|0)+48|0;c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=lj(c[(c[k>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;p=St(c[k>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[l>>2]=c[l>>2]|p;c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}return 0}function kN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Tt(0,0,c[d>>2]|0,0,-1)|0;i=b;return}function lN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=Ai(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function mN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;f=c[j>>2]|0;do if(c[(c[j>>2]|0)+144>>2]|0){g=c[f+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[j>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;VR(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[j>>2]|0)+148>>1]|0|0)|0}else{g=kg(40+(e[f+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=32;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[j>>2];break}m=c[(c[j>>2]|0)+64>>2]|0;n=c[(c[j>>2]|0)+160>>2]|0;n=aS((c[k>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;Ms(m,n,C,c[l>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[l>>2];n=(c[j>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}function nN(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[j>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}g=oN(c[j>>2]|0)|0;if((g|0)>(c[(c[j>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[j>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[n>>2]=Yb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}}n=Ob[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,2)|0;c[c[l>>2]>>2]=n;c[h>>2]=(c[c[l>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;i=o;return n|0}function oN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;i=b;return a|0}function pN(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+108>>2]|0}function qN(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+40|0;o=r+36|0;l=r+32|0;q=r+28|0;p=r+24|0;h=r+20|0;k=r+12|0;m=r+8|0;j=r+4|0;g=r;c[o>>2]=f;c[h>>2]=0;c[l>>2]=rK(c[c[o>>2]>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}c[l>>2]=XF(c[o>>2]|0,1,q,0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}f=gr((c[(c[q>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[p>>2]=f;Fg(c[c[o>>2]>>2]|0,h);if(!((c[p>>2]|0)!=0?(eR((c[(c[q>>2]|0)+56>>2]|0)+24|0,(c[(c[q>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[p>>2]=c[h>>2];a:do if((c[p>>2]|0)>0){c[j>>2]=c[(c[q>>2]|0)+56>>2];c[l>>2]=26;b:do if(!(eR(c[j>>2]|0,41796,16)|0)){if((d[(c[j>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[j>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[j>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[g>>2]=0;c[l>>2]=xK(c[c[o>>2]>>2]|0,g)|0;if(c[l>>2]|0)break b;if(c[g>>2]|0){c[l>>2]=26;break}QB(c[q>>2]|0);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}while(0);if((eR((c[j>>2]|0)+21|0,44049,3)|0)==0?(c[k>>2]=(d[(c[j>>2]|0)+16>>0]|0)<<8|(d[(c[j>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[j>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){QB(c[q>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];Ui(c[o>>2]|0);c[l>>2]=Vi(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[p>>2]|0)>(c[h>>2]|0):0){c[l>>2]=Qj(61191)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(gr((c[j>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(gr((c[j>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);QB(c[q>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;g=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)a[g+21>>0]=127;else a[(c[o>>2]|0)+21>>0]=b[g+24>>1];c[(c[o>>2]|0)+12>>2]=c[q>>2];c[(c[o>>2]|0)+44>>2]=c[p>>2];c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}function rN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[l>>2]=0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[(c[j>>2]|0)+44>>2];l=c[h>>2]|0;i=m;return l|0}a[(c[j>>2]|0)+22>>0]=c[g>>2];if((d[(c[j>>2]|0)+17>>0]|0|0)==1){f=(Br(c[j>>2]|0)|0)!=0;g=c[j>>2]|0;if(!f){c[l>>2]=Gt(g,2)|0;if((c[l>>2]|0)==0&(c[k>>2]|0)!=0)c[l>>2]=Ft(c[j>>2]|0,4)|0}else{do if((d[g+4>>0]|0|0)!=0?(Er(c[(c[j>>2]|0)+216>>2]|0,-1)|0)!=0:0){c[l>>2]=Gt(c[j>>2]|0,4)|0;if(!(c[l>>2]|0)){Er(c[(c[j>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}while(0);c[l>>2]=sN(c[(c[j>>2]|0)+216>>2]|0)|0}if(!(c[l>>2]|0)){a[(c[j>>2]|0)+17>>0]=2;c[(c[j>>2]|0)+40>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+28>>2];k=(c[j>>2]|0)+80|0;c[k>>2]=0;c[k+4>>2]=0}}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}function sN(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;i=g;return f|0}c[f>>2]=Xs(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(eR(b,Ds(c[e>>2]|0)|0,48)|0){Kr(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function tN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+244>>2]|0)uN(c[(c[d>>2]|0)+244>>2]|0);SJ(c[d>>2]|0,c[e>>2]|0);i=f;return}function uN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ih(c[d>>2]|0);i=b;return}function vN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+624|0;g=H+92|0;h=H+88|0;j=H+84|0;k=H+80|0;l=H+76|0;m=H+72|0;z=H+68|0;p=H+64|0;x=H+60|0;o=H+56|0;w=H+52|0;B=H+48|0;n=H+44|0;t=H+40|0;s=H+36|0;r=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;q=H;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[z>>2]=c[k>>2];c[p>>2]=-1;c[x>>2]=0;c[o>>2]=c[l>>2]&-256;c[B>>2]=0;c[n>>2]=0;c[t>>2]=c[l>>2]&16;c[s>>2]=c[l>>2]&8;c[r>>2]=c[l>>2]&4;c[v>>2]=c[l>>2]&1;c[u>>2]=c[l>>2]&2;if(c[r>>2]|0)if((c[o>>2]|0)==16384|(c[o>>2]|0)==2048)e=1;else e=(c[o>>2]|0)==524288;else e=0;c[C>>2]=e&1;c[E>>2]=c[j>>2];b=c[1718]|0;if((b|0)!=(uR()|0)){c[1718]=uR()|0;Sd(0,0)}e=c[z>>2]|0;d=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=c[E>>2]|0;do if((c[o>>2]|0)!=256){if(!e){c[B>>2]=kO(c[(c[h>>2]|0)+8>>2]|0,F)|0;if(!(c[B>>2]|0)){c[E>>2]=F;break}c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}}else{c[A>>2]=BO(e,c[l>>2]|0)|0;if(!(c[A>>2]|0)){c[A>>2]=Jd(12,0)|0;if(!(c[A>>2]|0)){c[g>>2]=7;G=c[g>>2]|0;i=H;return G|0}}else c[p>>2]=c[c[A>>2]>>2];c[(c[z>>2]|0)+28>>2]=c[A>>2]}while(0);if(c[v>>2]|0)c[x>>2]=c[x>>2];if(c[u>>2]|0)c[x>>2]=c[x>>2]|2;if(c[r>>2]|0)c[x>>2]=c[x>>2]|64;if(c[t>>2]|0)c[x>>2]=c[x>>2]|131200;c[x>>2]=c[x>>2];do if((c[p>>2]|0)<0){c[B>>2]=CO(c[E>>2]|0,c[l>>2]|0,y,D,q)|0;if(c[B>>2]|0){c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}c[p>>2]=gO(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if((c[p>>2]|0)<0?(F=(c[(BQ()|0)>>2]|0)!=21,F&(c[u>>2]|0)!=0):0){c[l>>2]=c[l>>2]&-7;c[x>>2]=c[x>>2]&-67;c[l>>2]=c[l>>2]|1;c[x>>2]=c[x>>2];c[v>>2]=1;c[p>>2]=gO(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0}if((c[p>>2]|0)<0){F=ot(35186)|0;c[B>>2]=cO(F,44128,c[E>>2]|0,35186)|0;break}if(c[l>>2]&526336){DO(c[p>>2]|0,c[D>>2]|0,c[q>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[m>>2]|0)c[c[m>>2]>>2]=c[l>>2];if(c[(c[z>>2]|0)+28>>2]|0){c[c[(c[z>>2]|0)+28>>2]>>2]=c[p>>2];c[(c[(c[z>>2]|0)+28>>2]|0)+4>>2]=c[l>>2]}if(c[s>>2]|0)Tb[c[6632>>2]&255](c[E>>2]|0)|0;if(c[s>>2]|0)c[n>>2]=c[n>>2]|32;if(c[v>>2]|0)c[n>>2]=c[n>>2]|2;c[w>>2]=(c[o>>2]|0)!=256&1;if(c[w>>2]|0)c[n>>2]=c[n>>2]|128;if(c[C>>2]|0)c[n>>2]=c[n>>2]|8;if(c[l>>2]&64)c[n>>2]=c[n>>2]|64;c[B>>2]=EO(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0)|0}if(c[B>>2]|0)Kd(c[(c[z>>2]|0)+28>>2]|0);c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}function wN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((Tb[c[6632>>2]&255](c[f>>2]|0)|0)==-1){if((c[(BQ()|0)>>2]|0)==2)c[j>>2]=5898;else c[j>>2]=cO(2570,44225,c[f>>2]|0,35312)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}do if(c[g>>2]&1){c[j>>2]=Yb[c[6644>>2]&255](c[f>>2]|0,h)|0;if(c[j>>2]|0){c[j>>2]=0;break}if(rO(c[h>>2]|0,0,0)|0)c[j>>2]=cO(1290,44459,c[f>>2]|0,35322)|0;bO(0,c[h>>2]|0,35324)}while(0);c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}function xN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;f=j+84|0;k=j+80|0;g=j+76|0;h=j;c[j+88>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;if(!(c[k>>2]|0)){k=0==(Yb[c[6488>>2]&255](c[f>>2]|0,h)|0);c[c[g>>2]>>2]=(k?(c[h+36>>2]|0)>0:0)&1;i=j;return 0}else{k=(Yb[c[6464>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[g>>2]>>2]=k;i=j;return 0}return 0}function yN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+128|0;s=r+112|0;g=r+108|0;h=r+104|0;p=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;q=r+84|0;j=r+80|0;k=r+4|0;l=r;c[r+116>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=f;c[p>>2]=0;c[n>>2]=1;c[o>>2]=c[s>>2];c[q>>2]=0;while(1){c[j>>2]=0;if(Yb[c[6764>>2]&255](c[o>>2]|0,k)|0){if((c[(BQ()|0)>>2]|0)!=2){s=ot(35436)|0;c[p>>2]=cO(s,44313,c[o>>2]|0,35436)|0}}else c[j>>2]=(c[k+12>>2]&61440|0)==40960&1;if(c[j>>2]|0){if(!(c[q>>2]|0)){c[q>>2]=Id(c[g>>2]|0)|0;if(!(c[q>>2]|0))c[p>>2]=7}else{s=(c[n>>2]|0)+1|0;c[n>>2]=s;if((s|0)>100)c[p>>2]=ot(35447)|0}do if(!(c[p>>2]|0)){c[m>>2]=Ob[c[6752>>2]&255](c[o>>2]|0,c[q>>2]|0,(c[g>>2]|0)-1|0)|0;if((c[m>>2]|0)<0){s=ot(35453)|0;c[p>>2]=cO(s,44304,c[o>>2]|0,35453)|0;break}do if((a[c[q>>2]>>0]|0)!=47){c[l>>2]=Jf(c[o>>2]|0)|0;while(1){if((c[l>>2]|0)<=0)break;if((a[(c[o>>2]|0)+((c[l>>2]|0)-1)>>0]|0)==47)break;c[l>>2]=(c[l>>2]|0)+-1}if(((c[m>>2]|0)+(c[l>>2]|0)+1|0)>(c[g>>2]|0)){c[p>>2]=ot(35459)|0;break}else{UR((c[q>>2]|0)+(c[l>>2]|0)|0,c[q>>2]|0,(c[m>>2]|0)+1|0)|0;TR(c[q>>2]|0,c[o>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);break}}while(0);a[(c[q>>2]|0)+(c[m>>2]|0)>>0]=0}while(0);c[o>>2]=c[q>>2]}if((c[p>>2]|0)==0?(c[o>>2]|0)!=(c[h>>2]|0):0)c[p>>2]=AO(c[o>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[j>>2]|0)){g=30;break}c[o>>2]=c[h>>2];if(c[p>>2]|0){g=30;break}}if((g|0)==30){Kd(c[q>>2]|0);i=r;return c[p>>2]|0}return 0}function zN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+20>>2]=b;c[f>>2]=d;c[g>>2]=e;VR(c[g>>2]|0,0,c[f>>2]|0)|0;c[1718]=uR()|0;c[h>>2]=gO(44446,0,0)|0;if((c[h>>2]|0)<0){Fb(k|0)|0;e=c[g>>2]|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;a[e+3>>0]=a[k+3>>0]|0;e=(c[g>>2]|0)+4|0;a[e>>0]=a[6872]|0;a[e+1>>0]=a[6873]|0;a[e+2>>0]=a[6874]|0;a[e+3>>0]=a[6875]|0;c[f>>2]=8;e=c[f>>2]|0;i=l;return e|0}do{c[j>>2]=Ob[c[6536>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[j>>2]|0)>=0)break}while((c[(BQ()|0)>>2]|0)==4);bO(0,c[h>>2]|0,35583);e=c[f>>2]|0;i=l;return e|0}function AN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;zR(c[d>>2]|0)|0;i=e;return (c[d>>2]|0)*1e6|0}function BN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=DN(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function CN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[(BQ()|0)>>2]|0;i=e;return d|0}function DN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;Hb(g|0,0)|0;b=c[g>>2]|0;b=aS(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=RR(1045635584,49096,b|0,C|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=RR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=C;i=e;return c[d>>2]|0}function EN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[6436+((c[g>>2]|0)*12|0)+8>>2]|0)c[6436+((c[g>>2]|0)*12|0)+4>>2]=c[6436+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;i=k;return j|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){j=16;break}b=(hR(c[e>>2]|0,c[6436+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;d=c[g>>2]|0;if(b)break;c[g>>2]=d+1}if((j|0)==16){j=c[h>>2]|0;i=k;return j|0}if(!(c[6436+(d*12|0)+8>>2]|0))c[6436+((c[g>>2]|0)*12|0)+8>>2]=c[6436+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[6436+((c[g>>2]|0)*12|0)+8>>2];c[6436+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];j=c[h>>2]|0;i=k;return j|0}function FN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(hR(c[d>>2]|0,c[6436+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[6436+(b*12|0)+4>>2];f=c[f>>2]|0;i=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function GN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(hR(c[d>>2]|0,c[6436+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){d=11;break}a=c[e>>2]|0;if(c[6436+((c[e>>2]|0)*12|0)+4>>2]|0){d=9;break}c[e>>2]=a+1}if((d|0)==9){c[f>>2]=c[6436+(a*12|0)>>2];f=c[f>>2]|0;i=g;return f|0}else if((d|0)==11){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function HN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 6360}function IN(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];PN(c[d>>2]|0,0)|0;Kd(c[(c[e>>2]|0)+24>>2]|0);a=uO(c[d>>2]|0)|0;i=b;return a|0}function JN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+28|0;o=m+24|0;h=m+20|0;j=m+16|0;n=m;l=m+12|0;k=m+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];b=n;c[k>>2]=tO(c[l>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==(c[j>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=m;return o|0}if((c[k>>2]|0)<0){c[g>>2]=266;o=c[g>>2]|0;i=m;return o|0}else{pO(c[l>>2]|0,0);VR((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[j>>2]|0)-(c[k>>2]|0)|0)|0;c[g>>2]=522;o=c[g>>2]|0;i=m;return o|0}return 0}function KN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+28|0;o=n+24|0;h=n+20|0;j=n+16|0;k=n;l=n+12|0;m=n+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=0;while(1){o=k;o=nO(c[l>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=o;if(!((o|0)<(c[j>>2]|0)?(c[m>>2]|0)>0:0))break;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;o=k;b=RR(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;o=k;c[o>>2]=b;c[o+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0)}if((c[j>>2]|0)<=(c[m>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}if((c[m>>2]|0)<0?(c[(c[l>>2]|0)+20>>2]|0)!=28:0){c[g>>2]=778;o=c[g>>2]|0;i=n;return o|0}pO(c[l>>2]|0,0);c[g>>2]=13;o=c[g>>2]|0;i=n;return o|0}function LN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j;g=j+12|0;h=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[k>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){k=f;a=c[(c[g>>2]|0)+40>>2]|0;a=RR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=QR(a|0,C|0,1,0)|0;k=c[(c[g>>2]|0)+40>>2]|0;k=_R(a|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=aS(k|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;k=f;c[k>>2]=a;c[k+4>>2]=C}k=f;c[h>>2]=sO(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[h>>2]|0){k=c[g>>2]|0;pO(k,c[(BQ()|0)>>2]|0);c[e>>2]=cO(1546,44151,c[(c[g>>2]|0)+32>>2]|0,32998)|0;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function MN(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;f=k+28|0;o=k+24|0;n=k+20|0;j=k+16|0;h=k+12|0;l=k+8|0;m=k+4|0;g=k;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[j>>2]=rO(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;d=c[h>>2]|0;if(c[j>>2]|0){pO(d,c[(BQ()|0)>>2]|0);c[f>>2]=cO(1034,44435,c[(c[h>>2]|0)+32>>2]|0,32953)|0;o=c[f>>2]|0;i=k;return o|0}if((e[d+18>>1]|0)&8){c[j>>2]=Yb[c[6644>>2]&255](c[(c[h>>2]|0)+32>>2]|0,g)|0;if(!(c[j>>2]|0)){rO(c[g>>2]|0,0,0)|0;bO(c[h>>2]|0,c[g>>2]|0,32967)}else c[j>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[j>>2];o=c[f>>2]|0;i=k;return o|0}function NN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;d=h+88|0;e=h+84|0;f=h+80|0;j=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[j>>2]=Yb[c[6500>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[j>>2]|0){j=c[e>>2]|0;pO(j,c[(BQ()|0)>>2]|0);c[d>>2]=1802;j=c[d>>2]|0;i=h;return j|0}b=c[g+36>>2]|0;j=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=((b|0)<0)<<31>>31;j=c[f>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[d>>2]=0;j=c[d>>2]|0;i=h;return j|0}function ON(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];Ha(c[l>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Yb[c[6656>>2]&255](c[l>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(BQ()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=qO(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)pO(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function PN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Tb[c[6668>>2]&255](c[l>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(BQ()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;pO(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function QN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;j=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[j>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=(Yb[c[6464>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];i=e;return c[d>>2]|0}function RN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[j>>2]=iO(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[j>>2];break}case 10:{jO(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{jO(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Od(18391,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[l>>2]=Jd(o,((o|0)<0)<<31>>31)|0;if(c[l>>2]|0){kO(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]}c[f>>2]=0;break}case 20:{o=lO(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);i=m;return c[f>>2]|0}function SN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function TN(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;i=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;i=d;return g|0}function UN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;v=u+32|0;h=u+28|0;j=u+24|0;k=u+20|0;p=u+16|0;o=u+12|0;r=u+8|0;q=u+4|0;s=u;n=u+40|0;l=u+38|0;m=u+36|0;c[v>>2]=a;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[v>>2];c[o>>2]=c[(c[p>>2]|0)+36>>2];c[q>>2]=c[c[o>>2]>>2];c[s>>2]=0;b[n>>1]=(1<<(c[h>>2]|0)+(c[j>>2]|0))-(1<>2]);if(c[k>>2]&1){b[l>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((c[r>>2]|0)!=(c[o>>2]|0))b[l>>1]=e[l>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if(!((e[n>>1]|0)&(e[l>>1]|0)))c[s>>2]=hO(c[p>>2]|0,2,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;else c[s>>2]=0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=(c[o>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}if(!(c[k>>2]&4)){c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=28;break}if((e[(c[r>>2]|0)+10>>1]|0)&(e[n>>1]|0)){t=28;break}c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==28)c[s>>2]=5;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}c[s>>2]=hO(c[p>>2]|0,1,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}b[m>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=16;break}b[m>>1]=e[m>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==16)c[s>>2]=5;do if(!(c[s>>2]|0))if(!((e[m>>1]|0)&(e[n>>1]|0))){c[s>>2]=hO(c[p>>2]|0,0,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;break}else{c[s>>2]=0;break}while(0);if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}function VN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;ZN();$N();i=b;return}function WN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=c[(c[g>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[c[f>>2]>>2];c[j>>2]=(c[h>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[f>>2]|0)+4>>2];Kd(c[f>>2]|0);c[(c[g>>2]|0)+36>>2]=0;ZN();l=(c[h>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;if(!(c[(c[h>>2]|0)+28>>2]|0)){if((c[e>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)>=0:0)Tb[c[6632>>2]&255](c[(c[h>>2]|0)+8>>2]|0)|0;_N(c[g>>2]|0)}$N();c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}function XN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function YN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function ZN(){return}function _N(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[g>>2]|0)){i=h;return}if(c[(c[g>>2]|0)+28>>2]|0){i=h;return}c[f>>2]=aO()|0;c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(e[(c[g>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)Yb[c[6716>>2]&255](c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;else Kd(c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0)}Kd(c[a+24>>2]|0);if((c[(c[g>>2]|0)+12>>2]|0)>=0){bO(c[b>>2]|0,c[(c[g>>2]|0)+12>>2]|0,33574);c[(c[g>>2]|0)+12>>2]=-1}c[(c[c[g>>2]>>2]|0)+20>>2]=0;Kd(c[g>>2]|0);i=h;return}function $N(){return}function aO(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;a=e+8|0;d=e+4|0;b=e;c[d>>2]=32768;c[b>>2]=Pb[c[6740>>2]&255]()|0;if((c[b>>2]|0)<(c[d>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;i=e;return d|0}else{c[a>>2]=(c[b>>2]|0)/(c[d>>2]|0)|0;d=c[a>>2]|0;i=e;return d|0}return 0}function bO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(Tb[c[6452>>2]&255](c[h>>2]|0)|0)){i=g;return}if(c[e>>2]|0)e=c[(c[e>>2]|0)+32>>2]|0;else e=0;cO(4106,44091,e,c[f>>2]|0)|0;i=g;return}function cO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+28|0;m=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[(BQ()|0)>>2];c[m>>2]=CQ(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=18402;d=c[f>>2]|0;a=c[k>>2]|0;k=c[g>>2]|0;e=c[h>>2]|0;b=c[m>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=b;Rd(d,44097,l);i=n;return c[f>>2]|0}function dO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;d=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=EQ(d,a,f)|0;i=e;return a|0}function eO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+544|0;l=k;e=k+20|0;m=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k+24|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=-1;c[l>>2]=c[m>>2];Qd(512,j,18391,l)|0;c[h>>2]=kR(j)|0;while(1){if((c[h>>2]|0)<=0)break;if((a[j+(c[h>>2]|0)>>0]|0)==47)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)>0)a[j+(c[h>>2]|0)>>0]=0;else{if((a[j>>0]|0)!=47)a[j>>0]=46;a[j+1>>0]=0}c[g>>2]=gO(j,0,0)|0;c[c[f>>2]>>2]=c[g>>2];if((c[g>>2]|0)>=0){c[e>>2]=0;m=c[e>>2]|0;i=k;return m|0}else{c[e>>2]=cO(ot(32912)|0,44232,j,32912)|0;m=c[e>>2]|0;i=k;return m|0}return 0}function fO(){return ib(30)|0}function gO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+112|0;l=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;j=m+84|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:420;while(1){c[h>>2]=Ob[c[6440>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[j>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(BQ()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;Tb[c[6452>>2]&255](c[h>>2]|0)|0;a=c[h>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=a;Rd(28,44319,l);c[h>>2]=-1;if((Ob[c[6440>>2]&255](44362,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){a=c[h>>2]|0;i=m;return a|0}if(Yb[c[6500>>2]&255](c[h>>2]|0,k)|0){a=c[h>>2]|0;i=m;return a|0}if(c[k+36>>2]|0){a=c[h>>2]|0;i=m;return a|0}if((c[k+12>>2]&511|0)==(c[g>>2]|0)){a=c[h>>2]|0;i=m;return a|0}Yb[c[6608>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;a=c[h>>2]|0;i=m;return a|0}function hO(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;n=o;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;l=o+24|0;k=o+8|0;m=o+4|0;c[p>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;c[l>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[l>>2]|0)+12>>2]|0)<0){p=c[m>>2]|0;i=o;return p|0};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k>>1]=c[g>>2];b[k+2>>1]=0;c[k+4>>2]=c[h>>2];c[k+8>>2]=c[j>>2];a=c[1631]|0;p=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=k;c[m>>2]=Ob[a&255](p,13,n)|0;c[m>>2]=(c[m>>2]|0)!=-1?0:5;p=c[m>>2]|0;i=o;return p|0}function iO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;e=n+112|0;f=n+108|0;g=n+16|0;l=n+8|0;h=n+32|0;k=n+28|0;m=n+24|0;j=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[f>>2]|0)+40>>2]|0)>0){if(Yb[c[6500>>2]&255](c[(c[f>>2]|0)+12>>2]|0,h)|0){c[e>>2]=1802;a=c[e>>2]|0;i=n;return a|0}b=c[(c[f>>2]|0)+40>>2]|0;b=RR(c[g>>2]|0,c[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=QR(b|0,C|0,1,0)|0;g=c[(c[f>>2]|0)+40>>2]|0;g=_R(b|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;b=c[(c[f>>2]|0)+40>>2]|0;b=aS(g|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;g=l;c[g>>2]=b;c[g+4>>2]=C;g=l;b=c[g+4>>2]|0;a=c[h+36>>2]|0;d=((a|0)<0)<<31>>31;if((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>a>>>0:0)){c[k>>2]=c[h+40>>2];c[m>>2]=0;h=_((c[h+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;a=j;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;while(1){d=j;h=c[d>>2]|0;d=c[d+4>>2]|0;g=l;a=c[k>>2]|0;a=RR(c[g>>2]|0,c[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=QR(a|0,C|0,1,0)|0;g=C;if(!((d|0)<(g|0)|(d|0)==(g|0)&h>>>0>>0))break a;h=j;d=c[h+4>>2]|0;a=l;g=c[a+4>>2]|0;if((d|0)>(g|0)|((d|0)==(g|0)?(c[h>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){h=l;h=QR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}a=j;c[m>>2]=nO(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,18402,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;a=j;h=RR(c[a>>2]|0,c[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}c[e>>2]=778;a=c[e>>2]|0;i=n;return a|0}}while(0);c[e>>2]=0;a=c[e>>2]|0;i=n;return a|0}function jO(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m+4|0;j=m+8|0;l=m;c[k>>2]=f;a[j>>0]=g;c[l>>2]=h;if((c[c[l>>2]>>2]|0)<0){c[c[l>>2]>>2]=((e[(c[k>>2]|0)+18>>1]|0)&(d[j>>0]|0)|0)!=0&1;i=m;return}j=d[j>>0]|0;if(!(c[c[l>>2]>>2]|0)){l=(c[k>>2]|0)+18|0;b[l>>1]=(e[l>>1]|0)&~j;i=m;return}else{l=(c[k>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|j;i=m;return}}function kO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;j=m+8|0;l=m+48|0;e=m+44|0;f=m+40|0;k=m+36|0;g=m+32|0;h=m;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;a[c[f>>2]>>0]=0;c[k>>2]=mO()|0;if(!(c[k>>2]|0)){c[l>>2]=6410;l=c[l>>2]|0;i=m;return l|0}while(1){Sd(8,h);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=h;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[k>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;Qd(b,d,44372,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){e=5;break}p=c[g>>2]|0;c[g>>2]=p+1;if((p|0)>10){e=5;break}if(Yb[c[6464>>2]&255](c[f>>2]|0,0)|0){e=7;break}}if((e|0)==5){c[l>>2]=1;p=c[l>>2]|0;i=m;return p|0}else if((e|0)==7){c[l>>2]=0;p=c[l>>2]|0;i=m;return p|0}return 0}function lO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){a=0;a=a&1;i=e;return a|0}if(Yb[c[6488>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){a=1;a=a&1;i=e;return a|0}a=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;i=e;return a|0}function mO(){var a=0,b=0,d=0,e=0,f=0,g=0;f=i;i=i+96|0;d=f+84|0;b=f+80|0;a=f+4|0;e=f;c[b>>2]=0;c[e>>2]=c[243];if(!(c[1693]|0))c[1693]=rb(44389)|0;if(!(c[1694]|0))c[1694]=rb(44403)|0;while(1){if((((c[e>>2]|0)!=0?(Yb[c[6488>>2]&255](c[e>>2]|0,a)|0)==0:0)?(c[a+12>>2]&61440|0)==16384:0)?(Yb[c[6464>>2]&255](c[e>>2]|0,3)|0)==0:0){a=9;break}if((c[b>>2]|0)>>>0>=6){a=12;break}g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=c[6772+(g<<2)>>2]}if((a|0)==9){c[d>>2]=c[e>>2];g=c[d>>2]|0;i=f;return g|0}else if((a|0)==12){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}return 0}function nO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;e=l;e=oO(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return e|0}function oO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[l>>2]=c[l>>2]&131071;do{e=vR(c[h>>2]|0,c[j>>2]|0,0)|0;g=n;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[o>>2]=Ob[c[6572>>2]&255](c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)>=0)break}while((c[(BQ()|0)>>2]|0)==4);if((p|0)==3)c[o>>2]=-1;if((c[o>>2]|0)>=0){p=c[o>>2]|0;i=q;return p|0}p=c[(BQ()|0)>>2]|0;c[c[m>>2]>>2]=p;p=c[o>>2]|0;i=q;return p|0}function pO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];i=d;return}function qO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}i=f;return c[d>>2]|0}function rO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=qR(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function sO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=Yb[c[6512>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){b=4;break}if((c[(BQ()|0)>>2]|0)!=4){b=4;break}}if((b|0)==4){i=h;return c[g>>2]|0}return 0}function tO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;do{a=vR(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,0)|0;e=n;c[e>>2]=a;c[e+4>>2]=((a|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[m>>2]=Ob[c[6536>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[m>>2]|0)==(c[l>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[l>>2]=(c[l>>2]|0)-(c[m>>2]|0);a=c[m>>2]|0;e=j;a=RR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=a;c[e+4>>2]=C;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[m>>2]|0)}}else{if((c[(BQ()|0)>>2]|0)!=4){p=8;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((p|0)==3){p=c[h>>2]|0;pO(p,c[(BQ()|0)>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((p|0)==8){c[o>>2]=0;p=c[h>>2]|0;pO(p,c[(BQ()|0)>>2]|0)}c[g>>2]=(c[m>>2]|0)+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}function uO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){bO(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,31321);c[(c[b>>2]|0)+12>>2]=-1}Kd(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return 0}function vO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 6796}function wO(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=uO(c[d>>2]|0)|0;i=b;return a|0}function xO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function yO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function zO(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function AO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=Jf(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(Yb[c[6476>>2]&255](c[h>>2]|0,(c[j>>2]|0)-2|0)|0){c[k>>2]=Jf(c[h>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[h>>2]|0)+b>>0]=47;break}b=ot(35379)|0;c[f>>2]=cO(b,44133,c[g>>2]|0,35379)|0;b=c[f>>2]|0;i=n;return b|0}while(0);if(((c[k>>2]|0)+(c[l>>2]|0)+1|0)>(c[j>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=ot(35388)|0;b=c[f>>2]|0;i=n;return b|0}else{d=(c[j>>2]|0)-(c[k>>2]|0)|0;b=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];Qd(d,b,18391,m)|0;c[f>>2]=0;b=c[f>>2]|0;i=n;return b|0}return 0}function BO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;k=j+92|0;d=j+88|0;f=j+84|0;h=j+8|0;e=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[f>>2]=0;if(Yb[c[6488>>2]&255](c[k>>2]|0,h)|0){k=c[f>>2]|0;i=j;return k|0}ZN();c[e>>2]=c[1738];while(1){if(c[e>>2]|0)if((c[c[e>>2]>>2]|0)!=(c[h>>2]|0))a=1;else a=(c[(c[e>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;c[e>>2]=c[b+32>>2]}if(b){c[g>>2]=(c[e>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[f>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2]}$N();k=c[f>>2]|0;i=j;return k|0}function CO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+560|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;q=r+32|0;n=r+4|0;p=r;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;if(c[j>>2]&526336){c[n>>2]=(Jf(c[h>>2]|0)|0)-1;while(1){if((a[(c[h>>2]|0)+(c[n>>2]|0)>>0]|0)==45)break;c[n>>2]=(c[n>>2]|0)+-1}TR(q|0,c[h>>2]|0,c[n>>2]|0)|0;a[q+(c[n>>2]|0)>>0]=0;c[o>>2]=SO(q,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;b=c[o>>2]|0;i=r;return b|0}if(c[j>>2]&8){c[c[k>>2]>>2]=384;b=c[o>>2]|0;i=r;return b|0}if(!(c[j>>2]&64)){b=c[o>>2]|0;i=r;return b|0}c[p>>2]=Hf(c[h>>2]|0,44606)|0;if(!(c[p>>2]|0)){b=c[o>>2]|0;i=r;return b|0}c[o>>2]=SO(c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;b=c[o>>2]|0;i=r;return b|0}function DO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(Pb[c[6692>>2]&255]()|0){b=0;i=h;return b|0}b=Ob[c[6680>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return b|0}function EO(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;r=t;j=t+40|0;k=t+36|0;u=t+32|0;l=t+28|0;m=t+24|0;o=t+20|0;p=t+16|0;q=t+12|0;s=t+8|0;n=t+4|0;c[j>>2]=a;c[k>>2]=d;c[u>>2]=f;c[l>>2]=g;c[m>>2]=h;c[p>>2]=c[u>>2];c[q>>2]=0;c[(c[p>>2]|0)+12>>2]=c[k>>2];c[(c[p>>2]|0)+4>>2]=c[j>>2];c[(c[p>>2]|0)+32>>2]=c[l>>2];b[(c[p>>2]|0)+18>>1]=c[m>>2]&255;if(If((c[m>>2]&64|0)!=0?c[l>>2]|0:0,44465,1)|0){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(hR(c[(c[j>>2]|0)+16>>2]|0,44081)|0)){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[m>>2]&128)c[o>>2]=6796;else c[o>>2]=Yb[c[c[(c[j>>2]|0)+20>>2]>>2]&255](c[l>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)!=6876){if((c[o>>2]|0)==6360){c[n>>2]=(kR(c[l>>2]|0)|0)+6;u=c[n>>2]|0;c[s>>2]=Jd(u,((u|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))c[q>>2]=7;else{g=c[n>>2]|0;u=c[s>>2]|0;c[r>>2]=c[l>>2];Qd(g,u,44470,r)|0}c[(c[p>>2]|0)+24>>2]=c[s>>2]}}else{ZN();c[q>>2]=FO(c[p>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[q>>2]|0){bO(c[p>>2]|0,c[k>>2]|0,34692);c[k>>2]=-1}$N()}pO(c[p>>2]|0,0);if(!(c[q>>2]|0)){c[c[p>>2]>>2]=c[o>>2];GO(c[p>>2]|0);u=c[q>>2]|0;i=t;return u|0}if((c[k>>2]|0)<0){u=c[q>>2]|0;i=t;return u|0}bO(c[p>>2]|0,c[k>>2]|0,34777);u=c[q>>2]|0;i=t;return u|0}function FO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+112|0;f=k+104|0;d=k+100|0;g=k+96|0;l=k+92|0;m=k+88|0;h=k+80|0;e=k+4|0;j=k;c[d>>2]=a;c[g>>2]=b;c[j>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[l>>2]=Yb[c[6500>>2]&255](c[m>>2]|0,e)|0;if(c[l>>2]|0){m=c[d>>2]|0;pO(m,c[(BQ()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;i=k;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;i=k;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[j>>2]=c[1738];while(1){if(c[j>>2]|0)a=(eR(h,c[j>>2]|0,8)|0)!=0;else a=0;d=c[j>>2]|0;if(!a)break;c[j>>2]=c[d+32>>2]}if(!d){c[j>>2]=Jd(40,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}d=c[j>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));m=c[j>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+32>>2]=c[1738];c[(c[j>>2]|0)+36>>2]=0;if(c[1738]|0)c[(c[1738]|0)+36>>2]=c[j>>2];c[1738]=c[j>>2]}else{m=(c[j>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}function GO(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+112|0;k=l+24|0;j=l+16|0;f=l+8|0;d=l;g=l+108|0;h=l+32|0;b=l+28|0;c[g>>2]=a;if((e[(c[g>>2]|0)+18>>1]|0)&128){i=l;return}c[b>>2]=Yb[c[6500>>2]&255](c[(c[g>>2]|0)+12>>2]|0,h)|0;if(c[b>>2]|0){c[d>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,44478,d);i=l;return}if(!(c[h+16>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,44502,f);i=l;return}a=c[g>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[j>>2]=c[a+32>>2];Rd(28,44531,j);i=l;return}if(!(lO(a)|0)){i=l;return}c[k>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,44558,k);i=l;return}function HO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=c[b>>2];GO(c[d>>2]|0);JO(c[b>>2]|0,0)|0;ZN();if((c[(c[d>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)QO(c[d>>2]|0);RO(c[d>>2]|0);c[e>>2]=uO(c[b>>2]|0)|0;$N();i=f;return c[e>>2]|0}function IO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;k=p+44|0;q=p+40|0;l=p+36|0;o=p+32|0;m=p+28|0;n=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=c[q>>2];c[j>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)>=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=p;return q|0}ZN();c[n>>2]=c[(c[m>>2]|0)+8>>2];if((d[(c[m>>2]|0)+16>>0]|0|0)!=(d[(c[n>>2]|0)+12>>0]|0|0)?((c[l>>2]|0)>1?1:(d[(c[n>>2]|0)+12>>0]|0|0)>=3):0)c[o>>2]=5;else g=6;a:do if((g|0)==6){do if((c[l>>2]|0)==1){if((d[(c[n>>2]|0)+12>>0]|0|0)!=1?(d[(c[n>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[h+8>>2]=1;b[h+2>>1]=0;if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(d[(c[m>>2]|0)+16>>0]|0|0)<3:0)g=13}else g=13;if((g|0)==13?(b[h>>1]=(c[l>>2]|0)==1?0:1,c[h+4>>2]=c[384],(OO(c[m>>2]|0,h)|0)!=0):0){c[j>>2]=c[(BQ()|0)>>2];c[o>>2]=qO(c[j>>2]|0,3850)|0;if((c[o>>2]|0)==5)break;pO(c[m>>2]|0,c[j>>2]|0);break}do if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(c[(c[n>>2]|0)+8>>2]|0)>1:0){c[o>>2]=5;break}b[h>>1]=1;f=c[384]|0;if((c[l>>2]|0)==2){c[h+4>>2]=f+1;c[h+8>>2]=1}else{c[h+4>>2]=f+2;c[h+8>>2]=510}if((OO(c[m>>2]|0,h)|0)!=0?(c[j>>2]=c[(BQ()|0)>>2],c[o>>2]=qO(c[j>>2]|0,3850)|0,(c[o>>2]|0)!=5):0)pO(c[m>>2]|0,c[j>>2]|0)}else{c[h+4>>2]=(c[384]|0)+2;c[h+8>>2]=510;if(OO(c[m>>2]|0,h)|0){c[j>>2]=c[(BQ()|0)>>2];c[o>>2]=qO(c[j>>2]|0,3850)|0}c[h+4>>2]=c[384];c[h+8>>2]=1;b[h>>1]=2;q=(OO(c[m>>2]|0,h)|0)!=0;if(q&(c[o>>2]|0)==0){c[j>>2]=c[(BQ()|0)>>2];c[o>>2]=2058}if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[n>>2]|0)+8>>2]=1;break}if((c[o>>2]|0)==5)break a;pO(c[m>>2]|0,c[j>>2]|0);break a}while(0);f=c[l>>2]|0;if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=f;a[(c[n>>2]|0)+12>>0]=c[l>>2];break}if((f|0)==4){a[(c[m>>2]|0)+16>>0]=3;a[(c[n>>2]|0)+12>>0]=3}}while(0);$N();c[k>>2]=c[o>>2];q=c[k>>2]|0;i=p;return q|0}function JO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=NO(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function KO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;m=n;o=n+40|0;g=n+36|0;k=n+32|0;l=n+28|0;j=n+24|0;h=n+8|0;c[o>>2]=e;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[o>>2];ZN();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[l>>2]=1;do if((c[l>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[h+2>>1]=0;c[h+4>>2]=(c[384]|0)+1;c[h+8>>2]=1;b[h>>1]=1;f=c[1631]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=h;if(Ob[f&255](o,12,m)|0){c[k>>2]=3594;o=c[j>>2]|0;pO(o,c[(BQ()|0)>>2]|0);break}if((b[h>>1]|0)!=2)c[l>>2]=1}while(0);$N();c[c[g>>2]>>2]=c[l>>2];i=n;return c[k>>2]|0}function LO(a,f,g,h,j){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+160|0;z=E+152|0;F=E+148|0;A=E+144|0;k=E+140|0;l=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;r=E+108|0;m=E+104|0;p=E+100|0;w=E+24|0;o=E+20|0;x=E+16|0;y=E+12|0;q=E+8|0;n=E+4|0;v=E;c[F>>2]=a;c[A>>2]=f;c[k>>2]=g;c[l>>2]=h;c[B>>2]=j;c[u>>2]=c[F>>2];c[D>>2]=0;c[s>>2]=aO()|0;if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[D>>2]=MO(c[u>>2]|0)|0,(c[D>>2]|0)!=0):0){c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}c[t>>2]=c[(c[u>>2]|0)+36>>2];c[C>>2]=c[c[t>>2]>>2];c[r>>2]=_(((c[A>>2]|0)+(c[s>>2]|0)|0)/(c[s>>2]|0)|0,c[s>>2]|0)|0;a:do if((e[(c[C>>2]|0)+20>>1]|0|0)<(c[r>>2]|0)){c[p>>2]=_(c[r>>2]|0,c[k>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=c[k>>2];b:do if((c[(c[C>>2]|0)+12>>2]|0)>=0){if(Yb[c[6500>>2]&255](c[(c[C>>2]|0)+12>>2]|0,w)|0){c[D>>2]=4874;break a}if((c[w+36>>2]|0)<(c[p>>2]|0)){if(!(c[l>>2]|0))break a;c[o>>2]=(c[w+36>>2]|0)/4096|0;while(1){if((c[o>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[x>>2]=0;F=(c[o>>2]<<12)+4096-1|0;if((oO(c[(c[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,18402,1,x)|0)!=1)break;c[o>>2]=(c[o>>2]|0)+1}c[y>>2]=c[(c[C>>2]|0)+8>>2];c[D>>2]=cO(4874,44186,c[y>>2]|0,33839)|0;break a}}while(0);c[m>>2]=Ld(c[(c[C>>2]|0)+24>>2]|0,c[r>>2]<<2)|0;if(!(c[m>>2]|0)){c[D>>2]=3082;break}c[(c[C>>2]|0)+24>>2]=c[m>>2];while(1){if((e[(c[C>>2]|0)+20>>1]|0|0)>=(c[r>>2]|0))break a;c[q>>2]=_(c[k>>2]|0,c[s>>2]|0)|0;if((c[(c[C>>2]|0)+12>>2]|0)>=0){w=c[1676]|0;g=c[q>>2]|0;x=(d[(c[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=c[(c[C>>2]|0)+12>>2]|0;F=c[k>>2]|0;F=aS(F|0,((F|0)<0)<<31>>31|0,e[(c[C>>2]|0)+20>>1]|0|0,0)|0;c[v>>2]=Sb[w&255](0,g,x,1,y,F)|0;if((c[v>>2]|0)==(-1|0)){k=21;break}}else{F=c[k>>2]|0;c[v>>2]=Jd(F,((F|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){k=23;break}VR(c[v>>2]|0,0,c[k>>2]|0)|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;F=_(c[k>>2]|0,c[n>>2]|0)|0;c[(c[(c[C>>2]|0)+24>>2]|0)+((e[(c[C>>2]|0)+20>>1]|0)+(c[n>>2]|0)<<2)>>2]=(c[v>>2]|0)+F;c[n>>2]=(c[n>>2]|0)+1}F=(c[C>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[s>>2]|0)}if((k|0)==21){c[D>>2]=cO(5386,44273,c[(c[C>>2]|0)+8>>2]|0,33866)|0;break}else if((k|0)==23){c[D>>2]=7;break}}while(0);if((e[(c[C>>2]|0)+20>>1]|0|0)>(c[A>>2]|0))c[c[B>>2]>>2]=c[(c[(c[C>>2]|0)+24>>2]|0)+(c[A>>2]<<2)>>2];else c[c[B>>2]>>2]=0;if((c[D>>2]|0)==0?(d[(c[C>>2]|0)+22>>0]|0|0)!=0:0)c[D>>2]=8;c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}function MO(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+128|0;o=r;e=r+116|0;f=r+112|0;j=r+108|0;l=r+104|0;m=r+100|0;k=r+96|0;q=r+92|0;g=r+88|0;n=r+12|0;p=r+8|0;h=r+4|0;c[f>>2]=b;c[j>>2]=0;c[j>>2]=Jd(16,0)|0;if(!(c[j>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;i=r;return q|0}b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;ZN();c[k>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=c[(c[k>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){c[p>>2]=c[(c[f>>2]|0)+32>>2];do if(!(Yb[c[6500>>2]&255](c[(c[f>>2]|0)+12>>2]|0,n)|0)){c[g>>2]=6+(kR(c[p>>2]|0)|0);c[l>>2]=Jd(36+(c[g>>2]|0)|0,0)|0;if(!(c[l>>2]|0)){c[m>>2]=7;break}VR(c[l>>2]|0,0,36+(c[g>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[q>>2]=b;g=c[g>>2]|0;b=c[q>>2]|0;c[o>>2]=c[p>>2];Qd(g,b,44586,o)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[f>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[f>>2]|0)+8>>2];if((c[3]|0)!=0?(c[(c[l>>2]|0)+4>>2]=8,(c[(c[l>>2]|0)+4>>2]|0)==0):0){c[m>>2]=7;break}if(d[(c[k>>2]|0)+13>>0]|0)break a;c[h>>2]=66;if(If(c[(c[f>>2]|0)+32>>2]|0,44593,0)|0){c[h>>2]=0;a[(c[l>>2]|0)+22>>0]=1}p=gO(c[q>>2]|0,c[h>>2]|0,c[n+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=p;if((c[(c[l>>2]|0)+12>>2]|0)<0){p=ot(33691)|0;c[m>>2]=cO(p,44128,c[q>>2]|0,33691)|0;break}DO(c[(c[l>>2]|0)+12>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;c[m>>2]=0;if((hO(c[f>>2]|0,1,128,1)|0)==0?(sO(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[m>>2]=cO(4618,44151,c[q>>2]|0,33707)|0;if(!(c[m>>2]|0))c[m>>2]=hO(c[f>>2]|0,0,128,1)|0;if(!(c[m>>2]|0))break a}else c[m>>2]=1802;while(0);_N(c[f>>2]|0);Kd(c[j>>2]|0);$N();c[e>>2]=c[m>>2];q=c[e>>2]|0;i=r;return q|0}while(0);c[c[j>>2]>>2]=c[l>>2];q=(c[l>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[j>>2];$N();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[e>>2]=0;q=c[e>>2]|0;i=r;return q|0}function NO(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;h=p+44|0;q=p+40|0;j=p+36|0;l=p+28|0;m=p+24|0;k=p+8|0;n=p;c[q>>2]=e;c[j>>2]=f;c[p+32>>2]=g;c[l>>2]=c[q>>2];c[n>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)<=(c[j>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}ZN();c[m>>2]=c[(c[l>>2]|0)+8>>2];do if((d[(c[l>>2]|0)+16>>0]|0|0)>1){if((c[j>>2]|0)==1?(b[k>>1]=0,b[k+2>>1]=0,c[k+4>>2]=(c[384]|0)+2,c[k+8>>2]=510,(OO(c[l>>2]|0,k)|0)!=0):0){c[n>>2]=2314;q=c[l>>2]|0;pO(q,c[(BQ()|0)>>2]|0);break}b[k>>1]=2;b[k+2>>1]=0;c[k+4>>2]=c[384];c[k+8>>2]=2;if(!(OO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=1;o=10;break}else{c[n>>2]=2058;q=c[l>>2]|0;pO(q,c[(BQ()|0)>>2]|0);break}}else o=10;while(0);if((o|0)==10?(c[j>>2]|0)==0:0){q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;do if(!(c[(c[m>>2]|0)+8>>2]|0)){b[k>>1]=2;b[k+2>>1]=0;c[k+8>>2]=0;c[k+4>>2]=0;if(!(OO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=0;break}else{c[n>>2]=2058;q=c[l>>2]|0;pO(q,c[(BQ()|0)>>2]|0);a[(c[m>>2]|0)+12>>0]=0;a[(c[l>>2]|0)+16>>0]=0;break}}while(0);q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[m>>2]|0)+24>>2]|0))PO(c[l>>2]|0)}$N();if(!(c[n>>2]|0))a[(c[l>>2]|0)+16>>0]=c[j>>2];c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}function OO(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;p=q+8|0;o=q;h=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;m=q+32|0;l=q+16|0;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];do if(((e[(c[j>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0){c[n>>2]=0;break}b[l+2>>1]=0;c[l+4>>2]=(c[384]|0)+2;c[l+8>>2]=510;b[l>>1]=1;g=c[1631]|0;p=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=l;c[n>>2]=Ob[g&255](p,13,o)|0;if((c[n>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}else{g=c[1631]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[p>>2]=c[k>>2];c[n>>2]=Ob[g&255](o,13,p)|0}while(0);c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}function PO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[(c[e>>2]|0)+28>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+8>>2];bO(c[b>>2]|0,c[c[d>>2]>>2]|0,30592);Kd(c[d>>2]|0);c[d>>2]=c[f>>2]}c[(c[e>>2]|0)+28>>2]=0;i=g;return}function QO(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function RO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){i=e;return}PO(c[b>>2]|0);b=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=b;else c[1738]=b;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Kd(c[d>>2]|0);i=e;return}function SO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+96|0;m=l+92|0;f=l+88|0;g=l+84|0;h=l+80|0;k=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;if(!(Yb[c[6488>>2]&255](c[m>>2]|0,k)|0)){c[c[f>>2]>>2]=c[k+12>>2]&511;c[c[g>>2]>>2]=c[k+20>>2];c[c[h>>2]>>2]=c[k+24>>2];m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=1802;m=c[j>>2]|0;i=l;return m|0}return 0}function TO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 6876}function UO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=de(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=C;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}return 0}function VO(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];i=e;return +f}else{g=(c[d>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[b>>3]=+be(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[b>>3];i=e;return +f}return 0.0}function WO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;b=a[e>>0]|0;i=l;return b|0}else{b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[k>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[k>>2];b=a[e>>0]|0;i=l;return b|0}return 0}function XO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=$d(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function YO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;b=c[g>>2]|0;b=RR(c[(c[f>>2]|0)+12>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|((e|0)==0?b>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(b=vA(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=j;return}while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;e=a[h>>0]|0;d=(c[f>>2]|0)+12|0;b=c[d>>2]|0;c[d>>2]=b+1;a[(c[(c[f>>2]|0)+8>>2]|0)+b>>0]=e}i=j;return}function ZO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=296;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){i=d;return}Fd(c[b>>2]|0)|0;i=d;return}function _O(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Tb[c[64>>2]&255](c[j>>2]|0)|0;Ri(5,c[j>>2]|0);b=296;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=_f(0)|0;a=f;c[a>>2]=b;c[a+4>>2]=C;a=f;b=c[a>>2]|0;a=c[a+4>>2]|0;f=296;j=c[e>>2]|0;j=QR(c[f>>2]|0,c[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;f=C;if((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>=j>>>0){c[79]=1;ZO(c[e>>2]|0);break}else{c[79]=0;break}}while(0);c[g>>2]=Tb[c[48>>2]&255](c[e>>2]|0)|0;if(!(c[g>>2]|0)){b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}c[e>>2]=ag(c[g>>2]|0)|0;Si(0,c[e>>2]|0);Si(9,1);b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}function $O(){bP(8780,3);return}function aP(){bP(8556,8);return}function bP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;h=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;g=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[l>>2]=c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+20>>2];c[j>>2]=Jf(c[l>>2]|0)|0;c[g>>2]=((d[17613+(d[c[l>>2]>>0]|0)>>0]|0)+(c[j>>2]|0)|0)%23|0;c[k>>2]=hu(c[g>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}else{c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=0;c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+24>>2]=c[1092+(c[g>>2]<<2)>>2];c[1092+(c[g>>2]<<2)>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}c[h>>2]=(c[h>>2]|0)+1}i=m;return}function cP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;a=$d(c[c[h>>2]>>2]|0)|0;c[f>>2]=a;if(!a){i=g;return}h=c[e>>2]|0;je(h,yd(c[f>>2]|0)|0);i=g;return}function dP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=ce(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;me(a,Ad(c[f>>2]|0)|0,-1,0);i=e;return}function eP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;me(a,jf()|0,-1,0);i=e;return}function fP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+52|0;h=v+48|0;j=v+44|0;u=v+40|0;t=v+36|0;r=v+32|0;m=v+28|0;n=v+24|0;k=v+20|0;l=v+16|0;q=v+12|0;s=v+8|0;o=v+4|0;p=v;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;c[l>>2]=0;if((ee(c[c[j>>2]>>2]|0)|0)==5){i=v;return}c[u>>2]=$d(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=v;return}c[r>>2]=ae(c[c[j>>2]>>2]|0)|0;a:do if((c[h>>2]|0)!=1){b=$d(c[(c[j>>2]|0)+4>>2]|0)|0;c[t>>2]=b;if(!b){i=v;return}c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break;b=c[s>>2]|0;c[s>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break b;c[s>>2]=(c[s>>2]|0)+1}while(0);c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)>0){f=c[g>>2]|0;b=c[q>>2]|0;b=aS(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[l>>2]=OP(f,b,C)|0;if(!(c[l>>2]|0)){i=v;return}c[k>>2]=(c[l>>2]|0)+(c[q>>2]<<2);c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break a;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=c[s>>2];b=c[s>>2]|0;c[s>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break c;c[s>>2]=(c[s>>2]|0)+1}while(0);a[(c[k>>2]|0)+(c[q>>2]|0)>>0]=(c[s>>2]|0)-(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}}else{c[q>>2]=1;c[k>>2]=45220;c[l>>2]=8552;c[t>>2]=0}while(0);if((c[q>>2]|0)>0){c[m>>2]=ue(c[g>>2]|0)|0;d:do if((c[m>>2]&1|0)!=0&(c[r>>2]|0)>0)do{c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[o>>2]|0)<=(c[r>>2]|0)?(eR(c[u>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[o>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break d;c[u>>2]=(c[u>>2]|0)+(c[o>>2]|0);c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0)}while((c[r>>2]|0)>0);while(0);e:do if((c[m>>2]&2|0)!=0&(c[r>>2]|0)>0)do{c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[p>>2]|0)<=(c[r>>2]|0)?(eR((c[u>>2]|0)+((c[r>>2]|0)-(c[p>>2]|0))|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[p>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break e;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}while((c[r>>2]|0)>0);while(0);if(c[t>>2]|0)Kd(c[l>>2]|0)}me(c[g>>2]|0,c[u>>2]|0,c[r>>2]|0,-1);i=v;return}function gP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(ue(c[e>>2]|0)|0)==0;c[k>>2]=a?0:-1;c[l>>2]=PP(c[e>>2]|0)|0;c[j>>2]=0;if((ee(c[c[g>>2]>>2]|0)|0)==5){i=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((ee(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}a=MI(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[l>>2]|0)|0;if((a^c[k>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){i=n;return}oe(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);i=n;return}function hP(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;f=n+20|0;k=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=we(c[g>>2]|0,40)|0;if(!(c[l>>2]|0)){i=n;return}a=(ee(c[c[f>>2]>>2]|0)|0)==5;f=(b[(c[l>>2]|0)+8>>1]|0)!=0;if(a){if(!f){i=n;return}QP(c[g>>2]|0);i=n;return}d=c[g>>2]|0;if(!f){m=ve(d)|0;c[(c[l>>2]|0)+32>>2]=m;jh(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}c[m>>2]=PP(d)|0;c[j>>2]=(ue(c[g>>2]|0)|0)!=0&1;c[h>>2]=MI(c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[h>>2]|0)<0)?!((c[j>>2]|0)==0&(c[h>>2]|0)>0):0){QP(c[g>>2]|0);i=n;return}jh(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}function iP(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=we(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(b[(c[e>>2]|0)+8>>1]|0)oe(c[d>>2]|0,c[e>>2]|0);Xg(c[e>>2]|0);i=f;return}function jP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(ee(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=39710;break}case 3:{c[f>>2]=45210;break}case 2:{c[f>>2]=39705;break}case 4:{c[f>>2]=45215;break}default:c[f>>2]=39718}me(c[e>>2]|0,c[f>>2]|0,-1,0);i=g;return}function kP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[l+12>>2]=e;c[h>>2]=f;switch(ee(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{je(c[g>>2]|0,ae(c[c[h>>2]>>2]|0)|0);i=l;return}case 3:{c[k>>2]=$d(c[c[h>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=l;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}je(c[g>>2]|0,c[j>>2]|0);i=l;return}default:{le(c[g>>2]|0);i=l;return}}}function lP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+40|0;g=q+32|0;o=q+28|0;p=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;j=q;c[f>>2]=a;c[q+36>>2]=b;c[g>>2]=e;c[h>>2]=1;c[m>>2]=ee(c[c[g>>2]>>2]|0)|0;c[n>>2]=ee(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==5|(c[n>>2]|0)==5){i=q;return}c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;b=c[c[g>>2]>>2]|0;if((c[m>>2]|0)==4&(c[n>>2]|0)==4){c[o>>2]=_d(b)|0;c[p>>2]=_d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=0}else{c[o>>2]=$d(b)|0;c[p>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=1}a:while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;if(!(eR(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[j>>2]|0))continue a;if(((d[c[o>>2]>>0]|0)&192|0)!=128)continue a}}if((c[l>>2]|0)>(c[k>>2]|0))c[h>>2]=0;je(c[f>>2]|0,c[h>>2]|0);i=q;return}function mP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;m=p;f=p+64|0;g=p+60|0;h=p+56|0;n=p+44|0;l=p+16|0;o=p+12|0;k=p+8|0;j=p+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=ve(c[f>>2]|0)|0;if((c[g>>2]|0)<1){i=p;return}b=$d(c[c[h>>2]>>2]|0)|0;c[o>>2]=b;if(!b){i=p;return}c[n>>2]=(c[g>>2]|0)-1;c[n+4>>2]=0;c[n+8>>2]=(c[h>>2]|0)+4;dg(l,c[j>>2]|0,0,0,c[(c[j>>2]|0)+96>>2]|0);a[l+25>>0]=2;o=c[o>>2]|0;c[m>>2]=n;rA(l,o,m);c[k>>2]=c[l+12>>2];n=c[f>>2]|0;o=fg(l)|0;me(n,o,c[k>>2]|0,170);i=p;return}function nP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[j>>2]=e;c[g>>2]=$d(c[c[j>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}if(!(d[c[g>>2]>>0]|0)){i=h;return}j=c[f>>2]|0;je(j,JC(g)|0);i=h;return}function oP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;g=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o;j=o+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=(c[g>>2]<<2)+1|0;b=Jd(b,((b|0)<0)<<31>>31)|0;c[m>>2]=b;c[n>>2]=b;if(!(c[m>>2]|0)){se(c[f>>2]|0);i=o;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;p=de(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;b=C;e=l;c[e>>2]=p;c[e+4>>2]=b;e=l;d=c[e+4>>2]|0;e=(c[l+4>>2]|0)<0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>1114111);d=l;c[d>>2]=e?65533:p;c[d+4>>2]=e?0:b;c[j>>2]=c[l>>2]&2097151;d=c[j>>2]|0;do if((c[j>>2]|0)>>>0>=128){e=c[j>>2]|0;if(d>>>0<2048){b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=192+(e>>>6&31);b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}d=c[j>>2]|0;if(e>>>0<65536){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=224+(d>>>12&15);p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}else{b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=240+(d>>>18&7);b=128+((c[j>>2]|0)>>>12&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}}else{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=d}while(0);c[k>>2]=(c[k>>2]|0)+1}p=(c[n>>2]|0)-(c[m>>2]|0)|0;ne(c[f>>2]|0,c[m>>2]|0,p,((p|0)<0)<<31>>31,148,1);i=o;return}function pP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;e=k+24|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[k+20>>2]=b;c[f>>2]=d;switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{j=g;c[j>>2]=de(c[c[f>>2]>>2]|0)|0;c[j+4>>2]=C;do if((c[g+4>>2]|0)<0){j=g;if(!((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0)){a=g;a=QR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;break}ie(c[e>>2]|0,45165,-1);i=k;return}while(0);j=g;ke(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);if(+h[j>>3]<0.0)h[j>>3]=-+h[j>>3];he(c[e>>2]|0,+h[j>>3]);i=k;return}}}function qP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;j=m;l=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(ee(c[(c[f>>2]|0)+4>>2]|0)|0)){i=m;return}else{n=ce(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((ee(c[c[f>>2]>>2]|0)|0)==5){i=m;return}h[j>>3]=+be(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[j>>3]>=0.0&+h[j>>3]<9223372036854775808.0){o=+h[j>>3]+.5;h[j>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[j>>3]<0.0?-+h[j>>3]<9223372036854775808.0:0){o=-+h[j>>3]+.5;h[j>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[j>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[l>>2]=Od(45205,k)|0;if(c[l>>2]|0){n=c[l>>2]|0;ez(n,j,Jf(c[l>>2]|0)|0,1)|0;Kd(c[l>>2]|0);break}se(c[e>>2]|0);i=m;return}while(0);he(c[e>>2]|0,+h[j>>3]);i=m;return}function rP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=$d(c[c[n>>2]>>2]|0)|0;c[j>>2]=ae(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=RR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=OP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[(c[l>>2]|0)+(c[h>>2]|0)>>0]&~(d[18403+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&32);c[h>>2]=(c[h>>2]|0)+1}me(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function sP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=$d(c[c[n>>2]>>2]|0)|0;c[j>>2]=ae(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=RR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=OP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[17613+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}me(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function tP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;g=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;h=o+32|0;c[g>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[l>>2]=_d(c[c[p>>2]>>2]|0)|0;c[k>>2]=ae(c[c[p>>2]>>2]|0)|0;f=c[g>>2]|0;b=c[k>>2]|0;b=aS(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=RR(b|0,C|0,1,0)|0;b=OP(f,b,C)|0;c[n>>2]=b;c[m>>2]=b;if(!(c[n>>2]|0)){i=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[l>>2]>>0]|0;p=a[45189+((d[h>>0]|0)>>4&15)>>0]|0;b=c[m>>2]|0;c[m>>2]=b+1;a[b>>0]=p;b=a[45189+((d[h>>0]|0)&15)>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=b;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}a[c[m>>2]>>0]=0;me(c[g>>2]|0,c[n>>2]|0,c[k>>2]<<1,148);i=o;return}function uP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;Sd(8,f);if((c[f+4>>2]|0)<0){d=f;d=QR(0,0,c[d>>2]|0,c[d+4>>2]&2147483647|0)|0;a=f;c[a>>2]=d;c[a+4>>2]=C}ke(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);i=g;return}function vP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[j>>2]=d;a=ce(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=OP(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=h;return}Sd(c[f>>2]|0,c[g>>2]|0);fe(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,148);i=h;return}function wP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=PP(c[e>>2]|0)|0;if(!(MI(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=g;return}oe(c[e>>2]|0,c[c[f>>2]>>2]|0);i=g;return}function xP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;me(a,kf()|0,-1,0);i=e;return}function yP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=ce(c[c[g>>2]>>2]|0)|0;c[f>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;Rd(a,18391,f);i=e;return}function zP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+144|0;s=y+32|0;r=y+24|0;g=y+80|0;j=y+72|0;p=y+16|0;q=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;o=y+60|0;k=y+56|0;l=y+52|0;m=y+48|0;n=y;u=y+44|0;t=y+40|0;c[g>>2]=b;c[y+76>>2]=e;c[j>>2]=f;switch(ee(c[c[j>>2]>>2]|0)|0){case 2:{h[p>>3]=+be(c[c[j>>2]>>2]|0);h[r>>3]=+h[p>>3];Qd(50,w,28271,r)|0;ez(w,q,20,1)|0;if(+h[p>>3]!=+h[q>>3]){h[s>>3]=+h[p>>3];Qd(50,w,45182,s)|0}me(c[g>>2]|0,w,-1,-1);i=y;return}case 1:{oe(c[g>>2]|0,c[c[j>>2]>>2]|0);i=y;return}case 4:{c[x>>2]=0;c[v>>2]=_d(c[c[j>>2]>>2]|0)|0;c[o>>2]=ae(c[c[j>>2]>>2]|0)|0;u=c[g>>2]|0;w=c[o>>2]|0;c[x>>2]=OP(u,RR(aS(2,0,w|0,((w|0)<0)<<31>>31|0)|0,C|0,4,0)|0,C)|0;if(!(c[x>>2]|0)){i=y;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;a[(c[x>>2]|0)+((c[k>>2]<<1)+2)>>0]=a[45189+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]>>4&15)>>0]|0;a[(c[x>>2]|0)+((c[k>>2]<<1)+3)>>0]=a[45189+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]&15)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[(c[x>>2]|0)+((c[o>>2]<<1)+2)>>0]=39;a[(c[x>>2]|0)+((c[o>>2]<<1)+3)>>0]=0;a[c[x>>2]>>0]=88;a[(c[x>>2]|0)+1>>0]=39;me(c[g>>2]|0,c[x>>2]|0,-1,-1);Kd(c[x>>2]|0);i=y;return}case 3:{c[u>>2]=$d(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=y;return}c[l>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){w=n;w=RR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=C}c[l>>2]=(c[l>>2]|0)+1}w=c[g>>2]|0;v=c[l>>2]|0;x=n;x=RR(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=RR(x|0,C|0,3,0)|0;c[t>>2]=OP(w,x,C)|0;if(!(c[t>>2]|0)){i=y;return}a[c[t>>2]>>0]=39;c[l>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;w=a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=w;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39}c[l>>2]=(c[l>>2]|0)+1}x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39;a[(c[t>>2]|0)+(c[m>>2]|0)>>0]=0;me(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0,148);i=y;return}default:{me(c[g>>2]|0,39691,4,0);i=y;return}}}function AP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=ve(c[g>>2]|0)|0;d=c[g>>2]|0;a=pf(c[f>>2]|0)|0;ke(d,a,C);i=e;return}function BP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=ve(c[g>>2]|0)|0;a=c[g>>2]|0;je(a,qf(c[f>>2]|0)|0);i=e;return}function CP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=ve(c[g>>2]|0)|0;a=c[g>>2]|0;je(a,rf(c[f>>2]|0)|0);i=e;return}function DP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;p=w+64|0;g=w+56|0;v=w+52|0;n=w+48|0;o=w+44|0;u=w+40|0;s=w+36|0;l=w+32|0;m=w+28|0;k=w;j=w+24|0;q=w+20|0;r=w+16|0;t=w+12|0;h=w+8|0;c[p>>2]=b;c[w+60>>2]=e;c[g>>2]=f;c[v>>2]=$d(c[c[g>>2]>>2]|0)|0;if(!(c[v>>2]|0)){i=w;return}c[s>>2]=ae(c[c[g>>2]>>2]|0)|0;c[n>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){i=w;return}if(!(d[c[n>>2]>>0]|0)){oe(c[p>>2]|0,c[c[g>>2]>>2]|0);i=w;return}c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=$d(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){i=w;return}c[m>>2]=ae(c[(c[g>>2]|0)+8>>2]|0)|0;f=(c[s>>2]|0)+1|0;b=k;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=k;c[u>>2]=OP(c[p>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[u>>2]|0)){i=w;return}c[j>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){g=18;break}if((d[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?(eR((c[v>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[l>>2]|0)|0)==0:0){c[h>>2]=ve(c[p>>2]|0)|0;g=(c[m>>2]|0)-(c[l>>2]|0)|0;f=k;g=RR(c[f>>2]|0,c[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=g;c[f+4>>2]=C;f=k;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=C;b=c[(c[h>>2]|0)+96>>2]|0;e=((b|0)<0)<<31>>31;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>b>>>0){g=13;break}c[t>>2]=c[u>>2];b=c[k>>2]|0;c[u>>2]=Md(c[u>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){g=15;break}TR((c[u>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-1)}else{f=a[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0;b=c[r>>2]|0;c[r>>2]=b+1;a[(c[u>>2]|0)+b>>0]=f}c[q>>2]=(c[q>>2]|0)+1}if((g|0)==13){re(c[p>>2]|0);Kd(c[u>>2]|0);i=w;return}else if((g|0)==15){se(c[p>>2]|0);Kd(c[t>>2]|0);i=w;return}else if((g|0)==18){TR((c[u>>2]|0)+(c[r>>2]|0)|0,(c[v>>2]|0)+(c[q>>2]|0)|0,(c[s>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[s>>2]|0)-(c[q>>2]|0));a[(c[u>>2]|0)+(c[r>>2]|0)>>0]=0;me(c[p>>2]|0,c[u>>2]|0,c[r>>2]|0,148);i=w;return}}function EP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;e=g+20|0;j=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[j>>2]=d;j=de(c[c[j>>2]>>2]|0)|0;d=C;b=h;c[b>>2]=j;c[b+4>>2]=d;b=(c[h+4>>2]|0)<0;a=h;c[a>>2]=b?0:j;c[a+4>>2]=b?0:d;a=h;c[f>>2]=pe(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){i=g;return}qe(c[e>>2]|0,c[f>>2]|0);i=g;return}function FP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;m=r+44|0;g=r+40|0;h=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;l=r+20|0;n=r+8|0;o=r;k=r+16|0;c[m>>2]=b;c[g>>2]=e;c[h>>2]=f;c[k>>2]=0;if((ee(c[(c[h>>2]|0)+4>>2]|0)|0)==5){i=r;return}if((c[g>>2]|0)==3?(ee(c[(c[h>>2]|0)+8>>2]|0)|0)==5:0){i=r;return}c[l>>2]=ee(c[c[h>>2]>>2]|0)|0;b=ce(c[(c[h>>2]|0)+4>>2]|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;e=c[c[h>>2]>>2]|0;a:do if((c[l>>2]|0)==4){c[j>>2]=ae(e)|0;c[p>>2]=_d(c[c[h>>2]>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}}else{c[p>>2]=$d(e)|0;if(!(c[p>>2]|0)){i=r;return}c[j>>2]=0;if((c[n+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;b=c[q>>2]|0;c[q>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[g>>2]|0)==3){g=ce(c[(c[h>>2]|0)+8>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31;if((c[o+4>>2]|0)<0){g=o;g=QR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=C;c[k>>2]=1}}else{g=c[(ve(c[m>>2]|0)|0)+96>>2]|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31}do if((c[n+4>>2]|0)<0){g=c[j>>2]|0;h=n;g=RR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;if((c[n+4>>2]|0)<0){f=n;g=o;f=RR(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=C;b=o;c[b>>2]=f;c[b+4>>2]=g;b=(c[o+4>>2]|0)<0;h=o;c[h>>2]=b?0:f;c[h+4>>2]=b?0:g;h=n;c[h>>2]=0;c[h+4>>2]=0}}else{h=n;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=n;g=RR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;break}h=o;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=o;g=RR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=o;c[h>>2]=g;c[h+4>>2]=C}}while(0);if((c[k>>2]|0)!=0?(h=o,k=n,h=QR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,k=n,c[k>>2]=h,c[k+4>>2]=C,(c[n+4>>2]|0)<0):0){h=n;k=o;h=RR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=o;c[k>>2]=h;c[k+4>>2]=C;k=n;c[k>>2]=0;c[k+4>>2]=0}if((c[l>>2]|0)==4){h=n;l=o;l=RR(c[h>>2]|0,c[h+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;h=C;q=c[j>>2]|0;k=((q|0)<0)<<31>>31;if((h|0)>(k|0)|(h|0)==(k|0)&l>>>0>q>>>0){l=c[j>>2]|0;j=n;j=QR(l|0,((l|0)<0)<<31>>31|0,c[j>>2]|0,c[j+4>>2]|0)|0;l=C;k=o;c[k>>2]=j;c[k+4>>2]=l;k=(c[o+4>>2]|0)<0;q=o;c[q>>2]=k?0:j;c[q+4>>2]=k?0:l}q=o;ge(c[m>>2]|0,(c[p>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);i=r;return}while(1){l=n;e=c[p>>2]|0;if(!((d[c[p>>2]>>0]|0)!=0?(c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0:0))break;c[p>>2]=e+1;c:do if((d[e>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);k=n;k=RR(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;l=n;c[l>>2]=k;c[l+4>>2]=C}c[q>>2]=e;while(1){n=o;if(!((d[c[q>>2]>>0]|0)!=0?(c[n>>2]|0)!=0|(c[n+4>>2]|0)!=0:0))break;n=c[q>>2]|0;c[q>>2]=n+1;d:do if((d[n>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);l=o;l=RR(c[l>>2]|0,c[l+4>>2]|0,-1,-1)|0;n=o;c[n>>2]=l;c[n+4>>2]=C}q=(c[q>>2]|0)-(c[p>>2]|0)|0;ne(c[m>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);i=r;return}function GP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;n=m+24|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[j>>2]=we(c[n>>2]|0,32)|0;c[k>>2]=Te(c[c[g>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[k>>2]|0)!=5)){i=m;return}n=(c[j>>2]|0)+16|0;b=n;b=RR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[n>>2]=b;c[n+4>>2]=C;g=c[c[g>>2]>>2]|0;if((c[k>>2]|0)!=1){o=+be(g);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=m;return}n=de(g)|0;k=l;c[k>>2]=n;c[k+4>>2]=C;k=l;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=m;return}n=l;if(!(II((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=m;return}a[(c[j>>2]|0)+24>>0]=1;i=m;return}function HP(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=we(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=f;return}if(a[(c[e>>2]|0)+24>>0]|0){ie(c[d>>2]|0,45165,-1);i=f;return}d=c[d>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){he(d,+h[b>>3]);i=f;return}else{g=b+8|0;ke(d,c[g>>2]|0,c[g+4>>2]|0);i=f;return}}function IP(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=we(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;he(a,f);i=d;return}f=+h[c[b>>2]>>3];he(a,f);i=d;return}function JP(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=e;return}f=(c[d>>2]|0)+16|0;he(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=e;return}function KP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=we(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=g;return}}else{j=5!=(ee(c[c[e>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=g;return}}j=c[f>>2]|0;h=j;h=RR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=C;i=g;return}function LP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=we(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;ke(a,b,e);i=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;ke(a,b,e);i=d;return}function MP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+36|0;f=p+32|0;g=p+28|0;o=p+24|0;m=p+20|0;n=p+16|0;l=p+12|0;k=p+8|0;h=p+4|0;j=p;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((ee(c[c[g>>2]>>2]|0)|0)==5){i=p;return}c[m>>2]=we(c[e>>2]|0,28)|0;if(!(c[m>>2]|0)){i=p;return}c[h>>2]=ve(c[e>>2]|0)|0;c[j>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[h>>2]|0)+96>>2];if(!(c[j>>2]|0)){if((c[f>>2]|0)==2){c[n>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[k>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0}else{c[n>>2]=34710;c[k>>2]=1}if(c[k>>2]|0)sA(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)}c[o>>2]=$d(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[o>>2]|0)){i=p;return}sA(c[m>>2]|0,c[o>>2]|0,c[l>>2]|0);i=p;return}function NP(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=we(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){re(c[b>>2]|0);i=f;return}b=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){se(b);i=f;return}else{me(b,fg(c[e>>2]|0)|0,-1,148);i=f;return}}function OP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h;g=h+12|0;k=h+8|0;c[e>>2]=a;j=f;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=ve(c[e>>2]|0)|0;d=f;j=c[d+4>>2]|0;a=c[(c[k>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if((j|0)>(b|0)|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){re(c[e>>2]|0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}k=f;c[g>>2]=$f(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}se(c[e>>2]|0);k=c[g>>2]|0;i=h;return k|0}function PP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function QP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function RP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+64|0;e=g+56|0;j=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;if(ZP(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=g;return}_P(f);j=f;he(c[e>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=g;return}function SP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+176|0;f=j+48|0;e=j+68|0;l=j+64|0;k=j+60|0;g=j;h=j+72|0;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;if(ZP(c[e>>2]|0,c[l>>2]|0,c[k>>2]|0,g)|0){i=j;return}aQ(g);k=c[g+12>>2]|0;l=c[g+16>>2]|0;c[f>>2]=c[g+8>>2];c[f+4>>2]=k;c[f+8>>2]=l;Qd(100,h,45506,f)|0;me(c[e>>2]|0,h,-1,-1);i=j;return}function TP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+176|0;f=k+48|0;e=k+68|0;m=k+64|0;l=k+60|0;g=k;j=k+72|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(ZP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}bQ(g);l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+20>>2];c[f+4>>2]=l;c[f+8>>2]=m;Qd(100,j,45491,f)|0;me(c[e>>2]|0,j,-1,-1);i=k;return}function UP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+192|0;f=k+48|0;e=k+80|0;m=k+76|0;l=k+72|0;g=k;j=k+84|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(ZP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}$P(g);b=c[g+12>>2]|0;d=c[g+16>>2]|0;a=c[g+20>>2]|0;l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+8>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=a;c[f+16>>2]=l;c[f+20>>2]=m;Qd(100,j,45461,f)|0;me(c[e>>2]|0,j,-1,-1);i=k;return}function VP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+336|0;z=J+192|0;y=J+184|0;x=J+176|0;w=J+168|0;v=J+160|0;u=J+152|0;t=J+144|0;B=J+136|0;A=J+128|0;s=J+120|0;r=J+112|0;m=J+232|0;f=J+228|0;g=J+224|0;E=J+64|0;k=J+56|0;n=J+220|0;o=J+216|0;G=J+212|0;j=J+208|0;I=J+204|0;H=J+236|0;q=J+48|0;p=J+200|0;F=J;D=J+196|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;if(!(c[f>>2]|0)){i=J;return}c[I>>2]=$d(c[c[g>>2]>>2]|0)|0;if(!(c[I>>2]|0)){i=J;return}if(ZP(c[m>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+4|0,E)|0){i=J;return}c[j>>2]=ve(c[m>>2]|0)|0;c[n>>2]=0;b=k;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[I>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[b+4>>2]=C;break}case 37:case 119:break;case 102:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 106:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,3,0)|0;c[b+4>>2]=C;break}case 89:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 74:case 115:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,50,0)|0;c[b+4>>2]=C;break}default:{l=44;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;e=k;e=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C}if((l|0)==44){i=J;return}l=k;b=c[l+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(c[l>>2]|0)>>>0<100)){b=k;d=c[b+4>>2]|0;l=c[(c[j>>2]|0)+96>>2]|0;e=((l|0)<0)<<31>>31;if(d>>>0>e>>>0|((d|0)==(e|0)?(c[b>>2]|0)>>>0>l>>>0:0)){re(c[m>>2]|0);i=J;return}l=c[k>>2]|0;c[G>>2]=Vw(c[j>>2]|0,l,((l|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){se(c[m>>2]|0);i=J;return}}else c[G>>2]=H;_P(E);$P(E);c[o>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;f=c[n>>2]|0;b:do if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){k=a[(c[I>>2]|0)+f>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=k}else{c[n>>2]=f+1;do switch(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0){case 100:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[r>>2]=c[E+16>>2];Qd(3,l,45303,r)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 102:{h[q>>3]=+h[E+32>>3];if(+h[q>>3]>59.999)h[q>>3]=59.999;l=(c[G>>2]|0)+(c[o>>2]|0)|0;h[s>>3]=+h[q>>3];Qd(7,l,45308,s)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 72:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[A>>2]=c[E+20>>2];Qd(3,l,45303,A)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 106:case 87:{f=F;g=E;d=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));a[F+42>>0]=0;c[F+12>>2]=1;c[F+16>>2]=1;_P(F);k=E;l=F;c[p>>2]=_R(RR(QR(c[k>>2]|0,c[k+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C|0,432e5,0)|0,C|0,864e5,0)|0;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==87){l=E;l=RR(c[l>>2]|0,c[l+4>>2]|0,432e5,0)|0;l=_R(l|0,C|0,864e5,0)|0;l=$R(l|0,C|0,7,0)|0;c[D>>2]=l;l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[B>>2]=((c[p>>2]|0)+7-(c[D>>2]|0)|0)/7|0;Qd(3,l,45303,B)|0;c[o>>2]=(c[o>>2]|0)+2;break b}else{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=(c[p>>2]|0)+1;Qd(4,l,45315,t)|0;c[o>>2]=(c[o>>2]|0)+3;break b}}case 74:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;k=E;h[u>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/864.0e5;Qd(20,l,41946,u)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 109:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[E+12>>2];Qd(3,l,45303,v)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 77:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[w>>2]=c[E+24>>2];Qd(3,l,45303,w)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 115:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;j=E;k=x;c[k>>2]=QR(_R(c[j>>2]|0,c[j+4>>2]|0,1e3,0)|0,C|0,413362496,49)|0;c[k+4>>2]=C;Qd(30,l,28266,x)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 83:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[y>>2]=~~+h[E+32>>3];Qd(3,l,45303,y)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 119:{k=E;k=$R(_R(RR(c[k>>2]|0,c[k+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=((k&255)<<24>>24)+48;break b}case 89:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[z>>2]=c[E+8>>2];Qd(5,l,45320,z)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}default:{l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[G>>2]|0)+(c[o>>2]|0)>>0]=0;me(c[m>>2]|0,c[G>>2]|0,-1,(c[G>>2]|0)==(H|0)?-1:170);i=J;return}function WP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;TP(c[f>>2]|0,0,0);i=e;return}function XP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;UP(c[f>>2]|0,0,0);i=e;return}function YP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;SP(c[f>>2]|0,0,0);i=e;return}function ZP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=i;i=i+32|0;o=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;l=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[k>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(c[h>>2]|0)){c[o>>2]=cQ(c[g>>2]|0,c[k>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}f=ee(c[c[j>>2]>>2]|0)|0;c[l>>2]=f;d=c[c[j>>2]>>2]|0;do if((f|0)==2|(c[l>>2]|0)==1){q=+be(d)*864.0e5+.5;f=+N(q)>=1.0?(q>0.0?~~+$(+M(q/4294967296.0),4294967295.0)>>>0:~~+Z((q-+(~~q>>>0))/4294967296.0)>>>0):0;l=c[k>>2]|0;c[l>>2]=~~q>>>0;c[l+4>>2]=f;a[(c[k>>2]|0)+42>>0]=1}else{c[n>>2]=$d(d)|0;if((c[n>>2]|0)!=0?(dQ(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}while(0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0)){d=14;break}c[n>>2]=$d(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(!(c[n>>2]|0)){d=12;break}if(eQ(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0){d=12;break}c[m>>2]=(c[m>>2]|0)+1}if((d|0)==12){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}else if((d|0)==14){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}return 0}function _P(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;d=n+28|0;m=n+24|0;j=n+20|0;g=n+16|0;e=n+12|0;f=n+8|0;k=n+4|0;l=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){i=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[m>>2]=c[(c[d>>2]|0)+8>>2];c[j>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[m>>2]=2e3;c[j>>2]=1;c[g>>2]=1}if((c[j>>2]|0)<=2){c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+12}c[e>>2]=(c[m>>2]|0)/100|0;c[f>>2]=2-(c[e>>2]|0)+((c[e>>2]|0)/4|0);c[k>>2]=(((c[m>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[j>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[l>>2]|0)+(c[g>>2]|0)+(c[f>>2]|0)|0)-1524.5)*864.0e5;m=+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0;b=c[d>>2]|0;c[b>>2]=~~o>>>0;c[b+4>>2]=m;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){i=n;return}m=_(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;m=m+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;m=RR(m|0,((m|0)<0)<<31>>31|0,~~o>>>0|0,(+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;b=c[d>>2]|0;l=b;m=RR(c[l>>2]|0,c[l+4>>2]|0,m|0,C|0)|0;c[b>>2]=m;c[b+4>>2]=C;if(!(a[(c[d>>2]|0)+43>>0]|0)){i=n;return}m=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;b=c[d>>2]|0;l=b;m=QR(c[l>>2]|0,c[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;c[b>>2]=m;c[b+4>>2]=C;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;i=n;return}function $P(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;aQ(c[d>>2]|0);bQ(c[d>>2]|0);i=b;return}function aQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;l=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){i=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=RR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=_R(b|0,C|0,864e5,0)|0;c[l>>2]=b;c[e>>2]=~~((+(c[l>>2]|0)-1867216.25)/36524.25);c[e>>2]=(c[l>>2]|0)+1+(c[e>>2]|0)-((c[e>>2]|0)/4|0);c[f>>2]=(c[e>>2]|0)+1524;c[g>>2]=~~((+(c[f>>2]|0)-122.1)/365.25);c[h>>2]=((c[g>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[f>>2]|0)-(c[h>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[f>>2]|0)-(c[h>>2]|0)-(c[k>>2]|0);l=c[j>>2]|0;c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)<14?l-1|0:l-13|0;l=c[g>>2]|0;c[(c[d>>2]|0)+8>>2]=(c[(c[d>>2]|0)+12>>2]|0)>2?l-4716|0:l-4715|0}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;i=m;return}function bQ(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){i=f;return}_P(c[d>>2]|0);b=c[d>>2]|0;b=RR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=$R(b|0,C|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;i=f;return}function cQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=mQ(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=C;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;i=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;i=g;return h|0}return 0}function dQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(lQ(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(hQ(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(ig(c[j>>2]|0,45445)|0)){c[f>>2]=cQ(c[g>>2]|0,c[k>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}d=c[j>>2]|0;if(ez(d,l,Jf(c[j>>2]|0)|0,1)|0){n=+h[l>>3]*864.0e5+.5;l=+N(n)>=1.0?(n>0.0?~~+$(+M(n/4294967296.0),4294967295.0)>>>0:~~+Z((n-+(~~n>>>0))/4294967296.0)>>>0):0;d=c[k>>2]|0;c[d>>2]=~~n>>>0;c[d+4>>2]=l;a[(c[k>>2]|0)+42>>0]=1;c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=m;return d|0}return 0}function eQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=i;i=i+160|0;g=z+124|0;j=z+120|0;w=z+116|0;x=z+112|0;m=z+108|0;n=z+80|0;y=z+104|0;l=z+72|0;k=z+64|0;o=z+56|0;v=z+100|0;u=z+8|0;t=z;p=z+96|0;q=z+92|0;r=z+88|0;c[g>>2]=b;c[j>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[m>>2]=0;while(1){if((c[m>>2]|0)<29)b=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)!=0;else b=0;f=c[m>>2]|0;if(!b)break;a[(c[y>>2]|0)+(c[m>>2]|0)>>0]=a[17613+(d[(c[j>>2]|0)+f>>0]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+1}a[(c[y>>2]|0)+f>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(hR(c[y>>2]|0,45325)|0){y=c[x>>2]|0;i=z;return y|0}_P(c[w>>2]|0);v=fQ(c[w>>2]|0,c[g>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=RR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;gQ(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}case 117:{if((hR(c[y>>2]|0,45335)|0)==0?(a[(c[w>>2]|0)+42>>0]|0)!=0:0){v=c[w>>2]|0;v=RR(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=_R(v|0,C|0,86400,0)|0;v=RR(v|0,C|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=C;gQ(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(hR(c[y>>2]|0,45345)|0){y=c[x>>2]|0;i=z;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}_P(c[w>>2]|0);y=l;c[y>>2]=fQ(c[w>>2]|0,c[g>>2]|0,x)|0;c[y+4>>2]=C;if(!(c[x>>2]|0)){u=l;y=c[w>>2]|0;v=y;u=QR(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=C;gQ(c[w>>2]|0);y=l;u=c[y>>2]|0;y=c[y+4>>2]|0;v=fQ(c[w>>2]|0,c[g>>2]|0,x)|0;v=QR(u|0,y|0,v|0,C|0)|0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y>>2]=v;c[y+4>>2]=C}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;i=z;return y|0}case 119:{if(lR(c[y>>2]|0,45349,8)|0){y=c[x>>2]|0;i=z;return y|0}if(!(ez((c[y>>2]|0)+8|0,n,Jf((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;i=z;return y|0}y=~~+h[n>>3];c[m>>2]=y;if(!(((c[m>>2]|0)>=0?+(y|0)==+h[n>>3]:0)&+h[n>>3]<7.0)){y=c[x>>2]|0;i=z;return y|0}$P(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;_P(c[w>>2]|0);t=c[w>>2]|0;v=k;c[v>>2]=$R(_R(RR(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;c[v+4>>2]=C;v=k;t=c[v+4>>2]|0;y=c[m>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=k;v=QR(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=k;c[y>>2]=v;c[y+4>>2]=C}y=c[m>>2]|0;v=k;v=aS(QR(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,C|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=RR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;gQ(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 115:{if(lR(c[y>>2]|0,45358,9)|0){y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;aQ(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(hR(c[y>>2]|0,45368)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(!(hR(c[y>>2]|0,45374)|0)){aQ(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(hR(c[y>>2]|0,45379)|0){y=c[x>>2]|0;i=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[m>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;if(!((d[18403+(d[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[m>>2]=(c[m>>2]|0)+1}if(!(ez(c[y>>2]|0,n,c[m>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58){c[v>>2]=c[y>>2];if(!(d[18403+(d[c[v>>2]>>0]|0)>>0]&4))c[v>>2]=(c[v>>2]|0)+1;f=u;b=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));if(hQ(c[v>>2]|0,u)|0){y=c[x>>2]|0;i=z;return y|0}_P(u);v=u;v=QR(c[v>>2]|0,c[v+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=v;c[s+4>>2]=C;s=u;s=_R(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;v=t;c[v>>2]=s;c[v+4>>2]=C;t=aS(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=QR(c[v>>2]|0,c[v+4>>2]|0,t|0,C|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=C;if((a[c[y>>2]>>0]|0)==45){v=u;v=QR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=C}_P(c[w>>2]|0);gQ(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=RR(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=C;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0);while(1){f=c[y>>2]|0;if(!(d[18403+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=f+1}c[m>>2]=Jf(f)|0;if((c[m>>2]|0)>10|(c[m>>2]|0)<3){y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]=0;c[m>>2]=(c[m>>2]|0)+-1}_P(c[w>>2]|0);c[x>>2]=0;h[o>>3]=+h[n>>3]<0.0?-.5:.5;if((c[m>>2]|0)==3?(hR(c[y>>2]|0,45379)|0)==0:0){A=+h[n>>3]*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C}else s=54;do if((s|0)==54){if((c[m>>2]|0)==4?(hR(c[y>>2]|0,45383)|0)==0:0){A=+h[n>>3]*36.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(hR(c[y>>2]|0,45388)|0)==0:0){A=+h[n>>3]*6.0e4+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(hR(c[y>>2]|0,45395)|0)==0:0){A=+h[n>>3]*1.0e3+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==5?(hR(c[y>>2]|0,45368)|0)==0:0){$P(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[n>>3];y=c[(c[w>>2]|0)+12>>2]|0;c[p>>2]=(((c[(c[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[p>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;_P(c[w>>2]|0);c[q>>2]=~~+h[n>>3];if(!(+(c[q>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[q>>2]|0))*30.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==4?(hR(c[y>>2]|0,45374)|0)==0:0){c[r>>2]=~~+h[n>>3];$P(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[r>>2]|0);a[(c[w>>2]|0)+42>>0]=0;_P(c[w>>2]|0);if(!(+(c[r>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[r>>2]|0))*365.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}c[x>>2]=1}while(0);gQ(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}default:{y=c[x>>2]|0;i=z;return y|0}}return 0}function fQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;g=q+96|0;f=q+164|0;j=q+160|0;k=q+156|0;o=q+48|0;p=q;n=q+152|0;m=q+108|0;l=q+104|0;c[f>>2]=b;c[j>>2]=d;c[k>>2]=e;d=m;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[f>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));$P(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[l>>2]=~~(+h[o+32>>3]+.5);h[o+32>>3]=+(c[l>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;h[o+32>>3]=0.0}c[o+28>>2]=0;a[o+42>>0]=0;_P(o);l=o;l=_R(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=QR(l|0,C|0,413362496,49)|0;c[n>>2]=l;if(kQ(n,m)|0){ie(c[j>>2]|0,45422,-1);c[c[k>>2]>>2]=1;o=g;c[o>>2]=0;c[o+4>>2]=0;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}else{c[p+8>>2]=(c[m+20>>2]|0)+1900;c[p+12>>2]=(c[m+16>>2]|0)+1;c[p+16>>2]=c[m+12>>2];c[p+20>>2]=c[m+8>>2];c[p+24>>2]=c[m+4>>2];h[p+32>>3]=+(c[m>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;_P(p);c[c[k>>2]>>2]=0;n=p;p=o;p=QR(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=g;c[o>>2]=p;c[o+4>>2]=C;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}return 0}function gQ(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function hQ(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;j=q+40|0;k=q+36|0;l=q+32|0;o=q+28|0;m=q+8|0;n=q;c[g>>2]=b;c[j>>2]=e;h[m>>3]=0.0;b=c[g>>2]|0;c[r>>2]=k;c[r+4>>2]=l;if((iQ(b,45402,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=o;if((iQ(r,45410,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?(d[18403+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[n>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[18403+(d[c[g>>2]>>0]|0)>>0]&4))break;h[m>>3]=+h[m>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[n>>3]=+h[n>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[m>>3]=+h[m>>3]/+h[n>>3]}}else c[o>>2]=0;a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+41>>0]=1;c[(c[j>>2]|0)+20>>2]=c[k>>2];c[(c[j>>2]|0)+24>>2]=c[l>>2];h[(c[j>>2]|0)+32>>3]=+(c[o>>2]|0)+ +h[m>>3];if(jQ(c[g>>2]|0,c[j>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}else{a[(c[j>>2]|0)+43>>0]=(c[(c[j>>2]|0)+28>>2]|0)!=0?1:0;c[f>>2]=0;r=c[f>>2]|0;i=q;return r|0}return 0}function iQ(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+24|0;m=s+8|0;r=s+4|0;p=s+36|0;l=s+35|0;o=s+34|0;q=s;n=s+32|0;c[j>>2]=f;c[k>>2]=g;c[r>>2]=0;c[m>>2]=h;a:while(1){a[l>>0]=(a[c[k>>2]>>0]|0)-48;a[o>>0]=(a[(c[k>>2]|0)+1>>0]|0)-48;c[q>>2]=0;b[n>>1]=b[16422+((a[(c[k>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[p>>0]=a[(c[k>>2]|0)+3>>0]|0;c[q>>2]=0;while(1){g=a[l>>0]|0;a[l>>0]=g+-1<<24>>24;if(!(g<<24>>24))break;if(!(d[18403+(d[c[j>>2]>>0]|0)>>0]&4)){j=11;break a}c[q>>2]=((c[q>>2]|0)*10|0)+(a[c[j>>2]>>0]|0)-48;c[j>>2]=(c[j>>2]|0)+1}if((c[q>>2]|0)<(a[o>>0]|0)){j=11;break}if((c[q>>2]|0)>(e[n>>1]|0)){j=11;break}if((a[p>>0]|0)!=0?(a[p>>0]|0)!=(a[c[j>>2]>>0]|0):0){j=11;break}f=c[q>>2]|0;h=(c[m>>2]|0)+(4-1)&~(4-1);g=c[h>>2]|0;c[m>>2]=h+4;c[g>>2]=f;c[j>>2]=(c[j>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+4;if(!(a[p>>0]|0)){j=11;break}}if((j|0)==11){i=s;return c[r>>2]|0}return 0}function jQ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;m=p+20|0;k=p+16|0;l=p+12|0;j=p+8|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=0;while(1){if(!(d[18403+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[j>>2]=a[c[g>>2]>>0];do if((c[j>>2]|0)==45){c[m>>2]=-1;o=11}else{if((c[j>>2]|0)==43){c[m>>2]=1;o=11;break}if((c[j>>2]|0)==90|(c[j>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[j>>2]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=k;c[n+4>>2]=l;if((iQ(o,45414,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=_(c[m>>2]|0,(c[l>>2]|0)+((c[k>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}while(0);while(1){if(!(d[18403+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}function kQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;a=Kb(c[h>>2]|0)|0;c[e>>2]=a;c[e>>2]=(c[69]|0)!=0?0:a;if(c[e>>2]|0){d=c[d>>2]|0;b=c[e>>2]|0;a=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(a|0))}c[f>>2]=(c[e>>2]|0)==0&1;i=g;return c[f>>2]|0}function lQ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;l=o+20|0;k=o+16|0;n=o+12|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;b=c[h>>2]|0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=k;if((iQ(b,45449,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[18403+(d[c[h>>2]>>0]|0)>>0]&1)f=1;else f=84==(d[c[h>>2]>>0]|0);e=c[h>>2]|0;if(!f)break;c[h>>2]=e+1}do if(hQ(e,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;m=c[m>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[n>>2]|0)!=0?0-m|0:m;c[(c[j>>2]|0)+12>>2]=c[l>>2];c[(c[j>>2]|0)+16>>2]=c[k>>2];if(a[(c[j>>2]|0)+43>>0]|0)_P(c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function mQ(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)+56;a=c[d>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[e>>2]=qI(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[d>>2]|0)|0,(c[e>>2]|0)!=0):0){e=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0}e=c[d>>2]|0;C=c[e+4>>2]|0;i=f;return c[e>>2]|0}function nQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+64|0;l=r;f=r+60|0;s=r+52|0;o=r+48|0;p=r+44|0;k=r+40|0;j=r+32|0;m=r+28|0;h=r+24|0;n=r+20|0;g=r+16|0;c[f>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[o>>2]=$d(c[c[s>>2]>>2]|0)|0;c[p>>2]=$d(c[(c[s>>2]|0)+4>>2]|0)|0;c[m>>2]=c[o>>2];c[h>>2]=0;c[g>>2]=ve(c[f>>2]|0)|0;if(!(c[o>>2]|0)){i=r;return}do{if(!(a[c[m>>2]>>0]|0)){q=7;break}c[j>>2]=c[m>>2];c[j+4>>2]=c[h>>2];do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=$u(c[m>>2]|0,k)|0}while((c[k>>2]|0)==162)}while((c[k>>2]|0)!=22?(c[k>>2]|0)!=125:0);if((q|0)==7){i=r;return}s=c[g>>2]|0;m=c[o>>2]|0;p=c[p>>2]|0;q=(c[j>>2]|0)+(c[j+4>>2]|0)|0;c[l>>2]=(c[j>>2]|0)-(c[o>>2]|0);c[l+4>>2]=m;c[l+8>>2]=p;c[l+12>>2]=q;c[n>>2]=Gh(s,45595,l)|0;me(c[f>>2]|0,c[n>>2]|0,-1,170);i=r;return}function oQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;m=s;f=s+68|0;t=s+60|0;p=s+56|0;q=s+52|0;l=s+48|0;k=s+40|0;h=s+32|0;n=s+28|0;j=s+24|0;o=s+20|0;g=s+16|0;c[f>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[p>>2]=$d(c[c[t>>2]>>2]|0)|0;c[q>>2]=$d(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[n>>2]=c[p>>2];c[j>>2]=0;c[g>>2]=ve(c[f>>2]|0)|0;if(!(c[p>>2]|0)){i=s;return}while(1){if(!(a[c[n>>2]>>0]|0)){r=8;break}c[k>>2]=c[n>>2];c[k+4>>2]=c[j>>2];do{c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[j>>2]=$u(c[n>>2]|0,l)|0}while((c[l>>2]|0)==162);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[l>>2]|0)==122|(c[l>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[l>>2]|0)!=137&(c[l>>2]|0)!=74&(c[l>>2]|0)!=5))break}if((r|0)==8){i=s;return}t=c[g>>2]|0;n=c[p>>2]|0;q=c[q>>2]|0;r=(c[k>>2]|0)+(c[k+4>>2]|0)|0;c[m>>2]=(c[k>>2]|0)-(c[p>>2]|0);c[m+4>>2]=n;c[m+8>>2]=q;c[m+12>>2]=r;c[o>>2]=Gh(t,45595,m)|0;me(c[f>>2]|0,c[o>>2]|0,-1,170);i=s;return}function pQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+80|0;l=u+16|0;k=u;f=u+76|0;v=u+68|0;g=u+64|0;r=u+60|0;t=u+56|0;n=u+52|0;p=u+48|0;o=u+44|0;m=u+40|0;h=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;c[f>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[g>>2]=ve(c[f>>2]|0)|0;c[r>>2]=0;c[n>>2]=$d(c[c[v>>2]>>2]|0)|0;c[p>>2]=$d(c[(c[v>>2]|0)+4>>2]|0)|0;c[o>>2]=$d(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[n>>2]|0)==0|(c[p>>2]|0)==0){i=u;return}c[m>>2]=c[n>>2];while(1){if(!(a[c[m>>2]>>0]|0))break;c[h>>2]=$u(c[m>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=$u(c[m>>2]|0,j)|0}while((c[j>>2]|0)==162);if((c[j>>2]|0)==163)break;v=c[h>>2]|0;c[s>>2]=Yw(c[g>>2]|0,c[m>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))break;Zw(c[s>>2]|0);if(!(ig(c[p>>2]|0,c[s>>2]|0)|0)){v=c[g>>2]|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;e=c[n>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:18402;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=b;c[q>>2]=Gh(v,45584,k)|0;Tf(c[g>>2]|0,c[r>>2]|0);c[r>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[h>>2]|0)}Tf(c[g>>2]|0,c[s>>2]|0)}c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0)}v=c[g>>2]|0;s=c[n>>2]|0;c[l>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:18402;c[l+4>>2]=s;c[t>>2]=Gh(v,24705,l)|0;me(c[f>>2]|0,c[t>>2]|0,-1,170);Tf(c[g>>2]|0,c[r>>2]|0);i=u;return}function qQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=ku(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+456>>2]|0;c[b>>2]=(c[b>>2]|0)+a;i=d;return}function rQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[j>>2]|0)+1>>0]|0)IA(c[f>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}function sQ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))k=5;if((k|0)==5?(k=0,((d[(c[f>>2]|0)+42>>0]|0)&16|0)==0):0){c[j>>2]=c[c[g>>2]>>2];Uj((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[j>>2]|0,0)|0}FH(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}tQ(c[e>>2]|0,c[f>>2]|0);AH(c[e>>2]|0,c[f>>2]|0);Tf(c[e>>2]|0,c[c[f>>2]>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);fv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);uQ(c[e>>2]|0,c[f>>2]|0);Tf(c[e>>2]|0,c[f>>2]|0);i=l;return}function tQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){a=c[(c[g>>2]|0)+12>>2]|0;if(c[(c[g>>2]|0)+16>>2]|0)c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]=a;else{c[f>>2]=a;a=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[a+12>>2]|0)+8>>2]|0;else a=c[a+8>>2]|0;c[j>>2]=a;Uj((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[j>>2]|0,c[f>>2]|0)|0}if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2]}uG(c[d>>2]|0,c[(c[g>>2]|0)+28>>2]|0);uG(c[d>>2]|0,c[(c[g>>2]|0)+28+4>>2]|0);c[h>>2]=c[(c[g>>2]|0)+4>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}i=k;return}function uQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0))VJ(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Tf(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);i=g;return}function vQ(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function wQ(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function xQ(a){a=a|0;return (a+-97|0)>>>0<26|0}function yQ(a){a=a|0;return (a+-65|0)>>>0<26|0}function zQ(a){a=a|0;var b=0;b=(yQ(a)|0)==0;return (b?a:a|32)|0}function AQ(a){a=a|0;var b=0;b=(xQ(a)|0)==0;return (b?a:a&95)|0}function BQ(){var a=0;if(!(c[2216]|0))a=8912;else a=c[(qb()|0)+60>>2]|0;return a|0}function CQ(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[45740+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=45828;e=5;break}}if((e|0)==2)if(!c)b=45828;else{b=45828;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function DQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=GQ(mb(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=mb(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=mb(221,n|0)|0;break a}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break a}default:{d=GQ(d)|0;break a}}}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=mb(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;mb(221,l|0)|0}d=GQ(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=mb(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=mb(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;mb(221,r|0)|0}d=GQ(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Cb(6,p|0)|0}d=GQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=GQ(mb(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=GQ(mb(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function EQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=GQ(Db(5,f|0)|0)|0;i=e;return d|0}function FQ(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[47632+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function GQ(a){a=a|0;if(a>>>0>4294963200){c[(BQ()|0)>>2]=0-a;a=-1}return a|0}function HQ(a){a=+a;return +(+X(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function IQ(a){a=+a;var b=0;h[k>>3]=a;b=SR(c[k>>2]|0,c[k+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Y(+(a*2.0-1.0/(+O(+(a*a+-1.0))+a)));break}else{a=+Y(+a)+.6931471805599453;break}else{a=a+-1.0;a=+OQ(a+ +O(+(a*a+a*2.0)))}while(0);return +a}function JQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=SR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Y(+(a*2.0+1.0/(a+ +O(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+OQ(a+f/(+O(+(f+1.0))+1.0))}}else a=+Y(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function KQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=SR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];if(b>>>0<1022){if(b>>>0>=991){f=a*2.0;a=+OQ(f+a*f/(1.0-a))*.5}}else a=+OQ(a/(1.0-a)*2.0)*.5;return +((d|0)<0?-a:a)}function LQ(a){a=+a;var b=0;h[k>>3]=a;b=c[k+4>>2]&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+MQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+X(+a);a=(a+1.0/a)*.5;break}else{a=+HQ(a);break}while(0);return +a}function MQ(a){a=+a;var b=0.0,d=0.0,e=0,f=0,g=0,i=0,j=0.0,l=0,m=0.0;h[k>>3]=a;e=c[k>>2]|0;f=c[k+4>>2]|0;g=f&2147483647;i=SR(e|0,f|0,63)|0;do if(g>>>0>1078159481){g=f&2147483647;if(!(g>>>0>2146435072|(g|0)==2146435072&e>>>0>0))if(!i)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else l=11;else a=-1.0}else{if(g>>>0<=1071001154)if(g>>>0<1016070144)break;else{j=0.0;g=0;l=14;break}if(g>>>0<1072734898)if(!i){b=a+-.6931471803691238;e=1;d=1.9082149292705877e-10;l=12;break}else{b=a+.6931471803691238;e=-1;d=-1.9082149292705877e-10;l=12;break}else l=11}while(0);if((l|0)==11){e=~~(a*1.4426950408889634+((i|0)!=0?-.5:.5));d=+(e|0);b=a-d*.6931471803691238;d=d*1.9082149292705877e-10;l=12}if((l|0)==12){j=b-d;a=j;j=b-j-d;g=e;l=14}a:do if((l|0)==14){d=a*.5;b=a*d;m=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;d=3.0-d*m;d=b*((m-d)/(6.0-a*d));if(!g){a=a-(a*d-b);break}b=a*(d-j)-j-b;switch(g|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{i=WR(g+1023|0,0,52)|0;l=C;c[k>>2]=i;c[k+4>>2]=l;d=+h[k>>3];if(g>>>0>56){a=a-b+1.0;a=((g|0)==1024?a*2.0*8988465674311579538646525.0e283:d*a)+-1.0;break a}e=WR(1023-g|0,0,52)|0;f=C;if((g|0)<20){c[k>>2]=e;c[k+4>>2]=f;a=1.0-+h[k>>3]+(a-b)}else{c[k>>2]=e;c[k+4>>2]=f;a=a-(+h[k>>3]+b)+1.0}a=d*a;break a}}}while(0);return +a}function NQ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function OQ(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;b=c[k+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=WR(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){e=0.0;d=0.0;f=11;break}else{f=8;break}}else{if(a==-1.0){a=-s;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)f=8;while(0);if((f|0)==8){d=a+1.0;h[k>>3]=d;b=(c[k+4>>2]|0)+614242|0;f=(b>>>20)+-1023|0;if((f|0)<54)a=((f|0)>1?1.0-(d-a):a-(d+-1.0))/d;else a=0.0;c[k>>2]=c[k>>2];c[k+4>>2]=(b&1048575)+1072079006;e=a;a=+h[k>>3]+-1.0;d=+(f|0);f=11}if((f|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;j=l*l;a=d*.6931471803691238+(a+(e+d*1.9082149292705877e-10+m*(i+(j*(j*(j*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(j*(j*(j*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function PQ(a){a=+a;var b=0.0,d=0.0,e=0;h[k>>3]=a;e=c[k+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=e;b=+h[k>>3];do if(e>>>0<1082535490){b=+MQ(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+HQ(b);while(0);return +a}function QQ(a){a=+a;var b=0,d=0;h[k>>3]=a;d=c[k+4>>2]|0;b=d&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+MQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+MQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+MQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function RQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;h=k;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(BQ()|0)>>2]=12;f=-1;break}j=(e&16|0)!=0;if(j)GR(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=GQ(cb(192,h|0)|0)|0;if(j)HR()}else{c[(BQ()|0)>>2]=22;f=-1}while(0);i=k;return f|0}function SQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;GR(-1);c[e>>2]=a;c[e+4>>2]=b;a=GQ(Xa(91,e|0)|0)|0;HR();i=d;return a|0}function TQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=jb(94,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){FQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=GQ(wb(15,g|0)|0)|0}else d=GQ(d)|0;i=h;return d|0}function UQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=db(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){FQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=GQ(fb(195,g|0)|0)|0}else d=GQ(d)|0;i=h;return d|0}function VQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(eb(196,e|0)|0)|0;i=d;return a|0}function WQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(Za(39,e|0)|0)|0;i=d;return a|0}function XQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(fb(195,e|0)|0)|0;i=d;return a|0}function YQ(a){a=a|0;return 0}function ZQ(a){a=a|0;return}function _Q(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=GQ(Cb(6,d|0)|0)|0;i=b;return a|0}function $Q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((GQ(vb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function aR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[2216]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=GQ(Mb(146,n|0)|0)|0}else{La(154,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=GQ(Mb(146,m|0)|0)|0;Da(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function bR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=163;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Ka(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=aR(b,d,e)|0;i=g;return f|0}function cR(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=DR(a)|0;break}d=(YQ(a)|0)==0;b=DR(a)|0;if(!d)ZQ(a)}else{if(!(c[2227]|0))b=0;else b=cR(c[2227]|0)|0;Bb(8892);a=c[2222]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=YQ(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=DR(a)|0|b;if(d)ZQ(a);a=c[a+56>>2]|0}while((a|0)!=0);ub(8892)}while(0);return b|0}function dR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){ER(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)ER(a,d,e,h,o);else FR(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}FR(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;FR(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;FR(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function eR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function fR(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function gR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);VR(b|0,0,e|0)|0;return b|0}function hR(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function iR(a,b){a=a|0;b=b|0;fR(a,b)|0;return a|0}function jR(a){a=a|0;var b=0,c=0;c=(kR(a)|0)+1|0;b=JR(c)|0;if(!b)b=0;else TR(b|0,a|0,c|0)|0;return b|0}function kR(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function lR(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function mR(a,b,c){a=a|0;b=b|0;c=c|0;gR(a,b,c)|0;return a|0}function nR(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(sb(33,e|0)|0)|0;i=d;return a|0}function oR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Cb(6,d|0)|0;a=GQ((a|0)==-4?-115:a)|0;i=b;return a|0}function pR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=j+24|0;g=j+16|0;e=j;f=j+36|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=Lb(207,e|0)|0;if((e|0)==-9?(c[g>>2]=a,c[g+4>>2]=1,(mb(221,g|0)|0)>=0):0){FQ(f,a);c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;e=GQ(hb(212,h|0)|0)|0}else e=GQ(e)|0;i=j;return e|0}function qR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=GQ(Oa(118,d|0)|0)|0;i=b;return a|0}function rR(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=GQ(gb(194,e|0)|0)|0;i=d;return b|0}function sR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(BQ()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((GQ(Ra(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=jR(d)|0}else a=0}i=g;return a|0}function tR(){var a=0,b=0;b=i;i=i+16|0;a=pb(201,b|0)|0;i=b;return a|0}function uR(){var a=0,b=0;b=i;i=i+16|0;a=Qa(20,b|0)|0;i=b;return a|0}function vR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(GQ(vb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function wR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=GQ(Ab(3,f|0)|0)|0;i=e;return a|0}function xR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=GQ(Ea(85,f|0)|0)|0;i=e;return a|0}function yR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=GQ(Na(40,d|0)|0)|0;i=b;return a|0}function zR(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(kb(b|0,b|0)|0)==0;i=d;return (a?0:c[b>>2]|0)|0}function AR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=GQ(yb(10,d|0)|0)|0;i=b;return a|0}function BR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=GQ(Eb(4,f|0)|0)|0;i=e;return a|0}function CR(a){a=a|0;if(!(c[a+68>>2]|0))ZQ(a);return}function DR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ob[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ob[c[a+40>>2]&255](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function ER(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((Yb[d&255](k,j)|0)>-1?(Yb[d&255](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Yb[d&255](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);IR(b,o,e);i=p;return}function FR(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Yb[d&255](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((Yb[d&255](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((Yb[d&255](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((Yb[d&255](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){IR(b,p,e);ER(a,b,d,g,h)}i=r;return}function GR(a){a=a|0;return}function HR(){return}function IR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;TR(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;TR(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function JR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[2257]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=9068+(e<<2)|0;e=9068+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[2261]|0)>>>0)Ma();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ma()}else c[2257]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[2259]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=9068+(e<<2)|0;e=9068+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[2261]|0)>>>0)Ma();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[2259]|0;break}else Ma()}else{c[2257]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[2262]|0;d=k>>>3;b=d<<1;e=9068+(b<<2)|0;a=c[2257]|0;d=1<>2]|0;if(b>>>0<(c[2261]|0)>>>0)Ma();else{l=a;m=b}}else{c[2257]=a|d;l=9068+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[2259]=h;c[2262]=i;M=j;return M|0}a=c[2258]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[9332+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[2261]|0;if(e>>>0>>0)Ma();i=e+o|0;if(e>>>0>=i>>>0)Ma();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ma();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ma()}while(0);do if(h){b=c[e+28>>2]|0;a=9332+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[2261]|0;if(n>>>0>>0)Ma();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[2259]|0;if(b){g=c[2262]|0;d=b>>>3;b=d<<1;f=9068+(b<<2)|0;a=c[2257]|0;d=1<>2]|0;if(a>>>0<(c[2261]|0)>>>0)Ma();else{p=b;q=a}}else{c[2257]=a|d;p=9068+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[2259]=j;c[2262]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[2258]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[9332+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[9332+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[2259]|0)-m|0)>>>0:0){f=c[2261]|0;if(j>>>0>>0)Ma();h=j+m|0;if(j>>>0>=h>>>0)Ma();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ma();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ma();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ma()}while(0);do if(g){b=c[j+28>>2]|0;a=9332+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[2261]|0;if(o>>>0>>0)Ma();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=9068+(a<<2)|0;d=c[2257]|0;b=1<>2]|0;if(a>>>0<(c[2261]|0)>>>0)Ma();else{s=b;t=a}}else{c[2257]=d|b;s=9068+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=9332+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[2258]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[2261]|0)>>>0)Ma();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[2261]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ma()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[2259]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[2262]|0;if(b>>>0>15){c[2262]=a+q;c[2259]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[2259]=0;c[2262]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[2260]|0;if(a>>>0>q>>>0){L=a-q|0;c[2260]=L;M=c[2263]|0;c[2263]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2375]|0)){a=ib(30)|0;if(!(a+-1&a)){c[2377]=a;c[2376]=a;c[2378]=-1;c[2379]=-1;c[2380]=0;c[2368]=0;c[2375]=(Fb(0)|0)&-16^1431655768;break}else Ma()}while(0);j=q+48|0;i=c[2377]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2367]|0;if((a|0)!=0?(t=c[2365]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2368]&4)){a=c[2263]|0;e:do if(a){f=9476;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[2260]|0)&i;if(d>>>0<2147483647){f=bb(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=bb(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2376]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2365]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2367]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=bb(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2377]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((bb(u|0)|0)==(-1|0)){bb(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2368]=c[2368]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=bb(l|0)|0,x=bb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2365]|0)+p|0;c[2365]=a;if(a>>>0>(c[2366]|0)>>>0)c[2366]=a;h=c[2263]|0;g:do if(h){g=9476;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[2260]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[2263]=h+L;c[2260]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[2264]=c[2379];break}a=c[2261]|0;if(w>>>0>>0){c[2261]=w;a=w}d=w+p|0;g=9476;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=9476;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[2262]|0)){M=(c[2259]|0)+l|0;c[2259]=M;c[2262]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ma();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ma()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=9332+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[2261]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[2258]=c[2258]&~(1<>>0>>0)Ma();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Ma();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=9068+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)==(b|0))break;Ma()}while(0);if((f|0)==(e|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ma()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=9068+(a<<2)|0;d=c[2257]|0;b=1<>2]|0;if(a>>>0>=(c[2261]|0)>>>0){K=b;L=a;break}Ma()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=9332+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[2258]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[2261]|0)>>>0)Ma();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[2261]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ma()}else{M=(c[2260]|0)+l|0;c[2260]=M;c[2263]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=9476;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[2263]=w+d;c[2260]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[2264]=c[2379];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2369];c[b+4>>2]=c[2370];c[b+8>>2]=c[2371];c[b+12>>2]=c[2372];c[2369]=w;c[2370]=p;c[2372]=0;c[2371]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=9068+(a<<2)|0;d=c[2257]|0;b=1<>2]|0;if(a>>>0<(c[2261]|0)>>>0)Ma();else{G=b;H=a}}else{c[2257]=d|b;G=9068+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=9332+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[2258]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[2261]|0)>>>0)Ma();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[2261]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ma()}}else{M=c[2261]|0;if((M|0)==0|w>>>0>>0)c[2261]=w;c[2369]=w;c[2370]=p;c[2372]=0;c[2266]=c[2375];c[2265]=-1;b=0;do{M=b<<1;L=9068+(M<<2)|0;c[9068+(M+3<<2)>>2]=L;c[9068+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[2263]=w+M;c[2260]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[2264]=c[2379]}while(0);b=c[2260]|0;if(b>>>0>q>>>0){L=b-q|0;c[2260]=L;M=c[2263]|0;c[2263]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(BQ()|0)>>2]=12;M=0;return M|0}function KR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[2261]|0;if(b>>>0>>0)Ma();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ma();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ma();if((l|0)==(c[2262]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[2259]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=9068+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)!=(l|0))Ma()}if((d|0)==(e|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ma()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ma();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ma();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ma()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=9332+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[2261]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ma();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ma();if(!(d&2)){if((q|0)==(c[2263]|0)){t=(c[2260]|0)+g|0;c[2260]=t;c[2263]=u;c[u+4>>2]=t|1;if((u|0)!=(c[2262]|0))return;c[2262]=0;c[2259]=0;return}if((q|0)==(c[2262]|0)){t=(c[2259]|0)+g|0;c[2259]=t;c[2262]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[2261]|0)>>>0)Ma();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ma();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ma()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=9332+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[2261]|0;if(p>>>0>>0)Ma();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=9068+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[2261]|0)>>>0)Ma();if((c[e+12>>2]|0)!=(q|0))Ma()}if((d|0)==(e|0)){c[2257]=c[2257]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ma()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[2262]|0)){c[2259]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=9068+(d<<2)|0;e=c[2257]|0;b=1<>2]|0;if(d>>>0<(c[2261]|0)>>>0)Ma();else{r=b;s=d}}else{c[2257]=e|b;r=9068+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=9332+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[2258]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[2261]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ma()}else{c[2258]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[2265]|0)+-1|0;c[2265]=u;if(!u)b=9484;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[2265]=-1;return}function LR(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=JR(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;VR(b|0,0,d|0)|0;return b|0}function MR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=JR(b)|0;return a|0}if(b>>>0>4294967231){c[(BQ()|0)>>2]=12;a=0;return a|0}d=NR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=JR(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;TR(d|0,a|0,(e>>>0>>0?e:b)|0)|0;KR(a);a=d;return a|0}function NR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[2261]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ma();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ma();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2377]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;OR(a+b|0,d);return a|0}if((l|0)==(c[2263]|0)){d=(c[2260]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[2263]=a+b;c[2260]=n;return a|0}if((l|0)==(c[2262]|0)){e=(c[2259]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2259]=d;c[2262]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ma();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ma()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=9332+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[2261]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=9068+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(l|0))Ma()}if((e|0)==(f|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;OR(a+b|0,n);return a|0}return 0} -function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){b=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(qu(c[e>>2]|0)|0)!=0:0){b=7;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==7){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((b|0)==9){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function qu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;g=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+340>>2]|0)){i=l;return}c[f>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+316>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];c[h>>2]=c[(c[j>>2]|0)+8>>2];if((c[h>>2]|0)!=0?(c[k>>2]=c[(c[c[h>>2]>>2]|0)+(c[e>>2]|0)>>2],(c[k>>2]|0)!=0):0)Tb[c[k>>2]&255](c[h>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=0;su(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Tf(c[d>>2]|0,c[f>>2]|0);c[(c[d>>2]|0)+316>>2]=0;i=l;return}function su(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){i=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)Tb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Tf(c[d>>2]|0,c[b>>2]|0);i=f;return}function tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;j=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[j>>2]=b;c[f>>2]=(c[j>>2]|0)+56;while(1){if(!(c[c[f>>2]>>2]|0)){g=6;break}a=c[c[f>>2]>>2]|0;if((c[c[c[f>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[f>>2]=a+24}if((g|0)==6){i=h;return}c[e>>2]=a;c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];su(c[e>>2]|0);i=h;return}function uu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+344>>2];c[(c[b>>2]|0)+344>>2]=0;if(!(c[d>>2]|0)){i=f;return}Sh(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];su(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=f;return}function vu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[164>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function wu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1628;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[421]=(c[53]|0)==0&1;if((c[421]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0){c[422]=c[55];c[410]=10;c[420]=1;i=d;return 0}else{c[422]=0;c[410]=10;c[420]=1;i=d;return 0}return 0}function xu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1628;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function yu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[n>>2]=60+((c[421]|0)*52|0);b=c[n>>2]|0;c[k>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}if(c[421]|0){c[l>>2]=(c[k>>2]|0)+60;c[(c[l>>2]|0)+12>>2]=10}else c[l>>2]=1628;if(!(d[(c[l>>2]|0)+20+14>>0]|0)){a[(c[l>>2]|0)+20+14>>0]=1;n=(c[l>>2]|0)+20|0;c[(c[l>>2]|0)+20+24>>2]=n;c[(c[l>>2]|0)+20+28>>2]=n}c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[g>>2];c[(c[k>>2]|0)+8>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[k>>2]|0)+16>>2]=(c[j>>2]|0)!=0?1:0;Pu(c[k>>2]|0);if(c[j>>2]|0){c[(c[k>>2]|0)+20>>2]=10;n=(c[l>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+20>>2]|0);c[(c[l>>2]|0)+12>>2]=(c[(c[l>>2]|0)+4>>2]|0)+10-(c[(c[l>>2]|0)+8>>2]|0)}if(c[(c[k>>2]|0)+44>>2]|0){n=c[k>>2]|0;i=m;return n|0}Fu(c[k>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=m;return n|0}function zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Hu(c[e>>2]|0);i=g;return}function Au(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];i=d;return c[b>>2]|0}function Bu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Mu(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function Cu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+24|0;m=k+20|0;l=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[f>>2]=c[n>>2];c[h>>2]=c[m>>2];c[g>>2]=c[c[f>>2]>>2];if((c[l>>2]|0)==0?(c[(c[g>>2]|0)+16>>2]|0)>>>0<=(c[(c[g>>2]|0)+4>>2]|0)>>>0:0){c[j>>2]=(c[g>>2]|0)+20+24;c[(c[h>>2]|0)+28>>2]=(c[g>>2]|0)+20;m=c[h>>2]|0;n=c[c[j>>2]>>2]|0;c[(c[h>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[j>>2]>>2]=c[h>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[h>>2]|0)+12>>0]=0;i=k;return}Ju(c[h>>2]|0,1);i=k;return}function Du(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;o=l+28|0;n=l+24|0;m=l+20|0;f=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[k>>2]=(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[k>>2]>>2]|0)==(c[j>>2]|0))break;c[k>>2]=(c[c[k>>2]>>2]|0)+16}c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[f>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[f>>2]|0)>>>0<=(c[(c[h>>2]|0)+32>>2]|0)>>>0){i=l;return}c[(c[h>>2]|0)+32>>2]=c[f>>2];i=l;return}function Eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){i=f;return}Lu(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;i=f;return}function Fu(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];c[d>>2]=c[c[b>>2]>>2];if(c[(c[b>>2]|0)+40>>2]|0)Lu(c[b>>2]|0,0);f=(c[d>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+24>>2]|0);f=(c[d>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+20>>2]|0);c[(c[d>>2]|0)+12>>2]=(c[(c[d>>2]|0)+4>>2]|0)+10-(c[(c[d>>2]|0)+8>>2]|0);Hu(c[b>>2]|0);Kd(c[(c[b>>2]|0)+56>>2]|0);Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[b>>2]|0);i=e;return}function Gu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){i=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;Hu(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}function Hu(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=c[c[b>>2]>>2];while(1){if((c[(c[f>>2]|0)+16>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[f>>2]|0)+20+28>>2]|0;c[e>>2]=a;if(d[a+14>>0]|0)break;Iu(c[e>>2]|0)|0;Ju(c[e>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){i=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){i=g;return}Kd(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;i=g;return}function Iu(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;i=e;return c[d>>2]|0}function Ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[j>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[j>>2]<<2);while(1){b=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=b}c[c[g>>2]>>2]=c[b>>2];j=(c[f>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[e>>2]|0)){i=h;return}Ku(c[d>>2]|0);i=h;return}function Ku(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else bj(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){i=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;i=f;return}function Lu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;if(((c[(c[e>>2]|0)+32>>2]|0)-(c[f>>2]|0)|0)>>>0<(c[(c[e>>2]|0)+44>>2]|0)>>>0){c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0;c[h>>2]=((c[(c[e>>2]|0)+32>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}else{c[g>>2]=((c[(c[e>>2]|0)+44>>2]|0)>>>0)/2|0;c[h>>2]=(c[g>>2]|0)-1}while(1){c[k>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){b=c[c[k>>2]>>2]|0;c[j>>2]=b;if(!b)break;if((c[(c[j>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[k>>2]=(c[j>>2]|0)+16;continue}b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+-1;c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];if(!(a[(c[j>>2]|0)+12>>0]|0))Iu(c[j>>2]|0)|0;Ku(c[j>>2]|0)}if((c[g>>2]|0)==(c[h>>2]|0))break;c[g>>2]=(((c[g>>2]|0)+1|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}i=l;return}function Mu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;j=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[k>>2]=0;c[k>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[k>>2]|0)d=(c[(c[k>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;e=c[k>>2]|0;if(!d)break;c[k>>2]=c[e+16>>2]}if(e){e=c[k>>2]|0;if(a[(c[k>>2]|0)+12>>0]|0){c[j>>2]=e;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=Iu(e)|0;m=c[j>>2]|0;i=l;return m|0}}else if(c[g>>2]|0){c[j>>2]=Nu(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}return 0}function Nu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;k=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+40>>2]|0)-(c[(c[g>>2]|0)+36>>2]|0);do if((c[j>>2]|0)==1){if((c[l>>2]|0)>>>0<(c[(c[m>>2]|0)+12>>2]|0)>>>0?(c[l>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if(!(Ou(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}while(0);if((c[(c[g>>2]|0)+40>>2]|0)>>>0>=(c[(c[g>>2]|0)+44>>2]|0)>>>0)Pu(c[g>>2]|0);do if((c[(c[g>>2]|0)+16>>2]|0)!=0?(a[(c[(c[m>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[g>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0?(Ou(c[g>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[m>>2]|0)+20+28>>2];Ju(c[o>>2]|0,0);Iu(c[o>>2]|0)|0;c[n>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[n>>2]|0)+12>>2]|0)!=(c[(c[g>>2]|0)+12>>2]|0)){Ku(c[o>>2]|0);c[o>>2]=0;break}else{m=(c[m>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-((c[(c[n>>2]|0)+16>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=Qu(c[g>>2]|0,(c[j>>2]|0)==1&1)|0;if((c[o>>2]|0)!=0?(c[k>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+44>>2]|0)>>>0)|0,n=(c[g>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[h>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[g>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2],(c[h>>2]|0)>>>0>(c[(c[g>>2]|0)+32>>2]|0)>>>0):0)c[(c[g>>2]|0)+32>>2]=c[h>>2];c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function Ou(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[424]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[423]|0):0){c[b>>2]=c[431];e=c[b>>2]|0;i=d;return e|0}c[b>>2]=Su()|0;e=c[b>>2]|0;i=d;return e|0}function Pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;g=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;e=k;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)Yj();c[d>>2]=kg(c[g>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Zj();if(!(c[d>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[(c[(c[b>>2]|0)+48>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[j>>2]=a;if(!a)break;c[e>>2]=((c[(c[j>>2]|0)+8>>2]|0)>>>0)%((c[g>>2]|0)>>>0)|0;c[h>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[e>>2]<<2)>>2];c[(c[d>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}Kd(c[(c[b>>2]|0)+48>>2]|0);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[g>>2];i=k;return}function Qu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)k=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?(Ru(c[f>>2]|0)|0)!=0:0){k=4;break}if(c[g>>2]|0)Yj();c[j>>2]=jj(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[j>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Zj();if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);if((k|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){k=(c[c[f>>2]>>2]|0)+16|0;c[k>>2]=(c[k>>2]|0)+1}c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}function Ru(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;d=l+28|0;e=l+24|0;j=l;k=l+20|0;g=l+16|0;f=l+12|0;h=l+8|0;c[e>>2]=b;if(!(c[422]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}Yj();if((c[422]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[422]|0;m=aS(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=j;c[b>>2]=m;c[b+4>>2]=C}else{b=c[422]|0;b=aS(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=j;c[m>>2]=b;c[m+4>>2]=C}o=j;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=aS(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=C;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){n=c[(c[e>>2]|0)+12>>2]|0;n=aS(n|0,((n|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;o=j;c[o>>2]=n;c[o+4>>2]=C}o=j;o=$f(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[k>>2]=o;Zj();a:do if(c[k>>2]|0){o=ag(c[k>>2]|0)|0;c[g>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break a;c[h>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=1;a[(c[h>>2]|0)+14>>0]=0;c[(c[h>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[h>>2];c[k>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;i=l;return o|0}function Su(){return c[79]|0}function Tu(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=JR((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;Rd(7,26399,d);f=c[b>>2]|0;i=e;return f|0}return 0}function Uu(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;KR(c[d>>2]|0);i=b;return}function Vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=MR(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){a=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=a;c[g+4>>2]=((a|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;i=h;return g|0}else{b=Wu(c[d>>2]|0)|0;a=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=a;Rd(7,26363,g);g=c[f>>2]|0;i=h;return g|0}return 0}function Wu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;i=d;return c[c[b>>2]>>2]|0}function Xu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+7&-8|0}function Yu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Zu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function _u(d){d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=d;c[e>>2]=Yb[c[g>>2]&255](1608,0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}c[c[e>>2]>>2]=(c[e>>2]|0)+8;b[(c[e>>2]|0)+8>>1]=0;a[(c[e>>2]|0)+8+2>>0]=0;g=c[e>>2]|0;i=f;return g|0}function $u(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;j=o+8|0;f=o+4|0;g=o;c[m>>2]=b;c[h>>2]=e;a:do switch(d[39282+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[l>>2]=1;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=162;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[h>>2]>>2]=48;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=2;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!((k|0)!=0?(c[j>>2]|0)!=10:0))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=162;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 17:{c[c[h>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 18:{c[c[h>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 19:{c[c[h>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 20:{c[c[h>>2]>>2]=47;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 21:{c[c[h>>2]>>2]=49;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?(d[(c[m>>2]|0)+2>>0]|0)!=0:0){c[l>>2]=3;c[j>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[j>>2]|0)==42?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==47:0)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}if(c[j>>2]|0)c[l>>2]=(c[l>>2]|0)+1;c[c[h>>2]>>2]=162;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=50;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 22:{c[c[h>>2]>>2]=51;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 14:{c[c[h>>2]>>2]=37;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;i=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=39;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}if((c[j>>2]|0)==62){c[c[h>>2]>>2]=36;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==60){c[f>>2]=45;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=40;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=41;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==62){c[f>>2]=46;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=38;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 15:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[f>>2]=163;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=36;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 10:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[f>>2]=44;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=52;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 23:{c[c[h>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 24:{c[c[h>>2]>>2]=43;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 25:{c[c[h>>2]>>2]=54;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 8:{c[f>>2]=d[c[m>>2]>>0];c[l>>2]=1;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)==(c[f>>2]|0)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=(c[f>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}if((c[j>>2]|0)==39){c[c[h>>2]>>2]=97;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if(c[j>>2]|0){c[f>>2]=55;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=163;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}}case 26:{if(d[18403+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4)k=64;else{c[c[h>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}break}case 3:{k=64;break}case 9:{c[l>>2]=1;c[j>>2]=d[c[m>>2]>>0];while(1){if((c[j>>2]|0)==93)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=(c[j>>2]|0)==93?55:163;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 6:{c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}case 5:case 4:{c[g>>2]=0;c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){b=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=b;if(!b)break;if(d[18403+(c[j>>2]&255)>>0]&70)c[g>>2]=(c[g>>2]|0)+1;else{if((c[j>>2]|0)==40&(c[g>>2]|0)>0){k=107;break}if((c[j>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=58)break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}do if((k|0)==107){while(1){c[l>>2]=(c[l>>2]|0)+1;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)!=41?(d[18403+(c[j>>2]&255)>>0]&1|0)==0:0)k=107;else break}if((c[j>>2]|0)==41){c[l>>2]=(c[l>>2]|0)+1;break}else{c[c[h>>2]>>2]=163;break}}while(0);if(!(c[g>>2]|0))c[c[h>>2]>>2]=163;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 1:{c[l>>2]=1;while(1){f=c[l>>2]|0;if((d[39282+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]|0)>1)break;c[l>>2]=f+1}if(d[18403+(d[(c[m>>2]|0)+f>>0]|0)>>0]&70){c[l>>2]=(c[l>>2]|0)+1;break a}c[c[h>>2]>>2]=55;c[n>>2]=Ti(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[h>>2]>>2]=133;c[l>>2]=2;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}if(!((d[(c[m>>2]|0)+f>>0]|0)==39?((c[l>>2]|0)%2|0|0)==0:0))k=131;b:do if((k|0)==131){c[c[h>>2]>>2]=163;while(1){if(!(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==39)break b;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else k=138;break}case 2:{k=138;break}default:{c[c[h>>2]>>2]=163;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}while(0);if((k|0)==64){c[c[h>>2]>>2]=134;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[18403+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=3;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}}while(0);c[l>>2]=0;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}if((d[(c[m>>2]|0)+f>>0]|0)==46){c[l>>2]=(c[l>>2]|0)+1;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=132}if(!((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=69:0))k=82;do if((k|0)==82){if(!(d[18403+(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[18403+(d[(c[m>>2]|0)+((c[l>>2]|0)+2)>>0]|0)>>0]&4))break}c[l>>2]=(c[l>>2]|0)+2;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=132}while(0);while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[c[h>>2]>>2]=163;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else if((k|0)==138)c[l>>2]=1;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=55;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}function av(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;h=l+32|0;n=l+28|0;f=l+24|0;m=l+20|0;j=l+8|0;g=l+4|0;k=l;c[n>>2]=a;c[f>>2]=b;c[m>>2]=e;c[k>>2]=c[n>>2];c[(c[k>>2]|0)+4>>2]=c[m>>2];while(1){c[g>>2]=pv(c[k>>2]|0,c[f>>2]&255)|0;do if((c[g>>2]|0)>>>0>999)if((c[g>>2]|0)>>>0<=1331){rv(c[k>>2]|0,(c[g>>2]|0)-1e3|0);break}else{c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];m=c[k>>2]|0;n=c[f>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];sv(m,n,h);nv(c[k>>2]|0,c[f>>2]&255,j);c[f>>2]=252;break}else{a=c[k>>2]|0;m=c[g>>2]|0;n=c[f>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];qv(a,m,n,h);c[f>>2]=252}while(0);if((c[f>>2]|0)==252){f=9;break}if((c[c[k>>2]>>2]|0)>>>0<=((c[k>>2]|0)+8|0)>>>0){f=9;break}}if((f|0)==9){i=l;return}}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)>>>0<=((c[e>>2]|0)+8|0)>>>0)break;mv(c[e>>2]|0)}Qb[c[d>>2]&255](c[e>>2]|0);i=f;return}function cv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Sf(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+8>>2]|0;if(c[(c[b>>2]|0)+4>>2]|0)c[(c[(c[b>>2]|0)+4>>2]|0)+8>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0)c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]=c[(c[b>>2]|0)+4>>2];c[(c[b>>2]|0)+20>>2]=1443283912;c[c[b>>2]>>2]=0;Tf(c[d>>2]|0,c[b>>2]|0);i=e;return}function dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);ev(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);fv(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}lv(c[d>>2]|0,c[e>>2]|0);i=f;return}function fv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}gv(c[d>>2]|0,c[e>>2]|0,1);i=f;return}function gv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+48>>2];ev(c[e>>2]|0,c[c[f>>2]>>2]|0);hv(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);if(c[(c[f>>2]|0)+64>>2]|0)dv(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);if(c[g>>2]|0)Tf(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}i=j;return}function hv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=j;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Tf(a,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1)Tf(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)ev(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Rf(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);fv(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);iv(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);kv(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Tf(a,c[f>>2]|0);i=j;return}function iv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}jv(c[d>>2]|0,c[e>>2]|0);i=f;return}function jv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(c[(c[f>>2]|0)+4>>2]&8404992)){if((c[(c[f>>2]|0)+12>>2]|0)!=0?(d[c[f>>2]>>0]|0|0)!=159:0)jv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);a=c[e>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){fv(a,c[b>>2]|0);break}else{ev(a,c[b>>2]|0);break}}while(0);if(c[(c[f>>2]|0)+4>>2]&65536)Tf(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0);if(c[(c[f>>2]|0)+4>>2]&32768){i=g;return}Tf(c[e>>2]|0,c[f>>2]|0);i=g;return}function kv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Tf(a,c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(a,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function lv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;iv(a,c[c[g>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Tf(a,c[(c[e>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function mv(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-16;c[e>>2]=b;nv(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);i=d;return}function nv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+8|0;k=j+12|0;g=j+4|0;h=j;c[l>>2]=b;a[k>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];do switch(d[k>>0]|0|0){case 206:case 195:case 194:case 163:{fv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 173:case 172:{iv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 226:case 224:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{ev(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 212:case 211:case 200:case 193:{hv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 250:case 196:{dv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 241:case 236:case 227:case 225:case 215:case 203:case 201:{iv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 220:case 217:case 216:{kv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 237:case 232:{ov(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 234:{kv(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=j;return}default:{i=j;return}}while(0)}function ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];iv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);ev(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);fv(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);kv(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0)}i=g;return}function pv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+16|0;q=p+12|0;j=p+21|0;k=p+8|0;n=p+4|0;l=p+20|0;m=p;c[q>>2]=f;a[j>>0]=g;c[n>>2]=e[c[c[q>>2]>>2]>>1];if((c[n>>2]|0)>=1e3){c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}while(1){c[k>>2]=b[14594+(c[n>>2]<<1)>>1];c[k>>2]=(c[k>>2]|0)+(d[j>>0]|0);if(!((c[k>>2]|0)<0|(c[k>>2]|0)>=1567)?(d[37619+(c[k>>2]|0)>>0]|0)==(d[j>>0]|0):0){o=13;break}if((d[j>>0]|0)>>>0>=96)break;q=a[39186+(d[j>>0]|0)>>0]|0;a[l>>0]=q;if(!(q&255))break;a[j>>0]=a[l>>0]|0}if((o|0)==13){c[h>>2]=e[11456+(c[k>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[m>>2]=(c[k>>2]|0)-(d[j>>0]|0)+96;if(((c[m>>2]|0)<1567?(d[37619+(c[m>>2]|0)>>0]|0)==96:0)?(d[j>>0]|0)>0:0){c[h>>2]=e[11456+(c[m>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[h>>2]=e[15506+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}function qv(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+16;if((c[c[h>>2]>>2]|0)>>>0>=((c[h>>2]|0)+8+1600|0)>>>0){tv(c[h>>2]|0);i=m;return}if((c[j>>2]|0)>455)c[j>>2]=(c[j>>2]|0)+332;c[l>>2]=c[c[h>>2]>>2];b[c[l>>2]>>1]=c[j>>2];a[(c[l>>2]|0)+2>>0]=c[k>>2];l=(c[l>>2]|0)+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];i=m;return}function rv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=i;i=i+288|0;h=fa+280|0;T=fa+40|0;S=fa+32|0;V=fa+24|0;U=fa+16|0;Z=fa+8|0;R=fa;$=fa+276|0;aa=fa+272|0;ca=fa+268|0;ba=fa+264|0;da=fa+260|0;ea=fa+256|0;_=fa+252|0;X=fa+240|0;P=fa+228|0;Q=fa+216|0;m=fa+192|0;o=fa+188|0;D=fa+184|0;v=fa+180|0;s=fa+176|0;W=fa+168|0;E=fa+164|0;t=fa+160|0;q=fa+156|0;F=fa+152|0;u=fa+148|0;r=fa+144|0;A=fa+140|0;B=fa+136|0;I=fa+132|0;J=fa+128|0;L=fa+124|0;K=fa+120|0;M=fa+116|0;N=fa+112|0;O=fa+108|0;n=fa+104|0;Y=fa+96|0;w=fa+92|0;y=fa+88|0;k=fa+84|0;z=fa+80|0;l=fa+76|0;x=fa+72|0;C=fa+68|0;H=fa+64|0;G=fa+60|0;p=fa+56|0;j=fa+48|0;c[$>>2]=f;c[aa>>2]=g;c[_>>2]=c[(c[$>>2]|0)+4>>2];c[da>>2]=c[c[$>>2]>>2];if((d[26486+(c[aa>>2]<<1)+1>>0]|0)==0?(c[c[$>>2]>>2]|0)>>>0>=((c[$>>2]|0)+8+1584|0)>>>0:0){tv(c[$>>2]|0);i=fa;return}a:do switch(c[aa>>2]|0){case 0:{a[(c[_>>2]|0)+409>>0]=1;break}case 1:{a[(c[_>>2]|0)+409>>0]=2;break}case 2:{uv(c[_>>2]|0);break}case 3:{vv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 4:{c[(c[da>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 9:case 8:{wv(c[_>>2]|0);break}case 10:{xv(c[_>>2]|0);break}case 11:{yv(c[_>>2]|0,0,(c[da>>2]|0)+4|0);break}case 12:{yv(c[_>>2]|0,1,(c[da>>2]|0)+4|0);break}case 13:{yv(c[_>>2]|0,2,(c[da>>2]|0)+4|0);break}case 14:{zv(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 15:{Av(c[_>>2]|0);break}case 215:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 17:{c[(c[da>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{c[(c[da>>2]|0)+4>>2]=1;break}case 20:{Bv(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,c[(c[da>>2]|0)+4>>2]&255,0);break}case 21:{Bv(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+4>>2]|0);fv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 23:{if((c[(c[da>>2]|0)+4+4>>2]|0)==5?(zd(c[(c[da>>2]|0)+4>>2]|0,24745,5)|0)==0:0){c[(c[da>>2]|0)+-16+4>>2]=96;break a}c[(c[da>>2]|0)+-16+4>>2]=0;_=c[_>>2]|0;Z=c[(c[da>>2]|0)+4>>2]|0;c[R>>2]=c[(c[da>>2]|0)+4+4>>2];c[R+4>>2]=Z;Eh(_,27150,R);break}case 24:{Cv(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 96:case 60:case 25:{c[(c[da>>2]|0)+16+4+4>>2]=0;c[(c[da>>2]|0)+16+4>>2]=0;break}case 26:{c[(c[da>>2]|0)+-48+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0);break}case 27:{c[(c[da>>2]|0)+-80+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-80+4>>2]|0);break}case 28:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[da>>2]|0)+4+4>>2]|0)+((c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{_=(c[_>>2]|0)+84|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 32:case 30:{Dv(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 31:{Dv(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 33:{c[P>>2]=Ev(c[_>>2]|0,155,c[(c[da>>2]|0)+4>>2]|0,0,0)|0;c[P+4>>2]=c[(c[da>>2]|0)+-16+4>>2];c[P+8>>2]=c[(c[da>>2]|0)+4+8>>2];Dv(c[_>>2]|0,P);break}case 34:{Z=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];Fv(Q,Z,97,h);Dv(c[_>>2]|0,Q);break}case 35:{Gv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 36:{Hv(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 37:{Iv(c[_>>2]|0,0,0,0,0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 38:{Jv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 39:{Kv(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 40:{Lv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 41:{Mv(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 44:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 45:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+-16+4>>2]&~c[(c[da>>2]|0)+4+4>>2]|c[(c[da>>2]|0)+4>>2];break}case 46:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 47:{c[(c[da>>2]|0)+-32+4>>2]=0;c[(c[da>>2]|0)+-32+4+4>>2]=0;break}case 48:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-32+4+4>>2]=255;break}case 49:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2]<<8;c[(c[da>>2]|0)+-32+4+4>>2]=65280;break}case 50:{c[(c[da>>2]|0)+-16+4>>2]=7;break}case 51:{c[(c[da>>2]|0)+-16+4>>2]=8;break}case 52:{c[(c[da>>2]|0)+4>>2]=9;break}case 53:{c[(c[da>>2]|0)+4>>2]=6;break}case 54:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 55:{c[(c[da>>2]|0)+-32+4>>2]=0;break}case 144:case 71:case 56:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 216:case 190:case 187:case 75:case 58:{c[(c[da>>2]|0)+-16+4>>2]=1;break}case 59:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 61:{c[(c[_>>2]|0)+84+4>>2]=0;break}case 63:{Hv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,0);break}case 64:{Iv(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 65:{Jv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 66:{Kv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);Lv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 70:case 68:{c[(c[da>>2]|0)+16+4>>2]=10;break}case 69:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 72:{c[(c[da>>2]|0)+4>>2]=4;break}case 145:case 73:{c[(c[da>>2]|0)+4>>2]=5;break}case 74:{Nv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 77:{Ov(c[_>>2]|0,(c[da>>2]|0)+-128+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 78:{Nv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,1,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 79:{c[m>>2]=c[1063];c[m+4>>2]=c[1064];c[m+8>>2]=c[1065];c[m+12>>2]=c[1066];c[m+16>>2]=c[1067];c[m+20>>2]=c[1068];Pv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,m)|0;fv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 80:{c[o>>2]=c[(c[da>>2]|0)+4>>2];if(c[o>>2]|0){c[(c[o>>2]|0)+64>>2]=c[(c[da>>2]|0)+-16+4>>2];Qv(c[_>>2]|0,c[o>>2]|0)}else dv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);c[(c[da>>2]|0)+-16+4>>2]=c[o>>2];break}case 81:{c[D>>2]=c[(c[da>>2]|0)+4>>2];c[v>>2]=c[(c[da>>2]|0)+-32+4>>2];if((c[D>>2]|0)!=0?(c[(c[D>>2]|0)+48>>2]|0)!=0:0){c[W+4>>2]=0;Qv(c[_>>2]|0,c[D>>2]|0);c[s>>2]=Rv(c[_>>2]|0,0,0,0,W,c[D>>2]|0,0,0)|0;c[D>>2]=Sv(c[_>>2]|0,0,c[s>>2]|0,0,0,0,0,0,0,0)|0}if(c[D>>2]|0){a[(c[D>>2]|0)+4>>0]=c[(c[da>>2]|0)+-16+4>>2];c[(c[D>>2]|0)+48>>2]=c[v>>2];if(c[v>>2]|0){Z=(c[v>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025}Z=(c[D>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025;if((c[(c[da>>2]|0)+-16+4>>2]|0)!=116)a[(c[_>>2]|0)+22>>0]=1}else fv(c[c[_>>2]>>2]|0,c[v>>2]|0);c[(c[da>>2]|0)+-32+4>>2]=c[D>>2];break}case 84:case 82:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 83:{c[(c[da>>2]|0)+-16+4>>2]=116;break}case 85:{_=Sv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+4+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=_;break}case 86:{_=Sv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 87:{c[t>>2]=c[(c[da>>2]|0)+-64+4>>2];c[E>>2]=Sv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;if(c[t>>2]|0){_=(c[t>>2]|0)+8|0;c[_>>2]=c[_>>2]&-1025}if(c[E>>2]|0){a[(c[E>>2]|0)+4>>0]=116;c[(c[E>>2]|0)+48>>2]=c[t>>2];c[(c[da>>2]|0)+-64+4>>2]=c[E>>2];break a}else{c[(c[da>>2]|0)+-64+4>>2]=c[t>>2];break a}}case 88:{c[(c[da>>2]|0)+4>>2]=1;break}case 89:{c[(c[da>>2]|0)+4>>2]=2;break}case 211:case 206:case 203:case 126:case 119:case 91:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 92:{Z=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;if((c[(c[da>>2]|0)+4+4>>2]|0)>>>0>0)Uv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1);Vv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 93:{c[q>>2]=Wv(c[c[_>>2]>>2]|0,160,0)|0;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[q>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 94:{c[F>>2]=Ev(c[_>>2]|0,160,0,0,0)|0;c[u>>2]=Ev(c[_>>2]|0,55,0,0,(c[da>>2]|0)+-32+4|0)|0;c[r>>2]=Ev(c[_>>2]|0,122,c[u>>2]|0,c[F>>2]|0,0)|0;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[r>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 226:case 225:case 106:case 95:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 97:{_=sh(c[c[_>>2]>>2]|0,80,0)|0;c[(c[da>>2]|0)+16+4>>2]=_;break}case 98:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];Xv(c[(c[da>>2]|0)+-16+4>>2]|0);break}case 99:{if((c[(c[da>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>0:0)a[(c[(c[da>>2]|0)+-16+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[da>>2]|0)+4>>2];break}case 100:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 101:{Z=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;Yv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-32+4|0);break}case 102:{Z=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=Z;Zv(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 103:{_=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 104:{if((((c[(c[da>>2]|0)+-96+4>>2]|0)==0?(c[(c[da>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+4>>2]|0)==0:0){c[(c[da>>2]|0)+-96+4>>2]=c[(c[da>>2]|0)+-64+4>>2];break a}if((c[c[(c[da>>2]|0)+-64+4>>2]>>2]|0)!=1){Xv(c[(c[da>>2]|0)+-64+4>>2]|0);c[I>>2]=Sv(c[_>>2]|0,0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;_=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[I>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break a}Z=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;if(c[(c[da>>2]|0)+-96+4>>2]|0){c[A>>2]=(c[(c[da>>2]|0)+-96+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);c[B>>2]=(c[(c[da>>2]|0)+-64+4>>2]|0)+8;c[(c[A>>2]|0)+8>>2]=c[(c[B>>2]|0)+8>>2];c[(c[A>>2]|0)+4>>2]=c[(c[B>>2]|0)+4>>2];c[(c[A>>2]|0)+20>>2]=c[(c[B>>2]|0)+20>>2];c[(c[B>>2]|0)+4>>2]=0;c[(c[B>>2]|0)+8>>2]=0;c[(c[B>>2]|0)+20>>2]=0}hv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 107:{_=_v(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 108:{c[(c[da>>2]|0)+4>>2]=1;break}case 109:{_=$v(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,0,0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 110:{_=$v(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 111:{_=$v(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 199:case 136:case 129:case 112:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 202:case 200:case 135:case 128:case 113:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 115:{_=(c[da>>2]|0)+-32+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 116:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=1;break}case 117:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 146:case 118:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 127:case 120:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 121:{_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;aw(c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 122:{_=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;aw(c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 123:{c[(c[da>>2]|0)+4>>2]=0;break}case 124:{c[(c[da>>2]|0)+4>>2]=1;break}case 125:{c[(c[da>>2]|0)+16+4>>2]=-1;break}case 130:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 131:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 132:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 133:{c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 134:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);Yv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);cw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 137:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,1);Yv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-48+4|0);dw(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,27177);ew(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 138:{Z=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;Uv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,1);break}case 139:{_=fw(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 140:{c[X>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;Uv(c[_>>2]|0,c[X>>2]|0,(c[da>>2]|0)+-32+4|0,1);c[(c[da>>2]|0)+-32+4>>2]=c[X>>2];break}case 141:{_=fw(c[_>>2]|0,0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 142:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);gw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 143:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,1);gw(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 147:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 148:{_=hw(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 149:{_=hw(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 150:{iw((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 157:case 156:case 151:{Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;_=d[(c[da>>2]|0)+2>>0]|0;g=(c[da>>2]|0)+4|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];Fv(Y,Z,_,h);break}case 153:case 152:{Z=(c[da>>2]|0)+4|0;_=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];Fv(Z,_,55,h);break}case 154:{c[J>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[L>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;iw((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,122,c[J>>2]|0,c[L>>2]|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 155:{c[K>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-64+4|0,1)|0;c[M>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[N>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;c[O>>2]=Ev(c[_>>2]|0,122,c[M>>2]|0,c[N>>2]|0,0)|0;iw((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,122,c[K>>2]|0,c[O>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 158:{c[X>>2]=jw(c[c[_>>2]>>2]|0,134,(c[da>>2]|0)+4|0,1)|0;c[X+4>>2]=c[(c[da>>2]|0)+4>>2];c[X+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);if(c[X>>2]|0){_=(c[X>>2]|0)+4|0;c[_>>2]=c[_>>2]|8388608}_=(c[da>>2]|0)+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 159:{if((a[c[(c[da>>2]|0)+4>>2]>>0]|0)==35?(d[18403+(d[(c[(c[da>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h=(c[da>>2]|0)+4|0;c[Y>>2]=c[h>>2];c[Y+4>>2]=c[h+4>>2];iw((c[da>>2]|0)+4|0,Y,Y);h=c[_>>2]|0;if(!(d[(c[_>>2]|0)+18>>0]|0)){c[Z>>2]=Y;Eh(h,26462,Z);c[(c[da>>2]|0)+4>>2]=0;break a}_=Ev(h,157,0,0,0)|0;c[(c[da>>2]|0)+4>>2]=_;if(!(c[(c[da>>2]|0)+4>>2]|0))break a;Qi((c[Y>>2]|0)+1|0,(c[(c[da>>2]|0)+4>>2]|0)+28|0)|0;break a}c[n>>2]=c[(c[da>>2]|0)+4+4>>2];Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;g=(c[da>>2]|0)+4|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];Fv(Y,Z,135,h);kw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[n>>2]|0);break}case 160:{_=lw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1)|0;c[(c[da>>2]|0)+-32+4>>2]=_;c[(c[da>>2]|0)+-32+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 161:{iw((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,66,c[(c[da>>2]|0)+-48+4>>2]|0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 162:{if((c[(c[da>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[_>>2]>>2]|0)+96+24>>2]|0):0){Z=c[_>>2]|0;c[U>>2]=(c[da>>2]|0)+-64+4;Eh(Z,27186,U)}c[X>>2]=mw(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,(c[da>>2]|0)+-64+4|0)|0;iw(X,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);if((c[(c[da>>2]|0)+-32+4>>2]|0)==1?(c[X>>2]|0)!=0:0){_=(c[X>>2]|0)+4|0;c[_>>2]=c[_>>2]|16}_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 163:{c[X>>2]=mw(c[_>>2]|0,0,(c[da>>2]|0)+-48+4|0)|0;iw(X,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+-48+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 164:{c[X>>2]=mw(c[_>>2]|0,0,(c[da>>2]|0)+4|0)|0;iw(X,(c[da>>2]|0)+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 165:{c[w>>2]=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[X>>2]=Ev(c[_>>2]|0,158,0,0,0)|0;if(c[X>>2]|0){c[(c[X>>2]|0)+20>>2]=c[w>>2];iw(X,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0)}else ev(c[c[_>>2]>>2]|0,c[w>>2]|0);_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 173:case 172:case 171:case 170:case 169:case 168:case 167:case 166:{nw(c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 174:{_=(c[da>>2]|0)+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 175:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];_=(c[da>>2]|0)+-16+4+4|0;c[_>>2]=c[_>>2]|-2147483648;break}case 176:{c[k>>2]=c[(c[da>>2]|0)+-16+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-16+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[y>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[y>>2]=Tv(c[_>>2]|0,c[y>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;Z=mw(c[_>>2]|0,c[y>>2]|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;ow(c[_>>2]|0,c[k>>2]|0,(c[da>>2]|0)+-32+4|0);c[(c[da>>2]|0)+-32+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-32+4>>2]|0){_=(c[(c[da>>2]|0)+-32+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 177:{c[l>>2]=c[(c[da>>2]|0)+-48+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-48+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[z>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[z>>2]=Tv(c[_>>2]|0,c[z>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)|0;c[z>>2]=Tv(c[_>>2]|0,c[z>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=mw(c[_>>2]|0,c[z>>2]|0,(c[da>>2]|0)+-48+4|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;ow(c[_>>2]|0,c[l>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-64+4>>2]|0){_=(c[(c[da>>2]|0)+-64+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 178:{pw(c[_>>2]|0,d[(c[da>>2]|0)+2>>0]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 179:{pw(c[_>>2]|0,35,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 180:{nw(c[_>>2]|0,29,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);qw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,34);break}case 181:{nw(c[_>>2]|0,148,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);qw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,35);break}case 183:case 182:{rw((c[da>>2]|0)+-16+4|0,c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 184:{rw((c[da>>2]|0)+-16+4|0,c[_>>2]|0,155,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 185:{rw((c[da>>2]|0)+-16+4|0,c[_>>2]|0,156,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 189:case 186:{c[(c[da>>2]|0)+4>>2]=0;break}case 188:{c[x>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[x>>2]=Tv(c[_>>2]|0,c[x>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=Ev(c[_>>2]|0,32,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0)c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[x>>2];else ev(c[c[_>>2]>>2]|0,c[x>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];break}case 191:{do if(!(c[(c[da>>2]|0)+-16+4>>2]|0)){iv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);_=Ev(c[_>>2]|0,134,0,0,4276+(c[(c[da>>2]|0)+-48+4>>2]<<3)|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_}else{if((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)==1){c[C>>2]=c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;ev(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);if(c[C>>2]|0){Z=(c[C>>2]|0)+4|0;c[Z>>2]=c[Z>>2]&-257;Z=(c[C>>2]|0)+4|0;c[Z>>2]=c[Z>>2]|512}_=Ev(c[_>>2]|0,(c[(c[da>>2]|0)+-48+4>>2]|0)!=0?36:37,c[(c[da>>2]|0)+-64+4>>2]|0,c[C>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}Z=Ev(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0){c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[da>>2]|0)+-16+4>>2];sw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)}else ev(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0)}while(0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 192:{iw((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);Z=Ev(c[_>>2]|0,119,0,0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;tw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 193:{Z=Ev(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;tw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 194:{c[H>>2]=_v(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[G>>2]=Sv(c[_>>2]|0,0,c[H>>2]|0,0,0,0,0,0,0,0)|0;if(c[(c[da>>2]|0)+4>>2]|0)Zv(c[_>>2]|0,(c[G>>2]|0)!=0?c[H>>2]|0:0,c[(c[da>>2]|0)+4>>2]|0);h=Ev(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=h;tw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[G>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);h=c[da>>2]|0;if(c[(c[da>>2]|0)+-16+4>>2]|0)h=(c[(c[da>>2]|0)+-16+4>>2]|0)+(c[h+-16+4+4>>2]|0)|0;else h=(c[(c[da>>2]|0)+-32+4>>2]|0)+(c[h+-32+4+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4+8>>2]=h;break}case 195:{iw((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);Z=Ev(c[_>>2]|0,20,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;c[p>>2]=Z;tw(c[_>>2]|0,c[p>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 196:{iw((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);Z=Ev(c[_>>2]|0,136,c[(c[da>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(!(c[(c[da>>2]|0)+-64+4>>2]|0)){ev(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);iv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break a}if(c[(c[da>>2]|0)+-16+4>>2]|0)h=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[da>>2]|0)+-32+4>>2]|0;c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=h;sw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 197:{Z=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 198:{Z=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 201:{c[(c[da>>2]|0)+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 204:{_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 205:{_=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 212:case 207:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 208:{Iv(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,_v(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-64+4|0,0)|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,(c[da>>2]|0)+-176+4|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-128+4>>2]|0,0);break}case 250:case 209:{c[(c[da>>2]|0)+4>>2]=2;break}case 210:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 213:{_=uw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 214:{_=uw(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 217:{vw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 218:{ww(c[_>>2]|0,0);break}case 219:{ww(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 220:{xw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,0,0);break}case 221:{xw(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,0);break}case 222:{xw(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,0);break}case 223:{xw(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,1);break}case 224:{xw(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,1);break}case 227:{c[j>>2]=c[(c[da>>2]|0)+-48+4>>2];c[j+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);yw(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,j);break}case 228:{zw(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-64+4+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0);h=(c[da>>2]|0)+-160+4|0;j=c[da>>2]|0;if(!(c[(c[da>>2]|0)+-96+4+4>>2]|0)){_=j+-112+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}else{_=j+-96+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}}case 229:{c[(c[da>>2]|0)+4>>2]=63;break}case 230:{c[(c[da>>2]|0)+4>>2]=59;break}case 231:{c[(c[da>>2]|0)+-16+4>>2]=77;break}case 232:{c[(c[da>>2]|0)+16+4>>2]=63;break}case 234:case 233:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];c[(c[da>>2]|0)+4+4>>2]=0;break}case 235:{c[(c[da>>2]|0)+-32+4>>2]=110;c[(c[da>>2]|0)+-32+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 255:case 236:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 256:case 237:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 238:{c[(c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[da>>2]|0)+-16+4>>2];c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 239:{c[(c[(c[da>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 240:{Z=(c[da>>2]|0)+-32+4|0;Y=(c[da>>2]|0)+4|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];Eh(c[_>>2]|0,27220,V);break}case 241:{Eh(c[_>>2]|0,27315,S);break}case 242:{Eh(c[_>>2]|0,27399,T);break}case 243:{_=Aw(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-64+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]&255)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 244:{_=Bw(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]&255)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 245:{_=Cw(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 246:{_=Dw(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 247:{iw((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,83,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;if(c[(c[da>>2]|0)+-48+4>>2]|0)a[(c[(c[da>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 248:{iw((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,83,0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;if(c[(c[da>>2]|0)+-80+4>>2]|0)a[(c[(c[da>>2]|0)+-80+4>>2]|0)+1>>0]=c[(c[da>>2]|0)+-48+4>>2];break}case 249:{c[(c[da>>2]|0)+4>>2]=1;break}case 251:{c[(c[da>>2]|0)+4>>2]=3;break}case 252:{Ew(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 253:{Fw(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 254:{Gw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 257:{Hw(c[_>>2]|0,0,0);break}case 258:{Hw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 259:{Iw(c[_>>2]|0,0,0);break}case 260:{Iw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 261:{Jw(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+4|0);break}case 262:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[_>>2]|0)+392>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0)+(c[(c[_>>2]|0)+392+4>>2]|0);Kw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 263:{Av(c[_>>2]|0);Lw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 264:{Mw(c[_>>2]|0,0);break}case 265:{Mw(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 266:{Nw(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 267:{Ow(c[_>>2]|0);break}case 270:case 269:case 268:{Pw(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 271:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 272:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 273:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 274:{_=Qw(c[_>>2]|0,0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 275:{_=Qw(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-112+4>>2]=_;break}default:{}}while(0);c[ca>>2]=d[26486+(c[aa>>2]<<1)>>0];c[ea>>2]=d[26486+(c[aa>>2]<<1)+1>>0];c[ba>>2]=Rw(e[(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4)>>1]|0,c[ca>>2]&255)|0;if((c[ba>>2]|0)>999){da=c[$>>2]|0;c[da>>2]=(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4);Sw(c[$>>2]|0);i=fa;return}if((c[ba>>2]|0)>455)c[ba>>2]=(c[ba>>2]|0)+332;c[da>>2]=(c[da>>2]|0)+(0-((c[ea>>2]|0)-1)<<4);c[c[$>>2]>>2]=c[da>>2];b[c[da>>2]>>1]=c[ba>>2];a[(c[da>>2]|0)+2>>0]=c[ca>>2];i=fa;return}function sv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];a=c[g>>2]|0;c[h>>2]=d;Eh(a,26462,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];i=e;return}function tv(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-16;while(1){if((c[c[b>>2]>>2]|0)>>>0<=((c[b>>2]|0)+8|0)>>>0)break;mv(c[b>>2]|0)}Eh(c[d>>2]|0,37597,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];i=f;return}function uv(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;l=n+20|0;h=n+16|0;g=n+12|0;k=n+8|0;m=n+4|0;j=n;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){i=n;return}if((d[(c[f>>2]|0)+69>>0]|0)==0?(c[(c[e>>2]|0)+36>>2]|0)==0:0){c[l>>2]=dx(c[e>>2]|0)|0;do if((c[l>>2]|0)!=0?(fx(c[l>>2]|0,75)|0,(d[(c[f>>2]|0)+69>>0]|0)==0):0){if((c[(c[e>>2]|0)+96>>2]|0)==0?(c[(c[e>>2]|0)+80>>2]|0)==0:0)break;Zz(c[l>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0)!=0?(Lh(c[l>>2]|0,c[h>>2]|0),c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2],Ih(c[l>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+92>>2]&1<>2]|0)!=0&1,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+148+5>>0]|0)==0):0)Jh(c[l>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+412>>2]|0))break;c[m>>2]=Ux(c[f>>2]|0,c[(c[(c[e>>2]|0)+460>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;mx(c[l>>2]|0,152,0,0,0,c[m>>2]|0,-10)|0;c[g>>2]=(c[g>>2]|0)+1}c[(c[e>>2]|0)+412>>2]=0;PH(c[e>>2]|0);QH(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+80>>2]|0){c[j>>2]=c[(c[e>>2]|0)+80>>2];a[(c[e>>2]|0)+23>>0]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[j>>2]>>2]|0))break a;RA(c[e>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Yz(c[l>>2]|0,1)|0}while(0);if(((c[l>>2]|0)!=0?(c[(c[e>>2]|0)+36>>2]|0)==0:0)?(a[(c[f>>2]|0)+69>>0]|0)==0:0){if((c[(c[e>>2]|0)+120>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)==0:0)c[(c[e>>2]|0)+40>>2]=1;Nh(c[l>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;i=n;return}c[(c[e>>2]|0)+12>>2]=1;i=n;return}if(c[(c[e>>2]|0)+12>>2]|0){i=n;return}c[(c[e>>2]|0)+12>>2]=1;i=n;return}function vv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(ax(c[d>>2]|0,22,37527,0,0)|0){i=j;return}c[h>>2]=dx(c[d>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}a:do if((c[e>>2]|0)!=7){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;ix(c[h>>2]|0,2,c[g>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;Lh(c[h>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);fx(c[h>>2]|0,1)|0;i=j;return}function wv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(ax(c[b>>2]|0,22,37550,0,0)|0){i=e;return}c[d>>2]=dx(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Sz(c[d>>2]|0,1,1)|0;i=e;return}function xv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(ax(c[b>>2]|0,22,37541,0,0)|0){i=e;return}c[d>>2]=dx(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}ix(c[d>>2]|0,1,1,1)|0;i=e;return}function yv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=Tw(c[c[e>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}c[g>>2]=dx(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(ax(c[e>>2]|0,32,c[5512+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){mx(c[g>>2]|0,0,c[f>>2]|0,0,0,c[h>>2]|0,-1)|0;i=j;return}Tf(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}function zv(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;m=J+92|0;n=J+88|0;o=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;r=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;p=J+36|0;q=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;c[w>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;c[H>>2]=0;c[A>>2]=c[c[w>>2]>>2];if((d[(c[A>>2]|0)+148+5>>0]|0)!=0?(c[(c[A>>2]|0)+148>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+148+4>>0];c[H>>2]=qh(c[A>>2]|0,(c[I>>2]|0)==1?19905:19924)|0;c[B>>2]=c[m>>2]}else{c[I>>2]=Oz(c[w>>2]|0,c[m>>2]|0,c[n>>2]|0,B)|0;if((c[I>>2]|0)<0){i=J;return}if((c[o>>2]|0)!=0?((c[I>>2]|0)!=1?(c[(c[n>>2]|0)+4>>2]|0)>>>0>0:0):0){Eh(c[w>>2]|0,37417,s);i=J;return}if(c[o>>2]|0)c[I>>2]=1;c[H>>2]=Tw(c[A>>2]|0,c[B>>2]|0)|0}s=(c[w>>2]|0)+384|0;e=c[B>>2]|0;c[s>>2]=c[e>>2];c[s+4>>2]=c[e+4>>2];if(!(c[H>>2]|0)){i=J;return}a:do if(!(Sx(c[w>>2]|0,c[H>>2]|0)|0)){if((d[(c[A>>2]|0)+148+4>>0]|0)==1)c[o>>2]=1;c[u>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(ax(c[w>>2]|0,18,(c[o>>2]|0)==1?19905:19924,0,c[u>>2]|0)|0)){if((c[y>>2]|0)==0?(ax(c[w>>2]|0,d[37458+((c[o>>2]|0)+(c[x>>2]<<1))>>0]|0,c[H>>2]|0,0,c[u>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+410>>0]|0)){c[v>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(Kz(c[w>>2]|0)|0)break a;c[r>>2]=ti(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0;if(!(c[r>>2]|0)){if(!(Kj(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0))break;I=c[w>>2]|0;c[t>>2]=c[H>>2];Eh(I,37486,t);break a}m=c[w>>2]|0;if(c[z>>2]|0){sx(m,c[I>>2]|0);break a}else{c[G>>2]=c[B>>2];Eh(m,37462,G);break a}}while(0);c[r>>2]=sh(c[A>>2]|0,72,0)|0;if(!(c[r>>2]|0)){c[(c[w>>2]|0)+12>>2]=7;I=(c[w>>2]|0)+36|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[r>>2]>>2]=c[H>>2];b[(c[r>>2]|0)+32>>1]=-1;c[(c[r>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[r>>2]|0)+36>>1]=1;b[(c[r>>2]|0)+38>>1]=200;c[(c[w>>2]|0)+440>>2]=c[r>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(hR(c[H>>2]|0,28817)|0)==0:0)c[(c[(c[r>>2]|0)+64>>2]|0)+72>>2]=c[r>>2];if(a[(c[A>>2]|0)+148+5>>0]|0){i=J;return}H=dx(c[w>>2]|0)|0;c[F>>2]=H;if(!H){i=J;return}rx(c[w>>2]|0,1,c[I>>2]|0);if(c[y>>2]|0)fx(c[F>>2]|0,152)|0;H=(c[w>>2]|0)+44|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[(c[w>>2]|0)+100>>2]=m;c[C>>2]=m;m=(c[w>>2]|0)+44|0;H=(c[m>>2]|0)+1|0;c[m>>2]=H;c[(c[w>>2]|0)+104>>2]=H;c[D>>2]=H;H=(c[w>>2]|0)+44|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[E>>2]=m;jx(c[F>>2]|0,101,c[I>>2]|0,c[E>>2]|0,2)|0;Lh(c[F>>2]|0,c[I>>2]|0);c[p>>2]=Sz(c[F>>2]|0,21,c[E>>2]|0)|0;c[q>>2]=(c[(c[A>>2]|0)+24>>2]&32768|0)!=0?1:4;jx(c[F>>2]|0,102,c[I>>2]|0,2,c[q>>2]|0)|0;jx(c[F>>2]|0,102,c[I>>2]|0,5,d[(c[A>>2]|0)+66>>0]|0)|0;Zz(c[F>>2]|0,c[p>>2]|0);m=c[F>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0)ix(m,76,0,c[D>>2]|0)|0;else{H=ix(m,135,c[I>>2]|0,c[D>>2]|0)|0;c[(c[w>>2]|0)+132>>2]=H}OH(c[w>>2]|0,c[I>>2]|0);ix(c[F>>2]|0,114,0,c[C>>2]|0)|0;mx(c[F>>2]|0,81,6,c[E>>2]|0,0,37521,-2)|0;jx(c[F>>2]|0,115,0,c[E>>2]|0,c[C>>2]|0)|0;Jh(c[F>>2]|0,8);fx(c[F>>2]|0,111)|0;i=J;return}}while(0);Tf(c[A>>2]|0,c[H>>2]|0);i=J;return}function Av(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=d;return}function Bv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;k=R+200|0;l=R+196|0;m=R+192|0;n=R+204|0;o=R+188|0;w=R+184|0;r=R+180|0;t=R+176|0;z=R+172|0;u=R+168|0;G=R+164|0;P=R+160|0;Q=R+156|0;O=R+152|0;s=R+128|0;F=R+120|0;q=R+116|0;D=R+112|0;E=R+108|0;p=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;c[o>>2]=j;c[r>>2]=c[c[k>>2]>>2];if((c[m>>2]|0)==0&(c[o>>2]|0)==0){i=R;return}c[w>>2]=c[(c[k>>2]|0)+440>>2];if(!(c[w>>2]|0)){i=R;return}if((a[(c[r>>2]|0)+148+5>>0]|0)!=0?(c[(c[w>>2]|0)+28>>2]=c[(c[r>>2]|0)+148>>2],(c[(c[w>>2]|0)+28>>2]|0)==1):0){h=(c[w>>2]|0)+42|0;a[h>>0]=d[h>>0]|1}do if(d[n>>0]&32){if(d[(c[w>>2]|0)+42>>0]&8){Eh(c[k>>2]|0,37098,H);i=R;return}if(!(d[(c[w>>2]|0)+42>>0]&4)){H=c[k>>2]|0;c[J>>2]=c[c[w>>2]>>2];Eh(H,37148,J);break}else{J=(c[w>>2]|0)+42|0;a[J>>0]=d[J>>0]|96;IH(c[k>>2]|0,c[w>>2]|0);break}}while(0);c[t>>2]=Fh(c[r>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;if(c[(c[w>>2]|0)+24>>2]|0)BH(c[k>>2]|0,c[w>>2]|0,4,0,c[(c[w>>2]|0)+24>>2]|0);JH(c[w>>2]|0);c[z>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;EH(c[z>>2]|0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(!(a[(c[r>>2]|0)+148+5>>0]|0)){c[G>>2]=dx(c[k>>2]|0)|0;if(!(c[G>>2]|0)){i=R;return}Sz(c[G>>2]|0,111,0)|0;if(!(c[(c[w>>2]|0)+12>>2]|0)){c[P>>2]=32993;c[Q>>2]=37180}else{c[P>>2]=36058;c[Q>>2]=37186}do if(c[o>>2]|0){H=(c[k>>2]|0)+44|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[F>>2]=J;J=(c[k>>2]|0)+44|0;H=(c[J>>2]|0)+1|0;c[J>>2]=H;c[D>>2]=H;H=(c[k>>2]|0)+44|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[E>>2]=J;Vx(c[k>>2]|0);jx(c[G>>2]|0,105,1,c[(c[k>>2]|0)+104>>2]|0,c[t>>2]|0)|0;Jh(c[G>>2]|0,16);c[(c[k>>2]|0)+40>>2]=2;c[q>>2]=(wx(c[G>>2]|0)|0)+1;jx(c[G>>2]|0,15,c[F>>2]|0,0,c[q>>2]|0)|0;vB(s,13,c[F>>2]|0);Pv(c[k>>2]|0,c[o>>2]|0,s)|0;YC(c[G>>2]|0,c[F>>2]|0);Zz(c[G>>2]|0,(c[q>>2]|0)-1|0);if(c[(c[k>>2]|0)+36>>2]|0){i=R;return}c[C>>2]=ay(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[C>>2]|0)){i=R;return}else{b[(c[w>>2]|0)+34>>1]=b[(c[C>>2]|0)+34>>1]|0;c[(c[w>>2]|0)+4>>2]=c[(c[C>>2]|0)+4>>2];b[(c[C>>2]|0)+34>>1]=0;c[(c[C>>2]|0)+4>>2]=0;Rf(c[r>>2]|0,c[C>>2]|0);c[p>>2]=Sz(c[G>>2]|0,16,c[s+8>>2]|0)|0;jx(c[G>>2]|0,99,c[s+12>>2]|0,c[s+16>>2]|0,c[D>>2]|0)|0;$C(c[G>>2]|0,c[w>>2]|0,0);ix(c[G>>2]|0,114,1,c[E>>2]|0)|0;jx(c[G>>2]|0,115,1,c[D>>2]|0,c[E>>2]|0)|0;Yz(c[G>>2]|0,c[p>>2]|0)|0;Zz(c[G>>2]|0,c[p>>2]|0);Sz(c[G>>2]|0,111,1)|0;break}}while(0);if(c[o>>2]|0)c[O>>2]=KH(c[r>>2]|0,c[w>>2]|0)|0;else{c[y>>2]=(d[n>>0]|0)!=0?(c[k>>2]|0)+392|0:c[m>>2]|0;c[u>>2]=(c[c[y>>2]>>2]|0)-(c[(c[k>>2]|0)+384>>2]|0);if((a[c[c[y>>2]>>2]>>0]|0)!=59)c[u>>2]=(c[u>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0);J=c[r>>2]|0;h=c[u>>2]|0;H=c[(c[k>>2]|0)+384>>2]|0;c[L>>2]=c[Q>>2];c[L+4>>2]=h;c[L+8>>2]=H;c[O>>2]=Gh(J,37191,L)|0}Q=c[k>>2]|0;E=(c[t>>2]|0)==1?19905:19924;F=c[P>>2]|0;h=c[c[w>>2]>>2]|0;H=c[c[w>>2]>>2]|0;J=c[(c[k>>2]|0)+104>>2]|0;L=c[O>>2]|0;P=c[(c[k>>2]|0)+100>>2]|0;c[M>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[M+4>>2]=E;c[M+8>>2]=F;c[M+12>>2]=h;c[M+16>>2]=H;c[M+20>>2]=J;c[M+24>>2]=L;c[M+28>>2]=P;cx(Q,37206,M);Tf(c[r>>2]|0,c[O>>2]|0);ex(c[k>>2]|0,c[t>>2]|0);if((d[(c[w>>2]|0)+42>>0]&8|0)!=0?(c[x>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4),(c[(c[(c[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[k>>2]|0;c[I>>2]=c[c[x>>2]>>2];cx(Q,37293,I)}O=c[G>>2]|0;P=c[t>>2]|0;Q=c[r>>2]|0;c[K>>2]=c[c[w>>2]>>2];gx(O,P,Gh(Q,37335,K)|0)}if(!(a[(c[r>>2]|0)+148+5>>0]|0)){i=R;return}c[B>>2]=c[(c[w>>2]|0)+64>>2];c[A>>2]=Uj((c[B>>2]|0)+8|0,c[c[w>>2]>>2]|0,c[w>>2]|0)|0;if(c[A>>2]|0){mh(c[r>>2]|0);i=R;return}c[(c[k>>2]|0)+440>>2]=0;Q=(c[r>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[w>>2]|0)+12>>2]|0){i=R;return}c[N>>2]=c[(c[k>>2]|0)+384>>2];if(!(c[c[l>>2]>>2]|0))c[l>>2]=c[m>>2];c[v>>2]=(c[c[l>>2]>>2]|0)-(c[N>>2]|0);Q=13+(Wx(c[N>>2]|0,c[v>>2]|0)|0)|0;c[(c[w>>2]|0)+44>>2]=Q;i=R;return}function Cv(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;r=v+8|0;q=v;h=v+48|0;j=v+44|0;k=v+40|0;o=v+36|0;n=v+32|0;s=v+28|0;t=v+24|0;p=v+20|0;m=v+16|0;l=v+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];g=c[(c[h>>2]|0)+440>>2]|0;c[o>>2]=g;if(!g){i=v;return}if(((b[(c[o>>2]|0)+34>>1]|0)+1|0)>(c[(c[m>>2]|0)+96+8>>2]|0)){u=c[h>>2]|0;c[q>>2]=c[c[o>>2]>>2];Eh(u,37049,q);i=v;return}c[s>>2]=Ch(c[m>>2]|0,(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)+2|0,0)|0;if(!(c[s>>2]|0)){i=v;return}TR(c[s>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;a[(c[s>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)>>0]=0;Zw(c[s>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;if(!(Td(c[s>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0)|0)){u=8;break}c[n>>2]=(c[n>>2]|0)+1}if((u|0)==8){u=c[h>>2]|0;c[r>>2]=c[s>>2];Eh(u,37072,r);Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}do if(!(b[(c[o>>2]|0)+34>>1]&7)){c[l>>2]=Uw(c[m>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+34>>1]|0)+8<<4,0)|0;if(c[l>>2]|0){c[(c[o>>2]|0)+4>>2]=c[l>>2];break}Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}while(0);c[p>>2]=(c[(c[o>>2]|0)+4>>2]|0)+(b[(c[o>>2]|0)+34>>1]<<4);u=c[p>>2]|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[c[p>>2]>>2]=c[s>>2];if(!(c[(c[k>>2]|0)+4>>2]|0)){a[(c[p>>2]|0)+13>>0]=65;a[(c[p>>2]|0)+14>>0]=1}else{u=c[s>>2]|0;c[t>>2]=u+(Jf(c[s>>2]|0)|0)+1;TR(c[t>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[t>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Zw(c[t>>2]|0);u=Dx(c[t>>2]|0,(c[p>>2]|0)+14|0)|0;a[(c[p>>2]|0)+13>>0]=u;u=(c[p>>2]|0)+15|0;a[u>>0]=d[u>>0]|4}u=(c[o>>2]|0)+34|0;b[u>>1]=(b[u>>1]|0)+1<<16>>16;c[(c[h>>2]|0)+84+4>>2]=0;i=v;return}function Dv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+80|0;h=n;f=n+72|0;j=n+68|0;g=n+64|0;l=n+60|0;k=n+56|0;m=n+8|0;c[f>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+440>>2];if(!(c[g>>2]|0)){l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;iv(l,m);i=n;return}c[l>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4);if(HH(c[c[j>>2]>>2]|0,a[(c[k>>2]|0)+148+5>>0]|0)|0){iv(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0);f=m;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a[m>>0]=-95;h=(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0)|0;c[m+8>>2]=Yw(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,h,((h|0)<0)<<31>>31)|0;c[m+12>>2]=c[c[j>>2]>>2];c[m+4>>2]=4096;h=Iy(c[k>>2]|0,m,1)|0;c[(c[l>>2]|0)+4>>2]=h;Tf(c[k>>2]|0,c[m+8>>2]|0);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;iv(l,m);i=n;return}else{m=c[f>>2]|0;c[h>>2]=c[c[l>>2]>>2];Eh(m,37004,h);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;iv(l,m);i=n;return}}function Ev(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)==28?(c[(c[g>>2]|0)+36>>2]|0)==0:0)c[m>>2]=wz(c[c[g>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=jw(c[c[g>>2]>>2]|0,c[h>>2]&255,c[l>>2]|0,1)|0;yz(c[c[g>>2]>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){f=c[m>>2]|0;i=n;return f|0}Zy(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;f=c[m>>2]|0;i=n;return f|0}function Fv(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;j=m+12|0;n=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[n>>2]=f;c[k>>2]=g;c[l>>2]=Vw(c[c[n>>2]>>2]|0,48+(c[h+4>>2]|0)+1|0,0)|0;if(!(c[l>>2]|0)){n=c[l>>2]|0;l=c[j>>2]|0;c[l>>2]=n;l=c[h>>2]|0;n=c[j>>2]|0;n=n+4|0;c[n>>2]=l;n=h+4|0;n=c[n>>2]|0;h=c[h>>2]|0;h=h+n|0;n=c[j>>2]|0;n=n+8|0;c[n>>2]=h;i=m;return}g=c[l>>2]|0;e=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));a[c[l>>2]>>0]=c[k>>2];c[(c[l>>2]|0)+4>>2]=8388608;b[(c[l>>2]|0)+34>>1]=-1;c[(c[l>>2]|0)+8>>2]=(c[l>>2]|0)+48;TR(c[(c[l>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[(c[l>>2]|0)+8>>2]|0)+(c[h+4>>2]|0)>>0]=0;if(d[18403+(d[c[(c[l>>2]|0)+8>>2]>>0]|0)>>0]&128){if((a[c[(c[l>>2]|0)+8>>2]>>0]|0)==34){n=(c[l>>2]|0)+4|0;c[n>>2]=c[n>>2]|64}Zw(c[(c[l>>2]|0)+8>>2]|0)}c[(c[l>>2]|0)+24>>2]=1;n=c[l>>2]|0;l=c[j>>2]|0;c[l>>2]=n;l=c[h>>2]|0;n=c[j>>2]|0;n=n+4|0;c[n>>2]=l;n=h+4|0;n=c[n>>2]|0;h=c[h>>2]|0;h=h+n|0;n=c[j>>2]|0;n=n+8|0;c[n>>2]=h;i=m;return}function Gv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[j>>2]|0)+440>>2];if(!(c[g>>2]|0)){i=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){i=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4)+12>>0]=c[f>>2];i=h;return}function Hv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;x=y+8|0;k=y;s=y+56|0;t=y+52|0;u=y+48|0;v=y+44|0;w=y+40|0;q=y+36|0;p=y+32|0;m=y+28|0;l=y+24|0;n=y+20|0;o=y+16|0;r=y+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=j;c[q>>2]=c[(c[s>>2]|0)+440>>2];c[p>>2]=0;c[m>>2]=-1;if(!(c[q>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}if(d[(c[q>>2]|0)+42>>0]&4){w=c[s>>2]|0;c[k>>2]=c[c[q>>2]>>2];Eh(w,36907,k);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}k=(c[q>>2]|0)+42|0;a[k>>0]=d[k>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[q>>2]|0)+34>>1]|0)-1;c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[p>>2]|0)+15|0;a[r>>0]=d[r>>0]|1;c[n>>2]=1}else{c[n>>2]=c[c[t>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break a;c[o>>2]=ky(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)|0;CH(c[o>>2]|0);b:do if((d[c[o>>2]>>0]|0)==55){c[r>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[q>>2]|0)+34>>1]|0))break b;k=(ig(c[r>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)==0;h=c[m>>2]|0;if(k)break;c[m>>2]=h+1}c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(h<<4);k=(c[p>>2]|0)+15|0;a[k>>0]=d[k>>0]|1}while(0);c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[n>>2]|0)==1&(c[p>>2]|0)!=0?(r=(ig(vi(c[p>>2]|0,18402)|0,18759)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[q>>2]|0)+32>>1]=c[m>>2];a[(c[q>>2]|0)+43>>0]=c[u>>2];x=(c[q>>2]|0)+42|0;a[x>>0]=d[x>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}a[(c[s>>2]|0)+408>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}h=c[s>>2]|0;if(c[v>>2]|0){Eh(h,36948,x);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}else{Iv(h,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0,2);c[t>>2]=0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}}function Iv(f,g,h,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=i;i=i+352|0;ga=za+112|0;fa=za+88|0;ea=za+72|0;da=za+64|0;ca=za+56|0;C=za+48|0;ba=za+40|0;B=za+32|0;A=za+24|0;E=za+16|0;D=za+8|0;z=za;G=za+332|0;r=za+328|0;s=za+324|0;ta=za+320|0;ua=za+316|0;na=za+312|0;I=za+308|0;va=za+304|0;t=za+300|0;J=za+296|0;H=za+336|0;qa=za+292|0;xa=za+288|0;ya=za+284|0;S=za+280|0;K=za+276|0;M=za+272|0;y=za+248|0;$=za+240|0;wa=za+236|0;V=za+232|0;oa=za+228|0;Y=za+224|0;X=za+220|0;Q=za+216|0;R=za+212|0;la=za+208|0;Z=za+204|0;u=za+200|0;w=za+196|0;F=za+192|0;x=za+184|0;v=za+180|0;T=za+176|0;_=za+172|0;ka=za+168|0;U=za+164|0;P=za+160|0;ha=za+156|0;W=za+152|0;N=za+148|0;ia=za+144|0;ja=za+140|0;pa=za+136|0;aa=za+132|0;ma=za+128|0;L=za+124|0;O=za+120|0;ra=za+116|0;c[G>>2]=f;c[r>>2]=g;c[s>>2]=h;c[ta>>2]=j;c[ua>>2]=k;c[na>>2]=l;c[I>>2]=m;c[va>>2]=n;c[t>>2]=o;c[J>>2]=p;a[H>>0]=q;c[qa>>2]=0;c[xa>>2]=0;c[ya>>2]=0;c[wa>>2]=c[c[G>>2]>>2];c[Y>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[Z>>2]=0;a:do if((d[(c[wa>>2]|0)+69>>0]|0)==0?(c[(c[G>>2]|0)+36>>2]|0)<=0:0){if((d[(c[G>>2]|0)+410>>0]|0)!=0?(d[H>>0]|0)!=2:0)break;if(!(Kz(c[G>>2]|0)|0)){q=c[G>>2]|0;if(c[ta>>2]|0){c[oa>>2]=Oz(q,c[r>>2]|0,c[s>>2]|0,Y)|0;if((c[oa>>2]|0)<0)break;if(((a[(c[wa>>2]|0)+148+5>>0]|0)==0?(c[qa>>2]=bC(c[G>>2]|0,c[ta>>2]|0)|0,(c[qa>>2]|0)!=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[qa>>2]|0)+64>>2]|0)==(c[(c[(c[wa>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[oa>>2]=1;cC(y,c[G>>2]|0,c[oa>>2]|0,33158,c[Y>>2]|0);dC(y,c[ta>>2]|0)|0;c[qa>>2]=px(c[G>>2]|0,0,(c[ta>>2]|0)+8|0)|0;if(!(c[qa>>2]|0))break;if((c[oa>>2]|0)==1?(c[(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)+12>>2]|0)!=(c[(c[qa>>2]|0)+64>>2]|0):0){sa=c[G>>2]|0;c[z>>2]=c[c[qa>>2]>>2];Eh(sa,36473,z);break}if(d[(c[qa>>2]|0)+42>>0]&32)c[Z>>2]=Jj(c[qa>>2]|0)|0}else{c[qa>>2]=c[q+440>>2];if(!(c[qa>>2]|0))break;c[oa>>2]=Fh(c[wa>>2]|0,c[(c[qa>>2]|0)+64>>2]|0)|0}c[V>>2]=(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4);if(((zd(c[c[qa>>2]>>2]|0,27844,7)|0)==0?(d[(c[wa>>2]|0)+148+5>>0]|0)==0:0)?(zd((c[c[qa>>2]>>2]|0)+7|0,36523,9)|0)!=0:0){sa=c[G>>2]|0;c[D>>2]=c[c[qa>>2]>>2];Eh(sa,36533,D);break}if(c[(c[qa>>2]|0)+12>>2]|0){Eh(c[G>>2]|0,36561,E);break}if(d[(c[qa>>2]|0)+42>>0]&16){Eh(c[G>>2]|0,36586,A);break}if(c[Y>>2]|0){c[ya>>2]=Tw(c[wa>>2]|0,c[Y>>2]|0)|0;if(!(c[ya>>2]|0))break;if(Sx(c[G>>2]|0,c[ya>>2]|0)|0)break;if((a[(c[wa>>2]|0)+148+5>>0]|0)==0?(ti(c[wa>>2]|0,c[ya>>2]|0,0)|0)!=0:0){sa=c[G>>2]|0;c[B>>2]=c[ya>>2];Eh(sa,36620,B);break}if(Kj(c[wa>>2]|0,c[ya>>2]|0,c[c[V>>2]>>2]|0)|0){q=c[G>>2]|0;if(c[J>>2]|0){sx(q,c[oa>>2]|0);break}else{c[ba>>2]=c[ya>>2];Eh(q,36654,ba);break}}}else{c[w>>2]=c[(c[qa>>2]|0)+8>>2];c[u>>2]=1;while(1){if(!(c[w>>2]|0))break;c[w>>2]=c[(c[w>>2]|0)+20>>2];c[u>>2]=(c[u>>2]|0)+1}ba=c[wa>>2]|0;J=c[u>>2]|0;c[C>>2]=c[c[qa>>2]>>2];c[C+4>>2]=J;c[ya>>2]=Gh(ba,36678,C)|0;if(!(c[ya>>2]|0))break;if(a[(c[G>>2]|0)+410>>0]|0){ba=(c[ya>>2]|0)+7|0;a[ba>>0]=(a[ba>>0]|0)+1<<24>>24}}c[F>>2]=c[c[V>>2]>>2];if((ax(c[G>>2]|0,18,(c[oa>>2]|0)==1?19905:19924,0,c[F>>2]|0)|0)==0?(c[K>>2]=1,c[K>>2]=(c[oa>>2]|0)==1?3:1,(ax(c[G>>2]|0,c[K>>2]|0,c[ya>>2]|0,c[c[qa>>2]>>2]|0,c[F>>2]|0)|0)==0):0){if(!(c[ua>>2]|0)){Xy(x,c[(c[(c[qa>>2]|0)+4>>2]|0)+((b[(c[qa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);ba=c[G>>2]|0;c[ua>>2]=Tv(ba,0,jw(c[wa>>2]|0,55,x,0)|0)|0;if(!(c[ua>>2]|0))break;aw(c[ua>>2]|0,c[t>>2]|0)}else dw(c[G>>2]|0,c[ua>>2]|0,33158);c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[c[ua>>2]>>2]|0))break;c[v>>2]=c[(c[(c[ua>>2]|0)+4>>2]|0)+((c[K>>2]|0)*20|0)>>2];if((d[c[v>>2]>>0]|0)==53){ba=1+(Jf(c[(c[v>>2]|0)+8>>2]|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+ba}c[K>>2]=(c[K>>2]|0)+1}c[S>>2]=Jf(c[ya>>2]|0)|0;if(c[Z>>2]|0)q=e[(c[Z>>2]|0)+50>>1]|0;else q=1;c[R>>2]=q;c[xa>>2]=kE(c[wa>>2]|0,(c[c[ua>>2]>>2]|0)+(c[R>>2]|0)&65535,(c[S>>2]|0)+(c[Q>>2]|0)+1|0,la)|0;if(!(a[(c[wa>>2]|0)+69>>0]|0)){c[c[xa>>2]>>2]=c[la>>2];c[la>>2]=(c[la>>2]|0)+((c[S>>2]|0)+1);TR(c[c[xa>>2]>>2]|0,c[ya>>2]|0,(c[S>>2]|0)+1|0)|0;c[(c[xa>>2]|0)+12>>2]=c[qa>>2];a[(c[xa>>2]|0)+54>>0]=c[na>>2];ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-9|((c[na>>2]|0)!=0&1)<<3&255;ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-4|d[H>>0]&3;c[(c[xa>>2]|0)+24>>2]=c[(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)+12>>2];b[(c[xa>>2]|0)+50>>1]=c[c[ua>>2]>>2];if(c[va>>2]|0){BH(c[G>>2]|0,c[qa>>2]|0,2,c[va>>2]|0,0);c[(c[xa>>2]|0)+36>>2]=c[va>>2];c[va>>2]=0}if((d[(c[(c[V>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[$>>2]=-1;else c[$>>2]=0;c[K>>2]=0;c[X>>2]=c[(c[ua>>2]|0)+4>>2];while(1){if((c[K>>2]|0)>=(c[c[ua>>2]>>2]|0))break;CH(c[c[X>>2]>>2]|0);BH(c[G>>2]|0,c[qa>>2]|0,32,c[c[X>>2]>>2]|0,0);if(c[(c[G>>2]|0)+36>>2]|0)break a;c[T>>2]=ky(c[c[X>>2]>>2]|0)|0;if((d[c[T>>2]>>0]|0)!=152){if((c[qa>>2]|0)==(c[(c[G>>2]|0)+440>>2]|0)){sa=68;break}do if(!(c[(c[xa>>2]|0)+40>>2]|0)){c[U>>2]=Qy(c[wa>>2]|0,c[ua>>2]|0,0)|0;c[(c[xa>>2]|0)+40>>2]=c[U>>2];if(a[(c[wa>>2]|0)+69>>0]|0)break;c[X>>2]=(c[(c[U>>2]|0)+4>>2]|0)+((c[K>>2]|0)*20|0)}while(0);c[M>>2]=-2;b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=-2;ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-9}else{c[M>>2]=b[(c[T>>2]|0)+32>>1];do if((c[M>>2]|0)<0)c[M>>2]=b[(c[qa>>2]|0)+32>>1];else{if(d[(c[(c[qa>>2]|0)+4>>2]|0)+(c[M>>2]<<4)+12>>0]|0)break;ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-9}while(0);b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=c[M>>2]}c[ka>>2]=0;do if((d[c[c[X>>2]>>2]>>0]|0)==53){c[ka>>2]=c[(c[c[X>>2]>>2]|0)+8>>2];c[P>>2]=(Jf(c[ka>>2]|0)|0)+1;TR(c[la>>2]|0,c[ka>>2]|0,c[P>>2]|0)|0;c[ka>>2]=c[la>>2];c[la>>2]=(c[la>>2]|0)+(c[P>>2]|0);c[Q>>2]=(c[Q>>2]|0)-(c[P>>2]|0)}else{if((c[M>>2]|0)<0)break;c[ka>>2]=c[(c[(c[qa>>2]|0)+4>>2]|0)+(c[M>>2]<<4)+8>>2]}while(0);if(!(c[ka>>2]|0))c[ka>>2]=34834;if((a[(c[wa>>2]|0)+148+5>>0]|0)==0?(Xz(c[G>>2]|0,c[ka>>2]|0)|0)==0:0)break a;c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2]=c[ka>>2];c[_>>2]=d[(c[X>>2]|0)+12>>0]&c[$>>2];a[(c[(c[xa>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]=c[_>>2];c[K>>2]=(c[K>>2]|0)+1;c[X>>2]=(c[X>>2]|0)+20}if((sa|0)==68){Eh(c[G>>2]|0,36701,ca);break}b:do if(c[Z>>2]|0){c[M>>2]=0;while(1){if((c[M>>2]|0)>=(e[(c[Z>>2]|0)+50>>1]|0))break b;c[ha>>2]=b[(c[(c[Z>>2]|0)+4>>2]|0)+(c[M>>2]<<1)>>1];if(DH(c[(c[xa>>2]|0)+4>>2]|0,e[(c[xa>>2]|0)+50>>1]|0,c[ha>>2]|0)|0){la=(c[xa>>2]|0)+52|0;b[la>>1]=(b[la>>1]|0)+-1<<16>>16}else{b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=c[ha>>2];c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2]=c[(c[(c[Z>>2]|0)+32>>2]|0)+(c[M>>2]<<2)>>2];a[(c[(c[xa>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]=a[(c[(c[Z>>2]|0)+28>>2]|0)+(c[M>>2]|0)>>0]|0;c[K>>2]=(c[K>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+1}}else{b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=-1;c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2]=34834}while(0);Ij(c[xa>>2]|0);if(!(c[(c[G>>2]|0)+440>>2]|0))EH(c[xa>>2]|0);c:do if(c[ta>>2]|0){if((e[(c[xa>>2]|0)+52>>1]|0)<(b[(c[qa>>2]|0)+34>>1]|0))break;la=(c[xa>>2]|0)+55|0;a[la>>0]=a[la>>0]&-33|32;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(b[(c[qa>>2]|0)+34>>1]|0))break c;if((c[M>>2]|0)!=(b[(c[qa>>2]|0)+32>>1]|0)?((OA(c[xa>>2]|0,c[M>>2]&65535)|0)<<16>>16|0)<0:0)break;c[M>>2]=(c[M>>2]|0)+1}la=(c[xa>>2]|0)+55|0;a[la>>0]=a[la>>0]&-33}while(0);d:do if((c[qa>>2]|0)==(c[(c[G>>2]|0)+440>>2]|0)){c[W>>2]=c[(c[qa>>2]|0)+8>>2];while(1){if(!(c[W>>2]|0))break d;if((e[(c[W>>2]|0)+50>>1]|0)==(e[(c[xa>>2]|0)+50>>1]|0)){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(e[(c[W>>2]|0)+50>>1]|0))break;if((b[(c[(c[W>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0)!=(b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0))break;c[ia>>2]=c[(c[(c[W>>2]|0)+32>>2]|0)+(c[N>>2]<<2)>>2];c[ja>>2]=c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[N>>2]<<2)>>2];if(ig(c[ia>>2]|0,c[ja>>2]|0)|0)break;c[N>>2]=(c[N>>2]|0)+1}if((c[N>>2]|0)==(e[(c[W>>2]|0)+50>>1]|0))break}c[W>>2]=c[(c[W>>2]|0)+20>>2]}do if((d[(c[W>>2]|0)+54>>0]|0)!=(d[(c[xa>>2]|0)+54>>0]|0)){do if((d[(c[W>>2]|0)+54>>0]|0)!=10){if((d[(c[xa>>2]|0)+54>>0]|0)==10)break;sa=c[G>>2]|0;c[da>>2]=0;Eh(sa,36762,da)}while(0);if((d[(c[W>>2]|0)+54>>0]|0)!=10)break;a[(c[W>>2]|0)+54>>0]=a[(c[xa>>2]|0)+54>>0]|0}while(0);if((d[H>>0]|0)!=2)break a;sa=(c[W>>2]|0)+55|0;a[sa>>0]=a[sa>>0]&-4|d[H>>0]&3;break a}while(0);do if(a[(c[wa>>2]|0)+148+5>>0]|0){c[pa>>2]=Uj((c[(c[xa>>2]|0)+24>>2]|0)+24|0,c[c[xa>>2]>>2]|0,c[xa>>2]|0)|0;q=c[wa>>2]|0;if(c[pa>>2]|0){mh(q);break a}pa=q+24|0;c[pa>>2]=c[pa>>2]|2;if(!(c[ta>>2]|0))break;c[(c[xa>>2]|0)+44>>2]=c[(c[wa>>2]|0)+148>>2]}else{if(!((c[ta>>2]|0)!=0?1:(d[(c[qa>>2]|0)+42>>0]&32|0)==0))break;la=(c[G>>2]|0)+44|0;pa=(c[la>>2]|0)+1|0;c[la>>2]=pa;c[L>>2]=pa;c[aa>>2]=dx(c[G>>2]|0)|0;if(!(c[aa>>2]|0))break a;rx(c[G>>2]|0,1,c[oa>>2]|0);pa=fx(c[aa>>2]|0,161)|0;c[(c[xa>>2]|0)+44>>2]=pa;ix(c[aa>>2]|0,134,c[oa>>2]|0,c[L>>2]|0)|0;if(c[I>>2]|0){c[O>>2]=(c[(c[G>>2]|0)+392>>2]|0)-(c[c[Y>>2]>>2]|0)+(c[(c[G>>2]|0)+392+4>>2]|0);if((a[(c[c[Y>>2]>>2]|0)+((c[O>>2]|0)-1)>>0]|0)==59)c[O>>2]=(c[O>>2]|0)+-1;pa=c[wa>>2]|0;ka=c[O>>2]|0;la=c[c[Y>>2]>>2]|0;c[ea>>2]=(c[na>>2]|0)==0?18402:36804;c[ea+4>>2]=ka;c[ea+8>>2]=la;c[ma>>2]=Gh(pa,36812,ea)|0}else c[ma>>2]=0;pa=c[G>>2]|0;ha=(c[oa>>2]|0)==1?19905:19924;ia=c[c[xa>>2]>>2]|0;ja=c[c[qa>>2]>>2]|0;ka=c[L>>2]|0;la=c[ma>>2]|0;c[fa>>2]=c[(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)>>2];c[fa+4>>2]=ha;c[fa+8>>2]=ia;c[fa+12>>2]=ja;c[fa+16>>2]=ka;c[fa+20>>2]=la;cx(pa,36832,fa);Tf(c[wa>>2]|0,c[ma>>2]|0);if(c[ta>>2]|0){mA(c[G>>2]|0,c[xa>>2]|0,c[L>>2]|0);ex(c[G>>2]|0,c[oa>>2]|0);ma=c[aa>>2]|0;oa=c[oa>>2]|0;pa=c[wa>>2]|0;c[ga>>2]=c[c[xa>>2]>>2];gx(ma,oa,Gh(pa,36880,ga)|0);fx(c[aa>>2]|0,150)|0}Zz(c[aa>>2]|0,c[(c[xa>>2]|0)+44>>2]|0)}while(0);if(!((c[ta>>2]|0)==0?1:(d[(c[wa>>2]|0)+148+5>>0]|0)!=0))break;do if((c[na>>2]|0)!=5)sa=143;else{if(!(c[(c[qa>>2]|0)+8>>2]|0)){sa=143;break}if((d[(c[(c[qa>>2]|0)+8>>2]|0)+54>>0]|0)==5){sa=143;break}c[ra>>2]=c[(c[qa>>2]|0)+8>>2];while(1){if(c[(c[ra>>2]|0)+20>>2]|0)p=(d[(c[(c[ra>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else p=0;q=c[(c[ra>>2]|0)+20>>2]|0;if(!p)break;c[ra>>2]=q}c[(c[xa>>2]|0)+20>>2]=q;c[(c[ra>>2]|0)+20>>2]=c[xa>>2]}while(0);if((sa|0)==143){c[(c[xa>>2]|0)+20>>2]=c[(c[qa>>2]|0)+8>>2];c[(c[qa>>2]|0)+8>>2]=c[xa>>2]}c[xa>>2]=0}}}}while(0);if(!(c[xa>>2]|0)){sa=c[wa>>2]|0;xa=c[va>>2]|0;iv(sa,xa);xa=c[wa>>2]|0;va=c[ua>>2]|0;ev(xa,va);va=c[wa>>2]|0;xa=c[ta>>2]|0;hv(va,xa);xa=c[wa>>2]|0;ya=c[ya>>2]|0;Tf(xa,ya);i=za;return}FH(c[wa>>2]|0,c[xa>>2]|0);sa=c[wa>>2]|0;xa=c[va>>2]|0;iv(sa,xa);xa=c[wa>>2]|0;va=c[ua>>2]|0;ev(xa,va);va=c[wa>>2]|0;xa=c[ta>>2]|0;hv(va,xa);xa=c[wa>>2]|0;ya=c[ya>>2]|0;Tf(xa,ya);i=za;return}function Jv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=c[(c[f>>2]|0)+440>>2];c[h>>2]=c[c[f>>2]>>2];if(((c[j>>2]|0)!=0?(a[(c[f>>2]|0)+410>>0]|0)==0:0)?(Ji(c[(c[(c[h>>2]|0)+16>>2]|0)+(d[(c[h>>2]|0)+148+4>>0]<<4)+4>>2]|0)|0)==0:0){b=Tv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+84+4>>2]|0)){i=k;return}Uv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[f>>2]|0)+84|0,1);i=k;return}iv(c[c[f>>2]>>2]|0,c[g>>2]|0);i=k;return}function Kv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+16|0;o=E+8|0;n=E;p=E+80|0;q=E+76|0;k=E+72|0;r=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;m=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;l=E+28|0;v=E+24|0;w=E+20|0;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[p>>2]>>2];c[z>>2]=0;c[y>>2]=c[(c[p>>2]|0)+440>>2];a:do if((c[y>>2]|0)!=0?(d[(c[p>>2]|0)+410>>0]|0)==0:0){if(!(c[q>>2]|0)){c[l>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;if((c[l>>2]|0)<0)break;if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=1:0){D=c[p>>2]|0;C=c[k>>2]|0;c[n>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+(c[l>>2]<<4)>>2];c[n+4>>2]=C;Eh(D,36270,n);break}c[x>>2]=1}else{if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[q>>2]>>2]|0):0){Eh(c[p>>2]|0,36333,o);break}c[x>>2]=c[c[q>>2]>>2]}c[m>>2]=44+((c[x>>2]|0)-1<<3)+(c[(c[k>>2]|0)+4>>2]|0)+1;b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[r>>2]>>2]|0))break b;o=(Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+o;c[u>>2]=(c[u>>2]|0)+1}}while(0);o=c[m>>2]|0;c[z>>2]=sh(c[t>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[z>>2]|0){c[c[z>>2]>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[(c[y>>2]|0)+16>>2];c[C>>2]=(c[z>>2]|0)+36+(c[x>>2]<<3);c[(c[z>>2]|0)+8>>2]=c[C>>2];TR(c[C>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[C>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Zw(c[C>>2]|0);c[C>>2]=(c[C>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)+1);c[(c[z>>2]|0)+20>>2]=c[x>>2];c:do if(!(c[q>>2]|0))c[(c[z>>2]|0)+36>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break c;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;o=(ig(c[(c[(c[y>>2]|0)+4>>2]|0)+(c[v>>2]<<4)>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[v>>2]|0;if(o){D=25;break}c[v>>2]=k+1}if((D|0)==25){D=0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)>>2]=k}if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;c[u>>2]=(c[u>>2]|0)+1}D=c[p>>2]|0;c[B>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2];Eh(D,36427,B);break a}while(0);d:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break d;c[w>>2]=Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)+4>>2]=c[C>>2];TR(c[C>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0,c[w>>2]|0)|0;a[(c[C>>2]|0)+(c[w>>2]|0)>>0]=0;c[C>>2]=(c[C>>2]|0)+((c[w>>2]|0)+1);c[u>>2]=(c[u>>2]|0)+1}}while(0);a[(c[z>>2]|0)+24>>0]=0;a[(c[z>>2]|0)+25>>0]=c[s>>2];a[(c[z>>2]|0)+25+1>>0]=c[s>>2]>>8;c[A>>2]=Uj((c[(c[y>>2]|0)+64>>2]|0)+56|0,c[(c[z>>2]|0)+8>>2]|0,c[z>>2]|0)|0;if((c[A>>2]|0)==(c[z>>2]|0)){mh(c[t>>2]|0);break}if(c[A>>2]|0){c[(c[z>>2]|0)+12>>2]=c[A>>2];c[(c[A>>2]|0)+16>>2]=c[z>>2]}c[(c[y>>2]|0)+16>>2]=c[z>>2];c[z>>2]=0}}while(0);Tf(c[t>>2]|0,c[z>>2]|0);ev(c[t>>2]|0,c[q>>2]|0);ev(c[t>>2]|0,c[r>>2]|0);i=E;return}function Lv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;b=c[(c[j>>2]|0)+440>>2]|0;c[g>>2]=b;if(!b){i=h;return}j=c[(c[g>>2]|0)+16>>2]|0;c[f>>2]=j;if(!j){i=h;return}a[(c[f>>2]|0)+24>>0]=c[e>>2];i=h;return}function Mv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+440>>2]|0;c[j>>2]=d;if(!d){i=m;return}c[h>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[l>>2]=Tw(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}d=(Xz(c[e>>2]|0,c[l>>2]|0)|0)!=0;e=c[g>>2]|0;if(!d){Tf(e,c[l>>2]|0);i=m;return}Tf(e,c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]|0);c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]=c[l>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}i=m;return}function Nv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;t=x+16|0;s=x+8|0;r=x;h=x+64|0;j=x+60|0;k=x+56|0;l=x+52|0;p=x+48|0;q=x+44|0;n=x+40|0;o=x+36|0;m=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=c[c[h>>2]>>2];do if((a[(c[n>>2]|0)+69>>0]|0)==0?(Kz(c[h>>2]|0)|0)==0:0){if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[p>>2]=px(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}if(!(c[p>>2]|0)){if(!(c[l>>2]|0))break;ZB(c[h>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0);break}c[o>>2]=Fh(c[n>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;if((d[(c[p>>2]|0)+42>>0]&16|0)!=0?(Tx(c[h>>2]|0,c[p>>2]|0)|0)!=0:0)break;c[w>>2]=(c[o>>2]|0)==1?19905:19924;c[v>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[u>>2]=0;if(!(ax(c[h>>2]|0,9,c[w>>2]|0,0,c[v>>2]|0)|0)){do if(c[k>>2]|0)if((c[o>>2]|0)==1){c[m>>2]=15;break}else{c[m>>2]=17;break}else{if(d[(c[p>>2]|0)+42>>0]&16){c[m>>2]=30;c[u>>2]=c[(c[(Ux(c[n>>2]|0,c[p>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[o>>2]|0)==1){c[m>>2]=13;break}else{c[m>>2]=11;break}}while(0);if((ax(c[h>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)==0?(ax(c[h>>2]|0,9,c[c[p>>2]>>2]|0,0,c[v>>2]|0)|0)==0:0){if((zd(c[c[p>>2]>>2]|0,27844,7)|0)==0?(zd(c[c[p>>2]>>2]|0,36063,11)|0)!=0:0){w=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];Eh(w,36075,r);break}if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)==0:0){w=c[h>>2]|0;c[s>>2]=c[c[p>>2]>>2];Eh(w,36103,s);break}if((c[k>>2]|0)==0?(c[(c[p>>2]|0)+12>>2]|0)!=0:0){w=c[h>>2]|0;c[t>>2]=c[c[p>>2]>>2];Eh(w,36137,t);break}c[q>>2]=dx(c[h>>2]|0)|0;if(c[q>>2]|0){rx(c[h>>2]|0,1,c[o>>2]|0);QC(c[h>>2]|0,c[o>>2]|0,30858,c[c[p>>2]>>2]|0);wH(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0);xH(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0)}}}}while(0);hv(c[n>>2]|0,c[j>>2]|0);i=x;return}function Ov(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+96|0;w=D+88|0;n=D+84|0;o=D+80|0;p=D+76|0;x=D+72|0;y=D+68|0;q=D+64|0;r=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;c[w>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[x>>2]=j;c[y>>2]=k;c[q>>2]=l;c[r>>2]=m;c[u>>2]=0;c[z>>2]=c[c[w>>2]>>2];l=c[w>>2]|0;if((b[(c[w>>2]|0)+400>>1]|0)<=0){zv(l,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1,0,c[r>>2]|0);c[t>>2]=c[(c[w>>2]|0)+440>>2];if((((c[t>>2]|0)!=0?(c[(c[w>>2]|0)+36>>2]|0)==0:0)?(Oz(c[w>>2]|0,c[o>>2]|0,c[p>>2]|0,u)|0,c[s>>2]=Fh(c[z>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,cC(v,c[w>>2]|0,c[s>>2]|0,36058,c[u>>2]|0),(eC(v,c[y>>2]|0)|0)==0):0)?(v=_x(c[z>>2]|0,c[y>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=v,v=Qy(c[z>>2]|0,c[x>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=v,(a[(c[z>>2]|0)+69>>0]|0)==0):0){v=(c[w>>2]|0)+392|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];if((a[c[B>>2]>>0]|0)!=59)c[B>>2]=(c[B>>2]|0)+(c[B+4>>2]|0);c[B+4>>2]=0;c[A>>2]=(c[B>>2]|0)-(c[c[n>>2]>>2]|0);c[C>>2]=c[c[n>>2]>>2];while(1){l=c[A>>2]|0;if(!(d[18403+(d[(c[C>>2]|0)+((c[A>>2]|0)-1)>>0]|0)>>0]&1))break;c[A>>2]=l+-1}c[B>>2]=(c[C>>2]|0)+(l-1);c[B+4>>2]=1;Bv(c[w>>2]|0,0,B,0,0)}}else Eh(l,36022,D);fv(c[z>>2]|0,c[y>>2]|0);ev(c[z>>2]|0,c[x>>2]|0);i=D;return}function Pv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=i;i=i+432|0;w=Ca;N=Ca+412|0;O=Ca+408|0;P=Ca+404|0;Q=Ca+400|0;_=Ca+396|0;fa=Ca+392|0;pa=Ca+388|0;Ba=Ca+384|0;l=Ca+380|0;ka=Ca+376|0;oa=Ca+372|0;L=Ca+368|0;la=Ca+364|0;ma=Ca+360|0;ra=Ca+356|0;xa=Ca+344|0;ya=Ca+312|0;wa=Ca+264|0;ca=Ca+260|0;Y=Ca+256|0;da=Ca+252|0;o=Ca+248|0;r=Ca+244|0;m=Ca+240|0;t=Ca+236|0;p=Ca+232|0;k=Ca+208|0;s=Ca+204|0;j=Ca+200|0;v=Ca+196|0;n=Ca+192|0;u=Ca+188|0;q=Ca+184|0;x=Ca+416|0;M=Ca+152|0;$=Ca+148|0;ba=Ca+144|0;ea=Ca+140|0;aa=Ca+136|0;Z=Ca+132|0;S=Ca+128|0;Aa=Ca+124|0;za=Ca+120|0;ia=Ca+116|0;z=Ca+112|0;A=Ca+108|0;na=Ca+104|0;R=Ca+100|0;T=Ca+96|0;ta=Ca+92|0;V=Ca+88|0;X=Ca+84|0;W=Ca+80|0;U=Ca+76|0;va=Ca+72|0;sa=Ca+68|0;ua=Ca+64|0;ga=Ca+60|0;ha=Ca+56|0;ja=Ca+52|0;qa=Ca+48|0;G=Ca+44|0;K=Ca+40|0;D=Ca+36|0;C=Ca+32|0;H=Ca+28|0;I=Ca+24|0;F=Ca+20|0;E=Ca+16|0;J=Ca+12|0;B=Ca+418|0;c[O>>2]=f;c[P>>2]=g;c[Q>>2]=h;c[ka>>2]=0;c[ra>>2]=1;c[da>>2]=c[(c[O>>2]|0)+420>>2];h=(c[O>>2]|0)+424|0;f=c[h>>2]|0;c[h>>2]=f+1;c[(c[O>>2]|0)+420>>2]=f;c[Y>>2]=c[c[O>>2]>>2];if(((c[P>>2]|0)!=0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0)?(c[(c[O>>2]|0)+36>>2]|0)==0:0){if(ax(c[O>>2]|0,21,0,0,0)|0){c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}g=wa;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if((d[c[Q>>2]>>0]|0)<=8){ev(c[Y>>2]|0,c[(c[P>>2]|0)+44>>2]|0);c[(c[P>>2]|0)+44>>2]=0;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]&-2}my(c[O>>2]|0,c[P>>2]|0,0);c[ya>>2]=0;c[ya+4>>2]=0;c[ya+8>>2]=0;c[ya+12>>2]=0;c[ya+16>>2]=0;c[ya+20>>2]=0;c[ya+24>>2]=0;c[ya+28>>2]=0;c[ya>>2]=c[(c[P>>2]|0)+44>>2];c[oa>>2]=c[(c[P>>2]|0)+28>>2];a:do if((c[(c[O>>2]|0)+36>>2]|0)==0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0){c[l>>2]=(c[(c[P>>2]|0)+8>>2]&8|0)!=0&1;c[_>>2]=0;while(1){if(c[(c[P>>2]|0)+48>>2]|0)break;if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[o>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[r>>2]=c[(c[o>>2]|0)+20>>2];c[t>>2]=c[(c[o>>2]|0)+16>>2];if(c[r>>2]|0){if((b[(c[t>>2]|0)+34>>1]|0)!=(c[c[c[r>>2]>>2]>>2]|0)){y=16;break}c[m>>2]=(c[(c[r>>2]|0)+8>>2]&8|0)!=0&1;if(EG(c[O>>2]|0,c[P>>2]|0,c[_>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){if(c[m>>2]|0){c[l>>2]=1;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]|8}c[_>>2]=-1}c[oa>>2]=c[(c[P>>2]|0)+28>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break a;if((d[c[Q>>2]>>0]|0)>8)c[ya>>2]=c[(c[P>>2]|0)+44>>2]}c[_>>2]=(c[_>>2]|0)+1}if((y|0)==16){Ba=c[O>>2]|0;za=c[c[t>>2]>>2]|0;Aa=c[c[c[r>>2]>>2]>>2]|0;c[w>>2]=b[(c[t>>2]|0)+34>>1];c[w+4>>2]=za;c[w+8>>2]=Aa;Eh(Ba,35609,w);break}c[Ba>>2]=dx(c[O>>2]|0)|0;if(c[Ba>>2]|0){if(c[(c[P>>2]|0)+48>>2]|0){c[ra>>2]=FG(c[O>>2]|0,c[P>>2]|0,c[Q>>2]|0)|0;c[(c[O>>2]|0)+420>>2]=c[da>>2];c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[p>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];do if(c[s>>2]|0){if(c[(c[p>>2]|0)+24>>2]|0){if((d[(c[p>>2]|0)+36+1>>0]|0)>>>4&1)break;ix(c[Ba>>2]|0,14,c[(c[p>>2]|0)+28>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;break}t=GG(c[P>>2]|0)|0;w=(c[O>>2]|0)+416|0;c[w>>2]=(c[w>>2]|0)+t;if(!(d[(c[p>>2]|0)+36>>0]&32))HG(c[Y>>2]|0,c[s>>2]|0,c[(c[P>>2]|0)+32>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0;do if(!(c[_>>2]|0)){if((c[c[oa>>2]>>2]|0)!=1?(d[(c[oa>>2]|0)+8+72+36>>0]&10|0)==0:0){y=42;break}if(c[(c[P>>2]|0)+8>>2]&2){y=42;break}if(e[(c[Y>>2]|0)+64>>1]&256){y=42;break}c[j>>2]=(wx(c[Ba>>2]|0)|0)+1;t=(c[O>>2]|0)+44|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;jx(c[Ba>>2]|0,15,c[(c[p>>2]|0)+28>>2]|0,0,c[j>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=c[j>>2];vB(k,13,c[(c[p>>2]|0)+28>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+424>>2];Pv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;w=(c[p>>2]|0)+36+1|0;a[w>>0]=a[w>>0]&-17|16;c[(c[p>>2]|0)+32>>2]=c[k+12>>2];YC(c[Ba>>2]|0,c[(c[p>>2]|0)+28>>2]|0);Zz(c[Ba>>2]|0,(c[j>>2]|0)-1|0);IG(c[O>>2]|0)}else y=42;while(0);if((y|0)==42){y=0;c[n>>2]=0;t=(c[O>>2]|0)+44|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;c[v>>2]=ix(c[Ba>>2]|0,76,0,c[(c[p>>2]|0)+28>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=(c[v>>2]|0)+1;if(!((d[(c[p>>2]|0)+36+1>>0]|0)>>>3&1))c[n>>2]=fx(c[Ba>>2]|0,20)|0;vB(k,12,c[(c[p>>2]|0)+44>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+424>>2];Pv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;if(c[n>>2]|0)Zz(c[Ba>>2]|0,c[n>>2]|0);c[u>>2]=Sz(c[Ba>>2]|0,72,c[(c[p>>2]|0)+28>>2]|0)|0;YD(c[Ba>>2]|0,c[v>>2]|0,c[u>>2]|0);IG(c[O>>2]|0)}if(a[(c[Y>>2]|0)+69>>0]|0)break a;t=GG(c[P>>2]|0)|0;w=(c[O>>2]|0)+416|0;c[w>>2]=(c[w>>2]|0)-t}while(0);c[_>>2]=(c[_>>2]|0)+1}c[ka>>2]=c[c[P>>2]>>2];c[L>>2]=c[(c[P>>2]|0)+32>>2];c[la>>2]=c[(c[P>>2]|0)+36>>2];c[ma>>2]=c[(c[P>>2]|0)+40>>2];a[xa>>0]=(c[(c[P>>2]|0)+8>>2]&1|0)!=0;if((c[(c[P>>2]|0)+8>>2]&9|0)==1?(Ly(c[ya>>2]|0,c[ka>>2]|0,-1)|0)==0:0){y=(c[P>>2]|0)+8|0;c[y>>2]=c[y>>2]&-2;y=Qy(c[Y>>2]|0,c[ka>>2]|0,0)|0;c[(c[P>>2]|0)+36>>2]=y;c[la>>2]=y}if(c[ya>>2]|0){c[q>>2]=JG(c[O>>2]|0,c[ya>>2]|0,0,c[c[ka>>2]>>2]|0)|0;w=(c[O>>2]|0)+40|0;y=c[w>>2]|0;c[w>>2]=y+1;c[ya+8>>2]=y;c[ya+20>>2]=mx(c[Ba>>2]|0,107,c[ya+8>>2]|0,(c[c[ya>>2]>>2]|0)+1+(c[c[ka>>2]>>2]|0)|0,0,c[q>>2]|0,-6)|0}else c[ya+20>>2]=-1;if((d[c[Q>>2]>>0]|0)==12)ix(c[Ba>>2]|0,107,c[(c[Q>>2]|0)+8>>2]|0,c[c[ka>>2]>>2]|0)|0;c[ca>>2]=Wz(c[Ba>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=320;KG(c[O>>2]|0,c[P>>2]|0,c[ca>>2]|0);if((c[(c[P>>2]|0)+12>>2]|0)==0?(c[ya+20>>2]|0)>=0:0){LG(c[Ba>>2]|0,c[ya+20>>2]|0,108);y=ya+28|0;a[y>>0]=d[y>>0]|1}if(c[(c[P>>2]|0)+8>>2]&1){y=(c[O>>2]|0)+40|0;w=c[y>>2]|0;c[y>>2]=w+1;c[xa+4>>2]=w;w=c[Ba>>2]|0;y=c[xa+4>>2]|0;c[xa+8>>2]=mx(w,107,y,0,0,JG(c[O>>2]|0,c[c[P>>2]>>2]|0,0,0)|0,-6)|0;Jh(c[Ba>>2]|0,8);a[xa+1>>0]=3}else a[xa+1>>0]=0;if((c[l>>2]|0)==0&(c[la>>2]|0)==0){b[x>>1]=(d[xa>>0]|0)!=0?256:0;b[x>>1]=e[x>>1]|c[(c[P>>2]|0)+8>>2]&16384;c[pa>>2]=qD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[ya>>2]|0,c[c[P>>2]>>2]|0,b[x>>1]|0,b[(c[P>>2]|0)+6>>1]|0)|0;if(!(c[pa>>2]|0))break;Aa=(MG(c[pa>>2]|0)|0)<<16>>16;if((Aa|0)<(b[(c[P>>2]|0)+6>>1]|0)){Aa=MG(c[pa>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=Aa}do if(d[xa>>0]|0){if(!(NG(c[pa>>2]|0)|0))break;a[xa+1>>0]=NG(c[pa>>2]|0)|0}while(0);do if(c[ya>>2]|0){c[ya+4>>2]=OG(c[pa>>2]|0)|0;a[ya+29>>0]=PG(c[pa>>2]|0)|0;if((c[ya+4>>2]|0)!=(c[c[ya>>2]>>2]|0))break;c[ya>>2]=0}while(0);do if((c[ya+20>>2]|0)>=0){if(c[ya>>2]|0)break;HA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);ta=c[O>>2]|0;ua=c[P>>2]|0;va=c[ka>>2]|0;za=c[Q>>2]|0;Aa=QG(c[pa>>2]|0)|0;SG(ta,ua,va,-1,ya,xa,za,Aa,RG(c[pa>>2]|0)|0);rD(c[pa>>2]|0)}else{c[Aa>>2]=0;c[za>>2]=0;c[ia>>2]=0;g=c[P>>2]|0;do if(c[la>>2]|0){c[z>>2]=c[c[g>>2]>>2];c[A>>2]=c[(c[c[P>>2]>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}c[z>>2]=c[c[la>>2]>>2];c[A>>2]=c[(c[la>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}if((b[(c[P>>2]|0)+6>>1]|0)<=66)break;b[(c[P>>2]|0)+6>>1]=66}else b[g+6>>1]=0;while(0);if(!(Ly(c[la>>2]|0,c[ya>>2]|0,-1)|0))c[ia>>2]=1;c[S>>2]=Wz(c[Ba>>2]|0)|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;c[M+20>>2]=0;c[M+24>>2]=0;c[M+28>>2]=0;c[M>>2]=c[O>>2];c[M+4>>2]=c[oa>>2];c[M+12>>2]=wa;c[wa+16>>2]=(c[(c[O>>2]|0)+44>>2]|0)+1;if(c[la>>2]|0)g=c[c[la>>2]>>2]|0;else g=0;c[wa+12>>2]=g;c[wa+24>>2]=c[la>>2];TG(M,c[ka>>2]|0);TG(M,c[ya>>2]|0);if(c[ma>>2]|0)UG(M,c[ma>>2]|0);c[wa+36>>2]=c[wa+32>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+44>>2]|0))break;A=M+28|0;b[A>>1]=e[A>>1]|8;TG(M,c[(c[(c[wa+40>>2]|0)+(c[_>>2]<<4)>>2]|0)+20>>2]|0);A=M+28|0;b[A>>1]=e[A>>1]&-9;c[_>>2]=(c[_>>2]|0)+1}c[wa+20>>2]=c[(c[O>>2]|0)+44>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;if(c[la>>2]|0){K=(c[O>>2]|0)+40|0;M=c[K>>2]|0;c[K>>2]=M+1;c[wa+4>>2]=M;c[na>>2]=JG(c[O>>2]|0,c[la>>2]|0,0,c[wa+32>>2]|0)|0;c[W>>2]=mx(c[Ba>>2]|0,108,c[wa+4>>2]|0,c[wa+12>>2]|0,0,c[na>>2]|0,-6)|0;M=(c[O>>2]|0)+44|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ea>>2]=K;K=(c[O>>2]|0)+44|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[aa>>2]=M;M=(c[O>>2]|0)+44|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ta>>2]=K;c[T>>2]=Wz(c[Ba>>2]|0)|0;K=(c[O>>2]|0)+44|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[va>>2]=M;c[U>>2]=Wz(c[Ba>>2]|0)|0;c[$>>2]=(c[(c[O>>2]|0)+44>>2]|0)+1;M=(c[O>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);c[ba>>2]=(c[(c[O>>2]|0)+44>>2]|0)+1;M=(c[O>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);ix(c[Ba>>2]|0,76,0,c[aa>>2]|0)|0;ix(c[Ba>>2]|0,76,0,c[ea>>2]|0)|0;jx(c[Ba>>2]|0,79,0,c[$>>2]|0,(c[$>>2]|0)+(c[c[la>>2]>>2]|0)-1|0)|0;ix(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;c[pa>>2]=qD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[la>>2]|0,0,(64|((c[ia>>2]|0)!=0?512:0))&65535,0)|0;if(!(c[pa>>2]|0))break;M=OG(c[pa>>2]|0)|0;if((M|0)==(c[c[la>>2]>>2]|0))c[Z>>2]=0;else{if(d[xa>>0]|0)g=(c[(c[P>>2]|0)+8>>2]&1|0)==0;else g=0;VG(c[O>>2]|0,g?35649:35658);c[Z>>2]=1;c[ha>>2]=c[c[la>>2]>>2];c[ga>>2]=c[ha>>2];c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;if((c[(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0)+12>>2]|0)>=(c[fa>>2]|0)){c[ga>>2]=(c[ga>>2]|0)+1;c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[sa>>2]=CA(c[O>>2]|0,c[ga>>2]|0)|0;EC(c[O>>2]|0);aB(c[O>>2]|0,c[la>>2]|0,c[sa>>2]|0,0,0)|0;c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;c[ja>>2]=(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0);if((c[(c[ja>>2]|0)+12>>2]|0)>=(c[fa>>2]|0)){c[qa>>2]=(c[fa>>2]|0)+(c[sa>>2]|0);XD(c[O>>2]|0,c[c[ja>>2]>>2]|0,c[(c[ja>>2]|0)+8>>2]|0,c[(c[ja>>2]|0)+4>>2]|0,c[qa>>2]|0);c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[ua>>2]=vx(c[O>>2]|0)|0;jx(c[Ba>>2]|0,99,c[sa>>2]|0,c[ga>>2]|0,c[ua>>2]|0)|0;ix(c[Ba>>2]|0,125,c[wa+4>>2]|0,c[ua>>2]|0)|0;xx(c[O>>2]|0,c[ua>>2]|0);FA(c[O>>2]|0,c[sa>>2]|0,c[ga>>2]|0);rD(c[pa>>2]|0);sa=(c[O>>2]|0)+40|0;ua=c[sa>>2]|0;c[sa>>2]=ua+1;c[Aa>>2]=ua;c[wa+8>>2]=ua;c[za>>2]=vx(c[O>>2]|0)|0;jx(c[Ba>>2]|0,110,c[Aa>>2]|0,c[za>>2]|0,c[ga>>2]|0)|0;ix(c[Ba>>2]|0,55,c[wa+4>>2]|0,c[S>>2]|0)|0;a[wa+1>>0]=1;EC(c[O>>2]|0)}do if(c[ia>>2]|0){if(e[(c[Y>>2]|0)+64>>1]&4)break;if((c[Z>>2]|0)==0?(WG(c[pa>>2]|0)|0)==0:0)break;c[ya>>2]=0;HA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);c[X>>2]=wx(c[Ba>>2]|0)|0;EC(c[O>>2]|0);if(c[Z>>2]|0)jx(c[Ba>>2]|0,120,c[wa+4>>2]|0,c[za>>2]|0,c[Aa>>2]|0)|0;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[c[la>>2]>>2]|0))break;if(c[Z>>2]|0)jx(c[Ba>>2]|0,96,c[Aa>>2]|0,c[fa>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)|0;else{a[wa>>0]=1;RA(c[O>>2]|0,c[(c[(c[la>>2]|0)+4>>2]|0)+((c[fa>>2]|0)*20|0)>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)}c[fa>>2]=(c[fa>>2]|0)+1}sa=c[Ba>>2]|0;ua=c[$>>2]|0;za=c[ba>>2]|0;Aa=c[c[la>>2]>>2]|0;mx(sa,95,ua,za,Aa,nA(c[na>>2]|0)|0,-6)|0;c[R>>2]=wx(c[Ba>>2]|0)|0;jx(c[Ba>>2]|0,18,(c[R>>2]|0)+1|0,0,(c[R>>2]|0)+1|0)|0;XG(c[O>>2]|0,c[ba>>2]|0,c[$>>2]|0,c[c[la>>2]>>2]|0);ix(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;ix(c[Ba>>2]|0,66,c[aa>>2]|0,c[S>>2]|0)|0;ix(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;Zz(c[Ba>>2]|0,c[R>>2]|0);YG(c[O>>2]|0,wa);ix(c[Ba>>2]|0,76,1,c[ea>>2]|0)|0;if(c[Z>>2]|0)ix(c[Ba>>2]|0,3,c[wa+4>>2]|0,c[X>>2]|0)|0;else{rD(c[pa>>2]|0);HA(c[Ba>>2]|0,c[W>>2]|0)|0}ix(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;Yz(c[Ba>>2]|0,c[S>>2]|0)|0;c[V>>2]=wx(c[Ba>>2]|0)|0;ix(c[Ba>>2]|0,76,1,c[aa>>2]|0)|0;Sz(c[Ba>>2]|0,72,c[ta>>2]|0)|0;_z(c[Ba>>2]|0,c[T>>2]|0);c[T>>2]=wx(c[Ba>>2]|0)|0;ix(c[Ba>>2]|0,66,c[ea>>2]|0,(c[T>>2]|0)+2|0)|0;Sz(c[Ba>>2]|0,72,c[ta>>2]|0)|0;ZG(c[O>>2]|0,wa);iB(c[O>>2]|0,c[ma>>2]|0,(c[T>>2]|0)+1|0,16);SG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,ya,xa,c[Q>>2]|0,(c[T>>2]|0)+1|0,c[V>>2]|0);Sz(c[Ba>>2]|0,72,c[ta>>2]|0)|0;_z(c[Ba>>2]|0,c[U>>2]|0);_G(c[O>>2]|0,wa);Sz(c[Ba>>2]|0,72,c[va>>2]|0)|0}else{c[G>>2]=0;Aa=$G(c[P>>2]|0,wa)|0;c[K>>2]=Aa;if(Aa){c[D>>2]=Fh(c[c[O>>2]>>2]|0,c[(c[K>>2]|0)+64>>2]|0)|0;za=(c[O>>2]|0)+40|0;Aa=c[za>>2]|0;c[za>>2]=Aa+1;c[C>>2]=Aa;c[I>>2]=0;c[F>>2]=0;c[E>>2]=c[(c[K>>2]|0)+28>>2];sx(c[O>>2]|0,c[D>>2]|0);Tz(c[O>>2]|0,c[D>>2]|0,c[(c[K>>2]|0)+28>>2]|0,0,c[c[K>>2]>>2]|0);if(d[(c[K>>2]|0)+42>>0]&32)c[F>>2]=Jj(c[K>>2]|0)|0;c[H>>2]=c[(c[K>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;do if(!((d[(c[H>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[K>>2]|0)+40>>1]|0))break;if(c[(c[H>>2]|0)+36>>2]|0)break;if((c[F>>2]|0)!=0?(b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[F>>2]|0)+48>>1]|0):0)break;c[F>>2]=c[H>>2]}while(0);c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[F>>2]|0){c[E>>2]=c[(c[F>>2]|0)+44>>2];c[I>>2]=hA(c[O>>2]|0,c[F>>2]|0)|0}Ih(c[Ba>>2]|0,104,c[C>>2]|0,c[E>>2]|0,c[D>>2]|0,1)|0;if(c[I>>2]|0)Mh(c[Ba>>2]|0,-1,c[I>>2]|0,-6);ix(c[Ba>>2]|0,100,c[C>>2]|0,c[(c[wa+40>>2]|0)+8>>2]|0)|0;Sz(c[Ba>>2]|0,111,c[C>>2]|0)|0;aH(c[O>>2]|0,c[K>>2]|0,c[F>>2]|0)}else{c[J>>2]=0;a[B>>0]=0;if(!(c[(c[P>>2]|0)+40>>2]|0))a[B>>0]=bH(wa,J)|0;do if(a[B>>0]|0){c[J>>2]=Qy(c[Y>>2]|0,c[J>>2]|0,0)|0;c[G>>2]=c[J>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;a[(c[(c[J>>2]|0)+4>>2]|0)+12>>0]=(d[B>>0]|0)!=1?1:0;a[c[c[(c[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);_G(c[O>>2]|0,wa);c[pa>>2]=qD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[J>>2]|0,0,d[B>>0]|0,0)|0;if(!(c[pa>>2]|0)){ev(c[Y>>2]|0,c[G>>2]|0);break}YG(c[O>>2]|0,wa);if((OG(c[pa>>2]|0)|0)>0){Aa=c[Ba>>2]|0;Yz(Aa,RG(c[pa>>2]|0)|0)|0}rD(c[pa>>2]|0);ZG(c[O>>2]|0,wa)}c[ya>>2]=0;iB(c[O>>2]|0,c[ma>>2]|0,c[S>>2]|0,16);SG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,0,0,c[Q>>2]|0,c[S>>2]|0,c[S>>2]|0);ev(c[Y>>2]|0,c[G>>2]|0)}_z(c[Ba>>2]|0,c[S>>2]|0)}if((d[xa+1>>0]|0)==3)VG(c[O>>2]|0,35649);if(c[ya>>2]|0){VG(c[O>>2]|0,(c[ya+4>>2]|0)>0?35667:35690);cH(c[O>>2]|0,c[P>>2]|0,ya,c[c[ka>>2]>>2]|0,c[Q>>2]|0)}_z(c[Ba>>2]|0,c[ca>>2]|0);c[ra>>2]=(c[(c[O>>2]|0)+36>>2]|0)>0&1}}while(0);c[(c[O>>2]|0)+420>>2]=c[da>>2];if((c[ra>>2]|0)==0?(d[c[Q>>2]>>0]|0)==9:0)dH(c[O>>2]|0,c[oa>>2]|0,c[ka>>2]|0);Tf(c[Y>>2]|0,c[wa+28>>2]|0);Tf(c[Y>>2]|0,c[wa+40>>2]|0);c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}function Qv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;d=l+24|0;e=l+20|0;j=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+48>>2]|0)){i=l;return}c[j>>2]=0;c[f>>2]=0;c[h>>2]=c[e>>2];while(1){if(!(c[h>>2]|0))break;c[(c[h>>2]|0)+52>>2]=c[j>>2];a=(c[h>>2]|0)+8|0;c[a>>2]=c[a>>2]|256;c[j>>2]=c[h>>2];c[h>>2]=c[(c[h>>2]|0)+48>>2];c[f>>2]=(c[f>>2]|0)+1}if(c[(c[e>>2]|0)+8>>2]&1024){i=l;return}a=c[(c[c[d>>2]>>2]|0)+96+16>>2]|0;c[g>>2]=a;if((a|0)<=0){i=l;return}if((c[f>>2]|0)<=(c[g>>2]|0)){i=l;return}Eh(c[d>>2]|0,35575,k);i=l;return}function Rv(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;v=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[l>>2]>>2];if((c[m>>2]|0)==0?(c[r>>2]|0)!=0|(c[s>>2]|0)!=0:0){j=c[l>>2]|0;c[v>>2]=(c[r>>2]|0)!=0?35530:35533;Eh(j,35539,v)}else w=4;if(((w|0)==4?(c[m>>2]=_v(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[m>>2]|0)!=0):0)?(c[c[m>>2]>>2]|0)!=0:0){c[u>>2]=(c[m>>2]|0)+8+(((c[c[m>>2]>>2]|0)-1|0)*72|0);if(c[(c[p>>2]|0)+4>>2]|0){w=Tw(c[t>>2]|0,c[p>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=w}c[(c[u>>2]|0)+20>>2]=c[q>>2];c[(c[u>>2]|0)+48>>2]=c[r>>2];c[(c[u>>2]|0)+52>>2]=c[s>>2];c[k>>2]=c[m>>2];w=c[k>>2]|0;i=x;return w|0}iv(c[t>>2]|0,c[r>>2]|0);kv(c[t>>2]|0,c[s>>2]|0);fv(c[t>>2]|0,c[q>>2]|0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}function Sv(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;z=B+72|0;A=B+4|0;y=B;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;c[w>>2]=m;c[x>>2]=n;c[y>>2]=c[c[o>>2]>>2];l=Vw(c[y>>2]|0,68,0)|0;c[z>>2]=l;c[z>>2]=(c[z>>2]|0)==0?A:l;if(!(c[p>>2]|0)){l=c[o>>2]|0;c[p>>2]=Tv(l,0,Wv(c[y>>2]|0,160,0)|0)|0}c[c[z>>2]>>2]=c[p>>2];a[(c[z>>2]|0)+4>>0]=119;c[(c[z>>2]|0)+8>>2]=c[v>>2];c[(c[z>>2]|0)+12>>2]=0;c[(c[z>>2]|0)+16>>2]=0;c[(c[z>>2]|0)+20>>2]=-1;c[(c[z>>2]|0)+20+4>>2]=-1;b[(c[z>>2]|0)+6>>1]=0;if(!(c[q>>2]|0))c[q>>2]=sh(c[y>>2]|0,80,0)|0;c[(c[z>>2]|0)+28>>2]=c[q>>2];c[(c[z>>2]|0)+32>>2]=c[r>>2];c[(c[z>>2]|0)+36>>2]=c[s>>2];c[(c[z>>2]|0)+40>>2]=c[t>>2];c[(c[z>>2]|0)+44>>2]=c[u>>2];c[(c[z>>2]|0)+48>>2]=0;c[(c[z>>2]|0)+52>>2]=0;c[(c[z>>2]|0)+56>>2]=c[w>>2];c[(c[z>>2]|0)+60>>2]=c[x>>2];c[(c[z>>2]|0)+64>>2]=0;if(!(a[(c[y>>2]|0)+69>>0]|0)){A=c[z>>2]|0;i=B;return A|0}gv(c[y>>2]|0,c[z>>2]|0,(c[z>>2]|0)!=(A|0)&1);c[z>>2]=0;A=c[z>>2]|0;i=B;return A|0}function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=Vw(c[j>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=Vw(c[j>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)e=7;else e=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=Uw(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))e=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];e=7}}else e=7;if((e|0)==7){j=c[g>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(m*20|0);m=c[k>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[k>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;i=l;return m|0}else if((e|0)==8){iv(c[j>>2]|0,c[h>>2]|0);ev(c[j>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}return 0}function Uv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);a=Yw(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[k>>2]|0)+4>>2]=a;if(!(c[j>>2]|0)){i=l;return}Zw(c[(c[k>>2]|0)+4>>2]|0);i=l;return}function Vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[k>>2]>>2];if(!(c[e>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Tf(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);k=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;k=Yw(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=k;i=j;return}function Wv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)e=Jf(c[e>>2]|0)|0;else e=0;c[h+4>>2]=e;h=jw(c[f>>2]|0,c[g>>2]|0,h,0)|0;i=j;return h|0}function Xv(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){i=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[(c[d>>2]|0)+8+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[(c[d>>2]|0)+8+36>>0]=0;i=f;return}function Yv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=k;return}if((c[c[g>>2]>>2]|0)<=0){i=k;return}c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-2|1;i=k;return}b=Tw(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+64>>2]=b;b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-3|((c[(c[j>>2]|0)+64>>2]|0)!=0&1)<<1&255;i=k;return}function Zv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[j>>2]|0)+64>>2]=c[h>>2];b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-5|4;i=k;return}else{ev(c[c[f>>2]>>2]|0,c[h>>2]|0);i=k;return}}function _v(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=Vw(c[h>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}while(0);c[j>>2]=DG(c[h>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[h>>2]|0)+69>>0]|0){hv(c[h>>2]|0,c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[n>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[n>>2]}n=Tw(c[h>>2]|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n;n=Tw(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=n;c[g>>2]=c[j>>2];n=c[g>>2]|0;i=o;return n|0}function $v(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;r=u+16|0;q=u;g=u+64|0;h=u+60|0;j=u+56|0;k=u+52|0;o=u+48|0;l=u+36|0;p=u+32|0;m=u+28|0;n=u+24|0;s=u+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[l>>2]=c[h>>2];c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=3)break;if(!(c[l+(c[m>>2]<<2)>>2]|0))break;c[p>>2]=c[l+(c[m>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=7)break;if((c[(c[p>>2]|0)+4>>2]|0)==(d[35374+((c[n>>2]|0)*3|0)+1>>0]|0|0)?(zd(c[c[p>>2]>>2]|0,35395+(d[35374+((c[n>>2]|0)*3|0)>>0]|0)|0,c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[n>>2]=(c[n>>2]|0)+1}if((t|0)==8){t=0;c[o>>2]=c[o>>2]|(d[35374+((c[n>>2]|0)*3|0)+2>>0]|0)}if((c[n>>2]|0)>=7){t=11;break}c[m>>2]=(c[m>>2]|0)+1}if((t|0)==11)c[o>>2]=c[o>>2]|64;if((c[o>>2]&33|0)!=33?(c[o>>2]&64|0)==0:0){if(!(c[o>>2]&32)){t=c[o>>2]|0;i=u;return t|0}if((c[o>>2]&24|0)==8){t=c[o>>2]|0;i=u;return t|0}Eh(c[g>>2]|0,35475,r);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[s>>2]=35429;if(!(c[k>>2]|0))c[s>>2]=(c[s>>2]|0)+1;t=c[g>>2]|0;a=c[j>>2]|0;r=c[s>>2]|0;s=c[k>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=a;c[q+8>>2]=r;c[q+12>>2]=s;Eh(t,35431,q);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}function aw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];i=g;return}function bw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){i=j;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+472>>2];c[(c[f>>2]|0)+472>>2]=c[g>>2];if(!(a[h>>0]|0)){i=j;return}c[(c[f>>2]|0)+476>>2]=c[g>>2];i=j;return}function cw(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+192|0;G=X+176|0;H=X+172|0;I=X+168|0;W=X+164|0;U=X+160|0;M=X+156|0;F=X+152|0;S=X+148|0;n=X+144|0;N=X+140|0;P=X+136|0;o=X+132|0;L=X+128|0;V=X+120|0;r=X+88|0;l=X+84|0;R=X+80|0;q=X+76|0;y=X+72|0;v=X+64|0;J=X+60|0;T=X+56|0;m=X+52|0;p=X+184|0;A=X+48|0;C=X+182|0;O=X+44|0;B=X+40|0;u=X+36|0;K=X+32|0;j=X+28|0;w=X+24|0;Q=X+20|0;D=X+16|0;s=X+180|0;k=X+12|0;E=X+8|0;x=X+4|0;z=X;c[G>>2]=f;c[H>>2]=g;c[I>>2]=h;c[N>>2]=0;c[P>>2]=0;c[R>>2]=-1;c[J>>2]=0;c[m>>2]=0;b[p>>1]=1;c[O>>2]=0;c[B>>2]=0;c[u>>2]=0;c[K>>2]=0;c[j>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[L>>2]=c[c[G>>2]>>2];a:do if(((c[(c[G>>2]|0)+36>>2]|0)==0?(d[(c[L>>2]|0)+69>>0]|0)==0:0)?(c[U>>2]=bC(c[G>>2]|0,c[H>>2]|0)|0,(c[U>>2]|0)!=0):0){c[D>>2]=TC(c[G>>2]|0,c[U>>2]|0,109,0,0)|0;c[Q>>2]=(c[(c[U>>2]|0)+12>>2]|0)!=0&1;if(c[D>>2]|0)f=1;else f=(lF(c[G>>2]|0,c[U>>2]|0,0,0)|0)!=0;c[w>>2]=f&1;if(((Tx(c[G>>2]|0,c[U>>2]|0)|0)==0?(UC(c[G>>2]|0,c[U>>2]|0,(c[D>>2]|0)!=0?1:0)|0)==0:0)?(c[l>>2]=Fh(c[L>>2]|0,c[(c[U>>2]|0)+64>>2]|0)|0,c[q>>2]=ax(c[G>>2]|0,9,c[c[U>>2]>>2]|0,0,c[(c[(c[L>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0,(c[q>>2]|0)!=1):0){g=(c[G>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[(c[H>>2]|0)+8+44>>2]=h;c[n>>2]=h;c[o>>2]=0;c[S>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[S>>2]|0))break;h=(c[G>>2]|0)+40|0;c[h>>2]=(c[h>>2]|0)+1;c[S>>2]=c[(c[S>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[Q>>2]|0)yG(c[G>>2]|0,V,c[c[U>>2]>>2]|0);c[W>>2]=dx(c[G>>2]|0)|0;if(c[W>>2]|0){if(!(d[(c[G>>2]|0)+18>>0]|0))VC(c[W>>2]|0);rx(c[G>>2]|0,1,c[l>>2]|0);if(c[Q>>2]|0){zG(c[G>>2]|0,c[U>>2]|0,c[I>>2]|0,c[n>>2]|0);h=c[n>>2]|0;c[P>>2]=h;c[N>>2]=h};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r>>2]=c[G>>2];c[r+4>>2]=c[H>>2];if(!(Ay(r,c[I>>2]|0)|0)){if(c[(c[L>>2]|0)+24>>2]&128){g=(c[G>>2]|0)+44|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[R>>2]=h;ix(c[W>>2]|0,76,0,c[R>>2]|0)|0}b:do if(!((c[q>>2]|0)==0&(c[I>>2]|0)==0^1|(c[w>>2]|0)!=0)?(d[(c[U>>2]|0)+42>>0]&16|0)==0:0){Tz(c[G>>2]|0,c[l>>2]|0,c[(c[U>>2]|0)+28>>2]|0,1,c[c[U>>2]>>2]|0);if(!(d[(c[U>>2]|0)+42>>0]&32))mx(c[W>>2]|0,131,c[(c[U>>2]|0)+28>>2]|0,c[l>>2]|0,c[R>>2]|0,c[c[U>>2]>>2]|0,-2)|0;c[S>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[S>>2]|0))break b;ix(c[W>>2]|0,131,c[(c[S>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[S>>2]=c[(c[S>>2]|0)+20>>2]}}else t=29;while(0);c:do if((t|0)==29){b[s>>1]=1044;if(e[r+28>>1]&64)c[w>>2]=1;b[s>>1]=e[s>>1]|((c[w>>2]|0)!=0?0:8);if(!(d[(c[U>>2]|0)+42>>0]&32)){c[T>>2]=0;b[p>>1]=1;r=(c[G>>2]|0)+44|0;t=(c[r>>2]|0)+1|0;c[r>>2]=t;c[B>>2]=t;ix(c[W>>2]|0,79,0,c[B>>2]|0)|0}else{c[T>>2]=Jj(c[U>>2]|0)|0;b[p>>1]=b[(c[T>>2]|0)+50>>1]|0;c[m>>2]=(c[(c[G>>2]|0)+44>>2]|0)+1;r=(c[G>>2]|0)+44|0;c[r>>2]=(c[r>>2]|0)+(b[p>>1]|0);r=(c[G>>2]|0)+40|0;t=c[r>>2]|0;c[r>>2]=t+1;c[O>>2]=t;c[j>>2]=ix(c[W>>2]|0,107,c[O>>2]|0,b[p>>1]|0)|0;Vz(c[G>>2]|0,c[T>>2]|0)}c[F>>2]=qD(c[G>>2]|0,c[H>>2]|0,c[I>>2]|0,0,0,b[s>>1]|0,(c[n>>2]|0)+1|0)|0;if(!(c[F>>2]|0))break a;c[y>>2]=BG(c[F>>2]|0,v)|0;if(c[(c[L>>2]|0)+24>>2]&128)ix(c[W>>2]|0,91,c[R>>2]|0,1)|0;do if(c[T>>2]|0){c[M>>2]=0;while(1){if((c[M>>2]|0)>=(b[p>>1]|0))break;NA(c[W>>2]|0,c[U>>2]|0,c[n>>2]|0,b[(c[(c[T>>2]|0)+4>>2]|0)+(c[M>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[M>>2]|0)|0);c[M>>2]=(c[M>>2]|0)+1}c[A>>2]=c[m>>2]}else{c[A>>2]=(c[(c[G>>2]|0)+44>>2]|0)+1;c[A>>2]=TA(c[G>>2]|0,c[U>>2]|0,-1,c[n>>2]|0,c[A>>2]|0,0)|0;if((c[A>>2]|0)<=(c[(c[G>>2]|0)+44>>2]|0))break;c[(c[G>>2]|0)+44>>2]=c[A>>2]}while(0);do if(!(c[y>>2]|0))if(c[T>>2]|0){q=(c[G>>2]|0)+44|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;b[C>>1]=0;o=c[W>>2]|0;q=c[m>>2]|0;r=b[p>>1]|0;s=c[A>>2]|0;t=CC(c[c[G>>2]>>2]|0,c[T>>2]|0)|0;mx(o,99,q,r,s,t,b[p>>1]|0)|0;ix(c[W>>2]|0,126,c[O>>2]|0,c[A>>2]|0)|0;break}else{b[C>>1]=1;ix(c[W>>2]|0,142,c[B>>2]|0,c[A>>2]|0)|0;break}else{b[C>>1]=b[p>>1]|0;t=(c[o>>2]|0)+2|0;c[J>>2]=Vw(c[L>>2]|0,t,((t|0)<0)<<31>>31)|0;if(!(c[J>>2]|0)){rD(c[F>>2]|0);break a}VR(c[J>>2]|0,1,(c[o>>2]|0)+1|0)|0;a[(c[J>>2]|0)+((c[o>>2]|0)+1)>>0]=0;if((c[v>>2]|0)>=0)a[(c[J>>2]|0)+((c[v>>2]|0)-(c[n>>2]|0))>>0]=0;if((c[v+4>>2]|0)>=0)a[(c[J>>2]|0)+((c[v+4>>2]|0)-(c[n>>2]|0))>>0]=0;if(!(c[j>>2]|0))break;HA(c[W>>2]|0,c[j>>2]|0)|0}while(0);if(c[y>>2]|0)c[u>>2]=Wz(c[W>>2]|0)|0;else rD(c[F>>2]|0);do if(!(c[Q>>2]|0)){c[k>>2]=0;if((c[y>>2]|0)==2)c[k>>2]=fx(c[W>>2]|0,20)|0;FC(c[G>>2]|0,c[U>>2]|0,105,8,c[n>>2]|0,c[J>>2]|0,N,P)|0;if((c[y>>2]|0)!=2)break;Zz(c[W>>2]|0,c[k>>2]|0)}while(0);do if(!(c[y>>2]|0)){f=c[W>>2]|0;if(c[T>>2]|0){c[K>>2]=Sz(f,57,c[O>>2]|0)|0;ix(c[W>>2]|0,121,c[O>>2]|0,c[A>>2]|0)|0;break}else{c[K>>2]=jx(f,62,c[B>>2]|0,0,c[A>>2]|0)|0;break}}else{if(d[(c[U>>2]|0)+42>>0]&16)break;if(!(d[(c[J>>2]|0)+((c[N>>2]|0)-(c[n>>2]|0))>>0]|0))break;Ih(c[W>>2]|0,30,c[N>>2]|0,c[u>>2]|0,c[A>>2]|0,b[C>>1]|0)|0}while(0);do if(d[(c[U>>2]|0)+42>>0]&16){c[E>>2]=Ux(c[L>>2]|0,c[U>>2]|0)|0;dD(c[G>>2]|0,c[U>>2]|0);mx(c[W>>2]|0,12,0,1,c[A>>2]|0,c[E>>2]|0,-10)|0;Jh(c[W>>2]|0,2);Vx(c[G>>2]|0);if((c[y>>2]|0)!=1)break;if(c[(c[G>>2]|0)+124>>2]|0)break;a[(c[G>>2]|0)+20>>0]=0}else{c[x>>2]=(d[(c[G>>2]|0)+18>>0]|0)==0&1;c[z>>2]=-1;do if(!(c[w>>2]|0)){if((c[v+4>>2]|0)==(c[N>>2]|0))break;c[z>>2]=c[v+4>>2]}while(0);nF(c[G>>2]|0,c[U>>2]|0,c[D>>2]|0,c[N>>2]|0,c[P>>2]|0,c[A>>2]|0,b[C>>1]|0,c[x>>2]&255,10,c[y>>2]&255,c[z>>2]|0)}while(0);do if(!(c[y>>2]|0)){f=c[W>>2]|0;if(c[T>>2]|0){ix(f,7,c[O>>2]|0,(c[K>>2]|0)+1|0)|0;Zz(c[W>>2]|0,c[K>>2]|0);break}else{Yz(f,c[K>>2]|0)|0;Zz(c[W>>2]|0,c[K>>2]|0);break}}else{_z(c[W>>2]|0,c[u>>2]|0);rD(c[F>>2]|0)}while(0);if(c[Q>>2]|0)break;if(d[(c[U>>2]|0)+42>>0]&16)break;if(!(c[T>>2]|0))Sz(c[W>>2]|0,111,c[N>>2]|0)|0;c[M>>2]=0;c[S>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[S>>2]|0))break c;Sz(c[W>>2]|0,111,(c[P>>2]|0)+(c[M>>2]|0)|0)|0;c[M>>2]=(c[M>>2]|0)+1;c[S>>2]=c[(c[S>>2]|0)+20>>2]}}while(0);if((d[(c[G>>2]|0)+18>>0]|0)==0?(c[(c[G>>2]|0)+128>>2]|0)==0:0)hD(c[G>>2]|0);if(((c[(c[L>>2]|0)+24>>2]&128|0)!=0?(a[(c[G>>2]|0)+18>>0]|0)==0:0)?(c[(c[G>>2]|0)+128>>2]|0)==0:0){ix(c[W>>2]|0,87,c[R>>2]|0,1)|0;mC(c[W>>2]|0,1);nC(c[W>>2]|0,0,0,35361,0)|0}}}}}while(0);CG(V);hv(c[L>>2]|0,c[H>>2]|0);iv(c[L>>2]|0,c[I>>2]|0);Tf(c[L>>2]|0,c[J>>2]|0);i=X;return}function dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+96+8>>2];if(!(c[f>>2]|0)){i=k;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){i=k;return}d=c[e>>2]|0;c[j>>2]=c[g>>2];Eh(d,35338,j);i=k;return}function ew(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;q=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;p=oa+120|0;l=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;n=oa+28|0;o=oa+24|0;m=oa+250|0;u=oa+20|0;w=oa+248|0;r=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;c[X>>2]=f;c[Y>>2]=g;c[Z>>2]=h;c[_>>2]=j;c[K>>2]=k;c[ba>>2]=0;c[L>>2]=0;c[aa>>2]=0;c[z>>2]=0;c[fa>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[V>>2]=0;c[U>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[T>>2]=0;c[ma>>2]=0;c[ma+4>>2]=0;c[ca>>2]=c[c[X>>2]>>2];if(c[(c[X>>2]|0)+36>>2]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(d[(c[ca>>2]|0)+69>>0]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[ka>>2]=bC(c[X>>2]|0,c[Y>>2]|0)|0;if(!(c[ka>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[l>>2]=Fh(c[c[X>>2]>>2]|0,c[(c[ka>>2]|0)+64>>2]|0)|0;c[S>>2]=TC(c[X>>2]|0,c[ka>>2]|0,110,c[Z>>2]|0,G)|0;c[H>>2]=(c[(c[ka>>2]|0)+12>>2]|0)!=0&1;if(Tx(c[X>>2]|0,c[ka>>2]|0)|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(UC(c[X>>2]|0,c[ka>>2]|0,c[G>>2]|0)|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}g=(c[X>>2]|0)+40|0;j=c[g>>2]|0;c[g>>2]=j+1;c[ea>>2]=j;c[t>>2]=j;c[(c[Y>>2]|0)+8+44>>2]=j;c[ga>>2]=(c[ea>>2]|0)+1;if(!(d[(c[ka>>2]|0)+42>>0]&32))k=0;else k=Jj(c[ka>>2]|0)|0;c[ja>>2]=k;c[v>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if((c[ja>>2]|0)!=0?(a[(c[ia>>2]|0)+55>>0]&3|0)==2:0){c[ea>>2]=c[(c[X>>2]|0)+40>>2];c[(c[Y>>2]|0)+8+44>>2]=c[ea>>2]}j=(c[X>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+1;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}c[aa>>2]=Vw(c[ca>>2]|0,((b[(c[ka>>2]|0)+34>>1]|0)+(c[v>>2]|0)<<2)+(c[v>>2]|0)+2|0,0)|0;if(!(c[aa>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[L>>2]=(c[aa>>2]|0)+(b[(c[ka>>2]|0)+34>>1]<<2);c[$>>2]=(c[L>>2]|0)+(c[v>>2]<<2);VR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;a[(c[$>>2]|0)+((c[v>>2]|0)+1)>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[X>>2];c[p+4>>2]=c[Y>>2];a[y>>0]=0;a[B>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[c[Z>>2]>>2]|0)){J=41;break}if(Ay(p,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;j=(ig(c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[C>>2]|0;if(j){J=23;break}c[C>>2]=k+1}if((J|0)==23){J=0;if((k|0)!=(b[(c[ka>>2]|0)+32>>1]|0)){if((c[ja>>2]|0)!=0?(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)+15>>0]&1|0)!=0:0)a[y>>0]=1}else{a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=c[da>>2]}if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0)){if(c[ja>>2]|0){J=34;break}if(!(ui(c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[C>>2]=-1;a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}if((c[C>>2]|0)<0)k=19895;else k=c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0;c[n>>2]=ax(c[X>>2]|0,23,c[c[ka>>2]>>2]|0,k,c[(c[(c[ca>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1){J=185;break}if((c[n>>2]|0)==2)c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}if((J|0)==34){na=c[X>>2]|0;c[q>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2];Eh(na,24144,q);a[(c[X>>2]|0)+17>>0]=1;CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}else if((J|0)==41){a[O>>0]=(d[B>>0]|0)+(d[y>>0]|0);n=(d[(c[ka>>2]|0)+42>>0]&16|0)!=0;q=(c[Y>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[P>>2]=lF(c[X>>2]|0,c[ka>>2]|0,c[aa>>2]|0,d[O>>0]|0)|0;c[C>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;a:do if((!((d[O>>0]|0)!=0|(c[P>>2]|0)!=0)?(c[(c[ia>>2]|0)+36>>2]|0)==0:0)?(c[ia>>2]|0)!=(c[ja>>2]|0):0){c[o>>2]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(e[(c[ia>>2]|0)+50>>1]|0))break a;b[m>>1]=b[(c[(c[ia>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0;if((b[m>>1]|0)<0)break;if((c[(c[aa>>2]|0)+(b[m>>1]<<2)>>2]|0)>=0)break;c[da>>2]=(c[da>>2]|0)+1}n=(c[X>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[X>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[$>>2]|0)+((c[C>>2]|0)+1)>>0]=0;c[(c[L>>2]|0)+(c[C>>2]<<2)>>2]=c[o>>2];c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[C>>2]=(c[C>>2]|0)+1}c[na>>2]=dx(c[X>>2]|0)|0;if(!(c[na>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(!(d[(c[X>>2]|0)+18>>0]|0))VC(c[na>>2]|0);rx(c[X>>2]|0,1,c[l>>2]|0);if(!(d[(c[ka>>2]|0)+42>>0]&16)){q=(c[X>>2]|0)+44|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;o=(c[X>>2]|0)+44|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q;c[V>>2]=q;if((d[y>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){c[F>>2]=(c[(c[X>>2]|0)+44>>2]|0)+1;q=(c[X>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if((d[O>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){o=(c[X>>2]|0)+44|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q}c[I>>2]=(c[(c[X>>2]|0)+44>>2]|0)+1;q=(c[X>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if(c[H>>2]|0)yG(c[X>>2]|0,ma,c[c[ka>>2]>>2]|0);if(c[H>>2]|0)zG(c[X>>2]|0,c[ka>>2]|0,c[_>>2]|0,c[ea>>2]|0);if(Ay(p,c[_>>2]|0)|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(d[(c[ka>>2]|0)+42>>0]&16){AG(c[X>>2]|0,c[Y>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[z>>2]|0,c[aa>>2]|0,c[_>>2]|0,c[K>>2]|0);CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(!(d[(c[ka>>2]|0)+42>>0]&32)){jx(c[na>>2]|0,79,0,c[A>>2]|0,c[V>>2]|0)|0;c[x>>2]=qD(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,1028,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[R>>2]=BG(c[x>>2]|0,s)|0;ix(c[na>>2]|0,123,c[ea>>2]|0,c[V>>2]|0)|0;if(!(c[R>>2]|0))ix(c[na>>2]|0,142,c[A>>2]|0,c[V>>2]|0)|0;rD(c[x>>2]|0)}else{b[w>>1]=b[(c[ja>>2]|0)+50>>1]|0;c[u>>2]=(c[(c[X>>2]|0)+44>>2]|0)+1;q=(c[X>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[X>>2]|0)+44|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[T>>2]=p;p=(c[X>>2]|0)+40|0;q=c[p>>2]|0;c[p>>2]=q+1;c[fa>>2]=q;ix(c[na>>2]|0,79,0,c[u>>2]|0)|0;c[r>>2]=ix(c[na>>2]|0,107,c[fa>>2]|0,b[w>>1]|0)|0;Vz(c[X>>2]|0,c[ja>>2]|0);c[x>>2]=qD(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[R>>2]=BG(c[x>>2]|0,s)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[w>>1]|0))break;NA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,b[(c[(c[ja>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0,(c[u>>2]|0)+(c[da>>2]|0)|0);c[da>>2]=(c[da>>2]|0)+1}k=c[na>>2]|0;if(c[R>>2]|0){HA(k,c[r>>2]|0)|0;c[Q>>2]=b[w>>1];c[T>>2]=c[u>>2]}else{p=c[u>>2]|0;q=b[w>>1]|0;r=c[T>>2]|0;u=CC(c[ca>>2]|0,c[ja>>2]|0)|0;mx(k,99,p,q,r,u,b[w>>1]|0)|0;ix(c[na>>2]|0,126,c[fa>>2]|0,c[T>>2]|0)|0}rD(c[x>>2]|0)}if((c[(c[ca>>2]|0)+24>>2]&128|0)!=0?(c[(c[X>>2]|0)+128>>2]|0)==0:0){w=(c[X>>2]|0)+44|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[la>>2]=x;ix(c[na>>2]|0,76,0,c[la>>2]|0)|0}c[ha>>2]=Wz(c[na>>2]|0)|0;if(!(c[H>>2]|0)){b:do if((c[K>>2]|0)==5)VR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;else{c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break b;if((d[(c[ia>>2]|0)+54>>0]|0)==5)break;c[ia>>2]=c[(c[ia>>2]|0)+20>>2]}VR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0}while(0);do if(c[R>>2]|0){if((c[s>>2]|0)>=0)a[(c[$>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[s+4>>2]|0)<0)break;a[(c[$>>2]|0)+((c[s+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);FC(c[X>>2]|0,c[ka>>2]|0,105,0,c[t>>2]|0,c[$>>2]|0,0,0)|0}do if(!(c[R>>2]|0)){k=c[na>>2]|0;if(c[ja>>2]|0){c[W>>2]=Wz(k)|0;ix(c[na>>2]|0,57,c[fa>>2]|0,c[ha>>2]|0)|0;c[ba>>2]=ix(c[na>>2]|0,121,c[fa>>2]|0,c[T>>2]|0)|0;Ih(c[na>>2]|0,30,c[ea>>2]|0,c[W>>2]|0,c[T>>2]|0,0)|0;break}else{c[W>>2]=jx(k,62,c[A>>2]|0,c[ha>>2]|0,c[V>>2]|0)|0;jx(c[na>>2]|0,33,c[ea>>2]|0,c[W>>2]|0,c[V>>2]|0)|0;break}}else{if(!((c[H>>2]|0)!=0?1:(d[(c[$>>2]|0)+((c[ea>>2]|0)-(c[t>>2]|0))>>0]|0)==0))Ih(c[na>>2]|0,30,c[ea>>2]|0,c[ha>>2]|0,c[T>>2]|0,c[Q>>2]|0)|0;c[W>>2]=c[ha>>2];ix(c[na>>2]|0,34,(c[ja>>2]|0)!=0?c[T>>2]|0:c[V>>2]|0,c[ha>>2]|0)|0}while(0);if(a[B>>0]|0){RA(c[X>>2]|0,c[z>>2]|0,c[U>>2]|0);Sz(c[na>>2]|0,17,c[U>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[P>>2]|0)!=0|(c[S>>2]|0)!=0){if(c[P>>2]|0)k=qF(c[X>>2]|0,c[ka>>2]|0)|0;else k=0;c[E>>2]=k;A=pF(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,0,3,c[ka>>2]|0,c[K>>2]|0)|0;c[E>>2]=c[E>>2]|A;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;do if((c[E>>2]|0)==-1)J=120;else{if((c[da>>2]|0)<32?(c[E>>2]&1<>2]|0)!=0:0){J=120;break}if(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[da>>2]<<4)+15>>0]&1){J=120;break}ix(c[na>>2]|0,79,0,(c[F>>2]|0)+(c[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;NA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[F>>2]|0)+(c[da>>2]|0)|0)}c[da>>2]=(c[da>>2]|0)+1}if(!((d[B>>0]|0)==0&(c[ja>>2]|0)==0))break;ix(c[na>>2]|0,84,c[V>>2]|0,c[U>>2]|0)|0}while(0);c[D>>2]=pF(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,1,1,c[ka>>2]|0,c[K>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c:do if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))ix(c[na>>2]|0,79,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;else{c[C>>2]=c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2];if((c[C>>2]|0)>=0){RA(c[X>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0);break}do if(!((c[da>>2]|0)>31?1:0==(c[G>>2]&1|0))){if(c[D>>2]&1<>2])break;ix(c[na>>2]|0,79,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;break c}while(0);XD(c[X>>2]|0,c[ka>>2]|0,c[da>>2]|0,c[ea>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}d:do if(c[G>>2]&1){$C(c[na>>2]|0,c[ka>>2]|0,c[I>>2]|0);aD(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,1,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);k=c[na>>2]|0;h=c[ea>>2]|0;f=c[W>>2]|0;if(c[ja>>2]|0)Ih(k,30,h,f,c[T>>2]|0,c[Q>>2]|0)|0;else jx(k,33,h,f,c[V>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break d;do if((c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]|0)<0){if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))break;NA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[M>>2]=0;c[N>>2]=0;eD(c[X>>2]|0,c[ka>>2]|0,c[L>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[V>>2]|0,a[O>>0]|0,c[K>>2]&255,c[W>>2]|0,N,c[aa>>2]|0);if(c[P>>2]|0)fD(c[X>>2]|0,c[ka>>2]|0,c[V>>2]|0,0,c[aa>>2]|0,d[O>>0]|0);if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))J=151;do if((J|0)==151){k=c[na>>2]|0;h=c[ea>>2]|0;if(c[ja>>2]|0){c[M>>2]=Ih(k,30,h,0,c[T>>2]|0,c[Q>>2]|0)|0;break}else{c[M>>2]=jx(k,33,h,0,c[V>>2]|0)|0;break}}while(0);oF(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[L>>2]|0,-1);if(!((c[P>>2]|0)==0?!((d[O>>0]|0)!=0|(c[ja>>2]|0)!=0):0))ix(c[na>>2]|0,117,c[ea>>2]|0,0)|0;if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))Zz(c[na>>2]|0,c[M>>2]|0);if(c[P>>2]|0)fD(c[X>>2]|0,c[ka>>2]|0,0,c[U>>2]|0,c[aa>>2]|0,d[O>>0]|0);gD(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[L>>2]|0,1,0,0);if(!(c[P>>2]|0))break;rF(c[X>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[V>>2]|0,c[aa>>2]|0,d[O>>0]|0)}while(0);do if(c[(c[ca>>2]|0)+24>>2]&128){if(c[(c[X>>2]|0)+128>>2]|0)break;ix(c[na>>2]|0,91,c[la>>2]|0,1)|0}while(0);aD(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,2,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);do if(!(c[R>>2]|0)){h=c[na>>2]|0;k=c[W>>2]|0;if(c[ja>>2]|0){_z(h,k);ix(c[na>>2]|0,7,c[fa>>2]|0,c[ba>>2]|0)|0;break}else{Yz(h,k)|0;break}}while(0);_z(c[na>>2]|0,c[ha>>2]|0);c[da>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if(a[(c[$>>2]|0)+((c[da>>2]|0)+1)>>0]|0)ix(c[na>>2]|0,111,(c[ga>>2]|0)+(c[da>>2]|0)|0,0)|0;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[da>>2]=(c[da>>2]|0)+1}if((c[ea>>2]|0)<(c[ga>>2]|0))ix(c[na>>2]|0,111,c[ea>>2]|0,0)|0;do if(!(d[(c[X>>2]|0)+18>>0]|0)){if(c[(c[X>>2]|0)+128>>2]|0)break;hD(c[X>>2]|0)}while(0);if(!(c[(c[ca>>2]|0)+24>>2]&128)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(c[(c[X>>2]|0)+128>>2]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(a[(c[X>>2]|0)+18>>0]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}ix(c[na>>2]|0,87,c[la>>2]|0,1)|0;mC(c[na>>2]|0,1);nC(c[na>>2]|0,0,0,35325,0)|0;CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}else if((J|0)==185){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}}function fw(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;o=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[n>>2]=e;do if(!((c[j>>2]|0)==0|(c[k>>2]|0)==0)){c[o>>2]=cz(c[k>>2]|0)|0;if((c[(c[j>>2]|0)+4>>2]|0)!=(c[o>>2]|0)){p=c[g>>2]|0;o=c[o>>2]|0;c[q>>2]=c[(c[j>>2]|0)+4>>2];c[q+4>>2]=o;Eh(p,35295,q);break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=cF(c[g>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;c[h>>2]=Tv(c[g>>2]|0,c[h>>2]|0,c[p>>2]|0)|0;if(c[h>>2]|0){c[(c[(c[h>>2]|0)+4>>2]|0)+(((c[c[h>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<3)>>2];c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<3)>>2]=0}c[m>>2]=(c[m>>2]|0)+1}if(((c[h>>2]|0)!=0?(d[c[k>>2]>>0]|0|0)==119:0)?(c[(c[(c[h>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)!=0:0){c[(c[(c[(c[h>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)+16>>2]=c[k>>2];c[k>>2]=0}}while(0);iv(c[l>>2]|0,c[k>>2]|0);kv(c[l>>2]|0,c[j>>2]|0);i=r;return c[h>>2]|0} -function SH(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+576|0;G=I+16|0;s=I+8|0;n=I;C=I+572|0;u=I+568|0;p=I+564|0;v=I+560|0;l=I+556|0;w=I+552|0;q=I+548|0;H=I+544|0;E=I+540|0;x=I+536|0;F=I+56|0;m=I+48|0;o=I+44|0;t=I+40|0;r=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;D=I+20|0;c[C>>2]=b;c[u>>2]=e;c[p>>2]=f;c[v>>2]=g;c[l>>2]=h;c[w>>2]=j;c[q>>2]=k;c[H>>2]=0;c[E>>2]=0;VR(F|0,0,152)|0;b=F+400|0;f=b+80|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0));c[F+432>>2]=c[l>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((c[m>>2]|0)!=0?(c[E>>2]=TH(c[m>>2]|0)|0,(c[E>>2]|0)!=0):0){B=5;break}c[x>>2]=(c[x>>2]|0)+1}if((B|0)==5){c[o>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];H=c[C>>2]|0;G=c[E>>2]|0;c[n>>2]=c[o>>2];jg(H,G,39591,n);Ph(F);G=c[C>>2]|0;H=c[E>>2]|0;H=Ug(G,H)|0;c[E>>2]=H;H=c[E>>2]|0;i=I;return H|0}uu(c[C>>2]|0);c[F>>2]=c[C>>2];do if((c[p>>2]|0)>=0){if((c[p>>2]|0)!=0?(a[(c[u>>2]|0)+((c[p>>2]|0)-1)>>0]|0)==0:0){B=15;break}c[r>>2]=c[(c[C>>2]|0)+96+4>>2];b=c[C>>2]|0;if((c[p>>2]|0)>(c[r>>2]|0)){jg(b,18,39621,s);c[E>>2]=Ug(c[C>>2]|0,18)|0;Ph(F);G=c[C>>2]|0;H=c[E>>2]|0;H=Ug(G,H)|0;c[E>>2]=H;H=c[E>>2]|0;i=I;return H|0}s=c[p>>2]|0;c[t>>2]=Yw(b,c[u>>2]|0,s,((s|0)<0)<<31>>31)|0;if(c[t>>2]|0){Yh(F,c[t>>2]|0,H)|0;c[F+436>>2]=(c[u>>2]|0)+((c[F+436>>2]|0)-(c[t>>2]|0));Tf(c[C>>2]|0,c[t>>2]|0);break}else{c[F+436>>2]=(c[u>>2]|0)+(c[p>>2]|0);break}}else B=15;while(0);if((B|0)==15)Yh(F,c[u>>2]|0,H)|0;if((c[F+12>>2]|0)==101)c[F+12>>2]=0;if(a[F+17>>0]|0)UH(F);if(a[(c[C>>2]|0)+69>>0]|0)c[F+12>>2]=7;if(c[q>>2]|0)c[c[q>>2]>>2]=c[F+436>>2];c[E>>2]=c[F+12>>2];a:do if(((c[E>>2]|0)==0?(c[F+8>>2]|0)!=0:0)?(d[F+409>>0]|0)!=0:0){b=c[F+8>>2]|0;if((d[F+409>>0]|0)==2){mC(b,4);c[y>>2]=8;c[z>>2]=12}else{mC(b,8);c[y>>2]=0;c[z>>2]=8}c[x>>2]=c[y>>2];while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break a;nC(c[F+8>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0,0,c[5524+(c[x>>2]<<2)>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(d[(c[C>>2]|0)+148+5>>0]|0)){c[A>>2]=c[F+8>>2];VH(c[A>>2]|0,c[u>>2]|0,(c[F+436>>2]|0)-(c[u>>2]|0)|0,c[v>>2]|0)}do if(c[F+8>>2]|0){if((c[E>>2]|0)==0?(d[(c[C>>2]|0)+69>>0]|0)==0:0){B=39;break}Tg(c[F+8>>2]|0)|0}else B=39;while(0);if((B|0)==39)c[c[w>>2]>>2]=c[F+8>>2];b=c[C>>2]|0;f=c[E>>2]|0;if(c[H>>2]|0){c[G>>2]=c[H>>2];jg(b,f,18391,G);Tf(c[C>>2]|0,c[H>>2]|0)}else lg(b,f);while(1){if(!(c[F+468>>2]|0))break;c[D>>2]=c[F+468>>2];c[F+468>>2]=c[(c[D>>2]|0)+4>>2];Tf(c[C>>2]|0,c[D>>2]|0)}Ph(F);G=c[C>>2]|0;H=c[E>>2]|0;H=Ug(G,H)|0;c[E>>2]=H;H=c[E>>2]|0;i=I;return H|0}function TH(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=WH(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function UH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){b=14;break}c[g>>2]=0;c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[h>>2]|0){if(!(og(c[h>>2]|0)|0)){c[j>>2]=pg(c[h>>2]|0,0)|0;if((c[j>>2]|0)==7|(c[j>>2]|0)==3082)mh(c[e>>2]|0);if(c[j>>2]|0){b=14;break}c[g>>2]=1}rg(c[h>>2]|0,1,d);if((c[d>>2]|0)!=(c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]>>2]|0)){wj(c[e>>2]|0,c[f>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[g>>2]|0)Gj(c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1}if((b|0)==14){i=k;return}}function VH(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[g>>2]|0)){i=l;return}d=c[j>>2]|0;d=Yw(c[c[g>>2]>>2]|0,c[h>>2]|0,d,((d|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+176>>2]=d;d=(c[g>>2]|0)+144|0;b[d>>1]=b[d>>1]&-513|(c[k>>2]&1)<<9&65535;i=l;return}function WH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+20|0;n=q+4|0;o=q;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[k>>2]|0)+4>>2];if(!(a[(c[k>>2]|0)+9>>0]|0)){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[k>>2]|0)?(e[(c[n>>2]|0)+22>>1]&32|0)!=0:0){c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[k>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[l>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}function XH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if(c[k>>2]|0){c[g>>2]=YH(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[g>>2]|0;i=l;return m|0}if(c[j>>2]|0){m=(c[j>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}function YH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){_H(c[f>>2]|0);break}c[k>>2]=ZH(c[f>>2]|0)|0;if(c[k>>2]|0){f=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){f=11;break}}if((f|0)==8){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}else if((f|0)==11){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}return 0}function ZH(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=$H(c[e>>2]|0)|0;if(!(c[f>>2]|0)){_H(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;i=g;return c[f>>2]|0}function _H(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;QB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[(c[d>>2]|0)+68>>0]=-1;i=f;return}function $H(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;d=g;c[e>>2]=b;c[f>>2]=0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+69>>0]|0){d=aI(b)|0;e=(c[e>>2]|0)+40|0;c[e>>2]=d;c[e+4>>2]=C;f=c[f>>2]|0;i=g;return f|0}h=bI(b)|0;b=(c[e>>2]|0)+40|0;c[b>>2]=h;c[b+4>>2]=0;b=(c[e>>2]|0)+40|0;c[d>>2]=$f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[d>>2]|0)){c[f>>2]=7;h=c[f>>2]|0;i=g;return h|0}c[f>>2]=cI(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[d>>2]|0)|0;b=c[d>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=b;h=c[f>>2]|0;i=g;return h|0}else{Kd(b);h=c[f>>2]|0;i=g;return h|0}return 0}function aI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;SF(c[d>>2]|0);a=(c[d>>2]|0)+16|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function bI(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;SF(c[b>>2]|0);i=d;return c[(c[b>>2]|0)+16+12>>2]|0}function cI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=RF(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function dI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mg(c[c[d>>2]>>2]|0);i=b;return}function eI(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;i=e;return}function fI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;d=c[g>>2]|0;a=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=a+4|0;c[g>>2]=(c[g>>2]|0)-d;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;i=h;return g|0}else{g=a+8|0;c[g>>2]=(c[g>>2]|0)+d;g=c[f>>2]|0;i=h;return g|0}return 0}function gI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){IA(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[k>>2]|0)<0){Mh(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+88>>2]|0)|0)/20|0,c[j>>2]|0,c[k>>2]|0);i=l;return}if(!(c[k>>2]|0))c[k>>2]=Jf(c[j>>2]|0)|0;e=c[k>>2]|0;e=Yw(c[c[g>>2]>>2]|0,c[j>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=e;a[(c[h>>2]|0)+1>>0]=-1;i=l;return}function hI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function iI(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+9>>0]|0|0}function jI(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;g=q+32|0;h=q+28|0;j=q+24|0;l=q+20|0;m=q+16|0;p=q+12|0;n=q+8|0;k=q+4|0;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[j>>2]|0)+16>>2]|0){c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}if((c[(c[l>>2]|0)+4>>2]|0)!=0?(c[(c[l>>2]|0)+4>>2]|0)!=(c[(c[l>>2]|0)+8>>2]|0):0){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[m>>2]=sh(c[k>>2]|0,72,0)|0;if(!(c[m>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=qh(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[c[m>>2]>>2]=e;if(!(c[c[m>>2]>>2]|0)){Tf(c[k>>2]|0,c[m>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[(c[j>>2]|0)+16>>2]=c[m>>2];b[(c[m>>2]|0)+36>>1]=1;c[(c[m>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2];e=(c[m>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|16;c[(c[m>>2]|0)+48>>2]=0;b[(c[m>>2]|0)+32>>1]=-1;e=c[k>>2]|0;f=c[m>>2]|0;$w(e,f,qh(c[k>>2]|0,c[c[m>>2]>>2]|0)|0);$w(c[k>>2]|0,c[m>>2]|0,0);f=c[k>>2]|0;e=c[m>>2]|0;$w(f,e,qh(c[k>>2]|0,c[c[m>>2]>>2]|0)|0);c[n>>2]=Jz(c[k>>2]|0,c[m>>2]|0,c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,p)|0;if(c[n>>2]|0){n=c[h>>2]|0;c[o>>2]=c[p>>2];Eh(n,18391,o);Tf(c[k>>2]|0,c[p>>2]|0);kI(c[k>>2]|0,c[j>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}else{c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}return 0}function kI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[h>>2]|0)){i=j;return}e=(c[h>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|2;Rf(c[f>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+16>>2]=0;i=j;return}function lI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){k=6;break}c[g>>2]=$u(c[e>>2]|0,j)|0;d=c[g>>2]|0;if((c[j>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+d;c[e>>2]=(c[e>>2]|0)+(c[g>>2]|0)}if((k|0)==6){k=c[h>>2]|0;i=l;return k|0}c[c[f>>2]>>2]=d;k=c[h>>2]|0;i=l;return k|0}function mI(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Xg(c[e>>2]|0);d=c[e>>2]|0;a=c[f>>2]|0;e=d+40|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=g;return}function nI(){return 320}function oI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=a;c[h>>2]=d;TR(l|0,c[g>>2]|0,208)|0;TR(c[g>>2]|0,c[h>>2]|0,208)|0;TR(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+176>>2];c[(c[g>>2]|0)+176>>2]=c[(c[h>>2]|0)+176>>2];c[(c[h>>2]|0)+176>>2]=c[j>>2];d=(c[h>>2]|0)+144|0;b[d>>1]=b[d>>1]&-513|((e[(c[g>>2]|0)+144>>1]|0)>>>9&1)<<9&65535;i=f;return}function pI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+40>>2]=0;i=b;return}function qI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;f=j;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?(c[(c[d>>2]|0)+72>>2]|0)!=0:0){c[g>>2]=Yb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[g>>2]|0;i=j;return g|0}c[g>>2]=Yb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,f)|0;k=+h[f>>3]*864.0e5;a=+N(k)>=1.0?(k>0.0?~~+$(+M(k/4294967296.0),4294967295.0)>>>0:~~+Z((k-+(~~k>>>0))/4294967296.0)>>>0):0;f=c[e>>2]|0;c[f>>2]=~~k>>>0;c[f+4>>2]=a;g=c[g>>2]|0;i=j;return g|0}function rI(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+80|0;w=y+8|0;q=y;r=y+68|0;s=y+64|0;n=y+60|0;o=y+56|0;g=y+52|0;p=y+48|0;h=y+44|0;j=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;k=y+20|0;m=y+16|0;l=y+12|0;c[s>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[h>>2]=c[c[s>>2]>>2];c[v>>2]=0;c[t>>2]=(c[(c[s>>2]|0)+92>>2]|0)+40;OC(c[t>>2]|0,8);c[(c[s>>2]|0)+104>>2]=0;if((c[(c[s>>2]|0)+40>>2]|0)==7){mh(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;i=y;return x|0}c[n>>2]=c[(c[s>>2]|0)+136>>2];a:do if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)==1){c[p>>2]=(c[(c[s>>2]|0)+92>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16){c[o>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[g>>2]=c[(c[p>>2]|0)+16>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}while(0);do{z=(c[s>>2]|0)+36|0;f=c[z>>2]|0;c[z>>2]=f+1;c[j>>2]=f;if((c[j>>2]|0)>=(c[n>>2]|0))break;if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)!=2)break}while((d[(c[(c[s>>2]|0)+88>>2]|0)+((c[j>>2]|0)*20|0)>>0]|0)!=162);do if((c[j>>2]|0)>=(c[n>>2]|0)){c[(c[s>>2]|0)+40>>2]=0;c[v>>2]=101}else{if(c[(c[h>>2]|0)+248>>2]|0){c[(c[s>>2]|0)+40>>2]=9;c[v>>2]=1;z=c[s>>2]|0;AI(z,lh(c[(c[s>>2]|0)+40>>2]|0)|0,q);break}if((c[j>>2]|0)<(c[(c[s>>2]|0)+136>>2]|0))c[u>>2]=(c[(c[s>>2]|0)+88>>2]|0)+((c[j>>2]|0)*20|0);else{c[j>>2]=(c[j>>2]|0)-(c[(c[s>>2]|0)+136>>2]|0);c[k>>2]=0;while(1){if((c[j>>2]|0)<(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0)+((c[j>>2]|0)*20|0)}if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)==1?(b[(c[t>>2]|0)+8>>1]=4,q=c[j>>2]|0,z=c[t>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[t>>2]=(c[t>>2]|0)+40,b[(c[t>>2]|0)+8>>1]=2562,z=RM(d[c[u>>2]>>0]|0)|0,c[(c[t>>2]|0)+16>>2]=z,z=Jf(c[(c[t>>2]|0)+16>>2]|0)|0,c[(c[t>>2]|0)+12>>2]=z,a[(c[t>>2]|0)+10>>0]=1,c[t>>2]=(c[t>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[m>>2]=(c[o>>2]|0)+1<<2;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if((c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(c[o>>2]|0)?0==(Ox(c[p>>2]|0,c[m>>2]|0,(c[o>>2]|0)!=0&1)|0):0){c[g>>2]=c[(c[p>>2]|0)+16>>2];q=c[(c[u>>2]|0)+16>>2]|0;z=c[o>>2]|0;c[o>>2]=z+1;c[(c[g>>2]|0)+(z<<2)>>2]=q;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[o>>2]<<2}}b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[t>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;if(Nx(c[t>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}b[(c[t>>2]|0)+8>>1]=514;c[x>>2]=SM(c[u>>2]|0,c[(c[t>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;g=c[t>>2]|0;if((c[x>>2]|0)!=(c[(c[t>>2]|0)+16>>2]|0)){c[g+12>>2]=0;gh(c[t>>2]|0,c[x>>2]|0,-1,1,0)|0}else{z=Jf(c[g+16>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=z;a[(c[t>>2]|0)+10>>0]=1}c[t>>2]=(c[t>>2]|0)+40;do if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)==1){if(!(Nx(c[t>>2]|0,4)|0)){b[(c[t>>2]|0)+8>>1]=514;c[(c[t>>2]|0)+12>>2]=2;z=c[(c[t>>2]|0)+16>>2]|0;c[w>>2]=d[(c[u>>2]|0)+3>>0];Qd(3,z,41910,w)|0;a[(c[t>>2]|0)+10>>0]=1;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}while(0);b[(c[s>>2]|0)+140>>1]=8-(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3)-1<<2);c[(c[s>>2]|0)+104>>2]=(c[(c[s>>2]|0)+92>>2]|0)+40;c[(c[s>>2]|0)+40>>2]=0;c[v>>2]=100}while(0);c[r>>2]=c[v>>2];z=c[r>>2]|0;i=y;return z|0}function sI(f){f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Pb=0,Qb=0,Sb=0,Vb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0.0,yf=0;vf=i;i=i+1872|0;Ie=vf+536|0;He=vf+528|0;Ge=vf+520|0;jf=vf+504|0;hf=vf+496|0;Fe=vf+488|0;Ee=vf+480|0;De=vf+472|0;Ce=vf+464|0;Be=vf+456|0;Ae=vf+440|0;gf=vf+432|0;ze=vf+424|0;ye=vf+416|0;xe=vf+408|0;we=vf+400|0;ve=vf+392|0;of=vf+376|0;nf=vf+368|0;mf=vf+360|0;lf=vf+352|0;qf=vf+1656|0;ef=vf+1652|0;pf=vf+1648|0;uf=vf+1644|0;rf=vf+1640|0;ff=vf+1862|0;G=vf+1861|0;ea=vf+1636|0;tf=vf+1632|0;_a=vf+1628|0;l=vf+1624|0;Jc=vf+1620|0;Kc=vf+1616|0;Lc=vf+1612|0;dd=vf+1608|0;n=vf+1604|0;sf=vf+344|0;g=vf+1600|0;_b=vf+1596|0;Cd=vf+1592|0;Bc=vf+1588|0;kf=vf+1584|0;A=vf+1580|0;db=vf+1670|0;sd=vf+1576|0;Ea=vf+1572|0;kb=vf+1568|0;ob=vf+1564|0;Fa=vf+1560|0;Rc=vf+1556|0;Q=vf+1552|0;Ma=vf+336|0;w=vf+1860|0;K=vf+1668|0;ne=vf+1666|0;oe=vf+1664|0;aa=vf+328|0;ca=vf+320|0;Ld=vf+312|0;Md=vf+304|0;Ga=vf+1548|0;hc=vf+1544|0;W=vf+1540|0;ic=vf+1536|0;ba=vf+296|0;pe=vf+288|0;da=vf+280|0;hb=vf+1859|0;Nd=vf+1532|0;Qd=vf+1528|0;r=vf+1858|0;L=vf+1662|0;O=vf+1660|0;Ia=vf+1524|0;X=vf+1520|0;nb=vf+1516|0;pb=vf+1512|0;Nc=vf+1508|0;ua=vf+1504|0;$b=vf+1500|0;x=vf+1496|0;re=vf+1492|0;se=vf+1488|0;y=vf+1484|0;qb=vf+1480|0;xb=vf+1476|0;ac=vf+1472|0;m=vf+1468|0;Ca=vf+1464|0;S=vf+1460|0;yc=vf+1456|0;fe=vf+240|0;Te=vf+1452|0;Ye=vf+1448|0;We=vf+1444|0;fb=vf+1440|0;gb=vf+232|0;v=vf+1436|0;je=vf+1432|0;id=vf+1428|0;Re=vf+1424|0;z=vf+1857|0;af=vf+1420|0;hd=vf+1416|0;Qa=vf+224|0;Wa=vf+1412|0;Na=vf+216|0;bb=vf+208|0;ab=vf+1408|0;ie=vf+1404|0;uc=vf+1400|0;Qc=vf+1396|0;Ta=vf+1392|0;Se=vf+1388|0;J=vf+1384|0;V=vf+1380|0;Ba=vf+1376|0;Da=vf+1372|0;Ra=vf+200|0;bc=vf+1368|0;mb=vf+1364|0;_e=vf+1360|0;Za=vf+1356|0;cd=vf+1352|0;kd=vf+1348|0;od=vf+1344|0;sa=vf+1340|0;va=vf+1336|0;za=vf+1332|0;ya=vf+1328|0;D=vf+1324|0;ra=vf+1320|0;tb=vf+1316|0;na=vf+1312|0;ka=vf+1308|0;oa=vf+1304|0;ga=vf+1300|0;fa=vf+1296|0;vc=vf+1292|0;Ua=vf+1288|0;Oc=vf+1284|0;rb=vf+1280|0;ha=vf+1276|0;Ke=vf+1272|0;Ad=vf+1268|0;lc=vf+1264|0;wc=vf+1260|0;qc=vf+1256|0;Pc=vf+1252|0;Dd=vf+1248|0;rc=vf+1244|0;yb=vf+1240|0;sc=vf+1236|0;Td=vf+1232|0;eb=vf+1228|0;zb=vf+1224|0;Gd=vf+1208|0;Va=vf+1200|0;la=vf+192|0;H=vf+1196|0;s=vf+1192|0;me=vf+1188|0;wa=vf+1184|0;Ab=vf+1180|0;Ud=vf+1176|0;Gc=vf+1172|0;Hc=vf+1168|0;Hd=vf+1152|0;q=vf+1674|0;Bb=vf+1148|0;cc=vf+1144|0;Vd=vf+1140|0;ma=vf+184|0;qe=vf+176|0;Cb=vf+1136|0;Wd=vf+1132|0;B=vf+1128|0;Sc=vf+1124|0;Cc=vf+1120|0;tc=vf+1116|0;Mc=vf+1112|0;Db=vf+1108|0;he=vf+1104|0;Ue=vf+1100|0;ld=vf+1096|0;ib=vf+1092|0;Le=vf+144|0;Eb=vf+1088|0;Ve=vf+1084|0;md=vf+1080|0;jb=vf+1076|0;Fb=vf+1072|0;Xd=vf+1068|0;Xa=vf+1064|0;Gb=vf+1060|0;Hb=vf+1056|0;dc=vf+1052|0;Ha=vf+1048|0;Ib=vf+1044|0;te=vf+136|0;td=vf+1040|0;Xc=vf+1036|0;Jb=vf+1032|0;Kb=vf+1028|0;ec=vf+1024|0;Yd=vf+1020|0;Lb=vf+1016|0;fc=vf+1012|0;Zd=vf+1008|0;Mb=vf+1004|0;_d=vf+1e3|0;Nb=vf+996|0;Ne=vf+104|0;Pb=vf+992|0;gc=vf+988|0;ae=vf+984|0;Id=vf+968|0;Qb=vf+964|0;nd=vf+960|0;ce=vf+96|0;Sb=vf+956|0;be=vf+952|0;Jd=vf+936|0;pa=vf+932|0;ia=vf+928|0;Pa=vf+924|0;Vb=vf+920|0;Ed=vf+916|0;P=vf+912|0;xc=vf+908|0;ja=vf+904|0;Ze=vf+900|0;bf=vf+896|0;xa=vf+880|0;$a=vf+872|0;p=vf+868|0;Sa=vf+864|0;Oe=vf+860|0;Fd=vf+856|0;ue=vf+88|0;ta=vf+852|0;I=vf+848|0;Ya=vf+844|0;Oa=vf+840|0;jd=vf+836|0;Tc=vf+832|0;Ac=vf+828|0;Dc=vf+824|0;fd=vf+820|0;ke=vf+816|0;Ec=vf+812|0;Ic=vf+808|0;Fc=vf+804|0;Ja=vf+800|0;jc=vf+796|0;Y=vf+792|0;kc=vf+788|0;Uc=vf+784|0;le=vf+48|0;Vc=vf+780|0;_=vf+776|0;o=vf+764|0;Wc=vf+760|0;vb=vf+756|0;ed=vf+752|0;E=vf+748|0;F=vf+744|0;Xe=vf+740|0;wb=vf+736|0;Aa=vf+1673|0;lb=vf+732|0;Pe=vf+728|0;rd=vf+724|0;ge=vf+8|0;cf=vf+720|0;mc=vf+716|0;pd=vf+712|0;ud=vf+708|0;Yc=vf+704|0;Ka=vf+700|0;qa=vf+696|0;Zc=vf+692|0;gd=vf+688|0;sb=vf+684|0;qd=vf+680|0;vd=vf+676|0;nc=vf+672|0;Od=vf+668|0;R=vf+664|0;t=vf+660|0;wd=vf+656|0;_c=vf+652|0;zc=vf+648|0;ee=vf+616|0;oc=vf+612|0;xd=vf+608|0;$c=vf+604|0;Pd=vf+600|0;pc=vf+596|0;yd=vf+592|0;bd=vf+588|0;zd=vf+584|0;ad=vf+580|0;La=vf+576|0;T=vf+572|0;de=vf;u=vf+568|0;Bd=vf+564|0;Je=vf+1672|0;cb=vf+560|0;ub=vf+556|0;df=vf+552|0;U=vf+548|0;Me=vf+544|0;Qe=vf+540|0;c[qf>>2]=f;c[ef>>2]=c[(c[qf>>2]|0)+88>>2];c[pf>>2]=c[ef>>2];c[uf>>2]=0;c[rf>>2]=c[c[qf>>2]>>2];a[ff>>0]=0;a[G>>0]=a[(c[rf>>2]|0)+66>>0]|0;c[ea>>2]=0;c[tf>>2]=0;c[_a>>2]=0;c[l>>2]=c[(c[qf>>2]|0)+92>>2];c[Jc>>2]=0;c[Kc>>2]=0;c[Lc>>2]=0;c[dd>>2]=0;c[n>>2]=0;wf=(c[rf>>2]|0)+32|0;f=c[wf+4>>2]|0;j=sf;c[j>>2]=c[wf>>2];c[j+4>>2]=f;xI(c[qf>>2]|0);a:do if((c[(c[qf>>2]|0)+40>>2]|0)==7)k=889;else{c[(c[qf>>2]|0)+40>>2]=0;wf=(c[qf>>2]|0)+56|0;c[wf>>2]=0;c[wf+4>>2]=0;c[(c[qf>>2]|0)+104>>2]=0;c[(c[rf>>2]|0)+380+8>>2]=0;b:do if(!(c[(c[rf>>2]|0)+248>>2]|0)){if(c[(c[rf>>2]|0)+304>>2]|0){c[g>>2]=c[(c[qf>>2]|0)+156+16>>2];c[_a>>2]=(c[(c[rf>>2]|0)+312>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[rf>>2]|0)+312>>2]|0)>>>0)|0)}c[pf>>2]=(c[ef>>2]|0)+((c[(c[qf>>2]|0)+36>>2]|0)*20|0);c:while(1){c[tf>>2]=(c[tf>>2]|0)+1;d:do switch(d[c[pf>>2]>>0]|0){case 87:{k=64;break c}case 1:{k=393;break c}case 13:{k=7;break}case 14:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Jc>>2]|0)+8>>1]=4;wf=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;k=c[Jc>>2]|0;c[k>>2]=wf;c[k+4>>2]=((wf|0)<0)<<31>>31;k=14;break}case 72:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[pf>>2]=(c[ef>>2]|0)+((c[c[Jc>>2]>>2]|0)*20|0);b[(c[Jc>>2]|0)+8>>1]=128;break}case 15:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);j=(c[(c[pf>>2]|0)+12>>2]|0)-1|0;wf=c[dd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;b[(c[dd>>2]|0)+8>>1]=4;if(c[(c[pf>>2]|0)+8>>2]|0)k=14;break}case 73:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[_b>>2]=(c[ef>>2]|0)+((c[c[Jc>>2]>>2]|0)*20|0);c[pf>>2]=(c[ef>>2]|0)+(((c[(c[_b>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[Jc>>2]|0)+8>>1]=128;break}case 16:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Jc>>2]|0)+8>>1]=4;c[Cd>>2]=c[c[Jc>>2]>>2];j=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;wf=c[Jc>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;c[pf>>2]=(c[ef>>2]|0)+((c[Cd>>2]|0)*20|0);break}case 74:{c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Lc>>2]|0)+8>>1]&1)k=20;break}case 75:{k=20;break}case 76:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;j=c[(c[pf>>2]|0)+4>>2]|0;wf=c[dd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;break}case 77:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;f=c[(c[pf>>2]|0)+16>>2]|0;j=c[f+4>>2]|0;wf=c[dd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;break}case 132:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=8;h[c[dd>>2]>>3]=+h[c[(c[pf>>2]|0)+16>>2]>>3];break}case 97:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;a[c[pf>>2]>>0]=78;wf=Jf(c[(c[pf>>2]|0)+16>>2]|0)|0;c[(c[pf>>2]|0)+4>>2]=wf;if((d[G>>0]|0)!=1){c[uf>>2]=gh(c[dd>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,-1,1,0)|0;if(iu(c[dd>>2]|0,d[G>>0]|0)|0){k=889;break a}c[(c[dd>>2]|0)+24>>2]=0;wf=(c[dd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|2048;if((a[(c[pf>>2]|0)+1>>0]|0)==-1)Tf(c[rf>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);a[(c[pf>>2]|0)+1>>0]=-1;c[(c[pf>>2]|0)+16>>2]=c[(c[dd>>2]|0)+16>>2];c[(c[pf>>2]|0)+4>>2]=c[(c[dd>>2]|0)+12>>2]}if((c[(c[pf>>2]|0)+4>>2]|0)>(c[(c[rf>>2]|0)+96>>2]|0)){k=888;break c}else k=43;break}case 78:{k=43;break}case 79:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[A>>2]=(c[(c[pf>>2]|0)+12>>2]|0)-(c[(c[pf>>2]|0)+8>>2]|0);wf=((c[(c[pf>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[db>>1]=wf;b[(c[dd>>2]|0)+8>>1]=wf;c[(c[dd>>2]|0)+12>>2]=0;while(1){if((c[A>>2]|0)<=0)break d;c[dd>>2]=(c[dd>>2]|0)+40;ih(c[dd>>2]|0);b[(c[dd>>2]|0)+8>>1]=b[db>>1]|0;c[(c[dd>>2]|0)+12>>2]=0;c[A>>2]=(c[A>>2]|0)+-1}}case 80:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[dd>>2]|0)+8>>1]=(e[(c[dd>>2]|0)+8>>1]|1)&-129;break}case 81:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;gh(c[dd>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,0)|0;a[(c[dd>>2]|0)+10>>0]=a[G>>0]|0;break}case 82:{c[sd>>2]=(c[(c[qf>>2]|0)+116>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*40|0);if(DI(c[sd>>2]|0)|0){k=888;break c}c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;kG(c[dd>>2]|0,c[sd>>2]|0,2048);break}case 83:{c[Ea>>2]=c[(c[pf>>2]|0)+12>>2];c[kb>>2]=c[(c[pf>>2]|0)+4>>2];c[ob>>2]=c[(c[pf>>2]|0)+8>>2];c[Jc>>2]=(c[l>>2]|0)+((c[kb>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[ob>>2]|0)*40|0);do{mI(c[dd>>2]|0,c[Jc>>2]|0);if((e[(c[dd>>2]|0)+8>>1]&4096|0)!=0?(bh(c[dd>>2]|0)|0)!=0:0){k=889;break a}c[Jc>>2]=(c[Jc>>2]|0)+40;c[dd>>2]=(c[dd>>2]|0)+40;wf=(c[Ea>>2]|0)+-1|0;c[Ea>>2]=wf}while((wf|0)!=0);break}case 84:{c[Fa>>2]=c[(c[pf>>2]|0)+12>>2];c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);while(1){kG(c[dd>>2]|0,c[Jc>>2]|0,4096);if((e[(c[dd>>2]|0)+8>>1]&4096|0)!=0?(bh(c[dd>>2]|0)|0)!=0:0){k=889;break a}wf=c[Fa>>2]|0;c[Fa>>2]=wf+-1;if(!wf)break d;c[dd>>2]=(c[dd>>2]|0)+40;c[Jc>>2]=(c[Jc>>2]|0)+40}}case 85:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);kG(c[dd>>2]|0,c[Jc>>2]|0,4096);break}case 86:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);wf=c[Jc>>2]|0;hh(c[dd>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0);break}case 52:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]|e[(c[Kc>>2]|0)+8>>1])&1){ih(c[dd>>2]|0);break d}if((e[(c[Jc>>2]|0)+8>>1]&16384|0)!=0?(Yg(c[Jc>>2]|0)|0)!=0:0){k=889;break a}if((e[(c[Kc>>2]|0)+8>>1]&16384|0)!=0?(Yg(c[Kc>>2]|0)|0)!=0:0){k=889;break a}if((e[(c[Jc>>2]|0)+8>>1]&18|0)==0?(Mx(c[Jc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=889;break a}if((e[(c[Kc>>2]|0)+8>>1]&18|0)==0?(Mx(c[Kc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=889;break a}g=(c[(c[Jc>>2]|0)+12>>2]|0)+(c[(c[Kc>>2]|0)+12>>2]|0)|0;j=Ma;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;j=Ma;g=c[j+4>>2]|0;wf=c[(c[rf>>2]|0)+96>>2]|0;f=((wf|0)<0)<<31>>31;if((g|0)>(f|0)|((g|0)==(f|0)?(c[j>>2]|0)>>>0>wf>>>0:0)){k=888;break c}if(Ox(c[dd>>2]|0,(c[Ma>>2]|0)+2|0,(c[dd>>2]|0)==(c[Kc>>2]|0)&1)|0){k=889;break a}b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|2;if((c[dd>>2]|0)!=(c[Kc>>2]|0))TR(c[(c[dd>>2]|0)+16>>2]|0,c[(c[Kc>>2]|0)+16>>2]|0,c[(c[Kc>>2]|0)+12>>2]|0)|0;TR((c[(c[dd>>2]|0)+16>>2]|0)+(c[(c[Kc>>2]|0)+12>>2]|0)|0,c[(c[Jc>>2]|0)+16>>2]|0,c[(c[Jc>>2]|0)+12>>2]|0)|0;a[(c[(c[dd>>2]|0)+16>>2]|0)+(c[Ma>>2]|0)>>0]=0;wf=Ma;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;a[(c[(c[dd>>2]|0)+16>>2]|0)+wf>>0]=0;wf=(c[dd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|512;c[(c[dd>>2]|0)+12>>2]=c[Ma>>2];a[(c[dd>>2]|0)+10>>0]=a[G>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[ne>>1]=HI(c[Jc>>2]|0)|0;c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);b[oe>>1]=HI(c[Kc>>2]|0)|0;c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[K>>1]=e[(c[Jc>>2]|0)+8>>1]|e[(c[Kc>>2]|0)+8>>1];e:do if(!(e[K>>1]&1)){f:do if(e[ne>>1]&e[oe>>1]&4){wf=c[Jc>>2]|0;j=c[wf+4>>2]|0;f=aa;c[f>>2]=c[wf>>2];c[f+4>>2]=j;f=c[Kc>>2]|0;j=c[f+4>>2]|0;wf=ca;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;a[w>>0]=1;switch(d[c[pf>>2]>>0]|0){case 47:{wf=aa;if(II(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 48:{wf=aa;if(JI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 49:{wf=aa;if(KI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 50:{wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;j=aa;wf=ca;if(((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0)&((c[wf>>2]|0)==0?(c[wf+4>>2]|0)==-2147483648:0))break f;j=aa;f=ca;wf=ca;c[wf>>2]=_R(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C;break}default:{wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=aa;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=aa;c[wf>>2]=1;c[wf+4>>2]=0}j=aa;f=ca;wf=ca;c[wf>>2]=$R(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C}}f=ca;j=c[f+4>>2]|0;wf=c[dd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;break d}else a[w>>0]=0;while(0);h[Ld>>3]=+$g(c[Jc>>2]|0);h[Md>>3]=+$g(c[Kc>>2]|0);switch(d[c[pf>>2]>>0]|0){case 47:{h[Md>>3]=+h[Md>>3]+ +h[Ld>>3];break}case 48:{h[Md>>3]=+h[Md>>3]-+h[Ld>>3];break}case 49:{h[Md>>3]=+h[Md>>3]*+h[Ld>>3];break}case 50:{if(+h[Ld>>3]==0.0)break e;h[Md>>3]=+h[Md>>3]/+h[Ld>>3];break}default:{xf=+h[Ld>>3];wf=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;j=aa;c[j>>2]=~~xf>>>0;c[j+4>>2]=wf;xf=+h[Md>>3];j=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;wf=ca;c[wf>>2]=~~xf>>>0;c[wf+4>>2]=j;wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=aa;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=aa;c[wf>>2]=1;c[wf+4>>2]=0}j=ca;wf=aa;h[Md>>3]=+(($R(c[j>>2]|0,c[j+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0)>>>0)+4294967296.0*+(C|0)}}if(!(qG(+h[Md>>3])|0)){h[c[dd>>2]>>3]=+h[Md>>3];b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|8;if((a[w>>0]|0)!=0?1:((e[ne>>1]|e[oe>>1])&8|0)!=0)break d;Jx(c[dd>>2]|0);break d}}while(0);ih(c[dd>>2]|0);break}case 88:{if(c[(c[pf>>2]|0)+4>>2]|0)hh((c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 89:{c[Ga>>2]=d[(c[pf>>2]|0)+3>>0];c[hc>>2]=Vw(c[rf>>2]|0,32+((c[Ga>>2]|0)-1<<2)|0,0)|0;if(!(c[hc>>2]|0)){k=889;break a}c[c[hc>>2]>>2]=0;c[(c[hc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[hc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[hc>>2]|0)+12>>2]=c[qf>>2];a[(c[hc>>2]|0)+26>>0]=c[Ga>>2];a[(c[pf>>2]|0)+1>>0]=-21;c[(c[pf>>2]|0)+16>>2]=c[hc>>2];a[c[pf>>2]>>0]=90;k=126;break}case 90:{k=126;break}case 46:case 45:case 44:case 43:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]|e[(c[Kc>>2]|0)+8>>1])&1){ih(c[dd>>2]|0);break d}wf=ah(c[Kc>>2]|0)|0;j=ba;c[j>>2]=wf;c[j+4>>2]=C;j=ah(c[Jc>>2]|0)|0;wf=da;c[wf>>2]=j;c[wf+4>>2]=C;a[hb>>0]=a[c[pf>>2]>>0]|0;do if((d[hb>>0]|0)!=43){f=da;g=c[f>>2]|0;f=c[f+4>>2]|0;if((d[hb>>0]|0)==44){yf=ba;j=c[yf+4>>2]|f;wf=ba;c[wf>>2]=c[yf>>2]|g;c[wf+4>>2]=j;break}if((g|0)!=0|(f|0)!=0){if((c[da+4>>2]|0)<0){a[hb>>0]=91-(d[hb>>0]|0);wf=da;j=c[wf+4>>2]|0;wf=(j|0)>-1|(j|0)==-1&(c[wf>>2]|0)>>>0>4294967232;j=da;j=QR(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;yf=da;c[yf>>2]=wf?j:64;c[yf+4>>2]=wf?C:0}yf=da;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=64){yf=ba;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=0)g=1;else g=(d[hb>>0]|0)==45;wf=g?0:-1;yf=ba;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break};c[pe>>2]=c[ba>>2];c[pe+4>>2]=c[ba+4>>2];g=c[da>>2]|0;j=pe;f=c[j>>2]|0;j=c[j+4>>2]|0;if((d[hb>>0]|0)!=45){wf=SR(f|0,j|0,g|0)|0;yf=pe;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ba+4>>2]|0)<0){j=da;j=QR(64,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=WR(-1,-1,j|0)|0;f=pe;wf=c[f+4>>2]|C;yf=pe;c[yf>>2]=c[f>>2]|j;c[yf+4>>2]=wf}}else{wf=WR(f|0,j|0,g|0)|0;yf=pe;c[yf>>2]=wf;c[yf+4>>2]=C};c[ba>>2]=c[pe>>2];c[ba+4>>2]=c[pe+4>>2]}}else{j=da;f=ba;wf=c[f+4>>2]&c[j+4>>2];yf=ba;c[yf>>2]=c[f>>2]&c[j>>2];c[yf+4>>2]=wf}while(0);j=ba;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;break}case 91:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Qx(c[Jc>>2]|0)|0;wf=c[(c[pf>>2]|0)+8>>2]|0;yf=c[Jc>>2]|0;j=yf;wf=RR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break}case 17:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]&4|0)==0?(Lx(c[Jc>>2]|0,67,a[G>>0]|0),(e[(c[Jc>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[pf>>2]|0)+8>>2]|0)){k=159;break c}else{k=14;break d}b[(c[Jc>>2]|0)+8>>1]=e[(c[Jc>>2]|0)+8>>1]&-49664|4;break}case 92:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&4)Rx(c[Jc>>2]|0)|0;break}case 93:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&16384)g=Yg(c[Jc>>2]|0)|0;else g=0;c[uf>>2]=g;Ex(c[Jc>>2]|0,c[(c[pf>>2]|0)+8>>2]&255,a[G>>0]|0);if(c[uf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[L>>1]=b[(c[Jc>>2]|0)+8>>1]|0;b[O>>1]=b[(c[Lc>>2]|0)+8>>1]|0;g=d[(c[pf>>2]|0)+3>>0]|0;do if((e[L>>1]|e[O>>1])&1){if(!(g&128)){g=c[pf>>2]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(d[g+3>>0]&16){k=14;break d}else break d;else{c[dd>>2]=(c[l>>2]|0)+((c[g+8>>2]|0)*40|0);c[ea>>2]=1;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|1;break d}}if(((e[L>>1]&1|0)!=0?(e[O>>1]&1|0)!=0:0)?(e[O>>1]&256|0)==0:0){c[Nd>>2]=0;break}c[Nd>>2]=1}else{a[r>>0]=g&71;if((a[r>>0]|0)>=67){if((e[L>>1]|e[O>>1])&2){if((e[L>>1]&14|0)==2){Bh(c[Jc>>2]|0,0);b[O>>1]=b[(c[Lc>>2]|0)+8>>1]|0}if((e[O>>1]&14|0)==2)Bh(c[Lc>>2]|0,0)}if(e[(c[Jc>>2]|0)+8>>1]&e[(c[Lc>>2]|0)+8>>1]&4){wf=c[Lc>>2]|0;f=c[wf+4>>2]|0;yf=c[Jc>>2]|0;j=c[yf+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0>(c[yf>>2]|0)>>>0:0)){c[Nd>>2]=1;break}wf=c[Lc>>2]|0;f=c[wf+4>>2]|0;yf=c[Jc>>2]|0;j=c[yf+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0<(c[yf>>2]|0)>>>0:0)){c[Nd>>2]=-1;break}else{c[Nd>>2]=0;break}}}else if((a[r>>0]|0)==66){if((e[L>>1]&2|0)==0?(e[L>>1]&12|0)!=0:0){Mx(c[Jc>>2]|0,a[G>>0]|0,1)|0;b[L>>1]=e[(c[Jc>>2]|0)+8>>1]&-33280|e[L>>1]&33279}if((e[O>>1]&2|0)==0?(e[O>>1]&12|0)!=0:0){Mx(c[Lc>>2]|0,a[G>>0]|0,1)|0;b[O>>1]=e[(c[Lc>>2]|0)+8>>1]&-33280|e[O>>1]&33279}}c[Nd>>2]=MI(c[Lc>>2]|0,c[Jc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[pf>>2]>>0]|0){case 37:{c[Qd>>2]=(c[Nd>>2]|0)==0&1;break}case 36:{c[Qd>>2]=c[Nd>>2];break}case 40:{c[Qd>>2]=(c[Nd>>2]|0)<0&1;break}case 39:{c[Qd>>2]=(c[Nd>>2]|0)<=0&1;break}case 38:{c[Qd>>2]=(c[Nd>>2]|0)>0&1;break}default:c[Qd>>2]=(c[Nd>>2]|0)>=0&1}b[(c[Jc>>2]|0)+8>>1]=b[L>>1]|0;b[(c[Lc>>2]|0)+8>>1]=b[O>>1]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(c[Qd>>2]|0){k=14;break d}else break d;c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[ea>>2]=c[Nd>>2];c[Qd>>2]=(c[Qd>>2]|0)!=0&1;if((d[(c[pf>>2]|0)+3>>0]&8|0)!=0?((d[c[pf>>2]>>0]|0)==37|0)==(c[Qd>>2]|0):0)break d;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;wf=c[Qd>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 42:{if(c[ea>>2]|0)k=14;break}case 94:{c[n>>2]=(c[(c[pf>>2]|0)+16>>2]|0)+4;break}case 95:{if(!(d[(c[pf>>2]|0)+3>>0]&1))c[n>>2]=0;c[Ia>>2]=c[(c[pf>>2]|0)+12>>2];c[Nc>>2]=c[(c[pf>>2]|0)+16>>2];c[nb>>2]=c[(c[pf>>2]|0)+4>>2];c[pb>>2]=c[(c[pf>>2]|0)+8>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[Ia>>2]|0))break;g=c[X>>2]|0;if(c[n>>2]|0)g=c[(c[n>>2]|0)+(g<<2)>>2]|0;c[ua>>2]=g;c[$b>>2]=c[(c[Nc>>2]|0)+20+(c[X>>2]<<2)>>2];c[x>>2]=d[(c[(c[Nc>>2]|0)+16>>2]|0)+(c[X>>2]|0)>>0];c[ea>>2]=MI((c[l>>2]|0)+(((c[nb>>2]|0)+(c[ua>>2]|0)|0)*40|0)|0,(c[l>>2]|0)+(((c[pb>>2]|0)+(c[ua>>2]|0)|0)*40|0)|0,c[$b>>2]|0)|0;if(c[ea>>2]|0){k=217;break}c[X>>2]=(c[X>>2]|0)+1}if((k|0)==217?(k=0,(c[x>>2]|0)!=0):0)c[ea>>2]=0-(c[ea>>2]|0);c[n>>2]=0;break}case 18:{if((c[ea>>2]|0)<0){c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}g=c[pf>>2]|0;if(!(c[ea>>2]|0)){c[pf>>2]=(c[ef>>2]|0)+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[pf>>2]=(c[ef>>2]|0)+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&1)c[re>>2]=2;else{yf=ah(c[Jc>>2]|0)|0;c[re>>2]=((yf|0)!=0|(C|0)!=0)&1}c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(e[(c[Kc>>2]|0)+8>>1]&1)c[se>>2]=2;else{yf=ah(c[Kc>>2]|0)|0;c[se>>2]=((yf|0)!=0|(C|0)!=0)&1}g=((c[re>>2]|0)*3|0)+(c[se>>2]|0)|0;if((d[c[pf>>2]>>0]|0)==28)c[re>>2]=d[39925+g>>0];else c[re>>2]=d[39934+g>>0];c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((c[re>>2]|0)==2){b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|1;break d}else{wf=c[re>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;break d}}case 19:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);ih(c[dd>>2]|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1)){b[(c[dd>>2]|0)+8>>1]=4;wf=ah(c[Jc>>2]|0)|0;wf=(((wf|0)!=0|(C|0)!=0)^1)&1;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31}break}case 54:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);ih(c[dd>>2]|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1)){b[(c[dd>>2]|0)+8>>1]=4;wf=ah(c[Jc>>2]|0)|0;yf=c[dd>>2]|0;c[yf>>2]=~wf;c[yf+4>>2]=~C}break}case 20:{if((c[(c[(c[qf>>2]|0)+88>>2]|0)+4>>2]|0)==(c[(c[pf>>2]|0)+4>>2]|0))k=14;else c[(c[pf>>2]|0)+4>>2]=c[(c[(c[qf>>2]|0)+88>>2]|0)+4>>2];break}case 22:case 21:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1)){c[y>>2]=+$g(c[Jc>>2]|0)!=0.0&1;if((d[c[pf>>2]>>0]|0)==22)c[y>>2]=((c[y>>2]|0)!=0^1)&1}else c[y>>2]=c[(c[pf>>2]|0)+12>>2];if(c[y>>2]|0)k=14;break}case 34:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&1)k=14;break}case 35:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1))k=14;break}case 96:{c[xb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[qb>>2]=c[(c[pf>>2]|0)+8>>2];c[uf>>2]=NI(xb,qb)|0;if(c[uf>>2]|0)break a;c[yc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[m>>2]=c[(c[xb>>2]|0)+76>>2];c[ac>>2]=c[(c[xb>>2]|0)+16>>2];do if((c[(c[xb>>2]|0)+56>>2]|0)!=(c[(c[qf>>2]|0)+32>>2]|0)){do if(a[(c[xb>>2]|0)+2>>0]|0)if((d[c[xb>>2]>>0]|0)==3){c[id>>2]=(c[l>>2]|0)+((c[(c[xb>>2]|0)+16>>2]|0)*40|0);yf=c[(c[id>>2]|0)+12>>2]|0;c[v>>2]=yf;c[(c[xb>>2]|0)+64>>2]=yf;c[(c[xb>>2]|0)+60>>2]=yf;c[(c[xb>>2]|0)+72>>2]=c[(c[id>>2]|0)+16>>2];break}else{ih(c[yc>>2]|0);break d}else{g=bI(c[ac>>2]|0)|0;c[(c[xb>>2]|0)+60>>2]=g;g=OI(c[ac>>2]|0,v)|0;c[(c[xb>>2]|0)+72>>2]=g;g=c[(c[xb>>2]|0)+60>>2]|0;if((c[(c[xb>>2]|0)+60>>2]|0)>>>0<=(c[v>>2]|0)>>>0){c[(c[xb>>2]|0)+64>>2]=g;break}if(g>>>0>(c[(c[rf>>2]|0)+96>>2]|0)>>>0){k=888;break c}c[(c[xb>>2]|0)+64>>2]=c[v>>2]}while(0);c[(c[xb>>2]|0)+56>>2]=c[(c[qf>>2]|0)+32>>2];g=c[(c[xb>>2]|0)+72>>2]|0;if((d[c[(c[xb>>2]|0)+72>>2]>>0]|0)<128){c[fb>>2]=d[g>>0];g=1}else g=(bG(g,fb)|0)&255;c[(c[xb>>2]|0)+68>>2]=g&255;b[(c[xb>>2]|0)+14>>1]=0;c[c[m>>2]>>2]=c[fb>>2];if((c[v>>2]|0)>>>0<(c[fb>>2]|0)>>>0){c[(c[xb>>2]|0)+72>>2]=0;c[(c[xb>>2]|0)+64>>2]=0;if((c[fb>>2]|0)>>>0>98307){k=267;break c}if((c[fb>>2]|0)>>>0>(c[(c[xb>>2]|0)+60>>2]|0)>>>0){k=267;break c}else{k=270;break}}else{if((c[fb>>2]|0)>>>0<=0){k=270;break}c[Te>>2]=c[(c[xb>>2]|0)+72>>2];k=276;break}}else k=270;while(0);do if((k|0)==270){k=0;if((e[(c[xb>>2]|0)+14>>1]|0)>(c[qb>>2]|0)){c[je>>2]=c[(c[xb>>2]|0)+80+(c[qb>>2]<<2)>>2];break}if((c[(c[xb>>2]|0)+68>>2]|0)>>>0>=(c[c[m>>2]>>2]|0)>>>0){c[je>>2]=0;k=292;break}if(c[(c[xb>>2]|0)+72>>2]|0){c[Te>>2]=c[(c[xb>>2]|0)+72>>2];k=276;break}g=fe;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[uf>>2]=PI(c[ac>>2]|0,0,c[c[m>>2]>>2]|0,((a[(c[xb>>2]|0)+4>>0]|0)!=0^1)&1,fe)|0;if(c[uf>>2]|0)break a;c[Te>>2]=c[fe+16>>2];k=276}while(0);if((k|0)==276){c[S>>2]=e[(c[xb>>2]|0)+14>>1];yf=gb;c[yf>>2]=c[(c[m>>2]|0)+(c[S>>2]<<2)>>2];c[yf+4>>2]=0;c[Ye>>2]=(c[Te>>2]|0)+(c[(c[xb>>2]|0)+68>>2]|0);c[We>>2]=(c[Te>>2]|0)+(c[c[m>>2]>>2]|0);do{yf=d[c[Ye>>2]>>0]|0;c[je>>2]=yf;g=c[Ye>>2]|0;if(yf>>>0<128){c[Ye>>2]=g+1;wf=(QI(c[je>>2]&255)|0)&255;yf=gb;wf=RR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=gb;c[yf>>2]=wf;c[yf+4>>2]=C}else{wf=(bG(g,je)|0)&255;c[Ye>>2]=(c[Ye>>2]|0)+wf;wf=cG(c[je>>2]|0)|0;yf=gb;wf=RR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=gb;c[yf>>2]=wf;c[yf+4>>2]=C}wf=c[je>>2]|0;yf=c[S>>2]|0;c[S>>2]=yf+1;c[(c[xb>>2]|0)+80+(yf<<2)>>2]=wf;c[(c[m>>2]|0)+(c[S>>2]<<2)>>2]=c[gb>>2];if((c[S>>2]|0)>(c[qb>>2]|0))break}while((c[Ye>>2]|0)>>>0<(c[We>>2]|0)>>>0);if((c[Ye>>2]|0)>>>0>=(c[We>>2]|0)>>>0){if((c[Ye>>2]|0)>>>0>(c[We>>2]|0)>>>0){k=286;break c}yf=gb;if((c[yf+4>>2]|0)!=0?1:(c[yf>>2]|0)!=(c[(c[xb>>2]|0)+60>>2]|0)){k=286;break c}}yf=gb;wf=c[yf+4>>2]|0;if(wf>>>0>0|((wf|0)==0?(c[yf>>2]|0)>>>0>(c[(c[xb>>2]|0)+60>>2]|0)>>>0:0)){k=286;break c}b[(c[xb>>2]|0)+14>>1]=c[S>>2];c[(c[xb>>2]|0)+68>>2]=(c[Ye>>2]|0)-(c[Te>>2]|0);if(!(c[(c[xb>>2]|0)+72>>2]|0)){Xg(fe);k=292}else k=292}if((k|0)==292?(k=0,(e[(c[xb>>2]|0)+14>>1]|0)<=(c[qb>>2]|0)):0){g=c[yc>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)==-8){kG(g,c[(c[pf>>2]|0)+16>>2]|0,2048);break d}else{ih(g);break d}}if(e[(c[yc>>2]|0)+8>>1]&9312)ih(c[yc>>2]|0);if((c[(c[xb>>2]|0)+64>>2]|0)>>>0>=(c[(c[m>>2]|0)+((c[qb>>2]|0)+1<<2)>>2]|0)>>>0){c[Te>>2]=(c[(c[xb>>2]|0)+72>>2]|0)+(c[(c[m>>2]|0)+(c[qb>>2]<<2)>>2]|0);if((c[je>>2]|0)>>>0<12){dG(c[Te>>2]|0,c[je>>2]|0,c[yc>>2]|0)|0;break d}g=(((c[je>>2]|0)-12|0)>>>0)/2|0;c[Ca>>2]=g;c[(c[yc>>2]|0)+12>>2]=g;a[(c[yc>>2]|0)+10>>0]=a[G>>0]|0;g=c[yc>>2]|0;if((c[(c[yc>>2]|0)+24>>2]|0)<((c[Ca>>2]|0)+2|0)){b[g+8>>1]=1;if(Ox(c[yc>>2]|0,(c[Ca>>2]|0)+2|0,0)|0){k=889;break a}}else c[(c[yc>>2]|0)+16>>2]=c[g+20>>2];TR(c[(c[yc>>2]|0)+16>>2]|0,c[Te>>2]|0,c[Ca>>2]|0)|0;a[(c[(c[yc>>2]|0)+16>>2]|0)+(c[Ca>>2]|0)>>0]=0;a[(c[(c[yc>>2]|0)+16>>2]|0)+((c[Ca>>2]|0)+1)>>0]=0;b[(c[yc>>2]|0)+8>>1]=b[16418+((c[je>>2]&1)<<1)>>1]|0;break d}a[(c[yc>>2]|0)+10>>0]=a[G>>0]|0;do if(d[(c[pf>>2]|0)+3>>0]&192){if((c[je>>2]|0)>>>0>=12?(c[je>>2]&1|0)==0:0)break;if(!(d[(c[pf>>2]|0)+3>>0]&128))k=310}else k=310;while(0);if((k|0)==310?(k=0,yf=cG(c[je>>2]|0)|0,c[Ca>>2]=yf,(yf|0)!=0):0){c[uf>>2]=PI(c[ac>>2]|0,c[(c[m>>2]|0)+(c[qb>>2]<<2)>>2]|0,c[Ca>>2]|0,((a[(c[xb>>2]|0)+4>>0]|0)!=0^1)&1,c[yc>>2]|0)|0;if(c[uf>>2]|0)break a;dG(c[(c[yc>>2]|0)+16>>2]|0,c[je>>2]|0,c[yc>>2]|0)|0;yf=(c[yc>>2]|0)+8|0;b[yf>>1]=e[yf>>1]&-4097;break d}dG(39943,c[je>>2]|0,c[yc>>2]|0)|0;break}case 98:{c[Re>>2]=c[(c[pf>>2]|0)+16>>2];c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);while(1){yf=c[Re>>2]|0;c[Re>>2]=yf+1;yf=a[yf>>0]|0;a[z>>0]=yf;if(!(yf<<24>>24))break d;Lx(c[Jc>>2]|0,a[z>>0]|0,a[G>>0]|0);c[Jc>>2]=(c[Jc>>2]|0)+40}}case 99:{yf=Qa;c[yf>>2]=0;c[yf+4>>2]=0;c[Wa>>2]=0;yf=bb;c[yf>>2]=0;c[yf+4>>2]=0;c[Ta>>2]=c[(c[pf>>2]|0)+4>>2];c[Se>>2]=c[(c[pf>>2]|0)+16>>2];c[uc>>2]=(c[l>>2]|0)+((c[Ta>>2]|0)*40|0);c[Ta>>2]=c[(c[pf>>2]|0)+8>>2];c[Qc>>2]=(c[uc>>2]|0)+(((c[Ta>>2]|0)-1|0)*40|0);c[J>>2]=d[(c[qf>>2]|0)+143>>0];c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(c[Se>>2]|0){c[hd>>2]=c[uc>>2];do{wf=c[hd>>2]|0;c[hd>>2]=wf+40;yf=c[Se>>2]|0;c[Se>>2]=yf+1;Lx(wf,a[yf>>0]|0,a[G>>0]|0)}while((a[c[Se>>2]>>0]|0)!=0)}c[hd>>2]=c[Qc>>2];while(1){yf=RI(c[hd>>2]|0,c[J>>2]|0,Da)|0;c[ie>>2]=yf;c[(c[hd>>2]|0)+28>>2]=yf;do if(e[(c[hd>>2]|0)+8>>1]&16384){yf=Qa;g=c[hd>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0)if(Yg(g)|0){k=889;break a}else break;else{wf=c[g>>2]|0;yf=bb;wf=RR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;yf=bb;c[yf>>2]=wf;c[yf+4>>2]=C;c[Da>>2]=(c[Da>>2]|0)-(c[c[hd>>2]>>2]|0);break}}while(0);wf=Qa;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,c[Da>>2]|0,0)|0;yf=Qa;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ie>>2]|0)>>>0<=127)g=1;else g=iG(c[ie>>2]|0,0)|0;c[Wa>>2]=(c[Wa>>2]|0)+g;if((c[hd>>2]|0)==(c[uc>>2]|0))break;c[hd>>2]=(c[hd>>2]|0)+-40}g=c[Wa>>2]|0;if((c[Wa>>2]|0)>126){c[ab>>2]=iG(g,((g|0)<0)<<31>>31)|0;c[Wa>>2]=(c[Wa>>2]|0)+(c[ab>>2]|0);wf=c[ab>>2]|0;yf=c[Wa>>2]|0;if((wf|0)<(iG(yf,((yf|0)<0)<<31>>31)|0))c[Wa>>2]=(c[Wa>>2]|0)+1}else c[Wa>>2]=g+1;f=c[Wa>>2]|0;wf=Qa;wf=RR(f|0,((f|0)<0)<<31>>31|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=Na;c[f>>2]=wf;c[f+4>>2]=C;f=Na;wf=bb;wf=RR(c[f>>2]|0,c[f+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=C;yf=c[(c[rf>>2]|0)+96>>2]|0;j=((yf|0)<0)<<31>>31;if((f|0)>(j|0)|(f|0)==(j|0)&wf>>>0>yf>>>0){k=888;break c}if(Nx(c[dd>>2]|0,c[Na>>2]|0)|0){k=889;break a}c[af>>2]=c[(c[dd>>2]|0)+16>>2];if((c[Wa>>2]|0)>>>0<128){a[c[af>>2]>>0]=c[Wa>>2];g=1}else{g=c[Wa>>2]|0;g=SI(c[af>>2]|0,g,((g|0)<0)<<31>>31)|0}c[V>>2]=g&255;c[Ba>>2]=c[Wa>>2];c[hd>>2]=c[uc>>2];do{c[ie>>2]=c[(c[hd>>2]|0)+28>>2];if((c[ie>>2]|0)>>>0<128){a[(c[af>>2]|0)+(c[V>>2]|0)>>0]=c[ie>>2];g=1}else g=SI((c[af>>2]|0)+(c[V>>2]|0)|0,c[ie>>2]|0,0)|0;c[V>>2]=(c[V>>2]|0)+(g&255);yf=TI((c[af>>2]|0)+(c[Ba>>2]|0)|0,c[hd>>2]|0,c[ie>>2]|0)|0;c[Ba>>2]=(c[Ba>>2]|0)+yf;yf=(c[hd>>2]|0)+40|0;c[hd>>2]=yf}while(yf>>>0<=(c[Qc>>2]|0)>>>0);c[(c[dd>>2]|0)+12>>2]=c[Na>>2];b[(c[dd>>2]|0)+8>>1]=16;yf=bb;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){c[c[dd>>2]>>2]=c[bb>>2];yf=(c[dd>>2]|0)+8|0;b[yf>>1]=e[yf>>1]|16384}a[(c[dd>>2]|0)+10>>0]=1;break}case 100:{c[bc>>2]=c[(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];yf=Ra;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=UI(c[bc>>2]|0,Ra)|0;if(c[uf>>2]|0)break a;c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;j=Ra;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 0:{c[mb>>2]=c[(c[pf>>2]|0)+4>>2];c[_e>>2]=c[(c[pf>>2]|0)+16>>2];do if(!(c[mb>>2]|0)){if((c[(c[rf>>2]|0)+164>>2]|0)>0){AI(c[qf>>2]|0,39951,we);c[uf>>2]=5;break}c[Za>>2]=Jf(c[_e>>2]|0)|0;c[uf>>2]=VI(c[rf>>2]|0,0,(c[(c[rf>>2]|0)+436>>2]|0)+(c[(c[rf>>2]|0)+432>>2]|0)|0)|0;if(c[uf>>2]|0)break a;c[cd>>2]=Vw(c[rf>>2]|0,32+(c[Za>>2]|0)+1|0,0)|0;if(c[cd>>2]|0){c[c[cd>>2]>>2]=(c[cd>>2]|0)+32;TR(c[c[cd>>2]>>2]|0,c[_e>>2]|0,(c[Za>>2]|0)+1|0)|0;g=c[rf>>2]|0;if(a[(c[rf>>2]|0)+67>>0]|0){a[g+67>>0]=0;a[(c[rf>>2]|0)+75>>0]=1}else{yf=g+432|0;c[yf>>2]=(c[yf>>2]|0)+1}c[(c[cd>>2]|0)+24>>2]=c[(c[rf>>2]|0)+424>>2];c[(c[rf>>2]|0)+424>>2]=c[cd>>2];yf=(c[rf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[cd>>2]|0)+8|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[rf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[cd>>2]|0)+16|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}}else{c[sa>>2]=0;c[kd>>2]=c[(c[rf>>2]|0)+424>>2];while(1){if(!(c[kd>>2]|0))break;if(!(ig(c[c[kd>>2]>>2]|0,c[_e>>2]|0)|0))break;c[sa>>2]=(c[sa>>2]|0)+1;c[kd>>2]=c[(c[kd>>2]|0)+24>>2]}if(!(c[kd>>2]|0)){yf=c[qf>>2]|0;c[xe>>2]=c[_e>>2];AI(yf,40002,xe);c[uf>>2]=1;break}if((c[mb>>2]|0)==1?(c[(c[rf>>2]|0)+164>>2]|0)>0:0){AI(c[qf>>2]|0,40024,ye);c[uf>>2]=5;break}if(!(c[(c[kd>>2]|0)+24>>2]|0))g=(d[(c[rf>>2]|0)+75>>0]|0)!=0;else g=0;c[za>>2]=g&1;if(!((c[za>>2]|0)!=0&(c[mb>>2]|0)==1)){c[sa>>2]=(c[(c[rf>>2]|0)+432>>2]|0)-(c[sa>>2]|0)-1;g:do if((c[mb>>2]|0)==2){c[ya>>2]=(c[(c[rf>>2]|0)+24>>2]&2|0)!=0&1;c[va>>2]=0;while(1){if((c[va>>2]|0)>=(c[(c[rf>>2]|0)+20>>2]|0))break g;c[uf>>2]=WI(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[va>>2]<<4)+4>>2]|0,516,(c[ya>>2]|0)==0&1)|0;if(c[uf>>2]|0)break a;c[va>>2]=(c[va>>2]|0)+1}}else c[ya>>2]=0;while(0);c[va>>2]=0;while(1){if((c[va>>2]|0)>=(c[(c[rf>>2]|0)+20>>2]|0))break;c[uf>>2]=XI(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[va>>2]<<4)+4>>2]|0,c[mb>>2]|0,c[sa>>2]|0)|0;if(c[uf>>2]|0)break a;c[va>>2]=(c[va>>2]|0)+1}if(c[ya>>2]|0){Sh(c[rf>>2]|0);Cg(c[rf>>2]|0);c[(c[rf>>2]|0)+24>>2]=c[(c[rf>>2]|0)+24>>2]|2}}else{yf=EI(c[qf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){k=887;break c}a[(c[rf>>2]|0)+67>>0]=1;if((BI(c[qf>>2]|0)|0)==5){k=370;break c}a[(c[rf>>2]|0)+75>>0]=0;c[uf>>2]=c[(c[qf>>2]|0)+40>>2]}while(1){if((c[(c[rf>>2]|0)+424>>2]|0)==(c[kd>>2]|0))break;c[od>>2]=c[(c[rf>>2]|0)+424>>2];c[(c[rf>>2]|0)+424>>2]=c[(c[od>>2]|0)+24>>2];Tf(c[rf>>2]|0,c[od>>2]|0);yf=(c[rf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}g=c[kd>>2]|0;if((c[mb>>2]|0)==1){c[(c[rf>>2]|0)+424>>2]=c[g+24>>2];Tf(c[rf>>2]|0,c[kd>>2]|0);if(!(c[za>>2]|0)){yf=(c[rf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}}else{yf=g+8|0;wf=c[yf+4>>2]|0;j=(c[rf>>2]|0)+440|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[kd>>2]|0)+16|0;wf=c[j+4>>2]|0;yf=(c[rf>>2]|0)+448|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((c[za>>2]|0)==0|(c[mb>>2]|0)==2){c[uf>>2]=VI(c[rf>>2]|0,c[mb>>2]|0,c[sa>>2]|0)|0;if((c[uf>>2]|0)!=0|(c[uf>>2]|0)!=0)break a;else break d}}while(0);if(c[uf>>2]|0)break a;break}case 2:{if((c[(c[pf>>2]|0)+8>>2]|0)!=0?(c[(c[rf>>2]|0)+24>>2]&67108864|0)!=0:0){k=411;break c}c[tb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];if(c[tb>>2]|0){c[uf>>2]=pg(c[tb>>2]|0,c[(c[pf>>2]|0)+8>>2]|0)|0;if(c[uf>>2]|0){k=414;break c}do if((c[(c[pf>>2]|0)+8>>2]|0)!=0?((e[(c[qf>>2]|0)+144>>1]|0)>>>6&1|0)!=0:0){if((d[(c[rf>>2]|0)+67>>0]|0)!=0?(c[(c[rf>>2]|0)+160>>2]|0)<=1:0)break;if(!(c[(c[qf>>2]|0)+48>>2]|0)){yf=(c[rf>>2]|0)+436|0;c[yf>>2]=(c[yf>>2]|0)+1;c[(c[qf>>2]|0)+48>>2]=(c[(c[rf>>2]|0)+432>>2]|0)+(c[(c[rf>>2]|0)+436>>2]|0)}c[uf>>2]=VI(c[rf>>2]|0,0,(c[(c[qf>>2]|0)+48>>2]|0)-1|0)|0;if(!(c[uf>>2]|0))c[uf>>2]=_I(c[tb>>2]|0,c[(c[qf>>2]|0)+48>>2]|0)|0;yf=(c[rf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[qf>>2]|0)+72|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[rf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[qf>>2]|0)+80|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);rg(c[tb>>2]|0,1,na);c[ka>>2]=c[(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[na>>2]=0;c[ka>>2]=0}do if(d[(c[pf>>2]|0)+3>>0]|0){if((c[na>>2]|0)==(c[(c[pf>>2]|0)+12>>2]|0)?(c[ka>>2]|0)==(c[(c[pf>>2]|0)+16>>2]|0):0)break;Tf(c[rf>>2]|0,c[(c[qf>>2]|0)+108>>2]|0);yf=qh(c[rf>>2]|0,40265)|0;c[(c[qf>>2]|0)+108>>2]=yf;if((c[c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[na>>2]|0))wj(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2|1;c[uf>>2]=17}while(0);if(c[uf>>2]|0)break a;break}case 101:{c[ga>>2]=c[(c[pf>>2]|0)+4>>2];c[fa>>2]=c[(c[pf>>2]|0)+12>>2];rg(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ga>>2]<<4)+4>>2]|0,c[fa>>2]|0,oa);c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;wf=c[oa>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 102:{c[vc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);c[uf>>2]=Bg(c[(c[vc>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,c[(c[pf>>2]|0)+12>>2]|0)|0;g=c[pf>>2]|0;if((c[(c[pf>>2]|0)+8>>2]|0)!=1){if((c[g+8>>2]|0)==2)a[(c[(c[vc>>2]|0)+12>>2]|0)+76>>0]=c[(c[pf>>2]|0)+12>>2]}else{c[c[(c[vc>>2]|0)+12>>2]>>2]=c[g+12>>2];yf=(c[rf>>2]|0)+24|0;c[yf>>2]=c[yf>>2]|2}if((c[(c[pf>>2]|0)+4>>2]|0)==1){Sh(c[rf>>2]|0);yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2}if(c[uf>>2]|0)break a;break}case 103:{c[lc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((c[lc>>2]|0)!=0?(c[(c[lc>>2]|0)+8>>2]|0)==(c[(c[pf>>2]|0)+8>>2]|0):0)k=458;else k=444;break}case 105:case 104:{k=444;break}case 107:case 106:{c[qc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[qc>>2]|0)){k=889;break a}a[(c[qc>>2]|0)+2>>0]=1;yf=(c[qc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-2|1;c[uf>>2]=bk(c[c[rf>>2]>>2]|0,0,c[rf>>2]|0,(c[qc>>2]|0)+20|0,5|d[(c[pf>>2]|0)+3>>0],1054)|0;if(!(c[uf>>2]|0))c[uf>>2]=pg(c[(c[qc>>2]|0)+20>>2]|0,1)|0;do if(!(c[uf>>2]|0)){yf=c[(c[pf>>2]|0)+16>>2]|0;c[Pc>>2]=yf;g=c[(c[qc>>2]|0)+20>>2]|0;if(!yf){c[uf>>2]=aJ(g,1,4,0,c[(c[qc>>2]|0)+16>>2]|0)|0;a[(c[qc>>2]|0)+4>>0]=1;break}c[uf>>2]=cJ(g,Dd,2|d[(c[pf>>2]|0)+3>>0])|0;if(!(c[uf>>2]|0)){c[(c[qc>>2]|0)+24>>2]=c[Pc>>2];c[uf>>2]=aJ(c[(c[qc>>2]|0)+20>>2]|0,c[Dd>>2]|0,4,c[Pc>>2]|0,c[(c[qc>>2]|0)+16>>2]|0)|0}a[(c[qc>>2]|0)+4>>0]=0}while(0);if(c[uf>>2]|0)break a;yf=(c[qc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-5|((d[(c[pf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 108:{c[rc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[rc>>2]|0)){k=889;break a}c[(c[rc>>2]|0)+24>>2]=c[(c[pf>>2]|0)+16>>2];c[uf>>2]=dJ(c[rf>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,c[rc>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 109:{c[yb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];j=(c[yb>>2]|0)+32|0;yf=j;wf=c[yf>>2]|0;yf=c[yf+4>>2]|0;f=RR(wf|0,yf|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((wf|0)==0&(yf|0)==0)k=14;break}case 110:{c[sc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[sc>>2]|0)){k=889;break a}a[(c[sc>>2]|0)+2>>0]=1;c[(c[sc>>2]|0)+16>>2]=c[(c[pf>>2]|0)+8>>2];a[(c[sc>>2]|0)+4>>0]=1;break}case 111:{eJ(c[qf>>2]|0,c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{c[zb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[eb>>2]=d[c[pf>>2]>>0];c[H>>2]=0;a[(c[zb>>2]|0)+2>>0]=0;if(a[(c[zb>>2]|0)+4>>0]|0){c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Lc>>2]|0)+8>>1]&14|0)==2)Bh(c[Lc>>2]|0,0);wf=ah(c[Lc>>2]|0)|0;yf=la;c[yf>>2]=wf;c[yf+4>>2]=C;do if(!(e[(c[Lc>>2]|0)+8>>1]&4)){if(!(e[(c[Lc>>2]|0)+8>>1]&8)){k=14;break d}yf=la;if(+h[c[Lc>>2]>>3]<+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)){if(c[eb>>2]&1)break;c[eb>>2]=(c[eb>>2]|0)+-1;break}yf=la;if(+h[c[Lc>>2]>>3]>+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)?(c[eb>>2]&1|0)==1:0)c[eb>>2]=(c[eb>>2]|0)+1}while(0);j=la;c[uf>>2]=OF(c[(c[zb>>2]|0)+16>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Td)|0;j=la;wf=c[j+4>>2]|0;yf=(c[zb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(c[uf>>2]|0)break a;else k=493}else{if(fJ(c[(c[zb>>2]|0)+16>>2]|0,2)|0)c[H>>2]=1;c[Va>>2]=c[(c[pf>>2]|0)+16>>2];c[Gd>>2]=c[(c[zb>>2]|0)+24>>2];b[Gd+8>>1]=c[Va>>2];a[Gd+10>>0]=(1&(c[eb>>2]|0)-23|0)!=0?-1:1;c[Gd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);a[Gd+14>>0]=0;c[uf>>2]=OF(c[(c[zb>>2]|0)+16>>2]|0,Gd,0,0,0,Td)|0;if(c[uf>>2]|0)break a;if(!((c[H>>2]|0)!=0?(d[Gd+14>>0]|0)==0:0))k=493}do if((k|0)==493){k=0;a[(c[zb>>2]|0)+3>>0]=0;c[(c[zb>>2]|0)+56>>2]=0;g=c[Td>>2]|0;if((c[eb>>2]|0)>=25){if((g|0)>=0?!((c[Td>>2]|0)==0&(c[eb>>2]|0)==26):0){c[Td>>2]=0;break}c[Td>>2]=0;c[uf>>2]=BF(c[(c[zb>>2]|0)+16>>2]|0,Td)|0;if(c[uf>>2]|0)break a;else break}else{if((g|0)<=0?!((c[Td>>2]|0)==0&(c[eb>>2]|0)==23):0){c[Td>>2]=gJ(c[(c[zb>>2]|0)+16>>2]|0)|0;break}c[Td>>2]=0;c[uf>>2]=CF(c[(c[zb>>2]|0)+16>>2]|0,Td)|0;if(c[uf>>2]|0)break a;else break}}while(0);if(!(c[Td>>2]|0)){if(c[H>>2]|0)c[pf>>2]=(c[pf>>2]|0)+20}else k=14;break}case 31:case 30:case 29:{c[Ab>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Gc>>2]=0;g=c[(c[Ab>>2]|0)+24>>2]|0;if((c[(c[pf>>2]|0)+16>>2]|0)>0){c[Hd>>2]=g;b[Hd+8>>1]=c[(c[pf>>2]|0)+16>>2];c[Hd+4>>2]=c[Lc>>2];c[Hc>>2]=Hd}else{c[Hc>>2]=MF(g,q,183,Gc)|0;if(!(c[Hc>>2]|0)){k=889;break a}if(e[(c[Lc>>2]|0)+8>>1]&16384)Yg(c[Lc>>2]|0)|0;NF(c[(c[Ab>>2]|0)+24>>2]|0,c[(c[Lc>>2]|0)+12>>2]|0,c[(c[Lc>>2]|0)+16>>2]|0,c[Hc>>2]|0)}a[(c[Hc>>2]|0)+10>>0]=0;c[me>>2]=0;h:do if((d[c[pf>>2]>>0]|0)==29){c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(e[(c[Hc>>2]|0)+8>>1]|0))break h;if(e[(c[(c[Hc>>2]|0)+4>>2]|0)+((c[wa>>2]|0)*40|0)+8>>1]&1)break;c[wa>>2]=(c[wa>>2]|0)+1}c[me>>2]=1}while(0);c[uf>>2]=OF(c[(c[Ab>>2]|0)+16>>2]|0,c[Hc>>2]|0,0,0,0,Ud)|0;Tf(c[rf>>2]|0,c[Gc>>2]|0);if(c[uf>>2]|0)break a;c[(c[Ab>>2]|0)+28>>2]=c[Ud>>2];c[s>>2]=(c[Ud>>2]|0)==0&1;a[(c[Ab>>2]|0)+2>>0]=1-(c[s>>2]|0);a[(c[Ab>>2]|0)+3>>0]=0;c[(c[Ab>>2]|0)+56>>2]=0;if((d[c[pf>>2]>>0]|0)==31)if(c[s>>2]|0){k=14;break d}else break d;else if((c[me>>2]|0)==0&(c[s>>2]|0)!=0)break d;else{k=14;break d}}case 32:{c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Lc>>2]|0)+8>>1]&4|0)==0?(Lx(c[Lc>>2]|0,67,a[G>>0]|0),(e[(c[Lc>>2]|0)+8>>1]&4|0)==0):0)k=14;else k=523;break}case 33:{k=523;break}case 113:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;yf=(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;wf=yf;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;f=RR(j|0,wf|0,1,0)|0;c[yf>>2]=f;c[yf+4>>2]=C;yf=c[dd>>2]|0;c[yf>>2]=j;c[yf+4>>2]=wf;break}case 114:{yf=qe;c[yf>>2]=0;c[yf+4>>2]=0;c[Wd>>2]=0;c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Cb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[Cb>>2]|0)+5>>0]|0)>>>1&1)){c[uf>>2]=hJ(c[(c[Cb>>2]|0)+16>>2]|0,Wd)|0;if(c[uf>>2]|0)break a;if(c[Wd>>2]|0){yf=qe;c[yf>>2]=1;c[yf+4>>2]=0;break}wf=aI(c[(c[Cb>>2]|0)+16>>2]|0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;yf=qe;wf=c[yf+4>>2]|0;if((wf|0)>2147483647|(wf|0)==2147483647&(c[yf>>2]|0)>>>0>=4294967295){yf=(c[Cb>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-3|2;break}else{wf=qe;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;break}}while(0);if(c[(c[pf>>2]|0)+12>>2]|0){if(c[(c[qf>>2]|0)+184>>2]|0){c[Cc>>2]=c[(c[qf>>2]|0)+184>>2];while(1){if(!(c[(c[Cc>>2]|0)+4>>2]|0))break;c[Cc>>2]=c[(c[Cc>>2]|0)+4>>2]}c[Sc>>2]=(c[(c[Cc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)}else c[Sc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);Qx(c[Sc>>2]|0)|0;yf=c[Sc>>2]|0;if((c[yf>>2]|0)==-1?(c[yf+4>>2]|0)==2147483647:0){k=544;break c}if((d[(c[Cb>>2]|0)+5>>0]|0)>>>1&1){k=544;break c}f=qe;wf=c[f>>2]|0;f=c[f+4>>2]|0;yf=c[Sc>>2]|0;yf=RR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;j=C;if((f|0)<(j|0)|(f|0)==(j|0)&wf>>>0>>0){wf=c[Sc>>2]|0;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C}j=qe;wf=c[j+4>>2]|0;yf=c[Sc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((d[(c[Cb>>2]|0)+5>>0]|0)>>>1&1){c[B>>2]=0;do{Sd(8,qe);j=qe;yf=c[j+4>>2]&1073741823;wf=qe;c[wf>>2]=c[j>>2];c[wf+4>>2]=yf;wf=qe;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;yf=qe;yf=OF(c[(c[Cb>>2]|0)+16>>2]|0,0,c[yf>>2]|0,c[yf+4>>2]|0,0,Wd)|0;c[uf>>2]=yf;if(!((yf|0)==0&(c[Wd>>2]|0)==0))break;yf=(c[B>>2]|0)+1|0;c[B>>2]=yf}while((yf|0)<100);if(c[uf>>2]|0)break a;if(!(c[Wd>>2]|0)){k=554;break c}}a[(c[Cb>>2]|0)+3>>0]=0;c[(c[Cb>>2]|0)+56>>2]=0;j=qe;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 116:case 115:{c[ib>>2]=0;c[tc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Db>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];g=c[(c[pf>>2]|0)+12>>2]|0;if((d[c[pf>>2]>>0]|0)==115){c[Mc>>2]=(c[l>>2]|0)+(g*40|0);j=c[Mc>>2]|0;wf=c[j+4>>2]|0;yf=Le+8|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}else{yf=Le+8|0;c[yf>>2]=g;c[yf+4>>2]=((g|0)<0)<<31>>31}if((a[(c[pf>>2]|0)+1>>0]|0)==-20?(c[(c[rf>>2]|0)+220>>2]|0)!=0:0){c[Ue>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(a[(c[Db>>2]|0)+1>>0]<<4)>>2];c[ld>>2]=c[(c[pf>>2]|0)+16>>2];c[ib>>2]=(d[(c[pf>>2]|0)+3>>0]&4|0)!=0?23:18}else{c[ld>>2]=0;c[Ue>>2]=0}if(d[(c[pf>>2]|0)+3>>0]&1){yf=(c[qf>>2]|0)+44|0;c[yf>>2]=(c[yf>>2]|0)+1}if(d[(c[pf>>2]|0)+3>>0]&2){wf=Le+8|0;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=sf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[rf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}if(e[(c[tc>>2]|0)+8>>1]&1){c[Le+16>>2]=0;c[Le+20>>2]=0}else{c[Le+16>>2]=c[(c[tc>>2]|0)+16>>2];c[Le+20>>2]=c[(c[tc>>2]|0)+12>>2]}if(d[(c[pf>>2]|0)+3>>0]&16)g=c[(c[Db>>2]|0)+28>>2]|0;else g=0;c[he>>2]=g;if(e[(c[tc>>2]|0)+8>>1]&16384)c[Le+24>>2]=c[c[tc>>2]>>2];else c[Le+24>>2]=0;c[Le>>2]=0;c[uf>>2]=iJ(c[(c[Db>>2]|0)+16>>2]|0,Le,(d[(c[pf>>2]|0)+3>>0]&8|0)!=0&1,c[he>>2]|0)|0;a[(c[Db>>2]|0)+3>>0]=0;c[(c[Db>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if((c[ib>>2]|0)!=0?(c[(c[rf>>2]|0)+220>>2]|0)!=0:0){yf=Le+8|0;Xb[c[(c[rf>>2]|0)+220>>2]&255](c[(c[rf>>2]|0)+216>>2]|0,c[ib>>2]|0,c[Ue>>2]|0,c[c[ld>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 117:{c[jb>>2]=c[(c[pf>>2]|0)+8>>2];c[Eb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((a[(c[pf>>2]|0)+1>>0]|0)==-20?(c[(c[rf>>2]|0)+220>>2]|0)!=0:0){c[Ve>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(a[(c[Eb>>2]|0)+1>>0]<<4)>>2];c[md>>2]=c[(c[pf>>2]|0)+16>>2];if((d[(c[pf>>2]|0)+3>>0]&2|0)!=0?(d[(c[Eb>>2]|0)+4>>0]|0)!=0:0){wf=aI(c[(c[Eb>>2]|0)+16>>2]|0)|0;yf=(c[Eb>>2]|0)+40|0;c[yf>>2]=wf;c[yf+4>>2]=C}}else{c[Ve>>2]=0;c[md>>2]=0}c[uf>>2]=jJ(c[(c[Eb>>2]|0)+16>>2]|0,a[(c[pf>>2]|0)+3>>0]|0)|0;c[(c[Eb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if(((c[jb>>2]&1|0)!=0?(yf=(c[qf>>2]|0)+44|0,c[yf>>2]=(c[yf>>2]|0)+1,(c[(c[rf>>2]|0)+220>>2]|0)!=0):0)?(d[(c[md>>2]|0)+42>>0]&32|0)==0:0){yf=(c[Eb>>2]|0)+40|0;Xb[c[(c[rf>>2]|0)+220>>2]&255](c[(c[rf>>2]|0)+216>>2]|0,9,c[Ve>>2]|0,c[c[md>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 118:{yI(c[rf>>2]|0,c[(c[qf>>2]|0)+44>>2]|0);c[(c[qf>>2]|0)+44>>2]=0;break}case 119:{c[Fb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Xa>>2]=c[(c[pf>>2]|0)+16>>2];c[Xd>>2]=0;c[uf>>2]=kJ(c[Fb>>2]|0,c[Lc>>2]|0,c[Xa>>2]|0,Xd)|0;if(c[uf>>2]|0)break a;if(c[Xd>>2]|0)k=14;break}case 120:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Gb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=lJ(c[Gb>>2]|0,c[dd>>2]|0)|0;if(c[uf>>2]|0)break a;c[(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 122:case 121:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Hb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[dc>>2]=c[(c[Hb>>2]|0)+16>>2];c[Ha>>2]=bI(c[dc>>2]|0)|0;if((c[Ha>>2]|0)>>>0>(c[(c[rf>>2]|0)+96>>2]|0)>>>0){k=888;break c}if(Nx(c[dd>>2]|0,(c[Ha>>2]|0)>>>0>32?c[Ha>>2]|0:32)|0){k=889;break a}c[(c[dd>>2]|0)+12>>2]=c[Ha>>2];b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|16;g=c[dc>>2]|0;f=c[Ha>>2]|0;j=c[(c[dd>>2]|0)+16>>2]|0;if(!(d[(c[Hb>>2]|0)+4>>0]|0))c[uf>>2]=cI(g,0,f,j)|0;else c[uf>>2]=Qh(g,0,f,j)|0;if(c[uf>>2]|0)break a;a[(c[dd>>2]|0)+10>>0]=1;break}case 123:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Ib>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Ib>>2]|0)+2>>0]|0){b[(c[dd>>2]|0)+8>>1]=1;break d}g=c[Ib>>2]|0;do if(!(a[(c[Ib>>2]|0)+3>>0]|0)){f=c[Ib>>2]|0;if((d[g>>0]|0)==2){c[td>>2]=c[c[f+16>>2]>>2];c[Xc>>2]=c[c[td>>2]>>2];c[uf>>2]=Yb[c[(c[Xc>>2]|0)+48>>2]&255](c[(c[Ib>>2]|0)+16>>2]|0,te)|0;mJ(c[qf>>2]|0,c[td>>2]|0);if(c[uf>>2]|0)break a;else break}c[uf>>2]=nJ(f)|0;if(c[uf>>2]|0)break a;if(a[(c[Ib>>2]|0)+2>>0]|0){b[(c[dd>>2]|0)+8>>1]=1;break d}else{wf=aI(c[(c[Ib>>2]|0)+16>>2]|0)|0;yf=te;c[yf>>2]=wf;c[yf+4>>2]=C;break}}else{j=g+40|0;wf=c[j+4>>2]|0;yf=te;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);j=te;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 124:{c[Jb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];a[(c[Jb>>2]|0)+2>>0]=1;c[(c[Jb>>2]|0)+56>>2]=0;if(!(d[c[Jb>>2]>>0]|0))PB(c[(c[Jb>>2]|0)+16>>2]|0);break}case 53:{c[Kb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[ec>>2]=c[(c[Kb>>2]|0)+16>>2];c[Yd>>2]=0;c[uf>>2]=hJ(c[ec>>2]|0,Yd)|0;a[(c[Kb>>2]|0)+2>>0]=c[Yd>>2];a[(c[Kb>>2]|0)+3>>0]=0;c[(c[Kb>>2]|0)+56>>2]=0;c[(c[Kb>>2]|0)+28>>2]=c[(c[pf>>2]|0)+12>>2];if(c[uf>>2]|0)break a;if((c[Yd>>2]|0)!=0?(c[(c[pf>>2]|0)+8>>2]|0)>0:0)k=14;break}case 56:case 55:{k=(c[qf>>2]|0)+156+8|0;c[k>>2]=(c[k>>2]|0)+1;k=617;break}case 57:{k=617;break}case 3:{c[Mb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=0;c[uf>>2]=qJ(c[rf>>2]|0,c[Mb>>2]|0,_d)|0;k=625;break}case 5:case 4:{if(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)k=624;break}case 7:case 6:{k=624;break}case 126:case 125:{c[Nb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(d[(c[pf>>2]|0)+3>>0]&1){yf=(c[qf>>2]|0)+44|0;c[yf>>2]=(c[yf>>2]|0)+1}if(e[(c[Kc>>2]|0)+8>>1]&16384)g=Yg(c[Kc>>2]|0)|0;else g=0;c[uf>>2]=g;if(c[uf>>2]|0)break a;if((d[c[pf>>2]>>0]|0)==125)c[uf>>2]=rJ(c[Nb>>2]|0,c[Kc>>2]|0)|0;else{wf=c[(c[Kc>>2]|0)+12>>2]|0;yf=Ne+8|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;c[Ne>>2]=c[(c[Kc>>2]|0)+16>>2];if(d[(c[pf>>2]|0)+3>>0]&16)g=c[(c[Nb>>2]|0)+28>>2]|0;else g=0;c[uf>>2]=iJ(c[(c[Nb>>2]|0)+16>>2]|0,Ne,c[(c[pf>>2]|0)+12>>2]|0,g)|0;c[(c[Nb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;break}case 127:{c[Pb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[gc>>2]=c[(c[Pb>>2]|0)+16>>2];c[Id>>2]=c[(c[Pb>>2]|0)+24>>2];b[Id+8>>1]=c[(c[pf>>2]|0)+12>>2];a[Id+10>>0]=0;c[Id+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[uf>>2]=OF(c[gc>>2]|0,Id,0,0,0,ae)|0;if(c[uf>>2]|0)break a;if((c[ae>>2]|0)==0?(c[uf>>2]=jJ(c[gc>>2]|0,4)|0,(c[uf>>2]|0)!=0):0)break a;c[(c[Pb>>2]|0)+56>>2]=0;break}case 129:case 128:{c[Qb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=nJ(c[Qb>>2]|0)|0;if(c[uf>>2]|0)break a;if(a[(c[Qb>>2]|0)+2>>0]|0){ih((c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0);break d}yf=ce;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=sJ(c[rf>>2]|0,c[(c[Qb>>2]|0)+16>>2]|0,ce)|0;if(c[uf>>2]|0)break a;if((d[c[pf>>2]>>0]|0)==128){c[nd>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2];a[(c[nd>>2]|0)+2>>0]=0;j=ce;wf=c[j+4>>2]|0;yf=(c[nd>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[nd>>2]|0)+3>>0]=1;c[(c[nd>>2]|0)+52>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[nd>>2]|0)+48>>2]=c[Qb>>2];break d}else{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;j=ce;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[dd>>2]|0)+8>>1]=4;break d}}case 61:case 60:case 59:case 58:{c[Sb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Jd>>2]=c[(c[Sb>>2]|0)+24>>2];b[Jd+8>>1]=c[(c[pf>>2]|0)+16>>2];g=Jd+10|0;if((d[c[pf>>2]>>0]|0)<60)a[g>>0]=-1;else a[g>>0]=0;c[Jd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[be>>2]=0;c[uf>>2]=tJ(c[rf>>2]|0,c[Sb>>2]|0,Jd,be)|0;g=c[be>>2]|0;if(!(d[c[pf>>2]>>0]&1))c[be>>2]=0-g;else c[be>>2]=g+1;if(c[uf>>2]|0)break a;if((c[be>>2]|0)>0)k=14;break}case 130:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=1;if((c[(c[rf>>2]|0)+160>>2]|0)>((c[(c[rf>>2]|0)+172>>2]|0)+1|0)){k=660;break c}c[ia>>2]=c[(c[pf>>2]|0)+12>>2];c[pa>>2]=0;c[uf>>2]=uJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ia>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,pa)|0;b[(c[dd>>2]|0)+8>>1]=4;wf=c[pa>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;if(c[uf>>2]|0)break a;if(c[pa>>2]|0){vJ(c[rf>>2]|0,c[ia>>2]|0,c[pa>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);a[ff>>0]=(c[ia>>2]|0)+1}break}case 131:{c[Pa>>2]=0;c[uf>>2]=wJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,(c[(c[pf>>2]|0)+12>>2]|0)!=0?Pa:0)|0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(yf=(c[qf>>2]|0)+44|0,c[yf>>2]=(c[yf>>2]|0)+(c[Pa>>2]|0),(c[(c[pf>>2]|0)+12>>2]|0)>0):0){wf=c[Pa>>2]|0;yf=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0;j=yf;wf=RR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C}if(c[uf>>2]|0)break a;break}case 133:{c[Vb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((d[c[Vb>>2]>>0]|0)!=1){c[uf>>2]=yJ(c[(c[Vb>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0)break a;else break d}else{xJ(c[rf>>2]|0,c[(c[Vb>>2]|0)+16>>2]|0);break d}}case 135:case 134:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Ed>>2]=0;c[xc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);if((d[c[pf>>2]>>0]|0)==135)c[P>>2]=1;else c[P>>2]=2;c[uf>>2]=cJ(c[(c[xc>>2]|0)+4>>2]|0,Ed,c[P>>2]|0)|0;if(c[uf>>2]|0)break a;wf=c[Ed>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 136:{c[ja>>2]=c[(c[pf>>2]|0)+4>>2];c[Ze>>2]=(c[ja>>2]|0)==1?19905:19924;c[xa>>2]=c[rf>>2];c[xa+8>>2]=c[(c[pf>>2]|0)+4>>2];c[xa+4>>2]=(c[qf>>2]|0)+108;yf=c[rf>>2]|0;j=c[Ze>>2]|0;wf=c[(c[pf>>2]|0)+16>>2]|0;c[Ae>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ja>>2]<<4)>>2];c[Ae+4>>2]=j;c[Ae+8>>2]=wf;c[bf>>2]=Gh(yf,40293,Ae)|0;if(!(c[bf>>2]|0))c[uf>>2]=7;else{a[(c[rf>>2]|0)+148+5>>0]=1;c[xa+12>>2]=0;c[uf>>2]=$e(c[rf>>2]|0,c[bf>>2]|0,140,xa,0)|0;if(!(c[uf>>2]|0))c[uf>>2]=c[xa+12>>2];Tf(c[rf>>2]|0,c[bf>>2]|0);a[(c[rf>>2]|0)+148+5>>0]=0}if(c[uf>>2]|0){k=682;break c}break}case 137:{c[uf>>2]=Fj(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 138:{zJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 139:{AJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 140:{BJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 141:{c[$a>>2]=c[(c[pf>>2]|0)+8>>2];c[p>>2]=c[(c[pf>>2]|0)+16>>2];c[Fd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Oe>>2]=CJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(d[(c[pf>>2]|0)+3>>0]<<4)+4>>2]|0,c[p>>2]|0,c[$a>>2]|0,c[c[Fd>>2]>>2]|0,Sa)|0;wf=c[Sa>>2]|0;yf=c[Fd>>2]|0;j=yf;wf=QR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;ih(c[Jc>>2]|0);if(c[Sa>>2]|0){if(!(c[Oe>>2]|0)){k=889;break a}gh(c[Jc>>2]|0,c[Oe>>2]|0,-1,1,148)|0}iu(c[Jc>>2]|0,d[G>>0]|0)|0;break}case 142:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]&32|0)==0?(DJ(c[Jc>>2]|0),(e[(c[Jc>>2]|0)+8>>1]&32|0)==0):0){k=889;break a}yf=c[Kc>>2]|0;EJ(c[c[Jc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0);break}case 62:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]&32|0)!=0?(FJ(c[c[Jc>>2]>>2]|0,ue)|0)!=0:0){k=ue;hh((c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=8;break d}ih(c[Jc>>2]|0);k=7;break}case 63:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[ta>>2]=c[(c[pf>>2]|0)+16>>2];if((e[(c[Jc>>2]|0)+8>>1]&32|0)==0?(DJ(c[Jc>>2]|0),(e[(c[Jc>>2]|0)+8>>1]&32|0)==0):0){k=889;break a}if((c[ta>>2]|0)!=0?(yf=c[Lc>>2]|0,c[I>>2]=GJ(c[c[Jc>>2]>>2]|0,c[ta>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)|0,(c[I>>2]|0)!=0):0){k=14;break d}if((c[ta>>2]|0)>=0){yf=c[Lc>>2]|0;EJ(c[c[Jc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 64:{c[fd>>2]=c[(c[pf>>2]|0)+16>>2];c[jd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[pf>>2]|0)+3>>0]|0){c[ke>>2]=c[(c[fd>>2]|0)+16>>2];c[Dc>>2]=c[(c[qf>>2]|0)+184>>2];while(1){if(!(c[Dc>>2]|0))break;if((c[(c[Dc>>2]|0)+24>>2]|0)==(c[ke>>2]|0))break;c[Dc>>2]=c[(c[Dc>>2]|0)+4>>2]}if(c[Dc>>2]|0)break d}if((c[(c[qf>>2]|0)+192>>2]|0)>=(c[(c[rf>>2]|0)+96+40>>2]|0)){k=711;break c}i:do if(!(e[(c[jd>>2]|0)+8>>1]&64)){c[Ya>>2]=(c[(c[fd>>2]|0)+8>>2]|0)+(c[(c[fd>>2]|0)+12>>2]|0);if(!(c[(c[fd>>2]|0)+12>>2]|0))c[Ya>>2]=(c[Ya>>2]|0)+1;c[Oa>>2]=80+((c[Ya>>2]|0)*40|0)+(c[(c[fd>>2]|0)+12>>2]<<2);yf=c[Oa>>2]|0;c[Dc>>2]=sh(c[rf>>2]|0,yf,((yf|0)<0)<<31>>31)|0;if(!(c[Dc>>2]|0)){k=889;break a}Xg(c[jd>>2]|0);b[(c[jd>>2]|0)+8>>1]=64;c[c[jd>>2]>>2]=c[Dc>>2];c[c[Dc>>2]>>2]=c[qf>>2];c[(c[Dc>>2]|0)+60>>2]=c[Ya>>2];c[(c[Dc>>2]|0)+64>>2]=c[(c[fd>>2]|0)+12>>2];c[(c[Dc>>2]|0)+48>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[Dc>>2]|0)+16>>2]=c[(c[qf>>2]|0)+92>>2];c[(c[Dc>>2]|0)+56>>2]=c[(c[qf>>2]|0)+24>>2];c[(c[Dc>>2]|0)+20>>2]=c[(c[qf>>2]|0)+112>>2];c[(c[Dc>>2]|0)+44>>2]=c[(c[qf>>2]|0)+28>>2];c[(c[Dc>>2]|0)+8>>2]=c[(c[qf>>2]|0)+88>>2];c[(c[Dc>>2]|0)+52>>2]=c[(c[qf>>2]|0)+136>>2];c[(c[Dc>>2]|0)+24>>2]=c[(c[fd>>2]|0)+16>>2];c[Ac>>2]=(c[Dc>>2]|0)+80+((c[(c[Dc>>2]|0)+60>>2]|0)*40|0);c[Tc>>2]=(c[Dc>>2]|0)+80;while(1){if((c[Tc>>2]|0)==(c[Ac>>2]|0))break i;b[(c[Tc>>2]|0)+8>>1]=128;c[(c[Tc>>2]|0)+32>>2]=c[rf>>2];c[Tc>>2]=(c[Tc>>2]|0)+40}}else c[Dc>>2]=c[c[jd>>2]>>2];while(0);j=(c[qf>>2]|0)+192|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[Dc>>2]|0)+4>>2]=c[(c[qf>>2]|0)+184>>2];j=sf;wf=c[j+4>>2]|0;yf=(c[Dc>>2]|0)+32|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;c[(c[Dc>>2]|0)+68>>2]=c[(c[qf>>2]|0)+44>>2];c[(c[Dc>>2]|0)+72>>2]=c[(c[c[qf>>2]>>2]|0)+88>>2];c[(c[Dc>>2]|0)+40>>2]=c[(c[qf>>2]|0)+204>>2];c[(c[qf>>2]|0)+204>>2]=0;c[(c[qf>>2]|0)+44>>2]=0;c[(c[qf>>2]|0)+184>>2]=c[Dc>>2];yf=(c[Dc>>2]|0)+80|0;c[l>>2]=yf;c[(c[qf>>2]|0)+92>>2]=yf;c[(c[qf>>2]|0)+24>>2]=c[(c[Dc>>2]|0)+60>>2];c[(c[qf>>2]|0)+28>>2]=c[(c[Dc>>2]|0)+64>>2]&65535;c[(c[qf>>2]|0)+112>>2]=(c[l>>2]|0)+((c[(c[qf>>2]|0)+24>>2]|0)*40|0);yf=c[c[fd>>2]>>2]|0;c[ef>>2]=yf;c[(c[qf>>2]|0)+88>>2]=yf;c[(c[qf>>2]|0)+136>>2]=c[(c[fd>>2]|0)+4>>2];c[pf>>2]=(c[ef>>2]|0)+-20;break}case 143:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Ec>>2]=c[(c[qf>>2]|0)+184>>2];c[Ic>>2]=(c[(c[Ec>>2]|0)+16>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)+(c[(c[(c[Ec>>2]|0)+8>>2]|0)+((c[(c[Ec>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);kG(c[dd>>2]|0,c[Ic>>2]|0,4096);break}case 144:{g=c[pf>>2]|0;if(c[(c[rf>>2]|0)+24>>2]&33554432){wf=c[g+8>>2]|0;yf=(c[rf>>2]|0)+448|0;j=yf;wf=RR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}f=c[(c[pf>>2]|0)+8>>2]|0;j=((f|0)<0)<<31>>31;if(c[g+4>>2]|0){yf=(c[rf>>2]|0)+440|0;wf=yf;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}else{yf=(c[qf>>2]|0)+64|0;wf=yf;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}}case 65:if(c[(c[pf>>2]|0)+4>>2]|0){yf=(c[rf>>2]|0)+440|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[rf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}else{yf=(c[qf>>2]|0)+64|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[rf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}case 145:{if(c[(c[qf>>2]|0)+184>>2]|0){c[Fc>>2]=c[(c[qf>>2]|0)+184>>2];while(1){if(!(c[(c[Fc>>2]|0)+4>>2]|0))break;c[Fc>>2]=c[(c[Fc>>2]|0)+4>>2]}c[Jc>>2]=(c[(c[Fc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)}else c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Qx(c[Jc>>2]|0)|0;c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);Qx(c[Kc>>2]|0)|0;wf=c[Jc>>2]|0;f=c[wf+4>>2]|0;yf=c[Kc>>2]|0;j=c[yf+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0<(c[yf>>2]|0)>>>0:0)){j=c[Kc>>2]|0;wf=c[j+4>>2]|0;yf=c[Jc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}break}case 66:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Jc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){yf=c[(c[pf>>2]|0)+12>>2]|0;k=c[Jc>>2]|0;wf=k;yf=QR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 146:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;yf=c[Jc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)<0|(wf|0)==0&(c[yf>>2]|0)>>>0<=0){g=-1;f=-1}else{g=c[Jc>>2]|0;yf=c[Lc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){j=c[Lc>>2]|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}g=RR(c[g>>2]|0,c[g+4>>2]|0,f|0,j|0)|0;f=C}yf=c[dd>>2]|0;c[yf>>2]=g;c[yf+4>>2]=f;break}case 67:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Jc>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){yf=c[(c[pf>>2]|0)+12>>2]|0;k=c[Jc>>2]|0;wf=k;yf=QR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 68:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Jc>>2]|0;wf=yf;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,-1,-1)|0;c[yf>>2]=wf;c[yf+4>>2]=C;yf=c[Jc>>2]|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)k=14;break}case 147:{c[Ja>>2]=d[(c[pf>>2]|0)+3>>0];c[jc>>2]=Vw(c[rf>>2]|0,32+((c[Ja>>2]|0)-1<<2)|0,0)|0;if(!(c[jc>>2]|0)){k=889;break a}c[(c[jc>>2]|0)+8>>2]=0;c[(c[jc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[jc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[jc>>2]|0)+12>>2]=c[qf>>2];a[(c[jc>>2]|0)+26>>0]=c[Ja>>2];a[(c[pf>>2]|0)+1>>0]=-21;c[(c[pf>>2]|0)+16>>2]=c[jc>>2];a[c[pf>>2]>>0]=-108;k=752;break}case 148:{k=752;break}case 149:{c[Vc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=nG(c[Vc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0){k=764;break c}iu(c[Vc>>2]|0,d[G>>0]|0)|0;if(DI(c[Vc>>2]|0)|0){k=888;break c}break}case 8:{c[o>>2]=0;c[o+8>>2]=-1;c[o+4>>2]=-1;c[uf>>2]=oi(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,o+4|0,o+8|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=5)break a;c[uf>>2]=0;c[o>>2]=1}c[_>>2]=0;c[Wc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[_>>2]|0)>=3)break d;yf=c[o+(c[_>>2]<<2)>>2]|0;hh(c[Wc>>2]|0,yf,((yf|0)<0)<<31>>31);c[_>>2]=(c[_>>2]|0)+1;c[Wc>>2]=(c[Wc>>2]|0)+40}}case 9:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[E>>2]=c[(c[pf>>2]|0)+12>>2];c[vb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[ed>>2]=Pf(c[vb>>2]|0)|0;c[F>>2]=tg(c[ed>>2]|0)|0;if((c[E>>2]|0)==-1)c[E>>2]=c[F>>2];if(!(HJ(c[ed>>2]|0)|0))c[E>>2]=c[F>>2];c[Xe>>2]=Ki(c[ed>>2]|0,1)|0;do if((c[E>>2]|0)==5){if((Jf(c[Xe>>2]|0)|0)!=0?(IJ(c[ed>>2]|0)|0)!=0:0)break;c[E>>2]=c[F>>2]}while(0);if((c[E>>2]|0)!=(c[F>>2]|0)?(c[F>>2]|0)==5|(c[E>>2]|0)==5:0){if(!(a[(c[rf>>2]|0)+67>>0]|0)){k=784;break c}if((c[(c[rf>>2]|0)+160>>2]|0)>1){k=784;break c}if((c[F>>2]|0)==5){c[uf>>2]=JJ(c[ed>>2]|0)|0;if(!(c[uf>>2]|0))KJ(c[ed>>2]|0,c[E>>2]|0)|0}else if((c[F>>2]|0)==4)KJ(c[ed>>2]|0,2)|0;if(!(c[uf>>2]|0))c[uf>>2]=Dg(c[vb>>2]|0,(c[E>>2]|0)==5?2:1)|0}if(c[uf>>2]|0)c[E>>2]=c[F>>2];c[E>>2]=KJ(c[ed>>2]|0,c[E>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=2562;yf=pC(c[E>>2]|0)|0;c[(c[dd>>2]|0)+16>>2]=yf;yf=Jf(c[(c[dd>>2]|0)+16>>2]|0)|0;c[(c[dd>>2]|0)+12>>2]=yf;a[(c[dd>>2]|0)+10>>0]=1;iu(c[dd>>2]|0,d[G>>0]|0)|0;if(c[uf>>2]|0)break a;break}case 10:{c[uf>>2]=LJ((c[qf>>2]|0)+108|0,c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 69:{c[wb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[uf>>2]=MJ(c[wb>>2]|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=101)break a;c[uf>>2]=0;k=14}break}case 150:if(c[(c[pf>>2]|0)+4>>2]|0){yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2|1;break d}else{Sh(c[rf>>2]|0);break d}case 151:{a[Aa>>0]=c[(c[pf>>2]|0)+12>>2];if((d[Aa>>0]|0)==0?0!=(c[(c[rf>>2]|0)+24>>2]&16384|0):0)break d;c[lb>>2]=c[(c[pf>>2]|0)+4>>2];c[uf>>2]=NJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[lb>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,a[Aa>>0]|0)|0;if(c[uf>>2]|0){k=805;break c}break}case 152:{c[rd>>2]=c[(c[pf>>2]|0)+16>>2];c[uf>>2]=OJ(c[rf>>2]|0,c[rd>>2]|0)|0;if(c[rd>>2]|0)mJ(c[qf>>2]|0,c[(c[rd>>2]|0)+8>>2]|0);if(c[uf>>2]|0)break a;break}case 153:{g=ge;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[ge+32>>2]=c[rf>>2];c[uf>>2]=jh(ge,(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[cf>>2]=$d(ge)|0;if(c[cf>>2]|0)c[uf>>2]=PJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[cf>>2]|0,(c[qf>>2]|0)+108|0)|0;Xg(ge);if(c[uf>>2]|0)break a;break}case 154:{yf=(c[rf>>2]|0)+172|0;c[yf>>2]=(c[yf>>2]|0)+1;c[uf>>2]=QJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;yf=(c[rf>>2]|0)+172|0;c[yf>>2]=(c[yf>>2]|0)+-1;if(c[uf>>2]|0)break a;break}case 155:{c[mc>>2]=0;c[pd>>2]=0;c[ud>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if(!(c[ud>>2]|0)){k=816;break c}if(!(c[c[ud>>2]>>2]|0)){k=816;break c}c[Yc>>2]=c[c[ud>>2]>>2];c[uf>>2]=Yb[c[(c[Yc>>2]|0)+24>>2]&255](c[ud>>2]|0,pd)|0;mJ(c[qf>>2]|0,c[ud>>2]|0);if(c[uf>>2]|0)break a;c[c[pd>>2]>>2]=c[ud>>2];c[mc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[mc>>2]|0)){k=820;break c}c[(c[mc>>2]|0)+16>>2]=c[pd>>2];yf=(c[ud>>2]|0)+4|0;c[yf>>2]=(c[yf>>2]|0)+1;break}case 11:{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[sb>>2]=(c[gd>>2]|0)+40;c[nc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[qd>>2]=c[(c[nc>>2]|0)+16>>2];c[vd>>2]=c[c[qd>>2]>>2];c[Zc>>2]=c[c[vd>>2]>>2];c[Ka>>2]=c[c[sb>>2]>>2];c[qa>>2]=c[c[gd>>2]>>2];c[Od>>2]=0;c[t>>2]=c[(c[qf>>2]|0)+96>>2];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[Ka>>2]|0))break;c[(c[t>>2]|0)+(c[R>>2]<<2)>>2]=(c[sb>>2]|0)+(((c[R>>2]|0)+1|0)*40|0);c[R>>2]=(c[R>>2]|0)+1}c[uf>>2]=Zb[c[(c[Zc>>2]|0)+32>>2]&255](c[qd>>2]|0,c[qa>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[Ka>>2]|0,c[t>>2]|0)|0;mJ(c[qf>>2]|0,c[vd>>2]|0);if(c[uf>>2]|0)break a;c[Od>>2]=Tb[c[(c[Zc>>2]|0)+40>>2]&255](c[qd>>2]|0)|0;a[(c[nc>>2]|0)+2>>0]=0;if(c[Od>>2]|0)k=14;break}case 156:{c[oc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[zc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[oc>>2]|0)+2>>0]|0){ih(c[zc>>2]|0);break d}c[wd>>2]=c[c[(c[oc>>2]|0)+16>>2]>>2];c[_c>>2]=c[c[wd>>2]>>2];c[ee>>2]=0;c[ee+4>>2]=0;c[ee+8>>2]=0;c[ee+12>>2]=0;c[ee+16>>2]=0;c[ee+20>>2]=0;c[ee+24>>2]=0;c[ee+28>>2]=0;c[ee>>2]=c[zc>>2];b[(c[zc>>2]|0)+8>>1]=e[(c[zc>>2]|0)+8>>1]&-49664|1;c[uf>>2]=Ob[c[(c[_c>>2]|0)+44>>2]&255](c[(c[oc>>2]|0)+16>>2]|0,ee,c[(c[pf>>2]|0)+8>>2]|0)|0;mJ(c[qf>>2]|0,c[wd>>2]|0);if(c[ee+20>>2]|0)c[uf>>2]=c[ee+20>>2];iu(c[zc>>2]|0,d[G>>0]|0)|0;if(DI(c[zc>>2]|0)|0){k=888;break c}if(c[uf>>2]|0)break a;break}case 70:{c[Pd>>2]=0;c[pc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[pc>>2]|0)+2>>0]|0)){c[xd>>2]=c[c[(c[pc>>2]|0)+16>>2]>>2];c[$c>>2]=c[c[xd>>2]>>2];c[uf>>2]=Tb[c[(c[$c>>2]|0)+36>>2]&255](c[(c[pc>>2]|0)+16>>2]|0)|0;mJ(c[qf>>2]|0,c[xd>>2]|0);if(c[uf>>2]|0)break a;c[Pd>>2]=Tb[c[(c[$c>>2]|0)+40>>2]&255](c[(c[pc>>2]|0)+16>>2]|0)|0;if(c[Pd>>2]|0)k=8;else k=7}break}case 157:{c[yd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];c[bd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=iu(c[bd>>2]|0,1)|0;if(c[uf>>2]|0)break a;c[uf>>2]=Yb[c[(c[c[yd>>2]>>2]|0)+76>>2]&255](c[yd>>2]|0,c[(c[bd>>2]|0)+16>>2]|0)|0;mJ(c[qf>>2]|0,c[yd>>2]|0);yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2;if(c[uf>>2]|0)break a;break}case 12:{c[zd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if(!(c[zd>>2]|0)){k=839;break c}if(!(c[c[zd>>2]>>2]|0)){k=839;break c}c[ad>>2]=c[c[zd>>2]>>2];c[La>>2]=c[(c[pf>>2]|0)+8>>2];if(c[(c[ad>>2]|0)+52>>2]|0){a[Je>>0]=a[(c[rf>>2]|0)+74>>0]|0;c[u>>2]=c[(c[qf>>2]|0)+96>>2];c[Bd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[La>>2]|0))break;c[(c[u>>2]|0)+(c[T>>2]<<2)>>2]=c[Bd>>2];c[Bd>>2]=(c[Bd>>2]|0)+40;c[T>>2]=(c[T>>2]|0)+1}a[(c[rf>>2]|0)+74>>0]=a[(c[pf>>2]|0)+3>>0]|0;c[uf>>2]=Wb[c[(c[ad>>2]|0)+52>>2]&255](c[zd>>2]|0,c[La>>2]|0,c[u>>2]|0,de)|0;a[(c[rf>>2]|0)+74>>0]=a[Je>>0]|0;mJ(c[qf>>2]|0,c[zd>>2]|0);if((c[uf>>2]|0)==0?(c[(c[pf>>2]|0)+4>>2]|0)!=0:0){wf=de;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=sf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[rf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}do if((c[uf>>2]&255|0)==19?(d[(c[(c[pf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[pf>>2]|0)+3>>0]|0)==4){c[uf>>2]=0;break}if((d[(c[pf>>2]|0)+3>>0]|0)==5)g=2;else g=d[(c[pf>>2]|0)+3>>0]|0;a[(c[qf>>2]|0)+142>>0]=g}else k=854;while(0);if((k|0)==854){k=0;yf=(c[qf>>2]|0)+44|0;c[yf>>2]=(c[yf>>2]|0)+1}if(c[uf>>2]|0)break a}break}case 158:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;wf=ug(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=0;break}case 159:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[ub>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[cb>>2]=0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(c[cb>>2]=ug(c[ub>>2]|0)|0,(c[cb>>2]|0)>>>0<(c[(c[pf>>2]|0)+12>>2]|0)>>>0):0)c[cb>>2]=c[(c[pf>>2]|0)+12>>2];wf=RJ(c[ub>>2]|0,c[cb>>2]|0)|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 71:{do if((d[(c[rf>>2]|0)+76>>0]&129|0)!=0?((e[(c[qf>>2]|0)+144>>1]|0)>>>1&1|0)==0:0){if(c[(c[pf>>2]|0)+16>>2]|0)g=c[(c[pf>>2]|0)+16>>2]|0;else g=c[(c[qf>>2]|0)+176>>2]|0;c[df>>2]=g;if(g){g=c[(c[rf>>2]|0)+184>>2]|0;if(d[(c[rf>>2]|0)+76>>0]&128){c[Me>>2]=g;c[Qe>>2]=Ah(c[qf>>2]|0,c[df>>2]|0)|0;Rb[c[Me>>2]&255](c[(c[rf>>2]|0)+188>>2]|0,c[Qe>>2]|0);Kd(c[Qe>>2]|0);break}else{Wb[g&255](1,c[(c[rf>>2]|0)+188>>2]|0,c[qf>>2]|0,c[df>>2]|0)|0;break}}}while(0);if((c[(c[pf>>2]|0)+4>>2]|0)>=(c[70]|0)){c[U>>2]=1;while(1){if((c[U>>2]|0)>=(c[(c[qf>>2]|0)+136>>2]|0))break;if((d[(c[(c[qf>>2]|0)+88>>2]|0)+((c[U>>2]|0)*20|0)>>0]|0)==20)c[(c[(c[qf>>2]|0)+88>>2]|0)+((c[U>>2]|0)*20|0)+4>>2]=0;c[U>>2]=(c[U>>2]|0)+1}c[(c[pf>>2]|0)+4>>2]=0}k=(c[pf>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1;k=14;break}default:{}}while(0);do if((k|0)==20){k=0;c[kf>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;if(c[(c[pf>>2]|0)+4>>2]|0){k=25;break c}if(!(c[(c[qf>>2]|0)+184>>2]|0)){k=25;break c}c[Bc>>2]=c[(c[qf>>2]|0)+184>>2];c[(c[qf>>2]|0)+184>>2]=c[(c[Bc>>2]|0)+4>>2];j=(c[qf>>2]|0)+192|0;c[j>>2]=(c[j>>2]|0)+-1;yI(c[rf>>2]|0,c[(c[qf>>2]|0)+44>>2]|0);c[kf>>2]=zI(c[Bc>>2]|0)|0;j=(c[rf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=sf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if((c[(c[pf>>2]|0)+8>>2]|0)==4)c[kf>>2]=(c[(c[(c[qf>>2]|0)+88>>2]|0)+((c[kf>>2]|0)*20|0)+8>>2]|0)-1;c[ef>>2]=c[(c[qf>>2]|0)+88>>2];c[l>>2]=c[(c[qf>>2]|0)+92>>2];c[pf>>2]=(c[ef>>2]|0)+((c[kf>>2]|0)*20|0)}else if((k|0)==43){k=0;c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=2562;c[(c[dd>>2]|0)+16>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[dd>>2]|0)+12>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[dd>>2]|0)+10>>0]=a[G>>0]|0;if((c[(c[pf>>2]|0)+12>>2]|0)>0?(c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0),yf=c[Lc>>2]|0,(c[yf+4>>2]|0)==0?(c[yf>>2]|0)==(d[(c[pf>>2]|0)+3>>0]|0):0):0)b[(c[dd>>2]|0)+8>>1]=2576}else if((k|0)==126){k=0;c[ic>>2]=c[(c[pf>>2]|0)+16>>2];c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[ic>>2]>>2]|0)!=(c[dd>>2]|0)){c[c[ic>>2]>>2]=c[dd>>2];c[W>>2]=(d[(c[ic>>2]|0)+26>>0]|0)-1;while(1){if((c[W>>2]|0)<0)break j;c[(c[ic>>2]|0)+28+(c[W>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[W>>2]|0)|0)*40|0);c[W>>2]=(c[W>>2]|0)+-1}}while(0);b[(c[c[ic>>2]>>2]|0)+8>>1]=e[(c[c[ic>>2]>>2]|0)+8>>1]&-49664|1;a[(c[ic>>2]|0)+25>>0]=0;yf=sf;wf=c[yf+4>>2]|0;j=(c[rf>>2]|0)+32|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;Ub[c[(c[(c[ic>>2]|0)+4>>2]|0)+12>>2]&255](c[ic>>2]|0,d[(c[ic>>2]|0)+26>>0]|0,(c[ic>>2]|0)+28|0);j=(c[rf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=sf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(a[(c[ic>>2]|0)+25>>0]|0){if(c[(c[ic>>2]|0)+20>>2]|0){yf=c[qf>>2]|0;c[ve>>2]=$d(c[c[ic>>2]>>2]|0)|0;AI(yf,18391,ve);c[uf>>2]=c[(c[ic>>2]|0)+20>>2]}LI(c[rf>>2]|0,(c[qf>>2]|0)+204|0,c[(c[ic>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);if(c[uf>>2]|0)break a}if((e[(c[dd>>2]|0)+8>>1]&18|0)!=0?(iu(c[c[ic>>2]>>2]|0,d[G>>0]|0)|0,(DI(c[c[ic>>2]>>2]|0)|0)!=0):0){k=888;break c}}else if((k|0)==444){if(b[(c[qf>>2]|0)+144>>1]&1){k=445;break c}c[Ua>>2]=0;c[Oc>>2]=0;c[rb>>2]=c[(c[pf>>2]|0)+8>>2];c[ha>>2]=c[(c[pf>>2]|0)+12>>2];c[wc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[ha>>2]<<4);c[Ad>>2]=c[(c[wc>>2]|0)+4>>2];if((d[c[pf>>2]>>0]|0)==105){c[Ke>>2]=4|d[(c[pf>>2]|0)+3>>0]&8;if((d[(c[(c[wc>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[qf>>2]|0)+143>>0]|0))a[(c[qf>>2]|0)+143>>0]=a[(c[(c[wc>>2]|0)+12>>2]|0)+76>>0]|0}else c[Ke>>2]=0;if(d[(c[pf>>2]|0)+3>>0]&16){c[Kc>>2]=(c[l>>2]|0)+((c[rb>>2]|0)*40|0);Qx(c[Kc>>2]|0)|0;c[rb>>2]=c[c[Kc>>2]>>2]}g=c[pf>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)!=-6){if((a[g+1>>0]|0)==-14)c[Ua>>2]=c[(c[pf>>2]|0)+16>>2]}else{c[Oc>>2]=c[g+16>>2];c[Ua>>2]=(e[(c[Oc>>2]|0)+6>>1]|0)+(e[(c[Oc>>2]|0)+8>>1]|0)}c[lc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[Ua>>2]|0,c[ha>>2]|0,0)|0;if(!(c[lc>>2]|0)){k=889;break a}a[(c[lc>>2]|0)+2>>0]=1;k=(c[lc>>2]|0)+5|0;a[k>>0]=a[k>>0]&-5|4;c[(c[lc>>2]|0)+8>>2]=c[rb>>2];c[uf>>2]=aJ(c[Ad>>2]|0,c[rb>>2]|0,c[Ke>>2]|0,c[Oc>>2]|0,c[(c[lc>>2]|0)+16>>2]|0)|0;c[(c[lc>>2]|0)+24>>2]=c[Oc>>2];a[(c[lc>>2]|0)+4>>0]=(a[(c[pf>>2]|0)+1>>0]|0)!=-6;k=458}else if((k|0)==523){k=0;c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Bb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[cc>>2]=c[(c[Bb>>2]|0)+16>>2];c[Vd>>2]=0;yf=c[Lc>>2]|0;wf=c[yf+4>>2]|0;j=ma;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=ma;c[uf>>2]=OF(c[cc>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Vd)|0;j=ma;wf=c[j+4>>2]|0;yf=(c[Bb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[Bb>>2]|0)+2>>0]=0;c[(c[Bb>>2]|0)+56>>2]=0;a[(c[Bb>>2]|0)+3>>0]=0;c[(c[Bb>>2]|0)+28>>2]=c[Vd>>2];if(c[Vd>>2]|0){if(c[(c[pf>>2]|0)+8>>2]|0){k=14;break}c[uf>>2]=Qj(81458)|0}if(c[uf>>2]|0)break a}else if((k|0)==617){k=0;c[Lb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Zd>>2]=1;g=c[Lb>>2]|0;if((d[c[Lb>>2]>>0]|0)==1)c[uf>>2]=oJ(g,Zd)|0;else{c[fc>>2]=c[g+16>>2];c[uf>>2]=pJ(c[fc>>2]|0,Zd)|0;a[(c[Lb>>2]|0)+3>>0]=0;c[(c[Lb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;a[(c[Lb>>2]|0)+2>>0]=c[Zd>>2];if(c[Zd>>2]|0)k=14}else if((k|0)==624){c[Mb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=c[(c[pf>>2]|0)+12>>2];c[uf>>2]=Yb[c[(c[pf>>2]|0)+16>>2]&255](c[(c[Mb>>2]|0)+16>>2]|0,_d)|0;k=625}else if((k|0)==752){k=0;c[kc>>2]=c[(c[pf>>2]|0)+16>>2];c[Uc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[kc>>2]|0)+8>>2]|0)!=(c[Uc>>2]|0)){c[(c[kc>>2]|0)+8>>2]=c[Uc>>2];c[Y>>2]=(d[(c[kc>>2]|0)+26>>0]|0)-1;while(1){if((c[Y>>2]|0)<0)break k;c[(c[kc>>2]|0)+28+(c[Y>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[Y>>2]|0)|0)*40|0);c[Y>>2]=(c[Y>>2]|0)+-1}}while(0);yf=(c[Uc>>2]|0)+12|0;c[yf>>2]=(c[yf>>2]|0)+1;jG(le,c[rf>>2]|0,1);c[c[kc>>2]>>2]=le;a[(c[kc>>2]|0)+25>>0]=0;a[(c[kc>>2]|0)+24>>0]=0;Ub[c[(c[(c[kc>>2]|0)+4>>2]|0)+12>>2]&255](c[kc>>2]|0,d[(c[kc>>2]|0)+26>>0]|0,(c[kc>>2]|0)+28|0);if(a[(c[kc>>2]|0)+25>>0]|0){if(c[(c[kc>>2]|0)+20>>2]|0){yf=c[qf>>2]|0;c[Ce>>2]=$d(le)|0;AI(yf,18391,Ce);c[uf>>2]=c[(c[kc>>2]|0)+20>>2]}Xg(le);if(c[uf>>2]|0)break a}if((a[(c[kc>>2]|0)+24>>0]|0)!=0?(c[Y>>2]=c[(c[pf>>2]|0)+-20+4>>2],(c[Y>>2]|0)!=0):0)hh((c[l>>2]|0)+((c[Y>>2]|0)*40|0)|0,1,0)}while(0);do if((k|0)==14){k=0;c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((k|0)==458){k=0;bJ(c[(c[lc>>2]|0)+16>>2]|0,d[(c[pf>>2]|0)+3>>0]&3);if(c[uf>>2]|0)break a}else if((k|0)==625){k=0;c[(c[Mb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;g=(c[Mb>>2]|0)+2|0;if(!(c[_d>>2]|0)){a[g>>0]=0;k=(c[qf>>2]|0)+156+(d[(c[pf>>2]|0)+3>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;k=7;break}else{a[g>>0]=1;k=8;break}}while(0);if((k|0)==7){c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0);k=8}if((k|0)==8){k=0;if(c[(c[rf>>2]|0)+248>>2]|0)break b;if(((c[(c[rf>>2]|0)+304>>2]|0)!=0?(c[tf>>2]|0)>>>0>=(c[_a>>2]|0)>>>0:0)?(c[_a>>2]=(c[tf>>2]|0)+(c[(c[rf>>2]|0)+312>>2]|0)-(((c[tf>>2]|0)>>>0)%((c[(c[rf>>2]|0)+312>>2]|0)>>>0)|0),(Tb[c[(c[rf>>2]|0)+304>>2]&255](c[(c[rf>>2]|0)+308>>2]|0)|0)!=0):0){k=12;break}}c[pf>>2]=(c[pf>>2]|0)+20}switch(k|0){case 12:{c[uf>>2]=9;break a}case 25:{c[(c[qf>>2]|0)+40>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[qf>>2]|0)+142>>0]=c[(c[pf>>2]|0)+8>>2];c[(c[qf>>2]|0)+36>>2]=c[kf>>2];if(c[(c[qf>>2]|0)+40>>2]|0){g=c[qf>>2]|0;f=c[pf>>2]|0;if(a[(c[pf>>2]|0)+3>>0]|0){c[lf>>2]=c[5572+((d[f+3>>0]|0)-1<<2)>>2];AI(g,39873,lf);if(c[(c[pf>>2]|0)+16>>2]|0){yf=c[rf>>2]|0;wf=c[(c[pf>>2]|0)+16>>2]|0;c[mf>>2]=c[(c[qf>>2]|0)+108>>2];c[mf+4>>2]=wf;yf=Gh(yf,39894,mf)|0;c[(c[qf>>2]|0)+108>>2]=yf}}else{c[nf>>2]=c[f+16>>2];AI(g,18391,nf)}yf=c[(c[pf>>2]|0)+4>>2]|0;pf=c[(c[qf>>2]|0)+176>>2]|0;wf=c[(c[qf>>2]|0)+108>>2]|0;c[of>>2]=c[kf>>2];c[of+4>>2]=pf;c[of+8>>2]=wf;Rd(yf,39901,of)}c[uf>>2]=BI(c[qf>>2]|0)|0;g=(c[qf>>2]|0)+40|0;if((c[uf>>2]|0)==5){c[g>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=(c[g>>2]|0)!=0?1:101;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 64:{if(((c[(c[rf>>2]|0)+304>>2]|0)!=0?(c[tf>>2]|0)>>>0>=(c[_a>>2]|0)>>>0:0)?(Tb[c[(c[rf>>2]|0)+304>>2]&255](c[(c[rf>>2]|0)+308>>2]|0)|0)!=0:0){c[uf>>2]=9;break a}yf=EI(c[qf>>2]|0,0)|0;c[uf>>2]=yf;if(yf)break a;c[uf>>2]=FI(c[qf>>2]|0,1)|0;c[(c[qf>>2]|0)+32>>2]=(c[(c[qf>>2]|0)+32>>2]|0)+2|1;yf=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[qf>>2]|0)+104>>2]=yf;c[Rc>>2]=yf;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[pf>>2]|0)+8>>2]|0))break;if((e[(c[Rc>>2]|0)+((c[Q>>2]|0)*40|0)+8>>1]&4096|0)!=0?(bh((c[Rc>>2]|0)+((c[Q>>2]|0)*40|0)|0)|0)!=0:0){k=889;break a}GI((c[Rc>>2]|0)+((c[Q>>2]|0)*40|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}if(a[(c[rf>>2]|0)+69>>0]|0){k=889;break a}if(d[(c[rf>>2]|0)+76>>0]&4)Wb[c[(c[rf>>2]|0)+184>>2]&255](4,c[(c[rf>>2]|0)+188>>2]|0,c[qf>>2]|0,0)|0;c[(c[qf>>2]|0)+36>>2]=(((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0)+1;c[uf>>2]=100;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 159:{c[uf>>2]=20;break a}case 267:{c[uf>>2]=Qj(79835)|0;break a}case 286:{if(!(c[(c[xb>>2]|0)+72>>2]|0))Xg(fe);c[uf>>2]=Qj(79894)|0;break a}case 370:{c[(c[qf>>2]|0)+36>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;a[(c[rf>>2]|0)+67>>0]=0;c[uf>>2]=5;c[(c[qf>>2]|0)+40>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 393:{c[D>>2]=c[(c[pf>>2]|0)+4>>2];c[ra>>2]=c[(c[pf>>2]|0)+8>>2];if((c[D>>2]|0)==(d[(c[rf>>2]|0)+67>>0]|0)){if(c[D>>2]|0)g=(c[ra>>2]|0)!=0?40133:40176;else g=40217;AI(c[qf>>2]|0,g,gf);c[uf>>2]=1;break a}do if(!(c[ra>>2]|0)){if((c[D>>2]|0)!=0?(c[(c[rf>>2]|0)+164>>2]|0)>0:0){AI(c[qf>>2]|0,40078,ze);c[uf>>2]=5;break a}yf=EI(c[qf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{a[(c[rf>>2]|0)+67>>0]=c[D>>2];break}}else{YI(c[rf>>2]|0,516);a[(c[rf>>2]|0)+67>>0]=1}while(0);if((BI(c[qf>>2]|0)|0)==5){c[(c[qf>>2]|0)+36>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;a[(c[rf>>2]|0)+67>>0]=1-(c[D>>2]|0);c[uf>>2]=5;c[(c[qf>>2]|0)+40>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}ZI(c[rf>>2]|0);if(!(c[(c[qf>>2]|0)+40>>2]|0)){c[uf>>2]=101;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=1;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 411:{c[uf>>2]=8;break a}case 414:{if((c[uf>>2]&255|0)!=5)break a;c[(c[qf>>2]|0)+36>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[qf>>2]|0)+40>>2]=c[uf>>2];yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 445:{c[uf>>2]=516;break a}case 544:{c[uf>>2]=13;break a}case 554:{c[uf>>2]=13;break a}case 660:{c[uf>>2]=6;a[(c[qf>>2]|0)+142>>0]=2;break a}case 682:{Cg(c[rf>>2]|0);if((c[uf>>2]|0)==7){k=889;break a}else break a}case 711:{c[uf>>2]=1;AI(c[qf>>2]|0,40357,Be);break a}case 764:{yf=c[qf>>2]|0;c[De>>2]=$d(c[Vc>>2]|0)|0;AI(yf,18391,De);break a}case 784:{c[uf>>2]=1;yf=c[qf>>2]|0;c[Ee>>2]=(c[E>>2]|0)==5?40394:40399;AI(yf,40406,Ee);break a}case 805:{if((c[uf>>2]&255|0)!=6)break a;c[Pe>>2]=c[(c[pf>>2]|0)+16>>2];yf=c[qf>>2]|0;c[Fe>>2]=c[Pe>>2];AI(yf,40458,Fe);break a}case 816:{c[uf>>2]=6;break a}case 820:{Tb[c[(c[Yc>>2]|0)+28>>2]&255](c[pd>>2]|0)|0;k=889;break a}case 839:{c[uf>>2]=6;break a}case 887:{yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 888:{AI(c[qf>>2]|0,18170,Ge);c[uf>>2]=18;break a}}}while(0);c[uf>>2]=(d[(c[rf>>2]|0)+69>>0]|0)!=0?7:9;c[(c[qf>>2]|0)+40>>2]=c[uf>>2];yf=c[qf>>2]|0;c[Ie>>2]=lh(c[uf>>2]|0)|0;AI(yf,18391,Ie)}while(0);if((k|0)==889){mh(c[rf>>2]|0);AI(c[qf>>2]|0,25016,He);c[uf>>2]=7}if(a[(c[rf>>2]|0)+69>>0]|0)c[uf>>2]=7;if((c[uf>>2]|0)!=3082?(c[(c[qf>>2]|0)+108>>2]|0)==0:0){yf=c[qf>>2]|0;c[hf>>2]=lh(c[uf>>2]|0)|0;AI(yf,18391,hf)}c[(c[qf>>2]|0)+40>>2]=c[uf>>2];SJ(c[rf>>2]|0,c[uf>>2]|0);yf=c[uf>>2]|0;of=c[(c[qf>>2]|0)+176>>2]|0;wf=c[(c[qf>>2]|0)+108>>2]|0;c[jf>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[jf+4>>2]=of;c[jf+8>>2]=wf;Rd(yf,40487,jf);BI(c[qf>>2]|0)|0;if((c[uf>>2]|0)==3082)mh(c[rf>>2]|0);c[uf>>2]=1;if((d[ff>>0]|0)<=0){yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}wj(c[rf>>2]|0,(d[ff>>0]|0)-1|0);yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}function tI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;g=h+12|0;d=h+8|0;f=h+4|0;e=h;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[f>>2]|0)!=0?(mg(c[f>>2]|0),c[e>>2]=vI(Pf(c[f>>2]|0)|0)|0,((c[e>>2]|0)>0?(c[(c[b>>2]|0)+224>>2]|0)!=0:0)&(c[g>>2]|0)==0):0)c[g>>2]=Wb[c[(c[b>>2]|0)+224>>2]&255](c[(c[b>>2]|0)+228>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=h;return c[g>>2]|0}function uI(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+40>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+108>>2]|0)){lg(b,c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}b=b+70|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;Yj();if(!(c[(c[e>>2]|0)+244>>2]|0)){b=Zh(c[e>>2]|0)|0;c[(c[e>>2]|0)+244>>2]=b}_h(c[(c[e>>2]|0)+244>>2]|0,-1,c[(c[d>>2]|0)+108>>2]|0,1,-1);Zj();d=(c[e>>2]|0)+70|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;i=g;return f|0}function vI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=wI(c[(c[d>>2]|0)+216>>2]|0)|0;i=b;return a|0}function wI(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;i=e;return d|0}function xI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+152>>2]|0)){i=h;return}c[e>>2]=c[c[b>>2]>>2];c[d>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;if(((c[f>>2]|0)!=1?(c[(c[b>>2]|0)+152>>2]&1<>2]|0)!=0:0)?(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0)!=0:0)mg(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=h;return}function yI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+88>>2]=c[e>>2];b=(c[f>>2]|0)+92|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);i=d;return}function zI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];PM(c[e>>2]|0);c[(c[e>>2]|0)+88>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+136>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+24>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+112>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+44>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+44>>2]=c[(c[b>>2]|0)+68>>2];c[(c[c[e>>2]>>2]|0)+88>>2]=c[(c[b>>2]|0)+72>>2];LI(c[c[e>>2]>>2]|0,(c[e>>2]|0)+204|0,-1,0);c[(c[e>>2]|0)+204>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;i=d;return c[(c[b>>2]|0)+48>>2]|0}function AI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Tf(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+108>>2]|0);c[g>>2]=d;b=ox(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+108>>2]=b;i=e;return}function BI(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+24|0;l=o+20|0;h=o+16|0;m=o+12|0;g=o+8|0;n=o+4|0;f=o;c[l>>2]=b;c[m>>2]=c[c[l>>2]>>2];if(a[(c[m>>2]|0)+69>>0]|0)c[(c[l>>2]|0)+40>>2]=7;JM(c[l>>2]|0);if((c[(c[l>>2]|0)+20>>2]|0)!=770837923){c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+36>>2]|0)>=0?((e[(c[l>>2]|0)+144>>1]|0)>>>8&1|0)!=0:0){c[n>>2]=0;xI(c[l>>2]|0);c[g>>2]=c[(c[l>>2]|0)+40>>2]&255;if((c[g>>2]|0)==7|(c[g>>2]|0)==10|(c[g>>2]|0)==9)b=1;else b=(c[g>>2]|0)==13;c[f>>2]=b&1;do if((c[f>>2]|0)!=0?((c[g>>2]|0)!=9?1:((e[(c[l>>2]|0)+144>>1]|0)>>>7&1|0)==0):0){if((c[g>>2]|0)==7|(c[g>>2]|0)==13?((e[(c[l>>2]|0)+144>>1]|0)>>>6&1|0)!=0:0){c[n>>2]=2;break}YI(c[m>>2]|0,516);ZI(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[l>>2]|0)+44>>2]=0}while(0);if(!(c[(c[l>>2]|0)+40>>2]|0))EI(c[l>>2]|0,0)|0;if((c[(c[m>>2]|0)+316>>2]|0)>0?(c[(c[m>>2]|0)+340>>2]|0)==0:0)j=36;else if((d[(c[m>>2]|0)+67>>0]|0)!=0?(c[(c[m>>2]|0)+164>>2]|0)==(((e[(c[l>>2]|0)+144>>1]|0)>>>7&1|0)==0|0):0){if((c[(c[l>>2]|0)+40>>2]|0)!=0?((c[f>>2]|0)!=0?1:(d[(c[l>>2]|0)+142>>0]|0)!=3):0){YI(c[m>>2]|0,0);c[(c[l>>2]|0)+44>>2]=0}else j=23;do if((j|0)==23){c[h>>2]=EI(c[l>>2]|0,1)|0;do if(c[h>>2]|0){if(!((e[(c[l>>2]|0)+144>>1]|0)>>>7&1)){c[h>>2]=787;break}c[k>>2]=1;n=c[k>>2]|0;i=o;return n|0}else c[h>>2]=KM(c[m>>2]|0,c[l>>2]|0)|0;while(0);if((c[h>>2]|0)==5?((e[(c[l>>2]|0)+144>>1]|0)>>>7&1|0)!=0:0){c[k>>2]=5;n=c[k>>2]|0;i=o;return n|0}if(c[h>>2]|0){c[(c[l>>2]|0)+40>>2]=c[h>>2];YI(c[m>>2]|0,0);c[(c[l>>2]|0)+44>>2]=0;break}else{g=(c[m>>2]|0)+440|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+448|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+24|0;c[g>>2]=c[g>>2]&-33554433;xj(c[m>>2]|0);break}}while(0);c[(c[m>>2]|0)+436>>2]=0}else j=36;do if((j|0)==36?(c[n>>2]|0)==0:0){if((c[(c[l>>2]|0)+40>>2]|0)!=0?(d[(c[l>>2]|0)+142>>0]|0)!=3:0)if((d[(c[l>>2]|0)+142>>0]|0)==2){c[n>>2]=2;break}else{YI(c[m>>2]|0,516);ZI(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[l>>2]|0)+44>>2]=0;break}c[n>>2]=1}while(0);if((c[n>>2]|0)!=0?(c[h>>2]=FI(c[l>>2]|0,c[n>>2]|0)|0,(c[h>>2]|0)!=0):0){if(!((c[(c[l>>2]|0)+40>>2]|0)!=0?(c[(c[l>>2]|0)+40>>2]&255|0)!=19:0)){c[(c[l>>2]|0)+40>>2]=c[h>>2];Tf(c[m>>2]|0,c[(c[l>>2]|0)+108>>2]|0);c[(c[l>>2]|0)+108>>2]=0}YI(c[m>>2]|0,516);ZI(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[l>>2]|0)+44>>2]=0}if((e[(c[l>>2]|0)+144>>1]|0)>>>4&1){b=c[m>>2]|0;if((c[n>>2]|0)!=2)yI(b,c[(c[l>>2]|0)+44>>2]|0);else yI(b,0);c[(c[l>>2]|0)+44>>2]=0}}if((c[(c[l>>2]|0)+36>>2]|0)>=0){n=(c[m>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+-1;if(!((e[(c[l>>2]|0)+144>>1]|0)>>>7&1)){n=(c[m>>2]|0)+164|0;c[n>>2]=(c[n>>2]|0)+-1}if((e[(c[l>>2]|0)+144>>1]|0)>>>8&1){n=(c[m>>2]|0)+160|0;c[n>>2]=(c[n>>2]|0)+-1}}c[(c[l>>2]|0)+20>>2]=832317811;if(a[(c[m>>2]|0)+69>>0]|0)c[(c[l>>2]|0)+40>>2]=7;c[k>>2]=(c[(c[l>>2]|0)+40>>2]|0)==5?5:0;n=c[k>>2]|0;i=o;return n|0}function CI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;k=h+8|0;j=h+4|0;g=h;c[k>>2]=a;c[j>>2]=d;c[g>>2]=(c[(c[k>>2]|0)+92>>2]|0)+((c[(c[j>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){c[f>>2]=IM(a)|0;k=c[f>>2]|0;i=h;return k|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];k=c[f>>2]|0;i=h;return k|0}return 0}function DI(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+96>>2]|0)&1;a=c[b>>2]|0;i=g;return a|0}function EI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!((c[g>>2]|0)!=0?(d=(c[h>>2]|0)+440|0,b=(c[h>>2]|0)+448|0,b=RR(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=C,(d|0)>0|(d|0)==0&b>>>0>0):0))k=3;do if((k|0)==3){if((c[g>>2]|0)==0?(k=(c[f>>2]|0)+64|0,b=c[k+4>>2]|0,(b|0)>0|(b|0)==0&(c[k>>2]|0)>>>0>0):0)break;c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);c[(c[f>>2]|0)+40>>2]=787;a[(c[f>>2]|0)+142>>0]=2;AI(c[f>>2]|0,35189,j);c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}function FI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;j=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=0;if(!(c[(c[f>>2]|0)+436>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if(!(c[(c[d>>2]|0)+48>>2]|0)){l=c[k>>2]|0;i=m;return l|0}c[h>>2]=(c[(c[d>>2]|0)+48>>2]|0)-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[l>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if((c[e>>2]|0)==2)c[l>>2]=XI(c[j>>2]|0,2,c[h>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=XI(c[j>>2]|0,1,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}c[g>>2]=(c[g>>2]|0)+1}l=(c[f>>2]|0)+436|0;c[l>>2]=(c[l>>2]|0)+-1;c[(c[d>>2]|0)+48>>2]=0;if(!(c[k>>2]|0)){if((c[e>>2]|0)==2)c[k>>2]=VI(c[f>>2]|0,2,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=VI(c[f>>2]|0,1,c[h>>2]|0)|0}if((c[e>>2]|0)!=2){l=c[k>>2]|0;i=m;return l|0}l=(c[d>>2]|0)+72|0;j=c[l+4>>2]|0;a=(c[f>>2]|0)+440|0;c[a>>2]=c[l>>2];c[a+4>>2]=j;a=(c[d>>2]|0)+80|0;j=c[a+4>>2]|0;l=(c[f>>2]|0)+448|0;c[l>>2]=c[a>>2];c[l+4>>2]=j;l=c[k>>2]|0;i=m;return l|0}function GI(a){a=a|0;var b=0,d=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[b>>2]=HM(c[d>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function HI(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=GM(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=g;return b[d>>1]|0}function II(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;b=c[f>>2]|0;k=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;b=h;d=c[b+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0?(h,h=QR(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,d=C,k=g,a=c[k+4>>2]|0,(d|0)<(a|0)|((d|0)==(a|0)?h>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((d|0)<0?(h,h=RR(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=QR(0,0,h|0,C|0)|0,d=C,k=g,k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,a=C,(d|0)>(a|0)|(d|0)==(a|0)&h>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}h=g;k=c[f>>2]|0;g=k;h=RR(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function JI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[f>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){g=QR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=II(b,g,C)|0;g=c[e>>2]|0;i=h;return g|0}a=b;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}else{a=g;g=c[f>>2]|0;f=g;f=QR(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=C;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function KI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=c[f>>2]|0;d=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=g;d=c[a+4>>2]|0;do if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0){k=h;d=c[k>>2]|0;k=c[k+4>>2]|0;a=g;a=_R(-1,2147483647,c[a>>2]|0,c[a+4>>2]|0)|0;b=C;if((k|0)>(b|0)|(k|0)==(b|0)&d>>>0>a>>>0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}b=h;a=c[b>>2]|0;b=c[b+4>>2]|0;k=g;k=_R(0,-2147483648,c[k>>2]|0,c[k+4>>2]|0)|0;d=C;if((b|0)<(d|0)|(b|0)==(d|0)&a>>>0>>0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((c[g+4>>2]|0)<0){k=h;a=c[k+4>>2]|0;if((a|0)>0|(a|0)==0&(c[k>>2]|0)>>>0>0){b=g;a=c[b>>2]|0;b=c[b+4>>2]|0;k=h;k=_R(0,-2147483648,c[k>>2]|0,c[k+4>>2]|0)|0;d=C;if(!((b|0)<(d|0)|(b|0)==(d|0)&a>>>0>>0))break;c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}if((c[h+4>>2]|0)<0){k=g;if((c[k>>2]|0)==0?(c[k+4>>2]|0)==-2147483648:0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}k=h;if((c[k>>2]|0)==0?(c[k+4>>2]|0)==-2147483648:0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}a=h;a=QR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;b=C;k=g;k=QR(0,0,c[k>>2]|0,c[k+4>>2]|0)|0;k=_R(-1,2147483647,k|0,C|0)|0;d=C;if((b|0)>(d|0)|(b|0)==(d|0)&a>>>0>k>>>0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}}while(0);k=h;a=g;a=aS(c[k>>2]|0,c[k+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;k=c[f>>2]|0;c[k>>2]=a;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function LI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a:while(1){if(!(c[c[g>>2]>>2]|0))break;c[k>>2]=c[c[g>>2]>>2];do if((c[h>>2]|0)>=0){if((c[c[k>>2]>>2]|0)==(c[h>>2]|0)){if((c[(c[k>>2]|0)+4>>2]|0)>31)break;if(!(c[j>>2]&1<>2]|0)+4>>2]))break}c[g>>2]=(c[k>>2]|0)+16;continue a}while(0);if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);c[c[g>>2]>>2]=c[(c[k>>2]|0)+16>>2];Tf(c[f>>2]|0,c[k>>2]|0)}i=l;return}function MI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;g=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e[(c[g>>2]|0)+8>>1];c[n>>2]=e[(c[j>>2]|0)+8>>1];c[l>>2]=c[m>>2]|c[n>>2];do if(!(c[l>>2]&1)){if(!(c[l>>2]&12)){if(c[l>>2]&2){if(!(c[m>>2]&2)){c[f>>2]=1;break}if(!(c[n>>2]&2)){c[f>>2]=-1;break}if(c[k>>2]|0){c[f>>2]=gG(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;break}}c[f>>2]=FM(c[g>>2]|0,c[j>>2]|0)|0;break}if(c[m>>2]&c[n>>2]&4){a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)<(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[f>>2]=-1;break}a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)>(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&c[n>>2]&8){if(+h[c[g>>2]>>3]<+h[c[j>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[j>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&4)if(c[n>>2]&8){b=c[g>>2]|0;c[f>>2]=eG(c[b>>2]|0,c[b+4>>2]|0,+h[c[j>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[m>>2]&8)){c[f>>2]=1;break}if(c[n>>2]&4){b=c[j>>2]|0;c[f>>2]=0-(eG(c[b>>2]|0,c[b+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[n>>2]&1)-(c[m>>2]&1);while(0);i=o;return c[f>>2]|0}function NI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(!(d[c[k>>2]>>0]|0)){e=c[k>>2]|0;if(!(a[(c[k>>2]|0)+3>>0]|0)){if(!(UL(c[e+16>>2]|0)|0))break;c[f>>2]=VL(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}if((c[e+52>>2]|0)!=0?(b=c[(c[(c[k>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=b,(b|0)>0):0){c[c[g>>2]>>2]=c[(c[k>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}c[f>>2]=EM(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function OI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=DM(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function PI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;q=p+4|0;n=p;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[q>>2]=0;c[n>>2]=0;c[o>>2]=OI(c[h>>2]|0,q)|0;if(((c[j>>2]|0)+(c[k>>2]|0)|0)>>>0<=(c[q>>2]|0)>>>0){c[(c[m>>2]|0)+16>>2]=(c[o>>2]|0)+(c[j>>2]|0);b[(c[m>>2]|0)+8>>1]=4112;c[(c[m>>2]|0)+12>>2]=c[k>>2];q=c[n>>2]|0;i=p;return q|0}else{c[n>>2]=CM(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;q=c[n>>2]|0;i=p;return q|0}return 0}function QI(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return a[35061+(d[c>>0]|0)>>0]|0}function RI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+36|0;f=o+32|0;k=o+28|0;j=o+24|0;g=o+20|0;h=o+16|0;l=o+8|0;m=o;c[f>>2]=a;c[k>>2]=b;c[j>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1){c[c[j>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8){c[c[j>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[j>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;i=o;return n|0}a=c[f>>2]|0;f=c[a+4>>2]|0;b=l;c[b>>2]=c[a>>2];c[b+4>>2]=f;b=l;f=c[b>>2]|0;b=c[b+4>>2]|0;if((c[l+4>>2]|0)<0){a=m;c[a>>2]=~f;c[a+4>>2]=~b}else{a=m;c[a>>2]=f;c[a+4>>2]=b}a=m;d=c[a+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[a>>2]|0)>>>0<=127){a=l;f=c[j>>2]|0;if((0==(c[a+4>>2]|0)?(c[l>>2]&1|0)==(c[a>>2]|0):0)&(c[k>>2]|0)>=4){c[f>>2]=0;c[n>>2]=8+(c[m>>2]|0);n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=32767){c[c[j>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=8388607){c[c[j>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=2147483647){c[c[j>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;i=o;return n|0}l=c[m+4>>2]|0;f=c[j>>2]|0;if(l>>>0<32767|(l|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[f>>2]=6;c[n>>2]=5;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=8;c[n>>2]=6;n=c[n>>2]|0;i=o;return n|0}return 0}function SI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;g=j+8|0;h=j;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;k=c[b+4>>2]|0;e=h;d=c[e>>2]|0;e=c[e+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[g>>2]>>0]=d&127;c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}if(e>>>0<0|(e|0)==0&d>>>0<=16383){k=h;k=SR(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[g>>2]>>0]=k&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;k=c[f>>2]|0;i=j;return k|0}else{k=h;c[f>>2]=BM(c[g>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[f>>2]|0;i=j;return k|0}return 0}function TI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;l=o+8|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;b=c[k>>2]|0;if((c[k>>2]|0)>>>0<=7&(c[k>>2]|0)>>>0>0){if((b|0)==7){j=c[j>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2]}else{e=c[j>>2]|0;f=c[e+4>>2]|0;j=n;c[j>>2]=c[e>>2];c[j+4>>2]=f}k=d[35061+(c[k>>2]|0)>>0]|0;c[l>>2]=k;c[m>>2]=k;do{k=c[n>>2]&255;j=(c[l>>2]|0)+-1|0;c[l>>2]=j;a[(c[h>>2]|0)+j>>0]=k;j=n;j=SR(c[j>>2]|0,c[j+4>>2]|0,8)|0;k=n;c[k>>2]=j;c[k+4>>2]=C}while((c[l>>2]|0)!=0);c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=c[(c[j>>2]|0)+12>>2];if((c[m>>2]|0)>>>0>0)TR(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[m>>2]|0)|0;c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}return 0}function UI(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+28|0;l=p+24|0;m=p+20|0;n=p;o=p+16|0;h=p+12|0;j=p+8|0;c[l>>2]=f;c[m>>2]=g;g=n;c[g>>2]=0;c[g+4>>2]=0;if(!(c[(c[l>>2]|0)+52>>2]|0)){o=c[m>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[k>>2]=0;o=c[k>>2]|0;i=p;return o|0}c[o>>2]=QF(c[l>>2]|0)|0;a:while(1){if(c[o>>2]|0){f=16;break}c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];if(!((d[(c[j>>2]|0)+4>>0]|0)==0?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){f=n;f=RR(c[f>>2]|0,c[f+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;g=n;c[g>>2]=f;c[g+4>>2]=C}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[l>>2]|0)+68>>0]|0)){f=10;break a}HF(c[l>>2]|0)}while((e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));g=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]}c[h>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];f=c[l>>2]|0;g=c[j>>2]|0;if((c[h>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[o>>2]=FF(f,gr((c[(c[j>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0)|0;continue}else{c[o>>2]=FF(f,gr((c[g+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=n;n=c[j+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;c[k>>2]=QF(c[l>>2]|0)|0;o=c[k>>2]|0;i=p;return o|0}else if((f|0)==16){c[k>>2]=c[o>>2];o=c[k>>2]|0;i=p;return o|0}return 0}function VI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;if(!(c[(c[e>>2]|0)+340>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[h>>2]=0;while(1){if(c[m>>2]|0){e=15;break}if((c[h>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0)){e=15;break}c[k>>2]=c[(c[(c[e>>2]|0)+340>>2]|0)+(c[h>>2]<<2)>>2];c[j>>2]=c[c[(c[k>>2]|0)+4>>2]>>2];if((c[(c[k>>2]|0)+8>>2]|0)!=0?(c[c[j>>2]>>2]|0)>=2:0){switch(c[f>>2]|0){case 0:{c[l>>2]=c[(c[j>>2]|0)+80>>2];c[(c[k>>2]|0)+20>>2]=(c[g>>2]|0)+1;break}case 2:{c[l>>2]=c[(c[j>>2]|0)+88>>2];break}default:c[l>>2]=c[(c[j>>2]|0)+84>>2]}if((c[l>>2]|0)!=0?(c[(c[k>>2]|0)+20>>2]|0)>(c[g>>2]|0):0)c[m>>2]=Yb[c[l>>2]&255](c[(c[k>>2]|0)+8>>2]|0,c[g>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((e|0)==15){m=c[m>>2]|0;i=n;return m|0}return 0}function WI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;k=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){n=c[m>>2]|0;i=o;return n|0}mg(c[g>>2]|0);c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[l>>2]|0)){n=15;break}do if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[l>>2]|0)+66>>0]|0)!=1?(d[(c[l>>2]|0)+66>>0]|0)!=2:0)break;c[m>>2]=ZH(c[l>>2]|0)|0;if(c[m>>2]|0)break a}else n=10;while(0);if((n|0)==10){n=0;PB(c[l>>2]|0);a[(c[l>>2]|0)+66>>0]=4;c[(c[l>>2]|0)+60>>2]=c[h>>2]}c[k>>2]=0;while(1){if((c[k>>2]|0)>(a[(c[l>>2]|0)+68>>0]|0))break;QB(c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]|0);c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[l>>2]=c[(c[l>>2]|0)+8>>2]}if((n|0)==15){n=c[m>>2]|0;i=o;return n|0}WI(c[g>>2]|0,c[m>>2]|0,0)|0;n=c[m>>2]|0;i=o;return n|0}function XI(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=f;c[l>>2]=0;if(!(c[g>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);c[l>>2]=Vr(c[c[k>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[j>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[l>>2]=AM(c[k>>2]|0)|0;a=gr((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;l=c[l>>2]|0;i=m;return l|0}function YI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;Yj();Of(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2)b=(d[(c[f>>2]|0)+148+5>>0]|0)==0;else b=0;c[l>>2]=b&1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(fi(c[k>>2]|0)|0)c[j>>2]=1;Pg(c[k>>2]|0,c[g>>2]|0,((c[l>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}ou(c[f>>2]|0)|0;Zj();if((c[(c[f>>2]|0)+24>>2]&2|0)!=0?(d[(c[f>>2]|0)+148+5>>0]|0)==0:0){Sh(c[f>>2]|0);Cg(c[f>>2]|0)}l=(c[f>>2]|0)+440|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+448|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+24|0;c[l>>2]=c[l>>2]&-33554433;if(!(c[(c[f>>2]|0)+212>>2]|0)){i=m;return}if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+67>>0]|0)!=0:0){i=m;return}Qb[c[(c[f>>2]|0)+212>>2]&255](c[(c[f>>2]|0)+208>>2]|0);i=m;return}function ZI(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+424>>2]|0))break;c[e>>2]=c[b+424>>2];c[(c[d>>2]|0)+424>>2]=c[(c[e>>2]|0)+24>>2];Tf(c[d>>2]|0,c[e>>2]|0)}c[b+432>>2]=0;c[(c[d>>2]|0)+436>>2]=0;a[(c[d>>2]|0)+75>>0]=0;i=f;return}function _I(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=xM(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function $I(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+24|0;l=s+20|0;n=s+16|0;o=s+12|0;p=s+28|0;r=s+8|0;m=s+4|0;q=s;c[k>>2]=e;c[l>>2]=f;c[n>>2]=g;c[o>>2]=h;a[p>>0]=j;j=c[k>>2]|0;if((c[l>>2]|0)>0)j=(c[(c[k>>2]|0)+92>>2]|0)+(((c[j+24>>2]|0)-(c[l>>2]|0)|0)*40|0)|0;else j=c[j+92>>2]|0;c[r>>2]=j;c[q>>2]=0;j=88+(c[n>>2]<<3)|0;if(!(d[p>>0]|0))f=vM()|0;else f=0;c[m>>2]=j+f;if(c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]|0){eJ(c[k>>2]|0,c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]=0}if(Nx(c[r>>2]|0,c[m>>2]|0)|0){r=c[q>>2]|0;i=s;return r|0}j=c[(c[r>>2]|0)+16>>2]|0;c[q>>2]=j;c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]=j;j=c[q>>2]|0;f=j+88|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(f|0));a[c[q>>2]>>0]=a[p>>0]|0;a[(c[q>>2]|0)+1>>0]=c[o>>2];b[(c[q>>2]|0)+12>>1]=c[n>>2];c[(c[q>>2]|0)+76>>2]=(c[q>>2]|0)+80+(c[n>>2]<<2);if(d[p>>0]|0){r=c[q>>2]|0;i=s;return r|0}c[(c[q>>2]|0)+16>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(88+(c[n>>2]<<3));wM(c[(c[q>>2]|0)+16>>2]|0);r=c[q>>2]|0;i=s;return r|0}function aJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<1){c[m>>2]=Qj(62410)|0;d=c[m>>2]|0;i=n;return d|0}else{mg(c[g>>2]|0);c[m>>2]=tM(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;d=c[m>>2]|0;i=n;return d|0}return 0}function bJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];i=e;return}function cJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=sM(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dJ(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;r=w+52|0;j=w+48|0;k=w+44|0;u=w+40|0;l=w+36|0;t=w+32|0;s=w+28|0;o=w+24|0;n=w+20|0;v=w+16|0;m=w+12|0;q=w;p=w+8|0;c[r>>2]=f;c[j>>2]=g;c[k>>2]=h;c[v>>2]=0;c[o>>2]=24+((e[(c[(c[k>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[n>>2]=136;h=(c[n>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=sh(c[r>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+16>>2]=c[t>>2];if(!(c[t>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;i=w;return v|0}n=(c[t>>2]|0)+(c[n>>2]|0)|0;c[s>>2]=n;c[(c[t>>2]|0)+28>>2]=n;TR(c[s>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[o>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=0;if(c[j>>2]|0){o=(c[s>>2]|0)+8|0;b[o>>1]=(e[o>>1]|0)+((e[(c[s>>2]|0)+6>>1]|0)-(c[j>>2]|0));b[(c[s>>2]|0)+6>>1]=c[j>>2]}o=sg(c[(c[(c[r>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[u>>2]=o;c[(c[t>>2]|0)+12>>2]=o;a[(c[t>>2]|0)+59>>0]=1;a[(c[t>>2]|0)+58>>0]=-1;a[(c[t>>2]|0)+57>>0]=(d[(c[t>>2]|0)+59>>0]|0|0)>1;c[(c[t>>2]|0)+24>>2]=c[r>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[(c[t>>2]|0)+59>>0]|0|0))break;c[m>>2]=(c[t>>2]|0)+64+((c[l>>2]|0)*72|0);c[(c[m>>2]|0)+8>>2]=c[t>>2];c[l>>2]=(c[l>>2]|0)+1}if(!(Zq(c[r>>2]|0)|0)){c[p>>2]=c[58];j=_(c[p>>2]|0,c[u>>2]|0)|0;c[c[t>>2]>>2]=j;j=c[(c[(c[(c[r>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;k=q;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=q;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[q+4>>2]|0)<0){o=aS(j|0,k|0,-1024,-1)|0;p=q;c[p>>2]=o;c[p+4>>2]=C}else{o=c[u>>2]|0;o=aS(j|0,k|0,o|0,((o|0)<0)<<31>>31|0)|0;p=q;c[p>>2]=o;c[p+4>>2]=C}m=q;n=c[m+4>>2]|0;m=(n|0)<0|(n|0)==0&(c[m>>2]|0)>>>0<536870912;n=q;o=m?c[n+4>>2]|0:0;p=q;c[p>>2]=m?c[n>>2]|0:536870912;c[p+4>>2]=o;if((c[c[t>>2]>>2]|0)>(c[q>>2]|0))j=c[c[t>>2]>>2]|0;else j=c[q>>2]|0;c[(c[t>>2]|0)+4>>2]=j;if((c[50]|0)==0?(c[(c[t>>2]|0)+52>>2]=c[u>>2],u=c[u>>2]|0,u=$f(u,((u|0)<0)<<31>>31)|0,c[(c[t>>2]|0)+36+4>>2]=u,(c[(c[t>>2]|0)+36+4>>2]|0)==0):0)c[v>>2]=7}if(((e[(c[s>>2]|0)+6>>1]|0)+(e[(c[s>>2]|0)+8>>1]|0)|0)>=13){v=c[v>>2]|0;i=w;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)!=0?(c[(c[s>>2]|0)+20>>2]|0)!=(c[(c[r>>2]|0)+8>>2]|0):0){v=c[v>>2]|0;i=w;return v|0}a[(c[t>>2]|0)+60>>0]=3;v=c[v>>2]|0;i=w;return v|0}function eJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){i=j;return}switch(d[c[h>>2]>>0]|0|0){case 1:{rM(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}case 0:{e=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){LB(c[e+20>>2]|0)|0;i=j;return}else{NB(c[e+16>>2]|0)|0;i=j;return}}case 2:{c[g>>2]=c[(c[h>>2]|0)+16>>2];c[f>>2]=c[c[c[g>>2]>>2]>>2];h=(c[c[g>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;Tb[c[(c[f>>2]|0)+28>>2]&255](c[g>>2]|0)|0;i=j;return}default:{i=j;return}}}function fJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function gJ(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function hJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[f>>2]=e;if(1==(d[(c[g>>2]|0)+66>>0]|0|0)?((d[(c[g>>2]|0)+64>>0]|0)&8|0)!=0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}c[j>>2]=QF(c[g>>2]|0)|0;do if(!(c[j>>2]|0)){f=c[f>>2]|0;if(!(d[(c[g>>2]|0)+66>>0]|0)){c[f>>2]=1;break}c[f>>2]=0;c[j>>2]=GF(c[g>>2]|0)|0;f=(c[g>>2]|0)+64|0;b=d[f>>0]|0;if(!(c[j>>2]|0)){a[f>>0]=b|8;break}else{a[f>>0]=b&-9;break}}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function iJ(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+64|0;k=y+52|0;l=y+48|0;m=y+44|0;n=y+40|0;z=y+36|0;v=y+32|0;p=y+28|0;w=y+24|0;o=y+20|0;u=y+16|0;s=y+12|0;t=y+8|0;r=y+4|0;q=y;x=y+56|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[z>>2]=j;c[p>>2]=c[z>>2];c[w>>2]=0;c[s>>2]=c[c[l>>2]>>2];c[t>>2]=c[(c[s>>2]|0)+4>>2];c[q>>2]=0;h=c[l>>2]|0;if((d[(c[l>>2]|0)+66>>0]|0)==4){c[k>>2]=c[h+60>>2];z=c[k>>2]|0;i=y;return z|0}if((d[h+64>>0]&32|0)!=0?(c[v>>2]=XH(c[t>>2]|0,c[(c[l>>2]|0)+52>>2]|0,c[l>>2]|0)|0,(c[v>>2]|0)!=0):0){c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}do if(!(c[(c[l>>2]|0)+72>>2]|0)){z=(c[m>>2]|0)+8|0;ZK(c[s>>2]|0,c[z>>2]|0,c[z+4>>2]|0,0);if(((d[(c[l>>2]|0)+64>>0]&2|0)!=0?(z=(c[m>>2]|0)+8|0,s=c[z+4>>2]|0,(s|0)>0|(s|0)==0&(c[z>>2]|0)>>>0>0):0)?(z=(c[l>>2]|0)+16|0,j=c[z>>2]|0,z=c[z+4>>2]|0,s=(c[m>>2]|0)+8|0,s=QR(c[s>>2]|0,c[s+4>>2]|0,1,0)|0,(j|0)==(s|0)&(z|0)==(C|0)):0){c[p>>2]=-1;break}if((c[p>>2]|0)==0?(z=(c[m>>2]|0)+8|0,c[v>>2]=OF(c[l>>2]|0,0,c[z>>2]|0,c[z+4>>2]|0,c[n>>2]|0,p)|0,(c[v>>2]|0)!=0):0){c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}}else if((c[p>>2]|0)==0?(z=(c[m>>2]|0)+8|0,c[v>>2]=LF(c[l>>2]|0,c[c[m>>2]>>2]|0,c[z>>2]|0,c[z+4>>2]|0,c[n>>2]|0,p)|0,(c[v>>2]|0)!=0):0){c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}while(0);c[u>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[q>>2]=c[(c[t>>2]|0)+80>>2];c[v>>2]=qM(c[u>>2]|0,c[q>>2]|0,c[m>>2]|0,w)|0;do if(!(c[v>>2]|0)){c[o>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];if(!(c[p>>2]|0)){c[v>>2]=Gg(c[(c[u>>2]|0)+72>>2]|0)|0;if(c[v>>2]|0)break;c[r>>2]=(c[(c[u>>2]|0)+56>>2]|0)+(e[(c[u>>2]|0)+20>>1]&(d[(c[(c[u>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]<<8|d[(c[(c[u>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]));if(!(a[(c[u>>2]|0)+4>>0]|0)){z=c[q>>2]|0;t=c[r>>2]|0;a[z>>0]=a[t>>0]|0;a[z+1>>0]=a[t+1>>0]|0;a[z+2>>0]=a[t+2>>0]|0;a[z+3>>0]=a[t+3>>0]|0}c[v>>2]=$K(c[u>>2]|0,c[r>>2]|0,x)|0;YL(c[u>>2]|0,c[o>>2]|0,e[x>>1]|0,v);if(c[v>>2]|0)break}else if((c[p>>2]|0)<0?(e[(c[u>>2]|0)+18>>1]|0)>0:0){x=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;z=(b[x>>1]|0)+1<<16>>16;b[x>>1]=z;c[o>>2]=z&65535}ZL(c[u>>2]|0,c[o>>2]|0,c[q>>2]|0,c[w>>2]|0,0,0,v);b[(c[l>>2]|0)+16+18>>1]=0;if(a[(c[u>>2]|0)+1>>0]|0){z=(c[l>>2]|0)+64|0;a[z>>0]=d[z>>0]&-3;c[v>>2]=_L(c[l>>2]|0)|0;a[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[l>>2]|0)+66>>0]=0}}while(0);c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}function jJ(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;t=z+56|0;u=z+52|0;A=z+63|0;l=z+48|0;m=z+44|0;y=z+40|0;x=z+36|0;n=z+32|0;w=z+28|0;v=z+24|0;q=z+60|0;s=z+20|0;r=z+62|0;k=z+16|0;o=z+12|0;j=z+8|0;h=z+4|0;p=z;c[u>>2]=f;a[A>>0]=g;c[l>>2]=c[c[u>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];c[s>>2]=0;a[r>>0]=d[A>>0]&2;c[v>>2]=a[(c[u>>2]|0)+68>>0];c[w>>2]=e[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1];c[x>>2]=c[(c[u>>2]|0)+120+(c[v>>2]<<2)>>2];c[n>>2]=(c[(c[x>>2]|0)+56>>2]|0)+(e[(c[x>>2]|0)+20>>1]&(d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));do if(a[r>>0]|0){if((a[(c[x>>2]|0)+4>>0]|0)!=0?(A=e[(c[x>>2]|0)+16>>1]|0,A=A+((Yt(c[x>>2]|0,c[n>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[m>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[s>>2]=1;break}c[y>>2]=$H(c[u>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}while(0);if((a[(c[x>>2]|0)+4>>0]|0)==0?(c[k>>2]=0,c[y>>2]=CF(c[u>>2]|0,k)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if((d[(c[u>>2]|0)+64>>0]&32|0)!=0?(c[y>>2]=XH(c[m>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(c[(c[u>>2]|0)+72>>2]|0)){A=(c[u>>2]|0)+16|0;ZK(c[l>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}c[y>>2]=Gg(c[(c[x>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}c[y>>2]=$K(c[x>>2]|0,c[n>>2]|0,q)|0;YL(c[x>>2]|0,c[w>>2]|0,e[q>>1]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(a[(c[x>>2]|0)+4>>0]|0)){c[o>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[h>>2]=c[(c[(c[u>>2]|0)+120+((c[v>>2]|0)+1<<2)>>2]|0)+84>>2];c[n>>2]=(c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[n>>2]|0)>>>0<((c[(c[o>>2]|0)+56>>2]|0)+4|0)>>>0){c[t>>2]=Qj(66449)|0;A=c[t>>2]|0;i=z;return A|0}c[j>>2]=(Yb[c[(c[o>>2]|0)+76>>2]&255](c[o>>2]|0,c[n>>2]|0)|0)&65535;c[p>>2]=c[(c[m>>2]|0)+80>>2];c[y>>2]=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[y>>2]|0))ZL(c[x>>2]|0,c[w>>2]|0,(c[n>>2]|0)+-4|0,(c[j>>2]|0)+4|0,c[p>>2]|0,c[h>>2]|0,y);YL(c[o>>2]|0,(e[(c[o>>2]|0)+18>>1]|0)-1|0,c[j>>2]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}c[y>>2]=_L(c[u>>2]|0)|0;if((c[y>>2]|0)==0?(a[(c[u>>2]|0)+68>>0]|0)>(c[v>>2]|0):0){while(1){g=c[u>>2]|0;if((a[(c[u>>2]|0)+68>>0]|0)<=(c[v>>2]|0))break;q=g+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;QB(c[(c[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}c[y>>2]=_L(g)|0}do if(!(c[y>>2]|0)){g=c[u>>2]|0;if(!(c[s>>2]|0)){c[y>>2]=QF(g)|0;if(!(a[r>>0]|0))break;a[(c[u>>2]|0)+66>>0]=3;break}a[g+66>>0]=2;g=(c[u>>2]|0)+60|0;if((c[w>>2]|0)>=(e[(c[x>>2]|0)+18>>1]|0)){c[g>>2]=-1;b[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1]=(e[(c[x>>2]|0)+18>>1]|0)-1;break}else{c[g>>2]=1;break}}while(0);c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}function kJ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;o=s+44|0;t=s+40|0;p=s+36|0;h=s+32|0;q=s+28|0;n=s+24|0;r=s+20|0;m=s+16|0;j=s+12|0;l=s+8|0;k=s+4|0;c[t>>2]=a;c[p>>2]=d;c[h>>2]=f;c[q>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[r>>2]=c[(c[n>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[r>>2]|0)){t=MF(c[m>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[r>>2]=t;if(c[r>>2]|0){b[(c[r>>2]|0)+8>>1]=c[h>>2];break}c[o>>2]=7;t=c[o>>2]|0;i=s;return t|0}while(0);c[l>>2]=XL(c[n>>2]|0,k)|0;NF(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){h=10;break}if((e[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]|0)&1){h=8;break}c[j>>2]=(c[j>>2]|0)+1}if((h|0)==8){c[c[q>>2]>>2]=-1;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}else if((h|0)==10){t=$F(c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=t;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}return 0}function lJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;m=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[m>>2]=a;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+16>>2];c[j>>2]=XL(c[l>>2]|0,h)|0;if(Nx(c[g>>2]|0,c[h>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[h>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;TR(c[(c[g>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function mJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){i=g;return}c[f>>2]=c[c[d>>2]>>2];Tf(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);b=qh(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+108>>2]=b;Kd(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=g;return}function nJ(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(UL(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=VL(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function oJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;k=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[k>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0){c[h>>2]=jL(b)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=IL(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=mL((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}function pJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=QF(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){e=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[e>>2]=1;break}else{c[e>>2]=0;c[g>>2]=sG(c[f>>2]|0)|0;break}}while(0);i=h;return c[g>>2]|0}function qJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[m>>2]|0)+16>>2];b=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[k>>2]=zL(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}c[h>>2]=c[b+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+36+4>>2]|0))VK(c[f>>2]|0,c[h>>2]|0);c[c[g>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}function rJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+52|0;u=t+48|0;k=t+44|0;r=t+40|0;s=t+36|0;q=t+32|0;g=t+28|0;p=t+24|0;h=t+20|0;f=t+16|0;n=t+12|0;l=t+8|0;m=t+4|0;o=t;c[u>>2]=b;c[k>>2]=e;c[s>>2]=0;c[r>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[k>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[k>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else bG(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?(c[f>>2]&1|0)!=0:0){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[r>>2]|0)+60>>0]=0}while(0);c[p>>2]=(c[(c[k>>2]|0)+12>>2]|0)+8;f=c[(c[k>>2]|0)+12>>2]|0;u=c[(c[k>>2]|0)+12>>2]|0;c[h>>2]=f+(iG(u,((u|0)<0)<<31>>31)|0);if(c[(c[r>>2]|0)+4>>2]|0){b=c[r>>2]|0;if(c[(c[r>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0)|0)>(c[(c[r>>2]|0)+4>>2]|0);else b=0;c[g>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[r>>2]|0)+4>>2]|0))if((c[(c[r>>2]|0)+36+8>>2]|0)>(c[c[r>>2]>>2]|0))b=(Su()|0)!=0;else b=0;else b=1;c[g>>2]=b&1}if(c[g>>2]|0){c[s>>2]=jL(c[r>>2]|0)|0;c[(c[r>>2]|0)+36+8>>2]=0;c[(c[r>>2]|0)+48>>2]=0}}u=(c[r>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[h>>2]|0);if((c[h>>2]|0)>(c[(c[r>>2]|0)+8>>2]|0))c[(c[r>>2]|0)+8>>2]=c[h>>2];do if(c[(c[r>>2]|0)+36+4>>2]|0){c[n>>2]=(c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0);do if((c[n>>2]|0)>(c[(c[r>>2]|0)+52>>2]|0)){c[m>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0);c[o>>2]=c[(c[r>>2]|0)+52>>2]<<1;while(1){b=c[o>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=b<<1}if((b|0)>(c[(c[r>>2]|0)+4>>2]|0))c[o>>2]=c[(c[r>>2]|0)+4>>2];if((c[o>>2]|0)<(c[n>>2]|0))c[o>>2]=c[n>>2];u=c[o>>2]|0;c[l>>2]=cg(c[(c[r>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[r>>2]|0)+36>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[(c[r>>2]|0)+36+4>>2]=c[l>>2];c[(c[r>>2]|0)+52>>2]=c[o>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);c[q>>2]=(c[(c[r>>2]|0)+36+4>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0);u=(c[r>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+7&-8);if(c[(c[r>>2]|0)+36>>2]|0)c[(c[q>>2]|0)+4>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0)}else{u=c[p>>2]|0;c[q>>2]=$f(u,((u|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[(c[q>>2]|0)+4>>2]=c[(c[r>>2]|0)+36>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);TR((c[q>>2]|0)+8|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;c[c[q>>2]>>2]=c[(c[k>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=c[q>>2];c[j>>2]=c[s>>2];u=c[j>>2]|0;i=t;return u|0}function sJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+128|0;g=o+116|0;r=o+112|0;q=o+108|0;h=o+104|0;p=o+80|0;f=o+100|0;l=o+96|0;m=o+92|0;j=o+88|0;k=o+40|0;n=o;c[r>>2]=a;c[q>>2]=b;c[h>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;e=p;c[e>>2]=bI(c[q>>2]|0)|0;c[e+4>>2]=0;jG(k,c[r>>2]|0,0);c[f>>2]=PI(c[q>>2]|0,0,c[p>>2]|0,1,k)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];r=c[g>>2]|0;i=o;return r|0}a=c[k+16>>2]|0;if((d[c[k+16>>2]>>0]|0|0)<128)c[l>>2]=d[a>>0];else bG(a,l)|0;if((c[l>>2]|0)>>>0>=3?(c[l>>2]|0)<=(c[k+12>>2]|0):0){a=(c[k+16>>2]|0)+((c[l>>2]|0)-1)|0;if((d[(c[k+16>>2]|0)+((c[l>>2]|0)-1)>>0]|0|0)<128)c[m>>2]=d[a>>0];else bG(a,m)|0;if(!((c[m>>2]|0)>>>0<1|(c[m>>2]|0)>>>0>9|(c[m>>2]|0)==7)?(c[j>>2]=d[35061+(c[m>>2]|0)>>0],(c[k+12>>2]|0)>>>0>=((c[l>>2]|0)+(c[j>>2]|0)|0)>>>0):0){dG((c[k+16>>2]|0)+((c[k+12>>2]|0)-(c[j>>2]|0))|0,c[m>>2]|0,n)|0;p=n;q=c[p+4>>2]|0;r=c[h>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Xg(k);c[g>>2]=0;r=c[g>>2]|0;i=o;return r|0}}Xg(k);c[g>>2]=Qj(74890)|0;r=c[g>>2]|0;i=o;return r|0}function tJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;f=o+72|0;g=o+68|0;p=o+64|0;h=o+60|0;j=o+56|0;l=o+40|0;n=o+52|0;m=o+48|0;k=o;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[j>>2]=e;b=l;c[b>>2]=0;c[b+4>>2]=0;c[m>>2]=c[(c[p>>2]|0)+16>>2];b=l;c[b>>2]=bI(c[m>>2]|0)|0;c[b+4>>2]=0;b=l;a=c[b+4>>2]|0;e=l;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[j>>2]>>2]=0;c[f>>2]=Qj(74923)|0;p=c[f>>2]|0;i=o;return p|0}jG(k,c[g>>2]|0,0);c[n>>2]=PI(c[m>>2]|0,0,c[l>>2]|0,1,k)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];p=c[f>>2]|0;i=o;return p|0}else{p=$F(c[k+12>>2]|0,c[k+16>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=p;Xg(k);c[f>>2]=0;p=c[f>>2]|0;i=o;return p|0}return 0}function uJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=iL(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0} -function kD(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+96|0;o=K+84|0;p=K+80|0;q=K+76|0;r=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=dx(c[o>>2]|0)|0;c[z>>2]=(c[(c[o>>2]|0)+40>>2]|0)-1;c[C>>2]=Wz(c[J>>2]|0)|0;if((c[v>>2]|0)<0)ix(c[J>>2]|0,65,d[(c[s>>2]|0)+24>>0]|0,c[C>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[s>>2]|0)+20>>2]|0))break;c[E>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[u>>2]|0)+1;ix(c[J>>2]|0,34,c[E>>2]|0,c[C>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}do if(!(c[w>>2]|0)){if(!(c[r>>2]|0)){c[H>>2]=vx(c[o>>2]|0)|0;ix(c[J>>2]|0,85,(c[c[t>>2]>>2]|0)+1+(c[u>>2]|0)|0,c[H>>2]|0)|0;c[B>>2]=ix(c[J>>2]|0,17,c[H>>2]|0,0)|0;if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){jx(c[J>>2]|0,37,c[u>>2]|0,c[C>>2]|0,c[H>>2]|0)|0;Jh(c[J>>2]|0,-112)}Uz(c[o>>2]|0,c[z>>2]|0,c[p>>2]|0,c[q>>2]|0,104);jx(c[J>>2]|0,33,c[z>>2]|0,0,c[H>>2]|0)|0;Yz(c[J>>2]|0,c[C>>2]|0)|0;I=c[J>>2]|0;Zz(I,(wx(c[J>>2]|0)|0)-2|0);Zz(c[J>>2]|0,c[B>>2]|0);xx(c[o>>2]|0,c[H>>2]|0);break}c[F>>2]=c[(c[s>>2]|0)+20>>2];c[I>>2]=CA(c[o>>2]|0,c[F>>2]|0)|0;c[G>>2]=vx(c[o>>2]|0)|0;jx(c[J>>2]|0,104,c[z>>2]|0,c[(c[r>>2]|0)+44>>2]|0,c[p>>2]|0)|0;Vz(c[o>>2]|0,c[r>>2]|0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;ix(c[J>>2]|0,84,(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0)|0,(c[I>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){H=wx(c[J>>2]|0)|0;c[A>>2]=H+(c[F>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;c[y>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0);c[D>>2]=(b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)+1+(c[u>>2]|0);if((b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)==(b[(c[q>>2]|0)+32>>1]|0))c[D>>2]=c[u>>2];jx(c[J>>2]|0,36,c[y>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;Jh(c[J>>2]|0,16);c[x>>2]=(c[x>>2]|0)+1}Yz(c[J>>2]|0,c[C>>2]|0)|0}h=c[J>>2]|0;e=c[I>>2]|0;g=c[F>>2]|0;l=c[G>>2]|0;H=CC(c[c[o>>2]>>2]|0,c[r>>2]|0)|0;mx(h,99,e,g,l,H,c[F>>2]|0)|0;Ih(c[J>>2]|0,31,c[z>>2]|0,c[C>>2]|0,c[G>>2]|0,0)|0;xx(c[o>>2]|0,c[G>>2]|0);FA(c[o>>2]|0,c[I>>2]|0,c[F>>2]|0)}while(0);if((((a[(c[s>>2]|0)+24>>0]|0)==0?(c[(c[c[o>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[o>>2]|0)+124>>2]|0)==0:0)?(a[(c[o>>2]|0)+20>>0]|0)==0:0){tA(c[o>>2]|0,787,2,0,-2,4);H=c[J>>2]|0;I=c[C>>2]|0;_z(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Sz(I,111,J)|0;i=K;return}if((c[v>>2]|0)>0?(d[(c[s>>2]|0)+24>>0]|0)==0:0)Vx(c[o>>2]|0);ix(c[J>>2]|0,144,d[(c[s>>2]|0)+24>>0]|0,c[v>>2]|0)|0;H=c[J>>2]|0;I=c[C>>2]|0;_z(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Sz(I,111,J)|0;i=K;return}function lD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[h>>2]=b;do if(c[(c[h>>2]|0)+468>>2]|0){c[g>>2]=c[c[(c[h>>2]|0)+468>>2]>>2];if(!((c[g>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[g>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function mD(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0)){r=14;break}c[q>>2]=c[(c[k>>2]|0)+36+(c[n>>2]<<3)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)<0?!((c[m>>2]|0)!=0?(c[o>>2]|0)==(b[(c[j>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[o>>2]<<4);f=c[p>>2]|0;if(c[q>>2]|0)if(!(ig(c[f>>2]|0,c[q>>2]|0)|0)){r=9;break a}else break;else if(d[f+15>>0]&1){r=11;break a}else break}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((r|0)==9){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==11){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function nD(a,f,g,h,j,k,l,m){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+144|0;n=O+128|0;o=O+124|0;p=O+120|0;q=O+116|0;r=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;c[n>>2]=a;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=m;c[v>>2]=c[c[n>>2]>>2];c[K>>2]=0;c[z>>2]=0;c[M>>2]=dx(c[n>>2]|0)|0;if((c[u>>2]|0)<0)c[z>>2]=ix(c[M>>2]|0,65,d[(c[r>>2]|0)+24>>0]|0,0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;if(c[q>>2]|0)k=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;else k=-1;b[x>>1]=k;c[D>>2]=oD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[x>>1]|0)|0;if(c[s>>2]|0)k=c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0;else k=c[(c[r>>2]|0)+36>>2]|0;b[x>>1]=k;c[N>>2]=c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+(b[x>>1]<<4)>>2];c[H>>2]=Wv(c[v>>2]|0,55,c[N>>2]|0)|0;c[B>>2]=Ev(c[n>>2]|0,37,c[D>>2]|0,c[H>>2]|0,0)|0;c[K>>2]=wz(c[v>>2]|0,c[K>>2]|0,c[B>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)>0?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){if(!(d[(c[p>>2]|0)+42>>0]&32)){c[E>>2]=oD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,-1)|0;c[I>>2]=pD(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=Ev(c[n>>2]|0,36,c[E>>2]|0,c[I>>2]|0,0)|0}else{c[A>>2]=0;c[G>>2]=Jj(c[p>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[G>>2]|0)+50>>1]|0))break;b[y>>1]=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;c[E>>2]=oD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[y>>1]|0)|0;c[I>>2]=pD(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,b[y>>1]|0)|0;c[C>>2]=Ev(c[n>>2]|0,37,c[E>>2]|0,c[I>>2]|0,0)|0;c[A>>2]=wz(c[v>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}c[F>>2]=Ev(c[n>>2]|0,19,c[A>>2]|0,0,0)|0}c[K>>2]=wz(c[v>>2]|0,c[K>>2]|0,c[F>>2]|0)|0};c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;c[L+4>>2]=c[o>>2];c[L>>2]=c[n>>2];Ay(L,c[K>>2]|0)|0;c[J>>2]=qD(c[n>>2]|0,c[o>>2]|0,c[K>>2]|0,0,0,0,0)|0;ix(c[M>>2]|0,144,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;if(c[J>>2]|0)rD(c[J>>2]|0);iv(c[v>>2]|0,c[K>>2]|0);if(!(c[z>>2]|0)){i=O;return}Zz(c[M>>2]|0,c[z>>2]|0);i=O;return}function oD(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+28|0;o=q+12|0;n=q+8|0;p=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b[l>>1]=g;c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Wv(c[m>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;i=q;return p|0}if((b[l>>1]|0)>=0?(b[l>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0):0){c[n>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(b[l>>1]<<4);c[(c[o>>2]|0)+28>>2]=(c[k>>2]|0)+(b[l>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[n>>2]|0)+13>>0]|0;c[p>>2]=c[(c[n>>2]|0)+8>>2];if(!(c[p>>2]|0))c[p>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[o>>2]=Wy(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;i=q;return p|0}function pD(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+12|0;g=l+8|0;h=l+4|0;j=l+16|0;k=l;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[j>>1]=f;c[k>>2]=Wv(c[m>>2]|0,152,0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;i=l;return m|0}c[(c[k>>2]|0)+44>>2]=c[g>>2];c[(c[k>>2]|0)+28>>2]=c[h>>2];b[(c[k>>2]|0)+32>>1]=b[j>>1]|0;m=c[k>>2]|0;i=l;return m|0}function qD(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+192|0;n=ca+24|0;q=ca+180|0;r=ca+176|0;s=ca+172|0;o=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;p=ca+152|0;I=ca+148|0;W=ca+144|0;_=ca+140|0;J=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;G=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;E=ca+72|0;T=ca+68|0;V=ca+64|0;D=ca+60|0;K=ca+56|0;y=ca;H=ca+52|0;N=ca+48|0;F=ca+44|0;L=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;c[r>>2]=f;c[s>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[_>>2]=c[(c[r>>2]|0)+8>>2];a[z>>0]=0;c[B>>2]=c[c[r>>2]>>2];c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Y+12>>2]=0;c[Y+16>>2]=0;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)>=64:0)c[t>>2]=0;c[Y+8>>2]=c[t>>2];if(e[(c[B>>2]|0)+64>>1]&32)b[v>>1]=e[v>>1]&-257;if((c[c[s>>2]>>2]|0)>64){ba=c[r>>2]|0;c[n>>2]=64;Eh(ba,34404,n);c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}if(e[v>>1]&32)m=1;else m=c[c[s>>2]>>2]|0;c[I>>2]=m;c[p>>2]=832+(((c[I>>2]|0)-1|0)*80|0)+7&-8;c[W>>2]=Vw(c[B>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[B>>2]|0)+69>>0]|0)){c[c[W>>2]>>2]=c[r>>2];c[(c[W>>2]|0)+4>>2]=c[s>>2];c[(c[W>>2]|0)+8>>2]=c[t>>2];c[(c[W>>2]|0)+12>>2]=c[u>>2];c[(c[W>>2]|0)+20+4>>2]=-1;c[(c[W>>2]|0)+20>>2]=-1;a[(c[W>>2]|0)+42>>0]=c[I>>2];m=Wz(c[_>>2]|0)|0;c[(c[W>>2]|0)+28>>2]=m;c[(c[W>>2]|0)+32>>2]=m;b[(c[W>>2]|0)+40>>1]=b[v>>1]|0;b[(c[W>>2]|0)+16>>1]=c[w>>2];c[(c[W>>2]|0)+36>>2]=c[(c[r>>2]|0)+136>>2];m=(c[W>>2]|0)+43|0;k=m+37|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(k|0));VR((c[W>>2]|0)+752|0,0,72+((c[I>>2]|0)*80|0)|0)|0;c[R>>2]=(c[W>>2]|0)+488;c[Y>>2]=c[W>>2];c[Y+4>>2]=(c[W>>2]|0)+80;c[Y+12>>2]=(c[W>>2]|0)+(c[p>>2]|0);yD(c[Y+12>>2]|0);c[c[R>>2]>>2]=0;BD((c[W>>2]|0)+80|0,c[W>>2]|0);CD((c[W>>2]|0)+80|0,c[o>>2]|0,28);c[G>>2]=0;while(1){m=(c[I>>2]|0)==0;if((c[G>>2]|0)>=(c[(c[Y+4>>2]|0)+12>>2]|0))break;if(!(!m?(BB(c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0)|0)==0:0)){iB(c[r>>2]|0,c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0,c[(c[W>>2]|0)+32>>2]|0,16);p=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)+10|0;b[p>>1]=e[p>>1]|4}c[G>>2]=(c[G>>2]|0)+1}if(m){if(c[t>>2]|0)a[(c[W>>2]|0)+43>>0]=c[c[t>>2]>>2];if(e[v>>1]&256)a[(c[W>>2]|0)+47>>0]=1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[s>>2]>>2]|0))break;DD(c[R>>2]|0,c[(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)+44>>2]|0);ED(c[r>>2]|0,(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)|0,(c[W>>2]|0)+80|0);c[G>>2]=(c[G>>2]|0)+1}FD(c[s>>2]|0,(c[W>>2]|0)+80|0);if(!(a[(c[B>>2]|0)+69>>0]|0)){do if(e[v>>1]&256){if(GD(c[r>>2]|0,c[s>>2]|0,(c[W>>2]|0)+80|0,c[u>>2]|0)|0){a[(c[W>>2]|0)+47>>0]=1;break}if(!(c[t>>2]|0)){t=(c[W>>2]|0)+40|0;b[t>>1]=e[t>>1]|128;c[(c[W>>2]|0)+8>>2]=c[u>>2]}}while(0);if(!((c[I>>2]|0)==1?(HD(Y)|0)!=0:0)){c[X>>2]=ID(Y)|0;if(c[X>>2]|0)break;JD(c[W>>2]|0,0)|0;if(a[(c[B>>2]|0)+69>>0]|0)break;if((c[(c[W>>2]|0)+8>>2]|0)!=0?(JD(c[W>>2]|0,(b[(c[W>>2]|0)+72>>1]|0)+1&65535)|0,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break}if((c[(c[W>>2]|0)+8>>2]|0)==0?(c[(c[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(c[W>>2]|0)+64|0;c[X>>2]=-1;c[X+4>>2]=-1}if((c[(c[r>>2]|0)+36>>2]|0)==0?(d[(c[B>>2]|0)+69>>0]|0)==0:0){b:do if(((c[u>>2]|0)!=0?(d[(c[W>>2]|0)+42>>0]|0)>=2:0)?(e[(c[B>>2]|0)+64>>1]&1024|0)==0:0){u=KD(c[R>>2]|0,c[u>>2]|0)|0;X=Z;c[X>>2]=u;c[X+4>>2]=C;if(c[Y+8>>2]|0){u=KD(c[R>>2]|0,c[Y+8>>2]|0)|0;t=Z;R=c[t+4>>2]|C;X=Z;c[X>>2]=c[t>>2]|u;c[X+4>>2]=R}while(1){if((d[(c[W>>2]|0)+42>>0]|0)<2)break b;c[Q>>2]=c[(c[W>>2]|0)+752+(((d[(c[W>>2]|0)+42>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[W>>2]|0)+4>>2]|0)+8+((d[(c[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[v>>1]&256|0)==0?(c[(c[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(c[Q>>2]|0)+8|0;if((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)break b;c[M>>2]=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[(c[Y+4>>2]|0)+12>>2]|0)*48|0);c[U>>2]=c[(c[Y+4>>2]|0)+20>>2];while(1){if((c[U>>2]|0)>>>0>=(c[M>>2]|0)>>>0)break;R=(c[U>>2]|0)+40|0;X=(c[Q>>2]|0)+8|0;if(((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)?(c[(c[c[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[U>>2]=(c[U>>2]|0)+48}if((c[U>>2]|0)>>>0<(c[M>>2]|0)>>>0)break b;X=(c[W>>2]|0)+42|0;a[X>>0]=(a[X>>0]|0)+-1<<24>>24;c[I>>2]=(c[I>>2]|0)+-1}}while(0);Z=(c[c[W>>2]>>2]|0)+136|0;c[Z>>2]=(c[Z>>2]|0)+(b[(c[W>>2]|0)+72>>1]|0);do if(e[v>>1]&4){c[$>>2]=c[(c[(c[W>>2]|0)+752+64>>2]|0)+36>>2];c[A>>2]=(c[$>>2]&4096|0)!=0&1;if(!(c[A>>2]|0)){if(!(e[v>>1]&8))break;if(c[$>>2]&1024)break}a[(c[W>>2]|0)+45>>0]=(c[A>>2]|0)!=0?1:2;if((d[(c[(c[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(c[$>>2]&64|0)!=0:0){if(e[v>>1]&8)a[z>>0]=8;c[(c[(c[W>>2]|0)+752+64>>2]|0)+36>>2]=c[$>>2]&-65}}while(0);c[G>>2]=0;c[P>>2]=(c[W>>2]|0)+752;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[T>>2]=(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0);c[S>>2]=c[(c[T>>2]|0)+16>>2];c[E>>2]=Fh(c[B>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;c[Q>>2]=c[(c[P>>2]|0)+64>>2];c:do if((d[(c[S>>2]|0)+42>>0]&2|0)==0?(c[(c[S>>2]|0)+12>>2]|0)==0:0){if(c[(c[Q>>2]|0)+36>>2]&1024){c[V>>2]=Ux(c[B>>2]|0,c[S>>2]|0)|0;c[D>>2]=c[(c[T>>2]|0)+44>>2];mx(c[_>>2]|0,155,c[D>>2]|0,0,0,c[V>>2]|0,-10)|0;break}if(d[(c[S>>2]|0)+42>>0]&16)break;do if(!(c[(c[Q>>2]|0)+36>>2]&64)){if(e[v>>1]&32)break;c[K>>2]=104;if(d[(c[W>>2]|0)+45>>0]|0){c[K>>2]=105;c[(c[W>>2]|0)+20>>2]=c[(c[T>>2]|0)+44>>2]}Uz(c[r>>2]|0,c[(c[T>>2]|0)+44>>2]|0,c[E>>2]|0,c[S>>2]|0,c[K>>2]|0);do if(!(d[(c[W>>2]|0)+45>>0]|0)){if((b[(c[S>>2]|0)+34>>1]|0)>=64)break;if(d[(c[S>>2]|0)+42>>0]&32)break;Y=(c[T>>2]|0)+56|0;Z=c[Y+4>>2]|0;$=y;c[$>>2]=c[Y>>2];c[$+4>>2]=Z;c[H>>2]=0;while(1){$=y;if(!((c[$>>2]|0)!=0|(c[$+4>>2]|0)!=0))break;Z=y;Z=SR(c[Z>>2]|0,c[Z+4>>2]|0,1)|0;$=y;c[$>>2]=Z;c[$+4>>2]=C;c[H>>2]=(c[H>>2]|0)+1}Mh(c[_>>2]|0,-1,c[H>>2]|0,-14)}while(0);Jh(c[_>>2]|0,a[z>>0]|0);break c}while(0);Tz(c[r>>2]|0,c[E>>2]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0)}while(0);do if(c[(c[Q>>2]|0)+36>>2]&512){c[N>>2]=c[(c[Q>>2]|0)+24+8>>2];c[L>>2]=104;do if(!(d[(c[S>>2]|0)+42>>0]&32))ba=93;else{if((a[(c[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(e[v>>1]&32)){ba=93;break}c[F>>2]=c[(c[P>>2]|0)+4>>2];c[L>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(!(d[(c[W>>2]|0)+45>>0]|0)){do if(c[w>>2]|0){if(!(e[v>>1]&32))break;c[F>>2]=c[w>>2];c[L>>2]=103;break d}while(0);Z=(c[r>>2]|0)+40|0;$=c[Z>>2]|0;c[Z>>2]=$+1;c[F>>2]=$;break}c[O>>2]=c[(c[(c[T>>2]|0)+16>>2]|0)+8>>2];c[F>>2]=c[w>>2];while(1){if(!(c[O>>2]|0))break;if((c[O>>2]|0)==(c[N>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1;c[O>>2]=c[(c[O>>2]|0)+20>>2]}c[L>>2]=105;c[(c[W>>2]|0)+20+4>>2]=c[F>>2]}while(0);c[(c[P>>2]|0)+8>>2]=c[F>>2];if(!(c[L>>2]|0))break;jx(c[_>>2]|0,c[L>>2]|0,c[F>>2]|0,c[(c[N>>2]|0)+44>>2]|0,c[E>>2]|0)|0;Vz(c[r>>2]|0,c[N>>2]|0);if(!(c[(c[Q>>2]|0)+36>>2]&15))break;if(c[(c[Q>>2]|0)+36>>2]&32770)break;if(e[(c[W>>2]|0)+40>>1]&1)break;Jh(c[_>>2]|0,2)}while(0);if((c[E>>2]|0)>=0)sx(c[r>>2]|0,c[E>>2]|0);c[G>>2]=(c[G>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+80}ba=wx(c[_>>2]|0)|0;c[(c[W>>2]|0)+52>>2]=ba;if(!(a[(c[B>>2]|0)+69>>0]|0)){ba=J;c[ba>>2]=-1;c[ba+4>>2]=-1;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[P>>2]=(c[W>>2]|0)+752+((c[G>>2]|0)*80|0);c[aa>>2]=c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2];if((c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=J,LD(c[r>>2]|0,(c[W>>2]|0)+80|0,(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0)|0,c[ba>>2]|0,c[ba+4>>2]|0,c[P>>2]|0),(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break a;c[x>>2]=MD(c[r>>2]|0,c[s>>2]|0,c[P>>2]|0,c[G>>2]|0,d[(c[P>>2]|0)+44>>0]|0,b[v>>1]|0)|0;$=wx(c[_>>2]|0)|0;c[(c[P>>2]|0)+32>>2]=$;$=J;$=ND(c[W>>2]|0,c[G>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;ba=J;c[ba>>2]=$;c[ba+4>>2]=C;c[(c[W>>2]|0)+28>>2]=c[(c[P>>2]|0)+24>>2];do if((c[aa>>2]&8192|0)==0?(e[v>>1]&32|0)!=0:0)break;while(0);c[G>>2]=(c[G>>2]|0)+1}c[q>>2]=c[W>>2];ba=c[q>>2]|0;i=ca;return ba|0}}}}else{Tf(c[B>>2]|0,c[W>>2]|0);c[W>>2]=0}while(0);if(c[W>>2]|0){c[(c[r>>2]|0)+136>>2]=c[(c[W>>2]|0)+36>>2];tD(c[B>>2]|0,c[W>>2]|0)}c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}function rD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;m=E+80|0;v=E+76|0;A=E+72|0;o=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;n=E+52|0;h=E+48|0;k=E+44|0;j=E+40|0;l=E+36|0;p=E+32|0;q=E+28|0;u=E+24|0;r=E+20|0;y=E+16|0;x=E+12|0;B=E+8|0;C=E+4|0;w=E;c[m>>2]=f;c[v>>2]=c[c[m>>2]>>2];c[A>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=c[(c[m>>2]|0)+4>>2];c[n>>2]=c[c[v>>2]>>2];EC(c[v>>2]|0);c[o>>2]=(d[(c[m>>2]|0)+42>>0]|0)-1;while(1){if((c[o>>2]|0)<0)break;c[s>>2]=(c[m>>2]|0)+752+((c[o>>2]|0)*80|0);c[t>>2]=c[(c[s>>2]|0)+64>>2];_z(c[A>>2]|0,c[(c[s>>2]|0)+24>>2]|0);if((d[(c[s>>2]|0)+45>>0]|0)!=161){jx(c[A>>2]|0,d[(c[s>>2]|0)+45>>0]|0,c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+52>>2]|0,d[(c[s>>2]|0)+46>>0]|0)|0;Jh(c[A>>2]|0,a[(c[s>>2]|0)+47>>0]|0)}a:do if((c[(c[t>>2]|0)+36>>2]&2048|0)!=0?(c[(c[s>>2]|0)+56>>2]|0)>0:0){_z(c[A>>2]|0,c[(c[s>>2]|0)+16>>2]|0);c[j>>2]=c[(c[s>>2]|0)+56>>2];c[k>>2]=(c[(c[s>>2]|0)+56+4>>2]|0)+(((c[j>>2]|0)-1|0)*12|0);while(1){if((c[j>>2]|0)<=0)break a;Zz(c[A>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)+1|0);if((d[(c[k>>2]|0)+8>>0]|0)!=161)ix(c[A>>2]|0,d[(c[k>>2]|0)+8>>0]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;Zz(c[A>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)-1|0);c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+-12}}while(0);_z(c[A>>2]|0,c[(c[s>>2]|0)+12>>2]|0);if(c[(c[s>>2]|0)+20>>2]|0){Yz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;Zz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0);Zz(c[A>>2]|0,(c[(c[s>>2]|0)+20>>2]|0)-2|0)}if(c[(c[s>>2]|0)+40>>2]|0)ix(c[A>>2]|0,68,(c[(c[s>>2]|0)+36>>2]|0)>>>1,c[(c[s>>2]|0)+40>>2]|0)|0;if(c[c[s>>2]>>2]|0){c[l>>2]=c[(c[t>>2]|0)+36>>2];c[h>>2]=Sz(c[A>>2]|0,66,c[c[s>>2]>>2]|0)|0;if(!(c[l>>2]&64))Sz(c[A>>2]|0,124,c[(c[z>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]|0)|0;if(!(c[l>>2]&512)){if((c[l>>2]&8192|0)!=0?(c[(c[s>>2]|0)+56>>2]|0)!=0:0)D=22}else D=22;if((D|0)==22){D=0;Sz(c[A>>2]|0,124,c[(c[s>>2]|0)+8>>2]|0)|0}f=c[A>>2]|0;g=c[s>>2]|0;if((d[(c[s>>2]|0)+45>>0]|0)==72)ix(f,14,c[g+48>>2]|0,c[(c[s>>2]|0)+28>>2]|0)|0;else Yz(f,c[g+28>>2]|0)|0;Zz(c[A>>2]|0,c[h>>2]|0)}c[o>>2]=(c[o>>2]|0)+-1}_z(c[A>>2]|0,c[(c[m>>2]|0)+32>>2]|0);c[o>>2]=0;c[s>>2]=(c[m>>2]|0)+752;while(1){if((c[o>>2]|0)>=(d[(c[m>>2]|0)+42>>0]|0))break;c[r>>2]=0;c[y>>2]=(c[z>>2]|0)+8+((d[(c[s>>2]|0)+44>>0]|0)*72|0);c[x>>2]=c[(c[y>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+64>>2];if(((d[(c[y>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)sD(c[A>>2]|0,c[(c[s>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[(c[y>>2]|0)+32>>2]|0,0);else D=33;b:do if((D|0)==33){D=0;if(((d[(c[x>>2]|0)+42>>0]&2|0)==0?(c[(c[x>>2]|0)+12>>2]|0)==0:0)?(e[(c[m>>2]|0)+40>>1]&32|0)==0:0){c[B>>2]=c[(c[t>>2]|0)+36>>2];if((d[(c[m>>2]|0)+45>>0]|0)==0?(c[B>>2]&64|0)==0:0)Sz(c[A>>2]|0,111,c[(c[y>>2]|0)+44>>2]|0)|0;if(((c[B>>2]&512|0)!=0?(c[B>>2]&16640|0)==0:0)?(c[(c[s>>2]|0)+8>>2]|0)!=(c[(c[m>>2]|0)+20+4>>2]|0):0)Sz(c[A>>2]|0,111,c[(c[s>>2]|0)+8>>2]|0)|0}f=c[t>>2]|0;if(!(c[(c[t>>2]|0)+36>>2]&576)){if(c[f+36>>2]&8192)c[r>>2]=c[(c[s>>2]|0)+56>>2]}else c[r>>2]=c[f+24+8>>2];if(c[r>>2]|0){if((d[(c[m>>2]|0)+45>>0]|0)!=0?(d[(c[(c[r>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[n>>2]|0)+69>>0]|0)){c[q>>2]=wx(c[A>>2]|0)|0;c[p>>2]=c[(c[s>>2]|0)+32>>2];c[u>>2]=eA(c[A>>2]|0,c[p>>2]|0)|0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break b;do if((c[(c[u>>2]|0)+4>>2]|0)==(c[(c[s>>2]|0)+4>>2]|0)){f=c[u>>2]|0;if((d[c[u>>2]>>0]|0)!=96){if((d[f>>0]|0)!=123)break;c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2];a[c[u>>2]>>0]=-127;break}c[C>>2]=c[f+8>>2];if(d[(c[x>>2]|0)+42>>0]&32){c[w>>2]=Jj(c[x>>2]|0)|0;c[C>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<1)>>1]}c[C>>2]=(OA(c[r>>2]|0,c[C>>2]&65535)|0)<<16>>16;if((c[C>>2]|0)>=0){c[(c[u>>2]|0)+8>>2]=c[C>>2];c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2]}}while(0);c[p>>2]=(c[p>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+20}}}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+80}c[(c[v>>2]|0)+136>>2]=c[(c[m>>2]|0)+36>>2];tD(c[n>>2]|0,c[m>>2]|0);i=E;return}function sD(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;q=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=eA(c[q>>2]|0,c[j>>2]|0)|0;c[n>>2]=wx(c[q>>2]|0)|0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;do if((c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0)){h=c[o>>2]|0;if((d[c[o>>2]>>0]|0|0)==96){a[h>>0]=84;c[(c[o>>2]|0)+4>>2]=(c[(c[o>>2]|0)+8>>2]|0)+(c[l>>2]|0);c[(c[o>>2]|0)+8>>2]=c[(c[o>>2]|0)+12>>2];c[(c[o>>2]|0)+12>>2]=0;break}if((d[h>>0]|0|0)==123){h=c[o>>2]|0;if(c[m>>2]|0){a[h>>0]=91;c[(c[o>>2]|0)+4>>2]=c[(c[o>>2]|0)+8>>2];c[(c[o>>2]|0)+8>>2]=1;break}else{a[h>>0]=79;c[(c[o>>2]|0)+4>>2]=0;c[(c[o>>2]|0)+12>>2]=0;break}}}while(0);c[j>>2]=(c[j>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}i=p;return}function tD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=k;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(d[(c[f>>2]|0)+42>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+752+((c[g>>2]|0)*80|0);if((c[(c[j>>2]|0)+64>>2]|0)!=0?(c[(c[(c[j>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)Tf(c[e>>2]|0,c[(c[j>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}uD((c[f>>2]|0)+80|0);while(1){if(!(c[(c[f>>2]|0)+56>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+56>>2];c[(c[f>>2]|0)+56>>2]=c[(c[h>>2]|0)+52>>2];vD(c[e>>2]|0,c[h>>2]|0)}Tf(c[e>>2]|0,c[f>>2]|0);i=k;return}function uD(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;d=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[g>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[d>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[g>>2]|0)<0)break;if((e[(c[d>>2]|0)+10>>1]|0)&1)iv(c[f>>2]|0,c[c[d>>2]>>2]|0);if(!((e[(c[d>>2]|0)+10>>1]|0)&16)){if((e[(c[d>>2]|0)+10>>1]|0)&32)AD(c[f>>2]|0,c[(c[d>>2]|0)+28>>2]|0)}else zD(c[f>>2]|0,c[(c[d>>2]|0)+28>>2]|0);c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=(c[d>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){i=h;return}Tf(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0);i=h;return}function vD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;wD(c[f>>2]|0,c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function wD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Tf(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);xD(c[d>>2]|0,c[e>>2]|0);yD(c[e>>2]|0);i=f;return}function xD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=h;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+24+4>>0]|0|0)!=0:0){Kd(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=h;return}if(!(c[(c[g>>2]|0)+24+8>>2]|0)){i=h;return}Tf(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+8>>2]|0)+16>>2]|0);Tf(c[f>>2]|0,c[(c[g>>2]|0)+24+8>>2]|0);c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}function yD(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function zD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;uD(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function AD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;uD(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function BD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function CD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l+12|0;k=l;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[k>>2]=ky(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[j>>0]|0;if(!(c[k>>2]|0)){i=l;return}f=c[g>>2]|0;if((d[c[k>>2]>>0]|0|0)!=(d[j>>0]|0|0)){WE(f,c[h>>2]|0,0)|0;i=l;return}else{CD(f,c[(c[k>>2]|0)+12>>2]|0,a[j>>0]|0);CD(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,a[j>>0]|0);i=l;return}}function DD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function ED(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;p=r+28|0;o=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if(!((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)){i=r;return}c[p>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+64>>2];if(!(c[l>>2]|0)){i=r;return}c[k>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[l>>2]>>2]|0)){e=13;break}while(1){if((c[k>>2]|0)<(b[(c[p>>2]|0)+34>>1]|0))e=(d[(c[(c[p>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+15>>0]&2|0)==0;else e=0;a=c[k>>2]|0;if(!e)break;c[k>>2]=a+1}f=c[g>>2]|0;if((a|0)>=(b[(c[p>>2]|0)+34>>1]|0)){e=10;break}c[m>>2]=jw(c[f>>2]|0,152,0,0)|0;if(!(c[m>>2]|0)){e=13;break}c[(c[m>>2]|0)+28>>2]=c[(c[h>>2]|0)+44>>2];a=c[k>>2]|0;c[k>>2]=a+1;b[(c[m>>2]|0)+32>>1]=a;c[(c[m>>2]|0)+44>>2]=c[p>>2];a=c[g>>2]|0;f=c[m>>2]|0;c[n>>2]=Ev(a,37,f,Iy(c[c[g>>2]>>2]|0,c[(c[(c[l>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0,0)|0;WE(c[j>>2]|0,c[n>>2]|0,1)|0;c[o>>2]=(c[o>>2]|0)+1}if((e|0)==10){o=c[o>>2]|0;c[q>>2]=c[c[p>>2]>>2];c[q+4>>2]=o;Eh(f,34848,q);i=r;return}else if((e|0)==13){i=r;return}}function FD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;SE(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}i=g;return}function GD(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;j=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;s=u+16|0;r=u+12|0;o=u+8|0;p=u+4|0;q=u;c[k>>2]=a;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[c[l>>2]>>2]|0)!=1){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}c[p>>2]=c[(c[l>>2]|0)+8+44>>2];c[s>>2]=c[(c[l>>2]|0)+8+16>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[q>>2]=ky(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;if(((d[c[q>>2]>>0]|0)==152?(c[(c[q>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(b[(c[q>>2]|0)+32>>1]|0)<0:0){t=8;break}c[o>>2]=(c[o>>2]|0)+1}if((t|0)==8){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0)){t=22;break}if(d[(c[r>>2]|0)+54>>0]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[r>>2]|0)+50>>1]|0))break;if(!(ZD(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,-1,-1,2,c[r>>2]|0)|0)){if((RE(c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)<0)break;if(!(HE(c[r>>2]|0,c[o>>2]|0)|0))break}c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[r>>2]|0)+50>>1]|0)){t=20;break}}c[r>>2]=c[(c[r>>2]|0)+20>>2]}if((t|0)==20){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}else if((t|0)==22){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}return 0}function HD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;g=t+44|0;h=t+40|0;s=t+36|0;n=t+32|0;r=t+28|0;q=t+24|0;o=t+20|0;j=t+16|0;k=t+12|0;p=t+8|0;m=t+4|0;l=t;c[h>>2]=f;c[s>>2]=c[c[h>>2]>>2];if((e[(c[s>>2]|0)+40>>1]|0)&32){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[n>>2]=(c[(c[s>>2]|0)+4>>2]|0)+8;c[p>>2]=c[(c[n>>2]|0)+16>>2];if((d[(c[p>>2]|0)+42>>0]|0)&16){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}if((d[(c[n>>2]|0)+36+1>>0]|0)>>>1&1){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[j>>2]=c[(c[n>>2]|0)+44>>2];c[r>>2]=(c[s>>2]|0)+80;c[o>>2]=c[(c[h>>2]|0)+12>>2];c[(c[o>>2]|0)+36>>2]=0;b[(c[o>>2]|0)+42>>1]=0;c[q>>2]=ZD(c[r>>2]|0,c[j>>2]|0,-1,0,0,130,0)|0;a:do if(c[q>>2]|0){c[(c[o>>2]|0)+36>>2]=4353;c[c[(c[o>>2]|0)+48>>2]>>2]=c[q>>2];b[(c[o>>2]|0)+40>>1]=1;b[(c[o>>2]|0)+24>>1]=1;b[(c[o>>2]|0)+20>>1]=33}else{c[m>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break a;if(((d[(c[m>>2]|0)+54>>0]|0|0)!=0?(c[(c[m>>2]|0)+36>>2]|0)==0:0)?(e[(c[m>>2]|0)+50>>1]|0|0)<=3:0){c[l>>2]=((d[(c[m>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0|0))break;c[q>>2]=ZD(c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,c[l>>2]|0,c[m>>2]|0)|0;if(!(c[q>>2]|0))break;c[(c[(c[o>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+1}if((c[k>>2]|0)==(e[(c[m>>2]|0)+50>>1]|0|0))break}c[m>>2]=c[(c[m>>2]|0)+20>>2]}c[(c[o>>2]|0)+36>>2]=4609;if(!(((d[(c[m>>2]|0)+55>>0]|0)>>>5&1|0)==0?(r=(c[n>>2]|0)+56|0,p=c[r>>2]|0,r=c[r+4>>2]|0,q=EE(c[m>>2]|0)|0,!((p&~q|0)==0&(r&~C|0)==0)):0)){r=(c[o>>2]|0)+36|0;c[r>>2]=c[r>>2]|64}b[(c[o>>2]|0)+40>>1]=c[k>>2];b[(c[o>>2]|0)+24>>1]=c[k>>2];c[(c[o>>2]|0)+24+8>>2]=c[m>>2];b[(c[o>>2]|0)+20>>1]=39}while(0);if(!(c[(c[o>>2]|0)+36>>2]|0)){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}b[(c[o>>2]|0)+22>>1]=1;c[(c[s>>2]|0)+752+64>>2]=c[o>>2];q=OD((c[s>>2]|0)+488|0,c[j>>2]|0)|0;r=(c[o>>2]|0)+8|0;c[r>>2]=q;c[r+4>>2]=C;c[(c[s>>2]|0)+752+4>>2]=c[j>>2];b[(c[s>>2]|0)+72>>1]=1;if(c[(c[s>>2]|0)+8>>2]|0)a[(c[s>>2]|0)+43>>0]=c[c[(c[s>>2]|0)+8>>2]>>2];if((e[(c[s>>2]|0)+40>>1]|0)&256)a[(c[s>>2]|0)+47>>0]=1;c[g>>2]=1;s=c[g>>2]|0;i=t;return s|0}function ID(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+80|0;e=s+60|0;n=s+56|0;g=s+16|0;h=s+8|0;f=s+52|0;t=s+48|0;m=s+44|0;l=s+40|0;p=s+36|0;r=s+32|0;q=s+28|0;o=s+64|0;j=s;k=s+24|0;c[e>>2]=b;c[n>>2]=c[c[e>>2]>>2];b=g;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[n>>2]|0)+4>>2];c[l>>2]=(c[t>>2]|0)+8+((d[(c[n>>2]|0)+42>>0]|0)*72|0);c[p>>2]=c[c[c[n>>2]>>2]>>2];c[r>>2]=0;a[o>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];yD(c[q>>2]|0);c[f>>2]=0;c[m>>2]=(c[t>>2]|0)+8;while(1){if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){e=19;break}b=j;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[f>>2];b=OD((c[n>>2]|0)+488|0,c[(c[m>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=C;if((d[(c[m>>2]|0)+36>>0]|0|(d[o>>0]|0))&10){u=h;b=c[u+4>>2]|0;t=g;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[o>>0]=a[(c[m>>2]|0)+36>>0]|0;if((d[(c[(c[m>>2]|0)+16>>2]|0)+42>>0]|0)&16){c[k>>2]=(c[m>>2]|0)+72;while(1){if((c[k>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;u=j;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?((d[(c[k>>2]|0)+36>>0]|0)&10|0)==0:0)){b=OD((c[n>>2]|0)+488|0,c[(c[k>>2]|0)+44>>2]|0)|0;v=j;t=c[v+4>>2]|C;u=j;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[k>>2]=(c[k>>2]|0)+72}u=g;v=j;c[r>>2]=rE(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=g;c[r>>2]=sE(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[r>>2]|0)){u=g;v=j;c[r>>2]=tE(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=h;u=c[b+4>>2]|c[t+4>>2];v=h;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[r>>2]|0){e=19;break}if(d[(c[p>>2]|0)+69>>0]|0){e=19;break}c[f>>2]=(c[f>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+72}if((e|0)==19){wD(c[p>>2]|0,c[q>>2]|0);i=s;return c[r>>2]|0}return 0}function JD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;E=X+40|0;M=X+148|0;N=X+144|0;G=X+162|0;r=X+140|0;Q=X+136|0;z=X+132|0;O=X+128|0;H=X+124|0;n=X+120|0;p=X+116|0;t=X+112|0;w=X+108|0;s=X+160|0;u=X+158|0;y=X+104|0;v=X+100|0;k=X+96|0;m=X+92|0;S=X+88|0;A=X+84|0;K=X+80|0;j=X+76|0;l=X+72|0;T=X+68|0;h=X+64|0;x=X+156|0;B=X+154|0;C=X+152|0;o=X+164|0;q=X+32|0;D=X+24|0;J=X+60|0;I=X+16|0;L=X+56|0;W=X+52|0;P=X+8|0;U=X+48|0;V=X;R=X+44|0;c[N>>2]=f;b[G>>1]=g;c[t>>2]=0;b[s>>1]=0;b[u>>1]=0;c[l>>2]=0;c[z>>2]=c[c[N>>2]>>2];c[O>>2]=c[c[z>>2]>>2];c[Q>>2]=d[(c[N>>2]|0)+42>>0];if((c[Q>>2]|0)<=1)g=1;else g=(c[Q>>2]|0)==2?5:10;c[r>>2]=g;if((c[(c[N>>2]|0)+8>>2]|0)!=0?(b[G>>1]|0)!=0:0)c[w>>2]=c[c[(c[N>>2]|0)+8>>2]>>2];else c[w>>2]=0;c[h>>2]=(_(32+(c[Q>>2]<<2)|0,c[r>>2]|0)|0)<<1;c[h>>2]=(c[h>>2]|0)+(c[w>>2]<<1);h=c[h>>2]|0;c[T>>2]=Vw(c[O>>2]|0,h,((h|0)<0)<<31>>31)|0;if(!(c[T>>2]|0)){c[M>>2]=7;W=c[M>>2]|0;i=X;return W|0}c[m>>2]=c[T>>2];c[k>>2]=(c[m>>2]|0)+(c[r>>2]<<5);h=c[k>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[j>>2]=(c[k>>2]|0)+(c[r>>2]<<5);c[n>>2]=c[r>>2]<<1;c[S>>2]=c[m>>2];while(1){if((c[n>>2]|0)<=0)break;c[(c[S>>2]|0)+24>>2]=c[j>>2];c[n>>2]=(c[n>>2]|0)+-1;c[S>>2]=(c[S>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+(c[Q>>2]<<2)}if(c[w>>2]|0){c[l>>2]=c[j>>2];VR(c[l>>2]|0,0,c[w>>2]<<1|0)|0}if((c[(c[z>>2]|0)+136>>2]|0)>>>0<48)g=c[(c[z>>2]|0)+136>>2]|0;else g=48;b[(c[k>>2]|0)+16>>1]=g;c[v>>2]=1;if(c[w>>2]|0)a[(c[k>>2]|0)+22>>0]=(c[Q>>2]|0)>0?-1:c[w>>2]|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[Q>>2]|0))break;c[y>>2]=0;c[n>>2]=0;c[S>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;c[K>>2]=c[(c[N>>2]|0)+56>>2];while(1){if(!(c[K>>2]|0))break;a[o>>0]=a[(c[S>>2]|0)+22>>0]|0;h=D;c[h>>2]=0;c[h+4>>2]=0;h=c[K>>2]|0;j=c[S>>2]|0;a:do if(!((c[h>>2]&~c[j>>2]|0)!=0?1:(c[h+4>>2]&~c[j+4>>2]|0)!=0)?(h=(c[K>>2]|0)+8|0,j=c[S>>2]|0,!((c[h>>2]&c[j>>2]|0)!=0?1:(c[h+4>>2]&c[j+4>>2]|0)!=0)):0){if((c[(c[K>>2]|0)+36>>2]&16384|0)!=0?(b[(c[S>>2]|0)+16>>1]|0)<10:0)break;b[C>>1]=nE(b[(c[K>>2]|0)+18>>1]|0,(b[(c[K>>2]|0)+20>>1]|0)+(b[(c[S>>2]|0)+16>>1]|0)&65535)|0;b[C>>1]=nE(b[C>>1]|0,b[(c[S>>2]|0)+20>>1]|0)|0;b[x>>1]=(b[(c[S>>2]|0)+16>>1]|0)+(b[(c[K>>2]|0)+22>>1]|0);g=c[S>>2]|0;f=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[f+4>>2];j=q;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;if((a[o>>0]|0)<0)a[o>>0]=oE(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[S>>2]|0,b[(c[N>>2]|0)+40>>1]|0,c[H>>2]&65535,c[K>>2]|0,D)|0;else{f=(c[S>>2]|0)+8|0;h=c[f+4>>2]|0;j=D;c[j>>2]=c[f>>2];c[j+4>>2]=h}if((a[o>>0]|0)>=0?(a[o>>0]|0)<(c[w>>2]|0):0){if(!(b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)){j=pE(c[N>>2]|0,b[G>>1]|0,c[w>>2]|0,a[o>>0]|0)|0;b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]=j}b[B>>1]=nE(b[C>>1]|0,b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)|0}else b[B>>1]=b[C>>1]|0;c[p>>2]=0;c[A>>2]=c[m>>2];while(1){if((c[p>>2]|0)>=(c[y>>2]|0))break;h=c[A>>2]|0;j=q;if(((c[h>>2]|0)==(c[j>>2]|0)?(c[h+4>>2]|0)==(c[j+4>>2]|0):0)?((a[(c[A>>2]|0)+22>>0]^a[o>>0])&128|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}do if((c[p>>2]|0)<(c[y>>2]|0)){if((b[(c[A>>2]|0)+18>>1]|0)<(b[B>>1]|0))break a;if((b[(c[A>>2]|0)+18>>1]|0)!=(b[B>>1]|0))break;if((b[(c[A>>2]|0)+16>>1]|0)<=(b[x>>1]|0))break a}else{do if((c[y>>2]|0)>=(c[r>>2]|0)){if((b[B>>1]|0)>(b[s>>1]|0))break a;if((b[B>>1]|0)!=(b[s>>1]|0))break;if((b[C>>1]|0)>=(b[u>>1]|0))break a}while(0);if((c[y>>2]|0)<(c[r>>2]|0)){j=c[y>>2]|0;c[y>>2]=j+1;c[p>>2]=j}else c[p>>2]=c[t>>2];c[A>>2]=(c[m>>2]|0)+(c[p>>2]<<5)}while(0);g=c[S>>2]|0;j=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[j+4>>2];f=c[A>>2]|0;c[f>>2]=c[g>>2]|c[j>>2];c[f+4>>2]=h;f=D;h=c[f+4>>2]|0;j=(c[A>>2]|0)+8|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;b[(c[A>>2]|0)+16>>1]=b[x>>1]|0;b[(c[A>>2]|0)+18>>1]=b[B>>1]|0;b[(c[A>>2]|0)+20>>1]=b[C>>1]|0;a[(c[A>>2]|0)+22>>0]=a[o>>0]|0;TR(c[(c[A>>2]|0)+24>>2]|0,c[(c[S>>2]|0)+24>>2]|0,c[H>>2]<<2|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]=c[K>>2];if((c[y>>2]|0)>=(c[r>>2]|0)){c[t>>2]=0;b[s>>1]=b[(c[m>>2]|0)+18>>1]|0;b[u>>1]=b[(c[m>>2]|0)+16>>1]|0;c[p>>2]=1;c[A>>2]=(c[m>>2]|0)+32;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;do if((b[(c[A>>2]|0)+18>>1]|0)<=(b[s>>1]|0)){if((b[(c[A>>2]|0)+18>>1]|0)!=(b[s>>1]|0))break;if((b[(c[A>>2]|0)+20>>1]|0)>(b[u>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;b[s>>1]=b[(c[A>>2]|0)+18>>1]|0;b[u>>1]=b[(c[A>>2]|0)+20>>1]|0;c[t>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}}}while(0);c[K>>2]=c[(c[K>>2]|0)+52>>2]}c[n>>2]=(c[n>>2]|0)+1;c[S>>2]=(c[S>>2]|0)+32}c[S>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[S>>2];c[v>>2]=c[y>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(c[v>>2]|0)){Eh(c[z>>2]|0,34756,E);Tf(c[O>>2]|0,c[T>>2]|0);c[M>>2]=1;W=c[M>>2]|0;i=X;return W|0}c[S>>2]=c[k>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;if((b[(c[S>>2]|0)+18>>1]|0)>(b[(c[k>>2]|0)+(c[n>>2]<<5)+18>>1]|0))c[S>>2]=(c[k>>2]|0)+(c[n>>2]<<5);c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=0;while(1){g=c[N>>2]|0;if((c[H>>2]|0)>=(c[Q>>2]|0))break;c[J>>2]=g+752+((c[H>>2]|0)*80|0);F=c[(c[(c[S>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]|0;c[K>>2]=F;c[(c[J>>2]|0)+64>>2]=F;a[(c[J>>2]|0)+44>>0]=a[(c[K>>2]|0)+16>>0]|0;c[(c[J>>2]|0)+4>>2]=c[(c[(c[N>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+44>>0]|0)*72|0)+44>>2];c[H>>2]=(c[H>>2]|0)+1}if(((((e[g+40>>1]&256|0)!=0?(e[(c[N>>2]|0)+40>>1]&128|0)==0:0)?(d[(c[N>>2]|0)+47>>0]|0)==0:0)?(b[G>>1]|0)!=0:0)?(c[L>>2]=(oE(c[N>>2]|0,c[(c[N>>2]|0)+12>>2]|0,c[S>>2]|0,128,(c[Q>>2]|0)-1&65535,c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[L>>2]|0)==(c[c[(c[N>>2]|0)+12>>2]>>2]|0)):0)a[(c[N>>2]|0)+47>>0]=2;if(c[(c[N>>2]|0)+8>>2]|0){g=a[(c[S>>2]|0)+22>>0]|0;if(e[(c[N>>2]|0)+40>>1]&128){if((g<<24>>24|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0))a[(c[N>>2]|0)+47>>0]=2}else{a[(c[N>>2]|0)+43>>0]=g;J=(c[S>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[N>>2]|0)+64|0;c[L>>2]=c[J>>2];c[L+4>>2]=K;if(((((a[(c[N>>2]|0)+43>>0]|0)<=0?(a[(c[N>>2]|0)+43>>0]=0,(c[Q>>2]|0)>0):0)?(c[W>>2]=c[(c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0)+36>>2],(c[W>>2]&4096|0)==0):0)?(c[W>>2]&260|0)!=260:0)?(W=P,c[W>>2]=0,c[W+4>>2]=0,c[U>>2]=(oE(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[S>>2]|0,2048,(c[Q>>2]|0)-1&65535,c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0,P)|0)<<24>>24,(c[U>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+48>>0]=1;U=c[P+4>>2]|0;W=(c[N>>2]|0)+64|0;c[W>>2]=c[P>>2];c[W+4>>2]=U}}if(((e[(c[N>>2]|0)+40>>1]&512|0)!=0?((c[Q>>2]|0)>0?(a[(c[N>>2]|0)+43>>0]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0):0):0)?(W=V,c[W>>2]=0,c[W+4>>2]=0,c[R>>2]=(oE(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[S>>2]|0,0,(c[Q>>2]|0)-1&65535,c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0,V)|0)<<24>>24,(c[R>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+44>>0]=1;U=V;V=c[U+4>>2]|0;W=(c[N>>2]|0)+64|0;c[W>>2]=c[U>>2];c[W+4>>2]=V}}b[(c[N>>2]|0)+72>>1]=b[(c[S>>2]|0)+16>>1]|0;Tf(c[O>>2]|0,c[T>>2]|0);c[M>>2]=0;W=c[M>>2]|0;i=X;return W|0}function KD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=g;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;C=b;i=h;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;j=lE(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function LD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+176|0;q=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;E=Y+144|0;J=Y+140|0;K=Y+136|0;G=Y+132|0;X=Y+128|0;Q=Y+124|0;I=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;D=Y+100|0;F=Y+96|0;H=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;p=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;o=Y+64|0;n=Y+60|0;m=Y+8|0;z=Y+56|0;w=Y;L=Y+52|0;M=Y+48|0;c[N>>2]=f;c[t>>2]=g;c[u>>2]=h;g=v;c[g>>2]=j;c[g+4>>2]=k;c[O>>2]=l;a[p>>0]=0;c[T>>2]=0;c[A>>2]=0;c[P>>2]=0;c[X>>2]=c[(c[N>>2]|0)+8>>2];c[Q>>2]=fx(c[X>>2]|0,20)|0;c[E>>2]=0;c[I>>2]=c[(c[u>>2]|0)+16>>2];c[K>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[(c[t>>2]|0)+12>>2]|0)*48|0);c[H>>2]=c[(c[O>>2]|0)+64>>2];g=B;c[g>>2]=0;c[g+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;c[o>>2]=c[c[J>>2]>>2];g=c[H>>2]|0;if((((c[g>>2]|0)==0&(c[g+4>>2]|0)==0?(e[(c[J>>2]|0)+10>>1]&2|0)==0:0)?(c[(c[o>>2]|0)+4>>2]&1|0)==0:0)?(hE(c[o>>2]|0,c[(c[u>>2]|0)+44>>2]|0)|0)!=0:0){h=c[c[N>>2]>>2]|0;g=c[T>>2]|0;c[T>>2]=wz(h,g,Iy(c[c[N>>2]>>2]|0,c[o>>2]|0,0)|0)|0}g=v;if(iE(c[J>>2]|0,c[u>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0){c[n>>2]=c[(c[J>>2]|0)+28>>2];if((c[n>>2]|0)>=64){j=0;k=-2147483648}else{j=WR(1,0,c[n>>2]|0)|0;k=C}g=m;c[g>>2]=j;c[g+4>>2]=k;if(!(a[p>>0]|0)){g=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0;c[q>>2]=c[c[I>>2]>>2];c[q+4>>2]=g;Rd(284,34719,q);a[p>>0]=1}h=B;g=m;if((c[h>>2]&c[g>>2]|0)==0?(c[h+4>>2]&c[g+4>>2]|0)==0:0){if(jE(c[c[N>>2]>>2]|0,c[H>>2]|0,(c[E>>2]|0)+1|0)|0){r=57;break}l=c[J>>2]|0;f=c[E>>2]|0;c[E>>2]=f+1;c[(c[(c[H>>2]|0)+48>>2]|0)+(f<<2)>>2]=l;f=m;l=B;h=c[l+4>>2]|c[f+4>>2];g=B;c[g>>2]=c[l>>2]|c[f>>2];c[g+4>>2]=h}}c[J>>2]=(c[J>>2]|0)+48}if((r|0)==57){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;iv(W,X);i=Y;return}o=c[E>>2]&65535;b[(c[H>>2]|0)+40>>1]=o;b[(c[H>>2]|0)+24>>1]=o;c[(c[H>>2]|0)+36>>2]=16961;o=(c[u>>2]|0)+56|0;p=B;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=x;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[I>>2]|0)+34>>1]|0))j=63;else j=b[(c[I>>2]|0)+34>>1]|0;c[D>>2]=j;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;r=x;p=c[r>>2]|0;r=c[r+4>>2]|0;q=WR(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&C|0)!=0)c[E>>2]=(c[E>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[E>>2]=(c[E>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)-64+1);c[G>>2]=kE(c[c[N>>2]>>2]|0,(c[E>>2]|0)+1&65535,0,s)|0;if(!(c[G>>2]|0)){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;iv(W,X);i=Y;return}c[(c[H>>2]|0)+24+8>>2]=c[G>>2];c[c[G>>2]>>2]=34745;c[(c[G>>2]|0)+12>>2]=c[I>>2];c[S>>2]=0;s=B;c[s>>2]=0;c[s+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;s=v;if(iE(c[J>>2]|0,c[u>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[z>>2]=c[(c[J>>2]|0)+28>>2];if((c[z>>2]|0)>=64){j=0;k=-2147483648}else{j=WR(1,0,c[z>>2]|0)|0;k=C}r=w;c[r>>2]=j;c[r+4>>2]=k;r=B;s=w;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[L>>2]=c[c[J>>2]>>2];q=w;p=B;r=c[p+4>>2]|c[q+4>>2];s=B;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[J>>2]|0)+28>>2];c[F>>2]=sB(c[N>>2]|0,c[(c[L>>2]|0)+12>>2]|0,c[(c[L>>2]|0)+16>>2]|0)|0;if(c[F>>2]|0)j=c[c[F>>2]>>2]|0;else j=34834;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=j;c[S>>2]=(c[S>>2]|0)+1}}c[J>>2]=(c[J>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;L=x;J=c[L>>2]|0;L=c[L+4>>2]|0;K=WR(1,0,c[y>>2]|0)|0;if((J&K|0)!=0|(L&C|0)!=0){b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34834;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break a;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34834;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34834;K=(c[N>>2]|0)+40|0;L=c[K>>2]|0;c[K>>2]=L+1;c[(c[O>>2]|0)+8>>2]=L;ix(c[X>>2]|0,106,c[(c[O>>2]|0)+8>>2]|0,(c[E>>2]|0)+1|0)|0;Vz(c[N>>2]|0,c[G>>2]|0);AA(c[N>>2]|0);c[U>>2]=(c[(c[c[t>>2]>>2]|0)+4>>2]|0)+8+((d[(c[O>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){c[M>>2]=c[(c[U>>2]|0)+28>>2];c[P>>2]=ix(c[X>>2]|0,76,0,0)|0;jx(c[X>>2]|0,15,c[M>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[R>>2]=Sz(c[X>>2]|0,16,c[M>>2]|0)|0}else c[R>>2]=Sz(c[X>>2]|0,57,c[(c[O>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[A>>2]=Wz(c[X>>2]|0)|0;iB(c[N>>2]|0,c[T>>2]|0,c[A>>2]|0,16);M=(c[H>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[W>>2]=vx(c[N>>2]|0)|0;c[V>>2]=oA(c[N>>2]|0,c[G>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[W>>2]|0,0,0,0,0)|0;ix(c[X>>2]|0,126,c[(c[O>>2]|0)+8>>2]|0,c[W>>2]|0)|0;Jh(c[X>>2]|0,16);if(c[T>>2]|0)_z(c[X>>2]|0,c[A>>2]|0);j=c[X>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){dA(j,c[P>>2]|0,(c[V>>2]|0)+(c[S>>2]|0)|0);sD(c[X>>2]|0,c[R>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);Yz(c[X>>2]|0,c[R>>2]|0)|0;V=(c[U>>2]|0)+36+1|0;a[V>>0]=a[V>>0]&-17}else ix(j,7,c[(c[O>>2]|0)+4>>2]|0,(c[R>>2]|0)+1|0)|0;Jh(c[X>>2]|0,3);Zz(c[X>>2]|0,c[R>>2]|0);xx(c[N>>2]|0,c[W>>2]|0);yA(c[N>>2]|0);Zz(c[X>>2]|0,c[Q>>2]|0);W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;iv(W,X);i=Y;return}function MD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;m=O+140|0;n=O+136|0;o=O+132|0;t=O+128|0;u=O+124|0;p=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;q=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;r=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[p>>1]=l;c[B>>2]=0;do if((d[(c[m>>2]|0)+409>>0]|0|0)==2){c[z>>2]=(c[n>>2]|0)+8+((d[(c[o>>2]|0)+44>>0]|0)*72|0);c[D>>2]=c[(c[m>>2]|0)+8>>2];c[q>>2]=c[c[m>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+420>>2];c[A>>2]=c[(c[o>>2]|0)+64>>2];c[v>>2]=c[(c[A>>2]|0)+36>>2];if((c[v>>2]&8192|0)==0?((e[p>>1]|0)&32|0)==0:0){do if(c[v>>2]&48)m=1;else{if((c[v>>2]&1024|0)==0?(e[(c[A>>2]|0)+24>>1]|0|0)>0:0){m=1;break}m=((e[p>>1]|0)&3|0)!=0}while(0);c[x>>2]=m&1;dg(C,c[q>>2]|0,r,100,1e9);dE(C,(c[x>>2]|0)!=0?34452:34459);m=c[z>>2]|0;if(c[(c[z>>2]|0)+20>>2]|0){c[E>>2]=d[m+40>>0];rA(C,34464,E)}else{c[F>>2]=c[m+8>>2];rA(C,34477,F)}if(c[(c[z>>2]|0)+12>>2]|0){c[I>>2]=c[(c[z>>2]|0)+12>>2];rA(C,34487,I)}do if(!(c[v>>2]&1280)){c[K>>2]=0;c[y>>2]=c[(c[A>>2]|0)+24+8>>2];if(((d[(c[(c[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[y>>2]|0)+55>>0]&3|0)==2:0){if(c[x>>2]|0)c[K>>2]=34494}else N=19;do if((N|0)==19){if(c[v>>2]&131072){c[K>>2]=34506;break}if(c[v>>2]&16384){c[K>>2]=34539;break}if(c[v>>2]&64){c[K>>2]=34564;break}else{c[K>>2]=34582;break}}while(0);if(c[K>>2]|0){sA(C,34591,7);N=c[K>>2]|0;c[J>>2]=c[c[y>>2]>>2];rA(C,N,J);eE(C,c[A>>2]|0)}}else{if((c[v>>2]&256|0)!=0?(c[v>>2]&15|0)!=0:0){do if(!(c[v>>2]&5)){if((c[v>>2]&48|0)==48){c[M>>2]=34601;break}if(c[v>>2]&32){c[M>>2]=34615;break}else{c[M>>2]=34617;break}}else c[M>>2]=34599;while(0);c[G>>2]=c[M>>2];rA(C,34619,G);break}if(c[v>>2]&1024){N=c[(c[A>>2]|0)+24+8>>2]|0;c[H>>2]=c[(c[A>>2]|0)+24>>2];c[H+4>>2]=N;rA(C,34657,H)}}while(0);c[L>>2]=fg(C)|0;c[B>>2]=mx(c[D>>2]|0,162,c[w>>2]|0,c[t>>2]|0,c[u>>2]|0,c[L>>2]|0,-1)|0;break}c[s>>2]=0;N=c[s>>2]|0;i=O;return N|0}while(0);c[s>>2]=c[B>>2];N=c[s>>2]|0;i=O;return N|0}function ND(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;hb=i;i=i+448|0;Sa=hb+8|0;Ta=hb+432|0;M=hb+428|0;Ua=hb;Xa=hb+424|0;Ra=hb+420|0;Wa=hb+416|0;ra=hb+412|0;za=hb+408|0;Pa=hb+404|0;$a=hb+400|0;Oa=hb+396|0;cb=hb+392|0;bb=hb+388|0;ab=hb+384|0;Qa=hb+380|0;fb=hb+376|0;H=hb+372|0;G=hb+368|0;Va=hb+364|0;Na=hb+360|0;o=hb+356|0;k=hb+352|0;n=hb+348|0;l=hb+344|0;q=hb+340|0;m=hb+336|0;p=hb+332|0;t=hb+328|0;r=hb+324|0;u=hb+320|0;s=hb+316|0;F=hb+312|0;E=hb+308|0;v=hb+304|0;y=hb+300|0;x=hb+296|0;z=hb+292|0;B=hb+288|0;D=hb+284|0;w=hb+280|0;A=hb+276|0;xa=hb+442|0;va=hb+440|0;ya=hb+438|0;Ha=hb+272|0;Ea=hb+268|0;Da=hb+264|0;Ia=hb+260|0;ua=hb+256|0;Ja=hb+252|0;wa=hb+248|0;Ba=hb+244|0;Ma=hb+240|0;I=hb+236|0;Aa=hb+232|0;La=hb+228|0;Ka=hb+224|0;sa=hb+447|0;ta=hb+446|0;J=hb+220|0;K=hb+445|0;L=hb+444|0;Fa=hb+216|0;Ga=hb+212|0;Ca=hb+208|0;ea=hb+204|0;ca=hb+200|0;$=hb+196|0;P=hb+192|0;la=hb+188|0;na=hb+184|0;ma=hb+180|0;Q=hb+176|0;S=hb+172|0;oa=hb+168|0;V=hb+164|0;pa=hb+436|0;_=hb+160|0;ja=hb+156|0;X=hb+152|0;Z=hb+148|0;ga=hb+144|0;U=hb+140|0;aa=hb+136|0;da=hb+132|0;ia=hb+128|0;ba=hb+124|0;W=hb+120|0;ha=hb+116|0;N=hb+112|0;ka=hb+108|0;T=hb+104|0;fa=hb+100|0;Y=hb+96|0;R=hb+92|0;O=hb+88|0;Za=hb+84|0;eb=hb+80|0;gb=hb+76|0;_a=hb+72|0;db=hb+24|0;Ya=hb+16|0;c[Ta>>2]=f;c[M>>2]=g;g=Ua;c[g>>2]=h;c[g+4>>2]=j;c[Na>>2]=0;c[o>>2]=0;c[ab>>2]=c[c[Ta>>2]>>2];c[fb>>2]=c[(c[ab>>2]|0)+8>>2];c[cb>>2]=(c[Ta>>2]|0)+80;c[Qa>>2]=c[c[ab>>2]>>2];c[$a>>2]=(c[Ta>>2]|0)+752+((c[M>>2]|0)*80|0);c[Oa>>2]=c[(c[$a>>2]|0)+64>>2];c[H>>2]=(c[(c[Ta>>2]|0)+4>>2]|0)+8+((d[(c[$a>>2]|0)+44>>0]|0)*72|0);c[Wa>>2]=c[(c[H>>2]|0)+44>>2];g=Ua;h=c[g>>2]|0;g=c[g+4>>2]|0;j=OD((c[Ta>>2]|0)+488|0,c[Wa>>2]|0)|0;f=(c[$a>>2]|0)+72|0;c[f>>2]=h&~j;c[f+4>>2]=g&~C;f=(c[Ta>>2]|0)+64|0;f=SR(c[f>>2]|0,c[f+4>>2]|0,c[M>>2]|0)|0;c[Pa>>2]=f&1;if(c[(c[Oa>>2]|0)+36>>2]&64)h=(e[(c[Ta>>2]|0)+40>>1]&32|0)==0;else h=0;c[za>>2]=h&1;f=Wz(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+16>>2]=f;c[(c[$a>>2]|0)+12>>2]=f;c[G>>2]=f;f=Wz(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+24>>2]=f;c[Va>>2]=f;if((d[(c[$a>>2]|0)+44>>0]|0)>0?(d[(c[H>>2]|0)+36>>0]&8|0)!=0:0){g=(c[ab>>2]|0)+44|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[$a>>2]>>2]=f;ix(c[fb>>2]|0,76,0,c[c[$a>>2]>>2]|0)|0}do if((d[(c[H>>2]|0)+36+1>>0]|0)>>>4&1){c[k>>2]=c[(c[H>>2]|0)+28>>2];jx(c[fb>>2]|0,15,c[k>>2]|0,0,c[(c[H>>2]|0)+24>>2]|0)|0;Ra=ix(c[fb>>2]|0,16,c[k>>2]|0,c[G>>2]|0)|0;c[(c[$a>>2]|0)+52>>2]=Ra;a[(c[$a>>2]|0)+45>>0]=13}else{h=c[Oa>>2]|0;if(c[(c[Oa>>2]|0)+36>>2]&1024){c[q>>2]=e[h+40>>1];AA(c[ab>>2]|0);c[n>>2]=CA(c[ab>>2]|0,(c[q>>2]|0)+2|0)|0;c[l>>2]=c[(c[$a>>2]|0)+12>>2];c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=(c[n>>2]|0)+(c[Xa>>2]|0)+2;c[bb>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(c[Xa>>2]<<2)>>2];do if(c[bb>>2]|0)if(e[(c[bb>>2]|0)+12>>1]&1){PD(c[ab>>2]|0,c[bb>>2]|0,c[$a>>2]|0,c[Xa>>2]|0,c[Pa>>2]|0,c[p>>2]|0)|0;c[l>>2]=c[(c[$a>>2]|0)+16>>2];break}else{c[t>>2]=c[(c[c[bb>>2]>>2]|0)+16>>2];QD(c[ab>>2]|0,c[t>>2]|0,c[p>>2]|0,1);break}while(0);c[Xa>>2]=(c[Xa>>2]|0)+1}ix(c[fb>>2]|0,76,c[(c[Oa>>2]|0)+24>>2]|0,c[n>>2]|0)|0;ix(c[fb>>2]|0,76,c[q>>2]|0,(c[n>>2]|0)+1|0)|0;mx(c[fb>>2]|0,11,c[Wa>>2]|0,c[l>>2]|0,c[n>>2]|0,c[(c[Oa>>2]|0)+24+8>>2]|0,(d[(c[Oa>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;a[(c[Oa>>2]|0)+24+4>>0]=0;c[(c[$a>>2]|0)+48>>2]=c[Wa>>2];a[(c[$a>>2]|0)+45>>0]=(d[(c[Ta>>2]|0)+45>>0]|0)!=0?161:70;Ra=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+52>>2]=Ra;c[m>>2]=c[(c[$a>>2]|0)+56>>2];c[Xa>>2]=(c[q>>2]|0)-1;while(1){if((c[Xa>>2]|0)<0)break;c[bb>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(c[Xa>>2]<<2)>>2];if((c[Xa>>2]|0)<16?(e[(c[Oa>>2]|0)+24+6>>1]>>c[Xa>>2]&1|0)!=0:0)RD(c[$a>>2]|0,c[bb>>2]|0);else qa=21;if((qa|0)==21?(qa=0,(e[(c[bb>>2]|0)+12>>1]&1|0)!=0):0){if(!(a[(c[Qa>>2]|0)+69>>0]|0)){Pa=c[fb>>2]|0;Ra=(c[m>>2]|0)+-1|0;c[m>>2]=Ra;c[s>>2]=eA(Pa,c[(c[(c[$a>>2]|0)+56+4>>2]|0)+(Ra*12|0)+4>>2]|0)|0;jx(c[fb>>2]|0,d[c[s>>2]>>0]|0,c[(c[s>>2]|0)+4>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+12>>2]|0)|0}c[r>>2]=Ev(c[ab>>2]|0,37,0,0,0)|0;if(c[r>>2]|0){c[(c[r>>2]|0)+12>>2]=c[(c[c[bb>>2]>>2]|0)+12>>2];Ra=Wv(c[Qa>>2]|0,157,0)|0;c[u>>2]=Ra;c[(c[r>>2]|0)+16>>2]=Ra;if(c[u>>2]|0){c[(c[u>>2]|0)+28>>2]=(c[n>>2]|0)+(c[Xa>>2]|0)+2;iB(c[ab>>2]|0,c[r>>2]|0,c[(c[$a>>2]|0)+24>>2]|0,0)}c[(c[r>>2]|0)+12>>2]=0;iv(c[Qa>>2]|0,c[r>>2]|0)}}c[Xa>>2]=(c[Xa>>2]|0)+-1}yA(c[ab>>2]|0);break}if((c[h+36>>2]&256|0)!=0?(c[(c[Oa>>2]|0)+36>>2]&5|0)!=0:0){c[bb>>2]=c[c[(c[Oa>>2]|0)+48>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[o>>2]=Ra;c[Na>>2]=PD(c[ab>>2]|0,c[bb>>2]|0,c[$a>>2]|0,0,c[Pa>>2]|0,c[o>>2]|0)|0;if((c[Na>>2]|0)!=(c[o>>2]|0))xx(c[ab>>2]|0,c[o>>2]|0);c[ra>>2]=c[(c[$a>>2]|0)+16>>2];jx(c[fb>>2]|0,32,c[Wa>>2]|0,c[ra>>2]|0,c[Na>>2]|0)|0;WA(c[ab>>2]|0,c[Na>>2]|0,1);GB(c[ab>>2]|0,c[Wa>>2]|0,-1,c[Na>>2]|0);a[(c[$a>>2]|0)+45>>0]=-95;break}if((c[(c[Oa>>2]|0)+36>>2]&256|0)!=0?(c[(c[Oa>>2]|0)+36>>2]&2|0)!=0:0){c[F>>2]=161;c[v>>2]=0;c[Xa>>2]=0;c[x>>2]=0;c[y>>2]=0;if(c[(c[Oa>>2]|0)+36>>2]&32){Ra=c[Xa>>2]|0;c[Xa>>2]=Ra+1;c[y>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(Ra<<2)>>2]}if(c[(c[Oa>>2]|0)+36>>2]&16){Ra=c[Xa>>2]|0;c[Xa>>2]=Ra+1;c[x>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(Ra<<2)>>2]}if(c[Pa>>2]|0){c[bb>>2]=c[y>>2];c[y>>2]=c[x>>2];c[x>>2]=c[bb>>2]}if(c[y>>2]|0){c[z>>2]=c[c[y>>2]>>2];Ra=(XA(c[(c[z>>2]|0)+16>>2]|0)|0)!=0;h=c[ab>>2]|0;if(Ra){Ra=vx(h)|0;c[D>>2]=Ra;c[B>>2]=Ra;QD(c[ab>>2]|0,c[(c[z>>2]|0)+16>>2]|0,c[B>>2]|0,1);c[w>>2]=d[34432+((d[c[z>>2]>>0]|0)-38|1)>>0]}else{c[B>>2]=ZA(h,c[(c[z>>2]|0)+16>>2]|0,D)|0;RD(c[$a>>2]|0,c[y>>2]|0);c[w>>2]=d[34432+((d[c[z>>2]>>0]|0)-38)>>0]}jx(c[fb>>2]|0,c[w>>2]|0,c[Wa>>2]|0,c[G>>2]|0,c[B>>2]|0)|0;WA(c[ab>>2]|0,c[B>>2]|0,1);xx(c[ab>>2]|0,c[D>>2]|0)}else ix(c[fb>>2]|0,(c[Pa>>2]|0)!=0?53:57,c[Wa>>2]|0,c[G>>2]|0)|0;if(c[x>>2]|0){c[A>>2]=c[c[x>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[v>>2]=Ra;QD(c[ab>>2]|0,c[(c[A>>2]|0)+16>>2]|0,c[v>>2]|0,1);do if(!(XA(c[(c[A>>2]|0)+16>>2]|0)|0)){if((d[c[A>>2]>>0]|0)!=40?(d[c[A>>2]>>0]|0)!=38:0){qa=54;break}c[F>>2]=(c[Pa>>2]|0)!=0?39:41}else qa=54;while(0);if((qa|0)==54)c[F>>2]=(c[Pa>>2]|0)!=0?40:38;if(!(XA(c[(c[A>>2]|0)+16>>2]|0)|0))RD(c[$a>>2]|0,c[x>>2]|0)}c[E>>2]=wx(c[fb>>2]|0)|0;a[(c[$a>>2]|0)+45>>0]=(c[Pa>>2]|0)!=0?6:7;c[(c[$a>>2]|0)+48>>2]=c[Wa>>2];c[(c[$a>>2]|0)+52>>2]=c[E>>2];if((c[F>>2]|0)==161)break;Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Na>>2]=Ra;ix(c[fb>>2]|0,123,c[Wa>>2]|0,c[Na>>2]|0)|0;GB(c[ab>>2]|0,c[Wa>>2]|0,-1,c[Na>>2]|0);jx(c[fb>>2]|0,c[F>>2]|0,c[v>>2]|0,c[G>>2]|0,c[Na>>2]|0)|0;Jh(c[fb>>2]|0,83);break}h=c[Oa>>2]|0;if(!(c[(c[Oa>>2]|0)+36>>2]&512)){if(!(c[h+36>>2]&8192))if((d[(c[H>>2]|0)+36+1>>0]|0)>>>5&1){a[(c[$a>>2]|0)+45>>0]=-95;break}else{a[(c[$a>>2]|0)+45>>0]=a[34448+(c[Pa>>2]|0)>>0]|0;c[(c[$a>>2]|0)+48>>2]=c[Wa>>2];Ra=1+(ix(c[fb>>2]|0,d[34450+(c[Pa>>2]|0)>>0]|0,c[Wa>>2]|0,c[G>>2]|0)|0)|0;c[(c[$a>>2]|0)+52>>2]=Ra;a[(c[$a>>2]|0)+47>>0]=1;break}c[$>>2]=0;h=(c[ab>>2]|0)+40|0;Pa=c[h>>2]|0;c[h>>2]=Pa+1;c[P>>2]=Pa;Pa=(c[ab>>2]|0)+44|0;h=(c[Pa>>2]|0)+1|0;c[Pa>>2]=h;c[la>>2]=h;c[na>>2]=0;c[ma>>2]=0;c[Q>>2]=Wz(c[fb>>2]|0)|0;c[oa>>2]=0;c[_>>2]=0;c[ja>>2]=c[(c[H>>2]|0)+16>>2];c[bb>>2]=c[c[(c[Oa>>2]|0)+48>>2]>>2];c[ea>>2]=c[(c[bb>>2]|0)+28>>2];a[(c[$a>>2]|0)+45>>0]=72;c[(c[$a>>2]|0)+48>>2]=c[la>>2];h=c[Ta>>2]|0;a:do if((d[(c[Ta>>2]|0)+42>>0]|0)>1){c[X>>2]=(d[h+42>>0]|0)-(c[M>>2]|0)-1;c[ca>>2]=Ch(c[Qa>>2]|0,80+((c[X>>2]|0)*72|0)|0,0)|0;if(!(c[ca>>2]|0)){eb=Ua;gb=c[eb+4>>2]|0;fb=Sa;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=Sa;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;C=fb;i=hb;return gb|0}c[(c[ca>>2]|0)+4>>2]=(c[X>>2]|0)+1&255;c[c[ca>>2]>>2]=c[(c[ca>>2]|0)+4>>2];g=(c[ca>>2]|0)+8|0;h=c[H>>2]|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[Z>>2]=(c[(c[Ta>>2]|0)+4>>2]|0)+8;c[Ra>>2]=1;while(1){if((c[Ra>>2]|0)>(c[X>>2]|0))break a;g=(c[ca>>2]|0)+8+((c[Ra>>2]|0)*72|0)|0;h=(c[Z>>2]|0)+((d[(c[$a>>2]|0)+((c[Ra>>2]|0)*80|0)+44>>0]|0)*72|0)|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[Ra>>2]=(c[Ra>>2]|0)+1}}else c[ca>>2]=c[h+4>>2];while(0);if(!(e[(c[Ta>>2]|0)+40>>1]&16)){if(!(d[(c[ja>>2]|0)+42>>0]&32)){Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[na>>2]=Ra;ix(c[fb>>2]|0,79,0,c[na>>2]|0)|0}else{c[ga>>2]=Jj(c[ja>>2]|0)|0;Pa=(c[ab>>2]|0)+40|0;Ra=c[Pa>>2]|0;c[Pa>>2]=Ra+1;c[na>>2]=Ra;ix(c[fb>>2]|0,107,c[na>>2]|0,e[(c[ga>>2]|0)+50>>1]|0)|0;Vz(c[ab>>2]|0,c[ga>>2]|0)}Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[ma>>2]=Ra}c[S>>2]=ix(c[fb>>2]|0,76,0,c[la>>2]|0)|0;if((c[(c[cb>>2]|0)+12>>2]|0)>1){c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[(c[cb>>2]|0)+12>>2]|0))break;c[aa>>2]=c[(c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)>>2];do if((((c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)|0)!=(c[bb>>2]|0)?(c[(c[aa>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)+10>>1]&6|0)==0:0){if(!(e[(c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)+12>>1]&8191))break;c[aa>>2]=Iy(c[Qa>>2]|0,c[aa>>2]|0,0)|0;c[_>>2]=wz(c[Qa>>2]|0,c[_>>2]|0,c[aa>>2]|0)|0}while(0);c[U>>2]=(c[U>>2]|0)+1}if(c[_>>2]|0)c[_>>2]=Ev(c[ab>>2]|0,284,0,c[_>>2]|0,0)|0}b[pa>>1]=32|e[(c[Ta>>2]|0)+40>>1]&1024;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[ea>>2]|0)+12>>2]|0))break;c[da>>2]=(c[(c[ea>>2]|0)+20>>2]|0)+((c[V>>2]|0)*48|0);if(!((c[(c[da>>2]|0)+20>>2]|0)!=(c[Wa>>2]|0)?(e[(c[da>>2]|0)+12>>1]&1024|0)==0:0)){c[ba>>2]=c[c[da>>2]>>2];c[W>>2]=0;if((c[_>>2]|0)!=0?(c[(c[ba>>2]|0)+4>>2]&1|0)==0:0){c[(c[_>>2]|0)+12>>2]=c[ba>>2];c[ba>>2]=c[_>>2]}c[ia>>2]=qD(c[ab>>2]|0,c[ca>>2]|0,c[ba>>2]|0,0,0,b[pa>>1]|0,c[P>>2]|0)|0;if(c[ia>>2]|0){c[N>>2]=MD(c[ab>>2]|0,c[ca>>2]|0,(c[ia>>2]|0)+752|0,c[M>>2]|0,d[(c[$a>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[Ta>>2]|0)+40>>1]&16)){c[T>>2]=(c[V>>2]|0)==((c[(c[ea>>2]|0)+12>>2]|0)-1|0)?-1:c[V>>2]|0;if(!(d[(c[ja>>2]|0)+42>>0]&32)){c[ka>>2]=TA(c[ab>>2]|0,c[ja>>2]|0,-1,c[Wa>>2]|0,c[ma>>2]|0,0)|0;c[W>>2]=Ih(c[fb>>2]|0,63,c[na>>2]|0,0,c[ka>>2]|0,c[T>>2]|0)|0;break}c[fa>>2]=Jj(c[ja>>2]|0)|0;c[Y>>2]=e[(c[fa>>2]|0)+50>>1];c[ka>>2]=CA(c[ab>>2]|0,c[Y>>2]|0)|0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[Y>>2]|0))break;c[O>>2]=b[(c[(c[fa>>2]|0)+4>>2]|0)+(c[R>>2]<<1)>>1];XD(c[ab>>2]|0,c[ja>>2]|0,c[O>>2]|0,c[Wa>>2]|0,(c[ka>>2]|0)+(c[R>>2]|0)|0);c[R>>2]=(c[R>>2]|0)+1}if(c[T>>2]|0)c[W>>2]=Ih(c[fb>>2]|0,31,c[na>>2]|0,0,c[ka>>2]|0,c[Y>>2]|0)|0;do if((c[T>>2]|0)>=0){jx(c[fb>>2]|0,99,c[ka>>2]|0,c[Y>>2]|0,c[ma>>2]|0)|0;jx(c[fb>>2]|0,126,c[na>>2]|0,c[ma>>2]|0,0)|0;if(!(c[T>>2]|0))break;Jh(c[fb>>2]|0,16)}while(0);FA(c[ab>>2]|0,c[ka>>2]|0,c[Y>>2]|0)}while(0);ix(c[fb>>2]|0,14,c[la>>2]|0,c[Q>>2]|0)|0;if(c[W>>2]|0)Zz(c[fb>>2]|0,c[W>>2]|0);if(a[(c[ia>>2]|0)+46>>0]|0)c[oa>>2]=1;c[ha>>2]=c[(c[ia>>2]|0)+752+64>>2];do if(c[(c[ha>>2]|0)+36>>2]&512){if((c[V>>2]|0)!=0?(c[(c[ha>>2]|0)+24+8>>2]|0)!=(c[$>>2]|0):0){qa=193;break}if((d[(c[ja>>2]|0)+42>>0]&32|0)!=0?(a[(c[(c[ha>>2]|0)+24+8>>2]|0)+55>>0]&3|0)==2:0){qa=193;break}c[$>>2]=c[(c[ha>>2]|0)+24+8>>2]}else qa=193;while(0);if((qa|0)==193){qa=0;c[$>>2]=0}rD(c[ia>>2]|0)}}c[V>>2]=(c[V>>2]|0)+1}c[(c[$a>>2]|0)+56>>2]=c[$>>2];if(c[$>>2]|0)c[(c[$a>>2]|0)+8>>2]=c[P>>2];if(c[_>>2]|0){c[(c[_>>2]|0)+12>>2]=0;iv(c[Qa>>2]|0,c[_>>2]|0)}Pa=c[fb>>2]|0;Ra=c[S>>2]|0;YD(Pa,Ra,wx(c[fb>>2]|0)|0);Yz(c[fb>>2]|0,c[(c[$a>>2]|0)+12>>2]|0)|0;_z(c[fb>>2]|0,c[Q>>2]|0);if((d[(c[Ta>>2]|0)+42>>0]|0)>1)Tf(c[Qa>>2]|0,c[ca>>2]|0);if(c[oa>>2]|0)break;RD(c[$a>>2]|0,c[bb>>2]|0);break}b[xa>>1]=b[h+24>>1]|0;b[va>>1]=b[(c[Oa>>2]|0)+24+2>>1]|0;b[ya>>1]=b[(c[Oa>>2]|0)+24+4>>1]|0;c[Ea>>2]=0;c[Da>>2]=0;c[I>>2]=0;c[Ka>>2]=0;a[sa>>0]=0;a[ta>>0]=0;c[Ba>>2]=c[(c[Oa>>2]|0)+24+8>>2];c[Ma>>2]=c[(c[$a>>2]|0)+8>>2];if(((e[(c[Ta>>2]|0)+40>>1]&1|0)!=0?(a[(c[Ta>>2]|0)+43>>0]|0)>0:0)?(e[(c[Ba>>2]|0)+50>>1]|0)>(e[xa>>1]|0):0){a[sa>>0]=1;c[I>>2]=1}c[Xa>>2]=e[xa>>1];if(c[(c[Oa>>2]|0)+36>>2]&32){qa=c[Xa>>2]|0;c[Xa>>2]=qa+1;c[Ea>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(qa<<2)>>2];if((c[I>>2]|0)>(e[(c[Oa>>2]|0)+24+2>>1]|0))h=c[I>>2]|0;else h=e[(c[Oa>>2]|0)+24+2>>1]|0;c[I>>2]=h}do if(c[(c[Oa>>2]|0)+36>>2]&16){qa=c[Xa>>2]|0;c[Xa>>2]=qa+1;c[Da>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(qa<<2)>>2];if((c[I>>2]|0)>(e[(c[Oa>>2]|0)+24+4>>1]|0))h=c[I>>2]|0;else h=e[(c[Oa>>2]|0)+24+4>>1]|0;c[I>>2]=h;if(e[(c[Da>>2]|0)+10>>1]&256){pa=(c[ab>>2]|0)+44|0;qa=(c[pa>>2]|0)+1|0;c[pa>>2]=qa;c[(c[$a>>2]|0)+36>>2]=qa;ix(c[fb>>2]|0,76,1,c[(c[$a>>2]|0)+36>>2]|0)|0;qa=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+40>>2]=qa;qa=(c[$a>>2]|0)+36|0;c[qa>>2]=c[qa>>2]<<1;qa=(c[$a>>2]|0)+36|0;c[qa>>2]=c[qa>>2]|c[Pa>>2]^(d[(c[(c[Ba>>2]|0)+28>>2]|0)+(e[xa>>1]|0)>>0]|0)==1}if(!(c[Ea>>2]|0)){c[Xa>>2]=b[(c[(c[Ba>>2]|0)+4>>2]|0)+(e[xa>>1]<<1)>>1];h=c[Xa>>2]|0;if((c[Xa>>2]|0)>=0){if(!((c[Xa>>2]|0)==-2?1:(d[(c[(c[(c[Ba>>2]|0)+12>>2]|0)+4>>2]|0)+(h<<4)+12>>0]|0)==0))break}else if((h|0)!=-2)break;a[sa>>0]=1}}while(0);if((e[xa>>1]|0)<(e[(c[Ba>>2]|0)+50>>1]|0)?(c[Pa>>2]|0)==((d[(c[(c[Ba>>2]|0)+28>>2]|0)+(e[xa>>1]|0)>>0]|0)==0|0):0)qa=84;else qa=82;if(((qa|0)==82?(c[Pa>>2]|0)!=0:0)?(e[(c[Ba>>2]|0)+50>>1]|0)==(e[xa>>1]|0):0)qa=84;if((qa|0)==84){c[J>>2]=c[Da>>2];c[Da>>2]=c[Ea>>2];c[Ea>>2]=c[J>>2];a[K>>0]=a[sa>>0]|0;a[sa>>0]=a[ta>>0]|0;a[ta>>0]=a[K>>0]|0;a[L>>0]=b[va>>1];b[va>>1]=b[ya>>1]|0;b[ya>>1]=d[L>>0]|0}c[Ha>>2]=SD(c[ab>>2]|0,c[$a>>2]|0,c[Pa>>2]|0,c[I>>2]|0,La)|0;if((c[La>>2]|0)!=0?(e[ya>>1]|0)!=0:0)c[Ka>>2]=qh(c[Qa>>2]|0,(c[La>>2]|0)+(e[xa>>1]|0)|0)|0;c[ra>>2]=c[(c[$a>>2]|0)+16>>2];if(c[Ea>>2]|0)h=(e[(c[Ea>>2]|0)+12>>1]&40|0)!=0;else h=1;c[Ia>>2]=h&1;if(c[Da>>2]|0)h=(e[(c[Da>>2]|0)+12>>1]&40|0)!=0;else h=1;c[ua>>2]=h&1;if(c[Ea>>2]|0)h=1;else h=(e[xa>>1]|0)>0;c[Ja>>2]=h&1;c[wa>>2]=e[xa>>1];if(!(c[Ea>>2]|0)){if(a[sa>>0]|0){ix(c[fb>>2]|0,79,0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;c[Ia>>2]=0;c[Ja>>2]=1}}else{c[Fa>>2]=c[(c[c[Ea>>2]>>2]|0)+16>>2];QD(c[ab>>2]|0,c[Fa>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,e[va>>1]|0);TD(c[fb>>2]|0,c[$a>>2]|0,c[Ea>>2]|0);do if(!(e[(c[Ea>>2]|0)+10>>1]&0)){if(!(oB(c[Fa>>2]|0)|0))break;ix(c[fb>>2]|0,34,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,c[ra>>2]|0)|0}while(0);if(c[La>>2]|0)UD(c[Fa>>2]|0,e[va>>1]|0,(c[La>>2]|0)+(e[xa>>1]|0)|0);c[wa>>2]=(c[wa>>2]|0)+(e[va>>1]|0);if(!(XA(c[Fa>>2]|0)|0))RD(c[$a>>2]|0,c[Ea>>2]|0);else c[Ia>>2]=1;a[sa>>0]=0}VD(c[ab>>2]|0,c[Ha>>2]|0,(c[wa>>2]|0)-(d[sa>>0]|0)|0,c[La>>2]|0);if(!((e[(c[Oa>>2]|0)+42>>1]|0)>0?(c[wa>>2]|0)==(e[(c[Oa>>2]|0)+42>>1]|0):0)){c[Aa>>2]=d[34436+((c[Ja>>2]<<2)+(c[Ia>>2]<<1)+(c[Pa>>2]|0))>>0];Ih(c[fb>>2]|0,c[Aa>>2]|0,c[Ma>>2]|0,c[ra>>2]|0,c[Ha>>2]|0,c[wa>>2]|0)|0}c[wa>>2]=e[xa>>1];do if(c[Da>>2]|0){c[Ga>>2]=c[(c[c[Da>>2]>>2]|0)+16>>2];GA(c[ab>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,1);QD(c[ab>>2]|0,c[Ga>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,e[ya>>1]|0);TD(c[fb>>2]|0,c[$a>>2]|0,c[Da>>2]|0);do if(!(e[(c[Da>>2]|0)+10>>1]&0)){if(!(oB(c[Ga>>2]|0)|0))break;ix(c[fb>>2]|0,34,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,c[ra>>2]|0)|0}while(0);if(c[Ka>>2]|0){UD(c[Ga>>2]|0,e[ya>>1]|0,c[Ka>>2]|0);VD(c[ab>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,e[ya>>1]|0,c[Ka>>2]|0)}c[wa>>2]=(c[wa>>2]|0)+(e[ya>>1]|0);if(!(XA(c[Ga>>2]|0)|0)){RD(c[$a>>2]|0,c[Da>>2]|0);break}else{c[ua>>2]=1;break}}else{if(!(a[ta>>0]|0))break;ix(c[fb>>2]|0,79,0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0)|0;c[ua>>2]=0;c[wa>>2]=(c[wa>>2]|0)+1}while(0);Tf(c[Qa>>2]|0,c[La>>2]|0);Tf(c[Qa>>2]|0,c[Ka>>2]|0);Qa=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+52>>2]=Qa;if(c[wa>>2]|0){c[Aa>>2]=d[34444+((c[Pa>>2]<<1)+(c[ua>>2]|0))>>0];Ih(c[fb>>2]|0,c[Aa>>2]|0,c[Ma>>2]|0,c[ra>>2]|0,c[Ha>>2]|0,c[wa>>2]|0)|0}do if(!(c[za>>2]|0)){if(!(d[(c[(c[Ba>>2]|0)+12>>2]|0)+42>>0]&32))if(e[(c[Ta>>2]|0)+40>>1]&1024){Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Na>>2]=Ra;ix(c[fb>>2]|0,129,c[Ma>>2]|0,c[Na>>2]|0)|0;GB(c[ab>>2]|0,c[Wa>>2]|0,-1,c[Na>>2]|0);jx(c[fb>>2]|0,33,c[Wa>>2]|0,0,c[Na>>2]|0)|0;break}else{WD(c[Ta>>2]|0,c[Ba>>2]|0,c[Wa>>2]|0,c[Ma>>2]|0);break}if((c[Wa>>2]|0)==(c[Ma>>2]|0))break;c[Ca>>2]=Jj(c[(c[Ba>>2]|0)+12>>2]|0)|0;c[Na>>2]=CA(c[ab>>2]|0,e[(c[Ca>>2]|0)+50>>1]|0)|0;c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(e[(c[Ca>>2]|0)+50>>1]|0))break;c[Ra>>2]=(OA(c[Ba>>2]|0,b[(c[(c[Ca>>2]|0)+4>>2]|0)+(c[Xa>>2]<<1)>>1]|0)|0)<<16>>16;jx(c[fb>>2]|0,96,c[Ma>>2]|0,c[Ra>>2]|0,(c[Na>>2]|0)+(c[Xa>>2]|0)|0)|0;c[Xa>>2]=(c[Xa>>2]|0)+1}Ih(c[fb>>2]|0,30,c[Wa>>2]|0,c[Va>>2]|0,c[Na>>2]|0,e[(c[Ca>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[Oa>>2]|0)+36>>2]&4096)){h=(c[$a>>2]|0)+45|0;if(c[Pa>>2]|0){a[h>>0]=6;break}else{a[h>>0]=7;break}}else a[(c[$a>>2]|0)+45>>0]=-95;while(0);c[(c[$a>>2]|0)+48>>2]=c[Ma>>2];a[(c[$a>>2]|0)+46>>0]=(c[(c[Oa>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[Oa>>2]|0)+36>>2]&15)break;a[(c[$a>>2]|0)+47>>0]=1}while(0);c[bb>>2]=c[(c[cb>>2]|0)+20>>2];c[Xa>>2]=c[(c[cb>>2]|0)+12>>2];while(1){if((c[Xa>>2]|0)<=0)break;c[eb>>2]=0;do if(!(e[(c[bb>>2]|0)+10>>1]&6)){Qa=(c[bb>>2]|0)+40|0;Ra=(c[$a>>2]|0)+72|0;if((c[Qa>>2]&c[Ra>>2]|0)!=0?1:(c[Qa+4>>2]&c[Ra+4>>2]|0)!=0){a[(c[Ta>>2]|0)+46>>0]=1;break}c[Za>>2]=c[c[bb>>2]>>2];if((c[c[$a>>2]>>2]|0)!=0?(c[(c[Za>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[bb>>2]|0)+10>>1]&512){c[gb>>2]=c[(c[$a>>2]|0)+36>>2];c[eb>>2]=Sz(c[fb>>2]|0,(c[gb>>2]&1|0)!=0?22:21,(c[gb>>2]|0)>>>1)|0}iB(c[ab>>2]|0,c[Za>>2]|0,c[Va>>2]|0,16);if(c[eb>>2]|0)Zz(c[fb>>2]|0,c[eb>>2]|0);Ra=(c[bb>>2]|0)+10|0;b[Ra>>1]=e[Ra>>1]|4}while(0);c[Xa>>2]=(c[Xa>>2]|0)+-1;c[bb>>2]=(c[bb>>2]|0)+48}c[bb>>2]=c[(c[cb>>2]|0)+20>>2];c[Xa>>2]=c[(c[cb>>2]|0)+12>>2];while(1){if((c[Xa>>2]|0)<=0)break;if(((((((e[(c[bb>>2]|0)+10>>1]&6|0)==0?(e[(c[bb>>2]|0)+12>>1]&130|0)!=0:0)?(e[(c[bb>>2]|0)+12>>1]&2048|0)!=0:0)?(c[(c[bb>>2]|0)+20>>2]|0)==(c[Wa>>2]|0):0)?(c[c[$a>>2]>>2]|0)==0:0)?(c[_a>>2]=c[c[bb>>2]>>2],gb=Ua,c[Ya>>2]=ZD(c[cb>>2]|0,c[Wa>>2]|0,c[(c[bb>>2]|0)+28>>2]|0,c[gb>>2]|0,c[gb+4>>2]|0,131,0)|0,(c[Ya>>2]|0)!=0):0)?(e[(c[Ya>>2]|0)+10>>1]&4|0)==0:0){g=db;h=c[c[Ya>>2]>>2]|0;j=g+48|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[db+12>>2]=c[(c[_a>>2]|0)+12>>2];iB(c[ab>>2]|0,db,c[Va>>2]|0,16)}c[Xa>>2]=(c[Xa>>2]|0)+-1;c[bb>>2]=(c[bb>>2]|0)+48}b:do if(c[c[$a>>2]>>2]|0){gb=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+28>>2]=gb;ix(c[fb>>2]|0,76,1,c[c[$a>>2]>>2]|0)|0;EC(c[ab>>2]|0);c[bb>>2]=c[(c[cb>>2]|0)+20>>2];c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(c[(c[cb>>2]|0)+12>>2]|0))break b;if((e[(c[bb>>2]|0)+10>>1]&6|0)==0?(fb=(c[bb>>2]|0)+40|0,gb=(c[$a>>2]|0)+72|0,!((c[fb>>2]&c[gb>>2]|0)!=0?1:(c[fb+4>>2]&c[gb+4>>2]|0)!=0)):0){iB(c[ab>>2]|0,c[c[bb>>2]>>2]|0,c[Va>>2]|0,16);gb=(c[bb>>2]|0)+10|0;b[gb>>1]=e[gb>>1]|4}c[Xa>>2]=(c[Xa>>2]|0)+1;c[bb>>2]=(c[bb>>2]|0)+48}}while(0);eb=(c[$a>>2]|0)+72|0;gb=c[eb+4>>2]|0;fb=Sa;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=Sa;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;C=fb;i=hb;return gb|0}function OD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){b=6;break}a=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){b=4;break}c[f>>2]=a+1}if((b|0)==4){e=WR(1,0,a|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=C;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}else if((b|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}return 0}function PD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=i;i=i+128|0;z=S+120|0;A=S+116|0;B=S+112|0;C=S+108|0;D=S+104|0;E=S+100|0;m=S+96|0;P=S+92|0;Q=S+88|0;L=S+84|0;G=S+80|0;M=S+76|0;N=S+72|0;O=S+68|0;H=S+64|0;s=S+60|0;F=S+56|0;y=S+52|0;n=S+48|0;w=S+44|0;v=S+40|0;x=S+36|0;u=S+32|0;o=S+28|0;q=S+24|0;p=S+20|0;t=S+16|0;r=S+12|0;J=S+8|0;K=S+4|0;I=S;c[A>>2]=f;c[B>>2]=g;c[C>>2]=h;c[D>>2]=j;c[E>>2]=k;c[m>>2]=l;c[P>>2]=c[c[B>>2]>>2];c[Q>>2]=c[(c[A>>2]|0)+8>>2];do if((d[c[P>>2]>>0]|0)!=37?(d[c[P>>2]>>0]|0)!=29:0){if((d[c[P>>2]>>0]|0)==34){c[L>>2]=c[m>>2];ix(c[Q>>2]|0,79,0,c[L>>2]|0)|0;break}c[G>>2]=5;c[O>>2]=c[(c[C>>2]|0)+64>>2];c[s>>2]=0;c[F>>2]=0;if(((c[(c[O>>2]|0)+36>>2]&1024|0)==0?(c[(c[O>>2]|0)+24+8>>2]|0)!=0:0)?(d[(c[(c[(c[O>>2]|0)+24+8>>2]|0)+28>>2]|0)+(c[D>>2]|0)>>0]|0)!=0:0)c[E>>2]=((c[E>>2]|0)!=0^1)&1;c[L>>2]=c[m>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[D>>2]|0))break;if((c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]|0)!=0?(c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0):0){R=14;break}c[H>>2]=(c[H>>2]|0)+1}if((R|0)==14){RD(c[C>>2]|0,c[B>>2]|0);c[z>>2]=c[m>>2];R=c[z>>2]|0;i=S;return R|0}c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>=(e[(c[O>>2]|0)+40>>1]|0))break;if((c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]|0)!=0?(c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0):0)c[s>>2]=(c[s>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}if((c[(c[P>>2]|0)+4>>2]&2048|0)!=0?(c[c[c[(c[P>>2]|0)+20>>2]>>2]>>2]|0)!=1:0){c[y>>2]=c[(c[P>>2]|0)+20>>2];c[n>>2]=c[c[A>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[v>>2]=c[(c[(c[P>>2]|0)+12>>2]|0)+20>>2];c[x>>2]=0;c[u>>2]=0;c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>=(e[(c[O>>2]|0)+40>>1]|0))break;if((c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0)){c[o>>2]=(c[(c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]|0)+24>>2]|0)-1;c[q>>2]=Iy(c[n>>2]|0,c[(c[(c[w>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[p>>2]=Iy(c[n>>2]|0,c[(c[(c[v>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[x>>2]=Tv(c[A>>2]|0,c[x>>2]|0,c[q>>2]|0)|0;c[u>>2]=Tv(c[A>>2]|0,c[u>>2]|0,c[p>>2]|0)|0}c[H>>2]=(c[H>>2]|0)+1}if(!(a[(c[n>>2]|0)+69>>0]|0)){c[t>>2]=c[(c[P>>2]|0)+12>>2];a:do if(c[(c[y>>2]|0)+44>>2]|0){c[r>>2]=c[(c[y>>2]|0)+44>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[c[r>>2]>>2]|0))break a;b[(c[(c[r>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)+16>>1]=0;c[H>>2]=(c[H>>2]|0)+1}}while(0);m=c[u>>2]|0;if((c[c[u>>2]>>2]|0)==1)c[(c[P>>2]|0)+12>>2]=c[c[m+4>>2]>>2];else{c[(c[t>>2]|0)+20>>2]=m;c[F>>2]=sh(c[c[A>>2]>>2]|0,c[s>>2]<<2,0)|0}c[c[y>>2]>>2]=c[x>>2];c[G>>2]=nB(c[A>>2]|0,c[P>>2]|0,4,0,c[F>>2]|0)|0;c[c[y>>2]>>2]=c[w>>2];c[(c[t>>2]|0)+20>>2]=c[v>>2];c[(c[P>>2]|0)+12>>2]=c[t>>2]}ev(c[c[A>>2]>>2]|0,c[u>>2]|0);ev(c[c[A>>2]>>2]|0,c[x>>2]|0)}else c[G>>2]=nB(c[A>>2]|0,c[P>>2]|0,4,0,0)|0;if((c[G>>2]|0)==4)c[E>>2]=((c[E>>2]|0)!=0^1)&1;c[M>>2]=c[(c[P>>2]|0)+28>>2];ix(c[Q>>2]|0,(c[E>>2]|0)!=0?53:57,c[M>>2]|0,0)|0;y=(c[O>>2]|0)+36|0;c[y>>2]=c[y>>2]|2048;if(!(c[(c[C>>2]|0)+56>>2]|0)){y=Wz(c[Q>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=y}c[H>>2]=c[(c[C>>2]|0)+56>>2];y=(c[C>>2]|0)+56|0;c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0);y=Px(c[c[A>>2]>>2]|0,c[(c[C>>2]|0)+56+4>>2]|0,(c[(c[C>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[C>>2]|0)+56+4>>2]=y;c[N>>2]=c[(c[C>>2]|0)+56+4>>2];b:do if(c[N>>2]|0){c[J>>2]=0;c[N>>2]=(c[N>>2]|0)+((c[H>>2]|0)*12|0);c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>=(e[(c[O>>2]|0)+40>>1]|0))break b;if((c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0)){c[K>>2]=(c[L>>2]|0)+(c[H>>2]|0)-(c[D>>2]|0);if((c[G>>2]|0)==1){y=ix(c[Q>>2]|0,123,c[M>>2]|0,c[K>>2]|0)|0;c[(c[N>>2]|0)+4>>2]=y}else{if(c[F>>2]|0){m=c[J>>2]|0;c[J>>2]=m+1;m=c[(c[F>>2]|0)+(m<<2)>>2]|0}else m=0;c[I>>2]=m;y=jx(c[Q>>2]|0,96,c[M>>2]|0,c[I>>2]|0,c[K>>2]|0)|0;c[(c[N>>2]|0)+4>>2]=y}Sz(c[Q>>2]|0,34,c[K>>2]|0)|0;if((c[H>>2]|0)==(c[D>>2]|0)){c[c[N>>2]>>2]=c[M>>2];a[(c[N>>2]|0)+8>>0]=(c[E>>2]|0)!=0?4:5}else a[(c[N>>2]|0)+8>>0]=-95;c[N>>2]=(c[N>>2]|0)+12}c[H>>2]=(c[H>>2]|0)+1}}else c[(c[C>>2]|0)+56>>2]=0;while(0);Tf(c[c[A>>2]>>2]|0,c[F>>2]|0)}else R=3;while(0);if((R|0)==3)c[L>>2]=SA(c[A>>2]|0,c[(c[P>>2]|0)+16>>2]|0,c[m>>2]|0)|0;RD(c[C>>2]|0,c[B>>2]|0);c[z>>2]=c[L>>2];R=c[z>>2]|0;i=S;return R|0}function QD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;l=o+8|0;k=o+4|0;m=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(XA(c[g>>2]|0)|0)){RA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=o;return}if(c[(c[g>>2]|0)+4>>2]&2048){c[n>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=dB(c[f>>2]|0,c[g>>2]|0,0,0)|0;jx(c[n>>2]|0,84,c[l>>2]|0,c[h>>2]|0,(c[j>>2]|0)-1|0)|0;i=o;return}c[m>>2]=c[(c[g>>2]|0)+20>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;RA(c[f>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,(c[h>>2]|0)+(c[k>>2]|0)|0);c[k>>2]=(c[k>>2]|0)+1}i=o;return}function RD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;c[k>>2]=0;while(1){if(!(c[j>>2]|0)){h=14;break}if((e[(c[j>>2]|0)+10>>1]|0)&4){h=14;break}if((c[c[h>>2]>>2]|0)!=0?(c[(c[c[j>>2]>>2]|0)+4>>2]&1|0)==0:0){h=14;break}f=(c[h>>2]|0)+72|0;g=(c[j>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){h=14;break}if((c[k>>2]|0)!=0?((e[(c[j>>2]|0)+10>>1]|0)&1024|0)!=0:0){g=(c[j>>2]|0)+10|0;b[g>>1]=e[g>>1]|0|512}else{g=(c[j>>2]|0)+10|0;b[g>>1]=e[g>>1]|0|4}if((c[(c[j>>2]|0)+16>>2]|0)<0){h=14;break}c[j>>2]=(c[(c[(c[j>>2]|0)+4>>2]|0)+20>>2]|0)+((c[(c[j>>2]|0)+16>>2]|0)*48|0);g=(c[j>>2]|0)+14|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[j>>2]|0)+14>>0]|0){h=14;break}c[k>>2]=(c[k>>2]|0)+1}if((h|0)==14){i=l;return}}function SD(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+80|0;m=A+60|0;n=A+56|0;o=A+52|0;C=A+48|0;p=A+44|0;r=A+66|0;l=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;q=A+24|0;x=A+20|0;s=A+16|0;z=A+12|0;k=A+8|0;w=A+4|0;u=A;c[m>>2]=d;c[n>>2]=f;c[o>>2]=g;c[C>>2]=h;c[p>>2]=j;c[y>>2]=c[(c[m>>2]|0)+8>>2];c[t>>2]=c[(c[n>>2]|0)+64>>2];b[r>>1]=b[(c[t>>2]|0)+24>>1]|0;b[l>>1]=b[(c[t>>2]|0)+42>>1]|0;c[B>>2]=c[(c[t>>2]|0)+24+8>>2];c[x>>2]=(c[(c[m>>2]|0)+44>>2]|0)+1;c[s>>2]=(e[(c[t>>2]|0)+24>>1]|0)+(c[C>>2]|0);j=(c[m>>2]|0)+44|0;c[j>>2]=(c[j>>2]|0)+(c[s>>2]|0);j=c[c[m>>2]>>2]|0;c[z>>2]=qh(j,CC(c[c[m>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[l>>1]|0){c[k>>2]=c[(c[n>>2]|0)+8>>2];Sz(c[y>>2]|0,(c[o>>2]|0)!=0?53:57,c[k>>2]|0)|0;c[q>>2]=fx(c[y>>2]|0,13)|0;C=Ih(c[y>>2]|0,(c[o>>2]|0)!=0?23:26,c[k>>2]|0,0,c[x>>2]|0,e[l>>1]|0)|0;c[(c[n>>2]|0)+20>>2]=C;Zz(c[y>>2]|0,c[q>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(e[l>>1]|0))break a;jx(c[y>>2]|0,96,c[k>>2]|0,c[q>>2]|0,(c[x>>2]|0)+(c[q>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+1}}while(0);c[q>>2]=e[l>>1];while(1){if((c[q>>2]|0)>=(e[r>>1]|0))break;c[v>>2]=c[(c[(c[t>>2]|0)+48>>2]|0)+(c[q>>2]<<2)>>2];c[w>>2]=PD(c[m>>2]|0,c[v>>2]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,(c[x>>2]|0)+(c[q>>2]|0)|0)|0;do if((c[w>>2]|0)!=((c[x>>2]|0)+(c[q>>2]|0)|0))if((c[s>>2]|0)==1){xx(c[m>>2]|0,c[x>>2]|0);c[x>>2]=c[w>>2];break}else{ix(c[y>>2]|0,85,c[w>>2]|0,(c[x>>2]|0)+(c[q>>2]|0)|0)|0;break}while(0);g=c[v>>2]|0;if(e[(c[v>>2]|0)+12>>1]&1){if((c[z>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&2048|0)!=0:0)a[(c[z>>2]|0)+(c[q>>2]|0)>>0]=65}else if(!(e[g+12>>1]&256)){c[u>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];if((e[(c[v>>2]|0)+10>>1]&2048|0)==0?(oB(c[u>>2]|0)|0)!=0:0)ix(c[y>>2]|0,34,(c[x>>2]|0)+(c[q>>2]|0)|0,c[(c[n>>2]|0)+12>>2]|0)|0;if(c[z>>2]|0){if(((rB(c[u>>2]|0,a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[z>>2]|0)+(c[q>>2]|0)>>0]=65;if(cE(c[u>>2]|0,a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)|0)a[(c[z>>2]|0)+(c[q>>2]|0)>>0]=65}}c[q>>2]=(c[q>>2]|0)+1}c[c[p>>2]>>2]=c[z>>2];i=A;return c[x>>2]|0}function TD(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;l=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[l>>2]=f;if(!((e[(c[l>>2]|0)+10>>1]|0)&256)){i=k;return}c[j>>2]=eA(c[g>>2]|0,-1)|0;c[(c[j>>2]|0)+12>>2]=(c[(c[h>>2]|0)+36>>2]|0)>>>1;a[(c[j>>2]|0)+3>>0]=c[(c[h>>2]|0)+36>>2]&1;i=k;return}function UD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[g>>2]|0))break;c[k>>2]=pB(c[f>>2]|0,c[j>>2]|0)|0;if(!(((rB(c[k>>2]|0,a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)|0)<<24>>24|0)!=65?(cE(c[k>>2]|0,a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)|0)==0:0))a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=65;c[j>>2]=(c[j>>2]|0)+1}i=l;return}function VD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[k>>2]|0)){i=m;return}while(1){if((c[j>>2]|0)<=0)break;if((a[c[k>>2]>>0]|0)!=65)break;c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}while(1){if((c[j>>2]|0)>1)e=(a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]|0)==65;else e=0;d=c[j>>2]|0;if(!e)break;c[j>>2]=d+-1}if((d|0)<=0){i=m;return}mx(c[l>>2]|0,98,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0,c[j>>2]|0)|0;WA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=m;return}function WD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+48|0;p=o+32|0;h=o+28|0;q=o+24|0;r=o+20|0;l=o+16|0;n=o+12|0;k=o+8|0;m=o+4|0;j=o;c[p>>2]=a;c[h>>2]=d;c[q>>2]=f;c[r>>2]=g;c[l>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2];jx(c[n>>2]|0,128,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+40>>1]&32)){i=o;return}f=c[l>>2]|0;if(c[(c[l>>2]|0)+124>>2]|0)f=c[f+124>>2]|0;if(c[f+92>>2]|0){i=o;return}c[m>>2]=c[(c[h>>2]|0)+12>>2];c[j>>2]=sh(c[c[l>>2]>>2]|0,(b[(c[m>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){i=o;return}c[c[j>>2]>>2]=b[(c[m>>2]|0)+34>>1];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((e[(c[h>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)+1<<2)>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}Mh(c[n>>2]|0,-1,c[j>>2]|0,-15);i=o;return}function XD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;l=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[h>>2]=f;c[j>>2]=TA(c[g>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}ix(c[(c[g>>2]|0)+8>>2]|0,85,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function YD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(eA(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;i=e;return}function ZD(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+144|0;n=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;k=q;l=q+116|0;r=q+112|0;p=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=k;c[a>>2]=f;c[a+4>>2]=g;c[l>>2]=h;c[r>>2]=j;c[p>>2]=0;c[o>>2]=_D(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;c[l>>2]=c[l>>2]&130;while(1){if(!(c[o>>2]|0)){f=10;break}t=(c[o>>2]|0)+32|0;u=k;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[o>>2]|0)+12>>1]|0)&c[l>>2]|0)!=0:0){f=6;break}if(!(c[p>>2]|0))c[p>>2]=c[o>>2]}c[o>>2]=$D(m)|0}if((f|0)==6){c[n>>2]=c[o>>2];u=c[n>>2]|0;i=q;return u|0}else if((f|0)==10){c[n>>2]=c[p>>2];u=c[n>>2]|0;i=q;return u|0}return 0}function _D(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+24|0;r=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=d;c[r>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=0;c[c[k>>2]>>2]=c[r>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=0;if(c[o>>2]|0){c[p>>2]=c[m>>2];c[m>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1];if((c[m>>2]|0)==-2)c[(c[k>>2]|0)+12>>2]=c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];if((c[m>>2]|0)==(b[(c[(c[o>>2]|0)+12>>2]|0)+32>>1]|0))c[m>>2]=-1}if((c[o>>2]|0)!=0&(c[m>>2]|0)>=0){a[(c[k>>2]|0)+16>>0]=a[(c[(c[(c[o>>2]|0)+12>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+13>>0]|0;c[(c[k>>2]|0)+8>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+(c[p>>2]<<2)>>2]}else{a[(c[k>>2]|0)+16>>0]=0;c[(c[k>>2]|0)+8>>2]=0}c[(c[k>>2]|0)+20>>2]=c[n>>2];c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+72>>1]=c[m>>2];a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+18>>0]=1;r=$D(c[k>>2]|0)|0;i=q;return r|0}function $D(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;p=s+32|0;h=s+28|0;g=s+40|0;n=s+24|0;m=s+20|0;r=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;l=s;c[p>>2]=f;c[q>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){g=40;break}c[h>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[g>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[g>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){g=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[r>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[r>>2]|0)+20>>2]|0)==(c[h>>2]|0)?(c[(c[r>>2]|0)+28>>2]|0)==(b[g>>1]|0):0){if((b[g>>1]|0)==-2?(Ky(c[(c[c[r>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?(c[(c[c[r>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((e[(c[r>>2]|0)+12>>1]&2048|0)!=0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=ky(c[(c[c[r>>2]>>2]|0)+16>>2]|0)|0,c[n>>2]=f,(d[f>>0]|0)==152):0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]|0)==(c[(c[n>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]|0)==(b[(c[n>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]=c[(c[n>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]=b[(c[n>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[r>>2]|0)+12>>1]&c[(c[p>>2]|0)+20>>2]){if((c[(c[p>>2]|0)+8>>2]|0)!=0?(e[(c[r>>2]|0)+12>>1]&256|0)==0:0){c[l>>2]=c[c[c[m>>2]>>2]>>2];c[n>>2]=c[c[r>>2]>>2];if(!(aE(c[n>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[k>>2]=sB(c[l>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[c[l>>2]>>2]|0)+8>>2];if(ig(c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[r>>2]|0)+12>>1]&130)){g=36;break a}f=c[(c[c[r>>2]>>2]|0)+16>>2]|0;c[n>>2]=f;if((d[f>>0]|0)!=152){g=36;break a}if((c[(c[n>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){g=36;break a}if((b[(c[n>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){g=36;break a}}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[q>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[q>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((g|0)==5){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}else if((g|0)==36){c[(c[p>>2]|0)+24>>2]=(c[q>>2]|0)+1;c[o>>2]=c[r>>2];r=c[o>>2]|0;i=s;return r|0}else if((g|0)==40){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function aE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;j=g;f=g+9|0;h=g+8|0;c[j>>2]=b;a[f>>0]=d;a[h>>0]=bE(c[j>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}i=g;return c[e>>2]|0}function bE(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=ey(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=rB(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(c[b+4>>2]&2048){a[e>>0]=rB(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;i=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;i=f;return e|0}function cE(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+4|0;g=l;h=l+9|0;j=l+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[k>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)e=1;else e=(d[c[g>>2]>>0]|0)==155;f=c[g>>2]|0;if(!e)break;c[g>>2]=c[f+12>>2]}a[j>>0]=a[f>>0]|0;if((d[j>>0]|0)==157)a[j>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 134:{if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 132:{if((a[h>>0]|0)==69)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 97:{c[k>>2]=(a[h>>0]|0)==66&1;break a}case 133:{c[k>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;else f=0;c[k>>2]=f&1;break a}default:{c[k>>2]=0;break a}}}while(0);i=l;return c[k>>2]|0}function dE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;sA(a,b,Jf(c[e>>2]|0)|0);i=d;return}function eE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p;f=p+24|0;g=p+20|0;m=p+16|0;k=p+30|0;l=p+28|0;h=p+12|0;j=p+8|0;o=p+4|0;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[(c[g>>2]|0)+24+8>>2];b[k>>1]=b[(c[g>>2]|0)+24>>1]|0;b[l>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[k>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){i=p;return}sA(c[f>>2]|0,34684,2);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[k>>1]|0|0))break;c[o>>2]=fE(c[m>>2]|0,c[h>>2]|0)|0;if(c[h>>2]|0)sA(c[f>>2]|0,34687,5);d=c[f>>2]|0;a=(c[h>>2]|0)>=(e[l>>1]|0|0)?34693:34698;c[n>>2]=c[o>>2];rA(d,a,n);c[h>>2]=(c[h>>2]|0)+1}c[j>>2]=c[h>>2];if(c[(c[g>>2]|0)+36>>2]&32){gE(c[f>>2]|0,c[m>>2]|0,e[(c[g>>2]|0)+24+2>>1]|0,c[j>>2]|0,c[h>>2]|0,34615);c[h>>2]=1}if(c[(c[g>>2]|0)+36>>2]&16)gE(c[f>>2]|0,c[m>>2]|0,e[(c[g>>2]|0)+24+4>>1]|0,c[j>>2]|0,c[h>>2]|0,34617);sA(c[f>>2]|0,34706,1);i=p;return}function fE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=34712;a=c[e>>2]|0;i=h;return a|0}if((c[g>>2]|0)==-1){c[e>>2]=24745;a=c[e>>2]|0;i=h;return a|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2];a=c[e>>2]|0;i=h;return a|0}return 0}function gE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;p=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[p>>2]=f;c[m>>2]=g;if(c[p>>2]|0)sA(c[h>>2]|0,34687,5);if((c[k>>2]|0)>1)sA(c[h>>2]|0,34708,1);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;if(c[n>>2]|0)sA(c[h>>2]|0,34710,1);p=c[h>>2]|0;dE(p,fE(c[j>>2]|0,(c[l>>2]|0)+(c[n>>2]|0)|0)|0);c[n>>2]=(c[n>>2]|0)+1}if((c[k>>2]|0)>1)sA(c[h>>2]|0,34706,1);sA(c[h>>2]|0,c[m>>2]|0,1);if((c[k>>2]|0)>1)sA(c[h>>2]|0,34708,1);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;if(c[n>>2]|0)sA(c[h>>2]|0,34710,1);sA(c[h>>2]|0,20275,1);c[n>>2]=(c[n>>2]|0)+1}if((c[k>>2]|0)<=1){i=o;return}sA(c[h>>2]|0,34706,1);i=o;return}function hE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=xB(c[f>>2]|0,3,c[e>>2]|0)|0;i=d;return a|0}function iE(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n;m=n+20|0;c[j>>2]=b;c[k>>2]=d;b=l;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[j>>2]|0)+20>>2]|0)!=(c[(c[k>>2]|0)+44>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if(!((e[(c[j>>2]|0)+12>>1]|0)&130)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}d=(c[j>>2]|0)+32|0;b=l;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if((c[(c[j>>2]|0)+28>>2]|0)<0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+28>>2]<<4)+13>>0]|0;if(aE(c[c[j>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;b=c[h>>2]|0;i=n;return b|0}else{c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}return 0}function jE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=d;c[k>>2]=f;if((e[(c[j>>2]|0)+44>>1]|0|0)>=(c[k>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[k>>2]=(c[k>>2]|0)+7&-8;c[l>>2]=Vw(c[h>>2]|0,c[k>>2]<<2,0)|0;if(!(c[l>>2]|0)){c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}TR(c[l>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[j>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[j>>2]|0)+48>>2]|0)!=((c[j>>2]|0)+56|0))Tf(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0);c[(c[j>>2]|0)+48>>2]=c[l>>2];b[(c[j>>2]|0)+44>>1]=c[k>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function kE(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;n=m+20|0;g=m+24|0;o=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[n>>2]=a;b[g>>1]=d;c[o>>2]=e;c[h>>2]=f;c[j>>2]=56+((b[g>>1]<<2)+7&-8)+(((b[g>>1]|0)+1<<1)+(b[g>>1]<<1)+(b[g>>1]|0)+7&-8);f=(c[j>>2]|0)+(c[o>>2]|0)|0;c[k>>2]=sh(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){o=c[k>>2]|0;i=m;return o|0}c[l>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+32>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]<<2)+7&-8);c[(c[k>>2]|0)+8>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]|0)+1<<1);c[(c[k>>2]|0)+4>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(b[g>>1]<<1);c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+52>>1]=b[g>>1]|0;b[(c[k>>2]|0)+50>>1]=(b[g>>1]|0)-1;c[c[h>>2]>>2]=(c[k>>2]|0)+(c[j>>2]|0);o=c[k>>2]|0;i=m;return o|0}function lE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j+16|0;h=j;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){g=e;c[g>>2]=0;c[g+4>>2]=0;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}if((d[c[g>>2]>>0]|0|0)==152){g=OD(c[f>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0;f=h;c[f>>2]=g;c[f+4>>2]=C;f=h;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}if(c[(c[g>>2]|0)+16>>2]|0){b=lE(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;a=C}else{b=0;a=0}k=h;c[k>>2]=b;c[k+4>>2]=a;if(c[(c[g>>2]|0)+12>>2]|0){b=lE(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=h;a=c[l+4>>2]|C;k=h;c[k>>2]=c[l>>2]|b;c[k+4>>2]=a}if(!(c[(c[g>>2]|0)+4>>2]&2048)){if(c[(c[g>>2]|0)+20>>2]|0){g=KD(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;k=c[f+4>>2]|C;l=h;c[l>>2]=c[f>>2]|g;c[l+4>>2]=k}}else{g=mE(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;k=c[f+4>>2]|C;l=h;c[l>>2]=c[f>>2]|g;c[l+4>>2]=k}l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function mE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;g=j;h=j+12|0;f=j+8|0;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+28>>2];k=KD(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=KD(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;l=KD(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|l;c[a+4>>2]=b;a=lE(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0;b=g;l=c[b+4>>2]|C;k=g;c[k>>2]=c[b>>2]|a;c[k+4>>2]=l;k=lE(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=mE(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=lE(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+48>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+48>>2]}l=g;C=c[l+4>>2]|0;i=j;return c[l>>2]|0}function nE(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[34774+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[34774+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}return 0}function oE(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+160|0;Z=ca+149|0;n=ca+124|0;o=ca+120|0;p=ca+116|0;q=ca+140|0;r=ca+138|0;s=ca+112|0;t=ca+108|0;W=ca+148|0;U=ca+147|0;V=ca+146|0;E=ca+145|0;w=ca+144|0;D=ca+143|0;y=ca+136|0;I=ca+134|0;H=ca+132|0;J=ca+130|0;B=ca+104|0;_=ca+100|0;F=ca+96|0;A=ca+92|0;z=ca+88|0;P=ca+84|0;R=ca+80|0;Q=ca+76|0;N=ca+72|0;O=ca+68|0;v=ca+64|0;aa=ca+40|0;K=ca+32|0;L=ca+24|0;T=ca+16|0;X=ca+60|0;Y=ca+56|0;u=ca+142|0;x=ca+128|0;S=ca+52|0;M=ca+48|0;G=ca+8|0;$=ca;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;b[r>>1]=k;c[s>>2]=l;c[t>>2]=m;c[P>>2]=0;c[v>>2]=c[c[c[n>>2]>>2]>>2];j=aa;c[j>>2]=0;c[j+4>>2]=0;if((e[r>>1]|0)!=0?(e[(c[v>>2]|0)+64>>1]&128|0)!=0:0){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}b[J>>1]=c[c[o>>2]>>2];if((e[J>>1]|0)>63){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}a[E>>0]=1;f=WR(1,0,e[J>>1]|0)|0;f=QR(f|0,C|0,1,0)|0;j=K;c[j>>2]=f;c[j+4>>2]=C;j=L;c[j>>2]=0;c[j+4>>2]=0;j=T;c[j>>2]=0;c[j+4>>2]=0;b[y>>1]=386;if(e[q>>1]&2048)b[y>>1]=e[y>>1]|1;c[B>>2]=0;a:while(1){if(!(d[E>>0]|0))break;f=aa;h=c[f+4>>2]|0;j=K;m=c[j+4>>2]|0;if(!(h>>>0>>0|((h|0)==(m|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)))break;if((c[B>>2]|0)>(e[r>>1]|0))break;if((c[B>>2]|0)>0){m=(c[P>>2]|0)+8|0;h=T;f=c[h+4>>2]|c[m+4>>2];j=T;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f}if((c[B>>2]|0)<(e[r>>1]|0)){c[P>>2]=c[(c[(c[p>>2]|0)+24>>2]|0)+(c[B>>2]<<2)>>2];if(!(e[q>>1]&2048))ba=17}else{c[P>>2]=c[s>>2];ba=17}b:do if((ba|0)==17){ba=0;k=c[P>>2]|0;if(c[(c[P>>2]|0)+36>>2]&1024){ba=18;break a}c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+8+((d[k+16>>0]|0)*72|0)+44>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(e[J>>1]|0))break;f=WR(1,0,c[_>>2]|0)|0;j=aa;c:do if(((!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)?(c[Q>>2]=ky(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0,(d[c[Q>>2]>>0]|0)==152):0)?(c[(c[Q>>2]|0)+28>>2]|0)==(c[A>>2]|0):0)?(j=T,c[R>>2]=ZD((c[n>>2]|0)+80|0,c[A>>2]|0,b[(c[Q>>2]|0)+32>>1]|0,~c[j>>2],~c[j+4>>2],e[y>>1]|0,0)|0,(c[R>>2]|0)!=0):0){if((e[(c[R>>2]|0)+12>>1]|0)==1){c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[(c[P>>2]|0)+40>>1]|0))break;if((c[R>>2]|0)==(c[(c[(c[P>>2]|0)+48>>2]|0)+(c[F>>2]<<2)>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1}if((c[F>>2]|0)>=(e[(c[P>>2]|0)+40>>1]|0))break}do if(e[(c[R>>2]|0)+12>>1]&130){if((b[(c[Q>>2]|0)+32>>1]|0)<0)break;c[N>>2]=fy(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0;if(!(c[N>>2]|0))c[N>>2]=c[(c[v>>2]|0)+8>>2];c[X>>2]=c[c[N>>2]>>2];c[N>>2]=fy(c[c[n>>2]>>2]|0,c[c[R>>2]>>2]|0)|0;if(!(c[N>>2]|0))c[N>>2]=c[(c[v>>2]|0)+8>>2];c[Y>>2]=c[c[N>>2]>>2];if(ig(c[X>>2]|0,c[Y>>2]|0)|0)break c}while(0);m=WR(1,0,c[_>>2]|0)|0;h=aa;f=c[h+4>>2]|C;j=aa;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}while(0);c[_>>2]=(c[_>>2]|0)+1}if(!(c[(c[P>>2]|0)+36>>2]&4096)){if(c[(c[P>>2]|0)+36>>2]&256){c[O>>2]=0;b[I>>1]=0;b[H>>1]=1}else{j=c[(c[P>>2]|0)+24+8>>2]|0;c[O>>2]=j;if(!j){ba=46;break a}if((d[(c[O>>2]|0)+55>>0]|0)>>>2&1){ba=46;break a}b[I>>1]=b[(c[O>>2]|0)+50>>1]|0;b[H>>1]=b[(c[O>>2]|0)+52>>1]|0;a[E>>0]=(d[(c[O>>2]|0)+54>>0]|0)!=0}a[W>>0]=0;a[U>>0]=0;a[w>>0]=0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[H>>1]|0))break;a[u>>0]=1;d:do if((c[F>>2]|0)<(e[(c[P>>2]|0)+24>>1]|0)?(c[F>>2]|0)>=(e[(c[P>>2]|0)+42>>1]|0):0){b[x>>1]=b[(c[(c[(c[P>>2]|0)+48>>2]|0)+(c[F>>2]<<2)>>2]|0)+12>>1]|0;k=e[x>>1]|0;if(e[x>>1]&e[y>>1]){if(!(k&256))break;a[E>>0]=0;break}if(!(k&1)){ba=61;break}c[S>>2]=c[c[(c[(c[P>>2]|0)+48>>2]|0)+(c[F>>2]<<2)>>2]>>2];c[_>>2]=(c[F>>2]|0)+1;while(1){if((c[_>>2]|0)>=(e[(c[P>>2]|0)+24>>1]|0)){ba=61;break d}if((c[c[(c[(c[P>>2]|0)+48>>2]|0)+(c[_>>2]<<2)>>2]>>2]|0)==(c[S>>2]|0))break;c[_>>2]=(c[_>>2]|0)+1}a[u>>0]=0;ba=61}else ba=61;while(0);if((ba|0)==61){ba=0;do if(c[O>>2]|0){c[z>>2]=b[(c[(c[O>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1];a[V>>0]=a[(c[(c[O>>2]|0)+28>>2]|0)+(c[F>>2]|0)>>0]|0;if((c[z>>2]|0)!=(b[(c[(c[O>>2]|0)+12>>2]|0)+32>>1]|0))break;c[z>>2]=-1}else{c[z>>2]=-1;a[V>>0]=0}while(0);do if((d[E>>0]|0)!=0&(c[z>>2]|0)>=0){if((c[F>>2]|0)<(e[(c[P>>2]|0)+24>>1]|0))break;if(d[(c[(c[(c[O>>2]|0)+12>>2]|0)+4>>2]|0)+(c[z>>2]<<4)+12>>0]|0)break;a[E>>0]=0}while(0);a[D>>0]=0;c[_>>2]=0;e:while(1){if(!(d[u>>0]|0))break;if((c[_>>2]|0)>=(e[J>>1]|0))break;f=WR(1,0,c[_>>2]|0)|0;j=aa;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[Q>>2]=ky(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0;if(!(e[q>>1]&192))a[u>>0]=0;k=c[Q>>2]|0;if((c[z>>2]|0)>=-1){if((d[k>>0]|0)!=152)break;if((c[(c[Q>>2]|0)+28>>2]|0)!=(c[A>>2]|0))break;if((b[(c[Q>>2]|0)+32>>1]|0)!=(c[z>>2]|0))break}else if(Ky(k,c[(c[(c[(c[O>>2]|0)+40>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)>>2]|0,c[A>>2]|0)|0)break;if((c[z>>2]|0)<0){ba=84;break e}c[N>>2]=fy(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0;if(!(c[N>>2]|0))c[N>>2]=c[(c[v>>2]|0)+8>>2];if(!(ig(c[c[N>>2]>>2]|0,c[(c[(c[O>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]|0)|0)){ba=84;break e}}while(0);c[_>>2]=(c[_>>2]|0)+1}if((ba|0)==84){ba=0;a[D>>0]=1}do if(d[D>>0]|0){if(e[q>>1]&64)break;if(a[W>>0]|0){if((d[U>>0]^d[V>>0]|0)==(d[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)+12>>0]|0))break;a[D>>0]=0;break}a[U>>0]=d[V>>0]^d[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)+12>>0];if(a[U>>0]|0){m=WR(1,0,c[B>>2]|0)|0;j=c[t>>2]|0;h=j;f=c[h+4>>2]|C;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}a[W>>0]=1}while(0);if(!(a[D>>0]|0)){ba=98;break}if((c[z>>2]|0)==-1)a[w>>0]=1;m=WR(1,0,c[_>>2]|0)|0;h=aa;f=c[h+4>>2]|C;j=aa;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}c[F>>2]=(c[F>>2]|0)+1}do if((ba|0)==98){ba=0;if((c[F>>2]|0)!=0?(c[F>>2]|0)>=(e[I>>1]|0):0)break;a[E>>0]=0}while(0);if(a[w>>0]|0)a[E>>0]=1}if(a[E>>0]|0){m=(c[P>>2]|0)+8|0;h=L;f=c[h+4>>2]|c[m+4>>2];j=L;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f;c[_>>2]=0;while(1){if((c[_>>2]|0)>=(e[J>>1]|0))break b;f=WR(1,0,c[_>>2]|0)|0;j=aa;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[M>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2];f=lE((c[n>>2]|0)+488|0,c[M>>2]|0)|0;j=G;c[j>>2]=f;c[j+4>>2]=C;j=G;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0?($A(c[M>>2]|0)|0)==0:0)break;f=G;j=L;if((c[f>>2]&~c[j>>2]|0)==0?(c[f+4>>2]&~c[j+4>>2]|0)==0:0){m=WR(1,0,c[_>>2]|0)|0;h=aa;f=c[h+4>>2]|C;j=aa;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}}while(0);c[_>>2]=(c[_>>2]|0)+1}}}while(0);c[B>>2]=(c[B>>2]|0)+1}if((ba|0)==18){if(a[k+24+5>>0]|0){X=K;Y=c[X+4>>2]|0;ba=aa;c[ba>>2]=c[X>>2];c[ba+4>>2]=Y}}else if((ba|0)==46){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}Y=aa;ba=K;if((c[Y>>2]|0)==(c[ba>>2]|0)?(c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){a[Z>>0]=b[J>>1];ba=a[Z>>0]|0;i=ca;return ba|0}if(a[E>>0]|0){a[Z>>0]=-1;ba=a[Z>>0]|0;i=ca;return ba|0}c[_>>2]=(e[J>>1]|0)-1;while(1){if((c[_>>2]|0)<=0){ba=122;break}Y=WR(1,0,c[_>>2]|0)|0;Y=QR(Y|0,C|0,1,0)|0;X=$;c[X>>2]=Y;c[X+4>>2]=C;X=aa;Y=$;ba=$;k=c[_>>2]|0;if((c[X>>2]&c[Y>>2]|0)==(c[ba>>2]|0)?(c[X+4>>2]&c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){ba=120;break}c[_>>2]=k+-1}if((ba|0)==120){a[Z>>0]=k;ba=a[Z>>0]|0;i=ca;return ba|0}else if((ba|0)==122){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}return 0}function pE(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+8|0;j=l+16|0;n=l+4|0;o=l;m=l+14|0;k=l+12|0;c[h>>2]=a;b[j>>1]=d;c[n>>2]=f;c[o>>2]=g;a=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[m>>1]=((Mj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66;b[k>>1]=(b[j>>1]|0)+(b[m>>1]|0)+16;if((e[(c[h>>2]|0)+40>>1]&16384|0)!=0?(b[(c[h>>2]|0)+16>>1]|0)<(b[j>>1]|0):0)b[j>>1]=b[(c[h>>2]|0)+16>>1]|0;o=(qE(b[j>>1]|0)|0)<<16>>16;b[k>>1]=(b[k>>1]|0)+o;i=l;return b[k>>1]|0}function qE(a){a=a|0;var c=0,d=0;d=i;i=i+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){a=0;a=a&65535;i=d;return a|0}a=b[c>>1]|0;a=((Mj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;i=d;return a|0}function rE(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=i;i=i+128|0;k=D+108|0;l=D+104|0;m=D+48|0;F=D+40|0;A=D+100|0;G=D+96|0;y=D+92|0;z=D+88|0;E=D+84|0;w=D+80|0;v=D+76|0;n=D+72|0;x=D+68|0;p=D+32|0;s=D+112|0;B=D+64|0;C=D+60|0;t=D+24|0;q=D+16|0;o=D+56|0;r=D+8|0;u=D;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;e=F;c[e>>2]=h;c[e+4>>2]=j;c[A>>2]=0;c[G>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[G>>2]>>2];c[z>>2]=c[(c[l>>2]|0)+4>>2];c[x>>2]=c[(c[l>>2]|0)+12>>2];c[E>>2]=(c[(c[G>>2]|0)+4>>2]|0)+8+((d[(c[x>>2]|0)+16>>0]|0)*72|0);e=F;c[w>>2]=NE(c[y>>2]|0,c[z>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[(c[l>>2]|0)+8>>2]|0,s)|0;if(!(c[w>>2]|0)){c[k>>2]=7;G=c[k>>2]|0;i=D;return G|0}b[(c[x>>2]|0)+18>>1]=0;c[(c[x>>2]|0)+36>>2]=1024;b[(c[x>>2]|0)+40>>1]=0;a[(c[x>>2]|0)+24+4>>0]=0;c[v>>2]=c[c[w>>2]>>2];if(jE(c[c[y>>2]>>2]|0,c[x>>2]|0,c[v>>2]|0)|0){Tf(c[c[y>>2]>>2]|0,c[w>>2]|0);c[k>>2]=7;G=c[k>>2]|0;i=D;return G|0}G=m;c[A>>2]=OE(c[l>>2]|0,c[G>>2]|0,c[G+4>>2]|0,-1,-1,0,c[w>>2]|0,b[s>>1]|0,n)|0;if((c[A>>2]|0)==0?(E=c[x>>2]|0,G=m,F=c[E>>2]&~c[G>>2],G=c[E+4>>2]&~c[G+4>>2],E=p,c[E>>2]=F,c[E+4>>2]=G,(F|0)!=0|(G|0)!=0):0){c[B>>2]=0;c[C>>2]=0;G=t;c[G>>2]=0;c[G+4>>2]=0;G=q;c[G>>2]=0;c[G+4>>2]=0;if((c[n>>2]|0)!=0?(e=m,c[A>>2]=OE(c[l>>2]|0,c[e>>2]|0,c[e+4>>2]|0,-1,-1,1,c[w>>2]|0,b[s>>1]|0,n)|0,e=c[x>>2]|0,E=m,F=c[e+4>>2]&~c[E+4>>2],G=q,c[G>>2]=c[e>>2]&~c[E>>2],c[G+4>>2]=F,G=q,(c[G>>2]|0)==0&(c[G+4>>2]|0)==0):0){c[B>>2]=1;c[C>>2]=1}while(1){if(c[A>>2]|0)break;G=r;c[G>>2]=-1;c[G+4>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[v>>2]|0))break;E=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[(c[w>>2]|0)+4>>2]|0)+((c[o>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;G=m;e=c[E+4>>2]&~c[G+4>>2];F=u;c[F>>2]=c[E>>2]&~c[G>>2];c[F+4>>2]=e;F=u;e=c[F+4>>2]|0;G=t;E=c[G+4>>2]|0;if(e>>>0>E>>>0|((e|0)==(E|0)?(c[F>>2]|0)>>>0>(c[G>>2]|0)>>>0:0)?(F=u,e=c[F+4>>2]|0,G=r,E=c[G+4>>2]|0,e>>>0>>0|((e|0)==(E|0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0){E=u;F=c[E+4>>2]|0;G=r;c[G>>2]=c[E>>2];c[G+4>>2]=F}c[o>>2]=(c[o>>2]|0)+1}E=r;F=c[E+4>>2]|0;G=t;c[G>>2]=c[E>>2];c[G+4>>2]=F;G=r;if((c[G>>2]|0)==-1?(c[G+4>>2]|0)==-1:0)break;F=r;G=p;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;F=r;G=q;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;E=m;G=r;F=m;c[A>>2]=OE(c[l>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[G>>2]|c[F>>2],c[G+4>>2]|c[F+4>>2],0,c[w>>2]|0,b[s>>1]|0,n)|0;F=c[x>>2]|0;G=m;if(!((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0))continue;c[B>>2]=1;if(c[n>>2]|0)continue;c[C>>2]=1}if((c[A>>2]|0)==0&(c[B>>2]|0)==0?(F=m,G=m,c[A>>2]=OE(c[l>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,0,c[w>>2]|0,b[s>>1]|0,n)|0,(c[n>>2]|0)==0):0)c[C>>2]=1;if((c[A>>2]|0)==0&(c[C>>2]|0)==0){F=m;G=m;c[A>>2]=OE(c[l>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,1,c[w>>2]|0,b[s>>1]|0,n)|0}}if(c[(c[w>>2]|0)+28>>2]|0)Kd(c[(c[w>>2]|0)+24>>2]|0);Tf(c[c[y>>2]>>2]|0,c[w>>2]|0);c[k>>2]=c[A>>2];G=c[k>>2]|0;i=D;return G|0}function sE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+160|0;j=J+144|0;k=J+8|0;E=J+140|0;v=J+136|0;H=J+80|0;m=J+156|0;l=J+154|0;K=J+72|0;w=J+68|0;u=J+64|0;I=J+60|0;p=J+56|0;n=J+52|0;G=J+152|0;F=J+150|0;A=J+48|0;x=J+44|0;t=J+40|0;y=J+36|0;D=J+32|0;r=J;s=J+148|0;q=J+28|0;o=J+24|0;B=J+20|0;z=J+16|0;c[j>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=h;b[l>>1]=-1;c[I>>2]=0;c[p>>2]=1;c[u>>2]=c[(c[j>>2]|0)+12>>2];c[E>>2]=c[c[j>>2]>>2];c[K>>2]=c[(c[E>>2]|0)+4>>2];c[w>>2]=(c[K>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[x>>2]=c[(c[w>>2]|0)+16>>2];c[A>>2]=c[(c[j>>2]|0)+4>>2];do if(c[(c[w>>2]|0)+68>>2]|0)c[v>>2]=c[(c[w>>2]|0)+68>>2];else{if(d[(c[x>>2]|0)+42>>0]&32){c[v>>2]=c[(c[x>>2]|0)+8>>2];break}g=H;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[H+50>>1]=1;b[H+52>>1]=1;c[H+4>>2]=l;c[H+8>>2]=m;a[H+54>>0]=5;c[H+12>>2]=c[x>>2];b[H+48>>1]=b[(c[x>>2]|0)+40>>1]|0;b[m>>1]=b[(c[x>>2]|0)+38>>1]|0;b[m+2>>1]=0;c[t>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[w>>2]|0)+36+1>>0]&1))c[H+20>>2]=c[t>>2];c[v>>2]=H}while(0);b[G>>1]=b[(c[x>>2]|0)+38>>1]|0;b[F>>1]=qE(b[G>>1]|0)|0;a:do if((((((((c[(c[j>>2]|0)+16>>2]|0)==0?(e[(c[E>>2]|0)+40>>1]&32|0)==0:0)?(c[(c[c[c[E>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[w>>2]|0)+68>>2]|0)==0:0)?(a[(c[w>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[x>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[w>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[w>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[D>>2]=(c[(c[A>>2]|0)+20>>2]|0)+((c[(c[A>>2]|0)+12>>2]|0)*48|0);c[y>>2]=c[(c[A>>2]|0)+20>>2];while(1){if(c[I>>2]|0)break a;if((c[y>>2]|0)>>>0>=(c[D>>2]|0)>>>0)break a;H=(c[y>>2]|0)+32|0;K=(c[u>>2]|0)+8|0;if(!((c[H>>2]&c[K>>2]|0)!=0?1:(c[H+4>>2]&c[K+4>>2]|0)!=0)?(iE(c[y>>2]|0,c[w>>2]|0,0,0)|0)!=0:0){b[(c[u>>2]|0)+24>>1]=1;b[(c[u>>2]|0)+42>>1]=0;c[(c[u>>2]|0)+24+8>>2]=0;b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];b[(c[u>>2]|0)+18>>1]=(b[F>>1]|0)+(b[G>>1]|0)+4;if((c[(c[x>>2]|0)+12>>2]|0)==0?(d[(c[x>>2]|0)+42>>0]&2|0)==0:0){K=(c[u>>2]|0)+18|0;b[K>>1]=(b[K>>1]|0)+24}if((b[(c[u>>2]|0)+18>>1]|0)<0)b[(c[u>>2]|0)+18>>1]=0;b[(c[u>>2]|0)+22>>1]=43;m=nE(b[F>>1]|0,b[(c[u>>2]|0)+22>>1]|0)|0;b[(c[u>>2]|0)+20>>1]=m;c[(c[u>>2]|0)+36>>2]=16384;m=k;t=(c[y>>2]|0)+32|0;H=c[m+4>>2]|c[t+4>>2];K=c[u>>2]|0;c[K>>2]=c[m>>2]|c[t>>2];c[K+4>>2]=H;c[I>>2]=wE(c[j>>2]|0,c[u>>2]|0)|0}c[y>>2]=(c[y>>2]|0)+48}}while(0);b:while(1){if(!((c[I>>2]|0)==0?(c[v>>2]|0)!=0:0)){g=57;break}if(!((c[(c[v>>2]|0)+36>>2]|0)!=0?(BE(c[(c[w>>2]|0)+44>>2]|0,c[A>>2]|0,c[(c[v>>2]|0)+36>>2]|0)|0)==0:0)){b[G>>1]=b[c[(c[v>>2]|0)+8>>2]>>1]|0;b[(c[u>>2]|0)+24>>1]=0;b[(c[u>>2]|0)+24+2>>1]=0;b[(c[u>>2]|0)+24+4>>1]=0;b[(c[u>>2]|0)+42>>1]=0;b[(c[u>>2]|0)+40>>1]=0;a[(c[u>>2]|0)+17>>0]=0;b[(c[u>>2]|0)+18>>1]=0;F=k;H=c[F+4>>2]|0;K=c[u>>2]|0;c[K>>2]=c[F>>2];c[K+4>>2]=H;b[(c[u>>2]|0)+22>>1]=b[G>>1]|0;c[(c[u>>2]|0)+24+8>>2]=c[v>>2];c[n>>2]=CE(c[j>>2]|0,c[v>>2]|0,c[(c[w>>2]|0)+44>>2]|0)|0;do if((c[(c[v>>2]|0)+44>>2]|0)<=0){c[(c[u>>2]|0)+36>>2]=256;a[(c[u>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[p>>2]|0:0;b[(c[u>>2]|0)+20>>1]=(b[G>>1]|0)+16;DE(c[A>>2]|0,c[u>>2]|0,b[G>>1]|0);c[I>>2]=wE(c[j>>2]|0,c[u>>2]|0)|0;b[(c[u>>2]|0)+22>>1]=b[G>>1]|0;if(c[I>>2]|0){g=57;break b}}else{if((d[(c[v>>2]|0)+55>>0]|0)>>>5&1){c[(c[u>>2]|0)+36>>2]=576;K=r;c[K>>2]=0;c[K+4>>2]=0}else{H=(c[w>>2]|0)+56|0;D=c[H>>2]|0;H=c[H+4>>2]|0;F=EE(c[v>>2]|0)|0;K=r;c[K>>2]=D&~F;c[K+4>>2]=H&~C;K=r;c[(c[u>>2]|0)+36>>2]=(c[K>>2]|0)==0&(c[K+4>>2]|0)==0?576:512}if(((c[n>>2]|0)==0?(d[(c[x>>2]|0)+42>>0]&32|0)==0:0)?(c[(c[v>>2]|0)+36>>2]|0)==0:0){K=r;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0))break;if((d[(c[v>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[v>>2]|0)+48>>1]|0)>=(b[(c[x>>2]|0)+40>>1]|0))break;if(!((c[6]|0)!=0?(e[(c[E>>2]|0)+40>>1]&4|0)==0:0))break;if(e[(c[c[c[E>>2]>>2]>>2]|0)+64>>1]&64)break}a[(c[u>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[p>>2]|0:0;b[(c[u>>2]|0)+20>>1]=(b[G>>1]|0)+1+(((b[(c[v>>2]|0)+48>>1]|0)*15|0)/(b[(c[x>>2]|0)+40>>1]|0)|0);K=r;if((c[K>>2]|0)!=0|(c[K+4>>2]|0)!=0){b[s>>1]=(b[G>>1]|0)+16;c[o>>2]=c[(c[w>>2]|0)+44>>2];c[B>>2]=(c[E>>2]|0)+80;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[B>>2]|0)+12>>2]|0))break;c[z>>2]=(c[(c[B>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);if(!(FE(c[c[z>>2]>>2]|0,c[o>>2]|0,c[v>>2]|0)|0))break;if((b[(c[z>>2]|0)+8>>1]|0)>0){b[s>>1]=(b[s>>1]|0)+-1<<16>>16;if(e[(c[z>>2]|0)+12>>1]&130)b[s>>1]=(b[s>>1]|0)-19}else b[s>>1]=(b[s>>1]|0)+(b[(c[z>>2]|0)+8>>1]|0);c[q>>2]=(c[q>>2]|0)+1}K=nE(b[(c[u>>2]|0)+20>>1]|0,b[s>>1]|0)|0;b[(c[u>>2]|0)+20>>1]=K}DE(c[A>>2]|0,c[u>>2]|0,b[G>>1]|0);c[I>>2]=wE(c[j>>2]|0,c[u>>2]|0)|0;b[(c[u>>2]|0)+22>>1]=b[G>>1]|0;if(c[I>>2]|0){g=57;break b}}while(0);c[I>>2]=GE(c[j>>2]|0,c[w>>2]|0,c[v>>2]|0,0)|0;if(c[(c[w>>2]|0)+68>>2]|0){g=57;break}}c[v>>2]=c[(c[v>>2]|0)+20>>2];c[p>>2]=(c[p>>2]|0)+1}if((g|0)==57){i=J;return c[I>>2]|0}return 0}function tE(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+672|0;m=I+668|0;n=I+584|0;o=I+576|0;l=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;q=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;p=I+596|0;r=I+592|0;D=I;c[m>>2]=f;f=n;c[f>>2]=g;c[f+4>>2]=h;g=o;c[g>>2]=j;c[g+4>>2]=k;c[l>>2]=c[c[m>>2]>>2];c[B>>2]=0;c[z>>2]=c[(c[m>>2]|0)+4>>2];c[A>>2]=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+12>>2]|0)*48|0);c[u>>2]=c[(c[m>>2]|0)+12>>2];g=F;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[t>>2]=(c[(c[l>>2]|0)+4>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[t>>2]|0)+44>>2];c[y>>2]=c[(c[z>>2]|0)+20>>2];while(1){if(!((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[B>>2]|0)==0:0))break;a:do if((e[(c[y>>2]|0)+12>>1]&512|0)!=0?(f=(c[(c[y>>2]|0)+28>>2]|0)+408|0,l=(c[u>>2]|0)+8|0,(c[f>>2]&c[l>>2]|0)!=0?1:(c[f+4>>2]&c[l+4>>2]|0)!=0):0){c[w>>2]=c[(c[y>>2]|0)+28>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[s>>2]=1;l=c[m>>2]|0;c[E>>2]=c[l>>2];c[E+4>>2]=c[l+4>>2];c[E+8>>2]=c[l+8>>2];c[E+12>>2]=c[l+12>>2];c[E+16>>2]=c[l+16>>2];c[E+8>>2]=0;c[E+16>>2]=C;c[v>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;g=c[v>>2]|0;if(!(e[(c[v>>2]|0)+12>>1]&1024)){if((c[g+20>>2]|0)==(c[q>>2]|0)){c[G>>2]=c[c[z>>2]>>2];c[G+4>>2]=c[z>>2];a[G+8>>0]=28;c[G+12>>2]=1;c[G+20>>2]=c[v>>2];c[E+4>>2]=G;H=11}}else{c[E+4>>2]=c[g+28>>2];H=11}c:do if((H|0)==11){H=0;b[C>>1]=0;h=n;g=c[h>>2]|0;h=c[h+4>>2]|0;if(d[(c[(c[t>>2]|0)+16>>2]|0)+42>>0]&16){l=o;c[B>>2]=rE(E,g,h,c[l>>2]|0,c[l+4>>2]|0)|0}else c[B>>2]=sE(E,g,h)|0;if(!(c[B>>2]|0)){f=n;l=o;c[B>>2]=tE(E,c[f>>2]|0,c[f+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0}if(!(e[C>>1]|0)){H=17;break b}if(c[s>>2]|0){uE(F,C);c[s>>2]=0;break}uE(D,F);b[F>>1]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[D>>1]|0))break c;c[r>>2]=0;while(1){g=c[p>>2]|0;if((c[r>>2]|0)>=(e[C>>1]|0))break;l=D+8+(g<<4)|0;f=C+8+(c[r>>2]<<4)|0;k=c[l>>2]|c[f>>2];f=c[l+4>>2]|c[f+4>>2];l=nE(b[D+8+(c[p>>2]<<4)+8>>1]|0,b[C+8+(c[r>>2]<<4)+8>>1]|0)|0;vE(F,k,f,l,nE(b[D+8+(c[p>>2]<<4)+10>>1]|0,b[C+8+(c[r>>2]<<4)+10>>1]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=g+1}}while(0);c[v>>2]=(c[v>>2]|0)+48}if((H|0)==17){H=0;b[F>>1]=0}b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];c[(c[u>>2]|0)+36>>2]=8192;b[(c[u>>2]|0)+18>>1]=0;a[(c[u>>2]|0)+17>>0]=0;l=(c[u>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[p>>2]=0;while(1){if(c[B>>2]|0)break a;if((c[p>>2]|0)>=(e[F>>1]|0))break a;b[(c[u>>2]|0)+20>>1]=(b[F+8+(c[p>>2]<<4)+8>>1]|0)+1;b[(c[u>>2]|0)+22>>1]=b[F+8+(c[p>>2]<<4)+10>>1]|0;k=F+8+(c[p>>2]<<4)|0;f=c[k+4>>2]|0;l=c[u>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=f;c[B>>2]=wE(c[m>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}i=I;return c[B>>2]|0}function uE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;TR((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function vE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;k=r+16|0;l=r+12|0;m=r;n=r+24|0;o=r+22|0;p=r+20|0;q=r+8|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=f;b[n>>1]=g;b[o>>1]=h;b[p>>1]=b[c[l>>2]>>1]|0;c[q>>2]=(c[l>>2]|0)+8;while(1){if((e[p>>1]|0)<=0){j=9;break}if((b[n>>1]|0)<=(b[(c[q>>2]|0)+8>>1]|0)?(h=m,a=c[q>>2]|0,g=m,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0)break;if((b[(c[q>>2]|0)+8>>1]|0)<=(b[n>>1]|0)?(h=c[q>>2]|0,a=m,g=c[q>>2]|0,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0){j=7;break}b[p>>1]=(b[p>>1]|0)+-1<<16>>16;c[q>>2]=(c[q>>2]|0)+16}if((j|0)==7){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}do if((j|0)==9){d=c[l>>2]|0;if((e[c[l>>2]>>1]|0)<3){p=b[d>>1]|0;b[d>>1]=p+1<<16>>16;c[q>>2]=(c[l>>2]|0)+8+((p&65535)<<4);b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;break}c[q>>2]=d+8;b[p>>1]=1;while(1){d=b[(c[q>>2]|0)+8>>1]|0;if((e[p>>1]|0)>=(e[c[l>>2]>>1]|0))break;if((d|0)>(b[(c[l>>2]|0)+8+(e[p>>1]<<4)+8>>1]|0))c[q>>2]=(c[l>>2]|0)+8+(e[p>>1]<<4);b[p>>1]=(b[p>>1]|0)+1<<16>>16}if((d|0)<=(b[n>>1]|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}while(0);l=m;m=c[l+4>>2]|0;p=c[q>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=m;b[(c[q>>2]|0)+8>>1]=b[n>>1]|0;if((b[(c[q>>2]|0)+10>>1]|0)>(b[o>>1]|0))b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;c[k>>2]=1;q=c[k>>2]|0;i=r;return q|0}function wE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+40|0;f=q+36|0;g=q+32|0;n=q+28|0;j=q+24|0;m=q+20|0;h=q+16|0;p=q+12|0;o=q+8|0;l=q+4|0;k=q;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[c[f>>2]>>2];c[h>>2]=c[c[c[m>>2]>>2]>>2];if(c[(c[f>>2]|0)+16>>2]|0){if(b[(c[g>>2]|0)+40>>1]|0){p=c[g>>2]|0;vE(c[(c[f>>2]|0)+16>>2]|0,c[p>>2]|0,c[p+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}xE(c[(c[m>>2]|0)+56>>2]|0,c[g>>2]|0);c[n>>2]=yE((c[m>>2]|0)+56|0,c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}c[j>>2]=c[c[n>>2]>>2];a:do if(!(c[j>>2]|0)){o=Vw(c[h>>2]|0,72,0)|0;c[j>>2]=o;c[c[n>>2]>>2]=o;if(c[j>>2]|0){yD(c[j>>2]|0);c[(c[j>>2]|0)+52>>2]=0;break}c[e>>2]=7;p=c[e>>2]|0;i=q;return p|0}else{c[o>>2]=(c[j>>2]|0)+52;while(1){if(!(c[c[o>>2]>>2]|0))break a;c[o>>2]=yE(c[o>>2]|0,c[g>>2]|0)|0;if(!(c[o>>2]|0))break a;c[l>>2]=c[c[o>>2]>>2];if(!(c[l>>2]|0))break a;c[c[o>>2]>>2]=c[(c[l>>2]|0)+52>>2];vD(c[h>>2]|0,c[l>>2]|0)}}while(0);c[p>>2]=zE(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if(((c[(c[j>>2]|0)+36>>2]&1024|0)==0?(c[k>>2]=c[(c[j>>2]|0)+24+8>>2],(c[k>>2]|0)!=0):0)?(c[(c[k>>2]|0)+44>>2]|0)==0:0)c[(c[j>>2]|0)+24+8>>2]=0;c[e>>2]=c[p>>2];p=c[e>>2]|0;i=q;return p|0}function xE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){i=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0){if(AE(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(AE(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);i=h;return}function yE(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+12|0;k=l+8|0;g=l+4|0;h=l;c[k>>2]=a;c[g>>2]=f;c[h>>2]=c[c[k>>2]>>2];while(1){if(!(c[h>>2]|0)){g=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if(((((c[(c[h>>2]|0)+36>>2]&16384|0)!=0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[g>>2]|0)+36>>2]&1|0)!=0:0)?(m=c[h>>2]|0,f=c[g>>2]|0,a=c[g>>2]|0,(c[m>>2]&c[f>>2]|0)==(c[a>>2]|0)?(c[m+4>>2]&c[f+4>>2]|0)==(c[a+4>>2]|0):0):0){g=19;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[h>>2]|0;if(((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){g=14;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[g>>2]|0;if((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){g=19;break}}c[k>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[k>>2]>>2]}if((g|0)==14){c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}else if((g|0)==19){c[j>>2]=c[k>>2];m=c[j>>2]|0;i=l;return m|0}return 0}function zE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;h=k+12|0;l=k+8|0;g=k+4|0;j=k;c[l>>2]=b;c[g>>2]=d;c[j>>2]=f;xD(c[l>>2]|0,c[g>>2]|0);d=(jE(c[l>>2]|0,c[g>>2]|0,e[(c[j>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(d){l=b+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[h>>2]=7;l=c[h>>2]|0;i=k;return l|0}f=c[j>>2]|0;d=b+44|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(d|0));TR(c[(c[g>>2]|0)+48>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[j>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]&1024)){if(c[b+36>>2]&16384)c[(c[j>>2]|0)+24+8>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}function AE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){f=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[j>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){f=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((f|0)==18){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==20){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function BE(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;while(1){if((d[c[k>>2]>>0]|0)!=28)break;if(!(BE(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0)){o=4;break}c[k>>2]=c[(c[k>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[l>>2]=0;c[n>>2]=c[(c[j>>2]|0)+20>>2];while(1){if((c[l>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0)){o=13;break}c[m>>2]=c[c[n>>2]>>2];if(ME(c[m>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){if(!(c[(c[m>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[m>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;i=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}return 0}function CE(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;q=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+55>>0]|0)>>>2&1){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}f=c[(c[c[j>>2]>>2]|0)+8>>2]|0;c[q>>2]=f;if(!f){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[c[q>>2]>>2]|0)){r=24;break}c[p>>2]=ky(c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[l>>2]|0):0){if((b[(c[p>>2]|0)+32>>1]|0)<0){r=10;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break b;if((b[(c[p>>2]|0)+32>>1]|0)==(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)){r=14;break a}c[o>>2]=(c[o>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,f=c[(c[k>>2]|0)+40>>2]|0,c[m>>2]=f,(f|0)!=0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break c;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(Ky(c[p>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[l>>2]|0)|0)==0:0){r=21;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1}if((r|0)==10){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==21){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==24){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function DE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;g=s+36|0;h=s+32|0;j=s+42|0;q=s+28|0;r=s+24|0;o=s;k=s+20|0;m=s+16|0;n=s+12|0;l=s+40|0;p=s+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;t=c[h>>2]|0;f=(c[h>>2]|0)+8|0;d=~(c[t+4>>2]|c[f+4>>2]);a=o;c[a>>2]=~(c[t>>2]|c[f>>2]);c[a+4>>2]=d;b[l>>1]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];c[q>>2]=c[(c[g>>2]|0)+20>>2];while(1){if((c[k>>2]|0)<=0)break;if(e[(c[q>>2]|0)+10>>1]&2)break;a=(c[q>>2]|0)+40|0;t=(c[h>>2]|0)+8|0;do if(!((c[a>>2]&c[t>>2]|0)==0?(c[a+4>>2]&c[t+4>>2]|0)==0:0)?(a=(c[q>>2]|0)+40|0,t=o,!((c[a>>2]&c[t>>2]|0)!=0?1:(c[a+4>>2]&c[t+4>>2]|0)!=0)):0){c[m>>2]=(e[(c[h>>2]|0)+40>>1]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[r>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[m>>2]<<2)>>2];if(c[r>>2]|0){if((c[r>>2]|0)==(c[q>>2]|0))break;if((c[(c[r>>2]|0)+16>>2]|0)>=0?((c[(c[g>>2]|0)+20>>2]|0)+((c[(c[r>>2]|0)+16>>2]|0)*48|0)|0)==(c[q>>2]|0):0)break}c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){if((b[(c[q>>2]|0)+8>>1]|0)<=0){t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[q>>2]|0)+8>>1]|0);break}t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[q>>2]|0)+12>>1]&130){c[p>>2]=c[(c[c[q>>2]>>2]|0)+16>>2];t=(Fy(c[p>>2]|0,n)|0)!=0;if(t&(c[n>>2]|0)>=-1&(c[n>>2]|0)<=1)c[n>>2]=10;else c[n>>2]=20;if((b[l>>1]|0)<(c[n>>2]|0))b[l>>1]=c[n>>2]}}}while(0);c[k>>2]=(c[k>>2]|0)+-1;c[q>>2]=(c[q>>2]|0)+48}if((b[(c[h>>2]|0)+22>>1]|0)<=((b[j>>1]|0)-(b[l>>1]|0)|0)){i=s;return}b[(c[h>>2]|0)+22>>1]=(b[j>>1]|0)-(b[l>>1]|0);i=s;return}function EE(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;d=j+16|0;g=j;f=j+12|0;h=j+8|0;c[d>>2]=a;a=g;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[f>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){l=WR(1,0,c[h>>2]|0)|0;m=g;k=c[m+4>>2]|C;a=g;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[f>>2]=(c[f>>2]|0)+-1}m=g;C=c[m+4>>2]|0;i=j;return c[m>>2]|0}function FE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+48|0;h=g+44|0;l=g+40|0;k=g+36|0;f=g+8|0;j=g;c[h>>2]=b;c[l>>2]=d;c[k>>2]=e;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[j+4>>2]=c[l>>2];c[j>>2]=c[k>>2];c[f+4>>2]=199;c[f+24>>2]=j;wy(f,c[h>>2]|0)|0;i=g;return ((a[f+20>>0]|0)!=0^1)&1|0}function GE(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=i;i=i+224|0;l=R+180|0;m=R+176|0;n=R+172|0;o=R+168|0;p=R+208|0;S=R+164|0;B=R+160|0;q=R+156|0;A=R+152|0;C=R+148|0;k=R+144|0;Q=R+48|0;O=R;K=R+206|0;J=R+204|0;I=R+202|0;N=R+200|0;M=R+198|0;P=R+40|0;L=R+196|0;H=R+36|0;G=R+194|0;F=R+192|0;D=R+32|0;y=R+28|0;r=R+190|0;E=R+188|0;x=R+186|0;v=R+24|0;z=R+20|0;s=R+16|0;t=R+12|0;u=R+8|0;w=R+184|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;b[p>>1]=j;c[S>>2]=c[c[m>>2]>>2];c[B>>2]=c[c[S>>2]>>2];c[q>>2]=c[c[B>>2]>>2];c[H>>2]=0;c[D>>2]=0;c[y>>2]=0;c[A>>2]=c[(c[m>>2]|0)+12>>2];if(a[(c[q>>2]|0)+69>>0]|0){c[l>>2]=7;S=c[l>>2]|0;i=R;return S|0}if(c[(c[A>>2]|0)+36>>2]&32)c[k>>2]=24;else c[k>>2]=447;if((d[(c[o>>2]|0)+55>>0]|0)>>>2&1)c[k>>2]=c[k>>2]&-61;b[J>>1]=b[(c[A>>2]|0)+24>>1]|0;b[I>>1]=b[(c[A>>2]|0)+24+2>>1]|0;b[N>>1]=b[(c[A>>2]|0)+24+4>>1]|0;b[M>>1]=b[(c[A>>2]|0)+42>>1]|0;b[K>>1]=b[(c[A>>2]|0)+40>>1]|0;c[P>>2]=c[(c[A>>2]|0)+36>>2];h=c[A>>2]|0;g=c[h+4>>2]|0;S=O;c[S>>2]=c[h>>2];c[S+4>>2]=g;b[L>>1]=b[(c[A>>2]|0)+22>>1]|0;c[C>>2]=_D(Q,c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+44>>2]|0,e[J>>1]|0,c[k>>2]|0,c[o>>2]|0)|0;b[(c[A>>2]|0)+18>>1]=0;b[G>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0;b[F>>1]=qE(b[G>>1]|0)|0;a:while(1){if(!((c[H>>2]|0)==0?(c[C>>2]|0)!=0:0))break;b[r>>1]=b[(c[C>>2]|0)+12>>1]|0;c[v>>2]=0;if((e[r>>1]|0)!=256?(e[(c[C>>2]|0)+10>>1]&0|0)==0:0)j=13;else j=12;if((j|0)==12?(j=0,(HE(c[o>>2]|0,e[J>>1]|0)|0)==0):0)j=13;do if((j|0)==13?(0,g=(c[C>>2]|0)+32|0,S=(c[A>>2]|0)+8|0,!((c[g>>2]&c[S>>2]|0)!=0?1:(c[g+4>>2]&c[S+4>>2]|0)!=0)):0){if((e[(c[C>>2]|0)+10>>1]&256|0)!=0?(e[(c[C>>2]|0)+12>>1]|0)==16:0)break;if(((d[(c[n>>2]|0)+36>>0]&8|0)!=0?(c[(c[c[C>>2]>>2]|0)+4>>2]&1|0)==0:0)?(e[r>>1]&384|0)!=0:0)break;c[(c[A>>2]|0)+36>>2]=c[P>>2];b[(c[A>>2]|0)+24>>1]=b[J>>1]|0;b[(c[A>>2]|0)+24+2>>1]=b[I>>1]|0;b[(c[A>>2]|0)+24+4>>1]=b[N>>1]|0;b[(c[A>>2]|0)+40>>1]=b[K>>1]|0;if(jE(c[q>>2]|0,c[A>>2]|0,(e[(c[A>>2]|0)+40>>1]|0)+1|0)|0)break a;f=c[C>>2]|0;h=(c[A>>2]|0)+40|0;k=b[h>>1]|0;b[h>>1]=k+1<<16>>16;c[(c[(c[A>>2]|0)+48>>2]|0)+((k&65535)<<2)>>2]=f;k=O;f=(c[C>>2]|0)+32|0;h=(c[A>>2]|0)+8|0;g=(c[k+4>>2]|c[f+4>>2])&~c[h+4>>2];S=c[A>>2]|0;c[S>>2]=(c[k>>2]|c[f>>2])&~c[h>>2];c[S+4>>2]=g;b:do if(!(e[r>>1]&1)){if(e[r>>1]&130){c[t>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(e[J>>1]<<1)>>1];S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|1;if((c[t>>2]|0)!=-1){if((c[t>>2]|0)<=0)break;if(b[p>>1]|0)break;if((e[J>>1]|0)!=((e[(c[o>>2]|0)+50>>1]|0)-1|0))break}if((c[t>>2]|0)>=0?((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|65536;break}S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|4096;break}if(e[r>>1]&256){S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|8;break}j=(c[A>>2]|0)+36|0;k=c[j>>2]|0;if(e[r>>1]&36){c[j>>2]=k|34;S=(IE(c[B>>2]|0,c[(c[n>>2]|0)+44>>2]|0,c[o>>2]|0,e[J>>1]|0,c[C>>2]|0)|0)&65535;b[(c[A>>2]|0)+24+2>>1]=S;c[y>>2]=c[C>>2];c[D>>2]=0;if(!(e[(c[C>>2]|0)+10>>1]&256))break;c[D>>2]=(c[C>>2]|0)+48;if(jE(c[q>>2]|0,c[A>>2]|0,(e[(c[A>>2]|0)+40>>1]|0)+1|0)|0)break a;g=c[D>>2]|0;h=(c[A>>2]|0)+40|0;S=b[h>>1]|0;b[h>>1]=S+1<<16>>16;c[(c[(c[A>>2]|0)+48>>2]|0)+((S&65535)<<2)>>2]=g;S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|16;b[(c[A>>2]|0)+24+4>>1]=1;break}else{c[j>>2]=k|18;S=(IE(c[B>>2]|0,c[(c[n>>2]|0)+44>>2]|0,c[o>>2]|0,e[J>>1]|0,c[C>>2]|0)|0)&65535;b[(c[A>>2]|0)+24+4>>1]=S;c[D>>2]=c[C>>2];if(c[(c[A>>2]|0)+36>>2]&32)j=c[(c[(c[A>>2]|0)+48>>2]|0)+((e[(c[A>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else j=0;c[y>>2]=j;break}}else{c[z>>2]=c[c[C>>2]>>2];S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|4;if(!(c[(c[z>>2]|0)+4>>2]&2048)){if(!(c[(c[z>>2]|0)+20>>2]|0))break;if(!(c[c[(c[z>>2]|0)+20>>2]>>2]|0))break;S=c[c[(c[z>>2]|0)+20>>2]>>2]|0;c[v>>2]=(Mj(S,((S|0)<0)<<31>>31)|0)<<16>>16;break}c[v>>2]=46;c[s>>2]=0;while(1){if((c[s>>2]|0)>=((e[(c[A>>2]|0)+40>>1]|0)-1|0))break b;if((c[(c[(c[A>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]|0)!=0?(c[c[(c[(c[A>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]>>2]|0)==(c[z>>2]|0):0)c[v>>2]=0;c[s>>2]=(c[s>>2]|0)+1}}while(0);do if(!(c[(c[A>>2]|0)+36>>2]&2)){g=(c[A>>2]|0)+24|0;S=(b[g>>1]|0)+1<<16>>16;b[g>>1]=S;c[u>>2]=S&65535;if((b[(c[C>>2]|0)+8>>1]|0)<=0?(b[(c[(c[o>>2]|0)+4>>2]|0)+(e[J>>1]<<1)>>1]|0)>=0:0){S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+(b[(c[C>>2]|0)+8>>1]|0);S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(c[v>>2]|0);break}S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[(c[(c[o>>2]|0)+8>>2]|0)+(c[u>>2]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((c[u>>2]|0)-1<<1)>>1]|0));if(e[r>>1]&256){S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+10}}else JE(c[B>>2]|0,c[m>>2]|0,c[y>>2]|0,c[D>>2]|0,c[A>>2]|0)|0;while(0);b[E>>1]=(b[(c[A>>2]|0)+22>>1]|0)+1+(((b[(c[o>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[n>>2]|0)+16>>2]|0)+40>>1]|0)|0);S=nE(b[F>>1]|0,b[E>>1]|0)|0;b[(c[A>>2]|0)+20>>1]=S;if(!(c[(c[A>>2]|0)+36>>2]&320)){S=nE(b[(c[A>>2]|0)+20>>1]|0,(b[(c[A>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[A>>2]|0)+20>>1]=S}b[x>>1]=b[(c[A>>2]|0)+22>>1]|0;S=(c[A>>2]|0)+20|0;b[S>>1]=(b[S>>1]|0)+((b[p>>1]|0)+(c[v>>2]|0));S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[p>>1]|0)+(c[v>>2]|0));DE(c[(c[m>>2]|0)+4>>2]|0,c[A>>2]|0,b[G>>1]|0);c[H>>2]=wE(c[m>>2]|0,c[A>>2]|0)|0;if(c[(c[A>>2]|0)+36>>2]&2)b[(c[A>>2]|0)+22>>1]=b[L>>1]|0;else b[(c[A>>2]|0)+22>>1]=b[x>>1]|0;if((c[(c[A>>2]|0)+36>>2]&16|0)==0?(e[(c[A>>2]|0)+24>>1]|0)<(e[(c[o>>2]|0)+52>>1]|0):0)GE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[p>>1]|0)+(c[v>>2]|0)&65535)|0;b[(c[A>>2]|0)+22>>1]=b[L>>1]|0}while(0);c[C>>2]=$D(Q)|0}Q=c[O+4>>2]|0;S=c[A>>2]|0;c[S>>2]=c[O>>2];c[S+4>>2]=Q;b[(c[A>>2]|0)+24>>1]=b[J>>1]|0;b[(c[A>>2]|0)+24+2>>1]=b[I>>1]|0;b[(c[A>>2]|0)+24+4>>1]=b[N>>1]|0;b[(c[A>>2]|0)+42>>1]=b[M>>1]|0;c[(c[A>>2]|0)+36>>2]=c[P>>2];b[(c[A>>2]|0)+22>>1]=b[L>>1]|0;b[(c[A>>2]|0)+40>>1]=b[K>>1]|0;if(((((e[J>>1]|0)==(e[M>>1]|0)?((e[J>>1]|0)+1|0)<(e[(c[o>>2]|0)+50>>1]|0):0)?((d[(c[o>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[J>>1]|0)+1<<1)>>1]|0)>=42:0)?(S=jE(c[q>>2]|0,c[A>>2]|0,(e[(c[A>>2]|0)+40>>1]|0)+1|0)|0,c[H>>2]=S,(S|0)==0):0){Q=(c[A>>2]|0)+24|0;b[Q>>1]=(b[Q>>1]|0)+1<<16>>16;Q=(c[A>>2]|0)+42|0;b[Q>>1]=(b[Q>>1]|0)+1<<16>>16;Q=(c[A>>2]|0)+40|0;S=b[Q>>1]|0;b[Q>>1]=S+1<<16>>16;c[(c[(c[A>>2]|0)+48>>2]|0)+((S&65535)<<2)>>2]=0;S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|32768;b[w>>1]=(b[(c[(c[o>>2]|0)+8>>2]|0)+(e[J>>1]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[J>>1]|0)+1<<1)>>1]|0);S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(b[w>>1]|0);b[w>>1]=(b[w>>1]|0)+5;GE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[w>>1]|0)+(b[p>>1]|0)&65535)|0;b[(c[A>>2]|0)+22>>1]=b[L>>1]|0;b[(c[A>>2]|0)+24>>1]=b[J>>1]|0;b[(c[A>>2]|0)+42>>1]=b[M>>1]|0;c[(c[A>>2]|0)+36>>2]=c[P>>2]}c[l>>2]=c[H>>2];S=c[l>>2]|0;i=R;return S|0}function HE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;g=h+8|0;k=h+4|0;j=h;c[g>>2]=a;c[k>>2]=e;c[j>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];e=c[j>>2]|0;if((c[j>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(e<<4)+12>>0];k=c[f>>2]|0;i=h;return k|0}if((e|0)==-1){c[f>>2]=1;k=c[f>>2]|0;i=h;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=h;return k|0}return 0}function IE(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;s=x+16|0;w=x+12|0;q=x+41|0;r=x+40|0;t=x+8|0;u=x+4|0;v=x;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=k;c[s>>2]=cz(c[(c[c[p>>2]>>2]|0)+12>>2]|0)|0;if((c[s>>2]|0)<((e[(c[n>>2]|0)+52>>1]|0)-(c[o>>2]|0)|0))g=c[s>>2]|0;else g=(e[(c[n>>2]|0)+52>>1]|0)-(c[o>>2]|0)|0;c[s>>2]=g;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[s>>2]|0)){g=17;break}a[r>>0]=0;c[u>>2]=c[(c[(c[(c[(c[c[p>>2]>>2]|0)+12>>2]|0)+20>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[v>>2]=c[(c[c[p>>2]>>2]|0)+16>>2];g=c[w>>2]|0;j=(c[v>>2]|0)+20|0;if(c[(c[v>>2]|0)+4>>2]&2048)c[v>>2]=c[(c[(c[c[j>>2]>>2]|0)+4>>2]|0)+(g*20|0)>>2];else c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+(g*20|0)>>2];if((d[c[u>>2]>>0]|0)!=152){g=17;break}if((c[(c[u>>2]|0)+28>>2]|0)!=(c[m>>2]|0)){g=17;break}if((b[(c[u>>2]|0)+32>>1]|0)!=(b[(c[(c[n>>2]|0)+4>>2]|0)+((c[w>>2]|0)+(c[o>>2]|0)<<1)>>1]|0)){g=17;break}if((d[(c[(c[n>>2]|0)+28>>2]|0)+((c[w>>2]|0)+(c[o>>2]|0))>>0]|0)!=(d[(c[(c[n>>2]|0)+28>>2]|0)+(c[o>>2]|0)>>0]|0)){g=17;break}k=c[v>>2]|0;a[q>>0]=rB(k,ey(c[u>>2]|0)|0)|0;a[r>>0]=ly(c[(c[n>>2]|0)+12>>2]|0,b[(c[u>>2]|0)+32>>1]|0)|0;if((a[q>>0]|0)!=(a[r>>0]|0)){g=17;break}c[t>>2]=sB(c[l>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;if(!(c[t>>2]|0)){g=17;break}if(ig(c[c[t>>2]>>2]|0,c[(c[(c[n>>2]|0)+32>>2]|0)+((c[w>>2]|0)+(c[o>>2]|0)<<2)>>2]|0)|0){g=17;break}c[w>>2]=(c[w>>2]|0)+1}if((g|0)==17){i=x;return c[w>>2]|0}return 0}function JE(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;m=o;l=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;c[m>>2]=b[(c[k>>2]|0)+22>>1];b[l>>1]=KE(c[h>>2]|0,c[m>>2]&65535)|0;b[l>>1]=KE(c[j>>2]|0,b[l>>1]|0)|0;if(((c[h>>2]|0)!=0?((c[j>>2]|0)!=0?(b[(c[h>>2]|0)+8>>1]|0)>0:0):0)?(b[(c[j>>2]|0)+8>>1]|0)>0:0)b[l>>1]=(b[l>>1]|0)-20;c[m>>2]=(c[m>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[j>>2]|0)!=0&1));if((b[l>>1]|0)<10)b[l>>1]=10;if((b[l>>1]|0)>=(c[m>>2]|0)){a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=b[l>>1];a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}function KE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h;j=h+6|0;g=h+4|0;c[f>>2]=a;b[j>>1]=d;b[g>>1]=b[j>>1]|0;do if(c[f>>2]|0){d=c[f>>2]|0;if((b[(c[f>>2]|0)+8>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[d+8>>1]|0);break}if(!(e[d+10>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);i=h;return b[g>>1]|0}function LE(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[h>>2]=e;c[j>>2]=f;if(((d[c[j>>2]>>0]|0|0)==152?(c[(c[j>>2]|0)+28>>2]|0)==(c[(c[(c[h>>2]|0)+24>>2]|0)+4>>2]|0):0)?((OA(c[c[(c[h>>2]|0)+24>>2]>>2]|0,b[(c[j>>2]|0)+32>>1]|0)|0)<<16>>16|0)<0:0){a[(c[h>>2]|0)+20>>0]=1;c[g>>2]=2;e=c[g>>2]|0;i=k;return e|0}c[g>>2]=0;e=c[g>>2]|0;i=k;return e|0}function ME(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(Ky(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}do if((d[c[h>>2]>>0]|0|0)==27){if((ME(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0?(ME(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0)==0:0)break;c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}while(0);if((((d[c[h>>2]>>0]|0|0)==35?(Ky(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=34:0)?(d[c[g>>2]>>0]|0|0)!=29:0){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}c[f>>2]=0;b=c[f>>2]|0;i=k;return b|0}function NE(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+96|0;I=J+8|0;n=J+80|0;o=J+76|0;p=J+72|0;q=J;r=J+68|0;s=J+64|0;t=J+60|0;u=J+56|0;v=J+52|0;z=J+48|0;D=J+44|0;F=J+40|0;H=J+36|0;G=J+32|0;y=J+28|0;E=J+24|0;w=J+84|0;x=J+20|0;B=J+16|0;A=J+86|0;C=J+12|0;c[o>>2]=f;c[p>>2]=g;g=q;c[g>>2]=h;c[g+4>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;b[w>>1]=0;c[z>>2]=0;c[u>>2]=0;c[G>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>=(c[(c[p>>2]|0)+12>>2]|0))break;if((((c[(c[G>>2]|0)+20>>2]|0)==(c[(c[r>>2]|0)+44>>2]|0)?(g=(c[G>>2]|0)+32|0,m=q,!((c[g>>2]&c[m>>2]|0)!=0?1:(c[g+4>>2]&c[m+4>>2]|0)!=0)):0)?(e[(c[G>>2]|0)+12>>1]&-2433|0)!=0:0)?(e[(c[G>>2]|0)+10>>1]&0|0)==0:0)c[z>>2]=(c[z>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;c[G>>2]=(c[G>>2]|0)+48}c[y>>2]=0;if(c[s>>2]|0){c[x>>2]=c[c[s>>2]>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break;c[B>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2];if((d[c[B>>2]>>0]|0)!=152)break;if((c[(c[B>>2]|0)+28>>2]|0)!=(c[(c[r>>2]|0)+44>>2]|0))break;c[u>>2]=(c[u>>2]|0)+1}if((c[u>>2]|0)==(c[x>>2]|0))c[y>>2]=c[x>>2]}c[E>>2]=sh(c[c[o>>2]>>2]|0,72+((c[z>>2]|0)*20|0)+(c[y>>2]<<3)|0,0)|0;if(!(c[E>>2]|0)){Eh(c[o>>2]|0,25016,I);c[n>>2]=0;I=c[n>>2]|0;i=J;return I|0}c[D>>2]=(c[E>>2]|0)+72;c[F>>2]=(c[D>>2]|0)+((c[z>>2]|0)*12|0);c[H>>2]=(c[F>>2]|0)+(c[y>>2]<<3);c[c[E>>2]>>2]=c[z>>2];c[(c[E>>2]|0)+8>>2]=c[y>>2];c[(c[E>>2]|0)+4>>2]=c[D>>2];c[(c[E>>2]|0)+12>>2]=c[F>>2];c[(c[E>>2]|0)+16>>2]=c[H>>2];c[v>>2]=0;c[u>>2]=0;c[G>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>=(c[(c[p>>2]|0)+12>>2]|0))break;if((((c[(c[G>>2]|0)+20>>2]|0)==(c[(c[r>>2]|0)+44>>2]|0)?(m=(c[G>>2]|0)+32|0,I=q,!((c[m>>2]&c[I>>2]|0)!=0?1:(c[m+4>>2]&c[I+4>>2]|0)!=0)):0)?(e[(c[G>>2]|0)+12>>1]&-2433|0)!=0:0)?(e[(c[G>>2]|0)+10>>1]&0|0)==0:0){c[(c[D>>2]|0)+((c[v>>2]|0)*12|0)>>2]=c[(c[G>>2]|0)+28>>2];c[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+8>>2]=c[u>>2];I=b[(c[G>>2]|0)+12>>1]&255;a[A>>0]=I;a[A>>0]=(d[A>>0]|0)==1?2:I;if((d[A>>0]|0)==64)a[A>>0]=a[(c[G>>2]|0)+15>>0]|0;a[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+4>>0]=a[A>>0]|0;if((d[A>>0]&60|0)!=0?(XA(c[(c[c[G>>2]>>2]|0)+16>>2]|0)|0)!=0:0){if((c[u>>2]|0)<16)b[w>>1]=e[w>>1]|1<>2];if((d[A>>0]|0)==16)a[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+4>>0]=8;if((d[A>>0]|0)==4)a[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+4>>0]=32}c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1;c[G>>2]=(c[G>>2]|0)+48}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;c[C>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2];c[(c[F>>2]|0)+(c[u>>2]<<3)>>2]=b[(c[C>>2]|0)+32>>1];a[(c[F>>2]|0)+(c[u>>2]<<3)+4>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+12>>0]|0;c[u>>2]=(c[u>>2]|0)+1}b[c[t>>2]>>1]=b[w>>1]|0;c[n>>2]=c[E>>2];I=c[n>>2]|0;i=J;return I|0}function OE(f,g,j,k,l,m,n,o,p){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=i;i=i+96|0;G=N+16|0;I=N+88|0;J=N+84|0;O=N+8|0;s=N;t=N+94|0;K=N+80|0;q=N+92|0;r=N+76|0;F=N+72|0;z=N+68|0;E=N+64|0;u=N+60|0;x=N+56|0;M=N+52|0;L=N+48|0;A=N+44|0;B=N+40|0;y=N+36|0;C=N+32|0;v=N+28|0;D=N+24|0;w=N+20|0;c[J>>2]=f;f=O;c[f>>2]=g;c[f+4>>2]=j;f=s;c[f>>2]=k;c[f+4>>2]=l;b[t>>1]=m;c[K>>2]=n;b[q>>1]=o;c[r>>2]=p;c[F>>2]=c[(c[J>>2]|0)+4>>2];c[E>>2]=c[(c[K>>2]|0)+16>>2];c[M>>2]=0;c[L>>2]=c[(c[J>>2]|0)+12>>2];c[A>>2]=c[c[c[J>>2]>>2]>>2];c[B>>2]=(c[(c[c[J>>2]>>2]|0)+4>>2]|0)+8+((d[(c[L>>2]|0)+16>>0]|0)*72|0);c[y>>2]=c[c[K>>2]>>2];c[c[r>>2]>>2]=0;f=O;n=c[f+4>>2]|0;p=c[L>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=n;c[z>>2]=c[(c[K>>2]|0)+4>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;c[C>>2]=(c[(c[F>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+8>>2]|0)*48|0);a[(c[z>>2]|0)+5>>0]=0;n=(c[C>>2]|0)+32|0;p=s;O=(c[C>>2]|0)+32|0;if(((c[n>>2]&c[p>>2]|0)==(c[O>>2]|0)?(c[n+4>>2]&c[p+4>>2]|0)==(c[O+4>>2]|0):0)?(e[(c[C>>2]|0)+12>>1]&e[t>>1]|0)==0:0)a[(c[z>>2]|0)+5>>0]=1;c[u>>2]=(c[u>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+12}VR(c[E>>2]|0,0,c[y>>2]<<3|0)|0;c[(c[K>>2]|0)+24>>2]=0;c[(c[K>>2]|0)+20>>2]=0;c[(c[K>>2]|0)+32>>2]=0;h[(c[K>>2]|0)+40>>3]=5.e+98;C=(c[K>>2]|0)+48|0;c[C>>2]=25;c[C+4>>2]=0;c[(c[K>>2]|0)+56>>2]=0;C=(c[B>>2]|0)+56|0;p=c[C+4>>2]|0;O=(c[K>>2]|0)+64|0;c[O>>2]=c[C>>2];c[O+4>>2]=p;c[M>>2]=PE(c[A>>2]|0,c[(c[B>>2]|0)+16>>2]|0,c[K>>2]|0)|0;if(c[M>>2]|0){c[I>>2]=c[M>>2];O=c[I>>2]|0;i=N;return O|0}c[x>>2]=-1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;c[(c[(c[L>>2]|0)+48>>2]|0)+(c[u>>2]<<2)>>2]=0;c[u>>2]=(c[u>>2]|0)+1}b[(c[L>>2]|0)+24+6>>1]=0;c[z>>2]=c[(c[K>>2]|0)+4>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;O=(c[(c[E>>2]|0)+(c[u>>2]<<3)>>2]|0)-1|0;c[v>>2]=O;if((O|0)>=0){c[w>>2]=c[(c[z>>2]|0)+8>>2];if((c[w>>2]|0)<0?1:(c[v>>2]|0)>=(c[y>>2]|0)){H=19;break}if((c[w>>2]|0)>=(c[(c[F>>2]|0)+12>>2]|0)){H=19;break}if(c[(c[(c[L>>2]|0)+48>>2]|0)+(c[v>>2]<<2)>>2]|0){H=19;break}if(!(d[(c[z>>2]|0)+5>>0]|0)){H=19;break}c[D>>2]=(c[(c[F>>2]|0)+20>>2]|0)+((c[w>>2]|0)*48|0);C=(c[D>>2]|0)+32|0;O=c[L>>2]|0;n=O;p=c[n+4>>2]|c[C+4>>2];c[O>>2]=c[n>>2]|c[C>>2];c[O+4>>2]=p;c[(c[(c[L>>2]|0)+48>>2]|0)+(c[v>>2]<<2)>>2]=c[D>>2];if((c[v>>2]|0)>(c[x>>2]|0))c[x>>2]=c[v>>2];if((c[v>>2]|0)<16?(d[(c[E>>2]|0)+(c[u>>2]<<3)+4>>0]|0)!=0:0){O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]|1<>2]}if(e[(c[D>>2]|0)+12>>1]&1){c[(c[K>>2]|0)+32>>2]=0;O=(c[K>>2]|0)+56|0;c[O>>2]=c[O>>2]&-2;c[c[r>>2]>>2]=1}}c[u>>2]=(c[u>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+12}if((H|0)==19){c[M>>2]=1;O=c[A>>2]|0;c[G>>2]=c[c[(c[B>>2]|0)+16>>2]>>2];Eh(O,34806,G);c[I>>2]=c[M>>2];O=c[I>>2]|0;i=N;return O|0}O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]&~e[q>>1];b[(c[L>>2]|0)+40>>1]=(c[x>>2]|0)+1;c[(c[L>>2]|0)+24>>2]=c[(c[K>>2]|0)+20>>2];a[(c[L>>2]|0)+24+4>>0]=c[(c[K>>2]|0)+28>>2];c[(c[K>>2]|0)+28>>2]=0;c[(c[L>>2]|0)+24+8>>2]=c[(c[K>>2]|0)+24>>2];if(c[(c[K>>2]|0)+32>>2]|0)g=c[(c[K>>2]|0)+8>>2]|0;else g=0;a[(c[L>>2]|0)+24+5>>0]=g;b[(c[L>>2]|0)+18>>1]=0;g=QE(+h[(c[K>>2]|0)+40>>3])|0;b[(c[L>>2]|0)+20>>1]=g;g=(c[K>>2]|0)+48|0;g=Mj(c[g>>2]|0,c[g+4>>2]|0)|0;b[(c[L>>2]|0)+22>>1]=g;g=(c[L>>2]|0)+36|0;j=c[g>>2]|0;if(c[(c[K>>2]|0)+56>>2]&1)c[g>>2]=j|4096;else c[g>>2]=j&-4097;c[M>>2]=wE(c[J>>2]|0,c[L>>2]|0)|0;if(a[(c[L>>2]|0)+24+4>>0]|0){Kd(c[(c[L>>2]|0)+24+8>>2]|0);a[(c[L>>2]|0)+24+4>>0]=0}c[I>>2]=c[M>>2];O=c[I>>2]|0;i=N;return O|0}function PE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;j=k+8|0;h=k;e=k+28|0;m=k+24|0;l=k+20|0;f=k+16|0;g=k+12|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;c[f>>2]=c[(Ux(c[c[e>>2]>>2]|0,c[m>>2]|0)|0)+8>>2];c[g>>2]=Yb[c[(c[c[f>>2]>>2]|0)+12>>2]&255](c[f>>2]|0,c[l>>2]|0)|0;do if(c[g>>2]|0){if((c[g>>2]|0)==7){mh(c[c[e>>2]>>2]|0);break}d=c[e>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){c[j>>2]=c[(c[f>>2]|0)+8>>2];Eh(d,18391,j);break}else{c[h>>2]=lh(c[g>>2]|0)|0;Eh(d,18391,h);break}}while(0);Kd(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0;i=k;return c[(c[e>>2]|0)+36>>2]|0}function QE(a){a=+a;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+32|0;d=j+18|0;e=j+8|0;f=j;g=j+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;i=j;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Mj(~~a>>>0,+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;i=j;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=SR(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=QR(f|0,C|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;i=j;return g|0}return 0}function RE(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;q=t+8|0;o=t+4|0;p=t;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[k>>2]>>2]|0)){j=10;break}c[o>>2]=ky(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[o>>2]>>0]|0)==152?(b[(c[o>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0):0)?(c[(c[o>>2]|0)+28>>2]|0)==(c[l>>2]|0):0)?(c[p>>2]=fy(c[j>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0,(c[p>>2]|0)!=0):0)?0==(ig(c[c[p>>2]>>2]|0,c[q>>2]|0)|0):0){j=8;break}c[s>>2]=(c[s>>2]|0)+1}if((j|0)==8){c[r>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}else if((j|0)==10){c[r>>2]=-1;s=c[r>>2]|0;i=t;return s|0}return 0} -function OR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[2261]|0;if(n>>>0>>0)Ma();if((n|0)==(c[2262]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[2259]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=9068+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(n|0))Ma()}if((e|0)==(f|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ma()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ma();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ma()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=9332+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[2261]|0;if(l>>>0>>0)Ma();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Ma();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[2261]|0;if(q>>>0>>0)Ma();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[2263]|0)){s=(c[2260]|0)+h|0;c[2260]=s;c[2263]=t;c[t+4>>2]=s|1;if((t|0)!=(c[2262]|0))return;c[2262]=0;c[2259]=0;return}if((q|0)==(c[2262]|0)){s=(c[2259]|0)+h|0;c[2259]=s;c[2262]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ma();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ma()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=9332+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[2261]|0;if(p>>>0>>0)Ma();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=9068+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(q|0))Ma()}if((e|0)==(f|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ma()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[2262]|0)){c[2259]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=9068+(e<<2)|0;f=c[2257]|0;d=1<>2]|0;if(e>>>0<(c[2261]|0)>>>0)Ma();else{r=d;s=e}}else{c[2257]=f|d;r=9068+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=9332+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[2258]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[2261]|0)>>>0)Ma();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[2261]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ma();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function PR(){}function QR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function RR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function SR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function TR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return lb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function UR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else TR(b,c,d)|0;return b|0}function VR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function YR(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function ZR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function _R(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=QR(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return QR((dS(h,g,QR(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function $R(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=QR(h^a,g^b,h,g)|0;b=C;dS(a,b,QR(l^d,k^e,l,k)|0,C,j)|0;e=QR(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function aS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=ZR(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function bS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dS(a,b,c,d,0)|0}function cS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;dS(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function dS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=YR(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((YR(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=RR(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;QR(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=QR(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function eS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ob[a&255](b|0,c|0,d|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(0,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(1,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(2,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(3,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(4,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(5,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(6,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(7,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(8,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(9,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(10,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(11,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(12,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(13,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(14,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(15,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(16,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(17,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(18,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(19,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(20,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(21,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(22,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(23,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(24,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return ea(25,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(26,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(27,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(28,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(29,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(30,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(31,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(32,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(33,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(34,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(35,a|0,b|0,c|0)|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(36,a|0,b|0,c|0)|0}function QS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(37,a|0,b|0,c|0)|0}function RS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(38,a|0,b|0,c|0)|0}function SS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(39,a|0,b|0,c|0)|0}function TS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(40,a|0,b|0,c|0)|0}function US(a,b,c){a=a|0;b=b|0;c=c|0;return ea(41,a|0,b|0,c|0)|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(42,a|0,b|0,c|0)|0}function WS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(43,a|0,b|0,c|0)|0}function XS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(44,a|0,b|0,c|0)|0}function YS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(45,a|0,b|0,c|0)|0}function ZS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(46,a|0,b|0,c|0)|0}function _S(a,b,c){a=a|0;b=b|0;c=c|0;return ea(47,a|0,b|0,c|0)|0}function $S(a,b,c){a=a|0;b=b|0;c=c|0;return ea(48,a|0,b|0,c|0)|0}function aT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(49,a|0,b|0,c|0)|0}function bT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(50,a|0,b|0,c|0)|0}function cT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(51,a|0,b|0,c|0)|0}function dT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(52,a|0,b|0,c|0)|0}function eT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(53,a|0,b|0,c|0)|0}function fT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(54,a|0,b|0,c|0)|0}function gT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(55,a|0,b|0,c|0)|0}function hT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(56,a|0,b|0,c|0)|0}function iT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(57,a|0,b|0,c|0)|0}function jT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(58,a|0,b|0,c|0)|0}function kT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(59,a|0,b|0,c|0)|0}function lT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(60,a|0,b|0,c|0)|0}function mT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(61,a|0,b|0,c|0)|0}function nT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(62,a|0,b|0,c|0)|0}function oT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(63,a|0,b|0,c|0)|0}function pT(a){a=a|0;return Pb[a&255]()|0}function qT(){return ga(0)|0}function rT(){return ga(1)|0}function sT(){return ga(2)|0}function tT(){return ga(3)|0}function uT(){return ga(4)|0}function vT(){return ga(5)|0}function wT(){return ga(6)|0}function xT(){return ga(7)|0}function yT(){return ga(8)|0}function zT(){return ga(9)|0}function AT(){return ga(10)|0}function BT(){return ga(11)|0}function CT(){return ga(12)|0}function DT(){return ga(13)|0}function ET(){return ga(14)|0}function FT(){return ga(15)|0}function GT(){return ga(16)|0}function HT(){return ga(17)|0}function IT(){return ga(18)|0}function JT(){return ga(19)|0}function KT(){return ga(20)|0}function LT(){return ga(21)|0}function MT(){return ga(22)|0}function NT(){return ga(23)|0}function OT(){return ga(24)|0}function PT(){return ga(25)|0}function QT(){return ga(26)|0}function RT(){return ga(27)|0}function ST(){return ga(28)|0}function TT(){return ga(29)|0}function UT(){return ga(30)|0}function VT(){return ga(31)|0}function WT(){return ga(32)|0}function XT(){return ga(33)|0}function YT(){return ga(34)|0}function ZT(){return ga(35)|0}function _T(){return ga(36)|0}function $T(){return ga(37)|0}function aU(){return ga(38)|0}function bU(){return ga(39)|0}function cU(){return ga(40)|0}function dU(){return ga(41)|0}function eU(){return ga(42)|0}function fU(){return ga(43)|0}function gU(){return ga(44)|0}function hU(){return ga(45)|0}function iU(){return ga(46)|0}function jU(){return ga(47)|0}function kU(){return ga(48)|0}function lU(){return ga(49)|0}function mU(){return ga(50)|0}function nU(){return ga(51)|0}function oU(){return ga(52)|0}function pU(){return ga(53)|0}function qU(){return ga(54)|0}function rU(){return ga(55)|0}function sU(){return ga(56)|0}function tU(){return ga(57)|0}function uU(){return ga(58)|0}function vU(){return ga(59)|0}function wU(){return ga(60)|0}function xU(){return ga(61)|0}function yU(){return ga(62)|0}function zU(){return ga(63)|0}function AU(a,b){a=a|0;b=b|0;Qb[a&255](b|0)}function BU(a){a=a|0;ia(0,a|0)}function CU(a){a=a|0;ia(1,a|0)}function DU(a){a=a|0;ia(2,a|0)}function EU(a){a=a|0;ia(3,a|0)}function FU(a){a=a|0;ia(4,a|0)}function GU(a){a=a|0;ia(5,a|0)}function HU(a){a=a|0;ia(6,a|0)}function IU(a){a=a|0;ia(7,a|0)}function JU(a){a=a|0;ia(8,a|0)}function KU(a){a=a|0;ia(9,a|0)}function LU(a){a=a|0;ia(10,a|0)}function MU(a){a=a|0;ia(11,a|0)}function NU(a){a=a|0;ia(12,a|0)}function OU(a){a=a|0;ia(13,a|0)}function PU(a){a=a|0;ia(14,a|0)}function QU(a){a=a|0;ia(15,a|0)}function RU(a){a=a|0;ia(16,a|0)}function SU(a){a=a|0;ia(17,a|0)}function TU(a){a=a|0;ia(18,a|0)}function UU(a){a=a|0;ia(19,a|0)}function VU(a){a=a|0;ia(20,a|0)}function WU(a){a=a|0;ia(21,a|0)}function XU(a){a=a|0;ia(22,a|0)}function YU(a){a=a|0;ia(23,a|0)}function ZU(a){a=a|0;ia(24,a|0)}function _U(a){a=a|0;ia(25,a|0)}function $U(a){a=a|0;ia(26,a|0)}function aV(a){a=a|0;ia(27,a|0)}function bV(a){a=a|0;ia(28,a|0)}function cV(a){a=a|0;ia(29,a|0)}function dV(a){a=a|0;ia(30,a|0)}function eV(a){a=a|0;ia(31,a|0)}function fV(a){a=a|0;ia(32,a|0)}function gV(a){a=a|0;ia(33,a|0)}function hV(a){a=a|0;ia(34,a|0)}function iV(a){a=a|0;ia(35,a|0)}function jV(a){a=a|0;ia(36,a|0)}function kV(a){a=a|0;ia(37,a|0)}function lV(a){a=a|0;ia(38,a|0)}function mV(a){a=a|0;ia(39,a|0)}function nV(a){a=a|0;ia(40,a|0)}function oV(a){a=a|0;ia(41,a|0)}function pV(a){a=a|0;ia(42,a|0)}function qV(a){a=a|0;ia(43,a|0)}function rV(a){a=a|0;ia(44,a|0)}function sV(a){a=a|0;ia(45,a|0)}function tV(a){a=a|0;ia(46,a|0)}function uV(a){a=a|0;ia(47,a|0)}function vV(a){a=a|0;ia(48,a|0)}function wV(a){a=a|0;ia(49,a|0)}function xV(a){a=a|0;ia(50,a|0)}function yV(a){a=a|0;ia(51,a|0)}function zV(a){a=a|0;ia(52,a|0)}function AV(a){a=a|0;ia(53,a|0)}function BV(a){a=a|0;ia(54,a|0)}function CV(a){a=a|0;ia(55,a|0)}function DV(a){a=a|0;ia(56,a|0)}function EV(a){a=a|0;ia(57,a|0)}function FV(a){a=a|0;ia(58,a|0)}function GV(a){a=a|0;ia(59,a|0)}function HV(a){a=a|0;ia(60,a|0)}function IV(a){a=a|0;ia(61,a|0)}function JV(a){a=a|0;ia(62,a|0)}function KV(a){a=a|0;ia(63,a|0)}function LV(a,b,c){a=a|0;b=b|0;c=c|0;Rb[a&255](b|0,c|0)}function MV(a,b){a=a|0;b=b|0;ka(0,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ka(1,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ka(2,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ka(3,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ka(4,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ka(5,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ka(6,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ka(7,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ka(8,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ka(9,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ka(10,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ka(11,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ka(12,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ka(13,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ka(14,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ka(15,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ka(16,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ka(17,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ka(18,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ka(19,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ka(20,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ka(21,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ka(22,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ka(23,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ka(24,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ka(25,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ka(26,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ka(27,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ka(28,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ka(29,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ka(30,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ka(31,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ka(32,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ka(33,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ka(34,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ka(35,a|0,b|0)}function uW(a,b){a=a|0;b=b|0;ka(36,a|0,b|0)}function vW(a,b){a=a|0;b=b|0;ka(37,a|0,b|0)}function wW(a,b){a=a|0;b=b|0;ka(38,a|0,b|0)}function xW(a,b){a=a|0;b=b|0;ka(39,a|0,b|0)}function yW(a,b){a=a|0;b=b|0;ka(40,a|0,b|0)}function zW(a,b){a=a|0;b=b|0;ka(41,a|0,b|0)}function AW(a,b){a=a|0;b=b|0;ka(42,a|0,b|0)}function BW(a,b){a=a|0;b=b|0;ka(43,a|0,b|0)}function CW(a,b){a=a|0;b=b|0;ka(44,a|0,b|0)}function DW(a,b){a=a|0;b=b|0;ka(45,a|0,b|0)}function EW(a,b){a=a|0;b=b|0;ka(46,a|0,b|0)}function FW(a,b){a=a|0;b=b|0;ka(47,a|0,b|0)}function GW(a,b){a=a|0;b=b|0;ka(48,a|0,b|0)}function HW(a,b){a=a|0;b=b|0;ka(49,a|0,b|0)}function IW(a,b){a=a|0;b=b|0;ka(50,a|0,b|0)}function JW(a,b){a=a|0;b=b|0;ka(51,a|0,b|0)}function KW(a,b){a=a|0;b=b|0;ka(52,a|0,b|0)}function LW(a,b){a=a|0;b=b|0;ka(53,a|0,b|0)}function MW(a,b){a=a|0;b=b|0;ka(54,a|0,b|0)}function NW(a,b){a=a|0;b=b|0;ka(55,a|0,b|0)}function OW(a,b){a=a|0;b=b|0;ka(56,a|0,b|0)}function PW(a,b){a=a|0;b=b|0;ka(57,a|0,b|0)}function QW(a,b){a=a|0;b=b|0;ka(58,a|0,b|0)}function RW(a,b){a=a|0;b=b|0;ka(59,a|0,b|0)}function SW(a,b){a=a|0;b=b|0;ka(60,a|0,b|0)}function TW(a,b){a=a|0;b=b|0;ka(61,a|0,b|0)}function UW(a,b){a=a|0;b=b|0;ka(62,a|0,b|0)}function VW(a,b){a=a|0;b=b|0;ka(63,a|0,b|0)}function WW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Sb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _X(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $X(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fY(a,b){a=a|0;b=b|0;return Tb[a&255](b|0)|0}function gY(a){a=a|0;return oa(0,a|0)|0}function hY(a){a=a|0;return oa(1,a|0)|0}function iY(a){a=a|0;return oa(2,a|0)|0}function jY(a){a=a|0;return oa(3,a|0)|0}function kY(a){a=a|0;return oa(4,a|0)|0}function lY(a){a=a|0;return oa(5,a|0)|0}function mY(a){a=a|0;return oa(6,a|0)|0}function nY(a){a=a|0;return oa(7,a|0)|0}function oY(a){a=a|0;return oa(8,a|0)|0}function pY(a){a=a|0;return oa(9,a|0)|0}function qY(a){a=a|0;return oa(10,a|0)|0}function rY(a){a=a|0;return oa(11,a|0)|0}function sY(a){a=a|0;return oa(12,a|0)|0}function tY(a){a=a|0;return oa(13,a|0)|0}function uY(a){a=a|0;return oa(14,a|0)|0}function vY(a){a=a|0;return oa(15,a|0)|0}function wY(a){a=a|0;return oa(16,a|0)|0}function xY(a){a=a|0;return oa(17,a|0)|0}function yY(a){a=a|0;return oa(18,a|0)|0}function zY(a){a=a|0;return oa(19,a|0)|0}function AY(a){a=a|0;return oa(20,a|0)|0}function BY(a){a=a|0;return oa(21,a|0)|0}function CY(a){a=a|0;return oa(22,a|0)|0}function DY(a){a=a|0;return oa(23,a|0)|0}function EY(a){a=a|0;return oa(24,a|0)|0}function FY(a){a=a|0;return oa(25,a|0)|0}function GY(a){a=a|0;return oa(26,a|0)|0}function HY(a){a=a|0;return oa(27,a|0)|0}function IY(a){a=a|0;return oa(28,a|0)|0}function JY(a){a=a|0;return oa(29,a|0)|0}function KY(a){a=a|0;return oa(30,a|0)|0}function LY(a){a=a|0;return oa(31,a|0)|0}function MY(a){a=a|0;return oa(32,a|0)|0}function NY(a){a=a|0;return oa(33,a|0)|0}function OY(a){a=a|0;return oa(34,a|0)|0}function PY(a){a=a|0;return oa(35,a|0)|0}function QY(a){a=a|0;return oa(36,a|0)|0}function RY(a){a=a|0;return oa(37,a|0)|0}function SY(a){a=a|0;return oa(38,a|0)|0}function TY(a){a=a|0;return oa(39,a|0)|0}function UY(a){a=a|0;return oa(40,a|0)|0}function VY(a){a=a|0;return oa(41,a|0)|0}function WY(a){a=a|0;return oa(42,a|0)|0}function XY(a){a=a|0;return oa(43,a|0)|0}function YY(a){a=a|0;return oa(44,a|0)|0}function ZY(a){a=a|0;return oa(45,a|0)|0}function _Y(a){a=a|0;return oa(46,a|0)|0}function $Y(a){a=a|0;return oa(47,a|0)|0}function aZ(a){a=a|0;return oa(48,a|0)|0}function bZ(a){a=a|0;return oa(49,a|0)|0}function cZ(a){a=a|0;return oa(50,a|0)|0}function dZ(a){a=a|0;return oa(51,a|0)|0}function eZ(a){a=a|0;return oa(52,a|0)|0}function fZ(a){a=a|0;return oa(53,a|0)|0}function gZ(a){a=a|0;return oa(54,a|0)|0}function hZ(a){a=a|0;return oa(55,a|0)|0}function iZ(a){a=a|0;return oa(56,a|0)|0}function jZ(a){a=a|0;return oa(57,a|0)|0}function kZ(a){a=a|0;return oa(58,a|0)|0}function lZ(a){a=a|0;return oa(59,a|0)|0}function mZ(a){a=a|0;return oa(60,a|0)|0}function nZ(a){a=a|0;return oa(61,a|0)|0}function oZ(a){a=a|0;return oa(62,a|0)|0}function pZ(a){a=a|0;return oa(63,a|0)|0}function qZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ub[a&255](b|0,c|0,d|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(0,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(1,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(2,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(3,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(4,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(5,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(6,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(7,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(8,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(9,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(10,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(11,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(12,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(13,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(14,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(15,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(16,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(17,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(18,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(19,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(20,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(21,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(22,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(23,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(24,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(25,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(26,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(27,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(28,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(29,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(30,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(31,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(32,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(33,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(34,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(35,a|0,b|0,c|0)}function $Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(36,a|0,b|0,c|0)}function a_(a,b,c){a=a|0;b=b|0;c=c|0;qa(37,a|0,b|0,c|0)}function b_(a,b,c){a=a|0;b=b|0;c=c|0;qa(38,a|0,b|0,c|0)}function c_(a,b,c){a=a|0;b=b|0;c=c|0;qa(39,a|0,b|0,c|0)}function d_(a,b,c){a=a|0;b=b|0;c=c|0;qa(40,a|0,b|0,c|0)}function e_(a,b,c){a=a|0;b=b|0;c=c|0;qa(41,a|0,b|0,c|0)}function f_(a,b,c){a=a|0;b=b|0;c=c|0;qa(42,a|0,b|0,c|0)}function g_(a,b,c){a=a|0;b=b|0;c=c|0;qa(43,a|0,b|0,c|0)}function h_(a,b,c){a=a|0;b=b|0;c=c|0;qa(44,a|0,b|0,c|0)}function i_(a,b,c){a=a|0;b=b|0;c=c|0;qa(45,a|0,b|0,c|0)}function j_(a,b,c){a=a|0;b=b|0;c=c|0;qa(46,a|0,b|0,c|0)}function k_(a,b,c){a=a|0;b=b|0;c=c|0;qa(47,a|0,b|0,c|0)}function l_(a,b,c){a=a|0;b=b|0;c=c|0;qa(48,a|0,b|0,c|0)}function m_(a,b,c){a=a|0;b=b|0;c=c|0;qa(49,a|0,b|0,c|0)}function n_(a,b,c){a=a|0;b=b|0;c=c|0;qa(50,a|0,b|0,c|0)}function o_(a,b,c){a=a|0;b=b|0;c=c|0;qa(51,a|0,b|0,c|0)}function p_(a,b,c){a=a|0;b=b|0;c=c|0;qa(52,a|0,b|0,c|0)}function q_(a,b,c){a=a|0;b=b|0;c=c|0;qa(53,a|0,b|0,c|0)}function r_(a,b,c){a=a|0;b=b|0;c=c|0;qa(54,a|0,b|0,c|0)}function s_(a,b,c){a=a|0;b=b|0;c=c|0;qa(55,a|0,b|0,c|0)}function t_(a,b,c){a=a|0;b=b|0;c=c|0;qa(56,a|0,b|0,c|0)}function u_(a,b,c){a=a|0;b=b|0;c=c|0;qa(57,a|0,b|0,c|0)}function v_(a,b,c){a=a|0;b=b|0;c=c|0;qa(58,a|0,b|0,c|0)}function w_(a,b,c){a=a|0;b=b|0;c=c|0;qa(59,a|0,b|0,c|0)}function x_(a,b,c){a=a|0;b=b|0;c=c|0;qa(60,a|0,b|0,c|0)}function y_(a,b,c){a=a|0;b=b|0;c=c|0;qa(61,a|0,b|0,c|0)}function z_(a,b,c){a=a|0;b=b|0;c=c|0;qa(62,a|0,b|0,c|0)}function A_(a,b,c){a=a|0;b=b|0;c=c|0;qa(63,a|0,b|0,c|0)}function B_(a){a=a|0;Vb[a&255]()}function C_(){sa(0)}function D_(){sa(1)}function E_(){sa(2)}function F_(){sa(3)}function G_(){sa(4)}function H_(){sa(5)}function I_(){sa(6)}function J_(){sa(7)}function K_(){sa(8)}function L_(){sa(9)}function M_(){sa(10)}function N_(){sa(11)}function O_(){sa(12)}function P_(){sa(13)}function Q_(){sa(14)}function R_(){sa(15)}function S_(){sa(16)}function T_(){sa(17)}function U_(){sa(18)}function V_(){sa(19)}function W_(){sa(20)}function X_(){sa(21)}function Y_(){sa(22)}function Z_(){sa(23)}function __(){sa(24)}function $_(){sa(25)}function a$(){sa(26)}function b$(){sa(27)}function c$(){sa(28)}function d$(){sa(29)}function e$(){sa(30)}function f$(){sa(31)}function g$(){sa(32)}function h$(){sa(33)}function i$(){sa(34)}function j$(){sa(35)}function k$(){sa(36)}function l$(){sa(37)}function m$(){sa(38)}function n$(){sa(39)}function o$(){sa(40)}function p$(){sa(41)}function q$(){sa(42)}function r$(){sa(43)}function s$(){sa(44)}function t$(){sa(45)}function u$(){sa(46)}function v$(){sa(47)}function w$(){sa(48)}function x$(){sa(49)}function y$(){sa(50)}function z$(){sa(51)}function A$(){sa(52)}function B$(){sa(53)}function C$(){sa(54)}function D$(){sa(55)}function E$(){sa(56)}function F$(){sa(57)}function G$(){sa(58)}function H$(){sa(59)}function I$(){sa(60)}function J$(){sa(61)}function K$(){sa(62)}function L$(){sa(63)}function M$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wb[a&255](b|0,c|0,d|0,e|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(0,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(1,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(2,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(3,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(4,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(5,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(6,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(7,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(8,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(9,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(10,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(11,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(12,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(13,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(14,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(15,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(16,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(17,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(18,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(19,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(20,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(21,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(22,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(23,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(24,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(25,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(26,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(27,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(28,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(29,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(30,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(31,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(32,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(33,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(34,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(35,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(36,a|0,b|0,c|0,d|0)|0}function w0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(37,a|0,b|0,c|0,d|0)|0}function x0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(38,a|0,b|0,c|0,d|0)|0}function y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(39,a|0,b|0,c|0,d|0)|0}function z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(40,a|0,b|0,c|0,d|0)|0}function A0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(41,a|0,b|0,c|0,d|0)|0}function B0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(42,a|0,b|0,c|0,d|0)|0}function C0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(43,a|0,b|0,c|0,d|0)|0}function D0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(44,a|0,b|0,c|0,d|0)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(45,a|0,b|0,c|0,d|0)|0}function F0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(46,a|0,b|0,c|0,d|0)|0}function G0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(47,a|0,b|0,c|0,d|0)|0}function H0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(48,a|0,b|0,c|0,d|0)|0}function I0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(49,a|0,b|0,c|0,d|0)|0}function J0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(50,a|0,b|0,c|0,d|0)|0}function K0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(51,a|0,b|0,c|0,d|0)|0}function L0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(52,a|0,b|0,c|0,d|0)|0}function M0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(53,a|0,b|0,c|0,d|0)|0}function N0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(54,a|0,b|0,c|0,d|0)|0}function O0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(55,a|0,b|0,c|0,d|0)|0}function P0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(56,a|0,b|0,c|0,d|0)|0}function Q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(57,a|0,b|0,c|0,d|0)|0}function R0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(58,a|0,b|0,c|0,d|0)|0}function S0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(59,a|0,b|0,c|0,d|0)|0}function T0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(60,a|0,b|0,c|0,d|0)|0}function U0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(61,a|0,b|0,c|0,d|0)|0}function V0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(62,a|0,b|0,c|0,d|0)|0}function W0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(63,a|0,b|0,c|0,d|0)|0}function X0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Xb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function H1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function I1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function J1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function K1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function L1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function M1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function N1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function O1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function P1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function Q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function R1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function S1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function T1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function U1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function V1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function W1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function X1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function Y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function Z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function _1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function $1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function a2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function b2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function c2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function d2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function e2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function f2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function g2(a,b,c){a=a|0;b=b|0;c=c|0;return Yb[a&255](b|0,c|0)|0}function h2(a,b){a=a|0;b=b|0;return ya(0,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return ya(1,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return ya(2,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return ya(3,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return ya(4,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return ya(5,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return ya(6,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return ya(7,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return ya(8,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return ya(9,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return ya(10,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return ya(11,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return ya(12,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return ya(13,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return ya(14,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return ya(15,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return ya(16,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return ya(17,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return ya(18,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return ya(19,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return ya(20,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return ya(21,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return ya(22,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return ya(23,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return ya(24,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return ya(25,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return ya(26,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return ya(27,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return ya(28,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return ya(29,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return ya(30,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return ya(31,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return ya(32,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return ya(33,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return ya(34,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return ya(35,a|0,b|0)|0}function R2(a,b){a=a|0;b=b|0;return ya(36,a|0,b|0)|0}function S2(a,b){a=a|0;b=b|0;return ya(37,a|0,b|0)|0}function T2(a,b){a=a|0;b=b|0;return ya(38,a|0,b|0)|0}function U2(a,b){a=a|0;b=b|0;return ya(39,a|0,b|0)|0}function V2(a,b){a=a|0;b=b|0;return ya(40,a|0,b|0)|0}function W2(a,b){a=a|0;b=b|0;return ya(41,a|0,b|0)|0}function X2(a,b){a=a|0;b=b|0;return ya(42,a|0,b|0)|0}function Y2(a,b){a=a|0;b=b|0;return ya(43,a|0,b|0)|0}function Z2(a,b){a=a|0;b=b|0;return ya(44,a|0,b|0)|0}function _2(a,b){a=a|0;b=b|0;return ya(45,a|0,b|0)|0}function $2(a,b){a=a|0;b=b|0;return ya(46,a|0,b|0)|0}function a3(a,b){a=a|0;b=b|0;return ya(47,a|0,b|0)|0}function b3(a,b){a=a|0;b=b|0;return ya(48,a|0,b|0)|0}function c3(a,b){a=a|0;b=b|0;return ya(49,a|0,b|0)|0}function d3(a,b){a=a|0;b=b|0;return ya(50,a|0,b|0)|0}function e3(a,b){a=a|0;b=b|0;return ya(51,a|0,b|0)|0}function f3(a,b){a=a|0;b=b|0;return ya(52,a|0,b|0)|0}function g3(a,b){a=a|0;b=b|0;return ya(53,a|0,b|0)|0}function h3(a,b){a=a|0;b=b|0;return ya(54,a|0,b|0)|0}function i3(a,b){a=a|0;b=b|0;return ya(55,a|0,b|0)|0}function j3(a,b){a=a|0;b=b|0;return ya(56,a|0,b|0)|0}function k3(a,b){a=a|0;b=b|0;return ya(57,a|0,b|0)|0}function l3(a,b){a=a|0;b=b|0;return ya(58,a|0,b|0)|0}function m3(a,b){a=a|0;b=b|0;return ya(59,a|0,b|0)|0}function n3(a,b){a=a|0;b=b|0;return ya(60,a|0,b|0)|0}function o3(a,b){a=a|0;b=b|0;return ya(61,a|0,b|0)|0}function p3(a,b){a=a|0;b=b|0;return ya(62,a|0,b|0)|0}function q3(a,b){a=a|0;b=b|0;return ya(63,a|0,b|0)|0}function r3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(0,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(1,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(2,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(3,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(4,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(5,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(6,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(7,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(8,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(9,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(10,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(11,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(12,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(13,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(14,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(15,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(16,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(17,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(18,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(19,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(20,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(21,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(22,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(23,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(24,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(25,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(26,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(27,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(28,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(29,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(30,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(31,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(32,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(33,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(34,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(35,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(36,a|0,b|0,c|0,d|0,e|0)|0}function b4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(37,a|0,b|0,c|0,d|0,e|0)|0}function c4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(38,a|0,b|0,c|0,d|0,e|0)|0}function d4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(39,a|0,b|0,c|0,d|0,e|0)|0}function e4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(40,a|0,b|0,c|0,d|0,e|0)|0}function f4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(41,a|0,b|0,c|0,d|0,e|0)|0}function g4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(42,a|0,b|0,c|0,d|0,e|0)|0}function h4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(43,a|0,b|0,c|0,d|0,e|0)|0}function i4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(44,a|0,b|0,c|0,d|0,e|0)|0}function j4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(45,a|0,b|0,c|0,d|0,e|0)|0}function k4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(46,a|0,b|0,c|0,d|0,e|0)|0}function l4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(47,a|0,b|0,c|0,d|0,e|0)|0}function m4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(48,a|0,b|0,c|0,d|0,e|0)|0}function n4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(49,a|0,b|0,c|0,d|0,e|0)|0}function o4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(50,a|0,b|0,c|0,d|0,e|0)|0}function p4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(51,a|0,b|0,c|0,d|0,e|0)|0}function q4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(52,a|0,b|0,c|0,d|0,e|0)|0}function r4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(53,a|0,b|0,c|0,d|0,e|0)|0}function s4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(54,a|0,b|0,c|0,d|0,e|0)|0}function t4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(55,a|0,b|0,c|0,d|0,e|0)|0}function u4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(56,a|0,b|0,c|0,d|0,e|0)|0}function v4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(57,a|0,b|0,c|0,d|0,e|0)|0}function w4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(58,a|0,b|0,c|0,d|0,e|0)|0}function x4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(59,a|0,b|0,c|0,d|0,e|0)|0}function y4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(60,a|0,b|0,c|0,d|0,e|0)|0}function z4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(61,a|0,b|0,c|0,d|0,e|0)|0}function A4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(62,a|0,b|0,c|0,d|0,e|0)|0}function B4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(63,a|0,b|0,c|0,d|0,e|0)|0}function C4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_b[a&255](b|0,c|0,d|0,e|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(0,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(1,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(2,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(3,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(4,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(5,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(6,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(7,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(8,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(9,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(10,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(11,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(12,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(13,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(14,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(15,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(16,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(17,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(18,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(19,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(20,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(21,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(22,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(23,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(24,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(25,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(26,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(27,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(28,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(29,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(30,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(31,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(32,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(33,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(34,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(35,a|0,b|0,c|0,d|0)}function l5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(36,a|0,b|0,c|0,d|0)}function m5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(37,a|0,b|0,c|0,d|0)}function n5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(38,a|0,b|0,c|0,d|0)}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(39,a|0,b|0,c|0,d|0)}function p5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(40,a|0,b|0,c|0,d|0)}function q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(41,a|0,b|0,c|0,d|0)}function r5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(42,a|0,b|0,c|0,d|0)}function s5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(43,a|0,b|0,c|0,d|0)}function t5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(44,a|0,b|0,c|0,d|0)}function u5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(45,a|0,b|0,c|0,d|0)}function v5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(46,a|0,b|0,c|0,d|0)}function w5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(47,a|0,b|0,c|0,d|0)}function x5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(48,a|0,b|0,c|0,d|0)}function y5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(49,a|0,b|0,c|0,d|0)}function z5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(50,a|0,b|0,c|0,d|0)}function A5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(51,a|0,b|0,c|0,d|0)}function B5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(52,a|0,b|0,c|0,d|0)}function C5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(53,a|0,b|0,c|0,d|0)}function D5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(54,a|0,b|0,c|0,d|0)}function E5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(55,a|0,b|0,c|0,d|0)}function F5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(56,a|0,b|0,c|0,d|0)}function G5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(57,a|0,b|0,c|0,d|0)}function H5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(58,a|0,b|0,c|0,d|0)}function I5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(59,a|0,b|0,c|0,d|0)}function J5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(60,a|0,b|0,c|0,d|0)}function K5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(61,a|0,b|0,c|0,d|0)}function L5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(62,a|0,b|0,c|0,d|0)}function M5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(63,a|0,b|0,c|0,d|0)}function N5(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function O5(){ba(1);return 0}function P5(a){a=a|0;ba(2)}function Q5(a,b){a=a|0;b=b|0;ba(3)}function R5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function S5(a){a=a|0;ba(5);return 0}function T5(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function U5(){ba(7)}function V5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(8);return 0}function W5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(9)}function X5(a,b){a=a|0;b=b|0;ba(10);return 0}function Y5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function Z5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} +function Pb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function Qb(){return l|0}function Rb(a){a=a|0;l=a}function Sb(a,b){a=a|0;b=b|0;l=a;m=b}function Tb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Ub(a){a=a|0;D=a}function Vb(){return D|0}function Wb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[328+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}XJ(c[e>>2]|0,c[328+((c[f>>2]|0)*12|0)>>2]|0,a[328+((c[f>>2]|0)*12|0)+4>>0]|0,d[328+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[328+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[808+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}XJ(c[e>>2]|0,c[808+(c[f>>2]<<4)>>2]|0,a[808+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[808+(c[f>>2]<<4)+8>>2]|0,c[808+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}l=i;return 0}function Xb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,378,19208);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+L(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function Yb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,379,19217);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+M(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function Zb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,380,19226);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+N(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function _b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[i>>3]=0.0;if((c[k>>2]|0)!=2)La(19235,19184,570,19243);if((Ai(c[c[f>>2]>>2]|0)|0)!=5?(Ai(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+Hi(c[c[f>>2]>>2]|0);h[i>>3]=+Hi(c[(c[f>>2]|0)+4>>2]|0);Ci(c[e>>2]|0,+O(+(+h[g>>3]),+(+h[i>>3])));l=j;return}nj(c[e>>2]|0);l=j;return}function $b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,394,19252);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+l$(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,402,19262);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+n$(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,410,19272);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+o$(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function cc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+64|0;j=o+32|0;p=o+28|0;k=o+24|0;m=o+20|0;n=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;i=o;c[j>>2]=b;c[p>>2]=d;c[k>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[f>>2]=0;c[g>>2]=0;if((c[p>>2]|0)!=2)La(19235,19184,1680,19282);if((Ai(c[c[k>>2]>>2]|0)|0)!=5?(Ai(c[(c[k>>2]|0)+4>>2]|0)|0)!=5:0){c[h>>2]=Rh(c[c[k>>2]>>2]|0)|0;c[i>>2]=Rh(c[(c[k>>2]|0)+4>>2]|0)|0;_c(c[h>>2]|0,c[m>>2]|0);_c(c[i>>2]|0,c[n>>2]|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=4)break;p=$c(c[m>>2]|0)|0;if((p|0)==($c(c[n>>2]|0)|0))c[f>>2]=(c[f>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[g>>2]=(c[g>>2]|0)+1}Xh(c[j>>2]|0,c[f>>2]|0);l=o;return}nj(c[j>>2]|0);l=o;return}function dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,498,19686);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+ad(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,499,19698);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+bd(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,420,19710);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+I(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,419,19718);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+J(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,421,19726);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+K(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,422,19734);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+cd(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,446,19742);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+B_(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,438,19751);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+C_(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,454,19760);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+q$(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,456,19769);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+dd(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,474,19778);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+P(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,472,19786);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+Q(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,473,19794);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+p$(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;e=k+32|0;m=k+28|0;f=k+24|0;g=k+16|0;i=k+8|0;j=k;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[i>>3]=0.0;if((c[m>>2]|0)!=2)La(19235,19184,546,19804);if((Ai(c[c[f>>2]>>2]|0)|0)!=5?(Ai(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+Hi(c[c[f>>2]>>2]|0);h[i>>3]=+Hi(c[(c[f>>2]|0)+4>>2]|0);c[(s_()|0)>>2]=0;h[j>>3]=+H(+(+h[g>>3]),+(+h[i>>3]));m=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(m){Ci(a,+h[j>>3]);l=k;return}else{m=L_(c[(s_()|0)>>2]|0)|0;Th(a,m,c[(s_()|0)>>2]|0);l=k;return}}nj(c[e>>2]|0);l=k;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;i=j+24|0;k=j+20|0;e=j+16|0;f=j+8|0;g=j;c[i>>2]=a;c[k>>2]=b;c[e>>2]=d;h[f>>3]=0.0;d=g;c[d>>2]=0;c[d+4>>2]=0;if((c[k>>2]|0)!=1)La(19176,19184,590,19814);switch(Ai(c[c[e>>2]>>2]|0)|0){case 1:{k=g;c[k>>2]=Fi(c[c[e>>2]>>2]|0)|0;c[k+4>>2]=D;k=g;f=c[k+4>>2]|0;if((f|0)>0|(f|0)==0&(c[k>>2]|0)>>>0>0)a=1;else a=(c[g+4>>2]|0)<0?-1:0;k=g;c[k>>2]=a;c[k+4>>2]=((a|0)<0)<<31>>31;k=g;Bi(c[i>>2]|0,c[k>>2]|0,c[k+4>>2]|0);l=j;return}case 5:{nj(c[i>>2]|0);l=j;return}default:{h[f>>3]=+Hi(c[c[e>>2]>>2]|0);if(+h[f>>3]>0.0)a=1;else a=+h[f>>3]<0.0?-1:0;h[f>>3]=+(a|0);Ci(c[i>>2]|0,+h[f>>3]);l=j;return}}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,375,19823);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+G(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;d=g;c[d>>2]=0;c[d+4>>2]=0;h[i>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,514,19832);switch(Ai(c[c[f>>2]>>2]|0)|0){case 1:{i=g;c[i>>2]=Fi(c[c[f>>2]>>2]|0)|0;c[i+4>>2]=D;f=c[e>>2]|0;i=g;k=g;Bi(f,r0(c[i>>2]|0,c[i+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0,D);l=j;return}case 5:{nj(c[e>>2]|0);l=j;return}default:{h[i>>3]=+Hi(c[c[f>>2]>>2]|0);Ci(c[e>>2]|0,+h[i>>3]*+h[i>>3]);l=j;return}}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;j=l;l=l+48|0;e=j+32|0;k=j+28|0;f=j+24|0;g=j+16|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;d=j+8|0;c[d>>2]=0;c[d+4>>2]=0;if((c[k>>2]|0)!=1)La(19176,19184,620,19843);switch(Ai(c[c[f>>2]>>2]|0)|0){case 1:{k=i;c[k>>2]=Fi(c[c[f>>2]>>2]|0)|0;c[k+4>>2]=D;k=i;Bi(c[e>>2]|0,c[k>>2]|0,c[k+4>>2]|0);l=j;return}case 5:{nj(c[e>>2]|0);l=j;return}default:{h[g>>3]=+Hi(c[c[f>>2]>>2]|0);m=+R(+(+h[g>>3]));Bi(c[e>>2]|0,~~m>>>0,+F(m)>=1.0?(m>0.0?~~+T(+E(m/4294967296.0),4294967295.0)>>>0:~~+R((m-+(~~m>>>0))/4294967296.0)>>>0):0);l=j;return}}}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;j=l;l=l+48|0;e=j+32|0;k=j+28|0;f=j+24|0;g=j+16|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;d=j+8|0;c[d>>2]=0;c[d+4>>2]=0;if((c[k>>2]|0)!=1)La(19176,19184,645,19852);switch(Ai(c[c[f>>2]>>2]|0)|0){case 1:{k=i;c[k>>2]=Fi(c[c[f>>2]>>2]|0)|0;c[k+4>>2]=D;k=i;Bi(c[e>>2]|0,c[k>>2]|0,c[k+4>>2]|0);l=j;return}case 5:{nj(c[e>>2]|0);l=j;return}default:{h[g>>3]=+Hi(c[c[f>>2]>>2]|0);m=+E(+(+h[g>>3]));Bi(c[e>>2]|0,~~m>>>0,+F(m)>=1.0?(m>0.0?~~+T(+E(m/4294967296.0),4294967295.0)>>>0:~~+R((m-+(~~m>>>0))/4294967296.0)>>>0):0);l=j;return}}}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;Ci(c[f>>2]|0,3.141592653589793);l=e;return}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+64|0;g=n+48|0;o=n+44|0;h=n+40|0;i=n+36|0;j=n+32|0;k=n+24|0;m=n+16|0;e=n+8|0;f=n;c[g>>2]=a;c[o>>2]=b;c[h>>2]=d;d=f;c[d>>2]=0;c[d+4>>2]=0;if((c[o>>2]|0)!=2){l=n;return}if(5==(Ai(c[c[h>>2]>>2]|0)|0)){l=n;return}d=Fi(c[(c[h>>2]|0)+4>>2]|0)|0;o=k;c[o>>2]=d;c[o+4>>2]=D;if((c[k+4>>2]|0)<0){Th(c[g>>2]|0,19862,-1);l=n;return}d=Sh(c[c[h>>2]>>2]|0)|0;o=m;c[o>>2]=d;c[o+4>>2]=((d|0)<0)<<31>>31;o=m;d=k;d=r0(c[o>>2]|0,c[o+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;o=e;c[o>>2]=d;c[o+4>>2]=D;o=e;o=_$(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[i>>2]=pe(o)|0;o=m;o=_$(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[j>>2]=pe(o)|0;if((c[i>>2]|0)!=0&(c[j>>2]|0)!=0){o=c[j>>2]|0;j$(o,Rh(c[c[h>>2]>>2]|0)|0)|0;o=f;c[o>>2]=0;c[o+4>>2]=0;while(1){h=f;e=c[h+4>>2]|0;o=k;d=c[o+4>>2]|0;if(!((e|0)<(d|0)|((e|0)==(d|0)?(c[h>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[i>>2]|0;d=f;h=m;h=r0(c[d>>2]|0,c[d+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;j$(o+h|0,c[j>>2]|0)|0;h=f;h=_$(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;o=f;c[o>>2]=h;c[o+4>>2]=D}xi(c[g>>2]|0,c[i>>2]|0,-1,-1);_d(c[i>>2]|0);_d(c[j>>2]|0);l=n;return}wi(c[g>>2]|0);if(c[i>>2]|0)_d(c[i>>2]|0);if(!(c[j>>2]|0)){l=n;return}_d(c[j>>2]|0);l=n;return}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[k>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))La(19875,19184,1038,19893);if(5!=(Ai(c[c[g>>2]>>2]|0)|0)?5!=(Ai(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[h>>2]=Rh(c[c[g>>2]>>2]|0)|0;if(!(c[h>>2]|0)){l=m;return}c[i>>2]=Rh(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){g=(Qi(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=g;c[j>>2]=(c[j>>2]|0)<0?0:g}else c[j>>2]=0;c[k>>2]=ed(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,0)|0;Xh(c[e>>2]|0,(c[k>>2]|0)+1|0);l=m;return}nj(c[e>>2]|0);l=m;return}function zc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;i=p+32|0;q=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[q>>2]=e;c[j>>2]=f;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;if((c[q>>2]|0)!=2)La(19235,19184,1073,19907);if(5!=(Ai(c[c[j>>2]>>2]|0)|0)?5!=(Ai(c[(c[j>>2]|0)+4>>2]|0)|0):0){c[o>>2]=Rh(c[c[j>>2]>>2]|0)|0;c[n>>2]=Qi(c[(c[j>>2]|0)+4>>2]|0)|0;c[g>>2]=c[o>>2];a:while(1){if(!($c(c[g>>2]|0)|0))break;q=c[k>>2]|0;c[k>>2]=q+1;if((q|0)>=(c[n>>2]|0))break;while(1){q=(c[g>>2]|0)+1|0;c[g>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[m>>2]=(c[g>>2]|0)-(c[o>>2]|0);c[h>>2]=pe((c[g>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[h>>2]|0){G$(c[h>>2]|0,c[o>>2]|0,(c[g>>2]|0)-(c[o>>2]|0)|0)|0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;xi(c[i>>2]|0,c[h>>2]|0,-1,-1);_d(c[h>>2]|0);l=p;return}else{wi(c[i>>2]|0);l=p;return}}nj(c[i>>2]|0);l=p;return}function Ac(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;i=p+36|0;q=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[q>>2]=d;c[j>>2]=e;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;if((c[q>>2]|0)!=2)La(19235,19184,1113,19916);if(5!=(Ai(c[c[j>>2]>>2]|0)|0)?5!=(Ai(c[(c[j>>2]|0)+4>>2]|0)|0):0){c[o>>2]=Rh(c[c[j>>2]>>2]|0)|0;c[k>>2]=Qi(c[(c[j>>2]|0)+4>>2]|0)|0;c[f>>2]=c[o>>2];while(1){if(!($c(c[f>>2]|0)|0))break;do{q=(c[f>>2]|0)+1|0;c[f>>2]=q}while((192&a[q>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}c[g>>2]=c[f>>2];c[f>>2]=c[o>>2];q=(c[m>>2]|0)-(c[k>>2]|0)|0;c[n>>2]=q;c[n>>2]=(c[n>>2]|0)<0?0:q;a:while(1){q=c[n>>2]|0;c[n>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[f>>2]|0)+1|0;c[f>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[h>>2]=pe((c[g>>2]|0)-(c[f>>2]|0)+1|0)|0;if(c[h>>2]|0){j$(c[h>>2]|0,c[f>>2]|0)|0;xi(c[i>>2]|0,c[h>>2]|0,-1,-1);_d(c[h>>2]|0);l=p;return}else{wi(c[i>>2]|0);l=p;return}}nj(c[i>>2]|0);l=p;return}function Bc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;h=o+32|0;p=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;f=o+4|0;g=o;c[h>>2]=b;c[p>>2]=d;c[i>>2]=e;c[f>>2]=0;c[g>>2]=0;if(1!=(c[p>>2]|0))La(19926,19184,1323,19934);if(5==(Ai(c[c[i>>2]>>2]|0)|0)){nj(c[h>>2]|0);l=o;return}c[j>>2]=Rh(c[c[i>>2]>>2]|0)|0;c[f>>2]=g$(c[j>>2]|0)|0;c[m>>2]=pe((c[f>>2]|0)+1|0)|0;if(!(c[m>>2]|0)){wi(c[h>>2]|0);l=o;return}c[n>>2]=(c[m>>2]|0)+(c[f>>2]|0);p=c[n>>2]|0;c[n>>2]=p+-1;a[p>>0]=0;c[k>>2]=c[j>>2];a:while(1){if(!($c(c[k>>2]|0)|0))break;c[j>>2]=c[k>>2];do{p=(c[k>>2]|0)+1|0;c[k>>2]=p}while((192&a[p>>0]|0)==128);c[g>>2]=1;while(1){if(((c[k>>2]|0)+(0-(c[g>>2]|0))|0)>>>0<(c[j>>2]|0)>>>0)continue a;i=a[(c[k>>2]|0)+(0-(c[g>>2]|0))>>0]|0;p=c[n>>2]|0;c[n>>2]=p+-1;a[p>>0]=i;c[g>>2]=(c[g>>2]|0)+1}}xi(c[h>>2]|0,c[m>>2]|0,-1,-1);_d(c[m>>2]|0);l=o;return}function Cc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+24|0;o=n+20|0;f=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n+28|0;g=n;c[h>>2]=b;c[o>>2]=d;c[f>>2]=e;c[g>>2]=1;if((c[o>>2]|0)!=1)La(19176,19184,724,19946);if(5==(Ai(c[c[f>>2]>>2]|0)|0)){nj(c[h>>2]|0);l=n;return}c[i>>2]=Rh(c[c[f>>2]>>2]|0)|0;c[j>>2]=fd(c[i>>2]|0)|0;if(!(c[j>>2]|0)){wi(c[h>>2]|0);l=n;return}c[k>>2]=c[j>>2];while(1){o=c[i>>2]|0;c[i>>2]=o+1;o=a[o>>0]|0;a[m>>0]=o;if(!(o<<24>>24))break;if(T_(a[m>>0]|0)|0)c[g>>2]=1;else{b=a[m>>0]|0;if((c[g>>2]|0)==1)a[m>>0]=z_(b)|0;else a[m>>0]=x_(b)|0;c[g>>2]=0}f=a[m>>0]|0;o=c[k>>2]|0;c[k>>2]=o+1;a[o>>0]=f}a[c[k>>2]>>0]=0;xi(c[h>>2]|0,c[j>>2]|0,-1,-1);_d(c[j>>2]|0);l=n;return}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;i=o;j=o+28|0;k=o+24|0;m=o+20|0;g=o+16|0;c[n>>2]=b;c[p>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[p>>2]|0)!=2)La(19235,19184,771,19957);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[n>>2]|0);l=o;return}c[k>>2]=Rh(c[c[f>>2]>>2]|0)|0;f=Fi(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=f;c[p+4>>2]=D;if((c[h+4>>2]|0)<0){Th(c[n>>2]|0,19862,-1);l=o;return}d=gd(c[k>>2]|0,-1)|0;f=i;c[f>>2]=d;c[f+4>>2]=((d|0)<0)<<31>>31;f=i;d=c[f+4>>2]|0;p=h;e=c[p+4>>2]|0;b=c[k>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[m>>2]=fd(b)|0;b=c[n>>2]|0;if(c[m>>2]|0){xi(b,c[m>>2]|0,-1,-1);break}wi(b);l=o;return}else{p=g$(b)|0;f=h;f=_$(p|0,0,c[f>>2]|0,c[f+4>>2]|0)|0;p=i;p=Z$(f|0,D|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=_$(p|0,D|0,1,0)|0;c[m>>2]=pe(p)|0;if(!(c[m>>2]|0)){wi(c[n>>2]|0);l=o;return}c[g>>2]=c[m>>2];c[j>>2]=1;while(1){d=c[j>>2]|0;f=i;f=_$(d|0,((d|0)<0)<<31>>31|0,c[f>>2]|0,c[f+4>>2]|0)|0;d=D;p=h;e=c[p+4>>2]|0;b=c[g>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?f>>>0<=(c[p>>2]|0)>>>0:0)))break;c[g>>2]=b+1;a[b>>0]=32;c[j>>2]=(c[j>>2]|0)+1}j$(b,c[k>>2]|0)|0}while(0);xi(c[n>>2]|0,c[m>>2]|0,-1,-1);_d(c[m>>2]|0);l=o;return}function Ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;o=p+48|0;q=p+44|0;f=p+40|0;j=p+16|0;k=p+8|0;h=p;m=p+36|0;g=p+32|0;n=p+28|0;i=p+24|0;c[o>>2]=b;c[q>>2]=d;c[f>>2]=e;c[m>>2]=0;if((c[q>>2]|0)!=2)La(19235,19184,825,19994);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[o>>2]|0);l=p;return}c[g>>2]=Rh(c[c[f>>2]>>2]|0)|0;f=Fi(c[(c[f>>2]|0)+4>>2]|0)|0;q=j;c[q>>2]=f;c[q+4>>2]=D;if((c[j+4>>2]|0)<0){Th(c[o>>2]|0,19862,-1);l=p;return}d=gd(c[g>>2]|0,-1)|0;f=k;c[f>>2]=d;c[f+4>>2]=((d|0)<0)<<31>>31;f=k;d=c[f+4>>2]|0;q=j;e=c[q+4>>2]|0;b=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[n>>2]=fd(b)|0;b=c[o>>2]|0;if(c[n>>2]|0){xi(b,c[n>>2]|0,-1,-1);break}wi(b);l=p;return}else{q=h;c[q>>2]=g$(b)|0;c[q+4>>2]=0;q=h;f=j;f=_$(c[q>>2]|0,c[q+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;q=k;q=Z$(f|0,D|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=_$(q|0,D|0,1,0)|0;c[n>>2]=pe(q)|0;if(!(c[n>>2]|0)){wi(c[o>>2]|0);l=p;return}q=c[n>>2]|0;j$(q,c[g>>2]|0)|0;c[i>>2]=q+(c[h>>2]|0);c[m>>2]=1;while(1){f=c[m>>2]|0;h=k;h=_$(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=D;q=j;g=c[q+4>>2]|0;b=c[i>>2]|0;if(!((f|0)<(g|0)|((f|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[i>>2]=b+1;a[b>>0]=32;c[m>>2]=(c[m>>2]|0)+1}a[b>>0]=0}while(0);xi(c[o>>2]|0,c[n>>2]|0,-1,-1);_d(c[n>>2]|0);l=p;return}function Fc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;o=p+48|0;q=p+44|0;f=p+40|0;j=p+16|0;k=p+8|0;h=p;m=p+36|0;g=p+32|0;n=p+28|0;i=p+24|0;c[o>>2]=b;c[q>>2]=d;c[f>>2]=e;c[m>>2]=0;if((c[q>>2]|0)!=2)La(19235,19184,880,20003);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[o>>2]|0);l=p;return}c[g>>2]=Rh(c[c[f>>2]>>2]|0)|0;f=Fi(c[(c[f>>2]|0)+4>>2]|0)|0;q=j;c[q>>2]=f;c[q+4>>2]=D;if((c[j+4>>2]|0)<0){Th(c[o>>2]|0,19862,-1);l=p;return}d=gd(c[g>>2]|0,-1)|0;f=k;c[f>>2]=d;c[f+4>>2]=((d|0)<0)<<31>>31;f=k;d=c[f+4>>2]|0;q=j;e=c[q+4>>2]|0;b=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[n>>2]=fd(b)|0;b=c[o>>2]|0;if(c[n>>2]|0){xi(b,c[n>>2]|0,-1,-1);break}wi(b);l=p;return}else{q=h;c[q>>2]=g$(b)|0;c[q+4>>2]=0;q=h;f=j;f=_$(c[q>>2]|0,c[q+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;q=k;q=Z$(f|0,D|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=_$(q|0,D|0,1,0)|0;c[n>>2]=pe(q)|0;if(!(c[n>>2]|0)){wi(c[o>>2]|0);l=p;return}c[i>>2]=c[n>>2];c[m>>2]=1;while(1){d=c[m>>2]<<1;f=k;f=_$(d|0,((d|0)<0)<<31>>31|0,c[f>>2]|0,c[f+4>>2]|0)|0;d=D;q=j;e=c[q+4>>2]|0;b=c[i>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?f>>>0<=(c[q>>2]|0)>>>0:0)))break;c[i>>2]=b+1;a[b>>0]=32;c[m>>2]=(c[m>>2]|0)+1}j$(b,c[g>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+(c[h>>2]|0);while(1){f=c[m>>2]|0;h=k;h=_$(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=D;q=j;g=c[q+4>>2]|0;b=c[i>>2]|0;if(!((f|0)<(g|0)|((f|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[i>>2]=b+1;a[b>>0]=32;c[m>>2]=(c[m>>2]|0)+1}a[b>>0]=0}while(0);xi(c[o>>2]|0,c[n>>2]|0,-1,-1);_d(c[n>>2]|0);l=p;return}function Gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;k=r+44|0;s=r+40|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;f=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[k>>2]=b;c[s>>2]=d;c[m>>2]=e;c[i>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)La(19235,19184,939,20012);if((Ai(c[c[m>>2]>>2]|0)|0)!=5?(Ai(c[(c[m>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=Rh(c[c[m>>2]>>2]|0)|0;c[o>>2]=Rh(c[(c[m>>2]|0)+4>>2]|0)|0;c[g>>2]=pe((g$(c[n>>2]|0)|0)+1|0)|0;if(!(c[g>>2]|0)){wi(c[k>>2]|0);l=r;return}c[h>>2]=c[g>>2];c[p>>2]=c[n>>2];a:while(1){s=$c(c[p>>2]|0)|0;c[i>>2]=s;if(!s)break;c[q>>2]=c[o>>2];b:while(1){s=$c(c[q>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[i>>2]|0))break;while(1){s=(c[q>>2]|0)+1|0;c[q>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[f>>2]=c[q>>2];do{s=(c[f>>2]|0)+1|0;c[f>>2]=s}while((192&a[s>>0]|0)==128);G$(c[h>>2]|0,c[q>>2]|0,(c[f>>2]|0)-(c[q>>2]|0)|0)|0;c[h>>2]=(c[h>>2]|0)+((c[f>>2]|0)-(c[q>>2]|0))}while(1){s=(c[p>>2]|0)+1|0;c[p>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[h>>2]>>0]=0;xi(c[k>>2]|0,c[g>>2]|0,-1,-1);_d(c[g>>2]|0);l=r;return}nj(c[k>>2]|0);l=r;return}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;e=k+28|0;m=k+24|0;f=k+20|0;g=k+16|0;i=k+8|0;j=k;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)La(19176,19184,1395,20026);c[g>>2]=ui(c[e>>2]|0,24)|0;if(5==(Ei(c[c[f>>2]>>2]|0)|0)){l=k;return}m=(c[g>>2]|0)+16|0;e=m;e=_$(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[m>>2]=e;c[m+4>>2]=D;h[j>>3]=+Hi(c[c[f>>2]>>2]|0);h[i>>3]=+h[j>>3]-+h[c[g>>2]>>3];f=(c[g>>2]|0)+16|0;m=c[g>>2]|0;h[m>>3]=+h[m>>3]+ +h[i>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0));m=(c[g>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[i>>3]*(+h[j>>3]-+h[c[g>>2]>>3]);l=k;return}function Ic(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(c[d>>2]|0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){b=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=Z$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Ci(b,+G(+(g/(+(f>>>0)+4294967296.0*+(D|0)))));l=e;return}Ci(c[b>>2]|0,0.0);l=e;return}function Jc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(c[d>>2]|0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){b=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=Z$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Ci(b,g/(+(f>>>0)+4294967296.0*+(D|0)));l=e;return}Ci(c[b>>2]|0,0.0);l=e;return}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+80|0;e=q+64|0;r=q+60|0;j=q+56|0;m=q+52|0;n=q+8|0;o=q;p=q+48|0;k=q+44|0;f=q+40|0;g=q+28|0;i=q+16|0;c[e>>2]=a;c[r>>2]=b;c[j>>2]=d;d=n;c[d>>2]=0;c[d+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)La(19176,19184,1418,20039);c[f>>2]=Ei(c[c[j>>2]>>2]|0)|0;if((c[f>>2]|0)==5){l=q;return}c[m>>2]=ui(c[e>>2]|0,64)|0;do if(!(c[(c[m>>2]|0)+56>>2]|0)){a=S$(1,12)|0;c[(c[m>>2]|0)+56>>2]=a;a=c[m>>2]|0;if((c[f>>2]|0)==1){r=c[a+56>>2]|0;Pc(g,190);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[m>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=a+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[m>>2]|0)+56>>2]|0;Pc(i,191);c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[r+8>>2]=c[i+8>>2];break}}while(0);r=(c[m>>2]|0)+16|0;a=r;a=_$(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;c[r>>2]=a;c[r+4>>2]=D;r=(c[m>>2]|0)+48|0;a=c[c[j>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=Fi(a)|0;o=n;c[o>>2]=r;c[o+4>>2]=D;c[p>>2]=S$(1,8)|0;o=c[n+4>>2]|0;r=c[p>>2]|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;Tc(c[(c[m>>2]|0)+56>>2]|0,c[p>>2]|0);l=q;return}else{h[o>>3]=+Hi(a);c[k>>2]=S$(1,8)|0;h[c[k>>2]>>3]=+h[o>>3];Tc(c[(c[m>>2]|0)+56>>2]|0,c[k>>2]|0);l=q;return}}function Lc(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){l=e;return}Vc(c[(c[d>>2]|0)+56>>2]|0,132,c[d>>2]|0);Xc(c[(c[d>>2]|0)+56>>2]|0);R$(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){l=e;return}f=(c[d>>2]|0)+48|0;b=c[b>>2]|0;a=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=a;Bi(b,c[f>>2]|0,c[f+4>>2]|0);l=e;return}else{Ci(b,+h[a+8>>3]);l=e;return}}function Mc(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;id(c[b>>2]|0);l=e;return}function Nc(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;id(c[b>>2]|0);l=e;return}function Oc(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;a=r0(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(D|0))/4.0;id(c[b>>2]|0);l=e;return}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];l=d;return}function Qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=S$(c[h>>2]|0,c[g>>2]|0)|0;l=f;return c[e>>2]|0}function Rc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;R$(c[d>>2]|0);l=b;return}function Sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;f=j;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=Qc(1,24,19167)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];i=(c[f>>2]|0)+16|0;c[i>>2]=1;c[i+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];l=j;return}c[i>>2]=Mb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[i>>2]|0)){i=(c[c[e>>2]>>2]|0)+16|0;g=i;g=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[i>>2]=g;c[i+4>>2]=D;Rc(c[h>>2]|0);l=j;return}a=c[c[e>>2]>>2]|0;if((c[i>>2]|0)>0){Sc(a,c[g>>2]|0,c[h>>2]|0);l=j;return}else{Sc(a+4|0,c[g>>2]|0,c[h>>2]|0);l=j;return}}function Tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Sc(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);l=d;return}function Uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){l=h;return}if(c[c[e>>2]>>2]|0)Uc(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;Ob[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){l=h;return}Uc(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);l=h;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Uc(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);l=e;return}function Wc(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Rc(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)Wc(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)Wc(c[(c[b>>2]|0)+4>>2]|0);Rc(c[b>>2]|0);l=d;return}function Xc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Wc(c[c[d>>2]>>2]|0);l=b;return}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;d=g+24|0;i=g+20|0;h=g+16|0;e=g+8|0;f=g;c[i>>2]=a;c[h>>2]=b;i=c[i>>2]|0;a=c[i+4>>2]|0;b=e;c[b>>2]=c[i>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;i=c[d>>2]|0;l=g;return i|0}h=e;e=c[h+4>>2]|0;i=f;f=c[i+4>>2]|0;if((e|0)<(f|0)|((e|0)==(f|0)?(c[h>>2]|0)>>>0<(c[i>>2]|0)>>>0:0)){c[d>>2]=-1;i=c[d>>2]|0;l=g;return i|0}else{c[d>>2]=1;i=c[d>>2]|0;l=g;return i|0}return 0}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=l;l=l+32|0;d=g+24|0;j=g+20|0;i=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[i>>2]=b;h[e>>3]=+h[c[j>>2]>>3];h[f>>3]=+h[c[i>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);l=g;return c[d>>2]|0}function _c(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+16|0;i=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[i>>2]=e;c[g>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0))break;if(!((S_(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0)|0)!=0^1))break;c[g>>2]=(c[g>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0)){j$(c[i>>2]|0,19425)|0;l=k;return}e=(z_(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0)|0)&255;a[c[i>>2]>>0]=e;c[j>>2]=1;while(1){if((c[j>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0))break;c[h>>2]=d[19297+(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]&127)>>0];if((c[h>>2]|0)>0){m=(c[h>>2]|0)+48&255;b=c[i>>2]|0;e=c[j>>2]|0;c[j>>2]=e+1;a[b+e>>0]=m}c[g>>2]=(c[g>>2]|0)+1}while(1){b=c[i>>2]|0;e=c[j>>2]|0;if((c[j>>2]|0)>=4)break;c[j>>2]=e+1;a[b+e>>0]=48}a[b+e>>0]=0;l=k;return}function $c(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[19430+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;l=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;l=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[904+(c[f>>2]<<2)>>2]|0);if((c[920+(c[f>>2]<<2)>>2]&c[e>>2]|0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;l=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;l=h;return g|0}function ad(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;h[b>>3]=a;l=c;return +(+h[b>>3]*180.0/3.141592653589793)}function bd(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;h[b>>3]=a;l=c;return +(+h[b>>3]*3.141592653589793/180.0)}function cd(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=1.0/+K(+(+h[c>>3]));l=b;return +a}function dd(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=1.0/+q$(+h[c>>3]);l=b;return +a}function ed(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;m=t+40|0;n=t+36|0;o=t+32|0;p=t+28|0;q=t+24|0;r=t+20|0;g=t+16|0;h=t+12|0;i=t+8|0;j=t+4|0;k=t;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=0;c[g>>2]=-1;if(!(a[c[n>>2]>>0]|0)){c[m>>2]=-1;s=c[m>>2]|0;l=t;return s|0}a:while(1){if(!($c(c[o>>2]|0)|0))break;f=c[r>>2]|0;c[r>>2]=f+1;if((f|0)>=(c[p>>2]|0))break;while(1){f=(c[o>>2]|0)+1|0;c[o>>2]=f;if((192&a[f>>0]|0)!=128)continue a}}c[r>>2]=0;while(1){if(!($c(c[o>>2]|0)|0))break;c[h>>2]=c[n>>2];c[i>>2]=c[o>>2];do{c[j>>2]=$c(c[h>>2]|0)|0;c[k>>2]=$c(c[i>>2]|0)|0;do{f=(c[h>>2]|0)+1|0;c[h>>2]=f}while((192&a[f>>0]|0)==128);do{f=(c[i>>2]|0)+1|0;c[i>>2]=f}while((192&a[f>>0]|0)==128)}while((c[j>>2]|0?(c[j>>2]|0)==(c[k>>2]|0):0)&(c[k>>2]|0)!=0);if(!(c[j>>2]|0)){s=14;break}do{f=(c[o>>2]|0)+1|0;c[o>>2]=f}while((192&a[f>>0]|0)==128);c[r>>2]=(c[r>>2]|0)+1}if((s|0)==14)c[g>>2]=c[r>>2];if(c[q>>2]|0)c[c[q>>2]>>2]=c[o>>2];s=c[g>>2]|0;c[m>>2]=(c[g>>2]|0)>=0?s+(c[p>>2]|0)|0:s;s=c[m>>2]|0;l=t;return s|0}function fd(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=pe((g$(c[d>>2]|0)|0)+1|0)|0;a=j$(c[e>>2]|0,c[d>>2]|0)|0;l=b;return a|0}function gd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;i=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[i>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)La(19966,19184,316,19975);while(1){if(!(a[c[f>>2]>>0]|0)){b=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){b=10;break}c[f>>2]=(c[f>>2]|0)+((d[19430+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[i>>2]=(c[i>>2]|0)+1}if((b|0)==10){l=j;return c[i>>2]|0}return 0}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;m=k+32|0;i=k+16|0;n=k+28|0;f=k+8|0;g=k;j=k+24|0;c[m>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[j>>2]=c[n>>2];e=(c[j>>2]|0)+48|0;a=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[a>>2]|0;m=f;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[j>>2]|0)+32|0;n=i;a=c[j>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=a+40|0;m=n;m=_$(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=D;l=k;return}m=a+32|0;e=c[m+4>>2]|0;n=i;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){l=k;return}g=f;n=c[g+4>>2]|0;m=c[j>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[i+4>>2]|0;n=(c[j>>2]|0)+32|0;c[n>>2]=c[i>>2];c[n+4>>2]=m;n=(c[j>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;l=k;return}else{h[g>>3]=+h[a>>3];m=(c[j>>2]|0)+32|0;n=i;a=c[j>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=a+40|0;m=n;m=_$(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=D;l=k;return}m=a+32|0;e=c[m+4>>2]|0;n=i;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){l=k;return}h[(c[j>>2]|0)+8>>3]=+h[g>>3];m=c[i+4>>2]|0;n=(c[j>>2]|0)+32|0;c[n>>2]=c[i>>2];c[n+4>>2]=m;n=(c[j>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;l=k;return}}function id(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=ui(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){l=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){l=f;return}c[(c[e>>2]|0)+60>>2]=0;Vc(c[(c[e>>2]|0)+56>>2]|0,133,c[e>>2]|0);Xc(c[(c[e>>2]|0)+56>>2]|0);R$(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;Ci(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));l=f;return}g=(c[e>>2]|0)+40|0;a=c[b>>2]|0;d=c[e>>2]|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){Bi(a,b,d);l=f;return}else{g=(c[e>>2]|0)+40|0;Ci(a,(+(b>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));l=f;return}}function jd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+64|0;k=q+56|0;n=q+32|0;r=q+52|0;o=q+24|0;p=q+16|0;g=q+8|0;i=q;f=q+48|0;j=q+44|0;m=q+40|0;c[k>>2]=a;a=n;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[m>>2]=c[r>>2];if((c[(c[m>>2]|0)+60>>2]|0)>0){l=q;return}h[g>>3]=+h[(c[m>>2]|0)+24>>3];r=(c[m>>2]|0)+16|0;h[i>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[m>>2]|0)+24>>3];r=(c[m>>2]|0)+32|0;e=n;e=_$(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[f>>2]=e;e=(c[m>>2]|0)+16|0;r=(c[m>>2]|0)+32|0;r=Z$(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[j>>2]=r;do if(+(c[f>>2]|0)>=+h[g>>3]){a=c[m>>2]|0;if(!(+(c[j>>2]|0)>=+h[i>>3])){c[a+60>>2]=1;break}r=a+40|0;a=r;a=_$(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;c[r>>2]=a;c[r+4>>2]=D;r=(c[m>>2]|0)+48|0;a=c[k>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=c[a>>2]|0;p=o;c[p>>2]=r;c[p+4>>2]=((r|0)<0)<<31>>31;p=o;r=c[m>>2]|0;o=r;p=_$(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=D;break}else{h[p>>3]=+h[a>>3];r=(c[m>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[p>>3];break}}while(0);p=n;r=(c[m>>2]|0)+32|0;o=r;p=_$(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=D;l=q;return}function kd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(ld(c[d>>2]|0,20055,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=md(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=9){b=9;break}if((ld(c[d>>2]|0,c[940+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(nd(a[(c[940+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){b=7;break}c[e>>2]=(c[e>>2]|0)+1}if((b|0)==7){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}else if((b|0)==9){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function ld(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a=c[g>>2]|0;if(!(c[f>>2]|0)){c[k>>2]=a|0?-1:0;k=c[k>>2]|0;l=m;return k|0}if(!a){c[k>>2]=1;k=c[k>>2]|0;l=m;return k|0}c[i>>2]=c[f>>2];c[j>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[i>>2]>>0]|0))break;if((d[20458+(d[c[i>>2]>>0]|0)>>0]|0|0)!=(d[20458+(d[c[j>>2]>>0]|0)>>0]|0|0))break;c[i>>2]=(c[i>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if((c[h>>2]|0)<0)a=0;else a=(d[20458+(d[c[i>>2]>>0]|0)>>0]|0)-(d[20458+(d[c[j>>2]>>0]|0)>>0]|0)|0;c[k>>2]=a;k=c[k>>2]|0;l=m;return k|0}function md(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(g$(c[d>>2]|0)|0);l=e;return c[b>>2]|0}function nd(b){b=b|0;var c=0,e=0;e=l;l=l+16|0;c=e;a[c>>0]=b;l=e;return ((d[20063+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function od(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<9){c[b>>2]=c[940+(c[d>>2]<<2)>>2];d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}return 0}function pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=qd(18365)|0;m=c[g>>2]|0;l=n;return m|0}if(a[20714+(c[h>>2]|0)>>0]|0)b=rd()|0;else b=sd()|0;c[m>>2]=b;td(c[m>>2]|0);i=c[i>>2]|0;c[i>>2]=c[54516+(c[h>>2]<<2)>>2];c[i+4>>2]=0;j=c[j>>2]|0;c[j>>2]=c[54556+(c[h>>2]<<2)>>2];c[j+4>>2]=0;if(c[k>>2]|0)c[54556+(c[h>>2]<<2)>>2]=c[54516+(c[h>>2]<<2)>>2];ud(c[m>>2]|0);c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}function qd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=vd(21,c[d>>2]|0,20724)|0;l=b;return a|0}function rd(){return c[13670]|0}function sd(){return c[13620]|0}function td(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Eb[c[96>>2]&255](c[b>>2]|0);l=d;return}function ud(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Eb[c[104>>2]&255](c[b>>2]|0);l=d;return}function vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+32|0;g=f;e=f+20|0;i=f+16|0;h=f+12|0;c[e>>2]=a;c[i>>2]=b;c[h>>2]=d;d=c[e>>2]|0;h=c[h>>2]|0;a=c[i>>2]|0;b=(wd()|0)+20|0;c[g>>2]=h;c[g+4>>2]=a;c[g+8>>2]=b;xd(d,20731,g);l=f;return c[e>>2]|0}function wd(){return 24727}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){l=h;return}c[g>>2]=d;yd(c[e>>2]|0,c[f>>2]|0,g);l=h;return}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+256|0;h=e+36|0;i=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;zd(g,0,e+40|0,210,0);Ad(g,c[i>>2]|0,c[f>>2]|0);f=c[66]|0;a=c[67]|0;b=c[h>>2]|0;d=Bd(g)|0;Ib[f&255](a,b,d);l=e;return}function zd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;i=h+16|0;m=h+12|0;n=h+8|0;k=h+4|0;j=h;c[i>>2]=b;c[m>>2]=d;c[n>>2]=e;c[k>>2]=f;c[j>>2]=g;g=c[n>>2]|0;c[(c[i>>2]|0)+4>>2]=g;c[(c[i>>2]|0)+8>>2]=g;c[c[i>>2]>>2]=c[m>>2];c[(c[i>>2]|0)+12>>2]=0;c[(c[i>>2]|0)+16>>2]=c[k>>2];c[(c[i>>2]|0)+20>>2]=c[j>>2];a[(c[i>>2]|0)+24>>0]=0;a[(c[i>>2]|0)+25>>0]=0;l=h;return}function Ad(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;Ia=l;l=l+352|0;F=Ia+256|0;P=Ia+252|0;_=Ia+248|0;ja=Ia+244|0;ua=Ia+240|0;Fa=Ia+236|0;Ga=Ia+232|0;j=Ia+228|0;k=Ia+224|0;m=Ia+348|0;n=Ia+347|0;o=Ia+346|0;p=Ia+345|0;q=Ia+344|0;r=Ia+343|0;s=Ia+342|0;t=Ia+341|0;u=Ia+340|0;v=Ia+339|0;w=Ia+338|0;x=Ia+337|0;y=Ia+336|0;z=Ia+56|0;A=Ia+48|0;B=Ia+220|0;C=Ia+216|0;E=Ia+212|0;G=Ia+208|0;H=Ia+204|0;I=Ia+200|0;J=Ia+196|0;K=Ia+40|0;L=Ia+335|0;M=Ia+334|0;N=Ia+192|0;O=Ia+264|0;i=Ia+188|0;Q=Ia+184|0;R=Ia+180|0;S=Ia+176|0;T=Ia+172|0;U=Ia+32|0;V=Ia+24|0;W=Ia+168|0;X=Ia+164|0;Y=Ia+16|0;Z=Ia+160|0;$=Ia+156|0;aa=Ia+152|0;ba=Ia+148|0;ca=Ia+263|0;da=Ia+144|0;ea=Ia+262|0;fa=Ia+8|0;ga=Ia;ha=Ia+140|0;ia=Ia+136|0;ka=Ia+132|0;la=Ia+128|0;ma=Ia+124|0;na=Ia+120|0;oa=Ia+116|0;pa=Ia+112|0;qa=Ia+108|0;ra=Ia+104|0;sa=Ia+100|0;ta=Ia+261|0;va=Ia+260|0;wa=Ia+96|0;xa=Ia+92|0;ya=Ia+88|0;za=Ia+84|0;Aa=Ia+80|0;Ba=Ia+76|0;Ca=Ia+72|0;Da=Ia+68|0;Ea=Ia+64|0;c[F>>2]=b;c[P>>2]=e;c[_>>2]=f;a[v>>0]=16;c[G>>2]=0;c[N>>2]=0;c[ua>>2]=0;if(a[(c[F>>2]|0)+25>>0]|0){f=d[(c[F>>2]|0)+25>>0]&2;a[w>>0]=f;if(f&255|0){e=c[_>>2]|0;b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;c[i>>2]=f;c[N>>2]=c[i>>2]}a[x>>0]=d[(c[F>>2]|0)+25>>0]&1}else{a[x>>0]=0;a[w>>0]=0}a:while(1){i=a[c[P>>2]>>0]|0;c[ja>>2]=i;if(!i){Ha=272;break}if((c[ja>>2]|0)!=37){c[ua>>2]=c[P>>2];do{c[P>>2]=(c[P>>2]|0)+1;if(!(a[c[P>>2]>>0]|0))break}while((a[c[P>>2]>>0]|0)!=37);Pd(c[F>>2]|0,c[ua>>2]|0,(c[P>>2]|0)-(c[ua>>2]|0)|0);if(!(a[c[P>>2]>>0]|0)){Ha=272;break}}i=(c[P>>2]|0)+1|0;c[P>>2]=i;i=a[i>>0]|0;c[ja>>2]=i;if(!i){Ha=13;break}a[r>>0]=0;a[q>>0]=0;a[p>>0]=0;a[o>>0]=0;a[n>>0]=0;a[m>>0]=0;a[u>>0]=0;do{switch(c[ja>>2]|0){case 45:{a[m>>0]=1;break}case 43:{a[n>>0]=1;break}case 32:{a[o>>0]=1;break}case 35:{a[p>>0]=1;break}case 33:{a[q>>0]=1;break}case 48:{a[r>>0]=1;break}default:a[u>>0]=1}if(a[u>>0]|0)break;i=(c[P>>2]|0)+1|0;c[P>>2]=i;i=a[i>>0]|0;c[ja>>2]=i}while((i|0)!=0);if((c[ja>>2]|0)==42){if(a[w>>0]|0){i=Qd(c[N>>2]|0)|0;c[k>>2]=i}else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[Q>>2]=i;c[k>>2]=c[Q>>2]}if((c[k>>2]|0)<0){a[m>>0]=1;c[k>>2]=(c[k>>2]|0)>=-2147483647?0-(c[k>>2]|0)|0:0}i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0]}else{c[R>>2]=0;while(1){b=c[R>>2]|0;if(!((c[ja>>2]|0)>=48?(c[ja>>2]|0)<=57:0))break;c[R>>2]=(b*10|0)+(c[ja>>2]|0)-48;i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0]}c[k>>2]=b&2147483647}do if((c[ja>>2]|0)==46){i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0];if((c[ja>>2]|0)!=42){c[T>>2]=0;while(1){b=c[T>>2]|0;if(!((c[ja>>2]|0)>=48?(c[ja>>2]|0)<=57:0))break;c[T>>2]=(b*10|0)+(c[ja>>2]|0)-48;i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0]}c[Fa>>2]=b&2147483647;break}if(a[w>>0]|0){i=Qd(c[N>>2]|0)|0;c[Fa>>2]=i}else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[S>>2]=i;c[Fa>>2]=c[S>>2]}i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0];if((c[Fa>>2]|0)<0)c[Fa>>2]=(c[Fa>>2]|0)>=-2147483647?0-(c[Fa>>2]|0)|0:-1}else c[Fa>>2]=-1;while(0);do if((c[ja>>2]|0)==108){a[s>>0]=1;i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0];if((c[ja>>2]|0)==108){a[t>>0]=1;i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0];break}else{a[t>>0]=0;break}}else{a[t>>0]=0;a[s>>0]=0}while(0);c[B>>2]=20758;a[v>>0]=16;c[j>>2]=0;while(1){if((c[j>>2]|0)>=23)break;b=c[j>>2]|0;if((c[ja>>2]|0)==(a[20758+((c[j>>2]|0)*6|0)>>0]|0)){Ha=56;break}c[j>>2]=b+1}if((Ha|0)==56){Ha=0;c[B>>2]=20758+(b*6|0);if((d[x>>0]|0)==0?d[(c[B>>2]|0)+2>>0]&2|0:0){Ha=272;break}a[v>>0]=a[(c[B>>2]|0)+3>>0]|0}b:do switch(d[v>>0]|0){case 13:{a[t>>0]=0;a[s>>0]=1;Ha=62;break}case 0:case 15:{Ha=62;break}case 3:case 2:case 1:{if(a[w>>0]|0)h[A>>3]=+Rd(c[N>>2]|0);else{i=c[_>>2]|0;f=(c[i>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[i>>2]=f+8;h[fa>>3]=g;h[A>>3]=+h[fa>>3]}if((c[Fa>>2]|0)<0)c[Fa>>2]=6;do if(!(+h[A>>3]<0.0)){if(a[n>>0]|0){a[y>>0]=43;break}if(a[o>>0]|0){a[y>>0]=32;break}else{a[y>>0]=0;break}}else{h[A>>3]=-+h[A>>3];a[y>>0]=45}while(0);if((d[v>>0]|0)==3&(c[Fa>>2]|0)>0)c[Fa>>2]=(c[Fa>>2]|0)+-1;c[j>>2]=c[Fa>>2]&4095;h[K>>3]=.5;while(1){if((c[j>>2]|0)<=0)break;c[j>>2]=(c[j>>2]|0)+-1;h[K>>3]=+h[K>>3]*.1}if((d[v>>0]|0)==1)h[A>>3]=+h[A>>3]+ +h[K>>3];c[H>>2]=0;if(Sd(+h[A>>3])|0){c[ua>>2]=20945;c[Ga>>2]=3;break b}if(+h[A>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[A>>3]>=+h[ga>>3]*1.e+100?(c[H>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[H>>2]=(c[H>>2]|0)+100}while(1){if(!(+h[A>>3]>=+h[ga>>3]*1.0e10?(c[H>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[H>>2]=(c[H>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[A>>3]>=+h[ga>>3]*10.0?(c[H>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[H>>2]=(c[H>>2]|0)+1}h[A>>3]=+h[A>>3]/g;while(1){if(!(+h[A>>3]<1.0e-08))break;h[A>>3]=+h[A>>3]*1.0e8;c[H>>2]=(c[H>>2]|0)-8}while(1){if(!(+h[A>>3]<1.0))break;h[A>>3]=+h[A>>3]*10.0;c[H>>2]=(c[H>>2]|0)+-1}if((c[H>>2]|0)>350){c[ua>>2]=O;a[O>>0]=a[y>>0]|0;i=O+((a[y>>0]|0)!=0&1)|0;a[i>>0]=a[20949]|0;a[i+1>>0]=a[20950]|0;a[i+2>>0]=a[20951]|0;a[i+3>>0]=a[20952]|0;c[Ga>>2]=3+((a[y>>0]|0)!=0&1);break b}}c[ua>>2]=O;if((d[v>>0]|0)!=1?(h[A>>3]=+h[A>>3]+ +h[K>>3],+h[A>>3]>=10.0):0){h[A>>3]=+h[A>>3]*.1;c[H>>2]=(c[H>>2]|0)+1}c:do if((d[v>>0]|0)==3){a[M>>0]=((a[p>>0]|0)!=0^1)&1;do if((c[H>>2]|0)>=-4){if((c[H>>2]|0)>(c[Fa>>2]|0))break;c[Fa>>2]=(c[Fa>>2]|0)-(c[H>>2]|0);a[v>>0]=1;break c}while(0);a[v>>0]=2}else a[M>>0]=a[q>>0]|0;while(0);if((d[v>>0]|0)==2)c[I>>2]=0;else c[I>>2]=c[H>>2];i=(c[I>>2]|0)>0?c[I>>2]|0:0;f=c[Fa>>2]|0;f=_$(i|0,((i|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;i=c[k>>2]|0;i=_$(f|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;f=D;if((f|0)>0|(f|0)==0&i>>>0>55?(i=(c[I>>2]|0)>0?c[I>>2]|0:0,f=c[Fa>>2]|0,f=_$(i|0,((i|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0,i=c[k>>2]|0,i=_$(f|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0,i=_$(i|0,D|0,15,0)|0,i=Fd(i,D)|0,c[G>>2]=i,c[ua>>2]=i,(c[ua>>2]|0)==0):0){Ha=165;break a}c[C>>2]=c[ua>>2];c[J>>2]=16+((d[q>>0]|0)*10|0);a[L>>0]=((c[Fa>>2]|0)>0?1:0)|d[p>>0]|d[q>>0];if(a[y>>0]|0){f=a[y>>0]|0;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f}d:do if((c[I>>2]|0)<0){i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=48}else while(1){if((c[I>>2]|0)<0)break d;f=Td(A,J)|0;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f;c[I>>2]=(c[I>>2]|0)+-1}while(0);if(a[L>>0]|0){i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=46}c[I>>2]=(c[I>>2]|0)+1;while(1){if((c[I>>2]|0)>=0)break;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=48;c[Fa>>2]=(c[Fa>>2]|0)+-1;c[I>>2]=(c[I>>2]|0)+1}while(1){i=c[Fa>>2]|0;c[Fa>>2]=i+-1;if((i|0)<=0)break;f=Td(A,J)|0;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f}do if(d[M>>0]|0){if(!(d[L>>0]|0))break;while(1){b=(c[ua>>2]|0)+-1|0;if((a[(c[ua>>2]|0)+-1>>0]|0)!=48)break;c[ua>>2]=b;a[b>>0]=0}if((a[b>>0]|0)!=46)break;b=c[ua>>2]|0;if(a[q>>0]|0){c[ua>>2]=b+1;a[b>>0]=48;break}else{i=b+-1|0;c[ua>>2]=i;a[i>>0]=0;break}}while(0);if((d[v>>0]|0)==2){b=a[20905+(d[(c[B>>2]|0)+4>>0]|0)>>0]|0;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=b;i=(c[H>>2]|0)<0;b=c[ua>>2]|0;c[ua>>2]=b+1;if(i){a[b>>0]=45;c[H>>2]=0-(c[H>>2]|0)}else a[b>>0]=43;if((c[H>>2]|0)>=100){f=((c[H>>2]|0)/100|0)+48&255;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f;c[H>>2]=(c[H>>2]|0)%100|0}i=((c[H>>2]|0)/10|0)+48&255;f=c[ua>>2]|0;c[ua>>2]=f+1;a[f>>0]=i;f=((c[H>>2]|0)%10|0)+48&255;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f}a[c[ua>>2]>>0]=0;c[Ga>>2]=(c[ua>>2]|0)-(c[C>>2]|0);c[ua>>2]=c[C>>2];if((d[r>>0]|0)==0|(a[m>>0]|0)!=0)break b;if((c[Ga>>2]|0)>=(c[k>>2]|0))break b;c[ia>>2]=(c[k>>2]|0)-(c[Ga>>2]|0);c[ha>>2]=c[k>>2];while(1){if((c[ha>>2]|0)<(c[ia>>2]|0))break;a[(c[ua>>2]|0)+(c[ha>>2]|0)>>0]=a[(c[ua>>2]|0)+((c[ha>>2]|0)-(c[ia>>2]|0))>>0]|0;c[ha>>2]=(c[ha>>2]|0)+-1}c[ha>>2]=(a[y>>0]|0)!=0&1;while(1){i=c[ia>>2]|0;c[ia>>2]=i+-1;if(!i)break;f=c[ua>>2]|0;i=c[ha>>2]|0;c[ha>>2]=i+1;a[f+i>>0]=48}c[Ga>>2]=c[k>>2];break}case 4:{if(!(a[w>>0]|0)){i=c[(c[F>>2]|0)+12>>2]|0;e=c[_>>2]|0;b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;c[ka>>2]=f;c[c[ka>>2]>>2]=i}c[k>>2]=0;c[Ga>>2]=0;break}case 7:{a[O>>0]=37;c[ua>>2]=O;c[Ga>>2]=1;break}case 8:{if(a[w>>0]|0){c[ua>>2]=Ud(c[N>>2]|0)|0;if(c[ua>>2]|0)b=a[c[ua>>2]>>0]|0;else b=0;c[ja>>2]=b}else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[la>>2]=i;c[ja>>2]=c[la>>2]}if((c[Fa>>2]|0)>1){c[k>>2]=(c[k>>2]|0)-((c[Fa>>2]|0)-1);if(!((c[k>>2]|0)<=1|(a[m>>0]|0)!=0)){Vd(c[F>>2]|0,(c[k>>2]|0)-1|0,32);c[k>>2]=0}Vd(c[F>>2]|0,(c[Fa>>2]|0)-1|0,c[ja>>2]&255)}c[Ga>>2]=1;a[O>>0]=c[ja>>2];c[ua>>2]=O;break}case 6:case 5:{if(a[w>>0]|0){c[ua>>2]=Ud(c[N>>2]|0)|0;a[v>>0]=5}else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[ma>>2]=i;c[ua>>2]=c[ma>>2]}if(c[ua>>2]|0){if((d[v>>0]|0)==6)c[G>>2]=c[ua>>2]}else c[ua>>2]=55752;if((c[Fa>>2]|0)<0){c[Ga>>2]=md(c[ua>>2]|0)|0;break b}c[Ga>>2]=0;while(1){if((c[Ga>>2]|0)>=(c[Fa>>2]|0))break b;if(!(a[(c[ua>>2]|0)+(c[Ga>>2]|0)>>0]|0))break b;c[Ga>>2]=(c[Ga>>2]|0)+1}}case 14:case 10:case 9:{a[va>>0]=(d[v>>0]|0)==14?34:39;if(a[w>>0]|0)c[wa>>2]=Ud(c[N>>2]|0)|0;else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[xa>>2]=i;c[wa>>2]=c[xa>>2]}c[ra>>2]=(c[wa>>2]|0)==0&1;if(c[ra>>2]|0)c[wa>>2]=(d[v>>0]|0)==10?20953:20958;c[pa>>2]=c[Fa>>2];c[qa>>2]=0;c[na>>2]=0;while(1){if(!(c[pa>>2]|0))break;i=a[(c[wa>>2]|0)+(c[na>>2]|0)>>0]|0;a[ta>>0]=i;if(!(i<<24>>24))break;if((a[ta>>0]|0)==(a[va>>0]|0))c[qa>>2]=(c[qa>>2]|0)+1;c[na>>2]=(c[na>>2]|0)+1;c[pa>>2]=(c[pa>>2]|0)+-1}if(c[ra>>2]|0)b=0;else b=(d[v>>0]|0)==10;c[sa>>2]=b&1;c[qa>>2]=(c[qa>>2]|0)+((c[na>>2]|0)+3);if((c[qa>>2]|0)>70){i=c[qa>>2]|0;i=Fd(i,((i|0)<0)<<31>>31)|0;c[G>>2]=i;c[ua>>2]=i;if(!(c[ua>>2]|0)){Ha=245;break a}}else c[ua>>2]=O;c[oa>>2]=0;if(c[sa>>2]|0){e=a[va>>0]|0;f=c[ua>>2]|0;i=c[oa>>2]|0;c[oa>>2]=i+1;a[f+i>>0]=e}c[pa>>2]=c[na>>2];c[na>>2]=0;while(1){if((c[na>>2]|0)>=(c[pa>>2]|0))break;e=a[(c[wa>>2]|0)+(c[na>>2]|0)>>0]|0;a[ta>>0]=e;f=c[ua>>2]|0;i=c[oa>>2]|0;c[oa>>2]=i+1;a[f+i>>0]=e;if((a[ta>>0]|0)==(a[va>>0]|0)){e=a[ta>>0]|0;f=c[ua>>2]|0;i=c[oa>>2]|0;c[oa>>2]=i+1;a[f+i>>0]=e}c[na>>2]=(c[na>>2]|0)+1}if(c[sa>>2]|0){e=a[va>>0]|0;f=c[ua>>2]|0;i=c[oa>>2]|0;c[oa>>2]=i+1;a[f+i>>0]=e}a[(c[ua>>2]|0)+(c[oa>>2]|0)>>0]=0;c[Ga>>2]=c[oa>>2];break}case 11:{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[za>>2]=i;c[ya>>2]=c[za>>2];if(c[ya>>2]|0?c[(c[ya>>2]|0)+4>>2]|0:0)Pd(c[F>>2]|0,c[c[ya>>2]>>2]|0,c[(c[ya>>2]|0)+4>>2]|0);c[k>>2]=0;c[Ga>>2]=0;break}case 12:{e=c[_>>2]|0;i=(c[e>>2]|0)+(4-1)&~(4-1);f=c[i>>2]|0;c[e>>2]=i+4;c[Ba>>2]=f;c[Aa>>2]=c[Ba>>2];f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[Da>>2]=i;c[Ca>>2]=c[Da>>2];c[Ea>>2]=(c[Aa>>2]|0)+8+((c[Ca>>2]|0)*72|0);if(c[(c[Ea>>2]|0)+4>>2]|0){Wd(c[F>>2]|0,c[(c[Ea>>2]|0)+4>>2]|0);Pd(c[F>>2]|0,20965,1)}Wd(c[F>>2]|0,c[(c[Ea>>2]|0)+8>>2]|0);c[k>>2]=0;c[Ga>>2]=0;break}default:{Ha=272;break a}}while(0);if((Ha|0)==62){Ha=0;b=(a[w>>0]|0)!=0;do if(d[(c[B>>2]|0)+2>>0]&1|0){do if(!b){if(a[t>>0]|0){e=c[_>>2]|0;b=(c[e>>2]|0)+(8-1)&~(8-1);f=b;i=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=b+8;e=V;c[e>>2]=i;c[e+4>>2]=f;e=V;f=c[e+4>>2]|0;i=U;c[i>>2]=c[e>>2];c[i+4>>2]=f;break}i=(a[s>>0]|0)!=0;f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[f>>2]=e+4;if(i){c[W>>2]=b;f=c[W>>2]|0;i=U;c[i>>2]=f;c[i+4>>2]=((f|0)<0)<<31>>31;break}else{c[X>>2]=b;f=c[X>>2]|0;i=U;c[i>>2]=f;c[i+4>>2]=((f|0)<0)<<31>>31;break}}else{f=Qd(c[N>>2]|0)|0;i=U;c[i>>2]=f;c[i+4>>2]=D}while(0);e=U;b=c[e>>2]|0;e=c[e+4>>2]|0;if((c[U+4>>2]|0)<0){if((b|0)==0&(e|0)==-2147483648){i=z;c[i>>2]=0;c[i+4>>2]=-2147483648}else{f=U;f=Z$(0,0,c[f>>2]|0,c[f+4>>2]|0)|0;i=z;c[i>>2]=f;c[i+4>>2]=D}a[y>>0]=45;break}i=z;c[i>>2]=b;c[i+4>>2]=e;if(a[n>>0]|0){a[y>>0]=43;break}if(a[o>>0]|0){a[y>>0]=32;break}else{a[y>>0]=0;break}}else{do if(!b){if(a[t>>0]|0){e=c[_>>2]|0;b=(c[e>>2]|0)+(8-1)&~(8-1);f=b;i=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=b+8;e=Y;c[e>>2]=i;c[e+4>>2]=f;e=Y;f=c[e+4>>2]|0;i=z;c[i>>2]=c[e>>2];c[i+4>>2]=f;break}i=(a[s>>0]|0)!=0;f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[f>>2]=e+4;if(i){c[Z>>2]=b;i=z;c[i>>2]=c[Z>>2];c[i+4>>2]=0;break}else{c[$>>2]=b;i=z;c[i>>2]=c[$>>2];c[i+4>>2]=0;break}}else{f=Qd(c[N>>2]|0)|0;i=z;c[i>>2]=f;c[i+4>>2]=D}while(0);a[y>>0]=0}while(0);i=z;if((c[i>>2]|0)==0&(c[i+4>>2]|0)==0)a[p>>0]=0;if(d[r>>0]|0?(c[Fa>>2]|0)<((c[k>>2]|0)-((a[y>>0]|0)!=0&1)|0):0)c[Fa>>2]=(c[k>>2]|0)-((a[y>>0]|0)!=0&1);if((c[Fa>>2]|0)>=60){c[E>>2]=(c[Fa>>2]|0)+10;i=c[E>>2]|0;i=Fd(i,((i|0)<0)<<31>>31)|0;c[G>>2]=i;c[C>>2]=i;if(!(c[C>>2]|0)){Ha=96;break}}else{c[E>>2]=70;c[C>>2]=O}c[ua>>2]=(c[C>>2]|0)+((c[E>>2]|0)-1);if((d[v>>0]|0)==15){i=z;i=l0(c[i>>2]|0,c[i+4>>2]|0,10,0)|0;c[aa>>2]=i;if(!((c[aa>>2]|0)<4?(i=z,i=p0(c[i>>2]|0,c[i+4>>2]|0,10,0)|0,i=l0(i|0,D|0,10,0)|0,!((i|0)==1&(D|0)==0)):0))c[aa>>2]=0;i=a[20896+((c[aa>>2]<<1)+1)>>0]|0;f=(c[ua>>2]|0)+-1|0;c[ua>>2]=f;a[f>>0]=i;f=a[20896+(c[aa>>2]<<1)>>0]|0;i=(c[ua>>2]|0)+-1|0;c[ua>>2]=i;a[i>>0]=f}c[ba>>2]=20905+(d[(c[B>>2]|0)+4>>0]|0);a[ca>>0]=a[(c[B>>2]|0)+1>>0]|0;do{f=c[ba>>2]|0;i=z;i=l0(c[i>>2]|0,c[i+4>>2]|0,d[ca>>0]|0,0)|0;i=a[f+i>>0]|0;f=(c[ua>>2]|0)+-1|0;c[ua>>2]=f;a[f>>0]=i;f=z;f=p0(c[f>>2]|0,c[f+4>>2]|0,d[ca>>0]|0,0)|0;i=z;c[i>>2]=f;c[i+4>>2]=D;i=z;f=c[i+4>>2]|0}while(f>>>0>0|(f|0)==0&(c[i>>2]|0)>>>0>0);c[Ga>>2]=(c[C>>2]|0)+((c[E>>2]|0)-1)-(c[ua>>2]|0);c[j>>2]=(c[Fa>>2]|0)-(c[Ga>>2]|0);while(1){if((c[j>>2]|0)<=0)break;i=(c[ua>>2]|0)+-1|0;c[ua>>2]=i;a[i>>0]=48;c[j>>2]=(c[j>>2]|0)+-1}if(a[y>>0]|0){f=a[y>>0]|0;i=(c[ua>>2]|0)+-1|0;c[ua>>2]=i;a[i>>0]=f}e:do if(d[p>>0]|0?d[(c[B>>2]|0)+5>>0]|0:0){c[da>>2]=20938+(d[(c[B>>2]|0)+5>>0]|0);while(1){i=a[c[da>>2]>>0]|0;a[ea>>0]=i;if(!(i<<24>>24))break e;f=a[ea>>0]|0;i=(c[ua>>2]|0)+-1|0;c[ua>>2]=i;a[i>>0]=f;c[da>>2]=(c[da>>2]|0)+1}}while(0);c[Ga>>2]=(c[C>>2]|0)+((c[E>>2]|0)-1)-(c[ua>>2]|0)}c[k>>2]=(c[k>>2]|0)-(c[Ga>>2]|0);if(!((c[k>>2]|0)<=0|(a[m>>0]|0)!=0))Vd(c[F>>2]|0,c[k>>2]|0,32);Pd(c[F>>2]|0,c[ua>>2]|0,c[Ga>>2]|0);if((c[k>>2]|0)>0?d[m>>0]|0:0)Vd(c[F>>2]|0,c[k>>2]|0,32);if(c[G>>2]|0){Xd(c[c[F>>2]>>2]|0,c[G>>2]|0);c[G>>2]=0}c[P>>2]=(c[P>>2]|0)+1}if((Ha|0)==13){Pd(c[F>>2]|0,20756,1);l=Ia;return}else if((Ha|0)==96){Dd(c[F>>2]|0,1);l=Ia;return}else if((Ha|0)==165){Dd(c[F>>2]|0,1);l=Ia;return}else if((Ha|0)==245){Dd(c[F>>2]|0,1);l=Ia;return}else if((Ha|0)==272){l=Ia;return}}function Bd(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;do if((c[(c[e>>2]|0)+8>>2]|0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=Cd(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){h0(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{Dd(b,1);break}}while(0);l=f;return c[(c[e>>2]|0)+8>>2]|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;g=i;h=i+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=Ed(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=Fd(c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}return 0}function Dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;l=e;return}function Ed(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k;j=k+8|0;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+256>>2]|0){if(a[(c[h>>2]|0)+69>>0]|0){c[g>>2]=0;j=c[g>>2]|0;l=k;return j|0}}else{f=i;d=c[f+4>>2]|0;b=(c[h>>2]|0)+256|0;if(d>>>0>0|((d|0)==0?(c[f>>2]|0)>>>0>(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)){j=b+16+4|0;c[j>>2]=(c[j>>2]|0)+1;break}f=c[b+28>>2]|0;c[j>>2]=f;if(!f){j=(c[h>>2]|0)+256+16+8|0;c[j>>2]=(c[j>>2]|0)+1;break}c[(c[h>>2]|0)+256+28>>2]=c[c[j>>2]>>2];i=(c[h>>2]|0)+256+8|0;c[i>>2]=(c[i>>2]|0)+1;i=(c[h>>2]|0)+256+16|0;c[i>>2]=(c[i>>2]|0)+1;if((c[(c[h>>2]|0)+256+8>>2]|0)>(c[(c[h>>2]|0)+256+12>>2]|0))c[(c[h>>2]|0)+256+12>>2]=c[(c[h>>2]|0)+256+8>>2];c[g>>2]=c[j>>2];j=c[g>>2]|0;l=k;return j|0}while(0);j=i;c[g>>2]=Nd(c[h>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[g>>2]|0;l=k;return j|0}function Fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;l=f;return g|0}if(c[2]|0){td(c[13620]|0);Gd(c[d>>2]|0,e)|0;ud(c[13620]|0);g=c[e>>2]|0;l=f;return g|0}else{c[e>>2]=Hb[c[48>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;l=f;return g|0}return 0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[i>>2]=a;c[d>>2]=b;c[e>>2]=Hb[c[64>>2]&255](c[i>>2]|0)|0;Hd(5,c[i>>2]|0);b=54488;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=Id(0)|0;a=g;c[a>>2]=b;c[a+4>>2]=D;a=g;g=c[a>>2]|0;a=c[a+4>>2]|0;b=54488;i=c[e>>2]|0;i=Z$(c[b>>2]|0,c[b+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;b=D;if((a|0)>(b|0)|(a|0)==(b|0)&g>>>0>=i>>>0){c[13627]=1;Jd(c[e>>2]|0);break}else{c[13627]=0;break}}while(0);c[f>>2]=Hb[c[48>>2]&255](c[e>>2]|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=c[d>>2]|0;c[i>>2]=g;i=c[e>>2]|0;l=h;return i|0}c[e>>2]=Kd(c[f>>2]|0)|0;Ld(0,c[e>>2]|0);Ld(9,1);g=c[f>>2]|0;i=c[d>>2]|0;c[i>>2]=g;i=c[e>>2]|0;l=h;return i|0}function Hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[54556+(c[d>>2]<<2)>>2]|0)>>>0){l=f;return}c[54556+(c[d>>2]<<2)>>2]=c[e>>2];l=f;return}function Id(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;D=0;l=d;return c[54516+(c[b>>2]<<2)>>2]|0}function Jd(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d;c[b>>2]=a;a=54488;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){l=d;return}ud(c[13620]|0);Md(c[b>>2]|0)|0;td(c[13620]|0);l=d;return}function Kd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Hb[c[60>>2]&255](c[d>>2]|0)|0;l=b;return a|0}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;b=54516+(c[d>>2]<<2)|0;c[b>>2]=(c[b>>2]|0)+(c[f>>2]|0);if((c[54516+(c[d>>2]<<2)>>2]|0)>>>0<=(c[54556+(c[d>>2]<<2)>>2]|0)>>>0){l=e;return}c[54556+(c[d>>2]<<2)>>2]=c[54516+(c[d>>2]<<2)>>2];l=e;return}function Md(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;d=h;c[f>>2]=Fd(c[d>>2]|0,c[d+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;l=g;return h|0}Od(c[e>>2]|0);h=c[f>>2]|0;l=g;return h|0}function Od(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+69>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+70>>0]|0|0){l=f;return}a[(c[e>>2]|0)+69>>0]=1;if((c[(c[e>>2]|0)+168>>2]|0)>0)c[(c[e>>2]|0)+248>>2]=1;e=(c[e>>2]|0)+256|0;c[e>>2]=(c[e>>2]|0)+1;l=f;return}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){ok(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);l=h;return}else{d=(c[e>>2]|0)+12|0;c[d>>2]=(c[d>>2]|0)+(c[g>>2]|0);h0((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;l=h;return}}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;d=c[d>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;l=e;return d|0}else{f=c[(c[d>>2]|0)+8>>2]|0;d=(c[d>>2]|0)+4|0;a=c[d>>2]|0;c[d>>2]=a+1;a=Fi(c[f+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=D;d=b;d=c[d>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;l=e;return d|0}return 0}function Rd(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=l;l=l+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];l=e;return +f}else{a=c[(c[d>>2]|0)+8>>2]|0;g=(c[d>>2]|0)+4|0;d=c[g>>2]|0;c[g>>2]=d+1;h[b>>3]=+Hi(c[a+(d<<2)>>2]|0);f=+h[b>>3];l=e;return +f}return 0.0}function Sd(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;l=d;return c[b>>2]|0}function Td(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;i=k+8|0;j=k;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;j=a[e>>0]|0;l=k;return j|0}else{g=c[g>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;c[i>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[i>>2]|0);c[i>>2]=(c[i>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[i>>2];j=a[e>>0]|0;l=k;return j|0}return 0}function Ud(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}else{a=c[(c[d>>2]|0)+8>>2]|0;f=(c[d>>2]|0)+4|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b>>2]=Rh(c[a+(d<<2)>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}return 0}function Vd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+4|0;g=i;h=i+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;e=c[g>>2]|0;e=_$(c[(c[f>>2]|0)+12>>2]|0,0,e|0,((e|0)<0)<<31>>31|0)|0;d=D;if((d|0)>0|((d|0)==0?e>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(e=be(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=e,(e|0)<=0):0){l=i;return}while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0)break;b=a[h>>0]|0;d=c[(c[f>>2]|0)+8>>2]|0;j=(c[f>>2]|0)+12|0;e=c[j>>2]|0;c[j>>2]=e+1;a[d+e>>0]=b}l=i;return}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;Pd(a,b,md(c[e>>2]|0)|0);l=d;return}function Xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+456>>2]|0){Yd(a,b);l=g;return}if(Zd(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+256+28>>2];c[(c[d>>2]|0)+256+28>>2]=c[f>>2];f=(c[d>>2]|0)+256+8|0;c[f>>2]=(c[f>>2]|0)+-1;l=g;return}}_d(c[e>>2]|0);l=g;return}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=ae(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+456>>2]|0;c[b>>2]=(c[b>>2]|0)+a;l=d;return}function Zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+32>>2]|0)>>>0){e=0;e=e&1;l=f;return e|0}e=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+36>>2]|0)>>>0;e=e&1;l=f;return e|0}function _d(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}if(c[2]|0){td(c[13620]|0);$d(0,Kd(c[b>>2]|0)|0);$d(9,1);Eb[c[52>>2]&255](c[b>>2]|0);ud(c[13620]|0);l=d;return}else{Eb[c[52>>2]&255](c[b>>2]|0);l=d;return}}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=54516+(c[f>>2]<<2)|0;c[b>>2]=(c[b>>2]|0)-(c[e>>2]|0);l=d;return}function ae(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(c[f>>2]|0?Zd(c[f>>2]|0,c[g>>2]|0)|0:0){c[d>>2]=e[(c[f>>2]|0)+256+4>>1];g=c[d>>2]|0;l=h;return g|0}c[d>>2]=Hb[c[60>>2]&255](c[g>>2]|0)|0;g=c[d>>2]|0;l=h;return g|0}function be(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+24|0;i=m+20|0;j=m+16|0;k=m+12|0;f=m+8|0;g=m;c[i>>2]=b;c[j>>2]=e;if(a[(c[i>>2]|0)+24>>0]|0){c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}b=c[i>>2]|0;if(!(c[(c[i>>2]|0)+20>>2]|0)){c[j>>2]=(c[b+16>>2]|0)-(c[(c[i>>2]|0)+12>>2]|0)-1;Dd(c[i>>2]|0,2);c[h>>2]=c[j>>2];k=c[h>>2]|0;l=m;return k|0}if(d[b+25>>0]&4|0)b=c[(c[i>>2]|0)+8>>2]|0;else b=0;c[f>>2]=b;b=g;c[b>>2]=c[(c[i>>2]|0)+12>>2];c[b+4>>2]=0;b=(c[j>>2]|0)+1|0;e=g;b=_$(c[e>>2]|0,c[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;e=g;c[e>>2]=b;c[e+4>>2]=D;e=g;e=_$(c[e>>2]|0,c[e+4>>2]|0,c[(c[i>>2]|0)+12>>2]|0,0)|0;b=D;if((b|0)<0|((b|0)==0?e>>>0<=(c[(c[i>>2]|0)+20>>2]|0)>>>0:0)){b=g;b=_$(c[b>>2]|0,c[b+4>>2]|0,c[(c[i>>2]|0)+12>>2]|0,0)|0;e=g;c[e>>2]=b;c[e+4>>2]=D}e=g;b=c[e+4>>2]|0;if((b|0)>0|((b|0)==0?(c[e>>2]|0)>>>0>(c[(c[i>>2]|0)+20>>2]|0)>>>0:0)){ce(c[i>>2]|0);Dd(c[i>>2]|0,2);c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}c[(c[i>>2]|0)+16>>2]=c[g>>2];if(c[c[i>>2]>>2]|0)c[k>>2]=de(c[c[i>>2]>>2]|0,c[f>>2]|0,c[(c[i>>2]|0)+16>>2]|0,0)|0;else c[k>>2]=ee(c[f>>2]|0,c[(c[i>>2]|0)+16>>2]|0,0)|0;b=c[i>>2]|0;if(!(c[k>>2]|0)){ce(b);Dd(c[i>>2]|0,1);c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}if((d[b+25>>0]&4|0)==0?(c[(c[i>>2]|0)+12>>2]|0)>>>0>0:0)h0(c[k>>2]|0,c[(c[i>>2]|0)+8>>2]|0,c[(c[i>>2]|0)+12>>2]|0)|0;c[(c[i>>2]|0)+8>>2]=c[k>>2];k=ae(c[c[i>>2]>>2]|0,c[k>>2]|0)|0;c[(c[i>>2]|0)+16>>2]=k;k=(c[i>>2]|0)+25|0;a[k>>0]=d[k>>0]|4;c[h>>2]=c[j>>2];k=c[h>>2]|0;l=m;return k|0}function ce(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){e=c[e>>2]|0;e=e+8|0;c[e>>2]=0;l=f;return}Xd(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;e=c[e>>2]|0;e=e+8|0;c[e>>2]=0;l=f;return}function de(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k;c[h>>2]=a;c[i>>2]=b;a=j;c[a>>2]=d;c[a+4>>2]=f;a=c[h>>2]|0;if(!(c[i>>2]|0)){c[g>>2]=Ed(a,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[g>>2]|0;l=k;return j|0}if(Zd(a,c[i>>2]|0)|0?(f=j,d=c[f+4>>2]|0,d>>>0<0|((d|0)==0?(c[f>>2]|0)>>>0<=(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)):0){c[g>>2]=c[i>>2];j=c[g>>2]|0;l=k;return j|0}c[g>>2]=nk(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[g>>2]|0;l=k;return j|0}function ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(fe()|0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=ge(c[f>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[e>>2]|0;l=h;return g|0}return 0}function fe(){var a=0,b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;a=f+8|0;b=f+4|0;d=f;if(c[59]|0){c[a>>2]=0;g=c[a>>2]|0;l=f;return g|0}c[d>>2]=he()|0;if(c[d>>2]|0){c[a>>2]=c[d>>2];g=c[a>>2]|0;l=f;return g|0}c[b>>2]=ie(2)|0;td(c[b>>2]|0);c[61]=1;if(!(c[62]|0))c[d>>2]=je()|0;if(((c[d>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=ie(1)|0,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[d>>2]=7;if(!(c[d>>2]|0))c[64]=(c[64]|0)+1;ud(c[b>>2]|0);if(c[d>>2]|0){c[a>>2]=c[d>>2];g=c[a>>2]|0;l=f;return g|0}td(c[65]|0);if((c[59]|0)==0&(c[60]|0)==0){c[60]=1;e=54696;g=e+92|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));ke();if(!(c[63]|0))c[d>>2]=le()|0;if(!(c[d>>2]|0)){c[63]=1;c[d>>2]=me()|0}if(!(c[d>>2]|0)){ne(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}ud(c[65]|0);td(c[b>>2]|0);c[64]=(c[64]|0)+-1;if((c[64]|0)<=0){oe(c[65]|0);c[65]=0}ud(c[b>>2]|0);c[a>>2]=c[d>>2];g=c[a>>2]|0;l=f;return g|0}function ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;e=m+28|0;f=m+24|0;g=m;h=m+20|0;i=m+16|0;j=m+12|0;k=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;a=c[b>>2]|0;b=c[b+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=Fd(a,b)|0;k=c[e>>2]|0;l=m;return k|0}if((a|0)==0&(b|0)==0){_d(c[f>>2]|0);c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}d=g;b=c[d+4>>2]|0;if(b>>>0>0|(b|0)==0&(c[d>>2]|0)>>>0>=2147483392){c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}c[h>>2]=Kd(c[f>>2]|0)|0;c[i>>2]=Hb[c[64>>2]&255](c[g>>2]|0)|0;do if((c[h>>2]|0)==(c[i>>2]|0))c[k>>2]=c[f>>2];else{if(!(c[2]|0)){c[k>>2]=Mb[c[56>>2]&255](c[f>>2]|0,c[i>>2]|0)|0;break}td(c[13620]|0);Hd(5,c[g>>2]|0);c[j>>2]=(c[i>>2]|0)-(c[h>>2]|0);b=Id(0)|0;n=D;a=54488;d=c[j>>2]|0;d=Z$(c[a>>2]|0,c[a+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;a=D;if((n|0)>(a|0)|(n|0)==(a|0)&b>>>0>=d>>>0)Jd(c[j>>2]|0);c[k>>2]=Mb[c[56>>2]&255](c[f>>2]|0,c[i>>2]|0)|0;n=54488;j=c[n+4>>2]|0;if((c[k>>2]|0)==0&((j|0)>0|(j|0)==0&(c[n>>2]|0)>>>0>0)){Jd(c[g>>2]|0);c[k>>2]=Mb[c[56>>2]&255](c[f>>2]|0,c[i>>2]|0)|0}if(c[k>>2]|0){c[i>>2]=Kd(c[k>>2]|0)|0;Ld(0,(c[i>>2]|0)-(c[h>>2]|0)|0)}ud(c[13620]|0)}while(0);c[e>>2]=c[k>>2];n=c[e>>2]|0;l=m;return n|0}function he(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;a=e+8|0;b=e+4|0;d=e;c[a>>2]=0;if(c[22]|0){d=c[20]|0;d=Db[d&255]()|0;c[a>>2]=d;d=c[a>>2]|0;l=e;return d|0}c[d>>2]=80;if(c[3]|0)c[b>>2]=Zj()|0;else c[b>>2]=_j()|0;c[c[d>>2]>>2]=c[c[b>>2]>>2];c[(c[d>>2]|0)+4>>2]=c[(c[b>>2]|0)+4>>2];c[(c[d>>2]|0)+12>>2]=c[(c[b>>2]|0)+12>>2];c[(c[d>>2]|0)+16>>2]=c[(c[b>>2]|0)+16>>2];c[(c[d>>2]|0)+20>>2]=c[(c[b>>2]|0)+20>>2];c[(c[d>>2]|0)+24>>2]=c[(c[b>>2]|0)+24>>2];c[(c[d>>2]|0)+28>>2]=c[(c[b>>2]|0)+28>>2];c[(c[d>>2]|0)+32>>2]=c[(c[b>>2]|0)+32>>2];jf();c[(c[d>>2]|0)+8>>2]=c[(c[b>>2]|0)+8>>2];d=c[20]|0;d=Db[d&255]()|0;c[a>>2]=d;d=c[a>>2]|0;l=e;return d|0}function ie(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if(c[3]|0){c[b>>2]=Hb[c[88>>2]&255](c[d>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}return 0}function je(){var a=0,b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;a=g+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;if(!(c[12]|0))mg();c[13620]=0;c[13621]=0;c[13622]=0;c[13623]=0;c[13624]=0;c[13625]=0;c[13626]=0;c[13627]=0;c[13620]=ie(3)|0;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[e>>2]=c[51]&-8;c[51]=c[e>>2];c[f>>2]=c[50];c[d>>2]=c[52];c[13625]=c[f>>2];c[13626]=c[d>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=((c[d>>2]|0)-1|0))break;c[c[f>>2]>>2]=(c[f>>2]|0)+(c[e>>2]|0);c[f>>2]=c[c[f>>2]>>2];c[b>>2]=(c[b>>2]|0)+1}c[c[f>>2]>>2]=0;c[13624]=(c[f>>2]|0)+4}else{c[13624]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[a>>2]=Hb[c[68>>2]&255](c[19]|0)|0;if(!(c[a>>2]|0)){f=c[a>>2]|0;l=g;return f|0};c[13620]=0;c[13621]=0;c[13622]=0;c[13623]=0;c[13624]=0;c[13625]=0;c[13626]=0;c[13627]=0;f=c[a>>2]|0;l=g;return f|0}function ke(){Zg();_g();$g(2016,57);return}function le(){if(!(c[31]|0))kg();return Hb[c[124>>2]&255](c[30]|0)|0}function me(){var a=0,b=0,d=0;d=l;l=l+16|0;a=d+4|0;b=d;c[b>>2]=pe(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;l=d;return b|0}else{_d(c[b>>2]|0);c[a>>2]=qe()|0;b=c[a>>2]|0;l=d;return b|0}return 0}function ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[13662]|0)){l=i;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[13665]=c[f>>2];d=c[g>>2]|0;c[13672]=d;c[13666]=d;if((c[g>>2]|0)>90)a=10;else a=((c[g>>2]|0)/10|0)+1|0;c[13667]=a;c[13668]=c[e>>2];c[13671]=0;c[13673]=0;while(1){d=c[g>>2]|0;c[g>>2]=d+-1;a=c[e>>2]|0;if(!d)break;c[h>>2]=a;c[c[h>>2]>>2]=c[13671];c[13671]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[13669]=a;l=i;return}function oe(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Eb[c[92>>2]&255](c[b>>2]|0);l=d;return}function pe(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e+4|0;b=e;c[b>>2]=a;if(fe()|0){c[d>>2]=0;d=c[d>>2]|0;l=e;return d|0}if((c[b>>2]|0)<=0)a=0;else{a=c[b>>2]|0;a=Fd(a,((a|0)<0)<<31>>31)|0}c[d>>2]=a;d=c[d>>2]|0;l=e;return d|0}function qe(){var a=0,b=0;b=l;l=l+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;re(976+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}l=b;return 0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;d=i;c[f>>2]=a;c[g>>2]=b;c[d>>2]=fe()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];h=c[e>>2]|0;l=i;return h|0}c[h>>2]=ie(2)|0;td(c[h>>2]|0);se(c[f>>2]|0);a=c[13697]|0;if((c[g>>2]|0)!=0|(c[13697]|0)==0){c[(c[f>>2]|0)+12>>2]=a;c[13697]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[a+12>>2];c[(c[13697]|0)+12>>2]=c[f>>2]}ud(c[h>>2]|0);c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}function se(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){l=f;return}if((c[13697]|0)==(c[d>>2]|0)){c[13697]=c[(c[d>>2]|0)+12>>2];l=f;return}if(!(c[13697]|0)){l=f;return}c[e>>2]=c[13697];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){l=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];l=f;return}function te(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+624|0;B=H+92|0;C=H+88|0;D=H+84|0;E=H+80|0;F=H+76|0;g=H+72|0;h=H+68|0;i=H+64|0;j=H+60|0;k=H+56|0;m=H+52|0;n=H+48|0;o=H+44|0;p=H+40|0;q=H+36|0;r=H+32|0;s=H+28|0;t=H+24|0;u=H+20|0;v=H+96|0;w=H+16|0;x=H+12|0;y=H+8|0;z=H+4|0;A=H;c[C>>2]=a;c[D>>2]=b;c[E>>2]=d;c[F>>2]=e;c[g>>2]=f;c[h>>2]=c[E>>2];c[i>>2]=-1;c[j>>2]=0;c[k>>2]=c[F>>2]&-256;c[n>>2]=0;c[o>>2]=0;c[p>>2]=c[F>>2]&16;c[q>>2]=c[F>>2]&8;c[r>>2]=c[F>>2]&4;c[s>>2]=c[F>>2]&1;c[t>>2]=c[F>>2]&2;if(c[r>>2]|0)if((c[k>>2]|0)==16384|(c[k>>2]|0)==2048)a=1;else a=(c[k>>2]|0)==524288;else a=0;c[u>>2]=a&1;c[w>>2]=c[D>>2];f=c[13698]|0;if((f|0)!=(w$()|0)){c[13698]=w$()|0;sf(0,0)}a=c[h>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=c[w>>2]|0;do if((c[k>>2]|0)!=256){if(!a){c[n>>2]=pf(c[(c[C>>2]|0)+8>>2]|0,v)|0;if(!(c[n>>2]|0)){c[w>>2]=v;break}c[B>>2]=c[n>>2];G=c[B>>2]|0;l=H;return G|0}}else{c[x>>2]=Kf(a,c[F>>2]|0)|0;if(!(c[x>>2]|0)){c[x>>2]=of(12,0)|0;if(!(c[x>>2]|0)){c[B>>2]=7;G=c[B>>2]|0;l=H;return G|0}}else c[i>>2]=c[c[x>>2]>>2];c[(c[h>>2]|0)+28>>2]=c[x>>2]}while(0);if(c[s>>2]|0)c[j>>2]=c[j>>2];if(c[t>>2]|0)c[j>>2]=c[j>>2]|2;if(c[r>>2]|0)c[j>>2]=c[j>>2]|64;if(c[p>>2]|0)c[j>>2]=c[j>>2]|131200;c[j>>2]=c[j>>2];do if((c[i>>2]|0)<0){c[n>>2]=Lf(c[w>>2]|0,c[F>>2]|0,y,z,A)|0;if(c[n>>2]|0){c[B>>2]=c[n>>2];G=c[B>>2]|0;l=H;return G|0}c[i>>2]=ff(c[w>>2]|0,c[j>>2]|0,c[y>>2]|0)|0;if((c[i>>2]|0)<0?(x=(c[(s_()|0)>>2]|0)!=21,x&(c[t>>2]|0)!=0):0){c[F>>2]=c[F>>2]&-7;c[j>>2]=c[j>>2]&-67;c[F>>2]=c[F>>2]|1;c[j>>2]=c[j>>2];c[s>>2]=1;c[i>>2]=ff(c[w>>2]|0,c[j>>2]|0,c[y>>2]|0)|0}if((c[i>>2]|0)<0){F=gf(35186)|0;c[n>>2]=af(F,21042,c[w>>2]|0,35186)|0;break}if(c[F>>2]&526336|0){Mf(c[i>>2]|0,c[z>>2]|0,c[A>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[g>>2]|0)c[c[g>>2]>>2]=c[F>>2];if(c[(c[h>>2]|0)+28>>2]|0){c[c[(c[h>>2]|0)+28>>2]>>2]=c[i>>2];c[(c[(c[h>>2]|0)+28>>2]|0)+4>>2]=c[F>>2]}if(c[q>>2]|0)Hb[c[1612>>2]&255](c[w>>2]|0)|0;if(c[q>>2]|0)c[o>>2]=c[o>>2]|32;if(c[s>>2]|0)c[o>>2]=c[o>>2]|2;c[m>>2]=(c[k>>2]|0)!=256&1;if(c[m>>2]|0)c[o>>2]=c[o>>2]|128;if(c[u>>2]|0)c[o>>2]=c[o>>2]|8;if(c[F>>2]&64|0)c[o>>2]=c[o>>2]|64;c[n>>2]=Nf(c[C>>2]|0,c[i>>2]|0,c[E>>2]|0,c[D>>2]|0,c[o>>2]|0)|0}if(c[n>>2]|0)_d(c[(c[h>>2]|0)+28>>2]|0);c[B>>2]=c[n>>2];G=c[B>>2]|0;l=H;return G|0}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[j+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if((Hb[c[1612>>2]&255](c[f>>2]|0)|0)==-1){if((c[(s_()|0)>>2]|0)==2)c[h>>2]=5898;else c[h>>2]=af(2570,21146,c[f>>2]|0,35312)|0;c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}do if(c[g>>2]&1|0){c[h>>2]=Mb[c[1624>>2]&255](c[f>>2]|0,i)|0;if(c[h>>2]|0){c[h>>2]=0;break}if(Af(c[i>>2]|0,0,0)|0)c[h>>2]=af(1290,21398,c[f>>2]|0,35322)|0;$e(0,c[i>>2]|0,35324)}while(0);c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+96|0;f=i+84|0;j=i+80|0;h=i+76|0;g=i;c[i+88>>2]=a;c[f>>2]=b;c[j>>2]=d;c[h>>2]=e;if(c[j>>2]|0){j=(Mb[c[1444>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[h>>2]>>2]=j;l=i;return 0}if(!(Mb[c[1468>>2]&255](c[f>>2]|0,g)|0))a=(c[g+36>>2]|0)>0;else a=0;c[c[h>>2]>>2]=a&1;l=i;return 0}function we(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+128|0;s=r+112|0;m=r+108|0;n=r+104|0;q=r+100|0;o=r+96|0;g=r+92|0;h=r+88|0;p=r+84|0;i=r+80|0;j=r+4|0;k=r;c[r+116>>2]=b;c[s>>2]=d;c[m>>2]=e;c[n>>2]=f;c[q>>2]=0;c[g>>2]=1;c[h>>2]=c[s>>2];c[p>>2]=0;while(1){c[i>>2]=0;if(Mb[c[1744>>2]&255](c[h>>2]|0,j)|0){if((c[(s_()|0)>>2]|0)!=2){s=gf(35436)|0;c[q>>2]=af(s,21234,c[h>>2]|0,35436)|0}}else c[i>>2]=(c[j+12>>2]&61440|0)==40960&1;if(c[i>>2]|0){if(!(c[p>>2]|0)){c[p>>2]=pe(c[m>>2]|0)|0;if(!(c[p>>2]|0))c[q>>2]=7}else{s=(c[g>>2]|0)+1|0;c[g>>2]=s;if((s|0)>100)c[q>>2]=gf(35447)|0}do if(!(c[q>>2]|0)){c[o>>2]=Bb[c[1732>>2]&255](c[h>>2]|0,c[p>>2]|0,(c[m>>2]|0)-1|0)|0;if((c[o>>2]|0)<0){s=gf(35453)|0;c[q>>2]=af(s,21225,c[h>>2]|0,35453)|0;break}do if((a[c[p>>2]>>0]|0)!=47){c[k>>2]=md(c[h>>2]|0)|0;while(1){if((c[k>>2]|0)<=0)break;if((a[(c[h>>2]|0)+((c[k>>2]|0)-1)>>0]|0)==47)break;c[k>>2]=(c[k>>2]|0)+-1}if(((c[o>>2]|0)+(c[k>>2]|0)+1|0)>(c[m>>2]|0)){c[q>>2]=gf(35459)|0;break}else{k0((c[p>>2]|0)+(c[k>>2]|0)|0,c[p>>2]|0,(c[o>>2]|0)+1|0)|0;h0(c[p>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);break}}while(0);a[(c[p>>2]|0)+(c[o>>2]|0)>>0]=0}while(0);c[h>>2]=c[p>>2]}if((c[q>>2]|0)==0?(c[h>>2]|0)!=(c[n>>2]|0):0)c[q>>2]=Jf(c[h>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;if(!(c[i>>2]|0)){b=30;break}c[h>>2]=c[n>>2];if(c[q>>2]|0){b=30;break}}if((b|0)==30){_d(c[p>>2]|0);l=r;return c[q>>2]|0}return 0}function xe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[k+20>>2]=b;c[f>>2]=d;c[g>>2]=e;m0(c[g>>2]|0,0,c[f>>2]|0)|0;c[13698]=w$()|0;c[h>>2]=ff(21385,0,0)|0;if((c[h>>2]|0)<0){tb(j|0)|0;i=c[g>>2]|0;a[i>>0]=a[j>>0]|0;a[i+1>>0]=a[j+1>>0]|0;a[i+2>>0]=a[j+2>>0]|0;a[i+3>>0]=a[j+3>>0]|0;j=(c[g>>2]|0)+4|0;a[j>>0]=a[54792]|0;a[j+1>>0]=a[54793]|0;a[j+2>>0]=a[54794]|0;a[j+3>>0]=a[54795]|0;c[f>>2]=8;j=c[f>>2]|0;l=k;return j|0}do{c[i>>2]=Bb[c[1516>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[i>>2]|0)>=0)break}while((c[(s_()|0)>>2]|0)==4);$e(0,c[h>>2]|0,35583);j=c[f>>2]|0;l=k;return j|0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;P$(c[d>>2]|0)|0;l=e;return (c[d>>2]|0)*1e6|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=Be(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;l=e;return c[d>>2]|0}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[(s_()|0)>>2]|0;l=e;return d|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;ub(g|0,0)|0;b=c[g>>2]|0;b=r0(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=_$(1045635584,49096,b|0,D|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=_$(b|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=D;l=e;return c[d>>2]|0}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[j+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[1416+((c[g>>2]|0)*12|0)+8>>2]|0)c[1416+((c[g>>2]|0)*12|0)+4>>2]=c[1416+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}i=c[h>>2]|0;l=j;return i|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){i=16;break}d=(G_(c[e>>2]|0,c[1416+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;a=c[g>>2]|0;if(d)break;c[g>>2]=a+1}if((i|0)==16){i=c[h>>2]|0;l=j;return i|0}if(!(c[1416+(a*12|0)+8>>2]|0))c[1416+((c[g>>2]|0)*12|0)+8>>2]=c[1416+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[1416+((c[g>>2]|0)*12|0)+8>>2];c[1416+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];i=c[h>>2]|0;l=j;return i|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(G_(c[d>>2]|0,c[1416+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[1416+(b*12|0)+4>>2];f=c[f>>2]|0;l=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}return 0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(G_(c[d>>2]|0,c[1416+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){a=11;break}b=c[e>>2]|0;if(c[1416+((c[e>>2]|0)*12|0)+4>>2]|0){a=9;break}c[e>>2]=b+1}if((a|0)==9){c[f>>2]=c[1416+(b*12|0)>>2];f=c[f>>2]|0;l=g;return f|0}else if((a|0)==11){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}return 0}function Fe(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 1340}function Ge(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];Ne(c[d>>2]|0,0)|0;_d(c[(c[e>>2]|0)+24>>2]|0);a=Df(c[d>>2]|0)|0;l=b;return a|0}function He(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;i=m+28|0;o=m+24|0;j=m+20|0;k=m+16|0;n=m;g=m+12|0;h=m+8|0;c[o>>2]=a;c[j>>2]=b;c[k>>2]=d;d=n;c[d>>2]=e;c[d+4>>2]=f;c[g>>2]=c[o>>2];f=n;c[h>>2]=Cf(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if((c[h>>2]|0)==(c[k>>2]|0)){c[i>>2]=0;o=c[i>>2]|0;l=m;return o|0}if((c[h>>2]|0)<0){c[i>>2]=266;o=c[i>>2]|0;l=m;return o|0}else{yf(c[g>>2]|0,0);m0((c[j>>2]|0)+(c[h>>2]|0)|0,0,(c[k>>2]|0)-(c[h>>2]|0)|0)|0;c[i>>2]=522;o=c[i>>2]|0;l=m;return o|0}return 0}function Ie(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;m=n;g=n+12|0;h=n+8|0;c[o>>2]=a;c[j>>2]=b;c[k>>2]=d;d=m;c[d>>2]=e;c[d+4>>2]=f;c[g>>2]=c[o>>2];c[h>>2]=0;while(1){o=m;o=wf(c[g>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[h>>2]=o;if(!((o|0)<(c[k>>2]|0)?(c[h>>2]|0)>0:0))break;c[k>>2]=(c[k>>2]|0)-(c[h>>2]|0);f=c[h>>2]|0;o=m;f=_$(c[o>>2]|0,c[o+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;o=m;c[o>>2]=f;c[o+4>>2]=D;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0)}if((c[k>>2]|0)<=(c[h>>2]|0)){c[i>>2]=0;o=c[i>>2]|0;l=n;return o|0}if((c[h>>2]|0)<0?(c[(c[g>>2]|0)+20>>2]|0)!=28:0){c[i>>2]=778;o=c[i>>2]|0;l=n;return o|0}yf(c[g>>2]|0,0);c[i>>2]=13;o=c[i>>2]|0;l=n;return o|0}function Je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;j=i+16|0;f=i;g=i+12|0;h=i+8|0;c[j>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[j>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){j=f;d=c[(c[g>>2]|0)+40>>2]|0;d=_$(c[j>>2]|0,c[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Z$(d|0,D|0,1,0)|0;j=c[(c[g>>2]|0)+40>>2]|0;j=n0(d|0,D|0,j|0,((j|0)<0)<<31>>31|0)|0;d=c[(c[g>>2]|0)+40>>2]|0;d=r0(j|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=f;c[j>>2]=d;c[j+4>>2]=D}j=f;c[h>>2]=Bf(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;if(c[h>>2]|0){j=c[g>>2]|0;yf(j,c[(s_()|0)>>2]|0);c[e>>2]=af(1546,21072,c[(c[g>>2]|0)+32>>2]|0,32998)|0;j=c[e>>2]|0;l=i;return j|0}else{c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}return 0}function Ke(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;j=l;l=l+32|0;f=j+28|0;o=j+24|0;n=j+20|0;g=j+16|0;h=j+12|0;k=j+8|0;m=j+4|0;i=j;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[k>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[g>>2]=Af(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[k>>2]|0)|0;a=c[h>>2]|0;if(c[g>>2]|0){yf(a,c[(s_()|0)>>2]|0);c[f>>2]=af(1034,21374,c[(c[h>>2]|0)+32>>2]|0,32953)|0;o=c[f>>2]|0;l=j;return o|0}if((e[a+18>>1]|0)&8|0){c[g>>2]=Mb[c[1624>>2]&255](c[(c[h>>2]|0)+32>>2]|0,i)|0;if(!(c[g>>2]|0)){Af(c[i>>2]|0,0,0)|0;$e(c[h>>2]|0,c[i>>2]|0,32967)}else c[g>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[g>>2];o=c[f>>2]|0;l=j;return o|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+96|0;d=h+88|0;e=h+84|0;f=h+80|0;i=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[i>>2]=Mb[c[1480>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[i>>2]|0){i=c[e>>2]|0;yf(i,c[(s_()|0)>>2]|0);c[d>>2]=1802;i=c[d>>2]|0;l=h;return i|0}g=c[g+36>>2]|0;i=c[f>>2]|0;c[i>>2]=g;c[i+4>>2]=((g|0)<0)<<31>>31;i=c[f>>2]|0;if((c[i>>2]|0)==1&(c[i+4>>2]|0)==0){i=c[f>>2]|0;c[i>>2]=0;c[i+4>>2]=0}c[d>>2]=0;i=c[d>>2]|0;l=h;return i|0}function Me(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[i>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];Ea(c[i>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;l=m;return n|0}c[j>>2]=Mb[c[1636>>2]&255](c[i>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;l=m;return n|0}c[k>>2]=c[(s_()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=zf(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)yf(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;l=m;return n|0}function Ne(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[i>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;l=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;l=m;return n|0}c[j>>2]=Hb[c[1648>>2]&255](c[i>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;l=m;return n|0}c[k>>2]=c[(s_()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;yf(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;l=m;return n|0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=l;l=l+32|0;i=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[i>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[i>>2];c[g>>2]=(Mb[c[1444>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];l=e;return c[d>>2]|0}function Pe(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[i>>2]=lf(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[i>>2];break}case 10:{mf(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{mf(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=nf(21240,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[j>>2]=of(o,((o|0)<0)<<31>>31)|0;if(c[j>>2]|0){pf(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[j>>2]|0)|0;c[c[g>>2]>>2]=c[j>>2]}c[f>>2]=0;break}case 20:{o=qf(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);l=m;return c[f>>2]|0}function Qe(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 4096}function Re(a){a=a|0;var b=0,d=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;l=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;l=d;return g|0}function Se(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;v=u+32|0;o=u+28|0;p=u+24|0;q=u+20|0;r=u+16|0;s=u+12|0;h=u+8|0;i=u+4|0;j=u;k=u+40|0;m=u+38|0;n=u+36|0;c[v>>2]=a;c[o>>2]=d;c[p>>2]=f;c[q>>2]=g;c[r>>2]=c[v>>2];c[s>>2]=c[(c[r>>2]|0)+36>>2];c[i>>2]=c[c[s>>2]>>2];c[j>>2]=0;b[k>>1]=(1<<(c[o>>2]|0)+(c[p>>2]|0))-(1<>2]);td(c[(c[i>>2]|0)+4>>2]|0);do if(c[q>>2]&1|0){b[m>>1]=0;c[h>>2]=c[(c[i>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((c[h>>2]|0)!=(c[s>>2]|0))b[m>>1]=e[m>>1]|0|(e[(c[h>>2]|0)+10>>1]|0);c[h>>2]=c[(c[h>>2]|0)+4>>2]}if(!((e[k>>1]|0)&(e[m>>1]|0)))c[j>>2]=kf(c[r>>2]|0,2,(c[o>>2]|0)+120|0,c[p>>2]|0)|0;else c[j>>2]=0;if(!(c[j>>2]|0)){v=(c[s>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[k>>1]|0);v=(c[s>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[k>>1]|0)}}else{if(!(c[q>>2]&4)){c[h>>2]=c[(c[i>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((e[(c[h>>2]|0)+12>>1]|0)&(e[k>>1]|0)|0){t=28;break}if((e[(c[h>>2]|0)+10>>1]|0)&(e[k>>1]|0)|0){t=28;break}c[h>>2]=c[(c[h>>2]|0)+4>>2]}if((t|0)==28)c[j>>2]=5;if(c[j>>2]|0)break;c[j>>2]=kf(c[r>>2]|0,1,(c[o>>2]|0)+120|0,c[p>>2]|0)|0;if(c[j>>2]|0)break;v=(c[s>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[k>>1]|0);break}b[n>>1]=0;c[h>>2]=c[(c[i>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((e[(c[h>>2]|0)+12>>1]|0)&(e[k>>1]|0)|0){t=16;break}b[n>>1]=e[n>>1]|0|(e[(c[h>>2]|0)+10>>1]|0);c[h>>2]=c[(c[h>>2]|0)+4>>2]}if((t|0)==16)c[j>>2]=5;do if(!(c[j>>2]|0))if(!((e[n>>1]|0)&(e[k>>1]|0))){c[j>>2]=kf(c[r>>2]|0,0,(c[o>>2]|0)+120|0,c[p>>2]|0)|0;break}else{c[j>>2]=0;break}while(0);if(!(c[j>>2]|0)){v=(c[s>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[k>>1]|0)}}while(0);ud(c[(c[i>>2]|0)+4>>2]|0);l=u;return c[j>>2]|0}function Te(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;jf();Xe();Ze();l=b;return}function Ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;d=j+24|0;k=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[e>>2]=b;c[i>>2]=c[k>>2];c[f>>2]=c[(c[i>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;l=j;return k|0}c[g>>2]=c[c[f>>2]>>2];td(c[(c[g>>2]|0)+4>>2]|0);c[h>>2]=(c[g>>2]|0)+32;while(1){if((c[c[h>>2]>>2]|0)==(c[f>>2]|0))break;c[h>>2]=(c[c[h>>2]>>2]|0)+4}c[c[h>>2]>>2]=c[(c[f>>2]|0)+4>>2];_d(c[f>>2]|0);c[(c[i>>2]|0)+36>>2]=0;ud(c[(c[g>>2]|0)+4>>2]|0);Xe();k=(c[g>>2]|0)+28|0;c[k>>2]=(c[k>>2]|0)+-1;if(!(c[(c[g>>2]|0)+28>>2]|0)){if(c[e>>2]|0?(c[(c[g>>2]|0)+12>>2]|0)>=0:0)Hb[c[1612>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;Ye(c[i>>2]|0)}Ze();c[d>>2]=0;k=c[d>>2]|0;l=j;return k|0}function Ve(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;l=g;return 0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;l=f;return 0}function Xe(){td(ie(11)|0);return}function Ye(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[d>>2]|0)){l=h;return}if(c[(c[d>>2]|0)+28>>2]|0){l=h;return}c[f>>2]=_e()|0;oe(c[(c[d>>2]|0)+4>>2]|0);c[g>>2]=0;while(1){a=c[d>>2]|0;if((c[g>>2]|0)>=(e[(c[d>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)Mb[c[1696>>2]&255](c[(c[(c[d>>2]|0)+24>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[d>>2]|0)+16>>2]|0)|0;else _d(c[(c[(c[d>>2]|0)+24>>2]|0)+(c[g>>2]<<2)>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[f>>2]|0)}_d(c[a+24>>2]|0);if((c[(c[d>>2]|0)+12>>2]|0)>=0){$e(c[b>>2]|0,c[(c[d>>2]|0)+12>>2]|0,33574);c[(c[d>>2]|0)+12>>2]=-1}c[(c[c[d>>2]>>2]|0)+20>>2]=0;_d(c[d>>2]|0);l=h;return}function Ze(){ud(ie(11)|0);return}function _e(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;a=e+8|0;b=e+4|0;d=e;c[b>>2]=32768;c[d>>2]=Db[c[1720>>2]&255]()|0;if((c[d>>2]|0)<(c[b>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;l=e;return d|0}else{c[a>>2]=(c[d>>2]|0)/(c[b>>2]|0)|0;d=c[a>>2]|0;l=e;return d|0}return 0}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(Hb[c[1432>>2]&255](c[h>>2]|0)|0)){l=g;return}if(c[e>>2]|0)a=c[(c[e>>2]|0)+32>>2]|0;else a=0;af(4106,21005,a,c[f>>2]|0)|0;l=g;return}function af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n;f=n+40|0;g=n+36|0;h=n+32|0;i=n+28|0;j=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=c[(s_()|0)>>2];c[j>>2]=55752;if(!(c[h>>2]|0))c[h>>2]=55752;e=c[f>>2]|0;d=c[k>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;k=c[j>>2]|0;c[m>>2]=c[i>>2];c[m+4>>2]=d;c[m+8>>2]=g;c[m+12>>2]=h;c[m+16>>2]=k;xd(e,21011,m);l=n;return c[f>>2]|0}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;f=e;i=e+12|0;h=e+8|0;g=e+4|0;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;b=c[i>>2]|0;d=c[h>>2]|0;c[f>>2]=c[g>>2];d=Y_(b,d,f)|0;l=e;return d|0}function cf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+544|0;k=j;f=j+20|0;m=j+16|0;g=j+12|0;e=j+8|0;h=j+4|0;i=j+24|0;c[m>>2]=b;c[g>>2]=d;c[h>>2]=-1;c[k>>2]=c[m>>2];ef(512,i,21240,k)|0;c[e>>2]=g$(i)|0;while(1){if((c[e>>2]|0)<=0)break;if((a[i+(c[e>>2]|0)>>0]|0)==47)break;c[e>>2]=(c[e>>2]|0)+-1}if((c[e>>2]|0)<=0)if((a[i>>0]|0)!=47){a[i>>0]=46;b=1}else b=1;else b=c[e>>2]|0;a[i+b>>0]=0;c[h>>2]=ff(i,0,0)|0;c[c[g>>2]>>2]=c[h>>2];if((c[h>>2]|0)>=0){c[f>>2]=0;m=c[f>>2]|0;l=j;return m|0}else{c[f>>2]=af(gf(32912)|0,21153,i,32912)|0;m=c[f>>2]|0;l=j;return m|0}return 0}function df(){return Za(30)|0}function ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;k=g+28|0;j=g+24|0;i=g+20|0;f=g+16|0;h=g;c[k>>2]=a;c[j>>2]=b;c[i>>2]=d;c[h>>2]=e;c[f>>2]=hf(c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,h)|0;l=g;return c[f>>2]|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+112|0;k=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;i=m+84|0;j=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=c[g>>2]|0?c[g>>2]|0:420;while(1){c[h>>2]=Bb[c[1420>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[i>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(s_()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;Hb[c[1432>>2]&255](c[h>>2]|0)|0;d=c[h>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=d;xd(28,21260,k);c[h>>2]=-1;if((Bb[c[1420>>2]&255](21303,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){k=c[h>>2]|0;l=m;return k|0}if(Mb[c[1480>>2]&255](c[h>>2]|0,j)|0){k=c[h>>2]|0;l=m;return k|0}if(c[j+36>>2]|0){k=c[h>>2]|0;l=m;return k|0}if((c[j+12>>2]&511|0)==(c[g>>2]|0)){k=c[h>>2]|0;l=m;return k|0}Mb[c[1588>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}function gf(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=vd(14,c[d>>2]|0,21243)|0;l=b;return a|0}function hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+44|0;g=k+40|0;m=k+36|0;h=k+32|0;i=k+28|0;j=k;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[i>>2]=e;a=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=a;m=c[f>>2]|0;l=k;return m|0}else{zd(j,0,a,c[g>>2]|0,0);Ad(j,c[h>>2]|0,c[i>>2]|0);c[f>>2]=Bd(j)|0;m=c[f>>2]|0;l=k;return m|0}return 0}function jf(){return}function kf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o;p=o+40|0;h=o+36|0;i=o+32|0;j=o+28|0;k=o+24|0;m=o+8|0;g=o+4|0;c[p>>2]=a;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[g>>2]=0;c[k>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[k>>2]|0)+12>>2]|0)<0){p=c[g>>2]|0;l=o;return p|0};c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;b[m>>1]=c[h>>2];b[m+2>>1]=0;c[m+4>>2]=c[i>>2];c[m+8>>2]=c[j>>2];j=c[376]|0;p=c[(c[k>>2]|0)+12>>2]|0;c[n>>2]=m;c[g>>2]=Bb[j&255](p,13,n)|0;c[g>>2]=(c[g>>2]|0)!=-1?0:5;p=c[g>>2]|0;l=o;return p|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;f=n+112|0;g=n+108|0;h=n+16|0;i=n+8|0;j=n+32|0;k=n+28|0;m=n+24|0;e=n;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[g>>2]|0)+40>>2]|0)>0){if(Mb[c[1480>>2]&255](c[(c[g>>2]|0)+12>>2]|0,j)|0){c[f>>2]=1802;m=c[f>>2]|0;l=n;return m|0}d=h;a=c[(c[g>>2]|0)+40>>2]|0;a=_$(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Z$(a|0,D|0,1,0)|0;d=c[(c[g>>2]|0)+40>>2]|0;d=n0(a|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=r0(d|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;d=i;c[d>>2]=a;c[d+4>>2]=D;d=i;a=c[d+4>>2]|0;h=c[j+36>>2]|0;b=((h|0)<0)<<31>>31;if((a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>h>>>0:0)){c[k>>2]=c[j+40>>2];c[m>>2]=0;h=S((c[j+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;j=e;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;while(1){b=e;h=c[b>>2]|0;b=c[b+4>>2]|0;d=i;j=c[k>>2]|0;j=_$(c[d>>2]|0,c[d+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;j=Z$(j|0,D|0,1,0)|0;d=D;if(!((b|0)<(d|0)|(b|0)==(d|0)&h>>>0>>0))break a;h=e;b=c[h+4>>2]|0;j=i;d=c[j+4>>2]|0;if((b|0)>(d|0)|((b|0)==(d|0)?(c[h>>2]|0)>>>0>=(c[j>>2]|0)>>>0:0)){h=i;h=Z$(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=D}j=e;c[m>>2]=wf(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,55752,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;j=e;h=_$(c[j>>2]|0,c[j+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;j=e;c[j>>2]=h;c[j+4>>2]=D}c[f>>2]=778;m=c[f>>2]|0;l=n;return m|0}}while(0);c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}function mf(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m+4|0;i=m+8|0;k=m;c[j>>2]=f;a[i>>0]=g;c[k>>2]=h;if((c[c[k>>2]>>2]|0)<0){c[c[k>>2]>>2]=((e[(c[j>>2]|0)+18>>1]|0)&(d[i>>0]|0)|0)!=0&1;l=m;return}f=d[i>>0]|0;if(!(c[c[k>>2]>>2]|0)){k=(c[j>>2]|0)+18|0;g=k;f=(e[k>>1]|0)&~f}else{k=(c[j>>2]|0)+18|0;g=k;f=e[k>>1]|0|f}b[g>>1]=f;l=m;return}function nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(fe()|0){c[d>>2]=0;b=c[d>>2]|0;l=h;return b|0}else{c[f>>2]=b;c[g>>2]=vf(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];b=c[d>>2]|0;l=h;return b|0}return 0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(fe()|0){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}else{g=e;c[d>>2]=Fd(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;l=f;return g|0}return 0}function pf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+64|0;j=m+8|0;k=m+48|0;e=m+44|0;f=m+40|0;g=m+36|0;h=m+32|0;i=m;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a[c[f>>2]>>0]=0;c[g>>2]=rf()|0;if(!(c[g>>2]|0)){c[k>>2]=6410;k=c[k>>2]|0;l=m;return k|0}while(1){sf(8,i);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=i;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[g>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;ef(b,d,21313,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){b=5;break}p=c[h>>2]|0;c[h>>2]=p+1;if((p|0)>10){b=5;break}if(Mb[c[1444>>2]&255](c[f>>2]|0,0)|0){b=7;break}}if((b|0)==5){c[k>>2]=1;p=c[k>>2]|0;l=m;return p|0}else if((b|0)==7){c[k>>2]=0;p=c[k>>2]|0;l=m;return p|0}return 0}function qf(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){d=0;d=d&1;l=e;return d|0}if(Mb[c[1468>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){d=1;d=d&1;l=e;return d|0}d=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);d=d&1;l=e;return d|0}function rf(){var a=0,b=0,d=0,e=0,f=0,g=0;f=l;l=l+96|0;d=f+84|0;a=f+80|0;b=f+4|0;e=f;c[a>>2]=0;c[e>>2]=c[13628];if(!(c[438]|0))c[438]=eb(21330)|0;if(!(c[439]|0))c[439]=eb(21344)|0;while(1){if(((c[e>>2]|0?(Mb[c[1468>>2]&255](c[e>>2]|0,b)|0)==0:0)?(c[b+12>>2]&61440|0)==16384:0)?(Mb[c[1444>>2]&255](c[e>>2]|0,3)|0)==0:0){a=9;break}if((c[a>>2]|0)>>>0>=6){a=12;break}g=c[a>>2]|0;c[a>>2]=g+1;c[e>>2]=c[1752+(g<<2)>>2]}if((a|0)==9){c[d>>2]=c[e>>2];g=c[d>>2]|0;l=f;return g|0}else if((a|0)==12){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}return 0}function sf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+288|0;f=n+16|0;g=n+12|0;h=n+280|0;i=n+8|0;j=n+4|0;k=n;m=n+24|0;c[f>>2]=b;c[g>>2]=e;c[i>>2]=c[g>>2];if(fe()|0){l=n;return}c[j>>2]=ie(5)|0;td(c[j>>2]|0);if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[55753]=0;ud(c[j>>2]|0);l=n;return}if(!(a[55753]|0)){a[55755]=0;a[55754]=0;uf(tf(0)|0,256,m)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=256)break;a[55756+(c[k>>2]|0)>>0]=c[k>>2];c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=256)break;a[55755]=(d[55755]|0)+((d[55756+(c[k>>2]|0)>>0]|0)+(a[m+(c[k>>2]|0)>>0]|0));a[h>>0]=a[55756+(d[55755]|0)>>0]|0;a[55756+(d[55755]|0)>>0]=a[55756+(c[k>>2]|0)>>0]|0;a[55756+(c[k>>2]|0)>>0]=a[h>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[55753]=1}do{a[55754]=(a[55754]|0)+1<<24>>24;a[h>>0]=a[55756+(d[55754]|0)>>0]|0;a[55755]=(d[55755]|0)+(d[h>>0]|0);a[55756+(d[55754]|0)>>0]=a[55756+(d[55755]|0)>>0]|0;a[55756+(d[55755]|0)>>0]=a[h>>0]|0;a[h>>0]=(d[h>>0]|0)+(d[55756+(d[55754]|0)>>0]|0);k=a[55756+(d[h>>0]|0)>>0]|0;m=c[i>>2]|0;c[i>>2]=m+1;a[m>>0]=k;m=(c[f>>2]|0)+-1|0;c[f>>2]=m}while((m|0)!=0);ud(c[j>>2]|0);l=n;return}function tf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;b=g+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[d>>2]=a;c[e>>2]=0;c[h>>2]=fe()|0;if(c[h>>2]|0){c[b>>2]=0;h=c[b>>2]|0;l=g;return h|0}c[f>>2]=ie(2)|0;td(c[f>>2]|0);c[e>>2]=c[13697];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(G_(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}ud(c[f>>2]|0);c[b>>2]=c[e>>2];h=c[b>>2]|0;l=g;return h|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Bb[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;d=i+40|0;e=i+36|0;f=i+32|0;g=i+28|0;h=i;c[e>>2]=a;c[f>>2]=b;if(fe()|0){c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}else{zd(h,0,i+44|0,70,1e9);Ad(h,c[e>>2]|0,c[f>>2]|0);c[g>>2]=Bd(h)|0;c[d>>2]=c[g>>2];h=c[d>>2]|0;l=i;return h|0}return 0}function wf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;h=g+16|0;k=g;j=g+12|0;i=g+8|0;c[h>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[i>>2]=f;f=k;f=xf(c[(c[h>>2]|0)+12>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[i>>2]|0,(c[h>>2]|0)+20|0)|0;l=g;return f|0}function xf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;k=q+32|0;m=q+8|0;n=q+28|0;o=q+24|0;h=q+20|0;i=q+16|0;j=q;c[k>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[o>>2]=f;c[h>>2]=g;c[i>>2]=0;c[o>>2]=c[o>>2]&131071;do{f=Z_(c[k>>2]|0,c[m>>2]|0,0)|0;g=j;c[g>>2]=f;c[g+4>>2]=((f|0)<0)<<31>>31;if((c[j+4>>2]|0)<0){p=3;break}c[i>>2]=Bb[c[1552>>2]&255](c[k>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[i>>2]|0)>=0)break}while((c[(s_()|0)>>2]|0)==4);if((p|0)==3)c[i>>2]=-1;if((c[i>>2]|0)>=0){p=c[i>>2]|0;l=q;return p|0}p=c[(s_()|0)>>2]|0;c[c[h>>2]>>2]=p;p=c[i>>2]|0;l=q;return p|0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];l=d;return}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}l=f;return c[d>>2]|0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=M$(c[g>>2]|0)|0;l=f;return c[e>>2]|0}function Bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=Mb[c[1492>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){a=4;break}if((c[(s_()|0)>>2]|0)!=4){a=4;break}}if((a|0)==4){l=h;return c[g>>2]|0}return 0}function Cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+36|0;k=q+32|0;m=q+8|0;n=q+28|0;o=q+24|0;g=q+20|0;h=q+16|0;i=q;c[k>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[o>>2]=f;c[h>>2]=0;do{e=Z_(c[(c[k>>2]|0)+12>>2]|0,c[m>>2]|0,0)|0;f=i;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;if((c[i+4>>2]|0)<0){p=3;break}c[g>>2]=Bb[c[1516>>2]&255](c[(c[k>>2]|0)+12>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[g>>2]|0)==(c[o>>2]|0))break;if((c[g>>2]|0)>=0){if((c[g>>2]|0)>0){c[o>>2]=(c[o>>2]|0)-(c[g>>2]|0);e=c[g>>2]|0;f=m;e=_$(c[f>>2]|0,c[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;f=m;c[f>>2]=e;c[f+4>>2]=D;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[g>>2]|0)}}else{if((c[(s_()|0)>>2]|0)!=4){p=8;break}c[g>>2]=1}}while((c[g>>2]|0)>0);if((p|0)==3){p=c[k>>2]|0;yf(p,c[(s_()|0)>>2]|0);c[j>>2]=-1;p=c[j>>2]|0;l=q;return p|0}else if((p|0)==8){c[h>>2]=0;p=c[k>>2]|0;yf(p,c[(s_()|0)>>2]|0)}c[j>>2]=(c[g>>2]|0)+(c[h>>2]|0);p=c[j>>2]|0;l=q;return p|0}function Df(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){$e(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,31321);c[(c[b>>2]|0)+12>>2]=-1}_d(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return 0}function Ef(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 1776}function Ff(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Df(c[d>>2]|0)|0;l=b;return a|0}function Gf(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function Hf(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function If(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;l=d;return 0}function Jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=md(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(Mb[c[1456>>2]&255](c[h>>2]|0,(c[i>>2]|0)-2|0)|0){c[k>>2]=md(c[h>>2]|0)|0;d=c[h>>2]|0;e=c[k>>2]|0;c[k>>2]=e+1;a[d+e>>0]=47;break}m=gf(35379)|0;c[f>>2]=af(m,21054,c[g>>2]|0,35379)|0;m=c[f>>2]|0;l=n;return m|0}while(0);if(((c[k>>2]|0)+(c[j>>2]|0)+1|0)>(c[i>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=gf(35388)|0;m=c[f>>2]|0;l=n;return m|0}else{j=(c[i>>2]|0)-(c[k>>2]|0)|0;k=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];ef(j,k,21240,m)|0;c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+96|0;j=i+92|0;d=i+88|0;e=i+84|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;if(Mb[c[1468>>2]&255](c[j>>2]|0,f)|0){j=c[e>>2]|0;l=i;return j|0}Xe();c[g>>2]=c[13699];while(1){if(c[g>>2]|0)if((c[c[g>>2]>>2]|0)!=(c[f>>2]|0))b=1;else b=(c[(c[g>>2]|0)+4>>2]|0)!=(c[f+72>>2]|0);else b=0;a=c[g>>2]|0;if(!b)break;c[g>>2]=c[a+32>>2]}if(a|0){c[h>>2]=(c[g>>2]|0)+28;while(1){if(!(c[c[h>>2]>>2]|0))break;if((c[(c[c[h>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[h>>2]=(c[c[h>>2]>>2]|0)+8}c[e>>2]=c[c[h>>2]>>2];if(c[e>>2]|0)c[c[h>>2]>>2]=c[(c[e>>2]|0)+8>>2]}Ze();j=c[e>>2]|0;l=i;return j|0}function Lf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+560|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;h=r+8|0;i=r+32|0;j=r+4|0;k=r;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[h>>2]=0;c[c[o>>2]>>2]=0;c[c[p>>2]>>2]=0;c[c[q>>2]>>2]=0;if(c[n>>2]&526336|0){c[j>>2]=(md(c[m>>2]|0)|0)-1;while(1){if((a[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==45)break;c[j>>2]=(c[j>>2]|0)+-1}h0(i|0,c[m>>2]|0,c[j>>2]|0)|0;a[i+(c[j>>2]|0)>>0]=0;c[h>>2]=ig(i,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;q=c[h>>2]|0;l=r;return q|0}if(c[n>>2]&8|0){c[c[o>>2]>>2]=384;q=c[h>>2]|0;l=r;return q|0}if(!(c[n>>2]&64)){q=c[h>>2]|0;l=r;return q|0}c[k>>2]=cg(c[m>>2]|0,21594)|0;if(!(c[k>>2]|0)){q=c[h>>2]|0;l=r;return q|0}c[h>>2]=ig(c[k>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;q=c[h>>2]|0;l=r;return q|0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(Db[c[1672>>2]&255]()|0){g=0;l=h;return g|0}g=Bb[c[1660>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;l=h;return g|0}function Nf(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;s=t;o=t+40|0;p=t+36|0;u=t+32|0;q=t+28|0;r=t+24|0;i=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;c[o>>2]=a;c[p>>2]=d;c[u>>2]=f;c[q>>2]=g;c[r>>2]=h;c[j>>2]=c[u>>2];c[k>>2]=0;c[(c[j>>2]|0)+12>>2]=c[p>>2];c[(c[j>>2]|0)+4>>2]=c[o>>2];c[(c[j>>2]|0)+32>>2]=c[q>>2];b[(c[j>>2]|0)+18>>1]=c[r>>2]&255;if(Of(c[r>>2]&64|0?c[q>>2]|0:0,21404,1)|0){u=(c[j>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(G_(c[(c[o>>2]|0)+16>>2]|0,20995)|0)){u=(c[j>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[r>>2]&128|0)c[i>>2]=1776;else c[i>>2]=Mb[c[c[(c[o>>2]|0)+20>>2]>>2]&255](c[q>>2]|0,c[j>>2]|0)|0;if((c[i>>2]|0)!=1852){if((c[i>>2]|0)==1340){c[n>>2]=(g$(c[q>>2]|0)|0)+6;u=c[n>>2]|0;c[m>>2]=of(u,((u|0)<0)<<31>>31)|0;if(!(c[m>>2]|0))c[k>>2]=7;else{r=c[n>>2]|0;u=c[m>>2]|0;c[s>>2]=c[q>>2];ef(r,u,21409,s)|0}c[(c[j>>2]|0)+24>>2]=c[m>>2]}}else{Xe();c[k>>2]=Pf(c[j>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[k>>2]|0){$e(c[j>>2]|0,c[p>>2]|0,34692);c[p>>2]=-1}Ze()}yf(c[j>>2]|0,0);if(!(c[k>>2]|0)){c[c[j>>2]>>2]=c[i>>2];Qf(c[j>>2]|0);u=c[k>>2]|0;l=t;return u|0}if((c[p>>2]|0)<0){u=c[k>>2]|0;l=t;return u|0}$e(c[j>>2]|0,c[p>>2]|0,34777);u=c[k>>2]|0;l=t;return u|0}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+12|0;h=g+8|0;e=g+4|0;f=g;c[i>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=cg(c[i>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){i=(dg(c[f>>2]|0,c[e>>2]&255)|0)&255;l=g;return i|0}else{i=c[e>>2]|0;l=g;return i|0}return 0}function Pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+112|0;f=j+104|0;d=j+100|0;g=j+96|0;k=j+92|0;m=j+88|0;h=j+80|0;e=j+4|0;i=j;c[d>>2]=a;c[g>>2]=b;c[i>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[k>>2]=Mb[c[1480>>2]&255](c[m>>2]|0,e)|0;if(c[k>>2]|0){m=c[d>>2]|0;yf(m,c[(s_()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;l=j;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;l=j;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[i>>2]=c[13699];while(1){if(c[i>>2]|0)b=(H_(h,c[i>>2]|0,8)|0)!=0;else b=0;a=c[i>>2]|0;if(!b)break;c[i>>2]=c[a+32>>2]}if(!a){c[i>>2]=of(40,0)|0;if(!(c[i>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;l=j;return m|0}a=c[i>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));m=c[i>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[i>>2]|0)+16>>2]=1;c[(c[i>>2]|0)+32>>2]=c[13699];c[(c[i>>2]|0)+36>>2]=0;if(c[13699]|0)c[(c[13699]|0)+36>>2]=c[i>>2];c[13699]=c[i>>2]}else{m=(c[i>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[i>>2];c[f>>2]=0;m=c[f>>2]|0;l=j;return m|0}function Qf(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+112|0;j=k+24|0;i=k+16|0;f=k+8|0;d=k;g=k+108|0;h=k+32|0;b=k+28|0;c[g>>2]=a;if((e[(c[g>>2]|0)+18>>1]|0)&128|0){l=k;return}c[b>>2]=Mb[c[1480>>2]&255](c[(c[g>>2]|0)+12>>2]|0,h)|0;if(c[b>>2]|0){c[d>>2]=c[(c[g>>2]|0)+32>>2];xd(28,21417,d);l=k;return}if(!(c[h+16>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+32>>2];xd(28,21441,f);l=k;return}a=c[g>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[i>>2]=c[a+32>>2];xd(28,21470,i);l=k;return}if(!(qf(a)|0)){l=k;return}c[j>>2]=c[(c[g>>2]|0)+32>>2];xd(28,21497,j);l=k;return}function Rf(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;c[e>>2]=c[b>>2];Qf(c[e>>2]|0);Tf(c[b>>2]|0,0)|0;Xe();if(c[(c[e>>2]|0)+8>>2]|0?c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2]|0:0)ag(c[e>>2]|0);bg(c[e>>2]|0);c[d>>2]=Df(c[b>>2]|0)|0;Ze();l=f;return c[d>>2]|0}function Sf(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;j=p+44|0;q=p+40|0;k=p+36|0;m=p+32|0;n=p+28|0;o=p+24|0;g=p+8|0;h=p;c[q>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=c[q>>2];c[h>>2]=0;if((d[(c[n>>2]|0)+16>>0]|0|0)>=(c[k>>2]|0)){c[j>>2]=0;q=c[j>>2]|0;l=p;return q|0}Xe();c[o>>2]=c[(c[n>>2]|0)+8>>2];if((d[(c[n>>2]|0)+16>>0]|0|0)!=(d[(c[o>>2]|0)+12>>0]|0|0)?((c[k>>2]|0)>1?1:(d[(c[o>>2]|0)+12>>0]|0|0)>=3):0)c[m>>2]=5;else i=6;a:do if((i|0)==6){do if((c[k>>2]|0)==1){if((d[(c[o>>2]|0)+12>>0]|0|0)!=1?(d[(c[o>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[n>>2]|0)+16>>0]=1;q=(c[o>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[o>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[g+8>>2]=1;b[g+2>>1]=0;if((c[k>>2]|0)!=1){if((c[k>>2]|0)==4?(d[(c[n>>2]|0)+16>>0]|0|0)<3:0)i=13}else i=13;if((i|0)==13?(b[g>>1]=(c[k>>2]|0)==1?0:1,c[g+4>>2]=c[482],_f(c[n>>2]|0,g)|0):0){c[h>>2]=c[(s_()|0)>>2];c[m>>2]=zf(c[h>>2]|0,3850)|0;if((c[m>>2]|0)==5)break;yf(c[n>>2]|0,c[h>>2]|0);break}do if((c[k>>2]|0)!=1){if((c[k>>2]|0)==4?(c[(c[o>>2]|0)+8>>2]|0)>1:0){c[m>>2]=5;break}b[g>>1]=1;q=(c[k>>2]|0)==2;c[g+4>>2]=(c[482]|0)+(q?1:2);c[g+8>>2]=q?1:510;if(_f(c[n>>2]|0,g)|0?(c[h>>2]=c[(s_()|0)>>2],c[m>>2]=zf(c[h>>2]|0,3850)|0,(c[m>>2]|0)!=5):0)yf(c[n>>2]|0,c[h>>2]|0)}else{c[g+4>>2]=(c[482]|0)+2;c[g+8>>2]=510;if(_f(c[n>>2]|0,g)|0){c[h>>2]=c[(s_()|0)>>2];c[m>>2]=zf(c[h>>2]|0,3850)|0}c[g+4>>2]=c[482];c[g+8>>2]=1;b[g>>1]=2;q=(_f(c[n>>2]|0,g)|0)!=0;if(q&(c[m>>2]|0)==0){c[h>>2]=c[(s_()|0)>>2];c[m>>2]=2058}if(!(c[m>>2]|0)){a[(c[n>>2]|0)+16>>0]=1;q=(c[o>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[o>>2]|0)+8>>2]=1;break}if((c[m>>2]|0)==5)break a;yf(c[n>>2]|0,c[h>>2]|0);break a}while(0);e=c[k>>2]|0;if(!(c[m>>2]|0)){a[(c[n>>2]|0)+16>>0]=e;a[(c[o>>2]|0)+12>>0]=c[k>>2];break}if((e|0)==4){a[(c[n>>2]|0)+16>>0]=3;a[(c[o>>2]|0)+12>>0]=3}}while(0);Ze();c[j>>2]=c[m>>2];q=c[j>>2]|0;l=p;return q|0}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Zf(c[f>>2]|0,c[e>>2]|0,0)|0;l=d;return b|0}function Uf(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;m=n;o=n+40|0;g=n+36|0;h=n+32|0;i=n+28|0;j=n+24|0;k=n+8|0;c[o>>2]=e;c[g>>2]=f;c[h>>2]=0;c[i>>2]=0;c[j>>2]=c[o>>2];Xe();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[i>>2]=1;do if((c[i>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[k+2>>1]=0;c[k+4>>2]=(c[482]|0)+1;c[k+8>>2]=1;b[k>>1]=1;f=c[376]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=k;if(Bb[f&255](o,12,m)|0){c[h>>2]=3594;o=c[j>>2]|0;yf(o,c[(s_()|0)>>2]|0);break}if((b[k>>1]|0)!=2)c[i>>2]=1}while(0);Ze();c[c[g>>2]>>2]=c[i>>2];l=n;return c[h>>2]|0}function Vf(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+160|0;C=E+152|0;F=E+148|0;D=E+144|0;x=E+140|0;y=E+136|0;z=E+132|0;j=E+128|0;k=E+124|0;A=E+120|0;B=E+116|0;m=E+112|0;n=E+108|0;o=E+104|0;p=E+100|0;q=E+24|0;r=E+20|0;s=E+16|0;t=E+12|0;u=E+8|0;v=E+4|0;w=E;c[F>>2]=a;c[D>>2]=f;c[x>>2]=g;c[y>>2]=h;c[z>>2]=i;c[j>>2]=c[F>>2];c[B>>2]=0;c[m>>2]=_e()|0;if((c[(c[j>>2]|0)+36>>2]|0)==0?(c[B>>2]=Wf(c[j>>2]|0)|0,c[B>>2]|0):0){c[C>>2]=c[B>>2];F=c[C>>2]|0;l=E;return F|0}c[k>>2]=c[(c[j>>2]|0)+36>>2];c[A>>2]=c[c[k>>2]>>2];td(c[(c[A>>2]|0)+4>>2]|0);c[n>>2]=S(((c[D>>2]|0)+(c[m>>2]|0)|0)/(c[m>>2]|0)|0,c[m>>2]|0)|0;a:do if((e[(c[A>>2]|0)+20>>1]|0|0)<(c[n>>2]|0)){c[p>>2]=S(c[n>>2]|0,c[x>>2]|0)|0;c[(c[A>>2]|0)+16>>2]=c[x>>2];b:do if((c[(c[A>>2]|0)+12>>2]|0)>=0){if(Mb[c[1480>>2]&255](c[(c[A>>2]|0)+12>>2]|0,q)|0){c[B>>2]=4874;break a}if((c[q+36>>2]|0)<(c[p>>2]|0)){if(!(c[y>>2]|0))break a;c[r>>2]=(c[q+36>>2]|0)/4096|0;while(1){if((c[r>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[s>>2]=0;F=(c[r>>2]<<12)+4096-1|0;if((xf(c[(c[A>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,55752,1,s)|0)!=1)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=c[(c[A>>2]|0)+8>>2];c[B>>2]=af(4874,21107,c[t>>2]|0,33839)|0;break a}}while(0);c[o>>2]=Xf(c[(c[A>>2]|0)+24>>2]|0,c[n>>2]<<2)|0;if(!(c[o>>2]|0)){c[B>>2]=3082;break}c[(c[A>>2]|0)+24>>2]=c[o>>2];while(1){if((e[(c[A>>2]|0)+20>>1]|0|0)>=(c[n>>2]|0))break a;c[u>>2]=S(c[x>>2]|0,c[m>>2]|0)|0;if((c[(c[A>>2]|0)+12>>2]|0)>=0){t=c[421]|0;h=c[u>>2]|0;i=d[(c[A>>2]|0)+22>>0]|0|0?1:3;y=c[(c[A>>2]|0)+12>>2]|0;F=c[x>>2]|0;F=r0(F|0,((F|0)<0)<<31>>31|0,e[(c[A>>2]|0)+20>>1]|0|0,0)|0;c[w>>2]=Gb[t&255](0,h,i,1,y,F)|0;if((c[w>>2]|0)==(-1|0)){a=21;break}}else{F=c[x>>2]|0;c[w>>2]=of(F,((F|0)<0)<<31>>31)|0;if(!(c[w>>2]|0)){a=23;break}m0(c[w>>2]|0,0,c[x>>2]|0)|0}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[m>>2]|0))break;F=(c[w>>2]|0)+(S(c[x>>2]|0,c[v>>2]|0)|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+((e[(c[A>>2]|0)+20>>1]|0)+(c[v>>2]|0)<<2)>>2]=F;c[v>>2]=(c[v>>2]|0)+1}F=(c[A>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[m>>2]|0)}if((a|0)==21){c[B>>2]=af(5386,21194,c[(c[A>>2]|0)+8>>2]|0,33866)|0;break}else if((a|0)==23){c[B>>2]=7;break}}while(0);if((e[(c[A>>2]|0)+20>>1]|0|0)>(c[D>>2]|0))c[c[z>>2]>>2]=c[(c[(c[A>>2]|0)+24>>2]|0)+(c[D>>2]<<2)>>2];else c[c[z>>2]>>2]=0;if((c[B>>2]|0)==0?(d[(c[A>>2]|0)+22>>0]|0|0)!=0:0)c[B>>2]=8;ud(c[(c[A>>2]|0)+4>>2]|0);c[C>>2]=c[B>>2];F=c[C>>2]|0;l=E;return F|0}function Wf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+128|0;q=r;e=r+116|0;h=r+112|0;i=r+108|0;j=r+104|0;k=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;p=r+12|0;f=r+8|0;g=r+4|0;c[h>>2]=b;c[i>>2]=0;c[i>>2]=of(16,0)|0;if(!(c[i>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;l=r;return q|0}b=c[i>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;Xe();c[m>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=c[(c[m>>2]|0)+20>>2];a:do if(!(c[j>>2]|0)){c[f>>2]=c[(c[h>>2]|0)+32>>2];do if(!(Mb[c[1480>>2]&255](c[(c[h>>2]|0)+12>>2]|0,p)|0)){c[o>>2]=6+(g$(c[f>>2]|0)|0);c[j>>2]=of(36+(c[o>>2]|0)|0,0)|0;if(!(c[j>>2]|0)){c[k>>2]=7;break}m0(c[j>>2]|0,0,36+(c[o>>2]|0)|0)|0;b=(c[j>>2]|0)+36|0;c[(c[j>>2]|0)+8>>2]=b;c[n>>2]=b;b=c[o>>2]|0;o=c[n>>2]|0;c[q>>2]=c[f>>2];ef(b,o,21525,q)|0;c[(c[j>>2]|0)+12>>2]=-1;c[(c[(c[h>>2]|0)+8>>2]|0)+20>>2]=c[j>>2];c[c[j>>2]>>2]=c[(c[h>>2]|0)+8>>2];if(c[3]|0?(q=Yf(0)|0,c[(c[j>>2]|0)+4>>2]=q,(c[(c[j>>2]|0)+4>>2]|0)==0):0){c[k>>2]=7;break}if(d[(c[m>>2]|0)+13>>0]|0|0)break a;c[g>>2]=66;if(Of(c[(c[h>>2]|0)+32>>2]|0,21532,0)|0){c[g>>2]=0;a[(c[j>>2]|0)+22>>0]=1}q=ff(c[n>>2]|0,c[g>>2]|0,c[p+12>>2]&511)|0;c[(c[j>>2]|0)+12>>2]=q;if((c[(c[j>>2]|0)+12>>2]|0)<0){q=gf(33691)|0;c[k>>2]=af(q,21042,c[n>>2]|0,33691)|0;break}Mf(c[(c[j>>2]|0)+12>>2]|0,c[p+20>>2]|0,c[p+24>>2]|0)|0;c[k>>2]=0;if((kf(c[h>>2]|0,1,128,1)|0)==0?Bf(c[(c[j>>2]|0)+12>>2]|0,0,0)|0:0)c[k>>2]=af(4618,21072,c[n>>2]|0,33707)|0;if(!(c[k>>2]|0))c[k>>2]=kf(c[h>>2]|0,0,128,1)|0;if(!(c[k>>2]|0))break a}else c[k>>2]=1802;while(0);Ye(c[h>>2]|0);_d(c[i>>2]|0);Ze();c[e>>2]=c[k>>2];q=c[e>>2]|0;l=r;return q|0}while(0);c[c[i>>2]>>2]=c[j>>2];q=(c[j>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[h>>2]|0)+36>>2]=c[i>>2];Ze();td(c[(c[j>>2]|0)+4>>2]|0);c[(c[i>>2]|0)+4>>2]=c[(c[j>>2]|0)+32>>2];c[(c[j>>2]|0)+32>>2]=c[i>>2];ud(c[(c[j>>2]|0)+4>>2]|0);c[e>>2]=0;q=c[e>>2]|0;l=r;return q|0}function Xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(fe()|0){c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}if((c[f>>2]|0)<0)c[f>>2]=0;f=c[f>>2]|0;c[d>>2]=ge(c[e>>2]|0,f,((f|0)<0)<<31>>31)|0;f=c[d>>2]|0;l=g;return f|0}function Yf(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[d>>2]=a;if((c[d>>2]|0)<=1?fe()|0:0)c[b>>2]=0;else e=4;do if((e|0)==4){if((c[d>>2]|0)>1?he()|0:0){c[b>>2]=0;break}c[b>>2]=Hb[c[88>>2]&255](c[d>>2]|0)|0}while(0);l=f;return c[b>>2]|0}function Zf(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;k=p+44|0;q=p+40|0;m=p+36|0;n=p+28|0;o=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[m>>2]=f;c[p+32>>2]=g;c[n>>2]=c[q>>2];c[j>>2]=0;if((d[(c[n>>2]|0)+16>>0]|0|0)<=(c[m>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;l=p;return q|0}Xe();c[o>>2]=c[(c[n>>2]|0)+8>>2];do if((d[(c[n>>2]|0)+16>>0]|0|0)>1){if((c[m>>2]|0)==1?(b[h>>1]=0,b[h+2>>1]=0,c[h+4>>2]=(c[482]|0)+2,c[h+8>>2]=510,_f(c[n>>2]|0,h)|0):0){c[j>>2]=2314;q=c[n>>2]|0;yf(q,c[(s_()|0)>>2]|0);break}b[h>>1]=2;b[h+2>>1]=0;c[h+4>>2]=c[482];c[h+8>>2]=2;if(!(_f(c[n>>2]|0,h)|0)){a[(c[o>>2]|0)+12>>0]=1;i=10;break}else{c[j>>2]=2058;q=c[n>>2]|0;yf(q,c[(s_()|0)>>2]|0);break}}else i=10;while(0);if((i|0)==10?(c[m>>2]|0)==0:0){q=(c[o>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[o>>2]|0)+8>>2]|0)){b[h>>1]=2;b[h+2>>1]=0;c[h+8>>2]=0;c[h+4>>2]=0;if(!(_f(c[n>>2]|0,h)|0))e=(c[o>>2]|0)+12|0;else{c[j>>2]=2058;e=c[n>>2]|0;yf(e,c[(s_()|0)>>2]|0);a[(c[o>>2]|0)+12>>0]=0;e=(c[n>>2]|0)+16|0}a[e>>0]=0}q=(c[o>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[o>>2]|0)+24>>2]|0))$f(c[n>>2]|0)}Ze();if(!(c[j>>2]|0))a[(c[n>>2]|0)+16>>0]=c[m>>2];c[k>>2]=c[j>>2];q=c[k>>2]|0;l=p;return q|0}function _f(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;p=q+8|0;o=q;h=q+48|0;i=q+44|0;j=q+40|0;k=q+36|0;m=q+32|0;n=q+16|0;c[i>>2]=f;c[j>>2]=g;c[m>>2]=c[(c[i>>2]|0)+8>>2];do if(((e[(c[i>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0|0){c[k>>2]=0;break}b[n+2>>1]=0;c[n+4>>2]=(c[482]|0)+2;c[n+8>>2]=510;b[n>>1]=1;j=c[376]|0;p=c[(c[i>>2]|0)+12>>2]|0;c[o>>2]=n;c[k>>2]=Bb[j&255](p,13,o)|0;if((c[k>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[k>>2];p=c[h>>2]|0;l=q;return p|0}else{n=c[376]|0;o=c[(c[i>>2]|0)+12>>2]|0;c[p>>2]=c[j>>2];c[k>>2]=Bb[n&255](o,13,p)|0}while(0);c[h>>2]=c[k>>2];p=c[h>>2]|0;l=q;return p|0}function $f(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[e>>2]=c[(c[d>>2]|0)+28>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+8>>2];$e(c[b>>2]|0,c[c[e>>2]>>2]|0,30592);_d(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+28>>2]=0;l=g;return}function ag(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;l=b;return}function bg(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){l=e;return}$f(c[b>>2]|0);if(c[(c[d>>2]|0)+36>>2]|0)a=(c[(c[d>>2]|0)+36>>2]|0)+32|0;else a=54796;c[a>>2]=c[(c[d>>2]|0)+32>>2];if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];_d(c[d>>2]|0);l=e;return}function cg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}d=(md(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=G_(c[e>>2]|0,c[f>>2]|0)|0;d=(md(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(md(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;l=i;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}return 0}function dg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;d=((eg(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;l=e;return d|0}function eg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+17|0;g=n+12|0;h=n+8|0;k=n+16|0;m=n+4|0;i=n;c[g>>2]=b;c[h>>2]=e;a[k>>0]=f;b=c[g>>2]|0;if((d[20063+(d[c[g>>2]>>0]|0)>>0]|0)&4|0){a[j>>0]=fg(b)|0;m=a[j>>0]|0;l=n;return m|0}c[i>>2]=md(b)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){b=11;break}if((d[21545+(c[m>>2]|0)>>0]|0|0)==(c[i>>2]|0)?(ld(21561+(d[21553+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[i>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){b=9;break}if((d[21586+(c[m>>2]|0)>>0]|0|0)<=1){b=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((b|0)==9){a[j>>0]=a[21586+(c[m>>2]|0)>>0]|0;m=a[j>>0]|0;l=n;return m|0}else if((b|0)==11){a[j>>0]=a[k>>0]|0;m=a[j>>0]|0;l=n;return m|0}return 0}function fg(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)gg(c[b>>2]|0,d)|0;l=e;return c[d>>2]|0}function gg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;i=o+32|0;j=o+28|0;k=o+24|0;f=o;m=o+20|0;g=o+16|0;h=o+12|0;n=o+8|0;c[j>>2]=b;c[k>>2]=e;e=f;c[e>>2]=0;c[e+4>>2]=0;c[h>>2]=0;do if((a[c[j>>2]>>0]|0)!=45){b=c[j>>2]|0;if((a[c[j>>2]>>0]|0)==43){c[j>>2]=b+1;break}if((a[b>>0]|0)==48){if((a[(c[j>>2]|0)+1>>0]|0)!=120?(a[(c[j>>2]|0)+1>>0]|0)!=88:0)break;if(d[20063+(d[(c[j>>2]|0)+2>>0]|0)>>0]&8|0){c[n>>2]=0;c[j>>2]=(c[j>>2]|0)+2;while(1){if((a[c[j>>2]>>0]|0)!=48)break;c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=0;while(1){b=c[n>>2]|0;if(!(d[20063+(d[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0?(c[m>>2]|0)<8:0))break;c[n>>2]=(b<<4)+((hg(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((b&-2147483648|0)==0?(d[20063+(d[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[k>>2]>>2]=c[n>>2];c[i>>2]=1;n=c[i>>2]|0;l=o;return n|0}c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}}}else{c[h>>2]=1;c[j>>2]=(c[j>>2]|0)+1}while(0);while(1){if((a[c[j>>2]>>0]|0)!=48)break;c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[g>>2]=n;if(!((n|0)>=0&(c[g>>2]|0)<=9))break;n=f;n=r0(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;e=c[g>>2]|0;e=_$(n|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;n=f;c[n>>2]=e;c[n+4>>2]=D;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}m=f;n=c[h>>2]|0;n=Z$(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=D;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}if(c[h>>2]|0){m=f;m=Z$(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=f;c[n>>2]=m;c[n+4>>2]=D}c[c[k>>2]>>2]=c[f>>2];c[i>>2]=1;n=c[i>>2]|0;l=o;return n|0}function hg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);l=d;return c[b>>2]&15|0}function ig(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+96|0;m=k+92|0;f=k+88|0;g=k+84|0;h=k+80|0;i=k+4|0;j=k;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;if(!(Mb[c[1468>>2]&255](c[m>>2]|0,i)|0)){c[c[f>>2]>>2]=c[i+12>>2]&511;c[c[g>>2]>>2]=c[i+20>>2];c[c[h>>2]>>2]=c[i+24>>2];m=c[j>>2]|0;l=k;return m|0}else{c[j>>2]=1802;m=c[j>>2]|0;l=k;return m|0}return 0}function jg(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 1852}function kg(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=1932;lg(18,b)|0;l=a;return}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+160|0;G=I+148|0;n=I+144|0;y=I+128|0;H=I+120|0;F=I+116|0;A=I+112|0;B=I+108|0;C=I+104|0;D=I+100|0;d=I+96|0;e=I+92|0;f=I+88|0;g=I+84|0;h=I+80|0;i=I+76|0;j=I+72|0;E=I+68|0;k=I+64|0;m=I+60|0;o=I+56|0;p=I+52|0;q=I+48|0;r=I+44|0;s=I+40|0;t=I+24|0;u=I+16|0;v=I+8|0;w=I;x=I+36|0;z=I+32|0;c[n>>2]=a;c[H>>2]=0;if(c[59]|0){c[G>>2]=qd(138190)|0;H=c[G>>2]|0;l=I;return H|0}c[y>>2]=b;do switch(c[n>>2]|0){case 1:{c[3]=0;c[4]=0;break}case 2:{c[3]=1;c[4]=0;break}case 3:{c[3]=1;c[4]=1;break}case 10:{a=(c[y>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[y>>2]=a+4;c[F>>2]=e;e=80;a=c[F>>2]|0;d=e+36|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));break}case 11:{a=(c[y>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[y>>2]=a+4;c[A>>2]=e;e=c[A>>2]|0;a=80;d=e+36|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));break}case 4:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[B>>2]=F;F=c[B>>2]|0;c[12]=c[F>>2];c[13]=c[F+4>>2];c[14]=c[F+8>>2];c[15]=c[F+12>>2];c[16]=c[F+16>>2];c[17]=c[F+20>>2];c[18]=c[F+24>>2];c[19]=c[F+28>>2];break}case 5:{if(!(c[12]|0))mg();E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[C>>2]=F;F=c[C>>2]|0;c[F>>2]=c[12];c[F+4>>2]=c[13];c[F+8>>2]=c[14];c[F+12>>2]=c[15];c[F+16>>2]=c[16];c[F+20>>2]=c[17];c[F+24>>2]=c[18];c[F+28>>2]=c[19];break}case 9:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[D>>2]=F;c[2]=c[D>>2];break}case 6:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[d>>2]=F;c[50]=c[d>>2];F=(c[y>>2]|0)+(4-1)&~(4-1);E=c[F>>2]|0;c[y>>2]=F+4;c[e>>2]=E;c[51]=c[e>>2];E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[f>>2]=F;c[52]=c[f>>2];break}case 7:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[g>>2]=F;c[53]=c[g>>2];F=(c[y>>2]|0)+(4-1)&~(4-1);E=c[F>>2]|0;c[y>>2]=F+4;c[h>>2]=E;c[54]=c[h>>2];E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[i>>2]=F;c[55]=c[i>>2];break}case 24:{F=(ng()|0)+(og()|0)+(pg()|0)|0;b=(c[y>>2]|0)+(4-1)&~(4-1);E=c[b>>2]|0;c[y>>2]=b+4;c[j>>2]=E;c[c[j>>2]>>2]=F;break}case 14:break;case 15:{c[H>>2]=1;break}case 18:{a=(c[y>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[y>>2]=a+4;c[E>>2]=e;e=116;a=c[E>>2]|0;d=e+52|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));break}case 19:{if(!(c[31]|0))kg();a=(c[y>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[y>>2]=a+4;c[k>>2]=e;e=c[k>>2]|0;a=116;d=e+52|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));break}case 13:{F=(c[y>>2]|0)+(4-1)&~(4-1);E=c[F>>2]|0;c[y>>2]=F+4;c[m>>2]=E;c[9]=c[m>>2];E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[o>>2]=F;c[10]=c[o>>2];break}case 16:{F=(c[y>>2]|0)+(4-1)&~(4-1);E=c[F>>2]|0;c[y>>2]=F+4;c[p>>2]=E;c[66]=c[p>>2];E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[q>>2]=F;c[67]=c[q>>2];break}case 17:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[r>>2]=F;c[5]=c[r>>2];break}case 20:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[s>>2]=F;c[6]=c[s>>2];break}case 22:{b=(c[y>>2]|0)+(8-1)&~(8-1);D=b;E=c[D>>2]|0;D=c[D+4>>2]|0;c[y>>2]=b+8;b=u;c[b>>2]=E;c[b+4>>2]=D;b=u;D=c[b+4>>2]|0;E=t;c[E>>2]=c[b>>2];c[E+4>>2]=D;E=(c[y>>2]|0)+(8-1)&~(8-1);D=E;b=c[D>>2]|0;D=c[D+4>>2]|0;c[y>>2]=E+8;E=w;c[E>>2]=b;c[E+4>>2]=D;E=w;D=c[E>>2]|0;E=c[E+4>>2]|0;b=v;c[b>>2]=D;c[b+4>>2]=E;b=v;F=c[b+4>>2]|0;b=(c[v+4>>2]|0)<0|((F|0)>0|(F|0)==0&(c[b>>2]|0)>>>0>0);F=v;c[F>>2]=b?0:D;c[F+4>>2]=b?0:E;if((c[t+4>>2]|0)<0){F=t;c[F>>2]=0;c[F+4>>2]=0}E=t;D=c[E+4>>2]|0;F=v;b=c[F+4>>2]|0;if((D|0)>(b|0)|((D|0)==(b|0)?(c[E>>2]|0)>>>0>(c[F>>2]|0)>>>0:0)){b=v;E=c[b+4>>2]|0;F=t;c[F>>2]=c[b>>2];c[F+4>>2]=E}F=v;E=c[F+4>>2]|0;b=192;c[b>>2]=c[F>>2];c[b+4>>2]=E;b=t;E=c[b+4>>2]|0;F=184;c[F>>2]=c[b>>2];c[F+4>>2]=E;break}case 25:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[x>>2]=F;c[58]=c[x>>2];break}case 26:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[z>>2]=F;c[11]=c[z>>2];break}default:c[H>>2]=1}while(0);c[G>>2]=c[H>>2];H=c[G>>2]|0;l=I;return H|0}function mg(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=1984;lg(4,b)|0;l=a;return}function ng(){return 88}function og(){return 40}function pg(){return 32}function qg(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=Q$((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;l=e;return f|0}else{c[d>>2]=a;xd(7,21637,d);f=c[b>>2]|0;l=e;return f|0}return 0}function rg(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;R$(c[d>>2]|0);l=b;return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=T$(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){e=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;l=h;return g|0}else{d=tg(c[d>>2]|0)|0;e=c[e>>2]|0;c[g>>2]=d;c[g+4>>2]=e;xd(7,21601,g);g=c[f>>2]|0;l=h;return g|0}return 0}function tg(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;l=d;return c[c[b>>2]>>2]|0}function ug(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[b>>2]|0)+7&-8|0}function vg(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function wg(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return}function xg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;c[d>>2]=a;a=54596;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[13663]=((c[53]|0)==0?1:(c[3]|0)>0)&1;if(c[3]|0){c[13649]=ie(6)|0;c[13670]=ie(7)|0}c[13664]=(c[13663]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0?c[55]|0:0;c[13652]=10;c[13662]=1;l=d;return 0}function yg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;c[d>>2]=a;a=54596;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return}function zg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;k=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[n>>2]=60+((c[13663]|0)*52|0);f=c[n>>2]|0;c[j>>2]=Xg(f,((f|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){n=c[j>>2]|0;l=m;return n|0}if(c[13663]|0){c[k>>2]=(c[j>>2]|0)+60;c[(c[k>>2]|0)+12>>2]=10}else c[k>>2]=54596;if(!(d[(c[k>>2]|0)+20+14>>0]|0)){a[(c[k>>2]|0)+20+14>>0]=1;n=(c[k>>2]|0)+20|0;c[(c[k>>2]|0)+20+24>>2]=n;c[(c[k>>2]|0)+20+28>>2]=n}c[c[j>>2]>>2]=c[k>>2];c[(c[j>>2]|0)+4>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[h>>2];c[(c[j>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[j>>2]|0)+16>>2]=c[i>>2]|0?1:0;Rg(c[j>>2]|0);if(c[i>>2]|0){c[(c[j>>2]|0)+20>>2]=10;n=(c[k>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);c[(c[k>>2]|0)+12>>2]=(c[(c[k>>2]|0)+4>>2]|0)+10-(c[(c[k>>2]|0)+8>>2]|0)}if(c[(c[j>>2]|0)+44>>2]|0){n=c[j>>2]|0;l=m;return n|0}Gg(c[j>>2]|0);c[j>>2]=0;n=c[j>>2]|0;l=m;return n|0}function Ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){l=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Ig(c[e>>2]|0);l=g;return}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];l=d;return c[b>>2]|0}function Cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Og(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function Dg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;n=j+24|0;m=j+20|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[f>>2]=c[n>>2];c[g>>2]=c[m>>2];c[h>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==0?(c[(c[h>>2]|0)+16>>2]|0)>>>0<=(c[(c[h>>2]|0)+4>>2]|0)>>>0:0){c[i>>2]=(c[h>>2]|0)+20+24;c[(c[g>>2]|0)+28>>2]=(c[h>>2]|0)+20;m=c[g>>2]|0;n=c[c[i>>2]>>2]|0;c[(c[g>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[i>>2]>>2]=c[g>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[g>>2]|0)+12>>0]=0;l=j;return}Kg(c[g>>2]|0,1);l=j;return}function Eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;o=k+28|0;n=k+24|0;m=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;f=k+4|0;g=k;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[i>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[i>>2]|0)+44>>2]|0)>>>0)|0;c[f>>2]=(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[f>>2]>>2]|0)==(c[j>>2]|0))break;c[f>>2]=(c[c[f>>2]>>2]|0)+16}c[c[f>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[h>>2]|0)>>>0)%((c[(c[i>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[h>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[h>>2]|0)>>>0<=(c[(c[i>>2]|0)+32>>2]|0)>>>0){l=k;return}c[(c[i>>2]|0)+32>>2]=c[h>>2];l=k;return}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){l=f;return}Ng(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;l=f;return}function Gg(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];c[d>>2]=c[c[b>>2]>>2];if(c[(c[b>>2]|0)+40>>2]|0)Ng(c[b>>2]|0,0);f=(c[d>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+24>>2]|0);f=(c[d>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+20>>2]|0);c[(c[d>>2]|0)+12>>2]=(c[(c[d>>2]|0)+4>>2]|0)+10-(c[(c[d>>2]|0)+8>>2]|0);Ig(c[b>>2]|0);_d(c[(c[b>>2]|0)+56>>2]|0);_d(c[(c[b>>2]|0)+48>>2]|0);_d(c[b>>2]|0);l=e;return}function Hg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){l=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;Ig(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];l=f;return} +function NO(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;g=q+8|0;h=q+4|0;o=q;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=2;while(1){if((c[n>>2]|0)>=((c[(c[i>>2]|0)+24>>2]|0)+2|0)){a=8;break}c[g>>2]=(c[n>>2]|0)-2;if(!(d[(c[(c[i>>2]|0)+32>>2]|0)+(c[g>>2]|0)>>0]|0)){c[h>>2]=Rh(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[o>>2]=SO(c[i>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,(c[m>>2]|0)+(c[g>>2]<<2)|0)|0;if(c[o>>2]|0){a=5;break}e=Sh(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;f=(c[m>>2]|0)+(c[(c[i>>2]|0)+24>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+e}c[n>>2]=(c[n>>2]|0)+1}if((a|0)==5){c[p>>2]=c[o>>2];p=c[p>>2]|0;l=q;return p|0}else if((a|0)==8){c[p>>2]=0;p=c[p>>2]|0;l=q;return p|0}return 0}function OO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){l=m;return}c[h>>2]=pe((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[h>>2]|0)){c[c[e>>2]>>2]=7;l=m;return}RO(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[h>>2]|0,i);c[k>>2]=sL(c[f>>2]|0,20,j,0)|0;if(c[k>>2]|0){_d(c[h>>2]|0);c[c[e>>2]>>2]=c[k>>2];l=m;return}else{k=(c[f>>2]|0)+264|0;qJ(c[j>>2]|0,1,c[k>>2]|0,c[k+4>>2]|0)|0;lJ(c[j>>2]|0,2,c[h>>2]|0,c[i>>2]|0,157)|0;Bs(c[j>>2]|0)|0;k=ys(c[j>>2]|0)|0;c[c[e>>2]>>2]=k;l=m;return}}function PO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;p=u+48|0;q=u+44|0;r=u+40|0;s=u+36|0;t=u+32|0;g=u+28|0;h=u+24|0;i=u+20|0;j=u+16|0;k=u+12|0;m=u+8|0;n=u+4|0;o=u;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[n>>2]=(c[(c[q>>2]|0)+24>>2]|0)+2;if(c[c[p>>2]>>2]|0){l=u;return}c[i>>2]=pe((c[n>>2]|0)*14|0)|0;if(!(c[i>>2]|0)){c[c[p>>2]>>2]=7;l=u;return}c[g>>2]=(c[i>>2]|0)+(c[n>>2]<<2);c[m>>2]=sL(c[q>>2]|0,22,j,0)|0;if(c[m>>2]|0){_d(c[i>>2]|0);c[c[p>>2]>>2]=c[m>>2];l=u;return}pJ(c[j>>2]|0,1,0)|0;if((Bs(c[j>>2]|0)|0)==100){d=c[n>>2]|0;e=c[i>>2]|0;f=fJ(c[j>>2]|0,0)|0;QO(d,e,f,gJ(c[j>>2]|0,0)|0)}else m0(c[i>>2]|0,0,c[n>>2]<<2|0)|0;c[m>>2]=ys(c[j>>2]|0)|0;if(c[m>>2]|0){_d(c[i>>2]|0);c[c[p>>2]>>2]=c[m>>2];l=u;return}if((c[t>>2]|0)<0?(c[c[i>>2]>>2]|0)>>>0<(0-(c[t>>2]|0)|0)>>>0:0)c[c[i>>2]>>2]=0;else{f=c[i>>2]|0;c[f>>2]=(c[f>>2]|0)+(c[t>>2]|0)}c[k>>2]=0;while(1){if((c[k>>2]|0)>=((c[(c[q>>2]|0)+24>>2]|0)+1|0))break;c[o>>2]=c[(c[i>>2]|0)+((c[k>>2]|0)+1<<2)>>2];if(((c[o>>2]|0)+(c[(c[r>>2]|0)+(c[k>>2]<<2)>>2]|0)|0)>>>0<(c[(c[s>>2]|0)+(c[k>>2]<<2)>>2]|0)>>>0)c[o>>2]=0;else c[o>>2]=(c[o>>2]|0)+(c[(c[r>>2]|0)+(c[k>>2]<<2)>>2]|0)-(c[(c[s>>2]|0)+(c[k>>2]<<2)>>2]|0);c[(c[i>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[o>>2];c[k>>2]=(c[k>>2]|0)+1}RO(c[n>>2]|0,c[i>>2]|0,c[g>>2]|0,h);c[m>>2]=sL(c[q>>2]|0,23,j,0)|0;if(c[m>>2]|0){_d(c[i>>2]|0);c[c[p>>2]>>2]=c[m>>2];l=u;return}else{pJ(c[j>>2]|0,1,0)|0;lJ(c[j>>2]|0,2,c[g>>2]|0,c[h>>2]|0,0)|0;Bs(c[j>>2]|0)|0;t=ys(c[j>>2]|0)|0;c[c[p>>2]>>2]=t;_d(c[i>>2]|0);l=u;return}}function QO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+28|0;h=m+24|0;i=m+20|0;j=m+12|0;k=m+8|0;f=m;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[g>>2]|0))break;e=bM((c[i>>2]|0)+(c[k>>2]|0)|0,f)|0;c[k>>2]=(c[k>>2]|0)+e;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[f>>2];c[j>>2]=(c[j>>2]|0)+1}l=m;return}function RO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;e=NL((c[h>>2]|0)+(c[k>>2]|0)|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,0)|0;c[k>>2]=(c[k>>2]|0)+e;c[j>>2]=(c[j>>2]|0)+1}c[c[i>>2]>>2]=c[k>>2];l=m;return}function SO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;v=B+72|0;w=B+68|0;x=B+64|0;y=B+60|0;z=B+56|0;g=B+52|0;h=B+48|0;i=B+44|0;j=B+40|0;k=B+36|0;m=B+32|0;n=B+28|0;o=B+24|0;p=B+20|0;q=B+16|0;r=B+12|0;s=B+8|0;t=B+4|0;u=B;c[w>>2]=a;c[x>>2]=b;c[y>>2]=d;c[z>>2]=e;c[g>>2]=f;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=0;c[o>>2]=0;c[p>>2]=c[(c[w>>2]|0)+36>>2];c[q>>2]=c[c[p>>2]>>2];if(!(c[y>>2]|0)){c[c[g>>2]>>2]=0;c[v>>2]=0;A=c[v>>2]|0;l=B;return A|0}c[h>>2]=EN(c[p>>2]|0,c[x>>2]|0,c[y>>2]|0,-1,r)|0;if(c[h>>2]|0){c[v>>2]=c[h>>2];A=c[v>>2]|0;l=B;return A|0}c[s>>2]=c[(c[q>>2]|0)+20>>2];a:while(1){if(c[h>>2]|0)break;y=Gb[c[s>>2]&255](c[r>>2]|0,n,o,i,j,k)|0;c[h>>2]=y;if(y)break;if((c[k>>2]|0)>=(c[m>>2]|0))c[m>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>=0&(c[n>>2]|0)!=0^1|(c[o>>2]|0)<=0){A=11;break}c[h>>2]=TO(c[w>>2]|0,c[z>>2]|0,c[k>>2]|0,(c[(c[w>>2]|0)+252>>2]|0)+4|0,c[n>>2]|0,c[o>>2]|0)|0;c[t>>2]=1;while(1){if(c[h>>2]|0)continue a;if((c[t>>2]|0)>=(c[(c[w>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[w>>2]|0)+252>>2]|0)+((c[t>>2]|0)*24|0);if((c[o>>2]|0)>=(c[c[u>>2]>>2]|0))c[h>>2]=TO(c[w>>2]|0,c[z>>2]|0,c[k>>2]|0,(c[u>>2]|0)+4|0,c[n>>2]|0,c[c[u>>2]>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+1}}if((A|0)==11)c[h>>2]=1;Hb[c[(c[q>>2]|0)+16>>2]&255](c[r>>2]|0)|0;A=c[g>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[m>>2]|0);c[v>>2]=(c[h>>2]|0)==101?0:c[h>>2]|0;A=c[v>>2]|0;l=B;return A|0}function TO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;h=q+12|0;i=q+8|0;j=q+4|0;k=q;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[i>>2]=g;c[k>>2]=0;c[j>>2]=HK(c[p>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(c[j>>2]|0){g=(c[m>>2]|0)+260|0;c[g>>2]=(c[g>>2]|0)-((c[c[j>>2]>>2]|0)+(c[i>>2]|0)+20)}g=(c[m>>2]|0)+264|0;n=c[n>>2]|0;o=c[o>>2]|0;if(FN(j,c[g>>2]|0,c[g+4>>2]|0,n,((n|0)<0)<<31>>31,o,((o|0)<0)<<31>>31,k)|0?(o=c[j>>2]|0,(o|0)==(oK(c[p>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0)|0)):0){_d(c[j>>2]|0);c[k>>2]=7}if(c[k>>2]|0){p=c[k>>2]|0;l=q;return p|0}p=(c[m>>2]|0)+260|0;c[p>>2]=(c[p>>2]|0)+((c[c[j>>2]>>2]|0)+(c[i>>2]|0)+20);p=c[k>>2]|0;l=q;return p|0}function UO(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;q=u+48|0;r=u+44|0;h=u+40|0;s=u+36|0;t=u+32|0;i=u+28|0;j=u+24|0;k=u+20|0;m=u+16|0;n=u;o=u+12|0;p=u+8|0;c[q>>2]=a;c[r>>2]=b;c[h>>2]=e;c[s>>2]=f;c[t>>2]=g;if(c[c[q>>2]>>2]|0){l=u;return}c[i>>2]=sL(c[r>>2]|0,7,j,h)|0;a=c[j>>2]|0;if(!(c[i>>2]|0)){do if(100==(Bs(a)|0)){c[m>>2]=YO(c[r>>2]|0,c[j>>2]|0)|0;g=jJ(c[j>>2]|0,0)|0;h=n;c[h>>2]=g;c[h+4>>2]=D;c[i>>2]=MO(c[r>>2]|0,1,c[m>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[k>>2]=1;while(1){if(c[i>>2]|0)break;if((c[k>>2]|0)>(c[(c[r>>2]|0)+24>>2]|0))break;c[o>>2]=(c[k>>2]|0)-1;if(!(d[(c[(c[r>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[p>>2]=Cv(c[j>>2]|0,c[k>>2]|0)|0;c[i>>2]=SO(c[r>>2]|0,c[m>>2]|0,c[p>>2]|0,-1,(c[s>>2]|0)+(c[o>>2]<<2)|0)|0;h=gJ(c[j>>2]|0,c[k>>2]|0)|0;n=(c[s>>2]|0)+(c[(c[r>>2]|0)+24>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+h}c[k>>2]=(c[k>>2]|0)+1}if(!(c[i>>2]|0)){c[c[t>>2]>>2]=1;break}ys(c[j>>2]|0)|0;c[c[q>>2]>>2]=c[i>>2];l=u;return}while(0);c[i>>2]=ys(c[j>>2]|0)|0}else ys(a)|0;c[c[q>>2]>>2]=c[i>>2];l=u;return}function VO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[i>>2]=0;i=c[i>>2]|0;l=j;return i|0}c[i>>2]=sL(c[e>>2]|0,1,h,f)|0;if(c[i>>2]|0){i=c[i>>2]|0;l=j;return i|0}if(100==(Bs(c[h>>2]|0)|0)){f=iJ(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=f}c[i>>2]=ys(c[h>>2]|0)|0;i=c[i>>2]|0;l=j;return i|0}function WO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;mL(c[e>>2]|0);if(c[h>>2]|0)XO(f,c[e>>2]|0,2,0);XO(f,c[e>>2]|0,3,0);XO(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)XO(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;l=g;return h|0}XO(f,c[e>>2]|0,6,0);h=c[f>>2]|0;l=g;return h|0}function XO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(c[c[f>>2]>>2]|0){l=m;return}c[k>>2]=sL(c[g>>2]|0,c[h>>2]|0,j,c[i>>2]|0)|0;if(!(c[k>>2]|0)){Bs(c[j>>2]|0)|0;c[k>>2]=ys(c[j>>2]|0)|0}c[c[f>>2]>>2]=c[k>>2];l=m;return}function YO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=iJ(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;f=c[f>>2]|0;l=g;return f|0}function ZO(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;g=t;h=t+52|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;e=t+24|0;f=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;c[h>>2]=b;c[n>>2]=WO(c[h>>2]|0,0)|0;if(c[n>>2]|0){s=c[n>>2]|0;l=t;return s|0}c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[g>>2]=c[(c[h>>2]|0)+216>>2];c[e>>2]=nf(45739,g)|0;if(c[e>>2]|0){c[n>>2]=zv(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,-1,r,0)|0;_d(c[e>>2]|0)}else c[n>>2]=7;do if(!(c[n>>2]|0)){c[f>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[o>>2]=pe(c[f>>2]|0)|0;if(!(c[o>>2]|0)){c[n>>2]=7;break}else{m0(c[o>>2]|0,0,c[f>>2]|0)|0;c[p>>2]=(c[o>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[q>>2]=(c[p>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[n>>2]|0))b=100==(Bs(c[r>>2]|0)|0);else b=0;e=c[h>>2]|0;if(!b)break;c[j>>2]=YO(e,c[r>>2]|0)|0;e=c[h>>2]|0;f=c[j>>2]|0;g=jJ(c[r>>2]|0,0)|0;c[n>>2]=MO(e,0,f,g,D)|0;m0(c[o>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[i>>2]=0;while(1){if(!(c[n>>2]|0))b=(c[i>>2]|0)<(c[(c[h>>2]|0)+24>>2]|0);else b=0;e=c[h>>2]|0;if(!b)break;if(!(d[(c[e+32>>2]|0)+(c[i>>2]|0)>>0]|0)){c[k>>2]=Cv(c[r>>2]|0,(c[i>>2]|0)+1|0)|0;c[n>>2]=SO(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[i>>2]|0,(c[o>>2]|0)+(c[i>>2]<<2)|0)|0;f=gJ(c[r>>2]|0,(c[i>>2]|0)+1|0)|0;g=(c[o>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[i>>2]=(c[i>>2]|0)+1}if(a[e+230>>0]|0)OO(n,c[h>>2]|0,c[o>>2]|0);if(c[n>>2]|0){Fr(c[r>>2]|0)|0;c[r>>2]=0;continue}c[s>>2]=(c[s>>2]|0)+1;c[i>>2]=0;while(1){if((c[i>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[p>>2]|0)+(c[i>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[o>>2]|0)+(c[i>>2]<<2)>>2]|0);c[i>>2]=(c[i>>2]|0)+1}}if(a[e+228>>0]|0)PO(n,c[h>>2]|0,c[p>>2]|0,c[q>>2]|0,c[s>>2]|0);_d(c[o>>2]|0);if(!(c[r>>2]|0)){s=c[n>>2]|0;l=t;return s|0}c[m>>2]=Fr(c[r>>2]|0)|0;if(c[n>>2]|0){s=c[n>>2]|0;l=t;return s|0}c[n>>2]=c[m>>2];s=c[n>>2]|0;l=t;return s|0}function _O(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=dP(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;l=d;return c[b>>2]|0}function $O(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[k>>2]=d;c[g>>2]=8;c[h>>2]=0;c[i>>2]=c[k>>2];c[h>>2]=bP(i)|0;if((a[c[i>>2]>>0]|0)==44?a[(c[i>>2]|0)+1>>0]|0:0){c[i>>2]=(c[i>>2]|0)+1;c[g>>2]=bP(i)|0}if((c[g>>2]|0)<2?1:(a[c[i>>2]>>0]|0)!=0){c[f>>2]=1;k=c[f>>2]|0;l=j;return k|0}c[f>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))cP(f,c[e>>2]|0);if(!(c[f>>2]|0))c[f>>2]=hO(c[e>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;BM(c[e>>2]|0);k=c[f>>2]|0;l=j;return k|0}function aP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[j>>2]=d;c[g>>2]=0;c[h>>2]=0;d=bP(j)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?(cP(g,c[f>>2]|0),c[g>>2]|0):0){c[e>>2]=c[g>>2];j=c[e>>2]|0;l=i;return j|0}c[g>>2]=sL(c[f>>2]|0,23,h,0)|0;if(c[g>>2]|0){c[e>>2]=c[g>>2];j=c[e>>2]|0;l=i;return j|0}else{pJ(c[h>>2]|0,1,2)|0;pJ(c[h>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;Bs(c[h>>2]|0)|0;c[g>>2]=ys(c[h>>2]|0)|0;c[e>>2]=c[g>>2];j=c[e>>2]|0;l=i;return j|0}return 0}function bP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=0;while(1){if((a[c[e>>2]>>0]|0)<48){b=5;break}if((a[c[e>>2]>>0]|0)>57){b=5;break}h=(c[f>>2]|0)*10|0;b=c[e>>2]|0;c[e>>2]=b+1;c[f>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[e>>2];l=g;return c[f>>2]|0}return 0}function cP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;b=c[g>>2]|0;d=c[(c[e>>2]|0)+12>>2]|0;i=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=i;qL(b,d,45662,h);if(c[c[g>>2]>>2]|0){l=f;return}a[(c[e>>2]|0)+229>>0]=1;l=f;return}function dP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;F=l;l=l+112|0;j=F+24|0;t=F+108|0;A=F+104|0;B=F+100|0;C=F+16|0;E=F+8|0;g=F+96|0;h=F+92|0;i=F+88|0;e=F+84|0;k=F+80|0;m=F+76|0;f=F+72|0;n=F;o=F+68|0;p=F+64|0;q=F+60|0;r=F+56|0;s=F+52|0;u=F+48|0;v=F+44|0;w=F+40|0;x=F+36|0;y=F+32|0;z=F+28|0;c[t>>2]=a;c[A>>2]=b;c[B>>2]=0;b=C;c[b>>2]=0;c[b+4>>2]=0;b=E;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[B>>2]=sL(c[t>>2]|0,27,g,0)|0;if(!(c[B>>2]|0)){pJ(c[g>>2]|0,1,c[(c[t>>2]|0)+272>>2]|0)|0;pJ(c[g>>2]|0,2,c[(c[t>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[B>>2]|0))a=(Bs(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[i>>2]=iJ(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[t>>2]|0)+248>>2]|0))continue a;a=C;H=c[a>>2]|0;a=c[a+4>>2]|0;G=eP(c[t>>2]|0,c[i>>2]|0,c[e>>2]|0,B)|0;b=C;c[b>>2]=H^G;c[b+4>>2]=a^D;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=ys(b)|0;if(!(c[B>>2]|0))c[B>>2]=c[h>>2]}if(c[B>>2]|0){z=C;z=c[z>>2]|0;C=C+4|0;C=c[C>>2]|0;G=E;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(z|0)==(H|0);G=(C|0)==(G|0);G=H&G;G=G&1;H=c[A>>2]|0;c[H>>2]=G;H=c[B>>2]|0;l=F;return H|0}c[k>>2]=c[c[(c[t>>2]|0)+36>>2]>>2];c[m>>2]=0;c[j>>2]=c[(c[t>>2]|0)+216>>2];c[f>>2]=nf(45739,j)|0;if(c[f>>2]|0){c[B>>2]=zv(c[(c[t>>2]|0)+12>>2]|0,c[f>>2]|0,-1,m,0)|0;_d(c[f>>2]|0)}else c[B>>2]=7;b:while(1){if(!(c[B>>2]|0))b=100==(Bs(c[m>>2]|0)|0);else b=0;a=c[m>>2]|0;if(!b)break;G=jJ(a,0)|0;H=n;c[H>>2]=G;c[H+4>>2]=D;c[o>>2]=YO(c[t>>2]|0,c[m>>2]|0)|0;c[p>>2]=0;while(1){if(c[B>>2]|0)continue b;if((c[p>>2]|0)>=(c[(c[t>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[t>>2]|0)+32>>2]|0)+(c[p>>2]|0)>>0]|0)){c[q>>2]=Cv(c[m>>2]|0,(c[p>>2]|0)+1|0)|0;c[r>>2]=gJ(c[m>>2]|0,(c[p>>2]|0)+1|0)|0;c[s>>2]=0;c[B>>2]=EN(c[(c[t>>2]|0)+36>>2]|0,c[o>>2]|0,c[q>>2]|0,c[r>>2]|0,s)|0;c:while(1){if(c[B>>2]|0)break;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[B>>2]=Gb[c[(c[k>>2]|0)+20>>2]&255](c[s>>2]|0,u,v,w,x,y)|0;if(c[B>>2]|0)continue;G=E;i=c[G>>2]|0;G=c[G+4>>2]|0;j=n;j=fP(c[u>>2]|0,c[v>>2]|0,c[o>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,c[p>>2]|0,c[y>>2]|0)|0;H=E;c[H>>2]=i^j;c[H+4>>2]=G^D;c[z>>2]=1;while(1){if((c[z>>2]|0)>=(c[(c[t>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[t>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)>>2]|0)<=(c[v>>2]|0)){G=E;i=c[G>>2]|0;G=c[G+4>>2]|0;j=n;j=fP(c[u>>2]|0,c[(c[(c[t>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)>>2]|0,c[o>>2]|0,c[z>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[p>>2]|0,c[y>>2]|0)|0;H=E;c[H>>2]=i^j;c[H+4>>2]=G^D}c[z>>2]=(c[z>>2]|0)+1}}if(c[s>>2]|0)Hb[c[(c[k>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if((c[B>>2]|0)==101)c[B>>2]=0}c[p>>2]=(c[p>>2]|0)+1}}Fr(a)|0;z=C;z=c[z>>2]|0;C=C+4|0;C=c[C>>2]|0;G=E;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(z|0)==(H|0);G=(C|0)==(G|0);G=H&G;G=G&1;H=c[A>>2]|0;c[H>>2]=G;H=c[B>>2]|0;l=F;return H|0}function eP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+140|0;q=u+136|0;r=u+132|0;s=u+128|0;f=u+112|0;t=u+56|0;g=u+48|0;h=u+32|0;i=u+44|0;j=u+40|0;k=u+24|0;m=u+16|0;n=u+8|0;o=u;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;a=h;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a=t;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[g>>2]=tL(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,-2,0,0,0,1,t)|0;if(!(c[g>>2]|0))c[g>>2]=xL(c[p>>2]|0,t,f)|0;if(c[g>>2]|0){EL(t);t=c[g>>2]|0;s=c[s>>2]|0;c[s>>2]=t;s=h;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;D=s;l=u;return t|0}a:while(1){f=yL(c[p>>2]|0,t)|0;c[g>>2]=f;if(100!=(f|0))break;c[i>>2]=c[t+48>>2];c[j>>2]=(c[i>>2]|0)+(c[t+52>>2]|0);f=k;c[f>>2]=0;c[f+4>>2]=0;f=m;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=bM(c[i>>2]|0,k)|0;c[i>>2]=(c[i>>2]|0)+f;while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)continue a;f=o;c[f>>2]=0;c[f+4>>2]=0;f=bM(c[i>>2]|0,o)|0;c[i>>2]=(c[i>>2]|0)+f;if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)continue;e=o;f=o;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=o;b=Z$(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=n;b=_$(c[e>>2]|0,c[e+4>>2]|0,b|0,D|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=D;e=h;b=c[e>>2]|0;e=c[e+4>>2]|0;d=k;d=fP(c[t+40>>2]|0,c[t+44>>2]|0,c[q>>2]|0,c[r>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;f=h;c[f>>2]=b^d;c[f+4>>2]=e^D;continue}f=m;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=o;a=c[i>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=bM(a,m)|0;c[i>>2]=(c[i>>2]|0)+f;continue}else{e=bM(a,o)|0;c[i>>2]=(c[i>>2]|0)+e;e=o;f=k;e=_$(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=k;c[f>>2]=e;c[f+4>>2]=D;continue}}}EL(t);t=c[g>>2]|0;s=c[s>>2]|0;c[s>>2]=t;s=h;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;D=s;l=u;return t|0}function fP(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=l;l=l+48|0;n=p+40|0;o=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;k=p+16|0;m=p;c[n>>2]=b;c[o>>2]=d;c[t>>2]=e;c[s>>2]=f;f=u;c[f>>2]=g;c[f+4>>2]=h;c[r>>2]=i;c[q>>2]=j;h=u;i=c[h+4>>2]|0;j=m;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=m;j=j0(c[j>>2]|0,c[j+4>>2]|0,3)|0;i=c[t>>2]|0;i=_$(j|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;j=m;i=_$(c[j>>2]|0,c[j+4>>2]|0,i|0,D|0)|0;j=m;c[j>>2]=i;c[j+4>>2]=D;j=m;j=j0(c[j>>2]|0,c[j+4>>2]|0,3)|0;i=c[s>>2]|0;i=_$(j|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;j=m;i=_$(c[j>>2]|0,c[j+4>>2]|0,i|0,D|0)|0;j=m;c[j>>2]=i;c[j+4>>2]=D;j=m;j=j0(c[j>>2]|0,c[j+4>>2]|0,3)|0;i=c[r>>2]|0;i=_$(j|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;j=m;i=_$(c[j>>2]|0,c[j+4>>2]|0,i|0,D|0)|0;j=m;c[j>>2]=i;c[j+4>>2]=D;j=m;j=j0(c[j>>2]|0,c[j+4>>2]|0,3)|0;i=c[q>>2]|0;i=_$(j|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;j=m;i=_$(c[j>>2]|0,c[j+4>>2]|0,i|0,D|0)|0;j=m;c[j>>2]=i;c[j+4>>2]=D;c[k>>2]=0;while(1){d=m;b=c[d>>2]|0;d=c[d+4>>2]|0;if((c[k>>2]|0)>=(c[o>>2]|0))break;u=j0(b|0,d|0,3)|0;t=a[(c[n>>2]|0)+(c[k>>2]|0)>>0]|0;t=_$(u|0,D|0,t|0,((t|0)<0)<<31>>31|0)|0;u=m;t=_$(c[u>>2]|0,c[u+4>>2]|0,t|0,D|0)|0;u=m;c[u>>2]=t;c[u+4>>2]=D;c[k>>2]=(c[k>>2]|0)+1}D=d;l=p;return b|0}function gP(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[g>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))ys(c[(c[e>>2]|0)+8>>2]|0)|0;WM(c[e>>2]|0,c[g>>2]|0,f);a[(c[e>>2]|0)+6>>0]=a[(c[g>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;j=(c[g>>2]|0)+24|0;i=c[j+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[j>>2];c[b+4>>2]=i;if(d[(c[e>>2]|0)+6>>0]|0|0)break a}while((RM(c[e>>2]|0,f)|0)!=0);while(0);if(c[f>>2]|0){j=c[f>>2]|0;l=h;return j|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(i=(c[e>>2]|0)+32|0,b=c[i+4>>2]|0,j=(c[e>>2]|0)+80|0,g=c[j+4>>2]|0,(b|0)>(g|0)|((b|0)==(g|0)?(c[i>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){j=c[f>>2]|0;l=h;return j|0}i=(c[e>>2]|0)+32|0;b=c[i+4>>2]|0;j=(c[e>>2]|0)+72|0;g=c[j+4>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?(c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0:0))){j=c[f>>2]|0;l=h;return j|0}}a[(c[e>>2]|0)+6>>0]=1;j=c[f>>2]|0;l=h;return j|0}function hP(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];HP(c[b>>2]|0);if((c[d>>2]|0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?c[(c[d>>2]|0)+16>>2]|0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}l=e;return}function iP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+8|0;f=i+20|0;g=i;h=i+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0?(c[h>>2]=Ei(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){h=Fi(c[f>>2]|0)|0;g=e;c[g>>2]=h;c[g+4>>2]=D;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=i;return h|0}f=g;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=i;return h|0}function jP(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=l;l=l+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=i;c[n>>2]=j;c[o>>2]=k;c[p>>2]=vP(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?c[c[n>>2]>>2]|0:0)?(c[p>>2]=wP(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=xP(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;l=s;return z|0}hP(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;IK(z,45848,q);c[p>>2]=1;z=c[p>>2]|0;l=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;l=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];IK(z,45900,r);z=c[p>>2]|0;l=s;return z|0}function kP(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;b=n+36|0;o=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;e=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[f>>2]=0;c[g>>2]=0;c[h>>2]=0;lP(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,g,h,f);do if((c[f>>2]|0)==0&(c[g>>2]|0)>1?d[(c[o>>2]|0)+228>>0]|0|0:0){c[i>>2]=pe(((c[g>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[j>>2]=(c[i>>2]|0)+((c[g>>2]|0)*24|0);if(!(c[i>>2]|0)){c[f>>2]=7;break}c[m>>2]=c[i>>2];c[e>>2]=c[j>>2];mP(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,m,e,f);c[g>>2]=((c[m>>2]|0)-(c[i>>2]|0)|0)/24|0;c[h>>2]=((c[e>>2]|0)-(c[j>>2]|0)|0)/4|0;a:do if(!(c[f>>2]|0)){c[f>>2]=nP(c[b>>2]|0,0,c[i>>2]|0,c[g>>2]|0)|0;c[k>>2]=0;while(1){if(c[f>>2]|0)break a;if((c[k>>2]|0)>=(c[h>>2]|0))break a;c[f>>2]=nP(c[b>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,c[i>>2]|0,c[g>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}}while(0);_d(c[i>>2]|0)}while(0);oP(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,f);l=n;return c[f>>2]|0}function lP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;n=q+28|0;g=q+24|0;h=q+20|0;p=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;o=q;c[m>>2]=a;c[n>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=f;if(!(c[n>>2]|0)){l=q;return}if(c[c[p>>2]>>2]|0){l=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){o=c[h>>2]|0;c[o>>2]=(c[o>>2]|0)+((c[a>>2]|0)==4&1);lP(c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[p>>2]|0);lP(c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[p>>2]|0);l=q;return}c[j>>2]=c[(c[a+20>>2]|0)+64>>2];h=c[g>>2]|0;c[h>>2]=(c[h>>2]|0)+(c[j>>2]|0);c[i>>2]=0;while(1){b=c[(c[n>>2]|0)+20>>2]|0;if((c[i>>2]|0)>=(c[j>>2]|0)){a=9;break}c[k>>2]=b+72+((c[i>>2]|0)*24|0);c[o>>2]=tP(c[m>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+8>>2]|0,(c[k>>2]|0)+20|0)|0;if(c[o>>2]|0){a=7;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==7){c[c[p>>2]>>2]=c[o>>2];l=q;return}else if((a|0)==9){c[b+44>>2]=-1;l=q;return}}function mP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;k=r+16|0;m=r+12|0;h=r+8|0;i=r+4|0;j=r;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[k>>2]=f;c[m>>2]=g;if(c[c[m>>2]>>2]|0){l=r;return}b=c[p>>2]|0;if((c[c[p>>2]>>2]|0)==5){c[h>>2]=c[b+20>>2];c[i>>2]=0;while(1){if(c[c[m>>2]>>2]|0){a=13;break}if((c[i>>2]|0)>=(c[(c[h>>2]|0)+64>>2]|0)){a=13;break}k=c[q>>2]|0;p=c[k>>2]|0;c[k>>2]=p+24;c[j>>2]=p;c[c[j>>2]>>2]=c[h>>2];c[(c[j>>2]|0)+4>>2]=c[i>>2];c[(c[j>>2]|0)+12>>2]=c[o>>2];c[(c[j>>2]|0)+8>>2]=(c[h>>2]|0)+72+((c[i>>2]|0)*24|0);c[(c[j>>2]|0)+20>>2]=c[(c[h>>2]|0)+68>>2];p=sP(c[n>>2]|0,c[(c[(c[j>>2]|0)+8>>2]|0)+20>>2]|0,(c[j>>2]|0)+16|0)|0;c[c[m>>2]>>2]=p;c[i>>2]=(c[i>>2]|0)+1}if((a|0)==13){l=r;return}}if((c[b>>2]|0)==2){l=r;return}if((c[c[p>>2]>>2]|0)==4){c[o>>2]=c[(c[p>>2]|0)+12>>2];c[c[c[k>>2]>>2]>>2]=c[o>>2];j=c[k>>2]|0;c[j>>2]=(c[j>>2]|0)+4}mP(c[n>>2]|0,c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[q>>2]|0,c[k>>2]|0,c[m>>2]|0);if((c[c[p>>2]>>2]|0)==4){c[o>>2]=c[(c[p>>2]|0)+16>>2];c[c[c[k>>2]>>2]>>2]=c[o>>2];j=c[k>>2]|0;c[j>>2]=(c[j>>2]|0)+4}mP(c[n>>2]|0,c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[q>>2]|0,c[k>>2]|0,c[m>>2]|0);l=r;return}function nP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;u=B+76|0;v=B+72|0;w=B+68|0;x=B+64|0;y=B+60|0;z=B+56|0;f=B+52|0;g=B+48|0;h=B+44|0;i=B+40|0;j=B+36|0;k=B+32|0;m=B+28|0;n=B+24|0;o=B+20|0;p=B+16|0;q=B+12|0;r=B+8|0;s=B+4|0;t=B;c[v>>2]=a;c[w>>2]=b;c[x>>2]=d;c[y>>2]=e;c[z>>2]=c[c[v>>2]>>2];c[f>>2]=0;c[g>>2]=0;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=1;if(c[(c[z>>2]|0)+40>>2]|0){c[u>>2]=0;A=c[u>>2]|0;l=B;return A|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[y>>2]|0))break;if((c[(c[x>>2]|0)+((c[h>>2]|0)*24|0)+12>>2]|0)==(c[w>>2]|0)){c[i>>2]=(c[i>>2]|0)+(c[(c[x>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1}if((c[i>>2]|0)==0|(c[j>>2]|0)<2){c[u>>2]=0;A=c[u>>2]|0;l=B;return A|0}c[g>>2]=pP(c[v>>2]|0,f)|0;c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[g>>2]|0)==0:0))break;c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[y>>2]|0))break;do if(c[(c[x>>2]|0)+((c[n>>2]|0)*24|0)+8>>2]|0?(c[(c[x>>2]|0)+((c[n>>2]|0)*24|0)+12>>2]|0)==(c[w>>2]|0):0){if(c[o>>2]|0?(c[(c[x>>2]|0)+((c[n>>2]|0)*24|0)+16>>2]|0)>=(c[(c[o>>2]|0)+16>>2]|0):0)break;c[o>>2]=(c[x>>2]|0)+((c[n>>2]|0)*24|0)}while(0);c[n>>2]=(c[n>>2]|0)+1}if(c[h>>2]|0?(c[(c[o>>2]|0)+16>>2]|0)>=(S(((c[k>>2]|0)+((c[m>>2]|0)/4|0)-1|0)/((c[m>>2]|0)/4|0|0)|0,c[f>>2]|0)|0):0){c[p>>2]=c[(c[o>>2]|0)+8>>2];c[g>>2]=qP(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;qN(c[(c[p>>2]|0)+20>>2]|0);c[(c[p>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[h>>2]|0)<12)c[m>>2]=c[m>>2]<<2;if(c[h>>2]|0){if((c[(c[c[o>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[h>>2]|0)==((c[j>>2]|0)-1|0))break}c[q>>2]=c[(c[o>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=0;c[g>>2]=jN(c[z>>2]|0,c[q>>2]|0,c[(c[o>>2]|0)+20>>2]|0,r,s)|0;if(!(c[g>>2]|0))c[g>>2]=kN(c[z>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0,c[s>>2]|0,c[r>>2]|0)|0;if(!(c[g>>2]|0)){c[t>>2]=rP(c[c[c[o>>2]>>2]>>2]|0,c[(c[c[o>>2]>>2]|0)+4>>2]|0)|0;if(c[h>>2]|0?(c[t>>2]|0)>=(c[k>>2]|0):0)break;c[k>>2]=c[t>>2]}}while(0);c[(c[o>>2]|0)+8>>2]=0;c[h>>2]=(c[h>>2]|0)+1}c[u>>2]=c[g>>2];A=c[u>>2]|0;l=B;return A|0}function oP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;k=m+12|0;h=m+8|0;i=m+4|0;j=m;c[g>>2]=b;c[k>>2]=e;c[h>>2]=f;if(!(c[k>>2]|0)){l=m;return}if(c[c[h>>2]>>2]|0){l=m;return}if((c[c[k>>2]>>2]|0)!=5){oP(c[g>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0);oP(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[k>>2]|0)+12>>2]|0)+34>>0]|0|0)b=(d[(c[(c[k>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else b=0;a[(c[k>>2]|0)+34>>0]=b&1;l=m;return}c[i>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+64>>2];if(c[i>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[k>>2]|0)+34>>0]=(c[j>>2]|0)==(c[i>>2]|0)}k=gN(c[g>>2]|0,1,c[(c[k>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=k;l=m;return}function pP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+44|0;g=o+40|0;h=o+36|0;i=o+32|0;j=o+28|0;k=o+24|0;m=o+8|0;n=o;d=o+20|0;e=o+16|0;c[g>>2]=a;c[h>>2]=b;if(!(c[(c[g>>2]|0)+60>>2]|0)){c[j>>2]=c[c[g>>2]>>2];b=m;c[b>>2]=0;c[b+4>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;c[i>>2]=RN(c[j>>2]|0,k)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}c[e>>2]=fJ(c[k>>2]|0,0)|0;b=c[e>>2]|0;c[d>>2]=b+(gJ(c[k>>2]|0,0)|0);b=bM(c[e>>2]|0,m)|0;c[e>>2]=(c[e>>2]|0)+b;while(1){if((c[e>>2]|0)>>>0>=(c[d>>2]|0)>>>0)break;b=bM(c[e>>2]|0,n)|0;c[e>>2]=(c[e>>2]|0)+b}d=m;e=n;if((c[d>>2]|0)==0&(c[d+4>>2]|0)==0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){ys(c[k>>2]|0)|0;c[f>>2]=267;n=c[f>>2]|0;l=o;return n|0}b=m;d=c[b+4>>2]|0;e=(c[g>>2]|0)+64|0;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=n;n=m;n=n0(c[e>>2]|0,c[e+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;m=c[(c[j>>2]|0)+236>>2]|0;m=_$(n|0,D|0,m|0,((m|0)<0)<<31>>31|0)|0;n=c[(c[j>>2]|0)+236>>2]|0;n=n0(m|0,D|0,n|0,((n|0)<0)<<31>>31|0)|0;c[(c[g>>2]|0)+60>>2]=n;c[i>>2]=ys(c[k>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}}c[c[h>>2]>>2]=c[(c[g>>2]|0)+60>>2];c[f>>2]=0;n=c[f>>2]|0;l=o;return n|0}function qP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=pe(16)|0;if(c[i>>2]|0){d=c[i>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[c[i>>2]>>2]=c[g>>2];c[(c[i>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[i>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[i>>2];c[(c[g>>2]|0)+16>>2]=c[i>>2];c[e>>2]=0;i=c[e>>2]|0;l=j;return i|0}else{c[e>>2]=7;i=c[e>>2]|0;l=j;return i|0}return 0}function rP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[e>>2]|0)){i=c[g>>2]|0;l=j;return i|0}c[h>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[i>>2]=c[e>>2];while(1){if((c[i>>2]|0)>>>0>=(c[h>>2]|0)>>>0)break;c[g>>2]=(c[g>>2]|0)+1;do{f=c[i>>2]|0;c[i>>2]=f+1}while((a[f>>0]&128|0)!=0);gM(0,i)}i=c[g>>2]|0;l=j;return i|0}function sP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+44|0;j=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;m=q+24|0;p=q+20|0;f=q+16|0;g=q+12|0;h=q;i=q+8|0;c[r>>2]=a;c[j>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[f>>2]=c[(c[k>>2]|0)+236>>2];c[m>>2]=0;while(1){if(c[p>>2]|0){a=13;break}if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0)){a=13;break}c[g>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];a:do if((c[(c[g>>2]|0)+56>>2]|0)==0?(d[(c[g>>2]|0)+5>>0]|0|0)==0:0){b=(c[g>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[g>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=jM(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,i,0)|0;if(c[p>>2]|0)break a;if(((c[i>>2]|0)+35|0)>(c[f>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[i>>2]|0)+34|0)/(c[f>>2]|0)|0);e=h;e=_$(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=D}}while(0);c[m>>2]=(c[m>>2]|0)+1}if((a|0)==13){c[c[n>>2]>>2]=c[o>>2];l=q;return c[p>>2]|0}return 0}function tP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[h>>2]=7;c[g>>2]=pe(56)|0;if(!(c[g>>2]|0)){p=c[g>>2]|0;q=c[q>>2]|0;c[q>>2]=p;q=c[h>>2]|0;l=r;return q|0}c[j>>2]=0;c[k>>2]=c[c[m>>2]>>2];a:do if(c[p>>2]|0){c[i>>2]=1;while(1){if(c[j>>2]|0)break;if((c[i>>2]|0)>=(c[(c[k>>2]|0)+248>>2]|0))break;if((c[(c[(c[k>>2]|0)+252>>2]|0)+((c[i>>2]|0)*24|0)>>2]|0)==(c[o>>2]|0)){c[j>>2]=1;c[h>>2]=tL(c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[i>>2]|0,-2,c[n>>2]|0,c[o>>2]|0,0,0,c[g>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=1}c[i>>2]=(c[i>>2]|0)+1}c[i>>2]=1;while(1){if(c[j>>2]|0)break a;if((c[i>>2]|0)>=(c[(c[k>>2]|0)+248>>2]|0))break a;if((c[(c[(c[k>>2]|0)+252>>2]|0)+((c[i>>2]|0)*24|0)>>2]|0)==((c[o>>2]|0)+1|0)?(c[j>>2]=1,c[h>>2]=tL(c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[i>>2]|0,-2,c[n>>2]|0,c[o>>2]|0,1,0,c[g>>2]|0)|0,(c[h>>2]|0)==0):0)c[h>>2]=uP(c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[g>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+1}}while(0);if(c[j>>2]|0){p=c[g>>2]|0;q=c[q>>2]|0;c[q>>2]=p;q=c[h>>2]|0;l=r;return q|0}c[h>>2]=tL(c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,0,-2,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,0,c[g>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=((c[p>>2]|0)!=0^1)&1;p=c[g>>2]|0;q=c[q>>2]|0;c[q>>2]=p;q=c[h>>2]|0;l=r;return q|0}function uP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=mM(c[m>>2]|0,c[k>>2]|0,0,-2,c[j>>2]|0,c[i>>2]|0,0,0,c[h>>2]|0)|0;l=g;return f|0}function vP(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+96|0;x=y+80|0;k=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;s=y+48|0;t=y+44|0;u=y+40|0;v=y+36|0;w=y;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;a=w;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[w>>2]=c[k>>2];c[w+4>>2]=c[m>>2];c[w+8>>2]=c[n>>2];c[w+16>>2]=c[p>>2];c[w+20>>2]=c[q>>2];c[w+12>>2]=c[o>>2];if(!(c[r>>2]|0)){c[c[t>>2]>>2]=0;c[x>>2]=0;x=c[x>>2]|0;l=y;return x|0}if((c[s>>2]|0)<0)c[s>>2]=g$(c[r>>2]|0)|0;c[v>>2]=yP(w,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,u)|0;if((c[v>>2]|0)==0?c[w+32>>2]|0:0)c[v>>2]=1;c[x>>2]=c[v>>2];x=c[x>>2]|0;l=y;return x|0}function wP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;m=t+52|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;i=t+32|0;r=t+28|0;s=t+24|0;k=t+20|0;f=t+16|0;g=t+12|0;h=t+8|0;d=t+4|0;e=t;c[m>>2]=a;c[n>>2]=b;c[o>>2]=0;c[p>>2]=c[c[m>>2]>>2];c[q>>2]=0;c[i>>2]=c[c[p>>2]>>2];if(!(c[n>>2]|0))c[o>>2]=1;do if(!(c[o>>2]|0)){if(!((c[i>>2]|0)==3|(c[i>>2]|0)==4)){if((c[i>>2]|0)!=2)break;c[d>>2]=c[(c[p>>2]|0)+12>>2];c[e>>2]=c[(c[p>>2]|0)+16>>2];c[(c[p>>2]|0)+12>>2]=0;c[(c[p>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[o>>2]=wP(d,(c[n>>2]|0)-1|0)|0;if(!(c[o>>2]|0))c[o>>2]=wP(e,(c[n>>2]|0)-1|0)|0;if(c[o>>2]|0){hP(c[e>>2]|0);hP(c[d>>2]|0);break}else{c[(c[p>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[p>>2];break}}c[r>>2]=pe(c[n>>2]<<2)|0;if(!(c[r>>2]|0))c[o>>2]=7;else m0(c[r>>2]|0,0,c[n>>2]<<2|0)|0;if(!(c[o>>2]|0)){c[k>>2]=c[p>>2];while(1){if((c[c[k>>2]>>2]|0)!=(c[i>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+12>>2]}while(1){c[g>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=0;if(c[g>>2]|0)c[(c[g>>2]|0)+12>>2]=0;else c[p>>2]=0;c[o>>2]=wP(k,(c[n>>2]|0)-1|0)|0;if(c[o>>2]|0)break;c[f>>2]=0;while(1){if(!(c[k>>2]|0))break;if((c[f>>2]|0)>=(c[n>>2]|0))break;if(!(c[(c[r>>2]|0)+(c[f>>2]<<2)>>2]|0)){c[(c[r>>2]|0)+(c[f>>2]<<2)>>2]=c[k>>2];c[k>>2]=0}else{c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+(c[f>>2]<<2)>>2];c[(c[q>>2]|0)+16>>2]=c[k>>2];c[(c[(c[q>>2]|0)+12>>2]|0)+8>>2]=c[q>>2];c[(c[(c[q>>2]|0)+16>>2]|0)+8>>2]=c[q>>2];c[k>>2]=c[q>>2];c[q>>2]=c[(c[q>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=0;c[(c[r>>2]|0)+(c[f>>2]<<2)>>2]=0}c[f>>2]=(c[f>>2]|0)+1}if(c[k>>2]|0){j=24;break}if(!(c[g>>2]|0))break;c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if((c[c[k>>2]>>2]|0)!=(c[i>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+12>>2]}c[(c[(c[g>>2]|0)+16>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];a=c[(c[g>>2]|0)+16>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0)c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]=a;else c[p>>2]=a;c[(c[g>>2]|0)+8>>2]=c[q>>2];c[q>>2]=c[g>>2]}if((j|0)==24){hP(c[k>>2]|0);c[o>>2]=18}a:do if(!(c[o>>2]|0)){c[k>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;if(c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]|0){if(!(c[k>>2]|0)){c[k>>2]=c[(c[r>>2]|0)+(c[s>>2]<<2)>>2];a=c[k>>2]|0}else{c[(c[q>>2]|0)+16>>2]=c[k>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+(c[s>>2]<<2)>>2];c[(c[(c[q>>2]|0)+12>>2]|0)+8>>2]=c[q>>2];c[(c[(c[q>>2]|0)+16>>2]|0)+8>>2]=c[q>>2];c[k>>2]=c[q>>2];c[q>>2]=c[(c[q>>2]|0)+8>>2];a=c[k>>2]|0}c[a+8>>2]=0}c[s>>2]=(c[s>>2]|0)+1}c[p>>2]=c[k>>2]}else{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;hP(c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]|0);c[s>>2]=(c[s>>2]|0)+1}while(1){s=c[q>>2]|0;c[h>>2]=s;if(!s)break a;c[q>>2]=c[(c[h>>2]|0)+8>>2];_d(c[h>>2]|0)}}while(0);_d(c[r>>2]|0)}}while(0);if(!(c[o>>2]|0)){r=c[p>>2]|0;s=c[m>>2]|0;c[s>>2]=r;s=c[o>>2]|0;l=t;return s|0}hP(c[p>>2]|0);c[p>>2]=0;r=c[p>>2]|0;s=c[m>>2]|0;c[s>>2]=r;s=c[o>>2]|0;l=t;return s|0}function xP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=xP(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=xP(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);l=g;return c[f>>2]|0}function yP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+80|0;n=x+64|0;y=x+60|0;u=x+56|0;v=x+52|0;w=x+48|0;o=x+44|0;g=x+40|0;p=x+36|0;q=x+32|0;h=x+28|0;r=x+24|0;s=x+20|0;t=x+16|0;i=x+12|0;j=x+8|0;k=x+4|0;m=x;c[n>>2]=a;c[y>>2]=b;c[u>>2]=d;c[v>>2]=e;c[w>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2];c[h>>2]=c[y>>2];c[r>>2]=0;c[s>>2]=1;while(1){if(c[r>>2]|0){a=25;break}c[t>>2]=0;c[i>>2]=0;c[r>>2]=zP(c[n>>2]|0,c[h>>2]|0,c[q>>2]|0,t,i)|0;if((c[r>>2]|0)==0&(c[t>>2]|0)!=0){c[k>>2]=c[c[t>>2]>>2];if((c[k>>2]|0)==5)a=1;else a=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=a&1;if((c[j>>2]|0)==0&(c[s>>2]|0)!=0){a=7;break}if(!((c[j>>2]|0)==0|(c[s>>2]|0)!=0)){c[m>>2]=AP(48)|0;if(!(c[m>>2]|0)){a=10;break}c[c[m>>2]>>2]=3;BP(o,c[g>>2]|0,c[m>>2]|0);c[g>>2]=c[m>>2]}if(c[g>>2]|0){if(!((c[k>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[g>>2]>>2]|0)!=5:0){a=17;break}if((c[k>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[g>>2]>>2]|0)==1:0){a=17;break}}do if(c[j>>2]|0){a=c[t>>2]|0;if(c[o>>2]|0){c[(c[g>>2]|0)+16>>2]=a;c[(c[t>>2]|0)+8>>2]=c[g>>2];break}else{c[o>>2]=a;break}}else BP(o,c[g>>2]|0,c[t>>2]|0);while(0);c[s>>2]=((c[j>>2]|0)!=0^1)&1;c[g>>2]=c[t>>2]}c[q>>2]=(c[q>>2]|0)-(c[i>>2]|0);c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0)}if((a|0)==7){hP(c[t>>2]|0);c[r>>2]=1}else if((a|0)==10){hP(c[t>>2]|0);c[r>>2]=7}else if((a|0)==17){hP(c[t>>2]|0);c[r>>2]=1}else if((a|0)==25){if((c[r>>2]|0)==101&(c[o>>2]|0)!=0&(c[s>>2]|0)!=0)c[r>>2]=1;if((c[r>>2]|0)==101)c[r>>2]=0;c[c[w>>2]>>2]=(c[u>>2]|0)-(c[q>>2]|0)}if(!(c[r>>2]|0)){w=c[o>>2]|0;y=c[v>>2]|0;c[y>>2]=w;y=c[r>>2]|0;l=x;return y|0}hP(c[o>>2]|0);hP(c[p>>2]|0);c[o>>2]=0;w=c[o>>2]|0;y=c[v>>2]|0;c[y>>2]=w;y=c[r>>2]|0;l=x;return y|0}function zP(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+80|0;y=E+72|0;z=E+68|0;A=E+64|0;B=E+60|0;C=E+56|0;p=E+52|0;q=E+48|0;r=E+44|0;s=E+40|0;t=E+36|0;i=E+32|0;u=E+28|0;v=E+24|0;j=E+20|0;k=E+16|0;m=E+12|0;n=E+76|0;o=E+8|0;w=E+4|0;x=E;c[z>>2]=b;c[A>>2]=e;c[B>>2]=f;c[C>>2]=g;c[p>>2]=h;c[i>>2]=0;c[u>>2]=c[A>>2];c[v>>2]=c[B>>2];c[(c[z>>2]|0)+24>>2]=0;while(1){if((c[v>>2]|0)>0)b=(DP(a[c[u>>2]>>0]|0)|0)!=0;else b=0;e=c[v>>2]|0;if(!b)break;c[v>>2]=e+-1;c[u>>2]=(c[u>>2]|0)+1}if(!e){c[y>>2]=101;D=c[y>>2]|0;l=E;return D|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=4)break;c[j>>2]=6668+(c[q>>2]<<3);if(((d[(c[j>>2]|0)+5>>0]&-2|0)==0?(c[v>>2]|0)>=(d[(c[j>>2]|0)+4>>0]|0):0)?0==(H_(c[u>>2]|0,c[c[j>>2]>>2]|0,d[(c[j>>2]|0)+4>>0]|0)|0):0){c[k>>2]=10;c[m>>2]=d[(c[j>>2]|0)+4>>0];a:do if((((d[(c[j>>2]|0)+6>>0]|0)==1?(a[(c[u>>2]|0)+4>>0]|0)==47:0)?(a[(c[u>>2]|0)+5>>0]|0)>=48:0)?(a[(c[u>>2]|0)+5>>0]|0)<=57:0){c[k>>2]=0;c[m>>2]=5;while(1){if((a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|0)<48)break a;if((a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|0)>57)break a;c[k>>2]=((c[k>>2]|0)*10|0)+((a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|0)-48);c[m>>2]=(c[m>>2]|0)+1}}while(0);a[n>>0]=a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|0;if(DP(a[n>>0]|0)|0){D=26;break}if((a[n>>0]|0)==34){D=26;break}if((a[n>>0]|0)==40){D=26;break}if((a[n>>0]|0)==41){D=26;break}if(!(a[n>>0]|0)){D=26;break}}c[q>>2]=(c[q>>2]|0)+1}if((D|0)==26){c[i>>2]=AP(48)|0;if(c[i>>2]|0){c[c[i>>2]>>2]=d[(c[j>>2]|0)+6>>0];c[(c[i>>2]|0)+4>>2]=c[k>>2];c[c[C>>2]>>2]=c[i>>2];c[c[p>>2]>>2]=(c[u>>2]|0)-(c[A>>2]|0)+(c[m>>2]|0);c[y>>2]=0;D=c[y>>2]|0;l=E;return D|0}else{c[y>>2]=7;D=c[y>>2]|0;l=E;return D|0}}if((a[c[u>>2]>>0]|0)==34){c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[v>>2]|0))break;if((a[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0)==34)break;c[q>>2]=(c[q>>2]|0)+1}c[c[p>>2]>>2]=(c[u>>2]|0)-(c[A>>2]|0)+(c[q>>2]|0)+1;if((c[q>>2]|0)==(c[v>>2]|0)){c[y>>2]=1;D=c[y>>2]|0;l=E;return D|0}else{c[y>>2]=EP(c[z>>2]|0,(c[u>>2]|0)+1|0,(c[q>>2]|0)-1|0,c[C>>2]|0)|0;D=c[y>>2]|0;l=E;return D|0}}if((a[c[u>>2]>>0]|0)==40){c[o>>2]=0;D=(c[z>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[t>>2]=yP(c[z>>2]|0,(c[u>>2]|0)+1|0,(c[v>>2]|0)-1|0,c[C>>2]|0,o)|0;if((c[t>>2]|0)==0?(c[c[C>>2]>>2]|0)==0:0)c[t>>2]=101;c[c[p>>2]>>2]=(c[u>>2]|0)-(c[A>>2]|0)+1+(c[o>>2]|0);c[y>>2]=c[t>>2];D=c[y>>2]|0;l=E;return D|0}b=c[z>>2]|0;if((a[c[u>>2]>>0]|0)==41){D=b+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[p>>2]>>2]=(c[u>>2]|0)-(c[A>>2]|0)+1;c[c[C>>2]>>2]=0;c[y>>2]=101;D=c[y>>2]|0;l=E;return D|0}c[r>>2]=c[b+20>>2];c[s>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[z>>2]|0)+16>>2]|0))break;c[w>>2]=c[(c[(c[z>>2]|0)+8>>2]|0)+(c[q>>2]<<2)>>2];c[x>>2]=g$(c[w>>2]|0)|0;if(((c[v>>2]|0)>(c[x>>2]|0)?(a[(c[u>>2]|0)+(c[x>>2]|0)>>0]|0)==58:0)?(ld(c[w>>2]|0,c[u>>2]|0,c[x>>2]|0)|0)==0:0){D=50;break}c[q>>2]=(c[q>>2]|0)+1}if((D|0)==50){c[r>>2]=c[q>>2];c[s>>2]=(c[u>>2]|0)-(c[A>>2]|0)+(c[x>>2]|0)+1}c[t>>2]=FP(c[z>>2]|0,c[r>>2]|0,(c[A>>2]|0)+(c[s>>2]|0)|0,(c[B>>2]|0)-(c[s>>2]|0)|0,c[C>>2]|0,c[p>>2]|0)|0;D=c[p>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[s>>2]|0);c[y>>2]=c[t>>2];D=c[y>>2]|0;l=E;return D|0}function AP(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=pe(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;l=e;return d|0}m0(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;l=e;return d|0}function BP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=c[i>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){a=CP(c[(c[g>>2]|0)+8>>2]|0)|0;a=(a|0)<=(CP(c[f>>2]|0)|0)}else a=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!a)break;c[g>>2]=b}a=c[f>>2]|0;if(b|0){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=a;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;i=c[f>>2]|0;i=i+12|0;c[i>>2]=e;f=c[f>>2]|0;i=c[g>>2]|0;i=i+8|0;c[i>>2]=f;l=h;return}else{c[c[e>>2]>>2]=a;e=c[g>>2]|0;i=c[f>>2]|0;i=i+12|0;c[i>>2]=e;f=c[f>>2]|0;i=c[g>>2]|0;i=i+8|0;c[i>>2]=f;l=h;return}}function CP(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function DP(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)b=(a[c>>0]|0)==12;else b=1;l=d;return b&1|0}function EP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+96|0;x=D+88|0;y=D+84|0;z=D+80|0;A=D+76|0;B=D+72|0;E=D+68|0;g=D+64|0;h=D+60|0;i=D+56|0;j=D+52|0;k=D+48|0;m=D+44|0;n=D+36|0;o=D+32|0;p=D+28|0;q=D+24|0;r=D+20|0;s=D+16|0;t=D+12|0;u=D+8|0;v=D+4|0;w=D;c[y>>2]=b;c[z>>2]=d;c[A>>2]=e;c[B>>2]=f;c[E>>2]=c[c[y>>2]>>2];c[g>>2]=c[c[E>>2]>>2];c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=0;c[D+40>>2]=144;c[n>>2]=0;c[h>>2]=EN(c[E>>2]|0,c[(c[y>>2]|0)+4>>2]|0,c[z>>2]|0,c[A>>2]|0,j)|0;a:do if(!(c[h>>2]|0)){c[o>>2]=0;while(1){if(c[h>>2]|0)break;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[h>>2]=Gb[c[(c[g>>2]|0)+20>>2]&255](c[j>>2]|0,p,q,r,s,t)|0;if(!(c[h>>2]|0)){c[i>>2]=GP(c[i>>2]|0,144+((c[o>>2]|0)*24|0)|0)|0;if(!(c[i>>2]|0))break a;c[k>>2]=GP(c[k>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if(!(c[k>>2]|0))break a;c[u>>2]=(c[i>>2]|0)+48+72+((c[o>>2]|0)*24|0);E=c[u>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;h0((c[k>>2]|0)+(c[m>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[(c[u>>2]|0)+4>>2]=c[q>>2];if((c[s>>2]|0)<(c[A>>2]|0))b=(a[(c[z>>2]|0)+(c[s>>2]|0)>>0]|0)==42;else b=0;c[(c[u>>2]|0)+8>>2]=b&1;if((c[r>>2]|0)>0)b=(a[(c[z>>2]|0)+((c[r>>2]|0)-1)>>0]|0)==94;else b=0;c[(c[u>>2]|0)+12>>2]=b&1;c[n>>2]=(c[o>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}Hb[c[(c[g>>2]|0)+16>>2]&255](c[j>>2]|0)|0;c[j>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[h>>2]|0)==101){c[w>>2]=0;c[i>>2]=GP(c[i>>2]|0,144+((c[n>>2]|0)*24|0)+(c[m>>2]|0)|0)|0;if(!(c[i>>2]|0))break;m0(c[i>>2]|0,0,(c[i>>2]|0)+48+72-(c[i>>2]|0)|0)|0;c[c[i>>2]>>2]=5;c[(c[i>>2]|0)+20>>2]=(c[i>>2]|0)+48;c[(c[(c[i>>2]|0)+20>>2]|0)+68>>2]=c[(c[y>>2]|0)+20>>2];c[(c[(c[i>>2]|0)+20>>2]|0)+64>>2]=c[n>>2];c[w>>2]=(c[(c[i>>2]|0)+20>>2]|0)+72+((c[n>>2]|0)*24|0);if(c[k>>2]|0){h0(c[w>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;_d(c[k>>2]|0)}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[(c[i>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[i>>2]|0)+20>>2]|0)+72+((c[v>>2]|0)*24|0)>>2]=c[w>>2];c[w>>2]=(c[w>>2]|0)+(c[(c[(c[i>>2]|0)+20>>2]|0)+72+((c[v>>2]|0)*24|0)+4>>2]|0);c[v>>2]=(c[v>>2]|0)+1}c[h>>2]=0}c[c[B>>2]>>2]=c[i>>2];c[x>>2]=c[h>>2];E=c[x>>2]|0;l=D;return E|0}while(0);if(c[j>>2]|0)Hb[c[(c[g>>2]|0)+16>>2]&255](c[j>>2]|0)|0;_d(c[k>>2]|0);_d(c[i>>2]|0);c[c[B>>2]>>2]=0;c[x>>2]=7;E=c[x>>2]|0;l=D;return E|0}function FP(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;x=B+68|0;y=B+64|0;z=B+60|0;A=B+56|0;i=B+52|0;j=B+48|0;k=B+44|0;m=B+40|0;n=B+36|0;o=B+32|0;p=B+28|0;q=B+24|0;r=B+20|0;s=B+16|0;t=B+12|0;u=B+8|0;v=B+4|0;w=B;c[x>>2]=b;c[y>>2]=d;c[z>>2]=e;c[A>>2]=f;c[i>>2]=g;c[j>>2]=h;c[k>>2]=c[c[x>>2]>>2];c[m>>2]=c[c[k>>2]>>2];c[p>>2]=0;c[q>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[A>>2]|0))break;if((a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)==40)break;if((a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)==41)break;if((a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)==34)break;c[q>>2]=(c[q>>2]|0)+1}c[c[j>>2]>>2]=c[q>>2];c[n>>2]=EN(c[k>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[z>>2]|0,c[q>>2]|0,o)|0;if(c[n>>2]|0){z=c[p>>2]|0;A=c[i>>2]|0;c[A>>2]=z;A=c[n>>2]|0;l=B;return A|0}c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[n>>2]=Gb[c[(c[m>>2]|0)+20>>2]&255](c[o>>2]|0,r,s,t,u,v)|0;if(c[n>>2]|0){if((c[q>>2]|0)!=0&(c[n>>2]|0)==101)c[n>>2]=0}else{c[w>>2]=144+(c[s>>2]|0);c[p>>2]=AP(c[w>>2]|0)|0;a:do if(c[p>>2]|0){c[c[p>>2]>>2]=5;c[(c[p>>2]|0)+20>>2]=(c[p>>2]|0)+48;c[(c[(c[p>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[p>>2]|0)+20>>2]|0)+68>>2]=c[y>>2];c[(c[(c[p>>2]|0)+20>>2]|0)+72+4>>2]=c[s>>2];c[(c[(c[p>>2]|0)+20>>2]|0)+72>>2]=(c[(c[p>>2]|0)+20>>2]|0)+96;h0(c[(c[(c[p>>2]|0)+20>>2]|0)+72>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;if((c[u>>2]|0)<(c[A>>2]|0)?(a[(c[z>>2]|0)+(c[u>>2]|0)>>0]|0)==42:0){c[(c[(c[p>>2]|0)+20>>2]|0)+72+8>>2]=1;c[u>>2]=(c[u>>2]|0)+1}while(1){if(!((c[t>>2]|0)>0?(c[(c[x>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[z>>2]|0)+((c[t>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[p>>2]|0)+20>>2]|0)+72+12>>2]=1;c[t>>2]=(c[t>>2]|0)+-1}}else c[n>>2]=7;while(0);c[c[j>>2]>>2]=c[u>>2]}Hb[c[(c[m>>2]|0)+16>>2]&255](c[o>>2]|0)|0;z=c[p>>2]|0;A=c[i>>2]|0;c[A>>2]=z;A=c[n>>2]|0;l=B;return A|0}function GP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Xf(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;l=f;return g|0}_d(c[d>>2]|0);g=c[e>>2]|0;l=f;return g|0}function HP(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;IP(c[(c[d>>2]|0)+20>>2]|0);_d(c[(c[d>>2]|0)+40>>2]|0);_d(c[d>>2]|0);l=b;return}function IP(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){l=f;return}_d(c[c[d>>2]>>2]|0);YM(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;qN(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}l=f;return}function JP(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];nL(c[(c[d>>2]|0)+12>>2]|0);_d(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;l=f;return}function KP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((PJ()|0)<3008002){l=g;return}b=f;d=c[b+4>>2]|0;f=(c[e>>2]|0)+48|0;c[f>>2]=c[b>>2];c[f+4>>2]=d;l=g;return}function LP(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((PJ()|0)<3008012){l=d;return}b=(c[b>>2]|0)+56|0;c[b>>2]=c[b>>2]|1;l=d;return}function MP(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=l;l=l+288|0;ca=ha+40|0;ba=ha+32|0;D=ha+24|0;s=ha+16|0;t=ha+8|0;r=ha;aa=ha+280|0;C=ha+276|0;ia=ha+272|0;j=ha+268|0;E=ha+264|0;da=ha+260|0;F=ha+256|0;v=ha+252|0;ea=ha+248|0;fa=ha+244|0;G=ha+240|0;w=ha+236|0;H=ha+232|0;x=ha+228|0;I=ha+224|0;J=ha+220|0;K=ha+216|0;L=ha+212|0;M=ha+208|0;N=ha+204|0;ga=ha+200|0;O=ha+196|0;P=ha+192|0;y=ha+188|0;z=ha+184|0;Q=ha+180|0;R=ha+176|0;S=ha+172|0;T=ha+168|0;U=ha+164|0;V=ha+160|0;W=ha+156|0;k=ha+152|0;m=ha+148|0;n=ha+144|0;o=ha+80|0;p=ha+76|0;q=ha+72|0;A=ha+68|0;B=ha+64|0;X=ha+60|0;Y=ha+56|0;Z=ha+52|0;_=ha+48|0;$=ha+44|0;c[aa>>2]=b;c[C>>2]=d;c[ia>>2]=e;c[j>>2]=f;c[E>>2]=g;c[da>>2]=h;c[F>>2]=i;c[v>>2]=c[ia>>2];c[ea>>2]=0;c[fa>>2]=0;c[x>>2]=0;c[I>>2]=0;c[M>>2]=(a[(c[c[E>>2]>>2]|0)+3>>0]|0)==52&1;c[ga>>2]=0;c[O>>2]=0;c[P>>2]=0;c[y>>2]=0;c[z>>2]=0;c[Q>>2]=0;c[R>>2]=0;c[S>>2]=0;c[T>>2]=0;c[U>>2]=0;c[V>>2]=0;c[W>>2]=0;c[K>>2]=(g$(c[(c[E>>2]|0)+4>>2]|0)|0)+1;c[L>>2]=(g$(c[(c[E>>2]|0)+8>>2]|0)|0)+1;c[w>>2]=(c[j>>2]|0)-2<<2;c[N>>2]=pe(c[w>>2]|0)|0;if(c[N>>2]|0){m0(c[N>>2]|0,0,c[w>>2]|0)|0;c[V>>2]=pe(c[w>>2]|0)|0}if(c[V>>2]|0)m0(c[V>>2]|0,0,c[w>>2]|0)|0;do if((c[N>>2]|0)!=0&(c[V>>2]|0)!=0){c[G>>2]=3;while(1){if(c[fa>>2]|0)break;if((c[G>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=c[(c[E>>2]|0)+(c[G>>2]<<2)>>2];if(((!(c[ga>>2]|0)?(g$(c[k>>2]|0)|0)>>>0>8:0)?0==(ld(c[k>>2]|0,46131,8)|0):0)?0==(NP(a[(c[k>>2]|0)+8>>0]|0)|0):0)c[fa>>2]=OP(c[v>>2]|0,(c[k>>2]|0)+9|0,ga,c[F>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if(c[M>>2]|0?PP(c[k>>2]|0,m,n)|0:0){b=o;d=6700;e=b+64|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));if(!(c[n>>2]|0)){c[fa>>2]=7;break}c[p>>2]=0;while(1){if((c[p>>2]|0)>=8)break;c[q>>2]=o+(c[p>>2]<<3);if((c[m>>2]|0)==(c[(c[q>>2]|0)+4>>2]|0)?(ld(c[k>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[p>>2]|0)==8){ia=c[F>>2]|0;c[r>>2]=c[k>>2];IK(ia,46140,r);c[fa>>2]=1}else switch(c[p>>2]|0){case 0:{if(!((g$(c[n>>2]|0)|0)==4?!(ld(c[n>>2]|0,42646,4)|0):0)){ia=c[F>>2]|0;c[t>>2]=c[n>>2];IK(ia,46167,t);c[fa>>2]=1}c[y>>2]=1;break a}case 1:{_d(c[Q>>2]|0);c[Q>>2]=c[n>>2];c[n>>2]=0;break a}case 2:{_d(c[R>>2]|0);c[R>>2]=c[n>>2];c[n>>2]=0;break a}case 3:{_d(c[S>>2]|0);c[S>>2]=c[n>>2];c[n>>2]=0;break a}case 4:{if(!((g$(c[n>>2]|0)|0)==3?!(ld(c[n>>2]|0,46194,3)|0):0))u=36;do if((u|0)==36){u=0;if((g$(c[n>>2]|0)|0)==4?(ld(c[n>>2]|0,32597,4)|0)==0:0)break;ia=c[F>>2]|0;c[s>>2]=c[n>>2];IK(ia,46198,s);c[fa>>2]=1}while(0);if((a[c[n>>2]>>0]|0)==100)b=1;else b=(a[c[n>>2]>>0]|0)==68;c[z>>2]=b&1;break a}case 5:{_d(c[T>>2]|0);c[T>>2]=c[n>>2];c[n>>2]=0;break a}case 6:{_d(c[U>>2]|0);c[U>>2]=c[n>>2];c[n>>2]=0;break a}case 7:{h=c[n>>2]|0;i=c[V>>2]|0;ia=c[W>>2]|0;c[W>>2]=ia+1;c[i+(ia<<2)>>2]=h;c[n>>2]=0;break a}default:break a}while(0);_d(c[n>>2]|0);break}h=(g$(c[k>>2]|0)|0)+1|0;c[x>>2]=(c[x>>2]|0)+h;h=c[k>>2]|0;i=c[N>>2]|0;ia=c[I>>2]|0;c[I>>2]=ia+1;c[i+(ia<<2)>>2]=h}while(0);c[G>>2]=(c[G>>2]|0)+1}b:do if(((c[fa>>2]|0)==0&(c[T>>2]|0)!=0?(_d(c[R>>2]|0),_d(c[S>>2]|0),c[R>>2]=0,c[S>>2]=0,(c[I>>2]|0)==0):0)?(_d(c[N>>2]|0),c[N>>2]=0,c[fa>>2]=QP(c[C>>2]|0,c[(c[E>>2]|0)+4>>2]|0,c[T>>2]|0,N,I,x,c[F>>2]|0)|0,(c[fa>>2]|0)==0&(c[U>>2]|0)!=0):0){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[I>>2]|0))break b;ia=(kl(c[U>>2]|0,c[(c[N>>2]|0)+(c[A>>2]<<2)>>2]|0)|0)==0;b=c[A>>2]|0;if(ia)break;c[A>>2]=b+1}c[B>>2]=b;while(1){if((c[B>>2]|0)>=(c[I>>2]|0))break;c[(c[N>>2]|0)+(c[B>>2]<<2)>>2]=c[(c[N>>2]|0)+((c[B>>2]|0)+1<<2)>>2];c[B>>2]=(c[B>>2]|0)+1}c[I>>2]=(c[I>>2]|0)+-1}while(0);if(!(c[fa>>2]|0)){if(!(c[I>>2]|0)){c[c[N>>2]>>2]=46221;c[x>>2]=8;c[I>>2]=1}if((c[ga>>2]|0)==0?(c[fa>>2]=OP(c[v>>2]|0,42572,ga,c[F>>2]|0)|0,c[fa>>2]|0):0)break;c[fa>>2]=RP(c[Q>>2]|0,O,P)|0;if((c[fa>>2]|0)==1){ia=c[F>>2]|0;c[D>>2]=c[Q>>2];IK(ia,46229,D)}if(!(c[fa>>2]|0)){c[w>>2]=280+(c[I>>2]<<2)+((c[O>>2]|0)*24|0)+(c[I>>2]|0)+(c[L>>2]|0)+(c[K>>2]|0)+(c[x>>2]|0);c[ea>>2]=pe(c[w>>2]|0)|0;if(!(c[ea>>2]|0)){c[fa>>2]=7;break}m0(c[ea>>2]|0,0,c[w>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[C>>2];c[(c[ea>>2]|0)+24>>2]=c[I>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[ga>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=(c[M>>2]|0?(c[y>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[M>>2];a[(c[ea>>2]|0)+228>>0]=c[M>>2];a[(c[ea>>2]|0)+231>>0]=c[z>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[T>>2];c[(c[ea>>2]|0)+44>>2]=c[U>>2];c[T>>2]=0;c[U>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[I>>2]<<2);h0(c[(c[ea>>2]|0)+252>>2]|0,c[P>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[G>>2]=0;while(1){b=c[(c[ea>>2]|0)+252>>2]|0;if((c[G>>2]|0)>=(c[O>>2]|0))break;nK(b+((c[G>>2]|0)*24|0)+4|0,1,1);c[G>>2]=(c[G>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=b+((c[O>>2]|0)*24|0);c[J>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[I>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[J>>2];h0(c[J>>2]|0,c[(c[E>>2]|0)+8>>2]|0,c[L>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+(c[L>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[J>>2];h0(c[J>>2]|0,c[(c[E>>2]|0)+4>>2]|0,c[K>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+(c[K>>2]|0);c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[I>>2]|0))break;c[Y>>2]=0;c[X>>2]=SP(c[(c[N>>2]|0)+(c[H>>2]<<2)>>2]|0,Y)|0;h0(c[J>>2]|0,c[X>>2]|0,c[Y>>2]|0)|0;a[(c[J>>2]|0)+(c[Y>>2]|0)>>0]=0;RK(c[J>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[H>>2]<<2)>>2]=c[J>>2];c[J>>2]=(c[J>>2]|0)+((c[Y>>2]|0)+1);c[H>>2]=(c[H>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[I>>2]|0))break;c[Z>>2]=g$(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[H>>2]<<2)>>2]|0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[W>>2]|0))break;c[_>>2]=c[(c[V>>2]|0)+(c[G>>2]<<2)>>2];if((c[_>>2]|0?(ia=c[Z>>2]|0,(ia|0)==(g$(c[_>>2]|0)|0)):0)?0==(ld(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[H>>2]<<2)>>2]|0,c[_>>2]|0,c[Z>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[H>>2]|0)>>0]=1;_d(c[_>>2]|0);c[(c[V>>2]|0)+(c[G>>2]<<2)>>2]=0}c[G>>2]=(c[G>>2]|0)+1}c[H>>2]=(c[H>>2]|0)+1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[W>>2]|0))break;if(c[(c[V>>2]|0)+(c[G>>2]<<2)>>2]|0){ia=c[F>>2]|0;c[ba>>2]=c[(c[V>>2]|0)+(c[G>>2]<<2)>>2];IK(ia,34753,ba);c[fa>>2]=1}c[G>>2]=(c[G>>2]|0)+1}if((c[fa>>2]|0)==0?((c[R>>2]|0)==0|0)!=((c[S>>2]|0)==0|0):0){c[$>>2]=(c[R>>2]|0)==0?46264:46273;c[fa>>2]=1;ia=c[F>>2]|0;c[ca>>2]=c[$>>2];IK(ia,46284,ca)}ia=TP(c[ea>>2]|0,c[S>>2]|0,fa)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=UP(c[ea>>2]|0,c[R>>2]|0,fa)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[fa>>2]|0)){if(c[aa>>2]|0)c[fa>>2]=VP(c[ea>>2]|0)|0;if(!((c[M>>2]|0)!=0|(c[aa>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;WP(fa,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;XP(fa,c[ea>>2]|0)}}}}else c[fa>>2]=7;while(0);_d(c[Q>>2]|0);_d(c[P>>2]|0);_d(c[R>>2]|0);_d(c[S>>2]|0);_d(c[T>>2]|0);_d(c[U>>2]|0);c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[W>>2]|0))break;_d(c[(c[V>>2]|0)+(c[G>>2]<<2)>>2]|0);c[G>>2]=(c[G>>2]|0)+1}_d(c[N>>2]|0);_d(c[V>>2]|0);b=c[ea>>2]|0;if(!(c[fa>>2]|0)){c[c[da>>2]>>2]=b;ia=c[fa>>2]|0;l=ha;return ia|0}if(b|0){VK(c[ea>>2]|0)|0;ia=c[fa>>2]|0;l=ha;return ia|0}if(!(c[ga>>2]|0)){ia=c[fa>>2]|0;l=ha;return ia|0}Hb[c[(c[c[ga>>2]>>2]|0)+8>>2]&255](c[ga>>2]|0)|0;ia=c[fa>>2]|0;l=ha;return ia|0}function NP(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128|0){c=1;c=c&1;l=d;return c|0}c=(a[46949+(a[c>>0]|0)>>0]|0)!=0;c=c&1;l=d;return c|0}function OP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=l;l=l+80|0;w=y+16|0;v=y+8|0;z=y;q=y+76|0;r=y+72|0;A=y+68|0;s=y+64|0;t=y+60|0;u=y+56|0;g=y+52|0;h=y+48|0;i=y+44|0;j=y+40|0;k=y+36|0;m=y+32|0;n=y+28|0;o=y+24|0;p=y+20|0;c[r>>2]=b;c[A>>2]=d;c[s>>2]=e;c[t>>2]=f;c[g>>2]=c[A>>2];c[h>>2]=0;c[z>>2]=c[A>>2];c[i>>2]=nf(21240,z)|0;if(!(c[i>>2]|0)){c[q>>2]=7;A=c[q>>2]|0;l=y;return A|0}A=c[i>>2]|0;c[j>>2]=A+(g$(c[i>>2]|0)|0);c[g>>2]=SP(c[i>>2]|0,h)|0;if(!(c[g>>2]|0))c[g>>2]=c[i>>2];a[(c[g>>2]|0)+(c[h>>2]|0)>>0]=0;RK(c[g>>2]|0);z=c[r>>2]|0;A=c[g>>2]|0;c[k>>2]=HK(z,A,(g$(c[g>>2]|0)|0)+1|0)|0;if(c[k>>2]|0){c[m>>2]=0;c[n>>2]=0;c[g>>2]=(c[g>>2]|0)+((c[h>>2]|0)+1);while(1){if((c[g>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;A=SP(c[g>>2]|0,h)|0;c[g>>2]=A;if(!A)break;c[o>>2]=(c[n>>2]|0)+1<<2;c[p>>2]=Xf(c[m>>2]|0,c[o>>2]|0)|0;if(!(c[p>>2]|0)){x=11;break}c[m>>2]=c[p>>2];v=c[g>>2]|0;z=c[m>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[z+(A<<2)>>2]=v;a[(c[g>>2]|0)+(c[h>>2]|0)>>0]=0;RK(c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+((c[h>>2]|0)+1)}if((x|0)==11){_d(c[i>>2]|0);_d(c[m>>2]|0);c[q>>2]=7;A=c[q>>2]|0;l=y;return A|0}c[u>>2]=Bb[c[(c[k>>2]|0)+4>>2]&255](c[n>>2]|0,c[m>>2]|0,c[s>>2]|0)|0;if(c[u>>2]|0)IK(c[t>>2]|0,46931,w);else c[c[c[s>>2]>>2]>>2]=c[k>>2];_d(c[m>>2]|0)}else{A=c[t>>2]|0;c[v>>2]=c[g>>2];IK(A,42720,v);c[u>>2]=1}_d(c[i>>2]|0);c[q>>2]=c[u>>2];A=c[q>>2]|0;l=y;return A|0}function PP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;m=o;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=c[g>>2];while(1){b=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==61)break;if(!(a[b>>0]|0)){n=4;break}c[k>>2]=(c[k>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;l=o;return n|0}c[c[h>>2]>>2]=b-(c[g>>2]|0);c[m>>2]=(c[k>>2]|0)+1;c[j>>2]=nf(21240,m)|0;if(c[j>>2]|0)RK(c[j>>2]|0);c[c[i>>2]>>2]=c[j>>2];c[f>>2]=1;n=c[f>>2]|0;l=o;return n|0}function QP(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=l;l=l+96|0;z=A+8|0;B=A;y=A+80|0;C=A+76|0;D=A+72|0;i=A+68|0;j=A+64|0;k=A+60|0;m=A+56|0;n=A+52|0;o=A+48|0;p=A+44|0;q=A+40|0;r=A+36|0;s=A+32|0;t=A+28|0;u=A+24|0;v=A+20|0;w=A+16|0;x=A+12|0;c[y>>2]=a;c[C>>2]=b;c[D>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=0;c[p>>2]=0;h=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=h;c[o>>2]=nf(46882,B)|0;if(c[o>>2]|0){c[n>>2]=Mv(c[y>>2]|0,c[o>>2]|0,-1,p,0)|0;if(c[n>>2]|0){D=c[m>>2]|0;c[z>>2]=Ev(c[y>>2]|0)|0;IK(D,21240,z)}}else c[n>>2]=7;_d(c[o>>2]|0);if(c[n>>2]|0){D=c[n>>2]|0;l=A;return D|0}c[r>>2]=0;c[s>>2]=Av(c[p>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=Bv(c[p>>2]|0,c[t>>2]|0)|0;D=(g$(c[u>>2]|0)|0)+1|0;c[r>>2]=(c[r>>2]|0)+D;c[t>>2]=(c[t>>2]|0)+1}c[q>>2]=pe((c[s>>2]<<2)+(c[r>>2]|0)|0)|0;a:do if(!(c[q>>2]|0))c[n>>2]=7;else{c[v>>2]=(c[q>>2]|0)+(c[s>>2]<<2);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[s>>2]|0))break a;c[w>>2]=Bv(c[p>>2]|0,c[t>>2]|0)|0;c[x>>2]=(g$(c[w>>2]|0)|0)+1;h0(c[v>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;c[(c[q>>2]|0)+(c[t>>2]<<2)>>2]=c[v>>2];c[v>>2]=(c[v>>2]|0)+(c[x>>2]|0);c[t>>2]=(c[t>>2]|0)+1}}while(0);Fr(c[p>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[r>>2];c[c[i>>2]>>2]=c[q>>2];D=c[n>>2]|0;l=A;return D|0}function RP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+36|0;j=q+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;f=q+8|0;g=q+4|0;h=q;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[o>>2]=1;a:do if(c[j>>2]|0?a[c[j>>2]>>0]|0:0){c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=c[j>>2];while(1){if(!(a[c[p>>2]>>0]|0))break a;if((a[c[p>>2]>>0]|0)==44)c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=pe((c[o>>2]|0)*24|0)|0;c[c[m>>2]>>2]=c[n>>2];if(!(c[n>>2]|0)){c[i>>2]=7;p=c[i>>2]|0;l=q;return p|0}m0(c[n>>2]|0,0,(c[o>>2]|0)*24|0)|0;b:do if(c[j>>2]|0){c[f>>2]=c[j>>2];c[g>>2]=1;while(1){if((c[g>>2]|0)>=(c[o>>2]|0))break b;c[h>>2]=0;if(_P(f,h)|0)break;if(!(c[h>>2]|0)){c[o>>2]=(c[o>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+-1}else c[(c[n>>2]|0)+((c[g>>2]|0)*24|0)>>2]=c[h>>2];c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}c[i>>2]=1;p=c[i>>2]|0;l=q;return p|0}while(0);c[c[k>>2]>>2]=c[o>>2];c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}function SP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;k=j+12|0;g=j+8|0;h=j+4|0;i=j;e=j+20|0;c[k>>2]=b;c[g>>2]=d;c[i>>2]=0;c[h>>2]=c[k>>2];a:while(1){if(c[i>>2]|0){b=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{b=4;break a}case 96:case 34:case 39:{c[i>>2]=c[h>>2];while(1){k=(c[i>>2]|0)+1|0;c[i>>2]=k;if(!(a[k>>0]|0))continue a;if((a[c[i>>2]>>0]|0)!=(a[e>>0]|0))continue;k=(c[i>>2]|0)+1|0;c[i>>2]=k;if((a[k>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[i>>2]=(c[h>>2]|0)+1;while(1){if(a[c[i>>2]>>0]|0)d=(a[c[i>>2]>>0]|0)!=93;else d=0;b=c[i>>2]|0;if(!d)break;c[i>>2]=b+1}if(!(a[b>>0]|0))continue a;c[i>>2]=(c[i>>2]|0)+1;continue a}default:{k=(NP(a[c[h>>2]>>0]|0)|0)!=0;b=(c[h>>2]|0)+1|0;if(!k){c[h>>2]=b;continue a}c[i>>2]=b;while(1){if(!(NP(a[c[i>>2]>>0]|0)|0))continue a;c[i>>2]=(c[i>>2]|0)+1}}}}if((b|0)==4){c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}else if((b|0)==21){c[c[g>>2]>>2]=(c[i>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];k=c[f>>2]|0;l=j;return k|0}return 0}function TP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+96|0;s=t+56|0;n=t+48|0;m=t+40|0;p=t+32|0;o=t+24|0;k=t+8|0;j=t;q=t+92|0;e=t+88|0;f=t+84|0;r=t+80|0;g=t+76|0;h=t+72|0;i=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[r>>2]=0;c[g>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){ZP(c[f>>2]|0,r,26001,p);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[m>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[i>>2]<<2)>>2];ZP(p,r,46841,m);c[i>>2]=(c[i>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[n>>2]=c[(c[q>>2]|0)+44>>2];ZP(p,r,46827,n)}}else{if(c[e>>2]|0){p=YP(c[e>>2]|0)|0;c[h>>2]=p;c[g>>2]=p}else c[h>>2]=55752;ZP(c[f>>2]|0,r,46806,j);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;m=c[i>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[i>>2]<<2)>>2]|0;c[k>>2]=c[h>>2];c[k+4>>2]=m;c[k+8>>2]=n;ZP(p,r,46812,k);c[i>>2]=(c[i>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[o>>2]=46834;ZP(p,r,46827,o)}_d(c[g>>2]|0)}a=c[f>>2]|0;b=c[(c[q>>2]|0)+16>>2]|0;d=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){o=c[d+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?55752:46850;c[s>>2]=b;q=s+4|0;c[q>>2]=o;q=s+8|0;c[q>>2]=p;ZP(a,r,46859,s);s=c[r>>2]|0;l=t;return s|0}else{o=c[d+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?55752:46850;c[s>>2]=b;q=s+4|0;c[q>>2]=o;q=s+8|0;c[q>>2]=p;ZP(a,r,46859,s);s=c[r>>2]|0;l=t;return s|0}return 0}function UP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o+16|0;m=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[i>>2]=0;if(c[f>>2]|0){f=YP(c[f>>2]|0)|0;c[j>>2]=f;c[i>>2]=f}else c[j>>2]=55752;ZP(c[g>>2]|0,h,27259,o);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;f=c[g>>2]|0;c[m>>2]=c[j>>2];ZP(f,h,46795,m);c[k>>2]=(c[k>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){n=c[i>>2]|0;_d(n);n=c[h>>2]|0;l=o;return n|0}ZP(c[g>>2]|0,h,46802,n);n=c[i>>2]|0;_d(n);n=c[h>>2]|0;l=o;return n|0}function VP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+112|0;p=r+64|0;n=r+56|0;m=r+48|0;k=r+32|0;q=r+24|0;o=r+8|0;d=r+96|0;e=r+92|0;f=r+88|0;g=r+84|0;h=r+80|0;i=r+76|0;j=r+72|0;c[d>>2]=b;c[e>>2]=0;c[g>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[h>>2]=c[(c[d>>2]|0)+44>>2];c[i>>2]=nf(46420,r)|0;c[f>>2]=0;while(1){if(!(c[i>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[j>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[j>>2]|0;c[o>>2]=c[i>>2];c[o+4>>2]=s;c[o+8>>2]=b;c[i>>2]=nf(46446,o)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[h>>2]|0)!=0&(c[i>>2]|0)!=0){s=c[h>>2]|0;c[q>>2]=c[i>>2];c[q+4>>2]=s;c[i>>2]=nf(46458,q)|0}if(!(c[i>>2]|0))c[e>>2]=7;s=c[g>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[i>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=o;c[k+8>>2]=q;qL(e,s,46469,k);_d(c[i>>2]|0)}s=c[g>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;qL(e,s,46502,m);s=c[g>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[n>>2]=c[(c[d>>2]|0)+16>>2];c[n+4>>2]=q;qL(e,s,46574,n);if(a[(c[d>>2]|0)+230>>0]|0){s=c[g>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[p>>2]=c[(c[d>>2]|0)+16>>2];c[p+4>>2]=q;qL(e,s,46727,p)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[e>>2]|0;l=r;return s|0}cP(e,c[d>>2]|0);s=c[e>>2]|0;l=r;return s|0}function WP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){l=j;return}c[i>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=nf(46400,i)|0;do if(c[g>>2]|0){c[f>>2]=Mv(c[(c[e>>2]|0)+12>>2]|0,c[g>>2]|0,-1,h,0)|0;if(!(c[f>>2]|0)){Bs(c[h>>2]|0)|0;i=iJ(c[h>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=i;c[f>>2]=Fr(c[h>>2]|0)|0;break}if((c[f>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[f>>2]=0}}else c[f>>2]=7;while(0);_d(c[g>>2]|0);c[c[d>>2]>>2]=c[f>>2];l=j;return}function XP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+64|0;o=p+24|0;n=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;i=p+48|0;j=p+44|0;k=p+40|0;m=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){l=p;return}if(c[(c[g>>2]|0)+44>>2]|0)a=c[(c[g>>2]|0)+44>>2]|0;else a=46325;c[m>>2]=a;b=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;OJ(b,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[k>>2]=nf(46334,e)|0;c[h>>2]=1;while(1){if(c[k>>2]|0)d=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else d=0;a=c[k>>2]|0;b=c[g>>2]|0;if(!d)break;e=c[(c[b+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[n>>2]=a;c[n+4>>2]=e;c[k>>2]=nf(46339,n)|0;c[h>>2]=(c[h>>2]|0)+1}h=c[b+20>>2]|0;n=c[m>>2]|0;c[o>>2]=a;c[o+4>>2]=h;c[o+8>>2]=n;c[j>>2]=nf(46346,o)|0;if((c[k>>2]|0)!=0&(c[j>>2]|0)!=0)c[i>>2]=MJ(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0)|0;else c[i>>2]=7;_d(c[j>>2]|0);_d(c[k>>2]|0);c[c[f>>2]>>2]=c[i>>2];l=p;return}function YP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[i>>2]=2+((g$(c[d>>2]|0)|0)<<1)+1;c[e>>2]=pe(c[i>>2]|0)|0;if(!(c[e>>2]|0)){i=c[e>>2]|0;l=h;return i|0}c[g>>2]=c[e>>2];i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=34;c[f>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[f>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[f>>2]|0)>>0]|0)==34){i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=34}b=a[(c[d>>2]|0)+(c[f>>2]|0)>>0]|0;i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=b;c[f>>2]=(c[f>>2]|0)+1}i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=34;i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=0;i=c[e>>2]|0;l=h;return i|0}function ZP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n;f=n+40|0;g=n+36|0;h=n+32|0;i=n+16|0;j=n+12|0;k=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){l=n;return}c[i>>2]=e;c[j>>2]=vf(c[h>>2]|0,i)|0;if(c[j>>2]|0?c[c[g>>2]>>2]|0:0){e=c[j>>2]|0;c[m>>2]=c[c[g>>2]>>2];c[m+4>>2]=e;c[k>>2]=nf(23403,m)|0;_d(c[j>>2]|0);c[j>>2]=c[k>>2]}if(!(c[j>>2]|0))c[c[f>>2]>>2]=7;_d(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[j>>2];l=n;return}function _P(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+4|0;i=k;c[f>>2]=b;c[g>>2]=d;c[k+8>>2]=1e7;c[i>>2]=0;c[h>>2]=c[c[f>>2]>>2];while(1){if((a[c[h>>2]>>0]|0)<48)break;if((a[c[h>>2]>>0]|0)>57)break;c[i>>2]=((c[i>>2]|0)*10|0)+((a[c[h>>2]>>0]|0)-48);if((c[i>>2]|0)>1e7){j=5;break}c[h>>2]=(c[h>>2]|0)+1}if((j|0)==5)c[i>>2]=0;if((c[h>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}else{c[c[g>>2]>>2]=c[i>>2];c[c[f>>2]>>2]=c[h>>2];c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}return 0}function $P(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;o=p;h=p+40|0;q=p+36|0;i=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;e=p+12|0;f=p+8|0;g=p+4|0;c[h>>2]=a;c[q>>2]=b;c[i>>2]=d;c[k>>2]=0;c[j>>2]=Qh(c[h>>2]|0)|0;c[m>>2]=Rh(c[c[i>>2]>>2]|0)|0;c[n>>2]=(Sh(c[c[i>>2]>>2]|0)|0)+1;do if((c[q>>2]|0)==2){if(!(aQ(c[h>>2]|0)|0)){Th(c[h>>2]|0,47100,-1);l=p;return}c[f>>2]=Sh(c[(c[i>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==0|(c[f>>2]|0)!=4){Th(c[h>>2]|0,47077,-1);l=p;return}else{c[k>>2]=c[(Ri(c[(c[i>>2]|0)+4>>2]|0)|0)>>2];c[e>>2]=oK(c[j>>2]|0,c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;if((c[e>>2]|0)!=(c[k>>2]|0))break;Th(c[h>>2]|0,22481,-1);break}}else{if(c[m>>2]|0)c[k>>2]=HK(c[j>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[k>>2]|0)){c[o>>2]=c[m>>2];c[g>>2]=nf(42720,o)|0;Th(c[h>>2]|0,c[g>>2]|0,-1);_d(c[g>>2]|0);l=p;return}}while(0);mj(c[h>>2]|0,k,4,-1);l=p;return}function aQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+32|0;e=d;g=d+16|0;f=d+12|0;b=d+8|0;c[g>>2]=a;c[f>>2]=Ph(c[g>>2]|0)|0;c[b>>2]=0;a=c[f>>2]|0;c[e>>2]=-1;c[e+4>>2]=b;QJ(a,1004,e)|0;l=d;return c[b>>2]|0}function bQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[(c[g>>2]|0)+4>>2]|0)b=c[(c[g>>2]|0)+4>>2]|0;else b=(c[f>>2]|0)+8|0;c[b>>2]=c[c[g>>2]>>2];if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[i>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[i>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[i>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[i>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[i>>2]>>2]|0)<=0)c[(c[i>>2]|0)+4>>2]=0;if(a[(c[f>>2]|0)+1>>0]|0?c[(c[g>>2]|0)+12>>2]|0:0)tK(c[(c[g>>2]|0)+12>>2]|0);tK(c[g>>2]|0);i=(c[f>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){l=j;return}sK(c[f>>2]|0);l=j;return}function cQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[f>>2]=b;c[g>>2]=d;c[h>>2]=dQ(c[g>>2]<<3)|0;if(!(c[h>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;l=n;return m|0}tK(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[k>>2]=KK(a[c[f>>2]>>0]|0)|0;c[i>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[i>>2]|0))break;d=Mb[c[k>>2]&255](c[(c[i>>2]|0)+12>>2]|0,c[(c[i>>2]|0)+16>>2]|0)|0;c[m>>2]=d&(c[g>>2]|0)-1;c[j>>2]=c[c[i>>2]>>2];eQ(c[f>>2]|0,(c[h>>2]|0)+(c[m>>2]<<3)|0,c[i>>2]|0);c[i>>2]=c[j>>2]}c[e>>2]=0;m=c[e>>2]|0;l=n;return m|0}function dQ(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=pe(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;l=e;return d|0}m0(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;l=e;return d|0}function eQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;l=i;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];if(c[(c[h>>2]|0)+4>>2]|0)a=c[(c[h>>2]|0)+4>>2]|0;else a=(c[e>>2]|0)+8|0;c[a>>2]=c[g>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;l=i;return}function fQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=pe(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;l=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}return 0}function gQ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return 0}function hQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;f=k+12|0;g=k+8|0;i=k+4|0;j=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=e;c[j>>2]=pe(28)|0;if(!(c[j>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}c[(c[j>>2]|0)+4>>2]=c[f>>2];do if(c[f>>2]|0)if((c[g>>2]|0)<0){a=g$(c[f>>2]|0)|0;b=c[j>>2]|0;break}else{a=c[g>>2]|0;b=c[j>>2]|0;break}else{a=0;b=c[j>>2]|0}while(0);c[b+8>>2]=a;c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+20>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[c[i>>2]>>2]=c[j>>2];c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function iQ(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];_d(c[(c[d>>2]|0)+20>>2]|0);_d(c[d>>2]|0);l=b;return 0}function jQ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+64|0;s=w+48|0;x=w+44|0;t=w+40|0;u=w+36|0;i=w+32|0;j=w+28|0;k=w+24|0;m=w+20|0;n=w+16|0;o=w+12|0;p=w+8|0;q=w+4|0;r=w;c[x>>2]=b;c[t>>2]=d;c[u>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=c[x>>2];c[n>>2]=c[(c[m>>2]|0)+4>>2];do{if((c[(c[m>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[m>>2]|0)+12>>2]|0)<(c[(c[m>>2]|0)+8>>2]|0)?(x=a[(c[n>>2]|0)+(c[(c[m>>2]|0)+12>>2]|0)>>0]|0,c[p>>2]=x,(x&128|0)==0):0)if((c[p>>2]|0)<48)b=1;else b=(a[47122+((c[p>>2]|0)-48)>>0]|0)!=0^1;else b=0;d=(c[m>>2]|0)+12|0;e=c[d>>2]|0;if(!b)break;c[d>>2]=e+1}c[o>>2]=e;while(1){if((c[(c[m>>2]|0)+12>>2]|0)<(c[(c[m>>2]|0)+8>>2]|0)){x=a[(c[n>>2]|0)+(c[(c[m>>2]|0)+12>>2]|0)>>0]|0;c[p>>2]=x;if(!(x&128))if((c[p>>2]|0)<48)b=1;else b=(a[47122+((c[p>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;d=(c[m>>2]|0)+12|0;e=c[d>>2]|0;if(!b)break;c[d>>2]=e+1}}while((e|0)<=(c[o>>2]|0));if((v|0)==23){c[s>>2]=101;x=c[s>>2]|0;l=w;return x|0}c[q>>2]=(c[(c[m>>2]|0)+12>>2]|0)-(c[o>>2]|0);do if((c[q>>2]|0)>(c[(c[m>>2]|0)+24>>2]|0)){c[(c[m>>2]|0)+24>>2]=(c[q>>2]|0)+20;c[r>>2]=Xf(c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;if(c[r>>2]|0){c[(c[m>>2]|0)+20>>2]=c[r>>2];break}c[s>>2]=7;x=c[s>>2]|0;l=w;return x|0}while(0);kQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[u>>2]|0);c[c[t>>2]>>2]=c[(c[m>>2]|0)+20>>2];c[c[i>>2]>>2]=c[o>>2];c[c[j>>2]>>2]=c[(c[m>>2]|0)+12>>2];v=(c[m>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[k>>2]>>2]=x;c[s>>2]=0;x=c[s>>2]|0;l=w;return x|0}function kQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;j=s+28|0;k=s+24|0;q=s+20|0;o=s+16|0;r=s+12|0;m=s+8|0;g=s+36|0;p=s+4|0;h=s;i=s+32|0;c[j>>2]=b;c[k>>2]=d;c[q>>2]=e;c[o>>2]=f;if((c[k>>2]|0)<3|(c[k>>2]|0)>=21){lQ(c[j>>2]|0,c[k>>2]|0,c[q>>2]|0,c[o>>2]|0);l=s;return}c[r>>2]=0;c[m>>2]=22;while(1){if((c[r>>2]|0)>=(c[k>>2]|0))break;a[i>>0]=a[(c[j>>2]|0)+(c[r>>2]|0)>>0]|0;if((a[i>>0]|0)>=65?(a[i>>0]|0)<=90:0){b=(a[i>>0]|0)+97-65&255;d=c[m>>2]|0}else{if((a[i>>0]|0)<97){n=11;break}if((a[i>>0]|0)>122){n=11;break}b=a[i>>0]|0;d=c[m>>2]|0}a[g+d>>0]=b;c[r>>2]=(c[r>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}if((n|0)==11){lQ(c[j>>2]|0,c[k>>2]|0,c[q>>2]|0,c[o>>2]|0);l=s;return}n=g+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[p>>2]=g+((c[m>>2]|0)+1);if((((a[c[p>>2]>>0]|0)==115?(mQ(p,47202,47207,0)|0)==0:0)?(mQ(p,47210,47214,0)|0)==0:0)?(mQ(p,47207,47207,0)|0)==0:0)c[p>>2]=(c[p>>2]|0)+1;c[h>>2]=c[p>>2];do if(!(mQ(p,47216,47220,197)|0)){if((mQ(p,47223,55752,198)|0)==0?(mQ(p,47227,55752,198)|0)==0:0)break;if((((c[p>>2]|0)!=(c[h>>2]|0)?(mQ(p,47230,47233,0)|0)==0:0)?(mQ(p,47237,47240,0)|0)==0:0)?(mQ(p,47244,47247,0)|0)==0:0){if(((pQ(c[p>>2]|0)|0?(a[c[p>>2]>>0]|0)!=108:0)?(a[c[p>>2]>>0]|0)!=115:0)?(a[c[p>>2]>>0]|0)!=122:0){c[p>>2]=(c[p>>2]|0)+1;break}if(qQ(c[p>>2]|0)|0?rQ(c[p>>2]|0)|0:0){n=(c[p>>2]|0)+-1|0;c[p>>2]=n;a[n>>0]=101}}}while(0);if((a[c[p>>2]>>0]|0)==121?oQ((c[p>>2]|0)+1|0)|0:0)a[c[p>>2]>>0]=105;switch(a[(c[p>>2]|0)+1>>0]|0){case 97:{if(!(mQ(p,47251,47233,197)|0))mQ(p,47259,47266,197)|0;break}case 99:{if(!(mQ(p,47271,47276,197)|0))mQ(p,47281,47286,197)|0;break}case 101:{mQ(p,47291,47247,197)|0;break}case 103:{mQ(p,47296,32259,197)|0;break}case 108:{if((((mQ(p,47301,47240,197)|0)==0?(mQ(p,47305,47310,197)|0)==0:0)?(mQ(p,47313,47319,197)|0)==0:0)?(mQ(p,47323,47327,197)|0)==0:0)mQ(p,47329,47335,197)|0;break}case 111:{if((mQ(p,47339,47247,197)|0)==0?(mQ(p,47347,47233,197)|0)==0:0)mQ(p,47353,47233,197)|0;break}case 115:{if(((mQ(p,47358,47310,197)|0)==0?(mQ(p,47364,47372,197)|0)==0:0)?(mQ(p,47376,47384,197)|0)==0:0)mQ(p,47388,47335,197)|0;break}case 116:{if((mQ(p,47396,47310,197)|0)==0?(mQ(p,47402,47372,197)|0)==0:0)mQ(p,47408,47240,197)|0;break}default:{}}switch(a[c[p>>2]>>0]|0){case 101:{if((mQ(p,47415,47421,197)|0)==0?(mQ(p,47424,55752,197)|0)==0:0)mQ(p,47430,47310,197)|0;break}case 105:{mQ(p,47436,47421,197)|0;break}case 108:{if(!(mQ(p,47442,47421,197)|0))mQ(p,47447,55752,197)|0;break}case 115:{mQ(p,47451,55752,197)|0;break}default:{}}a:do switch(a[(c[p>>2]|0)+1>>0]|0){case 97:{if((a[c[p>>2]>>0]|0)==108?sQ((c[p>>2]|0)+2|0)|0:0)c[p>>2]=(c[p>>2]|0)+2;break}case 99:{if((a[c[p>>2]>>0]|0)==101?(a[(c[p>>2]|0)+2>>0]|0)==110:0){if((a[(c[p>>2]|0)+3>>0]|0)!=97?(a[(c[p>>2]|0)+3>>0]|0)!=101:0)break a;if(sQ((c[p>>2]|0)+4|0)|0)c[p>>2]=(c[p>>2]|0)+4}break}case 101:{if((a[c[p>>2]>>0]|0)==114?sQ((c[p>>2]|0)+2|0)|0:0)c[p>>2]=(c[p>>2]|0)+2;break}case 105:{if((a[c[p>>2]>>0]|0)==99?sQ((c[p>>2]|0)+2|0)|0:0)c[p>>2]=(c[p>>2]|0)+2;break}case 108:{if((a[c[p>>2]>>0]|0)==101?(a[(c[p>>2]|0)+2>>0]|0)==98:0){if((a[(c[p>>2]|0)+3>>0]|0)!=97?(a[(c[p>>2]|0)+3>>0]|0)!=105:0)break a;if(sQ((c[p>>2]|0)+4|0)|0)c[p>>2]=(c[p>>2]|0)+4}break}case 110:{if((a[c[p>>2]>>0]|0)==116){b=c[p>>2]|0;if((a[(c[p>>2]|0)+2>>0]|0)==97){if(!(sQ(b+3|0)|0))break a;c[p>>2]=(c[p>>2]|0)+3;break a}if(((a[b+2>>0]|0)==101?(mQ(p,47456,55752,199)|0)==0:0)?(mQ(p,47462,55752,199)|0)==0:0)mQ(p,47467,55752,199)|0}break}case 111:{b=c[p>>2]|0;if((a[c[p>>2]>>0]|0)==117){if(!(sQ(b+2|0)|0))break a;c[p>>2]=(c[p>>2]|0)+2;break a}if((a[b+3>>0]|0)!=115?(a[(c[p>>2]|0)+3>>0]|0)!=116:0)break a;mQ(p,47471,55752,199)|0;break}case 115:{if(((a[c[p>>2]>>0]|0)==109?(a[(c[p>>2]|0)+2>>0]|0)==105:0)?sQ((c[p>>2]|0)+3|0)|0:0)c[p>>2]=(c[p>>2]|0)+3;break}case 116:{if(!(mQ(p,47475,55752,199)|0))mQ(p,47479,55752,199)|0;break}case 117:{if(((a[c[p>>2]>>0]|0)==115?(a[(c[p>>2]|0)+2>>0]|0)==111:0)?sQ((c[p>>2]|0)+3|0)|0:0)c[p>>2]=(c[p>>2]|0)+3;break}case 122:case 118:{if(((a[c[p>>2]>>0]|0)==101?(a[(c[p>>2]|0)+2>>0]|0)==105:0)?sQ((c[p>>2]|0)+3|0)|0:0)c[p>>2]=(c[p>>2]|0)+3;break}default:{}}while(0);do if((a[c[p>>2]>>0]|0)==101){n=(sQ((c[p>>2]|0)+1|0)|0)!=0;b=(c[p>>2]|0)+1|0;if(n){c[p>>2]=b;break}if(qQ(b)|0?(rQ((c[p>>2]|0)+1|0)|0)==0:0)c[p>>2]=(c[p>>2]|0)+1}while(0);if((sQ(c[p>>2]|0)|0?(a[c[p>>2]>>0]|0)==108:0)?(a[(c[p>>2]|0)+1>>0]|0)==108:0)c[p>>2]=(c[p>>2]|0)+1;b=g$(c[p>>2]|0)|0;c[r>>2]=b;c[c[o>>2]>>2]=b;b=0;d=(c[q>>2]|0)+(c[r>>2]|0)|0;while(1){a[d>>0]=b;if(!(a[c[p>>2]>>0]|0))break;b=c[p>>2]|0;c[p>>2]=b+1;b=a[b>>0]|0;o=c[q>>2]|0;d=(c[r>>2]|0)+-1|0;c[r>>2]=d;d=o+d|0}l=s;return}function lQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;g=q+4|0;h=q;i=q+32|0;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[h>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;a[i>>0]=a[(c[j>>2]|0)+(c[o>>2]|0)>>0]|0;if((a[i>>0]|0)>=65?(a[i>>0]|0)<=90:0){b=(a[i>>0]|0)-65+97&255;d=(c[m>>2]|0)+(c[o>>2]|0)|0}else{if((a[i>>0]|0)>=48?(a[i>>0]|0)<=57:0)c[h>>2]=1;b=a[i>>0]|0;d=(c[m>>2]|0)+(c[o>>2]|0)|0}a[d>>0]=b;c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=c[h>>2]|0?3:10;if((c[k>>2]|0)<=(c[p>>2]<<1|0)){m=c[m>>2]|0;p=c[o>>2]|0;p=m+p|0;a[p>>0]=0;o=c[o>>2]|0;p=c[n>>2]|0;c[p>>2]=o;l=q;return}c[g>>2]=c[p>>2];c[o>>2]=(c[k>>2]|0)-(c[p>>2]|0);while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;a[(c[m>>2]|0)+(c[g>>2]|0)>>0]=a[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}c[o>>2]=c[g>>2];m=c[m>>2]|0;p=c[o>>2]|0;p=m+p|0;a[p>>0]=0;o=c[o>>2]|0;p=c[n>>2]|0;c[p>>2]=o;l=q;return}function mQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[i>>2]>>0]|0))break;if((a[c[i>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1}if(a[c[i>>2]>>0]|0){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}if(c[k>>2]|0?(Hb[c[k>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;m=c[g>>2]|0;l=n;return m|0}while(1){if(!(a[c[j>>2]>>0]|0))break;i=c[j>>2]|0;c[j>>2]=i+1;i=a[i>>0]|0;k=(c[m>>2]|0)+-1|0;c[m>>2]=k;a[k>>0]=i}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;m=c[g>>2]|0;l=n;return m|0}function nQ(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(tQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(uQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;l=f;return g|0}function oQ(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=b;while(1){f=(uQ(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}l=e;return (a[b>>0]|0)!=0|0}function pQ(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(uQ(c[d>>2]|0)|0)){d=0;d=d&1;l=e;return d|0}d=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);d=d&1;l=e;return d|0}function qQ(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(tQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(uQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(tQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;l=f;return g|0}while(1){g=(uQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;l=f;return g|0}function rQ(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if((((uQ(c[d>>2]|0)|0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?tQ((c[d>>2]|0)+1|0)|0:0)b=(uQ((c[d>>2]|0)+2|0)|0)!=0;else b=0;l=e;return b&1|0}function sQ(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(tQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(uQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(tQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(uQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;l=f;return g|0}function tQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}c[f>>2]=a[47483+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);g=c[d>>2]|0;l=h;return g|0}else{c[d>>2]=uQ((c[e>>2]|0)+1|0)|0;g=c[d>>2]|0;l=h;return g|0}return 0}function uQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}c[e>>2]=a[47483+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;l=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))b=1;else b=(tQ((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=b&1;g=c[g>>2]|0;l=h;return g|0}function vQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+28|0;h=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;i=q+32|0;g=q;c[h>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=pe(132)|0;if(!(c[n>>2]|0)){c[j>>2]=7;p=c[j>>2]|0;l=q;return p|0}m0(c[n>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[p>>2]=g$(c[(c[k>>2]|0)+4>>2]|0)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break a;a[i>>0]=a[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]|0)>>0]|0;b=c[n>>2]|0;if((d[i>>0]|0|0)>=128)break;a[b+4+(d[i>>0]|0)>>0]=1;c[o>>2]=(c[o>>2]|0)+1}_d(b);c[j>>2]=1;p=c[j>>2]|0;l=q;return p|0}else{c[g>>2]=1;while(1){if((c[g>>2]|0)>=128)break a;p=(BQ(c[g>>2]|0)|0)!=0^1;a[(c[n>>2]|0)+4+(c[g>>2]|0)>>0]=p?-1:0;c[g>>2]=(c[g>>2]|0)+1}}while(0);c[c[m>>2]>>2]=c[n>>2];c[j>>2]=0;p=c[j>>2]|0;l=q;return p|0}function wQ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return 0}function xQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;f=k+12|0;g=k+8|0;i=k+4|0;j=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=e;c[j>>2]=pe(28)|0;if(!(c[j>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}c[(c[j>>2]|0)+4>>2]=c[f>>2];do if(c[f>>2]|0)if((c[g>>2]|0)<0){a=g$(c[f>>2]|0)|0;b=c[j>>2]|0;break}else{a=c[g>>2]|0;b=c[j>>2]|0;break}else{a=0;b=c[j>>2]|0}while(0);c[b+8>>2]=a;c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+20>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[c[i>>2]>>2]=c[j>>2];c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function yQ(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];_d(c[(c[d>>2]|0)+20>>2]|0);_d(c[d>>2]|0);l=b;return 0}function zQ(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+64|0;w=z+52|0;A=z+48|0;x=z+44|0;y=z+40|0;n=z+36|0;o=z+32|0;p=z+28|0;q=z+24|0;j=z+20|0;r=z+16|0;s=z+12|0;t=z+8|0;u=z+4|0;k=z;v=z+56|0;c[A>>2]=b;c[x>>2]=e;c[y>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=c[A>>2];c[j>>2]=c[c[A>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];do{if((c[(c[q>>2]|0)+12>>2]|0)>=(c[(c[q>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[q>>2]|0)+12>>2]|0)<(c[(c[q>>2]|0)+8>>2]|0))b=(AQ(c[j>>2]|0,a[(c[r>>2]|0)+(c[(c[q>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;e=(c[q>>2]|0)+12|0;f=c[e>>2]|0;if(!b)break;c[e>>2]=f+1}c[s>>2]=f;while(1){if((c[(c[q>>2]|0)+12>>2]|0)<(c[(c[q>>2]|0)+8>>2]|0))b=(AQ(c[j>>2]|0,a[(c[r>>2]|0)+(c[(c[q>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;e=(c[q>>2]|0)+12|0;f=c[e>>2]|0;if(!b)break;c[e>>2]=f+1}}while((f|0)<=(c[s>>2]|0));if((m|0)==25){c[w>>2]=101;A=c[w>>2]|0;l=z;return A|0}c[u>>2]=(c[(c[q>>2]|0)+12>>2]|0)-(c[s>>2]|0);do if((c[u>>2]|0)>(c[(c[q>>2]|0)+24>>2]|0)){c[(c[q>>2]|0)+24>>2]=(c[u>>2]|0)+20;c[k>>2]=Xf(c[(c[q>>2]|0)+20>>2]|0,c[(c[q>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[q>>2]|0)+20>>2]=c[k>>2];break}c[w>>2]=7;A=c[w>>2]|0;l=z;return A|0}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break;a[v>>0]=a[(c[r>>2]|0)+((c[s>>2]|0)+(c[t>>2]|0))>>0]|0;if((d[v>>0]|0|0)>=65?(d[v>>0]|0|0)<=90:0)b=(d[v>>0]|0)-65+97|0;else b=d[v>>0]|0;a[(c[(c[q>>2]|0)+20>>2]|0)+(c[t>>2]|0)>>0]=b;c[t>>2]=(c[t>>2]|0)+1}c[c[x>>2]>>2]=c[(c[q>>2]|0)+20>>2];c[c[y>>2]>>2]=c[u>>2];c[c[n>>2]>>2]=c[s>>2];c[c[o>>2]>>2]=c[(c[q>>2]|0)+12>>2];y=(c[q>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[p>>2]>>2]=A;c[w>>2]=0;A=c[w>>2]|0;l=z;return A|0}function AQ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){g=0;g=g&1;l=h;return g|0}g=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;g=g&1;l=h;return g|0}function BQ(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)a=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else a=1;l=d;return a&1|0}function CQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;v=w;s=w+56|0;t=w+52|0;u=w+44|0;h=w+40|0;i=w+36|0;j=w+32|0;k=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;c[t>>2]=a;c[w+48>>2]=b;c[u>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;do if(!((c[u>>2]|0)!=4&(c[u>>2]|0)!=5)){c[k>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=g$(c[k>>2]|0)|0;if((c[u>>2]|0)==5){if((c[n>>2]|0)!=4)break;if(ld(42437,c[k>>2]|0,4)|0)break;c[k>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=g$(c[k>>2]|0)|0;c[m>>2]=c[(c[h>>2]|0)+16>>2]}else c[m>>2]=c[(c[h>>2]|0)+12>>2];c[o>>2]=g$(c[m>>2]|0)|0;c[q>>2]=MJ(c[t>>2]|0,47517)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];v=c[s>>2]|0;l=w;return v|0}c[p>>2]=296+(c[n>>2]|0)+(c[o>>2]|0)+2;c[r>>2]=pe(c[p>>2]|0)|0;if(c[r>>2]|0){m0(c[r>>2]|0,0,c[p>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[n>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[t>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;h0(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;h0(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;RK(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[i>>2]>>2]=c[r>>2];c[s>>2]=0;v=c[s>>2]|0;l=w;return v|0}else{c[s>>2]=7;v=c[s>>2]|0;l=w;return v|0}}while(0);IK(c[j>>2]|0,47586,v);c[s>>2]=1;v=c[s>>2]|0;l=w;return v|0}function DQ(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+32|0;i=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;f=q+4|0;g=q;c[q+36>>2]=b;c[j>>2]=e;c[k>>2]=-1;c[m>>2]=-1;c[n>>2]=-1;c[o>>2]=-1;c[p>>2]=1;if(((c[(c[j>>2]|0)+8>>2]|0)==1?(c[c[(c[j>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[j>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[j>>2]|0)+32>>2]=1;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[j>>2]>>2]|0))break;if(a[(c[(c[j>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)+5>>0]|0){c[f>>2]=d[(c[(c[j>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[f>>2]|0)==2)c[k>>2]=c[i>>2];if((c[f>>2]|0)==16)c[n>>2]=c[i>>2];if((c[f>>2]|0)==8)c[n>>2]=c[i>>2];if((c[f>>2]|0)==4)c[m>>2]=c[i>>2];if((c[f>>2]|0)==32)c[m>>2]=c[i>>2]}if((c[g>>2]|0)==4&(c[f>>2]|0)==2)c[o>>2]=c[i>>2]}c[i>>2]=(c[i>>2]|0)+1}b=(c[j>>2]|0)+20|0;if((c[k>>2]|0)<0){c[b>>2]=0;h[(c[j>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){k=(c[j>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+2;k=c[p>>2]|0;c[p>>2]=k+1;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=k;m=(c[j>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[n>>2]|0)>=0){m=(c[j>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=m;n=(c[j>>2]|0)+40|0;h[n>>3]=+h[n>>3]/2.0}}else{c[b>>2]=1;n=c[p>>2]|0;c[p>>2]=n+1;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=n;h[(c[j>>2]|0)+40>>3]=5.0}if((c[o>>2]|0)<0){l=q;return 0}n=c[p>>2]|0;c[p>>2]=n+1;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=n;p=(c[j>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;l=q;return 0}function EQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];c[d>>2]=c[(c[b>>2]|0)+12>>2];c[e>>2]=0;while(1){a=c[d>>2]|0;if((c[e>>2]|0)>=40)break;Fr(c[a+56+(c[e>>2]<<2)>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}_d(c[a+240>>2]|0);_d(c[b>>2]|0);l=f;return 0}function FQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=pe(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;l=g;return f|0}return 0}function GQ(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];BM(c[e>>2]|0);EL((c[d>>2]|0)+4|0);_d(c[(c[d>>2]|0)+60>>2]|0);_d(c[(c[d>>2]|0)+76>>2]|0);_d(c[(c[d>>2]|0)+112>>2]|0);_d(c[d>>2]|0);l=b;return 0}function HQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+80|0;y=z+8|0;x=z;t=z+76|0;u=z+72|0;v=z+68|0;w=z+60|0;g=z+56|0;h=z+52|0;i=z+48|0;j=z+44|0;k=z+40|0;m=z+36|0;n=z+32|0;o=z+28|0;p=z+24|0;q=z+20|0;r=z+16|0;s=z+12|0;c[u>>2]=a;c[v>>2]=b;c[z+64>>2]=d;c[w>>2]=e;c[g>>2]=f;c[h>>2]=c[u>>2];c[i>>2]=c[(c[c[u>>2]>>2]|0)+12>>2];c[k>>2]=0;c[m>>2]=0;c[n>>2]=-1;c[o>>2]=-1;c[p>>2]=-1;c[q>>2]=-1;c[r>>2]=0;if((c[v>>2]|0)!=1){c[k>>2]=1;if(c[v>>2]&2|0){f=c[r>>2]|0;c[r>>2]=f+1;c[o>>2]=f}if(c[v>>2]&4|0){v=c[r>>2]|0;c[r>>2]=v+1;c[p>>2]=v}}else{v=c[r>>2]|0;c[r>>2]=v+1;c[n>>2]=v}if((c[r>>2]|0)<(c[w>>2]|0)){w=c[r>>2]|0;c[r>>2]=w+1;c[q>>2]=w}EL((c[h>>2]|0)+4|0);_d(c[(c[h>>2]|0)+60>>2]|0);_d(c[(c[h>>2]|0)+112>>2]|0);m0((c[h>>2]|0)+4|0,0,(c[h>>2]|0)+120-((c[h>>2]|0)+4)|0)|0;c[(c[h>>2]|0)+60+12>>2]=3;if(c[k>>2]|0){w=(c[h>>2]|0)+60+12|0;c[w>>2]=c[w>>2]|16}if(((c[n>>2]|0)>=0|(c[o>>2]|0)>=0?(c[s>>2]=Rh(c[c[g>>2]>>2]|0)|0,c[s>>2]|0):0)?(c[x>>2]=c[s>>2],x=nf(21240,x)|0,c[(c[h>>2]|0)+60>>2]=x,x=Sh(c[c[g>>2]>>2]|0)|0,c[(c[h>>2]|0)+60+4>>2]=x,(c[(c[h>>2]|0)+60>>2]|0)==0):0){c[t>>2]=7;y=c[t>>2]|0;l=z;return y|0}if((c[p>>2]|0)>=0?(c[y>>2]=Rh(c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]|0)|0,y=nf(21240,y)|0,c[(c[h>>2]|0)+76>>2]=y,y=Sh(c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]|0)|0,c[(c[h>>2]|0)+80>>2]=y,(c[(c[h>>2]|0)+76>>2]|0)==0):0){c[t>>2]=7;y=c[t>>2]|0;l=z;return y|0}if((c[q>>2]|0)>=0){y=Qi(c[(c[g>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;c[m>>2]=y;c[m>>2]=(c[m>>2]|0)<0?0:y}c[(c[h>>2]|0)+84>>2]=c[m>>2];c[j>>2]=tL(c[i>>2]|0,c[m>>2]|0,0,-2,c[(c[h>>2]|0)+60>>2]|0,c[(c[h>>2]|0)+60+4>>2]|0,0,c[k>>2]|0,(c[h>>2]|0)+4|0)|0;if(!(c[j>>2]|0))c[j>>2]=xL(c[i>>2]|0,(c[h>>2]|0)+4|0,(c[h>>2]|0)+60|0)|0;if(!(c[j>>2]|0))c[j>>2]=IQ(c[u>>2]|0)|0;c[t>>2]=c[j>>2];y=c[t>>2]|0;l=z;return y|0}function IQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+64|0;d=q+52|0;r=q+48|0;i=q+44|0;b=q+40|0;j=q+36|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;e=q+16|0;f=q+12|0;g=q+8|0;h=q;c[r>>2]=a;c[i>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[i>>2]|0)+96|0;r=a;r=_$(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=D;a=c[i>>2]|0;while(1){r=a+104|0;c[r>>2]=(c[r>>2]|0)+1;if((c[(c[i>>2]|0)+104>>2]|0)>=(c[(c[i>>2]|0)+108>>2]|0))break;r=(c[(c[i>>2]|0)+112>>2]|0)+(c[(c[i>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}a=c[i>>2]|0}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;l=q;return r|0}c[j>>2]=yL(c[b>>2]|0,(c[i>>2]|0)+4|0)|0;do if((c[j>>2]|0)==100){c[k>>2]=0;c[m>>2]=c[(c[i>>2]|0)+4+52>>2];c[n>>2]=c[(c[i>>2]|0)+4+48>>2];c[e>>2]=0;do if(c[(c[i>>2]|0)+76>>2]|0){a=c[i>>2]|0;if((c[(c[i>>2]|0)+80>>2]|0)<(c[(c[i>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[f>>2]=a;c[g>>2]=H_(c[(c[i>>2]|0)+76>>2]|0,c[(c[i>>2]|0)+4+40>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){if(c[g>>2]|0)break;if((c[(c[i>>2]|0)+4+44>>2]|0)<=(c[(c[i>>2]|0)+80>>2]|0))break}c[(c[i>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;l=q;return r|0}while(0);if(MQ(c[i>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;l=q;return r|0}m0(c[(c[i>>2]|0)+112>>2]|0,0,c[(c[i>>2]|0)+108>>2]<<4|0)|0;c[o>>2]=0;a:while(1){if((c[k>>2]|0)>=(c[m>>2]|0)){p=32;break}r=h;c[r>>2]=0;c[r+4>>2]=0;r=bM((c[n>>2]|0)+(c[k>>2]|0)|0,h)|0;c[k>>2]=(c[k>>2]|0)+r;switch(c[e>>2]|0){case 0:{r=c[(c[i>>2]|0)+112>>2]|0;g=r;c[r>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r+4>>2]=D;c[e>>2]=1;c[o>>2]=0;continue a}case 1:{r=h;g=c[r+4>>2]|0;if((g|0)>0|(g|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[i>>2]|0)+112>>2]|0)+16|0;g=r;g=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r>>2]=g;c[r+4>>2]=D}c[e>>2]=2;break}case 2:break;default:{c[o>>2]=c[h>>2];if(MQ(c[i>>2]|0,(c[o>>2]|0)+2|0)|0)break a;r=(c[(c[i>>2]|0)+112>>2]|0)+((c[o>>2]|0)+1<<4)|0;g=r;c[r>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r+4>>2]=D;c[e>>2]=2;continue a}}r=h;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[e>>2]=0;continue}r=h;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[e>>2]=3;continue}else{r=(c[(c[i>>2]|0)+112>>2]|0)+((c[o>>2]|0)+1<<4)+8|0;g=r;g=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r>>2]=g;c[r+4>>2]=D;r=(c[(c[i>>2]|0)+112>>2]|0)+8|0;g=r;g=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r>>2]=g;c[r+4>>2]=D;continue}}if((p|0)==32){c[(c[i>>2]|0)+104>>2]=0;c[j>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;l=q;return r|0}else c[(c[i>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[j>>2];r=c[d>>2]|0;l=q;return r|0}function JQ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return c[(c[b>>2]|0)+88>>2]|0}function KQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+12|0;e=g+8|0;h=g+4|0;f=g;c[i>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[i>>2];switch(c[h>>2]|0){case 0:{xi(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);l=g;return 0}case 1:{a=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){Xh(a,(c[(c[f>>2]|0)+104>>2]|0)-1|0);l=g;return 0}else{xi(a,29578,-1,0);l=g;return 0}}case 2:{i=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;Bi(c[e>>2]|0,c[i>>2]|0,c[i+4>>2]|0);l=g;return 0}case 3:{i=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;Bi(c[e>>2]|0,c[i>>2]|0,c[i+4>>2]|0);l=g;return 0}default:{Xh(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);l=g;return 0}}return 0}function LQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;l=d;return 0}function MQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Xf(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){m0((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;g=c[d>>2]|0;l=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function NQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;e=p+4|0;f=p;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[n>>2]=0;c[k>>2]=pe(16)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;l=p;return o|0}d=c[k>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[k>>2]|0)+4>>2]=1;c[m>>2]=0;while(1){if(c[n>>2]|0)break;if((c[m>>2]|0)>=(c[h>>2]|0))break;c[e>>2]=c[(c[i>>2]|0)+(c[m>>2]<<2)>>2];c[f>>2]=g$(c[e>>2]|0)|0;if((c[f>>2]|0)==19?(H_(47627,c[e>>2]|0,19)|0)==0:0)c[(c[k>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[f>>2]|0)==19?(H_(47647,c[e>>2]|0,19)|0)==0:0){c[(c[k>>2]|0)+4>>2]=0;break}if((c[f>>2]|0)>=11?(H_(47667,c[e>>2]|0,11)|0)==0:0){c[n>>2]=YQ(c[k>>2]|0,1,(c[e>>2]|0)+11|0,(c[f>>2]|0)-11|0)|0;break}if((c[f>>2]|0)>=11?(H_(47679,c[e>>2]|0,11)|0)==0:0){c[n>>2]=YQ(c[k>>2]|0,0,(c[e>>2]|0)+11|0,(c[f>>2]|0)-11|0)|0;break}c[n>>2]=1}while(0);c[m>>2]=(c[m>>2]|0)+1}if(c[n>>2]|0){OQ(c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];c[g>>2]=c[n>>2];o=c[g>>2]|0;l=p;return o|0}function OQ(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return 0}c[d>>2]=c[b>>2];_d(c[(c[d>>2]|0)+12>>2]|0);_d(c[d>>2]|0);l=e;return 0}function PQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;f=k+12|0;g=k+8|0;i=k+4|0;j=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=e;c[j>>2]=pe(28)|0;if(!(c[j>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}e=c[j>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[j>>2]|0)+4>>2]=c[f>>2];do if(c[f>>2]|0)if((c[g>>2]|0)<0){a=g$(c[f>>2]|0)|0;b=c[j>>2]|0;break}else{a=c[g>>2]|0;b=c[j>>2]|0;break}else{a=0;b=c[j>>2]|0}while(0);c[b+8>>2]=a;c[c[i>>2]>>2]=c[j>>2];c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function QQ(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];_d(c[(c[d>>2]|0)+20>>2]|0);_d(c[d>>2]|0);l=b;return 0}function RQ(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+80|0;x=A+64|0;B=A+60|0;y=A+56|0;z=A+52|0;p=A+48|0;q=A+44|0;r=A+40|0;s=A+36|0;j=A+32|0;k=A+28|0;t=A+24|0;u=A+20|0;v=A+16|0;w=A+12|0;m=A+8|0;n=A+4|0;o=A;c[B>>2]=b;c[y>>2]=e;c[z>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=c[B>>2];c[j>>2]=c[c[s>>2]>>2];c[k>>2]=0;c[u>>2]=(c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0);c[v>>2]=c[u>>2];c[m>>2]=(c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+8>>2]|0);while(1){if((c[u>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;B=c[u>>2]|0;c[u>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[22127+((c[k>>2]|0)-192)>>0];while(1){if((c[u>>2]|0)!=(c[m>>2]|0))b=((d[c[u>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[u>>2]|0;c[u>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(SQ(c[j>>2]|0,c[k>>2]|0)|0)break;c[v>>2]=c[u>>2]}if((c[v>>2]|0)>>>0>=(c[m>>2]|0)>>>0){c[x>>2]=101;B=c[x>>2]|0;l=A;return B|0}c[t>>2]=c[(c[s>>2]|0)+20>>2];while(1){if(((c[t>>2]|0)-(c[(c[s>>2]|0)+20>>2]|0)|0)>=((c[(c[s>>2]|0)+24>>2]|0)-4|0)){c[o>>2]=Xf(c[(c[s>>2]|0)+20>>2]|0,(c[(c[s>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[o>>2]|0)){b=20;break}c[t>>2]=(c[o>>2]|0)+((c[t>>2]|0)-(c[(c[s>>2]|0)+20>>2]|0));c[(c[s>>2]|0)+20>>2]=c[o>>2];B=(c[s>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[w>>2]=c[u>>2];c[n>>2]=TQ(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;do if(c[n>>2]|0){b=c[n>>2]|0;if((c[n>>2]|0)<128){B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=b;break}e=c[n>>2]|0;if((b|0)<2048){i=c[t>>2]|0;c[t>>2]=i+1;a[i>>0]=192+(e>>6&31);i=128+(c[n>>2]&63)&255;B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=i;break}b=c[n>>2]|0;if((e|0)<65536){B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[n>>2]>>6&63)&255;i=c[t>>2]|0;c[t>>2]=i+1;a[i>>0]=B;i=128+(c[n>>2]&63)&255;B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=i;break}else{i=c[t>>2]|0;c[t>>2]=i+1;a[i>>0]=240+(b>>18&7);i=128+(c[n>>2]>>12&63)&255;B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=i;B=128+(c[n>>2]>>6&63)&255;i=c[t>>2]|0;c[t>>2]=i+1;a[i>>0]=B;i=128+(c[n>>2]&63)&255;B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=i;break}}while(0);if((c[u>>2]|0)>>>0>=(c[m>>2]|0)>>>0){b=43;break}B=c[u>>2]|0;c[u>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[22127+((c[k>>2]|0)-192)>>0];while(1){if((c[u>>2]|0)!=(c[m>>2]|0))e=((d[c[u>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[u>>2]|0;c[u>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(SQ(c[j>>2]|0,c[k>>2]|0)|0)continue;if(!(UQ(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[x>>2]=7;B=c[x>>2]|0;l=A;return B|0}else if((b|0)==43){c[(c[s>>2]|0)+12>>2]=(c[u>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0);c[c[y>>2]>>2]=c[(c[s>>2]|0)+20>>2];c[c[z>>2]>>2]=(c[t>>2]|0)-(c[(c[s>>2]|0)+20>>2]|0);c[c[p>>2]>>2]=(c[v>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=(c[w>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0);z=(c[s>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[r>>2]>>2]=B;c[x>>2]=0;B=c[x>>2]|0;l=A;return B|0}return 0}function SQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=WQ(c[e>>2]|0)|0;b=b^(XQ(c[f>>2]|0,c[e>>2]|0)|0);l=d;return b|0}function TQ(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;f=p;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[g>>2];a=c[g>>2]|0;if((c[g>>2]|0)<128){if(!((a|0)>=65&(c[g>>2]|0)<=90)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=(c[g>>2]|0)+32;o=c[i>>2]|0;l=p;return o|0}if((a|0)>=65536){if(!((c[g>>2]|0)>=66560&(c[g>>2]|0)<66600)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=(c[g>>2]|0)+40;o=c[i>>2]|0;l=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[m>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[n>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[o>>2]=(c[g>>2]|0)-(e[17070+(c[n>>2]<<2)>>1]|0);a=c[n>>2]|0;if((c[o>>2]|0)>=0){c[m>>2]=a;c[k>>2]=(c[n>>2]|0)+1;continue}else{c[j>>2]=a-1;continue}}if(((c[m>>2]|0)>=0?(c[f>>2]=17070+(c[m>>2]<<2),(c[g>>2]|0)<((e[c[f>>2]>>1]|0)+(d[(c[f>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[f>>2]|0)+2>>0]|0)&((e[c[f>>2]>>1]|0)^c[g>>2])|0):0)c[i>>2]=(c[g>>2]|0)+(e[17722+((d[(c[f>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[h>>2]|0)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=VQ(c[i>>2]|0)|0;o=c[i>>2]|0;l=p;return o|0}function UQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;e=g+8|0;b=g+4|0;d=g;c[e>>2]=a;c[b>>2]=134389727;c[d>>2]=221688;if((c[e>>2]|0)<768|(c[e>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}if((c[e>>2]|0)<800){b=c[b>>2]|0;a=(c[e>>2]|0)-768|0}else{b=c[d>>2]|0;a=(c[e>>2]|0)-768-32|0}c[f>>2]=b&1<>2]|0;l=g;return f|0}function VQ(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+336|0;g=p+20|0;h=p+24|0;i=p+226|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;o=p;c[g>>2]=b;h0(h|0,18682,202)|0;b=i;d=48822;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[j>>2]=c[g>>2]<<3|7;c[k>>2]=0;c[m>>2]=100;c[n>>2]=0;while(1){if((c[m>>2]|0)<(c[n>>2]|0))break;c[o>>2]=((c[m>>2]|0)+(c[n>>2]|0)|0)/2|0;b=c[o>>2]|0;if((c[j>>2]|0)>>>0>=(e[h+(c[o>>2]<<1)>>1]|0)>>>0){c[k>>2]=b;c[n>>2]=(c[o>>2]|0)+1;continue}else{c[m>>2]=b-1;continue}}if((c[g>>2]|0)>((e[h+(c[k>>2]<<1)>>1]>>3)+(e[h+(c[k>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;l=p;return o|0}else{o=a[i+(c[k>>2]|0)>>0]|0;l=p;return o|0}return 0}function WQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[6940+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;i=c[b>>2]|0;l=j;return i|0}if((a|0)>=4194304){c[b>>2]=1;i=c[b>>2]|0;l=j;return i|0}c[e>>2]=c[d>>2]<<10|1023;c[f>>2]=0;c[g>>2]=405;c[h>>2]=0;while(1){if((c[g>>2]|0)<(c[h>>2]|0))break;c[i>>2]=((c[g>>2]|0)+(c[h>>2]|0)|0)/2|0;a=c[i>>2]|0;if((c[e>>2]|0)>>>0>=(c[6956+(c[i>>2]<<2)>>2]|0)>>>0){c[f>>2]=a;c[h>>2]=(c[i>>2]|0)+1;continue}else{c[g>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[6956+(c[f>>2]<<2)>>2]|0)>>>10)+(c[6956+(c[f>>2]<<2)>>2]&1023)|0)>>>0&1;i=c[b>>2]|0;l=j;return i|0}function XQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+24|0;d=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[h>>2]=0;c[i>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[i>>2]|0)<(c[h>>2]|0))break a;c[j>>2]=((c[i>>2]|0)+(c[h>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0))break;a=c[j>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)){c[h>>2]=a+1;continue}else{c[i>>2]=a-1;continue}}c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}while(0);c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function YQ(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;p=t+48|0;q=t+44|0;r=t+40|0;h=t+36|0;u=t+32|0;s=t+28|0;i=t+24|0;j=t+20|0;g=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[q>>2]=a;c[r>>2]=b;c[h>>2]=e;c[u>>2]=f;c[s>>2]=c[h>>2];c[i>>2]=(c[s>>2]|0)+(c[u>>2]|0);c[g>>2]=0;while(1){if((c[s>>2]|0)>>>0>=(c[i>>2]|0)>>>0)break;u=c[s>>2]|0;c[s>>2]=u+1;c[j>>2]=d[u>>0];do if((c[j>>2]|0)>=192){c[j>>2]=d[22127+((c[j>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[i>>2]|0))a=((d[c[s>>2]>>0]|0)&192|0)==128;else a=0;b=c[j>>2]|0;if(!a)break;u=c[s>>2]|0;c[s>>2]=u+1;c[j>>2]=(b<<6)+(63&(d[u>>0]|0))}if(((b|0)>=128?(c[j>>2]&-2048|0)!=55296:0)?(c[j>>2]&-2|0)!=65534:0)break;c[j>>2]=65533}while(0);u=WQ(c[j>>2]|0)|0;if((u|0)==(c[r>>2]|0))continue;if(UQ(c[j>>2]|0)|0)continue;c[g>>2]=(c[g>>2]|0)+1}if(c[g>>2]|0){c[k>>2]=Xf(c[(c[q>>2]|0)+12>>2]|0,(c[(c[q>>2]|0)+8>>2]|0)+(c[g>>2]|0)<<2)|0;if(!(c[k>>2]|0)){c[p>>2]=7;u=c[p>>2]|0;l=t;return u|0}c[m>>2]=c[(c[q>>2]|0)+8>>2];c[s>>2]=c[h>>2];while(1){if((c[s>>2]|0)>>>0>=(c[i>>2]|0)>>>0)break;u=c[s>>2]|0;c[s>>2]=u+1;c[j>>2]=d[u>>0];do if((c[j>>2]|0)>=192){c[j>>2]=d[22127+((c[j>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[i>>2]|0))b=((d[c[s>>2]>>0]|0)&192|0)==128;else b=0;a=c[j>>2]|0;if(!b)break;u=c[s>>2]|0;c[s>>2]=u+1;c[j>>2]=(a<<6)+(63&(d[u>>0]|0))}if(((a|0)>=128?(c[j>>2]&-2048|0)!=55296:0)?(c[j>>2]&-2|0)!=65534:0)break;c[j>>2]=65533}while(0);u=WQ(c[j>>2]|0)|0;if((u|0)==(c[r>>2]|0))continue;if(UQ(c[j>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)<=(c[n>>2]|0))break;c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[k>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[o>>2]=(c[o>>2]|0)+-1}c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=c[j>>2];c[m>>2]=(c[m>>2]|0)+1}c[(c[q>>2]|0)+12>>2]=c[k>>2];c[(c[q>>2]|0)+8>>2]=c[m>>2]}c[p>>2]=0;u=c[p>>2]|0;l=t;return u|0}function ZQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[f>>2]=0;c[f>>2]=pe(48)|0;if(!(c[f>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;l=h;return g|0}c[g>>2]=c[f>>2];a=c[f>>2]|0;b=a+48|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[(c[f>>2]|0)+16>>2]=c[d>>2];c[c[f>>2]>>2]=2;c[(c[f>>2]|0)+12>>2]=149;c[(c[f>>2]|0)+4>>2]=150;c[(c[f>>2]|0)+8>>2]=152;c[e>>2]=LJ(c[d>>2]|0,47730,8580,c[g>>2]|0,163)|0;if(!(c[e>>2]|0))c[e>>2]=cR(c[d>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=dR(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=eR(c[f>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=fR(c[f>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=gR(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=XJ(c[d>>2]|0,47730,0,1,c[g>>2]|0,234,0,0)|0;if(c[e>>2]|0){g=c[e>>2]|0;l=h;return g|0}c[e>>2]=XJ(c[d>>2]|0,47735,0,1,c[g>>2]|0,235,0,0)|0;g=c[e>>2]|0;l=h;return g|0}function _Q(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;g=q+16|0;h=q+12|0;i=q+8|0;j=q+4|0;k=q;c[r>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[g>>2]=c[r>>2];c[h>>2]=ZJ(c[(c[g>>2]|0)+16>>2]|0,c[m>>2]|0,-1)|0;if(c[h>>2]|0){r=c[h>>2]|0;l=q;return r|0}c[j>>2]=(g$(c[m>>2]|0)|0)+1;c[k>>2]=24+(c[j>>2]|0);c[i>>2]=pe(c[k>>2]|0)|0;if(c[i>>2]|0){m0(c[i>>2]|0,0,c[k>>2]|0)|0;c[(c[i>>2]|0)+4>>2]=(c[i>>2]|0)+24;h0(c[(c[i>>2]|0)+4>>2]|0,c[m>>2]|0,c[j>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];c[(c[i>>2]|0)+8>>2]=c[n>>2];c[(c[i>>2]|0)+12>>2]=c[o>>2];c[(c[i>>2]|0)+16>>2]=c[p>>2];c[(c[i>>2]|0)+20>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+32>>2]=c[i>>2];r=c[h>>2]|0;l=q;return r|0}else{c[h>>2]=7;r=c[h>>2]|0;l=q;return r|0}return 0}function $Q(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;g=q+16|0;h=q+12|0;i=q+8|0;j=q+4|0;k=q;c[r>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[g>>2]=c[r>>2];c[k>>2]=0;c[i>>2]=(g$(c[m>>2]|0)|0)+1;c[j>>2]=28+(c[i>>2]|0);c[h>>2]=pe(c[j>>2]|0)|0;if(!(c[h>>2]|0)){c[k>>2]=7;r=c[k>>2]|0;l=q;return r|0}m0(c[h>>2]|0,0,c[j>>2]|0)|0;c[c[h>>2]>>2]=(c[h>>2]|0)+28;h0(c[c[h>>2]>>2]|0,c[m>>2]|0,c[i>>2]|0)|0;c[(c[h>>2]|0)+4>>2]=c[n>>2];r=(c[h>>2]|0)+8|0;o=c[o>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];c[(c[h>>2]|0)+20>>2]=c[p>>2];c[(c[h>>2]|0)+24>>2]=c[(c[g>>2]|0)+36>>2];c[(c[g>>2]|0)+36>>2]=c[h>>2];if(c[(c[h>>2]|0)+24>>2]|0){r=c[k>>2]|0;l=q;return r|0}c[(c[g>>2]|0)+40>>2]=c[h>>2];r=c[k>>2]|0;l=q;return r|0}function aR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;m=i+20|0;k=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;c[m>>2]=a;c[k>>2]=b;c[f>>2]=d;c[j>>2]=e;c[g>>2]=0;c[h>>2]=tW(c[m>>2]|0,c[k>>2]|0)|0;a=c[j>>2]|0;if(c[h>>2]|0){m=(c[h>>2]|0)+8|0;c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+4>>2];m=c[g>>2]|0;l=i;return m|0}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[g>>2]=1;m=c[g>>2]|0;l=i;return m|0}return 0}function bR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+20|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[g>>2]=c[i>>2];c[e>>2]=c[(c[g>>2]|0)+32>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+20>>2];if(c[(c[e>>2]|0)+16>>2]|0)Eb[c[(c[e>>2]|0)+16>>2]&255](c[(c[e>>2]|0)+8>>2]|0);_d(c[e>>2]|0);c[e>>2]=c[f>>2]}c[b>>2]=c[(c[g>>2]|0)+36>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+24>>2];if(c[(c[b>>2]|0)+20>>2]|0)Eb[c[(c[b>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+4>>2]|0);_d(c[b>>2]|0);c[b>>2]=c[d>>2]}_d(c[g>>2]|0);l=h;return}function cR(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=XJ(c[b>>2]|0,50433,2,1,0,236,0,0)|0;if(!(c[d>>2]|0))c[d>>2]=XJ(c[b>>2]|0,50445,2,1,c[b>>2]|0,236,0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;l=e;return d|0}c[d>>2]=XJ(c[b>>2]|0,50462,-1,1,0,237,0,0)|0;d=c[d>>2]|0;l=e;return d|0}function dR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+64|0;k=j+52|0;d=j+48|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[d>>2]=b;c[e>>2]=c[2627];c[e+4>>2]=c[2628];c[e+8>>2]=c[2629];c[e+12>>2]=c[2630];c[e+16>>2]=c[2631];c[e+20>>2]=c[2632];c[e+24>>2]=c[2633];c[e+28>>2]=c[2634];c[g>>2]=0;c[h>>2]=c[k>>2];c[f>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[f>>2]|0)<4:0))break;c[i>>2]=e+(c[f>>2]<<3);c[g>>2]=XJ(c[d>>2]|0,c[c[i>>2]>>2]|0,-1,1,c[h>>2]|0,c[(c[i>>2]|0)+4>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}l=j;return c[g>>2]|0}function eR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+64|0;e=i+56|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;a=f;b=10460;d=a+48|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));c[g>>2]=0;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<3:0))break;c[g>>2]=Nb[c[(c[e>>2]|0)+12>>2]&255](c[e>>2]|0,c[f+(c[h>>2]<<4)>>2]|0,c[f+(c[h>>2]<<4)+4>>2]|0,c[f+(c[h>>2]<<4)+8>>2]|0,c[f+(c[h>>2]<<4)+12>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+1}l=i;return c[g>>2]|0}function fR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+64|0;e=i+56|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;a=f;b=8772;d=a+48|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));c[g>>2]=0;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<3:0))break;c[g>>2]=Nb[c[(c[e>>2]|0)+4>>2]&255](c[e>>2]|0,c[f+(c[h>>2]<<4)>>2]|0,c[e>>2]|0,f+(c[h>>2]<<4)+4|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}l=i;return c[g>>2]|0}function gR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];b=LJ(c[f>>2]|0,47817,8672,c[e>>2]|0,0)|0;l=d;return b|0}function hR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+32|0;h=f+12|0;i=f;g=f+16|0;c[h>>2]=b;c[f+8>>2]=d;c[f+4>>2]=e;c[i>>2]=Qh(c[h>>2]|0)|0;a[g>>0]=a[i>>0]|0;a[g+1>>0]=a[i+1>>0]|0;a[g+2>>0]=a[i+2>>0]|0;a[g+3>>0]=a[i+3>>0]|0;mj(c[h>>2]|0,g,4,-1);l=f;return}function iR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;xi(c[f>>2]|0,47750,-1,-1);l=e;return}function jR(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=RT(c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function kR(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=RT(c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function lR(a,b){a=a|0;b=b|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;n=q+28|0;g=q+24|0;i=q+20|0;j=q+16|0;k=q+12|0;o=q+8|0;m=q+4|0;f=q;c[q+32>>2]=a;c[n>>2]=b;c[i>>2]=-1;c[j>>2]=-1;c[k>>2]=-1;c[o>>2]=0;c[m>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[f>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);if(d[(c[f>>2]|0)+5>>0]|0|0?(c[c[f>>2]>>2]|0)==0:0){if((d[(c[f>>2]|0)+4>>0]|0|0)==2)c[i>>2]=c[g>>2];if((d[(c[f>>2]|0)+4>>0]|0|0)==8)c[k>>2]=c[g>>2];if((d[(c[f>>2]|0)+4>>0]|0|0)==16)c[k>>2]=c[g>>2];if((d[(c[f>>2]|0)+4>>0]|0|0)==32)c[j>>2]=c[g>>2];if((d[(c[f>>2]|0)+4>>0]|0|0)==4)c[j>>2]=c[g>>2]}c[g>>2]=(c[g>>2]|0)+1}if((c[i>>2]|0)<0){h[(c[n>>2]|0)+40>>3]=1.0e6;if((c[j>>2]|0)>=0){c[o>>2]=c[o>>2]|2;i=(c[m>>2]|0)+1|0;c[m>>2]=i;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=i;h[(c[n>>2]|0)+40>>3]=+h[(c[n>>2]|0)+40>>3]/2.0}if((c[k>>2]|0)>=0){c[o>>2]=c[o>>2]|4;a=(c[m>>2]|0)+1|0;c[m>>2]=a;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=a;e=+h[(c[n>>2]|0)+40>>3]/2.0;a=c[n>>2]|0;p=22}}else{c[o>>2]=c[o>>2]|1;a=(c[m>>2]|0)+1|0;c[m>>2]=a;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[i>>2]<<3)>>2]=a;e=100.0;a=c[n>>2]|0;p=22}if((p|0)==22)h[a+40>>3]=e;if((c[(c[n>>2]|0)+8>>2]|0)!=1){o=c[o>>2]|0;p=c[n>>2]|0;p=p+20|0;c[p>>2]=o;l=q;return 0}if(c[c[(c[n>>2]|0)+12>>2]>>2]|0){o=c[o>>2]|0;p=c[n>>2]|0;p=p+20|0;c[p>>2]=o;l=q;return 0}if(d[(c[(c[n>>2]|0)+12>>2]|0)+4>>0]|0|0){o=c[o>>2]|0;p=c[n>>2]|0;p=p+20|0;c[p>>2]=o;l=q;return 0}c[(c[n>>2]|0)+32>>2]=1;o=c[o>>2]|0;p=c[n>>2]|0;p=p+20|0;c[p>>2]=o;l=q;return 0}function mR(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];_d(c[d>>2]|0);l=b;return 0}function nR(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];_d(c[d>>2]|0);l=b;return 0}function oR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+80|0;p=q+24|0;r=q+8|0;g=q+68|0;h=q+64|0;i=q+60|0;j=q+56|0;k=q+52|0;m=q+48|0;n=q+44|0;o=q+40|0;d=q+36|0;e=q;f=q+32|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[g>>2];c[j>>2]=0;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[d>>2]=0;s=c[(c[i>>2]|0)+16>>2]|0;a=c[(c[i>>2]|0)+12>>2]|0;b=c[(c[i>>2]|0)+12>>2]|0;c[r>>2]=c[(c[i>>2]|0)+12>>2];c[r+4>>2]=s;c[r+8>>2]=a;c[r+12>>2]=b;c[d>>2]=ET(n,48218,r)|0;if(c[d>>2]|0)c[n>>2]=zv(c[(c[i>>2]|0)+20>>2]|0,c[d>>2]|0,-1,o,0)|0;_d(c[d>>2]|0);if((c[n>>2]|0)==1)c[n>>2]=0;if(c[o>>2]|0?(Bs(c[o>>2]|0)|0)==100:0){r=jJ(c[o>>2]|0,0)|0;s=e;c[s>>2]=r;c[s+4>>2]=D;s=e;c[j>>2]=PT(c[(c[i>>2]|0)+24>>2]|0,c[s>>2]|0,c[s+4>>2]|0,k)|0}if((c[n>>2]|0)==0&(c[j>>2]|0)==0?(c[n>>2]=Fr(c[o>>2]|0)|0,c[o>>2]=0,(c[n>>2]|0)==0):0){s=c[(c[i>>2]|0)+12>>2]|0;c[p>>2]=c[(c[i>>2]|0)+16>>2];c[p+4>>2]=s;s=nf(48269,p)|0;c[(c[g>>2]|0)+8>>2]=s;c[n>>2]=1}if(!(c[n>>2]|0)){c[f>>2]=(c[(c[k>>2]|0)+12>>2]<<3<<1)+72;c[m>>2]=dT(n,c[f>>2]|0)|0}if(c[m>>2]|0){c[(c[m>>2]|0)+8>>2]=c[j>>2];c[(c[m>>2]|0)+4>>2]=c[o>>2];c[(c[m>>2]|0)+28>>2]=c[k>>2];c[(c[m>>2]|0)+36>>2]=(c[m>>2]|0)+72;c[(c[m>>2]|0)+40>>2]=(c[(c[m>>2]|0)+36>>2]|0)+(c[(c[k>>2]|0)+12>>2]<<3);r=c[m>>2]|0;s=c[h>>2]|0;c[s>>2]=r;s=c[n>>2]|0;l=q;return s|0}else{Fr(c[o>>2]|0)|0;r=c[m>>2]|0;s=c[h>>2]|0;c[s>>2]=r;s=c[n>>2]|0;l=q;return s|0}return 0}function pR(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];eS(c[d>>2]|0);nS((c[d>>2]|0)+56|0);Fr(c[(c[d>>2]|0)+4>>2]|0)|0;_d(c[d>>2]|0);l=b;return 0}function qR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+56|0;s=u+52|0;t=u+40|0;g=u+36|0;h=u+32|0;i=u+28|0;j=u+24|0;k=u+20|0;m=u+16|0;n=u+12|0;o=u+8|0;p=u+4|0;q=u;c[r>>2]=a;c[s>>2]=b;c[u+48>>2]=d;c[u+44>>2]=e;c[t>>2]=f;c[g>>2]=c[r>>2];c[h>>2]=0;c[i>>2]=0;c[j>>2]=8;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;eS(c[g>>2]|0);if(c[s>>2]&1|0){e=c[t>>2]|0;f=c[i>>2]|0;c[i>>2]=f+1;c[n>>2]=c[e+(f<<2)>>2]}if(c[s>>2]&2|0){e=c[t>>2]|0;f=c[i>>2]|0;c[i>>2]=f+1;c[o>>2]=c[e+(f<<2)>>2]}if(c[s>>2]&4|0){s=c[t>>2]|0;t=c[i>>2]|0;c[i>>2]=t+1;c[p>>2]=c[s+(t<<2)>>2]}do if(!(c[n>>2]|0)){if(c[o>>2]|0){c[k>>2]=Rh(c[o>>2]|0)|0;c[m>>2]=Sh(c[o>>2]|0)|0}if(c[p>>2]|0){c[q>>2]=Rh(c[p>>2]|0)|0;t=Sh(c[p>>2]|0)|0;c[(c[g>>2]|0)+20>>2]=t;t=pe((c[(c[g>>2]|0)+20>>2]|0)+1|0)|0;c[(c[g>>2]|0)+24>>2]=t;if(!(c[(c[g>>2]|0)+24>>2]|0)){c[h>>2]=7;break}else{h0(c[(c[g>>2]|0)+24>>2]|0,c[q>>2]|0,(c[(c[g>>2]|0)+20>>2]|0)+1|0)|0;break}}}else{c[k>>2]=Rh(c[n>>2]|0)|0;c[m>>2]=Sh(c[n>>2]|0)|0;c[j>>2]=0}while(0);if(!(c[h>>2]|0))c[h>>2]=fS(c[(c[g>>2]|0)+8>>2]|0,c[k>>2]|0,c[m>>2]|0,c[j>>2]|0,0,(c[g>>2]|0)+16|0)|0;if(c[h>>2]|0){t=c[h>>2]|0;l=u;return t|0}c[h>>2]=rR(c[r>>2]|0)|0;t=c[h>>2]|0;l=u;return t|0}function rR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+80|0;g=u+64|0;v=u+60|0;o=u+56|0;p=u+52|0;q=u+48|0;r=u+44|0;s=u+40|0;t=u+36|0;f=u+32|0;e=u+28|0;h=u+24|0;i=u+20|0;j=u;k=u+16|0;m=u+12|0;n=u+8|0;c[v>>2]=b;c[o>>2]=c[v>>2];c[p>>2]=c[c[v>>2]>>2];c[q>>2]=0;c[r>>2]=c[(c[(c[o>>2]|0)+28>>2]|0)+12>>2];b=(c[o>>2]|0)+48|0;v=b;v=_$(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;c[b>>2]=v;c[b+4>>2]=D;a:do if(!(c[(c[p>>2]|0)+28>>2]|0)){b=c[o>>2]|0;while(1){v=b+32|0;c[v>>2]=(c[v>>2]|0)+1;if((c[(c[o>>2]|0)+32>>2]|0)>=(c[r>>2]|0))break a;v=(c[(c[o>>2]|0)+40>>2]|0)+(c[(c[o>>2]|0)+32>>2]<<3)|0;if((c[v>>2]|0)!=0|(c[v+4>>2]|0)!=0)break a;b=c[o>>2]|0}}while(0);if(!((c[(c[p>>2]|0)+28>>2]|0)!=1?(c[(c[o>>2]|0)+32>>2]|0)<(c[r>>2]|0):0))d=8;b:do if((d|0)==8){b=c[o>>2]|0;if(a[(c[(c[o>>2]|0)+16>>2]|0)+16>>0]|0){c[b+12>>2]=1;break}c[s>>2]=vR(c[b+16>>2]|0,t)|0;do if((c[(c[o>>2]|0)+20>>2]|0)>=0){if((c[t>>2]|0)<(c[(c[o>>2]|0)+20>>2]|0))b=c[t>>2]|0;else b=c[(c[o>>2]|0)+20>>2]|0;c[f>>2]=b;c[e>>2]=H_(c[(c[o>>2]|0)+24>>2]|0,c[s>>2]|0,c[f>>2]|0)|0;if((c[e>>2]|0)>=0){if(c[e>>2]|0)break;if((c[(c[o>>2]|0)+20>>2]|0)>=(c[t>>2]|0))break}c[(c[o>>2]|0)+12>>2]=1;c[g>>2]=0;v=c[g>>2]|0;l=u;return v|0}while(0);wR(q,(c[o>>2]|0)+56|0,c[t>>2]|0,c[s>>2]|0);m0(c[(c[o>>2]|0)+36>>2]|0,0,c[r>>2]<<3|0)|0;m0(c[(c[o>>2]|0)+40>>2]|0,0,c[r>>2]<<3|0)|0;c[(c[o>>2]|0)+32>>2]=0;c:while(1){if(c[q>>2]|0)break b;while(1){v=j;c[v>>2]=0;c[v+4>>2]=0;c[k>>2]=0;c[h>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2];c[i>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2];d:do switch(c[(c[(c[o>>2]|0)+28>>2]|0)+48>>2]|0){case 0:{c[h>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2];c[i>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2];if((c[(c[p>>2]|0)+28>>2]|0)==1){while(1){v=0==(xR(c[h>>2]|0,c[i>>2]|0,k,j)|0);b=c[o>>2]|0;if(!v)break;v=c[b+36>>2]|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D}v=c[b+40>>2]|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D;break d}c[m>>2]=-1;while(1){if(xR(c[h>>2]|0,c[i>>2]|0,k,j)|0)break d;v=j;v=e0(c[v>>2]|0,c[v+4>>2]|0,32)|0;c[n>>2]=v;v=(c[(c[o>>2]|0)+36>>2]|0)+(c[n>>2]<<3)|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D;if((c[m>>2]|0)==(c[n>>2]|0))continue;if((c[n>>2]|0)>=(c[r>>2]|0))break;v=(c[(c[o>>2]|0)+40>>2]|0)+(c[n>>2]<<3)|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D;c[m>>2]=c[n>>2]}c[q>>2]=267;break}case 2:{if((c[(c[p>>2]|0)+28>>2]|0)==1){v=c[(c[o>>2]|0)+40>>2]|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D;break d}while(1){if(xR(c[h>>2]|0,c[i>>2]|0,k,j)|0)break d;f=j;d=c[f+4>>2]|0;v=c[r>>2]|0;e=((v|0)<0)<<31>>31;if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>=v>>>0:0))break;v=(c[(c[o>>2]|0)+40>>2]|0)+(c[j>>2]<<3)|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D}c[q>>2]=267;break}default:{v=c[(c[o>>2]|0)+40>>2]|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D}}while(0);if(!(c[q>>2]|0))c[q>>2]=yR(c[(c[o>>2]|0)+16>>2]|0)|0;if(c[q>>2]|0)continue c;c[s>>2]=vR(c[(c[o>>2]|0)+16>>2]|0,t)|0;if((c[t>>2]|0)!=(c[(c[o>>2]|0)+56+4>>2]|0))break b;if(H_(c[s>>2]|0,c[(c[o>>2]|0)+56>>2]|0,c[t>>2]|0)|0)break b;if(!((c[q>>2]|0)==0?(a[(c[(c[o>>2]|0)+16>>2]|0)+16>>0]|0)==0:0))break b}}}while(0);e:do if(((c[q>>2]|0)==0?(c[(c[o>>2]|0)+12>>2]|0)==0:0)?(c[(c[p>>2]|0)+28>>2]|0)==0:0)while(1){v=(c[(c[o>>2]|0)+40>>2]|0)+(c[(c[o>>2]|0)+32>>2]<<3)|0;if(!((c[v>>2]|0)==0&(c[v+4>>2]|0)==0))break e;v=(c[o>>2]|0)+32|0;c[v>>2]=(c[v>>2]|0)+1}while(0);c[g>>2]=c[q>>2];v=c[g>>2]|0;l=u;return v|0}function sR(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return c[(c[b>>2]|0)+12>>2]|0}function tR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;n=m+32|0;j=m+28|0;h=m+24|0;i=m+20|0;f=m+16|0;g=m+12|0;k=m;e=m+8|0;c[n>>2]=a;c[j>>2]=b;c[h>>2]=d;c[i>>2]=c[n>>2];c[f>>2]=c[(c[(c[i>>2]|0)+28>>2]|0)+48>>2];c[g>>2]=c[(c[c[n>>2]>>2]|0)+28>>2];d=k;c[d>>2]=0;c[d+4>>2]=0;do if(c[h>>2]|0){b=(c[h>>2]|0)==1;if(c[g>>2]|0){a=c[i>>2]|0;if(b){h=c[a+40>>2]|0;i=c[h+4>>2]|0;n=k;c[n>>2]=c[h>>2];c[n+4>>2]=i;break}else{h=c[a+36>>2]|0;i=c[h+4>>2]|0;n=k;c[n>>2]=c[h>>2];c[n+4>>2]=i;break}}if(b){if((c[f>>2]|0)==1)break;c[e>>2]=c[(c[(c[(c[i>>2]|0)+28>>2]|0)+16>>2]|0)+(c[(c[i>>2]|0)+32>>2]<<2)>>2];xi(c[j>>2]|0,c[e>>2]|0,-1,0);break}a=c[i>>2]|0;if((c[h>>2]|0)==2){h=(c[a+40>>2]|0)+(c[(c[i>>2]|0)+32>>2]<<3)|0;i=c[h+4>>2]|0;n=k;c[n>>2]=c[h>>2];c[n+4>>2]=i;break}else{h=(c[a+36>>2]|0)+(c[(c[i>>2]|0)+32>>2]<<3)|0;i=c[h+4>>2]|0;n=k;c[n>>2]=c[h>>2];c[n+4>>2]=i;break}}else xi(c[j>>2]|0,c[(c[i>>2]|0)+56>>2]|0,c[(c[i>>2]|0)+56+4>>2]|0,-1);while(0);n=k;i=c[n+4>>2]|0;if(!((i|0)>0|(i|0)==0&(c[n>>2]|0)>>>0>0)){l=m;return 0}n=k;Bi(c[j>>2]|0,c[n>>2]|0,c[n+4>>2]|0);l=m;return 0}function uR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+48|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;l=d;return 0}function vR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[d>>2]=dS(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=(c[g>>2]|0)-1;l=e;return (c[d>>2]|0)+1|0}function wR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[i>>2]|0)+4>>2]=0;bS(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return}function xR(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;i=o+32|0;j=o+28|0;p=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;g=o;h=o+8|0;c[j>>2]=a;c[p>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=c[c[k>>2]>>2];a=c[m>>2]|0;if((c[n>>2]|0)>=(c[p>>2]|0)){p=a;c[p>>2]=-1;c[p+4>>2]=-1;c[i>>2]=1;p=c[i>>2]|0;l=o;return p|0}e=a;p=c[e+4>>2]|0;f=g;c[f>>2]=c[e>>2];c[f+4>>2]=p;f=c[j>>2]|0;p=c[n>>2]|0;c[n>>2]=p+1;c[h>>2]=d[f+p>>0];if(c[h>>2]&128|0){c[n>>2]=(c[n>>2]|0)+-1;p=VR((c[j>>2]|0)+(c[n>>2]|0)|0,h)|0;c[n>>2]=(c[n>>2]|0)+p}if((c[h>>2]|0)==1){f=c[j>>2]|0;p=c[n>>2]|0;c[n>>2]=p+1;c[h>>2]=d[f+p>>0];if(c[h>>2]&128|0){c[n>>2]=(c[n>>2]|0)+-1;p=VR((c[j>>2]|0)+(c[n>>2]|0)|0,h)|0;c[n>>2]=(c[n>>2]|0)+p}p=c[h>>2]|0;f=g;c[f>>2]=0;c[f+4>>2]=p;f=c[j>>2]|0;p=c[n>>2]|0;c[n>>2]=p+1;c[h>>2]=d[f+p>>0];if(c[h>>2]&128|0){c[n>>2]=(c[n>>2]|0)+-1;p=VR((c[j>>2]|0)+(c[n>>2]|0)|0,h)|0;c[n>>2]=(c[n>>2]|0)+p}}p=g;j=(c[h>>2]|0)-2|0;j=_$(c[p>>2]|0,c[p+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;p=c[m>>2]|0;c[p>>2]=j;c[p+4>>2]=D;c[c[k>>2]>>2]=c[n>>2];c[i>>2]=0;p=c[i>>2]|0;l=o;return p|0}function yR(b){b=b|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;j=h+12|0;f=h+8|0;i=h+4|0;g=h;c[j>>2]=b;c[f>>2]=c[j>>2];c[i>>2]=c[(c[f>>2]|0)+24>>2];zR(c[i>>2]|0,c[f>>2]|0,0,0,0);if(((c[(c[i>>2]|0)+36>>2]|0)==0?(c[g>>2]=(c[f>>2]|0)+80+((e[(c[(c[f>>2]|0)+72>>2]|0)+4>>1]|0)*88|0),c[(c[g>>2]|0)+12>>2]|0):0)?(d[c[(c[g>>2]|0)+60>>2]>>0]|0|0)!=48:0){AR(c[(c[g>>2]|0)+12>>2]|0);c[(c[g>>2]|0)+12>>2]=0;a[(c[f>>2]|0)+16>>0]=1}j=BR(c[(c[f>>2]|0)+24>>2]|0)|0;l=h;return j|0}function zR(a,b,f,g,h){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;m=r+32|0;n=r+28|0;s=r+24|0;o=r;p=r+20|0;i=r+16|0;j=r+12|0;k=r+8|0;c[m>>2]=a;c[n>>2]=b;c[s>>2]=f;f=o;c[f>>2]=g;c[f+4>>2]=h;c[p>>2]=c[s>>2];while(1){if(c[(c[m>>2]|0)+36>>2]|0){q=14;break}c[i>>2]=e[(c[(c[n>>2]|0)+72>>2]|0)+4>>1];c[j>>2]=0;c[k>>2]=(c[n>>2]|0)+80+((c[i>>2]|0)*88|0);if(c[p>>2]|0?c[(c[k>>2]|0)+56>>2]|0:0){s=o;CR(c[m>>2]|0,c[k>>2]|0,c[s>>2]|0,c[s+4>>2]|0)}else Ib[c[(c[k>>2]|0)+24>>2]&255](c[m>>2]|0,c[k>>2]|0,j);if(!(!(c[j>>2]|0?1:(c[(c[k>>2]|0)+12>>2]|0)==0)?!(DR(c[n>>2]|0,c[i>>2]|0,k)|0):0))q=9;if((q|0)==9?(q=0,ER(c[m>>2]|0,c[n>>2]|0,c[i>>2]|0,1),FR(c[n>>2]|0),c[k>>2]=(c[n>>2]|0)+80+((e[(c[(c[n>>2]|0)+72>>2]|0)+4>>1]|0)*88|0),(c[(c[k>>2]|0)+12>>2]|0)==0):0){q=14;break}if(!(d[(c[n>>2]|0)+60>>0]|0)){q=12;break}if(c[(c[k>>2]|0)+80>>2]|0){q=12;break}c[p>>2]=0}if((q|0)==12){Fb[c[(c[n>>2]|0)+48>>2]&255](c[n>>2]|0,c[k>>2]|0);l=r;return}else if((q|0)==14){l=r;return}}function AR(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return}function BR(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+36>>2];c[(c[e>>2]|0)+36>>2]=0;l=d;return c[b>>2]|0}function CR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+28|0;h=n+24|0;i=n;j=n+20|0;k=n+16|0;m=n+12|0;f=n+8|0;c[g>>2]=a;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2]&2;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[h>>2]|0)+8>>2];c[f>>2]=1;if(!(c[j>>2]|0)){while(1){if(IR(c[g>>2]|0,c[k>>2]|0)|0)break;a=i;d=c[a>>2]|0;a=c[a+4>>2]|0;e=JR(c[k>>2]|0)|0;b=D;if(!((a|0)>(b|0)|(a|0)==(b|0)&d>>>0>e>>>0))break;c[m>>2]=KR(c[k>>2]|0)|0;LR(c[g>>2]|0,c[k>>2]|0)|0}if((c[m>>2]|0)>(c[(c[h>>2]|0)+8>>2]|0)){MR(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0);c[f>>2]=0}}else{while(1){if(IR(c[g>>2]|0,c[k>>2]|0)|0)break;a=i;d=c[a>>2]|0;a=c[a+4>>2]|0;e=JR(c[k>>2]|0)|0;b=D;if(!((a|0)<(b|0)|(a|0)==(b|0)&d>>>0>>0))break;NR(c[g>>2]|0,c[k>>2]|0)|0}c[m>>2]=KR(c[k>>2]|0)|0;if((c[m>>2]|0)<(c[(c[h>>2]|0)+8>>2]|0)){c[(c[h>>2]|0)+8>>2]=(c[m>>2]|0)+1;OR(c[g>>2]|0,c[h>>2]|0);c[f>>2]=0}}while(1){if(c[f>>2]|0?(c[(c[g>>2]|0)+36>>2]|0)==0:0)Ib[c[(c[h>>2]|0)+24>>2]&255](c[g>>2]|0,c[h>>2]|0,0);if(!(c[(c[h>>2]|0)+12>>2]|0)){a=21;break}if((c[j>>2]|0)==0?(k=(c[h>>2]|0)+72|0,d=c[k+4>>2]|0,m=i,e=c[m+4>>2]|0,(d|0)>(e|0)|((d|0)==(e|0)?(c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0:0)):0){a=21;break}if(c[j>>2]|0?(k=(c[h>>2]|0)+72|0,d=c[k+4>>2]|0,m=i,e=c[m+4>>2]|0,(d|0)<(e|0)|((d|0)==(e|0)?(c[k>>2]|0)>>>0<=(c[m>>2]|0)>>>0:0)):0){a=21;break}c[f>>2]=1;if(c[(c[g>>2]|0)+36>>2]|0){a=21;break}}if((a|0)==21){l=n;return}}function DR(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+32|0;k=r+28|0;m=r+24|0;h=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;j=r;c[m>>2]=d;c[h>>2]=f;c[n>>2]=g;c[o>>2]=(c[m>>2]|0)+80+((c[h>>2]|0)*88|0);f=(c[o>>2]|0)+72|0;g=(c[m>>2]|0)+64|0;if(!(!((c[f>>2]|0)==(c[g>>2]|0)?(c[f+4>>2]|0)==(c[g+4>>2]|0):0)?(f=(c[o>>2]|0)+72|0,s=c[f+4>>2]|0,g=(c[m>>2]|0)+64|0,d=c[g+4>>2]|0,(((s|0)<(d|0)|((s|0)==(d|0)?(c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0:0))&1|0)!=(c[(c[m>>2]|0)+56>>2]|0)):0))i=3;a:do if((i|0)==3){c[q>>2]=(c[m>>2]|0)+80+((c[h>>2]^1)*88|0);i=(c[(c[m>>2]|0)+56>>2]|0)!=0;s=(c[m>>2]|0)+64|0;c[s>>2]=i?0:-1;c[s+4>>2]=i?-2147483648:2147483647;c[p>>2]=((c[(c[m>>2]|0)+52>>2]|0)+(c[h>>2]|0)|0)/2|0;b:while(1){c[j>>2]=(c[(c[m>>2]|0)+72>>2]|0)+(c[p>>2]<<2);do if(a[(c[j>>2]|0)+2>>0]|0){i=(c[o>>2]|0)+72|0;s=(c[q>>2]|0)+72|0;if((c[i>>2]|0)==(c[s>>2]|0)?(c[i+4>>2]|0)==(c[s+4>>2]|0):0)break b;i=(c[q>>2]|0)+72|0;t=c[i+4>>2]|0;s=(c[o>>2]|0)+72|0;h=c[s+4>>2]|0;f=(c[q>>2]|0)+72|0;d=c[f>>2]|0;f=c[f+4>>2]|0;g=(c[m>>2]|0)+64|0;if((((t|0)>(h|0)|((t|0)==(h|0)?(c[i>>2]|0)>>>0>(c[s>>2]|0)>>>0:0))&1|0)==(c[(c[m>>2]|0)+56>>2]|0)){t=g;c[t>>2]=d;c[t+4>>2]=f;c[o>>2]=c[q>>2];break}t=g;s=c[t+4>>2]|0;if((((f|0)>(s|0)|((f|0)==(s|0)?d>>>0>(c[t>>2]|0)>>>0:0))&1|0)==(c[(c[m>>2]|0)+56>>2]|0)){i=(c[q>>2]|0)+72|0;s=c[i+4>>2]|0;t=(c[m>>2]|0)+64|0;c[t>>2]=c[i>>2];c[t+4>>2]=s}}while(0);b[c[j>>2]>>1]=((c[o>>2]|0)-((c[m>>2]|0)+80)|0)/88|0;if((c[p>>2]|0)==1)break a;c[q>>2]=(c[m>>2]|0)+80+((e[(c[(c[m>>2]|0)+72>>2]|0)+((c[p>>2]^1)<<2)>>1]|0)*88|0);c[p>>2]=(c[p>>2]|0)/2|0}c[k>>2]=1;t=c[k>>2]|0;l=r;return t|0}while(0);c[c[n>>2]>>2]=c[o>>2];c[k>>2]=0;t=c[k>>2]|0;l=r;return t|0}function ER(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+24|0;h=m+20|0;n=m+16|0;i=m+12|0;j=m+8|0;k=m+4|0;f=m;c[g>>2]=a;c[h>>2]=b;c[n>>2]=d;c[i>>2]=e;c[j>>2]=((c[(c[h>>2]|0)+52>>2]|0)+(c[n>>2]|0)|0)/2|0;while(1){if((c[j>>2]|0)<(c[i>>2]|0)){a=7;break}if(c[(c[g>>2]|0)+36>>2]|0){a=7;break}n=GR(c[h>>2]|0,c[j>>2]|0)|0;c[k>>2]=n;if(n|0){c[f>>2]=(c[h>>2]|0)+80+((c[k>>2]|0)*88|0);Ib[c[(c[f>>2]|0)+24>>2]&255](c[g>>2]|0,c[f>>2]|0,0);c[j>>2]=(c[(c[h>>2]|0)+52>>2]|0)+(c[k>>2]|0)}c[j>>2]=(c[j>>2]|0)/2|0}if((a|0)==7){l=m;return}}function FR(b){b=b|0;var d=0,f=0,g=0,h=0;d=l;l=l+16|0;h=d+4|0;g=d;c[h>>2]=b;c[g>>2]=(c[h>>2]|0)+80+((e[(c[(c[h>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);a[(c[h>>2]|0)+16>>0]=(c[(c[g>>2]|0)+12>>2]|0)==0;g=(c[g>>2]|0)+72|0;f=c[g+4>>2]|0;b=(c[h>>2]|0)+64|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;l=d;return}function GR(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;i=r+36|0;j=r+32|0;k=r+28|0;m=r+24|0;n=r+20|0;o=r+16|0;p=r+12|0;q=r+8|0;g=r+4|0;h=r;c[j>>2]=d;c[k>>2]=f;c[g>>2]=(c[(c[j>>2]|0)+72>>2]|0)+(c[k>>2]<<2);if((c[k>>2]|0)>=((c[(c[j>>2]|0)+52>>2]|0)/2|0|0)){c[m>>2]=(c[k>>2]|0)-((c[(c[j>>2]|0)+52>>2]|0)/2|0)<<1;c[n>>2]=(c[m>>2]|0)+1}else{c[m>>2]=e[(c[(c[j>>2]|0)+72>>2]|0)+(c[k>>2]<<1<<2)>>1];c[n>>2]=e[(c[(c[j>>2]|0)+72>>2]|0)+((c[k>>2]<<1)+1<<2)>>1]}c[p>>2]=(c[j>>2]|0)+80+((c[m>>2]|0)*88|0);c[q>>2]=(c[j>>2]|0)+80+((c[n>>2]|0)*88|0);a[(c[g>>2]|0)+2>>0]=0;do if(c[(c[p>>2]|0)+12>>2]|0){if(!(c[(c[q>>2]|0)+12>>2]|0)){c[o>>2]=c[m>>2];break}c[h>>2]=HR((c[p>>2]|0)+60|0,(c[q>>2]|0)+60|0)|0;do if(!(c[h>>2]|0)){a[(c[g>>2]|0)+2>>0]=1;f=(c[p>>2]|0)+72|0;k=(c[q>>2]|0)+72|0;if(!((c[f>>2]|0)==(c[k>>2]|0)?(c[f+4>>2]|0)==(c[k+4>>2]|0):0)){p=(c[p>>2]|0)+72|0;f=c[p+4>>2]|0;q=(c[q>>2]|0)+72|0;k=c[q+4>>2]|0;c[h>>2]=(((f|0)>(k|0)|((f|0)==(k|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0))&1|0)==(c[(c[j>>2]|0)+56>>2]|0)?-1:1;break}a[(c[p>>2]|0)+84>>0]=a[(c[q>>2]|0)+84>>0]|0;c[i>>2]=c[n>>2];q=c[i>>2]|0;l=r;return q|0}while(0);if((c[h>>2]|0)<0){c[o>>2]=c[m>>2];break}else{c[o>>2]=c[n>>2];break}}else c[o>>2]=c[n>>2];while(0);b[c[g>>2]>>1]=c[o>>2];c[i>>2]=0;q=c[i>>2]|0;l=r;return q|0}function HR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[((c[(c[d>>2]|0)+4>>2]|0)<(c[(c[e>>2]|0)+4>>2]|0)?c[d>>2]|0:c[e>>2]|0)+4>>2];c[f>>2]=H_(c[c[d>>2]>>2]|0,c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(!(c[f>>2]|0)){h=(c[(c[d>>2]|0)+4>>2]|0)-(c[(c[e>>2]|0)+4>>2]|0)|0;l=g;return h|0}else{h=c[f>>2]|0;l=g;return h|0}return 0}function IR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;if(c[(c[f>>2]|0)+36>>2]|0){f=1;f=f&1;l=e;return f|0}f=(c[(c[d>>2]|0)+8+8>>2]|0)!=0;f=f&1;l=e;return f|0}function JR(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+8+24|0;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function KR(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+8+16>>2]|0}function LR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=aS(c[f>>2]|0,c[e>>2]|0,0)|0;l=d;return b|0}function MR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)>(c[(c[c[f>>2]>>2]|0)+8>>2]|0)){c[(c[e>>2]|0)+36>>2]=267;l=k;return}AR(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=0;c[(c[f>>2]|0)+8>>2]=(c[g>>2]|0)-1;_R(c[e>>2]|0,c[f>>2]|0);if(c[(c[e>>2]|0)+36>>2]|0){l=k;return}c[i>>2]=c[c[(c[f>>2]|0)+12>>2]>>2];c[j>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+8>>2];c[h>>2]=(QR(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0)&65535;if((c[h>>2]|0)>=4?(c[h>>2]|0)<(c[j>>2]|0):0){j=(RR((c[i>>2]|0)+(c[h>>2]|0)|0,(c[f>>2]|0)+72|0)|0)&255;c[h>>2]=(c[h>>2]|0)+j;c[(c[f>>2]|0)+20>>2]=c[h>>2];UR(c[e>>2]|0,c[f>>2]|0);l=k;return}c[(c[e>>2]|0)+36>>2]=267;l=k;return}function NR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=XR(c[f>>2]|0,c[e>>2]|0,0)|0;l=d;return b|0}function OR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;AR(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=0;while(1){if(c[(c[d>>2]|0)+36>>2]|0)break;if((c[(c[e>>2]|0)+8>>2]|0)<=(c[(c[e>>2]|0)+28>>2]|0))break;a=(c[e>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+-1;a=c[d>>2]|0;k=c[c[c[e>>2]>>2]>>2]|0;k=j0(k|0,((k|0)<0)<<31>>31|0,37)|0;k=_$(k|0,D|0,0,0)|0;k=_$(k|0,D|0,0,0)|0;b=c[(c[e>>2]|0)+8>>2]|0;b=_$(k|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;c[f>>2]=PR(a,b,D)|0;if(!(c[f>>2]|0))continue;if((c[(c[e>>2]|0)+8>>2]|0)==(c[(c[e>>2]|0)+28>>2]|0)){if((c[(c[e>>2]|0)+32>>2]|0)<(c[(c[f>>2]|0)+8>>2]|0)){c[(c[e>>2]|0)+12>>2]=c[f>>2];c[(c[e>>2]|0)+20>>2]=c[(c[e>>2]|0)+32>>2]}}else{c[g>>2]=(QR(c[c[f>>2]>>2]|0)|0)&65535;if(c[g>>2]|0){c[(c[e>>2]|0)+12>>2]=c[f>>2];c[(c[e>>2]|0)+20>>2]=c[g>>2]}}if(c[(c[e>>2]|0)+12>>2]|0){i=11;break}AR(c[f>>2]|0)}if((i|0)==11){c[h>>2]=(c[c[(c[e>>2]|0)+12>>2]>>2]|0)+(c[(c[e>>2]|0)+20>>2]|0);i=(RR(c[h>>2]|0,(c[e>>2]|0)+72|0)|0)&255;k=(c[e>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+i}if(!(c[(c[e>>2]|0)+12>>2]|0)){l=j;return}c[(c[e>>2]|0)+40>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+4>>2]|0)+1;SR(c[d>>2]|0,c[e>>2]|0);l=j;return} +function PI(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+48|0;w=y+20|0;x=y+16|0;t=y+32|0;n=y+30|0;o=y+28|0;p=y+26|0;u=y+35|0;i=y+34|0;v=y+24|0;j=y+12|0;k=y+8|0;s=y+4|0;m=y;c[x>>2]=f;b[t>>1]=g;b[n>>1]=h;a[i>>0]=0;b[v>>1]=b[n>>1]|0;c[j>>2]=(c[(c[(c[x>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[k>>2]=(e[t>>1]|0)+(e[n>>1]|0);c[s>>2]=c[(c[x>>2]|0)+56>>2];if((e[(c[(c[x>>2]|0)+52>>2]|0)+22>>1]|0)&4|0)m0((c[s>>2]|0)+(e[t>>1]|0)|0,0,e[n>>1]|0|0)|0;a[u>>0]=a[(c[x>>2]|0)+5>>0]|0;b[o>>1]=(d[u>>0]|0)+1;if((d[(c[s>>2]|0)+((e[o>>1]|0)+1)>>0]|0|0)==0?(d[(c[s>>2]|0)+(e[o>>1]|0)>>0]|0|0)==0:0)b[p>>1]=0;else r=6;do if((r|0)==6){while(1){r=0;h=((d[(c[s>>2]|0)+(e[o>>1]|0)>>0]|0)<<8|(d[(c[s>>2]|0)+(e[o>>1]|0)+1>>0]|0))&65535;b[p>>1]=h;if((h&65535|0)>=(e[t>>1]|0|0))break;q=b[p>>1]|0;if((e[p>>1]|0|0)<((e[o>>1]|0)+4|0)){r=8;break}b[o>>1]=q;r=6}if((r|0)==8?q&65535|0:0){c[w>>2]=kn(59854)|0;x=c[w>>2]|0;l=y;return x|0}if((e[p>>1]|0)>>>0>(c[j>>2]|0)>>>0){c[w>>2]=kn(59858)|0;x=c[w>>2]|0;l=y;return x|0}do if(e[p>>1]|0|0?((c[k>>2]|0)+3|0)>>>0>=(e[p>>1]|0)>>>0:0){a[i>>0]=(e[p>>1]|0)-(c[k>>2]|0);if((c[k>>2]|0)>>>0>(e[p>>1]|0)>>>0){c[w>>2]=kn(59869)|0;x=c[w>>2]|0;l=y;return x|0}c[k>>2]=(e[p>>1]|0)+((d[(c[s>>2]|0)+((e[p>>1]|0)+2)>>0]|0)<<8|(d[(c[s>>2]|0)+((e[p>>1]|0)+2)+1>>0]|0));if((c[k>>2]|0)>>>0<=(c[(c[(c[x>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[n>>1]=(c[k>>2]|0)-(e[t>>1]|0);b[p>>1]=(d[(c[s>>2]|0)+(e[p>>1]|0)>>0]|0)<<8|(d[(c[s>>2]|0)+(e[p>>1]|0)+1>>0]|0);break}c[w>>2]=kn(59871)|0;x=c[w>>2]|0;l=y;return x|0}while(0);do if((e[o>>1]|0|0)>((d[u>>0]|0)+1|0)?(c[m>>2]=(e[o>>1]|0)+((d[(c[s>>2]|0)+((e[o>>1]|0)+2)>>0]|0)<<8|(d[(c[s>>2]|0)+((e[o>>1]|0)+2)+1>>0]|0)),((c[m>>2]|0)+3|0)>=(e[t>>1]|0|0)):0){if((c[m>>2]|0)<=(e[t>>1]|0|0)){a[i>>0]=(d[i>>0]|0)+((e[t>>1]|0)-(c[m>>2]|0));b[n>>1]=(c[k>>2]|0)-(e[o>>1]|0);b[t>>1]=b[o>>1]|0;break}c[w>>2]=kn(59883)|0;x=c[w>>2]|0;l=y;return x|0}while(0);if((d[i>>0]|0|0)<=(d[(c[s>>2]|0)+((d[u>>0]|0)+7)>>0]|0|0)){r=(c[s>>2]|0)+((d[u>>0]|0)+7)|0;a[r>>0]=(d[r>>0]|0)-(d[i>>0]|0);break}c[w>>2]=kn(59889)|0;x=c[w>>2]|0;l=y;return x|0}while(0);do if((e[t>>1]|0|0)==((d[(c[s>>2]|0)+((d[u>>0]|0)+5)>>0]|0)<<8|(d[(c[s>>2]|0)+((d[u>>0]|0)+5)+1>>0]|0)|0)){if((e[o>>1]|0|0)==((d[u>>0]|0)+1|0)){a[(c[s>>2]|0)+((d[u>>0]|0)+1)>>0]=(e[p>>1]|0)>>8;a[(c[s>>2]|0)+((d[u>>0]|0)+1)+1>>0]=b[p>>1];a[(c[s>>2]|0)+((d[u>>0]|0)+5)>>0]=(c[k>>2]|0)>>>8;i=c[k>>2]&255;g=c[s>>2]|0;f=(d[u>>0]|0)+5|0;break}c[w>>2]=kn(59896)|0;x=c[w>>2]|0;l=y;return x|0}else{a[(c[s>>2]|0)+(e[o>>1]|0)>>0]=(e[t>>1]|0)>>8;a[(c[s>>2]|0)+(e[o>>1]|0)+1>>0]=b[t>>1];a[(c[s>>2]|0)+(e[t>>1]|0)>>0]=(e[p>>1]|0)>>8;a[(c[s>>2]|0)+(e[t>>1]|0)+1>>0]=b[p>>1];a[(c[s>>2]|0)+((e[t>>1]|0)+2)>>0]=(e[n>>1]|0)>>8;i=b[n>>1]&255;g=c[s>>2]|0;f=(e[t>>1]|0)+2|0}while(0);a[g+f+1>>0]=i;x=(c[x>>2]|0)+16|0;b[x>>1]=(e[x>>1]|0)+(e[v>>1]|0);c[w>>2]=0;x=c[w>>2]|0;l=y;return x|0}function QI(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;d=Mb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=d;l=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function RI(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t+36|0;m=t+32|0;n=t+28|0;o=t+24|0;p=t+20|0;q=t+16|0;r=t+12|0;h=t+8|0;i=t+4|0;j=t;c[m>>2]=b;c[n>>2]=f;c[o>>2]=g;c[p>>2]=d[(c[m>>2]|0)+5>>0];c[q>>2]=c[(c[m>>2]|0)+56>>2];c[h>>2]=0;c[i>>2]=(e[(c[m>>2]|0)+14>>1]|0)+((e[(c[m>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[q>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[q>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0);do if((c[i>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[m>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[k>>2]=kn(59758)|0;s=c[k>>2]|0;l=t;return s|0}while(0);if(!(!(d[(c[q>>2]|0)+((c[p>>2]|0)+2)>>0]|0|0)?!(d[(c[q>>2]|0)+((c[p>>2]|0)+1)>>0]|0|0):0))s=8;if((s|0)==8?((c[i>>2]|0)+2|0)<=(c[r>>2]|0):0){c[j>>2]=OI(c[m>>2]|0,c[n>>2]|0,h)|0;if(c[j>>2]|0){c[c[o>>2]>>2]=(c[j>>2]|0)-(c[q>>2]|0);c[k>>2]=0;s=c[k>>2]|0;l=t;return s|0}if(c[h>>2]|0){c[k>>2]=c[h>>2];s=c[k>>2]|0;l=t;return s|0}}do if(((c[i>>2]|0)+2+(c[n>>2]|0)|0)>(c[r>>2]|0)){c[h>>2]=GI(c[m>>2]|0)|0;if(!(c[h>>2]|0)){c[r>>2]=(((d[(c[q>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[q>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[k>>2]=c[h>>2];s=c[k>>2]|0;l=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[n>>2]|0);a[(c[q>>2]|0)+((c[p>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[q>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[r>>2];c[c[o>>2]>>2]=c[r>>2];c[k>>2]=0;s=c[k>>2]|0;l=t;return s|0}function SI(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+96|0;D=E+76|0;x=E+72|0;y=E+68|0;i=E+64|0;z=E+60|0;A=E+56|0;j=E+52|0;k=E+48|0;m=E+44|0;B=E+40|0;n=E+36|0;o=E+32|0;C=E+28|0;p=E+24|0;q=E+20|0;r=E+16|0;s=E+12|0;t=E+8|0;u=E+4|0;v=E;w=E+80|0;c[x>>2]=b;c[y>>2]=f;c[i>>2]=g;c[z>>2]=h;c[o>>2]=0;c[C>>2]=0;c[r>>2]=c[(c[x>>2]|0)+52>>2];c[s>>2]=0;c[t>>2]=d[(c[x>>2]|0)+6>>0];b=c[i>>2]|0;if(a[(c[x>>2]|0)+2>>0]|0){c[A>>2]=(c[b+20>>2]|0)+(c[(c[i>>2]|0)+24>>2]|0);c[j>>2]=c[(c[i>>2]|0)+16>>2];c[k>>2]=c[(c[i>>2]|0)+20>>2];if((c[A>>2]|0)>>>0<128){a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=c[A>>2];b=1}else{b=c[A>>2]|0;b=_F((c[y>>2]|0)+(c[t>>2]|0)|0,b,((b|0)<0)<<31>>31)|0}c[t>>2]=(c[t>>2]|0)+(b&255);i=(c[i>>2]|0)+8|0;i=_F((c[y>>2]|0)+(c[t>>2]|0)|0,c[i>>2]|0,c[i+4>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+i}else{h=c[b+8>>2]|0;c[A>>2]=h;c[k>>2]=h;c[j>>2]=c[c[i>>2]>>2];if((c[A>>2]|0)>>>0<128){a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=c[A>>2];b=1}else{b=c[A>>2]|0;b=_F((c[y>>2]|0)+(c[t>>2]|0)|0,b,((b|0)<0)<<31>>31)|0}c[t>>2]=(c[t>>2]|0)+(b&255)}if((c[A>>2]|0)<=(e[(c[x>>2]|0)+10>>1]|0)){x=(c[t>>2]|0)+(c[A>>2]|0)|0;c[m>>2]=x;c[m>>2]=(c[m>>2]|0)<4?4:x;c[c[z>>2]>>2]=c[m>>2];c[n>>2]=c[A>>2];c[p>>2]=c[y>>2]}else{c[u>>2]=e[(c[x>>2]|0)+12>>1];c[m>>2]=(c[u>>2]|0)+((((c[A>>2]|0)-(c[u>>2]|0)|0)>>>0)%(((c[(c[(c[x>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[m>>2]|0)>(e[(c[x>>2]|0)+10>>1]|0))c[m>>2]=c[u>>2];c[n>>2]=c[m>>2];c[c[z>>2]>>2]=(c[m>>2]|0)+(c[t>>2]|0)+4;c[p>>2]=(c[y>>2]|0)+((c[t>>2]|0)+(c[m>>2]|0))}c[q>>2]=(c[y>>2]|0)+(c[t>>2]|0);while(1){if((c[A>>2]|0)<=0){b=35;break}if(!(c[n>>2]|0)){c[v>>2]=c[s>>2];if(a[(c[r>>2]|0)+17>>0]|0)while(1){c[s>>2]=(c[s>>2]|0)+1;z=Yp(c[r>>2]|0,c[s>>2]|0)|0;if((z|0)==(c[s>>2]|0))continue;if((c[s>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[r>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[B>>2]=bq(c[r>>2]|0,o,s,c[s>>2]|0,0)|0;if(((c[B>>2]|0)==0?(d[(c[r>>2]|0)+17>>0]|0)!=0:0)?(a[w>>0]=c[v>>2]|0?4:3,hq(c[r>>2]|0,c[s>>2]|0,a[w>>0]|0,c[v>>2]|0,B),c[B>>2]|0):0)cq(c[o>>2]|0);if(c[B>>2]|0){b=25;break}Nn(c[p>>2]|0,c[s>>2]|0);cq(c[C>>2]|0);c[C>>2]=c[o>>2];c[p>>2]=c[(c[o>>2]|0)+56>>2];Nn(c[p>>2]|0,0);c[q>>2]=(c[(c[o>>2]|0)+56>>2]|0)+4;c[n>>2]=(c[(c[r>>2]|0)+36>>2]|0)-4}c[m>>2]=c[A>>2];if((c[m>>2]|0)>(c[n>>2]|0))c[m>>2]=c[n>>2];if((c[k>>2]|0)>0){if((c[m>>2]|0)>(c[k>>2]|0))c[m>>2]=c[k>>2];h0(c[q>>2]|0,c[j>>2]|0,c[m>>2]|0)|0}else m0(c[q>>2]|0,0,c[m>>2]|0)|0;c[A>>2]=(c[A>>2]|0)-(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[m>>2]|0)}if((b|0)==25){cq(c[C>>2]|0);c[D>>2]=c[B>>2];D=c[D>>2]|0;l=E;return D|0}else if((b|0)==35){cq(c[C>>2]|0);c[D>>2]=0;D=c[D>>2]|0;l=E;return D|0}return 0}function TI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;n=u+44|0;o=u+40|0;p=u+36|0;q=u+32|0;r=u+28|0;s=u+24|0;t=u+20|0;g=u+16|0;h=u+12|0;i=u+8|0;j=u+4|0;k=u+48|0;m=u;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=c[(c[o>>2]|0)+4>>2];b=c[r>>2]|0;if(a[(c[r>>2]|0)+17>>0]|0){Xp(b);Ip(c[o>>2]|0,4,t);c[t>>2]=(c[t>>2]|0)+1;while(1){f=c[t>>2]|0;if((f|0)!=(Yp(c[r>>2]|0,c[t>>2]|0)|0)?(c[t>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[r>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[t>>2]=(c[t>>2]|0)+1}c[g>>2]=bq(c[r>>2]|0,j,i,c[t>>2]|0,1)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}if((c[i>>2]|0)!=(c[t>>2]|0)){a[k>>0]=0;c[m>>2]=0;c[g>>2]=_p(c[r>>2]|0,0,0)|0;cq(c[j>>2]|0);if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=dq(c[r>>2]|0,c[t>>2]|0,s,0)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=aq(c[r>>2]|0,c[t>>2]|0,k,m)|0;if(!((d[k>>0]|0)!=1?(d[k>>0]|0)!=2:0))c[g>>2]=kn(66598)|0;if(c[g>>2]|0){cq(c[s>>2]|0);c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=eq(c[r>>2]|0,c[s>>2]|0,a[k>>0]|0,c[m>>2]|0,c[i>>2]|0,0)|0;cq(c[s>>2]|0);if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=dq(c[r>>2]|0,c[t>>2]|0,s,0)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=Jn(c[(c[s>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){cq(c[s>>2]|0);c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}}else c[s>>2]=c[j>>2];hq(c[r>>2]|0,c[t>>2]|0,1,0,g);if(c[g>>2]|0){cq(c[s>>2]|0);c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=Mp(c[o>>2]|0,4,c[t>>2]|0)|0;if(c[g>>2]|0){cq(c[s>>2]|0);c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}}else{c[g>>2]=bq(b,s,t,1,0)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}}if(c[q>>2]&1|0)c[h>>2]=13;else c[h>>2]=10;Tq(c[s>>2]|0,c[h>>2]|0);On(c[(c[s>>2]|0)+72>>2]|0);c[c[p>>2]>>2]=c[t>>2];c[n>>2]=0;t=c[n>>2]|0;l=u;return t|0}function UI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;i=r+8|0;j=r+4|0;k=r;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[i>>2]=h;c[j>>2]=c[(c[n>>2]|0)+4>>2];if(c[p>>2]|0?(VI(c[j>>2]|0),(c[(c[j>>2]|0)+80>>2]|0)==0):0){c[m>>2]=7;q=c[m>>2]|0;l=r;return q|0}if((c[o>>2]|0)==1?(Rn(c[j>>2]|0)|0)==0:0)c[o>>2]=0;c[(c[i>>2]|0)+52>>2]=c[o>>2];a[(c[i>>2]|0)+68>>0]=-1;c[(c[i>>2]|0)+72>>2]=c[q>>2];c[c[i>>2]>>2]=c[n>>2];c[(c[i>>2]|0)+4>>2]=c[j>>2];a[(c[i>>2]|0)+64>>0]=c[p>>2]|0?1:0;a[(c[i>>2]|0)+65>>0]=c[p>>2]|0?0:2;c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[o>>2]|0)){q=(c[k>>2]|0)+64|0;a[q>>0]=d[q>>0]|0|32;q=(c[i>>2]|0)+64|0;a[q>>0]=d[q>>0]|0|32}c[k>>2]=c[(c[k>>2]|0)+8>>2]}c[(c[i>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];c[(c[j>>2]|0)+8>>2]=c[i>>2];a[(c[i>>2]|0)+66>>0]=0;c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}function VI(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){l=e;return}b=yl(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){l=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;d=(c[d>>2]|0)+80|0;c[d>>2]=(c[d>>2]|0)+4;l=e;return}function WI(){return 200}function XI(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return}function YI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;g=o+24|0;h=o+20|0;i=o;j=o+16|0;k=o+12|0;m=o+8|0;n=o+28|0;c[h>>2]=b;b=i;c[b>>2]=e;c[b+4>>2]=f;if(0?1:(c[i+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[i>>2];m=i;m=f0(c[m>>2]|0,c[m+4>>2]|0,8)|0;n=i;c[n>>2]=m;c[n+4>>2]=D;c[j>>2]=7;while(1){if((c[j>>2]|0)<0)break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=c[i>>2]&127|128;m=i;m=f0(c[m>>2]|0,c[m+4>>2]|0,7)|0;n=i;c[n>>2]=m;c[n+4>>2]=D;c[j>>2]=(c[j>>2]|0)+-1}c[g>>2]=9;n=c[g>>2]|0;l=o;return n|0}c[m>>2]=0;do{f=(c[i>>2]&127|128)&255;e=c[m>>2]|0;c[m>>2]=e+1;a[n+e>>0]=f;e=i;e=f0(c[e>>2]|0,c[e+4>>2]|0,7)|0;f=i;c[f>>2]=e;c[f+4>>2]=D;f=i}while((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0);a[n>>0]=(d[n>>0]|0)&127;c[j>>2]=0;c[k>>2]=(c[m>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[n+(c[k>>2]|0)>>0]|0;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1}c[g>>2]=c[m>>2];n=c[g>>2]|0;l=o;return n|0}function ZI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+20|0;j=p+16|0;n=p+12|0;k=p+8|0;o=p+4|0;m=p;c[i>>2]=d;c[j>>2]=e;c[n>>2]=f;c[k>>2]=g;c[o>>2]=h;b[(c[o>>2]|0)+8>>1]=1;h=di(c[o>>2]|0,(c[n>>2]|0)+2|0)|0;c[m>>2]=h;if(h){o=c[m>>2]|0;l=p;return o|0}g=c[i>>2]|0;d=c[j>>2]|0;e=c[n>>2]|0;f=c[(c[o>>2]|0)+16>>2]|0;if(c[k>>2]|0)c[m>>2]=yq(g,d,e,f)|0;else c[m>>2]=oG(g,d,e,f)|0;d=c[o>>2]|0;if(!(c[m>>2]|0)){a[(c[d+16>>2]|0)+(c[n>>2]|0)>>0]=0;a[(c[(c[o>>2]|0)+16>>2]|0)+((c[n>>2]|0)+1)>>0]=0;b[(c[o>>2]|0)+8>>1]=528;c[(c[o>>2]|0)+12>>2]=c[n>>2];o=c[m>>2]|0;l=p;return o|0}else{ei(d);o=c[m>>2]|0;l=p;return o|0}return 0}function _I(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];l=i;return c[(c[f>>2]|0)+16+8>>2]|0}function $I(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[g>>2]=_D(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,f)|0;if(c[g>>2]|0){c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}if(c[f>>2]|0){c[d>>2]=kn(73491)|0;g=c[d>>2]|0;l=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}return 0}function aJ(d){d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(Ji(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;f=b[e>>1]|0;l=g;return f|0}if(!(Mi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;f=b[e>>1]|0;l=g;return f|0}else{b[e>>1]=8;f=b[e>>1]|0;l=g;return f|0}return 0}function bJ(a){a=a|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;_h(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;l=e;return c[d>>2]|0}function cJ(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[5608+(c[b>>2]<<2)>>2]|0}function dJ(b,f,g){b=b|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;u=L+48|0;t=L+40|0;s=L+32|0;A=L+24|0;z=L+16|0;F=L+8|0;r=L;p=L+184|0;q=L+180|0;M=L+176|0;J=L+172|0;K=L+144|0;D=L+140|0;E=L+136|0;B=L+132|0;C=L+128|0;i=L+124|0;j=L+120|0;G=L+116|0;k=L+112|0;m=L+108|0;n=L+104|0;o=L+100|0;c[p>>2]=b;c[q>>2]=f;c[M>>2]=g;c[J>>2]=c[q>>2];zd(K,0,c[q>>2]|0,c[M>>2]|0,0);a:do switch(a[(c[p>>2]|0)+1>>0]|0){case -6:{c[E>>2]=c[(c[p>>2]|0)+16>>2];c[r>>2]=e[(c[E>>2]|0)+6>>1];oj(K,40688,r);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(e[(c[E>>2]|0)+6>>1]|0))break;c[B>>2]=c[(c[E>>2]|0)+20+(c[D>>2]<<2)>>2];if(c[B>>2]|0)b=c[c[B>>2]>>2]|0;else b=55752;c[C>>2]=b;M=(G_(c[C>>2]|0,34455)|0)==0;c[C>>2]=M?40693:b;M=c[C>>2]|0;c[F>>2]=d[(c[(c[E>>2]|0)+16>>2]|0)+(c[D>>2]|0)>>0]|0?27684:55752;c[F+4>>2]=M;oj(K,40695,F);c[D>>2]=(c[D>>2]|0)+1}Pd(K,34322,1);break}case -4:{c[i>>2]=c[(c[p>>2]|0)+16>>2];c[z>>2]=c[c[i>>2]>>2];oj(K,40701,z);break}case -5:{c[j>>2]=c[(c[p>>2]|0)+16>>2];M=a[c[j>>2]>>0]|0;c[A>>2]=c[(c[j>>2]|0)+20>>2];c[A+4>>2]=M;oj(K,40709,A);break}case -13:{H=c[(c[p>>2]|0)+16>>2]|0;I=c[H+4>>2]|0;M=s;c[M>>2]=c[H>>2];c[M+4>>2]=I;oj(K,22191,s);break}case -14:{c[t>>2]=c[(c[p>>2]|0)+16>>2];oj(K,40716,t);break}case -12:{h[u>>3]=+h[c[(c[p>>2]|0)+16>>2]>>3];oj(K,23122,u);break}case -8:{c[G>>2]=c[(c[p>>2]|0)+16>>2];b=c[G>>2]|0;if(e[(c[G>>2]|0)+8>>1]&2|0){c[J>>2]=c[b+16>>2];break a}f=c[G>>2]|0;if(e[b+8>>1]&4|0){G=f;I=c[G+4>>2]|0;M=H;c[M>>2]=c[G>>2];c[M+4>>2]=I;oj(K,22191,H);break a}b=c[G>>2]|0;if(e[f+8>>1]&8|0){h[I>>3]=+h[b>>3];oj(K,23122,I);break a}if(e[b+8>>1]&1|0){c[J>>2]=20953;break a}else{c[J>>2]=40719;break a}}case -10:{c[k>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2];c[v>>2]=c[k>>2];oj(K,40726,v);break}case -15:{c[n>>2]=c[(c[p>>2]|0)+16>>2];c[o>>2]=c[c[n>>2]>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[w>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];oj(K,40734,w);c[m>>2]=(c[m>>2]|0)+1}a[c[q>>2]>>0]=91;Pd(K,40738,1);break}case -18:{oj(K,40740,x);break}case -19:{a[c[q>>2]>>0]=0;break}case -20:{c[y>>2]=c[c[(c[p>>2]|0)+16>>2]>>2];oj(K,21240,y);break}default:{c[J>>2]=c[(c[p>>2]|0)+16>>2];if(!(c[J>>2]|0)){c[J>>2]=c[q>>2];a[c[q>>2]>>0]=0}}}while(0);Bd(K)|0;l=L;return c[J>>2]|0}function eJ(a){a=a|0;var b=0,d=0,f=0,g=0;f=l;l=l+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0?c[(c[d>>2]|0)+104>>2]|0:0){c[b>>2]=e[(c[d>>2]|0)+140>>1];g=c[b>>2]|0;l=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;l=f;return g|0}function fJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Ri(Hv(c[f>>2]|0,c[g>>2]|0)|0)|0;Iv(c[f>>2]|0);l=e;return c[d>>2]|0}function gJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Sh(Hv(c[f>>2]|0,c[g>>2]|0)|0)|0;Iv(c[f>>2]|0);l=e;return c[d>>2]|0}function hJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+Hi(Hv(c[f>>2]|0,c[g>>2]|0)|0);Iv(c[f>>2]|0);l=e;return +(+h[d>>3])}function iJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Qi(Hv(c[f>>2]|0,c[g>>2]|0)|0)|0;Iv(c[f>>2]|0);l=e;return c[d>>2]|0}function jJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;a=Fi(Hv(c[f>>2]|0,c[g>>2]|0)|0)|0;b=e;c[b>>2]=a;c[b+4>>2]=D;Iv(c[f>>2]|0);b=e;D=c[b+4>>2]|0;l=d;return c[b>>2]|0}function kJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+8|0;i=h+4|0;g=h;c[f>>2]=a;c[i>>2]=d;c[g>>2]=Hv(c[f>>2]|0,c[i>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){i=c[f>>2]|0;Iv(i);i=c[g>>2]|0;l=h;return i|0}i=(c[g>>2]|0)+8|0;b[i>>1]=(e[i>>1]|0)&-2049;i=(c[g>>2]|0)+8|0;b[i>>1]=e[i>>1]|0|4096;i=c[f>>2]|0;Iv(i);i=c[g>>2]|0;l=h;return i|0}function lJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=mJ(c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,0)|0;l=g;return f|0}function mJ(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;t=s+28|0;p=s+24|0;q=s+20|0;r=s+16|0;j=s+12|0;k=s+32|0;m=s+8|0;n=s+4|0;o=s;c[t>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[j>>2]=h;a[k>>0]=i;c[m>>2]=c[t>>2];c[o>>2]=nJ(c[m>>2]|0,c[p>>2]|0)|0;if(c[o>>2]|0){if(!((c[j>>2]|0)!=0&(c[j>>2]|0)!=(-1|0))){t=c[o>>2]|0;l=s;return t|0}Eb[c[j>>2]&255](c[q>>2]|0);t=c[o>>2]|0;l=s;return t|0}if(c[q>>2]|0){c[n>>2]=(c[(c[m>>2]|0)+116>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);c[o>>2]=ci(c[n>>2]|0,c[q>>2]|0,c[r>>2]|0,a[k>>0]|0,c[j>>2]|0)|0;if((c[o>>2]|0)==0?d[k>>0]|0|0:0)c[o>>2]=oi(c[n>>2]|0,d[(c[c[m>>2]>>2]|0)+66>>0]|0)|0;ml(c[c[m>>2]>>2]|0,c[o>>2]|0);c[o>>2]=Jr(c[c[m>>2]>>2]|0,c[o>>2]|0)|0}ud(c[(c[c[m>>2]>>2]|0)+12>>2]|0);t=c[o>>2]|0;l=s;return t|0}function nJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;c[g>>2]=a;c[h>>2]=d;if(Cs(c[g>>2]|0)|0){c[f>>2]=qd(76348)|0;k=c[f>>2]|0;l=m;return k|0}td(c[(c[c[g>>2]>>2]|0)+12>>2]|0);if((c[(c[g>>2]|0)+20>>2]|0)==770837923?(c[(c[g>>2]|0)+36>>2]|0)<0:0){if((c[h>>2]|0)>=1?(c[h>>2]|0)<=(b[(c[g>>2]|0)+16>>1]|0):0){c[h>>2]=(c[h>>2]|0)+-1;c[i>>2]=(c[(c[g>>2]|0)+116>>2]|0)+((c[h>>2]|0)*40|0);ei(c[i>>2]|0);b[(c[i>>2]|0)+8>>1]=1;ml(c[c[g>>2]>>2]|0,0);do if((e[(c[g>>2]|0)+144>>1]|0)>>>9&1|0){if(!((c[h>>2]|0)<32?(c[(c[g>>2]|0)+196>>2]&1<>2]|0)!=0:0))k=12;if((k|0)==12?(c[(c[g>>2]|0)+196>>2]|0)!=-1:0)break;k=(c[g>>2]|0)+144|0;b[k>>1]=b[k>>1]&-2|1}while(0);c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}ml(c[c[g>>2]>>2]|0,25);ud(c[(c[c[g>>2]>>2]|0)+12>>2]|0);c[f>>2]=25;k=c[f>>2]|0;l=m;return k|0}ml(c[c[g>>2]>>2]|0,21);ud(c[(c[c[g>>2]>>2]|0)+12>>2]|0);c[j>>2]=c[(c[g>>2]|0)+176>>2];xd(21,42145,j);c[f>>2]=qd(76356)|0;k=c[f>>2]|0;l=m;return k|0}function oJ(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;e=j+16|0;f=j;g=j+12|0;i=j+8|0;c[k>>2]=a;c[e>>2]=b;h[f>>3]=d;c[i>>2]=c[k>>2];c[g>>2]=nJ(c[i>>2]|0,c[e>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;l=j;return k|0}Di((c[(c[i>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);ud(c[(c[c[i>>2]>>2]|0)+12>>2]|0);k=c[g>>2]|0;l=j;return k|0}function pJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;d=qJ(c[g>>2]|0,c[f>>2]|0,d,((d|0)<0)<<31>>31)|0;l=e;return d|0}function qJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;f=j+16|0;g=j;h=j+12|0;i=j+8|0;c[k>>2]=a;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[i>>2]=c[k>>2];c[h>>2]=nJ(c[i>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=j;return k|0}k=g;Yh((c[(c[i>>2]|0)+116>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);ud(c[(c[c[i>>2]>>2]|0)+12>>2]|0);k=c[h>>2]|0;l=j;return k|0}function rJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[e>>2]=c[h>>2];c[d>>2]=nJ(c[e>>2]|0,c[g>>2]|0)|0;if(c[d>>2]|0){h=c[d>>2]|0;l=f;return h|0}ud(c[(c[c[e>>2]>>2]|0)+12>>2]|0);h=c[d>>2]|0;l=f;return h|0}function sJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=mJ(c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,1)|0;l=g;return f|0}function tJ(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[i>>2]=d;c[j>>2]=f;switch(Ai(c[j>>2]|0)|0){case 1:{j=c[j>>2]|0;c[k>>2]=qJ(c[g>>2]|0,c[i>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}case 2:{c[k>>2]=oJ(c[g>>2]|0,c[i>>2]|0,+h[c[j>>2]>>3])|0;k=c[k>>2]|0;l=m;return k|0}case 4:{f=c[g>>2]|0;b=c[i>>2]|0;d=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&16384|0){c[k>>2]=uJ(f,b,c[d>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}else{c[k>>2]=lJ(f,b,c[d+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0,-1)|0;k=c[k>>2]|0;l=m;return k|0}}case 3:{c[k>>2]=mJ(c[g>>2]|0,c[i>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0,-1,a[(c[j>>2]|0)+10>>0]|0)|0;k=c[k>>2]|0;l=m;return k|0}default:{c[k>>2]=rJ(c[g>>2]|0,c[i>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}}return 0}function uJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[j>>2];c[g>>2]=nJ(c[h>>2]|0,c[e>>2]|0)|0;if(c[g>>2]|0){j=c[g>>2]|0;l=i;return j|0}Yi((c[(c[h>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);ud(c[(c[c[h>>2]>>2]|0)+12>>2]|0);j=c[g>>2]|0;l=i;return j|0}function vJ(a){a=a|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;l=e;return f|0}f=b[(c[d>>2]|0)+16>>1]|0;l=e;return f|0}function wJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=UG(a,b,md(c[e>>2]|0)|0)|0;l=d;return b|0}function xJ(f,g,h,i,j,k,m,n){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+144|0;O=Q+48|0;N=Q+40|0;P=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;M=Q+132|0;B=Q+128|0;o=Q+124|0;F=Q+120|0;p=Q;q=Q+116|0;G=Q+112|0;r=Q+108|0;s=Q+104|0;H=Q+100|0;I=Q+96|0;t=Q+92|0;J=Q+88|0;K=Q+84|0;L=Q+80|0;u=Q+76|0;v=Q+72|0;w=Q+68|0;x=Q+64|0;y=Q+60|0;z=Q+56|0;A=Q+52|0;c[M>>2]=f;c[B>>2]=g;c[o>>2]=h;c[F>>2]=i;i=p;c[i>>2]=j;c[i+4>>2]=k;c[q>>2]=m;c[G>>2]=n;c[r>>2]=0;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[K>>2]=0;c[c[G>>2]>>2]=0;c[q>>2]=((c[q>>2]|0)!=0^1^1)&1;td(c[(c[M>>2]|0)+12>>2]|0);c[K>>2]=_l(c[M>>2]|0,36,0)|0;a:do if(c[K>>2]|0?(c[J>>2]=Cd(c[M>>2]|0,480,0)|0,c[J>>2]|0):0){while(1){m0(c[J>>2]|0,0,480)|0;c[c[J>>2]>>2]=c[M>>2];Xd(c[M>>2]|0,c[I>>2]|0);c[I>>2]=0;pk(c[M>>2]|0);c[t>>2]=ev(c[J>>2]|0,0,c[o>>2]|0,c[B>>2]|0)|0;if(c[t>>2]|0?d[(c[t>>2]|0)+42>>0]&16|0:0){c[t>>2]=0;n=c[J>>2]|0;c[C>>2]=c[o>>2];sl(n,42185,C)}if(c[t>>2]|0?d[(c[t>>2]|0)+42>>0]&32|0:0){c[t>>2]=0;n=c[J>>2]|0;c[D>>2]=c[o>>2];sl(n,42215,D)}if(c[t>>2]|0?c[(c[t>>2]|0)+12>>2]|0:0){c[t>>2]=0;n=c[J>>2]|0;c[E>>2]=c[o>>2];sl(n,42251,E)}if(!(c[t>>2]|0)){f=13;break}c[(c[K>>2]|0)+32>>2]=c[t>>2];n=c[(c[M>>2]|0)+16>>2]|0;n=c[n+((Hu(c[M>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0)<<4)>>2]|0;c[(c[K>>2]|0)+28>>2]=n;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break;if(!(bh(c[(c[(c[t>>2]|0)+4>>2]|0)+(c[s>>2]<<4)>>2]|0,c[F>>2]|0)|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)==(b[(c[t>>2]|0)+34>>1]|0)){f=21;break}if(c[q>>2]|0){c[L>>2]=0;b:do if(c[(c[M>>2]|0)+24>>2]&524288|0){c[v>>2]=c[(c[t>>2]|0)+16>>2];while(1){if(!(c[v>>2]|0))break b;c[w>>2]=0;while(1){f=c[v>>2]|0;if((c[w>>2]|0)>=(c[(c[v>>2]|0)+20>>2]|0))break;if((c[f+36+(c[w>>2]<<3)>>2]|0)==(c[s>>2]|0))c[L>>2]=42293;c[w>>2]=(c[w>>2]|0)+1}c[v>>2]=c[f+4>>2]}}while(0);c[u>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[u>>2]|0))break;c[x>>2]=0;while(1){f=c[u>>2]|0;if((c[x>>2]|0)>=(e[(c[u>>2]|0)+50>>1]|0))break;if(!((b[(c[f+4>>2]|0)+(c[x>>2]<<1)>>1]|0)!=(c[s>>2]|0)?(b[(c[(c[u>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)!=-2:0))c[L>>2]=42305;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=c[f+20>>2]}if(c[L>>2]|0){f=42;break}}n=$u(c[J>>2]|0)|0;c[(c[K>>2]|0)+20>>2]=n;if(c[(c[K>>2]|0)+20>>2]|0){c[y>>2]=c[(c[K>>2]|0)+20>>2];c[z>>2]=Hu(c[M>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0;zy(c[y>>2]|0,2,c[z>>2]|0,c[q>>2]|0,c[c[(c[t>>2]|0)+64>>2]>>2]|0,c[(c[(c[t>>2]|0)+64>>2]|0)+4>>2]|0)|0;jy(c[y>>2]|0,1);c[A>>2]=mA(c[y>>2]|0,9,42347,0)|0;Yu(c[y>>2]|0,c[z>>2]|0);if(!(d[(c[M>>2]|0)+69>>0]|0)){c[(c[A>>2]|0)+4>>2]=c[z>>2];c[(c[A>>2]|0)+8>>2]=c[(c[t>>2]|0)+28>>2];c[(c[A>>2]|0)+12>>2]=c[q>>2];Vu(c[y>>2]|0,1,c[c[t>>2]>>2]|0,0)}if(!(d[(c[M>>2]|0)+69>>0]|0)){if(c[q>>2]|0)a[(c[A>>2]|0)+20>>0]=105;c[(c[A>>2]|0)+20+8>>2]=c[(c[t>>2]|0)+28>>2];c[(c[A>>2]|0)+20+12>>2]=c[z>>2];a[(c[A>>2]|0)+20+1>>0]=-14;c[(c[A>>2]|0)+20+16>>2]=(b[(c[t>>2]|0)+34>>1]|0)+1;c[(c[A>>2]|0)+80+8>>2]=b[(c[t>>2]|0)+34>>1];b[(c[J>>2]|0)+400>>1]=1;c[(c[J>>2]|0)+44>>2]=1;c[(c[J>>2]|0)+40>>2]=1;JF(c[y>>2]|0,c[J>>2]|0)}}c[c[K>>2]>>2]=c[q>>2];c[(c[K>>2]|0)+12>>2]=c[s>>2];c[(c[K>>2]|0)+24>>2]=c[M>>2];rk(c[M>>2]|0);if(a[(c[M>>2]|0)+69>>0]|0)break a;n=p;qJ(c[(c[K>>2]|0)+20>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;n=p;c[H>>2]=yJ(c[K>>2]|0,c[n>>2]|0,c[n+4>>2]|0,I)|0;n=(c[r>>2]|0)+1|0;c[r>>2]=n;if(!((n|0)<50?(c[H>>2]|0)==17:0))break a}if((f|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Xd(c[M>>2]|0,c[I>>2]|0);c[I>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[H>>2]=1;rk(c[M>>2]|0);break}else if((f|0)==21){Xd(c[M>>2]|0,c[I>>2]|0);N=c[M>>2]|0;c[P>>2]=c[F>>2];c[I>>2]=Wj(N,42272,P)|0;c[H>>2]=1;rk(c[M>>2]|0);break}else if((f|0)==42){Xd(c[M>>2]|0,c[I>>2]|0);P=c[M>>2]|0;c[N>>2]=c[L>>2];c[I>>2]=Wj(P,42313,N)|0;c[H>>2]=1;rk(c[M>>2]|0);break}}while(0);if((c[H>>2]|0)==0?(d[(c[M>>2]|0)+69>>0]|0)==0:0){c[c[G>>2]>>2]=c[K>>2];L=c[M>>2]|0;N=c[H>>2]|0;P=c[I>>2]|0;P=(P|0)!=0;P=P?21240:0;K=c[I>>2]|0;c[O>>2]=K;ll(L,N,P,O);O=c[M>>2]|0;P=c[I>>2]|0;Xd(O,P);P=c[J>>2]|0;ql(P);P=c[M>>2]|0;O=c[J>>2]|0;Xd(P,O);O=c[M>>2]|0;P=c[H>>2]|0;P=Jr(O,P)|0;c[H>>2]=P;P=c[M>>2]|0;P=P+12|0;P=c[P>>2]|0;ud(P);P=c[H>>2]|0;l=Q;return P|0}if(c[K>>2]|0?c[(c[K>>2]|0)+20>>2]|0:0)Ir(c[(c[K>>2]|0)+20>>2]|0)|0;Xd(c[M>>2]|0,c[K>>2]|0);L=c[M>>2]|0;N=c[H>>2]|0;P=c[I>>2]|0;P=(P|0)!=0;P=P?21240:0;K=c[I>>2]|0;c[O>>2]=K;ll(L,N,P,O);O=c[M>>2]|0;P=c[I>>2]|0;Xd(O,P);P=c[J>>2]|0;ql(P);P=c[M>>2]|0;O=c[J>>2]|0;Xd(P,O);O=c[M>>2]|0;P=c[H>>2]|0;P=Jr(O,P)|0;c[H>>2]=P;P=c[M>>2]|0;P=P+12|0;P=c[P>>2]|0;ud(P);P=c[H>>2]|0;l=Q;return P|0}function yJ(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;r=s+24|0;q=s+16|0;j=s+8|0;k=s+52|0;m=s;n=s+48|0;o=s+44|0;p=s+40|0;h=s+36|0;g=s+32|0;i=s+28|0;c[k>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[p>>2]=0;c[h>>2]=c[(c[k>>2]|0)+20>>2];d=m;e=c[d+4>>2]|0;f=c[(c[h>>2]|0)+116>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[o>>2]=Bs(c[(c[k>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[g>>2]=c[c[(c[h>>2]|0)+112>>2]>>2];c[i>>2]=c[(c[g>>2]|0)+80+(c[(c[k>>2]|0)+12>>2]<<2)>>2];if((c[i>>2]|0)>>>0>=12){c[(c[k>>2]|0)+8>>2]=c[(c[g>>2]|0)+80+((c[(c[k>>2]|0)+12>>2]|0)+(b[(c[g>>2]|0)+12>>1]|0)<<2)>>2];j=gE(c[i>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=j;c[(c[k>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2];zJ(c[(c[k>>2]|0)+16>>2]|0);break}d=c[(c[k>>2]|0)+24>>2]|0;if(!(c[i>>2]|0))a=23015;else a=(c[i>>2]|0)==7?23005:22992;c[j>>2]=a;c[p>>2]=Wj(d,42383,j)|0;c[o>>2]=1;Fr(c[(c[k>>2]|0)+20>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}if(!(c[(c[k>>2]|0)+20>>2]|0)){q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}c[o>>2]=Fr(c[(c[k>>2]|0)+20>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=0;a=c[(c[k>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){k=m;m=c[k+4>>2]|0;r=q;c[r>>2]=c[k>>2];c[r+4>>2]=m;c[p>>2]=Wj(a,42412,q)|0;c[o>>2]=1;q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}else{c[r>>2]=Ev(c[(c[k>>2]|0)+24>>2]|0)|0;c[p>>2]=Wj(a,21240,r)|0;q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}return 0}function zJ(b){b=b|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;l=e;return}function AJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(c[b>>2]|0){c[e>>2]=c[(c[b>>2]|0)+24>>2];td(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=Fr(c[(c[b>>2]|0)+20>>2]|0)|0;Xd(c[e>>2]|0,c[b>>2]|0);ud(c[(c[e>>2]|0)+12>>2]|0);g=c[d>>2]|0;l=f;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}return 0}function BJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=CJ(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,148)|0;l=f;return e|0}function CJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;m=r+36|0;s=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[s>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[g>>2]=f;c[i>>2]=c[s>>2];if(!(c[i>>2]|0)){c[m>>2]=qd(84716)|0;s=c[m>>2]|0;l=r;return s|0}c[k>>2]=c[(c[i>>2]|0)+24>>2];td(c[(c[k>>2]|0)+12>>2]|0);c[j>>2]=c[(c[i>>2]|0)+20>>2];do if(!((c[o>>2]|0)<0|(c[p>>2]|0)<0)?(d=c[p>>2]|0,f=c[o>>2]|0,f=_$(d|0,((d|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0,d=D,s=c[(c[i>>2]|0)+4>>2]|0,e=((s|0)<0)<<31>>31,!((d|0)>(e|0)|(d|0)==(e|0)&f>>>0>s>>>0)):0){if(!(c[j>>2]|0)){c[h>>2]=4;break}DJ(c[(c[i>>2]|0)+16>>2]|0);c[h>>2]=Kb[c[g>>2]&255](c[(c[i>>2]|0)+16>>2]|0,(c[p>>2]|0)+(c[(c[i>>2]|0)+8>>2]|0)|0,c[o>>2]|0,c[n>>2]|0)|0;EJ(c[(c[i>>2]|0)+16>>2]|0);if((c[h>>2]|0)==4){Ir(c[j>>2]|0)|0;c[(c[i>>2]|0)+20>>2]=0;break}else{c[(c[j>>2]|0)+40>>2]=c[h>>2];break}}else q=5;while(0);if((q|0)==5)c[h>>2]=1;ml(c[k>>2]|0,c[h>>2]|0);c[h>>2]=Jr(c[k>>2]|0,c[h>>2]|0)|0;ud(c[(c[k>>2]|0)+12>>2]|0);c[m>>2]=c[h>>2];s=c[m>>2]|0;l=r;return s|0}function DJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;el(c[c[d>>2]>>2]|0);l=b;return}function EJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;bl(c[c[d>>2]>>2]|0);l=b;return}function FJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=CJ(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,149)|0;l=f;return e|0}function GJ(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=SD(c[h>>2]|0)|0;else a=0;c[m>>2]=a;if(c[m>>2]|0){c[g>>2]=c[m>>2];m=c[g>>2]|0;l=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)!=1){c[g>>2]=4;m=c[g>>2]|0;l=n;return m|0}_p(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,c[h>>2]|0)|0;if(!((d[(c[h>>2]|0)+64>>0]|0)&1)){c[g>>2]=8;m=c[g>>2]|0;l=n;return m|0}else{c[g>>2]=zq(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,1)|0;m=c[g>>2]|0;l=n;return m|0}return 0}function HJ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;l=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;l=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;l=d;return e|0}function IJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;g=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=qd(84814)|0;n=c[e>>2]|0;l=m;return n|0}c[i>>2]=c[(c[h>>2]|0)+24>>2];td(c[(c[i>>2]|0)+12>>2]|0);if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[g>>2]=yJ(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,j)|0;if(c[g>>2]|0){f=c[i>>2]|0;h=c[g>>2]|0;n=c[j>>2]|0?21240:0;c[k>>2]=c[j>>2];ll(f,h,n,k);Xd(c[i>>2]|0,c[j>>2]|0)}}else c[g>>2]=4;c[g>>2]=Jr(c[i>>2]|0,c[g>>2]|0)|0;ud(c[(c[i>>2]|0)+12>>2]|0);c[e>>2]=c[g>>2];n=c[e>>2]|0;l=m;return n|0}function JJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=KJ(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;l=f;return e|0}function KJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[g>>2]=0;td(c[(c[m>>2]|0)+12>>2]|0);c[h>>2]=md(c[n>>2]|0)|0;if(!(hv((c[m>>2]|0)+320|0,c[n>>2]|0)|0)){c[i>>2]=Ed(c[m>>2]|0,20+(c[h>>2]|0)+1|0,0)|0;if(c[i>>2]|0?(c[k>>2]=(c[i>>2]|0)+20,h0(c[k>>2]|0,c[n>>2]|0,(c[h>>2]|0)+1|0)|0,c[(c[i>>2]|0)+4>>2]=c[k>>2],c[c[i>>2]>>2]=c[o>>2],c[(c[i>>2]|0)+8>>2]=c[p>>2],c[(c[i>>2]|0)+12>>2]=c[q>>2],c[(c[i>>2]|0)+16>>2]=0,c[j>>2]=Fk((c[m>>2]|0)+320|0,c[k>>2]|0,c[i>>2]|0)|0,c[j>>2]|0):0){Od(c[m>>2]|0);Xd(c[m>>2]|0,c[j>>2]|0)}}else c[g>>2]=qd(122590)|0;c[g>>2]=Jr(c[m>>2]|0,c[g>>2]|0)|0;if(!((c[g>>2]|0)!=0&(c[q>>2]|0)!=0)){q=c[m>>2]|0;q=q+12|0;q=c[q>>2]|0;ud(q);q=c[g>>2]|0;l=r;return q|0}Eb[c[q>>2]&255](c[p>>2]|0);q=c[m>>2]|0;q=q+12|0;q=c[q>>2]|0;ud(q);q=c[g>>2]|0;l=r;return q|0}function LJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=KJ(c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return f|0}function MJ(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;r=s;i=s+40|0;j=s+36|0;k=s+32|0;m=s+28|0;n=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;g=s+8|0;h=s+4|0;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[q>>2]=0;td(c[(c[j>>2]|0)+12>>2]|0);c[m>>2]=c[(c[j>>2]|0)+336>>2];if(c[m>>2]|0?(c[(c[m>>2]|0)+12>>2]|0)==0:0){c[p>>2]=c[(c[m>>2]|0)+4>>2];c[n>>2]=_l(c[j>>2]|0,480,0)|0;if(!(c[n>>2]|0))c[o>>2]=7;else{a[(c[n>>2]|0)+410>>0]=1;c[c[n>>2]>>2]=c[j>>2];c[(c[n>>2]|0)+136>>2]=1;if((((0==(Ps(c[n>>2]|0,c[k>>2]|0,q)|0)?c[(c[n>>2]|0)+440>>2]|0:0)?!(a[(c[j>>2]|0)+69>>0]|0):0)?!(c[(c[(c[n>>2]|0)+440>>2]|0)+12>>2]|0):0)?(d[(c[(c[n>>2]|0)+440>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[p>>2]|0)+4>>2]|0)){c[g>>2]=c[(c[n>>2]|0)+440>>2];c[(c[p>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];b[(c[p>>2]|0)+34>>1]=b[(c[g>>2]|0)+34>>1]|0;r=(c[p>>2]|0)+42|0;a[r>>0]=d[r>>0]|d[(c[g>>2]|0)+42>>0]&96;b[(c[g>>2]|0)+34>>1]=0;c[(c[g>>2]|0)+4>>2]=0;if(d[(c[g>>2]|0)+42>>0]&32|0?c[(c[c[(c[c[m>>2]>>2]|0)+4>>2]>>2]|0)+52>>2]|0:0)c[o>>2]=1;c[h>>2]=c[(c[g>>2]|0)+8>>2];if(c[h>>2]|0){c[(c[p>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=c[p>>2]}}c[(c[m>>2]|0)+12>>2]=1}else{m=c[j>>2]|0;p=c[q>>2]|0?21240:0;c[r>>2]=c[q>>2];ll(m,1,p,r);Xd(c[j>>2]|0,c[q>>2]|0);c[o>>2]=1}a[(c[n>>2]|0)+410>>0]=0;if(c[(c[n>>2]|0)+8>>2]|0)Ir(c[(c[n>>2]|0)+8>>2]|0)|0;tk(c[j>>2]|0,c[(c[n>>2]|0)+440>>2]|0);ql(c[n>>2]|0);Xd(c[j>>2]|0,c[n>>2]|0)}c[o>>2]=Jr(c[j>>2]|0,c[o>>2]|0)|0;ud(c[(c[j>>2]|0)+12>>2]|0);c[i>>2]=c[o>>2];r=c[i>>2]|0;l=s;return r|0}ml(c[j>>2]|0,21);ud(c[(c[j>>2]|0)+12>>2]|0);c[i>>2]=qd(123278)|0;r=c[i>>2]|0;l=s;return r|0}function NJ(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[42432+((d[(c[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function OJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+36|0;m=k+32|0;g=k+16|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[m>>2]=d;c[h>>2]=0;td(c[(c[f>>2]|0)+12>>2]|0);c[g>>2]=e;do if((c[m>>2]|0)==1){c[i>>2]=c[(c[f>>2]|0)+336>>2];if(c[i>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);m=c[e>>2]|0;c[g>>2]=e+4;c[j>>2]=m;a[(c[c[i>>2]>>2]|0)+16>>0]=c[j>>2];break}else{c[h>>2]=qd(123749)|0;break}}else c[h>>2]=qd(123757)|0;while(0);if(!(c[h>>2]|0)){m=c[f>>2]|0;m=m+12|0;m=c[m>>2]|0;ud(m);m=c[h>>2]|0;l=k;return m|0}ml(c[f>>2]|0,c[h>>2]|0);m=c[f>>2]|0;m=m+12|0;m=c[m>>2]|0;ud(m);m=c[h>>2]|0;l=k;return m|0}function PJ(){return 3015001}function QJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;o=x+76|0;p=x+72|0;q=x+56|0;r=x+52|0;s=x+48|0;t=x+44|0;u=x+40|0;v=x+36|0;e=x+32|0;f=x+28|0;g=x+24|0;h=x+20|0;i=x+16|0;j=x+12|0;k=x+8|0;m=x+4|0;n=x;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;switch(c[p>>2]|0){case 1e3:{d=(c[q>>2]|0)+(4-1)&~(4-1);w=c[d>>2]|0;c[q>>2]=d+4;c[s>>2]=w;c[c[(c[o>>2]|0)+16>>2]>>2]=c[s>>2];c[r>>2]=0;w=c[r>>2]|0;l=x;return w|0}case 1001:{d=(c[q>>2]|0)+(4-1)&~(4-1);w=c[d>>2]|0;c[q>>2]=d+4;c[u>>2]=w;c[t>>2]=c[u>>2];w=(c[q>>2]|0)+(4-1)&~(4-1);d=c[w>>2]|0;c[q>>2]=w+4;c[e>>2]=d;c[v>>2]=c[e>>2];d=(c[q>>2]|0)+(4-1)&~(4-1);w=c[d>>2]|0;c[q>>2]=d+4;c[g>>2]=w;c[f>>2]=c[g>>2];c[r>>2]=RJ(c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,c[f>>2]|0)|0;w=c[r>>2]|0;l=x;return w|0}default:{c[r>>2]=1;c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=4){w=17;break}if((c[6260+(c[h>>2]<<3)>>2]|0)==(c[p>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}if((w|0)==17){w=c[r>>2]|0;l=x;return w|0}w=(c[q>>2]|0)+(4-1)&~(4-1);d=c[w>>2]|0;c[q>>2]=w+4;c[j>>2]=d;c[i>>2]=c[j>>2];d=(c[q>>2]|0)+(4-1)&~(4-1);w=c[d>>2]|0;c[q>>2]=d+4;c[m>>2]=w;c[k>>2]=c[m>>2];c[n>>2]=c[(c[o>>2]|0)+24>>2];if((c[i>>2]|0)<=0){if(!(c[i>>2]|0)){w=(c[o>>2]|0)+24|0;c[w>>2]=c[w>>2]&~c[6260+(c[h>>2]<<3)+4>>2]}}else{w=(c[o>>2]|0)+24|0;c[w>>2]=c[w>>2]|c[6260+(c[h>>2]<<3)+4>>2]}if((c[n>>2]|0)!=(c[(c[o>>2]|0)+24>>2]|0))Qq(c[o>>2]|0);if(c[k>>2]|0)c[c[k>>2]>>2]=(c[(c[o>>2]|0)+24>>2]&c[6260+(c[h>>2]<<3)+4>>2]|0)!=0&1;c[r>>2]=0;w=c[r>>2]|0;l=x;return w|0}}return 0}function RJ(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q+28|0;o=q+24|0;j=q+20|0;k=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;i=q;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;if(c[(c[o>>2]|0)+256+8>>2]|0){c[p>>2]=5;p=c[p>>2]|0;l=q;return p|0}if(a[(c[o>>2]|0)+256+6>>0]|0)_d(c[(c[o>>2]|0)+256+32>>2]|0);g=c[k>>2]&-8;c[k>>2]=g;c[k>>2]=(c[k>>2]|0)<=4?0:g;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[k>>2]|0)==0|(c[m>>2]|0)==0)){if(c[j>>2]|0){c[n>>2]=c[j>>2];break}Ug();g=S(c[k>>2]|0,c[m>>2]|0)|0;c[n>>2]=Fd(g,((g|0)<0)<<31>>31)|0;Wg();if(c[n>>2]|0){g=Kd(c[n>>2]|0)|0;c[m>>2]=(g|0)/(c[k>>2]|0)|0}}else{c[k>>2]=0;c[n>>2]=0}while(0);c[(c[o>>2]|0)+256+32>>2]=c[n>>2];c[(c[o>>2]|0)+256+28>>2]=0;b[(c[o>>2]|0)+256+4>>1]=c[k>>2];if(c[n>>2]|0){c[i>>2]=c[n>>2];c[h>>2]=(c[m>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;c[c[i>>2]>>2]=c[(c[o>>2]|0)+256+28>>2];c[(c[o>>2]|0)+256+28>>2]=c[i>>2];c[i>>2]=(c[i>>2]|0)+(c[k>>2]|0);c[h>>2]=(c[h>>2]|0)+-1}c[(c[o>>2]|0)+256+36>>2]=c[i>>2];c[(c[o>>2]|0)+256>>2]=0;e=((c[j>>2]|0)==0?1:0)&255;d=c[o>>2]|0}else{c[(c[o>>2]|0)+256+32>>2]=c[o>>2];c[(c[o>>2]|0)+256+36>>2]=c[o>>2];c[(c[o>>2]|0)+256>>2]=1;e=0;d=c[o>>2]|0}a[d+256+6>>0]=e;c[p>>2]=0;p=c[p>>2]|0;l=q;return p|0}function SJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=TJ(c[d>>2]|0,0)|0;l=b;return a|0}function TJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=i+12|0;f=i+8|0;g=i+4|0;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}if(!(Fv(c[f>>2]|0)|0)){c[e>>2]=qd(138867)|0;h=c[e>>2]|0;l=i;return h|0}td(c[(c[f>>2]|0)+12>>2]|0);if((d[(c[f>>2]|0)+76>>0]|0)&8|0)Kb[c[(c[f>>2]|0)+184>>2]&255](8,c[(c[f>>2]|0)+188>>2]|0,c[f>>2]|0,0)|0;UJ(c[f>>2]|0);Br(c[f>>2]|0)|0;if((c[g>>2]|0)==0?rr(c[f>>2]|0)|0:0){ll(c[f>>2]|0,5,42442,h);ud(c[(c[f>>2]|0)+12>>2]|0);c[e>>2]=5;h=c[e>>2]|0;l=i;return h|0}c[(c[f>>2]|0)+84>>2]=1691352191;qr(c[f>>2]|0);c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}function UJ(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[b>>2]=a;pk(c[b>>2]|0);c[e>>2]=0;while(1){a=c[b>>2]|0;if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[g>>2]=c[(c[a+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[g>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[h>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[h>>2]|0)+42>>0]|0)&16|0)VJ(c[b>>2]|0,c[h>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[a+320+8>>2];while(1){if(!(c[f>>2]|0))break;c[i>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[i>>2]|0)+16>>2]|0)VJ(c[b>>2]|0,c[(c[i>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}Oq(c[b>>2]|0);rk(c[b>>2]|0);l=j;return}function VJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;d=h+12|0;i=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[i>>2]=b;c[e>>2]=(c[i>>2]|0)+56;while(1){if(!(c[c[e>>2]>>2]|0)){g=6;break}a=c[c[e>>2]>>2]|0;if((c[c[c[e>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[e>>2]=a+24}if((g|0)==6){l=h;return}c[f>>2]=a;c[c[e>>2]>>2]=c[(c[f>>2]|0)+24>>2];Dk(c[f>>2]|0);l=h;return}function WJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=TJ(c[d>>2]|0,1)|0;l=b;return a|0}function XJ(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=l;l=l+32|0;s=j+28|0;r=j+24|0;q=j+20|0;p=j+16|0;o=j+12|0;n=j+8|0;m=j+4|0;k=j;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[k>>2]=i;i=YJ(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,0)|0;l=j;return i|0}function YJ(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;v=x+40|0;k=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;r=x+12|0;s=x+8|0;t=x+4|0;u=x;c[v>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=1;c[u>>2]=0;td(c[(c[v>>2]|0)+12>>2]|0);do if(c[s>>2]|0){c[u>>2]=_l(c[v>>2]|0,12,0)|0;a=c[s>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[o>>2];w=5;break}else{Eb[a&255](c[o>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[t>>2]=WA(c[v>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0,c[u>>2]|0):0)?(c[c[u>>2]>>2]|0)==0:0){Eb[c[s>>2]&255](c[o>>2]|0);Xd(c[v>>2]|0,c[u>>2]|0)}c[t>>2]=Jr(c[v>>2]|0,c[t>>2]|0)|0;ud(c[(c[v>>2]|0)+12>>2]|0);l=x;return c[t>>2]|0}function ZJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;td(c[(c[e>>2]|0)+12>>2]|0);if(!(ox(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=WA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,232,0,0,0)|0;c[h>>2]=Jr(c[e>>2]|0,c[h>>2]|0)|0;ud(c[(c[e>>2]|0)+12>>2]|0);l=i;return c[h>>2]|0}function _J(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+32|0;h=e;g=e+20|0;i=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[i>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[i>>2];c[f>>2]=nf(42510,h)|0;Th(c[g>>2]|0,c[f>>2]|0,-1);_d(c[f>>2]|0);l=e;return}function $J(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[e>>2]=a;if(c[e>>2]|0?(Fv(c[e>>2]|0)|0)==0:0){c[b>>2]=qd(140115)|0;e=c[b>>2]|0;l=f;return e|0}if(c[e>>2]|0?(d[(c[e>>2]|0)+69>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];e=c[b>>2]|0;l=f;return e|0}c[b>>2]=7;e=c[b>>2]|0;l=f;return e|0}function aK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=bK(c[f>>2]|0,c[e>>2]|0,6,0)|0;l=d;return b|0}function bK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;r=s;k=s+40|0;m=s+36|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;h=s+16|0;g=s+12|0;i=s+8|0;j=s+4|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[i>>2]=0;c[j>>2]=0;c[c[n>>2]>>2]=0;c[h>>2]=fe()|0;if(c[h>>2]|0){c[k>>2]=c[h>>2];r=c[k>>2]|0;l=s;return r|0}if(!(1<<(c[o>>2]&7)&70)){c[k>>2]=qd(140621)|0;r=c[k>>2]|0;l=s;return r|0}do if(c[3]|0){if(c[o>>2]&32768|0){c[g>>2]=0;break}if(c[o>>2]&65536|0){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[o>>2]&262144|0)){if(c[57]|0)c[o>>2]=c[o>>2]|131072}else c[o>>2]=c[o>>2]&-131073;c[o>>2]=c[o>>2]&-655129;c[q>>2]=Xg(464,0)|0;do if(c[q>>2]|0){if(c[g>>2]|0?(f=ie(1)|0,c[(c[q>>2]|0)+12>>2]=f,(c[(c[q>>2]|0)+12>>2]|0)==0):0){_d(c[q>>2]|0);c[q>>2]=0;break}td(c[(c[q>>2]|0)+12>>2]|0);c[(c[q>>2]|0)+56>>2]=255;c[(c[q>>2]|0)+20>>2]=2;c[(c[q>>2]|0)+84>>2]=-264537850;c[(c[q>>2]|0)+16>>2]=(c[q>>2]|0)+392;b=(c[q>>2]|0)+96|0;d=5440;g=b+48|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(g|0));c[(c[q>>2]|0)+96+44>>2]=0;a[(c[q>>2]|0)+67>>0]=1;a[(c[q>>2]|0)+72>>0]=-1;g=184;e=c[g+4>>2]|0;f=(c[q>>2]|0)+40|0;c[f>>2]=c[g>>2];c[f+4>>2]=e;c[(c[q>>2]|0)+80>>2]=0;c[(c[q>>2]|0)+144>>2]=2147483647;f=(c[q>>2]|0)+24|0;c[f>>2]=c[f>>2]|17825888;Rq((c[q>>2]|0)+364|0);Rq((c[q>>2]|0)+320|0);dK(c[q>>2]|0,34455,1,0,147,0)|0;dK(c[q>>2]|0,34455,3,0,147,0)|0;dK(c[q>>2]|0,34455,2,0,147,0)|0;dK(c[q>>2]|0,34448,1,0,148,0)|0;dK(c[q>>2]|0,42561,1,1,147,0)|0;if(!(a[(c[q>>2]|0)+69>>0]|0)){f=tw(c[q>>2]|0,1,34455,0)|0;c[(c[q>>2]|0)+8>>2]=f;c[(c[q>>2]|0)+48>>2]=c[o>>2];c[h>>2]=Sz(c[p>>2]|0,c[m>>2]|0,o,c[q>>2]|0,i,j)|0;if(c[h>>2]|0){if((c[h>>2]|0)==7)Od(c[q>>2]|0);m=c[q>>2]|0;o=c[h>>2]|0;p=c[j>>2]|0?21240:0;c[r>>2]=c[j>>2];ll(m,o,p,r);_d(c[j>>2]|0);break}c[h>>2]=rl(c[c[q>>2]>>2]|0,c[i>>2]|0,c[q>>2]|0,(c[(c[q>>2]|0)+16>>2]|0)+4|0,0,c[o>>2]|256)|0;if(c[h>>2]|0){if((c[h>>2]|0)==3082)c[h>>2]=7;ml(c[q>>2]|0,c[h>>2]|0);break}el(c[(c[(c[q>>2]|0)+16>>2]|0)+4>>2]|0);r=Tz(c[q>>2]|0,c[(c[(c[q>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]=r;if(!(a[(c[q>>2]|0)+69>>0]|0))a[(c[q>>2]|0)+66>>0]=a[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;bl(c[(c[(c[q>>2]|0)+16>>2]|0)+4>>2]|0);r=Tz(c[q>>2]|0,0)|0;c[(c[(c[q>>2]|0)+16>>2]|0)+16+12>>2]=r;c[c[(c[q>>2]|0)+16>>2]>>2]=42567;a[(c[(c[q>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[q>>2]|0)+16>>2]|0)+16>>2]=42437;a[(c[(c[q>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[q>>2]|0)+84>>2]=-1607883113;if(!(a[(c[q>>2]|0)+69>>0]|0)){ml(c[q>>2]|0,0);fK(c[q>>2]|0);c[h>>2]=$J(c[q>>2]|0)|0;if((c[h>>2]|0)==0?(a[(c[q>>2]|0)+69>>0]|0)==0:0)c[h>>2]=gK(c[q>>2]|0)|0;if((c[h>>2]|0)==0?(hK(c[q>>2]|0),c[h>>2]=$J(c[q>>2]|0)|0,c[h>>2]|0):0)break;if((c[h>>2]|0)==0?(a[(c[q>>2]|0)+69>>0]|0)==0:0)c[h>>2]=iK(c[q>>2]|0)|0;if(c[h>>2]|0)ml(c[q>>2]|0,c[h>>2]|0);RJ(c[q>>2]|0,0,c[9]|0,c[10]|0)|0;HA(c[q>>2]|0,1e3)|0}}}while(0);if(c[q>>2]|0)ud(c[(c[q>>2]|0)+12>>2]|0);c[h>>2]=$J(c[q>>2]|0)|0;if((c[h>>2]|0)!=7){if(c[h>>2]|0)c[(c[q>>2]|0)+84>>2]=1266094736}else{SJ(c[q>>2]|0)|0;c[q>>2]=0}c[c[n>>2]>>2]=c[q>>2];_d(c[i>>2]|0);c[k>>2]=c[h>>2]&255;r=c[k>>2]|0;l=s;return r|0}function cK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[h>>2]=(c[j>>2]|0)<(c[m>>2]|0)?c[j>>2]|0:c[m>>2]|0;c[g>>2]=H_(c[k>>2]|0,c[n>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){n=c[g>>2]|0;l=o;return n|0}if((c[i>>2]|0?m_((c[k>>2]|0)+(c[h>>2]|0)|0,(c[j>>2]|0)-(c[h>>2]|0)|0)|0:0)?m_((c[n>>2]|0)+(c[h>>2]|0)|0,(c[m>>2]|0)-(c[h>>2]|0)|0)|0:0){n=c[g>>2]|0;l=o;return n|0}c[g>>2]=(c[j>>2]|0)-(c[m>>2]|0);n=c[g>>2]|0;l=o;return n|0}function dK(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;w=x;s=x+44|0;t=x+40|0;u=x+36|0;v=x+48|0;j=x+32|0;k=x+28|0;m=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;q=x+8|0;r=x+4|0;c[t>>2]=b;c[u>>2]=e;a[v>>0]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=i;c[o>>2]=d[v>>0];if((c[o>>2]|0)==4|(c[o>>2]|0)==8)c[o>>2]=(a[936]|0)==0?3:2;if((c[o>>2]|0)<1|(c[o>>2]|0)>3){c[s>>2]=qd(140172)|0;w=c[s>>2]|0;l=x;return w|0}c[n>>2]=tw(c[t>>2]|0,c[o>>2]&255,c[u>>2]|0,0)|0;a:do if(c[n>>2]|0?c[(c[n>>2]|0)+12>>2]|0:0){b=c[t>>2]|0;if(c[(c[t>>2]|0)+156>>2]|0){ll(b,5,52503,w);c[s>>2]=5;w=c[s>>2]|0;l=x;return w|0}Qq(b);if((d[(c[n>>2]|0)+4>>0]&-9|0)==(c[o>>2]|0)){c[p>>2]=hv((c[t>>2]|0)+364|0,c[u>>2]|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break a;c[r>>2]=(c[p>>2]|0)+((c[q>>2]|0)*20|0);if((d[(c[r>>2]|0)+4>>0]|0)==(d[(c[n>>2]|0)+4>>0]|0)){if(c[(c[r>>2]|0)+16>>2]|0)Eb[c[(c[r>>2]|0)+16>>2]&255](c[(c[r>>2]|0)+8>>2]|0);c[(c[r>>2]|0)+12>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}}while(0);c[n>>2]=tw(c[t>>2]|0,c[o>>2]&255,c[u>>2]|0,1)|0;if(!(c[n>>2]|0)){c[s>>2]=7;w=c[s>>2]|0;l=x;return w|0}else{c[(c[n>>2]|0)+12>>2]=c[k>>2];c[(c[n>>2]|0)+8>>2]=c[j>>2];c[(c[n>>2]|0)+16>>2]=c[m>>2];a[(c[n>>2]|0)+4>>0]=c[o>>2]|d[v>>0]&8;ml(c[t>>2]|0,0);c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}return 0}function eK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;h=j+16|0;m=j+12|0;i=j+8|0;k=j+4|0;g=j;c[j+20>>2]=a;c[h>>2]=b;c[m>>2]=d;c[i>>2]=e;c[k>>2]=f;c[g>>2]=ld(c[m>>2]|0,c[k>>2]|0,(c[h>>2]|0)<(c[i>>2]|0)?c[h>>2]|0:c[i>>2]|0)|0;if(c[g>>2]|0){m=c[g>>2]|0;l=j;return m|0}c[g>>2]=(c[h>>2]|0)-(c[i>>2]|0);m=c[g>>2]|0;l=j;return m|0}function fK(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=ZJ(c[b>>2]|0,52497,2)|0;if((c[e>>2]|0)!=7){l=d;return}Od(c[b>>2]|0);l=d;return}function gK(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=ZQ(c[d>>2]|0)|0;l=b;return a|0}function hK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m;b=m+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;c[b>>2]=a;c[e>>2]=1;if(!(c[13792]|0)){l=m;return}c[d>>2]=0;while(1){if(!(c[e>>2]|0))break;c[i>>2]=ie(2)|0;c[j>>2]=0;td(c[i>>2]|0);if((c[d>>2]|0)>>>0>=(c[13792]|0)>>>0){c[g>>2]=0;c[e>>2]=0}else c[g>>2]=c[(c[13793]|0)+(c[d>>2]<<2)>>2];ud(c[i>>2]|0);c[h>>2]=0;if(c[g>>2]|0?(a=Bb[c[g>>2]&255](c[b>>2]|0,h,c[j>>2]|0)|0,c[f>>2]=a,a|0):0){n=c[b>>2]|0;a=c[f>>2]|0;c[k>>2]=c[h>>2];ll(n,a,47691,k);c[e>>2]=0}_d(c[h>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=m;return}function iK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;jK(i);c[e>>2]=kK(c[d>>2]|0)|0;if(c[e>>2]|0){c[b>>2]=c[e>>2];i=c[b>>2]|0;l=j;return i|0}lK(g);mK(h);c[f>>2]=pe(20)|0;if(c[f>>2]|0)nK(c[f>>2]|0,1,1);else c[e>>2]=7;do if(!(c[e>>2]|0)){if(((oK(c[f>>2]|0,42572,7,c[g>>2]|0)|0)==0?(oK(c[f>>2]|0,42579,7,c[h>>2]|0)|0)==0:0)?(oK(c[f>>2]|0,42586,10,c[i>>2]|0)|0)==0:0)break;c[e>>2]=7}while(0);if((((((0==(c[e>>2]|0)?(i=pK(c[d>>2]|0,c[f>>2]|0,42596)|0,c[e>>2]=i,0==(i|0)):0)?(i=ZJ(c[d>>2]|0,42611,-1)|0,c[e>>2]=i,0==(i|0)):0)?(i=ZJ(c[d>>2]|0,42619,1)|0,c[e>>2]=i,0==(i|0)):0)?(i=ZJ(c[d>>2]|0,42627,1)|0,c[e>>2]=i,0==(i|0)):0)?(i=ZJ(c[d>>2]|0,42627,2)|0,c[e>>2]=i,0==(i|0)):0)?(i=ZJ(c[d>>2]|0,42637,1)|0,c[e>>2]=i,0==(i|0)):0){c[e>>2]=LJ(c[d>>2]|0,42646,6292,c[f>>2]|0,161)|0;if(!(c[e>>2]|0))c[e>>2]=LJ(c[d>>2]|0,42651,6292,c[f>>2]|0,0)|0;if(!(c[e>>2]|0))c[e>>2]=rK(c[d>>2]|0,c[f>>2]|0)|0;c[b>>2]=c[e>>2];i=c[b>>2]|0;l=j;return i|0}if(c[f>>2]|0){sK(c[f>>2]|0);_d(c[f>>2]|0)}c[b>>2]=c[e>>2];i=c[b>>2]|0;l=j;return i|0}function jK(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=6912;l=b;return}function kK(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=JJ(c[e>>2]|0,47509,6820,0)|0;l=d;return c[b>>2]|0}function lK(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=6792;l=b;return}function mK(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=6764;l=b;return}function nK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f;i=f+5|0;h=f+4|0;c[g>>2]=b;a[i>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[i>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;l=f;return}function oK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;m=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;q=s+24|0;r=s+20|0;j=s+16|0;g=s+12|0;k=s+8|0;t=s+4|0;h=s;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[t>>2]=KK(a[c[n>>2]>>0]|0)|0;c[r>>2]=Mb[c[t>>2]&255](c[o>>2]|0,c[p>>2]|0)|0;c[j>>2]=c[r>>2]&(c[(c[n>>2]|0)+12>>2]|0)-1;c[g>>2]=LK(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[q>>2]|0))bQ(c[n>>2]|0,c[g>>2]|0,c[j>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[q>>2];c[m>>2]=c[h>>2];t=c[m>>2]|0;l=s;return t|0}if(!(c[q>>2]|0)){c[m>>2]=0;t=c[m>>2]|0;l=s;return t|0}if(!((c[(c[n>>2]|0)+12>>2]|0)==0?(cQ(c[n>>2]|0,8)|0)!=0:0))i=10;do if((i|0)==10){if((c[(c[n>>2]|0)+4>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0)?cQ(c[n>>2]|0,c[(c[n>>2]|0)+12>>2]<<1)|0:0)break;c[k>>2]=dQ(20)|0;if(!(c[k>>2]|0)){c[m>>2]=c[q>>2];t=c[m>>2]|0;l=s;return t|0}do if(c[o>>2]|0?(a[(c[n>>2]|0)+1>>0]|0)!=0:0){b=dQ(c[p>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+12>>2]|0){h0(c[b+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;break}tK(b);c[m>>2]=c[q>>2];t=c[m>>2]|0;l=s;return t|0}else c[(c[k>>2]|0)+12>>2]=c[o>>2];while(0);c[(c[k>>2]|0)+16>>2]=c[p>>2];t=(c[n>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[j>>2]=c[r>>2]&(c[(c[n>>2]|0)+12>>2]|0)-1;eQ(c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+(c[j>>2]<<3)|0,c[k>>2]|0);c[(c[k>>2]|0)+8>>2]=c[q>>2];c[m>>2]=0;t=c[m>>2]|0;l=s;return t|0}while(0);c[(c[n>>2]|0)+4>>2]=0;c[m>>2]=c[q>>2];t=c[m>>2]|0;l=s;return t|0}function pK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;j=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[j>>2];c[i>>2]=5;if(!(c[g>>2]|0))c[g>>2]=XJ(c[e>>2]|0,c[f>>2]|0,1,5,c[h>>2]|0,233,0,0)|0;if(c[g>>2]|0){j=c[g>>2]|0;l=i;return j|0}c[g>>2]=XJ(c[e>>2]|0,c[f>>2]|0,2,5,c[h>>2]|0,233,0,0)|0;j=c[g>>2]|0;l=i;return j|0}function qK(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];sK(c[d>>2]|0);_d(c[d>>2]|0);l=b;return}function rK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=JJ(c[g>>2]|0,42656,6384,c[f>>2]|0)|0;l=e;return c[d>>2]|0}function sK(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;tK(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if(a[(c[d>>2]|0)+1>>0]|0?c[(c[e>>2]|0)+12>>2]|0:0)tK(c[(c[e>>2]|0)+12>>2]|0);tK(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;l=g;return}function tK(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return}function uK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+64|0;t=w+56|0;x=w+52|0;u=w+48|0;v=w+44|0;h=w+40|0;i=w+36|0;j=w+32|0;k=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;s=w;c[x>>2]=a;c[u>>2]=b;c[v>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;c[p>>2]=0;c[o>>2]=MJ(c[x>>2]|0,42669)|0;if(c[o>>2]|0){c[t>>2]=c[o>>2];x=c[t>>2]|0;l=w;return x|0}c[q>>2]=(c[v>>2]|0)-3;c[o>>2]=FK(c[q>>2]|0,(c[h>>2]|0)+12|0,p)|0;if(!(c[o>>2]|0)){if((c[q>>2]|0)<1)c[r>>2]=42572;else c[r>>2]=c[c[p>>2]>>2];c[o>>2]=GK(c[u>>2]|0,c[r>>2]|0,m,c[j>>2]|0)|0}if(!(c[o>>2]|0)){c[s>>2]=(c[p>>2]|0)+4;c[o>>2]=Bb[c[(c[m>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[s>>2]|0,n)|0}if((c[o>>2]|0)==0?(c[k>>2]=pe(20)|0,(c[k>>2]|0)==0):0)c[o>>2]=7;if(c[o>>2]|0){if(c[n>>2]|0)Hb[c[(c[m>>2]|0)+8>>2]&255](c[n>>2]|0)|0}else{x=c[k>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+16>>2]=c[n>>2];c[c[i>>2]>>2]=c[k>>2]}_d(c[p>>2]|0);c[t>>2]=c[o>>2];x=c[t>>2]|0;l=w;return x|0}function vK(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+4|0;i=j;c[j+8>>2]=b;c[g>>2]=e;c[i>>2]=0;while(1){b=c[g>>2]|0;if((c[i>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if((d[(c[b+4>>2]|0)+((c[i>>2]|0)*12|0)+5>>0]|0|0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[i>>2]=(c[i>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[i>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[i>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}else if((e|0)==8){c[b+20>>2]=0;c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}return 0}function wK(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Hb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;_d(c[d>>2]|0);l=b;return 0}function xK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=pe(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;l=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}return 0}function yK(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];EK(c[d>>2]|0);_d(c[d>>2]|0);l=b;return 0}function zK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;o=q+40|0;p=q+36|0;r=q+32|0;h=q+20|0;i=q+16|0;j=q+12|0;k=q+8|0;m=q+4|0;n=q;c[p>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[h>>2]=g;c[i>>2]=1;c[j>>2]=c[p>>2];c[k>>2]=c[c[p>>2]>>2];EK(c[j>>2]|0);do if((c[r>>2]|0)==1){c[m>>2]=Rh(c[c[h>>2]>>2]|0)|0;c[n>>2]=Sh(c[c[h>>2]>>2]|0)|0;r=pe((c[n>>2]|0)+1|0)|0;c[(c[j>>2]|0)+4>>2]=r;if(!(c[(c[j>>2]|0)+4>>2]|0)){c[i>>2]=7;break}h0(c[(c[j>>2]|0)+4>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;a[(c[(c[j>>2]|0)+4>>2]|0)+(c[n>>2]|0)>>0]=0;c[i>>2]=Kb[c[(c[(c[k>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0,(c[j>>2]|0)+8|0)|0;if(!(c[i>>2]|0))c[c[(c[j>>2]|0)+8>>2]>>2]=c[(c[k>>2]|0)+16>>2]}while(0);if(c[i>>2]|0){c[o>>2]=c[i>>2];r=c[o>>2]|0;l=q;return r|0}else{c[o>>2]=AK(c[p>>2]|0)|0;r=c[o>>2]|0;l=q;return r|0}return 0}function AK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=Gb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;l=e;return g|0}EK(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;l=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=e;return g|0}function BK(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function CK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+12|0;e=g+8|0;h=g+4|0;f=g;c[i>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[i>>2];switch(c[h>>2]|0){case 0:{xi(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);l=g;return 0}case 1:{xi(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);l=g;return 0}case 2:{Xh(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);l=g;return 0}case 3:{Xh(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);l=g;return 0}default:{Xh(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);l=g;return 0}}return 0}function DK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;l=d;return 0}function EK(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];Hb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}_d(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;l=e;return}function FK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;e=o+4|0;f=o;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){c[c[i>>2]>>2]=0;n=c[j>>2]|0;l=o;return n|0}c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;d=(g$(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}m=pe((c[g>>2]<<2)+(c[m>>2]|0)|0)|0;c[n>>2]=m;c[c[i>>2]>>2]=m;if(!(c[n>>2]|0)){c[j>>2]=7;n=c[j>>2]|0;l=o;return n|0}c[e>>2]=(c[n>>2]|0)+(c[g>>2]<<2);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;c[f>>2]=g$(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[(c[n>>2]|0)+(c[k>>2]<<2)>>2]=c[e>>2];h0(c[e>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0,(c[f>>2]|0)+1|0)|0;RK(c[e>>2]|0);c[e>>2]=(c[e>>2]|0)+((c[f>>2]|0)+1);c[k>>2]=(c[k>>2]|0)+1}n=c[j>>2]|0;l=o;return n|0}function GK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;k=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[n>>2]=g$(c[g>>2]|0)|0;c[j>>2]=HK(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[f>>2]=0;o=c[f>>2]|0;l=m;return o|0}else{o=c[i>>2]|0;c[k>>2]=c[g>>2];IK(o,42720,k);c[f>>2]=1;o=c[f>>2]|0;l=m;return o|0}return 0}function HK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;e=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=JK(c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=0;l=f;return i|0}i=c[(c[e>>2]|0)+8>>2]|0;l=f;return i|0}function IK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;_d(c[c[f>>2]>>2]|0);c[g>>2]=d;d=vf(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=d;l=e;return}function JK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(c[g>>2]|0?c[(c[g>>2]|0)+16>>2]|0:0){c[k>>2]=KK(a[c[g>>2]>>0]|0)|0;c[j>>2]=Mb[c[k>>2]&255](c[h>>2]|0,c[i>>2]|0)|0;c[f>>2]=LK(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;k=c[f>>2]|0;l=m;return k|0}c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}function KK(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=213;else c[b>>2]=214;l=d;return c[b>>2]|0}function LK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;h=q+28|0;n=q+24|0;o=q+20|0;i=q+16|0;p=q+12|0;j=q+8|0;k=q+4|0;g=q;c[h>>2]=b;c[n>>2]=d;c[o>>2]=e;c[i>>2]=f;a:do if(c[(c[h>>2]|0)+16>>2]|0){c[g>>2]=(c[(c[h>>2]|0)+16>>2]|0)+(c[i>>2]<<3);c[p>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=c[c[g>>2]>>2];c[k>>2]=MK(a[c[h>>2]>>0]|0)|0;while(1){i=c[j>>2]|0;c[j>>2]=i+-1;if(!(i|0?(c[p>>2]|0)!=0:0))break a;i=(Kb[c[k>>2]&255](c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)==0;b=c[p>>2]|0;if(i)break;c[p>>2]=c[b>>2]}c[m>>2]=b;p=c[m>>2]|0;l=q;return p|0}while(0);c[m>>2]=0;p=c[m>>2]|0;l=q;return p|0}function MK(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=150;else c[b>>2]=151;l=d;return c[b>>2]|0}function NK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;k=j;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[k>>2]=e;if((c[h>>2]|0)!=(c[k>>2]|0)){c[f>>2]=1;k=c[f>>2]|0;l=j;return k|0}else{c[f>>2]=I_(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;k=c[f>>2]|0;l=j;return k|0}return 0}function OK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;k=j;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[k>>2]=e;if((c[h>>2]|0)!=(c[k>>2]|0)){c[f>>2]=1;k=c[f>>2]|0;l=j;return k|0}else{c[f>>2]=H_(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;k=c[f>>2]|0;l=j;return k|0}return 0}function PK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=b;c[e>>2]=d;c[f>>2]=c[i>>2];c[g>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=g$(c[f>>2]|0)|0;while(1){b=c[g>>2]|0;if((c[e>>2]|0)<=0)break;d=b<<3^c[g>>2];i=c[f>>2]|0;c[f>>2]=i+1;c[g>>2]=d^a[i>>0];c[e>>2]=(c[e>>2]|0)+-1}l=h;return b&2147483647|0}function QK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[i>>2];while(1){i=c[e>>2]|0;c[e>>2]=i+-1;b=c[f>>2]|0;if((i|0)<=0)break;d=b<<3^c[f>>2];i=c[g>>2]|0;c[g>>2]=i+1;c[f>>2]=d^a[i>>0]}l=h;return b&2147483647|0}function RK(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+8|0;g=j+12|0;h=j+4|0;i=j;c[f>>2]=b;a[g>>0]=a[c[f>>2]>>0]|0;if((((a[g>>0]|0)!=91?(a[g>>0]|0)!=39:0)?(a[g>>0]|0)!=34:0)?(a[g>>0]|0)!=96:0){l=j;return}c[h>>2]=1;c[i>>2]=0;if((a[g>>0]|0)==91)a[g>>0]=93;while(1){if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=c[h>>2]|0;e=d+1|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=(a[g>>0]|0)){c[h>>2]=e;b=a[b+d>>0]|0;d=c[f>>2]|0;e=c[i>>2]|0;c[i>>2]=e+1;a[d+e>>0]=b;continue}if((a[b+e>>0]|0)!=(a[g>>0]|0))break;b=a[g>>0]|0;d=c[f>>2]|0;e=c[i>>2]|0;c[i>>2]=e+1;a[d+e>>0]=b;c[h>>2]=(c[h>>2]|0)+2}a[(c[f>>2]|0)+(c[i>>2]|0)>>0]=0;l=j;return}function SK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=MP(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function TK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=MP(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function UK(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+64|0;m=u+48|0;v=u+44|0;n=u+40|0;o=u+36|0;p=u+32|0;q=u+28|0;r=u+24|0;s=u+20|0;f=u+16|0;g=u+12|0;i=u+8|0;j=u+4|0;k=u;c[v>>2]=b;c[n>>2]=e;c[o>>2]=c[v>>2];c[q>>2]=-1;c[r>>2]=-1;c[s>>2]=-1;c[f>>2]=-1;c[(c[n>>2]|0)+20>>2]=0;h[(c[n>>2]|0)+40>>3]=5.0e6;c[p>>2]=0;a:while(1){b=c[n>>2]|0;if((c[p>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[j>>2]=(c[b+4>>2]|0)+((c[p>>2]|0)*12|0);b=c[j>>2]|0;b:do if(!(d[(c[j>>2]|0)+5>>0]|0)){if((d[b+4>>0]|0)==64){t=5;break a}}else{if((c[b>>2]|0)<0)b=1;else b=(c[c[j>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[i>>2]=b&1;if((c[q>>2]|0)<0?(c[i>>2]|0?(d[(c[j>>2]|0)+4>>0]|0)==2:0):0){c[(c[n>>2]|0)+20>>2]=1;h[(c[n>>2]|0)+40>>3]=1.0;c[q>>2]=c[p>>2]}if(((d[(c[j>>2]|0)+4>>0]|0)==64?(c[c[j>>2]>>2]|0)>=0:0)?(c[c[j>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[n>>2]|0)+20>>2]=2+(c[c[j>>2]>>2]|0);h[(c[n>>2]|0)+40>>3]=2.0;c[q>>2]=c[p>>2]}if((d[(c[j>>2]|0)+4>>0]|0)==2?(c[c[j>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[r>>2]=c[p>>2];if(c[i>>2]|0){v=(d[(c[j>>2]|0)+4>>0]|0)-4|0;switch(v>>>2|v<<30|0){case 0:case 7:{c[s>>2]=c[p>>2];break b}case 3:case 1:{c[f>>2]=c[p>>2];break b}default:break b}}}while(0);c[p>>2]=(c[p>>2]|0)+1}if((t|0)==5){c[(c[n>>2]|0)+20>>2]=0;h[(c[n>>2]|0)+40>>3]=1.e+50;KP(c[n>>2]|0,0,262144);c[m>>2]=0;v=c[m>>2]|0;l=u;return v|0}if((c[b+20>>2]|0)==1)LP(c[n>>2]|0);c[g>>2]=1;if((c[q>>2]|0)>=0){v=c[g>>2]|0;c[g>>2]=v+1;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[q>>2]<<3)>>2]=v;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[q>>2]<<3)+4>>0]=1}if((c[r>>2]|0)>=0){v=(c[n>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[g>>2]|0;c[g>>2]=v+1;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[r>>2]<<3)>>2]=v}if((c[s>>2]|0)>=0){v=(c[n>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[g>>2]|0;c[g>>2]=v+1;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[s>>2]<<3)>>2]=v}if((c[f>>2]|0)>=0){v=(c[n>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[g>>2]|0;c[g>>2]=v+1;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[f>>2]<<3)>>2]=v}do if((c[(c[n>>2]|0)+8>>2]|0)==1){c[k>>2]=c[(c[n>>2]|0)+12>>2];if((c[c[k>>2]>>2]|0)>=0?(c[c[k>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;c[(c[n>>2]|0)+24>>2]=a[(c[k>>2]|0)+4>>0]|0?45749:45754;c[(c[n>>2]|0)+32>>2]=1}while(0);c[m>>2]=0;v=c[m>>2]|0;l=u;return v|0}function VK(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=40)break;Fr(c[a+56+(c[d>>2]<<2)>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}_d(c[a+240>>2]|0);_d(c[(c[b>>2]|0)+216>>2]|0);_d(c[(c[b>>2]|0)+220>>2]|0);_d(c[(c[b>>2]|0)+40>>2]|0);_d(c[(c[b>>2]|0)+44>>2]|0);Hb[c[(c[c[(c[b>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[b>>2]|0)+36>>2]|0)|0;_d(c[b>>2]|0);l=e;return 0}function WK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+64|0;j=n+32|0;i=n+24|0;m=n+16|0;k=n+8|0;h=n;b=n+56|0;d=n+52|0;e=n+48|0;f=n+44|0;g=n+40|0;c[b>>2]=a;c[d>>2]=c[b>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+16>>2];c[g>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){a=c[g>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=o;qL(e,a,45949,h)}o=c[g>>2]|0;h=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[f>>2];c[k+4>>2]=h;qL(e,o,45986,k);o=c[g>>2]|0;k=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[f>>2];c[m+4>>2]=k;qL(e,o,46024,m);o=c[g>>2]|0;m=c[(c[d>>2]|0)+20>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=m;qL(e,o,46060,i);o=c[g>>2]|0;m=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=m;qL(e,o,46097,j);if(!(c[e>>2]|0)){o=VK(c[b>>2]|0)|0;l=n;return o|0}else{o=c[e>>2]|0;l=n;return o|0}return 0}function XK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=pe(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){a=c[d>>2]|0;b=a+96|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;g=c[e>>2]|0;l=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;l=f;return g|0}return 0}function YK(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Fr(c[(c[d>>2]|0)+8>>2]|0)|0;hP(c[(c[d>>2]|0)+12>>2]|0);JP(c[d>>2]|0);_d(c[(c[d>>2]|0)+44>>2]|0);CM(c[(c[d>>2]|0)+92>>2]|0);_d(c[d>>2]|0);l=b;return 0}function ZK(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;E=l;l=l+112|0;C=E+32|0;B=E;z=E+108|0;A=E+104|0;m=E+100|0;n=E+96|0;j=E+88|0;t=E+84|0;u=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;p=E+64|0;q=E+60|0;x=E+56|0;y=E+52|0;k=E+48|0;r=E+44|0;s=E+40|0;c[A>>2]=e;c[m>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[j>>2]=i;c[t>>2]=0;c[v>>2]=c[c[A>>2]>>2];c[w>>2]=c[A>>2];c[p>>2]=0;c[q>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[m>>2]&65535;c[k>>2]=0;if(c[o>>2]|0){h=c[j>>2]|0;i=c[k>>2]|0;c[k>>2]=i+1;c[p>>2]=c[h+(i<<2)>>2]}if(c[m>>2]&65536|0){h=c[j>>2]|0;i=c[k>>2]|0;c[k>>2]=i+1;c[q>>2]=c[h+(i<<2)>>2]}if(c[m>>2]&131072|0){h=c[j>>2]|0;i=c[k>>2]|0;c[k>>2]=i+1;c[x>>2]=c[h+(i<<2)>>2]}if(c[m>>2]&262144|0){i=c[j>>2]|0;m=c[k>>2]|0;c[k>>2]=m+1;c[y>>2]=c[i+(m<<2)>>2]}Fr(c[(c[w>>2]|0)+8>>2]|0)|0;_d(c[(c[w>>2]|0)+44>>2]|0);CM(c[(c[w>>2]|0)+92>>2]|0);hP(c[(c[w>>2]|0)+12>>2]|0);e=(c[A>>2]|0)+4|0;f=e+92|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));m=iP(c[x>>2]|0,0,-2147483648)|0;i=(c[w>>2]|0)+72|0;c[i>>2]=m;c[i+4>>2]=D;i=iP(c[y>>2]|0,-1,2147483647)|0;m=(c[w>>2]|0)+80|0;c[m>>2]=i;c[m+4>>2]=D;if(c[n>>2]|0){e=(a[c[n>>2]>>0]|0)==68&255;f=c[w>>2]|0}else{e=a[(c[v>>2]|0)+231>>0]|0;f=c[w>>2]|0}a[f+52>>0]=e;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[r>>2]=(c[o>>2]|0)-2;c[s>>2]=Rh(c[p>>2]|0)|0;if((c[s>>2]|0)==0?(Ai(c[p>>2]|0)|0)!=5:0){c[z>>2]=7;C=c[z>>2]|0;l=E;return C|0}c[(c[w>>2]|0)+16>>2]=0;if(c[q>>2]|0){q=Qi(c[q>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=q}c[t>>2]=jP(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[r>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[t>>2]|0){c[z>>2]=c[t>>2];C=c[z>>2]|0;l=E;return C|0}c[t>>2]=kP(c[w>>2]|0)|0;BM(c[v>>2]|0);if(!(c[t>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[z>>2]=c[t>>2];C=c[z>>2]|0;l=E;return C|0}while(0);do if(!(c[o>>2]|0)){e=c[(c[v>>2]|0)+216>>2]|0;f=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=f+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;C=d[(c[w>>2]|0)+52>>0]|0?45749:45754;c[B>>2]=e;y=B+8|0;c[y>>2]=q;c[y+4>>2]=r;y=B+16|0;c[y>>2]=s;c[y+4>>2]=x;c[B+24>>2]=C;c[u>>2]=nf(45758,B)|0}else{B=d[f+52>>0]|0?45749:45754;c[C>>2]=e;c[C+4>>2]=B;c[u>>2]=nf(45820,C)|0}if(c[u>>2]|0){c[t>>2]=zv(c[(c[v>>2]|0)+12>>2]|0,c[u>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;_d(c[u>>2]|0);break}else{c[t>>2]=7;break}}else if((c[o>>2]|0)==1?(c[t>>2]=HN(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[t>>2]|0)==0):0)c[t>>2]=tJ(c[(c[w>>2]|0)+8>>2]|0,1,c[p>>2]|0)|0;while(0);if(c[t>>2]|0){c[z>>2]=c[t>>2];C=c[z>>2]|0;l=E;return C|0}else{c[z>>2]=_K(c[A>>2]|0)|0;C=c[z>>2]|0;l=E;return C|0}return 0}function _K(d){d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=d;c[g>>2]=c[e>>2];if((b[(c[g>>2]|0)+4>>1]|0)!=1?b[(c[g>>2]|0)+4>>1]|0:0){c[f>>2]=gP(c[e>>2]|0)|0;g=c[f>>2]|0;l=h;return g|0}e=100!=(Bs(c[(c[g>>2]|0)+8>>2]|0)|0);d=c[g>>2]|0;if(e){a[d+6>>0]=1;c[f>>2]=ys(c[(c[g>>2]|0)+8>>2]|0)|0;g=c[f>>2]|0;l=h;return g|0}else{e=jJ(c[d+8>>2]|0,0)|0;g=(c[g>>2]|0)+32|0;c[g>>2]=e;c[g+4>>2]=D;c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}return 0}function $K(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+6>>0]|0|0}function aL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[m>>2];c[i>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[i>>2]|0)+24>>2]|0)+1|0)){m=(c[h>>2]|0)+32|0;Bi(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[g>>2]|0;l=k;return m|0}if((c[f>>2]|0)==(c[(c[i>>2]|0)+24>>2]|0)){mj(c[e>>2]|0,h,4,-1);m=c[g>>2]|0;l=k;return m|0}if((c[f>>2]|0)==((c[(c[i>>2]|0)+24>>2]|0)+2|0)?c[(c[h>>2]|0)+12>>2]|0:0){m=c[(c[h>>2]|0)+16>>2]|0;Bi(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[g>>2]|0;l=k;return m|0}c[g>>2]=vN(0,c[h>>2]|0)|0;if(c[g>>2]|0){m=c[g>>2]|0;l=k;return m|0}if((c[f>>2]|0)==((c[(c[i>>2]|0)+24>>2]|0)+2|0)){c[j>>2]=0;if(c[(c[i>>2]|0)+44>>2]|0)c[j>>2]=iJ(c[(c[h>>2]|0)+8>>2]|0,(c[(c[i>>2]|0)+24>>2]|0)+1|0)|0;Xh(c[e>>2]|0,c[j>>2]|0);m=c[g>>2]|0;l=k;return m|0}else{m=eJ(c[(c[h>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[g>>2]|0;l=k;return m|0}m=c[e>>2]|0;Zi(m,kJ(c[(c[h>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[g>>2]|0;l=k;return m|0}return 0}function bL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;l=d;return 0}function cL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=HO(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function dL(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=oL(c[d>>2]|0)|0;l=b;return a|0}function eL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;h=g+20|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[g+16>>2]=64;c[b>>2]=c[h>>2];c[d>>2]=pL(c[b>>2]|0)|0;if(((((c[d>>2]|0)==0?(c[(c[b>>2]|0)+52>>2]|0)>>>0>4:0)?c[(c[b>>2]|0)+48>>2]|0:0)?(c[(c[b>>2]|0)+48>>2]|0)!=255:0)?(c[e>>2]=0,c[d>>2]=gO(c[b>>2]|0,e)|0,c[f>>2]=S(c[(c[b>>2]|0)+52>>2]|0,c[e>>2]|0)|0,c[f>>2]=(c[f>>2]|0)+((c[f>>2]|0)/2|0),(c[f>>2]|0)>64):0)c[d>>2]=hO(c[b>>2]|0,c[f>>2]|0,c[(c[b>>2]|0)+48>>2]|0)|0;BM(c[b>>2]|0);l=g;return c[d>>2]|0}function fL(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function gL(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];mL(c[d>>2]|0);l=b;return 0}function hL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;j=m+60|0;h=m+48|0;k=m+44|0;i=m+8|0;g=m;c[m+56>>2]=a;c[m+52>>2]=b;c[h>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[i>>2]=c[1659];c[i+4>>2]=c[1660];c[i+8>>2]=c[1661];c[i+12>>2]=c[1662];c[i+16>>2]=c[1663];c[i+20>>2]=c[1664];c[i+24>>2]=c[1665];c[i+28>>2]=c[1666];c[g>>2]=0;while(1){if((c[g>>2]|0)>=4){a=6;break}f=(G_(c[h>>2]|0,c[i+(c[g>>2]<<3)>>2]|0)|0)==0;b=c[g>>2]|0;if(f){a=4;break}c[g>>2]=b+1}if((a|0)==4){c[c[k>>2]>>2]=c[i+(b<<3)+4>>2];c[j>>2]=1;k=c[j>>2]|0;l=m;return k|0}else if((a|0)==6){c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}return 0}function iL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+96|0;k=o+64|0;j=o+48|0;n=o+32|0;m=o+16|0;i=o;p=o+92|0;e=o+88|0;f=o+84|0;g=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[f>>2]=c[p>>2];c[g>>2]=c[(c[f>>2]|0)+12>>2];c[h>>2]=oL(c[f>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=pL(c[f>>2]|0)|0;if(!(c[(c[f>>2]|0)+40>>2]|0)){p=c[g>>2]|0;b=c[(c[f>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[i>>2]=c[(c[f>>2]|0)+16>>2];c[i+4>>2]=b;c[i+8>>2]=d;qL(h,p,42742,i)}if(a[(c[f>>2]|0)+230>>0]|0){p=c[g>>2]|0;d=c[(c[f>>2]|0)+20>>2]|0;i=c[e>>2]|0;c[m>>2]=c[(c[f>>2]|0)+16>>2];c[m+4>>2]=d;c[m+8>>2]=i;qL(h,p,42795,m)}if(a[(c[f>>2]|0)+229>>0]|0){p=c[g>>2]|0;i=c[(c[f>>2]|0)+20>>2]|0;m=c[e>>2]|0;c[n>>2]=c[(c[f>>2]|0)+16>>2];c[n+4>>2]=i;c[n+8>>2]=m;qL(h,p,42848,n)}p=c[g>>2]|0;n=c[(c[f>>2]|0)+20>>2]|0;m=c[e>>2]|0;c[j>>2]=c[(c[f>>2]|0)+16>>2];c[j+4>>2]=n;c[j+8>>2]=m;qL(h,p,42895,j);p=c[g>>2]|0;m=c[(c[f>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[f>>2]|0)+16>>2];c[k+4>>2]=m;c[k+8>>2]=n;qL(h,p,42949,k);l=o;return c[h>>2]|0}function jL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0|0){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=eL(c[e>>2]|0)|0;f=c[f>>2]|0;l=g;return f|0}function kL(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function lL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];mL(c[e>>2]|0);l=d;return 0}function mL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[a+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];nL(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}sK(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[a+260>>2]=0;l=h;return}function nL(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return}function oL(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;c[e>>2]=b;c[f>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){k=c[f>>2]|0;l=m;return k|0}c[g>>2]=45306;g=c[g>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[(c[e>>2]|0)+16>>2];c[k+4>>2]=b;c[h>>2]=nf(g,k)|0;if(!(c[h>>2]|0)){c[f>>2]=7;k=c[f>>2]|0;l=m;return k|0}c[i>>2]=0;c[f>>2]=zv(c[(c[e>>2]|0)+12>>2]|0,c[h>>2]|0,-1,i,0)|0;if((c[f>>2]|0)==0?(c[j>>2]=(Bs(c[i>>2]|0)|0)==100&1,c[f>>2]=Fr(c[i>>2]|0)|0,(c[f>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[j>>2];_d(c[h>>2]|0);k=c[f>>2]|0;l=m;return k|0}function pL(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=0;c[g>>2]=0;while(1){if(!(c[f>>2]|0))b=(c[g>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;b=rL(a,c[(c[e>>2]|0)+272>>2]|0,c[g>>2]|0,-1)|0;c[f>>2]=b;c[f>>2]=(c[f>>2]|0)==101?0:b;c[g>>2]=(c[g>>2]|0)+1}mL(a);if(c[f>>2]|0){h=c[f>>2]|0;l=i;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;l=i;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[f>>2]|0;l=i;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[f>>2]|0;l=i;return h|0}c[h>>2]=0;c[f>>2]=sL(c[e>>2]|0,22,h,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;l=i;return h|0}pJ(c[h>>2]|0,1,2)|0;c[f>>2]=Bs(c[h>>2]|0)|0;if((c[f>>2]|0)==100){g=iJ(c[h>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=g;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[f>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[f>>2]=ys(c[h>>2]|0)|0;h=c[f>>2]|0;l=i;return h|0}function qL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;f=k+32|0;g=k+28|0;h=k+24|0;i=k+8|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){l=k;return}c[i>>2]=e;c[j>>2]=vf(c[h>>2]|0,i)|0;if(!(c[j>>2]|0)){c[c[f>>2]>>2]=7;l=k;return}else{e=qv(c[g>>2]|0,c[j>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=e;_d(c[j>>2]|0);l=k;return}}function rL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+128|0;m=s+120|0;n=s+116|0;o=s+112|0;p=s+108|0;q=s+104|0;r=s+100|0;f=s+8|0;g=s+96|0;h=s+80|0;i=s+24|0;j=s+16|0;k=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[r>>2]=0;e=f;c[e>>2]=0;c[e+4>>2]=0;c[g>>2]=0;c[j>>2]=0;e=k;c[e>>2]=0;c[e+4>>2]=0;c[q>>2]=tL(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,0,0,1,0,i)|0;do if((c[q>>2]|0)==0?c[i+4>>2]|0:0){if((c[p>>2]|0)!=-1?(c[q>>2]=uL(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,k)|0,c[q>>2]|0):0)break;if((c[p>>2]|0)==-2){if((c[i+4>>2]|0)==1?0==((c[(c[c[i>>2]>>2]|0)+56>>2]|0)!=0|0):0){c[q>>2]=101;break}b=k;d=c[b+4>>2]|0;e=f;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[j>>2]=1}else{d=vL(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(c[p>>2]|0)+1|0)|0;e=f;c[e>>2]=d;c[e+4>>2]=D;c[q>>2]=wL(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(c[p>>2]|0)+1|0,r)|0;if((c[p>>2]|0)!=-1){e=f;b=c[e+4>>2]|0;a=k;d=c[a+4>>2]|0;a=(b|0)>(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)}else a=0;c[j>>2]=a&1}if(!(c[q>>2]|0)){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+12>>2]=1;e=h+12|0;c[e>>2]=c[e>>2]|(c[j>>2]|0?2:0);c[q>>2]=xL(c[m>>2]|0,i,h)|0;while(1){if(c[q>>2]|0)break;c[q>>2]=yL(c[m>>2]|0,i)|0;if((c[q>>2]|0)!=100)break;c[q>>2]=zL(c[m>>2]|0,g,1,c[i+40>>2]|0,c[i+44>>2]|0,c[i+48>>2]|0,c[i+52>>2]|0)|0}if(!(c[q>>2]|0)){if((c[p>>2]|0)!=-1){c[q>>2]=AL(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[i>>2]|0,c[i+4>>2]|0)|0;if(!((c[q>>2]|0)==0&(c[g>>2]|0)!=0))break}else if(!(c[g>>2]|0))break;o=f;c[q>>2]=BL(c[m>>2]|0,c[g>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[r>>2]|0)|0;if(!(c[q>>2]|0)){if((c[p>>2]|0)!=-1?(p=f,n=c[p+4>>2]|0,r=k,o=c[r+4>>2]|0,!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[r>>2]|0)>>>0:0))):0)break;p=f;r=(c[g>>2]|0)+56|0;c[q>>2]=CL(c[m>>2]|0,c[p>>2]|0,c[p+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0}}}}while(0);DL(c[g>>2]|0);EL(i);l=s;return c[q>>2]|0}function sL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+240|0;p=t+24|0;o=t+16|0;g=t;k=t+228|0;m=t+224|0;r=t+220|0;n=t+216|0;f=t+56|0;s=t+48|0;q=t+44|0;h=t+40|0;i=t+36|0;j=t+32|0;c[k>>2]=a;c[m>>2]=b;c[r>>2]=d;c[n>>2]=e;h0(f|0,6476,160)|0;c[s>>2]=0;c[q>>2]=c[(c[k>>2]|0)+56+(c[m>>2]<<2)>>2];do if(!(c[q>>2]|0)){d=c[m>>2]|0;do if((c[m>>2]|0)!=18){a=c[f+(c[m>>2]<<2)>>2]|0;b=c[k>>2]|0;if((d|0)==7){c[o>>2]=c[b+216>>2];c[h>>2]=nf(a,o)|0;break}else{o=c[(c[k>>2]|0)+20>>2]|0;c[p>>2]=c[b+16>>2];c[p+4>>2]=o;c[h>>2]=nf(a,p)|0;break}}else{p=c[f+(d<<2)>>2]|0;f=c[(c[k>>2]|0)+20>>2]|0;o=c[(c[k>>2]|0)+220>>2]|0;c[g>>2]=c[(c[k>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=o;c[h>>2]=nf(p,g)|0}while(0);if(c[h>>2]|0){c[s>>2]=zv(c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0,-1,q,0)|0;_d(c[h>>2]|0);c[(c[k>>2]|0)+56+(c[m>>2]<<2)>>2]=c[q>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[n>>2]|0)){q=c[q>>2]|0;r=c[r>>2]|0;c[r>>2]=q;s=c[s>>2]|0;l=t;return s|0}c[j>>2]=vJ(c[q>>2]|0)|0;c[i>>2]=0;while(1){if(c[s>>2]|0){a=15;break}if((c[i>>2]|0)>=(c[j>>2]|0)){a=15;break}c[s>>2]=tJ(c[q>>2]|0,(c[i>>2]|0)+1|0,c[(c[n>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+1}if((a|0)==15){q=c[q>>2]|0;r=c[r>>2]|0;c[r>>2]=q;s=c[s>>2]|0;l=t;return s|0}return 0}function tL(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;t=u+32|0;k=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;p=u+12|0;q=u+8|0;r=u+4|0;s=u;c[t>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;a=c[s>>2]|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));t=mM(c[t>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;l=u;return t|0}function uL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;f=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[f>>2]=sL(c[h>>2]|0,15,m,0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];m=c[g>>2]|0;l=n;return m|0}d=c[m>>2]|0;e=vL(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,0)|0;qJ(d,1,e,D)|0;e=c[m>>2]|0;j=vL(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,1023)|0;qJ(e,2,j,D)|0;if(100==(Bs(c[m>>2]|0)|0)){j=jJ(c[m>>2]|0,0)|0;k=c[k>>2]|0;c[k>>2]=j;c[k+4>>2]=D}c[g>>2]=ys(c[m>>2]|0)|0;m=c[g>>2]|0;l=n;return m|0}function vL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;j=f+20|0;k=f+16|0;i=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[k>>2]=b;c[i>>2]=d;c[g>>2]=e;e=c[k>>2]|0;d=c[(c[j>>2]|0)+248>>2]|0;d=r0(e|0,((e|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;e=c[i>>2]|0;e=_$(d|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;e=r0(e|0,D|0,1024,0)|0;d=h;c[d>>2]=e;c[d+4>>2]=D;d=h;e=c[g>>2]|0;e=_$(c[d>>2]|0,c[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;l=f;return e|0}function wL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;g=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[i>>2]=0;c[g>>2]=sL(c[j>>2]|0,8,h,0)|0;if(!(c[g>>2]|0)){e=c[h>>2]|0;f=vL(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;qJ(e,1,f,D)|0;if(100==(Bs(c[h>>2]|0)|0))c[i>>2]=iJ(c[h>>2]|0,0)|0;c[g>>2]=ys(c[h>>2]|0)|0}if(c[g>>2]|0){o=c[g>>2]|0;l=p;return o|0}if((c[i>>2]|0)>=16){c[g>>2]=rL(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[c[o>>2]>>2]=0;o=c[g>>2]|0;l=p;return o|0}else{c[c[o>>2]>>2]=c[i>>2];o=c[g>>2]|0;l=p;return o|0}return 0}function xL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=kM(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;l=e;return d|0}function yL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=l;l=l+128|0;q=K+120|0;B=K+116|0;C=K+112|0;E=K+108|0;F=K+104|0;G=K+100|0;H=K+96|0;I=K+92|0;f=K+88|0;g=K+84|0;h=K+80|0;i=K+76|0;j=K+72|0;k=K+68|0;m=K+64|0;n=K+60|0;o=K+56|0;p=K+52|0;r=K+16|0;s=K+48|0;t=K+44|0;u=K+40|0;v=K+36|0;w=K+8|0;x=K;y=K+32|0;z=K+28|0;A=K+24|0;c[B>>2]=b;c[C>>2]=e;c[E>>2]=0;c[F>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+12>>2]&2;c[G>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+12>>2]&1;c[H>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+12>>2]&4;c[I>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+12>>2]&8;c[f>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+12>>2]&16;c[g>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+12>>2]&32;c[h>>2]=c[c[C>>2]>>2];c[i>>2]=c[(c[C>>2]|0)+4>>2];c[j>>2]=c[(c[C>>2]|0)+12>>2];c[k>>2]=d[(c[B>>2]|0)+231>>0]|0?215:216;if(!(c[(c[C>>2]|0)+4>>2]|0)){c[q>>2]=0;J=c[q>>2]|0;l=K;return J|0}a:while(1){c[n>>2]=0;while(1){b=c[h>>2]|0;if((c[n>>2]|0)>=(c[(c[C>>2]|0)+8>>2]|0))break;c[o>>2]=c[b+(c[n>>2]<<2)>>2];if(a[(c[o>>2]|0)+4>>0]|0)TL(c[o>>2]|0);else c[E>>2]=UL(c[B>>2]|0,c[o>>2]|0,0)|0;if(c[E>>2]|0){J=9;break a}c[n>>2]=(c[n>>2]|0)+1}WL(b,c[i>>2]|0,c[(c[C>>2]|0)+8>>2]|0,217);c[(c[C>>2]|0)+8>>2]=0;if(!(c[(c[c[h>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[C>>2]|0)+44>>2]=c[(c[c[h>>2]>>2]|0)+60>>2];c[(c[C>>2]|0)+40>>2]=c[(c[c[h>>2]>>2]|0)+64>>2];if(!(c[f>>2]|0?1:(c[c[j>>2]>>2]|0)==0)){if((c[(c[C>>2]|0)+44>>2]|0)<(c[(c[j>>2]|0)+4>>2]|0)){J=61;break}if((c[I>>2]|0)==0?(c[(c[C>>2]|0)+44>>2]|0)>(c[(c[j>>2]|0)+4>>2]|0):0){J=61;break}if(H_(c[(c[C>>2]|0)+40>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0){J=61;break}}c[m>>2]=1;while(1){if(((c[m>>2]|0)<(c[i>>2]|0)?c[(c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]|0)+40>>2]|0:0)?(c[(c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[C>>2]|0)+44>>2]|0):0)e=0==(H_(c[(c[C>>2]|0)+40>>2]|0,c[(c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]|0)+64>>2]|0,c[(c[C>>2]|0)+44>>2]|0)|0);else e=0;b=c[m>>2]|0;if(!e)break;c[m>>2]=b+1}do if(!((b|0)!=1|(c[F>>2]|0)!=0|(c[g>>2]|0)!=0)){if(d[(c[B>>2]|0)+231>>0]|0?(c[(c[c[h>>2]>>2]|0)+56>>2]|0)!=0|0:0){J=32;break}c[(c[C>>2]|0)+52>>2]=c[(c[c[h>>2]>>2]|0)+76>>2];if(c[(c[c[h>>2]>>2]|0)+56>>2]|0){c[E>>2]=XL(c[C>>2]|0,c[(c[c[h>>2]>>2]|0)+72>>2]|0,c[(c[C>>2]|0)+52>>2]|0)|0;b=c[(c[C>>2]|0)+16>>2]|0;e=c[C>>2]|0}else{b=c[(c[c[h>>2]>>2]|0)+72>>2]|0;e=c[C>>2]|0}c[e+48>>2]=b;if(!(c[E>>2]|0))c[E>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[p>>2]=0;e=r;c[e>>2]=0;c[e+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;YL(c[B>>2]|0,c[(c[h>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}WL(c[h>>2]|0,c[m>>2]|0,c[m>>2]|0,c[k>>2]|0);while(1){if(!(c[(c[c[h>>2]>>2]|0)+80>>2]|0))break;c[t>>2]=0;c[u>>2]=0;L=(c[c[h>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=w;c[e>>2]=c[L>>2];c[e+4>>2]=b;ZL(c[B>>2]|0,c[c[h>>2]>>2]|0,t,u)|0;c[s>>2]=1;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[h>>2]|0)+(c[s>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[h>>2]|0)+(c[s>>2]<<2)>>2]|0)+88|0;L=w;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;ZL(c[B>>2]|0,c[(c[h>>2]|0)+(c[s>>2]<<2)>>2]|0,0,0)|0;c[s>>2]=(c[s>>2]|0)+1}if(c[H>>2]|0)_L(c[(c[j>>2]|0)+8>>2]|0,0,t,u);do if((c[F>>2]|0)==0|(c[u>>2]|0)>0){if((c[p>>2]|0)>0?(d[(c[B>>2]|0)+231>>0]|0)!=0:0){L=r;e=w;e=Z$(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=x;c[L>>2]=e;c[L+4>>2]=D}else{L=w;e=r;e=Z$(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=x;c[L>>2]=e;c[L+4>>2]=D}L=x;L=ML(c[L>>2]|0,c[L+4>>2]|0)|0;c[v>>2]=L+(c[G>>2]|0?(c[u>>2]|0)+1|0:0);if(((c[p>>2]|0)+(c[v>>2]|0)|0)>(c[(c[C>>2]|0)+20>>2]|0)){c[(c[C>>2]|0)+20>>2]=(c[p>>2]|0)+(c[v>>2]|0)<<1;c[y>>2]=Xf(c[(c[C>>2]|0)+16>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;if(!(c[y>>2]|0)){J=50;break a}c[(c[C>>2]|0)+16>>2]=c[y>>2]}b=(c[(c[C>>2]|0)+16>>2]|0)+(c[p>>2]|0)|0;if(c[g>>2]|0){c[z>>2]=b;L=x;c[A>>2]=$L(c[L>>2]|0,c[L+4>>2]|0,c[t>>2]|0,c[u>>2]|0,c[z>>2]|0)|0;if(!(c[A>>2]|0))break;b=w;e=c[b+4>>2]|0;L=r;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[p>>2]=(c[p>>2]|0)+(c[A>>2]|0);break}else{e=x;b=NL(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+b;b=w;e=c[b+4>>2]|0;L=r;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[G>>2]|0))break;h0((c[(c[C>>2]|0)+16>>2]|0)+(c[p>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[u>>2]|0);e=c[(c[C>>2]|0)+16>>2]|0;L=c[p>>2]|0;c[p>>2]=L+1;a[e+L>>0]=0;break}}while(0);WL(c[h>>2]|0,c[m>>2]|0,c[s>>2]|0,c[k>>2]|0)}if((c[p>>2]|0)>0){c[(c[C>>2]|0)+48>>2]=c[(c[C>>2]|0)+16>>2];c[(c[C>>2]|0)+52>>2]=c[p>>2];c[E>>2]=100}}c[(c[C>>2]|0)+8>>2]=c[m>>2];if(c[E>>2]|0){J=61;break}}if((J|0)==9){c[q>>2]=c[E>>2];L=c[q>>2]|0;l=K;return L|0}else if((J|0)==50){c[q>>2]=7;L=c[q>>2]|0;l=K;return L|0}else if((J|0)==61){c[q>>2]=c[E>>2];L=c[q>>2]|0;l=K;return L|0}return 0}function zL(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;y=B+68|0;z=B+64|0;A=B+60|0;i=B+56|0;j=B+52|0;k=B+48|0;m=B+44|0;n=B+40|0;o=B+36|0;p=B+32|0;q=B+28|0;r=B+24|0;s=B+20|0;t=B+16|0;u=B+12|0;v=B+8|0;w=B+4|0;x=B;c[z>>2]=a;c[A>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;c[n>>2]=h;c[s>>2]=c[c[A>>2]>>2];if(!(c[s>>2]|0)){c[s>>2]=pe(64)|0;if(!(c[s>>2]|0)){c[y>>2]=7;A=c[y>>2]|0;l=B;return A|0}a=c[s>>2]|0;b=a+64|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[A>>2]>>2]=c[s>>2];A=pe(c[(c[z>>2]|0)+224>>2]|0)|0;c[(c[s>>2]|0)+48>>2]=A;if(!(c[(c[s>>2]|0)+48>>2]|0)){c[y>>2]=7;A=c[y>>2]|0;l=B;return A|0}c[(c[s>>2]|0)+40>>2]=c[(c[z>>2]|0)+224>>2];c[t>>2]=sL(c[z>>2]|0,10,u,0)|0;if(c[t>>2]|0){c[y>>2]=c[t>>2];A=c[y>>2]|0;l=B;return A|0}if(100==(Bs(c[u>>2]|0)|0)){h=jJ(c[u>>2]|0,0)|0;g=(c[s>>2]|0)+16|0;c[g>>2]=h;c[g+4>>2]=D;g=(c[s>>2]|0)+16|0;h=c[g+4>>2]|0;A=(c[s>>2]|0)+8|0;c[A>>2]=c[g>>2];c[A+4>>2]=h}c[t>>2]=ys(c[u>>2]|0)|0;if(c[t>>2]|0){c[y>>2]=c[t>>2];A=c[y>>2]|0;l=B;return A|0}}c[r>>2]=c[(c[s>>2]|0)+44>>2];c[o>>2]=PL(c[(c[s>>2]|0)+24>>2]|0,c[(c[s>>2]|0)+28>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[p>>2]=(c[k>>2]|0)-(c[o>>2]|0);A=c[o>>2]|0;A=ML(A,((A|0)<0)<<31>>31)|0;u=c[p>>2]|0;u=A+(ML(u,((u|0)<0)<<31>>31)|0)|0;u=u+(c[p>>2]|0)|0;A=c[n>>2]|0;A=u+(ML(A,((A|0)<0)<<31>>31)|0)|0;c[q>>2]=A+(c[n>>2]|0);do if((c[r>>2]|0)>0?((c[r>>2]|0)+(c[q>>2]|0)|0)>(c[(c[z>>2]|0)+224>>2]|0):0){t=c[z>>2]|0;h=(c[s>>2]|0)+16|0;A=h;u=c[A>>2]|0;A=c[A+4>>2]|0;g=_$(u|0,A|0,1,0)|0;c[h>>2]=g;c[h+4>>2]=D;c[v>>2]=IL(t,u,A,c[(c[s>>2]|0)+48>>2]|0,c[r>>2]|0)|0;if(c[v>>2]|0){c[y>>2]=c[v>>2];A=c[y>>2]|0;l=B;return A|0}A=(c[z>>2]|0)+52|0;c[A>>2]=(c[A>>2]|0)+1;c[v>>2]=QL(c[z>>2]|0,c[s>>2]|0,c[i>>2]|0,c[j>>2]|0,(c[o>>2]|0)+1|0)|0;if(!(c[v>>2]|0)){c[r>>2]=0;c[(c[s>>2]|0)+28>>2]=0;c[o>>2]=0;c[p>>2]=c[k>>2];z=c[k>>2]|0;z=1+(ML(z,((z|0)<0)<<31>>31)|0)|0;z=z+(c[k>>2]|0)|0;A=c[n>>2]|0;A=z+(ML(A,((A|0)<0)<<31>>31)|0)|0;c[q>>2]=A+(c[n>>2]|0);break}c[y>>2]=c[v>>2];A=c[y>>2]|0;l=B;return A|0}while(0);z=c[q>>2]|0;A=(c[s>>2]|0)+56|0;v=A;z=_$(c[v>>2]|0,c[v+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;c[A>>2]=z;c[A+4>>2]=D;do if((c[q>>2]|0)>(c[(c[s>>2]|0)+40>>2]|0)){c[w>>2]=Xf(c[(c[s>>2]|0)+48>>2]|0,c[q>>2]|0)|0;if(c[w>>2]|0){c[(c[s>>2]|0)+48>>2]=c[w>>2];c[(c[s>>2]|0)+40>>2]=c[q>>2];break}c[y>>2]=7;A=c[y>>2]|0;l=B;return A|0}while(0);A=c[o>>2]|0;A=NL((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,A,((A|0)<0)<<31>>31)|0;c[r>>2]=(c[r>>2]|0)+A;A=c[p>>2]|0;A=NL((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,A,((A|0)<0)<<31>>31)|0;c[r>>2]=(c[r>>2]|0)+A;h0((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);A=c[n>>2]|0;A=NL((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,A,((A|0)<0)<<31>>31)|0;c[r>>2]=(c[r>>2]|0)+A;h0((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,c[m>>2]|0,c[n>>2]|0)|0;c[(c[s>>2]|0)+44>>2]=(c[r>>2]|0)+(c[n>>2]|0);if(c[i>>2]|0){do if((c[k>>2]|0)>(c[(c[s>>2]|0)+32>>2]|0)){c[x>>2]=Xf(c[(c[s>>2]|0)+36>>2]|0,c[k>>2]<<1)|0;if(c[x>>2]|0){c[(c[s>>2]|0)+32>>2]=c[k>>2]<<1;c[(c[s>>2]|0)+36>>2]=c[x>>2];c[(c[s>>2]|0)+24>>2]=c[x>>2];break}c[y>>2]=7;A=c[y>>2]|0;l=B;return A|0}while(0);h0(c[(c[s>>2]|0)+24>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}else c[(c[s>>2]|0)+24>>2]=c[j>>2];c[(c[s>>2]|0)+28>>2]=c[k>>2];c[y>>2]=0;A=c[y>>2]|0;l=B;return A|0}function AL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;k=s+20|0;h=s+16|0;i=s+12|0;m=s+8|0;j=s+4|0;n=s;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[k>>2]=e;c[h>>2]=f;c[i>>2]=g;c[m>>2]=0;c[n>>2]=0;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[i>>2]|0))break;c[m>>2]=OL(c[p>>2]|0,c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){c[o>>2]=c[m>>2];r=c[o>>2]|0;l=s;return r|0}a=c[p>>2]|0;if((c[k>>2]|0)==-2){c[m>>2]=sL(a,26,n,0)|0;if(!(c[m>>2]|0)){g=c[n>>2]|0;k=vL(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,0)|0;qJ(g,1,k,D)|0;k=c[n>>2]|0;r=vL(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,1023)|0;qJ(k,2,r,D)|0}}else{c[m>>2]=sL(a,16,n,0)|0;if(!(c[m>>2]|0)){g=c[n>>2]|0;r=vL(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;qJ(g,1,r,D)|0}}if(!(c[m>>2]|0)){Bs(c[n>>2]|0)|0;c[m>>2]=ys(c[n>>2]|0)|0}c[o>>2]=c[m>>2];r=c[o>>2]|0;l=s;return r|0}function BL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;k=q+44|0;m=q+40|0;n=q+16|0;o=q+36|0;p=q+32|0;g=q+8|0;h=q;i=q+28|0;j=q+24|0;c[k>>2]=a;c[m>>2]=b;b=n;c[b>>2]=d;c[b+4>>2]=e;c[o>>2]=f;if(!(c[c[m>>2]>>2]|0)){f=n;n=(c[m>>2]|0)+56|0;c[p>>2]=KL(c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[o>>2]|0,0,0,0,0,0,0,c[n>>2]|0,c[n+4>>2]|0,c[(c[m>>2]|0)+48>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0;o=c[k>>2]|0;o=o+52|0;n=c[o>>2]|0;n=n+1|0;c[o>>2]=n;p=c[p>>2]|0;l=q;return p|0}f=g;c[f>>2]=0;c[f+4>>2]=0;c[i>>2]=0;c[j>>2]=0;f=(c[m>>2]|0)+16|0;b=c[f+4>>2]|0;d=h;c[d>>2]=c[f>>2];c[d+4>>2]=b;d=c[k>>2]|0;b=(c[m>>2]|0)+16|0;f=b;e=c[f>>2]|0;f=c[f+4>>2]|0;a=_$(e|0,f|0,1,0)|0;c[b>>2]=a;c[b+4>>2]=D;c[p>>2]=IL(d,e,f,c[(c[m>>2]|0)+48>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0;if(!(c[p>>2]|0)){e=(c[m>>2]|0)+8|0;f=(c[m>>2]|0)+16|0;c[p>>2]=JL(c[k>>2]|0,c[c[m>>2]>>2]|0,1,c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,g,i,j)|0}if(c[p>>2]|0){o=c[k>>2]|0;o=o+52|0;n=c[o>>2]|0;n=n+1|0;c[o>>2]=n;p=c[p>>2]|0;l=q;return p|0}b=n;d=(c[m>>2]|0)+8|0;e=h;f=g;n=(c[m>>2]|0)+56|0;c[p>>2]=KL(c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[o>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;o=c[k>>2]|0;o=o+52|0;n=c[o>>2]|0;n=n+1|0;c[o>>2]=n;p=c[p>>2]|0;l=q;return p|0}function CL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+80|0;p=v+72|0;q=v+40|0;r=v+32|0;s=v+68|0;t=v+64|0;g=v+60|0;h=v+24|0;i=v+16|0;j=v+8|0;k=v;m=v+56|0;n=v+52|0;o=v+48|0;c[p>>2]=a;a=q;c[a>>2]=b;c[a+4>>2]=d;d=r;c[d>>2]=e;c[d+4>>2]=f;c[s>>2]=0;c[s>>2]=sL(c[p>>2]|0,37,t,0)|0;if(c[s>>2]|0){u=c[s>>2]|0;l=v;return u|0}c[g>>2]=0;e=q;e=n0(c[e>>2]|0,c[e+4>>2]|0,1024,0)|0;e=_$(e|0,D|0,1,0)|0;e=r0(e|0,D|0,1024,0)|0;e=Z$(e|0,D|0,1,0)|0;f=h;c[f>>2]=e;c[f+4>>2]=D;r=r0(c[r>>2]|0,c[r+4>>2]|0,3,0)|0;r=n0(r|0,D|0,2,0)|0;f=i;c[f>>2]=r;c[f+4>>2]=D;f=c[t>>2]|0;r=q;r=_$(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;qJ(f,1,r,D)|0;r=h;qJ(c[t>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0;while(1){if(100!=(Bs(c[t>>2]|0)|0))break;r=j;c[r>>2]=0;c[r+4>>2]=0;HL(c[t>>2]|0,2,k,j);r=j;f=c[r+4>>2]|0;if((f|0)<0|(f|0)==0&(c[r>>2]|0)>>>0<=0){u=6;break}f=j;d=c[f+4>>2]|0;r=i;e=c[r+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>(c[r>>2]|0)>>>0:0)){u=6;break}c[g>>2]=1}if((u|0)==6)c[g>>2]=0;c[s>>2]=ys(c[t>>2]|0)|0;if(!(c[g>>2]|0)){u=c[s>>2]|0;l=v;return u|0}c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;if(!(c[s>>2]|0))c[s>>2]=sL(c[p>>2]|0,38,n,0)|0;if(!(c[s>>2]|0))c[s>>2]=sL(c[p>>2]|0,39,o,0)|0;a:do if(!(c[s>>2]|0)){u=q;qJ(c[t>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(Bs(c[t>>2]|0)|0))break a;r=c[n>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;pJ(r,1,u)|0;u=c[n>>2]|0;pJ(u,2,iJ(c[t>>2]|0,0)|0)|0;u=c[n>>2]|0;pJ(u,3,iJ(c[t>>2]|0,1)|0)|0;Bs(c[n>>2]|0)|0;c[s>>2]=ys(c[n>>2]|0)|0}while(!(c[s>>2]|0));ys(c[t>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=ys(c[t>>2]|0)|0;if(c[s>>2]|0){u=c[s>>2]|0;l=v;return u|0}u=q;qJ(c[o>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;Bs(c[o>>2]|0)|0;c[s>>2]=ys(c[o>>2]|0)|0;u=c[s>>2]|0;l=v;return u|0}function DL(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}_d(c[(c[b>>2]|0)+48>>2]|0);_d(c[(c[b>>2]|0)+36>>2]|0);GL(c[c[b>>2]>>2]|0);_d(c[b>>2]|0);l=d;return}function EL(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=0;while(1){a=c[c[b>>2]>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;FL(c[a+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}_d(a);_d(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;l=e;return}function FL(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){b=c[b>>2]|0;_d(b);l=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))_d(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))_d(c[(c[b>>2]|0)+40>>2]|0);AJ(c[(c[b>>2]|0)+52>>2]|0)|0;b=c[b>>2]|0;_d(b);l=e;return}function GL(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){l=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];GL(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))_d(c[(c[d>>2]|0)+36>>2]|0);_d(c[(c[d>>2]|0)+28>>2]|0);_d(c[d>>2]|0);c[d>>2]=c[e>>2]}l=f;return}function HL(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;p=n+32|0;o=n+28|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;h=n+8|0;i=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[j>>2]=f;c[k>>2]=Cv(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[k>>2]|0)){l=n;return}c[h>>2]=1;p=i;c[p>>2]=0;c[p+4>>2]=0;c[m>>2]=0;while(1){if((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)>=48)a=(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)<=57;else a=0;e=i;b=c[e>>2]|0;e=c[e+4>>2]|0;if(!a)break;p=r0(b|0,e|0,10,0)|0;o=(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;o=_$(p|0,D|0,o|0,((o|0)<0)<<31>>31|0)|0;p=i;c[p>>2]=o;c[p+4>>2]=D;c[m>>2]=(c[m>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=b;c[p+4>>2]=e;while(1){if((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)!=32)break;c[m>>2]=(c[m>>2]|0)+1}p=i;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)==45){c[m>>2]=(c[m>>2]|0)+1;c[h>>2]=-1}while(1){if((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)>=48)a=(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)<=57;else a=0;e=i;b=c[e>>2]|0;e=c[e+4>>2]|0;if(!a)break;p=r0(b|0,e|0,10,0)|0;o=(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;o=_$(p|0,D|0,o|0,((o|0)<0)<<31>>31|0)|0;p=i;c[p>>2]=o;c[p+4>>2]=D;c[m>>2]=(c[m>>2]|0)+1}o=c[h>>2]|0;o=r0(b|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[j>>2]|0;c[p>>2]=o;c[p+4>>2]=D;l=n;return}function IL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;n=m+24|0;h=m;i=m+20|0;j=m+16|0;k=m+12|0;g=m+8|0;c[n>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[i>>2]=e;c[j>>2]=f;c[g>>2]=sL(c[n>>2]|0,9,k,0)|0;if(c[g>>2]|0){n=c[g>>2]|0;l=m;return n|0}n=h;qJ(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;lJ(c[k>>2]|0,2,c[i>>2]|0,c[j>>2]|0,0)|0;Bs(c[k>>2]|0)|0;c[g>>2]=ys(c[k>>2]|0)|0;n=c[g>>2]|0;l=m;return n|0}function JL(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;m=B+72|0;n=B+68|0;o=B+64|0;p=B+24|0;q=B+16|0;r=B+60|0;s=B+56|0;t=B+52|0;u=B+48|0;v=B+44|0;w=B+40|0;x=B+8|0;y=B;z=B+36|0;A=B+32|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;d=p;c[d>>2]=e;c[d+4>>2]=f;f=q;c[f>>2]=g;c[f+4>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=0;if(!(c[c[n>>2]>>2]|0)){j=p;c[v>>2]=LL(c[n>>2]|0,c[o>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=q;j=Z$(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=c[r>>2]|0;c[k>>2]=j;c[k+4>>2]=D;c[c[t>>2]>>2]=(c[(c[n>>2]|0)+32>>2]|0)-(c[v>>2]|0);c[c[s>>2]>>2]=(c[(c[n>>2]|0)+36>>2]|0)+(c[v>>2]|0);k=c[u>>2]|0;l=B;return k|0}k=q;j=c[k+4>>2]|0;i=x;c[i>>2]=c[k>>2];c[i+4>>2]=j;i=p;j=c[i+4>>2]|0;k=y;c[k>>2]=c[i>>2];c[k+4>>2]=j;c[w>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!(c[w>>2]|0?(c[u>>2]|0)==0:0))break;k=y;c[z>>2]=LL(c[w>>2]|0,c[o>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;c[A>>2]=(c[(c[w>>2]|0)+32>>2]|0)-(c[z>>2]|0);k=x;c[u>>2]=IL(c[m>>2]|0,c[k>>2]|0,c[k+4>>2]|0,(c[(c[w>>2]|0)+36>>2]|0)+(c[z>>2]|0)|0,c[A>>2]|0)|0;k=x;k=_$(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;j=x;c[j>>2]=k;c[j+4>>2]=D;j=(c[(c[w>>2]|0)+12>>2]|0)+1|0;k=y;j=_$(c[k>>2]|0,c[k+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;k=y;c[k>>2]=j;c[k+4>>2]=D;c[w>>2]=c[(c[w>>2]|0)+4>>2]}if(c[u>>2]|0){k=c[u>>2]|0;l=B;return k|0}j=q;k=x;c[u>>2]=JL(c[m>>2]|0,c[c[n>>2]>>2]|0,(c[o>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;k=c[u>>2]|0;l=B;return k|0}function KL(a,b,d,e,f,g,h,i,j,k,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+96|0;C=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;B=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;e=t;c[e>>2]=f;c[e+4>>2]=g;g=u;c[g>>2]=h;c[g+4>>2]=i;i=v;c[i>>2]=j;c[i+4>>2]=k;k=w;c[k>>2]=m;c[k+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=sL(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;qJ(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;pJ(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;qJ(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;qJ(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;qJ(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{h=v;i=c[h+4>>2]|0;k=w;j=c[k>>2]|0;k=c[k+4>>2]|0;E=C;c[E>>2]=c[h>>2];c[E+4>>2]=i;E=C+8|0;c[E>>2]=j;c[E+4>>2]=k;c[B>>2]=nf(45278,C)|0;if(c[B>>2]|0){sJ(c[z>>2]|0,5,c[B>>2]|0,-1,157)|0;break}c[q>>2]=7;E=c[q>>2]|0;l=D;return E|0}while(0);lJ(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;Bs(c[z>>2]|0)|0;c[A>>2]=ys(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;l=D;return E|0}function LL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;i=h+16|0;k=h+12|0;j=h;g=h+8|0;c[i>>2]=b;c[k>>2]=d;d=j;c[d>>2]=e;c[d+4>>2]=f;f=j;c[g>>2]=10-(ML(c[f>>2]|0,c[f+4>>2]|0)|0);a[(c[(c[i>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[k>>2];f=j;NL((c[(c[i>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[f>>2]|0,c[f+4>>2]|0)|0;l=h;return c[g>>2]|0}function ML(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=f0(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=D;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);l=f;return c[e>>2]|0}function NL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;g=j+20|0;k=j+8|0;h=j+16|0;i=j;c[g>>2]=b;b=k;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];b=k;e=c[b+4>>2]|0;f=i;c[f>>2]=c[b>>2];c[f+4>>2]=e;do{k=(c[i>>2]&127|128)&255;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=k;f=i;f=f0(c[f>>2]|0,c[f+4>>2]|0,7)|0;k=i;c[k>>2]=f;c[k+4>>2]=D;k=i}while((c[k>>2]|0)!=0|(c[k+4>>2]|0)!=0);k=(c[h>>2]|0)+-1|0;a[k>>0]=(d[k>>0]|0)&127;l=j;return (c[h>>2]|0)-(c[g>>2]|0)|0}function OL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=sL(c[d>>2]|0,17,g,0)|0;if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}d=(c[e>>2]|0)+8|0;qJ(c[g>>2]|0,1,c[d>>2]|0,c[d+4>>2]|0)|0;e=(c[e>>2]|0)+24|0;qJ(c[g>>2]|0,2,c[e>>2]|0,c[e+4>>2]|0)|0;Bs(c[g>>2]|0)|0;c[f>>2]=ys(c[g>>2]|0)|0;g=c[f>>2]|0;l=h;return g|0}function PL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k+4>>2]=f;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){b=5;break}if((a[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0)!=(a[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0)){b=5;break}c[j>>2]=(c[j>>2]|0)+1}if((b|0)==5){l=k;return c[j>>2]|0}return 0}function QL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;v=w+56|0;q=w+52|0;r=w+48|0;s=w+44|0;t=w+40|0;m=w+36|0;u=w+32|0;n=w+28|0;o=w+24|0;g=w+20|0;h=w+16|0;i=w+12|0;j=w+8|0;k=w+4|0;p=w;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[t>>2]=e;c[m>>2]=f;c[u>>2]=c[c[r>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[h>>2]=c[g>>2];c[i>>2]=PL(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;c[j>>2]=(c[m>>2]|0)-(c[i>>2]|0);e=c[i>>2]|0;e=ML(e,((e|0)<0)<<31>>31)|0;f=c[j>>2]|0;f=e+(ML(f,((f|0)<0)<<31>>31)|0)|0;c[h>>2]=(c[h>>2]|0)+(f+(c[j>>2]|0));if((c[h>>2]|0)>(c[(c[q>>2]|0)+224>>2]|0)?c[(c[u>>2]|0)+16>>2]|0:0)break;if((c[h>>2]|0)>(c[(c[q>>2]|0)+224>>2]|0)?(r=pe(c[h>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=r,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[v>>2]=7;v=c[v>>2]|0;l=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){r=c[i>>2]|0;r=NL((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,r,((r|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+r}r=c[j>>2]|0;r=NL((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,r,((r|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+r;h0((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[t>>2]|0)+(c[i>>2]|0)|0,c[j>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[j>>2]|0);r=(c[u>>2]|0)+12|0;c[r>>2]=(c[r>>2]|0)+1;if(c[s>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[m>>2]|0)){c[k>>2]=Xf(c[(c[u>>2]|0)+28>>2]|0,c[m>>2]<<1)|0;if(c[k>>2]|0){c[(c[u>>2]|0)+24>>2]=c[m>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[k>>2];break}c[v>>2]=7;v=c[v>>2]|0;l=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];h0(c[(c[u>>2]|0)+16>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;b=c[m>>2]|0;a=c[u>>2]|0}else{c[(c[u>>2]|0)+16>>2]=c[t>>2];b=c[m>>2]|0;a=c[u>>2]|0}c[a+20>>2]=b;c[v>>2]=0;v=c[v>>2]|0;l=w;return v|0}while(0);c[o>>2]=pe(40+(c[(c[q>>2]|0)+224>>2]|0)|0)|0;if(!(c[o>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;l=w;return v|0}a=c[o>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[(c[o>>2]|0)+32>>2]=11;c[(c[o>>2]|0)+36>>2]=(c[o>>2]|0)+40;if(c[u>>2]|0){c[p>>2]=c[c[u>>2]>>2];c[n>>2]=QL(c[q>>2]|0,p,c[s>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[p>>2];c[(c[u>>2]|0)+4>>2]=c[o>>2];c[(c[o>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[o>>2]>>2]=c[p>>2];c[(c[o>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[o>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[o>>2]|0)+8>>2]=c[o>>2];c[n>>2]=QL(c[q>>2]|0,o,c[s>>2]|0,c[t>>2]|0,c[m>>2]|0)|0}c[c[r>>2]>>2]=c[o>>2];c[v>>2]=c[n>>2];v=c[v>>2]|0;l=w;return v|0}function RL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;l=g;return f|0}else{d=(c[d>>2]|0)+88|0;a=c[d+4>>2]|0;e=(c[e>>2]|0)+88|0;b=c[e+4>>2]|0;c[f>>2]=(a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[e>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;l=g;return f|0}return 0}function SL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;l=g;return f|0}else{d=(c[d>>2]|0)+88|0;a=c[d+4>>2]|0;e=(c[e>>2]|0)+88|0;b=c[e+4>>2]|0;c[f>>2]=(a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;l=g;return f|0}return 0}function TL(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0|0){b=c[b>>2]|0;b=b+40|0;c[b>>2]=0;l=e;return}_d(c[(c[b>>2]|0)+40>>2]|0);AJ(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;b=c[b>>2]|0;b=b+40|0;c[b>>2]=0;l=e;return}function UL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;s=v+52|0;k=v+48|0;t=v+44|0;m=v+40|0;q=v+36|0;u=v+32|0;r=v+28|0;n=v+24|0;g=v+20|0;h=v+16|0;i=v+12|0;j=v+8|0;o=v+4|0;p=v;c[k>>2]=b;c[t>>2]=e;c[m>>2]=f;b=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[b+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0);else c[u>>2]=c[b+40>>2];if(!(c[u>>2]|0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){b=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[g>>2]=c[c[b+56>>2]>>2];_d(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[g>>2]|0){c[i>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=(c[c[i>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[g>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[g>>2]|0)+16>>2];c[h>>2]=pe(c[j>>2]|0)|0;if(c[h>>2]|0){h0(c[h>>2]|0,c[(c[i>>2]|0)+4>>2]|0,c[j>>2]|0)|0;u=c[j>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[h>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;l=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;l=v;return u|0}TL(b);i=(c[t>>2]|0)+32|0;g=c[i+4>>2]|0;j=(c[t>>2]|0)+16|0;h=c[j+4>>2]|0;if((g|0)>(h|0)|((g|0)==(h|0)?(c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;l=v;return u|0}h=c[k>>2]|0;g=(c[t>>2]|0)+32|0;i=g;i=_$(c[i>>2]|0,c[i+4>>2]|0,1,0)|0;j=D;c[g>>2]=i;c[g+4>>2]=j;c[q>>2]=jM(h,i,j,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,c[m>>2]|0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;l=v;return u|0}if(c[m>>2]|0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[k>>2]|0)+244>>2];c[(c[k>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=fM(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;l=v;return u|0}b=c[u>>2]|0;if(d[c[u>>2]>>0]&128|0)b=cM(b,r)|0;else{c[r>>2]=d[b>>0];b=1}c[u>>2]=(c[u>>2]|0)+b;b=c[u>>2]|0;if(d[c[u>>2]>>0]&128|0)b=cM(b,n)|0;else{c[n>>2]=d[b>>0];b=1}c[u>>2]=(c[u>>2]|0)+b;if(!((c[r>>2]|0)<0|(c[n>>2]|0)<=0)?((c[u>>2]|0)+(c[n>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[r>>2]|0)+(c[n>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[o>>2]=(c[r>>2]|0)+(c[n>>2]|0)<<1;c[p>>2]=Xf(c[(c[t>>2]|0)+64>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){c[(c[t>>2]|0)+64>>2]=c[p>>2];c[(c[t>>2]|0)+68>>2]=c[o>>2];break}c[s>>2]=7;u=c[s>>2]|0;l=v;return u|0}while(0);c[q>>2]=fM(c[t>>2]|0,c[u>>2]|0,(c[n>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;l=v;return u|0}h0((c[(c[t>>2]|0)+64>>2]|0)+(c[r>>2]|0)|0,c[u>>2]|0,c[n>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[r>>2]|0)+(c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[n>>2]|0);b=c[u>>2]|0;if(d[c[u>>2]>>0]&128|0)b=cM(b,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[b>>0];b=1}c[u>>2]=(c[u>>2]|0)+b;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0:0)break;c[s>>2]=0;u=c[s>>2]|0;l=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;l=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;l=v;return u|0}function VL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+40>>2]|0?c[(c[e>>2]|0)+40>>2]|0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=H_(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=H_(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;l=h;return g|0}function WL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;f=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;if((c[i>>2]|0)==(c[h>>2]|0))c[i>>2]=(c[i>>2]|0)+-1;c[k>>2]=(c[i>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[m>>2]=c[k>>2];while(1){if((c[m>>2]|0)>=((c[h>>2]|0)-1|0))break;if((Mb[c[j>>2]&255](c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]|0,c[(c[g>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[f>>2]=c[(c[g>>2]|0)+((c[m>>2]|0)+1<<2)>>2];c[(c[g>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2];c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]=c[f>>2];c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}l=n;return}function XL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[i>>2]=Xf(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[i>>2]|0){c[(c[f>>2]|0)+16>>2]=c[i>>2];break}c[e>>2]=7;i=c[e>>2]|0;l=j;return i|0}while(0);h0(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;i=c[e>>2]|0;l=j;return i|0}function YL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+12|0;f=j+8|0;g=j+4|0;h=j+16|0;i=j;c[k>>2]=b;c[f>>2]=e;c[g>>2]=0;if(d[(c[k>>2]|0)+231>>0]|0|0?c[(c[f>>2]|0)+56>>2]|0:0){a[h>>0]=0;k=(c[f>>2]|0)+88|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;dM(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,h);k=c[g>>2]|0;l=j;return k|0}c[g>>2]=fM(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[g>>2]|0){k=c[g>>2]|0;l=j;return k|0}c[i>>2]=bM(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[i>>2]|0);k=c[g>>2]|0;l=j;return k|0}function ZL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;q=u+36|0;r=u+32|0;s=u+28|0;j=u+24|0;k=u+20|0;t=u+16|0;n=u+12|0;h=u+41|0;i=u+40|0;o=u+8|0;p=u;c[r>>2]=b;c[s>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=0;c[n>>2]=c[(c[s>>2]|0)+80>>2];a[h>>0]=0;if(d[(c[r>>2]|0)+231>>0]|0?c[(c[s>>2]|0)+56>>2]|0:0){a[i>>0]=0;if(c[j>>2]|0){c[c[j>>2]>>2]=c[(c[s>>2]|0)+80>>2];c[c[k>>2]>>2]=(c[(c[s>>2]|0)+84>>2]|0)-1}dM(0,c[(c[s>>2]|0)+72>>2]|0,c[(c[s>>2]|0)+76>>2]|0,n,(c[s>>2]|0)+88|0,(c[s>>2]|0)+84|0,i);t=(a[i>>0]|0)!=0;c[(t?c[s>>2]|0:c[s>>2]|0)+80>>2]=t?0:c[n>>2]|0}else m=6;do if((m|0)==6){c[o>>2]=(c[(c[s>>2]|0)+72>>2]|0)+(c[(c[s>>2]|0)+76>>2]|0);while(1){while(1){if(!(a[c[n>>2]>>0]|a[h>>0]))break;g=c[n>>2]|0;c[n>>2]=g+1;a[h>>0]=a[g>>0]&128}if(!(c[(c[s>>2]|0)+52>>2]|0))break;if((c[n>>2]|0)>>>0<((c[(c[s>>2]|0)+40>>2]|0)+(c[(c[s>>2]|0)+48>>2]|0)|0)>>>0)break;c[t>>2]=eM(c[s>>2]|0)|0;if(c[t>>2]|0){m=13;break}}if((m|0)==13){c[q>>2]=c[t>>2];t=c[q>>2]|0;l=u;return t|0}c[n>>2]=(c[n>>2]|0)+1;if(c[j>>2]|0){c[c[j>>2]>>2]=c[(c[s>>2]|0)+80>>2];c[c[k>>2]>>2]=(c[n>>2]|0)-(c[(c[s>>2]|0)+80>>2]|0)-1}while(1){if((c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0)b=(a[c[n>>2]>>0]|0)==0;else b=0;e=c[n>>2]|0;if(!b)break;c[n>>2]=e+1}b=c[s>>2]|0;if(e>>>0>=(c[o>>2]|0)>>>0){c[b+80>>2]=0;break}c[t>>2]=fM(b,c[n>>2]|0,10)|0;if(!(c[t>>2]|0)){o=c[n>>2]|0;o=o+(bM(c[n>>2]|0,p)|0)|0;c[(c[s>>2]|0)+80>>2]=o;r=(a[(c[r>>2]|0)+231>>0]|0)!=0;o=p;n=c[o>>2]|0;o=c[o+4>>2]|0;t=(c[s>>2]|0)+88|0;m=t;k=c[m>>2]|0;m=c[m+4>>2]|0;p=_$(k|0,m|0,n|0,o|0)|0;s=D;o=Z$(k|0,m|0,n|0,o|0)|0;c[t>>2]=r?o:p;c[t+4>>2]=r?D:s}}while(0);c[q>>2]=0;t=c[q>>2]|0;l=u;return t|0}function _L(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;m=t+32|0;n=t+28|0;o=t+24|0;p=t+20|0;q=t+16|0;r=t+12|0;h=t+8|0;i=t+4|0;j=t;k=t+36|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=c[c[o>>2]>>2];c[r>>2]=c[c[p>>2]>>2];c[h>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[i>>2]=0;c[j>>2]=c[q>>2];while(1){a[k>>0]=0;while(1){if((c[j>>2]|0)>>>0>=(c[h>>2]|0)>>>0)break;if(!((a[k>>0]|a[c[j>>2]>>0])&254))break;g=c[j>>2]|0;c[j>>2]=g+1;a[k>>0]=a[g>>0]&128}b=(c[j>>2]|0)-(c[q>>2]|0)|0;if((c[m>>2]|0)==(c[i>>2]|0)){s=7;break}c[r>>2]=(c[r>>2]|0)-b;c[q>>2]=c[j>>2];if(!(c[r>>2]|0))break;c[j>>2]=(c[q>>2]|0)+1;b=c[j>>2]|0;if(d[c[j>>2]>>0]&128|0)b=cM(b,i)|0;else{c[i>>2]=d[b>>0];b=1}c[j>>2]=(c[j>>2]|0)+b}if((s|0)==7)c[r>>2]=b;if(!(c[n>>2]|0)){q=c[q>>2]|0;s=c[o>>2]|0;c[s>>2]=q;r=c[r>>2]|0;s=c[p>>2]|0;c[s>>2]=r;l=t;return}if(((c[q>>2]|0)+(c[r>>2]|0)|0)==(c[h>>2]|0)){q=c[q>>2]|0;s=c[o>>2]|0;c[s>>2]=q;r=c[r>>2]|0;s=c[p>>2]|0;c[s>>2]=r;l=t;return}m0((c[q>>2]|0)+(c[r>>2]|0)|0,0,(c[h>>2]|0)-((c[q>>2]|0)+(c[r>>2]|0))|0)|0;q=c[q>>2]|0;s=c[o>>2]|0;c[s>>2]=q;r=c[r>>2]|0;s=c[p>>2]|0;c[s>>2]=r;l=t;return}function $L(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+48|0;m=p+8|0;r=p+40|0;q=p+36|0;n=p+32|0;o=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p;s=m;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[n>>2]=g;c[o>>2]=0;c[h>>2]=0;c[i>>2]=c[r>>2];c[j>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[i>>2]>>0]|0)!=1){if((a[c[i>>2]>>0]|0)==2){r=m;r=NL((c[n>>2]|0)+(c[o>>2]|0)|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+r;r=c[n>>2]|0;s=c[o>>2]|0;c[o>>2]=s+1;a[r+s>>0]=2;c[h>>2]=1}aM(0,i)}while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;if((a[c[i>>2]>>0]|0)!=1)break;c[i>>2]=(c[i>>2]|0)+1;s=bM(c[i>>2]|0,k)|0;c[i>>2]=(c[i>>2]|0)+s;if((a[c[i>>2]>>0]|0)==2){if(!(c[h>>2]|0)){s=m;s=NL((c[n>>2]|0)+(c[o>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+s;c[h>>2]=1}s=c[n>>2]|0;r=c[o>>2]|0;c[o>>2]=r+1;a[s+r>>0]=1;r=k;r=NL((c[n>>2]|0)+(c[o>>2]|0)|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+r;r=c[n>>2]|0;s=c[o>>2]|0;c[o>>2]=s+1;a[r+s>>0]=2}aM(0,i)}if(!(c[h>>2]|0)){s=c[o>>2]|0;l=p;return s|0}r=c[n>>2]|0;s=c[o>>2]|0;c[o>>2]=s+1;a[r+s>>0]=0;s=c[o>>2]|0;l=p;return s|0}function aM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+20|0;i=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[f>>2]>>2];a[h>>0]=0;while(1){if(!(254&(a[c[g>>2]>>0]|a[h>>0])))break;d=c[g>>2]|0;c[g>>2]=d+1;a[h>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){i=c[g>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}c[i>>2]=(c[g>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];h0(c[j>>2]|0,c[c[f>>2]>>2]|0,c[i>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[i>>2]|0);c[c[e>>2]>>2]=c[j>>2];i=c[g>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}function bM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;e=n+36|0;f=n+32|0;g=n+28|0;h=n+24|0;i=n+20|0;j=n+8|0;k=n+16|0;m=n;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[i>>2]=a[b>>0];b=c[i>>2]|0;if(!(c[i>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;l=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[i>>2]=b&127|a[d>>0]<<7;b=c[i>>2]|0;if(!(c[i>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;l=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[i>>2]=b&16383|a[d>>0]<<14;b=c[i>>2]|0;if(!(c[i>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;l=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[i>>2]=b&2097151|a[d>>0]<<21;b=c[i>>2]|0;if(!(c[i>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;l=n;return m|0}i=j;c[i>>2]=b&268435455;c[i+4>>2]=0;c[k>>2]=28;while(1){if((c[k>>2]|0)>63)break;i=c[f>>2]|0;c[f>>2]=i+1;i=a[i>>0]|0;d=m;c[d>>2]=i;c[d+4>>2]=((i|0)<0)<<31>>31;d=j0(c[m>>2]&127|0,0,c[k>>2]|0)|0;i=j;d=_$(c[i>>2]|0,c[i+4>>2]|0,d|0,D|0)|0;i=j;c[i>>2]=d;c[i+4>>2]=D;if((c[m>>2]&128|0)==0&0==0)break;c[k>>2]=(c[k>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[h>>2]|0);m=c[e>>2]|0;l=n;return m|0}function cM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;l=i;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;l=i;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;l=i;return h|0}return 0}function dM(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;y=B+76|0;z=B+72|0;A=B+68|0;j=B+64|0;k=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+16|0;q=B+44|0;r=B+40|0;s=B+36|0;t=B+32|0;u=B+8|0;v=B+28|0;w=B;x=B+24|0;c[y>>2]=b;c[z>>2]=d;c[A>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=c[c[j>>2]>>2];if(c[o>>2]|0){c[v>>2]=c[y>>2]|0?-1:1;hM(o,c[z>>2]|0,w);A=c[v>>2]|0;y=w;y=r0(A|0,((A|0)<0)<<31>>31|0,c[y>>2]|0,c[y+4>>2]|0)|0;A=c[k>>2]|0;i=A;y=Z$(c[i>>2]|0,c[i+4>>2]|0,y|0,D|0)|0;c[A>>2]=y;c[A+4>>2]=D;if((c[o>>2]|0)==(c[z>>2]|0))a[c[n>>2]>>0]=1;else{c[x>>2]=c[o>>2];iM(c[z>>2]|0,o);c[c[m>>2]>>2]=(c[x>>2]|0)-(c[o>>2]|0)}c[c[j>>2]>>2]=c[o>>2];l=B;return}i=p;c[i>>2]=0;c[i+4>>2]=0;c[q>>2]=0;c[r>>2]=c[z>>2];c[s>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[t>>2]=1;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;A=bM(c[r>>2]|0,u)|0;c[r>>2]=(c[r>>2]|0)+A;A=c[t>>2]|0;z=u;z=r0(A|0,((A|0)<0)<<31>>31|0,c[z>>2]|0,c[z+4>>2]|0)|0;A=p;z=_$(c[A>>2]|0,c[A+4>>2]|0,z|0,D|0)|0;A=p;c[A>>2]=z;c[A+4>>2]=D;c[q>>2]=c[r>>2];gM(0,r);while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;if(a[c[r>>2]>>0]|0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=c[y>>2]|0?-1:1}c[c[m>>2]>>2]=(c[s>>2]|0)-(c[q>>2]|0);c[c[j>>2]>>2]=c[q>>2];y=p;z=c[y+4>>2]|0;A=c[k>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;l=B;return}function eM(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=BJ(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;l=g;return f|0}AJ(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;l=g;return f|0}function fM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){a=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){a=5;break}c[h>>2]=eM(c[e>>2]|0)|0}if((a|0)==5){l=i;return c[h>>2]|0}return 0}function gM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+20|0;i=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[f>>2]>>2];a[h>>0]=0;while(1){d=(a[c[g>>2]>>0]|a[h>>0]|0)!=0;b=c[g>>2]|0;c[g>>2]=b+1;if(!d)break;a[h>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){i=c[g>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}c[i>>2]=(c[g>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];h0(c[j>>2]|0,c[c[f>>2]>>2]|0,c[i>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[i>>2]|0);c[c[e>>2]>>2]=c[j>>2];i=c[g>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}function hM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;h=k+12|0;i=k;j=k+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[j>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[j>>2]>>0]&128))break;c[j>>2]=(c[j>>2]|0)+-1}c[j>>2]=(c[j>>2]|0)+1;c[c[f>>2]>>2]=c[j>>2];bM(c[j>>2]|0,i)|0;g=i;i=c[g+4>>2]|0;j=c[h>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=i;l=k;return}function iM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;e=j+8|0;f=j+4|0;g=j;h=j+12|0;c[e>>2]=b;c[f>>2]=d;c[g>>2]=(c[c[f>>2]>>2]|0)+-2;a[h>>0]=0;do{if((c[g>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[g>>2]|0;c[g>>2]=d+-1;d=a[d>>0]|0;a[h>>0]=d}while(!(d<<24>>24|0));while(1){if((c[g>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[g>>2]>>0]&128|a[h>>0]|0)!=0;else d=0;b=c[g>>2]|0;if(!d)break;c[g>>2]=b+-1;a[h>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[h>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[g>>2]|0)+2|0)>>>0:0)i=11}else i=11;if((i|0)==11)c[g>>2]=(c[g>>2]|0)+2;do{i=c[g>>2]|0;c[g>>2]=i+1}while((a[i>>0]&128|0)!=0);c[c[f>>2]>>2]=c[g>>2];l=j;return}function jM(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+8|0;r=t+40|0;m=t+36|0;n=t;s=t+32|0;i=t+28|0;j=t+24|0;p=t+20|0;k=t+16|0;q=t+12|0;c[m>>2]=b;b=n;c[b>>2]=d;c[b+4>>2]=e;c[s>>2]=f;c[i>>2]=g;c[j>>2]=h;b=c[m>>2]|0;if(c[(c[m>>2]|0)+244>>2]|0){o=n;c[p>>2]=IJ(c[b+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[b+240>>2]|0)?(c[o>>2]=c[(c[m>>2]|0)+20>>2],o=nf(45288,o)|0,c[(c[m>>2]|0)+240>>2]=o,0==(c[(c[m>>2]|0)+240>>2]|0)):0){c[r>>2]=7;s=c[r>>2]|0;l=t;return s|0}o=n;c[p>>2]=xJ(c[(c[m>>2]|0)+12>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+240>>2]|0,45300,c[o>>2]|0,c[o+4>>2]|0,0,(c[m>>2]|0)+244|0)|0}if((c[p>>2]|0)==0?(c[k>>2]=HJ(c[(c[m>>2]|0)+244>>2]|0)|0,c[c[i>>2]>>2]=c[k>>2],c[s>>2]|0):0){c[q>>2]=pe((c[k>>2]|0)+20|0)|0;if(c[q>>2]|0){if((c[j>>2]|0)!=0&(c[k>>2]|0)>16384){c[k>>2]=4096;c[c[j>>2]>>2]=c[k>>2]}c[p>>2]=BJ(c[(c[m>>2]|0)+244>>2]|0,c[q>>2]|0,c[k>>2]|0,0)|0;b=(c[q>>2]|0)+(c[k>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if(c[p>>2]|0){_d(c[q>>2]|0);c[q>>2]=0}}else c[p>>2]=7;c[c[s>>2]>>2]=c[q>>2]}c[r>>2]=c[p>>2];s=c[r>>2]|0;l=t;return s|0}function kM(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;p=r+36|0;i=r+32|0;q=r+28|0;j=r+24|0;k=r+20|0;m=r+16|0;n=r+12|0;g=r+8|0;h=r+4|0;o=r;c[i>>2]=a;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[q>>2]|0)+4>>2];c[m>>2]=0;a:while(1){if(c[(c[q>>2]|0)+28>>2]|0){a=12;break}if((c[m>>2]|0)>=(c[(c[q>>2]|0)+4>>2]|0)){a=12;break}c[g>>2]=0;c[h>>2]=c[(c[c[q>>2]>>2]|0)+(c[m>>2]<<2)>>2];do{c[o>>2]=UL(c[i>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){a=6;break a}if(!(c[j>>2]|0))break;f=lM(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[g>>2]=f}while((f|0)<0);if(c[g>>2]|0?(d[(c[h>>2]|0)+4>>0]|0|0)!=0:0)TL(c[h>>2]|0);c[m>>2]=(c[m>>2]|0)+1}if((a|0)==6){c[p>>2]=c[o>>2];q=c[p>>2]|0;l=r;return q|0}else if((a|0)==12){WL(c[c[q>>2]>>2]|0,c[n>>2]|0,c[n>>2]|0,217);c[p>>2]=0;q=c[p>>2]|0;l=r;return q|0}return 0}function lM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+12|0;e=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;l=i;return h|0}b=c[(c[f>>2]|0)+64>>2]|0;a=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=H_(b,a,c[g>>2]|0)|0;else c[h>>2]=H_(b,a,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;l=i;return h|0}function mM(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;G=l;l=l+96|0;F=G+88|0;k=G+84|0;m=G+80|0;n=G+76|0;o=G+72|0;p=G+68|0;q=G+64|0;r=G+60|0;s=G+56|0;t=G+52|0;u=G+48|0;v=G+44|0;w=G+40|0;x=G+36|0;y=G+16|0;z=G+8|0;A=G;B=G+32|0;C=G+28|0;E=G+24|0;c[F>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=0;c[u>>2]=0;if(((c[n>>2]|0)<0?c[(c[F>>2]|0)+252>>2]|0:0)?(c[w>>2]=0,c[t>>2]=nM(c[F>>2]|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0,(c[q>>2]|0?1:(c[r>>2]|0)!=0)&1,w)|0,(c[t>>2]|0)==0&(c[w>>2]|0)!=0):0)c[t>>2]=oM(c[s>>2]|0,c[w>>2]|0)|0;a:do if((c[n>>2]|0)!=-1){if(!(c[t>>2]|0))c[t>>2]=pM(c[F>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,u)|0;while(1){if(c[t>>2]|0)break a;j=Bs(c[u>>2]|0)|0;c[t>>2]=j;if(100!=(j|0))break a;c[x>>2]=0;i=jJ(c[u>>2]|0,1)|0;j=y;c[j>>2]=i;c[j+4>>2]=D;j=jJ(c[u>>2]|0,2)|0;i=z;c[i>>2]=j;c[i+4>>2]=D;i=jJ(c[u>>2]|0,3)|0;j=A;c[j>>2]=i;c[j+4>>2]=D;c[B>>2]=gJ(c[u>>2]|0,4)|0;c[C>>2]=fJ(c[u>>2]|0,4)|0;j=y;if(((c[j>>2]|0)!=0|(c[j+4>>2]|0)!=0)&(c[o>>2]|0)!=0){c[E>>2]=c[q>>2]|0?z:0;c[t>>2]=qM(c[F>>2]|0,c[o>>2]|0,c[p>>2]|0,c[C>>2]|0,c[B>>2]|0,y,c[E>>2]|0)|0;if(c[t>>2]|0)break a;if((c[q>>2]|0)==0&(c[r>>2]|0)==0){h=y;i=c[h+4>>2]|0;j=z;c[j>>2]=c[h>>2];c[j+4>>2]=i}}h=y;i=z;j=A;c[t>>2]=rM((c[(c[s>>2]|0)+4>>2]|0)+1|0,((c[q>>2]|0)==0?(c[r>>2]|0)==0:0)&1,c[h>>2]|0,c[h+4>>2]|0,c[i>>2]|0,c[i+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[C>>2]|0,c[B>>2]|0,x)|0;if(c[t>>2]|0)break a;c[t>>2]=oM(c[s>>2]|0,c[x>>2]|0)|0}}while(0);c[v>>2]=ys(c[u>>2]|0)|0;if((c[t>>2]|0)!=101){F=c[t>>2]|0;l=G;return F|0}c[t>>2]=c[v>>2];F=c[t>>2]|0;l=G;return F|0}function nM(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=l;l=l+80|0;A=y+64|0;z=y+60|0;v=y+56|0;w=y+52|0;h=y+48|0;i=y+44|0;j=y+40|0;k=y+36|0;m=y+32|0;n=y+28|0;o=y+24|0;p=y+20|0;q=y+16|0;r=y+12|0;s=y+8|0;t=y+4|0;u=y;c[A>>2]=a;c[z>>2]=b;c[v>>2]=d;c[w>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[h>>2]|0){c[q>>2]=0;c[k>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;c[r>>2]=c[(c[k>>2]|0)+12>>2];c[s>>2]=c[(c[k>>2]|0)+16>>2];if(c[w>>2]|0){if((c[s>>2]|0)>=(c[w>>2]|0)?0==(H_(c[r>>2]|0,c[v>>2]|0,c[w>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[n>>2]|0)==(c[q>>2]|0)){c[q>>2]=(c[q>>2]|0)+16;c[t>>2]=Xf(c[m>>2]|0,c[q>>2]<<2)|0;if(!(c[t>>2]|0)){x=9;break}c[m>>2]=c[t>>2]}g=c[k>>2]|0;z=c[m>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[z+(A<<2)>>2]=g}c[k>>2]=c[c[k>>2]>>2]}if((x|0)==9){c[o>>2]=7;c[n>>2]=0}if((c[n>>2]|0)>1)__(c[m>>2]|0,c[n>>2]|0,4,218)}else{c[k>>2]=JK(c[p>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;if(c[k>>2]|0){c[m>>2]=k;c[n>>2]=1}}do if((c[n>>2]|0)>0){c[u>>2]=96+((c[n>>2]|0)+1<<2);c[j>>2]=pe(c[u>>2]|0)|0;if(c[j>>2]|0){m0(c[j>>2]|0,0,c[u>>2]|0)|0;c[c[j>>2]>>2]=2147483647;c[(c[j>>2]|0)+56>>2]=(c[j>>2]|0)+96;h0(c[(c[j>>2]|0)+56>>2]|0,c[m>>2]|0,c[n>>2]<<2|0)|0;break}else{c[o>>2]=7;break}}while(0);if(!(c[h>>2]|0)){z=c[j>>2]|0;A=c[i>>2]|0;c[A>>2]=z;A=c[o>>2]|0;l=y;return A|0}_d(c[m>>2]|0);z=c[j>>2]|0;A=c[i>>2]|0;c[A>>2]=z;A=c[o>>2]|0;l=y;return A|0}function oM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Xf(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}FL(c[f>>2]|0);c[d>>2]=7;h=c[d>>2]|0;l=i;return h|0}while(0);f=c[f>>2]|0;g=c[c[e>>2]>>2]|0;e=(c[e>>2]|0)+4|0;h=c[e>>2]|0;c[e>>2]=h+1;c[g+(h<<2)>>2]=f;c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}function pM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[h>>2]=0;a=c[i>>2]|0;if((c[m>>2]|0)<0){c[g>>2]=sL(a,13,h,0)|0;if(!(c[g>>2]|0)){m=c[h>>2]|0;f=vL(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;qJ(m,1,f,D)|0;f=c[h>>2]|0;m=vL(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,1023)|0;qJ(f,2,m,D)|0}}else{c[g>>2]=sL(a,12,h,0)|0;if(!(c[g>>2]|0)){f=c[h>>2]|0;m=vL(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;qJ(f,1,m,D)|0}}c[c[n>>2]>>2]=c[h>>2];l=o;return c[g>>2]|0}function qM(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;s=v+40|0;t=v+36|0;u=v+32|0;j=v+28|0;k=v+24|0;m=v+20|0;n=v+16|0;o=v+12|0;p=v+8|0;q=v+4|0;r=v;c[s>>2]=a;c[t>>2]=b;c[u>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=0;a=c[j>>2]|0;if((d[c[j>>2]>>0]|0)&128|0)cM(a,p)|0;else c[p>>2]=d[a>>0];c[o>>2]=sM(c[t>>2]|0,c[u>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!((c[o>>2]|0)==0&(c[p>>2]|0)>1)){u=c[o>>2]|0;l=v;return u|0}c[q>>2]=0;c[r>>2]=0;if((c[m>>2]|0)!=0&(c[n>>2]|0)!=0?(k=c[m>>2]|0,p=c[n>>2]|0,(c[k>>2]|0)!=(c[p>>2]|0)?1:(c[k+4>>2]|0)!=(c[p+4>>2]|0)):0){p=c[m>>2]|0;c[o>>2]=jM(c[s>>2]|0,c[p>>2]|0,c[p+4>>2]|0,q,r,0)|0;if(!(c[o>>2]|0))c[o>>2]=qM(c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[m>>2]|0,0)|0;_d(c[q>>2]|0);c[m>>2]=0;c[q>>2]=0}if(!(c[o>>2]|0)){p=c[m>>2]|0?c[m>>2]|0:c[n>>2]|0;c[o>>2]=jM(c[s>>2]|0,c[p>>2]|0,c[p+4>>2]|0,q,r,0)|0}if(!(c[o>>2]|0))c[o>>2]=qM(c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;_d(c[q>>2]|0);u=c[o>>2]|0;l=v;return u|0}function rM(b,d,e,f,g,h,i,j,k,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;o=z+52|0;p=z+48|0;q=z+44|0;r=z+16|0;s=z+8|0;t=z;u=z+40|0;v=z+36|0;w=z+32|0;x=z+28|0;y=z+24|0;c[p>>2]=b;c[q>>2]=d;d=r;c[d>>2]=e;c[d+4>>2]=f;f=s;c[f>>2]=g;c[f+4>>2]=h;h=t;c[h>>2]=i;c[h+4>>2]=j;c[u>>2]=k;c[v>>2]=m;c[w>>2]=n;c[y>>2]=0;m=r;if((c[m>>2]|0)==0&(c[m+4>>2]|0)==0)c[y>>2]=(c[v>>2]|0)+20;c[x>>2]=pe(96+(c[y>>2]|0)|0)|0;if(!(c[x>>2]|0)){c[o>>2]=7;y=c[o>>2]|0;l=z;return y|0}b=c[x>>2]|0;d=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[c[x>>2]>>2]=c[p>>2];a[(c[x>>2]|0)+4>>0]=(c[q>>2]|0)!=0;m=r;q=c[m+4>>2]|0;p=(c[x>>2]|0)+8|0;c[p>>2]=c[m>>2];c[p+4>>2]=q;p=s;s=c[p+4>>2]|0;q=(c[x>>2]|0)+16|0;c[q>>2]=c[p>>2];c[q+4>>2]=s;q=t;s=c[q+4>>2]|0;t=(c[x>>2]|0)+24|0;c[t>>2]=c[q>>2];c[t+4>>2]=s;if(c[y>>2]|0){c[(c[x>>2]|0)+40>>2]=(c[x>>2]|0)+96;a[(c[x>>2]|0)+5>>0]=1;c[(c[x>>2]|0)+44>>2]=c[v>>2];h0(c[(c[x>>2]|0)+40>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;b=(c[(c[x>>2]|0)+40>>2]|0)+(c[v>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0))}else{v=r;v=Z$(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;y=(c[x>>2]|0)+32|0;c[y>>2]=v;c[y+4>>2]=D}c[c[w>>2]>>2]=c[x>>2];c[o>>2]=0;y=c[o>>2]|0;l=z;return y|0} +function Ig(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];while(1){if((c[(c[e>>2]|0)+16>>2]|0)>>>0<=(c[(c[e>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[e>>2]|0)+20+28>>2]|0;c[f>>2]=a;if(d[a+14>>0]|0|0)break;Jg(c[f>>2]|0)|0;Kg(c[f>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){l=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){l=g;return}_d(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;l=g;return}function Jg(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;l=e;return c[d>>2]|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[i>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[i>>2]<<2);while(1){a=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=a}c[c[g>>2]>>2]=c[a>>2];i=(c[f>>2]|0)+40|0;c[i>>2]=(c[i>>2]|0)+-1;if(!(c[e>>2]|0)){l=h;return}Lg(c[d>>2]|0);l=h;return}function Lg(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else Mg(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){l=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;l=f;return}function Mg(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){l=f;return}if((c[b>>2]|0)>>>0>=(c[13668]|0)>>>0?(c[b>>2]|0)>>>0<(c[13669]|0)>>>0:0){td(c[13670]|0);$d(1,1);c[d>>2]=c[b>>2];c[c[d>>2]>>2]=c[13671];c[13671]=c[d>>2];c[13672]=(c[13672]|0)+1;c[13673]=(c[13672]|0)<(c[13667]|0)&1;ud(c[13670]|0);l=f;return}c[e>>2]=0;c[e>>2]=Kd(c[b>>2]|0)|0;td(c[13670]|0);$d(2,c[e>>2]|0);ud(c[13670]|0);_d(c[b>>2]|0);l=f;return}function Ng(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;if(((c[(c[e>>2]|0)+32>>2]|0)-(c[f>>2]|0)|0)>>>0<(c[(c[e>>2]|0)+44>>2]|0)>>>0){c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0;c[h>>2]=((c[(c[e>>2]|0)+32>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}else{c[g>>2]=((c[(c[e>>2]|0)+44>>2]|0)>>>0)/2|0;c[h>>2]=(c[g>>2]|0)-1}while(1){c[i>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){d=c[c[i>>2]>>2]|0;c[j>>2]=d;if(!d)break;if((c[(c[j>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[i>>2]=(c[j>>2]|0)+16;continue}d=(c[e>>2]|0)+40|0;c[d>>2]=(c[d>>2]|0)+-1;c[c[i>>2]>>2]=c[(c[j>>2]|0)+16>>2];if(!(a[(c[j>>2]|0)+12>>0]|0))Jg(c[j>>2]|0)|0;Lg(c[j>>2]|0)}if((c[g>>2]|0)==(c[h>>2]|0))break;c[g>>2]=(((c[g>>2]|0)+1|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}l=k;return}function Og(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;i=k+20|0;m=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[j>>2]=0;c[j>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[j>>2]|0)d=(c[(c[j>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;b=c[j>>2]|0;if(!d)break;c[j>>2]=c[b+16>>2]}if(b|0){b=c[j>>2]|0;if(a[(c[j>>2]|0)+12>>0]|0){c[i>>2]=b;m=c[i>>2]|0;l=k;return m|0}else{c[i>>2]=Jg(b)|0;m=c[i>>2]|0;l=k;return m|0}}else if(c[g>>2]|0){c[i>>2]=Pg(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[i>>2]|0;l=k;return m|0}else{c[i>>2]=0;m=c[i>>2]|0;l=k;return m|0}return 0}function Pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;h=p+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;f=p+4|0;g=p;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=c[c[i>>2]>>2];c[o>>2]=0;c[m>>2]=(c[(c[i>>2]|0)+40>>2]|0)-(c[(c[i>>2]|0)+36>>2]|0);do if((c[k>>2]|0)==1){if((c[m>>2]|0)>>>0<(c[(c[n>>2]|0)+12>>2]|0)>>>0?(c[m>>2]|0)>>>0<(c[(c[i>>2]|0)+28>>2]|0)>>>0:0){if(!(Qg(c[i>>2]|0)|0))break;if((c[(c[i>>2]|0)+36>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break}c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}while(0);if((c[(c[i>>2]|0)+40>>2]|0)>>>0>=(c[(c[i>>2]|0)+44>>2]|0)>>>0)Rg(c[i>>2]|0);do if(c[(c[i>>2]|0)+16>>2]|0?(a[(c[(c[n>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[i>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[i>>2]|0)+24>>2]|0)>>>0?(Qg(c[i>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[n>>2]|0)+20+28>>2];Kg(c[o>>2]|0,0);Jg(c[o>>2]|0)|0;c[f>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[f>>2]|0)+12>>2]|0)!=(c[(c[i>>2]|0)+12>>2]|0)){Lg(c[o>>2]|0);c[o>>2]=0;break}else{n=(c[n>>2]|0)+16|0;c[n>>2]=(c[n>>2]|0)-((c[(c[f>>2]|0)+16>>2]|0)-(c[(c[i>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=Sg(c[i>>2]|0,(c[k>>2]|0)==1&1)|0;if(c[o>>2]|0?(c[g>>2]=((c[j>>2]|0)>>>0)%((c[(c[i>>2]|0)+44>>2]|0)>>>0)|0,n=(c[i>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[j>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[i>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[o>>2],(c[j>>2]|0)>>>0>(c[(c[i>>2]|0)+32>>2]|0)>>>0):0)c[(c[i>>2]|0)+32>>2]=c[j>>2];c[h>>2]=c[o>>2];o=c[h>>2]|0;l=p;return o|0}function Qg(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+4|0;e=d;c[e>>2]=a;if(c[13666]|0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[13665]|0):0){c[b>>2]=c[13673];e=c[b>>2]|0;l=d;return e|0}c[b>>2]=Yg()|0;e=c[b>>2]|0;l=d;return e|0}function Rg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[e>>2]=a;c[e>>2]=(c[e>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)Ug();c[d>>2]=Xg(c[e>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Wg();if(!(c[d>>2]|0)){l=j;return}c[f>>2]=0;while(1){a=c[(c[b>>2]|0)+48>>2]|0;if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[a+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[g>>2]=a;if(!a)break;c[i>>2]=((c[(c[g>>2]|0)+8>>2]|0)>>>0)%((c[e>>2]|0)>>>0)|0;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[(c[g>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[i>>2]<<2)>>2];c[(c[d>>2]|0)+(c[i>>2]<<2)>>2]=c[g>>2]}c[f>>2]=(c[f>>2]|0)+1}_d(a);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[e>>2];l=j;return}function Sg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)j=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?Tg(c[f>>2]|0)|0:0){j=4;break}if(c[g>>2]|0)Ug();c[i>>2]=Vg(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[i>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Wg();if(c[i>>2]|0){c[c[h>>2]>>2]=c[i>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}while(0);if((j|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){j=(c[c[f>>2]>>2]|0)+16|0;c[j>>2]=(c[j>>2]|0)+1}c[e>>2]=c[h>>2];j=c[e>>2]|0;l=k;return j|0}function Tg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+28|0;e=k+24|0;f=k;g=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;c[e>>2]=b;if(!(c[13664]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}Ug();if((c[13664]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[13664]|0;m=r0(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=m;c[b+4>>2]=D}else{b=c[13664]|0;b=r0(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=f;c[m>>2]=b;c[m+4>>2]=D}o=f;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=r0(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=D;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){n=c[(c[e>>2]|0)+12>>2]|0;n=r0(n|0,((n|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;o=f;c[o>>2]=n;c[o+4>>2]=D}o=f;o=Fd(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[g>>2]=o;Wg();a:do if(c[g>>2]|0){o=Kd(c[g>>2]|0)|0;c[h>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break a;c[j>>2]=(c[g>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+4>>2]=(c[j>>2]|0)+32;a[(c[j>>2]|0)+13>>0]=1;a[(c[j>>2]|0)+14>>0]=0;c[(c[j>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[j>>2];c[g>>2]=(c[g>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[i>>2]=(c[i>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;l=k;return o|0}function Ug(){if(!(c[13700]|0))return;Jb[c[13700]&255]();return}function Vg(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[13665]|0)){td(c[13670]|0);c[d>>2]=c[13671];if(c[d>>2]|0){c[13671]=c[c[13671]>>2];c[13672]=(c[13672]|0)+-1;c[13673]=(c[13672]|0)<(c[13667]|0)&1;Hd(7,c[b>>2]|0);Ld(1,1)}ud(c[13670]|0)}if(c[d>>2]|0){e=c[d>>2]|0;l=f;return e|0}a=c[b>>2]|0;c[d>>2]=Fd(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;l=f;return e|0}c[e>>2]=Kd(c[d>>2]|0)|0;td(c[13670]|0);Hd(7,c[b>>2]|0);Ld(2,c[e>>2]|0);ud(c[13670]|0);e=c[d>>2]|0;l=f;return e|0}function Wg(){if(!(c[13701]|0))return;Jb[c[54804>>2]&255]();return}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=Fd(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;l=f;return g|0}m0(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;l=f;return g|0}function Yg(){return c[13627]|0}function Zg(){$g(3948,3);return}function _g(){$g(3724,8);return}function $g(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0))break;c[i>>2]=c[(c[e>>2]|0)+((c[g>>2]|0)*28|0)+20>>2];c[j>>2]=md(c[i>>2]|0)|0;c[k>>2]=((d[20458+(d[c[i>>2]>>0]|0)>>0]|0)+(c[j>>2]|0)|0)%23|0;c[h>>2]=ah(c[k>>2]|0,c[i>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+((c[g>>2]|0)*28|0)+8>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=(c[e>>2]|0)+((c[g>>2]|0)*28|0)}else{c[(c[e>>2]|0)+((c[g>>2]|0)*28|0)+8>>2]=0;c[(c[e>>2]|0)+((c[g>>2]|0)*28|0)+24>>2]=c[54696+(c[k>>2]<<2)>>2];c[54696+(c[k>>2]<<2)>>2]=(c[e>>2]|0)+((c[g>>2]|0)*28|0)}c[g>>2]=(c[g>>2]|0)+1}l=m;return}function ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[54696+(c[h>>2]<<2)>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(bh(c[(c[e>>2]|0)+20>>2]|0,c[d>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+24>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;l=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;l=g;return h|0}return 0}function bh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;j=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[i>>2]=b;c[e>>2]=c[j>>2];c[f>>2]=c[i>>2];while(1){c[g>>2]=(d[20458+(d[c[e>>2]>>0]|0)>>0]|0)-(d[20458+(d[c[f>>2]>>0]|0)>>0]|0);if(c[g>>2]|0){a=5;break}if(!(d[c[e>>2]>>0]|0)){a=5;break}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}if((a|0)==5){l=h;return c[g>>2]|0}return 0}function ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;d=Rh(c[c[h>>2]>>2]|0)|0;c[f>>2]=d;if(!d){l=g;return}h=c[e>>2]|0;Xh(h,kd(c[f>>2]|0)|0);l=g;return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=Qi(c[c[h>>2]>>2]|0)|0;d=c[g>>2]|0;xi(d,od(c[f>>2]|0)|0,-1,0);l=e;return}function eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[f>>2]|0;xi(d,qj()|0,-1,0);l=e;return}function fh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;o=v+52|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+36|0;t=v+32|0;u=v+28|0;g=v+24|0;h=v+20|0;i=v+16|0;j=v+12|0;k=v+8|0;m=v+4|0;n=v;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[h>>2]=0;c[i>>2]=0;if((Ai(c[c[q>>2]>>2]|0)|0)==5){l=v;return}c[r>>2]=Rh(c[c[q>>2]>>2]|0)|0;if(!(c[r>>2]|0)){l=v;return}c[t>>2]=Sh(c[c[q>>2]>>2]|0)|0;a:do if((c[p>>2]|0)!=1){q=Rh(c[(c[q>>2]|0)+4>>2]|0)|0;c[s>>2]=q;if(!q){l=v;return}c[k>>2]=c[s>>2];c[j>>2]=0;while(1){if(!(a[c[k>>2]>>0]|0))break;q=c[k>>2]|0;c[k>>2]=q+1;b:do if((d[q>>0]|0)>=192)while(1){if((d[c[k>>2]>>0]&192|0)!=128)break b;c[k>>2]=(c[k>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)>0){p=c[o>>2]|0;q=c[j>>2]|0;q=r0(q|0,((q|0)<0)<<31>>31|0,5,0)|0;c[i>>2]=_i(p,q,D)|0;if(!(c[i>>2]|0)){l=v;return}c[h>>2]=(c[i>>2]|0)+(c[j>>2]<<2);c[k>>2]=c[s>>2];c[j>>2]=0;while(1){if(!(a[c[k>>2]>>0]|0))break a;c[(c[i>>2]|0)+(c[j>>2]<<2)>>2]=c[k>>2];q=c[k>>2]|0;c[k>>2]=q+1;c:do if((d[q>>0]|0)>=192)while(1){if((d[c[k>>2]>>0]&192|0)!=128)break c;c[k>>2]=(c[k>>2]|0)+1}while(0);a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=(c[k>>2]|0)-(c[(c[i>>2]|0)+(c[j>>2]<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}}else{c[j>>2]=1;c[h>>2]=23020;c[i>>2]=3720;c[s>>2]=0}while(0);if((c[j>>2]|0)>0){c[u>>2]=Qh(c[o>>2]|0)|0;d:do if((c[u>>2]&1|0)!=0&(c[t>>2]|0)>0)do{c[m>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=d[(c[h>>2]|0)+(c[g>>2]|0)>>0];if((c[m>>2]|0)<=(c[t>>2]|0)?(H_(c[r>>2]|0,c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,c[m>>2]|0)|0)==0:0)break;c[g>>2]=(c[g>>2]|0)+1}if((c[g>>2]|0)>=(c[j>>2]|0))break d;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[t>>2]=(c[t>>2]|0)-(c[m>>2]|0)}while((c[t>>2]|0)>0);while(0);e:do if((c[u>>2]&2|0)!=0&(c[t>>2]|0)>0)do{c[n>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=d[(c[h>>2]|0)+(c[g>>2]|0)>>0];if((c[n>>2]|0)<=(c[t>>2]|0)?(H_((c[r>>2]|0)+((c[t>>2]|0)-(c[n>>2]|0))|0,c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,c[n>>2]|0)|0)==0:0)break;c[g>>2]=(c[g>>2]|0)+1}if((c[g>>2]|0)>=(c[j>>2]|0))break e;c[t>>2]=(c[t>>2]|0)-(c[n>>2]|0)}while((c[t>>2]|0)>0);while(0);if(c[s>>2]|0)_d(c[i>>2]|0)}xi(c[o>>2]|0,c[r>>2]|0,c[t>>2]|0,-1);l=v;return}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;d=(Qh(c[e>>2]|0)|0)==0;c[i>>2]=d?0:-1;c[k>>2]=dj(c[e>>2]|0)|0;c[j>>2]=0;if((Ai(c[c[g>>2]>>2]|0)|0)==5){l=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((Ai(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}d=ej(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[k>>2]|0)|0;if((d^c[i>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){l=n;return}Zi(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);l=n;return}function hh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+28|0;f=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[h>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[i>>2]=c[c[f>>2]>>2];c[j>>2]=ui(c[h>>2]|0,40)|0;if(!(c[j>>2]|0)){l=n;return}f=(Ai(c[c[f>>2]>>2]|0)|0)==5;a=(b[(c[j>>2]|0)+8>>1]|0)!=0;if(f){if(!a){l=n;return}pj(c[h>>2]|0);l=n;return}d=c[h>>2]|0;if(!a){m=Ph(d)|0;c[(c[j>>2]|0)+32>>2]=m;$i(c[j>>2]|0,c[i>>2]|0)|0;l=n;return}c[g>>2]=dj(d)|0;c[k>>2]=(Qh(c[h>>2]|0)|0)!=0&1;c[m>>2]=ej(c[j>>2]|0,c[i>>2]|0,c[g>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[m>>2]|0)<0)?!((c[k>>2]|0)==0&(c[m>>2]|0)>0):0){pj(c[h>>2]|0);l=n;return}$i(c[j>>2]|0,c[i>>2]|0)|0;l=n;return}function ih(a){a=a|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=ui(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){l=f;return}if(b[(c[e>>2]|0)+8>>1]|0)Zi(c[d>>2]|0,c[e>>2]|0);ei(c[e>>2]|0);l=f;return}function jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(Ai(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=22992;break}case 3:{c[f>>2]=23e3;break}case 2:{c[f>>2]=23005;break}case 4:{c[f>>2]=23010;break}default:c[f>>2]=23015}xi(c[e>>2]|0,c[f>>2]|0,-1,0);l=g;return}function kh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[k+12>>2]=e;c[h>>2]=f;switch(Ai(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{Xh(c[g>>2]|0,Sh(c[c[h>>2]>>2]|0)|0);l=k;return}case 3:{c[j>>2]=Rh(c[c[h>>2]>>2]|0)|0;if(!(c[j>>2]|0)){l=k;return}c[i>>2]=0;a:while(1){if(!(a[c[j>>2]>>0]|0))break;c[i>>2]=(c[i>>2]|0)+1;h=c[j>>2]|0;c[j>>2]=h+1;if((d[h>>0]|0)<192)continue;while(1){if((d[c[j>>2]>>0]&192|0)!=128)continue a;c[j>>2]=(c[j>>2]|0)+1}}Xh(c[g>>2]|0,c[i>>2]|0);l=k;return}default:{nj(c[g>>2]|0);l=k;return}}}function lh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+40|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;f=q+12|0;g=q+8|0;h=q+4|0;i=q;c[j>>2]=a;c[q+36>>2]=b;c[k>>2]=e;c[h>>2]=1;c[f>>2]=Ai(c[c[k>>2]>>2]|0)|0;c[g>>2]=Ai(c[(c[k>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==5|(c[g>>2]|0)==5){l=q;return}c[o>>2]=Sh(c[c[k>>2]>>2]|0)|0;c[p>>2]=Sh(c[(c[k>>2]|0)+4>>2]|0)|0;a=c[c[k>>2]>>2]|0;if((c[f>>2]|0)==4&(c[g>>2]|0)==4){c[m>>2]=Ri(a)|0;c[n>>2]=Ri(c[(c[k>>2]|0)+4>>2]|0)|0;c[i>>2]=0}else{c[m>>2]=Rh(a)|0;c[n>>2]=Rh(c[(c[k>>2]|0)+4>>2]|0)|0;c[i>>2]=1}a:while(1){if((c[p>>2]|0)>(c[o>>2]|0))break;if(!(H_(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[o>>2]=(c[o>>2]|0)+-1;c[m>>2]=(c[m>>2]|0)+1;if(!(c[i>>2]|0))continue a;if(((d[c[m>>2]>>0]|0)&192|0)!=128)continue a}}if((c[p>>2]|0)>(c[o>>2]|0))c[h>>2]=0;Xh(c[j>>2]|0,c[h>>2]|0);l=q;return}function mh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+80|0;o=p;g=p+64|0;h=p+60|0;i=p+56|0;j=p+44|0;k=p+16|0;m=p+12|0;n=p+8|0;f=p+4|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[f>>2]=Ph(c[g>>2]|0)|0;if((c[h>>2]|0)<1){l=p;return}e=Rh(c[c[i>>2]>>2]|0)|0;c[m>>2]=e;if(!e){l=p;return}c[j>>2]=(c[h>>2]|0)-1;c[j+4>>2]=0;c[j+8>>2]=(c[i>>2]|0)+4;zd(k,c[f>>2]|0,0,0,c[(c[f>>2]|0)+96>>2]|0);a[k+25>>0]=2;m=c[m>>2]|0;c[o>>2]=j;oj(k,m,o);c[n>>2]=c[k+12>>2];m=c[g>>2]|0;o=Bd(k)|0;xi(m,o,c[n>>2]|0,191);l=p;return}function nh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+12|0;i=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[i>>2]=e;c[g>>2]=Rh(c[c[i>>2]>>2]|0)|0;if(!(c[g>>2]|0)){l=h;return}if(!(d[c[g>>2]>>0]|0)){l=h;return}i=c[f>>2]|0;Xh(i,Vh(g)|0);l=h;return}function oh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;f=o+8|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;e=(c[h>>2]<<2)+1|0;e=of(e,((e|0)<0)<<31>>31)|0;c[j>>2]=e;c[k>>2]=e;if(!(c[j>>2]|0)){wi(c[g>>2]|0);l=o;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;p=Fi(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;e=D;d=n;c[d>>2]=p;c[d+4>>2]=e;d=n;b=c[d+4>>2]|0;d=(c[n+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>1114111);b=n;c[b>>2]=d?65533:p;c[b+4>>2]=d?0:e;c[f>>2]=c[n>>2]&2097151;b=c[f>>2]|0;do if((c[f>>2]|0)>>>0>=128){d=c[f>>2]|0;if(b>>>0<2048){e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=192+(d>>>6&31);e=128+(c[f>>2]&63)&255;p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=e;break}b=c[f>>2]|0;if(d>>>0<65536){p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=224+(b>>>12&15);p=128+((c[f>>2]|0)>>>6&63)&255;e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=p;e=128+(c[f>>2]&63)&255;p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=e;break}else{e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=240+(b>>>18&7);e=128+((c[f>>2]|0)>>>12&63)&255;p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=e;p=128+((c[f>>2]|0)>>>6&63)&255;e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=p;e=128+(c[f>>2]&63)&255;p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=e;break}}else{p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=b}while(0);c[m>>2]=(c[m>>2]|0)+1}p=(c[k>>2]|0)-(c[j>>2]|0)|0;Si(c[g>>2]|0,c[j>>2]|0,p,((p|0)<0)<<31>>31,157,1);l=o;return}function ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;e=j+24|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[j+20>>2]=b;c[f>>2]=d;switch(Ai(c[c[f>>2]>>2]|0)|0){case 1:{i=g;c[i>>2]=Fi(c[c[f>>2]>>2]|0)|0;c[i+4>>2]=D;do if((c[g+4>>2]|0)<0){i=g;if(!((c[i>>2]|0)==0?(c[i+4>>2]|0)==-2147483648:0)){f=g;f=Z$(0,0,c[f>>2]|0,c[f+4>>2]|0)|0;i=g;c[i>>2]=f;c[i+4>>2]=D;break}Th(c[e>>2]|0,22260,-1);l=j;return}while(0);i=g;Bi(c[e>>2]|0,c[i>>2]|0,c[i+4>>2]|0);l=j;return}case 5:{nj(c[e>>2]|0);l=j;return}default:{h[i>>3]=+Hi(c[c[f>>2]>>2]|0);if(+h[i>>3]<0.0)h[i>>3]=-+h[i>>3];Ci(c[e>>2]|0,+h[i>>3]);l=j;return}}}function qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;i=m;j=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(Ai(c[(c[f>>2]|0)+4>>2]|0)|0)){l=m;return}else{n=Qi(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((Ai(c[c[f>>2]>>2]|0)|0)==5){l=m;return}h[i>>3]=+Hi(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[i>>3]>=0.0&+h[i>>3]<9223372036854775808.0){o=+h[i>>3]+.5;h[i>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+F(o)>=1.0?(o>0.0?~~+T(+E(o/4294967296.0),4294967295.0)>>>0:~~+R((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[i>>3]<0.0?-+h[i>>3]<9223372036854775808.0:0){o=-+h[i>>3]+.5;h[i>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+F(o)>=1.0?(o>0.0?~~+T(+E(o/4294967296.0),4294967295.0)>>>0:~~+R((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[i>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[j>>2]=nf(22987,k)|0;if(c[j>>2]|0){n=c[j>>2]|0;Ji(n,i,md(c[j>>2]|0)|0,1)|0;_d(c[j>>2]|0);break}wi(c[e>>2]|0);l=m;return}while(0);Ci(c[e>>2]|0,+h[i>>3]);l=m;return}function rh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+24|0;n=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[i>>2]=Rh(c[c[n>>2]>>2]|0)|0;c[k>>2]=Sh(c[c[n>>2]>>2]|0)|0;if(!(c[i>>2]|0)){l=m;return}f=c[g>>2]|0;n=c[k>>2]|0;n=_$(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[h>>2]=_i(f,n,D)|0;if(!(c[h>>2]|0)){l=m;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[(c[i>>2]|0)+(c[j>>2]|0)>>0]&~(d[20063+(d[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&32);c[j>>2]=(c[j>>2]|0)+1}xi(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,157);l=m;return}function sh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+24|0;n=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[i>>2]=Rh(c[c[n>>2]>>2]|0)|0;c[k>>2]=Sh(c[c[n>>2]>>2]|0)|0;if(!(c[i>>2]|0)){l=m;return}f=c[g>>2]|0;n=c[k>>2]|0;n=_$(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[h>>2]=_i(f,n,D)|0;if(!(c[h>>2]|0)){l=m;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[20458+(d[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]|0;c[j>>2]=(c[j>>2]|0)+1}xi(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,157);l=m;return}function th(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;i=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;g=o;h=o+32|0;c[i>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[m>>2]=Ri(c[c[p>>2]>>2]|0)|0;c[k>>2]=Sh(c[c[p>>2]>>2]|0)|0;e=c[i>>2]|0;f=c[k>>2]|0;f=r0(f|0,((f|0)<0)<<31>>31|0,2,0)|0;f=_$(f|0,D|0,1,0)|0;f=_i(e,f,D)|0;c[n>>2]=f;c[g>>2]=f;if(!(c[n>>2]|0)){l=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[m>>2]>>0]|0;p=a[22971+((d[h>>0]|0)>>4&15)>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=p;f=a[22971+((d[h>>0]|0)&15)>>0]|0;p=c[g>>2]|0;c[g>>2]=p+1;a[p>>0]=f;c[j>>2]=(c[j>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}a[c[g>>2]>>0]=0;xi(c[i>>2]|0,c[n>>2]|0,c[k>>2]<<1,157);l=o;return}function uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;sf(8,f);if((c[f+4>>2]|0)<0){b=f;b=Z$(0,0,c[b>>2]|0,c[b+4>>2]&2147483647|0)|0;d=f;c[d>>2]=b;c[d+4>>2]=D}Bi(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);l=g;return}function vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;e=h+16|0;i=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[i>>2]=d;d=Qi(c[c[i>>2]>>2]|0)|0;c[f>>2]=d;c[f>>2]=(c[f>>2]|0)<1?1:d;d=c[f>>2]|0;c[g>>2]=_i(c[e>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){l=h;return}sf(c[f>>2]|0,c[g>>2]|0);mj(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,157);l=h;return}function wh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=dj(c[e>>2]|0)|0;if(!(ej(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){l=g;return}Zi(c[e>>2]|0,c[c[f>>2]>>2]|0);l=g;return}function xh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[f>>2]|0;xi(d,wd()|0,-1,0);l=e;return}function yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;d=Qi(c[c[g>>2]>>2]|0)|0;c[f>>2]=Rh(c[(c[g>>2]|0)+4>>2]|0)|0;xd(d,21240,f);l=e;return}function zh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+144|0;x=y+32|0;w=y+24|0;q=y+80|0;r=y+72|0;s=y+16|0;t=y+8|0;u=y+84|0;v=y+68|0;g=y+64|0;i=y+60|0;j=y+56|0;k=y+52|0;m=y+48|0;n=y;o=y+44|0;p=y+40|0;c[q>>2]=b;c[y+76>>2]=e;c[r>>2]=f;switch(Ai(c[c[r>>2]>>2]|0)|0){case 2:{h[s>>3]=+Hi(c[c[r>>2]>>2]|0);h[w>>3]=+h[s>>3];ef(50,u,22196,w)|0;Ji(u,t,20,1)|0;if(+h[s>>3]!=+h[t>>3]){h[x>>3]=+h[s>>3];ef(50,u,22964,x)|0}xi(c[q>>2]|0,u,-1,-1);l=y;return}case 1:{Zi(c[q>>2]|0,c[c[r>>2]>>2]|0);l=y;return}case 4:{c[v>>2]=0;c[g>>2]=Ri(c[c[r>>2]>>2]|0)|0;c[i>>2]=Sh(c[c[r>>2]>>2]|0)|0;w=c[q>>2]|0;x=c[i>>2]|0;c[v>>2]=_i(w,_$(r0(2,0,x|0,((x|0)<0)<<31>>31|0)|0,D|0,4,0)|0,D)|0;if(!(c[v>>2]|0)){l=y;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;a[(c[v>>2]|0)+((c[j>>2]<<1)+2)>>0]=a[22971+(a[(c[g>>2]|0)+(c[j>>2]|0)>>0]>>4&15)>>0]|0;a[(c[v>>2]|0)+((c[j>>2]<<1)+3)>>0]=a[22971+(a[(c[g>>2]|0)+(c[j>>2]|0)>>0]&15)>>0]|0;c[j>>2]=(c[j>>2]|0)+1}a[(c[v>>2]|0)+((c[i>>2]<<1)+2)>>0]=39;a[(c[v>>2]|0)+((c[i>>2]<<1)+3)>>0]=0;a[c[v>>2]>>0]=88;a[(c[v>>2]|0)+1>>0]=39;xi(c[q>>2]|0,c[v>>2]|0,-1,-1);_d(c[v>>2]|0);l=y;return}case 3:{c[o>>2]=Rh(c[c[r>>2]>>2]|0)|0;if(!(c[o>>2]|0)){l=y;return}c[k>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0)==39){w=n;w=_$(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=D}c[k>>2]=(c[k>>2]|0)+1}w=c[q>>2]|0;v=c[k>>2]|0;x=n;x=_$(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=_$(x|0,D|0,3,0)|0;c[p>>2]=_i(w,x,D)|0;if(!(c[p>>2]|0)){l=y;return}a[c[p>>2]>>0]=39;c[k>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0))break;v=a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0;w=c[p>>2]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[w+x>>0]=v;if((d[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0)==39){w=c[p>>2]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[w+x>>0]=39}c[k>>2]=(c[k>>2]|0)+1}w=c[p>>2]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[w+x>>0]=39;a[(c[p>>2]|0)+(c[m>>2]|0)>>0]=0;xi(c[q>>2]|0,c[p>>2]|0,c[m>>2]|0,157);l=y;return}default:{xi(c[q>>2]|0,20953,4,0);l=y;return}}}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=Ph(c[g>>2]|0)|0;b=c[g>>2]|0;d=cj(c[f>>2]|0)|0;Bi(b,d,D);l=e;return}function Bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=Ph(c[g>>2]|0)|0;d=c[g>>2]|0;Xh(d,bj(c[f>>2]|0)|0);l=e;return}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=Ph(c[g>>2]|0)|0;d=c[g>>2]|0;Xh(d,aj(c[f>>2]|0)|0);l=e;return}function Dh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;t=w+64|0;m=w+56|0;u=w+52|0;n=w+48|0;o=w+44|0;v=w+40|0;p=w+36|0;g=w+32|0;h=w+28|0;i=w;j=w+24|0;q=w+20|0;r=w+16|0;s=w+12|0;k=w+8|0;c[t>>2]=b;c[w+60>>2]=e;c[m>>2]=f;c[u>>2]=Rh(c[c[m>>2]>>2]|0)|0;if(!(c[u>>2]|0)){l=w;return}c[p>>2]=Sh(c[c[m>>2]>>2]|0)|0;c[n>>2]=Rh(c[(c[m>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){l=w;return}if(!(d[c[n>>2]>>0]|0)){Zi(c[t>>2]|0,c[c[m>>2]>>2]|0);l=w;return}c[g>>2]=Sh(c[(c[m>>2]|0)+4>>2]|0)|0;c[o>>2]=Rh(c[(c[m>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){l=w;return}c[h>>2]=Sh(c[(c[m>>2]|0)+8>>2]|0)|0;f=(c[p>>2]|0)+1|0;m=i;c[m>>2]=f;c[m+4>>2]=((f|0)<0)<<31>>31;m=i;c[v>>2]=_i(c[t>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;if(!(c[v>>2]|0)){l=w;return}c[j>>2]=(c[p>>2]|0)-(c[g>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){b=18;break}if((d[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?!(H_((c[u>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[g>>2]|0)|0):0){c[k>>2]=Ph(c[t>>2]|0)|0;b=(c[h>>2]|0)-(c[g>>2]|0)|0;f=i;b=_$(c[f>>2]|0,c[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;f=i;c[f>>2]=b;c[f+4>>2]=D;f=i;f=Z$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;b=D;m=c[(c[k>>2]|0)+96>>2]|0;e=((m|0)<0)<<31>>31;if((b|0)>(e|0)|(b|0)==(e|0)&f>>>0>m>>>0){b=13;break}c[s>>2]=c[v>>2];m=c[i>>2]|0;c[v>>2]=ee(c[v>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){b=15;break}h0((c[v>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[h>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[h>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[g>>2]|0)-1)}else{e=a[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0;f=c[v>>2]|0;m=c[r>>2]|0;c[r>>2]=m+1;a[f+m>>0]=e}c[q>>2]=(c[q>>2]|0)+1}if((b|0)==13){vi(c[t>>2]|0);_d(c[v>>2]|0);l=w;return}else if((b|0)==15){wi(c[t>>2]|0);_d(c[s>>2]|0);l=w;return}else if((b|0)==18){h0((c[v>>2]|0)+(c[r>>2]|0)|0,(c[u>>2]|0)+(c[q>>2]|0)|0,(c[p>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[p>>2]|0)-(c[q>>2]|0));a[(c[v>>2]|0)+(c[r>>2]|0)>>0]=0;xi(c[t>>2]|0,c[v>>2]|0,c[r>>2]|0,157);l=w;return}}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;e=g+20|0;i=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[i>>2]=d;i=Fi(c[c[i>>2]>>2]|0)|0;b=D;a=h;c[a>>2]=i;c[a+4>>2]=b;a=(c[h+4>>2]|0)<0;d=h;c[d>>2]=a?0:i;c[d+4>>2]=a?0:b;d=h;c[f>>2]=Vi(c[e>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[f>>2]|0)){l=g;return}Wi(c[e>>2]|0,c[f>>2]|0);l=g;return}function Fh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;o=r+44|0;h=r+40|0;i=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;k=r+20|0;m=r+8|0;n=r;g=r+16|0;c[o>>2]=b;c[h>>2]=e;c[i>>2]=f;c[g>>2]=0;if((Ai(c[(c[i>>2]|0)+4>>2]|0)|0)==5){l=r;return}if((c[h>>2]|0)==3?(Ai(c[(c[i>>2]|0)+8>>2]|0)|0)==5:0){l=r;return}c[k>>2]=Ai(c[c[i>>2]>>2]|0)|0;f=Qi(c[(c[i>>2]|0)+4>>2]|0)|0;b=m;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=c[c[i>>2]>>2]|0;a:do if((c[k>>2]|0)==4){c[j>>2]=Sh(b)|0;c[p>>2]=Ri(c[c[i>>2]>>2]|0)|0;if(!(c[p>>2]|0)){l=r;return}}else{c[p>>2]=Rh(b)|0;if(!(c[p>>2]|0)){l=r;return}c[j>>2]=0;if((c[m+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;f=c[q>>2]|0;c[q>>2]=f+1;b:do if((d[f>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[h>>2]|0)==3){h=Qi(c[(c[i>>2]|0)+8>>2]|0)|0;i=n;c[i>>2]=h;c[i+4>>2]=((h|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){h=n;h=Z$(0,0,c[h>>2]|0,c[h+4>>2]|0)|0;i=n;c[i>>2]=h;c[i+4>>2]=D;c[g>>2]=1}}else{h=c[(Ph(c[o>>2]|0)|0)+96>>2]|0;i=n;c[i>>2]=h;c[i+4>>2]=((h|0)<0)<<31>>31}do if((c[m+4>>2]|0)<0){h=c[j>>2]|0;i=m;h=_$(c[i>>2]|0,c[i+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;i=m;c[i>>2]=h;c[i+4>>2]=D;if((c[m+4>>2]|0)<0){e=m;h=n;e=_$(c[h>>2]|0,c[h+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;h=D;f=n;c[f>>2]=e;c[f+4>>2]=h;f=(c[n+4>>2]|0)<0;i=n;c[i>>2]=f?0:e;c[i+4>>2]=f?0:h;i=m;c[i>>2]=0;c[i+4>>2]=0}}else{i=m;h=c[i+4>>2]|0;if((h|0)>0|(h|0)==0&(c[i>>2]|0)>>>0>0){h=m;h=_$(c[h>>2]|0,c[h+4>>2]|0,-1,-1)|0;i=m;c[i>>2]=h;c[i+4>>2]=D;break}i=n;h=c[i+4>>2]|0;if((h|0)>0|(h|0)==0&(c[i>>2]|0)>>>0>0){h=n;h=_$(c[h>>2]|0,c[h+4>>2]|0,-1,-1)|0;i=n;c[i>>2]=h;c[i+4>>2]=D}}while(0);if(c[g>>2]|0?(h=n,i=m,h=Z$(c[i>>2]|0,c[i+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,i=m,c[i>>2]=h,c[i+4>>2]=D,(c[m+4>>2]|0)<0):0){h=m;i=n;h=_$(c[i>>2]|0,c[i+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;i=n;c[i>>2]=h;c[i+4>>2]=D;i=m;c[i>>2]=0;c[i+4>>2]=0}if((c[k>>2]|0)==4){h=m;k=n;k=_$(c[h>>2]|0,c[h+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;h=D;q=c[j>>2]|0;i=((q|0)<0)<<31>>31;if((h|0)>(i|0)|(h|0)==(i|0)&k>>>0>q>>>0){k=c[j>>2]|0;i=m;i=Z$(k|0,((k|0)<0)<<31>>31|0,c[i>>2]|0,c[i+4>>2]|0)|0;k=D;j=n;c[j>>2]=i;c[j+4>>2]=k;j=(c[n+4>>2]|0)<0;q=n;c[q>>2]=j?0:i;c[q+4>>2]=j?0:k}q=n;Ti(c[o>>2]|0,(c[p>>2]|0)+(c[m>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);l=r;return}while(1){k=m;b=c[p>>2]|0;if(!(d[c[p>>2]>>0]|0?(c[k>>2]|0)!=0|(c[k+4>>2]|0)!=0:0))break;c[p>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);j=m;j=_$(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;k=m;c[k>>2]=j;c[k+4>>2]=D}c[q>>2]=b;while(1){m=n;if(!(d[c[q>>2]>>0]|0?(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0:0))break;m=c[q>>2]|0;c[q>>2]=m+1;d:do if((d[m>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);k=n;k=_$(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;m=n;c[m>>2]=k;c[m+4>>2]=D}q=(c[q>>2]|0)-(c[p>>2]|0)|0;Si(c[o>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);l=r;return}function Gh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+32|0;n=m+24|0;g=m+16|0;i=m+12|0;j=m+8|0;k=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[i>>2]=ui(c[n>>2]|0,32)|0;c[j>>2]=Ei(c[c[g>>2]>>2]|0)|0;if(!((c[i>>2]|0)!=0&(c[j>>2]|0)!=5)){l=m;return}b=(c[i>>2]|0)+16|0;n=b;n=_$(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;c[b>>2]=n;c[b+4>>2]=D;b=c[c[g>>2]>>2]|0;if((c[j>>2]|0)!=1){o=+Hi(b);n=c[i>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[i>>2]|0)+25>>0]=1;l=m;return}n=Fi(b)|0;j=k;c[j>>2]=n;c[j+4>>2]=D;j=k;n=c[i>>2]|0;h[n>>3]=+h[n>>3]+(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0));if(d[(c[i>>2]|0)+25>>0]|0|(d[(c[i>>2]|0)+24>>0]|0)|0){l=m;return}n=k;if(!(Gi((c[i>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){l=m;return}a[(c[i>>2]|0)+24>>0]=1;l=m;return}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=ui(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){l=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){l=f;return}if(a[(c[e>>2]|0)+24>>0]|0){Th(c[d>>2]|0,22260,-1);l=f;return}b=c[d>>2]|0;d=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){Ci(b,+h[d>>3]);l=f;return}else{g=d+8|0;Bi(b,c[g>>2]|0,c[g+4>>2]|0);l=f;return}}function Ih(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=ui(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;Ci(a,f);l=d;return}f=+h[c[b>>2]>>3];Ci(a,f);l=d;return}function Jh(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){l=e;return}f=(c[d>>2]|0)+16|0;Ci(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));l=e;return}function Kh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+12|0;h=g+8|0;e=g+4|0;f=g;c[i>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=ui(c[i>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){l=g;return}}else{i=5!=(Ai(c[c[e>>2]>>2]|0)|0);if(!(i&(c[f>>2]|0)!=0)){l=g;return}}i=c[f>>2]|0;h=i;h=_$(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[i>>2]=h;c[i+4>>2]=D;l=g;return}function Lh(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=ui(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;Bi(a,b,e);l=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;Bi(a,b,e);l=d;return}function Mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;h=p+36|0;i=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;e=p+8|0;f=p+4|0;g=p;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;if((Ai(c[c[j>>2]>>2]|0)|0)==5){l=p;return}c[m>>2]=ui(c[h>>2]|0,28)|0;if(!(c[m>>2]|0)){l=p;return}c[f>>2]=Ph(c[h>>2]|0)|0;c[g>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[f>>2]|0)+96>>2];if(!(c[g>>2]|0)){if((c[i>>2]|0)==2){c[n>>2]=Rh(c[(c[j>>2]|0)+4>>2]|0)|0;c[e>>2]=Sh(c[(c[j>>2]|0)+4>>2]|0)|0}else{c[n>>2]=22226;c[e>>2]=1}if(c[e>>2]|0)Pd(c[m>>2]|0,c[n>>2]|0,c[e>>2]|0)}c[k>>2]=Rh(c[c[j>>2]>>2]|0)|0;c[o>>2]=Sh(c[c[j>>2]>>2]|0)|0;if(!(c[k>>2]|0)){l=p;return}Pd(c[m>>2]|0,c[k>>2]|0,c[o>>2]|0);l=p;return}function Nh(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=ui(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){l=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){vi(c[b>>2]|0);l=f;return}a=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){wi(a);l=f;return}else{xi(a,Bd(c[e>>2]|0)|0,-1,157);l=f;return}}function Oh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+48|0;h=o+36|0;i=o+32|0;j=o+28|0;k=o+24|0;m=o+20|0;n=o+16|0;q=o+12|0;p=o+8|0;f=o+4|0;g=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=e;c[p>>2]=Ph(c[h>>2]|0)|0;c[f>>2]=Qh(c[h>>2]|0)|0;c[m>>2]=Rh(c[c[j>>2]>>2]|0)|0;c[k>>2]=Rh(c[(c[j>>2]|0)+4>>2]|0)|0;c[q>>2]=Sh(c[c[j>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+96+32>>2]|0)){Th(c[h>>2]|0,22049,-1);l=o;return}do if((c[i>>2]|0)==3){c[g>>2]=Rh(c[(c[j>>2]|0)+8>>2]|0)|0;if(!(c[g>>2]|0)){l=o;return}if((Uh(c[g>>2]|0,-1)|0)==1){c[n>>2]=Vh(g)|0;break}Th(c[h>>2]|0,22082,-1);l=o;return}else c[n>>2]=d[(c[f>>2]|0)+2>>0];while(0);if(!((c[k>>2]|0)!=0&(c[m>>2]|0)!=0)){l=o;return}q=c[h>>2]|0;Xh(q,Wh(c[m>>2]|0,c[k>>2]|0,c[f>>2]|0,c[n>>2]|0)|0);l=o;return}function Ph(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function Qh(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function Rh(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=ti(c[d>>2]|0,1)|0;l=b;return a|0}function Sh(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=li(c[d>>2]|0,1)|0;l=b;return a|0}function Th(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+8|0;h=f+4|0;g=f;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[i>>2]|0)+20>>2]=1;a[(c[i>>2]|0)+25>>0]=1;ci(c[c[i>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;l=f;return}function Uh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+16|0;e=i+12|0;h=i+8|0;f=i+4|0;g=i;c[j>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[j>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){a=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){a=10;break}j=c[f>>2]|0;c[f>>2]=j+1;a:do if((d[j>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((a|0)==10){l=i;return c[h>>2]|0}return 0}function Vh(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;l=f;return g|0}c[e>>2]=d[22127+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;l=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;l=f;return h|0}function Wh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;r=x+32|0;q=x+28|0;m=x+24|0;n=x+20|0;o=x+56|0;h=x+16|0;p=x+12|0;i=x+8|0;j=x+4|0;k=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[m>>2]=d[(c[v>>2]|0)+1>>0];c[n>>2]=d[c[v>>2]>>0];a[o>>0]=a[(c[v>>2]|0)+3>>0]|0;c[h>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){b=c[t>>2]|0;c[t>>2]=b+1;b=d[b>>0]|0}else b=Vh(t)|0;c[r>>2]=b;if(!b){f=83;break}if((c[r>>2]|0)==(c[n>>2]|0)){f=7;break}do if((c[r>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[r>>2]=Vh(t)|0;if(!(c[r>>2]|0)){f=49;break a}c[h>>2]=c[t>>2];break}c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[r>>2]=Vh(u)|0;if(!(c[r>>2]|0)){f=52;break a}c[q>>2]=Vh(t)|0;if((c[q>>2]|0)==94){c[k>>2]=1;c[q>>2]=Vh(t)|0}if((c[q>>2]|0)==93){if((c[r>>2]|0)==93)c[j>>2]=1;c[q>>2]=Vh(t)|0}while(1){b=c[q>>2]|0;if(!(c[q>>2]|0?(c[q>>2]|0)!=93:0))break;if(((b|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[i>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[q>>2]=Vh(t)|0;if((c[r>>2]|0)>>>0>=(c[i>>2]|0)>>>0?(c[r>>2]|0)>>>0<=(c[q>>2]|0)>>>0:0)c[j>>2]=1;c[i>>2]=0}else{if((c[r>>2]|0)==(c[q>>2]|0))c[j>>2]=1;c[i>>2]=c[q>>2]}c[q>>2]=Vh(t)|0}if(!b){f=73;break a}if(!(c[j>>2]^c[k>>2])){f=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){b=c[u>>2]|0;c[u>>2]=b+1;b=d[b>>0]|0}else b=Vh(u)|0;c[q>>2]=b;if((c[r>>2]|0)==(c[q>>2]|0))continue;if(d[o>>0]|0?((c[r>>2]|0)>>>0<128?(d[20458+(c[r>>2]&255)>>0]|0)==(d[20458+(c[q>>2]&255)>>0]|0):0)&(c[q>>2]|0)>>>0<128:0)continue;if((c[r>>2]|0)!=(c[m>>2]|0)){f=82;break}if(!(c[q>>2]|0?(c[t>>2]|0)!=(c[h>>2]|0):0)){f=82;break}}if((f|0)==7){while(1){f=0;if((d[c[t>>2]>>0]|0)<128){b=c[t>>2]|0;c[t>>2]=b+1;b=d[b>>0]|0}else b=Vh(t)|0;c[r>>2]=b;if((b|0)==(c[n>>2]|0))b=1;else b=(c[r>>2]|0)==(c[m>>2]|0);e=c[r>>2]|0;if(!b)break;if((e|0)!=(c[m>>2]|0)){f=7;continue}if(!(Vh(u)|0)){f=15;break}else f=7}if((f|0)==15){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}if(!e){c[s>>2]=1;w=c[s>>2]|0;l=x;return w|0}do if((c[r>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[r>>2]=Vh(t)|0;if(c[r>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)b=(Wh((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else b=0;e=c[u>>2]|0;if(!b)break;c[u>>2]=e+1;if((d[e>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[e>>0]|0)!=0&1;w=c[s>>2]|0;l=x;return w|0}while(0);c:do if((c[r>>2]|0)>>>0<=128){b=c[r>>2]|0;if(a[o>>0]|0){c[p>>2]=b&~(d[20063+(c[r>>2]&255)>>0]&32);c[r>>2]=d[20458+(c[r>>2]&255)>>0]}else c[p>>2]=b;while(1){o=c[u>>2]|0;c[u>>2]=o+1;o=d[o>>0]|0;c[q>>2]=o;if(!o)break c;if((c[q>>2]|0)!=(c[r>>2]|0)?(c[q>>2]|0)!=(c[p>>2]|0):0)continue;if(Wh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;l=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){b=c[u>>2]|0;c[u>>2]=b+1;b=d[b>>0]|0}else b=Vh(u)|0;c[q>>2]=b;if(!b)break c;if((c[q>>2]|0)!=(c[r>>2]|0))continue;if(Wh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;l=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==49){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==52){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==73){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==82){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;l=x;return w|0}return 0}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;Yh(c[c[e>>2]>>2]|0,b,((b|0)<0)<<31>>31);l=d;return}function Yh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;h=i;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312|0){Zh(c[g>>2]|0,c[h>>2]|0,c[h+4>>2]|0);l=i;return}else{d=h;f=c[d+4>>2]|0;h=c[g>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=f;b[(c[g>>2]|0)+8>>1]=4;l=i;return}}function Zh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;_h(c[g>>2]|0);a=h;d=c[a+4>>2]|0;e=c[g>>2]|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;b[(c[g>>2]|0)+8>>1]=4;l=f;return}function _h(a){a=a|0;var d=0,f=0;d=l;l=l+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312|0){$h(a);l=d;return}else{b[a+8>>1]=1;l=d;return}}function $h(a){a=a|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192|0)ai(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024|0)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32|0){bi(c[d>>2]|0);break}if((e[d+8>>1]|0)&64|0){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+188>>2];c[(c[c[g>>2]>>2]|0)+188>>2]=c[g>>2]}}else Eb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;l=h;return}function ai(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+96|0;f=j+80|0;g=j+76|0;h=j+72|0;i=j+40|0;e=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if(!(c[g>>2]|0)){i=c[h>>2]|0;l=j;return i|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){i=c[h>>2]|0;l=j;return i|0};c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;a=e;d=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[i>>2]=e;c[i+8>>2]=c[f>>2];c[i+4>>2]=c[g>>2];Eb[c[(c[g>>2]|0)+16>>2]&255](i);if((c[(c[f>>2]|0)+24>>2]|0)>0)Xd(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);a=c[f>>2]|0;d=a+40|0;do{c[a>>2]=c[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(d|0));c[h>>2]=c[i+20>>2];i=c[h>>2]|0;l=j;return i|0}function bi(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Xd(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;l=g;return}function ci(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;r=u+28|0;s=u+24|0;m=u+20|0;v=u+16|0;t=u+34|0;n=u+12|0;o=u+8|0;p=u+4|0;q=u+32|0;k=u;c[s>>2]=f;c[m>>2]=g;c[v>>2]=h;a[t>>0]=i;c[n>>2]=j;c[o>>2]=c[v>>2];b[q>>1]=0;f=c[s>>2]|0;if(!(c[m>>2]|0)){_h(f);c[r>>2]=0;v=c[r>>2]|0;l=u;return v|0}if(c[f+32>>2]|0)c[p>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+96>>2];else c[p>>2]=1e9;b[q>>1]=(d[t>>0]|0)==0?16:2;if((c[o>>2]|0)<0){a:do if((d[t>>0]|0)==1){c[o>>2]=md(c[m>>2]|0)|0;if((c[o>>2]|0)>(c[p>>2]|0))c[o>>2]=(c[p>>2]|0)+1}else{c[o>>2]=0;while(1){if((c[o>>2]|0)>(c[p>>2]|0))break a;if(!(a[(c[m>>2]|0)+(c[o>>2]|0)>>0]|a[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]))break a;c[o>>2]=(c[o>>2]|0)+2}}while(0);b[q>>1]=e[q>>1]|512}do if((c[n>>2]|0)!=(-1|0)){v=(c[n>>2]|0)==191;ei(c[s>>2]|0);f=c[m>>2]|0;c[(c[s>>2]|0)+16>>2]=f;if(v){c[(c[s>>2]|0)+20>>2]=f;v=ae(c[(c[s>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=v;break}else{c[(c[s>>2]|0)+36>>2]=c[n>>2];b[q>>1]=e[q>>1]|((c[n>>2]|0)==0?2048:1024);break}}else{c[k>>2]=c[o>>2];if(e[q>>1]&512|0)c[k>>2]=(c[k>>2]|0)+((d[t>>0]|0)==1?1:2);if((c[o>>2]|0)>(c[p>>2]|0)){c[r>>2]=18;v=c[r>>2]|0;l=u;return v|0}if(!(di(c[s>>2]|0,(c[k>>2]|0)>32?c[k>>2]|0:32)|0)){h0(c[(c[s>>2]|0)+16>>2]|0,c[m>>2]|0,c[k>>2]|0)|0;break}c[r>>2]=7;v=c[r>>2]|0;l=u;return v|0}while(0);c[(c[s>>2]|0)+12>>2]=c[o>>2];b[(c[s>>2]|0)+8>>1]=b[q>>1]|0;a[(c[s>>2]|0)+10>>0]=(d[t>>0]|0)==0?1:d[t>>0]|0;if((d[(c[s>>2]|0)+10>>0]|0)!=1?fi(c[s>>2]|0)|0:0){c[r>>2]=7;v=c[r>>2]|0;l=u;return v|0}if((c[o>>2]|0)>(c[p>>2]|0)){c[r>>2]=18;v=c[r>>2]|0;l=u;return v|0}else{c[r>>2]=0;v=c[r>>2]|0;l=u;return v|0}return 0}function di(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=ii(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;l=i;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;l=i;return h|0}return 0}function ei(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){l=d;return}ki(c[b>>2]|0);l=d;return}function fi(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+4|0;h=m;i=m+10|0;j=m+9|0;k=m+8|0;c[g>>2]=f;c[h>>2]=0;a[i>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[j>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[k>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[j>>0]|0)==254?(d[k>>0]|0)==255:0)a[i>>0]=3;if((d[j>>0]|0)==255?(d[k>>0]|0)==254:0)a[i>>0]=2}if(!(a[i>>0]|0)){k=c[h>>2]|0;l=m;return k|0}c[h>>2]=gi(c[g>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=m;return k|0}k=(c[g>>2]|0)+12|0;c[k>>2]=(c[k>>2]|0)-2;k0(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;k=(c[g>>2]|0)+8|0;b[k>>1]=e[k>>1]|512;a[(c[g>>2]|0)+10>>0]=a[i>>0]|0;k=c[h>>2]|0;l=m;return k|0}function gi(d){d=d|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[g>>2]=d;do if((e[(c[g>>2]|0)+8>>1]|0)&18|0){if((e[(c[g>>2]|0)+8>>1]|0)&16384|0?hi(c[g>>2]|0)|0:0){c[f>>2]=7;g=c[f>>2]|0;l=h;return g|0}if(c[(c[g>>2]|0)+24>>2]|0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(ii(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;g=c[f>>2]|0;l=h;return g|0}while(0);g=(c[g>>2]|0)+8|0;b[g>>1]=(e[g>>1]|0)&-4097;c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}function hi(a){a=a|0;var d=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+8|0;f=g+4|0;h=g;c[f>>2]=a;a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)<=0?1:a;if(ii(c[f>>2]|0,c[h>>2]|0,1)|0){c[d>>2]=7;h=c[d>>2]|0;l=g;return h|0}else{m0((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;h=(c[f>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);h=(c[f>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-16897;c[d>>2]=0;h=c[d>>2]|0;l=g;return h|0}return 0}function ii(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+12|0;i=k+8|0;g=k+4|0;j=k;c[i>>2]=a;c[g>>2]=d;c[j>>2]=f;do if((c[(c[i>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if((c[j>>2]|0?(c[(c[i>>2]|0)+24>>2]|0)>0:0)?(c[(c[i>>2]|0)+16>>2]|0)==(c[(c[i>>2]|0)+20>>2]|0):0){g=c[g>>2]|0;g=ji(c[(c[i>>2]|0)+32>>2]|0,c[(c[i>>2]|0)+16>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[i>>2]|0)+20>>2]=g;c[(c[i>>2]|0)+16>>2]=g;c[j>>2]=0}else{if((c[(c[i>>2]|0)+24>>2]|0)>0)Xd(c[(c[i>>2]|0)+32>>2]|0,c[(c[i>>2]|0)+20>>2]|0);g=c[g>>2]|0;g=Cd(c[(c[i>>2]|0)+32>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[i>>2]|0)+20>>2]=g}a=c[i>>2]|0;if(c[(c[i>>2]|0)+20>>2]|0){g=ae(c[a+32>>2]|0,c[(c[i>>2]|0)+20>>2]|0)|0;c[(c[i>>2]|0)+24>>2]=g;break}_h(a);c[(c[i>>2]|0)+16>>2]=0;c[(c[i>>2]|0)+24>>2]=0;c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}while(0);if((c[j>>2]|0?c[(c[i>>2]|0)+16>>2]|0:0)?(c[(c[i>>2]|0)+16>>2]|0)!=(c[(c[i>>2]|0)+20>>2]|0):0)h0(c[(c[i>>2]|0)+20>>2]|0,c[(c[i>>2]|0)+16>>2]|0,c[(c[i>>2]|0)+12>>2]|0)|0;if((e[(c[i>>2]|0)+8>>1]|0)&1024|0)Eb[c[(c[i>>2]|0)+36>>2]&255](c[(c[i>>2]|0)+16>>2]|0);c[(c[i>>2]|0)+16>>2]=c[(c[i>>2]|0)+20>>2];j=(c[i>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-7169;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function ji(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;f=i+16|0;g=i+12|0;j=i;h=i+8|0;c[f>>2]=a;c[g>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;e=j;c[h>>2]=de(c[f>>2]|0,c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){j=c[h>>2]|0;l=i;return j|0}Xd(c[f>>2]|0,c[g>>2]|0);j=c[h>>2]|0;l=i;return j|0}function ki(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312|0)$h(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){b=c[b>>2]|0;b=b+16|0;c[b>>2]=0;l=d;return}Xd(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;b=c[b>>2]|0;b=b+16|0;c[b>>2]=0;l=d;return}function li(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k+8|0;g=k+4|0;h=k+12|0;j=k;c[g>>2]=b;a[h>>0]=f;c[j>>2]=c[g>>2];if((e[(c[j>>2]|0)+8>>1]|0)&2|0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[i>>2]=c[(c[j>>2]|0)+12>>2];j=c[i>>2]|0;l=k;return j|0}f=e[(c[j>>2]|0)+8>>1]|0;if((e[(c[j>>2]|0)+8>>1]|0)&16|0){b=c[(c[j>>2]|0)+12>>2]|0;if(f&16384|0){c[i>>2]=b+(c[c[j>>2]>>2]|0);j=c[i>>2]|0;l=k;return j|0}else{c[i>>2]=b;j=c[i>>2]|0;l=k;return j|0}}else if(f&1|0){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else{c[i>>2]=mi(c[g>>2]|0,a[h>>0]|0)|0;j=c[i>>2]|0;l=k;return j|0}return 0}function mi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(ni(c[e>>2]|0,a[g>>0]|0)|0)){g=0;l=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;l=f;return g|0}function ni(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+4|0;i=k;j=k+8|0;c[i>>2]=f;a[j>>0]=g;f=c[i>>2]|0;if((e[(c[i>>2]|0)+8>>1]|0)&18|0){g=f+8|0;b[g>>1]=e[g>>1]|0|2;if((d[(c[i>>2]|0)+10>>0]|0|0)!=((d[j>>0]|0)&-9|0))oi(c[i>>2]|0,(d[j>>0]|0)&-9)|0;if(((d[j>>0]|0)&8|0?1==(1&c[(c[i>>2]|0)+16>>2]|0):0)?gi(c[i>>2]|0)|0:0){c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}pi(c[i>>2]|0)|0}else qi(f,a[j>>0]|0,0)|0;if((d[(c[i>>2]|0)+10>>0]|0|0)==((d[j>>0]|0)&-9|0)){c[h>>2]=c[(c[i>>2]|0)+16>>2];j=c[h>>2]|0;l=k;return j|0}else{c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}return 0}function oi(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=b;if((e[(c[g>>2]|0)+8>>1]|0)&2|0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[i>>2]=si(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}function pi(a){a=a|0;var b=0,d=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;d=c[b>>2]|0;l=f;return d|0}else{c[b>>2]=ri(c[d>>2]|0)|0;d=c[b>>2]|0;l=f;return d|0}return 0}function qi(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+8|0;p=r;j=r+28|0;k=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[k>>2]=f;a[m>>0]=g;a[n>>0]=i;c[o>>2]=e[(c[k>>2]|0)+8>>1];c[r+16>>2]=32;if(di(c[k>>2]|0,32)|0){a[(c[k>>2]|0)+10>>0]=0;c[j>>2]=7;q=c[j>>2]|0;l=r;return q|0}f=c[(c[k>>2]|0)+16>>2]|0;g=c[k>>2]|0;if(c[o>>2]&4|0){i=g;o=c[i+4>>2]|0;q=p;c[q>>2]=c[i>>2];c[q+4>>2]=o;ef(32,f,22191,p)|0}else{h[q>>3]=+h[g>>3];ef(32,f,22196,q)|0}q=md(c[(c[k>>2]|0)+16>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=q;a[(c[k>>2]|0)+10>>0]=1;q=(c[k>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[k>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}oi(c[k>>2]|0,d[m>>0]|0)|0;c[j>>2]=0;q=c[j>>2]|0;l=r;return q|0}function ri(d){d=d|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[g>>2]=d;if(ii(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;g=c[f>>2]|0;l=h;return g|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;g=(c[g>>2]|0)+8|0;b[g>>1]=e[g>>1]|0|512;c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}return 0}function si(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;o=v+40|0;p=v+36|0;q=v+45|0;j=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;n=v+12|0;h=v+44|0;i=v+8|0;k=v+4|0;m=v;c[p>>2]=f;a[q>>0]=g;if((d[(c[p>>2]|0)+10>>0]|0|0)!=1?(d[q>>0]|0|0)!=1:0){c[i>>2]=gi(c[p>>2]|0)|0;if(c[i>>2]|0){c[o>>2]=7;u=c[o>>2]|0;l=v;return u|0}c[s>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=(c[s>>2]|0)+(c[(c[p>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;a[h>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[h>>0]|0;u=c[s>>2]|0;c[s>>2]=u+1;a[u>>0]=r}a[(c[p>>2]|0)+10>>0]=a[q>>0]|0}else{f=(c[p>>2]|0)+12|0;g=c[f>>2]|0;if((d[q>>0]|0|0)==1){c[f>>2]=g&-2;c[j>>2]=(c[(c[p>>2]|0)+12>>2]<<1)+1}else c[j>>2]=(g<<1)+2;c[s>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=(c[s>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0);j=c[j>>2]|0;c[r>>2]=Cd(c[(c[p>>2]|0)+32>>2]|0,j,((j|0)<0)<<31>>31)|0;if(!(c[r>>2]|0)){c[o>>2]=7;u=c[o>>2]|0;l=v;return u|0}c[u>>2]=c[r>>2];if((d[(c[p>>2]|0)+10>>0]|0|0)==1){a:do if((d[q>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=d[m>>0];do if((c[n>>2]|0)>>>0>=192){c[n>>2]=d[22127+((c[n>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[t>>2]|0))g=((d[c[s>>2]>>0]|0)&192|0)==128;else g=0;f=c[n>>2]|0;if(!g)break;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=(f<<6)+(63&(d[m>>0]|0))}if((f>>>0>=128?(c[n>>2]&-2048|0)!=55296:0)?(c[n>>2]&-2|0)!=65534:0)break;c[n>>2]=65533}while(0);f=c[n>>2]|0;if((c[n>>2]|0)>>>0<=65535){k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=f;k=(c[n>>2]|0)>>>8&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;continue}else{m=(f>>>10&63)+(((c[n>>2]|0)-65536|0)>>>10&192)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=m;k=216+(((c[n>>2]|0)-65536|0)>>>18&3)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;m=c[n>>2]&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=m;k=220+((c[n>>2]|0)>>>8&3)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=d[m>>0];do if((c[n>>2]|0)>>>0>=192){c[n>>2]=d[22127+((c[n>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[t>>2]|0))g=((d[c[s>>2]>>0]|0)&192|0)==128;else g=0;f=c[n>>2]|0;if(!g)break;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=(f<<6)+(63&(d[m>>0]|0))}if((f>>>0>=128?(c[n>>2]&-2048|0)!=55296:0)?(c[n>>2]&-2|0)!=65534:0)break;c[n>>2]=65533}while(0);f=c[n>>2]|0;if((c[n>>2]|0)>>>0<=65535){k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=f>>>8;k=c[n>>2]&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;continue}else{k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=216+((f-65536|0)>>>18&3);k=((c[n>>2]|0)>>>10&63)+(((c[n>>2]|0)-65536|0)>>>10&192)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;m=220+((c[n>>2]|0)>>>8&3)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=m;k=c[n>>2]&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;continue}}while(0);c[(c[p>>2]|0)+12>>2]=(c[u>>2]|0)-(c[r>>2]|0);t=c[u>>2]|0;c[u>>2]=t+1;a[t>>0]=0}else{b:do if((d[(c[p>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=(c[n>>2]|0)+((d[m>>0]|0)<<8);if((c[n>>2]|0)>>>0>=55296&(c[n>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[t>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[k>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[k>>2]=(c[k>>2]|0)+((d[m>>0]|0)<<8);c[n>>2]=(c[k>>2]&1023)+((c[n>>2]&63)<<10)+((c[n>>2]&960)+64<<10)}f=c[n>>2]|0;if((c[n>>2]|0)>>>0<128){m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=f;continue}g=c[n>>2]|0;if(f>>>0<2048){j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=192+(g>>>6&31);j=128+(c[n>>2]&63)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=j;continue}f=c[n>>2]|0;if(g>>>0<65536){m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=224+(f>>>12&15);m=128+((c[n>>2]|0)>>>6&63)&255;j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=m;j=128+(c[n>>2]&63)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=j;continue}else{j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=240+(f>>>18&7);j=128+((c[n>>2]|0)>>>12&63)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=j;m=128+((c[n>>2]|0)>>>6&63)&255;j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=m;j=128+(c[n>>2]&63)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=j;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break b;k=c[s>>2]|0;c[s>>2]=k+1;c[n>>2]=(d[k>>0]|0)<<8;k=c[s>>2]|0;c[s>>2]=k+1;c[n>>2]=(c[n>>2]|0)+(d[k>>0]|0);if((c[n>>2]|0)>>>0>=55296&(c[n>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[t>>2]|0)>>>0:0){k=c[s>>2]|0;c[s>>2]=k+1;c[m>>2]=(d[k>>0]|0)<<8;k=c[s>>2]|0;c[s>>2]=k+1;c[m>>2]=(c[m>>2]|0)+(d[k>>0]|0);c[n>>2]=(c[m>>2]&1023)+((c[n>>2]&63)<<10)+((c[n>>2]&960)+64<<10)}f=c[n>>2]|0;if((c[n>>2]|0)>>>0<128){k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=f;continue}g=c[n>>2]|0;if(f>>>0<2048){j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=192+(g>>>6&31);j=128+(c[n>>2]&63)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=j;continue}f=c[n>>2]|0;if(g>>>0<65536){k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=224+(f>>>12&15);k=128+((c[n>>2]|0)>>>6&63)&255;j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=k;j=128+(c[n>>2]&63)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=j;continue}else{j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=240+(f>>>18&7);j=128+((c[n>>2]|0)>>>12&63)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=j;k=128+((c[n>>2]|0)>>>6&63)&255;j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=k;j=128+(c[n>>2]&63)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=j;continue}}while(0);c[(c[p>>2]|0)+12>>2]=(c[u>>2]|0)-(c[r>>2]|0)}a[c[u>>2]>>0]=0;c[n>>2]=e[(c[p>>2]|0)+8>>1];ei(c[p>>2]|0);b[(c[p>>2]|0)+8>>1]=514|c[n>>2]&32799;a[(c[p>>2]|0)+10>>0]=a[q>>0]|0;c[(c[p>>2]|0)+16>>2]=c[r>>2];c[(c[p>>2]|0)+20>>2]=c[(c[p>>2]|0)+16>>2];u=ae(c[(c[p>>2]|0)+32>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=u}c[o>>2]=0;u=c[o>>2]|0;l=v;return u|0}function ti(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+4|0;h=j;i=j+8|0;c[h>>2]=b;a[i>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[i>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1|0){c[g>>2]=0;break}else{c[g>>2]=ni(c[h>>2]|0,a[i>>0]|0)|0;break}}else c[g>>2]=0;while(0);l=j;return c[g>>2]|0}function ui(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;a=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=zi(a,c[f>>2]|0)|0;h=c[d>>2]|0;l=g;return h|0}else{c[d>>2]=c[(c[a+8>>2]|0)+16>>2];h=c[d>>2]|0;l=g;return h|0}return 0}function vi(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;ci(c[c[e>>2]>>2]|0,22203,-1,1,0)|0;l=d;return}function wi(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;_h(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;Od(c[(c[c[e>>2]>>2]|0)+32>>2]|0);l=d;return}function xi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;yi(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,1,c[g>>2]|0);l=f;return}function yi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;i=l;l=l+32|0;h=i+12|0;n=i+8|0;m=i+4|0;k=i+16|0;j=i;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[k>>0]=f;c[j>>2]=g;if((ci(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[k>>0]|0,c[j>>2]|0)|0)!=18){l=i;return}vi(c[h>>2]|0);l=i;return}function zi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];a=c[g>>2]|0;if((c[f>>2]|0)>0){di(a,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)m0(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{_h(a);c[(c[g>>2]|0)+16>>2]=0}l=h;return c[(c[g>>2]|0)+16>>2]|0}function Ai(a){a=a|0;var b=0,f=0;f=l;l=l+16|0;b=f;c[b>>2]=a;l=f;return d[22228+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;Yh(c[c[f>>2]>>2]|0,c[d>>2]|0,c[d+4>>2]|0);l=e;return}function Ci(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;Di(c[c[f>>2]>>2]|0,+h[e>>3]);l=d;return}function Di(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;_h(c[e>>2]|0);if(Sd(+h[f>>3])|0){l=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;l=g;return}function Ei(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=Ai(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){e=c[d>>2]|0;l=f;return e|0}c[e>>2]=c[b>>2];Oi(c[e>>2]|0,0);c[d>>2]=Ai(c[b>>2]|0)|0;e=c[d>>2]|0;l=f;return e|0}function Fi(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Ki(c[d>>2]|0)|0;l=b;return a|0}function Gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;f=i+16|0;g=i+8|0;h=i;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=c[f>>2]|0;j=c[a+4>>2]|0;d=h;c[d>>2]=c[a>>2];c[d+4>>2]=j;d=g;j=c[d+4>>2]|0;a=h;b=c[a+4>>2]|0;if((j|0)>0|(j|0)==0&(c[d>>2]|0)>>>0>=0){if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0?(h,h=Z$(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,b=D,j=g,d=c[j+4>>2]|0,(b|0)<(d|0)|((b|0)==(d|0)?h>>>0<(c[j>>2]|0)>>>0:0)):0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}}else if((b|0)<0?(h,h=_$(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=Z$(0,0,h|0,D|0)|0,b=D,j=g,j=_$(c[j>>2]|0,c[j+4>>2]|0,1,0)|0,d=D,(b|0)>(d|0)|(b|0)==(d|0)&h>>>0>j>>>0):0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}h=g;j=c[f>>2]|0;g=j;h=_$(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[j>>2]=h;c[j+4>>2]=D;c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}function Hi(a){a=a|0;var b=0.0,d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;b=+Ii(c[e>>2]|0);l=d;return +b}function Ii(b){b=b|0;var d=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+32|0;f=j+8|0;g=j+16|0;i=j;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8|0){h[f>>3]=+h[b>>3];k=+h[f>>3];l=j;return +k}d=c[g>>2]|0;if((e[b+8>>1]|0)&4|0){i=d;h[f>>3]=+((c[i>>2]|0)>>>0)+4294967296.0*+(c[i+4>>2]|0);k=+h[f>>3];l=j;return +k}if((e[d+8>>1]|0)&18|0){h[i>>3]=0.0;Ji(c[(c[g>>2]|0)+16>>2]|0,i,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[i>>3];k=+h[f>>3];l=j;return +k}else{h[f>>3]=0.0;k=+h[f>>3];l=j;return +k}return 0.0}function Ji(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;G=l;l=l+96|0;F=G+76|0;C=G+72|0;E=G+68|0;m=G+64|0;n=G+80|0;q=G+60|0;w=G+56|0;r=G+52|0;s=G+16|0;p=G+48|0;x=G+44|0;u=G+40|0;y=G+36|0;z=G+8|0;A=G+32|0;B=G+28|0;k=G+24|0;v=G;c[C>>2]=b;c[E>>2]=e;c[m>>2]=f;a[n>>0]=g;c[w>>2]=(c[C>>2]|0)+(c[m>>2]|0);c[r>>2]=1;g=s;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=0;c[x>>2]=1;c[u>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[E>>2]>>3]=0.0;if((d[n>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[k>>2]=3-(d[n>>0]|0);while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;if(a[(c[C>>2]|0)+(c[k>>2]|0)>>0]|0)break;c[k>>2]=(c[k>>2]|0)+2}c[B>>2]=(c[k>>2]|0)<(c[m>>2]|0)&1;c[w>>2]=(c[C>>2]|0)+(c[k>>2]^1);c[C>>2]=(c[C>>2]|0)+(d[n>>0]&1)}while(1){if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;if(!(d[20063+(d[c[C>>2]>>0]|0)>>0]&1))break;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0)}if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;l=G;return F|0}if((a[c[C>>2]>>0]|0)!=45){if((a[c[C>>2]>>0]|0)==43)c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0)}else{c[r>>2]=-1;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0)}while(1){if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;n=s;m=c[n+4>>2]|0;if(!((d[20063+(d[c[C>>2]>>0]|0)>>0]&4|0)!=0&((m|0)<214748364|(m|0)==214748364&(c[n>>2]|0)>>>0<3435973835)))break;n=s;n=r0(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;m=(a[c[C>>2]>>0]|0)-48|0;m=_$(n|0,D|0,m|0,((m|0)<0)<<31>>31|0)|0;n=s;c[n>>2]=m;c[n+4>>2]=D;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;if(!(d[20063+(d[c[C>>2]>>0]|0)>>0]&4))break;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[C>>2]|0)>>>0<(c[w>>2]|0)>>>0){b:do if((a[c[C>>2]>>0]|0)==46){c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0);while(1){if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break b;if(!(d[20063+(d[c[C>>2]>>0]|0)>>0]&4))break b;n=s;m=c[n+4>>2]|0;if((m|0)<214748364|(m|0)==214748364&(c[n>>2]|0)>>>0<3435973835){n=s;n=r0(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;m=(a[c[C>>2]>>0]|0)-48|0;m=_$(n|0,D|0,m|0,((m|0)<0)<<31>>31|0)|0;n=s;c[n>>2]=m;c[n+4>>2]=D;c[p>>2]=(c[p>>2]|0)+-1}c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[C>>2]|0)>>>0<(c[w>>2]|0)>>>0){if(!((a[c[C>>2]>>0]|0)!=101?(a[c[C>>2]>>0]|0)!=69:0))o=34;c:do if((o|0)==34){c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0);c[y>>2]=0;if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break a;if((a[c[C>>2]>>0]|0)!=45){if((a[c[C>>2]>>0]|0)==43)c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0)}else{c[x>>2]=-1;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0)}while(1){if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break c;if(!(d[20063+(d[c[C>>2]>>0]|0)>>0]&4))break c;if((c[u>>2]|0)<1e4)b=((c[u>>2]|0)*10|0)+((a[c[C>>2]>>0]|0)-48)|0;else b=1e4;c[u>>2]=b;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0);c[y>>2]=1}}while(0);while(1){if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break a;if(!(d[20063+(d[c[C>>2]>>0]|0)>>0]&1))break a;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0)}}}while(0);q=S(c[u>>2]|0,c[x>>2]|0)|0;c[u>>2]=q+(c[p>>2]|0);if((c[u>>2]|0)<0){c[x>>2]=-1;c[u>>2]=S(c[u>>2]|0,-1)|0}else c[x>>2]=1;q=s;do if(!((c[q>>2]|0)==0&(c[q+4>>2]|0)==0)){while(1){if((c[u>>2]|0)<=0)break;e=s;b=c[e>>2]|0;e=c[e+4>>2]|0;if((c[x>>2]|0)>0){if((e|0)>214748364|(e|0)==214748364&b>>>0>=3435973836)break;p=s;p=r0(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=s;c[q>>2]=p;c[q+4>>2]=D}else{q=c0(b|0,e|0,10,0)|0;if((q|0)!=0|(D|0)!=0)break;p=s;p=n0(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=s;c[q>>2]=p;c[q+4>>2]=D}c[u>>2]=(c[u>>2]|0)+-1}p=(c[r>>2]|0)<0;q=s;o=c[q>>2]|0;q=c[q+4>>2]|0;n=Z$(0,0,o|0,q|0)|0;r=s;c[r>>2]=p?n:o;c[r+4>>2]=p?D:q;if(!(c[u>>2]|0)){x=s;h[z>>3]=+((c[x>>2]|0)>>>0)+4294967296.0*+(c[x+4>>2]|0);break}h[v>>3]=1.0;if((c[u>>2]|0)<=307){while(1){if(!((c[u>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[u>>2]=(c[u>>2]|0)-1}while(1){if((c[u>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[u>>2]=(c[u>>2]|0)-22}u=s;j=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);i=+h[v>>3];if((c[x>>2]|0)<0){h[z>>3]=j/i;break}else{h[z>>3]=j*i;break}}if((c[u>>2]|0)>=342){v=s;i=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[x>>2]|0)<0){h[z>>3]=0.0*i;break}else{h[z>>3]=t*i;break}}while(1){if(!((c[u>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[u>>2]=(c[u>>2]|0)-1}u=s;j=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);i=+h[v>>3];if((c[x>>2]|0)<0){h[z>>3]=j/i;h[z>>3]=+h[z>>3]/1.e+308;break}else{h[z>>3]=j*i;h[z>>3]=+h[z>>3]*1.e+308;break}}else h[z>>3]=(c[r>>2]|0)<0?-0.0:0.0;while(0);h[c[E>>2]>>3]=+h[z>>3];if(((c[A>>2]|0)>0?(c[C>>2]|0)==(c[w>>2]|0):0)&(c[y>>2]|0)!=0)b=(c[B>>2]|0)==0;else b=0;c[F>>2]=b&1;F=c[F>>2]|0;l=G;return F|0}function Ki(b){b=b|0;var d=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;d=j+8|0;f=j+20|0;g=j+16|0;i=j;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4|0)){if(c[g>>2]&8|0){g=Li(+h[c[f>>2]>>3])|0;i=d;c[i>>2]=g;c[i+4>>2]=D;break}if(c[g>>2]&18|0){g=i;c[g>>2]=0;c[g+4>>2]=0;Mi(c[(c[f>>2]|0)+16>>2]|0,i,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;f=i;g=c[f+4>>2]|0;i=d;c[i>>2]=c[f>>2];c[i+4>>2]=g;break}else{i=d;c[i>>2]=0;c[i+4>>2]=0;break}}else{f=c[f>>2]|0;g=c[f+4>>2]|0;i=d;c[i>>2]=c[f>>2];c[i+4>>2]=g}while(0);i=d;D=c[i+4>>2]|0;l=j;return c[i>>2]|0}function Li(a){a=+a;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+F(a)>=1.0?(a>0.0?~~+T(+E(a/4294967296.0),4294967295.0)>>>0:~~+R((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;D=c[f+4>>2]|0;l=e;return c[f>>2]|0}function Mi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;r=v+48|0;s=v+44|0;t=v+40|0;h=v+36|0;i=v+52|0;u=v+32|0;j=v;k=v+28|0;m=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;q=v+8|0;c[s>>2]=b;c[t>>2]=e;c[h>>2]=f;a[i>>0]=g;g=j;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=0;c[n>>2]=0;c[o>>2]=0;c[q>>2]=(c[s>>2]|0)+(c[h>>2]|0);if((d[i>>0]|0)==1)c[u>>2]=1;else{c[u>>2]=2;c[m>>2]=3-(d[i>>0]|0);while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;if(a[(c[s>>2]|0)+(c[m>>2]|0)>>0]|0)break;c[m>>2]=(c[m>>2]|0)+2}c[o>>2]=(c[m>>2]|0)<(c[h>>2]|0)&1;c[q>>2]=(c[s>>2]|0)+(c[m>>2]^1);c[s>>2]=(c[s>>2]|0)+(d[i>>0]&1)}while(1){if((c[s>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!(d[20063+(d[c[s>>2]>>0]|0)>>0]&1))break;c[s>>2]=(c[s>>2]|0)+(c[u>>2]|0)}do if((c[s>>2]|0)>>>0<(c[q>>2]|0)>>>0){if((a[c[s>>2]>>0]|0)==45){c[k>>2]=1;c[s>>2]=(c[s>>2]|0)+(c[u>>2]|0);break}if((a[c[s>>2]>>0]|0)==43)c[s>>2]=(c[s>>2]|0)+(c[u>>2]|0)}while(0);c[p>>2]=c[s>>2];while(1){if((c[s>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if((a[c[s>>2]>>0]|0)!=48)break;c[s>>2]=(c[s>>2]|0)+(c[u>>2]|0)}c[m>>2]=0;while(1){if(((c[s>>2]|0)+(c[m>>2]|0)|0)>>>0<(c[q>>2]|0)>>>0?(i=a[(c[s>>2]|0)+(c[m>>2]|0)>>0]|0,c[n>>2]=i,(i|0)>=48):0)b=(c[n>>2]|0)<=57;else b=0;f=j;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!b)break;i=r0(e|0,f|0,10,0)|0;h=c[n>>2]|0;h=_$(i|0,D|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Z$(h|0,D|0,48,0)|0;i=j;c[i>>2]=h;c[i+4>>2]=D;c[m>>2]=(c[m>>2]|0)+(c[u>>2]|0)}g=(c[k>>2]|0)!=0;do if(!(f>>>0>2147483647|(f|0)==2147483647&e>>>0>4294967295)){e=j;b=c[e>>2]|0;e=c[e+4>>2]|0;if(g){j=Z$(0,0,b|0,e|0)|0;t=c[t>>2]|0;c[t>>2]=j;c[t+4>>2]=D;break}else{t=c[t>>2]|0;c[t>>2]=b;c[t+4>>2]=e;break}}else{t=c[t>>2]|0;c[t>>2]=g?0:-1;c[t+4>>2]=g?-2147483648:2147483647}while(0);do if(((c[s>>2]|0)+(c[m>>2]|0)|0)>>>0>=(c[q>>2]|0)>>>0){if((c[m>>2]|0)==0?(c[p>>2]|0)==(c[s>>2]|0):0)break;if(!(c[o>>2]|0?1:(c[m>>2]|0)>((c[u>>2]|0)*19|0))){if((c[m>>2]|0)<((c[u>>2]|0)*19|0)){c[r>>2]=0;u=c[r>>2]|0;l=v;return u|0}c[n>>2]=Ni(c[s>>2]|0,c[u>>2]|0)|0;if((c[n>>2]|0)<0){c[r>>2]=0;u=c[r>>2]|0;l=v;return u|0}if((c[n>>2]|0)>0){c[r>>2]=1;u=c[r>>2]|0;l=v;return u|0}else{c[r>>2]=c[k>>2]|0?0:2;u=c[r>>2]|0;l=v;return u|0}}}while(0);c[r>>2]=1;u=c[r>>2]|0;l=v;return u|0}function Ni(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[i>>2]=22277;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;d=a[(c[e>>2]|0)+(S(c[h>>2]|0,c[f>>2]|0)|0)>>0]|0;c[g>>2]=(d-(a[(c[i>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){i=c[g>>2]|0;l=j;return i|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;i=c[g>>2]|0;l=j;return i|0}function Oi(d,f){d=d|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;i=n+16|0;j=n+8|0;k=n;m=n+24|0;c[g>>2]=d;c[i>>2]=f;a[m>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(Ji(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[m>>0]|0)|0)){l=n;return}if(!(Mi(c[(c[g>>2]|0)+16>>2]|0,k,c[(c[g>>2]|0)+12>>2]|0,a[m>>0]|0)|0)){j=k;k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;l=n;return}h[c[g>>2]>>3]=+h[j>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[i>>2]|0)){l=n;return}Pi(c[g>>2]|0);l=n;return}function Pi(a){a=a|0;var d=0,f=0,g=0,i=0,j=0,k=0,m=0;g=l;l=l+16|0;d=g+8|0;f=g;c[d>>2]=a;j=Li(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=j;c[m+4>>2]=D;m=f;j=f;k=c[j+4>>2]|0;a=f;i=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((k|0)>-2147483648|(k|0)==-2147483648&(c[j>>2]|0)>>>0>0)&((i|0)<2147483647|(i|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){l=g;return}j=f;k=c[j+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;l=g;return}function Qi(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Ki(c[d>>2]|0)|0;l=b;return a|0}function Ri(a){a=a|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=Rh(c[d>>2]|0)|0;g=c[g>>2]|0;l=h;return g|0}if((e[(c[f>>2]|0)+8>>1]|0)&16384|0)a=hi(c[f>>2]|0)|0;else a=0;if(a|0){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}d=(c[f>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)a=c[(c[f>>2]|0)+16>>2]|0;else a=0;c[g>>2]=a;g=c[g>>2]|0;l=h;return g|0}function Si(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+16|0;m=p+12|0;n=p;o=p+8|0;j=p+20|0;c[k>>2]=b;c[m>>2]=e;e=n;c[e>>2]=f;c[e+4>>2]=g;c[o>>2]=h;a[j>>0]=i;if((d[j>>0]|0)==4)a[j>>0]=(a[936]|0)==0?3:2;i=n;h=c[i+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[i>>2]|0)>>>0>2147483647){Ui(c[m>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;l=p;return}else{yi(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,a[j>>0]|0,c[o>>2]|0);l=p;return}}function Ti(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k;j=k+8|0;c[g>>2]=a;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=f;f=i;e=c[f+4>>2]|0;if(e>>>0>0|(e|0)==0&(c[f>>2]|0)>>>0>2147483647){Ui(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;l=k;return}else{yi(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,0,c[j>>2]|0);l=k;return}}function Ui(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))Eb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){l=h;return 18}vi(c[g>>2]|0);l=h;return 18}function Vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h;j=h+8|0;c[f>>2]=a;i=g;c[i>>2]=b;c[i+4>>2]=d;c[j>>2]=c[c[f>>2]>>2];b=g;i=c[b+4>>2]|0;d=c[(c[(c[j>>2]|0)+32>>2]|0)+96>>2]|0;a=((d|0)<0)<<31>>31;if(i>>>0>a>>>0|((i|0)==(a|0)?(c[b>>2]|0)>>>0>d>>>0:0)){c[e>>2]=18;j=c[e>>2]|0;l=h;return j|0}else{Yi(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;j=c[e>>2]|0;l=h;return j|0}return 0}function Wi(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){l=h;return}f=c[c[f>>2]>>2]|0;ci(f,Xi(c[g>>2]|0)|0,-1,1,0)|0;l=h;return}function Xi(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=22296;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?c[3612+(c[b>>2]<<2)>>2]|0:0)c[d>>2]=c[3612+(c[b>>2]<<2)>>2]}else c[d>>2]=22310;l=e;return c[d>>2]|0}function Yi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;ei(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;l=h;return}function Zi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;$i(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;l=d;return}function _i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;e=h+16|0;f=h;g=h+12|0;j=h+8|0;c[e>>2]=a;i=f;c[i>>2]=b;c[i+4>>2]=d;c[j>>2]=Ph(c[e>>2]|0)|0;b=f;i=c[b+4>>2]|0;d=c[(c[j>>2]|0)+96>>2]|0;a=((d|0)<0)<<31>>31;if((i|0)>(a|0)|((i|0)==(a|0)?(c[b>>2]|0)>>>0>d>>>0:0)){vi(c[e>>2]|0);c[g>>2]=0;j=c[g>>2]|0;l=h;return j|0}j=f;c[g>>2]=Fd(c[j>>2]|0,c[j+4>>2]|0)|0;if(c[g>>2]|0){j=c[g>>2]|0;l=h;return j|0}wi(c[e>>2]|0);j=c[g>>2]|0;l=h;return j|0}function $i(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312|0)$h(c[f>>2]|0);d=c[f>>2]|0;a=c[g>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];d=(c[f>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;l=i;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;l=i;return h|0}g=(c[f>>2]|0)+8|0;b[g>>1]=e[g>>1]|0|4096;c[h>>2]=gi(c[f>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}function aj(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+92>>2]|0}function bj(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+88>>2]|0}function cj(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function dj(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);l=d;return c[(c[b>>2]|0)+16>>2]|0}function ej(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;f=o+24|0;g=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[g>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e[(c[g>>2]|0)+8>>1];c[m>>2]=e[(c[i>>2]|0)+8>>1];c[n>>2]=c[k>>2]|c[m>>2];do if(!(c[n>>2]&1|0)){if(!(c[n>>2]&12)){if(c[n>>2]&2|0){if(!(c[k>>2]&2)){c[f>>2]=1;break}if(!(c[m>>2]&2)){c[f>>2]=-1;break}if(c[j>>2]|0){c[f>>2]=gj(c[g>>2]|0,c[i>>2]|0,c[j>>2]|0,0)|0;break}}c[f>>2]=hj(c[g>>2]|0,c[i>>2]|0)|0;break}if(c[k>>2]&c[m>>2]&4|0){m=c[g>>2]|0;j=c[m+4>>2]|0;n=c[i>>2]|0;k=c[n+4>>2]|0;if((j|0)<(k|0)|((j|0)==(k|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[f>>2]=-1;break}m=c[g>>2]|0;j=c[m+4>>2]|0;n=c[i>>2]|0;k=c[n+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[k>>2]&c[m>>2]&8|0){if(+h[c[g>>2]>>3]<+h[c[i>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[i>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[k>>2]&4|0)if(c[m>>2]&8|0){n=c[g>>2]|0;c[f>>2]=fj(c[n>>2]|0,c[n+4>>2]|0,+h[c[i>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[k>>2]&8)){c[f>>2]=1;break}if(c[m>>2]&4|0){n=c[i>>2]|0;c[f>>2]=0-(fj(c[n>>2]|0,c[n+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[m>>2]&1)-(c[k>>2]&1);while(0);l=o;return c[f>>2]|0}function fj(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;e=k+32|0;f=k+24|0;g=k+16|0;i=k+8|0;j=k;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;l=k;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;l=k;return m|0}d=+h[g>>3];n=+F(d)>=1.0?(d>0.0?~~+T(+E(d/4294967296.0),4294967295.0)>>>0:~~+R((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=i;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=i;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;l=k;return n|0}m=f;a=c[m+4>>2]|0;n=i;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=i;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;l=k;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;l=k;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;l=k;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;l=k;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;l=k;return n|0}return 0}function gj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+128|0;o=u+116|0;p=u+112|0;q=u+108|0;r=u+104|0;s=u+100|0;t=u+96|0;h=u+92|0;i=u+88|0;j=u+84|0;k=u+80|0;m=u+40|0;n=u;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;if((d[(c[p>>2]|0)+10>>0]|0|0)==(d[(c[r>>2]|0)+4>>0]|0|0)){c[o>>2]=Nb[c[(c[r>>2]|0)+12>>2]&255](c[(c[r>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[(c[q>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+16>>2]|0)|0;t=c[o>>2]|0;l=u;return t|0}jj(m,c[(c[p>>2]|0)+32>>2]|0,1);jj(n,c[(c[p>>2]|0)+32>>2]|0,1);kj(m,c[p>>2]|0,4096);kj(n,c[q>>2]|0,4096);c[h>>2]=ti(m,a[(c[r>>2]|0)+4>>0]|0)|0;c[j>>2]=(c[h>>2]|0)==0?0:c[m+12>>2]|0;c[i>>2]=ti(n,a[(c[r>>2]|0)+4>>0]|0)|0;c[k>>2]=(c[i>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Nb[c[(c[r>>2]|0)+12>>2]&255](c[(c[r>>2]|0)+8>>2]|0,c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0)|0;if(((c[h>>2]|0)==0|(c[i>>2]|0)==0)&(c[s>>2]|0)!=0)a[c[s>>2]>>0]=7;ei(m);ei(n);c[o>>2]=c[t>>2];t=c[o>>2]|0;l=u;return t|0}function hj(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;h=k+12|0;d=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[(c[g>>2]|0)+12>>2];c[j>>2]=c[(c[h>>2]|0)+12>>2];b=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0|(e[(c[h>>2]|0)+8>>1]|0))&16384)){c[d>>2]=H_(c[b+16>>2]|0,c[(c[h>>2]|0)+16>>2]|0,(c[i>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[i>>2]|0)|0;if(c[d>>2]|0){c[f>>2]=c[d>>2];j=c[f>>2]|0;l=k;return j|0}else{c[f>>2]=(c[i>>2]|0)-(c[j>>2]|0);j=c[f>>2]|0;l=k;return j|0}}a=c[g>>2]|0;if((e[b+8>>1]|0)&(e[(c[h>>2]|0)+8>>1]|0)&16384|0){c[f>>2]=(c[a>>2]|0)-(c[c[h>>2]>>2]|0);j=c[f>>2]|0;l=k;return j|0}if((e[a+8>>1]|0)&16384|0)if(ij(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[c[g>>2]>>2]|0)-(c[j>>2]|0);j=c[f>>2]|0;l=k;return j|0}else{c[f>>2]=-1;j=c[f>>2]|0;l=k;return j|0}else if(ij(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[i>>2]|0)-(c[c[h>>2]>>2]|0);j=c[f>>2]|0;l=k;return j|0}else{c[f>>2]=1;j=c[f>>2]|0;l=k;return j|0}return 0}function ij(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){b=6;break}if(a[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0){b=4;break}c[g>>2]=(c[g>>2]|0)+1}if((b|0)==4){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}else if((b|0)==6){c[h>>2]=1;h=c[h>>2]|0;l=i;return h|0}return 0}function jj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+4|0;h=f;i=f+8|0;c[g>>2]=a;c[h>>2]=d;b[i>>1]=e;b[(c[g>>2]|0)+8>>1]=b[i>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;l=f;return}function kj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=d;c[i>>2]=f;a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312|0){lj(a,c[h>>2]|0,c[i>>2]|0);l=j;return}f=c[h>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048|0){l=j;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[i>>2];l=j;return}function lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;$h(c[h>>2]|0);kj(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);l=e;return}function mj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;yi(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,0,c[g>>2]|0);l=f;return}function nj(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_h(c[c[d>>2]>>2]|0);l=b;return}function oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Ad(c[h>>2]|0,c[g>>2]|0,f);l=e;return}function pj(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;l=d;return}function qj(){return 20048}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+64|0;e=g+56|0;i=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[i>>2]=b;c[h>>2]=d;if(zj(c[e>>2]|0,c[i>>2]|0,c[h>>2]|0,f)|0){l=g;return}Aj(f);i=f;Ci(c[e>>2]|0,(+((c[i>>2]|0)>>>0)+4294967296.0*+(c[i+4>>2]|0))/864.0e5);l=g;return}function sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+176|0;h=i+48|0;e=i+68|0;k=i+64|0;j=i+60|0;f=i;g=i+72|0;c[e>>2]=a;c[k>>2]=b;c[j>>2]=d;if(zj(c[e>>2]|0,c[k>>2]|0,c[j>>2]|0,f)|0){l=i;return}Cj(f);j=c[f+12>>2]|0;k=c[f+16>>2]|0;c[h>>2]=c[f+8>>2];c[h+4>>2]=j;c[h+8>>2]=k;ef(100,g,23314,h)|0;xi(c[e>>2]|0,g,-1,-1);l=i;return}function tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;j=l;l=l+176|0;i=j+48|0;e=j+68|0;m=j+64|0;k=j+60|0;f=j;g=j+72|0;c[e>>2]=a;c[m>>2]=b;c[k>>2]=d;if(zj(c[e>>2]|0,c[m>>2]|0,c[k>>2]|0,f)|0){l=j;return}Dj(f);k=c[f+24>>2]|0;m=~~+h[f+32>>3];c[i>>2]=c[f+20>>2];c[i+4>>2]=k;c[i+8>>2]=m;ef(100,g,23299,i)|0;xi(c[e>>2]|0,g,-1,-1);l=j;return}function uj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;j=l;l=l+192|0;i=j+48|0;e=j+80|0;m=j+76|0;k=j+72|0;f=j;g=j+84|0;c[e>>2]=a;c[m>>2]=b;c[k>>2]=d;if(zj(c[e>>2]|0,c[m>>2]|0,c[k>>2]|0,f)|0){l=j;return}Bj(f);a=c[f+12>>2]|0;b=c[f+16>>2]|0;d=c[f+20>>2]|0;k=c[f+24>>2]|0;m=~~+h[f+32>>3];c[i>>2]=c[f+8>>2];c[i+4>>2]=a;c[i+8>>2]=b;c[i+12>>2]=d;c[i+16>>2]=k;c[i+20>>2]=m;ef(100,g,23269,i)|0;xi(c[e>>2]|0,g,-1,-1);l=j;return}function vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+336|0;G=J+192|0;F=J+184|0;E=J+176|0;C=J+168|0;B=J+160|0;A=J+152|0;z=J+144|0;I=J+136|0;H=J+128|0;y=J+120|0;x=J+112|0;t=J+232|0;g=J+228|0;i=J+224|0;u=J+64|0;j=J+56|0;v=J+220|0;w=J+216|0;m=J+212|0;f=J+208|0;n=J+204|0;o=J+236|0;p=J+48|0;q=J+200|0;r=J;s=J+196|0;c[t>>2]=b;c[g>>2]=d;c[i>>2]=e;if(!(c[g>>2]|0)){l=J;return}c[n>>2]=Rh(c[c[i>>2]>>2]|0)|0;if(!(c[n>>2]|0)){l=J;return}if(zj(c[t>>2]|0,(c[g>>2]|0)-1|0,(c[i>>2]|0)+4|0,u)|0){l=J;return}c[f>>2]=Ph(c[t>>2]|0)|0;c[v>>2]=0;i=j;c[i>>2]=1;c[i+4>>2]=0;a:while(1){if(!(a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0))break;if((a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0)==37){switch(a[(c[n>>2]|0)+((c[v>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{g=j;i=j;c[i>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[i+4>>2]=D;break}case 37:case 119:break;case 102:{g=j;i=j;c[i>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,8,0)|0;c[i+4>>2]=D;break}case 106:{g=j;i=j;c[i>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,3,0)|0;c[i+4>>2]=D;break}case 89:{g=j;i=j;c[i>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,8,0)|0;c[i+4>>2]=D;break}case 74:case 115:{g=j;i=j;c[i>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,50,0)|0;c[i+4>>2]=D;break}default:{k=44;break a}}c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1;g=j;g=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;i=j;c[i>>2]=g;c[i+4>>2]=D}if((k|0)==44){l=J;return}k=j;i=c[k+4>>2]|0;if(!(i>>>0<0|(i|0)==0&(c[k>>2]|0)>>>0<100)){i=j;e=c[i+4>>2]|0;k=c[(c[f>>2]|0)+96>>2]|0;g=((k|0)<0)<<31>>31;if(e>>>0>g>>>0|((e|0)==(g|0)?(c[i>>2]|0)>>>0>k>>>0:0)){vi(c[t>>2]|0);l=J;return}k=c[j>>2]|0;c[m>>2]=Ed(c[f>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){wi(c[t>>2]|0);l=J;return}}else c[m>>2]=o;Aj(u);Bj(u);c[w>>2]=0;c[v>>2]=0;while(1){if(!(a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0))break;b:do if((a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0)!=37){i=a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0;j=c[m>>2]|0;k=c[w>>2]|0;c[w>>2]=k+1;a[j+k>>0]=i}else{c[v>>2]=(c[v>>2]|0)+1;do switch(a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0){case 100:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[x>>2]=c[u+16>>2];ef(3,k,23105,x)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 102:{h[p>>3]=+h[u+32>>3];if(+h[p>>3]>59.999)h[p>>3]=59.999;k=(c[m>>2]|0)+(c[w>>2]|0)|0;h[y>>3]=+h[p>>3];ef(7,k,23110,y)|0;c[w>>2]=(md((c[m>>2]|0)+(c[w>>2]|0)|0)|0)+(c[w>>2]|0);break b}case 72:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[H>>2]=c[u+20>>2];ef(3,k,23105,H)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 106:case 87:{b=r;d=u;f=b+48|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(f|0));a[r+42>>0]=0;c[r+12>>2]=1;c[r+16>>2]=1;Aj(r);j=u;k=r;c[q>>2]=n0(_$(Z$(c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0,D|0,432e5,0)|0,D|0,864e5,0)|0;if((a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0)==87){k=u;k=_$(c[k>>2]|0,c[k+4>>2]|0,432e5,0)|0;k=n0(k|0,D|0,864e5,0)|0;k=c0(k|0,D|0,7,0)|0;c[s>>2]=k;k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[I>>2]=((c[q>>2]|0)+7-(c[s>>2]|0)|0)/7|0;ef(3,k,23105,I)|0;c[w>>2]=(c[w>>2]|0)+2;break b}else{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[z>>2]=(c[q>>2]|0)+1;ef(4,k,23117,z)|0;c[w>>2]=(c[w>>2]|0)+3;break b}}case 74:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;j=u;h[A>>3]=(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5;ef(20,k,23122,A)|0;c[w>>2]=(md((c[m>>2]|0)+(c[w>>2]|0)|0)|0)+(c[w>>2]|0);break b}case 109:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[B>>2]=c[u+12>>2];ef(3,k,23105,B)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 77:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[C>>2]=c[u+24>>2];ef(3,k,23105,C)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 115:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;i=u;j=E;c[j>>2]=Z$(n0(c[i>>2]|0,c[i+4>>2]|0,1e3,0)|0,D|0,413362496,49)|0;c[j+4>>2]=D;ef(30,k,22191,E)|0;c[w>>2]=(md((c[m>>2]|0)+(c[w>>2]|0)|0)|0)+(c[w>>2]|0);break b}case 83:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[F>>2]=~~+h[u+32>>3];ef(3,k,23105,F)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 119:{i=u;i=c0(n0(_$(c[i>>2]|0,c[i+4>>2]|0,1296e5,0)|0,D|0,864e5,0)|0,D|0,7,0)|0;j=c[m>>2]|0;k=c[w>>2]|0;c[w>>2]=k+1;a[j+k>>0]=((i&255)<<24>>24)+48;break b}case 89:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[G>>2]=c[u+8>>2];ef(5,k,23128,G)|0;c[w>>2]=(md((c[m>>2]|0)+(c[w>>2]|0)|0)|0)+(c[w>>2]|0);break b}default:{j=c[m>>2]|0;k=c[w>>2]|0;c[w>>2]=k+1;a[j+k>>0]=37;break b}}while(0)}while(0);c[v>>2]=(c[v>>2]|0)+1}a[(c[m>>2]|0)+(c[w>>2]|0)>>0]=0;xi(c[t>>2]|0,c[m>>2]|0,-1,(c[m>>2]|0)==(o|0)?-1:191);l=J;return}function wj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;tj(c[f>>2]|0,0,0);l=e;return}function xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;uj(c[f>>2]|0,0,0);l=e;return}function yj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;sj(c[f>>2]|0,0,0);l=e;return}function zj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+32|0;o=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;b=c[m>>2]|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));if(!(c[j>>2]|0)){c[o>>2]=Ej(c[i>>2]|0,c[m>>2]|0)|0;o=c[o>>2]|0;l=p;return o|0}f=Ai(c[c[k>>2]>>2]|0)|0;c[h>>2]=f;b=c[c[k>>2]>>2]|0;do if((f|0)==2|(c[h>>2]|0)==1){q=+Hi(b)*864.0e5+.5;f=+F(q)>=1.0?(q>0.0?~~+T(+E(q/4294967296.0),4294967295.0)>>>0:~~+R((q-+(~~q>>>0))/4294967296.0)>>>0):0;h=c[m>>2]|0;c[h>>2]=~~q>>>0;c[h+4>>2]=f;a[(c[m>>2]|0)+42>>0]=1}else{c[g>>2]=Rh(b)|0;if(c[g>>2]|0?(Fj(c[i>>2]|0,c[g>>2]|0,c[m>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;l=p;return o|0}while(0);c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){b=14;break}c[g>>2]=Rh(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;if(!(c[g>>2]|0)){b=12;break}if(Gj(c[i>>2]|0,c[g>>2]|0,c[m>>2]|0)|0){b=12;break}c[n>>2]=(c[n>>2]|0)+1}if((b|0)==12){c[o>>2]=1;o=c[o>>2]|0;l=p;return o|0}else if((b|0)==14){c[o>>2]=0;o=c[o>>2]|0;l=p;return o|0}return 0}function Aj(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){l=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[e>>2]=2e3;c[f>>2]=1;c[g>>2]=1}if((c[f>>2]|0)<=2){c[e>>2]=(c[e>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+12}c[i>>2]=(c[e>>2]|0)/100|0;c[j>>2]=2-(c[i>>2]|0)+((c[i>>2]|0)/4|0);c[k>>2]=(((c[e>>2]|0)+4716|0)*36525|0)/100|0;c[m>>2]=(((c[f>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[m>>2]|0)+(c[g>>2]|0)+(c[j>>2]|0)|0)-1524.5)*864.0e5;k=+F(o)>=1.0?(o>0.0?~~+T(+E(o/4294967296.0),4294967295.0)>>>0:~~+R((o-+(~~o>>>0))/4294967296.0)>>>0):0;m=c[d>>2]|0;c[m>>2]=~~o>>>0;c[m+4>>2]=k;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){l=n;return}k=S(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;k=k+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;k=_$(k|0,((k|0)<0)<<31>>31|0,~~o>>>0|0,(+F(o)>=1.0?(o>0.0?~~+T(+E(o/4294967296.0),4294967295.0)>>>0:~~+R((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;m=c[d>>2]|0;j=m;k=_$(c[j>>2]|0,c[j+4>>2]|0,k|0,D|0)|0;c[m>>2]=k;c[m+4>>2]=D;if(!(a[(c[d>>2]|0)+43>>0]|0)){l=n;return}k=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;m=c[d>>2]|0;j=m;k=Z$(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;c[m>>2]=k;c[m+4>>2]=D;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;l=n;return}function Bj(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Cj(c[d>>2]|0);Dj(c[d>>2]|0);l=b;return}function Cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){l=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=_$(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=n0(b|0,D|0,864e5,0)|0;c[e>>2]=b;c[f>>2]=~~((+(c[e>>2]|0)-1867216.25)/36524.25);c[f>>2]=(c[e>>2]|0)+1+(c[f>>2]|0)-((c[f>>2]|0)/4|0);c[g>>2]=(c[f>>2]|0)+1524;c[h>>2]=~~((+(c[g>>2]|0)-122.1)/365.25);c[i>>2]=((c[h>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[g>>2]|0)-(c[i>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[g>>2]|0)-(c[i>>2]|0)-(c[k>>2]|0);c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)-((c[j>>2]|0)<14?1:13);c[(c[d>>2]|0)+8>>2]=(c[h>>2]|0)-((c[(c[d>>2]|0)+12>>2]|0)>2?4716:4715)}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;l=m;return}function Dj(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){l=f;return}Aj(c[d>>2]|0);b=c[d>>2]|0;b=_$(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=c0(b|0,D|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;l=f;return}function Ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=Oj(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=D;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;l=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;l=g;return h|0}return 0}function Fj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;i=m+12|0;j=m+8|0;k=m;c[g>>2]=b;c[i>>2]=d;c[j>>2]=e;if(!(Nj(c[i>>2]|0,c[j>>2]|0)|0)){c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}if(!(Jj(c[i>>2]|0,c[j>>2]|0)|0)){c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}if(!(bh(c[i>>2]|0,23253)|0)){c[f>>2]=Ej(c[g>>2]|0,c[j>>2]|0)|0;k=c[f>>2]|0;l=m;return k|0}g=c[i>>2]|0;if(Ji(g,k,md(c[i>>2]|0)|0,1)|0){n=+h[k>>3]*864.0e5+.5;i=+F(n)>=1.0?(n>0.0?~~+T(+E(n/4294967296.0),4294967295.0)>>>0:~~+R((n-+(~~n>>>0))/4294967296.0)>>>0):0;k=c[j>>2]|0;c[k>>2]=~~n>>>0;c[k+4>>2]=i;a[(c[j>>2]|0)+42>>0]=1;c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}else{c[f>>2]=1;k=c[f>>2]|0;l=m;return k|0}return 0}function Gj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+160|0;j=z+124|0;k=z+120|0;w=z+116|0;x=z+112|0;q=z+108|0;r=z+80|0;y=z+104|0;g=z+72|0;i=z+64|0;m=z+56|0;t=z+100|0;u=z+8|0;v=z;n=z+96|0;o=z+92|0;p=z+88|0;c[j>>2]=b;c[k>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[q>>2]=0;while(1){if((c[q>>2]|0)>=29)break;if(!(a[(c[k>>2]|0)+(c[q>>2]|0)>>0]|0))break;a[(c[y>>2]|0)+(c[q>>2]|0)>>0]=a[20458+(d[(c[k>>2]|0)+(c[q>>2]|0)>>0]|0)>>0]|0;c[q>>2]=(c[q>>2]|0)+1}a[(c[y>>2]|0)+(c[q>>2]|0)>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(G_(c[y>>2]|0,23133)|0){y=c[x>>2]|0;l=z;return y|0}Aj(c[w>>2]|0);v=Hj(c[w>>2]|0,c[j>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=_$(c[u>>2]|0,c[u+4>>2]|0,v|0,D|0)|0;c[y+4>>2]=D;Ij(c[w>>2]|0);y=c[x>>2]|0;l=z;return y|0}case 117:{if((G_(c[y>>2]|0,23143)|0)==0?a[(c[w>>2]|0)+42>>0]|0:0){v=c[w>>2]|0;v=_$(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=n0(v|0,D|0,86400,0)|0;v=_$(v|0,D|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=D;Ij(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}if(G_(c[y>>2]|0,23153)|0){y=c[x>>2]|0;l=z;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}Aj(c[w>>2]|0);y=g;c[y>>2]=Hj(c[w>>2]|0,c[j>>2]|0,x)|0;c[y+4>>2]=D;if(!(c[x>>2]|0)){u=g;y=c[w>>2]|0;v=y;u=Z$(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=D;Ij(c[w>>2]|0);y=g;u=c[y>>2]|0;y=c[y+4>>2]|0;v=Hj(c[w>>2]|0,c[j>>2]|0,x)|0;v=Z$(u|0,y|0,v|0,D|0)|0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,v|0,D|0)|0;c[y>>2]=v;c[y+4>>2]=D}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;l=z;return y|0}case 119:{if(I_(c[y>>2]|0,23157,8)|0){y=c[x>>2]|0;l=z;return y|0}if(!(Ji((c[y>>2]|0)+8|0,r,md((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;l=z;return y|0}y=~~+h[r>>3];c[q>>2]=y;if(!(((c[q>>2]|0)>=0?+(y|0)==+h[r>>3]:0)&+h[r>>3]<7.0)){y=c[x>>2]|0;l=z;return y|0}Bj(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;Aj(c[w>>2]|0);t=c[w>>2]|0;v=i;c[v>>2]=c0(n0(_$(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,D|0,864e5,0)|0,D|0,7,0)|0;c[v+4>>2]=D;v=i;t=c[v+4>>2]|0;y=c[q>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=i;v=Z$(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=i;c[y>>2]=v;c[y+4>>2]=D}y=c[q>>2]|0;v=i;v=r0(Z$(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,D|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=_$(c[u>>2]|0,c[u+4>>2]|0,v|0,D|0)|0;c[y+4>>2]=D;Ij(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}case 115:{if(I_(c[y>>2]|0,23166,9)|0){y=c[x>>2]|0;l=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;Cj(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(G_(c[y>>2]|0,23176)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}if(!(G_(c[y>>2]|0,23182)|0)){Cj(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}if(G_(c[y>>2]|0,23187)|0){y=c[x>>2]|0;l=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[q>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[q>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[q>>2]|0)>>0]|0)==58)break;if(!((d[20063+(d[(c[y>>2]|0)+(c[q>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[q>>2]=(c[q>>2]|0)+1}if(!(Ji(c[y>>2]|0,r,c[q>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;l=z;return y|0}if((a[(c[y>>2]|0)+(c[q>>2]|0)>>0]|0)==58){c[t>>2]=c[y>>2];if(!(d[20063+(d[c[t>>2]>>0]|0)>>0]&4))c[t>>2]=(c[t>>2]|0)+1;b=u;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));if(Jj(c[t>>2]|0,u)|0){y=c[x>>2]|0;l=z;return y|0}Aj(u);t=u;t=Z$(c[t>>2]|0,c[t+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=t;c[s+4>>2]=D;s=u;s=n0(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;t=v;c[t>>2]=s;c[t+4>>2]=D;t=v;t=r0(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=Z$(c[v>>2]|0,c[v+4>>2]|0,t|0,D|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=D;if((a[c[y>>2]>>0]|0)==45){v=u;v=Z$(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=D}Aj(c[w>>2]|0);Ij(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=_$(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=D;c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[q>>2]|0);while(1){b=c[y>>2]|0;if(!(d[20063+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=b+1}c[q>>2]=md(b)|0;if((c[q>>2]|0)>10|(c[q>>2]|0)<3){y=c[x>>2]|0;l=z;return y|0}if((a[(c[y>>2]|0)+((c[q>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[q>>2]|0)-1)>>0]=0;c[q>>2]=(c[q>>2]|0)+-1}Aj(c[w>>2]|0);c[x>>2]=0;h[m>>3]=+h[r>>3]<0.0?-.5:.5;if((c[q>>2]|0)==3?(G_(c[y>>2]|0,23187)|0)==0:0){A=+h[r>>3]*864.0e5+ +h[m>>3];v=+F(A)>=1.0?(A>0.0?~~+T(+E(A/4294967296.0),4294967295.0)>>>0:~~+R((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=D}else s=53;do if((s|0)==53){if((c[q>>2]|0)==4?(G_(c[y>>2]|0,23191)|0)==0:0){A=+h[r>>3]*36.0e5+ +h[m>>3];v=+F(A)>=1.0?(A>0.0?~~+T(+E(A/4294967296.0),4294967295.0)>>>0:~~+R((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=D;break}if((c[q>>2]|0)==6?(G_(c[y>>2]|0,23196)|0)==0:0){A=+h[r>>3]*6.0e4+ +h[m>>3];v=+F(A)>=1.0?(A>0.0?~~+T(+E(A/4294967296.0),4294967295.0)>>>0:~~+R((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=D;break}if((c[q>>2]|0)==6?(G_(c[y>>2]|0,23203)|0)==0:0){A=+h[r>>3]*1.0e3+ +h[m>>3];v=+F(A)>=1.0?(A>0.0?~~+T(+E(A/4294967296.0),4294967295.0)>>>0:~~+R((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=D;break}if((c[q>>2]|0)==5?(G_(c[y>>2]|0,23176)|0)==0:0){Bj(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[r>>3];c[n>>2]=((c[(c[w>>2]|0)+12>>2]|0)-((c[(c[w>>2]|0)+12>>2]|0)>0?1:12)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[n>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[n>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;Aj(c[w>>2]|0);c[o>>2]=~~+h[r>>3];if(!(+(c[o>>2]|0)!=+h[r>>3]))break;A=(+h[r>>3]-+(c[o>>2]|0))*30.0*864.0e5+ +h[m>>3];v=+F(A)>=1.0?(A>0.0?~~+T(+E(A/4294967296.0),4294967295.0)>>>0:~~+R((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=D;break}if((c[q>>2]|0)==4?(G_(c[y>>2]|0,23182)|0)==0:0){c[p>>2]=~~+h[r>>3];Bj(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);a[(c[w>>2]|0)+42>>0]=0;Aj(c[w>>2]|0);if(!(+(c[p>>2]|0)!=+h[r>>3]))break;A=(+h[r>>3]-+(c[p>>2]|0))*365.0*864.0e5+ +h[m>>3];v=+F(A)>=1.0?(A>0.0?~~+T(+E(A/4294967296.0),4294967295.0)>>>0:~~+R((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=D;break}c[x>>2]=1}while(0);Ij(c[w>>2]|0);y=c[x>>2]|0;l=z;return y|0}default:{y=c[x>>2]|0;l=z;return y|0}}return 0}function Hj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+176|0;k=r+96|0;g=r+164|0;m=r+160|0;n=r+156|0;o=r+48|0;p=r;q=r+152|0;j=r+108|0;i=r+104|0;c[g>>2]=b;c[m>>2]=d;c[n>>2]=e;d=j;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[g>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));Bj(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[i>>2]=~~(+h[o+32>>3]+.5);f=+(c[i>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;f=0.0}h[o+32>>3]=f;c[o+28>>2]=0;a[o+42>>0]=0;Aj(o);i=o;i=n0(c[i>>2]|0,c[i+4>>2]|0,1e3,0)|0;i=Z$(i|0,D|0,413362496,49)|0;c[q>>2]=i;if(Mj(q,j)|0){Th(c[m>>2]|0,23230,-1);c[c[n>>2]>>2]=1;p=k;c[p>>2]=0;c[p+4>>2]=0;p=k;q=p;q=c[q>>2]|0;p=p+4|0;p=c[p>>2]|0;D=p;l=r;return q|0}else{c[p+8>>2]=(c[j+20>>2]|0)+1900;c[p+12>>2]=(c[j+16>>2]|0)+1;c[p+16>>2]=c[j+12>>2];c[p+20>>2]=c[j+8>>2];c[p+24>>2]=c[j+4>>2];h[p+32>>3]=+(c[j>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;Aj(p);c[c[n>>2]>>2]=0;q=o;q=Z$(c[p>>2]|0,c[p+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;p=k;c[p>>2]=q;c[p+4>>2]=D;p=k;q=p;q=c[q>>2]|0;p=p+4|0;p=c[p>>2]|0;D=p;l=r;return q|0}return 0}function Ij(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;l=d;return}function Jj(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;i=q+40|0;j=q+36|0;k=q+32|0;m=q+28|0;n=q+8|0;o=q;c[g>>2]=b;c[i>>2]=e;h[n>>3]=0.0;e=c[g>>2]|0;c[r>>2]=j;c[r+4>>2]=k;if((Kj(e,23210,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;l=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=m;if((Kj(r,23218,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;l=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?d[20063+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0:0){h[o>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[20063+(d[c[g>>2]>>0]|0)>>0]&4))break;h[n>>3]=+h[n>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[o>>3]=+h[o>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[n>>3]=+h[n>>3]/+h[o>>3]}}else c[m>>2]=0;a[(c[i>>2]|0)+42>>0]=0;a[(c[i>>2]|0)+41>>0]=1;c[(c[i>>2]|0)+20>>2]=c[j>>2];c[(c[i>>2]|0)+24>>2]=c[k>>2];h[(c[i>>2]|0)+32>>3]=+(c[m>>2]|0)+ +h[n>>3];if(Lj(c[g>>2]|0,c[i>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;l=q;return r|0}else{a[(c[i>>2]|0)+43>>0]=c[(c[i>>2]|0)+28>>2]|0?1:0;c[f>>2]=0;r=c[f>>2]|0;l=q;return r|0}return 0}function Kj(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t+36|0;m=t+32|0;n=t+16|0;s=t+8|0;o=t+44|0;p=t+43|0;q=t+42|0;r=t+4|0;i=t+40|0;j=t;c[k>>2]=f;c[m>>2]=g;c[s>>2]=0;c[n>>2]=h;a:while(1){a[p>>0]=(a[c[m>>2]>>0]|0)-48;a[q>>0]=(a[(c[m>>2]|0)+1>>0]|0)-48;c[r>>2]=0;b[i>>1]=b[11168+((a[(c[m>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[o>>0]=a[(c[m>>2]|0)+3>>0]|0;c[r>>2]=0;while(1){h=a[p>>0]|0;a[p>>0]=h+-1<<24>>24;if(!(h<<24>>24))break;if(!(d[20063+(d[c[k>>2]>>0]|0)>>0]&4)){f=11;break a}c[r>>2]=((c[r>>2]|0)*10|0)+(a[c[k>>2]>>0]|0)-48;c[k>>2]=(c[k>>2]|0)+1}if((c[r>>2]|0)<(a[q>>0]|0)){f=11;break}if((c[r>>2]|0)>(e[i>>1]|0)){f=11;break}if(a[o>>0]|0?(a[o>>0]|0)!=(a[c[k>>2]>>0]|0):0){f=11;break}h=c[r>>2]|0;f=(c[n>>2]|0)+(4-1)&~(4-1);g=c[f>>2]|0;c[n>>2]=f+4;c[j>>2]=g;c[c[j>>2]>>2]=h;c[k>>2]=(c[k>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+4;if(!(a[o>>0]|0)){f=11;break}}if((f|0)==11){l=t;return c[s>>2]|0}return 0}function Lj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=0;while(1){if(!(d[20063+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[m>>2]=a[c[g>>2]>>0];do if((c[m>>2]|0)==45){c[i>>2]=-1;o=11}else{if((c[m>>2]|0)==43){c[i>>2]=1;o=11;break}if((c[m>>2]|0)==90|(c[m>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[m>>2]|0)!=0&1;o=c[f>>2]|0;l=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=j;c[n+4>>2]=k;if((Kj(o,23222,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=S(c[i>>2]|0,(c[k>>2]|0)+((c[j>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;l=p;return o|0}while(0);while(1){if(!(d[20063+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;l=p;return o|0}function Mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[d>>2]=b;c[g>>2]=ie(2)|0;td(c[g>>2]|0);b=xb(c[i>>2]|0)|0;c[f>>2]=b;c[f>>2]=c[69]|0?0:b;if(c[f>>2]|0){a=c[d>>2]|0;b=c[f>>2]|0;d=a+44|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0))}ud(c[g>>2]|0);c[e>>2]=(c[f>>2]|0)==0&1;l=h;return c[e>>2]|0}function Nj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;c[h>>2]=b;c[i>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;e=c[h>>2]|0;c[f>>2]=j;c[f+4>>2]=k;c[f+8>>2]=m;if((Kj(e,23257,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;l=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[20063+(d[c[h>>2]>>0]|0)>>0]&1|0)e=1;else e=84==(d[c[h>>2]>>0]|0);b=c[h>>2]|0;if(!e)break;c[h>>2]=b+1}do if(Jj(b,c[i>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[i>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;l=o;return n|0}while(0);a[(c[i>>2]|0)+42>>0]=0;a[(c[i>>2]|0)+40>>0]=1;j=c[j>>2]|0;c[(c[i>>2]|0)+8>>2]=c[n>>2]|0?0-j|0:j;c[(c[i>>2]|0)+12>>2]=c[k>>2];c[(c[i>>2]|0)+16>>2]=c[m>>2];if(a[(c[i>>2]|0)+43>>0]|0)Aj(c[i>>2]|0);c[g>>2]=0;n=c[g>>2]|0;l=o;return n|0}function Oj(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[e>>2]=(c[(c[b>>2]|0)+12>>2]|0)+56;a=c[e>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[d>>2]=Pj(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[e>>2]|0)|0,c[d>>2]|0):0){d=c[e>>2]|0;c[d>>2]=0;c[d+4>>2]=0}e=c[e>>2]|0;D=c[e+4>>2]|0;l=f;return c[e>>2]|0}function Pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?c[(c[d>>2]|0)+72>>2]|0:0){c[f>>2]=Mb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[f>>2]|0;l=i;return g|0}c[f>>2]=Mb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,g)|0;j=+h[g>>3]*864.0e5;d=+F(j)>=1.0?(j>0.0?~~+T(+E(j/4294967296.0),4294967295.0)>>>0:~~+R((j-+(~~j>>>0))/4294967296.0)>>>0):0;g=c[e>>2]|0;c[g>>2]=~~j>>>0;c[g+4>>2]=d;g=c[f>>2]|0;l=i;return g|0}function Qj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+64|0;p=r;j=r+60|0;s=r+52|0;k=r+48|0;m=r+44|0;n=r+40|0;o=r+32|0;f=r+28|0;g=r+24|0;h=r+20|0;i=r+16|0;c[j>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[k>>2]=Rh(c[c[s>>2]>>2]|0)|0;c[m>>2]=Rh(c[(c[s>>2]|0)+4>>2]|0)|0;c[f>>2]=c[k>>2];c[g>>2]=0;c[i>>2]=Ph(c[j>>2]|0)|0;if(!(c[k>>2]|0)){l=r;return}do{if(!(a[c[f>>2]>>0]|0)){q=7;break}c[o>>2]=c[f>>2];c[o+4>>2]=c[g>>2];do{c[f>>2]=(c[f>>2]|0)+(c[g>>2]|0);c[g>>2]=Tj(c[f>>2]|0,n)|0}while((c[n>>2]|0)==162)}while((c[n>>2]|0)!=22?(c[n>>2]|0)!=125:0);if((q|0)==7){l=r;return}s=c[i>>2]|0;e=c[k>>2]|0;n=c[m>>2]|0;q=(c[o>>2]|0)+(c[o+4>>2]|0)|0;c[p>>2]=(c[o>>2]|0)-(c[k>>2]|0);c[p+4>>2]=e;c[p+8>>2]=n;c[p+12>>2]=q;c[h>>2]=Wj(s,24716,p)|0;xi(c[j>>2]|0,c[h>>2]|0,-1,191);l=r;return}function Rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+80|0;q=s;k=s+68|0;t=s+60|0;m=s+56|0;n=s+52|0;o=s+48|0;p=s+40|0;f=s+32|0;g=s+28|0;h=s+24|0;i=s+20|0;j=s+16|0;c[k>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[m>>2]=Rh(c[c[t>>2]>>2]|0)|0;c[n>>2]=Rh(c[(c[t>>2]|0)+4>>2]|0)|0;c[f>>2]=3;c[g>>2]=c[m>>2];c[h>>2]=0;c[j>>2]=Ph(c[k>>2]|0)|0;if(!(c[m>>2]|0)){l=s;return}while(1){if(!(a[c[g>>2]>>0]|0)){r=8;break}c[p>>2]=c[g>>2];c[p+4>>2]=c[h>>2];do{c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[h>>2]=Tj(c[g>>2]|0,o)|0}while((c[o>>2]|0)==162);t=(c[f>>2]|0)+1|0;c[f>>2]=t;c[f>>2]=(c[o>>2]|0)==122|(c[o>>2]|0)==107?0:t;if((c[f>>2]|0)!=2)continue;if(!((c[o>>2]|0)!=137&(c[o>>2]|0)!=74&(c[o>>2]|0)!=5))break}if((r|0)==8){l=s;return}t=c[j>>2]|0;e=c[m>>2]|0;o=c[n>>2]|0;r=(c[p>>2]|0)+(c[p+4>>2]|0)|0;c[q>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[q+4>>2]=e;c[q+8>>2]=o;c[q+12>>2]=r;c[i>>2]=Wj(t,24716,q)|0;xi(c[k>>2]|0,c[i>>2]|0,-1,191);l=s;return}function Sj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+80|0;t=u+16|0;s=u;n=u+76|0;v=u+68|0;o=u+64|0;p=u+60|0;q=u+56|0;r=u+52|0;f=u+48|0;g=u+44|0;h=u+40|0;i=u+36|0;j=u+32|0;k=u+28|0;m=u+24|0;c[n>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[o>>2]=Ph(c[n>>2]|0)|0;c[p>>2]=0;c[r>>2]=Rh(c[c[v>>2]>>2]|0)|0;c[f>>2]=Rh(c[(c[v>>2]|0)+4>>2]|0)|0;c[g>>2]=Rh(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[r>>2]|0)==0|(c[f>>2]|0)==0){l=u;return}c[h>>2]=c[r>>2];while(1){if(!(a[c[h>>2]>>0]|0))break;c[i>>2]=Tj(c[h>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0);c[i>>2]=Tj(c[h>>2]|0,j)|0}while((c[j>>2]|0)==162);if((c[j>>2]|0)==163)break;v=c[i>>2]|0;c[k>>2]=Uj(c[o>>2]|0,c[h>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[k>>2]|0))break;Vj(c[k>>2]|0);if(!(bh(c[f>>2]|0,c[k>>2]|0)|0)){v=c[o>>2]|0;b=(c[h>>2]|0)-(c[r>>2]|0)|0;d=c[r>>2]|0;e=c[g>>2]|0;c[s>>2]=c[p>>2]|0?c[p>>2]|0:55752;c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=e;c[m>>2]=Wj(v,23392,s)|0;Xd(c[o>>2]|0,c[p>>2]|0);c[p>>2]=c[m>>2];c[r>>2]=(c[h>>2]|0)+(c[i>>2]|0)}Xd(c[o>>2]|0,c[k>>2]|0)}c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0)}v=c[o>>2]|0;s=c[r>>2]|0;c[t>>2]=c[p>>2]|0?c[p>>2]|0:55752;c[t+4>>2]=s;c[q>>2]=Wj(v,23403,t)|0;xi(c[n>>2]|0,c[q>>2]|0,-1,191);Xd(c[o>>2]|0,c[p>>2]|0);l=u;return}function Tj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+24|0;m=o+20|0;f=o+16|0;j=o+12|0;k=o+8|0;g=o+4|0;h=o;c[m>>2]=b;c[f>>2]=e;a:do switch(d[23408+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[j>>2]=1;while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&1))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=162;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[f>>2]>>2]=48;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}c[j>>2]=2;while(1){i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!(i|0?(c[k>>2]|0)!=10:0))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=162;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}case 17:{c[c[f>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 18:{c[c[f>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 19:{c[c[f>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 20:{c[c[f>>2]>>2]=47;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 21:{c[c[f>>2]>>2]=49;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?d[(c[m>>2]|0)+2>>0]|0:0){c[j>>2]=3;c[k>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[k>>2]|0)==42?(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==47:0)break;i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!i)break;c[j>>2]=(c[j>>2]|0)+1}if(c[k>>2]|0)c[j>>2]=(c[j>>2]|0)+1;c[c[f>>2]>>2]=162;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}c[c[f>>2]>>2]=50;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 22:{c[c[f>>2]>>2]=51;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 14:{c[c[f>>2]>>2]=37;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;l=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[k>>2]=m;if((m|0)==61){c[c[f>>2]>>2]=39;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}if((c[k>>2]|0)==62){c[c[f>>2]>>2]=36;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}b=c[f>>2]|0;if((c[k>>2]|0)==60){c[b>>2]=45;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=40;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[k>>2]=m;if((m|0)==61){c[c[f>>2]>>2]=41;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}b=c[f>>2]|0;if((c[k>>2]|0)==62){c[b>>2]=46;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=38;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}}case 15:{b=c[f>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[b>>2]=163;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=36;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}}case 10:{b=c[f>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[b>>2]=44;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=52;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}}case 23:{c[c[f>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 24:{c[c[f>>2]>>2]=43;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 25:{c[c[f>>2]>>2]=54;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 8:{c[g>>2]=d[c[m>>2]>>0];c[j>>2]=1;while(1){i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!i)break;if((c[k>>2]|0)==(c[g>>2]|0)){if((d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=(c[g>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==39){c[c[f>>2]>>2]=97;c[n>>2]=(c[j>>2]|0)+1;n=c[n>>2]|0;l=o;return n|0}b=c[f>>2]|0;if(c[k>>2]|0){c[b>>2]=55;c[n>>2]=(c[j>>2]|0)+1;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=163;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}}case 26:{if(d[20063+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4|0)i=64;else{c[c[f>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}break}case 3:{i=64;break}case 9:{c[j>>2]=1;c[k>>2]=d[c[m>>2]>>0];while(1){if((c[k>>2]|0)==93)break;i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!i)break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=(c[k>>2]|0)==93?55:163;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}case 6:{c[c[f>>2]>>2]=135;c[j>>2]=1;while(1){b=c[j>>2]|0;if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=b+1}c[n>>2]=b;n=c[n>>2]|0;l=o;return n|0}case 5:case 4:{c[h>>2]=0;c[c[f>>2]>>2]=135;c[j>>2]=1;while(1){g=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=g;if(!g)break;if(d[20063+(c[k>>2]&255)>>0]&70|0)c[h>>2]=(c[h>>2]|0)+1;else{if((c[k>>2]|0)==40&(c[h>>2]|0)>0){i=107;break}if((c[k>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=58)break;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}do if((i|0)==107){while(1){c[j>>2]=(c[j>>2]|0)+1;i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!i)break;if((c[k>>2]|0)!=41?(d[20063+(c[k>>2]&255)>>0]&1|0)==0:0)i=107;else break}if((c[k>>2]|0)==41){c[j>>2]=(c[j>>2]|0)+1;break}else{c[c[f>>2]>>2]=163;break}}while(0);if(!(c[h>>2]|0))c[c[f>>2]>>2]=163;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}case 1:{c[j>>2]=1;while(1){if((d[23408+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]|0)>1)break;c[j>>2]=(c[j>>2]|0)+1}if(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70|0){c[j>>2]=(c[j>>2]|0)+1;break a}c[c[f>>2]>>2]=55;c[n>>2]=Yj(c[m>>2]|0,c[j>>2]|0,c[f>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[f>>2]>>2]=133;c[j>>2]=2;while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;c[j>>2]=(c[j>>2]|0)+1}if(!((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==39?!((c[j>>2]|0)%2|0|0):0))i=131;b:do if((i|0)==131){c[c[f>>2]>>2]=163;while(1){if(!(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==39)break b;c[j>>2]=(c[j>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}else i=138;break}case 2:{i=138;break}default:{c[c[f>>2]>>2]=163;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}}while(0);if((i|0)==64){c[c[f>>2]>>2]=134;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[20063+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8|0){c[j>>2]=3;while(1){b=c[j>>2]|0;if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;c[j>>2]=b+1}c[n>>2]=b;n=c[n>>2]|0;l=o;return n|0}}while(0);c[j>>2]=0;while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==46){c[j>>2]=(c[j>>2]|0)+1;while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=132}if(!((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)!=69:0))i=82;do if((i|0)==82){if(!(d[20063+(d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[20063+(d[(c[m>>2]|0)+((c[j>>2]|0)+2)>>0]|0)>>0]&4))break}c[j>>2]=(c[j>>2]|0)+2;while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=132}while(0);while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70))break;c[c[f>>2]>>2]=163;c[j>>2]=(c[j>>2]|0)+1}c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}else if((i|0)==138)c[j>>2]=1;while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=55;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}function Uj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m;k=m+8|0;c[h>>2]=b;c[i>>2]=d;d=j;c[d>>2]=e;c[d+4>>2]=f;if(!(c[i>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}f=c[h>>2]|0;h=j;h=_$(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[k>>2]=Ed(f,h,D)|0;if(c[k>>2]|0){h0(c[k>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;a[(c[k>>2]|0)+(c[j>>2]|0)>>0]=0}c[g>>2]=c[k>>2];k=c[g>>2]|0;l=m;return k|0}function Vj(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;f=j+8|0;g=j+12|0;h=j+4|0;i=j;c[f>>2]=b;if(!(c[f>>2]|0)){l=j;return}a[g>>0]=a[c[f>>2]>>0]|0;if(!(d[20063+(d[g>>0]|0)>>0]&128)){l=j;return}if((a[g>>0]|0)==91)a[g>>0]=93;c[h>>2]=1;c[i>>2]=0;while(1){b=c[f>>2]|0;e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)==(a[g>>0]|0)){if((a[b+(e+1)>>0]|0)!=(a[g>>0]|0))break;k=a[g>>0]|0;b=c[f>>2]|0;e=c[i>>2]|0;c[i>>2]=e+1;a[b+e>>0]=k;c[h>>2]=(c[h>>2]|0)+1}else{b=a[b+e>>0]|0;e=c[f>>2]|0;k=c[i>>2]|0;c[i>>2]=k+1;a[e+k>>0]=b}c[h>>2]=(c[h>>2]|0)+1}a[(c[f>>2]|0)+(c[i>>2]|0)>>0]=0;l=j;return}function Wj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+32|0;i=f+28|0;h=f+24|0;g=f+8|0;e=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Xj(c[i>>2]|0,c[h>>2]|0,g)|0;l=f;return c[e>>2]|0}function Xj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+128|0;g=i+40|0;m=i+36|0;k=i+32|0;h=i+28|0;j=i;c[g>>2]=b;c[m>>2]=e;c[k>>2]=f;zd(j,c[g>>2]|0,i+44|0,70,c[(c[g>>2]|0)+96>>2]|0);a[j+25>>0]=1;Ad(j,c[m>>2]|0,c[k>>2]|0);c[h>>2]=Bd(j)|0;if((d[j+24>>0]|0|0)!=1){m=c[h>>2]|0;l=i;return m|0}Od(c[g>>2]|0);m=c[h>>2]|0;l=i;return m|0}function Yj(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[i>>2]=f;c[j>>2]=g;if((c[i>>2]|0)<2){o=c[i>>2]|0;l=p;return o|0}c[k>>2]=(d[20458+(d[c[h>>2]>>0]|0)>>0]<<2^(d[20458+(d[(c[h>>2]|0)+((c[i>>2]|0)-1)>>0]|0)>>0]|0)*3^c[i>>2]|0)%127|0;c[k>>2]=(d[23664+(c[k>>2]|0)>>0]|0)-1;while(1){if((c[k>>2]|0)<0){o=13;break}if((d[23791+(c[k>>2]|0)>>0]|0)==(c[i>>2]|0)){c[m>>2]=0;c[n>>2]=23915+(e[11180+(c[k>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[i>>2]|0))f=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else f=0;b=c[m>>2]|0;if(!f)break;c[m>>2]=b+1}if((b|0)>=(c[i>>2]|0))break}c[k>>2]=(d[24592+(c[k>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[i>>2]|0;l=p;return o|0}c[c[j>>2]>>2]=d[24468+(c[k>>2]|0)>>0];o=c[i>>2]|0;l=p;return o|0}function Zj(){return 4068}function _j(){return 4032}function $j(){return 0}function ak(){return 0}function bk(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 8}function ck(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return}function dk(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return}function ek(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function fk(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return}function gk(){return 0}function hk(){return 0}function ik(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;switch(c[b>>2]|0){case 1:{c[d>>2]=Xg(28,0)|0;if(c[d>>2]|0){nb(e|0)|0;db(e|0,1)|0;Da(c[d>>2]|0,e|0)|0;Pa(e|0)|0}break}case 0:{c[d>>2]=Xg(28,0)|0;if(c[d>>2]|0)Da(c[d>>2]|0,0)|0;break}default:c[d>>2]=54808+(((c[b>>2]|0)-2|0)*28|0)}l=f;return c[d>>2]|0}function jk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;cb(c[d>>2]|0)|0;_d(c[d>>2]|0);l=b;return}function kk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;$$(c[d>>2]|0)|0;l=b;return}function lk(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;if(!(d0(c[e>>2]|0)|0))c[b>>2]=0;else c[b>>2]=5;l=d;return c[b>>2]|0}function mk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;g0(c[d>>2]|0)|0;l=b;return}function nk(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+12|0;j=m;k=m+8|0;c[h>>2]=a;c[i>>2]=b;b=j;c[b>>2]=f;c[b+4>>2]=g;c[k>>2]=0;if(d[(c[h>>2]|0)+69>>0]|0|0){k=c[k>>2]|0;l=m;return k|0}if(Zd(c[h>>2]|0,c[i>>2]|0)|0){c[k>>2]=Ed(c[h>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;if(!(c[k>>2]|0)){k=c[k>>2]|0;l=m;return k|0}h0(c[k>>2]|0,c[i>>2]|0,e[(c[h>>2]|0)+256+4>>1]|0|0)|0;Xd(c[h>>2]|0,c[i>>2]|0);k=c[k>>2]|0;l=m;return k|0}else{c[k>>2]=ee(c[i>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;if(c[k>>2]|0){k=c[k>>2]|0;l=m;return k|0}Od(c[h>>2]|0);k=c[k>>2]|0;l=m;return k|0}return 0}function ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=be(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){l=h;return}h0((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;f=(c[e>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)+(c[g>>2]|0);l=h;return}function pk(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)el(c[e>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=f;return}function qk(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function rk(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)bl(c[e>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=f;return}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}al(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Xd(c[d>>2]|0,c[c[e>>2]>>2]|0);Xd(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);Ok(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Tk(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Xd(c[d>>2]|0,c[e>>2]|0);l=f;return}function tk(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){l=h;return}if(!(c[e>>2]|0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))g=4;if((g|0)==4?(d=(c[f>>2]|0)+36|0,g=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=g,(g&65535|0)>0):0){l=h;return}Ek(c[e>>2]|0,c[f>>2]|0);l=h;return}function uk(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+16|0;i=k+12|0;f=k+8|0;g=k+4|0;j=k;c[h>>2]=a;c[i>>2]=d;vk(c[(c[i>>2]|0)+100>>2]|0,e[(c[i>>2]|0)+140>>1]<<1);c[f>>2]=c[(c[i>>2]|0)+200>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+20>>2];wk(c[h>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0);Xd(c[h>>2]|0,c[f>>2]|0);c[f>>2]=c[g>>2]}if((c[(c[i>>2]|0)+20>>2]|0)!=381479589){vk(c[(c[i>>2]|0)+116>>2]|0,b[(c[i>>2]|0)+16>>1]|0);c[j>>2]=(b[(c[i>>2]|0)+18>>1]|0)-1;while(1){a=c[h>>2]|0;d=c[(c[i>>2]|0)+120>>2]|0;if((c[j>>2]|0)<0)break;Xd(a,c[d+(c[j>>2]<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}Xd(a,d);Xd(c[h>>2]|0,c[(c[i>>2]|0)+180>>2]|0)}wk(c[h>>2]|0,c[(c[i>>2]|0)+88>>2]|0,c[(c[i>>2]|0)+136>>2]|0);Xd(c[h>>2]|0,c[(c[i>>2]|0)+100>>2]|0);Xd(c[h>>2]|0,c[(c[i>>2]|0)+176>>2]|0);l=k;return}function vk(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+12|0;f=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){l=j;return}c[h>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[i>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[i>>2]|0)+456>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Xd(c[i>>2]|0,c[(c[g>>2]|0)+20>>2]|0);f=(c[g>>2]|0)+40|0;c[g>>2]=f}while(f>>>0<(c[h>>2]|0)>>>0);l=j;return}do{a=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312|0)){if(c[a+24>>2]|0){Xd(c[i>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else ei(a);b[(c[g>>2]|0)+8>>1]=128;f=(c[g>>2]|0)+40|0;c[g>>2]=f}while(f>>>0<(c[h>>2]|0)>>>0);l=j;return}function wk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){h=c[f>>2]|0;i=c[g>>2]|0;Xd(h,i);l=j;return}c[i>>2]=c[g>>2];while(1){if((c[i>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[i>>2]|0)+1>>0]|0)xk(c[f>>2]|0,a[(c[i>>2]|0)+1>>0]|0,c[(c[i>>2]|0)+16>>2]|0);c[i>>2]=(c[i>>2]|0)+20}h=c[f>>2]|0;i=c[g>>2]|0;Xd(h,i);l=j;return}function xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;a:do switch(c[h>>2]|0){case -21:{yk(c[e>>2]|0,c[f>>2]|0);break}case -15:case -1:case -13:case -12:{Xd(c[e>>2]|0,c[f>>2]|0);break}case -6:{if(!(c[(c[e>>2]|0)+456>>2]|0))zk(c[f>>2]|0);break}case -11:{if(!(c[(c[e>>2]|0)+456>>2]|0))_d(c[f>>2]|0);break}case -5:{Ak(c[e>>2]|0,c[f>>2]|0);break}case -8:if(!(c[(c[e>>2]|0)+456>>2]|0)){Bk(c[f>>2]|0);break a}else{Ck(c[e>>2]|0,c[f>>2]|0);break a}case -10:{if(!(c[(c[e>>2]|0)+456>>2]|0))Dk(c[f>>2]|0);break}default:{}}while(0);l=g;return}function yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Ak(c[f>>2]|0,c[(c[e>>2]|0)+4>>2]|0);Xd(c[f>>2]|0,c[e>>2]|0);l=d;return}function zk(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){l=d;return}Xd(c[(c[b>>2]|0)+12>>2]|0,c[b>>2]|0);l=d;return}function Ak(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){l=g;return}Xd(c[d>>2]|0,c[f>>2]|0);l=g;return}function Bk(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}ei(c[b>>2]|0);Xd(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);l=d;return}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[e>>2]|0)+24>>2]|0)Xd(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0);Xd(c[d>>2]|0,c[e>>2]|0);l=f;return}function Dk(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){l=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)Hb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Xd(c[d>>2]|0,c[b>>2]|0);l=f;return}function Ek(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))j=5;if((j|0)==5?(j=0,((d[(c[f>>2]|0)+42>>0]|0)&16|0)==0):0){c[i>>2]=c[c[g>>2]>>2];Fk((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[i>>2]|0,0)|0}Gk(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}Hk(c[e>>2]|0,c[f>>2]|0);Ik(c[e>>2]|0,c[f>>2]|0);Xd(c[e>>2]|0,c[c[f>>2]>>2]|0);Xd(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Jk(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);Kk(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Lk(c[e>>2]|0,c[f>>2]|0);Xd(c[e>>2]|0,c[f>>2]|0);l=k;return}function Fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+28|0;k=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;m=n+4|0;e=n;c[k>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=Wk(c[k>>2]|0,c[f>>2]|0,h)|0;if(c[i>>2]|0){c[e>>2]=c[(c[i>>2]|0)+8>>2];if(!(c[g>>2]|0))Xk(c[k>>2]|0,c[i>>2]|0,c[h>>2]|0);else{c[(c[i>>2]|0)+8>>2]=c[g>>2];c[(c[i>>2]|0)+12>>2]=c[f>>2]}c[j>>2]=c[e>>2];m=c[j>>2]|0;l=n;return m|0}if(!(c[g>>2]|0)){c[j>>2]=0;m=c[j>>2]|0;l=n;return m|0}c[m>>2]=Fd(16,0)|0;if(!(c[m>>2]|0)){c[j>>2]=c[g>>2];m=c[j>>2]|0;l=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[f>>2];c[(c[m>>2]|0)+8>>2]=c[g>>2];i=(c[k>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1;if(((c[(c[k>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[k>>2]|0)+4>>2]|0)>>>0>c[c[k>>2]>>2]<<1>>>0:0)?Yk(c[k>>2]|0,c[(c[k>>2]|0)+4>>2]<<1)|0:0){i=Zk(c[f>>2]|0)|0;c[h>>2]=(i>>>0)%((c[c[k>>2]>>2]|0)>>>0)|0}if(c[(c[k>>2]|0)+12>>2]|0)a=(c[(c[k>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else a=0;_k(c[k>>2]|0,a,c[m>>2]|0);c[j>>2]=0;m=c[j>>2]|0;l=n;return m|0}function Gk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;Vk(c[e>>2]|0,c[f>>2]|0);Ok(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);Kk(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Xd(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){e=c[e>>2]|0;f=c[f>>2]|0;Xd(e,f);l=g;return}Xd(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);e=c[e>>2]|0;f=c[f>>2]|0;Xd(e,f);l=g;return}function Hk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[f>>2]|0))break;if(!(c[d>>2]|0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){a=c[(c[f>>2]|0)+12>>2]|0;if(c[(c[f>>2]|0)+16>>2]|0)c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]=a;else{c[h>>2]=a;a=c[f>>2]|0;if(c[h>>2]|0)a=c[a+12>>2]|0;c[i>>2]=c[a+8>>2];Fk((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[i>>2]|0,c[h>>2]|0)|0}if(c[(c[f>>2]|0)+12>>2]|0)c[(c[(c[f>>2]|0)+12>>2]|0)+16>>2]=c[(c[f>>2]|0)+16>>2]}Uk(c[d>>2]|0,c[(c[f>>2]|0)+28>>2]|0);Uk(c[d>>2]|0,c[(c[f>>2]|0)+28+4>>2]|0);c[g>>2]=c[(c[f>>2]|0)+4>>2];Xd(c[d>>2]|0,c[f>>2]|0);c[f>>2]=c[g>>2]}l=j;return}function Ik(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){l=i;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Xd(a,c[c[h>>2]>>2]|0);Ok(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Xd(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}Xd(a,c[(c[f>>2]|0)+4>>2]|0);l=i;return}function Jk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}Qk(c[d>>2]|0,c[e>>2]|0,1);l=f;return}function Kk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}Nk(c[d>>2]|0,c[e>>2]|0);l=f;return}function Lk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0))Mk(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){l=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Xd(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Xd(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);l=g;return}function Mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[c[g>>2]>>2];c[i>>2]=c[(c[g>>2]|0)+24>>2];if((c[h>>2]|0)==(c[d>>2]|0)){c[f>>2]=c[g>>2];c[(c[e>>2]|0)+56>>2]=c[f>>2];c[(c[f>>2]|0)+24>>2]=0}else{c[(c[g>>2]|0)+24>>2]=c[(c[h>>2]|0)+344>>2];c[(c[h>>2]|0)+344>>2]=c[g>>2]}c[g>>2]=c[i>>2]}l=j;return c[f>>2]|0}function Nk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;Ok(a,c[c[g>>2]>>2]|0);Xd(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Xd(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Xd(a,c[(c[e>>2]|0)+4>>2]|0);Xd(c[d>>2]|0,c[e>>2]|0);l=h;return}function Ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}Pk(c[d>>2]|0,c[e>>2]|0);l=f;return}function Pk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(c[(c[f>>2]|0)+4>>2]&8404992)){if(c[(c[f>>2]|0)+12>>2]|0?(d[c[f>>2]>>0]|0|0)!=159:0)Pk(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);Ok(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);a=c[e>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048|0){Jk(a,c[b>>2]|0);break}else{Kk(a,c[b>>2]|0);break}}while(0);if(c[(c[f>>2]|0)+4>>2]&65536|0)Xd(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0);if(c[(c[f>>2]|0)+4>>2]&32768|0){l=g;return}Xd(c[e>>2]|0,c[f>>2]|0);l=g;return}function Qk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+48>>2];Kk(c[e>>2]|0,c[c[f>>2]>>2]|0);Rk(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);Ok(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);Kk(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);Ok(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Kk(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);Ok(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);Ok(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);if(c[(c[f>>2]|0)+64>>2]|0)Sk(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);if(c[g>>2]|0)Xd(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}l=i;return}function Rk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){l=i;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Xd(a,c[(c[h>>2]|0)+4>>2]|0);Xd(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Xd(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)Xd(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1|0)Kk(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);tk(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);Jk(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);Ok(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);Tk(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Xd(a,c[f>>2]|0);l=i;return}function Sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);Kk(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Jk(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Xd(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Xd(c[d>>2]|0,c[e>>2]|0);l=h;return} +function PR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;k=o+36|0;g=o;m=o+32|0;n=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;e=o+12|0;f=o+8|0;c[k>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[m>>2]=0;if(c[(c[k>>2]|0)+36>>2]|0){n=c[m>>2]|0;l=o;return n|0}c[n>>2]=0;if(c[(c[k>>2]|0)+40>>2]|0){c[h>>2]=c[(c[k>>2]|0)+40>>2];c[(c[k>>2]|0)+40>>2]=0;d=g;c[n>>2]=IJ(c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;c[(c[k>>2]|0)+40>>2]=c[h>>2];if(c[n>>2]|0)WR(c[k>>2]|0);if((c[n>>2]|0)==4)c[n>>2]=0}if((c[n>>2]|0)==0?(c[(c[k>>2]|0)+40>>2]|0)==0:0){c[i>>2]=c[c[k>>2]>>2];h=g;c[n>>2]=xJ(c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+4>>2]|0,45300,c[h>>2]|0,c[h+4>>2]|0,0,(c[k>>2]|0)+40|0)|0}if((c[n>>2]|0)==1)c[n>>2]=267;do if(!(c[n>>2]|0)){c[j>>2]=0;c[e>>2]=HJ(c[(c[k>>2]|0)+40>>2]|0)|0;c[f>>2]=12+(c[e>>2]|0)+20;c[m>>2]=pe(c[f>>2]|0)|0;if(c[m>>2]|0){c[(c[m>>2]|0)+4>>2]=c[e>>2];i=(c[m>>2]|0)+12|0;c[c[m>>2]>>2]=i;c[j>>2]=i}else c[n>>2]=7;if(!(c[n>>2]|0))c[n>>2]=BJ(c[(c[k>>2]|0)+40>>2]|0,c[j>>2]|0,c[e>>2]|0,0)|0;a=c[m>>2]|0;if(c[n>>2]|0){_d(a);c[m>>2]=0;break}else{j=(QR((c[a>>2]|0)+2|0)|0)&65535;c[(c[m>>2]|0)+8>>2]=j;break}}while(0);c[(c[k>>2]|0)+36>>2]=c[n>>2];n=(c[k>>2]|0)+64|0;c[n>>2]=(c[n>>2]|0)+1;n=c[m>>2]|0;l=o;return n|0}function QR(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (((d[c[b>>2]>>0]|0)&65535)<<8)+(d[(c[b>>2]|0)+1>>0]|0)&65535|0}function RR(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[i>>2]=d[c[g>>2]>>0];if(!(c[i>>2]&128)){k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=1;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&127;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=2;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);e=(c[i>>2]&128|0)!=0;c[i>>2]=c[i>>2]&2080895;if(!e){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=3;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;b=c[i>>2]|0;if(!e){c[i>>2]=b<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=4;k=a[f>>0]|0;l=m;return k|0}c[k>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);if(!(c[i>>2]&128)){c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>18;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=5;k=a[f>>0]|0;l=m;return k|0}c[k>>2]=c[k>>2]<<7;c[k>>2]=c[k>>2]|c[j>>2];c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&2080895;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>18;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=6;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);b=c[i>>2]|0;if(!(c[i>>2]&128)){c[i>>2]=b&-266354561;c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>11;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=7;k=a[f>>0]|0;l=m;return k|0}c[i>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(c[j>>2]&128|0){c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<15;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<8;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=c[k>>2]<<4;c[j>>2]=d[(c[g>>2]|0)+-4>>0];c[j>>2]=c[j>>2]&127;c[j>>2]=(c[j>>2]|0)>>>3;c[k>>2]=c[k>>2]|c[j>>2];j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=9;k=a[f>>0]|0;l=m;return k|0}else{c[j>>2]=c[j>>2]&-266354561;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>4;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=8;k=a[f>>0]|0;l=m;return k|0}return 0}function SR(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;i=s+48|0;j=s+44|0;k=s+40|0;m=s+36|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s;e=s+20|0;f=s+16|0;g=s+12|0;h=s+8|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=c[(c[c[i>>2]>>2]|0)+48>>2];c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[j>>2]|0)+20>>2];c[o>>2]=c[c[(c[j>>2]|0)+12>>2]>>2];c[p>>2]=0;if((c[m>>2]|0)>(c[(c[j>>2]|0)+40>>2]|0))c[m>>2]=c[(c[j>>2]|0)+40>>2];while(1){b=q;c[b>>2]=0;c[b+4>>2]=0;if((c[k>>2]|0)==1){if((((c[n>>2]|0)<(c[m>>2]|0)?(d[(c[o>>2]|0)+(c[n>>2]|0)>>0]|0|0)==0:0)?(c[n>>2]=(c[n>>2]|0)+1,(c[n>>2]|0)<(c[m>>2]|0)):0)?(d[(c[o>>2]|0)+(c[n>>2]|0)>>0]|0|0)==0:0)c[n>>2]=(c[n>>2]|0)+1}else{b=TR((c[o>>2]|0)+(c[n>>2]|0)|0,e,f)|0;c[n>>2]=(c[n>>2]|0)+b;c[n>>2]=(c[n>>2]|0)+(c[e>>2]|0)}if((c[n>>2]|0)>=(c[m>>2]|0)){r=16;break}a=(RR((c[o>>2]|0)+(c[n>>2]|0)|0,q)|0)&255;c[n>>2]=(c[n>>2]|0)+a;a=q;b=(c[j>>2]|0)+72|0;t=b;a=_$(c[t>>2]|0,c[t+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=a;c[b+4>>2]=D;if((c[p>>2]|0)>=(c[(c[j>>2]|0)+48>>2]|0)){c[g>>2]=(c[(c[j>>2]|0)+48>>2]|0)+8;c[h>>2]=Xf(c[(c[j>>2]|0)+52>>2]|0,c[g>>2]<<2)|0;if(!(c[h>>2]|0))break;c[(c[j>>2]|0)+52>>2]=c[h>>2];c[(c[j>>2]|0)+48>>2]=c[g>>2]}a=c[(c[j>>2]|0)+20>>2]|0;b=c[(c[j>>2]|0)+52>>2]|0;t=c[p>>2]|0;c[p>>2]=t+1;c[b+(t<<2)>>2]=a;c[(c[j>>2]|0)+20>>2]=c[n>>2]}if((r|0)==16){t=c[p>>2]|0;r=c[j>>2]|0;r=r+44|0;c[r>>2]=t;r=c[i>>2]|0;t=c[j>>2]|0;UR(r,t);l=s;return}c[(c[i>>2]|0)+36>>2]=7;t=c[p>>2]|0;r=c[j>>2]|0;r=r+44|0;c[r>>2]=t;r=c[i>>2]|0;t=c[j>>2]|0;UR(r,t);l=s;return}function TR(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;b=c[f>>2]|0;e=c[j>>2]|0;c[j>>2]=e+1;c[i>>2]=d[b+e>>0];if(c[i>>2]&128|0){c[j>>2]=(c[j>>2]|0)+-1;f=VR((c[f>>2]|0)+(c[j>>2]|0)|0,i)|0;c[j>>2]=(c[j>>2]|0)+f}c[c[g>>2]>>2]=(c[i>>2]|0)/2|0;c[c[h>>2]>>2]=c[i>>2]&1;l=k;return c[j>>2]|0}function UR(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=e;if(c[(c[f>>2]|0)+36>>2]|0){l=k;return}c[i>>2]=c[(c[h>>2]|0)+20>>2];e=c[h>>2]|0;do if((c[(c[c[f>>2]>>2]|0)+48>>2]|0)==1){b=c[h>>2]|0;if((c[e+40>>2]|0)<(c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0))b=c[b+40>>2]|0;else b=c[(c[b+12>>2]|0)+8>>2]|0;c[j>>2]=b;a[(c[h>>2]|0)+84>>0]=0;c[(c[h>>2]|0)+80>>2]=1;if((c[i>>2]|0)<(c[j>>2]|0)?(d[(c[c[(c[h>>2]|0)+12>>2]>>2]|0)+(c[i>>2]|0)>>0]|0|0)==0:0){a[(c[h>>2]|0)+84>>0]=1;c[i>>2]=(c[i>>2]|0)+1;if((c[i>>2]|0)<(c[j>>2]|0)?(d[(c[c[(c[h>>2]|0)+12>>2]>>2]|0)+(c[i>>2]|0)>>0]|0|0)==0:0){c[(c[h>>2]|0)+80>>2]=1;c[i>>2]=(c[i>>2]|0)+1;break}c[(c[h>>2]|0)+80>>2]=0}}else{f=c[c[e+12>>2]>>2]|0;j=c[i>>2]|0;c[i>>2]=j+1;c[g>>2]=d[f+j>>0];if(c[g>>2]&128|0){c[i>>2]=(c[i>>2]|0)+-1;j=VR((c[c[(c[h>>2]|0)+12>>2]>>2]|0)+(c[i>>2]|0)|0,g)|0;c[i>>2]=(c[i>>2]|0)+j}a[(c[h>>2]|0)+84>>0]=c[g>>2]&1;c[(c[h>>2]|0)+80>>2]=c[g>>2]>>1}while(0);c[(c[h>>2]|0)+20>>2]=c[i>>2];l=k;return}function VR(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n;m=n+28|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=d[c[g>>2]>>0];if(!(c[i>>2]&128)){c[c[h>>2]>>2]=c[i>>2];c[f>>2]=1;m=c[f>>2]|0;l=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&127;c[i>>2]=c[i>>2]<<7;c[c[h>>2]>>2]=c[i>>2]|c[j>>2];c[f>>2]=2;m=c[f>>2]|0;l=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);if(c[i>>2]&128|0){c[g>>2]=(c[g>>2]|0)+-2;a[m>>0]=RR(c[g>>2]|0,k)|0;c[c[h>>2]>>2]=c[k>>2];c[f>>2]=d[m>>0];m=c[f>>2]|0;l=n;return m|0}else{c[i>>2]=c[i>>2]&2080895;c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[i>>2]|c[j>>2];c[f>>2]=3;m=c[f>>2]|0;l=n;return m|0}return 0}function WR(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+40>>2]|0)){l=e;return}c[d>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;AJ(c[d>>2]|0)|0;l=e;return}function XR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[f>>2]|0)+8+(c[g>>2]<<5);if(((YR(c[h>>2]|0)|0?((c[g>>2]|0)+1|0)<(c[c[f>>2]>>2]|0):0)?(XR(c[e>>2]|0,c[f>>2]|0,(c[g>>2]|0)+1|0)|0,(c[(c[h>>2]|0)+32+8>>2]|0)==0):0)?(AR(c[c[h>>2]>>2]|0),a=c[h>>2]|0,c[a>>2]=0,c[a+4>>2]=0,c[a+8>>2]=0,c[a+12>>2]=0,c[a+16>>2]=0,c[a+20>>2]=0,c[a+24>>2]=0,c[a+28>>2]=0,e=c[e>>2]|0,a=c[(c[f>>2]|0)+4>>2]|0,a=j0(a|0,((a|0)<0)<<31>>31|0,37)|0,a=_$(a|0,D|0,0,16)|0,b=D,d=c[g>>2]|0,d=j0(d|0,((d|0)<0)<<31>>31|0,31)|0,d=_$(a|0,b|0,d|0,D|0)|0,g=c[(c[h>>2]|0)+32+16>>2]|0,g=_$(d|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0,g=PR(e,g,D)|0,c[c[h>>2]>>2]=g,c[c[h>>2]>>2]|0):0){do{}while(!(ZR(c[h>>2]|0)|0));c[(c[h>>2]|0)+8>>2]=0}l=i;return c[(c[f>>2]|0)+8+8>>2]|0}function YR(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;b=n+36|0;e=n+32|0;f=n+28|0;g=n;h=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;if((c[e>>2]|0)<=(c[(c[b>>2]|0)+12>>2]|0)){c[a+8>>2]=1;m=c[b>>2]|0;m=m+8|0;m=c[m>>2]|0;l=n;return m|0}c[f>>2]=c[c[a>>2]>>2];c[j>>2]=0;c[h>>2]=(c[e>>2]|0)>9?(c[e>>2]|0)-9|0:0;c[e>>2]=(c[e>>2]|0)+-1;while(1){if((c[e>>2]|0)<=(c[h>>2]|0))break;if(!((d[(c[f>>2]|0)+((c[e>>2]|0)-1)>>0]|0)&128))break;c[e>>2]=(c[e>>2]|0)+-1}RR((c[f>>2]|0)+(c[e>>2]|0)|0,g)|0;h=(c[b>>2]|0)+24|0;a=h;g=Z$(c[a>>2]|0,c[a+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=D;h=(c[b>>2]|0)+16|0;c[h>>2]=(c[h>>2]|0)+-1;c[i>>2]=(c[e>>2]|0)-1;while(1){if((c[i>>2]|0)<(c[(c[b>>2]|0)+12>>2]|0))break;if(d[(c[f>>2]|0)+(c[i>>2]|0)>>0]|0|0)break;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+-1}if((c[i>>2]|0)>=(c[(c[b>>2]|0)+12>>2]|0)?(d[(c[f>>2]|0)+(c[i>>2]|0)>>0]|0)&128|0:0){c[k>>2]=0;if(((c[i>>2]|0)-8|0)>=(c[(c[b>>2]|0)+12>>2]|0)){c[m>>2]=1;while(1){if((c[m>>2]|0)>8)break;if(!((d[(c[f>>2]|0)+((c[i>>2]|0)-(c[m>>2]|0))>>0]|0)&128))break;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[m>>2]|0)>8&1}if(!(c[k>>2]|0))c[j>>2]=(c[j>>2]|0)+-1}m=(c[b>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-(c[j>>2]|0);c[(c[b>>2]|0)+4>>2]=(c[e>>2]|0)-(c[j>>2]|0);m=c[b>>2]|0;m=m+8|0;m=c[m>>2]|0;l=n;return m|0}function ZR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];b=(c[d>>2]|0)+4|0;if(!(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=1;g=VR((c[c[e>>2]>>2]|0)+1|0,(c[d>>2]|0)+16|0)|0;f=(c[d>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+g;f=(RR((c[c[e>>2]>>2]|0)+(c[(c[d>>2]|0)+4>>2]|0)|0,(c[d>>2]|0)+24|0)|0)&255;g=(c[d>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+f;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+4>>2];g=c[d>>2]|0;g=g+8|0;g=c[g>>2]|0;l=h;return g|0}c[f>>2]=c[b>>2];while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;if(a[(c[c[e>>2]>>2]|0)+(c[f>>2]|0)>>0]|0)break;c[f>>2]=(c[f>>2]|0)+1}if((c[f>>2]|0)<(c[(c[e>>2]|0)+4>>2]|0)){b=(c[d>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+((c[f>>2]|0)-(c[(c[d>>2]|0)+4>>2]|0)+1);e=(RR((c[c[e>>2]>>2]|0)+(c[f>>2]|0)|0,g)|0)&255;c[f>>2]=(c[f>>2]|0)+e;e=g;g=(c[d>>2]|0)+24|0;b=g;e=_$(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[g>>2]=e;c[g+4>>2]=D;c[(c[d>>2]|0)+4>>2]=c[f>>2];g=c[d>>2]|0;g=g+8|0;g=c[g>>2]|0;l=h;return g|0}else{c[(c[d>>2]|0)+8>>2]=1;g=c[d>>2]|0;g=g+8|0;g=c[g>>2]|0;l=h;return g|0}return 0}function _R(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;c[f>>2]=b;c[e>>2]=c[c[f>>2]>>2];AR(c[(c[f>>2]|0)+12>>2]|0);a=(c[f>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1;a=c[f>>2]|0;if(c[(c[f>>2]|0)+16>>2]|0){c[(c[f>>2]|0)+12>>2]=c[a+16>>2];c[(c[f>>2]|0)+16>>2]=0}else{if((c[a+8>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){b=c[d>>2]|0;e=c[c[e>>2]>>2]|0;e=j0(e|0,((e|0)<0)<<31>>31|0,37)|0;e=_$(e|0,D|0,0,0)|0;e=_$(e|0,D|0,0,0)|0;a=c[(c[f>>2]|0)+8>>2]|0;a=_$(e|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;a=$R(b,a,D)|0;b=c[f>>2]|0}else{a=0;b=c[f>>2]|0}c[b+12>>2]=a}c[g>>2]=c[(c[f>>2]|0)+12>>2];if(!(c[g>>2]|0)){l=h;return}c[(c[f>>2]|0)+36>>2]=c[(c[g>>2]|0)+8>>2];a=c[g>>2]|0;if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[(c[f>>2]|0)+40>>2]=(c[a+4>>2]|0)+1;l=h;return}else{e=VR((c[a>>2]|0)+(c[(c[f>>2]|0)+36>>2]|0)|0,(c[f>>2]|0)+40|0)|0;g=(c[f>>2]|0)+36|0;c[g>>2]=(c[g>>2]|0)+e;l=h;return}}function $R(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;d=h;c[f>>2]=PR(c[e>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;l=g;return h|0}if((c[(c[f>>2]|0)+8>>2]|0)<=(c[(c[f>>2]|0)+4>>2]|0)){h=c[f>>2]|0;l=g;return h|0}c[(c[e>>2]|0)+36>>2]=267;AR(c[f>>2]|0);c[f>>2]=0;h=c[f>>2]|0;l=g;return h|0}function aS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[f>>2]|0)+8+(c[g>>2]<<5);if(((ZR(c[h>>2]|0)|0?((c[g>>2]|0)+1|0)<(c[c[f>>2]>>2]|0):0)?(aS(c[e>>2]|0,c[f>>2]|0,(c[g>>2]|0)+1|0)|0,(c[(c[h>>2]|0)+32+8>>2]|0)==0):0)?(AR(c[c[h>>2]>>2]|0),a=c[h>>2]|0,c[a>>2]=0,c[a+4>>2]=0,c[a+8>>2]=0,c[a+12>>2]=0,c[a+16>>2]=0,c[a+20>>2]=0,c[a+24>>2]=0,c[a+28>>2]=0,e=c[e>>2]|0,a=c[(c[f>>2]|0)+4>>2]|0,a=j0(a|0,((a|0)<0)<<31>>31|0,37)|0,a=_$(a|0,D|0,0,16)|0,b=D,d=c[g>>2]|0,d=j0(d|0,((d|0)<0)<<31>>31|0,31)|0,d=_$(a|0,b|0,d|0,D|0)|0,g=c[(c[h>>2]|0)+32+16>>2]|0,g=_$(d|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0,g=PR(e,g,D)|0,c[c[h>>2]>>2]=g,c[c[h>>2]>>2]|0):0)ZR(c[h>>2]|0)|0;l=i;return c[(c[f>>2]|0)+8+8>>2]|0}function bS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(((c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]|0)|0)>>>0>(c[(c[g>>2]|0)+8>>2]|0)>>>0?cS(c[f>>2]|0,c[g>>2]|0,(c[h>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0)|0:0){l=j;return}h0((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[i>>2]|0,c[h>>2]|0)|0;i=(c[g>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+(c[h>>2]|0);l=j;return}function cS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[(c[g>>2]|0)+8>>2]|0)>>>0<(c[h>>2]|0)>>>0){if(c[(c[g>>2]|0)+8>>2]|0)a=c[(c[g>>2]|0)+8>>2]|0;else a=64;c[i>>2]=a;while(1){if((c[i>>2]|0)>>>0>=(c[h>>2]|0)>>>0)break;c[i>>2]=c[i>>2]<<1}c[j>>2]=Xf(c[c[g>>2]>>2]|0,c[i>>2]|0)|0;if(c[j>>2]|0){c[(c[g>>2]|0)+8>>2]=c[i>>2];c[c[g>>2]>>2]=c[j>>2];break}c[c[f>>2]>>2]=7;c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}while(0);c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function dS(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+8|0;g=f+4|0;d=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=(c[h>>2]|0)+80+((e[(c[(c[h>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);c[c[g>>2]>>2]=c[(c[d>>2]|0)+60+4>>2];l=f;return c[(c[d>>2]|0)+60>>2]|0}function eS(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+48|0;c[a>>2]=0;c[a+4>>2]=0;mS(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;_d(c[(c[d>>2]|0)+24>>2]|0);c[(c[d>>2]|0)+20>>2]=-1;c[(c[d>>2]|0)+24>>2]=0;l=b;return}function fS(b,d,f,g,h,i){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;u=y+60|0;v=y+56|0;w=y+52|0;x=y+48|0;j=y+44|0;k=y+40|0;m=y+36|0;n=y+32|0;o=y+20|0;p=y+16|0;q=y+12|0;r=y+8|0;s=y+4|0;t=y;c[u>>2]=b;c[v>>2]=d;c[w>>2]=f;c[x>>2]=g;c[j>>2]=h;c[k>>2]=i;c[m>>2]=c[c[u>>2]>>2];c[n>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;if(cS((c[u>>2]|0)+36|0,o,(c[w>>2]|0)+1|0)|0){x=c[u>>2]|0;x=BR(x)|0;l=y;return x|0}c[p>>2]=0;h0((c[o>>2]|0)+1|0,c[v>>2]|0,c[w>>2]|0)|0;a:do if(c[x>>2]&1|0){c[q>>2]=gS(c[v>>2]|0,c[w>>2]|0)|0;c[p>>2]=1;while(1){if((c[p>>2]|0)>(c[(c[m>>2]|0)+24>>2]|0))break a;if((c[(c[(c[m>>2]|0)+28>>2]|0)+((c[p>>2]|0)-1<<2)>>2]|0)==(c[q>>2]|0))break a;c[p>>2]=(c[p>>2]|0)+1}}while(0);if((c[p>>2]|0)<=(c[(c[m>>2]|0)+24>>2]|0)){c[r>>2]=hS(c[u>>2]|0)|0;a[c[o>>2]>>0]=48+(c[p>>2]|0);if(c[r>>2]|0){iS(c[u>>2]|0,c[r>>2]|0,c[x>>2]|16,c[j>>2]|0,c[o>>2]|0,(c[w>>2]|0)+1|0,-1,0,n);jS(c[r>>2]|0)}}else{c[s>>2]=(c[x>>2]&2|0)!=0&1;a[c[o>>2]>>0]=48;kS(c[u>>2]|0,c[s>>2]|0,c[o>>2]|0,(c[w>>2]|0)+1|0,c[j>>2]|0,n);lS((c[u>>2]|0)+36|0,c[n>>2]|0);if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[t>>2]=(c[n>>2]|0)+80+((e[(c[(c[n>>2]|0)+72>>2]|0)+4>>1]|0)*88|0),c[(c[t>>2]|0)+12>>2]|0):0)Fb[c[(c[n>>2]|0)+48>>2]&255](c[n>>2]|0,c[t>>2]|0)}if(c[(c[u>>2]|0)+36>>2]|0){mS(c[n>>2]|0);c[n>>2]=0;WR(c[u>>2]|0)}c[c[k>>2]>>2]=c[n>>2];nS(o);x=c[u>>2]|0;x=BR(x)|0;l=y;return x|0}function gS(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break;b=c[f>>2]|0;e=c[i>>2]|0;c[i>>2]=e+1;a:do if((d[b+e>>0]|0)>=192)while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break a;if((a[(c[f>>2]|0)+(c[i>>2]|0)>>0]&192|0)!=128)break a;c[i>>2]=(c[i>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}l=j;return c[h>>2]|0}function hS(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[(c[d>>2]|0)+80>>2]|0)==0?(f=AT(c[d>>2]|0)|0,a=(c[d>>2]|0)+72|0,c[a>>2]=f,c[a+4>>2]=D,(c[(c[d>>2]|0)+36>>2]|0)==0):0){f=BT(c[d>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=f}if(c[(c[d>>2]|0)+36>>2]|0){c[b>>2]=0;f=c[b>>2]|0;l=e;return f|0}else{jT(c[(c[d>>2]|0)+80>>2]|0);c[b>>2]=c[(c[d>>2]|0)+80>>2];f=c[b>>2]|0;l=e;return f|0}return 0}function iS(b,f,g,h,i,j,k,m,n){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+96|0;I=J+80|0;q=J+76|0;u=J+72|0;p=J+68|0;v=J+64|0;w=J+60|0;r=J+56|0;o=J+52|0;C=J+48|0;s=J+44|0;D=J+40|0;x=J+36|0;y=J+32|0;E=J+28|0;z=J+24|0;t=J+20|0;A=J+16|0;B=J+12|0;F=J+8|0;G=J+4|0;H=J;c[I>>2]=b;c[q>>2]=f;c[u>>2]=g;c[p>>2]=h;c[v>>2]=i;c[w>>2]=j;c[r>>2]=k;c[o>>2]=m;c[C>>2]=n;c[s>>2]=0;c[D>>2]=0;do if(!(c[(c[I>>2]|0)+36>>2]|0)){b=c[q>>2]|0;if((c[r>>2]|0)<0){c[s>>2]=c[b+16>>2];c[s>>2]=(c[s>>2]|0)+(c[(c[I>>2]|0)+12>>2]|0?1:0);break}if((c[b+24+((c[r>>2]|0)*12|0)+4>>2]|0)<(c[o>>2]|0))b=c[(c[q>>2]|0)+24+((c[r>>2]|0)*12|0)+4>>2]|0;else b=c[o>>2]|0;c[s>>2]=b}while(0);o=RS(c[I>>2]|0,c[s>>2]|0)|0;c[E>>2]=o;c[c[C>>2]>>2]=o;if(!(c[E>>2]|0)){l=J;return}c[(c[E>>2]|0)+56>>2]=0!=(c[u>>2]&2|0)&1;a[(c[E>>2]|0)+60>>0]=0!=(c[u>>2]&16|0);c[(c[E>>2]|0)+28>>2]=c[q>>2];c[(c[E>>2]|0)+44>>2]=c[p>>2];jT(c[q>>2]|0);if(!(c[u>>2]&32))lS((c[I>>2]|0)+36|0,c[E>>2]|0);a:do if(!(c[(c[I>>2]|0)+36>>2]|0)){b=(c[q>>2]|0)+24|0;if((c[r>>2]|0)>=0){c[y>>2]=b+((c[r>>2]|0)*12|0);c[x>>2]=(c[s>>2]|0)-1;while(1){if((c[x>>2]|0)<0)break a;w=c[I>>2]|0;z=(c[(c[y>>2]|0)+8>>2]|0)+((c[x>>2]|0)*12|0)|0;A=(c[E>>2]|0)+80|0;B=c[D>>2]|0;c[D>>2]=B+1;lT(w,z,A+(B*88|0)|0);c[x>>2]=(c[x>>2]|0)+-1}}c[z>>2]=b+((c[(c[q>>2]|0)+20>>2]|0)*12|0);if(c[(c[I>>2]|0)+12>>2]|0){r=(c[E>>2]|0)+80|0;s=c[D>>2]|0;c[D>>2]=s+1;c[t>>2]=r+(s*88|0);kT(c[I>>2]|0,c[v>>2]|0,c[w>>2]|0,c[u>>2]|0,c[t>>2]|0)}c[y>>2]=(c[q>>2]|0)+24;while(1){if((c[y>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break a;c[x>>2]=(c[(c[y>>2]|0)+4>>2]|0)-1;while(1){b=c[y>>2]|0;if((c[x>>2]|0)<0)break;c[A>>2]=(c[b+8>>2]|0)+((c[x>>2]|0)*12|0);t=(c[E>>2]|0)+80|0;b=c[D>>2]|0;c[D>>2]=b+1;c[B>>2]=t+(b*88|0);b=c[I>>2]|0;if(!(c[v>>2]|0))lT(b,c[A>>2]|0,c[B>>2]|0);else mT(b,c[v>>2]|0,c[w>>2]|0,c[u>>2]|0,c[A>>2]|0,c[B>>2]|0);c[x>>2]=(c[x>>2]|0)+-1}c[y>>2]=b+12}}while(0);b=c[E>>2]|0;if(c[(c[I>>2]|0)+36>>2]|0){oS(b);c[c[C>>2]>>2]=0;l=J;return}c[D>>2]=(c[b+52>>2]|0)-1;while(1){b=c[E>>2]|0;if((c[D>>2]|0)<=0)break;C=GR(b,c[D>>2]|0)|0;c[F>>2]=C;if(C|0){c[G>>2]=(c[E>>2]|0)+80+((c[F>>2]|0)*88|0);if(!(c[(c[I>>2]|0)+36>>2]|0))Ib[c[(c[G>>2]|0)+24>>2]&255](c[I>>2]|0,c[G>>2]|0,0);ER(c[I>>2]|0,c[E>>2]|0,c[F>>2]|0,c[D>>2]|0)}c[D>>2]=(c[D>>2]|0)+-1}FR(b);if(d[(c[E>>2]|0)+60>>0]|0|0?cT(c[I>>2]|0,c[E>>2]|0)|0:0){zR(c[I>>2]|0,c[E>>2]|0,0,0,0);l=J;return}if(d[(c[E>>2]|0)+16>>0]|0|0){l=J;return}c[H>>2]=(c[E>>2]|0)+80+((e[(c[(c[E>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);Fb[c[(c[E>>2]|0)+48>>2]&255](c[E>>2]|0,c[H>>2]|0);l=J;return}function jS(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}f=c[b>>2]|0;a=(c[f>>2]|0)+-1|0;c[f>>2]=a;if(0<(a|0)){l=e;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;_d(c[a+24+((c[d>>2]|0)*12|0)+8>>2]|0);c[d>>2]=(c[d>>2]|0)+1}_d(a);l=e;return}function kS(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+96|0;y=C+92|0;z=C+88|0;A=C+84|0;B=C+80|0;i=C+76|0;j=C+72|0;k=C+68|0;m=C+64|0;n=C+56|0;o=C+52|0;p=C+44|0;q=C;r=C+40|0;s=C+36|0;t=C+24|0;u=C+20|0;v=C+16|0;w=C+12|0;x=C+8|0;c[y>>2]=a;c[z>>2]=b;c[A>>2]=d;c[B>>2]=f;c[i>>2]=g;c[j>>2]=h;c[C+60>>2]=32;if((c[(c[c[y>>2]>>2]|0)+48>>2]|0)==1){c[n>>2]=238;c[o>>2]=133}else{c[n>>2]=239;c[o>>2]=134}c[m>>2]=MS(c[y>>2]|0,384)|0;c[k>>2]=hS(c[y>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[k>>2]|0)!=0)){B=c[k>>2]|0;jS(B);B=c[m>>2]|0;_d(B);l=C;return}c[C+48>>2]=56;h=q;c[h>>2]=0;c[h+4>>2]=0;c[r>>2]=0;c[u>>2]=1;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;iS(c[y>>2]|0,c[k>>2]|0,56,c[i>>2]|0,c[A>>2]|0,c[B>>2]|0,-1,0,r);lS((c[y>>2]|0)+36|0,c[r>>2]|0);while(1){if(NS(c[y>>2]|0,c[r>>2]|0)|0)break;c[v>>2]=(c[r>>2]|0)+80+((e[(c[(c[r>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);c[w>>2]=c[(c[v>>2]|0)+60+4>>2];c[x>>2]=c[(c[v>>2]|0)+60>>2];Fb[c[(c[r>>2]|0)+48>>2]&255](c[r>>2]|0,c[v>>2]|0);if(c[u>>2]|0){if((c[w>>2]|0)<(c[B>>2]|0))break;if(H_(c[A>>2]|0,c[x>>2]|0,c[B>>2]|0)|0)break}if(c[(c[r>>2]|0)+12>>2]|0){g=c[r>>2]|0;d=c[g+4>>2]|0;h=q;f=c[h+4>>2]|0;if((d|0)<(f|0)|((d|0)==(f|0)?(c[g>>2]|0)>>>0<=(c[h>>2]|0)>>>0:0)?(c[t+4>>2]|0)>0:0){c[p>>2]=0;while(1){if(c[(c[y>>2]|0)+36>>2]|0)break;if(!(c[t+4>>2]|0))break;if(!(c[(c[m>>2]|0)+((c[p>>2]|0)*12|0)+4>>2]|0)){OS(t,(c[m>>2]|0)+((c[p>>2]|0)*12|0)|0);xS(t)}else{Ib[c[n>>2]&255](c[y>>2]|0,t,(c[m>>2]|0)+((c[p>>2]|0)*12|0)|0);xS((c[m>>2]|0)+((c[p>>2]|0)*12|0)|0)}c[p>>2]=(c[p>>2]|0)+1}h=q;c[h>>2]=0;c[h+4>>2]=0}h=c[o>>2]|0;g=c[y>>2]|0;d=c[r>>2]|0;f=q;f=Z$(c[d>>2]|0,c[d+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;Cb[h&255](g,f,D,c[r>>2]|0,t);f=c[r>>2]|0;g=c[f+4>>2]|0;h=q;c[h>>2]=c[f>>2];c[h+4>>2]=g}PS(c[y>>2]|0,c[r>>2]|0,u)}c[p>>2]=0;while(1){if((c[p>>2]|0)>=32)break;if(!(c[(c[y>>2]|0)+36>>2]|0))Ib[c[n>>2]&255](c[y>>2]|0,t,(c[m>>2]|0)+((c[p>>2]|0)*12|0)|0);nS((c[m>>2]|0)+((c[p>>2]|0)*12|0)|0);c[p>>2]=(c[p>>2]|0)+1}oS(c[r>>2]|0);c[s>>2]=MS(c[y>>2]|0,12+(c[t+4>>2]|0)|0)|0;if(c[s>>2]|0){c[c[s>>2]>>2]=(c[s>>2]|0)+12;B=c[t+4>>2]|0;c[(c[s>>2]|0)+8>>2]=B;c[(c[s>>2]|0)+4>>2]=B;h0(c[c[s>>2]>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;QS(c[y>>2]|0,c[s>>2]|0,c[z>>2]|0,c[j>>2]|0)}nS(t);B=c[k>>2]|0;jS(B);B=c[m>>2]|0;_d(B);l=C;return}function lS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){l=g;return}c[f>>2]=c[c[(c[e>>2]|0)+24>>2]>>2];a=c[e>>2]|0;if((c[(c[f>>2]|0)+48>>2]|0)==1){c[a+48>>2]=134;l=g;return}b=c[e>>2]|0;if(!(c[a+44>>2]|0)){c[b+48>>2]=135;l=g;return}if(!(c[c[b+44>>2]>>2]|0)){c[(c[e>>2]|0)+48>>2]=136;l=g;return}if(!(c[(c[f>>2]|0)+48>>2]|0)){c[(c[e>>2]|0)+48>>2]=137;l=g;return}a=(c[e>>2]|0)+48|0;if((c[(c[f>>2]|0)+12>>2]|0)<=100){c[a>>2]=138;cS(c[d>>2]|0,(c[e>>2]|0)+32|0,c[(c[f>>2]|0)+12>>2]|0)|0;l=g;return}else{c[a>>2]=139;l=g;return}}function mS(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){l=f;return}c[d>>2]=c[b>>2];c[e>>2]=c[(c[d>>2]|0)+24>>2];oS(c[d>>2]|0);WR(c[e>>2]|0);l=f;return}function nS(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[c[d>>2]>>2]|0);a=c[d>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;l=b;return}function oS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+52>>2]|0))break;pS(a+80+((c[d>>2]|0)*88|0)|0);c[d>>2]=(c[d>>2]|0)+1}jS(c[a+28>>2]|0);nS((c[b>>2]|0)+32|0);_d(c[b>>2]|0);l=e;return}function pS(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;nS((c[b>>2]|0)+60|0);AR(c[(c[b>>2]|0)+12>>2]|0);AR(c[(c[b>>2]|0)+16>>2]|0);qS(c[(c[b>>2]|0)+56>>2]|0);_d(c[(c[b>>2]|0)+52>>2]|0);a=c[b>>2]|0;b=a+88|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return}function qS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;AR(c[a+8+(c[d>>2]<<5)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}_d(a);l=e;return}function rS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;g=(c[f>>2]|0)+72|0;a=c[g+4>>2]|0;b=c[e>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=a;c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+80>>2];l=d;return}function sS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;g=(c[e>>2]|0)+72|0;a=c[g+4>>2]|0;b=c[d>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=a;c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+80>>2];if(((c[(c[e>>2]|0)+20>>2]|0)+(c[(c[e>>2]|0)+80>>2]|0)|0)<=(c[(c[(c[e>>2]|0)+12>>2]|0)+8>>2]|0)){e=(c[c[(c[e>>2]|0)+12>>2]>>2]|0)+(c[(c[e>>2]|0)+20>>2]|0)|0;g=c[d>>2]|0;g=g+8|0;c[g>>2]=e;l=f;return}else{xS((c[d>>2]|0)+32|0);yS(c[(c[d>>2]|0)+24>>2]|0,c[e>>2]|0,0,(c[d>>2]|0)+32|0);e=c[(c[d>>2]|0)+32>>2]|0;g=c[d>>2]|0;g=g+8|0;c[g>>2]=e;l=f;return}}function tS(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;c[(c[e>>2]|0)+12>>2]=0;l=d;return}function uS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+44>>2];i=(c[e>>2]|0)+72|0;a=c[i+4>>2]|0;b=c[d>>2]|0;c[b>>2]=c[i>>2];c[b+4>>2]=a;if(((c[(c[e>>2]|0)+20>>2]|0)+(c[(c[e>>2]|0)+80>>2]|0)|0)>(c[(c[(c[e>>2]|0)+12>>2]|0)+8>>2]|0)){xS((c[d>>2]|0)+32|0);yS(c[(c[d>>2]|0)+24>>2]|0,c[e>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0);c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+32>>2];c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32+4>>2];l=h;return}c[g>>2]=(c[c[(c[e>>2]|0)+12>>2]>>2]|0)+(c[(c[e>>2]|0)+20>>2]|0);if((c[c[f>>2]>>2]|0)==1){i=GS(g,c[(c[e>>2]|0)+80>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;c[(c[d>>2]|0)+12>>2]=i;c[(c[d>>2]|0)+8>>2]=c[g>>2];l=h;return}else{xS((c[d>>2]|0)+32|0);HS(c[f>>2]|0,c[g>>2]|0,c[(c[e>>2]|0)+80>>2]|0,(c[d>>2]|0)+32|0)|0;c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+32>>2];c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32+4>>2];l=h;return}}function vS(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;h=p+32|0;f=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;g=p;c[h>>2]=b;c[f>>2]=e;if(((c[(c[f>>2]|0)+20>>2]|0)+(c[(c[f>>2]|0)+80>>2]|0)|0)>(c[(c[(c[f>>2]|0)+12>>2]|0)+8>>2]|0)){wS(c[h>>2]|0,c[f>>2]|0);l=p;return}c[i>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)+(c[(c[f>>2]|0)+20>>2]|0);c[j>>2]=(c[i>>2]|0)+(c[(c[f>>2]|0)+80>>2]|0);c[k>>2]=0;c[m>>2]=(c[(c[h>>2]|0)+44>>2]|0)+4;c[n>>2]=(c[m>>2]|0)+(c[c[(c[h>>2]|0)+44>>2]>>2]<<2);c[o>>2]=c[(c[h>>2]|0)+32>>2];c[g>>2]=0;b=(c[f>>2]|0)+72|0;e=c[b+4>>2]|0;f=c[h>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;a:while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;f=c[i>>2]|0;c[i>>2]=f+1;c[k>>2]=(c[k>>2]|0)+((d[f>>0]|0)-2);while(1){b=c[m>>2]|0;if((c[c[m>>2]>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=b+4;if((c[m>>2]|0)==(c[n>>2]|0))break a}if((c[b>>2]|0)!=(c[k>>2]|0))continue;e=(c[k>>2]|0)-(c[g>>2]|0)+2&255;f=c[o>>2]|0;c[o>>2]=f+1;a[f>>0]=e;c[g>>2]=c[k>>2]}c[(c[h>>2]|0)+8>>2]=c[(c[h>>2]|0)+32>>2];c[(c[h>>2]|0)+12>>2]=(c[o>>2]|0)-(c[(c[h>>2]|0)+32>>2]|0);l=p;return}function wS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;xS((c[e>>2]|0)+32|0);yS(c[(c[e>>2]|0)+24>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0,(c[e>>2]|0)+32|0);f=(c[f>>2]|0)+72|0;a=c[f+4>>2]|0;b=c[e>>2]|0;c[b>>2]=c[f>>2];c[b+4>>2]=a;c[(c[e>>2]|0)+8>>2]=c[(c[e>>2]|0)+32>>2];c[(c[e>>2]|0)+12>>2]=c[(c[e>>2]|0)+32+4>>2];l=d;return}function xS(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+4>>2]=0;l=b;return}function yS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;f=m+40|0;g=m+36|0;h=m+32|0;i=m+28|0;j=m+16|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(((c[(c[i>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+80>>2]|0)|0)>>>0<=(c[(c[i>>2]|0)+8>>2]|0)>>>0)a=0;else a=cS((c[f>>2]|0)+36|0,c[i>>2]|0,(c[(c[g>>2]|0)+80>>2]|0)+(c[(c[i>>2]|0)+4>>2]|0)|0)|0;if(a){l=m;return}a=c[f>>2]|0;if(!(c[h>>2]|0)){AS(a,c[g>>2]|0,c[i>>2]|0,136);l=m;return}if(!(c[(c[a>>2]|0)+48>>2]|0)){c[j>>2]=c[i>>2];c[j+4>>2]=c[h>>2];c[j+8>>2]=BS(c[h>>2]|0,0)|0;AS(c[f>>2]|0,c[g>>2]|0,j,137);l=m;return}else{c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k>>2]=c[i>>2];c[k+4>>2]=c[h>>2];AS(c[f>>2]|0,c[g>>2]|0,k,138);l=m;return}}function zS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[i+12>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if((c[h>>2]|0)<=0){l=i;return}h0((c[c[f>>2]>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0)|0,c[g>>2]|0,c[h>>2]|0)|0;g=(c[f>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);l=i;return}function AS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+36|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;f=q+12|0;g=q+8|0;h=q+4|0;i=q;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=c[(c[k>>2]|0)+80>>2];c[p>>2]=0;c[f>>2]=(c[c[(c[k>>2]|0)+12>>2]>>2]|0)+(c[(c[k>>2]|0)+20>>2]|0);if((c[o>>2]|0)<((c[(c[(c[k>>2]|0)+12>>2]|0)+8>>2]|0)-(c[(c[k>>2]|0)+20>>2]|0)|0))a=c[o>>2]|0;else a=(c[(c[(c[k>>2]|0)+12>>2]|0)+8>>2]|0)-(c[(c[k>>2]|0)+20>>2]|0)|0;c[g>>2]=a;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[i>>2]=0;if(!(c[(c[k>>2]|0)+4>>2]&2))c[i>>2]=(c[h>>2]|0)+1;while(1){Ob[c[n>>2]&255](c[j>>2]|0,c[m>>2]|0,c[f>>2]|0,c[g>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[g>>2]|0);AR(c[p>>2]|0);if((c[o>>2]|0)<=0){a=13;break}c[h>>2]=(c[h>>2]|0)+1;d=c[j>>2]|0;b=c[c[c[k>>2]>>2]>>2]|0;b=j0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=_$(b|0,D|0,0,0)|0;b=_$(b|0,D|0,0,0)|0;e=c[h>>2]|0;e=_$(b|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;c[p>>2]=PR(d,e,D)|0;if(!(c[p>>2]|0)){a=13;break}c[f>>2]=(c[c[p>>2]>>2]|0)+4;if((c[o>>2]|0)<((c[(c[p>>2]|0)+8>>2]|0)-4|0))a=c[o>>2]|0;else a=(c[(c[p>>2]|0)+8>>2]|0)-4|0;c[g>>2]=a;if((c[h>>2]|0)!=(c[i>>2]|0))continue;c[(c[k>>2]|0)+16>>2]=c[p>>2];c[p>>2]=0}if((a|0)==13){l=q;return}}function BS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){a=6;break}if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){a=4;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==4){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==6){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function CS(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;p=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;h=o+8|0;g=o+4|0;i=o;c[o+32>>2]=a;c[p>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=c[p>>2];if((c[k>>2]|0)<=0){l=o;return}c[n>>2]=0;c[h>>2]=0;do if((c[(c[m>>2]|0)+8>>2]|0)==2){f=c[j>>2]|0;p=c[n>>2]|0;c[n>>2]=p+1;c[g>>2]=d[f+p>>0];if(c[g>>2]&128|0){c[n>>2]=(c[n>>2]|0)+-1;p=VR((c[j>>2]|0)+(c[n>>2]|0)|0,g)|0;c[n>>2]=(c[n>>2]|0)+p}p=(BS(c[(c[m>>2]|0)+4>>2]|0,c[g>>2]|0)|0)!=0;a=(c[m>>2]|0)+8|0;if(p){c[a>>2]=1;f=ES((c[c[c[m>>2]>>2]>>2]|0)+(c[(c[c[m>>2]>>2]|0)+4>>2]|0)|0,1,0)|0;p=(c[c[m>>2]>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+f;break}else{c[a>>2]=0;break}}while(0);while(1){a:while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;if((d[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0|0)==1)break;while(1){p=((d[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0)&128|0)!=0;c[n>>2]=(c[n>>2]|0)+1;if(!p)continue a}}if(c[(c[m>>2]|0)+8>>2]|0){h0((c[c[c[m>>2]>>2]>>2]|0)+(c[(c[c[m>>2]>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[h>>2]|0)|0,(c[n>>2]|0)-(c[h>>2]|0)|0)|0;p=(c[c[m>>2]>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+((c[n>>2]|0)-(c[h>>2]|0))}do if((c[n>>2]|0)<(c[k>>2]|0)){c[h>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+1;if((c[n>>2]|0)>=(c[k>>2]|0)){c[(c[m>>2]|0)+8>>2]=2;break}f=c[j>>2]|0;p=c[n>>2]|0;c[n>>2]=p+1;c[i>>2]=d[f+p>>0];if(c[i>>2]&128|0){c[n>>2]=(c[n>>2]|0)+-1;p=VR((c[j>>2]|0)+(c[n>>2]|0)|0,i)|0;c[n>>2]=(c[n>>2]|0)+p}p=BS(c[(c[m>>2]|0)+4>>2]|0,c[i>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=p;if(c[(c[m>>2]|0)+8>>2]|0){h0((c[c[c[m>>2]>>2]>>2]|0)+(c[(c[c[m>>2]>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[h>>2]|0)|0,(c[n>>2]|0)-(c[h>>2]|0)|0)|0;p=(c[c[m>>2]>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+((c[n>>2]|0)-(c[h>>2]|0));c[h>>2]=c[n>>2]}}while(0);if((c[n>>2]|0)>=(c[k>>2]|0))break}l=o;return}function DS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+20|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;f=k;c[k+24>>2]=a;c[m>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[m>>2];if((c[h>>2]|0)<=0){l=k;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;m=VR((c[g>>2]|0)+(c[j>>2]|0)|0,f)|0;c[j>>2]=(c[j>>2]|0)+m;c[f>>2]=(c[f>>2]|0)+((c[(c[i>>2]|0)+8>>2]|0)-2);c[(c[i>>2]|0)+8>>2]=c[f>>2];if(!(BS(c[(c[i>>2]|0)+4>>2]|0,c[f>>2]|0)|0))continue;e=(c[f>>2]|0)+2-(c[(c[i>>2]|0)+12>>2]|0)|0;e=ES((c[c[c[i>>2]>>2]>>2]|0)+(c[(c[c[i>>2]>>2]|0)+4>>2]|0)|0,e,((e|0)<0)<<31>>31)|0;m=(c[c[i>>2]>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+e;c[(c[i>>2]|0)+12>>2]=c[f>>2]}l=k;return}function ES(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;h=i;c[g>>2]=b;j=h;c[j>>2]=d;c[j+4>>2]=e;e=h;j=c[e+4>>2]|0;d=h;b=c[d>>2]|0;d=c[d+4>>2]|0;if(j>>>0<0|(j|0)==0&(c[e>>2]|0)>>>0<=127){a[c[g>>2]>>0]=b&127;c[f>>2]=1;j=c[f>>2]|0;l=i;return j|0}if(d>>>0<0|(d|0)==0&b>>>0<=16383){j=h;j=f0(c[j>>2]|0,c[j+4>>2]|0,7)|0;a[c[g>>2]>>0]=j&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;j=c[f>>2]|0;l=i;return j|0}else{j=h;c[f>>2]=FS(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[f>>2]|0;l=i;return j|0}return 0}function FS(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;g=o+24|0;h=o+20|0;i=o;j=o+16|0;k=o+12|0;m=o+8|0;n=o+28|0;c[h>>2]=b;b=i;c[b>>2]=e;c[b+4>>2]=f;if(0?1:(c[i+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[i>>2];m=i;m=f0(c[m>>2]|0,c[m+4>>2]|0,8)|0;n=i;c[n>>2]=m;c[n+4>>2]=D;c[j>>2]=7;while(1){if((c[j>>2]|0)<0)break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=c[i>>2]&127|128;m=i;m=f0(c[m>>2]|0,c[m+4>>2]|0,7)|0;n=i;c[n>>2]=m;c[n+4>>2]=D;c[j>>2]=(c[j>>2]|0)+-1}c[g>>2]=9;n=c[g>>2]|0;l=o;return n|0}c[m>>2]=0;do{f=(c[i>>2]&127|128)&255;e=c[m>>2]|0;c[m>>2]=e+1;a[n+e>>0]=f;e=i;e=f0(c[e>>2]|0,c[e+4>>2]|0,7)|0;f=i;c[f>>2]=e;c[f+4>>2]=D;f=i}while((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0);a[n>>0]=(d[n>>0]|0)&127;c[j>>2]=0;c[k>>2]=(c[m>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[n+(c[k>>2]|0)>>0]|0;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1}c[g>>2]=c[m>>2];n=c[g>>2]|0;l=o;return n|0}function GS(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;o=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[o>>2]=b;c[h>>2]=e;c[i>>2]=0;c[j>>2]=c[c[g>>2]>>2];c[k>>2]=(c[j>>2]|0)+(c[o>>2]|0);a:while(1){if((c[h>>2]|0)<=(c[i>>2]|0))break;while(1){if((d[c[j>>2]>>0]|0|0)==1)break;do{o=c[j>>2]|0;c[j>>2]=o+1}while(((d[o>>0]|0)&128|0)!=0);if((c[j>>2]|0)>>>0>=(c[k>>2]|0)>>>0){m=6;break a}}o=c[j>>2]|0;c[j>>2]=o+1;c[c[g>>2]>>2]=o;o=c[j>>2]|0;c[j>>2]=o+1;c[i>>2]=d[o>>0];if(!(c[i>>2]&128))continue;c[j>>2]=(c[j>>2]|0)+-1;o=VR(c[j>>2]|0,i)|0;c[j>>2]=(c[j>>2]|0)+o}if((m|0)==6){c[f>>2]=0;o=c[f>>2]|0;l=n;return o|0}if((c[h>>2]|0)!=(c[i>>2]|0)){c[f>>2]=0;o=c[f>>2]|0;l=n;return o|0}b:while(1){if((c[j>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;if((d[c[j>>2]>>0]|0|0)==1)break;while(1){o=c[j>>2]|0;c[j>>2]=o+1;if(!((d[o>>0]|0)&128))continue b}}c[f>>2]=(c[j>>2]|0)-(c[c[g>>2]>>2]|0);o=c[f>>2]|0;l=n;return o|0}function HS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;f=o+4|0;g=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0;xS(c[k>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[h>>2]>>2]|0))break;c[f>>2]=c[i>>2];c[g>>2]=GS(f,c[j>>2]|0,c[(c[h>>2]|0)+4+(c[n>>2]<<2)>>2]|0)|0;if(c[g>>2]|0)bS(m,c[k>>2]|0,c[g>>2]|0,c[f>>2]|0);c[n>>2]=(c[n>>2]|0)+1}l=o;return c[m>>2]|0}function IS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+64|0;o=n+52|0;g=n+48|0;h=n+44|0;i=n+40|0;j=n+36|0;k=n+16|0;m=n+8|0;e=n;f=n+24|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=0;c[j>>2]=0;d=k;c[d>>2]=0;c[d+4>>2]=0;d=m;c[d>>2]=0;c[d+4>>2]=0;d=e;c[d>>2]=0;c[d+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;cS((c[o>>2]|0)+36|0,f,(c[(c[g>>2]|0)+4>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0)|0)|0;if(c[(c[o>>2]|0)+36>>2]|0){l=n;return}iT(c[g>>2]|0,i,k);iT(c[h>>2]|0,j,m);a:while(1){if(!((c[i>>2]|0)>=0?1:(c[j>>2]|0)>=0))break;do if((c[i>>2]|0)>=0){if((c[j>>2]|0)>=0?(d=k,a=c[d+4>>2]|0,o=m,b=c[o+4>>2]|0,!((a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[o>>2]|0)>>>0:0))):0)break;b=(c[f>>2]|0)+(c[f+4>>2]|0)|0;o=k;d=e;d=Z$(c[o>>2]|0,c[o+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=ES(b,d,D)|0;b=f+4|0;c[b>>2]=(c[b>>2]|0)+d;b=k;d=c[b+4>>2]|0;o=e;c[o>>2]=c[b>>2];c[o+4>>2]=d;iT(c[g>>2]|0,i,k);continue a}while(0);b=(c[f>>2]|0)+(c[f+4>>2]|0)|0;o=m;d=e;d=Z$(c[o>>2]|0,c[o+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=ES(b,d,D)|0;b=f+4|0;c[b>>2]=(c[b>>2]|0)+d;b=m;d=c[b+4>>2]|0;o=e;c[o>>2]=c[b>>2];c[o+4>>2]=d;if((c[i>>2]|0)>=0?(d=k,o=m,(c[d>>2]|0)==(c[o>>2]|0)?(c[d+4>>2]|0)==(c[o+4>>2]|0):0):0)iT(c[g>>2]|0,i,k);iT(c[h>>2]|0,j,m)}OS(f,c[g>>2]|0);nS(f);l=n;return}function JS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+32|0;i=g+16|0;j=g;h=g+8|0;c[i>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;f=j;hT((c[i>>2]|0)+36|0,c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0);l=g;return}function KS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+160|0;s=w+152|0;t=w+148|0;f=w+144|0;p=w+96|0;e=w+64|0;q=w+32|0;u=w+132|0;r=w+120|0;g=w+24|0;h=w+16|0;i=w+116|0;j=w+112|0;k=w+108|0;m=w+104|0;n=w+8|0;o=w;c[s>>2]=a;c[t>>2]=b;c[f>>2]=d;if(!(c[(c[f>>2]|0)+4>>2]|0)){l=w;return}d=p;c[d>>2]=0;c[d+4>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;if(cS((c[s>>2]|0)+36|0,u,(c[(c[t>>2]|0)+4>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0)|0)|0){l=w;return}eT(c[t>>2]|0,e);eT(c[f>>2]|0,q);while(1){d=e+8|0;a=c[d+4>>2]|0;f=q+8|0;b=c[f+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)){b=(c[u>>2]|0)+(c[u+4>>2]|0)|0;f=e+8|0;d=p;d=Z$(c[f>>2]|0,c[f+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=ES(b,d,D)|0;b=u+4|0;c[b>>2]=(c[b>>2]|0)+d;b=e+8|0;d=c[b+4>>2]|0;f=p;c[f>>2]=c[b>>2];c[f+4>>2]=d;h0((c[u>>2]|0)+(c[u+4>>2]|0)|0,c[e+16>>2]|0,(c[e+20>>2]|0)+(c[e+24>>2]|0)|0)|0;f=u+4|0;c[f>>2]=(c[f>>2]|0)+((c[e+20>>2]|0)+(c[e+24>>2]|0));fT(e);if(!(c[e+16>>2]|0))break;else continue}d=q+8|0;f=e+8|0;if((c[d>>2]|0)!=(c[f>>2]|0)?1:(c[d+4>>2]|0)!=(c[f+4>>2]|0)){b=(c[u>>2]|0)+(c[u+4>>2]|0)|0;f=q+8|0;d=p;d=Z$(c[f>>2]|0,c[f+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=ES(b,d,D)|0;b=u+4|0;c[b>>2]=(c[b>>2]|0)+d;b=q+8|0;d=c[b+4>>2]|0;f=p;c[f>>2]=c[b>>2];c[f+4>>2]=d;h0((c[u>>2]|0)+(c[u+4>>2]|0)|0,c[q+16>>2]|0,(c[q+20>>2]|0)+(c[q+24>>2]|0)|0)|0;f=u+4|0;c[f>>2]=(c[f>>2]|0)+((c[q+20>>2]|0)+(c[q+24>>2]|0));fT(q);if(!(c[q+16>>2]|0))break;else continue}b=g;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[i>>2]=0;c[j>>2]=0;c[k>>2]=(c[e+16>>2]|0)+(c[e+24>>2]|0);c[m>>2]=(c[q+16>>2]|0)+(c[q+24>>2]|0);b=n;c[b>>2]=0;c[b+4>>2]=0;c[o>>2]=0;c[o+4>>2]=0;b=(c[u>>2]|0)+(c[u+4>>2]|0)|0;f=q+8|0;d=p;d=Z$(c[f>>2]|0,c[f+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=ES(b,d,D)|0;b=u+4|0;c[b>>2]=(c[b>>2]|0)+d;b=q+8|0;d=c[b+4>>2]|0;f=p;c[f>>2]=c[b>>2];c[f+4>>2]=d;xS(r);cS((c[s>>2]|0)+36|0,r,(c[e+20>>2]|0)+(c[q+20>>2]|0)|0)|0;if(c[(c[s>>2]|0)+36>>2]|0)break;xR(c[k>>2]|0,c[e+20>>2]|0,i,g)|0;xR(c[m>>2]|0,c[q+20>>2]|0,j,h)|0;d=g;a=c[d+4>>2]|0;f=h;b=c[f+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)){f=g;gT(r,n,c[f>>2]|0,c[f+4>>2]|0);xR(c[k>>2]|0,c[e+20>>2]|0,i,g)|0}else{f=h;gT(r,n,c[f>>2]|0,c[f+4>>2]|0);xR(c[m>>2]|0,c[q+20>>2]|0,j,h)|0}b=g;a=c[b+4>>2]|0;f=h;d=c[f+4>>2]|0;if(((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>=0)&((d|0)>0|(d|0)==0&(c[f>>2]|0)>>>0>=0))while(1){d=g;a=c[d+4>>2]|0;f=h;b=c[f+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[f>>2]|0)>>>0:0))){f=h;gT(r,n,c[f>>2]|0,c[f+4>>2]|0);xR(c[m>>2]|0,c[q+20>>2]|0,j,h)|0;if((c[h+4>>2]|0)<0)break;else continue}d=g;f=n;if((c[d>>2]|0)!=(c[f>>2]|0)?1:(c[d+4>>2]|0)!=(c[f+4>>2]|0)){f=g;gT(r,n,c[f>>2]|0,c[f+4>>2]|0)}xR(c[k>>2]|0,c[e+20>>2]|0,i,g)|0;if((c[g+4>>2]|0)<0)break}f=g;d=c[f+4>>2]|0;if((d|0)>0|(d|0)==0&(c[f>>2]|0)>>>0>=0){d=g;f=n;if((c[d>>2]|0)!=(c[f>>2]|0)?1:(c[d+4>>2]|0)!=(c[f+4>>2]|0)){f=g;gT(r,n,c[f>>2]|0,c[f+4>>2]|0)}h0((c[r>>2]|0)+(c[r+4>>2]|0)|0,(c[k>>2]|0)+(c[i>>2]|0)|0,(c[e+20>>2]|0)-(c[i>>2]|0)|0)|0;a=(c[e+20>>2]|0)-(c[i>>2]|0)|0}else{a=h;gT(r,n,c[a>>2]|0,c[a+4>>2]|0);h0((c[r>>2]|0)+(c[r+4>>2]|0)|0,(c[m>>2]|0)+(c[j>>2]|0)|0,(c[q+20>>2]|0)-(c[j>>2]|0)|0)|0;a=(c[q+20>>2]|0)-(c[j>>2]|0)|0}d=r+4|0;c[d>>2]=(c[d>>2]|0)+a;d=c[r+4>>2]<<1;d=ES((c[u>>2]|0)+(c[u+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;f=u+4|0;c[f>>2]=(c[f>>2]|0)+d;h0((c[u>>2]|0)+(c[u+4>>2]|0)|0,c[r>>2]|0,c[r+4>>2]|0)|0;f=u+4|0;c[f>>2]=(c[f>>2]|0)+(c[r+4>>2]|0);fT(e);fT(q);if(!(c[e+16>>2]|0))break;if(!(c[q+16>>2]|0))break}if(!(c[e+16>>2]|0)){if(c[q+16>>2]|0){o=(c[u>>2]|0)+(c[u+4>>2]|0)|0;e=q+8|0;v=p;v=Z$(c[e>>2]|0,c[e+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=ES(o,v,D)|0;o=u+4|0;c[o>>2]=(c[o>>2]|0)+v;o=q+8|0;v=c[o+4>>2]|0;e=p;c[e>>2]=c[o>>2];c[e+4>>2]=v;h0((c[u>>2]|0)+(c[u+4>>2]|0)|0,c[q+16>>2]|0,(c[q>>2]|0)-(c[q+16>>2]|0)|0)|0;e=q;v=29}}else{o=(c[u>>2]|0)+(c[u+4>>2]|0)|0;v=e+8|0;q=p;q=Z$(c[v>>2]|0,c[v+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=ES(o,q,D)|0;o=u+4|0;c[o>>2]=(c[o>>2]|0)+q;o=e+8|0;q=c[o+4>>2]|0;v=p;c[v>>2]=c[o>>2];c[v+4>>2]=q;h0((c[u>>2]|0)+(c[u+4>>2]|0)|0,c[e+16>>2]|0,(c[e>>2]|0)-(c[e+16>>2]|0)|0)|0;v=29}if((v|0)==29){v=u+4|0;c[v>>2]=(c[v>>2]|0)+((c[e>>2]|0)-(c[e+16>>2]|0))}wR((c[s>>2]|0)+36|0,c[t>>2]|0,c[u+4>>2]|0,c[u>>2]|0);nS(r);nS(u);l=w;return}function LS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+20|0;h=m;i=m+16|0;j=m+12|0;k=m+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[i>>2]|0)+12>>2];if(c[(c[g>>2]|0)+36>>2]|0){l=m;return}if(((c[(c[j>>2]|0)+4>>2]|0)+((c[k>>2]|0)+9+9)|0)>>>0<=(c[(c[j>>2]|0)+8>>2]|0)>>>0)a=0;else a=cS((c[g>>2]|0)+36|0,c[j>>2]|0,(c[k>>2]|0)+9+9+(c[(c[j>>2]|0)+4>>2]|0)|0)|0;if(a){l=m;return}h=ES((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[h+4>>2]|0)|0;g=(c[j>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+h;g=c[k>>2]<<1;g=ES((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,g,((g|0)<0)<<31>>31)|0;h=(c[j>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+g;h0((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[i>>2]|0)+8>>2]|0,c[k>>2]|0)|0;j=(c[j>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0);l=m;return}function MS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=dT((c[f>>2]|0)+36|0,c[e>>2]|0)|0;l=d;return b|0}function NS(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;if(c[(c[g>>2]|0)+36>>2]|0){g=1;g=g&1;l=f;return g|0}g=(d[(c[e>>2]|0)+16>>0]|0|0)!=0;g=g&1;l=f;return g|0}function OS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;f=d+12|0;e=d;c[g>>2]=a;c[f>>2]=b;b=c[g>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];b=c[g>>2]|0;a=c[f>>2]|0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];l=d;return}function PS(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[f>>2]|0)+36>>2]|0){l=m;return}do{c[i>>2]=e[(c[(c[g>>2]|0)+72>>2]|0)+4>>1];c[j>>2]=(c[g>>2]|0)+80+((c[i>>2]|0)*88|0);c[k>>2]=0;Ib[c[(c[j>>2]|0)+24>>2]&255](c[f>>2]|0,c[j>>2]|0,k);if(!(c[k>>2]|0?1:(c[(c[j>>2]|0)+12>>2]|0)==0)?!(DR(c[g>>2]|0,c[i>>2]|0,j)|0):0)c[c[h>>2]>>2]=0;else{ER(c[f>>2]|0,c[g>>2]|0,c[i>>2]|0,1);FR(c[g>>2]|0);c[c[h>>2]>>2]=1}}while((cT(c[f>>2]|0,c[g>>2]|0)|0)!=0);l=m;return}function QS(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=RS(c[h>>2]|0,2)|0;if(!(c[m>>2]|0)){n=c[i>>2]|0;AR(n);l=o;return}c[n>>2]=(c[m>>2]|0)+80+88;c[(c[n>>2]|0)+4>>2]=1;if((c[(c[i>>2]|0)+8>>2]|0)>0){c[(c[n>>2]|0)+12>>2]=c[i>>2];g=(RR(c[c[i>>2]>>2]|0,(c[n>>2]|0)+72|0)|0)&255;c[(c[n>>2]|0)+20>>2]=g;c[(c[n>>2]|0)+40>>2]=c[(c[i>>2]|0)+4>>2];b[(c[(c[m>>2]|0)+72>>2]|0)+4>>1]=1;if(c[j>>2]|0){c[(c[m>>2]|0)+56>>2]=1;j=(c[n>>2]|0)+4|0;c[j>>2]=c[j>>2]|2;SR(c[h>>2]|0,c[n>>2]|0)}else UR(c[h>>2]|0,c[n>>2]|0);c[i>>2]=0}else a[(c[m>>2]|0)+16>>0]=1;SS(c[h>>2]|0,c[n>>2]|0);c[c[k>>2]>>2]=c[m>>2];n=c[i>>2]|0;AR(n);l=o;return}function RS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=2;while(1){if((c[g>>2]|0)>=(c[e>>2]|0))break;c[g>>2]=c[g>>2]<<1}c[f>>2]=MS(c[d>>2]|0,168+(((c[g>>2]|0)-1|0)*88|0)+(c[g>>2]<<2)|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;l=h;return g|0}c[(c[f>>2]|0)+52>>2]=c[g>>2];c[(c[f>>2]|0)+72>>2]=(c[f>>2]|0)+80+((c[g>>2]|0)*88|0);c[(c[f>>2]|0)+24>>2]=c[d>>2];c[(c[f>>2]|0)+48>>2]=140;g=c[f>>2]|0;l=h;return g|0}function SS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[e>>2]|0)+4>>2]&2|0){c[(c[e>>2]|0)+24>>2]=240;l=f;return}else{c[(c[e>>2]|0)+24>>2]=(c[(c[c[d>>2]>>2]|0)+48>>2]|0)==1?241:242;l=f;return}}function TS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+24|0;f=j+20|0;g=j+12|0;h=j+8|0;i=j;c[e>>2]=a;c[f>>2]=b;c[j+16>>2]=d;if((c[(c[f>>2]|0)+44>>2]|0)<=0){OR(c[e>>2]|0,c[f>>2]|0);l=j;return}c[g>>2]=c[c[(c[f>>2]|0)+12>>2]>>2];d=(c[f>>2]|0)+44|0;c[d>>2]=(c[d>>2]|0)+-1;c[(c[f>>2]|0)+20>>2]=c[(c[(c[f>>2]|0)+52>>2]|0)+(c[(c[f>>2]|0)+44>>2]<<2)>>2];UR(c[e>>2]|0,c[f>>2]|0);c[h>>2]=c[(c[f>>2]|0)+20>>2];if((c[(c[c[e>>2]>>2]|0)+48>>2]|0)!=1)c[h>>2]=(c[h>>2]|0)+(c[(c[f>>2]|0)+80>>2]|0);RR((c[g>>2]|0)+(c[h>>2]|0)|0,i)|0;h=i;i=(c[f>>2]|0)+72|0;g=i;h=Z$(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[i>>2]=h;c[i+4>>2]=D;l=j;return}function US(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o;m=o+20|0;n=o+16|0;e=o+12|0;f=o+8|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=c[(c[h>>2]|0)+20>>2];do if(c[c[h>>2]>>2]|0?(c[j>>2]|0)>=(c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0):0){_R(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){l=o;return}if(!(c[(c[h>>2]|0)+12>>2]|0)){l=o;return}else{d=(c[h>>2]|0)+72|0;c[d>>2]=0;c[d+4>>2]=0;c[j>>2]=4;break}}while(0);a=c[h>>2]|0;a:do if((c[j>>2]|0)<(c[(c[h>>2]|0)+40>>2]|0)){m=(RR((c[c[a+12>>2]>>2]|0)+(c[j>>2]|0)|0,k)|0)&255;c[j>>2]=(c[j>>2]|0)+m;c[(c[h>>2]|0)+20>>2]=c[j>>2];m=k;n=(c[h>>2]|0)+72|0;k=n;m=_$(c[k>>2]|0,c[k+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[n>>2]=m;c[n+4>>2]=D}else{do if(!(c[a+4>>2]&1)){if(c[c[h>>2]>>2]|0){c[m>>2]=0;n=c[j>>2]|0;if((n|0)!=(WS(c[(c[h>>2]|0)+12>>2]|0)|0)){n=VR((c[c[(c[h>>2]|0)+12>>2]>>2]|0)+(c[j>>2]|0)|0,m)|0;c[j>>2]=(c[j>>2]|0)+n}c[(c[h>>2]|0)+20>>2]=c[j>>2];ZS(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0)}else{c[n>>2]=0;c[e>>2]=0;XS(c[(c[g>>2]|0)+12>>2]|0);YS(c[(c[g>>2]|0)+12>>2]|0,e,n,f);if(!(c[n>>2]|0))break;c[c[(c[h>>2]|0)+12>>2]>>2]=c[n>>2];c[(c[(c[h>>2]|0)+12>>2]|0)+4>>2]=c[f>>2];c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]=c[f>>2];c[(c[h>>2]|0)+40>>2]=c[f>>2];j=(c[g>>2]|0)+36|0;k=(c[h>>2]|0)+60|0;m=g$(c[e>>2]|0)|0;wR(j,k,m,c[e>>2]|0);n=(RR(c[n>>2]|0,(c[h>>2]|0)+72|0)|0)&255;c[(c[h>>2]|0)+20>>2]=n}if(!(c[i>>2]|0))break a;c[c[i>>2]>>2]=1;break a}while(0);AR(c[(c[h>>2]|0)+12>>2]|0);c[(c[h>>2]|0)+12>>2]=0;l=o;return}while(0);UR(c[g>>2]|0,c[h>>2]|0);l=o;return}function VS(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+64|0;q=v+56|0;r=v+52|0;s=v+48|0;m=v+44|0;n=v+40|0;t=v+36|0;u=v+32|0;g=v+28|0;w=v+24|0;h=v;i=v+20|0;j=v+16|0;k=v+12|0;p=v+8|0;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[m>>2]=c[(c[r>>2]|0)+12>>2];c[t>>2]=0;c[u>>2]=0;c[g>>2]=c[c[m>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+8>>2];c[n>>2]=(c[(c[r>>2]|0)+20>>2]|0)+(c[(c[r>>2]|0)+80>>2]|0);a:do if((c[n>>2]|0)<(c[w>>2]|0)){if((c[n>>2]|0)>=(c[(c[r>>2]|0)+40>>2]|0)){c[t>>2]=1;w=c[n>>2]|0;if((w|0)!=(WS(c[m>>2]|0)|0)){w=VR((c[g>>2]|0)+(c[n>>2]|0)|0,u)|0;c[n>>2]=(c[n>>2]|0)+w}}else{o=(RR((c[g>>2]|0)+(c[n>>2]|0)|0,h)|0)&255;c[n>>2]=(c[n>>2]|0)+o;o=h;w=(c[r>>2]|0)+72|0;m=w;o=_$(c[m>>2]|0,c[m+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[w>>2]=o;c[w+4>>2]=D}c[(c[r>>2]|0)+20>>2]=c[n>>2]}else{if(!(c[c[r>>2]>>2]|0)){c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;if(!(c[(c[r>>2]|0)+4>>2]&1)){XS(c[(c[q>>2]|0)+12>>2]|0);YS(c[(c[q>>2]|0)+12>>2]|0,j,i,k)}if(!(c[i>>2]|0)){AR(c[(c[r>>2]|0)+12>>2]|0);c[(c[r>>2]|0)+12>>2]=0;break}else{c[c[(c[r>>2]|0)+12>>2]>>2]=c[i>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+4>>2]=c[k>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+8>>2]=c[k>>2];c[(c[r>>2]|0)+40>>2]=(c[k>>2]|0)+1;n=(c[q>>2]|0)+36|0;o=(c[r>>2]|0)+60|0;w=g$(c[j>>2]|0)|0;wR(n,o,w,c[j>>2]|0);w=(RR(c[i>>2]|0,(c[r>>2]|0)+72|0)|0)&255;c[(c[r>>2]|0)+20>>2]=w;c[c[s>>2]>>2]=1;break}}c[n>>2]=0;do{if(c[n>>2]|0)break a;_R(c[q>>2]|0,c[r>>2]|0);c[m>>2]=c[(c[r>>2]|0)+12>>2];if(!(c[m>>2]|0))break a;w=(QR(c[c[m>>2]>>2]|0)|0)&65535;c[n>>2]=w;if(w|0?(c[n>>2]|0)<(c[(c[m>>2]|0)+8>>2]|0):0){w=(RR((c[c[m>>2]>>2]|0)+(c[n>>2]|0)|0,(c[r>>2]|0)+72|0)|0)&255;c[n>>2]=(c[n>>2]|0)+w;c[(c[r>>2]|0)+20>>2]=c[n>>2];if((c[(c[m>>2]|0)+4>>2]|0)>(c[(c[m>>2]|0)+8>>2]|0)){w=c[(c[m>>2]|0)+8>>2]|0;w=w+(VR((c[c[m>>2]>>2]|0)+(c[(c[m>>2]|0)+8>>2]|0)|0,(c[r>>2]|0)+40|0)|0)|0;c[(c[r>>2]|0)+36>>2]=w}}else o=20;if((o|0)==20?(o=0,(c[(c[m>>2]|0)+4>>2]|0)>(c[(c[m>>2]|0)+8>>2]|0)):0){w=c[(c[m>>2]|0)+8>>2]|0;w=w+(VR((c[c[m>>2]>>2]|0)+(c[(c[m>>2]|0)+8>>2]|0)|0,n)|0)|0;c[(c[r>>2]|0)+36>>2]=w;c[(c[r>>2]|0)+20>>2]=c[n>>2];c[(c[r>>2]|0)+40>>2]=c[n>>2];c[t>>2]=1}}while((c[n>>2]|0)<=(c[(c[m>>2]|0)+8>>2]|0));c[(c[q>>2]|0)+36>>2]=267;l=v;return}while(0);if(!(c[(c[r>>2]|0)+12>>2]|0)){l=v;return}b=c[r>>2]|0;if(!(c[t>>2]|0)){u=c[c[b+12>>2]>>2]|0;t=(c[r>>2]|0)+20|0;w=c[t>>2]|0;c[t>>2]=w+1;c[p>>2]=d[u+w>>0];if(c[p>>2]&128|0){u=(c[r>>2]|0)+20|0;c[u>>2]=(c[u>>2]|0)+-1;u=VR((c[c[(c[r>>2]|0)+12>>2]>>2]|0)+(c[(c[r>>2]|0)+20>>2]|0)|0,p)|0;w=(c[r>>2]|0)+20|0;c[w>>2]=(c[w>>2]|0)+u}a[(c[r>>2]|0)+84>>0]=c[p>>2]&1;c[(c[r>>2]|0)+80>>2]=c[p>>2]>>1;l=v;return}if(c[b+4>>2]&1|0){AR(c[(c[r>>2]|0)+12>>2]|0);c[(c[r>>2]|0)+12>>2]=0;l=v;return}ZS(c[q>>2]|0,c[r>>2]|0,c[u>>2]|0);UR(c[q>>2]|0,c[r>>2]|0);if(!(c[s>>2]|0)){l=v;return}c[c[s>>2]>>2]=1;l=v;return}function WS(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;VR((c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0,b)|0;l=d;return c[b>>2]|0}function XS(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+16>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+4>>2];l=b;return}function YS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;e=c[(c[f>>2]|0)+16>>2]|0;c[j>>2]=e;if(e|0){c[k>>2]=g$((c[j>>2]|0)+40|0)|0;$S(c[f>>2]|0,c[j>>2]|0);c[c[g>>2]>>2]=(c[j>>2]|0)+40;c[c[h>>2]>>2]=(c[j>>2]|0)+40+((c[k>>2]|0)+1);c[c[i>>2]>>2]=(c[(c[j>>2]|0)+16>>2]|0)-(40+(c[k>>2]|0)+1);l=m;return}else{c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;c[c[i>>2]>>2]=0;l=m;return}}function ZS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[(c[f>>2]|0)+12>>2]>>2];c[i>>2]=c[(c[f>>2]|0)+20>>2];d=VR((c[h>>2]|0)+(c[i>>2]|0)|0,j)|0;c[i>>2]=(c[i>>2]|0)+d;if(((c[i>>2]|0)+(c[j>>2]|0)|0)>(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)){c[(c[e>>2]|0)+36>>2]=267;l=m;return}c[(c[f>>2]|0)+60+4>>2]=c[g>>2];bS((c[e>>2]|0)+36|0,(c[f>>2]|0)+60|0,c[j>>2]|0,(c[h>>2]|0)+(c[i>>2]|0)|0);c[i>>2]=(c[i>>2]|0)+(c[j>>2]|0);c[(c[f>>2]|0)+32>>2]=c[i>>2];c[(c[f>>2]|0)+28>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+20>>2]=c[i>>2];if((c[(c[f>>2]|0)+36>>2]|0)>=(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0))c[(c[f>>2]|0)+40>>2]=(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+1;else{i=VR((c[h>>2]|0)+(c[(c[f>>2]|0)+36>>2]|0)|0,k)|0;j=(c[f>>2]|0)+36|0;c[j>>2]=(c[j>>2]|0)+i;j=(c[f>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0)}_S(c[e>>2]|0,c[f>>2]|0);l=m;return}function _S(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+12>>2]>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];do if((c[g>>2]|0)>=(c[(c[(c[e>>2]|0)+12>>2]|0)+8>>2]|0)){_R(c[d>>2]|0,c[e>>2]|0);if(c[(c[e>>2]|0)+12>>2]|0){c[g>>2]=4;c[f>>2]=c[c[(c[e>>2]|0)+12>>2]>>2];break}if(c[(c[d>>2]|0)+36>>2]|0){l=h;return}c[(c[d>>2]|0)+36>>2]=267;l=h;return}while(0);f=(RR((c[f>>2]|0)+(c[g>>2]|0)|0,(c[e>>2]|0)+72|0)|0)&255;c[g>>2]=(c[g>>2]|0)+f;c[(c[e>>2]|0)+20>>2]=c[g>>2];l=h;return}function $S(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+12>>2]|0)){l=m;return}c[h>>2]=c[g>>2];b=c[g>>2]|0;do if((c[c[f>>2]>>2]|0)==1){if(a[b+24>>0]|0?(j=c[h>>2]|0,i=(c[g>>2]|0)+16|0,k=c[i>>2]|0,c[i>>2]=k+1,a[j+k>>0]=0,a[(c[g>>2]|0)+25>>0]|0):0){j=c[h>>2]|0;i=(c[g>>2]|0)+16|0;k=c[i>>2]|0;c[i>>2]=k+1;a[j+k>>0]=0}}else{c[i>>2]=(c[b+16>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0)-1;c[j>>2]=(c[i>>2]<<1)+(d[(c[g>>2]|0)+24>>0]|0);b=c[j>>2]|0;if((c[j>>2]|0)<=127){a[(c[h>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=b;break}else{c[k>>2]=aT(b)|0;k0((c[h>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+(c[k>>2]|0))|0,(c[h>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)|0,c[i>>2]|0)|0;j=c[j>>2]|0;ES((c[h>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)|0,j,((j|0)<0)<<31>>31)|0;j=(c[g>>2]|0)+16|0;c[j>>2]=(c[j>>2]|0)+((c[k>>2]|0)-1);break}}while(0);c[(c[g>>2]|0)+12>>2]=0;a[(c[g>>2]|0)+24>>0]=0;a[(c[g>>2]|0)+25>>0]=0;l=m;return}function aT(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;do if((c[d>>2]|0)>>>0>=16384){if((c[d>>2]|0)>>>0<2097152){c[b>>2]=3;break}if((c[d>>2]|0)>>>0<268435456){c[b>>2]=4;break}else{c[b>>2]=5;break}}else c[b>>2]=2;while(0);l=e;return c[b>>2]|0}function bT(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return}function cT(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=l;l=l+16|0;g=f+8|0;h=f+4|0;d=f;c[g>>2]=a;c[h>>2]=b;c[d>>2]=(c[h>>2]|0)+80+((e[(c[(c[h>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);if(c[(c[g>>2]|0)+36>>2]|0){h=0;h=h&1;l=f;return h|0}if(!(c[(c[d>>2]|0)+12>>2]|0)){h=0;h=h&1;l=f;return h|0}h=(c[(c[d>>2]|0)+80>>2]|0)==0;h=h&1;l=f;return h|0}function dT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(!(c[c[d>>2]>>2]|0)){c[f>>2]=pe(c[e>>2]|0)|0;if((c[f>>2]|0)==0&(c[e>>2]|0)>0){c[c[d>>2]>>2]=7;break}else{m0(c[f>>2]|0,0,c[e>>2]|0)|0;break}}while(0);l=g;return c[f>>2]|0}function eT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=c[e>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[(c[e>>2]|0)+16>>2]=c[c[f>>2]>>2];c[c[e>>2]>>2]=(c[c[f>>2]>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);fT(c[e>>2]|0);l=d;return}function fT(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;b=h;g=h+8|0;c[e>>2]=a;c[f>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[(c[e>>2]|0)+24>>2]|0)+(c[(c[e>>2]|0)+20>>2]|0);if((c[f>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0){f=0;g=c[e>>2]|0;g=g+16|0;c[g>>2]=f;l=h;return}a=(RR(c[f>>2]|0,b)|0)&255;c[f>>2]=(c[f>>2]|0)+a;a=(c[e>>2]|0)+8|0;i=a;b=_$(c[i>>2]|0,c[i+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=D;a=c[f>>2]|0;if((d[c[f>>2]>>0]|0)&128|0){i=VR(a,g)|0;c[(c[e>>2]|0)+24>>2]=i;c[(c[e>>2]|0)+20>>2]=c[g>>2]>>1}else{c[(c[e>>2]|0)+20>>2]=(d[a>>0]|0)>>1;c[(c[e>>2]|0)+24>>2]=1}g=c[f>>2]|0;i=c[e>>2]|0;i=i+16|0;c[i>>2]=g;l=h;return}function gT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+12|0;h=j+8|0;i=j;c[g>>2]=b;c[h>>2]=d;d=i;c[d>>2]=e;c[d+4>>2]=f;if(0?1:(c[i+4>>2]&2147483647|0)!=(c[(c[h>>2]|0)+4>>2]&2147483647|0)){f=c[c[g>>2]>>2]|0;d=(c[g>>2]|0)+4|0;e=c[d>>2]|0;c[d>>2]=e+1;a[f+e>>0]=1;e=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0;f=i;f=e0(c[f>>2]|0,c[f+4>>2]|0,32)|0;f=ES(e,f,D)|0;e=(c[g>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+f;e=c[i+4>>2]&2147483647;f=c[h>>2]|0;c[f>>2]=0;c[f+4>>2]=e}f=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0;d=i;e=c[h>>2]|0;e=Z$(c[d>>2]|0,c[d+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=_$(e|0,D|0,2,0)|0;e=ES(f,e,D)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+e;f=i;g=c[f+4>>2]|0;i=c[h>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=g;l=j;return}function hT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;h=i;c[f>>2]=a;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;if(((c[(c[g>>2]|0)+4>>2]|0)+9|0)>>>0>(c[(c[g>>2]|0)+8>>2]|0)>>>0?cS(c[f>>2]|0,c[g>>2]|0,9+(c[(c[g>>2]|0)+4>>2]|0)|0)|0:0){l=i;return}f=h;f=ES((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=(c[g>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+f;l=i;return}function iT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if((c[h>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){c[c[f>>2]>>2]=-1;l=j;return}else{d=c[h>>2]|0;h=d+((RR((c[c[e>>2]>>2]|0)+(c[h>>2]|0)|0,i)|0)&255)|0;c[c[f>>2]>>2]=h;h=i;i=c[g>>2]|0;g=i;h=_$(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[i>>2]=h;c[i+4>>2]=D;l=j;return}}function jT(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;c[a>>2]=(c[a>>2]|0)+1;l=b;return}function kT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;o=r+36|0;g=r+32|0;h=r+28|0;p=r+24|0;q=r+20|0;i=r+16|0;j=r+12|0;k=r+8|0;m=r+4|0;n=r;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[p>>2]=e;c[q>>2]=f;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=0;if((c[g>>2]|0)!=0?!(c[p>>2]&8|0):0){f=(c[q>>2]|0)+4|0;c[f>>2]=c[f>>2]|1;wT(c[(c[o>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,i,j)|0;c[k>>2]=c[g>>2];c[m>>2]=c[h>>2]}else{h=vT(c[(c[o>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[o>>2]|0)+36>>2]=h;YS(c[(c[o>>2]|0)+12>>2]|0,k,i,j);if(c[k>>2]|0)a=g$(c[k>>2]|0)|0;else a=0;c[m>>2]=a}do if(c[i>>2]|0){wR((c[o>>2]|0)+36|0,(c[q>>2]|0)+60|0,c[m>>2]|0,c[k>>2]|0);c[n>>2]=MS(c[o>>2]|0,12)|0;if(!(c[n>>2]|0)){l=r;return}c[c[n>>2]>>2]=c[i>>2];m=c[j>>2]|0;c[(c[n>>2]|0)+8>>2]=m;c[(c[n>>2]|0)+4>>2]=m;c[(c[q>>2]|0)+12>>2]=c[n>>2];m=(RR(c[c[n>>2]>>2]|0,(c[q>>2]|0)+72|0)|0)&255;c[(c[q>>2]|0)+20>>2]=m;c[(c[q>>2]|0)+40>>2]=c[(c[n>>2]|0)+4>>2];if(c[p>>2]&2|0){p=(c[q>>2]|0)+4|0;c[p>>2]=c[p>>2]|2;SR(c[o>>2]|0,c[q>>2]|0);break}else{UR(c[o>>2]|0,c[q>>2]|0);break}}while(0);SS(c[o>>2]|0,c[q>>2]|0);l=r;return}function lT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[(c[f>>2]|0)+4>>2]|0)){l=h;return}if(!(c[(c[e>>2]|0)+36>>2]|0)){a=c[g>>2]|0;b=a+88|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));SS(c[e>>2]|0,c[g>>2]|0);c[c[g>>2]>>2]=c[f>>2];c[(c[g>>2]|0)+8>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;_R(c[e>>2]|0,c[g>>2]|0)}if(c[(c[e>>2]|0)+36>>2]|0){l=h;return}c[(c[g>>2]|0)+20>>2]=4;c[(c[g>>2]|0)+36>>2]=(c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)+1;ZS(c[e>>2]|0,c[g>>2]|0,0);UR(c[e>>2]|0,c[g>>2]|0);l=h;return}function mT(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;p=t+44|0;q=t+40|0;r=t+36|0;s=t+32|0;h=t+28|0;i=t+24|0;j=t+20|0;k=t+16|0;m=t+12|0;n=t+8|0;o=t;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=1;c[k>>2]=c[s>>2]&8;c[m>>2]=0;c[n>>2]=0;a=c[i>>2]|0;b=a+88|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[i>>2]>>2]=c[h>>2];c[n>>2]=nT(c[p>>2]|0)|0;if(c[(c[p>>2]|0)+36>>2]|0){l=t;return}pJ(c[n>>2]|0,1,c[c[h>>2]>>2]|0)|0;lJ(c[n>>2]|0,2,c[q>>2]|0,c[r>>2]|0,0)|0;if(100==(Bs(c[n>>2]|0)|0)){f=iJ(c[n>>2]|0,0)|0;g=o;c[g>>2]=f;c[g+4>>2]=((f|0)<0)<<31>>31;g=o;g=e0(c[g>>2]|0,c[g+4>>2]|0,1)|0;c[j>>2]=g;c[m>>2]=c[o>>2]&1}o=ys(c[n>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=o;if((c[j>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)){c[j>>2]=c[(c[h>>2]|0)+4>>2];c[m>>2]=0}c[(c[i>>2]|0)+8>>2]=(c[j>>2]|0)-1;_R(c[p>>2]|0,c[i>>2]|0);if(c[(c[i>>2]|0)+12>>2]|0)oT(c[p>>2]|0,c[k>>2]|0,c[i>>2]|0,c[q>>2]|0,c[r>>2]|0);if(((c[k>>2]|0)==0?(c[(c[p>>2]|0)+36>>2]|0)==0:0)?(r=(c[i>>2]|0)+4|0,c[r>>2]=c[r>>2]|1,c[(c[i>>2]|0)+12>>2]|0):0){if(c[s>>2]&2|0){r=(c[i>>2]|0)+4|0;c[r>>2]=c[r>>2]|2}if(c[m>>2]|0)pT(c[p>>2]|0,c[i>>2]|0);if(c[s>>2]&2|0)qT(c[p>>2]|0,c[i>>2]|0)}SS(c[p>>2]|0,c[i>>2]|0);l=t;return}function nT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;e=f;b=f+12|0;d=f+8|0;c[b>>2]=a;if(c[(c[b>>2]|0)+60>>2]|0){e=c[b>>2]|0;e=e+60|0;e=c[e>>2]|0;l=f;return e|0}c[d>>2]=c[c[b>>2]>>2];g=c[b>>2]|0;a=(c[b>>2]|0)+60|0;h=c[(c[d>>2]|0)+8>>2]|0;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[e+4>>2]=h;uT(g,a,nf(47827,e)|0)|0;e=c[b>>2]|0;e=e+60|0;e=c[e>>2]|0;l=f;return e|0}function oT(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+80|0;x=z+68|0;u=z+64|0;y=z+60|0;v=z+56|0;k=z+52|0;m=z+48|0;n=z+44|0;A=z+40|0;o=z+36|0;h=z+32|0;p=z+28|0;q=z+24|0;r=z+20|0;w=z+16|0;s=z+12|0;i=z+8|0;j=z+4|0;t=z;c[x>>2]=a;c[u>>2]=b;c[y>>2]=e;c[v>>2]=f;c[k>>2]=g;c[n>>2]=c[c[(c[y>>2]|0)+12>>2]>>2];c[A>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+8>>2];c[o>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;c[p>>2]=0;c[q>>2]=0;c[s>>2]=0;c[w>>2]=c[A>>2];g=VR((c[n>>2]|0)+(c[w>>2]|0)|0,r)|0;c[w>>2]=(c[w>>2]|0)+g;c[m>>2]=c[r>>2];if((c[m>>2]|0)>(c[o>>2]|0)){c[(c[x>>2]|0)+36>>2]=267;l=z;return}while(1){g=c[n>>2]|0;A=c[m>>2]|0;c[m>>2]=A+1;c[q>>2]=d[g+A>>0];if(c[q>>2]&128|0){c[m>>2]=(c[m>>2]|0)+-1;A=VR((c[n>>2]|0)+(c[m>>2]|0)|0,q)|0;c[m>>2]=(c[m>>2]|0)+A}if((c[p>>2]|0)<(c[h>>2]|0)){a=24;break}if((c[p>>2]|0)==(c[h>>2]|0)){if((c[q>>2]|0)<((c[k>>2]|0)-(c[h>>2]|0)|0))a=c[q>>2]|0;else a=(c[k>>2]|0)-(c[h>>2]|0)|0;c[i>>2]=a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;if((d[(c[n>>2]|0)+((c[m>>2]|0)+(c[j>>2]|0))>>0]|0|0)!=(d[(c[v>>2]|0)+((c[h>>2]|0)+(c[j>>2]|0))>>0]|0|0))break;c[j>>2]=(c[j>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+(c[j>>2]|0);b=c[j>>2]|0;e=c[q>>2]|0;if((c[k>>2]|0)==(c[h>>2]|0)){a=15;break}if((b|0)<(e|0)?(d[(c[n>>2]|0)+((c[m>>2]|0)+(c[j>>2]|0))>>0]|0|0)>(d[(c[v>>2]|0)+(c[h>>2]|0)>>0]|0|0):0){a=24;break}}if((c[w>>2]|0)>=(c[o>>2]|0)){a=19;break}A=VR((c[n>>2]|0)+(c[w>>2]|0)|0,p)|0;c[w>>2]=(c[w>>2]|0)+A;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);c[m>>2]=c[r>>2];if((c[m>>2]|0)>=(c[o>>2]|0)){a=21;break}g=c[n>>2]|0;A=c[m>>2]|0;c[m>>2]=A+1;c[p>>2]=d[g+A>>0];if(!(c[p>>2]&128))continue;c[m>>2]=(c[m>>2]|0)+-1;A=VR((c[n>>2]|0)+(c[m>>2]|0)|0,p)|0;c[m>>2]=(c[m>>2]|0)+A}if((a|0)==15){if((b|0)!=(e|0))a=24}else if((a|0)==19){c[s>>2]=1;a=24}else if((a|0)==21){c[(c[x>>2]|0)+36>>2]=267;l=z;return}do if((a|0)==24){if(!(c[u>>2]|0)){AR(c[(c[y>>2]|0)+12>>2]|0);c[(c[y>>2]|0)+12>>2]=0;l=z;return}if(c[s>>2]|0){while(1){_R(c[x>>2]|0,c[y>>2]|0);if(!(c[(c[y>>2]|0)+12>>2]|0)){a=37;break}c[n>>2]=c[c[(c[y>>2]|0)+12>>2]>>2];if((c[(c[(c[y>>2]|0)+12>>2]|0)+8>>2]|0)>=(c[(c[(c[y>>2]|0)+12>>2]|0)+4>>2]|0)|0)continue;c[w>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+8>>2];A=VR((c[c[(c[y>>2]|0)+12>>2]>>2]|0)+(c[w>>2]|0)|0,m)|0;c[w>>2]=(c[w>>2]|0)+A;if((c[m>>2]|0)>=4?(c[m>>2]|0)<(c[(c[(c[y>>2]|0)+12>>2]|0)+8>>2]|0):0){a=32;break}c[(c[x>>2]|0)+36>>2]=267}if((a|0)==32){c[p>>2]=0;c[r>>2]=c[m>>2];c[o>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+4>>2];A=VR((c[n>>2]|0)+(c[m>>2]|0)|0,q)|0;c[m>>2]=(c[m>>2]|0)+A;break}else if((a|0)==37){l=z;return}}}while(0);c[(c[y>>2]|0)+20>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[(c[y>>2]|0)+32>>2]=c[(c[y>>2]|0)+20>>2];c[(c[y>>2]|0)+28>>2]=c[(c[y>>2]|0)+8>>2];wR((c[x>>2]|0)+36|0,(c[y>>2]|0)+60|0,c[p>>2]|0,c[v>>2]|0);bS((c[x>>2]|0)+36|0,(c[y>>2]|0)+60|0,c[q>>2]|0,(c[n>>2]|0)+(c[m>>2]|0)|0);if((c[w>>2]|0)>=(c[o>>2]|0)){a=(c[(c[(c[y>>2]|0)+12>>2]|0)+4>>2]|0)+1|0;b=c[y>>2]|0}else{a=VR((c[n>>2]|0)+(c[w>>2]|0)|0,t)|0;c[w>>2]=(c[w>>2]|0)+a;a=(c[r>>2]|0)+(c[t>>2]|0)|0;b=c[y>>2]|0}c[b+40>>2]=a;c[(c[y>>2]|0)+36>>2]=c[w>>2];_S(c[x>>2]|0,c[y>>2]|0);UR(c[x>>2]|0,c[y>>2]|0);l=z;return}function pT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;i=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[c[e>>2]>>2]>>2];c[g>>2]=c[(c[e>>2]|0)+4>>2]&2;c[i>>2]=c[(c[e>>2]|0)+12>>2];if((c[(c[e>>2]|0)+28>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)?(c[(c[e>>2]|0)+40>>2]|0)<(c[(c[i>>2]|0)+8>>2]|0):0){l=h;return}i=rT(c[d>>2]|0,c[g>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=i;l=h;return}function qT(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;u=w+68|0;v=w+64|0;o=w+60|0;t=w+56|0;p=w+52|0;q=w+48|0;r=w+44|0;s=w+40|0;e=w+36|0;f=w+32|0;g=w+28|0;h=w;i=w+24|0;j=w+20|0;k=w+16|0;m=w+12|0;n=w+8|0;c[u>>2]=a;c[v>>2]=b;c[o>>2]=c[(c[v>>2]|0)+56>>2];c[t>>2]=0;c[p>>2]=0;a=c[v>>2]|0;a:do if(!(c[o>>2]|0)){c[r>>2]=c[a+12>>2];if((c[(c[v>>2]|0)+28>>2]|0)==(c[(c[v>>2]|0)+8>>2]|0))c[s>>2]=c[(c[v>>2]|0)+32>>2];else c[s>>2]=4;c[e>>2]=(c[s>>2]|0)+9;do{o=c[c[r>>2]>>2]|0;q=c[s>>2]|0;c[s>>2]=q+1;if(!((d[o+q>>0]|0)&128))break}while((c[s>>2]|0)<(c[e>>2]|0));c[(c[v>>2]|0)+20>>2]=c[s>>2];if((c[(c[v>>2]|0)+40>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0)){c[g>>2]=c[c[v>>2]>>2];c[f>>2]=(c[(c[v>>2]|0)+8>>2]|0)+1;while(1){if(c[(c[u>>2]|0)+36>>2]|0)break a;if((c[f>>2]|0)>(c[(c[g>>2]|0)+8>>2]|0))break a;s=c[c[g>>2]>>2]|0;s=j0(s|0,((s|0)<0)<<31>>31|0,37)|0;s=_$(s|0,D|0,0,0)|0;s=_$(s|0,D|0,0,0)|0;r=c[f>>2]|0;r=_$(s|0,D|0,r|0,((r|0)<0)<<31>>31|0)|0;s=h;c[s>>2]=r;c[s+4>>2]=D;s=h;c[i>>2]=PR(c[u>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;if(c[i>>2]|0){c[j>>2]=(QR(c[c[i>>2]>>2]|0)|0)&65535;c[k>>2]=(c[(c[i>>2]|0)+8>>2]|0)>=(c[(c[i>>2]|0)+4>>2]|0)&1;if(c[j>>2]|0){c[m>>2]=c[i>>2];c[i>>2]=c[t>>2];c[t>>2]=c[m>>2];c[p>>2]=c[f>>2]}AR(c[i>>2]|0);if(!(c[k>>2]|0))break a}c[f>>2]=(c[f>>2]|0)+1}}}else{c[q>>2]=c[c[a>>2]>>2];c[p>>2]=KR(c[o>>2]|0)|0;r=c[u>>2]|0;q=c[q>>2]|0;q=j0(q|0,((q|0)<0)<<31>>31|0,37)|0;q=_$(q|0,D|0,0,0)|0;q=_$(q|0,D|0,0,0)|0;s=c[p>>2]|0;s=_$(q|0,D|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=PR(r,s,D)|0}while(0);if(!(c[t>>2]|0)){u=c[u>>2]|0;v=c[v>>2]|0;SR(u,v);l=w;return}AR(c[(c[v>>2]|0)+12>>2]|0);c[(c[v>>2]|0)+12>>2]=c[t>>2];c[(c[v>>2]|0)+8>>2]=c[p>>2];c[n>>2]=(QR(c[c[t>>2]>>2]|0)|0)&65535;a=(RR((c[c[t>>2]>>2]|0)+(c[n>>2]|0)|0,(c[v>>2]|0)+72|0)|0)&255;c[n>>2]=(c[n>>2]|0)+a;c[(c[v>>2]|0)+20>>2]=c[n>>2];a=c[t>>2]|0;if((c[(c[t>>2]|0)+8>>2]|0)>=(c[(c[t>>2]|0)+4>>2]|0)){a=(c[a+4>>2]|0)+1|0;b=c[v>>2]|0}else{a=WS(a)|0;b=c[v>>2]|0}c[b+40>>2]=a;u=c[u>>2]|0;v=c[v>>2]|0;SR(u,v);l=w;return}function rT(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;m=s+44|0;n=s+40|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;g=s+20|0;h=s+16|0;i=s+12|0;j=s;k=s+8|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=0;c[g>>2]=0;c[r>>2]=0;while(1){if(!((c[(c[m>>2]|0)+36>>2]|0)==0?(c[g>>2]|0)==0:0))break;c[h>>2]=40+(c[r>>2]<<5);c[i>>2]=Xf(c[q>>2]|0,c[h>>2]|0)|0;if(!(c[i>>2]|0))c[(c[m>>2]|0)+36>>2]=7;else{b=c[o>>2]|0;b=j0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=_$(b|0,D|0,0,16)|0;e=D;f=c[r>>2]|0;f=j0(f|0,((f|0)<0)<<31>>31|0,31)|0;f=_$(b|0,e|0,f|0,D|0)|0;e=c[p>>2]|0;e=_$(f|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=e;c[f+4>>2]=D;c[k>>2]=(c[i>>2]|0)+8+(c[r>>2]<<5);c[q>>2]=c[i>>2];f=c[k>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;f=j;f=PR(c[m>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[c[k>>2]>>2]=f;if(c[c[k>>2]>>2]|0?((d[c[c[c[k>>2]>>2]>>2]>>0]|0)&1|0)==0:0)c[g>>2]=1;c[c[q>>2]>>2]=(c[r>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}do if(!(c[(c[m>>2]|0)+36>>2]|0)){c[(c[q>>2]|0)+4>>2]=c[o>>2];if(!(c[n>>2]|0)){sT(c[q>>2]|0)|0;break}else{tT(c[m>>2]|0,c[q>>2]|0);break}}while(0);if(!(c[(c[m>>2]|0)+36>>2]|0)){r=c[q>>2]|0;l=s;return r|0}qS(c[q>>2]|0);c[q>>2]=0;r=c[q>>2]|0;l=s;return r|0}function sT(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;while(1){a=(c[b>>2]|0)+8|0;if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;ZR(a+(c[d>>2]<<5)|0)|0;c[d>>2]=(c[d>>2]|0)+1}l=e;return c[a+8>>2]|0}function tT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[c[e>>2]>>2]|0)-1;while(1){if(!((c[(c[d>>2]|0)+36>>2]|0)==0?(c[f>>2]|0)>=0:0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<5);do{}while(!(ZR(c[g>>2]|0)|0));c[(c[g>>2]|0)+8>>2]=0;if((c[f>>2]|0)>0){c[h>>2]=(c[g>>2]|0)+-32;AR(c[c[h>>2]>>2]|0);a=c[h>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;a=c[d>>2]|0;k=c[(c[e>>2]|0)+4>>2]|0;k=j0(k|0,((k|0)<0)<<31>>31|0,37)|0;k=_$(k|0,D|0,0,16)|0;b=D;j=(c[f>>2]|0)-1|0;j=j0(j|0,((j|0)<0)<<31>>31|0,31)|0;j=_$(k|0,b|0,j|0,D|0)|0;b=c[(c[g>>2]|0)+16>>2]|0;b=_$(j|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;b=PR(a,b,D)|0;c[c[h>>2]>>2]=b}c[f>>2]=(c[f>>2]|0)+-1}l=i;return}function uT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(!(c[(c[f>>2]|0)+36>>2]|0)){a=c[f>>2]|0;if(c[g>>2]|0){b=zv(c[c[a>>2]>>2]|0,c[g>>2]|0,-1,c[e>>2]|0,0)|0;a=c[f>>2]|0}else b=7;c[a+36>>2]=b}_d(c[g>>2]|0);l=h;return c[(c[f>>2]|0)+36>>2]|0}function vT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;d=yT(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0,(c[f>>2]|0)+16|0)|0;l=e;return d|0}function wT(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;p=o+4|0;h=o;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=xT(c[(c[i>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[h>>2]=c[(c[(c[i>>2]|0)+20>>2]|0)+(c[p>>2]<<2)>>2];while(1){if(!(c[h>>2]|0))break;if((H_((c[h>>2]|0)+40|0,c[j>>2]|0,c[k>>2]|0)|0)==0?(a[(c[h>>2]|0)+40+(c[k>>2]|0)>>0]|0)==0:0)break;c[h>>2]=c[c[h>>2]>>2]}if(c[h>>2]|0){$S(c[i>>2]|0,c[h>>2]|0);c[c[m>>2]>>2]=(c[h>>2]|0)+40+((c[k>>2]|0)+1);c[c[n>>2]>>2]=(c[(c[h>>2]|0)+16>>2]|0)-(40+(c[k>>2]|0)+1);l=o;return 0}else{c[c[m>>2]>>2]=0;c[c[n>>2]>>2]=0;l=o;return 0}return 0}function xT(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[k>>2]=e;c[i>>2]=13;c[h>>2]=(c[k>>2]|0)-1;while(1){a=c[i>>2]|0;if((c[h>>2]|0)<0)break;c[i>>2]=a<<3^c[i>>2]^(d[(c[g>>2]|0)+(c[h>>2]|0)>>0]|0);c[h>>2]=(c[h>>2]|0)+-1}l=j;return (a>>>0)%((c[f>>2]|0)>>>0)|0|0}function yT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+44|0;n=r+40|0;o=r+36|0;p=r+32|0;q=r+28|0;f=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r+24>>2]=32;c[c[q>>2]>>2]=0;c[f>>2]=pe(128)|0;if(!(c[f>>2]|0)){c[m>>2]=7;q=c[m>>2]|0;l=r;return q|0}a=c[f>>2]|0;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[j>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+(c[h>>2]<<2)>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[o>>2]|0)!=0?0!=(H_((c[j>>2]|0)+40|0,c[o>>2]|0,c[p>>2]|0)|0):0)){c[k>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=0;c[i>>2]=0;while(1){a=c[k>>2]|0;b=(c[f>>2]|0)+(c[i>>2]<<2)|0;if(!(c[(c[f>>2]|0)+(c[i>>2]<<2)>>2]|0))break;c[k>>2]=zT(a,c[b>>2]|0)|0;c[(c[f>>2]|0)+(c[i>>2]<<2)>>2]=0;c[i>>2]=(c[i>>2]|0)+1}c[b>>2]=a}c[j>>2]=c[c[j>>2]>>2]}c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=32)break;c[g>>2]=zT(c[g>>2]|0,c[(c[f>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+1}c[(c[n>>2]|0)+8>>2]=0;_d(c[f>>2]|0);c[c[q>>2]>>2]=c[g>>2];c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}function zT(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;n=k+24|0;m=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[n>>2]=b;c[m>>2]=e;c[f>>2]=c[n>>2];c[g>>2]=c[m>>2];c[h>>2]=0;c[i>>2]=h;while(1){if(!(c[f>>2]|0?1:(c[g>>2]|0)!=0))break;b=c[g>>2]|0;if(!(c[f>>2]|0)){c[c[i>>2]>>2]=b;c[g>>2]=0;continue}if(!b){c[c[i>>2]>>2]=c[f>>2];c[f>>2]=0;continue}c[j>>2]=0;while(1){if((a[(c[f>>2]|0)+40+(c[j>>2]|0)>>0]|0)!=(a[(c[g>>2]|0)+40+(c[j>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1}if((d[(c[f>>2]|0)+40+(c[j>>2]|0)>>0]|0)>(d[(c[g>>2]|0)+40+(c[j>>2]|0)>>0]|0)){c[c[i>>2]>>2]=c[g>>2];c[i>>2]=(c[g>>2]|0)+4;c[g>>2]=c[(c[g>>2]|0)+4>>2]}else{c[c[i>>2]>>2]=c[f>>2];c[i>>2]=(c[f>>2]|0)+4;c[f>>2]=c[(c[f>>2]|0)+4>>2]}c[c[i>>2]>>2]=0}l=k;return c[h>>2]|0}function AT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g+16|0;b=g+8|0;d=g+20|0;e=g;c[d>>2]=a;a=e;c[a>>2]=0;c[a+4>>2]=0;if(!(c[(c[d>>2]|0)+36>>2]|0)){if((c[(c[d>>2]|0)+68>>2]|0)==0?(h=c[d>>2]|0,a=(c[d>>2]|0)+68|0,c[f>>2]=c[(c[c[d>>2]>>2]|0)+4>>2],f=uT(h,a,nf(48195,f)|0)|0,c[(c[d>>2]|0)+36>>2]=f,c[(c[d>>2]|0)+36>>2]|0):0){f=b;c[f>>2]=0;c[f+4>>2]=0;f=b;h=f;h=c[h>>2]|0;f=f+4|0;f=c[f>>2]|0;D=f;l=g;return h|0}if(100==(Bs(c[(c[d>>2]|0)+68>>2]|0)|0)){f=jJ(c[(c[d>>2]|0)+68>>2]|0,0)|0;h=e;c[h>>2]=f;c[h+4>>2]=D}h=ys(c[(c[d>>2]|0)+68>>2]|0)|0;c[(c[d>>2]|0)+36>>2]=h}h=c[e+4>>2]|0;f=b;c[f>>2]=c[e>>2];c[f+4>>2]=h;f=b;h=f;h=c[h>>2]|0;f=f+4|0;f=c[f>>2]|0;D=f;l=g;return h|0}function BT(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[c[e>>2]>>2];c[i>>2]=PR(c[e>>2]|0,10,0)|0;if(c[(c[e>>2]|0)+36>>2]|0){i=c[f>>2]|0;l=j;return i|0}b=(c[c[i>>2]>>2]|0)+(c[(c[i>>2]|0)+4>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));d=CT(c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0,h,f)|0;c[(c[e>>2]|0)+36>>2]=d;if((c[(c[e>>2]|0)+36>>2]|0)==0?(c[(c[g>>2]|0)+64>>2]|0)!=(c[h>>2]|0):0){h=DT(c[g>>2]|0,c[h>>2]|0)|0;c[(c[e>>2]|0)+36>>2]=h}AR(c[i>>2]|0);if(!(c[(c[e>>2]|0)+36>>2]|0)){i=c[f>>2]|0;l=j;return i|0}jS(c[f>>2]|0);c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}function CT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;o=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;s=u+36|0;t=u+32|0;f=u+28|0;g=u+24|0;h=u+20|0;i=u+16|0;j=u+12|0;k=u+8|0;m=u+4|0;n=u;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=0;c[t>>2]=0;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;if(c[q>>2]|0){e=OT(c[o>>2]|0)|0;c[c[q>>2]>>2]=e}c[t>>2]=4;q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,g)|0;c[t>>2]=(c[t>>2]|0)+q;q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,h)|0;c[t>>2]=(c[t>>2]|0)+q;c[i>>2]=40+(((c[g>>2]|0)-1|0)*12|0);c[j>>2]=dT(s,c[i>>2]|0)|0;if(!(c[j>>2]|0)){q=c[j>>2]|0;t=c[r>>2]|0;c[t>>2]=q;t=c[s>>2]|0;l=u;return t|0}c[c[j>>2]>>2]=1;c[(c[j>>2]|0)+20>>2]=c[g>>2];c[(c[j>>2]|0)+16>>2]=c[h>>2];q=(RR((c[o>>2]|0)+(c[t>>2]|0)|0,(c[j>>2]|0)+8|0)|0)&255;c[t>>2]=(c[t>>2]|0)+q;c[f>>2]=0;while(1){if(c[s>>2]|0)break;if((c[f>>2]|0)>=(c[g>>2]|0))break;c[k>>2]=(c[j>>2]|0)+24+((c[f>>2]|0)*12|0);c[m>>2]=0;if((c[t>>2]|0)>=(c[p>>2]|0))c[s>>2]=267;else{q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,c[k>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+q;q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,m)|0;c[t>>2]=(c[t>>2]|0)+q;q=dT(s,(c[m>>2]|0)*12|0)|0;c[(c[k>>2]|0)+8>>2]=q}a:do if(!(c[s>>2]|0)){c[(c[k>>2]|0)+4>>2]=c[m>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break a;if((c[t>>2]|0)>=(c[p>>2]|0))break;q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,(c[(c[k>>2]|0)+8>>2]|0)+((c[n>>2]|0)*12|0)|0)|0;c[t>>2]=(c[t>>2]|0)+q;q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,(c[(c[k>>2]|0)+8>>2]|0)+((c[n>>2]|0)*12|0)+4|0)|0;c[t>>2]=(c[t>>2]|0)+q;q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,(c[(c[k>>2]|0)+8>>2]|0)+((c[n>>2]|0)*12|0)+8|0)|0;c[t>>2]=(c[t>>2]|0)+q;c[n>>2]=(c[n>>2]|0)+1}c[s>>2]=267}while(0);c[f>>2]=(c[f>>2]|0)+1}if(!(c[s>>2]|0)){q=c[j>>2]|0;t=c[r>>2]|0;c[t>>2]=q;t=c[s>>2]|0;l=u;return t|0}jS(c[j>>2]|0);c[j>>2]=0;q=c[j>>2]|0;t=c[r>>2]|0;c[t>>2]=q;t=c[s>>2]|0;l=u;return t|0}function DT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+64|0;n=o+8|0;p=o;g=o+52|0;h=o+48|0;q=o+44|0;d=o+40|0;i=o+36|0;j=o+32|0;k=o+28|0;m=o+24|0;e=o+20|0;f=o+16|0;c[g>>2]=a;c[h>>2]=b;c[q>>2]=47911;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[(c[g>>2]|0)+68>>2]=4050;c[(c[g>>2]|0)+72>>2]=4;c[(c[g>>2]|0)+80>>2]=4;c[(c[g>>2]|0)+76>>2]=16;c[(c[g>>2]|0)+84>>2]=1048576;b=c[q>>2]|0;a=c[(c[g>>2]|0)+8>>2]|0;c[p>>2]=c[(c[g>>2]|0)+4>>2];c[p+4>>2]=a;c[d>>2]=ET(j,b,p)|0;if(c[d>>2]|0){c[j>>2]=zv(c[c[g>>2]>>2]|0,c[d>>2]|0,-1,i,0)|0;_d(c[d>>2]|0)}if(!(c[j>>2]|0)){while(1){q=100==(Bs(c[i>>2]|0)|0);a=c[i>>2]|0;if(!q)break;c[m>>2]=Cv(a,0)|0;c[e>>2]=kJ(c[i>>2]|0,1)|0;if(!(kl(c[m>>2]|0,47943)|0)){c[k>>2]=Qi(c[e>>2]|0)|0;continue}else{c[f>>2]=0;FT(c[g>>2]|0,c[m>>2]|0,c[e>>2]|0,f)|0;continue}}c[j>>2]=Fr(a)|0}if((c[j>>2]|0)==0&(c[k>>2]|0)!=4?(c[j>>2]=1,c[(c[g>>2]|0)+96>>2]|0):0){c[n>>2]=c[k>>2];c[n+4>>2]=4;q=nf(47951,n)|0;c[c[(c[g>>2]|0)+96>>2]>>2]=q}if(c[j>>2]|0){q=c[j>>2]|0;l=o;return q|0}c[(c[g>>2]|0)+64>>2]=c[h>>2];q=c[j>>2]|0;l=o;return q|0}function ET(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+24|0;f=i+20|0;g=i+16|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((c[c[e>>2]>>2]|0)==0?(c[h>>2]=d,c[g>>2]=vf(c[f>>2]|0,h)|0,(c[g>>2]|0)==0):0)c[c[e>>2]>>2]=7;l=i;return c[g>>2]|0}function FT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;f=t+24|0;g=t+20|0;h=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=0;if(!(kl(c[o>>2]|0,48016)|0)){c[s>>2]=0;if(1==(Ei(c[p>>2]|0)|0))c[s>>2]=Qi(c[p>>2]|0)|0;if((c[s>>2]|0)<=0|(c[s>>2]|0)>131072){c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}else{c[(c[n>>2]|0)+68>>2]=c[s>>2];s=c[r>>2]|0;l=t;return s|0}}if(!(kl(c[o>>2]|0,48021)|0)){c[f>>2]=-1;if(1==(Ei(c[p>>2]|0)|0))c[f>>2]=Qi(c[p>>2]|0)|0;if((c[f>>2]|0)<=0){c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}else{c[(c[n>>2]|0)+84>>2]=c[f>>2];s=c[r>>2]|0;l=t;return s|0}}if(!(kl(c[o>>2]|0,48030)|0)){c[g>>2]=-1;if(1==(Ei(c[p>>2]|0)|0))c[g>>2]=Qi(c[p>>2]|0)|0;if((c[g>>2]|0)<0|(c[g>>2]|0)>64){c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}if((c[g>>2]|0)==1)c[g>>2]=4;c[(c[n>>2]|0)+72>>2]=c[g>>2];s=c[r>>2]|0;l=t;return s|0}if(!(kl(c[o>>2]|0,48040)|0)){c[h>>2]=-1;if(1==(Ei(c[p>>2]|0)|0))c[h>>2]=Qi(c[p>>2]|0)|0;if((c[h>>2]|0)<2|(c[h>>2]|0)>16){c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}else{c[(c[n>>2]|0)+80>>2]=c[h>>2];s=c[r>>2]|0;l=t;return s|0}}if(!(kl(c[o>>2]|0,48050)|0)){c[i>>2]=-1;if(1==(Ei(c[p>>2]|0)|0))c[i>>2]=Qi(c[p>>2]|0)|0;if((c[i>>2]|0)<0){c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}if((c[i>>2]|0)<=1)c[i>>2]=16;c[(c[n>>2]|0)+76>>2]=c[i>>2];s=c[r>>2]|0;l=t;return s|0}if(kl(c[o>>2]|0,48062)|0){c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}c[j>>2]=Rh(c[p>>2]|0)|0;c[r>>2]=GT(c[j>>2]|0,k,m)|0;if(!(c[r>>2]|0)){_d(c[(c[n>>2]|0)+88>>2]|0);_d(c[(c[n>>2]|0)+92>>2]|0);c[(c[n>>2]|0)+88>>2]=c[k>>2];c[(c[n>>2]|0)+92>>2]=c[m>>2];s=c[r>>2]|0;l=t;return s|0}if((c[r>>2]|0)!=1){s=c[r>>2]|0;l=t;return s|0}c[r>>2]=0;c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}function GT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;p=o+32|0;k=o+28|0;m=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;n=o+8|0;j=o+4|0;f=o;c[p>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g>>2]=c[p>>2];c[i>>2]=0;c[n>>2]=0;c[j>>2]=0;c[c[k>>2]>>2]=0;c[c[m>>2]>>2]=0;do if(c[g>>2]|0){c[g>>2]=HT(c[g>>2]|0)|0;c[h>>2]=c[g>>2];c[g>>2]=IT(c[g>>2]|0)|0;if(c[g>>2]|0){c[i>>2]=dT(j,(c[g>>2]|0)+1-(c[h>>2]|0)|0)|0;if(c[i>>2]|0)h0(c[i>>2]|0,c[h>>2]|0,(c[g>>2]|0)-(c[h>>2]|0)|0)|0}else c[j>>2]=1;if(!(c[j>>2]|0)){c[g>>2]=HT(c[g>>2]|0)|0;if((a[c[g>>2]>>0]|0)!=40)c[j>>2]=1;c[g>>2]=(c[g>>2]|0)+1}if((c[j>>2]|0)==0?(c[g>>2]=HT(c[g>>2]|0)|0,c[f>>2]=c[g>>2],(a[c[g>>2]>>0]|0)!=41):0){c[g>>2]=JT(c[g>>2]|0)|0;if(!(c[g>>2]|0)){c[j>>2]=1;break}c[n>>2]=dT(j,(c[g>>2]|0)+1-(c[f>>2]|0)|0)|0;if(c[n>>2]|0)h0(c[n>>2]|0,c[f>>2]|0,(c[g>>2]|0)-(c[f>>2]|0)|0)|0}}else c[j>>2]=1;while(0);b=c[i>>2]|0;if(c[j>>2]|0){_d(b);p=c[j>>2]|0;l=o;return p|0}else{c[c[k>>2]>>2]=b;c[c[m>>2]>>2]=c[n>>2];p=c[j>>2]|0;l=o;return p|0}return 0}function HT(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=c[d>>2]|0;l=e;return f|0}while(1){if(!(NT(a[c[d>>2]>>0]|0)|0))break;c[d>>2]=(c[d>>2]|0)+1}f=c[d>>2]|0;l=e;return f|0}function IT(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[d>>2];while(1){g=(MT(a[c[e>>2]>>0]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if((b|0)!=(c[d>>2]|0)){g=c[e>>2]|0;l=f;return g|0}c[e>>2]=0;g=c[e>>2]|0;l=f;return g|0}function JT(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[f>>2];while(1){c[d>>2]=HT(c[d>>2]|0)|0;c[d>>2]=KT(c[d>>2]|0)|0;c[d>>2]=HT(c[d>>2]|0)|0;if(!(c[d>>2]|0)){b=7;break}if((a[c[d>>2]>>0]|0)==41){b=7;break}if((a[c[d>>2]>>0]|0)!=44){b=5;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==5){c[d>>2]=0;f=c[d>>2]|0;l=e;return f|0}else if((b|0)==7){f=c[d>>2]|0;l=e;return f|0}return 0}function KT(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=c[f>>2];switch(a[c[g>>2]>>0]|0){case 78:case 110:if(!(ld(23015,c[g>>2]|0,4)|0)){c[g>>2]=(c[g>>2]|0)+4;g=c[g>>2]|0;l=h;return g|0}else{c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}case 88:case 120:{c[g>>2]=(c[g>>2]|0)+1;if((a[c[g>>2]>>0]|0)!=39){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}c[g>>2]=(c[g>>2]|0)+1;while(1){if((a[c[g>>2]>>0]|0)>=97?(a[c[g>>2]>>0]|0)<=102:0)b=1;else e=9;do if((e|0)==9){e=0;if((a[c[g>>2]>>0]|0)>=65?(a[c[g>>2]>>0]|0)<=70:0){b=1;break}if((a[c[g>>2]>>0]|0)>=48)b=(a[c[g>>2]>>0]|0)<=57;else b=0}while(0);d=c[g>>2]|0;if(!b)break;c[g>>2]=d+1}if((a[d>>0]|0)==39?0==(((c[g>>2]|0)-(c[f>>2]|0)|0)%2|0|0):0){c[g>>2]=(c[g>>2]|0)+1;g=c[g>>2]|0;l=h;return g|0}c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}case 39:{c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(c[g>>2]|0)){e=37;break}if((a[c[g>>2]>>0]|0)==39?(c[g>>2]=(c[g>>2]|0)+1,(a[c[g>>2]>>0]|0)!=39):0){e=37;break}f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[g>>2]=(a[c[g>>2]>>0]|0)==0?0:f}if((e|0)==37){g=c[g>>2]|0;l=h;return g|0}break}default:{if(!((a[c[g>>2]>>0]|0)!=43?(a[c[g>>2]>>0]|0)!=45:0))c[g>>2]=(c[g>>2]|0)+1;while(1){e=(LT(a[c[g>>2]>>0]|0)|0)!=0;b=c[g>>2]|0;if(!e)break;c[g>>2]=b+1}a:do if((a[b>>0]|0)==46?LT(a[(c[g>>2]|0)+1>>0]|0)|0:0){c[g>>2]=(c[g>>2]|0)+2;while(1){if(!(LT(a[c[g>>2]>>0]|0)|0))break a;c[g>>2]=(c[g>>2]|0)+1}}while(0);if((c[g>>2]|0)!=(c[f>>2]|0)){g=c[g>>2]|0;l=h;return g|0}c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}}return 0}function LT(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;if((a[c>>0]|0)>=48)b=(a[c>>0]|0)<=57;else b=0;l=d;return b&1|0}function MT(b){b=b|0;var c=0,e=0,f=0,g=0,h=0;h=l;l=l+144|0;f=h+128|0;g=h;a[f>>0]=b;b=g;c=48067;e=b+128|0;do{a[b>>0]=a[c>>0]|0;b=b+1|0;c=c+1|0}while((b|0)<(e|0));if(a[f>>0]&128|0){g=1;g=g&1;l=h;return g|0}g=(d[g+(a[f>>0]|0)>>0]|0)!=0;g=g&1;l=h;return g|0}function NT(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;l=d;return (a[c>>0]|0)==32|0}function OT(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return ((d[c[b>>2]>>0]|0)<<24)+((d[(c[b>>2]|0)+1>>0]|0)<<16)+((d[(c[b>>2]|0)+2>>0]|0)<<8)+(d[(c[b>>2]|0)+3>>0]|0)|0}function PT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;j=g+20|0;k=g;h=g+16|0;i=g+12|0;f=g+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;e=k;c[i>>2]=QT(c[j>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[f>>2]=c[c[i>>2]>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+12>>2];l=g;return c[(c[f>>2]|0)+16>>2]|0}function QT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=c[(c[h>>2]|0)+44>>2];while(1){if(!(c[f>>2]|0)){a=5;break}d=(c[f>>2]|0)+16|0;h=e;if((c[d>>2]|0)==(c[h>>2]|0)?(c[d+4>>2]|0)==(c[h+4>>2]|0):0){a=5;break}c[f>>2]=c[(c[f>>2]|0)+4>>2]}if((a|0)==5){l=g;return c[f>>2]|0}return 0}function RT(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+80|0;z=A;v=A+76|0;w=A+72|0;x=A+68|0;y=A+64|0;h=A+60|0;i=A+56|0;j=A+48|0;k=A+40|0;m=A+36|0;n=A+32|0;o=A+28|0;p=A+24|0;q=A+20|0;r=A+16|0;s=A+12|0;t=A+8|0;u=A+4|0;c[v>>2]=a;c[w>>2]=b;c[x>>2]=d;c[y>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[2191];c[j+4>>2]=c[2192];c[k>>2]=0;c[m>>2]=0;if((c[x>>2]|0)==6?(g$(c[(c[y>>2]|0)+4>>2]|0)|0)==4:0)a=(H_(42437,c[(c[y>>2]|0)+4>>2]|0,4)|0)==0;else a=0;c[n>>2]=a&1;if((c[x>>2]|0)!=5&(c[n>>2]|0)==0){y=nf(48295,z)|0;c[c[i>>2]>>2]=y;c[m>>2]=1;y=c[k>>2]|0;z=c[h>>2]|0;c[z>>2]=y;z=c[m>>2]|0;l=A;return z|0}c[p>>2]=c[(c[y>>2]|0)+((c[n>>2]|0?3:1)<<2)>>2];c[q>>2]=c[(c[y>>2]|0)+((c[n>>2]|0?4:3)<<2)>>2];c[r>>2]=c[(c[y>>2]|0)+((c[n>>2]|0?5:4)<<2)>>2];c[s>>2]=(g$(c[p>>2]|0)|0)+1;c[t>>2]=(g$(c[q>>2]|0)|0)+1;c[u>>2]=0;c[m>>2]=ST(c[r>>2]|0,c[i>>2]|0,u)|0;if(!(c[m>>2]|0))c[m>>2]=MJ(c[v>>2]|0,c[j+(c[u>>2]<<2)>>2]|0)|0;c[o>>2]=32+(c[s>>2]|0)+(c[t>>2]|0);c[k>>2]=dT(m,c[o>>2]|0)|0;if(!(c[k>>2]|0)){y=c[k>>2]|0;z=c[h>>2]|0;c[z>>2]=y;z=c[m>>2]|0;l=A;return z|0}c[(c[k>>2]|0)+24>>2]=c[w>>2];c[(c[k>>2]|0)+28>>2]=c[u>>2];c[(c[k>>2]|0)+20>>2]=c[v>>2];c[(c[k>>2]|0)+12>>2]=(c[k>>2]|0)+32;c[(c[k>>2]|0)+16>>2]=(c[(c[k>>2]|0)+12>>2]|0)+(c[t>>2]|0);h0(c[(c[k>>2]|0)+12>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;h0(c[(c[k>>2]|0)+16>>2]|0,c[p>>2]|0,c[s>>2]|0)|0;TT(c[(c[k>>2]|0)+12>>2]|0);TT(c[(c[k>>2]|0)+16>>2]|0);y=c[k>>2]|0;z=c[h>>2]|0;c[z>>2]=y;z=c[m>>2]|0;l=A;return z|0}function ST(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;i=j;k=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=VT(g,c[k>>2]|0,-1)|0;if(c[g>>2]|0){k=c[g>>2]|0;l=j;return k|0}TT(c[h>>2]|0);do if(kl(c[h>>2]|0,48328)|0)if(!(kl(c[h>>2]|0,48332)|0)){c[c[f>>2]>>2]=1;break}else{c[i>>2]=c[h>>2];k=nf(48336,i)|0;c[c[e>>2]>>2]=k;c[g>>2]=1;break}else c[c[f>>2]>>2]=0;while(0);_d(c[h>>2]|0);k=c[g>>2]|0;l=j;return k|0}function TT(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;f=e+4|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if((((a[f>>0]|0)!=91?(a[f>>0]|0)!=39:0)?(a[f>>0]|0)!=34:0)?(a[f>>0]|0)!=96:0){l=e;return}UT(c[d>>2]|0)|0;l=e;return}function UT(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;f=k+8|0;g=k+12|0;h=k+4|0;i=k;c[f>>2]=b;c[h>>2]=1;c[i>>2]=0;e=a[c[f>>2]>>0]|0;a[g>>0]=e;a[g>>0]=(a[g>>0]|0)==91?93:e;while(1){if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){j=9;break}d=c[f>>2]|0;b=c[h>>2]|0;e=b+1|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)==(a[g>>0]|0)){b=c[h>>2]|0;if((a[d+e>>0]|0)!=(a[g>>0]|0))break;c[h>>2]=b+2;b=a[g>>0]|0;e=c[f>>2]|0;d=c[i>>2]|0;c[i>>2]=d+1;d=e+d|0}else{c[h>>2]=e;b=a[d+b>>0]|0;e=c[f>>2]|0;d=c[i>>2]|0;c[i>>2]=d+1;d=e+d|0}a[d>>0]=b}if((j|0)==9){g=c[f>>2]|0;j=c[i>>2]|0;j=g+j|0;a[j>>0]=0;j=c[h>>2]|0;l=k;return j|0}c[h>>2]=b+1;g=c[f>>2]|0;j=c[i>>2]|0;j=g+j|0;a[j>>0]=0;j=c[h>>2]|0;l=k;return j|0}function VT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;if(c[c[f>>2]>>2]|0){i=c[i>>2]|0;l=j;return i|0}if((c[h>>2]|0)<0)c[h>>2]=g$(c[g>>2]|0)|0;c[i>>2]=pe((c[h>>2]|0)+1|0)|0;if(c[i>>2]|0){h0(c[i>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[i>>2]|0)+(c[h>>2]|0)>>0]=0;i=c[i>>2]|0;l=j;return i|0}else{c[c[f>>2]>>2]=7;i=c[i>>2]|0;l=j;return i|0}return 0}function WT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[o+28>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;if((c[j>>2]|0)%2|0|0){c[m>>2]=1;n=c[m>>2]|0;l=o;return n|0}c[n>>2]=pe(148)|0;a:do if(c[n>>2]|0){m0(c[n>>2]|0,0,148)|0;b=c[n>>2]|0;d=48672;e=b+128|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));c[(c[n>>2]|0)+136>>2]=1;c[(c[n>>2]|0)+132>>2]=64;f=pe(c[(c[n>>2]|0)+132>>2]|0)|0;c[(c[n>>2]|0)+128>>2]=f;if(!(c[(c[n>>2]|0)+128>>2]|0))c[m>>2]=7;c[g>>2]=0;while(1){if(c[m>>2]|0)break a;if((c[g>>2]|0)>=(c[j>>2]|0))break a;c[h>>2]=c[(c[i>>2]|0)+((c[g>>2]|0)+1<<2)>>2];do if(kl(c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,48923)|0){if(!(kl(c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,48800)|0)){c[m>>2]=AU(c[n>>2]|0,c[h>>2]|0,1)|0;break}if(!(kl(c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,48811)|0)){c[m>>2]=AU(c[n>>2]|0,c[h>>2]|0,0)|0;break}else{c[m>>2]=1;break}}else{if((a[c[h>>2]>>0]|0)!=48?(a[c[h>>2]>>0]|0)!=49:0)b=13;else b=12;if((b|0)==12?(b=0,a[(c[h>>2]|0)+1>>0]|0):0)b=13;if((b|0)==13)c[m>>2]=1;c[(c[n>>2]|0)+136>>2]=(a[c[h>>2]>>0]|0)==49&1}while(0);c[g>>2]=(c[g>>2]|0)+2}}else c[m>>2]=7;while(0);if(c[m>>2]|0){XT(c[n>>2]|0);c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];n=c[m>>2]|0;l=o;return n|0}function XT(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=c[b>>2];_d(c[(c[d>>2]|0)+144>>2]|0);_d(c[(c[d>>2]|0)+128>>2]|0);_d(c[d>>2]|0);l=e;return}function YT(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+80|0;C=A+68|0;x=A+64|0;y=A+56|0;B=A+52|0;j=A+48|0;k=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;t=A+12|0;u=A+8|0;v=A+4|0;w=A;c[C>>2]=b;c[x>>2]=e;c[A+60>>2]=f;c[y>>2]=g;c[B>>2]=h;c[j>>2]=i;c[k>>2]=c[C>>2];c[m>>2]=0;c[n>>2]=c[k>>2];c[o>>2]=(c[y>>2]|0)+(c[B>>2]|0);c[p>>2]=c[y>>2];c[q>>2]=c[(c[k>>2]|0)+128>>2];c[r>>2]=c[(c[k>>2]|0)+132>>2];c[s>>2]=(c[q>>2]|0)+((c[r>>2]|0)-6);a:while(1){if(c[m>>2]|0)break;c[u>>2]=c[q>>2];while(1){if((c[p>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break a;if(!(d[c[p>>2]>>0]&128)){b=c[p>>2]|0;if(a[(c[n>>2]|0)+(d[c[p>>2]>>0]|0)>>0]|0){z=18;break}c[p>>2]=b+1;continue}c[v>>2]=(c[p>>2]|0)-(c[y>>2]|0);C=c[p>>2]|0;c[p>>2]=C+1;c[t>>2]=d[C>>0];do if((c[t>>2]|0)>=192){c[t>>2]=d[22127+((c[t>>2]|0)-192)>>0];while(1){if((c[p>>2]|0)!=(c[o>>2]|0))b=(d[c[p>>2]>>0]&192|0)==128;else b=0;e=c[t>>2]|0;if(!b)break;C=c[p>>2]|0;c[p>>2]=C+1;c[t>>2]=(e<<6)+(63&d[C>>0])}if(((e|0)>=128?(c[t>>2]&-2048|0)!=55296:0)?(c[t>>2]&-2|0)!=65534:0)break;c[t>>2]=65533}while(0);if(uU(c[k>>2]|0,c[t>>2]|0)|0){z=37;break}}if((z|0)==18){c[v>>2]=b-(c[y>>2]|0);z=46}while(1){do if((z|0)==37){z=0;c[t>>2]=wU(c[t>>2]|0,c[(c[k>>2]|0)+136>>2]|0)|0;if(c[t>>2]|0){b=c[t>>2]|0;if((c[t>>2]|0)<128){C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=b;break}e=c[t>>2]|0;if((b|0)<2048){B=c[u>>2]|0;c[u>>2]=B+1;a[B>>0]=192+(e>>6&31);B=128+(c[t>>2]&63)&255;C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=B;break}b=c[t>>2]|0;if((e|0)<65536){C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=224+(b>>12&15);C=128+(c[t>>2]>>6&63)&255;B=c[u>>2]|0;c[u>>2]=B+1;a[B>>0]=C;B=128+(c[t>>2]&63)&255;C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=B;break}else{B=c[u>>2]|0;c[u>>2]=B+1;a[B>>0]=240+(b>>18&7);B=128+(c[t>>2]>>12&63)&255;C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=B;C=128+(c[t>>2]>>6&63)&255;B=c[u>>2]|0;c[u>>2]=B+1;a[B>>0]=C;B=128+(c[t>>2]&63)&255;C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=B;break}}}else if((z|0)==46){z=0;if((d[c[p>>2]>>0]|0)>=65?(d[c[p>>2]>>0]|0)<=90:0){B=(d[c[p>>2]>>0]|0)+32&255;C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=B}else{B=a[c[p>>2]>>0]|0;C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=B}c[p>>2]=(c[p>>2]|0)+1}while(0);c[w>>2]=(c[p>>2]|0)-(c[y>>2]|0);if((c[p>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;if((c[u>>2]|0)>>>0>(c[s>>2]|0)>>>0){c[q>>2]=pe(c[r>>2]<<1)|0;if(!(c[q>>2]|0)){z=22;break a}c[u>>2]=(c[q>>2]|0)+((c[u>>2]|0)-(c[(c[k>>2]|0)+128>>2]|0));h0(c[q>>2]|0,c[(c[k>>2]|0)+128>>2]|0,c[r>>2]|0)|0;_d(c[(c[k>>2]|0)+128>>2]|0);c[(c[k>>2]|0)+128>>2]=c[q>>2];C=c[r>>2]<<1;c[r>>2]=C;c[(c[k>>2]|0)+132>>2]=C;c[s>>2]=(c[q>>2]|0)+((c[r>>2]|0)-6)}if(!(d[c[p>>2]>>0]&128))if(!(d[(c[n>>2]|0)+(d[c[p>>2]>>0]|0)>>0]|0))break;else{z=46;continue}C=c[p>>2]|0;c[p>>2]=C+1;c[t>>2]=d[C>>0];do if((c[t>>2]|0)>=192){c[t>>2]=d[22127+((c[t>>2]|0)-192)>>0];while(1){if((c[p>>2]|0)!=(c[o>>2]|0))e=(d[c[p>>2]>>0]&192|0)==128;else e=0;b=c[t>>2]|0;if(!e)break;C=c[p>>2]|0;c[p>>2]=C+1;c[t>>2]=(b<<6)+(63&d[C>>0])}if(((b|0)>=128?(c[t>>2]&-2048|0)!=55296:0)?(c[t>>2]&-2|0)!=65534:0)break;c[t>>2]=65533}while(0);if(uU(c[k>>2]|0,c[t>>2]|0)|0){z=37;continue}if(vU(c[t>>2]|0)|0)z=37;else break}c[m>>2]=Gb[c[j>>2]&255](c[x>>2]|0,0,c[q>>2]|0,(c[u>>2]|0)-(c[q>>2]|0)|0,c[v>>2]|0,c[w>>2]|0)|0}if((z|0)==22)c[m>>2]=7;if((c[m>>2]|0)!=101){C=c[m>>2]|0;l=A;return C|0}c[m>>2]=0;C=c[m>>2]|0;l=A;return C|0}function ZT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[o+28>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;do if(!((c[j>>2]|0)%2|0|0)){c[n>>2]=pe(128)|0;if(!(c[n>>2]|0)){c[m>>2]=7;break}b=c[n>>2]|0;e=b+128|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));b=c[n>>2]|0;d=48672;e=b+128|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));c[g>>2]=0;while(1){if(c[m>>2]|0)break;if((c[g>>2]|0)>=(c[j>>2]|0))break;c[h>>2]=c[(c[i>>2]|0)+((c[g>>2]|0)+1<<2)>>2];do if(kl(c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,48800)|0)if(!(kl(c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,48811)|0)){tU(c[n>>2]|0,c[h>>2]|0,0);break}else{c[m>>2]=1;break}else tU(c[n>>2]|0,c[h>>2]|0,1);while(0);c[g>>2]=(c[g>>2]|0)+2}if(c[m>>2]|0){_T(c[n>>2]|0);c[n>>2]=0}}else c[m>>2]=1;while(0);c[c[k>>2]>>2]=c[n>>2];l=o;return c[m>>2]|0}function _T(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return}function $T(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=l;l=l+128|0;z=x+52|0;u=x+48|0;v=x+40|0;j=x+36|0;k=x+32|0;y=x+28|0;m=x+24|0;n=x+20|0;o=x+16|0;p=x+56|0;q=x+12|0;r=x+8|0;s=x+4|0;t=x;c[z>>2]=b;c[u>>2]=e;c[x+44>>2]=f;c[v>>2]=g;c[j>>2]=h;c[k>>2]=i;c[y>>2]=c[z>>2];c[m>>2]=0;c[o>>2]=0;c[q>>2]=64;c[r>>2]=p;c[s>>2]=c[y>>2];while(1){if(!((c[o>>2]|0)<(c[j>>2]|0)?(c[m>>2]|0)==0:0))break;while(1){if((c[o>>2]|0)<(c[j>>2]|0)?(a[(c[v>>2]|0)+(c[o>>2]|0)>>0]&128|0)==0:0)b=(d[(c[s>>2]|0)+(a[(c[v>>2]|0)+(c[o>>2]|0)>>0]|0)>>0]|0)==0;else b=0;e=c[o>>2]|0;if(!b)break;c[o>>2]=e+1}if((e|0)==(c[j>>2]|0))break;c[n>>2]=(c[o>>2]|0)+1;while(1){if((c[n>>2]|0)<(c[j>>2]|0))if(a[(c[v>>2]|0)+(c[n>>2]|0)>>0]&128|0)b=1;else b=(d[(c[s>>2]|0)+(a[(c[v>>2]|0)+(c[n>>2]|0)>>0]|0)>>0]|0)!=0;else b=0;e=c[n>>2]|0;if(!b)break;c[n>>2]=e+1}c[t>>2]=e-(c[o>>2]|0);if((c[t>>2]|0)>(c[q>>2]|0)){if((c[r>>2]|0)!=(p|0))_d(c[r>>2]|0);c[r>>2]=pe(c[t>>2]<<1)|0;if(!(c[r>>2]|0)){w=19;break}c[q>>2]=c[t>>2]<<1}sU(c[r>>2]|0,(c[v>>2]|0)+(c[o>>2]|0)|0,c[t>>2]|0);c[m>>2]=Gb[c[k>>2]&255](c[u>>2]|0,0,c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,c[n>>2]|0)|0;c[o>>2]=(c[n>>2]|0)+1}if((w|0)==19)c[m>>2]=7;if((c[r>>2]|0)!=(p|0))_d(c[r>>2]|0);if((c[m>>2]|0)!=101){z=c[m>>2]|0;l=x;return z|0}c[m>>2]=0;z=c[m>>2]|0;l=x;return z|0}function aU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+40|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;f=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;c[r>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=c[r>>2];c[p>>2]=0;c[g>>2]=0;c[h>>2]=42586;if((c[m>>2]|0)>0)c[h>>2]=c[c[k>>2]>>2];c[f>>2]=pe(144)|0;if(c[f>>2]|0){m0(c[f>>2]|0,0,144)|0;c[p>>2]=Kb[c[(c[o>>2]|0)+8>>2]&255](c[o>>2]|0,c[h>>2]|0,g,c[f>>2]|0)|0}else c[p>>2]=7;if(!(c[p>>2]|0)){c[i>>2]=(c[m>>2]|0)>0?(c[m>>2]|0)-1|0:0;c[j>>2]=c[i>>2]|0?(c[k>>2]|0)+4|0:0;c[p>>2]=Kb[c[c[f>>2]>>2]&255](c[g>>2]|0,c[j>>2]|0,c[i>>2]|0,(c[f>>2]|0)+12|0)|0}if(!(c[p>>2]|0)){o=c[f>>2]|0;r=c[n>>2]|0;c[r>>2]=o;r=c[p>>2]|0;l=q;return r|0}bU(c[f>>2]|0);c[f>>2]=0;o=c[f>>2]|0;r=c[n>>2]|0;c[r>>2]=o;r=c[p>>2]|0;l=q;return r|0}function bU(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=c[b>>2];if(c[(c[d>>2]|0)+12>>2]|0)Eb[c[(c[d>>2]|0)+4>>2]&255](c[(c[d>>2]|0)+12>>2]|0);_d(c[d>>2]|0);l=e;return}function cU(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;q=h+36|0;o=h+32|0;k=h+28|0;j=h+24|0;i=h+20|0;p=h+16|0;n=h+12|0;m=h;c[q>>2]=a;c[o>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[p>>2]=g;c[n>>2]=c[q>>2];c[m+4>>2]=c[p>>2];c[m>>2]=c[o>>2];c[m+8>>2]=(c[n>>2]|0)+16;g=Gb[c[(c[n>>2]|0)+8>>2]&255](c[(c[n>>2]|0)+12>>2]|0,m,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,148)|0;l=h;return g|0}function dU(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;q=t+36|0;u=t+32|0;r=t+28|0;s=t+24|0;i=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;p=t+40|0;c[u>>2]=b;c[r>>2]=d;c[s>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=c[u>>2];b=c[m>>2]|0;if((c[i>>2]|0)>64|(c[i>>2]|0)<3){c[q>>2]=Gb[c[b+4>>2]&255](c[c[m>>2]>>2]|0,c[r>>2]|0,c[s>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;u=c[q>>2]|0;l=t;return u|0}c[n>>2]=c[b+8>>2];c[o>>2]=c[i>>2];h0(c[n>>2]|0,c[s>>2]|0,c[o>>2]|0)|0;eU(c[n>>2]|0,o);do if(fU(c[n>>2]|0,o)|0?(gU(c[n>>2]|0,o)|0)==0:0){a[p>>0]=a[(c[n>>2]|0)+((c[o>>2]|0)-1)>>0]|0;if(((((hU(a[p>>0]|0,0)|0)==0?(a[p>>0]|0)!=108:0)?(a[p>>0]|0)!=115:0)?(a[p>>0]|0)!=122:0)?(a[p>>0]|0)==(a[(c[n>>2]|0)+((c[o>>2]|0)-2)>>0]|0):0){c[o>>2]=(c[o>>2]|0)+-1;break}if(iU(c[n>>2]|0,c[o>>2]|0)|0?jU(c[n>>2]|0,c[o>>2]|0)|0:0){s=c[n>>2]|0;u=c[o>>2]|0;c[o>>2]=u+1;a[s+u>>0]=101}}while(0);if((a[(c[n>>2]|0)+((c[o>>2]|0)-1)>>0]|0)==121?kU(c[n>>2]|0,(c[o>>2]|0)-1|0)|0:0)a[(c[n>>2]|0)+((c[o>>2]|0)-1)>>0]=105;lU(c[n>>2]|0,o)|0;mU(c[n>>2]|0,o)|0;nU(c[n>>2]|0,o)|0;do if((a[(c[n>>2]|0)+((c[o>>2]|0)-1)>>0]|0)==101){if(!(oU(c[n>>2]|0,(c[o>>2]|0)-1|0)|0)){if(!(iU(c[n>>2]|0,(c[o>>2]|0)-1|0)|0))break;if(jU(c[n>>2]|0,(c[o>>2]|0)-1|0)|0)break}c[o>>2]=(c[o>>2]|0)+-1}while(0);if((((c[o>>2]|0)>1?(a[(c[n>>2]|0)+((c[o>>2]|0)-1)>>0]|0)==108:0)?(a[(c[n>>2]|0)+((c[o>>2]|0)-2)>>0]|0)==108:0)?oU(c[n>>2]|0,(c[o>>2]|0)-1|0)|0:0)c[o>>2]=(c[o>>2]|0)+-1;c[q>>2]=Gb[c[(c[m>>2]|0)+4>>2]&255](c[c[m>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;u=c[q>>2]|0;l=t;return u|0}function eU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[f>>2]>>2];if((a[(c[e>>2]|0)+((c[g>>2]|0)-1)>>0]|0)!=115){l=i;return}if((a[(c[e>>2]|0)+((c[g>>2]|0)-2)>>0]|0)!=101){if((a[(c[e>>2]|0)+((c[g>>2]|0)-2)>>0]|0)==115){l=i;return}c[c[f>>2]>>2]=(c[g>>2]|0)-1;l=i;return}if(!(((c[g>>2]|0)>4?(a[(c[e>>2]|0)+((c[g>>2]|0)-4)>>0]|0)==115:0)?(a[(c[e>>2]|0)+((c[g>>2]|0)-3)>>0]|0)==115:0))h=6;do if((h|0)==6){if((c[g>>2]|0)>3?(a[(c[e>>2]|0)+((c[g>>2]|0)-3)>>0]|0)==105:0)break;c[c[f>>2]>>2]=(c[g>>2]|0)-1;l=i;return}while(0);c[c[f>>2]>>2]=(c[g>>2]|0)-2;l=i;return}function fU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[c[f>>2]>>2];a:do switch(a[(c[e>>2]|0)+((c[h>>2]|0)-2)>>0]|0){case 101:{if((c[h>>2]|0)>3?0==(H_(48661,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-3)|0;a[e>>0]=a[47220]|0;a[e+1>>0]=a[47221]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-3+2;break a}if(((c[h>>2]|0)>2?0==(H_(48665,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0)?kU(c[e>>2]|0,(c[h>>2]|0)-2|0)|0:0){c[c[f>>2]>>2]=(c[h>>2]|0)-2;c[g>>2]=1}break}case 110:{if(((c[h>>2]|0)>3?0==(H_(48668,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?kU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0){c[c[f>>2]>>2]=(c[h>>2]|0)-3;c[g>>2]=1}break}default:{}}while(0);l=i;return c[g>>2]|0}function gU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[c[f>>2]>>2];switch(a[(c[e>>2]|0)+((c[h>>2]|0)-2)>>0]|0){case 97:{if((c[h>>2]|0)>2?0==(H_(48652,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0){e=(c[e>>2]|0)+((c[h>>2]|0)-2)|0;a[e>>0]=a[47233]|0;a[e+1>>0]=a[47234]|0;a[e+2>>0]=a[47235]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-2+3;c[g>>2]=1}break}case 98:{if((c[h>>2]|0)>2?0==(H_(48655,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0){e=(c[e>>2]|0)+((c[h>>2]|0)-2)|0;a[e>>0]=a[47240]|0;a[e+1>>0]=a[47241]|0;a[e+2>>0]=a[47242]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-2+3;c[g>>2]=1}break}case 105:{if((c[h>>2]|0)>2?0==(H_(48658,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0){e=(c[e>>2]|0)+((c[h>>2]|0)-2)|0;a[e>>0]=a[47247]|0;a[e+1>>0]=a[47248]|0;a[e+2>>0]=a[47249]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-2+3;c[g>>2]=1}break}default:{}}l=i;return c[g>>2]|0}function hU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;a[e>>0]=b;c[f>>2]=d;if(((((a[e>>0]|0)!=97?(a[e>>0]|0)!=101:0)?(a[e>>0]|0)!=105:0)?(a[e>>0]|0)!=111:0)?(a[e>>0]|0)!=117:0)if(c[f>>2]|0)b=(a[e>>0]|0)==121;else b=0;else b=1;l=g;return b&1|0}function iU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=pU(c[e>>2]|0,c[f>>2]|0,0)|0;if(c[g>>2]|0?0==(pU((c[e>>2]|0)+(c[g>>2]|0)|0,(c[f>>2]|0)-(c[g>>2]|0)|0,1)|0):0){c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function jU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;if(((a[(c[f>>2]|0)+((c[g>>2]|0)-1)>>0]|0)!=119?(a[(c[f>>2]|0)+((c[g>>2]|0)-1)>>0]|0)!=120:0)?(a[(c[f>>2]|0)+((c[g>>2]|0)-1)>>0]|0)!=121:0){c[i>>2]=0;c[j>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[g>>2]|0))break;c[j>>2]=((hU(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0,c[j>>2]|0)|0)!=0^1)&1;c[i>>2]=(c[i>>2]<<1)+(c[j>>2]|0);c[h>>2]=(c[h>>2]|0)+1}c[e>>2]=(c[i>>2]&7|0)==5&1;j=c[e>>2]|0;l=k;return j|0}c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function kU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){b=6;break}if(hU(a[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0,(c[g>>2]|0)>0&1)|0){b=4;break}c[g>>2]=(c[g>>2]|0)+1}if((b|0)==4){c[h>>2]=1;h=c[h>>2]|0;l=i;return h|0}else if((b|0)==6){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}return 0}function lU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[c[f>>2]>>2];a:do switch(a[(c[e>>2]|0)+((c[h>>2]|0)-2)>>0]|0){case 97:{if((c[h>>2]|0)>7?0==(H_(48524,(c[e>>2]|0)+((c[h>>2]|0)-7)|0,7)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-7|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-7)|0;a[e>>0]=a[47233]|0;a[e+1>>0]=a[47234]|0;a[e+2>>0]=a[47235]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-7+3;break a}if(((c[h>>2]|0)>6?0==(H_(48532,(c[e>>2]|0)+((c[h>>2]|0)-6)|0,6)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-6|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-6)|0;a[e>>0]=a[47266]|0;a[e+1>>0]=a[47267]|0;a[e+2>>0]=a[47268]|0;a[e+3>>0]=a[47269]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-6+4}break}case 99:{if((c[h>>2]|0)>4?0==(H_(48539,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[47276]|0;a[e+1>>0]=a[47277]|0;a[e+2>>0]=a[47278]|0;a[e+3>>0]=a[47279]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+4;break a}if(((c[h>>2]|0)>4?0==(H_(48544,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[47286]|0;a[e+1>>0]=a[47287]|0;a[e+2>>0]=a[47288]|0;a[e+3>>0]=a[47289]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+4}break}case 101:{if(((c[h>>2]|0)>4?0==(H_(48549,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[47247]|0;a[e+1>>0]=a[47248]|0;a[e+2>>0]=a[47249]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+3}break}case 103:{if(((c[h>>2]|0)>4?0==(H_(48554,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[32259]|0;a[e+1>>0]=a[32260]|0;a[e+2>>0]=a[32261]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+3}break}case 108:{if((c[h>>2]|0)>3?0==(H_(48559,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-3)|0;a[e>>0]=a[47240]|0;a[e+1>>0]=a[47241]|0;a[e+2>>0]=a[47242]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-3+3;break a}if((c[h>>2]|0)>4?0==(H_(48563,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[47310]|0;a[e+1>>0]=a[47311]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+2;break a}if((c[h>>2]|0)>5?0==(H_(48568,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47319]|0;a[e+1>>0]=a[47320]|0;a[e+2>>0]=a[47321]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+3;break a}if((c[h>>2]|0)>3?0==(H_(48574,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0))break a;a[(c[e>>2]|0)+((c[h>>2]|0)-3)>>0]=a[47327]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-3+1;break a}if(((c[h>>2]|0)>5?0==(H_(48578,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47335]|0;a[e+1>>0]=a[47336]|0;a[e+2>>0]=a[47337]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+3}break}case 111:{if((c[h>>2]|0)>7?0==(H_(48584,(c[e>>2]|0)+((c[h>>2]|0)-7)|0,7)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-7|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-7)|0;a[e>>0]=a[47247]|0;a[e+1>>0]=a[47248]|0;a[e+2>>0]=a[47249]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-7+3;break a}if((c[h>>2]|0)>5?0==(H_(48592,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47233]|0;a[e+1>>0]=a[47234]|0;a[e+2>>0]=a[47235]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+3;break a}if(((c[h>>2]|0)>4?0==(H_(48598,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[47233]|0;a[e+1>>0]=a[47234]|0;a[e+2>>0]=a[47235]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+3}break}case 115:{if((c[h>>2]|0)>5?0==(H_(48603,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47310]|0;a[e+1>>0]=a[47311]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+2;break a}if((c[h>>2]|0)>7?0==(H_(48609,(c[e>>2]|0)+((c[h>>2]|0)-7)|0,7)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-7|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-7)|0;a[e>>0]=a[47372]|0;a[e+1>>0]=a[47373]|0;a[e+2>>0]=a[47374]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-7+3;break a}if((c[h>>2]|0)>7?0==(H_(48617,(c[e>>2]|0)+((c[h>>2]|0)-7)|0,7)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-7|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-7)|0;a[e>>0]=a[47384]|0;a[e+1>>0]=a[47385]|0;a[e+2>>0]=a[47386]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-7+3;break a}if(((c[h>>2]|0)>7?0==(H_(48625,(c[e>>2]|0)+((c[h>>2]|0)-7)|0,7)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-7|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-7)|0;a[e>>0]=a[47335]|0;a[e+1>>0]=a[47336]|0;a[e+2>>0]=a[47337]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-7+3}break}case 116:{if((c[h>>2]|0)>5?0==(H_(48633,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47310]|0;a[e+1>>0]=a[47311]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+2;break a}if((c[h>>2]|0)>5?0==(H_(48639,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47372]|0;a[e+1>>0]=a[47373]|0;a[e+2>>0]=a[47374]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+3;break a}if(((c[h>>2]|0)>6?0==(H_(48645,(c[e>>2]|0)+((c[h>>2]|0)-6)|0,6)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-6|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-6)|0;a[e>>0]=a[47240]|0;a[e+1>>0]=a[47241]|0;a[e+2>>0]=a[47242]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-6+3}break}default:{}}while(0);l=i;return c[g>>2]|0}function mU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[c[f>>2]>>2];a:do switch(a[(c[e>>2]|0)+((c[h>>2]|0)-2)>>0]|0){case 97:{if(((c[h>>2]|0)>4?0==(H_(48490,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[47421]|0;a[e+1>>0]=a[47422]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+2}break}case 115:{if(((c[h>>2]|0)>4?0==(H_(48495,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-4;break}case 116:{if((c[h>>2]|0)>5?0==(H_(48500,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47421]|0;a[e+1>>0]=a[47422]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+2;break a}if(((c[h>>2]|0)>5?0==(H_(48506,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47421]|0;a[e+1>>0]=a[47422]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+2}break}case 117:{if(((c[h>>2]|0)>3?0==(H_(47384,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}case 118:{if(((c[h>>2]|0)>5?0==(H_(48512,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-5;break}case 122:{if(((c[h>>2]|0)>5?0==(H_(48518,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47310]|0;a[e+1>>0]=a[47311]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+2}break}default:{}}while(0);l=i;return c[g>>2]|0}function nU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[c[f>>2]>>2];a:do switch(a[(c[e>>2]|0)+((c[h>>2]|0)-2)>>0]|0){case 97:{if(((c[h>>2]|0)>2?0==(H_(47310,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-2|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-2;break}case 99:{if((c[h>>2]|0)>4?0==(H_(47286,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0){if(!(oU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-4;break a}if(((c[h>>2]|0)>4?0==(H_(47276,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-4;break}case 101:{if(((c[h>>2]|0)>2?0==(H_(48451,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-2|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-2;break}case 105:{if(((c[h>>2]|0)>2?0==(H_(47421,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-2|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-2;break}case 108:{if((c[h>>2]|0)>4?0==(H_(48454,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0){if(!(oU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-4;break a}if(((c[h>>2]|0)>4?0==(H_(48459,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-4;break}case 110:{if((c[h>>2]|0)>3?0==(H_(48464,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0){if(!(oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-3;break a}if((c[h>>2]|0)>5?0==(H_(48468,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(oU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-5;break a}if((c[h>>2]|0)>4?0==(H_(48474,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0){if(!(oU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-4;break a}if(((c[h>>2]|0)>3?0==(H_(47319,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}case 111:{if((c[h>>2]|0)>3?0==(H_(48479,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0){if(!(qU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-3;break a}if(((c[h>>2]|0)>2?0==(H_(48483,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-2|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-2;break}case 115:{if(((c[h>>2]|0)>3?0==(H_(48486,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}case 116:{if((c[h>>2]|0)>3?0==(H_(47233,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0){if(!(oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-3;break a}if(((c[h>>2]|0)>3?0==(H_(47479,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}case 117:{if(((c[h>>2]|0)>3?0==(H_(47335,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}case 118:{if(((c[h>>2]|0)>3?0==(H_(47372,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}case 122:{if(((c[h>>2]|0)>3?0==(H_(47247,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}default:{}}while(0);l=i;return c[g>>2]|0}function oU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=pU(c[e>>2]|0,c[f>>2]|0,0)|0;if(c[g>>2]|0?pU((c[e>>2]|0)+(c[g>>2]|0)|0,(c[f>>2]|0)-(c[g>>2]|0)|0,1)|0:0){c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function pU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;j=k+20|0;f=k+16|0;g=k+12|0;m=k+8|0;h=k+4|0;i=k;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[i>>2]=c[m>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[g>>2]|0))break;m=((hU(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0,c[i>>2]|0)|0)!=0^1)&1;c[i>>2]=m;if(!m)break;c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1;while(1){if((c[h>>2]|0)>=(c[g>>2]|0)){b=10;break}m=(hU(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0,c[i>>2]|0)|0)!=0^1;c[i>>2]=m&1;d=(c[h>>2]|0)+1|0;if(m){b=8;break}c[h>>2]=d}if((b|0)==8){c[j>>2]=d;m=c[j>>2]|0;l=k;return m|0}else if((b|0)==10){c[j>>2]=0;m=c[j>>2]|0;l=k;return m|0}return 0}function qU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)!=115?(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)!=116:0){f=0;f=f&1;l=g;return f|0}f=(oU(c[e>>2]|0,c[f>>2]|0)|0)!=0;f=f&1;l=g;return f|0}function rU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=((pU(c[f>>2]|0,c[e>>2]|0,0)|0)!=0^1^1)&1;l=d;return b|0}function sU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;j=k+16|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;a[j>>0]=a[(c[g>>2]|0)+(c[i>>2]|0)>>0]|0;if((a[j>>0]|0)>=65?(a[j>>0]|0)<=90:0)a[j>>0]=(a[j>>0]|0)+32;a[(c[f>>2]|0)+(c[i>>2]|0)>>0]=a[j>>0]|0;c[i>>2]=(c[i>>2]|0)+1}l=k;return}function tU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;while(1){if(!(a[(c[g>>2]|0)+(c[i>>2]|0)>>0]|0))break;if(!(a[(c[g>>2]|0)+(c[i>>2]|0)>>0]&128))a[(c[f>>2]|0)+(a[(c[g>>2]|0)+(c[i>>2]|0)>>0]|0)>>0]=c[h>>2];c[i>>2]=(c[i>>2]|0)+1}l=j;return}function uU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=yU(c[e>>2]|0)|0;b=b^(zU(c[f>>2]|0,c[e>>2]|0)|0);l=d;return b|0}function vU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;e=g+8|0;b=g+4|0;d=g;c[e>>2]=a;c[b>>2]=134389727;c[d>>2]=221688;if((c[e>>2]|0)<768|(c[e>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}if((c[e>>2]|0)<800){b=c[b>>2]|0;a=(c[e>>2]|0)-768|0}else{b=c[d>>2]|0;a=(c[e>>2]|0)-768-32|0}c[f>>2]=b&1<>2]|0;l=g;return f|0}function wU(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;f=p;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[g>>2];a=c[g>>2]|0;if((c[g>>2]|0)<128){if(!((a|0)>=65&(c[g>>2]|0)<=90)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=(c[g>>2]|0)+32;o=c[i>>2]|0;l=p;return o|0}if((a|0)>=65536){if(!((c[g>>2]|0)>=66560&(c[g>>2]|0)<66600)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=(c[g>>2]|0)+40;o=c[i>>2]|0;l=p;return o|0}c[k>>2]=162;c[m>>2]=0;c[n>>2]=-1;while(1){if((c[k>>2]|0)<(c[m>>2]|0))break;c[o>>2]=((c[k>>2]|0)+(c[m>>2]|0)|0)/2|0;c[f>>2]=(c[g>>2]|0)-(e[17876+(c[o>>2]<<2)>>1]|0);a=c[o>>2]|0;if((c[f>>2]|0)>=0){c[n>>2]=a;c[m>>2]=(c[o>>2]|0)+1;continue}else{c[k>>2]=a-1;continue}}c[j>>2]=17876+(c[n>>2]<<2);if((c[g>>2]|0)<((e[c[j>>2]>>1]|0)+(d[(c[j>>2]|0)+3>>0]|0)|0)?0==(1&(d[(c[j>>2]|0)+2>>0]|0)&((e[c[j>>2]>>1]|0)^c[g>>2])|0):0)c[i>>2]=(c[g>>2]|0)+(e[18528+((d[(c[j>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[h>>2]|0)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=xU(c[i>>2]|0)|0;o=c[i>>2]|0;l=p;return o|0}function xU(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+336|0;g=p+20|0;h=p+24|0;i=p+226|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;o=p;c[g>>2]=b;h0(h|0,18682,202)|0;b=i;d=48822;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[j>>2]=c[g>>2]<<3|7;c[k>>2]=0;c[m>>2]=100;c[n>>2]=0;while(1){if((c[m>>2]|0)<(c[n>>2]|0))break;c[o>>2]=((c[m>>2]|0)+(c[n>>2]|0)|0)/2|0;b=c[o>>2]|0;if((c[j>>2]|0)>>>0>=(e[h+(c[o>>2]<<1)>>1]|0)>>>0){c[k>>2]=b;c[n>>2]=(c[o>>2]|0)+1;continue}else{c[m>>2]=b-1;continue}}if((c[g>>2]|0)>((e[h+(c[k>>2]<<1)>>1]>>3)+(e[h+(c[k>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;l=p;return o|0}else{o=a[i+(c[k>>2]|0)>>0]|0;l=p;return o|0}return 0}function yU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)>>>0<128){c[b>>2]=(c[8820+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;i=c[b>>2]|0;l=j;return i|0}if(a>>>0>=4194304){c[b>>2]=1;i=c[b>>2]|0;l=j;return i|0}c[e>>2]=c[d>>2]<<10|1023;c[f>>2]=0;c[g>>2]=405;c[h>>2]=0;while(1){if((c[g>>2]|0)<(c[h>>2]|0))break;c[i>>2]=((c[g>>2]|0)+(c[h>>2]|0)|0)/2|0;a=c[i>>2]|0;if((c[e>>2]|0)>>>0>=(c[8836+(c[i>>2]<<2)>>2]|0)>>>0){c[f>>2]=a;c[h>>2]=(c[i>>2]|0)+1;continue}else{c[g>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[8836+(c[f>>2]<<2)>>2]|0)>>>10)+(c[8836+(c[f>>2]<<2)>>2]&1023)|0)>>>0&1;i=c[b>>2]|0;l=j;return i|0}function zU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+24|0;d=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+140>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+144>>2];c[h>>2]=0;c[i>>2]=(c[(c[d>>2]|0)+140>>2]|0)-1;while(1){if((c[i>>2]|0)<(c[h>>2]|0))break a;c[j>>2]=((c[i>>2]|0)+(c[h>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0))break;a=c[j>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)){c[h>>2]=a+1;continue}else{c[i>>2]=a-1;continue}}c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}while(0);c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function AU(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+44|0;g=t+40|0;p=t+36|0;q=t+32|0;h=t+28|0;r=t+24|0;s=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[o>>2]=b;c[g>>2]=e;c[p>>2]=f;c[q>>2]=0;c[h>>2]=g$(c[g>>2]|0)|0;if((c[h>>2]|0)<=0){s=c[q>>2]|0;l=t;return s|0}c[r>>2]=Xf(c[(c[o>>2]|0)+144>>2]|0,(c[h>>2]|0)+(c[(c[o>>2]|0)+140>>2]|0)<<2)|0;if(!(c[r>>2]|0)){c[q>>2]=7;s=c[q>>2]|0;l=t;return s|0}c[s>>2]=c[(c[o>>2]|0)+140>>2];c[i>>2]=c[g>>2];c[j>>2]=(c[g>>2]|0)+(c[h>>2]|0);while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;h=c[i>>2]|0;c[i>>2]=h+1;c[k>>2]=d[h>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[22127+((c[k>>2]|0)-192)>>0];while(1){if((c[i>>2]|0)!=(c[j>>2]|0))b=((d[c[i>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;h=c[i>>2]|0;c[i>>2]=h+1;c[k>>2]=(e<<6)+(63&(d[h>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if((c[k>>2]|0)<128){a[(c[o>>2]|0)+(c[k>>2]|0)>>0]=c[p>>2];continue}c[m>>2]=yU(c[k>>2]|0)|0;if((c[m>>2]|0)==(c[p>>2]|0))continue;if(vU(c[k>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;if((c[(c[r>>2]|0)+(c[n>>2]<<2)>>2]|0)>(c[k>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}k0((c[r>>2]|0)+((c[n>>2]|0)+1<<2)|0,(c[r>>2]|0)+(c[n>>2]<<2)|0,(c[s>>2]|0)-(c[n>>2]|0)<<2|0)|0;c[(c[r>>2]|0)+(c[n>>2]<<2)>>2]=c[k>>2];c[s>>2]=(c[s>>2]|0)+1}c[(c[o>>2]|0)+144>>2]=c[r>>2];c[(c[o>>2]|0)+140>>2]=c[s>>2];s=c[q>>2]|0;l=t;return s|0}function BU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+208|0;C=L+192|0;D=L+188|0;E=L+184|0;M=L+180|0;F=L+176|0;H=L+112|0;I=L+108|0;h=L+104|0;i=L+100|0;j=L+96|0;k=L+92|0;m=L+88|0;n=L+84|0;J=L+80|0;o=L+76|0;p=L+72|0;q=L+68|0;r=L+64|0;K=L+44|0;s=L+40|0;g=L+36|0;t=L+32|0;u=L+28|0;v=L+24|0;w=L+20|0;x=L+16|0;y=L+12|0;z=L+8|0;A=L+4|0;B=L;c[C>>2]=a;c[D>>2]=b;c[E>>2]=d;c[M>>2]=e;c[F>>2]=f;c[I>>2]=0;c[k>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[M>>2]|0)!=5){c[g>>2]=45572;Th(c[E>>2]|0,c[g>>2]|0,-1);l=L;return}c[s>>2]=Hb[c[(c[C>>2]|0)+8>>2]&255](c[D>>2]|0)|0;a=H;b=a+64|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=Qi(c[c[F>>2]>>2]|0)|0;c[H+40>>2]=Rh(c[(c[F>>2]|0)+4>>2]|0)|0;c[H+44>>2]=Rh(c[(c[F>>2]|0)+8>>2]|0)|0;c[i>>2]=Rh(c[(c[F>>2]|0)+12>>2]|0)|0;c[j>>2]=Qi(c[(c[F>>2]|0)+16>>2]|0)|0;c[o>>2]=(c[h>>2]|0)>=0?c[h>>2]|0:0;c[n>>2]=Hb[c[(c[C>>2]|0)+24>>2]&255](c[D>>2]|0)|0;c[J>>2]=pe(c[n>>2]|0)|0;if(!(c[J>>2]|0))c[I>>2]=7;if(!(c[I>>2]|0))c[I>>2]=Mb[c[(c[C>>2]|0)+32>>2]&255](c[D>>2]|0,k)|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;c[m>>2]=0;a:while(1){if((c[m>>2]|0)>=(c[s>>2]|0))break;if(!((c[h>>2]|0)>=0?(c[h>>2]|0)!=(c[m>>2]|0):0))G=11;b:do if((G|0)==11){G=0;c[K>>2]=0;c[K+8>>2]=0;c[I>>2]=Kb[c[(c[C>>2]|0)+44>>2]&255](c[D>>2]|0,c[m>>2]|0,K+16|0,t)|0;if(c[I>>2]|0)break a;c[I>>2]=Nb[c[(c[C>>2]|0)+20>>2]&255](c[D>>2]|0,c[K+16>>2]|0,c[t>>2]|0,K,149)|0;if(c[I>>2]|0)break a;c[I>>2]=Bb[c[(c[C>>2]|0)+48>>2]&255](c[D>>2]|0,c[m>>2]|0,u)|0;if(c[I>>2]|0)break a;c[v>>2]=0;while(1){if(c[I>>2]|0)break b;if((c[v>>2]|0)>=(c[k>>2]|0))break b;c[I>>2]=Nb[c[(c[C>>2]|0)+36>>2]&255](c[D>>2]|0,c[v>>2]|0,w,x,y)|0;do if(!(c[I>>2]|0?1:(c[x>>2]|0)!=(c[m>>2]|0))){m0(c[J>>2]|0,0,c[n>>2]|0)|0;c[I>>2]=LU(c[C>>2]|0,c[D>>2]|0,c[u>>2]|0,c[J>>2]|0,c[m>>2]|0,c[y>>2]|0,c[j>>2]|0,A,z)|0;if((c[I>>2]|0)==0?(c[A>>2]|0)>(c[q>>2]|0):0){c[q>>2]=c[A>>2];c[o>>2]=c[m>>2];c[p>>2]=c[z>>2];c[r>>2]=c[u>>2]}if(((c[I>>2]|0)==0?c[K+8>>2]|0:0)?(c[u>>2]|0)>(c[j>>2]|0):0){c[B>>2]=0;while(1){if((c[B>>2]|0)>=((c[K+8>>2]|0)-1|0))break;if((c[(c[K+12>>2]|0)+((c[B>>2]|0)+1<<2)>>2]|0)>(c[y>>2]|0))break;c[B>>2]=(c[B>>2]|0)+1}if((c[(c[K+12>>2]|0)+(c[B>>2]<<2)>>2]|0)<(c[y>>2]|0)){m0(c[J>>2]|0,0,c[n>>2]|0)|0;c[I>>2]=LU(c[C>>2]|0,c[D>>2]|0,c[u>>2]|0,c[J>>2]|0,c[m>>2]|0,c[(c[K+12>>2]|0)+(c[B>>2]<<2)>>2]|0,c[j>>2]|0,A,0)|0;c[A>>2]=(c[A>>2]|0)+((c[(c[K+12>>2]|0)+(c[B>>2]<<2)>>2]|0)==0?120:100);if(c[I>>2]|0)break;if((c[A>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[A>>2];c[o>>2]=c[m>>2];c[p>>2]=c[(c[K+12>>2]|0)+(c[B>>2]<<2)>>2];c[r>>2]=c[u>>2]}}}while(0);c[v>>2]=(c[v>>2]|0)+1}}while(0);c[m>>2]=(c[m>>2]|0)+1}if(!(c[I>>2]|0))c[I>>2]=Kb[c[(c[C>>2]|0)+44>>2]&255](c[D>>2]|0,c[o>>2]|0,H+48|0,H+52|0)|0;if((c[I>>2]|0)==0&(c[r>>2]|0)==0)c[I>>2]=Bb[c[(c[C>>2]|0)+48>>2]&255](c[D>>2]|0,c[o>>2]|0,r)|0;do if(c[H+48>>2]|0){if(!(c[I>>2]|0))c[I>>2]=GU(c[C>>2]|0,c[D>>2]|0,c[o>>2]|0,H)|0;c[H+32>>2]=c[p>>2];c[H+36>>2]=(c[p>>2]|0)+(c[j>>2]|0)-1;if((c[p>>2]|0)>0)IU(I,H,c[i>>2]|0,-1);while(1){if((c[H+20>>2]|0)<0)break;if(!((c[I>>2]|0)==0?(c[H+20>>2]|0)<(c[p>>2]|0):0))break;c[I>>2]=JU(H)|0}if(!(c[I>>2]|0))c[I>>2]=Nb[c[(c[C>>2]|0)+20>>2]&255](c[D>>2]|0,c[H+48>>2]|0,c[H+52>>2]|0,H,150)|0;if((c[H+36>>2]|0)>=((c[r>>2]|0)-1|0)){IU(I,H,(c[H+48>>2]|0)+(c[H+56>>2]|0)|0,(c[H+52>>2]|0)-(c[H+56>>2]|0)|0);break}else{IU(I,H,c[i>>2]|0,-1);break}}while(0);a=c[E>>2]|0;if(!(c[I>>2]|0))xi(a,c[H+60>>2]|0,-1,-1);else Wi(a,c[I>>2]|0);_d(c[H+60>>2]|0);_d(c[J>>2]|0);_d(c[K+12>>2]|0);l=L;return}function CU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+112|0;k=p+96|0;m=p+92|0;n=p+88|0;q=p+84|0;o=p+80|0;h=p+16|0;i=p+8|0;j=p+4|0;g=p;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[q>>2]=e;c[o>>2]=f;if((c[q>>2]|0)!=3){c[g>>2]=48956;Th(c[n>>2]|0,c[g>>2]|0,-1);l=p;return}c[j>>2]=Qi(c[c[o>>2]>>2]|0)|0;a=h;b=a+64|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h+40>>2]=Rh(c[(c[o>>2]|0)+4>>2]|0)|0;c[h+44>>2]=Rh(c[(c[o>>2]|0)+8>>2]|0)|0;c[i>>2]=Kb[c[(c[k>>2]|0)+44>>2]&255](c[m>>2]|0,c[j>>2]|0,h+48|0,h+52|0)|0;if(c[h+48>>2]|0){if(!(c[i>>2]|0))c[i>>2]=GU(c[k>>2]|0,c[m>>2]|0,c[j>>2]|0,h)|0;if(!(c[i>>2]|0))c[i>>2]=Nb[c[(c[k>>2]|0)+20>>2]&255](c[m>>2]|0,c[h+48>>2]|0,c[h+52>>2]|0,h,150)|0;IU(i,h,(c[h+48>>2]|0)+(c[h+56>>2]|0)|0,(c[h+52>>2]|0)-(c[h+56>>2]|0)|0);if(!(c[i>>2]|0))xi(c[n>>2]|0,c[h+60>>2]|0,-1,-1);_d(c[h+60>>2]|0)}if(!(c[i>>2]|0)){l=p;return}Wi(c[n>>2]|0,c[i>>2]|0);l=p;return}function DU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+96|0;t=A+92|0;u=A+88|0;v=A+84|0;w=A+80|0;x=A+76|0;y=A+72|0;z=A+16|0;i=A+68|0;j=A+64|0;k=A+60|0;m=A+8|0;n=A+56|0;o=A+52|0;p=A+48|0;q=A+44|0;r=A;s=A+40|0;c[t>>2]=a;c[u>>2]=b;c[v>>2]=d;c[w>>2]=e;c[x>>2]=f;h[A+32>>3]=1.2;h[A+24>>3]=.75;c[y>>2]=0;h[z>>3]=0.0;c[k>>2]=0;h[m>>3]=0.0;c[n>>2]=0;c[y>>2]=EU(c[t>>2]|0,c[u>>2]|0,i)|0;if(!(c[y>>2]|0)){c[n>>2]=c[(c[i>>2]|0)+20>>2];m0(c[n>>2]|0,0,c[c[i>>2]>>2]<<3|0)|0;c[y>>2]=Mb[c[(c[t>>2]|0)+32>>2]&255](c[u>>2]|0,k)|0}c[j>>2]=0;while(1){if(c[y>>2]|0)break;if((c[j>>2]|0)>=(c[k>>2]|0))break;c[y>>2]=Nb[c[(c[t>>2]|0)+36>>2]&255](c[u>>2]|0,c[j>>2]|0,o,p,q)|0;if(!(c[y>>2]|0)){if((c[w>>2]|0)>(c[p>>2]|0))g=+Hi(c[(c[x>>2]|0)+(c[p>>2]<<2)>>2]|0);else g=1.0;h[r>>3]=g;f=(c[n>>2]|0)+(c[o>>2]<<3)|0;h[f>>3]=+h[f>>3]+ +h[r>>3]}c[j>>2]=(c[j>>2]|0)+1}if(!(c[y>>2]|0)){c[y>>2]=Bb[c[(c[t>>2]|0)+48>>2]&255](c[u>>2]|0,-1,s)|0;h[m>>3]=+(c[s>>2]|0)}c[j>>2]=0;while(1){if(c[y>>2]|0)break;if((c[j>>2]|0)>=(c[c[i>>2]>>2]|0))break;h[z>>3]=+h[z>>3]+ +h[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>3]*(+h[(c[n>>2]|0)+(c[j>>2]<<3)>>3]*2.2/(+h[(c[n>>2]|0)+(c[j>>2]<<3)>>3]+(+h[m>>3]*.75/+h[(c[i>>2]|0)+8>>3]+.25)*1.2));c[j>>2]=(c[j>>2]|0)+1}a=c[v>>2]|0;if(!(c[y>>2]|0)){Ci(a,+h[z>>3]*-1.0);l=A;return}else{Wi(a,c[y>>2]|0);l=A;return}}function EU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;k=s+60|0;m=s+56|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;r=s+24|0;e=s+16|0;f=s+36|0;g=s+32|0;i=s+8|0;j=s;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=0;c[p>>2]=Mb[c[(c[k>>2]|0)+60>>2]&255](c[m>>2]|0,0)|0;if(c[p>>2]|0){q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}d=r;c[d>>2]=0;c[d+4>>2]=0;d=e;c[d>>2]=0;c[d+4>>2]=0;c[q>>2]=Hb[c[(c[k>>2]|0)+24>>2]&255](c[m>>2]|0)|0;c[f>>2]=24+(c[q>>2]<<1<<3);c[p>>2]=pe(c[f>>2]|0)|0;if(!(c[p>>2]|0))c[o>>2]=7;else{m0(c[p>>2]|0,0,c[f>>2]|0)|0;c[c[p>>2]>>2]=c[q>>2];c[(c[p>>2]|0)+16>>2]=(c[p>>2]|0)+24;c[(c[p>>2]|0)+20>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[q>>2]<<3)}if(!(c[o>>2]|0))c[o>>2]=Mb[c[(c[k>>2]|0)+12>>2]&255](c[m>>2]|0,r)|0;if(!(c[o>>2]|0))c[o>>2]=Bb[c[(c[k>>2]|0)+16>>2]&255](c[m>>2]|0,-1,e)|0;if(!(c[o>>2]|0)){f=e;d=r;h[(c[p>>2]|0)+8>>3]=(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0))/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0))}c[g>>2]=0;while(1){if(c[o>>2]|0)break;if((c[g>>2]|0)>=(c[q>>2]|0))break;d=i;c[d>>2]=0;c[d+4>>2]=0;c[o>>2]=Kb[c[(c[k>>2]|0)+52>>2]&255](c[m>>2]|0,c[g>>2]|0,i,168)|0;if(!(c[o>>2]|0)){d=r;f=i;f=Z$(c[d>>2]|0,c[d+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;d=i;h[j>>3]=+Q(+((+(f>>>0)+4294967296.0*+(D|0)+.5)/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)+.5)));if(+h[j>>3]<=0.0)h[j>>3]=1.0e-06;h[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<3)>>3]=+h[j>>3]}c[g>>2]=(c[g>>2]|0)+1}if(c[o>>2]|0)_d(c[p>>2]|0);else c[o>>2]=Bb[c[(c[k>>2]|0)+56>>2]&255](c[m>>2]|0,c[p>>2]|0,157)|0;if(!(c[o>>2]|0)){q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}c[p>>2]=0;q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}function FU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e+4|0;f=e;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;c[f>>2]=c[g>>2];d=c[f>>2]|0;b=d;b=_$(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[d>>2]=b;c[d+4>>2]=D;l=e;return 0}function GU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;j=h+16|0;i=h+12|0;k=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[i>>2]=b;c[k>>2]=d;c[f>>2]=e;e=c[f>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[c[f>>2]>>2]=c[j>>2];c[(c[f>>2]|0)+4>>2]=c[i>>2];c[(c[f>>2]|0)+8>>2]=c[k>>2];c[g>>2]=Mb[c[(c[j>>2]|0)+32>>2]&255](c[i>>2]|0,(c[f>>2]|0)+16|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;l=h;return k|0}c[g>>2]=JU(c[f>>2]|0)|0;k=c[g>>2]|0;l=h;return k|0}function HU(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+48|0;n=o+36|0;q=o+32|0;p=o+28|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;m=o;c[q>>2]=a;c[p>>2]=b;c[o+24>>2]=d;c[o+20>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[q>>2];c[k>>2]=0;if(c[p>>2]&1|0){c[n>>2]=0;q=c[n>>2]|0;l=o;return q|0}p=(c[j>>2]|0)+28|0;q=c[p>>2]|0;c[p>>2]=q+1;c[m>>2]=q;do if((c[(c[j>>2]|0)+36>>2]|0)>0){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+32>>2]|0)?(c[m>>2]|0)<=(c[(c[j>>2]|0)+36>>2]|0):0){if(!(c[(c[j>>2]|0)+32>>2]|0))break;if((c[m>>2]|0)!=(c[(c[j>>2]|0)+32>>2]|0))break;c[(c[j>>2]|0)+56>>2]=c[h>>2];break}c[n>>2]=0;q=c[n>>2]|0;l=o;return q|0}while(0);if((c[m>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0)){IU(k,c[j>>2]|0,(c[(c[j>>2]|0)+48>>2]|0)+(c[(c[j>>2]|0)+56>>2]|0)|0,(c[h>>2]|0)-(c[(c[j>>2]|0)+56>>2]|0)|0);IU(k,c[j>>2]|0,c[(c[j>>2]|0)+40>>2]|0,-1);c[(c[j>>2]|0)+56>>2]=c[h>>2]}if((c[m>>2]|0)==(c[(c[j>>2]|0)+24>>2]|0)){if(c[(c[j>>2]|0)+36>>2]|0?(c[(c[j>>2]|0)+20>>2]|0)<(c[(c[j>>2]|0)+32>>2]|0):0)IU(k,c[j>>2]|0,c[(c[j>>2]|0)+40>>2]|0,-1);IU(k,c[j>>2]|0,(c[(c[j>>2]|0)+48>>2]|0)+(c[(c[j>>2]|0)+56>>2]|0)|0,(c[i>>2]|0)-(c[(c[j>>2]|0)+56>>2]|0)|0);IU(k,c[j>>2]|0,c[(c[j>>2]|0)+44>>2]|0,-1);c[(c[j>>2]|0)+56>>2]=c[i>>2];if(!(c[k>>2]|0))c[k>>2]=JU(c[j>>2]|0)|0}if((((c[(c[j>>2]|0)+36>>2]|0)>0?(c[m>>2]|0)==(c[(c[j>>2]|0)+36>>2]|0):0)?(IU(k,c[j>>2]|0,(c[(c[j>>2]|0)+48>>2]|0)+(c[(c[j>>2]|0)+56>>2]|0)|0,(c[i>>2]|0)-(c[(c[j>>2]|0)+56>>2]|0)|0),c[(c[j>>2]|0)+56>>2]=c[i>>2],(c[m>>2]|0)>=(c[(c[j>>2]|0)+20>>2]|0)):0)?(c[m>>2]|0)<(c[(c[j>>2]|0)+24>>2]|0):0)IU(k,c[j>>2]|0,c[(c[j>>2]|0)+44>>2]|0,-1);c[n>>2]=c[k>>2];q=c[n>>2]|0;l=o;return q|0}function IU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;f=k+24|0;g=k+20|0;h=k+16|0;i=k+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(c[c[f>>2]>>2]|0){l=k;return}if((c[i>>2]|0)<0)c[i>>2]=g$(c[h>>2]|0)|0;e=c[i>>2]|0;i=c[h>>2]|0;c[j>>2]=c[(c[g>>2]|0)+60>>2];c[j+4>>2]=e;c[j+8>>2]=i;j=nf(49006,j)|0;c[(c[g>>2]|0)+60>>2]=j;if(c[(c[g>>2]|0)+60>>2]|0){l=k;return}c[c[f>>2]>>2]=7;l=k;return}function JU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;i=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[i>>2]=0;c[(c[d>>2]|0)+20>>2]=-1;c[(c[d>>2]|0)+24>>2]=-1;a:while(1){if(c[i>>2]|0){a=12;break}if((c[(c[d>>2]|0)+12>>2]|0)>=(c[(c[d>>2]|0)+16>>2]|0)){a=12;break}c[i>>2]=Nb[c[(c[c[d>>2]>>2]|0)+36>>2]&255](c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+12>>2]|0,e,f,g)|0;if(c[i>>2]|0)continue;do if((c[f>>2]|0)==(c[(c[d>>2]|0)+8>>2]|0)){a=(c[g>>2]|0)-1|0;c[h>>2]=a+(Mb[c[(c[c[d>>2]>>2]|0)+28>>2]&255](c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0)|0);a=c[g>>2]|0;b=c[d>>2]|0;if((c[(c[d>>2]|0)+20>>2]|0)<0){c[b+20>>2]=a;c[(c[d>>2]|0)+24>>2]=c[h>>2];break}if((a|0)>(c[b+24>>2]|0)){a=12;break a}if((c[h>>2]|0)>(c[(c[d>>2]|0)+24>>2]|0))c[(c[d>>2]|0)+24>>2]=c[h>>2]}while(0);b=(c[d>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+1}if((a|0)==12){l=j;return c[i>>2]|0}return 0}function KU(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;o=p+32|0;q=p+28|0;i=p+16|0;j=p+8|0;k=p+4|0;m=p;n=p+36|0;c[o>>2]=b;c[q>>2]=d;c[p+24>>2]=e;c[p+20>>2]=f;c[i>>2]=g;c[p+12>>2]=h;c[j>>2]=0;if(c[q>>2]&1|0){q=c[j>>2]|0;l=p;return q|0}c[k>>2]=c[o>>2];do if((c[c[k>>2]>>2]|0)>0){a[n>>0]=0;c[m>>2]=(c[i>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[n>>0]=a[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]|0)>>0]|0;if((((a[n>>0]|0)!=32?(a[n>>0]|0)!=9:0)?(a[n>>0]|0)!=10:0)?(a[n>>0]|0)!=13:0)break;c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)!=((c[i>>2]|0)-1|0)){if((a[n>>0]|0)!=46?(a[n>>0]|0)!=58:0)break;c[j>>2]=MU(c[k>>2]|0,c[c[k>>2]>>2]|0)|0}}else c[j>>2]=MU(c[k>>2]|0,0)|0;while(0);q=c[k>>2]|0;c[q>>2]=(c[q>>2]|0)+1;q=c[j>>2]|0;l=p;return q|0}function LU(b,e,f,g,h,i,j,k,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+80|0;F=G+72|0;n=G+68|0;o=G+64|0;p=G+60|0;q=G+56|0;r=G+52|0;s=G+48|0;t=G+44|0;u=G+40|0;v=G+36|0;w=G+32|0;x=G+28|0;y=G+24|0;z=G+20|0;A=G+16|0;B=G+12|0;C=G+8|0;D=G+4|0;E=G;c[F>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=m;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=-1;c[C>>2]=0;c[D>>2]=0;c[v>>2]=Mb[c[(c[F>>2]|0)+32>>2]&255](c[n>>2]|0,B)|0;c[w>>2]=0;while(1){if(!((c[w>>2]|0)<(c[B>>2]|0)?(c[v>>2]|0)==0:0))break;c[v>>2]=Nb[c[(c[F>>2]|0)+36>>2]&255](c[n>>2]|0,c[w>>2]|0,x,y,z)|0;if((((c[v>>2]|0)==0?(c[y>>2]|0)==(c[q>>2]|0):0)?(c[z>>2]|0)>=(c[r>>2]|0):0)?(c[z>>2]|0)<((c[r>>2]|0)+(c[s>>2]|0)|0):0){c[C>>2]=(c[C>>2]|0)+(d[(c[p>>2]|0)+(c[x>>2]|0)>>0]|0|0?1:1e3);a[(c[p>>2]|0)+(c[x>>2]|0)>>0]=1;if((c[A>>2]|0)<0)c[A>>2]=c[z>>2];m=c[z>>2]|0;c[D>>2]=m+(Mb[c[(c[F>>2]|0)+28>>2]&255](c[n>>2]|0,c[x>>2]|0)|0)}c[w>>2]=(c[w>>2]|0)+1}c[c[t>>2]>>2]=c[C>>2];if(!(c[u>>2]|0)){F=c[v>>2]|0;l=G;return F|0}c[E>>2]=(c[A>>2]|0)-(((c[s>>2]|0)-((c[D>>2]|0)-(c[A>>2]|0))|0)/2|0);if(((c[E>>2]|0)+(c[s>>2]|0)|0)>(c[o>>2]|0))c[E>>2]=(c[o>>2]|0)-(c[s>>2]|0);if((c[E>>2]|0)<0)c[E>>2]=0;c[c[u>>2]>>2]=c[E>>2];F=c[v>>2]|0;l=G;return F|0}function MU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;do if((c[(c[e>>2]|0)+4>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){if(c[(c[e>>2]|0)+4>>2]|0)a=c[(c[e>>2]|0)+4>>2]<<1;else a=64;c[g>>2]=a;c[h>>2]=Xf(c[(c[e>>2]|0)+12>>2]|0,c[g>>2]<<2)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+12>>2]=c[h>>2];c[(c[e>>2]|0)+4>>2]=c[g>>2];break}c[d>>2]=7;h=c[d>>2]|0;l=i;return h|0}while(0);f=c[f>>2]|0;g=c[(c[e>>2]|0)+12>>2]|0;e=(c[e>>2]|0)+8|0;h=c[e>>2]|0;c[e>>2]=h+1;c[g+(h<<2)>>2]=f;c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}function NU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;RU(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0);l=e;return}function OU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;RU(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,1);l=e;return}function PU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[i>>2]=b;c[f>>2]=d;if((c[i>>2]|0)!=1){Th(c[e>>2]|0,49108,-1);l=h;return}else{c[g>>2]=Qi(c[c[f>>2]>>2]|0)|0;i=c[e>>2]|0;Xh(i,yU(c[g>>2]|0)|0);l=h;return}}function QU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)!=1&(c[f>>2]|0)!=2){Th(c[e>>2]|0,49060,-1);l=j;return}c[i>>2]=0;c[h>>2]=Qi(c[c[g>>2]>>2]|0)|0;if((c[f>>2]|0)==2)c[i>>2]=Qi(c[(c[g>>2]|0)+4>>2]|0)|0;g=c[e>>2]|0;Xh(g,wU(c[h>>2]|0,c[i>>2]|0)|0);l=j;return} +function RU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+80|0;p=z+8|0;f=z;s=z+76|0;k=z+72|0;m=z+68|0;t=z+64|0;n=z+60|0;o=z+56|0;g=z+52|0;u=z+48|0;v=z+44|0;w=z+40|0;h=z+36|0;x=z+32|0;q=z+28|0;i=z+24|0;y=z+20|0;j=z+16|0;r=z+12|0;c[s>>2]=a;c[k>>2]=b;c[m>>2]=d;c[t>>2]=e;c[n>>2]=Qh(c[s>>2]|0)|0;c[o>>2]=Ph(c[s>>2]|0)|0;c[g>>2]=0;c[u>>2]=0;c[v>>2]=0;c[q>>2]=49159;c[y>>2]=0;c[j>>2]=1;a=(c[t>>2]|0)!=0;if((c[k>>2]|0)<1){c[f>>2]=a?49023:49013;c[u>>2]=nf(49167,f)|0;Th(c[s>>2]|0,c[u>>2]|0,-1);_d(c[u>>2]|0);l=z;return}if(a&(c[k>>2]|0)>1){c[q>>2]=Rh(c[(c[m>>2]|0)+4>>2]|0)|0;c[j>>2]=2}c[i>>2]=3+((c[k>>2]|0)-(c[j>>2]|0));c[x>>2]=pe(c[i>>2]<<2)|0;if(!(c[x>>2]|0)){wi(c[s>>2]|0);l=z;return}c[c[x>>2]>>2]=0;c[(c[x>>2]|0)+4>>2]=42567;c[(c[x>>2]|0)+8>>2]=30152;c[h>>2]=3;while(1){a=c[m>>2]|0;if((c[j>>2]|0)>=(c[k>>2]|0))break;d=Rh(c[a+(c[j>>2]<<2)>>2]|0)|0;e=c[x>>2]|0;f=c[h>>2]|0;c[h>>2]=f+1;c[e+(f<<2)>>2]=d;c[j>>2]=(c[j>>2]|0)+1}c[g>>2]=Rh(c[a>>2]|0)|0;c[w>>2]=SU(c[n>>2]|0,c[o>>2]|0,c[i>>2]|0,c[x>>2]|0,y,u)|0;if(!(c[w>>2]|0))c[w>>2]=TU(c[y>>2]|0,c[g>>2]|0,v,u)|0;do if(!(c[w>>2]|0)){do if(c[(c[(c[v>>2]|0)+8>>2]|0)+12>>2]|0){a=c[y>>2]|0;if(c[t>>2]|0){c[r>>2]=UU(a,c[q>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0;break}else{c[r>>2]=VU(a,c[(c[v>>2]|0)+8>>2]|0)|0;break}}else c[r>>2]=nf(55752,p)|0;while(0);if(!(c[r>>2]|0)){c[w>>2]=7;break}else{xi(c[s>>2]|0,c[r>>2]|0,-1,-1);_d(c[r>>2]|0);break}}while(0);do if(c[w>>2]|0){a=c[s>>2]|0;if(c[u>>2]|0){Th(a,c[u>>2]|0,-1);_d(c[u>>2]|0);break}else{Wi(a,c[w>>2]|0);break}}while(0);_d(c[x>>2]|0);WU(c[y>>2]|0);XU(c[v>>2]|0);l=z;return}function SU(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+112|0;E=F+16|0;D=F+8|0;C=F;y=F+100|0;z=F+96|0;A=F+92|0;B=F+88|0;i=F+84|0;j=F+80|0;k=F+76|0;m=F+72|0;n=F+68|0;o=F+64|0;p=F+60|0;q=F+56|0;r=F+52|0;s=F+48|0;t=F+44|0;u=F+40|0;v=F+36|0;w=F+32|0;x=F+28|0;c[z>>2]=b;c[A>>2]=d;c[B>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=0;h=pe(100)|0;c[n>>2]=h;c[c[j>>2]>>2]=h;if(!(c[n>>2]|0)){c[y>>2]=7;E=c[y>>2]|0;l=F;return E|0}b=c[n>>2]|0;d=b+100|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[c[n>>2]>>2]=c[A>>2];c[(c[n>>2]|0)+64>>2]=-1;c[p>>2]=(c[B>>2]|0)*5;A=dT(m,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=A;c[(c[n>>2]|0)+20>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(c[B>>2]<<2);A=VT(m,c[(c[i>>2]|0)+4>>2]|0,-1)|0;c[(c[n>>2]|0)+4>>2]=A;A=VT(m,c[(c[i>>2]|0)+8>>2]|0,-1)|0;c[(c[n>>2]|0)+8>>2]=A;c[(c[n>>2]|0)+44>>2]=1;c[(c[n>>2]|0)+48>>2]=0;if((c[m>>2]|0)==0?(kl(c[(c[n>>2]|0)+8>>2]|0,48062)|0)==0:0){c[C>>2]=c[(c[n>>2]|0)+8>>2];C=nf(49850,C)|0;c[c[k>>2]>>2]=C;c[m>>2]=1}c[o>>2]=3;while(1){if(c[m>>2]|0)break;if((c[o>>2]|0)>=(c[B>>2]|0))break;c[q>>2]=c[(c[i>>2]|0)+(c[o>>2]<<2)>>2];c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[r>>2]=lW(m,c[q>>2]|0,s,v)|0;c[r>>2]=HT(c[r>>2]|0)|0;if(c[r>>2]|0?(a[c[r>>2]>>0]|0)==61:0){c[u>>2]=1;C=(c[r>>2]|0)+1|0;c[r>>2]=C;c[r>>2]=c[v>>2]|0?0:C}c[r>>2]=HT(c[r>>2]|0)|0;if(((c[r>>2]|0?a[c[r>>2]>>0]|0:0)?(c[r>>2]=lW(m,c[r>>2]|0,t,w)|0,c[r>>2]|0):0)?a[c[r>>2]>>0]|0:0)c[r>>2]=0;do if(!(c[m>>2]|0)){if(!(c[r>>2]|0)){c[D>>2]=c[q>>2];C=nf(49879,D)|0;c[c[k>>2]>>2]=C;c[m>>2]=1;break}if(c[u>>2]|0){c[m>>2]=mW(c[z>>2]|0,c[n>>2]|0,c[s>>2]|0,c[t>>2]|0?c[t>>2]|0:55752,c[k>>2]|0)|0;break}else{c[m>>2]=nW(c[n>>2]|0,c[s>>2]|0,c[t>>2]|0,c[k>>2]|0)|0;c[s>>2]=0;break}}while(0);_d(c[s>>2]|0);_d(c[t>>2]|0);c[o>>2]=(c[o>>2]|0)+1}if((c[m>>2]|0)==0?(c[(c[n>>2]|0)+56>>2]|0)==0:0)c[m>>2]=oW(c[z>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)==0?(c[(c[n>>2]|0)+36>>2]|0)==0:0){c[x>>2]=0;if(c[(c[n>>2]|0)+32>>2]|0){if(c[(c[n>>2]|0)+44>>2]|0)c[x>>2]=49899}else c[x>>2]=46221;if(c[x>>2]|0){C=c[(c[n>>2]|0)+8>>2]|0;D=c[x>>2]|0;c[E>>2]=c[(c[n>>2]|0)+4>>2];c[E+4>>2]=C;c[E+8>>2]=D;E=ET(m,49907,E)|0;c[(c[n>>2]|0)+36>>2]=E}}if((c[m>>2]|0)==0?(c[(c[n>>2]|0)+40>>2]|0)==0:0){E=VT(m,26001,-1)|0;c[(c[n>>2]|0)+40>>2]=E}if(!(c[m>>2]|0))c[m>>2]=pW(c[n>>2]|0)|0;if(c[m>>2]|0){WU(c[n>>2]|0);c[c[j>>2]>>2]=0}c[y>>2]=c[m>>2];E=c[y>>2]|0;l=F;return E|0}function TU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+96|0;f=s+80|0;n=s+72|0;o=s+68|0;t=s+64|0;p=s+60|0;q=s+56|0;r=s+32|0;g=s+24|0;h=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;m=s;c[o>>2]=a;c[t>>2]=b;c[p>>2]=d;c[q>>2]=e;c[h>>2]=c[t>>2];c[c[p>>2]>>2]=0;c[c[q>>2]>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[j>>2]=cV(219)|0;if(!(c[j>>2]|0)){c[n>>2]=7;t=c[n>>2]|0;l=s;return t|0}c[r>>2]=c[o>>2];do{c[i>>2]=dV(r,h,g)|0;e=c[j>>2]|0;t=c[i>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];eV(e,t,f,r)}while((c[r+8>>2]|0)==0?(c[i>>2]|0)!=0:0);gV(c[j>>2]|0,164);do if(!(c[r+8>>2]|0)){t=pe(24)|0;c[k>>2]=t;c[c[p>>2]>>2]=t;if(!(c[k>>2]|0)){c[r+8>>2]=7;YU(c[r+20>>2]|0);break}if(!(c[r+20>>2]|0)){c[m>>2]=40;t=dT(r+8|0,40)|0;c[(c[k>>2]|0)+8>>2]=t;if(c[(c[k>>2]|0)+8>>2]|0)c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]=1}else c[(c[k>>2]|0)+8>>2]=c[r+20>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+4>>2]=c[o>>2];c[(c[k>>2]|0)+20>>2]=c[r+16>>2];c[(c[k>>2]|0)+16>>2]=c[r+12>>2];c[r+16>>2]=0}else YU(c[r+20>>2]|0);while(0);_d(c[r+16>>2]|0);c[c[q>>2]>>2]=c[r+4>>2];c[n>>2]=c[r+8>>2];t=c[n>>2]|0;l=s;return t|0}function UU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+160|0;n=I+96|0;g=I+88|0;E=I+80|0;D=I+72|0;C=I+64|0;B=I+56|0;A=I+48|0;z=I+40|0;y=I+32|0;F=I+24|0;r=I+16|0;q=I+8|0;f=I;G=I+156|0;j=I+152|0;k=I+148|0;m=I+144|0;H=I+140|0;w=I+136|0;x=I+132|0;s=I+128|0;t=I+124|0;p=I+120|0;u=I+116|0;v=I+112|0;e=I+108|0;h=I+104|0;i=I+100|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[H>>2]=0;a:do if((c[c[m>>2]>>2]|0)!=11?(c[c[m>>2]>>2]|0)!=4:0){c[e>>2]=0;switch(c[c[m>>2]>>2]|0){case 2:{c[e>>2]=45936;break}case 3:{c[e>>2]=45940;break}default:c[e>>2]=45933}c[g>>2]=c[e>>2];c[H>>2]=nf(21240,g)|0;c[h>>2]=0;while(1){if(!(c[H>>2]|0))break a;if((c[h>>2]|0)>=(c[(c[m>>2]|0)+28>>2]|0))break a;c[i>>2]=UU(c[j>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+32+(c[h>>2]<<2)>>2]|0)|0;a=c[H>>2]|0;if(c[i>>2]|0){c[n>>2]=c[i>>2];c[H>>2]=$U(a,49300,n)|0}else{_d(a);c[H>>2]=0}c[h>>2]=(c[h>>2]|0)+1}}else o=3;while(0);b:do if((o|0)==3){c[w>>2]=c[(c[m>>2]|0)+24>>2];o=c[H>>2]|0;c[f>>2]=c[k>>2];c[H>>2]=$U(o,49253,f)|0;if(!(c[H>>2]|0)){c[G>>2]=0;H=c[G>>2]|0;l=I;return H|0}if(c[(c[w>>2]|0)+4>>2]|0){c[t>>2]=(c[(c[w>>2]|0)+4>>2]|0)+4;c[p>>2]=c[c[(c[w>>2]|0)+4>>2]>>2];a=c[H>>2]|0;b=c[c[t>>2]>>2]|0;if((c[p>>2]|0)==1){c[q>>2]=b;c[H>>2]=$U(a,49257,q)|0}else{c[r>>2]=b;c[H>>2]=$U(a,49266,r)|0;c[x>>2]=1;while(1){a=c[H>>2]|0;if((c[x>>2]|0)>=(c[c[(c[w>>2]|0)+4>>2]>>2]|0))break;c[F>>2]=c[(c[t>>2]|0)+(c[x>>2]<<2)>>2];c[H>>2]=$U(a,49275,F)|0;c[x>>2]=(c[x>>2]|0)+1}c[H>>2]=$U(a,49279,y)|0}if(!(c[H>>2]|0)){c[G>>2]=0;H=c[G>>2]|0;l=I;return H|0}}if((c[(c[w>>2]|0)+8>>2]|0)>1?(F=c[H>>2]|0,c[z>>2]=c[c[w>>2]>>2],c[H>>2]=$U(F,49282,z)|0,(c[H>>2]|0)==0):0){c[G>>2]=0;H=c[G>>2]|0;l=I;return H|0}c[H>>2]=$U(c[H>>2]|0,49292,A)|0;if(!(c[H>>2]|0)){c[G>>2]=0;H=c[G>>2]|0;l=I;return H|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[w>>2]|0)+8>>2]|0))break b;c[u>>2]=c[(c[w>>2]|0)+12+(c[x>>2]<<2)>>2];c[H>>2]=$U(c[H>>2]|0,49295,B)|0;c[s>>2]=0;while(1){if(!(c[H>>2]|0))break;if((c[s>>2]|0)>=(c[(c[u>>2]|0)+16>>2]|0))break;c[v>>2]=c[(c[u>>2]|0)+20+(c[s>>2]<<4)+4>>2];F=c[H>>2]|0;A=c[v>>2]|0;c[C>>2]=(c[s>>2]|0)==0?55752:23021;c[C+4>>2]=A;c[H>>2]=$U(F,23403,C)|0;if(c[(c[u>>2]|0)+20+(c[s>>2]<<4)>>2]|0)c[H>>2]=$U(c[H>>2]|0,29578,D)|0;c[s>>2]=(c[s>>2]|0)+1}if(c[H>>2]|0)c[H>>2]=$U(c[H>>2]|0,49298,E)|0;if(!(c[H>>2]|0))break;c[x>>2]=(c[x>>2]|0)+1}c[G>>2]=0;H=c[G>>2]|0;l=I;return H|0}while(0);c[G>>2]=c[H>>2];H=c[G>>2]|0;l=I;return H|0}function VU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+128|0;v=A+48|0;u=A+40|0;t=A+32|0;w=A+24|0;f=A+16|0;e=A+8|0;x=A+120|0;o=A+116|0;p=A+112|0;y=A+108|0;q=A+104|0;r=A+100|0;s=A+96|0;d=A+92|0;g=A+88|0;h=A+84|0;i=A+80|0;j=A+76|0;k=A+72|0;m=A+68|0;n=A+64|0;c[o>>2]=a;c[p>>2]=b;c[y>>2]=0;if(!(c[c[p>>2]>>2]|0)){c[x>>2]=nf(49208,A)|0;z=c[x>>2]|0;l=A;return z|0}a:do if((c[c[p>>2]>>2]|0)!=11?(c[c[p>>2]>>2]|0)!=4:0){c[i>>2]=0;switch(c[c[p>>2]>>2]|0){case 2:{c[i>>2]=34303;break}case 3:{c[i>>2]=49233;break}default:c[i>>2]=49239}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[p>>2]|0)+28>>2]|0))break a;c[k>>2]=VU(c[o>>2]|0,c[(c[p>>2]|0)+32+(c[j>>2]<<2)>>2]|0)|0;if(!(c[k>>2]|0)){_d(c[y>>2]|0);c[y>>2]=0}else{c[m>>2]=c[c[(c[p>>2]|0)+32+(c[j>>2]<<2)>>2]>>2];if((c[m>>2]|0)!=11&(c[m>>2]|0)!=4)a=(c[m>>2]|0)!=0;else a=0;c[n>>2]=a&1;w=c[y>>2]|0;s=c[n>>2]|0?34324:55752;t=c[k>>2]|0;u=c[n>>2]|0?34322:55752;c[v>>2]=(c[j>>2]|0)==0?55752:c[i>>2]|0;c[v+4>>2]=s;c[v+8>>2]=t;c[v+12>>2]=u;c[y>>2]=$U(w,49244,v)|0}if(!(c[y>>2]|0))break a;c[j>>2]=(c[j>>2]|0)+1}}else z=5;while(0);do if((z|0)==5){c[q>>2]=c[(c[p>>2]|0)+24>>2];if(c[(c[q>>2]|0)+4>>2]|0?(c[d>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+4>>2],z=c[y>>2]|0,c[e>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[d>>2]<<2)>>2],c[y>>2]=$U(z,49211,e)|0,(c[y>>2]|0)==0):0){c[x>>2]=0;z=c[x>>2]|0;l=A;return z|0}if((c[(c[q>>2]|0)+8>>2]|0)>1?(c[y>>2]=$U(c[y>>2]|0,49217,f)|0,(c[y>>2]|0)==0):0){c[x>>2]=0;z=c[x>>2]|0;l=A;return z|0}c[r>>2]=0;b:while(1){a=c[q>>2]|0;if((c[r>>2]|0)>=(c[(c[q>>2]|0)+8>>2]|0)){z=24;break}c[g>>2]=c[a+12+(c[r>>2]<<2)>>2];if(c[r>>2]|0?(c[y>>2]=$U(c[y>>2]|0,23021,w)|0,(c[y>>2]|0)==0):0){z=15;break}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[g>>2]|0)+16>>2]|0))break;c[h>>2]=aV((c[g>>2]|0)+20+(c[s>>2]<<4)|0)|0;if(c[h>>2]|0){z=c[y>>2]|0;v=c[h>>2]|0;c[t>>2]=(c[s>>2]|0)==0?55752:49223;c[t+4>>2]=v;c[y>>2]=$U(z,23403,t)|0;_d(c[h>>2]|0)}if((c[h>>2]|0)==0|(c[y>>2]|0)==0){z=21;break b}c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}if((z|0)==15){c[x>>2]=0;z=c[x>>2]|0;l=A;return z|0}else if((z|0)==21){_d(c[y>>2]|0);c[x>>2]=0;z=c[x>>2]|0;l=A;return z|0}else if((z|0)==24){if((c[a+8>>2]|0)<=1)break;z=c[y>>2]|0;c[u>>2]=c[c[q>>2]>>2];c[y>>2]=$U(z,49227,u)|0;if(c[y>>2]|0)break;c[x>>2]=0;z=c[x>>2]|0;l=A;return z|0}}while(0);c[x>>2]=c[y>>2];z=c[x>>2]|0;l=A;return z|0}function WU(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}if(c[(c[b>>2]|0)+56>>2]|0)Eb[c[(c[(c[b>>2]|0)+60>>2]|0)+4>>2]&255](c[(c[b>>2]|0)+56>>2]|0);_d(c[(c[b>>2]|0)+4>>2]|0);_d(c[(c[b>>2]|0)+8>>2]|0);c[d>>2]=0;while(1){a=c[(c[b>>2]|0)+16>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+12>>2]|0))break;_d(c[a+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}_d(a);_d(c[(c[b>>2]|0)+28>>2]|0);_d(c[(c[b>>2]|0)+88>>2]|0);_d(c[(c[b>>2]|0)+92>>2]|0);_d(c[(c[b>>2]|0)+36>>2]|0);_d(c[(c[b>>2]|0)+40>>2]|0);_d(c[(c[b>>2]|0)+52>>2]|0);_d(c[b>>2]|0);l=e;return}function XU(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}YU(c[(c[b>>2]|0)+8>>2]|0);_d(c[(c[b>>2]|0)+20>>2]|0);_d(c[b>>2]|0);l=d;return}function YU(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;YU(c[a+32+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}ZU(c[a+24>>2]|0);_d(c[b>>2]|0);l=e;return}function ZU(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+8>>2]|0))break;_U(c[a+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}_d(c[a+4>>2]|0);_d(c[b>>2]|0);l=e;return}function _U(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;if(!(c[b>>2]|0)){l=h;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+16>>2]|0))break;c[g>>2]=a+20+(c[d>>2]<<4);_d(c[(c[g>>2]|0)+4>>2]|0);mS(c[(c[g>>2]|0)+8>>2]|0);c[e>>2]=c[(c[g>>2]|0)+12>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+12>>2];mS(c[(c[e>>2]|0)+8>>2]|0);nS((c[e>>2]|0)+16|0);_d(c[e>>2]|0);c[e>>2]=c[f>>2]}c[d>>2]=(c[d>>2]|0)+1}if((c[a+4+8>>2]|0)>0)nS((c[b>>2]|0)+4|0);_d(c[b>>2]|0);l=h;return}function $U(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;h=i;e=i+40|0;k=i+36|0;f=i+32|0;j=i+16|0;g=i+8|0;c[e>>2]=a;c[k>>2]=b;c[j>>2]=d;c[f>>2]=vf(c[k>>2]|0,j)|0;if(!((c[e>>2]|0)!=0&(c[f>>2]|0)!=0)){k=c[e>>2]|0;_d(k);k=c[f>>2]|0;l=i;return k|0}k=c[f>>2]|0;c[h>>2]=c[e>>2];c[h+4>>2]=k;c[g>>2]=nf(23403,h)|0;_d(c[f>>2]|0);c[f>>2]=c[g>>2];k=c[e>>2]|0;_d(k);k=c[f>>2]|0;l=i;return k|0}function aV(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;d=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[d>>2]=0;c[f>>2]=c[e>>2];while(1){if(!(c[f>>2]|0))break;b=((g$(c[(c[e>>2]|0)+4>>2]|0)|0)<<1)+3+2|0;c[d>>2]=(c[d>>2]|0)+b;c[f>>2]=c[(c[f>>2]|0)+12>>2]}c[g>>2]=pe(c[d>>2]|0)|0;if(!(c[g>>2]|0)){i=c[g>>2]|0;l=j;return i|0}c[h>>2]=0;c[f>>2]=c[e>>2];while(1){if(!(c[f>>2]|0))break;c[i>>2]=c[(c[f>>2]|0)+4>>2];k=c[g>>2]|0;d=c[h>>2]|0;c[h>>2]=d+1;b=34;d=k+d|0;while(1){a[d>>0]=b;if(!(a[c[i>>2]>>0]|0))break;if((a[c[i>>2]>>0]|0)==34){d=c[g>>2]|0;k=c[h>>2]|0;c[h>>2]=k+1;a[d+k>>0]=34}b=c[i>>2]|0;c[i>>2]=b+1;b=a[b>>0]|0;k=c[g>>2]|0;d=c[h>>2]|0;c[h>>2]=d+1;d=k+d|0}d=c[g>>2]|0;k=c[h>>2]|0;c[h>>2]=k+1;a[d+k>>0]=34;if(c[(c[f>>2]|0)+12>>2]|0){d=c[g>>2]|0;k=c[h>>2]|0;c[h>>2]=k+1;a[d+k>>0]=124}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if(c[c[e>>2]>>2]|0){k=c[g>>2]|0;i=c[h>>2]|0;c[h>>2]=i+1;a[k+i>>0]=32;i=c[g>>2]|0;k=c[h>>2]|0;c[h>>2]=k+1;a[i+k>>0]=42}i=c[g>>2]|0;k=c[h>>2]|0;c[h>>2]=k+1;a[i+k>>0]=0;k=c[g>>2]|0;l=j;return k|0}function bV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=pe(c[e>>2]|0)|0;l=d;return b|0}function cV(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=Mb[c[f>>2]&255](1208,0)|0;if(!(c[d>>2]|0)){f=c[d>>2]|0;l=e;return f|0}c[c[d>>2]>>2]=(c[d>>2]|0)+8;a[(c[d>>2]|0)+8>>0]=0;a[(c[d>>2]|0)+8+1>>0]=0;f=c[d>>2]|0;l=e;return f|0}function dV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;i=r+8|0;h=r;m=r+40|0;f=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;k=r+12|0;c[f>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=c[c[n>>2]>>2];while(1){e=(kW(a[c[p>>2]>>0]|0)|0)!=0;b=c[p>>2]|0;if(!e)break;c[p>>2]=b+1}c[c[o>>2]>>2]=b;c[(c[o>>2]|0)+4>>2]=1;a:do switch(a[c[p>>2]>>0]|0){case 40:{c[q>>2]=6;break}case 41:{c[q>>2]=7;break}case 123:{c[q>>2]=9;break}case 125:{c[q>>2]=10;break}case 58:{c[q>>2]=5;break}case 44:{c[q>>2]=12;break}case 43:{c[q>>2]=13;break}case 42:{c[q>>2]=14;break}case 45:{c[q>>2]=8;break}case 0:{c[q>>2]=0;break}case 34:{c[q>>2]=11;c[g>>2]=(c[p>>2]|0)+1;while(1){if((a[c[g>>2]>>0]|0)==34?(c[g>>2]=(c[g>>2]|0)+1,(a[c[g>>2]>>0]|0)!=34):0){j=21;break}if(!(a[c[g>>2]>>0]|0))break;c[g>>2]=(c[g>>2]|0)+1}if((j|0)==21){c[(c[o>>2]|0)+4>>2]=(c[g>>2]|0)-(c[p>>2]|0);break a}oV(c[f>>2]|0,49799,h);c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}default:{if(!(MT(a[c[p>>2]>>0]|0)|0)){q=c[f>>2]|0;c[i>>2]=c[p>>2];oV(q,49819,i);c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}c[q>>2]=11;c[k>>2]=(c[p>>2]|0)+1;while(1){j=(MT(a[c[k>>2]>>0]|0)|0)!=0;b=c[k>>2]|0;if(!j)break;c[k>>2]=b+1}c[(c[o>>2]|0)+4>>2]=b-(c[p>>2]|0);if((c[(c[o>>2]|0)+4>>2]|0)==2?(H_(c[c[o>>2]>>2]|0,45933,2)|0)==0:0)c[q>>2]=1;if((c[(c[o>>2]|0)+4>>2]|0)==3?(H_(c[c[o>>2]>>2]|0,45940,3)|0)==0:0)c[q>>2]=3;if((c[(c[o>>2]|0)+4>>2]|0)==3?(H_(c[c[o>>2]>>2]|0,45936,3)|0)==0:0)c[q>>2]=2}}while(0);c[c[n>>2]>>2]=(c[c[o>>2]>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0);c[m>>2]=c[q>>2];q=c[m>>2]|0;l=r;return q|0}function eV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;f=k+32|0;n=k+24|0;g=k+20|0;m=k+16|0;h=k+8|0;i=k+4|0;j=k;c[n>>2]=a;c[g>>2]=b;c[m>>2]=e;c[j>>2]=c[n>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];while(1){c[i>>2]=kV(c[j>>2]|0,c[g>>2]&255)|0;do if((c[i>>2]|0)>>>0>70)if((c[i>>2]|0)>>>0<=96){mV(c[j>>2]|0,(c[i>>2]|0)-71|0);break}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];m=c[j>>2]|0;n=c[g>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];nV(m,n,f);iV(c[j>>2]|0,c[g>>2]&255,h);c[g>>2]=28;break}else{e=c[j>>2]|0;m=c[i>>2]|0;n=c[g>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];lV(e,m,n,f);c[g>>2]=28}while(0);if((c[g>>2]|0)==28){f=9;break}if((c[c[j>>2]>>2]|0)>>>0<=((c[j>>2]|0)+8|0)>>>0){f=9;break}}if((f|0)==9){l=k;return}}function fV(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return}function gV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if(!(c[e>>2]|0)){l=f;return}while(1){if((c[c[e>>2]>>2]|0)>>>0<=((c[e>>2]|0)+8|0)>>>0)break;hV(c[e>>2]|0)}Eb[c[d>>2]&255](c[e>>2]|0);l=f;return}function hV(b){b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-12;c[e>>2]=b;iV(c[f>>2]|0,a[(c[e>>2]|0)+1>>0]|0,(c[e>>2]|0)+4|0);l=d;return}function iV(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=l;l=l+16|0;j=h+8|0;i=h+12|0;g=h+4|0;c[j>>2]=b;a[i>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[j>>2]|0)+4>>2];switch(d[i>>0]|0|0){case 16:{l=h;return}case 19:case 18:case 17:{YU(c[c[g>>2]>>2]|0);l=h;return}case 23:case 20:{ZU(c[c[g>>2]>>2]|0);l=h;return}case 22:case 21:{_d(c[c[g>>2]>>2]|0);l=h;return}case 24:{jV(c[c[g>>2]>>2]|0);l=h;return}default:{l=h;return}}}function jV(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_U(c[d>>2]|0);l=b;return}function kV(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+12|0;k=j+8|0;g=j+16|0;h=j+4|0;i=j;c[k>>2]=b;a[g>>0]=e;c[i>>2]=d[c[c[k>>2]>>2]>>0];b=c[i>>2]|0;if((c[i>>2]|0)>=71){c[f>>2]=b;k=c[f>>2]|0;l=j;return k|0}c[h>>2]=d[49656+b>>0];c[h>>2]=(c[h>>2]|0)+(d[g>>0]|0);if(!((c[h>>2]|0)<0|(c[h>>2]|0)>=85)?(d[49685+(c[h>>2]|0)>>0]|0|0)==(d[g>>0]|0|0):0){c[f>>2]=d[49404+(c[h>>2]|0)>>0];k=c[f>>2]|0;l=j;return k|0}c[f>>2]=d[49770+(c[i>>2]|0)>>0];k=c[f>>2]|0;l=j;return k|0}function lV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;e=c[g>>2]|0;c[e>>2]=(c[e>>2]|0)+12;if((c[c[g>>2]>>2]|0)>>>0>=((c[g>>2]|0)+8+1200|0)>>>0){pV(c[g>>2]|0);l=k;return}if((c[h>>2]|0)>28)c[h>>2]=(c[h>>2]|0)+26;c[j>>2]=c[c[g>>2]>>2];a[c[j>>2]>>0]=c[h>>2];a[(c[j>>2]|0)+1>>0]=c[i>>2];j=(c[j>>2]|0)+4|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];l=k;return}function mV(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[(c[f>>2]|0)+4>>2];c[j>>2]=c[c[f>>2]>>2];if((d[49337+(c[g>>2]<<1)+1>>0]|0|0)==0?(c[c[f>>2]>>2]|0)>>>0>=((c[f>>2]|0)+8+1188|0)>>>0:0){pV(c[f>>2]|0);l=o;return}do switch(c[g>>2]|0){case 0:{qV(c[m>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break}case 1:{c[n>>2]=rV(c[m>>2]|0,2,c[(c[j>>2]|0)+-24+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,0)|0;c[(c[j>>2]|0)+-24+4>>2]=c[n>>2];break}case 2:{c[n>>2]=rV(c[m>>2]|0,1,c[(c[j>>2]|0)+-24+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,0)|0;c[(c[j>>2]|0)+-24+4>>2]=c[n>>2];break}case 3:{c[n>>2]=rV(c[m>>2]|0,3,c[(c[j>>2]|0)+-24+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,0)|0;c[(c[j>>2]|0)+-24+4>>2]=c[n>>2];break}case 4:{c[(c[j>>2]|0)+-24+4>>2]=c[(c[j>>2]|0)+-12+4>>2];break}case 6:case 5:{c[n>>2]=c[(c[j>>2]|0)+4>>2];c[(c[j>>2]|0)+4>>2]=c[n>>2];break}case 7:{c[n>>2]=sV(c[m>>2]|0,c[(c[j>>2]|0)+-12+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+-12+4>>2]=c[n>>2];break}case 8:{c[n>>2]=rV(c[m>>2]|0,11,0,0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=c[n>>2];break}case 9:{tV(c[m>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+-24+4>>2]|0);c[n>>2]=rV(c[m>>2]|0,11,0,0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+-24+4>>2]=c[n>>2];break}case 10:{n=uV(c[m>>2]|0,c[(c[j>>2]|0)+-12+4>>2]|0)|0;c[(c[j>>2]|0)+-36+4>>2]=n;break}case 11:{c[(c[j>>2]|0)+-24+4>>2]=c[(c[j>>2]|0)+-12+4>>2];break}case 12:{c[n>>2]=vV(c[m>>2]|0,0,(c[j>>2]|0)+4|0)|0;c[(c[j>>2]|0)+4>>2]=c[n>>2];break}case 13:{n=vV(c[m>>2]|0,0,(c[j>>2]|0)+4|0)|0;c[(c[j>>2]|0)+-12+4>>2]=n;n=uV(c[m>>2]|0,c[(c[j>>2]|0)+-12+4>>2]|0)|0;c[(c[j>>2]|0)+-12+4>>2]=n;break}case 14:{c[n>>2]=vV(c[m>>2]|0,c[(c[j>>2]|0)+-12+4>>2]|0,(c[j>>2]|0)+4|0)|0;c[(c[j>>2]|0)+-12+4>>2]=c[n>>2];break}case 15:{c[n>>2]=vV(c[m>>2]|0,0,(c[j>>2]|0)+4|0)|0;c[(c[j>>2]|0)+4>>2]=c[n>>2];break}case 16:{c[n>>2]=wV(c[m>>2]|0,0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=c[n>>2];break}case 17:{xV(c[m>>2]|0,(c[j>>2]|0)+-48+4|0);yV(c[m>>2]|0,c[(c[j>>2]|0)+-24+4>>2]|0,(c[j>>2]|0)+-12+4|0);c[n>>2]=c[(c[j>>2]|0)+-24+4>>2];c[(c[j>>2]|0)+-48+4>>2]=c[n>>2];break}case 18:{c[n>>2]=wV(c[m>>2]|0,0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=c[n>>2];break}case 19:{c[n>>2]=wV(c[m>>2]|0,c[(c[j>>2]|0)+-12+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+-12+4>>2]=c[n>>2];break}case 20:{c[(c[j>>2]|0)+12+4>>2]=0;c[(c[j>>2]|0)+12+4+4>>2]=0;break}case 21:{n=(c[j>>2]|0)+-12+4|0;m=(c[j>>2]|0)+4|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];break}case 22:{c[n>>2]=zV(c[m>>2]|0,c[(c[j>>2]|0)+-36+4>>2]|0,(c[j>>2]|0)+-12+4|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+-36+4>>2]=c[n>>2];break}case 23:{c[n>>2]=zV(c[m>>2]|0,0,(c[j>>2]|0)+-12+4|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+-12+4>>2]=c[n>>2];break}case 24:{c[(c[j>>2]|0)+4>>2]=1;break}case 25:{c[(c[j>>2]|0)+12+4>>2]=0;break}default:{}}while(0);c[h>>2]=d[49337+(c[g>>2]<<1)>>0];c[k>>2]=d[49337+(c[g>>2]<<1)+1>>0];c[i>>2]=AV(d[(c[j>>2]|0)+((0-(c[k>>2]|0)|0)*12|0)>>0]|0,c[h>>2]&255)|0;if((c[i>>2]|0)>70){n=c[f>>2]|0;c[n>>2]=(c[n>>2]|0)+((0-(c[k>>2]|0)|0)*12|0);BV(c[f>>2]|0);l=o;return}if((c[i>>2]|0)>28)c[i>>2]=(c[i>>2]|0)+26;c[j>>2]=(c[j>>2]|0)+((0-((c[k>>2]|0)-1)|0)*12|0);c[c[f>>2]>>2]=c[j>>2];a[c[j>>2]>>0]=c[i>>2];a[(c[j>>2]|0)+1>>0]=c[h>>2];l=o;return}function nV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;h=e;f=e+16|0;g=e+8|0;c[f>>2]=a;c[e+12>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];b=c[g>>2]|0;a=c[d>>2]|0;c[h>>2]=c[d+4>>2];c[h+4>>2]=a;oV(b,49306,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];l=e;return}function oV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+8>>2]|0){l=h;return}d=vf(c[f>>2]|0,g)|0;c[(c[e>>2]|0)+4>>2]=d;c[(c[e>>2]|0)+8>>2]=1;l=h;return}function pV(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-12;while(1){if((c[c[b>>2]>>2]|0)>>>0<=((c[b>>2]|0)+8|0)>>>0)break;hV(c[b>>2]|0)}oV(c[d>>2]|0,49628,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];l=f;return}function qV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];l=d;return}function rV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;r=s;m=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;q=s+24|0;g=s+20|0;h=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[g>>2]=f;c[h>>2]=0;do if(!(c[(c[n>>2]|0)+8>>2]|0)){c[i>>2]=0;if((c[o>>2]|0)==11&(c[g>>2]|0)==0){c[m>>2]=0;r=c[m>>2]|0;l=s;return r|0}if((c[o>>2]|0)!=11&(c[p>>2]|0)==0){c[m>>2]=c[q>>2];r=c[m>>2]|0;l=s;return r|0}if((c[o>>2]|0)!=11&(c[q>>2]|0)==0){c[m>>2]=c[p>>2];r=c[m>>2]|0;l=s;return r|0}if((c[o>>2]|0)!=3){if((c[o>>2]|0)==2|(c[o>>2]|0)==1){c[i>>2]=2;if((c[c[p>>2]>>2]|0)==(c[o>>2]|0))c[i>>2]=(c[i>>2]|0)+((c[(c[p>>2]|0)+28>>2]|0)-1);if((c[c[q>>2]>>2]|0)==(c[o>>2]|0))c[i>>2]=(c[i>>2]|0)+((c[(c[q>>2]|0)+28>>2]|0)-1)}}else c[i>>2]=2;c[j>>2]=40+((c[i>>2]|0)-1<<2);c[h>>2]=dT((c[n>>2]|0)+8|0,c[j>>2]|0)|0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[o>>2];c[(c[h>>2]|0)+24>>2]=c[g>>2];GV(c[h>>2]|0);if((c[o>>2]|0)!=11){HV(c[h>>2]|0,c[p>>2]|0);HV(c[h>>2]|0,c[q>>2]|0);break}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[c[(c[g>>2]|0)+12+(c[k>>2]<<2)>>2]>>2]=c[h>>2];if(!(c[(c[(c[g>>2]|0)+12+(c[k>>2]<<2)>>2]|0)+16>>2]|0)){c[(c[h>>2]|0)+12>>2]=0;c[c[h>>2]>>2]=0}c[k>>2]=(c[k>>2]|0)+1}if(c[(c[c[n>>2]>>2]|0)+48>>2]|0){if((c[(c[g>>2]|0)+8>>2]|0)==1?(c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]|0)<=1:0)break;c[(c[n>>2]|0)+8>>2]=1;c[r>>2]=(c[(c[g>>2]|0)+8>>2]|0)==1?49571:45944;r=nf(49578,r)|0;c[(c[n>>2]|0)+4>>2]=r;_d(c[h>>2]|0);c[h>>2]=0}}}while(0);if(!(c[h>>2]|0)){YU(c[p>>2]|0);YU(c[q>>2]|0);ZU(c[g>>2]|0)}c[m>>2]=c[h>>2];r=c[m>>2]|0;l=s;return r|0}function sV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){YU(a);YU(c[g>>2]|0);j=c[h>>2]|0;l=k;return j|0}b=c[f>>2]|0;if((c[a>>2]|0)==2)c[i>>2]=c[b+32+((c[(c[f>>2]|0)+28>>2]|0)-1<<2)>>2];else c[i>>2]=b;if(!(c[c[g>>2]>>2]|0)){YU(c[g>>2]|0);c[h>>2]=c[f>>2];j=(c[e>>2]|0)+12|0;c[j>>2]=(c[j>>2]|0)+-1;j=c[h>>2]|0;l=k;return j|0}if(c[c[i>>2]>>2]|0){c[h>>2]=rV(c[e>>2]|0,2,c[f>>2]|0,c[g>>2]|0,0)|0;j=c[h>>2]|0;l=k;return j|0}a=c[g>>2]|0;if((c[i>>2]|0)==(c[f>>2]|0))c[h>>2]=a;else{c[(c[f>>2]|0)+32+((c[(c[f>>2]|0)+28>>2]|0)-1<<2)>>2]=a;c[h>>2]=c[f>>2]}c[j>>2]=(c[(c[e>>2]|0)+16>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-1-(c[(c[(c[g>>2]|0)+24>>2]|0)+8>>2]|0)<<2);k0(c[j>>2]|0,(c[j>>2]|0)+4|0,c[(c[(c[g>>2]|0)+24>>2]|0)+8>>2]<<2|0)|0;j=(c[e>>2]|0)+12|0;c[j>>2]=(c[j>>2]|0)+-1;YU(c[i>>2]|0);j=c[h>>2]|0;l=k;return j|0}function tV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;g=h+8|0;f=h+4|0;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;if((c[(c[c[e>>2]>>2]|0)+48>>2]|0)==1){c[(c[e>>2]|0)+8>>2]=1;g=nf(49518,h)|0;c[(c[e>>2]|0)+4>>2]=g;_d(c[f>>2]|0);l=h;return}a=c[f>>2]|0;if(c[g>>2]|0){c[(c[g>>2]|0)+4>>2]=a;l=h;return}else{_d(a);l=h;return}}function uV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[d>>2]=b;c[f>>2]=c[(c[c[j>>2]>>2]|0)+12>>2];c[e>>2]=dT((c[j>>2]|0)+8|0,8+(c[f>>2]<<2)|0)|0;if(!(c[e>>2]|0)){j=c[d>>2]|0;_d(j);j=c[e>>2]|0;l=i;return j|0}c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0))break;if((c[h>>2]|0)<(c[c[d>>2]>>2]|0)?(c[(c[d>>2]|0)+4+(c[h>>2]<<2)>>2]|0)==(c[g>>2]|0):0)c[h>>2]=(c[h>>2]|0)+1;else{a=c[g>>2]|0;b=(c[e>>2]|0)+4|0;k=c[e>>2]|0;j=c[k>>2]|0;c[k>>2]=j+1;c[b+(j<<2)>>2]=a}c[g>>2]=(c[g>>2]|0)+1}k=c[d>>2]|0;_d(k);k=c[e>>2]|0;l=i;return k|0}function vV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;k=m;e=m+28|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=d;c[g>>2]=0;c[i>>2]=VT((c[e>>2]|0)+8|0,c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0)|0;if(!(c[(c[e>>2]|0)+8>>2]|0)){c[j>>2]=c[c[e>>2]>>2];TT(c[i>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;if(!(kl(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[h>>2]<<2)>>2]|0,c[i>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1}a=c[e>>2]|0;if((c[h>>2]|0)==(c[(c[j>>2]|0)+12>>2]|0)){c[k>>2]=c[i>>2];oV(a,34753,k)}else c[g>>2]=FV(a,c[f>>2]|0,c[h>>2]|0)|0;_d(c[i>>2]|0)}if(c[g>>2]|0){n=c[g>>2]|0;l=m;return n|0}_d(c[f>>2]|0);n=c[g>>2]|0;l=m;return n|0}function wV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;i=o+36|0;j=o+32|0;k=o+28|0;m=o+24|0;n=o+16|0;e=o+12|0;f=o+8|0;g=o+4|0;h=o;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[o+20>>2]=8;c[n>>2]=0;do if(!(c[(c[j>>2]|0)+8>>2]|0)){a=c[k>>2]|0;if(!(c[m>>2]|0)){c[i>>2]=a;n=c[i>>2]|0;l=o;return n|0}if(!a){c[e>>2]=48;c[n>>2]=pe(c[e>>2]|0)|0;if(!(c[n>>2]|0)){c[(c[j>>2]|0)+8>>2]=7;break}else{m0(c[n>>2]|0,0,c[e>>2]|0)|0;break}}a=c[k>>2]|0;if((c[(c[k>>2]|0)+8>>2]|0)%8|0|0){c[n>>2]=a;break}c[f>>2]=(c[a+8>>2]|0)+8;c[g>>2]=16+(c[f>>2]<<2);c[n>>2]=Xf(c[k>>2]|0,c[g>>2]|0)|0;if(!(c[n>>2]|0))c[(c[j>>2]|0)+8>>2]=7}while(0);if(!(c[n>>2]|0)){ZU(c[k>>2]|0);jV(c[m>>2]|0)}else{do if((c[(c[n>>2]|0)+8>>2]|0)>0){c[h>>2]=c[(c[n>>2]|0)+12+((c[(c[n>>2]|0)+8>>2]|0)-1<<2)>>2];if(!(c[(c[m>>2]|0)+16>>2]|0)){_U(c[m>>2]|0);k=(c[n>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+-1;k=(c[j>>2]|0)+12|0;c[k>>2]=(c[k>>2]|0)+-1;c[m>>2]=c[h>>2];break}if(!(c[(c[h>>2]|0)+16>>2]|0)){_U(c[h>>2]|0);c[(c[(c[j>>2]|0)+16>>2]|0)+((c[(c[j>>2]|0)+12>>2]|0)-2<<2)>>2]=c[m>>2];k=(c[j>>2]|0)+12|0;c[k>>2]=(c[k>>2]|0)+-1;k=(c[n>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+-1}}while(0);j=c[m>>2]|0;k=(c[n>>2]|0)+12|0;h=(c[n>>2]|0)+8|0;m=c[h>>2]|0;c[h>>2]=m+1;c[k+(m<<2)>>2]=j}c[i>>2]=c[n>>2];n=c[i>>2]|0;l=o;return n|0}function xV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g;d=g+12|0;e=g+8|0;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+4>>2]|0)==4?(H_(45944,c[c[e>>2]>>2]|0,4)|0)==0:0){l=g;return}d=c[d>>2]|0;b=c[c[e>>2]>>2]|0;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[f+4>>2]=b;oV(d,49306,f);l=g;return}function yV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){l=n;return}c[i>>2]=0;a:do if(c[(c[h>>2]|0)+4>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[h>>2]|0)+4>>2]|0))break a;a[k>>0]=a[(c[c[h>>2]>>2]|0)+(c[j>>2]|0)>>0]|0;if((a[k>>0]|0)<48)break;if((a[k>>0]|0)>57)break;c[i>>2]=((c[i>>2]|0)*10|0)+((a[(c[c[h>>2]>>2]|0)+(c[j>>2]|0)>>0]|0)-48);c[j>>2]=(c[j>>2]|0)+1}k=c[f>>2]|0;j=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[h>>2]|0)+4>>2];c[m+4>>2]=j;oV(k,49489,m);l=n;return}else c[i>>2]=10;while(0);c[c[g>>2]>>2]=c[i>>2];l=n;return}function zV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;n=s+52|0;o=s+48|0;p=s+44|0;t=s+40|0;q=s+36|0;r=s+32|0;f=s+24|0;g=s+20|0;h=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;m=s;c[o>>2]=a;c[p>>2]=b;c[t>>2]=d;c[q>>2]=e;c[r>>2]=c[c[o>>2]>>2];c[h>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f>>2]=c[p>>2];c[g>>2]=CV(c[t>>2]|0,h)|0;if(!(c[g>>2]|0)){c[i>>2]=1|(c[q>>2]|0?1:0);TT(c[h>>2]|0);c[j>>2]=g$(c[h>>2]|0)|0;c[g>>2]=EV(c[r>>2]|0,c[i>>2]|0,c[h>>2]|0,c[j>>2]|0,f,151)|0}_d(c[h>>2]|0);if(!(c[g>>2]|0)?(t=c[f+4>>2]|0,c[g>>2]=t,!(t|0)):0){if(!(c[p>>2]|0)){do if(!((c[(c[o>>2]|0)+12>>2]|0)%8|0)){c[k>>2]=(c[(c[o>>2]|0)+12>>2]|0)+8<<2;c[m>>2]=Xf(c[(c[o>>2]|0)+16>>2]|0,c[k>>2]|0)|0;if(c[m>>2]|0){c[(c[o>>2]|0)+16>>2]=c[m>>2];break}c[(c[o>>2]|0)+8>>2]=7;_U(c[f>>2]|0);c[n>>2]=0;t=c[n>>2]|0;l=s;return t|0}while(0);t=(c[o>>2]|0)+12|0;c[t>>2]=(c[t>>2]|0)+1}if(c[f>>2]|0){if(c[(c[f>>2]|0)+16>>2]|0)c[(c[f>>2]|0)+20+((c[(c[f>>2]|0)+16>>2]|0)-1<<4)>>2]=c[q>>2]}else c[f>>2]=dT((c[o>>2]|0)+8|0,36)|0;c[(c[(c[o>>2]|0)+16>>2]|0)+((c[(c[o>>2]|0)+12>>2]|0)-1<<2)>>2]=c[f>>2]}else{c[(c[o>>2]|0)+8>>2]=c[g>>2];_U(c[f>>2]|0);c[f>>2]=0}c[n>>2]=c[f>>2];t=c[n>>2]|0;l=s;return t|0}function AV(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+4|0;h=g+8|0;f=g;c[i>>2]=b;a[h>>0]=e;c[f>>2]=a[49389+(c[i>>2]|0)>>0];c[f>>2]=(c[f>>2]|0)+(d[h>>0]|0);l=g;return d[49404+(c[f>>2]|0)>>0]|0}function BV(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=c[e>>2];l=b;return}function CV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=0;b=VT(d,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;c[c[f>>2]>>2]=b;l=e;return c[d>>2]|0}function DV(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+64|0;t=v+60|0;w=v+56|0;j=v+52|0;u=v+48|0;m=v+44|0;n=v+32|0;o=v+24|0;p=v+20|0;h=v+16|0;i=v+12|0;q=v+8|0;r=v+4|0;s=v;c[w>>2]=a;c[j>>2]=b;c[u>>2]=d;c[m>>2]=e;c[v+40>>2]=f;c[v+36>>2]=g;c[n>>2]=0;c[v+28>>2]=8;c[o>>2]=c[w>>2];c[p>>2]=c[c[o>>2]>>2];if(c[(c[o>>2]|0)+4>>2]|0){c[t>>2]=c[(c[o>>2]|0)+4>>2];w=c[t>>2]|0;l=v;return w|0}if((c[m>>2]|0)>32768)c[m>>2]=32768;do if((c[p>>2]|0?(c[(c[p>>2]|0)+16>>2]|0)>0:0)?c[j>>2]&1|0:0){c[i>>2]=28+(c[m>>2]|0)+1;c[h>>2]=pe(c[i>>2]|0)|0;if(!(c[h>>2]|0)){c[n>>2]=7;break}else{m0(c[h>>2]|0,0,c[i>>2]|0)|0;c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+16+12;h0(c[(c[h>>2]|0)+4>>2]|0,c[u>>2]|0,c[m>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=c[(c[p>>2]|0)+20+((c[(c[p>>2]|0)+16>>2]|0)-1<<4)+12>>2];c[(c[p>>2]|0)+20+((c[(c[p>>2]|0)+16>>2]|0)-1<<4)+12>>2]=c[h>>2];break}}else k=11;while(0);if((k|0)==11){if(!((c[p>>2]|0)!=0?((c[(c[p>>2]|0)+16>>2]|0)%8|0|0)!=0:0))k=13;do if((k|0)==13){if(c[p>>2]|0)a=c[(c[p>>2]|0)+16>>2]|0;else a=0;c[s>>2]=8+a;c[r>>2]=Xf(c[p>>2]|0,36+(c[s>>2]<<4)|0)|0;if(!(c[r>>2]|0)){c[n>>2]=7;break}if(!(c[p>>2]|0)){a=c[r>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0))}w=c[r>>2]|0;c[p>>2]=w;c[c[o>>2]>>2]=w;c[(c[r>>2]|0)+16>>2]=(c[s>>2]|0)-8}while(0);if(!(c[n>>2]|0)){s=(c[p>>2]|0)+20|0;r=(c[p>>2]|0)+16|0;w=c[r>>2]|0;c[r>>2]=w+1;c[q>>2]=s+(w<<4);w=c[q>>2]|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=VT(n,c[u>>2]|0,c[m>>2]|0)|0;c[(c[q>>2]|0)+4>>2]=w}}c[(c[o>>2]|0)+4>>2]=c[n>>2];c[t>>2]=c[n>>2];w=c[t>>2]|0;l=v;return w|0}function EV(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;i=p+4|0;j=p;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;if(!(c[o>>2]|0)){c[k>>2]=0;o=c[k>>2]|0;l=p;return o|0}else{c[k>>2]=Gb[c[(c[(c[m>>2]|0)+60>>2]|0)+8>>2]&255](c[(c[m>>2]|0)+56>>2]|0,c[i>>2]|0,c[n>>2]|0,c[o>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;o=c[k>>2]|0;l=p;return o|0}return 0}function FV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;e=p+4|0;f=p;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;if(c[i>>2]|0)a=c[c[i>>2]>>2]|0;else a=0;c[k>>2]=a;c[m>>2]=Xf(c[i>>2]|0,8+(c[k>>2]<<2)|0)|0;if(!(c[m>>2]|0))c[(c[h>>2]|0)+8>>2]=7;else{c[n>>2]=(c[m>>2]|0)+4;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[k>>2]|0))break;if((c[(c[n>>2]|0)+(c[e>>2]<<2)>>2]|0)==(c[j>>2]|0)){o=8;break}if((c[(c[n>>2]|0)+(c[e>>2]<<2)>>2]|0)>(c[j>>2]|0))break;c[e>>2]=(c[e>>2]|0)+1}if((o|0)==8){c[g>>2]=c[m>>2];o=c[g>>2]|0;l=p;return o|0}c[f>>2]=c[k>>2];while(1){if((c[f>>2]|0)<=(c[e>>2]|0))break;c[(c[n>>2]|0)+(c[f>>2]<<2)>>2]=c[(c[n>>2]|0)+((c[f>>2]|0)-1<<2)>>2];c[f>>2]=(c[f>>2]|0)+-1}c[(c[n>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2];c[c[m>>2]>>2]=(c[k>>2]|0)+1}c[g>>2]=c[m>>2];o=c[g>>2]|0;l=p;return o|0}function GV(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;a:do switch(c[c[b>>2]>>2]|0){case 11:{c[d>>2]=c[(c[b>>2]|0)+24>>2];if(((c[(c[d>>2]|0)+8>>2]|0)==1?(c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]|0)==1:0)?(c[(c[(c[d>>2]|0)+12>>2]|0)+20+12>>2]|0)==0:0){c[c[b>>2]>>2]=4;a=c[b>>2]|0;b=151;break a}a=c[b>>2]|0;b=152;break}case 1:{a=c[b>>2]|0;b=153;break}case 2:{a=c[b>>2]|0;b=154;break}default:{a=c[b>>2]|0;b=155}}while(0);c[a+12>>2]=b;l=e;return}function HV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)!=3?(c[c[e>>2]>>2]|0)==(c[c[d>>2]>>2]|0):0){c[f>>2]=c[(c[e>>2]|0)+28>>2]<<2;h0((c[d>>2]|0)+32+(c[(c[d>>2]|0)+28>>2]<<2)|0,(c[e>>2]|0)+32|0,c[f>>2]|0)|0;f=(c[d>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(c[(c[e>>2]|0)+28>>2]|0);_d(c[e>>2]|0);l=g;return}b=c[e>>2]|0;e=(c[d>>2]|0)+32|0;d=(c[d>>2]|0)+28|0;f=c[d>>2]|0;c[d>>2]=f+1;c[e+(f<<2)>>2]=b;l=g;return}function IV(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+24|0;j=n+20|0;o=n+16|0;k=n;m=n+12|0;h=n+8|0;c[i>>2]=a;c[j>>2]=b;c[o>>2]=e;a=k;c[a>>2]=f;c[a+4>>2]=g;c[h>>2]=c[(c[(c[(c[j>>2]|0)+24>>2]|0)+12>>2]|0)+20+8>>2];a=c[h>>2]|0;if(c[o>>2]|0){o=k;c[m>>2]=VV(a,c[o>>2]|0,c[o+4>>2]|0)|0}else c[m>>2]=WV(a)|0;if((c[m>>2]|0)==0?(d[(c[h>>2]|0)+16>>0]|0|0)==0:0){c[m>>2]=jW(c[i>>2]|0,c[j>>2]|0)|0;o=c[m>>2]|0;l=n;return o|0}c[(c[j>>2]|0)+4>>2]=1;c[(c[j>>2]|0)+8>>2]=0;o=c[m>>2]|0;l=n;return o|0}function JV(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;r=t+52|0;s=t+48|0;o=t+44|0;p=t+16|0;h=t+40|0;q=t+36|0;i=t+32|0;j=t+28|0;k=t+8|0;m=t;n=t+24|0;c[r>>2]=a;c[s>>2]=b;c[o>>2]=e;e=p;c[e>>2]=f;c[e+4>>2]=g;c[h>>2]=(c[(c[(c[s>>2]|0)+24>>2]|0)+12>>2]|0)+20;c[q>>2]=0;c[(c[s>>2]|0)+8>>2]=0;if(c[(c[h>>2]|0)+12>>2]|0){c[i>>2]=1;g=UV(c[h>>2]|0,c[(c[r>>2]|0)+12>>2]|0,0)|0;n=k;c[n>>2]=g;c[n+4>>2]=D;c[j>>2]=c[h>>2];a:while(1){if(!(c[j>>2]|0))break;b:do if(!(d[(c[(c[j>>2]|0)+8>>2]|0)+16>>0]|0)){g=c[(c[j>>2]|0)+8>>2]|0;n=c[g+4>>2]|0;h=m;c[h>>2]=c[g>>2];c[h+4>>2]=n;h=m;n=k;do if(!((c[h>>2]|0)==(c[n>>2]|0)?(c[h+4>>2]|0)==(c[n+4>>2]|0):0)){if((c[o>>2]|0?(h=m,n=p,(c[h>>2]|0)!=(c[n>>2]|0)?1:(c[h+4>>2]|0)!=(c[n+4>>2]|0)):0)?(h=m,f=c[h+4>>2]|0,n=p,g=c[n+4>>2]|0,(((f|0)>(g|0)|((f|0)==(g|0)?(c[h>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))&1|0)==(c[(c[r>>2]|0)+12>>2]|0)):0)break;c[i>>2]=0;break b}while(0);a=c[(c[j>>2]|0)+8>>2]|0;if(c[o>>2]|0){n=p;c[q>>2]=VV(a,c[n>>2]|0,c[n+4>>2]|0)|0}else c[q>>2]=WV(a)|0;if(c[q>>2]|0)break a;if(!(d[(c[(c[j>>2]|0)+8>>2]|0)+16>>0]|0))c[i>>2]=0}while(0);c[j>>2]=c[(c[j>>2]|0)+12>>2]}a=(c[q>>2]|0?1:(c[i>>2]|0)!=0)&1;b=c[s>>2]|0}else{c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[n>>2]|0;if(c[o>>2]|0)c[q>>2]=VV(a,c[p>>2]|0,c[p+4>>2]|0)|0;else c[q>>2]=WV(a)|0;if(c[q>>2]|0)a=1;else a=(d[(c[n>>2]|0)+16>>0]|0|0)!=0;a=a&1;b=c[s>>2]|0}c[b+4>>2]=a;if(c[(c[s>>2]|0)+4>>2]|0){s=c[q>>2]|0;l=t;return s|0}c[q>>2]=XV(c[r>>2]|0,c[s>>2]|0)|0;s=c[q>>2]|0;l=t;return s|0}function KV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;n=q+40|0;o=q+36|0;p=q+32|0;j=q+28|0;k=q+8|0;g=q+24|0;h=q;i=q+20|0;m=q+16|0;c[o>>2]=a;c[p>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;d=(c[p>>2]|0)+16|0;e=c[d+4>>2]|0;f=h;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+28>>2]|0)){a=10;break}c[i>>2]=c[(c[p>>2]|0)+32+(c[g>>2]<<2)>>2];do if(!(c[(c[i>>2]|0)+4>>2]|0)){e=(c[i>>2]|0)+16|0;f=h;if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){if(!(c[j>>2]|0))break;e=(c[i>>2]|0)+16|0;f=k;if((QV(c[o>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0)>=0)break}f=k;c[m>>2]=Nb[c[(c[i>>2]|0)+12>>2]&255](c[o>>2]|0,c[i>>2]|0,c[j>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[m>>2]|0){a=8;break a}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((a|0)==8){c[n>>2]=c[m>>2];p=c[n>>2]|0;l=q;return p|0}else if((a|0)==10){TV(c[o>>2]|0,c[p>>2]|0);c[n>>2]=0;p=c[n>>2]|0;l=q;return p|0}return 0}function LV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;g=j+20|0;h=j+16|0;k=j+12|0;m=j;i=j+8|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;d=m;c[d>>2]=e;c[d+4>>2]=f;f=m;c[i>>2]=Nb[c[(c[(c[h>>2]|0)+32>>2]|0)+12>>2]&255](c[g>>2]|0,c[(c[h>>2]|0)+32>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[i>>2]|0){m=c[i>>2]|0;l=j;return m|0}c[i>>2]=RV(c[g>>2]|0,c[h>>2]|0)|0;m=c[i>>2]|0;l=j;return m|0}function MV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;g=j+20|0;h=j+16|0;k=j+12|0;m=j;i=j+8|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;d=m;c[d>>2]=e;c[d+4>>2]=f;f=m;c[i>>2]=Nb[c[(c[(c[h>>2]|0)+32>>2]|0)+12>>2]&255](c[g>>2]|0,c[(c[h>>2]|0)+32>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[i>>2]|0){m=c[i>>2]|0;l=j;return m|0}c[i>>2]=NV(c[g>>2]|0,c[h>>2]|0)|0;m=c[i>>2]|0;l=j;return m|0}function NV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+32>>2];c[h>>2]=c[(c[e>>2]|0)+32+4>>2];while(1){if(c[f>>2]|0)break;if(c[(c[g>>2]|0)+4>>2]|0)break;c[i>>2]=OV(c[d>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[i>>2]|0)>0){b=(c[g>>2]|0)+16|0;c[f>>2]=Nb[c[(c[h>>2]|0)+12>>2]&255](c[d>>2]|0,c[h>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;c[i>>2]=OV(c[d>>2]|0,c[g>>2]|0,c[h>>2]|0)|0}if(c[i>>2]|0)break;if(c[(c[h>>2]|0)+8>>2]|0)break;c[f>>2]=Nb[c[(c[g>>2]|0)+12>>2]&255](c[d>>2]|0,c[g>>2]|0,0,0,0)|0}c[(c[e>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[(c[e>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];b=(c[g>>2]|0)+16|0;d=c[b+4>>2]|0;i=(c[e>>2]|0)+16|0;c[i>>2]=c[b>>2];c[i+4>>2]=d;if(!(c[(c[g>>2]|0)+4>>2]|0)){i=c[f>>2]|0;l=j;return i|0}PV(c[h>>2]|0);i=c[f>>2]|0;l=j;return i|0}function OV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[h>>2]|0)+4>>2]|0){c[e>>2]=-1;h=c[e>>2]|0;l=i;return h|0}if(c[(c[g>>2]|0)+4>>2]|0){c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}else{g=(c[g>>2]|0)+16|0;h=(c[h>>2]|0)+16|0;c[e>>2]=QV(c[f>>2]|0,c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;l=i;return h|0}return 0}function PV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;if((c[c[b>>2]>>2]|0)!=11?(c[c[b>>2]>>2]|0)!=4:0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;PV(c[(c[b>>2]|0)+32+(c[g>>2]<<2)>>2]|0);c[g>>2]=(c[g>>2]|0)+1}l=h;return}c[d>>2]=c[(c[b>>2]|0)+24>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+8>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+12+(c[e>>2]<<2)>>2];c[(c[f>>2]|0)+4+4>>2]=0;c[e>>2]=(c[e>>2]|0)+1}l=h;return}function QV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;g=j+20|0;k=j+16|0;h=j+8|0;i=j;c[k>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;b=i;c[b>>2]=e;c[b+4>>2]=f;b=h;a=c[b>>2]|0;b=c[b+4>>2]|0;e=i;d=c[e>>2]|0;e=c[e+4>>2]|0;if(!(c[(c[k>>2]|0)+12>>2]|0))if((b|0)<(e|0)|(b|0)==(e|0)&a>>>0>>0){c[g>>2]=-1;k=c[g>>2]|0;l=j;return k|0}else{f=c[h+4>>2]|0;k=i;i=c[k+4>>2]|0;c[g>>2]=((f|0)>(i|0)|((f|0)==(i|0)?(c[h>>2]|0)>>>0>(c[k>>2]|0)>>>0:0))&1;k=c[g>>2]|0;l=j;return k|0}else if((b|0)>(e|0)|(b|0)==(e|0)&a>>>0>d>>>0){c[g>>2]=-1;k=c[g>>2]|0;l=j;return k|0}else{f=c[h+4>>2]|0;k=i;i=c[k+4>>2]|0;c[g>>2]=((f|0)<(i|0)|((f|0)==(i|0)?(c[h>>2]|0)>>>0<(c[k>>2]|0)>>>0:0))&1;k=c[g>>2]|0;l=j;return k|0}return 0}function RV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;e=o+36|0;f=o+32|0;g=o+28|0;h=o+24|0;i=o;j=o+20|0;k=o+16|0;m=o+12|0;d=o+8|0;c[f>>2]=a;c[g>>2]=b;p=(c[g>>2]|0)+16|0;a=c[p+4>>2]|0;b=i;c[b>>2]=c[p>>2];c[b+4>>2]=a;c[j>>2]=0;a:do{c[(c[g>>2]|0)+8>>2]=0;c[k>>2]=1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+28>>2]|0))break;c[m>>2]=c[(c[g>>2]|0)+32+(c[h>>2]<<2)>>2];b=i;p=(c[m>>2]|0)+16|0;c[d>>2]=QV(c[f>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;if((c[d>>2]|0)>0?(p=i,c[j>>2]=Nb[c[(c[m>>2]|0)+12>>2]&255](c[f>>2]|0,c[m>>2]|0,1,c[p>>2]|0,c[p+4>>2]|0)|0,c[j>>2]|0):0){n=6;break a}if(c[(c[m>>2]|0)+4>>2]|0){n=8;break}b=i;p=(c[m>>2]|0)+16|0;if((c[b>>2]|0)!=(c[p>>2]|0)?1:(c[b+4>>2]|0)!=(c[p+4>>2]|0)){c[k>>2]=0;a=(c[m>>2]|0)+16|0;b=c[a+4>>2]|0;p=i;c[p>>2]=c[a>>2];c[p+4>>2]=b}if(c[(c[m>>2]|0)+8>>2]|0)c[(c[g>>2]|0)+8>>2]=1;c[h>>2]=(c[h>>2]|0)+1}if((n|0)==8){n=0;SV(c[g>>2]|0);c[k>>2]=1}}while(!(c[k>>2]|0));if((n|0)==6){c[e>>2]=c[j>>2];p=c[e>>2]|0;l=o;return p|0}if(c[(c[g>>2]|0)+8>>2]|0?(c[g>>2]|0)!=(c[(c[f>>2]|0)+8>>2]|0):0)PV(c[g>>2]|0);m=i;n=c[m+4>>2]|0;p=(c[g>>2]|0)+16|0;c[p>>2]=c[m>>2];c[p+4>>2]=n;c[e>>2]=0;p=c[e>>2]|0;l=o;return p|0}function SV(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+4>>2]=1;c[(c[b>>2]|0)+8>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;SV(c[(c[b>>2]|0)+32+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=e;return}function TV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+20|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+32>>2];c[g>>2]=1;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+28>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+32+(c[g>>2]<<2)>>2];c[i>>2]=OV(c[d>>2]|0,c[f>>2]|0,c[h>>2]|0)|0;if((c[i>>2]|0)<=0){if((c[i>>2]|0)==0?(c[(c[h>>2]|0)+8>>2]|0)==0:0)j=6}else j=6;if((j|0)==6){j=0;c[f>>2]=c[h>>2]}c[g>>2]=(c[g>>2]|0)+1}h=(c[f>>2]|0)+16|0;i=c[h+4>>2]|0;j=(c[e>>2]|0)+16|0;c[j>>2]=c[h>>2];c[j+4>>2]=i;c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2];l=k;return}function UV(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;n=m+32|0;f=m+28|0;g=m+24|0;h=m+8|0;i=m+20|0;j=m+16|0;k=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=e;e=h;c[e>>2]=0;c[e+4>>2]=0;c[i>>2]=0;c[j>>2]=c[n>>2];while(1){if(!(c[j>>2]|0))break;do if(!(d[(c[(c[j>>2]|0)+8>>2]|0)+16>>0]|0)){b=c[(c[j>>2]|0)+8>>2]|0;e=c[b+4>>2]|0;n=k;c[n>>2]=c[b>>2];c[n+4>>2]=e;if(c[i>>2]|0?(e=k,a=c[e+4>>2]|0,n=h,b=c[n+4>>2]|0,(c[f>>2]|0)==(((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))&1|0)):0)break;b=k;e=c[b+4>>2]|0;n=h;c[n>>2]=c[b>>2];c[n+4>>2]=e;c[i>>2]=1}while(0);c[j>>2]=c[(c[j>>2]|0)+12>>2]}if(!((c[g>>2]|0)!=0&(c[i>>2]|0)==0)){k=h;n=k;n=c[n>>2]|0;k=k+4|0;k=c[k>>2]|0;D=k;l=m;return n|0}c[c[g>>2]>>2]=1;k=h;n=k;n=c[n>>2]|0;k=k+4|0;k=c[k>>2]|0;D=k;l=m;return n|0}function VV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+12|0;g=e;f=e+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=c[h>>2];d=g;hW(c[(c[f>>2]|0)+24>>2]|0,c[f>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=BR(c[(c[f>>2]|0)+24>>2]|0)|0;l=e;return d|0}function WV(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];zR(c[(c[d>>2]|0)+24>>2]|0,c[d>>2]|0,0,0,0);a=BR(c[(c[d>>2]|0)+24>>2]|0)|0;l=b;return a|0}function XV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+80|0;n=s+64|0;o=s+60|0;p=s+56|0;k=s+52|0;t=s+48|0;q=s+44|0;r=s+8|0;m=s+40|0;d=s+36|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s+20|0;i=s;j=s+16|0;c[o>>2]=a;c[p>>2]=b;c[k>>2]=c[(c[p>>2]|0)+24>>2];c[t>>2]=c[(c[k>>2]|0)+12>>2];c[q>>2]=0;c[f>>2]=c[(c[o>>2]|0)+12>>2];a=(c[t>>2]|0)+20|0;if(c[(c[t>>2]|0)+20+12>>2]|0){b=UV(a,c[f>>2]|0,0)|0;t=r;c[t>>2]=b;c[t+4>>2]=D}else{a=c[a+8>>2]|0;b=c[a+4>>2]|0;t=r;c[t>>2]=c[a>>2];c[t+4>>2]=b}a:while(1){c[e>>2]=1;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[k>>2]|0)+8>>2]|0))break;c[g>>2]=c[(c[k>>2]|0)+12+(c[m>>2]<<2)>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[g>>2]|0)+16>>2]|0))break;c[h>>2]=(c[g>>2]|0)+20+(c[d>>2]<<4);if(c[(c[h>>2]|0)+12>>2]|0){t=UV(c[h>>2]|0,c[f>>2]|0,0)|0;b=i;c[b>>2]=t;c[b+4>>2]=D;b=i;t=r;if(!((c[b>>2]|0)==(c[t>>2]|0)?(c[b+4>>2]|0)==(c[t+4>>2]|0):0)?(c[e>>2]=0,YV(c[h>>2]|0,c[f>>2]|0,r,q)|0):0){a=11;break a}}else{c[j>>2]=c[(c[g>>2]|0)+20+(c[d>>2]<<4)+8>>2];b=c[j>>2]|0;t=r;if(!((c[b>>2]|0)==(c[t>>2]|0)?(c[b+4>>2]|0)==(c[t+4>>2]|0):0)?(c[e>>2]=0,ZV(c[j>>2]|0,c[f>>2]|0,r,q,(c[p>>2]|0)+4|0)|0):0){a=14;break a}}c[d>>2]=(c[d>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if(c[e>>2]|0){a=18;break}}if((a|0)==11){c[(c[p>>2]|0)+8>>2]=0;c[(c[p>>2]|0)+4>>2]=1;c[n>>2]=c[q>>2];t=c[n>>2]|0;l=s;return t|0}else if((a|0)==14){c[n>>2]=c[q>>2];t=c[n>>2]|0;l=s;return t|0}else if((a|0)==18){m=r;r=c[m+4>>2]|0;t=(c[p>>2]|0)+16|0;c[t>>2]=c[m>>2];c[t+4>>2]=r;t=0==(_V(q,c[o>>2]|0,c[p>>2]|0)|0);c[(c[p>>2]|0)+8>>2]=(t?(c[q>>2]|0)==0:0)&1;c[n>>2]=c[q>>2];t=c[n>>2]|0;l=s;return t|0}return 0}function YV(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+40|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+8|0;g=q+20|0;h=q+16|0;i=q;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=0;b=c[m>>2]|0;e=c[b+4>>2]|0;f=p;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[h>>2]=0;c[g>>2]=c[j>>2];while(1){if(!((c[o>>2]|0)==0?(c[g>>2]|0)!=0:0))break;do if(!(d[(c[(c[g>>2]|0)+8>>2]|0)+16>>0]|0)){b=c[(c[g>>2]|0)+8>>2]|0;e=c[b+4>>2]|0;f=i;c[f>>2]=c[b>>2];c[f+4>>2]=e;if(!((c[k>>2]|0)==0?(e=p,a=c[e+4>>2]|0,f=i,b=c[f+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0:0)):0)){if(!(c[k>>2]|0))break;e=p;a=c[e+4>>2]|0;f=i;b=c[f+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)))break}f=p;c[o>>2]=VV(c[(c[g>>2]|0)+8>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0}while(0);c[g>>2]=c[(c[g>>2]|0)+12>>2]}if(c[o>>2]|0){c[c[n>>2]>>2]=c[o>>2];c[h>>2]=1;p=c[h>>2]|0;l=q;return p|0}else{o=UV(c[j>>2]|0,c[k>>2]|0,h)|0;p=c[m>>2]|0;c[p>>2]=o;c[p+4>>2]=D;p=c[h>>2]|0;l=q;return p|0}return 0}function ZV(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+40|0;n=r+36|0;o=r+32|0;p=r+28|0;q=r+24|0;h=r+20|0;i=r+8|0;j=r;k=r+16|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[h>>2]=g;g=c[p>>2]|0;f=c[g+4>>2]|0;e=i;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=c[n>>2]|0;f=c[e+4>>2]|0;g=j;c[g>>2]=c[e>>2];c[g+4>>2]=f;if((c[o>>2]|0)==0?(f=i,b=c[f+4>>2]|0,g=j,e=c[g+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0:0)):0)a=5;else a=3;if(((a|0)==3?c[o>>2]|0:0)?(g=i,e=c[g+4>>2]|0,o=j,f=c[o+4>>2]|0,(e|0)<(f|0)|((e|0)==(f|0)?(c[g>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)):0)a=5;do if((a|0)==5){o=i;c[k>>2]=VV(c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;if((c[k>>2]|0)==0?(d[(c[n>>2]|0)+16>>0]|0|0)==0:0){n=c[n>>2]|0;o=c[n+4>>2]|0;q=j;c[q>>2]=c[n>>2];c[q+4>>2]=o;break}c[c[q>>2]>>2]=c[k>>2];c[c[h>>2]>>2]=1;c[m>>2]=1;q=c[m>>2]|0;l=r;return q|0}while(0);n=j;o=c[n+4>>2]|0;q=c[p>>2]|0;c[q>>2]=c[n>>2];c[q+4>>2]=o;c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}function _V(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;m=t+48|0;n=t+44|0;u=t+40|0;o=t+36|0;p=t+32|0;q=t+28|0;r=t+24|0;f=t+20|0;g=t+16|0;h=t+12|0;i=t+8|0;j=t+4|0;k=t;c[n>>2]=a;c[u>>2]=b;c[o>>2]=e;c[p>>2]=c[(c[o>>2]|0)+24>>2];c[q>>2]=c[c[n>>2]>>2];if(c[(c[(c[u>>2]|0)+4>>2]|0)+48>>2]|0){c[f>>2]=c[(c[p>>2]|0)+12>>2];c[(c[f>>2]|0)+4+4>>2]=0;c[r>>2]=(c[f>>2]|0)+20;while(1){if(!(c[r>>2]|0))break;c[g>>2]=c[(c[r>>2]|0)+8>>2];if(((d[(c[g>>2]|0)+16>>0]|0|0)==0?(s=c[g>>2]|0,u=(c[o>>2]|0)+16|0,(c[s>>2]|0)==(c[u>>2]|0)?(c[s+4>>2]|0)==(c[u+4>>2]|0):0):0)?(c[(c[g>>2]|0)+12>>2]|0)>0:0)c[(c[f>>2]|0)+4+4>>2]=1;c[r>>2]=c[(c[r>>2]|0)+12>>2]}c[m>>2]=c[(c[f>>2]|0)+4+4>>2];u=c[m>>2]|0;l=t;return u|0}c[h>>2]=0;while(1){if(c[q>>2]|0)break;if((c[h>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0))break;c[i>>2]=c[(c[p>>2]|0)+12+(c[h>>2]<<2)>>2];if(((c[(c[i>>2]|0)+16>>2]|0)<=1?!(c[(c[i>>2]|0)+20+12>>2]|0):0)?!(c[(c[p>>2]|0)+4>>2]|0):0){c[k>>2]=c[(c[i>>2]|0)+20+8>>2];wR(q,(c[i>>2]|0)+4|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+8>>2]|0)}else s=16;if((s|0)==16?(s=0,c[j>>2]=0,c[q>>2]=$V(c[o>>2]|0,c[i>>2]|0,j)|0,(c[j>>2]|0)==0):0)break;c[h>>2]=(c[h>>2]|0)+1}c[c[n>>2]>>2]=c[q>>2];do if((c[h>>2]|0)==(c[(c[p>>2]|0)+8>>2]|0)){if((c[h>>2]|0)!=1?(aW(c[n>>2]|0,c[p>>2]|0)|0)==0:0)break;c[m>>2]=1;u=c[m>>2]|0;l=t;return u|0}while(0);c[m>>2]=0;u=c[m>>2]|0;l=t;return u|0}function $V(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+192|0;w=A+184|0;m=A+180|0;x=A+176|0;s=A+172|0;t=A+112|0;y=A+16|0;z=A+168|0;u=A+164|0;v=A+160|0;f=A+156|0;g=A+152|0;h=A+148|0;i=A+144|0;j=A+140|0;k=A+128|0;o=A+124|0;p=A+8|0;q=A+120|0;r=A;c[m>>2]=b;c[x>>2]=d;c[s>>2]=e;c[t>>2]=0;c[t+4>>2]=0;c[z>>2]=y;c[v>>2]=0;xS((c[x>>2]|0)+4|0);if((c[(c[x>>2]|0)+16>>2]|0)>4?(c[f>>2]=(c[(c[x>>2]|0)+16>>2]|0)*24,c[z>>2]=pe(c[f>>2]|0)|0,(c[z>>2]|0)==0):0){c[w>>2]=7;z=c[w>>2]|0;l=A;return z|0}m0(c[z>>2]|0,0,(c[(c[x>>2]|0)+16>>2]|0)*24|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[x>>2]|0)+16>>2]|0)){n=14;break}c[g>>2]=(c[x>>2]|0)+20+(c[u>>2]<<4);c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;b=(c[m>>2]|0)+16|0;c[v>>2]=eW(c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0,k,j,h)|0;b=c[j>>2]|0;if(c[v>>2]|0){n=8;break}if((b|0)==(c[k>>2]|0))c[i>>2]=1}else{c[j>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];c[h>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]}fW(c[j>>2]|0,c[h>>2]|0,(c[z>>2]|0)+((c[u>>2]|0)*24|0)|0)|0;a[(c[z>>2]|0)+((c[u>>2]|0)*24|0)+12>>0]=c[i>>2];if(a[(c[z>>2]|0)+((c[u>>2]|0)*24|0)+13>>0]|0)break;c[u>>2]=(c[u>>2]|0)+1}a:do if((n|0)==8)_d(b);else if((n|0)==14)b:while(1){k=(c[z>>2]|0)+16|0;m=c[k+4>>2]|0;n=p;c[n>>2]=c[k>>2];c[n+4>>2]=m;do{c[o>>2]=1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[x>>2]|0)+16>>2]|0))break;c[q>>2]=(c[z>>2]|0)+((c[u>>2]|0)*24|0);m=p;n=c[u>>2]|0;n=_$(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=r;c[m>>2]=n;c[m+4>>2]=D;m=(c[q>>2]|0)+16|0;n=r;if((c[m>>2]|0)!=(c[n>>2]|0)?1:(c[m+4>>2]|0)!=(c[n+4>>2]|0)){c[o>>2]=0;while(1){m=(c[q>>2]|0)+16|0;j=c[m+4>>2]|0;n=r;k=c[n+4>>2]|0;b=c[q>>2]|0;if(!((j|0)<(k|0)|((j|0)==(k|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)))break;if(gW(b)|0)break a}m=b+16|0;j=c[m+4>>2]|0;n=r;k=c[n+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=(c[q>>2]|0)+16|0;m=c[u>>2]|0;m=Z$(c[n>>2]|0,c[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;n=p;c[n>>2]=m;c[n+4>>2]=D}}c[u>>2]=(c[u>>2]|0)+1}}while(!(c[o>>2]|0));n=p;c[v>>2]=dW((c[x>>2]|0)+4|0,t,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[v>>2]|0)break a;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[x>>2]|0)+16>>2]|0)){n=14;continue b}if(gW((c[z>>2]|0)+((c[u>>2]|0)*24|0)|0)|0)break a;c[u>>2]=(c[u>>2]|0)+1}}while(0);c[c[s>>2]>>2]=(c[(c[x>>2]|0)+4+4>>2]|0)>0&1;c[u>>2]=0;while(1){b=c[z>>2]|0;if((c[u>>2]|0)>=(c[(c[x>>2]|0)+16>>2]|0))break;if(a[b+((c[u>>2]|0)*24|0)+12>>0]|0)_d(c[(c[z>>2]|0)+((c[u>>2]|0)*24|0)>>2]|0);c[u>>2]=(c[u>>2]|0)+1}if((b|0)!=(y|0))_d(c[z>>2]|0);c[w>>2]=c[v>>2];z=c[w>>2]|0;l=A;return z|0}function aW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+272|0;p=w+268|0;q=w+264|0;r=w+260|0;s=w+24|0;t=w+256|0;f=w+252|0;u=w+248|0;v=w+244|0;g=w+240|0;d=w+236|0;e=w+232|0;h=w+228|0;i=w+16|0;j=w+8|0;k=w+224|0;m=w;n=w+220|0;o=w+216|0;c[q>>2]=a;c[r>>2]=b;c[t>>2]=s;c[f>>2]=(c[r>>2]|0)+12;c[v>>2]=c[c[q>>2]>>2];if((c[(c[r>>2]|0)+8>>2]|0)>4){c[d>>2]=(c[(c[r>>2]|0)+8>>2]|0)*48;c[t>>2]=dT(v,c[d>>2]|0)|0}else m0(s|0,0,192)|0;if(c[v>>2]|0){c[c[q>>2]>>2]=c[v>>2];c[p>>2]=0;v=c[p>>2]|0;l=w;return v|0}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0))break;c[e>>2]=(c[(c[f>>2]|0)+(c[u>>2]<<2)>>2]|0)+4;bW(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[t>>2]|0)+((c[u>>2]|0)*48|0)|0)|0;c[(c[e>>2]|0)+4>>2]=0;c[(c[t>>2]|0)+((c[u>>2]|0)*48|0)+40>>2]=c[e>>2];c[u>>2]=(c[u>>2]|0)+1}a:do{d=(c[t>>2]|0)+16|0;e=c[d+4>>2]|0;f=j;c[f>>2]=c[d>>2];c[f+4>>2]=e;do{c[g>>2]=1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0))break;c[k>>2]=(c[t>>2]|0)+((c[u>>2]|0)*48|0);b=j;e=c[(c[(c[r>>2]|0)+12+(c[u>>2]<<2)>>2]|0)+16>>2]|0;e=Z$(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=c[c[r>>2]>>2]|0;b=Z$(e|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;e=i;c[e>>2]=b;c[e+4>>2]=D;e=(c[k>>2]|0)+16|0;b=c[e+4>>2]|0;f=i;d=c[f+4>>2]|0;if(!(!((b|0)<(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0))?(e=(c[k>>2]|0)+16|0,b=c[e+4>>2]|0,f=j,d=c[f+4>>2]|0,!((b|0)>(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0:0))):0)){c[g>>2]=0;while(1){e=(c[k>>2]|0)+16|0;b=c[e+4>>2]|0;f=i;d=c[f+4>>2]|0;a=c[k>>2]|0;if(!((b|0)<(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)))break;if(cW(a)|0)break a}e=a+16|0;b=c[e+4>>2]|0;f=j;d=c[f+4>>2]|0;if((b|0)>(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0:0)){d=(c[k>>2]|0)+16|0;e=c[d+4>>2]|0;f=j;c[f>>2]=c[d>>2];c[f+4>>2]=e}}c[u>>2]=(c[u>>2]|0)+1}}while(!(c[g>>2]|0));c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0))break;d=(c[t>>2]|0)+((c[u>>2]|0)*48|0)+16|0;e=c[d+4>>2]|0;f=m;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[n>>2]=(c[t>>2]|0)+((c[u>>2]|0)*48|0)+32;if(!((c[(c[(c[t>>2]|0)+((c[u>>2]|0)*48|0)+40>>2]|0)+4>>2]|0)!=0?(e=m,f=c[n>>2]|0,!((c[e>>2]|0)!=(c[f>>2]|0)?1:(c[e+4>>2]|0)!=(c[f+4>>2]|0))):0)){f=m;dW(c[(c[t>>2]|0)+((c[u>>2]|0)*48|0)+40>>2]|0,c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0}c[u>>2]=(c[u>>2]|0)+1}c[h>>2]=0;d=(c[t>>2]|0)+24|0;e=c[d+4>>2]|0;f=i;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[u>>2]=0;while(1){a=c[t>>2]|0;if((c[u>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0))break;e=a+((c[u>>2]|0)*48|0)+24|0;b=c[e+4>>2]|0;f=i;d=c[f+4>>2]|0;if((b|0)<(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)){d=(c[t>>2]|0)+((c[u>>2]|0)*48|0)+24|0;e=c[d+4>>2]|0;f=i;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[h>>2]=c[u>>2]}c[u>>2]=(c[u>>2]|0)+1}}while(!(cW(a+((c[h>>2]|0)*48|0)|0)|0));c[o>>2]=(c[(c[(c[t>>2]|0)+40>>2]|0)+4>>2]|0)>0&1;c[c[q>>2]>>2]=c[v>>2];if((c[t>>2]|0)!=(s|0))_d(c[t>>2]|0);c[p>>2]=c[o>>2];v=c[p>>2]|0;l=w;return v|0}function bW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=c[f>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[c[f>>2]>>2]=c[h>>2];c[(c[f>>2]|0)+4>>2]=c[g>>2];cW(c[f>>2]|0)|0;d=cW(c[f>>2]|0)|0;l=e;return d|0}function cW(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;c[b>>2]=a;f=(c[b>>2]|0)+24|0;e=c[f+4>>2]|0;a=(c[b>>2]|0)+16|0;c[a>>2]=c[f>>2];c[a+4>>2]=e;if(xR(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+4>>2]|0,(c[b>>2]|0)+8|0,(c[b>>2]|0)+24|0)|0){f=(c[b>>2]|0)+24|0;c[f>>2]=0;c[f+4>>2]=1073741824}f=(c[b>>2]|0)+16|0;l=d;return ((c[f>>2]|0)==0?(c[f+4>>2]|0)==1073741824:0)&1|0}function dW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;h=k+12|0;i=k;j=k+8|0;c[g>>2]=a;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=0;if(((c[(c[g>>2]|0)+4>>2]|0)+15|0)>>>0>(c[(c[g>>2]|0)+8>>2]|0)>>>0?cS(j,c[g>>2]|0,15+(c[(c[g>>2]|0)+4>>2]|0)|0)|0:0){c[f>>2]=c[j>>2];j=c[f>>2]|0;l=k;return j|0}j=i;gT(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j+4>>2]|0);c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function eW(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+192|0;B=A+176|0;o=A+120|0;y=A+172|0;z=A+168|0;p=A+164|0;q=A+24|0;r=A+160|0;s=A+156|0;i=A+152|0;t=A+148|0;j=A+144|0;k=A+140|0;m=A+136|0;n=A+132|0;u=A+16|0;v=A+8|0;w=A+128|0;x=A;c[B>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=e;c[y>>2]=f;c[z>>2]=g;c[p>>2]=h;c[r>>2]=q;c[s>>2]=0;c[i>>2]=4;c[t>>2]=0;c[j>>2]=c[B>>2];while(1){if(!(c[j>>2]|0)){a=14;break}c[k>>2]=c[(c[j>>2]|0)+8>>2];if(((d[(c[k>>2]|0)+16>>0]|0|0)==0?(h=c[k>>2]|0,B=o,(c[h>>2]|0)==(c[B>>2]|0)?(c[h+4>>2]|0)==(c[B+4>>2]|0):0):0)?c[(c[k>>2]|0)+12>>2]|0:0){if((c[s>>2]|0)==(c[i>>2]|0)){c[m>>2]=(c[i>>2]|0)*24<<1;c[n>>2]=pe(c[m>>2]|0)|0;if(!(c[n>>2]|0)){a=8;break}h0(c[n>>2]|0,c[r>>2]|0,(c[s>>2]|0)*24|0)|0;c[i>>2]=c[i>>2]<<1;if((c[r>>2]|0)!=(q|0))_d(c[r>>2]|0);c[r>>2]=c[n>>2]}fW(c[(c[k>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+12>>2]|0,(c[r>>2]|0)+((c[s>>2]|0)*24|0)|0)|0;c[s>>2]=(c[s>>2]|0)+1}c[j>>2]=c[(c[j>>2]|0)+12>>2]}do if((a|0)==8)c[t>>2]=7;else if((a|0)==14){if((c[s>>2]|0)==1){c[c[z>>2]>>2]=c[c[r>>2]>>2];c[c[p>>2]>>2]=c[(c[r>>2]|0)+4>>2];break};c[u>>2]=0;c[u+4>>2]=0;B=v;c[B>>2]=-1;c[B+4>>2]=-1;xS(c[y>>2]|0);while(1){B=x;c[B>>2]=-1;c[B+4>>2]=2147483647;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[s>>2]|0))break;do if(!(d[(c[r>>2]|0)+((c[w>>2]|0)*24|0)+13>>0]|0)){o=(c[r>>2]|0)+((c[w>>2]|0)*24|0)+16|0;B=v;if(((c[o>>2]|0)==(c[B>>2]|0)?(c[o+4>>2]|0)==(c[B+4>>2]|0):0)?gW((c[r>>2]|0)+((c[w>>2]|0)*24|0)|0)|0:0)break;o=(c[r>>2]|0)+((c[w>>2]|0)*24|0)+16|0;g=c[o+4>>2]|0;B=x;h=c[B+4>>2]|0;if((g|0)<(h|0)|((g|0)==(h|0)?(c[o>>2]|0)>>>0<(c[B>>2]|0)>>>0:0)){h=(c[r>>2]|0)+((c[w>>2]|0)*24|0)+16|0;o=c[h+4>>2]|0;B=x;c[B>>2]=c[h>>2];c[B+4>>2]=o}}while(0);c[w>>2]=(c[w>>2]|0)+1}B=x;if(((c[B>>2]|0)==-1?(c[B+4>>2]|0)==2147483647:0)|(c[t>>2]|0)!=0)break;h=x;c[t>>2]=dW(c[y>>2]|0,u,c[h>>2]|0,c[h+4>>2]|0)|0;h=x;o=c[h+4>>2]|0;B=v;c[B>>2]=c[h>>2];c[B+4>>2]=o}if(!(c[t>>2]|0)){c[c[z>>2]>>2]=c[c[y>>2]>>2];c[c[p>>2]>>2]=c[(c[y>>2]|0)+4>>2]}}while(0);if((c[r>>2]|0)==(q|0)){B=c[t>>2]|0;l=A;return B|0}_d(c[r>>2]|0);B=c[t>>2]|0;l=A;return B|0}function fW(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+8|0;h=g+4|0;f=g;c[i>>2]=a;c[h>>2]=b;c[f>>2]=e;e=c[f>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[c[f>>2]>>2]=c[i>>2];c[(c[f>>2]|0)+4>>2]=c[h>>2];gW(c[f>>2]|0)|0;l=g;return d[(c[f>>2]|0)+13>>0]|0|0}function gW(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(xR(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[e>>2]|0)+8|0,(c[e>>2]|0)+16|0)|0)a[(c[e>>2]|0)+13>>0]=1;l=f;return d[(c[e>>2]|0)+13>>0]|0|0}function hW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;f=j+20|0;g=j+16|0;h=j+8|0;i=j;c[f>>2]=a;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;while(1){e=h;zR(c[f>>2]|0,c[g>>2]|0,1,c[e>>2]|0,c[e+4>>2]|0);if(NS(c[f>>2]|0,c[g>>2]|0)|0){a=7;break}d=iW(c[g>>2]|0)|0;e=i;c[e>>2]=d;c[e+4>>2]=D;if((c[(c[g>>2]|0)+56>>2]|0)==0?(d=i,a=c[d+4>>2]|0,e=h,b=c[e+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>=(c[e>>2]|0)>>>0:0)):0){a=7;break}if(!(c[(c[g>>2]|0)+56>>2]|0))continue;d=i;a=c[d+4>>2]|0;e=h;b=c[e+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<=(c[e>>2]|0)>>>0:0)){a=7;break}}if((a|0)==7){l=j;return}}function iW(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+80+((e[(c[(c[d>>2]|0)+72>>2]|0)+4>>1]|0)*88|0)+72|0;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function jW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[(c[d>>2]|0)+24>>2]|0)+12>>2];c[f>>2]=c[(c[e>>2]|0)+20+8>>2];c[(c[e>>2]|0)+4+4>>2]=c[(c[f>>2]|0)+12>>2];if(!(c[(c[(c[h>>2]|0)+4>>2]|0)+48>>2]|0))c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+8>>2];b=c[f>>2]|0;f=c[b+4>>2]|0;h=(c[d>>2]|0)+16|0;c[h>>2]=c[b>>2];c[h+4>>2]=f;c[(c[d>>2]|0)+8>>2]=(c[(c[e>>2]|0)+4+4>>2]|0)==0&1;l=g;return 0}function kW(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;if(((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)b=(a[c>>0]|0)==13;else b=1;l=d;return b&1|0}function lW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+28|0;j=p+24|0;n=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[j>>2]=d;c[n>>2]=e;c[k>>2]=f;c[o>>2]=0;c[m>>2]=g$(c[j>>2]|0)|0;c[g>>2]=pe((c[m>>2]|0)+1|0)|0;c[c[k>>2]>>2]=0;c[c[n>>2]>>2]=0;do if(c[g>>2]|0){h0(c[g>>2]|0,c[j>>2]|0,(c[m>>2]|0)+1|0)|0;if(vW(a[c[g>>2]>>0]|0)|0){c[h>>2]=UT(c[g>>2]|0)|0;c[o>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[k>>2]>>2]=1;break}c[o>>2]=IT(c[j>>2]|0)|0;if(c[o>>2]|0)a[(c[g>>2]|0)+((c[o>>2]|0)-(c[j>>2]|0))>>0]=0}else c[c[i>>2]>>2]=7;while(0);b=c[g>>2]|0;if(!(c[o>>2]|0)){_d(b);o=c[o>>2]|0;l=p;return o|0}else{c[c[n>>2]>>2]=b;o=c[o>>2]|0;l=p;return o|0}return 0}function mW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+160|0;o=L+80|0;n=L+72|0;m=L+64|0;k=L+56|0;r=L+48|0;j=L+40|0;G=L+32|0;p=L+24|0;x=L+16|0;w=L+8|0;v=L;J=L+156|0;F=L+152|0;K=L+148|0;i=L+144|0;q=L+140|0;H=L+136|0;I=L+132|0;h=L+128|0;s=L+120|0;t=L+116|0;u=L+112|0;z=L+108|0;A=L+104|0;B=L+100|0;C=L+96|0;D=L+92|0;E=L+88|0;c[F>>2]=b;c[K>>2]=d;c[i>>2]=e;c[q>>2]=f;c[H>>2]=g;c[I>>2]=0;c[h>>2]=g$(c[i>>2]|0)|0;if(!(ld(46902,c[i>>2]|0,c[h>>2]|0)|0)){c[L+124>>2]=124;c[t>>2]=1;if((c[(c[K>>2]|0)+28>>2]|0)==0?(G=dT(I,124)|0,c[(c[K>>2]|0)+28>>2]=G,c[I>>2]|0):0){c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}c[s>>2]=c[q>>2];while(1){c[u>>2]=0;while(1){if((a[c[s>>2]>>0]|0)!=32)break;c[s>>2]=(c[s>>2]|0)+1}a:do if((c[t>>2]|0)==0?(a[c[s>>2]>>0]|0)==44:0){c[s>>2]=(c[s>>2]|0)+1;while(1){if((a[c[s>>2]>>0]|0)!=32)break a;c[s>>2]=(c[s>>2]|0)+1}}else y=14;while(0);if((y|0)==14?(y=0,(a[c[s>>2]>>0]|0)==0):0)break;if((a[c[s>>2]>>0]|0)<48){y=17;break}if((a[c[s>>2]>>0]|0)>57){y=17;break}if((c[(c[K>>2]|0)+24>>2]|0)==31){y=19;break}while(1){if((a[c[s>>2]>>0]|0)>=48?(a[c[s>>2]>>0]|0)<=57:0)b=(c[u>>2]|0)<1e3;else b=0;d=c[u>>2]|0;if(!b)break;c[u>>2]=(d*10|0)+((a[c[s>>2]>>0]|0)-48);c[s>>2]=(c[s>>2]|0)+1}if((d|0)<=0|(c[u>>2]|0)>=1e3){y=26;break}c[(c[(c[K>>2]|0)+28>>2]|0)+(c[(c[K>>2]|0)+24>>2]<<2)>>2]=c[u>>2];G=(c[K>>2]|0)+24|0;c[G>>2]=(c[G>>2]|0)+1;c[t>>2]=0}if((y|0)==17){K=nf(50062,v)|0;c[c[H>>2]>>2]=K;c[I>>2]=1}else if((y|0)==19){c[w>>2]=31;K=nf(50093,w)|0;c[c[H>>2]>>2]=K;c[I>>2]=1}else if((y|0)==26){K=nf(50126,x)|0;c[c[H>>2]>>2]=K;c[I>>2]=1}c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}if(!(ld(46131,c[i>>2]|0,c[h>>2]|0)|0)){c[z>>2]=c[q>>2];c[A>>2]=(g$(c[q>>2]|0)|0)+1;c[B>>2]=dT(I,c[A>>2]<<2)|0;c[C>>2]=dT(I,c[A>>2]<<1)|0;c[D>>2]=c[C>>2];do if((c[B>>2]|0)!=0&(c[D>>2]|0)!=0){if(c[(c[K>>2]|0)+56>>2]|0){K=nf(50163,p)|0;c[c[H>>2]>>2]=K;c[I>>2]=1;break}c[A>>2]=0;while(1){if(c[z>>2]|0)d=(a[c[z>>2]>>0]|0)!=0;else d=0;b=c[z>>2]|0;if(!d)break;c[E>>2]=HT(b)|0;b=c[E>>2]|0;if((a[c[E>>2]>>0]|0)==39)c[z>>2]=KT(b)|0;else c[z>>2]=IT(b)|0;if(c[z>>2]|0){h0(c[D>>2]|0,c[E>>2]|0,(c[z>>2]|0)-(c[E>>2]|0)|0)|0;c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]=c[D>>2];TT(c[D>>2]|0);c[D>>2]=(c[D>>2]|0)+((c[z>>2]|0)-(c[E>>2]|0)+1);c[z>>2]=HT(c[z>>2]|0)|0}c[A>>2]=(c[A>>2]|0)+1}if(!b){K=nf(50196,G)|0;c[c[H>>2]>>2]=K;c[I>>2]=1;break}else{c[I>>2]=sW(c[F>>2]|0,c[B>>2]|0,c[A>>2]|0,(c[K>>2]|0)+56|0,(c[K>>2]|0)+60|0,c[H>>2]|0)|0;break}}while(0);_d(c[B>>2]|0);_d(c[C>>2]|0);c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}if(!(ld(46221,c[i>>2]|0,c[h>>2]|0)|0)){do if(!(c[(c[K>>2]|0)+32>>2]|0)){b=(c[K>>2]|0)+32|0;if(a[c[q>>2]>>0]|0){c[b>>2]=2;H=c[q>>2]|0;c[r>>2]=c[(c[K>>2]|0)+4>>2];c[r+4>>2]=H;H=ET(I,50262,r)|0;c[(c[K>>2]|0)+36>>2]=H;break}else{c[b>>2]=1;break}}else{K=nf(50230,j)|0;c[c[H>>2]>>2]=K;c[I>>2]=1}while(0);c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}if(!(ld(50268,c[i>>2]|0,c[h>>2]|0)|0)){if(c[(c[K>>2]|0)+40>>2]|0){K=nf(50282,k)|0;c[c[H>>2]>>2]=K;c[I>>2]=1}else{H=VT(I,c[q>>2]|0,-1)|0;c[(c[K>>2]|0)+40>>2]=H}c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}if(!(ld(50320,c[i>>2]|0,c[h>>2]|0)|0)){if((a[c[q>>2]>>0]|0)!=48?(a[c[q>>2]>>0]|0)!=49:0)y=63;else if(a[(c[q>>2]|0)+1>>0]|0)y=63;else c[(c[K>>2]|0)+44>>2]=(a[c[q>>2]>>0]|0)==49&1;if((y|0)==63){K=nf(50331,m)|0;c[c[H>>2]>>2]=K;c[I>>2]=1}c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}else{if(ld(25281,c[i>>2]|0,c[h>>2]|0)|0){K=c[i>>2]|0;c[o>>2]=c[h>>2];c[o+4>>2]=K;K=nf(50397,o)|0;c[c[H>>2]>>2]=K;c[J>>2]=1;K=c[J>>2]|0;l=L;return K|0}K=uW(10540,c[q>>2]|0,(c[K>>2]|0)+48|0)|0;c[I>>2]=K;if(K|0){K=nf(50366,n)|0;c[c[H>>2]>>2]=K}c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}return 0}function nW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;n=p+8|0;m=p;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=0;do if(0!=(kl(c[h>>2]|0,48062)|0)?0!=(kl(c[h>>2]|0,26001)|0):0){if(c[i>>2]|0)if(!(kl(c[i>>2]|0,50021)|0)){a[(c[(c[g>>2]|0)+20>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=1;break}else{c[n>>2]=c[i>>2];n=nf(50031,n)|0;c[c[j>>2]>>2]=n;c[k>>2]=1;break}}else o=3;while(0);if((o|0)==3){c[m>>2]=c[h>>2];o=nf(49991,m)|0;c[c[j>>2]>>2]=o;c[k>>2]=1}m=c[h>>2]|0;n=c[(c[g>>2]|0)+16>>2]|0;j=(c[g>>2]|0)+12|0;o=c[j>>2]|0;c[j>>2]=o+1;c[n+(o<<2)>>2]=m;l=p;return c[k>>2]|0}function oW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=sW(c[f>>2]|0,0,0,(c[e>>2]|0)+56|0,(c[e>>2]|0)+60|0,0)|0;l=d;return b|0}function pW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+48|0;h=i+16|0;g=i+8|0;j=i;b=i+40|0;d=i+36|0;e=i+32|0;f=i+20|0;c[b>>2]=a;c[e>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[j>>2]=c[(c[b>>2]|0)+40>>2];qW(e,f,49918,j);if((c[(c[b>>2]|0)+32>>2]|0)==1){h=c[f>>2]|0;j=c[b>>2]|0;j=j+52|0;c[j>>2]=h;j=c[e>>2]|0;l=i;return j|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+12>>2]|0))break;if((c[(c[b>>2]|0)+32>>2]|0)==2){c[g>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<2)>>2];qW(e,f,49923,g)}else{c[h>>2]=c[d>>2];qW(e,f,49930,h)}c[d>>2]=(c[d>>2]|0)+1}h=c[f>>2]|0;j=c[b>>2]|0;j=j+52|0;c[j>>2]=h;j=c[e>>2]|0;l=i;return j|0}function qW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+28|0;i=k+24|0;g=k+20|0;j=k+16|0;h=k;c[f>>2]=a;c[i>>2]=b;c[g>>2]=d;if(c[c[f>>2]>>2]|0){l=k;return}c[h>>2]=e;c[j>>2]=vf(c[g>>2]|0,h)|0;a=c[f>>2]|0;if(!(c[j>>2]|0)){c[a>>2]=7;l=k;return}else{rW(a,c[i>>2]|0,c[j>>2]|0);_d(c[j>>2]|0);l=k;return}}function rW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;i=e+12|0;f=e+8|0;g=e+4|0;h=e;c[i>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=g$(c[g>>2]|0)|0;bS(c[i>>2]|0,c[f>>2]|0,(c[h>>2]|0)+1|0,c[g>>2]|0);d=(c[f>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+-1;l=e;return}function sW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;r=s+8|0;q=s;m=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;h=s+24|0;i=s+20|0;j=s+16|0;k=s+12|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[i>>2]=g;c[k>>2]=0;if(!(c[o>>2]|0))a=0;else a=c[c[n>>2]>>2]|0;c[j>>2]=tW(c[m>>2]|0,a)|0;if(c[j>>2]|0){c[k>>2]=Kb[c[(c[j>>2]|0)+8>>2]&255](c[(c[j>>2]|0)+4>>2]|0,(c[n>>2]|0)+4|0,c[o>>2]|0?(c[o>>2]|0)-1|0:0,c[p>>2]|0)|0;c[c[h>>2]>>2]=(c[j>>2]|0)+8;if((c[k>>2]|0)!=0&(c[i>>2]|0)!=0){r=nf(49960,r)|0;c[c[i>>2]>>2]=r}}else{c[k>>2]=1;c[q>>2]=c[c[n>>2]>>2];r=nf(49938,q)|0;c[c[i>>2]>>2]=r}if(!(c[k>>2]|0)){r=c[k>>2]|0;l=s;return r|0}c[c[h>>2]>>2]=0;c[c[p>>2]>>2]=0;r=c[k>>2]|0;l=s;return r|0}function tW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=0;a=c[g>>2]|0;if(!(c[d>>2]|0)){c[e>>2]=c[a+40>>2];g=c[e>>2]|0;l=f;return g|0}c[e>>2]=c[a+36>>2];while(1){if(!(c[e>>2]|0)){a=7;break}if(!(kl(c[d>>2]|0,c[c[e>>2]>>2]|0)|0)){a=7;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((a|0)==7){g=c[e>>2]|0;l=f;return g|0}return 0}function uW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;i=m+24|0;e=m+20|0;f=m+16|0;j=m+12|0;g=m+8|0;h=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=g$(c[f>>2]|0)|0;c[k>>2]=-1;c[h>>2]=0;while(1){if(!(c[(c[e>>2]|0)+(c[h>>2]<<3)>>2]|0)){a=8;break}if(!(ld(c[(c[e>>2]|0)+(c[h>>2]<<3)>>2]|0,c[f>>2]|0,c[g>>2]|0)|0)){if((c[k>>2]|0)>=0){a=5;break}c[k>>2]=c[(c[e>>2]|0)+(c[h>>2]<<3)+4>>2]}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==5){c[i>>2]=1;k=c[i>>2]|0;l=m;return k|0}else if((a|0)==8){c[c[j>>2]>>2]=c[k>>2];c[i>>2]=(c[k>>2]|0)<0?1:0;k=c[i>>2]|0;l=m;return k|0}return 0}function vW(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;if(((a[c>>0]|0)!=34?(a[c>>0]|0)!=39:0)?(a[c>>0]|0)!=91:0)b=(a[c>>0]|0)==96;else b=1;l=d;return b&1|0}function wW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;P=l;l=l+240|0;J=P+64|0;I=P+56|0;H=P+40|0;M=P+236|0;R=P+228|0;E=P+32|0;F=P+224|0;G=P+216|0;e=P+212|0;f=P+208|0;K=P+204|0;L=P+200|0;N=P+188|0;O=P+184|0;Q=P+180|0;g=P+176|0;h=P+164|0;i=P;j=P+152|0;k=P+148|0;m=P+144|0;n=P+140|0;o=P+136|0;p=P+132|0;q=P+128|0;r=P+124|0;s=P+112|0;t=P+108|0;u=P+104|0;v=P+100|0;w=P+96|0;x=P+92|0;y=P+88|0;z=P+84|0;A=P+80|0;B=P+76|0;C=P+72|0;c[M>>2]=a;c[P+232>>2]=b;c[R>>2]=d;c[L>>2]=0;c[O>>2]=0;c[Q>>2]=0;c[g>>2]=(Qh(c[M>>2]|0)|0)!=0&1;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;b=Fi(c[c[R>>2]>>2]|0)|0;d=E;c[d>>2]=b;c[d+4>>2]=D;c[K>>2]=Sh(c[(c[R>>2]|0)+4>>2]|0)|0;c[f>>2]=Ri(c[(c[R>>2]|0)+4>>2]|0)|0;c[Q>>2]=(c[K>>2]|0)+8;c[L>>2]=dT(O,c[Q>>2]|0)|0;a:do if(c[L>>2]|0){h0(c[L>>2]|0,c[f>>2]|0,c[K>>2]|0)|0;R=E;yW(c[R>>2]|0,c[R+4>>2]|0,F,e,P+220|0,G);R=E;zW(O,N,c[R>>2]|0,c[R+4>>2]|0);if(c[e>>2]|0){c[h>>2]=c[L>>2];c[h+4>>2]=c[K>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;c[i>>2]=h;c[i+16>>2]=c[G>>2];ZR(i)|0;while(1){if(c[i+8>>2]|0)break a;Q=i+24|0;K=c[Q>>2]|0;Q=c[Q+4>>2]|0;c[H>>2]=c[i+16>>2];R=H+8|0;c[R>>2]=K;c[R+4>>2]=Q;qW(O,N,50609,H);ZR(i)|0}}if(!(c[F>>2]|0)){R=E;b=c[L>>2]|0;a=c[K>>2]|0;if((c[R>>2]|0)==1&(c[R+4>>2]|0)==0){AW(O,N,b,a);break}else{BW(O,N,b,a);break}}if(c[g>>2]|0){R=(QR((c[L>>2]|0)+2|0)|0)&65535;c[k>>2]=R;c[m>>2]=R;c[o>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if((c[k>>2]|0)<(c[K>>2]|0)){R=VR((c[L>>2]|0)+(c[m>>2]|0)|0,n)|0;c[m>>2]=(c[m>>2]|0)+R}else c[n>>2]=c[k>>2];CW(O,N,(c[L>>2]|0)+4|0,(c[n>>2]|0)-4|0);c[p>>2]=c[n>>2];while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break;R=VR((c[L>>2]|0)+(c[p>>2]|0)|0,q)|0;c[p>>2]=(c[p>>2]|0)+R;c[j+4>>2]=c[o>>2];bS(O,j,c[q>>2]|0,(c[L>>2]|0)+(c[p>>2]|0)|0);R=c[j>>2]|0;c[I>>2]=c[j+4>>2];c[I+4>>2]=R;qW(O,N,50619,I);c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0);if((c[m>>2]|0)<(c[K>>2]|0)){R=VR((c[L>>2]|0)+(c[m>>2]|0)|0,r)|0;c[m>>2]=(c[m>>2]|0)+R;c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0)}else c[n>>2]=c[k>>2];CW(O,N,(c[L>>2]|0)+(c[p>>2]|0)|0,(c[n>>2]|0)-(c[p>>2]|0)|0);c[p>>2]=c[n>>2];if((c[p>>2]|0)>=(c[k>>2]|0))continue;R=VR((c[L>>2]|0)+(c[p>>2]|0)|0,o)|0;c[p>>2]=(c[p>>2]|0)+R}nS(j);break}c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;if((c[K>>2]|0)<4){wR(O,N,7,50630);break}c[x>>2]=(QR(c[L>>2]|0)|0)&65535;R=(QR((c[L>>2]|0)+2|0)|0)&65535;c[t>>2]=R;c[u>>2]=R;if((c[u>>2]|0)<(c[K>>2]|0))VR((c[L>>2]|0)+(c[u>>2]|0)|0,w)|0;do if(!(c[x>>2]|0))if(c[w>>2]|0){c[y>>2]=c[w>>2];break}else{c[y>>2]=c[t>>2];break}else c[y>>2]=c[x>>2];while(0);DW(O,N,(c[L>>2]|0)+4|0,(c[y>>2]|0)-4|0)|0;c[z>>2]=(c[w>>2]|0?c[w>>2]|0:c[t>>2]|0)-(c[y>>2]|0);EW(O,N,(c[L>>2]|0)+(c[y>>2]|0)|0,c[z>>2]|0)|0;while(1){if((c[u>>2]|0)>=(c[K>>2]|0))break;c[A>>2]=(c[u>>2]|0)==(c[t>>2]|0)&1;R=VR((c[L>>2]|0)+(c[u>>2]|0)|0,B)|0;c[u>>2]=(c[u>>2]|0)+R;c[v>>2]=(c[v>>2]|0)+(c[B>>2]|0);c[y>>2]=c[v>>2];if((c[u>>2]|0)<(c[K>>2]|0)){VR((c[L>>2]|0)+(c[u>>2]|0)|0,B)|0;c[C>>2]=(c[v>>2]|0)+(c[B>>2]|0)}else c[C>>2]=c[t>>2];if(!(c[A>>2]|0)){R=VR((c[L>>2]|0)+(c[y>>2]|0)|0,B)|0;c[y>>2]=(c[y>>2]|0)+R;c[s+4>>2]=c[B>>2]}R=VR((c[L>>2]|0)+(c[y>>2]|0)|0,B)|0;c[y>>2]=(c[y>>2]|0)+R;bS(O,s,c[B>>2]|0,(c[L>>2]|0)+(c[y>>2]|0)|0);c[y>>2]=(c[y>>2]|0)+(c[B>>2]|0);R=c[s>>2]|0;c[J>>2]=c[s+4>>2];c[J+4>>2]=R;qW(O,N,50619,J);R=EW(O,N,(c[L>>2]|0)+(c[y>>2]|0)|0,(c[C>>2]|0)-(c[y>>2]|0)|0)|0;c[y>>2]=(c[y>>2]|0)+R}nS(s)}while(0);_d(c[L>>2]|0);a=c[M>>2]|0;if(!(c[O>>2]|0)){xi(a,c[N>>2]|0,c[N+4>>2]|0,-1);nS(N);l=P;return}else{Wi(a,c[O>>2]|0);nS(N);l=P;return}}function xW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m;j=m+12|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){Th(c[e>>2]|0,50473,-1);l=m;return}c[h>>2]=Rh(c[c[g>>2]>>2]|0)|0;if(kl(c[h>>2]|0,50510)|0){Th(c[e>>2]|0,50565,-1);l=m;return}if((c[f>>2]|0)!=3){Th(c[e>>2]|0,50518,-1);l=m;return}else{c[j>>2]=Qi(c[(c[g>>2]|0)+4>>2]|0)|0;c[k>>2]=Qi(c[(c[g>>2]|0)+8>>2]|0)|0;h=c[j>>2]|0;h=j0(h|0,((h|0)<0)<<31>>31|0,37)|0;h=_$(h|0,D|0,0,0)|0;h=_$(h|0,D|0,0,0)|0;j=c[k>>2]|0;j=_$(h|0,D|0,j|0,((j|0)<0)<<31>>31|0)|0;k=i;c[k>>2]=j;c[k+4>>2]=D;k=i;Bi(c[e>>2]|0,c[k>>2]|0,c[k+4>>2]|0);l=m;return}}function yW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;j=h;i=h+20|0;k=h+16|0;m=h+12|0;n=h+8|0;o=j;c[o>>2]=a;c[o+4>>2]=b;c[i>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[c[n>>2]>>2]=c[j>>2]&2147483647;f=j;f=e0(c[f>>2]|0,c[f+4>>2]|0,31)|0;g=j;c[g>>2]=f;c[g+4>>2]=D;c[c[m>>2]>>2]=c[j>>2]&31;g=j;g=e0(c[g>>2]|0,c[g+4>>2]|0,5)|0;f=j;c[f>>2]=g;c[f+4>>2]=D;c[c[k>>2]>>2]=c[j>>2]&1;f=j;f=e0(c[f>>2]|0,c[f+4>>2]|0,1)|0;g=j;c[g>>2]=f;c[g+4>>2]=D;c[c[i>>2]>>2]=c[j>>2]&65535;l=h;return}function zW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;m=o+24|0;g=o+60|0;n=o+56|0;h=o;i=o+52|0;j=o+48|0;k=o+44|0;f=o+40|0;c[g>>2]=a;c[n>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;e=h;yW(c[e>>2]|0,c[e+4>>2]|0,i,f,j,k);if(c[i>>2]|0){h=c[g>>2]|0;n=c[n>>2]|0;i=c[i>>2]|0;j=c[j>>2]|0;k=c[k>>2]|0;c[m>>2]=c[f>>2]|0?50747:55752;c[m+4>>2]=i;c[m+8>>2]=j;c[m+12>>2]=k;qW(h,n,50754,m);l=o;return}m=h;b=c[g>>2]|0;a=c[n>>2]|0;if((c[m>>2]|0)==1&(c[m+4>>2]|0)==0){qW(b,a,50723,o+8|0);l=o;return}else{qW(b,a,50735,o+16|0);l=o;return}}function AW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o+8|0;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;f=o;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=0;c[m>>2]=55752;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;d=(RR((c[i>>2]|0)+(c[k>>2]|0)|0,f)|0)&255;c[k>>2]=(c[k>>2]|0)+d;d=c[g>>2]|0;e=c[h>>2]|0;b=c[f>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=b;qW(d,e,50718,n);c[m>>2]=23021}l=o;return}function BW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;f=j+20|0;g=j+16|0;m=j+12|0;k=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[m>>2]=d;c[k>>2]=e;c[i>>2]=0;c[h>>2]=CT(c[m>>2]|0,c[k>>2]|0,0,i)|0;if(c[h>>2]|0){c[c[f>>2]>>2]=c[h>>2];l=j;return}else{FW(c[f>>2]|0,c[g>>2]|0,c[i>>2]|0);jS(c[i>>2]|0);l=j;return}}function CW(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+64|0;p=q+16|0;i=q+52|0;j=q+48|0;k=q+44|0;m=q+40|0;n=q+36|0;o=q+8|0;g=q+32|0;h=q;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=0;f=o;c[f>>2]=0;c[f+4>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;c[g>>2]=55752;e=(RR((c[k>>2]|0)+(c[n>>2]|0)|0,h)|0)&255;c[n>>2]=(c[n>>2]|0)+e;e=h;f=o;e=_$(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=o;c[f>>2]=e;c[f+4>>2]=D;do if((c[n>>2]|0)<(c[m>>2]|0)?(d[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0|0)==0:0){c[n>>2]=(c[n>>2]|0)+1;if((c[n>>2]|0)<(c[m>>2]|0)?(d[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0|0)==0:0){c[n>>2]=(c[n>>2]|0)+1;c[g>>2]=50658;break}c[g>>2]=29578}while(0);e=c[i>>2]|0;f=c[j>>2]|0;s=o;r=c[s+4>>2]|0;b=c[g>>2]|0;a=p;c[a>>2]=c[s>>2];c[a+4>>2]=r;c[p+8>>2]=b;qW(e,f,50660,p)}l=q;return}function DW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;d=VR((c[h>>2]|0)+(c[j>>2]|0)|0,k)|0;c[j>>2]=(c[j>>2]|0)+d;d=c[f>>2]|0;e=c[g>>2]|0;c[m>>2]=c[k>>2];qW(d,e,49275,m)}l=n;return c[j>>2]|0}function EW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+80|0;r=s+32|0;q=s+24|0;f=s+16|0;j=s+64|0;k=s+60|0;m=s+56|0;n=s+52|0;o=s+8|0;p=s+48|0;g=s+44|0;h=s+40|0;i=s;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;e=o;c[e>>2]=0;c[e+4>>2]=0;c[p>>2]=0;if((c[n>>2]|0)>0){c[p>>2]=(RR(c[m>>2]|0,o)|0)&255;d=c[j>>2]|0;e=c[k>>2]|0;t=o;a=c[t+4>>2]|0;b=f;c[b>>2]=c[t>>2];c[b+4>>2]=a;qW(d,e,50638,f)}while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;f=TR((c[m>>2]|0)+(c[p>>2]|0)|0,g,h)|0;c[p>>2]=(c[p>>2]|0)+f;f=c[j>>2]|0;t=c[k>>2]|0;e=c[h>>2]|0?29578:55752;c[q>>2]=c[g>>2];c[q+4>>2]=e;qW(f,t,50647,q);if(((c[n>>2]|0)-(c[p>>2]|0)|0)<(c[g>>2]|0))a=(c[n>>2]|0)-(c[p>>2]|0)|0;else a=c[g>>2]|0;t=DW(c[j>>2]|0,c[k>>2]|0,(c[m>>2]|0)+(c[p>>2]|0)|0,a)|0;c[p>>2]=(c[p>>2]|0)+t;if((c[p>>2]|0)>=(c[n>>2]|0))continue;t=(RR((c[m>>2]|0)+(c[p>>2]|0)|0,i)|0)&255;c[p>>2]=(c[p>>2]|0)+t;t=i;f=o;t=_$(c[f>>2]|0,c[f+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;f=o;c[f>>2]=t;c[f+4>>2]=D;f=c[j>>2]|0;t=c[k>>2]|0;b=o;d=c[b+4>>2]|0;e=r;c[e>>2]=c[b>>2];c[e+4>>2]=d;qW(f,t,50638,r)}l=s;return c[p>>2]|0}function FW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;o=p+32|0;n=p+16|0;m=p;e=p+60|0;f=p+56|0;g=p+52|0;h=p+48|0;i=p+44|0;j=p+40|0;k=p+36|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[g>>2]|0)+24+((c[h>>2]|0)*12|0);b=c[e>>2]|0;d=c[f>>2]|0;q=c[c[j>>2]>>2]|0;a=c[(c[j>>2]|0)+4>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=q;c[m+8>>2]=a;qW(b,d,50668,m);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[k>>2]=(c[(c[j>>2]|0)+8>>2]|0)+((c[i>>2]|0)*12|0);d=c[e>>2]|0;q=c[f>>2]|0;a=c[(c[k>>2]|0)+4>>2]|0;b=c[(c[k>>2]|0)+8>>2]|0;c[n>>2]=c[c[k>>2]>>2];c[n+4>>2]=a;c[n+8>>2]=b;qW(d,q,50695,n);c[i>>2]=(c[i>>2]|0)+1}qW(c[e>>2]|0,c[f>>2]|0,49298,o);c[h>>2]=(c[h>>2]|0)+1}l=p;return}function GW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=h_(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function HW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=h_(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function IW(b,e){b=b|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+176|0;u=y+164|0;z=y+160|0;v=y+156|0;g=y+152|0;o=y+148|0;w=y+144|0;p=y+140|0;x=y+136|0;r=y+132|0;s=y+32|0;i=y+20|0;j=y+16|0;k=y+12|0;m=y+8|0;n=y+4|0;t=y;c[z>>2]=b;c[v>>2]=e;c[g>>2]=c[z>>2];c[o>>2]=c[(c[g>>2]|0)+12>>2];c[w>>2]=0;b=s;e=10696;g=b+100|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[i>>2]=-1;c[i+4>>2]=c[(c[o>>2]|0)+12>>2];c[i+8>>2]=(c[(c[o>>2]|0)+12>>2]|0)+1;c[r>>2]=0;a:while(1){b=c[v>>2]|0;if((c[r>>2]|0)>=(c[c[v>>2]>>2]|0))break;c[j>>2]=(c[b+4>>2]|0)+((c[r>>2]|0)*12|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=5)break;c[m>>2]=s+((c[k>>2]|0)*20|0);do if((c[c[j>>2]>>2]|0)==(c[i+(c[(c[m>>2]|0)+8>>2]<<2)>>2]|0)?d[(c[j>>2]|0)+4>>0]&c[c[m>>2]>>2]|0:0)if(!(a[(c[j>>2]|0)+5>>0]|0))if(!(c[k>>2]|0)){q=10;break a}else break;else{c[(c[m>>2]|0)+16>>2]=c[r>>2];c[w>>2]=c[w>>2]|c[(c[m>>2]|0)+4>>2];break}while(0);c[k>>2]=(c[k>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}if((q|0)==10){h[(c[v>>2]|0)+40>>3]=1.e+50;c[u>>2]=0;z=c[u>>2]|0;l=y;return z|0}if((c[b+8>>2]|0)==1){c[n>>2]=c[c[(c[v>>2]|0)+12>>2]>>2];if((c[n>>2]|0)==((c[(c[o>>2]|0)+12>>2]|0)+1|0)?c[w>>2]&1|0:0)c[w>>2]=c[w>>2]|32;else q=17;if((q|0)==17?(c[n>>2]|0)==-1:0)c[w>>2]=c[w>>2]|64;if(c[w>>2]&96|0?(c[(c[v>>2]|0)+32>>2]=1,a[(c[(c[v>>2]|0)+12>>2]|0)+4>>0]|0):0)c[w>>2]=c[w>>2]|128}c[p>>2]=(c[w>>2]&1|0)!=0&1;if(c[w>>2]&4|0){h[(c[v>>2]|0)+40>>3]=c[p>>2]|0?100.0:10.0;if(!(c[p>>2]|0))g_(c[v>>2]|0)}else{if((c[w>>2]&24|0)==24){f=c[p>>2]|0?500.0:25.0e4;b=c[v>>2]|0}else{b=(c[w>>2]&24|0)!=0;z=(c[p>>2]|0)!=0;f=b?(z?750.0:75.0e4):z?1.0e3:1.0e6;b=b?c[v>>2]|0:c[v>>2]|0}h[b+40>>3]=f}c[x>>2]=1;c[r>>2]=0;while(1){if((c[r>>2]|0)>=5)break;c[t>>2]=s+((c[r>>2]|0)*20|0);if((c[(c[t>>2]|0)+16>>2]|0)>=0){z=c[x>>2]|0;c[x>>2]=z+1;c[(c[(c[v>>2]|0)+16>>2]|0)+(c[(c[t>>2]|0)+16>>2]<<3)>>2]=z;a[(c[(c[v>>2]|0)+16>>2]|0)+(c[(c[t>>2]|0)+16>>2]<<3)+4>>0]=c[(c[t>>2]|0)+12>>2]}c[r>>2]=(c[r>>2]|0)+1}c[(c[v>>2]|0)+20>>2]=c[w>>2];c[u>>2]=0;z=c[u>>2]|0;l=y;return z|0}function JW(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c_(c[d>>2]|0);l=b;return 0}function KW(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+8|0;f=e+4|0;d=e;c[b>>2]=a;c[f>>2]=c[b>>2];c[d>>2]=b_(c[(c[f>>2]|0)+12>>2]|0)|0;if(c[d>>2]|0){f=c[d>>2]|0;l=e;return f|0}c_(c[b>>2]|0);f=c[d>>2]|0;l=e;return f|0}function LW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[d>>2]=b;c[e>>2]=c[m>>2];c[f>>2]=c[(c[e>>2]|0)+12>>2];c[g>>2]=0;c[i>>2]=$Y(c[e>>2]|0)|0;if(c[i>>2]|0){j=c[g>>2]|0;m=c[d>>2]|0;c[m>>2]=j;m=c[i>>2]|0;l=k;return m|0}c[h>>2]=120+(c[(c[f>>2]|0)+12>>2]<<2);c[g>>2]=pe(c[h>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[(c[e>>2]|0)+24>>2];m0(c[g>>2]|0,0,c[h>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=(c[g>>2]|0)+120;c[(c[g>>2]|0)+4>>2]=c[(c[j>>2]|0)+44>>2];c[(c[j>>2]|0)+44>>2]=c[g>>2];j=(c[j>>2]|0)+24|0;h=j;h=_$(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;m=D;c[j>>2]=h;c[j+4>>2]=m;j=(c[g>>2]|0)+16|0;c[j>>2]=h;c[j+4>>2]=m;j=c[g>>2]|0;m=c[d>>2]|0;c[m>>2]=j;m=c[i>>2]|0;l=k;return m|0}else{c[i>>2]=7;j=c[g>>2]|0;m=c[d>>2]|0;c[m>>2]=j;m=c[i>>2]|0;l=k;return m|0}return 0}function MW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;if(!(c[b>>2]|0)){l=g;return 0}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[b>>2];VZ(c[e>>2]|0);c[f>>2]=(c[(c[d>>2]|0)+24>>2]|0)+44;while(1){if((c[c[f>>2]>>2]|0)==(c[e>>2]|0))break;c[f>>2]=(c[c[f>>2]>>2]|0)+4}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];_d(c[e>>2]|0);l=g;return 0}function NW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+96|0;p=B;s=B+80|0;j=B+76|0;t=B+64|0;u=B+60|0;x=B+56|0;y=B+52|0;z=B+48|0;h=B+44|0;v=B+40|0;w=B+36|0;k=B+32|0;m=B+28|0;n=B+24|0;i=B+20|0;o=B+16|0;A=B+12|0;q=B+8|0;r=B+4|0;c[s>>2]=b;c[j>>2]=d;c[B+72>>2]=e;c[B+68>>2]=f;c[t>>2]=g;c[u>>2]=c[c[s>>2]>>2];c[x>>2]=c[(c[u>>2]|0)+12>>2];c[y>>2]=c[s>>2];c[z>>2]=0;c[h>>2]=0;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;c[i>>2]=0;c[o>>2]=0;c[A>>2]=c[(c[x>>2]|0)+96>>2];if(c[(c[y>>2]|0)+24>>2]|0){VZ(c[y>>2]|0);m0((c[y>>2]|0)+24|0,0,120-((c[y>>2]|0)+24-(c[y>>2]|0))|0)|0}c[(c[x>>2]|0)+96>>2]=(c[u>>2]|0)+8;if(c[j>>2]&1|0){f=c[t>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[k>>2]=c[f+(g<<2)>>2]}if(c[j>>2]&2|0){f=c[t>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[m>>2]=c[f+(g<<2)>>2]}if(c[j>>2]&4|0){f=c[t>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[n>>2]=c[f+(g<<2)>>2]}if(c[j>>2]&8|0){f=c[t>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[i>>2]=c[f+(g<<2)>>2]}if(c[j>>2]&16|0){f=c[t>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[o>>2]=c[f+(g<<2)>>2]}c[w>>2]=c[j>>2]&32|0?1:0;j=c[j>>2]&128|0?1:0;c[v>>2]=j;c[(c[y>>2]|0)+28>>2]=j;if(c[n>>2]|0){j=c[n>>2]|0;c[o>>2]=j;c[i>>2]=j}j=(c[v>>2]|0)!=0;b=WZ(c[i>>2]|0,-1,2147483647)|0;d=D;h=c[y>>2]|0;if(j){j=h+32|0;c[j>>2]=b;c[j+4>>2]=d;j=WZ(c[o>>2]|0,0,-2147483648)|0;o=(c[y>>2]|0)+40|0;c[o>>2]=j;c[o+4>>2]=D}else{j=h+40|0;c[j>>2]=b;c[j+4>>2]=d;j=WZ(c[o>>2]|0,0,-2147483648)|0;o=(c[y>>2]|0)+32|0;c[o>>2]=j;c[o+4>>2]=D}if(c[(c[u>>2]|0)+28>>2]|0){c[(c[y>>2]|0)+24>>2]=2;c[(c[y>>2]|0)+52>>2]=c[(c[(c[u>>2]|0)+28>>2]|0)+52>>2];c[z>>2]=DY(c[u>>2]|0,c[y>>2]|0,c[v>>2]|0)|0;y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}if(!(c[k>>2]|0)){if(!(c[(c[x>>2]|0)+36>>2]|0)){c[p>>2]=c[(c[x>>2]|0)+8>>2];y=nf(51858,p)|0;c[c[(c[x>>2]|0)+96>>2]>>2]=y;c[z>>2]=1;y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}c[(c[y>>2]|0)+24>>2]=c[n>>2]|0?6:5;v=c[(c[u>>2]|0)+20>>2]|0;w=SY(c[y>>2]|0)|0;c[z>>2]=TY(v,w,(c[y>>2]|0)+48|0,(c[u>>2]|0)+8|0)|0;if(c[z>>2]|0){y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}b=c[(c[y>>2]|0)+48>>2]|0;if((c[(c[y>>2]|0)+24>>2]|0)==6)tJ(b,1,c[c[t>>2]>>2]|0)|0;else{w=(c[y>>2]|0)+32|0;qJ(b,1,c[w>>2]|0,c[w+4>>2]|0)|0;w=(c[y>>2]|0)+40|0;qJ(c[(c[y>>2]|0)+48>>2]|0,2,c[w>>2]|0,c[w+4>>2]|0)|0}c[z>>2]=OW(c[s>>2]|0)|0;y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}t=Rh(c[c[t>>2]>>2]|0)|0;c[q>>2]=t;c[q>>2]=(c[q>>2]|0)==0?55752:t;c[z>>2]=XZ(c[x>>2]|0,c[y>>2]|0,c[m>>2]|0)|0;if(c[z>>2]|0){y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}b=c[u>>2]|0;if((a[c[q>>2]>>0]|0)==42){c[z>>2]=YZ(b,c[y>>2]|0,(c[q>>2]|0)+1|0)|0;y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}c[r>>2]=b+8;c[z>>2]=TU(c[x>>2]|0,c[q>>2]|0,(c[y>>2]|0)+52|0,c[r>>2]|0)|0;if(c[z>>2]|0){y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}b=(c[y>>2]|0)+24|0;if(c[w>>2]|0){c[b>>2]=4;c[z>>2]=ZZ(c[u>>2]|0,c[y>>2]|0,c[v>>2]|0)|0;y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}else{c[b>>2]=1;c[z>>2]=DY(c[u>>2]|0,c[y>>2]|0,c[v>>2]|0)|0;y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}return 0}function OW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;b=g+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=c[h>>2];a:do if((c[(c[d>>2]|0)+24>>2]|0)<3){c[f>>2]=0;h=SZ(c[d>>2]|0,f)|0;c[e>>2]=h;if(!((h|0)!=0|(c[f>>2]|0)!=0)){f=(c[d>>2]|0)+40|0;c[e>>2]=TZ(c[(c[d>>2]|0)+52>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=FY(c[(c[d>>2]|0)+52>>2]|0)|0;h=(c[d>>2]|0)+60|0;c[h>>2]=c[h>>2]|f;GY(c[d>>2]|0);break}c[b>>2]=c[e>>2];h=c[b>>2]|0;l=g;return h|0}else switch(c[(c[d>>2]|0)+24>>2]|0){case 3:{h=(c[d>>2]|0)+60|0;c[h>>2]=c[h>>2]|1;c[e>>2]=0;break a}case 4:{c[e>>2]=UZ(c[d>>2]|0)|0;break a}default:{c[e>>2]=Bs(c[(c[d>>2]|0)+48>>2]|0)|0;if((c[e>>2]|0)!=100){h=(c[d>>2]|0)+60|0;c[h>>2]=c[h>>2]|1;c[e>>2]=ys(c[(c[d>>2]|0)+48>>2]|0)|0;break a}else{c[e>>2]=0;break a}}}while(0);c[b>>2]=c[e>>2];h=c[b>>2]|0;l=g;return h|0}function PW(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return (c[(c[b>>2]|0)+60>>2]&1|0?1:0)|0}function QW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[m>>2]>>2];c[h>>2]=c[(c[g>>2]|0)+12>>2];c[i>>2]=c[m>>2];c[j>>2]=0;a=(c[f>>2]|0)==(c[(c[h>>2]|0)+12>>2]|0);if((c[(c[i>>2]|0)+24>>2]|0)==3){if(!a){m=c[j>>2]|0;l=k;return m|0}m=(c[i>>2]|0)+64|0;Bi(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[j>>2]|0;l=k;return m|0}if(a){m=(c[i>>2]|0)+16|0;Bi(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[j>>2]|0;l=k;return m|0}if((c[f>>2]|0)!=((c[(c[h>>2]|0)+12>>2]|0)+1|0)){if(QY(c[g>>2]|0)|0){m=c[j>>2]|0;l=k;return m|0}c[j>>2]=RY(c[i>>2]|0,1)|0;if(c[j>>2]|0){m=c[j>>2]|0;l=k;return m|0}m=c[e>>2]|0;Zi(m,kJ(c[(c[i>>2]|0)+48>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[j>>2]|0;l=k;return m|0}if((c[(c[i>>2]|0)+24>>2]|0)==2){QZ(c[e>>2]|0,c[i>>2]|0)|0;m=c[j>>2]|0;l=k;return m|0}if((c[(c[i>>2]|0)+24>>2]|0)!=1?(c[(c[i>>2]|0)+24>>2]|0)!=4:0){m=c[j>>2]|0;l=k;return m|0}if((c[(c[i>>2]|0)+80>>2]|0)==0?(m=RZ(c[i>>2]|0)|0,c[j>>2]=m,0!=(m|0)):0){m=c[j>>2]|0;l=k;return m|0}_X(c[(c[i>>2]|0)+80>>2]|0,c[i>>2]|0,c[e>>2]|0,c[(c[i>>2]|0)+84>>2]|0,c[(c[i>>2]|0)+88>>2]|0);m=c[j>>2]|0;l=k;return m|0}function RW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;d=f+8|0;e=f+4|0;g=f;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];c[g>>2]=c[(c[e>>2]|0)+24>>2];switch(c[g>>2]|0){case 3:{h=c[d>>2]|0;c[h>>2]=0;c[h+4>>2]=0;l=f;return 0}case 4:case 1:case 2:{g=KY(c[e>>2]|0)|0;h=c[d>>2]|0;c[h>>2]=g;c[h+4>>2]=D;l=f;return 0}default:{g=jJ(c[(c[e>>2]|0)+48>>2]|0,0)|0;h=c[d>>2]|0;c[h>>2]=g;c[h+4>>2]=D;l=f;return 0}}return 0}function SW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+80|0;m=v+32|0;w=v+76|0;j=v+72|0;s=v+68|0;t=v+64|0;u=v+60|0;k=v+56|0;f=v+52|0;o=v+48|0;g=v+44|0;p=v+40|0;h=v+24|0;i=v+16|0;q=v+8|0;r=v;c[w>>2]=a;c[j>>2]=b;c[s>>2]=d;c[t>>2]=e;c[u>>2]=c[w>>2];c[k>>2]=c[(c[u>>2]|0)+12>>2];c[o>>2]=0;c[(c[(c[u>>2]|0)+12>>2]|0)+96>>2]=(c[u>>2]|0)+8;aX(c[u>>2]|0);c[f>>2]=Ai(c[c[s>>2]>>2]|0)|0;do if((c[f>>2]|0)==5?(Ai(c[(c[s>>2]|0)+(2+(c[(c[k>>2]|0)+12>>2]|0)<<2)>>2]|0)|0)!=5:0){c[g>>2]=Rh(c[(c[s>>2]|0)+(2+(c[(c[k>>2]|0)+12>>2]|0)<<2)>>2]|0)|0;if(c[(c[k>>2]|0)+32>>2]|0?0==(kl(32733,c[g>>2]|0)|0):0){c[o>>2]=cZ(c[u>>2]|0,c[s>>2]|0)|0;break}c[o>>2]=dZ(c[u>>2]|0,c[g>>2]|0,c[(c[s>>2]|0)+(2+(c[(c[k>>2]|0)+12>>2]|0)+1<<2)>>2]|0)|0}else n=7;while(0);do if((n|0)==7){c[p>>2]=4;if(!(c[(c[k>>2]|0)+32>>2]|0))c[p>>2]=NJ(c[c[k>>2]>>2]|0)|0;if((c[f>>2]|0)==1?QY(c[u>>2]|0)|0:0){w=c[(c[k>>2]|0)+8>>2]|0;c[m>>2]=(c[j>>2]|0)>1?51445:51452;c[m+4>>2]=w;w=nf(51464,m)|0;c[(c[u>>2]|0)+8>>2]=w;c[o>>2]=1;break}if((c[j>>2]|0)==1){t=Fi(c[c[s>>2]>>2]|0)|0;w=h;c[w>>2]=t;c[w+4>>2]=D;w=h;c[o>>2]=eZ(c[(c[u>>2]|0)+20>>2]|0,c[w>>2]|0,c[w+4>>2]|0,0)|0;break}if((c[f>>2]|0)!=1){if((c[p>>2]|0)==5?(Ai(c[(c[s>>2]|0)+4>>2]|0)|0)==1:0){r=Fi(c[(c[s>>2]|0)+4>>2]|0)|0;w=i;c[w>>2]=r;c[w+4>>2]=D;w=i;c[o>>2]=eZ(c[(c[u>>2]|0)+20>>2]|0,c[w>>2]|0,c[w+4>>2]|0,0)|0}fZ(o,c[u>>2]|0,c[s>>2]|0,c[t>>2]|0);break}n=Fi(c[c[s>>2]>>2]|0)|0;w=q;c[w>>2]=n;c[w+4>>2]=D;w=Fi(c[(c[s>>2]|0)+4>>2]|0)|0;n=r;c[n>>2]=w;c[n+4>>2]=D;n=q;w=r;if(!((c[n>>2]|0)!=(c[w>>2]|0)?1:(c[n+4>>2]|0)!=(c[w+4>>2]|0))){w=q;c[o>>2]=eZ(c[(c[u>>2]|0)+20>>2]|0,c[w>>2]|0,c[w+4>>2]|0,0)|0;fZ(o,c[u>>2]|0,c[s>>2]|0,c[t>>2]|0);break}a=c[(c[u>>2]|0)+20>>2]|0;if((c[p>>2]|0)==5){w=q;c[o>>2]=eZ(a,c[w>>2]|0,c[w+4>>2]|0,0)|0;if(!(c[o>>2]|0)){w=r;c[o>>2]=eZ(c[(c[u>>2]|0)+20>>2]|0,c[w>>2]|0,c[w+4>>2]|0,0)|0}fZ(o,c[u>>2]|0,c[s>>2]|0,c[t>>2]|0);break}c[o>>2]=gZ(a,c[s>>2]|0,c[t>>2]|0)|0;if(!(c[o>>2]|0)){w=q;c[o>>2]=eZ(c[(c[u>>2]|0)+20>>2]|0,c[w>>2]|0,c[w+4>>2]|0,0)|0}if(!(c[o>>2]|0)){w=c[t>>2]|0;c[o>>2]=hZ(c[(c[u>>2]|0)+20>>2]|0,c[s>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0}}while(0);c[(c[(c[u>>2]|0)+12>>2]|0)+96>>2]=0;l=v;return c[o>>2]|0}function TW(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;$Y(c[d>>2]|0)|0;l=b;return 0}function UW(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[(c[(c[e>>2]|0)+12>>2]|0)+96>>2]=(c[e>>2]|0)+8;aX(c[e>>2]|0);c[b>>2]=gX(c[(c[e>>2]|0)+20>>2]|0,1)|0;c[(c[(c[e>>2]|0)+12>>2]|0)+96>>2]=0;l=d;return c[b>>2]|0}function VW(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function WW(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=bX(c[(c[e>>2]|0)+20>>2]|0)|0;l=d;return c[b>>2]|0}function XW(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;i=k+28|0;o=k+24|0;m=k+16|0;j=k+12|0;g=k+8|0;n=k+4|0;h=k;c[o>>2]=a;c[k+20>>2]=b;c[m>>2]=d;c[j>>2]=e;c[g>>2]=f;c[n>>2]=c[o>>2];c[h>>2]=YX(c[n>>2]|0,c[m>>2]|0)|0;if(c[h>>2]|0){c[c[j>>2]>>2]=243;c[c[g>>2]>>2]=c[h>>2];c[i>>2]=1;o=c[i>>2]|0;l=k;return o|0}else{c[i>>2]=0;o=c[i>>2]|0;l=k;return o|0}return 0}function YW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];b=VX(c[(c[f>>2]|0)+20>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function ZW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];aX(c[e>>2]|0);b=gX(c[(c[e>>2]|0)+20>>2]|0,0)|0;l=d;return b|0}function _W(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];aX(c[e>>2]|0);b=gX(c[(c[e>>2]|0)+20>>2]|0,0)|0;l=d;return b|0}function $W(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];aX(c[e>>2]|0);b=bX(c[(c[e>>2]|0)+20>>2]|0)|0;l=d;return b|0}function aX(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[(c[b>>2]|0)+24>>2]|0)+44>>2];while(1){if(!(c[d>>2]|0))break;if((c[(c[d>>2]|0)+24>>2]|0)==1?(c[c[d>>2]>>2]|0)==(c[b>>2]|0):0){a=(c[d>>2]|0)+60|0;c[a>>2]=c[a>>2]|32}c[d>>2]=c[(c[d>>2]|0)+4>>2]}l=e;return}function bX(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;a=cX(c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return a|0}function cX(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;WR(c[d>>2]|0);dX(c[d>>2]|0);eX(c[d>>2]|0);l=b;return 0}function dX(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+12>>2]|0)){l=d;return}fX(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+16>>2]=0;l=d;return}function eX(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){l=d;return}jS(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;l=d;return}function fX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[d>>2]=0;while(1){a=c[(c[b>>2]|0)+20>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+12>>2]|0))break;c[f>>2]=c[a+(c[d>>2]<<2)>>2];while(1){if(!(c[f>>2]|0))break;c[e>>2]=c[c[f>>2]>>2];_d(c[f>>2]|0);c[f>>2]=c[e>>2]}c[d>>2]=(c[d>>2]|0)+1}m0(a|0,0,c[(c[b>>2]|0)+12>>2]<<2|0)|0;c[(c[b>>2]|0)+8>>2]=0;l=g;return}function gX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0?c[(c[e>>2]|0)+8>>2]|0:0)?(c[g>>2]=hX(c[e>>2]|0)|0,c[(c[e>>2]|0)+8>>2]=0,c[g>>2]|0):0){c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}c[d>>2]=iX(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;g=c[d>>2]|0;l=h;return g|0}function hX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+24|0;d=h+20|0;e=h+16|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+12>>2];c[g>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a=(c[b>>2]|0)+16|0;hT(g,f,c[a>>2]|0,c[a+4>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[d>>2]|0))break;a=(c[(c[b>>2]|0)+24>>2]|0)+(c[e>>2]<<3)|0;hT(g,f,c[a>>2]|0,c[a+4>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(c[g>>2]|0){f=c[f>>2]|0;_d(f);g=c[g>>2]|0;l=h;return g|0}c[g>>2]=UX(c[(c[b>>2]|0)+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=c[f>>2]|0;_d(f);g=c[g>>2]|0;l=h;return g|0}function iX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;jX(c[d>>2]|0);if(c[f>>2]|0)WR(c[d>>2]|0);f=BR(c[d>>2]|0)|0;l=e;return f|0}function jX(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+16>>2]|0)){l=d;return}c[(c[b>>2]|0)+16>>2]=0;kX(c[b>>2]|0);l=d;return}function kX(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;F=l;l=l+208|0;f=F+192|0;r=F+188|0;x=F+184|0;y=F+180|0;z=F+176|0;A=F+172|0;B=F+168|0;C=F+164|0;E=F+160|0;g=F+156|0;h=F+16|0;i=F+152|0;j=F+148|0;k=F+144|0;m=F+8|0;n=F;o=F+140|0;p=F+136|0;q=F+132|0;s=F+128|0;t=F+124|0;u=F+120|0;v=F+116|0;w=F+112|0;c[f>>2]=b;c[r>>2]=c[(c[f>>2]|0)+12>>2];c[z>>2]=0;c[x>>2]=hS(c[f>>2]|0)|0;c[y>>2]=lX(c[f>>2]|0,c[x>>2]|0)|0;eX(c[f>>2]|0);if(!(c[y>>2]|0)){E=c[f>>2]|0;C=c[z>>2]|0;xX(E,x,C);C=c[f>>2]|0;yX(C,x);C=c[f>>2]|0;E=c[x>>2]|0;zX(C,E);E=c[x>>2]|0;jS(E);l=F;return}c[A>>2]=c[(c[c[f>>2]>>2]|0)+68>>2];c[B>>2]=c[(c[c[f>>2]>>2]|0)+48>>2];mX(c[f>>2]|0,h,c[y>>2]|0);c[E>>2]=h+4+8;c[g>>2]=h+4+20;if(!(c[(c[f>>2]|0)+36>>2]|0)){e=vT(c[r>>2]|0,0,0)|0;c[(c[f>>2]|0)+36>>2]=e}while(1){if(!(c[(c[f>>2]|0)+36>>2]|0))b=0==(nX(c[r>>2]|0)|0);else b=0;e=c[r>>2]|0;if(!b)break;YS(e,i,j,k);b=c[f>>2]|0;e=g$(c[i>>2]|0)|0;oX(b,h,e,c[i>>2]|0);a:do if((c[A>>2]|0)>=((c[(c[E>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]|0)+1|0)){h0((c[c[E>>2]>>2]|0)+(c[(c[E>>2]|0)+4>>2]|0)|0,c[j>>2]|0,c[k>>2]|0)|0;e=(c[E>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+(c[k>>2]|0)}else{e=m;c[e>>2]=0;c[e+4>>2]=0;e=n;c[e>>2]=0;c[e+4>>2]=0;c[o>>2]=0;while(1){if(c[(c[f>>2]|0)+36>>2]|0)break a;if((c[o>>2]|0)>=(c[k>>2]|0))break a;e=(RR((c[j>>2]|0)+(c[o>>2]|0)|0,n)|0)&255;c[o>>2]=(c[o>>2]|0)+e;e=n;b=m;e=_$(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;b=m;c[b>>2]=e;c[b+4>>2]=D;b=c[c[E>>2]>>2]|0;if(a[h+57>>0]|0){pX(b,c[(c[E>>2]|0)+4>>2]&65535);b=m;b=ES((c[c[E>>2]>>2]|0)+(c[(c[E>>2]|0)+4>>2]|0)|0,c[b>>2]|0,c[b+4>>2]|0)|0;e=(c[E>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+b;a[h+57>>0]=0;e=m;qX(c[f>>2]|0,h,c[e>>2]|0,c[e+4>>2]|0)}else{e=n;b=ES(b+(c[(c[E>>2]|0)+4>>2]|0)|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=(c[E>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+b}if((c[B>>2]|0)==1){if((((c[o>>2]|0)<(c[k>>2]|0)?(d[(c[j>>2]|0)+(c[o>>2]|0)>>0]|0)==0:0)?(b=c[c[E>>2]>>2]|0,G=(c[E>>2]|0)+4|0,e=c[G>>2]|0,c[G>>2]=e+1,a[b+e>>0]=0,c[o>>2]=(c[o>>2]|0)+1,(c[o>>2]|0)<(c[k>>2]|0)):0)?(d[(c[j>>2]|0)+(c[o>>2]|0)>>0]|0)==0:0){e=c[c[E>>2]>>2]|0;b=(c[E>>2]|0)+4|0;G=c[b>>2]|0;c[b>>2]=G+1;a[e+G>>0]=0;c[o>>2]=(c[o>>2]|0)+1}if(((c[(c[E>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0)<(c[A>>2]|0))continue;rX(c[f>>2]|0,h);continue}c[s>>2]=TR((c[j>>2]|0)+(c[o>>2]|0)|0,q,p)|0;c[s>>2]=(c[s>>2]|0)+(c[q>>2]|0);b:do if(((c[(c[E>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)+(c[s>>2]|0)|0)<=(c[A>>2]|0)){h0((c[c[E>>2]>>2]|0)+(c[(c[E>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[s>>2]|0)|0;G=(c[E>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+(c[s>>2]|0)}else{c[t>>2]=(c[j>>2]|0)+(c[o>>2]|0);c[u>>2]=0;do{if(c[(c[f>>2]|0)+36>>2]|0)break b;c[v>>2]=(c[A>>2]|0)-(c[(c[E>>2]|0)+4>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0);c[w>>2]=0;if(((c[s>>2]|0)-(c[u>>2]|0)|0)<=(c[v>>2]|0))c[w>>2]=(c[s>>2]|0)-(c[u>>2]|0);else c[w>>2]=sX((c[t>>2]|0)+(c[u>>2]|0)|0,c[v>>2]|0)|0;h0((c[c[E>>2]>>2]|0)+(c[(c[E>>2]|0)+4>>2]|0)|0,(c[t>>2]|0)+(c[u>>2]|0)|0,c[w>>2]|0)|0;G=(c[E>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+(c[w>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[w>>2]|0);if(((c[(c[E>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0)>=(c[A>>2]|0))rX(c[f>>2]|0,h)}while((c[u>>2]|0)<(c[s>>2]|0))}while(0);c[o>>2]=(c[o>>2]|0)+(c[s>>2]|0)}}while(0);XS(c[r>>2]|0)}fX(e);tX(c[f>>2]|0,h,z);if(!(c[(c[x>>2]|0)+20>>2]|0))uX((c[f>>2]|0)+36|0,x);vX((c[f>>2]|0)+36|0,c[x>>2]|0,0,1,0);if(!(c[(c[f>>2]|0)+36>>2]|0)){E=c[(c[x>>2]|0)+24+8>>2]|0;B=(c[x>>2]|0)+24+4|0;G=c[B>>2]|0;c[B>>2]=G+1;c[C>>2]=E+(G*12|0);c[c[C>>2]>>2]=c[y>>2];c[(c[C>>2]|0)+4>>2]=1;c[(c[C>>2]|0)+8>>2]=c[z>>2];G=(c[x>>2]|0)+16|0;c[G>>2]=(c[G>>2]|0)+1}wX(c[f>>2]|0,0,c[x>>2]|0);G=c[f>>2]|0;E=c[z>>2]|0;xX(G,x,E);E=c[f>>2]|0;yX(E,x);E=c[f>>2]|0;G=c[x>>2]|0;zX(E,G);G=c[x>>2]|0;jS(G);l=F;return}function lX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+288|0;e=n+280|0;f=n+276|0;i=n+272|0;j=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;m=n+4|0;d=n;c[e>>2]=a;c[f>>2]=b;c[i>>2]=0;if(c[(c[e>>2]|0)+36>>2]|0){m=c[i>>2]|0;l=n;return m|0}if((c[(c[f>>2]|0)+16>>2]|0)>=2e3){c[(c[e>>2]|0)+36>>2]=13;m=c[i>>2]|0;l=n;return m|0}m0(j|0,0,252)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+24+((c[g>>2]|0)*12|0)+4>>2]|0))break;c[d>>2]=c[(c[(c[f>>2]|0)+24+((c[g>>2]|0)*12|0)+8>>2]|0)+((c[h>>2]|0)*12|0)>>2];if((c[d>>2]|0)<=2e3){e=j+((((c[d>>2]|0)-1|0)/32|0)<<2)|0;c[e>>2]=c[e>>2]|1<<(((c[d>>2]|0)-1|0)%32|0)}c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=(c[g>>2]|0)+1}c[k>>2]=0;while(1){a=c[k>>2]|0;if((c[j+(c[k>>2]<<2)>>2]|0)!=-1)break;c[k>>2]=a+1}c[m>>2]=c[j+(a<<2)>>2];c[i>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[i>>2]=(c[i>>2]|0)+1}c[i>>2]=(c[i>>2]|0)+(1+(c[k>>2]<<5));m=c[i>>2]|0;l=n;return m|0}function mX(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=(c[(c[c[f>>2]>>2]|0)+68>>2]|0)+20;b=c[g>>2]|0;d=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[c[g>>2]>>2]=c[h>>2];QX(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[g>>2]|0)+4>>2]=1;a[(c[g>>2]|0)+58>>0]=1;c[(c[g>>2]|0)+88>>2]=1;cS((c[f>>2]|0)+36|0,(c[g>>2]|0)+4+20|0,c[i>>2]|0)|0;cS((c[f>>2]|0)+36|0,(c[g>>2]|0)+4+8|0,c[i>>2]|0)|0;if(!(c[(c[f>>2]|0)+52>>2]|0)){c[j>>2]=c[c[f>>2]>>2];h=c[f>>2]|0;i=(c[f>>2]|0)+52|0;e=c[(c[j>>2]|0)+8>>2]|0;c[k>>2]=c[(c[j>>2]|0)+4>>2];c[k+4>>2]=e;uT(h,i,nf(50920,k)|0)|0}if(c[(c[f>>2]|0)+36>>2]|0){l=m;return}k=c[(c[g>>2]|0)+4+8>>2]|0;a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=0;c[(c[g>>2]|0)+4+8+4>>2]=4;pJ(c[(c[f>>2]|0)+52>>2]|0,1,c[c[g>>2]>>2]|0)|0;l=m;return}function nX(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function oX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[o>>2]=(c[j>>2]|0)+4;c[g>>2]=(c[j>>2]|0)+4+20;if(((c[(c[o>>2]|0)+8+4>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]|0)+2|0)>=(c[(c[c[i>>2]>>2]|0)+68>>2]|0)){if((c[(c[o>>2]|0)+8+4>>2]|0)>4)rX(c[i>>2]|0,c[j>>2]|0);if(((c[(c[o>>2]|0)+8+4>>2]|0)+((c[k>>2]|0)+20)|0)>>>0>(c[(c[o>>2]|0)+8+8>>2]|0)>>>0)cS((c[i>>2]|0)+36|0,(c[o>>2]|0)+8|0,(c[k>>2]|0)+20+(c[(c[o>>2]|0)+8+4>>2]|0)|0)|0}e=(c[(c[o>>2]|0)+8+4>>2]|0)-(c[(c[o>>2]|0)+4>>2]|0)|0;e=ES((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,e,((e|0)<0)<<31>>31)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+e;c[(c[o>>2]|0)+4>>2]=c[(c[o>>2]|0)+8+4>>2];if(a[(c[j>>2]|0)+58>>0]|0){c[n>>2]=0;if((c[c[o>>2]>>2]|0)!=1){c[h>>2]=c[k>>2];if(c[(c[o>>2]|0)+32+4>>2]|0)c[h>>2]=1+(SX(c[(c[o>>2]|0)+32+4>>2]|0,c[(c[o>>2]|0)+32>>2]|0,c[m>>2]|0)|0);TX(c[i>>2]|0,c[j>>2]|0,c[h>>2]|0,c[m>>2]|0);c[o>>2]=(c[j>>2]|0)+4}}else{c[n>>2]=SX(c[(c[o>>2]|0)+32+4>>2]|0,c[(c[o>>2]|0)+32>>2]|0,c[m>>2]|0)|0;f=c[n>>2]|0;hT((c[i>>2]|0)+36|0,(c[o>>2]|0)+8|0,f,((f|0)<0)<<31>>31)}f=(c[k>>2]|0)-(c[n>>2]|0)|0;hT((c[i>>2]|0)+36|0,(c[o>>2]|0)+8|0,f,((f|0)<0)<<31>>31);bS((c[i>>2]|0)+36|0,(c[o>>2]|0)+8|0,(c[k>>2]|0)-(c[n>>2]|0)|0,(c[m>>2]|0)+(c[n>>2]|0)|0);wR((c[i>>2]|0)+36|0,(c[o>>2]|0)+32|0,c[k>>2]|0,c[m>>2]|0);a[(c[j>>2]|0)+58>>0]=0;a[(c[j>>2]|0)+57>>0]=0;a[(c[j>>2]|0)+56>>0]=1;c[c[(c[j>>2]|0)+72>>2]>>2]=c[c[o>>2]>>2];l=p;return}function pX(d,f){d=d|0;f=f|0;var g=0,h=0,i=0;g=l;l=l+16|0;h=g;i=g+4|0;c[h>>2]=d;b[i>>1]=f;a[c[h>>2]>>0]=(e[i>>1]|0)>>8;a[(c[h>>2]|0)+1>>0]=e[i>>1]|0;l=g;return}function qX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;j=q+48|0;k=q+44|0;m=q+24|0;n=q+40|0;o=q+36|0;p=q+16|0;g=q+32|0;h=q+8|0;i=q;c[j>>2]=b;c[k>>2]=d;d=m;c[d>>2]=e;c[d+4>>2]=f;c[o>>2]=0;c[n>>2]=0;while(1){if(!((c[(c[j>>2]|0)+36>>2]|0)==0?(c[o>>2]|0)==0:0))break;c[g>>2]=(c[(c[k>>2]|0)+72>>2]|0)+(c[n>>2]<<5);if((c[(c[g>>2]|0)+16+4>>2]|0)>=(c[(c[c[j>>2]>>2]|0)+68>>2]|0)){a[c[(c[g>>2]|0)+16>>2]>>0]=1;e=c[j>>2]|0;b=c[c[k>>2]>>2]|0;b=j0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=_$(b|0,D|0,0,16)|0;f=D;d=c[n>>2]|0;d=j0(d|0,((d|0)<0)<<31>>31|0,31)|0;d=_$(b|0,f|0,d|0,D|0)|0;f=c[c[g>>2]>>2]|0;f=_$(d|0,D|0,f|0,((f|0)<0)<<31>>31|0)|0;BX(e,f,D,c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16+4>>2]|0);QX(c[j>>2]|0,c[k>>2]|0,(c[n>>2]|0)+2|0)|0;c[g>>2]=(c[(c[k>>2]|0)+72>>2]|0)+(c[n>>2]<<5);if((c[(c[j>>2]|0)+36>>2]|0)==0?(c[(c[g>>2]|0)+32+16+4>>2]|0)==0:0){e=RX((c[g>>2]|0)+16|0)|0;d=h;c[d>>2]=e;c[d+4>>2]=D;c[(c[g>>2]|0)+32>>2]=c[c[g>>2]>>2];hT((c[j>>2]|0)+36|0,(c[g>>2]|0)+32+16|0,0,0);d=c[c[g>>2]>>2]|0;hT((c[j>>2]|0)+36|0,(c[g>>2]|0)+32+16|0,d,((d|0)<0)<<31>>31);d=h;hT((c[j>>2]|0)+36|0,(c[g>>2]|0)+32+16|0,c[d>>2]|0,c[d+4>>2]|0);c[(c[g>>2]|0)+32+4>>2]=1;d=h;e=c[d+4>>2]|0;f=(c[g>>2]|0)+32+8|0;c[f>>2]=c[d>>2];c[f+4>>2]=e}xS((c[g>>2]|0)+16|0);c[(c[g>>2]|0)+4>>2]=0;f=c[g>>2]|0;c[f>>2]=(c[f>>2]|0)+1}else c[o>>2]=1;if(c[(c[g>>2]|0)+4>>2]|0){f=m;e=(c[g>>2]|0)+8|0;e=Z$(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=p;c[f>>2]=e;c[f+4>>2]=D}else{if(!(c[n>>2]|0))b=c[(c[k>>2]|0)+4>>2]|0;else b=c[(c[g>>2]|0)+-32>>2]|0;d=i;c[d>>2]=b;c[d+4>>2]=((b|0)<0)<<31>>31;d=((c[o>>2]|0)!=0^1)&1;hT((c[j>>2]|0)+36|0,(c[g>>2]|0)+16|0,d,((d|0)<0)<<31>>31);d=i;hT((c[j>>2]|0)+36|0,(c[g>>2]|0)+16|0,c[d>>2]|0,c[d+4>>2]|0);d=m;e=c[d+4>>2]|0;f=p;c[f>>2]=c[d>>2];c[f+4>>2]=e}d=p;hT((c[j>>2]|0)+36|0,(c[g>>2]|0)+16|0,c[d>>2]|0,c[d+4>>2]|0);c[(c[g>>2]|0)+4>>2]=1;d=m;e=c[d+4>>2]|0;f=(c[g>>2]|0)+8|0;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[n>>2]=(c[n>>2]|0)+1}l=q;return}function rX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=(c[f>>2]|0)+4;c[13794]=(c[13794]|0)+1;pX((c[(c[g>>2]|0)+8>>2]|0)+2|0,c[(c[g>>2]|0)+8+4>>2]&65535);b=c[e>>2]|0;if(a[(c[f>>2]|0)+58>>0]|0)PX(b,c[f>>2]|0);else bS(b+36|0,(c[g>>2]|0)+8|0,c[(c[g>>2]|0)+20+4>>2]|0,c[(c[g>>2]|0)+20>>2]|0);d=c[c[f>>2]>>2]|0;d=j0(d|0,((d|0)<0)<<31>>31|0,37)|0;d=_$(d|0,D|0,0,0)|0;d=_$(d|0,D|0,0,0)|0;b=c[c[g>>2]>>2]|0;b=_$(d|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;d=h;c[d>>2]=b;c[d+4>>2]=D;BX(c[e>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+8+4>>2]|0);xS((c[g>>2]|0)+8|0);xS((c[g>>2]|0)+20|0);bS((c[e>>2]|0)+36|0,(c[g>>2]|0)+8|0,4,56049);c[(c[g>>2]|0)+4>>2]=0;h=c[g>>2]|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[f>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)+1;a[(c[f>>2]|0)+58>>0]=1;a[(c[f>>2]|0)+57>>0]=1;l=i;return}function sX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=VR(c[d>>2]|0,g)|0;if((c[f>>2]|0)>=(c[e>>2]|0)){h=c[f>>2]|0;l=i;return h|0}while(1){c[h>>2]=VR((c[d>>2]|0)+(c[f>>2]|0)|0,g)|0;if(((c[f>>2]|0)+(c[h>>2]|0)|0)>(c[e>>2]|0))break;c[f>>2]=(c[f>>2]|0)+(c[h>>2]|0)}h=c[f>>2]|0;l=i;return h|0}function tX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;h=j+12|0;f=j+8|0;i=j+4|0;g=j;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;c[g>>2]=(c[h>>2]|0)+4;if(!(c[(c[e>>2]|0)+36>>2]|0)){if((c[(c[g>>2]|0)+8+4>>2]|0)>4)rX(c[e>>2]|0,c[h>>2]|0);c[c[f>>2]>>2]=(c[c[g>>2]>>2]|0)-1;if((c[c[g>>2]>>2]|0)>1)MX(c[e>>2]|0,c[h>>2]|0)}nS((c[g>>2]|0)+32|0);nS((c[g>>2]|0)+8|0);nS((c[g>>2]|0)+20|0);nS((c[h>>2]|0)+76|0);c[i>>2]=0;while(1){a=c[(c[h>>2]|0)+72>>2]|0;if((c[i>>2]|0)>=(c[(c[h>>2]|0)+68>>2]|0))break;nS(a+(c[i>>2]<<5)+16|0);c[i>>2]=(c[i>>2]|0)+1}_d(a);l=j;return}function uX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){l=i;return}c[f>>2]=c[c[e>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+20>>2];c[h>>2]=40+(((c[g>>2]|0)+1|0)*12|0);c[f>>2]=Xf(c[f>>2]|0,c[h>>2]|0)|0;if(c[f>>2]|0){h=(c[f>>2]|0)+24+((c[g>>2]|0)*12|0)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;h=(c[f>>2]|0)+20|0;c[h>>2]=(c[h>>2]|0)+1;c[c[e>>2]>>2]=c[f>>2];l=i;return}else{c[c[d>>2]>>2]=7;l=i;return}}function vX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;if(c[c[k>>2]>>2]|0){l=q;return}c[g>>2]=(c[m>>2]|0)+24+((c[n>>2]|0)*12|0);c[i>>2]=((c[(c[g>>2]|0)+4>>2]|0)+(c[o>>2]|0)|0)*12;c[h>>2]=Xf(c[(c[g>>2]|0)+8>>2]|0,c[i>>2]|0)|0;if(!(c[h>>2]|0)){c[c[k>>2]>>2]=7;l=q;return}if(!(c[p>>2]|0))m0((c[h>>2]|0)+((c[(c[g>>2]|0)+4>>2]|0)*12|0)|0,0,(c[o>>2]|0)*12|0)|0;else{c[j>>2]=(c[(c[g>>2]|0)+4>>2]|0)*12;k0((c[h>>2]|0)+((c[o>>2]|0)*12|0)|0,c[h>>2]|0,c[j>>2]|0)|0;m0(c[h>>2]|0,0,(c[o>>2]|0)*12|0)|0}c[(c[g>>2]|0)+8>>2]=c[h>>2];l=q;return}function wX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;k=s+48|0;m=s+44|0;n=s+40|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;e=s+20|0;f=s+16|0;g=s+12|0;h=s+8|0;i=s+4|0;j=s;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;if(c[(c[k>>2]|0)+36>>2]|0){l=s;return}c[p>>2]=-1;c[q>>2]=0;c[f>>2]=c[(c[n>>2]|0)+24+((c[m>>2]|0)*12|0)+4>>2];if(!(c[f>>2]|0)){l=s;return}c[r>>2]=(c[(c[n>>2]|0)+24+((c[m>>2]|0)*12|0)+8>>2]|0)+(((c[(c[n>>2]|0)+24+((c[m>>2]|0)*12|0)+4>>2]|0)-1|0)*12|0);c[e>>2]=1+(c[(c[r>>2]|0)+8>>2]|0)-(c[(c[r>>2]|0)+4>>2]|0);c[o>>2]=(c[m>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break;if(c[(c[n>>2]|0)+24+((c[o>>2]|0)*12|0)+4>>2]|0)break;c[o>>2]=(c[o>>2]|0)+-1}if((c[o>>2]|0)>=0){c[h>>2]=0;c[i>>2]=(c[n>>2]|0)+24+((c[o>>2]|0)*12|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[i>>2]|0)+4>>2]|0))break;c[j>>2]=(c[(c[(c[i>>2]|0)+8>>2]|0)+((c[g>>2]|0)*12|0)+8>>2]|0)-(c[(c[(c[i>>2]|0)+8>>2]|0)+((c[g>>2]|0)*12|0)+4>>2]|0)+1;if((c[j>>2]|0)>(c[h>>2]|0))c[h>>2]=c[j>>2];c[g>>2]=(c[g>>2]|0)+1}if((c[h>>2]|0)>=(c[e>>2]|0)){c[p>>2]=c[o>>2];c[q>>2]=c[h>>2]}}if((c[p>>2]|0)<0){c[p>>2]=c[m>>2];c[q>>2]=c[e>>2]}KX(c[k>>2]|0,c[p>>2]|0,c[q>>2]|0,c[n>>2]|0);l=s;return}function xX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m;j=m+12|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+36>>2]|0){l=m;return}if((c[(c[c[e>>2]>>2]|0)+72>>2]|0)<=0){l=m;return}c[h>>2]=c[c[f>>2]>>2];a=(c[h>>2]|0)+8|0;d=c[a+4>>2]|0;b=i;c[b>>2]=c[a>>2];c[b+4>>2]=d;b=i;d=c[g>>2]|0;d=_$(c[b>>2]|0,c[b+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;b=c[(c[e>>2]|0)+8>>2]|0;b=p0(d|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;d=D;a=i;i=c[(c[e>>2]|0)+8>>2]|0;i=p0(c[a>>2]|0,c[a+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Z$(b|0,d|0,i|0,D|0)|0;c[j>>2]=i;g=c[g>>2]|0;i=(c[h>>2]|0)+8|0;d=i;g=_$(c[d>>2]|0,c[d+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[i>>2]=g;c[i+4>>2]=D;j=S(c[(c[e>>2]|0)+8>>2]|0,c[j>>2]|0)|0;c[k>>2]=S(j,c[(c[h>>2]|0)+20>>2]|0)|0;JX(c[e>>2]|0,c[f>>2]|0,c[k>>2]|0,c[(c[c[e>>2]>>2]|0)+72>>2]|0)|0;l=m;return}function yX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;g=i+12|0;e=i+8|0;h=i+4|0;f=i;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[c[d>>2]>>2]|0)+76>>2];c[h>>2]=c[c[g>>2]>>2];c[f>>2]=0;while(1){if(c[(c[d>>2]|0)+36>>2]|0){a=5;break}if((c[(c[h>>2]|0)+24+((c[f>>2]|0)*12|0)+4>>2]|0)<(c[e>>2]|0)){a=5;break}CX(c[d>>2]|0,h,c[f>>2]|0,0);wX(c[d>>2]|0,(c[f>>2]|0)+1|0,c[h>>2]|0);c[f>>2]=(c[f>>2]|0)+1}if((a|0)==5){c[c[g>>2]>>2]=c[h>>2];l=i;return}}function zX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;d=k+32|0;e=k+28|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+36>>2]|0){l=k;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;b=c[(c[c[d>>2]>>2]|0)+64>>2]|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)<0?0:b;if(!(cS((c[d>>2]|0)+36|0,f,31)|0)){AX(c[f>>2]|0,c[h>>2]|0);c[f+4>>2]=4;b=c[(c[e>>2]|0)+20>>2]|0;b=ES((c[f>>2]|0)+(c[f+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;h=f+4|0;c[h>>2]=(c[h>>2]|0)+b;h=c[(c[e>>2]|0)+16>>2]|0;h=ES((c[f>>2]|0)+(c[f+4>>2]|0)|0,h,((h|0)<0)<<31>>31)|0;b=f+4|0;c[b>>2]=(c[b>>2]|0)+h;b=(c[e>>2]|0)+8|0;b=ES((c[f>>2]|0)+(c[f+4>>2]|0)|0,c[b>>2]|0,c[b+4>>2]|0)|0;h=f+4|0;c[h>>2]=(c[h>>2]|0)+b}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[j>>2]=(c[e>>2]|0)+24+((c[g>>2]|0)*12|0);h=c[c[j>>2]>>2]|0;hT((c[d>>2]|0)+36|0,f,h,((h|0)<0)<<31>>31);h=c[(c[j>>2]|0)+4>>2]|0;hT((c[d>>2]|0)+36|0,f,h,((h|0)<0)<<31>>31);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;h=c[(c[(c[j>>2]|0)+8>>2]|0)+((c[i>>2]|0)*12|0)>>2]|0;hT((c[d>>2]|0)+36|0,f,h,((h|0)<0)<<31>>31);h=c[(c[(c[j>>2]|0)+8>>2]|0)+((c[i>>2]|0)*12|0)+4>>2]|0;hT((c[d>>2]|0)+36|0,f,h,((h|0)<0)<<31>>31);h=c[(c[(c[j>>2]|0)+8>>2]|0)+((c[i>>2]|0)*12|0)+8>>2]|0;hT((c[d>>2]|0)+36|0,f,h,((h|0)<0)<<31>>31);c[i>>2]=(c[i>>2]|0)+1}c[g>>2]=(c[g>>2]|0)+1}BX(c[d>>2]|0,10,0,c[f>>2]|0,c[f+4>>2]|0);nS(f);l=k;return}function AX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=c[g>>2]>>24;a[(c[f>>2]|0)+1>>0]=c[g>>2]>>16;a[(c[f>>2]|0)+2>>0]=c[g>>2]>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2]>>0;l=e;return}function BX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+8|0;g=n+28|0;h=n;i=n+24|0;j=n+20|0;k=n+16|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[i>>2]=e;c[j>>2]=f;if(c[(c[g>>2]|0)+36>>2]|0){l=n;return}if((c[(c[g>>2]|0)+44>>2]|0)==0?(c[k>>2]=c[c[g>>2]>>2],e=c[g>>2]|0,f=(c[g>>2]|0)+44|0,d=c[(c[k>>2]|0)+8>>2]|0,c[m>>2]=c[(c[k>>2]|0)+4>>2],c[m+4>>2]=d,uT(e,f,nf(50780,m)|0)|0,c[(c[g>>2]|0)+36>>2]|0):0){l=n;return}m=h;qJ(c[(c[g>>2]|0)+44>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;lJ(c[(c[g>>2]|0)+44>>2]|0,2,c[i>>2]|0,c[j>>2]|0,0)|0;Bs(c[(c[g>>2]|0)+44>>2]|0)|0;m=ys(c[(c[g>>2]|0)+44>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=m;l=n;return}function CX(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;H=l;l=l+192|0;B=H+188|0;j=H+184|0;k=H+180|0;C=H+176|0;E=H+172|0;F=H+168|0;m=H+164|0;n=H+160|0;o=H+156|0;p=H+152|0;q=H;r=H+148|0;s=H+136|0;t=H+132|0;u=H+128|0;i=H+120|0;v=H+116|0;w=H+112|0;x=H+108|0;y=H+104|0;z=H+100|0;A=H+96|0;c[B>>2]=b;c[j>>2]=f;c[k>>2]=g;c[C>>2]=h;c[E>>2]=c[c[j>>2]>>2];c[F>>2]=(c[E>>2]|0)+24+((c[k>>2]|0)*12|0);c[n>>2]=0;if(c[C>>2]|0)b=c[c[C>>2]>>2]|0;else b=0;c[o>>2]=b;c[u>>2]=c[(c[c[B>>2]>>2]|0)+48>>2];c[H+124>>2]=32;b=q;f=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;do if(!(c[c[F>>2]>>2]|0)){c[i>>2]=lX(c[B>>2]|0,c[E>>2]|0)|0;if((c[k>>2]|0)==((c[(c[E>>2]|0)+20>>2]|0)-1|0)){uX((c[B>>2]|0)+36|0,c[j>>2]|0);c[E>>2]=c[c[j>>2]>>2]}vX((c[B>>2]|0)+36|0,c[E>>2]|0,(c[k>>2]|0)+1|0,1,0);if(c[(c[B>>2]|0)+36>>2]|0){l=H;return}else{c[F>>2]=(c[E>>2]|0)+24+((c[k>>2]|0)*12|0);c[m>>2]=(c[E>>2]|0)+24+(((c[k>>2]|0)+1|0)*12|0);mX(c[B>>2]|0,q,c[i>>2]|0);c[r>>2]=(c[(c[m>>2]|0)+8>>2]|0)+((c[(c[m>>2]|0)+4>>2]|0)*12|0);j=(c[m>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[r>>2]|0)+4>>2]=1;c[c[r>>2]>>2]=c[i>>2];j=(c[E>>2]|0)+16|0;c[j>>2]=(c[j>>2]|0)+1;c[p>>2]=c[(c[F>>2]|0)+4>>2];break}}else{c[m>>2]=(c[E>>2]|0)+24+(((c[k>>2]|0)+1|0)*12|0);c[p>>2]=c[c[F>>2]>>2];c[r>>2]=(c[(c[m>>2]|0)+8>>2]|0)+(((c[(c[m>>2]|0)+4>>2]|0)-1|0)*12|0);mX(c[B>>2]|0,q,c[c[r>>2]>>2]|0);c[q+4>>2]=(c[(c[r>>2]|0)+8>>2]|0)+1;c[q+88>>2]=0}while(0);if((c[(c[m>>2]|0)+4>>2]|0)==1)b=(c[(c[E>>2]|0)+20>>2]|0)==((c[k>>2]|0)+2|0);else b=0;c[t>>2]=b&1;iS(c[B>>2]|0,c[E>>2]|0,32,0,0,0,c[k>>2]|0,c[p>>2]|0,n);a:while(1){if(NS(c[B>>2]|0,c[n>>2]|0)|0)break;c[v>>2]=(c[n>>2]|0)+80+((e[(c[(c[n>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);if(!(c[(c[v>>2]|0)+80>>2]|0)){if((c[t>>2]|0)==0?d[(c[v>>2]|0)+84>>0]|0:0)G=16}else G=16;do if((G|0)==16){G=0;c[y>>2]=dS(c[n>>2]|0,x)|0;if(!((c[x>>2]|0)==(c[s+4>>2]|0)?!(H_(c[y>>2]|0,c[s>>2]|0,c[x>>2]|0)|0):0)){if(c[C>>2]|0?(c[q+60>>2]|0)>(c[o>>2]|0):0)break a;oX(c[B>>2]|0,q,c[x>>2]|0,c[y>>2]|0);wR((c[B>>2]|0)+36|0,s,c[x>>2]|0,c[y>>2]|0)}k=c[B>>2]|0;b=iW(c[n>>2]|0)|0;DX(k,q,b,D);b=c[v>>2]|0;if((c[u>>2]|0)!=1){c[w>>2]=(c[b+80>>2]<<1)+(d[(c[v>>2]|0)+84>>0]|0);k=c[w>>2]|0;hT((c[B>>2]|0)+36|0,q+4+8|0,k,((k|0)<0)<<31>>31);AS(c[B>>2]|0,c[v>>2]|0,q,139);break}if(a[b+84>>0]|0?(hT((c[B>>2]|0)+36|0,q+4+8|0,0,0),(c[(c[v>>2]|0)+80>>2]|0)>0):0)hT((c[B>>2]|0)+36|0,q+4+8|0,0,0)}while(0);zR(c[B>>2]|0,c[n>>2]|0,0,0,0)}tX(c[B>>2]|0,q,(c[r>>2]|0)+8|0);if(NS(c[B>>2]|0,c[n>>2]|0)|0){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[p>>2]|0))break;FX(c[B>>2]|0,c[(c[(c[F>>2]|0)+8>>2]|0)+((c[z>>2]|0)*12|0)>>2]|0);c[z>>2]=(c[z>>2]|0)+1}if((c[(c[F>>2]|0)+4>>2]|0)!=(c[p>>2]|0)){c[A>>2]=((c[(c[F>>2]|0)+4>>2]|0)-(c[p>>2]|0)|0)*12;k0(c[(c[F>>2]|0)+8>>2]|0,(c[(c[F>>2]|0)+8>>2]|0)+((c[p>>2]|0)*12|0)|0,c[A>>2]|0)|0}G=(c[E>>2]|0)+16|0;c[G>>2]=(c[G>>2]|0)-(c[p>>2]|0);G=(c[F>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)-(c[p>>2]|0);c[c[F>>2]>>2]=0;if(!(c[(c[r>>2]|0)+8>>2]|0)){G=(c[m>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+-1;G=(c[E>>2]|0)+16|0;c[G>>2]=(c[G>>2]|0)+-1}}else{GX(c[B>>2]|0,c[n>>2]|0);c[c[F>>2]>>2]=c[p>>2]}oS(c[n>>2]|0);nS(s);if(!(c[C>>2]|0)){l=H;return}G=c[C>>2]|0;c[G>>2]=(c[G>>2]|0)-(c[q+60>>2]|0);l=H;return}function DX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+12|0;j=m;k=m+8|0;c[h>>2]=b;c[i>>2]=e;e=j;c[e>>2]=f;c[e+4>>2]=g;if(c[(c[h>>2]|0)+36>>2]|0){l=m;return}c[k>>2]=(c[i>>2]|0)+4;if(((c[(c[k>>2]|0)+8+4>>2]|0)+(c[(c[k>>2]|0)+20+4>>2]|0)|0)>=(c[(c[c[h>>2]>>2]|0)+68>>2]|0))rX(c[h>>2]|0,c[i>>2]|0);if(a[(c[i>>2]|0)+57>>0]|0){pX(c[(c[k>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8+4>>2]&65535);g=j;qX(c[h>>2]|0,c[i>>2]|0,c[g>>2]|0,c[g+4>>2]|0)}if(!(d[(c[i>>2]|0)+56>>0]|0)?!(d[(c[i>>2]|0)+57>>0]|0):0){g=(c[h>>2]|0)+36|0;h=(c[k>>2]|0)+8|0;f=j;k=(c[i>>2]|0)+48|0;k=Z$(c[f>>2]|0,c[f+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;hT(g,h,k,D)}else{g=j;hT((c[h>>2]|0)+36|0,(c[k>>2]|0)+8|0,c[g>>2]|0,c[g+4>>2]|0)}h=j;j=c[h+4>>2]|0;k=(c[i>>2]|0)+48|0;c[k>>2]=c[h>>2];c[k+4>>2]=j;a[(c[i>>2]|0)+56>>0]=0;a[(c[i>>2]|0)+57>>0]=0;l=m;return}function EX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;j=f+16|0;k=f+12|0;h=f+8|0;g=f+4|0;i=f;c[j>>2]=a;c[k>>2]=b;c[h>>2]=d;c[g>>2]=e;c[i>>2]=c[k>>2];IX(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return}function FX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+48|0;g=h+16|0;d=h+32|0;e=h+28|0;j=h+8|0;i=h;f=h+24|0;c[d>>2]=a;c[e>>2]=b;a=c[e>>2]|0;a=j0(a|0,((a|0)<0)<<31>>31|0,37)|0;a=_$(a|0,D|0,0,0)|0;a=_$(a|0,D|0,0,0)|0;a=_$(a|0,D|0,0,0)|0;b=j;c[b>>2]=a;c[b+4>>2]=D;b=(c[e>>2]|0)+1|0;b=j0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=_$(b|0,D|0,0,0)|0;b=_$(b|0,D|0,0,0)|0;b=_$(b|0,D|0,0,0)|0;b=Z$(b|0,D|0,1,0)|0;a=i;c[a>>2]=b;c[a+4>>2]=D;a=j;b=i;HX(c[d>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0);if(!(c[(c[d>>2]|0)+56>>2]|0)){c[f>>2]=c[c[d>>2]>>2];i=c[d>>2]|0;j=(c[d>>2]|0)+56|0;b=c[(c[f>>2]|0)+8>>2]|0;c[g>>2]=c[(c[f>>2]|0)+4>>2];c[g+4>>2]=b;uT(i,j,nf(50880,g)|0)|0}if(c[(c[d>>2]|0)+36>>2]|0){l=h;return}pJ(c[(c[d>>2]|0)+56>>2]|0,1,c[e>>2]|0)|0;Bs(c[(c[d>>2]|0)+56>>2]|0)|0;j=ys(c[(c[d>>2]|0)+56>>2]|0)|0;c[(c[d>>2]|0)+36>>2]=j;l=h;return}function GX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+64|0;h=q+48|0;i=q+44|0;j=q+40|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q;p=q+16|0;e=q+12|0;f=q+52|0;g=q+8|0;c[h>>2]=b;c[i>>2]=d;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[i>>2]|0)+52>>2]|0))break;c[m>>2]=(c[i>>2]|0)+80+((c[j>>2]|0)*88|0);do if(c[c[m>>2]>>2]|0){b=c[m>>2]|0;if(!(c[(c[m>>2]|0)+12>>2]|0)){c[(c[b>>2]|0)+8>>2]=0;c[(c[c[m>>2]>>2]|0)+4>>2]=0;break}c[n>>2]=c[b+32>>2];c[e>>2]=c[c[c[m>>2]>>2]>>2];a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;d=c[e>>2]|0;d=j0(d|0,((d|0)<0)<<31>>31|0,37)|0;d=_$(d|0,D|0,0,0)|0;d=_$(d|0,D|0,0,0)|0;b=c[(c[m>>2]|0)+28>>2]|0;b=_$(d|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;d=o;c[d>>2]=b;c[d+4>>2]=D;d=o;c[p>>2]=PR(c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(c[p>>2]|0){xS(k);if(((c[k+4>>2]|0)+(c[(c[p>>2]|0)+4>>2]|0)|0)>>>0>(c[k+8>>2]|0)>>>0)cS((c[h>>2]|0)+36|0,k,(c[(c[p>>2]|0)+4>>2]|0)+(c[k+4>>2]|0)|0)|0;bS((c[h>>2]|0)+36|0,k,4,f);d=c[(c[m>>2]|0)+60+4>>2]|0;hT((c[h>>2]|0)+36|0,k,d,((d|0)<0)<<31>>31);bS((c[h>>2]|0)+36|0,k,c[(c[m>>2]|0)+60+4>>2]|0,c[(c[m>>2]|0)+60>>2]|0);bS((c[h>>2]|0)+36|0,k,(c[(c[p>>2]|0)+8>>2]|0)-(c[n>>2]|0)|0,(c[c[p>>2]>>2]|0)+(c[n>>2]|0)|0);if(!(c[(c[h>>2]|0)+36>>2]|0))pX((c[k>>2]|0)+2|0,c[k+4>>2]&65535);hT((c[h>>2]|0)+36|0,k,4,0);if((c[(c[m>>2]|0)+8>>2]|0)==(c[(c[m>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+40>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0):0){c[g>>2]=(c[(c[p>>2]|0)+8>>2]|0)-(c[(c[m>>2]|0)+40>>2]|0);d=(c[k+4>>2]|0)-1-(c[g>>2]|0)-4|0;hT((c[h>>2]|0)+36|0,k,d,((d|0)<0)<<31>>31);bS((c[h>>2]|0)+36|0,k,(c[(c[p>>2]|0)+4>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0)|0,(c[c[p>>2]>>2]|0)+(c[(c[m>>2]|0)+36>>2]|0)|0)}AR(c[p>>2]|0);c[(c[c[m>>2]>>2]|0)+4>>2]=c[(c[m>>2]|0)+28>>2];r=c[h>>2]|0;b=c[e>>2]|0;b=j0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=_$(b|0,D|0,0,0)|0;b=_$(b|0,D|0,0,0)|0;b=_$(b|0,D|0,1,0)|0;d=o;HX(r,b,D,c[d>>2]|0,c[d+4>>2]|0);d=o;BX(c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)}}while(0);c[j>>2]=(c[j>>2]|0)+1}nS(k);l=q;return}function HX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;m=p+16|0;n=p+36|0;h=p+8|0;i=p;j=p+32|0;k=p+28|0;g=p+24|0;c[n>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;d=i;c[d>>2]=e;c[d+4>>2]=f;if(c[(c[n>>2]|0)+36>>2]|0){l=p;return}if(!(c[(c[n>>2]|0)+48>>2]|0)){c[k>>2]=c[c[n>>2]>>2];f=c[(c[k>>2]|0)+8>>2]|0;c[m>>2]=c[(c[k>>2]|0)+4>>2];c[m+4>>2]=f;c[g>>2]=nf(50831,m)|0;if(!(c[g>>2]|0))c[j>>2]=7;else{c[j>>2]=zv(c[c[k>>2]>>2]|0,c[g>>2]|0,-1,(c[n>>2]|0)+48|0,0)|0;_d(c[g>>2]|0)}if(c[j>>2]|0){b=c[j>>2]|0;a=c[n>>2]|0}else o=8}else o=8;if((o|0)==8){b=h;qJ(c[(c[n>>2]|0)+48>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;b=i;qJ(c[(c[n>>2]|0)+48>>2]|0,2,c[b>>2]|0,c[b+4>>2]|0)|0;Bs(c[(c[n>>2]|0)+48>>2]|0)|0;b=ys(c[(c[n>>2]|0)+48>>2]|0)|0;a=c[n>>2]|0}c[a+36>>2]=b;l=p;return}function IX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+48|0;j=o+40|0;k=o+36|0;q=o+32|0;p=o+28|0;m=o+24|0;n=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;i=o;c[j>>2]=a;c[k>>2]=b;c[q>>2]=d;c[p>>2]=e;c[m>>2]=(c[k>>2]|0)+4;c[n>>2]=c[q>>2];c[f>>2]=c[p>>2];while(1){if(c[(c[j>>2]|0)+36>>2]|0)break;if(((c[(c[m>>2]|0)+8+4>>2]|0)+(c[(c[m>>2]|0)+20+4>>2]|0)+(c[f>>2]|0)|0)<(c[(c[c[j>>2]>>2]|0)+68>>2]|0))break;c[g>>2]=(c[(c[c[j>>2]>>2]|0)+68>>2]|0)-(c[(c[m>>2]|0)+8+4>>2]|0)-(c[(c[m>>2]|0)+20+4>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[g>>2]|0))break;q=(RR((c[n>>2]|0)+(c[h>>2]|0)|0,i)|0)&255;c[h>>2]=(c[h>>2]|0)+q}bS((c[j>>2]|0)+36|0,(c[m>>2]|0)+8|0,c[h>>2]|0,c[n>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[h>>2]|0);c[f>>2]=(c[f>>2]|0)-(c[h>>2]|0);rX(c[j>>2]|0,c[k>>2]|0)}if((c[f>>2]|0)<=0){l=o;return}bS((c[j>>2]|0)+36|0,(c[m>>2]|0)+8|0,c[f>>2]|0,c[n>>2]|0);l=o;return}function JX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;m=s+40|0;n=s+36|0;t=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;f=s+16|0;g=s+12|0;h=s+8|0;i=s+4|0;j=s;c[m>>2]=a;c[n>>2]=b;c[t>>2]=d;c[o>>2]=e;c[p>>2]=c[t>>2];c[q>>2]=0;c[f>>2]=c[c[n>>2]>>2];while(1){if((c[p>>2]|0)<=0){r=17;break}if(c[(c[m>>2]|0)+36>>2]|0){r=17;break}c[h>>2]=0;c[i>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[j>>2]=(c[f>>2]|0)+24+((c[g>>2]|0)*12|0);k=c[j>>2]|0;if(c[c[j>>2]>>2]|0){r=7;break}if((c[k+4>>2]|0)>(c[i>>2]|0)){c[i>>2]=c[(c[j>>2]|0)+4>>2];c[h>>2]=c[g>>2]}c[g>>2]=(c[g>>2]|0)+1}if((r|0)==7?(r=0,(c[k>>2]|0)>(c[i>>2]|0)):0){c[h>>2]=c[g>>2];c[i>>2]=c[c[j>>2]>>2]}if((c[i>>2]|0)<(c[o>>2]|0)?(c[(c[f>>2]|0)+24+((c[h>>2]|0)*12|0)>>2]|0)==0:0){r=17;break}c[q>>2]=1;CX(c[m>>2]|0,f,c[h>>2]|0,p);if(c[(c[m>>2]|0)+36>>2]|0)continue;if(c[(c[f>>2]|0)+24+((c[h>>2]|0)*12|0)>>2]|0)continue;wX(c[m>>2]|0,(c[h>>2]|0)+1|0,c[f>>2]|0)}if((r|0)==17){c[c[n>>2]>>2]=c[f>>2];l=s;return c[q>>2]|0}return 0}function KX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;i=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[f>>2]=(c[m>>2]|0)+24+((c[j>>2]|0)*12|0);if(c[c[f>>2]>>2]|0){l=p;return}c[n>>2]=(c[j>>2]|0)+1;a:while(1){if((c[n>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0)){a=11;break}c[g>>2]=(c[m>>2]|0)+24+((c[n>>2]|0)*12|0);if(c[c[g>>2]>>2]|0){a=11;break}c[o>>2]=(c[(c[g>>2]|0)+4>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break;c[h>>2]=LX((c[(c[g>>2]|0)+8>>2]|0)+((c[o>>2]|0)*12|0)|0)|0;if((c[h>>2]|0)>(c[k>>2]|0)){a=11;break a}vX((c[i>>2]|0)+36|0,c[m>>2]|0,c[j>>2]|0,1,1);if(c[(c[i>>2]|0)+36>>2]|0){a=11;break a}e=c[(c[f>>2]|0)+8>>2]|0;d=(c[(c[g>>2]|0)+8>>2]|0)+((c[o>>2]|0)*12|0)|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];e=(c[f>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+1;e=(c[g>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+-1}c[n>>2]=(c[n>>2]|0)+1}if((a|0)==11){l=p;return}}function LX(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return 1+(c[(c[b>>2]|0)+8>>2]|0)-(c[(c[b>>2]|0)+4>>2]|0)|0}function MX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+88>>2]|0)){l=h;return}c[f>>2]=NX(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[(c[d>>2]|0)+36>>2]|0)){if((c[(c[e>>2]|0)+76+4>>2]|0)>0)a=c[(c[e>>2]|0)+76>>2]|0;else a=55752;c[g>>2]=a;lJ(c[(c[d>>2]|0)+52>>2]|0,2,c[g>>2]|0,c[(c[e>>2]|0)+76+4>>2]|0,0)|0;b=c[(c[d>>2]|0)+52>>2]|0;f=c[f>>2]|0;g=c[(c[e>>2]|0)+88>>2]|0;g=j0(g|0,((g|0)<0)<<31>>31|0,1)|0;g=_$(f|0,((f|0)<0)<<31>>31|0,g|0,D|0)|0;qJ(b,3,g,D)|0;Bs(c[(c[d>>2]|0)+52>>2]|0)|0;g=ys(c[(c[d>>2]|0)+52>>2]|0)|0;c[(c[d>>2]|0)+36>>2]=g}c[(c[e>>2]|0)+88>>2]=0;l=h;return}function NX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[(c[e>>2]|0)+72>>2]|0)+16+4>>2]|0)>0?(c[(c[e>>2]|0)+64>>2]|0)>=4:0)c[f>>2]=1;OX(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+64>>2]=0;l=g;return c[f>>2]|0}function OX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+68>>2]|0)){a=7;break}c[i>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[h>>2]<<5);if(!(c[(c[i>>2]|0)+16+4>>2]|0)){a=7;break}if(c[g>>2]|0){b=c[e>>2]|0;k=c[c[f>>2]>>2]|0;k=j0(k|0,((k|0)<0)<<31>>31|0,37)|0;k=_$(k|0,D|0,0,16)|0;d=D;a=c[h>>2]|0;a=j0(a|0,((a|0)<0)<<31>>31|0,31)|0;a=_$(k|0,d|0,a|0,D|0)|0;d=c[c[i>>2]>>2]|0;d=_$(a|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;BX(b,d,D,c[(c[i>>2]|0)+16>>2]|0,c[(c[i>>2]|0)+16+4>>2]|0)}xS((c[i>>2]|0)+16|0);c[(c[i>>2]|0)+4>>2]=0;c[h>>2]=(c[h>>2]|0)+1}if((a|0)==7){l=j;return}}function PX(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if(d[(c[f>>2]|0)+57>>0]|0|0?(c[(c[(c[f>>2]|0)+72>>2]|0)+16+4>>2]|0)>0:0){c[g>>2]=c[(c[f>>2]|0)+72>>2];hT((c[e>>2]|0)+36|0,(c[g>>2]|0)+16|0,0,0)}g=(c[f>>2]|0)+64|0;c[g>>2]=(c[g>>2]|0)+1;l=h;return}function QX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do if((c[(c[e>>2]|0)+36>>2]|0)==0?(c[g>>2]|0)>=(c[(c[f>>2]|0)+68>>2]|0):0){c[h>>2]=Xf(c[(c[f>>2]|0)+72>>2]|0,c[g>>2]<<5)|0;if(!(c[h>>2]|0)){c[(c[e>>2]|0)+36>>2]=7;break}else{c[i>>2]=(c[g>>2]|0)-(c[(c[f>>2]|0)+68>>2]|0)<<5;m0((c[h>>2]|0)+(c[(c[f>>2]|0)+68>>2]<<5)|0,0,c[i>>2]|0)|0;c[(c[f>>2]|0)+72>>2]=c[h>>2];c[(c[f>>2]|0)+68>>2]=c[g>>2];break}}while(0);l=j;return c[(c[e>>2]|0)+36>>2]|0}function RX(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;f=b+12|0;d=b;e=b+8|0;c[f>>2]=a;c[e>>2]=1+((RR((c[c[f>>2]>>2]|0)+1|0,d)|0)&255);RR((c[c[f>>2]>>2]|0)+(c[e>>2]|0)|0,d)|0;a=d;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function SX(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[f>>2]|0)){a=5;break}if((d[(c[g>>2]|0)+(c[i>>2]|0)>>0]|0|0)!=(d[(c[h>>2]|0)+(c[i>>2]|0)>>0]|0|0)){a=5;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==5){l=j;return c[i>>2]|0}return 0}function TX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;g=f+8|0;i=f+4|0;h=f;c[j>>2]=a;c[g>>2]=b;c[i>>2]=d;c[h>>2]=e;MX(c[j>>2]|0,c[g>>2]|0);wR((c[j>>2]|0)+36|0,(c[g>>2]|0)+76|0,c[i>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+88>>2]=c[(c[g>>2]|0)+4>>2];l=f;return}function UX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;BX(c[f>>2]|0,1,0,c[h>>2]|0,c[g>>2]|0);d=BR(c[f>>2]|0)|0;l=e;return d|0}function VX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[c[h>>2]>>2];c[f>>2]=gX(c[h>>2]|0,1)|0;WX(c[e>>2]|0,f,50977,c[d>>2]|0);WX(c[e>>2]|0,f,30148,c[d>>2]|0);WX(c[e>>2]|0,f,50982,c[d>>2]|0);if(c[(c[e>>2]|0)+44>>2]|0)WX(c[e>>2]|0,f,49899,c[d>>2]|0);if(c[(c[e>>2]|0)+32>>2]|0){h=c[f>>2]|0;l=g;return h|0}WX(c[e>>2]|0,f,46221,c[d>>2]|0);h=c[f>>2]|0;l=g;return h|0}function WX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k;f=k+32|0;g=k+28|0;h=k+24|0;i=k+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(c[c[g>>2]>>2]|0){l=k;return}e=c[c[f>>2]>>2]|0;a=c[(c[f>>2]|0)+8>>2]|0;b=c[h>>2]|0;d=c[i>>2]|0;i=c[h>>2]|0;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[j+4>>2]=a;c[j+8>>2]=b;c[j+12>>2]=d;c[j+16>>2]=i;j=XX(e,0,50989,j)|0;c[c[g>>2]>>2]=j;l=k;return}function XX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+48|0;f=j+36|0;g=j+32|0;m=j+28|0;h=j+24|0;k=j+8|0;i=j;c[f>>2]=a;c[g>>2]=b;c[m>>2]=d;c[k>>2]=e;c[i>>2]=vf(c[m>>2]|0,k)|0;if(!(c[i>>2]|0)){c[h>>2]=7;m=c[h>>2]|0;l=j;return m|0}else{c[h>>2]=qv(c[f>>2]|0,c[i>>2]|0,0,0,c[g>>2]|0)|0;_d(c[i>>2]|0);m=c[h>>2]|0;l=j;return m|0}return 0}function YX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[(c[h>>2]|0)+24>>2]|0)+32>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(kl(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+20>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;l=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;l=g;return h|0}return 0}function ZX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n+8|0;e=n+36|0;f=n+32|0;g=n+28|0;h=n+24|0;i=n+20|0;j=n;k=n+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Qh(c[e>>2]|0)|0;b=Fi(c[c[g>>2]>>2]|0)|0;d=j;c[d>>2]=b;c[d+4>>2]=D;d=j;c[i>>2]=QT(c[c[h>>2]>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[i>>2]|0)){h=j;i=c[h+4>>2]|0;j=m;c[j>>2]=c[h>>2];c[j+4>>2]=i;c[k>>2]=nf(51031,m)|0;Th(c[e>>2]|0,c[k>>2]|0,-1);_d(c[k>>2]|0);l=n;return}else{_X(c[h>>2]|0,c[i>>2]|0,c[e>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+4|0);l=n;return}}function _X(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;h=g+12|0;k=g+8|0;j=g+4|0;i=g;c[m>>2]=a;c[h>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[(c[h>>2]|0)+96>>2]=c[m>>2];Cb[c[(c[m>>2]|0)+12>>2]&255](10572,c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0);c[(c[h>>2]|0)+96>>2]=0;l=g;return}function $X(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return c[(c[(c[b>>2]|0)+96>>2]|0)+8>>2]|0}function aY(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return c[(c[(c[c[b>>2]>>2]|0)+12>>2]|0)+12>>2]|0}function bY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;h=d+12|0;e=d+8|0;g=d+4|0;f=d;c[h>>2]=a;c[e>>2]=b;c[g>>2]=c[h>>2];c[f>>2]=c[c[g>>2]>>2];b=_Y(c[(c[f>>2]|0)+20>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function cY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;j=e+16|0;g=e+12|0;f=e+8|0;i=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[i>>2]=c[j>>2];c[h>>2]=c[c[i>>2]>>2];d=XY(c[(c[h>>2]|0)+20>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function dY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;g=l;l=l+32|0;o=g+24|0;k=g+20|0;j=g+16|0;i=g+12|0;h=g+8|0;n=g+4|0;m=g;c[o>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;c[n>>2]=c[o>>2];c[m>>2]=c[c[n>>2]>>2];f=EV(c[(c[m>>2]|0)+12>>2]|0,8,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return f|0}function eY(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=VY(c[(c[d>>2]|0)+52>>2]|0)|0;l=b;return a|0}function fY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];b=WY(c[(c[f>>2]|0)+52>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function gY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];c[f>>2]=0;if(c[(c[e>>2]|0)+60>>2]&8|0?(h=UY(c[e>>2]|0)|0,c[f>>2]=h,0!=(h|0)):0){h=c[f>>2]|0;l=g;return h|0}c[c[d>>2]>>2]=c[(c[e>>2]|0)+112>>2];h=c[f>>2]|0;l=g;return h|0}function hY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;o=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;g=n+4|0;h=n;c[o>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[g>>2]=c[o>>2];c[h>>2]=0;if(c[(c[g>>2]|0)+60>>2]&8|0?(o=UY(c[g>>2]|0)|0,c[h>>2]=o,0!=(o|0)):0){o=c[h>>2]|0;l=n;return o|0}if((c[i>>2]|0)>=0?(c[i>>2]|0)<(c[(c[g>>2]|0)+112>>2]|0):0){c[c[j>>2]>>2]=c[(c[(c[g>>2]|0)+116>>2]|0)+((c[i>>2]|0)*3<<2)>>2];c[c[k>>2]>>2]=c[(c[(c[g>>2]|0)+116>>2]|0)+(((c[i>>2]|0)*3|0)+1<<2)>>2];c[c[m>>2]>>2]=c[(c[(c[g>>2]|0)+116>>2]|0)+(((c[i>>2]|0)*3|0)+2<<2)>>2];o=c[h>>2]|0;l=n;return o|0}c[h>>2]=25;o=c[h>>2]|0;l=n;return o|0}function iY(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=KY(c[d>>2]|0)|0;l=b;return a|0}function jY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;c[j>>2]=c[m>>2];if(QY(c[c[j>>2]>>2]|0)|0){c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;m=c[i>>2]|0;l=k;return m|0}c[i>>2]=RY(c[j>>2]|0,0)|0;if(c[i>>2]|0){m=c[i>>2]|0;l=k;return m|0}m=Cv(c[(c[j>>2]|0)+48>>2]|0,(c[f>>2]|0)+1|0)|0;c[c[g>>2]>>2]=m;m=gJ(c[(c[j>>2]|0)+48>>2]|0,(c[f>>2]|0)+1|0)|0;c[c[h>>2]>>2]=m;m=c[i>>2]|0;l=k;return m|0} +function hp(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+176|0;J=N+136|0;K=N+132|0;L=N+128|0;M=N+124|0;u=N+120|0;v=N+116|0;w=N+112|0;x=N+108|0;y=N+104|0;z=N+100|0;A=N+96|0;B=N+92|0;C=N+88|0;E=N+40|0;F=N+16|0;p=N+84|0;m=N+80|0;n=N+144|0;o=N+72|0;q=N+64|0;r=N+60|0;s=N+8|0;t=N+56|0;G=N+52|0;H=N+48|0;I=N;c[K>>2]=f;c[L>>2]=g;c[M>>2]=h;c[u>>2]=i;c[v>>2]=j;c[w>>2]=k;c[A>>2]=0;c[B>>2]=0;c[p>>2]=0;c[m>>2]=qo(c[K>>2]|0)|0;if(H_((c[K>>2]|0)+52|0,c[m>>2]|0,48)|0)c[p>>2]=(c[(c[m>>2]|0)+16>>2]|0)+1;k=ip(c[K>>2]|0)|0;c[x>>2]=k;if(k){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}c[y>>2]=c[(c[K>>2]|0)+52+16>>2];if(!(c[y>>2]|0)){Nn(n,931071618|(a[936]|0)==0);Nn(n+4|0,3007e3);Nn(n+8|0,c[L>>2]|0);Nn(n+12|0,c[(c[K>>2]|0)+112>>2]|0);if(!(c[(c[K>>2]|0)+112>>2]|0))sf(8,(c[K>>2]|0)+52+32|0);k=n+16|0;j=(c[K>>2]|0)+52+32|0;a[k>>0]=a[j>>0]|0;a[k+1>>0]=a[j+1>>0]|0;a[k+2>>0]=a[j+2>>0]|0;a[k+3>>0]=a[j+3>>0]|0;a[k+4>>0]=a[j+4>>0]|0;a[k+5>>0]=a[j+5>>0]|0;a[k+6>>0]=a[j+6>>0]|0;a[k+7>>0]=a[j+7>>0]|0;Lo(1,n,24,0,o);Nn(n+24|0,c[o>>2]|0);Nn(n+28|0,c[o+4>>2]|0);c[(c[K>>2]|0)+36>>2]=c[L>>2];a[(c[K>>2]|0)+52+13>>0]=(a[936]|0)==0;c[(c[K>>2]|0)+52+24>>2]=c[o>>2];c[(c[K>>2]|0)+52+24+4>>2]=c[o+4>>2];a[(c[K>>2]|0)+47>>0]=1;c[x>>2]=Dm(c[(c[K>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[x>>2]|0){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}if((c[w>>2]|0?(d[(c[K>>2]|0)+48>>0]|0)!=0:0)?(c[x>>2]=mm(c[(c[K>>2]|0)+8>>2]|0,c[w>>2]&19)|0,c[x>>2]|0):0){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}}c[F>>2]=c[K>>2];c[F+4>>2]=c[(c[K>>2]|0)+8>>2];j=F+8|0;c[j>>2]=0;c[j+4>>2]=0;c[F+16>>2]=c[w>>2];c[F+20>>2]=c[L>>2];j=(c[L>>2]|0)+24|0;j=r0((c[y>>2]|0)+1-1|0,0,j|0,((j|0)<0)<<31>>31|0)|0;j=_$(32,0,j|0,D|0)|0;k=E;c[k>>2]=j;c[k+4>>2]=D;c[C>>2]=(c[L>>2]|0)+24;c[z>>2]=c[M>>2];while(1){if(!(c[z>>2]|0)){f=30;break}if((c[p>>2]|0?((c[v>>2]|0)==0?1:(c[(c[z>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,ln(c[K>>2]|0,c[(c[z>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){j=(c[L>>2]|0)+24|0;j=r0((c[r>>2]|0)-1|0,0,j|0,((j|0)<0)<<31>>31|0)|0;j=_$(32,0,j|0,D|0)|0;j=_$(j|0,D|0,24,0)|0;k=s;c[k>>2]=j;c[k+4>>2]=D;if(!((c[(c[K>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[K>>2]|0)+104>>2]|0)>>>0:0))c[(c[K>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[z>>2]|0)+4>>2];k=s;c[x>>2]=Dm(c[(c[K>>2]|0)+8>>2]|0,c[t>>2]|0,c[L>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[x>>2]|0){f=22;break}g=(c[z>>2]|0)+24|0;f=g;g=e[g>>1]&-65}else{c[y>>2]=(c[y>>2]|0)+1;if(c[v>>2]|0)f=(c[(c[z>>2]|0)+12>>2]|0)==0?c[u>>2]|0:0;else f=0;c[q>>2]=f;k=E;c[x>>2]=jp(F,c[z>>2]|0,c[q>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[x>>2]|0){f=27;break}c[A>>2]=c[z>>2];f=c[C>>2]|0;g=E;f=_$(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;g=E;c[g>>2]=f;c[g+4>>2]=D;g=(c[z>>2]|0)+24|0;f=g;g=e[g>>1]|64}b[f>>1]=g;c[z>>2]=c[(c[z>>2]|0)+12>>2]}if((f|0)==22){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}else if((f|0)==27){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}else if((f|0)==30){if((c[v>>2]|0?c[(c[K>>2]|0)+104>>2]|0:0)?(c[x>>2]=kp(c[K>>2]|0,c[y>>2]|0)|0,c[x>>2]|0):0){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}if(c[v>>2]|0?c[w>>2]&32|0:0){c[G>>2]=1;a:do if(a[(c[K>>2]|0)+49>>0]|0){c[H>>2]=Zm(c[(c[K>>2]|0)+8>>2]|0)|0;t=E;s=c[H>>2]|0;s=_$(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Z$(s|0,D|0,1,0)|0;t=c[H>>2]|0;t=n0(s|0,D|0,t|0,((t|0)<0)<<31>>31|0)|0;H=c[H>>2]|0;H=r0(t|0,D|0,H|0,((H|0)<0)<<31>>31|0)|0;t=F+8|0;c[t>>2]=H;c[t+4>>2]=D;t=F+8|0;H=E;c[G>>2]=((c[t>>2]|0)==(c[H>>2]|0)?(c[t+4>>2]|0)==(c[H+4>>2]|0):0)&1;while(1){t=E;r=c[t+4>>2]|0;H=F+8|0;s=c[H+4>>2]|0;if(!((r|0)<(s|0)|((r|0)==(s|0)?(c[t>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)))break a;H=E;c[x>>2]=jp(F,c[A>>2]|0,c[u>>2]|0,c[H>>2]|0,c[H+4>>2]|0)|0;if(c[x>>2]|0)break;t=c[C>>2]|0;H=E;t=_$(c[H>>2]|0,c[H+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;H=E;c[H>>2]=t;c[H+4>>2]=D;c[B>>2]=(c[B>>2]|0)+1}c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}while(0);if(c[G>>2]|0)c[x>>2]=mm(c[F+4>>2]|0,c[w>>2]&19)|0}if((c[v>>2]|0?d[(c[K>>2]|0)+47>>0]|0:0)?(H=(c[K>>2]|0)+16|0,G=c[H+4>>2]|0,(G|0)>0|(G|0)==0&(c[H>>2]|0)>>>0>=0):0){H=(c[K>>2]|0)+16|0;E=c[H+4>>2]|0;G=I;c[G>>2]=c[H>>2];c[G+4>>2]=E;G=(c[L>>2]|0)+24|0;G=r0((c[y>>2]|0)+(c[B>>2]|0)+1-1|0,0,G|0,((G|0)<0)<<31>>31|0)|0;G=_$(32,0,G|0,D|0)|0;E=D;H=(c[K>>2]|0)+16|0;F=c[H+4>>2]|0;if((E|0)>(F|0)|((E|0)==(F|0)?G>>>0>(c[H>>2]|0)>>>0:0)){G=(c[L>>2]|0)+24|0;G=r0((c[y>>2]|0)+(c[B>>2]|0)+1-1|0,0,G|0,((G|0)<0)<<31>>31|0)|0;G=_$(32,0,G|0,D|0)|0;H=I;c[H>>2]=G;c[H+4>>2]=D}xo(c[K>>2]|0,c[I>>2]|0,c[I+4>>2]|0);a[(c[K>>2]|0)+47>>0]=0}c[y>>2]=c[(c[K>>2]|0)+52+16>>2];c[z>>2]=c[M>>2];while(1){if(!(c[z>>2]|0?(c[x>>2]|0)==0:0))break;if(e[(c[z>>2]|0)+24>>1]&64|0){c[y>>2]=(c[y>>2]|0)+1;c[x>>2]=To(c[K>>2]|0,c[y>>2]|0,c[(c[z>>2]|0)+20>>2]|0)|0}c[z>>2]=c[(c[z>>2]|0)+12>>2]}while(1){if(!((c[x>>2]|0)==0?(c[B>>2]|0)>0:0))break;c[y>>2]=(c[y>>2]|0)+1;c[B>>2]=(c[B>>2]|0)+-1;c[x>>2]=To(c[K>>2]|0,c[y>>2]|0,c[(c[A>>2]|0)+20>>2]|0)|0}if(!(c[x>>2]|0)){b[(c[K>>2]|0)+52+14>>1]=c[L>>2]&65280|c[L>>2]>>16;c[(c[K>>2]|0)+52+16>>2]=c[y>>2];if(c[v>>2]|0){M=(c[K>>2]|0)+52+8|0;c[M>>2]=(c[M>>2]|0)+1;c[(c[K>>2]|0)+52+20>>2]=c[u>>2]}if(c[v>>2]|0){Ko(c[K>>2]|0);c[(c[K>>2]|0)+12>>2]=c[y>>2]}}c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}return 0}function ip(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=Fo(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){sf(4,i);c[f>>2]=Ao(c[e>>2]|0,4,4)|0;if(!(c[f>>2]|0)){Io(c[e>>2]|0,c[i>>2]|0);Em(c[e>>2]|0,4,4);break}if((c[f>>2]|0)!=5){c[d>>2]=c[f>>2];j=c[d>>2]|0;l=k;return j|0}}while(0);Bm(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[g>>2]=0;do{h=c[e>>2]|0;i=(c[g>>2]|0)+1|0;c[g>>2]=i;c[f>>2]=np(h,j,1,i)|0}while((c[f>>2]|0)==-1)}c[d>>2]=c[f>>2];j=c[d>>2]|0;l=k;return j|0}function jp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+64|0;i=m+28|0;j=m+24|0;p=m+20|0;o=m+16|0;k=m;g=m+12|0;h=m+8|0;n=m+32|0;c[j>>2]=a;c[p>>2]=b;c[o>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;c[h>>2]=c[(c[p>>2]|0)+4>>2];lp(c[c[j>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[h>>2]|0,n);f=k;c[g>>2]=mp(c[j>>2]|0,n,24,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[g>>2]|0){c[i>>2]=c[g>>2];p=c[i>>2]|0;l=m;return p|0}else{f=c[j>>2]|0;n=c[h>>2]|0;o=c[(c[j>>2]|0)+20>>2]|0;p=k;p=_$(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[g>>2]=mp(f,n,o,p,D)|0;c[i>>2]=c[g>>2];p=c[i>>2]|0;l=m;return p|0}return 0}function kp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;h=q+48|0;i=q+44|0;j=q+40|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+56|0;p=q+24|0;d=q+8|0;e=q;f=q+20|0;g=q+16|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=c[(c[i>>2]|0)+36>>2];c[m>>2]=0;c[n>>2]=pe((c[k>>2]|0)+24|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;p=c[h>>2]|0;l=q;return p|0}if((c[(c[i>>2]|0)+104>>2]|0)==1){b=d;c[b>>2]=24;c[b+4>>2]=0}else{a=(c[k>>2]|0)+24|0;a=r0((c[(c[i>>2]|0)+104>>2]|0)-1-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=_$(32,0,a|0,D|0)|0;a=_$(a|0,D|0,16,0)|0;b=d;c[b>>2]=a;c[b+4>>2]=D}c[m>>2]=$m(c[(c[i>>2]|0)+8>>2]|0,c[n>>2]|0,8,c[d>>2]|0,c[d+4>>2]|0)|0;d=Vl(c[n>>2]|0)|0;c[(c[i>>2]|0)+52+24>>2]=d;d=Vl((c[n>>2]|0)+4|0)|0;c[(c[i>>2]|0)+52+24+4>>2]=d;c[p>>2]=c[(c[i>>2]|0)+104>>2];c[(c[i>>2]|0)+104>>2]=0;while(1){if(c[m>>2]|0)break;if((c[p>>2]|0)>>>0>(c[j>>2]|0)>>>0)break;b=(c[k>>2]|0)+24|0;b=r0((c[p>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=_$(32,0,b|0,D|0)|0;d=e;c[d>>2]=b;c[d+4>>2]=D;d=e;c[m>>2]=$m(c[(c[i>>2]|0)+8>>2]|0,c[n>>2]|0,(c[k>>2]|0)+24|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[m>>2]|0)){c[f>>2]=Vl(c[n>>2]|0)|0;c[g>>2]=Vl((c[n>>2]|0)+4|0)|0;lp(c[i>>2]|0,c[f>>2]|0,c[g>>2]|0,(c[n>>2]|0)+24|0,o);d=e;c[m>>2]=Dm(c[(c[i>>2]|0)+8>>2]|0,o,24,c[d>>2]|0,c[d+4>>2]|0)|0}c[p>>2]=(c[p>>2]|0)+1}_d(c[n>>2]|0);c[h>>2]=c[m>>2];p=c[h>>2]|0;l=q;return p|0}function lp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+32|0;k=o+24|0;q=o+20|0;p=o+16|0;m=o+12|0;n=o+8|0;i=o+4|0;j=o;c[k>>2]=b;c[q>>2]=e;c[p>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=(c[k>>2]|0)+52+24;Nn(c[n>>2]|0,c[q>>2]|0);Nn((c[n>>2]|0)+4|0,c[p>>2]|0);b=(c[n>>2]|0)+8|0;if(!(c[(c[k>>2]|0)+104>>2]|0)){q=(c[k>>2]|0)+52+32|0;a[b>>0]=a[q>>0]|0;a[b+1>>0]=a[q+1>>0]|0;a[b+2>>0]=a[q+2>>0]|0;a[b+3>>0]=a[q+3>>0]|0;a[b+4>>0]=a[q+4>>0]|0;a[b+5>>0]=a[q+5>>0]|0;a[b+6>>0]=a[q+6>>0]|0;a[b+7>>0]=a[q+7>>0]|0;c[i>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[936]|0)==0|0)&1;Lo(c[i>>2]|0,c[n>>2]|0,8,c[j>>2]|0,c[j>>2]|0);Lo(c[i>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[j>>2]|0,c[j>>2]|0);Nn((c[n>>2]|0)+16|0,c[c[j>>2]>>2]|0);Nn((c[n>>2]|0)+20|0,c[(c[j>>2]|0)+4>>2]|0);l=o;return}else{e=b+16|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));l=o;return}}function mp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o;g=o+12|0;h=o+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;e=n;b=c[e+4>>2]|0;f=(c[j>>2]|0)+8|0;d=c[f+4>>2]|0;if((b|0)<(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)?(b=n,e=c[m>>2]|0,e=_$(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,b=D,f=(c[j>>2]|0)+8|0,d=c[f+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?e>>>0>=(c[f>>2]|0)>>>0:0)):0){e=(c[j>>2]|0)+8|0;f=n;f=Z$(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[h>>2]=f;f=n;c[g>>2]=Dm(c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0,c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[g>>2]|0){c[i>>2]=c[g>>2];n=c[i>>2]|0;l=o;return n|0}e=c[h>>2]|0;f=n;e=_$(c[f>>2]|0,c[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;f=n;c[f>>2]=e;c[f+4>>2]=D;c[m>>2]=(c[m>>2]|0)-(c[h>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[h>>2]|0);c[g>>2]=mm(c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+16>>2]&19)|0;if((c[m>>2]|0)==0|(c[g>>2]|0)!=0){c[i>>2]=c[g>>2];n=c[i>>2]|0;l=o;return n|0}}c[g>>2]=Dm(c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[i>>2]=c[g>>2];n=c[i>>2]|0;l=o;return n|0}function np(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;v=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;s=w+32|0;t=w+28|0;h=w+24|0;i=w+20|0;j=w+16|0;k=w+12|0;m=w+8|0;n=w+4|0;o=w;c[p>>2]=a;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[k>>2]=0;if((c[s>>2]|0)>5){c[n>>2]=1;if((c[s>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;l=w;return v|0}if((c[s>>2]|0)>=10)c[n>>2]=(S((c[s>>2]|0)-9|0,(c[s>>2]|0)-9|0)|0)*39;op(c[c[p>>2]>>2]|0,c[n>>2]|0)|0}if(!(c[r>>2]|0)){c[k>>2]=Co(c[p>>2]|0,c[q>>2]|0)|0;do if((c[k>>2]|0)==5){if(!(c[c[(c[p>>2]|0)+32>>2]>>2]|0)){c[k>>2]=-1;break}s=Am(c[p>>2]|0,2)|0;c[k>>2]=s;if(!s){Bm(c[p>>2]|0,2);c[k>>2]=-1;break}if((c[k>>2]|0)==5)c[k>>2]=261}while(0);if(c[k>>2]|0){c[v>>2]=c[k>>2];v=c[v>>2]|0;l=w;return v|0}}c[t>>2]=Fo(c[p>>2]|0)|0;do if((c[r>>2]|0)==0?(c[c[t>>2]>>2]|0)==(c[(c[p>>2]|0)+52+16>>2]|0):0){c[k>>2]=Am(c[p>>2]|0,3)|0;Mo(c[p>>2]|0);if(c[k>>2]|0){if((c[k>>2]|0)==5)break;c[v>>2]=c[k>>2];v=c[v>>2]|0;l=w;return v|0}u=qo(c[p>>2]|0)|0;u=(H_(u,(c[p>>2]|0)+52|0,48)|0)!=0;a=c[p>>2]|0;if(u){Bm(a,3);c[v>>2]=-1;v=c[v>>2]|0;l=w;return v|0}else{b[a+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;l=w;return v|0}}while(0);c[h>>2]=0;c[i>>2]=0;c[m>>2]=c[(c[p>>2]|0)+52+16>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>=5)break;c[o>>2]=c[(c[t>>2]|0)+4+(c[j>>2]<<2)>>2];if((c[h>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0:0){c[h>>2]=c[o>>2];c[i>>2]=c[j>>2]}c[j>>2]=(c[j>>2]|0)+1}a:do if(((d[(c[p>>2]|0)+46>>0]|0)&2|0)==0?((c[i>>2]|0)==0?1:(c[h>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[j>>2]=1;while(1){if((c[j>>2]|0)>=5)break a;c[k>>2]=Ao(c[p>>2]|0,3+(c[j>>2]|0)|0,1)|0;if(!(c[k>>2]|0)){u=36;break}if((c[k>>2]|0)!=5)break;c[j>>2]=(c[j>>2]|0)+1}if((u|0)==36){u=c[m>>2]|0;c[(c[t>>2]|0)+4+(c[j>>2]<<2)>>2]=u;c[h>>2]=u;c[i>>2]=c[j>>2];Em(c[p>>2]|0,3+(c[j>>2]|0)|0,1);break}c[v>>2]=c[k>>2];v=c[v>>2]|0;l=w;return v|0}while(0);if(!(c[i>>2]|0)){c[v>>2]=(c[k>>2]|0)==5?-1:520;v=c[v>>2]|0;l=w;return v|0}c[k>>2]=Am(c[p>>2]|0,3+(c[i>>2]|0)|0)|0;if(c[k>>2]|0){c[v>>2]=(c[k>>2]|0)==5?-1:c[k>>2]|0;v=c[v>>2]|0;l=w;return v|0}c[(c[p>>2]|0)+100>>2]=(c[c[t>>2]>>2]|0)+1;Mo(c[p>>2]|0);if((c[(c[t>>2]|0)+4+(c[i>>2]<<2)>>2]|0)==(c[h>>2]|0)?(u=qo(c[p>>2]|0)|0,(H_(u,(c[p>>2]|0)+52|0,48)|0)==0):0){b[(c[p>>2]|0)+40>>1]=c[i>>2];c[v>>2]=c[k>>2];v=c[v>>2]|0;l=w;return v|0}Bm(c[p>>2]|0,3+(c[i>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;l=w;return v|0}function op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function pp(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=so(c[d>>2]|0)|0;l=b;return a|0}function qp(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;k=x+40|0;r=x+36|0;s=x+50|0;t=x+52|0;u=x+32|0;i=x+28|0;v=x+24|0;j=x+48|0;w=x+20|0;m=x+16|0;n=x+12|0;o=x+8|0;g=x+4|0;h=x;p=x+46|0;q=x+44|0;c[r>>2]=f;do if(!(a[c[r>>2]>>0]|0)){c[i>>2]=c[(c[r>>2]|0)+52>>2];a[t>>0]=a[(c[r>>2]|0)+5>>0]|0;c[u>>2]=c[(c[r>>2]|0)+56>>2];if(rp(c[r>>2]|0,d[(c[u>>2]|0)+(d[t>>0]|0)>>0]|0)|0){c[k>>2]=kn(60006)|0;w=c[k>>2]|0;l=x;return w|0}b[(c[r>>2]|0)+20>>1]=(c[(c[i>>2]|0)+32>>2]|0)-1;a[(c[r>>2]|0)+1>>0]=0;c[v>>2]=c[(c[i>>2]|0)+36>>2];f=(d[t>>0]|0)+8+(d[(c[r>>2]|0)+6>>0]|0)&65535;b[j>>1]=f;b[(c[r>>2]|0)+14>>1]=f;c[(c[r>>2]|0)+60>>2]=(c[u>>2]|0)+(c[v>>2]|0);c[(c[r>>2]|0)+64>>2]=(c[u>>2]|0)+(e[j>>1]|0);c[(c[r>>2]|0)+68>>2]=(c[u>>2]|0)+(d[(c[r>>2]|0)+6>>0]|0);c[m>>2]=((d[(c[u>>2]|0)+((d[t>>0]|0)+5)>>0]<<8|d[(c[u>>2]|0)+((d[t>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[r>>2]|0)+18>>1]=d[(c[u>>2]|0)+((d[t>>0]|0)+3)>>0]<<8|d[(c[u>>2]|0)+((d[t>>0]|0)+3)+1>>0];if((e[(c[r>>2]|0)+18>>1]|0)>>>0>((((c[(c[i>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[k>>2]=kn(60024)|0;w=c[k>>2]|0;l=x;return w|0}c[n>>2]=(e[j>>1]|0)+(e[(c[r>>2]|0)+18>>1]<<1);c[o>>2]=(c[v>>2]|0)-4;do if(c[(c[(c[i>>2]|0)+4>>2]|0)+24>>2]&536870912|0){if(!(a[(c[r>>2]|0)+4>>0]|0))c[o>>2]=(c[o>>2]|0)+-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[r>>2]|0)+18>>1]|0)){f=17;break}b[s>>1]=d[(c[u>>2]|0)+((e[j>>1]|0)+(c[g>>2]<<1))>>0]<<8|d[(c[u>>2]|0)+((e[j>>1]|0)+(c[g>>2]<<1))+1>>0];if((e[s>>1]|0)<(c[n>>2]|0)){f=13;break}if((e[s>>1]|0)>(c[o>>2]|0)){f=13;break}c[h>>2]=(Mb[c[(c[r>>2]|0)+76>>2]&255](c[r>>2]|0,(c[u>>2]|0)+(e[s>>1]|0)|0)|0)&65535;if(((e[s>>1]|0)+(c[h>>2]|0)|0)>(c[v>>2]|0)){f=15;break}c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[k>>2]=kn(60052)|0;w=c[k>>2]|0;l=x;return w|0}else if((f|0)==15){c[k>>2]=kn(60057)|0;w=c[k>>2]|0;l=x;return w|0}else if((f|0)==17){if(a[(c[r>>2]|0)+4>>0]|0)break;c[o>>2]=(c[o>>2]|0)+1;break}}while(0);b[s>>1]=d[(c[u>>2]|0)+((d[t>>0]|0)+1)>>0]<<8|d[(c[u>>2]|0)+((d[t>>0]|0)+1)+1>>0];c[w>>2]=(d[(c[u>>2]|0)+((d[t>>0]|0)+7)>>0]|0)+(c[m>>2]|0);while(1){if((e[s>>1]|0)<=0){f=29;break}if((e[s>>1]|0)<(c[n>>2]|0)){f=23;break}if((e[s>>1]|0)>(c[o>>2]|0)){f=23;break}b[p>>1]=d[(c[u>>2]|0)+(e[s>>1]|0)>>0]<<8|d[(c[u>>2]|0)+(e[s>>1]|0)+1>>0];b[q>>1]=d[(c[u>>2]|0)+((e[s>>1]|0)+2)>>0]<<8|d[(c[u>>2]|0)+((e[s>>1]|0)+2)+1>>0];if((e[p>>1]|0)>0?(e[p>>1]|0)<=((e[s>>1]|0)+(e[q>>1]|0)+3|0):0){f=27;break}if(((e[s>>1]|0)+(e[q>>1]|0)|0)>(c[v>>2]|0)){f=27;break}c[w>>2]=(c[w>>2]|0)+(e[q>>1]|0);b[s>>1]=b[p>>1]|0}if((f|0)==23){c[k>>2]=kn(60077)|0;w=c[k>>2]|0;l=x;return w|0}else if((f|0)==27){c[k>>2]=kn(60084)|0;w=c[k>>2]|0;l=x;return w|0}else if((f|0)==29){if((c[w>>2]|0)<=(c[v>>2]|0)){b[(c[r>>2]|0)+16>>1]=(c[w>>2]|0)-(c[n>>2]|0);a[c[r>>2]>>0]=1;break}c[k>>2]=kn(60098)|0;w=c[k>>2]|0;l=x;return w|0}}while(0);c[k>>2]=0;w=c[k>>2]|0;l=x;return w|0}function rp(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+12|0;i=k+8|0;g=k+4|0;j=k;c[i>>2]=e;c[g>>2]=f;a[(c[i>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[i>>2]|0)+6>>0]=4-(d[(c[i>>2]|0)+4>>0]<<2);c[(c[i>>2]|0)+76>>2]=194;c[j>>2]=c[(c[i>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[i>>2]|0)+2>>0]=1;e=(c[i>>2]|0)+3|0;if(a[(c[i>>2]|0)+4>>0]|0){a[e>>0]=1;e=c[i>>2]|0;f=230}else{a[e>>0]=0;c[(c[i>>2]|0)+76>>2]=195;e=c[i>>2]|0;f=231}c[e+80>>2]=f;b[(c[i>>2]|0)+10>>1]=b[(c[j>>2]|0)+28>>1]|0;e=b[(c[j>>2]|0)+30>>1]|0;f=c[i>>2]|0}else{if((c[g>>2]|0)==2){a[(c[i>>2]|0)+2>>0]=0;a[(c[i>>2]|0)+3>>0]=0;c[(c[i>>2]|0)+80>>2]=229;b[(c[i>>2]|0)+10>>1]=b[(c[j>>2]|0)+24>>1]|0;e=b[(c[j>>2]|0)+26>>1]|0;f=c[i>>2]|0;break}c[h>>2]=kn(59964)|0;j=c[h>>2]|0;l=k;return j|0}while(0);b[f+12>>1]=e;a[(c[i>>2]|0)+7>>0]=a[(c[j>>2]|0)+21>>0]|0;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function sp(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=b;c[h>>2]=f;c[i>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[i>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[j>>2]=(c[i>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{b=c[k>>2]<<7;f=(c[i>>2]|0)+1|0;c[i>>2]=f;c[k>>2]=b|d[f>>0]&127;if((d[c[i>>2]>>0]|0)<128)break a}while((c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0)}while(0);c[i>>2]=(c[i>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[j>>2]=(c[i>>2]|0)+9;do{f=c[i>>2]|0;c[i>>2]=f+1;if(!(d[f>>0]&128))break b}while((c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){m=(c[k>>2]|0)+((c[i>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>>>0<4?4:m;m=c[k>>2]|0;m=m&65535;l=n;return m|0}c[m>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[m>>2]|0)+((((c[k>>2]|0)-(c[m>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[m>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[i>>2]|0)-(c[h>>2]|0)&65535));m=c[k>>2]|0;m=m&65535;l=n;return m|0}function tp(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q;p=q+12|0;h=q+8|0;c[i>>2]=a;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[j>>2];c[n>>2]=d[c[m>>2]>>0];a:do if((c[n>>2]|0)>>>0>=128){c[p>>2]=(c[m>>2]|0)+8;c[n>>2]=c[n>>2]&127;do{f=c[n>>2]<<7;g=(c[m>>2]|0)+1|0;c[m>>2]=g;c[n>>2]=f|(d[g>>0]|0)&127;if((d[c[m>>2]>>0]|0|0)<128)break a}while((c[m>>2]|0)>>>0<(c[p>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;p=o;c[p>>2]=d[c[m>>2]>>0];c[p+4>>2]=0;p=o;g=c[p+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[p>>2]|0)>>>0>=128){c[h>>2]=(c[m>>2]|0)+7;p=o;c[p>>2]=c[o>>2]&127;c[p+4>>2]=0;do{f=o;f=j0(c[f>>2]|0,c[f+4>>2]|0,7)|0;g=(c[m>>2]|0)+1|0;c[m>>2]=g;g=(d[g>>0]|0)&127;p=o;c[p>>2]=f|g;c[p+4>>2]=D|((g|0)<0)<<31>>31;if((d[c[m>>2]>>0]|0|0)<128)break b}while((c[m>>2]|0)>>>0<(c[h>>2]|0)>>>0);h=o;h=j0(c[h>>2]|0,c[h+4>>2]|0,8)|0;g=(c[m>>2]|0)+1|0;c[m>>2]=g;p=o;c[p>>2]=h|(d[g>>0]|0);c[p+4>>2]=D}while(0);c[m>>2]=(c[m>>2]|0)+1;g=o;o=c[g+4>>2]|0;p=c[k>>2]|0;c[p>>2]=c[g>>2];c[p+4>>2]=o;c[(c[k>>2]|0)+12>>2]=c[n>>2];c[(c[k>>2]|0)+8>>2]=c[m>>2];if((c[n>>2]|0)>>>0>(e[(c[i>>2]|0)+10>>1]|0)>>>0){xp(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0);l=q;return}b[(c[k>>2]|0)+18>>1]=(c[n>>2]|0)+((c[m>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[n>>2];l=q;return}function up(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[h+12>>2]=a;c[e>>2]=b;c[f>>2]=(c[e>>2]|0)+4;c[g>>2]=(c[f>>2]|0)+9;do{b=c[f>>2]|0;c[f>>2]=b+1;if(!((d[b>>0]|0)&128))break}while((c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0);l=h;return (c[f>>2]|0)-(c[e>>2]|0)&65535|0}function vp(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;e=4+((yp((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=e;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;l=f;return}function wp(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[i>>2]=f;c[j>>2]=g;c[k>>2]=(c[i>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[m>>2]=d[c[k>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[k>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{f=c[m>>2]<<7;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[m>>2]=f|(d[g>>0]|0)&127;if((d[c[k>>2]>>0]|0|0)<128)break a}while((c[k>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[k>>2]=(c[k>>2]|0)+1;n=c[j>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=0;c[(c[j>>2]|0)+12>>2]=c[m>>2];c[(c[j>>2]|0)+8>>2]=c[k>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){xp(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);l=o;return}b[(c[j>>2]|0)+18>>1]=(c[m>>2]|0)+((c[k>>2]|0)-(c[i>>2]|0)&65535);if((e[(c[j>>2]|0)+18>>1]|0|0)<4)b[(c[j>>2]|0)+18>>1]=4;b[(c[j>>2]|0)+16>>1]=c[m>>2];l=o;return}function xp(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;n=k+20|0;i=k+16|0;j=k+12|0;g=k+8|0;m=k+4|0;h=k;c[n>>2]=a;c[i>>2]=d;c[j>>2]=f;c[g>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[h>>2]=(c[g>>2]|0)+((((c[(c[j>>2]|0)+12>>2]|0)-(c[g>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[h>>2]|0)<=(c[m>>2]|0)){a=c[h>>2]&65535;d=c[j>>2]|0}else{a=c[g>>2]&65535;d=c[j>>2]|0}b[d+16>>1]=a;b[(c[j>>2]|0)+18>>1]=((c[(c[j>>2]|0)+8>>2]|0)+(e[(c[j>>2]|0)+16>>1]|0)-(c[i>>2]|0)&65535)+4;l=k;return}function yp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[i>>2]=d[c[g>>2]>>0];if(!(c[i>>2]&128)){k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=1;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&127;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=2;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);e=(c[i>>2]&128|0)!=0;c[i>>2]=c[i>>2]&2080895;if(!e){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=3;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;b=c[i>>2]|0;if(!e){c[i>>2]=b<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=4;k=a[f>>0]|0;l=m;return k|0}c[k>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);if(!(c[i>>2]&128)){c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>18;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=5;k=a[f>>0]|0;l=m;return k|0}c[k>>2]=c[k>>2]<<7;c[k>>2]=c[k>>2]|c[j>>2];c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&2080895;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>18;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=6;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);b=c[i>>2]|0;if(!(c[i>>2]&128)){c[i>>2]=b&-266354561;c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>11;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=7;k=a[f>>0]|0;l=m;return k|0}c[i>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(c[j>>2]&128|0){c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<15;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<8;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=c[k>>2]<<4;c[j>>2]=d[(c[g>>2]|0)+-4>>0];c[j>>2]=c[j>>2]&127;c[j>>2]=(c[j>>2]|0)>>>3;c[k>>2]=c[k>>2]|c[j>>2];j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=9;k=a[f>>0]|0;l=m;return k|0}else{c[j>>2]=c[j>>2]&-266354561;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>4;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=8;k=a[f>>0]|0;l=m;return k|0}return 0}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+244>>2]|0)Ap(c[(c[d>>2]|0)+244>>2]|0);Bp(c[d>>2]|0,c[e>>2]|0);l=f;return}function Ap(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_h(c[d>>2]|0);l=b;return}function Bp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==3082){l=f;return}c[e>>2]=c[e>>2]&255;if(!((c[e>>2]|0)==14|(c[e>>2]|0)==10)){l=f;return}e=Cp(c[c[d>>2]>>2]|0)|0;c[(c[d>>2]|0)+60>>2]=e;l=f;return}function Cp(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+68>>2]|0)){b=0;l=d;return b|0}b=Bb[c[(c[b>>2]|0)+68>>2]&255](c[b>>2]|0,0,0)|0;l=d;return b|0}function Dp(a){a=a|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=_l(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;l=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;l=f;return e|0}function Ep(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n+16|0;m=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;a[k>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){l=n;return}ci(c[h>>2]|0,c[j>>2]|0,c[i>>2]|0,a[k>>0]|0,c[m>>2]|0)|0;l=n;return}function Fp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;F=l;l=l+112|0;u=F+108|0;o=F+104|0;A=F+100|0;p=F+96|0;B=F+92|0;q=F+88|0;C=F+84|0;E=F+80|0;e=F+76|0;f=F+72|0;r=F+68|0;g=F+64|0;h=F+60|0;i=F+56|0;j=F+52|0;s=F+16|0;t=F+48|0;k=F+44|0;m=F+40|0;v=F+8|0;w=F;n=F+36|0;x=F+32|0;y=F+28|0;z=F+24|0;c[u>>2]=a;c[o>>2]=b;c[B>>2]=0;c[q>>2]=0;td(c[(c[(c[u>>2]|0)+20>>2]|0)+12>>2]|0);el(c[(c[u>>2]|0)+24>>2]|0);if(c[c[u>>2]>>2]|0)td(c[(c[c[u>>2]>>2]|0)+12>>2]|0);c[A>>2]=c[(c[u>>2]|0)+28>>2];if(!(Fn(c[A>>2]|0)|0)){c[C>>2]=qk(c[(c[u>>2]|0)+24>>2]|0)|0;c[E>>2]=qk(c[(c[u>>2]|0)+4>>2]|0)|0;c[f>>2]=-1;c[r>>2]=0;if(c[c[u>>2]>>2]|0?(d[(c[(c[(c[u>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[A>>2]=5;else c[A>>2]=0;if((c[A>>2]|0)==0?0==(nl(c[(c[u>>2]|0)+24>>2]|0)|0):0){c[A>>2]=Gp(c[(c[u>>2]|0)+24>>2]|0,0)|0;c[r>>2]=1}if(((c[A>>2]|0)==0?(c[(c[u>>2]|0)+12>>2]|0)==0:0)?(Hp(c[u>>2]|0)|0)==7:0)c[A>>2]=7;if((0==(c[A>>2]|0)?(c[(c[u>>2]|0)+12>>2]|0)==0:0)?(b=Gp(c[(c[u>>2]|0)+4>>2]|0,2)|0,c[A>>2]=b,0==(b|0)):0){c[(c[u>>2]|0)+12>>2]=1;Ip(c[(c[u>>2]|0)+4>>2]|0,1,(c[u>>2]|0)+8|0)}c[B>>2]=Hn(c[(c[u>>2]|0)+24>>2]|0)|0;c[q>>2]=Hn(c[(c[u>>2]|0)+4>>2]|0)|0;c[p>>2]=Jp(qk(c[(c[u>>2]|0)+4>>2]|0)|0)|0;if(0==(c[A>>2]|0)&(c[p>>2]|0)==5?(c[B>>2]|0)!=(c[q>>2]|0):0)c[A>>2]=8;c[f>>2]=Mn(c[(c[u>>2]|0)+24>>2]|0)|0;c[e>>2]=0;while(1){if((c[o>>2]|0)>=0?(c[e>>2]|0)>=(c[o>>2]|0):0)break;if((c[(c[u>>2]|0)+16>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;if(!((c[A>>2]|0)!=0^1))break;c[g>>2]=c[(c[u>>2]|0)+16>>2];if((c[g>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[(c[(c[u>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[A>>2]=gn(c[C>>2]|0,c[g>>2]|0,h,2)|0,(c[A>>2]|0)==0):0){a=c[u>>2]|0;b=c[g>>2]|0;c[A>>2]=Gn(a,b,Kn(c[h>>2]|0)|0,0)|0;On(c[h>>2]|0)}b=(c[u>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}do if(!(c[A>>2]|0)){c[(c[u>>2]|0)+36>>2]=c[f>>2];c[(c[u>>2]|0)+32>>2]=(c[f>>2]|0)+1-(c[(c[u>>2]|0)+16>>2]|0);if((c[(c[u>>2]|0)+16>>2]|0)>>>0>(c[f>>2]|0)>>>0){c[A>>2]=101;break}if(!(c[(c[u>>2]|0)+40>>2]|0))Kp(c[u>>2]|0)}while(0);if((c[A>>2]|0)==101){if(!(c[f>>2]|0)){c[A>>2]=Lp(c[(c[u>>2]|0)+4>>2]|0)|0;c[f>>2]=1}if((c[A>>2]|0)==0|(c[A>>2]|0)==101)c[A>>2]=Mp(c[(c[u>>2]|0)+4>>2]|0,1,(c[(c[u>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[A>>2]|0)){if(c[c[u>>2]>>2]|0)Np(c[c[u>>2]>>2]|0);if((c[p>>2]|0)==5)c[A>>2]=Op(c[(c[u>>2]|0)+4>>2]|0,2)|0}if(!(c[A>>2]|0)){if((c[B>>2]|0)<(c[q>>2]|0)){c[j>>2]=(c[q>>2]|0)/(c[B>>2]|0)|0;c[i>>2]=((c[f>>2]|0)+(c[j>>2]|0)-1|0)/(c[j>>2]|0)|0;if((c[i>>2]|0)==((((c[482]|0)>>>0)/((c[(c[(c[(c[u>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[i>>2]=(c[i>>2]|0)+-1}else c[i>>2]=S(c[f>>2]|0,(c[B>>2]|0)/(c[q>>2]|0)|0)|0;do if((c[B>>2]|0)<(c[q>>2]|0)){p=c[B>>2]|0;o=c[f>>2]|0;o=r0(p|0,((p|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;p=s;c[p>>2]=o;c[p+4>>2]=D;c[t>>2]=Pp(c[E>>2]|0)|0;Qp(c[E>>2]|0,m);c[k>>2]=c[i>>2];while(1){if(c[A>>2]|0)break;if((c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;do if((c[k>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[(c[(c[u>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[A>>2]=gn(c[E>>2]|0,c[k>>2]|0,n,0)|0;if(c[A>>2]|0)break;c[A>>2]=Jn(c[n>>2]|0)|0;On(c[n>>2]|0)}while(0);c[k>>2]=(c[k>>2]|0)+1}if(!(c[A>>2]|0))c[A>>2]=Rp(c[E>>2]|0,0,1)|0;o=(c[482]|0)+(c[q>>2]|0)|0;m=((o|0)<0)<<31>>31;p=s;n=c[p+4>>2]|0;if((m|0)<(n|0)|((m|0)==(n|0)?o>>>0<(c[p>>2]|0)>>>0:0)){b=(c[482]|0)+(c[q>>2]|0)|0;a=b;b=((b|0)<0)<<31>>31}else{b=s;a=c[b>>2]|0;b=c[b+4>>2]|0}p=w;c[p>>2]=a;c[p+4>>2]=b;p=(c[482]|0)+(c[B>>2]|0)|0;q=v;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[A>>2]|0)break;p=v;n=c[p+4>>2]|0;q=w;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[x>>2]=0;p=v;q=c[B>>2]|0;q=n0(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=_$(q|0,D|0,1,0)|0;c[y>>2]=q;c[A>>2]=gn(c[C>>2]|0,c[y>>2]|0,x,0)|0;if(!(c[A>>2]|0)){c[z>>2]=Kn(c[x>>2]|0)|0;q=v;c[A>>2]=Dm(c[t>>2]|0,c[z>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}On(c[x>>2]|0);p=c[B>>2]|0;q=v;p=_$(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=p;c[q+4>>2]=D}if(!(c[A>>2]|0)){C=s;c[A>>2]=Sp(c[t>>2]|0,c[C>>2]|0,c[C+4>>2]|0)|0}if(c[A>>2]|0)break;c[A>>2]=Vm(c[E>>2]|0,0)|0}else{Tp(c[E>>2]|0,c[i>>2]|0);c[A>>2]=Rp(c[E>>2]|0,0,0)|0}while(0);if(!(c[A>>2]|0)){E=Up(c[(c[u>>2]|0)+4>>2]|0,0)|0;c[A>>2]=E;c[A>>2]=0==(E|0)?101:E}}}if(c[r>>2]|0){Vp(c[(c[u>>2]|0)+24>>2]|0,0)|0;Up(c[(c[u>>2]|0)+24>>2]|0,0)|0}if((c[A>>2]|0)==3082)c[A>>2]=7;c[(c[u>>2]|0)+28>>2]=c[A>>2]}if(!(c[c[u>>2]>>2]|0)){E=c[u>>2]|0;E=E+24|0;E=c[E>>2]|0;bl(E);E=c[u>>2]|0;E=E+20|0;E=c[E>>2]|0;E=E+12|0;E=c[E>>2]|0;ud(E);E=c[A>>2]|0;l=F;return E|0}ud(c[(c[c[u>>2]>>2]|0)+12>>2]|0);E=c[u>>2]|0;E=E+24|0;E=c[E>>2]|0;bl(E);E=c[u>>2]|0;E=E+20|0;E=c[E>>2]|0;E=E+12|0;E=c[E>>2]|0;ud(E);E=c[A>>2]|0;l=F;return E|0}function Gp(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=0;el(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?(c[i>>2]|0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if(c[i>>2]|0?(e[(c[j>>2]|0)+22>>1]&1|0)!=0:0){c[k>>2]=8;break}c[m>>2]=0;if(c[i>>2]|0?(d[(c[j>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[j>>2]|0)+22>>1]&64|0)){if((c[i>>2]|0)>1){c[n>>2]=c[(c[j>>2]|0)+72>>2];while(1){if(!(c[n>>2]|0))break a;f=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=(c[h>>2]|0))break;c[n>>2]=c[f+12>>2]}c[m>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[m>>2]=c[c[(c[j>>2]|0)+76>>2]>>2];if(c[m>>2]|0){c[k>>2]=262;break}c[k>>2]=Wq(c[h>>2]|0,1,1)|0;if(!(c[k>>2]|0)){n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]&-9;if(!(c[(c[j>>2]|0)+44>>2]|0)){n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]|8}do{do{if(c[(c[j>>2]|0)+12>>2]|0)break;n=Xq(c[j>>2]|0)|0;c[k>>2]=n}while(0==(n|0));do if((c[k>>2]|0)==0&(c[i>>2]|0)!=0){if(e[(c[j>>2]|0)+22>>1]&1|0){c[k>>2]=8;break}m=c[c[j>>2]>>2]|0;n=(c[i>>2]|0)>1&1;c[k>>2]=Yq(m,n,Kl(c[c[h>>2]>>2]|0)|0)|0;if(!(c[k>>2]|0))c[k>>2]=Sq(c[j>>2]|0)|0}while(0);if(c[k>>2]|0)Jq(c[j>>2]|0);if((c[k>>2]&255|0)!=5)break;if(d[(c[j>>2]|0)+20>>0]|0)break}while((Sl(c[j>>2]|0)|0)!=0);if(!(c[k>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(n=(c[j>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,a[(c[h>>2]|0)+9>>0]|0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[j>>2]|0)+72>>2];c[(c[j>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=c[i>>2]|0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[j>>2]|0)+20>>0]|0))a[(c[j>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[i>>2]|0){c[o>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+76>>2]=c[h>>2];n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]&-33;if((c[i>>2]|0)>1){n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]|32}n=c[(c[j>>2]|0)+44>>2]|0;if((n|0)!=(Vl((c[(c[o>>2]|0)+56>>2]|0)+28|0)|0)?(c[k>>2]=Jn(c[(c[o>>2]|0)+72>>2]|0)|0,(c[k>>2]|0)==0):0)Nn((c[(c[o>>2]|0)+56>>2]|0)+28|0,c[(c[j>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[k>>2]|0)==0&(c[i>>2]|0)!=0)){o=c[h>>2]|0;bl(o);o=c[k>>2]|0;l=p;return o|0}c[k>>2]=Zq(c[c[j>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+432>>2]|0)|0;o=c[h>>2]|0;bl(o);o=c[k>>2]|0;l=p;return o|0}function Hp(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;a=c[(c[e>>2]|0)+4>>2]|0;c[b>>2]=tl(a,Hn(c[(c[e>>2]|0)+24>>2]|0)|0,-1,0)|0;l=d;return c[b>>2]|0}function Ip(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;g=h+4|0;i=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=c[(c[e>>2]|0)+4>>2];el(c[e>>2]|0);a=c[i>>2]|0;if((c[f>>2]|0)==15){i=Vq(c[a>>2]|0)|0;c[c[g>>2]>>2]=i+(c[(c[e>>2]|0)+20>>2]|0);i=c[e>>2]|0;bl(i);l=h;return}else{i=Vl((c[(c[a+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=i;i=c[e>>2]|0;bl(i);l=h;return}}function Jp(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+5>>0]|0|0}function Kp(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Uq(qk(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;l=b;return}function Lp(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;el(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=Sq(c[(c[e>>2]|0)+4>>2]|0)|0;bl(c[e>>2]|0);l=d;return c[b>>2]|0}function Mp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[(c[f>>2]|0)+4>>2];el(c[f>>2]|0);c[j>>2]=c[(c[(c[i>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=Jn(c[(c[(c[i>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[k>>2]|0){j=c[f>>2]|0;bl(j);k=c[k>>2]|0;l=m;return k|0}Nn((c[j>>2]|0)+(36+(c[g>>2]<<2))|0,c[h>>2]|0);if((c[g>>2]|0)!=7){j=c[f>>2]|0;bl(j);k=c[k>>2]|0;l=m;return k|0}a[(c[i>>2]|0)+18>>0]=c[h>>2];j=c[f>>2]|0;bl(j);k=c[k>>2]|0;l=m;return k|0}function Np(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;pk(c[b>>2]|0);c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[a+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)Nq(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=a+24|0;c[e>>2]=c[e>>2]&-3;Oq(c[b>>2]|0);rk(c[b>>2]|0);Pq(c[b>>2]|0);l=f;return}function Op(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[h>>2]|0)+4>>2];g=(c[j>>2]|0)+22|0;b[g>>1]=(e[g>>1]|0)&-17;if((c[i>>2]|0)==1){g=(c[j>>2]|0)+22|0;b[g>>1]=e[g>>1]|0|16}c[k>>2]=Gp(c[h>>2]|0,0)|0;do if(!(c[k>>2]|0)){c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2];if((d[(c[m>>2]|0)+18>>0]|0|0)==(c[i>>2]&255|0)?(d[(c[m>>2]|0)+19>>0]|0|0)==(c[i>>2]&255|0):0)break;c[k>>2]=Gp(c[h>>2]|0,2)|0;if((c[k>>2]|0)==0?(c[k>>2]=Jn(c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[k>>2]|0)==0):0){a[(c[m>>2]|0)+18>>0]=c[i>>2];a[(c[m>>2]|0)+19>>0]=c[i>>2]}}while(0);m=(c[j>>2]|0)+22|0;b[m>>1]=(e[m>>1]|0)&-17;l=n;return c[k>>2]|0}function Pp(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+64>>2]|0}function Qp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];l=d;return}function Rp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;g=p;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(c[(c[i>>2]|0)+44>>2]|0){c[h>>2]=c[(c[i>>2]|0)+44>>2];o=c[h>>2]|0;l=p;return o|0}if(Kq(400)|0){c[h>>2]=10;o=c[h>>2]|0;l=p;return o|0}if((d[(c[i>>2]|0)+17>>0]|0|0)<3){c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}f=0==(qm(c[i>>2]|0,1)|0);b=c[i>>2]|0;do if(!f){f=(tm(b)|0)!=0;b=c[i>>2]|0;if(f){c[n>>2]=no(c[b+212>>2]|0)|0;c[o>>2]=0;if(!(c[n>>2]|0)){c[m>>2]=gn(c[i>>2]|0,1,o,0)|0;c[n>>2]=c[o>>2];c[(c[n>>2]|0)+12>>2]=0}if(c[n>>2]|0)c[m>>2]=_o(c[i>>2]|0,c[n>>2]|0,c[(c[i>>2]|0)+28>>2]|0,1)|0;On(c[o>>2]|0);if(c[m>>2]|0)break;rm(c[(c[i>>2]|0)+212>>2]|0);break}c[m>>2]=Lq(b,0)|0;if((((c[m>>2]|0)==0?(c[m>>2]=Mq(c[i>>2]|0,c[j>>2]|0)|0,(c[m>>2]|0)==0):0)?(c[m>>2]=$o(c[i>>2]|0,0)|0,(c[m>>2]|0)==0):0)?(o=c[i>>2]|0,c[m>>2]=ap(o,no(c[(c[i>>2]|0)+212>>2]|0)|0)|0,(c[m>>2]|0)==0):0){rm(c[(c[i>>2]|0)+212>>2]|0);if((c[(c[i>>2]|0)+28>>2]|0)>>>0>(c[(c[i>>2]|0)+36>>2]|0)>>>0){c[g>>2]=(c[(c[i>>2]|0)+28>>2]|0)-((c[(c[i>>2]|0)+28>>2]|0)==(((c[482]|0)/(c[(c[i>>2]|0)+160>>2]|0)|0)+1|0)&1);c[m>>2]=vm(c[i>>2]|0,c[g>>2]|0)|0;if((c[m>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[m>>2]=Vm(c[i>>2]|0,c[j>>2]|0)|0}}else El(c[b+96>>2]|0);while(0);if((c[m>>2]|0)==0?(tm(c[i>>2]|0)|0)==0:0)a[(c[i>>2]|0)+17>>0]=5;c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}function Sp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+20|0;f=i+8|0;g=i;h=i+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=xl(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}d=g;a=c[d+4>>2]|0;g=f;b=c[g+4>>2]|0;if(!((a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>(c[g>>2]|0)>>>0:0))){h=c[h>>2]|0;l=i;return h|0}g=f;c[h>>2]=lm(c[e>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}function Tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];l=d;return}function Up(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}el(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[i>>2]=Eq(c[c[j>>2]>>2]|0)|0;b=c[g>>2]|0;if(!((c[i>>2]|0)!=0&(c[h>>2]|0)==0)){i=b+20|0;c[i>>2]=(c[i>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;Fq(c[j>>2]|0);break}bl(b);c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}while(0);Gq(c[g>>2]|0);bl(c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function Vp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;c[i>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];el(c[g>>2]|0);if(a[(c[j>>2]|0)+17>>0]|0?(c[i>>2]=Wp(c[j>>2]|0)|0,c[i>>2]|0):0){bl(c[g>>2]|0);c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}if(a[(c[j>>2]|0)+19>>0]|0)Tp(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[i>>2]=Rp(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0;bl(c[g>>2]|0)}c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}function Wp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[c[e>>2]>>2];Xp(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[k>>2]=Rn(c[e>>2]|0)|0;b=Yp(c[e>>2]|0,c[k>>2]|0)|0;if((b|0)!=(c[k>>2]|0)?(c[k>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[i>>2]=Vl((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[h>>2]=Zp(c[e>>2]|0,c[k>>2]|0,c[i>>2]|0)|0;if((c[h>>2]|0)>>>0>(c[k>>2]|0)>>>0){c[d>>2]=kn(61919)|0;k=c[d>>2]|0;l=m;return k|0}if((c[h>>2]|0)>>>0<(c[k>>2]|0)>>>0)c[f>>2]=_p(c[e>>2]|0,0,0)|0;c[j>>2]=c[k>>2];while(1){if(!((c[j>>2]|0)>>>0>(c[h>>2]|0)>>>0?(c[f>>2]|0)==0:0))break;c[f>>2]=$p(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0,1)|0;c[j>>2]=(c[j>>2]|0)+-1}if(((c[f>>2]|0)==101|(c[f>>2]|0)==0)&(c[i>>2]|0)>>>0>0){c[f>>2]=Jn(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;Nn((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);Nn((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);Nn((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[h>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[h>>2]}if(!(c[f>>2]|0))break;hm(c[g>>2]|0)|0;break}c[d>>2]=kn(61914)|0;k=c[d>>2]|0;l=m;return k|0}while(0);c[d>>2]=c[f>>2];k=c[d>>2]|0;l=m;return k|0}function Xp(b){b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}l=f;return}function Yp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;i=c[d>>2]|0;l=j;return i|0}c[g>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[h>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[g>>2]|0)>>>0)|0;c[i>>2]=(S(c[h>>2]|0,c[g>>2]|0)|0)+2;if((c[i>>2]|0)==((((c[482]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[i>>2]=(c[i>>2]|0)+1;c[d>>2]=c[i>>2];i=c[d>>2]|0;l=j;return i|0}function Zp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;e=g+20|0;h=g+16|0;j=g+12|0;k=g+8|0;i=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;d=(c[j>>2]|0)-(c[h>>2]|0)|0;d=d+(Yp(c[e>>2]|0,c[h>>2]|0)|0)|0;c[i>>2]=((d+(c[k>>2]|0)|0)>>>0)/((c[k>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);if((c[h>>2]|0)>>>0>((((c[482]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[482]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){k=Yp(c[e>>2]|0,c[f>>2]|0)|0;if((k|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[482]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);a=c[f>>2]|0;if(!b)break;c[f>>2]=a+-1}l=g;return a|0}function _p(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;g=k+16|0;m=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if((c[j>>2]|0)!=(c[i>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[j>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[j>>2]=c[(c[j>>2]|0)+8>>2]}if(c[j>>2]|0){c[g>>2]=sq(c[j>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;m=c[g>>2]|0;l=k;return m|0}if(c[i>>2]|0){m=(c[i>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;l=k;return m|0}function $p(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;s=z+52|0;t=z+48|0;u=z+44|0;v=z+40|0;w=z+36|0;x=z+32|0;h=z+28|0;i=z+57|0;j=z+24|0;k=z+20|0;m=z+16|0;n=z+12|0;o=z+8|0;p=z+56|0;q=z+4|0;r=z;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;g=Yp(c[t>>2]|0,c[v>>2]|0)|0;do if((g|0)!=(c[v>>2]|0)?(c[v>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[t>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[x>>2]=Vl((c[(c[(c[t>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[x>>2]|0)){c[s>>2]=101;y=c[s>>2]|0;l=z;return y|0}c[h>>2]=aq(c[t>>2]|0,c[v>>2]|0,i,j)|0;if(c[h>>2]|0){c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}if((d[i>>0]|0|0)==1){c[s>>2]=kn(61751)|0;y=c[s>>2]|0;l=z;return y|0}if((d[i>>0]|0|0)==2){if(c[w>>2]|0)break;c[h>>2]=bq(c[t>>2]|0,m,k,c[v>>2]|0,1)|0;if(!(c[h>>2]|0)){cq(c[m>>2]|0);break}c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}a[p>>0]=0;c[q>>2]=0;c[h>>2]=dq(c[t>>2]|0,c[v>>2]|0,o,0)|0;if(c[h>>2]|0){c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}if(!(c[w>>2]|0)){a[p>>0]=2;c[q>>2]=c[u>>2]}do{c[h>>2]=bq(c[t>>2]|0,r,n,c[q>>2]|0,a[p>>0]|0)|0;if(c[h>>2]|0){y=19;break}cq(c[r>>2]|0);if(!(c[w>>2]|0))break}while((c[n>>2]|0)>>>0>(c[u>>2]|0)>>>0);if((y|0)==19){cq(c[o>>2]|0);c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}c[h>>2]=eq(c[t>>2]|0,c[o>>2]|0,a[i>>0]|0,c[j>>2]|0,c[n>>2]|0,c[w>>2]|0)|0;cq(c[o>>2]|0);if(c[h>>2]|0){c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}}while(0);if(!(c[w>>2]|0)){while(1){c[v>>2]=(c[v>>2]|0)+-1;if((c[v>>2]|0)==((((c[482]|0)>>>0)/((c[(c[t>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=Yp(c[t>>2]|0,c[v>>2]|0)|0;if((y|0)!=(c[v>>2]|0))break}a[(c[t>>2]|0)+19>>0]=1;c[(c[t>>2]|0)+44>>2]=c[v>>2]}c[s>>2]=0;y=c[s>>2]|0;l=z;return y|0}function aq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;m=r+36|0;s=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[s>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[h>>2]=Yp(c[s>>2]|0,c[n>>2]|0)|0;c[k>>2]=gn(c[c[s>>2]>>2]|0,c[h>>2]|0,q,0)|0;if(c[k>>2]|0){c[m>>2]=c[k>>2];s=c[m>>2]|0;l=r;return s|0}c[i>>2]=Kn(c[q>>2]|0)|0;c[j>>2]=((c[n>>2]|0)-(c[h>>2]|0)-1|0)*5;if((c[j>>2]|0)<0){On(c[q>>2]|0);c[m>>2]=kn(59240)|0;s=c[m>>2]|0;l=r;return s|0}a[c[o>>2]>>0]=a[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0;if(c[p>>2]|0){s=Vl((c[i>>2]|0)+((c[j>>2]|0)+1)|0)|0;c[c[p>>2]>>2]=s}On(c[q>>2]|0);if((d[c[o>>2]>>0]|0|0)>=1?(d[c[o>>2]>>0]|0|0)<=5:0){c[m>>2]=0;s=c[m>>2]|0;l=r;return s|0}c[m>>2]=kn(59248)|0;s=c[m>>2]|0;l=r;return s|0}function bq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+112|0;K=L+96|0;D=L+92|0;E=L+88|0;F=L+84|0;G=L+80|0;m=L+102|0;n=L+76|0;H=L+72|0;o=L+68|0;p=L+64|0;I=L+60|0;J=L+56|0;q=L+52|0;r=L+48|0;s=L+101|0;t=L+44|0;i=L+100|0;u=L+40|0;v=L+36|0;w=L+32|0;x=L+28|0;y=L+24|0;z=L+20|0;A=L+16|0;B=L+12|0;C=L+8|0;j=L+4|0;k=L;c[D>>2]=b;c[E>>2]=e;c[F>>2]=f;c[G>>2]=g;a[m>>0]=h;c[I>>2]=0;c[J>>2]=0;c[n>>2]=c[(c[D>>2]|0)+12>>2];c[q>>2]=Rn(c[D>>2]|0)|0;c[o>>2]=Vl((c[(c[n>>2]|0)+56>>2]|0)+36|0)|0;if((c[o>>2]|0)>>>0>=(c[q>>2]|0)>>>0){c[K>>2]=kn(63793)|0;K=c[K>>2]|0;l=L;return K|0}a:do if((c[o>>2]|0)>>>0>0){a[s>>0]=0;c[t>>2]=0;do if((d[m>>0]|0)==1){if((c[G>>2]|0)>>>0<=(c[q>>2]|0)>>>0){c[H>>2]=aq(c[D>>2]|0,c[G>>2]|0,i,0)|0;if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}else{if((d[i>>0]|0)!=2)break;a[s>>0]=1;break}}}else if((d[m>>0]|0)==2)a[s>>0]=1;while(0);c[H>>2]=Jn(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}Nn((c[(c[n>>2]|0)+56>>2]|0)+36|0,(c[o>>2]|0)-1|0);b:while(1){c[J>>2]=c[I>>2];if(c[J>>2]|0)c[r>>2]=Vl(c[(c[J>>2]|0)+56>>2]|0)|0;else c[r>>2]=Vl((c[(c[n>>2]|0)+56>>2]|0)+32|0)|0;if((c[r>>2]|0)>>>0<=(c[q>>2]|0)>>>0?(h=c[t>>2]|0,c[t>>2]=h+1,h>>>0<=(c[o>>2]|0)>>>0):0)c[H>>2]=oq(c[D>>2]|0,c[r>>2]|0,I,0)|0;else c[H>>2]=kn(63849)|0;if(c[H>>2]|0){b=23;break}c[p>>2]=Vl((c[(c[I>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[p>>2]|0)!=0|(a[s>>0]|0)!=0){if((c[p>>2]|0)>>>0>((((c[(c[D>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){b=28;break b}do if(d[s>>0]|0){if((c[G>>2]|0)!=(c[r>>2]|0)){if((c[r>>2]|0)>>>0>=(c[G>>2]|0)>>>0)break;if((d[m>>0]|0)!=2)break}c[c[F>>2]>>2]=c[r>>2];c[c[E>>2]>>2]=c[I>>2];a[s>>0]=0;c[H>>2]=Jn(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;do if(!(c[p>>2]|0)){if(!(c[J>>2]|0)){h=(c[(c[n>>2]|0)+56>>2]|0)+32|0;k=c[(c[I>>2]|0)+56>>2]|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0;break}c[H>>2]=Jn(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;h=c[(c[J>>2]|0)+56>>2]|0;k=c[(c[I>>2]|0)+56>>2]|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0}else{c[v>>2]=Vl((c[(c[I>>2]|0)+56>>2]|0)+8|0)|0;if((c[v>>2]|0)>>>0>(c[q>>2]|0)>>>0){b=40;break b}c[H>>2]=oq(c[D>>2]|0,c[v>>2]|0,u,0)|0;if(c[H>>2]|0)break a;c[H>>2]=Jn(c[(c[u>>2]|0)+72>>2]|0)|0;e=c[u>>2]|0;if(c[H>>2]|0){b=43;break b}h=c[e+56>>2]|0;k=c[(c[I>>2]|0)+56>>2]|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0;Nn((c[(c[u>>2]|0)+56>>2]|0)+4|0,(c[p>>2]|0)-1|0);h0((c[(c[u>>2]|0)+56>>2]|0)+8|0,(c[(c[I>>2]|0)+56>>2]|0)+12|0,(c[p>>2]|0)-1<<2|0)|0;cq(c[u>>2]|0);if(!(c[J>>2]|0)){Nn((c[(c[n>>2]|0)+56>>2]|0)+32|0,c[v>>2]|0);break}c[H>>2]=Jn(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;Nn(c[(c[J>>2]|0)+56>>2]|0,c[v>>2]|0)}while(0);c[I>>2]=0;break c}while(0);if((c[p>>2]|0)>>>0>0){c[y>>2]=c[(c[I>>2]|0)+56>>2];h=(c[G>>2]|0)>>>0>0;c[w>>2]=0;d:do if(h)if((d[m>>0]|0)==2){c[z>>2]=0;while(1){if((c[z>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break d;c[x>>2]=Vl((c[y>>2]|0)+(8+(c[z>>2]<<2))|0)|0;b=c[z>>2]|0;if((c[x>>2]|0)>>>0<=(c[G>>2]|0)>>>0)break;c[z>>2]=b+1}c[w>>2]=b;break}else{h=Vl((c[y>>2]|0)+8|0)|0;c[A>>2]=pq(h-(c[G>>2]|0)|0)|0;c[z>>2]=1;while(1){if((c[z>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break d;h=Vl((c[y>>2]|0)+(8+(c[z>>2]<<2))|0)|0;c[B>>2]=pq(h-(c[G>>2]|0)|0)|0;if((c[B>>2]|0)<(c[A>>2]|0)){c[w>>2]=c[z>>2];c[A>>2]=c[B>>2]}c[z>>2]=(c[z>>2]|0)+1}}while(0);c[x>>2]=Vl((c[y>>2]|0)+(8+(c[w>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[q>>2]|0)>>>0){b=63;break b}if(a[s>>0]|0?(c[x>>2]|0)!=(c[G>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[G>>2]|0)>>>0)break;if((d[m>>0]|0)!=2)break}c[c[F>>2]>>2]=c[x>>2];c[H>>2]=Jn(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;if((c[w>>2]|0)>>>0<((c[p>>2]|0)-1|0)>>>0){h=(c[y>>2]|0)+(8+(c[w>>2]<<2))|0;k=(c[y>>2]|0)+(4+(c[p>>2]<<2))|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0}Nn((c[y>>2]|0)+4|0,(c[p>>2]|0)-1|0);h=(qq(c[D>>2]|0,c[c[F>>2]>>2]|0)|0)!=0^1;c[C>>2]=h?1:0;c[H>>2]=oq(c[D>>2]|0,c[c[F>>2]>>2]|0,c[E>>2]|0,c[C>>2]|0)|0;do if(!(c[H>>2]|0)){c[H>>2]=Jn(c[(c[c[E>>2]>>2]|0)+72>>2]|0)|0;if(!(c[H>>2]|0))break;cq(c[c[E>>2]>>2]|0);c[c[E>>2]>>2]=0}while(0);a[s>>0]=0}}else{c[H>>2]=Jn(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;c[c[F>>2]>>2]=c[r>>2];h=(c[(c[n>>2]|0)+56>>2]|0)+32|0;k=c[(c[I>>2]|0)+56>>2]|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0;c[c[E>>2]>>2]=c[I>>2];c[I>>2]=0}while(0);cq(c[J>>2]|0);c[J>>2]=0;if(!(a[s>>0]|0))break a}if((b|0)==23){c[I>>2]=0;break}else if((b|0)==28){c[H>>2]=kn(63878)|0;break}else if((b|0)==40){c[H>>2]=kn(63912)|0;break}else if((b|0)==43){cq(e);break}else if((b|0)==63){c[H>>2]=kn(63977)|0;break}}else{c[j>>2]=0==(d[(c[D>>2]|0)+19>>0]|0)?1:0;c[H>>2]=Jn(c[(c[(c[D>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}G=(c[D>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[D>>2]|0)+44>>2]|0)==((((c[482]|0)>>>0)/((c[(c[D>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[D>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if(d[(c[D>>2]|0)+17>>0]|0?(G=Yp(c[D>>2]|0,c[(c[D>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[D>>2]|0)+44>>2]|0)):0){c[k>>2]=0;c[H>>2]=oq(c[D>>2]|0,c[(c[D>>2]|0)+44>>2]|0,k,c[j>>2]|0)|0;if(!(c[H>>2]|0)){c[H>>2]=Jn(c[(c[k>>2]|0)+72>>2]|0)|0;cq(c[k>>2]|0)}if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}else{G=(c[D>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[D>>2]|0)+44>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[D>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[D>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);Nn((c[(c[(c[D>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[D>>2]|0)+44>>2]|0);c[c[F>>2]>>2]=c[(c[D>>2]|0)+44>>2];c[H>>2]=oq(c[D>>2]|0,c[c[F>>2]>>2]|0,c[E>>2]|0,c[j>>2]|0)|0;if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}else{c[H>>2]=Jn(c[(c[c[E>>2]>>2]|0)+72>>2]|0)|0;if(!(c[H>>2]|0))break;cq(c[c[E>>2]>>2]|0);c[c[E>>2]>>2]=0;break}}while(0);cq(c[I>>2]|0);cq(c[J>>2]|0);c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}function cq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}nq(c[b>>2]|0);l=d;return}function dq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;n=m+8|0;k=m+4|0;f=m;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[n>>2]=e;c[k>>2]=gn(c[c[h>>2]>>2]|0,c[i>>2]|0,f,c[n>>2]|0)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];n=c[g>>2]|0;l=m;return n|0}else{n=mq(c[f>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=n;c[g>>2]=0;n=c[g>>2]|0;l=m;return n|0}return 0}function eq(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=l;l=l+48|0;s=v+40|0;t=v+36|0;k=v+32|0;u=v+44|0;n=v+28|0;o=v+24|0;w=v+20|0;p=v+16|0;q=v+12|0;x=v+8|0;r=v+4|0;j=v;c[t>>2]=b;c[k>>2]=e;a[u>>0]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=i;c[q>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[t>>2]>>2];c[r>>2]=fq(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[o>>2]|0,c[w>>2]|0)|0;if(c[r>>2]|0){c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[o>>2];if((d[u>>0]|0|0)!=5?(d[u>>0]|0|0)!=1:0){c[j>>2]=Vl(c[(c[k>>2]|0)+56>>2]|0)|0;if(c[j>>2]|0?(hq(c[t>>2]|0,c[j>>2]|0,4,c[o>>2]|0,r),c[r>>2]|0):0){c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}}else m=5;if((m|0)==5?(c[r>>2]=gq(c[k>>2]|0)|0,c[r>>2]|0):0){c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}do if((d[u>>0]|0|0)!=1){c[r>>2]=dq(c[t>>2]|0,c[n>>2]|0,p,0)|0;if(c[r>>2]|0){c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}c[r>>2]=Jn(c[(c[p>>2]|0)+72>>2]|0)|0;b=c[p>>2]|0;if(c[r>>2]|0){cq(b);c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}else{c[r>>2]=iq(b,c[q>>2]|0,c[o>>2]|0,a[u>>0]|0)|0;cq(c[p>>2]|0);if(c[r>>2]|0)break;hq(c[t>>2]|0,c[o>>2]|0,a[u>>0]|0,c[n>>2]|0,r);break}}while(0);c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}function fq(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;p=u+36|0;q=u+32|0;r=u+28|0;s=u+24|0;j=u+20|0;t=u+16|0;k=u+12|0;m=u+8|0;n=u+4|0;o=u;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[j>>2]=i;c[k>>2]=0;if(a[(c[q>>2]|0)+13>>0]|0?(c[m>>2]=Jn(c[r>>2]|0)|0,c[m>>2]|0):0){c[p>>2]=c[m>>2];t=c[p>>2]|0;l=u;return t|0}if(e[(c[r>>2]|0)+24>>1]&2|0?(i=Sn(c[r>>2]|0)|0,c[m>>2]=i,0!=(i|0)):0){c[p>>2]=c[m>>2];t=c[p>>2]|0;l=u;return t|0}if(!(c[j>>2]|0?1:(e[(c[r>>2]|0)+24>>1]&8|0)==0))c[k>>2]=c[(c[r>>2]|0)+20>>2];j=(c[r>>2]|0)+24|0;b[j>>1]=e[j>>1]&-9;c[t>>2]=en(c[q>>2]|0,c[s>>2]|0)|0;do if(c[t>>2]|0){f=(c[r>>2]|0)+24|0;b[f>>1]=e[f>>1]|e[(c[t>>2]|0)+24>>1]&8;f=c[t>>2]|0;if(a[(c[q>>2]|0)+13>>0]|0){kq(f,(c[(c[q>>2]|0)+28>>2]|0)+1|0);break}else{un(f);break}}while(0);c[n>>2]=c[(c[r>>2]|0)+20>>2];kq(c[r>>2]|0,c[s>>2]|0);hn(c[r>>2]|0);if(c[t>>2]|0?(d[(c[q>>2]|0)+13>>0]|0)!=0:0){kq(c[t>>2]|0,c[n>>2]|0);Pn(c[t>>2]|0)}do if(c[k>>2]|0){c[m>>2]=gn(c[q>>2]|0,c[k>>2]|0,o,0)|0;if(!(c[m>>2]|0)){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|8;hn(c[o>>2]|0);Pn(c[o>>2]|0);break}if((c[k>>2]|0)>>>0<=(c[(c[q>>2]|0)+32>>2]|0)>>>0)lq(c[(c[q>>2]|0)+60>>2]|0,c[k>>2]|0,c[(c[q>>2]|0)+208>>2]|0);c[p>>2]=c[m>>2];t=c[p>>2]|0;l=u;return t|0}while(0);c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}function gq(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;f=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;k=q+16|0;m=q+36|0;n=q+12|0;o=q+8|0;p=q+4|0;g=q;c[f>>2]=b;c[k>>2]=c[(c[f>>2]|0)+52>>2];a[m>>0]=a[c[f>>2]>>0]|0;c[n>>2]=c[(c[f>>2]|0)+84>>2];c[j>>2]=qp(c[f>>2]|0)|0;if(c[j>>2]|0){o=a[m>>0]|0;p=c[f>>2]|0;a[p>>0]=o;p=c[j>>2]|0;l=q;return p|0}c[i>>2]=e[(c[f>>2]|0)+18>>1];c[h>>2]=0;while(1){b=c[f>>2]|0;if((c[h>>2]|0)>=(c[i>>2]|0))break;c[o>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]));jq(c[f>>2]|0,c[o>>2]|0,j);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[p>>2]=Vl(c[o>>2]|0)|0;hq(c[k>>2]|0,c[p>>2]|0,5,c[n>>2]|0,j)}c[h>>2]=(c[h>>2]|0)+1}if(a[b+4>>0]|0){o=a[m>>0]|0;p=c[f>>2]|0;a[p>>0]=o;p=c[j>>2]|0;l=q;return p|0}c[g>>2]=Vl((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;hq(c[k>>2]|0,c[g>>2]|0,5,c[n>>2]|0,j);o=a[m>>0]|0;p=c[f>>2]|0;a[p>>0]=o;p=c[j>>2]|0;l=q;return p|0}function hq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+32|0;p=t+28|0;q=t+36|0;r=t+24|0;s=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[o>>2]=b;c[p>>2]=e;a[q>>0]=f;c[r>>2]=g;c[s>>2]=h;if(c[c[s>>2]>>2]|0){l=t;return}if(!(c[p>>2]|0)){r=kn(59184)|0;c[c[s>>2]>>2]=r;l=t;return}c[k>>2]=Yp(c[o>>2]|0,c[p>>2]|0)|0;c[n>>2]=gn(c[c[o>>2]>>2]|0,c[k>>2]|0,i,0)|0;if(c[n>>2]|0){c[c[s>>2]>>2]=c[n>>2];l=t;return}c[m>>2]=((c[p>>2]|0)-(c[k>>2]|0)-1|0)*5;do if((c[m>>2]|0)>=0){c[j>>2]=Kn(c[i>>2]|0)|0;if((d[q>>0]|0|0)==(d[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0|0)?(p=Vl((c[j>>2]|0)+((c[m>>2]|0)+1)|0)|0,(p|0)==(c[r>>2]|0)):0)break;p=Jn(c[i>>2]|0)|0;c[n>>2]=p;c[c[s>>2]>>2]=p;if(!(c[n>>2]|0)){a[(c[j>>2]|0)+(c[m>>2]|0)>>0]=a[q>>0]|0;Nn((c[j>>2]|0)+((c[m>>2]|0)+1)|0,c[r>>2]|0)}}else{r=kn(59195)|0;c[c[s>>2]>>2]=r}while(0);On(c[i>>2]|0);l=t;return}function iq(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;o=v+52|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+57|0;t=v+56|0;i=v+36|0;j=v+32|0;k=v+28|0;m=v+24|0;n=v;c[p>>2]=b;c[q>>2]=f;c[r>>2]=g;a[s>>0]=h;b=c[p>>2]|0;do if((d[s>>0]|0|0)==4){u=Vl(c[b+56>>2]|0)|0;if((u|0)==(c[q>>2]|0)){Nn(c[(c[p>>2]|0)+56>>2]|0,c[r>>2]|0);break}c[o>>2]=kn(61581)|0;u=c[o>>2]|0;l=v;return u|0}else{a[t>>0]=a[b>>0]|0;c[k>>2]=qp(c[p>>2]|0)|0;if(c[k>>2]|0){c[o>>2]=c[k>>2];u=c[o>>2]|0;l=v;return u|0}c[j>>2]=e[(c[p>>2]|0)+18>>1];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[(c[p>>2]|0)+56>>2]|0)+((e[(c[p>>2]|0)+20>>1]|0)&((d[(c[(c[p>>2]|0)+64>>2]|0)+(c[i>>2]<<1)>>0]|0)<<8|(d[(c[(c[p>>2]|0)+64>>2]|0)+(c[i>>2]<<1)+1>>0]|0)));if((d[s>>0]|0|0)==3){Ib[c[(c[p>>2]|0)+80>>2]&255](c[p>>2]|0,c[m>>2]|0,n);if(((e[n+16>>1]|0)>>>0<(c[n+12>>2]|0)>>>0?((c[m>>2]|0)+(e[n+18>>1]|0)+-1|0)>>>0<=((c[(c[p>>2]|0)+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]|0)|0)>>>0:0)?(k=c[q>>2]|0,(k|0)==(Vl((c[m>>2]|0)+(e[n+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{k=Vl(c[m>>2]|0)|0;if((k|0)==(c[q>>2]|0)){u=15;break}}c[i>>2]=(c[i>>2]|0)+1}if((u|0)==13)Nn((c[m>>2]|0)+(e[n+18>>1]|0)+-4|0,c[r>>2]|0);else if((u|0)==15)Nn(c[m>>2]|0,c[r>>2]|0);do if((c[i>>2]|0)==(c[j>>2]|0)){if((d[s>>0]|0|0)==5?(u=Vl((c[(c[p>>2]|0)+56>>2]|0)+((d[(c[p>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[q>>2]|0)):0){Nn((c[(c[p>>2]|0)+56>>2]|0)+((d[(c[p>>2]|0)+5>>0]|0)+8)|0,c[r>>2]|0);break}c[o>>2]=kn(61617)|0;u=c[o>>2]|0;l=v;return u|0}while(0);a[c[p>>2]>>0]=a[t>>0]|0}while(0);c[o>>2]=0;u=c[o>>2]|0;l=v;return u|0}function jq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;f=k+36|0;g=k+32|0;h=k+28|0;i=k;j=k+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){l=k;return}Ib[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,i);if((e[i+16>>1]|0)>>>0>=(c[i+12>>2]|0)>>>0){l=k;return}c[j>>2]=Vl((c[g>>2]|0)+((e[i+18>>1]|0)-4)|0)|0;hq(c[(c[f>>2]|0)+52>>2]|0,c[j>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);l=k;return}function kq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];Ob[c[152>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){l=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){l=f;return}Il(c[d>>2]|0,3);l=f;return}function lq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;if(!(c[g>>2]|0)){l=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[j>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[j>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){l=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));l=p;return}c[m>>2]=c[i>>2];h0(c[m>>2]|0,(c[g>>2]|0)+12|0,500)|0;m0((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=125)break;if(c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]|0?(c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[n>>2]=(((c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[n>>2]<<2)>>2]|0))break;o=(c[n>>2]|0)+1|0;c[n>>2]=o;c[n>>2]=(c[n>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[n>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]}c[k>>2]=(c[k>>2]|0)+1}l=p;return}function mq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=Ln(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[i>>2]|0)+84>>2]|0)){i=c[i>>2]|0;l=j;return i|0}e=Kn(c[f>>2]|0)|0;c[(c[i>>2]|0)+56>>2]=e;c[(c[i>>2]|0)+72>>2]=c[f>>2];c[(c[i>>2]|0)+52>>2]=c[h>>2];c[(c[i>>2]|0)+84>>2]=c[g>>2];a[(c[i>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;i=c[i>>2]|0;l=j;return i|0}function nq(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Pn(c[(c[d>>2]|0)+72>>2]|0);l=b;return}function oq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;g=j+20|0;n=j+16|0;m=j+12|0;h=j+8|0;k=j+4|0;i=j;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[k>>2]=f;c[i>>2]=dq(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;b=c[h>>2]|0;do if(!(c[i>>2]|0)){n=(pp(c[(c[b>>2]|0)+72>>2]|0)|0)>1;b=c[c[h>>2]>>2]|0;if(!n){a[b>>0]=0;break}cq(b);c[c[h>>2]>>2]=0;c[g>>2]=kn(60316)|0;n=c[g>>2]|0;l=j;return n|0}else c[b>>2]=0;while(0);c[g>>2]=c[i>>2];n=c[g>>2]|0;l=j;return n|0}function pq(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);l=e;return c[b>>2]|0}function qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;l=f;return g|0}g=c[d>>2]|0;if(g>>>0>(rq(c[e>>2]|0)|0)>>>0){g=1;g=g&1;l=f;return g|0}g=(bn(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;l=f;return g|0}function rq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function sq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){uq(c[f>>2]|0);break}c[j>>2]=tq(c[f>>2]|0)|0;if(c[j>>2]|0){a=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){a=11;break}}if((a|0)==8){c[i>>2]=c[j>>2];j=c[i>>2]|0;l=k;return j|0}else if((a|0)==11){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}return 0}function tq(b){b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=vq(c[e>>2]|0)|0;if(!(c[f>>2]|0)){uq(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;l=g;return c[f>>2]|0}function uq(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){b=c[d>>2]|0;if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;cq(c[b+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[b+68>>0]=-1;l=f;return}function vq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;f=g+4|0;d=g;c[e>>2]=b;c[f>>2]=0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+69>>0]|0){d=wq(b)|0;e=(c[e>>2]|0)+40|0;c[e>>2]=d;c[e+4>>2]=D;f=c[f>>2]|0;l=g;return f|0}h=xq(b)|0;b=(c[e>>2]|0)+40|0;c[b>>2]=h;c[b+4>>2]=0;b=(c[e>>2]|0)+40|0;c[d>>2]=Fd(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[d>>2]|0)){c[f>>2]=7;h=c[f>>2]|0;l=g;return h|0}c[f>>2]=yq(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[d>>2]|0)|0;b=c[d>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=b;h=c[f>>2]|0;l=g;return h|0}else{_d(b);h=c[f>>2]|0;l=g;return h|0}return 0}function wq(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Aq(c[d>>2]|0);a=(c[d>>2]|0)+16|0;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function xq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;Aq(c[b>>2]|0);l=d;return c[(c[b>>2]|0)+16+12>>2]|0}function yq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=zq(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;l=f;return e|0}function zq(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+80|0;x=C+68|0;y=C+64|0;z=C+60|0;A=C+56|0;B=C+52|0;j=C+48|0;k=C+44|0;m=C+40|0;n=C+36|0;o=C+32|0;p=C+28|0;q=C+24|0;r=C+20|0;s=C+16|0;t=C+12|0;u=C+8|0;v=C+4|0;w=C;c[y>>2]=b;c[z>>2]=f;c[A>>2]=g;c[B>>2]=h;c[j>>2]=i;c[m>>2]=0;c[n>>2]=0;c[o>>2]=c[(c[y>>2]|0)+120+(a[(c[y>>2]|0)+68>>0]<<2)>>2];c[p>>2]=c[(c[y>>2]|0)+4>>2];Aq(c[y>>2]|0);c[k>>2]=c[(c[y>>2]|0)+16+8>>2];if(((c[k>>2]|0)-(c[(c[o>>2]|0)+56>>2]|0)|0)>>>0>((c[(c[p>>2]|0)+36>>2]|0)-(e[(c[y>>2]|0)+16+16>>1]|0)|0)>>>0){c[x>>2]=kn(62723)|0;B=c[x>>2]|0;l=C;return B|0}if((c[z>>2]|0)>>>0<(e[(c[y>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[A>>2];if(((c[q>>2]|0)+(c[z>>2]|0)|0)>>>0>(e[(c[y>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[y>>2]|0)+16+16>>1]|0)-(c[z>>2]|0);c[m>>2]=Bq((c[k>>2]|0)+(c[z>>2]|0)|0,c[B>>2]|0,c[q>>2]|0,c[j>>2]&1,c[(c[o>>2]|0)+72>>2]|0)|0;c[z>>2]=0;c[B>>2]=(c[B>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[q>>2]|0)}else c[z>>2]=(c[z>>2]|0)-(e[(c[y>>2]|0)+16+16>>1]|0);a:do if((c[m>>2]|0)==0&(c[A>>2]|0)>>>0>0){c[r>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[s>>2]=Vl((c[k>>2]|0)+(e[(c[y>>2]|0)+16+16>>1]|0)|0)|0;if((c[j>>2]|0)!=2?(d[(c[y>>2]|0)+64>>0]&4|0)==0:0){c[t>>2]=(((c[(c[y>>2]|0)+16+12>>2]|0)-(e[(c[y>>2]|0)+16+16>>1]|0)+(c[r>>2]|0)-1|0)>>>0)/((c[r>>2]|0)>>>0)|0;do if((c[t>>2]|0)>(c[(c[y>>2]|0)+56>>2]|0)){c[u>>2]=ge(c[(c[y>>2]|0)+12>>2]|0,c[t>>2]<<1<<2,0)|0;if(!(c[u>>2]|0)){c[m>>2]=7;break}else{c[(c[y>>2]|0)+56>>2]=c[t>>2]<<1;c[(c[y>>2]|0)+12>>2]=c[u>>2];break}}while(0);if(!(c[m>>2]|0)){m0(c[(c[y>>2]|0)+12>>2]|0,0,c[t>>2]<<2|0)|0;i=(c[y>>2]|0)+64|0;a[i>>0]=d[i>>0]|4}}if(d[(c[y>>2]|0)+64>>0]&4|0?c[(c[(c[y>>2]|0)+12>>2]|0)+((((c[z>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0)<<2)>>2]|0:0){c[n>>2]=((c[z>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0;c[s>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+(c[n>>2]<<2)>>2];c[z>>2]=((c[z>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0}while(1){if(!((c[m>>2]|0)==0&(c[A>>2]|0)>>>0>0&(c[s>>2]|0)!=0))break a;if(d[(c[y>>2]|0)+64>>0]&4|0)c[(c[(c[y>>2]|0)+12>>2]|0)+(c[n>>2]<<2)>>2]=c[s>>2];if((c[z>>2]|0)>>>0>=(c[r>>2]|0)>>>0){if(c[(c[(c[y>>2]|0)+12>>2]|0)+((c[n>>2]|0)+1<<2)>>2]|0)c[s>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+((c[n>>2]|0)+1<<2)>>2];else c[m>>2]=Cq(c[p>>2]|0,c[s>>2]|0,0,s)|0;c[z>>2]=(c[z>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[A>>2];if(((c[v>>2]|0)+(c[z>>2]|0)|0)>>>0>(c[r>>2]|0)>>>0)c[v>>2]=(c[r>>2]|0)-(c[z>>2]|0);c[m>>2]=gn(c[c[p>>2]>>2]|0,c[s>>2]|0,w,(c[j>>2]&1|0)==0?2:0)|0;if(!(c[m>>2]|0)){c[k>>2]=Kn(c[w>>2]|0)|0;c[s>>2]=Vl(c[k>>2]|0)|0;c[m>>2]=Bq((c[k>>2]|0)+((c[z>>2]|0)+4)|0,c[B>>2]|0,c[v>>2]|0,c[j>>2]&1,c[w>>2]|0)|0;On(c[w>>2]|0);c[z>>2]=0}c[A>>2]=(c[A>>2]|0)-(c[v>>2]|0);c[B>>2]=(c[B>>2]|0)+(c[v>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if((c[m>>2]|0)==0&(c[A>>2]|0)>>>0>0){c[x>>2]=kn(62880)|0;B=c[x>>2]|0;l=C;return B|0}else{c[x>>2]=c[m>>2];B=c[x>>2]|0;l=C;return B|0}return 0}function Aq(b){b=b|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){l=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;Dq(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);l=h;return}function Bq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;o=n+8|0;g=n+4|0;h=n;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[o>>2]=e;c[g>>2]=f;do if(c[o>>2]|0){c[h>>2]=Jn(c[g>>2]|0)|0;if(!(c[h>>2]|0)){h0(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;break}c[i>>2]=c[h>>2];o=c[i>>2]|0;l=n;return o|0}else h0(c[k>>2]|0,c[j>>2]|0,c[m>>2]|0)|0;while(0);c[i>>2]=0;o=c[i>>2]|0;l=n;return o|0}function Cq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+32|0;m=s+28|0;r=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;q=s+8|0;h=s+4|0;i=s;j=s+36|0;c[k>>2]=b;c[m>>2]=e;c[r>>2]=f;c[n>>2]=g;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;if(a[(c[k>>2]|0)+17>>0]|0){c[i>>2]=(c[m>>2]|0)+1;while(1){g=Yp(c[k>>2]|0,c[i>>2]|0)|0;if((g|0)==(c[i>>2]|0))e=1;else e=(c[i>>2]|0)==((((c[482]|0)>>>0)/((c[(c[k>>2]|0)+32>>2]|0)>>>0)|0)+1|0);b=c[i>>2]|0;if(!e)break;c[i>>2]=b+1}if(((b>>>0<=(Rn(c[k>>2]|0)|0)>>>0?(c[q>>2]=aq(c[k>>2]|0,c[i>>2]|0,j,h)|0,(c[q>>2]|0)==0):0)?(d[j>>0]|0)==4:0)?(c[h>>2]|0)==(c[m>>2]|0):0){c[o>>2]=c[i>>2];c[q>>2]=101}}if((c[q>>2]|0)==0?(c[q>>2]=dq(c[k>>2]|0,c[m>>2]|0,p,(c[r>>2]|0)==0?2:0)|0,(c[q>>2]|0)==0):0)c[o>>2]=Vl(c[(c[p>>2]|0)+56>>2]|0)|0;c[c[n>>2]>>2]=c[o>>2];b=c[p>>2]|0;if(c[r>>2]|0){c[c[r>>2]>>2]=b;p=c[q>>2]|0;p=(p|0)==101;r=c[q>>2]|0;r=p?0:r;l=s;return r|0}else{cq(b);p=c[q>>2]|0;p=(p|0)==101;r=c[q>>2]|0;r=p?0:r;l=s;return r|0}return 0}function Dq(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;j=g+8|0;i=g+4|0;h=g;c[j>>2]=a;c[i>>2]=b;c[h>>2]=f;Ib[c[(c[j>>2]|0)+80>>2]&255](c[j>>2]|0,(c[(c[j>>2]|0)+56>>2]|0)+((e[(c[j>>2]|0)+20>>1]|0)&((d[(c[(c[j>>2]|0)+64>>2]|0)+(c[i>>2]<<1)>>0]|0)<<8|(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[i>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);l=g;return}function Eq(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;l=h;return g|0}if(((d[b+17>>0]|0|0)==2?d[(c[f>>2]|0)+4>>0]|0|0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=im(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=dm(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;l=h;return g|0}function Fq(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;pm(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;l=b;return}function Gq(b){b=b|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+160>>2]|0)>1:0){Hq(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;l=g;return}if(d[(c[e>>2]|0)+8>>0]|0|0?(Iq(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;Jq(c[f>>2]|0);l=g;return}function Hq(d){d=d|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+8|0;f=h+4|0;g=h;c[i>>2]=d;c[f>>2]=c[(c[i>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[i>>2]|0)){l=h;return}c[(c[f>>2]|0)+76>>2]=0;i=(c[f>>2]|0)+22|0;b[i>>1]=(e[i>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}l=h;return}function Iq(a){a=a|0;var d=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+12|0;h=i+8|0;d=i+4|0;f=i;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[d>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[d>>2]>>2]|0))break;c[f>>2]=c[c[d>>2]>>2];a=(c[f>>2]|0)+12|0;if((c[c[f>>2]>>2]|0)!=(c[g>>2]|0)){c[d>>2]=a;continue}c[c[d>>2]>>2]=c[a>>2];if((c[(c[f>>2]|0)+4>>2]|0)==1)continue;_d(c[f>>2]|0)}a=c[h>>2]|0;do if((c[(c[h>>2]|0)+76>>2]|0)!=(c[g>>2]|0))if((c[a+40>>2]|0)==2){d=-65;a=c[h>>2]|0;break}else{l=i;return}else{c[a+76>>2]=0;d=-97;a=c[h>>2]|0}while(0);h=a+22|0;b[h>>1]=(e[h>>1]|0)&d;l=i;return}function Jq(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0|0){l=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){l=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;nq(c[e>>2]|0);l=f;return}function Kq(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;l=e;return d|0}d=Hb[c[d>>2]&255](c[b>>2]|0)|0;l=e;return d|0}function Lq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+4|0;g=h;c[e>>2]=b;c[h+8>>2]=d;c[f>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[f>>2]|0;l=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=gn(c[e>>2]|0,1,g,0)|0;if(!(c[f>>2]|0))c[f>>2]=Jn(c[g>>2]|0)|0;if(!(c[f>>2]|0)){cp(c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1}On(c[g>>2]|0);g=c[f>>2]|0;l=h;return g|0}function Mq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;f=o+36|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+8|0;m=o;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[n>>2]=0;if((c[h>>2]|0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?c[c[(c[g>>2]|0)+68>>2]>>2]|0:0){a[(c[g>>2]|0)+20>>0]=1;c[j>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0))break;c[n>>2]=(c[n>>2]|0)+(a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0);c[j>>2]=(c[j>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=co(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=D}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Yn(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[482]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[i>>2]=e;if((((0==(e|0)?(b=c[(c[g>>2]|0)+68>>2]|0,e=c[h>>2]|0,h=c[j>>2]|0,p=k,p=_$(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Dm(b,e,h,p,D)|0,c[i>>2]=p,0==(p|0)):0)?(h=c[(c[g>>2]|0)+68>>2]|0,e=k,e=_$(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,p=c[j>>2]|0,p=_$(e|0,D|0,p|0,((p|0)<0)<<31>>31|0)|0,p=Yn(h,p,D,c[j>>2]|0)|0,c[i>>2]=p,0==(p|0)):0)?(h=c[(c[g>>2]|0)+68>>2]|0,e=k,e=_$(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,p=c[j>>2]|0,p=_$(e|0,D|0,p|0,((p|0)<0)<<31>>31|0)|0,p=_$(p|0,D|0,4,0)|0,p=Yn(h,p,D,c[n>>2]|0)|0,c[i>>2]=p,0==(p|0)):0)?(n=c[(c[g>>2]|0)+68>>2]|0,k,k=_$(c[k>>2]|0,c[k+4>>2]|0,4,0)|0,p=c[j>>2]|0,p=_$(k|0,D|0,p|0,((p|0)<0)<<31>>31|0)|0,p=_$(p|0,D|0,8,0)|0,p=Dm(n,24914,8,p,D)|0,c[i>>2]=p,0==(p|0)):0){n=(c[j>>2]|0)+20|0;p=(c[g>>2]|0)+80|0;k=p;n=_$(c[k>>2]|0,c[k+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;c[p>>2]=n;c[p+4>>2]=D;p=xl(c[(c[g>>2]|0)+68>>2]|0,m)|0;c[i>>2]=p;if(0==(p|0)?(n=m,k=c[n+4>>2]|0,p=(c[g>>2]|0)+80|0,m=c[p+4>>2]|0,(k|0)>(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0>(c[p>>2]|0)>>>0:0)):0){p=(c[g>>2]|0)+80|0;c[i>>2]=lm(c[(c[g>>2]|0)+68>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}c[f>>2]=c[i>>2];p=c[f>>2]|0;l=o;return p|0}c[f>>2]=c[i>>2];p=c[f>>2]|0;l=o;return p|0}c[f>>2]=0;p=c[f>>2]|0;l=o;return p|0}function Nq(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+64|0;k=j+48|0;d=j+32|0;f=j+16|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[h>>2]=c[k>>2];a=(c[h>>2]|0)+8|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];a=(c[h>>2]|0)+40|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];Rq((c[h>>2]|0)+40|0);$k((c[h>>2]|0)+24|0);c[g>>2]=c[f+8>>2];while(1){if(!(c[g>>2]|0))break;sk(0,c[(c[g>>2]|0)+8>>2]|0);c[g>>2]=c[c[g>>2]>>2]}$k(f);Rq((c[h>>2]|0)+8|0);c[g>>2]=c[d+8>>2];while(1){if(!(c[g>>2]|0))break;c[i>>2]=c[(c[g>>2]|0)+8>>2];tk(0,c[i>>2]|0);c[g>>2]=c[c[g>>2]>>2]}$k(d);$k((c[h>>2]|0)+56|0);c[(c[h>>2]|0)+72>>2]=0;if(!((e[(c[h>>2]|0)+78>>1]|0)&1)){l=j;return}k=(c[h>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1;k=(c[h>>2]|0)+78|0;b[k>>1]=(e[k>>1]|0)&-2;l=j;return}function Oq(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+344>>2];c[(c[b>>2]|0)+344>>2]=0;if(!(c[d>>2]|0)){l=f;return}Qq(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];Dk(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);l=f;return}function Pq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Xd(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){l=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+392|0)){l=g;return}h=(c[b>>2]|0)+392|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Xd(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+392;l=g;return}function Qq(a){a=a|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+144|0;b[f>>1]=b[f>>1]&-2|1;c[d>>2]=c[(c[d>>2]|0)+8>>2]}l=e;return}function Rq(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;l=b;return}function Sq(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[j>>2]=f;if((c[(c[j>>2]|0)+44>>2]|0)>>>0>0){c[i>>2]=0;m=c[i>>2]|0;l=n;return m|0}c[k>>2]=c[(c[j>>2]|0)+12>>2];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[g>>2]=Jn(c[(c[k>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[i>>2]=c[g>>2];m=c[i>>2]|0;l=n;return m|0}else{f=c[m>>2]|0;g=25018;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[m>>2]|0)+16>>0]=(c[(c[j>>2]|0)+32>>2]|0)>>>8;a[(c[m>>2]|0)+17>>0]=(c[(c[j>>2]|0)+32>>2]|0)>>>16;a[(c[m>>2]|0)+18>>0]=1;a[(c[m>>2]|0)+19>>0]=1;a[(c[m>>2]|0)+20>>0]=(c[(c[j>>2]|0)+32>>2]|0)-(c[(c[j>>2]|0)+36>>2]|0);a[(c[m>>2]|0)+21>>0]=64;a[(c[m>>2]|0)+22>>0]=32;a[(c[m>>2]|0)+23>>0]=32;f=(c[m>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));Tq(c[k>>2]|0,13);k=(c[j>>2]|0)+22|0;b[k>>1]=e[k>>1]|0|2;Nn((c[m>>2]|0)+52|0,d[(c[j>>2]|0)+17>>0]|0);Nn((c[m>>2]|0)+64|0,d[(c[j>>2]|0)+18>>0]|0);c[(c[j>>2]|0)+44>>2]=1;a[(c[m>>2]|0)+31>>0]=1;c[i>>2]=0;m=c[i>>2]|0;l=n;return m|0}return 0}function Tq(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+12|0;i=o+8|0;j=o+4|0;k=o;m=o+18|0;n=o+16|0;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[h>>2]|0)+56>>2];c[k>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[k>>2]|0)+22>>1]|0)&4|0)m0((c[j>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[k>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[j>>2]|0)+(d[m>>0]|0)>>0]=c[i>>2];b[n>>1]=(d[m>>0]|0)+((c[i>>2]&8|0)==0?12:8);g=(c[j>>2]|0)+((d[m>>0]|0)+1)|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;a[(c[j>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[j>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[k>>2]|0)+36>>2]|0)>>>8;a[(c[j>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[k>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[k>>2]|0)+36>>2]|0)-(e[n>>1]|0);rp(c[h>>2]|0,c[i>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[n>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[j>>2]|0)+(c[(c[k>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[j>>2]|0)+(e[n>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[k>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;l=o;return}function Uq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[b>>2]|0)+96|0}function Vq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+108>>2]|0}function Wq(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;i=q+16|0;j=q+12|0;k=q+8|0;m=q+20|0;n=q+4|0;o=q;c[j>>2]=f;c[k>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[j>>2]|0)+4>>2];if(!(a[(c[j>>2]|0)+9>>0]|0)){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[j>>2]|0)?e[(c[n>>2]|0)+22>>1]&32|0:0){c[i>>2]=262;p=c[i>>2]|0;l=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[j>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[i>>2]=262;p=c[i>>2]|0;l=q;return p|0}function Xq(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;n=r+40|0;o=r+36|0;i=r+32|0;p=r+28|0;q=r+24|0;j=r+20|0;k=r+12|0;m=r+8|0;g=r+4|0;h=r;c[o>>2]=f;c[j>>2]=0;c[i>>2]=br(c[c[o>>2]>>2]|0)|0;if(c[i>>2]|0){c[n>>2]=c[i>>2];q=c[n>>2]|0;l=r;return q|0}c[i>>2]=dq(c[o>>2]|0,1,p,0)|0;if(c[i>>2]|0){c[n>>2]=c[i>>2];q=c[n>>2]|0;l=r;return q|0}f=Vl((c[(c[p>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[q>>2]=f;Qp(c[c[o>>2]>>2]|0,j);if(!((c[q>>2]|0)!=0?!(H_((c[(c[p>>2]|0)+56>>2]|0)+24|0,(c[(c[p>>2]|0)+56>>2]|0)+92|0,4)|0):0))c[q>>2]=c[j>>2];a:do if((c[q>>2]|0)>0){c[g>>2]=c[(c[p>>2]|0)+56>>2];c[i>>2]=26;b:do if(!(H_(c[g>>2]|0,25018,16)|0)){if((d[(c[g>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[g>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[g>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[h>>2]=0;c[i>>2]=cr(c[c[o>>2]>>2]|0,h)|0;if(c[i>>2]|0)break b;if(c[h>>2]|0){c[i>>2]=26;break}cq(c[p>>2]|0);c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}while(0);if((H_((c[g>>2]|0)+21|0,25034,3)|0)==0?(c[k>>2]=(d[(c[g>>2]|0)+16>>0]|0)<<8|(d[(c[g>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[g>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){cq(c[p>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];ul(c[o>>2]|0);c[i>>2]=vl(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[i>>2];q=c[n>>2]|0;l=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[q>>2]|0)>(c[j>>2]|0):0){c[i>>2]=kn(61191)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(Vl((c[g>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(Vl((c[g>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);cq(c[p>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[i>>2];q=c[n>>2]|0;l=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;f=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)g=127;else{g=b[f+24>>1]&255;f=c[o>>2]|0}a[f+21>>0]=g;c[(c[o>>2]|0)+12>>2]=c[p>>2];c[(c[o>>2]|0)+44>>2]=c[q>>2];c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}function Yq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+12|0;j=m+8|0;g=m+4|0;k=m;c[i>>2]=b;c[j>>2]=e;c[g>>2]=f;c[k>>2]=0;if(c[(c[i>>2]|0)+44>>2]|0){c[h>>2]=c[(c[i>>2]|0)+44>>2];k=c[h>>2]|0;l=m;return k|0}a[(c[i>>2]|0)+22>>0]=c[g>>2];if((d[(c[i>>2]|0)+17>>0]|0|0)==1){g=(tm(c[i>>2]|0)|0)!=0;b=c[i>>2]|0;if(!g){c[k>>2]=gp(b,2)|0;if((c[k>>2]|0)==0&(c[j>>2]|0)!=0)c[k>>2]=fp(c[i>>2]|0,4)|0}else{do if(d[b+4>>0]|0|0?xm(c[(c[i>>2]|0)+216>>2]|0,-1)|0:0){c[k>>2]=gp(c[i>>2]|0,4)|0;if(!(c[k>>2]|0)){xm(c[(c[i>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[k>>2];k=c[h>>2]|0;l=m;return k|0}while(0);c[k>>2]=ar(c[(c[i>>2]|0)+216>>2]|0)|0}if(!(c[k>>2]|0)){a[(c[i>>2]|0)+17>>0]=2;c[(c[i>>2]|0)+40>>2]=c[(c[i>>2]|0)+28>>2];c[(c[i>>2]|0)+36>>2]=c[(c[i>>2]|0)+28>>2];c[(c[i>>2]|0)+32>>2]=c[(c[i>>2]|0)+28>>2];j=(c[i>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0}}c[h>>2]=c[k>>2];k=c[h>>2]|0;l=m;return k|0}function Zq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?d[(c[f>>2]|0)+6>>0]|0|0:0){c[e>>2]=_q(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;l=h;return g|0}c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}function _q(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[j>>2]=0;c[d>>2]=c[(c[e>>2]|0)+104>>2];c[h>>2]=ge(c[(c[e>>2]|0)+100>>2]|0,(c[f>>2]|0)*48|0,0)|0;if(!(c[h>>2]|0)){c[i>>2]=7;j=c[i>>2]|0;l=k;return j|0}m0((c[h>>2]|0)+((c[d>>2]|0)*48|0)|0,0,((c[f>>2]|0)-(c[d>>2]|0)|0)*48|0)|0;c[(c[e>>2]|0)+100>>2]=c[h>>2];c[g>>2]=c[d>>2];while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){a=14;break}c[(c[h>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[e>>2]|0)+28>>2];if(c[c[(c[e>>2]|0)+68>>2]>>2]|0?(d=(c[e>>2]|0)+80|0,b=c[d+4>>2]|0,(b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0):0){d=(c[e>>2]|0)+80|0;a=(c[h>>2]|0)+((c[g>>2]|0)*48|0)|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{a=(c[h>>2]|0)+((c[g>>2]|0)*48|0)|0;b=c[(c[e>>2]|0)+156>>2]|0;d=0}c[a>>2]=b;c[a+4>>2]=d;c[(c[h>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[e>>2]|0)+56>>2];d=Zn(c[(c[e>>2]|0)+28>>2]|0)|0;c[(c[h>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=d;if(!(c[(c[h>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){a=10;break}if(tm(c[e>>2]|0)|0)$q(c[(c[e>>2]|0)+216>>2]|0,(c[h>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[e>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((a|0)==10){c[i>>2]=7;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==14){c[i>>2]=c[j>>2];j=c[i>>2]|0;l=k;return j|0}return 0}function $q(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];l=d;return}function ar(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;l=g;return f|0}c[f>>2]=Ao(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;l=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(H_(b,qo(c[e>>2]|0)|0,48)|0){Em(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;l=g;return f|0}function br(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;n=p+28|0;o=p+24|0;e=p+20|0;f=p+16|0;g=p+12|0;h=p+8|0;i=p+4|0;j=p;m=p+32|0;c[n>>2]=b;c[o>>2]=0;do if(!(tm(c[n>>2]|0)|0)?(d[(c[n>>2]|0)+17>>0]|0)==0:0){c[e>>2]=1;c[o>>2]=fp(c[n>>2]|0,1)|0;if(!(c[o>>2]|0)){if((d[(c[n>>2]|0)+18>>0]|0)<=1)c[o>>2]=hr(c[n>>2]|0,e)|0;if(!(c[o>>2]|0)){if(c[e>>2]|0){if(a[(c[n>>2]|0)+15>>0]|0){c[o>>2]=776;break}c[o>>2]=gp(c[n>>2]|0,4)|0;if(c[o>>2]|0)break;if((((c[c[(c[n>>2]|0)+68>>2]>>2]|0)==0?(c[f>>2]=c[c[n>>2]>>2],c[o>>2]=Sm(c[f>>2]|0,c[(c[n>>2]|0)+180>>2]|0,0,g)|0,(c[o>>2]|0)==0&(c[g>>2]|0)!=0):0)?(c[h>>2]=0,c[i>>2]=2050,c[o>>2]=Om(c[f>>2]|0,c[(c[n>>2]|0)+180>>2]|0,c[(c[n>>2]|0)+68>>2]|0,c[i>>2]|0,h)|0,(c[o>>2]|0)==0):0)?c[h>>2]&1|0:0){c[o>>2]=gf(51483)|0;fm(c[(c[n>>2]|0)+68>>2]|0)}b=c[n>>2]|0;if(c[c[(c[n>>2]|0)+68>>2]>>2]|0){c[o>>2]=cm(b)|0;if(!(c[o>>2]|0)){c[o>>2]=Qm(c[n>>2]|0,((a[(c[n>>2]|0)+13>>0]|0)!=0^1)&1)|0;a[(c[n>>2]|0)+17>>0]=0}}else if(!(a[b+4>>0]|0))ym(c[n>>2]|0,1)|0;if(c[o>>2]|0){dm(c[n>>2]|0,c[o>>2]|0)|0;break}}if((a[(c[n>>2]|0)+13>>0]|0)==0?d[(c[n>>2]|0)+24>>0]|0:0){c[j>>2]=0;c[o>>2]=ir(c[n>>2]|0,j)|0;if(c[o>>2]|0)break;if((c[j>>2]|0)>>>0>0){c[o>>2]=$m(c[(c[n>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[o>>2]|0)!=0&(c[o>>2]|0)!=522)break}else{b=m;e=b+16|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0))}if(H_((c[n>>2]|0)+112|0,m,16)|0)zl(c[n>>2]|0)}c[o>>2]=jr(c[n>>2]|0)|0;k=32}}}else k=32;while(0);if((k|0)==32){if(tm(c[n>>2]|0)|0)c[o>>2]=kr(c[n>>2]|0)|0;if((d[(c[n>>2]|0)+13>>0]|0)==0?((c[o>>2]|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0):0)c[o>>2]=ir(c[n>>2]|0,(c[n>>2]|0)+28|0)|0}b=c[n>>2]|0;if(c[o>>2]|0){bm(b);o=c[o>>2]|0;l=p;return o|0}else{a[b+17>>0]=1;a[(c[n>>2]|0)+24>>0]=1;o=c[o>>2]|0;l=p;return o|0}return 0}function cr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(!(a[(c[f>>2]|0)+13>>0]|0)?!(c[(c[f>>2]|0)+216>>2]|0):0)if(dr(c[f>>2]|0)|0){fm(c[(c[f>>2]|0)+68>>2]|0);c[h>>2]=er(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;i=c[e>>2]|0;l=j;return i|0}else i=7;while(0);if((i|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}function dr(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+64>>2]>>2];if(a[(c[e>>2]|0)+14>>0]|0){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}if(!(d[(c[e>>2]|0)+4>>0]|0))if((c[c[f>>2]>>2]|0)>=2)b=(c[(c[f>>2]|0)+52>>2]|0)!=0;else b=0;else b=1;c[g>>2]=b&1;g=c[g>>2]|0;l=h;return g|0}function er(b){b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=fr(c[e>>2]|0)|0;if(c[f>>2]|0){e=c[e>>2]|0;Cl(e);f=c[f>>2]|0;l=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=gr(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;e=c[e>>2]|0;Cl(e);f=c[f>>2]|0;l=g;return f|0}function fr(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=gp(c[b>>2]|0,4)|0;if(c[d>>2]|0)ym(c[b>>2]|0,1)|0;l=e;return c[d>>2]|0}function gr(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+48|0;t=w+44|0;u=w+40|0;v=w+36|0;k=w+32|0;m=w+28|0;n=w;o=w+24|0;p=w+20|0;q=w+16|0;r=w+12|0;s=w+8|0;c[u>>2]=d;c[v>>2]=e;c[k>>2]=f;c[m>>2]=g;g=n;c[g>>2]=h;c[g+4>>2]=i;c[o>>2]=j;c[c[o>>2]>>2]=0;c[q>>2]=Xg(120+(c[(c[u>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[q>>2]|0)){c[t>>2]=7;v=c[t>>2]|0;l=w;return v|0}c[c[q>>2]>>2]=c[u>>2];c[(c[q>>2]|0)+8>>2]=(c[q>>2]|0)+120;c[(c[q>>2]|0)+4>>2]=c[v>>2];b[(c[q>>2]|0)+40>>1]=-1;h=n;i=c[h+4>>2]|0;j=(c[q>>2]|0)+16|0;c[j>>2]=c[h>>2];c[j+4>>2]=i;c[(c[q>>2]|0)+108>>2]=c[k>>2];a[(c[q>>2]|0)+48>>0]=1;a[(c[q>>2]|0)+49>>0]=1;a[(c[q>>2]|0)+43>>0]=c[m>>2]|0?2:0;c[r>>2]=524294;c[p>>2]=Om(c[u>>2]|0,c[k>>2]|0,c[(c[q>>2]|0)+8>>2]|0,c[r>>2]|0,r)|0;if((c[p>>2]|0)==0?c[r>>2]&1|0:0)a[(c[q>>2]|0)+46>>0]=1;if(c[p>>2]|0){yo(c[q>>2]|0,0);fm(c[(c[q>>2]|0)+8>>2]|0);_d(c[q>>2]|0)}else{c[s>>2]=Ym(c[v>>2]|0)|0;if(c[s>>2]&1024|0)a[(c[q>>2]|0)+48>>0]=0;if(c[s>>2]&4096|0)a[(c[q>>2]|0)+49>>0]=0;c[c[o>>2]>>2]=c[q>>2]}c[t>>2]=c[p>>2];v=c[t>>2]|0;l=w;return v|0}function hr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;h=q+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;f=q;g=q+36|0;c[h>>2]=b;c[i>>2]=e;c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;c[m>>2]=1;c[n>>2]=((c[c[(c[h>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[i>>2]>>2]=0;if(!(c[n>>2]|0))c[k>>2]=Sm(c[j>>2]|0,c[(c[h>>2]|0)+180>>2]|0,0,m)|0;if(!((c[k>>2]|0)==0&(c[m>>2]|0)!=0)){p=c[k>>2]|0;l=q;return p|0}c[o>>2]=0;c[k>>2]=nr(c[(c[h>>2]|0)+64>>2]|0,o)|0;if((c[k>>2]|0)!=0|(c[o>>2]|0)!=0){p=c[k>>2]|0;l=q;return p|0}c[k>>2]=ir(c[h>>2]|0,p)|0;if(c[k>>2]|0){p=c[k>>2]|0;l=q;return p|0}if(!((c[p>>2]|0)!=0|(c[n>>2]|0)!=0)){Ug();if((gp(c[h>>2]|0,2)|0)==0?(om(c[j>>2]|0,c[(c[h>>2]|0)+180>>2]|0,0)|0,(a[(c[h>>2]|0)+4>>0]|0)==0):0)ym(c[h>>2]|0,1)|0;Wg();p=c[k>>2]|0;l=q;return p|0}if(!(c[n>>2]|0)){c[f>>2]=2049;c[k>>2]=Om(c[j>>2]|0,c[(c[h>>2]|0)+180>>2]|0,c[(c[h>>2]|0)+68>>2]|0,c[f>>2]|0,f)|0}if(!(c[k>>2]|0)){a[g>>0]=0;p=$m(c[(c[h>>2]|0)+68>>2]|0,g,1,0,0)|0;c[k>>2]=p;c[k>>2]=(c[k>>2]|0)==522?0:p;if(!(c[n>>2]|0))fm(c[(c[h>>2]|0)+68>>2]|0);c[c[i>>2]>>2]=(d[g>>0]|0)!=0&1;p=c[k>>2]|0;l=q;return p|0}else{if((c[k>>2]|0)!=14){p=c[k>>2]|0;l=q;return p|0}c[c[i>>2]>>2]=1;c[k>>2]=0;p=c[k>>2]|0;l=q;return p|0}return 0}function ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=mr(c[(c[e>>2]|0)+216>>2]|0)|0;do if((c[g>>2]|0)==0?c[c[(c[e>>2]|0)+64>>2]>>2]|0:0){b=h;c[b>>2]=0;c[b+4>>2]=0;c[i>>2]=xl(c[(c[e>>2]|0)+64>>2]|0,h)|0;if(!(c[i>>2]|0)){i=h;h=c[(c[e>>2]|0)+160>>2]|0;h=_$(c[i>>2]|0,c[i+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Z$(h|0,D|0,1,0)|0;i=c[(c[e>>2]|0)+160>>2]|0;i=n0(h|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;c[g>>2]=i;break}c[d>>2]=c[i>>2];i=c[d>>2]|0;l=j;return i|0}while(0);if((c[g>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[g>>2];c[c[f>>2]>>2]=c[g>>2];c[d>>2]=0;i=c[d>>2]|0;l=j;return i|0}function jr(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;f=k;c[h>>2]=b;c[i>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[i>>2]=ir(c[h>>2]|0,f)|0;if(c[i>>2]|0){c[g>>2]=c[i>>2];j=c[g>>2]|0;l=k;return j|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=om(b,e,0)|0;c[i>>2]=f;c[i>>2]=(c[i>>2]|0)==5898?0:f;c[j>>2]=0}else c[i>>2]=Sm(b,e,0,j)|0;if(!(c[i>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[i>>2]=cr(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[i>>2];j=c[g>>2]|0;l=k;return j|0}function kr(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;to(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=lr(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;l=e;return f|0}zl(c[b>>2]|0);f=c[d>>2]|0;l=e;return f|0}function lr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;do{i=c[d>>2]|0;a=c[e>>2]|0;b=(c[g>>2]|0)+1|0;c[g>>2]=b;c[f>>2]=np(i,a,0,b)|0}while((c[f>>2]|0)==-1);l=h;return c[f>>2]|0}function mr(a){a=a|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[e>>2]=a;if(c[e>>2]|0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];e=c[d>>2]|0;l=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;l=f;return e|0}function nr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function or(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];td(c[(c[f>>2]|0)+12>>2]|0);el(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0)td(c[(c[c[e>>2]>>2]|0)+12>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Uq(qk(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}pr(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){ml(c[c[e>>2]>>2]|0,c[g>>2]|0);qr(c[c[e>>2]>>2]|0)}bl(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0)_d(c[e>>2]|0);qr(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}function pr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;g=q+4|0;h=q;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[i>>2]|0)+4>>2];el(c[i>>2]|0);if(!(c[j>>2]|0)){f=_p(c[n>>2]|0,0,0)|0;c[j>>2]=f;c[m>>2]=f;if(c[m>>2]|0)c[k>>2]=0}else c[m>>2]=0;if(c[j>>2]|0?(c[p>>2]=Er(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0)|0,c[p>>2]|0):0)c[m>>2]=c[p>>2];if((d[(c[i>>2]|0)+8>>0]|0|0)!=2){p=c[i>>2]|0;Gq(p);p=c[i>>2]|0;bl(p);p=c[m>>2]|0;l=q;return p|0}c[g>>2]=hm(c[c[n>>2]>>2]|0)|0;if(c[g>>2]|0)c[m>>2]=c[g>>2];if(!(dq(c[n>>2]|0,1,o,0)|0)){c[h>>2]=Vl((c[(c[o>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[h>>2]|0))Qp(c[c[n>>2]>>2]|0,h);c[(c[n>>2]|0)+44>>2]=c[h>>2];cq(c[o>>2]|0)}a[(c[n>>2]|0)+20>>0]=1;Fq(c[n>>2]|0);p=c[i>>2]|0;Gq(p);p=c[i>>2]|0;bl(p);p=c[m>>2]|0;l=q;return p|0}function qr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if((c[(c[d>>2]|0)+84>>2]|0)==1691352191?(rr(c[d>>2]|0)|0)==0:0){sr(c[d>>2]|0,0);tr(c[d>>2]|0);c[f>>2]=0;while(1){b=c[(c[d>>2]|0)+16>>2]|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[g>>2]=b+(c[f>>2]<<4);if(c[(c[g>>2]|0)+4>>2]|0?(ur(c[(c[g>>2]|0)+4>>2]|0)|0,c[(c[g>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[g>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[b+16+12>>2]|0)Nq(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);Oq(c[d>>2]|0);Pq(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+348+8>>2];while(1){if(!(c[e>>2]|0))break;c[i>>2]=c[(c[e>>2]|0)+8>>2];do{vr(c[d>>2]|0,c[i>>2]|0);c[h>>2]=c[(c[i>>2]|0)+8>>2];Xd(c[d>>2]|0,c[i>>2]|0);c[i>>2]=c[h>>2]}while((c[i>>2]|0)!=0);c[e>>2]=c[c[e>>2]>>2]}$k((c[d>>2]|0)+348|0);c[e>>2]=c[(c[d>>2]|0)+364+8>>2];while(1){if(!(c[e>>2]|0))break;c[j>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[j>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)Eb[c[(c[j>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[j>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Xd(c[d>>2]|0,c[j>>2]|0);c[e>>2]=c[c[e>>2]>>2]}$k((c[d>>2]|0)+364|0);c[e>>2]=c[(c[d>>2]|0)+320+8>>2];while(1){if(!(c[e>>2]|0))break;c[k>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0)Eb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);wr(c[d>>2]|0,c[k>>2]|0);Xd(c[d>>2]|0,c[k>>2]|0);c[e>>2]=c[c[e>>2]>>2]}$k((c[d>>2]|0)+320|0);ml(c[d>>2]|0,0);Bk(c[(c[d>>2]|0)+244>>2]|0);c[(c[d>>2]|0)+84>>2]=-1254786768;Xd(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);ud(c[(c[d>>2]|0)+12>>2]|0);c[(c[d>>2]|0)+84>>2]=-1623446221;oe(c[(c[d>>2]|0)+12>>2]|0);if(a[(c[d>>2]|0)+256+6>>0]|0)_d(c[(c[d>>2]|0)+256+32>>2]|0);_d(c[d>>2]|0);l=m;return}ud(c[(c[d>>2]|0)+12>>2]|0);l=m;return}function rr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;l=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){a=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0?Dr(c[e>>2]|0)|0:0){a=7;break}c[d>>2]=(c[d>>2]|0)+1}if((a|0)==7){c[f>>2]=1;f=c[f>>2]|0;l=g;return f|0}else if((a|0)==9){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}return 0}function sr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[i>>2]=0;Ug();pk(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2|0)b=(d[(c[f>>2]|0)+148+5>>0]|0)==0;else b=0;c[j>>2]=b&1;c[h>>2]=0;while(1){b=c[f>>2]|0;if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[b+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(Ar(c[k>>2]|0)|0)c[i>>2]=1;pr(c[k>>2]|0,c[g>>2]|0,((c[j>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}Br(b)|0;Wg();if(c[(c[f>>2]|0)+24>>2]&2|0?(d[(c[f>>2]|0)+148+5>>0]|0)==0:0){Qq(c[f>>2]|0);Np(c[f>>2]|0)}rk(c[f>>2]|0);k=(c[f>>2]|0)+440|0;c[k>>2]=0;c[k+4>>2]=0;k=(c[f>>2]|0)+448|0;c[k>>2]=0;c[k+4>>2]=0;k=(c[f>>2]|0)+24|0;c[k>>2]=c[k>>2]&-33554433;if(!(c[(c[f>>2]|0)+212>>2]|0)){l=m;return}if((c[i>>2]|0)==0?a[(c[f>>2]|0)+67>>0]|0:0){l=m;return}Eb[c[(c[f>>2]|0)+212>>2]&255](c[(c[f>>2]|0)+208>>2]|0);l=m;return}function tr(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+424>>2]|0))break;c[e>>2]=c[b+424>>2];c[(c[d>>2]|0)+424>>2]=c[(c[e>>2]|0)+24>>2];Xd(c[d>>2]|0,c[e>>2]|0)}c[b+432>>2]=0;c[(c[d>>2]|0)+436>>2]=0;a[(c[d>>2]|0)+75>>0]=0;l=f;return}function ur(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];el(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;xr(c[g>>2]|0)|0}pr(c[d>>2]|0,0,0)|0;bl(c[d>>2]|0);if(!(a[(c[d>>2]|0)+9>>0]|0?!(yr(c[e>>2]|0)|0):0)){Wl(c[c[e>>2]>>2]|0)|0;if(c[(c[e>>2]|0)+52>>2]|0?c[(c[e>>2]|0)+48>>2]|0:0)Eb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Xd(0,c[(c[e>>2]|0)+48>>2]|0);ul(c[e>>2]|0);_d(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;_d(g);l=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;_d(g);l=h;return 0}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+24>>2];if(!(c[e>>2]|0)){l=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){l=f;return}Eb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Xd(c[d>>2]|0,c[e>>2]|0);l=f;return}function wr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[h>>2]|0)){l=i;return}e=(c[h>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|2;tk(c[f>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+16>>2]=0;l=i;return}function xr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];if(!(c[e>>2]|0)){l=i;return 0}c[g>>2]=c[(c[d>>2]|0)+4>>2];el(c[e>>2]|0);zr(c[d>>2]|0);a:do if((c[(c[g>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[g>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[g>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[f>>2]=0;while(1){if((c[f>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;cq(c[(c[d>>2]|0)+120+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Jq(c[g>>2]|0);_d(c[(c[d>>2]|0)+12>>2]|0);bl(c[e>>2]|0);l=i;return 0}function yr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[g>>2]=0;c[e>>2]=ie(2)|0;td(c[e>>2]|0);b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[e>>2]|0;ud(f);g=c[g>>2]|0;l=h;return g|0}if((c[13786]|0)!=(c[d>>2]|0)){c[f>>2]=c[13786];while(1){if(c[f>>2]|0)b=(c[(c[f>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[f>>2]|0;if(!b)break;c[f>>2]=c[a+68>>2]}if(a|0)c[(c[f>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[13786]=c[(c[d>>2]|0)+68>>2];oe(c[(c[d>>2]|0)+56>>2]|0);c[g>>2]=1;f=c[e>>2]|0;ud(f);g=c[g>>2]|0;l=h;return g|0}function zr(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;_d(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;l=d;return}function Ar(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){b=0;b=b&1;l=e;return b|0}b=(d[(c[b>>2]|0)+8>>0]|0|0)==2;b=b&1;l=e;return b|0}function Br(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Cr(c[d>>2]|0,68);l=b;return 0}function Cr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+340>>2]|0)){l=k;return}c[g>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+316>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+(c[f>>2]<<2)>>2];c[i>>2]=c[(c[h>>2]|0)+8>>2];if(c[i>>2]|0?(c[j>>2]=c[(c[c[i>>2]>>2]|0)+(c[e>>2]|0)>>2],c[j>>2]|0):0)Hb[c[j>>2]&255](c[i>>2]|0)|0;c[(c[h>>2]|0)+20>>2]=0;Dk(c[h>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Xd(c[d>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+316>>2]=0;l=k;return}function Dr(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function Er(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[k>>2]=0;if(!(c[g>>2]|0)){n=c[k>>2]|0;l=o;return n|0}el(c[g>>2]|0);c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[j>>2]|0))break;do if(c[i>>2]|0?(d[(c[j>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[j>>2]|0)+66>>0]|0)!=1?(d[(c[j>>2]|0)+66>>0]|0)!=2:0)break;c[k>>2]=tq(c[j>>2]|0)|0;if(c[k>>2]|0){n=9;break a}}else n=10;while(0);if((n|0)==10){n=0;zr(c[j>>2]|0);a[(c[j>>2]|0)+66>>0]=4;c[(c[j>>2]|0)+60>>2]=c[h>>2]}c[m>>2]=0;while(1){b=c[j>>2]|0;if((c[m>>2]|0)>(a[(c[j>>2]|0)+68>>0]|0))break;cq(c[b+120+(c[m>>2]<<2)>>2]|0);c[(c[j>>2]|0)+120+(c[m>>2]<<2)>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[j>>2]=c[b+8>>2]}if((n|0)==9)Er(c[g>>2]|0,c[k>>2]|0,0)|0;bl(c[g>>2]|0);n=c[k>>2]|0;l=o;return n|0}function Fr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;if(!(c[d>>2]|0))c[e>>2]=0;else{c[f>>2]=c[d>>2];c[g>>2]=c[c[f>>2]>>2];if(Gr(c[f>>2]|0)|0){c[b>>2]=qd(75223)|0;g=c[b>>2]|0;l=h;return g|0}td(c[(c[g>>2]|0)+12>>2]|0);d=(c[f>>2]|0)+128|0;a=c[d+4>>2]|0;if((a|0)>0|(a|0)==0&(c[d>>2]|0)>>>0>0)Hr(c[g>>2]|0,c[f>>2]|0);c[e>>2]=Ir(c[f>>2]|0)|0;c[e>>2]=Jr(c[g>>2]|0,c[e>>2]|0)|0;qr(c[g>>2]|0)}c[b>>2]=c[e>>2];g=c[b>>2]|0;l=h;return g|0}function Gr(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){xd(21,25132,d);c[b>>2]=1;e=c[b>>2]|0;l=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;l=d;return e|0}return 0}function Hr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;e=h+20|0;f=h+16|0;i=h+8|0;g=h;c[e>>2]=a;c[f>>2]=b;Pj(c[c[e>>2]>>2]|0,i)|0;b=i;a=(c[f>>2]|0)+128|0;a=Z$(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=r0(a|0,D|0,1e6,0)|0;b=g;c[b>>2]=a;c[b+4>>2]=D;if(c[(c[e>>2]|0)+192>>2]|0){i=g;Ob[c[(c[e>>2]|0)+192>>2]&255](c[(c[e>>2]|0)+196>>2]|0,c[(c[f>>2]|0)+176>>2]|0,c[i>>2]|0,c[i+4>>2]|0)}if(!((d[(c[e>>2]|0)+76>>0]|0)&2)){i=c[f>>2]|0;i=i+128|0;g=i;c[g>>2]=0;i=i+4|0;c[i>>2]=0;l=h;return}Kb[c[(c[e>>2]|0)+184>>2]&255](2,c[(c[e>>2]|0)+188>>2]|0,c[f>>2]|0,g)|0;i=c[f>>2]|0;i=i+128|0;g=i;c[g>>2]=0;i=i+4|0;c[i>>2]=0;l=h;return}function Ir(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+20>>2]|0)!=770837923?(c[(c[b>>2]|0)+20>>2]|0)!=832317811:0))c[d>>2]=Mr(c[b>>2]|0)|0;Nr(c[b>>2]|0);l=e;return c[d>>2]|0}function Jr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+69>>0]|0|0)!=0){c[e>>2]=Kr(c[f>>2]|0)|0;g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];g=c[e>>2]|0;l=h;return g|0}return 0}function Kr(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Lr(c[d>>2]|0);ml(c[d>>2]|0,7);l=b;return 7}function Lr(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+69>>0]|0)){l=f;return}if(c[(c[e>>2]|0)+168>>2]|0){l=f;return}a[(c[e>>2]|0)+69>>0]=0;c[(c[e>>2]|0)+248>>2]=0;e=(c[e>>2]|0)+256|0;c[e>>2]=(c[e>>2]|0)+-1;l=f;return}function Mr(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;d=h+8|0;f=h+4|0;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];Or(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+36>>2]|0)>=0){Pr(a)|0;Xd(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;if((e[(c[d>>2]|0)+144>>1]|0)>>>5&1|0){g=(c[d>>2]|0)+144|0;b[g>>1]=b[g>>1]&-2|1}}else if(c[a+40>>2]|0?b[(c[d>>2]|0)+144>>1]&1|0:0){j=c[f>>2]|0;i=c[(c[d>>2]|0)+40>>2]|0;a=c[(c[d>>2]|0)+108>>2]|0?21240:0;c[g>>2]=c[(c[d>>2]|0)+108>>2];ll(j,i,a,g);Xd(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0}Qr(c[d>>2]|0);j=(c[d>>2]|0)+56|0;c[j>>2]=0;c[j+4>>2]=0;c[(c[d>>2]|0)+20>>2]=1224384374;l=h;return c[(c[d>>2]|0)+40>>2]&c[(c[f>>2]|0)+56>>2]|0}function Nr(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=c[c[b>>2]>>2];uk(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+8>>2]|0;if(c[(c[b>>2]|0)+4>>2]|0)c[(c[(c[b>>2]|0)+4>>2]|0)+8>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0)c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]=c[(c[b>>2]|0)+4>>2];c[(c[b>>2]|0)+20>>2]=1443283912;c[c[b>>2]>>2]=0;Xd(c[d>>2]|0,c[b>>2]|0);l=e;return}function Or(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;j=o+24|0;k=o+20|0;f=o+16|0;m=o+12|0;g=o+8|0;n=o+4|0;h=o;c[k>>2]=b;c[m>>2]=c[c[k>>2]>>2];if(a[(c[m>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+40>>2]=7;Rr(c[k>>2]|0);if((c[(c[k>>2]|0)+20>>2]|0)!=770837923){c[j>>2]=0;n=c[j>>2]|0;l=o;return n|0}if((c[(c[k>>2]|0)+36>>2]|0)>=0?(e[(c[k>>2]|0)+144>>1]|0)>>>8&1|0:0){c[n>>2]=0;Sr(c[k>>2]|0);c[g>>2]=c[(c[k>>2]|0)+40>>2]&255;if((c[g>>2]|0)==7|(c[g>>2]|0)==10|(c[g>>2]|0)==9)b=1;else b=(c[g>>2]|0)==13;c[h>>2]=b&1;do if(c[h>>2]|0?((c[g>>2]|0)!=9?1:((e[(c[k>>2]|0)+144>>1]|0)>>>7&1|0)==0):0){if((c[g>>2]|0)==7|(c[g>>2]|0)==13?(e[(c[k>>2]|0)+144>>1]|0)>>>6&1|0:0){c[n>>2]=2;break}sr(c[m>>2]|0,516);tr(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+44>>2]=0}while(0);if(!(c[(c[k>>2]|0)+40>>2]|0))Tr(c[k>>2]|0,0)|0;if((c[(c[m>>2]|0)+316>>2]|0)>0?(c[(c[m>>2]|0)+340>>2]|0)==0:0)i=36;else if(d[(c[m>>2]|0)+67>>0]|0?(c[(c[m>>2]|0)+164>>2]|0)==(((e[(c[k>>2]|0)+144>>1]|0)>>>7&1|0)==0|0):0){if((c[(c[k>>2]|0)+40>>2]|0)!=0?(c[h>>2]|0?1:(d[(c[k>>2]|0)+142>>0]|0)!=3):0){sr(c[m>>2]|0,0);c[(c[k>>2]|0)+44>>2]=0}else i=23;do if((i|0)==23){c[f>>2]=Tr(c[k>>2]|0,1)|0;do if(c[f>>2]|0){if(!((e[(c[k>>2]|0)+144>>1]|0)>>>7&1)){c[f>>2]=787;break}Ur(c[k>>2]|0);c[j>>2]=1;n=c[j>>2]|0;l=o;return n|0}else c[f>>2]=Vr(c[m>>2]|0,c[k>>2]|0)|0;while(0);if((c[f>>2]|0)==5?(e[(c[k>>2]|0)+144>>1]|0)>>>7&1|0:0){Ur(c[k>>2]|0);c[j>>2]=5;n=c[j>>2]|0;l=o;return n|0}if(c[f>>2]|0){c[(c[k>>2]|0)+40>>2]=c[f>>2];sr(c[m>>2]|0,0);c[(c[k>>2]|0)+44>>2]=0;break}else{h=(c[m>>2]|0)+440|0;c[h>>2]=0;c[h+4>>2]=0;h=(c[m>>2]|0)+448|0;c[h>>2]=0;c[h+4>>2]=0;h=(c[m>>2]|0)+24|0;c[h>>2]=c[h>>2]&-33554433;Wr(c[m>>2]|0);break}}while(0);c[(c[m>>2]|0)+436>>2]=0}else i=36;do if((i|0)==36?(c[n>>2]|0)==0:0){if(c[(c[k>>2]|0)+40>>2]|0?(d[(c[k>>2]|0)+142>>0]|0)!=3:0)if((d[(c[k>>2]|0)+142>>0]|0)==2){c[n>>2]=2;break}else{sr(c[m>>2]|0,516);tr(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+44>>2]=0;break}c[n>>2]=1}while(0);if(c[n>>2]|0?(c[f>>2]=Xr(c[k>>2]|0,c[n>>2]|0)|0,c[f>>2]|0):0){if(!((c[(c[k>>2]|0)+40>>2]|0)!=0?(c[(c[k>>2]|0)+40>>2]&255|0)!=19:0)){c[(c[k>>2]|0)+40>>2]=c[f>>2];Xd(c[m>>2]|0,c[(c[k>>2]|0)+108>>2]|0);c[(c[k>>2]|0)+108>>2]=0}sr(c[m>>2]|0,516);tr(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+44>>2]=0}if((e[(c[k>>2]|0)+144>>1]|0)>>>4&1|0){b=c[m>>2]|0;if((c[n>>2]|0)!=2)Yr(b,c[(c[k>>2]|0)+44>>2]|0);else Yr(b,0);c[(c[k>>2]|0)+44>>2]=0}Ur(c[k>>2]|0)}if((c[(c[k>>2]|0)+36>>2]|0)>=0){n=(c[m>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+-1;if(!((e[(c[k>>2]|0)+144>>1]|0)>>>7&1)){n=(c[m>>2]|0)+164|0;c[n>>2]=(c[n>>2]|0)+-1}if((e[(c[k>>2]|0)+144>>1]|0)>>>8&1|0){n=(c[m>>2]|0)+160|0;c[n>>2]=(c[n>>2]|0)+-1}}c[(c[k>>2]|0)+20>>2]=832317811;if(a[(c[m>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+40>>2]=7;c[j>>2]=(c[(c[k>>2]|0)+40>>2]|0)==5?5:0;n=c[j>>2]|0;l=o;return n|0}function Pr(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+40>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+108>>2]|0)){ml(b,c[f>>2]|0);f=c[f>>2]|0;l=g;return f|0}b=b+70|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;Ug();if(!(c[(c[e>>2]|0)+244>>2]|0)){b=Dp(c[e>>2]|0)|0;c[(c[e>>2]|0)+244>>2]=b}Ep(c[(c[e>>2]|0)+244>>2]|0,-1,c[(c[d>>2]|0)+108>>2]|0,1,-1);Wg();d=(c[e>>2]|0)+70|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;l=g;return f|0}function Qr(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Xd(c[e>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;c[(c[d>>2]|0)+104>>2]=0;l=b;return}function Rr(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+184>>2]|0){c[b>>2]=c[(c[d>>2]|0)+184>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}js(a)|0;c[(c[d>>2]|0)+184>>2]=0;c[(c[d>>2]|0)+192>>2]=0}ks(c[d>>2]|0);if(c[(c[d>>2]|0)+92>>2]|0)vk(c[(c[d>>2]|0)+92>>2]|0,c[(c[d>>2]|0)+24>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+188>>2]|0))break;c[e>>2]=c[a+188>>2];c[(c[d>>2]|0)+188>>2]=c[(c[e>>2]|0)+4>>2];ls(c[e>>2]|0)}if(!(c[a+204>>2]|0)){l=f;return}ms(c[c[d>>2]>>2]|0,(c[d>>2]|0)+204|0,-1,0);l=f;return}function Sr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+152>>2]|0)){l=h;return}c[e>>2]=c[c[b>>2]>>2];c[f>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[g>>2]|0))break;if(((c[d>>2]|0)!=1?c[(c[b>>2]|0)+152>>2]&1<>2]|0:0)?c[(c[f>>2]|0)+(c[d>>2]<<4)+4>>2]|0:0)el(c[(c[f>>2]|0)+(c[d>>2]<<4)+4>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=h;return}function Tr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!(c[g>>2]|0?(d=(c[h>>2]|0)+440|0,h=(c[h>>2]|0)+448|0,h=_$(c[d>>2]|0,c[d+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,d=D,(d|0)>0|(d|0)==0&h>>>0>0):0))j=3;do if((j|0)==3){if((c[g>>2]|0)==0?(j=(c[f>>2]|0)+64|0,h=c[j+4>>2]|0,(h|0)>0|(h|0)==0&(c[j>>2]|0)>>>0>0):0)break;c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}while(0);c[(c[f>>2]|0)+40>>2]=787;a[(c[f>>2]|0)+142>>0]=2;is(c[f>>2]|0,25102,i);c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}function Ur(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+152>>2]|0)){l=d;return}hs(c[b>>2]|0);l=d;return}function Vr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0;I=l;l=l+144|0;E=I+32|0;G=I+24|0;F=I+16|0;C=I+8|0;p=I+128|0;w=I+124|0;J=I+120|0;x=I+116|0;y=I+112|0;z=I+108|0;A=I+104|0;B=I+100|0;e=I+96|0;f=I+92|0;g=I+88|0;h=I+84|0;i=I+80|0;j=I+76|0;k=I+72|0;m=I;n=I+68|0;o=I+64|0;q=I+60|0;r=I+56|0;s=I+52|0;t=I+48|0;u=I+44|0;v=I+40|0;c[w>>2]=a;c[J>>2]=b;c[y>>2]=0;c[z>>2]=0;c[A>>2]=0;c[z>>2]=$r(c[w>>2]|0,c[J>>2]|0)|0;c[x>>2]=0;while(1){if(c[z>>2]|0)break;if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[B>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(Ar(c[B>>2]|0)|0){c[A>>2]=1;el(c[B>>2]|0);c[e>>2]=qk(c[B>>2]|0)|0;if((d[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+8>>0]|0|0)!=1?d[25038+(Jp(c[e>>2]|0)|0)>>0]|0|0:0)c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=dp(c[e>>2]|0)|0;bl(c[B>>2]|0)}c[x>>2]=(c[x>>2]|0)+1}if(c[z>>2]|0){c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}if((c[A>>2]|0?c[(c[w>>2]|0)+204>>2]|0:0)?(c[z>>2]=Hb[c[(c[w>>2]|0)+204>>2]&255](c[(c[w>>2]|0)+200>>2]|0)|0,c[z>>2]|0):0){c[p>>2]=531;J=c[p>>2]|0;l=I;return J|0}J=0==(md(as(c[(c[(c[w>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(J|(c[y>>2]|0)<=1){c[x>>2]=0;while(1){if(c[z>>2]|0)break;if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(c[f>>2]|0)c[z>>2]=Vp(c[f>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}c[x>>2]=0;while(1){if(c[z>>2]|0)break;if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[g>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(c[g>>2]|0)c[z>>2]=Up(c[g>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}if(!(c[z>>2]|0))bs(c[w>>2]|0)|0}else{c[h>>2]=c[c[w>>2]>>2];c[i>>2]=0;c[j>>2]=as(c[(c[(c[w>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[k>>2]=0;J=m;c[J>>2]=0;c[J+4>>2]=0;c[o>>2]=0;c[q>>2]=md(c[j>>2]|0)|0;J=c[w>>2]|0;c[C>>2]=c[j>>2];c[i>>2]=Wj(J,25044,C)|0;if(!(c[i>>2]|0)){c[p>>2]=7;J=c[p>>2]|0;l=I;return J|0}do{if(c[o>>2]|0){if((c[o>>2]|0)>100){H=35;break}if((c[o>>2]|0)==1){c[G>>2]=c[i>>2];xd(13,25074,G)}}c[o>>2]=(c[o>>2]|0)+1;sf(4,r);J=(c[i>>2]|0)+(c[q>>2]|0)|0;C=c[r>>2]&255;c[E>>2]=(c[r>>2]|0)>>>8&16777215;c[E+4>>2]=C;ef(13,J,25089,E)|0;c[z>>2]=Sm(c[h>>2]|0,c[i>>2]|0,0,n)|0}while((c[z>>2]|0)==0?(c[n>>2]|0)!=0:0);if((H|0)==35){c[F>>2]=c[i>>2];xd(13,25060,F);om(c[h>>2]|0,c[i>>2]|0,0)|0}if(!(c[z>>2]|0))c[z>>2]=cs(c[h>>2]|0,c[i>>2]|0,k,16406,0)|0;if(c[z>>2]|0){Xd(c[w>>2]|0,c[i>>2]|0);c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((Ar(c[s>>2]|0)|0?(c[t>>2]=ds(c[s>>2]|0)|0,c[t>>2]|0):0)?(E=c[k>>2]|0,F=c[t>>2]|0,J=(md(c[t>>2]|0)|0)+1|0,G=m,c[z>>2]=Dm(E,F,J,c[G>>2]|0,c[G+4>>2]|0)|0,G=(md(c[t>>2]|0)|0)+1|0,J=m,G=_$(c[J>>2]|0,c[J+4>>2]|0,G|0,((G|0)<0)<<31>>31|0)|0,J=m,c[J>>2]=G,c[J+4>>2]=D,c[z>>2]|0):0){H=48;break}c[x>>2]=(c[x>>2]|0)+1}if((H|0)==48){es(c[k>>2]|0);om(c[h>>2]|0,c[i>>2]|0,0)|0;Xd(c[w>>2]|0,c[i>>2]|0);c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}if(0==((Ym(c[k>>2]|0)|0)&1024|0)?(J=mm(c[k>>2]|0,2)|0,c[z>>2]=J,0!=(J|0)):0){es(c[k>>2]|0);om(c[h>>2]|0,c[i>>2]|0,0)|0;Xd(c[w>>2]|0,c[i>>2]|0);c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}c[x>>2]=0;while(1){if(c[z>>2]|0)break;if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[u>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(c[u>>2]|0)c[z>>2]=Vp(c[u>>2]|0,c[i>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}es(c[k>>2]|0);if(c[z>>2]|0){Xd(c[w>>2]|0,c[i>>2]|0);c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}c[z>>2]=om(c[h>>2]|0,c[i>>2]|0,1)|0;Xd(c[w>>2]|0,c[i>>2]|0);c[i>>2]=0;if(c[z>>2]|0){c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}Ug();c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[v>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(c[v>>2]|0)Up(c[v>>2]|0,1)|0;c[x>>2]=(c[x>>2]|0)+1}Wg();bs(c[w>>2]|0)|0}c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}function Wr(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;l=b;return}function Xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;if(!(c[(c[f>>2]|0)+436>>2]|0)){k=c[g>>2]|0;l=m;return k|0}if(!(c[(c[d>>2]|0)+48>>2]|0)){k=c[g>>2]|0;l=m;return k|0}c[i>>2]=(c[(c[d>>2]|0)+48>>2]|0)-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[j>>2]=0;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if((c[e>>2]|0)==2)c[j>>2]=Zr(c[k>>2]|0,2,c[i>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=Zr(c[k>>2]|0,1,c[i>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=c[j>>2]}c[h>>2]=(c[h>>2]|0)+1}k=(c[f>>2]|0)+436|0;c[k>>2]=(c[k>>2]|0)+-1;c[(c[d>>2]|0)+48>>2]=0;if(!(c[g>>2]|0)){if((c[e>>2]|0)==2)c[g>>2]=_r(c[f>>2]|0,2,c[i>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=_r(c[f>>2]|0,1,c[i>>2]|0)|0}if((c[e>>2]|0)!=2){k=c[g>>2]|0;l=m;return k|0}k=(c[d>>2]|0)+72|0;j=c[k+4>>2]|0;i=(c[f>>2]|0)+440|0;c[i>>2]=c[k>>2];c[i+4>>2]=j;i=(c[d>>2]|0)+80|0;j=c[i+4>>2]|0;k=(c[f>>2]|0)+448|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;k=c[g>>2]|0;l=m;return k|0}function Yr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+88>>2]=c[e>>2];b=(c[f>>2]|0)+92|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);l=d;return}function Zr(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[i>>2]=f;c[j>>2]=0;if(!(c[g>>2]|0)){k=c[j>>2]|0;l=m;return k|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){k=c[j>>2]|0;l=m;return k|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];el(c[g>>2]|0);c[j>>2]=Pm(c[c[k>>2]>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(!(c[j>>2]|0)){if((c[i>>2]|0)<0?(e[(c[k>>2]|0)+22>>1]|0)&8|0:0)c[(c[k>>2]|0)+44>>2]=0;c[j>>2]=Sq(c[k>>2]|0)|0;i=Vl((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=i}bl(c[g>>2]|0);k=c[j>>2]|0;l=m;return k|0}function _r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;e=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[(c[f>>2]|0)+340>>2]|0)){m=c[m>>2]|0;l=n;return m|0}c[i>>2]=0;while(1){if(c[m>>2]|0){a=15;break}if((c[i>>2]|0)>=(c[(c[f>>2]|0)+316>>2]|0)){a=15;break}c[j>>2]=c[(c[(c[f>>2]|0)+340>>2]|0)+(c[i>>2]<<2)>>2];c[k>>2]=c[c[(c[j>>2]|0)+4>>2]>>2];if(c[(c[j>>2]|0)+8>>2]|0?(c[c[k>>2]>>2]|0)>=2:0){switch(c[g>>2]|0){case 0:{c[e>>2]=c[(c[k>>2]|0)+80>>2];c[(c[j>>2]|0)+20>>2]=(c[h>>2]|0)+1;break}case 2:{c[e>>2]=c[(c[k>>2]|0)+88>>2];break}default:c[e>>2]=c[(c[k>>2]|0)+84>>2]}if(c[e>>2]|0?(c[(c[j>>2]|0)+20>>2]|0)>(c[h>>2]|0):0)c[m>>2]=Mb[c[e>>2]&255](c[(c[j>>2]|0)+8>>2]|0,c[h>>2]|0)|0}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==15){m=c[m>>2]|0;l=n;return m|0}return 0}function $r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;c[h>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[f>>2]=0;while(1){if(!(c[g>>2]|0))b=(c[f>>2]|0)<(c[(c[d>>2]|0)+316>>2]|0);else b=0;a=c[h>>2]|0;if(!b)break;c[j>>2]=c[(c[a+(c[f>>2]<<2)>>2]|0)+8>>2];if(c[j>>2]|0?(b=c[(c[c[j>>2]>>2]|0)+60>>2]|0,c[i>>2]=b,b|0):0){c[g>>2]=Hb[c[i>>2]&255](c[j>>2]|0)|0;gs(c[e>>2]|0,c[j>>2]|0)}c[f>>2]=(c[f>>2]|0)+1}c[(c[d>>2]|0)+340>>2]=a;l=k;return c[g>>2]|0}function as(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Ml(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;l=b;return a|0}function bs(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Cr(c[d>>2]|0,64);l=b;return 0}function cs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;n=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;g=o;c[h>>2]=a;c[i>>2]=b;c[n>>2]=d;c[j>>2]=e;c[k>>2]=f;f=c[(c[h>>2]|0)+4>>2]|0;c[g>>2]=Xg(f,((f|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){c[m>>2]=7;n=c[m>>2]|0;l=o;return n|0}c[m>>2]=Om(c[h>>2]|0,c[i>>2]|0,c[g>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a=c[g>>2]|0;if(c[m>>2]|0){_d(a);n=c[m>>2]|0;l=o;return n|0}else{c[c[n>>2]>>2]=a;n=c[m>>2]|0;l=o;return n|0}return 0}function ds(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=fs(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;l=b;return a|0}function es(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;fm(c[d>>2]|0);_d(c[d>>2]|0);l=b;return}function fs(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+180>>2]|0}function gs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){l=g;return}c[f>>2]=c[c[d>>2]>>2];Xd(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);f=Xo(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+108>>2]=f;_d(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;l=g;return}function hs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;b=g+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[h>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[h>>2]|0)+16>>2];c[f>>2]=c[(c[h>>2]|0)+20>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[f>>2]|0))break;if(((c[d>>2]|0)!=1?c[(c[b>>2]|0)+152>>2]&1<>2]|0:0)?c[(c[e>>2]|0)+(c[d>>2]<<4)+4>>2]|0:0)bl(c[(c[e>>2]|0)+(c[d>>2]<<4)+4>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=g;return}function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Xd(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+108>>2]|0);c[g>>2]=d;d=Xj(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+108>>2]=d;l=e;return}function js(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];ks(c[e>>2]|0);c[(c[e>>2]|0)+88>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+136>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+24>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+112>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+44>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+44>>2]=c[(c[b>>2]|0)+68>>2];c[(c[c[e>>2]>>2]|0)+88>>2]=c[(c[b>>2]|0)+72>>2];ms(c[c[e>>2]>>2]|0,(c[e>>2]|0)+204|0,-1,0);c[(c[e>>2]|0)+204>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;l=d;return c[(c[b>>2]|0)+48>>2]|0}function ks(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+112>>2]|0)){l=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){ns(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}l=f;return}function ls(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+80;c[f>>2]=(c[e>>2]|0)+((c[(c[b>>2]|0)+60>>2]|0)*40|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+64>>2]|0))break;ns(c[c[b>>2]>>2]|0,c[(c[f>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}vk(c[e>>2]|0,c[(c[b>>2]|0)+60>>2]|0);ms(c[c[c[b>>2]>>2]>>2]|0,(c[b>>2]|0)+40|0,-1,0);Xd(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);l=g;return}function ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;a:while(1){if(!(c[c[g>>2]>>2]|0))break;c[j>>2]=c[c[g>>2]>>2];do if((c[h>>2]|0)>=0){if((c[c[j>>2]>>2]|0)==(c[h>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)>31)break;if(!(c[i>>2]&1<>2]|0)+4>>2]))break}c[g>>2]=(c[j>>2]|0)+16;continue a}while(0);if(c[(c[j>>2]|0)+12>>2]|0)Eb[c[(c[j>>2]|0)+12>>2]&255](c[(c[j>>2]|0)+8>>2]|0);c[c[g>>2]>>2]=c[(c[j>>2]|0)+16>>2];Xd(c[f>>2]|0,c[j>>2]|0)}l=k;return}function ns(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;h=i+8|0;f=i+4|0;g=i;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){l=i;return}switch(d[c[h>>2]>>0]|0|0){case 1:{os(c[c[e>>2]>>2]|0,c[h>>2]|0);l=i;return}case 0:{a=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){ur(c[a+20>>2]|0)|0;l=i;return}else{xr(c[a+16>>2]|0)|0;l=i;return}}case 2:{c[f>>2]=c[(c[h>>2]|0)+16>>2];c[g>>2]=c[c[c[f>>2]>>2]>>2];h=(c[c[f>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;Hb[c[(c[g>>2]|0)+28>>2]&255](c[f>>2]|0)|0;l=i;return}default:{l=i;return}}}function os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){l=g;return}ps(c[d>>2]|0,c[f>>2]|0);_d(c[(c[f>>2]|0)+36+4>>2]|0);Xd(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;l=g;return}function ps(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;qs(c[g>>2]|0,0)|0;if(c[(c[g>>2]|0)+16>>2]|0){rs(c[(c[g>>2]|0)+16>>2]|0);Xd(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0);c[(c[g>>2]|0)+16>>2]=0}ss(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){b=c[g>>2]|0;if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[i>>2]=b+64+((c[h>>2]|0)*72|0);ts(c[f>>2]|0,c[i>>2]|0);c[(c[i>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[b+36+4>>2]|0))us(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Xd(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;l=j;return}function qs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=c[k>>2];c[g>>2]=(d[(c[e>>2]|0)+59>>0]|0)-1;while(1){if((c[g>>2]|0)<0)break;c[h>>2]=(c[e>>2]|0)+64+((c[g>>2]|0)*72|0);c[i>>2]=ws(c[h>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[i>>2];c[g>>2]=(c[g>>2]|0)+-1}l=j;return c[f>>2]|0}function rs(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;_d(c[(c[b>>2]|0)+28>>2]|0);_d(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)on(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;vs(c[(c[b>>2]|0)+48>>2]|0);a=c[b>>2]|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return}function ss(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){d=c[b>>2]|0;_d(d);l=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;rs((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}d=c[b>>2]|0;_d(d);l=e;return}function ts(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Xd(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);a=(c[d>>2]|0)+16|0;if(c[(c[d>>2]|0)+16+4>>2]|0)_d(c[a+4>>2]|0);else us(0,c[a>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)es(c[(c[d>>2]|0)+40>>2]|0);if(!(c[(c[d>>2]|0)+56>>2]|0)){a=c[d>>2]|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=e;return}es(c[(c[d>>2]|0)+56>>2]|0);a=c[d>>2]|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=e;return}function us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Xd(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}l=g;return}function vs(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}if(c[(c[b>>2]|0)+24>>2]|0){ws(c[c[b>>2]>>2]|0)|0;if(c[(c[b>>2]|0)+32>>2]|0)es(c[(c[b>>2]|0)+32>>2]|0);if(c[(c[b>>2]|0)+32+16>>2]|0)es(c[(c[b>>2]|0)+32+16>>2]|0)}ss(c[(c[b>>2]|0)+4>>2]|0);_d(c[b>>2]|0);l=d;return}function ws(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if(!(c[c[b>>2]>>2]|0)){e=c[d>>2]|0;l=f;return e|0}c[e>>2]=1;xs(c[c[b>>2]>>2]|0,e)|0;c[d>>2]=c[e>>2];c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;e=c[d>>2]|0;l=f;return e|0}function xs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=7;g=c[d>>2]|0;l=h;return g|0}a=c[e>>2]|0;if(c[(c[e>>2]|0)+4>>2]|0){c[c[f>>2]>>2]=c[a+8>>2];c[g>>2]=0}else{f=(Na(c[a>>2]|0,c[f>>2]|0)|0)!=0;c[g>>2]=f?1:0}_d(c[e>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}function ys(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}c[e>>2]=c[b>>2];c[f>>2]=c[c[e>>2]>>2];td(c[(c[f>>2]|0)+12>>2]|0);b=(c[e>>2]|0)+128|0;a=c[b+4>>2]|0;if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0)Hr(c[f>>2]|0,c[e>>2]|0);c[d>>2]=Mr(c[e>>2]|0)|0;zs(c[e>>2]|0);c[d>>2]=Jr(c[f>>2]|0,c[d>>2]|0)|0;ud(c[(c[f>>2]|0)+12>>2]|0);f=c[d>>2]|0;l=g;return f|0}function zs(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=770837923;c[(c[e>>2]|0)+36>>2]=-1;c[(c[e>>2]|0)+40>>2]=0;a[(c[e>>2]|0)+142>>0]=2;c[(c[e>>2]|0)+44>>2]=0;c[(c[e>>2]|0)+32>>2]=1;a[(c[e>>2]|0)+143>>0]=-1;c[(c[e>>2]|0)+48>>2]=0;b=(c[e>>2]|0)+64|0;c[b>>2]=0;c[b+4>>2]=0;l=d;return}function As(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+16|0;d=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[f>>2]=0;c[g>>2]=c[j>>2];c[h>>2]=c[(c[c[j>>2]>>2]|0)+12>>2];td(c[h>>2]|0);c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(b[(c[g>>2]|0)+16>>1]|0))break;ei((c[a+116>>2]|0)+((c[d>>2]|0)*40|0)|0);b[(c[(c[g>>2]|0)+116>>2]|0)+((c[d>>2]|0)*40|0)+8>>1]=1;c[d>>2]=(c[d>>2]|0)+1}if(!((e[a+144>>1]|0)>>>9&1)){j=c[h>>2]|0;ud(j);j=c[f>>2]|0;l=i;return j|0}if(!(c[(c[g>>2]|0)+196>>2]|0)){j=c[h>>2]|0;ud(j);j=c[f>>2]|0;l=i;return j|0}j=(c[g>>2]|0)+144|0;b[j>>1]=b[j>>1]&-2|1;j=c[h>>2]|0;ud(j);j=c[f>>2]|0;l=i;return j|0}function Bs(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;k=o+32|0;e=o+28|0;m=o+24|0;f=o+20|0;j=o+16|0;g=o+12|0;n=o+8|0;h=o+4|0;i=o;c[e>>2]=d;c[m>>2]=0;c[f>>2]=0;c[j>>2]=c[e>>2];c[g>>2]=0;if(Cs(c[j>>2]|0)|0){c[k>>2]=qd(75775)|0;n=c[k>>2]|0;l=o;return n|0}c[n>>2]=c[c[j>>2]>>2];td(c[(c[n>>2]|0)+12>>2]|0);d=(c[j>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3;while(1){d=Ds(c[j>>2]|0)|0;c[m>>2]=d;if((d|0)!=17)break;d=c[g>>2]|0;c[g>>2]=d+1;if((d|0)>=50)break;c[h>>2]=c[(c[j>>2]|0)+36>>2];d=Es(c[j>>2]|0)|0;c[m>>2]=d;c[f>>2]=d;if(c[m>>2]|0)break;ys(c[e>>2]|0)|0;if((c[h>>2]|0)<0)continue;d=(c[j>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3|2}if(c[f>>2]|0){c[i>>2]=Rh(c[(c[n>>2]|0)+244>>2]|0)|0;Xd(c[n>>2]|0,c[(c[j>>2]|0)+108>>2]|0);if(a[(c[n>>2]|0)+69>>0]|0){c[(c[j>>2]|0)+108>>2]=0;c[m>>2]=7;e=7;d=c[j>>2]|0}else{e=Xo(c[n>>2]|0,c[i>>2]|0)|0;c[(c[j>>2]|0)+108>>2]=e;e=c[f>>2]|0;d=c[j>>2]|0}c[d+40>>2]=e}c[m>>2]=Jr(c[n>>2]|0,c[m>>2]|0)|0;ud(c[(c[n>>2]|0)+12>>2]|0);c[k>>2]=c[m>>2];n=c[k>>2]|0;l=o;return n|0}function Cs(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){xd(21,42105,e);c[b>>2]=1;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=Gr(c[d>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}return 0}function Ds(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[h>>2]=f;if((c[(c[h>>2]|0)+20>>2]|0)!=770837923)ys(c[h>>2]|0)|0;c[i>>2]=c[c[h>>2]>>2];f=c[h>>2]|0;if(a[(c[i>>2]|0)+69>>0]|0){c[f+40>>2]=7;c[g>>2]=7;k=c[g>>2]|0;l=m;return k|0}if((c[f+36>>2]|0)<=0?b[(c[h>>2]|0)+144>>1]&1|0:0){c[(c[h>>2]|0)+40>>2]=17;c[j>>2]=1}else{if((c[(c[h>>2]|0)+36>>2]|0)<0){if(!(c[(c[i>>2]|0)+156>>2]|0))c[(c[i>>2]|0)+248>>2]=0;if(!(!(c[(c[i>>2]|0)+192>>2]|0)?!(d[(c[i>>2]|0)+76>>0]&2|0):0))k=13;if(((k|0)==13?(a[(c[i>>2]|0)+148+5>>0]|0)==0:0)?c[(c[h>>2]|0)+176>>2]|0:0)Pj(c[c[i>>2]>>2]|0,(c[h>>2]|0)+128|0)|0;k=(c[i>>2]|0)+156|0;c[k>>2]=(c[k>>2]|0)+1;if(!((e[(c[h>>2]|0)+144>>1]|0)>>>7&1)){k=(c[i>>2]|0)+164|0;c[k>>2]=(c[k>>2]|0)+1}if((e[(c[h>>2]|0)+144>>1]|0)>>>8&1|0){k=(c[i>>2]|0)+160|0;c[k>>2]=(c[k>>2]|0)+1}c[(c[h>>2]|0)+36>>2]=0}if((e[(c[h>>2]|0)+144>>1]|0)>>>2&3|0)c[j>>2]=LF(c[h>>2]|0)|0;else{k=(c[i>>2]|0)+168|0;c[k>>2]=(c[k>>2]|0)+1;c[j>>2]=MF(c[h>>2]|0)|0;k=(c[i>>2]|0)+168|0;c[k>>2]=(c[k>>2]|0)+-1}if((c[j>>2]|0)!=100?(k=(c[h>>2]|0)+128|0,f=c[k+4>>2]|0,(f|0)>0|(f|0)==0&(c[k>>2]|0)>>>0>0):0)Hr(c[i>>2]|0,c[h>>2]|0);if((c[j>>2]|0)==101?(k=NF(c[i>>2]|0)|0,c[(c[h>>2]|0)+40>>2]=k,c[(c[h>>2]|0)+40>>2]|0):0)c[j>>2]=1;c[(c[i>>2]|0)+52>>2]=c[j>>2];if(7==(Jr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+40>>2]|0)|0))c[(c[h>>2]|0)+40>>2]=7}if(((c[j>>2]|0)!=100?((e[(c[h>>2]|0)+144>>1]|0)>>>9&1|0)!=0:0)&(c[j>>2]|0)!=101)c[j>>2]=Pr(c[h>>2]|0)|0;c[g>>2]=c[j>>2]&c[(c[i>>2]|0)+56>>2];k=c[g>>2]|0;l=m;return k|0}function Es(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;b=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;i=h+4|0;g=h;c[d>>2]=a;c[i>>2]=Fs(c[d>>2]|0)|0;c[g>>2]=Gs(c[d>>2]|0)|0;c[e>>2]=Hs(c[g>>2]|0,c[i>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[e>>2]|0)){Is(c[f>>2]|0,c[d>>2]|0);Js(c[f>>2]|0,c[d>>2]|0)|0;Ks(c[f>>2]|0);Ir(c[f>>2]|0)|0;c[b>>2]=0;i=c[b>>2]|0;l=h;return i|0}if((c[e>>2]|0)==7)Od(c[g>>2]|0);c[b>>2]=c[e>>2];i=c[b>>2]|0;l=h;return i|0}function Fs(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;l=d;return e|0}e=c[(c[b>>2]|0)+176>>2]|0;l=d;return e|0}function Gs(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function Hs(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;p=s+32|0;q=s+28|0;r=s+24|0;i=s+20|0;j=s+16|0;k=s+12|0;m=s+8|0;n=s+4|0;o=s;c[q>>2]=a;c[r>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;c[n>>2]=h;c[c[m>>2]>>2]=0;h=(Ms(c[q>>2]|0)|0)==0;if(h|(c[r>>2]|0)==0){c[p>>2]=qd(114197)|0;r=c[p>>2]|0;l=s;return r|0}td(c[(c[q>>2]|0)+12>>2]|0);pk(c[q>>2]|0);c[o>>2]=Ns(c[q>>2]|0,c[r>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==17){Fr(c[c[m>>2]>>2]|0)|0;c[o>>2]=Ns(c[q>>2]|0,c[r>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0}rk(c[q>>2]|0);ud(c[(c[q>>2]|0)+12>>2]|0);c[p>>2]=c[o>>2];r=c[p>>2]|0;l=s;return r|0}function Is(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+224|0;g=f+220|0;h=f+216|0;k=f;j=f+212|0;i=f+208|0;c[g>>2]=a;c[h>>2]=d;h0(k|0,c[g>>2]|0,208)|0;h0(c[g>>2]|0,c[h>>2]|0,208)|0;h0(c[h>>2]|0,k|0,208)|0;c[j>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=c[j>>2];c[j>>2]=c[(c[g>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=c[j>>2];c[i>>2]=c[(c[g>>2]|0)+176>>2];c[(c[g>>2]|0)+176>>2]=c[(c[h>>2]|0)+176>>2];c[(c[h>>2]|0)+176>>2]=c[i>>2];d=(c[h>>2]|0)+144|0;b[d>>1]=b[d>>1]&-513|((e[(c[g>>2]|0)+144>>1]|0)>>>9&1)<<9&65535;l=f;return} +function Tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;b=c[c[e>>2]>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Xd(a,c[b+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Xd(a,b);Xd(c[d>>2]|0,c[e>>2]|0);l=g;return}function Uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];Ok(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);Kk(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Jk(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);Ok(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Xd(c[d>>2]|0,c[e>>2]|0);l=g;return}function Vk(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return}function Wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+28|0;f=n+24|0;i=n+20|0;g=n+16|0;j=n+12|0;k=n+8|0;h=n+4|0;e=n;c[f>>2]=a;c[i>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+12>>2]|0){d=Zk(c[i>>2]|0)|0;c[h>>2]=(d>>>0)%((c[c[f>>2]>>2]|0)>>>0)|0;c[e>>2]=(c[(c[f>>2]|0)+12>>2]|0)+(c[h>>2]<<3);c[j>>2]=c[(c[e>>2]|0)+4>>2];c[k>>2]=c[c[e>>2]>>2]}else{c[h>>2]=0;c[j>>2]=c[(c[f>>2]|0)+8>>2];c[k>>2]=c[(c[f>>2]|0)+4>>2]}c[c[g>>2]>>2]=c[h>>2];while(1){h=c[k>>2]|0;c[k>>2]=h+-1;if(!h){a=9;break}h=(bh(c[(c[j>>2]|0)+12>>2]|0,c[i>>2]|0)|0)==0;b=c[j>>2]|0;if(h){a=7;break}c[j>>2]=c[b>>2]}if((a|0)==7){c[m>>2]=b;m=c[m>>2]|0;l=n;return m|0}else if((a|0)==9){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}return 0}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]|0)a=c[(c[f>>2]|0)+4>>2]|0;else a=(c[e>>2]|0)+8|0;c[a>>2]=c[c[f>>2]>>2];if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}_d(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){l=i;return}$k(c[e>>2]|0);l=i;return}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}Ug();c[g>>2]=Fd(c[f>>2]<<3,0)|0;Wg();if(!(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}_d(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[g>>2];b=((Kd(c[g>>2]|0)|0)>>>0)/8|0;c[f>>2]=b;c[c[e>>2]>>2]=b;m0(c[g>>2]|0,0,c[f>>2]<<3|0)|0;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=Zk(c[(c[h>>2]|0)+12>>2]|0)|0;c[j>>2]=(b>>>0)%((c[f>>2]|0)>>>0)|0;c[i>>2]=c[c[h>>2]>>2];_k(c[e>>2]|0,(c[g>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[i>>2]}c[d>>2]=1;j=c[d>>2]|0;l=k;return j|0}function Zk(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h;g=h+8|0;c[e>>2]=b;c[f>>2]=0;while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=a[b>>0]|0;a[g>>0]=b;if(!(b&255))break;c[f>>2]=(c[f>>2]|0)+(d[20458+(d[g>>0]|0)>>0]|0);c[f>>2]=S(c[f>>2]|0,-1640531535)|0}l=h;return c[f>>2]|0}function _k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){if(c[c[f>>2]>>2]|0)a=c[(c[f>>2]|0)+4>>2]|0;else a=0;c[h>>2]=a;d=c[f>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[f>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];l=i;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];if(c[(c[h>>2]|0)+4>>2]|0)a=c[(c[h>>2]|0)+4>>2]|0;else a=(c[e>>2]|0)+8|0;c[a>>2]=c[g>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];l=i;return}function $k(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;_d(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];_d(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;l=f;return}function al(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];Ok(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);Kk(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Jk(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);Tk(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Xd(c[d>>2]|0,c[f>>2]|0)}l=g;return}function bl(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+9>>0]|0)){l=e;return}b=(c[d>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+-1;if(c[(c[d>>2]|0)+12>>2]|0){l=e;return}cl(c[d>>2]|0);l=e;return}function cl(b){b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];ud(c[(c[f>>2]|0)+56>>2]|0);a[(c[e>>2]|0)+10>>0]=0;l=d;return}function dl(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Hb[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;l=b;return a|0}function el(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+9>>0]|0)){l=e;return}b=(c[d>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+1;if(a[(c[d>>2]|0)+10>>0]|0){l=e;return}fl(c[d>>2]|0);l=e;return}function fl(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;g=(gl(c[(c[(c[d>>2]|0)+4>>2]|0)+56>>2]|0)|0)==0;b=c[d>>2]|0;if(g){c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[b>>2];a[(c[d>>2]|0)+10>>0]=1;l=f;return}c[e>>2]=c[b+24>>2];while(1){if(!(c[e>>2]|0))break;if(a[(c[e>>2]|0)+10>>0]|0)cl(c[e>>2]|0);c[e>>2]=c[(c[e>>2]|0)+24>>2]}hl(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+24>>2];while(1){if(!(c[e>>2]|0))break;if(c[(c[e>>2]|0)+12>>2]|0)hl(c[e>>2]|0);c[e>>2]=c[(c[e>>2]|0)+24>>2]}l=f;return}function gl(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;if(c[d>>2]|0){c[b>>2]=Hb[c[100>>2]&255](c[d>>2]|0)|0;e=c[b>>2]|0;l=f;return e|0}else{c[b>>2]=c[e>>2];e=c[b>>2]|0;l=f;return e|0}return 0}function hl(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;td(c[(c[(c[e>>2]|0)+4>>2]|0)+56>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];a[(c[e>>2]|0)+10>>0]=1;l=d;return}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;e=i+32|0;f=i+24|0;g=i+16|0;h=i+8|0;d=i;j=i+40|0;k=f;c[k>>2]=a;c[k+4>>2]=b;c[j>>2]=fe()|0;if(c[j>>2]|0){j=e;c[j>>2]=-1;c[j+4>>2]=-1;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;l=i;return k|0}td(c[13620]|0);b=54488;j=c[b+4>>2]|0;k=g;c[k>>2]=c[b>>2];c[k+4>>2]=j;if((c[f+4>>2]|0)<0){ud(c[13620]|0);h=g;k=c[h+4>>2]|0;j=e;c[j>>2]=c[h>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;l=i;return k|0}b=f;k=c[b+4>>2]|0;j=54488;c[j>>2]=c[b>>2];c[j+4>>2]=k;j=Id(0)|0;k=d;c[k>>2]=j;c[k+4>>2]=D;k=f;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0){k=f;b=c[k+4>>2]|0;a=d;j=c[a+4>>2]|0;a=(b|0)<(j|0)|((b|0)==(j|0)?(c[k>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[13627]=a&1;ud(c[13620]|0);k=jl()|0;j=f;j=Z$(k|0,D|0,c[j>>2]|0,c[j+4>>2]|0)|0;k=h;c[k>>2]=j;c[k+4>>2]=D;k=h;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0)Md(c[h>>2]&2147483647)|0;h=g;k=c[h+4>>2]|0;j=e;c[j>>2]=c[h>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;l=i;return k|0}function jl(){var a=0,b=0;b=l;l=l+16|0;a=b+8|0;pd(0,a,b,0)|0;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;do if(c[e>>2]|0)if(!a){c[d>>2]=1;break}else{c[d>>2]=bh(c[e>>2]|0,c[f>>2]|0)|0;break}else c[d>>2]=a|0?-1:0;while(0);l=g;return c[d>>2]|0}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+28|0;g=k+24|0;h=k+20|0;i=k+16|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];Bp(c[f>>2]|0,c[g>>2]|0);a=c[f>>2]|0;if(!(c[h>>2]|0)){ml(a,c[g>>2]|0);l=k;return}if((c[a+244>>2]|0)==0?(g=Dp(c[f>>2]|0)|0,c[(c[f>>2]|0)+244>>2]=g,(g|0)==0):0){l=k;return}c[j>>2]=e;c[i>>2]=Xj(c[f>>2]|0,c[h>>2]|0,j)|0;Ep(c[(c[f>>2]|0)+244>>2]|0,-1,c[i>>2]|0,1,191);l=k;return}function ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[d>>2]|0)+52>>2]=c[e>>2];if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+244>>2]|0)==0:0){l=f;return}zp(c[d>>2]|0,c[e>>2]|0);l=f;return}function nl(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=-1;if(!(c[e>>2]|0)){g=c[g>>2]|0;l=h;return g|0}c[g>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);while(1){if((c[g>>2]|0)<0){a=6;break}if(!(bh(c[c[f>>2]>>2]|0,c[e>>2]|0)|0)){a=6;break}c[g>>2]=(c[g>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+-16}if((a|0)==6){g=c[g>>2]|0;l=h;return g|0}return 0}function pl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+409>>0]|0)==0:0){c[g>>2]=rl(c[c[f>>2]>>2]|0,0,c[f>>2]|0,h,0,542)|0;if(c[g>>2]|0){sl(c[e>>2]|0,24788,i);c[(c[e>>2]|0)+12>>2]=c[g>>2];c[d>>2]=1;i=c[d>>2]|0;l=j;return i|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[h>>2];if(7==(tl(c[h>>2]|0,c[(c[f>>2]|0)+80>>2]|0,-1,0)|0)){Od(c[f>>2]|0);c[d>>2]=1;i=c[d>>2]|0;l=j;return i|0}}c[d>>2]=0;i=c[d>>2]|0;l=j;return i|0}function ql(b){b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){l=g;return}c[f>>2]=c[c[e>>2]>>2];Xd(c[f>>2]|0,c[(c[e>>2]|0)+76>>2]|0);Kk(c[f>>2]|0,c[(c[e>>2]|0)+80>>2]|0);if(c[f>>2]|0){f=(c[f>>2]|0)+256|0;c[f>>2]=(c[f>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;l=g;return}function rl(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+192|0;K=L+84|0;A=L+80|0;B=L+76|0;C=L+72|0;E=L+68|0;m=L+64|0;n=L+60|0;F=L+56|0;G=L+52|0;H=L+48|0;I=L+44|0;o=L+188|0;p=L+88|0;q=L+40|0;r=L+36|0;s=L+32|0;t=L+28|0;u=L+24|0;v=L+20|0;w=L+16|0;x=L+12|0;y=L+8|0;z=L+4|0;J=L;c[A>>2]=f;c[B>>2]=g;c[C>>2]=h;c[E>>2]=i;c[m>>2]=j;c[n>>2]=k;c[F>>2]=0;c[H>>2]=0;c[I>>2]=0;if(!(c[B>>2]|0))f=1;else f=(a[c[B>>2]>>0]|0)==0;c[q>>2]=f&1;if(c[B>>2]|0?(G_(c[B>>2]|0,24858)|0)==0:0)f=1;else D=5;do if((D|0)==5){if(c[q>>2]|0?Kl(c[C>>2]|0)|0:0){f=1;break}f=(c[n>>2]&128|0)!=0}while(0);c[r>>2]=f&1;if(c[r>>2]|0)c[m>>2]=c[m>>2]|2;if(c[n>>2]&256|0?(c[r>>2]|0)!=0|(c[q>>2]|0)!=0:0)c[n>>2]=c[n>>2]&-257|512;c[G>>2]=Xg(48,0)|0;if(!(c[G>>2]|0)){c[K>>2]=7;K=c[K>>2]|0;l=L;return K|0}a[(c[G>>2]|0)+8>>0]=0;c[c[G>>2]>>2]=c[C>>2];c[(c[G>>2]|0)+32>>2]=c[G>>2];c[(c[G>>2]|0)+32+4>>2]=1;do if(!(c[q>>2]|0)){if(c[r>>2]|0?(c[n>>2]&64|0)==0:0)break;if(c[n>>2]&131072|0){c[s>>2]=(md(c[B>>2]|0)|0)+1;c[t>>2]=(c[(c[A>>2]|0)+8>>2]|0)+1;q=(c[t>>2]|0)>(c[s>>2]|0)?c[t>>2]|0:c[s>>2]|0;c[u>>2]=Fd(q,((q|0)<0)<<31>>31)|0;a[(c[G>>2]|0)+9>>0]=1;if(!(c[u>>2]|0)){_d(c[G>>2]|0);c[K>>2]=7;K=c[K>>2]|0;l=L;return K|0}if(!(c[r>>2]|0)){c[I>>2]=Ll(c[A>>2]|0,c[B>>2]|0,c[t>>2]|0,c[u>>2]|0)|0;if(c[I>>2]|0){_d(c[u>>2]|0);_d(c[G>>2]|0);c[K>>2]=c[I>>2];K=c[K>>2]|0;l=L;return K|0}}else h0(c[u>>2]|0,c[B>>2]|0,c[s>>2]|0)|0;c[H>>2]=ie(4)|0;td(c[H>>2]|0);c[v>>2]=ie(2)|0;td(c[v>>2]|0);c[F>>2]=c[13786];while(1){if(!(c[F>>2]|0))break;t=c[u>>2]|0;if(0==(G_(t,Ml(c[c[F>>2]>>2]|0,0)|0)|0)?(t=Nl(c[c[F>>2]>>2]|0)|0,(t|0)==(c[A>>2]|0)):0){D=29;break}c[F>>2]=c[(c[F>>2]|0)+68>>2]}do if((D|0)==29){c[w>>2]=(c[(c[C>>2]|0)+20>>2]|0)-1;while(1){if((c[w>>2]|0)<0){D=35;break}c[x>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[w>>2]<<4)+4>>2];if(c[x>>2]|0?(c[(c[x>>2]|0)+4>>2]|0)==(c[F>>2]|0):0)break;c[w>>2]=(c[w>>2]|0)+-1}if((D|0)==35){c[(c[G>>2]|0)+4>>2]=c[F>>2];x=(c[F>>2]|0)+64|0;c[x>>2]=(c[x>>2]|0)+1;break}ud(c[v>>2]|0);ud(c[H>>2]|0);_d(c[u>>2]|0);_d(c[G>>2]|0);c[K>>2]=19;K=c[K>>2]|0;l=L;return K|0}while(0);ud(c[v>>2]|0);_d(c[u>>2]|0)}}while(0);do if(!(c[F>>2]|0)){c[F>>2]=Xg(84,0)|0;if(!(c[F>>2]|0)){c[I>>2]=7;break}c[I>>2]=Pl(c[A>>2]|0,c[F>>2]|0,c[B>>2]|0,88,c[m>>2]|0,c[n>>2]|0,158)|0;if(!(c[I>>2]|0)){A=(c[C>>2]|0)+40|0;Ql(c[c[F>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0);c[I>>2]=Rl(c[c[F>>2]>>2]|0,100,p)|0}if(!(c[I>>2]|0)){a[(c[F>>2]|0)+16>>0]=c[m>>2];c[(c[F>>2]|0)+4>>2]=c[C>>2];Tl(c[c[F>>2]>>2]|0,192,c[F>>2]|0);c[(c[G>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+12>>2]=0;if((Ul(c[c[F>>2]>>2]|0)|0)<<24>>24){A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|1}c[(c[F>>2]|0)+32>>2]=d[p+16>>0]<<8|d[p+17>>0]<<16;if(((c[(c[F>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?!((c[(c[F>>2]|0)+32>>2]|0)-1&c[(c[F>>2]|0)+32>>2]|0):0){a[o>>0]=a[p+20>>0]|0;B=(c[F>>2]|0)+22|0;b[B>>1]=e[B>>1]|2;B=(Vl(p+52|0)|0)!=0;a[(c[F>>2]|0)+17>>0]=B?1:0;B=(Vl(p+64|0)|0)!=0;a[(c[F>>2]|0)+18>>0]=B?1:0}else{c[(c[F>>2]|0)+32>>2]=0;if(!((c[B>>2]|0)==0|(c[r>>2]|0)!=0)){a[(c[F>>2]|0)+17>>0]=0;a[(c[F>>2]|0)+18>>0]=0}a[o>>0]=0}c[I>>2]=vl(c[c[F>>2]>>2]|0,(c[F>>2]|0)+32|0,d[o>>0]|0)|0;if(!(c[I>>2]|0)){c[(c[F>>2]|0)+36>>2]=(c[(c[F>>2]|0)+32>>2]|0)-(d[o>>0]|0);c[(c[F>>2]|0)+64>>2]=1;if(a[(c[G>>2]|0)+9>>0]|0){c[y>>2]=ie(2)|0;if(c[3]|0?(B=ie(0)|0,c[(c[F>>2]|0)+56>>2]=B,(c[(c[F>>2]|0)+56>>2]|0)==0):0){c[I>>2]=7;break}td(c[y>>2]|0);c[(c[F>>2]|0)+68>>2]=c[13786];c[13786]=c[F>>2];ud(c[y>>2]|0);D=59}else D=59}}}else D=59;while(0);if((D|0)==59){a:do if(a[(c[G>>2]|0)+9>>0]|0){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break a;D=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[z>>2]<<4)+4>>2]|0;c[J>>2]=D;if(D|0?d[(c[J>>2]|0)+9>>0]|0:0)break;c[z>>2]=(c[z>>2]|0)+1}while(1){if(!(c[(c[J>>2]|0)+28>>2]|0))break;c[J>>2]=c[(c[J>>2]|0)+28>>2]}if((c[(c[G>>2]|0)+4>>2]|0)>>>0<(c[(c[J>>2]|0)+4>>2]|0)>>>0){c[(c[G>>2]|0)+24>>2]=c[J>>2];c[(c[G>>2]|0)+28>>2]=0;c[(c[J>>2]|0)+28>>2]=c[G>>2];break}while(1){if(c[(c[J>>2]|0)+24>>2]|0)g=(c[(c[(c[J>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0;else g=0;f=c[(c[J>>2]|0)+24>>2]|0;if(!g)break;c[J>>2]=f}c[(c[G>>2]|0)+24>>2]=f;c[(c[G>>2]|0)+28>>2]=c[J>>2];if(c[(c[G>>2]|0)+24>>2]|0)c[(c[(c[G>>2]|0)+24>>2]|0)+28>>2]=c[G>>2];c[(c[J>>2]|0)+24>>2]=c[G>>2]}while(0);c[c[E>>2]>>2]=c[G>>2]}if(!(c[I>>2]|0)){if(!(Xl(c[G>>2]|0,0,0)|0))Yl(c[c[(c[G>>2]|0)+4>>2]>>2]|0,-2e3)}else{if(c[F>>2]|0?c[c[F>>2]>>2]|0:0)Wl(c[c[F>>2]>>2]|0)|0;_d(c[F>>2]|0);_d(c[G>>2]|0);c[c[E>>2]>>2]=0}if(c[H>>2]|0)ud(c[H>>2]|0);c[K>>2]=c[I>>2];K=c[K>>2]|0;l=L;return K|0}function sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;f=i+32|0;k=i+28|0;g=i+24|0;j=i+8|0;h=i;c[f>>2]=b;c[k>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=e;c[g>>2]=Xj(c[h>>2]|0,c[k>>2]|0,j)|0;if(a[(c[h>>2]|0)+73>>0]|0){Xd(c[h>>2]|0,c[g>>2]|0);l=i;return}else{k=(c[f>>2]|0)+36|0;c[k>>2]=(c[k>>2]|0)+1;Xd(c[h>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[f>>2]|0)+12>>2]=1;l=i;return}}function tl(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;h=p;c[j>>2]=a;c[k>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=0;c[h>>2]=c[(c[j>>2]|0)+4>>2];el(c[j>>2]|0);if((e[(c[h>>2]|0)+22>>1]|0)&2|0){bl(c[j>>2]|0);c[i>>2]=8;o=c[i>>2]|0;l=p;return o|0}if((c[m>>2]|0)<0)c[m>>2]=(c[(c[h>>2]|0)+32>>2]|0)-(c[(c[h>>2]|0)+36>>2]|0);if((c[k>>2]|0)>=512&(c[k>>2]|0)<=65536?((c[k>>2]|0)-1&c[k>>2]|0)==0:0){c[(c[h>>2]|0)+32>>2]=c[k>>2];ul(c[h>>2]|0)}c[o>>2]=vl(c[c[h>>2]>>2]|0,(c[h>>2]|0)+32|0,c[m>>2]|0)|0;c[(c[h>>2]|0)+36>>2]=(c[(c[h>>2]|0)+32>>2]|0)-(c[m>>2]&65535);if(c[n>>2]|0){n=(c[h>>2]|0)+22|0;b[n>>1]=e[n>>1]|0|2}bl(c[j>>2]|0);c[i>>2]=c[o>>2];o=c[i>>2]|0;l=p;return o|0}function ul(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){l=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;Bl(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;l=d;return}function vl(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p;c[g>>2]=a;c[h>>2]=e;c[i>>2]=f;c[j>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(wl(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[k>>2]|0)!=0):0)?(c[k>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[m>>2]=0;o=n;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?c[c[(c[g>>2]|0)+64>>2]>>2]|0:0)c[j>>2]=xl(c[(c[g>>2]|0)+64>>2]|0,n)|0;if((c[j>>2]|0)==0?(c[m>>2]=yl(c[k>>2]|0)|0,(c[m>>2]|0)==0):0)c[j>>2]=7;if(!(c[j>>2]|0)){zl(c[g>>2]|0);c[j>>2]=Al(c[(c[g>>2]|0)+212>>2]|0,c[k>>2]|0)|0}if(!(c[j>>2]|0)){Bl(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[m>>2];o=n;o=_$(c[o>>2]|0,c[o+4>>2]|0,c[k>>2]|0,0)|0;o=Z$(o|0,D|0,1,0)|0;o=n0(o|0,D|0,c[k>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[k>>2];break}else{Bl(c[m>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[j>>2]|0){o=c[j>>2]|0;l=p;return o|0}if((c[i>>2]|0)<0)c[i>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[i>>2];Cl(c[g>>2]|0);o=c[j>>2]|0;l=p;return o|0}function wl(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+12>>2]|0}function xl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function yl(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Vg(c[d>>2]|0)|0;l=b;return a|0}function zl(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;El(c[(c[d>>2]|0)+96>>2]|0);Fl(c[(c[d>>2]|0)+212>>2]|0);l=b;return}function Al(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=Bb[c[132>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;h=c[e>>2]|0;l=i;return h|0}j=c[34]|0;a=c[h>>2]|0;b=Dl(c[f>>2]|0)|0;Fb[j&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)Eb[c[160>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}function Bl(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Mg(c[d>>2]|0);l=b;return}function Cl(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return}function Dl(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;l=e;return d|0}else{a=r0(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=n0(a|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;l=e;return d|0}return 0}function El(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}l=d;return}function Fl(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Gl(c[d>>2]|0,0);l=b;return}function Gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){l=i;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)Hl(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?c[(c[d>>2]|0)+12>>2]|0:0)?(c[h>>2]=Bb[c[144>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,c[h>>2]|0):0){m0(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}Fb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);l=i;return}function Hl(a){a=a|0;var d=0,f=0;f=l;l=l+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){l=f;return}Il(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){l=f;return}Jl(c[d>>2]|0);l=f;return}function Il(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j+4|0;g=j+8|0;i=j;c[h>>2]=b;a[g>>0]=f;c[i>>2]=c[(c[h>>2]|0)+28>>2];if(d[g>>0]&1|0){if((c[(c[i>>2]|0)+8>>2]|0)==(c[h>>2]|0))c[(c[i>>2]|0)+8>>2]=c[(c[h>>2]|0)+36>>2];if(c[(c[h>>2]|0)+32>>2]|0)b=(c[(c[h>>2]|0)+32>>2]|0)+36|0;else b=(c[i>>2]|0)+4|0;c[b>>2]=c[(c[h>>2]|0)+36>>2];b=c[(c[h>>2]|0)+32>>2]|0;if(!(c[(c[h>>2]|0)+36>>2]|0)){c[c[i>>2]>>2]=b;if(!(c[c[i>>2]>>2]|0))a[(c[i>>2]|0)+33>>0]=2}else c[(c[(c[h>>2]|0)+36>>2]|0)+32>>2]=b;c[(c[h>>2]|0)+32>>2]=0;c[(c[h>>2]|0)+36>>2]=0}if(!(d[g>>0]&2)){l=j;return}c[(c[h>>2]|0)+32>>2]=c[c[i>>2]>>2];b=c[h>>2]|0;if(!(c[(c[h>>2]|0)+32>>2]|0)){c[(c[i>>2]|0)+4>>2]=b;if(a[(c[i>>2]|0)+32>>0]|0)a[(c[i>>2]|0)+33>>0]=1}else c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=b;c[c[i>>2]>>2]=c[h>>2];if(c[(c[i>>2]|0)+8>>2]|0){l=j;return}if(e[(c[h>>2]|0)+24>>1]&8){l=j;return}c[(c[i>>2]|0)+8>>2]=c[h>>2];l=j;return}function Jl(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){l=e;return}Ib[c[148>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);l=e;return}function Kl(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (d[(c[b>>2]|0)+68>>0]|0|0)==2|0}function Ll(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=Kb[c[(c[k>>2]|0)+36>>2]&255](c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return f|0}function Ml(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if(c[g>>2]|0?d[(c[e>>2]|0)+16>>0]|0|0:0){g=55752;l=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;l=f;return g|0}function Nl(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function Ol(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Ln(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){l=f;return}a[c[e>>2]>>0]=0;if((pp(c[d>>2]|0)|0)<=1){l=f;return}qp(c[e>>2]|0)|0;l=f;return}function Pl(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=l;l=l+112|0;H=K+96|0;E=K+92|0;I=K+88|0;r=K+84|0;s=K+80|0;L=K+76|0;t=K+72|0;F=K+68|0;k=K+64|0;G=K+60|0;u=K+56|0;v=K+52|0;w=K+48|0;x=K+44|0;m=K+40|0;y=K+36|0;z=K+32|0;A=K+28|0;n=K+24|0;B=K+20|0;o=K+16|0;p=K+12|0;q=K+8|0;C=K+4|0;D=K;c[E>>2]=d;c[I>>2]=e;c[r>>2]=f;c[s>>2]=g;c[L>>2]=h;c[t>>2]=i;c[F>>2]=j;c[G>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=(c[L>>2]&1|0)==0&1;c[n>>2]=Vo()|0;c[B>>2]=4096;c[o>>2]=0;c[p>>2]=0;c[m>>2]=(Wo(c[E>>2]|0)|0)+7&-8;c[c[I>>2]>>2]=0;do if((c[L>>2]&2|0?(c[w>>2]=1,c[r>>2]|0):0)?a[c[r>>2]>>0]|0:0){c[y>>2]=Xo(0,c[r>>2]|0)|0;if(c[y>>2]|0){c[z>>2]=md(c[y>>2]|0)|0;c[r>>2]=0;break}c[H>>2]=7;L=c[H>>2]|0;l=K;return L|0}while(0);if(c[r>>2]|0?a[c[r>>2]>>0]|0:0){c[z>>2]=(c[(c[E>>2]|0)+8>>2]|0)+1;L=c[z>>2]<<1;c[y>>2]=Cd(0,L,((L|0)<0)<<31>>31)|0;if(!(c[y>>2]|0)){c[H>>2]=7;L=c[H>>2]|0;l=K;return L|0}a[c[y>>2]>>0]=0;c[u>>2]=Ll(c[E>>2]|0,c[r>>2]|0,c[z>>2]|0,c[y>>2]|0)|0;c[z>>2]=md(c[y>>2]|0)|0;L=c[r>>2]|0;L=L+((md(c[r>>2]|0)|0)+1)|0;c[o>>2]=L;c[q>>2]=L;while(1){d=c[q>>2]|0;if(!(a[c[q>>2]>>0]|0))break;L=(md(d)|0)+1|0;c[q>>2]=(c[q>>2]|0)+L;L=(md(c[q>>2]|0)|0)+1|0;c[q>>2]=(c[q>>2]|0)+L}c[p>>2]=d+1-(c[o>>2]|0);if((c[u>>2]|0)==0?((c[z>>2]|0)+8|0)>(c[(c[E>>2]|0)+8>>2]|0):0)c[u>>2]=gf(51006)|0;if(c[u>>2]|0){Xd(0,c[y>>2]|0);c[H>>2]=c[u>>2];L=c[H>>2]|0;l=K;return L|0}}c[k>>2]=Xg(224+((c[n>>2]|0)+7&-8)+((c[(c[E>>2]|0)+4>>2]|0)+7&-8)+(c[m>>2]<<1)+(c[z>>2]|0)+1+(c[p>>2]|0)+(c[z>>2]|0)+8+2+(c[z>>2]|0)+4+2|0,0)|0;if(!(c[k>>2]|0)){Xd(0,c[y>>2]|0);c[H>>2]=7;L=c[H>>2]|0;l=K;return L|0}c[G>>2]=c[k>>2];L=(c[k>>2]|0)+224|0;c[k>>2]=L;c[(c[G>>2]|0)+212>>2]=L;L=(c[k>>2]|0)+((c[n>>2]|0)+7&-8)|0;c[k>>2]=L;c[(c[G>>2]|0)+64>>2]=L;L=(c[k>>2]|0)+((c[(c[E>>2]|0)+4>>2]|0)+7&-8)|0;c[k>>2]=L;c[(c[G>>2]|0)+72>>2]=L;L=(c[k>>2]|0)+(c[m>>2]|0)|0;c[k>>2]=L;c[(c[G>>2]|0)+68>>2]=L;L=(c[k>>2]|0)+(c[m>>2]|0)|0;c[k>>2]=L;c[(c[G>>2]|0)+176>>2]=L;if(c[y>>2]|0){L=(c[k>>2]|0)+((c[z>>2]|0)+1+(c[p>>2]|0))|0;c[k>>2]=L;c[(c[G>>2]|0)+180>>2]=L;h0(c[(c[G>>2]|0)+176>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(c[p>>2]|0)h0((c[(c[G>>2]|0)+176>>2]|0)+((c[z>>2]|0)+1)|0,c[o>>2]|0,c[p>>2]|0)|0;h0(c[(c[G>>2]|0)+180>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;d=(c[(c[G>>2]|0)+180>>2]|0)+(c[z>>2]|0)|0;e=24985;f=d+10|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));c[(c[G>>2]|0)+220>>2]=(c[(c[G>>2]|0)+180>>2]|0)+((c[z>>2]|0)+8+1);h0(c[(c[G>>2]|0)+220>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;L=(c[(c[G>>2]|0)+220>>2]|0)+(c[z>>2]|0)|0;a[L>>0]=a[24995]|0;a[L+1>>0]=a[24996]|0;a[L+2>>0]=a[24997]|0;a[L+3>>0]=a[24998]|0;a[L+4>>0]=a[24999]|0;Xd(0,c[y>>2]|0)}c[c[G>>2]>>2]=c[E>>2];c[(c[G>>2]|0)+152>>2]=c[t>>2];do if(c[r>>2]|0?a[c[r>>2]>>0]|0:0){c[C>>2]=0;c[u>>2]=Om(c[E>>2]|0,c[(c[G>>2]|0)+176>>2]|0,c[(c[G>>2]|0)+64>>2]|0,c[t>>2]|0,C)|0;c[x>>2]=c[C>>2]&1;if(!(c[u>>2]|0)){c[D>>2]=Ym(c[(c[G>>2]|0)+64>>2]|0)|0;do if((c[x>>2]|0)==0?(Xm(c[G>>2]|0),(c[B>>2]|0)>>>0<(c[(c[G>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[G>>2]|0)+156>>2]|0)>>>0>8192){c[B>>2]=8192;break}else{c[B>>2]=c[(c[G>>2]|0)+156>>2];break}while(0);L=(Of(c[r>>2]|0,25001,0)|0)&255;a[(c[G>>2]|0)+14>>0]=L;if((c[D>>2]&8192|0)==0?(Of(c[r>>2]|0,25008,0)|0)==0:0)break;c[t>>2]=c[t>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){c[v>>2]=1;a[(c[G>>2]|0)+17>>0]=1;a[(c[G>>2]|0)+18>>0]=4;a[(c[G>>2]|0)+14>>0]=1;c[x>>2]=c[t>>2]&1}if(!(c[u>>2]|0))c[u>>2]=vl(c[G>>2]|0,B,-1)|0;if(!(c[u>>2]|0)){c[s>>2]=(c[s>>2]|0)+7&-8;c[u>>2]=Zo(c[B>>2]|0,c[s>>2]|0,((c[w>>2]|0)!=0^1)&1,(c[w>>2]|0)!=0^1?192:0,c[G>>2]|0,c[(c[G>>2]|0)+212>>2]|0)|0}if(c[u>>2]|0){fm(c[(c[G>>2]|0)+64>>2]|0);Bl(c[(c[G>>2]|0)+208>>2]|0);_d(c[G>>2]|0);c[H>>2]=c[u>>2];L=c[H>>2]|0;l=K;return L|0}a[(c[G>>2]|0)+6>>0]=c[A>>2];c[(c[G>>2]|0)+164>>2]=1073741823;a[(c[G>>2]|0)+13>>0]=c[v>>2];a[(c[G>>2]|0)+4>>0]=c[v>>2];a[(c[G>>2]|0)+19>>0]=a[(c[G>>2]|0)+13>>0]|0;a[(c[G>>2]|0)+16>>0]=c[w>>2];a[(c[G>>2]|0)+15>>0]=c[x>>2];a[(c[G>>2]|0)+7>>0]=a[(c[G>>2]|0)+13>>0]|0;if(!(a[(c[G>>2]|0)+7>>0]|0)){a[(c[G>>2]|0)+8>>0]=1;a[(c[G>>2]|0)+9>>0]=0;a[(c[G>>2]|0)+12>>0]=2;a[(c[G>>2]|0)+11>>0]=34;a[(c[G>>2]|0)+10>>0]=2}b[(c[G>>2]|0)+148>>1]=c[s>>2];L=(c[G>>2]|0)+168|0;c[L>>2]=-1;c[L+4>>2]=-1;Xm(c[G>>2]|0);if(c[A>>2]|0){if(c[w>>2]|0){d=4;e=c[G>>2]|0;J=49}}else{d=2;e=c[G>>2]|0;J=49}if((J|0)==49)a[e+5>>0]=d;c[(c[G>>2]|0)+204>>2]=c[F>>2];c[c[I>>2]>>2]=c[G>>2];c[H>>2]=0;L=c[H>>2]|0;l=K;return L|0}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[a+4>>2]|0;d=(c[f>>2]|0)+136|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;Cl(c[f>>2]|0);l=e;return}function Rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;m0(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;l=i;return h|0}g=$m(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=g;c[h>>2]=(c[h>>2]|0)==522?0:g;h=c[h>>2]|0;l=i;return h|0}function Sl(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=Uo((c[(c[d>>2]|0)+4>>2]|0)+380|0)|0;l=b;return a|0}function Tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g+12|0;i=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[i>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[i>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=g;return}c[f>>2]=(c[e>>2]|0)+184;wo(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);l=g;return}function Ul(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;l=e;return a[(c[d>>2]|0)+15>>0]|0}function Vl(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function Wl(b){b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];Ug();$l(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;am(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;zl(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)bm(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;dm(b,cm(c[e>>2]|0)|0)|0}em(c[e>>2]|0)}Wg();fm(c[(c[e>>2]|0)+68>>2]|0);fm(c[(c[e>>2]|0)+64>>2]|0);Bl(c[f>>2]|0);gm(c[(c[e>>2]|0)+212>>2]|0);_d(c[e>>2]|0);l=g;return 0}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];el(c[e>>2]|0);if(!(c[f>>2]|0?(c[(c[h>>2]|0)+48>>2]|0)==0:0)){g=c[e>>2]|0;bl(g);h=c[h>>2]|0;h=h+48|0;h=c[h>>2]|0;l=i;return h|0}f=c[f>>2]|0;f=_l(0,f,((f|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+48>>2]=f;c[(c[h>>2]|0)+52>>2]=c[g>>2];g=c[e>>2]|0;bl(g);h=c[h>>2]|0;h=h+48|0;h=c[h>>2]|0;l=i;return h|0}function Yl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Zl(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);l=d;return}function Zl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[34]|0;a=c[(c[f>>2]|0)+44>>2]|0;b=Dl(c[f>>2]|0)|0;Fb[e&255](a,b);l=d;return}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;d=e;c[f>>2]=Cd(c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;l=g;return h|0}m0(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;l=g;return h|0}function $l(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];_d(c[b>>2]|0);c[b>>2]=c[d>>2]}l=e;return}function am(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;h=p;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;c[n>>2]=0;if(!(c[i>>2]|0)){o=c[n>>2]|0;l=p;return o|0}c[o>>2]=0;c[n>>2]=uo(c[(c[i>>2]|0)+4>>2]|0,4)|0;do if(!(c[n>>2]|0)){if(!(d[(c[i>>2]|0)+43>>0]|0))a[(c[i>>2]|0)+43>>0]=1;c[n>>2]=vo(c[i>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,0,0)|0;if(!(c[n>>2]|0)){c[h>>2]=-1;wo(c[(c[i>>2]|0)+4>>2]|0,10,h);if((c[h>>2]|0)!=1){c[o>>2]=1;break}m=(c[i>>2]|0)+16|0;k=c[m+4>>2]|0;if((k|0)>0|(k|0)==0&(c[m>>2]|0)>>>0>=0)xo(c[i>>2]|0,0,0)}}while(0);yo(c[i>>2]|0,c[o>>2]|0);fm(c[(c[i>>2]|0)+8>>2]|0);if(c[o>>2]|0){Ug();om(c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+108>>2]|0,0)|0;Wg()}_d(c[(c[i>>2]|0)+32>>2]|0);_d(c[i>>2]|0);o=c[n>>2]|0;l=p;return o|0}function bm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i+8|0;e=i+4|0;f=i;c[h>>2]=b;pm(c[(c[h>>2]|0)+60>>2]|0);c[(c[h>>2]|0)+60>>2]=0;jm(c[h>>2]|0);j=(tm(c[h>>2]|0)|0)!=0;b=c[h>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[h>>2]|0)+64>>2]>>2]|0)b=Ym(c[(c[h>>2]|0)+64>>2]|0)|0;else b=0;c[f>>2]=b;if(!(0!=(c[f>>2]&2048|0)?1==(d[(c[h>>2]|0)+5>>0]&5|0):0))fm(c[(c[h>>2]|0)+68>>2]|0);c[e>>2]=ym(c[h>>2]|0,0)|0;if(c[e>>2]|0?(d[(c[h>>2]|0)+17>>0]|0)==6:0)a[(c[h>>2]|0)+18>>0]=5;a[(c[h>>2]|0)+19>>0]=0;b=c[h>>2]|0;g=13}}else{to(c[b+216>>2]|0);b=c[h>>2]|0;g=13}if((g|0)==13)a[b+17>>0]=0;if(!(c[(c[h>>2]|0)+44>>2]|0)){j=c[h>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[h>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[h>>2]|0;j=j+20|0;a[j>>0]=0;l=i;return}b=c[h>>2]|0;if(!(d[(c[h>>2]|0)+13>>0]|0)){zl(b);a[(c[h>>2]|0)+19>>0]=0;b=0;e=c[h>>2]|0}else{b=(c[c[b+68>>2]>>2]|0?0:1)&255;e=c[h>>2]|0}a[e+17>>0]=b;c[(c[h>>2]|0)+44>>2]=0;j=c[h>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[h>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[h>>2]|0;j=j+20|0;a[j>>0]=0;l=i;return}function cm(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=mm(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;l=f;return e|0}c[e>>2]=xl(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;l=f;return e|0}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;l=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;l=g;return h|0}function em(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?d[(c[e>>2]|0)+17>>0]|0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){Ug();hm(c[e>>2]|0)|0;Wg();break}if(!(a[(c[e>>2]|0)+4>>0]|0))im(c[e>>2]|0,0,0)|0}while(0);bm(c[e>>2]|0);l=f;return}function fm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[c[b>>2]>>2]|0)){l=d;return}Hb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;l=d;return}function gm(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Eb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);l=b;return}function hm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];i=c[e>>2]|0;l=j;return i|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;i=c[e>>2]|0;l=j;return i|0}k=(tm(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(k){c[g>>2]=Pm(b,2,-1)|0;c[h>>2]=im(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[g>>2]|0))c[g>>2]=c[h>>2]}else{if(c[c[b+68>>2]>>2]|0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[g>>2]=Qm(c[f>>2]|0,0)|0;break}c[i>>2]=d[(c[f>>2]|0)+17>>0];c[g>>2]=im(c[f>>2]|0,0,0)|0;if((c[i>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[g>>2];k=c[e>>2]|0;l=j;return k|0}}while(0);c[e>>2]=dm(c[f>>2]|0,c[g>>2]|0)|0;k=c[e>>2]|0;l=j;return k|0}function im(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;g=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;h=o;c[j>>2]=b;c[g>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[j>>2]|0)+17>>0]|0)<2?(d[(c[j>>2]|0)+18>>0]|0)<2:0){c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}jm(c[j>>2]|0);a:do if(c[c[(c[j>>2]|0)+68>>2]>>2]|0){f=(km(c[(c[j>>2]|0)+68>>2]|0)|0)!=0;b=c[j>>2]|0;if(f){fm(c[b+68>>2]|0);break}e=c[j>>2]|0;if((d[b+5>>0]|0)==3){h=e+80|0;if(!((c[h>>2]|0)==0&(c[h+4>>2]|0)==0)){c[m>>2]=lm(c[(c[j>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?d[(c[j>>2]|0)+8>>0]|0:0)c[m>>2]=mm(c[(c[j>>2]|0)+68>>2]|0,d[(c[j>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;h=(c[j>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0;break}do if((d[e+5>>0]|0)!=1){if(d[(c[j>>2]|0)+4>>0]|0?(d[(c[j>>2]|0)+5>>0]|0)!=5:0)break;c[h>>2]=((a[(c[j>>2]|0)+13>>0]|0)!=0^1)&1;fm(c[(c[j>>2]|0)+68>>2]|0);if(!(c[h>>2]|0))break a;c[m>>2]=om(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+180>>2]|0,d[(c[j>>2]|0)+9>>0]|0)|0;break a}while(0);if(c[g>>2]|0)b=1;else b=(d[(c[j>>2]|0)+13>>0]|0)!=0;c[m>>2]=nm(c[j>>2]|0,b&1)|0;h=(c[j>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0}while(0);pm(c[(c[j>>2]|0)+60>>2]|0);c[(c[j>>2]|0)+60>>2]=0;c[(c[j>>2]|0)+48>>2]=0;if(!(c[m>>2]|0)){h=(qm(c[j>>2]|0,c[k>>2]|0)|0)!=0;b=c[(c[j>>2]|0)+212>>2]|0;if(h)rm(b);else sm(b);Gl(c[(c[j>>2]|0)+212>>2]|0,c[(c[j>>2]|0)+28>>2]|0)}if(!(tm(c[j>>2]|0)|0)){if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[(c[j>>2]|0)+36>>2]|0)>>>0>(c[(c[j>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=vm(c[j>>2]|0,c[(c[j>>2]|0)+28>>2]|0)|0}else c[n>>2]=um(c[(c[j>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?c[c[(c[j>>2]|0)+64>>2]>>2]|0:0){k=wm(c[(c[j>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==12?0:k}do if(!(a[(c[j>>2]|0)+4>>0]|0)){if(tm(c[j>>2]|0)|0?(xm(c[(c[j>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=ym(c[j>>2]|0,1)|0;a[(c[j>>2]|0)+19>>0]=0}while(0);a[(c[j>>2]|0)+17>>0]=1;a[(c[j>>2]|0)+20>>0]=0;c[i>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[i>>2]|0;l=o;return n|0}function jm(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){b=c[d>>2]|0;if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;pm(c[(c[b+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!(a[b+4>>0]|0?!(km(c[(c[d>>2]|0)+72>>2]|0)|0):0))fm(c[(c[d>>2]|0)+72>>2]|0);_d(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;l=f;return}function km(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[c[b>>2]>>2]|0)==4104|0}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;d=Bb[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;l=e;return d|0}function mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function nm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+24|0;g=k+20|0;h=k+16|0;i=k+8|0;j=k;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;e=(c[f>>2]|0)+80|0;if(!((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0)){j=c[h>>2]|0;l=k;return j|0}m=(c[f>>2]|0)+168|0;b=c[m+4>>2]|0;e=i;c[e>>2]=c[m>>2];c[e+4>>2]=b;e=i;b=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0)c[h>>2]=lm(b,0,0)|0;else c[h>>2]=Dm(b,56012,28,0,0)|0;if((c[h>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[h>>2]=mm(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=i;g=c[m+4>>2]|0;if(!((c[h>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[h>>2]|0;l=k;return m|0}c[h>>2]=xl(c[(c[f>>2]|0)+68>>2]|0,j)|0;if(c[h>>2]|0){m=c[h>>2]|0;l=k;return m|0}e=c[j+4>>2]|0;m=i;g=c[m+4>>2]|0;if(!((e|0)>(g|0)|((e|0)==(g|0)?(c[j>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[h>>2]|0;l=k;return m|0}m=i;c[h>>2]=lm(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[h>>2]|0;l=k;return m|0}function om(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Bb[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function pm(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;pm(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);_d(c[b>>2]|0);l=e;return}function qm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;do if(d[(c[f>>2]|0)+13>>0]|0){if(!(c[g>>2]|0)){c[e>>2]=0;break}if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[e>>2]=(Fm(c[(c[f>>2]|0)+212>>2]|0)|0)>=25&1;break}else{c[e>>2]=0;break}}else c[e>>2]=1;while(0);l=h;return c[e>>2]|0}function rm(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;Hl(c[d>>2]|0)}l=e;return}function sm(a){a=a|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-13;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];l=g;return}function tm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function um(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){l=e;return 0}Em(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;l=e;return 0}function vm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+48|0;e=m+32|0;f=m+28|0;g=m+24|0;h=m+8|0;i=m;j=m+20|0;k=m+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){k=c[g>>2]|0;l=m;return k|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?d[(c[e>>2]|0)+17>>0]|0|0:0){k=c[g>>2]|0;l=m;return k|0}c[j>>2]=c[(c[e>>2]|0)+160>>2];c[g>>2]=xl(c[(c[e>>2]|0)+64>>2]|0,h)|0;a=c[j>>2]|0;a=r0(a|0,((a|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;b=i;c[b>>2]=a;c[b+4>>2]=D;if(c[g>>2]|0){k=c[g>>2]|0;l=m;return k|0}a=h;b=i;if(!((c[a>>2]|0)!=(c[b>>2]|0)?1:(c[a+4>>2]|0)!=(c[b+4>>2]|0))){k=c[g>>2]|0;l=m;return k|0}a=h;o=c[a+4>>2]|0;b=i;n=c[b+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0))){b=h;n=c[j>>2]|0;n=_$(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=D;o=i;h=c[o+4>>2]|0;if((b|0)<(h|0)|((b|0)==(h|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[k>>2]=c[(c[e>>2]|0)+208>>2];m0(c[k>>2]|0,0,c[j>>2]|0)|0;h=c[(c[e>>2]|0)+64>>2]|0;k=c[k>>2]|0;n=c[j>>2]|0;o=c[j>>2]|0;o=Z$(c[i>>2]|0,c[i+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[g>>2]=Dm(h,k,n,o,D)|0}}else{o=i;c[g>>2]=lm(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[g>>2]|0){o=c[g>>2]|0;l=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[g>>2]|0;l=m;return o|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Bb[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function xm(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){e=c[g>>2]|0;if((c[h>>2]|0)>0){Bm(e,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[i>>2]=1;i=c[i>>2]|0;l=j;return i|0}else{c[i>>2]=(d[e+43>>0]|0)==0&1;i=c[i>>2]|0;l=j;return i|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[i>>2]=0;i=c[i>>2]|0;l=j;return i|0}a[(c[g>>2]|0)+43>>0]=0;if(Am(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[i>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;i=c[i>>2]|0;l=j;return i|0}function ym(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;l=i;return h|0}if(d[(c[f>>2]|0)+14>>0]|0|0)b=0;else b=zm(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=b;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;l=i;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;l=i;return h|0}function zm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function Am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=Cm(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}return 0}function Bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){l=g;return}Cm(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;l=g;return}function Cm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=Kb[c[(c[c[j>>2]>>2]|0)+56>>2]&255](c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function Dm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;j=g+16|0;i=g+12|0;h=g+8|0;k=g;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;f=k;f=Nb[c[(c[c[j>>2]>>2]|0)+12>>2]&255](c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;l=g;return f|0}function Em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){l=i;return}Cm(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;l=i;return}function Fm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=0;c[e>>2]=Dl(c[g>>2]|0)|0;c[b>>2]=c[c[g>>2]>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=(c[d>>2]|0)+1;c[b>>2]=c[(c[b>>2]|0)+32>>2]}if(!(c[e>>2]|0)){g=0;l=f;return g|0}d=c[d>>2]|0;d=r0(d|0,((d|0)<0)<<31>>31|0,100,0)|0;g=c[e>>2]|0;g=n0(d|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;l=f;return g|0}function Gm(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Mm(c[d>>2]|0);l=b;return 0}function Hm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+64|0;t=r+52|0;s=r+48|0;o=r+44|0;p=r+8|0;q=r+40|0;h=r+36|0;i=r+32|0;j=r+28|0;k=r+24|0;g=r;m=r+20|0;n=r+16|0;c[t>>2]=a;c[s>>2]=b;c[o>>2]=d;d=p;c[d>>2]=e;c[d+4>>2]=f;c[q>>2]=c[t>>2];c[h>>2]=c[s>>2];c[i>>2]=c[o>>2];d=(c[q>>2]|0)+40|0;e=p;f=p;a:do if(((c[d>>2]|0)!=(c[e>>2]|0)?1:(c[d+4>>2]|0)!=(c[e+4>>2]|0))|(c[f>>2]|0)==0&(c[f+4>>2]|0)==0){t=g;c[t>>2]=0;c[t+4>>2]=0;c[k>>2]=c[(c[q>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break a;e=g;s=c[(c[q>>2]|0)+4>>2]|0;s=_$(c[e>>2]|0,c[e+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;e=D;t=p;f=c[t+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=c[(c[q>>2]|0)+4>>2]|0;t=g;s=_$(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=D;c[k>>2]=c[c[k>>2]>>2]}}else c[k>>2]=c[(c[q>>2]|0)+40+8>>2];while(0);s=p;t=c[(c[q>>2]|0)+4>>2]|0;t=c0(c[s>>2]|0,c[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;c[j>>2]=t;do{c[m>>2]=(c[(c[q>>2]|0)+4>>2]|0)-(c[j>>2]|0);if((c[i>>2]|0)<((c[(c[q>>2]|0)+4>>2]|0)-(c[j>>2]|0)|0))a=c[i>>2]|0;else a=(c[(c[q>>2]|0)+4>>2]|0)-(c[j>>2]|0)|0;c[n>>2]=a;h0(c[h>>2]|0,(c[k>>2]|0)+4+(c[j>>2]|0)|0,c[n>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(c[n>>2]|0);c[i>>2]=(c[i>>2]|0)-(c[m>>2]|0);c[j>>2]=0;if((c[i>>2]|0)<0)break;t=c[c[k>>2]>>2]|0;c[k>>2]=t}while((t|0)!=0&(c[i>>2]|0)>0);if(!(c[k>>2]|0)){o=0;t=0;s=c[q>>2]|0;s=s+40|0;p=s;c[p>>2]=o;s=s+4|0;c[s>>2]=t;s=c[k>>2]|0;t=c[q>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;l=r;return 0}t=p;o=c[o>>2]|0;o=_$(c[t>>2]|0,c[t+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;t=D;s=c[q>>2]|0;s=s+40|0;p=s;c[p>>2]=o;s=s+4|0;c[s>>2]=t;s=c[k>>2]|0;t=c[q>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;l=r;return 0}function Im(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+52|0;h=u+48|0;i=u+44|0;s=u+40|0;t=u;q=u+36|0;j=u+32|0;k=u+28|0;g=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;p=u+8|0;c[h>>2]=a;c[i>>2]=b;c[s>>2]=d;d=t;c[d>>2]=e;c[d+4>>2]=f;c[q>>2]=c[h>>2];c[j>>2]=c[s>>2];c[k>>2]=c[i>>2];if((c[(c[q>>2]|0)+8>>2]|0)>0?(b=c[s>>2]|0,e=t,e=_$(b|0,((b|0)<0)<<31>>31|0,c[e>>2]|0,c[e+4>>2]|0)|0,b=D,f=c[(c[q>>2]|0)+8>>2]|0,d=((f|0)<0)<<31>>31,(b|0)>(d|0)|(b|0)==(d|0)&e>>>0>f>>>0):0){c[g>>2]=Nm(c[q>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=Dm(c[h>>2]|0,c[i>>2]|0,c[s>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;c[r>>2]=c[g>>2];t=c[r>>2]|0;l=u;return t|0}while(1){if((c[j>>2]|0)<=0){a=18;break}c[m>>2]=c[(c[q>>2]|0)+24+8>>2];h=(c[q>>2]|0)+24|0;i=c[(c[q>>2]|0)+4>>2]|0;i=c0(c[h>>2]|0,c[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c[n>>2]=i;if((c[j>>2]|0)<((c[(c[q>>2]|0)+4>>2]|0)-(c[n>>2]|0)|0))a=c[j>>2]|0;else a=(c[(c[q>>2]|0)+4>>2]|0)-(c[n>>2]|0)|0;c[o>>2]=a;if(!(c[n>>2]|0)){c[p>>2]=pe(12+((c[(c[q>>2]|0)+4>>2]|0)-8)|0)|0;if(!(c[p>>2]|0)){a=12;break}c[c[p>>2]>>2]=0;a=c[p>>2]|0;if(c[m>>2]|0)c[c[m>>2]>>2]=a;else c[(c[q>>2]|0)+16>>2]=a;c[(c[q>>2]|0)+24+8>>2]=c[p>>2]}h0((c[(c[q>>2]|0)+24+8>>2]|0)+4+(c[n>>2]|0)|0,c[k>>2]|0,c[o>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+(c[o>>2]|0);c[j>>2]=(c[j>>2]|0)-(c[o>>2]|0);h=c[o>>2]|0;i=(c[q>>2]|0)+24|0;f=i;h=_$(c[f>>2]|0,c[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;c[i>>2]=h;c[i+4>>2]=D}if((a|0)==12){c[r>>2]=3082;t=c[r>>2]|0;l=u;return t|0}else if((a|0)==18){s=c[s>>2]|0;t=_$(s|0,((s|0)<0)<<31>>31|0,c[t>>2]|0,c[t+4>>2]|0)|0;c[(c[q>>2]|0)+12>>2]=t;c[r>>2]=0;t=c[r>>2]|0;l=u;return t|0}return 0}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;g=f;e=f+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[h>>2];d=g;if(!((c[d>>2]|0)==0&(c[d+4>>2]|0)==0)){l=f;return 0}Mm(c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+24+8>>2]=0;h=(c[e>>2]|0)+24|0;c[h>>2]=0;c[h+4>>2]=0;c[(c[e>>2]|0)+40+8>>2]=0;h=(c[e>>2]|0)+40|0;c[h>>2]=0;c[h+4>>2]=0;l=f;return 0}function Km(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function Lm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+24|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;l=d;return 0}function Mm(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];_d(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+16>>2]=0;l=f;return}function Nm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;e=m+96|0;f=m+92|0;g=m+88|0;h=m+8|0;i=m+84|0;j=m;k=m+80|0;c[e>>2]=a;c[g>>2]=c[e>>2];a=h;b=c[e>>2]|0;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));a=c[e>>2]|0;d=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[f>>2]=Om(c[h+60>>2]|0,c[h+64>>2]|0,c[g>>2]|0,c[h+56>>2]|0,0)|0;if(!(c[f>>2]|0)){c[i>>2]=c[h+4>>2];d=j;c[d>>2]=0;c[d+4>>2]=0;c[k>>2]=c[h+16>>2];while(1){if(!(c[k>>2]|0))break;n=j;b=c[i>>2]|0;b=_$(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=D;d=h+24|0;a=c[d+4>>2]|0;if((n|0)>(a|0)|((n|0)==(a|0)?b>>>0>(c[d>>2]|0)>>>0:0)){d=h+24|0;n=j;n=Z$(c[d>>2]|0,c[d+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[i>>2]=n}n=j;c[f>>2]=Dm(c[g>>2]|0,(c[k>>2]|0)+4|0,c[i>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[f>>2]|0)break;d=c[i>>2]|0;n=j;d=_$(c[n>>2]|0,c[n+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;n=j;c[n>>2]=d;c[n+4>>2]=D;c[k>>2]=c[c[k>>2]>>2]}if(!(c[f>>2]|0))Mm(h)}if(!(c[f>>2]|0)){n=c[f>>2]|0;l=m;return n|0}fm(c[g>>2]|0);a=c[e>>2]|0;b=h;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));n=c[f>>2]|0;l=m;return n|0}function Om(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;n=h+20|0;m=h+16|0;k=h+12|0;j=h+8|0;i=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[g>>2]=Nb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]&556927,c[i>>2]|0)|0;l=h;return c[g>>2]|0}function Pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;i=m+24|0;e=m+20|0;f=m+16|0;j=m+12|0;g=m+8|0;h=m+4|0;k=m;c[i>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=c[(c[i>>2]|0)+44>>2];if(c[j>>2]|0){k=c[j>>2]|0;l=m;return k|0}if((c[f>>2]|0)>=(c[(c[i>>2]|0)+104>>2]|0)){k=c[j>>2]|0;l=m;return k|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[i>>2]|0)+104>>2]|0))break;pm(c[(c[(c[i>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[i>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((tm(c[i>>2]|0)|0)==0?(c[c[(c[i>>2]|0)+68>>2]>>2]|0)==0:0){k=c[j>>2]|0;l=m;return k|0}if(!(c[h>>2]|0))a=0;else a=(c[(c[i>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=a;c[j>>2]=ho(c[i>>2]|0,c[k>>2]|0)|0;k=c[j>>2]|0;l=m;return k|0}if(c[h>>2]|0){k=c[j>>2]|0;l=m;return k|0}if(!(c[c[(c[i>>2]|0)+72>>2]>>2]|0)){k=c[j>>2]|0;l=m;return k|0}if(km(c[(c[i>>2]|0)+72>>2]|0)|0)c[j>>2]=lm(c[(c[i>>2]|0)+72>>2]|0,0,0)|0;c[(c[i>>2]|0)+56>>2]=0;k=c[j>>2]|0;l=m;return k|0}function Qm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;s=t+8|0;p=t+56|0;q=t+52|0;g=t+48|0;h=t;i=t+44|0;j=t+40|0;k=t+36|0;r=t+32|0;m=t+28|0;n=t+24|0;f=t+20|0;o=t+16|0;c[p>>2]=b;c[q>>2]=e;c[g>>2]=c[c[p>>2]>>2];c[k>>2]=0;c[m>>2]=1;c[n>>2]=0;c[o>>2]=0;c[r>>2]=xl(c[(c[p>>2]|0)+68>>2]|0,h)|0;a:do if(!(c[r>>2]|0)){c[n>>2]=c[(c[p>>2]|0)+208>>2];c[r>>2]=Rm(c[(c[p>>2]|0)+68>>2]|0,c[n>>2]|0,(c[(c[c[p>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[r>>2]|0)==0?a[c[n>>2]>>0]|0:0)c[r>>2]=Sm(c[g>>2]|0,c[n>>2]|0,0,m)|0;c[n>>2]=0;if((c[r>>2]|0)==0&(c[m>>2]|0)!=0){g=(c[p>>2]|0)+80|0;c[g>>2]=0;c[g+4>>2]=0;c[f>>2]=c[q>>2];b:while(1){g=h;c[r>>2]=Tm(c[p>>2]|0,c[q>>2]|0,c[g>>2]|0,c[g+4>>2]|0,i,k)|0;if(c[r>>2]|0){b=8;break}if((c[i>>2]|0)==-1){e=h;e=Z$(c[e>>2]|0,c[e+4>>2]|0,c[(c[p>>2]|0)+156>>2]|0,0)|0;g=(c[(c[p>>2]|0)+160>>2]|0)+8|0;g=n0(e|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;c[i>>2]=g}if(!((c[i>>2]|0)!=0|(c[q>>2]|0)!=0)?(e=(c[p>>2]|0)+88|0,e=_$(c[e>>2]|0,c[e+4>>2]|0,c[(c[p>>2]|0)+156>>2]|0,0)|0,g=(c[p>>2]|0)+80|0,(e|0)==(c[g>>2]|0)?(D|0)==(c[g+4>>2]|0):0):0){g=h;e=(c[p>>2]|0)+80|0;e=Z$(c[g>>2]|0,c[g+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;g=(c[(c[p>>2]|0)+160>>2]|0)+8|0;g=n0(e|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;c[i>>2]=g}g=(c[p>>2]|0)+80|0;if((c[g+4>>2]|0)==0?(c[g>>2]|0)==(c[(c[p>>2]|0)+156>>2]|0):0){c[r>>2]=vm(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0)break a;c[(c[p>>2]|0)+28>>2]=c[k>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[i>>2]|0)>>>0)continue b;if(c[f>>2]|0){zl(c[p>>2]|0);c[f>>2]=0}c[r>>2]=Um(c[p>>2]|0,(c[p>>2]|0)+80|0,0,1,0)|0;if(c[r>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if((c[r>>2]|0)!=101){b=26;break}b=h;e=c[b+4>>2]|0;g=(c[p>>2]|0)+80|0;c[g>>2]=c[b>>2];c[g+4>>2]=e}if((b|0)==8){if((c[r>>2]|0)!=101)break;c[r>>2]=0;break}else if((b|0)==26){if((c[r>>2]|0)!=522)break;c[r>>2]=0;break}}}while(0);a[(c[p>>2]|0)+19>>0]=a[(c[p>>2]|0)+13>>0]|0;if(!(c[r>>2]|0)){c[n>>2]=c[(c[p>>2]|0)+208>>2];c[r>>2]=Rm(c[(c[p>>2]|0)+68>>2]|0,c[n>>2]|0,(c[(c[c[p>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[r>>2]|0)){if((d[(c[p>>2]|0)+17>>0]|0)<4?d[(c[p>>2]|0)+17>>0]|0:0)break;c[r>>2]=Vm(c[p>>2]|0,0)|0}while(0);if(!(c[r>>2]|0))c[r>>2]=im(c[p>>2]|0,(a[c[n>>2]>>0]|0)!=0&1,0)|0;if((c[r>>2]|0)==0?(c[m>>2]|0?(a[c[n>>2]>>0]|0)!=0:0):0)c[r>>2]=Wm(c[p>>2]|0,c[n>>2]|0)|0;if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[p>>2]|0;Xm(s);s=c[r>>2]|0;l=t;return s|0}q=c[(c[p>>2]|0)+180>>2]|0;c[s>>2]=c[o>>2];c[s+4>>2]=q;xd(539,24867,s);s=c[p>>2]|0;Xm(s);s=c[r>>2]|0;l=t;return s|0}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+36|0;j=q+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q;f=q+12|0;g=q+8|0;h=q+40|0;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;a[c[k>>2]>>0]=0;b=xl(c[j>>2]|0,p)|0;c[n>>2]=b;e=p;d=c[e+4>>2]|0;if((((((!(0!=(b|0)|((d|0)<0|(d|0)==0&(c[e>>2]|0)>>>0<16))?(d=c[j>>2]|0,e=p,e=Z$(c[e>>2]|0,c[e+4>>2]|0,16,0)|0,e=an(d,e,D,o)|0,c[n>>2]=e,0==(e|0)):0)?!((c[o>>2]|0)==0?1:(c[o>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(e=c[j>>2]|0,m=p,m=Z$(c[m>>2]|0,c[m+4>>2]|0,12,0)|0,m=an(e,m,D,f)|0,c[n>>2]=m,0==(m|0)):0)?(e=c[j>>2]|0,m=p,m=Z$(c[m>>2]|0,c[m+4>>2]|0,8,0)|0,m=$m(e,h,8,m,D)|0,c[n>>2]=m,0==(m|0)):0)?(H_(h,24914,8)|0)==0:0)?(e=c[j>>2]|0,j=c[k>>2]|0,m=c[o>>2]|0,p,p=Z$(c[p>>2]|0,c[p+4>>2]|0,16,0)|0,p=Z$(p|0,D|0,c[o>>2]|0,0)|0,p=$m(e,j,m,p,D)|0,c[n>>2]=p,0==(p|0)):0){c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;c[f>>2]=(c[f>>2]|0)-(a[(c[k>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)+1}if(c[f>>2]|0)c[o>>2]=0;a[(c[k>>2]|0)+(c[o>>2]|0)>>0]=0;c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}c[i>>2]=c[n>>2];p=c[i>>2]|0;l=q;return p|0}function Sm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=Kb[c[(c[j>>2]|0)+32>>2]&255](c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function Tm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;p=s+44|0;q=s+40|0;r=s+36|0;t=s+8|0;h=s+32|0;i=s+28|0;j=s+24|0;k=s+48|0;m=s;n=s+20|0;o=s+16|0;c[q>>2]=a;c[r>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=f;c[i>>2]=g;d=co(c[q>>2]|0)|0;f=(c[q>>2]|0)+80|0;c[f>>2]=d;c[f+4>>2]=D;f=(c[q>>2]|0)+80|0;f=_$(c[f>>2]|0,c[f+4>>2]|0,c[(c[q>>2]|0)+156>>2]|0,0)|0;d=D;g=t;e=c[g+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?f>>>0>(c[g>>2]|0)>>>0:0)){c[p>>2]=101;t=c[p>>2]|0;l=s;return t|0}f=(c[q>>2]|0)+80|0;g=c[f+4>>2]|0;t=m;c[t>>2]=c[f>>2];c[t+4>>2]=g;if(!(!(c[r>>2]|0)?(r=m,t=(c[q>>2]|0)+88|0,!((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=m;c[j>>2]=$m(c[(c[q>>2]|0)+68>>2]|0,k,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[j>>2]|0){c[p>>2]=c[j>>2];t=c[p>>2]|0;l=s;return t|0}if(H_(k,24914,8)|0){c[p>>2]=101;t=c[p>>2]|0;l=s;return t|0}}r=c[(c[q>>2]|0)+68>>2]|0;t=m;t=_$(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=an(r,t,D,c[h>>2]|0)|0;c[j>>2]=t;if((0==(t|0)?(r=c[(c[q>>2]|0)+68>>2]|0,t=m,t=_$(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=an(r,t,D,(c[q>>2]|0)+52|0)|0,c[j>>2]=t,0==(t|0)):0)?(r=c[(c[q>>2]|0)+68>>2]|0,t=m,t=_$(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=an(r,t,D,c[i>>2]|0)|0,c[j>>2]=t,0==(t|0)):0){t=(c[q>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){r=c[(c[q>>2]|0)+68>>2]|0;t=m;t=_$(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=an(r,t,D,o)|0;c[j>>2]=t;if(0==(t|0)?(r=c[(c[q>>2]|0)+68>>2]|0,t=m,t=_$(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=an(r,t,D,n)|0,c[j>>2]=t,0==(t|0)):0){if(!(c[n>>2]|0))c[n>>2]=c[(c[q>>2]|0)+160>>2];if((!((c[n>>2]|0)>>>0<512|(c[o>>2]|0)>>>0<32|(c[n>>2]|0)>>>0>65536|(c[o>>2]|0)>>>0>65536)?((c[n>>2]|0)-1&c[n>>2]|0)==0:0)?((c[o>>2]|0)-1&c[o>>2]|0)==0:0){c[j>>2]=vl(c[q>>2]|0,n,-1)|0;c[(c[q>>2]|0)+156>>2]=c[o>>2];break}c[p>>2]=101;t=c[p>>2]|0;l=s;return t|0}c[p>>2]=c[j>>2];t=c[p>>2]|0;l=s;return t|0}while(0);t=(c[q>>2]|0)+80|0;r=t;r=_$(c[r>>2]|0,c[r+4>>2]|0,c[(c[q>>2]|0)+156>>2]|0,0)|0;c[t>>2]=r;c[t+4>>2]=D;c[p>>2]=c[j>>2];t=c[p>>2]|0;l=s;return t|0}c[p>>2]=c[j>>2];t=c[p>>2]|0;l=s;return t|0}function Um(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+64|0;A=B+60|0;u=B+56|0;o=B+52|0;p=B+48|0;v=B+44|0;k=B+40|0;y=B+36|0;z=B+32|0;q=B+28|0;m=B+24|0;r=B+20|0;n=B+16|0;s=B+12|0;t=B;x=B+8|0;c[u>>2]=f;c[o>>2]=g;c[p>>2]=h;c[v>>2]=i;c[k>>2]=j;c[r>>2]=c[(c[u>>2]|0)+208>>2];f=c[u>>2]|0;if(c[v>>2]|0)f=c[f+68>>2]|0;else f=c[f+72>>2]|0;c[n>>2]=f;j=c[o>>2]|0;c[y>>2]=an(c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,q)|0;if(c[y>>2]|0){c[A>>2]=c[y>>2];A=c[A>>2]|0;l=B;return A|0}g=c[n>>2]|0;h=c[r>>2]|0;i=c[(c[u>>2]|0)+160>>2]|0;j=c[o>>2]|0;j=_$(c[j>>2]|0,c[j+4>>2]|0,4,0)|0;c[y>>2]=$m(g,h,i,j,D)|0;if(c[y>>2]|0){c[A>>2]=c[y>>2];A=c[A>>2]|0;l=B;return A|0}i=(c[(c[u>>2]|0)+160>>2]|0)+4+(c[v>>2]<<2)|0;j=c[o>>2]|0;h=j;i=_$(c[h>>2]|0,c[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c[j>>2]=i;c[j+4>>2]=D;if(c[q>>2]|0?(c[q>>2]|0)!=(((c[482]|0)/(c[(c[u>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[q>>2]|0)>>>0<=(c[(c[u>>2]|0)+28>>2]|0)>>>0?(bn(c[p>>2]|0,c[q>>2]|0)|0)==0:0){if(c[v>>2]|0){j=c[n>>2]|0;n=c[o>>2]|0;n=Z$(c[n>>2]|0,c[n+4>>2]|0,4,0)|0;c[y>>2]=an(j,n,D,m)|0;if(c[y>>2]|0){c[A>>2]=c[y>>2];A=c[A>>2]|0;l=B;return A|0}if((c[k>>2]|0)==0?(n=cn(c[u>>2]|0,c[r>>2]|0)|0,(n|0)!=(c[m>>2]|0)):0){c[A>>2]=101;A=c[A>>2]|0;l=B;return A|0}}if(c[p>>2]|0?(p=dn(c[p>>2]|0,c[q>>2]|0)|0,c[y>>2]=p,p|0):0){c[A>>2]=c[y>>2];A=c[A>>2]|0;l=B;return A|0}if((c[q>>2]|0)==1?(b[(c[u>>2]|0)+150>>1]|0)!=(d[(c[r>>2]|0)+20>>0]|0):0)b[(c[u>>2]|0)+150>>1]=d[(c[r>>2]|0)+20>>0]|0;if(tm(c[u>>2]|0)|0)c[z>>2]=0;else c[z>>2]=en(c[u>>2]|0,c[q>>2]|0)|0;if(c[v>>2]|0){if(d[(c[u>>2]|0)+7>>0]|0)f=1;else{p=c[o>>2]|0;n=c[p+4>>2]|0;f=(c[u>>2]|0)+88|0;o=c[f+4>>2]|0;f=(n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<=(c[f>>2]|0)>>>0:0)}c[s>>2]=f&1}else{if(!(c[z>>2]|0))f=1;else f=0==(e[(c[z>>2]|0)+24>>1]&8|0);c[s>>2]=f&1}do if(c[c[(c[u>>2]|0)+64>>2]>>2]|0){if((d[(c[u>>2]|0)+17>>0]|0)>=4){if(!(c[s>>2]|0)){w=44;break}}else if(!(c[s>>2]|0?(d[(c[u>>2]|0)+17>>0]|0)==0:0)){w=44;break}p=c[(c[u>>2]|0)+160>>2]|0;p=r0((c[q>>2]|0)-1|0,0,p|0,((p|0)<0)<<31>>31|0)|0;s=t;c[s>>2]=p;c[s+4>>2]=D;c[y>>2]=Dm(c[(c[u>>2]|0)+64>>2]|0,c[r>>2]|0,c[(c[u>>2]|0)+160>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;if((c[q>>2]|0)>>>0>(c[(c[u>>2]|0)+36>>2]|0)>>>0)c[(c[u>>2]|0)+36>>2]=c[q>>2];if(c[(c[u>>2]|0)+96>>2]|0){fn(c[(c[u>>2]|0)+96>>2]|0,c[q>>2]|0,c[r>>2]|0);c[r>>2]=c[r>>2]}}else w=44;while(0);do if((w|0)==44?(c[v>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[u>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[y>>2]=gn(c[u>>2]|0,c[q>>2]|0,z,1)|0;w=(c[u>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[y>>2]|0)){hn(c[z>>2]|0);break}c[A>>2]=c[y>>2];A=c[A>>2]|0;l=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];h0(c[x>>2]|0,c[r>>2]|0,c[(c[u>>2]|0)+160>>2]|0)|0;Eb[c[(c[u>>2]|0)+204>>2]&255](c[z>>2]|0);if((c[q>>2]|0)==1){h=(c[u>>2]|0)+112|0;f=(c[x>>2]|0)+24|0;g=h+16|0;do{a[h>>0]=a[f>>0]|0;h=h+1|0;f=f+1|0}while((h|0)<(g|0))}jn(c[z>>2]|0)}c[A>>2]=c[y>>2];A=c[A>>2]|0;l=B;return A|0}c[A>>2]=0;A=c[A>>2]|0;l=B;return A|0}c[A>>2]=101;A=c[A>>2]|0;l=B;return A|0}function Vm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[i>>2]=c[g>>2];i=wm(c[(c[f>>2]|0)+64>>2]|0,21,c[i>>2]|0)|0;c[h>>2]=i;c[h>>2]=(c[h>>2]|0)==12?0:i}if(c[h>>2]|0){i=c[h>>2]|0;l=j;return i|0}if(a[(c[f>>2]|0)+7>>0]|0){i=c[h>>2]|0;l=j;return i|0}c[h>>2]=mm(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;i=c[h>>2]|0;l=j;return i|0}function Wm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+64|0;t=s+60|0;k=s+56|0;m=s+52|0;n=s+48|0;o=s+44|0;p=s+40|0;q=s+36|0;r=s;e=s+32|0;f=s+28|0;g=s+24|0;h=s+16|0;i=s+12|0;j=s+8|0;c[t>>2]=b;c[k>>2]=d;c[m>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[m>>2]|0)+4>>2]<<1;c[o>>2]=Xg(d,((d|0)<0)<<31>>31)|0;c[p>>2]=(c[o>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0);if(c[o>>2]|0){c[s+20>>2]=16385;c[n>>2]=Om(c[m>>2]|0,c[k>>2]|0,c[o>>2]|0,16385,0)|0}else c[n>>2]=7;a:do if((c[n>>2]|0)==0?(c[n>>2]=xl(c[o>>2]|0,r)|0,(c[n>>2]|0)==0):0){c[g>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;d=r;t=c[g>>2]|0;t=_$(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=_$(t|0,D|0,1,0)|0;c[q>>2]=Fd(t,D)|0;if(!(c[q>>2]|0)){c[n>>2]=7;break}d=c[q>>2]|0;t=r;t=_$(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[f>>2]=d+t;c[n>>2]=$m(c[o>>2]|0,c[q>>2]|0,c[r>>2]|0,0,0)|0;if(!(c[n>>2]|0)){a[(c[q>>2]|0)+(c[r>>2]|0)>>0]=0;c[e>>2]=c[q>>2];while(1){d=(c[e>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=r;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[n>>2]=Sm(c[m>>2]|0,c[e>>2]|0,0,h)|0;if(c[n>>2]|0)break a;if(c[h>>2]|0){c[j>>2]=2049;c[n>>2]=Om(c[m>>2]|0,c[e>>2]|0,c[p>>2]|0,c[j>>2]|0,0)|0;if(c[n>>2]|0)break a;c[n>>2]=Rm(c[p>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;fm(c[p>>2]|0);if(c[n>>2]|0)break a;if(a[c[f>>2]>>0]|0)b=(G_(c[f>>2]|0,c[k>>2]|0)|0)==0;else b=0;c[i>>2]=b&1;if(c[i>>2]|0)break a}u=(md(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+u}fm(c[o>>2]|0);c[n>>2]=om(c[m>>2]|0,c[k>>2]|0,0)|0}}while(0);_d(c[q>>2]|0);if(!(c[o>>2]|0)){u=c[n>>2]|0;l=s;return u|0}fm(c[o>>2]|0);_d(c[o>>2]|0);u=c[n>>2]|0;l=s;return u|0}function Xm(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?((Ym(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=Zm(c[(c[b>>2]|0)+64>>2]|0)|0;b=c[b>>2]|0;b=b+156|0;c[b>>2]=a;l=e;return}a=512;b=c[b>>2]|0;b=b+156|0;c[b>>2]=a;l=e;return}function Ym(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Hb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;l=b;return a|0}function Zm(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=_m(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;l=d;return c[b>>2]|0}function _m(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;l=e;return d|0}d=Hb[c[d>>2]&255](c[b>>2]|0)|0;l=e;return d|0}function $m(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;j=g+16|0;i=g+12|0;h=g+8|0;k=g;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;f=k;f=Nb[c[(c[c[j>>2]>>2]|0)+8>>2]&255](c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;l=g;return f|0}function an(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;j=i+16|0;k=i;f=i+12|0;g=i+20|0;h=i+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=k;c[h>>2]=$m(c[j>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=i;return k|0}k=Vl(g)|0;c[c[f>>2]>>2]=k;k=c[h>>2]|0;l=i;return k|0}function bn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){e=0;e=e&1;l=f;return e|0}e=(Wn(c[d>>2]|0,c[e>>2]|0)|0)!=0;e=e&1;l=f;return e|0}function cn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[i>>2]|0)+52>>2];c[g>>2]=(c[(c[i>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}l=h;return c[f>>2]|0}function dn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;g=p+20|0;h=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[g>>2]=e;if(!(c[k>>2]|0)){c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}c[g>>2]=(c[g>>2]|0)+-1;while(1){if((c[c[k>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[k>>2]|0)+8>>2]|0))break;c[f>>2]=((c[g>>2]|0)>>>0)/((c[(c[k>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=((c[g>>2]|0)>>>0)%((c[(c[k>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[k>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(e=Zn(c[(c[k>>2]|0)+8>>2]|0)|0,c[(c[k>>2]|0)+12+(c[f>>2]<<2)>>2]=e,(c[(c[k>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){i=8;break}c[k>>2]=c[(c[k>>2]|0)+12+(c[f>>2]<<2)>>2]}if((i|0)==8){c[j>>2]=7;o=c[j>>2]|0;l=p;return o|0}b=c[g>>2]|0;if((c[c[k>>2]>>2]|0)>>>0<=4e3){o=(c[k>>2]|0)+12+(((c[g>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(b&7);c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}c[g>>2]=b+1;c[h>>2]=(b>>>0)%125|0;a:do if(!(c[(c[k>>2]|0)+12+(c[h>>2]<<2)>>2]|0)){if((c[(c[k>>2]|0)+4>>2]|0)>>>0>=124)i=17}else{while(1){if((c[(c[k>>2]|0)+12+(c[h>>2]<<2)>>2]|0)==(c[g>>2]|0))break;i=(c[h>>2]|0)+1|0;c[h>>2]=i;c[h>>2]=(c[h>>2]|0)>>>0>=125?0:i;if(!(c[(c[k>>2]|0)+12+(c[h>>2]<<2)>>2]|0)){i=17;break a}}c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}while(0);if((i|0)==17?(c[(c[k>>2]|0)+4>>2]|0)>>>0>=62:0){c[o>>2]=Cd(0,500,0)|0;if(!(c[o>>2]|0)){c[j>>2]=7;o=c[j>>2]|0;l=p;return o|0}h0(c[o>>2]|0,(c[k>>2]|0)+12|0,500)|0;m0((c[k>>2]|0)+12|0,0,500)|0;c[(c[k>>2]|0)+8>>2]=(((c[c[k>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=dn(c[k>>2]|0,c[g>>2]|0)|0;c[m>>2]=0;while(1){b=c[o>>2]|0;if((c[m>>2]|0)>>>0>=125)break;if(c[b+(c[m>>2]<<2)>>2]|0){i=dn(c[k>>2]|0,c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|i}c[m>>2]=(c[m>>2]|0)+1}Xd(0,b);c[j>>2]=c[n>>2];o=c[j>>2]|0;l=p;return o|0}o=(c[k>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[k>>2]|0)+12+(c[h>>2]<<2)>>2]=c[g>>2];c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}function en(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=pn(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}else{c[d>>2]=rn(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;g=c[d>>2]|0;l=h;return g|0}return 0}function fn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){l=h;return}En(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);l=h;return}function gn(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;u=t+28|0;s=t+24|0;j=t+20|0;k=t+16|0;m=t+12|0;n=t+8|0;g=t+4|0;h=t;c[p>>2]=a;c[q>>2]=b;c[r>>2]=e;c[u>>2]=f;c[s>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[u>>2]&1;c[n>>2]=0;if((c[q>>2]|0)>>>0<=1&(c[q>>2]|0)==0){c[o>>2]=kn(51704)|0;u=c[o>>2]|0;l=t;return u|0}do if(c[(c[p>>2]|0)+44>>2]|0){c[s>>2]=c[(c[p>>2]|0)+44>>2];i=24}else{if((c[n>>2]|0?tm(c[p>>2]|0)|0:0)?(c[s>>2]=ln(c[(c[p>>2]|0)+216>>2]|0,c[q>>2]|0,k)|0,c[s>>2]|0):0)break;if((c[n>>2]|0)!=0&(c[k>>2]|0)==0){c[g>>2]=0;f=c[(c[p>>2]|0)+64>>2]|0;u=c[(c[p>>2]|0)+160>>2]|0;u=r0((c[q>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=mn(f,u,D,c[(c[p>>2]|0)+160>>2]|0,g)|0;if((c[s>>2]|0)==0&(c[g>>2]|0)!=0){if(!((d[(c[p>>2]|0)+17>>0]|0|0)<=1?!(d[(c[p>>2]|0)+13>>0]|0|0):0))c[j>>2]=en(c[p>>2]|0,c[q>>2]|0)|0;a=c[p>>2]|0;if(!(c[j>>2]|0))c[s>>2]=nn(a,c[q>>2]|0,c[g>>2]|0,j)|0;else{f=c[a+64>>2]|0;u=c[(c[p>>2]|0)+160>>2]|0;u=r0((c[q>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;on(f,u,D,c[g>>2]|0)|0}if(c[j>>2]|0){c[c[r>>2]>>2]=c[j>>2];c[o>>2]=0;u=c[o>>2]|0;l=t;return u|0}}if(c[s>>2]|0)break}c[h>>2]=pn(c[(c[p>>2]|0)+212>>2]|0,c[q>>2]|0,3)|0;if(!(c[h>>2]|0)){c[s>>2]=qn(c[(c[p>>2]|0)+212>>2]|0,c[q>>2]|0,h)|0;if(c[s>>2]|0)break;if(!(c[h>>2]|0)){c[c[r>>2]>>2]=0;c[j>>2]=0;c[s>>2]=7;break}}i=rn(c[(c[p>>2]|0)+212>>2]|0,c[q>>2]|0,c[h>>2]|0)|0;c[c[r>>2]>>2]=i;c[j>>2]=i;i=24}while(0);do if((i|0)==24){if(c[s>>2]|0){c[j>>2]=0;break}a=c[p>>2]|0;if(!(c[m>>2]|0?1:(c[(c[j>>2]|0)+16>>2]|0)==0)){u=a+192|0;c[u>>2]=(c[u>>2]|0)+1;c[o>>2]=0;u=c[o>>2]|0;l=t;return u|0}c[(c[j>>2]|0)+16>>2]=a;if((c[q>>2]|0)>>>0<=2147483647?(c[q>>2]|0)!=(((c[482]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0):0){if(c[c[(c[p>>2]|0)+64>>2]>>2]|0?!(c[m>>2]|0?1:(c[(c[p>>2]|0)+28>>2]|0)>>>0<(c[q>>2]|0)>>>0):0){u=(tm(c[p>>2]|0)|0)!=0;if(u&(c[n>>2]|0)==0?(c[s>>2]=ln(c[(c[p>>2]|0)+216>>2]|0,c[q>>2]|0,k)|0,c[s>>2]|0):0)break;u=(c[p>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=tn(c[j>>2]|0,c[k>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[q>>2]|0)>>>0>(c[(c[p>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[m>>2]|0){Ug();if((c[q>>2]|0)>>>0<=(c[(c[p>>2]|0)+32>>2]|0)>>>0)dn(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0;sn(c[p>>2]|0,c[q>>2]|0)|0;Wg()}m0(c[(c[j>>2]|0)+4>>2]|0,0,c[(c[p>>2]|0)+160>>2]|0)|0}c[o>>2]=0;u=c[o>>2]|0;l=t;return u|0}c[s>>2]=kn(51793)|0}while(0);if(c[j>>2]|0)un(c[j>>2]|0);vn(c[p>>2]|0);c[c[r>>2]>>2]=0;c[o>>2]=c[s>>2];u=c[o>>2]|0;l=t;return u|0}function hn(a){a=a|0;var d=0,f=0;f=l;l=l+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&17)){l=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-17;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){l=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;Il(c[d>>2]|0,2);l=f;return}function jn(a){a=a|0;var d=0,f=0,g=0;f=l;l=l+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16|0){l=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1|0){Jl(a);l=f;return}if(!(c[a+36>>2]|0)){l=f;return}Il(c[d>>2]|0,3);l=f;return}function kn(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=vd(11,c[d>>2]|0,24894)|0;l=b;return a|0}function ln(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;t=w+56|0;o=w+52|0;p=w+48|0;u=w+44|0;v=w+40|0;q=w+36|0;r=w+32|0;g=w+28|0;h=w+24|0;i=w+20|0;j=w+16|0;k=w+12|0;m=w+8|0;s=w+4|0;n=w;c[o>>2]=a;c[p>>2]=d;c[u>>2]=f;c[v>>2]=0;c[q>>2]=c[(c[o>>2]|0)+52+16>>2];if(c[q>>2]|0?b[(c[o>>2]|0)+40>>1]|0:0){c[g>>2]=yn(c[(c[o>>2]|0)+100>>2]|0)|0;c[r>>2]=yn(c[q>>2]|0)|0;a:while(1){if(!((c[r>>2]|0)>=(c[g>>2]|0)?(c[v>>2]|0)==0:0)){a=18;break}c[s>>2]=zn(c[o>>2]|0,c[r>>2]|0,h,i,j)|0;if(c[s>>2]|0){a=7;break}c[m>>2]=8192;c[k>>2]=An(c[p>>2]|0)|0;while(1){if(!(b[(c[h>>2]|0)+(c[k>>2]<<1)>>1]|0))break;c[n>>2]=(e[(c[h>>2]|0)+(c[k>>2]<<1)>>1]|0)+(c[j>>2]|0);if(((c[n>>2]|0)>>>0<=(c[q>>2]|0)>>>0?(c[n>>2]|0)>>>0>=(c[(c[o>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[i>>2]|0)+(e[(c[h>>2]|0)+(c[k>>2]<<1)>>1]<<2)>>2]|0)==(c[p>>2]|0):0)c[v>>2]=c[n>>2];f=c[m>>2]|0;c[m>>2]=f+-1;if(!f){a=15;break a}c[k>>2]=Bn(c[k>>2]|0)|0}c[r>>2]=(c[r>>2]|0)+-1}if((a|0)==7){c[t>>2]=c[s>>2];v=c[t>>2]|0;l=w;return v|0}else if((a|0)==15){c[t>>2]=kn(56344)|0;v=c[t>>2]|0;l=w;return v|0}else if((a|0)==18){c[c[u>>2]>>2]=c[v>>2];c[t>>2]=0;v=c[t>>2]|0;l=w;return v|0}}c[c[u>>2]>>2]=0;c[t>>2]=0;v=c[t>>2]|0;l=w;return v|0}function mn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;l=g;return 0}function nn(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[i>>2]=a;c[j>>2]=d;c[k>>2]=f;c[m>>2]=g;a=c[i>>2]|0;do if(c[(c[i>>2]|0)+144>>2]|0){g=c[a+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[i>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;m0(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[i>>2]|0)+148>>1]|0|0)|0}else{g=Xg(40+(e[a+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=32;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[i>>2];break}m=c[(c[i>>2]|0)+64>>2]|0;n=c[(c[i>>2]|0)+160>>2]|0;n=r0((c[j>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;on(m,n,D,c[k>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;l=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[j>>2];c[(c[n>>2]|0)+4>>2]=c[k>>2];n=(c[i>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}function on(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;l=f;return 0}function pn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;j=g+16|0;i=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[i>>2]=b;c[k>>2]=e;c[h>>2]=c[k>>2]&(d[(c[j>>2]|0)+33>>0]|0);c[f>>2]=Bb[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return c[f>>2]|0}function qn(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[i>>2]=a;c[j>>2]=f;c[k>>2]=g;if((d[(c[i>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}g=dl(c[i>>2]|0)|0;if((g|0)>(c[(c[i>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[i>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[i>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[i>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if(c[m>>2]|0?(c[n>>2]=Mb[c[(c[i>>2]|0)+36>>2]&255](c[(c[i>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;l=o;return n|0}}n=Bb[c[144>>2]&255](c[(c[i>>2]|0)+44>>2]|0,c[j>>2]|0,2)|0;c[c[k>>2]>>2]=n;c[h>>2]=(c[c[k>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;l=o;return n|0}function rn(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;k=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[(c[h>>2]|0)+4>>2];a=c[k>>2]|0;if(c[c[i>>2]>>2]|0){k=a+12|0;c[k>>2]=(c[k>>2]|0)+1;k=(c[i>>2]|0)+26|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;c[f>>2]=c[i>>2];k=c[f>>2]|0;l=j;return k|0}else{c[f>>2]=xn(a,c[g>>2]|0,c[h>>2]|0)|0;k=c[f>>2]|0;l=j;return k|0}return 0}function sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[h>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[h>>2]|0)+20>>2]|0)>>>0){b=dn(c[(c[h>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[g>>2]=c[g>>2]|b}c[f>>2]=(c[f>>2]|0)+1}l=i;return c[g>>2]|0}function tn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;i=n+12|0;j=n;k=n+8|0;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+16>>2];c[h>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[i>>2]=c[(c[g>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=wn(c[(c[g>>2]|0)+216>>2]|0,c[f>>2]|0,c[i>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[g>>2]|0)+160>>2]|0;d=r0((c[h>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=d;c[f+4>>2]=D;j=$m(c[(c[g>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[i>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[m>>2]=j;c[m>>2]=(c[m>>2]|0)==522?0:j}if((c[h>>2]|0)!=1){m=c[m>>2]|0;l=n;return m|0}if(c[m>>2]|0){k=(c[g>>2]|0)+112|0;c[k>>2]=-1;c[k+4>>2]=-1;c[k+8>>2]=-1;c[k+12>>2]=-1;m=c[m>>2]|0;l=n;return m|0}else{c[k>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;e=(c[g>>2]|0)+112|0;b=c[k>>2]|0;d=e+16|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));m=c[m>>2]|0;l=n;return m|0}return 0}function un(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2|0)Il(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;Ib[c[148>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);l=d;return}function vn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){l=d;return}if(wl(c[(c[b>>2]|0)+212>>2]|0)|0){l=d;return}em(c[b>>2]|0);l=d;return}function wn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+32|0;k=g+24|0;n=g+20|0;h=g+16|0;j=g+12|0;i=g+8|0;m=g;c[k>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=f;c[i>>2]=e[(c[k>>2]|0)+52+14>>1];c[i>>2]=(c[i>>2]&65024)+((c[i>>2]&1)<<16);d=(c[i>>2]|0)+24|0;d=r0((c[n>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;d=_$(32,0,d|0,D|0)|0;d=_$(d|0,D|0,24,0)|0;f=m;c[f>>2]=d;c[f+4>>2]=D;f=m;f=$m(c[(c[k>>2]|0)+8>>2]|0,c[j>>2]|0,(c[h>>2]|0)>(c[i>>2]|0)?c[i>>2]|0:c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;l=g;return f|0}function xn(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;j=f;c[i>>2]=a;c[h>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[g>>2]|0)+4>>2];e=(c[j>>2]|0)+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];c[(c[j>>2]|0)+8>>2]=(c[j>>2]|0)+40;m0(c[(c[j>>2]|0)+8>>2]|0,0,c[(c[i>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+28>>2]=c[i>>2];c[(c[j>>2]|0)+20>>2]=c[h>>2];b[(c[j>>2]|0)+24>>1]=1;e=rn(c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function yn(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;l=d;return c[b>>2]|0}function zn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;q=p+32|0;k=p+28|0;m=p+24|0;n=p+20|0;o=p+16|0;g=p+12|0;h=p+8|0;i=p+4|0;j=p;c[q>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[g>>2]=Cn(c[q>>2]|0,c[k>>2]|0,h)|0;if(c[g>>2]|0){q=c[g>>2]|0;l=p;return q|0}c[j>>2]=(c[h>>2]|0)+16384;if(!(c[k>>2]|0)){c[h>>2]=(c[h>>2]|0)+136;c[i>>2]=0}else c[i>>2]=4062+((c[k>>2]|0)-1<<12);c[c[n>>2]>>2]=(c[h>>2]|0)+-4;c[c[m>>2]>>2]=c[j>>2];c[c[o>>2]>>2]=c[i>>2];q=c[g>>2]|0;l=p;return q|0}function An(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[b>>2]|0)*383&8191|0}function Bn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[b>>2]|0)+1&8191|0}function Cn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;c[k>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[i>>2]|0)){c[m>>2]=(c[i>>2]|0)+1<<2;m=c[m>>2]|0;c[n>>2]=ee(c[(c[h>>2]|0)+32>>2]|0,m,((m|0)<0)<<31>>31)|0;if(c[n>>2]|0){m0((c[n>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[i>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[n>>2];c[(c[h>>2]|0)+24>>2]=(c[i>>2]|0)+1;break}c[c[j>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;l=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){n=Xg(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2]=n;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2]|0)break;c[k>>2]=7;break}else{c[k>>2]=Dn(c[(c[h>>2]|0)+4>>2]|0,c[i>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)|0)|0;if((c[k>>2]|0)!=8)break;n=(c[h>>2]|0)+46|0;a[n>>0]=d[n>>0]|0|2;c[k>>2]=0;break}while(0);c[c[j>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2];c[g>>2]=c[k>>2];n=c[g>>2]|0;l=o;return n|0}function Dn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=Nb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return f|0}function En(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((Fn(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(td(c[(c[c[e>>2]>>2]|0)+12>>2]|0),c[h>>2]=Gn(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,ud(c[(c[c[e>>2]>>2]|0)+12>>2]|0),c[h>>2]|0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];d=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=d}while((d|0)!=0);l=i;return}function Fn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){b=0;b=b&1;l=d;return b|0}b=(c[b>>2]|0)!=6;b=b&1;l=d;return b|0}function Gn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+80|0;q=w+68|0;x=w+64|0;r=w+60|0;s=w+56|0;t=w+52|0;u=w+48|0;g=w+44|0;h=w+40|0;i=w+8|0;v=w+36|0;j=w;k=w+32|0;m=w+28|0;n=w+24|0;o=w+20|0;p=w+16|0;c[q>>2]=b;c[x>>2]=d;c[r>>2]=e;c[s>>2]=f;c[t>>2]=qk(c[(c[q>>2]|0)+4>>2]|0)|0;c[u>>2]=Hn(c[(c[q>>2]|0)+24>>2]|0)|0;c[g>>2]=Hn(c[(c[q>>2]|0)+4>>2]|0)|0;c[h>>2]=(c[u>>2]|0)<(c[g>>2]|0)?c[u>>2]|0:c[g>>2]|0;e=c[u>>2]|0;e=r0(c[x>>2]|0,0,e|0,((e|0)<0)<<31>>31|0)|0;f=i;c[f>>2]=e;c[f+4>>2]=D;c[v>>2]=0;if((c[u>>2]|0)!=(c[g>>2]|0)?In(c[t>>2]|0)|0:0)c[v>>2]=8;x=i;f=c[u>>2]|0;f=Z$(c[x>>2]|0,c[x+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;x=j;c[x>>2]=f;c[x+4>>2]=D;while(1){if(c[v>>2]|0){b=14;break}f=j;d=c[f+4>>2]|0;x=i;e=c[x+4>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){b=14;break}c[k>>2]=0;f=j;x=c[g>>2]|0;x=n0(c[f>>2]|0,c[f+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[m>>2]=x+1;if((c[m>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[(c[(c[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=gn(c[t>>2]|0,c[m>>2]|0,k,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Jn(c[k>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(e=c[r>>2]|0,x=j,f=c[u>>2]|0,f=c0(c[x>>2]|0,c[x+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,c[n>>2]=e+f,c[o>>2]=Kn(c[k>>2]|0)|0,f=c[o>>2]|0,e=j,x=c[g>>2]|0,x=c0(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[p>>2]=f+x,h0(c[p>>2]|0,c[n>>2]|0,c[h>>2]|0)|0,a[(Ln(c[k>>2]|0)|0)>>0]=0,x=j,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[s>>2]|0)==0):0){x=(c[p>>2]|0)+28|0;Nn(x,Mn(c[(c[q>>2]|0)+24>>2]|0)|0)}On(c[k>>2]|0)}f=c[g>>2]|0;x=j;f=_$(c[x>>2]|0,c[x+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;x=j;c[x>>2]=f;c[x+4>>2]=D}if((b|0)==14){l=w;return c[v>>2]|0}return 0}function Hn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function In(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+13>>0]|0|0}function Jn(a){a=a|0;var b=0,d=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;l=g;return f|0}if((e[(c[b>>2]|0)+24>>1]|0)&4|0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=Sn(c[b>>2]|0)|0;f=c[d>>2]|0;l=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}a=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=Tn(a)|0;f=c[d>>2]|0;l=g;return f|0}else{c[d>>2]=Un(a)|0;f=c[d>>2]|0;l=g;return f|0}return 0}function Kn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+4>>2]|0}function Ln(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+8>>2]|0}function Mn(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Rn(c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return a|0}function Nn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];l=e;return}function On(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Pn(c[b>>2]|0);l=d;return}function Pn(a){a=a|0;var b=0,d=0,f=0;d=l;l=l+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&32|0){Qn(a);f=c[b>>2]|0;vn(f);l=d;return}else{jn(a);f=c[b>>2]|0;vn(f);l=d;return}}function Qn(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=r0((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;on(e,a,D,c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return}function Rn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+44>>2]|0}function Sn(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if(eo(c[d>>2]|0)|0){c[b>>2]=fo(c[d>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}return 0}function Tn(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;g=u+44|0;k=u+40|0;m=u+36|0;n=u+32|0;o=u+28|0;p=u+24|0;q=u+20|0;r=u+16|0;s=u+12|0;h=u+8|0;i=u+4|0;j=u;c[g>>2]=f;c[k>>2]=0;c[o>>2]=0;c[q>>2]=0;c[r>>2]=c[(c[g>>2]|0)+16>>2];c[s>>2]=((c[(c[r>>2]|0)+156>>2]|0)>>>0)/((c[(c[r>>2]|0)+160>>2]|0)>>>0)|0;f=(c[r>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[n>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[s>>2]|0)-1))+1;c[m>>2]=c[(c[r>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[m>>2]|0)>>>0)if(((c[n>>2]|0)+(c[s>>2]|0)-1|0)>>>0>(c[m>>2]|0)>>>0){c[o>>2]=(c[m>>2]|0)+1-(c[n>>2]|0);break}else{c[o>>2]=c[s>>2];break}else c[o>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[n>>2]|0)+1;while(0);c[p>>2]=0;while(1){if(!((c[p>>2]|0)<(c[o>>2]|0)?(c[k>>2]|0)==0:0))break;c[h>>2]=(c[n>>2]|0)+(c[p>>2]|0);if((c[h>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?bn(c[(c[r>>2]|0)+60>>2]|0,c[h>>2]|0)|0:0){s=en(c[r>>2]|0,c[h>>2]|0)|0;c[i>>2]=s;if(s|0){if((e[(c[i>>2]|0)+24>>1]|0)&8|0)c[q>>2]=1;Pn(c[i>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[h>>2]|0)!=(((c[482]|0)/(c[(c[r>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[k>>2]=gn(c[r>>2]|0,c[h>>2]|0,i,0)|0,(c[k>>2]|0)==0):0){c[k>>2]=Un(c[i>>2]|0)|0;if((e[(c[i>>2]|0)+24>>1]|0)&8|0)c[q>>2]=1;Pn(c[i>>2]|0)}c[p>>2]=(c[p>>2]|0)+1}if(!((c[k>>2]|0)==0&(c[q>>2]|0)!=0)){t=c[r>>2]|0;t=t+21|0;s=a[t>>0]|0;s=s&255;s=s&-5;s=s&255;a[t>>0]=s;t=c[k>>2]|0;l=u;return t|0}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;c[j>>2]=en(c[r>>2]|0,(c[n>>2]|0)+(c[p>>2]|0)|0)|0;if(c[j>>2]|0){t=(c[j>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;Pn(c[j>>2]|0)}c[p>>2]=(c[p>>2]|0)+1}t=c[r>>2]|0;t=t+21|0;s=a[t>>0]|0;s=s&255;s=s&-5;s=s&255;a[t>>0]=s;t=c[k>>2]|0;l=u;return t|0}function Un(a){a=a|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[i>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[i>>2]=Vn(c[h>>2]|0)|0,c[i>>2]|0):0){c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}hn(c[g>>2]|0);do if(c[(c[h>>2]|0)+60>>2]|0?(Wn(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[i>>2]=Xn(c[g>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[i>>2]=Sn(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}function Vn(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;i=k+16|0;j=k+12|0;e=k+8|0;f=k+4|0;g=k;c[i>>2]=b;c[j>>2]=0;c[e>>2]=c[c[i>>2]>>2];b=c[i>>2]|0;if(c[(c[i>>2]|0)+44>>2]|0){c[h>>2]=c[b+44>>2];j=c[h>>2]|0;l=k;return j|0}if((tm(b)|0)==0?(d[(c[i>>2]|0)+5>>0]|0)!=2:0){b=Zn(c[(c[i>>2]|0)+28>>2]|0)|0;c[(c[i>>2]|0)+60>>2]=b;if(!(c[(c[i>>2]|0)+60>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}do if(!(c[c[(c[i>>2]|0)+68>>2]>>2]|0)){if((d[(c[i>>2]|0)+5>>0]|0)==4){_n(c[(c[i>>2]|0)+68>>2]|0);break}c[f>>2]=6;b=c[f>>2]|0;if(a[(c[i>>2]|0)+13>>0]|0){c[f>>2]=b|4104;c[g>>2]=c[11]}else{c[f>>2]=b|2048;c[g>>2]=0}c[j>>2]=$n(c[i>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=ao(c[e>>2]|0,c[(c[i>>2]|0)+180>>2]|0,c[(c[i>>2]|0)+68>>2]|0,c[f>>2]|0,c[g>>2]|0)|0}while(0);if(!(c[j>>2]|0)){c[(c[i>>2]|0)+48>>2]=0;g=(c[i>>2]|0)+80|0;c[g>>2]=0;c[g+4>>2]=0;a[(c[i>>2]|0)+20>>0]=0;g=(c[i>>2]|0)+88|0;c[g>>2]=0;c[g+4>>2]=0;c[j>>2]=bo(c[i>>2]|0)|0}}b=c[i>>2]|0;if(c[j>>2]|0){pm(c[b+60>>2]|0);c[(c[i>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[h>>2]=c[j>>2];j=c[h>>2]|0;l=k;return j|0}function Wn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=a;c[g>>2]=b;c[g>>2]=(c[g>>2]|0)+-1;if((c[g>>2]|0)>>>0>=(c[c[f>>2]>>2]|0)>>>0){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}while(1){if(!(c[(c[f>>2]|0)+8>>2]|0))break;c[h>>2]=((c[g>>2]|0)>>>0)/((c[(c[f>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=((c[g>>2]|0)>>>0)%((c[(c[f>>2]|0)+8>>2]|0)>>>0)|0;c[f>>2]=c[(c[f>>2]|0)+12+(c[h>>2]<<2)>>2];if(!(c[f>>2]|0)){j=5;break}}if((j|0)==5){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}if((c[c[f>>2]>>2]|0)>>>0<=4e3){c[e>>2]=((d[(c[f>>2]|0)+12+(((c[g>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[g>>2]&7)|0)!=0&1;j=c[e>>2]|0;l=k;return j|0}j=c[g>>2]|0;c[g>>2]=j+1;c[i>>2]=(j>>>0)%125|0;while(1){if(!(c[(c[f>>2]|0)+12+(c[i>>2]<<2)>>2]|0)){j=13;break}if((c[(c[f>>2]|0)+12+(c[i>>2]<<2)>>2]|0)==(c[g>>2]|0)){j=11;break}c[i>>2]=(((c[i>>2]|0)+1|0)>>>0)%125|0}if((j|0)==11){c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}else if((j|0)==13){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}return 0}function Xn(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;d=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;k=m;c[f>>2]=a;c[g>>2]=c[(c[f>>2]|0)+16>>2];o=(c[g>>2]|0)+80|0;n=c[o+4>>2]|0;a=k;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[i>>2]=cn(c[g>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=k;c[h>>2]=Yn(c[(c[g>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[h>>2]|0){c[d>>2]=c[h>>2];o=c[d>>2]|0;l=m;return o|0}a=c[(c[g>>2]|0)+68>>2]|0;j=c[j>>2]|0;n=c[(c[g>>2]|0)+160>>2]|0;o=k;o=_$(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[h>>2]=Dm(a,j,n,o,D)|0;if(c[h>>2]|0){c[d>>2]=c[h>>2];o=c[d>>2]|0;l=m;return o|0}n=c[(c[g>>2]|0)+68>>2]|0;o=c[(c[g>>2]|0)+160>>2]|0;o=_$(c[k>>2]|0,c[k+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=_$(o|0,D|0,4,0)|0;c[h>>2]=Yn(n,o,D,c[i>>2]|0)|0;if(c[h>>2]|0){c[d>>2]=c[h>>2];o=c[d>>2]|0;l=m;return o|0}else{n=8+(c[(c[g>>2]|0)+160>>2]|0)|0;o=(c[g>>2]|0)+80|0;k=o;n=_$(c[k>>2]|0,c[k+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;c[o>>2]=n;c[o+4>>2]=D;o=(c[g>>2]|0)+48|0;c[o>>2]=(c[o>>2]|0)+1;c[h>>2]=dn(c[(c[g>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;o=sn(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[h>>2]=c[h>>2]|o;c[d>>2]=c[h>>2];o=c[d>>2]|0;l=m;return o|0}return 0}function Yn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;h=f+12|0;i=f;j=f+8|0;g=f+16|0;c[h>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;Nn(g,c[j>>2]|0);e=i;e=Dm(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;l=f;return e|0}function Zn(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Xg(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;l=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;l=e;return d|0}function _n(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;ao(0,0,c[d>>2]|0,0,-1)|0;l=b;return}function $n(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}c[g>>2]=wm(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}function ao(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[g>>2]=f;c[h>>2]=c[m>>2];a=c[h>>2]|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(c[g>>2]|0)){c[i>>2]=Om(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,0)|0;n=c[i>>2]|0;l=o;return n|0}else{m=(c[g>>2]|0)>0;c[(m?c[h>>2]|0:c[h>>2]|0)+4>>2]=m?c[g>>2]|0:1020;c[c[h>>2]>>2]=4104;c[(c[h>>2]|0)+8>>2]=c[g>>2];c[(c[h>>2]|0)+56>>2]=c[n>>2];c[(c[h>>2]|0)+64>>2]=c[k>>2];c[(c[h>>2]|0)+60>>2]=c[j>>2];c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}return 0}function bo(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;f=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;e=k;c[f>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[f>>2]|0)+208>>2];c[h>>2]=c[(c[f>>2]|0)+160>>2];if((c[h>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[h>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){b=c[f>>2]|0;if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[b+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}e=co(b)|0;m=D;n=(c[f>>2]|0)+80|0;c[n>>2]=e;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=e;c[n+4>>2]=m;if((!(d[(c[f>>2]|0)+7>>0]|0|0)?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?!((Ym(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0):0){b=c[g>>2]|0;e=b+12|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0))}else{n=c[g>>2]|0;a[n>>0]=a[24914]|0;a[n+1>>0]=a[24915]|0;a[n+2>>0]=a[24916]|0;a[n+3>>0]=a[24917]|0;a[n+4>>0]=a[24918]|0;a[n+5>>0]=a[24919]|0;a[n+6>>0]=a[24920]|0;a[n+7>>0]=a[24921]|0;Nn((c[g>>2]|0)+8|0,-1)}sf(4,(c[f>>2]|0)+52|0);Nn((c[g>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);Nn((c[g>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);Nn((c[g>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);Nn((c[g>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);m0((c[g>>2]|0)+28|0,0,(c[h>>2]|0)-28|0)|0;c[i>>2]=0;while(1){if(c[j>>2]|0){b=17;break}if((c[i>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){b=17;break}n=(c[f>>2]|0)+80|0;c[j>>2]=Dm(c[(c[f>>2]|0)+68>>2]|0,c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=_$(c[m>>2]|0,c[m+4>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=D;c[i>>2]=(c[i>>2]|0)+(c[h>>2]|0)}if((b|0)==17){l=k;return c[j>>2]|0}return 0}function co(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=l;l=l+32|0;b=f+16|0;d=f+8|0;e=f;c[b>>2]=a;h=d;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=e;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=e;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=d;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=f;return h|0}h=e;h=Z$(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=n0(h|0,D|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=_$(h|0,D|0,1,0)|0;h=r0(h|0,D|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=d;c[g>>2]=h;c[g+4>>2]=D;g=d;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=f;return h|0}function eo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h+20|0;i=h+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[i>>2]=a;c[b>>2]=c[(c[i>>2]|0)+16>>2];c[e>>2]=c[(c[i>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+104>>2]|0)){a=7;break}c[d>>2]=(c[(c[b>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[e>>2]|0)>>>0?0==(Wn(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0):0){a=5;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==5){c[g>>2]=1;i=c[g>>2]|0;l=h;return i|0}else if((a|0)==7){c[g>>2]=0;i=c[g>>2]|0;l=h;return i|0}return 0}function fo(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;b=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;c[b>>2]=a;c[e>>2]=0;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[f>>2]|0)+5>>0]|0|0)!=2?(c[e>>2]=go(c[f>>2]|0)|0,(c[e>>2]|0)==0):0)?(c[g>>2]=c[(c[b>>2]|0)+4>>2],k=4+(c[(c[f>>2]|0)+160>>2]|0)|0,k=r0(c[(c[f>>2]|0)+56>>2]|0,0,k|0,((k|0)<0)<<31>>31|0)|0,a=h,c[a>>2]=k,c[a+4>>2]=D,c[i>>2]=c[g>>2],g=h,c[e>>2]=Yn(c[(c[f>>2]|0)+72>>2]|0,c[g>>2]|0,c[g+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[e>>2]|0)==0):0){a=c[(c[f>>2]|0)+72>>2]|0;g=c[i>>2]|0;i=c[(c[f>>2]|0)+160>>2]|0;k=h;k=_$(c[k>>2]|0,c[k+4>>2]|0,4,0)|0;c[e>>2]=Dm(a,g,i,k,D)|0}if(c[e>>2]|0){k=c[e>>2]|0;l=j;return k|0}k=(c[f>>2]|0)+56|0;c[k>>2]=(c[k>>2]|0)+1;c[e>>2]=sn(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;k=c[e>>2]|0;l=j;return k|0}function go(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;e=g+8|0;f=g;c[b>>2]=a;c[e>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){f=c[e>>2]|0;l=g;return f|0}c[g+4>>2]=8222;c[f>>2]=c[11];if(!((d[(c[b>>2]|0)+5>>0]|0|0)!=4?!(d[(c[b>>2]|0)+22>>0]|0|0):0))c[f>>2]=-1;c[e>>2]=ao(c[c[b>>2]>>2]|0,0,c[(c[b>>2]|0)+72>>2]|0,8222,c[f>>2]|0)|0;f=c[e>>2]|0;l=g;return f|0}function ho(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+64|0;i=s+56|0;j=s+52|0;k=s+48|0;m=s+16|0;n=s+8|0;o=s+44|0;p=s+40|0;q=s+36|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s;c[j>>2]=b;c[k>>2]=d;c[o>>2]=0;c[p>>2]=0;if(c[k>>2]|0?(c[p>>2]=Zn(c[(c[k>>2]|0)+20>>2]|0)|0,(c[p>>2]|0)==0):0){c[i>>2]=7;r=c[i>>2]|0;l=s;return r|0}if(c[k>>2]|0)b=c[(c[k>>2]|0)+20>>2]|0;else b=c[(c[j>>2]|0)+32>>2]|0;c[(c[j>>2]|0)+28>>2]=b;a[(c[j>>2]|0)+19>>0]=a[(c[j>>2]|0)+13>>0]|0;if((c[k>>2]|0)==0?tm(c[j>>2]|0)|0:0){c[i>>2]=io(c[j>>2]|0)|0;r=c[i>>2]|0;l=s;return r|0}t=(c[j>>2]|0)+80|0;b=c[t+4>>2]|0;d=m;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if(c[k>>2]|0?!(tm(c[j>>2]|0)|0):0){t=(c[k>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[k>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=m;b=c[d>>2]|0;d=c[d+4>>2]|0}t=n;c[t>>2]=b;c[t+4>>2]=d;b=c[k>>2]|0;d=c[b+4>>2]|0;t=(c[j>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[o>>2]|0)break a;d=(c[j>>2]|0)+80|0;u=c[d+4>>2]|0;t=n;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[o>>2]=Um(c[j>>2]|0,(c[j>>2]|0)+80|0,c[p>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[j>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[o>>2]|0)break;t=(c[j>>2]|0)+80|0;n=c[t+4>>2]|0;u=m;r=c[u+4>>2]|0;if(!((n|0)<(r|0)|((n|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[e>>2]=0;u=m;c[o>>2]=Tm(c[j>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,e,f)|0;if((c[e>>2]|0)==0?(t=(c[j>>2]|0)+88|0,t=_$(c[t>>2]|0,c[t+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0,u=(c[j>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(D|0)==(c[u+4>>2]|0):0):0){u=m;t=(c[j>>2]|0)+80|0;t=Z$(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[j>>2]|0)+160>>2]|0)+8|0;u=n0(t|0,D|0,u|0,((u|0)<0)<<31>>31|0)|0;c[e>>2]=u}c[q>>2]=0;while(1){if(c[o>>2]|0)continue b;if((c[q>>2]|0)>>>0>=(c[e>>2]|0)>>>0)continue b;t=(c[j>>2]|0)+80|0;n=c[t+4>>2]|0;u=m;r=c[u+4>>2]|0;if(!((n|0)<(r|0)|((n|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[o>>2]=Um(c[j>>2]|0,(c[j>>2]|0)+80|0,c[p>>2]|0,1,1)|0;c[q>>2]=(c[q>>2]|0)+1}}c:do if(c[k>>2]|0){t=4+(c[(c[j>>2]|0)+160>>2]|0)|0;t=r0(c[(c[k>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=h;c[u>>2]=t;c[u+4>>2]=D;if(tm(c[j>>2]|0)|0)c[o>>2]=jo(c[(c[j>>2]|0)+216>>2]|0,(c[k>>2]|0)+28|0)|0;c[g>>2]=c[(c[k>>2]|0)+24>>2];while(1){if(c[o>>2]|0)break c;if((c[g>>2]|0)>>>0>=(c[(c[j>>2]|0)+56>>2]|0)>>>0)break c;c[o>>2]=Um(c[j>>2]|0,h,c[p>>2]|0,0,1)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);pm(c[p>>2]|0);if(!(c[o>>2]|0)){r=m;t=c[r+4>>2]|0;u=(c[j>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[i>>2]=c[o>>2];u=c[i>>2]|0;l=s;return u|0}function io(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[d>>2]=mo(c[(c[b>>2]|0)+216>>2]|0,193,c[b>>2]|0)|0;c[e>>2]=no(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!(c[e>>2]|0?(c[d>>2]|0)==0:0))break;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[d>>2]=lo(c[b>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[e>>2]=c[f>>2]}l=g;return c[d>>2]|0}function jo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;l=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];ko(c[d>>2]|0);f=c[f>>2]|0;l=g;return f|0}function ko(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+24|0;g=m+20|0;h=m+16|0;f=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=a;c[g>>2]=0;c[h>>2]=0;c[f>>2]=0;c[i>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){l=m;return}a=c[d>>2]|0;zn(a,yn(c[(c[d>>2]|0)+52+16>>2]|0)|0,g,h,f)|0;c[i>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[f>>2]|0);c[k>>2]=0;while(1){a=c[g>>2]|0;if((c[k>>2]|0)>=8192)break;if((e[a+(c[k>>2]<<1)>>1]|0|0)>(c[i>>2]|0))b[(c[g>>2]|0)+(c[k>>2]<<1)>>1]=0;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=a-((c[h>>2]|0)+((c[i>>2]|0)+1<<2));m0((c[h>>2]|0)+((c[i>>2]|0)+1<<2)|0,0,c[j>>2]|0)|0;l=m;return}function lo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;j=h+20|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[i>>2]=b;c[d>>2]=0;c[e>>2]=c[j>>2];c[f>>2]=en(c[e>>2]|0,c[i>>2]|0)|0;do if(c[f>>2]|0){if((so(c[f>>2]|0)|0)==1){un(c[f>>2]|0);break}c[g>>2]=0;c[d>>2]=ln(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,g)|0;if(!(c[d>>2]|0))c[d>>2]=tn(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[d>>2]|0))Eb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);Pn(c[f>>2]|0)}while(0);El(c[(c[e>>2]|0)+96>>2]|0);l=h;return c[d>>2]|0}function mo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){k=c[i>>2]|0;l=m;return k|0}c[j>>2]=c[(c[f>>2]|0)+52+16>>2];b=(c[f>>2]|0)+52|0;d=qo(c[f>>2]|0)|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));c[k>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[i>>2]|0)break;if((c[k>>2]|0)>>>0>(c[j>>2]|0)>>>0)break;b=c[g>>2]|0;d=c[h>>2]|0;e=ro(c[f>>2]|0,c[k>>2]|0)|0;c[i>>2]=Mb[b&255](d,e)|0;c[k>>2]=(c[k>>2]|0)+1}if((c[j>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){k=c[i>>2]|0;l=m;return k|0}ko(c[f>>2]|0);k=c[i>>2]|0;l=m;return k|0}function no(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}d=oo(c[c[b>>2]>>2]|0)|0;l=e;return d|0}function oo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;d=i+136|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[d>>2];c[d>>2]=c[(c[g>>2]|0)+12>>2];c[(c[g>>2]|0)+12>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=31)break;if(!(c[f+(c[h>>2]<<2)>>2]|0)){e=6;break}c[g>>2]=po(c[f+(c[h>>2]<<2)>>2]|0,c[g>>2]|0)|0;c[f+(c[h>>2]<<2)>>2]=0;c[h>>2]=(c[h>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[h>>2]<<2)>>2]=c[g>>2]}if((c[h>>2]|0)!=31)continue;b=po(c[f+(c[h>>2]<<2)>>2]|0,c[g>>2]|0)|0;c[f+(c[h>>2]<<2)>>2]=b}c[g>>2]=c[f>>2];c[h>>2]=1;while(1){if((c[h>>2]|0)>=32)break;if(c[f+(c[h>>2]<<2)>>2]|0){if(c[g>>2]|0)a=po(c[g>>2]|0,c[f+(c[h>>2]<<2)>>2]|0)|0;else a=c[f+(c[h>>2]<<2)>>2]|0;c[g>>2]=a}c[h>>2]=(c[h>>2]|0)+1}l=i;return c[g>>2]|0}function po(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+64|0;d=h+52|0;e=h+48|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1)if((c[(c[d>>2]|0)+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[g>>2]|0)+12>>2]=c[d>>2];c[g>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[d>>2]|0)){a=4;break}else continue}else{c[(c[g>>2]|0)+12>>2]=c[e>>2];c[g>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[e>>2]|0)){a=6;break}else continue}if((a|0)==4){e=c[e>>2]|0;g=c[g>>2]|0;g=g+12|0;c[g>>2]=e;g=f+12|0;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==6){e=c[d>>2]|0;g=c[g>>2]|0;g=g+12|0;c[g>>2]=e;g=f+12|0;g=c[g>>2]|0;l=h;return g|0}return 0}function qo(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[e>>2]=b;c[f>>2]=yn(c[e>>2]|0)|0;a=c[(c[h>>2]|0)+32>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[a>>2]|0)+(34+(c[e>>2]|0)-1<<2)>>2];h=c[d>>2]|0;l=g;return h|0}else{c[d>>2]=c[(c[a+(c[f>>2]<<2)>>2]|0)+(((((c[e>>2]|0)-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;l=g;return h|0}return 0}function so(a){a=a|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;l=e;return b[(c[d>>2]|0)+26>>1]|0}function to(a){a=a|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;um(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){l=e;return}Bm(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;l=e;return}function uo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function vo(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;x=A+12|0;t=A+8|0;y=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;c[t>>2]=0;c[y>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;l=A;return z|0}c[x>>2]=Ao(c[v>>2]|0,1,1)|0;if(c[x>>2]|0){c[z>>2]=c[x>>2];z=c[z>>2]|0;l=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[x>>2]=Bo(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[x>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[x>>2]|0)==5){c[y>>2]=0;c[u>>2]=0;c[x>>2]=0}}while(0);if(((c[x>>2]|0)==0?(c[x>>2]=Co(c[v>>2]|0,t)|0,c[t>>2]|0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)on(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[x>>2]|0)){if(c[(c[v>>2]|0)+52+16>>2]|0?(k=Do(c[v>>2]|0)|0,(k|0)!=(c[p>>2]|0)):0)c[x>>2]=kn(57049)|0;else c[x>>2]=Eo(c[v>>2]|0,c[y>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[x>>2]|0)==0|(c[x>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){k=c[(Fo(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=k}}}if(c[t>>2]|0){b=(c[v>>2]|0)+52|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0))}um(c[v>>2]|0)|0;Em(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[x>>2]|0)==0?(c[w>>2]|0)!=(c[y>>2]|0):0)b=5;else b=c[x>>2]|0;c[z>>2]=b;z=c[z>>2]|0;l=A;return z|0}function wo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Bb[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return}function xo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;e=j+24|0;f=j+8|0;g=j;h=j+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;Ug();c[h>>2]=xl(c[(c[e>>2]|0)+8>>2]|0,g)|0;if((c[h>>2]|0)==0?(d=g,a=c[d+4>>2]|0,g=f,b=c[g+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>(c[g>>2]|0)>>>0:0)):0){g=f;c[h>>2]=lm(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0}Wg();if(!(c[h>>2]|0)){l=j;return}h=c[h>>2]|0;c[i>>2]=c[(c[e>>2]|0)+108>>2];xd(h,24922,i);l=j;return}function yo(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){zo(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;l=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;_d(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}l=h;return}function zo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function Ao(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}else{c[j>>2]=Cm(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[i>>2]|0,10)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;l=k;return j|0}return 0}function Bo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;while(1){c[m>>2]=Ao(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){a=4;break}if(!(Hb[c[h>>2]&255](c[i>>2]|0)|0)){a=4;break}}if((a|0)==4){l=n;return c[m>>2]|0}return 0}function Co(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[i>>2]=Cn(c[g>>2]|0,0,k)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];k=c[f>>2]|0;l=m;return k|0}if(c[k>>2]|0)b=Qo(c[g>>2]|0,c[h>>2]|0)|0;else b=1;c[j>>2]=b;do if(c[j>>2]|0){b=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2|0){k=Am(b,0)|0;c[i>>2]=k;if(k)break;Bm(c[g>>2]|0,0);c[i>>2]=264;break}e=Ao(b,0,1)|0;c[i>>2]=e;if(!e){a[(c[g>>2]|0)+44>>0]=1;k=Cn(c[g>>2]|0,0,k)|0;c[i>>2]=k;if(0==(k|0)?(c[j>>2]=Qo(c[g>>2]|0,c[h>>2]|0)|0,c[j>>2]|0):0){c[i>>2]=Ro(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Em(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[i>>2]=gf(55897)|0;c[f>>2]=c[i>>2];k=c[f>>2]|0;l=m;return k|0}function Do(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function Eo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;H=l;l=l+112|0;B=H+104|0;C=H+100|0;E=H+96|0;F=H+92|0;h=H+88|0;i=H+84|0;j=H+80|0;k=H+76|0;m=H+72|0;n=H+68|0;o=H+64|0;p=H+60|0;q=H+56|0;r=H+52|0;s=H+48|0;t=H+44|0;u=H+40|0;v=H+24|0;w=H+36|0;x=H+16|0;y=H+8|0;z=H;A=H+32|0;c[C>>2]=a;c[E>>2]=b;c[F>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[m>>2]=Do(c[C>>2]|0)|0;c[t>>2]=Fo(c[C>>2]|0)|0;a:do if((c[c[t>>2]>>2]|0)>>>0<(c[(c[C>>2]|0)+52+16>>2]|0)>>>0){c[k>>2]=Go(c[C>>2]|0,n)|0;if(c[k>>2]|0){c[B>>2]=c[k>>2];G=c[B>>2]|0;l=H;return G|0}c[q>>2]=c[(c[C>>2]|0)+52+16>>2];c[r>>2]=c[(c[C>>2]|0)+52+20>>2];c[s>>2]=1;while(1){a=c[t>>2]|0;if((c[s>>2]|0)>=5)break;c[u>>2]=c[a+4+(c[s>>2]<<2)>>2];do if((c[q>>2]|0)>>>0>(c[u>>2]|0)>>>0){c[k>>2]=Bo(c[C>>2]|0,c[F>>2]|0,c[h>>2]|0,3+(c[s>>2]|0)|0,1)|0;if(!(c[k>>2]|0)){c[(c[t>>2]|0)+4+(c[s>>2]<<2)>>2]=(c[s>>2]|0)==1?c[q>>2]|0:-1;Em(c[C>>2]|0,3+(c[s>>2]|0)|0,1);break}if((c[k>>2]|0)!=5)break a;c[q>>2]=c[u>>2];c[F>>2]=0}while(0);c[s>>2]=(c[s>>2]|0)+1}if((c[a>>2]|0)>>>0<(c[q>>2]|0)>>>0?(G=Bo(c[C>>2]|0,c[F>>2]|0,c[h>>2]|0,3,1)|0,c[k>>2]=G,(G|0)==0):0){c[w>>2]=c[c[t>>2]>>2];c[(c[t>>2]|0)+32>>2]=c[q>>2];if(c[i>>2]|0)c[k>>2]=mm(c[(c[C>>2]|0)+8>>2]|0,c[i>>2]|0)|0;if(((c[k>>2]|0)==0?(u=c[m>>2]|0,u=r0(c[r>>2]|0,0,u|0,((u|0)<0)<<31>>31|0)|0,G=x,c[G>>2]=u,c[G+4>>2]=D,c[k>>2]=xl(c[(c[C>>2]|0)+4>>2]|0,v)|0,(c[k>>2]|0)==0):0)?(v,s=c[v+4>>2]|0,G=x,u=c[G+4>>2]|0,(s|0)<(u|0)|((s|0)==(u|0)?(c[v>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)wo(c[(c[C>>2]|0)+4>>2]|0,5,x);b:while(1){if(c[k>>2]|0)break;while(1){if(Ho(c[n>>2]|0,o,p)|0)break b;if((c[p>>2]|0)>>>0<=(c[w>>2]|0)>>>0)continue b;if((c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0)continue b;if((c[o>>2]|0)>>>0>(c[r>>2]|0)>>>0)continue b;x=(c[m>>2]|0)+24|0;x=r0((c[p>>2]|0)-1|0,0,x|0,((x|0)<0)<<31>>31|0)|0;x=_$(32,0,x|0,D|0)|0;x=_$(x|0,D|0,24,0)|0;G=y;c[G>>2]=x;c[G+4>>2]=D;G=y;c[k>>2]=$m(c[(c[C>>2]|0)+8>>2]|0,c[j>>2]|0,c[m>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[k>>2]|0)break b;x=c[m>>2]|0;x=r0((c[o>>2]|0)-1|0,0,x|0,((x|0)<0)<<31>>31|0)|0;G=y;c[G>>2]=x;c[G+4>>2]=D;G=y;c[k>>2]=Dm(c[(c[C>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[k>>2]|0)==0&(c[k>>2]|0)==0))break b}}if(!(c[k>>2]|0)){G=c[q>>2]|0;if((G|0)==(c[(qo(c[C>>2]|0)|0)+16>>2]|0)?(y=c[m>>2]|0,y=r0(c[(c[C>>2]|0)+52+20>>2]|0,0,y|0,((y|0)<0)<<31>>31|0)|0,G=z,c[G>>2]=y,c[G+4>>2]=D,G=z,c[k>>2]=lm(c[(c[C>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[k>>2]|0)==0&(c[i>>2]|0)!=0):0)c[k>>2]=mm(c[(c[C>>2]|0)+4>>2]|0,c[i>>2]|0)|0;if(!(c[k>>2]|0))c[c[t>>2]>>2]=c[q>>2]}Em(c[C>>2]|0,3,1)}if((c[k>>2]|0)==5){c[k>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[k>>2]|0)==0&(c[E>>2]|0)!=0:0){if((c[c[t>>2]>>2]|0)>>>0<(c[(c[C>>2]|0)+52+16>>2]|0)>>>0){c[k>>2]=5;break}if((c[E>>2]|0)>=2?(sf(4,A),c[k>>2]=Bo(c[C>>2]|0,c[F>>2]|0,c[h>>2]|0,4,4)|0,(c[k>>2]|0)==0):0){if((c[E>>2]|0)==3){Io(c[C>>2]|0,c[A>>2]|0);c[k>>2]=lm(c[(c[C>>2]|0)+8>>2]|0,0,0)|0}Em(c[C>>2]|0,4,4)}}while(0);Jo(c[n>>2]|0);c[B>>2]=c[k>>2];G=c[B>>2]|0;l=H;return G|0}function Fo(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function Go(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;n=v+60|0;o=v+56|0;p=v+52|0;q=v+48|0;r=v+44|0;s=v+40|0;t=v+36|0;u=v+32|0;e=v+28|0;f=v+24|0;g=v+20|0;h=v+16|0;i=v+12|0;j=v+8|0;k=v+4|0;m=v;c[o>>2]=a;c[p>>2]=d;c[f>>2]=0;c[s>>2]=c[(c[o>>2]|0)+52+16>>2];c[r>>2]=(yn(c[s>>2]|0)|0)+1;c[t>>2]=28+(((c[r>>2]|0)-1|0)*20|0)+(c[s>>2]<<1);d=c[t>>2]|0;c[q>>2]=of(d,((d|0)<0)<<31>>31)|0;if(!(c[q>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;l=v;return u|0}m0(c[q>>2]|0,0,c[t>>2]|0)|0;c[(c[q>>2]|0)+4>>2]=c[r>>2];c[e>>2]=of(((c[s>>2]|0)>>>0>4096?4096:c[s>>2]|0)<<1,0)|0;if(!(c[e>>2]|0))c[f>>2]=7;c[u>>2]=0;while(1){if(c[f>>2]|0)break;if((c[u>>2]|0)>=(c[r>>2]|0))break;c[f>>2]=zn(c[o>>2]|0,c[u>>2]|0,g,i,h)|0;if(!(c[f>>2]|0)){c[i>>2]=(c[i>>2]|0)+4;if(((c[u>>2]|0)+1|0)==(c[r>>2]|0))c[k>>2]=(c[s>>2]|0)-(c[h>>2]|0);else c[k>>2]=((c[g>>2]|0)-(c[i>>2]|0)|0)/4|0;c[m>>2]=(c[q>>2]|0)+8+((c[(c[q>>2]|0)+4>>2]|0)*20|0)+(c[h>>2]<<1);c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;b[(c[m>>2]|0)+(c[j>>2]<<1)>>1]=c[j>>2];c[j>>2]=(c[j>>2]|0)+1}Oo(c[i>>2]|0,c[e>>2]|0,c[m>>2]|0,k);c[(c[q>>2]|0)+8+((c[u>>2]|0)*20|0)+16>>2]=c[h>>2];c[(c[q>>2]|0)+8+((c[u>>2]|0)*20|0)+12>>2]=c[k>>2];c[(c[q>>2]|0)+8+((c[u>>2]|0)*20|0)+4>>2]=c[m>>2];c[(c[q>>2]|0)+8+((c[u>>2]|0)*20|0)+8>>2]=c[i>>2]}c[u>>2]=(c[u>>2]|0)+1}_d(c[e>>2]|0);if(c[f>>2]|0)Jo(c[q>>2]|0);c[c[p>>2]>>2]=c[q>>2];c[n>>2]=c[f>>2];u=c[n>>2]|0;l=v;return u|0}function Ho(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;f=p;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[k>>2]=-1;c[j>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[g>>2]|0)+4>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[n>>2]=(c[g>>2]|0)+8+((c[m>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[f>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[f>>2]|0)>>>0>(c[j>>2]|0)>>>0){o=6;break}d=c[n>>2]|0;c[d>>2]=(c[d>>2]|0)+1}if((o|0)==6?(o=0,(c[f>>2]|0)>>>0<(c[k>>2]|0)>>>0):0){c[k>>2]=c[f>>2];c[c[i>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[m>>2]=(c[m>>2]|0)+-1}o=c[k>>2]|0;c[c[g>>2]>>2]=o;c[c[h>>2]>>2]=o;l=p;return (c[k>>2]|0)==-1|0}function Io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=l;l=l+32|0;g=f+16|0;h=f+12|0;d=f+8|0;e=f+4|0;i=f;c[g>>2]=a;c[h>>2]=b;c[d>>2]=Fo(c[g>>2]|0)|0;c[i>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[i>>2]|0;Nn(b,1+(Vl(c[i>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];Ko(c[g>>2]|0);c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+32>>2]=0;c[(c[d>>2]|0)+4+4>>2]=0;c[e>>2]=2;while(1){if((c[e>>2]|0)>=5)break;c[(c[d>>2]|0)+4+(c[e>>2]<<2)>>2]=-1;c[e>>2]=(c[e>>2]|0)+1}l=f;return}function Jo(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return}function Ko(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=qo(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;Lo(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));Mo(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));l=h;return}function Lo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+48|0;k=o+32|0;q=o+28|0;p=o+24|0;m=o+20|0;n=o+16|0;g=o+12|0;h=o+8|0;i=o+4|0;j=o;c[k>>2]=a;c[q>>2]=b;c[p>>2]=d;c[m>>2]=e;c[n>>2]=f;c[i>>2]=c[q>>2];c[j>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[m>>2]|0){c[g>>2]=c[c[m>>2]>>2];c[h>>2]=c[(c[m>>2]|0)+4>>2]}else{c[h>>2]=0;c[g>>2]=0}if(c[k>>2]|0){do{q=c[i>>2]|0;c[i>>2]=q+4;c[g>>2]=(c[g>>2]|0)+((c[q>>2]|0)+(c[h>>2]|0));q=c[i>>2]|0;c[i>>2]=q+4;c[h>>2]=(c[h>>2]|0)+((c[q>>2]|0)+(c[g>>2]|0))}while((c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0);q=c[g>>2]|0;p=c[n>>2]|0;c[p>>2]=q;p=c[h>>2]|0;q=c[n>>2]|0;q=q+4|0;c[q>>2]=p;l=o;return}else{do{c[g>>2]=(c[g>>2]|0)+(((c[c[i>>2]>>2]&255)<<24)+((c[c[i>>2]>>2]&65280)<<8)+((c[c[i>>2]>>2]&16711680)>>>8)+((c[c[i>>2]>>2]&-16777216)>>>24)+(c[h>>2]|0));c[h>>2]=(c[h>>2]|0)+(((c[(c[i>>2]|0)+4>>2]&255)<<24)+((c[(c[i>>2]|0)+4>>2]&65280)<<8)+((c[(c[i>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[i>>2]|0)+4>>2]&-16777216)>>>24)+(c[g>>2]|0));c[i>>2]=(c[i>>2]|0)+8}while((c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0);q=c[g>>2]|0;p=c[n>>2]|0;c[p>>2]=q;p=c[h>>2]|0;q=c[n>>2]|0;q=q+4|0;c[q>>2]=p;l=o;return}}function Mo(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){l=e;return}No(c[(c[b>>2]|0)+4>>2]|0);l=e;return}function No(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Eb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);l=b;return}function Oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;m=s+144|0;n=s+140|0;o=s+136|0;p=s+132|0;q=s+128|0;r=s+124|0;f=s+120|0;g=s+116|0;h=s+112|0;i=s+8|0;j=s+4|0;k=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=c[c[p>>2]>>2];c[r>>2]=0;c[f>>2]=0;c[h>>2]=0;a=i;b=a+104|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[q>>2]|0))break;c[r>>2]=1;c[f>>2]=(c[o>>2]|0)+(c[g>>2]<<1);c[h>>2]=0;while(1){if(!(c[g>>2]&1<>2]))break;c[j>>2]=i+(c[h>>2]<<3);Po(c[m>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[c[j>>2]>>2]|0,f,r,c[n>>2]|0);c[h>>2]=(c[h>>2]|0)+1}c[i+(c[h>>2]<<3)+4>>2]=c[f>>2];c[i+(c[h>>2]<<3)>>2]=c[r>>2];c[g>>2]=(c[g>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1;while(1){if((c[h>>2]|0)>>>0>=13)break;if(c[q>>2]&1<>2]|0){c[k>>2]=i+(c[h>>2]<<3);Po(c[m>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[c[k>>2]>>2]|0,f,r,c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}c[c[p>>2]>>2]=c[r>>2];l=s;return}function Po(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;t=y+44|0;u=y+40|0;v=y+36|0;w=y+32|0;j=y+28|0;k=y+24|0;m=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y+48|0;s=y;c[t>>2]=a;c[u>>2]=d;c[v>>2]=f;c[w>>2]=g;c[j>>2]=h;c[k>>2]=i;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[w>>2]>>2];while(1){if((c[n>>2]|0)>=(c[p>>2]|0)?(c[m>>2]|0)>=(c[v>>2]|0):0)break;do if((c[m>>2]|0)<(c[v>>2]|0)){if((c[n>>2]|0)<(c[p>>2]|0)?(c[(c[t>>2]|0)+((e[(c[u>>2]|0)+(c[m>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[t>>2]|0)+((e[(c[q>>2]|0)+(c[n>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[u>>2]|0;i=c[m>>2]|0;c[m>>2]=i+1;b[r>>1]=b[h+(i<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[q>>2]|0;i=c[n>>2]|0;c[n>>2]=i+1;b[r>>1]=b[h+(i<<1)>>1]|0}c[s>>2]=c[(c[t>>2]|0)+((e[r>>1]|0)<<2)>>2];g=b[r>>1]|0;h=c[k>>2]|0;i=c[o>>2]|0;c[o>>2]=i+1;b[h+(i<<1)>>1]=g;if((c[m>>2]|0)>=(c[v>>2]|0))continue;if((c[(c[t>>2]|0)+((e[(c[u>>2]|0)+(c[m>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[s>>2]|0))continue;c[m>>2]=(c[m>>2]|0)+1}c[c[w>>2]>>2]=c[u>>2];c[c[j>>2]>>2]=c[o>>2];h0(c[u>>2]|0,c[k>>2]|0,c[o>>2]<<1|0)|0;l=y;return}function Qo(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+128|0;h=p+120|0;i=p+116|0;j=p+112|0;k=p+104|0;m=p+56|0;n=p+8|0;o=p;c[i>>2]=b;c[j>>2]=f;c[o>>2]=qo(c[i>>2]|0)|0;b=m;f=c[o>>2]|0;g=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));Mo(c[i>>2]|0);b=n;f=(c[o>>2]|0)+48|0;g=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));if(H_(m,n,48)|0){c[h>>2]=1;o=c[h>>2]|0;l=p;return o|0}if(!(d[m+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;l=p;return o|0}Lo(1,m,40,0,k);if((c[k>>2]|0)==(c[m+40>>2]|0)?(c[k+4>>2]|0)==(c[m+40+4>>2]|0):0){if(H_((c[i>>2]|0)+52|0,m,48)|0){c[c[j>>2]>>2]=1;b=(c[i>>2]|0)+52|0;f=m;g=b+48|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(g|0));c[(c[i>>2]|0)+36>>2]=((e[(c[i>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[i>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;l=p;return o|0}function Ro(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;E=l;l=l+144|0;C=E+16|0;g=E+96|0;s=E+92|0;v=E+88|0;w=E+8|0;x=E+80|0;y=E+76|0;z=E+72|0;A=E+104|0;B=E+68|0;h=E+64|0;i=E+60|0;j=E+56|0;k=E;m=E+52|0;n=E+48|0;o=E+44|0;p=E+40|0;q=E+36|0;r=E+32|0;t=E+28|0;u=E+24|0;c[s>>2]=e;c[x>>2]=0;c[x+4>>2]=0;c[y>>2]=1+(d[(c[s>>2]|0)+45>>0]|0);c[z>>2]=8-(c[y>>2]|0);c[v>>2]=Ao(c[s>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(c[v>>2]|0){c[g>>2]=c[v>>2];C=c[g>>2]|0;l=E;return C|0}e=(c[s>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[v>>2]=xl(c[(c[s>>2]|0)+8>>2]|0,w)|0;a:do if(!(c[v>>2]|0)){f=w;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[B>>2]=0;c[v>>2]=$m(c[(c[s>>2]|0)+8>>2]|0,A,32,0,0)|0;if(c[v>>2]|0)break a;c[n>>2]=Vl(A)|0;c[m>>2]=Vl(A+8|0)|0;if((((c[n>>2]&-2|0)==931071618?!(((c[m>>2]|0)>65536?1:(c[m>>2]&(c[m>>2]|0)-1|0)!=0)|(c[m>>2]|0)<512):0)?(a[(c[s>>2]|0)+52+13>>0]=c[n>>2]&1,c[(c[s>>2]|0)+36>>2]=c[m>>2],n=Vl(A+12|0)|0,c[(c[s>>2]|0)+112>>2]=n,n=(c[s>>2]|0)+52+32|0,f=A+16|0,a[n>>0]=a[f>>0]|0,a[n+1>>0]=a[f+1>>0]|0,a[n+2>>0]=a[f+2>>0]|0,a[n+3>>0]=a[f+3>>0]|0,a[n+4>>0]=a[f+4>>0]|0,a[n+5>>0]=a[f+5>>0]|0,a[n+6>>0]=a[f+6>>0]|0,a[n+7>>0]=a[f+7>>0]|0,Lo((d[(c[s>>2]|0)+52+13>>0]|0)==((a[936]|0)==0|0)&1,A,24,0,(c[s>>2]|0)+52+24|0),n=c[(c[s>>2]|0)+52+24>>2]|0,(n|0)==(Vl(A+24|0)|0)):0)?(n=c[(c[s>>2]|0)+52+24+4>>2]|0,(n|0)==(Vl(A+28|0)|0)):0){c[o>>2]=Vl(A+4|0)|0;if((c[o>>2]|0)!=3007e3){c[v>>2]=gf(54951)|0;break}c[h>>2]=(c[m>>2]|0)+24;A=c[h>>2]|0;c[B>>2]=of(A,((A|0)<0)<<31>>31)|0;if(!(c[B>>2]|0)){c[v>>2]=7;break a}c[i>>2]=(c[B>>2]|0)+24;c[j>>2]=0;A=k;c[A>>2]=32;c[A+4>>2]=0;while(1){f=k;o=c[h>>2]|0;o=_$(c[f>>2]|0,c[f+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;f=D;A=w;n=c[A+4>>2]|0;if(!((f|0)<(n|0)|((f|0)==(n|0)?o>>>0<=(c[A>>2]|0)>>>0:0)))break;c[j>>2]=(c[j>>2]|0)+1;A=k;c[v>>2]=$m(c[(c[s>>2]|0)+8>>2]|0,c[B>>2]|0,c[h>>2]|0,c[A>>2]|0,c[A+4>>2]|0)|0;if(c[v>>2]|0)break;c[p>>2]=So(c[s>>2]|0,q,r,c[i>>2]|0,c[B>>2]|0)|0;if(!(c[p>>2]|0))break;c[v>>2]=To(c[s>>2]|0,c[j>>2]|0,c[q>>2]|0)|0;if(c[v>>2]|0)break;if(c[r>>2]|0){c[(c[s>>2]|0)+52+16>>2]=c[j>>2];c[(c[s>>2]|0)+52+20>>2]=c[r>>2];b[(c[s>>2]|0)+52+14>>1]=c[m>>2]&65280|c[m>>2]>>16;c[x>>2]=c[(c[s>>2]|0)+52+24>>2];c[x+4>>2]=c[(c[s>>2]|0)+52+24+4>>2]}o=c[h>>2]|0;A=k;o=_$(c[A>>2]|0,c[A+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;A=k;c[A>>2]=o;c[A+4>>2]=D}_d(c[B>>2]|0)}}while(0);if(!(c[v>>2]|0)){c[(c[s>>2]|0)+52+24>>2]=c[x>>2];c[(c[s>>2]|0)+52+24+4>>2]=c[x+4>>2];Ko(c[s>>2]|0);c[t>>2]=Fo(c[s>>2]|0)|0;c[c[t>>2]>>2]=0;c[(c[t>>2]|0)+32>>2]=c[(c[s>>2]|0)+52+16>>2];c[(c[t>>2]|0)+4>>2]=0;c[u>>2]=1;while(1){if((c[u>>2]|0)>=5)break;c[(c[t>>2]|0)+4+(c[u>>2]<<2)>>2]=-1;c[u>>2]=(c[u>>2]|0)+1}if(c[(c[s>>2]|0)+52+16>>2]|0)c[(c[t>>2]|0)+4+4>>2]=c[(c[s>>2]|0)+52+16>>2];if(c[(c[s>>2]|0)+52+20>>2]|0){B=c[(c[s>>2]|0)+108>>2]|0;c[C>>2]=c[(c[s>>2]|0)+52+16>>2];c[C+4>>2]=B;xd(283,24948,C)}}}while(0);Em(c[s>>2]|0,c[y>>2]|0,c[z>>2]|0);c[g>>2]=c[v>>2];C=c[g>>2]|0;l=E;return C|0}function So(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;r=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;m=s;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[i>>2]=h;c[k>>2]=(c[o>>2]|0)+52+24;if(H_((c[o>>2]|0)+52+32|0,(c[i>>2]|0)+8|0,8)|0){c[n>>2]=0;r=c[n>>2]|0;l=s;return r|0}c[m>>2]=Vl(c[i>>2]|0)|0;if(!(c[m>>2]|0)){c[n>>2]=0;r=c[n>>2]|0;l=s;return r|0}c[j>>2]=(d[(c[o>>2]|0)+52+13>>0]|0)==((a[936]|0)==0|0)&1;Lo(c[j>>2]|0,c[i>>2]|0,8,c[k>>2]|0,c[k>>2]|0);Lo(c[j>>2]|0,c[r>>2]|0,c[(c[o>>2]|0)+36>>2]|0,c[k>>2]|0,c[k>>2]|0);r=c[c[k>>2]>>2]|0;if((r|0)==(Vl((c[i>>2]|0)+16|0)|0)?(r=c[(c[k>>2]|0)+4>>2]|0,(r|0)==(Vl((c[i>>2]|0)+20|0)|0)):0){c[c[p>>2]>>2]=c[m>>2];r=Vl((c[i>>2]|0)+4|0)|0;c[c[q>>2]>>2]=r;c[n>>2]=1;r=c[n>>2]|0;l=s;return r|0}c[n>>2]=0;r=c[n>>2]|0;l=s;return r|0}function To(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t+44|0;m=t+40|0;n=t+36|0;o=t+32|0;p=t+28|0;q=t+24|0;r=t+20|0;f=t+16|0;g=t+12|0;h=t+8|0;i=t+4|0;j=t;c[m>>2]=a;c[n>>2]=d;c[o>>2]=e;c[q>>2]=0;c[r>>2]=0;c[f>>2]=0;e=c[m>>2]|0;c[p>>2]=zn(e,yn(c[n>>2]|0)|0,f,r,q)|0;do if(!(c[p>>2]|0)){c[h>>2]=(c[n>>2]|0)-(c[q>>2]|0);if((c[h>>2]|0)==1){c[j>>2]=(c[f>>2]|0)+16384-((c[r>>2]|0)+4);m0((c[r>>2]|0)+4|0,0,c[j>>2]|0)|0}if(c[(c[r>>2]|0)+(c[h>>2]<<2)>>2]|0)ko(c[m>>2]|0);c[i>>2]=c[h>>2];c[g>>2]=An(c[o>>2]|0)|0;while(1){if(!(b[(c[f>>2]|0)+(c[g>>2]<<1)>>1]|0)){s=11;break}q=c[i>>2]|0;c[i>>2]=q+-1;if(!q)break;c[g>>2]=Bn(c[g>>2]|0)|0}if((s|0)==11){c[(c[r>>2]|0)+(c[h>>2]<<2)>>2]=c[o>>2];b[(c[f>>2]|0)+(c[g>>2]<<1)>>1]=c[h>>2];break}c[k>>2]=kn(54820)|0;s=c[k>>2]|0;l=t;return s|0}while(0);c[k>>2]=c[p>>2];s=c[k>>2]|0;l=t;return s|0}function Uo(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if((c[b>>2]|0?c[c[b>>2]>>2]|0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=Mb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))a=-1;else a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[d>>2]=c[e>>2];e=c[d>>2]|0;l=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;l=f;return e|0}function Vo(){return 48}function Wo(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+4>>2]|0)<=72){b=72;l=d;return b|0}b=c[(c[b>>2]|0)+4>>2]|0;l=d;return b|0}function Xo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}c[h>>2]=(md(c[f>>2]|0)|0)+1;b=c[h>>2]|0;c[g>>2]=Cd(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[g>>2]|0)h0(c[g>>2]|0,c[f>>2]|0,c[h>>2]|0)|0;c[d>>2]=c[g>>2];h=c[d>>2]|0;l=i;return h|0}function Yo(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;k=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[g>>2]=b;c[h>>2]=c[k>>2];c[i>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}do if(d[(c[h>>2]|0)+21>>0]|0|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}while(0);c[(c[g>>2]|0)+12>>2]=0;k=(tm(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(k){c[i>>2]=Sn(a)|0;if(!(c[i>>2]|0))c[i>>2]=_o(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(!((e[a+24>>1]|0)&8|0)?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[i>>2]=$o(c[h>>2]|0,1)|0;if(!(c[i>>2]|0))c[i>>2]=ap(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[i>>2]|0))Hl(c[g>>2]|0);c[f>>2]=dm(c[h>>2]|0,c[i>>2]|0)|0;k=c[f>>2]|0;l=j;return k|0}function Zo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;i=p+4|0;j=p;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[i>>2]=g;c[j>>2]=h;b=c[j>>2]|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[(c[j>>2]|0)+24>>2]=1;c[(c[j>>2]|0)+28>>2]=c[m>>2];a[(c[j>>2]|0)+32>>0]=c[n>>2];a[(c[j>>2]|0)+33>>0]=2;c[(c[j>>2]|0)+36>>2]=c[o>>2];c[(c[j>>2]|0)+40>>2]=c[i>>2];c[(c[j>>2]|0)+16>>2]=100;c[(c[j>>2]|0)+20>>2]=1;o=Al(c[j>>2]|0,c[k>>2]|0)|0;l=p;return o|0}function _o(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;g=p+4|0;h=p;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;a:do if(c[m>>2]|0){c[h>>2]=j;c[o>>2]=0;c[g>>2]=c[j>>2];while(1){f=c[g>>2]|0;c[c[h>>2]>>2]=f;if(!f)break a;if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0){c[h>>2]=(c[g>>2]|0)+12;c[o>>2]=(c[o>>2]|0)+1}c[g>>2]=c[(c[g>>2]|0)+12>>2]}}else c[o>>2]=1;while(0);f=(c[i>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+(c[o>>2]|0);if((c[(c[j>>2]|0)+20>>2]|0)==1)cp(c[j>>2]|0);c[n>>2]=hp(c[(c[i>>2]|0)+216>>2]|0,c[(c[i>>2]|0)+160>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,d[(c[i>>2]|0)+11>>0]|0)|0;if(c[n>>2]|0){o=c[n>>2]|0;l=p;return o|0}if(!(c[(c[i>>2]|0)+96>>2]|0)){o=c[n>>2]|0;l=p;return o|0}c[g>>2]=c[j>>2];while(1){if(!(c[g>>2]|0))break;fn(c[(c[i>>2]|0)+96>>2]|0,c[(c[g>>2]|0)+20>>2]|0,c[(c[g>>2]|0)+4>>2]|0);c[g>>2]=c[(c[g>>2]|0)+12>>2]}o=c[n>>2]|0;l=p;return o|0}function $o(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o;m=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=dp(c[g>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[c[(c[g>>2]|0)+68>>2]>>2]|0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[j>>2]=Ym(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[j>>2]&512)){a[n>>0]=a[24914]|0;a[n+1>>0]=a[24915]|0;a[n+2>>0]=a[24916]|0;a[n+3>>0]=a[24917]|0;a[n+4>>0]=a[24918]|0;a[n+5>>0]=a[24919]|0;a[n+6>>0]=a[24920]|0;a[n+7>>0]=a[24921]|0;Nn(n+8|0,c[(c[g>>2]|0)+48>>2]|0);b=co(c[g>>2]|0)|0;e=k;c[e>>2]=b;c[e+4>>2]=D;e=k;c[i>>2]=$m(c[(c[g>>2]|0)+68>>2]|0,m,8,c[e>>2]|0,c[e+4>>2]|0)|0;if((c[i>>2]|0)==0?0==(H_(m,24914,8)|0):0){m=k;c[i>>2]=Dm(c[(c[g>>2]|0)+68>>2]|0,56040,1,c[m>>2]|0,c[m+4>>2]|0)|0}if((c[i>>2]|0)!=0&(c[i>>2]|0)!=522){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}if((d[(c[g>>2]|0)+8>>0]|0?0==(c[j>>2]&1024|0):0)?(c[i>>2]=mm(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,c[i>>2]|0):0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}m=(c[g>>2]|0)+88|0;c[i>>2]=Dm(c[(c[g>>2]|0)+68>>2]|0,n,12,c[m>>2]|0,c[m+4>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}}if(0==(c[j>>2]&1024|0)?(c[i>>2]=mm(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,c[i>>2]|0):0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}k=(c[g>>2]|0)+80|0;m=c[k+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[k>>2];c[n+4>>2]=m;if(!(c[h>>2]|0))break;if(c[j>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[i>>2]=bo(c[g>>2]|0)|0;if(!(c[i>>2]|0))break;c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}k=(c[g>>2]|0)+80|0;m=c[k+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[k>>2];c[n+4>>2]=m}while(0);ep(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;l=o;return n|0}function ap(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;g=n+32|0;h=n+28|0;i=n+24|0;f=n+8|0;j=n+20|0;k=n;m=n+16|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[i>>2]=bp(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[i>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;b=c[(c[g>>2]|0)+160>>2]|0;b=r0(b|0,((b|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;d=f;c[d>>2]=b;c[d+4>>2]=D;wo(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[i>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[j>>2]=c[(c[h>>2]|0)+20>>2];if((c[j>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&16|0):0){d=c[(c[g>>2]|0)+160>>2]|0;d=r0((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=d;c[f+4>>2]=D;if((c[(c[h>>2]|0)+20>>2]|0)==1)cp(c[h>>2]|0);c[m>>2]=c[(c[h>>2]|0)+4>>2];f=k;c[i>>2]=Dm(c[(c[g>>2]|0)+64>>2]|0,c[m>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[j>>2]|0)==1){b=(c[g>>2]|0)+112|0;d=(c[m>>2]|0)+24|0;f=b+16|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0))}if((c[j>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[j>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;fn(c[(c[g>>2]|0)+96>>2]|0,c[j>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}l=n;return c[i>>2]|0}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;e=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Om(c[c[i>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;l=f;return c[e>>2]|0}function cp(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(Vl((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;Nn((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);Nn((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);Nn((c[(c[d>>2]|0)+4>>2]|0)+96|0,3015001);l=b;return}function dp(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(tm(c[b>>2]|0)|0):0)c[d>>2]=fp(c[b>>2]|0,4)|0;l=e;return c[d>>2]|0}function ep(a){a=a|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];l=g;return}function fp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=gp(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){a=4;break}if(!(Hb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){a=4;break}}if((a|0)==4){l=g;return c[f>>2]|0}return 0}function gp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;l=i;return h|0}if(d[(c[f>>2]|0)+14>>0]|0|0)b=0;else b=uo(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=b;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;l=i;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;l=i;return h|0} +function sM(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+80|0;z=A+76|0;s=A+72|0;t=A+68|0;C=A+64|0;B=A+60|0;u=A+56|0;v=A+52|0;w=A+48|0;i=A+44|0;j=A+40|0;x=A+36|0;k=A+32|0;m=A+28|0;y=A;n=A+24|0;o=A+20|0;p=A+16|0;q=A+12|0;r=A+8|0;c[s>>2]=a;c[t>>2]=b;c[C>>2]=e;c[B>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=0;c[i>>2]=c[C>>2];c[j>>2]=(c[i>>2]|0)+(c[B>>2]|0);c[x>>2]=0;c[k>>2]=0;c[m>>2]=1;h=bM(c[i>>2]|0,y)|0;c[i>>2]=(c[i>>2]|0)+h;h=bM(c[i>>2]|0,y)|0;c[i>>2]=(c[i>>2]|0)+h;if((c[i>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[z>>2]=267;C=c[z>>2]|0;l=A;return C|0}while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0){a=28;break}if(!(c[u>>2]|0?1:(c[v>>2]|0)!=0)){a=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){a=c[i>>2]|0;if((d[c[i>>2]>>0]|0)&128|0)a=cM(a,p)|0;else{c[p>>2]=d[a>>0];a=1}c[i>>2]=(c[i>>2]|0)+a}c[m>>2]=0;a=c[i>>2]|0;if((d[c[i>>2]>>0]|0)&128|0)a=cM(a,o)|0;else{c[o>>2]=d[a>>0];a=1}c[i>>2]=(c[i>>2]|0)+a;if((c[p>>2]|0)<0|(c[o>>2]|0)<0){a=15;break}if(((c[i>>2]|0)+(c[o>>2]|0)|0)>>>0>(c[j>>2]|0)>>>0){a=15;break}if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[k>>2]|0)){c[k>>2]=(c[p>>2]|0)+(c[o>>2]|0)<<1;c[r>>2]=Xf(c[x>>2]|0,c[k>>2]|0)|0;if(!(c[r>>2]|0)){a=18;break}c[x>>2]=c[r>>2]}h0((c[x>>2]|0)+(c[p>>2]|0)|0,c[i>>2]|0,c[o>>2]|0)|0;c[q>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[i>>2]=(c[i>>2]|0)+(c[o>>2]|0);c[n>>2]=H_(c[s>>2]|0,c[x>>2]|0,(c[q>>2]|0)>(c[t>>2]|0)?c[t>>2]|0:c[q>>2]|0)|0;do if(c[u>>2]|0){if((c[n>>2]|0)>=0){if(c[n>>2]|0)break;if((c[q>>2]|0)<=(c[t>>2]|0))break}h=y;B=c[h+4>>2]|0;C=c[u>>2]|0;c[C>>2]=c[h>>2];c[C+4>>2]=B;c[u>>2]=0}while(0);if((c[v>>2]|0)!=0&(c[n>>2]|0)<0){h=y;B=c[h+4>>2]|0;C=c[v>>2]|0;c[C>>2]=c[h>>2];c[C+4>>2]=B;c[v>>2]=0}B=y;B=_$(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;C=y;c[C>>2]=B;c[C+4>>2]=D}if((a|0)==15)c[w>>2]=267;else if((a|0)==18)c[w>>2]=7;else if((a|0)==28){if(c[u>>2]|0){t=y;B=c[t+4>>2]|0;C=c[u>>2]|0;c[C>>2]=c[t>>2];c[C+4>>2]=B}if(c[v>>2]|0){B=c[y+4>>2]|0;C=c[v>>2]|0;c[C>>2]=c[y>>2];c[C+4>>2]=B}}_d(c[x>>2]|0);c[z>>2]=c[w>>2];C=c[z>>2]|0;l=A;return C|0}function tM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+28|0;k=g+24|0;j=g+20|0;i=g+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[i>>2]=c[(c[c[k>>2]>>2]|0)+12>>2];c[d>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[e>>2]=c[(c[c[k>>2]>>2]|0)+16>>2];c[h>>2]=(c[d>>2]|0)<(c[e>>2]|0)?c[d>>2]|0:c[e>>2]|0;c[f>>2]=H_(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;if(c[f>>2]|0){m=c[f>>2]|0;l=g;return m|0}c[f>>2]=(c[d>>2]|0)-(c[e>>2]|0);m=c[f>>2]|0;l=g;return m|0}function uM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;j=p+32|0;e=p+28|0;f=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=45552;c[n>>2]=45556;c[o>>2]=45561;c[h>>2]=-1;c[i>>2]=15;a=c[j>>2]|0;if((c[e>>2]|0)>6){Th(a,45572,-1);l=p;return}if(yM(a,42611,c[c[f>>2]>>2]|0,k)|0){l=p;return}switch(c[e>>2]|0){case 6:{c[i>>2]=Qi(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[h>>2]=Qi(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[o>>2]=Rh(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=Rh(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[m>>2]=Rh(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[o>>2]|0)!=0&(c[n>>2]|0)!=0&(c[m>>2]|0)!=0)){wi(c[j>>2]|0);l=p;return}a=c[j>>2]|0;if(!(c[i>>2]|0)){xi(a,55752,-1,0);l=p;return}if(vN(a,c[k>>2]|0)|0){l=p;return}_N(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[h>>2]|0,c[i>>2]|0);l=p;return}function vM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(yM(c[e>>2]|0,42619,c[c[h>>2]>>2]|0,f)|0){l=g;return}if(vN(c[e>>2]|0,c[f>>2]|0)|0){l=g;return}WN(c[e>>2]|0,c[f>>2]|0);l=g;return}function wM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;j=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[i+16>>2]=b;c[j>>2]=d;if(yM(c[e>>2]|0,42637,c[c[j>>2]>>2]|0,h)|0){l=i;return}c[g>>2]=c[c[h>>2]>>2];c[f>>2]=UN(c[g>>2]|0)|0;switch(c[f>>2]|0){case 0:{xi(c[e>>2]|0,45456,-1,0);l=i;return}case 101:{xi(c[e>>2]|0,45472,-1,0);l=i;return}default:{Wi(c[e>>2]|0,c[f>>2]|0);l=i;return}}}function xM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(yM(c[e>>2]|0,42627,c[c[g>>2]>>2]|0,h)|0){l=j;return}c[i>>2]=0;if((c[f>>2]|0)>1)c[i>>2]=Rh(c[(c[g>>2]|0)+4>>2]|0)|0;zM(c[e>>2]|0,c[h>>2]|0,c[i>>2]|0);l=j;return}function yM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;o=p;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;g=p+4|0;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;if((Ai(c[k>>2]|0)|0)==4?(Sh(c[k>>2]|0)|0)==4:0){o=Ri(c[k>>2]|0)|0;a[n>>0]=a[o>>0]|0;a[n+1>>0]=a[o+1>>0]|0;a[n+2>>0]=a[o+2>>0]|0;a[n+3>>0]=a[o+3>>0]|0;c[c[m>>2]>>2]=c[n>>2];c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}c[o>>2]=c[j>>2];c[g>>2]=nf(45427,o)|0;Th(c[i>>2]|0,c[g>>2]|0,-1);_d(c[g>>2]|0);c[h>>2]=1;o=c[h>>2]|0;l=p;return o|0}function zM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[i>>2]=c[f>>2];else c[i>>2]=45362;a=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){AM(a,c[g>>2]|0,c[i>>2]|0);BM(c[h>>2]|0);l=j;return}else{mj(a,55752,0,0);l=j;return}}function AM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;m=u+76|0;n=u+72|0;o=u+68|0;p=u;q=u+64|0;r=u+60|0;s=u+56|0;f=u+52|0;g=u+48|0;h=u+44|0;i=u+40|0;j=u+36|0;k=u+32|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[q>>2]=c[c[n>>2]>>2];c[r>>2]=0;c[s>>2]=0;c[f>>2]=0;c[g>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[n>>2];c[p+4>>2]=c[(c[q>>2]|0)+24>>2];if(c[(c[n>>2]|0)+92>>2]|0?G_(c[(c[(c[n>>2]|0)+92>>2]|0)+12>>2]|0,c[o>>2]|0)|0:0){CM(c[(c[n>>2]|0)+92>>2]|0);c[(c[n>>2]|0)+92>>2]=0}if(!(c[(c[n>>2]|0)+92>>2]|0)){c[h>>2]=0;e=DM(c[(c[n>>2]|0)+12>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=e;c[p+8>>2]=c[(c[n>>2]|0)+20>>2];c[i>>2]=0;while(1){if(!(a[(c[o>>2]|0)+(c[i>>2]|0)>>0]|0))break;c[j>>2]=0;if(EM(c[q>>2]|0,a[(c[o>>2]|0)+(c[i>>2]|0)>>0]|0,j)|0){t=8;break}e=FM(p,a[(c[o>>2]|0)+(c[i>>2]|0)>>0]|0)|0;c[h>>2]=(c[h>>2]|0)+e;c[i>>2]=(c[i>>2]|0)+1}if((t|0)==8){Th(c[m>>2]|0,c[j>>2]|0,-1);_d(c[j>>2]|0);l=u;return}t=GM(c[h>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+92>>2]=t;if(!(c[(c[n>>2]|0)+92>>2]|0))c[r>>2]=7;c[(c[n>>2]|0)+88>>2]=1;c[s>>2]=1}if((c[r>>2]|0)==0?(c[g>>2]=HM(c[(c[n>>2]|0)+92>>2]|0,f)|0,(c[g>>2]|0)==0):0)c[r>>2]=7;if((c[r>>2]|0)==0?(c[p+28>>2]=c[f>>2],c[p+8>>2]=c[(c[n>>2]|0)+20>>2],c[r>>2]=IM(c[n>>2]|0,c[s>>2]|0,p,c[o>>2]|0)|0,c[s>>2]|0):0)JM(c[(c[n>>2]|0)+92>>2]|0);if(!(c[r>>2]|0)){c[k>>2]=c[(c[(c[n>>2]|0)+92>>2]|0)+4>>2]<<2;mj(c[m>>2]|0,c[f>>2]|0,c[k>>2]|0,c[g>>2]|0);l=u;return}Wi(c[m>>2]|0,c[r>>2]|0);if(!(c[g>>2]|0)){l=u;return}Eb[c[g>>2]&255](c[f>>2]|0);l=u;return}function BM(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;AJ(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;l=b;return}function CM(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+1>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+2>>0]|0|0){l=f;return}_d(c[e>>2]|0);l=f;return}function DM(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;QM(c[e>>2]|0,161,b)|0;l=d;return c[b>>2]|0}function EM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m;g=m+12|0;h=m+8|0;i=m+16|0;j=m+4|0;c[h>>2]=b;a[i>>0]=e;c[j>>2]=f;do if((a[i>>0]|0)!=112?(a[i>>0]|0)!=99:0){if((a[i>>0]|0)==110?d[(c[h>>2]|0)+228>>0]|0:0)break;if((a[i>>0]|0)==97?d[(c[h>>2]|0)+228>>0]|0:0)break;if((a[i>>0]|0)==108?d[(c[h>>2]|0)+230>>0]|0:0)break;if((((a[i>>0]|0)!=115?(a[i>>0]|0)!=120:0)?(a[i>>0]|0)!=121:0)?(a[i>>0]|0)!=98:0){j=c[j>>2]|0;c[k>>2]=a[i>>0];IK(j,45392,k);c[g>>2]=1;k=c[g>>2]|0;l=m;return k|0}}while(0);c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}function FM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=S(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=S(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(S(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}l=g;return c[f>>2]|0}function GM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[f>>2]=d;c[h>>2]=((c[e>>2]<<1)+1<<2)+20;c[i>>2]=g$(c[f>>2]|0)|0;c[g>>2]=pe((c[h>>2]|0)+(c[i>>2]|0)+1|0)|0;if(!(c[g>>2]|0)){i=c[g>>2]|0;l=j;return i|0}m0(c[g>>2]|0,0,c[h>>2]|0)|0;c[(c[g>>2]|0)+16>>2]=(c[g>>2]|0)+16+4-(c[g>>2]|0);c[(c[g>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[g>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[g>>2]|0)+4>>2]=c[e>>2];c[(c[g>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0);h0(c[(c[g>>2]|0)+12>>2]|0,c[f>>2]|0,(c[i>>2]|0)+1|0)|0;a[c[g>>2]>>0]=1;i=c[g>>2]|0;l=j;return i|0}function HM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[i>>2]=0;b=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){e=c[f>>2]|0;if(!(d[b+2>>0]|0)){a[e+2>>0]=1;c[i>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[h>>2]=162;break}c[i>>2]=pe(c[e+4>>2]<<2)|0;if(c[i>>2]|0?(c[h>>2]=157,c[(c[f>>2]|0)+8>>2]|0):0)h0(c[i>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[b+1>>0]=1;c[i>>2]=(c[f>>2]|0)+16+4;c[h>>2]=162}while(0);c[c[g>>2]>>2]=c[i>>2];l=j;return c[h>>2]|0}function IM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+96|0;u=B+92|0;v=B+88|0;w=B+84|0;x=B+80|0;A=B+76|0;y=B+72|0;g=B+68|0;z=B+64|0;h=B+24|0;i=B+16|0;j=B+60|0;k=B+56|0;m=B+52|0;n=B+8|0;o=B+48|0;p=B+44|0;q=B+40|0;r=B;s=B+36|0;t=B+32|0;c[u>>2]=b;c[v>>2]=d;c[w>>2]=e;c[x>>2]=f;c[A>>2]=0;c[g>>2]=c[c[u>>2]>>2];c[z>>2]=0;c[y>>2]=0;while(1){if(c[A>>2]|0){b=31;break}if(!(a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0)){b=31;break}a[(c[w>>2]|0)+24>>0]=a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0;a:do switch(a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0){case 112:{if(c[v>>2]|0)c[c[(c[w>>2]|0)+28>>2]>>2]=c[(c[w>>2]|0)+8>>2];break}case 99:{if(c[v>>2]|0)c[c[(c[w>>2]|0)+28>>2]>>2]=c[(c[w>>2]|0)+4>>2];break}case 110:{if(c[v>>2]|0){f=h;c[f>>2]=0;c[f+4>>2]=0;c[A>>2]=KM(c[g>>2]|0,z,h,0)|0;c[c[(c[w>>2]|0)+28>>2]>>2]=c[h>>2]}break}case 97:{if(c[v>>2]|0?(c[A>>2]=KM(c[g>>2]|0,z,i,j)|0,(c[A>>2]|0)==0):0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[w>>2]|0)+4>>2]|0))break a;f=bM(c[j>>2]|0,n)|0;c[j>>2]=(c[j>>2]|0)+f;f=c[n>>2]|0;e=i;e=n0(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=_$(f|0,0,e|0,D|0)|0;f=i;f=n0(e|0,D|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[m>>2]=f;c[(c[(c[w>>2]|0)+28>>2]|0)+(c[k>>2]<<2)>>2]=c[m>>2];c[k>>2]=(c[k>>2]|0)+1}}break}case 108:{c[o>>2]=0;f=(c[u>>2]|0)+32|0;c[A>>2]=LM(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,o)|0;b:do if(!(c[A>>2]|0)){c[q>>2]=fJ(c[o>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[w>>2]|0)+4>>2]|0))break b;f=bM(c[q>>2]|0,r)|0;c[q>>2]=(c[q>>2]|0)+f;c[(c[(c[w>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[r>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);ys(c[o>>2]|0)|0;break}case 115:{c[A>>2]=MM(c[u>>2]|0,0,0)|0;if(!(c[A>>2]|0))c[A>>2]=NM(c[u>>2]|0,c[w>>2]|0)|0;break}case 121:case 98:{c[s>>2]=(FM(c[w>>2]|0,a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0)|0)<<2;m0(c[(c[w>>2]|0)+28>>2]|0,0,c[s>>2]|0)|0;OM(c[(c[u>>2]|0)+12>>2]|0,c[w>>2]|0);break}default:{c[t>>2]=c[(c[u>>2]|0)+12>>2];c[A>>2]=MM(c[u>>2]|0,0,0)|0;if(!(c[A>>2]|0)){if(c[v>>2]|0){if(c[(c[u>>2]|0)+24>>2]|0?(c[A>>2]=KM(c[g>>2]|0,z,(c[w>>2]|0)+16|0,0)|0,c[A>>2]|0):0)break a;c[A>>2]=QM(c[t>>2]|0,162,c[w>>2]|0)|0;RM(c[u>>2]|0,A)|0;if(c[A>>2]|0)break a}QM(c[t>>2]|0,163,c[w>>2]|0)|0}}}while(0);e=FM(c[w>>2]|0,a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0)|0;f=(c[w>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[y>>2]=(c[y>>2]|0)+1}if((b|0)==31){ys(c[z>>2]|0)|0;l=B;return c[A>>2]|0}return 0}function JM(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;h0((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;l=b;return}function KM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;i=p+36|0;j=p+32|0;k=p+28|0;m=p+24|0;n=p+20|0;o=p+16|0;f=p+12|0;g=p;h=p+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;if((c[c[k>>2]>>2]|0)==0?(c[h>>2]=RN(c[j>>2]|0,c[k>>2]|0)|0,c[h>>2]|0):0){c[i>>2]=c[h>>2];o=c[i>>2]|0;l=p;return o|0}c[o>>2]=c[c[k>>2]>>2];c[f>>2]=fJ(c[o>>2]|0,0)|0;o=bM(c[f>>2]|0,g)|0;c[f>>2]=(c[f>>2]|0)+o;o=g;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[i>>2]=267;o=c[i>>2]|0;l=p;return o|0}o=c[m>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=0;if(c[n>>2]|0)c[c[n>>2]>>2]=c[f>>2];c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}function LM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=f+12|0;i=f;g=f+8|0;c[h>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=i;e=QN(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function MM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+24|0;e=i+20|0;f=i+16|0;g=i+12|0;h=i;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=QM(c[(c[j>>2]|0)+12>>2]|0,164,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){j=c[g>>2]|0;l=i;return j|0}c[c[f>>2]>>2]=c[h+8>>2];j=c[g>>2]|0;l=i;return j|0}function NM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;r=t+56|0;j=t+52|0;k=t+48|0;s=t+44|0;m=t+40|0;n=t+36|0;o=t+32|0;p=t+28|0;d=t+24|0;e=t+20|0;q=t+16|0;f=t+12|0;g=t+8|0;h=t+4|0;i=t;c[j>>2]=a;c[k>>2]=b;c[o>>2]=0;c[s>>2]=pe(c[(c[j>>2]|0)+20>>2]<<4)|0;if(!(c[s>>2]|0)){c[r>>2]=7;s=c[r>>2]|0;l=t;return s|0}m0(c[s>>2]|0,0,c[(c[j>>2]|0)+20>>2]<<4|0)|0;QM(c[(c[j>>2]|0)+12>>2]|0,165,c[s>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[k>>2]|0)+8>>2]|0))break;c[p>>2]=(c[s>>2]|0)+(c[m>>2]<<4);c[o>>2]=(c[o>>2]|0)-(c[(c[(c[c[p>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[p>>2]|0)+4>>2]=c[o>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+4>>2]|0)){a=33;break}c[d>>2]=0;c[e>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[k>>2]|0)+8>>2]|0))break;c[f>>2]=(c[s>>2]|0)+(c[m>>2]<<4);c[q>>2]=TM(c[j>>2]|0,c[c[f>>2]>>2]|0,c[n>>2]|0,(c[f>>2]|0)+8|0)|0;if(c[q>>2]|0){a=11;break a}if(c[(c[f>>2]|0)+8>>2]|0){c[(c[f>>2]|0)+12>>2]=c[(c[f>>2]|0)+4>>2];ON((c[s>>2]|0)+(c[m>>2]<<4)|0)|0;c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}while(1){if((c[e>>2]|0)<=0)break;c[g>>2]=0;c[h>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[k>>2]|0)+8>>2]|0))break;c[i>>2]=(c[s>>2]|0)+(c[m>>2]<<4);if(c[(c[i>>2]|0)+8>>2]|0){if(!((c[g>>2]|0)!=0?(c[(c[i>>2]|0)+12>>2]|0)>=(c[(c[g>>2]|0)+12>>2]|0):0))c[g>>2]=c[i>>2];if((c[h>>2]|0)!=0?(c[(c[i>>2]|0)+12>>2]|0)!=(c[(c[i>>2]|0)+-16+12>>2]|0):0)c[h>>2]=1;else c[h>>2]=(c[h>>2]|0)+1;if((c[h>>2]|0)>(c[d>>2]|0))c[d>>2]=c[h>>2]}else c[h>>2]=0;c[m>>2]=(c[m>>2]|0)+1}if(!(ON(c[g>>2]|0)|0))continue;c[e>>2]=(c[e>>2]|0)+-1}c[(c[(c[k>>2]|0)+28>>2]|0)+(c[n>>2]<<2)>>2]=c[d>>2];c[n>>2]=(c[n>>2]|0)+1}if((a|0)==11){c[r>>2]=c[q>>2];s=c[r>>2]|0;l=t;return s|0}else if((a|0)==33){_d(c[s>>2]|0);c[r>>2]=0;s=c[r>>2]|0;l=t;return s|0}return 0}function OM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0|0){l=g;return}a=(c[e>>2]|0)+24|0;b=(c[c[f>>2]>>2]|0)+32|0;if(!((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0)){l=g;return}a=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){OM(c[a+12>>2]|0,c[f>>2]|0);OM(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);l=g;return}else{MN(a,c[f>>2]|0);l=g;return}}function PM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;g=e+8|0;i=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[i>>2]=d;c[f>>2]=c[i>>2];d=JN(c[c[f>>2]>>2]|0,c[h>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+((S((c[g>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0)<<2)|0)|0;l=e;return d|0}function QM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;i=e+12|0;g=e+8|0;f=e+4|0;h=e;c[i>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;d=IN(c[i>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function RM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];c[g>>2]=0;if(c[f>>2]|0){f=c[f>>2]|0;f=(f|0)==0;g=c[g>>2]|0;g=(g|0)!=0;g=f?g:0;g=g&1;l=h;return g|0}if(c[(c[d>>2]|0)+24>>2]|0?(c[f>>2]=vN(0,c[d>>2]|0)|0,(c[f>>2]|0)==0):0)c[f>>2]=wN(c[d>>2]|0)|0;c[g>>2]=0==(xN(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,f)|0)&1;yN(c[d>>2]|0);c[c[e>>2]>>2]=c[f>>2];f=c[f>>2]|0;f=(f|0)==0;g=c[g>>2]|0;g=(g|0)!=0;g=f?g:0;g=g&1;l=h;return g|0}function SM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+28|0;e=m+24|0;n=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;k=m+4|0;f=m;c[g>>2]=a;c[e>>2]=b;c[n>>2]=d;c[h>>2]=0;c[i>>2]=c[n>>2];c[j>>2]=(S(c[e>>2]|0,c[(c[i>>2]|0)+4>>2]|0)|0)*3;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[(c[i>>2]|0)+4>>2]|0)?(c[h>>2]|0)==0:0))break;c[h>>2]=TM(c[c[i>>2]>>2]|0,c[g>>2]|0,c[k>>2]|0,f)|0;if(c[f>>2]|0){a=UM(f)|0;b=c[(c[i>>2]|0)+28>>2]|0;d=c[j>>2]|0;e=c[k>>2]|0}else{a=0;b=c[(c[i>>2]|0)+28>>2]|0;d=c[j>>2]|0;e=c[k>>2]|0}c[b+(d+(e*3|0)<<2)>>2]=a;c[k>>2]=(c[k>>2]|0)+1}l=m;return c[h>>2]|0}function TM(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;G=l;l=l+96|0;B=G+80|0;x=G+76|0;o=G+72|0;C=G+68|0;E=G+64|0;y=G+60|0;h=G+56|0;z=G+52|0;A=G+48|0;p=G;i=G+44|0;q=G+40|0;j=G+36|0;k=G+85|0;r=G+32|0;m=G+28|0;s=G+24|0;n=G+20|0;t=G+84|0;u=G+16|0;v=G+12|0;w=G+8|0;c[x>>2]=b;c[o>>2]=e;c[C>>2]=f;c[E>>2]=g;c[y>>2]=c[(c[o>>2]|0)+20>>2];c[h>>2]=c[c[x>>2]>>2];c[c[E>>2]>>2]=0;if((c[(c[y>>2]|0)+68>>2]|0)<(c[(c[h>>2]|0)+24>>2]|0)?(c[(c[y>>2]|0)+68>>2]|0)!=(c[C>>2]|0):0){c[B>>2]=0;F=c[B>>2]|0;l=G;return F|0}e=(c[o>>2]|0)+24|0;g=c[e+4>>2]|0;f=p;c[f>>2]=c[e>>2];c[f+4>>2]=g;c[z>>2]=c[(c[y>>2]|0)+28>>2];f=p;g=(c[x>>2]|0)+32|0;if(!(!((c[f>>2]|0)!=(c[g>>2]|0)?1:(c[f+4>>2]|0)!=(c[g+4>>2]|0))?!(d[(c[o>>2]|0)+32>>0]|0):0))F=6;do if((F|0)==6){c[i>>2]=0;c[q>>2]=d[(c[h>>2]|0)+231>>0];c[j>>2]=0;a[k>>0]=0;c[m>>2]=c[o>>2];c[r>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0))break;if((c[c[r>>2]>>2]|0)==4)c[j>>2]=1;if((c[c[r>>2]>>2]|0)==1)c[m>>2]=c[r>>2];if(a[(c[r>>2]|0)+32>>0]|0)a[k>>0]=1;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if(!(c[j>>2]|0)){c[B>>2]=0;F=c[B>>2]|0;l=G;return F|0}a:do if(c[(c[y>>2]|0)+40>>2]|0){c[n>>2]=d[(c[m>>2]|0)+32>>0];VM(c[x>>2]|0,c[m>>2]|0,i);b:while(1){if(c[i>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;WM(c[x>>2]|0,c[m>>2]|0,i);if(c[n>>2]|0)continue b;g=(c[m>>2]|0)+24|0;o=p;if(!(((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))&(c[i>>2]|0)==0))break a}}}while(0);c:do if((a[k>>0]|0)!=0&(c[i>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;WM(c[x>>2]|0,c[m>>2]|0,i)}while(!(c[i>>2]|0));while(0);if(c[i>>2]|0){c[B>>2]=c[i>>2];F=c[B>>2]|0;l=G;return F|0}c[s>>2]=1;c[r>>2]=c[m>>2];while(1){if(!(c[r>>2]|0))break;a[t>>0]=0;c[u>>2]=c[r>>2];if((c[c[u>>2]>>2]|0)==1)c[u>>2]=c[(c[u>>2]|0)+16>>2];c[v>>2]=c[(c[u>>2]|0)+20>>2];c[z>>2]=c[(c[v>>2]|0)+48>>2];g=(c[v>>2]|0)+56|0;o=c[g+4>>2]|0;b=p;c[b>>2]=c[g>>2];c[b+4>>2]=o;b=(c[(c[v>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[x>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(b)b=(c[z>>2]|0)>>>0>=((c[c[v>>2]>>2]|0)+(c[(c[v>>2]|0)+4>>2]|0)|0)>>>0;else b=1;a[t>>0]=b&1;while(1){if(c[z>>2]|0?(g=c[q>>2]|0?-1:1,n=p,o=(c[x>>2]|0)+32|0,o=Z$(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,r0(g|0,((g|0)<0)<<31>>31|0,o|0,D|0)|0,(D|0)>=0):0)break d;if(d[t>>0]|0)break d;XM(c[q>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,z,p,t)}}else{if(b)if(c[z>>2]|0)b=(c[z>>2]|0)>>>0<=(c[c[v>>2]>>2]|0)>>>0;else b=0;else b=1;a[t>>0]=b&1;while(1){if(c[z>>2]|0?(g=c[q>>2]|0?-1:1,n=p,o=(c[x>>2]|0)+32|0,o=Z$(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=r0(g|0,((g|0)<0)<<31>>31|0,o|0,D|0)|0,g=D,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[t>>0]|0)break d;dM(c[q>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,z,p,w,t)}}while(0);c[(c[v>>2]|0)+48>>2]=c[z>>2];n=p;g=c[n+4>>2]|0;o=(c[v>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!(!(d[t>>0]|0)?(g=p,o=(c[x>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[r>>2]=c[(c[r>>2]|0)+12>>2]}if(c[s>>2]|0){c[z>>2]=c[(c[y>>2]|0)+48>>2];break}else{c[z>>2]=0;break}}while(0);if(!(c[z>>2]|0)){c[B>>2]=0;F=c[B>>2]|0;l=G;return F|0}if((a[c[z>>2]>>0]|0)==1){c[z>>2]=(c[z>>2]|0)+1;b=c[z>>2]|0;if(d[c[z>>2]>>0]&128|0)b=cM(b,A)|0;else{c[A>>2]=d[b>>0];b=1}c[z>>2]=(c[z>>2]|0)+b}else c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[C>>2]|0))break;aM(0,z);if(!(a[c[z>>2]>>0]|0)){F=65;break}c[z>>2]=(c[z>>2]|0)+1;b=c[z>>2]|0;if(d[c[z>>2]>>0]&128|0)b=cM(b,A)|0;else{c[A>>2]=d[b>>0];b=1}c[z>>2]=(c[z>>2]|0)+b}if((F|0)==65){c[B>>2]=0;F=c[B>>2]|0;l=G;return F|0}if(!(a[c[z>>2]>>0]|0))c[z>>2]=0;c[c[E>>2]>>2]=(c[C>>2]|0)==(c[A>>2]|0)?c[z>>2]|0:0;c[B>>2]=0;F=c[B>>2]|0;l=G;return F|0}function UM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;e=h+4|0;f=h+12|0;g=h;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];a[f>>0]=0;c[g>>2]=0;while(1){b=c[e>>2]|0;if(!(254&(a[c[e>>2]>>0]|a[f>>0])))break;c[e>>2]=b+1;a[f>>0]=a[b>>0]&128;if(a[f>>0]|0)continue;c[g>>2]=(c[g>>2]|0)+1}c[c[d>>2]>>2]=b;l=h;return c[g>>2]|0}function VM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){l=m;return}if(c[c[h>>2]>>2]|0){l=m;return}c[i>>2]=c[(c[g>>2]|0)+20>>2];if(c[i>>2]|0){YM(c[i>>2]|0);if(c[(c[i>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[i>>2]|0)+64>>2]|0))break;c[k>>2]=(c[i>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[k>>2]|0)+20>>2]|0)fN(c[(c[k>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}k=gN(c[f>>2]|0,0,c[i>>2]|0)|0;c[c[h>>2]>>2]=k}c[(c[i>>2]|0)+8>>2]=0;k=(c[i>>2]|0)+16|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[i>>2]|0)+48>>2]=0}k=(c[g>>2]|0)+24|0;c[k>>2]=0;c[k+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;VM(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);VM(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);l=m;return}function WM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;r=x+64|0;w=x+60|0;s=x+56|0;t=x+52|0;u=x+48|0;v=x+44|0;o=x+8|0;p=x+40|0;q=x+36|0;k=x+32|0;m=x+28|0;n=x;g=x+24|0;h=x+20|0;i=x+16|0;c[r>>2]=b;c[w>>2]=e;c[s>>2]=f;if(c[c[s>>2]>>2]|0){l=x;return}c[t>>2]=d[(c[r>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){WM(c[r>>2]|0,c[v>>2]|0,c[s>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;l=x;return}n=(a[(c[v>>2]|0)+34>>0]|0)!=0;WM(c[r>>2]|0,c[u>>2]|0,c[s>>2]|0);if(n){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;l=x;return}WM(c[r>>2]|0,c[v>>2]|0,c[s>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[s>>2]>>2]|0)break;n=c[t>>2]|0?-1:1;k=(c[u>>2]|0)+24|0;m=(c[v>>2]|0)+24|0;m=Z$(c[k>>2]|0,c[k+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=r0(n|0,((n|0)<0)<<31>>31|0,m|0,D|0)|0;n=o;c[n>>2]=m;c[n+4>>2]=D;n=o;if((c[n>>2]|0)==0&(c[n+4>>2]|0)==0)break;b=c[r>>2]|0;if((c[o+4>>2]|0)<0){WM(b,c[u>>2]|0,c[s>>2]|0);continue}else{WM(b,c[v>>2]|0,c[s>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;t=(c[w>>2]|0)+24|0;c[t>>2]=c[n>>2];c[t+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){l=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){l=x;return}a:do if(c[(c[v>>2]|0)+20>>2]|0?c[c[(c[v>>2]|0)+20>>2]>>2]|0:0){c[p>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[s>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;m0(c[(c[p>>2]|0)+28>>2]|0,0,c[(c[p>>2]|0)+32>>2]|0)|0;WM(c[r>>2]|0,c[v>>2]|0,c[s>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){l=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){l=x;return}c[q>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[s>>2]>>2]|0){j=54;break}if(d[(c[u>>2]|0)+32>>0]|0){j=54;break}m0(c[(c[q>>2]|0)+28>>2]|0,0,c[(c[q>>2]|0)+32>>2]|0)|0;WM(c[r>>2]|0,c[u>>2]|0,c[s>>2]|0)}if((j|0)==54){l=x;return}break}case 4:{c[k>>2]=c[(c[w>>2]|0)+12>>2];c[m>>2]=c[(c[w>>2]|0)+16>>2];v=c[t>>2]|0?-1:1;q=(c[k>>2]|0)+24|0;u=(c[m>>2]|0)+24|0;u=Z$(c[q>>2]|0,c[q+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=r0(v|0,((v|0)<0)<<31>>31|0,u|0,D|0)|0;v=n;c[v>>2]=u;c[v+4>>2]=D;do if(!(d[(c[m>>2]|0)+32>>0]|0)?!((c[n+4>>2]|0)<0?(d[(c[k>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[k>>2]|0)+32>>0]|0)==0?(v=n,u=c[v+4>>2]|0,!((d[(c[m>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){WM(c[r>>2]|0,c[k>>2]|0,c[s>>2]|0);WM(c[r>>2]|0,c[m>>2]|0,c[s>>2]|0);break}WM(c[r>>2]|0,c[m>>2]|0,c[s>>2]|0)}else j=33;while(0);if((j|0)==33)WM(c[r>>2]|0,c[k>>2]|0,c[s>>2]|0);if(d[(c[k>>2]|0)+32>>0]|0)b=(d[(c[m>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=c[t>>2]|0?-1:1;t=(c[k>>2]|0)+24|0;u=(c[m>>2]|0)+24|0;u=Z$(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=r0(v|0,((v|0)<0)<<31>>31|0,u|0,D|0)|0;v=n;c[v>>2]=u;c[v+4>>2]=D;if(!(d[(c[m>>2]|0)+32>>0]|0)?!((c[n+4>>2]|0)<0?(d[(c[k>>2]|0)+32>>0]|0)==0:0):0){g=(c[m>>2]|0)+24|0;b=c[w>>2]|0;e=c[g>>2]|0;g=c[g+4>>2]|0}else{g=(c[k>>2]|0)+24|0;b=c[w>>2]|0;e=c[g>>2]|0;g=c[g+4>>2]|0}w=b+24|0;c[w>>2]=e;c[w+4>>2]=g;l=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[h>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[h>>2]|0)+33>>0]|0))WM(c[r>>2]|0,c[h>>2]|0,c[s>>2]|0);WM(c[r>>2]|0,c[g>>2]|0,c[s>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[s>>2]>>2]|0)break b;if(a[(c[h>>2]|0)+32>>0]|0)break b;u=c[t>>2]|0?-1:1;q=(c[g>>2]|0)+24|0;v=(c[h>>2]|0)+24|0;v=Z$(c[q>>2]|0,c[q+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=r0(u|0,((u|0)<0)<<31>>31|0,v|0,D|0)|0;u=D;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;WM(c[r>>2]|0,c[h>>2]|0,c[s>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;l=x;return}default:{c[i>>2]=c[(c[w>>2]|0)+20>>2];YM(c[i>>2]|0);u=ZM(c[r>>2]|0,c[i>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[s>>2]>>2]=u;u=(c[i>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;l=x;return}}}function XM(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;i=r+16|0;j=r+12|0;k=r+8|0;m=r;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[i>>2]=g;c[j>>2]=h;c[k>>2]=c[c[q>>2]>>2];if(!(c[k>>2]|0)){c[k>>2]=c[o>>2];p=bM(c[k>>2]|0,c[i>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p;p=c[k>>2]|0;q=c[q>>2]|0;c[q>>2]=p;l=r;return}gM(0,k);while(1){if((c[k>>2]|0)>>>0<((c[o>>2]|0)+(c[p>>2]|0)|0)>>>0)d=(a[c[k>>2]>>0]|0)==0;else d=0;b=c[k>>2]|0;if(!d)break;c[k>>2]=b+1}if(b>>>0>=((c[o>>2]|0)+(c[p>>2]|0)|0)>>>0){a[c[j>>2]>>0]=1;p=c[k>>2]|0;q=c[q>>2]|0;c[q>>2]=p;l=r;return}else{p=bM(c[k>>2]|0,m)|0;c[k>>2]=(c[k>>2]|0)+p;p=c[n>>2]|0?-1:1;o=m;o=r0(p|0,((p|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[i>>2]|0;n=p;o=_$(c[n>>2]|0,c[n+4>>2]|0,o|0,D|0)|0;c[p>>2]=o;c[p+4>>2]=D;p=c[k>>2]|0;q=c[q>>2]|0;c[q>>2]=p;l=r;return}}function YM(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)_d(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;l=d;return}function ZM(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[i>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];a=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[h>>2]=_M(a,c[f>>2]|0,c[g>>2]|0)|0;m=c[h>>2]|0;l=k;return m|0}if((d[a+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?c[(c[i>>2]|0)+4>>2]|0:0){dM(d[(c[j>>2]|0)+231>>0]|0,c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0,(c[i>>2]|0)+8|0,(c[i>>2]|0)+16|0,(c[i>>2]|0)+32|0,c[g>>2]|0);c[(c[i>>2]|0)+28>>2]=c[(c[i>>2]|0)+8>>2];m=c[h>>2]|0;l=k;return m|0}$M(c[j>>2]|0,c[i>>2]|0,c[g>>2]|0);m=c[h>>2]|0;l=k;return m|0}function _M(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;E=l;l=l+192|0;w=E+172|0;g=E+168|0;x=E+164|0;y=E+160|0;z=E+156|0;A=E+152|0;B=E+148|0;h=E+176|0;i=E+144|0;j=E+8|0;k=E+140|0;m=E;n=E+136|0;o=E+132|0;p=E+128|0;q=E+124|0;r=E+120|0;s=E+116|0;t=E+112|0;u=E+108|0;v=E+104|0;c[g>>2]=b;c[x>>2]=e;c[y>>2]=f;c[z>>2]=0;c[A>>2]=c[x>>2];c[B>>2]=c[c[g>>2]>>2];a[h>>0]=0;if((c[(c[x>>2]|0)+64>>2]|0)==1?c[(c[x>>2]|0)+40>>2]|0:0){c[z>>2]=aN(c[B>>2]|0,c[(c[x>>2]|0)+72+20>>2]|0,(c[A>>2]|0)+16|0,(c[A>>2]|0)+28|0,(c[A>>2]|0)+32|0)|0;if(!(c[(c[A>>2]|0)+28>>2]|0))a[h>>0]=1}else C=5;a:do if((C|0)==5){c[i>>2]=d[(c[g>>2]|0)+52>>0];b=j;e=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));while(1){if(d[h>>0]|0|0)break a;c[k>>2]=0;g=m;c[g>>2]=0;c[g+4>>2]=0;c[n>>2]=0;while(1){if(c[z>>2]|0)break;if((c[n>>2]|0)>=(c[(c[x>>2]|0)+64>>2]|0))break;if(d[h>>0]|0|0)break;c[z>>2]=bN(c[B>>2]|0,c[x>>2]|0,c[n>>2]|0,j+((c[n>>2]|0)*24|0)|0,h)|0;do if(!(c[j+((c[n>>2]|0)*24|0)>>2]|0)){if(c[k>>2]|0?(f=c[i>>2]|0?-1:1,e=m,g=j+((c[n>>2]|0)*24|0)+8|0,g=Z$(c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0,r0(f|0,((f|0)<0)<<31>>31|0,g|0,D|0)|0,(D|0)>=0):0)break;e=j+((c[n>>2]|0)*24|0)+8|0;f=c[e+4>>2]|0;g=m;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[k>>2]=1}while(0);c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[x>>2]|0)+64>>2]|0))break;while(1){if(c[z>>2]|0)break;if(d[h>>0]|0|0)break;if(c[j+((c[n>>2]|0)*24|0)>>2]|0)break;f=c[i>>2]|0?-1:1;e=j+((c[n>>2]|0)*24|0)+8|0;g=m;g=Z$(c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;r0(f|0,((f|0)<0)<<31>>31|0,g|0,D|0)|0;if((D|0)>=0)break;c[z>>2]=bN(c[B>>2]|0,c[x>>2]|0,c[n>>2]|0,j+((c[n>>2]|0)*24|0)|0,h)|0;f=c[i>>2]|0?-1:1;e=j+((c[n>>2]|0)*24|0)+8|0;g=m;g=Z$(c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;g=r0(f|0,((f|0)<0)<<31>>31|0,g|0,D|0)|0;f=D;if(!((f|0)>0|(f|0)==0&g>>>0>0))continue;e=j+((c[n>>2]|0)*24|0)+8|0;f=c[e+4>>2]|0;g=m;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[n>>2]=0}c[n>>2]=(c[n>>2]|0)+1}if(d[h>>0]|0|0)continue;c[o>>2]=0;c[p>>2]=c[j+(((c[(c[x>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[q>>2]=pe((c[p>>2]|0)+1|0)|0;if(!(c[q>>2]|0))break;h0(c[q>>2]|0,c[j+(((c[(c[x>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[p>>2]|0)+1|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[x>>2]|0)+64>>2]|0)-1|0))break;if(!(c[j+((c[n>>2]|0)*24|0)>>2]|0)){c[r>>2]=c[j+((c[n>>2]|0)*24|0)+16>>2];c[s>>2]=c[q>>2];c[t>>2]=c[q>>2];c[u>>2]=(c[(c[x>>2]|0)+64>>2]|0)-1-(c[n>>2]|0);c[v>>2]=cN(t,c[u>>2]|0,0,1,r,s)|0;if(!(c[v>>2]|0))break;c[o>>2]=(c[t>>2]|0)-(c[q>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)==((c[(c[x>>2]|0)+64>>2]|0)-1|0)){C=35;break}_d(c[q>>2]|0)}if((C|0)==35){x=m;B=c[x+4>>2]|0;C=(c[A>>2]|0)+16|0;c[C>>2]=c[x>>2];c[C+4>>2]=B;c[(c[A>>2]|0)+28>>2]=c[q>>2];c[(c[A>>2]|0)+32>>2]=c[o>>2];c[(c[A>>2]|0)+24>>2]=1;break}c[w>>2]=7;C=c[w>>2]|0;l=E;return C|0}while(0);a[c[y>>2]>>0]=a[h>>0]|0;c[w>>2]=c[z>>2];C=c[w>>2]|0;l=E;return C|0}function $M(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;h=n;c[g>>2]=b;c[i>>2]=e;c[j>>2]=f;c[m>>2]=(c[c[i>>2]>>2]|0)+(c[(c[i>>2]|0)+4>>2]|0);b=c[i>>2]|0;if(c[(c[i>>2]|0)+8>>2]|0)c[k>>2]=c[b+8>>2];else c[k>>2]=c[b>>2];if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0){a[c[j>>2]>>0]=1;l=n;return}f=bM(c[k>>2]|0,h)|0;c[k>>2]=(c[k>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[i>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[i>>2]|0)+16|0;f=h;g=Z$(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=D}else{g=h;h=(c[i>>2]|0)+16|0;f=h;g=_$(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=D}c[(c[i>>2]|0)+28>>2]=c[k>>2];gM(0,k);c[(c[i>>2]|0)+32>>2]=(c[k>>2]|0)-(c[(c[i>>2]|0)+28>>2]|0);while(1){if((c[k>>2]|0)>>>0<(c[m>>2]|0)>>>0)b=(a[c[k>>2]>>0]|0)==0;else b=0;e=c[k>>2]|0;if(!b)break;c[k>>2]=e+1}c[(c[i>>2]|0)+8>>2]=e;a[c[j>>2]>>0]=0;l=n;return}function aN(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;u=x+60|0;n=x+56|0;o=x+52|0;v=x+48|0;w=x+44|0;p=x+40|0;h=x+36|0;i=x+32|0;j=x+28|0;k=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;m=x+8|0;t=x;c[n>>2]=a;c[o>>2]=b;c[v>>2]=e;c[w>>2]=f;c[p>>2]=g;c[h>>2]=c[(c[o>>2]|0)+8>>2];c[i>>2]=c[c[o>>2]>>2];c[j>>2]=d[(c[n>>2]|0)+231>>0]|0|0?215:216;if(!(c[h>>2]|0)){c[c[w>>2]>>2]=0;c[u>>2]=0;w=c[u>>2]|0;l=x;return w|0}while(1){c[k>>2]=c[c[c[o>>2]>>2]>>2];if(!(c[(c[k>>2]|0)+80>>2]|0)){a=4;break}e=(c[c[i>>2]>>2]|0)+88|0;f=c[e+4>>2]|0;g=t;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[q>>2]=ZL(c[n>>2]|0,c[c[i>>2]>>2]|0,r,s)|0;c[m>>2]=1;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[h>>2]|0))break;if(!(c[(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0)+80>>2]|0))break;f=(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[f>>2]|0)==(c[g>>2]|0)?(c[f+4>>2]|0)==(c[g+4>>2]|0):0))break;c[q>>2]=ZL(c[n>>2]|0,c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0,0,0)|0;c[m>>2]=(c[m>>2]|0)+1}if(c[q>>2]|0){a=12;break}WL(c[c[o>>2]>>2]|0,c[h>>2]|0,c[m>>2]|0,c[j>>2]|0);if((c[s>>2]|0)>0?c[(c[c[i>>2]>>2]|0)+56>>2]|0:0){c[q>>2]=XL(c[o>>2]|0,c[r>>2]|0,(c[s>>2]|0)+1|0)|0;if(c[q>>2]|0){a=16;break}c[r>>2]=c[(c[o>>2]|0)+16>>2]}if((c[(c[o>>2]|0)+24>>2]|0)>=0)_L(c[(c[o>>2]|0)+24>>2]|0,1,r,s);if((c[s>>2]|0)>0){a=21;break}}if((a|0)==4)c[c[w>>2]>>2]=0;else if((a|0)==12){c[u>>2]=c[q>>2];w=c[u>>2]|0;l=x;return w|0}else if((a|0)==16){c[u>>2]=c[q>>2];w=c[u>>2]|0;l=x;return w|0}else if((a|0)==21){c[c[w>>2]>>2]=c[r>>2];r=t;t=c[r+4>>2]|0;w=c[v>>2]|0;c[w>>2]=c[r>>2];c[w+4>>2]=t;c[c[p>>2]>>2]=c[s>>2]}c[u>>2]=0;w=c[u>>2]|0;l=x;return w|0}function bN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;h=p+4|0;i=p;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[h>>2]=0;if((c[(c[k>>2]|0)+44>>2]|0)==(c[m>>2]|0)){$M(c[j>>2]|0,c[k>>2]|0,c[o>>2]|0);c[(c[n>>2]|0)+16>>2]=c[(c[k>>2]|0)+28>>2];c[(c[n>>2]|0)+20>>2]=c[(c[k>>2]|0)+32>>2];k=(c[k>>2]|0)+16|0;m=c[k+4>>2]|0;o=(c[n>>2]|0)+8|0;c[o>>2]=c[k>>2];c[o+4>>2]=m;o=c[h>>2]|0;l=p;return o|0}c[i>>2]=(c[k>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[i>>2]|0)+20>>2]|0)){c[c[n>>2]>>2]=1;o=c[h>>2]|0;l=p;return o|0}c[h>>2]=aN(c[j>>2]|0,c[(c[i>>2]|0)+20>>2]|0,(c[n>>2]|0)+8|0,(c[n>>2]|0)+16|0,(c[n>>2]|0)+20|0)|0;if(c[(c[n>>2]|0)+16>>2]|0){o=c[h>>2]|0;l=p;return o|0}a[c[o>>2]>>0]=1;o=c[h>>2]|0;l=p;return o|0}function cN(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+96|0;x=C+80|0;y=C+76|0;z=C+72|0;A=C+68|0;j=C+64|0;k=C+60|0;m=C+56|0;n=C+52|0;o=C+48|0;p=C+44|0;q=C+40|0;r=C+36|0;s=C+32|0;t=C+24|0;u=C+16|0;v=C+8|0;w=C;c[y>>2]=b;c[z>>2]=e;c[A>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=i;c[n>>2]=c[c[y>>2]>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=c[c[m>>2]>>2];c[q>>2]=0;c[r>>2]=0;if((a[c[o>>2]>>0]|0)==1){c[o>>2]=(c[o>>2]|0)+1;b=c[o>>2]|0;if(d[c[o>>2]>>0]&128|0)b=cM(b,q)|0;else{c[q>>2]=d[b>>0];b=1}c[o>>2]=(c[o>>2]|0)+b}if((a[c[p>>2]>>0]|0)==1){c[p>>2]=(c[p>>2]|0)+1;b=c[p>>2]|0;if(d[c[p>>2]>>0]&128|0)b=cM(b,r)|0;else{c[r>>2]=d[b>>0];b=1}c[p>>2]=(c[p>>2]|0)+b}while(1){if((c[q>>2]|0)!=(c[r>>2]|0))if((c[q>>2]|0)<(c[r>>2]|0)){aM(0,o);if(!(a[c[o>>2]>>0]|0))break;c[o>>2]=(c[o>>2]|0)+1;b=c[o>>2]|0;if(d[c[o>>2]>>0]&128|0)b=cM(b,q)|0;else{c[q>>2]=d[b>>0];b=1}c[o>>2]=(c[o>>2]|0)+b;continue}else{aM(0,p);if(!(a[c[p>>2]>>0]|0))break;c[p>>2]=(c[p>>2]|0)+1;b=c[p>>2]|0;if(d[c[p>>2]>>0]&128|0)b=cM(b,r)|0;else{c[r>>2]=d[b>>0];b=1}c[p>>2]=(c[p>>2]|0)+b;continue}c[s>>2]=c[n>>2];i=t;c[i>>2]=0;c[i+4>>2]=0;i=u;c[i>>2]=0;c[i+4>>2]=0;i=v;c[i>>2]=0;c[i+4>>2]=0;if(c[q>>2]|0){i=c[n>>2]|0;c[n>>2]=i+1;a[i>>0]=1;i=c[q>>2]|0;i=NL(c[n>>2]|0,i,((i|0)<0)<<31>>31)|0;c[n>>2]=(c[n>>2]|0)+i}dN(o,u);i=u;i=Z$(c[i>>2]|0,c[i+4>>2]|0,2,0)|0;h=u;c[h>>2]=i;c[h+4>>2]=D;dN(p,v);h=v;h=Z$(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;i=v;c[i>>2]=h;c[i+4>>2]=D;while(1){i=v;g=c[i>>2]|0;i=c[i+4>>2]|0;f=u;h=c[z>>2]|0;h=_$(c[f>>2]|0,c[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((g|0)==(h|0)&(i|0)==(D|0))){if(((c[j>>2]|0)==0?(h=v,f=c[h+4>>2]|0,i=u,g=c[i+4>>2]|0,(f|0)>(g|0)|((f|0)==(g|0)?(c[h>>2]|0)>>>0>(c[i>>2]|0)>>>0:0)):0)?(f=v,h=c[f>>2]|0,f=c[f+4>>2]|0,g=u,i=c[z>>2]|0,i=_$(c[g>>2]|0,c[g+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,g=D,(f|0)<(g|0)|(f|0)==(g|0)&h>>>0<=i>>>0):0)B=19}else B=19;if((B|0)==19){B=0;e=(c[A>>2]|0)!=0;f=u;g=v;i=e?c[f+4>>2]|0:c[g+4>>2]|0;h=w;c[h>>2]=e?c[f>>2]|0:c[g>>2]|0;c[h+4>>2]=i;h=w;h=_$(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;eN(n,t,h,D);h=t;h=Z$(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;i=t;c[i>>2]=h;c[i+4>>2]=D;c[s>>2]=0}if(!(!(c[A>>2]|0)?(f=v,h=c[f>>2]|0,f=c[f+4>>2]|0,g=u,i=c[z>>2]|0,i=_$(c[g>>2]|0,c[g+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,g=D,(f|0)<(g|0)|(f|0)==(g|0)&h>>>0<=i>>>0):0))B=22;if((B|0)==22?(B=0,h=v,f=c[h+4>>2]|0,i=u,g=c[i+4>>2]|0,!((f|0)<(g|0)|((f|0)==(g|0)?(c[h>>2]|0)>>>0<=(c[i>>2]|0)>>>0:0))):0){if(!(a[c[o>>2]>>0]&254))break;dN(o,u);h=u;h=Z$(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;i=u;c[i>>2]=h;c[i+4>>2]=D;continue}if(!(a[c[p>>2]>>0]&254))break;dN(p,v);h=v;h=Z$(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;i=v;c[i>>2]=h;c[i+4>>2]=D}if(c[s>>2]|0)c[n>>2]=c[s>>2];aM(0,o);aM(0,p);if(!(a[c[o>>2]>>0]|0))break;if(!(a[c[p>>2]>>0]|0))break;c[o>>2]=(c[o>>2]|0)+1;b=c[o>>2]|0;if(d[c[o>>2]>>0]&128|0)b=cM(b,q)|0;else{c[q>>2]=d[b>>0];b=1}c[o>>2]=(c[o>>2]|0)+b;c[p>>2]=(c[p>>2]|0)+1;b=c[p>>2]|0;if(d[c[p>>2]>>0]&128|0)b=cM(b,r)|0;else{c[r>>2]=d[b>>0];b=1}c[p>>2]=(c[p>>2]|0)+b}gM(0,p);gM(0,o);c[c[k>>2]>>2]=c[o>>2];c[c[m>>2]>>2]=c[p>>2];if((c[c[y>>2]>>2]|0)==(c[n>>2]|0)){c[x>>2]=0;B=c[x>>2]|0;l=C;return B|0}else{B=c[n>>2]|0;c[n>>2]=B+1;a[B>>0]=0;c[c[y>>2]>>2]=c[n>>2];c[x>>2]=1;B=c[x>>2]|0;l=C;return B|0}return 0}function dN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;b=bM(c[c[g>>2]>>2]|0,f)|0;a=c[g>>2]|0;c[a>>2]=(c[a>>2]|0)+b;a=f;b=c[e>>2]|0;e=b;a=_$(c[e>>2]|0,c[e+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=a;c[b+4>>2]=D;l=d;return}function eN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+12|0;g=f+8|0;h=f;c[i>>2]=a;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=c[c[i>>2]>>2]|0;e=h;d=c[g>>2]|0;d=Z$(c[e>>2]|0,c[e+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=NL(b,d,D)|0;b=c[i>>2]|0;c[b>>2]=(c[b>>2]|0)+d;b=h;d=c[b+4>>2]|0;e=c[g>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=d;l=f;return}function fN(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}l=e;return 0}function gN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;h=s+44|0;t=s+40|0;o=s+36|0;p=s+32|0;r=s+28|0;q=s+24|0;i=s+20|0;f=s+16|0;g=s+12|0;k=s+8|0;m=s+4|0;n=s;c[h>>2]=a;c[t>>2]=b;c[o>>2]=e;c[p>>2]=c[c[h>>2]>>2];c[r>>2]=0;c[i>>2]=0;if((c[t>>2]|0?(d[(c[h>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[o>>2]|0)+64>>2]|0)<=4:0)a=(c[(c[o>>2]|0)+64>>2]|0)>0;else a=0;c[f>>2]=a&1;c[q>>2]=0;while(1){if((c[f>>2]|0)!=1)break;if((c[q>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0))break;c[g>>2]=(c[o>>2]|0)+72+((c[q>>2]|0)*24|0);if(!(c[(c[g>>2]|0)+12>>2]|0)){if(c[(c[g>>2]|0)+20>>2]|0?(c[(c[(c[g>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)j=11}else j=11;if((j|0)==11){j=0;c[f>>2]=0}if(c[(c[g>>2]|0)+20>>2]|0)c[i>>2]=1;c[q>>2]=(c[q>>2]|0)+1}if(!((c[f>>2]|0)!=0&(c[i>>2]|0)!=0)){c[r>>2]=iN(c[h>>2]|0,c[o>>2]|0)|0;q=0;t=c[o>>2]|0;t=t+40|0;c[t>>2]=q;t=c[r>>2]|0;l=s;return t|0}if((c[(c[o>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))a=-1;else a=c[(c[o>>2]|0)+68>>2]|0;c[k>>2]=a;c[q>>2]=0;while(1){if(!(c[r>>2]|0))b=(c[q>>2]|0)<(c[(c[o>>2]|0)+64>>2]|0);else b=0;a=c[o>>2]|0;if(!b){b=1;break}c[m>>2]=a+72+((c[q>>2]|0)*24|0);c[n>>2]=c[(c[m>>2]|0)+20>>2];if(c[n>>2]|0)c[r>>2]=hN(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+1}t=a+40|0;c[t>>2]=b;t=c[r>>2]|0;l=s;return t|0}function hN(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+40|0;k=t+36|0;r=t+32|0;s=t+28|0;m=t+24|0;h=t+20|0;n=t+16|0;o=t+12|0;i=t+8|0;p=t+4|0;j=t;c[k>>2]=a;c[r>>2]=b;c[s>>2]=e;c[m>>2]=f;c[h>>2]=g;c[i>>2]=c[(c[r>>2]|0)+4>>2];c[p>>2]=d[(c[k>>2]|0)+231>>0]|0|0?215:216;c[o>>2]=kM(c[k>>2]|0,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;if(c[o>>2]|0){c[q>>2]=c[o>>2];s=c[q>>2]|0;l=t;return s|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[i>>2]|0))break;c[j>>2]=c[(c[c[r>>2]>>2]|0)+(c[n>>2]<<2)>>2];if(!(c[(c[j>>2]|0)+40>>2]|0))break;if(lM(c[j>>2]|0,c[m>>2]|0,c[h>>2]|0)|0)break;c[n>>2]=(c[n>>2]|0)+1}c[(c[r>>2]|0)+8>>2]=c[n>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0)){a=13;break}c[o>>2]=YL(c[k>>2]|0,c[(c[c[r>>2]>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;if(c[o>>2]|0){a=11;break}c[n>>2]=(c[n>>2]|0)+1}if((a|0)==11){c[q>>2]=c[o>>2];s=c[q>>2]|0;l=t;return s|0}else if((a|0)==13){WL(c[c[r>>2]>>2]|0,c[n>>2]|0,c[n>>2]|0,c[p>>2]|0);c[(c[r>>2]|0)+24>>2]=c[s>>2];c[q>>2]=0;s=c[q>>2]|0;l=t;return s|0}return 0}function iN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;g=k+8|0;h=k+4|0;i=k;c[m>>2]=a;c[d>>2]=b;c[e>>2]=c[c[m>>2]>>2];c[j>>2]=0;c[f>>2]=0;while(1){if(c[j>>2]|0){a=8;break}if((c[f>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){a=8;break}c[g>>2]=(c[d>>2]|0)+72+((c[f>>2]|0)*24|0);if(c[(c[g>>2]|0)+20>>2]|0?(c[h>>2]=0,c[i>>2]=0,c[j>>2]=jN(c[e>>2]|0,c[g>>2]|0,c[(c[d>>2]|0)+68>>2]|0,h,i)|0,(c[j>>2]|0)==0):0)c[j>>2]=kN(c[e>>2]|0,c[d>>2]|0,c[f>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}if((a|0)==8){l=k;return c[j>>2]|0}return 0}function jN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+192|0;m=r+176|0;n=r+172|0;o=r+168|0;p=r+164|0;q=r+160|0;g=r+156|0;h=r+152|0;i=r+24|0;j=r+8|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[h>>2]=c[(c[n>>2]|0)+20>>2];a=i;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[j+12>>2]=3|(c[(c[n>>2]|0)+8>>2]|0?8:0)|(c[(c[n>>2]|0)+12>>2]|0?32:0)|((c[o>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?4:0);c[j+8>>2]=c[o>>2];c[j>>2]=c[c[n>>2]>>2];c[j+4>>2]=c[(c[n>>2]|0)+4>>2];c[g>>2]=xL(c[m>>2]|0,c[h>>2]|0,j)|0;while(1){if(c[g>>2]|0)break;o=yL(c[m>>2]|0,c[h>>2]|0)|0;c[g>>2]=o;if(100!=(o|0))break;c[g>>2]=oN(c[m>>2]|0,i,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0}if(!(c[g>>2]|0))c[g>>2]=pN(c[m>>2]|0,i)|0;if(!(c[g>>2]|0)){c[c[q>>2]>>2]=c[i>>2];c[c[p>>2]>>2]=c[i+64>>2];q=c[h>>2]|0;qN(q);q=c[n>>2]|0;q=q+20|0;c[q>>2]=0;q=c[g>>2]|0;l=r;return q|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=16)break;_d(c[i+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}q=c[h>>2]|0;qN(q);q=c[n>>2]|0;q=q+20|0;c[q>>2]=0;q=c[g>>2]|0;l=r;return q|0}function kN(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+40|0;p=t+36|0;q=t+32|0;r=t+28|0;s=t+24|0;h=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[h>>2]=0;a=c[p>>2]|0;do if(!(c[r>>2]|0)){_d(c[a>>2]|0);c[c[p>>2]>>2]=0;c[(c[p>>2]|0)+4>>2]=0}else{if((c[a+44>>2]|0)<0){c[c[p>>2]>>2]=c[r>>2];c[(c[p>>2]|0)+4>>2]=c[s>>2];break}if(!(c[c[p>>2]>>2]|0)){_d(c[r>>2]|0);break}a=c[c[p>>2]>>2]|0;if((c[(c[p>>2]|0)+44>>2]|0)<(c[q>>2]|0)){c[i>>2]=a;c[k>>2]=c[(c[p>>2]|0)+4>>2];c[j>>2]=c[r>>2];c[m>>2]=c[s>>2];c[n>>2]=(c[q>>2]|0)-(c[(c[p>>2]|0)+44>>2]|0)}else{c[j>>2]=a;c[m>>2]=c[(c[p>>2]|0)+4>>2];c[i>>2]=c[r>>2];c[k>>2]=c[s>>2];c[n>>2]=(c[(c[p>>2]|0)+44>>2]|0)-(c[q>>2]|0)}c[h>>2]=lN(d[(c[o>>2]|0)+231>>0]|0,c[n>>2]|0,c[i>>2]|0,c[k>>2]|0,j,m)|0;_d(c[i>>2]|0);c[c[p>>2]>>2]=c[j>>2];c[(c[p>>2]|0)+4>>2]=c[m>>2]}while(0);if((c[q>>2]|0)<=(c[(c[p>>2]|0)+44>>2]|0)){s=c[h>>2]|0;l=t;return s|0}c[(c[p>>2]|0)+44>>2]=c[q>>2];s=c[h>>2]|0;l=t;return s|0}function lN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;C=l;l=l+112|0;z=C+104|0;A=C+100|0;B=C+96|0;E=C+92|0;F=C+88|0;h=C+84|0;i=C+80|0;j=C+32|0;k=C+24|0;m=C+16|0;n=C+76|0;o=C+72|0;p=C+68|0;q=C+64|0;r=C+60|0;s=C+56|0;t=C+52|0;u=C+48|0;v=C+8|0;w=C+44|0;x=C;y=C+40|0;c[A>>2]=a;c[B>>2]=b;c[E>>2]=d;c[F>>2]=e;c[h>>2]=f;c[i>>2]=g;g=j;c[g>>2]=0;c[g+4>>2]=0;g=k;c[g>>2]=0;c[g+4>>2]=0;g=m;c[g>>2]=0;c[g+4>>2]=0;c[n>>2]=c[c[h>>2]>>2];c[o>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[p>>2]=(c[n>>2]|0)+(c[c[i>>2]>>2]|0);c[q>>2]=c[E>>2];c[r>>2]=c[n>>2];c[t>>2]=0;if(c[A>>2]|0){c[u>>2]=pe((c[c[i>>2]>>2]|0)+10|0)|0;if(!(c[u>>2]|0)){c[z>>2]=7;F=c[z>>2]|0;l=C;return F|0}}else c[u>>2]=c[n>>2];c[s>>2]=c[u>>2];mN(q,c[o>>2]|0,0,j);mN(r,c[p>>2]|0,0,k);while(1){if(!(c[q>>2]|0?(c[r>>2]|0)!=0:0))break;F=c[A>>2]|0?-1:1;g=j;E=k;E=Z$(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=r0(F|0,((F|0)<0)<<31>>31|0,E|0,D|0)|0;F=v;c[F>>2]=E;c[F+4>>2]=D;F=v;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[v+4>>2]|0)<0){gM(0,q);mN(q,c[o>>2]|0,c[A>>2]|0,j);continue}else{gM(0,r);mN(r,c[p>>2]|0,c[A>>2]|0,k);continue}else{c[w>>2]=c[s>>2];g=m;E=c[g+4>>2]|0;F=x;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[y>>2]=c[t>>2];F=j;nN(s,c[A>>2]|0,m,t,c[F>>2]|0,c[F+4>>2]|0);if(!(cN(s,c[B>>2]|0,0,1,q,r)|0)){c[s>>2]=c[w>>2];g=x;E=c[g+4>>2]|0;F=m;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[t>>2]=c[y>>2]}mN(q,c[o>>2]|0,c[A>>2]|0,j);mN(r,c[p>>2]|0,c[A>>2]|0,k);continue}}c[c[i>>2]>>2]=(c[s>>2]|0)-(c[u>>2]|0);if(c[A>>2]|0){_d(c[n>>2]|0);c[c[h>>2]>>2]=c[u>>2]}c[z>>2]=0;F=c[z>>2]|0;l=C;return F|0}function mN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+20|0;k=j+16|0;g=j+12|0;h=j+8|0;i=j;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;c[h>>2]=e;a=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[k>>2]|0)>>>0){c[a>>2]=0;l=j;return}else{e=bM(c[a>>2]|0,i)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+e;g=(c[g>>2]|0)!=0;f=i;e=c[f>>2]|0;f=c[f+4>>2]|0;k=c[h>>2]|0;d=k;b=c[d>>2]|0;d=c[d+4>>2]|0;h=_$(b|0,d|0,e|0,f|0)|0;i=D;f=Z$(b|0,d|0,e|0,f|0)|0;c[k>>2]=g?f:h;c[k+4>>2]=g?D:i;l=j;return}}function nN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n+28|0;o=n+24|0;k=n+20|0;m=n+16|0;h=n+8|0;i=n;c[j>>2]=a;c[o>>2]=b;c[k>>2]=d;c[m>>2]=e;e=h;c[e>>2]=f;c[e+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[m>>2]>>2]|0)!=0:0){o=c[k>>2]|0;g=h;g=Z$(c[o>>2]|0,c[o+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;o=i;c[o>>2]=g;c[o+4>>2]=D}else{o=h;g=c[k>>2]|0;g=Z$(c[o>>2]|0,c[o+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;o=i;c[o>>2]=g;c[o+4>>2]=D}o=i;o=NL(c[c[j>>2]>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;g=c[j>>2]|0;c[g>>2]=(c[g>>2]|0)+o;g=h;j=c[g+4>>2]|0;o=c[k>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=j;c[c[m>>2]>>2]=1;l=n;return}function oN(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;n=t+40|0;o=t+36|0;p=t+32|0;q=t+28|0;g=t+24|0;r=t+20|0;h=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[g>>2]=f;a:do if(!(c[c[p>>2]>>2]|0)){s=pe((c[g>>2]|0)+10+1|0)|0;c[c[p>>2]>>2]=s;c[(c[p>>2]|0)+64>>2]=c[g>>2];if(c[c[p>>2]>>2]|0){h0(c[c[p>>2]>>2]|0,c[q>>2]|0,c[g>>2]|0)|0;break}c[n>>2]=7;s=c[n>>2]|0;l=t;return s|0}else{c[r>>2]=c[q>>2];c[h>>2]=c[g>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=16)break a;if(!(c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0)){s=8;break}c[m>>2]=rN(d[(c[o>>2]|0)+231>>0]|0,c[r>>2]|0,c[h>>2]|0,c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0,c[(c[p>>2]|0)+64+(c[i>>2]<<2)>>2]|0,j,k)|0;a=(c[r>>2]|0)!=(c[q>>2]|0);if(c[m>>2]|0)break;if(a)_d(c[r>>2]|0);_d(c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0);c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]=0;c[r>>2]=c[j>>2];c[h>>2]=c[k>>2];if(((c[i>>2]|0)+1|0)==16){c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]=c[r>>2];c[(c[p>>2]|0)+64+(c[i>>2]<<2)>>2]=c[h>>2]}c[i>>2]=(c[i>>2]|0)+1}if((s|0)==8){c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]=c[r>>2];c[(c[p>>2]|0)+64+(c[i>>2]<<2)>>2]=c[h>>2];break}if(a)_d(c[r>>2]|0);c[n>>2]=c[m>>2];s=c[n>>2]|0;l=t;return s|0}while(0);c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}function pN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;j=o+32|0;e=o+28|0;k=o+24|0;m=o+20|0;n=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;i=o;c[e>>2]=a;c[k>>2]=b;c[m>>2]=0;c[n>>2]=0;c[f>>2]=0;a:while(1){if((c[f>>2]|0)>=16){a=10;break}do if(c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]|0){if(!(c[m>>2]|0)){c[m>>2]=c[(c[k>>2]|0)+(c[f>>2]<<2)>>2];c[n>>2]=c[(c[k>>2]|0)+64+(c[f>>2]<<2)>>2];c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]=0;break}c[i>>2]=rN(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[f>>2]<<2)>>2]|0,c[m>>2]|0,c[n>>2]|0,h,g)|0;if(c[i>>2]|0){a=7;break a}_d(c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]|0);_d(c[m>>2]|0);c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]=0;c[m>>2]=c[h>>2];c[n>>2]=c[g>>2]}while(0);c[f>>2]=(c[f>>2]|0)+1}if((a|0)==7){_d(c[m>>2]|0);c[j>>2]=c[i>>2];n=c[j>>2]|0;l=o;return n|0}else if((a|0)==10){c[c[k>>2]>>2]=c[m>>2];c[(c[k>>2]|0)+64>>2]=c[n>>2];c[j>>2]=0;n=c[j>>2]|0;l=o;return n|0}return 0}function qN(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;EL(c[d>>2]|0);_d(c[d>>2]|0);l=b;return}function rN(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;y=l;l=l+96|0;w=y+88|0;x=y+84|0;C=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;i=y+64|0;j=y+60|0;k=y+24|0;m=y+16|0;n=y+8|0;o=y+56|0;p=y+52|0;q=y+48|0;r=y+44|0;s=y+40|0;t=y+36|0;u=y+32|0;v=y;c[x>>2]=a;c[C>>2]=b;c[A>>2]=d;c[B>>2]=e;c[z>>2]=f;c[i>>2]=g;c[j>>2]=h;h=k;c[h>>2]=0;c[h+4>>2]=0;h=m;c[h>>2]=0;c[h+4>>2]=0;h=n;c[h>>2]=0;c[h+4>>2]=0;c[o>>2]=(c[C>>2]|0)+(c[A>>2]|0);c[p>>2]=(c[B>>2]|0)+(c[z>>2]|0);c[q>>2]=c[C>>2];c[r>>2]=c[B>>2];c[u>>2]=0;c[c[i>>2]>>2]=0;c[c[j>>2]>>2]=0;c[t>>2]=pe((c[A>>2]|0)+(c[z>>2]|0)+10-1|0)|0;if(!(c[t>>2]|0)){c[w>>2]=7;C=c[w>>2]|0;l=y;return C|0}c[s>>2]=c[t>>2];mN(q,c[o>>2]|0,0,k);mN(r,c[p>>2]|0,0,m);while(1){if(!(c[q>>2]|0?1:(c[r>>2]|0)!=0))break;C=c[x>>2]|0?-1:1;A=k;B=m;B=Z$(c[A>>2]|0,c[A+4>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;B=r0(C|0,((C|0)<0)<<31>>31|0,B|0,D|0)|0;C=v;c[C>>2]=B;c[C+4>>2]=D;C=v;if((c[r>>2]|0)!=0&(c[q>>2]|0)!=0&((c[C>>2]|0)==0&(c[C+4>>2]|0)==0)){C=k;nN(s,c[x>>2]|0,n,u,c[C>>2]|0,c[C+4>>2]|0);sN(s,q,r);mN(q,c[o>>2]|0,c[x>>2]|0,k);mN(r,c[p>>2]|0,c[x>>2]|0,m);continue}if(c[r>>2]|0?!((c[q>>2]|0)!=0&(c[v+4>>2]|0)<0):0){C=m;nN(s,c[x>>2]|0,n,u,c[C>>2]|0,c[C+4>>2]|0);gM(s,r);mN(r,c[p>>2]|0,c[x>>2]|0,m);continue}C=k;nN(s,c[x>>2]|0,n,u,c[C>>2]|0,c[C+4>>2]|0);gM(s,q);mN(q,c[o>>2]|0,c[x>>2]|0,k)}c[c[i>>2]>>2]=c[t>>2];c[c[j>>2]>>2]=(c[s>>2]|0)-(c[t>>2]|0);c[w>>2]=0;C=c[w>>2]|0;l=y;return C|0}function sN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;m=t+56|0;n=t+52|0;o=t+48|0;p=t+44|0;q=t+40|0;r=t+36|0;s=t+32|0;g=t+28|0;h=t+16|0;i=t+8|0;j=t;k=t+24|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=c[c[m>>2]>>2];c[q>>2]=c[c[n>>2]>>2];c[r>>2]=c[c[o>>2]>>2];a:while(1){if((a[c[q>>2]>>0]|0)==0?(a[c[r>>2]>>0]|0)==0:0)break;b=c[q>>2]|0;do if((a[c[q>>2]>>0]|0)==1){e=(c[q>>2]|0)+1|0;if(d[b+1>>0]&128|0){cM(e,s)|0;break}else{c[s>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[s>>2]=2147483647;break}else{c[s>>2]=0;break}while(0);b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128|0){cM(e,g)|0;break}else{c[g>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[g>>2]=2147483647;break}else{c[g>>2]=0;break}while(0);if((c[s>>2]|0)!=(c[g>>2]|0))if((c[s>>2]|0)<(c[g>>2]|0)){f=tN(p,c[s>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+f;aM(p,q);continue}else{f=tN(p,c[g>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;aM(p,r);continue}f=h;c[f>>2]=0;c[f+4>>2]=0;f=i;c[f>>2]=0;c[f+4>>2]=0;f=j;c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=tN(p,c[s>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[k>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[k>>2]|0);dN(q,h);dN(r,i);while(1){e=h;u=c[e+4>>2]|0;b=i;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=h;f=i;eN(p,j,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=j;f=Z$(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=D;e=h;f=i;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=h;b=c[f+4>>2]|0;u=i;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){uN(q,h);break}else{uN(r,i);break}}else{uN(q,h);uN(r,i)}while(0);f=h;u=i;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[p>>2]|0;c[p>>2]=u+1;a[u>>0]=0;c[c[m>>2]>>2]=c[p>>2];c[c[n>>2]>>2]=(c[q>>2]|0)+1;c[c[o>>2]>>2]=(c[r>>2]|0)+1;l=t;return}function tN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){h=c[g>>2]|0;l=i;return h|0}c[h>>2]=c[c[e>>2]>>2];f=c[f>>2]|0;c[g>>2]=1+(NL((c[h>>2]|0)+1|0,f,((f|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);h=c[g>>2]|0;l=i;return h|0}function uN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254|0){dN(c[e>>2]|0,c[f>>2]|0);f=c[f>>2]|0;e=f;e=Z$(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;c[f>>2]=e;c[f+4>>2]=D;l=g;return}else{f=c[f>>2]|0;c[f>>2]=2147483647;c[f+4>>2]=0;l=g;return}}function vN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if(a[(c[g>>2]|0)+7>>0]|0?(c[i>>2]=0,c[h>>2]=HN(c[g>>2]|0,i)|0,(c[h>>2]|0)==0):0){i=(c[g>>2]|0)+32|0;qJ(c[(c[g>>2]|0)+8>>2]|0,1,c[i>>2]|0,c[i+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(Bs(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;i=c[e>>2]|0;l=j;return i|0}c[h>>2]=ys(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[h>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[h>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[h>>2]|0)!=0&(c[f>>2]|0)!=0)Wi(c[f>>2]|0,c[h>>2]|0);c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}function wN(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=l;l=l+80|0;b=v+64|0;m=v+60|0;n=v+56|0;o=v;p=v+52|0;q=v+48|0;r=v+44|0;s=v+40|0;t=v+36|0;e=v+32|0;f=v+28|0;g=v+24|0;h=v+20|0;i=v+16|0;j=v+12|0;k=v+8|0;c[b>>2]=a;c[m>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[m>>2]|0;l=v;return u|0}c[q>>2]=c[c[b>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+36>>2];c[s>>2]=c[c[r>>2]>>2];w=jJ(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=o;c[a>>2]=w;c[a+4>>2]=D;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[q>>2]|0)+24>>2]|0)?(c[m>>2]|0)==0:0))break;if(!(d[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]|0)>>0]|0)){c[t>>2]=Cv(c[(c[b>>2]|0)+8>>2]|0,(c[n>>2]|0)+1|0)|0;c[e>>2]=0;c[m>>2]=EN(c[r>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[t>>2]|0,-1,e)|0;a:while(1){if(c[m>>2]|0)break;c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;c[m>>2]=Gb[c[(c[s>>2]|0)+20>>2]&255](c[e>>2]|0,f,g,h,i,j)|0;c[p>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[p>>2]|0?(c[m>>2]|0)==0:0))continue a;c[k>>2]=c[c[p>>2]>>2];if(!((c[(c[p>>2]|0)+4>>2]|0)<(c[(c[q>>2]|0)+24>>2]|0)?(c[(c[p>>2]|0)+4>>2]|0)!=(c[n>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[k>>2]|0)+12>>2]|0)==0):0){if((c[(c[k>>2]|0)+4>>2]|0)!=(c[g>>2]|0)){if(!(c[(c[k>>2]|0)+8>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)>=(c[g>>2]|0))break}if(!(H_(c[f>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){x=o;a=c[n>>2]|0;w=c[j>>2]|0;FN((c[p>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,m)|0}}while(0);c[p>>2]=c[(c[p>>2]|0)+8>>2]}}if(c[e>>2]|0)Hb[c[(c[s>>2]|0)+16>>2]&255](c[e>>2]|0)|0;if((c[m>>2]|0)==101)c[m>>2]=0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[p>>2]|0?(c[m>>2]|0)==0:0))break;if(c[(c[p>>2]|0)+12>>2]|0)c[m>>2]=GN((c[p>>2]|0)+12|0,0,0)|0;c[p>>2]=c[(c[p>>2]|0)+8>>2]}x=c[m>>2]|0;l=v;return x|0}function xN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+28|0;k=p+24|0;h=p+20|0;o=p+16|0;n=p+12|0;i=p+8|0;j=p+4|0;g=p;c[m>>2]=b;c[k>>2]=e;c[h>>2]=f;c[o>>2]=1;if(c[c[h>>2]>>2]|0){o=c[o>>2]|0;l=p;return o|0}switch(c[c[k>>2]>>2]|0){case 3:case 1:{if(xN(c[m>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0)|0?xN(c[m>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[h>>2]|0)|0:0)b=(zN(c[k>>2]|0,c[h>>2]|0)|0)!=0;else b=0;c[o>>2]=b&1;if(c[o>>2]|0){o=c[o>>2]|0;l=p;return o|0}if((c[c[k>>2]>>2]|0)!=1){o=c[o>>2]|0;l=p;return o|0}if(c[(c[k>>2]|0)+8>>2]|0?(c[c[(c[k>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;l=p;return o|0}c[n>>2]=c[k>>2];while(1){b=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;j=(c[b+16>>2]|0)+24|0;k=(c[m>>2]|0)+32|0;if((c[j>>2]|0)==(c[k>>2]|0)?(c[j+4>>2]|0)==(c[k+4>>2]|0):0)YM(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}k=b+24|0;m=(c[m>>2]|0)+32|0;if(!((c[k>>2]|0)==(c[m>>2]|0)?(c[k+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;l=p;return o|0}YM(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;l=p;return o|0}case 4:{c[i>>2]=xN(c[m>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0)|0;c[j>>2]=xN(c[m>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[h>>2]|0)|0;c[o>>2]=(c[i>>2]|0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;l=p;return o|0}case 2:{if(xN(c[m>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0)|0)b=(xN(c[m>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[h>>2]|0)|0)!=0^1;else b=0;c[o>>2]=b&1;o=c[o>>2]|0;l=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){j=(c[k>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[j>>2]|0)==(c[n>>2]|0)?(c[j+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[k>>2]|0)+34>>0]|0)==0:0)break;c[g>>2]=c[(c[k>>2]|0)+20>>2];if(a[(c[k>>2]|0)+34>>0]|0)YM(c[g>>2]|0);j=AN(c[m>>2]|0,c[g>>2]|0)|0;c[c[h>>2]>>2]=j;c[o>>2]=(c[(c[g>>2]|0)+28>>2]|0)!=0&1;j=(c[m>>2]|0)+32|0;m=c[j+4>>2]|0;n=(c[k>>2]|0)+24|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;o=c[o>>2]|0;l=p;return o|0}while(0);if(!(d[(c[k>>2]|0)+32>>0]|0)){n=(c[k>>2]|0)+24|0;b=(c[m>>2]|0)+32|0;b=(c[n>>2]|0)==(c[b>>2]|0)?(c[n+4>>2]|0)==(c[b+4>>2]|0):0}else b=0;c[o>>2]=b&1;o=c[o>>2]|0;l=p;return o|0}}return 0}function yN(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;nL(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}l=d;return}function zN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;g=r+44|0;h=r+40|0;m=r+36|0;n=r+32|0;i=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;e=r+12|0;f=r+8|0;j=r+4|0;k=r;c[g>>2]=a;c[h>>2]=b;c[m>>2]=1;if(c[c[h>>2]>>2]|0){q=c[m>>2]|0;l=r;return q|0}if((c[c[g>>2]>>2]|0)!=1){q=c[m>>2]|0;l=r;return q|0}if(d[(c[g>>2]|0)+32>>0]|0|0){q=c[m>>2]|0;l=r;return q|0}if(c[(c[g>>2]|0)+8>>2]|0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)==1:0){q=c[m>>2]|0;l=r;return q|0}c[i>>2]=0;c[n>>2]=c[g>>2];while(1){a=c[n>>2]|0;if(!(c[(c[n>>2]|0)+12>>2]|0))break;c[i>>2]=(c[i>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}c[i>>2]=(c[i>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[i>>2]|0)){c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}c[o>>2]=pe(c[i>>2]<<1)|0;a:do if(c[o>>2]|0){c[p>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+28>>2];c[q>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];c[n>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0))break;if((c[c[n>>2]>>2]|0)!=1)break;c[e>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2];c[f>>2]=c[(c[n>>2]|0)+4>>2];c[m>>2]=CN(c[f>>2]|0,c[o>>2]|0,p,q,c[e>>2]|0)|0;c[n>>2]=c[(c[n>>2]|0)+8>>2]}c[p>>2]=c[(c[(c[(c[g>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[q>>2]=c[(c[(c[(c[g>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[n>>2]=c[(c[g>>2]|0)+12>>2];while(1){if(!(c[n>>2]|0?(c[m>>2]|0)!=0:0))break a;c[j>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+4>>2];a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==1)a=c[a+16>>2]|0;c[k>>2]=c[a+20>>2];c[m>>2]=CN(c[j>>2]|0,c[o>>2]|0,p,q,c[k>>2]|0)|0;c[n>>2]=c[(c[n>>2]|0)+12>>2]}}else{c[c[h>>2]>>2]=7;c[m>>2]=0}while(0);_d(c[o>>2]|0);q=c[m>>2]|0;l=r;return q|0}function AN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;w=y+76|0;s=y+72|0;v=y+68|0;j=y+64|0;x=y+60|0;t=y+56|0;u=y+52|0;k=y+48|0;d=y+44|0;e=y+40|0;f=y+36|0;m=y+32|0;g=y+28|0;h=y+24|0;i=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y;c[s>>2]=a;c[v>>2]=b;c[x>>2]=0;c[t>>2]=0;c[u>>2]=-1;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[v>>2]|0)+64>>2]|0)){a=14;break}c[k>>2]=(c[v>>2]|0)+72+((c[j>>2]|0)*24|0);c[d>>2]=c[(c[k>>2]|0)+16>>2];if(c[d>>2]|0){c[m>>2]=BN(c[d>>2]|0,e,f)|0;if(c[m>>2]|0){a=5;break}b=c[x>>2]|0;if(!(c[e>>2]|0)){a=7;break}a=c[e>>2]|0;if(b){c[g>>2]=a;c[h>>2]=c[x>>2];c[i>>2]=c[g>>2];cN(g,(c[j>>2]|0)-(c[u>>2]|0)|0,0,1,h,i)|0;_d(c[x>>2]|0);c[x>>2]=c[e>>2];c[t>>2]=(c[g>>2]|0)-(c[x>>2]|0);if(!(c[t>>2]|0)){a=11;break}}else{c[x>>2]=a;c[t>>2]=c[f>>2]}c[u>>2]=c[j>>2]}c[j>>2]=(c[j>>2]|0)+1}if((a|0)==5){c[w>>2]=c[m>>2];x=c[w>>2]|0;l=y;return x|0}else if((a|0)==7){_d(b);c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+32>>2]=0;c[w>>2]=0;x=c[w>>2]|0;l=y;return x|0}else if((a|0)==11){_d(c[x>>2]|0);c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+32>>2]=0;c[w>>2]=0;x=c[w>>2]|0;l=y;return x|0}else if((a|0)==14){do if((c[u>>2]|0)>=0){c[n>>2]=c[(c[v>>2]|0)+44>>2];if((c[n>>2]|0)<0){c[(c[v>>2]|0)+28>>2]=c[x>>2];c[(c[v>>2]|0)+32>>2]=c[t>>2];t=(c[s>>2]|0)+32|0;u=c[t+4>>2]|0;x=(c[v>>2]|0)+16|0;c[x>>2]=c[t>>2];c[x+4>>2]=u;c[(c[v>>2]|0)+24>>2]=1;break}if((c[n>>2]|0)>(c[u>>2]|0)){c[p>>2]=c[x>>2];c[q>>2]=c[(c[v>>2]|0)+28>>2];c[o>>2]=(c[n>>2]|0)-(c[u>>2]|0)}else{c[p>>2]=c[(c[v>>2]|0)+28>>2];c[q>>2]=c[x>>2];c[o>>2]=(c[u>>2]|0)-(c[n>>2]|0)}c[r>>2]=pe((c[t>>2]|0)+8|0)|0;if(!(c[r>>2]|0)){_d(c[x>>2]|0);c[w>>2]=7;x=c[w>>2]|0;l=y;return x|0}c[(c[v>>2]|0)+28>>2]=c[r>>2];if(cN(r,c[o>>2]|0,0,1,p,q)|0){c[(c[v>>2]|0)+24>>2]=1;b=(c[r>>2]|0)-(c[(c[v>>2]|0)+28>>2]|0)|0;a=c[v>>2]|0}else{_d(c[r>>2]|0);c[(c[v>>2]|0)+28>>2]=0;b=0;a=c[v>>2]|0}c[a+32>>2]=b;_d(c[x>>2]|0)}while(0);c[w>>2]=0;x=c[w>>2]|0;l=y;return x|0}return 0}function BN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+28|0;f=k+24|0;g=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}c[i>>2]=pe(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[i>>2]|0){c[j>>2]=bM(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,k)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[i>>2];h0(c[i>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}else{c[e>>2]=7;j=c[e>>2]|0;l=k;return j|0}return 0}function CN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=l;l=l+48|0;s=n+40|0;r=n+36|0;j=n+32|0;k=n+28|0;m=n+24|0;q=n+20|0;p=n+16|0;g=n+12|0;o=n+8|0;h=n+4|0;i=n;c[s>>2]=a;c[r>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[m>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[k>>2]>>2]|0);f=c[(c[m>>2]|0)+28>>2]|0;c[h>>2]=f;c[o>>2]=f;c[i>>2]=DN(h,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[j>>2]|0,o)|0;if(!(c[i>>2]|0)){s=c[i>>2]|0;l=n;return s|0}c[g>>2]=(c[h>>2]|0)-(c[(c[m>>2]|0)+28>>2]|0)-1;m0((c[(c[m>>2]|0)+28>>2]|0)+(c[g>>2]|0)|0,0,(c[(c[m>>2]|0)+32>>2]|0)-(c[g>>2]|0)|0)|0;c[(c[m>>2]|0)+32>>2]=c[g>>2];c[c[j>>2]>>2]=c[(c[m>>2]|0)+28>>2];c[c[k>>2]>>2]=c[(c[m>>2]|0)+64>>2];s=c[i>>2]|0;l=n;return s|0}function DN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=l;l=l+48|0;m=o+44|0;n=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;h=o+12|0;i=o+8|0;j=o+4|0;k=o;c[m>>2]=a;c[n>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[h>>2]=c[n>>2];c[k>>2]=1;cN(h,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[h>>2]|0;c[i>>2]=g;c[j>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];cN(i,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[h>>2]|0)!=(c[n>>2]|0)?(c[i>>2]|0)!=(c[j>>2]|0):0){sN(c[m>>2]|0,n,j);u=c[k>>2]|0;l=o;return u|0}if((c[h>>2]|0)!=(c[n>>2]|0)){gM(c[m>>2]|0,n);u=c[k>>2]|0;l=o;return u|0}if((c[i>>2]|0)!=(c[j>>2]|0)){gM(c[m>>2]|0,j);u=c[k>>2]|0;l=o;return u|0}else{c[k>>2]=0;u=c[k>>2]|0;l=o;return u|0}return 0}function EN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+32|0;j=n+28|0;k=n+24|0;p=n+20|0;o=n+16|0;m=n+12|0;g=n+8|0;h=n+4|0;i=n;c[j>>2]=a;c[k>>2]=b;c[p>>2]=d;c[o>>2]=e;c[m>>2]=f;c[g>>2]=c[c[j>>2]>>2];c[h>>2]=0;c[i>>2]=Kb[c[(c[g>>2]|0)+12>>2]&255](c[j>>2]|0,c[p>>2]|0,c[o>>2]|0,h)|0;if(((c[i>>2]|0)==0?(c[c[h>>2]>>2]=c[j>>2],(c[c[g>>2]>>2]|0)>=1):0)?(c[i>>2]=Mb[c[(c[g>>2]|0)+24>>2]&255](c[h>>2]|0,c[k>>2]|0)|0,c[i>>2]|0):0){Hb[c[(c[g>>2]|0)+16>>2]&255](c[h>>2]|0)|0;c[h>>2]=0}c[c[m>>2]>>2]=c[h>>2];l=n;return c[i>>2]|0}function FN(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+48|0;s=u+44|0;j=u+24|0;k=u+16|0;m=u+8|0;n=u+40|0;o=u+36|0;p=u+32|0;q=u;c[s>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;f=m;c[f>>2]=g;c[f+4>>2]=h;c[n>>2]=i;c[o>>2]=c[c[s>>2]>>2];c[p>>2]=0;if(c[o>>2]|0?(h=(c[o>>2]|0)+16|0,i=j,!((c[h>>2]|0)!=(c[i>>2]|0)?1:(c[h+4>>2]|0)!=(c[i+4>>2]|0))):0)t=9;else{a=j;if(c[o>>2]|0){d=(c[o>>2]|0)+16|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{b=0;d=0}h=Z$(c[a>>2]|0,c[a+4>>2]|0,b|0,d|0)|0;i=q;c[i>>2]=h;c[i+4>>2]=D;if(c[o>>2]|0){i=c[o>>2]|0;c[i>>2]=(c[i>>2]|0)+1}q=GN(o,c[q>>2]|0,c[q+4>>2]|0)|0;c[p>>2]=q;if(!q){q=(c[o>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[o>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[j+4>>2]|0;t=(c[o>>2]|0)+16|0;c[t>>2]=c[j>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=k;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[o>>2]|0)+24|0,t=k,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=GN(o,1,0)|0;c[p>>2]=t;if(t)break;t=k;t=GN(o,c[t>>2]|0,c[t+4>>2]|0)|0;c[p>>2]=t;if(t)break;j=k;q=c[j+4>>2]|0;t=(c[o>>2]|0)+24|0;c[t>>2]=c[j>>2];c[t+4>>2]=q;t=(c[o>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=k;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=m,q=_$(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[o>>2]|0)+32|0,t=Z$(q|0,D|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[p>>2]=GN(o,t,D)|0,(c[p>>2]|0)==0):0){q=c[m+4>>2]|0;t=(c[o>>2]|0)+32|0;c[t>>2]=c[m>>2];c[t+4>>2]=q}}while(0);c[c[n>>2]>>2]=c[p>>2];if((c[o>>2]|0)!=(c[c[s>>2]>>2]|0)){c[c[s>>2]>>2]=c[o>>2];c[r>>2]=1;t=c[r>>2]|0;l=u;return t|0}else{c[r>>2]=0;t=c[r>>2]|0;l=u;return t|0}return 0}function GN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;h=k;i=k+12|0;j=k+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[i>>2]=c[c[g>>2]>>2];do if(c[i>>2]|0){if(((c[c[i>>2]>>2]|0)+10+1|0)>(c[(c[i>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[i>>2]|0)+8>>2]<<1;c[i>>2]=Xf(c[i>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[i>>2]|0){c[(c[i>>2]|0)+8>>2]=c[j>>2];c[(c[i>>2]|0)+4>>2]=(c[i>>2]|0)+40;break}_d(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;j=c[f>>2]|0;l=k;return j|0}}else{c[i>>2]=pe(140)|0;if(c[i>>2]|0){c[(c[i>>2]|0)+8>>2]=100;c[(c[i>>2]|0)+4>>2]=(c[i>>2]|0)+40;c[c[i>>2]>>2]=0;break}c[f>>2]=7;j=c[f>>2]|0;l=k;return j|0}while(0);h=NL((c[(c[i>>2]|0)+4>>2]|0)+(c[c[i>>2]>>2]|0)|0,c[h>>2]|0,c[h+4>>2]|0)|0;j=c[i>>2]|0;c[j>>2]=(c[j>>2]|0)+h;a[(c[(c[i>>2]|0)+4>>2]|0)+(c[c[i>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[i>>2];c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function HN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[h>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+216>>2];c[i>>2]=nf(45366,j)|0;if(c[i>>2]|0){c[g>>2]=zv(c[(c[h>>2]|0)+12>>2]|0,c[i>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;_d(c[i>>2]|0);break}c[d>>2]=7;j=c[d>>2]|0;l=k;return j|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[g>>2];j=c[d>>2]|0;l=k;return j|0}function IN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[j>>2]=Bb[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[i>>2]|0)|0;k=c[g>>2]|0;c[k>>2]=(c[k>>2]|0)+1;k=c[j>>2]|0;l=m;return k|0}c[j>>2]=IN(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(!((c[j>>2]|0)==0&(c[k>>2]|0)!=2)){k=c[j>>2]|0;l=m;return k|0}c[j>>2]=IN(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;k=c[j>>2]|0;l=m;return k|0}function JN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[i>>2]=c[c[f>>2]>>2];c[j>>2]=0;if(d[(c[g>>2]|0)+34>>0]|0|0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[i>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[k>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[k>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[k>>2]=(c[k>>2]|0)+1}k=c[j>>2]|0;l=m;return k|0}c[j>>2]=KN(c[f>>2]|0,c[g>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;l=m;return k|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[i>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[k>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[k>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[k>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[k>>2]|0)*3|0)+2<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}k=c[j>>2]|0;l=m;return k|0}function KN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;j=s+44|0;k=s+40|0;f=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;q=s+8|0;g=s;h=s+48|0;i=s+16|0;c[k>>2]=b;c[f>>2]=e;c[m>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[n>>2]=c[c[k>>2]>>2];t=(c[k>>2]|0)+32|0;b=c[t+4>>2]|0;e=q;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)b=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else b=0;e=c[o>>2]|0;if(!b)break;c[o>>2]=c[e+8>>2]}e=e+24|0;f=c[e+4>>2]|0;t=g;c[t>>2]=c[e>>2];c[t+4>>2]=f;a[h>>0]=a[(c[o>>2]|0)+32>>0]|0;c[p>>2]=c[o>>2];while(1){if(!(c[p>>2]|0))break;b=c[p>>2]|0;if((c[c[p>>2]>>2]|0)!=5)b=c[b+16>>2]|0;c[i>>2]=b;t=pe((c[(c[n>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[i>>2]|0)+40>>2]=t;if(!(c[(c[i>>2]|0)+40>>2]|0)){r=12;break}m0(c[(c[i>>2]|0)+40>>2]|0,0,(c[(c[n>>2]|0)+24>>2]|0)*3<<2|0)|0;c[p>>2]=c[(c[p>>2]|0)+12>>2]}if((r|0)==12){c[j>>2]=7;t=c[j>>2]|0;l=s;return t|0}VM(c[k>>2]|0,c[o>>2]|0,m);while(1){if(!((d[(c[k>>2]|0)+6>>0]|0)==0?(c[m>>2]|0)==0:0))break;do{if(!(d[(c[k>>2]|0)+7>>0]|0))ys(c[(c[k>>2]|0)+8>>2]|0)|0;WM(c[k>>2]|0,c[o>>2]|0,m);a[(c[k>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[k>>2]|0)+7>>0]=1;c[(c[k>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[k>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[k>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((RM(c[k>>2]|0,m)|0)!=0);if(c[m>>2]|0)continue;if(d[(c[k>>2]|0)+6>>0]|0)continue;LN(c[o>>2]|0)}a[(c[k>>2]|0)+6>>0]=0;r=c[q+4>>2]|0;t=(c[k>>2]|0)+32|0;c[t>>2]=c[q>>2];c[t+4>>2]=r;if(a[h>>0]|0){a[(c[o>>2]|0)+32>>0]=a[h>>0]|0;break}VM(c[k>>2]|0,c[o>>2]|0,m);do{WM(c[k>>2]|0,c[o>>2]|0,m);r=(c[o>>2]|0)+24|0;t=g}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[m>>2]|0)==0:0)}while(0);c[j>>2]=c[m>>2];t=c[j>>2]|0;l=s;return t|0}function LN(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k+20|0;j=k;c[f>>2]=b;if(!(c[f>>2]|0)){l=k;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if(c[e>>2]|0?c[(c[e>>2]|0)+28>>2]|0:0){c[g>>2]=0;c[h>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[i>>0]=0;c[j>>2]=0;while(1){if(!(254&(a[c[h>>2]>>0]|d[i>>0])))break;if(!(d[i>>0]&128))c[j>>2]=(c[j>>2]|0)+1;e=c[h>>2]|0;c[h>>2]=e+1;a[i>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[g>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[j>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[g>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[j>>2]|0)>0&1);if(!(a[c[h>>2]>>0]|0))break a;c[h>>2]=(c[h>>2]|0)+1;b=c[h>>2]|0;if(d[c[h>>2]>>0]&128|0)b=cM(b,g)|0;else{c[g>>2]=d[b>>0];b=1}c[h>>2]=(c[h>>2]|0)+b}}while(0);LN(c[(c[f>>2]|0)+12>>2]|0);LN(c[(c[f>>2]|0)+16>>2]|0);l=k;return}function MN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;p=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;m=o;c[p>>2]=b;c[f>>2]=e;c[g>>2]=c[c[c[f>>2]>>2]>>2];c[i>>2]=c[(c[p>>2]|0)+20>>2];c[j>>2]=c[(c[i>>2]|0)+28>>2];c[k>>2]=0;b=c[(c[p>>2]|0)+36>>2]|0;e=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=S(b,e)|0;else c[h>>2]=S(b,(e+31|0)/32|0)|0;while(1){c[m>>2]=UM(j)|0;if(!((c[(c[i>>2]|0)+68>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?(c[(c[i>>2]|0)+68>>2]|0)!=(c[k>>2]|0):0))n=6;do if((n|0)==6){n=0;b=c[m>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[k>>2]|0)<<2)>>2]=b;break}if(b|0){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[k>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[k>>2]&31)}}while(0);if((a[c[j>>2]>>0]|0)!=1)break;c[j>>2]=(c[j>>2]|0)+1;b=c[j>>2]|0;if(d[c[j>>2]>>0]&128|0)b=cM(b,k)|0;else{c[k>>2]=d[b>>0];b=1}c[j>>2]=(c[j>>2]|0)+b}l=o;return}function NN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;f=e+8|0;i=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[i>>2]=d;c[g>>2]=c[i>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];l=e;return 0}function ON(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;b=g+16|0;d=g+12|0;e=g;f=g+8|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=bM(c[d>>2]|0,e)|0;c[d>>2]=(c[d>>2]|0)+h;h=e;a=e;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[d>>2]=0;c[f>>2]=1;e=c[d>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;l=g;return h|0}else{h=e;h=Z$(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;e=(c[b>>2]|0)+12|0;c[e>>2]=(c[e>>2]|0)+h;e=c[d>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;l=g;return h|0}return 0}function PN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;j=f+20|0;i=f+12|0;e=f+8|0;g=f+4|0;h=f;c[j>>2]=a;c[f+16>>2]=b;c[i>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[j>>2]|0)+20>>2];c[h>>2]=c[i>>2];d=(c[h>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[h>>2]|0)+8|0;c[d>>2]=(c[d>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);l=f;return c[e>>2]|0}function QN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[i>>2]=sL(c[k>>2]|0,21,h,0)|0;do if(!(c[i>>2]|0)){k=f;qJ(c[h>>2]|0,1,c[k>>2]|0,c[k+4>>2]|0)|0;c[i>>2]=Bs(c[h>>2]|0)|0;if((c[i>>2]|0)==100?(Dv(c[h>>2]|0,0)|0)==4:0){c[i>>2]=0;break}k=ys(c[h>>2]|0)|0;c[i>>2]=k;c[i>>2]=(c[i>>2]|0)==0?267:k;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];l=j;return c[i>>2]|0}function RN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=sL(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){pJ(c[e>>2]|0,1,0)|0;if((Bs(c[e>>2]|0)|0)==100?(Dv(c[e>>2]|0,0)|0)==4:0)break;h=ys(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];l=g;return c[f>>2]|0}function SN(b){b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+1>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+2>>0]|0|0){l=f;return}_d(c[e>>2]|0);l=f;return}function TN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];l=e;return 0}function UN(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=qv(c[(c[b>>2]|0)+12>>2]|0,45494,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=VN(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){qv(a,45522,0,0,0)|0;qv(c[(c[b>>2]|0)+12>>2]|0,45509,0,0,0)|0;break}c[e>>2]=qv(a,45509,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);BM(c[b>>2]|0);l=f;return c[d>>2]|0}function VN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[h>>2]=0;c[g>>2]=sL(c[d>>2]|0,27,h,0)|0;if(!(c[g>>2]|0)){pJ(c[h>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;pJ(c[h>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){b=(Bs(c[h>>2]|0)|0)==100;a=c[h>>2]|0;if(!b)break;c[k>>2]=iJ(a,0)|0;c[j>>2]=0;while(1){if(c[g>>2]|0)continue a;if((c[j>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[g>>2]=rL(c[d>>2]|0,c[k>>2]|0,c[j>>2]|0,-2)|0;if((c[g>>2]|0)==101){c[f>>2]=1;c[g>>2]=0}c[j>>2]=(c[j>>2]|0)+1}}c[i>>2]=ys(a)|0;if(!(c[g>>2]|0))c[g>>2]=c[i>>2]}BM(c[d>>2]|0);mL(c[d>>2]|0);l=m;return ((c[g>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[g>>2]|0)|0}function WN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=l;l=l+208|0;z=C+32|0;p=C+132|0;u=C+128|0;v=C+124|0;w=C+120|0;A=C+116|0;x=C+112|0;y=C+108|0;B=C+96|0;e=C;f=C+92|0;g=C+88|0;h=C+84|0;i=C+80|0;j=C+76|0;k=C+72|0;m=C+68|0;n=C+64|0;o=C+60|0;q=C+56|0;r=C+52|0;s=C+48|0;t=C+136|0;c[p>>2]=b;c[u>>2]=d;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[u>>2]|0)+12>>2]|0)){xi(c[p>>2]|0,55752,0,0);l=C;return};c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[A>>2]=MM(c[u>>2]|0,0,x)|0;a:do if(!(c[A>>2]|0)){c[e+24>>2]=pe((c[x>>2]|0)*12|0)|0;if(!(c[e+24>>2]|0)){c[A>>2]=7;break}D=(c[u>>2]|0)+32|0;b=c[D+4>>2]|0;d=e+16|0;c[d>>2]=c[D>>2];c[d+4>>2]=b;c[e>>2]=c[u>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[e+4>>2]=c[y>>2];c[e+8>>2]=0;QM(c[(c[u>>2]|0)+12>>2]|0,166,e)|0;c[m>>2]=Cv(c[(c[u>>2]|0)+8>>2]|0,(c[y>>2]|0)+1|0)|0;c[n>>2]=gJ(c[(c[u>>2]|0)+8>>2]|0,(c[y>>2]|0)+1|0)|0;if(!(c[m>>2]|0)){if((Dv(c[(c[u>>2]|0)+8>>2]|0,(c[y>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=EN(c[(c[v>>2]|0)+36>>2]|0,c[(c[u>>2]|0)+16>>2]|0,c[m>>2]|0,c[n>>2]|0,f)|0;if(c[A>>2]|0)break a;c[A>>2]=Gb[c[(c[w>>2]|0)+20>>2]&255](c[f>>2]|0,g,h,i,j,k)|0;while(1){if(c[A>>2]|0)break;c[q>>2]=2147483647;c[r>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[x>>2]|0))break;c[s>>2]=(c[e+24>>2]|0)+((c[o>>2]|0)*12|0);if(c[c[s>>2]>>2]|0?((c[(c[s>>2]|0)+4>>2]|0)-(c[(c[s>>2]|0)+8>>2]|0)|0)<(c[q>>2]|0):0){c[q>>2]=(c[(c[s>>2]|0)+4>>2]|0)-(c[(c[s>>2]|0)+8>>2]|0);c[r>>2]=c[s>>2]}c[o>>2]=(c[o>>2]|0)+1}if(!(c[r>>2]|0)){c[A>>2]=101;continue}b=c[r>>2]|0;if(!(254&a[c[c[r>>2]>>2]>>0]))c[b>>2]=0;else YN(b,(c[r>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[k>>2]|0)>=(c[q>>2]|0))break;c[A>>2]=Gb[c[(c[w>>2]|0)+20>>2]&255](c[f>>2]|0,g,h,i,j,k)|0}if(!(c[A>>2]|0)){b=((c[r>>2]|0)-(c[e+24>>2]|0)|0)/12|0;d=c[i>>2]|0;D=(c[j>>2]|0)-(c[i>>2]|0)|0;c[z>>2]=c[y>>2];c[z+4>>2]=b;c[z+8>>2]=d;c[z+12>>2]=D;ef(64,t,45539,z)|0;c[A>>2]=ZN(B,t,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;Hb[c[(c[w>>2]|0)+16>>2]&255](c[f>>2]|0)|0;if(c[A>>2]|0)break a}c[y>>2]=(c[y>>2]|0)+1}c[A>>2]=7}while(0);_d(c[e+24>>2]|0);BM(c[v>>2]|0);b=c[p>>2]|0;if(c[A>>2]|0){Wi(b,c[A>>2]|0);_d(c[B>>2]|0);l=C;return}else{xi(b,c[B>>2]|0,(c[B+4>>2]|0)-1|0,157);l=C;return}}function XN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+48|0;n=m+36|0;o=m+28|0;h=m+24|0;i=m+20|0;j=m+16|0;k=m+12|0;e=m+8|0;f=m+4|0;g=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[f>>2]=TM(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,k)|0;c[i>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0)YN(k,e);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;n=c[(c[h>>2]|0)+24>>2]|0;d=(c[h>>2]|0)+8|0;o=c[d>>2]|0;c[d>>2]=o+1;c[g>>2]=n+(o*12|0);c[(c[g>>2]|0)+8>>2]=(c[i>>2]|0)-(c[j>>2]|0)-1;c[c[g>>2]>>2]=c[k>>2];c[(c[g>>2]|0)+4>>2]=c[e>>2];c[j>>2]=(c[j>>2]|0)+1}l=m;return c[f>>2]|0}function YN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128|0)a=cM(a,g)|0;else{c[g>>2]=d[a>>0];a=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+a;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);l=h;return}function ZN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if((c[i>>2]|0)<0)c[i>>2]=g$(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[i>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[j>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[i>>2]|0)+100;c[k>>2]=Xf(c[c[g>>2]>>2]|0,c[j>>2]|0)|0;if(c[k>>2]|0){c[c[g>>2]>>2]=c[k>>2];c[(c[g>>2]|0)+8>>2]=c[j>>2];break}c[f>>2]=7;k=c[f>>2]|0;l=m;return k|0}while(0);h0((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[i>>2]|0)|0;k=(c[g>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+(c[i>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}function _N(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+224|0;A=G+212|0;B=G+208|0;C=G+204|0;i=G+200|0;j=G+196|0;k=G+192|0;m=G+188|0;n=G+184|0;E=G+180|0;o=G+176|0;F=G+164|0;p=G+160|0;q=G+40|0;r=G+156|0;s=G+152|0;t=G+32|0;u=G+24|0;v=G+148|0;w=G+144|0;x=G+140|0;y=G;z=G+136|0;c[A>>2]=a;c[B>>2]=b;c[C>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=c[c[B>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[p>>2]=0;c[r>>2]=-1;if(!(c[(c[B>>2]|0)+12>>2]|0)){xi(c[A>>2]|0,55752,0,0);l=G;return}c[p>>2]=1;a:while(1){a=t;c[a>>2]=0;c[a+4>>2]=0;a=u;c[a>>2]=0;c[a+4>>2]=0;a=c[m>>2]|0;if((c[m>>2]|0)>=0)c[r>>2]=(a+(c[p>>2]|0)-1|0)/(c[p>>2]|0)|0;else c[r>>2]=S(-1,a)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[p>>2]|0))break;c[v>>2]=-1;c[x>>2]=q+((c[s>>2]|0)*24|0);h=c[x>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[n>>2]|0)+24>>2]|0))break;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[y+16>>2]=0;c[y+20>>2]=0;c[z>>2]=0;if(!((c[k>>2]|0)>=0?(c[w>>2]|0)!=(c[k>>2]|0):0)){h=t;c[E>>2]=$N(c[r>>2]|0,c[B>>2]|0,c[w>>2]|0,c[h>>2]|0,c[h+4>>2]|0,u,y,z)|0;if(c[E>>2]|0)break a;if((c[z>>2]|0)>(c[v>>2]|0)){h=c[x>>2]|0;c[h>>2]=c[y>>2];c[h+4>>2]=c[y+4>>2];c[h+8>>2]=c[y+8>>2];c[h+12>>2]=c[y+12>>2];c[h+16>>2]=c[y+16>>2];c[h+20>>2]=c[y+20>>2];c[v>>2]=c[z>>2]}}c[w>>2]=(c[w>>2]|0)+1}f=(c[x>>2]|0)+8|0;e=t;g=c[e+4>>2]|c[f+4>>2];h=t;c[h>>2]=c[e>>2]|c[f>>2];c[h+4>>2]=g;c[s>>2]=(c[s>>2]|0)+1}g=u;h=t;if(((c[g>>2]|0)==(c[h>>2]|0)?(c[g+4>>2]|0)==(c[h+4>>2]|0):0)|(c[p>>2]|0)==4){D=20;break}c[p>>2]=(c[p>>2]|0)+1}b:do if((D|0)==20){c[o>>2]=0;while(1){if(!((c[o>>2]|0)<(c[p>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=aO(c[B>>2]|0,q+((c[o>>2]|0)*24|0)|0,c[o>>2]|0,(c[o>>2]|0)==((c[p>>2]|0)-1|0)&1,c[r>>2]|0,c[C>>2]|0,c[i>>2]|0,c[j>>2]|0,F)|0;c[o>>2]=(c[o>>2]|0)+1}}while(0);BM(c[n>>2]|0);a=c[A>>2]|0;if(c[E>>2]|0){Wi(a,c[E>>2]|0);_d(c[F>>2]|0);l=G;return}else{xi(a,c[F>>2]|0,-1,157);l=G;return}}function $N(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+112|0;A=C+104|0;B=C+100|0;j=C+96|0;k=C+92|0;m=C+16|0;n=C+88|0;o=C+84|0;p=C+80|0;q=C+76|0;r=C+72|0;s=C+48|0;t=C+40|0;u=C+36|0;v=C+32|0;w=C+28|0;x=C+24|0;y=C+8|0;z=C;c[B>>2]=a;c[j>>2]=b;c[k>>2]=d;d=m;c[d>>2]=e;c[d+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[u>>2]=-1;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[q>>2]=MM(c[j>>2]|0,r,0)|0;if(c[q>>2]|0){c[A>>2]=c[q>>2];B=c[A>>2]|0;l=C;return B|0}c[t>>2]=(c[r>>2]|0)*24;c[s+16>>2]=pe(c[t>>2]|0)|0;if(!(c[s+16>>2]|0)){c[A>>2]=7;B=c[A>>2]|0;l=C;return B|0}m0(c[s+16>>2]|0,0,c[t>>2]|0)|0;c[s>>2]=c[j>>2];c[s+4>>2]=c[k>>2];c[s+8>>2]=c[B>>2];c[s+12>>2]=c[r>>2];c[s+20>>2]=-1;c[q>>2]=QM(c[(c[j>>2]|0)+12>>2]|0,167,s)|0;if(!(c[q>>2]|0)){c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[r>>2]|0))break;if(c[(c[s+16>>2]|0)+((c[v>>2]|0)*24|0)+12>>2]|0){h=j0(1,0,c[v>>2]|0)|0;B=c[n>>2]|0;g=B;i=c[g+4>>2]|D;c[B>>2]=c[g>>2]|h;c[B+4>>2]=i}c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[k>>2];while(1){if(!((dO(s)|0)!=0^1))break;B=m;eO(s,c[B>>2]|0,c[B+4>>2]|0,w,x,y,z);if((c[x>>2]|0)<=(c[u>>2]|0))continue;c[(c[o>>2]|0)+4>>2]=c[w>>2];B=z;i=c[B+4>>2]|0;h=(c[o>>2]|0)+16|0;c[h>>2]=c[B>>2];c[h+4>>2]=i;h=y;i=c[h+4>>2]|0;B=(c[o>>2]|0)+8|0;c[B>>2]=c[h>>2];c[B+4>>2]=i;c[u>>2]=c[x>>2]}c[c[p>>2]>>2]=c[u>>2]}_d(c[s+16>>2]|0);c[A>>2]=c[q>>2];B=c[A>>2]|0;l=C;return B|0}function aO(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=l;l=l+128|0;L=N+112|0;k=N+108|0;P=N+104|0;m=N+100|0;n=N+96|0;o=N+92|0;p=N+88|0;q=N+84|0;r=N+80|0;s=N+76|0;t=N+72|0;u=N+68|0;v=N+64|0;w=N+60|0;x=N+56|0;y=N+52|0;z=N+48|0;A=N+44|0;B=N;O=N+40|0;C=N+36|0;E=N+32|0;F=N+28|0;G=N+24|0;H=N+20|0;I=N+16|0;J=N+12|0;K=N+8|0;c[k>>2]=a;c[P>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=c[c[k>>2]>>2];c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=c[(c[P>>2]|0)+4>>2];j=(c[P>>2]|0)+16|0;b=c[j+4>>2]|0;a=B;c[a>>2]=c[j>>2];c[a+4>>2]=b;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[v>>2]=Cv(c[(c[k>>2]|0)+8>>2]|0,c[O>>2]|0)|0;a=c[(c[k>>2]|0)+8>>2]|0;b=c[O>>2]|0;if(!(c[v>>2]|0))if((Dv(a,b)|0)!=5){c[L>>2]=7;P=c[L>>2]|0;l=N;return P|0}else{c[L>>2]=0;P=c[L>>2]|0;l=N;return P|0}c[w>>2]=gJ(a,b)|0;c[C>>2]=c[c[(c[t>>2]|0)+36>>2]>>2];c[u>>2]=EN(c[(c[t>>2]|0)+36>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[v>>2]|0,c[w>>2]|0,E)|0;if(c[u>>2]|0){c[L>>2]=c[u>>2];P=c[L>>2]|0;l=N;return P|0}while(1){if(c[u>>2]|0)break;c[G>>2]=-1;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[u>>2]=Gb[c[(c[C>>2]|0)+20>>2]&255](c[E>>2]|0,F,G,H,I,x)|0;if(c[u>>2]|0){M=9;break}if((c[x>>2]|0)<(c[A>>2]|0))continue;if(!(c[z>>2]|0)){c[K>>2]=(c[w>>2]|0)-(c[H>>2]|0);c[u>>2]=bO(c[t>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[o>>2]|0,(c[v>>2]|0)+(c[H>>2]|0)|0,c[K>>2]|0,A,B)|0;c[z>>2]=1;do if(!(c[u>>2]|0)){if((c[A>>2]|0)>0|(c[m>>2]|0)>0){c[u>>2]=ZN(c[s>>2]|0,c[r>>2]|0,-1)|0;break}if(c[H>>2]|0)c[u>>2]=ZN(c[s>>2]|0,c[v>>2]|0,c[H>>2]|0)|0}while(0);if(c[u>>2]|0)continue;if((c[x>>2]|0)<(c[A>>2]|0))continue}if((c[x>>2]|0)>=((c[A>>2]|0)+(c[o>>2]|0)|0)){M=21;break}P=B;j=c[P>>2]|0;P=c[P+4>>2]|0;O=j0(1,0,(c[x>>2]|0)-(c[A>>2]|0)|0)|0;c[J>>2]=((j&O|0)!=0|(P&D|0)!=0)&1;if((c[x>>2]|0)>(c[A>>2]|0))c[u>>2]=ZN(c[s>>2]|0,(c[v>>2]|0)+(c[y>>2]|0)|0,(c[H>>2]|0)-(c[y>>2]|0)|0)|0;if((c[u>>2]|0)==0&(c[J>>2]|0)!=0)c[u>>2]=ZN(c[s>>2]|0,c[p>>2]|0,-1)|0;if(!(c[u>>2]|0))c[u>>2]=ZN(c[s>>2]|0,(c[v>>2]|0)+(c[H>>2]|0)|0,(c[I>>2]|0)-(c[H>>2]|0)|0)|0;if((c[u>>2]|0)==0&(c[J>>2]|0)!=0)c[u>>2]=ZN(c[s>>2]|0,c[q>>2]|0,-1)|0;c[y>>2]=c[I>>2]}if((M|0)==9){if((c[u>>2]|0)==101)c[u>>2]=ZN(c[s>>2]|0,(c[v>>2]|0)+(c[y>>2]|0)|0,-1)|0}else if((M|0)==21?c[n>>2]|0:0)c[u>>2]=ZN(c[s>>2]|0,c[r>>2]|0,-1)|0;Hb[c[(c[C>>2]|0)+16>>2]&255](c[E>>2]|0)|0;c[L>>2]=c[u>>2];P=c[L>>2]|0;l=N;return P|0}function bO(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;F=l;l=l+96|0;E=F+84|0;u=F+80|0;v=F+76|0;w=F+72|0;i=F+68|0;j=F+64|0;x=F+60|0;y=F+56|0;z=F;k=F+52|0;m=F+48|0;n=F+44|0;A=F+40|0;B=F+36|0;C=F+32|0;o=F+28|0;p=F+24|0;q=F+20|0;r=F+16|0;s=F+12|0;t=F+8|0;c[u>>2]=a;c[v>>2]=b;c[w>>2]=d;c[i>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;f=c[y>>2]|0;g=c[f+4>>2]|0;h=z;c[h>>2]=c[f>>2];c[h+4>>2]=g;h=z;do if((c[h>>2]|0)!=0|(c[h+4>>2]|0)!=0){c[k>>2]=0;while(1){h=z;f=c[h>>2]|0;h=c[h+4>>2]|0;g=j0(1,0,c[k>>2]|0)|0;if(!(((f&g|0)!=0|(h&D|0)!=0)^1))break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){h=z;f=c[h>>2]|0;h=c[h+4>>2]|0;g=j0(1,0,(c[w>>2]|0)-1-(c[m>>2]|0)|0)|0;if(!(((f&g|0)!=0|(h&D|0)!=0)^1))break;c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=((c[k>>2]|0)-(c[m>>2]|0)|0)/2|0;if((c[n>>2]|0)>0){c[B>>2]=0;c[o>>2]=c[c[(c[u>>2]|0)+36>>2]>>2];c[C>>2]=EN(c[(c[u>>2]|0)+36>>2]|0,c[v>>2]|0,c[i>>2]|0,c[j>>2]|0,p)|0;if(c[C>>2]|0){c[E>>2]=c[C>>2];E=c[E>>2]|0;l=F;return E|0}while(1){if(c[C>>2]|0)break;if((c[B>>2]|0)>=((c[w>>2]|0)+(c[n>>2]|0)|0))break;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[C>>2]=Gb[c[(c[o>>2]|0)+20>>2]&255](c[p>>2]|0,q,r,s,t,B)|0}Hb[c[(c[o>>2]|0)+16>>2]&255](c[p>>2]|0)|0;a=c[C>>2]|0;if((c[C>>2]|0)!=0&(c[C>>2]|0)!=101){c[E>>2]=a;E=c[E>>2]|0;l=F;return E|0}else{c[A>>2]=((a|0)==101&1)+(c[B>>2]|0)-(c[w>>2]|0);if((c[A>>2]|0)<=0)break;B=c[x>>2]|0;c[B>>2]=(c[B>>2]|0)+(c[A>>2]|0);B=z;B=f0(c[B>>2]|0,c[B+4>>2]|0,c[A>>2]|0)|0;C=c[y>>2]|0;c[C>>2]=B;c[C+4>>2]=D;break}}}while(0);c[E>>2]=0;E=c[E>>2]|0;l=F;return E|0}function cO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;i=l;l=l+32|0;k=i+28|0;m=i+24|0;n=i+20|0;j=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;e=i;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=c[n>>2];c[f>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[f>>2]>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=TM(c[c[j>>2]>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,g)|0;if(!(c[g>>2]|0)){n=c[h>>2]|0;l=i;return n|0}c[e>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];YN(g,e);c[(c[f>>2]|0)+12>>2]=c[g>>2];c[(c[f>>2]|0)+20>>2]=c[g>>2];c[(c[f>>2]|0)+8>>2]=c[e>>2];c[(c[f>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;l=i;return n|0}function dO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;b=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);fO((c[f>>2]|0)+12|0,(c[f>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[h>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[i>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if(c[(c[i>>2]|0)+12>>2]|0?(c[(c[i>>2]|0)+8>>2]|0)<(c[h>>2]|0):0)c[h>>2]=c[(c[i>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[h>>2]|0)==2147483647){c[b>>2]=1;j=c[b>>2]|0;l=k;return j|0}i=(c[h>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=i;c[(c[d>>2]|0)+20>>2]=i;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);fO((c[j>>2]|0)+12|0,(c[j>>2]|0)+8|0,(c[h>>2]|0)+1|0);fO((c[j>>2]|0)+20|0,(c[j>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;j=c[b>>2]|0;l=k;return j|0}function eO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+96|0;y=B+84|0;z=B+32|0;A=B+80|0;j=B+76|0;k=B+72|0;m=B+68|0;n=B+64|0;o=B+60|0;p=B+56|0;q=B+24|0;r=B+16|0;s=B+52|0;t=B+48|0;u=B+44|0;v=B+40|0;w=B+8|0;x=B;c[y>>2]=b;b=z;c[b>>2]=d;c[b+4>>2]=e;c[A>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=i;c[n>>2]=c[(c[y>>2]|0)+20>>2];c[o>>2]=0;i=q;c[i>>2]=0;c[i+4>>2]=0;i=r;c[i>>2]=0;c[i+4>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[y>>2]|0)+12>>2]|0))break;c[s>>2]=(c[(c[y>>2]|0)+16>>2]|0)+((c[p>>2]|0)*24|0);a:do if(c[(c[s>>2]|0)+20>>2]|0){c[t>>2]=c[(c[s>>2]|0)+20>>2];c[u>>2]=c[(c[s>>2]|0)+16>>2];while(1){if((c[u>>2]|0)>=((c[n>>2]|0)+(c[(c[y>>2]|0)+8>>2]|0)|0))break a;g=j0(1,0,c[p>>2]|0)|0;h=w;c[h>>2]=g;c[h+4>>2]=D;h=j0(1,0,(c[u>>2]|0)-(c[n>>2]|0)|0)|0;g=x;c[g>>2]=h;c[g+4>>2]=D;g=q;h=z;i=w;b=c[o>>2]|0;if((c[g>>2]|c[h>>2])&c[i>>2]|0?1:((c[g+4>>2]|c[h+4>>2])&c[i+4>>2]|0)!=0)c[o>>2]=b+1;else c[o>>2]=b+1e3;g=w;f=q;h=c[f+4>>2]|c[g+4>>2];i=q;c[i>>2]=c[f>>2]|c[g>>2];c[i+4>>2]=h;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[s>>2]>>2]|0))break;g=x;g=f0(c[g>>2]|0,c[g+4>>2]|0,c[v>>2]|0)|0;f=r;h=c[f+4>>2]|D;i=r;c[i>>2]=c[f>>2]|g;c[i+4>>2]=h;c[v>>2]=(c[v>>2]|0)+1}if(!(a[c[t>>2]>>0]&254))break a;YN(t,u)}}while(0);c[p>>2]=(c[p>>2]|0)+1}c[c[A>>2]>>2]=c[n>>2];c[c[j>>2]>>2]=c[o>>2];A=q;z=c[A+4>>2]|0;y=c[k>>2]|0;c[y>>2]=c[A>>2];c[y+4>>2]=z;y=r;z=c[y+4>>2]|0;A=c[m>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;l=B;return}function fO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[c[f>>2]>>2];if(!(c[i>>2]|0)){l=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[i>>2]>>0]&254)){k=5;break}YN(i,j)}if((k|0)==5){c[j>>2]=-1;c[i>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[i>>2];l=m;return}function gO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[d>>2]=b;c[f>>2]=0;c[g>>2]=0;c[e>>2]=sL(c[i>>2]|0,36,g,0)|0;if(c[e>>2]|0){g=c[f>>2]|0;i=c[d>>2]|0;c[i>>2]=g;i=c[e>>2]|0;l=h;return i|0}if(100==(Bs(c[g>>2]|0)|0))c[f>>2]=iJ(c[g>>2]|0,0)|0;c[e>>2]=ys(c[g>>2]|0)|0;g=c[f>>2]|0;i=c[d>>2]|0;c[i>>2]=g;i=c[e>>2]|0;l=h;return i|0}function hO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;C=l;l=l+128|0;w=C+112|0;x=C+108|0;E=C+104|0;y=C+100|0;z=C+96|0;A=C+92|0;B=C+88|0;f=C+84|0;g=C+80|0;h=C+76|0;i=C+16|0;j=C+64|0;k=C+60|0;m=C+8|0;n=C+52|0;o=C+48|0;p=C+44|0;q=C+40|0;r=C;s=C+36|0;t=C+32|0;u=C+28|0;v=C+24|0;c[x>>2]=a;c[E>>2]=b;c[y>>2]=e;c[A>>2]=c[E>>2];c[h>>2]=0;e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[k>>2]=0;c[C+56>>2]=640;c[g>>2]=pe(640)|0;if(!(c[g>>2]|0)){c[w>>2]=7;E=c[w>>2]|0;l=C;return E|0}c[f>>2]=(c[g>>2]|0)+568;c[B>>2]=(c[f>>2]|0)+16;c[z>>2]=iO(c[x>>2]|0,j)|0;while(1){if(!((c[z>>2]|0)==0?(c[A>>2]|0)>0:0))break;e=c[(c[x>>2]|0)+248>>2]<<10;E=m;c[E>>2]=e;c[E+4>>2]=((e|0)<0)<<31>>31;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[z>>2]=sL(c[x>>2]|0,28,n,0)|0;pJ(c[n>>2]|0,1,2>(c[y>>2]|0)?2:c[y>>2]|0)|0;if((Bs(c[n>>2]|0)|0)==100){e=jJ(c[n>>2]|0,0)|0;E=i;c[E>>2]=e;c[E+4>>2]=D;c[h>>2]=iJ(c[n>>2]|0,1)|0}else c[h>>2]=-1;c[z>>2]=ys(c[n>>2]|0)|0;do if((c[z>>2]|0)==0?c[j+4>>2]|0:0){c[q>>2]=c[j+4>>2];E=r;c[E>>2]=0;c[E+4>>2]=0;c[s>>2]=0;c[z>>2]=jO(j,r,s)|0;if((c[h>>2]|0)>=0?(a=i,e=m,e=c0(c[a>>2]|0,c[a+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0,a=D,b=r,E=m,E=c0(c[b>>2]|0,c[b+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,b=D,!((a|0)>(b|0)|(a|0)==(b|0)&e>>>0>=E>>>0)):0){c[j+4>>2]=c[q>>2];break}b=r;e=c[b+4>>2]|0;E=i;c[E>>2]=c[b>>2];c[E+4>>2]=e;c[h>>2]=c[s>>2];c[o>>2]=1;c[k>>2]=1}while(0);if((c[h>>2]|0)<0)break;m0(c[g>>2]|0,0,640)|0;c[(c[f>>2]|0)+12>>2]=1;do if(!(c[z>>2]|0)){E=i;c[z>>2]=kO(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if(c[p>>2]|0?!((c[o>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[t>>2]=0;e=c[x>>2]|0;E=i;E=_$(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[z>>2]=lO(e,E,D,t)|0;if(c[t>>2]|0){E=(c[f>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[z>>2]|0)){E=i;c[z>>2]=mO(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[h>>2]|0,c[B>>2]|0)|0}if(((0==(c[z>>2]|0)?(c[(c[B>>2]|0)+4>>2]|0)==(c[h>>2]|0):0)?(E=xL(c[x>>2]|0,c[B>>2]|0,c[f>>2]|0)|0,c[z>>2]=E,0==(E|0)):0)?(E=yL(c[x>>2]|0,c[B>>2]|0)|0,c[z>>2]=E,100==(E|0)):0){if((c[o>>2]|0)!=0&(c[p>>2]|0)>0){c[u>>2]=c[(c[B>>2]|0)+40>>2];c[v>>2]=c[(c[B>>2]|0)+44>>2];E=i;c[z>>2]=nO(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[u>>2]|0,c[v>>2]|0,c[g>>2]|0)|0}else{E=i;c[z>>2]=oO(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[B>>2]|0,c[g>>2]|0)|0}if((c[z>>2]|0)==0?c[c[g>>2]>>2]|0:0){do{c[z>>2]=pO(c[x>>2]|0,c[g>>2]|0,c[B>>2]|0)|0;if(!(c[z>>2]|0))c[z>>2]=yL(c[x>>2]|0,c[B>>2]|0)|0;if((c[z>>2]|0)==100?(c[(c[g>>2]|0)+4>>2]|0)>=(c[A>>2]|0):0)c[z>>2]=0}while((c[z>>2]|0)==100);if((c[z>>2]|0)==0?(c[A>>2]=(c[A>>2]|0)-(1+(c[(c[g>>2]|0)+4>>2]|0)),E=i,c[z>>2]=qO(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[B>>2]|0,h)|0,c[h>>2]|0):0){c[k>>2]=1;E=i;rO(j,c[E>>2]|0,c[E+4>>2]|0,c[h>>2]|0,z)}}if(c[h>>2]|0){e=(c[g>>2]|0)+40|0;e=r0(c[e>>2]|0,c[e+4>>2]|0,-1,-1)|0;E=(c[g>>2]|0)+40|0;c[E>>2]=e;c[E+4>>2]=D}sO(c[x>>2]|0,c[g>>2]|0,z);if((c[h>>2]|0)==0?(d[(c[g>>2]|0)+48>>0]|0|0)==0:0){b=c[x>>2]|0;e=i;e=_$(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;E=(c[g>>2]|0)+40|0;CL(b,e,D,c[E>>2]|0,c[E+4>>2]|0)|0}}EL(c[B>>2]|0)}if((c[k>>2]|0)!=0&(c[z>>2]|0)==0)c[z>>2]=tO(c[x>>2]|0,j)|0;_d(c[g>>2]|0);_d(c[j>>2]|0);c[w>>2]=c[z>>2];E=c[w>>2]|0;l=C;return E|0}function iO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[d>>2]=b;c[e>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[f>>2]=sL(c[k>>2]|0,22,e,0)|0;if(c[f>>2]|0){k=c[f>>2]|0;l=j;return k|0}pJ(c[e>>2]|0,1,1)|0;if((100==(Bs(c[e>>2]|0)|0)?(c[h>>2]=fJ(c[e>>2]|0,0)|0,c[i>>2]=gJ(c[e>>2]|0,0)|0,c[h>>2]|0):0)?(uO(c[d>>2]|0,c[i>>2]|0,f),(c[f>>2]|0)==0):0){h0(c[c[d>>2]>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[i>>2]}c[g>>2]=ys(c[e>>2]|0)|0;if(c[f>>2]|0){k=c[f>>2]|0;l=j;return k|0}c[f>>2]=c[g>>2];k=c[f>>2]|0;l=j;return k|0}function jO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+20|0;h=n+16|0;g=n+12|0;i=n+8|0;k=n+4|0;m=n;c[h>>2]=b;c[g>>2]=e;c[i>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[m>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[m>>2]|0)-1)>>0]&128))break;c[m>>2]=(c[m>>2]|0)+-1}while(1){if((c[m>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[m>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[m>>2]|0;if(!e)break;c[m>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=bM((c[c[h>>2]>>2]|0)+(c[m>>2]|0)|0,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[m>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[m>>2]|0)>>0]&128|0)b=cM(b,c[i>>2]|0)|0;else{c[c[i>>2]>>2]=d[b>>0];b=1}c[m>>2]=(c[m>>2]|0)+b;if((c[m>>2]|0)!=(c[k>>2]|0)){c[j>>2]=267;m=c[j>>2]|0;l=n;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;l=n;return m|0}return 0}function kO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[i>>2]=0;c[h>>2]=sL(c[k>>2]|0,8,i,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=j;return k|0}e=c[i>>2]|0;k=f;k=_$(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;qJ(e,1,k,D)|0;Bs(c[i>>2]|0)|0;k=iJ(c[i>>2]|0,0)|0;c[c[g>>2]>>2]=k;c[h>>2]=ys(c[i>>2]|0)|0;k=c[h>>2]|0;l=j;return k|0}function lO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+24|0;m=k+20|0;g=k;h=k+16|0;i=k+12|0;j=k+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=sL(c[m>>2]|0,15,i,0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];m=c[f>>2]|0;l=k;return m|0}m=c[i>>2]|0;j=g;j=_$(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;qJ(m,1,j,D)|0;j=c[i>>2]|0;m=g;m=n0(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=_$(m|0,D|0,1,0)|0;m=r0(m|0,D|0,1024,0)|0;qJ(j,2,m,D)|0;c[c[h>>2]>>2]=0;if(100==(Bs(c[i>>2]|0)|0)){m=(Dv(c[i>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=ys(c[i>>2]|0)|0;m=c[f>>2]|0;l=k;return m|0}function mO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;k=q+36|0;m=q;n=q+32|0;o=q+28|0;p=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;c[k>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[o>>2]=f;c[g>>2]=0;a=c[o>>2]|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=c[n>>2]<<2;f=pe(c[h>>2]|0)|0;c[c[o>>2]>>2]=f;if(!(c[c[o>>2]>>2]|0))c[p>>2]=7;else{m0(c[c[o>>2]>>2]|0,0,c[h>>2]|0)|0;c[p>>2]=sL(c[k>>2]|0,12,g,0)|0}if(c[p>>2]|0){p=c[p>>2]|0;l=q;return p|0}qJ(c[g>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[i>>2]=0;while(1){if(c[p>>2]|0)break;if((Bs(c[g>>2]|0)|0)!=100)break;if((c[i>>2]|0)>=(c[n>>2]|0))break;r=c[i>>2]|0;a=jJ(c[g>>2]|0,1)|0;b=D;d=jJ(c[g>>2]|0,2)|0;e=D;f=jJ(c[g>>2]|0,3)|0;h=D;k=fJ(c[g>>2]|0,4)|0;m=gJ(c[g>>2]|0,4)|0;c[p>>2]=rM(r,0,a,b,d,e,f,h,k,m,(c[c[o>>2]>>2]|0)+(c[i>>2]<<2)|0)|0;m=(c[o>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1}c[j>>2]=ys(c[g>>2]|0)|0;if(c[p>>2]|0){r=c[p>>2]|0;l=q;return r|0}c[p>>2]=c[j>>2];r=c[p>>2]|0;l=q;return r|0}function nO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+208|0;I=K+200|0;J=K+196|0;u=K+120|0;j=K+192|0;k=K+188|0;m=K+184|0;y=K+180|0;z=K+176|0;A=K+172|0;n=K+112|0;o=K+104|0;p=K+96|0;v=K+168|0;w=K+164|0;B=K+160|0;q=K+156|0;r=K+152|0;s=K+148|0;t=K+48|0;C=K+144|0;x=K+140|0;E=K+136|0;F=K;G=K+132|0;H=K+128|0;c[J>>2]=b;b=u;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[y>>2]=i;c[A>>2]=0;c[z>>2]=sL(c[J>>2]|0,32,A,0)|0;if(!(c[z>>2]|0)){b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;b=p;c[b>>2]=0;c[b+4>>2]=0;c[v>>2]=0;c[w>>2]=0;c[q>>2]=0;b=c[A>>2]|0;i=u;i=_$(c[i>>2]|0,c[i+4>>2]|0,1,0)|0;qJ(b,1,i,D)|0;pJ(c[A>>2]|0,2,c[j>>2]|0)|0;i=(Bs(c[A>>2]|0)|0)==100;b=c[A>>2]|0;if(!i){c[I>>2]=ys(b)|0;J=c[I>>2]|0;l=K;return J|0}i=jJ(b,1)|0;h=n;c[h>>2]=i;c[h+4>>2]=D;h=jJ(c[A>>2]|0,2)|0;i=o;c[i>>2]=h;c[i+4>>2]=D;HL(c[A>>2]|0,3,p,(c[y>>2]|0)+40|0);if((c[(c[y>>2]|0)+40+4>>2]|0)<0){h=(c[y>>2]|0)+40|0;h=r0(c[h>>2]|0,c[h+4>>2]|0,-1,-1)|0;i=(c[y>>2]|0)+40|0;c[i>>2]=h;c[i+4>>2]=D}i=(c[y>>2]|0)+40|0;a[(c[y>>2]|0)+48>>0]=(c[i>>2]|0)==0&(c[i+4>>2]|0)==0&1;c[w>>2]=gJ(c[A>>2]|0,4)|0;c[v>>2]=fJ(c[A>>2]|0,4)|0;i=p;c[z>>2]=GO(c[J>>2]|0,c[i>>2]|0,c[i+4>>2]|0,q)|0;if((c[z>>2]|0)==0&(c[q>>2]|0)!=0){c[r>>2]=0;c[s>>2]=0;c[z>>2]=jM(c[J>>2]|0,c[o>>2]|0,c[o+4>>2]|0,r,s,0)|0;if(!(c[z>>2]|0)){c[z>>2]=zO(t,c[r>>2]|0,c[s>>2]|0)|0;while(1){if(!((c[z>>2]|0)==0?(c[t>>2]|0)!=0:0))break;c[z>>2]=DO(t)|0}if((AO(c[k>>2]|0,c[m>>2]|0,c[t+24>>2]|0,c[t+24+4>>2]|0)|0)<=0)c[q>>2]=0;EO(t)}_d(c[r>>2]|0)}a:do if((c[z>>2]|0)==0&(c[q>>2]|0)!=0){c[x>>2]=a[c[v>>2]>>0];t=p;s=n;s=Z$(c[t>>2]|0,c[t+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=_$(s|0,D|0,1,0)|0;c[c[y>>2]>>2]=(s|0)/16|0;s=n;t=c[s+4>>2]|0;r=(c[y>>2]|0)+24|0;c[r>>2]=c[s>>2];c[r+4>>2]=t;r=p;t=c[r+4>>2]|0;s=(c[y>>2]|0)+32|0;c[s>>2]=c[r>>2];c[s+4>>2]=t;s=u;t=c[s+4>>2]|0;u=(c[y>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[y>>2]|0)+16>>2]=c[j>>2];c[C>>2]=(c[x>>2]|0)+1;while(1){b=c[y>>2]|0;if((c[C>>2]|0)>=16)break;u=b+24|0;t=S(c[C>>2]|0,c[c[y>>2]>>2]|0)|0;t=_$(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[y>>2]|0)+56+(c[C>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=D;c[C>>2]=(c[C>>2]|0)+1}c[E>>2]=b+56+(c[x>>2]<<5);u=(c[y>>2]|0)+24|0;t=S(c[c[y>>2]>>2]|0,c[x>>2]|0)|0;t=_$(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[E>>2]|0;c[u>>2]=t;c[u+4>>2]=D;if((c[w>>2]|0)>(c[(c[J>>2]|0)+224>>2]|0))b=c[w>>2]|0;else b=c[(c[J>>2]|0)+224>>2]|0;uO((c[E>>2]|0)+20|0,b,z);if(!(c[z>>2]|0)){h0(c[(c[E>>2]|0)+20>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;c[(c[E>>2]|0)+20+4>>2]=c[w>>2]}c[C>>2]=c[x>>2];while(1){if(!((c[C>>2]|0)>=0?(c[z>>2]|0)==0:0))break a;c[E>>2]=(c[y>>2]|0)+56+(c[C>>2]<<5);c[z>>2]=zO(F,c[(c[E>>2]|0)+20>>2]|0,c[(c[E>>2]|0)+20+4>>2]|0)|0;while(1){if(!(c[F>>2]|0?(c[z>>2]|0)==0:0))break;c[z>>2]=DO(F)|0}uO((c[E>>2]|0)+8|0,c[F+24+4>>2]|0,z);if((c[z>>2]|0)==0?(h0(c[(c[E>>2]|0)+8>>2]|0,c[F+24>>2]|0,c[F+24+4>>2]|0)|0,c[(c[E>>2]|0)+8+4>>2]=c[F+24+4>>2],(c[C>>2]|0)>0):0){c[G>>2]=0;c[H>>2]=0;c[E>>2]=(c[y>>2]|0)+56+((c[C>>2]|0)-1<<5);v=F+16|0;w=c[v+4>>2]|0;x=c[E>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=F+16|0;c[z>>2]=jM(c[J>>2]|0,c[x>>2]|0,c[x+4>>2]|0,G,H,0)|0;if((c[H>>2]|0)>(c[(c[J>>2]|0)+224>>2]|0))b=c[H>>2]|0;else b=c[(c[J>>2]|0)+224>>2]|0;uO((c[E>>2]|0)+20|0,b,z);if(!(c[z>>2]|0)){h0(c[(c[E>>2]|0)+20>>2]|0,c[G>>2]|0,c[H>>2]|0)|0;c[(c[E>>2]|0)+20+4>>2]=c[H>>2]}_d(c[G>>2]|0)}EO(F);c[C>>2]=(c[C>>2]|0)+-1}}while(0);c[B>>2]=ys(c[A>>2]|0)|0;if(!(c[z>>2]|0))c[z>>2]=c[B>>2]}c[I>>2]=c[z>>2];J=c[I>>2]|0;l=K;return J|0}function oO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;p=t+44|0;q=t+40|0;r=t;s=t+36|0;h=t+32|0;i=t+28|0;j=t+24|0;k=t+20|0;m=t+16|0;n=t+12|0;o=t+8|0;c[q>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;c[h>>2]=f;c[i>>2]=g;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[j>>2]=sL(c[q>>2]|0,29,n,0)|0;if(!(c[j>>2]|0)){g=r;qJ(c[n>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[h>>2]|0)+4>>2]|0;qJ(c[n>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(Bs(c[n>>2]|0)|0))c[m>>2]=iJ(c[n>>2]|0,0)|0;c[j>>2]=ys(c[n>>2]|0)|0}if(c[j>>2]|0){c[p>>2]=c[j>>2];s=c[p>>2]|0;l=t;return s|0}c[j>>2]=sL(c[q>>2]|0,10,o,0)|0;if(!(c[j>>2]|0)){if(100==(Bs(c[o>>2]|0)|0)){f=jJ(c[o>>2]|0,0)|0;g=(c[i>>2]|0)+24|0;c[g>>2]=f;c[g+4>>2]=D;g=(c[i>>2]|0)+24|0;g=Z$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;f=(c[i>>2]|0)+32|0;c[f>>2]=g;c[f+4>>2]=D;f=c[m>>2]<<4;g=(c[i>>2]|0)+32|0;e=g;f=_$(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[g>>2]=f;c[g+4>>2]=D}c[j>>2]=ys(c[o>>2]|0)|0}if(c[j>>2]|0){c[p>>2]=c[j>>2];s=c[p>>2]|0;l=t;return s|0}g=(c[i>>2]|0)+32|0;c[j>>2]=IL(c[q>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[j>>2]|0){c[p>>2]=c[j>>2];s=c[p>>2]|0;l=t;return s|0}g=r;q=c[g+4>>2]|0;r=(c[i>>2]|0)+8|0;c[r>>2]=c[g>>2];c[r+4>>2]=q;c[c[i>>2]>>2]=c[m>>2];c[(c[i>>2]|0)+16>>2]=c[s>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=16)break;s=(c[i>>2]|0)+24|0;r=S(c[k>>2]|0,c[c[i>>2]>>2]|0)|0;r=_$(c[s>>2]|0,c[s+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;s=(c[i>>2]|0)+56+(c[k>>2]<<5)|0;c[s>>2]=r;c[s+4>>2]=D;c[k>>2]=(c[k>>2]|0)+1}c[p>>2]=0;s=c[p>>2]|0;l=t;return s|0}function pO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;k=r+44|0;m=r+40|0;s=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;f=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[k>>2]=b;c[m>>2]=d;c[s>>2]=e;c[n>>2]=c[(c[s>>2]|0)+40>>2];c[o>>2]=c[(c[s>>2]|0)+44>>2];c[p>>2]=c[(c[s>>2]|0)+48>>2];c[q>>2]=c[(c[s>>2]|0)+52>>2];c[f>>2]=0;c[j>>2]=(c[m>>2]|0)+56;c[h>>2]=PL(c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[i>>2]=(c[o>>2]|0)-(c[h>>2]|0);e=c[h>>2]|0;c[g>>2]=ML(e,((e|0)<0)<<31>>31)|0;e=c[i>>2]|0;e=ML(e,((e|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+(e+(c[i>>2]|0));e=c[q>>2]|0;e=ML(e,((e|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+(e+(c[q>>2]|0));if((c[(c[j>>2]|0)+20+4>>2]|0)>0?((c[(c[j>>2]|0)+20+4>>2]|0)+(c[g>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){s=c[j>>2]|0;c[f>>2]=IL(c[k>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20+4>>2]|0)|0;s=(c[m>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[f>>2]|0))c[f>>2]=FO(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[h>>2]|0)+1|0)|0;s=c[j>>2]|0;k=s;k=_$(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[s>>2]=k;c[s+4>>2]=D;c[(c[j>>2]|0)+8+4>>2]=0;c[(c[j>>2]|0)+20+4>>2]=0;c[i>>2]=c[o>>2];c[g>>2]=1;s=c[i>>2]|0;s=ML(s,((s|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+(s+(c[i>>2]|0));s=c[q>>2]|0;s=ML(s,((s|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+(s+(c[q>>2]|0))}k=c[g>>2]|0;s=(c[m>>2]|0)+40|0;m=s;m=_$(c[m>>2]|0,c[m+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;c[s>>2]=m;c[s+4>>2]=D;uO((c[j>>2]|0)+20|0,(c[(c[j>>2]|0)+20+4>>2]|0)+(c[g>>2]|0)|0,f);if(c[f>>2]|0){s=c[f>>2]|0;l=r;return s|0}if(!(c[(c[j>>2]|0)+20+4>>2]|0)){c[(c[j>>2]|0)+20+4>>2]=1;a[c[(c[j>>2]|0)+20>>2]>>0]=0}c[f>>2]=CO((c[j>>2]|0)+20|0,(c[j>>2]|0)+8|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[f>>2]|0;l=r;return s|0}function qO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;n=s+44|0;o=s;p=s+40|0;q=s+36|0;r=s+32|0;g=s+28|0;h=s+24|0;i=s+20|0;j=s+16|0;k=s+12|0;m=s+8|0;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;c[p>>2]=e;c[q>>2]=f;c[g>>2]=0;c[h>>2]=0;c[r>>2]=(c[(c[p>>2]|0)+4>>2]|0)-1;while(1){if(!((c[r>>2]|0)>=0?(c[h>>2]|0)==0:0))break;c[i>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0))break;c[i>>2]=c[(c[c[p>>2]>>2]|0)+(c[j>>2]<<2)>>2];if((c[c[i>>2]>>2]|0)==(c[r>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}if(!(c[(c[i>>2]|0)+40>>2]|0)){c[h>>2]=OL(c[n>>2]|0,c[i>>2]|0)|0;if(!(c[h>>2]|0)){f=o;c[h>>2]=vO(c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[i>>2]>>2]|0)|0}c[c[q>>2]>>2]=0}else{c[k>>2]=c[(c[i>>2]|0)+64>>2];c[m>>2]=c[(c[i>>2]|0)+60>>2];f=o;c[h>>2]=wO(c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[i>>2]>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+-1}if(c[h>>2]|0){p=c[g>>2]|0;r=c[q>>2]|0;c[r>>2]=p;r=c[h>>2]|0;l=s;return r|0}if((c[g>>2]|0)==(c[(c[p>>2]|0)+4>>2]|0)){p=c[g>>2]|0;r=c[q>>2]|0;c[r>>2]=p;r=c[h>>2]|0;l=s;return r|0}p=o;c[h>>2]=xO(c[n>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=c[g>>2]|0;r=c[q>>2]|0;c[r>>2]=p;r=c[h>>2]|0;l=s;return r|0}function rO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;g=j+16|0;h=j;i=j+12|0;k=j+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[i>>2]=e;c[k>>2]=f;uO(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[k>>2]|0);if(c[c[k>>2]>>2]|0){l=j;return}h=NL((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=(c[g>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+h;i=c[i>>2]|0;i=NL((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,i,((i|0)<0)<<31>>31)|0;k=(c[g>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+i;l=j;return}function sO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;j=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;m=r+20|0;p=r+16|0;q=r+12|0;g=r+8|0;h=r+4|0;i=r;c[j>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[m>>2]=15;while(1){if((c[m>>2]|0)<0)break;c[g>>2]=(c[n>>2]|0)+56+(c[m>>2]<<5);if((c[(c[g>>2]|0)+20+4>>2]|0)>0)break;_d(c[(c[g>>2]|0)+20>>2]|0);_d(c[(c[g>>2]|0)+8>>2]|0);c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){l=r;return}if(!(c[m>>2]|0)){c[h>>2]=(c[n>>2]|0)+56+32+20;uO(c[h>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[h>>2]>>2]>>0]=1;f=(c[n>>2]|0)+56|0;f=1+(NL((c[c[h>>2]>>2]|0)+1|0,c[f>>2]|0,c[f+4>>2]|0)|0)|0;c[(c[h>>2]|0)+4>>2]=f}c[m>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[m>>2]<<5);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;c[i>>2]=(c[n>>2]|0)+56+(c[k>>2]<<5);if((c[q>>2]|0)==0?(c[(c[i>>2]|0)+20+4>>2]|0)>0:0){f=c[i>>2]|0;c[q>>2]=IL(c[j>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[(c[i>>2]|0)+20+4>>2]|0)|0}_d(c[(c[i>>2]|0)+20>>2]|0);_d(c[(c[i>>2]|0)+8>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if(!(c[q>>2]|0)){b=c[j>>2]|0;e=(c[n>>2]|0)+8|0;e=_$(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;g=(c[n>>2]|0)+24|0;h=(c[n>>2]|0)+56|0;i=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){j=(c[n>>2]|0)+40|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}c[q>>2]=KL(b,e,D,c[(c[n>>2]|0)+16>>2]|0,c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[i>>2]|0,c[i+4>>2]|0,f,j,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}_d(c[(c[p>>2]|0)+20>>2]|0);_d(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];l=r;return}function tO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=sL(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;l=g;return h|0}pJ(c[e>>2]|0,1,1)|0;lJ(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;Bs(c[e>>2]|0)|0;c[f>>2]=ys(c[e>>2]|0)|0;h=c[f>>2]|0;l=g;return h|0}function uO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){l=j;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){l=j;return}c[h>>2]=c[f>>2];c[i>>2]=Xf(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[i>>2]|0){c[(c[e>>2]|0)+8>>2]=c[h>>2];c[c[e>>2]>>2]=c[i>>2];l=j;return}else{c[c[g>>2]>>2]=7;l=j;return}}function vO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[i>>2]=0;c[h>>2]=sL(c[k>>2]|0,30,i,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=j;return k|0}k=f;qJ(c[i>>2]|0,1,c[k>>2]|0,c[k+4>>2]|0)|0;pJ(c[i>>2]|0,2,c[g>>2]|0)|0;Bs(c[i>>2]|0)|0;c[h>>2]=ys(c[i>>2]|0)|0;k=c[h>>2]|0;l=j;return k|0}function wO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+112|0;x=B+104|0;y=B+24|0;z=B+100|0;A=B+96|0;h=B+92|0;i=B+88|0;j=B+76|0;k=B+64|0;m=B+16|0;n=B+8|0;o=B;p=B+60|0;q=B+56|0;r=B+52|0;s=B+48|0;t=B+44|0;u=B+40|0;v=B+36|0;w=B+32|0;c[x>>2]=a;a=y;c[a>>2]=b;c[a+4>>2]=d;c[z>>2]=e;c[A>>2]=f;c[h>>2]=g;c[i>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;g=m;c[g>>2]=0;c[g+4>>2]=0;g=n;c[g>>2]=0;c[g+4>>2]=0;g=o;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=0;c[i>>2]=sL(c[x>>2]|0,32,p,0)|0;if(!(c[i>>2]|0)){g=y;qJ(c[p>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;pJ(c[p>>2]|0,2,c[z>>2]|0)|0;if(100==(Bs(c[p>>2]|0)|0)){c[r>>2]=fJ(c[p>>2]|0,4)|0;c[s>>2]=gJ(c[p>>2]|0,4)|0;f=jJ(c[p>>2]|0,1)|0;g=o;c[g>>2]=f;c[g+4>>2]=D;c[i>>2]=yO(c[r>>2]|0,c[s>>2]|0,j,c[A>>2]|0,c[h>>2]|0,m)|0}c[q>>2]=ys(c[p>>2]|0)|0;if(!(c[i>>2]|0))c[i>>2]=c[q>>2]}while(1){g=m;if(!((c[i>>2]|0)==0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;c[t>>2]=0;c[u>>2]=0;e=m;f=c[e+4>>2]|0;g=n;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=m;c[i>>2]=jM(c[x>>2]|0,c[g>>2]|0,c[g+4>>2]|0,t,u,0)|0;if(!(c[i>>2]|0))c[i>>2]=yO(c[t>>2]|0,c[u>>2]|0,k,c[A>>2]|0,c[h>>2]|0,m)|0;if(!(c[i>>2]|0)){g=n;c[i>>2]=IL(c[x>>2]|0,c[g>>2]|0,c[g+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0}_d(c[t>>2]|0)}A=n;if((c[i>>2]|0)==0&((c[A>>2]|0)!=0|(c[A+4>>2]|0)!=0)?(c[v>>2]=0,c[i>>2]=sL(c[x>>2]|0,17,v,0)|0,(c[i>>2]|0)==0):0){g=o;qJ(c[v>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[v>>2]|0;A=n;A=Z$(c[A>>2]|0,c[A+4>>2]|0,1,0)|0;qJ(g,2,A,D)|0;Bs(c[v>>2]|0)|0;c[i>>2]=ys(c[v>>2]|0)|0}if(c[i>>2]|0){A=c[j>>2]|0;_d(A);A=c[k>>2]|0;_d(A);A=c[i>>2]|0;l=B;return A|0}c[w>>2]=0;c[i>>2]=sL(c[x>>2]|0,33,w,0)|0;if(c[i>>2]|0){A=c[j>>2]|0;_d(A);A=c[k>>2]|0;_d(A);A=c[i>>2]|0;l=B;return A|0}A=n;qJ(c[w>>2]|0,1,c[A>>2]|0,c[A+4>>2]|0)|0;lJ(c[w>>2]|0,2,c[j>>2]|0,c[j+4>>2]|0,0)|0;A=y;qJ(c[w>>2]|0,3,c[A>>2]|0,c[A+4>>2]|0)|0;pJ(c[w>>2]|0,4,c[z>>2]|0)|0;Bs(c[w>>2]|0)|0;c[i>>2]=ys(c[w>>2]|0)|0;A=c[j>>2]|0;_d(A);A=c[k>>2]|0;_d(A);A=c[i>>2]|0;l=B;return A|0}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;j=s+44|0;k=s;m=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;q=s+24|0;f=s+20|0;g=s+16|0;h=s+12|0;i=s+8|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[f>>2]=0;c[g>>2]=0;c[m>>2]=sL(c[j>>2]|0,35,f,0)|0;if(!(c[m>>2]|0)){e=k;qJ(c[f>>2]|0,1,c[e>>2]|0,c[e+4>>2]|0)|0;while(1){if(100!=(Bs(c[f>>2]|0)|0))break;if((c[o>>2]|0)>=(c[p>>2]|0)){c[p>>2]=(c[p>>2]|0)+16;c[i>>2]=Xf(c[n>>2]|0,c[p>>2]<<2)|0;if(!(c[i>>2]|0)){r=6;break}c[n>>2]=c[i>>2]}b=iJ(c[f>>2]|0,0)|0;d=c[n>>2]|0;e=c[o>>2]|0;c[o>>2]=e+1;c[d+(e<<2)>>2]=b}if((r|0)==6)c[m>>2]=7;c[h>>2]=ys(c[f>>2]|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[h>>2]}if(!(c[m>>2]|0))c[m>>2]=sL(c[j>>2]|0,31,g,0)|0;if(!(c[m>>2]|0)){r=k;qJ(c[g>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[j>>2]|0)+232>>0]=1;c[q>>2]=0;while(1){if(c[m>>2]|0){r=21;break}if((c[q>>2]|0)>=(c[o>>2]|0)){r=21;break}if((c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]|0)!=(c[q>>2]|0)){pJ(c[g>>2]|0,3,c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;pJ(c[g>>2]|0,1,c[q>>2]|0)|0;Bs(c[g>>2]|0)|0;c[m>>2]=ys(c[g>>2]|0)|0}c[q>>2]=(c[q>>2]|0)+1}if((r|0)==21){a[(c[j>>2]|0)+232>>0]=0;_d(c[n>>2]|0);l=s;return c[m>>2]|0}return 0}function yO(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+112|0;r=w+96|0;s=w+92|0;t=w+88|0;u=w+84|0;i=w+80|0;j=w+76|0;k=w+72|0;m=w;n=w+60|0;o=w+56|0;p=w+52|0;q=w+48|0;c[s>>2]=b;c[t>>2]=d;c[u>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=h;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[o>>2]=0;c[p>>2]=(a[c[s>>2]>>0]|0)==0&1;uO(c[u>>2]|0,c[t>>2]|0,o);if(c[o>>2]|0){c[r>>2]=c[o>>2];v=c[r>>2]|0;l=w;return v|0}c[(c[u>>2]|0)+4>>2]=0;c[o>>2]=zO(m,c[s>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[o>>2]|0)==0?(c[m>>2]|0)!=0:0))break;if(!(c[(c[u>>2]|0)+4>>2]|0)){c[q>>2]=AO(c[m+24>>2]|0,c[m+24+4>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;if((c[q>>2]|0)>=0?!((c[p>>2]|0)==0&(c[q>>2]|0)==0):0){h=m+16|0;BO(c[u>>2]|0,a[c[s>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=m+16|0;t=c[h+4>>2]|0;v=c[k>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=t;v=9}}else v=9;if((v|0)==9?(v=0,c[o>>2]=CO(c[u>>2]|0,n,c[m+24>>2]|0,c[m+24+4>>2]|0,c[m+36>>2]|0,c[m+40>>2]|0)|0,c[o>>2]|0):0)break;c[o>>2]=DO(m)|0}if(!(c[(c[u>>2]|0)+4>>2]|0)){t=m+16|0;BO(c[u>>2]|0,a[c[s>>2]>>0]|0,c[t>>2]|0,c[t+4>>2]|0);t=m+16|0;u=c[t+4>>2]|0;v=c[k>>2]|0;c[v>>2]=c[t>>2];c[v+4>>2]=u}EO(m);_d(c[n>>2]|0);c[r>>2]=c[o>>2];v=c[r>>2]|0;l=w;return v|0}function zO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+8|0;f=i+4|0;g=i;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;b=c[h>>2]|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];b=c[h>>2]|0;if(!(a[c[c[h>>2]>>2]>>0]|0)){f=1;g=b;g=g+8|0;c[g>>2]=f;h=c[h>>2]|0;h=DO(h)|0;l=i;return h|0}f=1+(bM((c[b>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;g=c[h>>2]|0;g=g+8|0;c[g>>2]=f;h=c[h>>2]|0;h=DO(h)|0;l=i;return h|0}function AO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;m=i+20|0;f=i+16|0;k=i+12|0;g=i+8|0;j=i+4|0;h=i;c[m>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[j>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=H_(c[m>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;l=i;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;l=i;return m|0}function BO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;g=i+12|0;j=i+8|0;h=i;c[g>>2]=b;c[j>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[j>>2];f=h;b=c[g>>2]|0;if(!((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)){h=1;j=b;j=j+4|0;c[j>>2]=h;l=i;return}h=1+(NL((c[b>>2]|0)+1|0,c[h>>2]|0,c[h+4>>2]|0)|0)|0;j=c[g>>2]|0;j=j+4|0;c[j>>2]=h;l=i;return}function CO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;h=t+24|0;i=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=0;c[m>>2]=(c[(c[r>>2]|0)+4>>2]|0)==0&1;uO(c[r>>2]|0,c[h>>2]|0,k);if(c[k>>2]|0){c[p>>2]=c[k>>2];s=c[p>>2]|0;l=t;return s|0}c[n>>2]=PL(c[c[r>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[s>>2]|0,c[h>>2]|0)|0;c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);h0(c[c[r>>2]>>2]|0,c[s>>2]|0,c[h>>2]|0)|0;c[(c[r>>2]|0)+4>>2]=c[h>>2];if(!(c[m>>2]|0)){g=c[n>>2]|0;g=NL((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,g,((g|0)<0)<<31>>31)|0;r=(c[q>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+g}g=c[o>>2]|0;g=NL((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,g,((g|0)<0)<<31>>31)|0;r=(c[q>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+g;h0((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,(c[s>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;s=(c[q>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+(c[o>>2]|0);if(c[i>>2]|0){r=c[j>>2]|0;r=NL((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,r,((r|0)<0)<<31>>31)|0;s=(c[q>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+r;h0((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,c[i>>2]|0,c[j>>2]|0)|0;s=(c[q>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+(c[j>>2]|0)}c[p>>2]=0;s=c[p>>2]|0;l=t;return s|0}function DO(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i+16|0;b=i+12|0;e=i+8|0;f=i+4|0;h=i;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;j=a;j=_$(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;c[a>>2]=j;c[a+4>>2]=D}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;j=c[h>>2]|0;l=i;return j|0}if(!(c[b>>2]|0)){a=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128|0)a=cM(a,e)|0;else{c[e>>2]=d[a>>0];a=1}j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+a}a=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128|0)a=cM(a,f)|0;else{c[f>>2]=d[a>>0];a=1}j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+a;uO((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){j=c[h>>2]|0;l=i;return j|0}h0((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+(c[f>>2]|0);j=(c[g>>2]|0)+16|0;if(!((c[j>>2]|0)==0&(c[j+4>>2]|0)==0)){j=c[h>>2]|0;l=i;return j|0}a=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128|0)a=cM(a,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[a>>0];a=1}j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+a;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);j=c[h>>2]|0;l=i;return j|0}function EO(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[(c[d>>2]|0)+24>>2]|0);l=b;return}function FO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;p=w+60|0;q=w+56|0;r=w+52|0;s=w+48|0;t=w+44|0;u=w+8|0;g=w+40|0;h=w;i=w+36|0;j=w+32|0;k=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;d=(c[r>>2]|0)+56|0;e=c[d+4>>2]|0;f=u;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[g>>2]=1;while(1){if((c[g>>2]|0)>=16){v=17;break}f=h;c[f>>2]=0;c[f+4>>2]=0;c[i>>2]=(c[r>>2]|0)+56+(c[g>>2]<<5);c[j>>2]=0;c[k>>2]=PL(c[(c[i>>2]|0)+8>>2]|0,c[(c[i>>2]|0)+8+4>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;c[m>>2]=(c[t>>2]|0)-(c[k>>2]|0);f=c[k>>2]|0;c[n>>2]=ML(f,((f|0)<0)<<31>>31)|0;f=c[m>>2]|0;f=ML(f,((f|0)<0)<<31>>31)|0;c[n>>2]=(c[n>>2]|0)+(f+(c[m>>2]|0));if((c[(c[i>>2]|0)+8+4>>2]|0)!=0?((c[(c[i>>2]|0)+20+4>>2]|0)+(c[n>>2]|0)|0)>(c[(c[q>>2]|0)+224>>2]|0):0){d=c[i>>2]|0;c[j>>2]=IL(c[q>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[(c[i>>2]|0)+20+4>>2]|0)|0;a[c[(c[i>>2]|0)+20>>2]>>0]=c[g>>2];d=(c[(c[i>>2]|0)+20>>2]|0)+1|0;v=u;v=_$(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;v=1+(NL(d,v,D)|0)|0;c[(c[i>>2]|0)+20+4>>2]=v;v=c[i>>2]|0;d=c[v+4>>2]|0;b=h;c[b>>2]=c[v>>2];c[b+4>>2]=d;b=c[i>>2]|0;d=b;d=_$(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[b>>2]=d;c[b+4>>2]=D;b=0;d=c[i>>2]|0;v=13}else{c[o>>2]=(c[i>>2]|0)+20;if((c[(c[o>>2]|0)+4>>2]|0)==0?(uO(c[o>>2]|0,c[(c[q>>2]|0)+224>>2]|0,j),(c[j>>2]|0)==0):0){a[c[c[o>>2]>>2]>>0]=c[g>>2];f=u;f=1+(NL((c[c[o>>2]>>2]|0)+1|0,c[f>>2]|0,c[f+4>>2]|0)|0)|0;c[(c[o>>2]|0)+4>>2]=f}uO(c[o>>2]|0,(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]|0)|0,j);uO((c[i>>2]|0)+8|0,c[t>>2]|0,j);if(!(c[j>>2]|0)){if(c[(c[i>>2]|0)+8+4>>2]|0){f=c[k>>2]|0;f=NL((c[c[o>>2]>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;v=(c[o>>2]|0)+4|0;c[v>>2]=(c[v>>2]|0)+f}d=c[m>>2]|0;d=NL((c[c[o>>2]>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;b=(c[o>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+d;h0((c[c[o>>2]>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0)|0,(c[s>>2]|0)+(c[k>>2]|0)|0,c[m>>2]|0)|0;b=(c[o>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);h0(c[(c[i>>2]|0)+8>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;b=c[t>>2]|0;d=c[i>>2]|0;v=13}}if((v|0)==13){v=0;c[d+8+4>>2]=b}f=h;if((c[j>>2]|0)!=0|(c[f>>2]|0)==0&(c[f+4>>2]|0)==0){v=15;break}d=h;e=c[d+4>>2]|0;f=u;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+1}if((v|0)==15){c[p>>2]=c[j>>2];v=c[p>>2]|0;l=w;return v|0}else if((v|0)==17){c[p>>2]=0;v=c[p>>2]|0;l=w;return v|0}return 0}function GO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+24|0;f=k;g=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[i>>2]=0;c[j>>2]=sL(c[m>>2]|0,34,i,0)|0;if(c[j>>2]|0){i=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=i;m=c[j>>2]|0;l=k;return m|0}m=f;qJ(c[i>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(Bs(c[i>>2]|0)|0))c[h>>2]=1;c[j>>2]=ys(c[i>>2]|0)|0;i=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=i;m=c[j>>2]|0;l=k;return m|0}function HO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;u=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;g=t+24|0;h=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[u>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=c[u>>2];c[s>>2]=0;c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;if(((c[o>>2]|0)>1?(Ai(c[c[p>>2]>>2]|0)|0)==5:0)?(Ai(c[(c[p>>2]|0)+((c[(c[r>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=IO(c[r>>2]|0,c[(c[p>>2]|0)+((c[(c[r>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}if((c[o>>2]|0)>1?(Qi(c[(c[p>>2]|0)+(2+(c[(c[r>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}c[i>>2]=pe((c[(c[r>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[i>>2]|0)){c[s>>2]=7;u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}c[h>>2]=(c[i>>2]|0)+((c[(c[r>>2]|0)+24>>2]|0)+1<<2);m0(c[i>>2]|0,0,(c[(c[r>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=JO(c[r>>2]|0)|0;if(c[s>>2]|0){u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}do if((c[o>>2]|0)>1?(c[(c[r>>2]|0)+40>>2]|0)==0:0){c[m>>2]=c[(c[p>>2]|0)+(3+(c[(c[r>>2]|0)+24>>2]|0)<<2)>>2];if((Ai(c[m>>2]|0)|0)==5)c[m>>2]=c[(c[p>>2]|0)+4>>2];if((Ai(c[m>>2]|0)|0)!=5){if((Ai(c[c[p>>2]>>2]|0)|0)!=5?(e=Fi(c[c[p>>2]>>2]|0)|0,u=D,f=Fi(c[m>>2]|0)|0,!((e|0)!=(f|0)|(u|0)!=(D|0))):0)break;u=(NJ(c[(c[r>>2]|0)+12>>2]|0)|0)==5;b=c[r>>2]|0;if(u){c[s>>2]=KO(b,c[m>>2]|0,j,c[i>>2]|0)|0;break}else{c[s>>2]=LO(b,c[p>>2]|0,c[q>>2]|0)|0;c[k>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}if((Ai(c[c[p>>2]>>2]|0)|0)!=5){c[s>>2]=KO(c[r>>2]|0,c[c[p>>2]>>2]|0,j,c[i>>2]|0)|0;c[g>>2]=1}if((c[o>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=Qi(c[(c[p>>2]|0)+(2+(c[(c[r>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[k>>2]|0)==0?(c[s>>2]=LO(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[r>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if(c[g>>2]|0?(o=c[q>>2]|0,u=(c[r>>2]|0)+264|0,!((c[o>>2]|0)!=(c[u>>2]|0)?1:(c[o+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[q>>2]|0;c[s>>2]=MO(c[r>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=NO(c[r>>2]|0,c[n>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;if(a[(c[r>>2]|0)+230>>0]|0)OO(s,c[r>>2]|0,c[h>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(!(a[(c[r>>2]|0)+228>>0]|0)){u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}PO(s,c[r>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}function IO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;k=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[k>>2]=b;c[g>>2]=Rh(c[k>>2]|0)|0;c[h>>2]=Sh(c[k>>2]|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;k=c[d>>2]|0;l=j;return k|0}if((c[h>>2]|0)==8?0==(ld(c[g>>2]|0,42637,8)|0):0)c[f>>2]=VN(c[e>>2]|0,0)|0;else i=6;do if((i|0)==6){if((c[h>>2]|0)==7?0==(ld(c[g>>2]|0,45620,7)|0):0){c[f>>2]=ZO(c[e>>2]|0)|0;break}if((c[h>>2]|0)==15?0==(ld(c[g>>2]|0,45628,15)|0):0){c[f>>2]=_O(c[e>>2]|0)|0;break}if((c[h>>2]|0)>6?0==(ld(c[g>>2]|0,45644,6)|0):0){c[f>>2]=$O(c[e>>2]|0,(c[g>>2]|0)+6|0)|0;break}if((c[h>>2]|0)>10?0==(ld(c[g>>2]|0,45651,10)|0):0){c[f>>2]=aP(c[e>>2]|0,(c[g>>2]|0)+10|0)|0;break}c[f>>2]=1}while(0);c[d>>2]=c[f>>2];k=c[d>>2]|0;l=j;return k|0}function JO(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[d>>2]=sL(c[b>>2]|0,16,e,0)|0,(c[d>>2]|0)==0):0){rJ(c[e>>2]|0,1)|0;Bs(c[e>>2]|0)|0;c[d>>2]=ys(c[e>>2]|0)|0}l=f;return c[d>>2]|0}function KO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;g=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;UO(m,c[h>>2]|0,c[i>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;l=n;return o|0}c[g>>2]=0;c[m>>2]=VO(c[h>>2]|0,c[i>>2]|0,g)|0;if(c[m>>2]|0){o=c[m>>2]|0;l=n;return o|0}if(c[g>>2]|0){c[m>>2]=WO(c[h>>2]|0,1)|0;c[c[j>>2]>>2]=0;m0(c[k>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;l=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[h>>2]|0)+40>>2]|0))XO(m,c[h>>2]|0,0,i);if(!(a[(c[h>>2]|0)+230>>0]|0)){o=c[m>>2]|0;l=n;return o|0}XO(m,c[h>>2]|0,19,i);o=c[m>>2]|0;l=n;return o|0}function LO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+3<<2)>>2];if((Ai(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((Ai(c[k>>2]|0)|0)!=1){c[e>>2]=19;k=c[e>>2]|0;l=m;return k|0}else{j=Fi(c[k>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=D;c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}}c[i>>2]=sL(c[f>>2]|0,18,j,(c[g>>2]|0)+4|0)|0;if((c[i>>2]|0)==0?c[(c[f>>2]|0)+44>>2]|0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[i>>2]=pJ(d,k,Qi(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[i>>2]|0){c[e>>2]=c[i>>2];k=c[e>>2]|0;l=m;return k|0}if(5!=(Ai(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(Ai(c[c[g>>2]>>2]|0)|0)?5!=(Ai(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;k=c[e>>2]|0;l=m;return k|0}c[i>>2]=tJ(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[i>>2]|0){c[e>>2]=c[i>>2];k=c[e>>2]|0;l=m;return k|0}}Bs(c[j>>2]|0)|0;c[i>>2]=ys(c[j>>2]|0)|0;j=cj(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=D;c[e>>2]=c[i>>2];k=c[e>>2]|0;l=m;return k|0}function MO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o;g=o+8|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;b=m;c[b>>2]=e;c[b+4>>2]=f;e=m;b=c[e+4>>2]|0;f=(c[i>>2]|0)+264|0;d=c[f+4>>2]|0;do if(!((b|0)<(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0))){e=m;f=(c[i>>2]|0)+264|0;if(((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)?(c[(c[i>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[i>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[i>>2]|0)+260>>2]|0)<=(c[(c[i>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[g>>2]=pL(c[i>>2]|0)|0,c[g>>2]|0):0){c[h>>2]=c[g>>2];n=c[h>>2]|0;l=o;return n|0}f=m;m=c[f+4>>2]|0;n=(c[i>>2]|0)+264|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;c[(c[i>>2]|0)+272>>2]=c[k>>2];c[(c[i>>2]|0)+276>>2]=c[j>>2];c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0} +function lG(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+64|0;v=z+56|0;w=z+52|0;A=z+63|0;o=z+48|0;p=z+44|0;x=z+40|0;y=z+36|0;q=z+32|0;t=z+28|0;u=z+24|0;h=z+60|0;r=z+20|0;s=z+62|0;i=z+16|0;j=z+12|0;k=z+8|0;m=z+4|0;n=z;c[w>>2]=f;a[A>>0]=g;c[o>>2]=c[c[w>>2]>>2];c[p>>2]=c[(c[o>>2]|0)+4>>2];c[r>>2]=0;a[s>>0]=d[A>>0]&2;c[u>>2]=a[(c[w>>2]|0)+68>>0];c[t>>2]=e[(c[w>>2]|0)+80+(c[u>>2]<<1)>>1];c[y>>2]=c[(c[w>>2]|0)+120+(c[u>>2]<<2)>>2];c[q>>2]=(c[(c[y>>2]|0)+56>>2]|0)+(e[(c[y>>2]|0)+20>>1]&(d[(c[(c[y>>2]|0)+64>>2]|0)+(c[t>>2]<<1)>>0]<<8|d[(c[(c[y>>2]|0)+64>>2]|0)+(c[t>>2]<<1)+1>>0]));do if(a[s>>0]|0){if(a[(c[y>>2]|0)+4>>0]|0?(A=e[(c[y>>2]|0)+16>>1]|0,A=A+((sp(c[y>>2]|0,c[q>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[p>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[r>>2]=1;break}c[x>>2]=vq(c[w>>2]|0)|0;if(c[x>>2]|0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}}while(0);if((a[(c[y>>2]|0)+4>>0]|0)==0?(c[i>>2]=0,c[x>>2]=QD(c[w>>2]|0,i)|0,c[x>>2]|0):0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}if(d[(c[w>>2]|0)+64>>0]&32|0?(c[x>>2]=_p(c[p>>2]|0,c[(c[w>>2]|0)+52>>2]|0,c[w>>2]|0)|0,c[x>>2]|0):0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}if(!(c[(c[w>>2]|0)+72>>2]|0)){A=(c[w>>2]|0)+16|0;tH(c[o>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}c[x>>2]=Jn(c[(c[y>>2]|0)+72>>2]|0)|0;if(c[x>>2]|0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}c[x>>2]=vH(c[y>>2]|0,c[q>>2]|0,h)|0;wI(c[y>>2]|0,c[t>>2]|0,e[h>>1]|0,x);if(c[x>>2]|0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}if(!(a[(c[y>>2]|0)+4>>0]|0)){c[j>>2]=c[(c[w>>2]|0)+120+(a[(c[w>>2]|0)+68>>0]<<2)>>2];c[m>>2]=c[(c[(c[w>>2]|0)+120+((c[u>>2]|0)+1<<2)>>2]|0)+84>>2];c[q>>2]=(c[(c[j>>2]|0)+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+((e[(c[j>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+((e[(c[j>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[q>>2]|0)>>>0<((c[(c[j>>2]|0)+56>>2]|0)+4|0)>>>0){c[v>>2]=kn(66449)|0;A=c[v>>2]|0;l=z;return A|0}c[k>>2]=(Mb[c[(c[j>>2]|0)+76>>2]&255](c[j>>2]|0,c[q>>2]|0)|0)&65535;c[n>>2]=c[(c[p>>2]|0)+80>>2];c[x>>2]=Jn(c[(c[j>>2]|0)+72>>2]|0)|0;if(!(c[x>>2]|0))xI(c[y>>2]|0,c[t>>2]|0,(c[q>>2]|0)+-4|0,(c[k>>2]|0)+4|0,c[n>>2]|0,c[m>>2]|0,x);wI(c[j>>2]|0,(e[(c[j>>2]|0)+18>>1]|0)-1|0,c[k>>2]|0,x);if(c[x>>2]|0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}}c[x>>2]=yI(c[w>>2]|0)|0;if((c[x>>2]|0)==0?(a[(c[w>>2]|0)+68>>0]|0)>(c[u>>2]|0):0){while(1){f=c[w>>2]|0;if((a[(c[w>>2]|0)+68>>0]|0)<=(c[u>>2]|0))break;q=(c[w>>2]|0)+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;cq(c[f+120+(A<<24>>24<<2)>>2]|0)}c[x>>2]=yI(f)|0}do if(!(c[x>>2]|0)){f=c[w>>2]|0;if(!(c[r>>2]|0)){c[x>>2]=aE(f)|0;if(!(a[s>>0]|0))break;a[(c[w>>2]|0)+66>>0]=3;break}a[f+66>>0]=2;f=(c[w>>2]|0)+60|0;if((c[t>>2]|0)>=(e[(c[y>>2]|0)+18>>1]|0)){c[f>>2]=-1;b[(c[w>>2]|0)+80+(c[u>>2]<<1)>>1]=(e[(c[y>>2]|0)+18>>1]|0)-1;break}else{c[f>>2]=1;break}}while(0);c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}function mG(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;p=s+44|0;t=s+40|0;q=s+36|0;m=s+32|0;r=s+28|0;n=s+24|0;o=s+20|0;h=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;c[t>>2]=a;c[q>>2]=d;c[m>>2]=f;c[r>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[o>>2]=c[(c[n>>2]|0)+32>>2];c[h>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[o>>2]|0)){t=YD(c[h>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[o>>2]=t;if(c[o>>2]|0){b[(c[o>>2]|0)+8>>1]=c[m>>2];break}c[p>>2]=7;t=c[p>>2]|0;l=s;return t|0}while(0);c[j>>2]=vI(c[n>>2]|0,k)|0;ZD(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,c[o>>2]|0);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[m>>2]|0)){a=10;break}if((e[(c[(c[o>>2]|0)+4>>2]|0)+((c[i>>2]|0)*40|0)+8>>1]|0)&1|0){a=8;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==8){c[c[r>>2]>>2]=-1;c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}else if((a|0)==10){t=dE(c[(c[q>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[o>>2]|0)|0;c[c[r>>2]>>2]=t;c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}return 0}function nG(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;f=j+20|0;m=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[m>>2]=a;c[g>>2]=d;c[k>>2]=c[(c[m>>2]|0)+16>>2];c[h>>2]=vI(c[k>>2]|0,i)|0;if(di(c[g>>2]|0,c[i>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;l=j;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[i>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;h0(c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;l=j;return m|0}return 0}function oG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;l=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=SD(c[h>>2]|0)|0;else a=0;c[m>>2]=a;if(!(c[m>>2]|0))c[m>>2]=zq(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;l=n;return m|0}function pG(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if(sI(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=tI(c[d>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}return 0}function qG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;f=i+16|0;j=i+12|0;e=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[j>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0|0){c[h>>2]=EH(b)|0;c[h>>2]=qs(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[h>>2]|0)){c[h>>2]=eI(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];j=c[f>>2]|0;l=i;return j|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=KH((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];j=c[f>>2]|0;l=i;return j|0}function rG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=aE(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){a=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[a>>2]=1;break}else{c[a>>2]=0;c[g>>2]=mE(c[f>>2]|0)|0;break}}while(0);l=h;return c[g>>2]|0}function sG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+20|0;m=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[m>>2]=d;c[h>>2]=e;c[i>>2]=c[(c[m>>2]|0)+16>>2];d=c[i>>2]|0;if(!(a[(c[i>>2]|0)+56>>0]|0)){c[g>>2]=c[d+36>>2];c[(c[i>>2]|0)+36>>2]=c[(c[g>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=0;if(!(c[(c[i>>2]|0)+36+4>>2]|0))us(c[f>>2]|0,c[g>>2]|0);c[c[h>>2]>>2]=((c[(c[i>>2]|0)+36>>2]|0)!=0^1)&1;c[j>>2]=0;m=c[j>>2]|0;l=k;return m|0}b=c[i>>2]|0;if(a[d+57>>0]|0){c[j>>2]=WH(c[b+16>>2]|0)|0;c[c[h>>2]>>2]=(c[(c[(c[i>>2]|0)+16>>2]|0)+24>>2]|0)==0&1;m=c[j>>2]|0;l=k;return m|0}else{c[j>>2]=XH(c[b+20>>2]|0,c[h>>2]|0)|0;m=c[j>>2]|0;l=k;return m|0}return 0}function tG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;n=t+52|0;u=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;h=t+28|0;s=t+24|0;g=t+20|0;f=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[u>>2]=b;c[o>>2]=e;c[q>>2]=0;c[p>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[o>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[o>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else fE(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[p>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?c[f>>2]&1|0:0){u=(c[p>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[p>>2]|0)+60>>0]=0}while(0);c[s>>2]=(c[(c[o>>2]|0)+12>>2]|0)+8;f=c[(c[o>>2]|0)+12>>2]|0;u=c[(c[o>>2]|0)+12>>2]|0;c[g>>2]=f+(jE(u,((u|0)<0)<<31>>31)|0);if(c[(c[p>>2]|0)+4>>2]|0){b=c[p>>2]|0;if(c[(c[p>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[p>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0)>(c[(c[p>>2]|0)+4>>2]|0);else b=0;c[h>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[p>>2]|0)+4>>2]|0))if((c[(c[p>>2]|0)+36+8>>2]|0)>(c[c[p>>2]>>2]|0))b=(Yg()|0)!=0;else b=0;else b=1;c[h>>2]=b&1}if(c[h>>2]|0){c[q>>2]=EH(c[p>>2]|0)|0;c[(c[p>>2]|0)+36+8>>2]=0;c[(c[p>>2]|0)+48>>2]=0}}u=(c[p>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[g>>2]|0);if((c[g>>2]|0)>(c[(c[p>>2]|0)+8>>2]|0))c[(c[p>>2]|0)+8>>2]=c[g>>2];do if(c[(c[p>>2]|0)+36+4>>2]|0){c[i>>2]=(c[(c[p>>2]|0)+48>>2]|0)+(c[s>>2]|0);do if((c[i>>2]|0)>(c[(c[p>>2]|0)+52>>2]|0)){c[k>>2]=(c[(c[p>>2]|0)+36>>2]|0)-(c[(c[p>>2]|0)+36+4>>2]|0);c[m>>2]=c[(c[p>>2]|0)+52>>2]<<1;while(1){b=c[m>>2]|0;if((c[m>>2]|0)>=(c[i>>2]|0))break;c[m>>2]=b<<1}if((b|0)>(c[(c[p>>2]|0)+4>>2]|0))c[m>>2]=c[(c[p>>2]|0)+4>>2];if((c[m>>2]|0)<(c[i>>2]|0))c[m>>2]=c[i>>2];u=c[m>>2]|0;c[j>>2]=ge(c[(c[p>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[j>>2]|0){c[(c[p>>2]|0)+36>>2]=(c[j>>2]|0)+(c[k>>2]|0);c[(c[p>>2]|0)+36+4>>2]=c[j>>2];c[(c[p>>2]|0)+52>>2]=c[m>>2];break}c[n>>2]=7;u=c[n>>2]|0;l=t;return u|0}while(0);c[r>>2]=(c[(c[p>>2]|0)+36+4>>2]|0)+(c[(c[p>>2]|0)+48>>2]|0);u=(c[p>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[s>>2]|0)+7&-8);if(c[(c[p>>2]|0)+36>>2]|0)c[(c[r>>2]|0)+4>>2]=(c[(c[p>>2]|0)+36>>2]|0)-(c[(c[p>>2]|0)+36+4>>2]|0)}else{u=c[s>>2]|0;c[r>>2]=Fd(u,((u|0)<0)<<31>>31)|0;if(c[r>>2]|0){c[(c[r>>2]|0)+4>>2]=c[(c[p>>2]|0)+36>>2];break}c[n>>2]=7;u=c[n>>2]|0;l=t;return u|0}while(0);h0((c[r>>2]|0)+8|0,c[(c[o>>2]|0)+16>>2]|0,c[(c[o>>2]|0)+12>>2]|0)|0;c[c[r>>2]>>2]=c[(c[o>>2]|0)+12>>2];c[(c[p>>2]|0)+36>>2]=c[r>>2];c[n>>2]=c[q>>2];u=c[n>>2]|0;l=t;return u|0}function uG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+128|0;k=o+116|0;r=o+112|0;q=o+108|0;m=o+104|0;p=o+80|0;f=o+100|0;n=o+96|0;g=o+92|0;h=o+88|0;i=o+40|0;j=o;c[r>>2]=a;c[q>>2]=b;c[m>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;e=p;c[e>>2]=xq(c[q>>2]|0)|0;c[e+4>>2]=0;jj(i,c[r>>2]|0,0);c[f>>2]=XF(c[q>>2]|0,0,c[p>>2]|0,1,i)|0;if(c[f>>2]|0){c[k>>2]=c[f>>2];r=c[k>>2]|0;l=o;return r|0}a=c[i+16>>2]|0;if((d[c[i+16>>2]>>0]|0|0)<128)c[n>>2]=d[a>>0];else fE(a,n)|0;if((c[n>>2]|0)>>>0>=3?(c[n>>2]|0)<=(c[i+12>>2]|0):0){a=(c[i+16>>2]|0)+((c[n>>2]|0)-1)|0;if((d[(c[i+16>>2]|0)+((c[n>>2]|0)-1)>>0]|0|0)<128)c[g>>2]=d[a>>0];else fE(a,g)|0;if(!((c[g>>2]|0)>>>0<1|(c[g>>2]|0)>>>0>9|(c[g>>2]|0)==7)?(c[h>>2]=d[34519+(c[g>>2]|0)>>0],(c[i+12>>2]|0)>>>0>=((c[n>>2]|0)+(c[h>>2]|0)|0)>>>0):0){hE((c[i+16>>2]|0)+((c[i+12>>2]|0)-(c[h>>2]|0))|0,c[g>>2]|0,j)|0;p=j;q=c[p+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;ei(i);c[k>>2]=0;r=c[k>>2]|0;l=o;return r|0}}ei(i);c[k>>2]=kn(74890)|0;r=c[k>>2]|0;l=o;return r|0}function vG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+80|0;i=o+72|0;j=o+68|0;p=o+64|0;k=o+60|0;m=o+56|0;n=o+40|0;f=o+52|0;g=o+48|0;h=o;c[j>>2]=a;c[p>>2]=b;c[k>>2]=d;c[m>>2]=e;b=n;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=c[(c[p>>2]|0)+16>>2];b=n;c[b>>2]=xq(c[g>>2]|0)|0;c[b+4>>2]=0;b=n;a=c[b+4>>2]|0;e=n;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[m>>2]>>2]=0;c[i>>2]=kn(74923)|0;p=c[i>>2]|0;l=o;return p|0}jj(h,c[j>>2]|0,0);c[f>>2]=XF(c[g>>2]|0,0,c[n>>2]|0,1,h)|0;if(c[f>>2]|0){c[i>>2]=c[f>>2];p=c[i>>2]|0;l=o;return p|0}else{p=dE(c[h+12>>2]|0,c[h+16>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=p;ei(h);c[i>>2]=0;p=c[i>>2]|0;l=o;return p|0}return 0}function wG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;i=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[i>>2]=b;c[h>>2]=d;el(c[g>>2]|0);c[e>>2]=DH(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;bl(c[g>>2]|0);l=f;return c[e>>2]|0}function xG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;p=n+32|0;o=n+28|0;i=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;f=n+8|0;g=n+4|0;h=n;c[p>>2]=a;c[o>>2]=b;c[i>>2]=d;c[j>>2]=e;c[f>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+8;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;c[g>>2]=c[(c[k>>2]|0)+8>>2];if((c[(c[g>>2]|0)+28>>2]|0)==(c[i>>2]|0))c[(c[g>>2]|0)+28>>2]=c[j>>2];c[k>>2]=c[c[k>>2]>>2]}c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+24;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=c[(c[k>>2]|0)+8>>2];if((c[(c[h>>2]|0)+44>>2]|0)==(c[i>>2]|0))c[(c[h>>2]|0)+44>>2]=c[j>>2];c[k>>2]=c[c[k>>2]>>2]}l=n;return}function yG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=c[(c[e>>2]|0)+4>>2];el(c[e>>2]|0);c[h>>2]=_p(c[i>>2]|0,c[f>>2]|0,0)|0;if(c[h>>2]|0){i=c[e>>2]|0;bl(i);i=c[h>>2]|0;l=j;return i|0}tH(c[e>>2]|0,0,0,1);c[h>>2]=uH(c[i>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;i=c[e>>2]|0;bl(i);i=c[h>>2]|0;l=j;return i|0}function zG(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=yG(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;l=b;return a|0}function AG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;f=e+16|0;j=e+12|0;h=e+8|0;g=e+4|0;i=e;c[f>>2]=a;c[j>>2]=b;c[h>>2]=d;c[i>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[g>>2]=Fk((c[(c[i>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;tk(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;l=e;return}function BG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;e=h+20|0;k=h+16|0;i=h+12|0;f=h+8|0;j=h+4|0;g=h;c[e>>2]=a;c[k>>2]=b;c[i>>2]=d;c[j>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+24;c[f>>2]=Fk(c[j>>2]|0,c[i>>2]|0,0)|0;if(!(c[f>>2]|0)){k=c[e>>2]|0;k=k+24|0;j=c[k>>2]|0;j=j|2;c[k>>2]=j;l=h;return}a=c[f>>2]|0;if((c[(c[(c[f>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[f>>2]|0)){c[g>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[g>>2]|0)b=(c[(c[g>>2]|0)+20>>2]|0)!=(c[f>>2]|0);else b=0;a=c[g>>2]|0;if(!b)break;c[g>>2]=c[a+20>>2]}if(a|0?(c[(c[g>>2]|0)+20>>2]|0)==(c[f>>2]|0):0)c[(c[g>>2]|0)+20>>2]=c[(c[f>>2]|0)+20>>2]}else c[(c[(c[f>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];Gk(c[e>>2]|0,c[f>>2]|0);k=c[e>>2]|0;k=k+24|0;j=c[k>>2]|0;j=j|2;c[k>>2]=j;l=h;return}function CG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;f=i+24|0;m=i+20|0;j=i+16|0;g=i+12|0;k=i+8|0;e=i+4|0;h=i;c[f>>2]=a;c[m>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Fk(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=i;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=$z(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}sk(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;l=i;return}function DG(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+240|0;t=u+16|0;s=u+8|0;o=u+124|0;p=u+120|0;q=u+116|0;v=u+112|0;r=u+108|0;i=u+104|0;j=u+32|0;k=u+24|0;m=u+20|0;n=u;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[v>>2]=g;c[r>>2]=h;c[k>>2]=c[(c[o>>2]|0)+4>>2];c[m>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+24>>2];el(c[o>>2]|0);c[j>>2]=c[k>>2];c[j+4>>2]=c[c[k>>2]>>2];c[j+12>>2]=Rn(c[j>>2]|0)|0;c[j+16>>2]=c[v>>2];c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[j+32>>2]=0;c[j+36>>2]=0;c[j+8>>2]=0;c[j+68>>2]=0;zd(j+40|0,0,u+128|0,100,1e9);a[j+40+25>>0]=1;a:do if(c[j+12>>2]|0){c[j+8>>2]=Xg((((c[j+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[j+8>>2]|0)){c[j+24>>2]=1;break}c[j+68>>2]=yl(c[(c[k>>2]|0)+32>>2]|0)|0;if(!(c[j+68>>2]|0)){c[j+24>>2]=1;break}c[i>>2]=(((c[482]|0)>>>0)/((c[(c[k>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[i>>2]|0)>>>0<=(c[j+12>>2]|0)>>>0)kH(j,c[i>>2]|0);c[j+28>>2]=39948;v=Vl((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;lH(j,1,v,Vl((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[j+28>>2]=0;v=(c[(c[k>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-536870913;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[q>>2]|0))break;if(!(c[j+16>>2]|0))break;if(c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0){if(d[(c[k>>2]|0)+17>>0]|0?(c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0)>1:0)mH(j,c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0,1,0);nH(j,c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[i>>2]=(c[i>>2]|0)+1}c[(c[(c[k>>2]|0)+4>>2]|0)+24>>2]=c[m>>2];c[i>>2]=1;while(1){if((c[i>>2]|0)>>>0>(c[j+12>>2]|0)>>>0)break a;if(!(c[j+16>>2]|0))break a;do if(!(oH(j,c[i>>2]|0)|0)){v=Yp(c[k>>2]|0,c[i>>2]|0)|0;if((v|0)==(c[i>>2]|0)?a[(c[k>>2]|0)+17>>0]|0:0)break;c[s>>2]=c[i>>2];pH(j,39964,s)}while(0);if((oH(j,c[i>>2]|0)|0?(v=Yp(c[k>>2]|0,c[i>>2]|0)|0,(v|0)==(c[i>>2]|0)):0)?d[(c[k>>2]|0)+17>>0]|0:0){c[t>>2]=c[i>>2];pH(j,39986,t)}c[i>>2]=(c[i>>2]|0)+1}}while(0);Bl(c[j+68>>2]|0);_d(c[j+8>>2]|0);if(c[j+24>>2]|0){ce(j+40|0);v=j+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[r>>2]>>2]=c[j+20>>2];if(c[j+20>>2]|0){v=c[o>>2]|0;bl(v);v=j+40|0;v=Bd(v)|0;l=u;return v|0}ce(j+40|0);v=c[o>>2]|0;bl(v);v=j+40|0;v=Bd(v)|0;l=u;return v|0}function EG(d){d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];ei(c[e>>2]|0);d=Ed(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+69>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;l=g;return}else{d=ae(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;f=jH(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=f;b[(c[e>>2]|0)+8>>1]=32;l=g;return}}function FG(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k;i=k+12|0;j=k+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[i>>2]=hH(c[g>>2]|0)|0;if(!(c[i>>2]|0)){l=k;return}a=h;d=c[a+4>>2]|0;f=c[i>>2]|0;c[f>>2]=c[a>>2];c[f+4>>2]=d;c[(c[i>>2]|0)+8>>2]=0;c[j>>2]=c[(c[g>>2]|0)+12>>2];if(c[j>>2]|0){f=h;a=c[f+4>>2]|0;h=c[j>>2]|0;d=c[h+4>>2]|0;if((a|0)<(d|0)|((a|0)==(d|0)?(c[f>>2]|0)>>>0<=(c[h>>2]|0)>>>0:0)){h=(c[g>>2]|0)+26|0;b[h>>1]=(e[h>>1]|0)&-2}c[(c[j>>2]|0)+8>>2]=c[i>>2]}else c[(c[g>>2]|0)+8>>2]=c[i>>2];c[(c[g>>2]|0)+12>>2]=c[i>>2];l=k;return}function GG(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=a;c[h>>2]=d;if(!((e[(c[g>>2]|0)+26>>1]|0)&2)){if(!((e[(c[g>>2]|0)+26>>1]|0)&1)){d=dH(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=d}d=(c[g>>2]|0)+26|0;b[d>>1]=e[d>>1]|0|3}if(!(c[(c[g>>2]|0)+8>>2]|0)){c[f>>2]=0;h=c[f>>2]|0;l=i;return h|0}a=c[(c[g>>2]|0)+8>>2]|0;d=c[a+4>>2]|0;h=c[h>>2]|0;c[h>>2]=c[a>>2];c[h+4>>2]=d;c[(c[g>>2]|0)+8>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[g>>2]|0)+8>>2]|0))bi(c[g>>2]|0);c[f>>2]=1;h=c[f>>2]|0;l=i;return h|0}function HG(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;o=s+36|0;k=s+32|0;m=s+28|0;p=s;q=s+24|0;r=s+20|0;h=s+16|0;i=s+12|0;j=s+8|0;c[k>>2]=a;c[m>>2]=d;d=p;c[d>>2]=f;c[d+4>>2]=g;if((c[m>>2]|0)!=(c[(c[k>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[k>>2]|0)+8>>2];if(c[q>>2]|0){c[h>>2]=(c[k>>2]|0)+20;if(!((e[(c[k>>2]|0)+26>>1]|0)&1))c[q>>2]=dH(c[q>>2]|0)|0;c[r>>2]=c[(c[k>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[h>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}fH(c[(c[r>>2]|0)+12>>2]|0,i,j);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=gH(c[i>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=eH(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=hH(c[k>>2]|0)|0,c[r>>2]=n,c[c[h>>2]>>2]=n,c[r>>2]|0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=eH(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[k>>2]|0)+8>>2]=0;c[(c[k>>2]|0)+12>>2]=0;n=(c[k>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[k>>2]|0)+28>>2]=c[m>>2]}c[r>>2]=c[(c[k>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;g=c[m+4>>2]|0;n=p;k=c[n+4>>2]|0;a=c[q>>2]|0;if((g|0)<(k|0)|((g|0)==(k|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[a+8>>2];continue}m=a;g=c[m+4>>2]|0;n=p;k=c[n+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;l=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;l=s;return r|0}return 0}function IG(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;e=c[b>>2]|0;l=f;return e|0}if(c[c[(c[e>>2]|0)+68>>2]>>2]|0?(e=(c[e>>2]|0)+80|0,a=c[e+4>>2]|0,(a|0)>0|(a|0)==0&(c[e>>2]|0)>>>0>0):0){c[b>>2]=0;e=c[b>>2]|0;l=f;return e|0}c[b>>2]=1;e=c[b>>2]|0;l=f;return e|0}function JG(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[e>>2]|0)+216>>2]|0)){c[g>>2]=0;c[f>>2]=gp(c[e>>2]|0,1)|0;if(!(c[f>>2]|0))c[f>>2]=Sm(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+220>>2]|0,0,g)|0;if((c[f>>2]|0)==0&(c[g>>2]|0)!=0)c[f>>2]=er(c[e>>2]|0)|0}if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}if(!(c[(c[e>>2]|0)+216>>2]|0)){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=fr(c[e>>2]|0)|0;if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=am(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[(c[e>>2]|0)+208>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Cl(c[e>>2]|0);if(!(c[f>>2]|0)){g=c[f>>2]|0;l=h;return g|0}if(a[(c[e>>2]|0)+4>>0]|0){g=c[f>>2]|0;l=h;return g|0}ym(c[e>>2]|0,1)|0;g=c[f>>2]|0;l=h;return g|0}function KG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+12|0;g=k+8|0;h=k+16|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if(a[(c[f>>2]|0)+16>>0]|0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){fm(c[(c[f>>2]|0)+68>>2]|0);if((d[(c[f>>2]|0)+18>>0]|0)>=2){om(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[i>>2]=0;c[j>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[j>>2]|0))c[i>>2]=br(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[i>>2]=gp(c[f>>2]|0,2)|0;if(!(c[i>>2]|0))om(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[i>>2]|0)==0&(c[j>>2]|0)==1){ym(c[f>>2]|0,1)|0;break}if(c[j>>2]|0)break;bm(c[f>>2]|0);break}if((c[g>>2]|0)==2)fm(c[(c[f>>2]|0)+68>>2]|0)}while(0);l=k;return d[(c[f>>2]|0)+5>>0]|0}function LG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+112|0;p=D+24|0;o=D+16|0;n=D+8|0;m=D;y=D+92|0;k=D+88|0;z=D+84|0;h=D+80|0;A=D+76|0;B=D+72|0;C=D+68|0;q=D+64|0;r=D+60|0;s=D+56|0;t=D+96|0;u=D+52|0;g=D+48|0;v=D+44|0;i=D+40|0;j=D+36|0;w=D+32|0;x=D+28|0;c[k>>2]=b;c[z>>2]=e;c[h>>2]=f;c[A>>2]=0;c[u>>2]=0;if(!(a[(c[z>>2]|0)+67>>0]|0)){ov(c[k>>2]|0,c[z>>2]|0,39372);c[y>>2]=1;C=c[y>>2]|0;l=D;return C|0}if((c[(c[z>>2]|0)+156>>2]|0)>1){ov(c[k>>2]|0,c[z>>2]|0,39412);c[y>>2]=1;C=c[y>>2]|0;l=D;return C|0}c[q>>2]=c[(c[z>>2]|0)+24>>2];c[r>>2]=c[(c[z>>2]|0)+88>>2];c[s>>2]=c[(c[z>>2]|0)+92>>2];a[t>>0]=a[(c[z>>2]|0)+76>>0]|0;f=(c[z>>2]|0)+24|0;c[f>>2]=c[f>>2]|270542848;f=(c[z>>2]|0)+24|0;c[f>>2]=c[f>>2]&-655489;a[(c[z>>2]|0)+76>>0]=0;c[j>>2]=c[(c[(c[z>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[B>>2]=c[(c[(c[z>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];c[g>>2]=In(qk(c[B>>2]|0)|0)|0;c[i>>2]=c[(c[z>>2]|0)+20>>2];c[A>>2]=ZG(c[z>>2]|0,c[k>>2]|0,39455)|0;a:do if(((c[A>>2]|0)==0?(c[u>>2]=(c[(c[z>>2]|0)+16>>2]|0)+(c[i>>2]<<4),c[C>>2]=c[(c[u>>2]|0)+4>>2],Ws(c[C>>2]|0)|0,c[v>>2]=_G(c[B>>2]|0)|0,pv(c[C>>2]|0,c[(c[(c[(c[z>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+80>>2]|0)|0,h=c[C>>2]|0,uA(h,uA(c[B>>2]|0,0)|0)|0,Wz(c[C>>2]|0,33)|0,c[A>>2]=ZG(c[z>>2]|0,c[k>>2]|0,36964)|0,(c[A>>2]|0)==0):0)?(c[A>>2]=Gp(c[B>>2]|0,2)|0,(c[A>>2]|0)==0):0){if((Jp(qk(c[B>>2]|0)|0)|0)==5)c[(c[z>>2]|0)+80>>2]=0;f=c[C>>2]|0;h=Hn(c[B>>2]|0)|0;do if(!(tl(f,h,c[v>>2]|0,0)|0)){if((c[g>>2]|0)==0?tl(c[C>>2]|0,c[(c[z>>2]|0)+80>>2]|0,c[v>>2]|0,0)|0:0)break;if(!(d[(c[z>>2]|0)+69>>0]|0)){b=c[C>>2]|0;if((a[(c[z>>2]|0)+72>>0]|0)>=0)e=a[(c[z>>2]|0)+72>>0]|0;else e=rA(c[B>>2]|0)|0;tA(b,e)|0;a[(c[z>>2]|0)+148+4>>0]=c[i>>2];h=c[z>>2]|0;i=c[k>>2]|0;c[m>>2]=c[j>>2];c[A>>2]=$G(h,i,39476,m)|0;if(c[A>>2]|0)break a;i=c[z>>2]|0;m=c[k>>2]|0;c[n>>2]=c[j>>2];c[A>>2]=$G(i,m,39584,n)|0;if(c[A>>2]|0)break a;a[(c[z>>2]|0)+148+4>>0]=0;m=c[z>>2]|0;n=c[k>>2]|0;c[o>>2]=c[j>>2];c[A>>2]=$G(m,n,39657,o)|0;o=(c[z>>2]|0)+24|0;c[o>>2]=c[o>>2]&-268435457;if(c[A>>2]|0)break a;n=c[z>>2]|0;o=c[k>>2]|0;c[p>>2]=c[j>>2];c[A>>2]=$G(n,o,39808,p)|0;if(c[A>>2]|0)break a;c[x>>2]=0;while(1){b=c[B>>2]|0;if((c[x>>2]|0)>=10)break;Ip(b,d[39938+(c[x>>2]|0)>>0]|0,w);c[A>>2]=Mp(c[C>>2]|0,d[39938+(c[x>>2]|0)>>0]|0,(c[w>>2]|0)+(d[39938+((c[x>>2]|0)+1)>>0]|0)|0)|0;if(c[A>>2]|0)break a;c[x>>2]=(c[x>>2]|0)+2}c[A>>2]=aH(b,c[C>>2]|0)|0;if(c[A>>2]|0)break a;c[A>>2]=Ws(c[C>>2]|0)|0;if(c[A>>2]|0)break a;x=c[B>>2]|0;tA(x,rA(c[C>>2]|0)|0)|0;x=c[B>>2]|0;C=Hn(c[C>>2]|0)|0;c[A>>2]=tl(x,C,c[v>>2]|0,1)|0;break a}}while(0);c[A>>2]=7}while(0);a[(c[z>>2]|0)+148+4>>0]=0;c[(c[z>>2]|0)+24>>2]=c[q>>2];c[(c[z>>2]|0)+88>>2]=c[r>>2];c[(c[z>>2]|0)+92>>2]=c[s>>2];a[(c[z>>2]|0)+76>>0]=a[t>>0]|0;tl(c[B>>2]|0,-1,-1,1)|0;a[(c[z>>2]|0)+67>>0]=1;if(c[u>>2]|0){ur(c[(c[u>>2]|0)+4>>2]|0)|0;c[(c[u>>2]|0)+4>>2]=0;c[(c[u>>2]|0)+12>>2]=0}Np(c[z>>2]|0);c[y>>2]=c[A>>2];C=c[y>>2]|0;l=D;return C|0}function MG(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+4>>2];el(c[d>>2]|0);do if(a[(c[f>>2]|0)+17>>0]|0){c[g>>2]=Rn(c[f>>2]|0)|0;c[h>>2]=Vl((c[(c[(c[f>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[i>>2]=Zp(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0<(c[i>>2]|0)>>>0){c[e>>2]=kn(61866)|0;break}if((c[h>>2]|0)>>>0<=0){c[e>>2]=101;break}c[e>>2]=_p(c[f>>2]|0,0,0)|0;if(!(c[e>>2]|0)){Xp(c[f>>2]|0);c[e>>2]=$p(c[f>>2]|0,c[i>>2]|0,c[g>>2]|0,0)|0}if(!(c[e>>2]|0)){c[e>>2]=Jn(c[(c[(c[f>>2]|0)+12>>2]|0)+72>>2]|0)|0;Nn((c[(c[(c[f>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[f>>2]|0)+44>>2]|0)}}else c[e>>2]=101;while(0);bl(c[d>>2]|0);l=j;return c[e>>2]|0}function NG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+8|0;h=m+4|0;i=m+13|0;j=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[i>>0]=f;c[j>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){k=c[j>>2]|0;l=m;return k|0}a[k>>0]=1+(d[i>>0]|0);el(c[g>>2]|0);c[j>>2]=Wq(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(!(c[j>>2]|0))c[j>>2]=YG(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;bl(c[g>>2]|0);k=c[j>>2]|0;l=m;return k|0}function OG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((c[(c[e>>2]|0)+316>>2]|0)>0?(c[(c[e>>2]|0)+340>>2]|0)==0:0){c[d>>2]=6;k=c[d>>2]|0;l=m;return k|0}if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;l=m;return k|0}c[h>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[h>>2]|0)+56>>2]|0){c[i>>2]=0;while(1){a=c[e>>2]|0;if((c[i>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0))break;if((c[(c[a+340>>2]|0)+(c[i>>2]<<2)>>2]|0)==(c[f>>2]|0)){k=10;break}c[i>>2]=(c[i>>2]|0)+1}if((k|0)==10){c[d>>2]=0;k=c[d>>2]|0;l=m;return k|0}c[g>>2]=WG(a)|0;if((((c[g>>2]|0)==0?(c[g>>2]=Hb[c[(c[h>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[g>>2]|0)==0):0)?(c[j>>2]=(c[(c[e>>2]|0)+436>>2]|0)+(c[(c[e>>2]|0)+432>>2]|0),XG(c[e>>2]|0,c[f>>2]|0),c[j>>2]|0):0)?c[(c[h>>2]|0)+80>>2]|0:0){c[(c[f>>2]|0)+20>>2]=c[j>>2];c[g>>2]=Mb[c[(c[h>>2]|0)+80>>2]&255](c[(c[f>>2]|0)+8>>2]|0,(c[j>>2]|0)-1|0)|0}}c[d>>2]=c[g>>2];k=c[d>>2]|0;l=m;return k|0}function PG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;m=n;h=n+32|0;o=n+28|0;p=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;f=n+8|0;g=n+4|0;c[h>>2]=a;c[o>>2]=b;c[p>>2]=d;c[i>>2]=e;c[j>>2]=0;c[k>>2]=gv(c[h>>2]|0,c[p>>2]|0,c[(c[(c[h>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[g>>2]=c[c[(c[k>>2]|0)+52>>2]>>2];c[f>>2]=hv((c[h>>2]|0)+320|0,c[g>>2]|0)|0;if(((c[f>>2]|0)!=0?(c[(c[c[f>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)!=0:0)c[j>>2]=jv(c[h>>2]|0,c[k>>2]|0,c[f>>2]|0,c[(c[c[f>>2]>>2]|0)+4>>2]|0,c[i>>2]|0)|0;else{p=c[h>>2]|0;c[m>>2]=c[g>>2];p=Wj(p,30050,m)|0;c[c[i>>2]>>2]=p;c[j>>2]=1}if(c[j>>2]|0){p=c[j>>2]|0;l=n;return p|0}if(!(fw(c[h>>2]|0,c[k>>2]|0)|0)){p=c[j>>2]|0;l=n;return p|0}c[j>>2]=WG(c[h>>2]|0)|0;if(c[j>>2]|0){p=c[j>>2]|0;l=n;return p|0}p=c[h>>2]|0;XG(p,fw(c[h>>2]|0,c[k>>2]|0)|0);p=c[j>>2]|0;l=n;return p|0}function QG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;f=k+28|0;g=k+24|0;m=k+20|0;n=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;e=k;c[g>>2]=a;c[m>>2]=b;c[n>>2]=d;c[h>>2]=0;c[i>>2]=gv(c[g>>2]|0,c[n>>2]|0,c[(c[(c[g>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if(c[i>>2]|0?c[(c[i>>2]|0)+56>>2]|0:0){c[j>>2]=c[(c[i>>2]|0)+56>>2];while(1){if(!(c[j>>2]|0)){a=8;break}if((c[(c[(c[j>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[j>>2]=c[(c[j>>2]|0)+24>>2]}if((a|0)==6){c[f>>2]=6;n=c[f>>2]|0;l=k;return n|0}else if((a|0)==8){c[j>>2]=Mk(c[g>>2]|0,c[i>>2]|0)|0;c[e>>2]=c[(c[c[(c[j>>2]|0)+4>>2]>>2]|0)+20>>2];c[h>>2]=Hb[c[e>>2]&255](c[(c[j>>2]|0)+8>>2]|0)|0;if(c[h>>2]|0)break;c[(c[j>>2]|0)+8>>2]=0;c[(c[i>>2]|0)+56>>2]=0;Dk(c[j>>2]|0);break}}while(0);c[f>>2]=c[h>>2];n=c[f>>2]|0;l=k;return n|0}function RG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;el(c[f>>2]|0);c[d>>2]=VG(c[c[(c[f>>2]|0)+4>>2]>>2]|0,c[g>>2]|0)|0;bl(c[f>>2]|0);l=e;return c[d>>2]|0}function SG(f,g){f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+256|0;A=D+72|0;C=D+64|0;B=D+56|0;z=D+48|0;y=D+40|0;q=D+148|0;r=D+144|0;s=D+140|0;t=D+136|0;u=D+132|0;v=D+128|0;w=D+124|0;x=D+120|0;j=D+116|0;k=D+88|0;m=D;i=D+84|0;n=D+80|0;o=D+152|0;p=D+76|0;c[q>>2]=f;c[r>>2]=g;c[t>>2]=0;c[u>>2]=1;c[s>>2]=c[c[q>>2]>>2];zd(k,0,D+156|0,100,c[(c[s>>2]|0)+96>>2]|0);a:do if((c[(c[s>>2]|0)+168>>2]|0)>1)while(1){if(!(a[c[r>>2]>>0]|0))break a;c[i>>2]=c[r>>2];do{C=c[r>>2]|0;c[r>>2]=C+1;if((a[C>>0]|0)==10)break}while((a[c[r>>2]>>0]|0)!=0);Pd(k,39338,3);Pd(k,c[i>>2]|0,(c[r>>2]|0)-(c[i>>2]|0)|0)}else{if(!(b[(c[q>>2]|0)+16>>1]|0)){C=c[r>>2]|0;Pd(k,C,md(c[r>>2]|0)|0);break}while(1){if(!(a[c[r>>2]>>0]|0))break a;c[v>>2]=TG(c[r>>2]|0,w)|0;Pd(k,c[r>>2]|0,c[v>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[v>>2]|0);if(!(c[w>>2]|0))break a;do if((a[c[r>>2]>>0]|0)==63)if((c[w>>2]|0)>1){gg((c[r>>2]|0)+1|0,t)|0;break}else{c[t>>2]=c[u>>2];break}else c[t>>2]=UG(c[q>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;while(0);c[r>>2]=(c[r>>2]|0)+(c[w>>2]|0);c[u>>2]=(c[t>>2]|0)+1;c[j>>2]=(c[(c[q>>2]|0)+116>>2]|0)+(((c[t>>2]|0)-1|0)*40|0);if(e[(c[j>>2]|0)+8>>1]&1|0){Pd(k,20953,4);continue}f=c[j>>2]|0;if(e[(c[j>>2]|0)+8>>1]&4|0){g=c[f+4>>2]|0;i=y;c[i>>2]=c[f>>2];c[i+4>>2]=g;oj(k,22191,y);continue}g=c[j>>2]|0;if(e[f+8>>1]&8|0){h[z>>3]=+h[g>>3];oj(k,22196,z);continue}if(e[g+8>>1]&2|0){a[o>>0]=a[(c[s>>2]|0)+66>>0]|0;if((d[o>>0]|0)!=1){f=m;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[m+32>>2]=c[s>>2];ci(m,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0,a[o>>0]|0,0)|0;if(7==(oi(m,1)|0)){a[k+24>>0]=1;c[k+16>>2]=0}c[j>>2]=m}c[n>>2]=c[(c[j>>2]|0)+12>>2];i=c[(c[j>>2]|0)+16>>2]|0;c[B>>2]=c[n>>2];c[B+4>>2]=i;oj(k,39342,B);if((d[o>>0]|0)==1)continue;ei(m);continue}else{if(e[(c[j>>2]|0)+8>>1]&16384|0){c[C>>2]=c[c[j>>2]>>2];oj(k,39349,C);continue}Pd(k,39362,2);c[p>>2]=c[(c[j>>2]|0)+12>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[p>>2]|0))break;c[A>>2]=a[(c[(c[j>>2]|0)+16>>2]|0)+(c[x>>2]|0)>>0]&255;oj(k,39365,A);c[x>>2]=(c[x>>2]|0)+1}Pd(k,39370,1);continue}}}while(0);if(!(a[k+24>>0]|0)){C=Bd(k)|0;l=D;return C|0}ce(k);C=Bd(k)|0;l=D;return C|0}function TG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){j=6;break}c[i>>2]=Tj(c[e>>2]|0,g)|0;b=c[i>>2]|0;if((c[g>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+b;c[e>>2]=(c[e>>2]|0)+(c[i>>2]|0)}if((j|0)==6){j=c[h>>2]|0;l=k;return j|0}c[c[f>>2]>>2]=b;j=c[h>>2]|0;l=k;return j|0}function UG(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}a:do if(c[i>>2]|0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[h>>2]|0)+18>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+120>>2]|0)+(c[k>>2]<<2)>>2];if((c[m>>2]|0?(I_(c[m>>2]|0,c[i>>2]|0,c[j>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==0:0)break;c[k>>2]=(c[k>>2]|0)+1}c[g>>2]=(c[k>>2]|0)+1;m=c[g>>2]|0;l=n;return m|0}while(0);c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}function VG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];l=f;return c[(c[d>>2]|0)+164>>2]|0}function WG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+316>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+316>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=de(c[d>>2]|0,c[(c[d>>2]|0)+340>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+316>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+340>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;l=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;l=g;return f|0}function XG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+4|0;e=d;c[g>>2]=a;c[e>>2]=b;f=c[e>>2]|0;a=c[(c[g>>2]|0)+340>>2]|0;g=(c[g>>2]|0)+316|0;b=c[g>>2]|0;c[g>>2]=b+1;c[a+(b<<2)>>2]=f;Xu(c[e>>2]|0);l=d;return}function YG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+20|0;h=p+16|0;i=p+12|0;j=p+24|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[i>>2]=e;a[j>>0]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];c[m>>2]=0;c[n>>2]=c[(c[k>>2]|0)+72>>2];while(1){if(!(c[n>>2]|0))break;if((c[(c[n>>2]|0)+4>>2]|0)==(c[i>>2]|0)?(c[c[n>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((o|0)==5)c[m>>2]=c[n>>2];do if(!(c[m>>2]|0)){c[m>>2]=Xg(16,0)|0;if(c[m>>2]|0){c[(c[m>>2]|0)+4>>2]=c[i>>2];c[c[m>>2]>>2]=c[h>>2];c[(c[m>>2]|0)+12>>2]=c[(c[k>>2]|0)+72>>2];c[(c[k>>2]|0)+72>>2]=c[m>>2];break}c[g>>2]=7;o=c[g>>2]|0;l=p;return o|0}while(0);if((d[j>>0]|0|0)>(d[(c[m>>2]|0)+8>>0]|0|0))a[(c[m>>2]|0)+8>>0]=a[j>>0]|0;c[g>>2]=0;o=c[g>>2]|0;l=p;return o|0}function ZG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;e=k+24|0;f=k+20|0;g=k+16|0;m=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[m>>2]=d;c[i>>2]=zv(c[f>>2]|0,c[m>>2]|0,-1,h,0)|0;if(c[i>>2]|0){c[e>>2]=c[i>>2];m=c[e>>2]|0;l=k;return m|0}while(1){m=Bs(c[h>>2]|0)|0;c[i>>2]=m;if(100!=(m|0))break;c[j>>2]=Cv(c[h>>2]|0,0)|0;if(!(c[j>>2]|0))continue;c[i>>2]=ZG(c[f>>2]|0,c[g>>2]|0,c[j>>2]|0)|0;if(c[i>>2]|0)break}if((c[i>>2]|0)==101)c[i>>2]=0;if(c[i>>2]|0){j=c[g>>2]|0;m=c[f>>2]|0;ov(j,m,Ev(c[f>>2]|0)|0)}Fr(c[h>>2]|0)|0;c[e>>2]=c[i>>2];m=c[e>>2]|0;l=k;return m|0}function _G(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;el(c[e>>2]|0);c[b>>2]=cH(c[e>>2]|0)|0;bl(c[e>>2]|0);l=d;return c[b>>2]|0}function $G(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;f=k+40|0;g=k+36|0;h=k+32|0;n=k+28|0;i=k+24|0;m=k+8|0;j=k;c[g>>2]=a;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;c[i>>2]=Xj(c[g>>2]|0,c[n>>2]|0,m)|0;if(!(c[i>>2]|0)){c[f>>2]=7;n=c[f>>2]|0;l=k;return n|0}else{c[j>>2]=ZG(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;Xd(c[g>>2]|0,c[i>>2]|0);c[f>>2]=c[j>>2];n=c[f>>2]|0;l=k;return n|0}return 0}function aH(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;h=m+68|0;i=m+64|0;j=m+60|0;f=m+56|0;k=m+8|0;g=m;c[h>>2]=a;c[i>>2]=d;el(c[h>>2]|0);el(c[i>>2]|0);c[f>>2]=Pp(qk(c[h>>2]|0)|0)|0;if(c[c[f>>2]>>2]|0?(a=Hn(c[i>>2]|0)|0,a=r0(a|0,((a|0)<0)<<31>>31|0,Mn(c[i>>2]|0)|0,0)|0,d=g,c[d>>2]=a,c[d+4>>2]=D,g=wm(c[f>>2]|0,11,g)|0,c[j>>2]=g,c[j>>2]=(c[j>>2]|0)==12?0:g,c[j>>2]|0):0){k=c[i>>2]|0;bl(k);k=c[h>>2]|0;bl(k);k=c[j>>2]|0;l=m;return k|0}a=k;d=a+48|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[k+20>>2]=c[c[i>>2]>>2];c[k+24>>2]=c[i>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Fp(k,2147483647)|0;c[j>>2]=or(k)|0;if(!(c[j>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;k=c[i>>2]|0;bl(k);k=c[h>>2]|0;bl(k);k=c[j>>2]|0;l=m;return k|0}else{bH(qk(c[k+4>>2]|0)|0);k=c[i>>2]|0;bl(k);k=c[h>>2]|0;bl(k);k=c[j>>2]|0;l=m;return k|0}return 0}function bH(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+13>>0]|0|0){l=e;return}zl(c[b>>2]|0);l=e;return}function cH(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);l=d;return c[b>>2]|0}function dH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+176|0;d=g+168|0;e=g+164|0;b=g+160|0;f=g;c[d>>2]=a;m0(f|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[e>>2]=0;while(1){if(!(c[f+(c[e>>2]<<2)>>2]|0))break;c[d>>2]=gH(c[f+(c[e>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[f+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}c[f+(c[e>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=c[f>>2];c[e>>2]=1;while(1){if((c[e>>2]|0)>>>0>=40)break;if(c[f+(c[e>>2]<<2)>>2]|0){if(c[d>>2]|0)a=gH(c[d>>2]|0,c[f+(c[e>>2]<<2)>>2]|0)|0;else a=c[f+(c[e>>2]<<2)>>2]|0;c[d>>2]=a}c[e>>2]=(c[e>>2]|0)+1}l=g;return c[d>>2]|0}function eH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=iH(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}l=g;return a|0}function fH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+12|0;e=i+8|0;h=i+4|0;f=i;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){fH(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){fH(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);l=i;return}else{c[c[h>>2]>>2]=a;l=i;return}}function gH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;j=c[a+4>>2]|0;b=c[e>>2]|0;i=c[b+4>>2]|0;if(!((j|0)<(i|0)|((j|0)==(i|0)?(c[a>>2]|0)>>>0<=(c[b>>2]|0)>>>0:0))){j=c[e>>2]|0;c[(c[g>>2]|0)+8>>2]=j;c[g>>2]=j;c[e>>2]=c[(c[e>>2]|0)+8>>2];if(!(c[e>>2]|0)){a=8;break}else continue}i=c[d>>2]|0;a=c[i+4>>2]|0;j=c[e>>2]|0;b=c[j+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){j=c[d>>2]|0;c[(c[g>>2]|0)+8>>2]=j;c[g>>2]=j}c[d>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[d>>2]|0)){a=6;break}}if((a|0)==6){i=c[e>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=i;j=f+8|0;j=c[j>>2]|0;l=h;return j|0}else if((a|0)==8){i=c[d>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=i;j=f+8|0;j=c[j>>2]|0;l=h;return j|0}return 0}function hH(a){a=a|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=Ed(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}while(0);g=(c[f>>2]|0)+24|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;f=(c[f>>2]|0)+16|0;g=c[f>>2]|0;c[f>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;l=h;return g|0}function iH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;d=i;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}a=c[f>>2]|0;do if((c[g>>2]|0)>1){c[d>>2]=iH(a,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];a=c[d>>2]|0;if(c[h>>2]|0){c[(c[h>>2]|0)+12>>2]=a;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=iH(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;break}c[e>>2]=a;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=c[a>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0}while(0);c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}function jH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;i=g+12|0;j=g+8|0;h=g+4|0;f=g;c[i>>2]=a;c[j>>2]=d;c[h>>2]=e;c[f>>2]=c[j>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[i>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;l=g;return c[f>>2]|0}function kH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;e=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[e>>0]=d[e>>0]|0|1<<(c[g>>2]&7);l=f;return}function lH(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;r=x+76|0;m=x+72|0;s=x+68|0;t=x+64|0;n=x+60|0;u=x+56|0;q=x+52|0;h=x+48|0;i=x+44|0;j=x+40|0;k=x+36|0;c[r>>2]=b;c[m>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=c[t>>2];c[q>>2]=c[s>>2];while(1){g=c[t>>2]|0;c[t>>2]=g+-1;if((g|0)<=0){b=25;break}if(!(c[(c[r>>2]|0)+16>>2]|0)){b=25;break}e=c[r>>2]|0;if((c[s>>2]|0)<1){b=5;break}if(qH(e,c[s>>2]|0)|0){b=25;break}if(gn(c[(c[r>>2]|0)+4>>2]|0,c[s>>2]|0,h,0)|0){b=8;break}c[i>>2]=Kn(c[h>>2]|0)|0;do if(!(c[m>>2]|0)){if((c[t>>2]|0)>0?(d[(c[c[r>>2]>>2]|0)+17>>0]|0)!=0:0){c[n>>2]=Vl(c[i>>2]|0)|0;mH(c[r>>2]|0,c[n>>2]|0,4,c[s>>2]|0)}}else{c[j>>2]=Vl((c[i>>2]|0)+4|0)|0;if(a[(c[c[r>>2]>>2]|0)+17>>0]|0)mH(c[r>>2]|0,c[s>>2]|0,2,0);if((c[j>>2]|0)>(((c[(c[c[r>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){g=c[r>>2]|0;c[p>>2]=c[s>>2];pH(g,40564,p);c[t>>2]=(c[t>>2]|0)+-1;break}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=Vl((c[i>>2]|0)+(8+(c[n>>2]<<2))|0)|0;if(a[(c[c[r>>2]>>2]|0)+17>>0]|0)mH(c[r>>2]|0,c[k>>2]|0,2,0);qH(c[r>>2]|0,c[k>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[t>>2]=(c[t>>2]|0)-(c[j>>2]|0)}while(0);c[s>>2]=Vl(c[i>>2]|0)|0;On(c[h>>2]|0);if(!(c[m>>2]|0))continue;if((c[t>>2]|0)>=((c[s>>2]|0)!=0|0))continue;pH(c[r>>2]|0,40603,o)}if((b|0)==5){u=c[u>>2]|0;w=c[q>>2]|0;c[v>>2]=(c[t>>2]|0)+1;c[v+4>>2]=u;c[v+8>>2]=w;pH(e,40485,v);l=x;return}else if((b|0)==8){v=c[r>>2]|0;c[w>>2]=c[s>>2];pH(v,40542,w);l=x;return}else if((b|0)==25){l=x;return}}function mH(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r+8|0;p=r;i=r+44|0;j=r+40|0;k=r+49|0;m=r+36|0;n=r+32|0;o=r+48|0;h=r+28|0;c[i>>2]=b;c[j>>2]=e;a[k>>0]=f;c[m>>2]=g;c[n>>2]=aq(c[c[i>>2]>>2]|0,c[j>>2]|0,o,h)|0;if(c[n>>2]|0){if((c[n>>2]|0)==7|(c[n>>2]|0)==3082)c[(c[i>>2]|0)+24>>2]=1;q=c[i>>2]|0;c[p>>2]=c[j>>2];pH(q,40402,p);l=r;return}if((d[o>>0]|0|0)==(d[k>>0]|0|0)?(c[h>>2]|0)==(c[m>>2]|0):0){l=r;return}p=c[i>>2]|0;k=d[k>>0]|0;m=c[m>>2]|0;n=d[o>>0]|0;o=c[h>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=k;c[q+8>>2]=m;c[q+12>>2]=n;c[q+16>>2]=o;pH(p,40431,q);l=r;return}function nH(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=l;l=l+256|0;_=ca+96|0;Z=ca+88|0;Y=ca+80|0;X=ca+72|0;aa=ca+64|0;$=ca+48|0;m=ca+40|0;k=ca+32|0;S=ca+240|0;T=ca+236|0;U=ca+232|0;V=ca+228|0;W=ca+24|0;n=ca+224|0;o=ca+220|0;j=ca+216|0;p=ca+212|0;q=ca+208|0;r=ca+204|0;s=ca+200|0;t=ca+196|0;u=ca+192|0;v=ca+188|0;w=ca+184|0;x=ca+180|0;y=ca+176|0;z=ca+172|0;A=ca+168|0;B=ca+164|0;C=ca+160|0;D=ca+156|0;E=ca+152|0;F=ca+148|0;G=ca+144|0;H=ca+140|0;I=ca+136|0;J=ca+132|0;K=ca+128|0;L=ca+244|0;M=ca;N=ca+124|0;O=ca+120|0;P=ca+116|0;Q=ca+112|0;R=ca+108|0;c[T>>2]=b;c[U>>2]=f;c[V>>2]=g;g=W;c[g>>2]=h;c[g+4>>2]=i;c[n>>2]=0;c[p>>2]=-1;c[w>>2]=1;c[x>>2]=1;c[F>>2]=0;c[H>>2]=0;c[I>>2]=c[(c[T>>2]|0)+28>>2];c[J>>2]=c[(c[T>>2]|0)+32>>2];c[K>>2]=c[(c[T>>2]|0)+36>>2];a[L>>0]=0;c[B>>2]=c[c[T>>2]>>2];c[D>>2]=c[(c[B>>2]|0)+36>>2];if(!(c[U>>2]|0)){c[S>>2]=0;ba=c[S>>2]|0;l=ca;return ba|0}if(qH(c[T>>2]|0,c[U>>2]|0)|0){c[S>>2]=0;ba=c[S>>2]|0;l=ca;return ba|0}c[(c[T>>2]|0)+28>>2]=40022;c[(c[T>>2]|0)+32>>2]=c[U>>2];i=dq(c[B>>2]|0,c[U>>2]|0,n,0)|0;c[j>>2]=i;do if(!(i|0)){a[L>>0]=a[c[n>>2]>>0]|0;a[c[n>>2]>>0]=0;k=qp(c[n>>2]|0)|0;c[j>>2]=k;if(k|0){ba=c[T>>2]|0;c[m>>2]=c[j>>2];pH(ba,40070,m);break}c[y>>2]=c[(c[n>>2]|0)+56>>2];c[t>>2]=d[(c[n>>2]|0)+5>>0];c[(c[T>>2]|0)+28>>2]=40108;c[E>>2]=((d[(c[y>>2]|0)+((c[t>>2]|0)+5)>>0]<<8|d[(c[y>>2]|0)+((c[t>>2]|0)+5)+1>>0])-1&65535)+1;c[v>>2]=d[(c[y>>2]|0)+((c[t>>2]|0)+3)>>0]<<8|d[(c[y>>2]|0)+((c[t>>2]|0)+3)+1>>0];c[u>>2]=(c[t>>2]|0)+12-(d[(c[n>>2]|0)+4>>0]<<2);c[A>>2]=(c[y>>2]|0)+((c[u>>2]|0)+((c[v>>2]|0)-1<<1));if(a[(c[n>>2]|0)+4>>0]|0){c[F>>2]=c[(c[T>>2]|0)+68>>2];c[c[F>>2]>>2]=0}else{c[r>>2]=Vl((c[y>>2]|0)+((c[t>>2]|0)+8)|0)|0;if(a[(c[B>>2]|0)+17>>0]|0){c[(c[T>>2]|0)+28>>2]=40134;mH(c[T>>2]|0,c[r>>2]|0,5,c[U>>2]|0)}m=W;c[p>>2]=nH(c[T>>2]|0,c[r>>2]|0,W,c[m>>2]|0,c[m+4>>2]|0)|0;c[x>>2]=0}c[o>>2]=(c[v>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break;if(!(c[(c[T>>2]|0)+16>>2]|0))break;c[(c[T>>2]|0)+36>>2]=c[o>>2];c[C>>2]=d[c[A>>2]>>0]<<8|d[(c[A>>2]|0)+1>>0];c[A>>2]=(c[A>>2]|0)+-2;do if((c[C>>2]|0)>>>0>=(c[E>>2]|0)>>>0?(c[C>>2]|0)>>>0<=((c[D>>2]|0)-4|0)>>>0:0){c[z>>2]=(c[y>>2]|0)+(c[C>>2]|0);Ib[c[(c[n>>2]|0)+80>>2]&255](c[n>>2]|0,c[z>>2]|0,M);if(((c[C>>2]|0)+(e[M+18>>1]|0)|0)>>>0>(c[D>>2]|0)>>>0){pH(c[T>>2]|0,40192,aa);c[w>>2]=0;break}if(a[(c[n>>2]|0)+2>>0]|0){f=M;b=c[f>>2]|0;f=c[f+4>>2]|0;g=W;j=c[g>>2]|0;g=c[g+4>>2]|0;if(c[x>>2]|0){if((f|0)>(g|0)|(f|0)==(g|0)&b>>>0>j>>>0)ba=26}else if((f|0)>(g|0)|(f|0)==(g|0)&b>>>0>=j>>>0)ba=26;if((ba|0)==26){ba=0;m=c[T>>2]|0;h=M;i=c[h+4>>2]|0;k=X;c[k>>2]=c[h>>2];c[k+4>>2]=i;pH(m,40216,X)}i=M;k=c[i+4>>2]|0;m=W;c[m>>2]=c[i>>2];c[m+4>>2]=k}if((c[M+12>>2]|0)>>>0>(e[M+16>>1]|0)>>>0){c[N>>2]=(((c[M+12>>2]|0)-(e[M+16>>1]|0)+(c[D>>2]|0)-5|0)>>>0)/(((c[D>>2]|0)-4|0)>>>0)|0;c[O>>2]=Vl((c[z>>2]|0)+((e[M+18>>1]|0)-4)|0)|0;if(a[(c[B>>2]|0)+17>>0]|0)mH(c[T>>2]|0,c[O>>2]|0,3,c[U>>2]|0);lH(c[T>>2]|0,0,c[O>>2]|0,c[N>>2]|0)}if(a[(c[n>>2]|0)+4>>0]|0){rH(c[F>>2]|0,c[C>>2]<<16|(c[C>>2]|0)+(e[M+18>>1]|0)-1);break}c[r>>2]=Vl(c[z>>2]|0)|0;if(a[(c[B>>2]|0)+17>>0]|0)mH(c[T>>2]|0,c[r>>2]|0,5,c[U>>2]|0);m=W;c[q>>2]=nH(c[T>>2]|0,c[r>>2]|0,W,c[m>>2]|0,c[m+4>>2]|0)|0;c[x>>2]=0;if((c[q>>2]|0)!=(c[p>>2]|0)){pH(c[T>>2]|0,40240,Y);c[p>>2]=c[q>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[T>>2]|0;i=c[E>>2]|0;k=(c[D>>2]|0)-4|0;c[$>>2]=c[C>>2];c[$+4>>2]=i;c[$+8>>2]=k;pH(m,40162,$);c[w>>2]=0}c[o>>2]=(c[o>>2]|0)+-1}Y=W;$=c[Y+4>>2]|0;aa=c[V>>2]|0;c[aa>>2]=c[Y>>2];c[aa+4>>2]=$;c[(c[T>>2]|0)+28>>2]=0;if(c[w>>2]|0?(c[(c[T>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[n>>2]|0)+4>>0]|0)){c[F>>2]=c[(c[T>>2]|0)+68>>2];c[c[F>>2]>>2]=0;c[o>>2]=(c[v>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break a;c[C>>2]=d[(c[y>>2]|0)+((c[u>>2]|0)+(c[o>>2]<<1))>>0]<<8|d[(c[y>>2]|0)+((c[u>>2]|0)+(c[o>>2]<<1))+1>>0];c[P>>2]=(Mb[c[(c[n>>2]|0)+76>>2]&255](c[n>>2]|0,(c[y>>2]|0)+(c[C>>2]|0)|0)|0)&65535;rH(c[F>>2]|0,c[C>>2]<<16|(c[C>>2]|0)+(c[P>>2]|0)-1);c[o>>2]=(c[o>>2]|0)+-1}}while(0);c[o>>2]=d[(c[y>>2]|0)+((c[t>>2]|0)+1)>>0]<<8|d[(c[y>>2]|0)+((c[t>>2]|0)+1)+1>>0];while(1){if((c[o>>2]|0)<=0)break;c[Q>>2]=d[(c[y>>2]|0)+((c[o>>2]|0)+2)>>0]<<8|d[(c[y>>2]|0)+((c[o>>2]|0)+2)+1>>0];rH(c[F>>2]|0,c[o>>2]<<16|(c[o>>2]|0)+(c[Q>>2]|0)-1);c[R>>2]=d[(c[y>>2]|0)+(c[o>>2]|0)>>0]<<8|d[(c[y>>2]|0)+(c[o>>2]|0)+1>>0];c[o>>2]=c[R>>2]}c[s>>2]=0;c[H>>2]=(c[E>>2]|0)-1;while(1){if(!(sH(c[F>>2]|0,G)|0))break;if((c[H>>2]&65535)>>>0>=(c[G>>2]|0)>>>16>>>0){ba=51;break}c[s>>2]=(c[s>>2]|0)+(((c[G>>2]|0)>>>16)-(c[H>>2]&65535)-1);c[H>>2]=c[G>>2]}if((ba|0)==51){ba=c[T>>2]|0;aa=c[U>>2]|0;c[Z>>2]=(c[G>>2]|0)>>>16;c[Z+4>>2]=aa;pH(ba,40265,Z)}c[s>>2]=(c[s>>2]|0)+((c[D>>2]|0)-(c[H>>2]&65535)-1);if((c[c[F>>2]>>2]|0)==0?(c[s>>2]|0)!=(d[(c[y>>2]|0)+((c[t>>2]|0)+7)>>0]|0):0){ba=c[T>>2]|0;$=d[(c[y>>2]|0)+((c[t>>2]|0)+7)>>0]|0;aa=c[U>>2]|0;c[_>>2]=c[s>>2];c[_+4>>2]=$;c[_+8>>2]=aa;pH(ba,40302,_)}}}else{ba=c[T>>2]|0;c[k>>2]=c[j>>2];pH(ba,40032,k)}while(0);if(!(c[w>>2]|0))a[c[n>>2]>>0]=a[L>>0]|0;cq(c[n>>2]|0);c[(c[T>>2]|0)+28>>2]=c[I>>2];c[(c[T>>2]|0)+32>>2]=c[J>>2];c[(c[T>>2]|0)+36>>2]=c[K>>2];c[S>>2]=(c[p>>2]|0)+1;ba=c[S>>2]|0;l=ca;return ba|0}function oH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;l=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function pH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;f=j+28|0;g=j+24|0;h=j+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){l=j;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)Pd((c[f>>2]|0)+40|0,40020,1);if(c[(c[f>>2]|0)+28>>2]|0){b=(c[f>>2]|0)+40|0;e=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[i>>2]=c[(c[f>>2]|0)+32>>2];c[i+4>>2]=a;oj(b,e,i)}Ad((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){l=j;return}c[(c[f>>2]|0)+24>>2]=1;l=j;return}function qH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+8|0;e=i;g=i+20|0;d=i+16|0;f=i+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){a=c[d>>2]|0;b=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=b;pH(a,40354,e);c[g>>2]=1;break}e=(oH(a,b)|0)!=0;b=c[d>>2]|0;a=c[f>>2]|0;if(e){c[h>>2]=a;pH(b,40377,h);c[g>>2]=1;break}else{kH(b,a);c[g>>2]=0;break}}else c[g>>2]=1;while(0);l=i;return c[g>>2]|0}function rH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[g>>2]=b;c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[e>>2];while(1){b=((c[g>>2]|0)>>>0)/2|0;c[f>>2]=b;if(b>>>0<=0){a=5;break}if((c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0){a=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[e>>2];c[g>>2]=c[f>>2]}if((a|0)==5){l=h;return}}function sH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[i>>2]=b;if(!b){c[d>>2]=0;i=c[d>>2]|0;l=j;return i|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[i>>2]<<2)>>2];c[(c[e>>2]|0)+(c[i>>2]<<2)>>2]=-1;f=c[e>>2]|0;c[f>>2]=(c[f>>2]|0)+-1;c[h>>2]=1;while(1){f=c[h>>2]<<1;c[g>>2]=f;if(f>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[g>>2]|0)+1<<2)>>2]|0)>>>0)c[g>>2]=(c[g>>2]|0)+1;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0)break;c[i>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[i>>2];c[h>>2]=c[g>>2]}c[d>>2]=1;i=c[d>>2]|0;l=j;return i|0}function tH(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m;j=m+12|0;k=m+8|0;c[h>>2]=b;b=i;c[b>>2]=e;c[b+4>>2]=f;c[j>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){l=m;return}a[(c[h>>2]|0)+11>>0]=0;c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;do if((d[(c[k>>2]|0)+64>>0]|0)&16|0){a[(c[h>>2]|0)+11>>0]=1;if((c[j>>2]|0)==0?(f=(c[k>>2]|0)+16|0,g=i,!((c[f>>2]|0)==(c[g>>2]|0)?(c[f+4>>2]|0)==(c[g+4>>2]|0):0)):0)break;a[(c[k>>2]|0)+66>>0]=0}while(0);c[k>>2]=c[(c[k>>2]|0)+8>>2]}l=m;return}function uH(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;r=u+36|0;n=u+32|0;i=u+28|0;s=u+24|0;o=u+20|0;t=u+16|0;p=u+12|0;j=u+8|0;k=u+4|0;q=u;m=u+40|0;c[n>>2]=b;c[i>>2]=f;c[s>>2]=g;c[o>>2]=h;h=c[i>>2]|0;if(h>>>0>(Rn(c[n>>2]|0)|0)>>>0){c[r>>2]=kn(66688)|0;t=c[r>>2]|0;l=u;return t|0}c[p>>2]=WD(c[n>>2]|0,c[i>>2]|0,t,0,0)|0;if(c[p>>2]|0){c[r>>2]=c[p>>2];t=c[r>>2]|0;l=u;return t|0}a:do if(!(a[(c[t>>2]|0)+8>>0]|0)){a[(c[t>>2]|0)+8>>0]=1;c[q>>2]=d[(c[t>>2]|0)+5>>0];c[k>>2]=0;while(1){b=c[t>>2]|0;if((c[k>>2]|0)>=(e[(c[t>>2]|0)+18>>1]|0))break;c[j>>2]=(c[b+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[k>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[k>>2]<<1)+1>>0]));if((a[(c[t>>2]|0)+4>>0]|0)==0?(h=c[n>>2]|0,i=Vl(c[j>>2]|0)|0,c[p>>2]=uH(h,i,1,c[o>>2]|0)|0,c[p>>2]|0):0)break a;c[p>>2]=vH(c[t>>2]|0,c[j>>2]|0,m)|0;if(c[p>>2]|0)break a;c[k>>2]=(c[k>>2]|0)+1}if(a[b+4>>0]|0){if(c[o>>2]|0){o=c[o>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[t>>2]|0)+18>>1]|0)}}else{m=c[n>>2]|0;n=Vl((c[(c[t>>2]|0)+56>>2]|0)+((c[q>>2]|0)+8)|0)|0;c[p>>2]=uH(m,n,1,c[o>>2]|0)|0;if(c[p>>2]|0)break}b=c[t>>2]|0;if(c[s>>2]|0){wH(b,p);break}s=Jn(c[b+72>>2]|0)|0;c[p>>2]=s;if(!s)Tq(c[t>>2]|0,d[(c[(c[t>>2]|0)+56>>2]|0)+(c[q>>2]|0)>>0]|8)}else c[p>>2]=kn(66693)|0;while(0);a[(c[t>>2]|0)+8>>0]=0;cq(c[t>>2]|0);c[r>>2]=c[p>>2];t=c[r>>2]|0;l=u;return t|0}function vH(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+80|0;m=t+64|0;n=t+60|0;o=t+56|0;u=t+52|0;p=t+48|0;q=t;r=t+44|0;g=t+40|0;h=t+36|0;i=t+32|0;j=t+28|0;k=t+24|0;c[n>>2]=a;c[o>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[n>>2]|0)+52>>2];Ib[c[(c[n>>2]|0)+80>>2]&255](c[n>>2]|0,c[o>>2]|0,q);b[c[u>>2]>>1]=b[q+18>>1]|0;if((e[q+16>>1]|0|0)==(c[q+12>>2]|0)){c[m>>2]=0;u=c[m>>2]|0;l=t;return u|0}if(((c[o>>2]|0)+(e[q+18>>1]|0)+-1|0)>>>0>((c[(c[n>>2]|0)+56>>2]|0)+(e[(c[n>>2]|0)+20>>1]|0)|0)>>>0){c[m>>2]=kn(64249)|0;u=c[m>>2]|0;l=t;return u|0}c[r>>2]=Vl((c[o>>2]|0)+(e[q+18>>1]|0)+-4|0)|0;c[i>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[h>>2]=(((c[q+12>>2]|0)-(e[q+16>>1]|0)+(c[i>>2]|0)-1|0)>>>0)/((c[i>>2]|0)>>>0)|0;while(1){u=c[h>>2]|0;c[h>>2]=u+-1;if(!u){s=23;break}c[j>>2]=0;c[k>>2]=0;if((c[r>>2]|0)>>>0<2){s=9;break}u=c[r>>2]|0;if(u>>>0>(Rn(c[p>>2]|0)|0)>>>0){s=9;break}if(c[h>>2]|0?(c[g>>2]=Cq(c[p>>2]|0,c[r>>2]|0,k,j)|0,c[g>>2]|0):0){s=12;break}if(!(c[k>>2]|0)?(u=zH(c[p>>2]|0,c[r>>2]|0)|0,c[k>>2]=u,!(u|0)):0)s=17;else if((pp(c[(c[k>>2]|0)+72>>2]|0)|0)!=1)c[g>>2]=kn(64285)|0;else s=17;if((s|0)==17){s=0;c[g>>2]=xH(c[p>>2]|0,c[k>>2]|0,c[r>>2]|0)|0}if(c[k>>2]|0)On(c[(c[k>>2]|0)+72>>2]|0);if(c[g>>2]|0){s=21;break}c[r>>2]=c[j>>2]}if((s|0)==9){c[m>>2]=kn(64265)|0;u=c[m>>2]|0;l=t;return u|0}else if((s|0)==12){c[m>>2]=c[g>>2];u=c[m>>2]|0;l=t;return u|0}else if((s|0)==21){c[m>>2]=c[g>>2];u=c[m>>2]|0;l=t;return u|0}else if((s|0)==23){c[m>>2]=0;u=c[m>>2]|0;l=t;return u|0}return 0}function wH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){l=f;return}d=xH(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=d;l=f;return}function xH(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+40|0;m=s+36|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;r=s+16|0;g=s+12|0;h=s+8|0;i=s+4|0;j=s;c[m>>2]=b;c[n>>2]=d;c[o>>2]=f;c[p>>2]=0;c[q>>2]=0;c[r>>2]=c[(c[m>>2]|0)+12>>2];if((c[o>>2]|0)>>>0<2){c[k>>2]=kn(64103)|0;r=c[k>>2]|0;l=s;return r|0}if(c[n>>2]|0){c[g>>2]=c[n>>2];yH(c[(c[g>>2]|0)+72>>2]|0)}else c[g>>2]=zH(c[m>>2]|0,c[o>>2]|0)|0;c[h>>2]=Jn(c[(c[r>>2]|0)+72>>2]|0)|0;do if(!(c[h>>2]|0)){c[i>>2]=Vl((c[(c[r>>2]|0)+56>>2]|0)+36|0)|0;Nn((c[(c[r>>2]|0)+56>>2]|0)+36|0,(c[i>>2]|0)+1|0);if(e[(c[m>>2]|0)+22>>1]&4|0){if((c[g>>2]|0)==0?(n=dq(c[m>>2]|0,c[o>>2]|0,g,0)|0,c[h>>2]=n,n|0):0)break;n=Jn(c[(c[g>>2]|0)+72>>2]|0)|0;c[h>>2]=n;if(n|0)break;m0(c[(c[g>>2]|0)+56>>2]|0,0,c[(c[(c[g>>2]|0)+52>>2]|0)+32>>2]|0)|0}if(a[(c[m>>2]|0)+17>>0]|0?(hq(c[m>>2]|0,c[o>>2]|0,2,0,h),c[h>>2]|0):0)break;if(c[i>>2]|0){c[q>>2]=Vl((c[(c[r>>2]|0)+56>>2]|0)+32|0)|0;c[h>>2]=dq(c[m>>2]|0,c[q>>2]|0,p,0)|0;if(c[h>>2]|0)break;c[j>>2]=Vl((c[(c[p>>2]|0)+56>>2]|0)+4|0)|0;if((c[j>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[h>>2]=kn(64156)|0;break}if((c[j>>2]|0)>>>0<((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[h>>2]=Jn(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[h>>2]|0)break;Nn((c[(c[p>>2]|0)+56>>2]|0)+4|0,(c[j>>2]|0)+1|0);Nn((c[(c[p>>2]|0)+56>>2]|0)+(8+(c[j>>2]<<2))|0,c[o>>2]|0);if(c[g>>2]|0?(e[(c[m>>2]|0)+22>>1]&4|0)==0:0)AH(c[(c[g>>2]|0)+72>>2]|0);c[h>>2]=BH(c[m>>2]|0,c[o>>2]|0)|0;break}}if((c[g>>2]|0)==0?(n=dq(c[m>>2]|0,c[o>>2]|0,g,0)|0,c[h>>2]=n,0!=(n|0)):0)break;c[h>>2]=Jn(c[(c[g>>2]|0)+72>>2]|0)|0;if(!(c[h>>2]|0)){Nn(c[(c[g>>2]|0)+56>>2]|0,c[q>>2]|0);Nn((c[(c[g>>2]|0)+56>>2]|0)+4|0,0);Nn((c[(c[r>>2]|0)+56>>2]|0)+32|0,c[o>>2]|0)}}while(0);if(c[g>>2]|0)a[c[g>>2]>>0]=0;cq(c[g>>2]|0);cq(c[p>>2]|0);c[k>>2]=c[h>>2];r=c[k>>2]|0;l=s;return r|0}function yH(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;CH(c[d>>2]|0);l=b;return}function zH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=en(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=mq(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;g=c[d>>2]|0;l=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}return 0}function AH(d){d=d|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=c[(c[f>>2]|0)+16>>2];if(a[(c[g>>2]|0)+13>>0]|0){l=h;return}if(!(e[(c[f>>2]|0)+24>>1]&2)){l=h;return}if(c[(c[g>>2]|0)+104>>2]|0){l=h;return}g=(c[f>>2]|0)+24|0;b[g>>1]=e[g>>1]|16;g=(c[f>>2]|0)+24|0;b[g>>1]=e[g>>1]&-5;l=h;return}function BH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=Zn(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}b=c[e>>2]|0;if(b>>>0>(rq(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=dn(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;l=g;return f|0}function CH(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;l=d;return}function DH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;h=p+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;f=p+4|0;g=p;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[i>>2]|0)+4>>2];if(c[(c[o>>2]|0)+8>>2]|0){c[h>>2]=262;o=c[h>>2]|0;l=p;return o|0}if((c[j>>2]|0)>>>0<2){c[h>>2]=kn(66814)|0;o=c[h>>2]|0;l=p;return o|0}c[m>>2]=dq(c[o>>2]|0,c[j>>2]|0,n,0)|0;if(c[m>>2]|0){c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}c[m>>2]=yG(c[i>>2]|0,c[j>>2]|0,0)|0;if(c[m>>2]|0){cq(c[n>>2]|0);c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}c[c[k>>2]>>2]=0;if(a[(c[o>>2]|0)+17>>0]|0){Ip(c[i>>2]|0,4,f);b=c[n>>2]|0;do if((c[j>>2]|0)==(c[f>>2]|0)){wH(b,m);cq(c[n>>2]|0);if(c[m>>2]|0){c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}}else{cq(b);c[m>>2]=dq(c[o>>2]|0,c[f>>2]|0,g,0)|0;if(c[m>>2]|0){c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}c[m>>2]=eq(c[o>>2]|0,c[g>>2]|0,1,0,c[j>>2]|0,0)|0;cq(c[g>>2]|0);if(c[m>>2]|0){c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}c[g>>2]=0;c[m>>2]=dq(c[o>>2]|0,c[f>>2]|0,g,0)|0;wH(c[g>>2]|0,m);cq(c[g>>2]|0);if(!(c[m>>2]|0)){c[c[k>>2]>>2]=c[f>>2];break}c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}while(0);c[f>>2]=(c[f>>2]|0)+-1;while(1){if((c[f>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=Yp(c[o>>2]|0,c[f>>2]|0)|0,(n|0)!=(c[f>>2]|0)):0)break;c[f>>2]=(c[f>>2]|0)+-1}c[m>>2]=Mp(c[i>>2]|0,4,c[f>>2]|0)|0}else{wH(c[n>>2]|0,m);cq(c[n>>2]|0)}c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}function EH(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;e=o+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[f>>2]=b;c[g>>2]=0;c[i>>2]=0;c[j>>2]=(d[(c[f>>2]|0)+59>>0]|0)-1;a[(c[f>>2]|0)+56>>0]=1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=((d[(c[f>>2]|0)+58>>0]|0)+(c[h>>2]|0)+1|0)%(c[j>>2]|0)|0;c[i>>2]=(c[f>>2]|0)+64+((c[k>>2]|0)*72|0);if(c[(c[i>>2]|0)+4>>2]|0)c[g>>2]=ws(c[i>>2]|0)|0;if(c[g>>2]|0)break;if(!(c[c[i>>2]>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}do if(!(c[g>>2]|0)){if((c[h>>2]|0)==(c[j>>2]|0)){c[g>>2]=FH((c[f>>2]|0)+64+((c[j>>2]|0)*72|0)|0,(c[f>>2]|0)+36|0)|0;break}c[m>>2]=c[(c[i>>2]|0)+16+4>>2];c[n>>2]=c[i>>2];a[(c[f>>2]|0)+58>>0]=((c[i>>2]|0)-((c[f>>2]|0)+64)|0)/72|0;k=(c[i>>2]|0)+16|0;j=(c[f>>2]|0)+36|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[(c[f>>2]|0)+36>>2]=0;c[(c[f>>2]|0)+36+8>>2]=0;if(!(c[m>>2]|0)){if(c[(c[f>>2]|0)+36+4>>2]|0?(m=c[(c[f>>2]|0)+52>>2]|0,m=Fd(m,((m|0)<0)<<31>>31)|0,c[(c[f>>2]|0)+36+4>>2]=m,(c[(c[f>>2]|0)+36+4>>2]|0)==0):0){c[e>>2]=7;n=c[e>>2]|0;l=o;return n|0}}else{c[(c[f>>2]|0)+36+4>>2]=c[m>>2];m=Kd(c[m>>2]|0)|0;c[(c[f>>2]|0)+52>>2]=m}c[g>>2]=HH(c[i>>2]|0,194,c[n>>2]|0)|0}while(0);c[e>>2]=c[g>>2];n=c[e>>2]|0;l=o;return n|0}function FH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;e=k+60|0;f=k+56|0;d=k+52|0;g=k+48|0;h=k;i=k+44|0;j=k+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[g>>2]=0;a=h;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[g>>2]=JH(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[g>>2]|0))c[g>>2]=KH(c[e>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){j=c[g>>2]|0;l=k;return j|0}c[j>>2]=0;d=(c[e>>2]|0)+40+8|0;LH(c[(c[e>>2]|0)+40>>2]|0,h,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;MH(h,d,((d|0)<0)<<31>>31);c[i>>2]=c[c[f>>2]>>2];while(1){a=c[i>>2]|0;if(!(c[i>>2]|0))break;c[j>>2]=c[a+4>>2];d=c[c[i>>2]>>2]|0;MH(h,d,((d|0)<0)<<31>>31);NH(h,(c[i>>2]|0)+8|0,c[c[i>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))_d(c[i>>2]|0);c[i>>2]=c[j>>2]}c[c[f>>2]>>2]=a;c[g>>2]=OH(h,(c[e>>2]|0)+40+8|0)|0;j=c[g>>2]|0;l=k;return j|0}function GH(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=FH(c[e>>2]|0,(c[e>>2]|0)+16|0)|0;c[(c[e>>2]|0)+4>>2]=1;l=d;return c[b>>2]|0}function HH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=IH(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function IH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[i>>2]=Fd(20,0)|0;if(!(c[i>>2]|0)){c[e>>2]=7;j=c[e>>2]|0;l=k;return j|0}d=c[i>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[(c[i>>2]|0)+12>>2]=c[g>>2];c[(c[i>>2]|0)+16>>2]=c[h>>2];if(Kq(200)|0)c[j>>2]=1;else c[j>>2]=kb(c[i>>2]|0,0,c[g>>2]|0,c[h>>2]|0)|0;if(c[j>>2]|0){c[(c[i>>2]|0)+4>>2]=1;j=Hb[c[g>>2]&255](c[h>>2]|0)|0;c[(c[i>>2]|0)+8>>2]=j}c[c[f>>2]>>2]=c[i>>2];c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function JH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+28|0;g=k+24|0;h=k+20|0;i=k+16|0;j=k;c[g>>2]=a;a=k+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(Kq(202)|0){c[f>>2]=3338;j=c[f>>2]|0;l=k;return j|0}c[i>>2]=cs(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,i)|0;if(!(c[i>>2]|0)){g=j;c[g>>2]=0;c[g+4>>2]=0;wo(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}function KH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;e=n+4|0;f=n;c[h>>2]=a;c[i>>2]=b;c[e>>2]=PH(c[h>>2]|0)|0;if(c[e>>2]|0){c[g>>2]=c[e>>2];m=c[g>>2]|0;l=n;return m|0}c[m>>2]=c[c[i>>2]>>2];e=QH(c[(c[h>>2]|0)+8>>2]|0)|0;c[(c[h>>2]|0)+32>>2]=e;c[k>>2]=Xg(256,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;m=c[g>>2]|0;l=n;return m|0}while(1){if(!(c[m>>2]|0))break;a=c[m>>2]|0;do if(c[(c[i>>2]|0)+4>>2]|0)if((a|0)==(c[(c[i>>2]|0)+4>>2]|0)){c[f>>2]=0;break}else{c[f>>2]=(c[(c[i>>2]|0)+4>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0);break}else c[f>>2]=c[a+4>>2];while(0);c[(c[m>>2]|0)+4>>2]=0;c[j>>2]=0;while(1){if(!(c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0))break;c[m>>2]=RH(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]=0;c[j>>2]=(c[j>>2]|0)+1}c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];c[m>>2]=c[f>>2]}c[m>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=64)break;if(c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0){if(c[m>>2]|0)a=RH(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;else a=c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0;c[m>>2]=a}c[j>>2]=(c[j>>2]|0)+1}c[c[i>>2]>>2]=c[m>>2];_d(c[k>>2]|0);c[g>>2]=d[(c[(c[h>>2]|0)+12>>2]|0)+11>>0];m=c[g>>2]|0;l=n;return m|0}function LH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;a=c[h>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));f=c[i>>2]|0;f=Fd(f,((f|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=f;if(c[(c[h>>2]|0)+4>>2]|0){e=j;f=c[i>>2]|0;f=c0(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=f;c[(c[h>>2]|0)+16>>2]=f;f=c[(c[h>>2]|0)+12>>2]|0;f=Z$(c[j>>2]|0,c[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;j=(c[h>>2]|0)+24|0;c[j>>2]=f;c[j+4>>2]=D;c[(c[h>>2]|0)+8>>2]=c[i>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];l=k;return}else{c[c[h>>2]>>2]=7;l=k;return}}function MH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+32|0;h=e+12|0;i=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;d=i;c[f>>2]=_F(g,c[d>>2]|0,c[d+4>>2]|0)|0;NH(c[h>>2]|0,g,c[f>>2]|0);l=e;return}function NH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[g>>2];while(1){if((c[h>>2]|0)<=0){a=9;break}if(c[c[e>>2]>>2]|0){a=9;break}c[i>>2]=c[h>>2];if((c[i>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[i>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);h0((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[h>>2]|0))|0,c[i>>2]|0)|0;d=(c[e>>2]|0)+16|0;c[d>>2]=(c[d>>2]|0)+(c[i>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){k=c[(c[e>>2]|0)+32>>2]|0;a=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;d=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;b=c[(c[e>>2]|0)+12>>2]|0;b=_$(c[m>>2]|0,c[m+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Dm(k,a,d,b,D)|0;c[c[e>>2]>>2]=b;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;b=c[(c[e>>2]|0)+8>>2]|0;d=(c[e>>2]|0)+24|0;a=d;b=_$(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[d>>2]=b;c[d+4>>2]=D}c[h>>2]=(c[h>>2]|0)-(c[i>>2]|0)}if((a|0)==9){l=j;return}}function OH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?c[(c[d>>2]|0)+4>>2]|0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){i=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;j=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=_$(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Dm(i,h,a,b,D)|0;c[c[d>>2]>>2]=b}a=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+16>>2]|0;b=_$(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=c[e>>2]|0;c[a>>2]=b;c[a+4>>2]=D;_d(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=g;return c[f>>2]|0}function PH(d){d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=YD(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;g=c[e>>2]|0;l=h;return g|0}while(0);c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}function QH(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=146;break}else{c[b>>2]=147;break}else c[b>>2]=145;while(0);l=f;return c[b>>2]|0}function RH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;k=m+8|0;f=m+4|0;g=m;c[e>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=0;c[k>>2]=j;c[f>>2]=0;while(1){c[g>>2]=Gb[c[(c[e>>2]|0)+32>>2]&255](c[e>>2]|0,f,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0,(c[i>>2]|0)+8|0,c[c[i>>2]>>2]|0)|0;if((c[g>>2]|0)<=0){c[c[k>>2]>>2]=c[h>>2];c[k>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];if(!(c[h>>2]|0)){a=4;break}else continue}else{c[c[k>>2]>>2]=c[i>>2];c[k>>2]=(c[i>>2]|0)+4;c[i>>2]=c[(c[i>>2]|0)+4>>2];c[f>>2]=0;if(!(c[i>>2]|0)){a=6;break}else continue}}if((a|0)==4){c[c[k>>2]>>2]=c[i>>2];k=c[j>>2]|0;l=m;return k|0}else if((a|0)==6){c[c[k>>2]>>2]=c[h>>2];k=c[j>>2]|0;l=m;return k|0}return 0}function SH(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=l;l=l+64|0;t=x+52|0;u=x+48|0;v=x+44|0;w=x+40|0;q=x+36|0;r=x+32|0;z=x+28|0;y=x+24|0;k=x+20|0;m=x+16|0;n=x+12|0;o=x+8|0;s=x+4|0;p=x;c[t>>2]=b;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[q>>2]=i;c[r>>2]=j;c[z>>2]=c[v>>2];c[y>>2]=c[q>>2];c[k>>2]=d[(c[z>>2]|0)+1>>0];c[m>>2]=d[(c[y>>2]|0)+1>>0];c[n>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);b=c[k>>2]|0;f=c[m>>2]|0;a:do if(!((c[k>>2]|0)>7&(c[m>>2]|0)>7)){if((b|0)==(f|0)){if((d[c[n>>2]>>0]^d[c[o>>2]>>0])&128|0){c[s>>2]=d[c[n>>2]>>0]&128|0?-1:1;break}c[s>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(d[40642+(c[k>>2]|0)>>0]|0))break a;z=(d[(c[n>>2]|0)+(c[p>>2]|0)>>0]|0)-(d[(c[o>>2]|0)+(c[p>>2]|0)>>0]|0)|0;c[s>>2]=z;if(z|0)break a;c[p>>2]=(c[p>>2]|0)+1}}do if((c[m>>2]|0)<=7)if((c[k>>2]|0)>7){c[s>>2]=-1;break}else{c[s>>2]=(c[k>>2]|0)-(c[m>>2]|0);break}else c[s>>2]=1;while(0);if((c[s>>2]|0)>0){if(!(d[c[n>>2]>>0]&128))break;c[s>>2]=-1;break}else{if(!(d[c[o>>2]>>0]&128))break;c[s>>2]=1;break}}else c[s>>2]=b-f;while(0);b=c[(c[(c[t>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[s>>2]|0)){if((e[b+6>>1]|0)<=1){z=c[s>>2]|0;l=x;return z|0}c[s>>2]=VH(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;z=c[s>>2]|0;l=x;return z|0}else{if(!(a[c[b+16>>2]>>0]|0)){z=c[s>>2]|0;l=x;return z|0}c[s>>2]=S(c[s>>2]|0,-1)|0;z=c[s>>2]|0;l=x;return z|0}return 0}function TH(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;y=x+24|0;k=x+20|0;m=x+16|0;n=x+12|0;o=x+8|0;p=x+4|0;s=x;c[t>>2]=b;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[q>>2]=i;c[r>>2]=j;c[y>>2]=c[v>>2];c[k>>2]=c[q>>2];c[m>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[n>>2]=(c[k>>2]|0)+(d[c[k>>2]>>0]|0);b=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[o>>2]=d[b>>0];else fE(b,o)|0;c[o>>2]=((c[o>>2]|0)-13|0)/2|0;b=(c[k>>2]|0)+1|0;if((d[(c[k>>2]|0)+1>>0]|0)<128)c[p>>2]=d[b>>0];else fE(b,p)|0;c[p>>2]=((c[p>>2]|0)-13|0)/2|0;c[s>>2]=H_(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)<(c[p>>2]|0)?c[o>>2]|0:c[p>>2]|0)|0;if(!(c[s>>2]|0))c[s>>2]=(c[o>>2]|0)-(c[p>>2]|0);b=c[(c[(c[t>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[s>>2]|0)){if((e[b+6>>1]|0)<=1){y=c[s>>2]|0;l=x;return y|0}c[s>>2]=VH(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;y=c[s>>2]|0;l=x;return y|0}else{if(!(a[c[b+16>>2]>>0]|0)){y=c[s>>2]|0;l=x;return y|0}c[s>>2]=S(c[s>>2]|0,-1)|0;y=c[s>>2]|0;l=x;return y|0}return 0}function UH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;i=p+4|0;j=p;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[k>>2]|0)+12>>2];if(c[c[m>>2]>>2]|0){m=c[o>>2]|0;n=c[n>>2]|0;o=c[j>>2]|0;o=dE(m,n,o)|0;l=p;return o|0}ZD(c[(c[(c[k>>2]|0)+8>>2]|0)+28>>2]|0,c[i>>2]|0,c[h>>2]|0,c[j>>2]|0);c[c[m>>2]>>2]=1;m=c[o>>2]|0;n=c[n>>2]|0;o=c[j>>2]|0;o=dE(m,n,o)|0;l=p;return o|0}function VH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;i=p+4|0;j=p;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[k>>2]|0)+12>>2];if(c[c[m>>2]>>2]|0){m=c[o>>2]|0;n=c[n>>2]|0;o=c[j>>2]|0;o=eE(m,n,o,1)|0;l=p;return o|0}ZD(c[(c[(c[k>>2]|0)+8>>2]|0)+28>>2]|0,c[i>>2]|0,c[h>>2]|0,c[j>>2]|0);c[c[m>>2]>>2]=1;m=c[o>>2]|0;n=c[n>>2]|0;o=c[j>>2]|0;o=eE(m,n,o,1)|0;l=p;return o|0}function WH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;b=i+24|0;d=i+20|0;e=i+16|0;f=i;g=i+12|0;h=i+8|0;c[d>>2]=a;c[e>>2]=0;j=f;c[j>>2]=0;c[j+4>>2]=0;j=c[d>>2]|0;m=c[j+4>>2]|0;a=(c[d>>2]|0)+8|0;k=c[a+4>>2]|0;if((m|0)>(k|0)|((m|0)==(k|0)?(c[j>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=1;if((c[g>>2]|0?(c[e>>2]=YH(c[g>>2]|0)|0,(c[e>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[e>>2]=ZH(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[h>>2]=0}if(c[h>>2]|0){rs(c[d>>2]|0);c[b>>2]=c[e>>2];m=c[b>>2]|0;l=i;return m|0}}if(!(c[e>>2]|0))c[e>>2]=_H(c[d>>2]|0,f)|0;if(!(c[e>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[e>>2]=$H(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[e>>2];m=c[b>>2]|0;l=i;return m|0}function XH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;g=q+36|0;h=q+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;e=q+4|0;f=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2];c[k>>2]=c[(c[g>>2]|0)+4>>2];c[i>>2]=WH((c[(c[g>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[i>>2]|0)){c[e>>2]=0;c[n>>2]=(c[(c[g>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[o>>2]=(c[(c[g>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[m>>2]=((c[c[g>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[m>>2]|0)<=0)break;do if(c[(c[n>>2]|0)+24>>2]|0)if(!(c[(c[o>>2]|0)+24>>2]|0)){c[f>>2]=-1;break}else{c[f>>2]=Gb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,e,c[(c[n>>2]|0)+32>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;break}else c[f>>2]=1;while(0);do if((c[f>>2]|0)<0)p=12;else{if((c[f>>2]|0)==0?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0){p=12;break}if(c[(c[n>>2]|0)+24>>2]|0)c[e>>2]=0;c[(c[(c[g>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2]=((c[o>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0)|0)/56|0;c[n>>2]=(c[(c[g>>2]|0)+12>>2]|0)+((c[(c[(c[g>>2]|0)+8>>2]|0)+((c[m>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[g>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2]=((c[n>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0)|0)/56|0;c[o>>2]=(c[(c[g>>2]|0)+12>>2]|0)+((c[(c[(c[g>>2]|0)+8>>2]|0)+((c[m>>2]^1)<<2)>>2]|0)*56|0);c[e>>2]=0}c[m>>2]=(c[m>>2]|0)/2|0}c[c[h>>2]>>2]=(c[(c[(c[g>>2]|0)+12>>2]|0)+((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[i>>2]|0)){p=d[(c[(c[k>>2]|0)+12>>2]|0)+11>>0]|0;l=q;return p|0}else{p=c[i>>2]|0;l=q;return p|0}return 0}function YH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+32|0;b=f+20|0;e=f+16|0;d=f;c[b>>2]=a;c[e>>2]=0;a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+24>>2]|0)){c[e>>2]=cI(a)|0;a=(c[b>>2]|0)+32|0;d=(c[b>>2]|0)+32+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];a=(c[b>>2]|0)+32+8|0;d=(c[b>>2]|0)+8|0;if(!((c[a>>2]|0)==(c[d>>2]|0)?(c[a+4>>2]|0)==(c[d+4>>2]|0):0)){e=c[e>>2]|0;l=f;return e|0}c[(c[b>>2]|0)+20>>2]=1;e=c[e>>2]|0;l=f;return e|0}c[e>>2]=ws(c[a>>2]|0)|0;if(!(c[e>>2]|0)){a=(c[b>>2]|0)+32|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];a=(c[b>>2]|0)+32|0;g=(c[b>>2]|0)+32+16|0;c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];a=(c[b>>2]|0)+32+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2]}if(c[e>>2]|0){g=c[e>>2]|0;l=f;return g|0}d=(c[b>>2]|0)+32+8|0;g=(c[b>>2]|0)+8|0;a=c[b>>2]|0;if((c[d>>2]|0)==(c[g>>2]|0)?(c[d+4>>2]|0)==(c[g+4>>2]|0):0){c[a+20>>2]=1;g=c[e>>2]|0;l=f;return g|0}else{c[e>>2]=bI(a)|0;g=c[e>>2]|0;l=f;return g|0}return 0}function ZH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;d=p;c[d>>2]=e;c[d+4>>2]=f;c[g>>2]=0;if(Kq(201)|0){c[k>>2]=266;p=c[k>>2]|0;l=q;return p|0}if(c[(c[n>>2]|0)+44>>2]|0){on(c[(c[n>>2]|0)+24>>2]|0,0,0,c[(c[n>>2]|0)+44>>2]|0)|0;c[(c[n>>2]|0)+44>>2]=0}f=c[p+4>>2]|0;e=c[n>>2]|0;c[e>>2]=c[p>>2];c[e+4>>2]=f;e=(c[o>>2]|0)+8|0;f=c[e+4>>2]|0;p=(c[n>>2]|0)+8|0;c[p>>2]=c[e>>2];c[p+4>>2]=f;c[(c[n>>2]|0)+24>>2]=c[c[o>>2]>>2];c[g>>2]=aI(c[m>>2]|0,c[o>>2]|0,(c[n>>2]|0)+44|0)|0;if((c[g>>2]|0)==0?(c[(c[n>>2]|0)+44>>2]|0)==0:0){c[h>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+12>>2];o=c[n>>2]|0;p=c[h>>2]|0;p=c0(c[o>>2]|0,c[o+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[i>>2]=p;if(!(c[(c[n>>2]|0)+36>>2]|0)){p=c[h>>2]|0;p=Fd(p,((p|0)<0)<<31>>31)|0;c[(c[n>>2]|0)+36>>2]=p;if(!(c[(c[n>>2]|0)+36>>2]|0))c[g>>2]=7;c[(c[n>>2]|0)+40>>2]=c[h>>2]}if((c[g>>2]|0)==0&(c[i>>2]|0)!=0){c[j>>2]=(c[h>>2]|0)-(c[i>>2]|0);f=c[n>>2]|0;o=c[j>>2]|0;o=_$(c[f>>2]|0,c[f+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;f=D;p=(c[n>>2]|0)+8|0;m=c[p+4>>2]|0;if((f|0)>(m|0)|((f|0)==(m|0)?o>>>0>(c[p>>2]|0)>>>0:0)){o=(c[n>>2]|0)+8|0;p=c[n>>2]|0;p=Z$(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[j>>2]=p}p=c[n>>2]|0;c[g>>2]=$m(c[(c[n>>2]|0)+24>>2]|0,(c[(c[n>>2]|0)+36>>2]|0)+(c[i>>2]|0)|0,c[j>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}c[k>>2]=c[g>>2];p=c[k>>2]|0;l=q;return p|0}function _H(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;j=p+32|0;k=p+8|0;m=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;b=c[g>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(yp((c[b+44>>2]|0)+(c[c[g>>2]>>2]|0)|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=_$(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=D}else{e=c[(c[g>>2]|0)+40>>2]|0;e=c0(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;c[i>>2]=e;if(c[i>>2]|0?((c[(c[g>>2]|0)+40>>2]|0)-(c[i>>2]|0)|0)>=9:0){n=(yp((c[(c[g>>2]|0)+36>>2]|0)+(c[i>>2]|0)|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=_$(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=D;break}c[m>>2]=0;while(1){c[n>>2]=$H(c[g>>2]|0,1,k)|0;if(c[n>>2]|0)break;e=a[c[k>>2]>>0]|0;i=c[m>>2]|0;c[m>>2]=i+1;a[j+(i&15)>>0]=e;if(!((d[c[k>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){yp(j,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];o=c[f>>2]|0;l=p;return o|0}while(0);c[f>>2]=0;o=c[f>>2]|0;l=p;return o|0}function $H(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+64|0;n=u+52|0;o=u+48|0;p=u+44|0;q=u+40|0;r=u+36|0;s=u+32|0;f=u+28|0;e=u+24|0;g=u+20|0;h=u+16|0;i=u+12|0;j=u+8|0;k=u+4|0;m=u;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;a=c[o>>2]|0;if(c[(c[o>>2]|0)+44>>2]|0){c[c[q>>2]>>2]=(c[a+44>>2]|0)+(c[c[o>>2]>>2]|0);s=c[p>>2]|0;t=c[o>>2]|0;r=t;s=_$(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=D;c[n>>2]=0;t=c[n>>2]|0;l=u;return t|0}b=a;d=c[(c[o>>2]|0)+40>>2]|0;d=c0(c[b>>2]|0,c[b+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[r>>2]=d;if(!(c[r>>2]|0)){w=(c[o>>2]|0)+8|0;b=c[o>>2]|0;b=Z$(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;w=D;d=c[(c[o>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;a=c[o>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&b>>>0>d>>>0)c[f>>2]=c[a+40>>2];else{v=a+8|0;w=c[o>>2]|0;w=Z$(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[f>>2]=w}w=c[o>>2]|0;c[e>>2]=$m(c[(c[o>>2]|0)+24>>2]|0,c[(c[o>>2]|0)+36>>2]|0,c[f>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[e>>2]|0){c[n>>2]=c[e>>2];w=c[n>>2]|0;l=u;return w|0}}c[s>>2]=(c[(c[o>>2]|0)+40>>2]|0)-(c[r>>2]|0);a=c[o>>2]|0;do if((c[p>>2]|0)<=(c[s>>2]|0)){c[c[q>>2]>>2]=(c[a+36>>2]|0)+(c[r>>2]|0);v=c[p>>2]|0;w=c[o>>2]|0;t=w;v=_$(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=D}else{do if((c[a+16>>2]|0)<(c[p>>2]|0)){if(128>(c[(c[o>>2]|0)+16>>2]<<1|0))a=128;else a=c[(c[o>>2]|0)+16>>2]<<1;c[i>>2]=a;while(1){if((c[p>>2]|0)<=(c[i>>2]|0))break;c[i>>2]=c[i>>2]<<1}w=c[i>>2]|0;c[h>>2]=ge(c[(c[o>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[h>>2]|0){c[(c[o>>2]|0)+16>>2]=c[i>>2];c[(c[o>>2]|0)+28>>2]=c[h>>2];break}c[n>>2]=7;w=c[n>>2]|0;l=u;return w|0}while(0);h0(c[(c[o>>2]|0)+28>>2]|0,(c[(c[o>>2]|0)+36>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0;v=c[s>>2]|0;w=c[o>>2]|0;r=w;v=_$(c[r>>2]|0,c[r+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=D;c[g>>2]=(c[p>>2]|0)-(c[s>>2]|0);while(1){if((c[g>>2]|0)<=0){t=27;break}c[k>>2]=c[g>>2];if((c[g>>2]|0)>(c[(c[o>>2]|0)+40>>2]|0))c[k>>2]=c[(c[o>>2]|0)+40>>2];c[j>>2]=$H(c[o>>2]|0,c[k>>2]|0,m)|0;if(c[j>>2]|0)break;h0((c[(c[o>>2]|0)+28>>2]|0)+((c[p>>2]|0)-(c[g>>2]|0))|0,c[m>>2]|0,c[k>>2]|0)|0;c[g>>2]=(c[g>>2]|0)-(c[k>>2]|0)}if((t|0)==27){c[c[q>>2]>>2]=c[(c[o>>2]|0)+28>>2];break}c[n>>2]=c[j>>2];w=c[n>>2]|0;l=u;return w|0}while(0);c[n>>2]=0;w=c[n>>2]|0;l=u;return w|0}function aI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;k=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;b=(c[e>>2]|0)+8|0;j=c[b+4>>2]|0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+24>>2]|0)+144>>2]|0;a=((d|0)<0)<<31>>31;if(!((j|0)<(a|0)|((j|0)==(a|0)?(c[b>>2]|0)>>>0<=d>>>0:0))){k=c[g>>2]|0;l=i;return k|0}c[h>>2]=c[c[e>>2]>>2];if((c[c[c[h>>2]>>2]>>2]|0)<3){k=c[g>>2]|0;l=i;return k|0}c[g>>2]=mn(c[h>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;k=c[g>>2]|0;l=i;return k|0}function bI(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=HH(c[c[e>>2]>>2]|0,195,c[d>>2]|0)|0;l=b;return a|0}function cI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+96|0;b=o+88|0;g=o+84|0;h=o+80|0;i=o+48|0;j=o+76|0;p=o+72|0;k=o+68|0;m=o+8|0;n=o+64|0;d=o+60|0;e=o+56|0;f=o;c[b>>2]=a;c[g>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=i;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[k>>2]=c[(c[b>>2]|0)+4>>2];a=i;LH(c[c[j>>2]>>2]|0,m,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[g>>2]|0)break;c[d>>2]=(c[(c[k>>2]|0)+12>>2]|0)+((c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[e>>2]=c[(c[d>>2]|0)+20>>2];r=m+24|0;q=c[m+16>>2]|0;q=_$(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=f;c[r>>2]=q;c[r+4>>2]=D;if(!(c[(c[d>>2]|0)+24>>2]|0))break;a=f;p=c[e>>2]|0;p=_$(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=D;q=c[e>>2]|0;q=jE(q,((q|0)<0)<<31>>31)|0;q=_$(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=D;p=i;r=c[(c[b>>2]|0)+16>>2]|0;r=_$(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=D;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[e>>2]|0;MH(m,r,((r|0)<0)<<31>>31);NH(m,c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);c[g>>2]=XH(c[(c[b>>2]|0)+4>>2]|0,n)|0}c[h>>2]=OH(m,(c[j>>2]|0)+8|0)|0;if(c[g>>2]|0){r=c[g>>2]|0;l=o;return r|0}c[g>>2]=c[h>>2];r=c[g>>2]|0;l=o;return r|0}function dI(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=cI(c[e>>2]|0)|0;c[(c[c[e>>2]>>2]|0)+4>>2]=1;l=d;return c[b>>2]|0}function eI(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;e=r+44|0;i=r+40|0;j=r+36|0;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;f=r+8|0;g=r+4|0;h=r;c[e>>2]=b;c[j>>2]=(c[e>>2]|0)+64;c[k>>2]=0;c[m>>2]=c[(c[(c[j>>2]|0)+8>>2]|0)+24>>2];c[o>>2]=QH(c[e>>2]|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0))break;c[(c[e>>2]|0)+64+((c[n>>2]|0)*72|0)+32>>2]=c[o>>2];c[n>>2]=(c[n>>2]|0)+1}c[i>>2]=fI(c[e>>2]|0,k)|0;do if(!(c[i>>2]|0)){if(!(a[(c[e>>2]|0)+57>>0]|0)){c[i>>2]=kI(c[j>>2]|0,c[k>>2]|0,0)|0;c[(c[e>>2]|0)+20>>2]=c[k>>2];c[k>>2]=0;break}c[q>>2]=0;c[f>>2]=(c[e>>2]|0)+64+(((d[(c[e>>2]|0)+59>>0]|0)-1|0)*72|0);c[i>>2]=PH(c[f>>2]|0)|0;if((c[i>>2]|0)==0?(c[q>>2]=_l(c[m>>2]|0,56,0)|0,c[(c[e>>2]|0)+16>>2]=c[q>>2],(c[q>>2]|0)==0):0)c[i>>2]=7;if(!(c[i>>2]|0)){c[i>>2]=gI(c[f>>2]|0,c[k>>2]|0,(c[q>>2]|0)+48|0)|0;a:do if(!(c[i>>2]|0)){hI(c[(c[q>>2]|0)+48>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=((d[(c[e>>2]|0)+59>>0]|0)-1|0))break;o=c[(c[(c[k>>2]|0)+12>>2]|0)+((c[p>>2]|0)*56|0)+48>>2]|0;c[g>>2]=o;if(o|0)hI(c[g>>2]|0);c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=0;while(1){if(c[i>>2]|0)break a;if((c[p>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0))break a;c[h>>2]=(c[(c[k>>2]|0)+12>>2]|0)+((c[p>>2]|0)*56|0);c[i>>2]=iI(c[h>>2]|0,1)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[k>>2]=0}if(!(c[i>>2]|0))c[i>>2]=jI(c[q>>2]|0,2)|0}while(0);if(!(c[i>>2]|0)){q=c[i>>2]|0;l=r;return q|0}ss(c[k>>2]|0);q=c[i>>2]|0;l=r;return q|0}function fI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;j=s+52|0;k=s+48|0;m=s+44|0;n=s+40|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;e=s;f=s+20|0;g=s+16|0;h=s+12|0;i=s+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=0;c[n>>2]=0;if((d[(c[j>>2]|0)+59>>0]|0|0)>1?(c[m>>2]=nI(d[(c[j>>2]|0)+59>>0]|0)|0,(c[m>>2]|0)==0):0)c[n>>2]=7;c[o>>2]=0;while(1){if(c[n>>2]|0)break;if((c[o>>2]|0)>=(d[(c[j>>2]|0)+59>>0]|0|0))break;c[p>>2]=(c[j>>2]|0)+64+((c[o>>2]|0)*72|0);do if(c[(c[p>>2]|0)+28>>2]|0){c[q>>2]=0;c[r>>2]=oI(c[(c[p>>2]|0)+28>>2]|0)|0;b=e;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[p>>2]|0)+28>>2]|0)<=16)c[n>>2]=pI(c[p>>2]|0,c[(c[p>>2]|0)+28>>2]|0,e,q)|0;else{c[g>>2]=0;c[q>>2]=nI(16)|0;if(!(c[q>>2]|0))c[n>>2]=7;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[p>>2]|0)+28>>2]|0)?(c[n>>2]|0)==0:0))break a;c[h>>2]=0;if(((c[(c[p>>2]|0)+28>>2]|0)-(c[f>>2]|0)|0)<16)a=(c[(c[p>>2]|0)+28>>2]|0)-(c[f>>2]|0)|0;else a=16;c[i>>2]=a;c[n>>2]=pI(c[p>>2]|0,c[i>>2]|0,e,h)|0;if(!(c[n>>2]|0)){t=c[p>>2]|0;a=c[r>>2]|0;b=c[g>>2]|0;c[g>>2]=b+1;c[n>>2]=qI(t,a,b,c[q>>2]|0,c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+16}}while(0);if(c[n>>2]|0){ss(c[q>>2]|0);break}if(c[m>>2]|0){c[n>>2]=gI(c[p>>2]|0,c[q>>2]|0,(c[(c[m>>2]|0)+12>>2]|0)+((c[o>>2]|0)*56|0)+48|0)|0;break}else{c[m>>2]=c[q>>2];break}}while(0);c[o>>2]=(c[o>>2]|0)+1}if(!(c[n>>2]|0)){r=c[m>>2]|0;t=c[k>>2]|0;c[t>>2]=r;t=c[n>>2]|0;l=s;return t|0}ss(c[m>>2]|0);c[m>>2]=0;r=c[m>>2]|0;t=c[k>>2]|0;c[t>>2]=r;t=c[n>>2]|0;l=s;return t|0}function gI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(Kq(100)|0)a=0;else a=Xg(64,0)|0;c[c[f>>2]>>2]=a;c[i>>2]=a;a=c[e>>2]|0;if(!(c[i>>2]|0)){ss(a);c[h>>2]=7;i=c[h>>2]|0;l=j;return i|0}c[(c[i>>2]|0)+4>>2]=a;c[c[i>>2]>>2]=c[g>>2];a=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))a=(c[a+8>>2]|0)+9|0;else a=(c[a+4>>2]|0)/2|0;c[(c[i>>2]|0)+16>>2]=a;f=c[(c[i>>2]|0)+16>>2]|0;i=(c[g>>2]|0)+56+8|0;g=i;g=_$(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[i>>2]=g;c[i+4>>2]=D;i=c[h>>2]|0;l=j;return i|0}function hI(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b;c[e>>2]=a;c[(c[e>>2]|0)+24>>2]=1;d=c[(c[e>>2]|0)+16>>2]|0;a=(c[c[e>>2]>>2]|0)+56+8|0;e=a;d=Z$(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[a>>2]=d;c[a+4>>2]=D;l=b;return}function iI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+48>>2];c[g>>2]=0;if(!(c[f>>2]|0)){h=c[g>>2]|0;l=i;return h|0}a=c[d>>2]|0;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=a;c[g>>2]=HH(c[c[f>>2]>>2]|0,196,c[h>>2]|0)|0;h=c[g>>2]|0;l=i;return h|0}else{c[g>>2]=jI(a,c[e>>2]|0)|0;h=c[g>>2]|0;l=i;return h|0}return 0}function jI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=c[c[g>>2]>>2];c[i>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[f>>2]=kI(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[e>>2]|0)|0;do if(!(c[f>>2]|0)){c[j>>2]=c[(c[g>>2]|0)+16>>2];if(c[(c[g>>2]|0)+24>>2]|0){h=c[j>>2]|0;c[f>>2]=JH(c[i>>2]|0,h,((h|0)<0)<<31>>31,(c[g>>2]|0)+32|0)|0;if(c[f>>2]|0)break;j=c[j>>2]|0;c[f>>2]=JH(c[i>>2]|0,j,((j|0)<0)<<31>>31,(c[g>>2]|0)+32+16|0)|0;break}if(!(c[(c[h>>2]|0)+56>>2]|0)){b=(c[h>>2]|0)+56+8|0;c[f>>2]=JH(c[i>>2]|0,c[b>>2]|0,c[b+4>>2]|0,(c[h>>2]|0)+56|0)|0;i=(c[h>>2]|0)+56+8|0;c[i>>2]=0;c[i+4>>2]=0}if(!(c[f>>2]|0)){c[(c[g>>2]|0)+32+16>>2]=c[(c[h>>2]|0)+56>>2];a=(c[h>>2]|0)+56+8|0;b=c[a+4>>2]|0;i=(c[g>>2]|0)+8|0;c[i>>2]=c[a>>2];c[i+4>>2]=b;i=c[j>>2]|0;j=(c[h>>2]|0)+56+8|0;h=j;i=_$(c[h>>2]|0,c[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c[j>>2]=i;c[j+4>>2]=D}}while(0);if((c[f>>2]|0)==0?c[(c[g>>2]|0)+24>>2]|0:0)c[f>>2]=cI(c[g>>2]|0)|0;if(!((c[f>>2]|0)==0&(c[e>>2]|0)!=1)){j=c[f>>2]|0;l=k;return j|0}c[f>>2]=WH(c[d>>2]|0)|0;j=c[f>>2]|0;l=k;return j|0}function kI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[j>>2]=0;c[m>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;a=c[(c[h>>2]|0)+12>>2]|0;if((c[i>>2]|0)==2)c[j>>2]=WH(a+(((c[m>>2]|0)-(c[k>>2]|0)-1|0)*56|0)|0)|0;else c[j>>2]=iI(a+((c[k>>2]|0)*56|0)|0,0)|0;if(c[j>>2]|0){n=7;break}c[k>>2]=(c[k>>2]|0)+1}if((n|0)==7){c[f>>2]=c[j>>2];n=c[f>>2]|0;l=o;return n|0}c[k>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[k>>2]|0)<=0)break;lI(c[h>>2]|0,c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];n=c[f>>2]|0;l=o;return n|0}function lI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+36|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;d=o+4|0;e=o;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>=((c[c[f>>2]>>2]|0)/2|0|0)){c[h>>2]=(c[g>>2]|0)-((c[c[f>>2]>>2]|0)/2|0)<<1;c[i>>2]=(c[h>>2]|0)+1}else{c[h>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+(c[g>>2]<<1<<2)>>2];c[i>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+((c[g>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[i>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[m>>2]|0)+24>>2]|0)){c[j>>2]=c[h>>2];break}c[n>>2]=c[(c[f>>2]|0)+4>>2];c[d>>2]=0;c[e>>2]=Gb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,d,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if((c[e>>2]|0)<=0){c[j>>2]=c[h>>2];break}else{c[j>>2]=c[i>>2];break}}else c[j>>2]=c[i>>2];while(0);c[(c[(c[f>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];l=o;return}function mI(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=jI(c[e>>2]|0,1)|0;c[(c[c[(c[e>>2]|0)+48>>2]>>2]|0)+4>>2]=1;l=d;return c[b>>2]|0}function nI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(Kq(100)|0)a=0;else{a=c[d>>2]|0;a=Xg(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;l=g;return f|0}function oI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;i=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((i|0)<(h|0)|((i|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=r0(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;i=e;c[i>>2]=h;c[i+4>>2]=D;c[d>>2]=(c[d>>2]|0)+1}l=f;return c[d>>2]|0}function pI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+44|0;k=q+40|0;m=q+36|0;n=q+32|0;o=q+28|0;p=q+8|0;f=q+24|0;g=q+20|0;h=q;i=q+16|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;b=c[m>>2]|0;d=c[b+4>>2]|0;e=p;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[g>>2]=0;e=nI(c[k>>2]|0)|0;c[o>>2]=e;c[c[n>>2]>>2]=e;if(!(c[o>>2]|0))c[g>>2]=7;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[k>>2]|0)?(c[g>>2]|0)==0:0))break;b=h;c[b>>2]=0;c[b+4>>2]=0;c[i>>2]=(c[(c[o>>2]|0)+12>>2]|0)+((c[f>>2]|0)*56|0);b=p;c[g>>2]=rI(c[j>>2]|0,(c[j>>2]|0)+40|0,c[b>>2]|0,c[b+4>>2]|0,c[i>>2]|0,h)|0;b=(c[i>>2]|0)+8|0;d=c[b+4>>2]|0;e=p;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[f>>2]=(c[f>>2]|0)+1}if(!(c[g>>2]|0)){o=p;k=o;k=c[k>>2]|0;o=o+4|0;o=c[o>>2]|0;p=c[m>>2]|0;n=p;c[n>>2]=k;p=p+4|0;c[p>>2]=o;p=c[g>>2]|0;l=q;return p|0}ss(c[o>>2]|0);c[c[n>>2]>>2]=0;o=p;k=o;k=c[k>>2]|0;o=o+4|0;o=c[o>>2]|0;p=c[m>>2]|0;n=p;c[n>>2]=k;p=p+4|0;c[p>>2]=o;p=c[g>>2]|0;l=q;return p|0}function qI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+64|0;n=s+48|0;o=s+44|0;r=s+40|0;u=s+36|0;t=s+32|0;p=s+28|0;g=s+24|0;h=s+20|0;q=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;m=s;c[n>>2]=a;c[o>>2]=b;c[r>>2]=d;c[u>>2]=e;c[t>>2]=f;c[p>>2]=0;c[g>>2]=1;c[q>>2]=c[u>>2];c[p>>2]=gI(c[n>>2]|0,c[t>>2]|0,i)|0;c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[o>>2]|0))break;c[g>>2]=c[g>>2]<<4;c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=1;while(1){if(!((c[h>>2]|0)<(c[o>>2]|0)?(c[p>>2]|0)==0:0))break;c[j>>2]=((c[r>>2]|0)/(c[g>>2]|0)|0|0)%16|0;c[k>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0);do if(!(c[(c[k>>2]|0)+48>>2]|0)){c[m>>2]=nI(16)|0;if(!(c[m>>2]|0)){c[p>>2]=7;break}else{c[p>>2]=gI(c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+48|0)|0;break}}while(0);if(!(c[p>>2]|0)){c[q>>2]=c[(c[(c[k>>2]|0)+48>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)/16|0}c[h>>2]=(c[h>>2]|0)+1}a=c[i>>2]|0;if(!(c[p>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[r>>2]|0)%16|0)*56|0)+48>>2]=a;u=c[p>>2]|0;l=s;return u|0}else{vs(a);u=c[p>>2]|0;l=s;return u|0}return 0}function rI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+48|0;o=m+32|0;n=m+28|0;p=m+8|0;k=m+24|0;h=m+20|0;i=m+16|0;j=m;c[o>>2]=a;c[n>>2]=b;b=p;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;c[h>>2]=g;g=p;c[i>>2]=ZH(c[o>>2]|0,c[k>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[i>>2]|0)){o=j;c[o>>2]=0;c[o+4>>2]=0;c[i>>2]=_H(c[k>>2]|0,j)|0;o=c[k>>2]|0;p=j;p=_$(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[k>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=D;o=j;p=c[h>>2]|0;n=p;o=_$(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=D}if(c[i>>2]|0){p=c[i>>2]|0;l=m;return p|0}c[i>>2]=WH(c[k>>2]|0)|0;p=c[i>>2]|0;l=m;return p|0}function sI(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function tI(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=uI(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;l=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;l=f;return g|0}function uI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;if((d[(c[f>>2]|0)+66>>0]|0|0)>=3)a=SD(c[f>>2]|0)|0;else a=0;c[h>>2]=a;if(c[h>>2]|0){c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}else{c[c[g>>2]>>2]=(d[(c[f>>2]|0)+66>>0]|0|0)!=1?1:0;c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}return 0}function vI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(!(a[(c[e>>2]|0)+56>>0]|0)){c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;l=i;return h|0}d=c[e>>2]|0;if(a[b+57>>0]|0)c[h>>2]=c[d+16>>2];else c[h>>2]=(c[(c[d+20>>2]|0)+12>>2]|0)+((c[(c[(c[(c[e>>2]|0)+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;l=i;return h|0}function wI(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;n=t+32|0;o=t+28|0;p=t+24|0;q=t+20|0;r=t+16|0;s=t+12|0;j=t+8|0;k=t+4|0;m=t;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;if(c[c[q>>2]>>2]|0){l=t;return}c[s>>2]=c[(c[n>>2]|0)+56>>2];c[j>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);c[r>>2]=(d[c[j>>2]>>0]|0)<<8|(d[(c[j>>2]|0)+1>>0]|0);c[m>>2]=d[(c[n>>2]|0)+5>>0];if((c[r>>2]|0)>>>0>=((d[(c[s>>2]|0)+((c[m>>2]|0)+5)>>0]|0)<<8|(d[(c[s>>2]|0)+((c[m>>2]|0)+5)+1>>0]|0))>>>0?((c[r>>2]|0)+(c[p>>2]|0)|0)>>>0<=(c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[k>>2]=PI(c[n>>2]|0,c[r>>2]&65535,c[p>>2]&65535)|0;if(c[k>>2]|0){c[c[q>>2]>>2]=c[k>>2];l=t;return}r=(c[n>>2]|0)+18|0;b[r>>1]=(b[r>>1]|0)+-1<<16>>16;if(!(e[(c[n>>2]|0)+18>>1]|0)){r=(c[s>>2]|0)+((c[m>>2]|0)+1)|0;a[r>>0]=0;a[r+1>>0]=0;a[r+2>>0]=0;a[r+3>>0]=0;a[(c[s>>2]|0)+((c[m>>2]|0)+7)>>0]=0;a[(c[s>>2]|0)+((c[m>>2]|0)+5)>>0]=(c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[s>>2]|0)+((c[m>>2]|0)+5)+1>>0]=c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2];b[(c[n>>2]|0)+16>>1]=(c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[n>>2]|0)+5>>0]|0)-(d[(c[n>>2]|0)+6>>0]|0)-8;l=t;return}else{k0(c[j>>2]|0,(c[j>>2]|0)+2|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[(c[s>>2]|0)+((c[m>>2]|0)+3)>>0]=(e[(c[n>>2]|0)+18>>1]|0)>>8;a[(c[s>>2]|0)+((c[m>>2]|0)+3)+1>>0]=b[(c[n>>2]|0)+18>>1];s=(c[n>>2]|0)+16|0;b[s>>1]=(e[s>>1]|0)+2;l=t;return}}s=kn(64508)|0;c[c[q>>2]>>2]=s;l=t;return}function xI(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+48|0;w=z+44|0;x=z+40|0;y=z+36|0;n=z+32|0;o=z+28|0;p=z+24|0;q=z+20|0;r=z+16|0;s=z+12|0;t=z+8|0;u=z+4|0;v=z;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[n>>2]=i;c[o>>2]=j;c[p>>2]=k;c[q>>2]=m;c[r>>2]=0;if((d[(c[w>>2]|0)+1>>0]|0)==0?((c[n>>2]|0)+2|0)<=(e[(c[w>>2]|0)+16>>1]|0):0){c[v>>2]=Jn(c[(c[w>>2]|0)+72>>2]|0)|0;if(c[v>>2]|0){c[c[q>>2]>>2]=c[v>>2];l=z;return}c[t>>2]=c[(c[w>>2]|0)+56>>2];c[v>>2]=RI(c[w>>2]|0,c[n>>2]|0,r)|0;if(c[v>>2]|0){c[c[q>>2]>>2]=c[v>>2];l=z;return}m=(c[w>>2]|0)+16|0;b[m>>1]=(e[m>>1]|0)-(2+(c[n>>2]|0)&65535);h0((c[t>>2]|0)+(c[r>>2]|0)|0,c[y>>2]|0,c[n>>2]|0)|0;if(c[p>>2]|0)Nn((c[t>>2]|0)+(c[r>>2]|0)|0,c[p>>2]|0);c[u>>2]=(c[(c[w>>2]|0)+64>>2]|0)+(c[x>>2]<<1);k0((c[u>>2]|0)+2|0,c[u>>2]|0,(e[(c[w>>2]|0)+18>>1]|0)-(c[x>>2]|0)<<1|0)|0;a[c[u>>2]>>0]=c[r>>2]>>8;a[(c[u>>2]|0)+1>>0]=c[r>>2];m=(c[w>>2]|0)+18|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;m=(c[t>>2]|0)+((d[(c[w>>2]|0)+5>>0]|0)+4)|0;x=(a[m>>0]|0)+1<<24>>24;a[m>>0]=x;if(!(x&255)){x=(c[t>>2]|0)+((d[(c[w>>2]|0)+5>>0]|0)+3)|0;a[x>>0]=(a[x>>0]|0)+1<<24>>24}if(!(a[(c[(c[w>>2]|0)+52>>2]|0)+17>>0]|0)){l=z;return}jq(c[w>>2]|0,c[y>>2]|0,c[q>>2]|0);l=z;return}if(c[o>>2]|0){h0(c[o>>2]|0,c[y>>2]|0,c[n>>2]|0)|0;c[y>>2]=c[o>>2]}if(c[p>>2]|0)Nn(c[y>>2]|0,c[p>>2]|0);k=(c[w>>2]|0)+1|0;m=a[k>>0]|0;a[k>>0]=m+1<<24>>24;c[s>>2]=m&255;c[(c[w>>2]|0)+32+(c[s>>2]<<2)>>2]=c[y>>2];b[(c[w>>2]|0)+22+(c[s>>2]<<1)>>1]=c[x>>2];l=z;return}function yI(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;g=r+32|0;i=r+28|0;j=r+24|0;k=r+36|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;h=r;c[g>>2]=f;c[i>>2]=0;c[j>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[n>>2]=a[(c[g>>2]|0)+68>>0];c[o>>2]=c[(c[g>>2]|0)+120+(c[n>>2]<<2)>>2];f=a[(c[o>>2]|0)+1>>0]|0;if(!(c[n>>2]|0)){if(!(f<<24>>24))break;c[i>>2]=zI(c[o>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[i>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[o>>2]|0)+16>>1]|0)<=(c[j>>2]|0):0)break;c[p>>2]=c[(c[g>>2]|0)+120+((c[n>>2]|0)-1<<2)>>2];c[q>>2]=e[(c[g>>2]|0)+80+((c[n>>2]|0)-1<<1)>>1];c[i>>2]=Jn(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[i>>2]|0)){if((((d[(c[o>>2]|0)+3>>0]|0?(d[(c[o>>2]|0)+1>>0]|0)==1:0)?(e[(c[o>>2]|0)+22>>1]|0)==(e[(c[o>>2]|0)+18>>1]|0):0)?(c[(c[p>>2]|0)+84>>2]|0)!=1:0)?(e[(c[p>>2]|0)+18>>1]|0)==(c[q>>2]|0):0){c[i>>2]=AI(c[p>>2]|0,c[o>>2]|0,k)|0;break}c[h>>2]=yl(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[i>>2]=BI(c[p>>2]|0,c[q>>2]|0,c[h>>2]|0,(c[n>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)Bl(c[m>>2]|0);c[m>>2]=c[h>>2]}while(0);a[(c[o>>2]|0)+1>>0]=0;cq(c[o>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while(!(c[i>>2]|0));if(!(c[m>>2]|0)){q=c[i>>2]|0;l=r;return q|0}Bl(c[m>>2]|0);q=c[i>>2]|0;l=r;return q|0}function zI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[(c[g>>2]|0)+52>>2];c[i>>2]=Jn(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[i>>2]|0)==0?(c[i>>2]=bq(c[m>>2]|0,j,k,c[(c[g>>2]|0)+84>>2]|0,0)|0,HI(c[g>>2]|0,c[j>>2]|0,i),a[(c[m>>2]|0)+17>>0]|0):0)hq(c[m>>2]|0,c[k>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,i);if(c[i>>2]|0){c[c[h>>2]>>2]=0;cq(c[j>>2]|0);c[f>>2]=c[i>>2];m=c[f>>2]|0;l=n;return m|0}else{h0((c[j>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;h0((c[j>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[j>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;Tq(c[g>>2]|0,d[c[(c[j>>2]|0)+56>>2]>>0]&-9);Nn((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[k>>2]|0);c[c[h>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}return 0}function AI(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;o=v+40|0;p=v+36|0;q=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;i=v+12|0;j=v+8|0;k=v+4|0;m=v+44|0;n=v;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=c[(c[q>>2]|0)+52>>2];if(!(e[(c[q>>2]|0)+18>>1]|0)){c[o>>2]=kn(65006)|0;u=c[o>>2]|0;l=v;return u|0}c[u>>2]=bq(c[s>>2]|0,t,i,0,0)|0;if(!(c[u>>2]|0)){c[j>>2]=(c[r>>2]|0)+4;c[k>>2]=c[(c[q>>2]|0)+32>>2];b[m>>1]=Mb[c[(c[q>>2]|0)+76>>2]&255](c[q>>2]|0,c[k>>2]|0)|0;Tq(c[t>>2]|0,13);c[u>>2]=NI(c[t>>2]|0,1,k,m)|0;if(c[u>>2]|0){c[o>>2]=c[u>>2];u=c[o>>2]|0;l=v;return u|0}b[(c[t>>2]|0)+16>>1]=(c[(c[s>>2]|0)+36>>2]|0)-(e[(c[t>>2]|0)+14>>1]|0)-2-(e[m>>1]|0);if(a[(c[s>>2]|0)+17>>0]|0?(hq(c[s>>2]|0,c[i>>2]|0,5,c[(c[p>>2]|0)+84>>2]|0,u),(e[m>>1]|0)>(e[(c[t>>2]|0)+12>>1]|0)):0)jq(c[t>>2]|0,c[k>>2]|0,u);c[k>>2]=(c[(c[q>>2]|0)+56>>2]|0)+(e[(c[q>>2]|0)+20>>1]&(d[(c[(c[q>>2]|0)+64>>2]|0)+((e[(c[q>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[q>>2]|0)+64>>2]|0)+((e[(c[q>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[n>>2]=(c[k>>2]|0)+9;do{s=c[k>>2]|0;c[k>>2]=s+1;if(!(d[s>>0]&128))break}while((c[k>>2]|0)>>>0<(c[n>>2]|0)>>>0);c[n>>2]=(c[k>>2]|0)+9;do{s=c[k>>2]|0;c[k>>2]=s+1;s=a[s>>0]|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=s;if(!(s&128))break}while((c[k>>2]|0)>>>0<(c[n>>2]|0)>>>0);if(!(c[u>>2]|0))xI(c[p>>2]|0,e[(c[p>>2]|0)+18>>1]|0,c[r>>2]|0,(c[j>>2]|0)-(c[r>>2]|0)|0,0,c[(c[q>>2]|0)+84>>2]|0,u);Nn((c[(c[p>>2]|0)+56>>2]|0)+((d[(c[p>>2]|0)+5>>0]|0)+8)|0,c[i>>2]|0);cq(c[t>>2]|0)}c[o>>2]=c[u>>2];u=c[o>>2]|0;l=v;return u|0}function BI(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=l;l=l+448|0;va=Da+412|0;wa=Da+408|0;k=Da+404|0;fa=Da+400|0;Ca=Da+396|0;C=Da+392|0;ga=Da+388|0;n=Da+384|0;ha=Da+380|0;ia=Da+376|0;ja=Da+372|0;D=Da+368|0;E=Da+364|0;F=Da+360|0;ka=Da+356|0;la=Da+430|0;ma=Da+352|0;na=Da+348|0;G=Da+344|0;o=Da+340|0;H=Da+336|0;p=Da+332|0;oa=Da+320|0;pa=Da+300|0;I=Da+296|0;q=Da+288|0;qa=Da+264|0;ra=Da+244|0;sa=Da+224|0;r=Da+220|0;J=Da+216|0;ta=Da+432|0;K=Da+196|0;L=Da+176|0;M=Da+420|0;ua=Da+160|0;m=Da+152|0;s=Da+148|0;t=Da+144|0;u=Da+140|0;v=Da+418|0;w=Da+136|0;x=Da+132|0;y=Da+416|0;z=Da+128|0;A=Da+124|0;B=Da+120|0;N=Da+116|0;O=Da+112|0;P=Da+108|0;Q=Da+104|0;R=Da+100|0;S=Da+96|0;T=Da+92|0;U=Da+88|0;V=Da+84|0;W=Da+80|0;X=Da+76|0;Y=Da+72|0;Z=Da+68|0;_=Da+64|0;$=Da+60|0;aa=Da+56|0;ba=Da+52|0;ca=Da+48|0;da=Da+44|0;ea=Da;xa=Da+40|0;ya=Da+36|0;za=Da+32|0;Aa=Da+28|0;Ba=Da+24|0;c[wa>>2]=f;c[k>>2]=g;c[fa>>2]=h;c[Ca>>2]=i;c[C>>2]=j;c[n>>2]=0;c[ha>>2]=0;c[ka>>2]=0;c[o>>2]=0;c[H>>2]=0;a[ta>>0]=0;a[ta+1>>0]=0;a[ta+2>>0]=0;a[ta+3>>0]=0;a[ta+4>>0]=0;c[ua>>2]=0;c[ua+8>>2]=0;c[ga>>2]=c[(c[wa>>2]|0)+52>>2];if(!(c[fa>>2]|0)){c[va>>2]=7;Ca=c[va>>2]|0;l=Da;return Ca|0}c[ja>>2]=(d[(c[wa>>2]|0)+1>>0]|0)+(e[(c[wa>>2]|0)+18>>1]|0);if((c[ja>>2]|0)<2)c[F>>2]=0;else{do if(c[k>>2]|0)if((c[k>>2]|0)==(c[ja>>2]|0)){c[F>>2]=(c[ja>>2]|0)-2+(c[C>>2]|0);break}else{c[F>>2]=(c[k>>2]|0)-1;break}else c[F>>2]=0;while(0);c[ja>>2]=2-(c[C>>2]|0)}c[ia>>2]=(c[ja>>2]|0)+1;f=c[(c[wa>>2]|0)+56>>2]|0;g=c[wa>>2]|0;if(((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)|0)==(e[(c[wa>>2]|0)+18>>1]|0))c[I>>2]=f+((d[g+5>>0]|0)+8);else c[I>>2]=f+(e[g+20>>1]&(d[(c[(c[wa>>2]|0)+64>>2]|0)+((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[wa>>2]|0)+64>>2]|0)+((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)<<1)+1>>0]));c[J>>2]=Vl(c[I>>2]|0)|0;while(1){c[ka>>2]=WD(c[ga>>2]|0,c[J>>2]|0,oa+(c[ja>>2]<<2)|0,0,0)|0;if(c[ka>>2]|0){g=16;break}c[n>>2]=(c[n>>2]|0)+(1+(e[(c[oa+(c[ja>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[oa+(c[ja>>2]<<2)>>2]|0)+1>>0]|0));k=c[ja>>2]|0;c[ja>>2]=k+-1;if(!k){g=26;break}if(((c[ja>>2]|0)+(c[F>>2]|0)|0)==(e[(c[wa>>2]|0)+22>>1]|0)?d[(c[wa>>2]|0)+1>>0]|0:0){c[q+(c[ja>>2]<<2)>>2]=c[(c[wa>>2]|0)+32>>2];c[J>>2]=Vl(c[q+(c[ja>>2]<<2)>>2]|0)|0;k=(Mb[c[(c[wa>>2]|0)+76>>2]&255](c[wa>>2]|0,c[q+(c[ja>>2]<<2)>>2]|0)|0)&65535;c[sa+(c[ja>>2]<<2)>>2]=k;a[(c[wa>>2]|0)+1>>0]=0;continue}c[q+(c[ja>>2]<<2)>>2]=(c[(c[wa>>2]|0)+56>>2]|0)+(e[(c[wa>>2]|0)+20>>1]&(d[(c[(c[wa>>2]|0)+64>>2]|0)+((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[wa>>2]|0)+64>>2]|0)+((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)<<1)+1>>0]));c[J>>2]=Vl(c[q+(c[ja>>2]<<2)>>2]|0)|0;k=(Mb[c[(c[wa>>2]|0)+76>>2]&255](c[wa>>2]|0,c[q+(c[ja>>2]<<2)>>2]|0)|0)&65535;c[sa+(c[ja>>2]<<2)>>2]=k;if(e[(c[ga>>2]|0)+22>>1]&4|0){c[m>>2]=(c[q+(c[ja>>2]<<2)>>2]|0)-(c[(c[wa>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[sa+(c[ja>>2]<<2)>>2]|0)|0)>(c[(c[ga>>2]|0)+36>>2]|0)){g=23;break}h0((c[fa>>2]|0)+(c[m>>2]|0)|0,c[q+(c[ja>>2]<<2)>>2]|0,c[sa+(c[ja>>2]<<2)>>2]|0)|0;c[q+(c[ja>>2]<<2)>>2]=(c[fa>>2]|0)+((c[q+(c[ja>>2]<<2)>>2]|0)-(c[(c[wa>>2]|0)+56>>2]|0))}wI(c[wa>>2]|0,(c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)|0,c[sa+(c[ja>>2]<<2)>>2]|0,ka)}a:do if((g|0)==16)m0(oa|0,0,(c[ja>>2]|0)+1<<2|0)|0;else if((g|0)==23){c[ka>>2]=kn(65347)|0;m0(oa|0,0,(c[ja>>2]|0)+1<<2|0)|0}else if((g|0)==26){c[n>>2]=(c[n>>2]|0)+3&-4;c[p>>2]=(c[n>>2]<<2)+(c[n>>2]<<1)+(c[(c[ga>>2]|0)+32>>2]|0);c[ua+8>>2]=CI(c[p>>2]|0)|0;if(!(c[ua+8>>2]|0)){c[ka>>2]=7;break}c[ua+12>>2]=(c[ua+8>>2]|0)+(c[n>>2]<<2);c[r>>2]=(c[ua+12>>2]|0)+(c[n>>2]<<1);c[ua+4>>2]=c[oa>>2];b[la>>1]=d[(c[ua+4>>2]|0)+4>>0]<<2;c[ma>>2]=d[(c[ua+4>>2]|0)+3>>0];c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ia>>2]|0))break;c[s>>2]=c[oa+(c[ja>>2]<<2)>>2];c[t>>2]=e[(c[s>>2]|0)+18>>1];c[u>>2]=c[(c[s>>2]|0)+56>>2];b[v>>1]=b[(c[s>>2]|0)+20>>1]|0;c[w>>2]=(c[u>>2]|0)+(e[(c[s>>2]|0)+14>>1]|0);if((d[c[(c[s>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[oa>>2]|0)+56>>2]>>0]|0)){g=31;break}m0((c[ua+12>>2]|0)+(c[ua>>2]<<1)|0,0,(c[t>>2]|0)+(d[(c[s>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[s>>2]|0)+1>>0]|0)>0){c[t>>2]=e[(c[s>>2]|0)+22>>1];c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[t>>2]|0))break;c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]=(c[u>>2]|0)+(e[v>>1]&(d[c[w>>2]>>0]<<8|d[(c[w>>2]|0)+1>>0]));c[w>>2]=(c[w>>2]|0)+2;c[ua>>2]=(c[ua>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(d[(c[s>>2]|0)+1>>0]|0))break b;c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]=c[(c[s>>2]|0)+32+(c[E>>2]<<2)>>2];c[ua>>2]=(c[ua>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+1}}while(0);c[x>>2]=(c[u>>2]|0)+(e[(c[s>>2]|0)+14>>1]|0)+(e[(c[s>>2]|0)+18>>1]<<1);while(1){if((c[w>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]=(c[u>>2]|0)+(e[v>>1]&(d[c[w>>2]>>0]<<8|d[(c[w>>2]|0)+1>>0]));c[w>>2]=(c[w>>2]|0)+2;c[ua>>2]=(c[ua>>2]|0)+1}c[ra+(c[ja>>2]<<2)>>2]=c[ua>>2];if(!(c[ma>>2]|0?1:(c[ja>>2]|0)>=((c[ia>>2]|0)-1|0))){b[y>>1]=c[sa+(c[ja>>2]<<2)>>2];b[(c[ua+12>>2]|0)+(c[ua>>2]<<1)>>1]=b[y>>1]|0;c[z>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(e[y>>1]|0);h0(c[z>>2]|0,c[q+(c[ja>>2]<<2)>>2]|0,e[y>>1]|0)|0;c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]=(c[z>>2]|0)+(e[la>>1]|0);b[(c[ua+12>>2]|0)+(c[ua>>2]<<1)>>1]=(e[(c[ua+12>>2]|0)+(c[ua>>2]<<1)>>1]|0)-(e[la>>1]|0);c:do if(a[(c[s>>2]|0)+4>>0]|0)while(1){if((e[(c[ua+12>>2]|0)+(c[ua>>2]<<1)>>1]|0)>=4)break c;n=c[r>>2]|0;p=c[o>>2]|0;c[o>>2]=p+1;a[n+p>>0]=0;p=(c[ua+12>>2]|0)+(c[ua>>2]<<1)|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16}else{p=c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]|0;n=(c[(c[s>>2]|0)+56>>2]|0)+8|0;a[p>>0]=a[n>>0]|0;a[p+1>>0]=a[n+1>>0]|0;a[p+2>>0]=a[n+2>>0]|0;a[p+3>>0]=a[n+3>>0]|0}while(0);c[ua>>2]=(c[ua>>2]|0)+1}c[ja>>2]=(c[ja>>2]|0)+1}if((g|0)==31){c[ka>>2]=kn(65414)|0;break}c[na>>2]=(c[(c[ga>>2]|0)+36>>2]|0)-12+(e[la>>1]|0);c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ia>>2]|0))break;c[A>>2]=c[oa+(c[ja>>2]<<2)>>2];c[sa+(c[ja>>2]<<2)>>2]=(c[na>>2]|0)-(e[(c[A>>2]|0)+16>>1]|0);if((c[sa+(c[ja>>2]<<2)>>2]|0)<0){g=52;break}c[D>>2]=0;while(1){if((c[D>>2]|0)>=(d[(c[A>>2]|0)+1>>0]|0))break;y=2+((Mb[c[(c[A>>2]|0)+76>>2]&255](c[A>>2]|0,c[(c[A>>2]|0)+32+(c[D>>2]<<2)>>2]|0)|0)&65535)|0;z=sa+(c[ja>>2]<<2)|0;c[z>>2]=(c[z>>2]|0)+y;c[D>>2]=(c[D>>2]|0)+1}c[qa+(c[ja>>2]<<2)>>2]=c[ra+(c[ja>>2]<<2)>>2];c[ja>>2]=(c[ja>>2]|0)+1}if((g|0)==52){c[ka>>2]=kn(65512)|0;break}c[E>>2]=c[ia>>2];c[ja>>2]=0;d:while(1){if((c[ja>>2]|0)>=(c[E>>2]|0)){g=83;break}while(1){if((c[sa+(c[ja>>2]<<2)>>2]|0)<=(c[na>>2]|0))break;if(((c[ja>>2]|0)+1|0)>=(c[E>>2]|0)){c[E>>2]=(c[ja>>2]|0)+2;if((c[E>>2]|0)>5){g=62;break d}c[sa+((c[E>>2]|0)-1<<2)>>2]=0;c[qa+((c[E>>2]|0)-1<<2)>>2]=c[ua>>2]}c[B>>2]=2+((DI(ua,(c[qa+(c[ja>>2]<<2)>>2]|0)-1|0)|0)&65535);A=sa+(c[ja>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[ma>>2]|0))if((c[qa+(c[ja>>2]<<2)>>2]|0)<(c[ua>>2]|0)){c[B>>2]=2+((DI(ua,c[qa+(c[ja>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=sa+((c[ja>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=qa+(c[ja>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[qa+(c[ja>>2]<<2)>>2]|0)>=(c[ua>>2]|0))break;c[B>>2]=2+((DI(ua,c[qa+(c[ja>>2]<<2)>>2]|0)|0)&65535);if(((c[sa+(c[ja>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[na>>2]|0))break;A=sa+(c[ja>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=qa+(c[ja>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[ma>>2]|0))if((c[qa+(c[ja>>2]<<2)>>2]|0)<(c[ua>>2]|0)){c[B>>2]=2+((DI(ua,c[qa+(c[ja>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=sa+((c[ja>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}f=c[ja>>2]|0;if((c[qa+(c[ja>>2]<<2)>>2]|0)<(c[ua>>2]|0)){if((c[ja>>2]|0)>0)g=c[qa+((c[ja>>2]|0)-1<<2)>>2]|0;else g=0;if((c[qa+(f<<2)>>2]|0)<=(g|0)){g=81;break}}else c[E>>2]=f+1;c[ja>>2]=(c[ja>>2]|0)+1}if((g|0)==62){c[ka>>2]=kn(65524)|0;break}else if((g|0)==81){c[ka>>2]=kn(65557)|0;break}else if((g|0)==83){c[ja>>2]=(c[E>>2]|0)-1;while(1){if((c[ja>>2]|0)<=0)break;c[N>>2]=c[sa+(c[ja>>2]<<2)>>2];c[O>>2]=c[sa+((c[ja>>2]|0)-1<<2)>>2];c[P>>2]=(c[qa+((c[ja>>2]|0)-1<<2)>>2]|0)-1;c[Q>>2]=(c[P>>2]|0)+1-(c[ma>>2]|0);DI(ua,c[Q>>2]|0)|0;do{DI(ua,c[P>>2]|0)|0;if(c[N>>2]|0){if(c[C>>2]|0)break;if(((c[N>>2]|0)+(e[(c[ua+12>>2]|0)+(c[Q>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ua+12>>2]|0)+(c[P>>2]<<1)>>1]|0)+((c[ja>>2]|0)==((c[E>>2]|0)-1|0)?0:2))|0))break}c[N>>2]=(c[N>>2]|0)+((e[(c[ua+12>>2]|0)+(c[Q>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ua+12>>2]|0)+(c[P>>2]<<1)>>1]|0)+2);c[qa+((c[ja>>2]|0)-1<<2)>>2]=c[P>>2];c[P>>2]=(c[P>>2]|0)+-1;c[Q>>2]=(c[Q>>2]|0)+-1}while((c[P>>2]|0)>=0);c[sa+(c[ja>>2]<<2)>>2]=c[N>>2];c[sa+((c[ja>>2]|0)-1<<2)>>2]=c[O>>2];if((c[ja>>2]|0)>1)f=c[qa+((c[ja>>2]|0)-2<<2)>>2]|0;else f=0;if((c[qa+((c[ja>>2]|0)-1<<2)>>2]|0)<=(f|0)){g=93;break}c[ja>>2]=(c[ja>>2]|0)+-1}if((g|0)==93){c[ka>>2]=kn(65599)|0;break}c[G>>2]=d[c[(c[oa>>2]|0)+56>>2]>>0];c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[E>>2]|0))break;if((c[ja>>2]|0)<(c[ia>>2]|0)){Q=c[oa+(c[ja>>2]<<2)>>2]|0;c[pa+(c[ja>>2]<<2)>>2]=Q;c[R>>2]=Q;c[oa+(c[ja>>2]<<2)>>2]=0;c[ka>>2]=Jn(c[(c[R>>2]|0)+72>>2]|0)|0;c[ha>>2]=(c[ha>>2]|0)+1;if(c[ka>>2]|0)break a}else{c[ka>>2]=bq(c[ga>>2]|0,R,J,c[C>>2]|0?1:c[J>>2]|0,0)|0;if(c[ka>>2]|0)break a;Tq(c[R>>2]|0,c[G>>2]|0);c[pa+(c[ja>>2]<<2)>>2]=c[R>>2];c[ha>>2]=(c[ha>>2]|0)+1;c[ra+(c[ja>>2]<<2)>>2]=c[ua>>2];if(a[(c[ga>>2]|0)+17>>0]|0?(hq(c[ga>>2]|0,c[(c[R>>2]|0)+84>>2]|0,5,c[(c[wa>>2]|0)+84>>2]|0,ka),c[ka>>2]|0):0)break a}c[ja>>2]=(c[ja>>2]|0)+1}c[ja>>2]=0;e:while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break;R=c[(c[pa+(c[ja>>2]<<2)>>2]|0)+84>>2]|0;c[K+(c[ja>>2]<<2)>>2]=R;c[L+(c[ja>>2]<<2)>>2]=R;b[M+(c[ja>>2]<<1)>>1]=b[(c[(c[pa+(c[ja>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[ja>>2]|0))break;if((c[K+(c[D>>2]<<2)>>2]|0)==(c[K+(c[ja>>2]<<2)>>2]|0)){g=108;break e}c[D>>2]=(c[D>>2]|0)+1}c[ja>>2]=(c[ja>>2]|0)+1}if((g|0)==108){c[ka>>2]=kn(65673)|0;break}c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break;c[S>>2]=0;c[D>>2]=1;while(1){if((c[D>>2]|0)>=(c[ha>>2]|0))break;if((c[L+(c[D>>2]<<2)>>2]|0)>>>0<(c[L+(c[S>>2]<<2)>>2]|0)>>>0)c[S>>2]=c[D>>2];c[D>>2]=(c[D>>2]|0)+1}c[J>>2]=c[L+(c[S>>2]<<2)>>2];c[L+(c[S>>2]<<2)>>2]=-1;if((c[S>>2]|0)!=(c[ja>>2]|0)){if((c[S>>2]|0)>(c[ja>>2]|0))EI(c[(c[pa+(c[S>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[ga>>2]|0)+44>>2]|0)+(c[S>>2]|0)+1|0,0);EI(c[(c[pa+(c[ja>>2]<<2)>>2]|0)+72>>2]|0,c[J>>2]|0,b[M+(c[S>>2]<<1)>>1]|0);c[(c[pa+(c[ja>>2]<<2)>>2]|0)+84>>2]=c[J>>2]}c[ja>>2]=(c[ja>>2]|0)+1}Nn(c[I>>2]|0,c[(c[pa+((c[ha>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[G>>2]&8|0)==0?(c[ia>>2]|0)!=(c[ha>>2]|0):0){c[T>>2]=c[((c[ha>>2]|0)>(c[ia>>2]|0)?pa:oa)+((c[ia>>2]|0)-1<<2)>>2];S=(c[(c[pa+((c[ha>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;T=(c[(c[T>>2]|0)+56>>2]|0)+8|0;a[S>>0]=a[T>>0]|0;a[S+1>>0]=a[T+1>>0]|0;a[S+2>>0]=a[T+2>>0]|0;a[S+3>>0]=a[T+3>>0]|0}f:do if(a[(c[ga>>2]|0)+17>>0]|0){c[U>>2]=c[pa>>2];c[V>>2]=c[(c[U>>2]|0)+56>>2];c[W>>2]=(e[(c[U>>2]|0)+18>>1]|0)+(d[(c[U>>2]|0)+1>>0]|0);c[X>>2]=c[(c[ga>>2]|0)+36>>2];c[Y>>2]=0;c[Z>>2]=0;c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ua>>2]|0))break f;c[_>>2]=c[(c[ua+8>>2]|0)+(c[ja>>2]<<2)>>2];if((c[ja>>2]|0)==(c[W>>2]|0)){S=(c[Z>>2]|0)+1|0;c[Z>>2]=S;T=c[Z>>2]|0;c[$>>2]=c[((S|0)<(c[ha>>2]|0)?pa+(T<<2)|0:oa+(T<<2)|0)>>2];c[W>>2]=(c[W>>2]|0)+((e[(c[$>>2]|0)+18>>1]|0)+(d[(c[$>>2]|0)+1>>0]|0)+(((c[ma>>2]|0)!=0^1)&1));c[V>>2]=c[(c[$>>2]|0)+56>>2]}if(!((c[ja>>2]|0)==(c[qa+(c[Y>>2]<<2)>>2]|0)?(T=(c[Y>>2]|0)+1|0,c[Y>>2]=T,c[U>>2]=c[pa+(T<<2)>>2],!(c[ma>>2]|0)):0))g=133;do if((g|0)==133){g=0;if((((c[Z>>2]|0)<(c[ha>>2]|0)?(c[(c[U>>2]|0)+84>>2]|0)==(c[K+(c[Z>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[V>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[V>>2]|0)+(c[X>>2]|0)|0)>>>0:0)break;if(!(b[la>>1]|0)){S=c[ga>>2]|0;T=Vl(c[_>>2]|0)|0;hq(S,T,5,c[(c[U>>2]|0)+84>>2]|0,ka)}T=(DI(ua,c[ja>>2]|0)|0)&65535;if((T|0)>(e[(c[U>>2]|0)+12>>1]|0))jq(c[U>>2]|0,c[_>>2]|0,ka);if(c[ka>>2]|0)break a}while(0);c[ja>>2]=(c[ja>>2]|0)+1}}while(0);c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=((c[ha>>2]|0)-1|0))break;c[da>>2]=c[pa+(c[ja>>2]<<2)>>2];c[D>>2]=c[qa+(c[ja>>2]<<2)>>2];c[aa>>2]=c[(c[ua+8>>2]|0)+(c[D>>2]<<2)>>2];c[ca>>2]=(e[(c[ua+12>>2]|0)+(c[D>>2]<<1)>>1]|0)+(e[la>>1]|0);c[ba>>2]=(c[fa>>2]|0)+(c[H>>2]|0);do if(a[(c[da>>2]|0)+4>>0]|0){if(c[ma>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;Ib[c[(c[da>>2]|0)+80>>2]&255](c[da>>2]|0,c[(c[ua+8>>2]|0)+(c[D>>2]<<2)>>2]|0,ea);c[aa>>2]=c[ba>>2];$=ea;c[ca>>2]=4+(_F((c[aa>>2]|0)+4|0,c[$>>2]|0,c[$+4>>2]|0)|0);c[ba>>2]=0;break}c[aa>>2]=(c[aa>>2]|0)+-4;if((e[(c[ua+12>>2]|0)+(c[D>>2]<<1)>>1]|0)==4)c[ca>>2]=(Mb[c[(c[wa>>2]|0)+76>>2]&255](c[wa>>2]|0,c[aa>>2]|0)|0)&65535}else{$=(c[(c[da>>2]|0)+56>>2]|0)+8|0;_=c[aa>>2]|0;a[$>>0]=a[_>>0]|0;a[$+1>>0]=a[_+1>>0]|0;a[$+2>>0]=a[_+2>>0]|0;a[$+3>>0]=a[_+3>>0]|0}while(0);c[H>>2]=(c[H>>2]|0)+(c[ca>>2]|0);xI(c[wa>>2]|0,(c[F>>2]|0)+(c[ja>>2]|0)|0,c[aa>>2]|0,c[ca>>2]|0,c[ba>>2]|0,c[(c[da>>2]|0)+84>>2]|0,ka);if(c[ka>>2]|0)break a;c[ja>>2]=(c[ja>>2]|0)+1}c[ja>>2]=1-(c[ha>>2]|0);while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break;fa=c[ja>>2]|0;c[xa>>2]=(c[ja>>2]|0)<0?0-fa|0:fa;do if(!(a[ta+(c[xa>>2]|0)>>0]|0)){if((c[ja>>2]|0)<0?(c[ra+((c[xa>>2]|0)-1<<2)>>2]|0)<(c[qa+((c[xa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[xa>>2]|0)){c[za>>2]=0;c[ya>>2]=0;c[Aa>>2]=c[qa>>2]}else{if((c[xa>>2]|0)<(c[ia>>2]|0))f=(c[ra+((c[xa>>2]|0)-1<<2)>>2]|0)+(((c[ma>>2]|0)!=0^1)&1)|0;else f=c[ua>>2]|0;c[za>>2]=f;c[ya>>2]=(c[qa+((c[xa>>2]|0)-1<<2)>>2]|0)+(((c[ma>>2]|0)!=0^1)&1);c[Aa>>2]=(c[qa+(c[xa>>2]<<2)>>2]|0)-(c[ya>>2]|0)}c[ka>>2]=FI(c[pa+(c[xa>>2]<<2)>>2]|0,c[za>>2]|0,c[ya>>2]|0,c[Aa>>2]|0,ua)|0;if(c[ka>>2]|0)break a;fa=ta+(c[xa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[pa+(c[xa>>2]<<2)>>2]|0)+16>>1]=(c[na>>2]|0)-(c[sa+(c[xa>>2]<<2)>>2]|0)}while(0);c[ja>>2]=(c[ja>>2]|0)+1}if((c[Ca>>2]|0?(e[(c[wa>>2]|0)+18>>1]|0)==0:0)?(d[(c[wa>>2]|0)+5>>0]|0)<=(e[(c[pa>>2]|0)+16>>1]|0):0){c[ka>>2]=GI(c[pa>>2]|0)|0;HI(c[pa>>2]|0,c[wa>>2]|0,ka);wH(c[pa>>2]|0,ka)}else g=171;g:do if((g|0)==171?!(b[la>>1]|0?1:(d[(c[ga>>2]|0)+17>>0]|0)==0):0){c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break g;c[Ba>>2]=Vl((c[(c[pa+(c[ja>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;hq(c[ga>>2]|0,c[Ba>>2]|0,5,c[(c[pa+(c[ja>>2]<<2)>>2]|0)+84>>2]|0,ka);c[ja>>2]=(c[ja>>2]|0)+1}}while(0);c[ja>>2]=c[ha>>2];while(1){if((c[ja>>2]|0)>=(c[ia>>2]|0))break a;wH(c[oa+(c[ja>>2]<<2)>>2]|0,ka);c[ja>>2]=(c[ja>>2]|0)+1}}}while(0);II(c[ua+8>>2]|0);c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ia>>2]|0))break;cq(c[oa+(c[ja>>2]<<2)>>2]|0);c[ja>>2]=(c[ja>>2]|0)+1}c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break;cq(c[pa+(c[ja>>2]<<2)>>2]|0);c[ja>>2]=(c[ja>>2]|0)+1}c[va>>2]=c[ka>>2];Ca=c[va>>2]|0;l=Da;return Ca|0}function CI(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;td(c[13620]|0);Hd(8,c[b>>2]|0);if(c[13626]|0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[13625];c[13625]=c[c[13625]>>2];c[13626]=(c[13626]|0)+-1;Ld(3,1);ud(c[13620]|0);d=c[d>>2]|0;l=e;return d|0}ud(c[13620]|0);b=c[b>>2]|0;c[d>>2]=Fd(b,((b|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;l=e;return d|0}td(c[13620]|0);Ld(4,Kd(c[d>>2]|0)|0);ud(c[13620]|0);d=c[d>>2]|0;l=e;return d|0}function DI(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=d;a=c[h>>2]|0;if(b[(c[(c[h>>2]|0)+12>>2]|0)+(c[f>>2]<<1)>>1]|0){b[e>>1]=b[(c[a+12>>2]|0)+(c[f>>2]<<1)>>1]|0;h=b[e>>1]|0;l=g;return h|0}else{b[e>>1]=QI(a,c[f>>2]|0)|0;h=b[e>>1]|0;l=g;return h|0}return 0}function EI(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=f+4|0;g=f;i=f+8|0;c[h>>2]=a;c[g>>2]=d;b[i>>1]=e;b[(c[h>>2]|0)+24>>1]=b[i>>1]|0;kq(c[h>>2]|0,c[g>>2]|0);l=f;return}function FI(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;y=D+68|0;z=D+64|0;A=D+60|0;B=D+56|0;C=D+52|0;o=D+48|0;p=D+44|0;q=D+40|0;r=D+36|0;s=D+32|0;t=D+28|0;u=D+24|0;v=D+20|0;k=D+16|0;m=D+12|0;n=D+8|0;w=D+4|0;x=D;c[z>>2]=f;c[A>>2]=g;c[B>>2]=h;c[C>>2]=i;c[o>>2]=j;c[p>>2]=c[(c[z>>2]|0)+56>>2];c[q>>2]=d[(c[z>>2]|0)+5>>0];c[r>>2]=(c[(c[z>>2]|0)+64>>2]|0)+(c[C>>2]<<1);c[s>>2]=e[(c[z>>2]|0)+18>>1];c[k>>2]=(c[A>>2]|0)+(e[(c[z>>2]|0)+18>>1]|0)+(d[(c[z>>2]|0)+1>>0]|0);c[m>>2]=(c[B>>2]|0)+(c[C>>2]|0);if((c[A>>2]|0)<(c[B>>2]|0)){c[n>>2]=KI(c[z>>2]|0,c[A>>2]|0,(c[B>>2]|0)-(c[A>>2]|0)|0,c[o>>2]|0)|0;k0(c[(c[z>>2]|0)+64>>2]|0,(c[(c[z>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[s>>2]<<1|0)|0;c[s>>2]=(c[s>>2]|0)-(c[n>>2]|0)}if((c[m>>2]|0)<(c[k>>2]|0)){j=KI(c[z>>2]|0,c[m>>2]|0,(c[k>>2]|0)-(c[m>>2]|0)|0,c[o>>2]|0)|0;c[s>>2]=(c[s>>2]|0)-j}c[t>>2]=(c[p>>2]|0)+((((d[(c[p>>2]|0)+((c[q>>2]|0)+5)>>0]|0)<<8|(d[(c[p>>2]|0)+((c[q>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[t>>2]|0)>>>0>=(c[r>>2]|0)>>>0){if((c[B>>2]|0)<(c[A>>2]|0)){if((c[C>>2]|0)<((c[A>>2]|0)-(c[B>>2]|0)|0))f=c[C>>2]|0;else f=(c[A>>2]|0)-(c[B>>2]|0)|0;c[w>>2]=f;c[u>>2]=c[(c[z>>2]|0)+64>>2];k0((c[u>>2]|0)+(c[w>>2]<<1)|0,c[u>>2]|0,c[s>>2]<<1|0)|0;if(LI(c[z>>2]|0,c[r>>2]|0,t,c[u>>2]|0,c[B>>2]|0,c[w>>2]|0,c[o>>2]|0)|0)break;c[s>>2]=(c[s>>2]|0)+(c[w>>2]|0)}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(d[(c[z>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[A>>2]|0)+(e[(c[z>>2]|0)+22+(c[v>>2]<<1)>>1]|0)-(c[B>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[C>>2]|0):0)?(c[u>>2]=(c[(c[z>>2]|0)+64>>2]|0)+(c[x>>2]<<1),k0((c[u>>2]|0)+2|0,c[u>>2]|0,(c[s>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[s>>2]=(c[s>>2]|0)+1,LI(c[z>>2]|0,c[r>>2]|0,t,c[u>>2]|0,(c[x>>2]|0)+(c[B>>2]|0)|0,1,c[o>>2]|0)|0):0)break a;c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=(c[(c[z>>2]|0)+64>>2]|0)+(c[s>>2]<<1);if(!(LI(c[z>>2]|0,c[r>>2]|0,t,c[u>>2]|0,(c[B>>2]|0)+(c[s>>2]|0)|0,(c[C>>2]|0)-(c[s>>2]|0)|0,c[o>>2]|0)|0)){b[(c[z>>2]|0)+18>>1]=c[C>>2];a[(c[z>>2]|0)+1>>0]=0;a[(c[p>>2]|0)+((c[q>>2]|0)+3)>>0]=(e[(c[z>>2]|0)+18>>1]|0)>>8;a[(c[p>>2]|0)+((c[q>>2]|0)+3)+1>>0]=b[(c[z>>2]|0)+18>>1];a[(c[p>>2]|0)+((c[q>>2]|0)+5)>>0]=(c[t>>2]|0)-(c[p>>2]|0)>>8;a[(c[p>>2]|0)+((c[q>>2]|0)+5)+1>>0]=(c[t>>2]|0)-(c[p>>2]|0);c[y>>2]=0;C=c[y>>2]|0;l=D;return C|0}}while(0);MI(c[o>>2]|0,c[B>>2]|0,c[C>>2]|0);c[y>>2]=NI(c[z>>2]|0,c[C>>2]|0,(c[(c[o>>2]|0)+8>>2]|0)+(c[B>>2]<<2)|0,(c[(c[o>>2]|0)+12>>2]|0)+(c[B>>2]<<1)|0)|0;C=c[y>>2]|0;l=D;return C|0}function GI(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;f=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;s=y+48|0;t=y+44|0;u=y+40|0;v=y+36|0;w=y+32|0;g=y+28|0;h=y+24|0;i=y+20|0;j=y+16|0;k=y+12|0;m=y+8|0;n=y+4|0;o=y;c[p>>2]=b;c[i>>2]=0;b=c[(c[p>>2]|0)+56>>2]|0;c[h>>2]=b;c[j>>2]=b;c[s>>2]=d[(c[p>>2]|0)+5>>0];c[v>>2]=e[(c[p>>2]|0)+14>>1];c[g>>2]=e[(c[p>>2]|0)+18>>1];c[u>>2]=c[(c[(c[p>>2]|0)+52>>2]|0)+36>>2];c[w>>2]=c[u>>2];c[k>>2]=(c[v>>2]|0)+(c[g>>2]<<1);c[m>>2]=(c[u>>2]|0)-4;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[g>>2]|0)){x=14;break}c[n>>2]=(c[h>>2]|0)+((c[v>>2]|0)+(c[q>>2]<<1));c[r>>2]=(d[c[n>>2]>>0]|0)<<8|(d[(c[n>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[k>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[m>>2]|0)){x=5;break}c[t>>2]=(Mb[c[(c[p>>2]|0)+76>>2]&255](c[p>>2]|0,(c[j>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[w>>2]=(c[w>>2]|0)-(c[t>>2]|0);if((c[w>>2]|0)<(c[k>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[t>>2]|0)|0)>(c[u>>2]|0)){x=8;break}a[c[n>>2]>>0]=c[w>>2]>>8;a[(c[n>>2]|0)+1>>0]=c[w>>2];if(!(c[i>>2]|0)){if((c[w>>2]|0)!=(c[r>>2]|0)){c[i>>2]=JI(c[c[(c[p>>2]|0)+52>>2]>>2]|0)|0;c[o>>2]=(d[(c[h>>2]|0)+((c[s>>2]|0)+5)>>0]|0)<<8|(d[(c[h>>2]|0)+((c[s>>2]|0)+5)+1>>0]|0);h0((c[i>>2]|0)+(c[o>>2]|0)|0,(c[h>>2]|0)+(c[o>>2]|0)|0,(c[w>>2]|0)+(c[t>>2]|0)-(c[o>>2]|0)|0)|0;c[j>>2]=c[i>>2];x=12}}else x=12;if((x|0)==12){x=0;h0((c[h>>2]|0)+(c[w>>2]|0)|0,(c[j>>2]|0)+(c[r>>2]|0)|0,c[t>>2]|0)|0}c[q>>2]=(c[q>>2]|0)+1}if((x|0)==5){c[f>>2]=kn(59617)|0;x=c[f>>2]|0;l=y;return x|0}else if((x|0)==8){c[f>>2]=kn(59623)|0;x=c[f>>2]|0;l=y;return x|0}else if((x|0)==14){a[(c[h>>2]|0)+((c[s>>2]|0)+5)>>0]=c[w>>2]>>8;a[(c[h>>2]|0)+((c[s>>2]|0)+5)+1>>0]=c[w>>2];a[(c[h>>2]|0)+((c[s>>2]|0)+1)>>0]=0;a[(c[h>>2]|0)+((c[s>>2]|0)+2)>>0]=0;a[(c[h>>2]|0)+((c[s>>2]|0)+7)>>0]=0;m0((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[w>>2]|0)-(c[k>>2]|0)|0)|0;if(((c[w>>2]|0)-(c[k>>2]|0)|0)!=(e[(c[p>>2]|0)+16>>1]|0|0)){c[f>>2]=kn(59647)|0;x=c[f>>2]|0;l=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;l=y;return x|0}}return 0}function HI(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;q=s+16|0;r=s+12|0;h=s+8|0;i=s+4|0;j=s;c[k>>2]=b;c[m>>2]=f;c[n>>2]=g;if(c[c[n>>2]>>2]|0){l=s;return}c[o>>2]=c[(c[k>>2]|0)+52>>2];c[p>>2]=c[(c[k>>2]|0)+56>>2];c[q>>2]=c[(c[m>>2]|0)+56>>2];c[r>>2]=d[(c[k>>2]|0)+5>>0];c[h>>2]=(c[(c[m>>2]|0)+84>>2]|0)==1?100:0;c[j>>2]=d[(c[p>>2]|0)+((c[r>>2]|0)+5)>>0]<<8|d[(c[p>>2]|0)+((c[r>>2]|0)+5)+1>>0];h0((c[q>>2]|0)+(c[j>>2]|0)|0,(c[p>>2]|0)+(c[j>>2]|0)|0,(c[(c[o>>2]|0)+36>>2]|0)-(c[j>>2]|0)|0)|0;h0((c[q>>2]|0)+(c[h>>2]|0)|0,(c[p>>2]|0)+(c[r>>2]|0)|0,(e[(c[k>>2]|0)+14>>1]|0)+(e[(c[k>>2]|0)+18>>1]<<1)|0)|0;a[c[m>>2]>>0]=0;c[i>>2]=qp(c[m>>2]|0)|0;if(c[i>>2]|0){c[c[n>>2]>>2]=c[i>>2];l=s;return}if(!(a[(c[o>>2]|0)+17>>0]|0)){l=s;return}r=gq(c[m>>2]|0)|0;c[c[n>>2]>>2]=r;l=s;return}function II(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){l=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[13624]|0)>>>0:0){c[d>>2]=c[b>>2];td(c[13620]|0);c[c[d>>2]>>2]=c[13625];c[13625]=c[d>>2];c[13626]=(c[13626]|0)+1;$d(3,1);ud(c[13620]|0);l=f;return}if(c[2]|0){c[e>>2]=Kd(c[b>>2]|0)|0;td(c[13620]|0);$d(4,c[e>>2]|0);$d(0,c[e>>2]|0);$d(9,1);Eb[c[52>>2]&255](c[b>>2]|0);ud(c[13620]|0);l=f;return}else{Eb[c[52>>2]&255](c[b>>2]|0);l=f;return}}function JI(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+208>>2]|0}function KI(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=l;l=l+64|0;r=w+56|0;s=w+52|0;x=w+48|0;y=w+44|0;t=w+40|0;u=w+36|0;h=w+32|0;i=w+28|0;j=w+24|0;k=w+20|0;m=w+16|0;n=w+12|0;o=w+8|0;p=w+4|0;q=w;c[s>>2]=a;c[x>>2]=b;c[y>>2]=f;c[t>>2]=g;c[u>>2]=c[(c[s>>2]|0)+56>>2];c[h>>2]=(c[u>>2]|0)+(c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2]|0);c[i>>2]=(c[u>>2]|0)+((d[(c[s>>2]|0)+5>>0]|0)+8+(d[(c[s>>2]|0)+6>>0]|0));c[j>>2]=0;c[m>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[n>>2]=0;c[o>>2]=0;c[k>>2]=c[x>>2];while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;c[p>>2]=c[(c[(c[t>>2]|0)+8>>2]|0)+(c[k>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[i>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[h>>2]|0)>>>0:0){c[q>>2]=e[(c[(c[t>>2]|0)+12>>2]|0)+(c[k>>2]<<1)>>1];if((c[n>>2]|0)!=((c[p>>2]|0)+(c[q>>2]|0)|0)){if(c[n>>2]|0)PI(c[s>>2]|0,(c[n>>2]|0)-(c[u>>2]|0)&65535,c[o>>2]&65535)|0;c[n>>2]=c[p>>2];c[o>>2]=c[q>>2];if(((c[n>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[h>>2]|0)>>>0){v=9;break}}else{c[n>>2]=c[p>>2];c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0)}c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}if((v|0)==9){c[r>>2]=0;y=c[r>>2]|0;l=w;return y|0}if(c[n>>2]|0)PI(c[s>>2]|0,(c[n>>2]|0)-(c[u>>2]|0)&65535,c[o>>2]&65535)|0;c[r>>2]=c[j>>2];y=c[r>>2]|0;l=w;return y|0}function LI(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=l;l=l+64|0;v=y+56|0;w=y+52|0;x=y+48|0;k=y+44|0;m=y+40|0;z=y+36|0;A=y+32|0;n=y+28|0;o=y+24|0;p=y+20|0;q=y+16|0;r=y+12|0;s=y+8|0;t=y+4|0;u=y;c[w>>2]=b;c[x>>2]=e;c[k>>2]=f;c[m>>2]=g;c[z>>2]=h;c[A>>2]=i;c[n>>2]=j;c[p>>2]=c[(c[w>>2]|0)+56>>2];c[q>>2]=c[c[k>>2]>>2];c[r>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[o>>2]=c[z>>2];while(1){if((c[o>>2]|0)>=(c[r>>2]|0)){b=10;break}c[s>>2]=(DI(c[n>>2]|0,c[o>>2]|0)|0)&65535;if((d[(c[p>>2]|0)+1>>0]|0|0)==0?(d[(c[p>>2]|0)+2>>0]|0|0)==0:0)b=6;else b=5;if((b|0)==5?(b=0,A=OI(c[w>>2]|0,c[s>>2]|0,t)|0,c[u>>2]=A,(A|0)==0):0)b=6;if((b|0)==6){if(((c[q>>2]|0)-(c[x>>2]|0)|0)<(c[s>>2]|0)){b=7;break}c[q>>2]=(c[q>>2]|0)+(0-(c[s>>2]|0));c[u>>2]=c[q>>2]}k0(c[u>>2]|0,c[(c[(c[n>>2]|0)+8>>2]|0)+(c[o>>2]<<2)>>2]|0,c[s>>2]|0)|0;a[c[m>>2]>>0]=(c[u>>2]|0)-(c[p>>2]|0)>>8;a[(c[m>>2]|0)+1>>0]=(c[u>>2]|0)-(c[p>>2]|0);c[m>>2]=(c[m>>2]|0)+2;c[o>>2]=(c[o>>2]|0)+1}if((b|0)==7){c[v>>2]=1;A=c[v>>2]|0;l=y;return A|0}else if((b|0)==10){c[c[k>>2]>>2]=c[q>>2];c[v>>2]=0;A=c[v>>2]|0;l=y;return A|0}return 0}function MI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=d;c[i>>2]=f;while(1){if((c[i>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){f=Mb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=f}c[h>>2]=(c[h>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+-1}l=j;return}function NI(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;t=x+52|0;u=x+48|0;v=x+44|0;p=x+40|0;q=x+36|0;w=x+32|0;r=x+28|0;y=x+24|0;j=x+20|0;k=x+16|0;m=x+12|0;n=x+8|0;s=x+4|0;o=x;c[u>>2]=f;c[v>>2]=g;c[p>>2]=h;c[q>>2]=i;c[w>>2]=d[(c[u>>2]|0)+5>>0];c[r>>2]=c[(c[u>>2]|0)+56>>2];c[y>>2]=c[(c[(c[u>>2]|0)+52>>2]|0)+36>>2];c[j>>2]=(c[r>>2]|0)+(c[y>>2]|0);c[m>>2]=c[(c[u>>2]|0)+64>>2];c[n>>2]=JI(c[c[(c[u>>2]|0)+52>>2]>>2]|0)|0;c[k>>2]=(d[(c[r>>2]|0)+((c[w>>2]|0)+5)>>0]|0)<<8|(d[(c[r>>2]|0)+((c[w>>2]|0)+5)+1>>0]|0);h0((c[n>>2]|0)+(c[k>>2]|0)|0,(c[r>>2]|0)+(c[k>>2]|0)|0,(c[y>>2]|0)-(c[k>>2]|0)|0)|0;c[s>>2]=c[j>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[v>>2]|0)){f=9;break}c[o>>2]=c[(c[p>>2]|0)+(c[k>>2]<<2)>>2];if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0?(c[o>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)c[o>>2]=(c[n>>2]|0)+((c[o>>2]|0)-(c[r>>2]|0));c[s>>2]=(c[s>>2]|0)+(0-(e[(c[q>>2]|0)+(c[k>>2]<<1)>>1]|0));a[c[m>>2]>>0]=(c[s>>2]|0)-(c[r>>2]|0)>>8;a[(c[m>>2]|0)+1>>0]=(c[s>>2]|0)-(c[r>>2]|0);c[m>>2]=(c[m>>2]|0)+2;if((c[s>>2]|0)>>>0<(c[m>>2]|0)>>>0){f=7;break}h0(c[s>>2]|0,c[o>>2]|0,e[(c[q>>2]|0)+(c[k>>2]<<1)>>1]|0|0)|0;c[k>>2]=(c[k>>2]|0)+1}if((f|0)==7){c[t>>2]=kn(64716)|0;y=c[t>>2]|0;l=x;return y|0}else if((f|0)==9){b[(c[u>>2]|0)+18>>1]=c[v>>2];a[(c[u>>2]|0)+1>>0]=0;a[(c[r>>2]|0)+((c[w>>2]|0)+1)>>0]=0;a[(c[r>>2]|0)+((c[w>>2]|0)+1)+1>>0]=0;a[(c[r>>2]|0)+((c[w>>2]|0)+3)>>0]=(e[(c[u>>2]|0)+18>>1]|0)>>8;a[(c[r>>2]|0)+((c[w>>2]|0)+3)+1>>0]=b[(c[u>>2]|0)+18>>1];a[(c[r>>2]|0)+((c[w>>2]|0)+5)>>0]=(c[s>>2]|0)-(c[r>>2]|0)>>8;a[(c[r>>2]|0)+((c[w>>2]|0)+5)+1>>0]=(c[s>>2]|0)-(c[r>>2]|0);a[(c[r>>2]|0)+((c[w>>2]|0)+7)>>0]=0;c[t>>2]=0;y=c[t>>2]|0;l=x;return y|0}return 0}function OI(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;n=t+40|0;o=t+36|0;h=t+32|0;p=t+28|0;q=t+24|0;r=t+20|0;s=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[o>>2]=b;c[h>>2]=f;c[p>>2]=g;c[q>>2]=d[(c[o>>2]|0)+5>>0];c[r>>2]=c[(c[o>>2]|0)+56>>2];c[s>>2]=(c[q>>2]|0)+1;c[i>>2]=(d[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0)<<8|(d[(c[r>>2]|0)+(c[s>>2]|0)+1>>0]|0);c[k>>2]=c[(c[(c[o>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[i>>2]|0)>((c[k>>2]|0)-4|0)){b=4;break}if((c[i>>2]|0)<((c[s>>2]|0)+4|0)){b=4;break}c[m>>2]=(d[(c[r>>2]|0)+((c[i>>2]|0)+2)>>0]|0)<<8|(d[(c[r>>2]|0)+((c[i>>2]|0)+2)+1>>0]|0);g=(c[m>>2]|0)-(c[h>>2]|0)|0;c[j>>2]=g;f=c[i>>2]|0;if((g|0)>=0){b=6;break}c[s>>2]=f;c[i>>2]=(d[(c[r>>2]|0)+(c[i>>2]|0)>>0]|0)<<8|(d[(c[r>>2]|0)+(c[i>>2]|0)+1>>0]|0);if(!(c[i>>2]|0)){b=16;break}}if((b|0)==4){s=kn(59680)|0;c[c[p>>2]>>2]=s;c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}else if((b|0)==6){if((f|0)>=((e[(c[o>>2]|0)+14>>1]|0)+((e[(c[o>>2]|0)+18>>1]|0)<<1)|0)?((c[m>>2]|0)+(c[i>>2]|0)|0)<=(c[k>>2]|0):0){do if((c[j>>2]|0)<4){if((d[(c[r>>2]|0)+((c[q>>2]|0)+7)>>0]|0|0)<=57){s=(c[r>>2]|0)+(c[s>>2]|0)|0;p=(c[r>>2]|0)+(c[i>>2]|0)|0;a[s>>0]=a[p>>0]|0;a[s+1>>0]=a[p+1>>0]|0;s=(c[r>>2]|0)+((c[q>>2]|0)+7)|0;a[s>>0]=(d[s>>0]|0)+(c[j>>2]&255);break}c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}else{a[(c[r>>2]|0)+((c[i>>2]|0)+2)>>0]=c[j>>2]>>8;a[(c[r>>2]|0)+((c[i>>2]|0)+2)+1>>0]=c[j>>2]}while(0);c[n>>2]=(c[r>>2]|0)+((c[i>>2]|0)+(c[j>>2]|0));s=c[n>>2]|0;l=t;return s|0}s=kn(59691)|0;c[c[p>>2]>>2]=s;c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}else if((b|0)==16){c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}return 0} +function Sv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;j=k+24|0;m=k+20|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[g>>2]=0;if(a[(c[m>>2]|0)+150>>0]|0){c[j>>2]=0;m=c[j>>2]|0;l=k;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[h>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[h>>2]|0))break a;c[i>>2]=c[(c[h>>2]|0)+8>>2];if((c[(c[i>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(bh(c[(c[i>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[g>>2]|0)b=c[g>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[i>>2]|0)+32>>2]=b;c[g>>2]=c[i>>2]}c[h>>2]=c[c[h>>2]>>2]}}while(0);if(c[g>>2]|0)b=c[g>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[j>>2]=b;m=c[j>>2]|0;l=k;return m|0}function Tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;c[h>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[h>>2]|0)){c[i>>2]=c[c[d>>2]>>2];c[f>>2]=Sv(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[f>>2]|0))break a;if((c[(c[f>>2]|0)+20>>2]|0)==(c[h>>2]|0))c[g>>2]=Uv(c[i>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0)|0;c[f>>2]=c[(c[f>>2]|0)+32>>2]}}while(0);if(!(c[g>>2]|0)){k=c[g>>2]|0;l=m;return k|0}i=c[c[d>>2]>>2]|0;c[k>>2]=c[g>>2];c[j>>2]=Wj(i,27638,k)|0;Xd(c[c[d>>2]>>2]|0,c[g>>2]|0);c[g>>2]=c[j>>2];k=c[g>>2]|0;l=m;return k|0}function Uv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+8|0;i=k;e=k+28|0;f=k+24|0;g=k+20|0;h=k+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){i=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=i;c[h>>2]=Wj(a,27670,j)|0;Xd(c[e>>2]|0,c[f>>2]|0);j=c[h>>2]|0;l=k;return j|0}else{c[i>>2]=c[g>>2];c[h>>2]=Wj(a,27662,i)|0;j=c[h>>2]|0;l=k;return j|0}return 0}function Vv(f,g,i,j,k,m){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;E=l;l=l+64|0;u=E;C=E+52|0;w=E+48|0;t=E+44|0;y=E+58|0;x=E+57|0;z=E+40|0;n=E+36|0;o=E+32|0;v=E+28|0;A=E+24|0;p=E+20|0;q=E+16|0;B=E+12|0;r=E+56|0;s=E+8|0;c[w>>2]=f;c[t>>2]=g;a[y>>0]=i;a[x>>0]=j;c[z>>2]=k;c[n>>2]=m;c[v>>2]=0;c[A>>2]=0;c[p>>2]=1;c[q>>2]=55752;c[B>>2]=0;while(1){m=d[c[t>>2]>>0]|0;c[o>>2]=m;if(!((m|0)==156?1:(c[o>>2]|0)==161))break;c[t>>2]=c[(c[t>>2]|0)+12>>2]}if((c[o>>2]|0)==157)c[o>>2]=d[(c[t>>2]|0)+38>>0];if((c[o>>2]|0)==66){a[r>>0]=Wv(c[(c[t>>2]|0)+8>>2]|0,0)|0;c[B>>2]=Vv(c[w>>2]|0,c[(c[t>>2]|0)+12>>2]|0,a[y>>0]|0,a[r>>0]|0,c[z>>2]|0,c[n>>2]|0)|0;if(c[c[z>>2]>>2]|0){Xv(c[c[z>>2]>>2]|0,a[r>>0]|0,1);Yv(c[c[z>>2]>>2]|0,a[x>>0]|0,1)}c[C>>2]=c[B>>2];C=c[C>>2]|0;l=E;return C|0}do if((c[o>>2]|0)==155){if((d[c[(c[t>>2]|0)+12>>2]>>0]|0|0)!=134?(d[c[(c[t>>2]|0)+12>>2]>>0]|0|0)!=132:0)break;c[t>>2]=c[(c[t>>2]|0)+12>>2];c[o>>2]=d[c[t>>2]>>0];c[p>>2]=-1;c[q>>2]=27684}while(0);do if((c[o>>2]|0)==97|(c[o>>2]|0)==132|(c[o>>2]|0)==134){c[A>>2]=Zv(c[w>>2]|0,c[n>>2]|0)|0;if(c[A>>2]|0){if(c[(c[t>>2]|0)+4>>2]&1024|0){v=c[A>>2]|0;u=c[(c[t>>2]|0)+8>>2]|0;w=c[p>>2]|0;w=r0(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;Yh(v,w,D)}else{m=c[w>>2]|0;t=c[(c[t>>2]|0)+8>>2]|0;c[u>>2]=c[q>>2];c[u+4>>2]=t;c[v>>2]=Wj(m,23403,u)|0;if(!(c[v>>2]|0)){f=42;break}Ep(c[A>>2]|0,-1,c[v>>2]|0,1,191)}if((c[o>>2]|0)==134|(c[o>>2]|0)==132?(d[x>>0]|0|0)==65:0)Yv(c[A>>2]|0,67,1);else Yv(c[A>>2]|0,a[x>>0]|0,1);if((e[(c[A>>2]|0)+8>>1]|0)&12|0){x=(c[A>>2]|0)+8|0;b[x>>1]=(e[x>>1]|0)&-3}if((d[y>>0]|0|0)!=1){c[B>>2]=oi(c[A>>2]|0,d[y>>0]|0)|0;f=41}else f=41}else f=42}else{if((c[o>>2]|0)!=155){if((c[o>>2]|0)==101){c[A>>2]=Zv(c[w>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0)){f=42;break}else{f=41;break}}if((c[o>>2]|0)!=133){f=41;break}c[A>>2]=Zv(c[w>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0)){f=42;break}c[v>>2]=(c[(c[t>>2]|0)+8>>2]|0)+2;c[s>>2]=(md(c[v>>2]|0)|0)-1;y=c[A>>2]|0;f=$v(c[w>>2]|0,c[v>>2]|0,c[s>>2]|0)|0;ci(y,f,(c[s>>2]|0)/2|0,0,191)|0;f=41;break}w=0==(Nv(c[w>>2]|0,c[(c[t>>2]|0)+12>>2]|0,a[y>>0]|0,a[x>>0]|0,A)|0);if(w&(c[A>>2]|0)!=0){_v(c[A>>2]|0)|0;f=c[A>>2]|0;do if(!((e[(c[A>>2]|0)+8>>1]|0)&8|0)){w=f;f=c[A>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[f>>3]=9223372036854775808.0;b[(c[A>>2]|0)+8>>1]=(e[(c[A>>2]|0)+8>>1]|0)&-49664|8;break}else{v=f;v=Z$(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[A>>2]|0;c[w>>2]=v;c[w+4>>2]=D;break}}else h[c[A>>2]>>3]=-+h[f>>3];while(0);Yv(c[A>>2]|0,a[x>>0]|0,a[y>>0]|0);f=41}else f=41}while(0);if((f|0)==41){c[c[z>>2]>>2]=c[A>>2];c[C>>2]=c[B>>2];C=c[C>>2]|0;l=E;return C|0}else if((f|0)==42){Od(c[w>>2]|0);Xd(c[w>>2]|0,c[v>>2]|0);Bk(c[A>>2]|0);c[C>>2]=7;C=c[C>>2]|0;l=E;return C|0}return 0}function Wv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+20|0;j=n+4|0;k=n;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;a[i>>0]=67;c[j>>2]=0;a:while(1){if(!(a[c[f>>2]>>0]|0))break;c[h>>2]=(c[h>>2]<<8)+(d[20458+(a[c[f>>2]>>0]&255)>>0]|0);c[f>>2]=(c[f>>2]|0)+1;if((c[h>>2]|0)==1667785074){a[i>>0]=66;c[j>>2]=c[f>>2];continue}if((c[h>>2]|0)==1668050786){a[i>>0]=66;continue}if((c[h>>2]|0)==1952807028){a[i>>0]=66;continue}do if((c[h>>2]|0)==1651273570){if((a[i>>0]|0)!=67?(a[i>>0]|0)!=69:0)break;a[i>>0]=65;if((a[c[f>>2]>>0]|0)!=40)continue a;c[j>>2]=c[f>>2];continue a}while(0);if((c[h>>2]|0)==1919246700?(a[i>>0]|0)==67:0){a[i>>0]=69;continue}if((c[h>>2]|0)==1718382433?(a[i>>0]|0)==67:0){a[i>>0]=69;continue}if((c[h>>2]|0)==1685026146?(a[i>>0]|0)==67:0){a[i>>0]=69;continue}if((c[h>>2]&16777215|0)==6909556){m=24;break}}if((m|0)==24)a[i>>0]=68;if(!(c[g>>2]|0)){m=a[i>>0]|0;l=n;return m|0}a[c[g>>2]>>0]=1;if((a[i>>0]|0)>=67){m=a[i>>0]|0;l=n;return m|0}if(!(c[j>>2]|0)){a[c[g>>2]>>0]=5;m=a[i>>0]|0;l=n;return m|0}while(1){if(!(a[c[j>>2]>>0]|0)){m=33;break}if(d[20063+(d[c[j>>2]>>0]|0)>>0]&4|0)break;c[j>>2]=(c[j>>2]|0)+1}if((m|0)==33){m=a[i>>0]|0;l=n;return m|0}c[k>>2]=0;gg(c[j>>2]|0,k)|0;m=((c[k>>2]|0)/4|0)+1|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>255?255:m;a[c[g>>2]>>0]=c[k>>2];m=a[i>>0]|0;l=n;return m|0}function Xv(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+5|0;k=m+4|0;c[j>>2]=f;a[i>>0]=g;a[k>>0]=h;if((e[(c[j>>2]|0)+8>>1]|0)&1|0){l=m;return}switch(d[i>>0]|0|0){case 65:{f=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&16|0){k=f+8|0;b[k>>1]=(e[k>>1]|0)&-33264;l=m;return}Yv(f,66,a[k>>0]|0);if(!((e[(c[j>>2]|0)+8>>1]|0)&2)){l=m;return}b[(c[j>>2]|0)+8>>1]=(e[(c[j>>2]|0)+8>>1]|0)&-49664|16;l=m;return}case 67:{_v(c[j>>2]|0)|0;l=m;return}case 68:{bw(c[j>>2]|0)|0;l=m;return}case 69:{cw(c[j>>2]|0)|0;l=m;return}default:{i=(c[j>>2]|0)+8|0;b[i>>1]=e[i>>1]|0|((e[(c[j>>2]|0)+8>>1]|0)&16)>>3;Yv(c[j>>2]|0,66,a[k>>0]|0);k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-16413;l=m;return}}}function Yv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f;h=f+5|0;g=f+4|0;c[i>>2]=b;a[h>>0]=d;a[g>>0]=e;aw(c[i>>2]|0,a[h>>0]|0,a[g>>0]|0);l=f;return}function Zv(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Dp(c[e>>2]|0)|0;l=d;return b|0}function _v(d){d=d|0;var f=0,g=0,i=0,j=0.0;g=l;l=l+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){i=0==(Mi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(i){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{j=+Ii(d);h[c[f>>2]>>3]=j;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;Pi(c[f>>2]|0);break}}while(0);i=(c[f>>2]|0)+8|0;b[i>>1]=(e[i>>1]|0)&-16403;l=g;return 0}function $v(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=b;c[f>>2]=d;c[g>>2]=e;e=((c[g>>2]|0)/2|0)+1|0;c[h>>2]=Ed(c[k>>2]|0,e,((e|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[h>>2]|0)){k=c[h>>2]|0;l=j;return k|0}c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break;k=((hg(a[(c[f>>2]|0)+(c[i>>2]|0)>>0]|0)|0)&255)<<4;k=(k|(hg(a[(c[f>>2]|0)+((c[i>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[h>>2]|0)+((c[i>>2]|0)/2|0)>>0]=k;c[i>>2]=(c[i>>2]|0)+2}a[(c[h>>2]|0)+((c[i>>2]|0)/2|0)>>0]=0;k=c[h>>2]|0;l=j;return k|0}function aw(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;h=k+5|0;i=k+4|0;c[j>>2]=d;a[h>>0]=f;a[i>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){l=k;return}if(0==(e[(c[j>>2]|0)+8>>1]&2|0)?e[(c[j>>2]|0)+8>>1]&12|0:0)qi(c[j>>2]|0,a[i>>0]|0,1)|0;j=(c[j>>2]|0)+8|0;b[j>>1]=e[j>>1]&-13;l=k;return}if(e[(c[j>>2]|0)+8>>1]&4|0){l=k;return}d=c[j>>2]|0;if(e[(c[j>>2]|0)+8>>1]&8|0){Pi(d);l=k;return}if(!(e[d+8>>1]&2)){l=k;return}Oi(c[j>>2]|0,1);l=k;return}function bw(a){a=a|0;var d=0,f=0,g=0;d=l;l=l+16|0;f=d;c[f>>2]=a;g=Ki(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=D;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;l=d;return 0}function cw(a){a=a|0;var d=0,f=0,g=0.0;d=l;l=l+16|0;f=d;c[f>>2]=a;g=+Ii(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;l=d;return 0}function dw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;f=j+12|0;g=j+8|0;h=j+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+148+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(ld(c[h>>2]|0,26664,7)|0):0){g=c[g>>2]|0;c[i>>2]=c[h>>2];sl(g,30069,i);c[f>>2]=1;i=c[f>>2]|0;l=j;return i|0}c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}function ew(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;h=r+36|0;i=r+32|0;j=r+28|0;k=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;g=r+4|0;c[i>>2]=a;c[j>>2]=f;c[n>>2]=0;c[p>>2]=c[c[i>>2]>>2];if(jw(c[i>>2]|0,c[j>>2]|0)|0){c[h>>2]=1;q=c[h>>2]|0;l=r;return q|0}if(d[(c[j>>2]|0)+42>>0]&16|0){c[h>>2]=0;q=c[h>>2]|0;l=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)>0){c[h>>2]=0;q=c[h>>2]|0;l=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)<0){p=c[i>>2]|0;c[q>>2]=c[c[j>>2]>>2];sl(p,28391,q);c[h>>2]=1;q=c[h>>2]|0;l=r;return q|0}c[m>>2]=kw(c[p>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;if(c[m>>2]|0){c[o>>2]=c[(c[i>>2]|0)+40>>2];lw(c[i>>2]|0,c[(c[m>>2]|0)+28>>2]|0);b[(c[j>>2]|0)+34>>1]=-1;q=(c[p>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[(c[p>>2]|0)+296>>2];c[(c[p>>2]|0)+296>>2]=0;c[k>>2]=mw(c[i>>2]|0,c[m>>2]|0)|0;c[(c[p>>2]|0)+296>>2]=c[g>>2];c[(c[i>>2]|0)+40>>2]=c[o>>2];do if(c[(c[j>>2]|0)+24>>2]|0){nw(c[i>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[j>>2]|0)+34|0,(c[j>>2]|0)+4|0)|0;if(((d[(c[p>>2]|0)+69>>0]|0)==0?(c[(c[i>>2]|0)+36>>2]|0)==0:0)?(b[(c[j>>2]|0)+34>>1]|0)==(c[c[c[m>>2]>>2]>>2]|0):0)ow(c[i>>2]|0,c[j>>2]|0,c[m>>2]|0)}else if(c[k>>2]|0){b[(c[j>>2]|0)+34>>1]=b[(c[k>>2]|0)+34>>1]|0;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];b[(c[k>>2]|0)+34>>1]=0;c[(c[k>>2]|0)+4>>2]=0;break}else{b[(c[j>>2]|0)+34>>1]=0;c[n>>2]=(c[n>>2]|0)+1;break}while(0);tk(c[p>>2]|0,c[k>>2]|0);Jk(c[p>>2]|0,c[m>>2]|0);q=(c[p>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1}else c[n>>2]=(c[n>>2]|0)+1;q=(c[(c[j>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[h>>2]=c[n>>2];q=c[h>>2]|0;l=r;return q|0}function fw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){a=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){a=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((a|0)==5){l=f;return c[e>>2]|0}return 0}function gw(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;l=e;return}function hw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=iw(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=Uv(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}l=g;return c[f>>2]|0}function iw(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=hv((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;l=b;return a|0}function jw(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q+8|0;o=q;f=q+44|0;g=q+40|0;h=q+36|0;i=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;e=q+12|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+42>>0]|0)&16|0?(fw(c[i>>2]|0,c[h>>2]|0)|0)==0:0){c[j>>2]=c[c[(c[h>>2]|0)+52>>2]>>2];c[k>>2]=hv((c[i>>2]|0)+320|0,c[j>>2]|0)|0;if(c[k>>2]|0){c[e>>2]=0;c[m>>2]=jv(c[i>>2]|0,c[h>>2]|0,c[k>>2]|0,c[(c[c[k>>2]>>2]|0)+8>>2]|0,e)|0;if(c[m>>2]|0){o=c[g>>2]|0;c[p>>2]=c[e>>2];sl(o,21240,p)}Xd(c[i>>2]|0,c[e>>2]|0)}else{c[n>>2]=c[c[(c[h>>2]|0)+52>>2]>>2];p=c[g>>2]|0;c[o>>2]=c[n>>2];sl(p,30050,o);c[m>>2]=1}c[f>>2]=c[m>>2];p=c[f>>2]|0;l=q;return p|0}c[f>>2]=0;p=c[f>>2]|0;l=q;return p|0}function kw(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;if(!(c[i>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}c[k>>2]=Ed(c[h>>2]|0,68,0)|0;if(!(c[k>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}f=cx(c[h>>2]|0,c[c[i>>2]>>2]|0,c[j>>2]|0)|0;c[c[k>>2]>>2]=f;f=Wx(c[h>>2]|0,c[(c[i>>2]|0)+28>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+28>>2]=f;f=Ww(c[h>>2]|0,c[(c[i>>2]|0)+32>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+32>>2]=f;f=cx(c[h>>2]|0,c[(c[i>>2]|0)+36>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+36>>2]=f;f=Ww(c[h>>2]|0,c[(c[i>>2]|0)+40>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+40>>2]=f;f=cx(c[h>>2]|0,c[(c[i>>2]|0)+44>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+44>>2]=f;a[(c[k>>2]|0)+4>>0]=a[(c[i>>2]|0)+4>>0]|0;f=kw(c[h>>2]|0,c[(c[i>>2]|0)+48>>2]|0,c[j>>2]|0)|0;c[m>>2]=f;c[(c[k>>2]|0)+48>>2]=f;if(c[m>>2]|0)c[(c[m>>2]|0)+52>>2]=c[k>>2];c[(c[k>>2]|0)+52>>2]=0;m=Ww(c[h>>2]|0,c[(c[i>>2]|0)+56>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+56>>2]=m;m=Ww(c[h>>2]|0,c[(c[i>>2]|0)+60>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+60>>2]=m;c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+8>>2]=c[(c[i>>2]|0)+8>>2]&-33;c[(c[k>>2]|0)+20>>2]=-1;c[(c[k>>2]|0)+20+4>>2]=-1;b[(c[k>>2]|0)+6>>1]=b[(c[i>>2]|0)+6>>1]|0;m=Xx(c[h>>2]|0,c[(c[i>>2]|0)+64>>2]|0)|0;c[(c[k>>2]|0)+64>>2]=m;c[g>>2]=c[k>>2];m=c[g>>2]|0;l=n;return m|0}function lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){a=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){a=8;break}a=(c[d>>2]|0)+40|0;b=c[a>>2]|0;c[a>>2]=b+1;c[(c[g>>2]|0)+44>>2]=b;if(c[(c[g>>2]|0)+20>>2]|0)lw(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+28>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((a|0)==8){l=h;return}}function mw(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[k>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;Aw(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+36>>2]|0){c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}c[(c[j>>2]|0)+24>>2]=c[k>>2];c[i>>2]=_l(c[j>>2]|0,72,0)|0;if(!(c[i>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}b[(c[i>>2]|0)+36>>1]=1;c[c[i>>2]>>2]=0;b[(c[i>>2]|0)+38>>1]=200;nw(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[i>>2]|0)+34|0,(c[i>>2]|0)+4|0)|0;ow(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0);b[(c[i>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+69>>0]|0){tk(c[j>>2]|0,c[i>>2]|0);c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}else{c[f>>2]=c[i>>2];k=c[f>>2]|0;l=m;return k|0}return 0}function nw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+112|0;v=D+8|0;u=D;z=D+104|0;E=D+100|0;t=D+96|0;A=D+92|0;B=D+88|0;C=D+84|0;w=D+80|0;x=D+76|0;i=D+72|0;y=D+68|0;j=D+64|0;k=D+60|0;m=D+56|0;n=D+52|0;o=D+48|0;p=D+32|0;q=D+28|0;r=D+24|0;s=D+20|0;c[E>>2]=e;c[t>>2]=f;c[A>>2]=g;c[B>>2]=h;c[C>>2]=c[c[E>>2]>>2];Rq(p);if(c[t>>2]|0){c[k>>2]=c[c[t>>2]>>2];c[y>>2]=_l(c[C>>2]|0,c[k>>2]<<4,0)|0}else{c[k>>2]=0;c[y>>2]=0}b[c[A>>2]>>1]=c[k>>2];c[c[B>>2]>>2]=c[y>>2];c[w>>2]=0;c[j>>2]=c[y>>2];while(1){if((c[w>>2]|0)>=(c[k>>2]|0))break;if(!((a[(c[C>>2]|0)+69>>0]|0)!=0^1))break;c[m>>2]=yw(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+4>>2]|0;c[n>>2]=E;do if(!E){c[q>>2]=c[m>>2];while(1){e=c[q>>2]|0;if((d[c[q>>2]>>0]|0)!=122)break;c[q>>2]=c[e+16>>2]}if((d[e>>0]|0)==152?c[(c[q>>2]|0)+44>>2]|0:0){c[s>>2]=b[(c[q>>2]|0)+32>>1];c[r>>2]=c[(c[q>>2]|0)+44>>2];if((c[s>>2]|0)<0)c[s>>2]=b[(c[r>>2]|0)+32>>1];if((c[s>>2]|0)>=0)e=c[(c[(c[r>>2]|0)+4>>2]|0)+(c[s>>2]<<4)>>2]|0;else e=26001;c[n>>2]=e;break}if((d[c[q>>2]>>0]|0)==55){c[n>>2]=c[(c[q>>2]|0)+8>>2];break}else{c[n>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2];break}}while(0);E=c[C>>2]|0;c[u>>2]=c[n>>2];c[n>>2]=Wj(E,21240,u)|0;c[i>>2]=0;while(1){if(c[n>>2]|0)f=(hv(p,c[n>>2]|0)|0)!=0;else f=0;e=c[n>>2]|0;if(!f)break;c[o>>2]=md(e)|0;if((c[o>>2]|0)>0){c[x>>2]=(c[o>>2]|0)-1;while(1){if((c[x>>2]|0)<=0)break;if(!(d[20063+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&4))break;c[x>>2]=(c[x>>2]|0)+-1}if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==58)c[o>>2]=c[x>>2]}E=c[C>>2]|0;f=c[o>>2]|0;g=c[n>>2]|0;h=(c[i>>2]|0)+1|0;c[i>>2]=h;c[v>>2]=f;c[v+4>>2]=g;c[v+8>>2]=h;c[n>>2]=Wj(E,28463,v)|0;if((c[i>>2]|0)>>>0<=3)continue;sf(4,i)}c[c[j>>2]>>2]=e;if(c[n>>2]|0?(E=Fk(p,c[n>>2]|0,c[j>>2]|0)|0,(E|0)==(c[j>>2]|0)):0)Od(c[C>>2]|0);c[w>>2]=(c[w>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}$k(p);if(!(a[(c[C>>2]|0)+69>>0]|0)){c[z>>2]=0;E=c[z>>2]|0;l=D;return E|0}c[x>>2]=0;while(1){e=c[C>>2]|0;f=c[y>>2]|0;if((c[x>>2]|0)>=(c[w>>2]|0))break;Xd(e,c[f+(c[x>>2]<<4)>>2]|0);c[x>>2]=(c[x>>2]|0)+1}Xd(e,f);c[c[B>>2]>>2]=0;b[c[A>>2]>>1]=0;c[z>>2]=7;E=c[z>>2]|0;l=D;return E|0}function ow(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+96|0;p=w+84|0;q=w+80|0;r=w+76|0;s=w+72|0;t=w+40|0;u=w+36|0;v=w+32|0;h=w+28|0;i=w+24|0;j=w+20|0;k=w;m=w+16|0;n=w+12|0;o=w+8|0;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=c[c[p>>2]>>2];g=k;c[g>>2]=0;c[g+4>>2]=0;if(a[(c[s>>2]|0)+69>>0]|0){l=w;return};c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;c[t+4>>2]=c[(c[r>>2]|0)+28>>2];c[j>>2]=c[(c[c[r>>2]>>2]|0)+4>>2];c[h>>2]=0;c[u>>2]=c[(c[q>>2]|0)+4>>2];while(1){if((c[h>>2]|0)>=(b[(c[q>>2]|0)+34>>1]|0))break;c[i>>2]=c[(c[j>>2]|0)+((c[h>>2]|0)*20|0)>>2];c[m>>2]=pw(t,c[i>>2]|0,(c[u>>2]|0)+14|0)|0;g=k;g=_$(c[g>>2]|0,c[g+4>>2]|0,d[(c[u>>2]|0)+14>>0]|0,0)|0;r=k;c[r>>2]=g;c[r+4>>2]=D;r=qw(c[i>>2]|0)|0;a[(c[u>>2]|0)+13>>0]=r;if((c[m>>2]|0?(r=md(c[m>>2]|0)|0,c[o>>2]=r,(r|0)>0):0)?(c[n>>2]=md(c[c[u>>2]>>2]|0)|0,r=(c[n>>2]|0)+(c[o>>2]|0)+2|0,r=ji(c[s>>2]|0,c[c[u>>2]>>2]|0,r,((r|0)<0)<<31>>31)|0,c[c[u>>2]>>2]=r,c[c[u>>2]>>2]|0):0){h0((c[c[u>>2]>>2]|0)+((c[n>>2]|0)+1)|0,c[m>>2]|0,(c[o>>2]|0)+1|0)|0;r=(c[u>>2]|0)+15|0;a[r>>0]=d[r>>0]|4}if(!(a[(c[u>>2]|0)+13>>0]|0))a[(c[u>>2]|0)+13>>0]=65;c[v>>2]=rw(c[p>>2]|0,c[i>>2]|0)|0;if(c[v>>2]|0?(c[(c[u>>2]|0)+8>>2]|0)==0:0){r=Xo(c[s>>2]|0,c[c[v>>2]>>2]|0)|0;c[(c[u>>2]|0)+8>>2]=r}c[h>>2]=(c[h>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+16}v=k;v=r0(c[v>>2]|0,c[v+4>>2]|0,4,0)|0;v=xv(v,D)|0;b[(c[q>>2]|0)+40>>1]=v;l=w;return}function pw(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+128|0;q=x+112|0;r=x+108|0;s=x+104|0;t=x+100|0;u=x+96|0;v=x+116|0;w=x+92|0;h=x+88|0;i=x+84|0;j=x+80|0;k=x+48|0;m=x+40|0;n=x+8|0;o=x+4|0;p=x;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=0;a[v>>0]=1;a:do switch(d[c[r>>2]>>0]|0){case 152:case 154:{c[w>>2]=0;c[h>>2]=0;c[i>>2]=b[(c[r>>2]|0)+32>>1];while(1){if(!(c[q>>2]|0))break;if(!((c[w>>2]|0)!=0^1))break;c[j>>2]=c[(c[q>>2]|0)+4>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[u>>2]|0)*72|0)+44>>2]|0)==(c[(c[r>>2]|0)+28>>2]|0))break;c[u>>2]=(c[u>>2]|0)+1}if((c[u>>2]|0)<(c[c[j>>2]>>2]|0)){c[w>>2]=c[(c[j>>2]|0)+8+((c[u>>2]|0)*72|0)+16>>2];c[h>>2]=c[(c[j>>2]|0)+8+((c[u>>2]|0)*72|0)+20>>2];continue}else{c[q>>2]=c[(c[q>>2]|0)+16>>2];continue}}if(c[w>>2]|0){if(c[h>>2]|0){if((c[i>>2]|0)<0)break a;if((c[i>>2]|0)>=(c[c[c[h>>2]>>2]>>2]|0))break a;c[m>>2]=c[(c[(c[c[h>>2]>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2];c[k+4>>2]=c[(c[h>>2]|0)+28>>2];c[k+16>>2]=c[q>>2];c[k>>2]=c[c[q>>2]>>2];c[t>>2]=pw(k,c[m>>2]|0,v)|0;break a}if(c[(c[w>>2]|0)+64>>2]|0){if((c[i>>2]|0)<0)c[i>>2]=b[(c[w>>2]|0)+32>>1];if((c[i>>2]|0)<0){c[t>>2]=28455;break a}else{c[t>>2]=kv((c[(c[w>>2]|0)+4>>2]|0)+(c[i>>2]<<4)|0,0)|0;a[v>>0]=a[(c[(c[w>>2]|0)+4>>2]|0)+(c[i>>2]<<4)+14>>0]|0;break a}}}break}case 119:{c[o>>2]=c[(c[r>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2];c[n+4>>2]=c[(c[o>>2]|0)+28>>2];c[n+16>>2]=c[q>>2];c[n>>2]=c[c[q>>2]>>2];c[t>>2]=pw(n,c[p>>2]|0,v)|0;break}default:{}}while(0);if(!(c[s>>2]|0)){w=c[t>>2]|0;l=x;return w|0}a[c[s>>2]>>0]=a[v>>0]|0;w=c[t>>2]|0;l=x;return w|0}function qw(e){e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=e;c[g>>2]=yw(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512|0){a[f>>0]=0;h=a[f>>0]|0;l=i;return h|0}c[h>>2]=d[c[g>>2]>>0];if((c[h>>2]|0)==119){a[f>>0]=qw(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;h=a[f>>0]|0;l=i;return h|0}if((c[h>>2]|0)==157)c[h>>2]=d[(c[g>>2]|0)+38>>0];if((c[h>>2]|0)==66){a[f>>0]=Wv(c[(c[g>>2]|0)+8>>2]|0,0)|0;h=a[f>>0]|0;l=i;return h|0}if((c[h>>2]|0)==154|(c[h>>2]|0)==152){a[f>>0]=zw(c[(c[g>>2]|0)+44>>2]|0,b[(c[g>>2]|0)+32>>1]|0)|0;h=a[f>>0]|0;l=i;return h|0}e=c[g>>2]|0;if((c[h>>2]|0)==159){a[f>>0]=qw(c[(c[(c[c[(c[e+12>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+32>>1]|0)*20|0)>>2]|0)|0;h=a[f>>0]|0;l=i;return h|0}else{a[f>>0]=a[e+1>>0]|0;h=a[f>>0]|0;l=i;return h|0}return 0}function rw(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;i=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;g=r+4|0;h=r;c[i>>2]=e;c[s>>2]=f;c[j>>2]=c[c[i>>2]>>2];c[k>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[n>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512|0)break;if((c[n>>2]|0)==66|(c[n>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[n>>2]|0)==53){q=9;break}if((c[n>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==53:0){q=9;break}if((c[n>>2]|0)==154|(c[n>>2]|0)==152|(c[n>>2]|0)==157|(c[n>>2]|0)==88?c[(c[m>>2]|0)+44>>2]|0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if(c[(c[m>>2]|0)+12>>2]|0?c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[g>>2]=c[(c[m>>2]|0)+16>>2];a:do if(c[(c[m>>2]|0)+20>>2]|0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)+4>>2]&256|0)break;c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]}while(0);c[m>>2]=c[g>>2]}if((q|0)==9)c[k>>2]=sw(c[i>>2]|0,a[(c[j>>2]|0)+66>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[o>>2]=b[(c[m>>2]|0)+32>>1],(c[o>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+(c[o>>2]<<4)+8>>2];c[k>>2]=tw(c[j>>2]|0,a[(c[j>>2]|0)+66>>0]|0,c[p>>2]|0,0)|0}if(!(uw(c[i>>2]|0,c[k>>2]|0)|0)){s=c[k>>2]|0;l=r;return s|0}c[k>>2]=0;s=c[k>>2]|0;l=r;return s|0}function sw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;n=o;h=o+20|0;i=o+24|0;p=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;c[h>>2]=b;a[i>>0]=e;c[p>>2]=f;c[j>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[k>>2]=c[p>>2];if(!(c[k>>2]|0))c[k>>2]=tw(c[m>>2]|0,a[i>>0]|0,c[j>>2]|0,0)|0;if(!(c[k>>2]|0?(c[(c[k>>2]|0)+12>>2]|0)!=0:0)){ww(c[m>>2]|0,d[i>>0]|0,c[j>>2]|0);c[k>>2]=tw(c[m>>2]|0,a[i>>0]|0,c[j>>2]|0,0)|0}if((c[k>>2]|0?(c[(c[k>>2]|0)+12>>2]|0)==0:0)?xw(c[m>>2]|0,c[k>>2]|0)|0:0)c[k>>2]=0;if(c[k>>2]|0){p=c[k>>2]|0;l=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[j>>2];sl(p,28421,n);p=c[k>>2]|0;l=o;return p|0}function tw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;n=m+12|0;h=m+16|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=b;a[h>>0]=e;c[i>>2]=f;c[j>>2]=g;b=c[n>>2]|0;if(c[i>>2]|0)c[k>>2]=vw(b,c[i>>2]|0,c[j>>2]|0)|0;else c[k>>2]=c[b+8>>2];if(!(c[k>>2]|0)){n=c[k>>2]|0;l=m;return n|0}c[k>>2]=(c[k>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[k>>2]|0;l=m;return n|0}function uw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;if(c[g>>2]|0?(c[h>>2]=c[c[g>>2]>>2],c[i>>2]=c[c[f>>2]>>2],c[j>>2]=sw(c[f>>2]|0,a[(c[i>>2]|0)+66>>0]|0,c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function vw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;m=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[h>>2]=hv((c[f>>2]|0)+364|0,c[g>>2]|0)|0;if(!(0==(c[h>>2]|0)&(c[m>>2]|0)!=0)){m=c[h>>2]|0;l=k;return m|0}c[i>>2]=md(c[g>>2]|0)|0;c[h>>2]=_l(c[f>>2]|0,60+(c[i>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){m=c[h>>2]|0;l=k;return m|0}c[j>>2]=0;c[c[h>>2]>>2]=(c[h>>2]|0)+60;a[(c[h>>2]|0)+4>>0]=1;c[(c[h>>2]|0)+20>>2]=(c[h>>2]|0)+60;a[(c[h>>2]|0)+20+4>>0]=2;c[(c[h>>2]|0)+40>>2]=(c[h>>2]|0)+60;a[(c[h>>2]|0)+40+4>>0]=3;h0(c[c[h>>2]>>2]|0,c[g>>2]|0,c[i>>2]|0)|0;a[(c[c[h>>2]>>2]|0)+(c[i>>2]|0)>>0]=0;c[j>>2]=Fk((c[f>>2]|0)+364|0,c[c[h>>2]>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){m=c[h>>2]|0;l=k;return m|0}Od(c[f>>2]|0);Xd(c[f>>2]|0,c[j>>2]|0);c[h>>2]=0;m=c[h>>2]|0;l=k;return m|0}function ww(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;do if(c[(c[g>>2]|0)+232>>2]|0){c[j>>2]=Xo(c[g>>2]|0,c[i>>2]|0)|0;if(c[j>>2]|0){Ob[c[(c[g>>2]|0)+232>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);Xd(c[g>>2]|0,c[j>>2]|0);break}else{l=n;return}}while(0);if(!(c[(c[g>>2]|0)+236>>2]|0)){l=n;return}c[m>>2]=Dp(c[g>>2]|0)|0;Ep(c[m>>2]|0,-1,c[i>>2]|0,1,0);c[k>>2]=ti(c[m>>2]|0,((a[936]|0)==0?3:2)&255)|0;if(c[k>>2]|0)Ob[c[(c[g>>2]|0)+236>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+66>>0]|0,c[k>>2]|0);Bk(c[m>>2]|0);l=n;return}function xw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;e=k+16|0;i=k+12|0;j=k+8|0;f=k+4|0;g=k;c[e>>2]=b;c[i>>2]=d;c[f>>2]=c[c[i>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=3){b=6;break}c[j>>2]=tw(c[e>>2]|0,a[28452+(c[g>>2]|0)>>0]|0,c[f>>2]|0,0)|0;if(c[(c[j>>2]|0)+12>>2]|0){b=4;break}c[g>>2]=(c[g>>2]|0)+1}if((b|0)==4){g=c[i>>2]|0;j=c[j>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];c[g+16>>2]=c[j+16>>2];c[(c[i>>2]|0)+16>>2]=0;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}else if((b|0)==6){c[h>>2]=1;j=c[h>>2]|0;l=k;return j|0}return 0}function yw(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144|0){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}l=e;return b|0}function zw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[f>>2]|0)<0){f=68;f=f&255;l=g;return f|0}f=a[(c[(c[e>>2]|0)+4>>2]|0)+(c[f>>2]<<4)+13>>0]|0;f=f&255;l=g;return f|0}function Aw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;if(!(c[h>>2]|0)){l=k;return}c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+69>>0]|0){l=k;return}if(c[(c[h>>2]|0)+8>>2]&128|0){l=k;return}Bw(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){l=k;return}if(d[(c[j>>2]|0)+69>>0]|0){l=k;return}Cw(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){l=k;return}if(d[(c[j>>2]|0)+69>>0]|0){l=k;return}Dw(c[g>>2]|0,c[h>>2]|0);l=k;return}function Bw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+48|0;h=g+32|0;e=g+28|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=197;c[f>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+8>>2]=198;Gw(f,c[e>>2]|0)|0}c[f+8>>2]=199;if(c[(c[e>>2]|0)+8>>2]&1024|0){h=c[e>>2]|0;Gw(f,h)|0;l=g;return}c[f+12>>2]=132;h=c[e>>2]|0;Gw(f,h)|0;l=g;return}function Cw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+48|0;i=e+36|0;f=e+32|0;h=e+28|0;g=e;c[i>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=200;c[g+8>>2]=201;c[g>>2]=c[i>>2];c[g+24>>2]=c[h>>2];Gw(g,c[f>>2]|0)|0;l=e;return}function Dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=197;c[f>>2]=c[g>>2];Gw(f,c[e>>2]|0)|0;l=d;return}function Ew(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;n=k+28|0;m=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[n>>2]=a;c[m>>2]=b;b=(c[m>>2]|0)+8|0;c[b>>2]=c[b>>2]|128;c[e>>2]=c[c[n>>2]>>2];c[g>>2]=c[(c[m>>2]|0)+28>>2];c[f>>2]=0;c[h>>2]=(c[g>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;c[i>>2]=c[(c[h>>2]|0)+16>>2];if((d[(c[i>>2]|0)+42>>0]|0)&2|0?(c[j>>2]=c[(c[h>>2]|0)+20>>2],c[j>>2]|0):0){while(1){if(!(c[(c[j>>2]|0)+48>>2]|0))break;c[j>>2]=c[(c[j>>2]|0)+48>>2]}ow(c[e>>2]|0,c[i>>2]|0,c[j>>2]|0)}c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}l=k;return}function Fw(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function Gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+1;while(1){if(!(c[d>>2]|0)){a=15;break}if(c[(c[f>>2]|0)+8>>2]|0?(c[g>>2]=Mb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,c[g>>2]|0):0){a=15;break}if(Hw(c[f>>2]|0,c[d>>2]|0)|0){a=11;break}if(Iw(c[f>>2]|0,c[d>>2]|0)|0){a=11;break}if(c[(c[f>>2]|0)+12>>2]|0)Fb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+48>>2]}if((a|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;l=h;return g|0}else if((a|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;l=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}function Hw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(Jw(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(Kw(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0)|0){c[d>>2]=2;break}if(Jw(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(Kw(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(Jw(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(Kw(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0)|0){c[d>>2]=2;break}if(Kw(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);l=g;return c[d>>2]|0}function Iw(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;i=j+20|0;e=j+16|0;k=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=c[(c[k>>2]|0)+28>>2];a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=(c[f>>2]|0)+8;while(1){if((c[g>>2]|0)<=0)break a;if(Gw(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0){a=5;break}if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1|0?Jw(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0)|0:0){a=8;break}c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+72}if((a|0)==5){c[i>>2]=2;k=c[i>>2]|0;l=j;return k|0}else if((a|0)==8){c[i>>2]=2;k=c[i>>2]|0;l=j;return k|0}}while(0);c[i>>2]=0;k=c[i>>2]|0;l=j;return k|0}function Jw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(Kw(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;h=c[d>>2]|0;l=i;return h|0}while(0);c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}function Kw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){e=0;l=f;return e|0}e=Lw(c[d>>2]|0,c[e>>2]|0)|0;l=f;return e|0}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Mb[c[(c[e>>2]|0)+4>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&8404992|0)==0:0){if(c[(c[f>>2]|0)+12>>2]|0?Lw(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0:0){c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}if(c[(c[f>>2]|0)+16>>2]|0?Lw(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0:0){c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}if(c[(c[f>>2]|0)+4>>2]&2048|0){if(Gw(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0){c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}}else if(c[(c[f>>2]|0)+20>>2]|0?Jw(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0:0){c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=c[g>>2]&2;g=c[d>>2]|0;l=h;return g|0}function Mw(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+144|0;p=M+40|0;H=M+32|0;J=M+24|0;I=M+16|0;G=M+8|0;F=M;L=M+128|0;B=M+124|0;C=M+120|0;D=M+116|0;E=M+112|0;m=M+108|0;n=M+104|0;o=M+100|0;h=M+96|0;q=M+92|0;r=M+88|0;s=M+84|0;t=M+80|0;u=M+76|0;v=M+72|0;w=M+68|0;x=M+64|0;y=M+132|0;z=M+60|0;A=M+56|0;i=M+52|0;j=M+48|0;k=M+44|0;c[B>>2]=f;c[C>>2]=g;c[D>>2]=c[(c[B>>2]|0)+24>>2];c[E>>2]=c[c[D>>2]>>2];if(c[(c[C>>2]|0)+4>>2]&4|0){c[L>>2]=1;L=c[L>>2]|0;l=M;return L|0}g=(c[C>>2]|0)+4|0;c[g>>2]=c[g>>2]|4;switch(d[c[C>>2]>>0]|0){case 55:{c[L>>2]=mx(c[E>>2]|0,0,0,c[(c[C>>2]|0)+8>>2]|0,c[D>>2]|0,c[C>>2]|0)|0;L=c[L>>2]|0;l=M;return L|0}case 122:{nx(c[E>>2]|0,c[D>>2]|0,28977,32);c[h>>2]=c[(c[C>>2]|0)+16>>2];if((d[c[h>>2]>>0]|0)==55){c[o>>2]=0;c[n>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[h>>2]|0)+8>>2]}else{c[o>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+8>>2]}c[L>>2]=mx(c[E>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[D>>2]|0,c[C>>2]|0)|0;L=c[L>>2]|0;l=M;return L|0}case 151:{c[q>>2]=c[(c[C>>2]|0)+20>>2];if(c[q>>2]|0)f=c[c[q>>2]>>2]|0;else f=0;c[r>>2]=f;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;a[y>>0]=a[(c[c[E>>2]>>2]|0)+66>>0]|0;c[w>>2]=c[(c[C>>2]|0)+8>>2];c[v>>2]=md(c[w>>2]|0)|0;c[x>>2]=ox(c[c[E>>2]>>2]|0,c[w>>2]|0,c[r>>2]|0,a[y>>0]|0,0)|0;do if(!(c[x>>2]|0)){c[x>>2]=ox(c[c[E>>2]>>2]|0,c[w>>2]|0,-2,a[y>>0]|0,0)|0;if(!(c[x>>2]|0)){c[s>>2]=1;break}else{c[t>>2]=1;break}}else{c[u>>2]=(c[(c[x>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[x>>2]|0)+2>>1]&1024|0){y=(c[C>>2]|0)+4|0;c[y>>2]=c[y>>2]|266240;if((c[r>>2]|0)!=2){c[(c[C>>2]|0)+28>>2]=(a[c[(c[x>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}y=px(c[(c[(c[q>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[C>>2]|0)+28>>2]=y;if((c[(c[C>>2]|0)+28>>2]|0)<0){sl(c[E>>2]|0,28994,F);F=(c[D>>2]|0)+24|0;c[F>>2]=(c[F>>2]|0)+1}}while(0);c[z>>2]=Iu(c[E>>2]|0,31,0,c[(c[x>>2]|0)+20>>2]|0,0)|0;if(c[z>>2]|0){if((c[z>>2]|0)==1){K=c[E>>2]|0;c[G>>2]=c[(c[x>>2]|0)+20>>2];sl(K,29065,G);K=(c[D>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}a[c[C>>2]>>0]=101;c[L>>2]=1;L=c[L>>2]|0;l=M;return L|0}else{if(e[(c[x>>2]|0)+2>>1]&10240|0){G=(c[C>>2]|0)+4|0;c[G>>2]=c[G>>2]|524288}if(e[(c[x>>2]|0)+2>>1]&2048|0)break;nx(c[E>>2]|0,c[D>>2]|0,29100,34);break}}while(0);if(c[u>>2]|0?(e[(c[D>>2]|0)+28>>1]&1|0)==0:0){J=c[E>>2]|0;H=c[w>>2]|0;c[I>>2]=c[v>>2];c[I+4>>2]=H;sl(J,29128,I);J=(c[D>>2]|0)+24|0;c[J>>2]=(c[J>>2]|0)+1;c[u>>2]=0}else K=31;do if((K|0)==31){if(c[s>>2]|0?(d[(c[c[E>>2]>>2]|0)+148+5>>0]|0)==0:0){K=c[E>>2]|0;I=c[w>>2]|0;c[J>>2]=c[v>>2];c[J+4>>2]=I;sl(K,29164,J);K=(c[D>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1;break}if(c[t>>2]|0){K=c[E>>2]|0;J=c[w>>2]|0;c[H>>2]=c[v>>2];c[H+4>>2]=J;sl(K,29187,H);K=(c[D>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}}while(0);if(c[u>>2]|0){K=(c[D>>2]|0)+28|0;b[K>>1]=e[K>>1]&-2}Jw(c[B>>2]|0,c[q>>2]|0)|0;if(c[u>>2]|0){c[A>>2]=c[D>>2];a[c[C>>2]>>0]=-103;a[(c[C>>2]|0)+38>>0]=0;while(1){if(!(c[A>>2]|0))break;if(!((qx(c[C>>2]|0,c[(c[A>>2]|0)+4>>2]|0)|0)!=0^1))break;K=(c[C>>2]|0)+38|0;a[K>>0]=(a[K>>0]|0)+1<<24>>24;c[A>>2]=c[(c[A>>2]|0)+16>>2]}if(c[A>>2]|0){K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]|(16|e[(c[x>>2]|0)+2>>1]&4096)}K=(c[D>>2]|0)+28|0;b[K>>1]=e[K>>1]|1}c[L>>2]=1;L=c[L>>2]|0;l=M;return L|0}case 33:case 20:case 119:{if(c[(c[C>>2]|0)+4>>2]&2048|0?(c[i>>2]=c[(c[D>>2]|0)+20>>2],nx(c[E>>2]|0,c[D>>2]|0,29232,38),Gw(c[B>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0,(c[i>>2]|0)!=(c[(c[D>>2]|0)+20>>2]|0)):0){K=(c[C>>2]|0)+4|0;c[K>>2]=c[K>>2]|32;K=(c[D>>2]|0)+28|0;b[K>>1]=e[K>>1]|64}break}case 135:{nx(c[E>>2]|0,c[D>>2]|0,29243,38);break}case 148:case 29:case 41:case 38:case 39:case 40:case 36:case 37:{if((a[(c[c[E>>2]>>2]|0)+69>>0]|0)==0?(c[j>>2]=rx(c[(c[C>>2]|0)+12>>2]|0)|0,c[k>>2]=rx(c[(c[C>>2]|0)+16>>2]|0)|0,(c[j>>2]|0)!=(c[k>>2]|0)):0)sl(c[E>>2]|0,29254,p);break}default:{}}if(c[(c[E>>2]|0)+36>>2]|0)f=1;else f=(d[(c[c[E>>2]>>2]|0)+69>>0]|0)!=0;c[L>>2]=f?2:0;L=c[L>>2]|0;l=M;return L|0}function Nw(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+128|0;C=E+8|0;B=E;D=E+116|0;t=E+112|0;y=E+108|0;u=E+104|0;v=E+72|0;z=E+68|0;w=E+64|0;A=E+60|0;h=E+56|0;i=E+52|0;x=E+48|0;j=E+44|0;k=E+40|0;m=E+36|0;n=E+32|0;o=E+28|0;p=E+24|0;q=E+20|0;r=E+16|0;s=E+12|0;c[t>>2]=f;c[y>>2]=g;if(c[(c[y>>2]|0)+8>>2]&4|0){c[D>>2]=1;D=c[D>>2]|0;l=E;return D|0}c[u>>2]=c[(c[t>>2]|0)+24>>2];c[A>>2]=c[c[t>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(c[(c[y>>2]|0)+8>>2]&64)){Aw(c[A>>2]|0,c[y>>2]|0,c[u>>2]|0);if(c[(c[A>>2]|0)+36>>2]|0)f=1;else f=(d[(c[j>>2]|0)+69>>0]|0)!=0;c[D>>2]=f?2:1;D=c[D>>2]|0;l=E;return D|0}c[z>>2]=(c[(c[y>>2]|0)+48>>2]|0)!=0&1;c[w>>2]=0;c[x>>2]=c[y>>2];a:while(1){if(!(c[y>>2]|0)){f=68;break}t=(c[y>>2]|0)+8|0;c[t>>2]=c[t>>2]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(Ow(v,c[(c[y>>2]|0)+56>>2]|0)|0){f=11;break}if(Ow(v,c[(c[y>>2]|0)+60>>2]|0)|0){f=11;break}if(c[(c[y>>2]|0)+8>>2]&65536|0){c[k>>2]=c[(c[(c[y>>2]|0)+28>>2]|0)+8+20>>2];c[(c[k>>2]|0)+44>>2]=c[(c[y>>2]|0)+44>>2];c[(c[y>>2]|0)+44>>2]=0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[y>>2]|0)+28>>2]>>2]|0))break;c[m>>2]=(c[(c[y>>2]|0)+28>>2]|0)+8+((c[h>>2]|0)*72|0);if(c[(c[m>>2]|0)+20>>2]|0){c[o>>2]=0;c[p>>2]=c[(c[A>>2]|0)+448>>2];c[n>>2]=c[u>>2];while(1){if(!(c[n>>2]|0))break;c[o>>2]=(c[o>>2]|0)+(c[(c[n>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+16>>2]}if(c[(c[m>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+448>>2]=c[(c[m>>2]|0)+8>>2];Cw(c[A>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[u>>2]|0);c[(c[A>>2]|0)+448>>2]=c[p>>2];if(c[(c[A>>2]|0)+36>>2]|0){f=24;break a}if(d[(c[j>>2]|0)+69>>0]|0){f=24;break a}c[n>>2]=c[u>>2];while(1){if(!(c[n>>2]|0))break;c[o>>2]=(c[o>>2]|0)-(c[(c[n>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+16>>2]}t=(c[m>>2]|0)+36+1|0;a[t>>0]=a[t>>0]&-9|((c[o>>2]|0)!=0&1)<<3&255}c[h>>2]=(c[h>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[y>>2]|0)+28>>2];c[v+16>>2]=c[u>>2];if(Pw(v,c[c[y>>2]>>2]|0)|0){f=31;break}c[i>>2]=c[(c[y>>2]|0)+36>>2];if(!(c[i>>2]|0)?!(e[v+28>>1]&16|0):0){t=v+28|0;b[t>>1]=e[t>>1]&-2}else{t=(c[y>>2]|0)+8|0;c[t>>2]=c[t>>2]|(8|e[v+28>>1]&4096)}if(!(c[i>>2]|0?1:(c[(c[y>>2]|0)+40>>2]|0)==0)){f=37;break}c[v+8>>2]=c[c[y>>2]>>2];if(Ow(v,c[(c[y>>2]|0)+40>>2]|0)|0){f=39;break}if(Ow(v,c[(c[y>>2]|0)+32>>2]|0)|0){f=41;break}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[y>>2]|0)+28>>2]>>2]|0))break;c[q>>2]=(c[(c[y>>2]|0)+28>>2]|0)+8+((c[h>>2]|0)*72|0);if((d[(c[q>>2]|0)+36+1>>0]|0)>>>2&1|0?Pw(v,c[(c[q>>2]|0)+64>>2]|0)|0:0){f=46;break a}c[h>>2]=(c[h>>2]|0)+1}c[v+16>>2]=0;t=v+28|0;b[t>>1]=e[t>>1]|1;if(c[(c[y>>2]|0)+8>>2]&65536|0){c[r>>2]=c[(c[(c[y>>2]|0)+28>>2]|0)+8+20>>2];c[(c[y>>2]|0)+44>>2]=c[(c[r>>2]|0)+44>>2];c[(c[r>>2]|0)+44>>2]=0}if((c[z>>2]|0)<=(c[w>>2]|0)?Qw(v,c[y>>2]|0,c[(c[y>>2]|0)+44>>2]|0,28515)|0:0){f=52;break}if(a[(c[j>>2]|0)+69>>0]|0){f=54;break}b:do if(c[i>>2]|0){if(Qw(v,c[y>>2]|0,c[i>>2]|0,28521)|0){f=58;break a}if(d[(c[j>>2]|0)+69>>0]|0){f=58;break a}c[h>>2]=0;c[s>>2]=c[(c[i>>2]|0)+4>>2];while(1){if((c[h>>2]|0)>=(c[c[i>>2]>>2]|0))break b;if(c[(c[c[s>>2]>>2]|0)+4>>2]&2|0){f=62;break a}c[h>>2]=(c[h>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}}while(0);if(c[(c[y>>2]|0)+52>>2]|0?(c[c[c[y>>2]>>2]>>2]|0)!=(c[c[c[(c[y>>2]|0)+52>>2]>>2]>>2]|0):0){f=66;break}c[y>>2]=c[(c[y>>2]|0)+48>>2];c[w>>2]=(c[w>>2]|0)+1}switch(f|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 37:{sl(c[A>>2]|0,28471,B);c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 62:{sl(c[A>>2]|0,28527,C);c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 66:{Rw(c[A>>2]|0,c[(c[y>>2]|0)+52>>2]|0);c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 68:{if(c[z>>2]|0?Sw(c[A>>2]|0,c[x>>2]|0)|0:0){c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;l=E;return D|0}}return 0}function Ow(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;g=n+40|0;h=n+36|0;i=n+32|0;j=n+44|0;k=n+4|0;m=n;c[h>>2]=d;c[i>>2]=f;if(!(c[i>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}c[m>>2]=c[c[h>>2]>>2];if(lx(c[m>>2]|0,(c[(c[i>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+416>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;l=n;return m|0}m=(c[m>>2]|0)+416|0;c[m>>2]=(c[m>>2]|0)+(c[(c[i>>2]|0)+24>>2]|0);b[j>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4112;m=(c[h>>2]|0)+28|0;b[m>>1]=(e[m>>1]|0)&-4113;c[k>>2]=c[c[h>>2]>>2];c[k+4>>2]=200;c[k+8>>2]=201;c[k+12>>2]=0;c[k+16>>2]=0;a[k+20>>0]=0;c[k+24>>2]=c[h>>2];Kw(k,c[i>>2]|0)|0;m=(c[c[h>>2]>>2]|0)+416|0;c[m>>2]=(c[m>>2]|0)-(c[(c[i>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[k>>2]|0)+36>>2]|0)<=0:0)){m=(c[i>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&16|0){m=(c[i>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[j>>1]|0);c[g>>2]=(c[(c[i>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;l=n;return m|0}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(Ow(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function Qw(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+36|0;t=v+32|0;u=v+28|0;h=v+24|0;i=v+20|0;j=v+16|0;k=v+12|0;m=v+8|0;n=v+4|0;o=v;c[q>>2]=d;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;if(!(c[s>>2]|0)){c[p>>2]=0;u=c[p>>2]|0;l=v;return u|0}c[m>>2]=c[c[c[r>>2]>>2]>>2];c[k>>2]=c[c[q>>2]>>2];c[u>>2]=0;c[j>>2]=c[(c[s>>2]|0)+4>>2];a:while(1){if((c[u>>2]|0)>=(c[c[s>>2]>>2]|0)){f=21;break}c[n>>2]=c[c[j>>2]>>2];c[o>>2]=yw(c[n>>2]|0)|0;if((a[c[t>>2]>>0]|0)!=71?(c[i>>2]=Vw(c[k>>2]|0,c[c[r>>2]>>2]|0,c[o>>2]|0)|0,(c[i>>2]|0)>0):0){d=c[i>>2]&65535;e=c[j>>2]|0;f=19}else f=8;b:do if((f|0)==8){f=0;if(Tw(c[o>>2]|0,i)|0){if((c[i>>2]|0)<1|(c[i>>2]|0)>65535){f=10;break a}d=c[i>>2]&65535;e=c[j>>2]|0;f=19;break}b[(c[j>>2]|0)+16>>1]=0;if(Ow(c[q>>2]|0,c[n>>2]|0)|0){f=13;break a}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[c[r>>2]>>2]>>2]|0))break b;if(!(Yw(c[n>>2]|0,c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[j>>2]|0)+16>>1]=(c[h>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}}while(0);if((f|0)==19)b[e+16>>1]=d;c[u>>2]=(c[u>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==10){Uw(c[k>>2]|0,c[t>>2]|0,(c[u>>2]|0)+1|0,c[m>>2]|0);c[p>>2]=1;u=c[p>>2]|0;l=v;return u|0}else if((f|0)==13){c[p>>2]=1;u=c[p>>2]|0;l=v;return u|0}else if((f|0)==21){c[p>>2]=fx(c[k>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;u=c[p>>2]|0;l=v;return u|0}return 0}function Rw(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g+8|0;h=g+16|0;e=g+12|0;c[h>>2]=a;c[e>>2]=b;a=c[h>>2]|0;if(c[(c[e>>2]|0)+8>>2]&512|0){sl(a,28737,g);l=g;return}else{c[f>>2]=ex(d[(c[e>>2]|0)+4>>0]|0)|0;sl(a,28783,f);l=g;return}}function Sw(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;v=w+8|0;q=w+64|0;r=w+60|0;n=w+56|0;s=w+52|0;t=w+48|0;u=w+44|0;o=w+40|0;p=w+36|0;g=w+32|0;h=w+28|0;i=w+24|0;j=w+20|0;k=w+16|0;m=w+12|0;c[r>>2]=e;c[n>>2]=f;c[p>>2]=1;c[t>>2]=c[(c[n>>2]|0)+44>>2];if(!(c[t>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;l=w;return v|0}c[o>>2]=c[c[r>>2]>>2];if((c[c[t>>2]>>2]|0)>(c[(c[o>>2]|0)+96+8>>2]|0)){sl(c[r>>2]|0,28586,w);c[q>>2]=1;v=c[q>>2]|0;l=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[t>>2]>>2]|0))break;f=(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[n>>2]|0)+52>>2]=0;while(1){if(!(c[(c[n>>2]|0)+48>>2]|0))break;c[(c[(c[n>>2]|0)+48>>2]|0)+52>>2]=c[n>>2];c[n>>2]=c[(c[n>>2]|0)+48>>2]}a:while(1){if(!(c[n>>2]|0?(c[p>>2]|0)!=0:0)){e=36;break}c[p>>2]=0;c[u>>2]=c[c[n>>2]>>2];c[s>>2]=0;c[g>>2]=c[(c[t>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[t>>2]>>2]|0))break;c[h>>2]=-1;do if(!(a[(c[g>>2]|0)+13>>0]&1)){c[i>>2]=yw(c[c[g>>2]>>2]|0)|0;if(Tw(c[i>>2]|0,h)|0){if((c[h>>2]|0)<=0){e=18;break a}if((c[h>>2]|0)>(c[c[u>>2]>>2]|0)){e=18;break a}}else{c[h>>2]=Vw(c[r>>2]|0,c[u>>2]|0,c[i>>2]|0)|0;if(!(c[h>>2]|0)){c[j>>2]=Ww(c[o>>2]|0,c[i>>2]|0,0)|0;if(!(a[(c[o>>2]|0)+69>>0]|0))c[h>>2]=Xw(c[r>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;Ok(c[o>>2]|0,c[j>>2]|0)}}if((c[h>>2]|0)<=0){c[p>>2]=1;break}c[k>>2]=Ht(c[o>>2]|0,134,0)|0;if(!(c[k>>2]|0)){e=25;break a}f=(c[k>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[k>>2]|0)+8>>2]=c[h>>2];if((c[c[g>>2]>>2]|0)==(c[i>>2]|0))c[c[g>>2]>>2]=c[k>>2];else{c[m>>2]=c[c[g>>2]>>2];while(1){if((d[c[(c[m>>2]|0)+12>>2]>>0]|0)!=53)break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[m>>2]|0)+12>>2]=c[k>>2]}Ok(c[o>>2]|0,c[i>>2]|0);b[(c[g>>2]|0)+16>>1]=c[h>>2];f=(c[g>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}c[n>>2]=c[(c[n>>2]|0)+52>>2]}if((e|0)==18){Uw(c[r>>2]|0,28515,(c[s>>2]|0)+1|0,c[c[u>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;l=w;return v|0}else if((e|0)==25){c[q>>2]=1;v=c[q>>2]|0;l=w;return v|0}else if((e|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[t>>2]>>2]|0)){e=41;break}if(!(a[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){e=39;break}c[s>>2]=(c[s>>2]|0)+1}if((e|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;sl(u,28620,v);c[q>>2]=1;v=c[q>>2]|0;l=w;return v|0}else if((e|0)==41){c[q>>2]=0;v=c[q>>2]|0;l=w;return v|0}}return 0}function Tw(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024|0){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;i=c[e>>2]|0;l=j;return i|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=Tw(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(Tw(c[(c[f>>2]|0)+12>>2]|0,i)|0){c[c[g>>2]>>2]=0-(c[i>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}function Uw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;g=f;k=f+24|0;j=f+20|0;h=f+16|0;i=f+12|0;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[i>>2]=e;e=c[k>>2]|0;b=c[j>>2]|0;d=c[i>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=b;c[g+8>>2]=d;sl(e,28681,g);l=f;return}function Vw(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+24|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==55){c[j>>2]=c[(c[h>>2]|0)+8>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)+4>>2];if(c[k>>2]|0?(bh(c[k>>2]|0,c[j>>2]|0)|0)==0:0)break;c[i>>2]=(c[i>>2]|0)+1}c[f>>2]=(c[i>>2]|0)+1;k=c[f>>2]|0;l=m;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}function Ww(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){g=0;l=h;return g|0}g=_w(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,0)|0;l=h;return g|0}function Xw(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;k=l;l=l+80|0;j=k+60|0;q=k+56|0;r=k+52|0;g=k+48|0;h=k+44|0;i=k+40|0;p=k+8|0;n=k+4|0;m=k;o=k+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[i>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+28>>2];c[p+8>>2]=c[i>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+73>>0]|0;a[(c[n>>2]|0)+73>>0]=1;c[m>>2]=Ow(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+73>>0]=a[o>>0]|0;if(c[m>>2]|0){c[j>>2]=0;r=c[j>>2]|0;l=k;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[i>>2]>>2]|0)){d=8;break}r=(Yw(c[(c[(c[i>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;e=(c[h>>2]|0)+1|0;if(r){d=6;break}c[h>>2]=e}if((d|0)==6){c[j>>2]=e;r=c[j>>2]|0;l=k;return r|0}else if((d|0)==8){c[j>>2]=0;r=c[j>>2]|0;l=k;return r|0}return 0}function Yw(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=a;c[i>>2]=e;c[j>>2]=f;if((c[h>>2]|0)==0|(c[i>>2]|0)==0){c[g>>2]=(c[i>>2]|0)==(c[h>>2]|0)?0:2;k=c[g>>2]|0;l=m;return k|0}c[k>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[i>>2]|0)+4>>2];a=c[h>>2]|0;if(c[k>>2]&1024|0){if(c[a+4>>2]&c[(c[i>>2]|0)+4>>2]&1024|0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[i>>2]|0)+8>>2]|0):0){c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}e=d[c[h>>2]>>0]|0;if((d[a>>0]|0)!=(d[c[i>>2]>>0]|0)){if((e|0)==53?(Yw(c[(c[h>>2]|0)+12>>2]|0,c[i>>2]|0,c[j>>2]|0)|0)<2:0){c[g>>2]=1;k=c[g>>2]|0;l=m;return k|0}if((d[c[i>>2]>>0]|0)==53?(Yw(c[h>>2]|0,c[(c[i>>2]|0)+12>>2]|0,c[j>>2]|0)|0)<2:0){c[g>>2]=1;k=c[g>>2]|0;l=m;return k|0}c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}do if(((e|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?c[(c[h>>2]|0)+8>>2]|0:0){a=c[(c[h>>2]|0)+8>>2]|0;e=c[(c[i>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(bh(a,e)|0))break;c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}else{if(!(G_(a,e)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==53?1:2;k=c[g>>2]|0;l=m;return k|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[i>>2]|0)+4>>2]&16|0)){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}do if(!(c[k>>2]&16384)){if(c[k>>2]&2048|0){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if(Yw(c[(c[h>>2]|0)+12>>2]|0,c[(c[i>>2]|0)+12>>2]|0,c[j>>2]|0)|0){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if(Yw(c[(c[h>>2]|0)+16>>2]|0,c[(c[i>>2]|0)+16>>2]|0,c[j>>2]|0)|0){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if(Zw(c[(c[h>>2]|0)+20>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[j>>2]|0)|0){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if((c[k>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[i>>2]|0)+32>>1]|0)){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[i>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[j>>2]|0)?(c[(c[i>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}}}while(0);c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}function Zw(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[f>>2]>>2]|0)){a=14;break}c[j>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2];c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)+12>>0]|0|0)){a=10;break}if(Yw(c[j>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){a=12;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==10){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}else if((a|0)==12){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}else if((a|0)==14){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}return 0}function _w(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+44|0;r=t+40|0;n=t+36|0;o=t+32|0;s=t+28|0;p=t+24|0;g=t+20|0;h=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[q>>2]=a;c[r>>2]=b;c[n>>2]=e;c[o>>2]=f;if(c[o>>2]|0){c[p>>2]=c[c[o>>2]>>2];c[g>>2]=32768}else{e=c[q>>2]|0;f=$w(c[r>>2]|0,c[n>>2]|0)|0;c[p>>2]=Ed(e,f,((f|0)<0)<<31>>31)|0;c[g>>2]=0}c[s>>2]=c[p>>2];if(!(c[s>>2]|0)){s=c[s>>2]|0;l=t;return s|0}c[h>>2]=ax(c[r>>2]|0,c[n>>2]|0)|0;c[i>>2]=c[h>>2]&4095;if(!(c[(c[r>>2]|0)+4>>2]&1024|0)?c[(c[r>>2]|0)+8>>2]|0:0)c[j>>2]=(md(c[(c[r>>2]|0)+8>>2]|0)|0)+1;else c[j>>2]=0;if(!(c[n>>2]|0)){c[k>>2]=bx(c[r>>2]|0)|0;h0(c[p>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;if((c[k>>2]|0)>>>0<48)m0((c[p>>2]|0)+(c[k>>2]|0)|0,0,48-(c[k>>2]|0)|0)|0}else h0(c[p>>2]|0,c[r>>2]|0,c[i>>2]|0)|0;f=(c[s>>2]|0)+4|0;c[f>>2]=c[f>>2]&-122881;f=(c[s>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[h>>2]&24576;f=(c[s>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[g>>2];if(c[j>>2]|0){f=(c[p>>2]|0)+(c[i>>2]|0)|0;c[(c[s>>2]|0)+8>>2]=f;c[m>>2]=f;h0(c[m>>2]|0,c[(c[r>>2]|0)+8>>2]|0,c[j>>2]|0)|0}do if(!((c[(c[r>>2]|0)+4>>2]|c[(c[s>>2]|0)+4>>2])&8404992)){a=c[q>>2]|0;b=(c[r>>2]|0)+20|0;if(c[(c[r>>2]|0)+4>>2]&2048|0){f=kw(a,c[b>>2]|0,c[n>>2]|0)|0;c[(c[s>>2]|0)+20>>2]=f;break}else{f=cx(a,c[b>>2]|0,c[n>>2]|0)|0;c[(c[s>>2]|0)+20>>2]=f;break}}while(0);a=c[r>>2]|0;if(!(c[(c[s>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&8404992|0){s=c[s>>2]|0;l=t;return s|0}if((d[c[s>>2]>>0]|0|0)==159){a=c[(c[r>>2]|0)+12>>2]|0;b=c[s>>2]|0}else{a=Ww(c[q>>2]|0,c[(c[r>>2]|0)+12>>2]|0,0)|0;b=c[s>>2]|0}c[b+12>>2]=a;r=Ww(c[q>>2]|0,c[(c[r>>2]|0)+16>>2]|0,0)|0;c[(c[s>>2]|0)+16>>2]=r;s=c[s>>2]|0;l=t;return s|0}n=dx(a,c[n>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+n;if(!(c[(c[s>>2]|0)+4>>2]&8404992)){if(c[(c[r>>2]|0)+12>>2]|0)a=_w(c[q>>2]|0,c[(c[r>>2]|0)+12>>2]|0,1,p)|0;else a=0;c[(c[s>>2]|0)+12>>2]=a;if(c[(c[r>>2]|0)+16>>2]|0)a=_w(c[q>>2]|0,c[(c[r>>2]|0)+16>>2]|0,1,p)|0;else a=0;c[(c[s>>2]|0)+16>>2]=a}if(!(c[o>>2]|0)){s=c[s>>2]|0;l=t;return s|0}c[c[o>>2]>>2]=c[p>>2];s=c[s>>2]|0;l=t;return s|0}function $w(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=dx(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){f=c[f>>2]|0;l=g;return f|0}b=$w(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;e=b+($w(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+e;f=c[f>>2]|0;l=g;return f|0}function ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]|0))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);l=f;return c[e>>2]|0}function bx(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384|0))if(c[(c[d>>2]|0)+4>>2]&8192|0){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);l=e;return c[b>>2]|0}function cx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;g=q+4|0;h=q;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;if(!(c[k>>2]|0)){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}c[n>>2]=Ed(c[j>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}f=c[c[k>>2]>>2]|0;c[g>>2]=f;c[c[n>>2]>>2]=f;a:do if(!(c[m>>2]&1)){c[g>>2]=1;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break a;c[g>>2]=(c[g>>2]|0)+(c[g>>2]|0)}}while(0);f=Ed(c[j>>2]|0,(c[g>>2]|0)*20|0,0)|0;c[o>>2]=f;c[(c[n>>2]|0)+4>>2]=f;if(!(c[o>>2]|0)){Xd(c[j>>2]|0,c[n>>2]|0);c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}c[p>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[h>>2]=c[c[p>>2]>>2];f=Ww(c[j>>2]|0,c[h>>2]|0,c[m>>2]|0)|0;c[c[o>>2]>>2]=f;f=Xo(c[j>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=f;f=Xo(c[j>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=f;a[(c[o>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;f=(c[o>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2;f=(c[o>>2]|0)+13|0;a[f>>0]=a[f>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[o>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[i>>2]=c[n>>2];p=c[i>>2]|0;l=q;return p|0}function dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(ax(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?c[(c[d>>2]|0)+8>>2]|0:0){g=(md(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}l=f;return (c[e>>2]|0)+7&-8|0}function ex(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=28865;break}case 118:{c[b>>2]=28875;break}case 117:{c[b>>2]=28885;break}default:c[b>>2]=28892}l=d;return c[b>>2]|0}function fx(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t;q=t+36|0;n=t+32|0;j=t+28|0;o=t+24|0;r=t+20|0;s=t+16|0;i=t+12|0;p=t+8|0;m=t+4|0;c[n>>2]=a;c[j>>2]=f;c[o>>2]=g;c[r>>2]=h;c[i>>2]=c[c[n>>2]>>2];if(c[o>>2]|0?(d[(c[c[n>>2]>>2]|0)+69>>0]|0)==0:0){if((c[c[o>>2]>>2]|0)>(c[(c[i>>2]|0)+96+8>>2]|0)){s=c[n>>2]|0;c[k>>2]=c[r>>2];sl(s,28898,k);c[q>>2]=1;s=c[q>>2]|0;l=t;return s|0}c[p>>2]=c[c[j>>2]>>2];c[s>>2]=0;c[m>>2]=c[(c[o>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[o>>2]>>2]|0)){a=13;break}if(b[(c[m>>2]|0)+16>>1]|0){f=c[n>>2]|0;if((e[(c[m>>2]|0)+16>>1]|0)>(c[c[p>>2]>>2]|0)){a=10;break}gx(f,c[p>>2]|0,(e[(c[m>>2]|0)+16>>1]|0)-1|0,c[c[m>>2]>>2]|0,c[r>>2]|0,0)}c[s>>2]=(c[s>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((a|0)==10){Uw(f,c[r>>2]|0,(c[s>>2]|0)+1|0,c[c[p>>2]>>2]|0);c[q>>2]=1;s=c[q>>2]|0;l=t;return s|0}else if((a|0)==13){c[q>>2]=0;s=c[q>>2]|0;l=t;return s|0}}c[q>>2]=0;s=c[q>>2]|0;l=t;return s|0}function gx(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+48|0;m=q+32|0;t=q+28|0;s=q+24|0;p=q+20|0;j=q+16|0;k=q+12|0;r=q+8|0;n=q+4|0;o=q;c[m>>2]=b;c[t>>2]=e;c[s>>2]=f;c[p>>2]=g;c[j>>2]=h;c[k>>2]=i;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[m>>2]>>2];c[n>>2]=Ww(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[n>>2]|0)){l=q;return}if((a[c[j>>2]>>0]|0)!=71)hx(c[n>>2]|0,c[k>>2]|0);if((d[c[p>>2]>>0]|0)==53)c[n>>2]=ix(c[m>>2]|0,c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;b=(c[n>>2]|0)+4|0;c[b>>2]=c[b>>2]|4194304;b=(c[p>>2]|0)+4|0;c[b>>2]=c[b>>2]|32768;Ok(c[o>>2]|0,c[p>>2]|0);b=c[p>>2]|0;e=c[n>>2]|0;j=b+48|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(j|0));if((c[(c[p>>2]|0)+4>>2]&1024|0)==0?c[(c[p>>2]|0)+8>>2]|0:0){t=Xo(c[o>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[p>>2]|0)+8>>2]=t;t=(c[p>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Xd(c[o>>2]|0,c[n>>2]|0);l=q;return}function hx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){l=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=202;c[f+24>>2]=c[e>>2];Kw(f,c[d>>2]|0)|0;l=g;return}function ix(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+32|0;h=e+16|0;g=e+12|0;i=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[i>>2]=d;jx(f,c[i>>2]|0);d=Yt(c[h>>2]|0,c[g>>2]|0,f,0)|0;l=e;return d|0}function jx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=md(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;l=d;return}function kx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){l=h;return 0}g=(c[g>>2]|0)+38|0;a[g>>0]=(d[g>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);l=h;return 0}function lx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;d=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;c[d>>2]=a;c[i>>2]=b;c[e>>2]=0;c[f>>2]=c[(c[c[d>>2]>>2]|0)+96+12>>2];if((c[i>>2]|0)<=(c[f>>2]|0)){i=c[e>>2]|0;l=h;return i|0}i=c[d>>2]|0;c[g>>2]=c[f>>2];sl(i,28929,g);c[e>>2]=1;i=c[e>>2]|0;l=h;return i|0}function mx(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+176|0;W=X+40|0;V=X+24|0;F=X+8|0;E=X;S=X+164|0;T=X+160|0;C=X+156|0;U=X+152|0;I=X+148|0;J=X+144|0;K=X+140|0;m=X+136|0;n=X+132|0;L=X+128|0;o=X+124|0;p=X+120|0;M=X+116|0;q=X+112|0;N=X+108|0;O=X+104|0;P=X+100|0;Q=X+96|0;r=X+92|0;s=X+88|0;t=X+84|0;u=X+80|0;v=X+76|0;w=X+72|0;y=X+68|0;z=X+64|0;A=X+60|0;B=X+56|0;H=X+52|0;R=X+48|0;c[T>>2]=f;c[C>>2]=g;c[U>>2]=h;c[I>>2]=i;c[J>>2]=j;c[K>>2]=k;c[L>>2]=0;c[o>>2]=0;c[p>>2]=0;c[M>>2]=c[c[T>>2]>>2];c[N>>2]=0;c[O>>2]=c[J>>2];c[P>>2]=0;c[Q>>2]=0;c[r>>2]=0;c[(c[K>>2]|0)+28>>2]=-1;c[(c[K>>2]|0)+44>>2]=0;a:do if(c[C>>2]|0){if(e[(c[J>>2]|0)+28>>1]&6|0){c[C>>2]=0;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[M>>2]|0)+20>>2]|0))break a;if(!(bh(c[(c[(c[M>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0,c[C>>2]|0)|0))break;c[m>>2]=(c[m>>2]|0)+1}c[P>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]}while(0);b:while(1){if(!(c[J>>2]|0?(c[L>>2]|0)==0:0)){G=84;break}c[u>>2]=c[(c[J>>2]|0)+4>>2];if(c[u>>2]|0){c[m>>2]=0;c[q>>2]=(c[u>>2]|0)+8;while(1){if((c[m>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[r>>2]=c[(c[q>>2]|0)+16>>2];if(c[(c[q>>2]|0)+20>>2]|0?c[(c[(c[q>>2]|0)+20>>2]|0)+8>>2]&2048|0:0){c[v>>2]=0;c[t>>2]=c[c[(c[q>>2]|0)+20>>2]>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if(ux(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0,c[I>>2]|0,c[U>>2]|0,c[C>>2]|0)|0){c[L>>2]=(c[L>>2]|0)+1;c[o>>2]=2;c[N>>2]=c[q>>2];b[(c[K>>2]|0)+32>>1]=c[n>>2];c[v>>2]=1}c[n>>2]=(c[n>>2]|0)+1}if(!((c[v>>2]|0)!=0|(c[U>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if(c[C>>2]|0?(c[(c[r>>2]|0)+64>>2]|0)!=(c[P>>2]|0):0)break;if(c[U>>2]|0?(c[w>>2]=c[(c[(c[q>>2]|0)+12>>2]|0?(c[q>>2]|0)+12|0:c[r>>2]|0)>>2],bh(c[w>>2]|0,c[U>>2]|0)|0):0)break;k=c[o>>2]|0;c[o>>2]=k+1;if(!k)c[N>>2]=c[q>>2];c[n>>2]=0;c[s>>2]=c[(c[r>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break c;if(!(bh(c[c[s>>2]>>2]|0,c[I>>2]|0)|0)){if((c[L>>2]|0)!=1)break;if((d[(c[q>>2]|0)+36>>0]&4|0)==0?(vx(c[(c[q>>2]|0)+52>>2]|0,c[I>>2]|0)|0)==0:0)break}c[n>>2]=(c[n>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+16}c[L>>2]=(c[L>>2]|0)+1;c[N>>2]=c[q>>2];if((c[n>>2]|0)==(b[(c[r>>2]|0)+32>>1]|0))f=-1;else f=(c[n>>2]&65535)<<16>>16;b[(c[K>>2]|0)+32>>1]=f}while(0);c[m>>2]=(c[m>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+72}if(c[N>>2]|0){c[(c[K>>2]|0)+28>>2]=c[(c[N>>2]|0)+44>>2];c[(c[K>>2]|0)+44>>2]=c[(c[N>>2]|0)+16>>2];if(d[(c[N>>2]|0)+36>>0]&8|0){k=(c[K>>2]|0)+4|0;c[k>>2]=c[k>>2]|1048576}c[P>>2]=c[(c[(c[K>>2]|0)+44>>2]|0)+64>>2]}}if((c[C>>2]|0)==0&(c[U>>2]|0)!=0&(c[o>>2]|0)==0?c[(c[T>>2]|0)+128>>2]|0:0){c[y>>2]=d[(c[T>>2]|0)+148>>0];if((c[y>>2]|0)!=109?(bh(29356,c[U>>2]|0)|0)==0:0){c[(c[K>>2]|0)+28>>2]=1;c[r>>2]=c[(c[T>>2]|0)+128>>2]}else G=47;do if((G|0)==47){G=0;if((c[y>>2]|0)!=108?(bh(29360,c[U>>2]|0)|0)==0:0){c[(c[K>>2]|0)+28>>2]=0;c[r>>2]=c[(c[T>>2]|0)+128>>2];break}c[r>>2]=0}while(0);if(c[r>>2]|0){c[P>>2]=c[(c[r>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[z>>2]=0;c[s>>2]=c[(c[r>>2]|0)+4>>2];while(1){if((c[z>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;k=(bh(c[c[s>>2]>>2]|0,c[I>>2]|0)|0)==0;x=c[z>>2]|0;if(k){G=55;break}c[z>>2]=x+1;c[s>>2]=(c[s>>2]|0)+16}if((G|0)==55?(G=0,(x|0)==(b[(c[r>>2]|0)+32>>1]|0)):0)c[z>>2]=-1;if(((c[z>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0)?wx(c[I>>2]|0)|0:0)?(d[(c[r>>2]|0)+42>>0]&64|0)==0:0)c[z>>2]=-1;if((c[z>>2]|0)<(b[(c[r>>2]|0)+34>>1]|0)){c[L>>2]=(c[L>>2]|0)+1;f=c[K>>2]|0;if((c[z>>2]|0)<0)a[f+1>>0]=68;else{k=(c[f+28>>2]|0)==0?(c[T>>2]|0)+140|0:(c[T>>2]|0)+144|0;c[k>>2]=c[k>>2]|((c[z>>2]|0)>=32?-1:1<>2])}b[(c[K>>2]|0)+32>>1]=c[z>>2];c[(c[K>>2]|0)+44>>2]=c[r>>2];c[Q>>2]=1}}}if((((c[L>>2]|0)==0&(c[o>>2]|0)==1&(c[N>>2]|0)!=0?(e[(c[J>>2]|0)+28>>1]&32|0)==0:0)?wx(c[I>>2]|0)|0:0)?(d[(c[(c[N>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[L>>2]=1;b[(c[K>>2]|0)+32>>1]=-1;a[(c[K>>2]|0)+1>>0]=68}k=c[(c[J>>2]|0)+8>>2]|0;c[t>>2]=k;d:do if((k|0)!=0&(c[U>>2]|0)==0&(c[L>>2]|0)==0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break d;c[A>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];if(c[A>>2]|0?(bh(c[A>>2]|0,c[I>>2]|0)|0)==0:0){G=77;break b}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[L>>2]|0)continue;c[J>>2]=c[(c[J>>2]|0)+16>>2];c[p>>2]=(c[p>>2]|0)+1}if((G|0)==77){c[B>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];if((e[(c[J>>2]|0)+28>>1]&1|0)==0?c[(c[B>>2]|0)+4>>2]&2|0:0){W=c[T>>2]|0;c[E>>2]=c[A>>2];sl(W,29364,E);c[S>>2]=2;W=c[S>>2]|0;l=X;return W|0}gx(c[T>>2]|0,c[t>>2]|0,c[n>>2]|0,c[K>>2]|0,55752,c[p>>2]|0);c[L>>2]=1;c[N>>2]=0}else if((G|0)==84){if((c[L>>2]|0)==0&(c[U>>2]|0)==0?c[(c[K>>2]|0)+4>>2]&64|0:0){a[c[K>>2]>>0]=97;c[(c[K>>2]|0)+44>>2]=0;c[S>>2]=1;W=c[S>>2]|0;l=X;return W|0}if((c[L>>2]|0)!=1){c[H>>2]=(c[L>>2]|0)==0?29395:29410;do if(!(c[C>>2]|0)){g=c[T>>2]|0;f=c[H>>2]|0;if(c[U>>2]|0){U=c[U>>2]|0;W=c[I>>2]|0;c[V>>2]=f;c[V+4>>2]=U;c[V+8>>2]=W;sl(g,26727,V);break}else{V=c[I>>2]|0;c[W>>2]=f;c[W+4>>2]=V;sl(g,26737,W);break}}else{W=c[T>>2]|0;G=c[C>>2]|0;U=c[U>>2]|0;V=c[I>>2]|0;c[F>>2]=c[H>>2];c[F+4>>2]=G;c[F+8>>2]=U;c[F+12>>2]=V;sl(W,29432,F)}while(0);a[(c[T>>2]|0)+17>>0]=1;W=(c[O>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if(c[N>>2]|0?(b[(c[K>>2]|0)+32>>1]|0)>=0:0){U=b[(c[K>>2]|0)+32>>1]|0;c[R>>2]=U;c[R>>2]=(c[R>>2]|0)>=64?63:U;U=j0(1,0,c[R>>2]|0)|0;W=(c[N>>2]|0)+56|0;R=W;V=c[R+4>>2]|D;c[W>>2]=c[R>>2]|U;c[W+4>>2]=V}Ok(c[M>>2]|0,c[(c[K>>2]|0)+12>>2]|0);c[(c[K>>2]|0)+12>>2]=0;Ok(c[M>>2]|0,c[(c[K>>2]|0)+16>>2]|0);c[(c[K>>2]|0)+16>>2]=0;a[c[K>>2]>>0]=c[Q>>2]|0?88:152}if((c[L>>2]|0)!=1){c[S>>2]=2;W=c[S>>2]|0;l=X;return W|0}if(!(c[(c[K>>2]|0)+4>>2]&4194304))xx(c[T>>2]|0,c[K>>2]|0,c[P>>2]|0,c[(c[J>>2]|0)+4>>2]|0);while(1){W=(c[O>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[O>>2]|0)==(c[J>>2]|0))break;c[O>>2]=c[(c[O>>2]|0)+16>>2]}c[S>>2]=1;W=c[S>>2]|0;l=X;return W|0}function nx(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;k=m;g=m+24|0;h=m+20|0;i=m+16|0;n=m+12|0;j=m+8|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){l=m;return}c[j>>2]=29272;if(!((e[(c[h>>2]|0)+28>>1]|0)&32|0)){if((e[(c[h>>2]|0)+28>>1]|0)&4|0)c[j>>2]=29318}else c[j>>2]=29300;n=c[g>>2]|0;j=c[j>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;sl(n,29336,k);l=m;return}function ox(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;t=y+44|0;u=y+40|0;v=y+36|0;w=y+32|0;x=y+49|0;j=y+48|0;k=y+28|0;m=y+24|0;n=y+20|0;o=y+16|0;p=y+12|0;q=y+8|0;r=y+4|0;s=y;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;a[x>>0]=h;a[j>>0]=i;c[m>>2]=0;c[n>>2]=0;c[p>>2]=md(c[v>>2]|0)|0;c[k>>2]=hv((c[u>>2]|0)+348|0,c[v>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[q>>2]=tx(c[k>>2]|0,c[w>>2]|0,a[x>>0]|0)|0;if((c[q>>2]|0)>(c[n>>2]|0)){c[m>>2]=c[k>>2];c[n>>2]=c[q>>2]}c[k>>2]=c[(c[k>>2]|0)+8>>2]}a:do if(!(a[j>>0]|0)){if(c[m>>2]|0?(c[(c[u>>2]|0)+24>>2]&2097152|0)==0:0)break;c[n>>2]=0;c[o>>2]=((d[20458+(d[c[v>>2]>>0]|0)>>0]|0)+(c[p>>2]|0)|0)%23|0;c[k>>2]=ah(c[o>>2]|0,c[v>>2]|0)|0;while(1){if(!(c[k>>2]|0))break a;c[r>>2]=tx(c[k>>2]|0,c[w>>2]|0,a[x>>0]|0)|0;if((c[r>>2]|0)>(c[n>>2]|0)){c[m>>2]=c[k>>2];c[n>>2]=c[r>>2]}c[k>>2]=c[(c[k>>2]|0)+8>>2]}}while(0);do if((d[j>>0]|0)!=0&(c[n>>2]|0)<6?(i=_l(c[u>>2]|0,28+(c[p>>2]|0)+1|0,0)|0,c[m>>2]=i,i|0):0){c[(c[m>>2]|0)+20>>2]=(c[m>>2]|0)+28;a[c[m>>2]>>0]=c[w>>2];b[(c[m>>2]|0)+2>>1]=d[x>>0]|0;h0((c[m>>2]|0)+28|0,c[v>>2]|0,(c[p>>2]|0)+1|0)|0;c[s>>2]=Fk((c[u>>2]|0)+348|0,c[(c[m>>2]|0)+20>>2]|0,c[m>>2]|0)|0;if((c[s>>2]|0)!=(c[m>>2]|0)){c[(c[m>>2]|0)+8>>2]=c[s>>2];break}Xd(c[u>>2]|0,c[m>>2]|0);Od(c[u>>2]|0);c[t>>2]=0;x=c[t>>2]|0;l=y;return x|0}while(0);do if(c[m>>2]|0){if((c[(c[m>>2]|0)+12>>2]|0)==0?(d[j>>0]|0)==0:0)break;c[t>>2]=c[m>>2];x=c[t>>2]|0;l=y;return x|0}while(0);c[t>>2]=0;x=c[t>>2]|0;l=y;return x|0}function px(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=132){c[b>>2]=-1;f=c[b>>2]|0;l=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;Ji(a,f,md(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;l=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;l=g;return f|0}return 0}function qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=203;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;Jw(g,c[(c[f>>2]|0)+20>>2]|0)|0;if((c[d+4>>2]|0)>0){h=1;h=h&1;l=e;return h|0}h=(c[d+8>>2]|0)==0;h=h&1;l=e;return h|0}function rx(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h;g=h+8|0;c[f>>2]=b;a[g>>0]=a[c[f>>2]>>0]|0;if((d[g>>0]|0|0)==157)a[g>>0]=a[(c[f>>2]|0)+38>>0]|0;if((d[g>>0]|0|0)==158){c[e>>2]=c[c[(c[f>>2]|0)+20>>2]>>2];g=c[e>>2]|0;l=h;return g|0}if((d[g>>0]|0|0)==119){c[e>>2]=c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2];g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=1;g=c[e>>2]|0;l=h;return g|0}return 0}function sx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){l=k;return 0}c[h>>2]=c[(c[e>>2]|0)+24>>2];c[i>>2]=c[c[h>>2]>>2];if(c[i>>2]|0)a=c[c[i>>2]>>2]|0;else a=0;c[j>>2]=a;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[j>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[i>>2]|0)+8+((c[g>>2]|0)*72|0)+44>>2]|0))break;c[g>>2]=(c[g>>2]|0)+1}i=c[h>>2]|0;j=(c[g>>2]|0)<(c[j>>2]|0)?i+4|0:i+8|0;c[j>>2]=(c[j>>2]|0)+1;l=k;return 0}function tx(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n+16|0;m=n;c[i>>2]=b;c[j>>2]=f;a[k>>0]=g;b=c[i>>2]|0;if((c[j>>2]|0)==-2){c[h>>2]=(c[b+12>>2]|0)==0?0:6;m=c[h>>2]|0;l=n;return m|0}if((a[b>>0]|0)!=(c[j>>2]|0)?(a[c[i>>2]>>0]|0)>=0:0){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}if((a[c[i>>2]>>0]|0)==(c[j>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[k>>0]|0)!=(e[(c[i>>2]|0)+2>>1]&3|0)){if(d[k>>0]&e[(c[i>>2]|0)+2>>1]&2|0)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[h>>2]=c[m>>2];m=c[h>>2]|0;l=n;return m|0}function ux(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((ld(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[j>>2]|0){if((ld(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0)|0)==0?(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if(c[i>>2]|0?bh(c[h>>2]|0,c[i>>2]|0)|0:0){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}c[g>>2]=1;m=c[g>>2]|0;l=n;return m|0}function vx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(bh(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function wx(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(bh(c[d>>2]|0,29514)|0){if(!(bh(c[d>>2]|0,29445)|0)){c[b>>2]=1;break}if(!(bh(c[d>>2]|0,29522)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);l=e;return c[b>>2]|0}function xx(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;p=s+36|0;q=s+32|0;j=s+28|0;k=s+24|0;t=s+20|0;r=s+16|0;m=s+12|0;i=s+8|0;n=s+4|0;o=s;c[p>>2]=e;c[q>>2]=f;c[j>>2]=g;c[k>>2]=h;c[t>>2]=c[c[p>>2]>>2];c[r>>2]=0;if(!(c[(c[t>>2]|0)+296>>2]|0)){l=s;return}c[n>>2]=Hu(c[c[p>>2]>>2]|0,c[j>>2]|0)|0;if((c[n>>2]|0)<0){l=s;return}a:do if((d[c[q>>2]>>0]|0)==88)c[r>>2]=c[(c[p>>2]|0)+128>>2];else{c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[k>>2]>>2]|0))break a;if((c[(c[q>>2]|0)+28>>2]|0)==(c[(c[k>>2]|0)+8+((c[i>>2]|0)*72|0)+44>>2]|0))break;c[i>>2]=(c[i>>2]|0)+1}c[r>>2]=c[(c[k>>2]|0)+8+((c[i>>2]|0)*72|0)+16>>2]}while(0);c[o>>2]=b[(c[q>>2]|0)+32>>1];if(!(c[r>>2]|0)){l=s;return}e=c[r>>2]|0;do if((c[o>>2]|0)<0)if((b[e+32>>1]|0)>=0){c[m>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+(b[(c[r>>2]|0)+32>>1]<<4)>>2];break}else{c[m>>2]=29445;break}else c[m>>2]=c[(c[e+4>>2]|0)+(c[o>>2]<<4)>>2];while(0);if(2!=(yx(c[p>>2]|0,c[c[r>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)){l=s;return}a[c[q>>2]>>0]=101;l=s;return}function yx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r+16|0;p=r;i=r+52|0;j=r+48|0;k=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;g=r+28|0;h=r+24|0;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];if(a[(c[o>>2]|0)+148+5>>0]|0){c[i>>2]=0;q=c[i>>2]|0;l=r;return q|0}c[h>>2]=Gb[c[(c[o>>2]|0)+296>>2]&255](c[(c[o>>2]|0)+300>>2]|0,20,c[k>>2]|0,c[m>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+448>>2]|0)|0;if((c[h>>2]|0)!=1){if((c[h>>2]|0)!=2&(c[h>>2]|0)!=0)Ju(c[j>>2]|0)}else{b=c[j>>2]|0;if(c[n>>2]|0?1:(c[(c[o>>2]|0)+20>>2]|0)>2){o=c[k>>2]|0;q=c[m>>2]|0;c[p>>2]=c[g>>2];c[p+4>>2]=o;c[p+8>>2]=q;sl(b,29451,p)}else{p=c[m>>2]|0;c[q>>2]=c[k>>2];c[q+4>>2]=p;sl(b,29484,q)}c[(c[j>>2]|0)+12>>2]=23}c[i>>2]=c[h>>2];q=c[i>>2]|0;l=r;return q|0}function zx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;n=r+44|0;g=r+40|0;o=r+36|0;h=r+32|0;p=r+28|0;i=r+24|0;q=r+20|0;j=r+16|0;k=r+12|0;m=r+8|0;f=r;c[g>>2]=b;c[o>>2]=e;if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}if(!(c[(c[o>>2]|0)+44>>2]|0)){c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}c[i>>2]=c[o>>2];while(1){if(!(c[i>>2]|0))break;if((d[(c[i>>2]|0)+4>>0]|0|0)!=116?(d[(c[i>>2]|0)+4>>0]|0|0)!=119:0)break;c[i>>2]=c[(c[i>>2]|0)+48>>2]}if(!(c[i>>2]|0)){c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}c[j>>2]=c[(c[(c[o>>2]|0)+44>>2]|0)+4>>2];c[h>>2]=(c[c[(c[o>>2]|0)+44>>2]>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;if(c[(c[(c[j>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)+4>>2]&256|0)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)<0){c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}c[m>>2]=c[c[g>>2]>>2];c[q>>2]=c[c[m>>2]>>2];c[p>>2]=_l(c[q>>2]|0,68,0)|0;if(!(c[p>>2]|0)){c[n>>2]=2;q=c[n>>2]|0;l=r;return q|0};c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=Ct(c[m>>2]|0,0,0,0,f,c[p>>2]|0,0,0)|0;if(!(c[k>>2]|0)){c[n>>2]=2;q=c[n>>2]|0;l=r;return q|0}else{b=c[p>>2]|0;e=c[o>>2]|0;f=b+68|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));c[(c[o>>2]|0)+28>>2]=c[k>>2];m=c[m>>2]|0;q=Et(m,0,Ht(c[q>>2]|0,160,0)|0)|0;c[c[o>>2]>>2]=q;a[(c[o>>2]|0)+4>>0]=119;c[(c[o>>2]|0)+32>>2]=0;c[(c[p>>2]|0)+36>>2]=0;c[(c[p>>2]|0)+40>>2]=0;c[(c[p>>2]|0)+44>>2]=0;c[(c[o>>2]|0)+48>>2]=0;c[(c[o>>2]|0)+52>>2]=0;c[(c[o>>2]|0)+64>>2]=0;q=(c[o>>2]|0)+8|0;c[q>>2]=c[q>>2]&-257;q=(c[o>>2]|0)+8|0;c[q>>2]=c[q>>2]|65536;c[(c[(c[p>>2]|0)+48>>2]|0)+52>>2]=c[p>>2];c[(c[p>>2]|0)+56>>2]=0;c[(c[p>>2]|0)+60>>2]=0;c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}return 0}function Ax(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+208|0;W=Y+56|0;V=Y+48|0;U=Y+40|0;T=Y+24|0;X=Y+16|0;p=Y+8|0;m=Y;w=Y+196|0;k=Y+192|0;N=Y+188|0;O=Y+184|0;P=Y+180|0;Q=Y+176|0;R=Y+172|0;S=Y+168|0;q=Y+164|0;r=Y+160|0;s=Y+156|0;t=Y+152|0;u=Y+148|0;v=Y+144|0;h=Y+202|0;n=Y+140|0;i=Y+136|0;j=Y+200|0;x=Y+132|0;y=Y+128|0;o=Y+124|0;z=Y+120|0;A=Y+116|0;B=Y+112|0;C=Y+108|0;D=Y+104|0;E=Y+100|0;F=Y+96|0;G=Y+92|0;H=Y+88|0;I=Y+84|0;J=Y+80|0;K=Y+72|0;L=Y+64|0;M=Y+60|0;c[k>>2]=f;c[N>>2]=g;c[O>>2]=c[c[k>>2]>>2];c[s>>2]=c[c[O>>2]>>2];b[h>>1]=c[(c[N>>2]|0)+8>>2];g=(c[N>>2]|0)+8|0;c[g>>2]=c[g>>2]|64;if(a[(c[s>>2]|0)+69>>0]|0){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}if(c[(c[N>>2]|0)+28>>2]|0?(e[h>>1]&64|0)==0:0){c[S>>2]=c[(c[N>>2]|0)+28>>2];c[q>>2]=c[c[N>>2]>>2];if((c[(c[k>>2]|0)+12>>2]|0)==132){h=c[O>>2]|0;Ot(h,c[(Cx(c[N>>2]|0)|0)+64>>2]|0,0)}lw(c[O>>2]|0,c[S>>2]|0);c[P>>2]=0;c[r>>2]=(c[S>>2]|0)+8;a:while(1){if((c[P>>2]|0)>=(c[c[S>>2]>>2]|0)){h=38;break}if(!((d[(c[r>>2]|0)+36+1>>0]|0)>>>5&1)){if(Dx(c[k>>2]|0,c[r>>2]|0)|0){h=12;break}do if(!(c[(c[r>>2]|0)+16>>2]|0)){if(!(c[(c[r>>2]|0)+8>>2]|0)){c[i>>2]=c[(c[r>>2]|0)+20>>2];if(Gw(c[k>>2]|0,c[i>>2]|0)|0){h=16;break a}h=_l(c[s>>2]|0,72,0)|0;c[n>>2]=h;c[(c[r>>2]|0)+16>>2]=h;if(!(c[n>>2]|0)){h=18;break a}b[(c[n>>2]|0)+36>>1]=1;h=c[s>>2]|0;c[m>>2]=c[n>>2];h=Wj(h,29526,m)|0;c[c[n>>2]>>2]=h;while(1){if(!(c[(c[i>>2]|0)+48>>2]|0))break;c[i>>2]=c[(c[i>>2]|0)+48>>2]}nw(c[O>>2]|0,c[c[i>>2]>>2]|0,(c[n>>2]|0)+34|0,(c[n>>2]|0)+4|0)|0;b[(c[n>>2]|0)+32>>1]=-1;b[(c[n>>2]|0)+38>>1]=200;h=(c[n>>2]|0)+42|0;a[h>>0]=d[h>>0]|2;break}h=av(c[O>>2]|0,0,c[r>>2]|0)|0;c[n>>2]=h;c[(c[r>>2]|0)+16>>2]=h;if(!(c[n>>2]|0)){h=24;break a}if((e[(c[n>>2]|0)+36>>1]|0)==65535){h=26;break a}h=(c[n>>2]|0)+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if((d[(c[n>>2]|0)+42>>0]&16|0)==0?Ex(c[O>>2]|0,c[r>>2]|0)|0:0){h=29;break a}if((d[(c[n>>2]|0)+42>>0]&16|0)==0?(c[(c[n>>2]|0)+12>>2]|0)==0:0)break;if(ew(c[O>>2]|0,c[n>>2]|0)|0){h=33;break a}h=kw(c[s>>2]|0,c[(c[n>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+20>>2]=h;b[j>>1]=b[(c[n>>2]|0)+34>>1]|0;b[(c[n>>2]|0)+34>>1]=-1;Gw(c[k>>2]|0,c[(c[r>>2]|0)+20>>2]|0)|0;b[(c[n>>2]|0)+34>>1]=b[j>>1]|0}while(0);if(Fx(c[O>>2]|0,c[r>>2]|0)|0){h=36;break}}c[P>>2]=(c[P>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+72}if((h|0)==12){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==16){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==18){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==24){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==26){X=c[O>>2]|0;c[p>>2]=c[c[n>>2]>>2];sl(X,29539,p);c[(c[r>>2]|0)+16>>2]=0;c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==29){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==33){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==36){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==38){if((d[(c[s>>2]|0)+69>>0]|0)==0?(Gx(c[O>>2]|0,c[N>>2]|0)|0)==0:0){c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[c[q>>2]>>2]|0))break;c[t>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[R>>2]|0)*20|0)>>2];if((d[c[t>>2]>>0]|0)==160)break;if((d[c[t>>2]>>0]|0)==122?(d[c[(c[t>>2]|0)+16>>2]>>0]|0)==160:0)break;c[R>>2]=(c[R>>2]|0)+1}if((c[R>>2]|0)<(c[c[q>>2]>>2]|0)){c[x>>2]=c[(c[q>>2]|0)+4>>2];c[y>>2]=0;c[o>>2]=c[(c[c[O>>2]>>2]|0)+24>>2];if(c[o>>2]&4|0)f=(c[o>>2]&64|0)==0;else f=0;c[z>>2]=f&1;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[c[q>>2]>>2]|0))break;c[t>>2]=c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)>>2];c[u>>2]=c[(c[t>>2]|0)+16>>2];do if((d[c[t>>2]>>0]|0)!=160){if((d[c[t>>2]>>0]|0)==122?(d[c[u>>2]>>0]|0)==160:0){h=58;break}c[y>>2]=Et(c[O>>2]|0,c[y>>2]|0,c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)>>2]|0)|0;if(c[y>>2]|0){c[(c[(c[y>>2]|0)+4>>2]|0)+(((c[c[y>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)+4>>2];c[(c[(c[y>>2]|0)+4>>2]|0)+(((c[c[y>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)+8>>2];c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)+4>>2]=0;c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)+8>>2]=0}c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)>>2]=0}else h=58;while(0);do if((h|0)==58){h=0;c[A>>2]=0;c[B>>2]=0;if((d[c[t>>2]>>0]|0)==122)c[B>>2]=c[(c[(c[t>>2]|0)+12>>2]|0)+8>>2];c[P>>2]=0;c[r>>2]=(c[S>>2]|0)+8;while(1){if((c[P>>2]|0)>=(c[c[S>>2]>>2]|0))break;c[C>>2]=c[(c[r>>2]|0)+16>>2];c[D>>2]=c[(c[r>>2]|0)+20>>2];c[E>>2]=c[(c[r>>2]|0)+12>>2];c[F>>2]=0;if(!(c[E>>2]|0))c[E>>2]=c[c[C>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0)break;if((c[D>>2]|0)!=0?(c[(c[D>>2]|0)+8>>2]&2048|0)!=0:0)h=72;else h=67;do if((h|0)==67){h=0;c[D>>2]=0;if(c[B>>2]|0?bh(c[B>>2]|0,c[E>>2]|0)|0:0)break;c[G>>2]=Hu(c[s>>2]|0,c[(c[C>>2]|0)+64>>2]|0)|0;if((c[G>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[G>>2]<<4)>>2]|0;else f=29578;c[F>>2]=f;h=72}while(0);b:do if((h|0)==72){h=0;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(b[(c[C>>2]|0)+34>>1]|0))break b;c[H>>2]=c[(c[(c[C>>2]|0)+4>>2]|0)+(c[Q>>2]<<4)>>2];if(!((c[B>>2]|0)!=0&(c[D>>2]|0)!=0?!(ux(c[(c[(c[c[D>>2]>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)+8>>2]|0,0,c[B>>2]|0,0)|0):0))h=76;do if((h|0)==76){h=0;if((c[(c[N>>2]|0)+8>>2]&131072|0)==0?d[(c[(c[C>>2]|0)+4>>2]|0)+(c[Q>>2]<<4)+15>>0]&2|0:0)break;c[A>>2]=1;if((c[P>>2]|0)>0&(c[B>>2]|0)==0){if(d[(c[r>>2]|0)+36>>0]&4|0?Hx(c[S>>2]|0,c[P>>2]|0,c[H>>2]|0,0,0)|0:0)break;if((Ix(c[(c[r>>2]|0)+52>>2]|0,c[H>>2]|0)|0)>=0)break}c[u>>2]=Ht(c[s>>2]|0,55,c[H>>2]|0)|0;c[I>>2]=c[H>>2];c[J>>2]=0;do if(c[z>>2]|0)h=84;else{if((c[c[S>>2]>>2]|0)>1){h=84;break}c[v>>2]=c[u>>2]}while(0);do if((h|0)==84){h=0;c[L>>2]=Ht(c[s>>2]|0,55,c[E>>2]|0)|0;c[v>>2]=pt(c[O>>2]|0,122,c[L>>2]|0,c[u>>2]|0,0)|0;if(c[F>>2]|0){c[L>>2]=Ht(c[s>>2]|0,55,c[F>>2]|0)|0;c[v>>2]=pt(c[O>>2]|0,122,c[L>>2]|0,c[v>>2]|0,0)|0}if(!(c[z>>2]|0))break;p=c[s>>2]|0;o=c[H>>2]|0;c[X>>2]=c[E>>2];c[X+4>>2]=o;c[I>>2]=Wj(p,29580,X)|0;c[J>>2]=c[I>>2]}while(0);c[y>>2]=Et(c[O>>2]|0,c[y>>2]|0,c[v>>2]|0)|0;jx(K,c[I>>2]|0);Ft(c[O>>2]|0,c[y>>2]|0,K,0);do if(c[y>>2]|0){if(!(c[(c[N>>2]|0)+8>>2]&2048))break;c[M>>2]=(c[(c[y>>2]|0)+4>>2]|0)+(((c[c[y>>2]>>2]|0)-1|0)*20|0);f=c[s>>2]|0;if(c[D>>2]|0){f=Xo(f,c[(c[(c[c[D>>2]>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)+8>>2]|0)|0;g=c[M>>2]|0}else{p=c[E>>2]|0;g=c[I>>2]|0;c[T>>2]=c[F>>2];c[T+4>>2]=p;c[T+8>>2]=g;f=Wj(f,29586,T)|0;g=c[M>>2]|0}c[g+8>>2]=f;p=(c[M>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Xd(c[s>>2]|0,c[J>>2]|0)}while(0);c[Q>>2]=(c[Q>>2]|0)+1}}while(0);c[P>>2]=(c[P>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+72}if(!(c[A>>2]|0)){f=c[O>>2]|0;if(c[B>>2]|0){c[U>>2]=c[B>>2];sl(f,29595,U);break}else{sl(f,29613,V);break}}}while(0);c[R>>2]=(c[R>>2]|0)+1}Kk(c[s>>2]|0,c[q>>2]|0);c[c[N>>2]>>2]=c[y>>2]}if(c[c[N>>2]>>2]|0?(c[c[c[N>>2]>>2]>>2]|0)>(c[(c[s>>2]|0)+96+8>>2]|0):0){sl(c[O>>2]|0,29633,W);c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}c[w>>2]=0;X=c[w>>2]|0;l=Y;return X|0}c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}}c[w>>2]=1;X=c[w>>2]|0;l=Y;return X|0}function Bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(Cx(c[g>>2]|0)|0)+64>>2];if(!(c[e>>2]|0)){l=f;return}c[(c[d>>2]|0)+472>>2]=c[(c[e>>2]|0)+4>>2];l=f;return}function Cx(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+52>>2]|0))break;c[b>>2]=c[a+52>>2]}l=d;return a|0}function Dx(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+96|0;A=B+16|0;o=B+8|0;i=B;v=B+88|0;w=B+84|0;n=B+80|0;x=B+76|0;h=B+72|0;y=B+68|0;p=B+64|0;z=B+60|0;q=B+56|0;r=B+52|0;s=B+48|0;t=B+44|0;u=B+40|0;j=B+36|0;k=B+32|0;m=B+28|0;c[w>>2]=f;c[n>>2]=g;c[x>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[x>>2]>>2];c[y>>2]=Vx(c[(c[x>>2]|0)+472>>2]|0,c[n>>2]|0,p)|0;if(c[y>>2]|0){f=c[x>>2]|0;if(c[(c[y>>2]|0)+12>>2]|0){A=c[(c[y>>2]|0)+12>>2]|0;c[i>>2]=c[c[y>>2]>>2];sl(f,A,i);c[v>>2]=1;A=c[v>>2]|0;l=B;return A|0}if(Ex(f,c[n>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;l=B;return A|0}i=_l(c[h>>2]|0,72,0)|0;c[z>>2]=i;c[(c[n>>2]|0)+16>>2]=i;if(!(c[z>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;l=B;return A|0}b[(c[z>>2]|0)+36>>1]=1;i=Xo(c[h>>2]|0,c[c[y>>2]>>2]|0)|0;c[c[z>>2]>>2]=i;b[(c[z>>2]|0)+32>>1]=-1;b[(c[z>>2]|0)+38>>1]=200;i=(c[z>>2]|0)+42|0;a[i>>0]=d[i>>0]|66;i=kw(c[h>>2]|0,c[(c[y>>2]|0)+8>>2]|0,0)|0;c[(c[n>>2]|0)+20>>2]=i;if(a[(c[h>>2]|0)+69>>0]|0){c[v>>2]=7;A=c[v>>2]|0;l=B;return A|0}c[r>>2]=c[(c[n>>2]|0)+20>>2];if((d[(c[r>>2]|0)+4>>0]|0)==116)f=1;else f=(d[(c[r>>2]|0)+4>>0]|0)==115;c[t>>2]=f&1;a:do if(c[t>>2]|0){c[k>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+28>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break a;c[m>>2]=(c[k>>2]|0)+8+((c[j>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?c[(c[m>>2]|0)+8>>2]|0:0)?0==(bh(c[(c[m>>2]|0)+8>>2]|0,c[c[y>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[z>>2];n=(c[m>>2]|0)+36+1|0;a[n>>0]=a[n>>0]&-33|32;n=(c[z>>2]|0)+36|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;n=(c[r>>2]|0)+8|0;c[n>>2]=c[n>>2]|8192}c[j>>2]=(c[j>>2]|0)+1}}while(0);if((e[(c[z>>2]|0)+36>>1]|0)>2){A=c[x>>2]|0;c[o>>2]=c[c[y>>2]>>2];sl(A,29874,o);c[v>>2]=1;A=c[v>>2]|0;l=B;return A|0}c[(c[y>>2]|0)+12>>2]=29917;c[u>>2]=c[(c[x>>2]|0)+472>>2];c[(c[x>>2]|0)+472>>2]=c[p>>2];f=c[r>>2]|0;if(c[t>>2]|0)f=c[f+48>>2]|0;Gw(c[w>>2]|0,f)|0;c[(c[x>>2]|0)+472>>2]=c[p>>2];c[s>>2]=c[r>>2];while(1){f=c[s>>2]|0;if(!(c[(c[s>>2]|0)+48>>2]|0))break;c[s>>2]=c[f+48>>2]}c[q>>2]=c[f>>2];if(c[(c[y>>2]|0)+4>>2]|0){if(c[q>>2]|0?(c[c[q>>2]>>2]|0)!=(c[c[(c[y>>2]|0)+4>>2]>>2]|0):0){z=c[x>>2]|0;t=c[c[q>>2]>>2]|0;w=c[c[(c[y>>2]|0)+4>>2]>>2]|0;c[A>>2]=c[c[y>>2]>>2];c[A+4>>2]=t;c[A+8>>2]=w;sl(z,29940,A);c[(c[x>>2]|0)+472>>2]=c[u>>2];c[v>>2]=1;A=c[v>>2]|0;l=B;return A|0}c[q>>2]=c[(c[y>>2]|0)+4>>2]}nw(c[x>>2]|0,c[q>>2]|0,(c[z>>2]|0)+34|0,(c[z>>2]|0)+4|0)|0;if(c[t>>2]|0){c[(c[y>>2]|0)+12>>2]=c[(c[r>>2]|0)+8>>2]&8192|0?29978:30012;Gw(c[w>>2]|0,c[r>>2]|0)|0}c[(c[y>>2]|0)+12>>2]=0;c[(c[x>>2]|0)+472>>2]=c[u>>2]}c[v>>2]=0;A=c[v>>2]|0;l=B;return A|0}function Ex(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=i+12|0;f=i+8|0;g=i+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0){f=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];sl(f,29851,h);c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}return 0}function Fx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;c[g>>2]=b;c[h>>2]=e;do if(c[(c[h>>2]|0)+16>>2]|0?(d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0:0){c[i>>2]=c[(c[h>>2]|0)+16>>2];c[j>>2]=c[(c[h>>2]|0)+64>>2];c[k>>2]=c[(c[i>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if(!(bh(c[c[k>>2]>>2]|0,c[j>>2]|0)|0))break;c[k>>2]=c[(c[k>>2]|0)+20>>2]}if(c[k>>2]|0){c[(c[h>>2]|0)+68>>2]=c[k>>2];break}k=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=0;sl(k,29833,m);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;l=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}function Gx(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+96|0;B=C+16|0;A=C+8|0;z=C;x=C+92|0;y=C+88|0;q=C+84|0;r=C+80|0;s=C+76|0;t=C+72|0;u=C+68|0;v=C+64|0;f=C+60|0;g=C+56|0;h=C+52|0;i=C+48|0;j=C+44|0;k=C+40|0;m=C+36|0;w=C+32|0;n=C+28|0;o=C+24|0;p=C+20|0;c[y>>2]=a;c[q>>2]=e;c[r>>2]=c[(c[q>>2]|0)+28>>2];c[u>>2]=(c[r>>2]|0)+8;c[v>>2]=(c[u>>2]|0)+72;c[s>>2]=0;a:while(1){if((c[s>>2]|0)>=((c[c[r>>2]>>2]|0)-1|0)){a=28;break}c[f>>2]=c[(c[u>>2]|0)+16>>2];c[g>>2]=c[(c[v>>2]|0)+16>>2];b:do if(!((c[f>>2]|0)==0|(c[g>>2]|0)==0)){c[h>>2]=(d[(c[v>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[v>>2]|0)+36>>0]&4|0){if(c[(c[v>>2]|0)+48>>2]|0){a=7;break a}if(c[(c[v>>2]|0)+52>>2]|0){a=7;break a}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[g>>2]|0)+34>>1]|0))break c;c[i>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2];if(Hx(c[r>>2]|0,(c[s>>2]|0)+1|0,c[i>>2]|0,j,k)|0)Kx(c[y>>2]|0,c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,(c[s>>2]|0)+1|0,c[t>>2]|0,c[h>>2]|0,(c[q>>2]|0)+32|0);c[t>>2]=(c[t>>2]|0)+1}}while(0);if(c[(c[v>>2]|0)+48>>2]|0?c[(c[v>>2]|0)+52>>2]|0:0){a=15;break a}if(c[(c[v>>2]|0)+48>>2]|0){if(c[h>>2]|0)Lx(c[(c[v>>2]|0)+48>>2]|0,c[(c[v>>2]|0)+44>>2]|0);e=Mx(c[c[y>>2]>>2]|0,c[(c[q>>2]|0)+32>>2]|0,c[(c[v>>2]|0)+48>>2]|0)|0;c[(c[q>>2]|0)+32>>2]=e;c[(c[v>>2]|0)+48>>2]=0}if(c[(c[v>>2]|0)+52>>2]|0){c[m>>2]=c[(c[v>>2]|0)+52>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[m>>2]|0)+4>>2]|0))break b;c[w>>2]=c[(c[c[m>>2]>>2]|0)+(c[t>>2]<<3)>>2];c[p>>2]=Jx(c[g>>2]|0,c[w>>2]|0)|0;if((c[p>>2]|0)<0){a=25;break a}if(!(Hx(c[r>>2]|0,(c[s>>2]|0)+1|0,c[w>>2]|0,n,o)|0)){a=25;break a}Kx(c[y>>2]|0,c[r>>2]|0,c[n>>2]|0,c[o>>2]|0,(c[s>>2]|0)+1|0,c[p>>2]|0,c[h>>2]|0,(c[q>>2]|0)+32|0);c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+72;c[u>>2]=(c[u>>2]|0)+72}if((a|0)==7){B=c[y>>2]|0;c[z>>2]=0;sl(B,29664,z);c[x>>2]=1;B=c[x>>2]|0;l=C;return B|0}else if((a|0)==15){sl(c[y>>2]|0,29714,A);c[x>>2]=1;B=c[x>>2]|0;l=C;return B|0}else if((a|0)==25){A=c[y>>2]|0;c[B>>2]=c[w>>2];sl(A,29769,B);c[x>>2]=1;B=c[x>>2]|0;l=C;return B|0}else if((a|0)==28){c[x>>2]=0;B=c[x>>2]|0;l=C;return B|0}return 0}function Hx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;g=q+8|0;h=q+4|0;i=q;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[g>>2]=f;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[m>>2]|0)){p=8;break}c[i>>2]=Jx(c[(c[k>>2]|0)+8+((c[h>>2]|0)*72|0)+16>>2]|0,c[n>>2]|0)|0;if((c[i>>2]|0)>=0)break;c[h>>2]=(c[h>>2]|0)+1}if((p|0)==8){c[j>>2]=0;p=c[j>>2]|0;l=q;return p|0}if(c[o>>2]|0){c[c[o>>2]>>2]=c[h>>2];c[c[g>>2]>>2]=c[i>>2]}c[j>>2]=1;p=c[j>>2]|0;l=q;return p|0}function Ix(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;l=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(bh(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;l=h;return g|0}return 0}function Jx(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(bh(c[(c[(c[e>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;l=i;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;l=i;return h|0}return 0}function Kx(a,d,e,f,g,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=l;l=l+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;k=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=i;c[k>>2]=j;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=Ux(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=Ux(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=pt(c[s>>2]|0,37,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[k>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=Mx(v,x,w)|0;x=c[k>>2]|0;c[x>>2]=w;l=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[k>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=Mx(v,x,w)|0;x=c[k>>2]|0;c[x>>2]=w;l=p;return}function Lx(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;e=(c[f>>2]|0)+4|0;c[e>>2]=c[e>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?c[(c[f>>2]|0)+20>>2]|0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;Lx(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);Lx(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}l=i;return}function Mx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;i=c[e>>2]|0;l=j;return i|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;i=c[e>>2]|0;l=j;return i|0}if((Nx(b)|0)==0?(Nx(c[h>>2]|0)|0)==0:0){c[i>>2]=Wt(c[f>>2]|0,28,0,0)|0;Ox(c[f>>2]|0,c[i>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[i>>2];i=c[e>>2]|0;l=j;return i|0}Ok(c[f>>2]|0,c[g>>2]|0);Ok(c[f>>2]|0,c[h>>2]|0);c[e>>2]=Wt(c[f>>2]|0,134,4252,0)|0;i=c[e>>2]|0;l=j;return i|0}function Nx(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1|0))if(Tw(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);l=f;return c[b>>2]|0}function Ox(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(!(c[g>>2]|0)){Ok(c[f>>2]|0,c[h>>2]|0);Ok(c[f>>2]|0,c[i>>2]|0);l=j;return}if(c[i>>2]|0){c[(c[g>>2]|0)+16>>2]=c[i>>2];f=(c[g>>2]|0)+4|0;c[f>>2]=c[f>>2]|2097408&c[(c[i>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];i=(c[g>>2]|0)+4|0;c[i>>2]=c[i>>2]|2097408&c[(c[h>>2]|0)+4>>2]}Px(c[g>>2]|0);l=j;return}function Px(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;Qx(c[(c[b>>2]|0)+12>>2]|0,d);Qx(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048|0)){if(c[a>>2]|0){Sx(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(Tx(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else Rx(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;l=e;return}function Qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){l=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){l=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];l=f;return}function Rx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){l=f;return}Qx(c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);Qx(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);Qx(c[(c[d>>2]|0)+56>>2]|0,c[e>>2]|0);Qx(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);Sx(c[c[d>>2]>>2]|0,c[e>>2]|0);Sx(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);Sx(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);Rx(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);l=f;return}function Sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){l=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;Qx(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}l=g;return}function Tx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){f=c[e>>2]|0;l=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}f=c[e>>2]|0;l=g;return f|0}function Ux(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=Wt(c[n>>2]|0,152,0,0)|0;if(!(c[j>>2]|0)){n=c[j>>2]|0;l=m;return n|0}c[k>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[j>>2]|0)+44>>2]=c[(c[k>>2]|0)+16>>2];c[(c[j>>2]|0)+28>>2]=c[(c[k>>2]|0)+44>>2];if((b[(c[(c[j>>2]|0)+44>>2]|0)+32>>1]|0)==(c[i>>2]|0))b[(c[j>>2]|0)+32>>1]=-1;else{b[(c[j>>2]|0)+32>>1]=c[i>>2];i=j0(1,0,((c[i>>2]|0)>=64?63:c[i>>2]|0)|0)|0;n=(c[k>>2]|0)+56|0;h=n;k=c[h+4>>2]|D;c[n>>2]=c[h>>2]|i;c[n+4>>2]=k}n=(c[j>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[j>>2]|0;l=m;return n|0}function Vx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(g=c[(c[g>>2]|0)+8>>2]|0,c[i>>2]=g,g|0):0){c[j>>2]=c[f>>2];b:while(1){if(!(c[j>>2]|0))break a;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[j>>2]>>2]|0))break;if(!(bh(c[i>>2]|0,c[(c[j>>2]|0)+8+(c[k>>2]<<4)>>2]|0)|0))break b;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=c[(c[j>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[j>>2];c[e>>2]=(c[j>>2]|0)+8+(c[k>>2]<<4);k=c[e>>2]|0;l=m;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}function Wx(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;k=r+36|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[m>>2]=a;c[n>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;l=r;return q|0}if((c[c[n>>2]>>2]|0)>0)a=((c[c[n>>2]>>2]|0)-1|0)*72|0;else a=0;c[g>>2]=80+a;g=c[g>>2]|0;c[p>>2]=Ed(c[m>>2]|0,g,((g|0)<0)<<31>>31)|0;if(!(c[p>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;l=r;return q|0}g=c[c[n>>2]>>2]|0;c[(c[p>>2]|0)+4>>2]=g;c[c[p>>2]>>2]=g;c[q>>2]=0;while(1){a=c[p>>2]|0;if((c[q>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[h>>2]=a+8+((c[q>>2]|0)*72|0);c[i>>2]=(c[n>>2]|0)+8+((c[q>>2]|0)*72|0);c[c[h>>2]>>2]=c[c[i>>2]>>2];g=Xo(c[m>>2]|0,c[(c[i>>2]|0)+4>>2]|0)|0;c[(c[h>>2]|0)+4>>2]=g;g=Xo(c[m>>2]|0,c[(c[i>>2]|0)+8>>2]|0)|0;c[(c[h>>2]|0)+8>>2]=g;g=Xo(c[m>>2]|0,c[(c[i>>2]|0)+12>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=g;c[(c[h>>2]|0)+36>>2]=c[(c[i>>2]|0)+36>>2];c[(c[h>>2]|0)+44>>2]=c[(c[i>>2]|0)+44>>2];c[(c[h>>2]|0)+24>>2]=c[(c[i>>2]|0)+24>>2];c[(c[h>>2]|0)+28>>2]=c[(c[i>>2]|0)+28>>2];if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0){g=Xo(c[m>>2]|0,c[(c[i>>2]|0)+64>>2]|0)|0;c[(c[h>>2]|0)+64>>2]=g}c[(c[h>>2]|0)+68>>2]=c[(c[i>>2]|0)+68>>2];if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1|0){g=cx(c[m>>2]|0,c[(c[i>>2]|0)+64>>2]|0,c[o>>2]|0)|0;c[(c[h>>2]|0)+64>>2]=g}g=c[(c[i>>2]|0)+16>>2]|0;c[(c[h>>2]|0)+16>>2]=g;c[j>>2]=g;if(c[j>>2]|0){g=(c[j>>2]|0)+36|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16}e=kw(c[m>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[o>>2]|0)|0;c[(c[h>>2]|0)+20>>2]=e;e=Ww(c[m>>2]|0,c[(c[i>>2]|0)+48>>2]|0,c[o>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=e;e=Yx(c[m>>2]|0,c[(c[i>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+52>>2]=e;e=(c[i>>2]|0)+56|0;f=c[e+4>>2]|0;g=(c[h>>2]|0)+56|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[q>>2]=(c[q>>2]|0)+1}c[k>>2]=a;q=c[k>>2]|0;l=r;return q|0}function Xx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[e>>2]|0)){h=c[f>>2]|0;l=i;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);g=c[g>>2]|0;c[f>>2]=_l(c[d>>2]|0,g,((g|0)<0)<<31>>31)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;l=i;return h|0}c[c[f>>2]>>2]=c[c[e>>2]>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[e>>2]>>2]|0))break;g=kw(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[h>>2]<<4)+8>>2]|0,0)|0;c[(c[f>>2]|0)+8+(c[h>>2]<<4)+8>>2]=g;g=cx(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[h>>2]<<4)+4>>2]|0,0)|0;c[(c[f>>2]|0)+8+(c[h>>2]<<4)+4>>2]=g;g=Xo(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[h>>2]<<4)>>2]|0)|0;c[(c[f>>2]|0)+8+(c[h>>2]<<4)>>2]=g;c[h>>2]=(c[h>>2]|0)+1}h=c[f>>2]|0;l=i;return h|0}function Yx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}c[g>>2]=Ed(c[e>>2]|0,8,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=Ed(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[g>>2]>>2]=b;if(!(c[c[g>>2]>>2]|0)){Xd(c[e>>2]|0,c[g>>2]|0);c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}c[h>>2]=0;while(1){a=c[g>>2]|0;if((c[h>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[i>>2]=(c[a>>2]|0)+(c[h>>2]<<3);c[j>>2]=(c[c[f>>2]>>2]|0)+(c[h>>2]<<3);b=Xo(c[e>>2]|0,c[c[j>>2]>>2]|0)|0;c[c[i>>2]>>2]=b;c[(c[i>>2]|0)+4>>2]=c[(c[j>>2]|0)+4>>2];c[h>>2]=(c[h>>2]|0)+1}c[d>>2]=a;j=c[d>>2]|0;l=k;return j|0}function Zx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;e=k+32|0;f=k+28|0;n=k+24|0;m=k+20|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;d=k;c[e>>2]=a;c[f>>2]=b;c[n>>2]=c[c[e>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2];cv(c[e>>2]|0,0,c[f>>2]|0);c[h>>2]=c[(c[e>>2]|0)+40>>2];b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+3;by(c[e>>2]|0,c[f>>2]|0,c[h>>2]|0,0,0);c[i>>2]=(c[(c[e>>2]|0)+44>>2]|0)+1;c[j>>2]=c[(c[e>>2]|0)+40>>2];c[g>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[g>>2]|0))break;c[d>>2]=c[(c[g>>2]|0)+8>>2];cy(c[e>>2]|0,c[d>>2]|0,0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);c[g>>2]=c[c[g>>2]>>2]}dy(c[e>>2]|0,c[f>>2]|0);l=k;return}function _x(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Eu(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=ol(c[g>>2]|0,c[f>>2]|0)|0;Xd(c[g>>2]|0,c[f>>2]|0);l=e;return c[d>>2]|0}function $x(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Hu(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;cv(c[e>>2]|0,0,c[h>>2]|0);c[i>>2]=c[(c[e>>2]|0)+40>>2];a=(c[e>>2]|0)+40|0;c[a>>2]=(c[a>>2]|0)+3;a=c[e>>2]|0;b=c[h>>2]|0;d=c[i>>2]|0;if(c[g>>2]|0)by(a,b,d,c[c[g>>2]>>2]|0,30148);else by(a,b,d,c[c[f>>2]>>2]|0,30152);cy(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[i>>2]|0,(c[(c[e>>2]|0)+44>>2]|0)+1|0,c[(c[e>>2]|0)+40>>2]|0);dy(c[e>>2]|0,c[h>>2]|0);l=j;return}function ay(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+8|0;p=r;i=r+36|0;j=r+32|0;k=r+28|0;m=r+24|0;n=r+20|0;o=r+16|0;h=r+12|0;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[h>>2]=c[c[j>>2]>>2];b=(c[h>>2]|0)+148|0;if((c[(c[m>>2]|0)+4>>2]|0)>>>0>0){if(a[b+5>>0]|0){sl(c[j>>2]|0,30111,p);c[i>>2]=-1;q=c[i>>2]|0;l=r;return q|0}c[c[n>>2]>>2]=c[m>>2];c[o>>2]=_x(c[h>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];sl(p,30128,q);c[i>>2]=-1;q=c[i>>2]|0;l=r;return q|0}}else{c[o>>2]=d[b+4>>0];c[c[n>>2]>>2]=c[k>>2]}c[i>>2]=c[o>>2];q=c[i>>2]|0;l=r;return q|0}function by(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+96|0;w=x+16|0;v=x;q=x+84|0;r=x+80|0;s=x+76|0;t=x+72|0;u=x+68|0;h=x+64|0;i=x+60|0;j=x+56|0;k=x+52|0;m=x+40|0;n=x+88|0;o=x+36|0;p=x+32|0;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[i>>2]=c[c[q>>2]>>2];c[k>>2]=Lu(c[q>>2]|0)|0;if(!(c[k>>2]|0)){l=x;return}c[j>>2]=(c[(c[i>>2]|0)+16>>2]|0)+(c[r>>2]<<4);c[h>>2]=0;while(1){if((c[h>>2]|0)>=3)break;c[o>>2]=c[4352+(c[h>>2]<<3)>>2];g=gv(c[i>>2]|0,c[o>>2]|0,c[c[j>>2]>>2]|0)|0;c[p>>2]=g;do if(!g){if(c[4352+(c[h>>2]<<3)+4>>2]|0){g=c[q>>2]|0;e=c[o>>2]|0;f=c[4352+(c[h>>2]<<3)+4>>2]|0;c[v>>2]=c[c[j>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=f;Ku(g,30209,v);c[m+(c[h>>2]<<2)>>2]=c[(c[q>>2]|0)+104>>2];a[n+(c[h>>2]|0)>>0]=16}}else{c[m+(c[h>>2]<<2)>>2]=c[(c[p>>2]|0)+28>>2];a[n+(c[h>>2]|0)>>0]=0;gy(c[q>>2]|0,c[r>>2]|0,c[m+(c[h>>2]<<2)>>2]|0,1,c[o>>2]|0);if(c[t>>2]|0){g=c[q>>2]|0;d=c[o>>2]|0;e=c[u>>2]|0;f=c[t>>2]|0;c[w>>2]=c[c[j>>2]>>2];c[w+4>>2]=d;c[w+8>>2]=e;c[w+12>>2]=f;Ku(g,30232,w);break}else{Qu(c[k>>2]|0,131,c[m+(c[h>>2]<<2)>>2]|0,c[r>>2]|0)|0;break}}while(0);c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if(!(c[4352+(c[h>>2]<<3)+4>>2]|0))break;zy(c[k>>2]|0,105,(c[s>>2]|0)+(c[h>>2]|0)|0,c[m+(c[h>>2]<<2)>>2]|0,c[r>>2]|0,3)|0;jy(c[k>>2]|0,a[n+(c[h>>2]|0)>>0]|0);c[h>>2]=(c[h>>2]|0)+1}l=x;return}function cy(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=l;l=l+128|0;M=R+116|0;N=R+112|0;O=R+108|0;P=R+104|0;k=R+100|0;m=R+96|0;n=R+92|0;o=R+88|0;p=R+84|0;q=R+80|0;r=R+76|0;s=R+72|0;t=R+68|0;u=R+64|0;v=R+120|0;w=R+60|0;x=R+56|0;y=R+52|0;z=R+48|0;A=R+44|0;B=R+40|0;C=R+36|0;D=R+32|0;E=R+28|0;F=R+24|0;G=R+20|0;H=R+16|0;I=R+12|0;J=R+8|0;K=R+4|0;L=R;c[M>>2]=b;c[N>>2]=f;c[O>>2]=g;c[P>>2]=h;c[k>>2]=i;c[m>>2]=j;c[n>>2]=c[c[M>>2]>>2];c[t>>2]=-1;a[v>>0]=1;j=c[k>>2]|0;c[k>>2]=j+1;c[w>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[x>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[y>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[z>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[A>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[B>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[C>>2]=j;c[D>>2]=c[k>>2];if((c[(c[M>>2]|0)+44>>2]|0)>(c[k>>2]|0))b=c[(c[M>>2]|0)+44>>2]|0;else b=c[k>>2]|0;c[(c[M>>2]|0)+44>>2]=b;c[r>>2]=Lu(c[M>>2]|0)|0;if((c[r>>2]|0)==0|(c[N>>2]|0)==0){l=R;return}if(!(c[(c[N>>2]|0)+28>>2]|0)){l=R;return}if(!(fy(30156,c[c[N>>2]>>2]|0,0)|0)){l=R;return}c[u>>2]=Hu(c[n>>2]|0,c[(c[N>>2]|0)+64>>2]|0)|0;if(Iu(c[M>>2]|0,28,c[c[N>>2]>>2]|0,0,c[(c[(c[n>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2]|0)|0){l=R;return}gy(c[M>>2]|0,c[u>>2]|0,c[(c[N>>2]|0)+28>>2]|0,0,c[c[N>>2]>>2]|0);j=c[m>>2]|0;c[m>>2]=j+1;c[q>>2]=j;j=c[m>>2]|0;c[m>>2]=j+1;c[p>>2]=j;if((c[(c[M>>2]|0)+40>>2]|0)>(c[m>>2]|0))b=c[(c[M>>2]|0)+40>>2]|0;else b=c[m>>2]|0;c[(c[M>>2]|0)+40>>2]=b;hy(c[M>>2]|0,c[q>>2]|0,c[u>>2]|0,c[N>>2]|0,104);Pu(c[r>>2]|0,c[A>>2]|0,c[c[N>>2]>>2]|0)|0;c[o>>2]=c[(c[N>>2]|0)+8>>2];while(1){b=c[O>>2]|0;if(!(c[o>>2]|0))break;if(!(b|0?(c[O>>2]|0)!=(c[o>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[o>>2]|0)+36>>2]|0))a[v>>0]=0;if(((d[(c[N>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[o>>2]|0)+55>>0]&3|0)==2:0){c[E>>2]=e[(c[o>>2]|0)+50>>1];c[H>>2]=c[c[N>>2]>>2];c[I>>2]=(c[E>>2]|0)-1}else{c[E>>2]=e[(c[o>>2]|0)+52>>1];c[H>>2]=c[c[o>>2]>>2];if((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)b=e[(c[o>>2]|0)+50>>1]|0;else b=c[E>>2]|0;c[I>>2]=b-1}Pu(c[r>>2]|0,c[B>>2]|0,c[H>>2]|0)|0;if((c[(c[M>>2]|0)+44>>2]|0)>((c[D>>2]|0)+(c[I>>2]|0)|0))b=c[(c[M>>2]|0)+44>>2]|0;else b=(c[D>>2]|0)+(c[I>>2]|0)|0;c[(c[M>>2]|0)+44>>2]=b;Ru(c[r>>2]|0,104,c[p>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[u>>2]|0)|0;iy(c[M>>2]|0,c[o>>2]|0);Qu(c[r>>2]|0,76,c[E>>2]|0,(c[x>>2]|0)+1|0)|0;Qu(c[r>>2]|0,76,e[(c[o>>2]|0)+50>>1]|0,(c[x>>2]|0)+2|0)|0;Uu(c[r>>2]|0,89,0,(c[x>>2]|0)+1|0,c[x>>2]|0,4268,-5)|0;jy(c[r>>2]|0,2);c[F>>2]=ey(c[r>>2]|0,57,c[p>>2]|0)|0;Qu(c[r>>2]|0,76,0,c[y>>2]|0)|0;c[G>>2]=Pv(c[r>>2]|0)|0;if((c[I>>2]|0)>0){c[J>>2]=ky(c[r>>2]|0)|0;c[K>>2]=Ed(c[n>>2]|0,c[I>>2]<<2,0)|0;if(!(c[K>>2]|0))break;Nu(c[r>>2]|0,13)|0;c[G>>2]=Pv(c[r>>2]|0)|0;if(((c[I>>2]|0)==1?(e[(c[o>>2]|0)+50>>1]|0|0)==1:0)?d[(c[o>>2]|0)+54>>0]|0|0:0)Qu(c[r>>2]|0,35,c[D>>2]|0,c[J>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[I>>2]|0))break;c[L>>2]=ly(c[M>>2]|0,c[(c[(c[o>>2]|0)+32>>2]|0)+(c[s>>2]<<2)>>2]|0)|0;Qu(c[r>>2]|0,76,c[s>>2]|0,c[y>>2]|0)|0;Ru(c[r>>2]|0,96,c[p>>2]|0,c[s>>2]|0,c[z>>2]|0)|0;m=Uu(c[r>>2]|0,36,c[z>>2]|0,0,(c[D>>2]|0)+(c[s>>2]|0)|0,c[L>>2]|0,-4)|0;c[(c[K>>2]|0)+(c[s>>2]<<2)>>2]=m;jy(c[r>>2]|0,-128);c[s>>2]=(c[s>>2]|0)+1}Qu(c[r>>2]|0,76,c[I>>2]|0,c[y>>2]|0)|0;my(c[r>>2]|0,c[J>>2]|0)|0;ny(c[r>>2]|0,(c[G>>2]|0)-1|0);c[s>>2]=0;while(1){b=c[r>>2]|0;if((c[s>>2]|0)>=(c[I>>2]|0))break;ny(b,c[(c[K>>2]|0)+(c[s>>2]<<2)>>2]|0);Ru(c[r>>2]|0,96,c[p>>2]|0,c[s>>2]|0,(c[D>>2]|0)+(c[s>>2]|0)|0)|0;c[s>>2]=(c[s>>2]|0)+1}oy(b,c[J>>2]|0);Xd(c[n>>2]|0,c[K>>2]|0)}Uu(c[r>>2]|0,89,1,c[x>>2]|0,c[z>>2]|0,4296,-5)|0;jy(c[r>>2]|0,2);Qu(c[r>>2]|0,7,c[p>>2]|0,c[G>>2]|0)|0;py(c[r>>2]|0,c[x>>2]|0,0,c[C>>2]|0);Uu(c[r>>2]|0,99,c[A>>2]|0,3,c[z>>2]|0,30165,0)|0;Qu(c[r>>2]|0,114,c[P>>2]|0,c[w>>2]|0)|0;Ru(c[r>>2]|0,115,c[P>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;jy(c[r>>2]|0,8);ny(c[r>>2]|0,c[F>>2]|0)}while(0);c[o>>2]=c[(c[o>>2]|0)+20>>2]}if(b|0){l=R;return}if(!(d[v>>0]|0)){l=R;return}Qu(c[r>>2]|0,100,c[q>>2]|0,c[C>>2]|0)|0;c[t>>2]=ey(c[r>>2]|0,22,c[C>>2]|0)|0;Qu(c[r>>2]|0,79,0,c[B>>2]|0)|0;Uu(c[r>>2]|0,99,c[A>>2]|0,3,c[z>>2]|0,30165,0)|0;Qu(c[r>>2]|0,114,c[P>>2]|0,c[w>>2]|0)|0;Ru(c[r>>2]|0,115,c[P>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;jy(c[r>>2]|0,8);ny(c[r>>2]|0,c[t>>2]|0);l=R;return}function dy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=Lu(c[g>>2]|0)|0;if(!(c[e>>2]|0)){l=f;return}ey(c[e>>2]|0,137,c[d>>2]|0)|0;l=f;return}function ey(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ru(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;l=e;return d|0}function fy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=(Wh(c[h>>2]|0,c[g>>2]|0,22031,c[f>>2]|0)|0)==0&1;l=e;return d|0}function gy(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;t=s+28|0;n=s+24|0;o=s+20|0;p=s+32|0;q=s+16|0;m=s+12|0;i=s+8|0;j=s+4|0;r=s;c[t>>2]=b;c[n>>2]=e;c[o>>2]=f;a[p>>0]=g;c[q>>2]=h;b=c[t>>2]|0;if(c[(c[t>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[m>>2]=b;c[i>>2]=0;while(1){b=c[m>>2]|0;if((c[i>>2]|0)>=(c[(c[m>>2]|0)+112>>2]|0))break;c[r>>2]=(c[b+116>>2]|0)+(c[i>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[n>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[o>>2]|0):0){k=7;break}c[i>>2]=(c[i>>2]|0)+1}if((k|0)==7){if(d[(c[r>>2]|0)+8>>0]|0|0)b=1;else b=(d[p>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=b&1;l=s;return}c[j>>2]=(c[b+112>>2]|0)+1<<4;b=c[j>>2]|0;b=ji(c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+116>>2]|0,b,((b|0)<0)<<31>>31)|0;c[(c[m>>2]|0)+116>>2]=b;b=c[m>>2]|0;if(c[(c[m>>2]|0)+116>>2]|0){k=c[b+116>>2]|0;m=(c[m>>2]|0)+112|0;t=c[m>>2]|0;c[m>>2]=t+1;c[r>>2]=k+(t<<4);c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+4>>2]=c[o>>2];a[(c[r>>2]|0)+8>>0]=a[p>>0]|0;c[(c[r>>2]|0)+12>>2]=c[q>>2];l=s;return}else{c[b+112>>2]=0;Od(c[c[m>>2]>>2]|0);l=s;return}}function hy(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[i>>2]=Lu(c[k>>2]|0)|0;gy(c[k>>2]|0,c[n>>2]|0,c[(c[o>>2]|0)+28>>2]|0,((c[p>>2]|0)==105?1:0)&255,c[c[o>>2]>>2]|0);if(!(d[(c[o>>2]|0)+42>>0]&32)){zy(c[i>>2]|0,c[p>>2]|0,c[m>>2]|0,c[(c[o>>2]|0)+28>>2]|0,c[n>>2]|0,b[(c[o>>2]|0)+34>>1]|0)|0;l=q;return}else{c[j>>2]=uv(c[o>>2]|0)|0;Ru(c[i>>2]|0,c[p>>2]|0,c[m>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[n>>2]|0)|0;iy(c[k>>2]|0,c[j>>2]|0);l=q;return}}function iy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];b=c[g>>2]|0;Vu(b,-1,xy(c[f>>2]|0,c[e>>2]|0)|0,-6);l=d;return}function jy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if((c[(c[e>>2]|0)+136>>2]|0)<=0){l=g;return}a[(c[(c[e>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+136>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;l=g;return}function ky(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+12>>2];f=(c[b>>2]|0)+72|0;a=c[f>>2]|0;c[f>>2]=a+1;c[d>>2]=a;if(!(c[d>>2]&(c[d>>2]|0)-1)){f=ji(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+76>>2]|0,(c[d>>2]<<1)+1<<2,0)|0;c[(c[b>>2]|0)+76>>2]=f}if(!(c[(c[b>>2]|0)+76>>2]|0)){f=c[d>>2]|0;f=-1-f|0;l=e;return f|0}c[(c[(c[b>>2]|0)+76>>2]|0)+(c[d>>2]<<2)>>2]=-1;f=c[d>>2]|0;f=-1-f|0;l=e;return f|0}function ly(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;f=j+12|0;g=j+8|0;m=j+4|0;h=j+17|0;k=j+16|0;i=j;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+66>>0]|0;a[k>>0]=a[(c[m>>2]|0)+148+5>>0]|0;c[i>>2]=tw(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[k>>0]|0)|0;if(a[k>>0]|0){m=c[i>>2]|0;l=j;return m|0}if(c[i>>2]|0?c[(c[i>>2]|0)+12>>2]|0:0){m=c[i>>2]|0;l=j;return m|0}c[i>>2]=sw(c[f>>2]|0,a[h>>0]|0,c[i>>2]|0,c[g>>2]|0)|0;m=c[i>>2]|0;l=j;return m|0}function my(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Ru(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;l=d;return b|0}function ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;ty(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+136>>2]|0);l=d;return}function oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=-1-(c[h>>2]|0);if(!(c[(c[e>>2]|0)+76>>2]|0)){l=g;return}c[(c[(c[e>>2]|0)+76>>2]|0)+(c[f>>2]<<2)>>2]=c[(c[d>>2]|0)+136>>2];l=g;return}function py(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;i=f+8|0;h=f;c[g>>2]=a;c[i>>2]=b;c[f+4>>2]=d;c[h>>2]=e;Uu(c[g>>2]|0,89,0,c[i>>2]|0,c[h>>2]|0,4324,-5)|0;jy(c[g>>2]|0,1);l=f;return}function qy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+64|0;n=o+24|0;m=o+16|0;g=o+56|0;p=o+48|0;h=o+44|0;i=o+40|0;j=o+36|0;k=o+32|0;e=o+8|0;f=o;c[g>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[h>>2]=Ri(c[c[p>>2]>>2]|0)|0;d=((c[(c[h>>2]|0)+12>>2]|0)+1|0)*25|0;c[k>>2]=Xg(d,((d|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){wi(c[g>>2]|0);l=o;return}p=c[k>>2]|0;d=m;c[d>>2]=c[c[h>>2]>>2];c[d+4>>2]=0;ef(24,p,30178,m)|0;p=c[k>>2]|0;c[i>>2]=p+(md(c[k>>2]|0)|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[h>>2]|0)+12>>2]|0))break;p=e;c[p>>2]=(c[(c[(c[h>>2]|0)+20+4>>2]|0)+(c[j>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=e;p=_$(c[c[h>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=Z$(p|0,D|0,1,0)|0;b=e;b=p0(p|0,D|0,c[b>>2]|0,c[b+4>>2]|0)|0;p=f;c[p>>2]=b;c[p+4>>2]=D;p=c[i>>2]|0;b=f;d=c[b+4>>2]|0;m=n;c[m>>2]=c[b>>2];c[m+4>>2]=d;ef(24,p,30183,n)|0;p=md(c[i>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+p;c[j>>2]=(c[j>>2]|0)+1}xi(c[g>>2]|0,c[k>>2]|0,-1,157);l=o;return}function ry(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[h+20>>2]=a;c[h+16>>2]=b;c[i>>2]=d;c[f>>2]=Ri(c[c[i>>2]>>2]|0)|0;c[g>>2]=Qi(c[(c[i>>2]|0)+4>>2]|0)|0;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+8>>2]|0))break;c[(c[(c[f>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=c[f>>2]|0;g=c[i>>2]|0;g=g+1|0;c[i>>2]=g;l=h;return}sy(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[g>>2]|0))break;i=(c[(c[f>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[i>>2]=(c[i>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[g>>2];while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+8>>2]|0))break;i=(c[(c[f>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[i>>2]=(c[i>>2]|0)+1;c[(c[(c[f>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=c[f>>2]|0;g=c[i>>2]|0;g=g+1|0;c[i>>2]=g;l=h;return}function sy(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return}function ty(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(uy(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;l=e;return}function uy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+136>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=55148;g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);g=c[e>>2]|0;l=h;return g|0}return 0}function vy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;f=k+32|0;n=k+24|0;g=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;m=k+4|0;e=k;c[f>>2]=a;c[k+28>>2]=b;c[n>>2]=d;c[h>>2]=Qi(c[c[n>>2]>>2]|0)|0;c[j>>2]=(c[h>>2]|0)+1&-2;c[i>>2]=Qi(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[j>>2]<<2)+(c[j>>2]<<2);c[e>>2]=Ph(c[f>>2]|0)|0;d=c[m>>2]|0;c[g>>2]=_l(c[e>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){wi(c[f>>2]|0);l=k;return}else{c[(c[g>>2]|0)+52>>2]=c[e>>2];c[c[g>>2]>>2]=0;c[(c[g>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+12>>2]=c[i>>2];c[(c[g>>2]|0)+20+4>>2]=(c[g>>2]|0)+56;c[(c[g>>2]|0)+20>>2]=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[j>>2]<<2);mj(c[f>>2]|0,c[g>>2]|0,56,159);l=k;return}}function wy(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Xd(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);l=b;return}function xy(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[i>>2]=b;c[j>>2]=f;c[m>>2]=e[(c[j>>2]|0)+52>>1];c[g>>2]=e[(c[j>>2]|0)+50>>1];if(c[(c[i>>2]|0)+36>>2]|0){c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}b=c[c[i>>2]>>2]|0;if((d[(c[j>>2]|0)+55>>0]|0)>>>3&1|0)c[n>>2]=yy(b,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=yy(b,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[j>>2]|0)+32>>2]|0)+(c[k>>2]<<2)>>2];if((c[o>>2]|0)==34455)b=0;else b=ly(c[i>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[k>>2]<<2)>>2]=b;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}if(c[(c[i>>2]|0)+36>>2]|0){zk(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;l=p;return o|0}function yy(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=((c[h>>2]|0)+(c[i>>2]|0)|0)*5;c[k>>2]=Ed(c[g>>2]|0,24+(c[j>>2]|0)|0,0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+16>>2]=(c[k>>2]|0)+20+((c[h>>2]|0)+(c[i>>2]|0)<<2);b[(c[k>>2]|0)+6>>1]=c[h>>2];b[(c[k>>2]|0)+8>>1]=c[i>>2];a[(c[k>>2]|0)+4>>0]=a[(c[g>>2]|0)+66>>0]|0;c[(c[k>>2]|0)+12>>2]=c[g>>2];c[c[k>>2]>>2]=1;m0((c[k>>2]|0)+24|0,0,c[j>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}else{Od(c[g>>2]|0);k=c[k>>2]|0;l=m;return k|0}return 0}function zy(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;i=l;l=l+32|0;k=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;m=i+8|0;j=i+4|0;h=i;c[k>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[j>>2]=g;c[h>>2]=Ru(c[k>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Vu(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0,-14);l=i;return c[h>>2]|0}function Ay(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[f>>2]=c[(c[h>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[i>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[i>>2]|0))break;c[j>>2]=c[(c[i>>2]|0)+8>>2];By(c[d>>2]|0,c[j>>2]|0,c[e>>2]|0);c[i>>2]=c[c[i>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}l=k;return}function By(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[h>>2]|0))break;if(!((c[g>>2]|0)!=0?!(Nz(c[g>>2]|0,c[h>>2]|0)|0):0)){c[i>>2]=Hu(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;cv(c[e>>2]|0,0,c[i>>2]|0);Cy(c[e>>2]|0,c[h>>2]|0,-1)}c[h>>2]=c[(c[h>>2]|0)+20>>2]}l=j;return}function Cy(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+80|0;s=x+64|0;t=x+60|0;k=x+56|0;m=x+52|0;u=x+48|0;v=x+44|0;w=x+40|0;n=x+36|0;o=x+32|0;g=x+28|0;h=x+24|0;p=x+20|0;i=x+16|0;q=x+12|0;y=x+8|0;j=x+4|0;r=x;c[s>>2]=a;c[t>>2]=b;c[k>>2]=f;c[m>>2]=c[(c[t>>2]|0)+12>>2];f=(c[s>>2]|0)+40|0;b=c[f>>2]|0;c[f>>2]=b+1;c[u>>2]=b;b=(c[s>>2]|0)+40|0;f=c[b>>2]|0;c[b>>2]=f+1;c[v>>2]=f;c[y>>2]=c[c[s>>2]>>2];c[j>>2]=Hu(c[y>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(Iu(c[s>>2]|0,27,c[c[t>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0){l=x;return}gy(c[s>>2]|0,c[j>>2]|0,c[(c[m>>2]|0)+28>>2]|0,1,c[c[m>>2]>>2]|0);c[p>>2]=Lu(c[s>>2]|0)|0;if(!(c[p>>2]|0)){l=x;return}if((c[k>>2]|0)>=0)c[g>>2]=c[k>>2];else c[g>>2]=c[(c[t>>2]|0)+44>>2];c[i>>2]=xy(c[s>>2]|0,c[t>>2]|0)|0;f=(c[s>>2]|0)+40|0;b=c[f>>2]|0;c[f>>2]=b+1;c[w>>2]=b;b=c[p>>2]|0;f=c[w>>2]|0;y=e[(c[t>>2]|0)+50>>1]|0;Uu(b,108,f,0,y,Dy(c[i>>2]|0)|0,-6)|0;hy(c[s>>2]|0,c[u>>2]|0,c[j>>2]|0,c[m>>2]|0,104);c[n>>2]=Qu(c[p>>2]|0,57,c[u>>2]|0,0)|0;c[q>>2]=Ov(c[s>>2]|0)|0;Ey(c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[q>>2]|0,0,h,0,0)|0;Qu(c[p>>2]|0,125,c[w>>2]|0,c[q>>2]|0)|0;Fy(c[s>>2]|0,c[h>>2]|0);Qu(c[p>>2]|0,7,c[u>>2]|0,(c[n>>2]|0)+1|0)|0;ny(c[p>>2]|0,c[n>>2]|0);if((c[k>>2]|0)<0)Qu(c[p>>2]|0,131,c[g>>2]|0,c[j>>2]|0)|0;Uu(c[p>>2]|0,105,c[v>>2]|0,c[g>>2]|0,c[j>>2]|0,c[i>>2]|0,-6)|0;jy(c[p>>2]|0,(1|((c[k>>2]|0)>=0?16:0))&255);c[n>>2]=Qu(c[p>>2]|0,55,c[w>>2]|0,0)|0;y=(d[(c[t>>2]|0)+54>>0]|0|0)!=0;a=Pv(c[p>>2]|0)|0;if(y){c[r>>2]=a+3;my(c[p>>2]|0,c[r>>2]|0)|0;c[o>>2]=Pv(c[p>>2]|0)|0;zy(c[p>>2]|0,119,c[w>>2]|0,c[r>>2]|0,c[q>>2]|0,e[(c[t>>2]|0)+50>>1]|0)|0;Gy(c[s>>2]|0,2,c[t>>2]|0)}else c[o>>2]=a;Ru(c[p>>2]|0,120,c[w>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;Ru(c[p>>2]|0,53,c[v>>2]|0,0,-1)|0;Ru(c[p>>2]|0,126,c[v>>2]|0,c[q>>2]|0,0)|0;jy(c[p>>2]|0,16);Qv(c[s>>2]|0,c[q>>2]|0);Qu(c[p>>2]|0,3,c[w>>2]|0,c[o>>2]|0)|0;ny(c[p>>2]|0,c[n>>2]|0);ey(c[p>>2]|0,111,c[u>>2]|0)|0;ey(c[p>>2]|0,111,c[v>>2]|0)|0;ey(c[p>>2]|0,111,c[w>>2]|0)|0;l=x;return}function Dy(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}l=d;return c[b>>2]|0}function Ey(a,e,f,g,h,i,j,k){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+48|0;w=y+44|0;x=y+40|0;o=y+36|0;p=y+32|0;m=y+28|0;n=y+24|0;q=y+20|0;r=y+16|0;s=y+12|0;t=y+8|0;u=y+4|0;v=y;c[w>>2]=a;c[x>>2]=e;c[o>>2]=f;c[p>>2]=g;c[m>>2]=h;c[n>>2]=i;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[(c[w>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[x>>2]|0)+36>>2]|0){k=ky(c[s>>2]|0)|0;c[c[n>>2]>>2]=k;c[(c[w>>2]|0)+60>>2]=c[o>>2];Ky(c[w>>2]|0);Ly(c[w>>2]|0,c[(c[x>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if(c[m>>2]|0?(d[(c[x>>2]|0)+55>>0]|0)>>>3&1|0:0)a=b[(c[x>>2]|0)+50>>1]|0;else a=b[(c[x>>2]|0)+52>>1]|0;c[v>>2]=a&65535;c[u>>2]=My(c[w>>2]|0,c[v>>2]|0)|0;do if(c[q>>2]|0){if((c[u>>2]|0)==(c[r>>2]|0)?(c[(c[q>>2]|0)+36>>2]|0)==0:0)break;c[q>>2]=0}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[v>>2]|0))break;if(!((c[q>>2]|0?(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0)==(b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0):0)?(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0)!=-2:0)){Ny(c[w>>2]|0,c[x>>2]|0,c[o>>2]|0,c[t>>2]|0,(c[u>>2]|0)+(c[t>>2]|0)|0);Oy(c[s>>2]|0,92)|0}c[t>>2]=(c[t>>2]|0)+1}if(!(c[p>>2]|0)){t=c[w>>2]|0;w=c[u>>2]|0;x=c[v>>2]|0;Py(t,w,x);x=c[u>>2]|0;l=y;return x|0}Ru(c[s>>2]|0,99,c[u>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;t=c[w>>2]|0;w=c[u>>2]|0;x=c[v>>2]|0;Py(t,w,x);x=c[u>>2]|0;l=y;return x|0}function Fy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}oy(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);Iy(c[d>>2]|0);l=f;return}function Gy(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+80|0;r=s+8|0;q=s;i=s+68|0;j=s+64|0;k=s+60|0;m=s+56|0;n=s+52|0;o=s+24|0;p=s+20|0;h=s+16|0;c[i>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[(c[k>>2]|0)+12>>2];zd(o,c[c[i>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[q>>2]=c[c[k>>2]>>2];oj(o,30347,q);o=Bd(o)|0;c[m>>2]=o;o=c[i>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[m>>2]|0;Hy(o,p,q,r,-1,2);l=s;return}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[h>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]<<4)>>2];if(c[n>>2]|0)Pd(o,30358,2);q=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];c[r+4>>2]=q;oj(o,29580,r);c[n>>2]=(c[n>>2]|0)+1}o=Bd(o)|0;c[m>>2]=o;o=c[i>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[m>>2]|0;Hy(o,p,q,r,-1,2);l=s;return}function Hy(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;i=q+21|0;j=q+20|0;k=q;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;a[i>>0]=g;a[j>>0]=h;c[k>>2]=Lu(c[m>>2]|0)|0;if((c[o>>2]|0)==2)gw(c[m>>2]|0);Uu(c[k>>2]|0,75,c[n>>2]|0,c[o>>2]|0,0,c[p>>2]|0,a[i>>0]|0)|0;jy(c[k>>2]|0,a[j>>0]|0);l=q;return}function Iy(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=0;a=(c[b>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[e>>2]|0)>=(d[(c[b>>2]|0)+25>>0]|0|0))break;if((c[(c[b>>2]|0)+152+((c[e>>2]|0)*20|0)+8>>2]|0)>(c[(c[b>>2]|0)+64>>2]|0)){Jy(c[b>>2]|0,c[e>>2]|0);continue}else{c[e>>2]=(c[e>>2]|0)+1;continue}}l=f;return}function Jy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(a[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+6>>0]|0?(d[(c[f>>2]|0)+19>>0]|0)<8:0){i=c[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+12>>2]|0;b=(c[f>>2]|0)+352|0;j=(c[f>>2]|0)+19|0;e=a[j>>0]|0;a[j>>0]=e+1<<24>>24;c[b+((e&255)<<2)>>2]=i}j=(c[f>>2]|0)+25|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;if((c[g>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0)){l=h;return}j=(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)|0;i=(c[f>>2]|0)+152+((d[(c[f>>2]|0)+25>>0]|0)*20|0)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];c[j+16>>2]=c[i+16>>2];l=h;return}function Ky(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+1;l=b;return}function Ly(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+20|0;n=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[c[g>>2]>>2];c[k>>2]=Ww(c[j>>2]|0,c[n>>2]|0,0)|0;if(d[(c[j>>2]|0)+69>>0]|0|0){j=c[j>>2]|0;n=c[k>>2]|0;Ok(j,n);l=m;return}nz(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0,c[i>>2]|0);j=c[j>>2]|0;n=c[k>>2]|0;Ok(j,n);l=m;return}function My(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;a=c[e>>2]|0;if((c[f>>2]|0)==1){c[d>>2]=Ov(a)|0;h=c[d>>2]|0;l=i;return h|0}c[g>>2]=c[a+32>>2];c[h>>2]=c[(c[e>>2]|0)+28>>2];if((c[f>>2]|0)<=(c[h>>2]|0)){h=(c[e>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0);h=(c[e>>2]|0)+28|0;c[h>>2]=(c[h>>2]|0)-(c[f>>2]|0)}else{c[g>>2]=(c[(c[e>>2]|0)+44>>2]|0)+1;h=(c[e>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0)}c[d>>2]=c[g>>2];h=c[d>>2]|0;l=i;return h|0}function Ny(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;h=o+20|0;c[i>>2]=a;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;b[h>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0;if((b[h>>1]|0)==-2){c[(c[i>>2]|0)+60>>2]=c[k>>2];Sy(c[i>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2]|0,c[n>>2]|0);l=o;return}else{Ty(c[(c[i>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[h>>1]|0,c[n>>2]|0);l=o;return}}function Oy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+4|0;g=h;i=h+8|0;c[g>>2]=b;a[i>>0]=e;if((c[(c[g>>2]|0)+136>>2]|0)>0?(d[(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[i>>0]|0|0):0){c[f>>2]=Ry(c[g>>2]|0,(c[(c[g>>2]|0)+136>>2]|0)-1|0)|0;i=c[f>>2]|0;l=h;return i|0}c[f>>2]=0;i=c[f>>2]|0;l=h;return i|0}function Py(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;b=c[f>>2]|0;if((c[g>>2]|0)==1){Qv(a,b);l=h;return}Qy(a,b,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+28>>2]|0)){l=h;return}c[(c[e>>2]|0)+28>>2]=c[g>>2];c[(c[e>>2]|0)+32>>2]=c[f>>2];l=h;return}function Qy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+152+((c[i>>2]|0)*20|0);if((c[(c[j>>2]|0)+12>>2]|0)>=(c[g>>2]|0)?(c[(c[j>>2]|0)+12>>2]|0)<((c[g>>2]|0)+(c[h>>2]|0)|0):0){Jy(c[f>>2]|0,c[i>>2]|0);continue}c[i>>2]=(c[i>>2]|0)+1}l=k;return}function Ry(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);xk(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-95;c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}return 0}function Sy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[c[f>>2]>>2];c[g>>2]=Ww(c[i>>2]|0,c[g>>2]|0,0)|0;if(a[(c[i>>2]|0)+69>>0]|0){h=c[i>>2]|0;i=c[g>>2]|0;Ok(h,i);l=j;return}Wy(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);h=c[i>>2]|0;i=c[g>>2]|0;Ok(h,i);l=j;return}function Ty(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[o>>2]|0)>=0?(c[o>>2]|0)!=(b[(c[m>>2]|0)+32>>1]|0):0){c[i>>2]=d[(c[m>>2]|0)+42>>0]&16|0?156:96;c[j>>2]=c[o>>2];if(d[(c[m>>2]|0)+42>>0]&32|0?(d[(c[m>>2]|0)+42>>0]&16|0)==0:0){h=uv(c[m>>2]|0)|0;c[j>>2]=(Uy(h,c[o>>2]&65535)|0)<<16>>16}Ru(c[k>>2]|0,c[i>>2]|0,c[n>>2]|0,c[j>>2]|0,c[p>>2]|0)|0}else Qu(c[k>>2]|0,123,c[n>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)<0){l=q;return}Vy(c[k>>2]|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0);l=q;return}function Uy(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+10|0;f=j+4|0;g=j+8|0;h=j;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){a=6;break}d=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=4;break}c[h>>2]=d+1}if((a|0)==4){b[i>>1]=d;i=b[i>>1]|0;l=j;return i|0}else if((a|0)==6){b[i>>1]=-1;i=b[i>>1]|0;l=j;return i|0}return 0}function Vy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o+24|0;g=o;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[i>>2]|0)+12>>2]|0){l=o;return}c[m>>2]=0;a[n>>0]=a[(Gs(c[h>>2]|0)|0)+66>>0]|0;c[g>>2]=(c[(c[i>>2]|0)+4>>2]|0)+(c[j>>2]<<4);f=Gs(c[h>>2]|0)|0;Nv(f,c[(c[g>>2]|0)+4>>2]|0,a[n>>0]|0,a[(c[g>>2]|0)+13>>0]|0,m)|0;if(c[m>>2]|0)Vu(c[h>>2]|0,-1,c[m>>2]|0,-8);if((a[(c[(c[i>>2]|0)+4>>2]|0)+(c[j>>2]<<4)+13>>0]|0)!=69){l=o;return}ey(c[h>>2]|0,92,c[k>>2]|0)|0;l=o;return}function Wy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if(c[g>>2]|0?(d[c[g>>2]>>0]|0|0)==157:0){Qu(c[(c[f>>2]|0)+8>>2]|0,84,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;l=j;return}c[i>>2]=Xy(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[i>>2]|0)==(c[h>>2]|0)){l=j;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){l=j;return}Qu(c[(c[f>>2]|0)+8>>2]|0,85,c[i>>2]|0,c[h>>2]|0)|0;l=j;return} +function Xy(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=l;l=l+320|0;z=ja+24|0;y=ja+16|0;G=ja+8|0;x=ja;ga=ja+304|0;ha=ja+300|0;T=ja+296|0;ia=ja+292|0;da=ja+288|0;F=ja+284|0;ea=ja+280|0;ba=ja+276|0;ca=ja+272|0;O=ja+268|0;A=ja+264|0;P=ja+216|0;B=ja+208|0;i=ja+204|0;j=ja+200|0;k=ja+196|0;m=ja+192|0;n=ja+188|0;o=ja+184|0;C=ja+180|0;p=ja+176|0;q=ja+172|0;r=ja+168|0;Q=ja+164|0;R=ja+160|0;H=ja+156|0;D=ja+152|0;I=ja+148|0;J=ja+144|0;K=ja+140|0;E=ja+309|0;L=ja+136|0;M=ja+132|0;N=ja+308|0;s=ja+128|0;t=ja+124|0;u=ja+120|0;v=ja+116|0;w=ja+112|0;U=ja+108|0;V=ja+104|0;W=ja+100|0;X=ja+96|0;Y=ja+92|0;Z=ja+88|0;_=ja+40|0;$=ja+32|0;aa=ja+28|0;c[ha>>2]=f;c[T>>2]=g;c[ia>>2]=h;c[da>>2]=c[(c[ha>>2]|0)+8>>2];c[ea>>2]=c[ia>>2];c[ba>>2]=0;c[ca>>2]=0;c[B>>2]=0;if(!(c[da>>2]|0)){c[ga>>2]=0;ia=c[ga>>2]|0;l=ja;return ia|0}if(!(c[T>>2]|0))c[F>>2]=101;else c[F>>2]=d[c[T>>2]>>0];a:do switch(c[F>>2]|0){case 154:{c[i>>2]=c[(c[T>>2]|0)+40>>2];c[j>>2]=(c[(c[i>>2]|0)+28>>2]|0)+((b[(c[T>>2]|0)+34>>1]|0)*24|0);if(!(a[c[i>>2]>>0]|0)){c[ga>>2]=c[(c[j>>2]|0)+16>>2];ia=c[ga>>2]|0;l=ja;return ia|0}if(a[(c[i>>2]|0)+1>>0]|0){Ru(c[da>>2]|0,96,c[(c[i>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}else fa=11;break}case 152:{fa=11;break}case 134:{Zy(c[ha>>2]|0,c[T>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 132:{_y(c[da>>2]|0,c[(c[T>>2]|0)+8>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 97:{Pu(c[da>>2]|0,c[ia>>2]|0,c[(c[T>>2]|0)+8>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 101:{Qu(c[da>>2]|0,79,0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 133:{c[n>>2]=(c[(c[T>>2]|0)+8>>2]|0)+2;c[m>>2]=(md(c[n>>2]|0)|0)-1;c[o>>2]=$v(Gs(c[da>>2]|0)|0,c[n>>2]|0,c[m>>2]|0)|0;Uu(c[da>>2]|0,81,(c[m>>2]|0)/2|0,c[ia>>2]|0,0,c[o>>2]|0,-1)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 135:{Qu(c[da>>2]|0,82,b[(c[T>>2]|0)+32>>1]|0,c[ia>>2]|0)|0;if(a[(c[(c[T>>2]|0)+8>>2]|0)+1>>0]|0)Vu(c[da>>2]|0,-1,c[(c[(c[ha>>2]|0)+428>>2]|0)+((b[(c[T>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 157:{c[ga>>2]=c[(c[T>>2]|0)+28>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 66:{c[ea>>2]=Xy(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;if((c[ea>>2]|0)!=(c[ia>>2]|0)){Qu(c[da>>2]|0,85,c[ea>>2]|0,c[ia>>2]|0)|0;c[ea>>2]=c[ia>>2]}Qu(c[da>>2]|0,93,c[ia>>2]|0,(Wv(c[(c[T>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;$y(c[ha>>2]|0,c[ea>>2]|0,1);c[ga>>2]=c[ea>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 148:case 29:{c[F>>2]=(c[F>>2]|0)==29?37:36;c[B>>2]=128;fa=29;break}case 37:case 36:case 41:case 38:case 39:case 40:{fa=29;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{c[O>>2]=cz(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,ba)|0;c[A>>2]=cz(c[ha>>2]|0,c[(c[T>>2]|0)+16>>2]|0,ca)|0;Ru(c[da>>2]|0,c[F>>2]|0,c[A>>2]|0,c[O>>2]|0,c[ia>>2]|0)|0;break}case 155:{c[p>>2]=c[(c[T>>2]|0)+12>>2];if((d[c[p>>2]>>0]|0)==134){Zy(c[ha>>2]|0,c[p>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}if((d[c[p>>2]>>0]|0)!=132){a[P>>0]=-122;c[P+4>>2]=17408;c[P+8>>2]=0;c[O>>2]=cz(c[ha>>2]|0,P,ba)|0;c[A>>2]=cz(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,ca)|0;Ru(c[da>>2]|0,48,c[A>>2]|0,c[O>>2]|0,c[ia>>2]|0)|0;break a}_y(c[da>>2]|0,c[(c[p>>2]|0)+8>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 19:case 54:{c[O>>2]=cz(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,ba)|0;Qu(c[da>>2]|0,c[F>>2]|0,c[O>>2]|0,c[ea>>2]|0)|0;break}case 35:case 34:{Qu(c[da>>2]|0,76,1,c[ia>>2]|0)|0;c[O>>2]=cz(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,ba)|0;c[q>>2]=ey(c[da>>2]|0,c[F>>2]|0,c[O>>2]|0)|0;Qu(c[da>>2]|0,76,0,c[ia>>2]|0)|0;ny(c[da>>2]|0,c[q>>2]|0);break}case 153:{c[r>>2]=c[(c[T>>2]|0)+40>>2];if(!(c[r>>2]|0)){ia=c[ha>>2]|0;c[x>>2]=c[(c[T>>2]|0)+8>>2];sl(ia,30361,x);break a}c[ga>>2]=c[(c[(c[r>>2]|0)+40>>2]|0)+(b[(c[T>>2]|0)+34>>1]<<4)+8>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 151:{c[I>>2]=0;c[K>>2]=c[c[ha>>2]>>2];a[E>>0]=a[(c[K>>2]|0)+66>>0]|0;c[L>>2]=0;if(c[(c[T>>2]|0)+4>>2]&16384|0)c[Q>>2]=0;else c[Q>>2]=c[(c[T>>2]|0)+20>>2];if(c[Q>>2]|0)f=c[c[Q>>2]>>2]|0;else f=0;c[R>>2]=f;c[D>>2]=c[(c[T>>2]|0)+8>>2];c[H>>2]=ox(c[K>>2]|0,c[D>>2]|0,c[R>>2]|0,a[E>>0]|0,0)|0;if(c[H>>2]|0?(c[(c[H>>2]|0)+16>>2]|0)==0:0){if(e[(c[H>>2]|0)+2>>1]&512|0){c[M>>2]=ky(c[da>>2]|0)|0;Wy(c[ha>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0);c[J>>2]=1;while(1){f=c[da>>2]|0;if((c[J>>2]|0)>=(c[R>>2]|0))break;Qu(f,35,c[ia>>2]|0,c[M>>2]|0)|0;Qy(c[ha>>2]|0,c[ia>>2]|0,1);Ky(c[ha>>2]|0);Wy(c[ha>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0,c[ia>>2]|0);Iy(c[ha>>2]|0);c[J>>2]=(c[J>>2]|0)+1}oy(f,c[M>>2]|0);break a}if(e[(c[H>>2]|0)+2>>1]&1024|0){c[ga>>2]=Xy(c[ha>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;l=ja;return ia|0}c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[R>>2]|0))break;if((c[J>>2]|0)<32?ez(c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0)|0:0)c[I>>2]=c[I>>2]|1<>2];if(!(c[L>>2]|0?1:(e[(c[H>>2]|0)+2>>1]&32|0)==0))c[L>>2]=rw(c[ha>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+1}if(c[Q>>2]|0){f=c[ha>>2]|0;if(c[I>>2]|0){c[O>>2]=(c[f+44>>2]|0)+1;ea=(c[ha>>2]|0)+44|0;c[ea>>2]=(c[ea>>2]|0)+(c[R>>2]|0)}else c[O>>2]=My(f,c[R>>2]|0)|0;do if(e[(c[H>>2]|0)+2>>1]&192|0){a[N>>0]=a[c[c[(c[Q>>2]|0)+4>>2]>>2]>>0]|0;if((d[N>>0]|0)!=152?(d[N>>0]|0)!=154:0)break;a[(c[c[(c[Q>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[H>>2]|0)+2>>1]&192}while(0);Ky(c[ha>>2]|0);fz(c[ha>>2]|0,c[Q>>2]|0,c[O>>2]|0,0,3)|0;Iy(c[ha>>2]|0)}else c[O>>2]=0;if((c[R>>2]|0)>=2?c[(c[T>>2]|0)+4>>2]&128|0:0)c[H>>2]=gz(c[K>>2]|0,c[H>>2]|0,c[R>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+20>>2]|0)|0;else fa=79;if((fa|0)==79?(c[R>>2]|0)>0:0)c[H>>2]=gz(c[K>>2]|0,c[H>>2]|0,c[R>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[H>>2]|0)+2>>1]&32|0){if(!(c[L>>2]|0))c[L>>2]=c[(c[K>>2]|0)+8>>2];Uu(c[da>>2]|0,88,0,0,0,c[L>>2]|0,-4)|0}Uu(c[da>>2]|0,89,c[I>>2]|0,c[O>>2]|0,c[ia>>2]|0,c[H>>2]|0,-5)|0;jy(c[da>>2]|0,c[R>>2]&255);if((c[R>>2]|0)!=0&(c[I>>2]|0)==0)Py(c[ha>>2]|0,c[O>>2]|0,c[R>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}ia=c[ha>>2]|0;c[G>>2]=c[D>>2];sl(ia,30387,G);break}case 119:case 20:{if((c[F>>2]|0)==119?(ia=c[c[c[(c[T>>2]|0)+20>>2]>>2]>>2]|0,c[s>>2]=ia,(ia|0)!=1):0){hz(c[ha>>2]|0,c[s>>2]|0,1);break a}c[ga>>2]=iz(c[ha>>2]|0,c[T>>2]|0,0,0)|0;ia=c[ga>>2]|0;l=ja;return ia|0}case 159:{if(!(c[(c[(c[T>>2]|0)+12>>2]|0)+28>>2]|0)){ia=iz(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,0,0)|0;c[(c[(c[T>>2]|0)+12>>2]|0)+28>>2]=ia}c[ga>>2]=(c[(c[(c[T>>2]|0)+12>>2]|0)+28>>2]|0)+(b[(c[T>>2]|0)+32>>1]|0);ia=c[ga>>2]|0;l=ja;return ia|0}case 33:{c[t>>2]=ky(c[da>>2]|0)|0;c[u>>2]=ky(c[da>>2]|0)|0;Qu(c[da>>2]|0,79,0,c[ia>>2]|0)|0;jz(c[ha>>2]|0,c[T>>2]|0,c[t>>2]|0,c[u>>2]|0);Qu(c[da>>2]|0,76,1,c[ia>>2]|0)|0;oy(c[da>>2]|0,c[t>>2]|0);Qu(c[da>>2]|0,91,c[ia>>2]|0,0)|0;oy(c[da>>2]|0,c[u>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 32:{kz(c[ha>>2]|0,c[T>>2]|0,c[ia>>2]|0,0,0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 156:case 53:case 161:{c[ga>>2]=Xy(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;l=ja;return ia|0}case 88:{c[v>>2]=c[(c[T>>2]|0)+44>>2];c[w>>2]=(S(c[(c[T>>2]|0)+28>>2]|0,(b[(c[v>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[T>>2]|0)+32>>1]|0);Qu(c[da>>2]|0,143,c[w>>2]|0,c[ia>>2]|0)|0;if((b[(c[T>>2]|0)+32>>1]|0)>=0?(a[(c[(c[v>>2]|0)+4>>2]|0)+(b[(c[T>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)ey(c[da>>2]|0,92,c[ia>>2]|0)|0;break}case 158:{sl(c[ha>>2]|0,29254,y);break}case 83:{if(!(c[(c[ha>>2]|0)+128>>2]|0)){sl(c[ha>>2]|0,30410,z);c[ga>>2]=0;ia=c[ga>>2]|0;l=ja;return ia|0}if((a[(c[T>>2]|0)+1>>0]|0)==2)gw(c[ha>>2]|0);if((a[(c[T>>2]|0)+1>>0]|0)==4){Uu(c[da>>2]|0,75,0,4,0,c[(c[T>>2]|0)+8>>2]|0,0)|0;break a}else{Hy(c[ha>>2]|0,1811,a[(c[T>>2]|0)+1>>0]|0,c[(c[T>>2]|0)+8>>2]|0,0,0);break a}}default:{c[aa>>2]=0;c[Y>>2]=c[(c[T>>2]|0)+20>>2];c[Z>>2]=c[(c[Y>>2]|0)+4>>2];c[W>>2]=c[c[Y>>2]>>2];c[U>>2]=ky(c[da>>2]|0)|0;T=c[(c[T>>2]|0)+12>>2]|0;c[$>>2]=T;if(T|0){f=P;g=c[$>>2]|0;i=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));mz(P,lz(c[ha>>2]|0,P,ba)|0);f=_;i=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));a[_>>0]=37;c[_+12>>2]=P;c[aa>>2]=_;c[ba>>2]=0}c[X>>2]=0;while(1){if((c[X>>2]|0)>=((c[W>>2]|0)-1|0))break;Ky(c[ha>>2]|0);f=c[(c[Z>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0;if(c[$>>2]|0)c[_+16>>2]=f;else c[aa>>2]=f;c[V>>2]=ky(c[da>>2]|0)|0;nz(c[ha>>2]|0,c[aa>>2]|0,c[V>>2]|0,16);Wy(c[ha>>2]|0,c[(c[Z>>2]|0)+(((c[X>>2]|0)+1|0)*20|0)>>2]|0,c[ia>>2]|0);my(c[da>>2]|0,c[U>>2]|0)|0;Iy(c[ha>>2]|0);oy(c[da>>2]|0,c[V>>2]|0);c[X>>2]=(c[X>>2]|0)+2}if(c[W>>2]&1|0){Ky(c[ha>>2]|0);Wy(c[ha>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+(((c[W>>2]|0)-1|0)*20|0)>>2]|0,c[ia>>2]|0);Iy(c[ha>>2]|0)}else Qu(c[da>>2]|0,79,0,c[ia>>2]|0)|0;oy(c[da>>2]|0,c[U>>2]|0)}}while(0);do if((fa|0)==11){c[k>>2]=c[(c[T>>2]|0)+28>>2];do if((c[k>>2]|0)<0){if((c[(c[ha>>2]|0)+56>>2]|0)<=0){c[k>>2]=c[(c[ha>>2]|0)+60>>2];break}c[ga>>2]=(b[(c[T>>2]|0)+32>>1]|0)+(c[(c[ha>>2]|0)+56>>2]|0);ia=c[ga>>2]|0;l=ja;return ia|0}while(0);c[ga>>2]=Yy(c[ha>>2]|0,c[(c[T>>2]|0)+44>>2]|0,b[(c[T>>2]|0)+32>>1]|0,c[k>>2]|0,c[ia>>2]|0,a[(c[T>>2]|0)+38>>0]|0)|0;ia=c[ga>>2]|0;l=ja;return ia|0}else if((fa|0)==29){c[C>>2]=c[(c[T>>2]|0)+12>>2];fa=(az(c[C>>2]|0)|0)!=0;f=c[ha>>2]|0;if(fa){bz(f,c[T>>2]|0,c[ia>>2]|0,c[F>>2]&255,c[B>>2]&255);break}else{c[O>>2]=cz(f,c[C>>2]|0,ba)|0;c[A>>2]=cz(c[ha>>2]|0,c[(c[T>>2]|0)+16>>2]|0,ca)|0;dz(c[ha>>2]|0,c[C>>2]|0,c[(c[T>>2]|0)+16>>2]|0,c[F>>2]|0,c[O>>2]|0,c[A>>2]|0,c[ea>>2]|0,32|c[B>>2])|0;break}}while(0);Qv(c[ha>>2]|0,c[ba>>2]|0);Qv(c[ha>>2]|0,c[ca>>2]|0);c[ga>>2]=c[ea>>2];ia=c[ga>>2]|0;l=ja;return ia|0}function Yy(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+48|0;r=w+32|0;s=w+28|0;t=w+24|0;u=w+20|0;k=w+16|0;m=w+12|0;n=w+36|0;o=w+8|0;p=w+4|0;q=w;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[k>>2]=h;c[m>>2]=i;a[n>>0]=j;c[o>>2]=c[(c[s>>2]|0)+8>>2];c[p>>2]=0;c[q>>2]=(c[s>>2]|0)+152;while(1){if((c[p>>2]|0)>=(d[(c[s>>2]|0)+25>>0]|0))break;if((c[c[q>>2]>>2]|0)==(c[k>>2]|0)?(b[(c[q>>2]|0)+4>>1]|0)==(c[u>>2]|0):0){v=5;break}c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((v|0)==5){u=(c[s>>2]|0)+68|0;v=c[u>>2]|0;c[u>>2]=v+1;c[(c[q>>2]|0)+16>>2]=v;Lz(c[s>>2]|0,c[(c[q>>2]|0)+12>>2]|0);c[r>>2]=c[(c[q>>2]|0)+12>>2];v=c[r>>2]|0;l=w;return v|0}Ty(c[o>>2]|0,c[t>>2]|0,c[k>>2]|0,c[u>>2]|0,c[m>>2]|0);if(a[n>>0]|0)jy(c[o>>2]|0,a[n>>0]|0);else Mz(c[s>>2]|0,c[k>>2]|0,c[u>>2]|0,c[m>>2]|0);c[r>>2]=c[m>>2];v=c[r>>2]|0;l=w;return v|0}function Zy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;o=p+8|0;i=p+40|0;q=p+36|0;j=p+32|0;k=p+28|0;m=p+24|0;n=p+20|0;f=p+16|0;g=p;h=p+12|0;c[i>>2]=a;c[q>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=c[(c[i>>2]|0)+8>>2];a=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024|0){c[n>>2]=c[a>>2];if(c[j>>2]|0)c[n>>2]=0-(c[n>>2]|0);Qu(c[m>>2]|0,76,c[n>>2]|0,c[k>>2]|0)|0;l=p;return}c[h>>2]=c[a>>2];c[f>>2]=Kz(c[h>>2]|0,g)|0;if(c[f>>2]|0?!((c[f>>2]|0)==2&(c[j>>2]|0)!=0):0)if(!(ld(c[h>>2]|0,30584,2)|0)){q=c[i>>2]|0;c[o>>2]=c[h>>2];sl(q,30587,o);l=p;return}else{_y(c[m>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);l=p;return}if(c[j>>2]|0){o=(c[f>>2]|0)==2;n=g;n=Z$(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=g;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:D}Jz(c[m>>2]|0,77,0,c[k>>2]|0,0,g,-13)|0;l=p;return}function _y(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;i=m+12|0;j=m+8|0;k=m;c[f>>2]=a;c[g>>2]=b;c[i>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){l=m;return}e=c[g>>2]|0;Ji(e,k,md(c[g>>2]|0)|0,1)|0;if(c[i>>2]|0)h[k>>3]=-+h[k>>3];Jz(c[f>>2]|0,132,0,c[j>>2]|0,0,k,-12)|0;l=m;return}function $y(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Qy(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);l=e;return}function az(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(rx(c[d>>2]|0)|0)>1&1;l=b;return a|0}function bz(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=l;l=l+80|0;y=C+64|0;D=C+60|0;z=C+56|0;A=C+70|0;B=C+69|0;i=C+52|0;j=C+48|0;k=C+44|0;m=C+40|0;n=C+36|0;o=C+32|0;p=C+28|0;q=C+68|0;r=C+24|0;s=C+20|0;t=C+16|0;u=C+12|0;v=C+8|0;w=C+4|0;x=C;c[y>>2]=b;c[D>>2]=e;c[z>>2]=f;a[A>>0]=g;a[B>>0]=h;c[i>>2]=c[(c[y>>2]|0)+8>>2];c[j>>2]=c[(c[D>>2]|0)+12>>2];c[k>>2]=c[(c[D>>2]|0)+16>>2];c[m>>2]=rx(c[j>>2]|0)|0;c[o>>2]=0;c[p>>2]=0;a[q>>0]=a[A>>0]|0;c[r>>2]=ky(c[i>>2]|0)|0;a[B>>0]=d[B>>0]|0|32;if((d[q>>0]|0|0)==39)a[q>>0]=40;if((d[q>>0]|0|0)==41)a[q>>0]=38;c[o>>2]=Hz(c[y>>2]|0,c[j>>2]|0)|0;c[p>>2]=Hz(c[y>>2]|0,c[k>>2]|0)|0;c[n>>2]=0;while(1){c[s>>2]=0;c[t>>2]=0;if((c[n>>2]|0)>0)Ky(c[y>>2]|0);c[w>>2]=Iz(c[y>>2]|0,c[j>>2]|0,c[n>>2]|0,c[o>>2]|0,u,s)|0;c[x>>2]=Iz(c[y>>2]|0,c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,v,t)|0;dz(c[y>>2]|0,c[u>>2]|0,c[v>>2]|0,d[q>>0]|0,c[w>>2]|0,c[x>>2]|0,c[z>>2]|0,d[B>>0]|0)|0;Qv(c[y>>2]|0,c[s>>2]|0);Qv(c[y>>2]|0,c[t>>2]|0);if((c[n>>2]|0)>0)Iy(c[y>>2]|0);if((c[n>>2]|0)==((c[m>>2]|0)-1|0))break;do if((d[q>>0]|0|0)!=37){b=c[i>>2]|0;if((d[q>>0]|0|0)==36){Qu(b,21,c[z>>2]|0,c[r>>2]|0)|0;a[B>>0]=d[B>>0]|0|8;break}Qu(b,42,0,c[r>>2]|0)|0;if((c[n>>2]|0)==((c[m>>2]|0)-2|0))a[q>>0]=a[A>>0]|0}else{Qu(c[i>>2]|0,22,c[z>>2]|0,c[r>>2]|0)|0;a[B>>0]=d[B>>0]|0|8}while(0);c[n>>2]=(c[n>>2]|0)+1}oy(c[i>>2]|0,c[r>>2]|0);l=C;return}function cz(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;h=q+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;f=q+4|0;g=q;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[j>>2]=yw(c[j>>2]|0)|0;if((d[(c[i>>2]|0)+23>>0]|0|0?(d[c[j>>2]>>0]|0|0)!=157:0)?Gz(c[j>>2]|0)|0:0){c[n>>2]=c[(c[i>>2]|0)+80>>2];c[c[k>>2]>>2]=0;a:do if(c[n>>2]|0){c[f>>2]=c[(c[n>>2]|0)+4>>2];c[o>>2]=c[c[n>>2]>>2];while(1){if((c[o>>2]|0)<=0)break a;if((d[(c[f>>2]|0)+13>>0]|0)>>>2&1|0?(Yw(c[c[f>>2]>>2]|0,c[j>>2]|0,-1)|0)==0:0)break;c[f>>2]=(c[f>>2]|0)+20;c[o>>2]=(c[o>>2]|0)+-1}c[h>>2]=c[(c[f>>2]|0)+16>>2];p=c[h>>2]|0;l=q;return p|0}while(0);n=(c[i>>2]|0)+44|0;o=(c[n>>2]|0)+1|0;c[n>>2]=o;c[m>>2]=o;Bz(c[i>>2]|0,c[j>>2]|0,c[m>>2]|0,1)}else p=12;do if((p|0)==12){c[g>>2]=Ov(c[i>>2]|0)|0;c[m>>2]=Xy(c[i>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if((c[m>>2]|0)==(c[g>>2]|0)){c[c[k>>2]>>2]=c[g>>2];break}else{Qv(c[i>>2]|0,c[g>>2]|0);c[c[k>>2]>>2]=0;break}}while(0);c[h>>2]=c[m>>2];p=c[h>>2]|0;l=q;return p|0}function dz(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;k=l;l=l+48|0;n=k+40|0;v=k+36|0;u=k+32|0;s=k+28|0;p=k+24|0;r=k+20|0;q=k+16|0;t=k+12|0;m=k+8|0;j=k+4|0;o=k;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=i;c[o>>2]=xz(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(Fz(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[j>>2]=Uu(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;jy(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);l=k;return c[j>>2]|0}function ez(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Cz(c[d>>2]|0,1,0)|0;l=b;return a|0}function fz(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;t=z+44|0;u=z+40|0;v=z+36|0;w=z+32|0;x=z+49|0;j=z+28|0;k=z+24|0;m=z+20|0;n=z+16|0;o=z+48|0;p=z+12|0;q=z+8|0;r=z+4|0;s=z;c[t>>2]=b;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;a[x>>0]=i;a[o>>0]=d[x>>0]&1|0?84:85;c[p>>2]=c[(c[t>>2]|0)+8>>2];c[n>>2]=c[c[u>>2]>>2];if(!(a[(c[t>>2]|0)+23>>0]|0))a[x>>0]=d[x>>0]&-3;c[j>>2]=c[(c[u>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;c[q>>2]=c[c[j>>2]>>2];if(d[x>>0]&4|0?(i=e[(c[(c[u>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+16>>1]|0,c[m>>2]=i,(i|0)>0):0)Qu(c[p>>2]|0,d[o>>0]|0,(c[m>>2]|0)+(c[w>>2]|0)-1|0,(c[v>>2]|0)+(c[k>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if(d[x>>0]&2|0?ez(c[q>>2]|0)|0:0){Bz(c[t>>2]|0,c[q>>2]|0,(c[v>>2]|0)+(c[k>>2]|0)|0,0);break}c[r>>2]=Xy(c[t>>2]|0,c[q>>2]|0,(c[v>>2]|0)+(c[k>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[v>>2]|0)+(c[k>>2]|0)|0)){if((((d[o>>0]|0)==84?(i=uy(c[p>>2]|0,-1)|0,c[s>>2]=i,(d[i>>0]|0)==84):0)?((c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[s>>2]|0)+8>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0)+1|0)==((c[v>>2]|0)+(c[k>>2]|0)|0):0){i=(c[s>>2]|0)+12|0;c[i>>2]=(c[i>>2]|0)+1;break}Qu(c[p>>2]|0,d[o>>0]|0,c[r>>2]|0,(c[v>>2]|0)+(c[k>>2]|0)|0)|0}}while(0);c[k>>2]=(c[k>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}l=z;return c[n>>2]|0}function gz(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y+32|0;j=y+28|0;k=y+24|0;m=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=i;c[m>>2]=0;c[n>>2]=0;c[p>>2]=0;if(!(c[w>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}if((d[c[w>>2]>>0]|0)!=152){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}c[x>>2]=c[(c[w>>2]|0)+44>>2];if(!(c[x>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}if(!(d[(c[x>>2]|0)+42>>0]&16)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}c[j>>2]=c[(fw(c[t>>2]|0,c[x>>2]|0)|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];if(!(c[(c[k>>2]|0)+72>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}c[q>>2]=Xo(c[t>>2]|0,c[(c[u>>2]|0)+20>>2]|0)|0;if(c[q>>2]|0){c[r>>2]=c[q>>2];while(1){if(!(a[c[r>>2]>>0]|0))break;a[c[r>>2]>>0]=a[20458+(d[c[r>>2]>>0]|0)>>0]|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=Nb[c[(c[k>>2]|0)+72>>2]&255](c[j>>2]|0,c[v>>2]|0,c[q>>2]|0,m,n)|0;Xd(c[t>>2]|0,c[q>>2]|0)}if(!(c[p>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}x=c[t>>2]|0;c[o>>2]=_l(x,28+(md(c[(c[u>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[o>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}else{w=c[o>>2]|0;x=c[u>>2]|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[(c[o>>2]|0)+20>>2]=(c[o>>2]|0)+28;w=(c[o>>2]|0)+28|0;x=c[(c[u>>2]|0)+20>>2]|0;h0(w|0,x|0,(md(c[(c[u>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[o>>2]|0)+12>>2]=c[m>>2];c[(c[o>>2]|0)+4>>2]=c[n>>2];x=(c[o>>2]|0)+2|0;b[x>>1]=e[x>>1]|16;c[s>>2]=c[o>>2];x=c[s>>2]|0;l=y;return x|0}return 0}function hz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;f=e;j=e+20|0;g=e+16|0;h=e+12|0;i=e+8|0;c[j>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=30540;b=c[j>>2]|0;d=c[i>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=a;sl(b,d,f);l=e;return}function iz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+176|0;i=O;J=O+168|0;K=O+164|0;L=O+160|0;M=O+156|0;F=O+152|0;N=O+148|0;H=O+144|0;I=O+140|0;h=O+136|0;v=O+132|0;n=O+128|0;w=O+124|0;o=O+120|0;p=O+116|0;q=O+112|0;r=O+88|0;s=O+80|0;t=O+76|0;x=O+172|0;y=O+72|0;u=O+68|0;z=O+64|0;A=O+60|0;B=O+56|0;C=O+52|0;D=O+48|0;E=O+44|0;j=O+40|0;k=O+16|0;m=O+12|0;c[K>>2]=b;c[L>>2]=e;c[M>>2]=f;c[F>>2]=g;c[N>>2]=-1;c[H>>2]=0;c[I>>2]=Lu(c[K>>2]|0)|0;if(!(c[I>>2]|0)){c[J>>2]=0;N=c[J>>2]|0;l=O;return N|0}Ky(c[K>>2]|0);if(!(c[(c[L>>2]|0)+4>>2]&32))c[N>>2]=Nu(c[I>>2]|0,20)|0;if((d[(c[K>>2]|0)+409>>0]|0)==2){g=c[c[K>>2]>>2]|0;e=(d[c[L>>2]>>0]|0)==33?30503:30508;f=c[(c[K>>2]|0)+424>>2]|0;c[i>>2]=(c[N>>2]|0)>=0?55752:30491;c[i+4>>2]=e;c[i+8>>2]=f;c[h>>2]=Wj(g,30515,i)|0;Uu(c[I>>2]|0,162,c[(c[K>>2]|0)+420>>2]|0,0,0,c[h>>2]|0,-1)|0}b=c[L>>2]|0;do if((d[c[L>>2]>>0]|0)==33){c[n>>2]=c[b+12>>2];c[w>>2]=0;c[o>>2]=rx(c[n>>2]|0)|0;k=(c[K>>2]|0)+40|0;m=c[k>>2]|0;c[k>>2]=m+1;c[(c[L>>2]|0)+28>>2]=m;c[v>>2]=Qu(c[I>>2]|0,107,c[(c[L>>2]|0)+28>>2]|0,c[F>>2]|0?0:c[o>>2]|0)|0;if(c[F>>2]|0)b=0;else b=yy(c[c[K>>2]>>2]|0,c[o>>2]|0,1)|0;c[w>>2]=b;b=(c[L>>2]|0)+20|0;a:do if(c[(c[L>>2]|0)+4>>2]&2048|0){c[p>>2]=c[b>>2];c[q>>2]=c[c[p>>2]>>2];if((c[c[q>>2]>>2]|0)==(c[o>>2]|0)){Az(r,11,c[(c[L>>2]|0)+28>>2]|0);c[r+4>>2]=rz(c[K>>2]|0,c[L>>2]|0)|0;c[(c[p>>2]|0)+12>>2]=0;G=(At(c[K>>2]|0,c[p>>2]|0,r)|0)!=0;Xd(c[c[K>>2]>>2]|0,c[r+4>>2]|0);if(G){zk(c[w>>2]|0);c[J>>2]=0;N=c[J>>2]|0;l=O;return N|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[o>>2]|0))break a;c[t>>2]=uz(c[n>>2]|0,c[s>>2]|0)|0;G=xz(c[K>>2]|0,c[t>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;c[(c[w>>2]|0)+20+(c[s>>2]<<2)>>2]=G;c[s>>2]=(c[s>>2]|0)+1}}}else if(c[b>>2]|0){c[u>>2]=c[(c[L>>2]|0)+20>>2];t=qw(c[n>>2]|0)|0;a[x>>0]=t;a[x>>0]=a[x>>0]|0?t:65;if(c[w>>2]|0){t=rw(c[K>>2]|0,c[(c[L>>2]|0)+12>>2]|0)|0;c[(c[w>>2]|0)+20>>2]=t}c[A>>2]=Ov(c[K>>2]|0)|0;c[B>>2]=Ov(c[K>>2]|0)|0;if(c[F>>2]|0)Qu(c[I>>2]|0,79,0,c[B>>2]|0)|0;c[y>>2]=c[c[u>>2]>>2];c[z>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[D>>2]=c[c[z>>2]>>2];if((c[N>>2]|0)>=0?(ez(c[D>>2]|0)|0)==0:0){Ry(c[I>>2]|0,c[N>>2]|0)|0;c[N>>2]=-1}if(c[F>>2]|0?Tw(c[D>>2]|0,E)|0:0)Ru(c[I>>2]|0,116,c[(c[L>>2]|0)+28>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;else G=30;do if((G|0)==30){G=0;c[C>>2]=Xy(c[K>>2]|0,c[D>>2]|0,c[A>>2]|0)|0;b=c[I>>2]|0;e=c[C>>2]|0;if(c[F>>2]|0){Qu(b,17,e,(Pv(c[I>>2]|0)|0)+2|0)|0;Ru(c[I>>2]|0,115,c[(c[L>>2]|0)+28>>2]|0,c[B>>2]|0,c[C>>2]|0)|0;break}else{Uu(b,99,e,1,c[B>>2]|0,x,1)|0;$y(c[K>>2]|0,c[C>>2]|0,1);Qu(c[I>>2]|0,126,c[(c[L>>2]|0)+28>>2]|0,c[B>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+20}Qv(c[K>>2]|0,c[A>>2]|0);Qv(c[K>>2]|0,c[B>>2]|0)}while(0);if(c[w>>2]|0)Vu(c[I>>2]|0,c[v>>2]|0,c[w>>2]|0,-6)}else{c[j>>2]=c[b+20>>2];if((d[c[L>>2]>>0]|0)==119)b=c[c[c[j>>2]>>2]>>2]|0;else b=1;c[m>>2]=b;Az(k,0,(c[(c[K>>2]|0)+44>>2]|0)+1|0);G=(c[K>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+(c[m>>2]|0);if((d[c[L>>2]>>0]|0)==119){a[k>>0]=10;c[k+12>>2]=c[k+8>>2];c[k+16>>2]=c[m>>2];Ru(c[I>>2]|0,79,0,c[k+8>>2]|0,(c[k+8>>2]|0)+(c[m>>2]|0)-1|0)|0}else{a[k>>0]=3;Qu(c[I>>2]|0,76,0,c[k+8>>2]|0)|0}Ok(c[c[K>>2]>>2]|0,c[(c[j>>2]|0)+56>>2]|0);G=Wt(c[c[K>>2]>>2]|0,134,4260,0)|0;c[(c[j>>2]|0)+56>>2]=G;c[(c[j>>2]|0)+12>>2]=0;G=(c[j>>2]|0)+8|0;c[G>>2]=c[G>>2]&-1025;if(!(At(c[K>>2]|0,c[j>>2]|0,k)|0)){c[H>>2]=c[k+8>>2];break}c[J>>2]=0;N=c[J>>2]|0;l=O;return N|0}while(0);if(c[M>>2]|0)yz(c[I>>2]|0,c[(c[L>>2]|0)+28>>2]|0,c[M>>2]|0);if((c[N>>2]|0)>=0)ny(c[I>>2]|0,c[N>>2]|0);Iy(c[K>>2]|0);c[J>>2]=c[H>>2];N=c[J>>2]|0;l=O;return N|0}function jz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+128|0;G=L+120|0;H=L+116|0;I=L+112|0;J=L+108|0;K=L+104|0;q=L+100|0;r=L+96|0;s=L+92|0;t=L+88|0;u=L+84|0;v=L+80|0;w=L+76|0;x=L+68|0;y=L+64|0;g=L+60|0;z=L+56|0;A=L+52|0;B=L+48|0;C=L+44|0;h=L+40|0;i=L+36|0;j=L+32|0;k=L+28|0;m=L+24|0;n=L+20|0;o=L+16|0;p=L+12|0;D=L+8|0;E=L+4|0;F=L;c[G>>2]=b;c[H>>2]=d;c[I>>2]=e;c[J>>2]=f;c[K>>2]=0;c[u>>2]=0;c[v>>2]=0;c[z>>2]=0;c[x>>2]=c[(c[H>>2]|0)+12>>2];if(qz(c[G>>2]|0,c[H>>2]|0)|0){l=L;return}c[v>>2]=rz(c[G>>2]|0,c[H>>2]|0)|0;c[w>>2]=rx(c[(c[H>>2]|0)+12>>2]|0)|0;c[u>>2]=_l(c[c[G>>2]>>2]|0,((c[w>>2]|0)*5|0)+1|0,0)|0;if(!(a[(c[c[G>>2]>>2]|0)+69>>0]|0)){c[t>>2]=c[(c[G>>2]|0)+8>>2];c[q>>2]=sz(c[G>>2]|0,c[H>>2]|0,3,(c[I>>2]|0)==(c[J>>2]|0)?0:K,c[u>>2]|0)|0;Ky(c[G>>2]|0);c[s>>2]=lz(c[G>>2]|0,c[x>>2]|0,L+72|0)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break;if((c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)!=(c[y>>2]|0))break;c[y>>2]=(c[y>>2]|0)+1}a:do if((c[y>>2]|0)==(c[w>>2]|0))c[r>>2]=c[s>>2];else{c[r>>2]=My(c[G>>2]|0,c[w>>2]|0)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break a;Ru(c[t>>2]|0,84,(c[s>>2]|0)+(c[y>>2]|0)|0,(c[r>>2]|0)+(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)|0,0)|0;c[y>>2]=(c[y>>2]|0)+1}}while(0);b:do if((c[q>>2]|0)==5){c[h>>2]=c[(c[H>>2]|0)+20>>2];c[i>>2]=rw(c[G>>2]|0,c[(c[H>>2]|0)+12>>2]|0)|0;c[j>>2]=ky(c[t>>2]|0)|0;c[n>>2]=0;if((c[J>>2]|0)!=(c[I>>2]|0)){c[n>>2]=Ov(c[G>>2]|0)|0;Ru(c[t>>2]|0,43,c[r>>2]|0,c[r>>2]|0,c[n>>2]|0)|0}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[h>>2]>>2]|0))break;c[k>>2]=cz(c[G>>2]|0,c[(c[(c[h>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,m)|0;if(c[n>>2]|0?tz(c[(c[(c[h>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0:0)Ru(c[t>>2]|0,43,c[n>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)>=((c[c[h>>2]>>2]|0)-1|0)?(c[J>>2]|0)==(c[I>>2]|0):0){Uu(c[t>>2]|0,36,c[r>>2]|0,c[I>>2]|0,c[k>>2]|0,c[i>>2]|0,-4)|0;jy(c[t>>2]|0,(a[c[v>>2]>>0]|16)&255)}else{Uu(c[t>>2]|0,37,c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,c[i>>2]|0,-4)|0;jy(c[t>>2]|0,a[c[v>>2]>>0]|0)}Qv(c[G>>2]|0,c[m>>2]|0);c[o>>2]=(c[o>>2]|0)+1}if(c[n>>2]|0){Qu(c[t>>2]|0,34,c[n>>2]|0,c[J>>2]|0)|0;my(c[t>>2]|0,c[I>>2]|0)|0}oy(c[t>>2]|0,c[j>>2]|0);Qv(c[G>>2]|0,c[n>>2]|0)}else{if((c[J>>2]|0)==(c[I>>2]|0))c[g>>2]=c[I>>2];else{o=ky(c[t>>2]|0)|0;c[z>>2]=o;c[g>>2]=o}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break;c[p>>2]=uz(c[(c[H>>2]|0)+12>>2]|0,c[y>>2]|0)|0;if(tz(c[p>>2]|0)|0)Qu(c[t>>2]|0,34,(c[r>>2]|0)+(c[y>>2]|0)|0,c[g>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+1}b=c[t>>2]|0;do if((c[q>>2]|0)!=1){Uu(b,98,c[r>>2]|0,c[w>>2]|0,0,c[v>>2]|0,c[w>>2]|0)|0;b=c[t>>2]|0;d=c[(c[H>>2]|0)+28>>2]|0;if((c[I>>2]|0)==(c[J>>2]|0)){zy(b,30,d,c[I>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;break b}else{c[A>>2]=zy(b,31,d,0,c[r>>2]|0,c[w>>2]|0)|0;break}}else{Ru(b,32,c[(c[H>>2]|0)+28>>2]|0,c[I>>2]|0,c[r>>2]|0)|0;c[A>>2]=Nu(c[t>>2]|0,13)|0}while(0);if((c[K>>2]|0)!=0&(c[w>>2]|0)==1)Qu(c[t>>2]|0,35,c[K>>2]|0,c[I>>2]|0)|0;if((c[I>>2]|0)==(c[J>>2]|0))my(c[t>>2]|0,c[I>>2]|0)|0;if(c[z>>2]|0)oy(c[t>>2]|0,c[z>>2]|0);c[C>>2]=Qu(c[t>>2]|0,57,c[(c[H>>2]|0)+28>>2]|0,c[I>>2]|0)|0;if((c[w>>2]|0)>1)c[B>>2]=ky(c[t>>2]|0)|0;else c[B>>2]=c[I>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break;c[F>>2]=Ov(c[G>>2]|0)|0;c[D>>2]=uz(c[x>>2]|0,c[y>>2]|0)|0;c[E>>2]=rw(c[G>>2]|0,c[D>>2]|0)|0;Ru(c[t>>2]|0,96,c[(c[H>>2]|0)+28>>2]|0,c[y>>2]|0,c[F>>2]|0)|0;Uu(c[t>>2]|0,36,(c[r>>2]|0)+(c[y>>2]|0)|0,c[B>>2]|0,c[F>>2]|0,c[E>>2]|0,-4)|0;Qv(c[G>>2]|0,c[F>>2]|0);c[y>>2]=(c[y>>2]|0)+1}Qu(c[t>>2]|0,13,0,c[J>>2]|0)|0;if((c[w>>2]|0)>1){oy(c[t>>2]|0,c[B>>2]|0);Qu(c[t>>2]|0,7,c[(c[H>>2]|0)+28>>2]|0,(c[C>>2]|0)+1|0)|0;Qu(c[t>>2]|0,13,0,c[I>>2]|0)|0}ny(c[t>>2]|0,c[A>>2]|0)}while(0);if((c[r>>2]|0)!=(c[s>>2]|0))Qv(c[G>>2]|0,c[r>>2]|0);Iy(c[G>>2]|0)}Xd(c[c[G>>2]>>2]|0,c[u>>2]|0);Xd(c[c[G>>2]>>2]|0,c[v>>2]|0);l=L;return}function kz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+216|0;o=s+212|0;p=s+208|0;q=s+204|0;r=s+200|0;h=s+152|0;i=s+104|0;j=s+56|0;k=s+8|0;m=s;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=0;b=i;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));b=j;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));b=h;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));b=k;d=c[(c[o>>2]|0)+12>>2]|0;e=b+48|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));a[h>>0]=28;c[h+12>>2]=i;c[h+16>>2]=j;a[i>>0]=41;c[i+12>>2]=k;c[i+16>>2]=c[c[(c[(c[o>>2]|0)+20>>2]|0)+4>>2]>>2];a[j>>0]=39;c[j+12>>2]=k;c[j+16>>2]=c[(c[(c[(c[o>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];mz(k,lz(c[n>>2]|0,k,m)|0);if(c[q>>2]|0){Ob[c[q>>2]&255](c[n>>2]|0,h,c[p>>2]|0,c[r>>2]|0);q=c[n>>2]|0;r=c[m>>2]|0;Qv(q,r);l=s;return}else{q=k+4|0;c[q>>2]=c[q>>2]|1;Xy(c[n>>2]|0,h,c[p>>2]|0)|0;q=c[n>>2]|0;r=c[m>>2]|0;Qv(q,r);l=s;return}}function lz(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+20|0;h=m+16|0;f=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[f>>2]=e;c[j>>2]=rx(c[h>>2]|0)|0;if((c[j>>2]|0)==1){c[i>>2]=cz(c[g>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;k=c[i>>2]|0;l=m;return k|0}c[c[f>>2]>>2]=0;a=c[g>>2]|0;if((d[c[h>>2]>>0]|0|0)==119){c[i>>2]=iz(a,c[h>>2]|0,0,0)|0;k=c[i>>2]|0;l=m;return k|0}c[i>>2]=(c[a+44>>2]|0)+1;f=(c[g>>2]|0)+44|0;c[f>>2]=(c[f>>2]|0)+(c[j>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;Wy(c[g>>2]|0,c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,(c[k>>2]|0)+(c[i>>2]|0)|0);c[k>>2]=(c[k>>2]|0)+1}k=c[i>>2]|0;l=m;return k|0}function mz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];d=(c[f>>2]|0)+4|0;c[d>>2]=c[d>>2]&-4097;l=e;return}function nz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;n=u+44|0;o=u+40|0;p=u+36|0;q=u+32|0;r=u+28|0;s=u+24|0;g=u+20|0;h=u+16|0;i=u+12|0;j=u+8|0;k=u+4|0;m=u;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=c[(c[n>>2]|0)+8>>2];c[s>>2]=0;c[g>>2]=0;c[h>>2]=0;if((c[r>>2]|0)==0|(c[o>>2]|0)==0){l=u;return}c[s>>2]=((d[c[o>>2]>>0]|0)+0^1)-0;a:do switch(d[c[o>>2]>>0]|0|0){case 28:{nz(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[p>>2]|0,c[q>>2]|0);Ky(c[n>>2]|0);nz(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[p>>2]|0,c[q>>2]|0);Iy(c[n>>2]|0);break}case 27:{c[k>>2]=ky(c[r>>2]|0)|0;oz(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[k>>2]|0,c[q>>2]^16);Ky(c[n>>2]|0);nz(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[p>>2]|0,c[q>>2]|0);oy(c[r>>2]|0,c[k>>2]|0);Iy(c[n>>2]|0);break}case 19:{oz(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[p>>2]|0,c[q>>2]|0);break}case 148:case 29:{c[s>>2]=(d[c[o>>2]>>0]|0|0)==29?36:37;c[q>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{c[i>>2]=cz(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,g)|0;Qu(c[r>>2]|0,c[s>>2]|0,c[i>>2]|0,c[p>>2]|0)|0;break}case 32:{kz(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,134,c[q>>2]|0);break}case 33:if(c[q>>2]|0){jz(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[p>>2]|0);break a}else{c[m>>2]=ky(c[r>>2]|0)|0;jz(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[m>>2]|0);oy(c[r>>2]|0,c[m>>2]|0);break a}default:t=14}while(0);if((t|0)==7)if(az(c[(c[o>>2]|0)+12>>2]|0)|0)t=14;else{c[i>>2]=cz(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,g)|0;c[j>>2]=cz(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,h)|0;dz(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[s>>2]|0,c[i>>2]|0,c[j>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}do if((t|0)==14){if(Nx(c[o>>2]|0)|0){my(c[r>>2]|0,c[p>>2]|0)|0;break}if(!(pz(c[o>>2]|0)|0)){c[i>>2]=cz(c[n>>2]|0,c[o>>2]|0,g)|0;Ru(c[r>>2]|0,22,c[i>>2]|0,c[p>>2]|0,(c[q>>2]|0)!=0&1)|0}}while(0);Qv(c[n>>2]|0,c[g>>2]|0);Qv(c[n>>2]|0,c[h>>2]|0);l=u;return}function oz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;o=v+48|0;p=v+44|0;q=v+40|0;r=v+36|0;s=v+32|0;t=v+28|0;g=v+24|0;h=v+20|0;i=v+16|0;j=v+12|0;k=v+8|0;m=v+4|0;n=v;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=c[(c[o>>2]|0)+8>>2];c[t>>2]=0;c[g>>2]=0;c[h>>2]=0;if((c[s>>2]|0)==0|(c[p>>2]|0)==0){l=v;return}c[t>>2]=d[c[p>>2]>>0];switch(c[t>>2]|0){case 28:{c[k>>2]=ky(c[s>>2]|0)|0;nz(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[k>>2]|0,c[r>>2]^16);Ky(c[o>>2]|0);oz(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0);oy(c[s>>2]|0,c[k>>2]|0);Iy(c[o>>2]|0);break}case 27:{oz(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[q>>2]|0,c[r>>2]|0);Ky(c[o>>2]|0);oz(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0);Iy(c[o>>2]|0);break}case 19:{nz(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[q>>2]|0,c[r>>2]|0);break}case 148:case 29:{c[t>>2]=(c[t>>2]|0)==29?37:36;c[r>>2]=128;u=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{u=7;break}case 35:case 34:{c[i>>2]=cz(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,g)|0;Qu(c[s>>2]|0,c[t>>2]|0,c[i>>2]|0,c[q>>2]|0)|0;break}case 32:{kz(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,135,c[r>>2]|0);break}case 33:{c[m>>2]=ky(c[s>>2]|0)|0;c[n>>2]=c[r>>2]|0?c[q>>2]|0:c[m>>2]|0;jz(c[o>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0);my(c[s>>2]|0,c[q>>2]|0)|0;oy(c[s>>2]|0,c[m>>2]|0);break}default:u=12}if((u|0)==7)if(az(c[(c[p>>2]|0)+12>>2]|0)|0)u=12;else{c[i>>2]=cz(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,g)|0;c[j>>2]=cz(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,h)|0;dz(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[t>>2]|0,c[i>>2]|0,c[j>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}do if((u|0)==12){if(pz(c[p>>2]|0)|0){my(c[s>>2]|0,c[q>>2]|0)|0;break}if(!(Nx(c[p>>2]|0)|0)){c[i>>2]=cz(c[o>>2]|0,c[p>>2]|0,g)|0;Ru(c[s>>2]|0,21,c[i>>2]|0,c[q>>2]|0,(c[r>>2]|0)!=0&1)|0}}while(0);Qv(c[o>>2]|0,c[g>>2]|0);Qv(c[o>>2]|0,c[h>>2]|0);l=v;return}function pz(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1|0))if(Tw(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);l=f;return c[b>>2]|0}function qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;e=i+16|0;d=i+12|0;f=i+8|0;g=i+4|0;c[d>>2]=a;c[f>>2]=b;c[g>>2]=rx(c[(c[f>>2]|0)+12>>2]|0)|0;a=c[g>>2]|0;if(c[(c[f>>2]|0)+4>>2]&2048|0){if((a|0)!=(c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0)){hz(c[d>>2]|0,c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0,c[g>>2]|0);c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}}else if((a|0)!=1){a=c[d>>2]|0;if(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]&2048|0)hz(a,c[g>>2]|0,1);else sl(a,29254,h);c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}function rz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+28|0;e=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;g=o+32|0;c[f>>2]=b;c[e>>2]=d;c[h>>2]=c[(c[e>>2]|0)+12>>2];c[i>>2]=rx(c[h>>2]|0)|0;if(c[(c[e>>2]|0)+4>>2]&2048|0)b=c[(c[e>>2]|0)+20>>2]|0;else b=0;c[j>>2]=b;e=(c[i>>2]|0)+1|0;c[k>>2]=_l(c[c[f>>2]>>2]|0,e,((e|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;l=o;return n|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[i>>2]|0))break;c[n>>2]=uz(c[h>>2]|0,c[m>>2]|0)|0;a[g>>0]=qw(c[n>>2]|0)|0;if(c[j>>2]|0){b=wz(c[(c[(c[c[j>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2]|0,a[g>>0]|0)|0;d=(c[k>>2]|0)+(c[m>>2]|0)|0}else{b=a[g>>0]|0;d=(c[k>>2]|0)+(c[m>>2]|0)|0}a[d>>0]=b;c[m>>2]=(c[m>>2]|0)+1}a[(c[k>>2]|0)+(c[i>>2]|0)>>0]=0;n=c[k>>2]|0;l=o;return n|0}function sz(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+160|0;W=X+16|0;R=X+140|0;S=X+136|0;T=X+132|0;U=X+128|0;V=X+124|0;k=X+120|0;m=X+116|0;n=X+112|0;o=X+108|0;p=X+104|0;q=X+100|0;r=X+96|0;s=X+92|0;t=X+88|0;u=X+144|0;v=X+84|0;w=X+80|0;x=X+76|0;y=X+72|0;z=X+68|0;A=X+64|0;B=X+60|0;C=X+56|0;E=X+147|0;F=X+146|0;G=X+8|0;H=X;I=X+52|0;J=X+48|0;K=X+44|0;L=X+40|0;M=X+36|0;N=X+32|0;O=X+28|0;P=X+24|0;Q=X+20|0;c[R>>2]=f;c[S>>2]=g;c[T>>2]=h;c[U>>2]=i;c[V>>2]=j;c[m>>2]=0;i=(c[R>>2]|0)+40|0;j=c[i>>2]|0;c[i>>2]=j+1;c[n>>2]=j;c[p>>2]=Lu(c[R>>2]|0)|0;c[o>>2]=(c[T>>2]&4|0)!=0&1;if(c[U>>2]|0?c[(c[S>>2]|0)+4>>2]&2048|0:0){c[r>>2]=c[c[(c[S>>2]|0)+20>>2]>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[r>>2]>>2]|0))break;if(tz(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==(c[c[r>>2]>>2]|0))c[U>>2]=0}a:do if((c[(c[R>>2]|0)+36>>2]|0)==0?(j=vz(c[S>>2]|0)|0,c[k>>2]=j,j|0):0){c[s>>2]=c[c[R>>2]>>2];c[v>>2]=c[c[k>>2]>>2];c[w>>2]=c[c[v>>2]>>2];c[t>>2]=c[(c[(c[k>>2]|0)+28>>2]|0)+8+16>>2];b[u>>1]=Hu(c[s>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0;dv(c[R>>2]|0,b[u>>1]|0);gy(c[R>>2]|0,b[u>>1]|0,c[(c[t>>2]|0)+28>>2]|0,0,c[c[t>>2]>>2]|0);if((c[w>>2]|0)==1?(b[(c[c[(c[v>>2]|0)+4>>2]>>2]|0)+32>>1]|0)<0:0){c[x>>2]=Nu(c[p>>2]|0,20)|0;hy(c[R>>2]|0,c[n>>2]|0,b[u>>1]|0,c[t>>2]|0,104);c[m>>2]=1;ny(c[p>>2]|0,c[x>>2]|0);break}c[z>>2]=1;c[A>>2]=0;while(1){if(!((c[A>>2]|0)<(c[w>>2]|0)?(c[z>>2]|0)!=0:0))break;c[B>>2]=uz(c[(c[S>>2]|0)+12>>2]|0,c[A>>2]|0)|0;c[C>>2]=b[(c[(c[(c[v>>2]|0)+4>>2]|0)+((c[A>>2]|0)*20|0)>>2]|0)+32>>1];a[E>>0]=zw(c[t>>2]|0,c[C>>2]|0)|0;a[F>>0]=wz(c[B>>2]|0,a[E>>0]|0)|0;if(((a[F>>0]|0)+-65|0)>>>0>=2)c[z>>2]=(a[E>>0]|0)>=67&1;c[A>>2]=(c[A>>2]|0)+1}if(c[z>>2]|0){c[y>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[y>>2]|0?(c[m>>2]|0)==0:0))break a;do if((e[(c[y>>2]|0)+52>>1]|0)>=(c[w>>2]|0)?(e[(c[y>>2]|0)+52>>1]|0)<63:0){if(c[o>>2]|0){if((e[(c[y>>2]|0)+50>>1]|0)>(c[w>>2]|0))break;if((e[(c[y>>2]|0)+52>>1]|0)>(c[w>>2]|0)?(d[(c[y>>2]|0)+54>>0]|0)==0:0)break}j=G;c[j>>2]=0;c[j+4>>2]=0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[w>>2]|0))break;c[I>>2]=uz(c[(c[S>>2]|0)+12>>2]|0,c[A>>2]|0)|0;c[J>>2]=c[(c[(c[v>>2]|0)+4>>2]|0)+((c[A>>2]|0)*20|0)>>2];c[K>>2]=xz(c[R>>2]|0,c[I>>2]|0,c[J>>2]|0)|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[w>>2]|0))break;if((b[(c[(c[y>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0)==(b[(c[J>>2]|0)+32>>1]|0)){if(!(c[K>>2]|0))break;if(!(bh(c[c[K>>2]>>2]|0,c[(c[(c[y>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2]|0)|0))break}c[L>>2]=(c[L>>2]|0)+1}if((c[L>>2]|0)==(c[w>>2]|0))break;j=j0(1,0,c[L>>2]|0)|0;i=H;c[i>>2]=j;c[i+4>>2]=D;i=H;j=G;if(c[i>>2]&c[j>>2]|0?1:(c[i+4>>2]&c[j+4>>2]|0)!=0)break;F=H;E=G;i=c[E+4>>2]|c[F+4>>2];j=G;c[j>>2]=c[E>>2]|c[F>>2];c[j+4>>2]=i;if(c[V>>2]|0)c[(c[V>>2]|0)+(c[A>>2]<<2)>>2]=c[L>>2];c[A>>2]=(c[A>>2]|0)+1}j=G;F=c[j>>2]|0;j=c[j+4>>2]|0;i=j0(1,0,c[w>>2]|0)|0;i=Z$(i|0,D|0,1,0)|0;if((F|0)==(i|0)&(j|0)==(D|0)){c[M>>2]=Nu(c[p>>2]|0,20)|0;i=c[p>>2]|0;j=c[s>>2]|0;c[W>>2]=c[c[y>>2]>>2];Uu(i,162,0,0,0,Wj(j,30460,W)|0,-1)|0;Ru(c[p>>2]|0,104,c[n>>2]|0,c[(c[y>>2]|0)+44>>2]|0,b[u>>1]|0)|0;iy(c[R>>2]|0,c[y>>2]|0);c[m>>2]=3+(d[c[(c[y>>2]|0)+28>>2]>>0]|0);if(c[U>>2]|0?(i=(c[R>>2]|0)+44|0,j=(c[i>>2]|0)+1|0,c[i>>2]=j,c[c[U>>2]>>2]=j,(c[w>>2]|0)==1):0)yz(c[p>>2]|0,c[n>>2]|0,c[c[U>>2]>>2]|0);ny(c[p>>2]|0,c[M>>2]|0)}}while(0);c[y>>2]=c[(c[y>>2]|0)+20>>2]}}}while(0);do if(((c[m>>2]|0)==0?c[T>>2]&1|0:0)?(c[(c[S>>2]|0)+4>>2]&2048|0)==0:0){if(zz(c[S>>2]|0)|0?(c[c[(c[S>>2]|0)+20>>2]>>2]|0)>2:0)break;c[m>>2]=5}while(0);if(!(c[m>>2]|0)){c[N>>2]=c[(c[R>>2]|0)+136>>2];c[O>>2]=0;c[m>>2]=2;if(c[T>>2]&4|0){c[(c[R>>2]|0)+136>>2]=0;if((b[(c[(c[S>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[S>>2]|0)+4>>2]&2048|0)==0:0)c[m>>2]=1}else if(c[U>>2]|0){T=(c[R>>2]|0)+44|0;W=(c[T>>2]|0)+1|0;c[T>>2]=W;c[O>>2]=W;c[c[U>>2]>>2]=W}iz(c[R>>2]|0,c[S>>2]|0,c[O>>2]|0,(c[m>>2]|0)==1&1)|0;c[(c[R>>2]|0)+136>>2]=c[N>>2]}else c[(c[S>>2]|0)+28>>2]=c[n>>2];if(!((c[V>>2]|0)!=0&(c[m>>2]|0)!=3&(c[m>>2]|0)!=4)){W=c[m>>2]|0;l=X;return W|0}c[Q>>2]=rx(c[(c[S>>2]|0)+12>>2]|0)|0;c[P>>2]=0;while(1){if((c[P>>2]|0)>=(c[Q>>2]|0))break;c[(c[V>>2]|0)+(c[P>>2]<<2)>>2]=c[P>>2];c[P>>2]=(c[P>>2]|0)+1}W=c[m>>2]|0;l=X;return W|0}function tz(e){e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+4|0;g=j;h=j+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 133:case 132:case 97:case 134:{c[i>>2]=0;i=c[i>>2]|0;l=j;return i|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576|0))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else e=0;else e=1;c[i>>2]=e&1;i=c[i>>2]|0;l=j;return i|0}default:{c[i>>2]=1;i=c[i>>2]|0;l=j;return i|0}}return 0}function uz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=(az(c[f>>2]|0)|0)!=0;a=c[f>>2]|0;if(!b){c[e>>2]=a;g=c[e>>2]|0;l=h;return g|0}if((d[a>>0]|0|0)!=119?(d[(c[f>>2]|0)+38>>0]|0|0)!=119:0){c[e>>2]=c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;l=h;return g|0}c[e>>2]=c[(c[(c[c[(c[f>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;l=h;return g|0}function vz(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m+28|0;b=m+24|0;k=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;c[b>>2]=a;do if(c[(c[b>>2]|0)+4>>2]&2048|0){if(c[(c[b>>2]|0)+4>>2]&32|0){c[j>>2]=0;break}c[k>>2]=c[(c[b>>2]|0)+20>>2];if(c[(c[k>>2]|0)+48>>2]|0){c[j>>2]=0;break}if(c[(c[k>>2]|0)+8>>2]&9|0){c[j>>2]=0;break}if(c[(c[k>>2]|0)+56>>2]|0){c[j>>2]=0;break}if(c[(c[k>>2]|0)+32>>2]|0){c[j>>2]=0;break}c[e>>2]=c[(c[k>>2]|0)+28>>2];if((c[c[e>>2]>>2]|0)!=1){c[j>>2]=0;break}if(c[(c[e>>2]|0)+8+20>>2]|0){c[j>>2]=0;break}c[g>>2]=c[(c[e>>2]|0)+8+16>>2];if((d[(c[g>>2]|0)+42>>0]|0)&16|0){c[j>>2]=0;break}c[f>>2]=c[c[k>>2]>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[f>>2]>>2]|0)){a=24;break}c[i>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2];if((d[c[i>>2]>>0]|0|0)!=152){a=22;break}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==22){c[j>>2]=0;break}else if((a|0)==24){c[j>>2]=c[k>>2];break}}else c[j>>2]=0;while(0);l=m;return c[j>>2]|0}function wz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+6|0;i=h;f=h+5|0;g=h+4|0;c[i>>2]=b;a[f>>0]=d;a[g>>0]=qw(c[i>>2]|0)|0;if(a[g>>0]|0?a[f>>0]|0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;i=a[e>>0]|0;l=h;return i|0}a[e>>0]=67;i=a[e>>0]|0;l=h;return i|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);i=a[e>>0]|0;l=h;return i|0}else{a[e>>0]=65;i=a[e>>0]|0;l=h;return i|0}return 0}function xz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256|0){c[h>>2]=rw(c[e>>2]|0,c[f>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}if(c[g>>2]|0?c[(c[g>>2]|0)+4>>2]&256|0:0){c[h>>2]=rw(c[e>>2]|0,c[g>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}c[h>>2]=rw(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}c[h>>2]=rw(c[e>>2]|0,c[g>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}function yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;g=e+12|0;i=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[i>>2]=b;c[h>>2]=d;Qu(c[g>>2]|0,76,0,c[h>>2]|0)|0;c[f>>2]=ey(c[g>>2]|0,57,c[i>>2]|0)|0;Ru(c[g>>2]|0,96,c[i>>2]|0,0,c[h>>2]|0)|0;jy(c[g>>2]|0,-128);ny(c[g>>2]|0,c[f>>2]|0);l=e;return}function zz(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=ez(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];l=d;return c[b>>2]|0}function Az(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+8|0;i=f+4|0;h=f;c[g>>2]=b;c[i>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[i>>2];c[(c[g>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;l=f;return}function Bz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+16|0;o=n+12|0;i=n+8|0;j=n+20|0;k=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[i>>2]=f;a[j>>0]=g;c[k>>2]=c[(c[h>>2]|0)+80>>2];c[o>>2]=Ww(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[k>>2]=Et(c[h>>2]|0,c[k>>2]|0,c[o>>2]|0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=m;l=n;return}c[m>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(((c[c[k>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[i>>2];m=(c[m>>2]|0)+13|0;a[m>>0]=a[m>>0]&-5|((d[j>>0]|0)&1)<<2&255;m=c[k>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=m;l=n;return}function Cz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=l;l=l+48|0;i=h+36|0;k=h+32|0;j=h+28|0;g=h;c[i>>2]=b;c[k>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[k>>2];c[g+4>>2]=204;c[g+8>>2]=205;c[g+24>>2]=c[j>>2];Kw(g,c[i>>2]|0)|0;l=h;return d[g+20>>0]|0|0}function Dz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?c[(c[h>>2]|0)+4>>2]&1|0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else i=4;a:do if((i|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 55:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);l=j;return c[f>>2]|0}function Ez(b,d){b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;l=e;return 2}function Fz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;i=g+8|0;j=g+4|0;h=g;f=g+12|0;c[i>>2]=b;c[j>>2]=d;c[h>>2]=e;a[f>>0]=qw(c[j>>2]|0)|0;e=(wz(c[i>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=e|c[h>>2]&255;l=g;return a[f>>0]|0}function Gz(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Cz(c[d>>2]|0,2,0)|0;l=b;return a|0}function Hz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((d[c[f>>2]>>0]|0|0)!=119){g=c[g>>2]|0;l=h;return g|0}c[g>>2]=iz(c[e>>2]|0,c[f>>2]|0,0,0)|0;g=c[g>>2]|0;l=h;return g|0}function Iz(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;p=s+24|0;q=s+20|0;j=s+16|0;r=s+12|0;k=s+8|0;m=s+4|0;n=s;o=s+28|0;c[q>>2]=b;c[j>>2]=e;c[r>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;a[o>>0]=a[c[j>>2]>>0]|0;if((d[o>>0]|0|0)==157){q=uz(c[j>>2]|0,c[r>>2]|0)|0;c[c[m>>2]>>2]=q;c[p>>2]=(c[(c[j>>2]|0)+28>>2]|0)+(c[r>>2]|0);r=c[p>>2]|0;l=s;return r|0}b=(c[j>>2]|0)+20|0;if((d[o>>0]|0|0)==119){c[c[m>>2]>>2]=c[(c[(c[c[b>>2]>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];c[p>>2]=(c[k>>2]|0)+(c[r>>2]|0);r=c[p>>2]|0;l=s;return r|0}else{c[c[m>>2]>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];c[p>>2]=cz(c[q>>2]|0,c[c[m>>2]>>2]|0,c[n>>2]|0)|0;r=c[p>>2]|0;l=s;return r|0}return 0}function Jz(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;p=s+28|0;q=s+24|0;r=s+20|0;j=s+16|0;k=s+12|0;m=s+8|0;n=s+4|0;o=s;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=Ed(Gs(c[p>>2]|0)|0,8,0)|0;if(c[o>>2]|0){i=c[o>>2]|0;h=c[m>>2]|0;a[i>>0]=a[h>>0]|0;a[i+1>>0]=a[h+1>>0]|0;a[i+2>>0]=a[h+2>>0]|0;a[i+3>>0]=a[h+3>>0]|0;a[i+4>>0]=a[h+4>>0]|0;a[i+5>>0]=a[h+5>>0]|0;a[i+6>>0]=a[h+6>>0]|0;a[i+7>>0]=a[h+7>>0]|0}r=Uu(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0)|0;l=s;return r|0}function Kz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m+24|0;f=m+20|0;g=m+16|0;h=m;i=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;e=h;c[e>>2]=0;c[e+4>>2]=0;c[i>>2]=2;while(1){b=c[i>>2]|0;if((a[(c[f>>2]|0)+(c[i>>2]|0)>>0]|0)!=48)break;c[i>>2]=b+1}c[j>>2]=b;while(1){if(!(d[20063+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;e=h;e=r0(c[e>>2]|0,c[e+4>>2]|0,16,0)|0;b=D;b=_$(e|0,b|0,(hg(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;e=h;c[e>>2]=b;c[e+4>>2]=D;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))b=((c[j>>2]|0)-(c[i>>2]|0)|0)<=16;else b=0;c[k>>2]=b?0:1;k=c[k>>2]|0;l=m;return k|0}while(0);i=c[f>>2]|0;j=c[g>>2]|0;c[k>>2]=Mi(i,j,md(c[f>>2]|0)|0,1)|0;k=c[k>>2]|0;l=m;return k|0}function Lz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[i>>2]=(c[f>>2]|0)+152;while(1){if((c[h>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;if((c[(c[i>>2]|0)+12>>2]|0)==(c[g>>2]|0))a[(c[i>>2]|0)+6>>0]=0;c[h>>2]=(c[h>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+20}l=j;return}function Mz(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;m=s+28|0;n=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;r=s+8|0;j=s+4|0;k=s;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;if((e[(c[c[m>>2]>>2]|0)+64>>1]|0)&2|0){l=s;return}if((d[(c[m>>2]|0)+25>>0]|0|0)>=10){c[r>>2]=2147483647;c[j>>2]=-1;c[q>>2]=0;c[k>>2]=(c[m>>2]|0)+152;while(1){if((c[q>>2]|0)>=10)break;if((c[(c[k>>2]|0)+16>>2]|0)<(c[r>>2]|0)){c[j>>2]=c[q>>2];c[r>>2]=c[(c[k>>2]|0)+16>>2]}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+20}c[k>>2]=(c[m>>2]|0)+152+((c[j>>2]|0)*20|0)}else{q=(c[m>>2]|0)+152|0;i=(c[m>>2]|0)+25|0;r=a[i>>0]|0;a[i>>0]=r+1<<24>>24;c[k>>2]=q+((r&255)*20|0)}c[(c[k>>2]|0)+8>>2]=c[(c[m>>2]|0)+64>>2];c[c[k>>2]>>2]=c[n>>2];b[(c[k>>2]|0)+4>>1]=c[o>>2];c[(c[k>>2]|0)+12>>2]=c[p>>2];a[(c[k>>2]|0)+6>>0]=0;q=(c[m>>2]|0)+68|0;r=c[q>>2]|0;c[q>>2]=r+1;c[(c[k>>2]|0)+16>>2]=r;l=s;return}function Nz(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){a=7;break}c[i>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(bh(c[i>>2]|0,c[f>>2]|0)|0):0){a=5;break}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==5){c[j>>2]=1;j=c[j>>2]|0;l=k;return j|0}else if((a|0)==7){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}return 0}function Oz(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;v=y+76|0;w=y+72|0;x=y+68|0;k=y+64|0;m=y+60|0;n=y+56|0;o=y+52|0;p=y+48|0;q=y+16|0;r=y+12|0;s=y+8|0;t=y+4|0;u=y;c[v>>2]=b;c[w>>2]=e;c[x>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=j;c[s>>2]=c[c[v>>2]>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[v>>2];j=Pz(q,c[m>>2]|0)|0;c[p>>2]=j;do if((0==(j|0)?(j=Pz(q,c[n>>2]|0)|0,c[p>>2]=j,0==(j|0)):0)?(j=Pz(q,c[o>>2]|0)|0,c[p>>2]=j,0==(j|0)):0){if(c[k>>2]|0){if((d[c[k>>2]>>0]|0)==97)c[u>>2]=c[(c[k>>2]|0)+8>>2];else c[u>>2]=0;c[p>>2]=Iu(c[v>>2]|0,c[w>>2]|0,c[u>>2]|0,0,0)|0;if(c[p>>2]|0)break}c[r>>2]=Lu(c[v>>2]|0)|0;c[t>>2]=My(c[v>>2]|0,4)|0;Wy(c[v>>2]|0,c[m>>2]|0,c[t>>2]|0);Wy(c[v>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0);Wy(c[v>>2]|0,c[o>>2]|0,(c[t>>2]|0)+2|0);if(c[r>>2]|0){Uu(c[r>>2]|0,89,0,(c[t>>2]|0)+3-(a[c[x>>2]>>0]|0)|0,(c[t>>2]|0)+3|0,c[x>>2]|0,-5)|0;jy(c[r>>2]|0,a[c[x>>2]>>0]|0);ey(c[r>>2]|0,150,(c[w>>2]|0)==24&1)|0}}while(0);Ok(c[s>>2]|0,c[m>>2]|0);Ok(c[s>>2]|0,c[n>>2]|0);Ok(c[s>>2]|0,c[o>>2]|0);l=y;return}function Pz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=55){c[h>>2]=Ow(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);l=i;return c[h>>2]|0}function Qz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+192|0;p=q+24|0;o=q+16|0;n=q+8|0;m=q;g=q+52|0;r=q+44|0;h=q+40|0;i=q+36|0;j=q+32|0;k=q+28|0;f=q+56|0;c[g>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[h>>2]=Rh(c[c[r>>2]>>2]|0)|0;c[i>>2]=Ph(c[g>>2]|0)|0;c[k>>2]=0;if(!(c[h>>2]|0))c[h>>2]=55752;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[i>>2]|0)+20>>2]|0))break;c[k>>2]=(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4);if(c[(c[k>>2]|0)+4>>2]|0?(bh(c[c[k>>2]>>2]|0,c[h>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}do if((c[j>>2]|0)>=(c[(c[i>>2]|0)+20>>2]|0)){c[m>>2]=c[h>>2];ef(128,f,30625,m)|0}else{if((c[j>>2]|0)<2){c[n>>2]=c[h>>2];ef(128,f,30646,n)|0;break}if(!(a[(c[i>>2]|0)+67>>0]|0)){ef(128,f,30672,o)|0;break}if((nl(c[(c[k>>2]|0)+4>>2]|0)|0)==0?(Dr(c[(c[k>>2]|0)+4>>2]|0)|0)==0:0){ur(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=0;c[(c[k>>2]|0)+12>>2]=0;Pq(c[i>>2]|0);l=q;return}c[p>>2]=c[h>>2];ef(128,f,30714,p)|0}while(0);Th(c[g>>2]|0,f,-1);l=q;return}function Rz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+128|0;B=E+48|0;A=E+40|0;D=E+32|0;C=E+24|0;k=E+16|0;h=E+8|0;g=E;w=E+116|0;F=E+108|0;j=E+104|0;x=E+100|0;y=E+96|0;z=E+92|0;n=E+88|0;o=E+84|0;p=E+80|0;q=E+76|0;r=E+72|0;s=E+68|0;t=E+64|0;i=E+60|0;u=E+56|0;v=E+52|0;c[w>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[x>>2]=0;c[y>>2]=Ph(c[w>>2]|0)|0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[n>>2]=Rh(c[c[F>>2]>>2]|0)|0;c[z>>2]=Rh(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=55752;if(!(c[z>>2]|0))c[z>>2]=55752;b=c[y>>2]|0;do if((c[(c[y>>2]|0)+20>>2]|0)<((c[(c[y>>2]|0)+96+28>>2]|0)+2|0)){if(!(a[b+67>>0]|0)){c[s>>2]=Wj(c[y>>2]|0,30787,h)|0;break}c[j>>2]=0;while(1){e=c[(c[y>>2]|0)+16>>2]|0;if((c[j>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;c[i>>2]=c[e+(c[j>>2]<<4)>>2];if(!(bh(c[i>>2]|0,c[z>>2]|0)|0)){m=12;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==12){F=c[y>>2]|0;c[k>>2]=c[z>>2];c[s>>2]=Wj(F,30829,k)|0;break}b=c[y>>2]|0;do if((e|0)==((c[y>>2]|0)+392|0)){c[r>>2]=Ed(b,48,0)|0;if(!(c[r>>2]|0)){l=E;return}else{F=c[r>>2]|0;m=c[(c[y>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[r>>2]=de(b,c[(c[y>>2]|0)+16>>2]|0,(c[(c[y>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[r>>2]|0)){l=E;return}}while(0);c[(c[y>>2]|0)+16>>2]=c[r>>2];c[r>>2]=(c[(c[y>>2]|0)+16>>2]|0)+(c[(c[y>>2]|0)+20>>2]<<4);F=c[r>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[y>>2]|0)+48>>2];c[x>>2]=Sz(c[(c[c[y>>2]>>2]|0)+16>>2]|0,c[n>>2]|0,q,t,o,p)|0;if(c[x>>2]|0){if((c[x>>2]|0)==7)Od(c[y>>2]|0);Th(c[w>>2]|0,c[p>>2]|0,-1);_d(c[p>>2]|0);l=E;return}c[q>>2]=c[q>>2]|256;c[x>>2]=rl(c[t>>2]|0,c[o>>2]|0,c[y>>2]|0,(c[r>>2]|0)+4|0,0,c[q>>2]|0)|0;_d(c[o>>2]|0);F=(c[y>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[x>>2]|0)!=19){if(!(c[x>>2]|0)){F=Tz(c[y>>2]|0,c[(c[r>>2]|0)+4>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=F;if(c[(c[r>>2]|0)+12>>2]|0){if(d[(c[(c[r>>2]|0)+12>>2]|0)+76>>0]|0?(d[(c[(c[r>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[y>>2]|0)+66>>0]|0):0){c[s>>2]=Wj(c[y>>2]|0,26947,D)|0;c[x>>2]=1}}else c[x>>2]=7;el(c[(c[r>>2]|0)+4>>2]|0);c[u>>2]=qk(c[(c[r>>2]|0)+4>>2]|0)|0;Uz(c[u>>2]|0,d[(c[y>>2]|0)+71>>0]|0)|0;F=c[(c[r>>2]|0)+4>>2]|0;Vz(F,Vz(c[(c[(c[y>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;Wz(c[(c[r>>2]|0)+4>>2]|0,3|c[(c[y>>2]|0)+24>>2]&56)|0;bl(c[(c[r>>2]|0)+4>>2]|0)}}else{c[x>>2]=1;c[s>>2]=Wj(c[y>>2]|0,30859,C)|0}a[(c[r>>2]|0)+8>>0]=3;F=Xo(c[y>>2]|0,c[z>>2]|0)|0;c[c[r>>2]>>2]=F;if((c[x>>2]|0)==0?(c[c[r>>2]>>2]|0)==0:0)c[x>>2]=7;if(!(c[x>>2]|0)){pk(c[y>>2]|0);c[x>>2]=lv(c[y>>2]|0,s)|0;rk(c[y>>2]|0)}if(!(c[x>>2]|0)){l=E;return}c[v>>2]=(c[(c[y>>2]|0)+20>>2]|0)-1;if(c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]|0){ur(c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]|0)|0;c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]=0;c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+12>>2]=0}Np(c[y>>2]|0);c[(c[y>>2]|0)+20>>2]=c[v>>2];if((c[x>>2]|0)==7|(c[x>>2]|0)==3082){Od(c[y>>2]|0);Xd(c[y>>2]|0,c[s>>2]|0);c[s>>2]=Wj(c[y>>2]|0,22481,A)|0;break}if(!(c[s>>2]|0)){F=c[y>>2]|0;c[B>>2]=c[n>>2];c[s>>2]=Wj(F,30888,B)|0}}else{c[g>>2]=c[(c[y>>2]|0)+96+28>>2];c[s>>2]=Wj(b,30750,g)|0}while(0);if(c[s>>2]|0){Th(c[w>>2]|0,c[s>>2]|0,-1);Xd(c[y>>2]|0,c[s>>2]|0)}if(!(c[x>>2]|0)){l=E;return}Wi(c[w>>2]|0,c[x>>2]|0);l=E;return}function Sz(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=l;l=l+160|0;Q=S+32|0;P=S+24|0;O=S+16|0;N=S+8|0;K=S+140|0;T=S+136|0;L=S+132|0;M=S+128|0;m=S+124|0;n=S+120|0;o=S+116|0;p=S+112|0;q=S+108|0;r=S+104|0;s=S+100|0;t=S+144|0;j=S+96|0;u=S+92|0;v=S+88|0;w=S+84|0;x=S+80|0;k=S;y=S+76|0;z=S+72|0;A=S+68|0;B=S+64|0;C=S+60|0;E=S+56|0;F=S+52|0;G=S+48|0;H=S+44|0;I=S+40|0;J=S+36|0;c[T>>2]=b;c[L>>2]=e;c[M>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=i;c[p>>2]=0;c[q>>2]=c[c[M>>2]>>2];c[r>>2]=c[T>>2];c[j>>2]=md(c[L>>2]|0)|0;a:do if(((c[q>>2]&64|0)!=0|(c[5]|0)!=0)&(c[j>>2]|0)>=5?(H_(c[L>>2]|0,30916,5)|0)==0:0){c[x>>2]=0;i=(c[j>>2]|0)+2|0;T=k;c[T>>2]=i;c[T+4>>2]=((i|0)<0)<<31>>31;c[q>>2]=c[q>>2]|64;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[j>>2]|0))break;i=(a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)==38&1;T=k;i=_$(c[T>>2]|0,c[T+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=i;c[T+4>>2]=D;c[w>>2]=(c[w>>2]|0)+1}T=k;c[s>>2]=of(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[s>>2]|0)){c[K>>2]=7;T=c[K>>2]|0;l=S;return T|0}c[w>>2]=5;do if((a[(c[L>>2]|0)+5>>0]|0)==47?(a[(c[L>>2]|0)+6>>0]|0)==47:0){c[w>>2]=7;while(1){if(a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)e=(a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)!=47;else e=0;b=c[w>>2]|0;if(!e)break;c[w>>2]=b+1}if((b|0)!=7){if((c[w>>2]|0)==16?(H_(30922,(c[L>>2]|0)+7|0,9)|0)==0:0)break;T=(c[L>>2]|0)+7|0;c[N>>2]=(c[w>>2]|0)-7;c[N+4>>2]=T;T=nf(30932,N)|0;c[c[o>>2]>>2]=T;c[p>>2]=1;break a}}while(0);c[v>>2]=0;b:while(1){T=a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[w>>2]=(c[w>>2]|0)+1;do if(((a[t>>0]|0)==37?d[20063+(d[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)>>0]&8|0:0)?d[20063+(d[(c[L>>2]|0)+((c[w>>2]|0)+1)>>0]|0)>>0]&8|0:0){T=c[L>>2]|0;N=c[w>>2]|0;c[w>>2]=N+1;c[y>>2]=((hg(a[T+N>>0]|0)|0)&255)<<4;N=c[L>>2]|0;T=c[w>>2]|0;c[w>>2]=T+1;T=(hg(a[N+T>>0]|0)|0)&255;c[y>>2]=(c[y>>2]|0)+T;if(c[y>>2]|0){a[t>>0]=c[y>>2];break}while(1){T=a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[v>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[v>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[v>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[w>>2]=(c[w>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[v>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[s>>2]|0)+((c[x>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0))continue b;if((a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)==35)continue b;if((a[(c[L>>2]|0)+((c[w>>2]|0)-1)>>0]|0)==38)continue b;c[w>>2]=(c[w>>2]|0)+1}else{if((a[t>>0]|0)==38){N=c[s>>2]|0;T=c[x>>2]|0;c[x>>2]=T+1;a[N+T>>0]=0}else c[v>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[v>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[v>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[v>>2]=1}while(0);i=a[t>>0]|0;N=c[s>>2]|0;T=c[x>>2]|0;c[x>>2]=T+1;a[N+T>>0]=i}if((c[v>>2]|0)==1){N=c[s>>2]|0;T=c[x>>2]|0;c[x>>2]=T+1;a[N+T>>0]=0}T=c[s>>2]|0;N=c[x>>2]|0;c[x>>2]=N+1;a[T+N>>0]=0;N=c[s>>2]|0;T=c[x>>2]|0;c[x>>2]=T+1;a[N+T>>0]=0;T=c[s>>2]|0;c[u>>2]=T+((md(c[s>>2]|0)|0)+1);while(1){if(!(a[c[u>>2]>>0]|0)){R=84;break a}c[z>>2]=md(c[u>>2]|0)|0;c[A>>2]=(c[u>>2]|0)+((c[z>>2]|0)+1);c[B>>2]=md(c[A>>2]|0)|0;if((c[z>>2]|0)==3?(H_(30960,c[u>>2]|0,3)|0)==0:0)c[r>>2]=c[A>>2];else{c[C>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;if((c[z>>2]|0)==5?(H_(30964,c[u>>2]|0,5)|0)==0:0){c[F>>2]=393216;c[C>>2]=4432;c[G>>2]=c[F>>2];c[E>>2]=30964}if((c[z>>2]|0)==4?(H_(30970,c[u>>2]|0,4)|0)==0:0){c[F>>2]=135;c[C>>2]=4456;c[G>>2]=c[F>>2]&c[q>>2];c[E>>2]=21047}if(c[C>>2]|0){c[I>>2]=0;c[H>>2]=0;while(1){if(!(c[(c[C>>2]|0)+(c[H>>2]<<3)>>2]|0))break;c[J>>2]=c[(c[C>>2]|0)+(c[H>>2]<<3)>>2];T=c[B>>2]|0;if((T|0)==(md(c[J>>2]|0)|0)?0==(H_(c[A>>2]|0,c[J>>2]|0,c[B>>2]|0)|0):0){R=73;break}c[H>>2]=(c[H>>2]|0)+1}if((R|0)==73){R=0;c[I>>2]=c[(c[C>>2]|0)+(c[H>>2]<<3)+4>>2]}if(!(c[I>>2]|0)){R=76;break}if((c[I>>2]&-129|0)>(c[G>>2]|0)){R=78;break}c[q>>2]=c[q>>2]&~c[F>>2]|c[I>>2]}}c[u>>2]=(c[A>>2]|0)+((c[B>>2]|0)+1)}if((R|0)==76){T=c[A>>2]|0;c[O>>2]=c[E>>2];c[O+4>>2]=T;T=nf(30975,O)|0;c[c[o>>2]>>2]=T;c[p>>2]=1;break}else if((R|0)==78){T=c[A>>2]|0;c[P>>2]=c[E>>2];c[P+4>>2]=T;T=nf(30995,P)|0;c[c[o>>2]>>2]=T;c[p>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[j>>2]|0)+2|0;c[s>>2]=of(T,((T|0)<0)<<31>>31)|0;if(c[s>>2]|0){h0(c[s>>2]|0,c[L>>2]|0,c[j>>2]|0)|0;a[(c[s>>2]|0)+(c[j>>2]|0)>>0]=0;a[(c[s>>2]|0)+((c[j>>2]|0)+1)>>0]=0;c[q>>2]=c[q>>2]&-65;R=84;break}c[K>>2]=7;T=c[K>>2]|0;l=S;return T|0}while(0);if((R|0)==84?(T=tf(c[r>>2]|0)|0,c[c[m>>2]>>2]=T,(c[c[m>>2]>>2]|0)==0):0){c[Q>>2]=c[r>>2];T=nf(31019,Q)|0;c[c[o>>2]>>2]=T;c[p>>2]=1}if(c[p>>2]|0){_d(c[s>>2]|0);c[s>>2]=0}c[c[M>>2]>>2]=c[q>>2];c[c[n>>2]>>2]=c[s>>2];c[K>>2]=c[p>>2];T=c[K>>2]|0;l=S;return T|0}function Tz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=Xl(c[g>>2]|0,84,160)|0;else c[h>>2]=_l(0,84,0)|0;if(!(c[h>>2]|0)){Od(c[f>>2]|0);h=c[h>>2]|0;l=i;return h|0}if(d[(c[h>>2]|0)+76>>0]|0){h=c[h>>2]|0;l=i;return h|0}Rq((c[h>>2]|0)+8|0);Rq((c[h>>2]|0)+24|0);Rq((c[h>>2]|0)+40|0);Rq((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;h=c[h>>2]|0;l=i;return h|0}function Uz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(Yz(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];l=h;return d[(c[f>>2]|0)+4>>0]|0}function Vz(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}el(c[g>>2]|0);if((c[h>>2]|0)>=0?(d=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[d>>1]=(e[d>>1]|0)&-5,c[h>>2]|0):0){h=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[h>>1]=e[h>>1]|0|4}c[i>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;bl(c[g>>2]|0);c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}function Wz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];el(c[e>>2]|0);Xz(c[c[g>>2]>>2]|0,c[f>>2]|0);bl(c[e>>2]|0);l=d;return 0}function Xz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;h=i+4|0;f=i;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;b=0;e=c[g>>2]|0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;b=((c[f>>2]|0)==4?1:0)&255;e=c[g>>2]|0}a[e+9>>0]=b;do if(!(a[(c[g>>2]|0)+7>>0]|0))if(c[h>>2]&8|0){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}else{f=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;a[(c[g>>2]|0)+10>>0]=f?3:2;break}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(!(a[(c[g>>2]|0)+8>>0]|0)){e=c[h>>2]|0;e=e&32;e=(e|0)!=0;h=c[g>>2]|0;h=h+21|0;f=a[h>>0]|0;f=f&255;g=f|1;f=f&-2;g=e?f:g;g=g&255;a[h>>0]=g;l=i;return}e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32;e=c[h>>2]|0;e=e&32;e=(e|0)!=0;h=c[g>>2]|0;h=h+21|0;f=a[h>>0]|0;f=f&255;g=f|1;f=f&-2;g=e?f:g;g=g&255;a[h>>0]=g;l=i;return}function Yz(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){b=0;b=b&1;l=e;return b|0}b=(d[(c[b>>2]|0)+43>>0]|0|0)==2;b=b&1;l=e;return b|0}function Zz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if(c[e>>2]|0?0!=(bh(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;dv(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}l=i;return}function _z(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o;e=o+44|0;f=o+40|0;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;d=o+12|0;c[e>>2]=a;c[f>>2]=b;c[i>>2]=c[c[e>>2]>>2];c[j>>2]=Hu(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[g>>2]=$z(c[f>>2]|0)|0;c[k>>2]=16;c[m>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[d>>2]=(c[j>>2]|0)==1?26433:26452;if((c[j>>2]|0)==1)c[k>>2]=14;if(Iu(c[e>>2]|0,c[k>>2]|0,c[c[f>>2]>>2]|0,c[c[g>>2]>>2]|0,c[m>>2]|0)|0){l=o;return}if(Iu(c[e>>2]|0,9,c[d>>2]|0,0,c[m>>2]|0)|0){l=o;return}m=Lu(c[e>>2]|0)|0;c[h>>2]=m;if(!m){l=o;return}m=c[e>>2]|0;g=(c[j>>2]|0)==1?26433:26452;k=c[c[f>>2]>>2]|0;c[n>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[n+4>>2]=g;c[n+8>>2]=k;Ku(m,31087,n);Mu(c[e>>2]|0,c[j>>2]|0);Uu(c[h>>2]|0,140,c[j>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;l=o;return}function $z(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=hv((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return a|0}function aA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+12|0;f=j+16|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=_l(c[k>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){k=c[h>>2]|0;l=j;return k|0}c[i>>2]=(c[h>>2]|0)+36;h0(c[i>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Vj(c[i>>2]|0);c[(c[h>>2]|0)+12>>2]=c[i>>2];a[c[h>>2]>>0]=a[f>>0]|0;k=c[h>>2]|0;l=j;return k|0}function bA(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[i>>2]=d;c[f>>2]=(c[i>>2]|0)+8;c[g>>2]=av(c[e>>2]|0,0,c[f>>2]|0)|0;tk(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){i=(c[g>>2]|0)+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16}if(!(Fx(c[e>>2]|0,c[f>>2]|0)|0)){i=c[g>>2]|0;l=h;return i|0}c[g>>2]=0;i=c[g>>2]|0;l=h;return i|0}function cA(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+32|0;h=g+20|0;n=g+16|0;i=g+12|0;k=g+8|0;j=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[i>>2]=d;c[k>>2]=e;c[j>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[i>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[i>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[k>>2];c[(c[h>>2]|0)+20>>2]=c[j>>2];c[(c[h>>2]|0)+8>>2]=(c[i>>2]|0)==1&1;l=g;return}function dA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k;g=k+32|0;h=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;i=k+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;j=c[g>>2]|0;l=k;return j|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[i>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){a=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if(c[(c[i>>2]|0)+4>>2]|0?bh(c[(c[i>>2]|0)+4>>2]|0,c[f>>2]|0)|0:0){a=8;break}Xd(c[c[c[h>>2]>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0);c[(c[i>>2]|0)+4>>2]=0;c[c[i>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(eA(c[h>>2]|0,c[(c[i>>2]|0)+20>>2]|0)|0){a=11;break}if(fA(c[h>>2]|0,c[(c[i>>2]|0)+48>>2]|0)|0){a=13;break}c[e>>2]=(c[e>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+72}if((a|0)==8){f=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+20>>2]|0;i=c[(c[i>>2]|0)+4>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];c[j+4>>2]=e;c[j+8>>2]=i;sl(f,31393,j);c[g>>2]=1;j=c[g>>2]|0;l=k;return j|0}else if((a|0)==11){c[g>>2]=1;j=c[g>>2]|0;l=k;return j|0}else if((a|0)==13){c[g>>2]=1;j=c[g>>2]|0;l=k;return j|0}else if((a|0)==15){c[g>>2]=0;j=c[g>>2]|0;l=k;return j|0}return 0}function eA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){a=20;break}if(gA(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){a=4;break}if(dA(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0){a=6;break}if(fA(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){a=8;break}if(gA(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){a=10;break}if(fA(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){a=12;break}if(gA(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){a=14;break}if(fA(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0)|0){a=16;break}if(fA(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){a=18;break}c[e>>2]=c[(c[e>>2]|0)+48>>2]}if((a|0)==4)c[f>>2]=1;else if((a|0)==6)c[f>>2]=1;else if((a|0)==8)c[f>>2]=1;else if((a|0)==10)c[f>>2]=1;else if((a|0)==12)c[f>>2]=1;else if((a|0)==14)c[f>>2]=1;else if((a|0)==16)c[f>>2]=1;else if((a|0)==18)c[f>>2]=1;else if((a|0)==20)c[f>>2]=0;l=g;return c[f>>2]|0}function fA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;g=j+12|0;h=j+8|0;f=j+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){b=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+148+5>>0]|0)){b=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&8404992|0){b=16;break}b=c[h>>2]|0;e=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048|0){if(eA(b,c[e>>2]|0)|0){b=10;break}}else if(gA(b,c[e>>2]|0)|0){b=12;break}if(fA(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){b=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((b|0)==6){f=c[c[h>>2]>>2]|0;c[i>>2]=c[(c[h>>2]|0)+16>>2];sl(f,31439,i);c[g>>2]=1;i=c[g>>2]|0;l=j;return i|0}else if((b|0)==10){c[g>>2]=1;i=c[g>>2]|0;l=j;return i|0}else if((b|0)==12){c[g>>2]=1;i=c[g>>2]|0;l=j;return i|0}else if((b|0)==14){c[g>>2]=1;i=c[g>>2]|0;l=j;return i|0}else if((b|0)==16){c[g>>2]=0;i=c[g>>2]|0;l=j;return i|0}return 0}function gA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){a=8;break}if(fA(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){a=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((a|0)==6){c[h>>2]=1;h=c[h>>2]|0;l=i;return h|0}else if((a|0)==8){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}return 0}function hA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){a=10;break}if(eA(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){a=4;break}if(fA(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){a=6;break}if(gA(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){a=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((a|0)==4)c[f>>2]=1;else if((a|0)==6)c[f>>2]=1;else if((a|0)==8)c[f>>2]=1;else if((a|0)==10)c[f>>2]=0;l=g;return c[f>>2]|0}function iA(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33|32;l=d;return}function jA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+28|0;o=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;f=n+4|0;g=n;c[h>>2]=a;c[o>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=1;td(c[(c[h>>2]|0)+12>>2]|0);c[m>>2]=aB(c[h>>2]|0,c[o>>2]|0)|0;if(!(c[m>>2]|0)){o=c[h>>2]|0;o=o+12|0;o=c[o>>2]|0;ud(o);o=c[k>>2]|0;l=n;return o|0}el(c[m>>2]|0);c[f>>2]=qk(c[m>>2]|0)|0;c[g>>2]=Pp(c[f>>2]|0)|0;do if((c[i>>2]|0)!=7){if((c[i>>2]|0)==27){o=Nl(c[f>>2]|0)|0;c[c[j>>2]>>2]=o;c[k>>2]=0;break}if((c[i>>2]|0)==28){o=bB(c[f>>2]|0)|0;c[c[j>>2]>>2]=o;c[k>>2]=0;break}if(c[c[g>>2]>>2]|0){c[k>>2]=wm(c[g>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;break}else{c[k>>2]=12;break}}else{c[c[j>>2]>>2]=c[g>>2];c[k>>2]=0}while(0);bl(c[m>>2]|0);o=c[h>>2]|0;o=o+12|0;o=c[o>>2]|0;ud(o);o=c[k>>2]|0;l=n;return o|0}function kA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){l=h;return}Pu(c[e>>2]|0,1,c[g>>2]|0)|0;lA(c[e>>2]|0,c[f>>2]|0);Qu(c[e>>2]|0,87,1,1)|0;l=h;return}function lA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;yA(c[f>>2]|0,1,e);l=d;return}function mA(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+8|0;h=p+4|0;i=p;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[p+12>>2]=g;if(((c[(c[k>>2]|0)+136>>2]|0)+(c[m>>2]|0)|0)>(c[(c[(c[k>>2]|0)+12>>2]|0)+48>>2]|0)?Tu(c[k>>2]|0,c[m>>2]|0)|0:0){c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}g=(c[(c[k>>2]|0)+88>>2]|0)+((c[(c[k>>2]|0)+136>>2]|0)*20|0)|0;c[h>>2]=g;c[i>>2]=g;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;a[c[h>>2]>>0]=a[c[n>>2]>>0]|0;c[(c[h>>2]|0)+4>>2]=a[(c[n>>2]|0)+1>>0];c[(c[h>>2]|0)+8>>2]=a[(c[n>>2]|0)+2>>0];if(d[32756+(d[c[n>>2]>>0]|0)>>0]&1|0?(a[(c[n>>2]|0)+2>>0]|0)>0:0){g=(c[h>>2]|0)+8|0;c[g>>2]=(c[g>>2]|0)+(c[(c[k>>2]|0)+136>>2]|0)}c[(c[h>>2]|0)+12>>2]=a[(c[n>>2]|0)+3>>0];a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[(c[h>>2]|0)+3>>0]=0;c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+4;c[h>>2]=(c[h>>2]|0)+20}o=(c[k>>2]|0)+136|0;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[j>>2]=c[i>>2];o=c[j>>2]|0;l=p;return o|0}function nA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;h=f+8|0;i=f;c[g>>2]=a;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=e;Jz(c[g>>2]|0,77,0,1,0,i,-13)|0;lA(c[g>>2]|0,c[h>>2]|0);Qu(c[g>>2]|0,87,1,1)|0;l=f;return}function oA(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(bh(c[d>>2]|0,31645)|0)){c[b>>2]=1;break}if(!(bh(c[d>>2]|0,31638)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;l=f;return c[b>>2]|0}function pA(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[5488+(c[d>>2]<<2)>>2];l=e;return c[b>>2]|0}function qA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;d=f;b=c[d+4>>2]|0;if((b|0)>-1|(b|0)==-1&(c[d>>2]|0)>>>0>=4294967295){a=f;b=c[a+4>>2]|0;d=(c[e>>2]|0)+168|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;$A(c[(c[e>>2]|0)+216>>2]|0,c[f>>2]|0,c[f+4>>2]|0)}f=(c[e>>2]|0)+168|0;D=c[f+4>>2]|0;l=g;return c[f>>2]|0}function rA(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;el(c[d>>2]|0);if(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;else b=0;c[e>>2]=b;bl(c[d>>2]|0);l=f;return c[e>>2]|0}function sA(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(bh(c[d>>2]|0,32716)|0){if(!(bh(c[d>>2]|0,32160)|0)){c[b>>2]=1;break}if(!(bh(c[d>>2]|0,32721)|0)){c[b>>2]=2;break}else{c[e>>2]=fg(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);l=f;return c[b>>2]|0}function tA(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;g=k+12|0;m=k+8|0;h=k+4|0;i=k;j=k+16|0;c[g>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[i>>2]=0;a[j>>0]=c[m>>2];el(c[g>>2]|0);if((e[(c[h>>2]|0)+22>>1]|0)&2|0?((d[j>>0]|0|0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[i>>2]=8;m=c[g>>2]|0;bl(m);m=c[i>>2]|0;l=k;return m|0}a[(c[h>>2]|0)+17>>0]=d[j>>0]|0|0?1:0;a[(c[h>>2]|0)+18>>0]=(d[j>>0]|0|0)==2?1:0;m=c[g>>2]|0;bl(m);m=c[i>>2]|0;l=k;return m|0}function uA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;h=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[f>>2]|0)+4>>2];el(c[f>>2]|0);c[d>>2]=ZA(c[c[h>>2]>>2]|0,c[g>>2]|0)|0;bl(c[f>>2]|0);l=e;return c[d>>2]|0}function vA(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+67>>0]|0)){l=h;return}c[f>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;if(c[(c[f>>2]|0)+4>>2]|0)Wz(c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[f>>2]=(c[f>>2]|0)+16}l=h;return}function wA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[g>>2]=b;c[k>>2]=e;c[h>>2]=YA(c[k>>2]|0)|0;c[i>>2]=c[c[g>>2]>>2];if((d[(c[i>>2]|0)+68>>0]|0|0)==(c[h>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}if(xA(c[g>>2]|0)|0){c[f>>2]=1;k=c[f>>2]|0;l=j;return k|0}else{a[(c[i>>2]|0)+68>>0]=c[h>>2];c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}return 0}function xA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if(a[(c[f>>2]|0)+67>>0]|0?(nl(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){ur(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;Np(c[f>>2]|0);break}sl(c[e>>2]|0,32654,g);c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function yA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;Rs(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;Ss(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}l=i;return}function zA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+40|0;j=q+36|0;k=q+32|0;m=q+16|0;n=q+12|0;o=q+44|0;p=q+8|0;g=q+4|0;h=q;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){f=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a[o>>0]=f;if(!(f<<24>>24))break;if((a[o>>0]|0)==115){e=(c[m>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[m>>2]=e+4;c[g>>2]=d;c[p>>2]=c[g>>2];d=c[i>>2]|0;e=(c[p>>2]|0)==0?79:97;f=c[j>>2]|0;c[j>>2]=f+1;Uu(d,e,0,f,0,c[p>>2]|0,0)|0}else{d=c[i>>2]|0;f=(c[m>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[m>>2]=f+4;c[h>>2]=e;e=c[h>>2]|0;f=c[j>>2]|0;c[j>>2]=f+1;Qu(d,76,e,f)|0}c[n>>2]=(c[n>>2]|0)+1}l=q;return}function AA(b){b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=32464;break}case 8:{c[e>>2]=32473;break}case 9:{c[e>>2]=32485;break}case 6:{c[e>>2]=32493;break}default:c[e>>2]=32502}l=f;return c[e>>2]|0}function BA(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;B=D;w=D+64|0;x=D+60|0;y=D+56|0;z=D+52|0;A=D+48|0;k=D+44|0;m=D+40|0;n=D+36|0;o=D+32|0;p=D+28|0;q=D+24|0;r=D+20|0;s=D+16|0;t=D+68|0;u=D+12|0;v=D+8|0;c[x>>2]=f;c[y>>2]=g;c[z>>2]=h;c[A>>2]=i;c[k>>2]=j;c[m>>2]=0;c[n>>2]=0;c[o>>2]=c[(c[z>>2]|0)+20>>2];c[p>>2]=c[(c[z>>2]|0)+36+4>>2];do if((c[o>>2]|0)==1){if((b[(c[y>>2]|0)+32>>1]|0)>=0){if(!(c[p>>2]|0)){c[w>>2]=0;C=c[w>>2]|0;l=D;return C|0}if(!(bh(c[(c[(c[y>>2]|0)+4>>2]|0)+(b[(c[y>>2]|0)+32>>1]<<4)>>2]|0,c[p>>2]|0)|0)){c[w>>2]=0;C=c[w>>2]|0;l=D;return C|0}}}else if(c[k>>2]|0){c[n>>2]=Ed(c[c[x>>2]>>2]|0,c[o>>2]<<2,0)|0;if(c[n>>2]|0){c[c[k>>2]>>2]=c[n>>2];break}c[w>>2]=1;C=c[w>>2]|0;l=D;return C|0}while(0);c[m>>2]=c[(c[y>>2]|0)+8>>2];a:while(1){if(!(c[m>>2]|0))break;do if((e[(c[m>>2]|0)+50>>1]|0)==(c[o>>2]|0)?d[(c[m>>2]|0)+54>>0]|0:0){if(!(c[p>>2]|0))if((a[(c[m>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break;b[t>>1]=b[(c[(c[m>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;if((b[t>>1]|0)<0)break;j=c[(c[(c[y>>2]|0)+4>>2]|0)+(b[t>>1]<<4)+8>>2]|0;c[u>>2]=j;c[u>>2]=c[u>>2]|0?j:34455;if(bh(c[(c[(c[m>>2]|0)+32>>2]|0)+(c[r>>2]<<2)>>2]|0,c[u>>2]|0)|0)break;c[v>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+(b[t>>1]<<4)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[o>>2]|0))break;if(!(bh(c[(c[z>>2]|0)+36+(c[s>>2]<<3)+4>>2]|0,c[v>>2]|0)|0)){C=28;break}c[s>>2]=(c[s>>2]|0)+1}if((C|0)==28?(C=0,c[n>>2]|0):0)c[(c[n>>2]|0)+(c[r>>2]<<2)>>2]=c[(c[z>>2]|0)+36+(c[s>>2]<<3)>>2];if((c[s>>2]|0)==(c[o>>2]|0))break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)==(c[o>>2]|0))break a}while(0);c[m>>2]=c[(c[m>>2]|0)+20>>2]}b:do if((C|0)==17?c[n>>2]|0:0){c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[o>>2]|0))break b;c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]=c[(c[z>>2]|0)+36+(c[q>>2]<<3)>>2];c[q>>2]=(c[q>>2]|0)+1}}while(0);if(c[m>>2]|0){c[c[A>>2]>>2]=c[m>>2];c[w>>2]=0;C=c[w>>2]|0;l=D;return C|0}if(!(a[(c[x>>2]|0)+150>>0]|0)){C=c[x>>2]|0;A=c[(c[z>>2]|0)+8>>2]|0;c[B>>2]=c[c[c[z>>2]>>2]>>2];c[B+4>>2]=A;sl(C,32401,B)}Xd(c[c[x>>2]>>2]|0,c[n>>2]|0);c[w>>2]=1;C=c[w>>2]|0;l=D;return C|0}function CA(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+16|0;g=o+12|0;i=o+8|0;j=o+4|0;k=o;m=o+20|0;n=o+22|0;c[g>>2]=d;c[i>>2]=f;if(!(c[(c[i>>2]|0)+16>>2]|0)){c[k>>2]=c[(c[i>>2]|0)+12>>2];f=(e[(c[i>>2]|0)+52>>1]|0)+1|0;f=Cd(0,f,((f|0)<0)<<31>>31)|0;c[(c[i>>2]|0)+16>>2]=f;if(!(c[(c[i>>2]|0)+16>>2]|0)){Od(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}c[j>>2]=0;while(1){d=c[i>>2]|0;if((c[j>>2]|0)>=(e[(c[i>>2]|0)+52>>1]|0))break;b[m>>1]=b[(c[d+4>>2]|0)+(c[j>>2]<<1)>>1]|0;if((b[m>>1]|0)>=0)a[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=a[(c[(c[k>>2]|0)+4>>2]|0)+(b[m>>1]<<4)+13>>0]|0;else{d=c[i>>2]|0;if((b[m>>1]|0)==-1){f=68;d=(c[d+16>>2]|0)+(c[j>>2]|0)|0}else{f=qw(c[(c[(c[d+40>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)|0;a[n>>0]=f;a[n>>0]=(a[n>>0]|0)==0?65:f;f=a[n>>0]|0;d=(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]|0)|0}a[d>>0]=f}c[j>>2]=(c[j>>2]|0)+1}a[(c[d+16>>2]|0)+(c[j>>2]|0)>>0]=0}c[h>>2]=c[(c[i>>2]|0)+16>>2];n=c[h>>2]|0;l=o;return n|0}function DA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=32334;else c[f>>2]=22031;WA(c[d>>2]|0,22035,2,1,c[f>>2]|0,203,0,0,0)|0;WA(c[d>>2]|0,22035,3,1,c[f>>2]|0,203,0,0,0)|0;WA(c[d>>2]|0,22026,2,1,22022,203,0,0,0)|0;XA(c[d>>2]|0,22026,12);XA(c[d>>2]|0,22035,(c[e>>2]|0?12:4)&255);l=g;return}function EA(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;while(1){b=c[e>>2]|0;if((c[f>>2]|0)>=(d[(c[e>>2]|0)+25>>0]|0|0))break;if(d[b+152+((c[f>>2]|0)*20|0)+6>>0]|0|0?(d[(c[e>>2]|0)+19>>0]|0|0)<8:0){i=c[(c[e>>2]|0)+152+((c[f>>2]|0)*20|0)+12>>2]|0;h=(c[e>>2]|0)+352|0;j=(c[e>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[h+((b&255)<<2)>>2]=i}c[f>>2]=(c[f>>2]|0)+1}a[b+25>>0]=0;l=g;return}function FA(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+64|0;A=C+52|0;B=C+48|0;p=C+44|0;q=C+40|0;r=C+56|0;s=C+36|0;t=C+32|0;u=C+28|0;m=C+24|0;v=C+20|0;w=C+16|0;n=C+12|0;x=C+8|0;y=C+4|0;z=C;c[B>>2]=b;c[p>>2]=e;c[q>>2]=f;a[r>>0]=g;c[s>>2]=h;c[t>>2]=i;c[u>>2]=j;c[m>>2]=k;if((d[(c[p>>2]|0)+42>>0]|0)&16|0){c[A>>2]=0;B=c[A>>2]|0;l=C;return B|0}c[w>>2]=Hu(c[c[B>>2]>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[y>>2]=Lu(c[B>>2]|0)|0;if((c[s>>2]|0)<0)c[s>>2]=c[(c[B>>2]|0)+40>>2];k=c[s>>2]|0;c[s>>2]=k+1;c[n>>2]=k;if(c[u>>2]|0)c[c[u>>2]>>2]=c[n>>2];do if(!((d[(c[p>>2]|0)+42>>0]|0)&32)){if(c[t>>2]|0?(d[c[t>>2]>>0]|0|0)==0:0){o=11;break}hy(c[B>>2]|0,c[n>>2]|0,c[w>>2]|0,c[p>>2]|0,c[q>>2]|0)}else o=11;while(0);if((o|0)==11)gy(c[B>>2]|0,c[w>>2]|0,c[(c[p>>2]|0)+28>>2]|0,(c[q>>2]|0)==105&255,c[c[p>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[s>>2];c[v>>2]=0;c[x>>2]=c[(c[p>>2]|0)+8>>2];while(1){b=c[s>>2]|0;if(!(c[x>>2]|0))break;c[s>>2]=b+1;c[z>>2]=b;if((a[(c[x>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]|0)&32|0:0){if(c[u>>2]|0)c[c[u>>2]>>2]=c[z>>2];a[r>>0]=0}if(!((c[t>>2]|0)!=0?!(d[(c[t>>2]|0)+((c[v>>2]|0)+1)>>0]|0|0):0)){Ru(c[y>>2]|0,c[q>>2]|0,c[z>>2]|0,c[(c[x>>2]|0)+44>>2]|0,c[w>>2]|0)|0;iy(c[B>>2]|0,c[x>>2]|0);jy(c[y>>2]|0,a[r>>0]|0)}c[x>>2]=c[(c[x>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}if((b|0)>(c[(c[B>>2]|0)+40>>2]|0))c[(c[B>>2]|0)+40>>2]=c[s>>2];c[A>>2]=c[v>>2];B=c[A>>2]|0;l=C;return B|0}function GA(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33;l=d;return}function HA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){VA(a,145,c[d>>2]|0)|0;l=e;return 0}else{VA(a,0,0)|0;l=e;return 0}return 0}function IA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;i=h+12|0;f=h+8|0;g=h+4|0;j=h;c[i>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<(c[i>>2]|0)){l=h;return 0}Ug();QA(c[f>>2]|0,c[g>>2]|0)|0;Wg();l=h;return 0}function JA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;td(c[(c[b>>2]|0)+12>>2]|0);pk(c[b>>2]|0);c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[a+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=qk(c[e>>2]|0)|0;OA(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}rk(a);ud(c[(c[b>>2]|0)+12>>2]|0);l=g;return 0}function KA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){NA(a,206,c[d>>2]|0)|0;c[(c[d>>2]|0)+428>>2]=c[e>>2];l=f;return 0}else{NA(a,0,0)|0;l=f;return 0}return 0}function LA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;i=c[e>>2]|0;l=j;return i|0}c[i>>2]=c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[5440+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[5440+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[i>>2];i=c[e>>2]|0;l=j;return i|0}function MA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=l;l=l+32|0;d=f+16|0;i=f+12|0;h=f+8|0;e=f+4|0;g=f;c[i>>2]=a;c[h>>2]=b;c[e>>2]=c[i>>2];c[g>>2]=c[(c[i>>2]|0)+428>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;i=c[d>>2]|0;l=f;return i|0}else{op(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;i=c[d>>2]|0;l=f;return i|0}return 0}function NA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;td(c[(c[f>>2]|0)+12>>2]|0);c[(c[f>>2]|0)+380>>2]=c[h>>2];c[(c[f>>2]|0)+380+4>>2]=c[g>>2];c[(c[f>>2]|0)+380+8>>2]=0;c[(c[f>>2]|0)+428>>2]=0;ud(c[(c[f>>2]|0)+12>>2]|0);l=e;return 0}function OA(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;PA(c[(c[d>>2]|0)+212>>2]|0);l=b;return}function PA(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Eb[c[164>>2]&255](c[(c[d>>2]|0)+44>>2]|0);l=b;return}function QA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=RA(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;l=d;return b|0}function RA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[h>>2]=g;c[j>>2]=10;if(c[p>>2]|0)c[c[p>>2]>>2]=-1;if(c[h>>2]|0)c[c[h>>2]>>2]=-1;if((c[o>>2]|0)<0|(c[o>>2]|0)>3){c[k>>2]=21;q=c[k>>2]|0;l=r;return q|0}td(c[(c[m>>2]|0)+12>>2]|0);if(c[n>>2]|0?a[c[n>>2]>>0]|0:0)c[j>>2]=ol(c[m>>2]|0,c[n>>2]|0)|0;if((c[j>>2]|0)<0){c[i>>2]=1;p=c[m>>2]|0;c[q>>2]=c[n>>2];ll(p,1,32233,q)}else{c[(c[m>>2]|0)+380+8>>2]=0;c[i>>2]=SA(c[m>>2]|0,c[j>>2]|0,c[o>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;ml(c[m>>2]|0,c[i>>2]|0)}c[i>>2]=Jr(c[m>>2]|0,c[i>>2]|0)|0;ud(c[(c[m>>2]|0)+12>>2]|0);c[k>>2]=c[i>>2];q=c[k>>2]|0;l=r;return q|0}function SA(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;g=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[g>>2]=0;c[i>>2]=0;c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[(c[j>>2]|0)+20>>2]|0)?(c[g>>2]|0)==0:0))break;if(((c[k>>2]|0)==10?1:(c[h>>2]|0)==(c[k>>2]|0))?(c[g>>2]=TA(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,c[n>>2]=0,c[o>>2]=0,(c[g>>2]|0)==5):0){c[i>>2]=1;c[g>>2]=0}c[h>>2]=(c[h>>2]|0)+1}l=p;return ((c[g>>2]|0)==0&(c[i>>2]|0)!=0?5:c[g>>2]|0)|0}function TA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;c[k>>2]=0;if(!(c[g>>2]|0)){m=c[k>>2]|0;l=n;return m|0}c[m>>2]=c[(c[g>>2]|0)+4>>2];el(c[g>>2]|0);if(d[(c[m>>2]|0)+20>>0]|0|0)c[k>>2]=6;else c[k>>2]=UA(c[c[m>>2]>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;bl(c[g>>2]|0);m=c[k>>2]|0;l=n;return m|0}function UA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;c[k>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){k=c[k>>2]|0;l=m;return k|0}if(!(c[h>>2]|0))a=0;else a=c[(c[g>>2]|0)+184>>2]|0;c[k>>2]=vo(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,a,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}function VA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;i=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[i>>2]=b;c[h>>2]=d;td(c[(c[g>>2]|0)+12>>2]|0);c[e>>2]=c[(c[g>>2]|0)+228>>2];c[(c[g>>2]|0)+224>>2]=c[i>>2];c[(c[g>>2]|0)+228>>2]=c[h>>2];ud(c[(c[g>>2]|0)+12>>2]|0);l=f;return c[e>>2]|0}function WA(d,f,g,h,i,j,k,m,n){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;C=D;B=D+56|0;q=D+52|0;r=D+48|0;s=D+44|0;t=D+40|0;u=D+36|0;v=D+32|0;w=D+28|0;x=D+24|0;y=D+20|0;z=D+16|0;o=D+12|0;A=D+8|0;p=D+4|0;c[q>>2]=d;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=i;c[v>>2]=j;c[w>>2]=k;c[x>>2]=m;c[y>>2]=n;do if(c[r>>2]|0){if(c[v>>2]|0?(c[x>>2]|0)!=0|(c[w>>2]|0)!=0:0)break;if(((c[v>>2]|0)==0&(c[x>>2]|0)!=0^1|(c[w>>2]|0)!=0?!((((c[v>>2]|0)!=0|(c[x>>2]|0)!=0)^1)&(c[w>>2]|0)!=0|(c[s>>2]|0)<-1|(c[s>>2]|0)>127):0)?(n=md(c[r>>2]|0)|0,c[o>>2]=n,255>=(n|0)):0){c[A>>2]=c[t>>2]&2048;c[t>>2]=c[t>>2]&7;do if((c[t>>2]|0)!=4){if((c[t>>2]|0)==5){c[p>>2]=WA(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,1|c[A>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=WA(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,2|c[A>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[p>>2]|0)){c[t>>2]=3;break}c[B>>2]=c[p>>2];C=c[B>>2]|0;l=D;return C|0}}else c[t>>2]=(a[936]|0)==0?3:2;while(0);c[z>>2]=ox(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]&255,0)|0;do if((c[z>>2]|0?(e[(c[z>>2]|0)+2>>1]&3|0)==(c[t>>2]|0):0)?(a[c[z>>2]>>0]|0)==(c[s>>2]|0):0){d=c[q>>2]|0;if(!(c[(c[q>>2]|0)+156>>2]|0)){Qq(d);break}ll(d,5,32338,C);c[B>>2]=5;C=c[B>>2]|0;l=D;return C|0}while(0);c[z>>2]=ox(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]&255,1)|0;if(!(c[z>>2]|0)){c[B>>2]=7;C=c[B>>2]|0;l=D;return C|0}vr(c[q>>2]|0,c[z>>2]|0);if(c[y>>2]|0){C=c[y>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[z>>2]|0)+24>>2]=c[y>>2];b[(c[z>>2]|0)+2>>1]=e[(c[z>>2]|0)+2>>1]&3|c[A>>2];c[(c[z>>2]|0)+12>>2]=c[v>>2]|0?c[v>>2]|0:c[w>>2]|0;c[(c[z>>2]|0)+16>>2]=c[x>>2];c[(c[z>>2]|0)+4>>2]=c[u>>2];a[c[z>>2]>>0]=c[s>>2];c[B>>2]=0;C=c[B>>2]|0;l=D;return C|0}}while(0);c[B>>2]=qd(139436)|0;C=c[B>>2]|0;l=D;return C|0}function XA(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;k=l;l=l+16|0;n=k+8|0;m=k+4|0;i=k+12|0;j=k;c[n>>2]=f;c[m>>2]=g;a[i>>0]=h;c[j>>2]=ox(c[n>>2]|0,c[m>>2]|0,2,1,0)|0;if(!(c[j>>2]|0)){l=k;return}n=(c[j>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[i>>0]|0);l=k;return}function YA(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(bh(c[e>>2]|0,32553)|0)){c[d>>2]=1;break}if(!(bh(c[e>>2]|0,31045)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);l=g;return c[d>>2]|0}function ZA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=_A(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function _A(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){a=c[e>>2]|0;a=r0(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;b=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;b=n0(a|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;c[e>>2]=b}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=Dl(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;l=g;return f|0}function $A(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){l=g;return}b=f;d=c[b+4>>2]|0;f=(c[e>>2]|0)+16|0;c[f>>2]=c[b>>2];c[f+4>>2]=d;l=g;return}function aB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){a=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){a=6;break}if(!(bh(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){a=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((a|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;l=h;return g|0}else if((a|0)==8){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}return 0}function bB(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=cB(c[a+216>>2]|0)|0;l=b;return d|0}else{d=c[a+68>>2]|0;l=b;return d|0}return 0}function cB(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+8>>2]|0}function dB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+80|0;n=o+8|0;m=o;g=o+44|0;p=o+40|0;h=o+36|0;i=o+32|0;j=o+28|0;k=o+24|0;f=o+48|0;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[m>>2]=c[j>>2];ef(24,f,33757,m)|0;if(gv(c[c[g>>2]>>2]|0,f,c[k>>2]|0)|0){p=c[g>>2]|0;d=c[h>>2]|0;e=c[i>>2]|0;c[n>>2]=c[k>>2];c[n+4>>2]=f;c[n+8>>2]=d;c[n+12>>2]=e;Ku(p,30232,n)}c[j>>2]=(c[j>>2]|0)+1}l=o;return}function eB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=l;l=l+48|0;h=e;g=e+36|0;i=e+32|0;k=e+28|0;j=e+24|0;f=e+20|0;c[g>>2]=a;c[i>>2]=b;c[k>>2]=d;c[j>>2]=Lu(c[g>>2]|0)|0;c[f>>2]=Ov(c[g>>2]|0)|0;Ru(c[j>>2]|0,130,c[i>>2]|0,c[f>>2]|0,c[k>>2]|0)|0;gw(c[g>>2]|0);d=c[g>>2]|0;j=(c[k>>2]|0)==1?26433:26452;i=c[i>>2]|0;a=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[h+4>>2]=j;c[h+8>>2]=i;c[h+12>>2]=a;c[h+16>>2]=b;Ku(d,33701,h);Qv(c[g>>2]|0,c[f>>2]|0);l=e;return}function fB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[g>>2]=f;c[i>>2]=c[c[q>>2]>>2];do if(!(c[i>>2]&(c[i>>2]|0)-1)){c[j>>2]=(c[i>>2]|0)==0?1:c[i>>2]<<1;f=S(c[j>>2]|0,c[p>>2]|0)|0;c[k>>2]=de(c[n>>2]|0,c[o>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[k>>2]|0){c[o>>2]=c[k>>2];break}c[c[g>>2]>>2]=-1;c[m>>2]=c[o>>2];q=c[m>>2]|0;l=r;return q|0}while(0);c[h>>2]=c[o>>2];n=(c[h>>2]|0)+(S(c[i>>2]|0,c[p>>2]|0)|0)|0;m0(n|0,0,c[p>>2]|0)|0;c[c[g>>2]>>2]=c[i>>2];q=c[q>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[m>>2]=c[o>>2];q=c[m>>2]|0;l=r;return q|0}function gB(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[h>>2]=0;c[i>>2]=0;if(c[(c[c[k>>2]>>2]|0)+24>>2]&16777216|0)c[i>>2]=Sv(c[k>>2]|0,c[m>>2]|0)|0;c[j>>2]=c[i>>2];while(1){if(!(c[j>>2]|0))break;if((d[(c[j>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?oE(c[(c[j>>2]|0)+16>>2]|0,c[o>>2]|0)|0:0)c[h>>2]=c[h>>2]|(d[(c[j>>2]|0)+9>>0]|0);c[j>>2]=c[(c[j>>2]|0)+32>>2]}if(!(c[p>>2]|0)){o=c[h>>2]|0;o=(o|0)!=0;p=c[i>>2]|0;p=o?p:0;l=q;return p|0}c[c[p>>2]>>2]=c[h>>2];o=c[h>>2]|0;o=(o|0)!=0;p=c[i>>2]|0;p=o?p:0;l=q;return p|0}function hB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;k=n+8|0;j=n;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;if(!((d[(c[h>>2]|0)+42>>0]|0)&16|0?!(c[(c[c[(fw(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0):0))m=3;do if((m|0)==3){if(((d[(c[h>>2]|0)+42>>0]|0)&1|0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[i>>2]|0)==0?c[(c[h>>2]|0)+12>>2]|0:0){m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];sl(m,34685,k);c[f>>2]=1;m=c[f>>2]|0;l=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}while(0);m=c[g>>2]|0;c[j>>2]=c[c[h>>2]>>2];sl(m,34656,j);c[f>>2]=1;m=c[f>>2]|0;l=n;return m|0}function iB(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-17|16;l=d;return}function jB(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+128|0;L=O+108|0;M=O+104|0;N=O+100|0;n=O+96|0;t=O+92|0;u=O+88|0;v=O+84|0;k=O+80|0;w=O+76|0;x=O+72|0;y=O+68|0;m=O+64|0;z=O+60|0;A=O+56|0;B=O+52|0;C=O+48|0;D=O+44|0;r=O+40|0;E=O+36|0;F=O+32|0;G=O+28|0;s=O+24|0;q=O+20|0;H=O+16|0;I=O+12|0;o=O+8|0;p=O+4|0;J=O+112|0;K=O;c[M>>2]=f;c[N>>2]=g;c[n>>2]=h;c[t>>2]=i;c[u>>2]=j;c[v>>2]=c[c[M>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[q>>2]=0;if(!(c[n>>2]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((c[(c[M>>2]|0)+472>>2]|0)==0?(c[(c[n>>2]|0)+64>>2]|0)==0:0){if(Sv(c[M>>2]|0,c[N>>2]|0)|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(d[(c[N>>2]|0)+42>>0]&16|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((c[t>>2]|0)==10){if((b[(c[N>>2]|0)+32>>1]|0)>=0)c[t>>2]=d[(c[N>>2]|0)+43>>0];if((c[t>>2]|0)==10)c[t>>2]=2}if((c[c[(c[n>>2]|0)+28>>2]>>2]|0)!=1){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[(c[n>>2]|0)+28>>2]|0)+8+20>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+32>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+44>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+36>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+56>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+48>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+8>>2]&1|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}c[k>>2]=c[c[n>>2]>>2];if((c[c[k>>2]>>2]|0)!=1){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((d[c[c[(c[k>>2]|0)+4>>2]>>2]>>0]|0)!=160){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}c[m>>2]=(c[(c[n>>2]|0)+28>>2]|0)+8;c[w>>2]=av(c[M>>2]|0,0,c[m>>2]|0)|0;if(!(c[w>>2]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((c[w>>2]|0)==(c[N>>2]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(((d[(c[N>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[w>>2]|0)+12>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((b[(c[N>>2]|0)+34>>1]|0)!=(b[(c[w>>2]|0)+34>>1]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((b[(c[N>>2]|0)+32>>1]|0)!=(b[(c[w>>2]|0)+32>>1]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}c[z>>2]=0;a:while(1){g=c[N>>2]|0;if((c[z>>2]|0)>=(b[(c[N>>2]|0)+34>>1]|0)){f=64;break}c[o>>2]=(c[g+4>>2]|0)+(c[z>>2]<<4);c[p>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(c[z>>2]<<4);if((a[(c[o>>2]|0)+13>>0]|0)!=(a[(c[p>>2]|0)+13>>0]|0)){f=52;break}if(kl(c[(c[o>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){f=54;break}if(d[(c[o>>2]|0)+12>>0]|0?(a[(c[p>>2]|0)+12>>0]|0)==0:0){f=57;break}do if((c[z>>2]|0)>0){if(((c[(c[o>>2]|0)+4>>2]|0)==0|0)!=((c[(c[p>>2]|0)+4>>2]|0)==0|0)){f=62;break a}if(!(c[(c[o>>2]|0)+4>>2]|0))break;if(G_(c[(c[(c[o>>2]|0)+4>>2]|0)+8>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+8>>2]|0)|0){f=62;break a}}while(0);c[z>>2]=(c[z>>2]|0)+1}if((f|0)==52){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else if((f|0)==54){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else if((f|0)==57){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else if((f|0)==62){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else if((f|0)==64){c[y>>2]=c[g+8>>2];while(1){if(!(c[y>>2]|0))break;if(d[(c[y>>2]|0)+54>>0]|0)c[q>>2]=1;c[x>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;if(qE(c[y>>2]|0,c[x>>2]|0)|0)break;c[x>>2]=c[(c[x>>2]|0)+20>>2]}if(!(c[x>>2]|0)){f=73;break}c[y>>2]=c[(c[y>>2]|0)+20>>2]}if((f|0)==73){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}do if(c[(c[N>>2]|0)+24>>2]|0){if(!(Zw(c[(c[w>>2]|0)+24>>2]|0,c[(c[N>>2]|0)+24>>2]|0,-1)|0))break;c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}while(0);do if(c[(c[v>>2]|0)+24>>2]&524288|0){if(!(c[(c[N>>2]|0)+16>>2]|0))break;c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}while(0);if(c[(c[v>>2]|0)+24>>2]&128|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}c[A>>2]=Hu(c[v>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;c[G>>2]=Lu(c[M>>2]|0)|0;dv(c[M>>2]|0,c[A>>2]|0);p=(c[M>>2]|0)+40|0;o=c[p>>2]|0;c[p>>2]=o+1;c[B>>2]=o;o=(c[M>>2]|0)+40|0;p=c[o>>2]|0;c[o>>2]=p+1;c[C>>2]=p;c[s>>2]=kB(c[M>>2]|0,c[u>>2]|0,c[N>>2]|0)|0;c[H>>2]=Ov(c[M>>2]|0)|0;c[I>>2]=Ov(c[M>>2]|0)|0;hy(c[M>>2]|0,c[C>>2]|0,c[u>>2]|0,c[N>>2]|0,105);do if(!(c[(c[v>>2]|0)+24>>2]&268435456)){if((b[(c[N>>2]|0)+32>>1]|0)<0){if(!(c[q>>2]|0?1:(c[(c[N>>2]|0)+8>>2]|0)!=0))f=87}else if(!(c[q>>2]|0))f=87;if((f|0)==87?!((c[t>>2]|0)!=2&(c[t>>2]|0)!=1):0)break;c[D>>2]=Qu(c[G>>2]|0,57,c[C>>2]|0,0)|0;c[E>>2]=Nu(c[G>>2]|0,13)|0;ny(c[G>>2]|0,c[D>>2]|0)}while(0);f=c[M>>2]|0;if(!(d[(c[w>>2]|0)+42>>0]&32)){hy(f,c[B>>2]|0,c[A>>2]|0,c[w>>2]|0,104);c[F>>2]=Qu(c[G>>2]|0,57,c[B>>2]|0,0)|0;do if((b[(c[N>>2]|0)+32>>1]|0)<0){f=c[G>>2]|0;if(!(c[(c[N>>2]|0)+8>>2]|0)){c[D>>2]=Qu(f,114,c[C>>2]|0,c[I>>2]|0)|0;break}else{c[D>>2]=Qu(f,123,c[B>>2]|0,c[I>>2]|0)|0;break}}else{c[D>>2]=Qu(c[G>>2]|0,123,c[B>>2]|0,c[I>>2]|0)|0;c[r>>2]=Ru(c[G>>2]|0,33,c[C>>2]|0,0,c[I>>2]|0)|0;yD(c[M>>2]|0,c[t>>2]|0,c[N>>2]|0);ny(c[G>>2]|0,c[r>>2]|0);qB(c[M>>2]|0,c[s>>2]|0,c[I>>2]|0)}while(0);Qu(c[G>>2]|0,122,c[B>>2]|0,c[H>>2]|0)|0;Uu(c[G>>2]|0,115,c[C>>2]|0,c[H>>2]|0,c[I>>2]|0,c[N>>2]|0,-20)|0;jy(c[G>>2]|0,11);Qu(c[G>>2]|0,7,c[B>>2]|0,c[D>>2]|0)|0;Qu(c[G>>2]|0,111,c[B>>2]|0,0)|0;Qu(c[G>>2]|0,111,c[C>>2]|0,0)|0}else{gy(f,c[u>>2]|0,c[(c[N>>2]|0)+28>>2]|0,1,c[c[N>>2]>>2]|0);gy(c[M>>2]|0,c[A>>2]|0,c[(c[w>>2]|0)+28>>2]|0,0,c[c[w>>2]>>2]|0)}c[y>>2]=c[(c[N>>2]|0)+8>>2];while(1){if(!(c[y>>2]|0))break;a[J>>0]=0;c[x>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;if(qE(c[y>>2]|0,c[x>>2]|0)|0)break;c[x>>2]=c[(c[x>>2]|0)+20>>2]}Ru(c[G>>2]|0,104,c[B>>2]|0,c[(c[x>>2]|0)+44>>2]|0,c[A>>2]|0)|0;iy(c[M>>2]|0,c[x>>2]|0);Ru(c[G>>2]|0,105,c[C>>2]|0,c[(c[y>>2]|0)+44>>2]|0,c[u>>2]|0)|0;iy(c[M>>2]|0,c[y>>2]|0);jy(c[G>>2]|0,1);c[D>>2]=Qu(c[G>>2]|0,57,c[B>>2]|0,0)|0;Qu(c[G>>2]|0,121,c[B>>2]|0,c[H>>2]|0)|0;do if(c[(c[v>>2]|0)+24>>2]&268435456|0){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(e[(c[x>>2]|0)+52>>1]|0))break;c[K>>2]=c[(c[(c[x>>2]|0)+32>>2]|0)+(c[z>>2]<<2)>>2];if(kl(34455,c[K>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+1}if((c[z>>2]|0)!=(e[(c[x>>2]|0)+52>>1]|0))break;a[J>>0]=16;Ru(c[G>>2]|0,53,c[C>>2]|0,0,-1)|0}while(0);do if(d[(c[w>>2]|0)+42>>0]&32|0){if((a[(c[y>>2]|0)+55>>0]&3|0)!=2)break;a[J>>0]=d[J>>0]|1}while(0);Ru(c[G>>2]|0,126,c[C>>2]|0,c[H>>2]|0,1)|0;jy(c[G>>2]|0,a[J>>0]|0);Qu(c[G>>2]|0,7,c[B>>2]|0,(c[D>>2]|0)+1|0)|0;ny(c[G>>2]|0,c[D>>2]|0);Qu(c[G>>2]|0,111,c[B>>2]|0,0)|0;Qu(c[G>>2]|0,111,c[C>>2]|0,0)|0;c[y>>2]=c[(c[y>>2]|0)+20>>2]}if(c[F>>2]|0)ny(c[G>>2]|0,c[F>>2]|0);Qv(c[M>>2]|0,c[I>>2]|0);Qv(c[M>>2]|0,c[H>>2]|0);if(c[E>>2]|0){wB(c[M>>2]|0);Qu(c[G>>2]|0,75,0,0)|0;ny(c[G>>2]|0,c[E>>2]|0);Qu(c[G>>2]|0,111,c[C>>2]|0,0)|0;c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else{c[L>>2]=1;N=c[L>>2]|0;l=O;return N|0}}}c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}function kB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[j>>2]=0;if((d[(c[i>>2]|0)+42>>0]|0)&8|0?(c[(c[c[g>>2]>>2]|0)+24>>2]&268435456|0)==0:0){a=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[k>>2]=a;c[m>>2]=c[(c[k>>2]|0)+120>>2];while(1){if(c[m>>2]|0)b=(c[(c[m>>2]|0)+4>>2]|0)!=(c[i>>2]|0);else b=0;a=c[m>>2]|0;if(!b)break;c[m>>2]=c[a>>2]}do if(!a){c[m>>2]=Ed(c[c[g>>2]>>2]|0,16,0)|0;if(c[m>>2]|0){c[c[m>>2]>>2]=c[(c[k>>2]|0)+120>>2];c[(c[k>>2]|0)+120>>2]=c[m>>2];c[(c[m>>2]|0)+4>>2]=c[i>>2];c[(c[m>>2]|0)+8>>2]=c[h>>2];h=(c[k>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[k>>2]|0)+44|0;i=(c[h>>2]|0)+1|0;c[h>>2]=i;c[(c[m>>2]|0)+12>>2]=i;k=(c[k>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}while(0);c[j>>2]=c[(c[m>>2]|0)+12>>2]}c[f>>2]=c[j>>2];m=c[f>>2]|0;l=n;return m|0}function lB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;ey(c[f>>2]|0,73,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+12>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+12>>2]|0)+28>>2]=0;l=e;return}function mB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+40|0;f=r+36|0;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[f>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=Lu(c[f>>2]|0)|0;c[p>>2]=Pv(c[n>>2]|0)|0;if((d[(c[m>>2]|0)+42>>0]|0)&16|0)a=fw(c[c[f>>2]>>2]|0,c[m>>2]|0)|0;else a=0;c[g>>2]=a;c[o>>2]=1;a:while(1){if((c[o>>2]|0)>=(c[p>>2]|0)){a=18;break}c[h>>2]=uy(c[n>>2]|0,c[o>>2]|0)|0;b:do if((d[c[h>>2]>>0]|0|0)==104?(c[(c[h>>2]|0)+12>>2]|0)==(c[k>>2]|0):0){c[j>>2]=c[(c[h>>2]|0)+8>>2];if((c[j>>2]|0)==(c[(c[m>>2]|0)+28>>2]|0)){a=8;break a}c[i>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[i>>2]|0))break b;if((c[j>>2]|0)==(c[(c[i>>2]|0)+44>>2]|0)){a=12;break a}c[i>>2]=c[(c[i>>2]|0)+20>>2]}}while(0);if((d[c[h>>2]>>0]|0|0)==155?(c[(c[h>>2]|0)+16>>2]|0)==(c[g>>2]|0):0){a=16;break}c[o>>2]=(c[o>>2]|0)+1}if((a|0)==8){c[q>>2]=1;q=c[q>>2]|0;l=r;return q|0}else if((a|0)==12){c[q>>2]=1;q=c[q>>2]|0;l=r;return q|0}else if((a|0)==16){c[q>>2]=1;q=c[q>>2]|0;l=r;return q|0}else if((a|0)==18){c[q>>2]=0;q=c[q>>2]|0;l=r;return q|0}return 0}function nB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;j=e+16|0;g=e+12|0;h=e+8|0;i=e+4|0;f=e;c[j>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=c[(c[j>>2]|0)+8>>2];Wy(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);b=(c[j>>2]|0)+44|0;d=(c[b>>2]|0)+1|0;c[b>>2]=d;c[f>>2]=d;Qu(c[i>>2]|0,84,c[h>>2]|0,c[f>>2]|0)|0;mz(c[g>>2]|0,c[f>>2]|0);l=e;return}function oB(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;i=n;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[i>>2]=Gs(c[g>>2]|0)|0;f=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=Cd(0,f,((f|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){Od(c[i>>2]|0);l=n;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+13>>0]|0;c[k>>2]=(c[k>>2]|0)+1}do{f=c[m>>2]|0;i=c[k>>2]|0;c[k>>2]=i+-1;a[f+i>>0]=0;if((c[k>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[k>>2]=md(c[m>>2]|0)|0;if(!(c[k>>2]|0)){l=n;return}d=c[g>>2]|0;if(c[j>>2]|0){Uu(d,98,c[j>>2]|0,c[k>>2]|0,0,c[m>>2]|0,c[k>>2]|0)|0;l=n;return}else{Vu(d,-1,c[m>>2]|0,c[k>>2]|0);l=n;return}}function pB(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;u=v+36|0;w=v+32|0;m=v+28|0;n=v+24|0;o=v+20|0;p=v+16|0;q=v+12|0;r=v+8|0;s=v+4|0;t=v;c[u>>2]=a;c[w>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;c[t>>2]=c[w>>2];while(1){if(!(c[t>>2]|0))break;if(((d[(c[t>>2]|0)+8>>0]|0|0)==(c[m>>2]|0)?(d[(c[t>>2]|0)+9>>0]|0|0)==(c[o>>2]|0):0)?oE(c[(c[t>>2]|0)+16>>2]|0,c[n>>2]|0)|0:0)HD(c[u>>2]|0,c[t>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0);c[t>>2]=c[(c[t>>2]|0)+32>>2]}l=v;return}function qB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){l=h;return}Qu(c[(c[e>>2]|0)+8>>2]|0,145,c[f>>2]|0,c[g>>2]|0)|0;l=h;return}function rB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if(d[(c[f>>2]|0)+23>>0]|0|0?ez(c[g>>2]|0)|0:0){Bz(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);l=i;return}Wy(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);l=i;return}function sB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[d>>2]=b;a=c[k>>2]|0;if(c[(c[k>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[e>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+412>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[e>>2]|0)+460>>2]|0)+(c[f>>2]<<2)>>2]|0)){i=10;break}c[f>>2]=(c[f>>2]|0)+1}if((i|0)==10){l=j;return}c[g>>2]=(c[(c[e>>2]|0)+412>>2]|0)+1<<2;k=c[g>>2]|0;c[h>>2]=ee(c[(c[e>>2]|0)+460>>2]|0,k,((k|0)<0)<<31>>31)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+460>>2]=c[h>>2];h=c[d>>2]|0;i=c[(c[e>>2]|0)+460>>2]|0;g=(c[e>>2]|0)+412|0;k=c[g>>2]|0;c[g>>2]=k+1;c[i+(k<<2)>>2]=h;l=j;return}else{Od(c[c[e>>2]>>2]|0);l=j;return}}function tB(f,g,h,i,j,k,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=l;l=l+192|0;C=na;E=na+176|0;F=na+172|0;G=na+168|0;H=na+164|0;I=na+160|0;J=na+156|0;K=na+152|0;L=na+183|0;M=na+182|0;N=na+148|0;O=na+144|0;s=na+140|0;P=na+136|0;Q=na+132|0;R=na+128|0;S=na+124|0;T=na+120|0;U=na+116|0;t=na+112|0;V=na+108|0;u=na+104|0;W=na+100|0;X=na+96|0;Y=na+92|0;Z=na+88|0;_=na+181|0;$=na+180|0;aa=na+84|0;v=na+80|0;w=na+76|0;x=na+72|0;y=na+68|0;z=na+64|0;A=na+60|0;B=na+56|0;ba=na+52|0;ca=na+48|0;da=na+44|0;ea=na+40|0;fa=na+36|0;ga=na+32|0;ha=na+28|0;ia=na+24|0;ja=na+20|0;ka=na+16|0;la=na+12|0;ma=na+8|0;c[E>>2]=f;c[F>>2]=g;c[G>>2]=h;c[H>>2]=i;c[I>>2]=j;c[J>>2]=k;c[K>>2]=m;a[L>>0]=n;a[M>>0]=o;c[N>>2]=p;c[O>>2]=q;c[s>>2]=r;c[R>>2]=0;c[W>>2]=0;c[Y>>2]=0;c[Z>>2]=0;a[$>>0]=0;c[aa>>2]=-1;a[_>>0]=(c[K>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[P>>2]=Lu(c[E>>2]|0)|0;c[t>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[R>>2]=0;c[X>>2]=1}else{c[R>>2]=uv(c[F>>2]|0)|0;c[X>>2]=e[(c[R>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[t>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if(c[s>>2]|0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[V>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+12>>0];if(c[V>>2]|0){if((d[M>>0]|0)==10){if((c[V>>2]|0)==10)c[V>>2]=2}else c[V>>2]=d[M>>0];if((c[V>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0)==0:0)c[V>>2]=2;switch(c[V>>2]|0){case 2:{gw(c[E>>2]|0);break}case 3:case 1:break;case 4:{Qu(c[P>>2]|0,34,(c[J>>2]|0)+1+(c[T>>2]|0)|0,c[N>>2]|0)|0;break a}default:{c[u>>2]=ey(c[P>>2]|0,35,(c[J>>2]|0)+1+(c[T>>2]|0)|0)|0;Wy(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[J>>2]|0)+1+(c[T>>2]|0)|0);ny(c[P>>2]|0,c[u>>2]|0);break a}}p=c[S>>2]|0;o=c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)>>2]|0;c[C>>2]=c[c[F>>2]>>2];c[C+4>>2]=o;c[v>>2]=Wj(p,29580,C)|0;Uu(c[P>>2]|0,74,1299,c[V>>2]|0,(c[J>>2]|0)+1+(c[T>>2]|0)|0,c[v>>2]|0,-1)|0;jy(c[P>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if(c[(c[F>>2]|0)+24>>2]|0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[w>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+56>>2]=(c[J>>2]|0)+1;c[V>>2]=(d[M>>0]|0)!=10?d[M>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[w>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!(c[s>>2]|0?(xD(c[y>>2]|0,c[s>>2]|0,d[L>>0]|0)|0)!=0:0)){c[x>>2]=ky(c[P>>2]|0)|0;oz(c[E>>2]|0,c[y>>2]|0,c[x>>2]|0,16);if((c[V>>2]|0)==4)my(c[P>>2]|0,c[N>>2]|0)|0;else{c[z>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[z>>2]|0))c[z>>2]=c[c[F>>2]>>2];if((c[V>>2]|0)==5)c[V>>2]=2;Hy(c[E>>2]|0,275,c[V>>2]|0,c[z>>2]|0,0,3)}oy(c[P>>2]|0,c[x>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[L>>0]|0)!=0&(c[R>>2]|0)==0){c[A>>2]=ky(c[P>>2]|0)|0;c[V>>2]=d[(c[F>>2]|0)+43>>0];if((d[M>>0]|0)==10){if((c[V>>2]|0)==10)c[V>>2]=2}else c[V>>2]=d[M>>0];if(a[_>>0]|0){Ru(c[P>>2]|0,37,c[J>>2]|0,c[A>>2]|0,c[K>>2]|0)|0;jy(c[P>>2]|0,-112)}c:do if((c[V>>2]|0)==5?(d[M>>0]|0)!=5:0){c[Q>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[Q>>2]|0))break c;if((d[(c[Q>>2]|0)+54>>0]|0)==4)break;if((d[(c[Q>>2]|0)+54>>0]|0)==3)break;c[Q>>2]=c[(c[Q>>2]|0)+20>>2]}c[Y>>2]=Nu(c[P>>2]|0,13)|0}while(0);Ru(c[P>>2]|0,33,c[H>>2]|0,c[A>>2]|0,c[J>>2]|0)|0;switch(c[V>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[B>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144|0)c[B>>2]=gB(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if(!(c[B>>2]|0)?!(zD(c[E>>2]|0,c[F>>2]|0,0,0)|0):0){if(c[(c[F>>2]|0)+8>>2]|0){AD(c[E>>2]|0);CD(c[E>>2]|0,c[F>>2]|0,c[H>>2]|0,c[I>>2]|0,0,-1)}}else{AD(c[E>>2]|0);BD(c[E>>2]|0,c[F>>2]|0,c[B>>2]|0,c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,1,0,5,1,-1)}c[W>>2]=1;break}case 4:{my(c[P>>2]|0,c[N>>2]|0)|0;break}default:{c[V>>2]=2;D=55}}if((D|0)==55)yD(c[E>>2]|0,c[V>>2]|0,c[F>>2]|0);oy(c[P>>2]|0,c[A>>2]|0);if(c[Y>>2]|0){c[Z>>2]=Nu(c[P>>2]|0,13)|0;ny(c[P>>2]|0,c[Y>>2]|0)}}c[U>>2]=0;c[Q>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[Q>>2]|0))break;do if(c[(c[G>>2]|0)+(c[U>>2]<<2)>>2]|0){if(!(d[$>>0]|0)){oB(c[P>>2]|0,c[F>>2]|0,(c[J>>2]|0)+1|0);a[$>>0]=1}c[da>>2]=(c[I>>2]|0)+(c[U>>2]|0);c[ea>>2]=ky(c[P>>2]|0)|0;if(c[(c[Q>>2]|0)+36>>2]|0){Qu(c[P>>2]|0,79,0,c[(c[G>>2]|0)+(c[U>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+56>>2]=(c[J>>2]|0)+1;Ly(c[E>>2]|0,c[(c[Q>>2]|0)+36>>2]|0,c[ea>>2]|0,16);c[(c[E>>2]|0)+56>>2]=0}c[ba>>2]=My(c[E>>2]|0,e[(c[Q>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[Q>>2]|0)+52>>1]|0))break;c[fa>>2]=b[(c[(c[Q>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[fa>>2]|0)==-2){c[(c[E>>2]|0)+56>>2]=(c[J>>2]|0)+1;Sy(c[E>>2]|0,c[(c[(c[(c[Q>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ba>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+56>>2]=0}else{if((c[fa>>2]|0)!=-1?(c[fa>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[ga>>2]=(c[fa>>2]|0)+(c[J>>2]|0)+1;else{if((c[aa>>2]|0)==((c[ba>>2]|0)+(c[T>>2]|0)|0))break;c[ga>>2]=c[J>>2];if(c[(c[Q>>2]|0)+36>>2]|0)f=-1;else f=(c[ba>>2]|0)+(c[T>>2]|0)|0;c[aa>>2]=f}Qu(c[P>>2]|0,(c[fa>>2]|0)<0?86:85,c[ga>>2]|0,(c[ba>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}Ru(c[P>>2]|0,99,c[ba>>2]|0,e[(c[Q>>2]|0)+52>>1]|0,c[(c[G>>2]|0)+(c[U>>2]<<2)>>2]|0)|0;$y(c[E>>2]|0,c[ba>>2]|0,e[(c[Q>>2]|0)+52>>1]|0);if((d[_>>0]|0?(c[R>>2]|0)==(c[Q>>2]|0):0)?(d[L>>0]|0)==0:0){oy(c[P>>2]|0,c[ea>>2]|0);break}c[V>>2]=d[(c[Q>>2]|0)+54>>0];if(!(c[V>>2]|0)){Py(c[E>>2]|0,c[ba>>2]|0,e[(c[Q>>2]|0)+52>>1]|0);oy(c[P>>2]|0,c[ea>>2]|0);break}if((d[M>>0]|0)==10){if((c[V>>2]|0)==10)c[V>>2]=2}else c[V>>2]=d[M>>0];zy(c[P>>2]|0,29,c[da>>2]|0,c[ea>>2]|0,c[ba>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0;if((c[Q>>2]|0)==(c[R>>2]|0))f=c[ba>>2]|0;else f=My(c[E>>2]|0,c[X>>2]|0)|0;c[ca>>2]=f;d:do if((d[_>>0]|0)!=0|(c[V>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){Qu(c[P>>2]|0,129,c[da>>2]|0,c[ca>>2]|0)|0;if(!(a[_>>0]|0))break;Ru(c[P>>2]|0,37,c[ca>>2]|0,c[ea>>2]|0,c[K>>2]|0)|0;jy(c[P>>2]|0,-112);break}e:do if((c[Q>>2]|0)!=(c[R>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[R>>2]|0)+50>>1]|0))break e;c[ha>>2]=(Uy(c[Q>>2]|0,b[(c[(c[R>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;Ru(c[P>>2]|0,96,c[da>>2]|0,c[ha>>2]|0,(c[ca>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[_>>0]|0){D=Pv(c[P>>2]|0)|0;c[ia>>2]=D+(e[(c[R>>2]|0)+50>>1]|0);c[ja>>2]=36;c[ka>>2]=(a[(c[Q>>2]|0)+55>>0]&3|0)==2?c[ba>>2]|0:c[ca>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[R>>2]|0)+50>>1]|0))break d;c[la>>2]=ly(c[E>>2]|0,c[(c[(c[R>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ha>>2]=b[(c[(c[R>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[R>>2]|0)+50>>1]|0)-1|0)){c[ia>>2]=c[ea>>2];c[ja>>2]=37}Uu(c[P>>2]|0,c[ja>>2]|0,(c[K>>2]|0)+1+(c[ha>>2]|0)|0,c[ia>>2]|0,(c[ka>>2]|0)+(c[T>>2]|0)|0,c[la>>2]|0,-4)|0;jy(c[P>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[V>>2]|0){case 3:case 2:case 1:{Gy(c[E>>2]|0,c[V>>2]|0,c[Q>>2]|0);break}case 4:{my(c[P>>2]|0,c[N>>2]|0)|0;break}default:{c[ma>>2]=0;AD(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144|0)c[ma>>2]=gB(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;BD(c[E>>2]|0,c[F>>2]|0,c[ma>>2]|0,c[H>>2]|0,c[I>>2]|0,c[ca>>2]|0,c[X>>2]&65535,0,5,((c[Q>>2]|0)==(c[R>>2]|0)?1:0)&255,-1);c[W>>2]=1}}oy(c[P>>2]|0,c[ea>>2]|0);Py(c[E>>2]|0,c[ba>>2]|0,e[(c[Q>>2]|0)+52>>1]|0);if((c[ca>>2]|0)!=(c[ba>>2]|0))Py(c[E>>2]|0,c[ca>>2]|0,c[X>>2]|0)}while(0);c[Q>>2]=c[(c[Q>>2]|0)+20>>2];c[U>>2]=(c[U>>2]|0)+1}if(!(c[Y>>2]|0)){la=c[W>>2]|0;ma=c[O>>2]|0;c[ma>>2]=la;l=na;return}my(c[P>>2]|0,(c[Y>>2]|0)+1|0)|0;ny(c[P>>2]|0,c[Z>>2]|0);la=c[W>>2]|0;ma=c[O>>2]|0;c[ma>>2]=la;l=na;return}function uB(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+112|0;J=O+108|0;K=O+104|0;L=O+100|0;M=O+96|0;k=O+92|0;m=O+88|0;n=O+84|0;o=O+80|0;p=O+76|0;q=O+72|0;r=O+68|0;s=O+64|0;t=O+60|0;u=O+56|0;v=O+52|0;w=O+48|0;x=O+44|0;y=O+40|0;z=O+36|0;A=O+32|0;B=O+28|0;C=O+24|0;D=O+20|0;E=O+16|0;F=O+12|0;G=O+8|0;H=O+4|0;I=O;c[J>>2]=e;c[K>>2]=f;c[L>>2]=g;c[M>>2]=h;c[k>>2]=i;c[m>>2]=j;c[n>>2]=c[c[J>>2]>>2];c[r>>2]=d[(c[J>>2]|0)+150>>0];if(!(c[(c[n>>2]|0)+24>>2]&524288)){l=O;return}c[p>>2]=Hu(c[n>>2]|0,c[(c[K>>2]|0)+64>>2]|0)|0;c[q>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[o>>2]=c[(c[K>>2]|0)+16>>2];a:while(1){if(!(c[o>>2]|0)){N=39;break}c[t>>2]=0;c[u>>2]=0;c[y>>2]=0;if(!((c[k>>2]|0?kl(c[c[K>>2]>>2]|0,c[(c[o>>2]|0)+8>>2]|0)|0:0)?!(yB(c[K>>2]|0,c[o>>2]|0,c[k>>2]|0,c[m>>2]|0)|0):0))N=7;do if((N|0)==7){N=0;if(a[(c[J>>2]|0)+150>>0]|0)c[s>>2]=gv(c[n>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[q>>2]|0)|0;else c[s>>2]=ev(c[J>>2]|0,0,c[(c[o>>2]|0)+8>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0?(BA(c[J>>2]|0,c[s>>2]|0,c[o>>2]|0,t,u)|0)==0:0){if(c[u>>2]|0)c[v>>2]=c[u>>2];else{c[w>>2]=c[(c[o>>2]|0)+36>>2];c[v>>2]=w}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;if((c[(c[v>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[K>>2]|0)+32>>1]|0))c[(c[v>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[n>>2]|0)+296>>2]|0){if(c[t>>2]|0)e=b[(c[(c[t>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else e=b[(c[s>>2]|0)+32>>1]|0;c[D>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+(e<<16>>16<<4)>>2];c[C>>2]=yx(c[J>>2]|0,c[c[s>>2]>>2]|0,c[D>>2]|0,c[p>>2]|0)|0;c[y>>2]=(c[C>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}gy(c[J>>2]|0,c[p>>2]|0,c[(c[s>>2]|0)+28>>2]|0,0,c[c[s>>2]>>2]|0);j=(c[J>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+1;if(c[L>>2]|0)zB(c[J>>2]|0,c[p>>2]|0,c[s>>2]|0,c[t>>2]|0,c[o>>2]|0,c[v>>2]|0,c[L>>2]|0,-1,c[y>>2]|0);if(c[M>>2]|0?(AB(c[J>>2]|0,c[o>>2]|0)|0)==0:0)zB(c[J>>2]|0,c[p>>2]|0,c[s>>2]|0,c[t>>2]|0,c[o>>2]|0,c[v>>2]|0,c[M>>2]|0,1,c[y>>2]|0);Xd(c[n>>2]|0,c[u>>2]|0);break}if(!(c[r>>2]|0)){N=59;break a}if(d[(c[n>>2]|0)+69>>0]|0){N=59;break a}if(!(c[s>>2]|0)){c[z>>2]=Lu(c[J>>2]|0)|0;j=Pv(c[z>>2]|0)|0;c[A>>2]=j+(c[(c[o>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[o>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[L>>2]|0)+1;Qu(c[z>>2]|0,34,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}Qu(c[z>>2]|0,144,d[(c[o>>2]|0)+24>>0]|0,-1)|0}}while(0);c[o>>2]=c[(c[o>>2]|0)+4>>2]}if((N|0)==39){c[o>>2]=iw(c[K>>2]|0)|0;b:while(1){if(!(c[o>>2]|0)){N=59;break}c[E>>2]=0;c[G>>2]=0;if(!(c[k>>2]|0?!(BB(c[K>>2]|0,c[o>>2]|0,c[k>>2]|0,c[m>>2]|0)|0):0))N=43;do if((N|0)==43){N=0;if((((a[(c[o>>2]|0)+24>>0]|0)==0?(c[(c[n>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[J>>2]|0)+124>>2]|0)==0:0)?(a[(c[J>>2]|0)+20>>0]|0)==0:0)break;if(BA(c[J>>2]|0,c[K>>2]|0,c[o>>2]|0,E,G)|0){if(!(c[r>>2]|0)){N=59;break b}if(d[(c[n>>2]|0)+69>>0]|0){N=59;break b}else break}c[F>>2]=Lt(c[n>>2]|0,0,0,0)|0;if(c[F>>2]|0){c[H>>2]=(c[F>>2]|0)+8;c[(c[H>>2]|0)+16>>2]=c[c[o>>2]>>2];c[(c[H>>2]|0)+8>>2]=c[c[c[o>>2]>>2]>>2];C=(c[(c[H>>2]|0)+16>>2]|0)+36|0;b[C>>1]=(b[C>>1]|0)+1<<16>>16;C=(c[J>>2]|0)+40|0;D=c[C>>2]|0;c[C>>2]=D+1;c[(c[H>>2]|0)+44>>2]=D;if(c[M>>2]|0)CB(c[J>>2]|0,c[F>>2]|0,c[K>>2]|0,c[E>>2]|0,c[o>>2]|0,c[G>>2]|0,c[M>>2]|0,-1);if(c[L>>2]|0?(c[I>>2]=d[(c[o>>2]|0)+25+((c[k>>2]|0)!=0&1)>>0],CB(c[J>>2]|0,c[F>>2]|0,c[K>>2]|0,c[E>>2]|0,c[o>>2]|0,c[G>>2]|0,c[L>>2]|0,1),((c[I>>2]|0)!=9?(a[(c[o>>2]|0)+24>>0]|0)==0:0)&(c[I>>2]|0)!=7):0)gw(c[J>>2]|0);c[(c[H>>2]|0)+8>>2]=0;Rk(c[n>>2]|0,c[F>>2]|0)}Xd(c[n>>2]|0,c[G>>2]|0)}while(0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((N|0)==59){l=O;return}}else if((N|0)==59){l=O;return}}function vB(e,f,g,h,i,j,k,m,n){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+64|0;D=E+52|0;o=E+48|0;p=E+44|0;q=E+40|0;r=E+36|0;s=E+32|0;t=E+28|0;u=E+24|0;v=E+20|0;w=E+16|0;x=E+12|0;y=E+57|0;z=E+8|0;A=E+4|0;B=E;C=E+56|0;c[D>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=m;c[v>>2]=n;a[C>>0]=0;c[w>>2]=Lu(c[D>>2]|0)|0;c[B>>2]=0;c[x>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;if(c[(c[s>>2]|0)+(c[B>>2]<<2)>>2]|0){a[C>>0]=1;if(c[(c[x>>2]|0)+36>>2]|0){m=c[w>>2]|0;n=c[(c[s>>2]|0)+(c[B>>2]<<2)>>2]|0;Qu(m,34,n,(Pv(c[w>>2]|0)|0)+2|0)|0}Qu(c[w>>2]|0,126,(c[q>>2]|0)+(c[B>>2]|0)|0,c[(c[s>>2]|0)+(c[B>>2]<<2)>>2]|0)|0;a[y>>0]=0;a[y>>0]=c[v>>2]|0?16:0;if((a[(c[x>>2]|0)+55>>0]&3|0)==2?d[(c[o>>2]|0)+42>>0]&32|0:0)a[y>>0]=d[y>>0]|1;jy(c[w>>2]|0,a[y>>0]|0)}c[x>>2]=c[(c[x>>2]|0)+20>>2];c[B>>2]=(c[B>>2]|0)+1}if(d[(c[o>>2]|0)+42>>0]&32|0){l=E;return}c[z>>2]=(c[r>>2]|0)+1;c[A>>2]=Ov(c[D>>2]|0)|0;Ru(c[w>>2]|0,99,c[z>>2]|0,b[(c[o>>2]|0)+34>>1]|0,c[A>>2]|0)|0;if(!(a[C>>0]|0))oB(c[w>>2]|0,c[o>>2]|0,0);$y(c[D>>2]|0,c[z>>2]|0,b[(c[o>>2]|0)+34>>1]|0);if(a[(c[D>>2]|0)+18>>0]|0)a[y>>0]=0;else{a[y>>0]=1;a[y>>0]=d[y>>0]|(c[t>>2]|0?4:2)}if(c[u>>2]|0)a[y>>0]=d[y>>0]|8;if(c[v>>2]|0)a[y>>0]=d[y>>0]|16;Ru(c[w>>2]|0,115,c[p>>2]|0,c[A>>2]|0,c[r>>2]|0)|0;if(!(a[(c[D>>2]|0)+18>>0]|0))Vu(c[w>>2]|0,-1,c[o>>2]|0,-20);jy(c[w>>2]|0,a[y>>0]|0);l=E;return}function wB(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+120>>2]|0)){l=d;return}xB(c[b>>2]|0);l=d;return}function xB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];c[g>>2]=c[c[d>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[e>>2]|0)){b=5;break}c[i>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[e>>2]|0)+8>>2]<<4);c[k>>2]=c[(c[e>>2]|0)+12>>2];c[j>>2]=Ov(c[d>>2]|0)|0;hy(c[d>>2]|0,0,c[(c[e>>2]|0)+8>>2]|0,c[(c[(c[i>>2]|0)+12>>2]|0)+72>>2]|0,105);c[h>>2]=mA(c[f>>2]|0,5,34e3,0)|0;if(!(c[h>>2]|0)){b=5;break}c[(c[h>>2]|0)+4>>2]=(c[k>>2]|0)+1;c[(c[h>>2]|0)+20+8>>2]=(c[k>>2]|0)+1;c[(c[h>>2]|0)+40+4>>2]=(c[k>>2]|0)-1;c[(c[h>>2]|0)+40+12>>2]=c[j>>2];c[(c[h>>2]|0)+60+8>>2]=c[j>>2];c[(c[h>>2]|0)+60+12>>2]=(c[k>>2]|0)+1;a[(c[h>>2]|0)+60+3>>0]=8;Qv(c[d>>2]|0,c[j>>2]|0);c[e>>2]=c[c[e>>2]>>2]}if((b|0)==5){l=m;return}}function yB(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;g=o;c[h>>2]=a;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[i>>2]|0)+20>>2]|0)){a=8;break}c[g>>2]=c[(c[i>>2]|0)+36+(c[m>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[g>>2]<<2)>>2]|0)>=0){a=4;break}if(c[k>>2]|0?(c[g>>2]|0)==(b[(c[h>>2]|0)+32>>1]|0):0){a=6;break}c[m>>2]=(c[m>>2]|0)+1}if((a|0)==4){c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else if((a|0)==6){c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else if((a|0)==8){c[n>>2]=0;n=c[n>>2]|0;l=o;return n|0}return 0}function zB(e,f,g,h,i,j,k,m,n){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+96|0;J=K+84|0;o=K+80|0;p=K+76|0;q=K+72|0;r=K+68|0;s=K+64|0;t=K+60|0;u=K+56|0;v=K+52|0;w=K+48|0;x=K+44|0;y=K+40|0;z=K+36|0;A=K+32|0;B=K+28|0;C=K+24|0;D=K+20|0;E=K+16|0;F=K+12|0;G=K+8|0;H=K+4|0;I=K;c[J>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=m;c[v>>2]=n;c[x>>2]=Lu(c[J>>2]|0)|0;c[y>>2]=(c[(c[J>>2]|0)+40>>2]|0)-1;c[z>>2]=ky(c[x>>2]|0)|0;if((c[u>>2]|0)<0)Qu(c[x>>2]|0,65,d[(c[r>>2]|0)+24>>0]|0,c[z>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;c[A>>2]=(c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0)+(c[t>>2]|0)+1;Qu(c[x>>2]|0,34,c[A>>2]|0,c[z>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}do if(!(c[v>>2]|0)){if(!(c[q>>2]|0)){c[C>>2]=Ov(c[J>>2]|0)|0;Qu(c[x>>2]|0,85,(c[c[s>>2]>>2]|0)+1+(c[t>>2]|0)|0,c[C>>2]|0)|0;c[B>>2]=Qu(c[x>>2]|0,17,c[C>>2]|0,0)|0;if((c[u>>2]|0)==1?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){Ru(c[x>>2]|0,37,c[t>>2]|0,c[z>>2]|0,c[C>>2]|0)|0;jy(c[x>>2]|0,-112)}hy(c[J>>2]|0,c[y>>2]|0,c[o>>2]|0,c[p>>2]|0,104);Ru(c[x>>2]|0,33,c[y>>2]|0,0,c[C>>2]|0)|0;my(c[x>>2]|0,c[z>>2]|0)|0;n=c[x>>2]|0;ny(n,(Pv(c[x>>2]|0)|0)-2|0);ny(c[x>>2]|0,c[B>>2]|0);Qv(c[J>>2]|0,c[C>>2]|0);break}c[D>>2]=c[(c[r>>2]|0)+20>>2];c[E>>2]=My(c[J>>2]|0,c[D>>2]|0)|0;c[F>>2]=Ov(c[J>>2]|0)|0;Ru(c[x>>2]|0,104,c[y>>2]|0,c[(c[q>>2]|0)+44>>2]|0,c[o>>2]|0)|0;iy(c[J>>2]|0,c[q>>2]|0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[D>>2]|0))break;Qu(c[x>>2]|0,84,(c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0)+1+(c[t>>2]|0)|0,(c[E>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)==1?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){n=Pv(c[x>>2]|0)|0;c[G>>2]=n+(c[D>>2]|0)+1;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[D>>2]|0))break;c[H>>2]=(c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0)+1+(c[t>>2]|0);c[I>>2]=(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)+1+(c[t>>2]|0);if((b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)==(b[(c[p>>2]|0)+32>>1]|0))c[I>>2]=c[t>>2];Ru(c[x>>2]|0,36,c[H>>2]|0,c[G>>2]|0,c[I>>2]|0)|0;jy(c[x>>2]|0,16);c[w>>2]=(c[w>>2]|0)+1}my(c[x>>2]|0,c[z>>2]|0)|0}i=c[x>>2]|0;j=c[E>>2]|0;k=c[D>>2]|0;m=c[F>>2]|0;n=CA(c[c[J>>2]>>2]|0,c[q>>2]|0)|0;Uu(i,99,j,k,m,n,c[D>>2]|0)|0;zy(c[x>>2]|0,31,c[y>>2]|0,c[z>>2]|0,c[F>>2]|0,0)|0;Qv(c[J>>2]|0,c[F>>2]|0);Py(c[J>>2]|0,c[E>>2]|0,c[D>>2]|0)}while(0);if((((a[(c[r>>2]|0)+24>>0]|0)==0?(c[(c[c[J>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[J>>2]|0)+124>>2]|0)==0:0)?(a[(c[J>>2]|0)+20>>0]|0)==0:0){Hy(c[J>>2]|0,787,2,0,-2,4);J=c[x>>2]|0;n=c[z>>2]|0;oy(J,n);n=c[x>>2]|0;J=c[y>>2]|0;ey(n,111,J)|0;l=K;return}if((c[u>>2]|0)>0?(d[(c[r>>2]|0)+24>>0]|0)==0:0)gw(c[J>>2]|0);Qu(c[x>>2]|0,144,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;J=c[x>>2]|0;n=c[z>>2]|0;oy(J,n);n=c[x>>2]|0;J=c[y>>2]|0;ey(n,111,J)|0;l=K;return}function AB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+16|0;j=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[f>>2]=b;a=c[j>>2]|0;if(c[(c[j>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[g>>2]=a;do if(c[(c[g>>2]|0)+468>>2]|0){c[h>>2]=c[c[(c[g>>2]|0)+468>>2]>>2];if(!((c[h>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[h>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}while(0);c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}function BB(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+32|0;m=s+28|0;n=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;h=s+8|0;i=s+4|0;j=s;c[m>>2]=a;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=0;a:while(1){if((c[q>>2]|0)>=(c[(c[n>>2]|0)+20>>2]|0)){r=14;break}c[h>>2]=c[(c[n>>2]|0)+36+(c[q>>2]<<3)+4>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(b[(c[m>>2]|0)+34>>1]|0))break;if(!((c[(c[o>>2]|0)+(c[i>>2]<<2)>>2]|0)<0?!(c[p>>2]|0?(c[i>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[j>>2]=(c[(c[m>>2]|0)+4>>2]|0)+(c[i>>2]<<4);a=c[j>>2]|0;if(c[h>>2]|0)if(!(bh(c[a>>2]|0,c[h>>2]|0)|0)){r=9;break a}else break;else if(d[a+15>>0]&1|0){r=11;break a}else break}while(0);c[i>>2]=(c[i>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}if((r|0)==9){c[k>>2]=1;r=c[k>>2]|0;l=s;return r|0}else if((r|0)==11){c[k>>2]=1;r=c[k>>2]|0;l=s;return r|0}else if((r|0)==14){c[k>>2]=0;r=c[k>>2]|0;l=s;return r|0}return 0}function CB(a,f,g,h,i,j,k,m){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+144|0;M=O+128|0;N=O+124|0;n=O+120|0;o=O+116|0;p=O+112|0;q=O+108|0;r=O+104|0;s=O+100|0;t=O+96|0;u=O+92|0;v=O+88|0;w=O+56|0;x=O+48|0;y=O+44|0;z=O+40|0;A=O+36|0;B=O+32|0;C=O+28|0;D=O+134|0;E=O+24|0;F=O+20|0;G=O+16|0;H=O+12|0;I=O+8|0;J=O+4|0;K=O;L=O+132|0;c[M>>2]=a;c[N>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;c[s>>2]=m;c[t>>2]=c[c[M>>2]>>2];c[v>>2]=0;c[y>>2]=0;c[z>>2]=Lu(c[M>>2]|0)|0;if((c[s>>2]|0)<0)c[y>>2]=Qu(c[z>>2]|0,65,d[(c[p>>2]|0)+24>>0]|0,0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;if(c[o>>2]|0)a=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0;else a=-1;b[D>>1]=a;c[A>>2]=DB(c[M>>2]|0,c[n>>2]|0,c[r>>2]|0,b[D>>1]|0)|0;if(c[q>>2]|0)a=(c[q>>2]|0)+(c[u>>2]<<2)|0;else a=(c[p>>2]|0)+36|0;b[D>>1]=c[a>>2];c[E>>2]=c[(c[(c[c[p>>2]>>2]|0)+4>>2]|0)+(b[D>>1]<<4)>>2];c[B>>2]=Ht(c[t>>2]|0,55,c[E>>2]|0)|0;c[C>>2]=pt(c[M>>2]|0,37,c[A>>2]|0,c[B>>2]|0,0)|0;c[v>>2]=Mx(c[t>>2]|0,c[v>>2]|0,c[C>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+1}if((c[s>>2]|0)>0?(c[n>>2]|0)==(c[c[p>>2]>>2]|0):0){if(!(d[(c[n>>2]|0)+42>>0]&32)){c[G>>2]=DB(c[M>>2]|0,c[n>>2]|0,c[r>>2]|0,-1)|0;c[H>>2]=EB(c[t>>2]|0,c[n>>2]|0,c[(c[N>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=pt(c[M>>2]|0,36,c[G>>2]|0,c[H>>2]|0,0)|0}else{c[J>>2]=0;c[K>>2]=uv(c[n>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(e[(c[K>>2]|0)+50>>1]|0))break;b[L>>1]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0;c[G>>2]=DB(c[M>>2]|0,c[n>>2]|0,c[r>>2]|0,b[L>>1]|0)|0;c[H>>2]=EB(c[t>>2]|0,c[n>>2]|0,c[(c[N>>2]|0)+8+44>>2]|0,b[L>>1]|0)|0;c[I>>2]=pt(c[M>>2]|0,37,c[G>>2]|0,c[H>>2]|0,0)|0;c[J>>2]=Mx(c[t>>2]|0,c[J>>2]|0,c[I>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+1}c[F>>2]=pt(c[M>>2]|0,19,c[J>>2]|0,0,0)|0}c[v>>2]=Mx(c[t>>2]|0,c[v>>2]|0,c[F>>2]|0)|0};c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[w+24>>2]=0;c[w+28>>2]=0;c[w+4>>2]=c[N>>2];c[w>>2]=c[M>>2];Ow(w,c[v>>2]|0)|0;c[x>>2]=FB(c[M>>2]|0,c[N>>2]|0,c[v>>2]|0,0,0,0,0)|0;Qu(c[z>>2]|0,144,d[(c[p>>2]|0)+24>>0]|0,c[s>>2]|0)|0;if(c[x>>2]|0)GB(c[x>>2]|0);Ok(c[t>>2]|0,c[v>>2]|0);if(!(c[y>>2]|0)){l=O;return}ny(c[z>>2]|0,c[y>>2]|0);l=O;return}function DB(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+28|0;o=q+12|0;p=q+8|0;h=q+4|0;i=q;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;b[n>>1]=g;c[i>>2]=c[c[j>>2]>>2];c[o>>2]=Ht(c[i>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;l=q;return p|0}if((b[n>>1]|0)>=0?(b[n>>1]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(b[n>>1]<<4);c[(c[o>>2]|0)+28>>2]=(c[m>>2]|0)+(b[n>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[p>>2]|0)+13>>0]|0;c[h>>2]=c[(c[p>>2]|0)+8>>2];if(!(c[h>>2]|0))c[h>>2]=c[c[(c[i>>2]|0)+8>>2]>>2];c[o>>2]=ix(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0)|0;p=c[o>>2]|0;l=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[m>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;l=q;return p|0}function EB(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+12|0;g=k+8|0;h=k+4|0;i=k+16|0;j=k;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[i>>1]=f;c[j>>2]=Ht(c[m>>2]|0,152,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;l=k;return m|0}c[(c[j>>2]|0)+44>>2]=c[g>>2];c[(c[j>>2]|0)+28>>2]=c[h>>2];b[(c[j>>2]|0)+32>>1]=b[i>>1]|0;m=c[j>>2]|0;l=k;return m|0} +function kY(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;n=u+56|0;o=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;s=u+36|0;t=u+32|0;f=u;g=u+28|0;h=u+24|0;i=u+20|0;j=u+16|0;k=u+12|0;m=u+8|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=c[n>>2];c[r>>2]=c[c[q>>2]>>2];c[s>>2]=c[(c[r>>2]|0)+12>>2];c[t>>2]=0;if(c[(c[q>>2]|0)+60>>2]&4|0){a:do if(c[(c[s>>2]|0)+44>>2]|0){e=KY(c[q>>2]|0)|0;n=f;c[n>>2]=e;c[n+4>>2]=D;n=f;c[t>>2]=LY(c[(c[r>>2]|0)+20>>2]|0,c[n>>2]|0,c[n+4>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0}else{if(!(c[(c[s>>2]|0)+36>>2]|0)){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[s>>2]|0)+12>>2]|0))break a;if(!(d[(c[(c[s>>2]|0)+20>>2]|0)+(c[g>>2]|0)>>0]|0))c[(c[(c[q>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2]=-1;c[g>>2]=(c[g>>2]|0)+1}}c[h>>2]=0;while(1){if(c[t>>2]|0)break a;if((c[h>>2]|0)>=(c[(c[s>>2]|0)+12>>2]|0))break a;if((d[(c[(c[s>>2]|0)+20>>2]|0)+(c[h>>2]|0)>>0]|0|0)==0?(c[k>>2]=(c[(c[q>>2]|0)+8>>2]|0)+(c[h>>2]<<2),c[(c[(c[q>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=0,c[t>>2]=jY(c[n>>2]|0,c[h>>2]|0,i,j)|0,(c[t>>2]|0)==0):0)c[t>>2]=EV(c[s>>2]|0,8,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,152)|0;c[h>>2]=(c[h>>2]|0)+1}}while(0);r=(c[q>>2]|0)+60|0;c[r>>2]=c[r>>2]&-5}if((c[o>>2]|0)<0){c[c[p>>2]>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[s>>2]|0)+12>>2]|0))break;r=c[p>>2]|0;c[r>>2]=(c[r>>2]|0)+(c[(c[(c[q>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}t=c[t>>2]|0;l=u;return t|0}if((c[o>>2]|0)<(c[(c[s>>2]|0)+12>>2]|0)){c[c[p>>2]>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+(c[o>>2]<<2)>>2];t=c[t>>2]|0;l=u;return t|0}else{c[c[p>>2]>>2]=0;c[t>>2]=25;t=c[t>>2]|0;l=u;return t|0}return 0}function lY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;o=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;f=n+4|0;g=n;c[o>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=c[o>>2];c[m>>2]=c[c[k>>2]>>2];c[g>>2]=0;c[f>>2]=LW(c[c[k>>2]>>2]|0,g)|0;if(!(c[f>>2]|0)){c[(c[g>>2]|0)+24>>2]=1;o=(c[g>>2]|0)+32|0;c[o>>2]=0;c[o+4>>2]=-2147483648;o=(c[g>>2]|0)+40|0;c[o>>2]=-1;c[o+4>>2]=2147483647;c[c[g>>2]>>2]=c[m>>2];c[f>>2]=CY(c[(c[k>>2]|0)+52>>2]|0,c[h>>2]|0,(c[g>>2]|0)+52|0)|0}a:do if(!(c[f>>2]|0)){c[f>>2]=DY(c[m>>2]|0,c[g>>2]|0,0)|0;while(1){if(c[f>>2]|0)break a;if(c[(c[g>>2]|0)+60>>2]&1|0)break a;c[f>>2]=Bb[c[j>>2]&255](10572,c[g>>2]|0,c[i>>2]|0)|0;if(c[f>>2]|0)break;c[f>>2]=OW(c[g>>2]|0)|0}if((c[f>>2]|0)==101)c[f>>2]=0}while(0);MW(c[g>>2]|0)|0;l=n;return c[f>>2]|0}function mY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;e=k+24|0;m=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[m>>2];c[i>>2]=c[(c[h>>2]|0)+100>>2];while(1){if(!(c[i>>2]|0))break;if((c[c[i>>2]>>2]|0)==(c[(c[h>>2]|0)+96>>2]|0))break;c[i>>2]=c[(c[i>>2]|0)+12>>2]}do if(c[i>>2]|0){if(c[(c[i>>2]|0)+8>>2]|0)Eb[c[(c[i>>2]|0)+8>>2]&255](c[(c[i>>2]|0)+4>>2]|0)}else{c[j>>2]=0;c[i>>2]=dT(j,16)|0;if(c[i>>2]|0){c[c[i>>2]>>2]=c[(c[h>>2]|0)+96>>2];c[(c[i>>2]|0)+12>>2]=c[(c[h>>2]|0)+100>>2];c[(c[h>>2]|0)+100>>2]=c[i>>2];break}if(c[g>>2]|0)Eb[c[g>>2]&255](c[f>>2]|0);c[e>>2]=c[j>>2];m=c[e>>2]|0;l=k;return m|0}while(0);c[(c[i>>2]|0)+8>>2]=c[g>>2];c[(c[i>>2]|0)+4>>2]=c[f>>2];c[e>>2]=0;m=c[e>>2]|0;l=k;return m|0}function nY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[d>>2]=b;c[e>>2]=c[i>>2];c[g>>2]=0;c[f>>2]=c[(c[e>>2]|0)+100>>2];while(1){if(!(c[f>>2]|0))break;if((c[c[f>>2]>>2]|0)==(c[(c[e>>2]|0)+96>>2]|0))break;c[f>>2]=c[(c[f>>2]|0)+12>>2]}if(!(c[f>>2]|0)){i=c[g>>2]|0;l=h;return i|0}c[g>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[d>>2]|0)){i=c[g>>2]|0;l=h;return i|0}c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=0;i=c[g>>2]|0;l=h;return i|0}function oY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+32|0;i=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;p=n+8|0;g=n+4|0;h=n;c[i>>2]=a;c[o>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[p>>2]=c[i>>2];c[h>>2]=tY(c[p>>2]|0,c[o>>2]|0,c[j>>2]|0,g)|0;if(c[h>>2]|0){p=c[h>>2]|0;l=n;return p|0}c[(c[j>>2]|0)+4>>2]=(c[c[j>>2]>>2]|0)+(c[g>>2]|0);c[c[k>>2]>>2]=0;c[c[m>>2]>>2]=0;pY(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0);p=c[h>>2]|0;l=n;return p|0}function pY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[j+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if((c[c[f>>2]>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[c[g>>2]>>2]=-1;c[c[h>>2]>>2]=-1;l=j;return}d=VR(c[c[f>>2]>>2]|0,i)|0;e=c[f>>2]|0;c[e>>2]=(c[e>>2]|0)+d;if((c[i>>2]|0)==1){d=VR(c[c[f>>2]>>2]|0,i)|0;e=c[f>>2]|0;c[e>>2]=(c[e>>2]|0)+d;c[c[g>>2]>>2]=c[i>>2];c[c[h>>2]>>2]=0;e=VR(c[c[f>>2]>>2]|0,i)|0;g=c[f>>2]|0;c[g>>2]=(c[g>>2]|0)+e}h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+((c[i>>2]|0)-2);l=j;return}function qY(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;m=r+40|0;n=r+36|0;o=r+32|0;p=r+28|0;q=r+24|0;h=r+20|0;s=r+16|0;i=r+12|0;j=r+8|0;k=r+4|0;g=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=0;c[h>>2]=c[m>>2];c[s>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];a=c[h>>2]|0;if((c[(c[s>>2]|0)+48>>2]|0)==2){c[i>>2]=c[a+56>>2];if(c[i>>2]|0){if(!(c[n>>2]|0))a=0;else a=c[(c[i>>2]|0)+24+((c[n>>2]|0)-1<<2)>>2]|0;c[k>>2]=a;c[j>>2]=(c[(c[i>>2]|0)+24+(c[n>>2]<<2)>>2]|0)-(c[k>>2]|0);c[c[o>>2]>>2]=(c[(c[i>>2]|0)+16>>2]|0)+(c[k>>2]|0)}else c[q>>2]=sY(c[(c[h>>2]|0)+52>>2]|0,c[n>>2]|0,c[o>>2]|0,j)|0;if(c[q>>2]|0){s=c[q>>2]|0;l=r;return s|0}c[(c[o>>2]|0)+4>>2]=(c[c[o>>2]>>2]|0)+(c[j>>2]|0);c[c[p>>2]>>2]=0;rY(c[m>>2]|0,c[o>>2]|0,c[p>>2]|0);s=c[q>>2]|0;l=r;return s|0}c[q>>2]=tY(a,c[n>>2]|0,c[o>>2]|0,g)|0;if(c[q>>2]|0){s=c[q>>2]|0;l=r;return s|0}c[(c[o>>2]|0)+4>>2]=(c[c[o>>2]>>2]|0)+(c[g>>2]|0);if((c[g>>2]|0)<=0){c[c[p>>2]>>2]=-1;s=c[q>>2]|0;l=r;return s|0}if((d[c[c[o>>2]>>2]>>0]|0|0)==1){p=1+(VR((c[c[o>>2]>>2]|0)+1|0,c[p>>2]|0)|0)|0;s=c[o>>2]|0;c[s>>2]=(c[s>>2]|0)+p;s=c[q>>2]|0;l=r;return s|0}else{c[c[p>>2]>>2]=0;s=c[q>>2]|0;l=r;return s|0}return 0}function rY(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;n=j+24|0;h=j+20|0;i=j+16|0;m=j+12|0;k=j+8|0;f=j+4|0;g=j;c[n>>2]=a;c[h>>2]=b;c[i>>2]=e;c[m>>2]=c[n>>2];c[k>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];if((c[(c[k>>2]|0)+48>>2]|0)==2)if((c[c[h>>2]>>2]|0)>>>0>=(c[(c[h>>2]|0)+4>>2]|0)>>>0){c[c[i>>2]>>2]=-1;l=j;return}else{m=VR(c[c[h>>2]>>2]|0,f)|0;n=c[h>>2]|0;c[n>>2]=(c[n>>2]|0)+m;n=c[i>>2]|0;c[n>>2]=(c[n>>2]|0)+((c[f>>2]|0)-2);l=j;return}while(1){if((c[c[h>>2]>>2]|0)>>>0>=(c[(c[h>>2]|0)+4>>2]|0)>>>0){a=6;break}b=c[c[h>>2]>>2]|0;if((d[c[c[h>>2]>>2]>>0]|0|0)==1){a=9;break}m=VR(b,g)|0;n=c[h>>2]|0;c[n>>2]=(c[n>>2]|0)+m}if((a|0)==6){c[c[i>>2]>>2]=-1;l=j;return}else if((a|0)==9){m=1+(VR(b+1|0,c[i>>2]|0)|0)|0;n=c[h>>2]|0;c[n>>2]=(c[n>>2]|0)+m;l=j;return}}function sY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;i=o+32|0;p=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;f=o+8|0;g=o+4|0;h=o;c[i>>2]=a;c[p>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=c[(c[(c[i>>2]|0)+20>>2]|0)+(c[p>>2]<<2)>>2];c[n>>2]=c[c[m>>2]>>2];c[f>>2]=0;if(((c[(c[n>>2]|0)+4>>2]|0)==0?(e=(c[n>>2]|0)+16|0,p=(c[(c[i>>2]|0)+8>>2]|0)+16|0,(c[e>>2]|0)==(c[p>>2]|0)?(c[e+4>>2]|0)==(c[p+4>>2]|0):0):0)?(c[(c[m>>2]|0)+4+4>>2]|0)>0:0){c[g>>2]=(c[m>>2]|0)+20;if(c[(c[g>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[g>>2]|0)+12>>2]|0)+16;p=(c[n>>2]|0)+16|0;c[f>>2]=eW(c[g>>2]|0,c[p>>2]|0,c[p+4>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;p=c[f>>2]|0;l=o;return p|0}else{c[c[j>>2]>>2]=c[(c[(c[m>>2]|0)+20+8>>2]|0)+8>>2];c[c[k>>2]>>2]=c[(c[(c[m>>2]|0)+20+8>>2]|0)+12>>2];p=c[f>>2]|0;l=o;return p|0}}c[c[j>>2]>>2]=0;c[c[k>>2]>>2]=0;p=c[f>>2]|0;l=o;return p|0}function tY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;k=t+48|0;p=t+44|0;q=t+40|0;r=t+36|0;m=t+32|0;s=t+28|0;f=t+24|0;g=t+20|0;h=t+16|0;i=t+12|0;j=t+8|0;n=t+4|0;o=t;c[k>>2]=a;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[m>>2]=c[(c[c[k>>2]>>2]|0)+12>>2];c[s>>2]=0;c[f>>2]=(c[(c[k>>2]|0)+56>>2]|0)==0&1;if(c[(c[k>>2]|0)+60>>2]&64|0){if(c[(c[m>>2]|0)+48>>2]|0){c[g>>2]=uY(c[(c[k>>2]|0)+52>>2]|0,c[f>>2]|0)|0;if(!(c[g>>2]|0))c[s>>2]=7;c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[(c[m>>2]|0)+12>>2]|0)?(c[s>>2]|0)==0:0))break;c[s>>2]=jY(c[k>>2]|0,c[h>>2]|0,j,i)|0;if(!(c[s>>2]|0))c[s>>2]=vY(c[m>>2]|0,c[(c[k>>2]|0)+52>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+1}_d(c[g>>2]|0);if(c[(c[k>>2]|0)+56>>2]|0){e=(c[(c[k>>2]|0)+56>>2]|0)+8|0;wY(c[(c[k>>2]|0)+52>>2]|0,c[e>>2]|0,c[e+4>>2]|0)}}e=(c[k>>2]|0)+60|0;c[e>>2]=c[e>>2]&-65}if(c[(c[k>>2]|0)+56>>2]|0?(c[(c[m>>2]|0)+48>>2]|0)==0:0){c[n>>2]=c[(c[k>>2]|0)+56>>2];if(!(c[p>>2]|0))a=0;else a=c[(c[n>>2]|0)+24+((c[p>>2]|0)-1<<2)>>2]|0;c[o>>2]=a;c[c[r>>2]>>2]=(c[(c[n>>2]|0)+24+(c[p>>2]<<2)>>2]|0)-(c[o>>2]|0);c[c[q>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]|0);s=c[s>>2]|0;l=t;return s|0}q=xY(c[(c[k>>2]|0)+52>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[c[r>>2]>>2]=q;s=c[s>>2]|0;l=t;return s|0}function uY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+20|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=pe(c[(c[d>>2]|0)+16>>2]<<4)|0;if(!(c[f>>2]|0)){j=c[f>>2]|0;l=k;return j|0}m0(c[f>>2]|0,0,c[(c[d>>2]|0)+16>>2]<<4|0)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+16>>2]|0))break;c[h>>2]=(c[(c[(c[d>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2]|0)+4;c[i>>2]=c[c[(c[(c[d>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2]>>2];do if(c[e>>2]|0){if((c[(c[h>>2]|0)+4>>2]|0?(a=(c[i>>2]|0)+16|0,b=(c[(c[d>>2]|0)+8>>2]|0)+16|0,!((c[a>>2]|0)!=(c[b>>2]|0)?1:(c[a+4>>2]|0)!=(c[b+4>>2]|0))):0)?(c[(c[i>>2]|0)+4>>2]|0)==0:0){j=9;break}c[(c[f>>2]|0)+(c[g>>2]<<4)+12>>2]=1}else j=9;while(0);if((j|0)==9){j=0;c[(c[h>>2]|0)+4>>2]=0}c[g>>2]=(c[g>>2]|0)+1}j=c[f>>2]|0;l=k;return j|0}function vY(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;o=t+48|0;p=t+44|0;q=t+40|0;r=t+36|0;h=t+32|0;i=t+28|0;j=t+24|0;k=t;m=t+20|0;n=t+16|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[h>>2]=f;c[i>>2]=g;c[k>>2]=c[p>>2];c[k+4>>2]=c[q>>2];f=c[r>>2]|0;f=Z$(0,f|0,1,0)|0;g=k+8|0;c[g>>2]=f;c[g+4>>2]=D;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[p>>2]|0)+16>>2]|0))break;c[m>>2]=c[c[(c[(c[p>>2]|0)+20>>2]|0)+(c[j>>2]<<2)>>2]>>2];c[n>>2]=c[(c[(c[m>>2]|0)+24>>2]|0)+4>>2];if(c[n>>2]|0?0==(AY(c[n>>2]|0,c[r>>2]|0)|0):0)s=6;else if(c[(c[q>>2]|0)+(c[j>>2]<<4)+12>>2]|0)s=6;else{a=1;b=(c[q>>2]|0)+(c[j>>2]<<4)|0}if((s|0)==6){s=0;a=0;b=(c[q>>2]|0)+(c[j>>2]<<4)|0}c[b+8>>2]=a;c[j>>2]=(c[j>>2]|0)+1}s=EV(c[o>>2]|0,4,c[h>>2]|0,c[i>>2]|0,k,153)|0;l=t;return s|0}function wY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;yY(c[(c[f>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;l=e;return}function xY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[(c[e>>2]|0)+20>>2]|0)+(c[k>>2]<<2)>>2];c[i>>2]=c[c[h>>2]>>2];if((c[(c[i>>2]|0)+4>>2]|0)==0?(i=(c[i>>2]|0)+16|0,k=(c[(c[e>>2]|0)+8>>2]|0)+16|0,(c[i>>2]|0)==(c[k>>2]|0)?(c[i+4>>2]|0)==(c[k+4>>2]|0):0):0){c[c[f>>2]>>2]=c[(c[h>>2]|0)+4>>2];c[g>>2]=c[(c[h>>2]|0)+4+4>>2];k=c[g>>2]|0;l=j;return k|0}c[c[f>>2]>>2]=0;c[g>>2]=0;k=c[g>>2]|0;l=j;return k|0}function yY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+24|0;f=k+20|0;g=k;h=k+16|0;i=k+12|0;j=k+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[a+4>>2]|0;d=(c[f>>2]|0)+16|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;c[(c[f>>2]|0)+4>>2]=0;a:do switch(c[c[f>>2]>>2]|0){case 11:case 4:{c[e>>2]=(c[(c[(c[(c[f>>2]|0)+24>>2]|0)+12>>2]|0)+4+4>>2]|0)>0&1;j=c[e>>2]|0;l=k;return j|0}case 2:{c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+28>>2]|0))break a;j=g;if(!(yY(c[(c[f>>2]|0)+32+(c[h>>2]<<2)>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1}zY(c[f>>2]|0);c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}case 1:{c[j>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[f>>2]|0)+28>>2]|0))break;h=g;if(yY(c[(c[f>>2]|0)+32+(c[i>>2]<<2)>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0)c[j>>2]=1;c[i>>2]=(c[i>>2]|0)+1}c[e>>2]=c[j>>2];j=c[e>>2]|0;l=k;return j|0}default:{j=g;if(0!=(yY(c[(c[f>>2]|0)+32>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0)?(j=g,0==(yY(c[(c[f>>2]|0)+32+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0)):0)break a;zY(c[f>>2]|0);c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}}while(0);c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}function zY(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if((c[c[b>>2]>>2]|0)!=4?(c[c[b>>2]>>2]|0)!=11:0){c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;zY(c[(c[b>>2]|0)+32+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=e;return}c[(c[(c[(c[b>>2]|0)+24>>2]|0)+12>>2]|0)+4+4>>2]=0;l=e;return}function AY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){a=6;break}if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){a=4;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==4){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==6){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function BY(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;p=t+48|0;u=t+44|0;q=t+40|0;r=t+36|0;h=t+32|0;i=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[u>>2]=a;c[q>>2]=b;c[r>>2]=d;c[h>>2]=e;c[t+28>>2]=f;c[t+24>>2]=g;c[i>>2]=c[u>>2];c[j>>2]=c[c[i>>2]>>2];if((c[h>>2]|0)>32768)c[h>>2]=32768;if(!(c[q>>2]&1)){u=(c[i>>2]|0)+8|0;q=u;q=_$(c[q>>2]|0,c[q+4>>2]|0,1,0)|0;c[u>>2]=q;c[u+4>>2]=D}c[k>>2]=0;a:while(1){if((c[k>>2]|0)>=(c[(c[j>>2]|0)+16>>2]|0)){s=18;break}b:do if(c[(c[(c[i>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+8>>2]|0){c[m>>2]=(c[(c[(c[j>>2]|0)+20>>2]|0)+(c[k>>2]<<2)>>2]|0)+20;while(1){if(!(c[m>>2]|0))break b;c[n>>2]=g$(c[(c[m>>2]|0)+4>>2]|0)|0;if((c[n>>2]|0)!=(c[h>>2]|0)){if((c[n>>2]|0)<(c[h>>2]|0)?c[c[m>>2]>>2]|0:0)s=13}else s=13;if((s|0)==13?(s=0,(H_(c[(c[m>>2]|0)+4>>2]|0,c[r>>2]|0,c[n>>2]|0)|0)==0):0)break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}u=(c[i>>2]|0)+8|0;c[o>>2]=dW((c[(c[(c[j>>2]|0)+20>>2]|0)+(c[k>>2]<<2)>>2]|0)+4|0,(c[(c[i>>2]|0)+4>>2]|0)+(c[k>>2]<<4)|0,c[u>>2]|0,c[u+4>>2]|0)|0;if(c[o>>2]|0){s=15;break a}}while(0);c[k>>2]=(c[k>>2]|0)+1}if((s|0)==15){c[p>>2]=c[o>>2];u=c[p>>2]|0;l=t;return u|0}else if((s|0)==18){c[p>>2]=0;u=c[p>>2]|0;l=t;return u|0}return 0}function CY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;m=s+60|0;t=s+56|0;p=s+52|0;q=s+48|0;n=s+44|0;r=s+40|0;o=s+32|0;e=s+24|0;f=s+20|0;g=s+16|0;h=s+12|0;i=s+8|0;j=s+4|0;k=s;c[m>>2]=a;c[t>>2]=b;c[p>>2]=d;c[q>>2]=0;c[r>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[n>>2]=c[(c[(c[m>>2]|0)+20>>2]|0)+(c[t>>2]<<2)>>2];c[r>>2]=dT(q,24)|0;if(!(c[q>>2]|0)){t=dT(q,4)|0;c[(c[r>>2]|0)+20>>2]=t}if(!(c[q>>2]|0)){t=dT(q,40)|0;c[(c[r>>2]|0)+8>>2]=t}if(!(c[q>>2]|0)){t=dT(q,20)|0;c[(c[(c[r>>2]|0)+8>>2]|0)+24>>2]=t}if((c[q>>2]|0)==0?(c[e>>2]=c[(c[(c[c[n>>2]>>2]|0)+24>>2]|0)+4>>2],c[e>>2]|0):0){c[f>>2]=8+((c[c[e>>2]>>2]|0)-1<<2);c[g>>2]=dT(q,c[f>>2]|0)|0;if(c[g>>2]|0)h0(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;c[(c[(c[(c[r>>2]|0)+8>>2]|0)+24>>2]|0)+4>>2]=c[g>>2]}a:do if(c[(c[n>>2]|0)+16>>2]|0){c[h>>2]=0;while(1){if(c[q>>2]|0)break a;if((c[h>>2]|0)>=(c[(c[n>>2]|0)+16>>2]|0))break a;c[i>>2]=0;c[j>>2]=(c[n>>2]|0)+20+(c[h>>2]<<4);while(1){if(!(c[j>>2]|0?(c[q>>2]|0)==0:0))break;c[k>>2]=c[(c[j>>2]|0)+4>>2];d=c[i>>2]|0;t=c[k>>2]|0;c[q>>2]=DV(o,d,t,g$(c[k>>2]|0)|0,0,0)|0;c[i>>2]=1;c[j>>2]=c[(c[j>>2]|0)+12>>2]}if(!(c[q>>2]|0))c[(c[o>>2]|0)+20+(c[h>>2]<<4)>>2]=c[(c[n>>2]|0)+20+(c[h>>2]<<4)>>2];c[h>>2]=(c[h>>2]|0)+1}}else c[o>>2]=dT(q,36)|0;while(0);if(c[q>>2]|0){XU(c[r>>2]|0);_U(c[o>>2]|0);c[r>>2]=0;r=c[r>>2]|0;t=c[p>>2]|0;c[t>>2]=r;t=c[q>>2]|0;l=s;return t|0}c[c[r>>2]>>2]=c[c[m>>2]>>2];c[(c[r>>2]|0)+4>>2]=c[(c[m>>2]|0)+4>>2];c[(c[r>>2]|0)+16>>2]=1;c[c[(c[r>>2]|0)+20>>2]>>2]=c[o>>2];c[(c[(c[(c[r>>2]|0)+8>>2]|0)+24>>2]|0)+12>>2]=c[o>>2];c[(c[(c[(c[r>>2]|0)+8>>2]|0)+24>>2]|0)+8>>2]=1;c[c[o>>2]>>2]=c[(c[r>>2]|0)+8>>2];if((c[(c[n>>2]|0)+16>>2]|0)==1?(c[(c[n>>2]|0)+20+12>>2]|0)==0:0){c[c[(c[r>>2]|0)+8>>2]>>2]=4;a=c[r>>2]|0;b=151}else{c[c[(c[r>>2]|0)+8>>2]>>2]=11;a=c[r>>2]|0;b=152}c[(c[a+8>>2]|0)+12>>2]=b;r=c[r>>2]|0;t=c[p>>2]|0;c[t>>2]=r;t=c[q>>2]|0;l=s;return t|0}function DY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+32|0;j=g+16|0;e=g+12|0;i=g+8|0;f=g+4|0;h=g;c[j>>2]=a;c[e>>2]=b;c[i>>2]=d;c[h>>2]=c[(c[e>>2]|0)+52>>2];d=(c[e>>2]|0)+32|0;c[f>>2]=EY(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[i>>2]|0)|0;if(!(FY(c[h>>2]|0)|0)){j=c[e>>2]|0;GY(j);j=c[f>>2]|0;l=g;return j|0}j=(c[e>>2]|0)+60|0;c[j>>2]=c[j>>2]|1;j=c[e>>2]|0;GY(j);j=c[f>>2]|0;l=g;return j|0}function EY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;h=k+24|0;n=k+20|0;i=k;m=k+16|0;j=k+12|0;g=k+8|0;c[h>>2]=a;c[n>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[j>>2]=c[(c[h>>2]|0)+8>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[m>>2];c[g>>2]=HY(c[h>>2]|0,c[j>>2]|0)|0;if((c[(c[j>>2]|0)+4>>2]|0)==0?(m=(c[j>>2]|0)+16|0,n=i,(QV(c[h>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0)<0):0){n=i;c[g>>2]=Nb[c[(c[j>>2]|0)+12>>2]&255](c[h>>2]|0,c[j>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0}while(1){if(!(c[(c[j>>2]|0)+8>>2]|0))break;c[g>>2]=Nb[c[(c[j>>2]|0)+12>>2]&255](c[h>>2]|0,c[j>>2]|0,0,0,0)|0}l=k;return c[g>>2]|0}function FY(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0}function GY(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+60|0;c[a>>2]=c[a>>2]|78;l=b;return}function HY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+20|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;a:do if((c[c[e>>2]>>2]|0)!=4?(c[c[e>>2]>>2]|0)!=11:0){if(!(c[(c[e>>2]|0)+12>>2]|0)){c[(c[e>>2]|0)+4>>2]=1;break}c[h>>2]=0;c[g>>2]=0;while(1){a=(c[e>>2]|0)+32|0;if(!((c[g>>2]|0)<(c[(c[e>>2]|0)+28>>2]|0)?(c[f>>2]|0)==0:0))break;c[i>>2]=c[a+(c[g>>2]<<2)>>2];c[f>>2]=HY(c[d>>2]|0,c[(c[e>>2]|0)+32+(c[g>>2]<<2)>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(c[(c[i>>2]|0)+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}b=(c[a>>2]|0)+16|0;g=c[b+4>>2]|0;i=(c[e>>2]|0)+16|0;c[i>>2]=c[b>>2];c[i+4>>2]=g;switch(c[c[e>>2]>>2]|0){case 2:{if((c[h>>2]|0)<=0)break a;SV(c[e>>2]|0);break a}case 1:{if((c[(c[e>>2]|0)+28>>2]|0)!=(c[h>>2]|0))break a;SV(c[e>>2]|0);break a}default:{c[(c[e>>2]|0)+4>>2]=c[(c[(c[e>>2]|0)+32>>2]|0)+4>>2];break a}}}else j=3;while(0);if((j|0)==3)c[f>>2]=IY(c[d>>2]|0,c[e>>2]|0)|0;if(c[f>>2]|0){j=c[f>>2]|0;l=k;return j|0}c[f>>2]=JY(c[d>>2]|0,c[e>>2]|0)|0;j=c[f>>2]|0;l=k;return j|0}function IY(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;g=p+36|0;m=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;n=p+16|0;o=p+12|0;k=p+8|0;e=p+4|0;f=p;c[g>>2]=a;c[m>>2]=b;c[h>>2]=c[(c[m>>2]|0)+24>>2];c[n>>2]=0;c[o>>2]=1;c[i>>2]=0;while(1){if(c[n>>2]|0){a=18;break}if((c[i>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0)){a=18;break}c[k>>2]=c[(c[h>>2]|0)+12+(c[i>>2]<<2)>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+16>>2]|0))break;c[e>>2]=(c[k>>2]|0)+20+(c[j>>2]<<4);c[f>>2]=c[e>>2];while(1){if(!(c[f>>2]|0?(c[n>>2]|0)==0:0))break;if(c[(c[f>>2]|0)+8>>2]|0){mS(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0}q=c[c[g>>2]>>2]|0;a=c[(c[f>>2]|0)+4>>2]|0;b=g$(c[(c[f>>2]|0)+4>>2]|0)|0;c[n>>2]=fS(q,a,b,(c[c[e>>2]>>2]|0?1:0)|(c[(c[g>>2]|0)+12>>2]|0?2:0),c[(c[h>>2]|0)+4>>2]|0,(c[f>>2]|0)+8|0)|0;if(c[(c[f>>2]|0)+8>>2]|0?0==(d[(c[(c[f>>2]|0)+8>>2]|0)+16>>0]|0|0):0)c[o>>2]=0;c[f>>2]=c[(c[f>>2]|0)+12>>2]}if(c[o>>2]|0)break;c[j>>2]=(c[j>>2]|0)+1}if(c[o>>2]|0){a=18;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==18){c[(c[m>>2]|0)+4>>2]=c[o>>2];l=p;return c[n>>2]|0}return 0}function JY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;a:do if(!(c[(c[e>>2]|0)+4>>2]|0))switch(c[c[e>>2]>>2]|0){case 11:{c[f>>2]=XV(c[d>>2]|0,c[e>>2]|0)|0;break a}case 4:{c[f>>2]=jW(c[d>>2]|0,c[e>>2]|0)|0;break a}case 2:{c[f>>2]=RV(c[d>>2]|0,c[e>>2]|0)|0;break a}case 1:{TV(c[d>>2]|0,c[e>>2]|0);break a}default:{c[f>>2]=NV(c[d>>2]|0,c[e>>2]|0)|0;break a}}while(0);l=g;return c[f>>2]|0}function KY(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;e=d+8|0;c[e>>2]=a;a=c[e>>2]|0;if(c[(c[e>>2]|0)+56>>2]|0){f=(c[a+56>>2]|0)+8|0;a=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=a;e=b;e=c[e>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;l=d;return e|0}else{f=PY(c[a+52>>2]|0)|0;e=b;c[e>>2]=f;c[e+4>>2]=D;e=b;f=e;f=c[f>>2]|0;e=e+4|0;e=c[e>>2]|0;D=e;l=d;return f|0}return 0}function LY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;p=o+36|0;i=o;j=o+32|0;k=o+28|0;m=o+24|0;n=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;c[p>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=c[(c[c[p>>2]>>2]|0)+12>>2];c[m>>2]=0;c[n>>2]=NY(c[p>>2]|0,8,m,0)|0;if(c[n>>2]|0){p=c[n>>2]|0;l=o;return p|0}c[f>>2]=1;p=i;qJ(c[m>>2]|0,1,c[p>>2]|0,c[p+4>>2]|0)|0;if(100==(Bs(c[m>>2]|0)|0)?(c[g>>2]=fJ(c[m>>2]|0,0)|0,c[h>>2]=gJ(c[m>>2]|0,0)|0,0==(OY(c[j>>2]|0,c[k>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)):0)c[f>>2]=0;p=ys(c[m>>2]|0)|0;c[n>>2]=p;c[n>>2]=(c[f>>2]|0)!=0&(c[n>>2]|0)==0?267:p;p=c[n>>2]|0;l=o;return p|0}function MY(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;i=l;l=l+32|0;k=i+24|0;j=i+20|0;h=i;c[k>>2]=a;c[j>>2]=b;c[i+16>>2]=d;c[i+12>>2]=e;c[i+8>>2]=f;c[i+4>>2]=g;c[h>>2]=c[k>>2];if(c[j>>2]&1|0){l=i;return 0}k=c[h>>2]|0;c[k>>2]=(c[k>>2]|0)+1;l=i;return 0}function NY(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+160|0;x=y+72|0;i=y+64|0;w=y+48|0;h=y+32|0;j=y+8|0;g=y;q=y+156|0;r=y+152|0;s=y+148|0;t=y+144|0;u=y+140|0;v=y+96|0;k=y+92|0;m=y+88|0;n=y+84|0;o=y+80|0;p=y+76|0;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[u>>2]=0;if(c[(c[q>>2]|0)+28+(c[r>>2]<<2)>>2]|0){x=c[q>>2]|0;x=x+28|0;w=c[r>>2]|0;w=x+(w<<2)|0;w=c[w>>2]|0;x=c[s>>2]|0;c[x>>2]=w;x=c[s>>2]|0;x=c[x>>2]|0;ys(x)|0;x=c[u>>2]|0;l=y;return x|0}b=v;d=10652;e=b+44|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[k>>2]=c[c[q>>2]>>2];c[m>>2]=0;switch(c[r>>2]|0){case 10:{w=c[v+(c[r>>2]<<2)>>2]|0;v=c[(c[k>>2]|0)+36>>2]|0;c[g>>2]=c[(c[k>>2]|0)+52>>2];c[g+4>>2]=v;c[m>>2]=nf(w,g)|0;break}case 1:case 0:{w=c[v+(c[r>>2]<<2)>>2]|0;n=c[(c[k>>2]|0)+36>>2]|0;o=c[(c[k>>2]|0)+40>>2]|0;p=c[(c[k>>2]|0)+40>>2]|0;v=c[(c[k>>2]|0)+40>>2]|0;c[j>>2]=c[(c[k>>2]|0)+52>>2];c[j+4>>2]=n;c[j+8>>2]=o;c[j+12>>2]=p;c[j+16>>2]=v;c[m>>2]=nf(w,j)|0;break}case 2:{w=c[v+(c[r>>2]<<2)>>2]|0;p=c[(c[k>>2]|0)+36>>2]|0;v=c[(c[k>>2]|0)+40>>2]|0;c[h>>2]=c[(c[k>>2]|0)+52>>2];c[h+4>>2]=p;c[h+8>>2]=v;c[m>>2]=nf(w,h)|0;break}case 4:case 3:{c[n>>2]=(c[(c[k>>2]|0)+12>>2]|0)+1;c[o>>2]=pe(1+(c[n>>2]<<1)|0)|0;if(c[o>>2]|0){c[p>>2]=0;while(1){b=c[o>>2]|0;d=c[p>>2]<<1;if((c[p>>2]|0)>=(c[n>>2]|0))break;a[b+d>>0]=63;a[(c[o>>2]|0)+((c[p>>2]<<1)+1)>>0]=44;c[p>>2]=(c[p>>2]|0)+1}a[b+(d-1)>>0]=0;v=c[v+(c[r>>2]<<2)>>2]|0;n=c[(c[k>>2]|0)+8>>2]|0;p=c[o>>2]|0;c[w>>2]=c[(c[k>>2]|0)+4>>2];c[w+4>>2]=n;c[w+8>>2]=p;c[m>>2]=nf(v,w)|0;_d(c[o>>2]|0)}break}default:{w=c[v+(c[r>>2]<<2)>>2]|0;v=c[(c[k>>2]|0)+8>>2]|0;c[i>>2]=c[(c[k>>2]|0)+4>>2];c[i+4>>2]=v;c[m>>2]=nf(w,i)|0}}if(!(c[m>>2]|0)){c[u>>2]=7;x=c[q>>2]|0;x=x+28|0;w=c[r>>2]|0;w=x+(w<<2)|0;w=c[w>>2]|0;x=c[s>>2]|0;c[x>>2]=w;x=c[s>>2]|0;x=c[x>>2]|0;ys(x)|0;x=c[u>>2]|0;l=y;return x|0}c[u>>2]=zv(c[c[k>>2]>>2]|0,c[m>>2]|0,-1,(c[q>>2]|0)+28+(c[r>>2]<<2)|0,0)|0;_d(c[m>>2]|0);if(!((c[u>>2]|0)!=0&(c[t>>2]|0)!=0)){x=c[q>>2]|0;x=x+28|0;w=c[r>>2]|0;w=x+(w<<2)|0;w=c[w>>2]|0;x=c[s>>2]|0;c[x>>2]=w;x=c[s>>2]|0;x=c[x>>2]|0;ys(x)|0;x=c[u>>2]|0;l=y;return x|0}c[x>>2]=Ev(c[c[k>>2]>>2]|0)|0;x=nf(21240,x)|0;c[c[t>>2]>>2]=x;x=c[q>>2]|0;x=x+28|0;w=c[r>>2]|0;w=x+(w<<2)|0;w=c[w>>2]|0;x=c[s>>2]|0;c[x>>2]=w;x=c[s>>2]|0;x=c[x>>2]|0;ys(x)|0;x=c[u>>2]|0;l=y;return x|0}function OY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;f=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[f>>2]=0;c[k>>2]=0;while(1){b=c[f>>2]|0;d=c[j>>2]|0;if((c[k>>2]|0)>=(c[h>>2]|0)){a=6;break}if((b|0)>=(d|0)){a=4;break}e=VR((c[i>>2]|0)+(c[f>>2]|0)|0,(c[g>>2]|0)+(c[k>>2]<<2)|0)|0;c[f>>2]=(c[f>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1}if((a|0)==4){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}else if((a|0)==6){c[m>>2]=(b|0)!=(d|0)&1;m=c[m>>2]|0;l=n;return m|0}return 0}function PY(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+8>>2]|0)+16|0;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function QY(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[(c[(c[b>>2]|0)+12>>2]|0)+32>>2]|0)==1|0}function RY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+48>>2]|0)){c[g>>2]=c[c[d>>2]>>2];c[h>>2]=SY(c[d>>2]|0)|0;c[f>>2]=TY(c[(c[g>>2]|0)+20>>2]|0,c[h>>2]|0,(c[d>>2]|0)+48|0,c[e>>2]|0?(c[g>>2]|0)+8|0:0)|0}if(c[f>>2]|0){h=c[f>>2]|0;l=i;return h|0}if(!(c[(c[d>>2]|0)+60>>2]&2)){h=c[f>>2]|0;l=i;return h|0}ys(c[(c[d>>2]|0)+48>>2]|0)|0;g=c[(c[d>>2]|0)+48>>2]|0;h=KY(c[d>>2]|0)|0;qJ(g,1,h,D)|0;c[f>>2]=Bs(c[(c[d>>2]|0)+48>>2]|0)|0;if((c[f>>2]|0)==100){c[f>>2]=0;h=(c[d>>2]|0)+60|0;c[h>>2]=c[h>>2]&-3;h=c[f>>2]|0;l=i;return h|0}else{h=ys(c[(c[d>>2]|0)+48>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;h=c[f>>2]|0;l=i;return h|0}return 0}function SY(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[(c[d>>2]|0)+24>>2]|0)==5){c[b>>2]=c[(c[d>>2]|0)+28>>2]|0?1:0;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=2;d=c[b>>2]|0;l=e;return d|0}return 0}function TY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;f=i+16|0;g=i+12|0;k=i+8|0;j=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=NY(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=i;return k|0}c[(c[f>>2]|0)+28+(c[g>>2]<<2)>>2]=0;k=c[h>>2]|0;l=i;return k|0}function UY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+40|0;j=p+36|0;k=p+32|0;m=p+28|0;b=p+24|0;n=p+20|0;o=p+16|0;e=p+12|0;f=p+8|0;h=p+4|0;i=p;c[g>>2]=a;c[j>>2]=0;c[m>>2]=VY(c[(c[g>>2]|0)+52>>2]|0)|0;if(!(c[(c[g>>2]|0)+104>>2]|0)){c[b>>2]=(c[m>>2]|0)*24;b=dT(j,c[b>>2]|0)|0;c[(c[g>>2]|0)+104>>2]=b}c[k>>2]=c[(c[g>>2]|0)+104>>2];if(!(c[k>>2]|0)){o=c[j>>2]|0;l=p;return o|0}c[n>>2]=0;c[o>>2]=0;while(1){if(!((c[o>>2]|0)<(c[m>>2]|0)?(c[j>>2]|0)==0:0))break;c[j>>2]=tY(c[g>>2]|0,c[o>>2]|0,e,f)|0;if(!(c[j>>2]|0))fW(c[e>>2]|0,c[f>>2]|0,(c[k>>2]|0)+((c[o>>2]|0)*24|0)|0)|0;c[o>>2]=(c[o>>2]|0)+1}a:do if(!(c[j>>2]|0)){while(1){c[i>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;do if(!(d[(c[k>>2]|0)+((c[o>>2]|0)*24|0)+13>>0]|0)){if((c[i>>2]|0)>=0?(e=(c[k>>2]|0)+((c[o>>2]|0)*24|0)+16|0,a=c[e+4>>2]|0,f=(c[k>>2]|0)+((c[i>>2]|0)*24|0)+16|0,b=c[f+4>>2]|0,!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0))):0)break;c[i>>2]=c[o>>2]}while(0);c[o>>2]=(c[o>>2]|0)+1}if((c[i>>2]|0)<0)break a;c[n>>2]=(c[n>>2]|0)+1;if((c[n>>2]|0)>=(c[(c[g>>2]|0)+108>>2]|0)){if(c[(c[g>>2]|0)+108>>2]|0)a=c[(c[g>>2]|0)+108>>2]<<1;else a=32;c[(c[g>>2]|0)+108>>2]=a;c[h>>2]=Xf(c[(c[g>>2]|0)+116>>2]|0,(c[(c[g>>2]|0)+108>>2]<<2)*3|0)|0;if(!(c[h>>2]|0))break;c[(c[g>>2]|0)+116>>2]=c[h>>2]}c[h>>2]=(c[(c[g>>2]|0)+116>>2]|0)+(((c[n>>2]|0)-1|0)*3<<2);c[c[h>>2]>>2]=c[i>>2];f=(c[k>>2]|0)+((c[i>>2]|0)*24|0)+16|0;f=e0(c[f>>2]|0,c[f+4>>2]|0,32)|0;c[(c[h>>2]|0)+4>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[k>>2]|0)+((c[i>>2]|0)*24|0)+16>>2];gW((c[k>>2]|0)+((c[i>>2]|0)*24|0)|0)|0}c[j>>2]=7}while(0);c[(c[g>>2]|0)+112>>2]=c[n>>2];o=(c[g>>2]|0)+60|0;c[o>>2]=c[o>>2]&-9;o=c[j>>2]|0;l=p;return o|0}function VY(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=0;l=d;return b|0}b=c[(c[b>>2]|0)+16>>2]|0;l=d;return b|0}function WY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>=0?(c[f>>2]|0)<(c[(c[e>>2]|0)+16>>2]|0):0){c[d>>2]=c[(c[(c[(c[e>>2]|0)+20>>2]|0)+(c[f>>2]<<2)>>2]|0)+16>>2];f=c[d>>2]|0;l=g;return f|0}c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}function XY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=YY(c[e>>2]|0,0)|0;if(c[h>>2]|0){i=c[h>>2]|0;l=j;return i|0}d=c[g>>2]|0;c[d>>2]=0;c[d+4>>2]=0;if((c[f>>2]|0)<0){c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+12>>2]|0))break;d=(c[(c[e>>2]|0)+24>>2]|0)+(c[i>>2]<<3)|0;f=c[g>>2]|0;b=f;d=_$(c[b>>2]|0,c[b+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;c[f>>2]=d;c[f+4>>2]=D;c[i>>2]=(c[i>>2]|0)+1}i=c[h>>2]|0;l=j;return i|0}if((c[f>>2]|0)<(c[(c[c[e>>2]>>2]|0)+12>>2]|0)){e=(c[(c[e>>2]|0)+24>>2]|0)+(c[f>>2]<<3)|0;f=c[e+4>>2]|0;i=c[g>>2]|0;c[i>>2]=c[e>>2];c[i+4>>2]=f;i=c[h>>2]|0;l=j;return i|0}else{c[h>>2]=25;i=c[h>>2]|0;l=j;return i|0}return 0}function YY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(c[(c[d>>2]|0)+8>>2]|0){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=ZY(c[(c[d>>2]|0)+4>>2]|0,(c[d>>2]|0)+16|0,c[(c[d>>2]|0)+24>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=c[e>>2];f=c[f>>2]|0;l=g;return f|0}function ZY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+12>>2];d=c[f>>2]|0;c[d>>2]=0;c[d+4>>2]=0;m0(c[g>>2]|0,0,c[h>>2]<<3|0)|0;c[i>>2]=PR(c[e>>2]|0,1,0)|0;a:do if((c[(c[e>>2]|0)+36>>2]|0)==0?c[(c[i>>2]|0)+4>>2]|0:0){c[j>>2]=0;f=(RR((c[c[i>>2]>>2]|0)+(c[j>>2]|0)|0,c[f>>2]|0)|0)&255;c[j>>2]=(c[j>>2]|0)+f;c[k>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[i>>2]|0)+4>>2]|0))break a;if((c[k>>2]|0)>=(c[h>>2]|0))break a;f=(RR((c[c[i>>2]>>2]|0)+(c[j>>2]|0)|0,(c[g>>2]|0)+(c[k>>2]<<3)|0)|0)&255;c[j>>2]=(c[j>>2]|0)+f;c[k>>2]=(c[k>>2]|0)+1}}while(0);AR(c[i>>2]|0);k=BR(c[e>>2]|0)|0;l=m;return k|0}function _Y(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=YY(c[d>>2]|0,0)|0;if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}b=(c[d>>2]|0)+16|0;d=c[b+4>>2]|0;e=c[e>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=d;f=c[f>>2]|0;l=g;return f|0}function $Y(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+8|0;e=f+4|0;b=f;c[e>>2]=a;c[b>>2]=c[(c[(c[e>>2]|0)+24>>2]|0)+44>>2];while(1){if(!(c[b>>2]|0)){a=6;break}if((c[c[b>>2]>>2]|0)==(c[e>>2]|0)){a=4;break}c[b>>2]=c[(c[b>>2]|0)+4>>2]}if((a|0)==4){c[d>>2]=0;e=c[d>>2]|0;l=f;return e|0}else if((a|0)==6){c[d>>2]=aZ(c[(c[e>>2]|0)+20>>2]|0)|0;e=c[d>>2]|0;l=f;return e|0}return 0}function aZ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=bZ(c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return a|0}function bZ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d;c[b>>2]=a;e=AT(c[b>>2]|0)|0;a=(c[b>>2]|0)+72|0;if(!((e|0)!=(c[a>>2]|0)?1:(D|0)!=(c[a+4>>2]|0))){e=c[b>>2]|0;e=BR(e)|0;l=d;return e|0}eX(c[b>>2]|0);e=c[b>>2]|0;e=BR(e)|0;l=d;return e|0}function cZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=h+20|0;e=h+16|0;f=h+12|0;i=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[i>>2]=Ai(c[(c[e>>2]|0)+4>>2]|0)|0;if((c[i>>2]|0)!=1){i=c[f>>2]|0;l=h;return i|0}b=Fi(c[(c[e>>2]|0)+4>>2]|0)|0;i=g;c[i>>2]=b;c[i+4>>2]=D;i=g;c[f>>2]=eZ(c[(c[d>>2]|0)+20>>2]|0,c[i>>2]|0,c[i+4>>2]|0,(c[e>>2]|0)+8|0)|0;i=c[f>>2]|0;l=h;return i|0}function dZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;k=o+8|0;j=o;f=o+36|0;g=o+32|0;h=o+28|0;m=o+24|0;n=o+20|0;i=o+16|0;e=o+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=c[(c[f>>2]|0)+12>>2];c[n>>2]=0;c[i>>2]=0;if(!(kl(51501,c[g>>2]|0)|0)){a=c[f>>2]|0;if(!(c[(c[m>>2]|0)+32>>2]|0)){tZ(a,51512,j);c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else{c[n>>2]=uZ(c[a+20>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}}if(!(kl(45620,c[g>>2]|0)|0)){a=c[f>>2]|0;if((c[(c[m>>2]|0)+32>>2]|0)==1){tZ(a,51592,k);c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else{c[n>>2]=vZ(c[a+20>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}}if(!(kl(42637,c[g>>2]|0)|0)){c[n>>2]=wZ(c[(c[f>>2]|0)+20>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}if(!(kl(51648,c[g>>2]|0)|0)){c[e>>2]=Qi(c[h>>2]|0)|0;c[n>>2]=xZ(c[(c[f>>2]|0)+20>>2]|0,c[e>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}m=0==(kl(45628,c[g>>2]|0)|0);a=c[f>>2]|0;if(m){c[n>>2]=yZ(c[a+20>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}c[n>>2]=zZ(c[a+16>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=FT(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,i)|0;if(c[n>>2]|0){n=c[n>>2]|0;l=o;return n|0}if(c[i>>2]|0){c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else{c[n>>2]=AZ(c[(c[f>>2]|0)+20>>2]|0,c[g>>2]|0,c[h>>2]|0,0)|0;n=c[n>>2]|0;l=o;return n|0}return 0}function eZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+24|0;g=m;h=m+20|0;i=m+16|0;j=m+12|0;k=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[i>>2]=c[c[f>>2]>>2];c[k>>2]=0;c[j>>2]=YY(c[f>>2]|0,1)|0;if(!(c[j>>2]|0)){e=g;c[j>>2]=sZ(c[f>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[h>>2]|0)|0}if(((c[j>>2]|0)==0?c[(c[i>>2]|0)+44>>2]|0:0)?(c[j>>2]=NY(c[f>>2]|0,7,k,0)|0,(c[j>>2]|0)==0):0){h=g;qJ(c[k>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;Bs(c[k>>2]|0)|0;c[j>>2]=ys(c[k>>2]|0)|0}if(!(c[(c[i>>2]|0)+32>>2]|0)){if(!(c[j>>2]|0))c[j>>2]=NY(c[f>>2]|0,5,k,0)|0;if(!(c[j>>2]|0)){i=g;qJ(c[k>>2]|0,1,c[i>>2]|0,c[i+4>>2]|0)|0;Bs(c[k>>2]|0)|0;c[j>>2]=ys(c[k>>2]|0)|0}}if(c[j>>2]|0){k=c[j>>2]|0;l=m;return k|0}c[j>>2]=hX(c[f>>2]|0)|0;k=c[j>>2]|0;l=m;return k|0}function fZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=c[c[f>>2]>>2];if(!(c[j>>2]|0))c[j>>2]=gZ(c[(c[g>>2]|0)+20>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(c[j>>2]|0){i=c[j>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}i=c[i>>2]|0;c[j>>2]=hZ(c[(c[g>>2]|0)+20>>2]|0,c[h>>2]|0,c[i>>2]|0,c[i+4>>2]|0)|0;i=c[j>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}function gZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[e>>2]>>2];c[i>>2]=0;if(c[(c[h>>2]|0)+32>>2]|0)if((Ai(c[(c[f>>2]|0)+4>>2]|0)|0)==1){j=Fi(c[(c[f>>2]|0)+4>>2]|0)|0;k=c[g>>2]|0;c[k>>2]=j;c[k+4>>2]=D;k=c[i>>2]|0;l=m;return k|0}else{c[i>>2]=rZ(c[e>>2]|0,c[g>>2]|0)|0;k=c[i>>2]|0;l=m;return k|0}c[j>>2]=0;c[i>>2]=NY(c[e>>2]|0,3,j,0)|0;c[k>>2]=1;while(1){if(c[i>>2]|0)break;if((c[k>>2]|0)>((c[(c[h>>2]|0)+12>>2]|0)+1|0))break;c[i>>2]=tJ(c[j>>2]|0,c[k>>2]|0,c[(c[f>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}if(!(c[i>>2]|0)){Bs(c[j>>2]|0)|0;c[i>>2]=ys(c[j>>2]|0)|0}j=cj(c[c[h>>2]>>2]|0)|0;k=c[g>>2]|0;c[k>>2]=j;c[k+4>>2]=D;k=c[i>>2]|0;l=m;return k|0}function hZ(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;h=o+44|0;i=o+40|0;j=o;k=o+36|0;m=o+32|0;n=o+20|0;g=o+8|0;c[h>>2]=a;c[i>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[c[h>>2]>>2];c[m>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[n>>2]=c[h>>2];c[m>>2]=YY(c[h>>2]|0,1)|0;if(!(c[m>>2]|0)){f=j;c[m>>2]=iZ(c[(c[h>>2]|0)+4>>2]|0,0,c[f>>2]|0,c[f+4>>2]|0)|0}c[n+4>>2]=0;while(1){if(c[m>>2]|0)break;if((c[n+4>>2]|0)>=(c[(c[k>>2]|0)+12>>2]|0))break;c[n+8>>2]=0;if(!(d[(c[(c[k>>2]|0)+20>>2]|0)+(c[n+4>>2]|0)>>0]|0)){e=c[k>>2]|0;f=Rh(c[(c[i>>2]|0)+((c[n+4>>2]|0)+2<<2)>>2]|0)|0;c[m>>2]=EV(e,4,f,Sh(c[(c[i>>2]|0)+((c[n+4>>2]|0)+2<<2)>>2]|0)|0,n,154)|0}e=c[n+8>>2]|0;hT(m,g,e,((e|0)<0)<<31>>31);e=c[n+8>>2]|0;f=(c[(c[h>>2]|0)+24>>2]|0)+(c[n+4>>2]<<3)|0;b=f;e=_$(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;c[f>>2]=e;c[f+4>>2]=D;f=n+4|0;c[f>>2]=(c[f>>2]|0)+1}n=(c[h>>2]|0)+16|0;k=n;k=_$(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[n>>2]=k;c[n+4>>2]=D;if(!(c[m>>2]|0)){n=j;c[m>>2]=kZ(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,g)|0}_d(c[g>>2]|0);if(c[m>>2]|0){n=c[m>>2]|0;l=o;return n|0}c[m>>2]=hX(c[h>>2]|0)|0;n=c[m>>2]|0;l=o;return n|0}function iZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;if(!(c[(c[f>>2]|0)+12>>2]|0)){e=qZ(c[c[f>>2]>>2]|0,(c[f>>2]|0)+12|0,(c[f>>2]|0)+16|0)|0;c[(c[f>>2]|0)+36>>2]=e}d=h;a=c[d+4>>2]|0;e=(c[f>>2]|0)+24|0;b=c[e+4>>2]|0;do if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[e>>2]|0)>>>0:0))){d=h;e=(c[f>>2]|0)+24|0;if(((c[d>>2]|0)==(c[e>>2]|0)?(c[d+4>>2]|0)==(c[e+4>>2]|0):0)?(c[(c[f>>2]|0)+32>>2]|0)==0:0){i=7;break}if((c[(c[f>>2]|0)+16>>2]|0)>(c[(c[c[f>>2]>>2]|0)+84>>2]|0))i=7}else i=7;while(0);if((i|0)==7)jX(c[f>>2]|0);e=h;h=c[e+4>>2]|0;i=(c[f>>2]|0)+24|0;c[i>>2]=c[e>>2];c[i+4>>2]=h;c[(c[f>>2]|0)+32>>2]=c[g>>2];i=BR(c[f>>2]|0)|0;l=j;return i|0}function jZ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;o=n+28|0;j=n+24|0;k=n+20|0;m=n+16|0;h=n+4|0;i=n;c[o>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n+12>>2]=f;c[n+8>>2]=g;c[h>>2]=c[o>>2];c[i>>2]=c[(c[c[h>>2]>>2]|0)+4>>2];if((c[m>>2]|0)>32768)c[m>>2]=32768;if(!((c[j>>2]&1|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)!=0:0)){o=(c[h>>2]|0)+8|0;c[o>>2]=(c[o>>2]|0)+1}o=lZ(c[i>>2]|0,c[(c[h>>2]|0)+4>>2]|0,(c[(c[h>>2]|0)+8>>2]|0)-1|0,c[k>>2]|0,c[m>>2]|0)|0;l=n;return o|0}function kZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k;h=k+16|0;i=k+12|0;j=k+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[i>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+44>>2]|0)){j=c[i>>2]|0;l=k;return j|0}c[j>>2]=0;c[i>>2]=NY(c[f>>2]|0,6,j,0)|0;if(c[i>>2]|0){j=c[i>>2]|0;l=k;return j|0}qJ(c[j>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;lJ(c[j>>2]|0,2,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;Bs(c[j>>2]|0)|0;c[i>>2]=ys(c[j>>2]|0)|0;j=c[i>>2]|0;l=k;return j|0}function lZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[h>>2]=0;c[i>>2]=c[c[m>>2]>>2];f=(c[m>>2]|0)+24|0;c[h>>2]=mZ(c[(c[m>>2]|0)+12>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[n>>2]|0,c[o>>2]|0,48,c[p>>2]|0,c[q>>2]|0)|0;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[i>>2]|0)+24>>2]|0)?(c[h>>2]|0)==0:0))break;c[j>>2]=c[(c[(c[i>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2];c[k>>2]=nZ(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0)|0;if(c[k>>2]|0){f=(c[m>>2]|0)+24|0;c[h>>2]=mZ(c[(c[m>>2]|0)+12>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[n>>2]|0,c[o>>2]|0,48+(c[g>>2]|0)+1&255,c[p>>2]|0,c[k>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}l=r;return c[h>>2]|0}function mZ(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;F=l;l=l+80|0;C=F+68|0;E=F+64|0;q=F;r=F+60|0;s=F+56|0;t=F+72|0;u=F+52|0;v=F+48|0;w=F+44|0;x=F+40|0;y=F+36|0;z=F+32|0;A=F+28|0;B=F+24|0;m=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;c[E>>2]=d;d=q;c[d>>2]=e;c[d+4>>2]=f;c[r>>2]=g;c[s>>2]=h;a[t>>0]=i;c[u>>2]=j;c[v>>2]=k;c[z>>2]=0;c[A>>2]=(c[c[E>>2]>>2]|0)==0&1;c[w>>2]=oZ(c[(c[E>>2]|0)+12>>2]|0,a[t>>0]|0,c[u>>2]|0,c[v>>2]|0)|0;c[x>>2]=c[(c[(c[E>>2]|0)+20>>2]|0)+(c[w>>2]<<2)>>2];while(1){if(!(c[x>>2]|0))break;if(((a[(c[x>>2]|0)+40>>0]|0)==(a[t>>0]|0)?(c[(c[x>>2]|0)+20>>2]|0)==(c[v>>2]|0):0)?(H_((c[x>>2]|0)+40+1|0,c[u>>2]|0,c[v>>2]|0)|0)==0:0)break;c[x>>2]=c[c[x>>2]>>2]}if(!(c[x>>2]|0)){k=40+((c[v>>2]|0)+1)+1+64|0;c[B>>2]=k;c[B>>2]=(c[B>>2]|0)<128?128:k;do if((c[(c[E>>2]|0)+8>>2]<<1|0)>=(c[(c[E>>2]|0)+12>>2]|0)){c[m>>2]=pZ(c[E>>2]|0)|0;if(!(c[m>>2]|0)){c[w>>2]=oZ(c[(c[E>>2]|0)+12>>2]|0,a[t>>0]|0,c[u>>2]|0,c[v>>2]|0)|0;break}c[C>>2]=c[m>>2];E=c[C>>2]|0;l=F;return E|0}while(0);c[x>>2]=pe(c[B>>2]|0)|0;if(!(c[x>>2]|0)){c[C>>2]=7;E=c[C>>2]|0;l=F;return E|0}d=c[x>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[(c[x>>2]|0)+8>>2]=c[B>>2];a[(c[x>>2]|0)+40>>0]=a[t>>0]|0;h0((c[x>>2]|0)+40+1|0,c[u>>2]|0,c[v>>2]|0)|0;c[(c[x>>2]|0)+20>>2]=c[v>>2];a[(c[x>>2]|0)+40+((c[v>>2]|0)+1)>>0]=0;c[(c[x>>2]|0)+16>>2]=(c[v>>2]|0)+1+1+40;c[c[x>>2]>>2]=c[(c[(c[E>>2]|0)+20>>2]|0)+(c[w>>2]<<2)>>2];c[(c[(c[E>>2]|0)+20>>2]|0)+(c[w>>2]<<2)>>2]=c[x>>2];w=(c[E>>2]|0)+8|0;c[w>>2]=(c[w>>2]|0)+1;w=q;w=ES((c[x>>2]|0)+(c[(c[x>>2]|0)+16>>2]|0)|0,c[w>>2]|0,c[w+4>>2]|0)|0;v=(c[x>>2]|0)+16|0;c[v>>2]=(c[v>>2]|0)+w;v=q;w=c[v+4>>2]|0;B=(c[x>>2]|0)+32|0;c[B>>2]=c[v>>2];c[B+4>>2]=w;c[(c[x>>2]|0)+12>>2]=c[(c[x>>2]|0)+16>>2];if((c[c[E>>2]>>2]|0)!=1){B=(c[x>>2]|0)+16|0;c[B>>2]=(c[B>>2]|0)+1;b[(c[x>>2]|0)+26>>1]=(c[c[E>>2]>>2]|0)==0?0:-1}c[z>>2]=(c[z>>2]|0)+(c[(c[x>>2]|0)+16>>2]|0)}else{if(((c[(c[x>>2]|0)+8>>2]|0)-(c[(c[x>>2]|0)+16>>2]|0)|0)<22){c[n>>2]=c[(c[x>>2]|0)+8>>2]<<1;c[o>>2]=Xf(c[x>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[C>>2]=7;E=c[C>>2]|0;l=F;return E|0}c[(c[o>>2]|0)+8>>2]=c[n>>2];c[p>>2]=(c[(c[E>>2]|0)+20>>2]|0)+(c[w>>2]<<2);while(1){if((c[c[p>>2]>>2]|0)==(c[x>>2]|0))break;c[p>>2]=c[c[p>>2]>>2]}c[c[p>>2]>>2]=c[o>>2];c[x>>2]=c[o>>2]}c[z>>2]=(c[z>>2]|0)-(c[(c[x>>2]|0)+16>>2]|0)}c[y>>2]=c[x>>2];w=q;B=(c[x>>2]|0)+32|0;if(((c[w>>2]|0)!=(c[B>>2]|0)?1:(c[w+4>>2]|0)!=(c[B+4>>2]|0))?($S(c[E>>2]|0,c[x>>2]|0),v=(c[y>>2]|0)+(c[(c[x>>2]|0)+16>>2]|0)|0,B=q,w=(c[x>>2]|0)+32|0,w=Z$(c[B>>2]|0,c[B+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0,w=ES(v,w,D)|0,v=(c[x>>2]|0)+16|0,c[v>>2]=(c[v>>2]|0)+w,v=q,w=c[v+4>>2]|0,B=(c[x>>2]|0)+32|0,c[B>>2]=c[v>>2],c[B+4>>2]=w,c[A>>2]=1,c[(c[x>>2]|0)+12>>2]=c[(c[x>>2]|0)+16>>2],(c[c[E>>2]>>2]|0)!=1):0){B=(c[x>>2]|0)+16|0;c[B>>2]=(c[B>>2]|0)+1;b[(c[x>>2]|0)+26>>1]=(c[c[E>>2]>>2]|0)==0?0:-1;c[(c[x>>2]|0)+28>>2]=0}do if((c[r>>2]|0)>=0){if((c[c[E>>2]>>2]|0)==1){a[(c[x>>2]|0)+25>>0]=1;break}do if((c[r>>2]|0)!=(b[(c[x>>2]|0)+26>>1]|0))if(!(c[c[E>>2]>>2]|0)){B=c[y>>2]|0;v=(c[x>>2]|0)+16|0;w=c[v>>2]|0;c[v>>2]=w+1;a[B+w>>0]=1;w=c[r>>2]|0;w=ES((c[y>>2]|0)+(c[(c[x>>2]|0)+16>>2]|0)|0,w,((w|0)<0)<<31>>31)|0;B=(c[x>>2]|0)+16|0;c[B>>2]=(c[B>>2]|0)+w;b[(c[x>>2]|0)+26>>1]=c[r>>2];c[(c[x>>2]|0)+28>>2]=0;break}else{c[A>>2]=1;B=c[r>>2]|0;c[s>>2]=B;b[(c[x>>2]|0)+26>>1]=B;break}while(0);if(c[A>>2]|0){A=(c[s>>2]|0)-(c[(c[x>>2]|0)+28>>2]|0)+2|0;A=ES((c[y>>2]|0)+(c[(c[x>>2]|0)+16>>2]|0)|0,A,((A|0)<0)<<31>>31)|0;B=(c[x>>2]|0)+16|0;c[B>>2]=(c[B>>2]|0)+A;c[(c[x>>2]|0)+28>>2]=c[s>>2]}}else a[(c[x>>2]|0)+24>>0]=1;while(0);c[z>>2]=(c[z>>2]|0)+(c[(c[x>>2]|0)+16>>2]|0);E=c[(c[E>>2]|0)+4>>2]|0;c[E>>2]=(c[E>>2]|0)+(c[z>>2]|0);c[C>>2]=0;E=c[C>>2]|0;l=F;return E|0}function nZ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=0;c[k>>2]=0;while(1){e=c[j>>2]|0;if((c[k>>2]|0)>=(c[i>>2]|0)){b=9;break}if((e|0)>=(c[h>>2]|0)){b=4;break}e=c[g>>2]|0;f=c[j>>2]|0;c[j>>2]=f+1;a:do if((d[e+f>>0]|0)>=192)while(1){if((a[(c[g>>2]|0)+(c[j>>2]|0)>>0]&192|0)!=128)break a;c[j>>2]=(c[j>>2]|0)+1}while(0);c[k>>2]=(c[k>>2]|0)+1}if((b|0)==4){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}else if((b|0)==9){c[m>>2]=e;m=c[m>>2]|0;l=n;return m|0}return 0}function oZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+16|0;i=n+20|0;j=n+12|0;o=n+8|0;k=n+4|0;m=n;c[h>>2]=b;a[i>>0]=e;c[j>>2]=f;c[o>>2]=g;c[m>>2]=13;c[k>>2]=(c[o>>2]|0)-1;while(1){b=c[m>>2]<<3^c[m>>2];if((c[k>>2]|0)<0)break;c[m>>2]=b^(d[(c[j>>2]|0)+(c[k>>2]|0)>>0]|0);c[k>>2]=(c[k>>2]|0)+-1}c[m>>2]=b^(d[i>>0]|0);l=n;return ((c[m>>2]|0)>>>0)%((c[h>>2]|0)>>>0)|0|0}function pZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;b=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+12>>2]<<1;c[h>>2]=c[(c[d>>2]|0)+20>>2];c[g>>2]=pe(c[e>>2]<<2)|0;if(!(c[g>>2]|0)){c[b>>2]=7;j=c[b>>2]|0;l=k;return j|0}m0(c[g>>2]|0,0,c[e>>2]<<2|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;while(1){if(!(c[(c[h>>2]|0)+(c[f>>2]<<2)>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+(c[f>>2]<<2)>>2];c[(c[h>>2]|0)+(c[f>>2]<<2)>>2]=c[c[j>>2]>>2];m=c[e>>2]|0;a=(c[j>>2]|0)+40|0;c[i>>2]=xT(m,a,g$((c[j>>2]|0)+40|0)|0)|0;c[c[j>>2]>>2]=c[(c[g>>2]|0)+(c[i>>2]<<2)>>2];c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}_d(c[h>>2]|0);c[(c[d>>2]|0)+12>>2]=c[e>>2];c[(c[d>>2]|0)+20>>2]=c[g>>2];c[b>>2]=0;m=c[b>>2]|0;l=k;return m|0}function qZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;g=k+16|0;f=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;d=pe(24)|0;c[i>>2]=d;c[c[g>>2]>>2]=d;if(!(c[i>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}a=c[i>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[(c[i>>2]|0)+4>>2]=c[f>>2];c[c[i>>2]>>2]=c[(c[e>>2]|0)+48>>2];c[(c[i>>2]|0)+12>>2]=1024;c[j>>2]=c[(c[i>>2]|0)+12>>2]<<2;a=pe(c[j>>2]|0)|0;c[(c[i>>2]|0)+20>>2]=a;a=c[i>>2]|0;if(!(c[(c[i>>2]|0)+20>>2]|0)){_d(a);c[c[g>>2]>>2]=0;c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}else{m0(c[a+20>>2]|0,0,c[j>>2]|0)|0;j=c[h>>2]|0;l=k;return j|0}return 0}function rZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=20;if(!(c[(c[c[d>>2]>>2]|0)+44>>2]|0)){g=c[f>>2]|0;l=h;return g|0}c[g>>2]=0;c[f>>2]=NY(c[d>>2]|0,6,g,0)|0;if(!(c[f>>2]|0)){rJ(c[g>>2]|0,1)|0;rJ(c[g>>2]|0,2)|0;Bs(c[g>>2]|0)|0;c[f>>2]=ys(c[g>>2]|0)|0}if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}d=cj(c[c[c[d>>2]>>2]>>2]|0)|0;g=c[e>>2]|0;c[g>>2]=d;c[g+4>>2]=D;g=c[f>>2]|0;l=h;return g|0}function sZ(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;n=t+56|0;o=t+52|0;p=t;q=t+48|0;r=t+44|0;s=t+40|0;g=t+36|0;h=t+32|0;i=t+28|0;j=t+16|0;k=t+12|0;m=t+8|0;c[o>>2]=a;a=p;c[a>>2]=b;c[a+4>>2]=e;c[q>>2]=f;c[r>>2]=c[c[o>>2]>>2];c[s>>2]=0;if(!(c[q>>2]|0)){c[g>>2]=NY(c[o>>2]|0,2,s,0)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];s=c[n>>2]|0;l=t;return s|0}f=p;qJ(c[s>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;if((Bs(c[s>>2]|0)|0)!=100){c[n>>2]=ys(c[s>>2]|0)|0;s=c[n>>2]|0;l=t;return s|0}}c[j>>2]=c[o>>2];c[j+4>>2]=-1;c[g>>2]=iZ(c[(c[o>>2]|0)+4>>2]|0,1,c[p>>2]|0,c[p+4>>2]|0)|0;c[i>>2]=1;while(1){if(c[g>>2]|0)break;if((c[i>>2]|0)>(c[(c[r>>2]|0)+12>>2]|0))break;if(!(d[(c[(c[r>>2]|0)+20>>2]|0)+((c[i>>2]|0)-1)>>0]|0)){if(c[s>>2]|0){c[k>>2]=Cv(c[s>>2]|0,c[i>>2]|0)|0;c[m>>2]=gJ(c[s>>2]|0,c[i>>2]|0)|0}else{c[k>>2]=Rh(c[(c[q>>2]|0)+((c[i>>2]|0)-1<<2)>>2]|0)|0;c[m>>2]=Sh(c[(c[q>>2]|0)+((c[i>>2]|0)-1<<2)>>2]|0)|0}c[j+8>>2]=0;c[g>>2]=EV(c[r>>2]|0,4,c[k>>2]|0,c[m>>2]|0,j,154)|0;f=c[j+8>>2]|0;p=(c[(c[o>>2]|0)+24>>2]|0)+((c[i>>2]|0)-1<<3)|0;e=p;f=Z$(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[p>>2]=f;c[p+4>>2]=D}c[i>>2]=(c[i>>2]|0)+1}r=(c[o>>2]|0)+16|0;q=r;q=_$(c[q>>2]|0,c[q+4>>2]|0,-1,-1)|0;c[r>>2]=q;c[r+4>>2]=D;c[h>>2]=ys(c[s>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=c[h>>2];c[n>>2]=c[g>>2];s=c[n>>2]|0;l=t;return s|0}function tZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;d=vf(c[h>>2]|0,g)|0;c[(c[f>>2]|0)+8>>2]=d;l=e;return}function uZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+48|0;f=g+16|0;h=g;b=g+32|0;d=g+28|0;e=g+24|0;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=c[c[d>>2]>>2]|0;k=c[(c[d>>2]|0)+8>>2]|0;j=c[(c[d>>2]|0)+4>>2]|0;i=c[(c[d>>2]|0)+8>>2]|0;c[h>>2]=c[(c[d>>2]|0)+4>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=i;c[e>>2]=XX(a,0,51758,h)|0;if((c[e>>2]|0)==0?c[(c[d>>2]|0)+44>>2]|0:0){k=c[c[d>>2]>>2]|0;j=c[(c[d>>2]|0)+8>>2]|0;c[f>>2]=c[(c[d>>2]|0)+4>>2];c[f+4>>2]=j;c[e>>2]=XX(k,0,51808,f)|0}if(!(c[e>>2]|0))c[e>>2]=PZ(c[(c[b>>2]|0)+4>>2]|0)|0;if(c[e>>2]|0){k=c[e>>2]|0;l=g;return k|0}c[e>>2]=AZ(c[b>>2]|0,47943,0,4)|0;k=c[e>>2]|0;l=g;return k|0}function vZ(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;b=k+44|0;e=k+32|0;f=k+28|0;g=k+24|0;h=k+12|0;i=k+8|0;j=k;c[b>>2]=a;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f>>2]=c[c[b>>2]>>2];c[g>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[b>>2];c[i>>2]=uZ(c[b>>2]|0)|0;if(!(c[i>>2]|0))c[i>>2]=YY(c[b>>2]|0,1)|0;if(!(c[i>>2]|0))c[i>>2]=NY(c[b>>2]|0,10,g,0)|0;while(1){if(c[i>>2]|0)break;if(100!=(Bs(c[g>>2]|0)|0))break;m=jJ(c[g>>2]|0,0)|0;a=j;c[a>>2]=m;c[a+4>>2]=D;xS(e);a=j;c[i>>2]=iZ(c[(c[b>>2]|0)+4>>2]|0,0,c[a>>2]|0,c[a+4>>2]|0)|0;c[h+4>>2]=0;while(1){if(c[i>>2]|0)break;if((c[h+4>>2]|0)>=(c[(c[f>>2]|0)+12>>2]|0))break;c[h+8>>2]=0;if(!(d[(c[(c[f>>2]|0)+20>>2]|0)+(c[h+4>>2]|0)>>0]|0)){a=c[f>>2]|0;m=Cv(c[g>>2]|0,(c[h+4>>2]|0)+1|0)|0;c[i>>2]=EV(a,4,m,gJ(c[g>>2]|0,(c[h+4>>2]|0)+1|0)|0,h,154)|0}a=c[h+8>>2]|0;hT(i,e,a,((a|0)<0)<<31>>31);a=c[h+8>>2]|0;m=(c[(c[b>>2]|0)+24>>2]|0)+(c[h+4>>2]<<3)|0;n=m;a=_$(c[n>>2]|0,c[n+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;c[m+4>>2]=D;m=h+4|0;c[m>>2]=(c[m>>2]|0)+1}n=(c[b>>2]|0)+16|0;m=n;m=_$(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=D;if(c[i>>2]|0)continue;n=j;c[i>>2]=kZ(c[b>>2]|0,c[n>>2]|0,c[n+4>>2]|0,e)|0}_d(c[e>>2]|0);if(c[i>>2]|0){n=c[i>>2]|0;l=k;return n|0}c[i>>2]=hX(c[b>>2]|0)|0;n=c[i>>2]|0;l=k;return n|0}function wZ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=OZ(c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return a|0}function xZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=MZ(c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function yZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+96|0;d=r+84|0;i=r+80|0;j=r+76|0;k=r+72|0;m=r+68|0;n=r+64|0;o=r+16|0;p=r+60|0;q=r+56|0;e=r+52|0;f=r+48|0;g=r+8|0;h=r;c[i>>2]=b;c[j>>2]=c[c[i>>2]>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[o+28>>2]=c[c[i>>2]>>2];c[n>>2]=pe((c[(c[j>>2]|0)+12>>2]|0)*12|0)|0;if(!(c[n>>2]|0)){c[d>>2]=7;q=c[d>>2]|0;l=r;return q|0}c[m>>2]=(c[n>>2]|0)+(c[(c[j>>2]|0)+12>>2]<<3);m0(c[n>>2]|0,0,c[(c[j>>2]|0)+12>>2]<<3|0)|0;c[k>>2]=NY(c[i>>2]|0,10,p,0)|0;if(!(c[k>>2]|0)){do{if(100!=(Bs(c[p>>2]|0)|0))break;s=jJ(c[p>>2]|0,0)|0;b=o;c[b>>2]=s;c[b+4>>2]=D;c[o+12>>2]=0;if(c[(c[j>>2]|0)+44>>2]|0){s=o;c[k>>2]=LY(c[i>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[m>>2]|0)|0}if((c[k>>2]|0)==0?(c[(c[j>>2]|0)+48>>2]|0)==1:0)c[k>>2]=CZ(o+24|0)|0;c[e>>2]=0;while(1){if(c[k>>2]|0)break;if((c[e>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;if(!(a[(c[(c[j>>2]|0)+20>>2]|0)+(c[e>>2]|0)>>0]|0)){c[o+8>>2]=c[e>>2];c[o+12>>2]=0;if((c[(c[j>>2]|0)+48>>2]|0)==2)c[k>>2]=CZ(o+24|0)|0;if(!(c[k>>2]|0)){b=c[j>>2]|0;s=Cv(c[p>>2]|0,(c[e>>2]|0)+1|0)|0;c[k>>2]=EV(b,4,s,gJ(c[p>>2]|0,(c[e>>2]|0)+1|0)|0,o,155)|0}if(((c[k>>2]|0)==0?c[(c[j>>2]|0)+44>>2]|0:0)?(c[o+12>>2]|0)!=(c[(c[m>>2]|0)+(c[e>>2]<<2)>>2]|0):0)c[k>>2]=267;b=c[o+12>>2]|0;s=(c[n>>2]|0)+(c[e>>2]<<3)|0;t=s;b=_$(c[t>>2]|0,c[t+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[s>>2]=b;c[s+4>>2]=D;if((c[(c[j>>2]|0)+48>>2]|0)==2){EZ(c[o+24>>2]|0);c[o+24>>2]=0}}c[e>>2]=(c[e>>2]|0)+1}EZ(c[o+24>>2]|0);c[o+24>>2]=0}while(!(c[k>>2]|0));c[q>>2]=ys(c[p>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[q>>2]}a:do if(!(c[k>>2]|0)){c[k>>2]=YY(c[i>>2]|0,0)|0;c[f>>2]=0;while(1){if(c[k>>2]|0)break a;if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break a;s=(c[(c[i>>2]|0)+24>>2]|0)+(c[f>>2]<<3)|0;t=(c[n>>2]|0)+(c[f>>2]<<3)|0;if((c[s>>2]|0)!=(c[t>>2]|0)?1:(c[s+4>>2]|0)!=(c[t+4>>2]|0))c[k>>2]=267;c[f>>2]=(c[f>>2]|0)+1}}while(0);if((((c[k>>2]|0)==0?(c[(c[j>>2]|0)+32>>2]|0)==0:0)?(t=g,c[t>>2]=0,c[t+4>>2]=0,c[k>>2]=FZ(c[i>>2]|0,46221,g)|0,(c[k>>2]|0)==0):0)?(s=g,t=(c[i>>2]|0)+16|0,(c[s>>2]|0)!=(c[t>>2]|0)?1:(c[s+4>>2]|0)!=(c[t+4>>2]|0)):0)c[k>>2]=267;if((((c[k>>2]|0)==0?c[(c[j>>2]|0)+44>>2]|0:0)?(t=h,c[t>>2]=0,c[t+4>>2]=0,c[k>>2]=FZ(c[i>>2]|0,49899,h)|0,(c[k>>2]|0)==0):0)?(s=h,t=(c[i>>2]|0)+16|0,(c[s>>2]|0)!=(c[t>>2]|0)?1:(c[s+4>>2]|0)!=(c[t+4>>2]|0)):0)c[k>>2]=267;if(!(c[k>>2]|0)){t=o+16|0;c[k>>2]=GZ(c[(c[i>>2]|0)+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0}_d(c[n>>2]|0);c[d>>2]=c[k>>2];t=c[d>>2]|0;l=r;return t|0}function zZ(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=hS(c[d>>2]|0)|0;jS(c[e>>2]|0);a=BR(c[d>>2]|0)|0;l=b;return a|0}function AZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+24|0;f=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[h>>2]=a;c[f>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=0;c[m>>2]=NY(c[h>>2]|0,9,k,0)|0;if(!(c[m>>2]|0)){sJ(c[k>>2]|0,1,c[f>>2]|0,-1,0)|0;a=c[k>>2]|0;if(c[i>>2]|0)tJ(a,2,c[i>>2]|0)|0;else pJ(a,2,c[j>>2]|0)|0;Bs(c[k>>2]|0)|0;c[m>>2]=ys(c[k>>2]|0)|0}if(!((c[m>>2]|0)==0&(c[i>>2]|0)!=0)){m=c[m>>2]|0;l=n;return m|0}c[g>>2]=(c[(c[c[h>>2]>>2]|0)+64>>2]|0)+1;c[m>>2]=BZ(c[(c[h>>2]|0)+4>>2]|0,c[g>>2]|0)|0;if(c[m>>2]|0){m=c[m>>2]|0;l=n;return m|0}c[(c[c[h>>2]>>2]|0)+64>>2]=c[g>>2];m=c[m>>2]|0;l=n;return m|0}function BZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+32|0;h=g+16|0;j=g+12|0;d=g+8|0;i=g+4|0;e=g+20|0;f=g;c[h>>2]=a;c[j>>2]=b;c[i>>2]=c[c[h>>2]>>2];c[f>>2]=0;AX(e,c[j>>2]|0);c[d>>2]=xJ(c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+4>>2]|0,45300,10,0,1,f)|0;if(c[d>>2]|0){j=c[d>>2]|0;l=g;return j|0}FJ(c[f>>2]|0,e,4,0)|0;c[d>>2]=AJ(c[f>>2]|0)|0;j=c[d>>2]|0;l=g;return j|0}function CZ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;a=dT(b,2048)|0;c[c[e>>2]>>2]=a;l=d;return c[b>>2]|0}function DZ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+64|0;v=u+56|0;q=u+52|0;r=u+48|0;s=u+44|0;h=u+32|0;i=u+28|0;j=u+24|0;k=u+20|0;t=u+16|0;m=u+12|0;n=u+8|0;o=u+4|0;p=u;c[v>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[u+40>>2]=f;c[u+36>>2]=g;c[h>>2]=c[v>>2];c[i>>2]=c[(c[h>>2]|0)+24>>2];c[t>>2]=0;if((c[s>>2]|0)>32768)c[s>>2]=32768;if(!((c[q>>2]&1|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0)){v=(c[h>>2]|0)+12|0;c[v>>2]=(c[v>>2]|0)+1}switch(c[(c[(c[h>>2]|0)+28>>2]|0)+48>>2]|0){case 0:{c[m>>2]=(c[(c[h>>2]|0)+12>>2]|0)-1;c[n>>2]=c[(c[h>>2]|0)+8>>2];break}case 2:{c[m>>2]=c[(c[h>>2]|0)+8>>2];c[n>>2]=0;break}default:{c[m>>2]=0;c[n>>2]=0}}c[t>>2]=LZ(c[i>>2]|0,0,c[r>>2]|0,c[s>>2]|0,j)|0;if((c[t>>2]|0)==0&(c[j>>2]|0)==0){g=c[h>>2]|0;g=IZ(c[g>>2]|0,c[g+4>>2]|0,c[n>>2]|0,c[m>>2]|0,0,c[r>>2]|0,c[s>>2]|0)|0;v=(c[h>>2]|0)+16|0;f=v;q=c[f+4>>2]^D;c[v>>2]=c[f>>2]^g;c[v+4>>2]=q}c[k>>2]=0;while(1){if(c[t>>2]|0){a=19;break}if((c[k>>2]|0)>=(c[(c[(c[h>>2]|0)+28>>2]|0)+24>>2]|0)){a=19;break}c[o>>2]=c[(c[(c[(c[h>>2]|0)+28>>2]|0)+28>>2]|0)+(c[k>>2]<<2)>>2];c[p>>2]=nZ(c[r>>2]|0,c[s>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0?(c[t>>2]=LZ(c[i>>2]|0,(c[k>>2]|0)+1|0,c[r>>2]|0,c[p>>2]|0,j)|0,(c[j>>2]|0)==0):0){g=c[h>>2]|0;g=IZ(c[g>>2]|0,c[g+4>>2]|0,c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+1|0,c[r>>2]|0,c[p>>2]|0)|0;v=(c[h>>2]|0)+16|0;f=v;q=c[f+4>>2]^D;c[v>>2]=c[f>>2]^g;c[v+4>>2]=q}c[k>>2]=(c[k>>2]|0)+1}if((a|0)==19){l=u;return c[t>>2]|0}return 0}function EZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;if(!(c[b>>2]|0)){l=g;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>>>0>=512)break;c[e>>2]=c[a+(c[d>>2]<<2)>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];_d(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}_d(a);l=g;return}function FZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+48|0;k=j;n=j+36|0;m=j+32|0;e=j+28|0;f=j+24|0;g=j+20|0;h=j+16|0;i=j+12|0;c[n>>2]=a;c[m>>2]=b;c[e>>2]=d;c[f>>2]=c[c[n>>2]>>2];b=c[(c[f>>2]|0)+8>>2]|0;d=c[m>>2]|0;c[k>>2]=c[(c[f>>2]|0)+4>>2];c[k+4>>2]=b;c[k+8>>2]=d;c[g>>2]=nf(51726,k)|0;if(!(c[g>>2]|0)){c[h>>2]=7;n=c[g>>2]|0;_d(n);n=c[h>>2]|0;l=j;return n|0}c[i>>2]=0;c[h>>2]=zv(c[c[f>>2]>>2]|0,c[g>>2]|0,-1,i,0)|0;if(c[h>>2]|0){n=c[g>>2]|0;_d(n);n=c[h>>2]|0;l=j;return n|0}if(100==(Bs(c[i>>2]|0)|0)){m=jJ(c[i>>2]|0,0)|0;n=c[e>>2]|0;c[n>>2]=m;c[n+4>>2]=D}c[h>>2]=Fr(c[i>>2]|0)|0;n=c[g>>2]|0;_d(n);n=c[h>>2]|0;l=j;return n|0}function GZ(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+96|0;q=x+92|0;r=x+24|0;s=x+88|0;t=x+16|0;u=x+76|0;v=x+72|0;w=x+68|0;f=x+60|0;g=x+56|0;h=x+52|0;i=x+48|0;j=x+8|0;k=x+44|0;m=x;n=x+40|0;o=x+36|0;p=x+32|0;c[q>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=c[(c[c[q>>2]>>2]|0)+48>>2];d=t;c[d>>2]=0;c[d+4>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[x+64>>2]=32;c[w>>2]=hS(c[q>>2]|0)|0;a:do if(c[w>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break a;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[w>>2]|0)+24+((c[f>>2]|0)*12|0)+4>>2]|0))break;c[h>>2]=(c[(c[w>>2]|0)+24+((c[f>>2]|0)*12|0)+8>>2]|0)+((c[g>>2]|0)*12|0);HZ(c[q>>2]|0,c[h>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}}while(0);iS(c[q>>2]|0,c[w>>2]|0,32,0,0,0,-1,0,v);while(1){if(NS(c[q>>2]|0,c[v>>2]|0)|0)break;h=j;c[h>>2]=0;c[h+4>>2]=0;c[k>>2]=0;h=iW(c[v>>2]|0)|0;d=m;c[d>>2]=h;c[d+4>>2]=D;c[n>>2]=dS(c[v>>2]|0,i)|0;b:do if((c[s>>2]|0)==1){if(!(cT(c[q>>2]|0,c[v>>2]|0)|0)){g=m;g=IZ(c[g>>2]|0,c[g+4>>2]|0,0,0,-1,c[n>>2]|0,c[i>>2]|0)|0;f=t;h=c[f+4>>2]^D;d=t;c[d>>2]=c[f>>2]^g;c[d+4>>2]=h}}else{c[u+4>>2]=0;yS(c[q>>2]|0,(c[v>>2]|0)+80+((e[(c[(c[v>>2]|0)+72>>2]|0)+4>>1]|0)*88|0)|0,0,u);while(1){if(xR(c[u>>2]|0,c[u+4>>2]|0,k,j)|0)break b;g=j;g=e0(c[g>>2]|0,c[g+4>>2]|0,32)|0;c[o>>2]=g;c[p>>2]=c[j>>2];g=m;g=IZ(c[g>>2]|0,c[g+4>>2]|0,c[o>>2]|0,c[p>>2]|0,-1,c[n>>2]|0,c[i>>2]|0)|0;f=t;h=c[f+4>>2]^D;d=t;c[d>>2]=c[f>>2]^g;c[d+4>>2]=h}}while(0);zR(c[q>>2]|0,c[v>>2]|0,0,0,0)}oS(c[v>>2]|0);if(c[(c[q>>2]|0)+36>>2]|0){w=c[w>>2]|0;jS(w);nS(u);w=c[q>>2]|0;w=BR(w)|0;l=x;return w|0}s=r;v=t;if(!((c[s>>2]|0)!=(c[v>>2]|0)?1:(c[s+4>>2]|0)!=(c[v+4>>2]|0))){w=c[w>>2]|0;jS(w);nS(u);w=c[q>>2]|0;w=BR(w)|0;l=x;return w|0}c[(c[q>>2]|0)+36>>2]=267;w=c[w>>2]|0;jS(w);nS(u);w=c[q>>2]|0;w=BR(w)|0;l=x;return w|0}function HZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;F=l;l=l+128|0;e=F+24|0;q=F+116|0;x=F+112|0;d=F+108|0;y=F+104|0;z=F+100|0;A=F+96|0;B=F+92|0;C=F+16|0;f=F+88|0;g=F+84|0;h=F+80|0;i=F+76|0;j=F+72|0;k=F+68|0;m=F+64|0;n=F+60|0;o=F+56|0;p=F+52|0;r=F+48|0;s=F+44|0;t=F+40|0;u=F+8|0;v=F;w=F+36|0;c[q>>2]=a;c[x>>2]=b;c[d>>2]=c[c[q>>2]>>2];c[y>>2]=0;c[A>>2]=(c[(c[x>>2]|0)+4>>2]|0)-1;c[B>>2]=c[(c[x>>2]|0)+8>>2];if(!(c[(c[x>>2]|0)+4>>2]|0)){l=F;return}b=c[q>>2]|0;G=c[(c[d>>2]|0)+8>>2]|0;a=c[c[x>>2]>>2]|0;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[e+4>>2]=G;c[e+8>>2]=a;uT(b,y,nf(51654,e)|0)|0;while(1){if(c[(c[q>>2]|0)+36>>2]|0)break;if(100!=(Bs(c[y>>2]|0)|0))break;c[g>>2]=gJ(c[y>>2]|0,1)|0;c[h>>2]=Cv(c[y>>2]|0,1)|0;c[i>>2]=iJ(c[y>>2]|0,2)|0;c[j>>2]=iJ(c[y>>2]|0,3)|0;if((c[i>>2]|0)<(c[(c[x>>2]|0)+4>>2]|0))continue;G=c[c[x>>2]>>2]|0;G=j0(G|0,((G|0)<0)<<31>>31|0,37)|0;G=_$(G|0,D|0,0,0)|0;G=_$(G|0,D|0,0,0)|0;e=c[i>>2]|0;e=_$(G|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;G=C;c[G>>2]=e;c[G+4>>2]=D;G=C;c[f>>2]=PR(c[q>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!(c[f>>2]|0))break;if((c[(c[f>>2]|0)+4>>2]|0)<=(c[(c[f>>2]|0)+8>>2]|0))c[(c[q>>2]|0)+36>>2]=267;else{c[k>>2]=WS(c[f>>2]|0)|0;c[m>>2]=(QR(c[c[f>>2]>>2]|0)|0)&65535;if((c[m>>2]|0)<(c[k>>2]|0)){G=VR((c[c[f>>2]>>2]|0)+(c[k>>2]|0)|0,n)|0;c[k>>2]=(c[k>>2]|0)+G;c[o>>2]=H_((c[c[f>>2]>>2]|0)+(c[k>>2]|0)|0,c[h>>2]|0,(c[n>>2]|0)<(c[g>>2]|0)?c[n>>2]|0:c[g>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=(c[n>>2]|0)-(c[g>>2]|0);if((c[o>>2]|0)<0){a=c[q>>2]|0;E=15}}else{a=c[q>>2]|0;E=15}if((E|0)==15){E=0;c[a+36>>2]=267}JZ(c[q>>2]|0,c[f>>2]|0)}AR(c[f>>2]|0);if(c[(c[q>>2]|0)+36>>2]|0)break;KZ(c[q>>2]|0,c[x>>2]|0,(c[A>>2]|0)+1|0,(c[B>>2]|0)+1|0,(c[i>>2]|0)-1|0);if(c[(c[q>>2]|0)+36>>2]|0)break;if(c[j>>2]|0){c[p>>2]=0;c[r>>2]=c[i>>2];c[s>>2]=c[c[x>>2]>>2];c[t>>2]=0;c[p>>2]=rT(c[q>>2]|0,0,c[s>>2]|0,c[i>>2]|0)|0;while(1){if(IR(c[q>>2]|0,c[p>>2]|0)|0)break;c[t>>2]=(c[r>>2]|0)+1;while(1){G=c[t>>2]|0;if((G|0)>=(KR(c[p>>2]|0)|0))break;G=c[s>>2]|0;G=j0(G|0,((G|0)<0)<<31>>31|0,37)|0;G=_$(G|0,D|0,0,0)|0;G=_$(G|0,D|0,0,0)|0;e=c[t>>2]|0;e=_$(G|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;G=u;c[G>>2]=e;c[G+4>>2]=D;G=u;c[f>>2]=PR(c[q>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[f>>2]|0){if((QR(c[c[f>>2]>>2]|0)|0)&65535|0)c[(c[q>>2]|0)+36>>2]=267;AR(c[f>>2]|0)}c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=KR(c[p>>2]|0)|0;G=c[s>>2]|0;G=j0(G|0,((G|0)<0)<<31>>31|0,37)|0;G=_$(G|0,D|0,0,0)|0;G=_$(G|0,D|0,0,0)|0;e=c[r>>2]|0;e=_$(G|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;G=u;c[G>>2]=e;c[G+4>>2]=D;G=u;c[f>>2]=PR(c[q>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[f>>2]|0){c[w>>2]=(QR(c[c[f>>2]>>2]|0)|0)&65535;if(!((c[w>>2]|0)<(c[(c[f>>2]|0)+8>>2]|0)?(RR((c[c[f>>2]>>2]|0)+(c[w>>2]|0)|0,v)|0,G=v,d=c[G>>2]|0,G=c[G+4>>2]|0,e=JR(c[p>>2]|0)|0,!((d|0)!=(e|0)|(G|0)!=(D|0))):0)){a=c[q>>2]|0;E=34}if((E|0)==34){E=0;c[a+36>>2]=267}AR(c[f>>2]|0)}LR(c[q>>2]|0,c[p>>2]|0)|0}c[B>>2]=c[t>>2];qS(c[p>>2]|0)}else c[B>>2]=c[(c[x>>2]|0)+8>>2];c[A>>2]=c[i>>2]}c[z>>2]=Fr(c[y>>2]|0)|0;if(c[(c[q>>2]|0)+36>>2]|0){l=F;return}c[(c[q>>2]|0)+36>>2]=c[z>>2];l=F;return}function IZ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=l;l=l+48|0;s=p+8|0;r=p+36|0;q=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p;t=s;c[t>>2]=b;c[t+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=i;g=s;h=c[g+4>>2]|0;i=o;c[i>>2]=c[g>>2];c[i+4>>2]=h;i=o;i=j0(c[i>>2]|0,c[i+4>>2]|0,3)|0;h=c[r>>2]|0;h=_$(i|0,D|0,h|0,((h|0)<0)<<31>>31|0)|0;i=o;h=_$(c[i>>2]|0,c[i+4>>2]|0,h|0,D|0)|0;i=o;c[i>>2]=h;c[i+4>>2]=D;i=o;i=j0(c[i>>2]|0,c[i+4>>2]|0,3)|0;h=c[q>>2]|0;h=_$(i|0,D|0,h|0,((h|0)<0)<<31>>31|0)|0;i=o;h=_$(c[i>>2]|0,c[i+4>>2]|0,h|0,D|0)|0;i=o;c[i>>2]=h;c[i+4>>2]=D;if((c[j>>2]|0)>=0){t=o;t=j0(c[t>>2]|0,c[t+4>>2]|0,3)|0;s=48+(c[j>>2]|0)|0;s=_$(t|0,D|0,s|0,((s|0)<0)<<31>>31|0)|0;t=o;s=_$(c[t>>2]|0,c[t+4>>2]|0,s|0,D|0)|0;t=o;c[t>>2]=s;c[t+4>>2]=D}c[n>>2]=0;while(1){d=o;b=c[d>>2]|0;d=c[d+4>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;t=j0(b|0,d|0,3)|0;s=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;s=_$(t|0,D|0,s|0,((s|0)<0)<<31>>31|0)|0;t=o;s=_$(c[t>>2]|0,c[t+4>>2]|0,s|0,D|0)|0;t=o;c[t>>2]=s;c[t+4>>2]=D;c[n>>2]=(c[n>>2]|0)+1}D=d;l=p;return b|0}function JZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;h=q+60|0;i=q+56|0;j=q+52|0;k=q+48|0;o=q+36|0;p=q+24|0;m=q+20|0;n=q+16|0;d=q+12|0;e=q+8|0;f=q+4|0;g=q;c[h>>2]=a;c[i>>2]=b;c[j>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[k>>2]=c[(c[i>>2]|0)+8>>2];while(1){if((c[k>>2]|0)>=(c[(c[i>>2]|0)+4>>2]|0)){a=18;break}if(c[(c[h>>2]|0)+36>>2]|0){a=18;break}b=VR((c[c[i>>2]>>2]|0)+(c[k>>2]|0)|0,d)|0;c[k>>2]=(c[k>>2]|0)+b;c[j>>2]=(c[j>>2]|0)+(c[d>>2]|0);c[n>>2]=c[j>>2];do if((c[n>>2]|0)<(c[(c[i>>2]|0)+8>>2]|0)){a=(c[c[i>>2]>>2]|0)+(c[n>>2]|0)|0;if((c[j>>2]|0)==(c[d>>2]|0)){a=VR(a,e)|0;c[n>>2]=(c[n>>2]|0)+a;a=(c[h>>2]|0)+36|0;if(((c[n>>2]|0)+(c[e>>2]|0)|0)>(c[(c[i>>2]|0)+8>>2]|0)){c[a>>2]=267;break}else{wR(a,o,c[e>>2]|0,(c[c[i>>2]>>2]|0)+(c[n>>2]|0)|0);break}}b=VR(a,f)|0;c[n>>2]=(c[n>>2]|0)+b;b=VR((c[c[i>>2]>>2]|0)+(c[n>>2]|0)|0,g)|0;c[n>>2]=(c[n>>2]|0)+b;if((c[f>>2]|0)<=(c[o+4>>2]|0)?((c[n>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[i>>2]|0)+8>>2]|0):0){c[o+4>>2]=c[f>>2];bS((c[h>>2]|0)+36|0,o,c[g>>2]|0,(c[c[i>>2]>>2]|0)+(c[n>>2]|0)|0)}else c[(c[h>>2]|0)+36>>2]=267;if((c[(c[h>>2]|0)+36>>2]|0)==0?(c[m>>2]=HR(o,p)|0,(c[m>>2]|0)<=0):0)c[(c[h>>2]|0)+36>>2]=267}else c[(c[h>>2]|0)+36>>2]=267;while(0);wR((c[h>>2]|0)+36|0,p,c[o+4>>2]|0,c[o>>2]|0)}if((a|0)==18){nS(o);nS(p);l=q;return}}function KZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+24|0;j=n+20|0;o=n+16|0;k=n+12|0;m=n+8|0;g=n+4|0;h=n;c[i>>2]=a;c[j>>2]=b;c[o>>2]=d;c[k>>2]=e;c[m>>2]=f;c[g>>2]=c[o>>2];while(1){if(c[(c[i>>2]|0)+36>>2]|0){a=11;break}if((c[g>>2]|0)>(c[m>>2]|0)){a=11;break}f=c[i>>2]|0;e=c[c[j>>2]>>2]|0;e=j0(e|0,((e|0)<0)<<31>>31|0,37)|0;e=_$(e|0,D|0,0,0)|0;e=_$(e|0,D|0,0,0)|0;o=c[g>>2]|0;o=_$(e|0,D|0,o|0,((o|0)<0)<<31>>31|0)|0;c[h>>2]=PR(f,o,D)|0;if(c[h>>2]|0){if((c[(c[h>>2]|0)+8>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0))c[(c[i>>2]|0)+36>>2]=267;if((c[g>>2]|0)>=(c[k>>2]|0)?0!=((QR(c[c[h>>2]>>2]|0)|0)&65535|0):0)c[(c[i>>2]|0)+36>>2]=267}AR(c[h>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if((a|0)==11){l=n;return}}function LZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;q=s+16|0;h=s+12|0;i=s+8|0;j=s+4|0;k=s;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[h>>2]=0;c[c[q>>2]>>2]=0;if(!(c[m>>2]|0)){r=c[h>>2]|0;l=s;return r|0}c[j>>2]=13;c[i>>2]=(c[p>>2]|0)-1;while(1){b=c[j>>2]<<3^c[j>>2];if((c[i>>2]|0)<0)break;c[j>>2]=b^a[(c[o>>2]|0)+(c[i>>2]|0)>>0];c[i>>2]=(c[i>>2]|0)+-1}c[j>>2]=b^c[n>>2];c[j>>2]=((c[j>>2]|0)>>>0)%512|0;c[k>>2]=c[(c[m>>2]|0)+(c[j>>2]<<2)>>2];while(1){if(!(c[k>>2]|0))break;if(((c[(c[k>>2]|0)+8>>2]|0)==(c[n>>2]|0)?(c[(c[k>>2]|0)+4>>2]|0)==(c[p>>2]|0):0)?(H_(c[c[k>>2]>>2]|0,c[o>>2]|0,c[p>>2]|0)|0)==0:0){r=10;break}c[k>>2]=c[(c[k>>2]|0)+12>>2]}if((r|0)==10)c[c[q>>2]>>2]=1;if(c[k>>2]|0){r=c[h>>2]|0;l=s;return r|0}c[k>>2]=dT(h,16+(c[p>>2]|0)|0)|0;if(!(c[k>>2]|0)){r=c[h>>2]|0;l=s;return r|0}c[c[k>>2]>>2]=(c[k>>2]|0)+16;c[(c[k>>2]|0)+4>>2]=c[p>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];h0(c[c[k>>2]>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=c[(c[m>>2]|0)+(c[j>>2]<<2)>>2];c[(c[m>>2]|0)+(c[j>>2]<<2)>>2]=c[k>>2];r=c[h>>2]|0;l=s;return r|0}function MZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=hS(c[d>>2]|0)|0;if(!(c[f>>2]|0)){h=c[d>>2]|0;h=BR(h)|0;l=i;return h|0}c[g>>2]=c[(c[c[d>>2]>>2]|0)+80>>2];eX(c[d>>2]|0);if((c[e>>2]|0)<0){c[h>>2]=NZ(c[d>>2]|0,c[f>>2]|0)|0;jS(c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=2;c[e>>2]=S(c[e>>2]|0,-1)|0}if((c[f>>2]|0?c[(c[f>>2]|0)+20>>2]|0:0)?JX(c[d>>2]|0,f,c[e>>2]|0,c[g>>2]|0)|0:0)zX(c[d>>2]|0,c[f>>2]|0);jS(c[f>>2]|0);h=c[d>>2]|0;h=BR(h)|0;l=i;return h|0}function NZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;h=r+44|0;i=r+40|0;j=r+36|0;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;d=r+12|0;e=r+8|0;f=r+4|0;g=r;c[i>>2]=a;c[j>>2]=b;c[k>>2]=0;c[m>>2]=40;c[n>>2]=c[(c[j>>2]|0)+16>>2];if((c[n>>2]|0)<2){c[h>>2]=0;q=c[h>>2]|0;l=r;return q|0}c[o>>2]=0;while(1){a=c[j>>2]|0;if((c[o>>2]|0)>=(c[(c[j>>2]|0)+20>>2]|0))break;c[p>>2]=c[a+24+((c[o>>2]|0)*12|0)+4>>2];if((c[p>>2]|0)==(c[n>>2]|0)){q=8;break}if((c[p>>2]|0)==((c[n>>2]|0)-1|0)?(c[(c[j>>2]|0)+24+((c[o>>2]|0)*12|0)>>2]|0)==(c[p>>2]|0):0){q=8;break}c[o>>2]=(c[o>>2]|0)+1}if((q|0)==8){jT(c[j>>2]|0);c[h>>2]=c[j>>2];q=c[h>>2]|0;l=r;return q|0}c[m>>2]=(c[m>>2]|0)+(((c[a+20>>2]|0)+1|0)*12|0);c[k>>2]=dT((c[i>>2]|0)+36|0,c[m>>2]|0)|0;do if(c[k>>2]|0){c[m>>2]=(c[n>>2]|0)*12;c[(c[k>>2]|0)+20>>2]=(c[(c[j>>2]|0)+20>>2]|0)+1;c[c[k>>2]>>2]=1;o=(c[j>>2]|0)+8|0;p=c[o+4>>2]|0;q=(c[k>>2]|0)+8|0;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[d>>2]=(c[k>>2]|0)+24+((c[(c[j>>2]|0)+20>>2]|0)*12|0);q=dT((c[i>>2]|0)+36|0,c[m>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=q;if(!(c[(c[d>>2]|0)+8>>2]|0)){_d(c[k>>2]|0);c[k>>2]=0;break}c[g>>2]=0;c[e>>2]=(c[(c[j>>2]|0)+20>>2]|0)-1;while(1){if((c[e>>2]|0)<0)break;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+24+((c[e>>2]|0)*12|0)+4>>2]|0))break;q=(c[(c[d>>2]|0)+8>>2]|0)+((c[g>>2]|0)*12|0)|0;p=(c[(c[j>>2]|0)+24+((c[e>>2]|0)*12|0)+8>>2]|0)+((c[f>>2]|0)*12|0)|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}c[e>>2]=(c[e>>2]|0)+-1}q=c[n>>2]|0;c[(c[d>>2]|0)+4>>2]=q;c[(c[k>>2]|0)+16>>2]=q}while(0);c[h>>2]=c[k>>2];q=c[h>>2]|0;l=r;return q|0}function OZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[e>>2]=0;jX(c[b>>2]|0);c[d>>2]=hS(c[b>>2]|0)|0;eX(c[b>>2]|0);if(c[d>>2]|0)c[e>>2]=NZ(c[b>>2]|0,c[d>>2]|0)|0;jS(c[d>>2]|0);if(!(c[e>>2]|0)){g=c[b>>2]|0;g=BR(g)|0;l=h;return g|0}c[f>>2]=0;while(1){if(c[(c[e>>2]|0)+24+((c[f>>2]|0)*12|0)+4>>2]|0)break;c[f>>2]=(c[f>>2]|0)+1}while(1){if(c[(c[b>>2]|0)+36>>2]|0)break;if((c[(c[e>>2]|0)+24+((c[f>>2]|0)*12|0)+4>>2]|0)<=0)break;c[g>>2]=1e3;CX(c[b>>2]|0,e,c[f>>2]|0,g)}zX(c[b>>2]|0,c[e>>2]|0);jS(c[e>>2]|0);g=c[b>>2]|0;g=BR(g)|0;l=h;return g|0}function PZ(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+48|0;d=f+40|0;e=f;c[d>>2]=a;eX(c[d>>2]|0);a=e;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));BX(c[d>>2]|0,1,0,55752,0);zX(c[d>>2]|0,e);e=BR(c[d>>2]|0)|0;l=f;return e|0}function QZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;j=s+60|0;k=s+56|0;m=s+52|0;n=s+48|0;o=s+44|0;p=s+32|0;q=s+28|0;r=s+24|0;d=s+20|0;e=s+16|0;f=s+12|0;g=s+8|0;h=s+4|0;i=s;c[j>>2]=a;c[k>>2]=b;c[n>>2]=0;c[o>>2]=VY(c[(c[k>>2]|0)+52>>2]|0)|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;a:do switch(c[(c[(c[c[k>>2]>>2]|0)+12>>2]|0)+48>>2]|0){case 0:{c[m>>2]=0;while(1){if((c[m>>2]|0)>=((c[o>>2]|0)-1|0))break;c[r>>2]=xY(c[(c[k>>2]|0)+52>>2]|0,c[m>>2]|0,q)|0;i=c[r>>2]|0;hT(n,p,i,((i|0)<0)<<31>>31);c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break a;c[e>>2]=xY(c[(c[k>>2]|0)+52>>2]|0,c[m>>2]|0,d)|0;bS(n,p,c[e>>2]|0,c[d>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}case 2:{c[m>>2]=0;while(1){if(c[n>>2]|0)break;if((c[m>>2]|0)>=((c[o>>2]|0)-1|0))break;c[n>>2]=sY(c[(c[k>>2]|0)+52>>2]|0,c[m>>2]|0,f,g)|0;r=c[g>>2]|0;hT(n,p,r,((r|0)<0)<<31>>31);c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if(c[n>>2]|0)break a;if((c[m>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=sY(c[(c[k>>2]|0)+52>>2]|0,c[m>>2]|0,h,i)|0;bS(n,p,c[i>>2]|0,c[h>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}default:{}}while(0);mj(c[j>>2]|0,c[p>>2]|0,c[p+4>>2]|0,157);l=s;return c[n>>2]|0}function RZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;p=q+8|0;f=q;g=q+52|0;j=q+48|0;b=q+44|0;k=q+40|0;m=q+36|0;n=q+32|0;d=q+28|0;e=q+24|0;o=q+20|0;h=q+16|0;i=q+12|0;c[g>>2]=a;c[j>>2]=c[c[g>>2]>>2];c[b>>2]=c[(c[j>>2]|0)+12>>2];c[k>>2]=0;c[m>>2]=0;c[n>>2]=c[(c[g>>2]|0)+72>>2];c[d>>2]=c[(c[g>>2]|0)+76>>2];do if((c[d>>2]|0?(c[f>>2]=c[d>>2],c[e>>2]=ET(k,45739,f)|0,c[e>>2]|0):0)?(c[o>>2]=0,c[k>>2]=zv(c[c[b>>2]>>2]|0,c[e>>2]|0,-1,o,0)|0,_d(c[e>>2]|0),(c[k>>2]|0)==0):0){f=100==(Bs(c[o>>2]|0)|0);a=c[o>>2]|0;if(!f){c[k>>2]=Fr(a)|0;break}f=Av(a)|0;c[(c[g>>2]|0)+84>>2]=f;c[h>>2]=c[(c[g>>2]|0)+84>>2]<<2;h=dT(k,c[h>>2]|0)|0;c[(c[g>>2]|0)+88>>2]=h;a:do if(!(c[k>>2]|0)){c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[g>>2]|0)+84>>2]|0))break a;h=kJ(c[o>>2]|0,c[i>>2]|0)|0;c[(c[(c[g>>2]|0)+88>>2]|0)+(c[i>>2]<<2)>>2]=h;c[i>>2]=(c[i>>2]|0)+1}}while(0);c[(c[g>>2]|0)+92>>2]=c[o>>2]}while(0);if(c[k>>2]|0){o=c[m>>2]|0;p=c[g>>2]|0;p=p+80|0;c[p>>2]=o;p=c[k>>2]|0;l=q;return p|0}c[m>>2]=YX(c[j>>2]|0,c[n>>2]|0)|0;if(c[m>>2]|0){o=c[m>>2]|0;p=c[g>>2]|0;p=p+80|0;c[p>>2]=o;p=c[k>>2]|0;l=q;return p|0}c[p>>2]=c[n>>2];o=nf(51837,p)|0;c[(c[j>>2]|0)+8>>2]=o;c[k>>2]=1;o=c[m>>2]|0;p=c[g>>2]|0;p=p+80|0;c[p>>2]=o;p=c[k>>2]|0;l=q;return p|0}function SZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+60>>2]&32)){i=c[f>>2]|0;l=j;return i|0}c[g>>2]=c[c[d>>2]>>2];c[h>>2]=c[(c[d>>2]|0)+28>>2];a=PY(c[(c[d>>2]|0)+52>>2]|0)|0;b=i;c[b>>2]=a;c[b+4>>2]=D;b=i;c[f>>2]=EY(c[(c[d>>2]|0)+52>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0)|0;if((c[f>>2]|0)==0?(i,g=c[i>>2]|0,i=c[i+4>>2]|0,h=PY(c[(c[d>>2]|0)+52>>2]|0)|0,(g|0)!=(h|0)|(i|0)!=(D|0)):0)c[c[e>>2]>>2]=1;i=(c[d>>2]|0)+60|0;c[i>>2]=c[i>>2]&-33;GY(c[d>>2]|0);if(!(FY(c[(c[d>>2]|0)+52>>2]|0)|0)){i=c[f>>2]|0;l=j;return i|0}i=(c[d>>2]|0)+60|0;c[i>>2]=c[i>>2]|1;c[c[e>>2]>>2]=1;i=c[f>>2]|0;l=j;return i|0}function TZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i;g=i+12|0;h=i+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[(c[e>>2]|0)+8>>2];do c[g>>2]=Nb[c[(c[h>>2]|0)+12>>2]&255](c[e>>2]|0,c[h>>2]|0,0,0,0)|0;while((c[(c[h>>2]|0)+8>>2]|0)!=0);d=(c[h>>2]|0)+16|0;if((QV(c[e>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0)<=0){h=c[g>>2]|0;l=i;return h|0}c[(c[h>>2]|0)+4>>2]=1;h=c[g>>2]|0;l=i;return h|0}function UZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;b=m+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+56>>2];c[e>>2]=Bs(c[c[d>>2]>>2]|0)|0;if((c[e>>2]|0)==101){c[e>>2]=0;k=(c[b>>2]|0)+60|0;c[k>>2]=c[k>>2]|1;k=c[e>>2]|0;l=m;return k|0}if((c[e>>2]|0)!=100){k=c[e>>2]|0;l=m;return k|0}c[j>>2]=0;c[e>>2]=0;n=jJ(c[c[d>>2]>>2]|0,0)|0;a=(c[d>>2]|0)+8|0;c[a>>2]=n;c[a+4>>2]=D;c[h>>2]=gJ(c[c[d>>2]>>2]|0,1)|0;a=fJ(c[c[d>>2]>>2]|0,1)|0;c[f>>2]=a;c[g>>2]=a;if((c[h>>2]|0)>0){c[i>>2]=0;while(1){if((c[i>>2]|0)>=((c[(c[d>>2]|0)+20>>2]|0)-1|0))break;n=VR(c[f>>2]|0,k)|0;c[f>>2]=(c[f>>2]|0)+n;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0);c[(c[d>>2]|0)+24+(c[i>>2]<<2)>>2]=c[j>>2];c[i>>2]=(c[i>>2]|0)+1}c[(c[d>>2]|0)+24+(c[i>>2]<<2)>>2]=(c[g>>2]|0)+(c[h>>2]|0)-(c[f>>2]|0);c[(c[d>>2]|0)+16>>2]=c[f>>2]}GY(c[b>>2]|0);n=c[e>>2]|0;l=m;return n|0}function VZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;b=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];_d(c[(c[b>>2]|0)+104>>2]|0);_d(c[(c[b>>2]|0)+116>>2]|0);if(c[(c[b>>2]|0)+48>>2]|0){c[g>>2]=SY(c[b>>2]|0)|0;a_(c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0,c[(c[b>>2]|0)+48>>2]|0)}if(c[(c[b>>2]|0)+56>>2]|0){c[h>>2]=c[(c[b>>2]|0)+56>>2];Fr(c[c[h>>2]>>2]|0)|0;_d(c[h>>2]|0)}if((c[(c[b>>2]|0)+24>>2]|0)!=2)XU(c[(c[b>>2]|0)+52>>2]|0);c[e>>2]=c[(c[b>>2]|0)+100>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+12>>2];if(c[(c[e>>2]|0)+8>>2]|0)Eb[c[(c[e>>2]|0)+8>>2]&255](c[(c[e>>2]|0)+4>>2]|0);_d(c[e>>2]|0);c[e>>2]=c[f>>2]}Fr(c[(c[b>>2]|0)+92>>2]|0)|0;_d(c[(c[b>>2]|0)+88>>2]|0);if(!(c[(c[b>>2]|0)+60>>2]&16)){g=c[b>>2]|0;g=g+24|0;f=c[b>>2]|0;f=f+24|0;h=c[b>>2]|0;h=f-h|0;h=120-h|0;m0(g|0,0,h|0)|0;l=i;return}_d(c[(c[b>>2]|0)+72>>2]|0);_d(c[(c[b>>2]|0)+76>>2]|0);g=c[b>>2]|0;g=g+24|0;f=c[b>>2]|0;f=f+24|0;h=c[b>>2]|0;h=f-h|0;h=120-h|0;m0(g|0,0,h|0)|0;l=i;return}function WZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+8|0;f=i+20|0;g=i;h=i+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0?(c[h>>2]=Ei(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){h=Fi(c[f>>2]|0)|0;g=e;c[g>>2]=h;c[g+4>>2]=D;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=i;return h|0}f=g;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=i;return h|0}function XZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n;e=n+28|0;k=n+24|0;f=n+20|0;m=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[m>>2]=0;if(!(c[f>>2]|0)){if(c[(c[e>>2]|0)+88>>2]|0){c[(c[k>>2]|0)+72>>2]=c[(c[e>>2]|0)+88>>2];b=c[(c[e>>2]|0)+92>>2]|0;a=c[k>>2]|0}else{c[(c[k>>2]|0)+72>>2]=48951;b=0;a=c[k>>2]|0}c[a+76>>2]=b;m=c[m>>2]|0;l=n;return m|0}c[g>>2]=Rh(c[f>>2]|0)|0;c[h>>2]=0;c[i>>2]=0;if(!(c[g>>2]|0)){if((Ai(c[f>>2]|0)|0)==5)c[m>>2]=1}else c[m>>2]=GT(c[g>>2]|0,h,i)|0;if(!(c[m>>2]|0)){c[(c[k>>2]|0)+72>>2]=c[h>>2];c[(c[k>>2]|0)+76>>2]=c[i>>2];k=(c[k>>2]|0)+60|0;c[k>>2]=c[k>>2]|16;m=c[m>>2]|0;l=n;return m|0}if((c[m>>2]|0)!=1){m=c[m>>2]|0;l=n;return m|0}c[j>>2]=c[g>>2];j=nf(51981,j)|0;c[(c[c[k>>2]>>2]|0)+8>>2]=j;m=c[m>>2]|0;l=n;return m|0}function YZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;k=m;f=m+28|0;g=m+24|0;n=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=d;c[n>>2]=e;c[h>>2]=0;c[i>>2]=c[n>>2];while(1){if((a[c[i>>2]>>0]|0)!=32)break;c[i>>2]=(c[i>>2]|0)+1}c[j>>2]=0;while(1){if(!(a[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0))break;if((a[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0)==32)break;c[j>>2]=(c[j>>2]|0)+1}c[(c[g>>2]|0)+24>>2]=3;if(!(ld(51947,c[i>>2]|0,c[j>>2]|0)|0)){k=$Z(c[(c[f>>2]|0)+16>>2]|0)|0;n=(c[g>>2]|0)+64|0;c[n>>2]=k;c[n+4>>2]=((k|0)<0)<<31>>31;n=c[h>>2]|0;l=m;return n|0}if(!(ld(32512,c[i>>2]|0,c[j>>2]|0)|0)){j=(c[g>>2]|0)+16|0;k=c[j+4>>2]|0;n=(c[g>>2]|0)+64|0;c[n>>2]=c[j>>2];c[n+4>>2]=k;n=c[h>>2]|0;l=m;return n|0}else{n=c[i>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=n;n=nf(51953,k)|0;c[(c[f>>2]|0)+8>>2]=n;c[h>>2]=1;n=c[h>>2]|0;l=m;return n|0}return 0}function ZZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+80|0;q=r;i=r+68|0;j=r+64|0;k=r+60|0;m=r+56|0;n=r+52|0;o=r+48|0;p=r+44|0;e=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=c[(c[j>>2]|0)+12>>2];c[g>>2]=c[(c[k>>2]|0)+72>>2];c[h>>2]=c[(c[k>>2]|0)+76>>2];c[p>>2]=VY(c[(c[k>>2]|0)+52>>2]|0)|0;c[e>>2]=32+((c[p>>2]|0)-1<<2);c[o>>2]=pe(c[e>>2]|0)|0;if(!(c[o>>2]|0)){c[i>>2]=7;q=c[i>>2]|0;l=r;return q|0}m0(c[o>>2]|0,0,c[e>>2]|0)|0;c[(c[o>>2]|0)+20>>2]=c[p>>2];d=c[o>>2]|0;p=c[n>>2]|0;a=c[(c[n>>2]|0)+8>>2]|0;b=c[g>>2]|0;e=c[(c[n>>2]|0)+8>>2]|0;g=c[h>>2]|0?30358:55752;h=c[h>>2]|0?c[h>>2]|0:55752;m=c[m>>2]|0?45749:45754;c[q>>2]=c[(c[n>>2]|0)+4>>2];c[q+4>>2]=a;c[q+8>>2]=b;c[q+12>>2]=e;c[q+16>>2]=g;c[q+20>>2]=h;c[q+24>>2]=m;c[f>>2]=_Z(d,p,51894,q)|0;c[(c[k>>2]|0)+56>>2]=c[o>>2];if(!(c[f>>2]|0)){c[(c[j>>2]|0)+28>>2]=c[k>>2];c[f>>2]=UZ(c[k>>2]|0)|0;c[(c[j>>2]|0)+28>>2]=0}if(c[f>>2]|0){Fr(c[c[o>>2]>>2]|0)|0;_d(c[o>>2]|0);c[(c[k>>2]|0)+56>>2]=0}c[i>>2]=c[f>>2];q=c[i>>2]|0;l=r;return q|0}function _Z(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+48|0;k=m;f=m+44|0;g=m+40|0;o=m+36|0;h=m+32|0;i=m+28|0;j=m+24|0;n=m+8|0;c[f>>2]=a;c[g>>2]=b;c[o>>2]=d;c[h>>2]=0;c[n>>2]=e;c[j>>2]=vf(c[o>>2]|0,n)|0;if(!(c[j>>2]|0)){c[i>>2]=7;n=c[h>>2]|0;o=c[f>>2]|0;c[o>>2]=n;o=c[i>>2]|0;l=m;return o|0}c[i>>2]=zv(c[c[g>>2]>>2]|0,c[j>>2]|0,-1,h,0)|0;if(c[i>>2]|0){c[k>>2]=Ev(c[c[g>>2]>>2]|0)|0;o=nf(21240,k)|0;c[c[(c[g>>2]|0)+96>>2]>>2]=o}_d(c[j>>2]|0);n=c[h>>2]|0;o=c[f>>2]|0;c[o>>2]=n;o=c[i>>2]|0;l=m;return o|0}function $Z(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+64>>2]|0}function a_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[g>>2]|0;if(!(c[(c[e>>2]|0)+28+(c[f>>2]<<2)>>2]|0)){ys(a)|0;c[(c[e>>2]|0)+28+(c[f>>2]<<2)>>2]=c[g>>2];l=h;return}else{Fr(a)|0;l=h;return}}function b_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+48|0;e=g+32|0;f=g+24|0;h=g;b=g+44|0;d=g+40|0;c[b>>2]=a;a=c[c[b>>2]>>2]|0;n=c[(c[b>>2]|0)+8>>2]|0;m=c[(c[b>>2]|0)+4>>2]|0;k=c[(c[b>>2]|0)+8>>2]|0;j=c[(c[b>>2]|0)+4>>2]|0;i=c[(c[b>>2]|0)+8>>2]|0;c[h>>2]=c[(c[b>>2]|0)+4>>2];c[h+4>>2]=n;c[h+8>>2]=m;c[h+12>>2]=k;c[h+16>>2]=j;c[h+20>>2]=i;c[d>>2]=XX(a,0,52014,h)|0;if((c[d>>2]|0)==0?c[(c[b>>2]|0)+44>>2]|0:0){n=c[c[b>>2]>>2]|0;m=c[(c[b>>2]|0)+8>>2]|0;c[f>>2]=c[(c[b>>2]|0)+4>>2];c[f+4>>2]=m;c[d>>2]=XX(n,0,52118,f)|0}if(c[d>>2]|0){n=c[d>>2]|0;l=g;return n|0}if(c[(c[b>>2]|0)+32>>2]|0){n=c[d>>2]|0;l=g;return n|0}n=c[c[b>>2]>>2]|0;m=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[(c[b>>2]|0)+4>>2];c[e+4>>2]=m;c[d>>2]=XX(n,0,52156,e)|0;n=c[d>>2]|0;l=g;return n|0}function c_(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}d_(c[(c[b>>2]|0)+16>>2]|0)|0;e_(c[(c[b>>2]|0)+20>>2]|0)|0;WU(c[(c[b>>2]|0)+12>>2]|0);_d(c[b>>2]|0);l=d;return}function d_(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;l=e;return d|0}eX(c[b>>2]|0);Fr(c[(c[b>>2]|0)+44>>2]|0)|0;Fr(c[(c[b>>2]|0)+48>>2]|0)|0;Fr(c[(c[b>>2]|0)+52>>2]|0)|0;Fr(c[(c[b>>2]|0)+56>>2]|0)|0;Fr(c[(c[b>>2]|0)+60>>2]|0)|0;Fr(c[(c[b>>2]|0)+68>>2]|0)|0;f_(c[(c[b>>2]|0)+12>>2]|0);_d(c[(c[b>>2]|0)+4>>2]|0);_d(c[b>>2]|0);d=c[d>>2]|0;l=e;return d|0}function e_(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){e=c[d>>2]|0;l=f;return e|0}c[e>>2]=0;while(1){a=c[b>>2]|0;if((c[e>>2]|0)>=11)break;Fr(c[a+28+(c[e>>2]<<2)>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}_d(a);e=c[d>>2]|0;l=f;return e|0}function f_(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}fX(c[b>>2]|0);_d(c[(c[b>>2]|0)+20>>2]|0);_d(c[b>>2]|0);l=d;return}function g_(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+56|0;c[a>>2]=c[a>>2]|1;l=b;return}function h_(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=l;l=l+48|0;r=t+44|0;s=t+40|0;v=t+36|0;i=t+32|0;u=t+28|0;j=t+24|0;k=t+20|0;m=t+16|0;n=t+12|0;o=t+8|0;p=t+4|0;q=t;c[r>>2]=a;c[s>>2]=b;c[v>>2]=d;c[i>>2]=e;c[u>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=c[v>>2];c[n>>2]=c[u>>2];c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[q>>2]=dT(o,32)|0;if(!(c[o>>2]|0))c[o>>2]=SU(c[m>>2]|0,c[s>>2]|0,c[i>>2]|0,c[n>>2]|0,p,c[k>>2]|0)|0;if(!(c[o>>2]|0)){c[(c[q>>2]|0)+12>>2]=c[p>>2];c[(c[q>>2]|0)+24>>2]=c[m>>2]}if(!(c[o>>2]|0))c[o>>2]=i_(c[p>>2]|0,c[r>>2]|0,(c[q>>2]|0)+16|0,c[k>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=j_(c[p>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[r>>2]|0,(c[q>>2]|0)+20|0,c[k>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=k_(c[p>>2]|0)|0;if(!(c[o>>2]|0)){c[(c[p>>2]|0)+96>>2]=c[k>>2];c[o>>2]=zZ(c[(c[q>>2]|0)+16>>2]|0)|0;cX(c[(c[q>>2]|0)+16>>2]|0)|0;c[(c[p>>2]|0)+96>>2]=0}if(c[o>>2]|0){c_(c[q>>2]|0);c[q>>2]=0;u=c[q>>2]|0;v=c[j>>2]|0;c[v>>2]=u;v=c[o>>2]|0;l=t;return v|0}else{u=c[q>>2]|0;v=c[j>>2]|0;c[v>>2]=u;v=c[o>>2]|0;l=t;return v|0}return 0}function i_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=0;e=dT(j,88)|0;c[k>>2]=e;c[c[h>>2]>>2]=e;if((c[j>>2]|0)==0?(c[c[k>>2]>>2]=c[f>>2],c[(c[k>>2]|0)+8>>2]=64,c[m>>2]=c[(c[f>>2]|0)+8>>2],m=ET(j,52410,m)|0,c[(c[k>>2]|0)+4>>2]=m,c[g>>2]|0?(c[(c[k>>2]|0)+4>>2]|0)!=0:0):0){c[j>>2]=l_(c[f>>2]|0,50977,52418,0,c[i>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=l_(c[f>>2]|0,30148,52453,1,c[i>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=PZ(c[k>>2]|0)|0}if(!(c[j>>2]|0)){m=c[j>>2]|0;l=n;return m|0}d_(c[k>>2]|0)|0;c[c[h>>2]>>2]=0;m=c[j>>2]|0;l=n;return m|0}function j_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;v=w+8|0;u=w;p=w+60|0;q=w+56|0;r=w+52|0;s=w+48|0;t=w+44|0;g=w+40|0;h=w+36|0;i=w+32|0;j=w+28|0;k=w+24|0;m=w+20|0;n=w+16|0;o=w+12|0;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[t>>2]=e;c[g>>2]=f;c[h>>2]=0;c[j>>2]=72+(c[(c[q>>2]|0)+12>>2]<<3);f=pe(c[j>>2]|0)|0;c[i>>2]=f;c[c[t>>2]>>2]=f;if(!(c[i>>2]|0)){c[p>>2]=7;v=c[p>>2]|0;l=w;return v|0}m0(c[i>>2]|0,0,c[j>>2]|0)|0;c[(c[i>>2]|0)+24>>2]=(c[i>>2]|0)+72;c[c[i>>2]>>2]=c[q>>2];c[(c[i>>2]|0)+4>>2]=c[r>>2];if(c[s>>2]|0){if(!(c[(c[q>>2]|0)+32>>2]|0)){c[k>>2]=32+((c[(c[q>>2]|0)+12>>2]|0)*10|0);c[m>>2]=pe(32+((c[(c[q>>2]|0)+12>>2]|0)*10|0)|0)|0;if(!(c[m>>2]|0))c[h>>2]=7;else{ef(c[k>>2]|0,c[m>>2]|0,52243,u)|0;c[o>>2]=g$(c[m>>2]|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[q>>2]|0)+12>>2]|0))break;s=(c[k>>2]|0)-(c[o>>2]|0)|0;u=(c[m>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[n>>2];ef(s,u,52266,v)|0;u=g$((c[m>>2]|0)+(c[o>>2]|0)|0)|0;c[o>>2]=(c[o>>2]|0)+u;c[n>>2]=(c[n>>2]|0)+1}c[h>>2]=l_(c[q>>2]|0,46221,c[m>>2]|0,0,c[g>>2]|0)|0}_d(c[m>>2]|0)}if((c[h>>2]|0)==0?c[(c[q>>2]|0)+44>>2]|0:0)c[h>>2]=l_(c[q>>2]|0,49899,52272,0,c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=l_(c[q>>2]|0,50982,52304,1,c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=AZ(c[i>>2]|0,47943,0,4)|0}if(c[h>>2]|0){e_(c[i>>2]|0)|0;c[c[t>>2]>>2]=0}c[p>>2]=c[h>>2];v=c[p>>2]|0;l=w;return v|0}function k_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+64|0;i=j+24|0;h=j+8|0;b=j+52|0;d=j+48|0;e=j+44|0;f=j+40|0;g=j+36|0;c[b>>2]=a;c[e>>2]=0;c[f>>2]=ET(e,52194,j)|0;c[d>>2]=0;while(1){if(!(c[f>>2]|0))break;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+12>>2]|0))break;c[g>>2]=(c[d>>2]|0)==0?55752:30358;k=c[g>>2]|0;a=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<2)>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=k;c[h+8>>2]=a;c[f>>2]=ET(e,52210,h)|0;c[d>>2]=(c[d>>2]|0)+1}k=c[(c[b>>2]|0)+8>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=k;c[i+8>>2]=48062;c[f>>2]=ET(e,52217,i)|0;if(!(c[f>>2]|0)){k=c[e>>2]|0;l=j;return k|0}c[e>>2]=MJ(c[c[b>>2]>>2]|0,c[f>>2]|0)|0;_d(c[f>>2]|0);k=c[e>>2]|0;l=j;return k|0}function l_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;n=l;l=l+64|0;m=n+24|0;o=n;i=n+60|0;j=n+56|0;q=n+52|0;p=n+48|0;k=n+44|0;g=n+40|0;h=n+36|0;c[i>>2]=a;c[j>>2]=b;c[q>>2]=d;c[p>>2]=e;c[k>>2]=f;c[h>>2]=0;f=c[c[i>>2]>>2]|0;a=c[(c[i>>2]|0)+8>>2]|0;b=c[j>>2]|0;d=c[q>>2]|0;e=c[p>>2]|0?52321:55752;c[o>>2]=c[(c[i>>2]|0)+4>>2];c[o+4>>2]=a;c[o+8>>2]=b;c[o+12>>2]=d;c[o+16>>2]=e;c[g>>2]=XX(f,h,52336,o)|0;if(!(c[h>>2]|0)){q=c[g>>2]|0;l=n;return q|0}p=c[j>>2]|0;q=c[h>>2]|0;c[m>>2]=c[(c[i>>2]|0)+8>>2];c[m+4>>2]=p;c[m+8>>2]=q;q=nf(52366,m)|0;c[c[k>>2]>>2]=q;_d(c[h>>2]|0);q=c[g>>2]|0;l=n;return q|0}function m_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)d=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else d=0;b=c[f>>2]|0;if(!d)break;c[f>>2]=b+-1}l=g;return (b|0)==0|0}function n_(){return 55180}function o_(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=v_(c[a+60>>2]|0)|0;a=r_(Ga(6,d|0)|0)|0;l=b;return a|0}function p_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=r_(zb(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=(o<<31>>31)+b|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=r_(zb(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function q_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((r_(ib(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function r_(a){a=a|0;if(a>>>0>4294963200){c[(s_()|0)>>2]=0-a;a=-1}return a|0}function s_(){return (t_()|0)+64|0}function t_(){return u_()|0}function u_(){return 10796}function v_(a){a=a|0;return a|0}function w_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=169;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,gb(54,f|0)|0):0)a[b+75>>0]=-1;f=p_(b,d,e)|0;l=g;return f|0}function x_(a){a=a|0;var b=0;b=(y_(a)|0)==0;return (b?a:a|32)|0}function y_(a){a=a|0;return (a+-65|0)>>>0<26|0}function z_(a){a=a|0;var b=0;b=(A_(a)|0)==0;return (b?a:a&95)|0}function A_(a){a=a|0;return (a+-97|0)>>>0<26|0}function B_(a){a=+a;var b=0;h[j>>3]=a;b=c[j+4>>2]&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=b;a=+h[j>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+D_(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+P(+a);a=(a+1.0/a)*.5;break}else{a=+E_(a);break}while(0);return +a}function C_(a){a=+a;var b=0.0,d=0.0,e=0;h[j>>3]=a;e=c[j+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=e;b=+h[j>>3];do if(e>>>0<1082535490){b=+D_(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+E_(b);while(0);return +a}function D_(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0.0,i=0,k=0,l=0.0;h[j>>3]=a;b=c[j+4>>2]|0;f=b&2147483647;b=f0(c[j>>2]|0,b|0,63)|0;do if(f>>>0>1078159481){f=F_(a)|0;k=D&2147483647;if(!(k>>>0>2146435072|(k|0)==2146435072&f>>>0>0))if(!b)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else{d=.5;i=12}else a=-1.0}else{if(f>>>0<=1071001154)if(f>>>0<1016070144)break;else{g=0.0;b=0;i=15;break}b=(b|0)!=0;if(f>>>0>=1072734898){d=b?-.5:.5;i=12;break}if(b){b=-1;d=a+.6931471803691238;e=-1.9082149292705877e-10;i=13;break}else{b=1;d=a+-.6931471803691238;e=1.9082149292705877e-10;i=13;break}}while(0);if((i|0)==12){b=~~(a*1.4426950408889634+d);e=+(b|0);d=a-e*.6931471803691238;e=e*1.9082149292705877e-10;i=13}if((i|0)==13){g=d-e;a=g;g=d-g-e;i=15}a:do if((i|0)==15){e=a*.5;d=a*e;l=d*(d*(d*(d*(4.008217827329362e-06-d*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;e=3.0-e*l;e=d*((l-e)/(6.0-a*e));if(!b){a=a-(a*e-d);break}d=a*(e-g)-g-d;switch(b|0){case -1:{a=(a-d)*.5+-.5;break a}case 1:if(a<-.25){a=(d-(a+.5))*-2.0;break a}else{a=(a-d)*2.0+1.0;break a}default:{i=j0(b+1023|0,0,52)|0;k=D;c[j>>2]=i;c[j+4>>2]=k;e=+h[j>>3];if(b>>>0>56){a=a-d+1.0;a=((b|0)==1024?a*2.0*8988465674311579538646525.0e283:e*a)+-1.0;break a}else{f=j0(1023-b|0,0,52)|0;i=D;k=(b|0)<20;c[j>>2]=f;c[j+4>>2]=i;l=+h[j>>3];a=e*((k?1.0-l:1.0)+(a-(k?d:l+d)));break a}}}}while(0);return +a}function E_(a){a=+a;return +(+P(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function F_(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function G_(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function H_(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function I_(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)e=0;else{h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255;a:do if(h<<24>>24)do{d=d+-1|0;if(!(h<<24>>24==g<<24>>24&((d|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255}while(h<<24>>24!=0);while(0);e=e-f|0}return e|0}function J_(a){a=a|0;return 0}function K_(a){a=a|0;return}function L_(a){a=a|0;return N_(a,c[(M_()|0)+188>>2]|0)|0}function M_(){return u_()|0}function N_(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[52571+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=52659;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=52659;else{f=52659;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return O_(f,c[e+20>>2]|0)|0}function O_(a,b){a=a|0;b=b|0;return P_(a,b)|0}function P_(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Q_(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Q_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=R_(c[b+8>>2]|0,o)|0;f=R_(c[b+12>>2]|0,o)|0;g=R_(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=R_(c[b+(g<<2)>>2]|0,o)|0;g=R_(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=G_(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=R_(c[b+(f<<2)>>2]|0,o)|0;f=R_(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function R_(a,b){a=a|0;b=b|0;var c=0;c=o0(a|0)|0;return ((b|0)==0?a:c)|0}function S_(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function T_(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function U_(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=v_(a)|0;a=Ga(6,d|0)|0;a=r_((a|0)==-4?0:a)|0;l=b;return a|0}function V_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Ua(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(Ba(221,e|0)|0)>=0):0){X_(e,a);c[f>>2]=e;c[f+4>>2]=b;b=r_(Wa(195,f|0)|0)|0}else b=r_(d)|0;l=g;return b|0}function W_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+192|0;i=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;k=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;j=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=r_(Ba(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=j;d=Ba(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=Ba(221,n|0)|0;break}case 0:{d=c[j+4>>2]|0;d=(c[j>>2]|0)==2?0-d|0:d;break}default:d=r_(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=Ba(221,f|0)|0;do if((d|0)==-22){c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=Ba(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=Ba(221,q|0)|0;if((d|0)<=-1)break;c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;Ba(221,r|0)|0;break}else{if((d|0)<=-1){d=-22;break}c[p>>2]=d;Ga(6,p|0)|0;d=-22;break}}else if((d|0)>-1){c[k>>2]=d;c[k+4>>2]=2;c[k+8>>2]=1;Ba(221,k|0)|0}while(0);d=r_(d)|0;break}case 15:case 16:case 12:case 13:{c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=r_(Ba(221,h|0)|0)|0;break}default:{c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=o;d=r_(Ba(221,i|0)|0)|0}}l=s;return d|0}function X_(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=54463;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Y_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;g=h+16|0;f=h;e=h+32|0;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=rb(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;Ba(221,g|0)|0}i=r_(e)|0;l=h;return i|0}function Z_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(r_(ib(140,g|0)|0)|0)!=0;l=f;return (d?-1:c[e>>2]|0)|0}function __(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=S(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)$_(a,d,e,f,j);else b$(a,d,e,k,f,0,j);if((f|0)==1){c$(k,1);f=0;break}else{c$(k,b);f=1;break}}else{$_(a,d,e,f,j);a$(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}b$(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){c$(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;a$(k,1);b$(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);c$(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;b$(h,d,e,k,n,1,j);a=h;f=n;continue}b=d$(k)|0;a$(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}function $_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((Mb[d&255](a,g)|0)>-1?(Mb[d&255](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((Mb[d&255](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);f$(b,m,e);l=n;return}function a$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function b$(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(Mb[d&255](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((Mb[d&255](g,j)|0)>-1){i=10;break a}if((Mb[d&255](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=d$(n)|0;a$(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((Mb[d&255](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){f$(b,o,e);$_(a,b,d,f,h)}l=p;return}function c$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=e$(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function e$(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}function f$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;h0(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;h0(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function g$(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function h$(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;i$();c[e>>2]=a;c[e+4>>2]=b;b=r_(bb(91,e|0)|0)|0;l=d;return b|0}function i$(){return}function j$(a,b){a=a|0;b=b|0;k$(a,b)|0;return a|0}function k$(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function l$(a){a=+a;var b=0;h[j>>3]=a;b=f0(c[j>>2]|0,c[j+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Q(+(a*2.0-1.0/(+G(+(a*a+-1.0))+a)));break}else{a=+Q(+a)+.6931471805599453;break}else{a=a+-1.0;a=+m$(a+ +G(+(a*a+a*2.0)))}while(0);return +a}function m$(a){a=+a;var b=0,d=0.0,e=0,f=0.0,g=0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=j0(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){f=0.0;d=0.0;e=11;break}else{e=8;break}}else{if(a==-1.0){a=-t;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)e=8;while(0);if((e|0)==8){d=a+1.0;h[j>>3]=d;b=(c[j+4>>2]|0)+614242|0;e=(b>>>20)+-1023|0;if((e|0)<54){g=(e|0)>1;d=((g?1.0:a)-(d+(g?-a:-1.0)))/d}else d=0.0;c[j>>2]=c[j>>2];c[j+4>>2]=(b&1048575)+1072079006;f=+(e|0);a=+h[j>>3]+-1.0;e=11}if((e|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;k=l*l;a=f*.6931471803691238+(a+(d+f*1.9082149292705877e-10+m*(i+(k*(k*(k*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(k*(k*(k*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function n$(a){a=+a;var b=0,d=0,e=0,f=0.0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;b=f0(e|0,d|0,52)|0;b=b&2047;c[j>>2]=e;c[j+4>>2]=d&2147483647;a=+h[j>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Q(+(a*2.0+1.0/(a+ +G(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+m$(a+f/(+G(+(f+1.0))+1.0))}}else a=+Q(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function o$(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0;h[j>>3]=a;f=c[j>>2]|0;d=c[j+4>>2]|0;b=f0(f|0,d|0,52)|0;b=b&2047;c[j>>2]=f;c[j+4>>2]=d&2147483647;a=+h[j>>3];if(b>>>0<1022){if(b>>>0>=991){g=a*2.0;a=g+a*g/(1.0-a);e=5}}else{a=a/(1.0-a)*2.0;e=5}if((e|0)==5)a=+m$(a)*.5;return +((d|0)<0?-a:a)}function p$(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;a=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;g=+h[j>>3];a=k-g-i+l*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=g*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function q$(a){a=+a;var b=0,d=0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=b;a=+h[j>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+D_(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+D_(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+D_(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function r$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=r_(Ka(4,f|0)|0)|0;l=e;return d|0}function s$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=r_(ob(3,f|0)|0)|0;l=e;return d|0}function t$(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=r_(Wa(195,e|0)|0)|0;l=d;return b|0}function u$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(s_()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((r_(sb(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=v$(d)|0}else a=0}l=g;return a|0}function v$(a){a=a|0;var b=0,c=0;c=(g$(a)|0)+1|0;b=Q$(c)|0;if(!b)b=0;else h0(b|0,a|0,c|0)|0;return b|0}function w$(){var a=0,b=0;b=l;l=l+16|0;a=Ja(20,b|0)|0;l=b;return a|0}function x$(){pb(55244);return 55252}function y$(){hb(55244);return}function z$(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=A$(a)|0;break}d=(J_(a)|0)==0;b=A$(a)|0;if(!d)K_(a)}else{if(!(c[2791]|0))b=0;else b=z$(c[2791]|0)|0;a=c[(x$()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=J_(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=A$(a)|0|b;if(d|0)K_(a);a=c[a+56>>2]|0}while((a|0)!=0);y$()}while(0);return b|0}function A$(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(Bb[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0)Bb[c[a+40>>2]&255](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function B$(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=r_(Va(196,e|0)|0)|0;l=d;return b|0}function C$(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=r_(fb(33,e|0)|0)|0;l=d;return b|0}function D$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=r_(Ca(85,f|0)|0)|0;l=e;return d|0}function E$(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j;h=((g|0)<0)<<31>>31;do if((g&4095|0)==0&(h&-4096|0)==0){if(b>>>0>2147483646){c[(s_()|0)>>2]=12;a=-1;break}if(e&16|0)i$();h=f0(g|0,h|0,12)|0;c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=d;c[i+12>>2]=e;c[i+16>>2]=f;c[i+20>>2]=h;a=r_(Ta(192,i|0)|0)|0}else{c[(s_()|0)>>2]=22;a=-1}while(0);l=j;return a|0}function F$(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=r_(mb(10,d|0)|0)|0;l=b;return a|0}function G$(a,b,c){a=a|0;b=b|0;c=c|0;H$(a,b,c)|0;return a|0}function H$(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);m0(b|0,0,e|0)|0;return b|0}function I$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=_a(94,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(Ba(221,e|0)|0)>=0):0){X_(e,a);c[f>>2]=e;c[f+4>>2]=b;a=r_(jb(15,f|0)|0)|0}else a=r_(d)|0;l=g;return a|0}function J$(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=r_(lb(39,e|0)|0)|0;l=d;return b|0}function K$(){var a=0,b=0;b=l;l=l+16|0;a=vb(201,b|0)|0;l=b;return a|0}function L$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+64|0;g=h+48|0;f=h+16|0;e=h;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=wb(207,e|0)|0;if((e|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(Ba(221,f|0)|0)>=0):0){X_(f,a);c[g>>2]=f;c[g+4>>2]=b;c[g+8>>2]=d;a=r_(Ya(212,g|0)|0)|0}else a=r_(e)|0;l=h;return a|0}function M$(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=r_(Ia(118,d|0)|0)|0;l=b;return a|0}function N$(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=r_(Xa(194,e|0)|0)|0;l=d;return b|0}function O$(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=r_(Ha(40,d|0)|0)|0;l=b;return a|0}function P$(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=($a(b|0,b|0)|0)==0;l=d;return (a?0:c[b>>2]|0)|0}function Q$(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+16|0;o=K;do if(a>>>0<245){p=a>>>0<11?16:a+11&-8;a=p>>>3;t=c[13814]|0;d=t>>>a;if(d&3|0){a=(d&1^1)+a|0;d=55296+(a<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[13818]|0)>>>0)qb();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else qb()}else c[13814]=t&~(1<>2]=J|3;J=f+J+4|0;c[J>>2]=c[J>>2]|1;J=g;l=K;return J|0}s=c[13816]|0;if(p>>>0>s>>>0){if(d|0){i=2<>>12&16;a=a>>>i;e=a>>>5&8;a=a>>>e;g=a>>>2&4;a=a>>>g;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=(e|i|g|d|b)+(a>>>b)|0;a=55296+(b<<1<<2)|0;d=a+8|0;g=c[d>>2]|0;i=g+8|0;e=c[i>>2]|0;do if((a|0)!=(e|0)){if(e>>>0<(c[13818]|0)>>>0)qb();f=e+12|0;if((c[f>>2]|0)==(g|0)){c[f>>2]=a;c[d>>2]=e;j=t;break}else qb()}else{j=t&~(1<>2]=p|3;e=g+p|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(s|0){f=c[13819]|0;b=s>>>3;d=55296+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(c[13818]|0)>>>0)qb();else{k=a;m=b}}else{c[13814]=j|b;k=d;m=d+8|0}c[m>>2]=f;c[k+12>>2]=f;c[f+8>>2]=k;c[f+12>>2]=d}c[13816]=h;c[13819]=e;J=i;l=K;return J|0}k=c[13815]|0;if(k){a=(k&0-k)+-1|0;I=a>>>12&16;a=a>>>I;H=a>>>5&8;a=a>>>H;J=a>>>2&4;a=a>>>J;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=c[55560+((H|I|J|d|b)+(a>>>b)<<2)>>2]|0;a=(c[b+4>>2]&-8)-p|0;d=c[b+16+(((c[b+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){j=b;h=a}else{do{I=(c[d+4>>2]&-8)-p|0;J=I>>>0>>0;a=J?I:a;b=J?d:b;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0}while((d|0)!=0);j=b;h=a}f=c[13818]|0;if(j>>>0>>0)qb();i=j+p|0;if(j>>>0>=i>>>0)qb();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)qb();else{c[a>>2]=0;n=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)qb();b=e+12|0;if((c[b>>2]|0)!=(j|0))qb();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;n=d;break}else qb()}while(0);a:do if(g|0){b=c[j+28>>2]|0;a=55560+(b<<2)|0;do if((j|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[13815]=k&~(1<>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=n;if(!n)break a;else break}else qb();while(0);a=c[13818]|0;if(n>>>0>>0)qb();c[n+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0>>0)qb();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[j+20>>2]|0;if(b|0)if(b>>>0<(c[13818]|0)>>>0)qb();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(h>>>0<16){J=h+p|0;c[j+4>>2]=J|3;J=j+J+4|0;c[J>>2]=c[J>>2]|1}else{c[j+4>>2]=p|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(s|0){e=c[13819]|0;b=s>>>3;d=55296+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(c[13818]|0)>>>0)qb();else{q=a;r=b}}else{c[13814]=t|b;q=d;r=d+8|0}c[r>>2]=e;c[q+12>>2]=e;c[e+8>>2]=q;c[e+12>>2]=d}c[13816]=h;c[13819]=i}J=j+8|0;l=K;return J|0}}}else if(a>>>0<=4294967231){a=a+11|0;p=a&-8;k=c[13815]|0;if(k){e=0-p|0;a=a>>>8;if(a)if(p>>>0>16777215)i=31;else{r=(a+1048320|0)>>>16&8;C=a<>>16&4;C=C<>>16&2;i=14-(q|r|i)+(C<>>15)|0;i=p>>>(i+7|0)&1|i<<1}else i=0;d=c[55560+(i<<2)>>2]|0;b:do if(!d){d=0;a=0;C=81}else{a=0;h=p<<((i|0)==31?0:25-(i>>>1)|0);g=0;while(1){f=(c[d+4>>2]&-8)-p|0;if(f>>>0>>0)if(!f){a=d;e=0;f=d;C=85;break b}else{a=d;e=f}f=c[d+20>>2]|0;d=c[d+16+(h>>>31<<2)>>2]|0;g=(f|0)==0|(f|0)==(d|0)?g:f;f=(d|0)==0;if(f){d=g;C=81;break}else h=h<<((f^1)&1)}}while(0);if((C|0)==81){if((d|0)==0&(a|0)==0){a=2<>>12&16;r=r>>>m;j=r>>>5&8;r=r>>>j;n=r>>>2&4;r=r>>>n;q=r>>>1&2;r=r>>>q;d=r>>>1&1;a=0;d=c[55560+((j|m|n|q|d)+(r>>>d)<<2)>>2]|0}if(!d){j=a;i=e}else{f=d;C=85}}if((C|0)==85)while(1){C=0;d=(c[f+4>>2]&-8)-p|0;r=d>>>0>>0;d=r?d:e;a=r?f:a;f=c[f+16+(((c[f+16>>2]|0)==0&1)<<2)>>2]|0;if(!f){j=a;i=d;break}else{e=d;C=85}}if((j|0)!=0?i>>>0<((c[13816]|0)-p|0)>>>0:0){f=c[13818]|0;if(j>>>0>>0)qb();h=j+p|0;if(j>>>0>=h>>>0)qb();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){s=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)qb();else{c[a>>2]=0;s=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)qb();b=e+12|0;if((c[b>>2]|0)!=(j|0))qb();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;s=d;break}else qb()}while(0);c:do if(g){b=c[j+28>>2]|0;a=55560+(b<<2)|0;do if((j|0)==(c[a>>2]|0)){c[a>>2]=s;if(!s){t=k&~(1<>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=s;if(!s){t=k;break c}else break}else qb();while(0);a=c[13818]|0;if(s>>>0>>0)qb();c[s+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0>>0)qb();else{c[s+16>>2]=b;c[b+24>>2]=s;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[13818]|0)>>>0)qb();else{c[s+20>>2]=b;c[b+24>>2]=s;t=k;break}else t=k}else t=k;while(0);do if(i>>>0>=16){c[j+4>>2]=p|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){d=55296+(b<<1<<2)|0;a=c[13814]|0;b=1<>2]|0;if(a>>>0<(c[13818]|0)>>>0)qb();else{x=a;y=b}}else{c[13814]=a|b;x=d;y=d+8|0}c[y>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;d=55560+(b<<2)|0;c[h+28>>2]=b;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);e=c[d>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){C=139;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=136;break}else{a=a<<1;e=b}}if((C|0)==136)if(d>>>0<(c[13818]|0)>>>0)qb();else{c[d>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((C|0)==139){b=e+8|0;a=c[b>>2]|0;J=c[13818]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=e;c[h+24>>2]=0;break}else qb()}}else{J=i+p|0;c[j+4>>2]=J|3;J=j+J+4|0;c[J>>2]=c[J>>2]|1}while(0);J=j+8|0;l=K;return J|0}}}else p=-1;while(0);d=c[13816]|0;if(d>>>0>=p>>>0){b=d-p|0;a=c[13819]|0;if(b>>>0>15){J=a+p|0;c[13819]=J;c[13816]=b;c[J+4>>2]=b|1;c[J+b>>2]=b;c[a+4>>2]=p|3}else{c[13816]=0;c[13819]=0;c[a+4>>2]=d|3;J=a+d+4|0;c[J>>2]=c[J>>2]|1}J=a+8|0;l=K;return J|0}h=c[13817]|0;if(h>>>0>p>>>0){H=h-p|0;c[13817]=H;J=c[13820]|0;I=J+p|0;c[13820]=I;c[I+4>>2]=H|1;c[J+4>>2]=p|3;J=J+8|0;l=K;return J|0}if(!(c[13932]|0)){c[13934]=4096;c[13933]=4096;c[13935]=-1;c[13936]=-1;c[13937]=0;c[13925]=0;a=o&-16^1431655768;c[o>>2]=a;c[13932]=a;a=4096}else a=c[13934]|0;i=p+48|0;j=p+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=p>>>0){J=0;l=K;return J|0}a=c[13924]|0;if(a|0?(x=c[13922]|0,y=x+k|0,y>>>0<=x>>>0|y>>>0>a>>>0):0){J=0;l=K;return J|0}d:do if(!(c[13925]&4)){d=c[13820]|0;e:do if(d){e=55704;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(w=e+4|0,(a+(c[w>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){C=163;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=i0(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[w>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;C=180;break d}}else{e=a;C=171}}else b=0}else C=163;while(0);do if((C|0)==163){d=i0(0)|0;if((d|0)!=(-1|0)?(b=d,u=c[13933]|0,v=u+-1|0,b=((v&b|0)==0?0:(v+b&0-u)-b|0)+k|0,u=c[13922]|0,v=b+u|0,b>>>0>p>>>0&b>>>0<2147483647):0){y=c[13924]|0;if(y|0?v>>>0<=u>>>0|v>>>0>y>>>0:0){b=0;break}a=i0(b|0)|0;if((a|0)==(d|0)){h=b;g=d;C=180;break d}else{e=a;C=171}}else b=0}while(0);do if((C|0)==171){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;C=180;break d}a=c[13934]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;C=180;break d}if((i0(a|0)|0)==(-1|0)){i0(d|0)|0;b=0;break}else{h=a+b|0;g=e;C=180;break d}}while(0);c[13925]=c[13925]|4;C=178}else{b=0;C=178}while(0);if(((C|0)==178?k>>>0<2147483647:0)?(B=i0(k|0)|0,y=i0(0)|0,z=y-B|0,A=z>>>0>(p+40|0)>>>0,!((B|0)==(-1|0)|A^1|B>>>0>>0&((B|0)!=(-1|0)&(y|0)!=(-1|0))^1)):0){h=A?z:b;g=B;C=180}if((C|0)==180){b=(c[13922]|0)+h|0;c[13922]=b;if(b>>>0>(c[13923]|0)>>>0)c[13923]=b;k=c[13820]|0;do if(k){b=55704;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){C=190;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((C|0)==190?(c[b+12>>2]&8|0)==0:0)?k>>>0>>0&k>>>0>=a>>>0:0){c[d>>2]=e+h;J=k+8|0;J=(J&7|0)==0?0:0-J&7;I=k+J|0;J=(c[13817]|0)+(h-J)|0;c[13820]=I;c[13817]=J;c[I+4>>2]=J|1;c[I+J+4>>2]=40;c[13821]=c[13936];break}b=c[13818]|0;if(g>>>0>>0){c[13818]=g;i=g}else i=b;d=g+h|0;b=55704;while(1){if((c[b>>2]|0)==(d|0)){C=198;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((C|0)==198?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;n=b+4|0;c[n>>2]=(c[n>>2]|0)+h;n=g+8|0;n=g+((n&7|0)==0?0:0-n&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;m=n+p|0;j=b-n-p|0;c[n+4>>2]=p|3;do if((b|0)!=(k|0)){if((b|0)==(c[13819]|0)){J=(c[13816]|0)+j|0;c[13816]=J;c[13819]=m;c[m+4>>2]=J|1;c[m+J>>2]=J;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;f=a>>>3;f:do if(a>>>0>=256){g=c[b+24>>2]|0;e=c[b+12>>2]|0;do if((e|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){H=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}if(d>>>0>>0)qb();else{c[d>>2]=0;H=a;break}}else{f=c[b+8>>2]|0;if(f>>>0>>0)qb();a=f+12|0;if((c[a>>2]|0)!=(b|0))qb();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;H=e;break}else qb()}while(0);if(!g)break;a=c[b+28>>2]|0;d=55560+(a<<2)|0;do if((b|0)!=(c[d>>2]|0))if(g>>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=H;if(!H)break f;else break}else qb();else{c[d>>2]=H;if(H|0)break;c[13815]=c[13815]&~(1<>>0>>0)qb();c[H+24>>2]=g;a=b+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0>>0)qb();else{c[H+16>>2]=d;c[d+24>>2]=H;break}while(0);a=c[a+4>>2]|0;if(!a)break;if(a>>>0<(c[13818]|0)>>>0)qb();else{c[H+20>>2]=a;c[a+24>>2]=H;break}}else{d=c[b+8>>2]|0;e=c[b+12>>2]|0;a=55296+(f<<1<<2)|0;do if((d|0)!=(a|0)){if(d>>>0>>0)qb();if((c[d+12>>2]|0)==(b|0))break;qb()}while(0);if((e|0)==(d|0)){c[13814]=c[13814]&~(1<>>0>>0)qb();a=e+8|0;if((c[a>>2]|0)==(b|0)){E=a;break}qb()}while(0);c[d+12>>2]=e;c[E>>2]=d}while(0);b=b+h|0;f=h+j|0}else f=j;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[m+4>>2]=f|1;c[m+f>>2]=f;b=f>>>3;if(f>>>0<256){d=55296+(b<<1<<2)|0;a=c[13814]|0;b=1<>2]|0;if(a>>>0>=(c[13818]|0)>>>0){I=a;J=b;break}qb()}while(0);c[J>>2]=m;c[I+12>>2]=m;c[m+8>>2]=I;c[m+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=55560+(b<<2)|0;c[m+28>>2]=b;a=m+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[13815]|0;d=1<>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){C=265;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=262;break}else{a=a<<1;e=b}}if((C|0)==262)if(d>>>0<(c[13818]|0)>>>0)qb();else{c[d>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((C|0)==265){b=e+8|0;a=c[b>>2]|0;J=c[13818]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=m;c[b>>2]=m;c[m+8>>2]=a;c[m+12>>2]=e;c[m+24>>2]=0;break}else qb()}}else{J=(c[13817]|0)+j|0;c[13817]=J;c[13820]=m;c[m+4>>2]=J|1}while(0);J=n+8|0;l=K;return J|0}b=55704;while(1){a=c[b>>2]|0;if(a>>>0<=k>>>0?(D=a+(c[b+4>>2]|0)|0,D>>>0>k>>>0):0)break;b=c[b+8>>2]|0}f=D+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=k+16|0;a=a>>>0>>0?k:a;b=a+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;J=g+d|0;d=h+-40-d|0;c[13820]=J;c[13817]=d;c[J+4>>2]=d|1;c[J+d+4>>2]=40;c[13821]=c[13936];d=a+4|0;c[d>>2]=27;c[b>>2]=c[13926];c[b+4>>2]=c[13927];c[b+8>>2]=c[13928];c[b+12>>2]=c[13929];c[13926]=g;c[13927]=h;c[13929]=0;c[13928]=b;b=a+24|0;do{J=b;b=b+4|0;c[b>>2]=7}while((J+8|0)>>>0>>0);if((a|0)!=(k|0)){g=a-k|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=55296+(b<<1<<2)|0;a=c[13814]|0;b=1<>2]|0;if(a>>>0<(c[13818]|0)>>>0)qb();else{F=a;G=b}}else{c[13814]=a|b;F=d;G=d+8|0}c[G>>2]=k;c[F+12>>2]=k;c[k+8>>2]=F;c[k+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;d=14-(H|I|d)+(J<>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=55560+(d<<2)|0;c[k+28>>2]=d;c[k+20>>2]=0;c[f>>2]=0;b=c[13815]|0;a=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(g|0)){C=292;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=289;break}else{a=a<<1;e=b}}if((C|0)==289)if(d>>>0<(c[13818]|0)>>>0)qb();else{c[d>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((C|0)==292){b=e+8|0;a=c[b>>2]|0;J=c[13818]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=k;c[b>>2]=k;c[k+8>>2]=a;c[k+12>>2]=e;c[k+24>>2]=0;break}else qb()}}}else{J=c[13818]|0;if((J|0)==0|g>>>0>>0)c[13818]=g;c[13926]=g;c[13927]=h;c[13929]=0;c[13823]=c[13932];c[13822]=-1;b=0;do{J=55296+(b<<1<<2)|0;c[J+12>>2]=J;c[J+8>>2]=J;b=b+1|0}while((b|0)!=32);J=g+8|0;J=(J&7|0)==0?0:0-J&7;I=g+J|0;J=h+-40-J|0;c[13820]=I;c[13817]=J;c[I+4>>2]=J|1;c[I+J+4>>2]=40;c[13821]=c[13936]}while(0);b=c[13817]|0;if(b>>>0>p>>>0){H=b-p|0;c[13817]=H;J=c[13820]|0;I=J+p|0;c[13820]=I;c[I+4>>2]=H|1;c[J+4>>2]=p|3;J=J+8|0;l=K;return J|0}}c[(s_()|0)>>2]=12;J=0;l=K;return J|0}function R$(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;d=a+-8|0;h=c[13818]|0;if(d>>>0>>0)qb();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)qb();e=a&-8;o=d+e|0;a:do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0>>0)qb();if((k|0)==(c[13819]|0)){a=o+4|0;b=c[a>>2]|0;if((b&3|0)!=3){r=k;f=j;m=k;break}c[13816]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=55296+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)qb();if((c[b+12>>2]|0)!=(k|0))qb()}if((d|0)==(b|0)){c[13814]=c[13814]&~(1<>>0>>0)qb();a=d+8|0;if((c[a>>2]|0)==(k|0))g=a;else qb()}else g=d+8|0;c[b+12>>2]=d;c[g>>2]=b;r=k;f=j;m=k;break}g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){i=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)qb();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0>>0)qb();a=e+12|0;if((c[a>>2]|0)!=(k|0))qb();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else qb()}while(0);if(g){a=c[k+28>>2]|0;b=55560+(a<<2)|0;do if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[13815]=c[13815]&~(1<>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(k|0)&1)<<2)>>2]=i;if(!i){r=k;f=j;m=k;break a}else break}else qb();while(0);d=c[13818]|0;if(i>>>0>>0)qb();c[i+24>>2]=g;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0>>0)qb();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[13818]|0)>>>0)qb();else{c[i+20>>2]=a;c[a+24>>2]=i;r=k;f=j;m=k;break}else{r=k;f=j;m=k}}else{r=k;f=j;m=k}}else{r=d;f=e;m=d}while(0);if(m>>>0>=o>>>0)qb();a=o+4|0;b=c[a>>2]|0;if(!(b&1))qb();if(!(b&2)){a=c[13819]|0;if((o|0)==(c[13820]|0)){q=(c[13817]|0)+f|0;c[13817]=q;c[13820]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[13819]=0;c[13816]=0;return}if((o|0)==(a|0)){q=(c[13816]|0)+f|0;c[13816]=q;c[13819]=m;c[r+4>>2]=q|1;c[m+q>>2]=q;return}f=(b&-8)+f|0;e=b>>>3;b:do if(b>>>0>=256){g=c[o+24>>2]|0;a=c[o+12>>2]|0;do if((a|0)==(o|0)){d=o+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){n=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[13818]|0)>>>0)qb();else{c[b>>2]=0;n=a;break}}else{b=c[o+8>>2]|0;if(b>>>0<(c[13818]|0)>>>0)qb();d=b+12|0;if((c[d>>2]|0)!=(o|0))qb();e=a+8|0;if((c[e>>2]|0)==(o|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else qb()}while(0);if(g|0){a=c[o+28>>2]|0;b=55560+(a<<2)|0;do if((o|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[13815]=c[13815]&~(1<>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else qb();while(0);d=c[13818]|0;if(n>>>0>>0)qb();c[n+24>>2]=g;a=o+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0>>0)qb();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[13818]|0)>>>0)qb();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[o+8>>2]|0;d=c[o+12>>2]|0;a=55296+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[13818]|0)>>>0)qb();if((c[b+12>>2]|0)!=(o|0))qb()}if((d|0)==(b|0)){c[13814]=c[13814]&~(1<>>0<(c[13818]|0)>>>0)qb();a=d+8|0;if((c[a>>2]|0)==(o|0))l=a;else qb()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[r+4>>2]=f|1;c[m+f>>2]=f;if((r|0)==(c[13819]|0)){c[13816]=f;return}}else{c[a>>2]=b&-2;c[r+4>>2]=f|1;c[m+f>>2]=f}a=f>>>3;if(f>>>0<256){d=55296+(a<<1<<2)|0;b=c[13814]|0;a=1<>2]|0;if(b>>>0<(c[13818]|0)>>>0)qb();else{p=b;q=a}}else{c[13814]=b|a;p=d;q=d+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;a=14-(o|p|a)+(q<>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=55560+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;b=c[13815]|0;d=1<>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=124;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){a=121;break}else{b=b<<1;e=a}}if((a|0)==121)if(d>>>0<(c[13818]|0)>>>0)qb();else{c[d>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;break}else if((a|0)==124){a=e+8|0;b=c[a>>2]|0;q=c[13818]|0;if(b>>>0>=q>>>0&e>>>0>=q>>>0){c[b+12>>2]=r;c[a>>2]=r;c[r+8>>2]=b;c[r+12>>2]=e;c[r+24>>2]=0;break}else qb()}}else{c[13815]=b|d;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r}while(0);r=(c[13822]|0)+-1|0;c[13822]=r;if(!r)a=55712;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[13822]=-1;return}function S$(a,b){a=a|0;b=b|0;var d=0;if(a){d=S(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=Q$(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;m0(a|0,0,d|0)|0;return a|0}function T$(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=Q$(b)|0;return b|0}if(b>>>0>4294967231){c[(s_()|0)>>2]=12;b=0;return b|0}d=U$(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=Q$(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;h0(d|0,a|0,(e>>>0>>0?e:b)|0)|0;R$(a);b=d;return b|0}function U$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+4|0;n=c[o>>2]|0;d=n&-8;k=a+d|0;i=c[13818]|0;e=n&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0>>0))qb();f=c[k+4>>2]|0;if(!(f&1))qb();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[13934]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[o>>2]=n&1|b|2;c[m+4>>2]=d|3;o=m+d+4|0;c[o>>2]=c[o>>2]|1;V$(m,d);return a|0}if((k|0)==(c[13820]|0)){m=(c[13817]|0)+d|0;d=m-b|0;e=a+b|0;if(m>>>0<=b>>>0){a=0;return a|0}c[o>>2]=n&1|b|2;c[e+4>>2]=d|1;c[13820]=e;c[13817]=d;return a|0}if((k|0)==(c[13819]|0)){f=(c[13816]|0)+d|0;if(f>>>0>>0){a=0;return a|0}d=f-b|0;e=n&1;if(d>>>0>15){n=a+b|0;m=n+d|0;c[o>>2]=e|b|2;c[n+4>>2]=d|1;c[m>>2]=d;e=m+4|0;c[e>>2]=c[e>>2]&-2;e=n}else{c[o>>2]=e|f|2;e=a+f+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[13816]=d;c[13819]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0>>0){a=0;return a|0}m=l-b|0;g=f>>>3;a:do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){f=k+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){j=0;break}else e=f}while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)qb();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0>>0)qb();d=g+12|0;if((c[d>>2]|0)!=(k|0))qb();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else qb()}while(0);if(h|0){d=c[k+28>>2]|0;e=55560+(d<<2)|0;do if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[13815]=c[13815]&~(1<>>0>=(c[13818]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(k|0)&1)<<2)>>2]=j;if(!j)break a;else break}else qb();while(0);f=c[13818]|0;if(j>>>0>>0)qb();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0>>0)qb();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[13818]|0)>>>0)qb();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=55296+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0>>0)qb();if((c[e+12>>2]|0)!=(k|0))qb()}if((f|0)==(e|0)){c[13814]=c[13814]&~(1<>>0>>0)qb();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else qb()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);d=n&1;if(m>>>0<16){c[o>>2]=l|d|2;o=a+l+4|0;c[o>>2]=c[o>>2]|1;return a|0}else{n=a+b|0;c[o>>2]=d|b|2;c[n+4>>2]=m|3;o=n+m+4|0;c[o>>2]=c[o>>2]|1;V$(n,m);return a|0}return 0} +function UC(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=l;l=l+224|0;M=R+180|0;N=R+176|0;O=R+172|0;P=R+168|0;Q=R+208|0;S=R+164|0;k=R+160|0;m=R+156|0;n=R+152|0;o=R+148|0;j=R+144|0;p=R+48|0;q=R;r=R+206|0;s=R+204|0;t=R+202|0;u=R+200|0;v=R+198|0;w=R+40|0;x=R+196|0;y=R+36|0;z=R+194|0;A=R+192|0;B=R+32|0;C=R+28|0;D=R+190|0;E=R+188|0;F=R+186|0;G=R+24|0;H=R+20|0;I=R+16|0;J=R+12|0;K=R+8|0;L=R+184|0;c[N>>2]=f;c[O>>2]=g;c[P>>2]=h;b[Q>>1]=i;c[S>>2]=c[c[N>>2]>>2];c[k>>2]=c[c[S>>2]>>2];c[m>>2]=c[c[k>>2]>>2];c[y>>2]=0;c[B>>2]=0;c[C>>2]=0;c[n>>2]=c[(c[N>>2]|0)+12>>2];if(a[(c[m>>2]|0)+69>>0]|0){c[M>>2]=7;S=c[M>>2]|0;l=R;return S|0}if(c[(c[n>>2]|0)+36>>2]&32|0)c[j>>2]=24;else c[j>>2]=447;if((d[(c[P>>2]|0)+55>>0]|0)>>>2&1|0)c[j>>2]=c[j>>2]&-61;b[s>>1]=b[(c[n>>2]|0)+24>>1]|0;b[t>>1]=b[(c[n>>2]|0)+24+2>>1]|0;b[u>>1]=b[(c[n>>2]|0)+24+4>>1]|0;b[v>>1]=b[(c[n>>2]|0)+42>>1]|0;b[r>>1]=b[(c[n>>2]|0)+40>>1]|0;c[w>>2]=c[(c[n>>2]|0)+36>>2];h=c[n>>2]|0;i=c[h+4>>2]|0;S=q;c[S>>2]=c[h>>2];c[S+4>>2]=i;b[x>>1]=b[(c[n>>2]|0)+22>>1]|0;c[o>>2]=nC(p,c[(c[N>>2]|0)+4>>2]|0,c[(c[O>>2]|0)+44>>2]|0,e[s>>1]|0,c[j>>2]|0,c[P>>2]|0)|0;b[(c[n>>2]|0)+18>>1]=0;b[z>>1]=b[c[(c[P>>2]|0)+8>>2]>>1]|0;b[A>>1]=EC(b[z>>1]|0)|0;a:while(1){if(!((c[y>>2]|0)==0?(c[o>>2]|0)!=0:0))break;b[D>>1]=b[(c[o>>2]|0)+12>>1]|0;c[G>>2]=0;if((e[D>>1]|0)!=256?!(e[(c[o>>2]|0)+10>>1]&0|0):0)f=13;else f=12;if((f|0)==12?(f=0,(VC(c[P>>2]|0,e[s>>1]|0)|0)==0):0)f=13;do if((f|0)==13?(0,i=(c[o>>2]|0)+32|0,S=(c[n>>2]|0)+8|0,!(c[i>>2]&c[S>>2]|0?1:(c[i+4>>2]&c[S+4>>2]|0)!=0)):0){if(e[(c[o>>2]|0)+10>>1]&256|0?(e[(c[o>>2]|0)+12>>1]|0)==16:0)break;if((d[(c[O>>2]|0)+36>>0]&8|0?(c[(c[c[o>>2]>>2]|0)+4>>2]&1|0)==0:0)?e[D>>1]&384|0:0)break;c[(c[n>>2]|0)+36>>2]=c[w>>2];b[(c[n>>2]|0)+24>>1]=b[s>>1]|0;b[(c[n>>2]|0)+24+2>>1]=b[t>>1]|0;b[(c[n>>2]|0)+24+4>>1]=b[u>>1]|0;b[(c[n>>2]|0)+40>>1]=b[r>>1]|0;if(xC(c[m>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0)break a;h=c[o>>2]|0;j=c[(c[n>>2]|0)+48>>2]|0;i=(c[n>>2]|0)+40|0;g=b[i>>1]|0;b[i>>1]=g+1<<16>>16;c[j+((g&65535)<<2)>>2]=h;g=q;j=(c[o>>2]|0)+32|0;h=(c[n>>2]|0)+8|0;i=(c[g+4>>2]|c[j+4>>2])&~c[h+4>>2];S=c[n>>2]|0;c[S>>2]=(c[g>>2]|c[j>>2])&~c[h>>2];c[S+4>>2]=i;b:do if(!(e[D>>1]&1|0))if(!(e[D>>1]&130|0)){if(e[D>>1]&256|0){S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|8;break}f=(c[n>>2]|0)+36|0;g=c[f>>2]|0;if(e[D>>1]&36|0){c[f>>2]=g|34;S=(WC(c[k>>2]|0,c[(c[O>>2]|0)+44>>2]|0,c[P>>2]|0,e[s>>1]|0,c[o>>2]|0)|0)&65535;b[(c[n>>2]|0)+24+2>>1]=S;c[C>>2]=c[o>>2];c[B>>2]=0;if(!(e[(c[o>>2]|0)+10>>1]&256))break;c[B>>2]=(c[o>>2]|0)+48;if(xC(c[m>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0)break a;h=c[B>>2]|0;i=c[(c[n>>2]|0)+48>>2]|0;j=(c[n>>2]|0)+40|0;S=b[j>>1]|0;b[j>>1]=S+1<<16>>16;c[i+((S&65535)<<2)>>2]=h;S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|16;b[(c[n>>2]|0)+24+4>>1]=1;break}else{c[f>>2]=g|18;S=(WC(c[k>>2]|0,c[(c[O>>2]|0)+44>>2]|0,c[P>>2]|0,e[s>>1]|0,c[o>>2]|0)|0)&65535;b[(c[n>>2]|0)+24+4>>1]=S;c[B>>2]=c[o>>2];if(c[(c[n>>2]|0)+36>>2]&32|0)f=c[(c[(c[n>>2]|0)+48>>2]|0)+((e[(c[n>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else f=0;c[C>>2]=f;break}}else{c[J>>2]=b[(c[(c[P>>2]|0)+4>>2]|0)+(e[s>>1]<<1)>>1];S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|1;if((c[J>>2]|0)!=-1){if((c[J>>2]|0)<=0)break;if(b[Q>>1]|0)break;if((e[s>>1]|0)!=((e[(c[P>>2]|0)+50>>1]|0)-1|0))break}if((c[J>>2]|0)>=0?((d[(c[P>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){f=65536;g=c[n>>2]|0}else{f=4096;g=c[n>>2]|0}S=g+36|0;c[S>>2]=c[S>>2]|f;break}else{c[H>>2]=c[c[o>>2]>>2];S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|4;if(!(c[(c[H>>2]|0)+4>>2]&2048)){if(!(c[(c[H>>2]|0)+20>>2]|0))break;if(!(c[c[(c[H>>2]|0)+20>>2]>>2]|0))break;S=c[c[(c[H>>2]|0)+20>>2]>>2]|0;c[G>>2]=(xv(S,((S|0)<0)<<31>>31)|0)<<16>>16;break}c[G>>2]=46;c[I>>2]=0;while(1){if((c[I>>2]|0)>=((e[(c[n>>2]|0)+40>>1]|0)-1|0))break b;if(c[(c[(c[n>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]|0?(c[c[(c[(c[n>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[H>>2]|0):0)c[G>>2]=0;c[I>>2]=(c[I>>2]|0)+1}}while(0);do if(!(c[(c[n>>2]|0)+36>>2]&2|0)){i=(c[n>>2]|0)+24|0;S=(b[i>>1]|0)+1<<16>>16;b[i>>1]=S;c[K>>2]=S&65535;if((b[(c[o>>2]|0)+8>>1]|0)<=0?(b[(c[(c[P>>2]|0)+4>>2]|0)+(e[s>>1]<<1)>>1]|0)>=0:0){S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+(b[(c[o>>2]|0)+8>>1]|0);S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(c[G>>2]|0);break}S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[(c[(c[P>>2]|0)+8>>2]|0)+(c[K>>2]<<1)>>1]|0)-(b[(c[(c[P>>2]|0)+8>>2]|0)+((c[K>>2]|0)-1<<1)>>1]|0));if(e[D>>1]&256|0){S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+10}}else XC(c[k>>2]|0,c[N>>2]|0,c[C>>2]|0,c[B>>2]|0,c[n>>2]|0)|0;while(0);b[E>>1]=(b[(c[n>>2]|0)+22>>1]|0)+1+(((b[(c[P>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[O>>2]|0)+16>>2]|0)+40>>1]|0)|0);S=BC(b[A>>1]|0,b[E>>1]|0)|0;b[(c[n>>2]|0)+20>>1]=S;if(!(c[(c[n>>2]|0)+36>>2]&320)){S=BC(b[(c[n>>2]|0)+20>>1]|0,(b[(c[n>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[n>>2]|0)+20>>1]=S}b[F>>1]=b[(c[n>>2]|0)+22>>1]|0;S=(c[n>>2]|0)+20|0;b[S>>1]=(b[S>>1]|0)+((b[Q>>1]|0)+(c[G>>2]|0));S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[Q>>1]|0)+(c[G>>2]|0));RC(c[(c[N>>2]|0)+4>>2]|0,c[n>>2]|0,b[z>>1]|0);c[y>>2]=KC(c[N>>2]|0,c[n>>2]|0)|0;S=(c[(c[n>>2]|0)+36>>2]&2|0)!=0;b[(S?c[n>>2]|0:c[n>>2]|0)+22>>1]=S?b[x>>1]|0:b[F>>1]|0;if((c[(c[n>>2]|0)+36>>2]&16|0)==0?(e[(c[n>>2]|0)+24>>1]|0)<(e[(c[P>>2]|0)+52>>1]|0):0)UC(c[N>>2]|0,c[O>>2]|0,c[P>>2]|0,(b[Q>>1]|0)+(c[G>>2]|0)&65535)|0;b[(c[n>>2]|0)+22>>1]=b[x>>1]|0}while(0);c[o>>2]=oC(p)|0}J=q;K=c[J+4>>2]|0;S=c[n>>2]|0;c[S>>2]=c[J>>2];c[S+4>>2]=K;b[(c[n>>2]|0)+24>>1]=b[s>>1]|0;b[(c[n>>2]|0)+24+2>>1]=b[t>>1]|0;b[(c[n>>2]|0)+24+4>>1]=b[u>>1]|0;b[(c[n>>2]|0)+42>>1]=b[v>>1]|0;c[(c[n>>2]|0)+36>>2]=c[w>>2];b[(c[n>>2]|0)+22>>1]=b[x>>1]|0;b[(c[n>>2]|0)+40>>1]=b[r>>1]|0;if(((((e[s>>1]|0)==(e[v>>1]|0)?((e[s>>1]|0)+1|0)<(e[(c[P>>2]|0)+50>>1]|0):0)?((d[(c[P>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[P>>2]|0)+8>>2]|0)+((e[s>>1]|0)+1<<1)>>1]|0)>=42:0)?(S=xC(c[m>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0,c[y>>2]=S,(S|0)==0):0){K=(c[n>>2]|0)+24|0;b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=(c[n>>2]|0)+42|0;b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=c[(c[n>>2]|0)+48>>2]|0;J=(c[n>>2]|0)+40|0;S=b[J>>1]|0;b[J>>1]=S+1<<16>>16;c[K+((S&65535)<<2)>>2]=0;S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|32768;b[L>>1]=(b[(c[(c[P>>2]|0)+8>>2]|0)+(e[s>>1]<<1)>>1]|0)-(b[(c[(c[P>>2]|0)+8>>2]|0)+((e[s>>1]|0)+1<<1)>>1]|0);S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(b[L>>1]|0);b[L>>1]=(b[L>>1]|0)+5;UC(c[N>>2]|0,c[O>>2]|0,c[P>>2]|0,(b[L>>1]|0)+(b[Q>>1]|0)&65535)|0;b[(c[n>>2]|0)+22>>1]=b[x>>1]|0;b[(c[n>>2]|0)+24>>1]=b[s>>1]|0;b[(c[n>>2]|0)+42>>1]=b[v>>1]|0;c[(c[n>>2]|0)+36>>2]=c[w>>2]}c[M>>2]=c[y>>2];S=c[M>>2]|0;l=R;return S|0}function VC(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;j=i+4|0;h=i;c[g>>2]=a;c[j>>2]=e;c[h>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]<<1)>>1];if((c[h>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+12>>0];j=c[f>>2]|0;l=i;return j|0}if((c[h>>2]|0)==-1){c[f>>2]=1;j=c[f>>2]|0;l=i;return j|0}else{c[f>>2]=0;j=c[f>>2]|0;l=i;return j|0}return 0}function WC(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;r=x+36|0;s=x+32|0;t=x+28|0;u=x+24|0;v=x+20|0;k=x+16|0;w=x+12|0;m=x+41|0;n=x+40|0;o=x+8|0;p=x+4|0;q=x;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=i;c[v>>2]=j;c[k>>2]=rx(c[(c[c[v>>2]>>2]|0)+12>>2]|0)|0;if((c[k>>2]|0)<((e[(c[t>>2]|0)+52>>1]|0)-(c[u>>2]|0)|0))f=c[k>>2]|0;else f=(e[(c[t>>2]|0)+52>>1]|0)-(c[u>>2]|0)|0;c[k>>2]=f;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[k>>2]|0)){f=17;break}a[n>>0]=0;c[p>>2]=c[(c[(c[(c[(c[c[v>>2]>>2]|0)+12>>2]|0)+20>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[q>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];f=(c[q>>2]|0)+20|0;if(c[(c[q>>2]|0)+4>>2]&2048|0)c[q>>2]=c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];else c[q>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];if((d[c[p>>2]>>0]|0)!=152){f=17;break}if((c[(c[p>>2]|0)+28>>2]|0)!=(c[s>>2]|0)){f=17;break}if((b[(c[p>>2]|0)+32>>1]|0)!=(b[(c[(c[t>>2]|0)+4>>2]|0)+((c[w>>2]|0)+(c[u>>2]|0)<<1)>>1]|0)){f=17;break}if((d[(c[(c[t>>2]|0)+28>>2]|0)+((c[w>>2]|0)+(c[u>>2]|0))>>0]|0)!=(d[(c[(c[t>>2]|0)+28>>2]|0)+(c[u>>2]|0)>>0]|0)){f=17;break}j=c[q>>2]|0;a[m>>0]=wz(j,qw(c[p>>2]|0)|0)|0;a[n>>0]=zw(c[(c[t>>2]|0)+12>>2]|0,b[(c[p>>2]|0)+32>>1]|0)|0;if((a[m>>0]|0)!=(a[n>>0]|0)){f=17;break}c[o>>2]=xz(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if(!(c[o>>2]|0)){f=17;break}if(bh(c[c[o>>2]>>2]|0,c[(c[(c[t>>2]|0)+32>>2]|0)+((c[w>>2]|0)+(c[u>>2]|0)<<2)>>2]|0)|0){f=17;break}c[w>>2]=(c[w>>2]|0)+1}if((f|0)==17){l=x;return c[w>>2]|0}return 0}function XC(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+16|0;m=o+12|0;n=o+8|0;h=o+4|0;i=o;j=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[h>>2]=0;c[i>>2]=b[(c[n>>2]|0)+22>>1];b[j>>1]=YC(c[k>>2]|0,c[i>>2]&65535)|0;b[j>>1]=YC(c[m>>2]|0,b[j>>1]|0)|0;if((c[k>>2]|0?(c[m>>2]|0?(b[(c[k>>2]|0)+8>>1]|0)>0:0):0)?(b[(c[m>>2]|0)+8>>1]|0)>0:0)b[j>>1]=(b[j>>1]|0)-20;c[i>>2]=(c[i>>2]|0)-(((c[k>>2]|0)!=0&1)+((c[m>>2]|0)!=0&1));if((b[j>>1]|0)<10)b[j>>1]=10;if((b[j>>1]|0)>=(c[i>>2]|0)){m=c[i>>2]|0;m=m&65535;n=c[n>>2]|0;n=n+22|0;b[n>>1]=m;n=c[h>>2]|0;l=o;return n|0}c[i>>2]=b[j>>1];m=c[i>>2]|0;m=m&65535;n=c[n>>2]|0;n=n+22|0;b[n>>1]=m;n=c[h>>2]|0;l=o;return n|0}function YC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h;i=h+6|0;g=h+4|0;c[f>>2]=a;b[i>>1]=d;b[g>>1]=b[i>>1]|0;do if(c[f>>2]|0){a=c[f>>2]|0;if((b[(c[f>>2]|0)+8>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[a+8>>1]|0);break}if(!(e[a+10>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);l=h;return b[g>>1]|0}function ZC(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+8|0;h=j+4|0;i=j;c[h>>2]=e;c[i>>2]=f;if(((d[c[i>>2]>>0]|0|0)==152?(c[(c[i>>2]|0)+28>>2]|0)==(c[(c[(c[h>>2]|0)+24>>2]|0)+4>>2]|0):0)?((Uy(c[c[(c[h>>2]|0)+24>>2]>>2]|0,b[(c[i>>2]|0)+32>>1]|0)|0)<<16>>16|0)<0:0){a[(c[h>>2]|0)+20>>0]=1;c[g>>2]=2;i=c[g>>2]|0;l=j;return i|0}c[g>>2]=0;i=c[g>>2]|0;l=j;return i|0}function _C(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;if(!(Yw(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0)){c[f>>2]=1;i=c[f>>2]|0;l=j;return i|0}do if((d[c[h>>2]>>0]|0|0)==27){if((_C(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[i>>2]|0)|0)==0?(_C(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[i>>2]|0)|0)==0:0)break;c[f>>2]=1;i=c[f>>2]|0;l=j;return i|0}while(0);if((((d[c[h>>2]>>0]|0|0)==35?(Yw(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[i>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=34:0)?(d[c[g>>2]>>0]|0|0)!=29:0){c[f>>2]=1;i=c[f>>2]|0;l=j;return i|0}c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}function $C(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+96|0;I=J+8|0;F=J+80|0;G=J+76|0;H=J+72|0;n=J;o=J+68|0;p=J+64|0;q=J+60|0;r=J+56|0;s=J+52|0;t=J+48|0;u=J+44|0;v=J+40|0;w=J+36|0;x=J+32|0;y=J+28|0;z=J+24|0;A=J+84|0;B=J+20|0;C=J+16|0;D=J+86|0;E=J+12|0;c[G>>2]=f;c[H>>2]=g;g=n;c[g>>2]=h;c[g+4>>2]=i;c[o>>2]=j;c[p>>2]=k;c[q>>2]=m;b[A>>1]=0;c[t>>2]=0;c[r>>2]=0;c[x>>2]=c[(c[H>>2]|0)+20>>2];while(1){if((c[r>>2]|0)>=(c[(c[H>>2]|0)+12>>2]|0))break;if((((c[(c[x>>2]|0)+20>>2]|0)==(c[(c[o>>2]|0)+44>>2]|0)?(k=(c[x>>2]|0)+32|0,m=n,!(c[k>>2]&c[m>>2]|0?1:(c[k+4>>2]&c[m+4>>2]|0)!=0)):0)?e[(c[x>>2]|0)+12>>1]&-2433|0:0)?(e[(c[x>>2]|0)+10>>1]&0|0)==0:0)c[t>>2]=(c[t>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+48}c[y>>2]=0;if(c[p>>2]|0){c[B>>2]=c[c[p>>2]>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[B>>2]|0))break;c[C>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];if((d[c[C>>2]>>0]|0)!=152)break;if((c[(c[C>>2]|0)+28>>2]|0)!=(c[(c[o>>2]|0)+44>>2]|0))break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)==(c[B>>2]|0))c[y>>2]=c[B>>2]}c[z>>2]=_l(c[c[G>>2]>>2]|0,72+((c[t>>2]|0)*20|0)+(c[y>>2]<<3)|0,0)|0;if(!(c[z>>2]|0)){sl(c[G>>2]|0,22481,I);c[F>>2]=0;I=c[F>>2]|0;l=J;return I|0}c[u>>2]=(c[z>>2]|0)+72;c[v>>2]=(c[u>>2]|0)+((c[t>>2]|0)*12|0);c[w>>2]=(c[v>>2]|0)+(c[y>>2]<<3);c[c[z>>2]>>2]=c[t>>2];c[(c[z>>2]|0)+8>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[u>>2];c[(c[z>>2]|0)+12>>2]=c[v>>2];c[(c[z>>2]|0)+16>>2]=c[w>>2];c[s>>2]=0;c[r>>2]=0;c[x>>2]=c[(c[H>>2]|0)+20>>2];while(1){if((c[r>>2]|0)>=(c[(c[H>>2]|0)+12>>2]|0))break;if((((c[(c[x>>2]|0)+20>>2]|0)==(c[(c[o>>2]|0)+44>>2]|0)?(G=(c[x>>2]|0)+32|0,I=n,!(c[G>>2]&c[I>>2]|0?1:(c[G+4>>2]&c[I+4>>2]|0)!=0)):0)?e[(c[x>>2]|0)+12>>1]&-2433|0:0)?(e[(c[x>>2]|0)+10>>1]&0|0)==0:0){c[(c[u>>2]|0)+((c[s>>2]|0)*12|0)>>2]=c[(c[x>>2]|0)+28>>2];c[(c[u>>2]|0)+((c[s>>2]|0)*12|0)+8>>2]=c[r>>2];I=b[(c[x>>2]|0)+12>>1]&255;a[D>>0]=I;a[D>>0]=(d[D>>0]|0)==1?2:I;if((d[D>>0]|0)==64)a[D>>0]=a[(c[x>>2]|0)+15>>0]|0;a[(c[u>>2]|0)+((c[s>>2]|0)*12|0)+4>>0]=a[D>>0]|0;if(d[D>>0]&60|0?az(c[(c[c[x>>2]>>2]|0)+16>>2]|0)|0:0){if((c[r>>2]|0)<16)b[A>>1]=e[A>>1]|1<>2];if((d[D>>0]|0)==16)a[(c[u>>2]|0)+((c[s>>2]|0)*12|0)+4>>0]=8;if((d[D>>0]|0)==4)a[(c[u>>2]|0)+((c[s>>2]|0)*12|0)+4>>0]=32}c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+48}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[y>>2]|0))break;c[E>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];c[(c[v>>2]|0)+(c[r>>2]<<3)>>2]=b[(c[E>>2]|0)+32>>1];a[(c[v>>2]|0)+(c[r>>2]<<3)+4>>0]=a[(c[(c[p>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)+12>>0]|0;c[r>>2]=(c[r>>2]|0)+1}b[c[q>>2]>>1]=b[A>>1]|0;c[F>>2]=c[z>>2];I=c[F>>2]|0;l=J;return I|0}function aD(f,g,i,j,k,m,n,o,p){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=l;l=l+96|0;G=N+16|0;M=N+88|0;I=N+84|0;O=N+8|0;q=N;r=N+94|0;J=N+80|0;t=N+92|0;u=N+76|0;v=N+72|0;w=N+68|0;x=N+64|0;y=N+60|0;z=N+56|0;K=N+52|0;L=N+48|0;A=N+44|0;B=N+40|0;C=N+36|0;s=N+32|0;D=N+28|0;E=N+24|0;F=N+20|0;c[I>>2]=f;f=O;c[f>>2]=g;c[f+4>>2]=i;i=q;c[i>>2]=j;c[i+4>>2]=k;b[r>>1]=m;c[J>>2]=n;b[t>>1]=o;c[u>>2]=p;c[v>>2]=c[(c[I>>2]|0)+4>>2];c[x>>2]=c[(c[J>>2]|0)+16>>2];c[K>>2]=0;c[L>>2]=c[(c[I>>2]|0)+12>>2];c[A>>2]=c[c[c[I>>2]>>2]>>2];c[B>>2]=(c[(c[c[I>>2]>>2]|0)+4>>2]|0)+8+((d[(c[L>>2]|0)+16>>0]|0)*72|0);c[C>>2]=c[c[J>>2]>>2];c[c[u>>2]>>2]=0;n=O;o=c[n+4>>2]|0;p=c[L>>2]|0;c[p>>2]=c[n>>2];c[p+4>>2]=o;c[w>>2]=c[(c[J>>2]|0)+4>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[C>>2]|0))break;c[s>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+8>>2]|0)*48|0);a[(c[w>>2]|0)+5>>0]=0;o=(c[s>>2]|0)+32|0;p=q;O=(c[s>>2]|0)+32|0;if(((c[o>>2]&c[p>>2]|0)==(c[O>>2]|0)?(c[o+4>>2]&c[p+4>>2]|0)==(c[O+4>>2]|0):0)?(e[(c[s>>2]|0)+12>>1]&e[r>>1]|0)==0:0)a[(c[w>>2]|0)+5>>0]=1;c[y>>2]=(c[y>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+12}m0(c[x>>2]|0,0,c[C>>2]<<3|0)|0;c[(c[J>>2]|0)+24>>2]=0;c[(c[J>>2]|0)+20>>2]=0;c[(c[J>>2]|0)+32>>2]=0;h[(c[J>>2]|0)+40>>3]=5.e+98;o=(c[J>>2]|0)+48|0;c[o>>2]=25;c[o+4>>2]=0;c[(c[J>>2]|0)+56>>2]=0;o=(c[B>>2]|0)+56|0;p=c[o+4>>2]|0;O=(c[J>>2]|0)+64|0;c[O>>2]=c[o>>2];c[O+4>>2]=p;c[K>>2]=bD(c[A>>2]|0,c[(c[B>>2]|0)+16>>2]|0,c[J>>2]|0)|0;if(c[K>>2]|0){c[M>>2]=c[K>>2];O=c[M>>2]|0;l=N;return O|0}c[z>>2]=-1;c[y>>2]=0;while(1){f=c[L>>2]|0;if((c[y>>2]|0)>=(c[C>>2]|0))break;c[(c[f+48>>2]|0)+(c[y>>2]<<2)>>2]=0;c[y>>2]=(c[y>>2]|0)+1}b[f+24+6>>1]=0;c[w>>2]=c[(c[J>>2]|0)+4>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[C>>2]|0))break;O=(c[(c[x>>2]|0)+(c[y>>2]<<3)>>2]|0)-1|0;c[D>>2]=O;if((O|0)>=0){c[F>>2]=c[(c[w>>2]|0)+8>>2];if((c[F>>2]|0)<0?1:(c[D>>2]|0)>=(c[C>>2]|0)){H=19;break}if((c[F>>2]|0)>=(c[(c[v>>2]|0)+12>>2]|0)){H=19;break}if(c[(c[(c[L>>2]|0)+48>>2]|0)+(c[D>>2]<<2)>>2]|0){H=19;break}if(!(d[(c[w>>2]|0)+5>>0]|0)){H=19;break}c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[F>>2]|0)*48|0);o=(c[E>>2]|0)+32|0;O=c[L>>2]|0;n=O;p=c[n+4>>2]|c[o+4>>2];c[O>>2]=c[n>>2]|c[o>>2];c[O+4>>2]=p;c[(c[(c[L>>2]|0)+48>>2]|0)+(c[D>>2]<<2)>>2]=c[E>>2];if((c[D>>2]|0)>(c[z>>2]|0))c[z>>2]=c[D>>2];if((c[D>>2]|0)<16?d[(c[x>>2]|0)+(c[y>>2]<<3)+4>>0]|0:0){O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]|1<>2]}if(e[(c[E>>2]|0)+12>>1]&1|0){c[(c[J>>2]|0)+32>>2]=0;O=(c[J>>2]|0)+56|0;c[O>>2]=c[O>>2]&-2;c[c[u>>2]>>2]=1}}c[y>>2]=(c[y>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+12}if((H|0)==19){c[K>>2]=1;O=c[A>>2]|0;c[G>>2]=c[c[(c[B>>2]|0)+16>>2]>>2];sl(O,34420,G);c[M>>2]=c[K>>2];O=c[M>>2]|0;l=N;return O|0}O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]&~e[t>>1];b[(c[L>>2]|0)+40>>1]=(c[z>>2]|0)+1;c[(c[L>>2]|0)+24>>2]=c[(c[J>>2]|0)+20>>2];a[(c[L>>2]|0)+24+4>>0]=c[(c[J>>2]|0)+28>>2];c[(c[J>>2]|0)+28>>2]=0;c[(c[L>>2]|0)+24+8>>2]=c[(c[J>>2]|0)+24>>2];if(c[(c[J>>2]|0)+32>>2]|0)f=c[(c[J>>2]|0)+8>>2]|0;else f=0;a[(c[L>>2]|0)+24+5>>0]=f;b[(c[L>>2]|0)+18>>1]=0;O=cD(+h[(c[J>>2]|0)+40>>3])|0;b[(c[L>>2]|0)+20>>1]=O;O=(c[J>>2]|0)+48|0;O=xv(c[O>>2]|0,c[O+4>>2]|0)|0;b[(c[L>>2]|0)+22>>1]=O;O=(c[L>>2]|0)+36|0;H=c[O>>2]|0;c[O>>2]=c[(c[J>>2]|0)+56>>2]&1|0?H|4096:H&-4097;c[K>>2]=KC(c[I>>2]|0,c[L>>2]|0)|0;if(a[(c[L>>2]|0)+24+4>>0]|0){_d(c[(c[L>>2]|0)+24+8>>2]|0);a[(c[L>>2]|0)+24+4>>0]=0}c[M>>2]=c[K>>2];O=c[M>>2]|0;l=N;return O|0}function bD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;i=j+8|0;h=j;e=j+28|0;m=j+24|0;k=j+20|0;f=j+16|0;g=j+12|0;c[e>>2]=a;c[m>>2]=b;c[k>>2]=d;c[f>>2]=c[(fw(c[c[e>>2]>>2]|0,c[m>>2]|0)|0)+8>>2];c[g>>2]=Mb[c[(c[c[f>>2]>>2]|0)+12>>2]&255](c[f>>2]|0,c[k>>2]|0)|0;do if(c[g>>2]|0){if((c[g>>2]|0)==7){Od(c[c[e>>2]>>2]|0);break}a=c[e>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){c[i>>2]=c[(c[f>>2]|0)+8>>2];sl(a,21240,i);break}else{c[h>>2]=Xi(c[g>>2]|0)|0;sl(a,21240,h);break}}while(0);_d(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0;l=j;return c[(c[e>>2]|0)+36>>2]|0}function cD(a){a=+a;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+32|0;d=i+18|0;e=i+8|0;f=i;g=i+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;l=i;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=xv(~~a>>>0,+F(a)>=1.0?(a>0.0?~~+T(+E(a/4294967296.0),4294967295.0)>>>0:~~+R((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;l=i;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=f0(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=Z$(f|0,D|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;l=i;return g|0}return 0}function dD(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;s=t+36|0;n=t+32|0;o=t+28|0;p=t+24|0;q=t+20|0;i=t+16|0;r=t+12|0;j=t+8|0;k=t+4|0;m=t;c[n>>2]=a;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[i>>2]=h;c[j>>2]=c[(c[(c[q>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[o>>2]>>2]|0)){a=10;break}c[k>>2]=yw(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[k>>2]>>0]|0)==152?(b[(c[k>>2]|0)+32>>1]|0)==(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[i>>2]<<1)>>1]|0):0)?(c[(c[k>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(c[m>>2]=rw(c[n>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0)|0,c[m>>2]|0):0)?0==(bh(c[c[m>>2]>>2]|0,c[j>>2]|0)|0):0){a=8;break}c[r>>2]=(c[r>>2]|0)+1}if((a|0)==8){c[s>>2]=c[r>>2];s=c[s>>2]|0;l=t;return s|0}else if((a|0)==10){c[s>>2]=-1;s=c[s>>2]|0;l=t;return s|0}return 0}function eD(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=l;l=l+256|0;F=oa+228|0;Q=oa+224|0;$=oa+220|0;i=oa+216|0;la=oa+212|0;ma=oa+208|0;na=oa+204|0;k=oa+40|0;m=oa+32|0;n=oa+24|0;o=oa+200|0;p=oa+196|0;q=oa+192|0;r=oa+188|0;s=oa+184|0;t=oa+180|0;u=oa+240|0;j=oa+16|0;v=oa+176|0;w=oa+172|0;x=oa+168|0;y=oa+164|0;z=oa+236|0;A=oa+160|0;B=oa+156|0;C=oa+234|0;E=oa+152|0;G=oa+148|0;H=oa+144|0;I=oa+140|0;J=oa+136|0;K=oa+132|0;L=oa+128|0;M=oa+124|0;N=oa+120|0;O=oa+116|0;P=oa+112|0;R=oa+108|0;S=oa+232|0;T=oa+104|0;U=oa+239|0;V=oa+238|0;W=oa+100|0;X=oa+96|0;Y=oa+92|0;Z=oa+88|0;_=oa+84|0;aa=oa+8|0;ba=oa;ca=oa+80|0;da=oa+76|0;ea=oa+72|0;fa=oa+68|0;ga=oa+64|0;ha=oa+60|0;ia=oa+56|0;ja=oa+52|0;ka=oa+48|0;c[F>>2]=f;c[Q>>2]=g;c[$>>2]=h;c[i>>2]=c[c[Q>>2]>>2];h=n;c[h>>2]=0;c[h+4>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[s>>2]=c[c[i>>2]>>2];c[t>>2]=c[c[s>>2]>>2];if(a[(c[t>>2]|0)+69>>0]|0){l=oa;return}c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);c[ma>>2]=(c[i>>2]|0)+488;c[na>>2]=c[c[la>>2]>>2];h=zC(c[ma>>2]|0,c[(c[na>>2]|0)+12>>2]|0)|0;i=k;c[i>>2]=h;c[i+4>>2]=D;c[r>>2]=d[c[na>>2]>>0];do if((c[r>>2]|0)==33){if(qz(c[s>>2]|0,c[na>>2]|0)|0){l=oa;return}f=c[ma>>2]|0;g=(c[na>>2]|0)+20|0;if(c[(c[na>>2]|0)+4>>2]&2048|0){g=AC(f,c[g>>2]|0)|0;f=c[la>>2]|0;h=D;break}else{g=ZB(f,c[g>>2]|0)|0;f=c[la>>2]|0;h=D;break}}else if((c[r>>2]|0)==34){f=c[la>>2]|0;g=0;h=0;break}else{g=zC(c[ma>>2]|0,c[(c[na>>2]|0)+16>>2]|0)|0;f=c[la>>2]|0;h=D;break}while(0);i=f+32|0;c[i>>2]=g;c[i+4>>2]=h;h=zC(c[ma>>2]|0,c[na>>2]|0)|0;i=m;c[i>>2]=h;c[i+4>>2]=D;if(c[(c[na>>2]|0)+4>>2]&1|0){f=bC(c[ma>>2]|0,b[(c[na>>2]|0)+36>>1]|0)|0;g=j;c[g>>2]=f;c[g+4>>2]=D;g=j;f=m;h=c[f+4>>2]|c[g+4>>2];i=m;c[i>>2]=c[f>>2]|c[g>>2];c[i+4>>2]=h;i=j;i=Z$(c[i>>2]|0,c[i+4>>2]|0,1,0)|0;j=n;c[j>>2]=i;c[j+4>>2]=D}i=m;f=c[i+4>>2]|0;j=(c[la>>2]|0)+40|0;c[j>>2]=c[i>>2];c[j+4>>2]=f;c[(c[la>>2]|0)+20>>2]=-1;c[(c[la>>2]|0)+16>>2]=-1;b[(c[la>>2]|0)+12>>1]=0;j=(fD(c[r>>2]|0)|0)!=0;f=c[na>>2]|0;a:do if(j){c[x>>2]=yw(c[f+12>>2]|0)|0;c[y>>2]=yw(c[(c[na>>2]|0)+16>>2]|0)|0;I=(c[la>>2]|0)+32|0;J=k;b[z>>1]=((c[I>>2]&c[J>>2]|0)==0?(c[I+4>>2]&c[J+4>>2]|0)==0:0)?8191:2048;if((c[(c[la>>2]|0)+24>>2]|0)>0)c[x>>2]=c[(c[(c[(c[x>>2]|0)+20>>2]|0)+4>>2]|0)+(((c[(c[la>>2]|0)+24>>2]|0)-1|0)*20|0)>>2];J=k;if(gD(c[F>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[x>>2]|0,v,w)|0){c[(c[la>>2]|0)+20>>2]=c[v>>2];c[(c[la>>2]|0)+28>>2]=c[w>>2];J=(hD(c[r>>2]|0)|0)&65535;b[(c[la>>2]|0)+12>>1]=J&e[z>>1]}if((c[r>>2]|0)==29){J=(c[la>>2]|0)+10|0;b[J>>1]=e[J>>1]|2048}if(c[y>>2]|0?(J=(c[la>>2]|0)+32|0,gD(c[F>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[y>>2]|0,v,w)|0):0){b[C>>1]=0;if((c[(c[la>>2]|0)+20>>2]|0)>=0){c[B>>2]=Ww(c[t>>2]|0,c[na>>2]|0,0)|0;if(a[(c[t>>2]|0)+69>>0]|0){Ok(c[t>>2]|0,c[B>>2]|0);l=oa;return}c[E>>2]=iD(c[Q>>2]|0,c[B>>2]|0,3)|0;if(!(c[E>>2]|0)){l=oa;return}c[A>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[E>>2]|0)*48|0);jD(c[Q>>2]|0,c[E>>2]|0,c[$>>2]|0);if((c[r>>2]|0)==29){J=(c[A>>2]|0)+10|0;b[J>>1]=e[J>>1]|2048}c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);J=(c[la>>2]|0)+10|0;b[J>>1]=e[J>>1]|8;if(kD(c[s>>2]|0,c[B>>2]|0)|0){J=(c[la>>2]|0)+12|0;b[J>>1]=e[J>>1]|2048;b[C>>1]=2048}}else{c[B>>2]=c[na>>2];c[A>>2]=c[la>>2]}lD(c[s>>2]|0,c[B>>2]|0);c[(c[A>>2]|0)+20>>2]=c[v>>2];c[(c[A>>2]|0)+28>>2]=c[w>>2];G=k;J=n;I=c[G+4>>2]|c[J+4>>2];H=(c[A>>2]|0)+32|0;c[H>>2]=c[G>>2]|c[J>>2];c[H+4>>2]=I;H=m;I=c[H+4>>2]|0;J=(c[A>>2]|0)+40|0;c[J>>2]=c[H>>2];c[J+4>>2]=I;J=(hD(d[c[B>>2]>>0]|0)|0)&65535;b[(c[A>>2]|0)+12>>1]=J+(e[C>>1]|0)&e[z>>1]}}else{if((d[f>>0]|0)==32?(d[(c[Q>>2]|0)+8>>0]|0)==28:0){c[G>>2]=c[(c[na>>2]|0)+20>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=2)break a;B=c[s>>2]|0;C=d[34446+(c[H>>2]|0)>>0]|0;E=Ww(c[t>>2]|0,c[(c[na>>2]|0)+12>>2]|0,0)|0;c[I>>2]=pt(B,C,E,Ww(c[t>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)>>2]|0,0)|0,0)|0;mD(c[I>>2]|0,c[na>>2]|0);c[J>>2]=iD(c[Q>>2]|0,c[I>>2]|0,3)|0;eD(c[F>>2]|0,c[Q>>2]|0,c[J>>2]|0);c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);jD(c[Q>>2]|0,c[J>>2]|0,c[$>>2]|0);c[H>>2]=(c[H>>2]|0)+1}}if((d[c[na>>2]>>0]|0)==27){nD(c[F>>2]|0,c[Q>>2]|0,c[$>>2]|0);c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0)}}while(0);if((d[(c[Q>>2]|0)+8>>0]|0)==28?oD(c[s>>2]|0,c[na>>2]|0,o,p,q)|0:0){b[S>>1]=259;c[K>>2]=c[(c[(c[(c[na>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[L>>2]=Ww(c[t>>2]|0,c[o>>2]|0,0)|0;b:do if(c[q>>2]|0?(a[(c[c[s>>2]>>2]|0)+69>>0]|0)==0:0){S=(c[la>>2]|0)+10|0;b[S>>1]=e[S>>1]|1024;c[T>>2]=0;while(1){S=a[(c[(c[o>>2]|0)+8>>2]|0)+(c[T>>2]|0)>>0]|0;a[U>>0]=S;if(!(S<<24>>24))break b;a[(c[(c[o>>2]|0)+8>>2]|0)+(c[T>>2]|0)>>0]=a[U>>0]&~(d[20063+(d[U>>0]|0)>>0]&32);a[(c[(c[L>>2]|0)+8>>2]|0)+(c[T>>2]|0)>>0]=a[20458+(d[U>>0]|0)>>0]|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(!(a[(c[t>>2]|0)+69>>0]|0)){U=c[(c[L>>2]|0)+8>>2]|0;c[W>>2]=U+((md(c[(c[L>>2]|0)+8>>2]|0)|0)-1);a[V>>0]=a[c[W>>2]>>0]|0;if(c[q>>2]|0){if((d[V>>0]|0)==64)c[p>>2]=0;a[V>>0]=a[20458+(d[V>>0]|0)>>0]|0}a[c[W>>2]>>0]=(d[V>>0]|0)+1}c[R>>2]=c[q>>2]|0?34448:34455;c[M>>2]=Ww(c[t>>2]|0,c[K>>2]|0,0)|0;W=c[s>>2]|0;V=ix(c[s>>2]|0,c[M>>2]|0,c[R>>2]|0)|0;c[M>>2]=pt(W,41,V,c[o>>2]|0,0)|0;mD(c[M>>2]|0,c[na>>2]|0);c[O>>2]=iD(c[Q>>2]|0,c[M>>2]|0,259)|0;eD(c[F>>2]|0,c[Q>>2]|0,c[O>>2]|0);c[N>>2]=Ww(c[t>>2]|0,c[K>>2]|0,0)|0;V=c[s>>2]|0;W=ix(c[s>>2]|0,c[N>>2]|0,c[R>>2]|0)|0;c[N>>2]=pt(V,40,W,c[L>>2]|0,0)|0;mD(c[N>>2]|0,c[na>>2]|0);c[P>>2]=iD(c[Q>>2]|0,c[N>>2]|0,259)|0;eD(c[F>>2]|0,c[Q>>2]|0,c[P>>2]|0);c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);if(c[p>>2]|0){jD(c[Q>>2]|0,c[O>>2]|0,c[$>>2]|0);jD(c[Q>>2]|0,c[P>>2]|0,c[$>>2]|0)}}if(((d[(c[Q>>2]|0)+8>>0]|0)==28?pD(c[na>>2]|0,u)|0:0)?(c[Y>>2]=c[c[(c[(c[na>>2]|0)+20>>2]|0)+4>>2]>>2],c[Z>>2]=c[(c[(c[(c[na>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],V=zC(c[ma>>2]|0,c[Y>>2]|0)|0,W=ba,c[W>>2]=V,c[W+4>>2]=D,ma=zC(c[ma>>2]|0,c[Z>>2]|0)|0,W=aa,c[W>>2]=ma,c[W+4>>2]=D,W=ba,ma=aa,(c[W>>2]&c[ma>>2]|0)==0?(c[W+4>>2]&c[ma+4>>2]|0)==0:0):0){ma=c[s>>2]|0;c[ca>>2]=pt(ma,30,0,Ww(c[t>>2]|0,c[Y>>2]|0,0)|0,0)|0;c[X>>2]=iD(c[Q>>2]|0,c[ca>>2]|0,3)|0;c[_>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[X>>2]|0)*48|0);ma=ba;ca=c[ma+4>>2]|0;ba=(c[_>>2]|0)+32|0;c[ba>>2]=c[ma>>2];c[ba+4>>2]=ca;c[(c[_>>2]|0)+20>>2]=c[(c[Z>>2]|0)+28>>2];c[(c[_>>2]|0)+28>>2]=b[(c[Z>>2]|0)+32>>1];b[(c[_>>2]|0)+12>>1]=64;a[(c[_>>2]|0)+15>>0]=a[u>>0]|0;jD(c[Q>>2]|0,c[X>>2]|0,c[$>>2]|0);c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);ba=(c[la>>2]|0)+10|0;b[ba>>1]=e[ba>>1]|8;ba=(c[la>>2]|0)+40|0;ca=c[ba+4>>2]|0;ma=(c[_>>2]|0)+40|0;c[ma>>2]=c[ba>>2];c[ma+4>>2]=ca}do if((d[(c[Q>>2]|0)+8>>0]|0)==28){if((d[c[na>>2]>>0]|0)!=37?(d[c[na>>2]>>0]|0)!=29:0)break;if(az(c[(c[na>>2]|0)+12>>2]|0)|0){if(c[(c[(c[na>>2]|0)+12>>2]|0)+4>>2]&2048|0?c[(c[(c[na>>2]|0)+16>>2]|0)+4>>2]&2048|0:0)break;c[da>>2]=rx(c[(c[na>>2]|0)+12>>2]|0)|0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;c[ha>>2]=qD(c[s>>2]|0,c[(c[na>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;c[ia>>2]=qD(c[s>>2]|0,c[(c[na>>2]|0)+16>>2]|0,c[ea>>2]|0)|0;c[ga>>2]=pt(c[s>>2]|0,d[c[na>>2]>>0]|0,c[ha>>2]|0,c[ia>>2]|0,0)|0;mD(c[ga>>2]|0,c[na>>2]|0);c[fa>>2]=iD(c[Q>>2]|0,c[ga>>2]|0,1)|0;eD(c[F>>2]|0,c[Q>>2]|0,c[fa>>2]|0);c[ea>>2]=(c[ea>>2]|0)+1}c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);b[(c[la>>2]|0)+10>>1]=6;b[(c[la>>2]|0)+12>>1]=0}}while(0);c:do if(((((d[(c[Q>>2]|0)+8>>0]|0)==28?(d[c[na>>2]>>0]|0)==33:0)?(c[(c[la>>2]|0)+24>>2]|0)==0:0)?(d[c[(c[na>>2]|0)+12>>2]>>0]|0)==158:0)?(c[(c[(c[na>>2]|0)+20>>2]|0)+48>>2]|0)==0:0){c[ja>>2]=0;while(1){ma=c[ja>>2]|0;if((ma|0)>=(rx(c[(c[na>>2]|0)+12>>2]|0)|0))break c;c[ka>>2]=iD(c[Q>>2]|0,c[na>>2]|0,2)|0;c[(c[(c[Q>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)+24>>2]=(c[ja>>2]|0)+1;eD(c[F>>2]|0,c[Q>>2]|0,c[ka>>2]|0);jD(c[Q>>2]|0,c[ka>>2]|0,c[$>>2]|0);c[ja>>2]=(c[ja>>2]|0)+1}}while(0);ka=n;na=(c[la>>2]|0)+32|0;la=na;ma=c[la+4>>2]|c[ka+4>>2];c[na>>2]=c[la>>2]|c[ka>>2];c[na+4>>2]=ma;l=oa;return}function fD(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=33?!((c[b>>2]|0)>=37&(c[b>>2]|0)<=41|(c[b>>2]|0)==34):0)a=(c[b>>2]|0)==29;else a=1;l=d;return a&1|0}function gD(a,f,g,h,i,j,k){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;u=v+40|0;q=v+36|0;w=v+32|0;m=v;n=v+28|0;r=v+24|0;s=v+20|0;o=v+16|0;p=v+12|0;t=v+8|0;c[q>>2]=a;c[w>>2]=f;f=m;c[f>>2]=g;c[f+4>>2]=h;c[n>>2]=i;c[r>>2]=j;c[s>>2]=k;if(((c[w>>2]|0)>=38?(d[c[n>>2]>>0]|0)==158:0)&(c[w>>2]|0)<=41)c[n>>2]=c[c[(c[(c[n>>2]|0)+20>>2]|0)+4>>2]>>2];if((d[c[n>>2]>>0]|0)==152){c[c[r>>2]>>2]=c[(c[n>>2]|0)+28>>2];c[c[s>>2]>>2]=b[(c[n>>2]|0)+32>>1];c[u>>2]=1;w=c[u>>2]|0;l=v;return w|0}w=m;if((c[w>>2]|0)==0&(c[w+4>>2]|0)==0){c[u>>2]=0;w=c[u>>2]|0;l=v;return w|0}w=m;j=c[w>>2]|0;w=c[w+4>>2]|0;k=m;k=Z$(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((j&k|0)!=0|(w&D|0)!=0){c[u>>2]=0;w=c[u>>2]|0;l=v;return w|0}c[p>>2]=0;while(1){w=m;k=c[w+4>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[w>>2]|0)>>>0>1))break;c[p>>2]=(c[p>>2]|0)+1;k=m;k=f0(c[k>>2]|0,c[k+4>>2]|0,1)|0;w=m;c[w>>2]=k;c[w+4>>2]=D}c[t>>2]=c[(c[q>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2];c[o>>2]=c[(c[(c[q>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[o>>2]|0)){a=22;break}b:do if(c[(c[o>>2]|0)+40>>2]|0){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[(c[o>>2]|0)+50>>1]|0))break b;if((b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1]|0)==-2?(Yw(c[n>>2]|0,c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,c[t>>2]|0)|0)==0:0){a=19;break a}c[p>>2]=(c[p>>2]|0)+1}}while(0);c[o>>2]=c[(c[o>>2]|0)+20>>2]}if((a|0)==19){c[c[r>>2]>>2]=c[t>>2];c[c[s>>2]>>2]=-2;c[u>>2]=1;w=c[u>>2]|0;l=v;return w|0}else if((a|0)==22){c[u>>2]=0;w=c[u>>2]|0;l=v;return w|0}return 0}function hD(a){a=a|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=33){if((c[d>>2]|0)==34){b[e>>1]=256;break}if((c[d>>2]|0)==29){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-37;break}}else b[e>>1]=1;while(0);l=f;return b[e>>1]|0}function iD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;n=p+24|0;i=p+20|0;j=p+16|0;k=p+28|0;m=p+12|0;o=p+8|0;h=p+4|0;g=p;c[i>>2]=a;c[j>>2]=d;b[k>>1]=f;do if((c[(c[i>>2]|0)+12>>2]|0)>=(c[(c[i>>2]|0)+16>>2]|0)){c[h>>2]=c[(c[i>>2]|0)+20>>2];c[g>>2]=c[c[c[c[i>>2]>>2]>>2]>>2];f=Ed(c[g>>2]|0,(c[(c[i>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[i>>2]|0)+20>>2]=f;if(c[(c[i>>2]|0)+20>>2]|0){h0(c[(c[i>>2]|0)+20>>2]|0,c[h>>2]|0,(c[(c[i>>2]|0)+12>>2]|0)*48|0)|0;if((c[h>>2]|0)!=((c[i>>2]|0)+24|0))Xd(c[g>>2]|0,c[h>>2]|0);h=((ae(c[g>>2]|0,c[(c[i>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[i>>2]|0)+16>>2]=h;break}if((e[k>>1]|0)&1|0)Ok(c[g>>2]|0,c[j>>2]|0);c[(c[i>>2]|0)+20>>2]=c[h>>2];c[n>>2]=0;o=c[n>>2]|0;l=p;return o|0}while(0);f=c[(c[i>>2]|0)+20>>2]|0;g=(c[i>>2]|0)+12|0;h=c[g>>2]|0;c[g>>2]=h+1;c[o>>2]=h;c[m>>2]=f+(h*48|0);if(c[j>>2]|0?c[(c[j>>2]|0)+4>>2]&262144|0:0){a=c[(c[j>>2]|0)+28>>2]|0;a=((xv(a,((a|0)<0)<<31>>31)|0)<<16>>16)-270&65535;d=c[m>>2]|0}else{a=1;d=c[m>>2]|0}b[d+8>>1]=a;a=yw(c[j>>2]|0)|0;c[c[m>>2]>>2]=a;b[(c[m>>2]|0)+10>>1]=b[k>>1]|0;c[(c[m>>2]|0)+4>>2]=c[i>>2];c[(c[m>>2]|0)+16>>2]=-1;a=(c[m>>2]|0)+12|0;d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[n>>2]=c[o>>2];o=c[n>>2]|0;l=p;return o|0}function jD(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;i=g+8|0;j=g+4|0;h=g;c[i>>2]=d;c[j>>2]=e;c[h>>2]=f;c[(c[(c[i>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0)+16>>2]=c[h>>2];b[(c[(c[i>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0)+8>>1]=b[(c[(c[i>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+8>>1]|0;f=(c[(c[i>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+14|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;l=g;return}function kD(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+20|0;i=p+16|0;j=p+12|0;g=p+25|0;h=p+24|0;k=p+8|0;n=p+4|0;o=p;c[i>>2]=b;c[j>>2]=f;if(e[(c[c[i>>2]>>2]|0)+64>>1]&512|0){c[m>>2]=0;o=c[m>>2]|0;l=p;return o|0}if((d[c[j>>2]>>0]|0)!=37?(d[c[j>>2]>>0]|0)!=29:0){c[m>>2]=0;o=c[m>>2]|0;l=p;return o|0}if(c[(c[j>>2]|0)+4>>2]&1|0){c[m>>2]=0;o=c[m>>2]|0;l=p;return o|0}a[g>>0]=qw(c[(c[j>>2]|0)+12>>2]|0)|0;a[h>>0]=qw(c[(c[j>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;l=p;return o|0}while(0);c[k>>2]=xz(c[i>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0)|0;if(c[k>>2]|0?bh(c[c[k>>2]>>2]|0,34455)|0:0){c[k>>2]=rw(c[i>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if(c[k>>2]|0)b=c[c[k>>2]>>2]|0;else b=0;c[n>>2]=b;c[k>>2]=rw(c[i>>2]|0,c[(c[j>>2]|0)+16>>2]|0)|0;if(c[k>>2]|0)b=c[c[k>>2]>>2]|0;else b=0;c[o>>2]=b;c[m>>2]=(kl(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;l=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;l=p;return o|0}function lD(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;h=m+8|0;i=m+4|0;j=m+14|0;n=m+12|0;k=m;c[h>>2]=f;c[i>>2]=g;b[j>>1]=c[(c[(c[i>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[i>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[j>>1]|0)==(e[n>>1]|0)){if(b[j>>1]|0){n=(c[(c[i>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(rw(c[h>>2]|0,c[(c[i>>2]|0)+12>>2]|0)|0){n=(c[(c[i>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[k>>2]=c[(c[i>>2]|0)+16>>2];c[(c[i>>2]|0)+16>>2]=c[(c[i>>2]|0)+12>>2];c[(c[i>>2]|0)+12>>2]=c[k>>2];if((d[c[i>>2]>>0]|0)<38){l=m;return}a[c[i>>2]>>0]=((d[c[i>>2]>>0]|0)-38^2)+38;l=m;return}function mD(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){l=g;return}d=(c[e>>2]|0)+4|0;c[d>>2]=c[d>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;l=g;return}function nD(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=l;l=l+160|0;E=V+156|0;O=V+152|0;P=V+148|0;Q=V+144|0;R=V+140|0;S=V+136|0;T=V+132|0;w=V+128|0;x=V+124|0;y=V+120|0;z=V+116|0;i=V+112|0;A=V+24|0;j=V+16|0;k=V+108|0;m=V+104|0;n=V+100|0;o=V+96|0;p=V+8|0;q=V;r=V+92|0;s=V+88|0;t=V+84|0;u=V+80|0;v=V+76|0;B=V+72|0;C=V+68|0;F=V+64|0;G=V+60|0;H=V+56|0;I=V+52|0;J=V+48|0;K=V+44|0;L=V+40|0;M=V+36|0;N=V+32|0;c[E>>2]=f;c[O>>2]=g;c[P>>2]=h;c[Q>>2]=c[c[O>>2]>>2];c[R>>2]=c[c[Q>>2]>>2];c[S>>2]=c[c[R>>2]>>2];c[T>>2]=(c[(c[O>>2]|0)+20>>2]|0)+((c[P>>2]|0)*48|0);c[w>>2]=c[c[T>>2]>>2];h=_l(c[S>>2]|0,416,0)|0;c[i>>2]=h;c[(c[T>>2]|0)+28>>2]=h;if(!(c[i>>2]|0)){l=V;return}h=(c[T>>2]|0)+10|0;b[h>>1]=e[h>>1]|16;c[y>>2]=c[i>>2];m0((c[y>>2]|0)+24|0,0,384)|0;QB(c[y>>2]|0,c[Q>>2]|0);RB(c[y>>2]|0,c[w>>2]|0,27);UB(c[E>>2]|0,c[y>>2]|0);if(a[(c[S>>2]|0)+69>>0]|0){l=V;return}h=j;c[h>>2]=-1;c[h+4>>2]=-1;h=A;c[h>>2]=-1;c[h+4>>2]=-1;c[x>>2]=(c[(c[y>>2]|0)+12>>2]|0)-1;c[z>>2]=c[(c[y>>2]|0)+20>>2];while(1){h=j;if(!((c[x>>2]|0)>=0?(c[h>>2]|0)!=0|(c[h+4>>2]|0)!=0:0))break;do if(!(e[(c[z>>2]|0)+12>>1]&511)){h=A;c[h>>2]=0;c[h+4>>2]=0;c[k>>2]=Ed(c[S>>2]|0,408,0)|0;if(c[k>>2]|0){h=p;c[h>>2]=0;c[h+4>>2]=0;c[(c[z>>2]|0)+28>>2]=c[k>>2];h=(c[z>>2]|0)+10|0;b[h>>1]=e[h>>1]|32;b[(c[z>>2]|0)+12>>1]=1024;c[m>>2]=c[k>>2];m0((c[m>>2]|0)+24|0,0,384)|0;QB(c[m>>2]|0,c[c[O>>2]>>2]|0);RB(c[m>>2]|0,c[c[z>>2]>>2]|0,28);UB(c[E>>2]|0,c[m>>2]|0);c[(c[m>>2]|0)+4>>2]=c[O>>2];a:do if(!(a[(c[S>>2]|0)+69>>0]|0)){c[o>>2]=0;c[n>>2]=c[(c[m>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break a;if(!(!(fD(d[c[c[n>>2]>>2]>>0]|0)|0)?(e[(c[n>>2]|0)+12>>1]|0)!=64:0)){f=bC((c[Q>>2]|0)+488|0,c[(c[n>>2]|0)+20>>2]|0)|0;W=p;g=c[W+4>>2]|D;h=p;c[h>>2]=c[W>>2]|f;c[h+4>>2]=g}c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}}while(0);g=p;f=j;h=c[f+4>>2]&c[g+4>>2];W=j;c[W>>2]=c[f>>2]&c[g>>2];c[W+4>>2]=h}}else if(!(e[(c[z>>2]|0)+10>>1]&8)){h=bC((c[Q>>2]|0)+488|0,c[(c[z>>2]|0)+20>>2]|0)|0;W=q;c[W>>2]=h;c[W+4>>2]=D;if(e[(c[z>>2]|0)+10>>1]&2|0){c[r>>2]=(c[(c[y>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+16>>2]|0)*48|0);g=bC((c[Q>>2]|0)+488|0,c[(c[r>>2]|0)+20>>2]|0)|0;f=q;h=c[f+4>>2]|D;W=q;c[W>>2]=c[f>>2]|g;c[W+4>>2]=h}g=q;f=j;h=c[f+4>>2]&c[g+4>>2];W=j;c[W>>2]=c[f>>2]&c[g>>2];c[W+4>>2]=h;if(!(e[(c[z>>2]|0)+12>>1]&2)){W=A;c[W>>2]=0;c[W+4>>2]=0;break}else{g=q;f=A;h=c[f+4>>2]&c[g+4>>2];W=A;c[W>>2]=c[f>>2]&c[g>>2];c[W+4>>2]=h;break}}while(0);c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+48}q=j;r=c[q+4>>2]|0;W=(c[i>>2]|0)+408|0;c[W>>2]=c[q>>2];c[W+4>>2]=r;W=j;b[(c[T>>2]|0)+12>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=j;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[y>>2]|0)+12>>2]|0)==2:0){c[s>>2]=0;c:while(1){r=c[(c[y>>2]|0)+20>>2]|0;W=c[s>>2]|0;c[s>>2]=W+1;W=vD(r,W)|0;c[t>>2]=W;if(!W)break b;c[u>>2]=0;while(1){r=(c[(c[y>>2]|0)+20>>2]|0)+48|0;W=c[u>>2]|0;c[u>>2]=W+1;W=vD(r,W)|0;c[v>>2]=W;if(!W)continue c;wD(c[E>>2]|0,c[O>>2]|0,c[t>>2]|0,c[v>>2]|0)}}}while(0);W=A;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){l=V;return}c[B>>2]=0;c[C>>2]=-1;c[F>>2]=-1;c[G>>2]=0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=2)break;if(!((c[B>>2]|0)!=0^1))break;c[z>>2]=c[(c[y>>2]|0)+20>>2];c[x>>2]=(c[(c[y>>2]|0)+12>>2]|0)-1;while(1){if((c[x>>2]|0)<0)break;W=(c[z>>2]|0)+10|0;b[W>>1]=e[W>>1]&-65;if((c[(c[z>>2]|0)+20>>2]|0)!=(c[F>>2]|0)?(W=A,u=c[W>>2]|0,W=c[W+4>>2]|0,v=bC((c[Q>>2]|0)+488|0,c[(c[z>>2]|0)+20>>2]|0)|0,!((u&v|0)==0&(W&D|0)==0)):0){U=37;break}c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+48}if((U|0)==37){U=0;c[C>>2]=c[(c[z>>2]|0)+28>>2];c[F>>2]=c[(c[z>>2]|0)+20>>2]}if((c[x>>2]|0)<0)break;c[B>>2]=1;while(1){if(!((c[x>>2]|0)>=0?(c[B>>2]|0)!=0:0))break;f=c[z>>2]|0;do if((c[(c[z>>2]|0)+20>>2]|0)!=(c[F>>2]|0)){W=f+10|0;b[W>>1]=e[W>>1]&-65}else{if((c[f+28>>2]|0)!=(c[C>>2]|0)){c[B>>2]=0;break}c[I>>2]=(qw(c[(c[c[z>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[H>>2]=(qw(c[(c[c[z>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if(c[I>>2]|0?(c[I>>2]|0)!=(c[H>>2]|0):0){c[B>>2]=0;break}W=(c[z>>2]|0)+10|0;b[W>>1]=e[W>>1]|64}while(0);c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+48}c[G>>2]=(c[G>>2]|0)+1}if(!(c[B>>2]|0)){l=V;return}c[K>>2]=0;c[L>>2]=0;c[x>>2]=(c[(c[y>>2]|0)+12>>2]|0)-1;c[z>>2]=c[(c[y>>2]|0)+20>>2];while(1){if((c[x>>2]|0)<0)break;if(e[(c[z>>2]|0)+10>>1]&64|0){c[J>>2]=Ww(c[S>>2]|0,c[(c[c[z>>2]>>2]|0)+16>>2]|0,0)|0;c[K>>2]=Et(c[c[Q>>2]>>2]|0,c[K>>2]|0,c[J>>2]|0)|0;c[L>>2]=c[(c[c[z>>2]>>2]|0)+12>>2]}c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+48}c[J>>2]=Ww(c[S>>2]|0,c[L>>2]|0,0)|0;c[M>>2]=pt(c[R>>2]|0,33,c[J>>2]|0,0,0)|0;if(c[M>>2]|0){mD(c[M>>2]|0,c[w>>2]|0);c[(c[M>>2]|0)+20>>2]=c[K>>2];c[N>>2]=iD(c[O>>2]|0,c[M>>2]|0,3)|0;eD(c[E>>2]|0,c[O>>2]|0,c[N>>2]|0);c[T>>2]=(c[(c[O>>2]|0)+20>>2]|0)+((c[P>>2]|0)*48|0);jD(c[O>>2]|0,c[N>>2]|0,c[P>>2]|0)}else Kk(c[S>>2]|0,c[K>>2]|0);b[(c[T>>2]|0)+12>>1]=4096;l=V;return}function oD(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+96|0;B=F+80|0;C=F+76|0;o=F+72|0;D=F+68|0;E=F+64|0;G=F+60|0;r=F+56|0;s=F+52|0;j=F+48|0;k=F+44|0;p=F+40|0;t=F+36|0;q=F+84|0;u=F+32|0;v=F+28|0;w=F+24|0;x=F+20|0;m=F+16|0;n=F+12|0;y=F+8|0;z=F+4|0;A=F;c[C>>2]=e;c[o>>2]=f;c[D>>2]=g;c[E>>2]=h;c[G>>2]=i;c[r>>2]=0;c[u>>2]=c[c[C>>2]>>2];c[v>>2]=0;if(!(rD(c[u>>2]|0,c[o>>2]|0,c[G>>2]|0,q)|0)){c[B>>2]=0;G=c[B>>2]|0;l=F;return G|0}c[k>>2]=c[(c[o>>2]|0)+20>>2];c[j>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+20>>2];if(((d[c[j>>2]>>0]|0)==152?((qw(c[j>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[j>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[s>>2]=yw(c[c[(c[k>>2]|0)+4>>2]>>2]|0)|0;c[w>>2]=d[c[s>>2]>>0];if((c[w>>2]|0)!=135){if((c[w>>2]|0)==97)c[r>>2]=c[(c[s>>2]|0)+8>>2]}else{c[m>>2]=c[(c[C>>2]|0)+432>>2];c[n>>2]=b[(c[s>>2]|0)+32>>1];c[v>>2]=sD(c[m>>2]|0,c[n>>2]|0,65)|0;if(c[v>>2]|0?(Ai(c[v>>2]|0)|0)==3:0)c[r>>2]=Rh(c[v>>2]|0)|0;tD(c[(c[C>>2]|0)+8>>2]|0,c[n>>2]|0)}do if(c[r>>2]|0){c[t>>2]=0;while(1){G=a[(c[r>>2]|0)+(c[t>>2]|0)>>0]|0;c[p>>2]=G;if((G|0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)f=(c[p>>2]|0)!=(a[q+2>>0]|0);else f=0;e=c[t>>2]|0;if(!f)break;c[t>>2]=e+1}if(e|0?255!=(d[(c[r>>2]|0)+((c[t>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))e=(a[(c[r>>2]|0)+((c[t>>2]|0)+1)>>0]|0)==0;else e=0;c[c[E>>2]>>2]=e&1;c[y>>2]=Ht(c[u>>2]|0,97,c[r>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[t>>2]|0)>>0]=0;c[c[D>>2]>>2]=c[y>>2];if((c[w>>2]|0)!=135)break;c[z>>2]=c[(c[C>>2]|0)+8>>2];tD(c[z>>2]|0,b[(c[s>>2]|0)+32>>1]|0);if(!(c[c[E>>2]>>2]|0))break;if(!(a[(c[(c[s>>2]|0)+8>>2]|0)+1>>0]|0))break;c[A>>2]=Ov(c[C>>2]|0)|0;Xy(c[C>>2]|0,c[s>>2]|0,c[A>>2]|0)|0;G=c[z>>2]|0;uD(G,(Pv(c[z>>2]|0)|0)-1|0,0);Qv(c[C>>2]|0,c[A>>2]|0);break}c[r>>2]=0}while(0);c[x>>2]=(c[r>>2]|0)!=0&1;Bk(c[v>>2]|0);c[B>>2]=c[x>>2];G=c[B>>2]|0;l=F;return G|0}c[B>>2]=0;G=c[B>>2]|0;l=F;return G|0}function pD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m+20|0;h=m+16|0;k=m+12|0;f=m+8|0;g=m+4|0;i=m;c[h>>2]=b;c[k>>2]=e;if((d[c[h>>2]>>0]|0|0)!=151){c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}c[f>>2]=c[(c[h>>2]|0)+20>>2];if(c[f>>2]|0?(c[c[f>>2]>>2]|0)==2:0){c[g>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+20>>2];if((d[c[g>>2]>>0]|0|0)==152?(d[(c[(c[g>>2]|0)+44>>2]|0)+42>>0]|0)&16|0:0){c[i>>2]=0;while(1){if((c[i>>2]|0)>=4){b=14;break}g=(bh(c[(c[h>>2]|0)+8>>2]|0,c[5512+(c[i>>2]<<3)>>2]|0)|0)==0;e=c[i>>2]|0;if(g){b=12;break}c[i>>2]=e+1}if((b|0)==12){a[c[k>>2]>>0]=a[5512+(e<<3)+4>>0]|0;c[j>>2]=1;k=c[j>>2]|0;l=m;return k|0}else if((b|0)==14){c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}}c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}function qD(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=e;c[i>>2]=f;if((d[c[h>>2]>>0]|0|0)==119){c[j>>2]=pt(c[g>>2]|0,159,0,0,0)|0;if(!(c[j>>2]|0)){j=c[j>>2]|0;l=k;return j|0}b[(c[j>>2]|0)+32>>1]=c[i>>2];c[(c[j>>2]|0)+12>>2]=c[h>>2];j=c[j>>2]|0;l=k;return j|0}else{if((d[c[h>>2]>>0]|0|0)==158)c[h>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2];c[j>>2]=Ww(c[c[g>>2]>>2]|0,c[h>>2]|0,0)|0;j=c[j>>2]|0;l=k;return j|0}return 0}function rD(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[k>>2]>>0]|0|0)==151?c[(c[k>>2]|0)+20>>2]|0:0)?(c[c[(c[k>>2]|0)+20>>2]>>2]|0)==2:0){c[o>>2]=ox(c[j>>2]|0,c[(c[k>>2]|0)+8>>2]|0,2,1,0)|0;if(c[o>>2]|0?(e[(c[o>>2]|0)+2>>1]|0)&4|0:0){n=c[n>>2]|0;k=c[(c[o>>2]|0)+4>>2]|0;a[n>>0]=a[k>>0]|0;a[n+1>>0]=a[k+1>>0]|0;a[n+2>>0]=a[k+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[i>>2]=1;o=c[i>>2]|0;l=p;return o|0}c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}function sD(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+20|0;k=n+4|0;m=n;c[h>>2]=b;c[i>>2]=d;a[j>>0]=f;if(c[h>>2]|0?(c[k>>2]=(c[(c[h>>2]|0)+116>>2]|0)+(((c[i>>2]|0)-1|0)*40|0),0==((e[(c[k>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Dp(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){$i(c[m>>2]|0,c[k>>2]|0)|0;Yv(c[m>>2]|0,a[j>>0]|0,1)}c[g>>2]=c[m>>2];m=c[g>>2]|0;l=n;return m|0}c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}function tD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+196>>2]=-1;l=f;return}else{d=(c[d>>2]|0)+196|0;c[d>>2]=c[d>>2]|1<<(c[e>>2]|0)-1;l=f;return}}function uD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(uy(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;l=e;return}function vD(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;a=c[g>>2]|0;if((e[(c[f>>2]|0)+12>>1]|0|0)!=1024){c[d>>2]=(a|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;l=h;return g|0}if((a|0)<(c[(c[(c[f>>2]|0)+28>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+28>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;l=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}return 0}function wD(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;p=s+28|0;q=s+24|0;i=s+20|0;j=s+16|0;r=s+32|0;k=s+12|0;m=s+8|0;n=s+4|0;o=s;c[p>>2]=d;c[q>>2]=f;c[i>>2]=g;c[j>>2]=h;b[r>>1]=e[(c[i>>2]|0)+12>>1]|0|(e[(c[j>>2]|0)+12>>1]|0);if(!((e[(c[i>>2]|0)+12>>1]|0)&62)){l=s;return}if(!((e[(c[j>>2]|0)+12>>1]|0)&62)){l=s;return}if(((e[r>>1]|0)&26|0)!=(e[r>>1]|0|0)?((e[r>>1]|0)&38|0)!=(e[r>>1]|0|0):0){l=s;return}if(Yw(c[(c[c[i>>2]>>2]|0)+12>>2]|0,c[(c[c[j>>2]>>2]|0)+12>>2]|0,-1)|0){l=s;return}if(Yw(c[(c[c[i>>2]>>2]|0)+16>>2]|0,c[(c[c[j>>2]>>2]|0)+16>>2]|0,-1)|0){l=s;return}do if((e[r>>1]|0)&(e[r>>1]|0)-1|0)if((e[r>>1]|0)&24|0){b[r>>1]=8;break}else{b[r>>1]=32;break}while(0);c[k>>2]=c[c[c[c[q>>2]>>2]>>2]>>2];c[m>>2]=Ww(c[k>>2]|0,c[c[i>>2]>>2]|0,0)|0;if(!(c[m>>2]|0)){l=s;return}c[n>>2]=37;while(1){d=c[n>>2]|0;if((e[r>>1]|0|0)==(2<<(c[n>>2]|0)-37|0))break;c[n>>2]=d+1}a[c[m>>2]>>0]=d;c[o>>2]=iD(c[q>>2]|0,c[m>>2]|0,3)|0;eD(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0);l=s;return}function xD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=l;l=l+48|0;j=h+36|0;k=h+32|0;i=h+28|0;g=h;c[j>>2]=b;c[k>>2]=e;c[i>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=208;c[g+24>>2]=c[k>>2];Kw(g,c[j>>2]|0)|0;if(c[i>>2]|0){k=g+20|0;k=a[k>>0]|0;k=k<<24>>24!=0;k=k^1;k=k&1;l=h;return k|0}k=g+20|0;a[k>>0]=(d[k>>0]|0)&-3;k=g+20|0;k=a[k>>0]|0;k=k<<24>>24!=0;k=k^1;k=k&1;l=h;return k|0}function yD(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<4)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[i>>2]=Wj(a,29580,k)|0;c[j>>2]=1555;h=c[f>>2]|0;j=c[j>>2]|0;k=c[g>>2]|0;m=c[i>>2]|0;Hy(h,j,k,m,-1,2);l=n;return}else{c[m>>2]=d;c[i>>2]=Wj(a,34647,m)|0;c[j>>2]=2579;h=c[f>>2]|0;j=c[j>>2]|0;k=c[g>>2]|0;m=c[i>>2]|0;Hy(h,j,k,m,-1,2);l=n;return}}function zD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;k=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288|0){a=c[f>>2]|0;if(!(c[g>>2]|0)){if(iw(a)|0)a=1;else a=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[k>>2]=a&1;n=c[k>>2]|0;l=m;return n|0}c[i>>2]=c[a+16>>2];while(1){a=c[f>>2]|0;if(!(c[i>>2]|0))break;if(yB(a,c[i>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){j=9;break}c[i>>2]=c[(c[i>>2]|0)+4>>2]}if((j|0)==9){c[k>>2]=1;n=c[k>>2]|0;l=m;return n|0}c[i>>2]=iw(a)|0;while(1){if(!(c[i>>2]|0))break a;if(BB(c[f>>2]|0,c[i>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[i>>2]=c[(c[i>>2]|0)+12>>2]}c[k>>2]=1;n=c[k>>2]|0;l=m;return n|0}while(0);c[k>>2]=0;n=c[k>>2]|0;l=m;return n|0}function AD(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;l=e;return}function BD(e,f,g,h,i,j,k,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+64|0;q=K+48|0;r=K+44|0;s=K+40|0;t=K+36|0;u=K+32|0;v=K+28|0;w=K+52|0;x=K+58|0;y=K+57|0;z=K+56|0;A=K+24|0;B=K+20|0;C=K+16|0;D=K+12|0;E=K+55|0;F=K+8|0;G=K+4|0;H=K;I=K+54|0;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=i;c[v>>2]=j;b[w>>1]=k;a[x>>0]=m;a[y>>0]=n;a[z>>0]=o;c[A>>2]=p;c[B>>2]=c[(c[q>>2]|0)+8>>2];c[C>>2]=0;c[D>>2]=ky(c[B>>2]|0)|0;a[E>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?33:30;if(!(d[z>>0]|0))zy(c[B>>2]|0,d[E>>0]|0,c[t>>2]|0,c[D>>2]|0,c[v>>2]|0,b[w>>1]|0)|0;o=(zD(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(o|(c[s>>2]|0)!=0){c[F>>2]=DD(c[q>>2]|0,c[s>>2]|0,0,0,3,c[r>>2]|0,d[y>>0]|0)|0;o=ED(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|o;c[C>>2]=(c[(c[q>>2]|0)+44>>2]|0)+1;o=(c[q>>2]|0)+44|0;c[o>>2]=(c[o>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));Qu(c[B>>2]|0,84,c[v>>2]|0,c[C>>2]|0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[G>>2]|0)<=31?c[F>>2]&1<>2]|0:0)J=9}else J=9;if((J|0)==9){J=0;Ty(c[B>>2]|0,c[r>>2]|0,c[t>>2]|0,c[G>>2]|0,(c[C>>2]|0)+(c[G>>2]|0)+1|0)}c[G>>2]=(c[G>>2]|0)+1}c[H>>2]=Pv(c[B>>2]|0)|0;pB(c[q>>2]|0,c[s>>2]|0,109,0,1,c[r>>2]|0,c[C>>2]|0,d[y>>0]|0,c[D>>2]|0);J=c[H>>2]|0;if((J|0)<(Pv(c[B>>2]|0)|0))zy(c[B>>2]|0,d[E>>0]|0,c[t>>2]|0,c[D>>2]|0,c[v>>2]|0,b[w>>1]|0)|0;uB(c[q>>2]|0,c[r>>2]|0,c[C>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){m=c[q>>2]|0;k=c[r>>2]|0;j=c[C>>2]|0;FD(m,k,0,j,0,0);j=c[q>>2]|0;k=c[s>>2]|0;m=c[r>>2]|0;n=c[C>>2]|0;J=a[y>>0]|0;J=J&255;o=c[D>>2]|0;pB(j,k,109,0,2,m,n,J,o);o=c[B>>2]|0;J=c[D>>2]|0;oy(o,J);l=K;return}a[I>>0]=0;CD(c[q>>2]|0,c[r>>2]|0,c[t>>2]|0,c[u>>2]|0,0,c[A>>2]|0);Qu(c[B>>2]|0,117,c[t>>2]|0,d[x>>0]|0?1:0)|0;Vu(c[B>>2]|0,-1,c[r>>2]|0,-20);if(d[z>>0]|0)jy(c[B>>2]|0,4);if((c[A>>2]|0)>=0)ey(c[B>>2]|0,117,c[A>>2]|0)|0;if((d[z>>0]|0)==2)a[I>>0]=d[I>>0]|2;jy(c[B>>2]|0,a[I>>0]|0);m=c[q>>2]|0;k=c[r>>2]|0;j=c[C>>2]|0;FD(m,k,0,j,0,0);j=c[q>>2]|0;k=c[s>>2]|0;m=c[r>>2]|0;n=c[C>>2]|0;J=a[y>>0]|0;J=J&255;o=c[D>>2]|0;pB(j,k,109,0,2,m,n,J,o);o=c[B>>2]|0;J=c[D>>2]|0;oy(o,J);l=K;return}function CD(a,e,f,g,h,i){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;u=y+48|0;j=y+44|0;v=y+40|0;w=y+36|0;k=y+32|0;m=y+28|0;n=y+24|0;o=y+20|0;p=y+16|0;q=y+12|0;r=y+8|0;s=y+4|0;t=y;c[u>>2]=a;c[j>>2]=e;c[v>>2]=f;c[w>>2]=g;c[k>>2]=h;c[m>>2]=i;c[o>>2]=-1;c[r>>2]=0;c[s>>2]=c[(c[u>>2]|0)+8>>2];if(!((d[(c[j>>2]|0)+42>>0]|0)&32))a=0;else a=uv(c[j>>2]|0)|0;c[t>>2]=a;c[n>>2]=0;c[q>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if(!(c[k>>2]|0?!(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0):0))x=7;if(((x|0)==7?(x=0,(c[q>>2]|0)!=(c[t>>2]|0)):0)?((c[w>>2]|0)+(c[n>>2]|0)|0)!=(c[m>>2]|0):0){c[o>>2]=Ey(c[u>>2]|0,c[q>>2]|0,c[v>>2]|0,0,1,p,c[r>>2]|0,c[o>>2]|0)|0;a=c[q>>2]|0;if((d[(c[q>>2]|0)+55>>0]|0)>>>3&1|0)a=b[a+50>>1]|0;else a=b[a+52>>1]|0;Ru(c[s>>2]|0,127,(c[w>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0,a&65535)|0;Fy(c[u>>2]|0,c[p>>2]|0);c[r>>2]=c[q>>2]}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=c[(c[q>>2]|0)+20>>2]}l=y;return}function DD(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;s=u+40|0;v=u+36|0;t=u+32|0;j=u+28|0;k=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;p=u+8|0;q=u+4|0;r=u;c[s>>2]=a;c[v>>2]=b;c[t>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=c[t>>2]|0?110:109;c[p>>2]=0;c[q>>2]=c[v>>2];while(1){if(!(c[q>>2]|0))break;if((((d[(c[q>>2]|0)+8>>0]|0|0)==(c[o>>2]|0)?c[k>>2]&(d[(c[q>>2]|0)+9>>0]|0)|0:0)?oE(c[(c[q>>2]|0)+16>>2]|0,c[t>>2]|0)|0:0)?(c[r>>2]=ID(c[s>>2]|0,c[q>>2]|0,c[m>>2]|0,c[n>>2]|0)|0,c[r>>2]|0):0)c[p>>2]=c[p>>2]|c[(c[r>>2]|0)+16+(c[j>>2]<<2)>>2];c[q>>2]=c[(c[q>>2]|0)+32>>2]}l=u;return c[p>>2]|0}function ED(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){k=c[h>>2]|0;l=m;return k|0}c[i>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[i>>2]|0))break;c[j>>2]=0;while(1){a=c[i>>2]|0;if((c[j>>2]|0)>=(c[(c[i>>2]|0)+20>>2]|0))break;if((c[a+36+(c[j>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[j>>2]<<3)>>2];c[h>>2]=c[h>>2]|a;c[j>>2]=(c[j>>2]|0)+1}c[i>>2]=c[a+4>>2]}c[i>>2]=iw(c[g>>2]|0)|0;while(1){if(!(c[i>>2]|0))break;c[k>>2]=0;BA(c[f>>2]|0,c[g>>2]|0,c[i>>2]|0,k,0)|0;a:do if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break a;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[j>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[j>>2]<<1)>>1];c[h>>2]=c[h>>2]|a;c[j>>2]=(c[j>>2]|0)+1}}while(0);c[i>>2]=c[(c[i>>2]|0)+12>>2]}k=c[h>>2]|0;l=m;return k|0}function FD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[i>>2]=g;if(!(c[(c[c[m>>2]>>2]|0)+24>>2]&524288)){l=r;return}c[j>>2]=iw(c[n>>2]|0)|0;while(1){if(!(c[j>>2]|0))break;if(!((c[h>>2]|0)!=0?!(BB(c[n>>2]|0,c[j>>2]|0,c[h>>2]|0,c[i>>2]|0)|0):0))q=6;if((q|0)==6?(q=0,c[k>>2]=GD(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[o>>2]|0)|0,c[k>>2]|0):0)HD(c[m>>2]|0,c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,2,0);c[j>>2]=c[(c[j>>2]|0)+12>>2]}l=r;return}function GD(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+144|0;I=N+136|0;D=N+132|0;J=N+128|0;K=N+124|0;L=N+120|0;E=N+116|0;i=N+112|0;F=N+108|0;G=N+104|0;j=N+100|0;k=N+96|0;m=N+92|0;n=N+88|0;H=N+84|0;o=N+80|0;p=N+76|0;q=N+72|0;r=N+68|0;s=N+64|0;t=N+56|0;u=N+48|0;v=N+40|0;w=N+32|0;x=N+28|0;y=N+24|0;z=N+20|0;A=N+16|0;B=N+8|0;C=N;c[D>>2]=e;c[J>>2]=f;c[K>>2]=g;c[L>>2]=h;c[E>>2]=c[c[D>>2]>>2];c[G>>2]=(c[L>>2]|0)!=0&1;c[i>>2]=d[(c[K>>2]|0)+25+(c[G>>2]|0)>>0];if((c[i>>2]|0)==6?c[(c[E>>2]|0)+24>>2]&33554432|0:0){c[I>>2]=0;M=c[I>>2]|0;l=N;return M|0}c[F>>2]=c[(c[K>>2]|0)+28+(c[G>>2]<<2)>>2];if(!((c[i>>2]|0)==0|(c[F>>2]|0)!=0)){c[m>>2]=0;c[n>>2]=0;c[H>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[s>>2]=0;if(BA(c[D>>2]|0,c[J>>2]|0,c[K>>2]|0,m,n)|0){c[I>>2]=0;M=c[I>>2]|0;l=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[K>>2]|0)+20>>2]|0))break;c[t>>2]=c[1386];c[t+4>>2]=c[1387];c[u>>2]=c[1388];c[u+4>>2]=c[1389];if(c[n>>2]|0)e=(c[n>>2]|0)+(c[r>>2]<<2)|0;else e=(c[K>>2]|0)+36|0;c[x>>2]=c[e>>2];if(c[m>>2]|0)e=b[(c[(c[m>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else e=b[(c[J>>2]|0)+32>>1]|0;jx(w,c[(c[(c[J>>2]|0)+4>>2]|0)+(e<<16>>16<<4)>>2]|0);jx(v,c[(c[(c[c[K>>2]>>2]|0)+4>>2]|0)+(c[x>>2]<<4)>>2]|0);g=c[D>>2]|0;f=c[D>>2]|0;h=Wt(c[E>>2]|0,55,t,0)|0;h=pt(f,122,h,Wt(c[E>>2]|0,55,w,0)|0,0)|0;c[y>>2]=pt(g,37,h,Wt(c[E>>2]|0,55,v,0)|0,0)|0;c[o>>2]=Mx(c[E>>2]|0,c[o>>2]|0,c[y>>2]|0)|0;if(c[L>>2]|0){e=c[D>>2]|0;g=c[D>>2]|0;f=Wt(c[E>>2]|0,55,t,0)|0;f=pt(g,122,f,Wt(c[E>>2]|0,55,w,0)|0,0)|0;g=c[D>>2]|0;h=Wt(c[E>>2]|0,55,u,0)|0;c[y>>2]=pt(e,29,f,pt(g,122,h,Wt(c[E>>2]|0,55,w,0)|0,0)|0,0)|0;c[s>>2]=Mx(c[E>>2]|0,c[s>>2]|0,c[y>>2]|0)|0}if((c[i>>2]|0)!=6?(c[i>>2]|0)!=9|(c[L>>2]|0)!=0:0){do if((c[i>>2]|0)!=9){if((c[i>>2]|0)!=8){c[z>>2]=Wt(c[E>>2]|0,101,0,0)|0;break}c[A>>2]=c[(c[(c[c[K>>2]>>2]|0)+4>>2]|0)+(c[x>>2]<<4)+4>>2];e=c[E>>2]|0;if(c[A>>2]|0){c[z>>2]=Ww(e,c[A>>2]|0,0)|0;break}else{c[z>>2]=Wt(e,101,0,0)|0;break}}else{g=c[D>>2]|0;h=Wt(c[E>>2]|0,55,u,0)|0;c[z>>2]=pt(g,122,h,Wt(c[E>>2]|0,55,w,0)|0,0)|0}while(0);c[p>>2]=Et(c[D>>2]|0,c[p>>2]|0,c[z>>2]|0)|0;Ft(c[D>>2]|0,c[p>>2]|0,v,0)}c[r>>2]=(c[r>>2]|0)+1}Xd(c[E>>2]|0,c[n>>2]|0);c[j>>2]=c[c[c[K>>2]>>2]>>2];c[k>>2]=md(c[j>>2]|0)|0;if((c[i>>2]|0)==6){c[B>>2]=c[j>>2];c[B+4>>2]=c[k>>2];c[C>>2]=Ht(c[E>>2]|0,83,25102)|0;if(c[C>>2]|0)a[(c[C>>2]|0)+1>>0]=2;z=c[D>>2]|0;A=Et(c[D>>2]|0,0,c[C>>2]|0)|0;C=Lt(c[E>>2]|0,0,B,0)|0;c[q>>2]=Dt(z,A,C,c[o>>2]|0,0,0,0,0,0,0)|0;c[o>>2]=0}C=(c[E>>2]|0)+256|0;c[C>>2]=(c[C>>2]|0)+1;c[F>>2]=_l(c[E>>2]|0,72+(c[k>>2]|0)+1|0,0)|0;if(c[F>>2]|0?(C=(c[F>>2]|0)+36|0,c[(c[F>>2]|0)+28>>2]=C,c[H>>2]=C,c[(c[H>>2]|0)+12>>2]=(c[H>>2]|0)+36,h0(c[(c[H>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0,C=Ww(c[E>>2]|0,c[o>>2]|0,1)|0,c[(c[H>>2]|0)+16>>2]=C,C=cx(c[E>>2]|0,c[p>>2]|0,1)|0,c[(c[H>>2]|0)+20>>2]=C,C=kw(c[E>>2]|0,c[q>>2]|0,1)|0,c[(c[H>>2]|0)+8>>2]=C,c[s>>2]|0):0){c[s>>2]=pt(c[D>>2]|0,19,c[s>>2]|0,0,0)|0;D=Ww(c[E>>2]|0,c[s>>2]|0,1)|0;c[(c[F>>2]|0)+12>>2]=D}D=(c[E>>2]|0)+256|0;c[D>>2]=(c[D>>2]|0)+-1;Ok(c[E>>2]|0,c[o>>2]|0);Ok(c[E>>2]|0,c[s>>2]|0);Kk(c[E>>2]|0,c[p>>2]|0);Jk(c[E>>2]|0,c[q>>2]|0);if((d[(c[E>>2]|0)+69>>0]|0|0)==1){Uk(c[E>>2]|0,c[F>>2]|0);c[I>>2]=0;M=c[I>>2]|0;l=N;return M|0}switch(c[i>>2]|0){case 6:{e=119;f=c[H>>2]|0;break}case 9:{if(c[L>>2]|0)M=41;else{e=109;f=c[H>>2]|0}break}default:M=41}if((M|0)==41){e=110;f=c[H>>2]|0}a[f>>0]=e;c[(c[H>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+20>>2]=c[(c[J>>2]|0)+64>>2];c[(c[F>>2]|0)+24>>2]=c[(c[J>>2]|0)+64>>2];c[(c[K>>2]|0)+28+(c[G>>2]<<2)>>2]=c[F>>2];a[(c[F>>2]|0)+8>>0]=c[L>>2]|0?110:109}c[I>>2]=c[F>>2];M=c[I>>2]|0;l=N;return M|0}function HD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+48|0;n=p+32|0;h=p+28|0;r=p+24|0;o=p+20|0;q=p+16|0;i=p+12|0;j=p+8|0;k=p+4|0;m=p;c[n>>2]=a;c[h>>2]=b;c[r>>2]=d;c[o>>2]=e;c[q>>2]=f;c[i>>2]=g;c[j>>2]=Lu(c[n>>2]|0)|0;c[k>>2]=ID(c[n>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[k>>2]|0)){l=p;return}if(c[c[h>>2]>>2]|0)a=0==(c[(c[c[n>>2]>>2]|0)+24>>2]&262144|0);else a=0;c[m>>2]=a&1;h=c[j>>2]|0;o=c[o>>2]|0;q=c[i>>2]|0;n=(c[n>>2]|0)+44|0;r=(c[n>>2]|0)+1|0;c[n>>2]=r;Uu(h,64,o,q,r,c[(c[k>>2]|0)+8>>2]|0,-18)|0;jy(c[j>>2]|0,c[m>>2]&255);l=p;return}function ID(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;a=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[j>>2]=a;c[k>>2]=c[(c[j>>2]|0)+468>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[i>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){k=c[k>>2]|0;l=m;return k|0}c[k>>2]=JD(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}function JD(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+96|0;w=x;q=x+84|0;r=x+80|0;s=x+76|0;t=x+72|0;u=x+68|0;v=x+64|0;h=x+60|0;i=x+56|0;j=x+52|0;k=x+48|0;m=x+16|0;n=x+12|0;o=x+8|0;p=x+4|0;c[r>>2]=b;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;b=c[r>>2]|0;if(c[(c[r>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[v>>2]=b;c[h>>2]=c[c[r>>2]>>2];c[j>>2]=0;c[n>>2]=0;c[p>>2]=0;c[i>>2]=_l(c[h>>2]|0,24,0)|0;if(!(c[i>>2]|0)){c[q>>2]=0;w=c[q>>2]|0;l=x;return w|0}c[(c[i>>2]|0)+4>>2]=c[(c[v>>2]|0)+468>>2];c[(c[v>>2]|0)+468>>2]=c[i>>2];g=_l(c[h>>2]|0,24,0)|0;c[n>>2]=g;c[(c[i>>2]|0)+8>>2]=g;if(!(c[n>>2]|0)){c[q>>2]=0;w=c[q>>2]|0;l=x;return w|0}KD(c[(c[v>>2]|0)+8>>2]|0,c[n>>2]|0);c[c[i>>2]>>2]=c[s>>2];c[(c[i>>2]|0)+12>>2]=c[u>>2];c[(c[i>>2]|0)+16>>2]=-1;c[(c[i>>2]|0)+16+4>>2]=-1;c[o>>2]=_l(c[h>>2]|0,480,0)|0;if(!(c[o>>2]|0)){c[q>>2]=0;w=c[q>>2]|0;l=x;return w|0};c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;c[m>>2]=c[o>>2];c[c[o>>2]>>2]=c[h>>2];c[(c[o>>2]|0)+128>>2]=c[t>>2];c[(c[o>>2]|0)+124>>2]=c[v>>2];c[(c[o>>2]|0)+448>>2]=c[c[s>>2]>>2];a[(c[o>>2]|0)+148>>0]=a[(c[s>>2]|0)+8>>0]|0;c[(c[o>>2]|0)+136>>2]=c[(c[r>>2]|0)+136>>2];c[k>>2]=Lu(c[o>>2]|0)|0;if(c[k>>2]|0){g=c[k>>2]|0;t=c[h>>2]|0;c[w>>2]=c[c[s>>2]>>2];Vu(g,-1,Wj(t,34505,w)|0,-1);if(c[(c[s>>2]|0)+12>>2]|0){c[j>>2]=Ww(c[h>>2]|0,c[(c[s>>2]|0)+12>>2]|0,0)|0;if(0==(Ow(m,c[j>>2]|0)|0)?(d[(c[h>>2]|0)+69>>0]|0|0)==0:0){c[p>>2]=ky(c[k>>2]|0)|0;nz(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,16)}Ok(c[h>>2]|0,c[j>>2]|0)}LD(c[o>>2]|0,c[(c[s>>2]|0)+28>>2]|0,c[u>>2]|0)|0;if(c[p>>2]|0)oy(c[k>>2]|0,c[p>>2]|0);Nu(c[k>>2]|0,75)|0;MD(c[r>>2]|0,c[o>>2]|0);if(!(d[(c[h>>2]|0)+69>>0]|0)){w=ND(c[k>>2]|0,(c[n>>2]|0)+4|0,(c[v>>2]|0)+108|0)|0;c[c[n>>2]>>2]=w}c[(c[n>>2]|0)+8>>2]=c[(c[o>>2]|0)+44>>2];c[(c[n>>2]|0)+12>>2]=c[(c[o>>2]|0)+40>>2];c[(c[n>>2]|0)+16>>2]=c[s>>2];c[(c[i>>2]|0)+16>>2]=c[(c[o>>2]|0)+140>>2];c[(c[i>>2]|0)+16+4>>2]=c[(c[o>>2]|0)+144>>2];Nr(c[k>>2]|0)}ql(c[o>>2]|0);Xd(c[h>>2]|0,c[o>>2]|0);c[q>>2]=c[i>>2];w=c[q>>2]|0;l=x;return w|0}function KD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+20>>2]=c[(c[e>>2]|0)+200>>2];c[(c[e>>2]|0)+200>>2]=c[f>>2];l=d;return}function LD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+64|0;h=o+52|0;p=o+48|0;i=o+44|0;j=o+40|0;k=o+36|0;m=o+32|0;n=o+8|0;g=o;c[h>>2]=b;c[p>>2]=e;c[i>>2]=f;c[k>>2]=c[(c[h>>2]|0)+8>>2];c[m>>2]=c[c[h>>2]>>2];c[j>>2]=c[p>>2];while(1){if(!(c[j>>2]|0))break;if((c[i>>2]|0)==10)b=a[(c[j>>2]|0)+1>>0]|0;else b=c[i>>2]&255;a[(c[h>>2]|0)+149>>0]=b;switch(d[c[j>>2]>>0]|0|0){case 110:{e=c[h>>2]|0;f=nE(c[h>>2]|0,c[j>>2]|0)|0;p=cx(c[m>>2]|0,c[(c[j>>2]|0)+20>>2]|0,0)|0;Rt(e,f,p,Ww(c[m>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0,d[(c[h>>2]|0)+149>>0]|0);break}case 108:{e=c[h>>2]|0;f=nE(c[h>>2]|0,c[j>>2]|0)|0;p=kw(c[m>>2]|0,c[(c[j>>2]|0)+8>>2]|0,0)|0;Tt(e,f,p,Yx(c[m>>2]|0,c[(c[j>>2]|0)+24>>2]|0)|0,d[(c[h>>2]|0)+149>>0]|0);break}case 109:{p=c[h>>2]|0;Pt(p,nE(c[h>>2]|0,c[j>>2]|0)|0,Ww(c[m>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0);break}default:{c[g>>2]=kw(c[m>>2]|0,c[(c[j>>2]|0)+8>>2]|0,0)|0;Az(n,4,0);At(c[h>>2]|0,c[g>>2]|0,n)|0;Jk(c[m>>2]|0,c[g>>2]|0)}}if((d[c[j>>2]>>0]|0|0)!=119)Nu(c[k>>2]|0,118)|0;c[j>>2]=c[(c[j>>2]|0)+28>>2]}l=o;return 0}function MD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[e>>2]|0;if(!(c[(c[d>>2]|0)+36>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[a+4>>2];c[(c[d>>2]|0)+36>>2]=c[(c[e>>2]|0)+36>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];l=f;return}else{Xd(c[a>>2]|0,c[(c[e>>2]|0)+4>>2]|0);l=f;return}}function ND(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;h=f+8|0;i=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[e>>2]=c[(c[g>>2]|0)+88>>2];OD(c[g>>2]|0,c[i>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+136>>2];c[(c[g>>2]|0)+88>>2]=0;l=f;return c[e>>2]|0}function OD(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[g>>2]=e;c[h>>2]=f;c[i>>2]=c[c[h>>2]>>2];c[k>>2]=c[(c[g>>2]|0)+12>>2];c[m>>2]=c[(c[k>>2]|0)+76>>2];f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129|128;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257;c[j>>2]=(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0);while(1){if((d[c[j>>2]>>0]|0|0)<=71){switch(d[c[j>>2]>>0]|0|0){case 2:{if(c[(c[j>>2]|0)+8>>2]|0){o=(c[g>>2]|0)+144|0;b[o>>1]=b[o>>1]&-129;o=6}else o=6;break}case 0:case 1:{o=6;break}case 9:case 10:case 8:{f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256;break}case 12:{if((c[(c[j>>2]|0)+8>>2]|0)>(c[i>>2]|0))c[i>>2]=c[(c[j>>2]|0)+8>>2];break}case 11:{c[n>>2]=c[(c[j>>2]|0)+-20+4>>2];if((c[n>>2]|0)>(c[i>>2]|0))c[i>>2]=c[n>>2];break}case 3:case 5:case 7:{c[(c[j>>2]|0)+16>>2]=209;a[(c[j>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[j>>2]|0)+16>>2]=210;a[(c[j>>2]|0)+1>>0]=-19;break}default:{}}if((o|0)==6){o=0;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256}if((d[32756+(d[c[j>>2]>>0]|0)>>0]|0)&1|0?(c[(c[j>>2]|0)+8>>2]|0)<0:0)c[(c[j>>2]|0)+8>>2]=c[(c[m>>2]|0)+(-1-(c[(c[j>>2]|0)+8>>2]|0)<<2)>>2]}if((c[j>>2]|0)==(c[(c[g>>2]|0)+88>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-20}Xd(c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+76>>2]|0);c[(c[k>>2]|0)+76>>2]=0;c[(c[k>>2]|0)+72>>2]=0;c[c[h>>2]>>2]=c[i>>2];l=p;return}function PD(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[i>>2]=f;c[j>>2]=g;b[(c[i>>2]|0)+16+18>>1]=0;f=(c[i>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[j>>2]>>2]=0;f=c[i>>2]|0;if((d[(c[i>>2]|0)+66>>0]|0)!=1){c[h>>2]=lE(f,c[j>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}c[k>>2]=c[f+120+(a[(c[i>>2]|0)+68>>0]<<2)>>2];f=(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[k>>2]|0)+18>>1]|0)){k=(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)|0;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;c[h>>2]=lE(c[i>>2]|0,c[j>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}if(a[(c[k>>2]|0)+4>>0]|0){c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}else{c[h>>2]=mE(c[i>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}return 0}function QD(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;i=k+4|0;j=k;c[i>>2]=f;c[j>>2]=g;c[c[j>>2]>>2]=0;g=(c[i>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[i>>2]|0)+16+18>>1]=0;if(((d[(c[i>>2]|0)+66>>0]|0)==1?e[(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)>>1]|0:0)?d[(c[(c[i>>2]|0)+120+(a[(c[i>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0:0){j=(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)|0;b[j>>1]=(b[j>>1]|0)+-1<<16>>16;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}c[h>>2]=RD(c[i>>2]|0,c[j>>2]|0)|0;j=c[h>>2]|0;l=k;return j|0}function RD(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;h=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=SD(c[j>>2]|0)|0;else f=0;c[m>>2]=f;if(c[m>>2]|0){c[i>>2]=c[m>>2];o=c[i>>2]|0;l=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}if(c[(c[j>>2]|0)+60>>2]|0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)<0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}}c[n>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];do if(a[(c[n>>2]|0)+4>>0]|0){while(1){f=c[j>>2]|0;if(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[j>>2]|0;if(!(a[f+68>>0]|0)){o=17;break}VD(g)}if((o|0)==17){a[g+66>>0]=0;c[c[k>>2]>>2]=1;c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}o=f+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[n>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];if(d[(c[n>>2]|0)+2>>0]|0?(a[(c[n>>2]|0)+4>>0]|0)==0:0){c[m>>2]=QD(c[j>>2]|0,c[k>>2]|0)|0;break}c[m>>2]=0}else{c[h>>2]=e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1];o=c[j>>2]|0;c[m>>2]=TD(o,Vl((c[(c[n>>2]|0)+56>>2]|0)+(e[(c[n>>2]|0)+20>>1]&(d[(c[(c[n>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[n>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[m>>2]|0)){c[m>>2]=UD(c[j>>2]|0)|0;break}c[i>>2]=c[m>>2];o=c[i>>2]|0;l=p;return o|0}while(0);c[i>>2]=c[m>>2];o=c[i>>2]|0;l=p;return o|0}function SD(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;l=i;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=XD(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(_d(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],c[(c[f>>2]|0)+60>>2]|0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;l=i;return h|0}function TD(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=kn(63009)|0;j=c[g>>2]|0;l=k;return j|0}else{b[(c[h>>2]|0)+16+18>>1]=0;f=(c[h>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;f=(c[h>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=WD(c[j>>2]|0,c[i>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;j=c[g>>2]|0;l=k;return j|0}return 0}function UD(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;i=n;c[k>>2]=f;c[m>>2]=0;c[i>>2]=0;while(1){f=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2]|0;c[i>>2]=f;g=c[i>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=Vl((c[g+56>>2]|0)+((d[(c[i>>2]|0)+5>>0]|0)+8)|0)|0;b[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]=b[(c[i>>2]|0)+18>>1]|0;c[m>>2]=TD(c[k>>2]|0,c[h>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[j>>2]=c[m>>2];m=c[j>>2]|0;l=n;return m|0}else if((f|0)==5){b[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[j>>2]=0;m=c[j>>2]|0;l=n;return m|0}return 0}function VD(e){e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=e;b[(c[h>>2]|0)+16+18>>1]=0;g=(c[h>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-7;g=(c[h>>2]|0)+120|0;h=(c[h>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;nq(c[g+(e<<24>>24<<2)>>2]|0);l=f;return}function WD(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;n=s+28|0;o=s+24|0;p=s+20|0;q=s+16|0;r=s+12|0;j=s+8|0;k=s+4|0;m=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[j>>2]=i;i=c[p>>2]|0;a:do if(i>>>0<=(Rn(c[o>>2]|0)|0)>>>0){c[k>>2]=gn(c[c[o>>2]>>2]|0,c[p>>2]|0,m,c[j>>2]|0)|0;if(!(c[k>>2]|0)){i=Ln(c[m>>2]|0)|0;c[c[q>>2]>>2]=i;if((d[c[c[q>>2]>>2]>>0]|0|0)==0?(mq(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0)|0,c[k>>2]=qp(c[c[q>>2]>>2]|0)|0,c[k>>2]|0):0){cq(c[c[q>>2]>>2]|0);break}do if(c[r>>2]|0){if((e[(c[c[q>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[q>>2]>>2]|0)+2>>0]|0|0)==(d[(c[r>>2]|0)+69>>0]|0|0):0)break;c[k>>2]=kn(60266)|0;cq(c[c[q>>2]>>2]|0);break a}while(0);c[n>>2]=0;r=c[n>>2]|0;l=s;return r|0}}else c[k>>2]=kn(60244)|0;while(0);if(c[r>>2]|0){r=(c[r>>2]|0)+68|0;a[r>>0]=(a[r>>0]|0)+-1<<24>>24}c[n>>2]=c[k>>2];r=c[n>>2]|0;l=s;return r|0}function XD(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+432|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s;i=s+24|0;j=s+20|0;k=s+16|0;m=s+12|0;n=s+8|0;c[p>>2]=a;c[q>>2]=b;b=r;c[b>>2]=d;c[b+4>>2]=f;c[i>>2]=g;c[j>>2]=h;c[n>>2]=0;if(c[q>>2]|0){c[m>>2]=YD(c[(c[p>>2]|0)+72>>2]|0,s+40|0,384,n)|0;if(!(c[m>>2]|0)){c[o>>2]=7;r=c[o>>2]|0;l=s;return r|0}ZD(c[(c[p>>2]|0)+72>>2]|0,c[r>>2]|0,c[q>>2]|0,c[m>>2]|0);if(!(e[(c[m>>2]|0)+8>>1]|0)){Xd(c[(c[(c[p>>2]|0)+72>>2]|0)+12>>2]|0,c[n>>2]|0);c[o>>2]=kn(59021)|0;r=c[o>>2]|0;l=s;return r|0}}else c[m>>2]=0;c[k>>2]=_D(c[p>>2]|0,c[m>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;if(c[n>>2]|0)Xd(c[(c[(c[p>>2]|0)+72>>2]|0)+12>>2]|0,c[n>>2]|0);c[o>>2]=c[k>>2];r=c[o>>2]|0;l=s;return r|0}function YD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;q=p+16|0;n=p+12|0;o=p+8|0;h=p+4|0;i=p;c[k>>2]=a;c[m>>2]=d;c[q>>2]=f;c[n>>2]=g;c[h>>2]=8-(c[m>>2]&7)&7;c[i>>2]=16+(((e[(c[k>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[i>>2]|0)>((c[q>>2]|0)+(c[h>>2]|0)|0)){q=c[i>>2]|0;c[o>>2]=Cd(c[(c[k>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[n>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[j>>2]=0;q=c[j>>2]|0;l=p;return q|0}}else{c[o>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[c[n>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[k>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[k>>2]|0)+6>>1]|0)+1;c[j>>2]=c[o>>2];q=c[j>>2]|0;l=p;return q|0}function ZD(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;o=u+36|0;p=u+32|0;v=u+28|0;t=u+24|0;q=u+20|0;r=u+16|0;j=u+12|0;s=u+40|0;k=u+8|0;m=u+4|0;n=u;c[o>>2]=f;c[p>>2]=g;c[v>>2]=h;c[t>>2]=i;c[q>>2]=c[v>>2];c[m>>2]=c[(c[t>>2]|0)+4>>2];a[(c[t>>2]|0)+10>>0]=0;f=c[q>>2]|0;if((d[c[q>>2]>>0]|0|0)<128){c[k>>2]=d[f>>0];f=1}else f=(fE(f,k)|0)&255;c[j>>2]=f&255;c[r>>2]=c[k>>2];b[s>>1]=0;while(1){if((c[j>>2]|0)>>>0>=(c[k>>2]|0)>>>0){f=11;break}if((c[r>>2]|0)>(c[p>>2]|0)){f=11;break}f=(c[q>>2]|0)+(c[j>>2]|0)|0;if((d[(c[q>>2]|0)+(c[j>>2]|0)>>0]|0|0)<128){c[n>>2]=d[f>>0];f=1}else f=(fE(f,n)|0)&255;c[j>>2]=(c[j>>2]|0)+(f&255);a[(c[m>>2]|0)+10>>0]=a[(c[o>>2]|0)+4>>0]|0;c[(c[m>>2]|0)+32>>2]=c[(c[o>>2]|0)+12>>2];c[(c[m>>2]|0)+24>>2]=0;c[(c[m>>2]|0)+16>>2]=0;v=hE((c[q>>2]|0)+(c[r>>2]|0)|0,c[n>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+v;c[m>>2]=(c[m>>2]|0)+40;v=(b[s>>1]|0)+1<<16>>16;b[s>>1]=v;if((v&65535|0)>=(e[(c[t>>2]|0)+8>>1]|0|0)){f=11;break}}if((f|0)==11){b[(c[t>>2]|0)+8>>1]=b[s>>1]|0;l=u;return}}function _D(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+96|0;B=F+80|0;C=F+76|0;D=F+72|0;E=F+8|0;m=F+68|0;n=F+64|0;o=F+60|0;p=F+56|0;q=F+52|0;r=F+48|0;s=F+44|0;t=F+40|0;u=F+36|0;v=F+32|0;w=F+28|0;x=F;y=F+24|0;z=F+20|0;A=F+16|0;c[C>>2]=f;c[D>>2]=g;g=E;c[g>>2]=h;c[g+4>>2]=i;c[m>>2]=j;c[n>>2]=k;if(((c[D>>2]|0)==0?(d[(c[C>>2]|0)+66>>0]|0)==1:0)?d[(c[C>>2]|0)+64>>0]&2|0:0){j=(c[C>>2]|0)+16|0;k=E;if((c[j>>2]|0)==(c[k>>2]|0)?(c[j+4>>2]|0)==(c[k+4>>2]|0):0){c[c[n>>2]>>2]=0;c[B>>2]=0;E=c[B>>2]|0;l=F;return E|0}if(d[(c[C>>2]|0)+64>>0]&8|0?(j=(c[C>>2]|0)+16|0,h=c[j+4>>2]|0,k=E,i=c[k+4>>2]|0,(h|0)<(i|0)|((h|0)==(i|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)):0){c[c[n>>2]>>2]=-1;c[B>>2]=0;E=c[B>>2]|0;l=F;return E|0}}if(c[D>>2]|0){c[p>>2]=$D(c[D>>2]|0)|0;a[(c[D>>2]|0)+11>>0]=0}else c[p>>2]=0;c[o>>2]=aE(c[C>>2]|0)|0;if(c[o>>2]|0){c[B>>2]=c[o>>2];E=c[B>>2]|0;l=F;return E|0}if(!(d[(c[C>>2]|0)+66>>0]|0)){c[c[n>>2]>>2]=-1;c[B>>2]=0;E=c[B>>2]|0;l=F;return E|0}a:do{c[v>>2]=c[(c[C>>2]|0)+120+(a[(c[C>>2]|0)+68>>0]<<2)>>2];c[q>>2]=0;c[r>>2]=(e[(c[v>>2]|0)+18>>1]|0)-1;c[s>>2]=c[r>>2]>>1-(c[m>>2]|0);b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];b:do if(!(c[p>>2]|0)){while(1){c[w>>2]=(c[(c[v>>2]|0)+68>>2]|0)+(e[(c[v>>2]|0)+20>>1]&(d[(c[(c[v>>2]|0)+64>>2]|0)+(c[s>>2]<<1)>>0]<<8|d[(c[(c[v>>2]|0)+64>>2]|0)+(c[s>>2]<<1)+1>>0]));c:do if(a[(c[v>>2]|0)+3>>0]|0)while(1){k=c[w>>2]|0;c[w>>2]=k+1;if(128>(d[k>>0]|0))break c;if((c[w>>2]|0)>>>0>=(c[(c[v>>2]|0)+60>>2]|0)>>>0){h=20;break a}}while(0);yp(c[w>>2]|0,x)|0;j=x;h=c[j+4>>2]|0;k=E;i=c[k+4>>2]|0;if((h|0)<(i|0)|((h|0)==(i|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[q>>2]=(c[s>>2]|0)+1;if((c[q>>2]|0)>(c[r>>2]|0)){h=23;break}}else{j=x;h=c[j+4>>2]|0;k=E;i=c[k+4>>2]|0;if(!((h|0)>(i|0)|((h|0)==(i|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0))){h=27;break}c[r>>2]=(c[s>>2]|0)-1;if((c[q>>2]|0)>(c[r>>2]|0)){h=26;break}}c[s>>2]=(c[q>>2]|0)+(c[r>>2]|0)>>1}if((h|0)==23){c[t>>2]=-1;h=51;break}else if((h|0)==26){c[t>>2]=1;h=51;break}else if((h|0)==27){h=0;i=(c[C>>2]|0)+64|0;a[i>>0]=d[i>>0]|2;i=x;j=c[i+4>>2]|0;k=(c[C>>2]|0)+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];if(a[(c[v>>2]|0)+4>>0]|0){h=29;break a}c[q>>2]=c[s>>2];break}}else while(1){c[w>>2]=(c[(c[v>>2]|0)+68>>2]|0)+(e[(c[v>>2]|0)+20>>1]&(d[(c[(c[v>>2]|0)+64>>2]|0)+(c[s>>2]<<1)>>0]<<8|d[(c[(c[v>>2]|0)+64>>2]|0)+(c[s>>2]<<1)+1>>0]));c[y>>2]=d[c[w>>2]>>0];do if((c[y>>2]|0)<=(d[(c[v>>2]|0)+7>>0]|0))c[t>>2]=Bb[c[p>>2]&255](c[y>>2]|0,(c[w>>2]|0)+1|0,c[D>>2]|0)|0;else{if((d[(c[w>>2]|0)+1>>0]&128|0)==0?(k=((c[y>>2]&127)<<7)+(d[(c[w>>2]|0)+1>>0]|0)|0,c[y>>2]=k,(k|0)<=(e[(c[v>>2]|0)+10>>1]|0)):0){c[t>>2]=Bb[c[p>>2]&255](c[y>>2]|0,(c[w>>2]|0)+2|0,c[D>>2]|0)|0;break}c[A>>2]=(c[w>>2]|0)+(0-(d[(c[v>>2]|0)+6>>0]|0));Ib[c[(c[v>>2]|0)+80>>2]&255](c[v>>2]|0,c[A>>2]|0,(c[C>>2]|0)+16|0);c[y>>2]=c[(c[C>>2]|0)+16>>2];if((c[y>>2]|0)<2){h=37;break a}k=(c[y>>2]|0)+18|0;c[z>>2]=Fd(k,((k|0)<0)<<31>>31)|0;if(!(c[z>>2]|0)){h=39;break a}b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];c[o>>2]=zq(c[C>>2]|0,0,c[y>>2]|0,c[z>>2]|0,2)|0;if(c[o>>2]|0){h=41;break a}c[t>>2]=Bb[c[p>>2]&255](c[y>>2]|0,c[z>>2]|0,c[D>>2]|0)|0;_d(c[z>>2]|0)}while(0);if((c[t>>2]|0)<0)c[q>>2]=(c[s>>2]|0)+1;else{if((c[t>>2]|0)<=0){h=47;break a}c[r>>2]=(c[s>>2]|0)-1}if((c[q>>2]|0)>(c[r>>2]|0)){h=51;break b}c[s>>2]=(c[q>>2]|0)+(c[r>>2]|0)>>1}while(0);if((h|0)==51?(h=0,a[(c[v>>2]|0)+4>>0]|0):0){h=52;break}f=c[(c[v>>2]|0)+56>>2]|0;g=c[v>>2]|0;if((c[q>>2]|0)>=(e[(c[v>>2]|0)+18>>1]|0))c[u>>2]=Vl(f+((d[g+5>>0]|0)+8)|0)|0;else c[u>>2]=Vl(f+(e[g+20>>1]&(d[(c[(c[v>>2]|0)+64>>2]|0)+(c[q>>2]<<1)>>0]<<8|d[(c[(c[v>>2]|0)+64>>2]|0)+(c[q>>2]<<1)+1>>0]))|0)|0;b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[q>>2];c[o>>2]=TD(c[C>>2]|0,c[u>>2]|0)|0}while(!(c[o>>2]|0));if((h|0)==20){c[B>>2]=kn(63387)|0;E=c[B>>2]|0;l=F;return E|0}else if((h|0)==29){c[c[n>>2]>>2]=0;c[o>>2]=0}else if((h|0)==37)c[o>>2]=kn(63460)|0;else if((h|0)==39)c[o>>2]=7;else if((h|0)==41)_d(c[z>>2]|0);else if((h|0)==47){c[c[n>>2]>>2]=0;c[o>>2]=0;b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];if(a[(c[D>>2]|0)+11>>0]|0)c[o>>2]=11}else if((h|0)==52){b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];c[c[n>>2]>>2]=c[t>>2];c[o>>2]=0}b[(c[C>>2]|0)+16+18>>1]=0;E=(c[C>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[B>>2]=c[o>>2];E=c[B>>2]|0;l=F;return E|0}function $D(b){b=b|0;var d=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=b;if(((e[(c[c[g>>2]>>2]|0)+6>>1]|0)+(e[(c[c[g>>2]>>2]|0)+8>>1]|0)|0)<=13){c[h>>2]=e[(c[(c[g>>2]|0)+4>>2]|0)+8>>1];b=(c[g>>2]|0)+12|0;if(a[c[(c[c[g>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;b=-1;d=c[g>>2]|0}else{a[b>>0]=-1;b=1;d=c[g>>2]|0}a[d+13>>0]=b;if(c[h>>2]&4|0){c[f>>2]=158;h=c[f>>2]|0;l=i;return h|0}if((c[h>>2]&25|0)==0?(c[(c[c[g>>2]>>2]|0)+20>>2]|0)==0:0){c[f>>2]=159;h=c[f>>2]|0;l=i;return h|0}}c[f>>2]=160;h=c[f>>2]|0;l=i;return h|0}function aE(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=f;c[j>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){zr(f);break}c[g>>2]=c[f+60>>2];k=c[g>>2]|0;l=m;return k|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+120|0;o=(c[h>>2]|0)+68|0;f=a[o>>0]|0;a[o>>0]=f+-1<<24>>24;nq(c[n+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;o=c[g>>2]|0;l=m;return o|0}c[j>>2]=WD(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[j>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[j>>2];o=c[g>>2]|0;l=m;return o|0}while(0);c[i>>2]=c[(c[h>>2]|0)+120>>2];if(d[c[i>>2]>>0]|0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[i>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;o=(c[h>>2]|0)+64|0;a[o>>0]=d[o>>0]&-15;do if((e[(c[i>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[i>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[i>>2]|0)+84>>2]|0)==1){c[k>>2]=Vl((c[(c[i>>2]|0)+56>>2]|0)+((d[(c[i>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[j>>2]=TD(c[h>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=kn(63147)|0;o=c[g>>2]|0;l=m;return o|0}while(0);c[g>>2]=c[j>>2];o=c[g>>2]|0;l=m;return o|0}c[g>>2]=kn(63136)|0;o=c[g>>2]|0;l=m;return o|0}function bE(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;m=s+36|0;t=s+32|0;r=s+28|0;h=s+24|0;i=s+16|0;j=s+8|0;k=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[m>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];do switch(c[t>>2]|0){case 1:{m=a[c[m>>2]>>0]|0;t=k;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[m>>2]>>0]<<8|d[(c[m>>2]|0)+1>>0];t=k;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[m>>2]>>0]<<16|d[(c[m>>2]|0)+1>>0]<<8|d[(c[m>>2]|0)+2>>0];t=k;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[h>>2]=d[c[m>>2]>>0]<<24|d[(c[m>>2]|0)+1>>0]<<16|d[(c[m>>2]|0)+2>>0]<<8|d[(c[m>>2]|0)+3>>0];m=c[h>>2]|0;t=k;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{g=a[c[m>>2]>>0]<<8|d[(c[m>>2]|0)+1>>0];t=k;c[t>>2]=_$(d[(c[m>>2]|0)+2>>0]<<24|d[(c[m>>2]|0)+2+1>>0]<<16|d[(c[m>>2]|0)+2+2>>0]<<8|d[(c[m>>2]|0)+2+3>>0]|0,0,r0(0,1,g|0,((g|0)<0)<<31>>31|0)|0,D|0)|0;c[t+4>>2]=D;break}case 6:{t=i;c[t>>2]=d[c[m>>2]>>0]<<24|d[(c[m>>2]|0)+1>>0]<<16|d[(c[m>>2]|0)+2>>0]<<8|d[(c[m>>2]|0)+3>>0];c[t+4>>2]=0;t=c[i>>2]|0;g=i;c[g>>2]=d[(c[m>>2]|0)+4>>0]<<24|d[(c[m>>2]|0)+4+1>>0]<<16|d[(c[m>>2]|0)+4+2>>0]<<8|d[(c[m>>2]|0)+4+3>>0];c[g+4>>2]=t;g=i;m=c[g+4>>2]|0;t=k;c[t>>2]=c[g>>2];c[t+4>>2]=m;break}case 8:{t=k;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=k;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=dE(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;l=s;return t|0}default:{c[n>>2]=dE(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;l=s;return t|0}}while(0);t=c[(c[q>>2]|0)+4>>2]|0;i=c[t+4>>2]|0;m=j;c[m>>2]=c[t>>2];c[m+4>>2]=i;m=j;i=c[m+4>>2]|0;t=k;g=c[t+4>>2]|0;do if(!((i|0)>(g|0)|((i|0)==(g|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=j;j=c[m+4>>2]|0;t=k;g=c[t+4>>2]|0;b=c[q>>2]|0;if((j|0)<(g|0)|((j|0)==(g|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[b+13>>0];break}if((e[b+8>>1]|0)>1){c[r>>2]=eE(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;l=s;return t|0}function cE(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;r=s+12|0;i=s+8|0;j=s+4|0;k=s;c[m>>2]=b;c[n>>2]=f;c[o>>2]=g;c[p>>2]=c[n>>2];b=(c[p>>2]|0)+1|0;if((d[(c[p>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else fE(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[o>>2]|0)+13>>0];break}c[k>>2]=d[c[p>>2]>>0];c[j>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[k>>2]|0)+(c[j>>2]|0)|0)>(c[m>>2]|0)){r=(kn(74742)|0)&255;a[(c[o>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;l=s;return r|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+12>>2]|0)<(c[j>>2]|0))b=c[(c[(c[o>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[j>>2]|0;c[i>>2]=b;c[r>>2]=H_((c[p>>2]|0)+(c[k>>2]|0)|0,c[(c[(c[o>>2]|0)+4>>2]|0)+16>>2]|0,c[i>>2]|0)|0;if(c[r>>2]|0){b=c[o>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[j>>2]|0)-(c[(c[(c[o>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[o>>2]|0)+8>>1]|0)>1){c[r>>2]=eE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1)|0;break}else{c[r>>2]=a[(c[o>>2]|0)+10>>0];a[(c[o>>2]|0)+14>>0]=1;break}else{b=c[o>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[o>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;l=s;return r|0}function dE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=eE(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;l=e;return d|0}function eE(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;F=l;l=l+128|0;C=F+124|0;x=F+120|0;H=F+116|0;E=F+112|0;G=F+108|0;y=F+104|0;z=F+100|0;m=F+96|0;n=F+92|0;A=F+88|0;o=F+84|0;B=F+80|0;p=F+76|0;q=F+16|0;k=F+72|0;r=F+68|0;s=F+8|0;t=F;u=F+64|0;v=F+60|0;w=F+56|0;c[x>>2]=f;c[H>>2]=g;c[E>>2]=i;c[G>>2]=j;c[A>>2]=0;c[o>>2]=c[(c[E>>2]|0)+4>>2];c[B>>2]=c[c[E>>2]>>2];c[p>>2]=c[H>>2];g=c[p>>2]|0;do if(c[G>>2]|0){f=(c[p>>2]|0)+1|0;if((d[g+1>>0]|0)<128){c[k>>2]=d[f>>0];f=1}else f=(fE(f,k)|0)&255;c[n>>2]=1+(f&255);c[m>>2]=d[c[p>>2]>>0];H=c[m>>2]|0;c[y>>2]=H+(gE(c[k>>2]|0)|0);c[z>>2]=1;c[o>>2]=(c[o>>2]|0)+40}else{f=c[p>>2]|0;if((d[g>>0]|0)<128){c[m>>2]=d[f>>0];f=1}else f=(fE(f,m)|0)&255;c[n>>2]=f&255;c[y>>2]=c[m>>2];if((c[y>>2]|0)>>>0<=(c[x>>2]|0)>>>0){c[z>>2]=0;break}H=(kn(74452)|0)&255;a[(c[E>>2]|0)+11>>0]=H;c[C>>2]=0;H=c[C>>2]|0;l=F;return H|0}while(0);a:while(1){do if(e[(c[o>>2]|0)+8>>1]&4|0){c[r>>2]=d[(c[p>>2]|0)+(c[n>>2]|0)>>0];if((c[r>>2]|0)>>>0>=10){c[A>>2]=1;break}if(!(c[r>>2]|0)){c[A>>2]=-1;break}if((c[r>>2]|0)==7){hE((c[p>>2]|0)+(c[y>>2]|0)|0,c[r>>2]|0,q)|0;H=c[o>>2]|0;c[A>>2]=0-(fj(c[H>>2]|0,c[H+4>>2]|0,+h[q>>3])|0);break}j=iE(c[r>>2]|0,(c[p>>2]|0)+(c[y>>2]|0)|0)|0;H=s;c[H>>2]=j;c[H+4>>2]=D;H=c[o>>2]|0;j=c[H+4>>2]|0;G=t;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=s;j=c[G+4>>2]|0;H=t;k=c[H+4>>2]|0;if((j|0)<(k|0)|((j|0)==(k|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[A>>2]=-1;break}G=s;j=c[G+4>>2]|0;H=t;k=c[H+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[A>>2]=1}else{if(e[(c[o>>2]|0)+8>>1]&8|0){c[r>>2]=d[(c[p>>2]|0)+(c[n>>2]|0)>>0];if((c[r>>2]|0)>>>0>=10){c[A>>2]=1;break}if(!(c[r>>2]|0)){c[A>>2]=-1;break}hE((c[p>>2]|0)+(c[y>>2]|0)|0,c[r>>2]|0,q)|0;if((c[r>>2]|0)!=7){H=q;c[A>>2]=fj(c[H>>2]|0,c[H+4>>2]|0,+h[c[o>>2]>>3])|0;break}if(+h[q>>3]<+h[c[o>>2]>>3]){c[A>>2]=-1;break}if(!(+h[q>>3]>+h[c[o>>2]>>3]))break;c[A>>2]=1;break}if(e[(c[o>>2]|0)+8>>1]&2|0){f=(c[p>>2]|0)+(c[n>>2]|0)|0;if((d[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0)<128)c[r>>2]=d[f>>0];else fE(f,r)|0;if((c[r>>2]|0)>>>0<12){c[A>>2]=-1;break}if(!(c[r>>2]&1)){c[A>>2]=1;break}c[q+12>>2]=(((c[r>>2]|0)-12|0)>>>0)/2|0;if(((c[y>>2]|0)+(c[q+12>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0){f=43;break a}if(c[(c[B>>2]|0)+20+(c[z>>2]<<2)>>2]|0){a[q+10>>0]=a[(c[B>>2]|0)+4>>0]|0;c[q+32>>2]=c[(c[B>>2]|0)+12>>2];b[q+8>>1]=2;c[q+16>>2]=(c[p>>2]|0)+(c[y>>2]|0);c[A>>2]=gj(q,c[o>>2]|0,c[(c[B>>2]|0)+20+(c[z>>2]<<2)>>2]|0,(c[E>>2]|0)+11|0)|0;break}c[u>>2]=c[((c[q+12>>2]|0)<(c[(c[o>>2]|0)+12>>2]|0)?q:c[o>>2]|0)+12>>2];c[A>>2]=H_((c[p>>2]|0)+(c[y>>2]|0)|0,c[(c[o>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[A>>2]|0)break;c[A>>2]=(c[q+12>>2]|0)-(c[(c[o>>2]|0)+12>>2]|0);break}f=d[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(!(e[(c[o>>2]|0)+8>>1]&16)){c[r>>2]=f;c[A>>2]=(c[r>>2]|0)!=0&1;break}g=(c[p>>2]|0)+(c[n>>2]|0)|0;if((f|0)<128)c[r>>2]=d[g>>0];else fE(g,r)|0;if((c[r>>2]|0)>>>0>=12?(c[r>>2]&1|0)==0:0){c[v>>2]=(((c[r>>2]|0)-12|0)>>>0)/2|0;if(((c[y>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0){f=56;break a}if(e[(c[o>>2]|0)+8>>1]&16384|0)if(ij((c[p>>2]|0)+(c[y>>2]|0)|0,c[v>>2]|0)|0){c[A>>2]=(c[v>>2]|0)-(c[c[o>>2]>>2]|0);break}else{c[A>>2]=1;break}if((c[v>>2]|0)<(c[(c[o>>2]|0)+12>>2]|0))f=c[v>>2]|0;else f=c[(c[o>>2]|0)+12>>2]|0;c[w>>2]=f;c[A>>2]=H_((c[p>>2]|0)+(c[y>>2]|0)|0,c[(c[o>>2]|0)+16>>2]|0,c[w>>2]|0)|0;if(c[A>>2]|0)break;c[A>>2]=(c[v>>2]|0)-(c[(c[o>>2]|0)+12>>2]|0);break}c[A>>2]=-1}while(0);if(c[A>>2]|0){f=68;break}c[z>>2]=(c[z>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+40;H=gE(c[r>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+H;H=jE(c[r>>2]|0,0)|0;c[n>>2]=(c[n>>2]|0)+H;if((c[n>>2]|0)>>>0>=(c[m>>2]|0)>>>0){f=74;break}if((c[z>>2]|0)>=(e[(c[E>>2]|0)+8>>1]|0)){f=74;break}if((c[y>>2]|0)>>>0>(c[x>>2]|0)>>>0){f=74;break}}if((f|0)==43){H=(kn(74527)|0)&255;a[(c[E>>2]|0)+11>>0]=H;c[C>>2]=0;H=c[C>>2]|0;l=F;return H|0}else if((f|0)==56){H=(kn(74557)|0)&255;a[(c[E>>2]|0)+11>>0]=H;c[C>>2]=0;H=c[C>>2]|0;l=F;return H|0}else if((f|0)==68){if(a[(c[(c[B>>2]|0)+16>>2]|0)+(c[z>>2]|0)>>0]|0)c[A>>2]=0-(c[A>>2]|0);c[C>>2]=c[A>>2];H=c[C>>2]|0;l=F;return H|0}else if((f|0)==74){a[(c[E>>2]|0)+14>>0]=1;c[C>>2]=a[(c[E>>2]|0)+10>>0];H=c[C>>2]|0;l=F;return H|0}return 0}function fE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+25|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n;m=n+24|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&127;c[i>>2]=c[i>>2]<<7;c[c[h>>2]>>2]=c[i>>2]|c[j>>2];a[f>>0]=2;m=a[f>>0]|0;l=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);if(!(c[i>>2]&128)){c[i>>2]=c[i>>2]&2080895;c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[i>>2]|c[j>>2];a[f>>0]=3;m=a[f>>0]|0;l=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[m>>0]=yp(c[g>>2]|0,k)|0;j=k;if(0!=(c[j+4>>2]|0)?1:(c[k>>2]|0)!=(c[j>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[k>>2];a[f>>0]=a[m>>0]|0;m=a[f>>0]|0;l=n;return m|0}function gE(a){a=a|0;var b=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;l=e;return f|0}else{c[b>>2]=d[34519+a>>0];f=c[b>>2]|0;l=e;return f|0}return 0}function hE(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;switch(c[j>>2]|0){case 0:case 11:case 10:{b[(c[k>>2]|0)+8>>1]=1;c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}case 1:{i=a[c[i>>2]>>0]|0;j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=1;k=c[h>>2]|0;l=m;return k|0}case 2:{i=a[c[i>>2]>>0]<<8|d[(c[i>>2]|0)+1>>0];j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=2;k=c[h>>2]|0;l=m;return k|0}case 3:{i=a[c[i>>2]>>0]<<16|d[(c[i>>2]|0)+1>>0]<<8|d[(c[i>>2]|0)+2>>0];j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=3;k=c[h>>2]|0;l=m;return k|0}case 4:{i=a[c[i>>2]>>0]<<24|d[(c[i>>2]|0)+1>>0]<<16|d[(c[i>>2]|0)+2>>0]<<8|d[(c[i>>2]|0)+3>>0];j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=4;k=c[h>>2]|0;l=m;return k|0}case 5:{j=d[(c[i>>2]|0)+2>>0]<<24|d[(c[i>>2]|0)+2+1>>0]<<16|d[(c[i>>2]|0)+2+2>>0]<<8|d[(c[i>>2]|0)+2+3>>0];i=a[c[i>>2]>>0]<<8|d[(c[i>>2]|0)+1>>0];i=_$(j|0,0,r0(0,1,i|0,((i|0)<0)<<31>>31|0)|0,D|0)|0;j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=D;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=6;k=c[h>>2]|0;l=m;return k|0}case 7:case 6:{c[h>>2]=kE(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}case 9:case 8:{i=c[k>>2]|0;c[i>>2]=(c[j>>2]|0)-8;c[i+4>>2]=0;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}default:{c[(c[k>>2]|0)+16>>2]=c[i>>2];c[(c[k>>2]|0)+12>>2]=(((c[j>>2]|0)-12|0)>>>0)/2|0;b[(c[k>>2]|0)+8>>1]=b[15238+((c[j>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[k>>2]|0)+12>>2];k=c[h>>2]|0;l=m;return k|0}}return 0}function iE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+8|0;g=k+24|0;h=k+20|0;i=k+16|0;j=k;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{i=a[c[h>>2]>>0]|0;j=f;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;break}case 2:{i=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];j=f;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;break}case 3:{i=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];j=f;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;break}case 4:{c[i>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];i=c[i>>2]|0;j=f;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;break}case 5:{g=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];i=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];j=f;c[j>>2]=_$(g|0,0,r0(0,1,i|0,((i|0)<0)<<31>>31|0)|0,D|0)|0;c[j+4>>2]=D;break}case 6:{g=j;c[g>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[g+4>>2]=0;g=c[j>>2]|0;i=j;c[i>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[i+4>>2]=g;h=j;i=c[h+4>>2]|0;j=f;c[j>>2]=c[h>>2];c[j+4>>2]=i;break}default:{j=f;c[j>>2]=(c[g>>2]|0)-8;c[j+4>>2]=0}}j=f;D=c[j+4>>2]|0;l=k;return c[j>>2]|0}function jE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=f0(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=D;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}l=f;return a|0}function kE(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;n=j+20|0;k=j+16|0;g=j+12|0;i=j;m=j+8|0;c[n>>2]=a;c[k>>2]=e;c[g>>2]=f;e=i;c[e>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[e+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);e=_$(0,c[i>>2]|0,c[m>>2]|0,0)|0;f=i;c[f>>2]=e;c[f+4>>2]=D;if((c[k>>2]|0)==6){k=i;n=c[k+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=n;m=4;n=c[g>>2]|0;n=n+8|0;b[n>>1]=m;l=j;return 8}else{m=c[g>>2]|0;c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2];m=(Sd(+h[c[g>>2]>>3])|0)!=0;m=(m?1:8)&65535;n=c[g>>2]|0;n=n+8|0;b[n>>1]=m;l=j;return 8}return 0}function lE(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[i>>2]=f;c[j>>2]=g;if((d[(c[i>>2]|0)+66>>0]|0)!=1){if((d[(c[i>>2]|0)+66>>0]|0)>=3)f=SD(c[i>>2]|0)|0;else f=0;c[k>>2]=f;if(c[k>>2]|0){c[h>>2]=c[k>>2];o=c[h>>2]|0;l=p;return o|0}if(!(d[(c[i>>2]|0)+66>>0]|0)){c[c[j>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}if(c[(c[i>>2]|0)+60>>2]|0?(a[(c[i>>2]|0)+66>>0]=1,g=(c[(c[i>>2]|0)+60>>2]|0)>0,c[(c[i>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}}c[n>>2]=c[(c[i>>2]|0)+120+(a[(c[i>>2]|0)+68>>0]<<2)>>2];g=(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[m>>2]=f&65535;f=(a[(c[n>>2]|0)+4>>0]|0)!=0;if((c[m>>2]|0)<(e[(c[n>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}else{c[h>>2]=mE(c[i>>2]|0)|0;o=c[h>>2]|0;l=p;return o|0}if(!f){o=c[i>>2]|0;c[k>>2]=TD(o,Vl((c[(c[n>>2]|0)+56>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[k>>2]|0){c[h>>2]=c[k>>2];o=c[h>>2]|0;l=p;return o|0}else{c[h>>2]=mE(c[i>>2]|0)|0;o=c[h>>2]|0;l=p;return o|0}}do{if(!(a[(c[i>>2]|0)+68>>0]|0)){o=17;break}VD(c[i>>2]|0);c[n>>2]=c[(c[i>>2]|0)+120+(a[(c[i>>2]|0)+68>>0]<<2)>>2]}while((e[(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[n>>2]|0)+18>>1]|0));if((o|0)==17){c[c[j>>2]>>2]=1;a[(c[i>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}if(a[(c[n>>2]|0)+2>>0]|0){c[h>>2]=PD(c[i>>2]|0,c[j>>2]|0)|0;o=c[h>>2]|0;l=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}return 0}function mE(b){b=b|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;i=j+4|0;h=j;c[f>>2]=b;c[i>>2]=0;while(1){if(c[i>>2]|0){b=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){b=5;break}c[g>>2]=Vl((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]&(d[(c[(c[h>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[h>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[i>>2]=TD(c[f>>2]|0,c[g>>2]|0)|0}if((b|0)==5){l=j;return c[i>>2]|0}return 0}function nE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[d>>2]=b;c[e>>2]=c[c[j>>2]>>2];c[g>>2]=Lt(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;l=i;return j|0}j=Xo(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=j;c[f>>2]=Hu(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){j=c[g>>2]|0;l=i;return j|0}c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];j=Xo(c[e>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=j;j=c[g>>2]|0;l=i;return j|0}function oE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){a=8;break}if((Ix(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){a=6;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==6){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==8){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function pE(e,f){e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;h=i+4|0;g=i;c[h>>2]=e;c[g>>2]=f;if((d[c[g>>2]>>0]|0)!=152){l=i;return 0}e=c[h>>2]|0;do if((b[(c[g>>2]|0)+32>>1]|0)>=0)if((c[(c[e+24>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<2)>>2]|0)>=0){f=1;e=c[h>>2]|0;break}else{l=i;return 0}else f=2;while(0);h=e+20|0;a[h>>0]=d[h>>0]|f;l=i;return 0}function qE(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k+12|0;j=k+8|0;g=k+4|0;h=k;c[j>>2]=a;c[g>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[g>>2]|0)+50>>1]|0)){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[g>>2]|0)+54>>0]|0)){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}c[h>>2]=0;while(1){f=c[g>>2]|0;if((c[h>>2]|0)>=(e[(c[g>>2]|0)+50>>1]|0)){a=17;break}if((b[(c[f+4>>2]|0)+(c[h>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=8;break}if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)==-2?Yw(c[(c[(c[(c[g>>2]|0)+40>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,-1)|0:0){a=11;break}if((d[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[h>>2]|0)>>0]|0)){a=13;break}if(kl(c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]|0)|0){a=15;break}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==8){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==11){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==13){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==15){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==17)if(Yw(c[f+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else{c[i>>2]=1;j=c[i>>2]|0;l=k;return j|0}return 0}function rE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+448>>2];c[(c[f>>2]|0)+448>>2]=c[g>>2];l=e;return}function sE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+64|0;i=p+52|0;j=p+48|0;k=p+44|0;m=p+40|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g>>2]=c[c[i>>2]>>2];c[h>>2]=Hu(c[g>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[k>>2]=Ww(c[g>>2]|0,c[k>>2]|0,0)|0;c[f>>2]=Lt(c[g>>2]|0,0,0,0)|0;if(c[f>>2]|0){j=Xo(c[g>>2]|0,c[c[j>>2]>>2]|0)|0;c[(c[f>>2]|0)+8+8>>2]=j;j=Xo(c[g>>2]|0,c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0;c[(c[f>>2]|0)+8+4>>2]=j}c[o>>2]=Dt(c[i>>2]|0,0,c[f>>2]|0,c[k>>2]|0,0,0,0,131072,0,0)|0;Az(n,12,c[m>>2]|0);At(c[i>>2]|0,c[o>>2]|0,n)|0;Jk(c[g>>2]|0,c[o>>2]|0);l=p;return}function tE(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=l;l=l+96|0;E=F+88|0;H=F+84|0;r=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;s=F+60|0;t=F+56|0;u=F+52|0;v=F+48|0;I=F+44|0;w=F+40|0;x=F+36|0;y=F+32|0;z=F+28|0;A=F+24|0;B=F+20|0;p=F+16|0;q=F+8|0;C=F+4|0;D=F;c[E>>2]=d;c[H>>2]=e;c[r>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=i;c[G>>2]=j;c[s>>2]=k;c[t>>2]=c[(c[E>>2]|0)+8>>2];c[I>>2]=c[c[E>>2]>>2];c[w>>2]=fw(c[I>>2]|0,c[r>>2]|0)|0;c[y>>2]=2+(b[(c[r>>2]|0)+34>>1]|0);c[p>>2]=c[(c[H>>2]|0)+8+44>>2];j=(c[E>>2]|0)+40|0;k=c[j>>2]|0;c[j>>2]=k+1;c[u>>2]=k;c[D>>2]=Qu(c[t>>2]|0,107,c[u>>2]|0,c[y>>2]|0)|0;c[z>>2]=(c[(c[E>>2]|0)+44>>2]|0)+1;k=(c[E>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[E>>2]|0)+44|0;j=(c[k>>2]|0)+1|0;c[k>>2]=j;c[A>>2]=j;j=(c[E>>2]|0)+44|0;k=(c[j>>2]|0)+1|0;c[j>>2]=k;c[B>>2]=k;c[x>>2]=FB(c[E>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[x>>2]|0)){l=F;return}Qu(c[t>>2]|0,123,c[p>>2]|0,c[z>>2]|0)|0;if(c[n>>2]|0)Wy(c[E>>2]|0,c[n>>2]|0,(c[z>>2]|0)+1|0);else Qu(c[t>>2]|0,123,c[p>>2]|0,(c[z>>2]|0)+1|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[v>>2]<<2)>>2]|0)>=0)Wy(c[E>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[v>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[z>>2]|0)+2+(c[v>>2]|0)|0);else Ru(c[t>>2]|0,156,c[p>>2]|0,c[v>>2]|0,(c[z>>2]|0)+2+(c[v>>2]|0)|0)|0;c[v>>2]=(c[v>>2]|0)+1}c[C>>2]=uE(c[x>>2]|0,q)|0;d=c[t>>2]|0;if(c[C>>2]|0){Ry(d,c[D>>2]|0)|0;if(!(c[(c[E>>2]|0)+124>>2]|0))a[(c[E>>2]|0)+20>>0]=0}else{Ru(d,99,c[z>>2]|0,c[y>>2]|0,c[A>>2]|0)|0;Qu(c[t>>2]|0,114,c[u>>2]|0,c[B>>2]|0)|0;Ru(c[t>>2]|0,115,c[u>>2]|0,c[A>>2]|0,c[B>>2]|0)|0}a:do if(!(c[C>>2]|0)){GB(c[x>>2]|0);c[D>>2]=ey(c[t>>2]|0,57,c[u>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[y>>2]|0))break a;Ru(c[t>>2]|0,96,c[u>>2]|0,c[v>>2]|0,(c[z>>2]|0)+(c[v>>2]|0)|0)|0;c[v>>2]=(c[v>>2]|0)+1}}while(0);sB(c[E>>2]|0,c[r>>2]|0);Uu(c[t>>2]|0,12,0,c[y>>2]|0,c[z>>2]|0,c[w>>2]|0,-10)|0;jy(c[t>>2]|0,((c[s>>2]|0)==10?2:c[s>>2]|0)&255);gw(c[E>>2]|0);if(!(c[C>>2]|0)){Qu(c[t>>2]|0,7,c[u>>2]|0,(c[D>>2]|0)+1|0)|0;ny(c[t>>2]|0,c[D>>2]|0);Qu(c[t>>2]|0,111,c[u>>2]|0,0)|0;l=F;return}else{GB(c[x>>2]|0);l=F;return}}function uE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;b=c[g>>2]|0;a=(c[e>>2]|0)+20|0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];l=f;return d[(c[e>>2]|0)+45>>0]|0|0}function vE(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){l=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+448>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;l=d;return}function wE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;j=p+32|0;i=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;c[i>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[k>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[k>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[k>>2]>>2]|0)+(c[m>>2]|0);c[f>>2]=de(c[i>>2]|0,c[k>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[f>>2]|0){c[k>>2]=c[f>>2];c[h>>2]=((((ae(c[i>>2]|0,c[f>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[k>>2]|0)+4>>2]=c[h>>2];break}c[j>>2]=c[k>>2];o=c[j>>2]|0;l=p;return o|0}while(0);c[o>>2]=(c[c[k>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;a=(c[k>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;b=(c[k>>2]|0)+8+((c[o>>2]|0)*72|0)|0;f=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(f|0));c[o>>2]=(c[o>>2]|0)+-1}i=c[k>>2]|0;c[i>>2]=(c[i>>2]|0)+(c[m>>2]|0);m0((c[k>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){a=c[k>>2]|0;if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[a+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[j>>2]=a;o=c[j>>2]|0;l=p;return o|0}function xE(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+128|0;O=Q+112|0;u=Q+108|0;x=Q+104|0;P=Q+100|0;n=Q+96|0;y=Q+92|0;k=Q+88|0;z=Q+84|0;A=Q+80|0;B=Q+76|0;C=Q+72|0;D=Q+68|0;E=Q+64|0;F=Q+60|0;G=Q+56|0;H=Q+52|0;I=Q+48|0;J=Q+44|0;m=Q+40|0;o=Q+36|0;p=Q+32|0;q=Q+28|0;r=Q+24|0;s=Q+20|0;v=Q+16|0;w=Q+12|0;K=Q+8|0;L=Q+116|0;M=Q+4|0;N=Q;c[u>>2]=f;c[x>>2]=g;c[P>>2]=h;c[n>>2]=i;c[y>>2]=j;c[k>>2]=c[(c[u>>2]|0)+448>>2];c[J>>2]=c[c[u>>2]>>2];if(e[(c[J>>2]|0)+64>>1]&1|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}c[C>>2]=c[(c[x>>2]|0)+28>>2];c[I>>2]=(c[C>>2]|0)+8+((c[P>>2]|0)*72|0);c[F>>2]=c[(c[I>>2]|0)+44>>2];c[A>>2]=c[(c[I>>2]|0)+20>>2];do if(c[y>>2]|0){if(c[n>>2]|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if((c[c[C>>2]>>2]|0)>1){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(!(c[(c[x>>2]|0)+32>>2]|0?(c[(c[(c[x>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((Tx(c[c[x>>2]>>2]|0)|0)&2097152|0)==0:0)?((Tx(c[(c[x>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}while(0);c[D>>2]=c[(c[A>>2]|0)+28>>2];if(c[(c[A>>2]|0)+56>>2]|0?c[(c[x>>2]|0)+56>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+60>>2]|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[x>>2]|0)+8>>2]&256|0?c[(c[A>>2]|0)+56>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(!(c[c[D>>2]>>2]|0)){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+8>>2]&1|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+56>>2]|0?(c[n>>2]|0?1:(c[c[C>>2]>>2]|0)>1):0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[y>>2]|0?(c[(c[x>>2]|0)+8>>2]&1|0)!=0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[x>>2]|0)+44>>2]|0?c[(c[A>>2]|0)+44>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[n>>2]|0?c[(c[A>>2]|0)+44>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+56>>2]|0?c[(c[x>>2]|0)+32>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+56>>2]|0?c[(c[x>>2]|0)+8>>2]&1|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+8>>2]&12288|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[x>>2]|0)+8>>2]&8192|0?c[(c[A>>2]|0)+48>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(d[(c[I>>2]|0)+36>>0]&32|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}a:do if(c[(c[A>>2]|0)+48>>2]|0){if(c[(c[A>>2]|0)+44>>2]|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}do if(!(c[n>>2]|0)){if(c[(c[x>>2]|0)+8>>2]&1|0)break;if((c[c[C>>2]>>2]|0)!=1)break;c[B>>2]=c[A>>2];while(1){if(!(c[B>>2]|0))break;if(c[(c[B>>2]|0)+8>>2]&9|0){t=62;break}if(c[(c[B>>2]|0)+48>>2]|0?(d[(c[B>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[B>>2]|0)+28>>2]>>2]|0)<1){t=62;break}c[B>>2]=c[(c[B>>2]|0)+48>>2]}if((t|0)==62){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(!(c[(c[x>>2]|0)+44>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[x>>2]|0)+44>>2]>>2]|0))break a;if(!(e[(c[(c[(c[x>>2]|0)+44>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}while(0);c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}while(0);c[(c[u>>2]|0)+448>>2]=c[(c[I>>2]|0)+8>>2];Iu(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+448>>2]=c[k>>2];c[A>>2]=c[(c[A>>2]|0)+48>>2];while(1){if(!(c[A>>2]|0))break;c[p>>2]=c[(c[x>>2]|0)+44>>2];c[q>>2]=c[(c[x>>2]|0)+56>>2];c[r>>2]=c[(c[x>>2]|0)+60>>2];c[s>>2]=c[(c[x>>2]|0)+48>>2];c[(c[x>>2]|0)+44>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[(c[x>>2]|0)+48>>2]=0;c[(c[x>>2]|0)+56>>2]=0;c[(c[x>>2]|0)+60>>2]=0;c[o>>2]=kw(c[J>>2]|0,c[x>>2]|0,0)|0;c[(c[x>>2]|0)+60>>2]=c[r>>2];c[(c[x>>2]|0)+56>>2]=c[q>>2];c[(c[x>>2]|0)+44>>2]=c[p>>2];c[(c[x>>2]|0)+28>>2]=c[C>>2];a[(c[x>>2]|0)+4>>0]=116;f=c[s>>2]|0;if(!(c[o>>2]|0))g=c[x>>2]|0;else{c[(c[o>>2]|0)+48>>2]=f;if(c[s>>2]|0)c[(c[s>>2]|0)+52>>2]=c[o>>2];c[(c[o>>2]|0)+52>>2]=c[x>>2];f=c[o>>2]|0;g=c[x>>2]|0}c[g+48>>2]=f;if(a[(c[J>>2]|0)+69>>0]|0){t=78;break}c[A>>2]=c[(c[A>>2]|0)+48>>2]}if((t|0)==78){c[O>>2]=1;P=c[O>>2]|0;l=Q;return P|0}t=c[(c[I>>2]|0)+20>>2]|0;c[B>>2]=t;c[A>>2]=t;Xd(c[J>>2]|0,c[(c[I>>2]|0)+4>>2]|0);Xd(c[J>>2]|0,c[(c[I>>2]|0)+8>>2]|0);Xd(c[J>>2]|0,c[(c[I>>2]|0)+12>>2]|0);c[(c[I>>2]|0)+4>>2]=0;c[(c[I>>2]|0)+8>>2]=0;c[(c[I>>2]|0)+12>>2]=0;c[(c[I>>2]|0)+20>>2]=0;if(c[(c[I>>2]|0)+16>>2]|0){c[v>>2]=c[(c[I>>2]|0)+16>>2];if((e[(c[v>>2]|0)+36>>1]|0)==1){f=c[u>>2]|0;if(c[(c[u>>2]|0)+124>>2]|0)f=c[f+124>>2]|0;c[w>>2]=f;c[(c[v>>2]|0)+68>>2]=c[(c[w>>2]|0)+464>>2];c[(c[w>>2]|0)+464>>2]=c[v>>2]}else{w=(c[v>>2]|0)+36|0;b[w>>1]=(b[w>>1]|0)+-1<<16>>16}c[(c[I>>2]|0)+16>>2]=0}c[z>>2]=c[x>>2];while(1){if(!(c[z>>2]|0))break;a[L>>0]=0;c[D>>2]=c[(c[A>>2]|0)+28>>2];c[K>>2]=c[c[D>>2]>>2];c[C>>2]=c[(c[z>>2]|0)+28>>2];if(!(c[C>>2]|0)){x=Lt(c[J>>2]|0,0,0,0)|0;c[(c[z>>2]|0)+28>>2]=x;c[C>>2]=x;if(!(c[C>>2]|0))break}else a[L>>0]=a[(c[I>>2]|0)+36>>0]|0;if((c[K>>2]|0)>1?(x=wE(c[J>>2]|0,c[C>>2]|0,(c[K>>2]|0)-1|0,(c[P>>2]|0)+1|0)|0,c[C>>2]=x,c[(c[z>>2]|0)+28>>2]=x,a[(c[J>>2]|0)+69>>0]|0):0)break;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[K>>2]|0))break;Tk(c[J>>2]|0,c[(c[C>>2]|0)+8+(((c[G>>2]|0)+(c[P>>2]|0)|0)*72|0)+52>>2]|0);f=(c[C>>2]|0)+8+(((c[G>>2]|0)+(c[P>>2]|0)|0)*72|0)|0;g=(c[D>>2]|0)+8+((c[G>>2]|0)*72|0)|0;k=f+72|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(k|0));f=(c[D>>2]|0)+8+((c[G>>2]|0)*72|0)|0;k=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(k|0));c[G>>2]=(c[G>>2]|0)+1}a[(c[C>>2]|0)+8+((c[P>>2]|0)*72|0)+36>>0]=a[L>>0]|0;c[E>>2]=c[c[z>>2]>>2];c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[E>>2]>>2]|0))break;if(!(c[(c[(c[E>>2]|0)+4>>2]|0)+((c[G>>2]|0)*20|0)+4>>2]|0)){c[M>>2]=Xo(c[J>>2]|0,c[(c[(c[E>>2]|0)+4>>2]|0)+((c[G>>2]|0)*20|0)+8>>2]|0)|0;Vj(c[M>>2]|0);c[(c[(c[E>>2]|0)+4>>2]|0)+((c[G>>2]|0)*20|0)+4>>2]=c[M>>2]}c[G>>2]=(c[G>>2]|0)+1}if(c[(c[A>>2]|0)+44>>2]|0){c[N>>2]=c[(c[A>>2]|0)+44>>2];c[G>>2]=0;while(1){f=c[N>>2]|0;if((c[G>>2]|0)>=(c[c[N>>2]>>2]|0))break;b[(c[f+4>>2]|0)+((c[G>>2]|0)*20|0)+16>>1]=0;c[G>>2]=(c[G>>2]|0)+1}c[(c[z>>2]|0)+44>>2]=f;c[(c[A>>2]|0)+44>>2]=0}c[H>>2]=Ww(c[J>>2]|0,c[(c[A>>2]|0)+32>>2]|0,0)|0;if(c[y>>2]|0){c[(c[z>>2]|0)+40>>2]=c[(c[z>>2]|0)+32>>2];c[(c[z>>2]|0)+32>>2]=c[H>>2];w=c[J>>2]|0;x=Ww(c[J>>2]|0,c[(c[A>>2]|0)+40>>2]|0,0)|0;x=Mx(w,x,c[(c[z>>2]|0)+40>>2]|0)|0;c[(c[z>>2]|0)+40>>2]=x;x=cx(c[J>>2]|0,c[(c[A>>2]|0)+36>>2]|0,0)|0;c[(c[z>>2]|0)+36>>2]=x}else{x=Mx(c[J>>2]|0,c[H>>2]|0,c[(c[z>>2]|0)+32>>2]|0)|0;c[(c[z>>2]|0)+32>>2]=x}gF(c[J>>2]|0,c[z>>2]|0,c[F>>2]|0,c[c[A>>2]>>2]|0,0);x=(c[z>>2]|0)+8|0;c[x>>2]=c[x>>2]|c[(c[A>>2]|0)+8>>2]&1;if(c[(c[A>>2]|0)+56>>2]|0){c[(c[z>>2]|0)+56>>2]=c[(c[A>>2]|0)+56>>2];c[(c[A>>2]|0)+56>>2]=0}c[z>>2]=c[(c[z>>2]|0)+48>>2];c[A>>2]=c[(c[A>>2]|0)+48>>2]}Jk(c[J>>2]|0,c[B>>2]|0);c[O>>2]=1;P=c[O>>2]|0;l=Q;return P|0}function yE(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=l;l=l+256|0;Z=_+8|0;h=_;D=_+240|0;O=_+236|0;U=_+232|0;V=_+228|0;W=_+224|0;X=_+220|0;Y=_+216|0;i=_+192|0;j=_+184|0;k=_+180|0;m=_+176|0;n=_+172|0;o=_+168|0;p=_+164|0;q=_+160|0;r=_+244|0;s=_+156|0;t=_+152|0;u=_+148|0;v=_+144|0;w=_+120|0;x=_+116|0;y=_+112|0;z=_+108|0;A=_+104|0;B=_+100|0;C=_+96|0;E=_+92|0;F=_+88|0;G=_+84|0;H=_+80|0;I=_+76|0;J=_+72|0;K=_+48|0;L=_+40|0;M=_+36|0;N=_+32|0;P=_+28|0;Q=_+24|0;R=_+20|0;S=_+16|0;T=_+12|0;c[O>>2]=e;c[U>>2]=f;c[V>>2]=g;c[W>>2]=0;c[j>>2]=0;c[m>>2]=0;c[n>>2]=0;c[k>>2]=c[c[O>>2]>>2];c[X>>2]=c[(c[U>>2]|0)+48>>2];g=c[V>>2]|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];c[i+16>>2]=c[g+16>>2];c[i+20>>2]=c[g+20>>2];a:do if(!(c[(c[X>>2]|0)+44>>2]|0)){e=c[O>>2]|0;if(c[(c[X>>2]|0)+56>>2]|0){c[Z>>2]=ex(d[(c[U>>2]|0)+4>>0]|0)|0;sl(e,35316,Z);c[W>>2]=1;break}c[Y>>2]=Lu(e)|0;if((d[i>>0]|0)==12){Qu(c[Y>>2]|0,107,c[i+8>>2]|0,c[c[c[U>>2]>>2]>>2]|0)|0;a[i>>0]=14}if(c[(c[U>>2]|0)+8>>2]&1024|0){c[W>>2]=iF(c[O>>2]|0,c[U>>2]|0,i)|0;break}b:do if(c[(c[U>>2]|0)+8>>2]&8192|0)jF(c[O>>2]|0,c[U>>2]|0,i);else{if(c[(c[U>>2]|0)+44>>2]|0){c[D>>2]=kF(c[O>>2]|0,c[U>>2]|0,c[V>>2]|0)|0;Z=c[D>>2]|0;l=_;return Z|0}switch(d[(c[U>>2]|0)+4>>0]|0){case 116:{c[o>>2]=0;c[(c[X>>2]|0)+12>>2]=c[(c[U>>2]|0)+12>>2];c[(c[X>>2]|0)+16>>2]=c[(c[U>>2]|0)+16>>2];c[(c[X>>2]|0)+56>>2]=c[(c[U>>2]|0)+56>>2];c[(c[X>>2]|0)+60>>2]=c[(c[U>>2]|0)+60>>2];c[m>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=At(c[O>>2]|0,c[X>>2]|0,i)|0;c[(c[U>>2]|0)+56>>2]=0;c[(c[U>>2]|0)+60>>2]=0;if(c[W>>2]|0)break a;c[(c[U>>2]|0)+48>>2]=0;c[(c[U>>2]|0)+12>>2]=c[(c[X>>2]|0)+12>>2];c[(c[U>>2]|0)+16>>2]=c[(c[X>>2]|0)+16>>2];if(c[(c[U>>2]|0)+12>>2]|0?(c[o>>2]=ey(c[Y>>2]|0,22,c[(c[U>>2]|0)+12>>2]|0)|0,c[(c[U>>2]|0)+16>>2]|0):0)Ru(c[Y>>2]|0,146,c[(c[U>>2]|0)+12>>2]|0,(c[(c[U>>2]|0)+16>>2]|0)+1|0,c[(c[U>>2]|0)+16>>2]|0)|0;c[n>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=At(c[O>>2]|0,c[U>>2]|0,i)|0;c[j>>2]=c[(c[U>>2]|0)+48>>2];c[(c[U>>2]|0)+48>>2]=c[X>>2];Z=BC(b[(c[U>>2]|0)+6>>1]|0,b[(c[X>>2]|0)+6>>1]|0)|0;b[(c[U>>2]|0)+6>>1]=Z;if((c[(c[X>>2]|0)+56>>2]|0?(Z=(Tw(c[(c[X>>2]|0)+56>>2]|0,p)|0)!=0,Z&(c[p>>2]|0)>0):0)?(X=b[(c[U>>2]|0)+6>>1]|0,Z=c[p>>2]|0,(X|0)>((xv(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=c[p>>2]|0;Z=xv(Z,((Z|0)<0)<<31>>31)|0;b[(c[U>>2]|0)+6>>1]=Z}if(!(c[o>>2]|0))break b;ny(c[Y>>2]|0,c[o>>2]|0);break b}case 115:case 117:{a[r>>0]=0;c[s>>2]=1;if((d[i>>0]|0)==(c[s>>2]|0))c[q>>2]=c[i+8>>2];else{M=(c[O>>2]|0)+40|0;Z=c[M>>2]|0;c[M>>2]=Z+1;c[q>>2]=Z;c[v>>2]=Qu(c[Y>>2]|0,107,c[q>>2]|0,0)|0;c[(c[U>>2]|0)+20>>2]=c[v>>2];Z=(Cx(c[U>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32}Az(w,c[s>>2]|0,c[q>>2]|0);c[m>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=At(c[O>>2]|0,c[X>>2]|0,w)|0;if(c[W>>2]|0)break a;if((d[(c[U>>2]|0)+4>>0]|0)==117)a[r>>0]=2;else a[r>>0]=1;c[(c[U>>2]|0)+48>>2]=0;c[t>>2]=c[(c[U>>2]|0)+56>>2];c[(c[U>>2]|0)+56>>2]=0;c[u>>2]=c[(c[U>>2]|0)+60>>2];c[(c[U>>2]|0)+60>>2]=0;a[w>>0]=a[r>>0]|0;c[n>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=At(c[O>>2]|0,c[U>>2]|0,w)|0;Kk(c[k>>2]|0,c[(c[U>>2]|0)+44>>2]|0);c[j>>2]=c[(c[U>>2]|0)+48>>2];c[(c[U>>2]|0)+48>>2]=c[X>>2];c[(c[U>>2]|0)+44>>2]=0;if((d[(c[U>>2]|0)+4>>0]|0)==115){Z=BC(b[(c[U>>2]|0)+6>>1]|0,b[(c[X>>2]|0)+6>>1]|0)|0;b[(c[U>>2]|0)+6>>1]=Z}Ok(c[k>>2]|0,c[(c[U>>2]|0)+56>>2]|0);c[(c[U>>2]|0)+56>>2]=c[t>>2];c[(c[U>>2]|0)+60>>2]=c[u>>2];c[(c[U>>2]|0)+12>>2]=0;c[(c[U>>2]|0)+16>>2]=0;if((d[i>>0]|0)==(c[s>>2]|0))break b;if((d[i>>0]|0)==9){c[A>>2]=c[U>>2];while(1){if(!(c[(c[A>>2]|0)+48>>2]|0))break;c[A>>2]=c[(c[A>>2]|0)+48>>2]}YE(c[O>>2]|0,c[(c[A>>2]|0)+28>>2]|0,c[c[A>>2]>>2]|0)}c[y>>2]=ky(c[Y>>2]|0)|0;c[x>>2]=ky(c[Y>>2]|0)|0;DE(c[O>>2]|0,c[U>>2]|0,c[y>>2]|0);Qu(c[Y>>2]|0,57,c[q>>2]|0,c[y>>2]|0)|0;c[z>>2]=Pv(c[Y>>2]|0)|0;LE(c[O>>2]|0,c[U>>2]|0,c[c[U>>2]>>2]|0,c[q>>2]|0,0,0,i,c[x>>2]|0,c[y>>2]|0);oy(c[Y>>2]|0,c[x>>2]|0);Qu(c[Y>>2]|0,7,c[q>>2]|0,c[z>>2]|0)|0;oy(c[Y>>2]|0,c[y>>2]|0);Qu(c[Y>>2]|0,111,c[q>>2]|0,0)|0;break b}default:{Z=(c[O>>2]|0)+40|0;A=c[Z>>2]|0;c[Z>>2]=A+1;c[B>>2]=A;A=(c[O>>2]|0)+40|0;Z=c[A>>2]|0;c[A>>2]=Z+1;c[C>>2]=Z;c[J>>2]=Qu(c[Y>>2]|0,107,c[B>>2]|0,0)|0;c[(c[U>>2]|0)+20>>2]=c[J>>2];Z=(Cx(c[U>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32;Az(K,1,c[B>>2]|0);c[m>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=At(c[O>>2]|0,c[X>>2]|0,K)|0;if(c[W>>2]|0)break a;c[J>>2]=Qu(c[Y>>2]|0,107,c[C>>2]|0,0)|0;c[(c[U>>2]|0)+20+4>>2]=c[J>>2];c[(c[U>>2]|0)+48>>2]=0;c[H>>2]=c[(c[U>>2]|0)+56>>2];c[(c[U>>2]|0)+56>>2]=0;c[I>>2]=c[(c[U>>2]|0)+60>>2];c[(c[U>>2]|0)+60>>2]=0;c[K+8>>2]=c[C>>2];c[n>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=At(c[O>>2]|0,c[U>>2]|0,K)|0;c[j>>2]=c[(c[U>>2]|0)+48>>2];c[(c[U>>2]|0)+48>>2]=c[X>>2];if((b[(c[U>>2]|0)+6>>1]|0)>(b[(c[X>>2]|0)+6>>1]|0))b[(c[U>>2]|0)+6>>1]=b[(c[X>>2]|0)+6>>1]|0;Ok(c[k>>2]|0,c[(c[U>>2]|0)+56>>2]|0);c[(c[U>>2]|0)+56>>2]=c[H>>2];c[(c[U>>2]|0)+60>>2]=c[I>>2];if((d[i>>0]|0)==9){c[M>>2]=c[U>>2];while(1){if(!(c[(c[M>>2]|0)+48>>2]|0))break;c[M>>2]=c[(c[M>>2]|0)+48>>2]}YE(c[O>>2]|0,c[(c[M>>2]|0)+28>>2]|0,c[c[M>>2]>>2]|0)}c[F>>2]=ky(c[Y>>2]|0)|0;c[E>>2]=ky(c[Y>>2]|0)|0;DE(c[O>>2]|0,c[U>>2]|0,c[F>>2]|0);Qu(c[Y>>2]|0,57,c[B>>2]|0,c[F>>2]|0)|0;c[L>>2]=Ov(c[O>>2]|0)|0;c[G>>2]=Qu(c[Y>>2]|0,121,c[B>>2]|0,c[L>>2]|0)|0;zy(c[Y>>2]|0,30,c[C>>2]|0,c[E>>2]|0,c[L>>2]|0,0)|0;Qv(c[O>>2]|0,c[L>>2]|0);LE(c[O>>2]|0,c[U>>2]|0,c[c[U>>2]>>2]|0,c[B>>2]|0,0,0,i,c[E>>2]|0,c[F>>2]|0);oy(c[Y>>2]|0,c[E>>2]|0);Qu(c[Y>>2]|0,7,c[B>>2]|0,c[G>>2]|0)|0;oy(c[Y>>2]|0,c[F>>2]|0);Qu(c[Y>>2]|0,111,c[C>>2]|0,0)|0;Qu(c[Y>>2]|0,111,c[B>>2]|0,0)|0;break b}}}while(0);lF(c[O>>2]|0,d[(c[U>>2]|0)+4>>0]|0,c[m>>2]|0,c[n>>2]|0,(d[(c[U>>2]|0)+4>>0]|0)!=116&1);if(c[(c[U>>2]|0)+8>>2]&32|0){c[S>>2]=c[c[c[U>>2]>>2]>>2];c[P>>2]=yy(c[k>>2]|0,c[S>>2]|0,1)|0;if(!(c[P>>2]|0)){c[W>>2]=7;break}c[N>>2]=0;c[R>>2]=(c[P>>2]|0)+20;while(1){if((c[N>>2]|0)>=(c[S>>2]|0))break;Z=mF(c[O>>2]|0,c[U>>2]|0,c[N>>2]|0)|0;c[c[R>>2]>>2]=Z;if(!(c[c[R>>2]>>2]|0))c[c[R>>2]>>2]=c[(c[k>>2]|0)+8>>2];c[N>>2]=(c[N>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+4}c[Q>>2]=c[U>>2];while(1){if(!(c[Q>>2]|0))break;c[N>>2]=0;while(1){if((c[N>>2]|0)>=2)break;c[T>>2]=c[(c[Q>>2]|0)+20+(c[N>>2]<<2)>>2];if((c[T>>2]|0)<0)break;ty(c[Y>>2]|0,c[T>>2]|0,c[S>>2]|0);X=c[Y>>2]|0;Z=c[T>>2]|0;Vu(X,Z,Dy(c[P>>2]|0)|0,-6);c[(c[Q>>2]|0)+20+(c[N>>2]<<2)>>2]=-1;c[N>>2]=(c[N>>2]|0)+1}c[Q>>2]=c[(c[Q>>2]|0)+48>>2]}zk(c[P>>2]|0)}}else{Z=c[O>>2]|0;c[h>>2]=ex(d[(c[U>>2]|0)+4>>0]|0)|0;sl(Z,35268,h);c[W>>2]=1}while(0);c[(c[V>>2]|0)+12>>2]=c[i+12>>2];c[(c[V>>2]|0)+16>>2]=c[i+16>>2];Jk(c[k>>2]|0,c[j>>2]|0);c[D>>2]=c[W>>2];Z=c[D>>2]|0;l=_;return Z|0}function zE(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Rx(c[e>>2]|0,b);l=d;return c[b>>2]|0}function AE(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;g=q+4|0;h=q;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[g>>2]=0;if(!(c[m>>2]|0)){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}c[h>>2]=c[k>>2];while(1){if(!(c[h>>2]|0))break;if(c[(c[h>>2]|0)+8>>2]&8200|0){p=6;break}c[h>>2]=c[(c[h>>2]|0)+48>>2]}if((p|0)==6){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}if(c[(c[k>>2]|0)+56>>2]|0){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}while(1){if((d[c[m>>2]>>0]|0|0)!=28)break;p=AE(c[j>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[n>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if(c[(c[m>>2]|0)+4>>2]&1|0){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}a:do if(vC(c[m>>2]|0,c[n>>2]|0)|0){c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(c[k>>2]|0))break a;c[o>>2]=Ww(c[j>>2]|0,c[m>>2]|0,0)|0;c[o>>2]=fF(c[j>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[k>>2]>>2]|0)|0;p=Mx(c[j>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[o>>2]|0)|0;c[(c[k>>2]|0)+32>>2]=p;c[k>>2]=c[(c[k>>2]|0)+48>>2]}}while(0);c[i>>2]=c[g>>2];p=c[i>>2]|0;l=q;return p|0}function BE(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+28>>2]=0;l=d;return}function CE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;k=q+36|0;m=q+32|0;n=q+28|0;r=q+24|0;o=q+20|0;p=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[r>>2]=f;c[h>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[m>>2]>>2];c[p>>2]=yy(c[h>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[p>>2]|0)){r=c[p>>2]|0;l=q;return r|0}c[i>>2]=c[n>>2];c[g>>2]=(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0);while(1){if((c[i>>2]|0)>=(c[o>>2]|0))break;c[j>>2]=rw(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=c[(c[h>>2]|0)+8>>2];c[(c[p>>2]|0)+20+((c[i>>2]|0)-(c[n>>2]|0)<<2)>>2]=c[j>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+((c[i>>2]|0)-(c[n>>2]|0))>>0]=a[(c[g>>2]|0)+12>>0]|0;c[i>>2]=(c[i>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}r=c[p>>2]|0;l=q;return r|0}function DE(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){l=n;return}EA(c[f>>2]|0);if(!(c[(c[g>>2]|0)+56>>2]|0)){l=n;return}d=(c[f>>2]|0)+44|0;e=(c[d>>2]|0)+1|0;c[d>>2]=e;c[j>>2]=e;c[(c[g>>2]|0)+12>>2]=e;c[i>>2]=Lu(c[f>>2]|0)|0;do if(Tw(c[(c[g>>2]|0)+56>>2]|0,m)|0){Qu(c[i>>2]|0,76,c[m>>2]|0,c[j>>2]|0)|0;if(!(c[m>>2]|0)){my(c[i>>2]|0,c[h>>2]|0)|0;break}if((c[m>>2]|0)>=0?(e=b[(c[g>>2]|0)+6>>1]|0,h=c[m>>2]|0,(e|0)>((xv(h,((h|0)<0)<<31>>31)|0)<<16>>16|0)):0){m=c[m>>2]|0;m=xv(m,((m|0)<0)<<31>>31)|0;b[(c[g>>2]|0)+6>>1]=m;m=(c[g>>2]|0)+8|0;c[m>>2]=c[m>>2]|16384}}else{Wy(c[f>>2]|0,c[(c[g>>2]|0)+56>>2]|0,c[j>>2]|0);ey(c[i>>2]|0,17,c[j>>2]|0)|0;Qu(c[i>>2]|0,22,c[j>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[g>>2]|0)+60>>2]|0)){l=n;return}h=(c[f>>2]|0)+44|0;m=(c[h>>2]|0)+1|0;c[h>>2]=m;c[k>>2]=m;c[(c[g>>2]|0)+16>>2]=m;m=(c[f>>2]|0)+44|0;c[m>>2]=(c[m>>2]|0)+1;Wy(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0);ey(c[i>>2]|0,17,c[k>>2]|0)|0;Ru(c[i>>2]|0,146,c[j>>2]|0,(c[k>>2]|0)+1|0,c[k>>2]|0)|0;l=n;return}function EE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=f+4|0;g=f;i=f+8|0;c[h>>2]=b;c[g>>2]=d;a[i>>0]=e;e=a[i>>0]|0;a[(uy(c[h>>2]|0,c[g>>2]|0)|0)>>0]=e;l=f;return}function FE(a){a=a|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;l=e;return b[(c[d>>2]|0)+72>>1]|0}function GE(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+47>>0]|0|0}function HE(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;l=e;return a[(c[d>>2]|0)+43>>0]|0}function IE(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+48>>0]|0|0}function JE(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+28>>2]|0}function KE(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+32>>2]|0}function LE(b,f,g,h,i,j,k,m,n){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+144|0;V=W+124|0;Q=W+120|0;u=W+116|0;o=W+112|0;R=W+108|0;p=W+104|0;M=W+100|0;v=W+96|0;S=W+92|0;T=W+88|0;C=W+84|0;q=W+80|0;U=W+76|0;D=W+72|0;P=W+68|0;N=W+64|0;O=W+60|0;r=W+128|0;s=W+56|0;w=W+52|0;x=W+48|0;y=W+44|0;z=W+40|0;E=W+36|0;A=W+32|0;F=W+28|0;G=W+24|0;H=W+20|0;I=W+16|0;J=W+12|0;B=W+8|0;K=W+4|0;L=W;c[V>>2]=b;c[Q>>2]=f;c[u>>2]=g;c[o>>2]=h;c[R>>2]=i;c[p>>2]=j;c[M>>2]=k;c[v>>2]=m;c[S>>2]=n;c[T>>2]=c[(c[V>>2]|0)+8>>2];c[D>>2]=d[c[M>>2]>>0];c[P>>2]=c[(c[M>>2]|0)+8>>2];c[O>>2]=0;if(c[p>>2]|0)b=d[(c[p>>2]|0)+1>>0]|0;else b=0;c[q>>2]=b;if(c[R>>2]|0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[q>>2]|0)!=0))_E(c[T>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[v>>2]|0);c[N>>2]=c[c[u>>2]>>2];if(c[(c[M>>2]|0)+12>>2]|0){if(((c[(c[M>>2]|0)+12>>2]|0)+(c[N>>2]|0)|0)>(c[(c[V>>2]|0)+44>>2]|0)){b=c[N>>2]|0;f=c[V>>2]|0;t=16}}else{if(c[R>>2]|0){c[O>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[O>>2]=(c[O>>2]|0)+1;t=(c[V>>2]|0)+44|0;c[t>>2]=(c[t>>2]|0)+(c[O>>2]|0)}c[(c[M>>2]|0)+12>>2]=(c[(c[V>>2]|0)+44>>2]|0)+1;b=c[N>>2]|0;f=c[V>>2]|0;t=16}if((t|0)==16){t=f+44|0;c[t>>2]=(c[t>>2]|0)+b}c[(c[M>>2]|0)+16>>2]=c[N>>2];c[U>>2]=c[(c[M>>2]|0)+12>>2];a:do if((c[o>>2]|0)<0){if((c[D>>2]|0)!=3){if((c[D>>2]|0)==10|(c[D>>2]|0)==9|(c[D>>2]|0)==13)a[r>>0]=1;else a[r>>0]=0;fz(c[V>>2]|0,c[u>>2]|0,c[U>>2]|0,0,a[r>>0]|0)|0}}else{c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[N>>2]|0))break a;Ru(c[T>>2]|0,96,c[o>>2]|0,c[C>>2]|0,(c[U>>2]|0)+(c[C>>2]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+1}}while(0);if(c[q>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[x>>2]=(c[(c[V>>2]|0)+44>>2]|0)+1;t=(c[V>>2]|0)+44|0;c[t>>2]=(c[t>>2]|0)+(c[N>>2]|0);Ry(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=uy(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=79;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[x>>2];c[w>>2]=(Pv(c[T>>2]|0)|0)+(c[N>>2]|0);c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[N>>2]|0))break;c[y>>2]=rw(c[V>>2]|0,c[(c[(c[u>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0)|0;b=c[T>>2]|0;f=(c[U>>2]|0)+(c[C>>2]|0)|0;if((c[C>>2]|0)<((c[N>>2]|0)-1|0))Ru(b,36,f,c[w>>2]|0,(c[x>>2]|0)+(c[C>>2]|0)|0)|0;else Ru(b,37,f,c[v>>2]|0,(c[x>>2]|0)+(c[C>>2]|0)|0)|0;Vu(c[T>>2]|0,-1,c[y>>2]|0,-4);jy(c[T>>2]|0,-128);c[C>>2]=(c[C>>2]|0)+1}Ru(c[T>>2]|0,84,c[U>>2]|0,c[x>>2]|0,(c[N>>2]|0)-1|0)|0;break}case 1:{Ry(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:$E(c[V>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[v>>2]|0,c[N>>2]|0,c[U>>2]|0)}if(!(c[R>>2]|0))_E(c[T>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[v>>2]|0)}b:do switch(c[D>>2]|0){case 1:{c[z>>2]=Ov(c[V>>2]|0)|0;Ru(c[T>>2]|0,99,c[U>>2]|0,c[N>>2]|0,c[z>>2]|0)|0;Qu(c[T>>2]|0,126,c[P>>2]|0,c[z>>2]|0)|0;Qv(c[V>>2]|0,c[z>>2]|0);break}case 2:{Ru(c[T>>2]|0,127,c[P>>2]|0,c[U>>2]|0,c[N>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[E>>2]=My(c[V>>2]|0,(c[O>>2]|0)+1|0)|0;Ru(c[T>>2]|0,99,c[U>>2]|0,c[N>>2]|0,(c[E>>2]|0)+(c[O>>2]|0)|0)|0;if((c[D>>2]|0)==6){c[A>>2]=(Pv(c[T>>2]|0)|0)+4;zy(c[T>>2]|0,31,(c[P>>2]|0)+1|0,c[A>>2]|0,c[E>>2]|0,0)|0;Qu(c[T>>2]|0,126,(c[P>>2]|0)+1|0,c[E>>2]|0)|0}b=c[V>>2]|0;if(c[R>>2]|0)eF(b,c[R>>2]|0,c[Q>>2]|0,(c[E>>2]|0)+(c[O>>2]|0)|0,c[U>>2]|0,1,c[O>>2]|0);else{c[F>>2]=Ov(b)|0;Qu(c[T>>2]|0,114,c[P>>2]|0,c[F>>2]|0)|0;Ru(c[T>>2]|0,115,c[P>>2]|0,c[E>>2]|0,c[F>>2]|0)|0;jy(c[T>>2]|0,8);Qv(c[V>>2]|0,c[F>>2]|0)}Py(c[V>>2]|0,c[E>>2]|0,(c[O>>2]|0)+1|0);break}case 11:{b=c[V>>2]|0;if(c[R>>2]|0){eF(b,c[R>>2]|0,c[Q>>2]|0,c[U>>2]|0,c[U>>2]|0,c[N>>2]|0,c[O>>2]|0);break b}else{c[G>>2]=Ov(b)|0;Uu(c[T>>2]|0,99,c[U>>2]|0,c[N>>2]|0,c[G>>2]|0,c[(c[M>>2]|0)+4>>2]|0,c[N>>2]|0)|0;$y(c[V>>2]|0,c[U>>2]|0,c[N>>2]|0);Qu(c[T>>2]|0,126,c[P>>2]|0,c[G>>2]|0)|0;Qv(c[V>>2]|0,c[G>>2]|0);break b}}case 3:{Qu(c[T>>2]|0,76,1,c[P>>2]|0)|0;break}case 10:{if(c[R>>2]|0)eF(c[V>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[U>>2]|0,c[U>>2]|0,c[N>>2]|0,c[O>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){eF(c[V>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[U>>2]|0,c[U>>2]|0,c[N>>2]|0,c[O>>2]|0);break b}b=c[T>>2]|0;if((c[D>>2]|0)==13){ey(b,16,c[(c[M>>2]|0)+8>>2]|0)|0;break b}else{Qu(b,87,c[U>>2]|0,c[N>>2]|0)|0;$y(c[V>>2]|0,c[U>>2]|0,c[N>>2]|0);break b}}case 7:case 8:{c[K>>2]=0;c[L>>2]=c[(c[M>>2]|0)+20>>2];c[H>>2]=c[c[L>>2]>>2];c[I>>2]=Ov(c[V>>2]|0)|0;c[J>>2]=My(c[V>>2]|0,(c[H>>2]|0)+2|0)|0;c[B>>2]=(c[J>>2]|0)+(c[H>>2]|0)+1;if((c[D>>2]|0)==8)c[K>>2]=zy(c[T>>2]|0,31,(c[P>>2]|0)+1|0,0,c[U>>2]|0,c[N>>2]|0)|0;Ru(c[T>>2]|0,99,c[U>>2]|0,c[N>>2]|0,c[B>>2]|0)|0;if((c[D>>2]|0)==8){Qu(c[T>>2]|0,126,(c[P>>2]|0)+1|0,c[B>>2]|0)|0;jy(c[T>>2]|0,16)}c[C>>2]=0;while(1){b=c[T>>2]|0;if((c[C>>2]|0)>=(c[H>>2]|0))break;Qu(b,85,(c[U>>2]|0)+(e[(c[(c[L>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]|0)-1|0,(c[J>>2]|0)+(c[C>>2]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+1}Qu(b,113,c[P>>2]|0,(c[J>>2]|0)+(c[H>>2]|0)|0)|0;Ru(c[T>>2]|0,99,c[J>>2]|0,(c[H>>2]|0)+2|0,c[I>>2]|0)|0;Qu(c[T>>2]|0,126,c[P>>2]|0,c[I>>2]|0)|0;if(c[K>>2]|0)ny(c[T>>2]|0,c[K>>2]|0);Qv(c[V>>2]|0,c[I>>2]|0);Py(c[V>>2]|0,c[J>>2]|0,(c[H>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){l=W;return}if(!(c[(c[Q>>2]|0)+12>>2]|0)){l=W;return}Qu(c[T>>2]|0,68,c[(c[Q>>2]|0)+12>>2]|0,c[S>>2]|0)|0;l=W;return}function ME(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=h;return}c[f>>2]=c[(c[e>>2]|0)+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[e>>2]>>2]|0))break;NE(c[d>>2]|0,c[c[f>>2]>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+20}l=h;return}function NE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=211;c[f+8>>2]=212;c[f+24>>2]=c[g>>2];Kw(f,c[e>>2]|0)|0;l=d;return}function OE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+409>>0]|0|0)!=2){l=j;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[i>>2]=c[f>>2];c[h>>2]=Wj(b,35245,i)|0;Uu(c[g>>2]|0,162,c[(c[e>>2]|0)+420>>2]|0,0,0,c[h>>2]|0,-1)|0;l=j;return}function PE(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+44>>0]|0|0}function QE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;j=f+4|0;g=f;c[i>>2]=a;c[h>>2]=b;c[j>>2]=d;c[g>>2]=e;Ru(c[(c[i>>2]|0)+8>>2]|0,83,c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;Qy(c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return} +function Rt(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=l;l=l+256|0;q=oa;ka=oa+244|0;la=oa+240|0;ma=oa+236|0;na=oa+232|0;V=oa+228|0;X=oa+224|0;B=oa+220|0;Y=oa+216|0;Z=oa+212|0;r=oa+208|0;_=oa+204|0;$=oa+200|0;aa=oa+196|0;s=oa+192|0;t=oa+188|0;ba=oa+184|0;ca=oa+180|0;da=oa+176|0;K=oa+172|0;ea=oa+168|0;fa=oa+164|0;y=oa+254|0;C=oa+253|0;L=oa+252|0;z=oa+160|0;ga=oa+152|0;k=oa+120|0;m=oa+112|0;M=oa+108|0;N=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;O=oa+88|0;D=oa+84|0;E=oa+80|0;ia=oa+76|0;P=oa+72|0;u=oa+64|0;ja=oa+56|0;Q=oa+52|0;R=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;S=oa+32|0;n=oa+28|0;o=oa+24|0;p=oa+250|0;v=oa+20|0;w=oa+248|0;x=oa+16|0;G=oa+12|0;T=oa+8|0;U=oa+4|0;c[ka>>2]=f;c[la>>2]=g;c[ma>>2]=h;c[na>>2]=i;c[V>>2]=j;c[Z>>2]=0;c[K>>2]=0;c[ea>>2]=0;c[z>>2]=0;c[ia>>2]=0;c[P>>2]=0;c[ja>>2]=0;c[Q>>2]=0;c[R>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[S>>2]=0;c[ga>>2]=0;c[ga+4>>2]=0;c[da>>2]=c[c[ka>>2]>>2];a:do if(((((c[(c[ka>>2]|0)+36>>2]|0)==0?(d[(c[da>>2]|0)+69>>0]|0)==0:0)?(c[Y>>2]=bA(c[ka>>2]|0,c[la>>2]|0)|0,c[Y>>2]|0):0)?(c[m>>2]=Hu(c[c[ka>>2]>>2]|0,c[(c[Y>>2]|0)+64>>2]|0)|0,c[O>>2]=gB(c[ka>>2]|0,c[Y>>2]|0,110,c[ma>>2]|0,D)|0,c[H>>2]=(c[(c[Y>>2]|0)+12>>2]|0)!=0&1,(ew(c[ka>>2]|0,c[Y>>2]|0)|0)==0):0)?(hB(c[ka>>2]|0,c[Y>>2]|0,c[D>>2]|0)|0)==0:0){i=(c[ka>>2]|0)+40|0;j=c[i>>2]|0;c[i>>2]=j+1;c[ba>>2]=j;c[t>>2]=j;c[(c[la>>2]|0)+8+44>>2]=j;c[ca>>2]=(c[ba>>2]|0)+1;if(!(d[(c[Y>>2]|0)+42>>0]&32))f=0;else f=uv(c[Y>>2]|0)|0;c[aa>>2]=f;c[s>>2]=0;c[$>>2]=c[(c[Y>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break;if(c[aa>>2]|0?(a[(c[$>>2]|0)+55>>0]&3|0)==2:0){c[ba>>2]=c[(c[ka>>2]|0)+40>>2];c[(c[la>>2]|0)+8+44>>2]=c[ba>>2]}j=(c[ka>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+1;c[$>>2]=c[(c[$>>2]|0)+20>>2];c[s>>2]=(c[s>>2]|0)+1}c[ea>>2]=Ed(c[da>>2]|0,((b[(c[Y>>2]|0)+34>>1]|0)+(c[s>>2]|0)<<2)+(c[s>>2]|0)+2|0,0)|0;if(c[ea>>2]|0){c[K>>2]=(c[ea>>2]|0)+(b[(c[Y>>2]|0)+34>>1]<<2);c[fa>>2]=(c[K>>2]|0)+(c[s>>2]<<2);m0(c[fa>>2]|0,1,(c[s>>2]|0)+1|0)|0;a[(c[fa>>2]|0)+((c[s>>2]|0)+1)>>0]=0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break;c[(c[ea>>2]|0)+(c[X>>2]<<2)>>2]=-1;c[X>>2]=(c[X>>2]|0)+1}c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=c[ka>>2];c[k+4>>2]=c[la>>2];a[y>>0]=0;a[C>>0]=0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[c[ma>>2]>>2]|0))break;if(Ow(k,c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0)break a;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break;j=(bh(c[(c[(c[Y>>2]|0)+4>>2]|0)+(c[B>>2]<<4)>>2]|0,c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+4>>2]|0)|0)==0;f=c[B>>2]|0;if(j){J=23;break}c[B>>2]=f+1}if((J|0)==23){J=0;if((f|0)!=(b[(c[Y>>2]|0)+32>>1]|0)){if(c[aa>>2]|0?d[(c[(c[Y>>2]|0)+4>>2]|0)+(c[B>>2]<<4)+15>>0]&1|0:0)a[y>>0]=1}else{a[C>>0]=1;c[z>>2]=c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]}c[(c[ea>>2]|0)+(c[B>>2]<<2)>>2]=c[X>>2]}if((c[B>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0)){if(c[aa>>2]|0){J=34;break}if(!(wx(c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[B>>2]=-1;a[C>>0]=1;c[z>>2]=c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]}if((c[B>>2]|0)<0)f=29445;else f=c[(c[(c[Y>>2]|0)+4>>2]|0)+(c[B>>2]<<4)>>2]|0;c[n>>2]=Iu(c[ka>>2]|0,23,c[c[Y>>2]>>2]|0,f,c[(c[(c[da>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1)break a;if((c[n>>2]|0)==2)c[(c[ea>>2]|0)+(c[B>>2]<<2)>>2]=-1;c[X>>2]=(c[X>>2]|0)+1}if((J|0)==34){ja=c[ka>>2]|0;c[q>>2]=c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+4>>2];sl(ja,34753,q);a[(c[ka>>2]|0)+17>>0]=1;break}a[L>>0]=(d[C>>0]|0)+(d[y>>0]|0);n=(d[(c[Y>>2]|0)+42>>0]&16|0)!=0;q=(c[la>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[N>>2]=zD(c[ka>>2]|0,c[Y>>2]|0,c[ea>>2]|0,d[L>>0]|0)|0;c[B>>2]=0;c[$>>2]=c[(c[Y>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break;b:do if((!((d[L>>0]|0)!=0|(c[N>>2]|0)!=0)?!(c[(c[$>>2]|0)+36>>2]|0):0)?(c[$>>2]|0)!=(c[aa>>2]|0):0){c[o>>2]=0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[(c[$>>2]|0)+50>>1]|0))break b;b[p>>1]=b[(c[(c[$>>2]|0)+4>>2]|0)+(c[X>>2]<<1)>>1]|0;if((b[p>>1]|0)<0)break;if((c[(c[ea>>2]|0)+(b[p>>1]<<2)>>2]|0)>=0)break;c[X>>2]=(c[X>>2]|0)+1}n=(c[ka>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[ka>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[fa>>2]|0)+((c[B>>2]|0)+1)>>0]=0;c[(c[K>>2]|0)+(c[B>>2]<<2)>>2]=c[o>>2];c[$>>2]=c[(c[$>>2]|0)+20>>2];c[B>>2]=(c[B>>2]|0)+1}c[_>>2]=Lu(c[ka>>2]|0)|0;if(c[_>>2]|0){if(!(d[(c[ka>>2]|0)+18>>0]|0))iB(c[_>>2]|0);cv(c[ka>>2]|0,1,c[m>>2]|0);if(!(d[(c[Y>>2]|0)+42>>0]&16)){q=(c[ka>>2]|0)+44|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[A>>2]=p;p=(c[ka>>2]|0)+44|0;q=(c[p>>2]|0)+1|0;c[p>>2]=q;c[R>>2]=q;c[Q>>2]=q;if((d[y>>0]|0)!=0|(c[O>>2]|0)!=0|(c[N>>2]|0)!=0){c[F>>2]=(c[(c[ka>>2]|0)+44>>2]|0)+1;q=(c[ka>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[Y>>2]|0)+34>>1]|0)}if((d[L>>0]|0)!=0|(c[O>>2]|0)!=0|(c[N>>2]|0)!=0){p=(c[ka>>2]|0)+44|0;q=(c[p>>2]|0)+1|0;c[p>>2]=q;c[R>>2]=q}c[I>>2]=(c[(c[ka>>2]|0)+44>>2]|0)+1;q=(c[ka>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[Y>>2]|0)+34>>1]|0)}if(c[H>>2]|0)rE(c[ka>>2]|0,ga,c[c[Y>>2]>>2]|0);if(c[H>>2]|0)sE(c[ka>>2]|0,c[Y>>2]|0,c[na>>2]|0,c[ba>>2]|0);if(!(Ow(k,c[na>>2]|0)|0)){if(d[(c[Y>>2]|0)+42>>0]&16|0){tE(c[ka>>2]|0,c[la>>2]|0,c[Y>>2]|0,c[ma>>2]|0,c[z>>2]|0,c[ea>>2]|0,c[na>>2]|0,c[V>>2]|0);break}if(!(d[(c[Y>>2]|0)+42>>0]&32)){Ru(c[_>>2]|0,79,0,c[A>>2]|0,c[Q>>2]|0)|0;c[r>>2]=FB(c[ka>>2]|0,c[la>>2]|0,c[na>>2]|0,0,0,1028,c[ca>>2]|0)|0;if(!(c[r>>2]|0))break;c[M>>2]=uE(c[r>>2]|0,u)|0;Qu(c[_>>2]|0,123,c[ba>>2]|0,c[Q>>2]|0)|0;if(!(c[M>>2]|0))Qu(c[_>>2]|0,142,c[A>>2]|0,c[Q>>2]|0)|0;GB(c[r>>2]|0)}else{b[w>>1]=b[(c[aa>>2]|0)+50>>1]|0;c[v>>2]=(c[(c[ka>>2]|0)+44>>2]|0)+1;q=(c[ka>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[ka>>2]|0)+44|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[S>>2]=p;p=(c[ka>>2]|0)+40|0;q=c[p>>2]|0;c[p>>2]=q+1;c[ia>>2]=q;Qu(c[_>>2]|0,79,0,c[v>>2]|0)|0;c[x>>2]=Qu(c[_>>2]|0,107,c[ia>>2]|0,b[w>>1]|0)|0;iy(c[ka>>2]|0,c[aa>>2]|0);c[r>>2]=FB(c[ka>>2]|0,c[la>>2]|0,c[na>>2]|0,0,0,4,c[ca>>2]|0)|0;if(!(c[r>>2]|0))break;c[M>>2]=uE(c[r>>2]|0,u)|0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[w>>1]|0))break;Ty(c[_>>2]|0,c[Y>>2]|0,c[ba>>2]|0,b[(c[(c[aa>>2]|0)+4>>2]|0)+(c[X>>2]<<1)>>1]|0,(c[v>>2]|0)+(c[X>>2]|0)|0);c[X>>2]=(c[X>>2]|0)+1}f=c[_>>2]|0;if(c[M>>2]|0){Ry(f,c[x>>2]|0)|0;c[P>>2]=b[w>>1];c[S>>2]=c[v>>2]}else{p=c[v>>2]|0;q=b[w>>1]|0;v=c[S>>2]|0;x=CA(c[da>>2]|0,c[aa>>2]|0)|0;Uu(f,99,p,q,v,x,b[w>>1]|0)|0;Qu(c[_>>2]|0,126,c[ia>>2]|0,c[S>>2]|0)|0}GB(c[r>>2]|0)}if(c[(c[da>>2]|0)+24>>2]&128|0?(c[(c[ka>>2]|0)+128>>2]|0)==0:0){w=(c[ka>>2]|0)+44|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[ja>>2]=x;Qu(c[_>>2]|0,76,0,c[ja>>2]|0)|0}c[ha>>2]=ky(c[_>>2]|0)|0;if(!(c[H>>2]|0)){c:do if((c[V>>2]|0)==5)m0(c[fa>>2]|0,1,(c[s>>2]|0)+1|0)|0;else{c[$>>2]=c[(c[Y>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break c;if((d[(c[$>>2]|0)+54>>0]|0)==5)break;c[$>>2]=c[(c[$>>2]|0)+20>>2]}m0(c[fa>>2]|0,1,(c[s>>2]|0)+1|0)|0}while(0);do if(c[M>>2]|0){if((c[u>>2]|0)>=0)a[(c[fa>>2]|0)+((c[u>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[u+4>>2]|0)<0)break;a[(c[fa>>2]|0)+((c[u+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);FA(c[ka>>2]|0,c[Y>>2]|0,105,0,c[t>>2]|0,c[fa>>2]|0,0,0)|0}do if(!(c[M>>2]|0)){f=c[_>>2]|0;if(c[aa>>2]|0){c[W>>2]=ky(f)|0;Qu(c[_>>2]|0,57,c[ia>>2]|0,c[ha>>2]|0)|0;c[Z>>2]=Qu(c[_>>2]|0,121,c[ia>>2]|0,c[S>>2]|0)|0;zy(c[_>>2]|0,30,c[ba>>2]|0,c[W>>2]|0,c[S>>2]|0,0)|0;break}else{c[W>>2]=Ru(f,62,c[A>>2]|0,c[ha>>2]|0,c[Q>>2]|0)|0;Ru(c[_>>2]|0,33,c[ba>>2]|0,c[W>>2]|0,c[Q>>2]|0)|0;break}}else{if(!(c[H>>2]|0?1:(d[(c[fa>>2]|0)+((c[ba>>2]|0)-(c[t>>2]|0))>>0]|0)==0))zy(c[_>>2]|0,30,c[ba>>2]|0,c[ha>>2]|0,c[S>>2]|0,c[P>>2]|0)|0;c[W>>2]=c[ha>>2];Qu(c[_>>2]|0,34,c[aa>>2]|0?c[S>>2]|0:c[Q>>2]|0,c[ha>>2]|0)|0}while(0);if(a[C>>0]|0){Wy(c[ka>>2]|0,c[z>>2]|0,c[R>>2]|0);ey(c[_>>2]|0,17,c[R>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[N>>2]|0)!=0|(c[O>>2]|0)!=0){if(c[N>>2]|0)f=ED(c[ka>>2]|0,c[Y>>2]|0)|0;else f=0;c[G>>2]=f;A=DD(c[ka>>2]|0,c[O>>2]|0,c[ma>>2]|0,0,3,c[Y>>2]|0,c[V>>2]|0)|0;c[G>>2]=c[G>>2]|A;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break;do if((c[G>>2]|0)==-1)J=120;else{if((c[X>>2]|0)<32?c[G>>2]&1<>2]|0:0){J=120;break}if(d[(c[(c[Y>>2]|0)+4>>2]|0)+(c[X>>2]<<4)+15>>0]&1|0){J=120;break}Qu(c[_>>2]|0,79,0,(c[F>>2]|0)+(c[X>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;Ty(c[_>>2]|0,c[Y>>2]|0,c[ba>>2]|0,c[X>>2]|0,(c[F>>2]|0)+(c[X>>2]|0)|0)}c[X>>2]=(c[X>>2]|0)+1}if(!((d[C>>0]|0)==0&(c[aa>>2]|0)==0))break;Qu(c[_>>2]|0,84,c[Q>>2]|0,c[R>>2]|0)|0}while(0);c[E>>2]=DD(c[ka>>2]|0,c[O>>2]|0,c[ma>>2]|0,1,1,c[Y>>2]|0,c[V>>2]|0)|0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break;d:do if((c[X>>2]|0)==(b[(c[Y>>2]|0)+32>>1]|0))Qu(c[_>>2]|0,79,0,(c[I>>2]|0)+(c[X>>2]|0)|0)|0;else{c[B>>2]=c[(c[ea>>2]|0)+(c[X>>2]<<2)>>2];if((c[B>>2]|0)>=0){Wy(c[ka>>2]|0,c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[X>>2]|0)|0);break}do if(!((c[X>>2]|0)>31?1:0==(c[D>>2]&1|0))){if(c[E>>2]&1<>2]|0)break;Qu(c[_>>2]|0,79,0,(c[I>>2]|0)+(c[X>>2]|0)|0)|0;break d}while(0);kC(c[ka>>2]|0,c[Y>>2]|0,c[X>>2]|0,c[ba>>2]|0,(c[I>>2]|0)+(c[X>>2]|0)|0)}while(0);c[X>>2]=(c[X>>2]|0)+1}e:do if(c[D>>2]&1|0){oB(c[_>>2]|0,c[Y>>2]|0,c[I>>2]|0);pB(c[ka>>2]|0,c[O>>2]|0,110,c[ma>>2]|0,1,c[Y>>2]|0,c[Q>>2]|0,c[V>>2]|0,c[W>>2]|0);f=c[_>>2]|0;g=c[ba>>2]|0;h=c[W>>2]|0;if(c[aa>>2]|0)zy(f,30,g,h,c[S>>2]|0,c[P>>2]|0)|0;else Ru(f,33,g,h,c[Q>>2]|0)|0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break e;do if((c[(c[ea>>2]|0)+(c[X>>2]<<2)>>2]|0)<0){if((c[X>>2]|0)==(b[(c[Y>>2]|0)+32>>1]|0))break;Ty(c[_>>2]|0,c[Y>>2]|0,c[ba>>2]|0,c[X>>2]|0,(c[I>>2]|0)+(c[X>>2]|0)|0)}while(0);c[X>>2]=(c[X>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[T>>2]=0;c[U>>2]=0;tB(c[ka>>2]|0,c[Y>>2]|0,c[K>>2]|0,c[ba>>2]|0,c[ca>>2]|0,c[R>>2]|0,c[Q>>2]|0,a[L>>0]|0,c[V>>2]&255,c[W>>2]|0,U,c[ea>>2]|0);if(c[N>>2]|0)uB(c[ka>>2]|0,c[Y>>2]|0,c[Q>>2]|0,0,c[ea>>2]|0,d[L>>0]|0);if(!(!(c[U>>2]|0)?!(d[L>>0]|0):0))J=151;do if((J|0)==151){f=c[_>>2]|0;g=c[ba>>2]|0;if(c[aa>>2]|0){c[T>>2]=zy(f,30,g,0,c[S>>2]|0,c[P>>2]|0)|0;break}else{c[T>>2]=Ru(f,33,g,0,c[Q>>2]|0)|0;break}}while(0);CD(c[ka>>2]|0,c[Y>>2]|0,c[ba>>2]|0,c[ca>>2]|0,c[K>>2]|0,-1);if(!(!(c[N>>2]|0)?!((d[L>>0]|0)!=0|(c[aa>>2]|0)!=0):0))Qu(c[_>>2]|0,117,c[ba>>2]|0,0)|0;if(!(!(c[U>>2]|0)?!(d[L>>0]|0):0))ny(c[_>>2]|0,c[T>>2]|0);if(c[N>>2]|0)uB(c[ka>>2]|0,c[Y>>2]|0,0,c[R>>2]|0,c[ea>>2]|0,d[L>>0]|0);vB(c[ka>>2]|0,c[Y>>2]|0,c[ba>>2]|0,c[ca>>2]|0,c[R>>2]|0,c[K>>2]|0,1,0,0);if(!(c[N>>2]|0))break;FD(c[ka>>2]|0,c[Y>>2]|0,c[ma>>2]|0,c[Q>>2]|0,c[ea>>2]|0,d[L>>0]|0)}while(0);do if(c[(c[da>>2]|0)+24>>2]&128|0){if(c[(c[ka>>2]|0)+128>>2]|0)break;Qu(c[_>>2]|0,91,c[ja>>2]|0,1)|0}while(0);pB(c[ka>>2]|0,c[O>>2]|0,110,c[ma>>2]|0,2,c[Y>>2]|0,c[Q>>2]|0,c[V>>2]|0,c[W>>2]|0);do if(!(c[M>>2]|0)){g=c[_>>2]|0;f=c[W>>2]|0;if(c[aa>>2]|0){oy(g,f);Qu(c[_>>2]|0,7,c[ia>>2]|0,c[Z>>2]|0)|0;break}else{my(g,f)|0;break}}while(0);oy(c[_>>2]|0,c[ha>>2]|0);c[X>>2]=0;c[$>>2]=c[(c[Y>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break;if(a[(c[fa>>2]|0)+((c[X>>2]|0)+1)>>0]|0)Qu(c[_>>2]|0,111,(c[ca>>2]|0)+(c[X>>2]|0)|0,0)|0;c[$>>2]=c[(c[$>>2]|0)+20>>2];c[X>>2]=(c[X>>2]|0)+1}if((c[ba>>2]|0)<(c[ca>>2]|0))Qu(c[_>>2]|0,111,c[ba>>2]|0,0)|0;do if(!(d[(c[ka>>2]|0)+18>>0]|0)){if(c[(c[ka>>2]|0)+128>>2]|0)break;wB(c[ka>>2]|0)}while(0);if(!(c[(c[da>>2]|0)+24>>2]&128))break;if(c[(c[ka>>2]|0)+128>>2]|0)break;if(a[(c[ka>>2]|0)+18>>0]|0)break;Qu(c[_>>2]|0,87,c[ja>>2]|0,1)|0;Rs(c[_>>2]|0,1);Ss(c[_>>2]|0,0,0,34772,0)|0}}}}while(0);vE(ga);Xd(c[da>>2]|0,c[ea>>2]|0);Rk(c[da>>2]|0,c[la>>2]|0);Kk(c[da>>2]|0,c[ma>>2]|0);Ok(c[da>>2]|0,c[na>>2]|0);l=oa;return}function St(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;j=r+40|0;k=r+36|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[c[j>>2]>>2];if(c[k>>2]|0)a=c[c[k>>2]>>2]|0;else a=0;c[h>>2]=a;do if(!((c[m>>2]|0)==0|(c[n>>2]|0)==0)){c[p>>2]=rx(c[n>>2]|0)|0;if((c[(c[m>>2]|0)+4>>2]|0)!=(c[p>>2]|0)){j=c[j>>2]|0;p=c[p>>2]|0;c[q>>2]=c[(c[m>>2]|0)+4>>2];c[q+4>>2]=p;sl(j,34723,q);break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[p>>2]|0))break;c[i>>2]=qD(c[j>>2]|0,c[n>>2]|0,c[g>>2]|0)|0;c[k>>2]=Et(c[j>>2]|0,c[k>>2]|0,c[i>>2]|0)|0;if(c[k>>2]|0){c[(c[(c[k>>2]|0)+4>>2]|0)+(((c[c[k>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[c[m>>2]>>2]|0)+(c[g>>2]<<3)>>2];c[(c[c[m>>2]>>2]|0)+(c[g>>2]<<3)>>2]=0}c[g>>2]=(c[g>>2]|0)+1}if((c[k>>2]|0?(d[c[n>>2]>>0]|0|0)==119:0)?c[(c[(c[k>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0:0){c[(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)+16>>2]=c[n>>2];c[n>>2]=0}}while(0);Ok(c[o>>2]|0,c[n>>2]|0);Tk(c[o>>2]|0,c[m>>2]|0);l=r;return c[k>>2]|0}function Tt(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=l;l=l+304|0;D=oa+32|0;C=oa+16|0;B=oa;fa=oa+284|0;ka=oa+280|0;la=oa+276|0;ma=oa+272|0;na=oa+268|0;F=oa+264|0;G=oa+260|0;j=oa+256|0;H=oa+252|0;I=oa+248|0;J=oa+244|0;K=oa+240|0;L=oa+236|0;M=oa+232|0;N=oa+228|0;O=oa+224|0;P=oa+220|0;Q=oa+216|0;R=oa+212|0;S=oa+208|0;T=oa+204|0;U=oa+200|0;k=oa+176|0;m=oa+172|0;V=oa+291|0;W=oa+290|0;n=oa+289|0;o=oa+288|0;X=oa+168|0;Y=oa+164|0;Z=oa+160|0;_=oa+156|0;$=oa+152|0;aa=oa+148|0;ba=oa+144|0;ca=oa+140|0;da=oa+136|0;ea=oa+132|0;p=oa+128|0;q=oa+124|0;r=oa+120|0;s=oa+116|0;t=oa+112|0;u=oa+108|0;v=oa+104|0;w=oa+72|0;x=oa+68|0;y=oa+64|0;z=oa+60|0;A=oa+56|0;ga=oa+52|0;ha=oa+48|0;ia=oa+44|0;ja=oa+40|0;c[fa>>2]=e;c[ka>>2]=f;c[la>>2]=g;c[ma>>2]=h;c[na>>2]=i;c[N>>2]=0;c[O>>2]=0;c[P>>2]=0;c[Q>>2]=-1;c[S>>2]=0;c[T>>2]=0;c[U>>2]=0;a[V>>0]=0;a[W>>0]=0;c[X>>2]=0;c[Y>>2]=0;c[Z>>2]=0;c[_>>2]=0;c[ca>>2]=0;c[F>>2]=c[c[fa>>2]>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;a:do if((c[(c[fa>>2]|0)+36>>2]|0)==0?(d[(c[F>>2]|0)+69>>0]|0)==0:0){if((c[la>>2]|0?c[(c[la>>2]|0)+8>>2]&512|0:0)?(c[(c[la>>2]|0)+48>>2]|0)==0:0){c[X>>2]=c[c[la>>2]>>2];c[c[la>>2]>>2]=0;Jk(c[F>>2]|0,c[la>>2]|0);c[la>>2]=0}c[j>>2]=c[(c[ka>>2]|0)+8+8>>2];if(((((c[j>>2]|0?(c[G>>2]=bA(c[fa>>2]|0,c[ka>>2]|0)|0,c[G>>2]|0):0)?(c[m>>2]=Hu(c[F>>2]|0,c[(c[G>>2]|0)+64>>2]|0)|0,(Iu(c[fa>>2]|0,18,c[c[G>>2]>>2]|0,0,c[(c[(c[F>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)==0):0)?(a[n>>0]=((d[(c[G>>2]|0)+42>>0]&32|0)==0^1)&1,c[ea>>2]=gB(c[fa>>2]|0,c[G>>2]|0,108,0,p)|0,c[da>>2]=(c[(c[G>>2]|0)+12>>2]|0)!=0&1,(ew(c[fa>>2]|0,c[G>>2]|0)|0)==0):0)?(hB(c[fa>>2]|0,c[G>>2]|0,c[p>>2]|0)|0)==0:0)?(c[K>>2]=Lu(c[fa>>2]|0)|0,c[K>>2]|0):0){if(!(d[(c[fa>>2]|0)+18>>0]|0))iB(c[K>>2]|0);cv(c[fa>>2]|0,(c[la>>2]|0?1:(c[ea>>2]|0)!=0)&1,c[m>>2]|0);if(!((c[ma>>2]|0)==0?(jB(c[fa>>2]|0,c[G>>2]|0,c[la>>2]|0,c[na>>2]|0,c[m>>2]|0)|0)!=0:0))E=17;b:do if((E|0)==17){c[Z>>2]=kB(c[fa>>2]|0,c[m>>2]|0,c[G>>2]|0)|0;i=(c[(c[fa>>2]|0)+44>>2]|0)+1|0;c[$>>2]=i;c[aa>>2]=i;i=(c[fa>>2]|0)+44|0;c[i>>2]=(c[i>>2]|0)+((b[(c[G>>2]|0)+34>>1]|0)+1);if(d[(c[G>>2]|0)+42>>0]&16|0){c[aa>>2]=(c[aa>>2]|0)+1;i=(c[fa>>2]|0)+44|0;c[i>>2]=(c[i>>2]|0)+1}c[ba>>2]=(c[aa>>2]|0)+1;a[o>>0]=(d[(c[G>>2]|0)+42>>0]&128|0)==0;c:do if(c[ma>>2]|0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0))break;c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)+4>>2]=-1;c[H>>2]=(c[H>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0))break c;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break;i=(bh(c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+(c[I>>2]<<4)>>2]|0)|0)==0;e=c[I>>2]|0;if(i){E=28;break}c[I>>2]=e+1}do if((E|0)==28){E=0;c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)+4>>2]=e;if((c[H>>2]|0)!=(c[I>>2]|0))a[o>>0]=0;if((c[I>>2]|0)!=(b[(c[G>>2]|0)+32>>1]|0))break;c[Q>>2]=c[H>>2]}while(0);if((c[I>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0)){i=(wx(c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)>>2]|0)|0)==0;if(i|(a[n>>0]|0)!=0)break;c[Q>>2]=c[H>>2];a[o>>0]=0}c[H>>2]=(c[H>>2]|0)+1}na=c[fa>>2]|0;ja=c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)>>2]|0;c[B>>2]=c[ka>>2];c[B+4>>2]=0;c[B+8>>2]=ja;sl(na,33877,B);a[(c[fa>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[la>>2]|0)){c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[w+24>>2]=0;c[w+28>>2]=0;c[w>>2]=c[fa>>2];c[S>>2]=-1;if(c[X>>2]|0){c[M>>2]=c[c[X>>2]>>2];if(Pw(w,c[X>>2]|0)|0)break a;else break}else{c[M>>2]=0;break}}else{w=(c[fa>>2]|0)+44|0;B=(c[w>>2]|0)+1|0;c[w>>2]=B;c[q>>2]=B;c[r>>2]=(Pv(c[K>>2]|0)|0)+1;Ru(c[K>>2]|0,15,c[q>>2]|0,0,c[r>>2]|0)|0;Az(k,13,c[q>>2]|0);c[k+12>>2]=d[o>>0]|0?c[ba>>2]|0:0;c[k+16>>2]=b[(c[G>>2]|0)+34>>1];c[s>>2]=At(c[fa>>2]|0,c[la>>2]|0,k)|0;c[Y>>2]=c[k+12>>2];if(c[s>>2]|0)break a;if(d[(c[F>>2]|0)+69>>0]|0)break a;if(c[(c[fa>>2]|0)+36>>2]|0)break a;lB(c[K>>2]|0,c[q>>2]|0);ny(c[K>>2]|0,(c[r>>2]|0)-1|0);c[M>>2]=c[c[c[la>>2]>>2]>>2];if(!(!(c[ea>>2]|0)?!(mB(c[fa>>2]|0,c[m>>2]|0,c[G>>2]|0)|0):0))a[V>>0]=1;if(!(a[V>>0]|0))break;w=(c[fa>>2]|0)+40|0;B=c[w>>2]|0;c[w>>2]=B+1;c[S>>2]=B;c[t>>2]=Ov(c[fa>>2]|0)|0;c[u>>2]=Ov(c[fa>>2]|0)|0;Qu(c[K>>2]|0,107,c[S>>2]|0,c[M>>2]|0)|0;c[v>>2]=ey(c[K>>2]|0,16,c[k+8>>2]|0)|0;Ru(c[K>>2]|0,99,c[Y>>2]|0,c[M>>2]|0,c[t>>2]|0)|0;Qu(c[K>>2]|0,114,c[S>>2]|0,c[u>>2]|0)|0;Ru(c[K>>2]|0,115,c[S>>2]|0,c[t>>2]|0,c[u>>2]|0)|0;my(c[K>>2]|0,c[v>>2]|0)|0;ny(c[K>>2]|0,c[v>>2]|0);Qv(c[fa>>2]|0,c[t>>2]|0);Qv(c[fa>>2]|0,c[u>>2]|0)}while(0);if((c[ma>>2]|0)==0&(c[M>>2]|0)>0)c[Q>>2]=b[(c[G>>2]|0)+32>>1];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break;c[N>>2]=(c[N>>2]|0)+(d[(c[(c[G>>2]|0)+4>>2]|0)+(c[H>>2]<<4)+15>>0]&2|0?1:0);c[H>>2]=(c[H>>2]|0)+1}if((c[ma>>2]|0)==0&(c[M>>2]|0)!=0?(c[M>>2]|0)!=((b[(c[G>>2]|0)+34>>1]|0)-(c[N>>2]|0)|0):0){na=c[fa>>2]|0;ia=(b[(c[G>>2]|0)+34>>1]|0)-(c[N>>2]|0)|0;ja=c[M>>2]|0;c[C>>2]=c[ka>>2];c[C+4>>2]=0;c[C+8>>2]=ia;c[C+12>>2]=ja;sl(na,33909,C);break a}do if(c[ma>>2]|0){if((c[M>>2]|0)==(c[(c[ma>>2]|0)+4>>2]|0))break;na=c[fa>>2]|0;ja=c[(c[ma>>2]|0)+4>>2]|0;c[D>>2]=c[M>>2];c[D+4>>2]=ja;sl(na,33961,D);break a}while(0);if(c[(c[F>>2]|0)+24>>2]&128|0){C=(c[fa>>2]|0)+44|0;D=(c[C>>2]|0)+1|0;c[C>>2]=D;c[_>>2]=D;Qu(c[K>>2]|0,76,0,c[_>>2]|0)|0}d:do if(!(c[da>>2]|0)){c[x>>2]=FA(c[fa>>2]|0,c[G>>2]|0,105,0,-1,0,O,P)|0;c[ca>>2]=Ed(c[F>>2]|0,(c[x>>2]|0)+1<<2,0)|0;if(!(c[ca>>2]|0))break a;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[x>>2]|0))break d;C=(c[fa>>2]|0)+44|0;D=(c[C>>2]|0)+1|0;c[C>>2]=D;c[(c[ca>>2]|0)+(c[H>>2]<<2)>>2]=D;c[H>>2]=(c[H>>2]|0)+1}}while(0);do if(a[V>>0]|0){c[T>>2]=ey(c[K>>2]|0,57,c[S>>2]|0)|0;c[U>>2]=Pv(c[K>>2]|0)|0}else{if(!(c[la>>2]|0))break;D=ey(c[K>>2]|0,16,c[k+8>>2]|0)|0;c[U>>2]=D;c[T>>2]=D}while(0);c[R>>2]=ky(c[K>>2]|0)|0;if(c[p>>2]&1|0){c[y>>2]=My(c[fa>>2]|0,(b[(c[G>>2]|0)+34>>1]|0)+1|0)|0;if((c[Q>>2]|0)<0)Qu(c[K>>2]|0,76,-1,c[y>>2]|0)|0;else{if(a[V>>0]|0)Ru(c[K>>2]|0,96,c[S>>2]|0,c[Q>>2]|0,c[y>>2]|0)|0;else Wy(c[fa>>2]|0,c[(c[(c[X>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)>>2]|0,c[y>>2]|0);c[z>>2]=ey(c[K>>2]|0,35,c[y>>2]|0)|0;Qu(c[K>>2]|0,76,-1,c[y>>2]|0)|0;ny(c[K>>2]|0,c[z>>2]|0);ey(c[K>>2]|0,17,c[y>>2]|0)|0}c[I>>2]=0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break;e:do if(c[ma>>2]|0){c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0))break e;if((c[(c[c[ma>>2]>>2]|0)+(c[I>>2]<<3)+4>>2]|0)==(c[H>>2]|0))break e;c[I>>2]=(c[I>>2]|0)+1}}while(0);do if((a[V>>0]|0)!=0|(c[X>>2]|0)!=0){if(c[ma>>2]|0?(c[I>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0):0){E=90;break}if(a[V>>0]|0){Ru(c[K>>2]|0,96,c[S>>2]|0,c[I>>2]|0,(c[y>>2]|0)+(c[H>>2]|0)+1|0)|0;break}else{nB(c[fa>>2]|0,c[(c[(c[X>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2]|0,(c[y>>2]|0)+(c[H>>2]|0)+1|0);break}}else E=90;while(0);if((E|0)==90){E=0;Wy(c[fa>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+(c[H>>2]<<4)+4>>2]|0,(c[y>>2]|0)+(c[H>>2]|0)+1|0)}if(!(c[ma>>2]|0))c[I>>2]=(c[I>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}if(!(c[da>>2]|0))oB(c[K>>2]|0,c[G>>2]|0,(c[y>>2]|0)+1|0);pB(c[fa>>2]|0,c[ea>>2]|0,108,0,1,c[G>>2]|0,(c[y>>2]|0)-(b[(c[G>>2]|0)+34>>1]|0)-1|0,c[na>>2]|0,c[R>>2]|0);Py(c[fa>>2]|0,c[y>>2]|0,(b[(c[G>>2]|0)+34>>1]|0)+1|0)}do if(!(c[da>>2]|0)){if(d[(c[G>>2]|0)+42>>0]&16|0)Qu(c[K>>2]|0,79,0,c[$>>2]|0)|0;f:do if((c[Q>>2]|0)>=0){do if(a[V>>0]|0)Ru(c[K>>2]|0,96,c[S>>2]|0,c[Q>>2]|0,c[aa>>2]|0)|0;else{if(c[la>>2]|0){Qu(c[K>>2]|0,84,(c[Y>>2]|0)+(c[Q>>2]|0)|0,c[aa>>2]|0)|0;break}Wy(c[fa>>2]|0,c[(c[(c[X>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)>>2]|0,c[aa>>2]|0);c[A>>2]=uy(c[K>>2]|0,-1)|0;if(!(c[A>>2]|0))break;if((d[c[A>>2]>>0]|0)!=79)break;if(d[(c[G>>2]|0)+42>>0]&16|0)break;a[W>>0]=1;a[c[A>>2]>>0]=114;c[(c[A>>2]|0)+4>>2]=c[O>>2];c[(c[A>>2]|0)+8>>2]=c[aa>>2];c[(c[A>>2]|0)+12>>2]=c[Z>>2]}while(0);if(a[W>>0]|0)break;e=c[K>>2]|0;if(d[(c[G>>2]|0)+42>>0]&16|0){c[ga>>2]=Pv(e)|0;Qu(c[K>>2]|0,34,c[aa>>2]|0,(c[ga>>2]|0)+2|0)|0}else{c[ga>>2]=ey(e,35,c[aa>>2]|0)|0;Ru(c[K>>2]|0,114,c[O>>2]|0,c[aa>>2]|0,c[Z>>2]|0)|0;ny(c[K>>2]|0,c[ga>>2]|0)}ey(c[K>>2]|0,17,c[aa>>2]|0)|0}else{do if(!(d[(c[G>>2]|0)+42>>0]&16)){if(d[n>>0]|0)break;Ru(c[K>>2]|0,114,c[O>>2]|0,c[aa>>2]|0,c[Z>>2]|0)|0;a[W>>0]=1;break f}while(0);Qu(c[K>>2]|0,79,0,c[aa>>2]|0)|0}while(0);qB(c[fa>>2]|0,c[Z>>2]|0,c[aa>>2]|0);c[N>>2]=0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break;c[ha>>2]=(c[aa>>2]|0)+1+(c[H>>2]|0);g:do if((c[H>>2]|0)==(b[(c[G>>2]|0)+32>>1]|0))ey(c[K>>2]|0,80,c[ha>>2]|0)|0;else{h:do if(!(c[ma>>2]|0))if(d[(c[(c[G>>2]|0)+4>>2]|0)+(c[H>>2]<<4)+15>>0]&2|0){c[I>>2]=-1;c[N>>2]=(c[N>>2]|0)+1;break}else{c[I>>2]=(c[H>>2]|0)-(c[N>>2]|0);break}else{c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0))break h;if((c[(c[c[ma>>2]>>2]|0)+(c[I>>2]<<3)+4>>2]|0)==(c[H>>2]|0))break h;c[I>>2]=(c[I>>2]|0)+1}}while(0);do if(!((c[I>>2]|0)<0|(c[M>>2]|0)==0)){if(c[ma>>2]|0?(c[I>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0):0)break;if(a[V>>0]|0){Ru(c[K>>2]|0,96,c[S>>2]|0,c[I>>2]|0,c[ha>>2]|0)|0;break g}if(!(c[la>>2]|0)){Wy(c[fa>>2]|0,c[(c[(c[X>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2]|0,c[ha>>2]|0);break g}if((c[Y>>2]|0)==(c[ba>>2]|0))break g;Qu(c[K>>2]|0,85,(c[Y>>2]|0)+(c[I>>2]|0)|0,c[ha>>2]|0)|0;break g}while(0);rB(c[fa>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+(c[H>>2]<<4)+4>>2]|0,c[ha>>2]|0)}while(0);c[H>>2]=(c[H>>2]|0)+1}if(d[(c[G>>2]|0)+42>>0]&16|0){c[ia>>2]=fw(c[F>>2]|0,c[G>>2]|0)|0;sB(c[fa>>2]|0,c[G>>2]|0);Uu(c[K>>2]|0,12,1,(b[(c[G>>2]|0)+34>>1]|0)+2|0,c[$>>2]|0,c[ia>>2]|0,-10)|0;jy(c[K>>2]|0,((c[na>>2]|0)==10?2:c[na>>2]|0)&255);gw(c[fa>>2]|0);break}else{tB(c[fa>>2]|0,c[G>>2]|0,c[ca>>2]|0,c[O>>2]|0,c[P>>2]|0,c[$>>2]|0,0,(c[Q>>2]|0)>=0&255,c[na>>2]&255,c[R>>2]|0,ja,0);uB(c[fa>>2]|0,c[G>>2]|0,0,c[$>>2]|0,0,0);vB(c[fa>>2]|0,c[G>>2]|0,c[O>>2]|0,c[P>>2]|0,c[$>>2]|0,c[ca>>2]|0,0,d[W>>0]|0,(c[ja>>2]|0)==0&1);break}}while(0);if(c[(c[F>>2]|0)+24>>2]&128|0)Qu(c[K>>2]|0,91,c[_>>2]|0,1)|0;if(c[ea>>2]|0)pB(c[fa>>2]|0,c[ea>>2]|0,108,0,2,c[G>>2]|0,(c[ba>>2]|0)-2-(b[(c[G>>2]|0)+34>>1]|0)|0,c[na>>2]|0,c[R>>2]|0);oy(c[K>>2]|0,c[R>>2]|0);do if(a[V>>0]|0){Qu(c[K>>2]|0,7,c[S>>2]|0,c[U>>2]|0)|0;ny(c[K>>2]|0,c[T>>2]|0);ey(c[K>>2]|0,111,c[S>>2]|0)|0}else{if(!(c[la>>2]|0))break;my(c[K>>2]|0,c[U>>2]|0)|0;ny(c[K>>2]|0,c[T>>2]|0)}while(0);if(c[da>>2]|0?1:(d[(c[G>>2]|0)+42>>0]&16|0)!=0)break;if((c[O>>2]|0)<(c[P>>2]|0))ey(c[K>>2]|0,111,c[O>>2]|0)|0;c[J>>2]=0;c[L>>2]=c[(c[G>>2]|0)+8>>2];while(1){if(!(c[L>>2]|0))break b;ey(c[K>>2]|0,111,(c[J>>2]|0)+(c[P>>2]|0)|0)|0;c[L>>2]=c[(c[L>>2]|0)+20>>2];c[J>>2]=(c[J>>2]|0)+1}}while(0);if((d[(c[fa>>2]|0)+18>>0]|0)==0?(c[(c[fa>>2]|0)+128>>2]|0)==0:0)wB(c[fa>>2]|0);if((c[(c[F>>2]|0)+24>>2]&128|0?(a[(c[fa>>2]|0)+18>>0]|0)==0:0)?(c[(c[fa>>2]|0)+128>>2]|0)==0:0){Qu(c[K>>2]|0,87,c[_>>2]|0,1)|0;Rs(c[K>>2]|0,1);Ss(c[K>>2]|0,0,0,33986,0)|0}}}while(0);Rk(c[F>>2]|0,c[ka>>2]|0);Kk(c[F>>2]|0,c[X>>2]|0);Jk(c[F>>2]|0,c[la>>2]|0);Tk(c[F>>2]|0,c[ma>>2]|0);Xd(c[F>>2]|0,c[ca>>2]|0);l=oa;return}function Ut(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;f=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=_l(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}a=fB(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,i)|0;c[c[g>>2]>>2]=a;a=c[e>>2]|0;if((c[i>>2]|0)<0){Tk(a,c[g>>2]|0);c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}else{h=Eu(a,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[i>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];i=c[f>>2]|0;l=j;return i|0}return 0}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);l=e;return}function Wt(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;i=q+24|0;j=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[i>>2]=e;c[j>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=0;c[k>>2]=0;do if(c[m>>2]|0){if(((c[j>>2]|0)==134?c[c[m>>2]>>2]|0:0)?gg(c[c[m>>2]>>2]|0,k)|0:0)break;c[p>>2]=(c[(c[m>>2]|0)+4>>2]|0)+1}while(0);c[o>>2]=Ed(c[i>>2]|0,48+(c[p>>2]|0)|0,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;l=q;return p|0}e=c[o>>2]|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[c[o>>2]>>0]=c[j>>2];b[(c[o>>2]|0)+34>>1]=-1;do if(c[m>>2]|0){e=c[o>>2]|0;if(!(c[p>>2]|0)){p=e+4|0;c[p>>2]=c[p>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[k>>2];break}c[(c[o>>2]|0)+8>>2]=e+48;if(c[(c[m>>2]|0)+4>>2]|0)h0(c[(c[o>>2]|0)+8>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;a[(c[(c[o>>2]|0)+8>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)>>0]=0;if(c[n>>2]|0?d[20063+(d[c[(c[o>>2]|0)+8>>2]>>0]|0)>>0]&128|0:0){if((a[c[(c[o>>2]|0)+8>>2]>>0]|0)==34){p=(c[o>>2]|0)+4|0;c[p>>2]=c[p>>2]|64}Vj(c[(c[o>>2]|0)+8>>2]|0)}}while(0);c[(c[o>>2]|0)+24>>2]=1;p=c[o>>2]|0;l=q;return p|0}function Xt(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;s=u+16|0;r=u+8|0;j=u+44|0;k=u+40|0;m=u+36|0;n=u+32|0;o=u+28|0;p=u+50|0;q=u;g=u+24|0;h=u+48|0;i=u+20|0;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=c[c[j>>2]>>2];if(!(c[k>>2]|0)){l=u;return}c[o>>2]=c[(c[k>>2]|0)+8>>2];if(a[(c[o>>2]|0)+1>>0]|0){do if((a[c[o>>2]>>0]|0)!=63){b[p>>1]=0;b[h>>1]=0;while(1){if((b[h>>1]|0)>=(c[(c[j>>2]|0)+404>>2]|0))break;if(c[(c[(c[j>>2]|0)+428>>2]|0)+(b[h>>1]<<2)>>2]|0?(G_(c[(c[(c[j>>2]|0)+428>>2]|0)+(b[h>>1]<<2)>>2]|0,c[o>>2]|0)|0)==0:0){t=14;break}b[h>>1]=(b[h>>1]|0)+1<<16>>16}if((t|0)==14)b[p>>1]=(b[h>>1]|0)+1;if(!(b[p>>1]|0)){r=(c[j>>2]|0)+400|0;t=(b[r>>1]|0)+1<<16>>16;b[r>>1]=t;b[p>>1]=t}}else{c[g>>2]=0==(Mi((c[o>>2]|0)+1|0,q,(c[m>>2]|0)-1|0,1)|0)&1;b[p>>1]=c[q>>2];t=q;f=c[t+4>>2]|0;if(!((c[g>>2]|0)==0|((f|0)<0|(f|0)==0&(c[t>>2]|0)>>>0<1))?(f=q,g=c[f+4>>2]|0,t=c[(c[n>>2]|0)+96+36>>2]|0,h=((t|0)<0)<<31>>31,!((g|0)>(h|0)|((g|0)==(h|0)?(c[f>>2]|0)>>>0>t>>>0:0))):0){r=q;h=c[r+4>>2]|0;t=b[(c[j>>2]|0)+400>>1]|0;f=((t|0)<0)<<31>>31;if(!((h|0)>(f|0)|((h|0)==(f|0)?(c[r>>2]|0)>>>0>t>>>0:0)))break;b[(c[j>>2]|0)+400>>1]=c[q>>2];break}t=c[j>>2]|0;c[r>>2]=c[(c[n>>2]|0)+96+36>>2];sl(t,33811,r);l=u;return}while(0);b[(c[k>>2]|0)+32>>1]=b[p>>1]|0;do if((b[p>>1]|0)>(c[(c[j>>2]|0)+404>>2]|0)){c[i>>2]=de(c[n>>2]|0,c[(c[j>>2]|0)+428>>2]|0,b[p>>1]<<2,0)|0;if(!(c[i>>2]|0)){l=u;return}else{c[(c[j>>2]|0)+428>>2]=c[i>>2];m0((c[i>>2]|0)+(c[(c[j>>2]|0)+404>>2]<<2)|0,0,(b[p>>1]|0)-(c[(c[j>>2]|0)+404>>2]|0)<<2|0)|0;c[(c[j>>2]|0)+404>>2]=b[p>>1];break}}while(0);if(!(c[(c[(c[j>>2]|0)+428>>2]|0)+((b[p>>1]|0)-1<<2)>>2]|0)){t=Uj(c[n>>2]|0,c[o>>2]|0,c[m>>2]|0,0)|0;c[(c[(c[j>>2]|0)+428>>2]|0)+((b[p>>1]|0)-1<<2)>>2]=t}}else{r=(c[j>>2]|0)+400|0;t=(b[r>>1]|0)+1<<16>>16;b[r>>1]=t;b[(c[k>>2]|0)+32>>1]=t}if((b[(c[j>>2]|0)+400>>1]|0)<=(c[(c[n>>2]|0)+96+36>>2]|0)){l=u;return}sl(c[j>>2]|0,33854,s);l=u;return}function Yt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){j=c[g>>2]|0;l=k;return j|0}c[j>>2]=Wt(c[c[f>>2]>>2]|0,53,c[h>>2]|0,c[i>>2]|0)|0;if(!(c[j>>2]|0)){j=c[g>>2]|0;l=k;return j|0}c[(c[j>>2]|0)+12>>2]=c[g>>2];i=(c[j>>2]|0)+4|0;c[i>>2]=c[i>>2]|4352;c[g>>2]=c[j>>2];j=c[g>>2]|0;l=k;return j|0}function Zt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;f=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[i>>2]=c[c[f>>2]>>2];c[h>>2]=Wt(c[i>>2]|0,151,c[k>>2]|0,1)|0;if(!(c[h>>2]|0)){Kk(c[i>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;l=j;return k|0}else{c[(c[h>>2]|0)+20>>2]=c[g>>2];du(c[f>>2]|0,c[h>>2]|0);c[e>>2]=c[h>>2];k=c[e>>2]|0;l=j;return k|0}return 0}function _t(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;g=f+4|0;h=f;c[j>>2]=a;c[i>>2]=b;c[g>>2]=d;c[h>>2]=e;e=pt(c[j>>2]|0,c[i>>2]|0,c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];l=f;return}function $t(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){l=g;return}h=pt(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;l=g;return}function au(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;g=f+4|0;h=f;c[j>>2]=a;c[i>>2]=b;c[g>>2]=d;c[h>>2]=e;e=pt(c[j>>2]|0,c[i>>2]|0,c[c[g>>2]>>2]|0,0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);l=f;return}function bu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;n=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=c[c[n>>2]>>2];if(!((c[i>>2]|0)!=0&(c[h>>2]|0)!=0)){l=m;return}if((d[c[h>>2]>>0]|0|0)!=101){l=m;return}a[c[i>>2]>>0]=c[j>>2];Ok(c[k>>2]|0,c[(c[i>>2]|0)+16>>2]|0);c[(c[i>>2]|0)+16>>2]=0;l=m;return}function cu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;h=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;m=g;c[h>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[m>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[m>>2]>>2];f=pt(c[k>>2]|0,c[j>>2]|0,c[c[i>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[i>>2]|0)+8>>2];l=g;return}function du(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+36>>2]|0){l=f;return}Px(c[e>>2]|0);lx(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;l=f;return}function eu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){c[(c[f>>2]|0)+20>>2]=c[g>>2];g=(c[f>>2]|0)+4|0;c[g>>2]=c[g>>2]|2099200;du(c[e>>2]|0,c[f>>2]|0);l=h;return}else{Jk(c[c[e>>2]>>2]|0,c[g>>2]|0);l=h;return}}function fu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+32|0;k=m;i=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;h=m+8|0;c[i>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[h>>2]=Et(c[i>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[i>>2]>>2]|0)+148+5>>0]|0|0)==0:0){p=c[i>>2]|0;o=c[c[j>>2]>>2]|0;c[k>>2]=c[(c[j>>2]|0)+4>>2];c[k+4>>2]=o;sl(p,33771,k)}Ft(c[i>>2]|0,c[h>>2]|0,c[j>>2]|0,1);l=m;return c[h>>2]|0}function gu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;o=u+16|0;n=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;j=u+56|0;k=u+52|0;s=u+48|0;m=u+44|0;f=u+40|0;g=u+36|0;h=u+32|0;i=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}if(fv(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}c[j>>2]=vv(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[j>>2]|0)){b=c[p>>2]|0;d=c[q>>2]|0;if(c[r>>2]|0)Zz(b,c[d+8+4>>2]|0);else{c[t>>2]=d;c[t+4>>2]=0;sl(b,33561,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}if(a[(c[j>>2]|0)+55>>0]&3|0){t=c[p>>2]|0;c[n>>2]=0;sl(t,33579,n);s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}c[m>>2]=Hu(c[s>>2]|0,c[(c[j>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[g>>2]=c[(c[j>>2]|0)+12>>2];c[h>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];c[i>>2]=(c[m>>2]|0)==1?26433:26452;if(Iu(c[p>>2]|0,9,c[i>>2]|0,0,c[h>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}if(c[m>>2]|0)c[f>>2]=12;if(Iu(c[p>>2]|0,c[f>>2]|0,c[c[j>>2]>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}c[k>>2]=Lu(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}cv(c[p>>2]|0,1,c[m>>2]|0);t=c[p>>2]|0;n=(c[m>>2]|0)==1?26433:26452;r=c[c[j>>2]>>2]|0;c[o>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];c[o+4>>2]=n;c[o+8>>2]=r;Ku(t,33652,o);dB(c[p>>2]|0,c[m>>2]|0,30148,c[c[j>>2]>>2]|0);Mu(c[p>>2]|0,c[m>>2]|0);eB(c[p>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[m>>2]|0);Uu(c[k>>2]|0,139,c[m>>2]|0,0,0,c[c[j>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=Lu(c[d>>2]|0)|0;if(c[e>>2]|0)a=ay(c[d>>2]|0,c[e>>2]|0,c[e>>2]|0,e)|0;else a=0;c[g>>2]=a;if(!(c[f>>2]|0)){l=h;return}if(!((c[g>>2]|0)>=2|(c[g>>2]|0)==0)){l=h;return}ey(c[f>>2]|0,10,c[g>>2]|0)|0;Yu(c[f>>2]|0,c[g>>2]|0);l=h;return}function iu(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=l;l=l+816|0;Za=fc+264|0;Kb=fc+256|0;Jb=fc+248|0;Ya=fc+240|0;Ba=fc+208|0;Aa=fc+200|0;za=fc+184|0;ya=fc+160|0;Zb=fc+144|0;Yb=fc+128|0;xa=fc+112|0;wa=fc+96|0;Xb=fc+72|0;va=fc+64|0;ua=fc+56|0;ta=fc+48|0;r=fc+40|0;p=fc+32|0;ac=fc+808|0;m=fc+804|0;ia=fc+800|0;n=fc+796|0;o=fc+792|0;cc=fc+788|0;dc=fc+784|0;Ha=fc+780|0;k=fc+776|0;q=fc+760|0;$b=fc+756|0;z=fc+752|0;A=fc+748|0;B=fc+744|0;C=fc+740|0;ec=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Lb=fc+724|0;E=fc+720|0;F=fc+716|0;G=fc+712|0;Fa=fc+708|0;H=fc+704|0;I=fc+700|0;J=fc+696|0;_a=fc+692|0;K=fc+688|0;L=fc+684|0;M=fc+680|0;N=fc+676|0;O=fc+672|0;P=fc+668|0;Q=fc+664|0;R=fc+660|0;S=fc+656|0;T=fc+24|0;U=fc+652|0;V=fc+648|0;W=fc+644|0;X=fc+640|0;Y=fc+636|0;Z=fc+632|0;_=fc+628|0;$=fc+624|0;aa=fc+16|0;ba=fc+620|0;ca=fc+616|0;Ga=fc+612|0;Mb=fc+608|0;Nb=fc+604|0;Ob=fc+600|0;Pb=fc+596|0;Qb=fc+592|0;Rb=fc+588|0;da=fc+584|0;ea=fc+580|0;fa=fc+576|0;Sb=fc+572|0;Tb=fc+568|0;Ub=fc+564|0;Vb=fc+560|0;Wb=fc+812|0;ga=fc+556|0;ha=fc+552|0;ja=fc+548|0;ka=fc+536|0;la=fc+532|0;ma=fc+528|0;na=fc+524|0;oa=fc+520|0;pa=fc+516|0;qa=fc+512|0;ra=fc+508|0;sa=fc+504|0;Ja=fc+500|0;Ka=fc+496|0;La=fc+492|0;Ma=fc+488|0;Na=fc+484|0;Oa=fc+480|0;Pa=fc+476|0;Qa=fc+472|0;Ra=fc+468|0;Sa=fc+464|0;Ta=fc+460|0;Ua=fc+456|0;Va=fc+452|0;Wa=fc+448|0;Xa=fc+444|0;Eb=fc+440|0;Fb=fc+436|0;Gb=fc+432|0;Hb=fc+428|0;Ib=fc+424|0;$a=fc+420|0;ab=fc+416|0;bb=fc+412|0;cb=fc+408|0;db=fc+404|0;eb=fc+400|0;fb=fc+396|0;gb=fc+392|0;hb=fc+388|0;ib=fc+384|0;jb=fc+380|0;kb=fc+376|0;lb=fc+372|0;mb=fc+368|0;nb=fc+364|0;ob=fc+360|0;pb=fc+356|0;qb=fc+352|0;rb=fc+348|0;sb=fc+344|0;tb=fc+340|0;ub=fc+336|0;vb=fc+332|0;wb=fc+328|0;xb=fc+324|0;yb=fc+320|0;zb=fc+316|0;Ab=fc+312|0;Bb=fc+308|0;Cb=fc+304|0;Db=fc+300|0;Ia=fc+296|0;s=fc+292|0;t=fc+288|0;u=fc+284|0;Ca=fc+280|0;Da=fc+276|0;v=fc+272|0;w=fc+268|0;x=fc+8|0;y=fc;c[ac>>2]=f;c[m>>2]=g;c[ia>>2]=h;c[n>>2]=i;c[o>>2]=j;c[cc>>2]=0;c[dc>>2]=0;c[Ha>>2]=0;c[B>>2]=0;c[ec>>2]=c[c[ac>>2]>>2];c[bc>>2]=Lu(c[ac>>2]|0)|0;if(!(c[bc>>2]|0)){l=fc;return}iA(c[bc>>2]|0);c[(c[ac>>2]|0)+44>>2]=2;c[$b>>2]=ay(c[ac>>2]|0,c[m>>2]|0,c[ia>>2]|0,k)|0;if((c[$b>>2]|0)<0){l=fc;return}c[Ea>>2]=(c[(c[ec>>2]|0)+16>>2]|0)+(c[$b>>2]<<4);if((c[$b>>2]|0)==1?pl(c[ac>>2]|0)|0:0){l=fc;return}c[cc>>2]=Eu(c[ec>>2]|0,c[k>>2]|0)|0;if(!(c[cc>>2]|0)){l=fc;return}g=c[ec>>2]|0;f=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=f;c[dc>>2]=Wj(g,31556,p)|0}else c[dc>>2]=Eu(g,f)|0;if((c[(c[ia>>2]|0)+4>>2]|0)>>>0>0)f=c[c[Ea>>2]>>2]|0;else f=0;c[Ha>>2]=f;a:do if(!(Iu(c[ac>>2]|0,19,c[cc>>2]|0,c[dc>>2]|0,c[Ha>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[cc>>2];c[q+8>>2]=c[dc>>2];c[q+12>>2]=0;c[(c[ec>>2]|0)+380+8>>2]=0;c[C>>2]=jA(c[ec>>2]|0,c[Ha>>2]|0,14,q)|0;if(!(c[C>>2]|0)){kA(c[bc>>2]|0,31560,c[q>>2]|0);_d(c[q>>2]|0);break}if((c[C>>2]|0)!=12){if(c[q>>2]|0){bc=c[ac>>2]|0;c[r>>2]=c[q>>2];sl(bc,21240,r);_d(c[q>>2]|0)}bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[C>>2];break}c[z>>2]=0;c[A>>2]=57;while(1){if((c[z>>2]|0)>(c[A>>2]|0))break;c[B>>2]=((c[z>>2]|0)+(c[A>>2]|0)|0)/2|0;c[C>>2]=kl(c[cc>>2]|0,c[4496+((c[B>>2]|0)*12|0)>>2]|0)|0;if(!(c[C>>2]|0))break;f=c[B>>2]|0;if((c[C>>2]|0)<0){c[A>>2]=f-1;continue}else{c[z>>2]=f+1;continue}}if((c[z>>2]|0)<=(c[A>>2]|0)){c[Lb>>2]=4496+((c[B>>2]|0)*12|0);if(d[(c[Lb>>2]|0)+5>>0]&1|0?fv(c[ac>>2]|0)|0:0)break;do switch(d[(c[Lb>>2]|0)+4>>0]|0){case 11:{Yu(c[bc>>2]|0,c[$b>>2]|0);if(c[dc>>2]|0){c[F>>2]=pq(fg(c[dc>>2]|0)|0)|0;cv(c[ac>>2]|0,0,c[$b>>2]|0);Ru(c[bc>>2]|0,102,c[$b>>2]|0,3,c[F>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[F>>2];pv(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{lA(c[bc>>2]|0,31567);ac=(c[ac>>2]|0)+44|0;c[ac>>2]=(c[ac>>2]|0)+2;c[E>>2]=mA(c[bc>>2]|0,9,31578,0)|0;c[(c[E>>2]|0)+4>>2]=c[$b>>2];c[(c[E>>2]|0)+20+4>>2]=c[$b>>2];c[(c[E>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{c[G>>2]=c[(c[Ea>>2]|0)+4>>2];if(c[dc>>2]|0){bc=fg(c[dc>>2]|0)|0;c[(c[ec>>2]|0)+80>>2]=bc;if(7!=(tl(c[G>>2]|0,c[(c[ec>>2]|0)+80>>2]|0,-1,0)|0))break a;Od(c[ec>>2]|0);break a}if(c[G>>2]|0)f=Hn(c[G>>2]|0)|0;else f=0;c[Fa>>2]=f;ac=c[Fa>>2]|0;nA(c[bc>>2]|0,31614,ac,((ac|0)<0)<<31>>31);break a}case 26:{c[H>>2]=c[(c[Ea>>2]|0)+4>>2];c[I>>2]=-1;if(c[dc>>2]|0)c[I>>2]=(dg(c[dc>>2]|0,0)|0)&255;b:do if((c[I>>2]|0)>=0?(c[(c[ia>>2]|0)+4>>2]|0)==0:0){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[ec>>2]|0)+20>>2]|0))break b;Vz(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0,c[I>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+1}}while(0);c[I>>2]=Vz(c[H>>2]|0,c[I>>2]|0)|0;ac=c[I>>2]|0;nA(c[bc>>2]|0,31624,ac,((ac|0)<0)<<31>>31);break a}case 23:{dv(c[ac>>2]|0,c[$b>>2]|0);f=(c[ac>>2]|0)+44|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[_a>>2]=k;k=c[bc>>2]|0;f=c[$b>>2]|0;g=c[_a>>2]|0;if((d[20458+(d[c[cc>>2]>>0]|0)>>0]|0)==112)Qu(k,158,f,g)|0;else Ru(k,159,f,g,pq(fg(c[dc>>2]|0)|0)|0)|0;Qu(c[bc>>2]|0,87,c[_a>>2]|0,1)|0;Rs(c[bc>>2]|0,1);Ss(c[bc>>2]|0,0,0,c[cc>>2]|0,-1)|0;break a}case 22:{c[K>>2]=31638;c[L>>2]=oA(c[dc>>2]|0)|0;if((c[L>>2]|0)==-1?(c[(c[ia>>2]|0)+4>>2]|0)==0:0)c[L>>2]=d[(c[ec>>2]|0)+71>>0];else{if(!(c[(c[ia>>2]|0)+4>>2]|0)){c[N>>2]=2;while(1){if((c[N>>2]|0)>=(c[(c[ec>>2]|0)+20>>2]|0))break;c[M>>2]=qk(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+4>>2]|0)|0;Uz(c[M>>2]|0,c[L>>2]|0)|0;c[N>>2]=(c[N>>2]|0)+1}a[(c[ec>>2]|0)+71>>0]=c[L>>2]}c[M>>2]=qk(c[(c[Ea>>2]|0)+4>>2]|0)|0;c[L>>2]=Uz(c[M>>2]|0,c[L>>2]|0)|0}if((c[L>>2]|0)==1)c[K>>2]=31645;kA(c[bc>>2]|0,31655,c[K>>2]|0);break a}case 19:{lA(c[bc>>2]|0,31668);if(c[dc>>2]|0){c[R>>2]=md(c[dc>>2]|0)|0;c[O>>2]=0;while(1){ac=pA(c[O>>2]|0)|0;c[Q>>2]=ac;if(!ac)break;if(!(ld(c[dc>>2]|0,c[Q>>2]|0,c[R>>2]|0)|0))break;c[O>>2]=(c[O>>2]|0)+1}if(!(c[Q>>2]|0))c[O>>2]=-1}else c[O>>2]=-1;if((c[O>>2]|0)==-1?(c[(c[ia>>2]|0)+4>>2]|0)==0:0){c[$b>>2]=0;c[(c[ia>>2]|0)+4>>2]=1}c[P>>2]=(c[(c[ec>>2]|0)+20>>2]|0)-1;while(1){if((c[P>>2]|0)<0)break;do if(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[P>>2]<<4)+4>>2]|0){if((c[P>>2]|0)!=(c[$b>>2]|0)?c[(c[ia>>2]|0)+4>>2]|0:0)break;Yu(c[bc>>2]|0,c[P>>2]|0);Ru(c[bc>>2]|0,9,c[P>>2]|0,1,c[O>>2]|0)|0}while(0);c[P>>2]=(c[P>>2]|0)+-1}Qu(c[bc>>2]|0,87,1,1)|0;break a}case 20:{c[S>>2]=qk(c[(c[Ea>>2]|0)+4>>2]|0)|0;ac=T;c[ac>>2]=-2;c[ac+4>>2]=-1;if(c[dc>>2]|0?(Kz(c[dc>>2]|0,T)|0,ac=T,$b=c[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(c[ac>>2]|0)>>>0<4294967295):0){ac=T;c[ac>>2]=-1;c[ac+4>>2]=-1}$b=T;$b=qA(c[S>>2]|0,c[$b>>2]|0,c[$b+4>>2]|0)|0;ac=T;c[ac>>2]=$b;c[ac+4>>2]=D;ac=T;nA(c[bc>>2]|0,31681,c[ac>>2]|0,c[ac+4>>2]|0);break a}case 1:{c[U>>2]=c[(c[Ea>>2]|0)+4>>2];if(!(c[dc>>2]|0)){ac=c[bc>>2]|0;bc=rA(c[U>>2]|0)|0;nA(ac,31700,bc,((bc|0)<0)<<31>>31);break a}c[V>>2]=sA(c[dc>>2]|0)|0;a[(c[ec>>2]|0)+72>>0]=c[V>>2];c[C>>2]=tA(c[U>>2]|0,c[V>>2]|0)|0;if(c[C>>2]|0)break a;if(!((c[V>>2]|0)==1|(c[V>>2]|0)==2))break a;c[X>>2]=Pv(c[bc>>2]|0)|0;c[W>>2]=mA(c[bc>>2]|0,5,31712,0)|0;c[(c[W>>2]|0)+4>>2]=c[$b>>2];c[(c[W>>2]|0)+20+4>>2]=c[$b>>2];c[(c[W>>2]|0)+40+8>>2]=(c[X>>2]|0)+4;c[(c[W>>2]|0)+80+4>>2]=c[$b>>2];c[(c[W>>2]|0)+80+12>>2]=(c[V>>2]|0)-1;Yu(c[bc>>2]|0,c[$b>>2]|0);break a}case 15:{if(!((c[dc>>2]|0)!=0?(_b=(gg(c[dc>>2]|0,Y)|0)==0,!(_b|(c[Y>>2]|0)<=0)):0))c[Y>>2]=2147483647;cv(c[ac>>2]|0,0,c[$b>>2]|0);Qu(c[bc>>2]|0,76,c[Y>>2]|0,1)|0;c[Z>>2]=ey(c[bc>>2]|0,69,c[$b>>2]|0)|0;ey(c[bc>>2]|0,87,1)|0;Qu(c[bc>>2]|0,91,1,-1)|0;Qu(c[bc>>2]|0,66,1,c[Z>>2]|0)|0;ny(c[bc>>2]|0,c[Z>>2]|0);break a}case 4:if(c[dc>>2]|0){c[_>>2]=fg(c[dc>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[_>>2];pv(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0;nA(c[bc>>2]|0,31567,ac,((ac|0)<0)<<31>>31);break a}case 5:if(c[dc>>2]|0){c[$>>2]=1;if(gg(c[dc>>2]|0,$)|0)uA(c[(c[Ea>>2]|0)+4>>2]|0,c[$>>2]|0)|0;$b=(dg(c[dc>>2]|0,(c[$>>2]|0)!=0&255)|0)<<24>>24!=0;bc=(c[ec>>2]|0)+24|0;ac=c[bc>>2]|0;c[bc>>2]=$b?ac|32:ac&-33;vA(c[ec>>2]|0);break a}else{g=c[bc>>2]|0;if(!(c[(c[ec>>2]|0)+24>>2]&32))f=0;else f=uA(c[(c[Ea>>2]|0)+4>>2]|0,0)|0;nA(g,31732,f,((f|0)<0)<<31>>31);break a}case 24:{$b=aa;c[$b>>2]=0;c[$b+4>>2]=0;c[C>>2]=0;if(!(c[C>>2]|0)){ac=aa;nA(c[bc>>2]|0,31744,c[ac>>2]|0,c[ac+4>>2]|0);break a}if((c[C>>2]|0)==12)break a;bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[C>>2];break a}case 32:if(c[dc>>2]|0){wA(c[ac>>2]|0,c[dc>>2]|0)|0;break a}else{nA(c[bc>>2]|0,31754,d[(c[ec>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(c[dc>>2]|0)){kA(c[bc>>2]|0,31765,c[13628]|0);break a}if(a[c[dc>>2]>>0]|0?(c[C>>2]=Sm(c[c[ec>>2]>>2]|0,c[dc>>2]|0,1,ba)|0,(c[C>>2]|0)!=0|(c[ba>>2]|0)==0):0){sl(c[ac>>2]|0,31786,ta);break a}if((d[(c[ec>>2]|0)+68>>0]|0)<=1)xA(c[ac>>2]|0)|0;_d(c[13628]|0);if(a[c[dc>>2]>>0]|0){c[ua>>2]=c[dc>>2];f=nf(21240,ua)|0}else f=0;c[13628]=f;break a}case 30:{if(!(c[dc>>2]|0)){ac=(d[(c[Ea>>2]|0)+8>>0]|0)-1|0;nA(c[bc>>2]|0,31811,ac,((ac|0)<0)<<31>>31);break a}if(a[(c[ec>>2]|0)+67>>0]|0){bc=((eg(c[dc>>2]|0,0,1)|0)&255)+1&7;c[ca>>2]=bc;c[ca>>2]=(c[ca>>2]|0)==0?1:bc;a[(c[Ea>>2]|0)+8>>0]=c[ca>>2];a[(c[Ea>>2]|0)+9>>0]=1;vA(c[ec>>2]|0);break a}else{sl(c[ac>>2]|0,31823,va);break a}}case 2:{if(!(c[dc>>2]|0)){ac=(c[(c[ec>>2]|0)+24>>2]&c[(c[Lb>>2]|0)+8>>2]|0)!=0&1;nA(c[bc>>2]|0,c[c[Lb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}c[Ga>>2]=c[(c[Lb>>2]|0)+8>>2];if(!(d[(c[ec>>2]|0)+67>>0]|0))c[Ga>>2]=c[Ga>>2]&-524289;ac=(dg(c[dc>>2]|0,0)|0)<<24>>24!=0;f=c[Ga>>2]|0;if(!ac){ac=(c[ec>>2]|0)+24|0;c[ac>>2]=c[ac>>2]&~f;if((c[Ga>>2]|0)==33554432){ac=(c[ec>>2]|0)+448|0;c[ac>>2]=0;c[ac+4>>2]=0}}else{ac=(c[ec>>2]|0)+24|0;c[ac>>2]=c[ac>>2]|f}Nu(c[bc>>2]|0,150)|0;vA(c[ec>>2]|0);break a}case 31:{if(!(c[dc>>2]|0))break a;c[Mb>>2]=ev(c[ac>>2]|0,2,c[dc>>2]|0,c[Ha>>2]|0)|0;if(!(c[Mb>>2]|0))break a;c[Pb>>2]=0;c[Rb>>2]=uv(c[Mb>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=6;dv(c[ac>>2]|0,c[$b>>2]|0);yA(c[bc>>2]|0,6,5192);ew(c[ac>>2]|0,c[Mb>>2]|0)|0;c[Nb>>2]=0;c[Qb>>2]=c[(c[Mb>>2]|0)+4>>2];while(1){if((c[Nb>>2]|0)>=(b[(c[Mb>>2]|0)+34>>1]|0))break a;if(d[(c[Qb>>2]|0)+15>>0]&2|0)c[Pb>>2]=(c[Pb>>2]|0)+1;else{c:do if(!(d[(c[Qb>>2]|0)+15>>0]&1))c[Ob>>2]=0;else{ac=(c[Rb>>2]|0)==0;c[Ob>>2]=1;if(ac)break;while(1){if((c[Ob>>2]|0)>(b[(c[Mb>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Rb>>2]|0)+4>>2]|0)+((c[Ob>>2]|0)-1<<1)>>1]|0)==(c[Nb>>2]|0))break c;c[Ob>>2]=(c[Ob>>2]|0)+1}}while(0);f=c[bc>>2]|0;g=(c[Nb>>2]|0)-(c[Pb>>2]|0)|0;k=c[c[Qb>>2]>>2]|0;h=kv(c[Qb>>2]|0,55752)|0;i=d[(c[Qb>>2]|0)+12>>0]|0?1:0;if(c[(c[Qb>>2]|0)+4>>2]|0)j=c[(c[(c[Qb>>2]|0)+4>>2]|0)+8>>2]|0;else j=0;ac=c[Ob>>2]|0;c[Xb>>2]=g;c[Xb+4>>2]=k;c[Xb+8>>2]=h;c[Xb+12>>2]=i;c[Xb+16>>2]=j;c[Xb+20>>2]=ac;zA(f,1,31876,Xb);Qu(c[bc>>2]|0,87,1,6)|0}c[Nb>>2]=(c[Nb>>2]|0)+1;c[Qb>>2]=(c[Qb>>2]|0)+16}}case 29:{c[bc>>2]=Lu(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=4;dv(c[ac>>2]|0,c[$b>>2]|0);yA(c[bc>>2]|0,4,5216);c[ea>>2]=c[(c[(c[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[ea>>2]|0))break a;c[fa>>2]=c[(c[ea>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=b[(c[fa>>2]|0)+40>>1]|0;$b=b[(c[fa>>2]|0)+38>>1]|0;c[wa>>2]=c[c[fa>>2]>>2];c[wa+4>>2]=0;c[wa+8>>2]=_b;c[wa+12>>2]=$b;zA(ac,1,31883,wa);Qu(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[fa>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break;ac=c[bc>>2]|0;_b=b[(c[da>>2]|0)+48>>1]|0;$b=b[c[(c[da>>2]|0)+8>>2]>>1]|0;c[xa>>2]=c[c[da>>2]>>2];c[xa+4>>2]=_b;c[xa+8>>2]=$b;zA(ac,2,31888,xa);Qu(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2]}c[ea>>2]=c[c[ea>>2]>>2]}}case 16:{if(!(c[dc>>2]|0))break a;c[Sb>>2]=vv(c[ec>>2]|0,c[dc>>2]|0,c[Ha>>2]|0)|0;if(!(c[Sb>>2]|0))break a;f=c[Sb>>2]|0;if(c[(c[Lb>>2]|0)+8>>2]|0){c[Vb>>2]=e[f+52>>1];f=6;g=c[ac>>2]|0}else{c[Vb>>2]=e[f+50>>1];f=3;g=c[ac>>2]|0}c[g+44>>2]=f;c[Tb>>2]=c[(c[Sb>>2]|0)+12>>2];dv(c[ac>>2]|0,c[$b>>2]|0);yA(c[bc>>2]|0,c[(c[ac>>2]|0)+44>>2]|0,5232);c[Ub>>2]=0;while(1){if((c[Ub>>2]|0)>=(c[Vb>>2]|0))break a;b[Wb>>1]=b[(c[(c[Sb>>2]|0)+4>>2]|0)+(c[Ub>>2]<<1)>>1]|0;f=c[bc>>2]|0;g=b[Wb>>1]|0;if((b[Wb>>1]|0)<0)k=0;else k=c[(c[(c[Tb>>2]|0)+4>>2]|0)+(b[Wb>>1]<<4)>>2]|0;c[Yb>>2]=c[Ub>>2];c[Yb+4>>2]=g;c[Yb+8>>2]=k;zA(f,1,31892,Yb);if(c[(c[Lb>>2]|0)+8>>2]|0){$b=c[bc>>2]|0;Xb=c[(c[(c[Sb>>2]|0)+32>>2]|0)+(c[Ub>>2]<<2)>>2]|0;_b=(c[Ub>>2]|0)<(e[(c[Sb>>2]|0)+50>>1]|0)&1;c[Zb>>2]=d[(c[(c[Sb>>2]|0)+28>>2]|0)+(c[Ub>>2]|0)>>0];c[Zb+4>>2]=Xb;c[Zb+8>>2]=_b;zA($b,4,31896,Zb)}Qu(c[bc>>2]|0,87,1,c[(c[ac>>2]|0)+44>>2]|0)|0;c[Ub>>2]=(c[Ub>>2]|0)+1}}case 17:{if(!(c[dc>>2]|0))break a;c[ha>>2]=gv(c[ec>>2]|0,c[dc>>2]|0,c[Ha>>2]|0)|0;if(!(c[ha>>2]|0))break a;c[bc>>2]=Lu(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=5;dv(c[ac>>2]|0,c[$b>>2]|0);yA(c[bc>>2]|0,5,5256);c[ga>>2]=c[(c[ha>>2]|0)+8>>2];c[ja>>2]=0;while(1){if(!(c[ga>>2]|0))break a;c[ka>>2]=c[1319];c[ka+4>>2]=c[1320];c[ka+8>>2]=c[1321];ac=c[bc>>2]|0;Yb=c[c[ga>>2]>>2]|0;Zb=(d[(c[ga>>2]|0)+54>>0]|0)!=0&1;_b=c[ka+((a[(c[ga>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(c[(c[ga>>2]|0)+36>>2]|0)!=0&1;c[ya>>2]=c[ja>>2];c[ya+4>>2]=Yb;c[ya+8>>2]=Zb;c[ya+12>>2]=_b;c[ya+16>>2]=$b;zA(ac,1,31900,ya);Qu(c[bc>>2]|0,87,1,5)|0;c[ga>>2]=c[(c[ga>>2]|0)+20>>2];c[ja>>2]=(c[ja>>2]|0)+1}}case 10:{c[(c[ac>>2]|0)+44>>2]=3;yA(c[bc>>2]|0,3,5288);c[la>>2]=0;while(1){if((c[la>>2]|0)>=(c[(c[ec>>2]|0)+20>>2]|0))break a;if(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[la>>2]<<4)+4>>2]|0){ac=c[bc>>2]|0;Zb=c[la>>2]|0;_b=c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[la>>2]<<4)>>2]|0;$b=as(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[la>>2]<<4)+4>>2]|0)|0;c[za>>2]=Zb;c[za+4>>2]=_b;c[za+8>>2]=$b;zA(ac,1,31906,za);Qu(c[bc>>2]|0,87,1,3)|0}c[la>>2]=(c[la>>2]|0)+1}}case 7:{c[ma>>2]=0;c[(c[ac>>2]|0)+44>>2]=2;yA(c[bc>>2]|0,2,5300);c[na>>2]=c[(c[ec>>2]|0)+364+8>>2];while(1){if(!(c[na>>2]|0))break a;c[oa>>2]=c[(c[na>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=c[ma>>2]|0;c[ma>>2]=_b+1;$b=c[c[oa>>2]>>2]|0;c[Aa>>2]=_b;c[Aa+4>>2]=$b;zA(ac,1,31910,Aa);Qu(c[bc>>2]|0,87,1,2)|0;c[na>>2]=c[c[na>>2]>>2]}}case 14:{if(!(c[dc>>2]|0))break a;c[qa>>2]=gv(c[ec>>2]|0,c[dc>>2]|0,c[Ha>>2]|0)|0;if(!(c[qa>>2]|0))break a;c[bc>>2]=Lu(c[ac>>2]|0)|0;c[pa>>2]=c[(c[qa>>2]|0)+16>>2];if(!(c[pa>>2]|0))break a;c[ra>>2]=0;c[(c[ac>>2]|0)+44>>2]=8;dv(c[ac>>2]|0,c[$b>>2]|0);yA(c[bc>>2]|0,8,5308);while(1){if(!(c[pa>>2]|0))break a;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=(c[(c[pa>>2]|0)+20>>2]|0))break;ac=c[bc>>2]|0;Vb=c[ra>>2]|0;Wb=c[sa>>2]|0;Xb=c[(c[pa>>2]|0)+8>>2]|0;Yb=c[(c[(c[qa>>2]|0)+4>>2]|0)+(c[(c[pa>>2]|0)+36+(c[sa>>2]<<3)>>2]<<4)>>2]|0;Zb=c[(c[pa>>2]|0)+36+(c[sa>>2]<<3)+4>>2]|0;_b=AA(a[(c[pa>>2]|0)+25+1>>0]|0)|0;$b=AA(a[(c[pa>>2]|0)+25>>0]|0)|0;c[Ba>>2]=Vb;c[Ba+4>>2]=Wb;c[Ba+8>>2]=Xb;c[Ba+12>>2]=Yb;c[Ba+16>>2]=Zb;c[Ba+20>>2]=_b;c[Ba+24>>2]=$b;c[Ba+28>>2]=31922;zA(ac,1,31913,Ba);Qu(c[bc>>2]|0,87,1,8)|0;c[sa>>2]=(c[sa>>2]|0)+1}c[ra>>2]=(c[ra>>2]|0)+1;c[pa>>2]=c[(c[pa>>2]|0)+4>>2]}}case 13:{c[Ra>>2]=(c[(c[ac>>2]|0)+44>>2]|0)+1;Zb=(c[ac>>2]|0)+44|0;c[Zb>>2]=(c[Zb>>2]|0)+4;Zb=(c[ac>>2]|0)+44|0;Yb=(c[Zb>>2]|0)+1|0;c[Zb>>2]=Yb;c[Sa>>2]=Yb;Yb=(c[ac>>2]|0)+44|0;Zb=(c[Yb>>2]|0)+1|0;c[Yb>>2]=Zb;c[Ta>>2]=Zb;c[bc>>2]=Lu(c[ac>>2]|0)|0;yA(c[bc>>2]|0,4,5340);dv(c[ac>>2]|0,c[$b>>2]|0);c[Pa>>2]=c[(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Pa>>2]|0))break a;if(c[dc>>2]|0){c[Ka>>2]=ev(c[ac>>2]|0,0,c[dc>>2]|0,c[Ha>>2]|0)|0;c[Pa>>2]=0}else{c[Ka>>2]=c[(c[Pa>>2]|0)+8>>2];c[Pa>>2]=c[c[Pa>>2]>>2]}if(!(c[Ka>>2]|0))continue;if(!(c[(c[Ka>>2]|0)+16>>2]|0))continue;gy(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ka>>2]|0)+28>>2]|0,0,c[c[Ka>>2]>>2]|0);if(((b[(c[Ka>>2]|0)+34>>1]|0)+(c[Ta>>2]|0)|0)>(c[(c[ac>>2]|0)+44>>2]|0))c[(c[ac>>2]|0)+44>>2]=(b[(c[Ka>>2]|0)+34>>1]|0)+(c[Ta>>2]|0);hy(c[ac>>2]|0,0,c[$b>>2]|0,c[Ka>>2]|0,104);Pu(c[bc>>2]|0,c[Ra>>2]|0,c[c[Ka>>2]>>2]|0)|0;c[Na>>2]=1;c[Ja>>2]=c[(c[Ka>>2]|0)+16>>2];d:while(1){if(!(c[Ja>>2]|0))break;c[La>>2]=gv(c[ec>>2]|0,c[(c[Ja>>2]|0)+8>>2]|0,c[Ha>>2]|0)|0;do if(c[La>>2]|0){c[Ma>>2]=0;gy(c[ac>>2]|0,c[$b>>2]|0,c[(c[La>>2]|0)+28>>2]|0,0,c[c[La>>2]>>2]|0);c[Qa>>2]=BA(c[ac>>2]|0,c[La>>2]|0,c[Ja>>2]|0,Ma,0)|0;if(c[Qa>>2]|0){_b=204;break d}if(!(c[Ma>>2]|0)){hy(c[ac>>2]|0,c[Na>>2]|0,c[$b>>2]|0,c[La>>2]|0,104);break}else{Ru(c[bc>>2]|0,104,c[Na>>2]|0,c[(c[Ma>>2]|0)+44>>2]|0,c[$b>>2]|0)|0;iy(c[ac>>2]|0,c[Ma>>2]|0);break}}while(0);c[Na>>2]=(c[Na>>2]|0)+1;c[Ja>>2]=c[(c[Ja>>2]|0)+4>>2]}if((_b|0)==204){_b=0;c[Pa>>2]=0}if(c[Ja>>2]|0)break a;if((c[(c[ac>>2]|0)+40>>2]|0)<(c[Na>>2]|0))c[(c[ac>>2]|0)+40>>2]=c[Na>>2];c[Ua>>2]=ey(c[bc>>2]|0,57,0)|0;c[Na>>2]=1;c[Ja>>2]=c[(c[Ka>>2]|0)+16>>2];while(1){if(!(c[Ja>>2]|0))break;c[La>>2]=gv(c[ec>>2]|0,c[(c[Ja>>2]|0)+8>>2]|0,c[Ha>>2]|0)|0;c[Ma>>2]=0;c[Wa>>2]=0;if(c[La>>2]|0)c[Qa>>2]=BA(c[ac>>2]|0,c[La>>2]|0,c[Ja>>2]|0,Ma,Wa)|0;c[Va>>2]=ky(c[bc>>2]|0)|0;do if((c[La>>2]|0)!=0&(c[Ma>>2]|0)==0){c[Xa>>2]=c[(c[Ja>>2]|0)+36>>2];f=c[bc>>2]|0;if((c[Xa>>2]|0)!=(b[(c[Ka>>2]|0)+32>>1]|0)){Ru(f,96,0,c[Xa>>2]|0,c[Ta>>2]|0)|0;Vy(c[bc>>2]|0,c[Ka>>2]|0,c[Xa>>2]|0,c[Ta>>2]|0);Qu(c[bc>>2]|0,34,c[Ta>>2]|0,c[Va>>2]|0)|0}else Qu(f,123,0,c[Ta>>2]|0)|0;Ru(c[bc>>2]|0,32,c[Na>>2]|0,0,c[Ta>>2]|0)|0;my(c[bc>>2]|0,c[Va>>2]|0)|0;Zb=c[bc>>2]|0;ny(Zb,(Pv(c[bc>>2]|0)|0)-2|0)}else{c[Oa>>2]=0;while(1){if((c[Oa>>2]|0)>=(c[(c[Ja>>2]|0)+20>>2]|0))break;if(c[Wa>>2]|0)f=(c[Wa>>2]|0)+(c[Oa>>2]<<2)|0;else f=(c[Ja>>2]|0)+36+(c[Oa>>2]<<3)|0;Ty(c[bc>>2]|0,c[Ka>>2]|0,0,c[f>>2]|0,(c[Ta>>2]|0)+(c[Oa>>2]|0)|0);Qu(c[bc>>2]|0,34,(c[Ta>>2]|0)+(c[Oa>>2]|0)|0,c[Va>>2]|0)|0;c[Oa>>2]=(c[Oa>>2]|0)+1}if(!(c[La>>2]|0))break;Vb=c[bc>>2]|0;Wb=c[Ta>>2]|0;Xb=c[(c[Ja>>2]|0)+20>>2]|0;Yb=c[Sa>>2]|0;Zb=CA(c[ec>>2]|0,c[Ma>>2]|0)|0;Uu(Vb,99,Wb,Xb,Yb,Zb,c[(c[Ja>>2]|0)+20>>2]|0)|0;zy(c[bc>>2]|0,31,c[Na>>2]|0,c[Va>>2]|0,c[Sa>>2]|0,0)|0}while(0);Qu(c[bc>>2]|0,123,0,(c[Ra>>2]|0)+1|0)|0;Yb=c[bc>>2]|0;Zb=(c[Ra>>2]|0)+2|0;Xb=(c[Na>>2]|0)-1|0;c[Ya>>2]=c[(c[Ja>>2]|0)+8>>2];c[Ya+4>>2]=Xb;zA(Yb,Zb,31927,Ya);Qu(c[bc>>2]|0,87,c[Ra>>2]|0,4)|0;oy(c[bc>>2]|0,c[Va>>2]|0);Xd(c[ec>>2]|0,c[Wa>>2]|0);c[Na>>2]=(c[Na>>2]|0)+1;c[Ja>>2]=c[(c[Ja>>2]|0)+4>>2]}Qu(c[bc>>2]|0,7,0,(c[Ua>>2]|0)+1|0)|0;ny(c[bc>>2]|0,c[Ua>>2]|0)}}case 6:{if(!(c[dc>>2]|0))break a;bc=c[ec>>2]|0;DA(bc,(dg(c[dc>>2]|0,0)|0)&255);break a}case 18:{c[Ib>>2]=(d[20458+(d[c[cc>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[ia>>2]>>2]|0))c[$b>>2]=-1;c[(c[ac>>2]|0)+44>>2]=6;lA(c[bc>>2]|0,31930);c[Hb>>2]=100;if(c[dc>>2]|0?(gg(c[dc>>2]|0,Hb)|0,(c[Hb>>2]|0)<=0):0)c[Hb>>2]=100;Qu(c[bc>>2]|0,76,c[Hb>>2]|0,1)|0;c[Eb>>2]=0;e:while(1){if((c[Eb>>2]|0)>=(c[(c[ec>>2]|0)+20>>2]|0))break;c[cb>>2]=0;c[db>>2]=0;if(!((c[$b>>2]|0)>=0?(c[Eb>>2]|0)!=(c[$b>>2]|0):0))_b=239;f:do if((_b|0)==239){_b=0;dv(c[ac>>2]|0,c[Eb>>2]|0);c[Gb>>2]=ey(c[bc>>2]|0,66,1)|0;Qu(c[bc>>2]|0,75,0,0)|0;ny(c[bc>>2]|0,c[Gb>>2]|0);c[ab>>2]=(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[Eb>>2]<<4)+12>>2]|0)+8;c[cb>>2]=0;c[$a>>2]=c[(c[ab>>2]|0)+8>>2];while(1){if(!(c[$a>>2]|0))break;c[fb>>2]=c[(c[$a>>2]|0)+8>>2];if(!(d[(c[fb>>2]|0)+42>>0]&32))c[cb>>2]=(c[cb>>2]|0)+1;c[eb>>2]=0;c[gb>>2]=c[(c[fb>>2]|0)+8>>2];while(1){if(!(c[gb>>2]|0))break;c[cb>>2]=(c[cb>>2]|0)+1;c[gb>>2]=c[(c[gb>>2]|0)+20>>2];c[eb>>2]=(c[eb>>2]|0)+1}if((c[eb>>2]|0)>(c[db>>2]|0))c[db>>2]=c[eb>>2];c[$a>>2]=c[c[$a>>2]>>2]}c[bb>>2]=Ed(c[ec>>2]|0,(c[cb>>2]|0)+1<<2,0)|0;if(!(c[bb>>2]|0))break e;c[cb>>2]=0;c[$a>>2]=c[(c[ab>>2]|0)+8>>2];while(1){if(!(c[$a>>2]|0))break;c[hb>>2]=c[(c[$a>>2]|0)+8>>2];if(!(d[(c[hb>>2]|0)+42>>0]&32)){Xb=c[(c[hb>>2]|0)+28>>2]|0;Yb=c[bb>>2]|0;Zb=c[cb>>2]|0;c[cb>>2]=Zb+1;c[Yb+(Zb<<2)>>2]=Xb}c[ib>>2]=c[(c[hb>>2]|0)+8>>2];while(1){if(!(c[ib>>2]|0))break;Xb=c[(c[ib>>2]|0)+44>>2]|0;Yb=c[bb>>2]|0;Zb=c[cb>>2]|0;c[cb>>2]=Zb+1;c[Yb+(Zb<<2)>>2]=Xb;c[ib>>2]=c[(c[ib>>2]|0)+20>>2]}c[$a>>2]=c[c[$a>>2]>>2]}c[(c[bb>>2]|0)+(c[cb>>2]<<2)>>2]=0;if((c[(c[ac>>2]|0)+44>>2]|0)>(8+(c[db>>2]|0)|0))f=c[(c[ac>>2]|0)+44>>2]|0;else f=8+(c[db>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=f;Uu(c[bc>>2]|0,141,2,c[cb>>2]|0,1,c[bb>>2]|0,-15)|0;jy(c[bc>>2]|0,c[Eb>>2]&255);c[Gb>>2]=ey(c[bc>>2]|0,34,2)|0;Yb=c[bc>>2]|0;Zb=c[ec>>2]|0;c[Jb>>2]=c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[Eb>>2]<<4)>>2];Uu(Yb,97,0,3,0,Wj(Zb,31946,Jb)|0,-1)|0;Ru(c[bc>>2]|0,83,2,4,1)|0;Ru(c[bc>>2]|0,52,4,3,2)|0;Qu(c[bc>>2]|0,87,2,1)|0;ny(c[bc>>2]|0,c[Gb>>2]|0);c[$a>>2]=c[(c[ab>>2]|0)+8>>2];while(1){if(!(c[$a>>2]|0))break f;if(!((c[Ib>>2]|0)!=0^1))break f;c[jb>>2]=c[(c[$a>>2]|0)+8>>2];c[mb>>2]=0;c[qb>>2]=-1;g:do if(c[(c[jb>>2]|0)+8>>2]|0){if(!(d[(c[jb>>2]|0)+42>>0]&32))f=0;else f=uv(c[jb>>2]|0)|0;c[lb>>2]=f;c[Gb>>2]=ey(c[bc>>2]|0,66,1)|0;Qu(c[bc>>2]|0,75,0,0)|0;ny(c[bc>>2]|0,c[Gb>>2]|0);EA(c[ac>>2]|0);FA(c[ac>>2]|0,c[jb>>2]|0,104,0,1,0,ob,pb)|0;Qu(c[bc>>2]|0,76,0,7)|0;c[Fb>>2]=0;c[kb>>2]=c[(c[jb>>2]|0)+8>>2];while(1){f=c[bc>>2]|0;if(!(c[kb>>2]|0))break;Qu(f,76,0,8+(c[Fb>>2]|0)|0)|0;c[kb>>2]=c[(c[kb>>2]|0)+20>>2];c[Fb>>2]=(c[Fb>>2]|0)+1}Qu(f,57,c[ob>>2]|0,0)|0;c[nb>>2]=Qu(c[bc>>2]|0,91,7,1)|0;c[Fb>>2]=0;while(1){if((c[Fb>>2]|0)>=(b[(c[jb>>2]|0)+34>>1]|0))break;do if((c[Fb>>2]|0)!=(b[(c[jb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[jb>>2]|0)+4>>2]|0)+(c[Fb>>2]<<4)+12>>0]|0))break;Ty(c[bc>>2]|0,c[jb>>2]|0,c[ob>>2]|0,c[Fb>>2]|0,3);jy(c[bc>>2]|0,-128);c[sb>>2]=ey(c[bc>>2]|0,35,3)|0;Qu(c[bc>>2]|0,91,1,-1)|0;Zb=c[ec>>2]|0;Yb=c[(c[(c[jb>>2]|0)+4>>2]|0)+(c[Fb>>2]<<4)>>2]|0;c[Kb>>2]=c[c[jb>>2]>>2];c[Kb+4>>2]=Yb;c[rb>>2]=Wj(Zb,31970,Kb)|0;Uu(c[bc>>2]|0,97,0,3,0,c[rb>>2]|0,-1)|0;Qu(c[bc>>2]|0,87,3,1)|0;c[tb>>2]=ey(c[bc>>2]|0,66,1)|0;Nu(c[bc>>2]|0,75)|0;ny(c[bc>>2]|0,c[sb>>2]|0);ny(c[bc>>2]|0,c[tb>>2]|0)}while(0);c[Fb>>2]=(c[Fb>>2]|0)+1}c[Fb>>2]=0;c[kb>>2]=c[(c[jb>>2]|0)+8>>2];while(1){f=c[bc>>2]|0;if(!(c[kb>>2]|0))break;c[yb>>2]=ky(f)|0;if((c[lb>>2]|0)!=(c[kb>>2]|0)){c[qb>>2]=Ey(c[ac>>2]|0,c[kb>>2]|0,c[ob>>2]|0,0,0,vb,c[mb>>2]|0,c[qb>>2]|0)|0;c[mb>>2]=c[kb>>2];Qu(c[bc>>2]|0,91,8+(c[Fb>>2]|0)|0,1)|0;c[ub>>2]=zy(c[bc>>2]|0,31,(c[pb>>2]|0)+(c[Fb>>2]|0)|0,c[yb>>2]|0,c[qb>>2]|0,e[(c[kb>>2]|0)+52>>1]|0)|0;Qu(c[bc>>2]|0,91,1,-1)|0;Pu(c[bc>>2]|0,3,31990)|0;Ru(c[bc>>2]|0,52,7,3,3)|0;Pu(c[bc>>2]|0,4,31995)|0;Ru(c[bc>>2]|0,52,4,3,3)|0;c[xb>>2]=Pu(c[bc>>2]|0,4,c[c[kb>>2]>>2]|0)|0;Ru(c[bc>>2]|0,52,4,3,3)|0;Qu(c[bc>>2]|0,87,3,1)|0;c[wb>>2]=ey(c[bc>>2]|0,66,1)|0;Nu(c[bc>>2]|0,75)|0;ny(c[bc>>2]|0,c[ub>>2]|0);if(d[(c[kb>>2]|0)+54>>0]|0){c[zb>>2]=ky(c[bc>>2]|0)|0;c[Bb>>2]=0;while(1){if((c[Bb>>2]|0)>=(e[(c[kb>>2]|0)+50>>1]|0))break;c[Cb>>2]=b[(c[(c[kb>>2]|0)+4>>2]|0)+(c[Bb>>2]<<1)>>1];if(!((c[Cb>>2]|0)>=0?(d[(c[(c[jb>>2]|0)+4>>2]|0)+(c[Cb>>2]<<4)+12>>0]|0)!=0:0))Qu(c[bc>>2]|0,34,(c[qb>>2]|0)+(c[Bb>>2]|0)|0,c[zb>>2]|0)|0;c[Bb>>2]=(c[Bb>>2]|0)+1}c[Ab>>2]=ey(c[bc>>2]|0,7,(c[pb>>2]|0)+(c[Fb>>2]|0)|0)|0;my(c[bc>>2]|0,c[zb>>2]|0)|0;ny(c[bc>>2]|0,c[Ab>>2]|0);zy(c[bc>>2]|0,59,(c[pb>>2]|0)+(c[Fb>>2]|0)|0,c[zb>>2]|0,c[qb>>2]|0,e[(c[kb>>2]|0)+50>>1]|0)|0;Qu(c[bc>>2]|0,91,1,-1)|0;Pu(c[bc>>2]|0,3,32016)|0;my(c[bc>>2]|0,c[xb>>2]|0)|0;oy(c[bc>>2]|0,c[zb>>2]|0)}ny(c[bc>>2]|0,c[wb>>2]|0);Fy(c[ac>>2]|0,c[vb>>2]|0)}c[kb>>2]=c[(c[kb>>2]|0)+20>>2];c[Fb>>2]=(c[Fb>>2]|0)+1}Qu(f,7,c[ob>>2]|0,c[nb>>2]|0)|0;ny(c[bc>>2]|0,(c[nb>>2]|0)-1|0);Pu(c[bc>>2]|0,2,32043)|0;c[Fb>>2]=0;c[kb>>2]=c[(c[jb>>2]|0)+8>>2];while(1){if(!(c[kb>>2]|0))break g;if((c[lb>>2]|0)!=(c[kb>>2]|0)){c[Gb>>2]=Pv(c[bc>>2]|0)|0;Qu(c[bc>>2]|0,66,1,(c[Gb>>2]|0)+2|0)|0;Qu(c[bc>>2]|0,75,0,0)|0;Qu(c[bc>>2]|0,100,(c[pb>>2]|0)+(c[Fb>>2]|0)|0,3)|0;Ru(c[bc>>2]|0,37,8+(c[Fb>>2]|0)|0,(c[Gb>>2]|0)+8|0,3)|0;jy(c[bc>>2]|0,-112);Qu(c[bc>>2]|0,91,1,-1)|0;Pu(c[bc>>2]|0,3,c[c[kb>>2]>>2]|0)|0;Ru(c[bc>>2]|0,52,3,2,7)|0;Qu(c[bc>>2]|0,87,7,1)|0}c[kb>>2]=c[(c[kb>>2]|0)+20>>2];c[Fb>>2]=(c[Fb>>2]|0)+1}}while(0);c[$a>>2]=c[c[$a>>2]>>2]}}while(0);c[Eb>>2]=(c[Eb>>2]|0)+1}c[Db>>2]=mA(c[bc>>2]|0,4,32072,0)|0;if(!(c[Db>>2]|0))break a;c[(c[Db>>2]|0)+8>>2]=0-(c[Hb>>2]|0);a[(c[Db>>2]|0)+40+1>>0]=-2;c[(c[Db>>2]|0)+40+16>>2]=32088;break a}case 12:{if(!(c[dc>>2]|0)){if(fv(c[ac>>2]|0)|0)break a;kA(c[bc>>2]|0,32091,c[5356+(d[(c[c[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[ec>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[ec>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ia>>2]=5356;while(1){if(!(c[c[Ia>>2]>>2]|0))break;bc=0==(bh(c[dc>>2]|0,c[c[Ia>>2]>>2]|0)|0);f=c[Ia>>2]|0;if(bc){_b=306;break}c[Ia>>2]=f+8}if((_b|0)==306){if(d[f+4>>0]|0)f=d[(c[Ia>>2]|0)+4>>0]|0;else f=(a[936]|0)==0?3:2;bc=f&255;a[(c[ec>>2]|0)+66>>0]=bc;a[(c[(c[(c[ec>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(c[c[Ia>>2]>>2]|0)break a;bc=c[ac>>2]|0;c[Za>>2]=c[dc>>2];sl(bc,32100,Za);break a}case 0:{c[s>>2]=c[(c[Lb>>2]|0)+8>>2];Yu(c[bc>>2]|0,c[$b>>2]|0);if(c[dc>>2]|0?(d[(c[Lb>>2]|0)+5>>0]&2|0)==0:0){c[t>>2]=mA(c[bc>>2]|0,2,32125,0)|0;c[(c[t>>2]|0)+4>>2]=c[$b>>2];c[(c[t>>2]|0)+20+4>>2]=c[$b>>2];c[(c[t>>2]|0)+20+8>>2]=c[s>>2];bc=fg(c[dc>>2]|0)|0;c[(c[t>>2]|0)+20+12>>2]=bc;break a}c[u>>2]=mA(c[bc>>2]|0,3,32133,0)|0;c[(c[u>>2]|0)+4>>2]=c[$b>>2];c[(c[u>>2]|0)+20+4>>2]=c[$b>>2];c[(c[u>>2]|0)+20+12>>2]=c[s>>2];Rs(c[bc>>2]|0,1);Ss(c[bc>>2]|0,0,0,c[cc>>2]|0,-1)|0;GA(c[bc>>2]|0);break a}case 8:{c[Ca>>2]=0;c[(c[ac>>2]|0)+44>>2]=1;lA(c[bc>>2]|0,32145);while(1){ac=c[Ca>>2]|0;c[Ca>>2]=ac+1;ac=od(ac)|0;c[Da>>2]=ac;f=c[bc>>2]|0;if(!ac)break;Pu(f,1,c[Da>>2]|0)|0;Qu(c[bc>>2]|0,87,1,1)|0}GA(f);break a}case 36:{c[v>>2]=c[c[ia>>2]>>2]|0?c[$b>>2]|0:10;c[w>>2]=0;do if(c[dc>>2]|0){if(!(bh(c[dc>>2]|0,32160)|0)){c[w>>2]=1;break}if(!(bh(c[dc>>2]|0,32165)|0)){c[w>>2]=2;break}if(!(bh(c[dc>>2]|0,32173)|0))c[w>>2]=3}while(0);yA(c[bc>>2]|0,3,5428);c[(c[ac>>2]|0)+44>>2]=3;Ru(c[bc>>2]|0,8,c[v>>2]|0,c[w>>2]|0,1)|0;Qu(c[bc>>2]|0,87,1,3)|0;break a}case 35:{if(c[dc>>2]|0){ac=c[ec>>2]|0;HA(ac,fg(c[dc>>2]|0)|0)|0}if((c[(c[ec>>2]|0)+224>>2]|0)==145)f=c[(c[ec>>2]|0)+228>>2]|0;else f=0;nA(c[bc>>2]|0,32182,f,((f|0)<0)<<31>>31);break a}case 27:{JA(c[ec>>2]|0)|0;break a}case 28:{if(c[dc>>2]|0?(Kz(c[dc>>2]|0,x)|0)==0:0){ac=x;il(c[ac>>2]|0,c[ac+4>>2]|0)|0}ac=c[bc>>2]|0;bc=il(-1,-1)|0;nA(ac,32209,bc,D);break a}case 34:{if(c[dc>>2]|0?(_b=(Kz(c[dc>>2]|0,y)|0)==0,ac=y,$b=c[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(c[ac>>2]|0)>>>0>=0)):0)LA(c[ec>>2]|0,11,c[y>>2]&2147483647)|0;ac=c[bc>>2]|0;bc=LA(c[ec>>2]|0,11,-1)|0;nA(ac,32225,bc,((bc|0)<0)<<31>>31);break a}default:{if(c[dc>>2]|0){ac=c[ec>>2]|0;KA(ac,fg(c[dc>>2]|0)|0)|0}ac=c[(c[ec>>2]|0)+428>>2]|0;nA(c[bc>>2]|0,32201,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);Xd(c[ec>>2]|0,c[cc>>2]|0);Xd(c[ec>>2]|0,c[dc>>2]|0);l=fc;return}function ju(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+112|0;v=w+24|0;u=w;n=w+108|0;o=w+104|0;p=w+100|0;q=w+96|0;r=w+92|0;s=w+88|0;t=w+64|0;f=w+56|0;g=w+48|0;h=w+44|0;i=w+40|0;j=w+36|0;k=w+32|0;m=w+28|0;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=c[(c[n>>2]|0)+444>>2];c[s>>2]=c[c[n>>2]>>2];c[(c[n>>2]|0)+444>>2]=0;do if(c[q>>2]|0?(c[(c[n>>2]|0)+36>>2]|0)==0:0){c[r>>2]=c[c[q>>2]>>2];c[f>>2]=Hu(c[c[n>>2]>>2]|0,c[(c[q>>2]|0)+20>>2]|0)|0;c[(c[q>>2]|0)+28>>2]=c[o>>2];while(1){b=c[q>>2]|0;if(!(c[o>>2]|0))break;c[(c[o>>2]|0)+4>>2]=b;c[o>>2]=c[(c[o>>2]|0)+28>>2]}jx(g,c[b>>2]|0);cA(t,c[n>>2]|0,c[f>>2]|0,31184,g);if((hA(t,c[(c[q>>2]|0)+28>>2]|0)|0)==0?(fA(t,c[(c[q>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[s>>2]|0)+148+5>>0]|0)){c[h>>2]=Lu(c[n>>2]|0)|0;if(!(c[h>>2]|0))break;cv(c[n>>2]|0,0,c[f>>2]|0);c[i>>2]=Uj(c[s>>2]|0,c[c[p>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0,0)|0;p=c[n>>2]|0;d=(c[f>>2]|0)==1?26433:26452;e=c[r>>2]|0;g=c[(c[q>>2]|0)+4>>2]|0;t=c[i>>2]|0;c[u>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];c[u+4>>2]=d;c[u+8>>2]=e;c[u+12>>2]=g;c[u+16>>2]=t;Ku(p,31463,u);Xd(c[s>>2]|0,c[i>>2]|0);Mu(c[n>>2]|0,c[f>>2]|0);p=c[h>>2]|0;t=c[f>>2]|0;u=c[s>>2]|0;c[v>>2]=c[r>>2];Ou(p,t,Wj(u,31527,v)|0)}if(a[(c[s>>2]|0)+148+5>>0]|0){c[j>>2]=c[q>>2];c[k>>2]=(c[(c[(c[s>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+40;c[q>>2]=Fk(c[k>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(c[q>>2]|0){Od(c[s>>2]|0);break}if((c[(c[j>>2]|0)+20>>2]|0)==(c[(c[j>>2]|0)+24>>2]|0)){c[m>>2]=hv((c[(c[j>>2]|0)+24>>2]|0)+8|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=c[(c[m>>2]|0)+60>>2];c[(c[m>>2]|0)+60>>2]=c[j>>2]}}}}while(0);sk(c[s>>2]|0,c[q>>2]|0);al(c[s>>2]|0,c[o>>2]|0);l=w;return}function ku(b,e,f,g,h,i,j,k,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;H=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;M=Q+116|0;B=Q+112|0;N=Q+108|0;O=Q+104|0;P=Q+100|0;C=Q+96|0;q=Q+72|0;D=Q+68|0;E=Q+64|0;F=Q+60|0;G=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=i;c[K>>2]=j;c[L>>2]=k;c[z>>2]=m;c[A>>2]=n;c[M>>2]=0;c[N>>2]=0;c[O>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[P>>2]=1;c[C>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{sl(c[I>>2]|0,31138,r);break}else{c[P>>2]=ay(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,C)|0;if((c[P>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[O>>2]|0)+69>>0]|0)==0:0){if((c[P>>2]|0)!=1?(d[(c[O>>2]|0)+148+5>>0]|0)!=0:0){Xd(c[O>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[B>>2]=bA(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[O>>2]|0)+148+5>>0]|0)==0?(c[B>>2]|0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[B>>2]|0)+64>>2]|0)==(c[(c[(c[O>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[P>>2]=1;if((a[(c[O>>2]|0)+69>>0]|0)==0?(cA(q,c[I>>2]|0,c[P>>2]|0,31184,c[C>>2]|0),(dA(q,c[K>>2]|0)|0)==0):0){c[B>>2]=bA(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[B>>2]|0)){if((d[(c[O>>2]|0)+148+4>>0]|0)!=1)break;a[(c[O>>2]|0)+148+6>>0]=1;break}if(d[(c[B>>2]|0)+42>>0]&16|0){sl(c[I>>2]|0,31192,s);break}c[N>>2]=Eu(c[O>>2]|0,c[C>>2]|0)|0;if(c[N>>2]|0?0==(dw(c[I>>2]|0,c[N>>2]|0)|0):0){if(hv((c[(c[(c[O>>2]|0)+16>>2]|0)+(c[P>>2]<<4)+12>>2]|0)+40|0,c[N>>2]|0)|0){b=c[I>>2]|0;if(c[A>>2]|0){dv(b,c[P>>2]|0);break}else{c[H>>2]=c[C>>2];sl(b,31233,H);break}}if(!(ld(c[c[B>>2]>>2]|0,26664,7)|0)){sl(c[I>>2]|0,31259,t);break}if((c[x>>2]|0)!=77?(c[(c[B>>2]|0)+12>>2]|0)!=0:0){P=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==63?31297:31304;c[u+4>>2]=H;c[u+8>>2]=0;sl(P,31310,u);break}if((c[x>>2]|0)==77?(c[(c[B>>2]|0)+12>>2]|0)==0:0){P=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;sl(P,31347,v);break}c[D>>2]=Hu(c[O>>2]|0,c[(c[B>>2]|0)+64>>2]|0)|0;c[E>>2]=7;c[F>>2]=c[(c[(c[O>>2]|0)+16>>2]|0)+(c[D>>2]<<4)>>2];if(c[z>>2]|0)b=c[(c[(c[O>>2]|0)+16>>2]|0)+16>>2]|0;else b=c[F>>2]|0;c[G>>2]=b;if((c[D>>2]|0)==1|(c[z>>2]|0)!=0)c[E>>2]=5;if((Iu(c[I>>2]|0,c[E>>2]|0,c[N>>2]|0,c[c[B>>2]>>2]|0,c[G>>2]|0)|0)==0?(Iu(c[I>>2]|0,18,(c[D>>2]|0)==1?26433:26452,0,c[F>>2]|0)|0)==0:0){if((c[x>>2]|0)==77)c[x>>2]=63;c[M>>2]=_l(c[O>>2]|0,36,0)|0;if(!(c[M>>2]|0))break;c[c[M>>2]>>2]=c[N>>2];c[N>>2]=0;H=Xo(c[O>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[M>>2]|0)+4>>2]=H;c[(c[M>>2]|0)+20>>2]=c[(c[(c[O>>2]|0)+16>>2]|0)+(c[P>>2]<<4)+12>>2];c[(c[M>>2]|0)+24>>2]=c[(c[B>>2]|0)+64>>2];a[(c[M>>2]|0)+8>>0]=c[y>>2];a[(c[M>>2]|0)+9>>0]=(c[x>>2]|0)==63?1:2;P=Ww(c[O>>2]|0,c[L>>2]|0,1)|0;c[(c[M>>2]|0)+12>>2]=P;P=Yx(c[O>>2]|0,c[J>>2]|0)|0;c[(c[M>>2]|0)+16>>2]=P;c[(c[I>>2]|0)+444>>2]=c[M>>2]}}}}while(0);Xd(c[O>>2]|0,c[N>>2]|0);Rk(c[O>>2]|0,c[K>>2]|0);Tk(c[O>>2]|0,c[J>>2]|0);Ok(c[O>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+444>>2]|0){l=Q;return}sk(c[O>>2]|0,c[M>>2]|0);l=Q;return}function lu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;m=n+20|0;h=n;c[i>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[m>>0]=g;c[h>>2]=aA(c[i>>2]|0,110,c[o>>2]|0)|0;if(c[h>>2]|0){o=cx(c[i>>2]|0,c[j>>2]|0,1)|0;c[(c[h>>2]|0)+20>>2]=o;o=Ww(c[i>>2]|0,c[k>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=o;a[(c[h>>2]|0)+1>>0]=a[m>>0]|0}Kk(c[i>>2]|0,c[j>>2]|0);Ok(c[i>>2]|0,c[k>>2]|0);l=n;return c[h>>2]|0}function mu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;m=n+20|0;h=n;c[i>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[m>>0]=g;c[h>>2]=aA(c[i>>2]|0,108,c[o>>2]|0)|0;b=c[i>>2]|0;if(c[h>>2]|0){o=kw(b,c[k>>2]|0,1)|0;c[(c[h>>2]|0)+8>>2]=o;c[(c[h>>2]|0)+24>>2]=c[j>>2];a[(c[h>>2]|0)+1>>0]=a[m>>0]|0;m=c[i>>2]|0;o=c[k>>2]|0;Jk(m,o);o=c[h>>2]|0;l=n;return o|0}else{Tk(b,c[j>>2]|0);m=c[i>>2]|0;o=c[k>>2]|0;Jk(m,o);o=c[h>>2]|0;l=n;return o|0}return 0}function nu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[j>>2]=d;c[g>>2]=e;c[h>>2]=aA(c[f>>2]|0,109,c[j>>2]|0)|0;if(c[h>>2]|0){j=Ww(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=j;a[(c[h>>2]|0)+1>>0]=10}Ok(c[f>>2]|0,c[g>>2]|0);l=i;return c[h>>2]|0}function ou(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;c[h>>2]=_l(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){Jk(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}return 0}function pu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;m=r+40|0;n=r+36|0;o=r+32|0;g=r+28|0;h=r+24|0;p=r+20|0;i=r+16|0;k=r+12|0;f=r+8|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[g>>2]=0;c[k>>2]=c[c[m>>2]>>2];if(a[(c[k>>2]|0)+69>>0]|0){p=c[k>>2]|0;q=c[n>>2]|0;Rk(p,q);l=r;return}if(fv(c[m>>2]|0)|0){p=c[k>>2]|0;q=c[n>>2]|0;Rk(p,q);l=r;return}c[p>>2]=c[(c[n>>2]|0)+8+4>>2];c[i>>2]=c[(c[n>>2]|0)+8+8>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;e=c[h>>2]|0;c[f>>2]=(c[h>>2]|0)<2?e^1:e;if(!(c[p>>2]|0?(bh(c[(c[(c[k>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2]|0,c[p>>2]|0)|0)!=0:0))j=7;if((j|0)==7?(j=0,c[g>>2]=hv((c[(c[(c[k>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+40|0,c[i>>2]|0)|0,c[g>>2]|0):0)break;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){_z(c[m>>2]|0,c[g>>2]|0);p=c[k>>2]|0;q=c[n>>2]|0;Rk(p,q);l=r;return}b=c[m>>2]|0;if(c[o>>2]|0)Zz(b,c[p>>2]|0);else{c[q>>2]=c[n>>2];c[q+4>>2]=0;sl(b,31067,q)}a[(c[m>>2]|0)+17>>0]=1;p=c[k>>2]|0;q=c[n>>2]|0;Rk(p,q);l=r;return}function qu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;Oz(c[j>>2]|0,24,4404,c[i>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Oz(c[f>>2]|0,25,4376,c[e>>2]|0,0,0,c[e>>2]|0);l=d;return}function su(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;t=u;s=u+48|0;i=u+44|0;j=u+40|0;k=u+36|0;m=u+32|0;n=u+28|0;o=u+24|0;q=u+20|0;r=u+16|0;f=u+12|0;g=u+8|0;h=u+4|0;c[s>>2]=b;c[i>>2]=d;c[j>>2]=e;c[f>>2]=c[c[s>>2]>>2];if(fv(c[s>>2]|0)|0){l=u;return}if(!(c[i>>2]|0)){Ay(c[s>>2]|0,0);l=u;return}if(!((c[j>>2]|0)!=0?(c[c[j>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[h>>2]=Eu(c[c[s>>2]>>2]|0,c[i>>2]|0)|0;if(!(c[h>>2]|0)){l=u;return}c[k>>2]=tw(c[f>>2]|0,a[(c[f>>2]|0)+66>>0]|0,c[h>>2]|0,0)|0;if(!(c[k>>2]|0)){Xd(c[f>>2]|0,c[h>>2]|0);break}Ay(c[s>>2]|0,c[h>>2]|0);Xd(c[f>>2]|0,c[h>>2]|0);l=u;return}while(0);c[r>>2]=ay(c[s>>2]|0,c[i>>2]|0,c[j>>2]|0,g)|0;if((c[r>>2]|0)<0){l=u;return}c[m>>2]=Eu(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[m>>2]|0)){l=u;return}c[n>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[o>>2]=gv(c[f>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){By(c[s>>2]|0,c[o>>2]|0,0);Xd(c[f>>2]|0,c[m>>2]|0);l=u;return}c[q>>2]=vv(c[f>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;Xd(c[f>>2]|0,c[m>>2]|0);b=c[s>>2]|0;if(c[q>>2]|0){cv(b,0,c[r>>2]|0);Cy(c[s>>2]|0,c[q>>2]|0,-1);l=u;return}else{sl(b,30301,t);l=u;return}}function tu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;o=r+44|0;f=r+40|0;g=r+36|0;p=r+32|0;h=r+28|0;i=r+24|0;q=r+20|0;j=r+16|0;k=r+12|0;m=r+8|0;e=r+4|0;n=r;c[o>>2]=a;c[f>>2]=b;c[g>>2]=d;c[p>>2]=c[c[o>>2]>>2];if(fv(c[o>>2]|0)|0){l=r;return}a:do if(c[f>>2]|0){if(c[(c[g>>2]|0)+4>>2]|0){c[h>>2]=ay(c[o>>2]|0,c[f>>2]|0,c[g>>2]|0,e)|0;if((c[h>>2]|0)<0)break;c[j>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Eu(c[p>>2]|0,c[e>>2]|0)|0;if(!(c[q>>2]|0))break;i=vv(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0)|0;c[m>>2]=i;a=c[o>>2]|0;if(!(i|0)){m=ev(a,0,c[q>>2]|0,c[j>>2]|0)|0;c[k>>2]=m;if(m|0)$x(c[o>>2]|0,c[k>>2]|0,0)}else $x(a,c[(c[m>>2]|0)+12>>2]|0,c[m>>2]|0);Xd(c[p>>2]|0,c[q>>2]|0);break}c[h>>2]=_x(c[p>>2]|0,c[f>>2]|0)|0;if((c[h>>2]|0)>=0){Zx(c[o>>2]|0,c[h>>2]|0);break}c[q>>2]=Eu(c[p>>2]|0,c[f>>2]|0)|0;if(c[q>>2]|0){j=vv(c[p>>2]|0,c[q>>2]|0,0)|0;c[m>>2]=j;a=c[o>>2]|0;if(!(j|0)){m=ev(a,0,c[q>>2]|0,0)|0;c[k>>2]=m;if(m|0)$x(c[o>>2]|0,c[k>>2]|0,0)}else $x(a,c[(c[m>>2]|0)+12>>2]|0,c[m>>2]|0);Xd(c[p>>2]|0,c[q>>2]|0)}}else{c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break a;if((c[i>>2]|0)!=1)Zx(c[o>>2]|0,c[i>>2]|0);c[i>>2]=(c[i>>2]|0)+1}}while(0);c[n>>2]=Lu(c[o>>2]|0)|0;if(!(c[n>>2]|0)){l=r;return}Nu(c[n>>2]|0,150)|0;l=r;return}function uu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+176|0;C=E+96|0;B=E+80|0;A=E+40|0;D=E+16|0;z=E+8|0;h=E;t=E+172|0;u=E+168|0;g=E+164|0;v=E+160|0;w=E+156|0;x=E+152|0;y=E+148|0;i=E+144|0;j=E+140|0;k=E+136|0;m=E+132|0;n=E+128|0;o=E+124|0;p=E+120|0;q=E+116|0;r=E+112|0;s=E+108|0;c[t>>2]=b;c[u>>2]=e;c[g>>2]=f;c[y>>2]=0;c[i>>2]=c[c[t>>2]>>2];c[n>>2]=0;c[o>>2]=0;c[p>>2]=c[(c[i>>2]|0)+24>>2];do if(((a[(c[i>>2]|0)+69>>0]|0)==0?(c[x>>2]=av(c[t>>2]|0,0,(c[u>>2]|0)+8|0)|0,c[x>>2]|0):0)?(c[v>>2]=Hu(c[c[t>>2]>>2]|0,c[(c[x>>2]|0)+64>>2]|0)|0,c[w>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2],f=(c[i>>2]|0)+24|0,c[f>>2]=c[f>>2]|2097152,c[y>>2]=Eu(c[i>>2]|0,c[g>>2]|0)|0,c[y>>2]|0):0){if((gv(c[i>>2]|0,c[y>>2]|0,c[w>>2]|0)|0)==0?(vv(c[i>>2]|0,c[y>>2]|0,c[w>>2]|0)|0)==0:0){if(bv(c[t>>2]|0,c[c[x>>2]>>2]|0)|0)break;if(dw(c[t>>2]|0,c[y>>2]|0)|0)break;b=c[t>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){c[z>>2]=c[c[x>>2]>>2];sl(b,27745,z);break}if(Iu(b,26,c[w>>2]|0,c[c[x>>2]>>2]|0,0)|0)break;if(ew(c[t>>2]|0,c[x>>2]|0)|0)break;if(d[(c[x>>2]|0)+42>>0]&16|0?(c[o>>2]=fw(c[i>>2]|0,c[x>>2]|0)|0,(c[(c[c[(c[o>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[o>>2]=0;c[m>>2]=Lu(c[t>>2]|0)|0;if(!(c[m>>2]|0))break;cv(c[t>>2]|0,(c[o>>2]|0)!=0&1,c[v>>2]|0);Mu(c[t>>2]|0,c[v>>2]|0);if(c[o>>2]|0){h=(c[t>>2]|0)+44|0;z=(c[h>>2]|0)+1|0;c[h>>2]=z;c[q>>2]=z;Pu(c[m>>2]|0,c[q>>2]|0,c[y>>2]|0)|0;Uu(c[m>>2]|0,157,c[q>>2]|0,0,0,c[o>>2]|0,-10)|0;gw(c[t>>2]|0)}c[k>>2]=c[c[x>>2]>>2];c[j>>2]=Uh(c[k>>2]|0,-1)|0;if(c[(c[i>>2]|0)+24>>2]&524288|0?(z=hw(c[t>>2]|0,c[x>>2]|0)|0,c[n>>2]=z,z|0):0){z=c[t>>2]|0;h=(c[v>>2]|0)==1?26433:26452;m=c[k>>2]|0;o=c[y>>2]|0;q=c[n>>2]|0;c[D>>2]=c[w>>2];c[D+4>>2]=h;c[D+8>>2]=m;c[D+12>>2]=o;c[D+16>>2]=q;Ku(z,27772,D);Xd(c[i>>2]|0,c[n>>2]|0)}D=c[t>>2]|0;f=(c[v>>2]|0)==1?26433:26452;g=c[y>>2]|0;h=c[y>>2]|0;m=c[y>>2]|0;o=c[y>>2]|0;q=c[y>>2]|0;v=c[j>>2]|0;z=c[k>>2]|0;c[A>>2]=c[w>>2];c[A+4>>2]=f;c[A+8>>2]=g;c[A+12>>2]=h;c[A+16>>2]=m;c[A+20>>2]=o;c[A+24>>2]=q;c[A+28>>2]=v;c[A+32>>2]=z;Ku(D,27841,A);if(gv(c[i>>2]|0,28225,c[w>>2]|0)|0){D=c[t>>2]|0;z=c[y>>2]|0;A=c[c[x>>2]>>2]|0;c[B>>2]=c[w>>2];c[B+4>>2]=z;c[B+8>>2]=A;Ku(D,28241,B)}D=Tv(c[t>>2]|0,c[x>>2]|0)|0;c[n>>2]=D;if(D|0){D=c[t>>2]|0;A=c[y>>2]|0;B=c[n>>2]|0;c[C>>2]=c[y>>2];c[C+4>>2]=A;c[C+8>>2]=B;Ku(D,28299,C);Xd(c[i>>2]|0,c[n>>2]|0)}a:do if(c[(c[i>>2]|0)+24>>2]&524288|0){c[r>>2]=iw(c[x>>2]|0)|0;while(1){if(!(c[r>>2]|0))break a;c[s>>2]=c[c[r>>2]>>2];if((c[s>>2]|0)!=(c[x>>2]|0))Rv(c[t>>2]|0,c[c[r>>2]>>2]|0,c[c[s>>2]>>2]|0);c[r>>2]=c[(c[r>>2]|0)+12>>2]}}while(0);Rv(c[t>>2]|0,c[x>>2]|0,c[y>>2]|0);break}D=c[t>>2]|0;c[h>>2]=c[y>>2];sl(D,27686,h)}while(0);Rk(c[i>>2]|0,c[u>>2]|0);Xd(c[i>>2]|0,c[y>>2]|0);c[(c[i>>2]|0)+24>>2]=c[p>>2];l=E;return}function vu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+144|0;A=E+40|0;z=E+32|0;D=E+24|0;C=E+16|0;B=E+8|0;y=E;q=E+128|0;r=E+124|0;s=E+120|0;t=E+116|0;u=E+112|0;v=E+108|0;w=E+104|0;x=E+100|0;g=E+96|0;h=E+92|0;i=E+88|0;j=E+84|0;k=E+80|0;m=E+76|0;n=E+72|0;o=E+68|0;p=E+64|0;c[q>>2]=e;c[r>>2]=f;c[j>>2]=c[(c[q>>2]|0)+8>>2];c[i>>2]=c[c[q>>2]>>2];if(c[(c[q>>2]|0)+36>>2]|0){l=E;return}if(d[(c[i>>2]|0)+69>>0]|0){l=E;return}c[s>>2]=c[(c[q>>2]|0)+440>>2];c[u>>2]=Hu(c[i>>2]|0,c[(c[s>>2]|0)+64>>2]|0)|0;c[v>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];c[w>>2]=(c[c[s>>2]>>2]|0)+16;c[g>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((b[(c[s>>2]|0)+34>>1]|0)-1<<4);c[h>>2]=c[(c[g>>2]|0)+4>>2];c[t>>2]=gv(c[i>>2]|0,c[w>>2]|0,c[v>>2]|0)|0;if(Iu(c[q>>2]|0,26,c[v>>2]|0,c[c[t>>2]>>2]|0,0)|0){l=E;return}if(c[h>>2]|0?(d[c[(c[h>>2]|0)+12>>2]>>0]|0)==101:0)c[h>>2]=0;if(d[(c[g>>2]|0)+15>>0]&1|0){sl(c[q>>2]|0,27300,y);l=E;return}if(c[(c[s>>2]|0)+8>>2]|0){sl(c[q>>2]|0,27332,B);l=E;return}if(c[(c[i>>2]|0)+24>>2]&524288|0?(c[h>>2]|0?(c[(c[s>>2]|0)+16>>2]|0)!=0:0):0){sl(c[q>>2]|0,27359,C);l=E;return}if(!(c[h>>2]|0?1:(d[(c[g>>2]|0)+12>>0]|0)==0)){sl(c[q>>2]|0,27418,D);l=E;return}do if(c[h>>2]|0){c[m>>2]=0;c[n>>2]=Nv(c[i>>2]|0,c[h>>2]|0,1,65,m)|0;if(c[n>>2]|0){l=E;return}if(c[m>>2]|0){Bk(c[m>>2]|0);break}sl(c[q>>2]|0,27471,z);l=E;return}while(0);c[x>>2]=Uj(c[i>>2]|0,c[c[r>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0,0)|0;if(c[x>>2]|0){c[o>>2]=(c[x>>2]|0)+((c[(c[r>>2]|0)+4>>2]|0)-1);c[p>>2]=c[(c[i>>2]|0)+24>>2];while(1){if((c[o>>2]|0)>>>0<=(c[x>>2]|0)>>>0)break;if((a[c[o>>2]>>0]|0)!=59?(d[20063+(d[c[o>>2]>>0]|0)>>0]&1|0)==0:0)break;D=c[o>>2]|0;c[o>>2]=D+-1;a[D>>0]=0}D=(c[i>>2]|0)+24|0;c[D>>2]=c[D>>2]|2097152;D=c[q>>2]|0;r=(c[u>>2]|0)==1?26433:26452;y=c[(c[s>>2]|0)+44>>2]|0;z=c[x>>2]|0;B=(c[(c[s>>2]|0)+44>>2]|0)+1|0;C=c[w>>2]|0;c[A>>2]=c[v>>2];c[A+4>>2]=r;c[A+8>>2]=y;c[A+12>>2]=z;c[A+16>>2]=B;c[A+20>>2]=C;Ku(D,27517,A);Xd(c[i>>2]|0,c[x>>2]|0);c[(c[i>>2]|0)+24>>2]=c[p>>2]}c[k>>2]=Ov(c[q>>2]|0)|0;Ru(c[j>>2]|0,101,c[u>>2]|0,c[k>>2]|0,2)|0;Yu(c[j>>2]|0,c[u>>2]|0);Qu(c[j>>2]|0,91,c[k>>2]|0,-2)|0;C=c[j>>2]|0;D=c[k>>2]|0;Qu(C,66,D,(Pv(c[j>>2]|0)|0)+2|0)|0;Ru(c[j>>2]|0,102,c[u>>2]|0,2,3)|0;Qv(c[q>>2]|0,c[k>>2]|0);Rv(c[q>>2]|0,c[t>>2]|0,c[c[t>>2]>>2]|0);l=E;return}function wu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;t=u+16|0;s=u+8|0;g=u;j=u+56|0;k=u+52|0;m=u+48|0;n=u+44|0;o=u+40|0;p=u+36|0;q=u+32|0;r=u+28|0;h=u+24|0;i=u+20|0;c[j>>2]=e;c[k>>2]=f;c[h>>2]=c[c[j>>2]>>2];do if((a[(c[h>>2]|0)+69>>0]|0)==0?(c[n>>2]=av(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,c[n>>2]|0):0){if(d[(c[n>>2]|0)+42>>0]&16|0){sl(c[j>>2]|0,26581,g);break}e=c[j>>2]|0;if(c[(c[n>>2]|0)+12>>2]|0){sl(e,26615,s);break}if(((0==(bv(e,c[c[n>>2]>>2]|0)|0)?(c[p>>2]=Hu(c[h>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0,c[m>>2]=_l(c[h>>2]|0,72,0)|0,c[m>>2]|0):0)?(c[(c[j>>2]|0)+440>>2]=c[m>>2],b[(c[m>>2]|0)+36>>1]=1,b[(c[m>>2]|0)+34>>1]=b[(c[n>>2]|0)+34>>1]|0,c[r>>2]=((((b[(c[m>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=_l(c[h>>2]|0,c[r>>2]<<4,0)|0,c[(c[m>>2]|0)+4>>2]=s,s=c[h>>2]|0,c[t>>2]=c[c[n>>2]>>2],t=Wj(s,26645,t)|0,c[c[m>>2]>>2]=t,c[(c[m>>2]|0)+4>>2]|0):0)?c[c[m>>2]>>2]|0:0){h0(c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+4>>2]|0,b[(c[m>>2]|0)+34>>1]<<4|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(b[(c[m>>2]|0)+34>>1]|0))break;c[i>>2]=(c[(c[m>>2]|0)+4>>2]|0)+(c[q>>2]<<4);t=Xo(c[h>>2]|0,c[c[i>>2]>>2]|0)|0;c[c[i>>2]>>2]=t;c[(c[i>>2]|0)+8>>2]=0;c[(c[i>>2]|0)+4>>2]=0;c[q>>2]=(c[q>>2]|0)+1}c[(c[m>>2]|0)+64>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[p>>2]<<4)+12>>2];c[(c[m>>2]|0)+44>>2]=c[(c[n>>2]|0)+44>>2];b[(c[m>>2]|0)+36>>1]=1;cv(c[j>>2]|0,0,c[p>>2]|0);c[o>>2]=Lu(c[j>>2]|0)|0;if(c[o>>2]|0)Mu(c[j>>2]|0,c[p>>2]|0)}}while(0);Rk(c[h>>2]|0,c[k>>2]|0);l=u;return}function xu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+96|0;t=u+32|0;s=u+8|0;r=u;i=u+80|0;j=u+76|0;k=u+72|0;m=u+68|0;n=u+64|0;o=u+60|0;p=u+56|0;q=u+52|0;e=u+48|0;f=u+44|0;g=u+40|0;h=u+36|0;c[i>>2]=b;c[j>>2]=d;c[k>>2]=c[(c[i>>2]|0)+440>>2];c[m>>2]=c[c[i>>2]>>2];if(!(c[k>>2]|0)){l=u;return}Fu(c[i>>2]|0);c[(c[i>>2]|0)+452>>2]=0;if((c[(c[k>>2]|0)+48>>2]|0)<1){l=u;return}if(!(a[(c[m>>2]|0)+148+5>>0]|0)){if(c[j>>2]|0)c[(c[i>>2]|0)+384+4>>2]=(c[c[j>>2]>>2]|0)-(c[(c[i>>2]|0)+384>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);d=c[m>>2]|0;c[r>>2]=(c[i>>2]|0)+384;c[n>>2]=Wj(d,26409,r)|0;c[p>>2]=Hu(c[m>>2]|0,c[(c[k>>2]|0)+64>>2]|0)|0;r=c[i>>2]|0;d=(c[p>>2]|0)==1?26433:26452;f=c[c[k>>2]>>2]|0;g=c[c[k>>2]>>2]|0;h=c[n>>2]|0;j=c[(c[i>>2]|0)+100>>2]|0;c[s>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[s+4>>2]=d;c[s+8>>2]=f;c[s+12>>2]=g;c[s+16>>2]=h;c[s+20>>2]=j;Ku(r,26466,s);Xd(c[m>>2]|0,c[n>>2]|0);c[e>>2]=Lu(c[i>>2]|0)|0;Mu(c[i>>2]|0,c[p>>2]|0);Nu(c[e>>2]|0,150)|0;s=c[m>>2]|0;c[t>>2]=c[c[k>>2]>>2];c[o>>2]=Wj(s,26554,t)|0;Ou(c[e>>2]|0,c[p>>2]|0,c[o>>2]|0);s=(c[i>>2]|0)+44|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[q>>2]=t;Pu(c[e>>2]|0,c[q>>2]|0,c[c[k>>2]>>2]|0)|0;Qu(c[e>>2]|0,153,c[p>>2]|0,c[q>>2]|0)|0;l=u;return}c[g>>2]=c[(c[k>>2]|0)+64>>2];c[h>>2]=c[c[k>>2]>>2];c[f>>2]=Fk((c[g>>2]|0)+8|0,c[h>>2]|0,c[k>>2]|0)|0;if(c[f>>2]|0){Od(c[m>>2]|0);l=u;return}else{c[(c[i>>2]|0)+440>>2]=0;l=u;return}}function yu(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+32|0;m=o+28|0;r=o+24|0;q=o+20|0;n=o+16|0;p=o+12|0;i=o+8|0;j=o+4|0;k=o;c[m>>2]=b;c[r>>2]=e;c[q>>2]=f;c[n>>2]=g;c[p>>2]=h;kt(c[m>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[j>>2]=c[(c[m>>2]|0)+440>>2];if(!(c[j>>2]|0)){l=o;return}c[k>>2]=c[c[m>>2]>>2];c[i>>2]=Hu(c[k>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;r=(c[j>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[j>>2]|0)+48>>2]=0;r=c[k>>2]|0;q=c[j>>2]|0;Gu(r,q,Eu(c[k>>2]|0,c[n>>2]|0)|0);Gu(c[k>>2]|0,c[j>>2]|0,0);q=c[k>>2]|0;r=c[j>>2]|0;Gu(q,r,Xo(c[k>>2]|0,c[c[j>>2]>>2]|0)|0);c[(c[m>>2]|0)+384+4>>2]=(c[c[n>>2]>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)-(c[(c[m>>2]|0)+384>>2]|0);if(!(c[(c[j>>2]|0)+52>>2]|0)){l=o;return}Iu(c[m>>2]|0,29,c[c[j>>2]>>2]|0,c[c[(c[j>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+(c[i>>2]<<4)>>2]|0)|0;l=o;return}function zu(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Fu(c[d>>2]|0);c[(c[d>>2]|0)+452>>2]=0;c[(c[d>>2]|0)+452+4>>2]=0;l=b;return}function Au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+452;a=c[c[d>>2]>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=a;d=c[(c[d>>2]|0)+4>>2]|0;g=c[e>>2]|0;g=g+4|0;c[g>>2]=d;l=f;return}else{d=a+(c[(c[d>>2]|0)+4>>2]|0)-(c[c[e>>2]>>2]|0)|0;g=c[e>>2]|0;g=g+4|0;c[g>>2]=d;l=f;return}}function Bu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;r=s;n=s+40|0;o=s+36|0;t=s+32|0;p=s+28|0;q=s+24|0;h=s+20|0;i=s+16|0;j=s+12|0;k=s+8|0;m=s+4|0;c[n>>2]=b;c[o>>2]=d;c[t>>2]=e;c[p>>2]=f;c[q>>2]=g;c[h>>2]=c[c[n>>2]>>2];c[j>>2]=Eu(c[c[n>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[j>>2]|0)!=0&(c[o>>2]|0)!=0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[o>>2]>>2]|0))break a;if(!(bh(c[j>>2]|0,c[(c[o>>2]|0)+8+(c[k>>2]<<4)>>2]|0)|0)){t=c[n>>2]|0;c[r>>2]=c[j>>2];sl(t,26341,r)}c[k>>2]=(c[k>>2]|0)+1}}while(0);if(c[o>>2]|0){c[m>>2]=24+(c[c[o>>2]>>2]<<4);t=c[m>>2]|0;c[i>>2]=de(c[h>>2]|0,c[o>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[i>>2]=_l(c[h>>2]|0,24,0)|0;if(a[(c[h>>2]|0)+69>>0]|0){Kk(c[h>>2]|0,c[p>>2]|0);Jk(c[h>>2]|0,c[q>>2]|0);Xd(c[h>>2]|0,c[j>>2]|0);c[i>>2]=c[o>>2];t=c[i>>2]|0;l=s;return t|0}else{c[(c[i>>2]|0)+8+(c[c[i>>2]>>2]<<4)+8>>2]=c[q>>2];c[(c[i>>2]|0)+8+(c[c[i>>2]>>2]<<4)+4>>2]=c[p>>2];c[(c[i>>2]|0)+8+(c[c[i>>2]>>2]<<4)>>2]=c[j>>2];c[(c[i>>2]|0)+8+(c[c[i>>2]>>2]<<4)+12>>2]=0;t=c[i>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[i>>2]|0;l=s;return t|0}return 0}function Cu(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;i=l;l=l+16|0;k=i+4|0;j=i+8|0;h=i;c[k>>2]=f;a[j>>0]=g;c[h>>2]=b[11428+(c[k>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[j>>0]|0);l=i;return e[12078+(c[h>>2]<<1)>>1]|0}function Du(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=c[e>>2];l=b;return}function Eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Uj(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Vj(c[f>>2]|0);f=c[f>>2]|0;l=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}return 0}function Fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+452>>2]|0)){l=g;return}if(!(c[(c[b>>2]|0)+440>>2]|0)){l=g;return}c[d>>2]=c[(c[b>>2]|0)+452>>2];c[e>>2]=c[(c[b>>2]|0)+452+4>>2];c[f>>2]=c[c[b>>2]>>2];a=c[f>>2]|0;b=c[(c[b>>2]|0)+440>>2]|0;e=c[e>>2]|0;Gu(a,b,Uj(c[f>>2]|0,c[d>>2]|0,e,((e|0)<0)<<31>>31)|0);l=g;return}function Gu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;f=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[k>>2]|0;c[h>>2]=de(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Xd(c[e>>2]|0,c[g>>2]|0);l=j;return}else{e=(c[f>>2]|0)+48|0;k=c[e>>2]|0;c[e>>2]=k+1;c[i>>2]=k;c[(c[h>>2]|0)+(c[i>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[i>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];l=j;return}}function Hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){a=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){a=6;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==6){f=c[f>>2]|0;l=g;return f|0}return 0}function Iu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[h>>2]=g;c[i>>2]=c[c[m>>2]>>2];if((d[(c[i>>2]|0)+148+5>>0]|0|0)==0?(d[(c[m>>2]|0)+410>>0]|0|0)==0:0){if(!(c[(c[i>>2]|0)+296>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;l=r;return q|0}c[j>>2]=Gb[c[(c[i>>2]|0)+296>>2]&255](c[(c[i>>2]|0)+300>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[h>>2]|0,c[(c[m>>2]|0)+448>>2]|0)|0;if((c[j>>2]|0)!=1){if((c[j>>2]|0)!=0&(c[j>>2]|0)!=2){c[j>>2]=1;Ju(c[m>>2]|0)}}else{sl(c[m>>2]|0,26371,q);c[(c[m>>2]|0)+12>>2]=23}c[k>>2]=c[j>>2];q=c[k>>2]|0;l=r;return q|0}c[k>>2]=0;q=c[k>>2]|0;l=r;return q|0}function Ju(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b+4|0;c[d>>2]=a;sl(c[d>>2]|0,26386,b);c[(c[d>>2]|0)+12>>2]=1;l=b;return}function Ku(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;h=n+36|0;f=n+32|0;g=n+16|0;i=n+8|0;j=n+4|0;k=n;m=n+40|0;c[h>>2]=b;c[f>>2]=d;c[j>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[h>>2]|0)+36>>2]|0){l=n;return}c[g>>2]=e;c[i>>2]=Xj(c[k>>2]|0,c[f>>2]|0,g)|0;if(!(c[i>>2]|0)){l=n;return}b=(c[h>>2]|0)+18|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=m;d=(c[h>>2]|0)+400|0;f=b+80|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));b=(c[h>>2]|0)+400|0;f=b+80|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0));Ps(c[h>>2]|0,c[i>>2]|0,j)|0;Xd(c[k>>2]|0,c[j>>2]|0);Xd(c[k>>2]|0,c[i>>2]|0);b=(c[h>>2]|0)+400|0;d=m;f=b+80|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));m=(c[h>>2]|0)+18|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;l=n;return}function Lu(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(c[d>>2]|0){d=c[d>>2]|0;l=e;return d|0}else{d=_u(c[b>>2]|0)|0;l=e;return d|0}return 0}function Mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];Ru(c[g>>2]|0,102,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;l=d;return}function Nu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Ru(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;l=d;return b|0}function Ou(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g+12|0;i=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[i>>2]=b;c[h>>2]=d;Uu(c[e>>2]|0,136,c[i>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;Yu(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}l=g;return}function Pu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Uu(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;l=e;return d|0}function Qu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=Ru(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;l=f;return e|0}function Ru(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;i=q+4|0;j=q;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[h>>2]=g;c[i>>2]=c[(c[m>>2]|0)+136>>2];b=c[m>>2]|0;if((c[(c[(c[m>>2]|0)+12>>2]|0)+48>>2]|0)<=(c[i>>2]|0)){c[k>>2]=Su(b,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;p=c[k>>2]|0;l=q;return p|0}else{g=b+136|0;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[(c[m>>2]|0)+88>>2]|0)+((c[i>>2]|0)*20|0);a[c[j>>2]>>0]=c[n>>2];a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+4>>2]=c[o>>2];c[(c[j>>2]|0)+8>>2]=c[p>>2];c[(c[j>>2]|0)+12>>2]=c[h>>2];c[(c[j>>2]|0)+16>>2]=0;a[(c[j>>2]|0)+1>>0]=0;c[k>>2]=c[i>>2];p=c[k>>2]|0;l=q;return p|0}return 0}function Su(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g>>2]=f;if(Tu(c[i>>2]|0,1)|0){c[h>>2]=1;m=c[h>>2]|0;l=n;return m|0}else{c[h>>2]=Ru(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;m=c[h>>2]|0;l=n;return m|0}return 0}function Tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+12>>2];if(c[(c[f>>2]|0)+48>>2]|0)a=c[(c[f>>2]|0)+48>>2]<<1;else a=51;c[g>>2]=a;c[e>>2]=de(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+88>>2]|0,(c[g>>2]|0)*20|0,0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;g=(g|0)!=0;g=g?0:7;l=h;return g|0}g=ae(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;c[(c[f>>2]|0)+52>>2]=g;c[(c[f>>2]|0)+48>>2]=((c[(c[f>>2]|0)+52>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+88>>2]=c[e>>2];g=c[e>>2]|0;g=(g|0)!=0;g=g?0:7;l=h;return g|0}function Uu(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;j=l;l=l+32|0;n=j+28|0;r=j+24|0;q=j+20|0;p=j+16|0;o=j+12|0;m=j+8|0;k=j+4|0;i=j;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[k>>2]=h;c[i>>2]=Ru(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Vu(c[n>>2]|0,c[i>>2]|0,c[m>>2]|0,c[k>>2]|0);l=j;return c[i>>2]|0}function Vu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;i=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[i>>2]=c[c[g>>2]>>2];if(a[(c[i>>2]|0)+69>>0]|0){if((c[k>>2]|0)==-10){l=n;return}xk(c[i>>2]|0,c[k>>2]|0,c[j>>2]|0);l=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+136>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+88>>2]|0)+((c[h>>2]|0)*20|0);if((c[k>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){b=c[j>>2]|0;if((c[k>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=b;a[(c[m>>2]|0)+1>>0]=-14;l=n;return}if(!b){l=n;return}c[(c[m>>2]|0)+16>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=c[k>>2];if((c[k>>2]|0)!=-10){l=n;return}Xu(c[j>>2]|0);l=n;return}Wu(c[g>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);l=n;return}function Wu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){xk(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[j>>2]|0)<0){Vu(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+88>>2]|0)|0)/20|0,c[i>>2]|0,c[j>>2]|0);l=k;return}if(!(c[j>>2]|0))c[j>>2]=md(c[i>>2]|0)|0;j=c[j>>2]|0;j=Uj(c[c[g>>2]>>2]|0,c[i>>2]|0,j,((j|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=j;a[(c[h>>2]|0)+1>>0]=-1;l=k;return}function Xu(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;l=b;return}function Yu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=(c[d>>2]|0)+148|0;c[b>>2]=c[b>>2]|1<>2];if((c[e>>2]|0)==1){l=f;return}if(!(Zu(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){l=f;return}d=(c[d>>2]|0)+152|0;c[d>>2]=c[d>>2]|1<>2];l=f;return}function Zu(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+9>>0]|0|0}function _u(b){b=b|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[d>>2]=b;b=$u(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)Qu(c[f>>2]|0,71,0,1)|0;if(c[(c[d>>2]|0)+124>>2]|0){f=c[f>>2]|0;l=g;return f|0}if((e[(c[c[d>>2]>>2]|0)+64>>1]|0)&8|0){f=c[f>>2]|0;l=g;return f|0}a[(c[d>>2]|0)+23>>0]=1;f=c[f>>2]|0;l=g;return f|0}function $u(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=c[c[e>>2]>>2];c[g>>2]=Ed(c[f>>2]|0,208,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}a=(c[g>>2]|0)+88|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[g>>2]>>2]=c[f>>2];if(c[(c[f>>2]|0)+4>>2]|0)c[(c[(c[f>>2]|0)+4>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+8>>2]=c[(c[f>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+20>>2]=381479589;c[(c[g>>2]|0)+12>>2]=c[e>>2];c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}function av(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[i>>2]=Hu(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[h>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[i>>2]<<4)>>2]}else c[h>>2]=c[(c[g>>2]|0)+4>>2];i=ev(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0)|0;l=j;return i|0}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((md(c[f>>2]|0)|0)>6?0==(ld(c[f>>2]|0,26664,7)|0):0){e=c[e>>2]|0;c[g>>2]=c[f>>2];sl(e,26672,g);c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function cv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;b=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[j>>2]=b;dv(c[g>>2]|0,c[i>>2]|0);g=(c[j>>2]|0)+92|0;c[g>>2]=c[g>>2]|1<>2];j=(c[j>>2]|0)+20|0;a[j>>0]=d[j>>0]|0|c[h>>2];l=k;return}function dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;a=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[e>>2]=a;if((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0){l=f;return}g=(c[e>>2]|0)+96|0;c[g>>2]=c[g>>2]|1<>2];if((c[d>>2]|0)!=1){l=f;return}pl(c[e>>2]|0)|0;l=f;return}function ev(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r+16|0;p=r;j=r+52|0;k=r+48|0;h=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;i=r+28|0;g=r+24|0;c[k>>2]=b;c[h>>2]=d;c[m>>2]=e;c[n>>2]=f;if(fv(c[k>>2]|0)|0){c[j>>2]=0;q=c[j>>2]|0;l=r;return q|0}c[o>>2]=gv(c[c[k>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[i>>2]=c[h>>2]&1|0?26700:26713;if(((ol(c[c[k>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[g>>2]=hv((c[c[k>>2]>>2]|0)+320|0,c[m>>2]|0)|0,c[g>>2]|0):0)?iv(c[k>>2]|0,c[g>>2]|0)|0:0){c[j>>2]=c[(c[g>>2]|0)+16>>2];q=c[j>>2]|0;l=r;return q|0}if(!(c[h>>2]&2)){d=c[k>>2]|0;b=c[i>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=b;c[p+4>>2]=n;c[p+8>>2]=q;sl(d,26727,p)}else{p=c[m>>2]|0;c[q>>2]=b;c[q+4>>2]=p;sl(d,26737,q)}a[(c[k>>2]|0)+17>>0]=1}}c[j>>2]=c[o>>2];q=c[j>>2]|0;l=r;return q|0}function fv(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=0;c[f>>2]=c[c[d>>2]>>2];if(!(a[(c[f>>2]|0)+148+5>>0]|0))c[e>>2]=lv(c[f>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;l=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[e>>2];f=(c[d>>2]|0)+36|0;c[f>>2]=(c[f>>2]|0)+1;f=c[e>>2]|0;l=g;return f|0}function gv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){k=7;break}d=c[i>>2]|0;c[j>>2]=(c[i>>2]|0)<2?d^1:d;if(!((c[g>>2]|0)!=0?(bh(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))k=5;if((k|0)==5?(k=0,c[h>>2]=hv((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,c[h>>2]|0):0){k=7;break}c[i>>2]=(c[i>>2]|0)+1}if((k|0)==7){l=m;return c[h>>2]|0}return 0}function hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=Wk(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;l=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;l=e;return g|0}function iv(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;k=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[c[i>>2]>>2];c[m>>2]=0;c[o>>2]=c[c[h>>2]>>2];if(c[(c[i>>2]|0)+16>>2]|0){c[g>>2]=1;p=c[g>>2]|0;l=q;return p|0}if(c[(c[j>>2]|0)+4>>2]|0?(c[(c[j>>2]|0)+4>>2]|0)!=(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;p=c[g>>2]|0;l=q;return p|0}c[k>>2]=_l(c[o>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;l=q;return p|0}f=Xo(c[o>>2]|0,c[(c[i>>2]|0)+4>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0)){Xd(c[o>>2]|0,c[k>>2]|0);c[g>>2]=0;p=c[g>>2]|0;l=q;return p|0}c[(c[i>>2]|0)+16>>2]=c[k>>2];b[(c[k>>2]|0)+36>>1]=1;c[(c[k>>2]|0)+64>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2];f=(c[k>>2]|0)+42|0;a[f>>0]=d[f>>0]|0|16;c[(c[k>>2]|0)+48>>2]=0;b[(c[k>>2]|0)+32>>1]=-1;f=c[o>>2]|0;e=c[k>>2]|0;Gu(f,e,Xo(c[o>>2]|0,c[c[k>>2]>>2]|0)|0);Gu(c[o>>2]|0,c[k>>2]|0,0);e=c[o>>2]|0;f=c[k>>2]|0;Gu(e,f,Xo(c[o>>2]|0,c[c[k>>2]>>2]|0)|0);c[n>>2]=jv(c[o>>2]|0,c[k>>2]|0,c[i>>2]|0,c[(c[j>>2]|0)+8>>2]|0,m)|0;if(c[n>>2]|0){n=c[h>>2]|0;c[p>>2]=c[m>>2];sl(n,21240,p);Xd(c[o>>2]|0,c[m>>2]|0);wr(c[o>>2]|0,c[i>>2]|0);c[g>>2]=0;p=c[g>>2]|0;l=q;return p|0}else{c[g>>2]=1;p=c[g>>2]|0;l=q;return p|0}return 0}function jv(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+144|0;v=N+32|0;I=N+24|0;H=N+16|0;m=N+8|0;k=N;L=N+132|0;M=N+128|0;G=N+124|0;t=N+120|0;u=N+116|0;w=N+112|0;o=N+96|0;x=N+92|0;J=N+88|0;p=N+84|0;q=N+80|0;y=N+76|0;K=N+72|0;r=N+68|0;j=N+64|0;s=N+60|0;z=N+56|0;A=N+136|0;B=N+52|0;C=N+48|0;D=N+44|0;E=N+40|0;F=N+36|0;c[M>>2]=e;c[G>>2]=f;c[t>>2]=g;c[u>>2]=h;c[w>>2]=i;c[p>>2]=c[(c[G>>2]|0)+52>>2];c[q>>2]=c[(c[G>>2]|0)+48>>2];c[y>>2]=0;c[j>>2]=c[(c[M>>2]|0)+336>>2];while(1){if(!(c[j>>2]|0))break;if((c[(c[j>>2]|0)+4>>2]|0)==(c[G>>2]|0)){n=4;break}c[j>>2]=c[(c[j>>2]|0)+8>>2]}if((n|0)==4){M=c[M>>2]|0;c[k>>2]=c[c[G>>2]>>2];M=Wj(M,26744,k)|0;c[c[w>>2]>>2]=M;c[L>>2]=6;M=c[L>>2]|0;l=N;return M|0}n=c[M>>2]|0;c[m>>2]=c[c[G>>2]>>2];c[K>>2]=Wj(n,21240,m)|0;if(!(c[K>>2]|0)){c[L>>2]=7;M=c[L>>2]|0;l=N;return M|0}c[x>>2]=_l(c[M>>2]|0,28,0)|0;e=c[M>>2]|0;if(!(c[x>>2]|0)){Xd(e,c[K>>2]|0);c[L>>2]=7;M=c[L>>2]|0;l=N;return M|0}c[c[x>>2]>>2]=e;c[(c[x>>2]|0)+4>>2]=c[t>>2];c[r>>2]=Hu(c[M>>2]|0,c[(c[G>>2]|0)+64>>2]|0)|0;c[(c[(c[G>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[o+4>>2]=c[G>>2];c[o>>2]=c[x>>2];c[o+8>>2]=c[(c[M>>2]|0)+336>>2];c[o+12>>2]=0;c[(c[M>>2]|0)+336>>2]=o;c[J>>2]=Gb[c[u>>2]&255](c[M>>2]|0,c[(c[t>>2]|0)+8>>2]|0,c[q>>2]|0,c[p>>2]|0,(c[x>>2]|0)+8|0,y)|0;c[(c[M>>2]|0)+336>>2]=c[o+8>>2];if((c[J>>2]|0)==7)Od(c[M>>2]|0);a:do if(!(c[J>>2]|0)){if(c[(c[x>>2]|0)+8>>2]|0){I=c[(c[x>>2]|0)+8>>2]|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[c[(c[x>>2]|0)+8>>2]>>2]=c[c[t>>2]>>2];c[(c[x>>2]|0)+12>>2]=1;if(!(c[o+12>>2]|0)){c[s>>2]=26816;H=c[M>>2]|0;I=c[s>>2]|0;c[v>>2]=c[c[G>>2]>>2];I=Wj(H,I,v)|0;c[c[w>>2]>>2]=I;Dk(c[x>>2]|0);c[J>>2]=1;break}a[A>>0]=0;c[(c[x>>2]|0)+24>>2]=c[(c[G>>2]|0)+56>>2];c[(c[G>>2]|0)+56>>2]=c[x>>2];c[z>>2]=0;while(1){if((c[z>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break a;c[B>>2]=kv((c[(c[G>>2]|0)+4>>2]|0)+(c[z>>2]<<4)|0,55752)|0;c[D>>2]=0;c[C>>2]=md(c[B>>2]|0)|0;c[D>>2]=0;b:while(1){if((c[D>>2]|0)>=(c[C>>2]|0))break;do if(!(ld(26862,(c[B>>2]|0)+(c[D>>2]|0)|0,6)|0)){if(c[D>>2]|0?(a[(c[B>>2]|0)+((c[D>>2]|0)-1)>>0]|0)!=32:0)break;if(!(a[(c[B>>2]|0)+((c[D>>2]|0)+6)>>0]|0))break b;if((a[(c[B>>2]|0)+((c[D>>2]|0)+6)>>0]|0)==32)break b}while(0);c[D>>2]=(c[D>>2]|0)+1}if((c[D>>2]|0)<(c[C>>2]|0)){c[F>>2]=6+(a[(c[B>>2]|0)+((c[D>>2]|0)+6)>>0]|0?1:0);c[E>>2]=c[D>>2];while(1){e=c[B>>2]|0;if(((c[E>>2]|0)+(c[F>>2]|0)|0)>(c[C>>2]|0))break;a[(c[B>>2]|0)+(c[E>>2]|0)>>0]=a[e+((c[E>>2]|0)+(c[F>>2]|0))>>0]|0;c[E>>2]=(c[E>>2]|0)+1}if((c[D>>2]|0)>0?(a[e+(c[D>>2]|0)>>0]|0)==0:0)a[(c[B>>2]|0)+((c[D>>2]|0)-1)>>0]=0;I=(c[(c[G>>2]|0)+4>>2]|0)+(c[z>>2]<<4)+15|0;a[I>>0]=d[I>>0]|2;a[A>>0]=-128}else{I=(c[G>>2]|0)+42|0;a[I>>0]=d[I>>0]|d[A>>0]}c[z>>2]=(c[z>>2]|0)+1}}}else{e=c[M>>2]|0;if(!(c[y>>2]|0)){c[H>>2]=c[K>>2];I=Wj(e,26786,H)|0;c[c[w>>2]>>2]=I}else{c[I>>2]=c[y>>2];I=Wj(e,21240,I)|0;c[c[w>>2]>>2]=I;_d(c[y>>2]|0)}Xd(c[M>>2]|0,c[x>>2]|0)}while(0);Xd(c[M>>2]|0,c[K>>2]|0);c[L>>2]=c[J>>2];M=c[L>>2]|0;l=N;return M|0}function kv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((d[(c[f>>2]|0)+15>>0]|0)&4)){c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}else{g=c[c[f>>2]>>2]|0;c[e>>2]=g+(g$(c[c[f>>2]>>2]|0)|0)+1;g=c[e>>2]|0;l=h;return g|0}return 0}function lv(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[i>>2]=0;a[(c[f>>2]|0)+148+5>>0]=1;a[(c[f>>2]|0)+66>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[h>>2]=0;while(1){if(c[i>>2]|0)break;if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[h>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[i>>2]=mv(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0)|0,c[i>>2]|0):0)Vs(c[f>>2]|0,c[h>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(((c[i>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[i>>2]=mv(c[f>>2]|0,1,c[g>>2]|0)|0,c[i>>2]|0):0)Vs(c[f>>2]|0,1);a[(c[f>>2]|0)+148+5>>0]=0;if(!((c[i>>2]|0)==0&(c[j>>2]|0)!=0)){j=c[i>>2]|0;l=k;return j|0}Wr(c[f>>2]|0);j=c[i>>2]|0;l=k;return j|0}function mv(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+128|0;z=A;t=A+108|0;u=A+104|0;v=A+100|0;w=A+96|0;x=A+92|0;i=A+88|0;y=A+84|0;k=A+80|0;B=A+64|0;m=A+40|0;n=A+24|0;o=A+20|0;p=A+16|0;q=A+112|0;r=A+12|0;s=A+8|0;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[p>>2]=0;h=(c[v>>2]|0)==1?26433:26452;c[o>>2]=h;c[B>>2]=h;c[B+4>>2]=26869;c[B+8>>2]=26871;c[B+12>>2]=0;c[n>>2]=c[u>>2];c[n+8>>2]=c[v>>2];c[n+12>>2]=0;c[n+4>>2]=c[w>>2];nv(n,3,B,0)|0;if(c[n+12>>2]|0)c[x>>2]=c[n+12>>2];else{c[k>>2]=(c[(c[u>>2]|0)+16>>2]|0)+(c[v>>2]<<4);if(!(c[(c[k>>2]|0)+4>>2]|0)){if((c[v>>2]|0)==1){B=(c[(c[(c[u>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[t>>2]=0;B=c[t>>2]|0;l=A;return B|0}el(c[(c[k>>2]|0)+4>>2]|0);do if(!(nl(c[(c[k>>2]|0)+4>>2]|0)|0)){c[x>>2]=Gp(c[(c[k>>2]|0)+4>>2]|0,0)|0;if(c[x>>2]|0){z=c[w>>2]|0;B=c[u>>2]|0;ov(z,B,Xi(c[x>>2]|0)|0);break}else{c[p>>2]=1;j=11;break}}else j=11;while(0);a:do if((j|0)==11){c[i>>2]=0;while(1){if((c[i>>2]|0)>=5)break;Ip(c[(c[k>>2]|0)+4>>2]|0,(c[i>>2]|0)+1|0,m+(c[i>>2]<<2)|0);c[i>>2]=(c[i>>2]|0)+1}c[c[(c[k>>2]|0)+12>>2]>>2]=c[m>>2];do if(c[m+16>>2]|0){f=c[m+16>>2]|0;if(!(c[v>>2]|0)){B=f&3;a[q>>0]=B;a[q>>0]=(d[q>>0]|0)==0?1:B;a[(c[u>>2]|0)+66>>0]=a[q>>0]|0;break}if((f|0)!=(d[(c[u>>2]|0)+66>>0]|0)){ov(c[w>>2]|0,c[u>>2]|0,26947);c[x>>2]=1;break a}}else{B=(c[(c[(c[u>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[k>>2]|0)+12>>2]|0)+77>>0]=a[(c[u>>2]|0)+66>>0]|0;if(!(c[(c[(c[k>>2]|0)+12>>2]|0)+80>>2]|0)){B=pq(c[m+8>>2]|0)|0;c[y>>2]=B;c[y>>2]=(c[y>>2]|0)==0?-2e3:B;c[(c[(c[k>>2]|0)+12>>2]|0)+80>>2]=c[y>>2];pv(c[(c[k>>2]|0)+4>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[k>>2]|0)+12>>2]|0)+76>>0]=c[m+4>>2];if(!(d[(c[(c[k>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[k>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[k>>2]|0)+12>>2]|0)+76>>0]|0)>4){ov(c[w>>2]|0,c[u>>2]|0,27015);c[x>>2]=1;break}if((c[v>>2]|0)==0?(c[m+4>>2]|0)>=4:0){B=(c[u>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[u>>2]|0;y=c[o>>2]|0;c[z>>2]=c[(c[(c[u>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2];c[z+4>>2]=y;c[r>>2]=Wj(B,27039,z)|0;c[s>>2]=c[(c[u>>2]|0)+296>>2];c[(c[u>>2]|0)+296>>2]=0;c[x>>2]=qv(c[u>>2]|0,c[r>>2]|0,146,n,0)|0;c[(c[u>>2]|0)+296>>2]=c[s>>2];if(!(c[x>>2]|0))c[x>>2]=c[n+12>>2];Xd(c[u>>2]|0,c[r>>2]|0);if(!(c[x>>2]|0))rv(c[u>>2]|0,c[v>>2]|0)|0;if(a[(c[u>>2]|0)+69>>0]|0){c[x>>2]=7;Np(c[u>>2]|0)}if(c[x>>2]|0?(c[(c[u>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[u>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[x>>2]=0}while(0);if(c[p>>2]|0)Ws(c[(c[k>>2]|0)+4>>2]|0)|0;bl(c[(c[k>>2]|0)+4>>2]|0)}if((c[x>>2]|0)==7|(c[x>>2]|0)==3082)Od(c[u>>2]|0);c[t>>2]=c[x>>2];B=c[t>>2]|0;l=A;return B|0}function nv(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;p=s+40|0;t=s+36|0;q=s+28|0;r=s+20|0;i=s+16|0;j=s+12|0;k=s+8|0;m=s+44|0;n=s+4|0;o=s;c[t>>2]=d;c[s+32>>2]=f;c[q>>2]=g;c[s+24>>2]=h;c[r>>2]=c[t>>2];c[i>>2]=c[c[r>>2]>>2];c[j>>2]=c[(c[r>>2]|0)+8>>2];h=(c[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78|0;b[h>>1]=e[h>>1]&-5;if(a[(c[i>>2]|0)+69>>0]|0){Lv(c[r>>2]|0,c[c[q>>2]>>2]|0,0);c[p>>2]=1;t=c[p>>2]|0;l=s;return t|0}if(!(c[q>>2]|0)){c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}a:do if(!(c[(c[q>>2]|0)+4>>2]|0))Lv(c[r>>2]|0,c[c[q>>2]>>2]|0,0);else{if(ld(c[(c[q>>2]|0)+8>>2]|0,27234,7)|0){do if(c[c[q>>2]>>2]|0){if(c[(c[q>>2]|0)+8>>2]|0?a[c[(c[q>>2]|0)+8>>2]>>0]|0:0)break;c[o>>2]=vv(c[i>>2]|0,c[c[q>>2]>>2]|0,c[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(gg(c[(c[q>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Lv(c[r>>2]|0,c[c[q>>2]>>2]|0,27242);break a}while(0);Lv(c[r>>2]|0,c[c[q>>2]>>2]|0,0);break}a[m>>0]=a[(c[i>>2]|0)+148+4>>0]|0;a[(c[i>>2]|0)+148+4>>0]=c[j>>2];t=fg(c[(c[q>>2]|0)+4>>2]|0)|0;c[(c[i>>2]|0)+148>>2]=t;a[(c[i>>2]|0)+148+6>>0]=0;Mv(c[i>>2]|0,c[(c[q>>2]|0)+8>>2]|0,-1,n,0)|0;c[k>>2]=c[(c[i>>2]|0)+52>>2];a[(c[i>>2]|0)+148+4>>0]=a[m>>0]|0;do if(0!=(c[k>>2]|0)?(a[(c[i>>2]|0)+148+6>>0]|0)==0:0){c[(c[r>>2]|0)+12>>2]=c[k>>2];if((c[k>>2]|0)==7){Od(c[i>>2]|0);break}if((c[k>>2]|0)!=9?(c[k>>2]&255|0)!=6:0){r=c[r>>2]|0;t=c[c[q>>2]>>2]|0;Lv(r,t,Ev(c[i>>2]|0)|0)}}while(0);Fr(c[n>>2]|0)|0}while(0);c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}function ov(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Xd(c[h>>2]|0,c[c[f>>2]>>2]|0);d=Xo(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;l=e;return}function pv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];el(c[e>>2]|0);Yl(c[c[g>>2]>>2]|0,c[f>>2]|0);bl(c[e>>2]|0);l=d;return 0}function qv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;t=z+56|0;u=z+52|0;v=z+48|0;w=z+44|0;x=z+40|0;i=z+36|0;j=z+32|0;k=z+28|0;m=z+24|0;n=z+20|0;o=z+16|0;p=z+12|0;q=z+8|0;r=z+4|0;s=z;c[u>>2]=b;c[v>>2]=e;c[w>>2]=f;c[x>>2]=g;c[i>>2]=h;c[j>>2]=0;c[m>>2]=0;c[n>>2]=0;if(!(Ms(c[u>>2]|0)|0)){c[t>>2]=qd(109597)|0;y=c[t>>2]|0;l=z;return y|0}if(!(c[v>>2]|0))c[v>>2]=55752;td(c[(c[u>>2]|0)+12>>2]|0);ml(c[u>>2]|0,0);a:while(1){if(c[j>>2]|0)break;if(!(a[c[v>>2]>>0]|0))break;c[q>>2]=0;c[m>>2]=0;c[j>>2]=zv(c[u>>2]|0,c[v>>2]|0,-1,m,k)|0;if(c[j>>2]|0)continue;if(!(c[m>>2]|0)){c[v>>2]=c[k>>2];continue}c[o>>2]=0;c[p>>2]=Av(c[m>>2]|0)|0;do{c[j>>2]=Bs(c[m>>2]|0)|0;do if(c[w>>2]|0){if(100!=(c[j>>2]|0)){if(101!=(c[j>>2]|0)|(c[o>>2]|0)!=0)break;if(!(c[(c[u>>2]|0)+24>>2]&256))break}if(!(c[o>>2]|0)){c[n>>2]=_l(c[u>>2]|0,(c[p>>2]<<1<<2)+1|0,0)|0;if(!(c[n>>2]|0))break a;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break;h=Bv(c[m>>2]|0,c[r>>2]|0)|0;c[(c[n>>2]|0)+(c[r>>2]<<2)>>2]=h;c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=1}b:do if((c[j>>2]|0)==100){c[q>>2]=(c[n>>2]|0)+(c[p>>2]<<2);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break b;h=Cv(c[m>>2]|0,c[r>>2]|0)|0;c[(c[q>>2]|0)+(c[r>>2]<<2)>>2]=h;if((c[(c[q>>2]|0)+(c[r>>2]<<2)>>2]|0)==0?(Dv(c[m>>2]|0,c[r>>2]|0)|0)!=5:0){y=27;break a}c[r>>2]=(c[r>>2]|0)+1}}while(0);if(Kb[c[w>>2]&255](c[x>>2]|0,c[p>>2]|0,c[q>>2]|0,c[n>>2]|0)|0){y=30;break a}}while(0)}while((c[j>>2]|0)==100);c[j>>2]=Ir(c[m>>2]|0)|0;c[m>>2]=0;c[v>>2]=c[k>>2];while(1){if(!(d[20063+(d[c[v>>2]>>0]|0)>>0]&1))break;c[v>>2]=(c[v>>2]|0)+1}Xd(c[u>>2]|0,c[n>>2]|0);c[n>>2]=0}if((y|0)==27)Od(c[u>>2]|0);else if((y|0)==30){c[j>>2]=4;Ir(c[m>>2]|0)|0;c[m>>2]=0;ml(c[u>>2]|0,4)}if(c[m>>2]|0)Ir(c[m>>2]|0)|0;Xd(c[u>>2]|0,c[n>>2]|0);c[j>>2]=Jr(c[u>>2]|0,c[j>>2]|0)|0;do if((c[j>>2]|0)!=0&(c[i>>2]|0)!=0){c[s>>2]=1+(md(Ev(c[u>>2]|0)|0)|0);y=c[s>>2]|0;y=Fd(y,((y|0)<0)<<31>>31)|0;c[c[i>>2]>>2]=y;if(c[c[i>>2]>>2]|0){x=c[c[i>>2]>>2]|0;y=Ev(c[u>>2]|0)|0;h0(x|0,y|0,c[s>>2]|0)|0;break}else{c[j>>2]=7;ml(c[u>>2]|0,7);break}}else if(c[i>>2]|0)c[c[i>>2]>>2]=0;while(0);ud(c[(c[u>>2]|0)+12>>2]|0);c[t>>2]=c[j>>2];y=c[t>>2]|0;l=z;return y|0}function rv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o;e=o+36|0;f=o+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;c[e>>2]=a;c[f>>2]=d;c[j>>2]=0;c[h>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];b[c[(c[k>>2]|0)+8>>2]>>1]=0;c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=c[e>>2];c[g+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];do if(gv(c[e>>2]|0,27094,c[g+4>>2]|0)|0){k=c[e>>2]|0;c[n>>2]=c[g+4>>2];c[i>>2]=Wj(k,27107,n)|0;if(!(c[i>>2]|0)){c[j>>2]=7;break}else{c[j>>2]=qv(c[e>>2]|0,c[i>>2]|0,147,g,0)|0;Xd(c[e>>2]|0,c[i>>2]|0);break}}while(0);c[h>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[h>>2]|0))break;c[m>>2]=c[(c[h>>2]|0)+8>>2];if(!(b[c[(c[m>>2]|0)+8>>2]>>1]|0))tv(c[m>>2]|0);c[h>>2]=c[c[h>>2]>>2]}if((c[j>>2]|0)!=7){n=c[j>>2]|0;l=o;return n|0}Od(c[e>>2]|0);n=c[j>>2]|0;l=o;return n|0}function sv(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+112|0;p=s+96|0;t=s+92|0;q=s+84|0;r=s+76|0;i=s+72|0;j=s+68|0;k=s+64|0;m=s+60|0;n=s+56|0;o=s;c[t>>2]=d;c[s+88>>2]=f;c[q>>2]=g;c[s+80>>2]=h;c[r>>2]=c[t>>2];if((c[q>>2]|0?c[c[q>>2]>>2]|0:0)?c[(c[q>>2]|0)+8>>2]|0:0){c[j>>2]=gv(c[c[r>>2]>>2]|0,c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0)|0;if(!(c[j>>2]|0)){c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}do if(c[(c[q>>2]|0)+4>>2]|0)if(!(kl(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0)){c[i>>2]=uv(c[j>>2]|0)|0;break}else{c[i>>2]=vv(c[c[r>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[(c[r>>2]|0)+4>>2]|0)|0;break}else c[i>>2]=0;while(0);c[k>>2]=c[(c[q>>2]|0)+8>>2];if(c[i>>2]|0){c[m>>2]=0;c[n>>2]=(e[(c[i>>2]|0)+50>>1]|0)+1;t=(c[i>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;wv(c[k>>2]|0,c[n>>2]|0,c[m>>2]|0,c[(c[i>>2]|0)+8>>2]|0,c[i>>2]|0);if(!(c[(c[i>>2]|0)+36>>2]|0))b[(c[j>>2]|0)+38>>1]=b[c[(c[i>>2]|0)+8>>2]>>1]|0}else{b[o+48>>1]=b[(c[j>>2]|0)+40>>1]|0;wv(c[k>>2]|0,1,0,(c[j>>2]|0)+38|0,o);b[(c[j>>2]|0)+40>>1]=b[o+48>>1]|0}c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}function tv(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+12|0;g=k+16|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;b[g>>1]=b[7606]|0;b[g+2>>1]=b[7607]|0;b[g+4>>1]=b[7608]|0;b[g+6>>1]=b[7609]|0;b[g+8>>1]=b[7610]|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[i>>2]=a;b[c[h>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if(c[(c[f>>2]|0)+36>>2]|0){a=c[h>>2]|0;b[a>>1]=(b[a>>1]|0)-10}if((b[c[h>>2]>>1]|0)<33)b[c[h>>2]>>1]=33;h0((c[h>>2]|0)+2|0,g|0,c[i>>2]<<1|0)|0;c[j>>2]=(c[i>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[h>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){l=k;return}b[(c[h>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;l=k;return}function uv(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){l=e;return c[d>>2]|0}return 0}function vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}d=c[i>>2]|0;c[j>>2]=(c[i>>2]|0)<2?d^1:d;c[k>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!(c[g>>2]|0?(bh(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[h>>2]=hv((c[k>>2]|0)+24|0,c[f>>2]|0)|0,c[h>>2]|0):0){m=7;break}c[i>>2]=(c[i>>2]|0)+1}if((m|0)==7){l=n;return c[h>>2]|0}return 0}function wv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+32|0;m=q+28|0;n=q+20|0;p=q+16|0;o=q+12|0;i=q+8|0;j=q+4|0;k=q;c[r>>2]=d;c[m>>2]=e;c[q+24>>2]=f;c[n>>2]=g;c[p>>2]=h;c[o>>2]=c[r>>2];c[j>>2]=0;while(1){if(!(a[c[o>>2]>>0]|0))break;if((c[j>>2]|0)>=(c[m>>2]|0))break;c[k>>2]=0;while(1){r=a[c[o>>2]>>0]|0;c[i>>2]=r;if(!((r|0)>=48?(c[i>>2]|0)<=57:0))break;c[k>>2]=((c[k>>2]|0)*10|0)+(c[i>>2]|0)-48;c[o>>2]=(c[o>>2]|0)+1}r=xv(c[k>>2]|0,0)|0;b[(c[n>>2]|0)+(c[j>>2]<<1)>>1]=r;if((a[c[o>>2]>>0]|0)==32)c[o>>2]=(c[o>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}r=(c[p>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[p>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[o>>2]>>0]|0))break;do if(yv(27148,c[o>>2]|0)|0){r=(yv(27159,c[o>>2]|0)|0)==0;d=c[o>>2]|0;if(r){r=fg(d+3|0)|0;r=xv(r,((r|0)<0)<<31>>31)|0;b[(c[p>>2]|0)+48>>1]=r;break}if(!(yv(27169,d)|0)){r=(c[p>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[p>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[o>>2]>>0]|0))break;if((a[c[o>>2]>>0]|0)==32)break;c[o>>2]=(c[o>>2]|0)+1}while(1){if((a[c[o>>2]>>0]|0)!=32)continue a;c[o>>2]=(c[o>>2]|0)+1}}l=q;return}function xv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+10|0;f=h;g=h+8|0;i=f;c[i>>2]=a;c[i+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){i=f;d=c[i+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[i>>2]|0)>>>0<2){b[e>>1]=0;i=b[e>>1]|0;l=h;return i|0}else while(1){i=f;d=c[i+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[i>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=j0(c[d>>2]|0,c[d+4>>2]|0,1)|0;i=f;c[i>>2]=d;c[i+4>>2]=D}}else{while(1){i=f;d=c[i+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[i>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=f0(c[d>>2]|0,c[d+4>>2]|0,4)|0;i=f;c[i>>2]=d;c[i+4>>2]=D}while(1){i=f;d=c[i+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[i>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=f0(c[d>>2]|0,c[d+4>>2]|0,1)|0;i=f;c[i>>2]=d;c[i+4>>2]=D}}while(0);b[e>>1]=(b[15222+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;i=b[e>>1]|0;l=h;return i|0}function yv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Wh(c[f>>2]|0,c[e>>2]|0,22022,91)|0)==0&1;l=d;return b|0}function zv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;n=h+20|0;m=h+16|0;k=h+12|0;j=h+8|0;i=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[g>>2]=Hs(c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,1,0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return c[g>>2]|0}function Av(a){a=a|0;var b=0,d=0,f=0;d=l;l=l+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;l=d;return f|0}f=e[(c[b>>2]|0)+140>>1]|0;l=d;return f|0}function Bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Kv(c[f>>2]|0,c[e>>2]|0,193,0)|0;l=d;return b|0}function Cv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Rh(Hv(c[f>>2]|0,c[g>>2]|0)|0)|0;Iv(c[f>>2]|0);l=e;return c[d>>2]|0}function Dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Ai(Hv(c[f>>2]|0,c[g>>2]|0)|0)|0;Iv(c[f>>2]|0);l=e;return c[d>>2]|0}function Ev(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=Xi(7)|0;f=c[d>>2]|0;l=g;return f|0}if(!(Fv(c[e>>2]|0)|0)){c[d>>2]=Xi(qd(140046)|0)|0;f=c[d>>2]|0;l=g;return f|0}td(c[(c[e>>2]|0)+12>>2]|0);if(!(a[(c[e>>2]|0)+69>>0]|0)){c[f>>2]=Rh(c[(c[e>>2]|0)+244>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=Xi(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=Xi(7)|0;ud(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=c[f>>2];f=c[d>>2]|0;l=g;return f|0}function Fv(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+84>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){Gv(27181);c[b>>2]=0;f=c[b>>2]|0;l=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;l=d;return f|0}return 0}function Gv(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];xd(21,27189,d);l=b;return}function Hv(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;d=i+16|0;j=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[f>>2]=b;c[g>>2]=c[j>>2];if(!(c[g>>2]|0)){c[d>>2]=Jv()|0;j=c[d>>2]|0;l=i;return j|0}td(c[(c[c[g>>2]>>2]|0)+12>>2]|0);if(c[(c[g>>2]|0)+104>>2]|0?((c[f>>2]|0)>=0?(c[f>>2]|0)<(e[(c[g>>2]|0)+140>>1]|0|0):0):0)c[h>>2]=(c[(c[g>>2]|0)+104>>2]|0)+((c[f>>2]|0)*40|0);else{ml(c[c[g>>2]>>2]|0,25);c[h>>2]=Jv()|0}c[d>>2]=c[h>>2];j=c[d>>2]|0;l=i;return j|0}function Iv(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){l=d;return}e=Jr(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+40>>2]|0)|0;c[(c[b>>2]|0)+40>>2]=e;ud(c[(c[c[b>>2]>>2]|0)+12>>2]|0);l=d;return}function Jv(){return 288}function Kv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;p=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[p>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=c[p>>2];c[h>>2]=c[c[n>>2]>>2];c[g>>2]=Av(c[p>>2]|0)|0;if(!((c[i>>2]|0)>=0?(c[i>>2]|0)<(c[g>>2]|0):0)){p=c[m>>2]|0;l=o;return p|0}p=S(c[k>>2]|0,c[g>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+p;td(c[(c[h>>2]|0)+12>>2]|0);c[m>>2]=Hb[c[j>>2]&255]((c[(c[n>>2]|0)+100>>2]|0)+((c[i>>2]|0)*40|0)|0)|0;if(a[(c[h>>2]|0)+69>>0]|0){Lr(c[h>>2]|0);c[m>>2]=0}ud(c[(c[h>>2]|0)+12>>2]|0);p=c[m>>2]|0;l=o;return p|0}function Lv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o+8|0;m=o;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[c[g>>2]>>2];if((a[(c[j>>2]|0)+69>>0]|0)==0?(c[(c[j>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=27259;f=c[j>>2]|0;c[m>>2]=c[h>>2];c[k>>2]=Wj(f,27261,m)|0;if(c[i>>2]|0){m=c[j>>2]|0;i=c[i>>2]|0;c[n>>2]=c[k>>2];c[n+4>>2]=i;c[k>>2]=Wj(m,27292,n)|0}Xd(c[j>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[k>>2]}if(d[(c[j>>2]|0)+69>>0]|0){m=7;n=c[g>>2]|0;n=n+12|0;c[n>>2]=m;l=o;return}m=kn(113554)|0;n=c[g>>2]|0;n=n+12|0;c[n>>2]=m;l=o;return}function Mv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;n=h+20|0;m=h+16|0;k=h+12|0;j=h+8|0;i=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[g>>2]=Hs(c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,0,0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return c[g>>2]|0}function Nv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;h=n+8|0;i=n+4|0;j=n+13|0;k=n+12|0;m=n;c[h>>2]=b;c[i>>2]=d;a[j>>0]=e;a[k>>0]=f;c[m>>2]=g;if(!(c[i>>2]|0)){m=0;l=n;return m|0}m=Vv(c[h>>2]|0,c[i>>2]|0,a[j>>0]|0,a[k>>0]|0,c[m>>2]|0,0)|0;l=n;return m|0}function Ov(b){b=b|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+44|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;l=g;return f|0}else{h=(c[f>>2]|0)+19|0;f=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=f;c[e>>2]=c[b+352+((f&255)<<2)>>2];f=c[e>>2]|0;l=g;return f|0}return 0}function Pv(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+136>>2]|0}function Qv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+12|0;h=j+8|0;f=j+4|0;i=j;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){l=j;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){l=j;return}c[f>>2]=0;c[i>>2]=(c[g>>2]|0)+152;while(1){if((c[f>>2]|0)>=(d[(c[g>>2]|0)+25>>0]|0|0)){b=8;break}if((c[(c[i>>2]|0)+12>>2]|0)==(c[h>>2]|0)){b=6;break}c[f>>2]=(c[f>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+20}if((b|0)==6){a[(c[i>>2]|0)+6>>0]=1;l=j;return}else if((b|0)==8){f=c[h>>2]|0;h=(c[g>>2]|0)+352|0;g=(c[g>>2]|0)+19|0;i=a[g>>0]|0;a[g>>0]=i+1<<24>>24;c[h+((i&255)<<2)>>2]=f;l=j;return}}function Rv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;e=o+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=Lu(c[f>>2]|0)|0;if(!(c[i>>2]|0)){l=o;return}c[k>>2]=Hu(c[c[f>>2]>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[m>>2]=Sv(c[f>>2]|0,c[g>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;c[e>>2]=Hu(c[c[f>>2]>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;Uu(c[i>>2]|0,140,c[e>>2]|0,0,0,c[c[m>>2]>>2]|0,0)|0;c[m>>2]=c[(c[m>>2]|0)+32>>2]}Uu(c[i>>2]|0,138,c[k>>2]|0,0,0,c[c[g>>2]>>2]|0,0)|0;m=c[c[f>>2]>>2]|0;c[n>>2]=c[h>>2];c[j>>2]=Wj(m,27626,n)|0;if(!(c[j>>2]|0)){l=o;return}Ou(c[i>>2]|0,c[k>>2]|0,c[j>>2]|0);n=Tv(c[f>>2]|0,c[g>>2]|0)|0;c[j>>2]=n;if(!n){l=o;return}Ou(c[i>>2]|0,1,c[j>>2]|0);l=o;return} +function FB(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=l;l=l+192|0;n=ca+24|0;$=ca+180|0;aa=ca+176|0;ba=ca+172|0;o=ca+168|0;q=ca+164|0;r=ca+160|0;R=ca+184|0;s=ca+156|0;p=ca+152|0;S=ca+148|0;T=ca+144|0;U=ca+140|0;V=ca+16|0;t=ca+120|0;u=ca+116|0;W=ca+112|0;v=ca+108|0;X=ca+104|0;Y=ca+100|0;w=ca+96|0;x=ca+186|0;y=ca+8|0;z=ca+92|0;A=ca+88|0;B=ca+84|0;C=ca+80|0;E=ca+76|0;F=ca+72|0;G=ca+68|0;H=ca+64|0;I=ca+60|0;J=ca+56|0;K=ca;L=ca+52|0;M=ca+48|0;N=ca+44|0;O=ca+40|0;P=ca+36|0;Z=ca+32|0;_=ca+28|0;c[aa>>2]=f;c[ba>>2]=g;c[o>>2]=h;c[q>>2]=i;c[r>>2]=j;b[R>>1]=k;c[s>>2]=m;c[U>>2]=c[(c[aa>>2]|0)+8>>2];a[x>>0]=0;c[Y>>2]=c[c[aa>>2]>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;if(c[q>>2]|0?(c[c[q>>2]>>2]|0)>=64:0)c[q>>2]=0;c[t+8>>2]=c[q>>2];if(e[(c[Y>>2]|0)+64>>1]&32|0)b[R>>1]=e[R>>1]&-257;if((c[c[ba>>2]>>2]|0)>64){ba=c[aa>>2]|0;c[n>>2]=64;sl(ba,34020,n);c[$>>2]=0;ba=c[$>>2]|0;l=ca;return ba|0}if(e[R>>1]&32|0)f=1;else f=c[c[ba>>2]>>2]|0;c[S>>2]=f;c[p>>2]=832+(((c[S>>2]|0)-1|0)*80|0)+7&-8;c[T>>2]=Ed(c[Y>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[Y>>2]|0)+69>>0]|0)){c[c[T>>2]>>2]=c[aa>>2];c[(c[T>>2]|0)+4>>2]=c[ba>>2];c[(c[T>>2]|0)+8>>2]=c[q>>2];c[(c[T>>2]|0)+12>>2]=c[r>>2];c[(c[T>>2]|0)+20+4>>2]=-1;c[(c[T>>2]|0)+20>>2]=-1;a[(c[T>>2]|0)+42>>0]=c[S>>2];f=ky(c[U>>2]|0)|0;c[(c[T>>2]|0)+28>>2]=f;c[(c[T>>2]|0)+32>>2]=f;b[(c[T>>2]|0)+40>>1]=b[R>>1]|0;b[(c[T>>2]|0)+16>>1]=c[s>>2];c[(c[T>>2]|0)+36>>2]=c[(c[aa>>2]|0)+136>>2];f=(c[T>>2]|0)+43|0;g=f+37|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));m0((c[T>>2]|0)+752|0,0,72+((c[S>>2]|0)*80|0)|0)|0;c[u>>2]=(c[T>>2]|0)+488;c[t>>2]=c[T>>2];c[t+4>>2]=(c[T>>2]|0)+80;c[t+12>>2]=(c[T>>2]|0)+(c[p>>2]|0);NB(c[t+12>>2]|0);c[c[u>>2]>>2]=0;QB((c[T>>2]|0)+80|0,c[T>>2]|0);RB((c[T>>2]|0)+80|0,c[o>>2]|0,28);c[X>>2]=0;while(1){f=(c[S>>2]|0)==0;if((c[X>>2]|0)>=(c[(c[t+4>>2]|0)+12>>2]|0))break;if(!(!f?!(Gz(c[(c[(c[t+4>>2]|0)+20>>2]|0)+((c[X>>2]|0)*48|0)>>2]|0)|0):0)){nz(c[aa>>2]|0,c[(c[(c[t+4>>2]|0)+20>>2]|0)+((c[X>>2]|0)*48|0)>>2]|0,c[(c[T>>2]|0)+32>>2]|0,16);p=(c[(c[t+4>>2]|0)+20>>2]|0)+((c[X>>2]|0)*48|0)+10|0;b[p>>1]=e[p>>1]|4}c[X>>2]=(c[X>>2]|0)+1}if(f){if(c[q>>2]|0)a[(c[T>>2]|0)+43>>0]=c[c[q>>2]>>2];if(e[R>>1]&256|0)a[(c[T>>2]|0)+47>>0]=1}c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[c[ba>>2]>>2]|0))break;SB(c[u>>2]|0,c[(c[ba>>2]|0)+8+((c[X>>2]|0)*72|0)+44>>2]|0);TB(c[aa>>2]|0,(c[ba>>2]|0)+8+((c[X>>2]|0)*72|0)|0,(c[T>>2]|0)+80|0);c[X>>2]=(c[X>>2]|0)+1}UB(c[ba>>2]|0,(c[T>>2]|0)+80|0);if(!(a[(c[Y>>2]|0)+69>>0]|0)){do if(e[R>>1]&256|0){if(VB(c[aa>>2]|0,c[ba>>2]|0,(c[T>>2]|0)+80|0,c[r>>2]|0)|0){a[(c[T>>2]|0)+47>>0]=1;break}if(!(c[q>>2]|0)){q=(c[T>>2]|0)+40|0;b[q>>1]=e[q>>1]|128;c[(c[T>>2]|0)+8>>2]=c[r>>2]}}while(0);if(!((c[S>>2]|0)==1?(WB(t)|0)!=0:0)){c[w>>2]=XB(t)|0;if(c[w>>2]|0)break;YB(c[T>>2]|0,0)|0;if(a[(c[Y>>2]|0)+69>>0]|0)break;if(c[(c[T>>2]|0)+8>>2]|0?(YB(c[T>>2]|0,(b[(c[T>>2]|0)+72>>1]|0)+1&65535)|0,a[(c[Y>>2]|0)+69>>0]|0):0)break}if((c[(c[T>>2]|0)+8>>2]|0)==0?c[(c[Y>>2]|0)+24>>2]&131072|0:0){w=(c[T>>2]|0)+64|0;c[w>>2]=-1;c[w+4>>2]=-1}if((c[(c[aa>>2]|0)+36>>2]|0)==0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0){b:do if((c[r>>2]|0?(d[(c[T>>2]|0)+42>>0]|0)>=2:0)?(e[(c[Y>>2]|0)+64>>1]&1024|0)==0:0){r=ZB(c[u>>2]|0,c[r>>2]|0)|0;w=y;c[w>>2]=r;c[w+4>>2]=D;if(c[t+8>>2]|0){r=ZB(c[u>>2]|0,c[t+8>>2]|0)|0;q=y;u=c[q+4>>2]|D;w=y;c[w>>2]=c[q>>2]|r;c[w+4>>2]=u}while(1){if((d[(c[T>>2]|0)+42>>0]|0)<2)break b;c[v>>2]=c[(c[T>>2]|0)+752+(((d[(c[T>>2]|0)+42>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[T>>2]|0)+4>>2]|0)+8+((d[(c[v>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[R>>1]&256|0)==0?(c[(c[v>>2]|0)+36>>2]&4096|0)==0:0)break b;u=y;w=(c[v>>2]|0)+8|0;if(c[u>>2]&c[w>>2]|0?1:(c[u+4>>2]&c[w+4>>2]|0)!=0)break b;c[A>>2]=(c[(c[t+4>>2]|0)+20>>2]|0)+((c[(c[t+4>>2]|0)+12>>2]|0)*48|0);c[z>>2]=c[(c[t+4>>2]|0)+20>>2];while(1){if((c[z>>2]|0)>>>0>=(c[A>>2]|0)>>>0)break;u=(c[z>>2]|0)+40|0;w=(c[v>>2]|0)+8|0;if((c[u>>2]&c[w>>2]|0?1:(c[u+4>>2]&c[w+4>>2]|0)!=0)?(c[(c[c[z>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[z>>2]=(c[z>>2]|0)+48}if((c[z>>2]|0)>>>0<(c[A>>2]|0)>>>0)break b;w=(c[T>>2]|0)+42|0;a[w>>0]=(a[w>>0]|0)+-1<<24>>24;c[S>>2]=(c[S>>2]|0)+-1}}while(0);A=(c[c[T>>2]>>2]|0)+136|0;c[A>>2]=(c[A>>2]|0)+(b[(c[T>>2]|0)+72>>1]|0);do if(e[R>>1]&4|0){c[B>>2]=c[(c[(c[T>>2]|0)+752+64>>2]|0)+36>>2];c[C>>2]=(c[B>>2]&4096|0)!=0&1;if(!(c[C>>2]|0)){if(!(e[R>>1]&8))break;if(c[B>>2]&1024)break}a[(c[T>>2]|0)+45>>0]=c[C>>2]|0?1:2;if((d[(c[(c[ba>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?c[B>>2]&64|0:0){if(e[R>>1]&8|0)a[x>>0]=8;c[(c[(c[T>>2]|0)+752+64>>2]|0)+36>>2]=c[B>>2]&-65}}while(0);c[X>>2]=0;c[W>>2]=(c[T>>2]|0)+752;while(1){if((c[X>>2]|0)>=(c[S>>2]|0))break;c[G>>2]=(c[ba>>2]|0)+8+((d[(c[W>>2]|0)+44>>0]|0)*72|0);c[E>>2]=c[(c[G>>2]|0)+16>>2];c[F>>2]=Hu(c[Y>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[v>>2]=c[(c[W>>2]|0)+64>>2];c:do if((d[(c[E>>2]|0)+42>>0]&2|0)==0?(c[(c[E>>2]|0)+12>>2]|0)==0:0){if(c[(c[v>>2]|0)+36>>2]&1024|0){c[H>>2]=fw(c[Y>>2]|0,c[E>>2]|0)|0;c[I>>2]=c[(c[G>>2]|0)+44>>2];Uu(c[U>>2]|0,155,c[I>>2]|0,0,0,c[H>>2]|0,-10)|0;break}if(d[(c[E>>2]|0)+42>>0]&16|0)break;do if(!(c[(c[v>>2]|0)+36>>2]&64)){if(e[R>>1]&32|0)break;c[J>>2]=104;if(d[(c[T>>2]|0)+45>>0]|0){c[J>>2]=105;c[(c[T>>2]|0)+20>>2]=c[(c[G>>2]|0)+44>>2]}hy(c[aa>>2]|0,c[(c[G>>2]|0)+44>>2]|0,c[F>>2]|0,c[E>>2]|0,c[J>>2]|0);do if(!(d[(c[T>>2]|0)+45>>0]|0)){if((b[(c[E>>2]|0)+34>>1]|0)>=64)break;if(d[(c[E>>2]|0)+42>>0]&32|0)break;A=(c[G>>2]|0)+56|0;B=c[A+4>>2]|0;C=K;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[L>>2]=0;while(1){C=K;if(!((c[C>>2]|0)!=0|(c[C+4>>2]|0)!=0))break;B=K;B=f0(c[B>>2]|0,c[B+4>>2]|0,1)|0;C=K;c[C>>2]=B;c[C+4>>2]=D;c[L>>2]=(c[L>>2]|0)+1}Vu(c[U>>2]|0,-1,c[L>>2]|0,-14)}while(0);jy(c[U>>2]|0,a[x>>0]|0);break c}while(0);gy(c[aa>>2]|0,c[F>>2]|0,c[(c[E>>2]|0)+28>>2]|0,0,c[c[E>>2]>>2]|0)}while(0);do if(c[(c[v>>2]|0)+36>>2]&512|0){c[M>>2]=c[(c[v>>2]|0)+24+8>>2];c[O>>2]=104;do if(!(d[(c[E>>2]|0)+42>>0]&32))Q=93;else{if((a[(c[M>>2]|0)+55>>0]&3|0)!=2){Q=93;break}if(!(e[R>>1]&32)){Q=93;break}c[N>>2]=c[(c[W>>2]|0)+4>>2];c[O>>2]=0}while(0);d:do if((Q|0)==93){Q=0;if(!(d[(c[T>>2]|0)+45>>0]|0)){do if(c[s>>2]|0){if(!(e[R>>1]&32))break;c[N>>2]=c[s>>2];c[O>>2]=103;break d}while(0);B=(c[aa>>2]|0)+40|0;C=c[B>>2]|0;c[B>>2]=C+1;c[N>>2]=C;break}c[P>>2]=c[(c[(c[G>>2]|0)+16>>2]|0)+8>>2];c[N>>2]=c[s>>2];while(1){if(!(c[P>>2]|0))break;if((c[P>>2]|0)==(c[M>>2]|0))break;c[N>>2]=(c[N>>2]|0)+1;c[P>>2]=c[(c[P>>2]|0)+20>>2]}c[O>>2]=105;c[(c[T>>2]|0)+20+4>>2]=c[N>>2]}while(0);c[(c[W>>2]|0)+8>>2]=c[N>>2];if(!(c[O>>2]|0))break;Ru(c[U>>2]|0,c[O>>2]|0,c[N>>2]|0,c[(c[M>>2]|0)+44>>2]|0,c[F>>2]|0)|0;iy(c[aa>>2]|0,c[M>>2]|0);if(!(c[(c[v>>2]|0)+36>>2]&15))break;if(c[(c[v>>2]|0)+36>>2]&32770|0)break;if(e[(c[T>>2]|0)+40>>1]&1|0)break;jy(c[U>>2]|0,2)}while(0);if((c[F>>2]|0)>=0)dv(c[aa>>2]|0,c[F>>2]|0);c[X>>2]=(c[X>>2]|0)+1;c[W>>2]=(c[W>>2]|0)+80}Q=Pv(c[U>>2]|0)|0;c[(c[T>>2]|0)+52>>2]=Q;if(!(a[(c[Y>>2]|0)+69>>0]|0)){Q=V;c[Q>>2]=-1;c[Q+4>>2]=-1;c[X>>2]=0;while(1){f=c[T>>2]|0;if((c[X>>2]|0)>=(c[S>>2]|0))break;c[W>>2]=f+752+((c[X>>2]|0)*80|0);c[_>>2]=c[(c[(c[W>>2]|0)+64>>2]|0)+36>>2];if(c[(c[(c[W>>2]|0)+64>>2]|0)+36>>2]&16384|0?(Q=V,_B(c[aa>>2]|0,(c[T>>2]|0)+80|0,(c[ba>>2]|0)+8+((d[(c[W>>2]|0)+44>>0]|0)*72|0)|0,c[Q>>2]|0,c[Q+4>>2]|0,c[W>>2]|0),a[(c[Y>>2]|0)+69>>0]|0):0)break a;c[Z>>2]=$B(c[aa>>2]|0,c[ba>>2]|0,c[W>>2]|0,c[X>>2]|0,d[(c[W>>2]|0)+44>>0]|0,b[R>>1]|0)|0;P=Pv(c[U>>2]|0)|0;c[(c[W>>2]|0)+32>>2]=P;P=V;P=aC(c[T>>2]|0,c[X>>2]|0,c[P>>2]|0,c[P+4>>2]|0)|0;Q=V;c[Q>>2]=P;c[Q+4>>2]=D;c[(c[T>>2]|0)+28>>2]=c[(c[W>>2]|0)+24>>2];do if((c[_>>2]&8192|0)==0?e[R>>1]&32|0:0)break;while(0);c[X>>2]=(c[X>>2]|0)+1}c[$>>2]=f;ba=c[$>>2]|0;l=ca;return ba|0}}}}else{Xd(c[Y>>2]|0,c[T>>2]|0);c[T>>2]=0}while(0);if(c[T>>2]|0){c[(c[aa>>2]|0)+136>>2]=c[(c[T>>2]|0)+36>>2];IB(c[Y>>2]|0,c[T>>2]|0)}c[$>>2]=0;ba=c[$>>2]|0;l=ca;return ba|0}function GB(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+96|0;m=E+80|0;u=E+76|0;x=E+72|0;y=E+68|0;z=E+64|0;A=E+60|0;B=E+56|0;C=E+52|0;k=E+48|0;h=E+44|0;i=E+40|0;j=E+36|0;n=E+32|0;o=E+28|0;p=E+24|0;q=E+20|0;r=E+16|0;s=E+12|0;t=E+8|0;v=E+4|0;w=E;c[m>>2]=f;c[u>>2]=c[c[m>>2]>>2];c[x>>2]=c[(c[u>>2]|0)+8>>2];c[B>>2]=c[(c[m>>2]|0)+4>>2];c[C>>2]=c[c[u>>2]>>2];EA(c[u>>2]|0);c[y>>2]=(d[(c[m>>2]|0)+42>>0]|0)-1;while(1){if((c[y>>2]|0)<0)break;c[z>>2]=(c[m>>2]|0)+752+((c[y>>2]|0)*80|0);c[A>>2]=c[(c[z>>2]|0)+64>>2];oy(c[x>>2]|0,c[(c[z>>2]|0)+24>>2]|0);if((d[(c[z>>2]|0)+45>>0]|0)!=161){Ru(c[x>>2]|0,d[(c[z>>2]|0)+45>>0]|0,c[(c[z>>2]|0)+48>>2]|0,c[(c[z>>2]|0)+52>>2]|0,d[(c[z>>2]|0)+46>>0]|0)|0;jy(c[x>>2]|0,a[(c[z>>2]|0)+47>>0]|0)}a:do if(c[(c[A>>2]|0)+36>>2]&2048|0?(c[(c[z>>2]|0)+56>>2]|0)>0:0){oy(c[x>>2]|0,c[(c[z>>2]|0)+16>>2]|0);c[i>>2]=c[(c[z>>2]|0)+56>>2];c[h>>2]=(c[(c[z>>2]|0)+56+4>>2]|0)+(((c[i>>2]|0)-1|0)*12|0);while(1){if((c[i>>2]|0)<=0)break a;ny(c[x>>2]|0,(c[(c[h>>2]|0)+4>>2]|0)+1|0);if((d[(c[h>>2]|0)+8>>0]|0)!=161)Qu(c[x>>2]|0,d[(c[h>>2]|0)+8>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0;ny(c[x>>2]|0,(c[(c[h>>2]|0)+4>>2]|0)-1|0);c[i>>2]=(c[i>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+-12}}while(0);oy(c[x>>2]|0,c[(c[z>>2]|0)+12>>2]|0);if(c[(c[z>>2]|0)+20>>2]|0){my(c[x>>2]|0,c[(c[z>>2]|0)+20>>2]|0)|0;ny(c[x>>2]|0,c[(c[z>>2]|0)+20>>2]|0);ny(c[x>>2]|0,(c[(c[z>>2]|0)+20>>2]|0)-2|0)}if(c[(c[z>>2]|0)+40>>2]|0)Qu(c[x>>2]|0,68,(c[(c[z>>2]|0)+36>>2]|0)>>>1,c[(c[z>>2]|0)+40>>2]|0)|0;if(c[c[z>>2]>>2]|0){c[j>>2]=c[(c[A>>2]|0)+36>>2];c[k>>2]=ey(c[x>>2]|0,66,c[c[z>>2]>>2]|0)|0;if(!(c[j>>2]&64))ey(c[x>>2]|0,124,c[(c[B>>2]|0)+8+((c[y>>2]|0)*72|0)+44>>2]|0)|0;if(!(c[j>>2]&512|0)){if(c[j>>2]&8192|0?c[(c[z>>2]|0)+56>>2]|0:0)D=22}else D=22;if((D|0)==22){D=0;ey(c[x>>2]|0,124,c[(c[z>>2]|0)+8>>2]|0)|0}f=c[x>>2]|0;g=c[z>>2]|0;if((d[(c[z>>2]|0)+45>>0]|0)==72)Qu(f,14,c[g+48>>2]|0,c[(c[z>>2]|0)+28>>2]|0)|0;else my(f,c[g+28>>2]|0)|0;ny(c[x>>2]|0,c[k>>2]|0)}c[y>>2]=(c[y>>2]|0)+-1}oy(c[x>>2]|0,c[(c[m>>2]|0)+32>>2]|0);c[y>>2]=0;c[z>>2]=(c[m>>2]|0)+752;while(1){if((c[y>>2]|0)>=(d[(c[m>>2]|0)+42>>0]|0))break;c[q>>2]=0;c[r>>2]=(c[B>>2]|0)+8+((d[(c[z>>2]|0)+44>>0]|0)*72|0);c[s>>2]=c[(c[r>>2]|0)+16>>2];c[A>>2]=c[(c[z>>2]|0)+64>>2];if((d[(c[r>>2]|0)+36+1>>0]|0)>>>4&1|0?!(a[(c[C>>2]|0)+69>>0]|0):0)HB(c[x>>2]|0,c[(c[z>>2]|0)+32>>2]|0,c[(c[z>>2]|0)+4>>2]|0,c[(c[r>>2]|0)+32>>2]|0,0);else D=33;b:do if((D|0)==33){D=0;if(((d[(c[s>>2]|0)+42>>0]&2|0)==0?(c[(c[s>>2]|0)+12>>2]|0)==0:0)?(e[(c[m>>2]|0)+40>>1]&32|0)==0:0){c[t>>2]=c[(c[A>>2]|0)+36>>2];if((d[(c[m>>2]|0)+45>>0]|0)==0?(c[t>>2]&64|0)==0:0)ey(c[x>>2]|0,111,c[(c[r>>2]|0)+44>>2]|0)|0;if((c[t>>2]&512|0?(c[t>>2]&16640|0)==0:0)?(c[(c[z>>2]|0)+8>>2]|0)!=(c[(c[m>>2]|0)+20+4>>2]|0):0)ey(c[x>>2]|0,111,c[(c[z>>2]|0)+8>>2]|0)|0}f=c[A>>2]|0;if(!(c[(c[A>>2]|0)+36>>2]&576|0)){if(c[f+36>>2]&8192|0)c[q>>2]=c[(c[z>>2]|0)+56>>2]}else c[q>>2]=c[f+24+8>>2];if(c[q>>2]|0){if(d[(c[m>>2]|0)+45>>0]|0?(d[(c[(c[q>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[C>>2]|0)+69>>0]|0)){c[o>>2]=Pv(c[x>>2]|0)|0;c[n>>2]=c[(c[z>>2]|0)+32>>2];c[p>>2]=uy(c[x>>2]|0,c[n>>2]|0)|0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break b;do if((c[(c[p>>2]|0)+4>>2]|0)==(c[(c[z>>2]|0)+4>>2]|0)){f=c[p>>2]|0;if((d[c[p>>2]>>0]|0)!=96){if((d[f>>0]|0)!=123)break;c[(c[p>>2]|0)+4>>2]=c[(c[z>>2]|0)+8>>2];a[c[p>>2]>>0]=-127;break}c[v>>2]=c[f+8>>2];if(d[(c[s>>2]|0)+42>>0]&32|0){c[w>>2]=uv(c[s>>2]|0)|0;c[v>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[v>>2]<<1)>>1]}c[v>>2]=(Uy(c[q>>2]|0,c[v>>2]&65535)|0)<<16>>16;if((c[v>>2]|0)>=0){c[(c[p>>2]|0)+8>>2]=c[v>>2];c[(c[p>>2]|0)+4>>2]=c[(c[z>>2]|0)+8>>2]}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}}}}while(0);c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+80}c[(c[u>>2]|0)+136>>2]=c[(c[m>>2]|0)+36>>2];IB(c[C>>2]|0,c[m>>2]|0);l=E;return}function HB(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;q=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;i=p+4|0;j=p;c[q>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[i>>2]=uy(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=Pv(c[q>>2]|0)|0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;do if((c[(c[i>>2]|0)+4>>2]|0)==(c[m>>2]|0)){b=c[i>>2]|0;if((d[c[i>>2]>>0]|0|0)==96){a[b>>0]=84;c[(c[i>>2]|0)+4>>2]=(c[(c[i>>2]|0)+8>>2]|0)+(c[n>>2]|0);c[(c[i>>2]|0)+8>>2]=c[(c[i>>2]|0)+12>>2];c[(c[i>>2]|0)+12>>2]=0;break}if((d[b>>0]|0|0)==123){b=c[i>>2]|0;if(c[o>>2]|0){a[b>>0]=91;c[(c[i>>2]|0)+4>>2]=c[(c[i>>2]|0)+8>>2];c[(c[i>>2]|0)+8>>2]=1;break}else{a[b>>0]=79;c[(c[i>>2]|0)+4>>2]=0;c[(c[i>>2]|0)+12>>2]=0;break}}}while(0);c[k>>2]=(c[k>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+20}l=p;return}function IB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){l=j;return}c[g>>2]=0;while(1){a=c[f>>2]|0;if((c[g>>2]|0)>=(d[(c[f>>2]|0)+42>>0]|0|0))break;c[h>>2]=a+752+((c[g>>2]|0)*80|0);if(c[(c[h>>2]|0)+64>>2]|0?c[(c[(c[h>>2]|0)+64>>2]|0)+36>>2]&2048|0:0)Xd(c[e>>2]|0,c[(c[h>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}JB(a+80|0);while(1){if(!(c[(c[f>>2]|0)+56>>2]|0))break;c[i>>2]=c[(c[f>>2]|0)+56>>2];c[(c[f>>2]|0)+56>>2]=c[(c[i>>2]|0)+52>>2];KB(c[e>>2]|0,c[i>>2]|0)}Xd(c[e>>2]|0,c[f>>2]|0);l=j;return}function JB(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[g>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[f>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[d>>2]|0)<0)break;if((e[(c[f>>2]|0)+10>>1]|0)&1|0)Ok(c[g>>2]|0,c[c[f>>2]>>2]|0);if(!((e[(c[f>>2]|0)+10>>1]|0)&16|0)){if((e[(c[f>>2]|0)+10>>1]|0)&32|0)PB(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0)}else OB(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0);c[d>>2]=(c[d>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){l=h;return}Xd(c[g>>2]|0,c[(c[b>>2]|0)+20>>2]|0);l=h;return}function KB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;LB(c[f>>2]|0,c[e>>2]|0);Xd(c[f>>2]|0,c[e>>2]|0);l=d;return}function LB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Xd(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);MB(c[d>>2]|0,c[e>>2]|0);NB(c[e>>2]|0);l=f;return}function MB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){l=h;return}if(c[(c[g>>2]|0)+36>>2]&1024|0?d[(c[g>>2]|0)+24+4>>0]|0|0:0){_d(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;l=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){l=h;return}if(!(c[(c[g>>2]|0)+24+8>>2]|0)){l=h;return}Xd(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+8>>2]|0)+16>>2]|0);Xd(c[f>>2]|0,c[(c[g>>2]|0)+24+8>>2]|0);c[(c[g>>2]|0)+24+8>>2]=0;l=h;return}function NB(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;l=d;return}function OB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;JB(c[e>>2]|0);Xd(c[f>>2]|0,c[e>>2]|0);l=d;return}function PB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;JB(c[e>>2]|0);Xd(c[f>>2]|0,c[e>>2]|0);l=d;return}function QB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;l=d;return}function RB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+8|0;h=k+4|0;i=k+12|0;j=k;c[g>>2]=b;c[h>>2]=e;a[i>>0]=f;c[j>>2]=yw(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[i>>0]|0;if(!(c[j>>2]|0)){l=k;return}b=c[g>>2]|0;if((d[c[j>>2]>>0]|0|0)!=(d[i>>0]|0|0)){iD(b,c[h>>2]|0,0)|0;l=k;return}else{RB(b,c[(c[j>>2]|0)+12>>2]|0,a[i>>0]|0);RB(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a[i>>0]|0);l=k;return}}function SB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;e=c[e>>2]|0;a=(c[f>>2]|0)+4|0;f=c[f>>2]|0;b=c[f>>2]|0;c[f>>2]=b+1;c[a+(b<<2)>>2]=e;l=d;return}function TB(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;i=r+40|0;j=r+36|0;k=r+32|0;o=r+28|0;p=r+24|0;m=r+20|0;n=r+16|0;g=r+12|0;h=r+8|0;c[i>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!((d[(c[j>>2]|0)+36+1>>0]|0)>>>2&1)){l=r;return}c[o>>2]=c[(c[j>>2]|0)+16>>2];c[n>>2]=c[(c[j>>2]|0)+64>>2];if(!(c[n>>2]|0)){l=r;return}c[m>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[n>>2]>>2]|0)){a=13;break}while(1){if((c[m>>2]|0)<(b[(c[o>>2]|0)+34>>1]|0))a=(d[(c[(c[o>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+15>>0]&2|0)==0;else a=0;e=c[m>>2]|0;if(!a)break;c[m>>2]=e+1}f=c[i>>2]|0;if((e|0)>=(b[(c[o>>2]|0)+34>>1]|0)){a=10;break}c[g>>2]=Wt(c[f>>2]|0,152,0,0)|0;if(!(c[g>>2]|0)){a=13;break}c[(c[g>>2]|0)+28>>2]=c[(c[j>>2]|0)+44>>2];e=c[m>>2]|0;c[m>>2]=e+1;b[(c[g>>2]|0)+32>>1]=e;c[(c[g>>2]|0)+44>>2]=c[o>>2];e=c[i>>2]|0;f=c[g>>2]|0;c[h>>2]=pt(e,37,f,Ww(c[c[i>>2]>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,0)|0,0)|0;iD(c[k>>2]|0,c[h>>2]|0,1)|0;c[p>>2]=(c[p>>2]|0)+1}if((a|0)==10){p=c[p>>2]|0;c[q>>2]=c[c[o>>2]>>2];c[q+4>>2]=p;sl(f,34469,q);l=r;return}else if((a|0)==13){l=r;return}}function UB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;eD(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}l=g;return}function VB(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;n=u+36|0;o=u+32|0;p=u+28|0;q=u+24|0;r=u+20|0;s=u+16|0;i=u+12|0;j=u+8|0;k=u+4|0;m=u;c[o>>2]=a;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;if((c[c[p>>2]>>2]|0)!=1){c[n>>2]=0;t=c[n>>2]|0;l=u;return t|0}c[k>>2]=c[(c[p>>2]|0)+8+44>>2];c[s>>2]=c[(c[p>>2]|0)+8+16>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[r>>2]>>2]|0))break;c[m>>2]=yw(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)|0;if(((d[c[m>>2]>>0]|0)==152?(c[(c[m>>2]|0)+28>>2]|0)==(c[k>>2]|0):0)?(b[(c[m>>2]|0)+32>>1]|0)<0:0){t=8;break}c[j>>2]=(c[j>>2]|0)+1}if((t|0)==8){c[n>>2]=1;t=c[n>>2]|0;l=u;return t|0}c[i>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[i>>2]|0)){t=22;break}if(d[(c[i>>2]|0)+54>>0]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(e[(c[i>>2]|0)+50>>1]|0))break;if(!(mC(c[q>>2]|0,c[k>>2]|0,c[j>>2]|0,-1,-1,2,c[i>>2]|0)|0)){if((dD(c[o>>2]|0,c[r>>2]|0,c[k>>2]|0,c[i>>2]|0,c[j>>2]|0)|0)<0)break;if(!(VC(c[i>>2]|0,c[j>>2]|0)|0))break}c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(e[(c[i>>2]|0)+50>>1]|0)){t=20;break}}c[i>>2]=c[(c[i>>2]|0)+20>>2]}if((t|0)==20){c[n>>2]=1;t=c[n>>2]|0;l=u;return t|0}else if((t|0)==22){c[n>>2]=0;t=c[n>>2]|0;l=u;return t|0}return 0}function WB(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;p=u+44|0;j=u+40|0;q=u+36|0;k=u+32|0;m=u+28|0;n=u+24|0;r=u+20|0;s=u+16|0;o=u+12|0;g=u+8|0;h=u+4|0;i=u;c[j>>2]=f;c[q>>2]=c[c[j>>2]>>2];if((e[(c[q>>2]|0)+40>>1]|0)&32|0){c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}c[k>>2]=(c[(c[q>>2]|0)+4>>2]|0)+8;c[g>>2]=c[(c[k>>2]|0)+16>>2];if((d[(c[g>>2]|0)+42>>0]|0)&16|0){c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}if((d[(c[k>>2]|0)+36+1>>0]|0)>>>1&1|0){c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}c[s>>2]=c[(c[k>>2]|0)+44>>2];c[m>>2]=(c[q>>2]|0)+80;c[r>>2]=c[(c[j>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=0;b[(c[r>>2]|0)+42>>1]=0;c[n>>2]=mC(c[m>>2]|0,c[s>>2]|0,-1,0,0,130,0)|0;a:do if(c[n>>2]|0){c[(c[r>>2]|0)+36>>2]=4353;c[c[(c[r>>2]|0)+48>>2]>>2]=c[n>>2];b[(c[r>>2]|0)+40>>1]=1;b[(c[r>>2]|0)+24>>1]=1;f=33;g=c[r>>2]|0;t=24}else{c[h>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[h>>2]|0))break a;if((d[(c[h>>2]|0)+54>>0]|0|0?(c[(c[h>>2]|0)+36>>2]|0)==0:0)?(e[(c[h>>2]|0)+50>>1]|0|0)<=3:0){c[i>>2]=(d[(c[h>>2]|0)+55>>0]|0)>>>3&1|0?130:2;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[h>>2]|0)+50>>1]|0|0))break;c[n>>2]=mC(c[m>>2]|0,c[s>>2]|0,c[o>>2]|0,0,0,c[i>>2]|0,c[h>>2]|0)|0;if(!(c[n>>2]|0))break;c[(c[(c[r>>2]|0)+48>>2]|0)+(c[o>>2]<<2)>>2]=c[n>>2];c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[h>>2]|0)+50>>1]|0|0))break}c[h>>2]=c[(c[h>>2]|0)+20>>2]}c[(c[r>>2]|0)+36>>2]=4609;if(!(!((d[(c[h>>2]|0)+55>>0]|0)>>>5&1|0)?(t=(c[k>>2]|0)+56|0,m=c[t>>2]|0,t=c[t+4>>2]|0,n=SC(c[h>>2]|0)|0,!((m&~n|0)==0&(t&~D|0)==0)):0)){t=(c[r>>2]|0)+36|0;c[t>>2]=c[t>>2]|64}b[(c[r>>2]|0)+40>>1]=c[o>>2];b[(c[r>>2]|0)+24>>1]=c[o>>2];c[(c[r>>2]|0)+24+8>>2]=c[h>>2];f=39;g=c[r>>2]|0;t=24}while(0);if((t|0)==24)b[g+20>>1]=f;if(!(c[(c[r>>2]|0)+36>>2]|0)){c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}b[(c[r>>2]|0)+22>>1]=1;c[(c[q>>2]|0)+752+64>>2]=c[r>>2];o=bC((c[q>>2]|0)+488|0,c[s>>2]|0)|0;t=(c[r>>2]|0)+8|0;c[t>>2]=o;c[t+4>>2]=D;c[(c[q>>2]|0)+752+4>>2]=c[s>>2];b[(c[q>>2]|0)+72>>1]=1;if(c[(c[q>>2]|0)+8>>2]|0)a[(c[q>>2]|0)+43>>0]=c[c[(c[q>>2]|0)+8>>2]>>2];if((e[(c[q>>2]|0)+40>>1]|0)&256|0)a[(c[q>>2]|0)+47>>0]=1;c[p>>2]=1;t=c[p>>2]|0;l=u;return t|0}function XB(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+80|0;e=s+60|0;i=s+56|0;j=s+16|0;k=s+8|0;m=s+52|0;t=s+48|0;n=s+44|0;o=s+40|0;r=s+36|0;p=s+32|0;q=s+28|0;f=s+64|0;g=s;h=s+24|0;c[e>>2]=b;c[i>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=k;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[i>>2]|0)+4>>2];c[o>>2]=(c[t>>2]|0)+8+((d[(c[i>>2]|0)+42>>0]|0)*72|0);c[r>>2]=c[c[c[i>>2]>>2]>>2];c[p>>2]=0;a[f>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];NB(c[q>>2]|0);c[m>>2]=0;c[n>>2]=(c[t>>2]|0)+8;while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=19;break}b=g;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[m>>2];b=bC((c[i>>2]|0)+488|0,c[(c[n>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=D;if((d[(c[n>>2]|0)+36>>0]|0|(d[f>>0]|0))&10|0){u=k;b=c[u+4>>2]|0;t=j;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[f>>0]=a[(c[n>>2]|0)+36>>0]|0;if((d[(c[(c[n>>2]|0)+16>>2]|0)+42>>0]|0)&16|0){c[h>>2]=(c[n>>2]|0)+72;while(1){if((c[h>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;u=g;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?!((d[(c[h>>2]|0)+36>>0]|0)&10|0):0)){b=bC((c[i>>2]|0)+488|0,c[(c[h>>2]|0)+44>>2]|0)|0;v=g;t=c[v+4>>2]|D;u=g;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[h>>2]=(c[h>>2]|0)+72}u=j;v=g;c[p>>2]=FC(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=j;c[p>>2]=GC(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[p>>2]|0)){u=j;v=g;c[p>>2]=HC(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=k;u=c[b+4>>2]|c[t+4>>2];v=k;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[p>>2]|0){b=19;break}if(d[(c[r>>2]|0)+69>>0]|0|0){b=19;break}c[m>>2]=(c[m>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+72}if((b|0)==19){LB(c[r>>2]|0,c[q>>2]|0);l=s;return c[p>>2]|0}return 0}function YB(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+176|0;E=Y+40|0;M=Y+148|0;P=Y+144|0;K=Y+162|0;C=Y+140|0;W=Y+136|0;D=Y+132|0;X=Y+128|0;L=Y+124|0;j=Y+120|0;k=Y+116|0;m=Y+112|0;n=Y+108|0;o=Y+160|0;p=Y+158|0;q=Y+104|0;r=Y+100|0;s=Y+96|0;t=Y+92|0;N=Y+88|0;u=Y+84|0;G=Y+80|0;h=Y+76|0;v=Y+72|0;O=Y+68|0;i=Y+64|0;w=Y+156|0;x=Y+154|0;y=Y+152|0;z=Y+164|0;A=Y+32|0;B=Y+24|0;H=Y+60|0;I=Y+16|0;J=Y+56|0;Q=Y+52|0;R=Y+8|0;T=Y+48|0;U=Y;V=Y+44|0;c[P>>2]=f;b[K>>1]=g;c[m>>2]=0;b[o>>1]=0;b[p>>1]=0;c[v>>2]=0;c[D>>2]=c[c[P>>2]>>2];c[X>>2]=c[c[D>>2]>>2];c[W>>2]=d[(c[P>>2]|0)+42>>0];if((c[W>>2]|0)<=1)f=1;else f=(c[W>>2]|0)==2?5:10;c[C>>2]=f;if((c[(c[P>>2]|0)+8>>2]|0)!=0?(b[K>>1]|0)!=0:0)c[n>>2]=c[c[(c[P>>2]|0)+8>>2]>>2];else c[n>>2]=0;c[i>>2]=(S(32+(c[W>>2]<<2)|0,c[C>>2]|0)|0)<<1;c[i>>2]=(c[i>>2]|0)+(c[n>>2]<<1);i=c[i>>2]|0;c[O>>2]=Ed(c[X>>2]|0,i,((i|0)<0)<<31>>31)|0;if(!(c[O>>2]|0)){c[M>>2]=7;X=c[M>>2]|0;l=Y;return X|0}c[t>>2]=c[O>>2];c[s>>2]=(c[t>>2]|0)+(c[C>>2]<<5);i=c[s>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;c[h>>2]=(c[s>>2]|0)+(c[C>>2]<<5);c[j>>2]=c[C>>2]<<1;c[N>>2]=c[t>>2];while(1){if((c[j>>2]|0)<=0)break;c[(c[N>>2]|0)+24>>2]=c[h>>2];c[j>>2]=(c[j>>2]|0)+-1;c[N>>2]=(c[N>>2]|0)+32;c[h>>2]=(c[h>>2]|0)+(c[W>>2]<<2)}if(c[n>>2]|0){c[v>>2]=c[h>>2];m0(c[v>>2]|0,0,c[n>>2]<<1|0)|0}if((c[(c[D>>2]|0)+136>>2]|0)>>>0<48)f=c[(c[D>>2]|0)+136>>2]|0;else f=48;b[(c[s>>2]|0)+16>>1]=f;c[r>>2]=1;if(c[n>>2]|0)a[(c[s>>2]|0)+22>>0]=(c[W>>2]|0)>0?-1:c[n>>2]|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[W>>2]|0))break;c[q>>2]=0;c[j>>2]=0;c[N>>2]=c[s>>2];while(1){if((c[j>>2]|0)>=(c[r>>2]|0))break;c[G>>2]=c[(c[P>>2]|0)+56>>2];while(1){if(!(c[G>>2]|0))break;a[z>>0]=a[(c[N>>2]|0)+22>>0]|0;h=B;c[h>>2]=0;c[h+4>>2]=0;h=c[G>>2]|0;i=c[N>>2]|0;a:do if(!(c[h>>2]&~c[i>>2]|0?1:(c[h+4>>2]&~c[i+4>>2]|0)!=0)?(h=(c[G>>2]|0)+8|0,i=c[N>>2]|0,!(c[h>>2]&c[i>>2]|0?1:(c[h+4>>2]&c[i+4>>2]|0)!=0)):0){if(c[(c[G>>2]|0)+36>>2]&16384|0?(b[(c[N>>2]|0)+16>>1]|0)<10:0)break;b[y>>1]=BC(b[(c[G>>2]|0)+18>>1]|0,(b[(c[G>>2]|0)+20>>1]|0)+(b[(c[N>>2]|0)+16>>1]|0)&65535)|0;b[y>>1]=BC(b[y>>1]|0,b[(c[N>>2]|0)+20>>1]|0)|0;b[w>>1]=(b[(c[N>>2]|0)+16>>1]|0)+(b[(c[G>>2]|0)+22>>1]|0);f=c[N>>2]|0;g=(c[G>>2]|0)+8|0;h=c[f+4>>2]|c[g+4>>2];i=A;c[i>>2]=c[f>>2]|c[g>>2];c[i+4>>2]=h;if((a[z>>0]|0)<0)a[z>>0]=CC(c[P>>2]|0,c[(c[P>>2]|0)+8>>2]|0,c[N>>2]|0,b[(c[P>>2]|0)+40>>1]|0,c[L>>2]&65535,c[G>>2]|0,B)|0;else{g=(c[N>>2]|0)+8|0;h=c[g+4>>2]|0;i=B;c[i>>2]=c[g>>2];c[i+4>>2]=h}if((a[z>>0]|0)>=0?(a[z>>0]|0)<(c[n>>2]|0):0){if(!(b[(c[v>>2]|0)+(a[z>>0]<<1)>>1]|0)){i=DC(c[P>>2]|0,b[K>>1]|0,c[n>>2]|0,a[z>>0]|0)|0;b[(c[v>>2]|0)+(a[z>>0]<<1)>>1]=i}b[x>>1]=BC(b[y>>1]|0,b[(c[v>>2]|0)+(a[z>>0]<<1)>>1]|0)|0}else b[x>>1]=b[y>>1]|0;c[k>>2]=0;c[u>>2]=c[t>>2];while(1){if((c[k>>2]|0)>=(c[q>>2]|0))break;h=c[u>>2]|0;i=A;if(((c[h>>2]|0)==(c[i>>2]|0)?(c[h+4>>2]|0)==(c[i+4>>2]|0):0)?((a[(c[u>>2]|0)+22>>0]^a[z>>0])&128|0)==0:0)break;c[k>>2]=(c[k>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+32}do if((c[k>>2]|0)<(c[q>>2]|0)){if((b[(c[u>>2]|0)+18>>1]|0)<(b[x>>1]|0))break a;if((b[(c[u>>2]|0)+18>>1]|0)!=(b[x>>1]|0))break;if((b[(c[u>>2]|0)+16>>1]|0)<=(b[w>>1]|0))break a}else{do if((c[q>>2]|0)>=(c[C>>2]|0)){if((b[x>>1]|0)>(b[o>>1]|0))break a;if((b[x>>1]|0)!=(b[o>>1]|0))break;if((b[y>>1]|0)>=(b[p>>1]|0))break a}while(0);if((c[q>>2]|0)<(c[C>>2]|0)){i=c[q>>2]|0;c[q>>2]=i+1;c[k>>2]=i}else c[k>>2]=c[m>>2];c[u>>2]=(c[t>>2]|0)+(c[k>>2]<<5)}while(0);f=c[N>>2]|0;i=(c[G>>2]|0)+8|0;h=c[f+4>>2]|c[i+4>>2];g=c[u>>2]|0;c[g>>2]=c[f>>2]|c[i>>2];c[g+4>>2]=h;g=B;h=c[g+4>>2]|0;i=(c[u>>2]|0)+8|0;c[i>>2]=c[g>>2];c[i+4>>2]=h;b[(c[u>>2]|0)+16>>1]=b[w>>1]|0;b[(c[u>>2]|0)+18>>1]=b[x>>1]|0;b[(c[u>>2]|0)+20>>1]=b[y>>1]|0;a[(c[u>>2]|0)+22>>0]=a[z>>0]|0;h0(c[(c[u>>2]|0)+24>>2]|0,c[(c[N>>2]|0)+24>>2]|0,c[L>>2]<<2|0)|0;c[(c[(c[u>>2]|0)+24>>2]|0)+(c[L>>2]<<2)>>2]=c[G>>2];if((c[q>>2]|0)>=(c[C>>2]|0)){c[m>>2]=0;b[o>>1]=b[(c[t>>2]|0)+18>>1]|0;b[p>>1]=b[(c[t>>2]|0)+16>>1]|0;c[k>>2]=1;c[u>>2]=(c[t>>2]|0)+32;while(1){if((c[k>>2]|0)>=(c[C>>2]|0))break a;do if((b[(c[u>>2]|0)+18>>1]|0)<=(b[o>>1]|0)){if((b[(c[u>>2]|0)+18>>1]|0)!=(b[o>>1]|0))break;if((b[(c[u>>2]|0)+20>>1]|0)>(b[p>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;b[o>>1]=b[(c[u>>2]|0)+18>>1]|0;b[p>>1]=b[(c[u>>2]|0)+20>>1]|0;c[m>>2]=c[k>>2]}c[k>>2]=(c[k>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+32}}}while(0);c[G>>2]=c[(c[G>>2]|0)+52>>2]}c[j>>2]=(c[j>>2]|0)+1;c[N>>2]=(c[N>>2]|0)+32}c[N>>2]=c[t>>2];c[t>>2]=c[s>>2];c[s>>2]=c[N>>2];c[r>>2]=c[q>>2];c[L>>2]=(c[L>>2]|0)+1}if(!(c[r>>2]|0)){sl(c[D>>2]|0,34370,E);Xd(c[X>>2]|0,c[O>>2]|0);c[M>>2]=1;X=c[M>>2]|0;l=Y;return X|0}c[N>>2]=c[s>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[r>>2]|0))break;if((b[(c[N>>2]|0)+18>>1]|0)>(b[(c[s>>2]|0)+(c[j>>2]<<5)+18>>1]|0))c[N>>2]=(c[s>>2]|0)+(c[j>>2]<<5);c[j>>2]=(c[j>>2]|0)+1}c[L>>2]=0;while(1){f=c[P>>2]|0;if((c[L>>2]|0)>=(c[W>>2]|0))break;c[H>>2]=f+752+((c[L>>2]|0)*80|0);F=c[(c[(c[N>>2]|0)+24>>2]|0)+(c[L>>2]<<2)>>2]|0;c[G>>2]=F;c[(c[H>>2]|0)+64>>2]=F;a[(c[H>>2]|0)+44>>0]=a[(c[G>>2]|0)+16>>0]|0;c[(c[H>>2]|0)+4>>2]=c[(c[(c[P>>2]|0)+4>>2]|0)+8+((d[(c[H>>2]|0)+44>>0]|0)*72|0)+44>>2];c[L>>2]=(c[L>>2]|0)+1}if((((e[f+40>>1]&256|0?(e[(c[P>>2]|0)+40>>1]&128|0)==0:0)?(d[(c[P>>2]|0)+47>>0]|0)==0:0)?b[K>>1]|0:0)?(c[J>>2]=(CC(c[P>>2]|0,c[(c[P>>2]|0)+12>>2]|0,c[N>>2]|0,128,(c[W>>2]|0)-1&65535,c[(c[(c[N>>2]|0)+24>>2]|0)+((c[W>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[J>>2]|0)==(c[c[(c[P>>2]|0)+12>>2]>>2]|0)):0)a[(c[P>>2]|0)+47>>0]=2;if(c[(c[P>>2]|0)+8>>2]|0){f=a[(c[N>>2]|0)+22>>0]|0;if(e[(c[P>>2]|0)+40>>1]&128|0){if((f<<24>>24|0)==(c[c[(c[P>>2]|0)+8>>2]>>2]|0))a[(c[P>>2]|0)+47>>0]=2}else{a[(c[P>>2]|0)+43>>0]=f;J=(c[N>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[P>>2]|0)+64|0;c[L>>2]=c[J>>2];c[L+4>>2]=K;if(((((a[(c[P>>2]|0)+43>>0]|0)<=0?(a[(c[P>>2]|0)+43>>0]=0,(c[W>>2]|0)>0):0)?(c[Q>>2]=c[(c[(c[(c[N>>2]|0)+24>>2]|0)+((c[W>>2]|0)-1<<2)>>2]|0)+36>>2],(c[Q>>2]&4096|0)==0):0)?(c[Q>>2]&260|0)!=260:0)?(Q=R,c[Q>>2]=0,c[Q+4>>2]=0,c[T>>2]=(CC(c[P>>2]|0,c[(c[P>>2]|0)+8>>2]|0,c[N>>2]|0,2048,(c[W>>2]|0)-1&65535,c[(c[(c[N>>2]|0)+24>>2]|0)+((c[W>>2]|0)-1<<2)>>2]|0,R)|0)<<24>>24,(c[T>>2]|0)==(c[c[(c[P>>2]|0)+8>>2]>>2]|0)):0){a[(c[P>>2]|0)+48>>0]=1;Q=R;R=c[Q+4>>2]|0;T=(c[P>>2]|0)+64|0;c[T>>2]=c[Q>>2];c[T+4>>2]=R}}if((e[(c[P>>2]|0)+40>>1]&512|0?((c[W>>2]|0)>0?(a[(c[P>>2]|0)+43>>0]|0)==(c[c[(c[P>>2]|0)+8>>2]>>2]|0):0):0)?(T=U,c[T>>2]=0,c[T+4>>2]=0,c[V>>2]=(CC(c[P>>2]|0,c[(c[P>>2]|0)+8>>2]|0,c[N>>2]|0,0,(c[W>>2]|0)-1&65535,c[(c[(c[N>>2]|0)+24>>2]|0)+((c[W>>2]|0)-1<<2)>>2]|0,U)|0)<<24>>24,(c[V>>2]|0)==(c[c[(c[P>>2]|0)+8>>2]>>2]|0)):0){a[(c[P>>2]|0)+44>>0]=1;V=c[U+4>>2]|0;W=(c[P>>2]|0)+64|0;c[W>>2]=c[U>>2];c[W+4>>2]=V}}b[(c[P>>2]|0)+72>>1]=b[(c[N>>2]|0)+16>>1]|0;Xd(c[X>>2]|0,c[O>>2]|0);c[M>>2]=0;X=c[M>>2]|0;l=Y;return X|0}function ZB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;if(!(c[e>>2]|0)){f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;D=f;l=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;i=zC(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;j=g;a=c[j+4>>2]|D;b=g;c[b>>2]=c[j>>2]|i;c[b+4>>2]=a;c[f>>2]=(c[f>>2]|0)+1}i=g;j=i;j=c[j>>2]|0;i=i+4|0;i=c[i>>2]|0;D=i;l=h;return j|0}function _B(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+176|0;q=Y+40|0;X=Y+160|0;K=Y+156|0;L=Y+152|0;M=Y+32|0;N=Y+148|0;t=Y+144|0;u=Y+140|0;v=Y+136|0;w=Y+132|0;O=Y+128|0;P=Y+124|0;x=Y+120|0;Q=Y+116|0;R=Y+112|0;S=Y+108|0;y=Y+104|0;z=Y+100|0;A=Y+96|0;B=Y+92|0;s=Y+88|0;C=Y+24|0;E=Y+16|0;m=Y+164|0;T=Y+84|0;F=Y+80|0;U=Y+76|0;V=Y+72|0;W=Y+68|0;n=Y+64|0;o=Y+60|0;p=Y+8|0;G=Y+56|0;H=Y;I=Y+52|0;J=Y+48|0;c[X>>2]=f;c[K>>2]=g;c[L>>2]=h;h=M;c[h>>2]=i;c[h+4>>2]=j;c[N>>2]=k;a[m>>0]=0;c[T>>2]=0;c[F>>2]=0;c[V>>2]=0;c[O>>2]=c[(c[X>>2]|0)+8>>2];c[P>>2]=Nu(c[O>>2]|0,20)|0;c[t>>2]=0;c[x>>2]=c[(c[L>>2]|0)+16>>2];c[v>>2]=(c[(c[K>>2]|0)+20>>2]|0)+((c[(c[K>>2]|0)+12>>2]|0)*48|0);c[B>>2]=c[(c[N>>2]|0)+64>>2];k=C;c[k>>2]=0;c[k+4>>2]=0;c[u>>2]=c[(c[K>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>>>0>=(c[v>>2]|0)>>>0)break;c[n>>2]=c[c[u>>2]>>2];k=c[B>>2]|0;if((((c[k>>2]|0)==0&(c[k+4>>2]|0)==0?(e[(c[u>>2]|0)+10>>1]&2|0)==0:0)?(c[(c[n>>2]|0)+4>>2]&1|0)==0:0)?vC(c[n>>2]|0,c[(c[L>>2]|0)+44>>2]|0)|0:0){j=c[c[X>>2]>>2]|0;k=c[T>>2]|0;c[T>>2]=Mx(j,k,Ww(c[c[X>>2]>>2]|0,c[n>>2]|0,0)|0)|0}k=M;if(wC(c[u>>2]|0,c[L>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0){c[o>>2]=c[(c[u>>2]|0)+28>>2];if((c[o>>2]|0)>=64){f=0;g=-2147483648}else{f=j0(1,0,c[o>>2]|0)|0;g=D}k=p;c[k>>2]=f;c[k+4>>2]=g;if(!(a[m>>0]|0)){k=c[(c[(c[x>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2]|0;c[q>>2]=c[c[x>>2]>>2];c[q+4>>2]=k;xd(284,34333,q);a[m>>0]=1}j=C;k=p;if((c[j>>2]&c[k>>2]|0)==0?(c[j+4>>2]&c[k+4>>2]|0)==0:0){if(xC(c[c[X>>2]>>2]|0,c[B>>2]|0,(c[t>>2]|0)+1|0)|0){r=57;break}j=c[u>>2]|0;h=c[(c[B>>2]|0)+48>>2]|0;i=c[t>>2]|0;c[t>>2]=i+1;c[h+(i<<2)>>2]=j;i=p;h=C;j=c[h+4>>2]|c[i+4>>2];k=C;c[k>>2]=c[h>>2]|c[i>>2];c[k+4>>2]=j}}c[u>>2]=(c[u>>2]|0)+48}if((r|0)==57){W=c[X>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;Ok(W,X);l=Y;return}o=c[t>>2]&65535;b[(c[B>>2]|0)+40>>1]=o;b[(c[B>>2]|0)+24>>1]=o;c[(c[B>>2]|0)+36>>2]=16961;o=(c[L>>2]|0)+56|0;p=C;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=E;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[x>>2]|0)+34>>1]|0))f=63;else f=b[(c[x>>2]|0)+34>>1]|0;c[z>>2]=f;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;r=E;p=c[r>>2]|0;r=c[r+4>>2]|0;q=j0(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&D|0)!=0)c[t>>2]=(c[t>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0?1:(c[(c[L>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[t>>2]=(c[t>>2]|0)+((b[(c[x>>2]|0)+34>>1]|0)-64+1);c[w>>2]=yC(c[c[X>>2]>>2]|0,(c[t>>2]|0)+1&65535,0,s)|0;if(!(c[w>>2]|0)){W=c[X>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;Ok(W,X);l=Y;return}c[(c[B>>2]|0)+24+8>>2]=c[w>>2];c[c[w>>2]>>2]=34359;c[(c[w>>2]|0)+12>>2]=c[x>>2];c[S>>2]=0;s=C;c[s>>2]=0;c[s+4>>2]=0;c[u>>2]=c[(c[K>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>>>0>=(c[v>>2]|0)>>>0)break;s=M;if(wC(c[u>>2]|0,c[L>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[G>>2]=c[(c[u>>2]|0)+28>>2];if((c[G>>2]|0)>=64){f=0;g=-2147483648}else{f=j0(1,0,c[G>>2]|0)|0;g=D}r=H;c[r>>2]=f;c[r+4>>2]=g;r=C;s=H;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[I>>2]=c[c[u>>2]>>2];q=H;p=C;r=c[p+4>>2]|c[q+4>>2];s=C;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[w>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[u>>2]|0)+28>>2];c[A>>2]=xz(c[X>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[(c[I>>2]|0)+16>>2]|0)|0;if(c[A>>2]|0)f=c[c[A>>2]>>2]|0;else f=34455;c[(c[(c[w>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=f;c[S>>2]=(c[S>>2]|0)+1}}c[u>>2]=(c[u>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;M=E;H=c[M>>2]|0;M=c[M+4>>2]|0;I=j0(1,0,c[y>>2]|0)|0;if((H&I|0)!=0|(M&D|0)!=0){b[(c[(c[w>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[w>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34455;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0?1:(c[(c[L>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[x>>2]|0)+34>>1]|0))break a;b[(c[(c[w>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[w>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34455;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[w>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[w>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34455;L=(c[X>>2]|0)+40|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[N>>2]|0)+8>>2]=M;Qu(c[O>>2]|0,106,c[(c[N>>2]|0)+8>>2]|0,(c[t>>2]|0)+1|0)|0;iy(c[X>>2]|0,c[w>>2]|0);Ky(c[X>>2]|0);c[U>>2]=(c[(c[c[K>>2]>>2]|0)+4>>2]|0)+8+((d[(c[N>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1|0){c[J>>2]=c[(c[U>>2]|0)+28>>2];c[V>>2]=Qu(c[O>>2]|0,76,0,0)|0;Ru(c[O>>2]|0,15,c[J>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[Q>>2]=ey(c[O>>2]|0,16,c[J>>2]|0)|0}else c[Q>>2]=ey(c[O>>2]|0,57,c[(c[N>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[F>>2]=ky(c[O>>2]|0)|0;nz(c[X>>2]|0,c[T>>2]|0,c[F>>2]|0,16);M=(c[B>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[R>>2]=Ov(c[X>>2]|0)|0;c[W>>2]=Ey(c[X>>2]|0,c[w>>2]|0,c[(c[N>>2]|0)+4>>2]|0,c[R>>2]|0,0,0,0,0)|0;Qu(c[O>>2]|0,126,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0)|0;jy(c[O>>2]|0,16);if(c[T>>2]|0)oy(c[O>>2]|0,c[F>>2]|0);f=c[O>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1|0){ty(f,c[V>>2]|0,(c[W>>2]|0)+(c[S>>2]|0)|0);HB(c[O>>2]|0,c[Q>>2]|0,c[(c[N>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);my(c[O>>2]|0,c[Q>>2]|0)|0;W=(c[U>>2]|0)+36+1|0;a[W>>0]=a[W>>0]&-17}else Qu(f,7,c[(c[N>>2]|0)+4>>2]|0,(c[Q>>2]|0)+1|0)|0;jy(c[O>>2]|0,3);ny(c[O>>2]|0,c[Q>>2]|0);Qv(c[X>>2]|0,c[R>>2]|0);Iy(c[X>>2]|0);ny(c[O>>2]|0,c[P>>2]|0);W=c[X>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;Ok(W,X);l=Y;return}function $B(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+256|0;K=O+40|0;J=O+32|0;M=O+24|0;L=O+16|0;I=O+8|0;H=O;G=O+144|0;n=O+140|0;o=O+136|0;p=O+132|0;s=O+128|0;t=O+124|0;m=O+148|0;u=O+120|0;v=O+116|0;w=O+112|0;q=O+108|0;x=O+104|0;y=O+100|0;z=O+96|0;A=O+92|0;B=O+88|0;C=O+60|0;r=O+152|0;D=O+56|0;E=O+52|0;F=O+48|0;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[s>>2]=i;c[t>>2]=j;b[m>>1]=k;c[u>>2]=0;do if((d[(c[n>>2]|0)+409>>0]|0|0)==2){c[v>>2]=(c[o>>2]|0)+8+((d[(c[p>>2]|0)+44>>0]|0)*72|0);c[w>>2]=c[(c[n>>2]|0)+8>>2];c[q>>2]=c[c[n>>2]>>2];c[x>>2]=c[(c[n>>2]|0)+420>>2];c[z>>2]=c[(c[p>>2]|0)+64>>2];c[A>>2]=c[(c[z>>2]|0)+36>>2];if((c[A>>2]&8192|0)==0?((e[m>>1]|0)&32|0)==0:0){do if(c[A>>2]&48|0)f=1;else{if((c[A>>2]&1024|0)==0?(e[(c[z>>2]|0)+24>>1]|0|0)>0:0){f=1;break}f=((e[m>>1]|0)&3|0)!=0}while(0);c[y>>2]=f&1;zd(C,c[q>>2]|0,r,100,1e9);Wd(C,c[y>>2]|0?34068:34075);f=c[v>>2]|0;if(c[(c[v>>2]|0)+20>>2]|0){c[H>>2]=d[f+40>>0];oj(C,34080,H)}else{c[I>>2]=c[f+8>>2];oj(C,34093,I)}if(c[(c[v>>2]|0)+12>>2]|0){c[L>>2]=c[(c[v>>2]|0)+12>>2];oj(C,34103,L)}do if(!(c[A>>2]&1280)){c[D>>2]=0;c[E>>2]=c[(c[z>>2]|0)+24+8>>2];if(((d[(c[(c[v>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[E>>2]|0)+55>>0]&3|0)==2:0){if(c[y>>2]|0)c[D>>2]=34110}else N=19;do if((N|0)==19){if(c[A>>2]&131072|0){c[D>>2]=34122;break}if(c[A>>2]&16384|0){c[D>>2]=34155;break}if(c[A>>2]&64|0){c[D>>2]=34180;break}else{c[D>>2]=34198;break}}while(0);if(c[D>>2]|0){Pd(C,34207,7);N=c[D>>2]|0;c[M>>2]=c[c[E>>2]>>2];oj(C,N,M);sC(C,c[z>>2]|0)}}else{if(c[A>>2]&256|0?c[A>>2]&15|0:0){do if(!(c[A>>2]&5|0)){if((c[A>>2]&48|0)==48){c[F>>2]=34217;break}if(c[A>>2]&32|0){c[F>>2]=34231;break}else{c[F>>2]=34233;break}}else c[F>>2]=34215;while(0);c[J>>2]=c[F>>2];oj(C,34235,J);break}if(c[A>>2]&1024|0){N=c[(c[z>>2]|0)+24+8>>2]|0;c[K>>2]=c[(c[z>>2]|0)+24>>2];c[K+4>>2]=N;oj(C,34273,K)}}while(0);c[B>>2]=Bd(C)|0;c[u>>2]=Uu(c[w>>2]|0,162,c[x>>2]|0,c[s>>2]|0,c[t>>2]|0,c[B>>2]|0,-1)|0;break}c[G>>2]=0;N=c[G>>2]|0;l=O;return N|0}while(0);c[G>>2]=c[u>>2];N=c[G>>2]|0;l=O;return N|0}function aC(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;hb=l;l=l+448|0;db=hb+8|0;eb=hb+432|0;N=hb+428|0;fb=hb;gb=hb+424|0;Ra=hb+420|0;Sa=hb+416|0;qa=hb+412|0;ra=hb+408|0;Oa=hb+404|0;Za=hb+400|0;sa=hb+396|0;_a=hb+392|0;$a=hb+388|0;ab=hb+384|0;Qa=hb+380|0;bb=hb+376|0;H=hb+372|0;G=hb+368|0;cb=hb+364|0;Pa=hb+360|0;k=hb+356|0;j=hb+352|0;m=hb+348|0;n=hb+344|0;o=hb+340|0;p=hb+336|0;q=hb+332|0;r=hb+328|0;s=hb+324|0;t=hb+320|0;u=hb+316|0;v=hb+312|0;w=hb+308|0;x=hb+304|0;y=hb+300|0;z=hb+296|0;A=hb+292|0;B=hb+288|0;C=hb+284|0;E=hb+280|0;F=hb+276|0;ta=hb+442|0;ua=hb+440|0;va=hb+438|0;wa=hb+272|0;xa=hb+268|0;ya=hb+264|0;za=hb+260|0;Aa=hb+256|0;Ba=hb+252|0;Ca=hb+248|0;Da=hb+244|0;Ea=hb+240|0;I=hb+236|0;Fa=hb+232|0;Ga=hb+228|0;Ha=hb+224|0;Ia=hb+447|0;Ja=hb+446|0;J=hb+220|0;K=hb+445|0;L=hb+444|0;Ka=hb+216|0;La=hb+212|0;Ma=hb+208|0;O=hb+204|0;P=hb+200|0;Q=hb+196|0;R=hb+192|0;S=hb+188|0;T=hb+184|0;U=hb+180|0;V=hb+176|0;W=hb+172|0;X=hb+168|0;Y=hb+164|0;Z=hb+436|0;_=hb+160|0;$=hb+156|0;aa=hb+152|0;ba=hb+148|0;ca=hb+144|0;da=hb+140|0;ea=hb+136|0;fa=hb+132|0;ga=hb+128|0;ha=hb+124|0;ia=hb+120|0;ja=hb+116|0;ka=hb+112|0;la=hb+108|0;ma=hb+104|0;na=hb+100|0;oa=hb+96|0;pa=hb+92|0;M=hb+88|0;Ta=hb+84|0;Ua=hb+80|0;Va=hb+76|0;Wa=hb+72|0;Xa=hb+24|0;Ya=hb+16|0;c[eb>>2]=f;c[N>>2]=g;f=fb;c[f>>2]=h;c[f+4>>2]=i;c[Pa>>2]=0;c[k>>2]=0;c[ab>>2]=c[c[eb>>2]>>2];c[bb>>2]=c[(c[ab>>2]|0)+8>>2];c[_a>>2]=(c[eb>>2]|0)+80;c[Qa>>2]=c[c[ab>>2]>>2];c[Za>>2]=(c[eb>>2]|0)+752+((c[N>>2]|0)*80|0);c[sa>>2]=c[(c[Za>>2]|0)+64>>2];c[H>>2]=(c[(c[eb>>2]|0)+4>>2]|0)+8+((d[(c[Za>>2]|0)+44>>0]|0)*72|0);c[Sa>>2]=c[(c[H>>2]|0)+44>>2];h=fb;f=c[h>>2]|0;h=c[h+4>>2]|0;g=bC((c[eb>>2]|0)+488|0,c[Sa>>2]|0)|0;i=(c[Za>>2]|0)+72|0;c[i>>2]=f&~g;c[i+4>>2]=h&~D;i=(c[eb>>2]|0)+64|0;i=f0(c[i>>2]|0,c[i+4>>2]|0,c[N>>2]|0)|0;c[Oa>>2]=i&1;if(c[(c[sa>>2]|0)+36>>2]&64|0)f=(e[(c[eb>>2]|0)+40>>1]&32|0)==0;else f=0;c[ra>>2]=f&1;i=ky(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+16>>2]=i;c[(c[Za>>2]|0)+12>>2]=i;c[G>>2]=i;i=ky(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+24>>2]=i;c[cb>>2]=i;if((d[(c[Za>>2]|0)+44>>0]|0)>0?d[(c[H>>2]|0)+36>>0]&8|0:0){h=(c[ab>>2]|0)+44|0;i=(c[h>>2]|0)+1|0;c[h>>2]=i;c[c[Za>>2]>>2]=i;Qu(c[bb>>2]|0,76,0,c[c[Za>>2]>>2]|0)|0}do if((d[(c[H>>2]|0)+36+1>>0]|0)>>>4&1|0){c[j>>2]=c[(c[H>>2]|0)+28>>2];Ru(c[bb>>2]|0,15,c[j>>2]|0,0,c[(c[H>>2]|0)+24>>2]|0)|0;Ra=Qu(c[bb>>2]|0,16,c[j>>2]|0,c[G>>2]|0)|0;c[(c[Za>>2]|0)+52>>2]=Ra;a[(c[Za>>2]|0)+45>>0]=13}else{f=c[sa>>2]|0;if(c[(c[sa>>2]|0)+36>>2]&1024|0){c[o>>2]=e[f+40>>1];Ky(c[ab>>2]|0);c[m>>2]=My(c[ab>>2]|0,(c[o>>2]|0)+2|0)|0;c[n>>2]=c[(c[Za>>2]|0)+12>>2];c[gb>>2]=0;while(1){if((c[gb>>2]|0)>=(c[o>>2]|0))break;c[q>>2]=(c[m>>2]|0)+(c[gb>>2]|0)+2;c[$a>>2]=c[(c[(c[sa>>2]|0)+48>>2]|0)+(c[gb>>2]<<2)>>2];do if(c[$a>>2]|0)if(e[(c[$a>>2]|0)+12>>1]&1|0){cC(c[ab>>2]|0,c[$a>>2]|0,c[Za>>2]|0,c[gb>>2]|0,c[Oa>>2]|0,c[q>>2]|0)|0;c[n>>2]=c[(c[Za>>2]|0)+16>>2];break}else{c[r>>2]=c[(c[c[$a>>2]>>2]|0)+16>>2];dC(c[ab>>2]|0,c[r>>2]|0,c[q>>2]|0,1);break}while(0);c[gb>>2]=(c[gb>>2]|0)+1}Qu(c[bb>>2]|0,76,c[(c[sa>>2]|0)+24>>2]|0,c[m>>2]|0)|0;Qu(c[bb>>2]|0,76,c[o>>2]|0,(c[m>>2]|0)+1|0)|0;Uu(c[bb>>2]|0,11,c[Sa>>2]|0,c[n>>2]|0,c[m>>2]|0,c[(c[sa>>2]|0)+24+8>>2]|0,d[(c[sa>>2]|0)+24+4>>0]|0?-11:-2)|0;a[(c[sa>>2]|0)+24+4>>0]=0;c[(c[Za>>2]|0)+48>>2]=c[Sa>>2];a[(c[Za>>2]|0)+45>>0]=d[(c[eb>>2]|0)+45>>0]|0?161:70;Ra=Pv(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+52>>2]=Ra;c[p>>2]=c[(c[Za>>2]|0)+56>>2];c[gb>>2]=(c[o>>2]|0)-1;while(1){if((c[gb>>2]|0)<0)break;c[$a>>2]=c[(c[(c[sa>>2]|0)+48>>2]|0)+(c[gb>>2]<<2)>>2];if((c[gb>>2]|0)<16?e[(c[sa>>2]|0)+24+6>>1]>>c[gb>>2]&1|0:0)eC(c[Za>>2]|0,c[$a>>2]|0);else Na=21;if((Na|0)==21?(Na=0,e[(c[$a>>2]|0)+12>>1]&1|0):0){if(!(a[(c[Qa>>2]|0)+69>>0]|0)){Oa=c[bb>>2]|0;Pa=c[(c[Za>>2]|0)+56+4>>2]|0;Ra=(c[p>>2]|0)+-1|0;c[p>>2]=Ra;c[u>>2]=uy(Oa,c[Pa+(Ra*12|0)+4>>2]|0)|0;Ru(c[bb>>2]|0,d[c[u>>2]>>0]|0,c[(c[u>>2]|0)+4>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[(c[u>>2]|0)+12>>2]|0)|0}c[s>>2]=pt(c[ab>>2]|0,37,0,0,0)|0;if(c[s>>2]|0){c[(c[s>>2]|0)+12>>2]=c[(c[c[$a>>2]>>2]|0)+12>>2];Ra=Ht(c[Qa>>2]|0,157,0)|0;c[t>>2]=Ra;c[(c[s>>2]|0)+16>>2]=Ra;if(c[t>>2]|0){c[(c[t>>2]|0)+28>>2]=(c[m>>2]|0)+(c[gb>>2]|0)+2;nz(c[ab>>2]|0,c[s>>2]|0,c[(c[Za>>2]|0)+24>>2]|0,0)}c[(c[s>>2]|0)+12>>2]=0;Ok(c[Qa>>2]|0,c[s>>2]|0)}}c[gb>>2]=(c[gb>>2]|0)+-1}Iy(c[ab>>2]|0);break}if(c[f+36>>2]&256|0?c[(c[sa>>2]|0)+36>>2]&5|0:0){c[$a>>2]=c[c[(c[sa>>2]|0)+48>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[k>>2]=Ra;c[Pa>>2]=cC(c[ab>>2]|0,c[$a>>2]|0,c[Za>>2]|0,0,c[Oa>>2]|0,c[k>>2]|0)|0;if((c[Pa>>2]|0)!=(c[k>>2]|0))Qv(c[ab>>2]|0,c[k>>2]|0);c[qa>>2]=c[(c[Za>>2]|0)+16>>2];Ru(c[bb>>2]|0,32,c[Sa>>2]|0,c[qa>>2]|0,c[Pa>>2]|0)|0;$y(c[ab>>2]|0,c[Pa>>2]|0,1);Mz(c[ab>>2]|0,c[Sa>>2]|0,-1,c[Pa>>2]|0);a[(c[Za>>2]|0)+45>>0]=-95;break}if(c[(c[sa>>2]|0)+36>>2]&256|0?c[(c[sa>>2]|0)+36>>2]&2|0:0){c[v>>2]=161;c[x>>2]=0;c[gb>>2]=0;c[z>>2]=0;c[y>>2]=0;if(c[(c[sa>>2]|0)+36>>2]&32|0){Qa=c[(c[sa>>2]|0)+48>>2]|0;Ra=c[gb>>2]|0;c[gb>>2]=Ra+1;c[y>>2]=c[Qa+(Ra<<2)>>2]}if(c[(c[sa>>2]|0)+36>>2]&16|0){Qa=c[(c[sa>>2]|0)+48>>2]|0;Ra=c[gb>>2]|0;c[gb>>2]=Ra+1;c[z>>2]=c[Qa+(Ra<<2)>>2]}if(c[Oa>>2]|0){c[$a>>2]=c[y>>2];c[y>>2]=c[z>>2];c[z>>2]=c[$a>>2]}if(c[y>>2]|0){c[A>>2]=c[c[y>>2]>>2];Ra=(az(c[(c[A>>2]|0)+16>>2]|0)|0)!=0;f=c[ab>>2]|0;if(Ra){Ra=Ov(f)|0;c[C>>2]=Ra;c[B>>2]=Ra;dC(c[ab>>2]|0,c[(c[A>>2]|0)+16>>2]|0,c[B>>2]|0,1);c[E>>2]=d[34048+((d[c[A>>2]>>0]|0)-38|1)>>0]}else{c[B>>2]=cz(f,c[(c[A>>2]|0)+16>>2]|0,C)|0;eC(c[Za>>2]|0,c[y>>2]|0);c[E>>2]=d[34048+((d[c[A>>2]>>0]|0)-38)>>0]}Ru(c[bb>>2]|0,c[E>>2]|0,c[Sa>>2]|0,c[G>>2]|0,c[B>>2]|0)|0;$y(c[ab>>2]|0,c[B>>2]|0,1);Qv(c[ab>>2]|0,c[C>>2]|0)}else Qu(c[bb>>2]|0,c[Oa>>2]|0?53:57,c[Sa>>2]|0,c[G>>2]|0)|0;if(c[z>>2]|0){c[F>>2]=c[c[z>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[x>>2]=Ra;dC(c[ab>>2]|0,c[(c[F>>2]|0)+16>>2]|0,c[x>>2]|0,1);do if(!(az(c[(c[F>>2]|0)+16>>2]|0)|0)){if((d[c[F>>2]>>0]|0)!=40?(d[c[F>>2]>>0]|0)!=38:0){Na=54;break}c[v>>2]=c[Oa>>2]|0?39:41}else Na=54;while(0);if((Na|0)==54)c[v>>2]=c[Oa>>2]|0?40:38;if(!(az(c[(c[F>>2]|0)+16>>2]|0)|0))eC(c[Za>>2]|0,c[z>>2]|0)}c[w>>2]=Pv(c[bb>>2]|0)|0;a[(c[Za>>2]|0)+45>>0]=c[Oa>>2]|0?6:7;c[(c[Za>>2]|0)+48>>2]=c[Sa>>2];c[(c[Za>>2]|0)+52>>2]=c[w>>2];if((c[v>>2]|0)==161)break;Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Pa>>2]=Ra;Qu(c[bb>>2]|0,123,c[Sa>>2]|0,c[Pa>>2]|0)|0;Mz(c[ab>>2]|0,c[Sa>>2]|0,-1,c[Pa>>2]|0);Ru(c[bb>>2]|0,c[v>>2]|0,c[x>>2]|0,c[G>>2]|0,c[Pa>>2]|0)|0;jy(c[bb>>2]|0,83);break}f=c[sa>>2]|0;if(!(c[(c[sa>>2]|0)+36>>2]&512)){if(!(c[f+36>>2]&8192))if((d[(c[H>>2]|0)+36+1>>0]|0)>>>5&1|0){a[(c[Za>>2]|0)+45>>0]=-95;break}else{a[(c[Za>>2]|0)+45>>0]=a[34064+(c[Oa>>2]|0)>>0]|0;c[(c[Za>>2]|0)+48>>2]=c[Sa>>2];Ra=1+(Qu(c[bb>>2]|0,d[34066+(c[Oa>>2]|0)>>0]|0,c[Sa>>2]|0,c[G>>2]|0)|0)|0;c[(c[Za>>2]|0)+52>>2]=Ra;a[(c[Za>>2]|0)+47>>0]=1;break}c[Q>>2]=0;f=(c[ab>>2]|0)+40|0;Pa=c[f>>2]|0;c[f>>2]=Pa+1;c[R>>2]=Pa;Pa=(c[ab>>2]|0)+44|0;f=(c[Pa>>2]|0)+1|0;c[Pa>>2]=f;c[S>>2]=f;c[T>>2]=0;c[U>>2]=0;c[V>>2]=ky(c[bb>>2]|0)|0;c[X>>2]=0;c[_>>2]=0;c[$>>2]=c[(c[H>>2]|0)+16>>2];c[$a>>2]=c[c[(c[sa>>2]|0)+48>>2]>>2];c[O>>2]=c[(c[$a>>2]|0)+28>>2];a[(c[Za>>2]|0)+45>>0]=72;c[(c[Za>>2]|0)+48>>2]=c[S>>2];f=c[eb>>2]|0;a:do if((d[(c[eb>>2]|0)+42>>0]|0)>1){c[aa>>2]=(d[f+42>>0]|0)-(c[N>>2]|0)-1;c[P>>2]=Cd(c[Qa>>2]|0,80+((c[aa>>2]|0)*72|0)|0,0)|0;if(!(c[P>>2]|0)){eb=fb;gb=c[eb+4>>2]|0;fb=db;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=db;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;D=fb;l=hb;return gb|0}c[(c[P>>2]|0)+4>>2]=(c[aa>>2]|0)+1&255;c[c[P>>2]>>2]=c[(c[P>>2]|0)+4>>2];h=(c[P>>2]|0)+8|0;f=c[H>>2]|0;g=h+72|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));c[ba>>2]=(c[(c[eb>>2]|0)+4>>2]|0)+8;c[Ra>>2]=1;while(1){if((c[Ra>>2]|0)>(c[aa>>2]|0))break a;h=(c[P>>2]|0)+8+((c[Ra>>2]|0)*72|0)|0;f=(c[ba>>2]|0)+((d[(c[Za>>2]|0)+((c[Ra>>2]|0)*80|0)+44>>0]|0)*72|0)|0;g=h+72|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));c[Ra>>2]=(c[Ra>>2]|0)+1}}else c[P>>2]=c[f+4>>2];while(0);if(!(e[(c[eb>>2]|0)+40>>1]&16)){if(!(d[(c[$>>2]|0)+42>>0]&32)){Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[T>>2]=Ra;Qu(c[bb>>2]|0,79,0,c[T>>2]|0)|0}else{c[ca>>2]=uv(c[$>>2]|0)|0;Pa=(c[ab>>2]|0)+40|0;Ra=c[Pa>>2]|0;c[Pa>>2]=Ra+1;c[T>>2]=Ra;Qu(c[bb>>2]|0,107,c[T>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;iy(c[ab>>2]|0,c[ca>>2]|0)}Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[U>>2]=Ra}c[W>>2]=Qu(c[bb>>2]|0,76,0,c[S>>2]|0)|0;if((c[(c[_a>>2]|0)+12>>2]|0)>1){c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break;c[ea>>2]=c[(c[(c[_a>>2]|0)+20>>2]|0)+((c[da>>2]|0)*48|0)>>2];do if((((c[(c[_a>>2]|0)+20>>2]|0)+((c[da>>2]|0)*48|0)|0)!=(c[$a>>2]|0)?(c[(c[ea>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[da>>2]|0)*48|0)+10>>1]&6|0)==0:0){if(!(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[da>>2]|0)*48|0)+12>>1]&8191))break;c[ea>>2]=Ww(c[Qa>>2]|0,c[ea>>2]|0,0)|0;c[_>>2]=Mx(c[Qa>>2]|0,c[_>>2]|0,c[ea>>2]|0)|0}while(0);c[da>>2]=(c[da>>2]|0)+1}if(c[_>>2]|0)c[_>>2]=pt(c[ab>>2]|0,284,0,c[_>>2]|0,0)|0}b[Z>>1]=32|e[(c[eb>>2]|0)+40>>1]&1024;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[(c[O>>2]|0)+12>>2]|0))break;c[fa>>2]=(c[(c[O>>2]|0)+20>>2]|0)+((c[Y>>2]|0)*48|0);if(!((c[(c[fa>>2]|0)+20>>2]|0)!=(c[Sa>>2]|0)?!(e[(c[fa>>2]|0)+12>>1]&1024|0):0)){c[ha>>2]=c[c[fa>>2]>>2];c[ia>>2]=0;if(c[_>>2]|0?(c[(c[ha>>2]|0)+4>>2]&1|0)==0:0){c[(c[_>>2]|0)+12>>2]=c[ha>>2];c[ha>>2]=c[_>>2]}c[ga>>2]=FB(c[ab>>2]|0,c[P>>2]|0,c[ha>>2]|0,0,0,b[Z>>1]|0,c[R>>2]|0)|0;if(c[ga>>2]|0){c[ka>>2]=$B(c[ab>>2]|0,c[P>>2]|0,(c[ga>>2]|0)+752|0,c[N>>2]|0,d[(c[Za>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[eb>>2]|0)+40>>1]&16)){c[ma>>2]=(c[Y>>2]|0)==((c[(c[O>>2]|0)+12>>2]|0)-1|0)?-1:c[Y>>2]|0;if(!(d[(c[$>>2]|0)+42>>0]&32)){c[la>>2]=Yy(c[ab>>2]|0,c[$>>2]|0,-1,c[Sa>>2]|0,c[U>>2]|0,0)|0;c[ia>>2]=zy(c[bb>>2]|0,63,c[T>>2]|0,0,c[la>>2]|0,c[ma>>2]|0)|0;break}c[na>>2]=uv(c[$>>2]|0)|0;c[oa>>2]=e[(c[na>>2]|0)+50>>1];c[la>>2]=My(c[ab>>2]|0,c[oa>>2]|0)|0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[oa>>2]|0))break;c[M>>2]=b[(c[(c[na>>2]|0)+4>>2]|0)+(c[pa>>2]<<1)>>1];kC(c[ab>>2]|0,c[$>>2]|0,c[M>>2]|0,c[Sa>>2]|0,(c[la>>2]|0)+(c[pa>>2]|0)|0);c[pa>>2]=(c[pa>>2]|0)+1}if(c[ma>>2]|0)c[ia>>2]=zy(c[bb>>2]|0,31,c[T>>2]|0,0,c[la>>2]|0,c[oa>>2]|0)|0;do if((c[ma>>2]|0)>=0){Ru(c[bb>>2]|0,99,c[la>>2]|0,c[oa>>2]|0,c[U>>2]|0)|0;Ru(c[bb>>2]|0,126,c[T>>2]|0,c[U>>2]|0,0)|0;if(!(c[ma>>2]|0))break;jy(c[bb>>2]|0,16)}while(0);Py(c[ab>>2]|0,c[la>>2]|0,c[oa>>2]|0)}while(0);Qu(c[bb>>2]|0,14,c[S>>2]|0,c[V>>2]|0)|0;if(c[ia>>2]|0)ny(c[bb>>2]|0,c[ia>>2]|0);if(a[(c[ga>>2]|0)+46>>0]|0)c[X>>2]=1;c[ja>>2]=c[(c[ga>>2]|0)+752+64>>2];do if(c[(c[ja>>2]|0)+36>>2]&512|0){if(c[Y>>2]|0?(c[(c[ja>>2]|0)+24+8>>2]|0)!=(c[Q>>2]|0):0){Na=191;break}if(d[(c[$>>2]|0)+42>>0]&32|0?(a[(c[(c[ja>>2]|0)+24+8>>2]|0)+55>>0]&3|0)==2:0){Na=191;break}c[Q>>2]=c[(c[ja>>2]|0)+24+8>>2]}else Na=191;while(0);if((Na|0)==191){Na=0;c[Q>>2]=0}GB(c[ga>>2]|0)}}c[Y>>2]=(c[Y>>2]|0)+1}c[(c[Za>>2]|0)+56>>2]=c[Q>>2];if(c[Q>>2]|0)c[(c[Za>>2]|0)+8>>2]=c[R>>2];if(c[_>>2]|0){c[(c[_>>2]|0)+12>>2]=0;Ok(c[Qa>>2]|0,c[_>>2]|0)}Pa=c[bb>>2]|0;Ra=c[W>>2]|0;lC(Pa,Ra,Pv(c[bb>>2]|0)|0);my(c[bb>>2]|0,c[(c[Za>>2]|0)+12>>2]|0)|0;oy(c[bb>>2]|0,c[V>>2]|0);if((d[(c[eb>>2]|0)+42>>0]|0)>1)Xd(c[Qa>>2]|0,c[P>>2]|0);if(c[X>>2]|0)break;eC(c[Za>>2]|0,c[$a>>2]|0);break}b[ta>>1]=b[f+24>>1]|0;b[ua>>1]=b[(c[sa>>2]|0)+24+2>>1]|0;b[va>>1]=b[(c[sa>>2]|0)+24+4>>1]|0;c[xa>>2]=0;c[ya>>2]=0;c[I>>2]=0;c[Ha>>2]=0;a[Ia>>0]=0;a[Ja>>0]=0;c[Da>>2]=c[(c[sa>>2]|0)+24+8>>2];c[Ea>>2]=c[(c[Za>>2]|0)+8>>2];if((e[(c[eb>>2]|0)+40>>1]&1|0?(a[(c[eb>>2]|0)+43>>0]|0)>0:0)?(e[(c[Da>>2]|0)+50>>1]|0)>(e[ta>>1]|0):0){a[Ia>>0]=1;c[I>>2]=1}c[gb>>2]=e[ta>>1];if(c[(c[sa>>2]|0)+36>>2]&32|0){pa=c[(c[sa>>2]|0)+48>>2]|0;Na=c[gb>>2]|0;c[gb>>2]=Na+1;c[xa>>2]=c[pa+(Na<<2)>>2];if((c[I>>2]|0)>(e[(c[sa>>2]|0)+24+2>>1]|0))f=c[I>>2]|0;else f=e[(c[sa>>2]|0)+24+2>>1]|0;c[I>>2]=f}do if(c[(c[sa>>2]|0)+36>>2]&16|0){pa=c[(c[sa>>2]|0)+48>>2]|0;Na=c[gb>>2]|0;c[gb>>2]=Na+1;c[ya>>2]=c[pa+(Na<<2)>>2];if((c[I>>2]|0)>(e[(c[sa>>2]|0)+24+4>>1]|0))f=c[I>>2]|0;else f=e[(c[sa>>2]|0)+24+4>>1]|0;c[I>>2]=f;if(e[(c[ya>>2]|0)+10>>1]&256|0){pa=(c[ab>>2]|0)+44|0;Na=(c[pa>>2]|0)+1|0;c[pa>>2]=Na;c[(c[Za>>2]|0)+36>>2]=Na;Qu(c[bb>>2]|0,76,1,c[(c[Za>>2]|0)+36>>2]|0)|0;Na=Pv(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+40>>2]=Na;Na=(c[Za>>2]|0)+36|0;c[Na>>2]=c[Na>>2]<<1;Na=(c[Za>>2]|0)+36|0;c[Na>>2]=c[Na>>2]|c[Oa>>2]^(d[(c[(c[Da>>2]|0)+28>>2]|0)+(e[ta>>1]|0)>>0]|0)==1}if(!(c[xa>>2]|0)){c[gb>>2]=b[(c[(c[Da>>2]|0)+4>>2]|0)+(e[ta>>1]<<1)>>1];if((c[gb>>2]|0)>=0){if(!((c[gb>>2]|0)==-2?1:(d[(c[(c[(c[Da>>2]|0)+12>>2]|0)+4>>2]|0)+(c[gb>>2]<<4)+12>>0]|0)==0))break}else if((c[gb>>2]|0)!=-2)break;a[Ia>>0]=1}}while(0);if((e[ta>>1]|0)<(e[(c[Da>>2]|0)+50>>1]|0)?(c[Oa>>2]|0)==((d[(c[(c[Da>>2]|0)+28>>2]|0)+(e[ta>>1]|0)>>0]|0)==0|0):0)Na=84;else Na=82;if(((Na|0)==82?c[Oa>>2]|0:0)?(e[(c[Da>>2]|0)+50>>1]|0)==(e[ta>>1]|0):0)Na=84;if((Na|0)==84){c[J>>2]=c[ya>>2];c[ya>>2]=c[xa>>2];c[xa>>2]=c[J>>2];a[K>>0]=a[Ia>>0]|0;a[Ia>>0]=a[Ja>>0]|0;a[Ja>>0]=a[K>>0]|0;a[L>>0]=b[ua>>1];b[ua>>1]=b[va>>1]|0;b[va>>1]=d[L>>0]|0}c[wa>>2]=fC(c[ab>>2]|0,c[Za>>2]|0,c[Oa>>2]|0,c[I>>2]|0,Ga)|0;if(c[Ga>>2]|0?e[va>>1]|0:0)c[Ha>>2]=Xo(c[Qa>>2]|0,(c[Ga>>2]|0)+(e[ta>>1]|0)|0)|0;c[qa>>2]=c[(c[Za>>2]|0)+16>>2];if(c[xa>>2]|0)f=(e[(c[xa>>2]|0)+12>>1]&40|0)!=0;else f=1;c[za>>2]=f&1;if(c[ya>>2]|0)f=(e[(c[ya>>2]|0)+12>>1]&40|0)!=0;else f=1;c[Aa>>2]=f&1;if(c[xa>>2]|0)f=1;else f=(e[ta>>1]|0)>0;c[Ba>>2]=f&1;c[Ca>>2]=e[ta>>1];if(!(c[xa>>2]|0)){if(a[Ia>>0]|0){Qu(c[bb>>2]|0,79,0,(c[wa>>2]|0)+(e[ta>>1]|0)|0)|0;c[Ca>>2]=(c[Ca>>2]|0)+1;c[za>>2]=0;c[Ba>>2]=1}}else{c[Ka>>2]=c[(c[c[xa>>2]>>2]|0)+16>>2];dC(c[ab>>2]|0,c[Ka>>2]|0,(c[wa>>2]|0)+(e[ta>>1]|0)|0,e[ua>>1]|0);gC(c[bb>>2]|0,c[Za>>2]|0,c[xa>>2]|0);do if(!(e[(c[xa>>2]|0)+10>>1]&0)){if(!(tz(c[Ka>>2]|0)|0))break;Qu(c[bb>>2]|0,34,(c[wa>>2]|0)+(e[ta>>1]|0)|0,c[qa>>2]|0)|0}while(0);if(c[Ga>>2]|0)hC(c[Ka>>2]|0,e[ua>>1]|0,(c[Ga>>2]|0)+(e[ta>>1]|0)|0);c[Ca>>2]=(c[Ca>>2]|0)+(e[ua>>1]|0);if(!(az(c[Ka>>2]|0)|0))eC(c[Za>>2]|0,c[xa>>2]|0);else c[za>>2]=1;a[Ia>>0]=0}iC(c[ab>>2]|0,c[wa>>2]|0,(c[Ca>>2]|0)-(d[Ia>>0]|0)|0,c[Ga>>2]|0);if(!((e[(c[sa>>2]|0)+42>>1]|0)>0?(c[Ca>>2]|0)==(e[(c[sa>>2]|0)+42>>1]|0):0)){c[Fa>>2]=d[34052+((c[Ba>>2]<<2)+(c[za>>2]<<1)+(c[Oa>>2]|0))>>0];zy(c[bb>>2]|0,c[Fa>>2]|0,c[Ea>>2]|0,c[qa>>2]|0,c[wa>>2]|0,c[Ca>>2]|0)|0}c[Ca>>2]=e[ta>>1];do if(c[ya>>2]|0){c[La>>2]=c[(c[c[ya>>2]>>2]|0)+16>>2];Qy(c[ab>>2]|0,(c[wa>>2]|0)+(e[ta>>1]|0)|0,1);dC(c[ab>>2]|0,c[La>>2]|0,(c[wa>>2]|0)+(e[ta>>1]|0)|0,e[va>>1]|0);gC(c[bb>>2]|0,c[Za>>2]|0,c[ya>>2]|0);do if(!(e[(c[ya>>2]|0)+10>>1]&0)){if(!(tz(c[La>>2]|0)|0))break;Qu(c[bb>>2]|0,34,(c[wa>>2]|0)+(e[ta>>1]|0)|0,c[qa>>2]|0)|0}while(0);if(c[Ha>>2]|0){hC(c[La>>2]|0,e[va>>1]|0,c[Ha>>2]|0);iC(c[ab>>2]|0,(c[wa>>2]|0)+(e[ta>>1]|0)|0,e[va>>1]|0,c[Ha>>2]|0)}c[Ca>>2]=(c[Ca>>2]|0)+(e[va>>1]|0);if(!(az(c[La>>2]|0)|0)){eC(c[Za>>2]|0,c[ya>>2]|0);break}else{c[Aa>>2]=1;break}}else{if(!(a[Ja>>0]|0))break;Qu(c[bb>>2]|0,79,0,(c[wa>>2]|0)+(e[ta>>1]|0)|0)|0;c[Aa>>2]=0;c[Ca>>2]=(c[Ca>>2]|0)+1}while(0);Xd(c[Qa>>2]|0,c[Ga>>2]|0);Xd(c[Qa>>2]|0,c[Ha>>2]|0);Qa=Pv(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+52>>2]=Qa;if(c[Ca>>2]|0){c[Fa>>2]=d[34060+((c[Oa>>2]<<1)+(c[Aa>>2]|0))>>0];zy(c[bb>>2]|0,c[Fa>>2]|0,c[Ea>>2]|0,c[qa>>2]|0,c[wa>>2]|0,c[Ca>>2]|0)|0}do if(!(c[ra>>2]|0)){if(!(d[(c[(c[Da>>2]|0)+12>>2]|0)+42>>0]&32))if(e[(c[eb>>2]|0)+40>>1]&1024|0){Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Pa>>2]=Ra;Qu(c[bb>>2]|0,129,c[Ea>>2]|0,c[Pa>>2]|0)|0;Mz(c[ab>>2]|0,c[Sa>>2]|0,-1,c[Pa>>2]|0);Ru(c[bb>>2]|0,33,c[Sa>>2]|0,0,c[Pa>>2]|0)|0;break}else{jC(c[eb>>2]|0,c[Da>>2]|0,c[Sa>>2]|0,c[Ea>>2]|0);break}if((c[Sa>>2]|0)==(c[Ea>>2]|0))break;c[Ma>>2]=uv(c[(c[Da>>2]|0)+12>>2]|0)|0;c[Pa>>2]=My(c[ab>>2]|0,e[(c[Ma>>2]|0)+50>>1]|0)|0;c[gb>>2]=0;while(1){if((c[gb>>2]|0)>=(e[(c[Ma>>2]|0)+50>>1]|0))break;c[Ra>>2]=(Uy(c[Da>>2]|0,b[(c[(c[Ma>>2]|0)+4>>2]|0)+(c[gb>>2]<<1)>>1]|0)|0)<<16>>16;Ru(c[bb>>2]|0,96,c[Ea>>2]|0,c[Ra>>2]|0,(c[Pa>>2]|0)+(c[gb>>2]|0)|0)|0;c[gb>>2]=(c[gb>>2]|0)+1}zy(c[bb>>2]|0,30,c[Sa>>2]|0,c[cb>>2]|0,c[Pa>>2]|0,e[(c[Ma>>2]|0)+50>>1]|0)|0}while(0);if(c[(c[sa>>2]|0)+36>>2]&4096|0)a[(c[Za>>2]|0)+45>>0]=-95;else a[(c[Za>>2]|0)+45>>0]=c[Oa>>2]|0?6:7;c[(c[Za>>2]|0)+48>>2]=c[Ea>>2];a[(c[Za>>2]|0)+46>>0]=c[(c[sa>>2]|0)+36>>2]&65536|0?1:0;if(c[(c[sa>>2]|0)+36>>2]&15|0)break;a[(c[Za>>2]|0)+47>>0]=1}while(0);c[$a>>2]=c[(c[_a>>2]|0)+20>>2];c[gb>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[gb>>2]|0)<=0)break;c[Ua>>2]=0;do if(!(e[(c[$a>>2]|0)+10>>1]&6)){Qa=(c[$a>>2]|0)+40|0;Ra=(c[Za>>2]|0)+72|0;if(c[Qa>>2]&c[Ra>>2]|0?1:(c[Qa+4>>2]&c[Ra+4>>2]|0)!=0){a[(c[eb>>2]|0)+46>>0]=1;break}c[Ta>>2]=c[c[$a>>2]>>2];if(c[c[Za>>2]>>2]|0?(c[(c[Ta>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[$a>>2]|0)+10>>1]&512|0){c[Va>>2]=c[(c[Za>>2]|0)+36>>2];c[Ua>>2]=ey(c[bb>>2]|0,c[Va>>2]&1|0?22:21,(c[Va>>2]|0)>>>1)|0}nz(c[ab>>2]|0,c[Ta>>2]|0,c[cb>>2]|0,16);if(c[Ua>>2]|0)ny(c[bb>>2]|0,c[Ua>>2]|0);Ra=(c[$a>>2]|0)+10|0;b[Ra>>1]=e[Ra>>1]|4}while(0);c[gb>>2]=(c[gb>>2]|0)+-1;c[$a>>2]=(c[$a>>2]|0)+48}c[$a>>2]=c[(c[_a>>2]|0)+20>>2];c[gb>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[gb>>2]|0)<=0)break;if(((((((e[(c[$a>>2]|0)+10>>1]&6|0)==0?e[(c[$a>>2]|0)+12>>1]&130|0:0)?e[(c[$a>>2]|0)+12>>1]&2048|0:0)?(c[(c[$a>>2]|0)+20>>2]|0)==(c[Sa>>2]|0):0)?(c[c[Za>>2]>>2]|0)==0:0)?(c[Wa>>2]=c[c[$a>>2]>>2],eb=fb,c[Ya>>2]=mC(c[_a>>2]|0,c[Sa>>2]|0,c[(c[$a>>2]|0)+28>>2]|0,c[eb>>2]|0,c[eb+4>>2]|0,131,0)|0,c[Ya>>2]|0):0)?(e[(c[Ya>>2]|0)+10>>1]&4|0)==0:0){h=Xa;f=c[c[Ya>>2]>>2]|0;g=h+48|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));c[Xa+12>>2]=c[(c[Wa>>2]|0)+12>>2];nz(c[ab>>2]|0,Xa,c[cb>>2]|0,16)}c[gb>>2]=(c[gb>>2]|0)+-1;c[$a>>2]=(c[$a>>2]|0)+48}b:do if(c[c[Za>>2]>>2]|0){fb=Pv(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+28>>2]=fb;Qu(c[bb>>2]|0,76,1,c[c[Za>>2]>>2]|0)|0;EA(c[ab>>2]|0);c[$a>>2]=c[(c[_a>>2]|0)+20>>2];c[gb>>2]=0;while(1){if((c[gb>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break b;if((e[(c[$a>>2]|0)+10>>1]&6|0)==0?(eb=(c[$a>>2]|0)+40|0,fb=(c[Za>>2]|0)+72|0,!(c[eb>>2]&c[fb>>2]|0?1:(c[eb+4>>2]&c[fb+4>>2]|0)!=0)):0){nz(c[ab>>2]|0,c[c[$a>>2]>>2]|0,c[cb>>2]|0,16);fb=(c[$a>>2]|0)+10|0;b[fb>>1]=e[fb>>1]|4}c[gb>>2]=(c[gb>>2]|0)+1;c[$a>>2]=(c[$a>>2]|0)+48}}while(0);eb=(c[Za>>2]|0)+72|0;gb=c[eb+4>>2]|0;fb=db;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=db;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;D=fb;l=hb;return gb|0}function bC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){a=6;break}b=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){a=4;break}c[f>>2]=b+1}if((a|0)==4){e=j0(1,0,b|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=D;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;D=f;l=h;return g|0}else if((a|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;D=f;l=h;return g|0}return 0}function cC(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+128|0;N=S+120|0;O=S+116|0;P=S+112|0;Q=S+108|0;z=S+104|0;A=S+100|0;m=S+96|0;B=S+92|0;C=S+88|0;D=S+84|0;E=S+80|0;F=S+76|0;G=S+72|0;H=S+68|0;I=S+64|0;s=S+60|0;J=S+56|0;t=S+52|0;n=S+48|0;u=S+44|0;v=S+40|0;w=S+36|0;x=S+32|0;o=S+28|0;p=S+24|0;q=S+20|0;y=S+16|0;r=S+12|0;K=S+8|0;L=S+4|0;M=S;c[O>>2]=f;c[P>>2]=g;c[Q>>2]=h;c[z>>2]=i;c[A>>2]=j;c[m>>2]=k;c[B>>2]=c[c[P>>2]>>2];c[C>>2]=c[(c[O>>2]|0)+8>>2];do if((d[c[B>>2]>>0]|0)!=37?(d[c[B>>2]>>0]|0)!=29:0){if((d[c[B>>2]>>0]|0)==34){c[D>>2]=c[m>>2];Qu(c[C>>2]|0,79,0,c[D>>2]|0)|0;break}c[E>>2]=5;c[H>>2]=c[(c[Q>>2]|0)+64>>2];c[s>>2]=0;c[J>>2]=0;if(((c[(c[H>>2]|0)+36>>2]&1024|0)==0?c[(c[H>>2]|0)+24+8>>2]|0:0)?d[(c[(c[(c[H>>2]|0)+24+8>>2]|0)+28>>2]|0)+(c[z>>2]|0)>>0]|0:0)c[A>>2]=((c[A>>2]|0)!=0^1)&1;c[D>>2]=c[m>>2];c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[z>>2]|0))break;if(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]|0?(c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[B>>2]|0):0){R=14;break}c[I>>2]=(c[I>>2]|0)+1}if((R|0)==14){eC(c[Q>>2]|0,c[P>>2]|0);c[N>>2]=c[m>>2];R=c[N>>2]|0;l=S;return R|0}c[I>>2]=c[z>>2];while(1){if((c[I>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break;if(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]|0?(c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[B>>2]|0):0)c[s>>2]=(c[s>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+1}if((c[(c[B>>2]|0)+4>>2]&2048|0)!=0?(c[c[c[(c[B>>2]|0)+20>>2]>>2]>>2]|0)!=1:0){c[t>>2]=c[(c[B>>2]|0)+20>>2];c[n>>2]=c[c[O>>2]>>2];c[u>>2]=c[c[t>>2]>>2];c[v>>2]=c[(c[(c[B>>2]|0)+12>>2]|0)+20>>2];c[w>>2]=0;c[x>>2]=0;c[I>>2]=c[z>>2];while(1){if((c[I>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break;if((c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[B>>2]|0)){c[o>>2]=(c[(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]|0)+24>>2]|0)-1;c[p>>2]=Ww(c[n>>2]|0,c[(c[(c[u>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[q>>2]=Ww(c[n>>2]|0,c[(c[(c[v>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[w>>2]=Et(c[O>>2]|0,c[w>>2]|0,c[p>>2]|0)|0;c[x>>2]=Et(c[O>>2]|0,c[x>>2]|0,c[q>>2]|0)|0}c[I>>2]=(c[I>>2]|0)+1}if(!(a[(c[n>>2]|0)+69>>0]|0)){c[y>>2]=c[(c[B>>2]|0)+12>>2];a:do if(c[(c[t>>2]|0)+44>>2]|0){c[r>>2]=c[(c[t>>2]|0)+44>>2];c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[c[r>>2]>>2]|0))break a;b[(c[(c[r>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)+16>>1]=0;c[I>>2]=(c[I>>2]|0)+1}}while(0);f=c[x>>2]|0;if((c[c[x>>2]>>2]|0)==1)c[(c[B>>2]|0)+12>>2]=c[c[f+4>>2]>>2];else{c[(c[y>>2]|0)+20>>2]=f;c[J>>2]=_l(c[c[O>>2]>>2]|0,c[s>>2]<<2,0)|0}c[c[t>>2]>>2]=c[w>>2];c[E>>2]=sz(c[O>>2]|0,c[B>>2]|0,4,0,c[J>>2]|0)|0;c[c[t>>2]>>2]=c[u>>2];c[(c[y>>2]|0)+20>>2]=c[v>>2];c[(c[B>>2]|0)+12>>2]=c[y>>2]}Kk(c[c[O>>2]>>2]|0,c[x>>2]|0);Kk(c[c[O>>2]>>2]|0,c[w>>2]|0)}else c[E>>2]=sz(c[O>>2]|0,c[B>>2]|0,4,0,0)|0;if((c[E>>2]|0)==4)c[A>>2]=((c[A>>2]|0)!=0^1)&1;c[F>>2]=c[(c[B>>2]|0)+28>>2];Qu(c[C>>2]|0,c[A>>2]|0?53:57,c[F>>2]|0,0)|0;y=(c[H>>2]|0)+36|0;c[y>>2]=c[y>>2]|2048;if(!(c[(c[Q>>2]|0)+56>>2]|0)){y=ky(c[C>>2]|0)|0;c[(c[Q>>2]|0)+16>>2]=y}c[I>>2]=c[(c[Q>>2]|0)+56>>2];y=(c[Q>>2]|0)+56|0;c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0);y=ji(c[c[O>>2]>>2]|0,c[(c[Q>>2]|0)+56+4>>2]|0,(c[(c[Q>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[Q>>2]|0)+56+4>>2]=y;c[G>>2]=c[(c[Q>>2]|0)+56+4>>2];b:do if(c[G>>2]|0){c[K>>2]=0;c[G>>2]=(c[G>>2]|0)+((c[I>>2]|0)*12|0);c[I>>2]=c[z>>2];while(1){if((c[I>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break b;if((c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[B>>2]|0)){c[L>>2]=(c[D>>2]|0)+(c[I>>2]|0)-(c[z>>2]|0);if((c[E>>2]|0)==1){f=Qu(c[C>>2]|0,123,c[F>>2]|0,c[L>>2]|0)|0;g=c[G>>2]|0}else{if(c[J>>2]|0){y=c[J>>2]|0;f=c[K>>2]|0;c[K>>2]=f+1;f=c[y+(f<<2)>>2]|0}else f=0;c[M>>2]=f;f=Ru(c[C>>2]|0,96,c[F>>2]|0,c[M>>2]|0,c[L>>2]|0)|0;g=c[G>>2]|0}c[g+4>>2]=f;ey(c[C>>2]|0,34,c[L>>2]|0)|0;if((c[I>>2]|0)==(c[z>>2]|0)){c[c[G>>2]>>2]=c[F>>2];f=(c[A>>2]|0?4:5)&255;g=c[G>>2]|0}else{f=-95;g=c[G>>2]|0}a[g+8>>0]=f;c[G>>2]=(c[G>>2]|0)+12}c[I>>2]=(c[I>>2]|0)+1}}else c[(c[Q>>2]|0)+56>>2]=0;while(0);Xd(c[c[O>>2]>>2]|0,c[J>>2]|0)}else R=3;while(0);if((R|0)==3)c[D>>2]=Xy(c[O>>2]|0,c[(c[B>>2]|0)+16>>2]|0,c[m>>2]|0)|0;eC(c[Q>>2]|0,c[P>>2]|0);c[N>>2]=c[D>>2];R=c[N>>2]|0;l=S;return R|0}function dC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;f=o+4|0;g=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(az(c[i>>2]|0)|0)){Wy(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);l=o;return}if(c[(c[i>>2]|0)+4>>2]&2048|0){c[m>>2]=c[(c[h>>2]|0)+8>>2];c[n>>2]=iz(c[h>>2]|0,c[i>>2]|0,0,0)|0;Ru(c[m>>2]|0,84,c[n>>2]|0,c[j>>2]|0,(c[k>>2]|0)-1|0)|0;l=o;return}c[g>>2]=c[(c[i>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[k>>2]|0))break;Wy(c[h>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,(c[j>>2]|0)+(c[f>>2]|0)|0);c[f>>2]=(c[f>>2]|0)+1}l=o;return}function eC(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;i=k+4|0;j=k;c[h>>2]=f;c[i>>2]=g;c[j>>2]=0;while(1){if(!(c[i>>2]|0)){f=14;break}if((e[(c[i>>2]|0)+10>>1]|0)&4|0){f=14;break}if(c[c[h>>2]>>2]|0?(c[(c[c[i>>2]>>2]|0)+4>>2]&1|0)==0:0){f=14;break}f=(c[h>>2]|0)+72|0;g=(c[i>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){f=14;break}if(c[j>>2]|0?(e[(c[i>>2]|0)+10>>1]|0)&1024|0:0){f=512;g=c[i>>2]|0}else{f=4;g=c[i>>2]|0}g=g+10|0;b[g>>1]=e[g>>1]|0|f;if((c[(c[i>>2]|0)+16>>2]|0)<0){f=14;break}c[i>>2]=(c[(c[(c[i>>2]|0)+4>>2]|0)+20>>2]|0)+((c[(c[i>>2]|0)+16>>2]|0)*48|0);g=(c[i>>2]|0)+14|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[i>>2]|0)+14>>0]|0|0){f=14;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==14){l=k;return}}function fC(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+80|0;w=A+60|0;x=A+56|0;y=A+52|0;C=A+48|0;z=A+44|0;m=A+66|0;j=A+64|0;n=A+40|0;B=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;t=A+12|0;k=A+8|0;u=A+4|0;v=A;c[w>>2]=d;c[x>>2]=f;c[y>>2]=g;c[C>>2]=h;c[z>>2]=i;c[n>>2]=c[(c[w>>2]|0)+8>>2];c[p>>2]=c[(c[x>>2]|0)+64>>2];b[m>>1]=b[(c[p>>2]|0)+24>>1]|0;b[j>>1]=b[(c[p>>2]|0)+42>>1]|0;c[B>>2]=c[(c[p>>2]|0)+24+8>>2];c[r>>2]=(c[(c[w>>2]|0)+44>>2]|0)+1;c[s>>2]=(e[(c[p>>2]|0)+24>>1]|0)+(c[C>>2]|0);i=(c[w>>2]|0)+44|0;c[i>>2]=(c[i>>2]|0)+(c[s>>2]|0);i=c[c[w>>2]>>2]|0;c[t>>2]=Xo(i,CA(c[c[w>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[j>>1]|0){c[k>>2]=c[(c[x>>2]|0)+8>>2];ey(c[n>>2]|0,c[y>>2]|0?53:57,c[k>>2]|0)|0;c[q>>2]=Nu(c[n>>2]|0,13)|0;C=zy(c[n>>2]|0,c[y>>2]|0?23:26,c[k>>2]|0,0,c[r>>2]|0,e[j>>1]|0)|0;c[(c[x>>2]|0)+20>>2]=C;ny(c[n>>2]|0,c[q>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(e[j>>1]|0))break a;Ru(c[n>>2]|0,96,c[k>>2]|0,c[q>>2]|0,(c[r>>2]|0)+(c[q>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+1}}while(0);c[q>>2]=e[j>>1];while(1){if((c[q>>2]|0)>=(e[m>>1]|0))break;c[o>>2]=c[(c[(c[p>>2]|0)+48>>2]|0)+(c[q>>2]<<2)>>2];c[u>>2]=cC(c[w>>2]|0,c[o>>2]|0,c[x>>2]|0,c[q>>2]|0,c[y>>2]|0,(c[r>>2]|0)+(c[q>>2]|0)|0)|0;do if((c[u>>2]|0)!=((c[r>>2]|0)+(c[q>>2]|0)|0))if((c[s>>2]|0)==1){Qv(c[w>>2]|0,c[r>>2]|0);c[r>>2]=c[u>>2];break}else{Qu(c[n>>2]|0,85,c[u>>2]|0,(c[r>>2]|0)+(c[q>>2]|0)|0)|0;break}while(0);d=c[o>>2]|0;if(e[(c[o>>2]|0)+12>>1]&1|0){if(c[t>>2]|0?(c[(c[d>>2]|0)+4>>2]&2048|0)!=0:0)a[(c[t>>2]|0)+(c[q>>2]|0)>>0]=65}else if(!(e[d+12>>1]&256)){c[v>>2]=c[(c[c[o>>2]>>2]|0)+16>>2];if((e[(c[o>>2]|0)+10>>1]&2048|0)==0?tz(c[v>>2]|0)|0:0)Qu(c[n>>2]|0,34,(c[r>>2]|0)+(c[q>>2]|0)|0,c[(c[x>>2]|0)+12>>2]|0)|0;if(c[t>>2]|0){if(((wz(c[v>>2]|0,a[(c[t>>2]|0)+(c[q>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[t>>2]|0)+(c[q>>2]|0)>>0]=65;if(rC(c[v>>2]|0,a[(c[t>>2]|0)+(c[q>>2]|0)>>0]|0)|0)a[(c[t>>2]|0)+(c[q>>2]|0)>>0]=65}}c[q>>2]=(c[q>>2]|0)+1}c[c[z>>2]>>2]=c[t>>2];l=A;return c[r>>2]|0}function gC(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j+12|0;h=j+8|0;k=j+4|0;i=j;c[g>>2]=b;c[h>>2]=d;c[k>>2]=f;if(!((e[(c[k>>2]|0)+10>>1]|0)&256)){l=j;return}c[i>>2]=uy(c[g>>2]|0,-1)|0;c[(c[i>>2]|0)+12>>2]=(c[(c[h>>2]|0)+36>>2]|0)>>>1;a[(c[i>>2]|0)+3>>0]=c[(c[h>>2]|0)+36>>2]&1;l=j;return}function hC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break;c[j>>2]=uz(c[f>>2]|0,c[i>>2]|0)|0;if(!(((wz(c[j>>2]|0,a[(c[h>>2]|0)+(c[i>>2]|0)>>0]|0)|0)<<24>>24|0)!=65?!(rC(c[j>>2]|0,a[(c[h>>2]|0)+(c[i>>2]|0)>>0]|0)|0):0))a[(c[h>>2]|0)+(c[i>>2]|0)>>0]=65;c[i>>2]=(c[i>>2]|0)+1}l=k;return}function iC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[j>>2]|0)){l=m;return}while(1){if((c[i>>2]|0)<=0)break;if((a[c[j>>2]>>0]|0)!=65)break;c[i>>2]=(c[i>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}while(1){if((c[i>>2]|0)>1)d=(a[(c[j>>2]|0)+((c[i>>2]|0)-1)>>0]|0)==65;else d=0;b=c[i>>2]|0;if(!d)break;c[i>>2]=b+-1}if((b|0)<=0){l=m;return}Uu(c[k>>2]|0,98,c[h>>2]|0,c[i>>2]|0,0,c[j>>2]|0,c[i>>2]|0)|0;$y(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0);l=m;return}function jC(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+48|0;p=o+32|0;k=o+28|0;q=o+24|0;r=o+20|0;m=o+16|0;n=o+12|0;h=o+8|0;i=o+4|0;j=o;c[p>>2]=a;c[k>>2]=d;c[q>>2]=f;c[r>>2]=g;c[m>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[m>>2]|0)+8>>2];Ru(c[n>>2]|0,128,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+40>>1]&32)){l=o;return}a=c[m>>2]|0;if(c[(c[m>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;if(c[a+92>>2]|0){l=o;return}c[i>>2]=c[(c[k>>2]|0)+12>>2];c[j>>2]=_l(c[c[m>>2]>>2]|0,(b[(c[i>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){l=o;return}c[c[j>>2]>>2]=b[(c[i>>2]|0)+34>>1];c[h>>2]=0;while(1){if((c[h>>2]|0)>=((e[(c[k>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)+1<<2)>>2]=(c[h>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}Vu(c[n>>2]|0,-1,c[j>>2]|0,-15);l=o;return}function kC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;h=j+20|0;n=j+16|0;m=j+12|0;k=j+8|0;i=j+4|0;g=j;c[h>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[i>>2]=f;c[g>>2]=Yy(c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[i>>2]|0,0)|0;if((c[g>>2]|0)==(c[i>>2]|0)){l=j;return}Qu(c[(c[h>>2]|0)+8>>2]|0,85,c[g>>2]|0,c[i>>2]|0)|0;l=j;return}function lC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(uy(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;l=e;return}function mC(a,b,d,f,g,h,i){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=l;l=l+144|0;p=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;j=q;k=q+116|0;r=q+112|0;n=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;d=j;c[d>>2]=f;c[d+4>>2]=g;c[k>>2]=h;c[r>>2]=i;c[n>>2]=0;c[o>>2]=nC(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[k>>2]|0,c[r>>2]|0)|0;c[k>>2]=c[k>>2]&130;while(1){if(!(c[o>>2]|0)){a=10;break}t=(c[o>>2]|0)+32|0;u=j;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?(e[(c[o>>2]|0)+12>>1]|0)&c[k>>2]|0:0){a=6;break}if(!(c[n>>2]|0))c[n>>2]=c[o>>2]}c[o>>2]=oC(m)|0}if((a|0)==6){c[p>>2]=c[o>>2];u=c[p>>2]|0;l=q;return u|0}else if((a|0)==10){c[p>>2]=c[n>>2];u=c[p>>2]|0;l=q;return u|0}return 0}function nC(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+32|0;n=q+24|0;r=q+20|0;o=q+16|0;p=q+12|0;m=q+8|0;j=q+4|0;k=q;c[n>>2]=d;c[r>>2]=e;c[o>>2]=f;c[p>>2]=g;c[m>>2]=h;c[j>>2]=i;c[k>>2]=0;c[c[n>>2]>>2]=c[r>>2];c[(c[n>>2]|0)+4>>2]=c[r>>2];c[(c[n>>2]|0)+12>>2]=0;if(c[j>>2]|0){c[k>>2]=c[p>>2];c[p>>2]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];if((c[p>>2]|0)==-2)c[(c[n>>2]|0)+12>>2]=c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2];if((c[p>>2]|0)==(b[(c[(c[j>>2]|0)+12>>2]|0)+32>>1]|0))c[p>>2]=-1}if((c[j>>2]|0)!=0&(c[p>>2]|0)>=0){a[(c[n>>2]|0)+16>>0]=a[(c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]|0)+(c[p>>2]<<4)+13>>0]|0;d=c[(c[(c[j>>2]|0)+32>>2]|0)+(c[k>>2]<<2)>>2]|0;e=c[n>>2]|0}else{a[(c[n>>2]|0)+16>>0]=0;d=0;e=c[n>>2]|0}c[e+8>>2]=d;c[(c[n>>2]|0)+20>>2]=c[m>>2];c[(c[n>>2]|0)+24>>2]=0;c[(c[n>>2]|0)+28>>2]=c[o>>2];b[(c[n>>2]|0)+72>>1]=c[p>>2];a[(c[n>>2]|0)+17>>0]=1;a[(c[n>>2]|0)+18>>0]=1;r=oC(c[n>>2]|0)|0;l=q;return r|0}function oC(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;o=s+36|0;p=s+32|0;i=s+28|0;j=s+40|0;k=s+24|0;m=s+20|0;q=s+16|0;r=s+12|0;n=s+8|0;g=s+4|0;h=s;c[p>>2]=f;c[r>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){f=40;break}c[i>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[j>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[j>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){f=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[q>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[r>>2]|0)*48|0);while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[q>>2]|0)+20>>2]|0)==(c[i>>2]|0)?(c[(c[q>>2]|0)+28>>2]|0)==(b[j>>1]|0):0){if((b[j>>1]|0)==-2?Yw(c[(c[c[q>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[i>>2]|0)|0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?c[(c[c[q>>2]>>2]|0)+4>>2]&1|0:0)break;if((e[(c[q>>2]|0)+12>>1]&2048|0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=yw(c[(c[c[q>>2]>>2]|0)+16>>2]|0)|0,c[k>>2]=f,(d[f>>0]|0)==152):0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[n>>2]<<2)>>2]|0)==(c[(c[k>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[n>>2]<<1)>>1]|0)==(b[(c[k>>2]|0)+32>>1]|0):0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[n>>2]<<2)>>2]=c[(c[k>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[n>>2]<<1)>>1]=b[(c[k>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[q>>2]|0)+12>>1]&c[(c[p>>2]|0)+20>>2]|0){if(c[(c[p>>2]|0)+8>>2]|0?(e[(c[q>>2]|0)+12>>1]&256|0)==0:0){c[h>>2]=c[c[c[m>>2]>>2]>>2];c[k>>2]=c[c[q>>2]>>2];if(!(pC(c[k>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[g>>2]=xz(c[h>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=c[(c[c[h>>2]>>2]|0)+8>>2];if(bh(c[c[g>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[q>>2]|0)+12>>1]&130)){f=36;break a}f=c[(c[c[q>>2]>>2]|0)+16>>2]|0;c[k>>2]=f;if((d[f>>0]|0)!=152){f=36;break a}if((c[(c[k>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){f=36;break a}if((b[(c[k>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){f=36;break a}}}while(0);c[r>>2]=(c[r>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[r>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[r>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((f|0)==5){c[o>>2]=0;r=c[o>>2]|0;l=s;return r|0}else if((f|0)==36){c[(c[p>>2]|0)+24>>2]=(c[r>>2]|0)+1;c[o>>2]=c[q>>2];r=c[o>>2]|0;l=s;return r|0}else if((f|0)==40){c[o>>2]=0;r=c[o>>2]|0;l=s;return r|0}return 0}function pC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g+4|0;i=g;f=g+9|0;h=g+8|0;c[i>>2]=b;a[f>>0]=d;a[h>>0]=qC(c[i>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}l=g;return c[e>>2]|0}function qC(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=qw(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=wz(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;l=f;return e|0}if(c[b+4>>2]&2048|0){a[e>>0]=wz(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;l=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;l=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;l=f;return e|0}function rC(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;h=k+9|0;i=k+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[j>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[i>>0]=a[e>>0]|0;if((d[i>>0]|0)==157)a[i>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[i>>0]|0){case 134:{if((a[h>>0]|0)==68)e=1;else e=(a[h>>0]|0)==67;c[j>>2]=e&1;break a}case 132:{if((a[h>>0]|0)==69)e=1;else e=(a[h>>0]|0)==67;c[j>>2]=e&1;break a}case 97:{c[j>>2]=(a[h>>0]|0)==66&1;break a}case 133:{c[j>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)e=1;else e=(a[h>>0]|0)==67;else e=0;c[j>>2]=e&1;break a}default:{c[j>>2]=0;break a}}}while(0);l=k;return c[j>>2]|0}function sC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;o=p;f=p+24|0;g=p+20|0;h=p+16|0;i=p+30|0;j=p+28|0;k=p+12|0;m=p+8|0;n=p+4|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=c[(c[g>>2]|0)+24+8>>2];b[i>>1]=b[(c[g>>2]|0)+24>>1]|0;b[j>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[i>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){l=p;return}Pd(c[f>>2]|0,34300,2);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[i>>1]|0|0))break;c[n>>2]=tC(c[h>>2]|0,c[k>>2]|0)|0;if(c[k>>2]|0)Pd(c[f>>2]|0,34303,5);a=c[f>>2]|0;d=(c[k>>2]|0)>=(e[j>>1]|0|0)?34309:34314;c[o>>2]=c[n>>2];oj(a,d,o);c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=c[k>>2];if(c[(c[g>>2]|0)+36>>2]&32|0){uC(c[f>>2]|0,c[h>>2]|0,e[(c[g>>2]|0)+24+2>>1]|0,c[m>>2]|0,c[k>>2]|0,34231);c[k>>2]=1}if(c[(c[g>>2]|0)+36>>2]&16|0)uC(c[f>>2]|0,c[h>>2]|0,e[(c[g>>2]|0)+24+4>>1]|0,c[m>>2]|0,c[k>>2]|0,34233);Pd(c[f>>2]|0,34322,1);l=p;return}function tC(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=34326;g=c[e>>2]|0;l=h;return g|0}if((c[g>>2]|0)==-1){c[e>>2]=26001;g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2];g=c[e>>2]|0;l=h;return g|0}return 0}function uC(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;p=o+8|0;h=o+4|0;i=o;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[p>>2]=f;c[h>>2]=g;if(c[p>>2]|0)Pd(c[j>>2]|0,34303,5);if((c[m>>2]|0)>1)Pd(c[j>>2]|0,34324,1);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[m>>2]|0))break;if(c[i>>2]|0)Pd(c[j>>2]|0,22226,1);p=c[j>>2]|0;Wd(p,tC(c[k>>2]|0,(c[n>>2]|0)+(c[i>>2]|0)|0)|0);c[i>>2]=(c[i>>2]|0)+1}if((c[m>>2]|0)>1)Pd(c[j>>2]|0,34322,1);Pd(c[j>>2]|0,c[h>>2]|0,1);if((c[m>>2]|0)>1)Pd(c[j>>2]|0,34324,1);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[m>>2]|0))break;if(c[i>>2]|0)Pd(c[j>>2]|0,22226,1);Pd(c[j>>2]|0,27259,1);c[i>>2]=(c[i>>2]|0)+1}if((c[m>>2]|0)<=1){l=o;return}Pd(c[j>>2]|0,34322,1);l=o;return}function vC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Cz(c[f>>2]|0,3,c[e>>2]|0)|0;l=d;return b|0}function wC(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n;m=n+20|0;c[i>>2]=b;c[j>>2]=d;d=k;c[d>>2]=f;c[d+4>>2]=g;if((c[(c[i>>2]|0)+20>>2]|0)!=(c[(c[j>>2]|0)+44>>2]|0)){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}if(!((e[(c[i>>2]|0)+12>>1]|0)&130)){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}g=(c[i>>2]|0)+32|0;if(c[g>>2]&c[k>>2]|0?1:(c[g+4>>2]&c[k+4>>2]|0)!=0){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}if((c[(c[i>>2]|0)+28>>2]|0)<0){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}a[m>>0]=a[(c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]|0)+(c[(c[i>>2]|0)+28>>2]<<4)+13>>0]|0;if(pC(c[c[i>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;m=c[h>>2]|0;l=n;return m|0}else{c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}return 0}function xC(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=a;c[i>>2]=d;c[j>>2]=f;if((e[(c[i>>2]|0)+44>>1]|0|0)>=(c[j>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}c[j>>2]=(c[j>>2]|0)+7&-8;c[k>>2]=Ed(c[h>>2]|0,c[j>>2]<<2,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;k=c[g>>2]|0;l=m;return k|0}h0(c[k>>2]|0,c[(c[i>>2]|0)+48>>2]|0,(e[(c[i>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[i>>2]|0)+48>>2]|0)!=((c[i>>2]|0)+56|0))Xd(c[h>>2]|0,c[(c[i>>2]|0)+48>>2]|0);c[(c[i>>2]|0)+48>>2]=c[k>>2];b[(c[i>>2]|0)+44>>1]=c[j>>2];c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}function yC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;n=m+20|0;h=m+24|0;o=m+16|0;i=m+12|0;j=m+8|0;k=m+4|0;g=m;c[n>>2]=a;b[h>>1]=d;c[o>>2]=e;c[i>>2]=f;c[k>>2]=56+((b[h>>1]<<2)+7&-8)+(((b[h>>1]|0)+1<<1)+(b[h>>1]<<1)+(b[h>>1]|0)+7&-8);f=(c[k>>2]|0)+(c[o>>2]|0)|0;c[j>>2]=_l(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){o=c[j>>2]|0;l=m;return o|0}c[g>>2]=(c[j>>2]|0)+56;c[(c[j>>2]|0)+32>>2]=c[g>>2];c[g>>2]=(c[g>>2]|0)+((b[h>>1]<<2)+7&-8);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[g>>2]=(c[g>>2]|0)+((b[h>>1]|0)+1<<1);c[(c[j>>2]|0)+4>>2]=c[g>>2];c[g>>2]=(c[g>>2]|0)+(b[h>>1]<<1);c[(c[j>>2]|0)+28>>2]=c[g>>2];b[(c[j>>2]|0)+52>>1]=b[h>>1]|0;b[(c[j>>2]|0)+50>>1]=(b[h>>1]|0)-1;c[c[i>>2]>>2]=(c[j>>2]|0)+(c[k>>2]|0);o=c[j>>2]|0;l=m;return o|0}function zC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;e=i+8|0;f=i+20|0;g=i+16|0;h=i;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){g=e;c[g>>2]=0;c[g+4>>2]=0;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=i;return h|0}if((d[c[g>>2]>>0]|0|0)==152){g=bC(c[f>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0;f=h;c[f>>2]=g;c[f+4>>2]=D;f=h;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=i;return h|0}if(c[(c[g>>2]|0)+16>>2]|0){a=zC(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;b=D}else{a=0;b=0}j=h;c[j>>2]=a;c[j+4>>2]=b;if(c[(c[g>>2]|0)+12>>2]|0){a=zC(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;k=h;b=c[k+4>>2]|D;j=h;c[j>>2]=c[k>>2]|a;c[j+4>>2]=b}if(!(c[(c[g>>2]|0)+4>>2]&2048|0)){if(c[(c[g>>2]|0)+20>>2]|0){g=ZB(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;j=c[f+4>>2]|D;k=h;c[k>>2]=c[f>>2]|g;c[k+4>>2]=j}}else{g=AC(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;j=c[f+4>>2]|D;k=h;c[k>>2]=c[f>>2]|g;c[k+4>>2]=j}k=c[h+4>>2]|0;j=e;c[j>>2]=c[h>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;l=i;return k|0}function AC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;d=i+20|0;e=i+16|0;f=i;g=i+12|0;h=i+8|0;c[d>>2]=a;c[e>>2]=b;b=f;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+28>>2];j=ZB(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;k=f;a=c[k+4>>2]|D;b=f;c[b>>2]=c[k>>2]|j;c[b+4>>2]=a;b=ZB(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;a=f;j=c[a+4>>2]|D;k=f;c[k>>2]=c[a>>2]|b;c[k+4>>2]=j;k=ZB(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;j=f;b=c[j+4>>2]|D;a=f;c[a>>2]=c[j>>2]|k;c[a+4>>2]=b;a=zC(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0;b=f;k=c[b+4>>2]|D;j=f;c[j>>2]=c[b>>2]|a;c[j+4>>2]=k;j=zC(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;k=f;a=c[k+4>>2]|D;b=f;c[b>>2]=c[k>>2]|j;c[b+4>>2]=a;a:do if(c[g>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[g>>2]>>2]|0))break a;j=AC(c[d>>2]|0,c[(c[g>>2]|0)+8+((c[h>>2]|0)*72|0)+20>>2]|0)|0;k=f;a=c[k+4>>2]|D;b=f;c[b>>2]=c[k>>2]|j;c[b+4>>2]=a;b=zC(c[d>>2]|0,c[(c[g>>2]|0)+8+((c[h>>2]|0)*72|0)+48>>2]|0)|0;a=f;j=c[a+4>>2]|D;k=f;c[k>>2]=c[a>>2]|b;c[k+4>>2]=j;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+48>>2]}k=f;D=c[k+4>>2]|0;l=i;return c[k>>2]|0}function BC(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;l=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;l=h;return g|0}else{b[e>>1]=c+(d[34388+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;l=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;l=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;l=h;return g|0}else{b[e>>1]=c+(d[34388+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;l=h;return g|0}}return 0}function CC(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=l;l=l+160|0;aa=ca+149|0;X=ca+124|0;Y=ca+120|0;n=ca+116|0;o=ca+140|0;p=ca+138|0;q=ca+112|0;r=ca+108|0;s=ca+148|0;t=ca+147|0;u=ca+146|0;v=ca+145|0;w=ca+144|0;x=ca+143|0;y=ca+136|0;z=ca+134|0;A=ca+132|0;B=ca+130|0;C=ca+104|0;Z=ca+100|0;E=ca+96|0;F=ca+92|0;G=ca+88|0;H=ca+84|0;I=ca+80|0;J=ca+76|0;K=ca+72|0;L=ca+68|0;M=ca+64|0;_=ca+40|0;N=ca+32|0;O=ca+24|0;P=ca+16|0;Q=ca+60|0;R=ca+56|0;S=ca+142|0;T=ca+128|0;U=ca+52|0;V=ca+48|0;W=ca+8|0;$=ca;c[X>>2]=f;c[Y>>2]=g;c[n>>2]=h;b[o>>1]=i;b[p>>1]=j;c[q>>2]=k;c[r>>2]=m;c[H>>2]=0;c[M>>2]=c[c[c[X>>2]>>2]>>2];m=_;c[m>>2]=0;c[m+4>>2]=0;if(e[p>>1]|0?e[(c[M>>2]|0)+64>>1]&128|0:0){a[aa>>0]=0;ba=a[aa>>0]|0;l=ca;return ba|0}b[B>>1]=c[c[Y>>2]>>2];if((e[B>>1]|0)>63){a[aa>>0]=0;ba=a[aa>>0]|0;l=ca;return ba|0}a[v>>0]=1;k=j0(1,0,e[B>>1]|0)|0;k=Z$(k|0,D|0,1,0)|0;m=N;c[m>>2]=k;c[m+4>>2]=D;m=O;c[m>>2]=0;c[m+4>>2]=0;m=P;c[m>>2]=0;c[m+4>>2]=0;b[y>>1]=386;if(e[o>>1]&2048|0)b[y>>1]=e[y>>1]|1;c[C>>2]=0;a:while(1){if(!(d[v>>0]|0))break;k=_;i=c[k+4>>2]|0;m=N;j=c[m+4>>2]|0;if(!(i>>>0>>0|((i|0)==(j|0)?(c[k>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)))break;if((c[C>>2]|0)>(e[p>>1]|0))break;if((c[C>>2]|0)>0){j=(c[H>>2]|0)+8|0;i=P;k=c[i+4>>2]|c[j+4>>2];m=P;c[m>>2]=c[i>>2]|c[j>>2];c[m+4>>2]=k}if((c[C>>2]|0)<(e[p>>1]|0)){c[H>>2]=c[(c[(c[n>>2]|0)+24>>2]|0)+(c[C>>2]<<2)>>2];if(!(e[o>>1]&2048))ba=17}else{c[H>>2]=c[q>>2];ba=17}b:do if((ba|0)==17){ba=0;if(c[(c[H>>2]|0)+36>>2]&1024|0){ba=18;break a}c[F>>2]=c[(c[(c[X>>2]|0)+4>>2]|0)+8+((d[(c[H>>2]|0)+16>>0]|0)*72|0)+44>>2];c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(e[B>>1]|0))break;k=j0(1,0,c[Z>>2]|0)|0;m=_;c:do if(((!(k&c[m>>2]|0?1:(D&c[m+4>>2]|0)!=0)?(c[J>>2]=yw(c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0)|0,(d[c[J>>2]>>0]|0)==152):0)?(c[(c[J>>2]|0)+28>>2]|0)==(c[F>>2]|0):0)?(m=P,c[I>>2]=mC((c[X>>2]|0)+80|0,c[F>>2]|0,b[(c[J>>2]|0)+32>>1]|0,~c[m>>2],~c[m+4>>2],e[y>>1]|0,0)|0,c[I>>2]|0):0){if((e[(c[I>>2]|0)+12>>1]|0)==1){c[E>>2]=0;while(1){if((c[E>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break;if((c[I>>2]|0)==(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[E>>2]<<2)>>2]|0))break;c[E>>2]=(c[E>>2]|0)+1}if((c[E>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break}do if(e[(c[I>>2]|0)+12>>1]&130|0){if((b[(c[J>>2]|0)+32>>1]|0)<0)break;c[K>>2]=rw(c[c[X>>2]>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[M>>2]|0)+8>>2];c[Q>>2]=c[c[K>>2]>>2];c[K>>2]=rw(c[c[X>>2]>>2]|0,c[c[I>>2]>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[M>>2]|0)+8>>2];c[R>>2]=c[c[K>>2]>>2];if(bh(c[Q>>2]|0,c[R>>2]|0)|0)break c}while(0);j=j0(1,0,c[Z>>2]|0)|0;i=_;k=c[i+4>>2]|D;m=_;c[m>>2]=c[i>>2]|j;c[m+4>>2]=k}while(0);c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[(c[H>>2]|0)+36>>2]&4096)){if(c[(c[H>>2]|0)+36>>2]&256|0){c[L>>2]=0;b[z>>1]=0;b[A>>1]=1}else{m=c[(c[H>>2]|0)+24+8>>2]|0;c[L>>2]=m;if(!m){ba=46;break a}if((d[(c[L>>2]|0)+55>>0]|0)>>>2&1|0){ba=46;break a}b[z>>1]=b[(c[L>>2]|0)+50>>1]|0;b[A>>1]=b[(c[L>>2]|0)+52>>1]|0;a[v>>0]=(d[(c[L>>2]|0)+54>>0]|0)!=0}a[s>>0]=0;a[t>>0]=0;a[w>>0]=0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(e[A>>1]|0))break;a[S>>0]=1;d:do if((c[E>>2]|0)<(e[(c[H>>2]|0)+24>>1]|0)?(c[E>>2]|0)>=(e[(c[H>>2]|0)+42>>1]|0):0){b[T>>1]=b[(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[E>>2]<<2)>>2]|0)+12>>1]|0;f=e[T>>1]|0;if(e[T>>1]&e[y>>1]|0){if(!(f&256))break;a[v>>0]=0;break}if(!(f&1)){ba=61;break}c[U>>2]=c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[E>>2]<<2)>>2]>>2];c[Z>>2]=(c[E>>2]|0)+1;while(1){if((c[Z>>2]|0)>=(e[(c[H>>2]|0)+24>>1]|0)){ba=61;break d}if((c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[Z>>2]<<2)>>2]>>2]|0)==(c[U>>2]|0))break;c[Z>>2]=(c[Z>>2]|0)+1}a[S>>0]=0;ba=61}else ba=61;while(0);if((ba|0)==61){ba=0;do if(c[L>>2]|0){c[G>>2]=b[(c[(c[L>>2]|0)+4>>2]|0)+(c[E>>2]<<1)>>1];a[u>>0]=a[(c[(c[L>>2]|0)+28>>2]|0)+(c[E>>2]|0)>>0]|0;if((c[G>>2]|0)!=(b[(c[(c[L>>2]|0)+12>>2]|0)+32>>1]|0))break;c[G>>2]=-1}else{c[G>>2]=-1;a[u>>0]=0}while(0);do if((d[v>>0]|0)!=0&(c[G>>2]|0)>=0){if((c[E>>2]|0)<(e[(c[H>>2]|0)+24>>1]|0))break;if(d[(c[(c[(c[L>>2]|0)+12>>2]|0)+4>>2]|0)+(c[G>>2]<<4)+12>>0]|0)break;a[v>>0]=0}while(0);a[x>>0]=0;c[Z>>2]=0;e:while(1){if(!(d[S>>0]|0))break;if((c[Z>>2]|0)>=(e[B>>1]|0))break;k=j0(1,0,c[Z>>2]|0)|0;m=_;do if(!(k&c[m>>2]|0?1:(D&c[m+4>>2]|0)!=0)){c[J>>2]=yw(c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0)|0;if(!(e[o>>1]&192))a[S>>0]=0;f=c[J>>2]|0;if((c[G>>2]|0)>=-1){if((d[f>>0]|0)!=152)break;if((c[(c[J>>2]|0)+28>>2]|0)!=(c[F>>2]|0))break;if((b[(c[J>>2]|0)+32>>1]|0)!=(c[G>>2]|0))break}else if(Yw(f,c[(c[(c[(c[L>>2]|0)+40>>2]|0)+4>>2]|0)+((c[E>>2]|0)*20|0)>>2]|0,c[F>>2]|0)|0)break;if((c[G>>2]|0)<0){ba=84;break e}c[K>>2]=rw(c[c[X>>2]>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[M>>2]|0)+8>>2];if(!(bh(c[c[K>>2]>>2]|0,c[(c[(c[L>>2]|0)+32>>2]|0)+(c[E>>2]<<2)>>2]|0)|0)){ba=84;break e}}while(0);c[Z>>2]=(c[Z>>2]|0)+1}if((ba|0)==84){ba=0;a[x>>0]=1}do if(d[x>>0]|0){if(e[o>>1]&64|0)break;if(a[s>>0]|0){if((d[t>>0]^d[u>>0]|0)==(d[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)+12>>0]|0))break;a[x>>0]=0;break}a[t>>0]=d[u>>0]^d[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)+12>>0];if(a[t>>0]|0){j=j0(1,0,c[C>>2]|0)|0;m=c[r>>2]|0;i=m;k=c[i+4>>2]|D;c[m>>2]=c[i>>2]|j;c[m+4>>2]=k}a[s>>0]=1}while(0);if(!(a[x>>0]|0)){ba=98;break}if((c[G>>2]|0)==-1)a[w>>0]=1;j=j0(1,0,c[Z>>2]|0)|0;i=_;k=c[i+4>>2]|D;m=_;c[m>>2]=c[i>>2]|j;c[m+4>>2]=k}c[E>>2]=(c[E>>2]|0)+1}do if((ba|0)==98){ba=0;if(c[E>>2]|0?(c[E>>2]|0)>=(e[z>>1]|0):0)break;a[v>>0]=0}while(0);if(a[w>>0]|0)a[v>>0]=1}if(a[v>>0]|0){j=(c[H>>2]|0)+8|0;i=O;k=c[i+4>>2]|c[j+4>>2];m=O;c[m>>2]=c[i>>2]|c[j>>2];c[m+4>>2]=k;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(e[B>>1]|0))break b;k=j0(1,0,c[Z>>2]|0)|0;m=_;do if(!(k&c[m>>2]|0?1:(D&c[m+4>>2]|0)!=0)){c[V>>2]=c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2];k=zC((c[X>>2]|0)+488|0,c[V>>2]|0)|0;m=W;c[m>>2]=k;c[m+4>>2]=D;m=W;if((c[m>>2]|0)==0&(c[m+4>>2]|0)==0?(ez(c[V>>2]|0)|0)==0:0)break;k=W;m=O;if((c[k>>2]&~c[m>>2]|0)==0?(c[k+4>>2]&~c[m+4>>2]|0)==0:0){j=j0(1,0,c[Z>>2]|0)|0;i=_;k=c[i+4>>2]|D;m=_;c[m>>2]=c[i>>2]|j;c[m+4>>2]=k}}while(0);c[Z>>2]=(c[Z>>2]|0)+1}}}while(0);c[C>>2]=(c[C>>2]|0)+1}if((ba|0)==18){if(a[(c[H>>2]|0)+24+5>>0]|0){X=N;Y=c[X+4>>2]|0;ba=_;c[ba>>2]=c[X>>2];c[ba+4>>2]=Y}}else if((ba|0)==46){a[aa>>0]=0;ba=a[aa>>0]|0;l=ca;return ba|0}Y=_;ba=N;if((c[Y>>2]|0)==(c[ba>>2]|0)?(c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){a[aa>>0]=b[B>>1];ba=a[aa>>0]|0;l=ca;return ba|0}if(a[v>>0]|0){a[aa>>0]=-1;ba=a[aa>>0]|0;l=ca;return ba|0}c[Z>>2]=(e[B>>1]|0)-1;while(1){if((c[Z>>2]|0)<=0){ba=122;break}Y=j0(1,0,c[Z>>2]|0)|0;Y=Z$(Y|0,D|0,1,0)|0;X=$;c[X>>2]=Y;c[X+4>>2]=D;X=_;Y=$;ba=$;f=c[Z>>2]|0;if((c[X>>2]&c[Y>>2]|0)==(c[ba>>2]|0)?(c[X+4>>2]&c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){ba=120;break}c[Z>>2]=f+-1}if((ba|0)==120){a[aa>>0]=f;ba=a[aa>>0]|0;l=ca;return ba|0}else if((ba|0)==122){a[aa>>0]=0;ba=a[aa>>0]|0;l=ca;return ba|0}return 0}function DC(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;h=k+8|0;i=k+16|0;n=k+4|0;o=k;m=k+14|0;j=k+12|0;c[h>>2]=a;b[i>>1]=d;c[n>>2]=f;c[o>>2]=g;g=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[m>>1]=((xv(g,((g|0)<0)<<31>>31)|0)<<16>>16)-66;b[j>>1]=(b[i>>1]|0)+(b[m>>1]|0)+16;if(e[(c[h>>2]|0)+40>>1]&16384|0?(b[(c[h>>2]|0)+16>>1]|0)<(b[i>>1]|0):0)b[i>>1]=b[(c[h>>2]|0)+16>>1]|0;o=(EC(b[i>>1]|0)|0)<<16>>16;b[j>>1]=(b[j>>1]|0)+o;l=k;return b[j>>1]|0}function EC(a){a=a|0;var c=0,d=0;d=l;l=l+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){c=0;c=c&65535;l=d;return c|0}c=b[c>>1]|0;c=((xv(c,((c|0)<0)<<31>>31)|0)<<16>>16)-33|0;c=c&65535;l=d;return c|0}function FC(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=l;l=l+128|0;z=D+108|0;A=D+104|0;B=D+48|0;F=D+40|0;C=D+100|0;G=D+96|0;j=D+92|0;k=D+88|0;E=D+84|0;m=D+80|0;n=D+76|0;o=D+72|0;p=D+68|0;q=D+32|0;r=D+112|0;s=D+64|0;t=D+60|0;u=D+24|0;v=D+16|0;w=D+56|0;x=D+8|0;y=D;c[A>>2]=e;e=B;c[e>>2]=f;c[e+4>>2]=g;g=F;c[g>>2]=h;c[g+4>>2]=i;c[C>>2]=0;c[G>>2]=c[c[A>>2]>>2];c[j>>2]=c[c[G>>2]>>2];c[k>>2]=c[(c[A>>2]|0)+4>>2];c[p>>2]=c[(c[A>>2]|0)+12>>2];c[E>>2]=(c[(c[G>>2]|0)+4>>2]|0)+8+((d[(c[p>>2]|0)+16>>0]|0)*72|0);i=F;c[m>>2]=$C(c[j>>2]|0,c[k>>2]|0,c[i>>2]|0,c[i+4>>2]|0,c[E>>2]|0,c[(c[A>>2]|0)+8>>2]|0,r)|0;if(!(c[m>>2]|0)){c[z>>2]=7;G=c[z>>2]|0;l=D;return G|0}b[(c[p>>2]|0)+18>>1]=0;c[(c[p>>2]|0)+36>>2]=1024;b[(c[p>>2]|0)+40>>1]=0;a[(c[p>>2]|0)+24+4>>0]=0;c[n>>2]=c[c[m>>2]>>2];if(xC(c[c[j>>2]>>2]|0,c[p>>2]|0,c[n>>2]|0)|0){Xd(c[c[j>>2]>>2]|0,c[m>>2]|0);c[z>>2]=7;G=c[z>>2]|0;l=D;return G|0}G=B;c[C>>2]=aD(c[A>>2]|0,c[G>>2]|0,c[G+4>>2]|0,-1,-1,0,c[m>>2]|0,b[r>>1]|0,o)|0;if((c[C>>2]|0)==0?(E=c[p>>2]|0,G=B,F=c[E>>2]&~c[G>>2],G=c[E+4>>2]&~c[G+4>>2],E=q,c[E>>2]=F,c[E+4>>2]=G,(F|0)!=0|(G|0)!=0):0){c[s>>2]=0;c[t>>2]=0;G=u;c[G>>2]=0;c[G+4>>2]=0;G=v;c[G>>2]=0;c[G+4>>2]=0;if(c[o>>2]|0?(i=B,c[C>>2]=aD(c[A>>2]|0,c[i>>2]|0,c[i+4>>2]|0,-1,-1,1,c[m>>2]|0,b[r>>1]|0,o)|0,i=c[p>>2]|0,E=B,F=c[i+4>>2]&~c[E+4>>2],G=v,c[G>>2]=c[i>>2]&~c[E>>2],c[G+4>>2]=F,G=v,(c[G>>2]|0)==0&(c[G+4>>2]|0)==0):0){c[s>>2]=1;c[t>>2]=1}while(1){if(c[C>>2]|0)break;G=x;c[G>>2]=-1;c[G+4>>2]=-1;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[n>>2]|0))break;E=(c[(c[k>>2]|0)+20>>2]|0)+((c[(c[(c[m>>2]|0)+4>>2]|0)+((c[w>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;G=B;i=c[E+4>>2]&~c[G+4>>2];F=y;c[F>>2]=c[E>>2]&~c[G>>2];c[F+4>>2]=i;F=y;i=c[F+4>>2]|0;G=u;E=c[G+4>>2]|0;if(i>>>0>E>>>0|((i|0)==(E|0)?(c[F>>2]|0)>>>0>(c[G>>2]|0)>>>0:0)?(F=y,i=c[F+4>>2]|0,G=x,E=c[G+4>>2]|0,i>>>0>>0|((i|0)==(E|0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0){E=y;F=c[E+4>>2]|0;G=x;c[G>>2]=c[E>>2];c[G+4>>2]=F}c[w>>2]=(c[w>>2]|0)+1}E=x;F=c[E+4>>2]|0;G=u;c[G>>2]=c[E>>2];c[G+4>>2]=F;G=x;if((c[G>>2]|0)==-1?(c[G+4>>2]|0)==-1:0)break;F=x;G=q;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;F=x;G=v;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;E=B;G=x;F=B;c[C>>2]=aD(c[A>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[G>>2]|c[F>>2],c[G+4>>2]|c[F+4>>2],0,c[m>>2]|0,b[r>>1]|0,o)|0;F=c[p>>2]|0;G=B;if(!((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0))continue;c[s>>2]=1;if(c[o>>2]|0)continue;c[t>>2]=1}if((c[C>>2]|0)==0&(c[s>>2]|0)==0?(F=B,G=B,c[C>>2]=aD(c[A>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,0,c[m>>2]|0,b[r>>1]|0,o)|0,(c[o>>2]|0)==0):0)c[t>>2]=1;if((c[C>>2]|0)==0&(c[t>>2]|0)==0){F=B;G=B;c[C>>2]=aD(c[A>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,1,c[m>>2]|0,b[r>>1]|0,o)|0}}if(c[(c[m>>2]|0)+28>>2]|0)_d(c[(c[m>>2]|0)+24>>2]|0);Xd(c[c[j>>2]>>2]|0,c[m>>2]|0);c[z>>2]=c[C>>2];G=c[z>>2]|0;l=D;return G|0}function GC(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=l;l=l+160|0;A=J+144|0;B=J+8|0;C=J+140|0;E=J+136|0;F=J+80|0;G=J+156|0;H=J+154|0;K=J+72|0;i=J+68|0;j=J+64|0;I=J+60|0;k=J+56|0;m=J+52|0;n=J+152|0;o=J+150|0;p=J+48|0;q=J+44|0;r=J+40|0;s=J+36|0;t=J+32|0;u=J;v=J+148|0;w=J+28|0;x=J+24|0;y=J+20|0;z=J+16|0;c[A>>2]=f;f=B;c[f>>2]=g;c[f+4>>2]=h;b[H>>1]=-1;c[I>>2]=0;c[k>>2]=1;c[j>>2]=c[(c[A>>2]|0)+12>>2];c[C>>2]=c[c[A>>2]>>2];c[K>>2]=c[(c[C>>2]|0)+4>>2];c[i>>2]=(c[K>>2]|0)+8+((d[(c[j>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[i>>2]|0)+16>>2];c[p>>2]=c[(c[A>>2]|0)+4>>2];do if(c[(c[i>>2]|0)+68>>2]|0)c[E>>2]=c[(c[i>>2]|0)+68>>2];else{if(d[(c[q>>2]|0)+42>>0]&32|0){c[E>>2]=c[(c[q>>2]|0)+8>>2];break}f=F;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));b[F+50>>1]=1;b[F+52>>1]=1;c[F+4>>2]=H;c[F+8>>2]=G;a[F+54>>0]=5;c[F+12>>2]=c[q>>2];b[F+48>>1]=b[(c[q>>2]|0)+40>>1]|0;b[G>>1]=b[(c[q>>2]|0)+38>>1]|0;b[G+2>>1]=0;c[r>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[i>>2]|0)+36+1>>0]&1))c[F+20>>2]=c[r>>2];c[E>>2]=F}while(0);b[n>>1]=b[(c[q>>2]|0)+38>>1]|0;b[o>>1]=EC(b[n>>1]|0)|0;a:do if((((((((c[(c[A>>2]|0)+16>>2]|0)==0?(e[(c[C>>2]|0)+40>>1]&32|0)==0:0)?c[(c[c[c[C>>2]>>2]>>2]|0)+24>>2]&1048576|0:0)?(c[(c[i>>2]|0)+68>>2]|0)==0:0)?(a[(c[i>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[q>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[i>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[i>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[t>>2]=(c[(c[p>>2]|0)+20>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*48|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];while(1){if(c[I>>2]|0)break a;if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break a;H=(c[s>>2]|0)+32|0;K=(c[j>>2]|0)+8|0;if(!(c[H>>2]&c[K>>2]|0?1:(c[H+4>>2]&c[K+4>>2]|0)!=0)?wC(c[s>>2]|0,c[i>>2]|0,0,0)|0:0){b[(c[j>>2]|0)+24>>1]=1;b[(c[j>>2]|0)+42>>1]=0;c[(c[j>>2]|0)+24+8>>2]=0;b[(c[j>>2]|0)+40>>1]=1;c[c[(c[j>>2]|0)+48>>2]>>2]=c[s>>2];b[(c[j>>2]|0)+18>>1]=(b[o>>1]|0)+(b[n>>1]|0)+4;if((c[(c[q>>2]|0)+12>>2]|0)==0?(d[(c[q>>2]|0)+42>>0]&2|0)==0:0){K=(c[j>>2]|0)+18|0;b[K>>1]=(b[K>>1]|0)+24}if((b[(c[j>>2]|0)+18>>1]|0)<0)b[(c[j>>2]|0)+18>>1]=0;b[(c[j>>2]|0)+22>>1]=43;F=BC(b[o>>1]|0,b[(c[j>>2]|0)+22>>1]|0)|0;b[(c[j>>2]|0)+20>>1]=F;c[(c[j>>2]|0)+36>>2]=16384;F=B;G=(c[s>>2]|0)+32|0;H=c[F+4>>2]|c[G+4>>2];K=c[j>>2]|0;c[K>>2]=c[F>>2]|c[G>>2];c[K+4>>2]=H;c[I>>2]=KC(c[A>>2]|0,c[j>>2]|0)|0}c[s>>2]=(c[s>>2]|0)+48}}while(0);b:while(1){if(!((c[I>>2]|0)==0?(c[E>>2]|0)!=0:0)){f=57;break}if(!(c[(c[E>>2]|0)+36>>2]|0?!(PC(c[(c[i>>2]|0)+44>>2]|0,c[p>>2]|0,c[(c[E>>2]|0)+36>>2]|0)|0):0)){b[n>>1]=b[c[(c[E>>2]|0)+8>>2]>>1]|0;b[(c[j>>2]|0)+24>>1]=0;b[(c[j>>2]|0)+24+2>>1]=0;b[(c[j>>2]|0)+24+4>>1]=0;b[(c[j>>2]|0)+42>>1]=0;b[(c[j>>2]|0)+40>>1]=0;a[(c[j>>2]|0)+17>>0]=0;b[(c[j>>2]|0)+18>>1]=0;G=B;H=c[G+4>>2]|0;K=c[j>>2]|0;c[K>>2]=c[G>>2];c[K+4>>2]=H;b[(c[j>>2]|0)+22>>1]=b[n>>1]|0;c[(c[j>>2]|0)+24+8>>2]=c[E>>2];c[m>>2]=QC(c[A>>2]|0,c[E>>2]|0,c[(c[i>>2]|0)+44>>2]|0)|0;do if((c[(c[E>>2]|0)+44>>2]|0)<=0){c[(c[j>>2]|0)+36>>2]=256;a[(c[j>>2]|0)+17>>0]=c[m>>2]|0?c[k>>2]|0:0;b[(c[j>>2]|0)+20>>1]=(b[n>>1]|0)+16;RC(c[p>>2]|0,c[j>>2]|0,b[n>>1]|0);c[I>>2]=KC(c[A>>2]|0,c[j>>2]|0)|0;b[(c[j>>2]|0)+22>>1]=b[n>>1]|0;if(c[I>>2]|0){f=57;break b}}else{if((d[(c[E>>2]|0)+55>>0]|0)>>>5&1|0){c[(c[j>>2]|0)+36>>2]=576;K=u;c[K>>2]=0;c[K+4>>2]=0}else{H=(c[i>>2]|0)+56|0;F=c[H>>2]|0;H=c[H+4>>2]|0;G=SC(c[E>>2]|0)|0;K=u;c[K>>2]=F&~G;c[K+4>>2]=H&~D;K=u;c[(c[j>>2]|0)+36>>2]=(c[K>>2]|0)==0&(c[K+4>>2]|0)==0?576:512}if(((c[m>>2]|0)==0?(d[(c[q>>2]|0)+42>>0]&32|0)==0:0)?(c[(c[E>>2]|0)+36>>2]|0)==0:0){K=u;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0))break;if((d[(c[E>>2]|0)+55>>0]|0)>>>2&1|0)break;if((b[(c[E>>2]|0)+48>>1]|0)>=(b[(c[q>>2]|0)+40>>1]|0))break;if(!(c[6]|0?(e[(c[C>>2]|0)+40>>1]&4|0)==0:0))break;if(e[(c[c[c[C>>2]>>2]>>2]|0)+64>>1]&64|0)break}a[(c[j>>2]|0)+17>>0]=c[m>>2]|0?c[k>>2]|0:0;b[(c[j>>2]|0)+20>>1]=(b[n>>1]|0)+1+(((b[(c[E>>2]|0)+48>>1]|0)*15|0)/(b[(c[q>>2]|0)+40>>1]|0)|0);K=u;if((c[K>>2]|0)!=0|(c[K+4>>2]|0)!=0){b[v>>1]=(b[n>>1]|0)+16;c[x>>2]=c[(c[i>>2]|0)+44>>2];c[y>>2]=(c[C>>2]|0)+80;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[y>>2]|0)+12>>2]|0))break;c[z>>2]=(c[(c[y>>2]|0)+20>>2]|0)+((c[w>>2]|0)*48|0);if(!(TC(c[c[z>>2]>>2]|0,c[x>>2]|0,c[E>>2]|0)|0))break;if((b[(c[z>>2]|0)+8>>1]|0)>0){b[v>>1]=(b[v>>1]|0)+-1<<16>>16;if(e[(c[z>>2]|0)+12>>1]&130|0)b[v>>1]=(b[v>>1]|0)-19}else b[v>>1]=(b[v>>1]|0)+(b[(c[z>>2]|0)+8>>1]|0);c[w>>2]=(c[w>>2]|0)+1}K=BC(b[(c[j>>2]|0)+20>>1]|0,b[v>>1]|0)|0;b[(c[j>>2]|0)+20>>1]=K}RC(c[p>>2]|0,c[j>>2]|0,b[n>>1]|0);c[I>>2]=KC(c[A>>2]|0,c[j>>2]|0)|0;b[(c[j>>2]|0)+22>>1]=b[n>>1]|0;if(c[I>>2]|0){f=57;break b}}while(0);c[I>>2]=UC(c[A>>2]|0,c[i>>2]|0,c[E>>2]|0,0)|0;if(c[(c[i>>2]|0)+68>>2]|0){f=57;break}}c[E>>2]=c[(c[E>>2]|0)+20>>2];c[k>>2]=(c[k>>2]|0)+1}if((f|0)==57){l=J;return c[I>>2]|0}return 0}function HC(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+672|0;D=I+668|0;E=I+584|0;F=I+576|0;k=I+664|0;G=I+660|0;m=I+656|0;n=I+652|0;o=I+648|0;p=I+644|0;q=I+640|0;r=I+168|0;s=I+620|0;t=I+112|0;u=I+56|0;v=I+616|0;w=I+612|0;x=I+608|0;y=I+604|0;z=I+600|0;A=I+596|0;B=I+592|0;C=I;c[D>>2]=f;f=E;c[f>>2]=g;c[f+4>>2]=h;f=F;c[f>>2]=i;c[f+4>>2]=j;c[k>>2]=c[c[D>>2]>>2];c[p>>2]=0;c[G>>2]=c[(c[D>>2]|0)+4>>2];c[o>>2]=(c[(c[G>>2]|0)+20>>2]|0)+((c[(c[G>>2]|0)+12>>2]|0)*48|0);c[m>>2]=c[(c[D>>2]|0)+12>>2];f=t;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[v>>2]=(c[(c[k>>2]|0)+4>>2]|0)+8+((d[(c[m>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[v>>2]|0)+44>>2];c[n>>2]=c[(c[G>>2]|0)+20>>2];while(1){if(!((c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0?(c[p>>2]|0)==0:0))break;a:do if(e[(c[n>>2]|0)+12>>1]&512|0?(j=(c[(c[n>>2]|0)+28>>2]|0)+408|0,k=(c[m>>2]|0)+8|0,c[j>>2]&c[k>>2]|0?1:(c[j+4>>2]&c[k+4>>2]|0)!=0):0){c[w>>2]=c[(c[n>>2]|0)+28>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[z>>2]=1;k=c[D>>2]|0;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];c[s+8>>2]=c[k+8>>2];c[s+12>>2]=c[k+12>>2];c[s+16>>2]=c[k+16>>2];c[s+8>>2]=0;c[s+16>>2]=u;c[y>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[y>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;f=c[y>>2]|0;if(!(e[(c[y>>2]|0)+12>>1]&1024|0)){if((c[f+20>>2]|0)==(c[q>>2]|0)){c[r>>2]=c[c[G>>2]>>2];c[r+4>>2]=c[G>>2];a[r+8>>0]=28;c[r+12>>2]=1;c[r+20>>2]=c[y>>2];f=r;H=11}}else{f=c[f+28>>2]|0;H=11}c:do if((H|0)==11){H=0;c[s+4>>2]=f;b[u>>1]=0;g=E;f=c[g>>2]|0;g=c[g+4>>2]|0;if(d[(c[(c[v>>2]|0)+16>>2]|0)+42>>0]&16|0){k=F;c[p>>2]=FC(s,f,g,c[k>>2]|0,c[k+4>>2]|0)|0}else c[p>>2]=GC(s,f,g)|0;if(!(c[p>>2]|0)){j=E;k=F;c[p>>2]=HC(s,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0}if(!(e[u>>1]|0)){H=17;break b}if(c[z>>2]|0){IC(t,u);c[z>>2]=0;break}IC(C,t);b[t>>1]=0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(e[C>>1]|0))break c;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[u>>1]|0))break;k=C+8+(c[A>>2]<<4)|0;j=u+8+(c[B>>2]<<4)|0;i=c[k>>2]|c[j>>2];j=c[k+4>>2]|c[j+4>>2];k=BC(b[C+8+(c[A>>2]<<4)+8>>1]|0,b[u+8+(c[B>>2]<<4)+8>>1]|0)|0;JC(t,i,j,k,BC(b[C+8+(c[A>>2]<<4)+10>>1]|0,b[u+8+(c[B>>2]<<4)+10>>1]|0)|0)|0;c[B>>2]=(c[B>>2]|0)+1}c[A>>2]=(c[A>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}if((H|0)==17){H=0;b[t>>1]=0}b[(c[m>>2]|0)+40>>1]=1;c[c[(c[m>>2]|0)+48>>2]>>2]=c[n>>2];c[(c[m>>2]|0)+36>>2]=8192;b[(c[m>>2]|0)+18>>1]=0;a[(c[m>>2]|0)+17>>0]=0;k=(c[m>>2]|0)+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[A>>2]=0;while(1){if(c[p>>2]|0)break a;if((c[A>>2]|0)>=(e[t>>1]|0))break a;b[(c[m>>2]|0)+20>>1]=(b[t+8+(c[A>>2]<<4)+8>>1]|0)+1;b[(c[m>>2]|0)+22>>1]=b[t+8+(c[A>>2]<<4)+10>>1]|0;i=t+8+(c[A>>2]<<4)|0;j=c[i+4>>2]|0;k=c[m>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;c[p>>2]=KC(c[D>>2]|0,c[m>>2]|0)|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+48}l=I;return c[p>>2]|0}function IC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=l;l=l+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;h0((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;l=f;return}function JC(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+16|0;n=r+12|0;o=r;p=r+24|0;q=r+22|0;j=r+20|0;k=r+8|0;c[n>>2]=a;a=o;c[a>>2]=d;c[a+4>>2]=f;b[p>>1]=g;b[q>>1]=h;b[j>>1]=b[c[n>>2]>>1]|0;c[k>>2]=(c[n>>2]|0)+8;while(1){if((e[j>>1]|0)<=0){i=9;break}if((b[p>>1]|0)<=(b[(c[k>>2]|0)+8>>1]|0)?(f=o,g=c[k>>2]|0,h=o,(c[f>>2]&c[g>>2]|0)==(c[h>>2]|0)?(c[f+4>>2]&c[g+4>>2]|0)==(c[h+4>>2]|0):0):0)break;if((b[(c[k>>2]|0)+8>>1]|0)<=(b[p>>1]|0)?(f=c[k>>2]|0,g=o,h=c[k>>2]|0,(c[f>>2]&c[g>>2]|0)==(c[h>>2]|0)?(c[f+4>>2]&c[g+4>>2]|0)==(c[h+4>>2]|0):0):0){i=7;break}b[j>>1]=(b[j>>1]|0)+-1<<16>>16;c[k>>2]=(c[k>>2]|0)+16}if((i|0)==7){c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}do if((i|0)==9){a=(c[n>>2]|0)+8|0;if((e[c[n>>2]>>1]|0)<3){j=c[n>>2]|0;n=b[j>>1]|0;b[j>>1]=n+1<<16>>16;c[k>>2]=a+((n&65535)<<4);b[(c[k>>2]|0)+10>>1]=b[q>>1]|0;break}c[k>>2]=a;b[j>>1]=1;while(1){a=b[(c[k>>2]|0)+8>>1]|0;if((e[j>>1]|0)>=(e[c[n>>2]>>1]|0))break;if((a|0)>(b[(c[n>>2]|0)+8+(e[j>>1]<<4)+8>>1]|0))c[k>>2]=(c[n>>2]|0)+8+(e[j>>1]<<4);b[j>>1]=(b[j>>1]|0)+1<<16>>16}if((a|0)<=(b[p>>1]|0)){c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}}while(0);j=o;n=c[j+4>>2]|0;o=c[k>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;b[(c[k>>2]|0)+8>>1]=b[p>>1]|0;if((b[(c[k>>2]|0)+10>>1]|0)>(b[q>>1]|0))b[(c[k>>2]|0)+10>>1]=b[q>>1]|0;c[m>>2]=1;q=c[m>>2]|0;l=r;return q|0}function KC(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;h=q+40|0;i=q+36|0;j=q+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;e=q+8|0;f=q+4|0;g=q;c[i>>2]=a;c[j>>2]=d;c[n>>2]=c[c[i>>2]>>2];c[o>>2]=c[c[c[n>>2]>>2]>>2];if(c[(c[i>>2]|0)+16>>2]|0){if(b[(c[j>>2]|0)+40>>1]|0){p=c[j>>2]|0;JC(c[(c[i>>2]|0)+16>>2]|0,c[p>>2]|0,c[p+4>>2]|0,b[(c[j>>2]|0)+20>>1]|0,b[(c[j>>2]|0)+22>>1]|0)|0}c[h>>2]=0;p=c[h>>2]|0;l=q;return p|0}LC(c[(c[n>>2]|0)+56>>2]|0,c[j>>2]|0);c[k>>2]=MC((c[n>>2]|0)+56|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){c[h>>2]=0;p=c[h>>2]|0;l=q;return p|0}c[m>>2]=c[c[k>>2]>>2];a:do if(!(c[m>>2]|0)){n=Ed(c[o>>2]|0,72,0)|0;c[m>>2]=n;c[c[k>>2]>>2]=n;if(c[m>>2]|0){NB(c[m>>2]|0);c[(c[m>>2]|0)+52>>2]=0;break}c[h>>2]=7;p=c[h>>2]|0;l=q;return p|0}else{c[e>>2]=(c[m>>2]|0)+52;while(1){if(!(c[c[e>>2]>>2]|0))break a;c[e>>2]=MC(c[e>>2]|0,c[j>>2]|0)|0;if(!(c[e>>2]|0))break a;c[f>>2]=c[c[e>>2]>>2];if(!(c[f>>2]|0))break a;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52>>2];KB(c[o>>2]|0,c[f>>2]|0)}}while(0);c[p>>2]=NC(c[o>>2]|0,c[m>>2]|0,c[j>>2]|0)|0;if(((c[(c[m>>2]|0)+36>>2]&1024|0)==0?(c[g>>2]=c[(c[m>>2]|0)+24+8>>2],c[g>>2]|0):0)?(c[(c[g>>2]|0)+44>>2]|0)==0:0)c[(c[m>>2]|0)+24+8>>2]=0;c[h>>2]=c[p>>2];p=c[h>>2]|0;l=q;return p|0}function LC(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!(c[f>>2]|0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){l=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?c[(c[f>>2]|0)+36>>2]&512|0:0){if(OC(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(OC(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);l=h;return}function MC(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k+12|0;j=k+8|0;g=k+4|0;h=k;c[j>>2]=a;c[g>>2]=f;c[h>>2]=c[c[j>>2]>>2];while(1){if(!(c[h>>2]|0)){a=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if((((c[(c[h>>2]|0)+36>>2]&16384|0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?c[(c[g>>2]|0)+36>>2]&512|0:0)?c[(c[g>>2]|0)+36>>2]&1|0:0)?(m=c[h>>2]|0,a=c[g>>2]|0,f=c[g>>2]|0,(c[m>>2]&c[a>>2]|0)==(c[f>>2]|0)?(c[m+4>>2]&c[a+4>>2]|0)==(c[f+4>>2]|0):0):0){a=19;break}a=c[h>>2]|0;f=c[g>>2]|0;m=c[h>>2]|0;if(((((c[a>>2]&c[f>>2]|0)==(c[m>>2]|0)?(c[a+4>>2]&c[f+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){a=14;break}a=c[h>>2]|0;f=c[g>>2]|0;m=c[g>>2]|0;if((((c[a>>2]&c[f>>2]|0)==(c[m>>2]|0)?(c[a+4>>2]&c[f+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){a=19;break}}c[j>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[j>>2]>>2]}if((a|0)==14){c[i>>2]=0;m=c[i>>2]|0;l=k;return m|0}else if((a|0)==19){c[i>>2]=c[j>>2];m=c[i>>2]|0;l=k;return m|0}return 0}function NC(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;h=j+12|0;k=j+8|0;g=j+4|0;i=j;c[k>>2]=b;c[g>>2]=d;c[i>>2]=f;MB(c[k>>2]|0,c[g>>2]|0);f=(xC(c[k>>2]|0,c[g>>2]|0,e[(c[i>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(f){k=b+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[h>>2]=7;k=c[h>>2]|0;l=j;return k|0}d=c[i>>2]|0;f=b+44|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(f|0));h0(c[(c[g>>2]|0)+48>>2]|0,c[(c[i>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[i>>2]|0;if(!(c[(c[i>>2]|0)+36>>2]&1024|0)){if(c[b+36>>2]&16384|0)c[(c[i>>2]|0)+24+8>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;k=c[h>>2]|0;l=j;return k|0}function OC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){a=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[i>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[i>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[i>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[i>>2]=(c[i>>2]|0)+-1}if((c[i>>2]|0)<0){a=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((a|0)==18){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}else if((a|0)==20){c[j>>2]=1;j=c[j>>2]|0;l=k;return j|0}return 0}function PC(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=a;c[i>>2]=e;c[j>>2]=f;while(1){if((d[c[j>>2]>>0]|0)!=28)break;if(!(PC(c[h>>2]|0,c[i>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0)){o=4;break}c[j>>2]=c[(c[j>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;l=p;return o|0}c[k>>2]=0;c[m>>2]=c[(c[i>>2]|0)+20>>2];while(1){if((c[k>>2]|0)>=(c[(c[i>>2]|0)+12>>2]|0)){o=13;break}c[n>>2]=c[c[m>>2]>>2];if(_C(c[n>>2]|0,c[j>>2]|0,c[h>>2]|0)|0){if(!(c[(c[n>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[n>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;l=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;l=p;return o|0}return 0}function QC(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;j=s+32|0;k=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;q=s+8|0;h=s+4|0;i=s;c[k>>2]=a;c[m>>2]=f;c[n>>2]=g;if((d[(c[m>>2]|0)+55>>0]|0)>>>2&1|0){c[j>>2]=0;r=c[j>>2]|0;l=s;return r|0}k=c[(c[c[k>>2]>>2]|0)+8>>2]|0;c[o>>2]=k;if(!k){c[j>>2]=0;r=c[j>>2]|0;l=s;return r|0}c[q>>2]=0;a:while(1){if((c[q>>2]|0)>=(c[c[o>>2]>>2]|0)){r=24;break}c[i>>2]=yw(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[i>>2]>>0]|0)==152?(c[(c[i>>2]|0)+28>>2]|0)==(c[n>>2]|0):0){if((b[(c[i>>2]|0)+32>>1]|0)<0){r=10;break a}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0))break b;if((b[(c[i>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){r=14;break a}c[h>>2]=(c[h>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,k=c[(c[m>>2]|0)+40>>2]|0,c[p>>2]=k,k|0):0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0))break c;if((b[(c[(c[m>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)==-2?(Yw(c[i>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[n>>2]|0)|0)==0:0){r=21;break a}c[h>>2]=(c[h>>2]|0)+1}}while(0);c[q>>2]=(c[q>>2]|0)+1}if((r|0)==10){c[j>>2]=1;r=c[j>>2]|0;l=s;return r|0}else if((r|0)==14){c[j>>2]=1;r=c[j>>2]|0;l=s;return r|0}else if((r|0)==21){c[j>>2]=1;r=c[j>>2]|0;l=s;return r|0}else if((r|0)==24){c[j>>2]=0;r=c[j>>2]|0;l=s;return r|0}return 0}function RC(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;k=s+36|0;m=s+32|0;n=s+42|0;o=s+28|0;p=s+24|0;q=s;r=s+20|0;g=s+16|0;h=s+12|0;i=s+40|0;j=s+8|0;c[k>>2]=a;c[m>>2]=d;b[n>>1]=f;t=c[m>>2]|0;a=(c[m>>2]|0)+8|0;d=~(c[t+4>>2]|c[a+4>>2]);f=q;c[f>>2]=~(c[t>>2]|c[a>>2]);c[f+4>>2]=d;b[i>>1]=0;c[r>>2]=c[(c[k>>2]|0)+12>>2];c[o>>2]=c[(c[k>>2]|0)+20>>2];while(1){if((c[r>>2]|0)<=0)break;if(e[(c[o>>2]|0)+10>>1]&2|0)break;f=(c[o>>2]|0)+40|0;t=(c[m>>2]|0)+8|0;do if(!((c[f>>2]&c[t>>2]|0)==0?(c[f+4>>2]&c[t+4>>2]|0)==0:0)?(f=(c[o>>2]|0)+40|0,t=q,!(c[f>>2]&c[t>>2]|0?1:(c[f+4>>2]&c[t+4>>2]|0)!=0)):0){c[g>>2]=(e[(c[m>>2]|0)+40>>1]|0)-1;while(1){if((c[g>>2]|0)<0)break;c[p>>2]=c[(c[(c[m>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];if(c[p>>2]|0){if((c[p>>2]|0)==(c[o>>2]|0))break;if((c[(c[p>>2]|0)+16>>2]|0)>=0?((c[(c[k>>2]|0)+20>>2]|0)+((c[(c[p>>2]|0)+16>>2]|0)*48|0)|0)==(c[o>>2]|0):0)break}c[g>>2]=(c[g>>2]|0)+-1}if((c[g>>2]|0)<0){if((b[(c[o>>2]|0)+8>>1]|0)<=0){t=(c[m>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[o>>2]|0)+8>>1]|0);break}t=(c[m>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[o>>2]|0)+12>>1]&130|0){c[j>>2]=c[(c[c[o>>2]>>2]|0)+16>>2];t=(Tw(c[j>>2]|0,h)|0)!=0;if(t&(c[h>>2]|0)>=-1&(c[h>>2]|0)<=1)c[h>>2]=10;else c[h>>2]=20;if((b[i>>1]|0)<(c[h>>2]|0))b[i>>1]=c[h>>2]}}}while(0);c[r>>2]=(c[r>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+48}if((b[(c[m>>2]|0)+22>>1]|0)<=((b[n>>1]|0)-(b[i>>1]|0)|0)){l=s;return}b[(c[m>>2]|0)+22>>1]=(b[n>>1]|0)-(b[i>>1]|0);l=s;return}function SC(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;d=i+16|0;f=i;g=i+12|0;h=i+8|0;c[d>>2]=a;a=f;c[a>>2]=0;c[a+4>>2]=0;c[g>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[g>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){k=j0(1,0,c[h>>2]|0)|0;m=f;j=c[m+4>>2]|D;a=f;c[a>>2]=c[m>>2]|k;c[a+4>>2]=j}c[g>>2]=(c[g>>2]|0)+-1}m=f;D=c[m+4>>2]|0;l=i;return c[m>>2]|0}function TC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+48|0;h=g+44|0;k=g+40|0;j=g+36|0;f=g+8|0;i=g;c[h>>2]=b;c[k>>2]=d;c[j>>2]=e;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[i+4>>2]=c[k>>2];c[i>>2]=c[j>>2];c[f+4>>2]=207;c[f+24>>2]=i;Kw(f,c[h>>2]|0)|0;l=g;return ((a[f+20>>0]|0)!=0^1)&1|0} +function Js(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;j=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[i>>2]=d;c[e>>2]=c[j>>2];c[f>>2]=c[i>>2];td(c[(c[c[f>>2]>>2]|0)+12>>2]|0);c[g>>2]=0;while(1){a=c[f>>2]|0;if((c[g>>2]|0)>=(b[(c[e>>2]|0)+16>>1]|0))break;Ls((c[a+116>>2]|0)+((c[g>>2]|0)*40|0)|0,(c[(c[e>>2]|0)+116>>2]|0)+((c[g>>2]|0)*40|0)|0);c[g>>2]=(c[g>>2]|0)+1}ud(c[(c[a>>2]|0)+12>>2]|0);l=h;return 0}function Ks(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+40>>2]=0;l=b;return}function Ls(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;ei(c[e>>2]|0);a=c[e>>2]|0;d=c[f>>2]|0;e=a+40|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;l=g;return}function Ms(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){Gv(20953);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+84>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Fv(c[d>>2]|0)|0)Gv(38719);c[b>>2]=0}while(0);l=f;return c[b>>2]|0}function Ns(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+576|0;H=I+16|0;t=I+8|0;o=I;G=I+572|0;A=I+568|0;s=I+564|0;u=I+560|0;k=I+556|0;v=I+552|0;p=I+548|0;C=I+544|0;D=I+540|0;w=I+536|0;E=I+56|0;m=I+48|0;n=I+44|0;q=I+40|0;r=I+36|0;x=I+32|0;y=I+28|0;z=I+24|0;F=I+20|0;c[G>>2]=b;c[A>>2]=e;c[s>>2]=f;c[u>>2]=g;c[k>>2]=h;c[v>>2]=i;c[p>>2]=j;c[C>>2]=0;c[D>>2]=0;m0(E|0,0,152)|0;b=E+400|0;e=b+80|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));c[E+432>>2]=c[k>>2];c[w>>2]=0;while(1){b=c[G>>2]|0;if((c[w>>2]|0)>=(c[(c[G>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[b+16>>2]|0)+(c[w>>2]<<4)+4>>2];if(c[m>>2]|0?(c[D>>2]=Os(c[m>>2]|0)|0,c[D>>2]|0):0){B=5;break}c[w>>2]=(c[w>>2]|0)+1}if((B|0)==5){c[n>>2]=c[(c[(c[G>>2]|0)+16>>2]|0)+(c[w>>2]<<4)>>2];F=c[G>>2]|0;H=c[D>>2]|0;c[o>>2]=c[n>>2];ll(F,H,25177,o);ql(E);G=c[G>>2]|0;H=c[D>>2]|0;H=Jr(G,H)|0;c[D>>2]=H;H=c[D>>2]|0;l=I;return H|0}Oq(b);c[E>>2]=c[G>>2];do if((c[s>>2]|0)>=0){if(c[s>>2]|0?(a[(c[A>>2]|0)+((c[s>>2]|0)-1)>>0]|0)==0:0){B=15;break}c[r>>2]=c[(c[G>>2]|0)+96+4>>2];b=c[G>>2]|0;if((c[s>>2]|0)>(c[r>>2]|0)){ll(b,18,25207,t);c[D>>2]=Jr(c[G>>2]|0,18)|0;ql(E);G=c[G>>2]|0;H=c[D>>2]|0;H=Jr(G,H)|0;c[D>>2]=H;H=c[D>>2]|0;l=I;return H|0}t=c[s>>2]|0;c[q>>2]=Uj(b,c[A>>2]|0,t,((t|0)<0)<<31>>31)|0;if(c[q>>2]|0){Ps(E,c[q>>2]|0,C)|0;c[E+436>>2]=(c[A>>2]|0)+((c[E+436>>2]|0)-(c[q>>2]|0));Xd(c[G>>2]|0,c[q>>2]|0);break}else{c[E+436>>2]=(c[A>>2]|0)+(c[s>>2]|0);break}}else B=15;while(0);if((B|0)==15)Ps(E,c[A>>2]|0,C)|0;if((c[E+12>>2]|0)==101)c[E+12>>2]=0;if(a[E+17>>0]|0)Qs(E);if(a[(c[G>>2]|0)+69>>0]|0)c[E+12>>2]=7;if(c[p>>2]|0)c[c[p>>2]>>2]=c[E+436>>2];c[D>>2]=c[E+12>>2];a:do if(((c[D>>2]|0)==0?c[E+8>>2]|0:0)?d[E+409>>0]|0:0){b=c[E+8>>2]|0;if((d[E+409>>0]|0)==2){Rs(b,4);c[x>>2]=8;c[y>>2]=12}else{Rs(b,8);c[x>>2]=0;c[y>>2]=8}c[w>>2]=c[x>>2];while(1){if((c[w>>2]|0)>=(c[y>>2]|0))break a;Ss(c[E+8>>2]|0,(c[w>>2]|0)-(c[x>>2]|0)|0,0,c[4180+(c[w>>2]<<2)>>2]|0,0)|0;c[w>>2]=(c[w>>2]|0)+1}}while(0);if(!(d[(c[G>>2]|0)+148+5>>0]|0)){c[z>>2]=c[E+8>>2];Ts(c[z>>2]|0,c[A>>2]|0,(c[E+436>>2]|0)-(c[A>>2]|0)|0,c[u>>2]|0)}do if(c[E+8>>2]|0){if((c[D>>2]|0)==0?(d[(c[G>>2]|0)+69>>0]|0)==0:0){B=39;break}Ir(c[E+8>>2]|0)|0}else B=39;while(0);if((B|0)==39)c[c[v>>2]>>2]=c[E+8>>2];b=c[G>>2]|0;e=c[D>>2]|0;if(c[C>>2]|0){c[H>>2]=c[C>>2];ll(b,e,21240,H);Xd(c[G>>2]|0,c[C>>2]|0)}else ml(b,e);while(1){if(!(c[E+468>>2]|0))break;c[F>>2]=c[E+468>>2];c[E+468>>2]=c[(c[F>>2]|0)+4>>2];Xd(c[G>>2]|0,c[F>>2]|0)}ql(E);G=c[G>>2]|0;H=c[D>>2]|0;H=Jr(G,H)|0;c[D>>2]=H;H=c[D>>2]|0;l=I;return H|0}function Os(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;el(c[e>>2]|0);c[b>>2]=Wq(c[e>>2]|0,1,1)|0;bl(c[e>>2]|0);l=d;return c[b>>2]|0}function Ps(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;v=z+68|0;w=z+64|0;k=z+60|0;m=z+56|0;x=z+52|0;y=z+48|0;n=z+44|0;h=z+40|0;i=z+36|0;s=z+32|0;j=z+28|0;t=z+24|0;u=z+20|0;c[w>>2]=b;c[k>>2]=e;c[m>>2]=f;c[x>>2]=0;c[i>>2]=-1;c[s>>2]=c[c[w>>2]>>2];c[j>>2]=c[(c[s>>2]|0)+96+4>>2];if(!(c[(c[s>>2]|0)+156>>2]|0))c[(c[s>>2]|0)+248>>2]=0;c[(c[w>>2]|0)+12>>2]=0;c[(c[w>>2]|0)+436>>2]=c[k>>2];c[y>>2]=0;c[n>>2]=Xs(196)|0;if(!(c[n>>2]|0)){Od(c[s>>2]|0);c[v>>2]=7;y=c[v>>2]|0;l=z;return y|0}a:while(1){do if(a[(c[k>>2]|0)+(c[y>>2]|0)>>0]|0){c[(c[w>>2]|0)+392>>2]=(c[k>>2]|0)+(c[y>>2]|0);f=Tj((c[k>>2]|0)+(c[y>>2]|0)|0,h)|0;c[(c[w>>2]|0)+392+4>>2]=f;c[y>>2]=(c[y>>2]|0)+(c[(c[w>>2]|0)+392+4>>2]|0);if((c[y>>2]|0)>(c[j>>2]|0)){r=7;break a}}else{if((c[i>>2]|0)==1){c[h>>2]=0;break}if(!(c[i>>2]|0))break a;c[h>>2]=1}while(0);if((c[h>>2]|0)>=162){if(c[(c[s>>2]|0)+248>>2]|0){r=14;break}if((c[h>>2]|0)==163){r=16;break}else continue}else{b=c[n>>2]|0;e=c[h>>2]|0;A=(c[w>>2]|0)+392|0;f=c[w>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];Ys(b,e,g,f);c[i>>2]=c[h>>2];if(c[(c[w>>2]|0)+12>>2]|0)break;if(d[(c[s>>2]|0)+69>>0]|0)break;else continue}}if((r|0)==7)c[(c[w>>2]|0)+12>>2]=18;else if((r|0)==14)c[(c[w>>2]|0)+12>>2]=9;else if((r|0)==16){A=c[w>>2]|0;c[o>>2]=(c[w>>2]|0)+392;sl(A,25288,o)}c[(c[w>>2]|0)+436>>2]=(c[k>>2]|0)+(c[y>>2]|0);Zs(c[n>>2]|0,157);if(a[(c[s>>2]|0)+69>>0]|0)c[(c[w>>2]|0)+12>>2]=7;if((c[(c[w>>2]|0)+12>>2]|0?(c[(c[w>>2]|0)+12>>2]|0)!=101:0)?(c[(c[w>>2]|0)+4>>2]|0)==0:0){A=c[s>>2]|0;c[p>>2]=Xi(c[(c[w>>2]|0)+12>>2]|0)|0;A=Wj(A,21240,p)|0;c[(c[w>>2]|0)+4>>2]=A}if(c[(c[w>>2]|0)+4>>2]|0){c[c[m>>2]>>2]=c[(c[w>>2]|0)+4>>2];A=c[(c[w>>2]|0)+12>>2]|0;c[q>>2]=c[c[m>>2]>>2];xd(A,21240,q);c[(c[w>>2]|0)+4>>2]=0;c[x>>2]=(c[x>>2]|0)+1}if((c[(c[w>>2]|0)+8>>2]|0?(c[(c[w>>2]|0)+36>>2]|0)>0:0)?(d[(c[w>>2]|0)+18>>0]|0)==0:0){Nr(c[(c[w>>2]|0)+8>>2]|0);c[(c[w>>2]|0)+8>>2]=0}if(!(d[(c[w>>2]|0)+18>>0]|0)){Xd(c[s>>2]|0,c[(c[w>>2]|0)+116>>2]|0);c[(c[w>>2]|0)+116>>2]=0;c[(c[w>>2]|0)+112>>2]=0}_d(c[(c[w>>2]|0)+460>>2]|0);if(!(a[(c[w>>2]|0)+410>>0]|0))tk(c[s>>2]|0,c[(c[w>>2]|0)+440>>2]|0);if(c[(c[w>>2]|0)+476>>2]|0)Sk(c[s>>2]|0,c[(c[w>>2]|0)+476>>2]|0);sk(c[s>>2]|0,c[(c[w>>2]|0)+444>>2]|0);c[y>>2]=(c[(c[w>>2]|0)+404>>2]|0)-1;while(1){g=c[s>>2]|0;b=c[(c[w>>2]|0)+428>>2]|0;if((c[y>>2]|0)<0)break;Xd(g,c[b+(c[y>>2]<<2)>>2]|0);c[y>>2]=(c[y>>2]|0)+-1}Xd(g,b);while(1){if(!(c[(c[w>>2]|0)+120>>2]|0))break;c[t>>2]=c[(c[w>>2]|0)+120>>2];c[(c[w>>2]|0)+120>>2]=c[c[t>>2]>>2];Xd(c[s>>2]|0,c[t>>2]|0)}while(1){if(!(c[(c[w>>2]|0)+464>>2]|0))break;c[u>>2]=c[(c[w>>2]|0)+464>>2];c[(c[w>>2]|0)+464>>2]=c[(c[u>>2]|0)+68>>2];tk(c[s>>2]|0,c[u>>2]|0)}c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}function Qs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){a=14;break}c[h>>2]=0;c[i>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2];if(c[i>>2]|0){if(!(nl(c[i>>2]|0)|0)){c[f>>2]=Gp(c[i>>2]|0,0)|0;if((c[f>>2]|0)==7|(c[f>>2]|0)==3082)Od(c[d>>2]|0);if(c[f>>2]|0){a=14;break}c[h>>2]=1}Ip(c[i>>2]|0,1,g);if((c[g>>2]|0)!=(c[c[(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)){Vs(c[d>>2]|0,c[e>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[h>>2]|0)Ws(c[i>>2]|0)|0}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==14){l=j;return}}function Rs(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;f=h+16|0;j=h+12|0;g=h+4|0;i=h;c[f>>2]=a;c[j>>2]=d;c[i>>2]=c[c[f>>2]>>2];vk(c[(c[f>>2]|0)+100>>2]|0,(e[(c[f>>2]|0)+140>>1]|0)<<1);Xd(c[i>>2]|0,c[(c[f>>2]|0)+100>>2]|0);c[g>>2]=c[j>>2]<<1;b[(c[f>>2]|0)+140>>1]=c[j>>2];d=Ed(c[i>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h+8>>2]=d;c[(c[f>>2]|0)+100>>2]=d;if(!(c[(c[f>>2]|0)+100>>2]|0)){l=h;return}Us(c[(c[f>>2]|0)+100>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,1);l=h;return}function Ss(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;i=r+8|0;j=r+4|0;k=r;c[n>>2]=b;c[o>>2]=d;c[p>>2]=f;c[q>>2]=g;c[i>>2]=h;if(a[(c[c[n>>2]>>2]|0)+69>>0]|0){c[m>>2]=7;q=c[m>>2]|0;l=r;return q|0}else{c[k>>2]=(c[(c[n>>2]|0)+100>>2]|0)+(((c[o>>2]|0)+(S(c[p>>2]|0,e[(c[n>>2]|0)+140>>1]|0)|0)|0)*40|0);c[j>>2]=ci(c[k>>2]|0,c[q>>2]|0,-1,1,c[i>>2]|0)|0;c[m>>2]=c[j>>2];q=c[m>>2]|0;l=r;return q|0}return 0}function Ts(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){l=k;return}i=c[i>>2]|0;i=Uj(c[c[g>>2]>>2]|0,c[h>>2]|0,i,((i|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+176>>2]=i;i=(c[g>>2]|0)+144|0;b[i>>1]=b[i>>1]&-513|(c[j>>2]&1)<<9&65535;l=k;return}function Us(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+8|0;h=k+4|0;i=k;j=k+12|0;c[g>>2]=a;c[h>>2]=d;c[i>>2]=e;b[j>>1]=f;while(1){f=c[h>>2]|0;c[h>>2]=f+-1;if((f|0)<=0)break;c[(c[g>>2]|0)+32>>2]=c[i>>2];b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+24>>2]=0;c[g>>2]=(c[g>>2]|0)+40}l=k;return}function Vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);Nq(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){l=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;Nq(c[(c[e>>2]|0)+12>>2]|0);l=f;return}function Ws(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;el(c[b>>2]|0);c[d>>2]=Vp(c[b>>2]|0,0)|0;if(!(c[d>>2]|0))c[d>>2]=Up(c[b>>2]|0,0)|0;bl(c[b>>2]|0);l=e;return c[d>>2]|0}function Xs(d){d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;c[g>>2]=d;c[e>>2]=Mb[c[g>>2]&255](1608,0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;l=f;return g|0}c[c[e>>2]>>2]=(c[e>>2]|0)+8;b[(c[e>>2]|0)+8>>1]=0;a[(c[e>>2]|0)+8+2>>0]=0;g=c[e>>2]|0;l=f;return g|0}function Ys(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;f=k+32|0;n=k+28|0;g=k+24|0;m=k+20|0;h=k+8|0;i=k+4|0;j=k;c[n>>2]=a;c[g>>2]=b;c[m>>2]=e;c[j>>2]=c[n>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];while(1){c[i>>2]=at(c[j>>2]|0,c[g>>2]&255)|0;do if((c[i>>2]|0)>>>0>999)if((c[i>>2]|0)>>>0<=1331){ct(c[j>>2]|0,(c[i>>2]|0)-1e3|0);break}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];m=c[j>>2]|0;n=c[g>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];dt(m,n,f);$s(c[j>>2]|0,c[g>>2]&255,h);c[g>>2]=252;break}else{e=c[j>>2]|0;m=c[i>>2]|0;n=c[g>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];bt(e,m,n,f);c[g>>2]=252}while(0);if((c[g>>2]|0)==252){f=9;break}if((c[c[j>>2]>>2]|0)>>>0<=((c[j>>2]|0)+8|0)>>>0){f=9;break}}if((f|0)==9){l=k;return}}function Zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)>>>0<=((c[e>>2]|0)+8|0)>>>0)break;_s(c[e>>2]|0)}Eb[c[d>>2]&255](c[e>>2]|0);l=f;return}function _s(b){b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-16;c[e>>2]=b;$s(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);l=d;return}function $s(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;k=i+8|0;j=i+12|0;g=i+4|0;h=i;c[k>>2]=b;a[j>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[k>>2]|0)+4>>2];do switch(d[j>>0]|0|0){case 206:case 195:case 194:case 163:{Jk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 173:case 172:{Ok(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 226:case 224:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{Kk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 212:case 211:case 200:case 193:{Rk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 250:case 196:{Sk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 241:case 236:case 227:case 225:case 215:case 203:case 201:{Ok(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 220:case 217:case 216:{Tk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 237:case 232:{al(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 234:{Tk(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);l=i;return}default:{l=i;return}}while(0)}function at(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p+16|0;q=p+12|0;i=p+21|0;j=p+8|0;k=p+4|0;m=p+20|0;n=p;c[q>>2]=f;a[i>>0]=g;c[k>>2]=e[c[c[q>>2]>>2]>>1];if((c[k>>2]|0)>=1e3){c[h>>2]=c[k>>2];q=c[h>>2]|0;l=p;return q|0}while(1){c[j>>2]=b[15242+(c[k>>2]<<1)>>1];c[j>>2]=(c[j>>2]|0)+(d[i>>0]|0);if(!((c[j>>2]|0)<0|(c[j>>2]|0)>=1567)?(d[37056+(c[j>>2]|0)>>0]|0)==(d[i>>0]|0):0){o=13;break}if((d[i>>0]|0)>>>0>=96)break;q=a[38623+(d[i>>0]|0)>>0]|0;a[m>>0]=q;if(!(q&255))break;a[i>>0]=a[m>>0]|0}if((o|0)==13){c[h>>2]=e[12078+(c[j>>2]<<1)>>1];q=c[h>>2]|0;l=p;return q|0}c[n>>2]=(c[j>>2]|0)-(d[i>>0]|0)+96;if(((c[n>>2]|0)<1567?(d[37056+(c[n>>2]|0)>>0]|0)==96:0)?(d[i>>0]|0)>0:0){c[h>>2]=e[12078+(c[n>>2]<<1)>>1];q=c[h>>2]|0;l=p;return q|0}c[h>>2]=e[16154+(c[k>>2]<<1)>>1];q=c[h>>2]|0;l=p;return q|0}function bt(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;f=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+16;if((c[c[h>>2]>>2]|0)>>>0>=((c[h>>2]|0)+8+1600|0)>>>0){et(c[h>>2]|0);l=m;return}if((c[i>>2]|0)>455)c[i>>2]=(c[i>>2]|0)+332;c[k>>2]=c[c[h>>2]>>2];b[c[k>>2]>>1]=c[i>>2];a[(c[k>>2]|0)+2>>0]=c[j>>2];k=(c[k>>2]|0)+4|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];l=m;return}function ct(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=l;l=l+288|0;h=fa+280|0;X=fa+40|0;W=fa+32|0;V=fa+24|0;U=fa+16|0;Z=fa+8|0;T=fa;$=fa+276|0;aa=fa+272|0;ba=fa+268|0;ca=fa+264|0;da=fa+260|0;ea=fa+256|0;_=fa+252|0;S=fa+240|0;i=fa+228|0;j=fa+216|0;k=fa+192|0;m=fa+188|0;n=fa+184|0;o=fa+180|0;p=fa+176|0;q=fa+168|0;r=fa+164|0;s=fa+160|0;t=fa+156|0;u=fa+152|0;v=fa+148|0;w=fa+144|0;x=fa+140|0;y=fa+136|0;z=fa+132|0;A=fa+128|0;B=fa+124|0;C=fa+120|0;D=fa+116|0;E=fa+112|0;F=fa+108|0;G=fa+104|0;Y=fa+96|0;H=fa+92|0;I=fa+88|0;J=fa+84|0;K=fa+80|0;L=fa+76|0;M=fa+72|0;N=fa+68|0;O=fa+64|0;P=fa+60|0;Q=fa+56|0;R=fa+48|0;c[$>>2]=f;c[aa>>2]=g;c[_>>2]=c[(c[$>>2]|0)+4>>2];c[da>>2]=c[c[$>>2]>>2];if((d[25337+(c[aa>>2]<<1)+1>>0]|0)==0?(c[c[$>>2]>>2]|0)>>>0>=((c[$>>2]|0)+8+1584|0)>>>0:0){et(c[$>>2]|0);l=fa;return}a:do switch(c[aa>>2]|0){case 0:{a[(c[_>>2]|0)+409>>0]=1;break}case 1:{a[(c[_>>2]|0)+409>>0]=2;break}case 2:{ft(c[_>>2]|0);break}case 3:{gt(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 4:{c[(c[da>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 9:case 8:{ht(c[_>>2]|0);break}case 10:{it(c[_>>2]|0);break}case 11:{jt(c[_>>2]|0,0,(c[da>>2]|0)+4|0);break}case 12:{jt(c[_>>2]|0,1,(c[da>>2]|0)+4|0);break}case 13:{jt(c[_>>2]|0,2,(c[da>>2]|0)+4|0);break}case 14:{kt(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 15:{lt(c[_>>2]|0);break}case 215:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 17:{c[(c[da>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{c[(c[da>>2]|0)+4>>2]=1;break}case 20:{mt(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,c[(c[da>>2]|0)+4>>2]&255,0);break}case 21:{mt(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+4>>2]|0);Jk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 23:{if((c[(c[da>>2]|0)+4+4>>2]|0)==5?(ld(c[(c[da>>2]|0)+4>>2]|0,26001,5)|0)==0:0){c[(c[da>>2]|0)+-16+4>>2]=96;break a}c[(c[da>>2]|0)+-16+4>>2]=0;_=c[_>>2]|0;Z=c[(c[da>>2]|0)+4>>2]|0;c[T>>2]=c[(c[da>>2]|0)+4+4>>2];c[T+4>>2]=Z;sl(_,26007,T);break}case 24:{nt(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 96:case 60:case 25:{c[(c[da>>2]|0)+16+4+4>>2]=0;c[(c[da>>2]|0)+16+4>>2]=0;break}case 26:{c[(c[da>>2]|0)+-48+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0);break}case 27:{c[(c[da>>2]|0)+-80+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-80+4>>2]|0);break}case 28:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[da>>2]|0)+4+4>>2]|0)+((c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{_=(c[_>>2]|0)+84|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 32:case 30:{ot(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 31:{ot(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 33:{c[i>>2]=pt(c[_>>2]|0,155,c[(c[da>>2]|0)+4>>2]|0,0,0)|0;c[i+4>>2]=c[(c[da>>2]|0)+-16+4>>2];c[i+8>>2]=c[(c[da>>2]|0)+4+8>>2];ot(c[_>>2]|0,i);break}case 34:{Z=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];qt(j,Z,97,h);ot(c[_>>2]|0,j);break}case 35:{rt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 36:{st(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 37:{tt(c[_>>2]|0,0,0,0,0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 38:{ut(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 39:{vt(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 40:{wt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 41:{xt(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 44:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 45:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+-16+4>>2]&~c[(c[da>>2]|0)+4+4>>2]|c[(c[da>>2]|0)+4>>2];break}case 46:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 47:{c[(c[da>>2]|0)+-32+4>>2]=0;c[(c[da>>2]|0)+-32+4+4>>2]=0;break}case 48:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-32+4+4>>2]=255;break}case 49:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2]<<8;c[(c[da>>2]|0)+-32+4+4>>2]=65280;break}case 50:{c[(c[da>>2]|0)+-16+4>>2]=7;break}case 51:{c[(c[da>>2]|0)+-16+4>>2]=8;break}case 52:{c[(c[da>>2]|0)+4>>2]=9;break}case 53:{c[(c[da>>2]|0)+4>>2]=6;break}case 54:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 55:{c[(c[da>>2]|0)+-32+4>>2]=0;break}case 144:case 71:case 56:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 216:case 190:case 187:case 75:case 58:{c[(c[da>>2]|0)+-16+4>>2]=1;break}case 59:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 61:{c[(c[_>>2]|0)+84+4>>2]=0;break}case 63:{st(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,0);break}case 64:{tt(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 65:{ut(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 66:{vt(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);wt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 70:case 68:{c[(c[da>>2]|0)+16+4>>2]=10;break}case 69:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 72:{c[(c[da>>2]|0)+4>>2]=4;break}case 145:case 73:{c[(c[da>>2]|0)+4>>2]=5;break}case 74:{yt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 77:{zt(c[_>>2]|0,(c[da>>2]|0)+-128+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 78:{yt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,1,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 79:{c[k>>2]=c[1057];c[k+4>>2]=c[1058];c[k+8>>2]=c[1059];c[k+12>>2]=c[1060];c[k+16>>2]=c[1061];c[k+20>>2]=c[1062];At(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,k)|0;Jk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 80:{c[m>>2]=c[(c[da>>2]|0)+4>>2];if(c[m>>2]|0){c[(c[m>>2]|0)+64>>2]=c[(c[da>>2]|0)+-16+4>>2];Bt(c[_>>2]|0,c[m>>2]|0)}else Sk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);c[(c[da>>2]|0)+-16+4>>2]=c[m>>2];break}case 81:{c[n>>2]=c[(c[da>>2]|0)+4>>2];c[o>>2]=c[(c[da>>2]|0)+-32+4>>2];if(c[n>>2]|0?c[(c[n>>2]|0)+48>>2]|0:0){c[q+4>>2]=0;Bt(c[_>>2]|0,c[n>>2]|0);c[p>>2]=Ct(c[_>>2]|0,0,0,0,q,c[n>>2]|0,0,0)|0;c[n>>2]=Dt(c[_>>2]|0,0,c[p>>2]|0,0,0,0,0,0,0,0)|0}if(c[n>>2]|0){a[(c[n>>2]|0)+4>>0]=c[(c[da>>2]|0)+-16+4>>2];c[(c[n>>2]|0)+48>>2]=c[o>>2];if(c[o>>2]|0){Z=(c[o>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025}Z=(c[n>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025;if((c[(c[da>>2]|0)+-16+4>>2]|0)!=116)a[(c[_>>2]|0)+22>>0]=1}else Jk(c[c[_>>2]>>2]|0,c[o>>2]|0);c[(c[da>>2]|0)+-32+4>>2]=c[n>>2];break}case 84:case 82:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 83:{c[(c[da>>2]|0)+-16+4>>2]=116;break}case 85:{_=Dt(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+4+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=_;break}case 86:{_=Dt(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 87:{c[s>>2]=c[(c[da>>2]|0)+-64+4>>2];c[r>>2]=Dt(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;if(c[s>>2]|0){_=(c[s>>2]|0)+8|0;c[_>>2]=c[_>>2]&-1025}if(c[r>>2]|0){a[(c[r>>2]|0)+4>>0]=116;c[(c[r>>2]|0)+48>>2]=c[s>>2];h=c[r>>2]|0;f=c[da>>2]|0}else{h=c[s>>2]|0;f=c[da>>2]|0}c[f+-64+4>>2]=h;break}case 88:{c[(c[da>>2]|0)+4>>2]=1;break}case 89:{c[(c[da>>2]|0)+4>>2]=2;break}case 211:case 206:case 203:case 126:case 119:case 91:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 92:{Z=Et(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;if((c[(c[da>>2]|0)+4+4>>2]|0)>>>0>0)Ft(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1);Gt(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 93:{c[t>>2]=Ht(c[c[_>>2]>>2]|0,160,0)|0;_=Et(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[t>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 94:{c[u>>2]=pt(c[_>>2]|0,160,0,0,0)|0;c[v>>2]=pt(c[_>>2]|0,55,0,0,(c[da>>2]|0)+-32+4|0)|0;c[w>>2]=pt(c[_>>2]|0,122,c[v>>2]|0,c[u>>2]|0,0)|0;_=Et(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[w>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 226:case 225:case 106:case 95:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 97:{_=_l(c[c[_>>2]>>2]|0,80,0)|0;c[(c[da>>2]|0)+16+4>>2]=_;break}case 98:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];It(c[(c[da>>2]|0)+-16+4>>2]|0);break}case 99:{if(c[(c[da>>2]|0)+-16+4>>2]|0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>0:0)a[(c[(c[da>>2]|0)+-16+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[da>>2]|0)+4>>2];break}case 100:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 101:{Z=Ct(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;Jt(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-32+4|0);break}case 102:{Z=Ct(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=Z;Kt(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 103:{_=Ct(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 104:{if((((c[(c[da>>2]|0)+-96+4>>2]|0)==0?(c[(c[da>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+4>>2]|0)==0:0){c[(c[da>>2]|0)+-96+4>>2]=c[(c[da>>2]|0)+-64+4>>2];break a}if((c[c[(c[da>>2]|0)+-64+4>>2]>>2]|0)!=1){It(c[(c[da>>2]|0)+-64+4>>2]|0);c[z>>2]=Dt(c[_>>2]|0,0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;_=Ct(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[z>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break a}Z=Ct(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;if(c[(c[da>>2]|0)+-96+4>>2]|0){c[x>>2]=(c[(c[da>>2]|0)+-96+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);c[y>>2]=(c[(c[da>>2]|0)+-64+4>>2]|0)+8;c[(c[x>>2]|0)+8>>2]=c[(c[y>>2]|0)+8>>2];c[(c[x>>2]|0)+4>>2]=c[(c[y>>2]|0)+4>>2];c[(c[x>>2]|0)+20>>2]=c[(c[y>>2]|0)+20>>2];c[(c[y>>2]|0)+4>>2]=0;c[(c[y>>2]|0)+8>>2]=0;c[(c[y>>2]|0)+20>>2]=0}Rk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 107:{_=Lt(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 108:{c[(c[da>>2]|0)+4>>2]=1;break}case 109:{_=Mt(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,0,0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 110:{_=Mt(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 111:{_=Mt(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 199:case 136:case 129:case 112:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 202:case 200:case 135:case 128:case 113:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 115:{_=(c[da>>2]|0)+-32+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 116:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=1;break}case 117:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 146:case 118:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 127:case 120:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 121:{_=Et(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;Nt(c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 122:{_=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;Nt(c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 123:{c[(c[da>>2]|0)+4>>2]=0;break}case 124:{c[(c[da>>2]|0)+4>>2]=1;break}case 125:{c[(c[da>>2]|0)+16+4>>2]=-1;break}case 130:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 131:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 132:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 133:{c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 134:{Ot(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);Jt(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);Pt(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 137:{Ot(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,1);Jt(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-48+4|0);Qt(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,26034);Rt(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 138:{Z=Et(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;Ft(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,1);break}case 139:{_=St(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 140:{c[S>>2]=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;Ft(c[_>>2]|0,c[S>>2]|0,(c[da>>2]|0)+-32+4|0,1);c[(c[da>>2]|0)+-32+4>>2]=c[S>>2];break}case 141:{_=St(c[_>>2]|0,0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 142:{Ot(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);Tt(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 143:{Ot(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,1);Tt(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 147:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 148:{_=Ut(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 149:{_=Ut(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 150:{Vt((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 157:case 156:case 151:{Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;_=d[(c[da>>2]|0)+2>>0]|0;X=(c[da>>2]|0)+4|0;c[h>>2]=c[X>>2];c[h+4>>2]=c[X+4>>2];qt(Y,Z,_,h);break}case 153:case 152:{Z=(c[da>>2]|0)+4|0;_=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];qt(Z,_,55,h);break}case 154:{c[A>>2]=Wt(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[B>>2]=Wt(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;Vt((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);_=pt(c[_>>2]|0,122,c[A>>2]|0,c[B>>2]|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 155:{c[C>>2]=Wt(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-64+4|0,1)|0;c[D>>2]=Wt(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[E>>2]=Wt(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;c[F>>2]=pt(c[_>>2]|0,122,c[D>>2]|0,c[E>>2]|0,0)|0;Vt((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);_=pt(c[_>>2]|0,122,c[C>>2]|0,c[F>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 158:{c[S>>2]=Wt(c[c[_>>2]>>2]|0,134,(c[da>>2]|0)+4|0,1)|0;c[S+4>>2]=c[(c[da>>2]|0)+4>>2];c[S+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);if(c[S>>2]|0){_=(c[S>>2]|0)+4|0;c[_>>2]=c[_>>2]|8388608}_=(c[da>>2]|0)+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 159:{if((a[c[(c[da>>2]|0)+4>>2]>>0]|0)==35?d[20063+(d[(c[(c[da>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0:0){h=(c[da>>2]|0)+4|0;c[Y>>2]=c[h>>2];c[Y+4>>2]=c[h+4>>2];Vt((c[da>>2]|0)+4|0,Y,Y);h=c[_>>2]|0;if(!(d[(c[_>>2]|0)+18>>0]|0)){c[Z>>2]=Y;sl(h,25313,Z);c[(c[da>>2]|0)+4>>2]=0;break a}_=pt(h,157,0,0,0)|0;c[(c[da>>2]|0)+4>>2]=_;if(!(c[(c[da>>2]|0)+4>>2]|0))break a;gg((c[Y>>2]|0)+1|0,(c[(c[da>>2]|0)+4>>2]|0)+28|0)|0;break a}c[G>>2]=c[(c[da>>2]|0)+4+4>>2];Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;X=(c[da>>2]|0)+4|0;c[h>>2]=c[X>>2];c[h+4>>2]=c[X+4>>2];qt(Y,Z,135,h);Xt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[G>>2]|0);break}case 160:{_=Yt(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1)|0;c[(c[da>>2]|0)+-32+4>>2]=_;c[(c[da>>2]|0)+-32+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 161:{Vt((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=pt(c[_>>2]|0,66,c[(c[da>>2]|0)+-48+4>>2]|0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 162:{if(c[(c[da>>2]|0)+-16+4>>2]|0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[_>>2]>>2]|0)+96+24>>2]|0):0){Z=c[_>>2]|0;c[U>>2]=(c[da>>2]|0)+-64+4;sl(Z,26043,U)}c[S>>2]=Zt(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,(c[da>>2]|0)+-64+4|0)|0;Vt(S,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);if((c[(c[da>>2]|0)+-32+4>>2]|0)==1?c[S>>2]|0:0){_=(c[S>>2]|0)+4|0;c[_>>2]=c[_>>2]|16}_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 163:{c[S>>2]=Zt(c[_>>2]|0,0,(c[da>>2]|0)+-48+4|0)|0;Vt(S,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+-48+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 164:{c[S>>2]=Zt(c[_>>2]|0,0,(c[da>>2]|0)+4|0)|0;Vt(S,(c[da>>2]|0)+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 165:{c[H>>2]=Et(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[S>>2]=pt(c[_>>2]|0,158,0,0,0)|0;if(c[S>>2]|0){c[(c[S>>2]|0)+20>>2]=c[H>>2];Vt(S,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0)}else Kk(c[c[_>>2]>>2]|0,c[H>>2]|0);_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 173:case 172:case 171:case 170:case 169:case 168:case 167:case 166:{_t(c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 174:{_=(c[da>>2]|0)+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 175:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];_=(c[da>>2]|0)+-16+4+4|0;c[_>>2]=c[_>>2]|-2147483648;break}case 176:{c[J>>2]=c[(c[da>>2]|0)+-16+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-16+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[I>>2]=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[I>>2]=Et(c[_>>2]|0,c[I>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;Z=Zt(c[_>>2]|0,c[I>>2]|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;$t(c[_>>2]|0,c[J>>2]|0,(c[da>>2]|0)+-32+4|0);c[(c[da>>2]|0)+-32+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-32+4>>2]|0){_=(c[(c[da>>2]|0)+-32+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 177:{c[L>>2]=c[(c[da>>2]|0)+-48+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-48+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[K>>2]=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[K>>2]=Et(c[_>>2]|0,c[K>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)|0;c[K>>2]=Et(c[_>>2]|0,c[K>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=Zt(c[_>>2]|0,c[K>>2]|0,(c[da>>2]|0)+-48+4|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;$t(c[_>>2]|0,c[L>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-64+4>>2]|0){_=(c[(c[da>>2]|0)+-64+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 178:{au(c[_>>2]|0,d[(c[da>>2]|0)+2>>0]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 179:{au(c[_>>2]|0,35,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 180:{_t(c[_>>2]|0,29,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);bu(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,34);break}case 181:{_t(c[_>>2]|0,148,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);bu(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,35);break}case 183:case 182:{cu((c[da>>2]|0)+-16+4|0,c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 184:{cu((c[da>>2]|0)+-16+4|0,c[_>>2]|0,155,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 185:{cu((c[da>>2]|0)+-16+4|0,c[_>>2]|0,156,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 189:case 186:{c[(c[da>>2]|0)+4>>2]=0;break}case 188:{c[M>>2]=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[M>>2]=Et(c[_>>2]|0,c[M>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=pt(c[_>>2]|0,32,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0)c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[M>>2];else Kk(c[c[_>>2]>>2]|0,c[M>>2]|0);$t(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];break}case 191:{do if(!(c[(c[da>>2]|0)+-16+4>>2]|0)){Ok(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);_=pt(c[_>>2]|0,134,0,0,4252+(c[(c[da>>2]|0)+-48+4>>2]<<3)|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_}else{if((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)==1){c[N>>2]=c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;Kk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);if(c[N>>2]|0){Z=(c[N>>2]|0)+4|0;c[Z>>2]=c[Z>>2]&-257;Z=(c[N>>2]|0)+4|0;c[Z>>2]=c[Z>>2]|512}_=pt(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0?36:37,c[(c[da>>2]|0)+-64+4>>2]|0,c[N>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}Z=pt(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0){c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[da>>2]|0)+-16+4>>2];du(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)}else Kk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);$t(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0)}while(0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 192:{Vt((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);Z=pt(c[_>>2]|0,119,0,0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;eu(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 193:{Z=pt(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;eu(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);$t(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 194:{c[O>>2]=Lt(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[P>>2]=Dt(c[_>>2]|0,0,c[O>>2]|0,0,0,0,0,0,0,0)|0;if(c[(c[da>>2]|0)+4>>2]|0)Kt(c[_>>2]|0,c[P>>2]|0?c[O>>2]|0:0,c[(c[da>>2]|0)+4>>2]|0);h=pt(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=h;eu(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[P>>2]|0);$t(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);h=c[da>>2]|0;if(c[(c[da>>2]|0)+-16+4>>2]|0){f=(c[da>>2]|0)+-16|0;h=c[h+-16+4>>2]|0}else{f=(c[da>>2]|0)+-32|0;h=c[h+-32+4>>2]|0}c[(c[da>>2]|0)+-64+4+8>>2]=h+(c[f+4+4>>2]|0);break}case 195:{Vt((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);Z=pt(c[_>>2]|0,20,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;c[Q>>2]=Z;eu(c[_>>2]|0,c[Q>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 196:{Vt((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);Z=pt(c[_>>2]|0,136,c[(c[da>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(!(c[(c[da>>2]|0)+-64+4>>2]|0)){Kk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);Ok(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break a}if(c[(c[da>>2]|0)+-16+4>>2]|0)h=Et(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[da>>2]|0)+-32+4>>2]|0;c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=h;du(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 197:{Z=Et(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;_=Et(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 198:{Z=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;_=Et(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 201:{c[(c[da>>2]|0)+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 204:{_=Et(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 205:{_=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 212:case 207:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 208:{tt(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,Lt(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-64+4|0,0)|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,(c[da>>2]|0)+-176+4|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-128+4>>2]|0,0);break}case 250:case 209:{c[(c[da>>2]|0)+4>>2]=2;break}case 210:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 213:{_=fu(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 214:{_=fu(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 217:{gu(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 218:{hu(c[_>>2]|0,0);break}case 219:{hu(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 220:{iu(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,0,0);break}case 221:{iu(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,0);break}case 222:{iu(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,0);break}case 223:{iu(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,1);break}case 224:{iu(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,1);break}case 227:{c[R>>2]=c[(c[da>>2]|0)+-48+4>>2];c[R+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);ju(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,R);break}case 228:{ku(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-64+4+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0);h=(c[da>>2]|0)+-160+4|0;f=c[da>>2]|0;if(!(c[(c[da>>2]|0)+-96+4+4>>2]|0)){_=f+-112+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}else{_=f+-96+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}}case 229:{c[(c[da>>2]|0)+4>>2]=63;break}case 230:{c[(c[da>>2]|0)+4>>2]=59;break}case 231:{c[(c[da>>2]|0)+-16+4>>2]=77;break}case 232:{c[(c[da>>2]|0)+16+4>>2]=63;break}case 234:case 233:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];c[(c[da>>2]|0)+4+4>>2]=0;break}case 235:{c[(c[da>>2]|0)+-32+4>>2]=110;c[(c[da>>2]|0)+-32+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 255:case 236:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 256:case 237:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 238:{c[(c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[da>>2]|0)+-16+4>>2];c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 239:{c[(c[(c[da>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 240:{Z=(c[da>>2]|0)+-32+4|0;Y=(c[da>>2]|0)+4|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];sl(c[_>>2]|0,26077,V);break}case 241:{sl(c[_>>2]|0,26172,W);break}case 242:{sl(c[_>>2]|0,26256,X);break}case 243:{_=lu(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-64+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]&255)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 244:{_=mu(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]&255)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 245:{_=nu(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 246:{_=ou(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 247:{Vt((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=pt(c[_>>2]|0,83,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;if(c[(c[da>>2]|0)+-48+4>>2]|0)a[(c[(c[da>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 248:{Vt((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=pt(c[_>>2]|0,83,0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;if(c[(c[da>>2]|0)+-80+4>>2]|0)a[(c[(c[da>>2]|0)+-80+4>>2]|0)+1>>0]=c[(c[da>>2]|0)+-48+4>>2];break}case 249:{c[(c[da>>2]|0)+4>>2]=1;break}case 251:{c[(c[da>>2]|0)+4>>2]=3;break}case 252:{pu(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 253:{qu(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 254:{ru(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 257:{su(c[_>>2]|0,0,0);break}case 258:{su(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 259:{tu(c[_>>2]|0,0,0);break}case 260:{tu(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 261:{uu(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+4|0);break}case 262:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[_>>2]|0)+392>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0)+(c[(c[_>>2]|0)+392+4>>2]|0);vu(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 263:{lt(c[_>>2]|0);wu(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 264:{xu(c[_>>2]|0,0);break}case 265:{xu(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 266:{yu(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 267:{zu(c[_>>2]|0);break}case 270:case 269:case 268:{Au(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 271:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 272:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 273:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 274:{_=Bu(c[_>>2]|0,0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 275:{_=Bu(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-112+4>>2]=_;break}default:{}}while(0);c[ba>>2]=d[25337+(c[aa>>2]<<1)>>0];c[ea>>2]=d[25337+(c[aa>>2]<<1)+1>>0];c[ca>>2]=Cu(e[(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4)>>1]|0,c[ba>>2]&255)|0;if((c[ca>>2]|0)>999){da=c[$>>2]|0;c[da>>2]=(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4);Du(c[$>>2]|0);l=fa;return}if((c[ca>>2]|0)>455)c[ca>>2]=(c[ca>>2]|0)+332;c[da>>2]=(c[da>>2]|0)+(0-((c[ea>>2]|0)-1)<<4);c[c[$>>2]>>2]=c[da>>2];b[c[da>>2]>>1]=c[ca>>2];a[(c[da>>2]|0)+2>>0]=c[ba>>2];l=fa;return}function dt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];b=c[g>>2]|0;c[h>>2]=d;sl(b,25313,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];l=e;return}function et(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-16;while(1){if((c[c[b>>2]>>2]|0)>>>0<=((c[b>>2]|0)+8|0)>>>0)break;_s(c[b>>2]|0)}sl(c[d>>2]|0,37034,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];l=f;return}function ft(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){l=n;return}if((d[(c[f>>2]|0)+69>>0]|0)==0?(c[(c[e>>2]|0)+36>>2]|0)==0:0){c[g>>2]=Lu(c[e>>2]|0)|0;do if(c[g>>2]|0?(Nu(c[g>>2]|0,75)|0,(d[(c[f>>2]|0)+69>>0]|0)==0):0){if((c[(c[e>>2]|0)+96>>2]|0)==0?(c[(c[e>>2]|0)+80>>2]|0)==0:0)break;ny(c[g>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0?(Yu(c[g>>2]|0,c[h>>2]|0),c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2],zy(c[g>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+92>>2]&1<>2]|0)!=0&1,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+148+5>>0]|0)==0):0)jy(c[g>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[e>>2]|0)+412>>2]|0))break;c[k>>2]=fw(c[f>>2]|0,c[(c[(c[e>>2]|0)+460>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;Uu(c[g>>2]|0,152,0,0,0,c[k>>2]|0,-10)|0;c[i>>2]=(c[i>>2]|0)+1}c[(c[e>>2]|0)+412>>2]=0;HF(c[e>>2]|0);IF(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+80>>2]|0){c[m>>2]=c[(c[e>>2]|0)+80>>2];a[(c[e>>2]|0)+23>>0]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[m>>2]>>2]|0))break a;Wy(c[e>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)+16>>2]|0);c[i>>2]=(c[i>>2]|0)+1}}while(0);my(c[g>>2]|0,1)|0}while(0);if((c[g>>2]|0?(c[(c[e>>2]|0)+36>>2]|0)==0:0)?(a[(c[f>>2]|0)+69>>0]|0)==0:0){if(c[(c[e>>2]|0)+120>>2]|0?(c[(c[e>>2]|0)+40>>2]|0)==0:0)c[(c[e>>2]|0)+40>>2]=1;JF(c[g>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;l=n;return}c[(c[e>>2]|0)+12>>2]=1;l=n;return}if(c[(c[e>>2]|0)+12>>2]|0){l=n;return}c[(c[e>>2]|0)+12>>2]=1;l=n;return}function gt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(Iu(c[d>>2]|0,22,36964,0,0)|0){l=i;return}c[g>>2]=Lu(c[d>>2]|0)|0;if(!(c[g>>2]|0)){l=i;return}a:do if((c[e>>2]|0)!=7){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;Qu(c[g>>2]|0,2,c[h>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;Yu(c[g>>2]|0,c[h>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);Nu(c[g>>2]|0,1)|0;l=i;return}function ht(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Iu(c[b>>2]|0,22,36987,0,0)|0){l=e;return}c[d>>2]=Lu(c[b>>2]|0)|0;if(!(c[d>>2]|0)){l=e;return}ey(c[d>>2]|0,1,1)|0;l=e;return}function it(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Iu(c[b>>2]|0,22,36978,0,0)|0){l=e;return}c[d>>2]=Lu(c[b>>2]|0)|0;if(!(c[d>>2]|0)){l=e;return}Qu(c[d>>2]|0,1,1,1)|0;l=e;return}function jt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=Eu(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[g>>2]|0)){l=i;return}c[h>>2]=Lu(c[e>>2]|0)|0;if(c[h>>2]|0?(Iu(c[e>>2]|0,32,c[5580+(c[f>>2]<<2)>>2]|0,c[g>>2]|0,0)|0)==0:0){Uu(c[h>>2]|0,0,c[f>>2]|0,0,0,c[g>>2]|0,-1)|0;l=i;return}Xd(c[c[e>>2]>>2]|0,c[g>>2]|0);l=i;return}function kt(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+112|0;v=J+16|0;H=J+8|0;u=J;G=J+96|0;s=J+92|0;t=J+88|0;m=J+84|0;w=J+80|0;x=J+76|0;y=J+72|0;n=J+68|0;z=J+64|0;A=J+60|0;B=J+56|0;I=J+52|0;C=J+48|0;o=J+44|0;p=J+40|0;q=J+36|0;r=J+32|0;D=J+28|0;E=J+24|0;F=J+20|0;c[G>>2]=e;c[s>>2]=f;c[t>>2]=g;c[m>>2]=h;c[w>>2]=i;c[x>>2]=j;c[y>>2]=k;c[z>>2]=0;c[A>>2]=c[c[G>>2]>>2];if(d[(c[A>>2]|0)+148+5>>0]|0?(c[(c[A>>2]|0)+148>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+148+4>>0];c[z>>2]=Xo(c[A>>2]|0,(c[I>>2]|0)==1?26433:26452)|0;c[C>>2]=c[s>>2]}else{c[I>>2]=ay(c[G>>2]|0,c[s>>2]|0,c[t>>2]|0,C)|0;if((c[I>>2]|0)<0){l=J;return}if(c[m>>2]|0?((c[I>>2]|0)!=1?(c[(c[t>>2]|0)+4>>2]|0)>>>0>0:0):0){sl(c[G>>2]|0,36854,u);l=J;return}if(c[m>>2]|0)c[I>>2]=1;c[z>>2]=Eu(c[A>>2]|0,c[C>>2]|0)|0}u=(c[G>>2]|0)+384|0;t=c[C>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];if(!(c[z>>2]|0)){l=J;return}a:do if(!(dw(c[G>>2]|0,c[z>>2]|0)|0)){if((d[(c[A>>2]|0)+148+4>>0]|0)==1)c[m>>2]=1;c[o>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(Iu(c[G>>2]|0,18,(c[m>>2]|0)==1?26433:26452,0,c[o>>2]|0)|0)){if((c[x>>2]|0)==0?Iu(c[G>>2]|0,d[36895+((c[m>>2]|0)+(c[w>>2]<<1))>>0]|0,c[z>>2]|0,0,c[o>>2]|0)|0:0)break;do if(!(a[(c[G>>2]|0)+410>>0]|0)){c[p>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(fv(c[G>>2]|0)|0)break a;c[n>>2]=gv(c[A>>2]|0,c[z>>2]|0,c[p>>2]|0)|0;if(!(c[n>>2]|0)){if(!(vv(c[A>>2]|0,c[z>>2]|0,c[p>>2]|0)|0))break;I=c[G>>2]|0;c[v>>2]=c[z>>2];sl(I,36923,v);break a}e=c[G>>2]|0;if(c[y>>2]|0){dv(e,c[I>>2]|0);break a}else{c[H>>2]=c[C>>2];sl(e,36899,H);break a}}while(0);c[n>>2]=_l(c[A>>2]|0,72,0)|0;if(!(c[n>>2]|0)){c[(c[G>>2]|0)+12>>2]=7;I=(c[G>>2]|0)+36|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[n>>2]>>2]=c[z>>2];b[(c[n>>2]|0)+32>>1]=-1;c[(c[n>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[n>>2]|0)+36>>1]=1;b[(c[n>>2]|0)+38>>1]=200;c[(c[G>>2]|0)+440>>2]=c[n>>2];if((a[(c[G>>2]|0)+18>>0]|0)==0?(G_(c[z>>2]|0,28225)|0)==0:0)c[(c[(c[n>>2]|0)+64>>2]|0)+72>>2]=c[n>>2];if(a[(c[A>>2]|0)+148+5>>0]|0){l=J;return}H=Lu(c[G>>2]|0)|0;c[B>>2]=H;if(!H){l=J;return}cv(c[G>>2]|0,1,c[I>>2]|0);if(c[x>>2]|0)Nu(c[B>>2]|0,152)|0;H=(c[G>>2]|0)+44|0;e=(c[H>>2]|0)+1|0;c[H>>2]=e;c[(c[G>>2]|0)+100>>2]=e;c[D>>2]=e;e=(c[G>>2]|0)+44|0;H=(c[e>>2]|0)+1|0;c[e>>2]=H;c[(c[G>>2]|0)+104>>2]=H;c[E>>2]=H;H=(c[G>>2]|0)+44|0;e=(c[H>>2]|0)+1|0;c[H>>2]=e;c[F>>2]=e;Ru(c[B>>2]|0,101,c[I>>2]|0,c[F>>2]|0,2)|0;Yu(c[B>>2]|0,c[I>>2]|0);c[q>>2]=ey(c[B>>2]|0,21,c[F>>2]|0)|0;c[r>>2]=c[(c[A>>2]|0)+24>>2]&32768|0?1:4;Ru(c[B>>2]|0,102,c[I>>2]|0,2,c[r>>2]|0)|0;Ru(c[B>>2]|0,102,c[I>>2]|0,5,d[(c[A>>2]|0)+66>>0]|0)|0;ny(c[B>>2]|0,c[q>>2]|0);e=c[B>>2]|0;if((c[w>>2]|0)!=0|(c[x>>2]|0)!=0)Qu(e,76,0,c[E>>2]|0)|0;else{H=Qu(e,135,c[I>>2]|0,c[E>>2]|0)|0;c[(c[G>>2]|0)+132>>2]=H}GF(c[G>>2]|0,c[I>>2]|0);Qu(c[B>>2]|0,114,0,c[D>>2]|0)|0;Uu(c[B>>2]|0,81,6,c[F>>2]|0,0,36958,-2)|0;Ru(c[B>>2]|0,115,0,c[F>>2]|0,c[D>>2]|0)|0;jy(c[B>>2]|0,8);Nu(c[B>>2]|0,111)|0;l=J;return}}while(0);Xd(c[A>>2]|0,c[z>>2]|0);l=J;return}function lt(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;l=d;return}function mt(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=l;l=l+208|0;O=R+72|0;M=R+64|0;Q=R+32|0;P=R+16|0;N=R+8|0;L=R;G=R+200|0;H=R+196|0;I=R+192|0;J=R+204|0;K=R+188|0;j=R+184|0;k=R+180|0;m=R+176|0;n=R+172|0;o=R+168|0;p=R+164|0;q=R+160|0;r=R+156|0;s=R+152|0;t=R+128|0;u=R+120|0;v=R+116|0;w=R+112|0;x=R+108|0;y=R+104|0;z=R+100|0;A=R+96|0;B=R+92|0;C=R+88|0;D=R+84|0;E=R+80|0;F=R+76|0;c[G>>2]=e;c[H>>2]=f;c[I>>2]=g;a[J>>0]=h;c[K>>2]=i;c[k>>2]=c[c[G>>2]>>2];if((c[I>>2]|0)==0&(c[K>>2]|0)==0){l=R;return}c[j>>2]=c[(c[G>>2]|0)+440>>2];if(!(c[j>>2]|0)){l=R;return}if(a[(c[k>>2]|0)+148+5>>0]|0?(c[(c[j>>2]|0)+28>>2]=c[(c[k>>2]|0)+148>>2],(c[(c[j>>2]|0)+28>>2]|0)==1):0){i=(c[j>>2]|0)+42|0;a[i>>0]=d[i>>0]|1}do if(d[J>>0]&32|0){if(d[(c[j>>2]|0)+42>>0]&8|0){sl(c[G>>2]|0,36535,L);l=R;return}if(!(d[(c[j>>2]|0)+42>>0]&4)){L=c[G>>2]|0;c[N>>2]=c[c[j>>2]>>2];sl(L,36585,N);break}else{N=(c[j>>2]|0)+42|0;a[N>>0]=d[N>>0]|96;zF(c[G>>2]|0,c[j>>2]|0);break}}while(0);c[m>>2]=Hu(c[k>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;if(c[(c[j>>2]|0)+24>>2]|0)uF(c[G>>2]|0,c[j>>2]|0,4,0,c[(c[j>>2]|0)+24>>2]|0);AF(c[j>>2]|0);c[n>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[n>>2]|0))break;xF(c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+20>>2]}if(!(a[(c[k>>2]|0)+148+5>>0]|0)){c[p>>2]=Lu(c[G>>2]|0)|0;if(!(c[p>>2]|0)){l=R;return}ey(c[p>>2]|0,111,0)|0;if(!(c[(c[j>>2]|0)+12>>2]|0)){c[q>>2]=32446;c[r>>2]=36617}else{c[q>>2]=35495;c[r>>2]=36623}do if(c[K>>2]|0){L=(c[G>>2]|0)+44|0;N=(c[L>>2]|0)+1|0;c[L>>2]=N;c[u>>2]=N;N=(c[G>>2]|0)+44|0;L=(c[N>>2]|0)+1|0;c[N>>2]=L;c[w>>2]=L;L=(c[G>>2]|0)+44|0;N=(c[L>>2]|0)+1|0;c[L>>2]=N;c[x>>2]=N;gw(c[G>>2]|0);Ru(c[p>>2]|0,105,1,c[(c[G>>2]|0)+104>>2]|0,c[m>>2]|0)|0;jy(c[p>>2]|0,16);c[(c[G>>2]|0)+40>>2]=2;c[v>>2]=(Pv(c[p>>2]|0)|0)+1;Ru(c[p>>2]|0,15,c[u>>2]|0,0,c[v>>2]|0)|0;Az(t,13,c[u>>2]|0);At(c[G>>2]|0,c[K>>2]|0,t)|0;lB(c[p>>2]|0,c[u>>2]|0);ny(c[p>>2]|0,(c[v>>2]|0)-1|0);if(c[(c[G>>2]|0)+36>>2]|0){l=R;return}c[z>>2]=mw(c[G>>2]|0,c[K>>2]|0)|0;if(!(c[z>>2]|0)){l=R;return}else{b[(c[j>>2]|0)+34>>1]=b[(c[z>>2]|0)+34>>1]|0;c[(c[j>>2]|0)+4>>2]=c[(c[z>>2]|0)+4>>2];b[(c[z>>2]|0)+34>>1]=0;c[(c[z>>2]|0)+4>>2]=0;tk(c[k>>2]|0,c[z>>2]|0);c[y>>2]=ey(c[p>>2]|0,16,c[t+8>>2]|0)|0;Ru(c[p>>2]|0,99,c[t+12>>2]|0,c[t+16>>2]|0,c[w>>2]|0)|0;oB(c[p>>2]|0,c[j>>2]|0,0);Qu(c[p>>2]|0,114,1,c[x>>2]|0)|0;Ru(c[p>>2]|0,115,1,c[w>>2]|0,c[x>>2]|0)|0;my(c[p>>2]|0,c[y>>2]|0)|0;ny(c[p>>2]|0,c[y>>2]|0);ey(c[p>>2]|0,111,1)|0;break}}while(0);if(c[K>>2]|0)c[s>>2]=BF(c[k>>2]|0,c[j>>2]|0)|0;else{c[A>>2]=d[J>>0]|0?(c[G>>2]|0)+392|0:c[I>>2]|0;c[o>>2]=(c[c[A>>2]>>2]|0)-(c[(c[G>>2]|0)+384>>2]|0);if((a[c[c[A>>2]>>2]>>0]|0)!=59)c[o>>2]=(c[o>>2]|0)+(c[(c[A>>2]|0)+4>>2]|0);N=c[k>>2]|0;K=c[o>>2]|0;L=c[(c[G>>2]|0)+384>>2]|0;c[P>>2]=c[r>>2];c[P+4>>2]=K;c[P+8>>2]=L;c[s>>2]=Wj(N,36628,P)|0}P=c[G>>2]|0;A=(c[m>>2]|0)==1?26433:26452;h=c[q>>2]|0;i=c[c[j>>2]>>2]|0;J=c[c[j>>2]>>2]|0;K=c[(c[G>>2]|0)+104>>2]|0;L=c[s>>2]|0;N=c[(c[G>>2]|0)+100>>2]|0;c[Q>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];c[Q+4>>2]=A;c[Q+8>>2]=h;c[Q+12>>2]=i;c[Q+16>>2]=J;c[Q+20>>2]=K;c[Q+24>>2]=L;c[Q+28>>2]=N;Ku(P,36643,Q);Xd(c[k>>2]|0,c[s>>2]|0);Mu(c[G>>2]|0,c[m>>2]|0);if(d[(c[j>>2]|0)+42>>0]&8|0?(c[B>>2]=(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4),(c[(c[(c[B>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[G>>2]|0;c[M>>2]=c[c[B>>2]>>2];Ku(Q,36730,M)}N=c[p>>2]|0;P=c[m>>2]|0;Q=c[k>>2]|0;c[O>>2]=c[c[j>>2]>>2];Ou(N,P,Wj(Q,36772,O)|0)}if(!(a[(c[k>>2]|0)+148+5>>0]|0)){l=R;return}c[D>>2]=c[(c[j>>2]|0)+64>>2];c[C>>2]=Fk((c[D>>2]|0)+8|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(c[C>>2]|0){Od(c[k>>2]|0);l=R;return}c[(c[G>>2]|0)+440>>2]=0;Q=(c[k>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[j>>2]|0)+12>>2]|0){l=R;return}c[E>>2]=c[(c[G>>2]|0)+384>>2];if(!(c[c[H>>2]>>2]|0))c[H>>2]=c[I>>2];c[F>>2]=(c[c[H>>2]>>2]|0)-(c[E>>2]|0);Q=13+(Uh(c[E>>2]|0,c[F>>2]|0)|0)|0;c[(c[j>>2]|0)+44>>2]=Q;l=R;return}function nt(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;t=v+8|0;s=v;k=v+48|0;m=v+44|0;n=v+40|0;o=v+36|0;p=v+32|0;q=v+28|0;r=v+24|0;h=v+20|0;i=v+16|0;j=v+12|0;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[i>>2]=c[c[k>>2]>>2];g=c[(c[k>>2]|0)+440>>2]|0;c[o>>2]=g;if(!g){l=v;return}if(((b[(c[o>>2]|0)+34>>1]|0)+1|0)>(c[(c[i>>2]|0)+96+8>>2]|0)){u=c[k>>2]|0;c[s>>2]=c[c[o>>2]>>2];sl(u,36486,s);l=v;return}c[q>>2]=Cd(c[i>>2]|0,(c[(c[m>>2]|0)+4>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)+2|0,0)|0;if(!(c[q>>2]|0)){l=v;return}h0(c[q>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;a[(c[q>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)>>0]=0;Vj(c[q>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;if(!(kl(c[q>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<4)>>2]|0)|0)){u=8;break}c[p>>2]=(c[p>>2]|0)+1}if((u|0)==8){u=c[k>>2]|0;c[t>>2]=c[q>>2];sl(u,36509,t);Xd(c[i>>2]|0,c[q>>2]|0);l=v;return}do if(!(b[(c[o>>2]|0)+34>>1]&7)){c[j>>2]=de(c[i>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+34>>1]|0)+8<<4,0)|0;if(c[j>>2]|0){c[(c[o>>2]|0)+4>>2]=c[j>>2];break}Xd(c[i>>2]|0,c[q>>2]|0);l=v;return}while(0);c[h>>2]=(c[(c[o>>2]|0)+4>>2]|0)+(b[(c[o>>2]|0)+34>>1]<<4);u=c[h>>2]|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[c[h>>2]>>2]=c[q>>2];if(!(c[(c[n>>2]|0)+4>>2]|0)){a[(c[h>>2]|0)+13>>0]=65;a[(c[h>>2]|0)+14>>0]=1}else{u=c[q>>2]|0;c[r>>2]=u+(md(c[q>>2]|0)|0)+1;h0(c[r>>2]|0,c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0)|0;a[(c[r>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)>>0]=0;Vj(c[r>>2]|0);u=Wv(c[r>>2]|0,(c[h>>2]|0)+14|0)|0;a[(c[h>>2]|0)+13>>0]=u;u=(c[h>>2]|0)+15|0;a[u>>0]=d[u>>0]|4}u=(c[o>>2]|0)+34|0;b[u>>1]=(b[u>>1]|0)+1<<16>>16;c[(c[k>>2]|0)+84+4>>2]=0;l=v;return}function ot(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;h=n;f=n+72|0;i=n+68|0;g=n+64|0;j=n+60|0;k=n+56|0;m=n+8|0;c[f>>2]=d;c[i>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+440>>2];if(!(c[g>>2]|0)){k=c[k>>2]|0;m=c[i>>2]|0;m=c[m>>2]|0;Ok(k,m);l=n;return}c[j>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4);if(yF(c[c[i>>2]>>2]|0,a[(c[k>>2]|0)+148+5>>0]|0)|0){Ok(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0);d=m;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a[m>>0]=-95;h=(c[(c[i>>2]|0)+8>>2]|0)-(c[(c[i>>2]|0)+4>>2]|0)|0;c[m+8>>2]=Uj(c[k>>2]|0,c[(c[i>>2]|0)+4>>2]|0,h,((h|0)<0)<<31>>31)|0;c[m+12>>2]=c[c[i>>2]>>2];c[m+4>>2]=4096;h=Ww(c[k>>2]|0,m,1)|0;c[(c[j>>2]|0)+4>>2]=h;Xd(c[k>>2]|0,c[m+8>>2]|0);k=c[k>>2]|0;m=c[i>>2]|0;m=c[m>>2]|0;Ok(k,m);l=n;return}else{m=c[f>>2]|0;c[h>>2]=c[c[j>>2]>>2];sl(m,36441,h);k=c[k>>2]|0;m=c[i>>2]|0;m=c[m>>2]|0;Ok(k,m);l=n;return}}function pt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;if((c[i>>2]|0)==28?(c[(c[h>>2]|0)+36>>2]|0)==0:0)c[g>>2]=Mx(c[c[h>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[g>>2]=Wt(c[c[h>>2]>>2]|0,c[i>>2]&255,c[m>>2]|0,1)|0;Ox(c[c[h>>2]>>2]|0,c[g>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[g>>2]|0)){m=c[g>>2]|0;l=n;return m|0}lx(c[h>>2]|0,c[(c[g>>2]|0)+24>>2]|0)|0;m=c[g>>2]|0;l=n;return m|0}function qt(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m+12|0;n=m+8|0;j=m+4|0;k=m;c[i>>2]=e;c[n>>2]=f;c[j>>2]=g;c[k>>2]=Ed(c[c[n>>2]>>2]|0,48+(c[h+4>>2]|0)+1|0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;k=c[i>>2]|0;c[k>>2]=n;k=c[h>>2]|0;n=c[i>>2]|0;n=n+4|0;c[n>>2]=k;n=c[h>>2]|0;k=h+4|0;k=c[k>>2]|0;k=n+k|0;n=c[i>>2]|0;n=n+8|0;c[n>>2]=k;l=m;return}e=c[k>>2]|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[c[k>>2]>>0]=c[j>>2];c[(c[k>>2]|0)+4>>2]=8388608;b[(c[k>>2]|0)+34>>1]=-1;c[(c[k>>2]|0)+8>>2]=(c[k>>2]|0)+48;h0(c[(c[k>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[(c[k>>2]|0)+8>>2]|0)+(c[h+4>>2]|0)>>0]=0;if(d[20063+(d[c[(c[k>>2]|0)+8>>2]>>0]|0)>>0]&128|0){if((a[c[(c[k>>2]|0)+8>>2]>>0]|0)==34){n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|64}Vj(c[(c[k>>2]|0)+8>>2]|0)}c[(c[k>>2]|0)+24>>2]=1;n=c[k>>2]|0;k=c[i>>2]|0;c[k>>2]=n;k=c[h>>2]|0;n=c[i>>2]|0;n=n+4|0;c[n>>2]=k;n=c[h>>2]|0;k=h+4|0;k=c[k>>2]|0;k=n+k|0;n=c[i>>2]|0;n=n+8|0;c[n>>2]=k;l=m;return}function rt(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+8|0;f=h+4|0;g=h;c[i>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[i>>2]|0)+440>>2];if(!(c[g>>2]|0)){l=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){l=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4)+12>>0]=c[f>>2];l=h;return}function st(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;x=y+8|0;r=y;s=y+56|0;t=y+52|0;u=y+48|0;v=y+44|0;w=y+40|0;j=y+36|0;k=y+32|0;m=y+28|0;n=y+24|0;o=y+20|0;p=y+16|0;q=y+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=i;c[j>>2]=c[(c[s>>2]|0)+440>>2];c[k>>2]=0;c[m>>2]=-1;if(!(c[j>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;Kk(w,x);l=y;return}if(d[(c[j>>2]|0)+42>>0]&4|0){w=c[s>>2]|0;c[r>>2]=c[c[j>>2]>>2];sl(w,36344,r);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;Kk(w,x);l=y;return}r=(c[j>>2]|0)+42|0;a[r>>0]=d[r>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[k>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[k>>2]|0)+15|0;a[r>>0]=d[r>>0]|1;c[o>>2]=1}else{c[o>>2]=c[c[t>>2]>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break a;c[p>>2]=yw(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;vF(c[p>>2]|0);b:do if((d[c[p>>2]>>0]|0)==55){c[q>>2]=c[(c[p>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break b;if(!(bh(c[q>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0)|0))break;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[k>>2]|0)+15|0;a[r>>0]=d[r>>0]|1}while(0);c[n>>2]=(c[n>>2]|0)+1}}while(0);if((c[o>>2]|0)==1&(c[k>>2]|0)!=0?(r=(bh(kv(c[k>>2]|0,55752)|0,28455)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[j>>2]|0)+32>>1]=c[m>>2];a[(c[j>>2]|0)+43>>0]=c[u>>2];x=(c[j>>2]|0)+42|0;a[x>>0]=d[x>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;Kk(w,x);l=y;return}a[(c[s>>2]|0)+408>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;Kk(w,x);l=y;return}e=c[s>>2]|0;if(c[v>>2]|0){sl(e,36385,x);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;Kk(w,x);l=y;return}else{tt(e,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0,2);c[t>>2]=0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;Kk(w,x);l=y;return}}function tt(f,g,h,i,j,k,m,n,o,p,q){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=l;l=l+352|0;ma=za+112|0;la=za+88|0;ka=za+72|0;ja=za+64|0;ia=za+56|0;D=za+48|0;K=za+40|0;C=za+32|0;B=za+24|0;F=za+16|0;E=za+8|0;A=za;L=za+332|0;r=za+328|0;s=za+324|0;ta=za+320|0;ua=za+316|0;na=za+312|0;M=za+308|0;va=za+304|0;t=za+300|0;G=za+296|0;N=za+336|0;oa=za+292|0;wa=za+288|0;xa=za+284|0;H=za+280|0;O=za+276|0;P=za+272|0;u=za+248|0;Q=za+240|0;ya=za+236|0;I=za+232|0;pa=za+228|0;R=za+224|0;S=za+220|0;T=za+216|0;J=za+212|0;U=za+208|0;V=za+204|0;v=za+200|0;w=za+196|0;x=za+192|0;y=za+184|0;z=za+180|0;W=za+176|0;X=za+172|0;Y=za+168|0;Z=za+164|0;_=za+160|0;$=za+156|0;aa=za+152|0;ba=za+148|0;ca=za+144|0;da=za+140|0;qa=za+136|0;ea=za+132|0;fa=za+128|0;ga=za+124|0;ha=za+120|0;ra=za+116|0;c[L>>2]=f;c[r>>2]=g;c[s>>2]=h;c[ta>>2]=i;c[ua>>2]=j;c[na>>2]=k;c[M>>2]=m;c[va>>2]=n;c[t>>2]=o;c[G>>2]=p;a[N>>0]=q;c[oa>>2]=0;c[wa>>2]=0;c[xa>>2]=0;c[ya>>2]=c[c[L>>2]>>2];c[R>>2]=0;c[T>>2]=0;c[U>>2]=0;c[V>>2]=0;a:do if((d[(c[ya>>2]|0)+69>>0]|0)==0?(c[(c[L>>2]|0)+36>>2]|0)<=0:0){if(d[(c[L>>2]|0)+410>>0]|0?(d[N>>0]|0)!=2:0)break;if(!(fv(c[L>>2]|0)|0)){f=c[L>>2]|0;if(c[ta>>2]|0){c[pa>>2]=ay(f,c[r>>2]|0,c[s>>2]|0,R)|0;if((c[pa>>2]|0)<0)break;if(((a[(c[ya>>2]|0)+148+5>>0]|0)==0?(c[oa>>2]=bA(c[L>>2]|0,c[ta>>2]|0)|0,c[oa>>2]|0?(c[(c[s>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[oa>>2]|0)+64>>2]|0)==(c[(c[(c[ya>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[pa>>2]=1;cA(u,c[L>>2]|0,c[pa>>2]|0,32611,c[R>>2]|0);dA(u,c[ta>>2]|0)|0;c[oa>>2]=av(c[L>>2]|0,0,(c[ta>>2]|0)+8|0)|0;if(!(c[oa>>2]|0))break;if((c[pa>>2]|0)==1?(c[(c[(c[ya>>2]|0)+16>>2]|0)+(c[pa>>2]<<4)+12>>2]|0)!=(c[(c[oa>>2]|0)+64>>2]|0):0){sa=c[L>>2]|0;c[A>>2]=c[c[oa>>2]>>2];sl(sa,35910,A);break}if(d[(c[oa>>2]|0)+42>>0]&32|0)c[V>>2]=uv(c[oa>>2]|0)|0}else{c[oa>>2]=c[f+440>>2];if(!(c[oa>>2]|0))break;c[pa>>2]=Hu(c[ya>>2]|0,c[(c[oa>>2]|0)+64>>2]|0)|0}c[I>>2]=(c[(c[ya>>2]|0)+16>>2]|0)+(c[pa>>2]<<4);if(((ld(c[c[oa>>2]>>2]|0,26664,7)|0)==0?(d[(c[ya>>2]|0)+148+5>>0]|0)==0:0)?ld((c[c[oa>>2]>>2]|0)+7|0,35960,9)|0:0){sa=c[L>>2]|0;c[E>>2]=c[c[oa>>2]>>2];sl(sa,35970,E);break}if(c[(c[oa>>2]|0)+12>>2]|0){sl(c[L>>2]|0,35998,F);break}if(d[(c[oa>>2]|0)+42>>0]&16|0){sl(c[L>>2]|0,36023,B);break}if(c[R>>2]|0){c[xa>>2]=Eu(c[ya>>2]|0,c[R>>2]|0)|0;if(!(c[xa>>2]|0))break;if(dw(c[L>>2]|0,c[xa>>2]|0)|0)break;if((a[(c[ya>>2]|0)+148+5>>0]|0)==0?gv(c[ya>>2]|0,c[xa>>2]|0,0)|0:0){sa=c[L>>2]|0;c[C>>2]=c[xa>>2];sl(sa,36057,C);break}if(vv(c[ya>>2]|0,c[xa>>2]|0,c[c[I>>2]>>2]|0)|0){f=c[L>>2]|0;if(c[G>>2]|0){dv(f,c[pa>>2]|0);break}else{c[K>>2]=c[xa>>2];sl(f,36091,K);break}}}else{c[w>>2]=c[(c[oa>>2]|0)+8>>2];c[v>>2]=1;while(1){if(!(c[w>>2]|0))break;c[w>>2]=c[(c[w>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}K=c[ya>>2]|0;G=c[v>>2]|0;c[D>>2]=c[c[oa>>2]>>2];c[D+4>>2]=G;c[xa>>2]=Wj(K,36115,D)|0;if(!(c[xa>>2]|0))break;if(a[(c[L>>2]|0)+410>>0]|0){K=(c[xa>>2]|0)+7|0;a[K>>0]=(a[K>>0]|0)+1<<24>>24}}c[x>>2]=c[c[I>>2]>>2];if((Iu(c[L>>2]|0,18,(c[pa>>2]|0)==1?26433:26452,0,c[x>>2]|0)|0)==0?(c[O>>2]=1,c[O>>2]=(c[pa>>2]|0)==1?3:1,(Iu(c[L>>2]|0,c[O>>2]|0,c[xa>>2]|0,c[c[oa>>2]>>2]|0,c[x>>2]|0)|0)==0):0){if(!(c[ua>>2]|0)){jx(y,c[(c[(c[oa>>2]|0)+4>>2]|0)+((b[(c[oa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);K=c[L>>2]|0;c[ua>>2]=Et(K,0,Wt(c[ya>>2]|0,55,y,0)|0)|0;if(!(c[ua>>2]|0))break;Nt(c[ua>>2]|0,c[t>>2]|0)}else Qt(c[L>>2]|0,c[ua>>2]|0,32611);c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[c[ua>>2]>>2]|0))break;c[z>>2]=c[(c[(c[ua>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==53){K=1+(md(c[(c[z>>2]|0)+8>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+K}c[O>>2]=(c[O>>2]|0)+1}c[H>>2]=md(c[xa>>2]|0)|0;if(c[V>>2]|0)f=e[(c[V>>2]|0)+50>>1]|0;else f=1;c[J>>2]=f;c[wa>>2]=yC(c[ya>>2]|0,(c[c[ua>>2]>>2]|0)+(c[J>>2]|0)&65535,(c[H>>2]|0)+(c[T>>2]|0)+1|0,U)|0;if(!(a[(c[ya>>2]|0)+69>>0]|0)){c[c[wa>>2]>>2]=c[U>>2];c[U>>2]=(c[U>>2]|0)+((c[H>>2]|0)+1);h0(c[c[wa>>2]>>2]|0,c[xa>>2]|0,(c[H>>2]|0)+1|0)|0;c[(c[wa>>2]|0)+12>>2]=c[oa>>2];a[(c[wa>>2]|0)+54>>0]=c[na>>2];K=(c[wa>>2]|0)+55|0;a[K>>0]=a[K>>0]&-9|((c[na>>2]|0)!=0&1)<<3&255;K=(c[wa>>2]|0)+55|0;a[K>>0]=a[K>>0]&-4|d[N>>0]&3;c[(c[wa>>2]|0)+24>>2]=c[(c[(c[ya>>2]|0)+16>>2]|0)+(c[pa>>2]<<4)+12>>2];b[(c[wa>>2]|0)+50>>1]=c[c[ua>>2]>>2];if(c[va>>2]|0){uF(c[L>>2]|0,c[oa>>2]|0,2,c[va>>2]|0,0);c[(c[wa>>2]|0)+36>>2]=c[va>>2];c[va>>2]=0}if((d[(c[(c[I>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[Q>>2]=-1;else c[Q>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[ua>>2]|0)+4>>2];while(1){if((c[O>>2]|0)>=(c[c[ua>>2]>>2]|0))break;vF(c[c[S>>2]>>2]|0);uF(c[L>>2]|0,c[oa>>2]|0,32,c[c[S>>2]>>2]|0,0);if(c[(c[L>>2]|0)+36>>2]|0)break a;c[W>>2]=yw(c[c[S>>2]>>2]|0)|0;if((d[c[W>>2]>>0]|0)!=152){if((c[oa>>2]|0)==(c[(c[L>>2]|0)+440>>2]|0)){sa=68;break}do if(!(c[(c[wa>>2]|0)+40>>2]|0)){c[Z>>2]=cx(c[ya>>2]|0,c[ua>>2]|0,0)|0;c[(c[wa>>2]|0)+40>>2]=c[Z>>2];if(a[(c[ya>>2]|0)+69>>0]|0)break;c[S>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)}while(0);c[P>>2]=-2;b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1]=-2;K=(c[wa>>2]|0)+55|0;a[K>>0]=a[K>>0]&-9}else{c[P>>2]=b[(c[W>>2]|0)+32>>1];f=c[oa>>2]|0;do if((c[P>>2]|0)<0)c[P>>2]=b[f+32>>1];else{if(d[(c[f+4>>2]|0)+(c[P>>2]<<4)+12>>0]|0)break;K=(c[wa>>2]|0)+55|0;a[K>>0]=a[K>>0]&-9}while(0);b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1]=c[P>>2]}c[Y>>2]=0;do if((d[c[c[S>>2]>>2]>>0]|0)==53){c[Y>>2]=c[(c[c[S>>2]>>2]|0)+8>>2];c[_>>2]=(md(c[Y>>2]|0)|0)+1;h0(c[U>>2]|0,c[Y>>2]|0,c[_>>2]|0)|0;c[Y>>2]=c[U>>2];c[U>>2]=(c[U>>2]|0)+(c[_>>2]|0);c[T>>2]=(c[T>>2]|0)-(c[_>>2]|0)}else{if((c[P>>2]|0)<0)break;c[Y>>2]=c[(c[(c[oa>>2]|0)+4>>2]|0)+(c[P>>2]<<4)+8>>2]}while(0);if(!(c[Y>>2]|0))c[Y>>2]=34455;if((a[(c[ya>>2]|0)+148+5>>0]|0)==0?(ly(c[L>>2]|0,c[Y>>2]|0)|0)==0:0)break a;c[(c[(c[wa>>2]|0)+32>>2]|0)+(c[O>>2]<<2)>>2]=c[Y>>2];c[X>>2]=d[(c[S>>2]|0)+12>>0]&c[Q>>2];a[(c[(c[wa>>2]|0)+28>>2]|0)+(c[O>>2]|0)>>0]=c[X>>2];c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=(c[S>>2]|0)+20}if((sa|0)==68){sl(c[L>>2]|0,36138,ia);break}b:do if(c[V>>2]|0){c[P>>2]=0;while(1){if((c[P>>2]|0)>=(e[(c[V>>2]|0)+50>>1]|0))break b;c[$>>2]=b[(c[(c[V>>2]|0)+4>>2]|0)+(c[P>>2]<<1)>>1];if(wF(c[(c[wa>>2]|0)+4>>2]|0,e[(c[wa>>2]|0)+50>>1]|0,c[$>>2]|0)|0){ia=(c[wa>>2]|0)+52|0;b[ia>>1]=(b[ia>>1]|0)+-1<<16>>16}else{b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1]=c[$>>2];c[(c[(c[wa>>2]|0)+32>>2]|0)+(c[O>>2]<<2)>>2]=c[(c[(c[V>>2]|0)+32>>2]|0)+(c[P>>2]<<2)>>2];a[(c[(c[wa>>2]|0)+28>>2]|0)+(c[O>>2]|0)>>0]=a[(c[(c[V>>2]|0)+28>>2]|0)+(c[P>>2]|0)>>0]|0;c[O>>2]=(c[O>>2]|0)+1}c[P>>2]=(c[P>>2]|0)+1}}else{b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1]=-1;c[(c[(c[wa>>2]|0)+32>>2]|0)+(c[O>>2]<<2)>>2]=34455}while(0);tv(c[wa>>2]|0);if(!(c[(c[L>>2]|0)+440>>2]|0))xF(c[wa>>2]|0);c:do if(c[ta>>2]|0){if((e[(c[wa>>2]|0)+52>>1]|0)<(b[(c[oa>>2]|0)+34>>1]|0))break;ia=(c[wa>>2]|0)+55|0;a[ia>>0]=a[ia>>0]&-33|32;c[P>>2]=0;while(1){if((c[P>>2]|0)>=(b[(c[oa>>2]|0)+34>>1]|0))break c;if((c[P>>2]|0)!=(b[(c[oa>>2]|0)+32>>1]|0)?((Uy(c[wa>>2]|0,c[P>>2]&65535)|0)<<16>>16|0)<0:0)break;c[P>>2]=(c[P>>2]|0)+1}ia=(c[wa>>2]|0)+55|0;a[ia>>0]=a[ia>>0]&-33}while(0);d:do if((c[oa>>2]|0)==(c[(c[L>>2]|0)+440>>2]|0)){c[aa>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(!(c[aa>>2]|0))break d;if((e[(c[aa>>2]|0)+50>>1]|0)==(e[(c[wa>>2]|0)+50>>1]|0)){c[ba>>2]=0;while(1){if((c[ba>>2]|0)>=(e[(c[aa>>2]|0)+50>>1]|0))break;if((b[(c[(c[aa>>2]|0)+4>>2]|0)+(c[ba>>2]<<1)>>1]|0)!=(b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[ba>>2]<<1)>>1]|0))break;c[ca>>2]=c[(c[(c[aa>>2]|0)+32>>2]|0)+(c[ba>>2]<<2)>>2];c[da>>2]=c[(c[(c[wa>>2]|0)+32>>2]|0)+(c[ba>>2]<<2)>>2];if(bh(c[ca>>2]|0,c[da>>2]|0)|0)break;c[ba>>2]=(c[ba>>2]|0)+1}if((c[ba>>2]|0)==(e[(c[aa>>2]|0)+50>>1]|0))break}c[aa>>2]=c[(c[aa>>2]|0)+20>>2]}do if((d[(c[aa>>2]|0)+54>>0]|0)!=(d[(c[wa>>2]|0)+54>>0]|0)){do if((d[(c[aa>>2]|0)+54>>0]|0)!=10){if((d[(c[wa>>2]|0)+54>>0]|0)==10)break;sa=c[L>>2]|0;c[ja>>2]=0;sl(sa,36199,ja)}while(0);if((d[(c[aa>>2]|0)+54>>0]|0)!=10)break;a[(c[aa>>2]|0)+54>>0]=a[(c[wa>>2]|0)+54>>0]|0}while(0);if((d[N>>0]|0)!=2)break a;sa=(c[aa>>2]|0)+55|0;a[sa>>0]=a[sa>>0]&-4|d[N>>0]&3;break a}while(0);do if(a[(c[ya>>2]|0)+148+5>>0]|0){c[qa>>2]=Fk((c[(c[wa>>2]|0)+24>>2]|0)+24|0,c[c[wa>>2]>>2]|0,c[wa>>2]|0)|0;f=c[ya>>2]|0;if(c[qa>>2]|0){Od(f);break a}qa=f+24|0;c[qa>>2]=c[qa>>2]|2;if(!(c[ta>>2]|0))break;c[(c[wa>>2]|0)+44>>2]=c[(c[ya>>2]|0)+148>>2]}else{if(!(c[ta>>2]|0?1:(d[(c[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(c[L>>2]|0)+44|0;qa=(c[ja>>2]|0)+1|0;c[ja>>2]=qa;c[ga>>2]=qa;c[ea>>2]=Lu(c[L>>2]|0)|0;if(!(c[ea>>2]|0))break a;cv(c[L>>2]|0,1,c[pa>>2]|0);qa=Nu(c[ea>>2]|0,161)|0;c[(c[wa>>2]|0)+44>>2]=qa;Qu(c[ea>>2]|0,134,c[pa>>2]|0,c[ga>>2]|0)|0;if(c[M>>2]|0){c[ha>>2]=(c[(c[L>>2]|0)+392>>2]|0)-(c[c[R>>2]>>2]|0)+(c[(c[L>>2]|0)+392+4>>2]|0);if((a[(c[c[R>>2]>>2]|0)+((c[ha>>2]|0)-1)>>0]|0)==59)c[ha>>2]=(c[ha>>2]|0)+-1;qa=c[ya>>2]|0;ia=c[ha>>2]|0;ja=c[c[R>>2]>>2]|0;c[ka>>2]=(c[na>>2]|0)==0?55752:36241;c[ka+4>>2]=ia;c[ka+8>>2]=ja;c[fa>>2]=Wj(qa,36249,ka)|0}else c[fa>>2]=0;qa=c[L>>2]|0;da=(c[pa>>2]|0)==1?26433:26452;ha=c[c[wa>>2]>>2]|0;ia=c[c[oa>>2]>>2]|0;ja=c[ga>>2]|0;ka=c[fa>>2]|0;c[la>>2]=c[(c[(c[ya>>2]|0)+16>>2]|0)+(c[pa>>2]<<4)>>2];c[la+4>>2]=da;c[la+8>>2]=ha;c[la+12>>2]=ia;c[la+16>>2]=ja;c[la+20>>2]=ka;Ku(qa,36269,la);Xd(c[ya>>2]|0,c[fa>>2]|0);if(c[ta>>2]|0){Cy(c[L>>2]|0,c[wa>>2]|0,c[ga>>2]|0);Mu(c[L>>2]|0,c[pa>>2]|0);la=c[ea>>2]|0;pa=c[pa>>2]|0;qa=c[ya>>2]|0;c[ma>>2]=c[c[wa>>2]>>2];Ou(la,pa,Wj(qa,36317,ma)|0);Nu(c[ea>>2]|0,150)|0}ny(c[ea>>2]|0,c[(c[wa>>2]|0)+44>>2]|0)}while(0);if(!((c[ta>>2]|0)==0?1:(d[(c[ya>>2]|0)+148+5>>0]|0)!=0))break;do if((c[na>>2]|0)!=5)sa=143;else{if(!(c[(c[oa>>2]|0)+8>>2]|0)){sa=143;break}if((d[(c[(c[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){sa=143;break}c[ra>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(c[(c[ra>>2]|0)+20>>2]|0)g=(d[(c[(c[ra>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else g=0;f=c[(c[ra>>2]|0)+20>>2]|0;if(!g)break;c[ra>>2]=f}c[(c[wa>>2]|0)+20>>2]=f;c[(c[ra>>2]|0)+20>>2]=c[wa>>2]}while(0);if((sa|0)==143){c[(c[wa>>2]|0)+20>>2]=c[(c[oa>>2]|0)+8>>2];c[(c[oa>>2]|0)+8>>2]=c[wa>>2]}c[wa>>2]=0}}}}while(0);if(!(c[wa>>2]|0)){sa=c[ya>>2]|0;wa=c[va>>2]|0;Ok(sa,wa);wa=c[ya>>2]|0;va=c[ua>>2]|0;Kk(wa,va);va=c[ya>>2]|0;wa=c[ta>>2]|0;Rk(va,wa);wa=c[ya>>2]|0;ya=c[xa>>2]|0;Xd(wa,ya);l=za;return}Gk(c[ya>>2]|0,c[wa>>2]|0);sa=c[ya>>2]|0;wa=c[va>>2]|0;Ok(sa,wa);wa=c[ya>>2]|0;va=c[ua>>2]|0;Kk(wa,va);va=c[ya>>2]|0;wa=c[ta>>2]|0;Rk(va,wa);wa=c[ya>>2]|0;ya=c[xa>>2]|0;Xd(wa,ya);l=za;return}function ut(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[(c[f>>2]|0)+440>>2];c[i>>2]=c[c[f>>2]>>2];if((c[h>>2]|0?(a[(c[f>>2]|0)+410>>0]|0)==0:0)?(tF(c[(c[(c[i>>2]|0)+16>>2]|0)+(d[(c[i>>2]|0)+148+4>>0]<<4)+4>>2]|0)|0)==0:0){i=Et(c[f>>2]|0,c[(c[h>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[h>>2]|0)+24>>2]=i;if(!(c[(c[f>>2]|0)+84+4>>2]|0)){l=j;return}Ft(c[f>>2]|0,c[(c[h>>2]|0)+24>>2]|0,(c[f>>2]|0)+84|0,1);l=j;return}Ok(c[c[f>>2]>>2]|0,c[g>>2]|0);l=j;return}function vt(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+96|0;C=E+16|0;o=E+8|0;n=E;y=E+80|0;z=E+76|0;m=E+72|0;A=E+68|0;B=E+64|0;p=E+60|0;q=E+56|0;r=E+52|0;s=E+48|0;j=E+44|0;t=E+40|0;u=E+36|0;v=E+32|0;k=E+28|0;w=E+24|0;x=E+20|0;c[y>>2]=e;c[z>>2]=f;c[m>>2]=g;c[A>>2]=h;c[B>>2]=i;c[p>>2]=c[c[y>>2]>>2];c[q>>2]=0;c[s>>2]=c[(c[y>>2]|0)+440>>2];a:do if(c[s>>2]|0?(d[(c[y>>2]|0)+410>>0]|0)==0:0){if(!(c[z>>2]|0)){c[k>>2]=(b[(c[s>>2]|0)+34>>1]|0)-1;if((c[k>>2]|0)<0)break;if(c[A>>2]|0?(c[c[A>>2]>>2]|0)!=1:0){D=c[y>>2]|0;C=c[m>>2]|0;c[n>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+(c[k>>2]<<4)>>2];c[n+4>>2]=C;sl(D,35707,n);break}c[u>>2]=1}else{if(c[A>>2]|0?(c[c[A>>2]>>2]|0)!=(c[c[z>>2]>>2]|0):0){sl(c[y>>2]|0,35770,o);break}c[u>>2]=c[c[z>>2]>>2]}c[j>>2]=44+((c[u>>2]|0)-1<<3)+(c[(c[m>>2]|0)+4>>2]|0)+1;b:do if(c[A>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[A>>2]>>2]|0))break b;o=(md(c[(c[(c[A>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[j>>2]=(c[j>>2]|0)+o;c[t>>2]=(c[t>>2]|0)+1}}while(0);o=c[j>>2]|0;c[q>>2]=_l(c[p>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[c[q>>2]>>2]=c[s>>2];c[(c[q>>2]|0)+4>>2]=c[(c[s>>2]|0)+16>>2];c[v>>2]=(c[q>>2]|0)+36+(c[u>>2]<<3);c[(c[q>>2]|0)+8>>2]=c[v>>2];h0(c[v>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;a[(c[v>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)>>0]=0;Vj(c[v>>2]|0);c[v>>2]=(c[v>>2]|0)+((c[(c[m>>2]|0)+4>>2]|0)+1);c[(c[q>>2]|0)+20>>2]=c[u>>2];c:do if(!(c[z>>2]|0))c[(c[q>>2]|0)+36>>2]=(b[(c[s>>2]|0)+34>>1]|0)-1;else{c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break c;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;o=(bh(c[(c[(c[s>>2]|0)+4>>2]|0)+(c[w>>2]<<4)>>2]|0,c[(c[(c[z>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0)==0;e=c[w>>2]|0;if(o){D=25;break}c[w>>2]=e+1}if((D|0)==25){D=0;c[(c[q>>2]|0)+36+(c[t>>2]<<3)>>2]=e}if((c[w>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;c[t>>2]=(c[t>>2]|0)+1}D=c[y>>2]|0;c[C>>2]=c[(c[(c[z>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2];sl(D,35864,C);break a}while(0);d:do if(c[A>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break d;c[x>>2]=md(c[(c[(c[A>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0;c[(c[q>>2]|0)+36+(c[t>>2]<<3)+4>>2]=c[v>>2];h0(c[v>>2]|0,c[(c[(c[A>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0,c[x>>2]|0)|0;a[(c[v>>2]|0)+(c[x>>2]|0)>>0]=0;c[v>>2]=(c[v>>2]|0)+((c[x>>2]|0)+1);c[t>>2]=(c[t>>2]|0)+1}}while(0);a[(c[q>>2]|0)+24>>0]=0;a[(c[q>>2]|0)+25>>0]=c[B>>2];a[(c[q>>2]|0)+25+1>>0]=c[B>>2]>>8;c[r>>2]=Fk((c[(c[s>>2]|0)+64>>2]|0)+56|0,c[(c[q>>2]|0)+8>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==(c[q>>2]|0)){Od(c[p>>2]|0);break}if(c[r>>2]|0){c[(c[q>>2]|0)+12>>2]=c[r>>2];c[(c[r>>2]|0)+16>>2]=c[q>>2]}c[(c[s>>2]|0)+16>>2]=c[q>>2];c[q>>2]=0}}while(0);Xd(c[p>>2]|0,c[q>>2]|0);Kk(c[p>>2]|0,c[z>>2]|0);Kk(c[p>>2]|0,c[A>>2]|0);l=E;return}function wt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=b;c[e>>2]=d;d=c[(c[i>>2]|0)+440>>2]|0;c[f>>2]=d;if(!d){l=h;return}i=c[(c[f>>2]|0)+16>>2]|0;c[g>>2]=i;if(!i){l=h;return}a[(c[g>>2]|0)+24>>0]=c[e>>2];l=h;return}function xt(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+440>>2]|0;c[h>>2]=d;if(!d){l=m;return}c[i>>2]=(b[(c[h>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[j>>2]=Eu(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[j>>2]|0)){l=m;return}f=(ly(c[e>>2]|0,c[j>>2]|0)|0)!=0;a=c[g>>2]|0;if(!f){Xd(a,c[j>>2]|0);l=m;return}Xd(a,c[(c[(c[h>>2]|0)+4>>2]|0)+(c[i>>2]<<4)+8>>2]|0);c[(c[(c[h>>2]|0)+4>>2]|0)+(c[i>>2]<<4)+8>>2]=c[j>>2];c[k>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[i>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+(c[i>>2]<<4)+8>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}l=m;return}function yt(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;w=x+16|0;v=x+8|0;u=x;o=x+64|0;p=x+60|0;q=x+56|0;r=x+52|0;s=x+48|0;t=x+44|0;h=x+40|0;i=x+36|0;j=x+32|0;k=x+28|0;m=x+24|0;n=x+20|0;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[h>>2]=c[c[o>>2]>>2];do if((a[(c[h>>2]|0)+69>>0]|0)==0?(fv(c[o>>2]|0)|0)==0:0){if(c[r>>2]|0){g=(c[h>>2]|0)+73|0;a[g>>0]=(a[g>>0]|0)+1<<24>>24}c[s>>2]=av(c[o>>2]|0,c[q>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[r>>2]|0){g=(c[h>>2]|0)+73|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}if(!(c[s>>2]|0)){if(!(c[r>>2]|0))break;Zz(c[o>>2]|0,c[(c[p>>2]|0)+8+4>>2]|0);break}c[i>>2]=Hu(c[h>>2]|0,c[(c[s>>2]|0)+64>>2]|0)|0;if(d[(c[s>>2]|0)+42>>0]&16|0?ew(c[o>>2]|0,c[s>>2]|0)|0:0)break;c[k>>2]=(c[i>>2]|0)==1?26433:26452;c[m>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[i>>2]<<4)>>2];c[n>>2]=0;if(!(Iu(c[o>>2]|0,9,c[k>>2]|0,0,c[m>>2]|0)|0)){do if(c[q>>2]|0)if((c[i>>2]|0)==1){c[j>>2]=15;break}else{c[j>>2]=17;break}else{if(d[(c[s>>2]|0)+42>>0]&16|0){c[j>>2]=30;c[n>>2]=c[(c[(fw(c[h>>2]|0,c[s>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[i>>2]|0)==1){c[j>>2]=13;break}else{c[j>>2]=11;break}}while(0);if((Iu(c[o>>2]|0,c[j>>2]|0,c[c[s>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0)|0)==0?(Iu(c[o>>2]|0,9,c[c[s>>2]>>2]|0,0,c[m>>2]|0)|0)==0:0){if((ld(c[c[s>>2]>>2]|0,26664,7)|0)==0?ld(c[c[s>>2]>>2]|0,35500,11)|0:0){w=c[o>>2]|0;c[u>>2]=c[c[s>>2]>>2];sl(w,35512,u);break}if(c[q>>2]|0?(c[(c[s>>2]|0)+12>>2]|0)==0:0){w=c[o>>2]|0;c[v>>2]=c[c[s>>2]>>2];sl(w,35540,v);break}if((c[q>>2]|0)==0?c[(c[s>>2]|0)+12>>2]|0:0){v=c[o>>2]|0;c[w>>2]=c[c[s>>2]>>2];sl(v,35574,w);break}c[t>>2]=Lu(c[o>>2]|0)|0;if(c[t>>2]|0){cv(c[o>>2]|0,1,c[i>>2]|0);dB(c[o>>2]|0,c[i>>2]|0,30152,c[c[s>>2]>>2]|0);pF(c[o>>2]|0,c[p>>2]|0,c[s>>2]|0);qF(c[o>>2]|0,c[s>>2]|0,c[i>>2]|0,c[q>>2]|0)}}}}while(0);Rk(c[h>>2]|0,c[p>>2]|0);l=x;return}function zt(e,f,g,h,i,j,k,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+96|0;B=D+88|0;C=D+84|0;n=D+80|0;o=D+76|0;p=D+72|0;q=D+68|0;r=D+64|0;s=D+60|0;t=D+56|0;u=D+52|0;v=D+48|0;w=D+40|0;x=D+16|0;y=D+12|0;z=D+8|0;A=D+4|0;c[B>>2]=e;c[C>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;c[s>>2]=m;c[y>>2]=0;c[A>>2]=c[c[B>>2]>>2];e=c[B>>2]|0;if((b[(c[B>>2]|0)+400>>1]|0)<=0){kt(e,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,1,0,c[s>>2]|0);c[t>>2]=c[(c[B>>2]|0)+440>>2];if(((c[t>>2]|0?(c[(c[B>>2]|0)+36>>2]|0)==0:0)?(ay(c[B>>2]|0,c[n>>2]|0,c[o>>2]|0,y)|0,c[z>>2]=Hu(c[A>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,cA(x,c[B>>2]|0,c[z>>2]|0,35495,c[y>>2]|0),(eA(x,c[q>>2]|0)|0)==0):0)?(z=kw(c[A>>2]|0,c[q>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=z,z=cx(c[A>>2]|0,c[p>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=z,(a[(c[A>>2]|0)+69>>0]|0)==0):0){z=(c[B>>2]|0)+392|0;c[w>>2]=c[z>>2];c[w+4>>2]=c[z+4>>2];if((a[c[w>>2]>>0]|0)!=59)c[w>>2]=(c[w>>2]|0)+(c[w+4>>2]|0);c[w+4>>2]=0;c[u>>2]=(c[w>>2]|0)-(c[c[C>>2]>>2]|0);c[v>>2]=c[c[C>>2]>>2];while(1){if(!(d[20063+(d[(c[v>>2]|0)+((c[u>>2]|0)-1)>>0]|0)>>0]&1))break;c[u>>2]=(c[u>>2]|0)+-1}c[w>>2]=(c[v>>2]|0)+((c[u>>2]|0)-1);c[w+4>>2]=1;mt(c[B>>2]|0,0,w,0,0)}}else sl(e,35459,D);Jk(c[A>>2]|0,c[q>>2]|0);Kk(c[A>>2]|0,c[p>>2]|0);l=D;return}function At(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=l;l=l+432|0;v=Ca;Z=Ca+412|0;aa=Ca+408|0;ja=Ca+404|0;ua=Ca+400|0;za=Ca+396|0;Aa=Ca+392|0;Ba=Ca+388|0;N=Ca+384|0;w=Ca+380|0;O=Ca+376|0;P=Ca+372|0;B=Ca+368|0;Q=Ca+364|0;R=Ca+360|0;S=Ca+356|0;T=Ca+344|0;U=Ca+312|0;V=Ca+264|0;W=Ca+260|0;X=Ca+256|0;Y=Ca+252|0;i=Ca+248|0;j=Ca+244|0;k=Ca+240|0;m=Ca+236|0;n=Ca+232|0;o=Ca+208|0;p=Ca+204|0;q=Ca+200|0;r=Ca+196|0;s=Ca+192|0;t=Ca+188|0;u=Ca+184|0;x=Ca+416|0;C=Ca+152|0;_=Ca+148|0;$=Ca+144|0;ba=Ca+140|0;ca=Ca+136|0;da=Ca+132|0;ea=Ca+128|0;fa=Ca+124|0;ga=Ca+120|0;ha=Ca+116|0;y=Ca+112|0;z=Ca+108|0;ia=Ca+104|0;ka=Ca+100|0;la=Ca+96|0;ma=Ca+92|0;na=Ca+88|0;oa=Ca+84|0;pa=Ca+80|0;qa=Ca+76|0;ra=Ca+72|0;sa=Ca+68|0;ta=Ca+64|0;va=Ca+60|0;wa=Ca+56|0;xa=Ca+52|0;ya=Ca+48|0;D=Ca+44|0;E=Ca+40|0;F=Ca+36|0;G=Ca+32|0;H=Ca+28|0;I=Ca+24|0;J=Ca+20|0;K=Ca+16|0;L=Ca+12|0;M=Ca+418|0;c[aa>>2]=f;c[ja>>2]=g;c[ua>>2]=h;c[O>>2]=0;c[S>>2]=1;c[Y>>2]=c[(c[aa>>2]|0)+420>>2];g=(c[aa>>2]|0)+424|0;h=c[g>>2]|0;c[g>>2]=h+1;c[(c[aa>>2]|0)+420>>2]=h;c[X>>2]=c[c[aa>>2]>>2];if((c[ja>>2]|0?(d[(c[X>>2]|0)+69>>0]|0)==0:0)?(c[(c[aa>>2]|0)+36>>2]|0)==0:0){if(Iu(c[aa>>2]|0,21,0,0,0)|0){c[Z>>2]=1;Ba=c[Z>>2]|0;l=Ca;return Ba|0}f=V;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));if((d[c[ua>>2]>>0]|0)<=8){Kk(c[X>>2]|0,c[(c[ja>>2]|0)+44>>2]|0);c[(c[ja>>2]|0)+44>>2]=0;h=(c[ja>>2]|0)+8|0;c[h>>2]=c[h>>2]&-2}Aw(c[aa>>2]|0,c[ja>>2]|0,0);c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0;c[U+16>>2]=0;c[U+20>>2]=0;c[U+24>>2]=0;c[U+28>>2]=0;c[U>>2]=c[(c[ja>>2]|0)+44>>2];c[P>>2]=c[(c[ja>>2]|0)+28>>2];a:do if((c[(c[aa>>2]|0)+36>>2]|0)==0?(d[(c[X>>2]|0)+69>>0]|0)==0:0){c[w>>2]=(c[(c[ja>>2]|0)+8>>2]&8|0)!=0&1;c[za>>2]=0;while(1){if(c[(c[ja>>2]|0)+48>>2]|0)break;if((c[za>>2]|0)>=(c[c[P>>2]>>2]|0))break;c[i>>2]=(c[P>>2]|0)+8+((c[za>>2]|0)*72|0);c[j>>2]=c[(c[i>>2]|0)+20>>2];c[m>>2]=c[(c[i>>2]|0)+16>>2];if(c[j>>2]|0){if((b[(c[m>>2]|0)+34>>1]|0)!=(c[c[c[j>>2]>>2]>>2]|0)){A=16;break}c[k>>2]=(c[(c[j>>2]|0)+8>>2]&8|0)!=0&1;if(xE(c[aa>>2]|0,c[ja>>2]|0,c[za>>2]|0,c[w>>2]|0,c[k>>2]|0)|0){if(c[k>>2]|0){c[w>>2]=1;h=(c[ja>>2]|0)+8|0;c[h>>2]=c[h>>2]|8}c[za>>2]=-1}c[P>>2]=c[(c[ja>>2]|0)+28>>2];if(a[(c[X>>2]|0)+69>>0]|0)break a;if((d[c[ua>>2]>>0]|0)>8)c[U>>2]=c[(c[ja>>2]|0)+44>>2]}c[za>>2]=(c[za>>2]|0)+1}if((A|0)==16){Ba=c[aa>>2]|0;za=c[c[m>>2]>>2]|0;Aa=c[c[c[j>>2]>>2]>>2]|0;c[v>>2]=b[(c[m>>2]|0)+34>>1];c[v+4>>2]=za;c[v+8>>2]=Aa;sl(Ba,35054,v);break}c[N>>2]=Lu(c[aa>>2]|0)|0;if(c[N>>2]|0){if(c[(c[ja>>2]|0)+48>>2]|0){c[S>>2]=yE(c[aa>>2]|0,c[ja>>2]|0,c[ua>>2]|0)|0;c[(c[aa>>2]|0)+420>>2]=c[Y>>2];c[Z>>2]=c[S>>2];Ba=c[Z>>2]|0;l=Ca;return Ba|0}c[za>>2]=0;while(1){if((c[za>>2]|0)>=(c[c[P>>2]>>2]|0))break;c[n>>2]=(c[P>>2]|0)+8+((c[za>>2]|0)*72|0);c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(c[p>>2]|0){if(c[(c[n>>2]|0)+24>>2]|0){if((d[(c[n>>2]|0)+36+1>>0]|0)>>>4&1|0)break;Qu(c[N>>2]|0,14,c[(c[n>>2]|0)+28>>2]|0,c[(c[n>>2]|0)+24>>2]|0)|0;break}m=zE(c[ja>>2]|0)|0;v=(c[aa>>2]|0)+416|0;c[v>>2]=(c[v>>2]|0)+m;if(!(d[(c[n>>2]|0)+36>>0]&32))AE(c[X>>2]|0,c[p>>2]|0,c[(c[ja>>2]|0)+32>>2]|0,c[(c[n>>2]|0)+44>>2]|0)|0;do if(!(c[za>>2]|0)){if((c[c[P>>2]>>2]|0)!=1?(d[(c[P>>2]|0)+8+72+36>>0]&10|0)==0:0){A=42;break}if(c[(c[ja>>2]|0)+8>>2]&2|0){A=42;break}if(e[(c[X>>2]|0)+64>>1]&256|0){A=42;break}c[q>>2]=(Pv(c[N>>2]|0)|0)+1;m=(c[aa>>2]|0)+44|0;v=(c[m>>2]|0)+1|0;c[m>>2]=v;c[(c[n>>2]|0)+28>>2]=v;Ru(c[N>>2]|0,15,c[(c[n>>2]|0)+28>>2]|0,0,c[q>>2]|0)|0;c[(c[n>>2]|0)+24>>2]=c[q>>2];Az(o,13,c[(c[n>>2]|0)+28>>2]|0);a[(c[n>>2]|0)+40>>0]=c[(c[aa>>2]|0)+424>>2];At(c[aa>>2]|0,c[p>>2]|0,o)|0;b[(c[(c[n>>2]|0)+16>>2]|0)+38>>1]=b[(c[p>>2]|0)+6>>1]|0;v=(c[n>>2]|0)+36+1|0;a[v>>0]=a[v>>0]&-17|16;c[(c[n>>2]|0)+32>>2]=c[o+12>>2];lB(c[N>>2]|0,c[(c[n>>2]|0)+28>>2]|0);ny(c[N>>2]|0,(c[q>>2]|0)-1|0);BE(c[aa>>2]|0)}else A=42;while(0);if((A|0)==42){A=0;c[s>>2]=0;m=(c[aa>>2]|0)+44|0;v=(c[m>>2]|0)+1|0;c[m>>2]=v;c[(c[n>>2]|0)+28>>2]=v;c[r>>2]=Qu(c[N>>2]|0,76,0,c[(c[n>>2]|0)+28>>2]|0)|0;c[(c[n>>2]|0)+24>>2]=(c[r>>2]|0)+1;if(!((d[(c[n>>2]|0)+36+1>>0]|0)>>>3&1))c[s>>2]=Nu(c[N>>2]|0,20)|0;Az(o,12,c[(c[n>>2]|0)+44>>2]|0);a[(c[n>>2]|0)+40>>0]=c[(c[aa>>2]|0)+424>>2];At(c[aa>>2]|0,c[p>>2]|0,o)|0;b[(c[(c[n>>2]|0)+16>>2]|0)+38>>1]=b[(c[p>>2]|0)+6>>1]|0;if(c[s>>2]|0)ny(c[N>>2]|0,c[s>>2]|0);c[t>>2]=ey(c[N>>2]|0,72,c[(c[n>>2]|0)+28>>2]|0)|0;lC(c[N>>2]|0,c[r>>2]|0,c[t>>2]|0);BE(c[aa>>2]|0)}if(a[(c[X>>2]|0)+69>>0]|0)break a;m=zE(c[ja>>2]|0)|0;v=(c[aa>>2]|0)+416|0;c[v>>2]=(c[v>>2]|0)-m}while(0);c[za>>2]=(c[za>>2]|0)+1}c[O>>2]=c[c[ja>>2]>>2];c[B>>2]=c[(c[ja>>2]|0)+32>>2];c[Q>>2]=c[(c[ja>>2]|0)+36>>2];c[R>>2]=c[(c[ja>>2]|0)+40>>2];a[T>>0]=(c[(c[ja>>2]|0)+8>>2]&1|0)!=0;if((c[(c[ja>>2]|0)+8>>2]&9|0)==1?(Zw(c[U>>2]|0,c[O>>2]|0,-1)|0)==0:0){v=(c[ja>>2]|0)+8|0;c[v>>2]=c[v>>2]&-2;v=cx(c[X>>2]|0,c[O>>2]|0,0)|0;c[(c[ja>>2]|0)+36>>2]=v;c[Q>>2]=v}if(c[U>>2]|0){c[u>>2]=CE(c[aa>>2]|0,c[U>>2]|0,0,c[c[O>>2]>>2]|0)|0;v=(c[aa>>2]|0)+40|0;f=c[v>>2]|0;c[v>>2]=f+1;c[U+8>>2]=f;f=Uu(c[N>>2]|0,107,c[U+8>>2]|0,(c[c[U>>2]>>2]|0)+1+(c[c[O>>2]>>2]|0)|0,0,c[u>>2]|0,-6)|0}else f=-1;c[U+20>>2]=f;if((d[c[ua>>2]>>0]|0)==12)Qu(c[N>>2]|0,107,c[(c[ua>>2]|0)+8>>2]|0,c[c[O>>2]>>2]|0)|0;c[W>>2]=ky(c[N>>2]|0)|0;b[(c[ja>>2]|0)+6>>1]=320;DE(c[aa>>2]|0,c[ja>>2]|0,c[W>>2]|0);if((c[(c[ja>>2]|0)+12>>2]|0)==0?(c[U+20>>2]|0)>=0:0){EE(c[N>>2]|0,c[U+20>>2]|0,108);v=U+28|0;a[v>>0]=d[v>>0]|1}if(c[(c[ja>>2]|0)+8>>2]&1|0){f=(c[aa>>2]|0)+40|0;v=c[f>>2]|0;c[f>>2]=v+1;c[T+4>>2]=v;v=c[N>>2]|0;f=c[T+4>>2]|0;c[T+8>>2]=Uu(v,107,f,0,0,CE(c[aa>>2]|0,c[c[ja>>2]>>2]|0,0,0)|0,-6)|0;jy(c[N>>2]|0,8);f=3}else f=0;a[T+1>>0]=f;if((c[w>>2]|0)==0&(c[Q>>2]|0)==0){b[x>>1]=d[T>>0]|0?256:0;b[x>>1]=e[x>>1]|c[(c[ja>>2]|0)+8>>2]&16384;c[Ba>>2]=FB(c[aa>>2]|0,c[P>>2]|0,c[B>>2]|0,c[U>>2]|0,c[c[ja>>2]>>2]|0,b[x>>1]|0,b[(c[ja>>2]|0)+6>>1]|0)|0;if(!(c[Ba>>2]|0))break;Aa=(FE(c[Ba>>2]|0)|0)<<16>>16;if((Aa|0)<(b[(c[ja>>2]|0)+6>>1]|0)){Aa=FE(c[Ba>>2]|0)|0;b[(c[ja>>2]|0)+6>>1]=Aa}do if(d[T>>0]|0){if(!(GE(c[Ba>>2]|0)|0))break;a[T+1>>0]=GE(c[Ba>>2]|0)|0}while(0);do if(c[U>>2]|0){c[U+4>>2]=HE(c[Ba>>2]|0)|0;a[U+29>>0]=IE(c[Ba>>2]|0)|0;if((c[U+4>>2]|0)!=(c[c[U>>2]>>2]|0))break;c[U>>2]=0}while(0);do if((c[U+20>>2]|0)>=0){if(c[U>>2]|0)break;Ry(c[N>>2]|0,c[U+20>>2]|0)|0}while(0);wa=c[aa>>2]|0;xa=c[ja>>2]|0;ya=c[O>>2]|0;za=c[ua>>2]|0;Aa=JE(c[Ba>>2]|0)|0;LE(wa,xa,ya,-1,U,T,za,Aa,KE(c[Ba>>2]|0)|0);GB(c[Ba>>2]|0)}else{c[fa>>2]=0;c[ga>>2]=0;c[ha>>2]=0;f=c[ja>>2]|0;do if(c[Q>>2]|0){c[y>>2]=c[c[f>>2]>>2];c[z>>2]=c[(c[c[ja>>2]>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;b[(c[z>>2]|0)+16+2>>1]=0;c[y>>2]=(c[y>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+20}c[y>>2]=c[c[Q>>2]>>2];c[z>>2]=c[(c[Q>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;b[(c[z>>2]|0)+16+2>>1]=0;c[y>>2]=(c[y>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+20}if((b[(c[ja>>2]|0)+6>>1]|0)<=66)break;g=66;f=c[ja>>2]|0;A=85}else{g=0;A=85}while(0);if((A|0)==85)b[f+6>>1]=g;if(!(Zw(c[Q>>2]|0,c[U>>2]|0,-1)|0))c[ha>>2]=1;c[ea>>2]=ky(c[N>>2]|0)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[C+24>>2]=0;c[C+28>>2]=0;c[C>>2]=c[aa>>2];c[C+4>>2]=c[P>>2];c[C+12>>2]=V;c[V+16>>2]=(c[(c[aa>>2]|0)+44>>2]|0)+1;if(c[Q>>2]|0)f=c[c[Q>>2]>>2]|0;else f=0;c[V+12>>2]=f;c[V+24>>2]=c[Q>>2];ME(C,c[O>>2]|0);ME(C,c[U>>2]|0);if(c[R>>2]|0)NE(C,c[R>>2]|0);c[V+36>>2]=c[V+32>>2];c[za>>2]=0;while(1){if((c[za>>2]|0)>=(c[V+44>>2]|0))break;A=C+28|0;b[A>>1]=e[A>>1]|8;ME(C,c[(c[(c[V+40>>2]|0)+(c[za>>2]<<4)>>2]|0)+20>>2]|0);A=C+28|0;b[A>>1]=e[A>>1]&-9;c[za>>2]=(c[za>>2]|0)+1}c[V+20>>2]=c[(c[aa>>2]|0)+44>>2];if(a[(c[X>>2]|0)+69>>0]|0)break;if(c[Q>>2]|0){L=(c[aa>>2]|0)+40|0;M=c[L>>2]|0;c[L>>2]=M+1;c[V+4>>2]=M;c[ia>>2]=CE(c[aa>>2]|0,c[Q>>2]|0,0,c[V+32>>2]|0)|0;c[pa>>2]=Uu(c[N>>2]|0,108,c[V+4>>2]|0,c[V+12>>2]|0,0,c[ia>>2]|0,-6)|0;M=(c[aa>>2]|0)+44|0;L=(c[M>>2]|0)+1|0;c[M>>2]=L;c[ba>>2]=L;L=(c[aa>>2]|0)+44|0;M=(c[L>>2]|0)+1|0;c[L>>2]=M;c[ca>>2]=M;M=(c[aa>>2]|0)+44|0;L=(c[M>>2]|0)+1|0;c[M>>2]=L;c[ma>>2]=L;c[la>>2]=ky(c[N>>2]|0)|0;L=(c[aa>>2]|0)+44|0;M=(c[L>>2]|0)+1|0;c[L>>2]=M;c[ra>>2]=M;c[qa>>2]=ky(c[N>>2]|0)|0;c[_>>2]=(c[(c[aa>>2]|0)+44>>2]|0)+1;M=(c[aa>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[Q>>2]>>2]|0);c[$>>2]=(c[(c[aa>>2]|0)+44>>2]|0)+1;M=(c[aa>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[Q>>2]>>2]|0);Qu(c[N>>2]|0,76,0,c[ca>>2]|0)|0;Qu(c[N>>2]|0,76,0,c[ba>>2]|0)|0;Ru(c[N>>2]|0,79,0,c[_>>2]|0,(c[_>>2]|0)+(c[c[Q>>2]>>2]|0)-1|0)|0;Qu(c[N>>2]|0,14,c[ra>>2]|0,c[qa>>2]|0)|0;c[Ba>>2]=FB(c[aa>>2]|0,c[P>>2]|0,c[B>>2]|0,c[Q>>2]|0,0,(64|(c[ha>>2]|0?512:0))&65535,0)|0;if(!(c[Ba>>2]|0))break;M=HE(c[Ba>>2]|0)|0;if((M|0)==(c[c[Q>>2]>>2]|0))c[da>>2]=0;else{if(d[T>>0]|0)f=(c[(c[ja>>2]|0)+8>>2]&1|0)==0;else f=0;OE(c[aa>>2]|0,f?35094:35103);c[da>>2]=1;c[wa>>2]=c[c[Q>>2]>>2];c[va>>2]=c[wa>>2];c[Aa>>2]=c[wa>>2];c[za>>2]=0;while(1){if((c[za>>2]|0)>=(c[V+32>>2]|0))break;if((c[(c[V+28>>2]|0)+((c[za>>2]|0)*24|0)+12>>2]|0)>=(c[Aa>>2]|0)){c[va>>2]=(c[va>>2]|0)+1;c[Aa>>2]=(c[Aa>>2]|0)+1}c[za>>2]=(c[za>>2]|0)+1}c[sa>>2]=My(c[aa>>2]|0,c[va>>2]|0)|0;EA(c[aa>>2]|0);fz(c[aa>>2]|0,c[Q>>2]|0,c[sa>>2]|0,0,0)|0;c[Aa>>2]=c[wa>>2];c[za>>2]=0;while(1){if((c[za>>2]|0)>=(c[V+32>>2]|0))break;c[xa>>2]=(c[V+28>>2]|0)+((c[za>>2]|0)*24|0);if((c[(c[xa>>2]|0)+12>>2]|0)>=(c[Aa>>2]|0)){c[ya>>2]=(c[Aa>>2]|0)+(c[sa>>2]|0);kC(c[aa>>2]|0,c[c[xa>>2]>>2]|0,c[(c[xa>>2]|0)+8>>2]|0,c[(c[xa>>2]|0)+4>>2]|0,c[ya>>2]|0);c[Aa>>2]=(c[Aa>>2]|0)+1}c[za>>2]=(c[za>>2]|0)+1}c[ta>>2]=Ov(c[aa>>2]|0)|0;Ru(c[N>>2]|0,99,c[sa>>2]|0,c[va>>2]|0,c[ta>>2]|0)|0;Qu(c[N>>2]|0,125,c[V+4>>2]|0,c[ta>>2]|0)|0;Qv(c[aa>>2]|0,c[ta>>2]|0);Py(c[aa>>2]|0,c[sa>>2]|0,c[va>>2]|0);GB(c[Ba>>2]|0);ya=(c[aa>>2]|0)+40|0;za=c[ya>>2]|0;c[ya>>2]=za+1;c[fa>>2]=za;c[V+8>>2]=za;c[ga>>2]=Ov(c[aa>>2]|0)|0;Ru(c[N>>2]|0,110,c[fa>>2]|0,c[ga>>2]|0,c[va>>2]|0)|0;Qu(c[N>>2]|0,55,c[V+4>>2]|0,c[ea>>2]|0)|0;a[V+1>>0]=1;EA(c[aa>>2]|0)}do if(c[ha>>2]|0){if(e[(c[X>>2]|0)+64>>1]&4|0)break;if((c[da>>2]|0)==0?(PE(c[Ba>>2]|0)|0)==0:0)break;c[U>>2]=0;Ry(c[N>>2]|0,c[U+20>>2]|0)|0}while(0);c[oa>>2]=Pv(c[N>>2]|0)|0;EA(c[aa>>2]|0);if(c[da>>2]|0)Ru(c[N>>2]|0,120,c[V+4>>2]|0,c[ga>>2]|0,c[fa>>2]|0)|0;c[Aa>>2]=0;while(1){if((c[Aa>>2]|0)>=(c[c[Q>>2]>>2]|0))break;if(c[da>>2]|0)Ru(c[N>>2]|0,96,c[fa>>2]|0,c[Aa>>2]|0,(c[$>>2]|0)+(c[Aa>>2]|0)|0)|0;else{a[V>>0]=1;Wy(c[aa>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[Aa>>2]|0)*20|0)>>2]|0,(c[$>>2]|0)+(c[Aa>>2]|0)|0)}c[Aa>>2]=(c[Aa>>2]|0)+1}xa=c[N>>2]|0;ya=c[_>>2]|0;za=c[$>>2]|0;Aa=c[c[Q>>2]>>2]|0;Uu(xa,95,ya,za,Aa,Dy(c[ia>>2]|0)|0,-6)|0;c[ka>>2]=Pv(c[N>>2]|0)|0;Ru(c[N>>2]|0,18,(c[ka>>2]|0)+1|0,0,(c[ka>>2]|0)+1|0)|0;QE(c[aa>>2]|0,c[$>>2]|0,c[_>>2]|0,c[c[Q>>2]>>2]|0);Qu(c[N>>2]|0,14,c[ma>>2]|0,c[la>>2]|0)|0;Qu(c[N>>2]|0,66,c[ca>>2]|0,c[ea>>2]|0)|0;Qu(c[N>>2]|0,14,c[ra>>2]|0,c[qa>>2]|0)|0;ny(c[N>>2]|0,c[ka>>2]|0);RE(c[aa>>2]|0,V);Qu(c[N>>2]|0,76,1,c[ba>>2]|0)|0;if(c[da>>2]|0)Qu(c[N>>2]|0,3,c[V+4>>2]|0,c[oa>>2]|0)|0;else{GB(c[Ba>>2]|0);Ry(c[N>>2]|0,c[pa>>2]|0)|0}Qu(c[N>>2]|0,14,c[ma>>2]|0,c[la>>2]|0)|0;my(c[N>>2]|0,c[ea>>2]|0)|0;c[na>>2]=Pv(c[N>>2]|0)|0;Qu(c[N>>2]|0,76,1,c[ca>>2]|0)|0;ey(c[N>>2]|0,72,c[ma>>2]|0)|0;oy(c[N>>2]|0,c[la>>2]|0);c[la>>2]=Pv(c[N>>2]|0)|0;Qu(c[N>>2]|0,66,c[ba>>2]|0,(c[la>>2]|0)+2|0)|0;ey(c[N>>2]|0,72,c[ma>>2]|0)|0;SE(c[aa>>2]|0,V);nz(c[aa>>2]|0,c[R>>2]|0,(c[la>>2]|0)+1|0,16);LE(c[aa>>2]|0,c[ja>>2]|0,c[c[ja>>2]>>2]|0,-1,U,T,c[ua>>2]|0,(c[la>>2]|0)+1|0,c[na>>2]|0);ey(c[N>>2]|0,72,c[ma>>2]|0)|0;oy(c[N>>2]|0,c[qa>>2]|0);TE(c[aa>>2]|0,V);ey(c[N>>2]|0,72,c[ra>>2]|0)|0}else{c[D>>2]=0;Aa=UE(c[ja>>2]|0,V)|0;c[E>>2]=Aa;if(Aa|0){c[F>>2]=Hu(c[c[aa>>2]>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;Aa=(c[aa>>2]|0)+40|0;Ba=c[Aa>>2]|0;c[Aa>>2]=Ba+1;c[G>>2]=Ba;c[I>>2]=0;c[J>>2]=0;c[K>>2]=c[(c[E>>2]|0)+28>>2];dv(c[aa>>2]|0,c[F>>2]|0);gy(c[aa>>2]|0,c[F>>2]|0,c[(c[E>>2]|0)+28>>2]|0,0,c[c[E>>2]>>2]|0);if(d[(c[E>>2]|0)+42>>0]&32|0)c[J>>2]=uv(c[E>>2]|0)|0;c[H>>2]=c[(c[E>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;do if(!((d[(c[H>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[E>>2]|0)+40>>1]|0))break;if(c[(c[H>>2]|0)+36>>2]|0)break;if(c[J>>2]|0?(b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[J>>2]|0)+48>>1]|0):0)break;c[J>>2]=c[H>>2]}while(0);c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[J>>2]|0){c[K>>2]=c[(c[J>>2]|0)+44>>2];c[I>>2]=xy(c[aa>>2]|0,c[J>>2]|0)|0}zy(c[N>>2]|0,104,c[G>>2]|0,c[K>>2]|0,c[F>>2]|0,1)|0;if(c[I>>2]|0)Vu(c[N>>2]|0,-1,c[I>>2]|0,-6);Qu(c[N>>2]|0,100,c[G>>2]|0,c[(c[V+40>>2]|0)+8>>2]|0)|0;ey(c[N>>2]|0,111,c[G>>2]|0)|0;VE(c[aa>>2]|0,c[E>>2]|0,c[J>>2]|0)}else{c[L>>2]=0;a[M>>0]=0;if(!(c[(c[ja>>2]|0)+40>>2]|0))a[M>>0]=WE(V,L)|0;do if(a[M>>0]|0){c[L>>2]=cx(c[X>>2]|0,c[L>>2]|0,0)|0;c[D>>2]=c[L>>2];if(a[(c[X>>2]|0)+69>>0]|0)break;a[(c[(c[L>>2]|0)+4>>2]|0)+12>>0]=(d[M>>0]|0)!=1?1:0;a[c[c[(c[L>>2]|0)+4>>2]>>2]>>0]=-104}while(0);TE(c[aa>>2]|0,V);c[Ba>>2]=FB(c[aa>>2]|0,c[P>>2]|0,c[B>>2]|0,c[L>>2]|0,0,d[M>>0]|0,0)|0;if(!(c[Ba>>2]|0)){Kk(c[X>>2]|0,c[D>>2]|0);break}RE(c[aa>>2]|0,V);if((HE(c[Ba>>2]|0)|0)>0){Aa=c[N>>2]|0;my(Aa,KE(c[Ba>>2]|0)|0)|0}GB(c[Ba>>2]|0);SE(c[aa>>2]|0,V)}c[U>>2]=0;nz(c[aa>>2]|0,c[R>>2]|0,c[ea>>2]|0,16);LE(c[aa>>2]|0,c[ja>>2]|0,c[c[ja>>2]>>2]|0,-1,0,0,c[ua>>2]|0,c[ea>>2]|0,c[ea>>2]|0);Kk(c[X>>2]|0,c[D>>2]|0)}oy(c[N>>2]|0,c[ea>>2]|0)}if((d[T+1>>0]|0)==3)OE(c[aa>>2]|0,35094);if(c[U>>2]|0){OE(c[aa>>2]|0,(c[U+4>>2]|0)>0?35112:35135);XE(c[aa>>2]|0,c[ja>>2]|0,U,c[c[O>>2]>>2]|0,c[ua>>2]|0)}oy(c[N>>2]|0,c[W>>2]|0);c[S>>2]=(c[(c[aa>>2]|0)+36>>2]|0)>0&1}}while(0);c[(c[aa>>2]|0)+420>>2]=c[Y>>2];if((c[S>>2]|0)==0?(d[c[ua>>2]>>0]|0)==9:0)YE(c[aa>>2]|0,c[P>>2]|0,c[O>>2]|0);Xd(c[X>>2]|0,c[V+28>>2]|0);Xd(c[X>>2]|0,c[V+40>>2]|0);c[Z>>2]=c[S>>2];Ba=c[Z>>2]|0;l=Ca;return Ba|0}c[Z>>2]=1;Ba=c[Z>>2]|0;l=Ca;return Ba|0}function Bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+48>>2]|0)){l=k;return}c[f>>2]=0;c[i>>2]=0;c[g>>2]=c[e>>2];while(1){if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+52>>2]=c[f>>2];b=(c[g>>2]|0)+8|0;c[b>>2]=c[b>>2]|256;c[f>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+48>>2];c[i>>2]=(c[i>>2]|0)+1}if(c[(c[e>>2]|0)+8>>2]&1024|0){l=k;return}g=c[(c[c[d>>2]>>2]|0)+96+16>>2]|0;c[h>>2]=g;if((g|0)<=0){l=k;return}if((c[i>>2]|0)<=(c[h>>2]|0)){l=k;return}sl(c[d>>2]|0,35020,j);l=k;return}function Ct(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;v=x;t=x+44|0;u=x+40|0;j=x+36|0;k=x+32|0;m=x+28|0;n=x+24|0;o=x+20|0;p=x+16|0;q=x+12|0;r=x+8|0;s=x+4|0;c[u>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[s>>2]=c[c[u>>2]>>2];if(!(c[j>>2]|0)?(c[p>>2]|0)!=0|(c[q>>2]|0)!=0:0){u=c[u>>2]|0;c[v>>2]=c[p>>2]|0?34975:34978;sl(u,34984,v)}else w=4;if(((w|0)==4?(c[j>>2]=Lt(c[s>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0,c[j>>2]|0):0)?c[c[j>>2]>>2]|0:0){c[r>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if(c[(c[n>>2]|0)+4>>2]|0){w=Eu(c[s>>2]|0,c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=w}c[(c[r>>2]|0)+20>>2]=c[o>>2];c[(c[r>>2]|0)+48>>2]=c[p>>2];c[(c[r>>2]|0)+52>>2]=c[q>>2];c[t>>2]=c[j>>2];w=c[t>>2]|0;l=x;return w|0}Ok(c[s>>2]|0,c[p>>2]|0);Tk(c[s>>2]|0,c[q>>2]|0);Jk(c[s>>2]|0,c[o>>2]|0);c[t>>2]=0;w=c[t>>2]|0;l=x;return w|0}function Dt(d,e,f,g,h,i,j,k,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;y=B+72|0;z=B+4|0;A=B;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=i;c[u>>2]=j;c[v>>2]=k;c[w>>2]=m;c[x>>2]=n;c[A>>2]=c[c[o>>2]>>2];n=Ed(c[A>>2]|0,68,0)|0;c[y>>2]=n;c[y>>2]=(c[y>>2]|0)==0?z:n;if(!(c[p>>2]|0)){n=c[o>>2]|0;c[p>>2]=Et(n,0,Ht(c[A>>2]|0,160,0)|0)|0}c[c[y>>2]>>2]=c[p>>2];a[(c[y>>2]|0)+4>>0]=119;c[(c[y>>2]|0)+8>>2]=c[v>>2];c[(c[y>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+16>>2]=0;c[(c[y>>2]|0)+20>>2]=-1;c[(c[y>>2]|0)+20+4>>2]=-1;b[(c[y>>2]|0)+6>>1]=0;if(!(c[q>>2]|0))c[q>>2]=_l(c[A>>2]|0,80,0)|0;c[(c[y>>2]|0)+28>>2]=c[q>>2];c[(c[y>>2]|0)+32>>2]=c[r>>2];c[(c[y>>2]|0)+36>>2]=c[s>>2];c[(c[y>>2]|0)+40>>2]=c[t>>2];c[(c[y>>2]|0)+44>>2]=c[u>>2];c[(c[y>>2]|0)+48>>2]=0;c[(c[y>>2]|0)+52>>2]=0;c[(c[y>>2]|0)+56>>2]=c[w>>2];c[(c[y>>2]|0)+60>>2]=c[x>>2];c[(c[y>>2]|0)+64>>2]=0;if(!(a[(c[A>>2]|0)+69>>0]|0)){n=c[y>>2]|0;l=B;return n|0}Qk(c[A>>2]|0,c[y>>2]|0,(c[y>>2]|0)!=(z|0)&1);c[y>>2]=0;n=c[y>>2]|0;l=B;return n|0}function Et(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+24|0;m=k+20|0;g=k+16|0;h=k+12|0;i=k+8|0;e=k+4|0;j=k;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=Ed(c[i>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=Ed(c[i>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)a=7;else a=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=de(c[i>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))a=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];a=7}}else a=7;if((a|0)==7){i=c[(c[g>>2]|0)+4>>2]|0;e=c[g>>2]|0;m=c[e>>2]|0;c[e>>2]=m+1;c[j>>2]=i+(m*20|0);m=c[j>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[j>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;l=k;return m|0}else if((a|0)==8){Ok(c[i>>2]|0,c[h>>2]|0);Kk(c[i>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;l=k;return m|0}return 0}function Ft(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(!(c[g>>2]|0)){l=k;return}c[j>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);h=Uj(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[j>>2]|0)+4>>2]=h;if(!(c[i>>2]|0)){l=k;return}Vj(c[(c[j>>2]|0)+4>>2]|0);l=k;return}function Gt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[j>>2]>>2];if(!(c[e>>2]|0)){l=i;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Xd(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);j=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;j=Uj(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,j,((j|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=j;l=i;return}function Ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;f=i+16|0;g=i+12|0;e=i+8|0;h=i;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)a=md(c[e>>2]|0)|0;else a=0;c[h+4>>2]=a;h=Wt(c[f>>2]|0,c[g>>2]|0,h,0)|0;l=i;return h|0}function It(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){l=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){b=(c[d>>2]|0)+8|0;if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[b+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[b+36>>0]=0;l=f;return}function Jt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){l=j;return}if((c[c[g>>2]>>2]|0)<=0){l=j;return}c[i>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){i=(c[i>>2]|0)+36+1|0;a[i>>0]=a[i>>0]&-2|1;l=j;return}h=Eu(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[i>>2]|0)+64>>2]=h;h=(c[i>>2]|0)+36+1|0;a[h>>0]=a[h>>0]&-3|((c[(c[i>>2]|0)+64>>2]|0)!=0&1)<<1&255;l=j;return}function Kt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[i>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[i>>2]|0)+64>>2]=c[h>>2];i=(c[i>>2]|0)+36+1|0;a[i>>0]=a[i>>0]&-5|4;l=j;return}else{Kk(c[c[f>>2]>>2]|0,c[h>>2]|0);l=j;return}}function Lt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;g=o;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=Ed(c[i>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}while(0);c[j>>2]=wE(c[i>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[i>>2]|0)+69>>0]|0){Rk(c[i>>2]|0,c[j>>2]|0);c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}c[n>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if(c[m>>2]|0?(c[c[m>>2]>>2]|0)==0:0)c[m>>2]=0;if(c[m>>2]|0){c[g>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[g>>2]}k=Eu(c[i>>2]|0,c[k>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=k;m=Eu(c[i>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+4>>2]=m;c[h>>2]=c[j>>2];n=c[h>>2]|0;l=o;return n|0}function Mt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;s=u+16|0;r=u;k=u+64|0;m=u+60|0;n=u+56|0;o=u+52|0;p=u+48|0;q=u+36|0;g=u+32|0;h=u+28|0;i=u+24|0;j=u+20|0;c[k>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=0;c[q>>2]=c[m>>2];c[q+4>>2]=c[n>>2];c[q+8>>2]=c[o>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=3)break;if(!(c[q+(c[h>>2]<<2)>>2]|0))break;c[g>>2]=c[q+(c[h>>2]<<2)>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=7)break;if((c[(c[g>>2]|0)+4>>2]|0)==(d[34821+((c[i>>2]|0)*3|0)+1>>0]|0|0)?(ld(c[c[g>>2]>>2]|0,34842+(d[34821+((c[i>>2]|0)*3|0)>>0]|0)|0,c[(c[g>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[i>>2]=(c[i>>2]|0)+1}if((t|0)==8){t=0;c[p>>2]=c[p>>2]|(d[34821+((c[i>>2]|0)*3|0)+2>>0]|0)}if((c[i>>2]|0)>=7){t=11;break}c[h>>2]=(c[h>>2]|0)+1}if((t|0)==11)c[p>>2]=c[p>>2]|64;if((c[p>>2]&33|0)!=33?(c[p>>2]&64|0)==0:0){if(!(c[p>>2]&32)){t=c[p>>2]|0;l=u;return t|0}if((c[p>>2]&24|0)==8){t=c[p>>2]|0;l=u;return t|0}sl(c[k>>2]|0,34920,s);c[p>>2]=1;t=c[p>>2]|0;l=u;return t|0}c[j>>2]=23021;if(!(c[o>>2]|0))c[j>>2]=(c[j>>2]|0)+1;t=c[k>>2]|0;n=c[n>>2]|0;q=c[j>>2]|0;s=c[o>>2]|0;c[r>>2]=c[m>>2];c[r+4>>2]=n;c[r+8>>2]=q;c[r+12>>2]=s;sl(t,34876,r);c[p>>2]=1;t=c[p>>2]|0;l=u;return t|0}function Nt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){l=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];l=g;return}function Ot(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;h=i+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){l=i;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+472>>2];c[(c[f>>2]|0)+472>>2]=c[g>>2];if(!(a[h>>0]|0)){l=i;return}c[(c[f>>2]|0)+476>>2]=c[g>>2];l=i;return}function Pt(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+192|0;P=X+176|0;S=X+172|0;T=X+168|0;U=X+164|0;V=X+160|0;W=X+156|0;F=X+152|0;G=X+148|0;i=X+144|0;H=X+140|0;I=X+136|0;j=X+132|0;J=X+128|0;K=X+120|0;k=X+88|0;m=X+84|0;L=X+80|0;n=X+76|0;u=X+72|0;v=X+64|0;M=X+60|0;N=X+56|0;o=X+52|0;p=X+184|0;w=X+48|0;x=X+182|0;O=X+44|0;y=X+40|0;z=X+36|0;Q=X+32|0;q=X+28|0;A=X+24|0;R=X+20|0;B=X+16|0;r=X+180|0;s=X+12|0;C=X+8|0;D=X+4|0;E=X;c[P>>2]=f;c[S>>2]=g;c[T>>2]=h;c[H>>2]=0;c[I>>2]=0;c[L>>2]=-1;c[M>>2]=0;c[o>>2]=0;b[p>>1]=1;c[O>>2]=0;c[y>>2]=0;c[z>>2]=0;c[Q>>2]=0;c[q>>2]=0;c[K>>2]=0;c[K+4>>2]=0;c[J>>2]=c[c[P>>2]>>2];a:do if(((c[(c[P>>2]|0)+36>>2]|0)==0?(d[(c[J>>2]|0)+69>>0]|0)==0:0)?(c[V>>2]=bA(c[P>>2]|0,c[S>>2]|0)|0,c[V>>2]|0):0){c[B>>2]=gB(c[P>>2]|0,c[V>>2]|0,109,0,0)|0;c[R>>2]=(c[(c[V>>2]|0)+12>>2]|0)!=0&1;if(c[B>>2]|0)f=1;else f=(zD(c[P>>2]|0,c[V>>2]|0,0,0)|0)!=0;c[A>>2]=f&1;if(((ew(c[P>>2]|0,c[V>>2]|0)|0)==0?(hB(c[P>>2]|0,c[V>>2]|0,c[B>>2]|0?1:0)|0)==0:0)?(c[m>>2]=Hu(c[J>>2]|0,c[(c[V>>2]|0)+64>>2]|0)|0,c[n>>2]=Iu(c[P>>2]|0,9,c[c[V>>2]>>2]|0,0,c[(c[(c[J>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0,(c[n>>2]|0)!=1):0){g=(c[P>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[(c[S>>2]|0)+8+44>>2]=h;c[i>>2]=h;c[j>>2]=0;c[G>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[G>>2]|0))break;h=(c[P>>2]|0)+40|0;c[h>>2]=(c[h>>2]|0)+1;c[G>>2]=c[(c[G>>2]|0)+20>>2];c[j>>2]=(c[j>>2]|0)+1}if(c[R>>2]|0)rE(c[P>>2]|0,K,c[c[V>>2]>>2]|0);c[U>>2]=Lu(c[P>>2]|0)|0;if(c[U>>2]|0){if(!(d[(c[P>>2]|0)+18>>0]|0))iB(c[U>>2]|0);cv(c[P>>2]|0,1,c[m>>2]|0);if(c[R>>2]|0){sE(c[P>>2]|0,c[V>>2]|0,c[T>>2]|0,c[i>>2]|0);h=c[i>>2]|0;c[I>>2]=h;c[H>>2]=h};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=c[P>>2];c[k+4>>2]=c[S>>2];if(!(Ow(k,c[T>>2]|0)|0)){if(c[(c[J>>2]|0)+24>>2]&128|0){g=(c[P>>2]|0)+44|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[L>>2]=h;Qu(c[U>>2]|0,76,0,c[L>>2]|0)|0}b:do if(!((c[n>>2]|0)==0&(c[T>>2]|0)==0^1|(c[A>>2]|0)!=0)?!(d[(c[V>>2]|0)+42>>0]&16|0):0){gy(c[P>>2]|0,c[m>>2]|0,c[(c[V>>2]|0)+28>>2]|0,1,c[c[V>>2]>>2]|0);if(!(d[(c[V>>2]|0)+42>>0]&32))Uu(c[U>>2]|0,131,c[(c[V>>2]|0)+28>>2]|0,c[m>>2]|0,c[L>>2]|0,c[c[V>>2]>>2]|0,-2)|0;c[G>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[G>>2]|0))break b;Qu(c[U>>2]|0,131,c[(c[G>>2]|0)+44>>2]|0,c[m>>2]|0)|0;c[G>>2]=c[(c[G>>2]|0)+20>>2]}}else t=29;while(0);c:do if((t|0)==29){b[r>>1]=1044;if(e[k+28>>1]&64|0)c[A>>2]=1;b[r>>1]=e[r>>1]|(c[A>>2]|0?0:8);if(!(d[(c[V>>2]|0)+42>>0]&32)){c[N>>2]=0;b[p>>1]=1;n=(c[P>>2]|0)+44|0;t=(c[n>>2]|0)+1|0;c[n>>2]=t;c[y>>2]=t;Qu(c[U>>2]|0,79,0,c[y>>2]|0)|0}else{c[N>>2]=uv(c[V>>2]|0)|0;b[p>>1]=b[(c[N>>2]|0)+50>>1]|0;c[o>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;n=(c[P>>2]|0)+44|0;c[n>>2]=(c[n>>2]|0)+(b[p>>1]|0);n=(c[P>>2]|0)+40|0;t=c[n>>2]|0;c[n>>2]=t+1;c[O>>2]=t;c[q>>2]=Qu(c[U>>2]|0,107,c[O>>2]|0,b[p>>1]|0)|0;iy(c[P>>2]|0,c[N>>2]|0)}c[F>>2]=FB(c[P>>2]|0,c[S>>2]|0,c[T>>2]|0,0,0,b[r>>1]|0,(c[i>>2]|0)+1|0)|0;if(!(c[F>>2]|0))break a;c[u>>2]=uE(c[F>>2]|0,v)|0;if(c[(c[J>>2]|0)+24>>2]&128|0)Qu(c[U>>2]|0,91,c[L>>2]|0,1)|0;do if(c[N>>2]|0){c[W>>2]=0;while(1){if((c[W>>2]|0)>=(b[p>>1]|0))break;Ty(c[U>>2]|0,c[V>>2]|0,c[i>>2]|0,b[(c[(c[N>>2]|0)+4>>2]|0)+(c[W>>2]<<1)>>1]|0,(c[o>>2]|0)+(c[W>>2]|0)|0);c[W>>2]=(c[W>>2]|0)+1}c[w>>2]=c[o>>2]}else{c[w>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;c[w>>2]=Yy(c[P>>2]|0,c[V>>2]|0,-1,c[i>>2]|0,c[w>>2]|0,0)|0;if((c[w>>2]|0)<=(c[(c[P>>2]|0)+44>>2]|0))break;c[(c[P>>2]|0)+44>>2]=c[w>>2]}while(0);do if(!(c[u>>2]|0))if(c[N>>2]|0){q=(c[P>>2]|0)+44|0;n=(c[q>>2]|0)+1|0;c[q>>2]=n;c[w>>2]=n;b[x>>1]=0;n=c[U>>2]|0;o=c[o>>2]|0;q=b[p>>1]|0;r=c[w>>2]|0;t=CA(c[c[P>>2]>>2]|0,c[N>>2]|0)|0;Uu(n,99,o,q,r,t,b[p>>1]|0)|0;Qu(c[U>>2]|0,126,c[O>>2]|0,c[w>>2]|0)|0;break}else{b[x>>1]=1;Qu(c[U>>2]|0,142,c[y>>2]|0,c[w>>2]|0)|0;break}else{b[x>>1]=b[p>>1]|0;t=(c[j>>2]|0)+2|0;c[M>>2]=Ed(c[J>>2]|0,t,((t|0)<0)<<31>>31)|0;if(!(c[M>>2]|0)){GB(c[F>>2]|0);break a}m0(c[M>>2]|0,1,(c[j>>2]|0)+1|0)|0;a[(c[M>>2]|0)+((c[j>>2]|0)+1)>>0]=0;if((c[v>>2]|0)>=0)a[(c[M>>2]|0)+((c[v>>2]|0)-(c[i>>2]|0))>>0]=0;if((c[v+4>>2]|0)>=0)a[(c[M>>2]|0)+((c[v+4>>2]|0)-(c[i>>2]|0))>>0]=0;if(!(c[q>>2]|0))break;Ry(c[U>>2]|0,c[q>>2]|0)|0}while(0);if(c[u>>2]|0)c[z>>2]=ky(c[U>>2]|0)|0;else GB(c[F>>2]|0);do if(!(c[R>>2]|0)){c[s>>2]=0;if((c[u>>2]|0)==2)c[s>>2]=Nu(c[U>>2]|0,20)|0;FA(c[P>>2]|0,c[V>>2]|0,105,8,c[i>>2]|0,c[M>>2]|0,H,I)|0;if((c[u>>2]|0)!=2)break;ny(c[U>>2]|0,c[s>>2]|0)}while(0);do if(!(c[u>>2]|0)){f=c[U>>2]|0;if(c[N>>2]|0){c[Q>>2]=ey(f,57,c[O>>2]|0)|0;Qu(c[U>>2]|0,121,c[O>>2]|0,c[w>>2]|0)|0;break}else{c[Q>>2]=Ru(f,62,c[y>>2]|0,0,c[w>>2]|0)|0;break}}else{if(d[(c[V>>2]|0)+42>>0]&16|0)break;if(!(d[(c[M>>2]|0)+((c[H>>2]|0)-(c[i>>2]|0))>>0]|0))break;zy(c[U>>2]|0,30,c[H>>2]|0,c[z>>2]|0,c[w>>2]|0,b[x>>1]|0)|0}while(0);do if(d[(c[V>>2]|0)+42>>0]&16|0){c[C>>2]=fw(c[J>>2]|0,c[V>>2]|0)|0;sB(c[P>>2]|0,c[V>>2]|0);Uu(c[U>>2]|0,12,0,1,c[w>>2]|0,c[C>>2]|0,-10)|0;jy(c[U>>2]|0,2);gw(c[P>>2]|0);if((c[u>>2]|0)!=1)break;if(c[(c[P>>2]|0)+124>>2]|0)break;a[(c[P>>2]|0)+20>>0]=0}else{c[D>>2]=(d[(c[P>>2]|0)+18>>0]|0)==0&1;c[E>>2]=-1;do if(!(c[A>>2]|0)){if((c[v+4>>2]|0)==(c[H>>2]|0))break;c[E>>2]=c[v+4>>2]}while(0);BD(c[P>>2]|0,c[V>>2]|0,c[B>>2]|0,c[H>>2]|0,c[I>>2]|0,c[w>>2]|0,b[x>>1]|0,c[D>>2]&255,10,c[u>>2]&255,c[E>>2]|0)}while(0);do if(!(c[u>>2]|0)){f=c[U>>2]|0;if(c[N>>2]|0){Qu(f,7,c[O>>2]|0,(c[Q>>2]|0)+1|0)|0;ny(c[U>>2]|0,c[Q>>2]|0);break}else{my(f,c[Q>>2]|0)|0;ny(c[U>>2]|0,c[Q>>2]|0);break}}else{oy(c[U>>2]|0,c[z>>2]|0);GB(c[F>>2]|0)}while(0);if(c[R>>2]|0)break;if(d[(c[V>>2]|0)+42>>0]&16|0)break;if(!(c[N>>2]|0))ey(c[U>>2]|0,111,c[H>>2]|0)|0;c[W>>2]=0;c[G>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[G>>2]|0))break c;ey(c[U>>2]|0,111,(c[I>>2]|0)+(c[W>>2]|0)|0)|0;c[W>>2]=(c[W>>2]|0)+1;c[G>>2]=c[(c[G>>2]|0)+20>>2]}}while(0);if((d[(c[P>>2]|0)+18>>0]|0)==0?(c[(c[P>>2]|0)+128>>2]|0)==0:0)wB(c[P>>2]|0);if((c[(c[J>>2]|0)+24>>2]&128|0?(a[(c[P>>2]|0)+18>>0]|0)==0:0)?(c[(c[P>>2]|0)+128>>2]|0)==0:0){Qu(c[U>>2]|0,87,c[L>>2]|0,1)|0;Rs(c[U>>2]|0,1);Ss(c[U>>2]|0,0,0,34808,0)|0}}}}}while(0);vE(K);Rk(c[J>>2]|0,c[S>>2]|0);Ok(c[J>>2]|0,c[T>>2]|0);Xd(c[J>>2]|0,c[M>>2]|0);l=X;return}function Qt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+96+8>>2];if(!(c[f>>2]|0)){l=j;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){l=j;return}h=c[e>>2]|0;c[i>>2]=c[g>>2];sl(h,34785,i);l=j;return} +function MF(f){f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,S=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Cb=0,Db=0,Eb=0,Gb=0,Jb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Pd=0,Qd=0,Rd=0,Td=0,Ud=0,Vd=0,Wd=0,Yd=0,Zd=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0.0,Bf=0;yf=l;l=l+1872|0;Ve=yf+536|0;Ue=yf+528|0;Te=yf+520|0;hf=yf+504|0;gf=yf+496|0;ef=yf+488|0;df=yf+480|0;cf=yf+472|0;bf=yf+464|0;af=yf+456|0;$e=yf+440|0;jf=yf+432|0;_e=yf+424|0;Ze=yf+416|0;Ye=yf+408|0;Xe=yf+400|0;We=yf+392|0;pf=yf+376|0;of=yf+368|0;nf=yf+360|0;mf=yf+352|0;tf=yf+1656|0;qf=yf+1652|0;rf=yf+1648|0;vf=yf+1644|0;wf=yf+1640|0;ff=yf+1862|0;ne=yf+1861|0;ye=yf+1636|0;xf=yf+1632|0;k=yf+1628|0;w=yf+1624|0;J=yf+1620|0;W=yf+1616|0;fa=yf+1612|0;qa=yf+1608|0;Ba=yf+1604|0;uf=yf+344|0;g=yf+1600|0;eb=yf+1596|0;pb=yf+1592|0;Ab=yf+1588|0;lf=yf+1584|0;bc=yf+1580|0;mc=yf+1670|0;xc=yf+1576|0;Ic=yf+1572|0;Tc=yf+1568|0;cd=yf+1564|0;od=yf+1560|0;vd=yf+1556|0;wd=yf+1552|0;yd=yf+336|0;zd=yf+1860|0;Ad=yf+1668|0;Bd=yf+1666|0;Cd=yf+1664|0;Dd=yf+328|0;Fd=yf+320|0;Gd=yf+312|0;Hd=yf+304|0;Id=yf+1548|0;Jd=yf+1544|0;Kd=yf+1540|0;Ld=yf+1536|0;Md=yf+296|0;Nd=yf+288|0;Pd=yf+280|0;Qd=yf+1859|0;Rd=yf+1532|0;Td=yf+1528|0;Ud=yf+1858|0;Vd=yf+1662|0;Wd=yf+1660|0;Yd=yf+1524|0;Zd=yf+1520|0;$d=yf+1516|0;ae=yf+1512|0;be=yf+1508|0;ce=yf+1504|0;de=yf+1500|0;ee=yf+1496|0;fe=yf+1492|0;ge=yf+1488|0;he=yf+1484|0;ie=yf+1480|0;je=yf+1476|0;ke=yf+1472|0;le=yf+1468|0;me=yf+1464|0;oe=yf+1460|0;pe=yf+1456|0;qe=yf+240|0;re=yf+1452|0;se=yf+1448|0;te=yf+1444|0;ue=yf+1440|0;ve=yf+232|0;we=yf+1436|0;xe=yf+1432|0;ze=yf+1428|0;Ae=yf+1424|0;Be=yf+1857|0;Ce=yf+1420|0;De=yf+1416|0;Ee=yf+224|0;Fe=yf+1412|0;Ge=yf+216|0;He=yf+208|0;Ie=yf+1408|0;Je=yf+1404|0;Ke=yf+1400|0;Le=yf+1396|0;Me=yf+1392|0;Ne=yf+1388|0;Oe=yf+1384|0;Pe=yf+1380|0;Qe=yf+1376|0;Re=yf+1372|0;Se=yf+200|0;m=yf+1368|0;n=yf+1364|0;o=yf+1360|0;p=yf+1356|0;q=yf+1352|0;r=yf+1348|0;s=yf+1344|0;t=yf+1340|0;u=yf+1336|0;v=yf+1332|0;x=yf+1328|0;kf=yf+1324|0;y=yf+1320|0;z=yf+1316|0;A=yf+1312|0;B=yf+1308|0;C=yf+1304|0;G=yf+1300|0;H=yf+1296|0;I=yf+1292|0;K=yf+1288|0;L=yf+1284|0;M=yf+1280|0;N=yf+1276|0;O=yf+1272|0;P=yf+1268|0;Q=yf+1264|0;S=yf+1260|0;U=yf+1256|0;V=yf+1252|0;X=yf+1248|0;Y=yf+1244|0;Z=yf+1240|0;_=yf+1236|0;$=yf+1232|0;aa=yf+1228|0;ba=yf+1224|0;ca=yf+1208|0;da=yf+1200|0;ea=yf+192|0;ga=yf+1196|0;ha=yf+1192|0;ia=yf+1188|0;ja=yf+1184|0;ka=yf+1180|0;la=yf+1176|0;ma=yf+1172|0;na=yf+1168|0;oa=yf+1152|0;pa=yf+1674|0;ra=yf+1148|0;sa=yf+1144|0;ta=yf+1140|0;ua=yf+184|0;va=yf+176|0;wa=yf+1136|0;xa=yf+1132|0;ya=yf+1128|0;za=yf+1124|0;Aa=yf+1120|0;Ca=yf+1116|0;Da=yf+1112|0;Ea=yf+1108|0;Fa=yf+1104|0;Ga=yf+1100|0;Ha=yf+1096|0;Ia=yf+1092|0;Ja=yf+144|0;Ka=yf+1088|0;La=yf+1084|0;Ma=yf+1080|0;Na=yf+1076|0;Oa=yf+1072|0;Pa=yf+1068|0;Qa=yf+1064|0;Ra=yf+1060|0;Sa=yf+1056|0;Ta=yf+1052|0;Ua=yf+1048|0;Va=yf+1044|0;Wa=yf+136|0;Xa=yf+1040|0;Ya=yf+1036|0;Za=yf+1032|0;_a=yf+1028|0;$a=yf+1024|0;ab=yf+1020|0;bb=yf+1016|0;cb=yf+1012|0;db=yf+1008|0;fb=yf+1004|0;gb=yf+1e3|0;hb=yf+996|0;ib=yf+104|0;jb=yf+992|0;kb=yf+988|0;lb=yf+984|0;mb=yf+968|0;nb=yf+964|0;ob=yf+960|0;qb=yf+96|0;rb=yf+956|0;sb=yf+952|0;tb=yf+936|0;ub=yf+932|0;vb=yf+928|0;wb=yf+924|0;xb=yf+920|0;yb=yf+916|0;zb=yf+912|0;Cb=yf+908|0;Db=yf+904|0;Eb=yf+900|0;Gb=yf+896|0;Jb=yf+880|0;Ob=yf+872|0;Pb=yf+868|0;Qb=yf+864|0;Rb=yf+860|0;Sb=yf+856|0;Tb=yf+88|0;Ub=yf+852|0;Vb=yf+848|0;Wb=yf+844|0;Xb=yf+840|0;Yb=yf+836|0;Zb=yf+832|0;_b=yf+828|0;$b=yf+824|0;ac=yf+820|0;cc=yf+816|0;dc=yf+812|0;ec=yf+808|0;fc=yf+804|0;gc=yf+800|0;hc=yf+796|0;ic=yf+792|0;jc=yf+788|0;kc=yf+784|0;lc=yf+48|0;nc=yf+780|0;oc=yf+776|0;pc=yf+764|0;qc=yf+760|0;rc=yf+756|0;sc=yf+752|0;tc=yf+748|0;uc=yf+744|0;vc=yf+740|0;wc=yf+736|0;yc=yf+1673|0;zc=yf+732|0;Ac=yf+728|0;Bc=yf+724|0;Cc=yf+8|0;Dc=yf+720|0;Ec=yf+716|0;Fc=yf+712|0;Gc=yf+708|0;Hc=yf+704|0;Jc=yf+700|0;Kc=yf+696|0;Lc=yf+692|0;Mc=yf+688|0;Nc=yf+684|0;Oc=yf+680|0;Pc=yf+676|0;Qc=yf+672|0;Rc=yf+668|0;Sc=yf+664|0;Uc=yf+660|0;Vc=yf+656|0;Wc=yf+652|0;Xc=yf+648|0;Yc=yf+616|0;Zc=yf+612|0;_c=yf+608|0;$c=yf+604|0;ad=yf+600|0;bd=yf+596|0;dd=yf+592|0;ed=yf+588|0;fd=yf+584|0;gd=yf+580|0;hd=yf+576|0;id=yf+572|0;jd=yf;kd=yf+568|0;ld=yf+564|0;nd=yf+1672|0;pd=yf+560|0;qd=yf+556|0;rd=yf+552|0;sd=yf+548|0;td=yf+544|0;ud=yf+540|0;c[tf>>2]=f;c[qf>>2]=c[(c[tf>>2]|0)+88>>2];c[rf>>2]=c[qf>>2];c[vf>>2]=0;c[wf>>2]=c[c[tf>>2]>>2];a[ff>>0]=0;a[ne>>0]=a[(c[wf>>2]|0)+66>>0]|0;c[ye>>2]=0;c[xf>>2]=0;c[k>>2]=0;c[w>>2]=c[(c[tf>>2]|0)+92>>2];c[J>>2]=0;c[W>>2]=0;c[fa>>2]=0;c[qa>>2]=0;c[Ba>>2]=0;zf=(c[wf>>2]|0)+32|0;f=c[zf+4>>2]|0;i=uf;c[i>>2]=c[zf>>2];c[i+4>>2]=f;Sr(c[tf>>2]|0);a:do if((c[(c[tf>>2]|0)+40>>2]|0)==7)j=887;else{c[(c[tf>>2]|0)+40>>2]=0;zf=(c[tf>>2]|0)+56|0;c[zf>>2]=0;c[zf+4>>2]=0;c[(c[tf>>2]|0)+104>>2]=0;c[(c[wf>>2]|0)+380+8>>2]=0;b:do if(!(c[(c[wf>>2]|0)+248>>2]|0)){if(c[(c[wf>>2]|0)+304>>2]|0){c[g>>2]=c[(c[tf>>2]|0)+156+16>>2];c[k>>2]=(c[(c[wf>>2]|0)+312>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[wf>>2]|0)+312>>2]|0)>>>0)|0)}c[rf>>2]=(c[qf>>2]|0)+((c[(c[tf>>2]|0)+36>>2]|0)*20|0);c:while(1){c[xf>>2]=(c[xf>>2]|0)+1;d:do switch(d[c[rf>>2]>>0]|0){case 87:{j=64;break c}case 1:{j=395;break c}case 13:{j=7;break}case 14:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);b[(c[J>>2]|0)+8>>1]=4;zf=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;j=c[J>>2]|0;c[j>>2]=zf;c[j+4>>2]=((zf|0)<0)<<31>>31;j=14;break}case 72:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[rf>>2]=(c[qf>>2]|0)+((c[c[J>>2]>>2]|0)*20|0);b[(c[J>>2]|0)+8>>1]=128;break}case 15:{c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);i=(c[(c[rf>>2]|0)+12>>2]|0)-1|0;zf=c[qa>>2]|0;c[zf>>2]=i;c[zf+4>>2]=((i|0)<0)<<31>>31;b[(c[qa>>2]|0)+8>>1]=4;if(c[(c[rf>>2]|0)+8>>2]|0)j=14;break}case 73:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[eb>>2]=(c[qf>>2]|0)+((c[c[J>>2]>>2]|0)*20|0);c[rf>>2]=(c[qf>>2]|0)+(((c[(c[eb>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[J>>2]|0)+8>>1]=128;break}case 16:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);b[(c[J>>2]|0)+8>>1]=4;c[pb>>2]=c[c[J>>2]>>2];i=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;zf=c[J>>2]|0;c[zf>>2]=i;c[zf+4>>2]=((i|0)<0)<<31>>31;c[rf>>2]=(c[qf>>2]|0)+((c[pb>>2]|0)*20|0);break}case 74:{c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if(e[(c[fa>>2]|0)+8>>1]&1|0)j=20;break}case 75:{j=20;break}case 76:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;i=c[(c[rf>>2]|0)+4>>2]|0;zf=c[qa>>2]|0;c[zf>>2]=i;c[zf+4>>2]=((i|0)<0)<<31>>31;break}case 77:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;g=c[(c[rf>>2]|0)+16>>2]|0;i=c[g+4>>2]|0;zf=c[qa>>2]|0;c[zf>>2]=c[g>>2];c[zf+4>>2]=i;break}case 132:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;b[(c[qa>>2]|0)+8>>1]=8;h[c[qa>>2]>>3]=+h[c[(c[rf>>2]|0)+16>>2]>>3];break}case 97:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;a[c[rf>>2]>>0]=78;zf=md(c[(c[rf>>2]|0)+16>>2]|0)|0;c[(c[rf>>2]|0)+4>>2]=zf;if((d[ne>>0]|0)!=1){c[vf>>2]=ci(c[qa>>2]|0,c[(c[rf>>2]|0)+16>>2]|0,-1,1,0)|0;if(oi(c[qa>>2]|0,d[ne>>0]|0)|0){j=887;break a}c[(c[qa>>2]|0)+24>>2]=0;zf=(c[qa>>2]|0)+8|0;b[zf>>1]=e[zf>>1]|2048;if((a[(c[rf>>2]|0)+1>>0]|0)==-1)Xd(c[wf>>2]|0,c[(c[rf>>2]|0)+16>>2]|0);a[(c[rf>>2]|0)+1>>0]=-1;c[(c[rf>>2]|0)+16>>2]=c[(c[qa>>2]|0)+16>>2];c[(c[rf>>2]|0)+4>>2]=c[(c[qa>>2]|0)+12>>2]}if((c[(c[rf>>2]|0)+4>>2]|0)>(c[(c[wf>>2]|0)+96>>2]|0)){j=886;break c}else j=43;break}case 78:{j=43;break}case 79:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[bc>>2]=(c[(c[rf>>2]|0)+12>>2]|0)-(c[(c[rf>>2]|0)+8>>2]|0);zf=(c[(c[rf>>2]|0)+4>>2]|0?257:1)&65535;b[mc>>1]=zf;b[(c[qa>>2]|0)+8>>1]=zf;c[(c[qa>>2]|0)+12>>2]=0;while(1){if((c[bc>>2]|0)<=0)break d;c[qa>>2]=(c[qa>>2]|0)+40;_h(c[qa>>2]|0);b[(c[qa>>2]|0)+8>>1]=b[mc>>1]|0;c[(c[qa>>2]|0)+12>>2]=0;c[bc>>2]=(c[bc>>2]|0)+-1}}case 80:{c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);b[(c[qa>>2]|0)+8>>1]=(e[(c[qa>>2]|0)+8>>1]|1)&-129;break}case 81:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;ci(c[qa>>2]|0,c[(c[rf>>2]|0)+16>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,0,0)|0;a[(c[qa>>2]|0)+10>>0]=a[ne>>0]|0;break}case 82:{c[xc>>2]=(c[(c[tf>>2]|0)+116>>2]|0)+(((c[(c[rf>>2]|0)+4>>2]|0)-1|0)*40|0);if(RF(c[xc>>2]|0)|0){j=886;break c}c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;kj(c[qa>>2]|0,c[xc>>2]|0,2048);break}case 83:{c[Ic>>2]=c[(c[rf>>2]|0)+12>>2];c[Tc>>2]=c[(c[rf>>2]|0)+4>>2];c[cd>>2]=c[(c[rf>>2]|0)+8>>2];c[J>>2]=(c[w>>2]|0)+((c[Tc>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[cd>>2]|0)*40|0);do{Ls(c[qa>>2]|0,c[J>>2]|0);if(e[(c[qa>>2]|0)+8>>1]&4096|0?gi(c[qa>>2]|0)|0:0){j=887;break a}c[J>>2]=(c[J>>2]|0)+40;c[qa>>2]=(c[qa>>2]|0)+40;zf=(c[Ic>>2]|0)+-1|0;c[Ic>>2]=zf}while((zf|0)!=0);break}case 84:{c[od>>2]=c[(c[rf>>2]|0)+12>>2];c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);while(1){kj(c[qa>>2]|0,c[J>>2]|0,4096);if(e[(c[qa>>2]|0)+8>>1]&4096|0?gi(c[qa>>2]|0)|0:0){j=887;break a}zf=c[od>>2]|0;c[od>>2]=zf+-1;if(!zf)break d;c[qa>>2]=(c[qa>>2]|0)+40;c[J>>2]=(c[J>>2]|0)+40}}case 85:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);kj(c[qa>>2]|0,c[J>>2]|0,4096);break}case 86:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);zf=c[J>>2]|0;Yh(c[qa>>2]|0,c[zf>>2]|0,c[zf+4>>2]|0);break}case 52:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if((e[(c[J>>2]|0)+8>>1]|e[(c[W>>2]|0)+8>>1])&1|0){_h(c[qa>>2]|0);break d}if(e[(c[J>>2]|0)+8>>1]&16384|0?hi(c[J>>2]|0)|0:0){j=887;break a}if(e[(c[W>>2]|0)+8>>1]&16384|0?hi(c[W>>2]|0)|0:0){j=887;break a}if((e[(c[J>>2]|0)+8>>1]&18|0)==0?qi(c[J>>2]|0,a[ne>>0]|0,0)|0:0){j=887;break a}if((e[(c[W>>2]|0)+8>>1]&18|0)==0?qi(c[W>>2]|0,a[ne>>0]|0,0)|0:0){j=887;break a}f=(c[(c[J>>2]|0)+12>>2]|0)+(c[(c[W>>2]|0)+12>>2]|0)|0;i=yd;c[i>>2]=f;c[i+4>>2]=((f|0)<0)<<31>>31;i=yd;f=c[i+4>>2]|0;zf=c[(c[wf>>2]|0)+96>>2]|0;g=((zf|0)<0)<<31>>31;if((f|0)>(g|0)|((f|0)==(g|0)?(c[i>>2]|0)>>>0>zf>>>0:0)){j=886;break c}if(ii(c[qa>>2]|0,(c[yd>>2]|0)+2|0,(c[qa>>2]|0)==(c[W>>2]|0)&1)|0){j=887;break a}b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|2;if((c[qa>>2]|0)!=(c[W>>2]|0))h0(c[(c[qa>>2]|0)+16>>2]|0,c[(c[W>>2]|0)+16>>2]|0,c[(c[W>>2]|0)+12>>2]|0)|0;h0((c[(c[qa>>2]|0)+16>>2]|0)+(c[(c[W>>2]|0)+12>>2]|0)|0,c[(c[J>>2]|0)+16>>2]|0,c[(c[J>>2]|0)+12>>2]|0)|0;a[(c[(c[qa>>2]|0)+16>>2]|0)+(c[yd>>2]|0)>>0]=0;i=c[(c[qa>>2]|0)+16>>2]|0;zf=yd;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,1,0)|0;a[i+zf>>0]=0;zf=(c[qa>>2]|0)+8|0;b[zf>>1]=e[zf>>1]|512;c[(c[qa>>2]|0)+12>>2]=c[yd>>2];a[(c[qa>>2]|0)+10>>0]=a[ne>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);b[Bd>>1]=SF(c[J>>2]|0)|0;c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);b[Cd>>1]=SF(c[W>>2]|0)|0;c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);b[Ad>>1]=e[(c[J>>2]|0)+8>>1]|e[(c[W>>2]|0)+8>>1];e:do if(!(e[Ad>>1]&1)){f:do if(e[Bd>>1]&e[Cd>>1]&4|0){zf=c[J>>2]|0;i=c[zf+4>>2]|0;g=Dd;c[g>>2]=c[zf>>2];c[g+4>>2]=i;g=c[W>>2]|0;i=c[g+4>>2]|0;zf=Fd;c[zf>>2]=c[g>>2];c[zf+4>>2]=i;a[zd>>0]=1;switch(d[c[rf>>2]>>0]|0){case 47:{zf=Dd;if(Gi(Fd,c[zf>>2]|0,c[zf+4>>2]|0)|0)break f;break}case 48:{zf=Dd;if(TF(Fd,c[zf>>2]|0,c[zf+4>>2]|0)|0)break f;break}case 49:{zf=Dd;if(UF(Fd,c[zf>>2]|0,c[zf+4>>2]|0)|0)break f;break}case 50:{zf=Dd;if((c[zf>>2]|0)==0&(c[zf+4>>2]|0)==0)break e;i=Dd;zf=Fd;if(((c[i>>2]|0)==-1?(c[i+4>>2]|0)==-1:0)&((c[zf>>2]|0)==0?(c[zf+4>>2]|0)==-2147483648:0))break f;i=Dd;g=Fd;zf=Fd;c[zf>>2]=n0(c[g>>2]|0,c[g+4>>2]|0,c[i>>2]|0,c[i+4>>2]|0)|0;c[zf+4>>2]=D;break}default:{zf=Dd;if((c[zf>>2]|0)==0&(c[zf+4>>2]|0)==0)break e;zf=Dd;if((c[zf>>2]|0)==-1?(c[zf+4>>2]|0)==-1:0){zf=Dd;c[zf>>2]=1;c[zf+4>>2]=0}i=Dd;g=Fd;zf=Fd;c[zf>>2]=c0(c[g>>2]|0,c[g+4>>2]|0,c[i>>2]|0,c[i+4>>2]|0)|0;c[zf+4>>2]=D}}g=Fd;i=c[g+4>>2]|0;zf=c[qa>>2]|0;c[zf>>2]=c[g>>2];c[zf+4>>2]=i;b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|4;break d}else a[zd>>0]=0;while(0);h[Gd>>3]=+Ii(c[J>>2]|0);h[Hd>>3]=+Ii(c[W>>2]|0);switch(d[c[rf>>2]>>0]|0){case 47:{h[Hd>>3]=+h[Hd>>3]+ +h[Gd>>3];break}case 48:{h[Hd>>3]=+h[Hd>>3]-+h[Gd>>3];break}case 49:{h[Hd>>3]=+h[Hd>>3]*+h[Gd>>3];break}case 50:{if(+h[Gd>>3]==0.0)break e;h[Hd>>3]=+h[Hd>>3]/+h[Gd>>3];break}default:{Af=+h[Gd>>3];zf=+F(Af)>=1.0?(Af>0.0?~~+T(+E(Af/4294967296.0),4294967295.0)>>>0:~~+R((Af-+(~~Af>>>0))/4294967296.0)>>>0):0;i=Dd;c[i>>2]=~~Af>>>0;c[i+4>>2]=zf;Af=+h[Hd>>3];i=+F(Af)>=1.0?(Af>0.0?~~+T(+E(Af/4294967296.0),4294967295.0)>>>0:~~+R((Af-+(~~Af>>>0))/4294967296.0)>>>0):0;zf=Fd;c[zf>>2]=~~Af>>>0;c[zf+4>>2]=i;zf=Dd;if((c[zf>>2]|0)==0&(c[zf+4>>2]|0)==0)break e;zf=Dd;if((c[zf>>2]|0)==-1?(c[zf+4>>2]|0)==-1:0){zf=Dd;c[zf>>2]=1;c[zf+4>>2]=0}i=Fd;zf=Dd;h[Hd>>3]=+((c0(c[i>>2]|0,c[i+4>>2]|0,c[zf>>2]|0,c[zf+4>>2]|0)|0)>>>0)+4294967296.0*+(D|0)}}if(!(Sd(+h[Hd>>3])|0)){h[c[qa>>2]>>3]=+h[Hd>>3];b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|8;if(a[zd>>0]|0?1:((e[Bd>>1]|e[Cd>>1])&8|0)!=0)break d;Pi(c[qa>>2]|0);break d}}while(0);_h(c[qa>>2]|0);break}case 88:{if(c[(c[rf>>2]|0)+4>>2]|0)Yh((c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 89:{c[Id>>2]=d[(c[rf>>2]|0)+3>>0];c[Jd>>2]=Ed(c[wf>>2]|0,32+((c[Id>>2]|0)-1<<2)|0,0)|0;if(!(c[Jd>>2]|0)){j=887;break a}c[c[Jd>>2]>>2]=0;c[(c[Jd>>2]|0)+4>>2]=c[(c[rf>>2]|0)+16>>2];c[(c[Jd>>2]|0)+16>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;c[(c[Jd>>2]|0)+12>>2]=c[tf>>2];a[(c[Jd>>2]|0)+26>>0]=c[Id>>2];a[(c[rf>>2]|0)+1>>0]=-21;c[(c[rf>>2]|0)+16>>2]=c[Jd>>2];a[c[rf>>2]>>0]=90;j=126;break}case 90:{j=126;break}case 46:case 45:case 44:case 43:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if((e[(c[J>>2]|0)+8>>1]|e[(c[W>>2]|0)+8>>1])&1|0){_h(c[qa>>2]|0);break d}zf=Ki(c[W>>2]|0)|0;i=Md;c[i>>2]=zf;c[i+4>>2]=D;i=Ki(c[J>>2]|0)|0;zf=Pd;c[zf>>2]=i;c[zf+4>>2]=D;a[Qd>>0]=a[c[rf>>2]>>0]|0;do if((d[Qd>>0]|0)!=43){g=Pd;f=c[g>>2]|0;g=c[g+4>>2]|0;if((d[Qd>>0]|0)==44){Bf=Md;i=c[Bf+4>>2]|g;zf=Md;c[zf>>2]=c[Bf>>2]|f;c[zf+4>>2]=i;break}if((f|0)!=0|(g|0)!=0){if((c[Pd+4>>2]|0)<0){a[Qd>>0]=91-(d[Qd>>0]|0);zf=Pd;i=c[zf+4>>2]|0;zf=(i|0)>-1|(i|0)==-1&(c[zf>>2]|0)>>>0>4294967232;i=Pd;i=Z$(0,0,c[i>>2]|0,c[i+4>>2]|0)|0;Bf=Pd;c[Bf>>2]=zf?i:64;c[Bf+4>>2]=zf?D:0}Bf=Pd;zf=c[Bf+4>>2]|0;if((zf|0)>0|(zf|0)==0&(c[Bf>>2]|0)>>>0>=64){Bf=Md;zf=c[Bf+4>>2]|0;if((zf|0)>0|(zf|0)==0&(c[Bf>>2]|0)>>>0>=0)f=1;else f=(d[Qd>>0]|0)==45;zf=f?0:-1;Bf=Md;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break};c[Nd>>2]=c[Md>>2];c[Nd+4>>2]=c[Md+4>>2];f=c[Pd>>2]|0;i=Nd;g=c[i>>2]|0;i=c[i+4>>2]|0;if((d[Qd>>0]|0)!=45){zf=f0(g|0,i|0,f|0)|0;Bf=Nd;c[Bf>>2]=zf;c[Bf+4>>2]=D;if((c[Md+4>>2]|0)<0){i=Pd;i=Z$(64,0,c[i>>2]|0,c[i+4>>2]|0)|0;i=j0(-1,-1,i|0)|0;g=Nd;zf=c[g+4>>2]|D;Bf=Nd;c[Bf>>2]=c[g>>2]|i;c[Bf+4>>2]=zf}}else{zf=j0(g|0,i|0,f|0)|0;Bf=Nd;c[Bf>>2]=zf;c[Bf+4>>2]=D};c[Md>>2]=c[Nd>>2];c[Md+4>>2]=c[Nd+4>>2]}}else{i=Pd;g=Md;zf=c[g+4>>2]&c[i+4>>2];Bf=Md;c[Bf>>2]=c[g>>2]&c[i>>2];c[Bf+4>>2]=zf}while(0);i=Md;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|4;break}case 91:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);bw(c[J>>2]|0)|0;zf=c[(c[rf>>2]|0)+8>>2]|0;Bf=c[J>>2]|0;i=Bf;zf=_$(c[i>>2]|0,c[i+4>>2]|0,zf|0,((zf|0)<0)<<31>>31|0)|0;c[Bf>>2]=zf;c[Bf+4>>2]=D;break}case 17:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if((e[(c[J>>2]|0)+8>>1]&4|0)==0?(aw(c[J>>2]|0,67,a[ne>>0]|0),(e[(c[J>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[rf>>2]|0)+8>>2]|0)){j=159;break c}else{j=14;break d}b[(c[J>>2]|0)+8>>1]=e[(c[J>>2]|0)+8>>1]&-49664|4;break}case 92:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&4|0)cw(c[J>>2]|0)|0;break}case 93:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&16384|0)f=hi(c[J>>2]|0)|0;else f=0;c[vf>>2]=f;Xv(c[J>>2]|0,c[(c[rf>>2]|0)+8>>2]&255,a[ne>>0]|0);if(c[vf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);b[Vd>>1]=b[(c[J>>2]|0)+8>>1]|0;b[Wd>>1]=b[(c[fa>>2]|0)+8>>1]|0;f=d[(c[rf>>2]|0)+3>>0]|0;do if((e[Vd>>1]|e[Wd>>1])&1|0){if(!(f&128))if(!(d[(c[rf>>2]|0)+3>>0]&32|0))if(d[(c[rf>>2]|0)+3>>0]&16|0){j=14;break d}else break d;else{c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[ye>>2]=1;b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|1;break d}if((e[Vd>>1]&1|0?e[Wd>>1]&1|0:0)?(e[Wd>>1]&256|0)==0:0){c[Rd>>2]=0;break}c[Rd>>2]=1}else{a[Ud>>0]=f&71;if((a[Ud>>0]|0)>=67){if((e[Vd>>1]|e[Wd>>1])&2|0){if((e[Vd>>1]&14|0)==2){Oi(c[J>>2]|0,0);b[Wd>>1]=b[(c[fa>>2]|0)+8>>1]|0}if((e[Wd>>1]&14|0)==2)Oi(c[fa>>2]|0,0)}if(e[(c[J>>2]|0)+8>>1]&e[(c[fa>>2]|0)+8>>1]&4|0){zf=c[fa>>2]|0;g=c[zf+4>>2]|0;Bf=c[J>>2]|0;i=c[Bf+4>>2]|0;if((g|0)>(i|0)|((g|0)==(i|0)?(c[zf>>2]|0)>>>0>(c[Bf>>2]|0)>>>0:0)){c[Rd>>2]=1;break}zf=c[fa>>2]|0;g=c[zf+4>>2]|0;Bf=c[J>>2]|0;i=c[Bf+4>>2]|0;if((g|0)<(i|0)|((g|0)==(i|0)?(c[zf>>2]|0)>>>0<(c[Bf>>2]|0)>>>0:0)){c[Rd>>2]=-1;break}else{c[Rd>>2]=0;break}}}else if((a[Ud>>0]|0)==66){if((e[Vd>>1]&2|0)==0?e[Vd>>1]&12|0:0){qi(c[J>>2]|0,a[ne>>0]|0,1)|0;b[Vd>>1]=e[(c[J>>2]|0)+8>>1]&-33280|e[Vd>>1]&33279}if((e[Wd>>1]&2|0)==0?e[Wd>>1]&12|0:0){qi(c[fa>>2]|0,a[ne>>0]|0,1)|0;b[Wd>>1]=e[(c[fa>>2]|0)+8>>1]&-33280|e[Wd>>1]&33279}}c[Rd>>2]=ej(c[fa>>2]|0,c[J>>2]|0,c[(c[rf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[rf>>2]>>0]|0){case 37:{c[Td>>2]=(c[Rd>>2]|0)==0&1;break}case 36:{c[Td>>2]=c[Rd>>2];break}case 40:{c[Td>>2]=(c[Rd>>2]|0)<0&1;break}case 39:{c[Td>>2]=(c[Rd>>2]|0)<=0&1;break}case 38:{c[Td>>2]=(c[Rd>>2]|0)>0&1;break}default:c[Td>>2]=(c[Rd>>2]|0)>=0&1}b[(c[J>>2]|0)+8>>1]=b[Vd>>1]|0;b[(c[fa>>2]|0)+8>>1]=b[Wd>>1]|0;if(!(d[(c[rf>>2]|0)+3>>0]&32))if(c[Td>>2]|0){j=14;break d}else break d;c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[ye>>2]=c[Rd>>2];c[Td>>2]=(c[Td>>2]|0)!=0&1;if(d[(c[rf>>2]|0)+3>>0]&8|0?((d[c[rf>>2]>>0]|0)==37|0)==(c[Td>>2]|0):0)break d;b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|4;zf=c[Td>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break}case 42:{if(c[ye>>2]|0)j=14;break}case 94:{c[Ba>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+4;break}case 95:{if(!(d[(c[rf>>2]|0)+3>>0]&1))c[Ba>>2]=0;c[Yd>>2]=c[(c[rf>>2]|0)+12>>2];c[be>>2]=c[(c[rf>>2]|0)+16>>2];c[$d>>2]=c[(c[rf>>2]|0)+4>>2];c[ae>>2]=c[(c[rf>>2]|0)+8>>2];c[Zd>>2]=0;while(1){if((c[Zd>>2]|0)>=(c[Yd>>2]|0))break;if(c[Ba>>2]|0)f=c[(c[Ba>>2]|0)+(c[Zd>>2]<<2)>>2]|0;else f=c[Zd>>2]|0;c[ce>>2]=f;c[de>>2]=c[(c[be>>2]|0)+20+(c[Zd>>2]<<2)>>2];c[ee>>2]=d[(c[(c[be>>2]|0)+16>>2]|0)+(c[Zd>>2]|0)>>0];c[ye>>2]=ej((c[w>>2]|0)+(((c[$d>>2]|0)+(c[ce>>2]|0)|0)*40|0)|0,(c[w>>2]|0)+(((c[ae>>2]|0)+(c[ce>>2]|0)|0)*40|0)|0,c[de>>2]|0)|0;if(c[ye>>2]|0){j=218;break}c[Zd>>2]=(c[Zd>>2]|0)+1}if((j|0)==218?(j=0,c[ee>>2]|0):0)c[ye>>2]=0-(c[ye>>2]|0);c[Ba>>2]=0;break}case 18:{if((c[ye>>2]|0)<0){c[rf>>2]=(c[qf>>2]|0)+(((c[(c[rf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}f=c[qf>>2]|0;g=c[rf>>2]|0;if(!(c[ye>>2]|0)){c[rf>>2]=f+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[rf>>2]=f+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&1|0)c[fe>>2]=2;else{Bf=Ki(c[J>>2]|0)|0;c[fe>>2]=((Bf|0)!=0|(D|0)!=0)&1}c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);if(e[(c[W>>2]|0)+8>>1]&1|0)c[ge>>2]=2;else{Bf=Ki(c[W>>2]|0)|0;c[ge>>2]=((Bf|0)!=0|(D|0)!=0)&1}f=((c[fe>>2]|0)*3|0)+(c[ge>>2]|0)|0;if((d[c[rf>>2]>>0]|0)==28)c[fe>>2]=d[38780+f>>0];else c[fe>>2]=d[38789+f>>0];c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if((c[fe>>2]|0)==2){f=(e[(c[qa>>2]|0)+8>>1]&-49664|1)&65535;g=c[qa>>2]|0}else{g=c[fe>>2]|0;f=c[qa>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;f=(e[(c[qa>>2]|0)+8>>1]&-49664|4)&65535;g=c[qa>>2]|0}b[g+8>>1]=f;break}case 19:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);_h(c[qa>>2]|0);if(!(e[(c[J>>2]|0)+8>>1]&1)){b[(c[qa>>2]|0)+8>>1]=4;zf=Ki(c[J>>2]|0)|0;zf=(((zf|0)!=0|(D|0)!=0)^1)&1;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31}break}case 54:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);_h(c[qa>>2]|0);if(!(e[(c[J>>2]|0)+8>>1]&1)){b[(c[qa>>2]|0)+8>>1]=4;zf=Ki(c[J>>2]|0)|0;Bf=c[qa>>2]|0;c[Bf>>2]=~zf;c[Bf+4>>2]=~D}break}case 20:{if((c[(c[(c[tf>>2]|0)+88>>2]|0)+4>>2]|0)==(c[(c[rf>>2]|0)+4>>2]|0))j=14;else c[(c[rf>>2]|0)+4>>2]=c[(c[(c[tf>>2]|0)+88>>2]|0)+4>>2];break}case 22:case 21:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[J>>2]|0)+8>>1]&1|0)){c[he>>2]=+Ii(c[J>>2]|0)!=0.0&1;if((d[c[rf>>2]>>0]|0)==22)c[he>>2]=((c[he>>2]|0)!=0^1)&1}else c[he>>2]=c[(c[rf>>2]|0)+12>>2];if(c[he>>2]|0)j=14;break}case 34:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&1|0)j=14;break}case 35:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[J>>2]|0)+8>>1]&1))j=14;break}case 96:{c[je>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[ie>>2]=c[(c[rf>>2]|0)+8>>2];c[vf>>2]=VF(je,ie)|0;if(c[vf>>2]|0)break a;c[pe>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[le>>2]=c[(c[je>>2]|0)+76>>2];c[ke>>2]=c[(c[je>>2]|0)+16>>2];do if((c[(c[je>>2]|0)+56>>2]|0)!=(c[(c[tf>>2]|0)+32>>2]|0)){do if(a[(c[je>>2]|0)+2>>0]|0)if((d[c[je>>2]>>0]|0)==3){c[ze>>2]=(c[w>>2]|0)+((c[(c[je>>2]|0)+16>>2]|0)*40|0);Bf=c[(c[ze>>2]|0)+12>>2]|0;c[we>>2]=Bf;c[(c[je>>2]|0)+64>>2]=Bf;c[(c[je>>2]|0)+60>>2]=Bf;c[(c[je>>2]|0)+72>>2]=c[(c[ze>>2]|0)+16>>2];break}else{_h(c[pe>>2]|0);break d}else{f=xq(c[ke>>2]|0)|0;c[(c[je>>2]|0)+60>>2]=f;f=WF(c[ke>>2]|0,we)|0;c[(c[je>>2]|0)+72>>2]=f;f=c[(c[je>>2]|0)+60>>2]|0;if((c[(c[je>>2]|0)+60>>2]|0)>>>0<=(c[we>>2]|0)>>>0){c[(c[je>>2]|0)+64>>2]=f;break}if(f>>>0>(c[(c[wf>>2]|0)+96>>2]|0)>>>0){j=886;break c}c[(c[je>>2]|0)+64>>2]=c[we>>2]}while(0);c[(c[je>>2]|0)+56>>2]=c[(c[tf>>2]|0)+32>>2];f=c[(c[je>>2]|0)+72>>2]|0;if((d[c[(c[je>>2]|0)+72>>2]>>0]|0)<128){c[ue>>2]=d[f>>0];f=1}else f=(fE(f,ue)|0)&255;c[(c[je>>2]|0)+68>>2]=f&255;b[(c[je>>2]|0)+14>>1]=0;c[c[le>>2]>>2]=c[ue>>2];if((c[we>>2]|0)>>>0<(c[ue>>2]|0)>>>0){c[(c[je>>2]|0)+72>>2]=0;c[(c[je>>2]|0)+64>>2]=0;if((c[ue>>2]|0)>>>0>98307){j=269;break c}if((c[ue>>2]|0)>>>0>(c[(c[je>>2]|0)+60>>2]|0)>>>0){j=269;break c}else{j=272;break}}else{if((c[ue>>2]|0)>>>0<=0){j=272;break}c[re>>2]=c[(c[je>>2]|0)+72>>2];j=278;break}}else j=272;while(0);do if((j|0)==272){j=0;f=c[je>>2]|0;if((e[(c[je>>2]|0)+14>>1]|0)>(c[ie>>2]|0)){c[xe>>2]=c[f+80+(c[ie>>2]<<2)>>2];break}if((c[f+68>>2]|0)>>>0>=(c[c[le>>2]>>2]|0)>>>0){c[xe>>2]=0;j=294;break}if(c[(c[je>>2]|0)+72>>2]|0){c[re>>2]=c[(c[je>>2]|0)+72>>2];j=278;break}f=qe;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[vf>>2]=XF(c[ke>>2]|0,0,c[c[le>>2]>>2]|0,((a[(c[je>>2]|0)+4>>0]|0)!=0^1)&1,qe)|0;if(c[vf>>2]|0)break a;c[re>>2]=c[qe+16>>2];j=278}while(0);if((j|0)==278){c[oe>>2]=e[(c[je>>2]|0)+14>>1];Bf=ve;c[Bf>>2]=c[(c[le>>2]|0)+(c[oe>>2]<<2)>>2];c[Bf+4>>2]=0;c[se>>2]=(c[re>>2]|0)+(c[(c[je>>2]|0)+68>>2]|0);c[te>>2]=(c[re>>2]|0)+(c[c[le>>2]>>2]|0);do{Bf=d[c[se>>2]>>0]|0;c[xe>>2]=Bf;f=c[se>>2]|0;if(Bf>>>0<128){c[se>>2]=f+1;zf=(YF(c[xe>>2]&255)|0)&255;Bf=ve;zf=_$(c[Bf>>2]|0,c[Bf+4>>2]|0,zf|0,0)|0;Bf=ve;c[Bf>>2]=zf;c[Bf+4>>2]=D}else{zf=(fE(f,xe)|0)&255;c[se>>2]=(c[se>>2]|0)+zf;zf=gE(c[xe>>2]|0)|0;Bf=ve;zf=_$(c[Bf>>2]|0,c[Bf+4>>2]|0,zf|0,0)|0;Bf=ve;c[Bf>>2]=zf;c[Bf+4>>2]=D}j=c[xe>>2]|0;zf=(c[je>>2]|0)+80|0;Bf=c[oe>>2]|0;c[oe>>2]=Bf+1;c[zf+(Bf<<2)>>2]=j;c[(c[le>>2]|0)+(c[oe>>2]<<2)>>2]=c[ve>>2];if((c[oe>>2]|0)>(c[ie>>2]|0))break}while((c[se>>2]|0)>>>0<(c[te>>2]|0)>>>0);if((c[se>>2]|0)>>>0>=(c[te>>2]|0)>>>0){if((c[se>>2]|0)>>>0>(c[te>>2]|0)>>>0){j=288;break c}Bf=ve;if(c[Bf+4>>2]|0?1:(c[Bf>>2]|0)!=(c[(c[je>>2]|0)+60>>2]|0)){j=288;break c}}Bf=ve;zf=c[Bf+4>>2]|0;if(zf>>>0>0|((zf|0)==0?(c[Bf>>2]|0)>>>0>(c[(c[je>>2]|0)+60>>2]|0)>>>0:0)){j=288;break c}b[(c[je>>2]|0)+14>>1]=c[oe>>2];c[(c[je>>2]|0)+68>>2]=(c[se>>2]|0)-(c[re>>2]|0);if(!(c[(c[je>>2]|0)+72>>2]|0)){ei(qe);j=294}else j=294}if((j|0)==294?(j=0,(e[(c[je>>2]|0)+14>>1]|0)<=(c[ie>>2]|0)):0){f=c[pe>>2]|0;if((a[(c[rf>>2]|0)+1>>0]|0)==-8){kj(f,c[(c[rf>>2]|0)+16>>2]|0,2048);break d}else{_h(f);break d}}if(e[(c[pe>>2]|0)+8>>1]&9312|0)_h(c[pe>>2]|0);if((c[(c[je>>2]|0)+64>>2]|0)>>>0>=(c[(c[le>>2]|0)+((c[ie>>2]|0)+1<<2)>>2]|0)>>>0){c[re>>2]=(c[(c[je>>2]|0)+72>>2]|0)+(c[(c[le>>2]|0)+(c[ie>>2]<<2)>>2]|0);if((c[xe>>2]|0)>>>0<12){hE(c[re>>2]|0,c[xe>>2]|0,c[pe>>2]|0)|0;break d}f=(((c[xe>>2]|0)-12|0)>>>0)/2|0;c[me>>2]=f;c[(c[pe>>2]|0)+12>>2]=f;a[(c[pe>>2]|0)+10>>0]=a[ne>>0]|0;f=c[pe>>2]|0;if((c[(c[pe>>2]|0)+24>>2]|0)<((c[me>>2]|0)+2|0)){b[f+8>>1]=1;if(ii(c[pe>>2]|0,(c[me>>2]|0)+2|0,0)|0){j=887;break a}}else c[(c[pe>>2]|0)+16>>2]=c[f+20>>2];h0(c[(c[pe>>2]|0)+16>>2]|0,c[re>>2]|0,c[me>>2]|0)|0;a[(c[(c[pe>>2]|0)+16>>2]|0)+(c[me>>2]|0)>>0]=0;a[(c[(c[pe>>2]|0)+16>>2]|0)+((c[me>>2]|0)+1)>>0]=0;b[(c[pe>>2]|0)+8>>1]=b[17066+((c[xe>>2]&1)<<1)>>1]|0;break d}a[(c[pe>>2]|0)+10>>0]=a[ne>>0]|0;do if(d[(c[rf>>2]|0)+3>>0]&192|0){if((c[xe>>2]|0)>>>0>=12?(c[xe>>2]&1|0)==0:0)break;if(!(d[(c[rf>>2]|0)+3>>0]&128))j=312}else j=312;while(0);if((j|0)==312?(j=0,Bf=gE(c[xe>>2]|0)|0,c[me>>2]=Bf,Bf|0):0){c[vf>>2]=XF(c[ke>>2]|0,c[(c[le>>2]|0)+(c[ie>>2]<<2)>>2]|0,c[me>>2]|0,((a[(c[je>>2]|0)+4>>0]|0)!=0^1)&1,c[pe>>2]|0)|0;if(c[vf>>2]|0)break a;hE(c[(c[pe>>2]|0)+16>>2]|0,c[xe>>2]|0,c[pe>>2]|0)|0;Bf=(c[pe>>2]|0)+8|0;b[Bf>>1]=e[Bf>>1]&-4097;break d}hE(56041,c[xe>>2]|0,c[pe>>2]|0)|0;break}case 98:{c[Ae>>2]=c[(c[rf>>2]|0)+16>>2];c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);while(1){Bf=c[Ae>>2]|0;c[Ae>>2]=Bf+1;Bf=a[Bf>>0]|0;a[Be>>0]=Bf;if(!(Bf<<24>>24))break d;aw(c[J>>2]|0,a[Be>>0]|0,a[ne>>0]|0);c[J>>2]=(c[J>>2]|0)+40}}case 99:{Bf=Ee;c[Bf>>2]=0;c[Bf+4>>2]=0;c[Fe>>2]=0;Bf=He;c[Bf>>2]=0;c[Bf+4>>2]=0;c[Me>>2]=c[(c[rf>>2]|0)+4>>2];c[Ne>>2]=c[(c[rf>>2]|0)+16>>2];c[Ke>>2]=(c[w>>2]|0)+((c[Me>>2]|0)*40|0);c[Me>>2]=c[(c[rf>>2]|0)+8>>2];c[Le>>2]=(c[Ke>>2]|0)+(((c[Me>>2]|0)-1|0)*40|0);c[Oe>>2]=d[(c[tf>>2]|0)+143>>0];c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if(c[Ne>>2]|0){c[De>>2]=c[Ke>>2];do{zf=c[De>>2]|0;c[De>>2]=zf+40;Bf=c[Ne>>2]|0;c[Ne>>2]=Bf+1;aw(zf,a[Bf>>0]|0,a[ne>>0]|0)}while((a[c[Ne>>2]>>0]|0)!=0)}c[De>>2]=c[Le>>2];while(1){Bf=ZF(c[De>>2]|0,c[Oe>>2]|0,Re)|0;c[Je>>2]=Bf;c[(c[De>>2]|0)+28>>2]=Bf;do if(e[(c[De>>2]|0)+8>>1]&16384|0){Bf=Ee;f=c[De>>2]|0;if((c[Bf>>2]|0)!=0|(c[Bf+4>>2]|0)!=0)if(hi(f)|0){j=887;break a}else break;else{zf=c[f>>2]|0;Bf=He;zf=_$(c[Bf>>2]|0,c[Bf+4>>2]|0,zf|0,((zf|0)<0)<<31>>31|0)|0;Bf=He;c[Bf>>2]=zf;c[Bf+4>>2]=D;c[Re>>2]=(c[Re>>2]|0)-(c[c[De>>2]>>2]|0);break}}while(0);zf=Ee;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,c[Re>>2]|0,0)|0;Bf=Ee;c[Bf>>2]=zf;c[Bf+4>>2]=D;if((c[Je>>2]|0)>>>0<=127)f=1;else f=jE(c[Je>>2]|0,0)|0;c[Fe>>2]=(c[Fe>>2]|0)+f;if((c[De>>2]|0)==(c[Ke>>2]|0))break;c[De>>2]=(c[De>>2]|0)+-40}f=c[Fe>>2]|0;if((c[Fe>>2]|0)>126){c[Ie>>2]=jE(f,((f|0)<0)<<31>>31)|0;c[Fe>>2]=(c[Fe>>2]|0)+(c[Ie>>2]|0);zf=c[Ie>>2]|0;Bf=c[Fe>>2]|0;if((zf|0)<(jE(Bf,((Bf|0)<0)<<31>>31)|0))c[Fe>>2]=(c[Fe>>2]|0)+1}else c[Fe>>2]=f+1;g=c[Fe>>2]|0;zf=Ee;zf=_$(g|0,((g|0)<0)<<31>>31|0,c[zf>>2]|0,c[zf+4>>2]|0)|0;g=Ge;c[g>>2]=zf;c[g+4>>2]=D;g=Ge;zf=He;zf=_$(c[g>>2]|0,c[g+4>>2]|0,c[zf>>2]|0,c[zf+4>>2]|0)|0;g=D;Bf=c[(c[wf>>2]|0)+96>>2]|0;i=((Bf|0)<0)<<31>>31;if((g|0)>(i|0)|(g|0)==(i|0)&zf>>>0>Bf>>>0){j=886;break c}if(di(c[qa>>2]|0,c[Ge>>2]|0)|0){j=887;break a}c[Ce>>2]=c[(c[qa>>2]|0)+16>>2];if((c[Fe>>2]|0)>>>0<128){a[c[Ce>>2]>>0]=c[Fe>>2];f=1}else{f=c[Fe>>2]|0;f=_F(c[Ce>>2]|0,f,((f|0)<0)<<31>>31)|0}c[Pe>>2]=f&255;c[Qe>>2]=c[Fe>>2];c[De>>2]=c[Ke>>2];do{c[Je>>2]=c[(c[De>>2]|0)+28>>2];if((c[Je>>2]|0)>>>0<128){a[(c[Ce>>2]|0)+(c[Pe>>2]|0)>>0]=c[Je>>2];f=1}else f=_F((c[Ce>>2]|0)+(c[Pe>>2]|0)|0,c[Je>>2]|0,0)|0;c[Pe>>2]=(c[Pe>>2]|0)+(f&255);Bf=$F((c[Ce>>2]|0)+(c[Qe>>2]|0)|0,c[De>>2]|0,c[Je>>2]|0)|0;c[Qe>>2]=(c[Qe>>2]|0)+Bf;Bf=(c[De>>2]|0)+40|0;c[De>>2]=Bf}while(Bf>>>0<=(c[Le>>2]|0)>>>0);c[(c[qa>>2]|0)+12>>2]=c[Ge>>2];b[(c[qa>>2]|0)+8>>1]=16;Bf=He;if((c[Bf>>2]|0)!=0|(c[Bf+4>>2]|0)!=0){c[c[qa>>2]>>2]=c[He>>2];Bf=(c[qa>>2]|0)+8|0;b[Bf>>1]=e[Bf>>1]|16384}a[(c[qa>>2]|0)+10>>0]=1;break}case 100:{c[m>>2]=c[(c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];Bf=Se;c[Bf>>2]=0;c[Bf+4>>2]=0;c[vf>>2]=aG(c[m>>2]|0,Se)|0;if(c[vf>>2]|0)break a;c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;i=Se;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;break}case 0:{c[n>>2]=c[(c[rf>>2]|0)+4>>2];c[o>>2]=c[(c[rf>>2]|0)+16>>2];do if(!(c[n>>2]|0)){if((c[(c[wf>>2]|0)+164>>2]|0)>0){is(c[tf>>2]|0,38798,Xe);c[vf>>2]=5;break}c[p>>2]=md(c[o>>2]|0)|0;c[vf>>2]=_r(c[wf>>2]|0,0,(c[(c[wf>>2]|0)+436>>2]|0)+(c[(c[wf>>2]|0)+432>>2]|0)|0)|0;if(c[vf>>2]|0)break a;c[q>>2]=Ed(c[wf>>2]|0,32+(c[p>>2]|0)+1|0,0)|0;if(c[q>>2]|0){c[c[q>>2]>>2]=(c[q>>2]|0)+32;h0(c[c[q>>2]>>2]|0,c[o>>2]|0,(c[p>>2]|0)+1|0)|0;f=c[wf>>2]|0;if(a[(c[wf>>2]|0)+67>>0]|0){a[f+67>>0]=0;a[(c[wf>>2]|0)+75>>0]=1}else{Bf=f+432|0;c[Bf>>2]=(c[Bf>>2]|0)+1}c[(c[q>>2]|0)+24>>2]=c[(c[wf>>2]|0)+424>>2];c[(c[wf>>2]|0)+424>>2]=c[q>>2];Bf=(c[wf>>2]|0)+440|0;zf=c[Bf+4>>2]|0;i=(c[q>>2]|0)+8|0;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;i=(c[wf>>2]|0)+448|0;zf=c[i+4>>2]|0;Bf=(c[q>>2]|0)+16|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}}else{c[t>>2]=0;c[r>>2]=c[(c[wf>>2]|0)+424>>2];while(1){if(!(c[r>>2]|0))break;if(!(bh(c[c[r>>2]>>2]|0,c[o>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1;c[r>>2]=c[(c[r>>2]|0)+24>>2]}if(!(c[r>>2]|0)){Bf=c[tf>>2]|0;c[Ye>>2]=c[o>>2];is(Bf,38849,Ye);c[vf>>2]=1;break}if((c[n>>2]|0)==1?(c[(c[wf>>2]|0)+164>>2]|0)>0:0){is(c[tf>>2]|0,38871,Ze);c[vf>>2]=5;break}if(!(c[(c[r>>2]|0)+24>>2]|0))f=(d[(c[wf>>2]|0)+75>>0]|0)!=0;else f=0;c[v>>2]=f&1;if(!((c[v>>2]|0)!=0&(c[n>>2]|0)==1)){c[t>>2]=(c[(c[wf>>2]|0)+432>>2]|0)-(c[t>>2]|0)-1;g:do if((c[n>>2]|0)==2){c[x>>2]=(c[(c[wf>>2]|0)+24>>2]&2|0)!=0&1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[wf>>2]|0)+20>>2]|0))break g;c[vf>>2]=Er(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[u>>2]<<4)+4>>2]|0,516,(c[x>>2]|0)==0&1)|0;if(c[vf>>2]|0)break a;c[u>>2]=(c[u>>2]|0)+1}}else c[x>>2]=0;while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[wf>>2]|0)+20>>2]|0))break;c[vf>>2]=Zr(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[u>>2]<<4)+4>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;if(c[vf>>2]|0)break a;c[u>>2]=(c[u>>2]|0)+1}if(c[x>>2]|0){Qq(c[wf>>2]|0);Np(c[wf>>2]|0);c[(c[wf>>2]|0)+24>>2]=c[(c[wf>>2]|0)+24>>2]|2}}else{Bf=Tr(c[tf>>2]|0,1)|0;c[vf>>2]=Bf;if(Bf|0){j=885;break c}a[(c[wf>>2]|0)+67>>0]=1;if((Or(c[tf>>2]|0)|0)==5){j=372;break c}a[(c[wf>>2]|0)+75>>0]=0;c[vf>>2]=c[(c[tf>>2]|0)+40>>2]}while(1){if((c[(c[wf>>2]|0)+424>>2]|0)==(c[r>>2]|0))break;c[s>>2]=c[(c[wf>>2]|0)+424>>2];c[(c[wf>>2]|0)+424>>2]=c[(c[s>>2]|0)+24>>2];Xd(c[wf>>2]|0,c[s>>2]|0);Bf=(c[wf>>2]|0)+432|0;c[Bf>>2]=(c[Bf>>2]|0)+-1}f=c[r>>2]|0;if((c[n>>2]|0)==1){c[(c[wf>>2]|0)+424>>2]=c[f+24>>2];Xd(c[wf>>2]|0,c[r>>2]|0);if(!(c[v>>2]|0)){Bf=(c[wf>>2]|0)+432|0;c[Bf>>2]=(c[Bf>>2]|0)+-1}}else{Bf=f+8|0;zf=c[Bf+4>>2]|0;i=(c[wf>>2]|0)+440|0;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;i=(c[r>>2]|0)+16|0;zf=c[i+4>>2]|0;Bf=(c[wf>>2]|0)+448|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}if((c[v>>2]|0)==0|(c[n>>2]|0)==2){c[vf>>2]=_r(c[wf>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;if((c[vf>>2]|0)!=0|(c[vf>>2]|0)!=0)break a;else break d}}while(0);if(c[vf>>2]|0)break a;break}case 2:{if(c[(c[rf>>2]|0)+8>>2]|0?c[(c[wf>>2]|0)+24>>2]&67108864|0:0){j=413;break c}c[z>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+4>>2];if(c[z>>2]|0){c[vf>>2]=Gp(c[z>>2]|0,c[(c[rf>>2]|0)+8>>2]|0)|0;if(c[vf>>2]|0){j=416;break c}do if(c[(c[rf>>2]|0)+8>>2]|0?(e[(c[tf>>2]|0)+144>>1]|0)>>>6&1|0:0){if(d[(c[wf>>2]|0)+67>>0]|0?(c[(c[wf>>2]|0)+160>>2]|0)<=1:0)break;if(!(c[(c[tf>>2]|0)+48>>2]|0)){Bf=(c[wf>>2]|0)+436|0;c[Bf>>2]=(c[Bf>>2]|0)+1;c[(c[tf>>2]|0)+48>>2]=(c[(c[wf>>2]|0)+432>>2]|0)+(c[(c[wf>>2]|0)+436>>2]|0)}c[vf>>2]=_r(c[wf>>2]|0,0,(c[(c[tf>>2]|0)+48>>2]|0)-1|0)|0;if(!(c[vf>>2]|0))c[vf>>2]=bG(c[z>>2]|0,c[(c[tf>>2]|0)+48>>2]|0)|0;Bf=(c[wf>>2]|0)+440|0;zf=c[Bf+4>>2]|0;i=(c[tf>>2]|0)+72|0;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;i=(c[wf>>2]|0)+448|0;zf=c[i+4>>2]|0;Bf=(c[tf>>2]|0)+80|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}while(0);Ip(c[z>>2]|0,1,A);c[B>>2]=c[(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[A>>2]=0;c[B>>2]=0}do if(d[(c[rf>>2]|0)+3>>0]|0){if((c[A>>2]|0)==(c[(c[rf>>2]|0)+12>>2]|0)?(c[B>>2]|0)==(c[(c[rf>>2]|0)+16>>2]|0):0)break;Xd(c[wf>>2]|0,c[(c[tf>>2]|0)+108>>2]|0);Bf=Xo(c[wf>>2]|0,22704)|0;c[(c[tf>>2]|0)+108>>2]=Bf;if((c[c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[A>>2]|0))Vs(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0);Bf=(c[tf>>2]|0)+144|0;b[Bf>>1]=b[Bf>>1]&-2|1;c[vf>>2]=17}while(0);if(c[vf>>2]|0)break a;break}case 101:{c[G>>2]=c[(c[rf>>2]|0)+4>>2];c[H>>2]=c[(c[rf>>2]|0)+12>>2];Ip(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[G>>2]<<4)+4>>2]|0,c[H>>2]|0,C);c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;zf=c[C>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break}case 102:{c[I>>2]=(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4);c[vf>>2]=Mp(c[(c[I>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+8>>2]|0,c[(c[rf>>2]|0)+12>>2]|0)|0;f=c[rf>>2]|0;if((c[(c[rf>>2]|0)+8>>2]|0)!=1){if((c[f+8>>2]|0)==2)a[(c[(c[I>>2]|0)+12>>2]|0)+76>>0]=c[(c[rf>>2]|0)+12>>2]}else{c[c[(c[I>>2]|0)+12>>2]>>2]=c[f+12>>2];Bf=(c[wf>>2]|0)+24|0;c[Bf>>2]=c[Bf>>2]|2}if((c[(c[rf>>2]|0)+4>>2]|0)==1){Qq(c[wf>>2]|0);Bf=(c[tf>>2]|0)+144|0;b[Bf>>1]=b[Bf>>1]&-2}if(c[vf>>2]|0)break a;break}case 103:{c[Q>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];if(c[Q>>2]|0?(c[(c[Q>>2]|0)+8>>2]|0)==(c[(c[rf>>2]|0)+8>>2]|0):0)j=460;else j=446;break}case 105:case 104:{j=446;break}case 107:case 106:{c[U>>2]=cG(c[tf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[U>>2]|0)){j=887;break a}a[(c[U>>2]|0)+2>>0]=1;Bf=(c[U>>2]|0)+5|0;a[Bf>>0]=a[Bf>>0]&-2|1;c[vf>>2]=rl(c[c[wf>>2]>>2]|0,0,c[wf>>2]|0,(c[U>>2]|0)+20|0,5|d[(c[rf>>2]|0)+3>>0],1054)|0;if(!(c[vf>>2]|0))c[vf>>2]=Gp(c[(c[U>>2]|0)+20>>2]|0,1)|0;if(!(c[vf>>2]|0)){Bf=c[(c[rf>>2]|0)+16>>2]|0;c[V>>2]=Bf;f=c[(c[U>>2]|0)+20>>2]|0;if(Bf|0){c[vf>>2]=fG(f,X,2|d[(c[rf>>2]|0)+3>>0])|0;if(!(c[vf>>2]|0)){c[(c[U>>2]|0)+24>>2]=c[V>>2];c[vf>>2]=dG(c[(c[U>>2]|0)+20>>2]|0,c[X>>2]|0,4,c[V>>2]|0,c[(c[U>>2]|0)+16>>2]|0)|0}f=0;g=c[U>>2]|0}else{c[vf>>2]=dG(f,1,4,0,c[(c[U>>2]|0)+16>>2]|0)|0;f=1;g=c[U>>2]|0}a[g+4>>0]=f}if(c[vf>>2]|0)break a;Bf=(c[U>>2]|0)+5|0;a[Bf>>0]=a[Bf>>0]&-5|((d[(c[rf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 108:{c[Y>>2]=cG(c[tf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[Y>>2]|0)){j=887;break a}c[(c[Y>>2]|0)+24>>2]=c[(c[rf>>2]|0)+16>>2];c[vf>>2]=gG(c[wf>>2]|0,c[(c[rf>>2]|0)+12>>2]|0,c[Y>>2]|0)|0;if(c[vf>>2]|0)break a;break}case 109:{c[Z>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];i=(c[Z>>2]|0)+32|0;Bf=i;zf=c[Bf>>2]|0;Bf=c[Bf+4>>2]|0;g=_$(zf|0,Bf|0,1,0)|0;c[i>>2]=g;c[i+4>>2]=D;if((zf|0)==0&(Bf|0)==0)j=14;break}case 110:{c[_>>2]=cG(c[tf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[_>>2]|0)){j=887;break a}a[(c[_>>2]|0)+2>>0]=1;c[(c[_>>2]|0)+16>>2]=c[(c[rf>>2]|0)+8>>2];a[(c[_>>2]|0)+4>>0]=1;break}case 111:{ns(c[tf>>2]|0,c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{c[ba>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[aa>>2]=d[c[rf>>2]>>0];c[ga>>2]=0;a[(c[ba>>2]|0)+2>>0]=0;if(a[(c[ba>>2]|0)+4>>0]|0){c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if((e[(c[fa>>2]|0)+8>>1]&14|0)==2)Oi(c[fa>>2]|0,0);zf=Ki(c[fa>>2]|0)|0;Bf=ea;c[Bf>>2]=zf;c[Bf+4>>2]=D;do if(!(e[(c[fa>>2]|0)+8>>1]&4)){if(!(e[(c[fa>>2]|0)+8>>1]&8)){j=14;break d}Bf=ea;if(+h[c[fa>>2]>>3]<+((c[Bf>>2]|0)>>>0)+4294967296.0*+(c[Bf+4>>2]|0)){if(c[aa>>2]&1|0)break;c[aa>>2]=(c[aa>>2]|0)+-1;break}Bf=ea;if(+h[c[fa>>2]>>3]>+((c[Bf>>2]|0)>>>0)+4294967296.0*+(c[Bf+4>>2]|0)?(c[aa>>2]&1|0)==1:0)c[aa>>2]=(c[aa>>2]|0)+1}while(0);i=ea;c[vf>>2]=_D(c[(c[ba>>2]|0)+16>>2]|0,0,c[i>>2]|0,c[i+4>>2]|0,0,$)|0;i=ea;zf=c[i+4>>2]|0;Bf=(c[ba>>2]|0)+40|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;if(c[vf>>2]|0)break a;else j=496}else{if(hG(c[(c[ba>>2]|0)+16>>2]|0,2)|0)c[ga>>2]=1;c[da>>2]=c[(c[rf>>2]|0)+16>>2];c[ca>>2]=c[(c[ba>>2]|0)+24>>2];b[ca+8>>1]=c[da>>2];a[ca+10>>0]=1&(c[aa>>2]|0)-23|0?-1:1;c[ca+4>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);a[ca+14>>0]=0;c[vf>>2]=_D(c[(c[ba>>2]|0)+16>>2]|0,ca,0,0,0,$)|0;if(c[vf>>2]|0)break a;if(!(c[ga>>2]|0?!(d[ca+14>>0]|0):0))j=496}do if((j|0)==496){j=0;a[(c[ba>>2]|0)+3>>0]=0;c[(c[ba>>2]|0)+56>>2]=0;f=c[$>>2]|0;if((c[aa>>2]|0)>=25){if((f|0)>=0?!((c[$>>2]|0)==0&(c[aa>>2]|0)==26):0){c[$>>2]=0;break}c[$>>2]=0;c[vf>>2]=PD(c[(c[ba>>2]|0)+16>>2]|0,$)|0;if(c[vf>>2]|0)break a;else break}else{if((f|0)<=0?!((c[$>>2]|0)==0&(c[aa>>2]|0)==23):0){c[$>>2]=iG(c[(c[ba>>2]|0)+16>>2]|0)|0;break}c[$>>2]=0;c[vf>>2]=QD(c[(c[ba>>2]|0)+16>>2]|0,$)|0;if(c[vf>>2]|0)break a;else break}}while(0);if(!(c[$>>2]|0)){if(c[ga>>2]|0)c[rf>>2]=(c[rf>>2]|0)+20}else j=14;break}case 31:case 30:case 29:{c[ka>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[ma>>2]=0;f=c[(c[ka>>2]|0)+24>>2]|0;if((c[(c[rf>>2]|0)+16>>2]|0)>0){c[oa>>2]=f;b[oa+8>>1]=c[(c[rf>>2]|0)+16>>2];c[oa+4>>2]=c[fa>>2];c[na>>2]=oa}else{c[na>>2]=YD(f,pa,183,ma)|0;if(!(c[na>>2]|0)){j=887;break a}if(e[(c[fa>>2]|0)+8>>1]&16384|0)hi(c[fa>>2]|0)|0;ZD(c[(c[ka>>2]|0)+24>>2]|0,c[(c[fa>>2]|0)+12>>2]|0,c[(c[fa>>2]|0)+16>>2]|0,c[na>>2]|0)}a[(c[na>>2]|0)+10>>0]=0;c[ia>>2]=0;h:do if((d[c[rf>>2]>>0]|0)==29){c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(e[(c[na>>2]|0)+8>>1]|0))break h;if(e[(c[(c[na>>2]|0)+4>>2]|0)+((c[ja>>2]|0)*40|0)+8>>1]&1|0)break;c[ja>>2]=(c[ja>>2]|0)+1}c[ia>>2]=1}while(0);c[vf>>2]=_D(c[(c[ka>>2]|0)+16>>2]|0,c[na>>2]|0,0,0,0,la)|0;Xd(c[wf>>2]|0,c[ma>>2]|0);if(c[vf>>2]|0)break a;c[(c[ka>>2]|0)+28>>2]=c[la>>2];c[ha>>2]=(c[la>>2]|0)==0&1;a[(c[ka>>2]|0)+2>>0]=1-(c[ha>>2]|0);a[(c[ka>>2]|0)+3>>0]=0;c[(c[ka>>2]|0)+56>>2]=0;if((d[c[rf>>2]>>0]|0)==31)if(c[ha>>2]|0){j=14;break d}else break d;else if((c[ia>>2]|0)==0&(c[ha>>2]|0)!=0)break d;else{j=14;break d}}case 32:{c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if((e[(c[fa>>2]|0)+8>>1]&4|0)==0?(aw(c[fa>>2]|0,67,a[ne>>0]|0),(e[(c[fa>>2]|0)+8>>1]&4|0)==0):0)j=14;else j=526;break}case 33:{j=526;break}case 113:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;Bf=(c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;zf=Bf;i=c[zf>>2]|0;zf=c[zf+4>>2]|0;g=_$(i|0,zf|0,1,0)|0;c[Bf>>2]=g;c[Bf+4>>2]=D;Bf=c[qa>>2]|0;c[Bf>>2]=i;c[Bf+4>>2]=zf;break}case 114:{Bf=va;c[Bf>>2]=0;c[Bf+4>>2]=0;c[xa>>2]=0;c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[wa>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[wa>>2]|0)+5>>0]|0)>>>1&1)){c[vf>>2]=jG(c[(c[wa>>2]|0)+16>>2]|0,xa)|0;if(c[vf>>2]|0)break a;if(c[xa>>2]|0){Bf=va;c[Bf>>2]=1;c[Bf+4>>2]=0;break}zf=wq(c[(c[wa>>2]|0)+16>>2]|0)|0;Bf=va;c[Bf>>2]=zf;c[Bf+4>>2]=D;Bf=va;zf=c[Bf+4>>2]|0;if((zf|0)>2147483647|(zf|0)==2147483647&(c[Bf>>2]|0)>>>0>=4294967295){Bf=(c[wa>>2]|0)+5|0;a[Bf>>0]=a[Bf>>0]&-3|2;break}else{zf=va;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,1,0)|0;Bf=va;c[Bf>>2]=zf;c[Bf+4>>2]=D;break}}while(0);if(c[(c[rf>>2]|0)+12>>2]|0){if(c[(c[tf>>2]|0)+184>>2]|0){c[Aa>>2]=c[(c[tf>>2]|0)+184>>2];while(1){f=c[Aa>>2]|0;if(!(c[(c[Aa>>2]|0)+4>>2]|0))break;c[Aa>>2]=c[f+4>>2]}c[za>>2]=(c[f+16>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0)}else c[za>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);bw(c[za>>2]|0)|0;Bf=c[za>>2]|0;if((c[Bf>>2]|0)==-1?(c[Bf+4>>2]|0)==2147483647:0){j=547;break c}if((d[(c[wa>>2]|0)+5>>0]|0)>>>1&1|0){j=547;break c}g=va;zf=c[g>>2]|0;g=c[g+4>>2]|0;Bf=c[za>>2]|0;Bf=_$(c[Bf>>2]|0,c[Bf+4>>2]|0,1,0)|0;i=D;if((g|0)<(i|0)|(g|0)==(i|0)&zf>>>0>>0){zf=c[za>>2]|0;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,1,0)|0;Bf=va;c[Bf>>2]=zf;c[Bf+4>>2]=D}i=va;zf=c[i+4>>2]|0;Bf=c[za>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}if((d[(c[wa>>2]|0)+5>>0]|0)>>>1&1|0){c[ya>>2]=0;do{sf(8,va);i=va;Bf=c[i+4>>2]&1073741823;zf=va;c[zf>>2]=c[i>>2];c[zf+4>>2]=Bf;zf=va;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,1,0)|0;Bf=va;c[Bf>>2]=zf;c[Bf+4>>2]=D;Bf=va;Bf=_D(c[(c[wa>>2]|0)+16>>2]|0,0,c[Bf>>2]|0,c[Bf+4>>2]|0,0,xa)|0;c[vf>>2]=Bf;if(!((Bf|0)==0&(c[xa>>2]|0)==0))break;Bf=(c[ya>>2]|0)+1|0;c[ya>>2]=Bf}while((Bf|0)<100);if(c[vf>>2]|0)break a;if(!(c[xa>>2]|0)){j=557;break c}}a[(c[wa>>2]|0)+3>>0]=0;c[(c[wa>>2]|0)+56>>2]=0;i=va;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;break}case 116:case 115:{c[Ia>>2]=0;c[Ca>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[Ea>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];if((d[c[rf>>2]>>0]|0)==115){c[Da>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);g=c[Da>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0}else{g=c[(c[rf>>2]|0)+12>>2]|0;f=g;g=((g|0)<0)<<31>>31}Bf=Ja+8|0;c[Bf>>2]=f;c[Bf+4>>2]=g;if((a[(c[rf>>2]|0)+1>>0]|0)==-20?c[(c[wf>>2]|0)+220>>2]|0:0){c[Ga>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(a[(c[Ea>>2]|0)+1>>0]<<4)>>2];c[Ha>>2]=c[(c[rf>>2]|0)+16>>2];c[Ia>>2]=d[(c[rf>>2]|0)+3>>0]&4|0?23:18}else{c[Ha>>2]=0;c[Ga>>2]=0}if(d[(c[rf>>2]|0)+3>>0]&1|0){Bf=(c[tf>>2]|0)+44|0;c[Bf>>2]=(c[Bf>>2]|0)+1}if(d[(c[rf>>2]|0)+3>>0]&2|0){zf=Ja+8|0;i=c[zf>>2]|0;zf=c[zf+4>>2]|0;Bf=uf;c[Bf>>2]=i;c[Bf+4>>2]=zf;Bf=(c[wf>>2]|0)+32|0;c[Bf>>2]=i;c[Bf+4>>2]=zf}if(e[(c[Ca>>2]|0)+8>>1]&1|0){c[Ja+16>>2]=0;f=0}else{c[Ja+16>>2]=c[(c[Ca>>2]|0)+16>>2];f=c[(c[Ca>>2]|0)+12>>2]|0}c[Ja+20>>2]=f;if(d[(c[rf>>2]|0)+3>>0]&16|0)f=c[(c[Ea>>2]|0)+28>>2]|0;else f=0;c[Fa>>2]=f;if(e[(c[Ca>>2]|0)+8>>1]&16384|0)f=c[c[Ca>>2]>>2]|0;else f=0;c[Ja+24>>2]=f;c[Ja>>2]=0;c[vf>>2]=kG(c[(c[Ea>>2]|0)+16>>2]|0,Ja,(d[(c[rf>>2]|0)+3>>0]&8|0)!=0&1,c[Fa>>2]|0)|0;a[(c[Ea>>2]|0)+3>>0]=0;c[(c[Ea>>2]|0)+56>>2]=0;if(c[vf>>2]|0)break a;if(c[Ia>>2]|0?(c[(c[wf>>2]|0)+220>>2]|0)!=0:0){Bf=Ja+8|0;Lb[c[(c[wf>>2]|0)+220>>2]&255](c[(c[wf>>2]|0)+216>>2]|0,c[Ia>>2]|0,c[Ga>>2]|0,c[c[Ha>>2]>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0)}break}case 117:{c[Na>>2]=c[(c[rf>>2]|0)+8>>2];c[Ka>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];if((a[(c[rf>>2]|0)+1>>0]|0)==-20?c[(c[wf>>2]|0)+220>>2]|0:0){c[La>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(a[(c[Ka>>2]|0)+1>>0]<<4)>>2];c[Ma>>2]=c[(c[rf>>2]|0)+16>>2];if(d[(c[rf>>2]|0)+3>>0]&2|0?d[(c[Ka>>2]|0)+4>>0]|0:0){zf=wq(c[(c[Ka>>2]|0)+16>>2]|0)|0;Bf=(c[Ka>>2]|0)+40|0;c[Bf>>2]=zf;c[Bf+4>>2]=D}}else{c[La>>2]=0;c[Ma>>2]=0}c[vf>>2]=lG(c[(c[Ka>>2]|0)+16>>2]|0,a[(c[rf>>2]|0)+3>>0]|0)|0;c[(c[Ka>>2]|0)+56>>2]=0;if(c[vf>>2]|0)break a;if((c[Na>>2]&1|0?(Bf=(c[tf>>2]|0)+44|0,c[Bf>>2]=(c[Bf>>2]|0)+1,c[(c[wf>>2]|0)+220>>2]|0):0)?(d[(c[Ma>>2]|0)+42>>0]&32|0)==0:0){Bf=(c[Ka>>2]|0)+40|0;Lb[c[(c[wf>>2]|0)+220>>2]&255](c[(c[wf>>2]|0)+216>>2]|0,9,c[La>>2]|0,c[c[Ma>>2]>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0)}break}case 118:{Yr(c[wf>>2]|0,c[(c[tf>>2]|0)+44>>2]|0);c[(c[tf>>2]|0)+44>>2]=0;break}case 119:{c[Oa>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[Qa>>2]=c[(c[rf>>2]|0)+16>>2];c[Pa>>2]=0;c[vf>>2]=mG(c[Oa>>2]|0,c[fa>>2]|0,c[Qa>>2]|0,Pa)|0;if(c[vf>>2]|0)break a;if(c[Pa>>2]|0)j=14;break}case 120:{c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[Ra>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[vf>>2]=nG(c[Ra>>2]|0,c[qa>>2]|0)|0;if(c[vf>>2]|0)break a;c[(c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 122:case 121:{c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[Sa>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[Ta>>2]=c[(c[Sa>>2]|0)+16>>2];c[Ua>>2]=xq(c[Ta>>2]|0)|0;if((c[Ua>>2]|0)>>>0>(c[(c[wf>>2]|0)+96>>2]|0)>>>0){j=886;break c}if(di(c[qa>>2]|0,(c[Ua>>2]|0)>>>0>32?c[Ua>>2]|0:32)|0){j=887;break a}c[(c[qa>>2]|0)+12>>2]=c[Ua>>2];b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|16;f=c[Ta>>2]|0;g=c[Ua>>2]|0;i=c[(c[qa>>2]|0)+16>>2]|0;if(!(d[(c[Sa>>2]|0)+4>>0]|0))c[vf>>2]=yq(f,0,g,i)|0;else c[vf>>2]=oG(f,0,g,i)|0;if(c[vf>>2]|0)break a;a[(c[qa>>2]|0)+10>>0]=1;break}case 123:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[Va>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Va>>2]|0)+2>>0]|0){b[(c[qa>>2]|0)+8>>1]=1;break d}f=c[Va>>2]|0;do if(!(a[(c[Va>>2]|0)+3>>0]|0)){g=c[Va>>2]|0;if((d[f>>0]|0)==2){c[Xa>>2]=c[c[g+16>>2]>>2];c[Ya>>2]=c[c[Xa>>2]>>2];c[vf>>2]=Mb[c[(c[Ya>>2]|0)+48>>2]&255](c[(c[Va>>2]|0)+16>>2]|0,Wa)|0;gs(c[tf>>2]|0,c[Xa>>2]|0);if(c[vf>>2]|0)break a;else break}c[vf>>2]=pG(g)|0;if(c[vf>>2]|0)break a;if(a[(c[Va>>2]|0)+2>>0]|0){b[(c[qa>>2]|0)+8>>1]=1;break d}else{zf=wq(c[(c[Va>>2]|0)+16>>2]|0)|0;Bf=Wa;c[Bf>>2]=zf;c[Bf+4>>2]=D;break}}else{i=f+40|0;zf=c[i+4>>2]|0;Bf=Wa;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}while(0);i=Wa;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;break}case 124:{c[Za>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];a[(c[Za>>2]|0)+2>>0]=1;c[(c[Za>>2]|0)+56>>2]=0;if(!(d[c[Za>>2]>>0]|0))zr(c[(c[Za>>2]|0)+16>>2]|0);break}case 53:{c[_a>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[$a>>2]=c[(c[_a>>2]|0)+16>>2];c[ab>>2]=0;c[vf>>2]=jG(c[$a>>2]|0,ab)|0;a[(c[_a>>2]|0)+2>>0]=c[ab>>2];a[(c[_a>>2]|0)+3>>0]=0;c[(c[_a>>2]|0)+56>>2]=0;c[(c[_a>>2]|0)+28>>2]=c[(c[rf>>2]|0)+12>>2];if(c[vf>>2]|0)break a;if(c[ab>>2]|0?(c[(c[rf>>2]|0)+8>>2]|0)>0:0)j=14;break}case 56:case 55:{j=(c[tf>>2]|0)+156+8|0;c[j>>2]=(c[j>>2]|0)+1;j=619;break}case 57:{j=619;break}case 3:{c[fb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[gb>>2]=0;c[vf>>2]=sG(c[wf>>2]|0,c[fb>>2]|0,gb)|0;j=627;break}case 5:case 4:{if(c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2]|0)j=626;break}case 7:case 6:{j=626;break}case 126:case 125:{c[hb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);if(d[(c[rf>>2]|0)+3>>0]&1|0){Bf=(c[tf>>2]|0)+44|0;c[Bf>>2]=(c[Bf>>2]|0)+1}if(e[(c[W>>2]|0)+8>>1]&16384|0)f=hi(c[W>>2]|0)|0;else f=0;c[vf>>2]=f;if(c[vf>>2]|0)break a;if((d[c[rf>>2]>>0]|0)==125)c[vf>>2]=tG(c[hb>>2]|0,c[W>>2]|0)|0;else{zf=c[(c[W>>2]|0)+12>>2]|0;Bf=ib+8|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;c[ib>>2]=c[(c[W>>2]|0)+16>>2];if(d[(c[rf>>2]|0)+3>>0]&16|0)f=c[(c[hb>>2]|0)+28>>2]|0;else f=0;c[vf>>2]=kG(c[(c[hb>>2]|0)+16>>2]|0,ib,c[(c[rf>>2]|0)+12>>2]|0,f)|0;c[(c[hb>>2]|0)+56>>2]=0}if(c[vf>>2]|0)break a;break}case 127:{c[jb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[kb>>2]=c[(c[jb>>2]|0)+16>>2];c[mb>>2]=c[(c[jb>>2]|0)+24>>2];b[mb+8>>1]=c[(c[rf>>2]|0)+12>>2];a[mb+10>>0]=0;c[mb+4>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[vf>>2]=_D(c[kb>>2]|0,mb,0,0,0,lb)|0;if(c[vf>>2]|0)break a;if((c[lb>>2]|0)==0?(c[vf>>2]=lG(c[kb>>2]|0,4)|0,c[vf>>2]|0):0)break a;c[(c[jb>>2]|0)+56>>2]=0;break}case 129:case 128:{c[nb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[vf>>2]=pG(c[nb>>2]|0)|0;if(c[vf>>2]|0)break a;if(a[(c[nb>>2]|0)+2>>0]|0){_h((c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0)|0);break d}Bf=qb;c[Bf>>2]=0;c[Bf+4>>2]=0;c[vf>>2]=uG(c[wf>>2]|0,c[(c[nb>>2]|0)+16>>2]|0,qb)|0;if(c[vf>>2]|0)break a;f=c[tf>>2]|0;if((d[c[rf>>2]>>0]|0)==128){c[ob>>2]=c[(c[f+112>>2]|0)+(c[(c[rf>>2]|0)+12>>2]<<2)>>2];a[(c[ob>>2]|0)+2>>0]=0;i=qb;zf=c[i+4>>2]|0;Bf=(c[ob>>2]|0)+40|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;a[(c[ob>>2]|0)+3>>0]=1;c[(c[ob>>2]|0)+52>>2]=c[(c[rf>>2]|0)+16>>2];c[(c[ob>>2]|0)+48>>2]=c[nb>>2];break d}else{c[qa>>2]=QF(f,c[rf>>2]|0)|0;i=qb;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;b[(c[qa>>2]|0)+8>>1]=4;break d}}case 61:case 60:case 59:case 58:{c[rb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[tb>>2]=c[(c[rb>>2]|0)+24>>2];b[tb+8>>1]=c[(c[rf>>2]|0)+16>>2];a[tb+10>>0]=(d[c[rf>>2]>>0]|0)<60?-1:0;c[tb+4>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[sb>>2]=0;c[vf>>2]=vG(c[wf>>2]|0,c[rb>>2]|0,tb,sb)|0;f=c[sb>>2]|0;if(!(d[c[rf>>2]>>0]&1))c[sb>>2]=0-f;else c[sb>>2]=f+1;if(c[vf>>2]|0)break a;if((c[sb>>2]|0)>0)j=14;break}case 130:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;b[(c[qa>>2]|0)+8>>1]=1;if((c[(c[wf>>2]|0)+160>>2]|0)>((c[(c[wf>>2]|0)+172>>2]|0)+1|0)){j=659;break c}c[vb>>2]=c[(c[rf>>2]|0)+12>>2];c[ub>>2]=0;c[vf>>2]=wG(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[vb>>2]<<4)+4>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,ub)|0;b[(c[qa>>2]|0)+8>>1]=4;zf=c[ub>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;if(c[vf>>2]|0)break a;if(c[ub>>2]|0){xG(c[wf>>2]|0,c[vb>>2]|0,c[ub>>2]|0,c[(c[rf>>2]|0)+4>>2]|0);a[ff>>0]=(c[vb>>2]|0)+1}break}case 131:{c[wb>>2]=0;c[vf>>2]=yG(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+12>>2]|0?wb:0)|0;if(c[(c[rf>>2]|0)+12>>2]|0?(Bf=(c[tf>>2]|0)+44|0,c[Bf>>2]=(c[Bf>>2]|0)+(c[wb>>2]|0),(c[(c[rf>>2]|0)+12>>2]|0)>0):0){zf=c[wb>>2]|0;Bf=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0)|0;i=Bf;zf=_$(c[i>>2]|0,c[i+4>>2]|0,zf|0,((zf|0)<0)<<31>>31|0)|0;c[Bf>>2]=zf;c[Bf+4>>2]=D}if(c[vf>>2]|0)break a;break}case 133:{c[xb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];if((d[c[xb>>2]>>0]|0)!=1){c[vf>>2]=zG(c[(c[xb>>2]|0)+16>>2]|0)|0;if(c[vf>>2]|0)break a;else break d}else{ps(c[wf>>2]|0,c[(c[xb>>2]|0)+16>>2]|0);break d}}case 135:case 134:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[yb>>2]=0;c[Cb>>2]=(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4);if((d[c[rf>>2]>>0]|0)==135)c[zb>>2]=1;else c[zb>>2]=2;c[vf>>2]=fG(c[(c[Cb>>2]|0)+4>>2]|0,yb,c[zb>>2]|0)|0;if(c[vf>>2]|0)break a;zf=c[yb>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break}case 136:{c[Db>>2]=c[(c[rf>>2]|0)+4>>2];c[Eb>>2]=(c[Db>>2]|0)==1?26433:26452;c[Jb>>2]=c[wf>>2];c[Jb+8>>2]=c[(c[rf>>2]|0)+4>>2];c[Jb+4>>2]=(c[tf>>2]|0)+108;Bf=c[wf>>2]|0;i=c[Eb>>2]|0;zf=c[(c[rf>>2]|0)+16>>2]|0;c[$e>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[Db>>2]<<4)>>2];c[$e+4>>2]=i;c[$e+8>>2]=zf;c[Gb>>2]=Wj(Bf,39112,$e)|0;if(!(c[Gb>>2]|0))c[vf>>2]=7;else{a[(c[wf>>2]|0)+148+5>>0]=1;c[Jb+12>>2]=0;c[vf>>2]=qv(c[wf>>2]|0,c[Gb>>2]|0,146,Jb,0)|0;if(!(c[vf>>2]|0))c[vf>>2]=c[Jb+12>>2];Xd(c[wf>>2]|0,c[Gb>>2]|0);a[(c[wf>>2]|0)+148+5>>0]=0}if(c[vf>>2]|0){j=681;break c}break}case 137:{c[vf>>2]=rv(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0)|0;if(c[vf>>2]|0)break a;break}case 138:{AG(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+16>>2]|0);break}case 139:{BG(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+16>>2]|0);break}case 140:{CG(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+16>>2]|0);break}case 141:{c[Ob>>2]=c[(c[rf>>2]|0)+8>>2];c[Pb>>2]=c[(c[rf>>2]|0)+16>>2];c[Sb>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[Rb>>2]=DG(c[(c[(c[wf>>2]|0)+16>>2]|0)+(d[(c[rf>>2]|0)+3>>0]<<4)+4>>2]|0,c[Pb>>2]|0,c[Ob>>2]|0,c[c[Sb>>2]>>2]|0,Qb)|0;zf=c[Qb>>2]|0;Bf=c[Sb>>2]|0;i=Bf;zf=Z$(c[i>>2]|0,c[i+4>>2]|0,zf|0,((zf|0)<0)<<31>>31|0)|0;c[Bf>>2]=zf;c[Bf+4>>2]=D;_h(c[J>>2]|0);if(c[Qb>>2]|0){if(!(c[Rb>>2]|0)){j=887;break a}ci(c[J>>2]|0,c[Rb>>2]|0,-1,1,157)|0}oi(c[J>>2]|0,d[ne>>0]|0)|0;break}case 142:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);if((e[(c[J>>2]|0)+8>>1]&32|0)==0?(EG(c[J>>2]|0),(e[(c[J>>2]|0)+8>>1]&32|0)==0):0){j=887;break a}Bf=c[W>>2]|0;FG(c[c[J>>2]>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0);break}case 62:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&32|0?GG(c[c[J>>2]>>2]|0,Tb)|0:0){j=Tb;Yh((c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0)|0,c[j>>2]|0,c[j+4>>2]|0);j=8;break d}_h(c[J>>2]|0);j=7;break}case 63:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[Ub>>2]=c[(c[rf>>2]|0)+16>>2];if((e[(c[J>>2]|0)+8>>1]&32|0)==0?(EG(c[J>>2]|0),(e[(c[J>>2]|0)+8>>1]&32|0)==0):0){j=887;break a}if(c[Ub>>2]|0?(Bf=c[fa>>2]|0,c[Vb>>2]=HG(c[c[J>>2]>>2]|0,c[Ub>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0)|0,c[Vb>>2]|0):0){j=14;break d}if((c[Ub>>2]|0)>=0){Bf=c[fa>>2]|0;FG(c[c[J>>2]>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0)}break}case 64:{c[ac>>2]=c[(c[rf>>2]|0)+16>>2];c[Yb>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if(a[(c[rf>>2]|0)+3>>0]|0){c[cc>>2]=c[(c[ac>>2]|0)+16>>2];c[$b>>2]=c[(c[tf>>2]|0)+184>>2];while(1){if(!(c[$b>>2]|0))break;if((c[(c[$b>>2]|0)+24>>2]|0)==(c[cc>>2]|0))break;c[$b>>2]=c[(c[$b>>2]|0)+4>>2]}if(c[$b>>2]|0)break d}if((c[(c[tf>>2]|0)+192>>2]|0)>=(c[(c[wf>>2]|0)+96+40>>2]|0)){j=710;break c}i:do if(!(e[(c[Yb>>2]|0)+8>>1]&64)){c[Wb>>2]=(c[(c[ac>>2]|0)+8>>2]|0)+(c[(c[ac>>2]|0)+12>>2]|0);if(!(c[(c[ac>>2]|0)+12>>2]|0))c[Wb>>2]=(c[Wb>>2]|0)+1;c[Xb>>2]=80+((c[Wb>>2]|0)*40|0)+(c[(c[ac>>2]|0)+12>>2]<<2);Bf=c[Xb>>2]|0;c[$b>>2]=_l(c[wf>>2]|0,Bf,((Bf|0)<0)<<31>>31)|0;if(!(c[$b>>2]|0)){j=887;break a}ei(c[Yb>>2]|0);b[(c[Yb>>2]|0)+8>>1]=64;c[c[Yb>>2]>>2]=c[$b>>2];c[c[$b>>2]>>2]=c[tf>>2];c[(c[$b>>2]|0)+60>>2]=c[Wb>>2];c[(c[$b>>2]|0)+64>>2]=c[(c[ac>>2]|0)+12>>2];c[(c[$b>>2]|0)+48>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;c[(c[$b>>2]|0)+16>>2]=c[(c[tf>>2]|0)+92>>2];c[(c[$b>>2]|0)+56>>2]=c[(c[tf>>2]|0)+24>>2];c[(c[$b>>2]|0)+20>>2]=c[(c[tf>>2]|0)+112>>2];c[(c[$b>>2]|0)+44>>2]=c[(c[tf>>2]|0)+28>>2];c[(c[$b>>2]|0)+8>>2]=c[(c[tf>>2]|0)+88>>2];c[(c[$b>>2]|0)+52>>2]=c[(c[tf>>2]|0)+136>>2];c[(c[$b>>2]|0)+24>>2]=c[(c[ac>>2]|0)+16>>2];c[_b>>2]=(c[$b>>2]|0)+80+((c[(c[$b>>2]|0)+60>>2]|0)*40|0);c[Zb>>2]=(c[$b>>2]|0)+80;while(1){if((c[Zb>>2]|0)==(c[_b>>2]|0))break i;b[(c[Zb>>2]|0)+8>>1]=128;c[(c[Zb>>2]|0)+32>>2]=c[wf>>2];c[Zb>>2]=(c[Zb>>2]|0)+40}}else c[$b>>2]=c[c[Yb>>2]>>2];while(0);i=(c[tf>>2]|0)+192|0;c[i>>2]=(c[i>>2]|0)+1;c[(c[$b>>2]|0)+4>>2]=c[(c[tf>>2]|0)+184>>2];i=uf;zf=c[i+4>>2]|0;Bf=(c[$b>>2]|0)+32|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;c[(c[$b>>2]|0)+68>>2]=c[(c[tf>>2]|0)+44>>2];c[(c[$b>>2]|0)+72>>2]=c[(c[c[tf>>2]>>2]|0)+88>>2];c[(c[$b>>2]|0)+40>>2]=c[(c[tf>>2]|0)+204>>2];c[(c[tf>>2]|0)+204>>2]=0;c[(c[tf>>2]|0)+44>>2]=0;c[(c[tf>>2]|0)+184>>2]=c[$b>>2];Bf=(c[$b>>2]|0)+80|0;c[w>>2]=Bf;c[(c[tf>>2]|0)+92>>2]=Bf;c[(c[tf>>2]|0)+24>>2]=c[(c[$b>>2]|0)+60>>2];c[(c[tf>>2]|0)+28>>2]=c[(c[$b>>2]|0)+64>>2]&65535;c[(c[tf>>2]|0)+112>>2]=(c[w>>2]|0)+((c[(c[tf>>2]|0)+24>>2]|0)*40|0);Bf=c[c[ac>>2]>>2]|0;c[qf>>2]=Bf;c[(c[tf>>2]|0)+88>>2]=Bf;c[(c[tf>>2]|0)+136>>2]=c[(c[ac>>2]|0)+4>>2];c[rf>>2]=(c[qf>>2]|0)+-20;break}case 143:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[dc>>2]=c[(c[tf>>2]|0)+184>>2];c[ec>>2]=(c[(c[dc>>2]|0)+16>>2]|0)+(((c[(c[rf>>2]|0)+4>>2]|0)+(c[(c[(c[dc>>2]|0)+8>>2]|0)+((c[(c[dc>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);kj(c[qa>>2]|0,c[ec>>2]|0,4096);break}case 144:{f=c[rf>>2]|0;if(c[(c[wf>>2]|0)+24>>2]&33554432|0){i=c[f+8>>2]|0;f=(c[wf>>2]|0)+448|0;g=i;i=((i|0)<0)<<31>>31}else{i=c[(c[rf>>2]|0)+8>>2]|0;f=c[f+4>>2]|0?(c[wf>>2]|0)+440|0:(c[tf>>2]|0)+64|0;g=i;i=((i|0)<0)<<31>>31}zf=f;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,g|0,i|0)|0;Bf=f;c[Bf>>2]=zf;c[Bf+4>>2]=D;break}case 65:if(c[(c[rf>>2]|0)+4>>2]|0){Bf=(c[wf>>2]|0)+440|0;if(!((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0))break d;Bf=(c[wf>>2]|0)+448|0;if((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0){j=14;break d}else break d}else{Bf=(c[tf>>2]|0)+64|0;if(!((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0))break d;Bf=(c[wf>>2]|0)+448|0;if((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0){j=14;break d}else break d}case 145:{if(c[(c[tf>>2]|0)+184>>2]|0){c[fc>>2]=c[(c[tf>>2]|0)+184>>2];while(1){f=c[fc>>2]|0;if(!(c[(c[fc>>2]|0)+4>>2]|0))break;c[fc>>2]=c[f+4>>2]}c[J>>2]=(c[f+16>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0)}else c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);bw(c[J>>2]|0)|0;c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);bw(c[W>>2]|0)|0;zf=c[J>>2]|0;g=c[zf+4>>2]|0;Bf=c[W>>2]|0;i=c[Bf+4>>2]|0;if((g|0)<(i|0)|((g|0)==(i|0)?(c[zf>>2]|0)>>>0<(c[Bf>>2]|0)>>>0:0)){i=c[W>>2]|0;zf=c[i+4>>2]|0;Bf=c[J>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}break}case 66:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);Bf=c[J>>2]|0;zf=c[Bf+4>>2]|0;if((zf|0)>0|(zf|0)==0&(c[Bf>>2]|0)>>>0>0){Bf=c[(c[rf>>2]|0)+12>>2]|0;j=c[J>>2]|0;zf=j;Bf=Z$(c[zf>>2]|0,c[zf+4>>2]|0,Bf|0,((Bf|0)<0)<<31>>31|0)|0;c[j>>2]=Bf;c[j+4>>2]=D;j=14}break}case 146:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;Bf=c[J>>2]|0;zf=c[Bf+4>>2]|0;if((zf|0)<0|(zf|0)==0&(c[Bf>>2]|0)>>>0<=0){f=-1;g=-1}else{f=c[J>>2]|0;Bf=c[fa>>2]|0;zf=c[Bf+4>>2]|0;if((zf|0)>0|(zf|0)==0&(c[Bf>>2]|0)>>>0>0){i=c[fa>>2]|0;g=c[i>>2]|0;i=c[i+4>>2]|0}else{g=0;i=0}f=_$(c[f>>2]|0,c[f+4>>2]|0,g|0,i|0)|0;g=D}Bf=c[qa>>2]|0;c[Bf>>2]=f;c[Bf+4>>2]=g;break}case 67:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);Bf=c[J>>2]|0;if((c[Bf>>2]|0)!=0|(c[Bf+4>>2]|0)!=0){Bf=c[(c[rf>>2]|0)+12>>2]|0;j=c[J>>2]|0;zf=j;Bf=Z$(c[zf>>2]|0,c[zf+4>>2]|0,Bf|0,((Bf|0)<0)<<31>>31|0)|0;c[j>>2]=Bf;c[j+4>>2]=D;j=14}break}case 68:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);Bf=c[J>>2]|0;zf=Bf;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,-1,-1)|0;c[Bf>>2]=zf;c[Bf+4>>2]=D;Bf=c[J>>2]|0;if((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0)j=14;break}case 147:{c[gc>>2]=d[(c[rf>>2]|0)+3>>0];c[hc>>2]=Ed(c[wf>>2]|0,32+((c[gc>>2]|0)-1<<2)|0,0)|0;if(!(c[hc>>2]|0)){j=887;break a}c[(c[hc>>2]|0)+8>>2]=0;c[(c[hc>>2]|0)+4>>2]=c[(c[rf>>2]|0)+16>>2];c[(c[hc>>2]|0)+16>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;c[(c[hc>>2]|0)+12>>2]=c[tf>>2];a[(c[hc>>2]|0)+26>>0]=c[gc>>2];a[(c[rf>>2]|0)+1>>0]=-21;c[(c[rf>>2]|0)+16>>2]=c[hc>>2];a[c[rf>>2]>>0]=-108;j=750;break}case 148:{j=750;break}case 149:{c[nc>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[vf>>2]=ai(c[nc>>2]|0,c[(c[rf>>2]|0)+16>>2]|0)|0;if(c[vf>>2]|0){j=762;break c}oi(c[nc>>2]|0,d[ne>>0]|0)|0;if(RF(c[nc>>2]|0)|0){j=886;break c}break}case 8:{c[pc>>2]=0;c[pc+8>>2]=-1;c[pc+4>>2]=-1;c[vf>>2]=SA(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+8>>2]|0,pc+4|0,pc+8|0)|0;if(c[vf>>2]|0){if((c[vf>>2]|0)!=5)break a;c[vf>>2]=0;c[pc>>2]=1}c[oc>>2]=0;c[qc>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[oc>>2]|0)>=3)break d;Bf=c[pc+(c[oc>>2]<<2)>>2]|0;Yh(c[qc>>2]|0,Bf,((Bf|0)<0)<<31>>31);c[oc>>2]=(c[oc>>2]|0)+1;c[qc>>2]=(c[qc>>2]|0)+40}}case 9:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[tc>>2]=c[(c[rf>>2]|0)+12>>2];c[rc>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+4>>2];c[sc>>2]=qk(c[rc>>2]|0)|0;c[uc>>2]=Jp(c[sc>>2]|0)|0;if((c[tc>>2]|0)==-1)c[tc>>2]=c[uc>>2];if(!(IG(c[sc>>2]|0)|0))c[tc>>2]=c[uc>>2];c[vc>>2]=Ml(c[sc>>2]|0,1)|0;do if((c[tc>>2]|0)==5){if(md(c[vc>>2]|0)|0?dr(c[sc>>2]|0)|0:0)break;c[tc>>2]=c[uc>>2]}while(0);if((c[tc>>2]|0)!=(c[uc>>2]|0)?(c[uc>>2]|0)==5|(c[tc>>2]|0)==5:0){if(!(a[(c[wf>>2]|0)+67>>0]|0)){j=782;break c}if((c[(c[wf>>2]|0)+160>>2]|0)>1){j=782;break c}if((c[uc>>2]|0)==5){c[vf>>2]=JG(c[sc>>2]|0)|0;if(!(c[vf>>2]|0))KG(c[sc>>2]|0,c[tc>>2]|0)|0}else if((c[uc>>2]|0)==4)KG(c[sc>>2]|0,2)|0;if(!(c[vf>>2]|0))c[vf>>2]=Op(c[rc>>2]|0,(c[tc>>2]|0)==5?2:1)|0}if(c[vf>>2]|0)c[tc>>2]=c[uc>>2];c[tc>>2]=KG(c[sc>>2]|0,c[tc>>2]|0)|0;b[(c[qa>>2]|0)+8>>1]=2562;Bf=pA(c[tc>>2]|0)|0;c[(c[qa>>2]|0)+16>>2]=Bf;Bf=md(c[(c[qa>>2]|0)+16>>2]|0)|0;c[(c[qa>>2]|0)+12>>2]=Bf;a[(c[qa>>2]|0)+10>>0]=1;oi(c[qa>>2]|0,d[ne>>0]|0)|0;if(c[vf>>2]|0)break a;break}case 10:{c[vf>>2]=LG((c[tf>>2]|0)+108|0,c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0)|0;if(c[vf>>2]|0)break a;break}case 69:{c[wc>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+4>>2];c[vf>>2]=MG(c[wc>>2]|0)|0;if(c[vf>>2]|0){if((c[vf>>2]|0)!=101)break a;c[vf>>2]=0;j=14}break}case 150:if(c[(c[rf>>2]|0)+4>>2]|0){Bf=(c[tf>>2]|0)+144|0;b[Bf>>1]=b[Bf>>1]&-2|1;break d}else{Qq(c[wf>>2]|0);break d}case 151:{a[yc>>0]=c[(c[rf>>2]|0)+12>>2];if((d[yc>>0]|0)==0?0!=(c[(c[wf>>2]|0)+24>>2]&16384|0):0)break d;c[zc>>2]=c[(c[rf>>2]|0)+4>>2];c[vf>>2]=NG(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[zc>>2]<<4)+4>>2]|0,c[(c[rf>>2]|0)+8>>2]|0,a[yc>>0]|0)|0;if(c[vf>>2]|0){j=803;break c}break}case 152:{c[Bc>>2]=c[(c[rf>>2]|0)+16>>2];c[vf>>2]=OG(c[wf>>2]|0,c[Bc>>2]|0)|0;if(c[Bc>>2]|0)gs(c[tf>>2]|0,c[(c[Bc>>2]|0)+8>>2]|0);if(c[vf>>2]|0)break a;break}case 153:{f=Cc;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[Cc+32>>2]=c[wf>>2];c[vf>>2]=$i(Cc,(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[Dc>>2]=Rh(Cc)|0;if(c[Dc>>2]|0)c[vf>>2]=PG(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[Dc>>2]|0,(c[tf>>2]|0)+108|0)|0;ei(Cc);if(c[vf>>2]|0)break a;break}case 154:{Bf=(c[wf>>2]|0)+172|0;c[Bf>>2]=(c[Bf>>2]|0)+1;c[vf>>2]=QG(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+16>>2]|0)|0;Bf=(c[wf>>2]|0)+172|0;c[Bf>>2]=(c[Bf>>2]|0)+-1;if(c[vf>>2]|0)break a;break}case 155:{c[Ec>>2]=0;c[Fc>>2]=0;c[Gc>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+8>>2];if(!(c[Gc>>2]|0)){j=814;break c}if(!(c[c[Gc>>2]>>2]|0)){j=814;break c}c[Hc>>2]=c[c[Gc>>2]>>2];c[vf>>2]=Mb[c[(c[Hc>>2]|0)+24>>2]&255](c[Gc>>2]|0,Fc)|0;gs(c[tf>>2]|0,c[Gc>>2]|0);if(c[vf>>2]|0)break a;c[c[Fc>>2]>>2]=c[Gc>>2];c[Ec>>2]=cG(c[tf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[Ec>>2]|0)){j=818;break c}c[(c[Ec>>2]|0)+16>>2]=c[Fc>>2];Bf=(c[Gc>>2]|0)+4|0;c[Bf>>2]=(c[Bf>>2]|0)+1;break}case 11:{c[Mc>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[Nc>>2]=(c[Mc>>2]|0)+40;c[Qc>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[Oc>>2]=c[(c[Qc>>2]|0)+16>>2];c[Pc>>2]=c[c[Oc>>2]>>2];c[Lc>>2]=c[c[Pc>>2]>>2];c[Jc>>2]=c[c[Nc>>2]>>2];c[Kc>>2]=c[c[Mc>>2]>>2];c[Rc>>2]=0;c[Uc>>2]=c[(c[tf>>2]|0)+96>>2];c[Sc>>2]=0;while(1){if((c[Sc>>2]|0)>=(c[Jc>>2]|0))break;c[(c[Uc>>2]|0)+(c[Sc>>2]<<2)>>2]=(c[Nc>>2]|0)+(((c[Sc>>2]|0)+1|0)*40|0);c[Sc>>2]=(c[Sc>>2]|0)+1}c[vf>>2]=Nb[c[(c[Lc>>2]|0)+32>>2]&255](c[Oc>>2]|0,c[Kc>>2]|0,c[(c[rf>>2]|0)+16>>2]|0,c[Jc>>2]|0,c[Uc>>2]|0)|0;gs(c[tf>>2]|0,c[Pc>>2]|0);if(c[vf>>2]|0)break a;c[Rc>>2]=Hb[c[(c[Lc>>2]|0)+40>>2]&255](c[Oc>>2]|0)|0;a[(c[Qc>>2]|0)+2>>0]=0;if(c[Rc>>2]|0)j=14;break}case 156:{c[Zc>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[Xc>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if(a[(c[Zc>>2]|0)+2>>0]|0){_h(c[Xc>>2]|0);break d}c[Vc>>2]=c[c[(c[Zc>>2]|0)+16>>2]>>2];c[Wc>>2]=c[c[Vc>>2]>>2];c[Yc>>2]=0;c[Yc+4>>2]=0;c[Yc+8>>2]=0;c[Yc+12>>2]=0;c[Yc+16>>2]=0;c[Yc+20>>2]=0;c[Yc+24>>2]=0;c[Yc+28>>2]=0;c[Yc>>2]=c[Xc>>2];b[(c[Xc>>2]|0)+8>>1]=e[(c[Xc>>2]|0)+8>>1]&-49664|1;c[vf>>2]=Bb[c[(c[Wc>>2]|0)+44>>2]&255](c[(c[Zc>>2]|0)+16>>2]|0,Yc,c[(c[rf>>2]|0)+8>>2]|0)|0;gs(c[tf>>2]|0,c[Vc>>2]|0);if(c[Yc+20>>2]|0)c[vf>>2]=c[Yc+20>>2];oi(c[Xc>>2]|0,d[ne>>0]|0)|0;if(RF(c[Xc>>2]|0)|0){j=886;break c}if(c[vf>>2]|0)break a;break}case 70:{c[ad>>2]=0;c[bd>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[bd>>2]|0)+2>>0]|0)){c[_c>>2]=c[c[(c[bd>>2]|0)+16>>2]>>2];c[$c>>2]=c[c[_c>>2]>>2];c[vf>>2]=Hb[c[(c[$c>>2]|0)+36>>2]&255](c[(c[bd>>2]|0)+16>>2]|0)|0;gs(c[tf>>2]|0,c[_c>>2]|0);if(c[vf>>2]|0)break a;c[ad>>2]=Hb[c[(c[$c>>2]|0)+40>>2]&255](c[(c[bd>>2]|0)+16>>2]|0)|0;if(c[ad>>2]|0)j=8;else j=7}break}case 157:{c[dd>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+8>>2];c[ed>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[vf>>2]=oi(c[ed>>2]|0,1)|0;if(c[vf>>2]|0)break a;c[vf>>2]=Mb[c[(c[c[dd>>2]>>2]|0)+76>>2]&255](c[dd>>2]|0,c[(c[ed>>2]|0)+16>>2]|0)|0;gs(c[tf>>2]|0,c[dd>>2]|0);Bf=(c[tf>>2]|0)+144|0;b[Bf>>1]=b[Bf>>1]&-2;if(c[vf>>2]|0)break a;break}case 12:{c[fd>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+8>>2];if(!(c[fd>>2]|0)){j=837;break c}if(!(c[c[fd>>2]>>2]|0)){j=837;break c}c[gd>>2]=c[c[fd>>2]>>2];c[hd>>2]=c[(c[rf>>2]|0)+8>>2];if(c[(c[gd>>2]|0)+52>>2]|0){a[nd>>0]=a[(c[wf>>2]|0)+74>>0]|0;c[kd>>2]=c[(c[tf>>2]|0)+96>>2];c[ld>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[id>>2]=0;while(1){if((c[id>>2]|0)>=(c[hd>>2]|0))break;c[(c[kd>>2]|0)+(c[id>>2]<<2)>>2]=c[ld>>2];c[ld>>2]=(c[ld>>2]|0)+40;c[id>>2]=(c[id>>2]|0)+1}a[(c[wf>>2]|0)+74>>0]=a[(c[rf>>2]|0)+3>>0]|0;c[vf>>2]=Kb[c[(c[gd>>2]|0)+52>>2]&255](c[fd>>2]|0,c[hd>>2]|0,c[kd>>2]|0,jd)|0;a[(c[wf>>2]|0)+74>>0]=a[nd>>0]|0;gs(c[tf>>2]|0,c[fd>>2]|0);if((c[vf>>2]|0)==0?c[(c[rf>>2]|0)+4>>2]|0:0){zf=jd;i=c[zf>>2]|0;zf=c[zf+4>>2]|0;Bf=uf;c[Bf>>2]=i;c[Bf+4>>2]=zf;Bf=(c[wf>>2]|0)+32|0;c[Bf>>2]=i;c[Bf+4>>2]=zf}do if((c[vf>>2]&255|0)==19?d[(c[(c[rf>>2]|0)+16>>2]|0)+16>>0]|0:0){if((d[(c[rf>>2]|0)+3>>0]|0)==4){c[vf>>2]=0;break}if((d[(c[rf>>2]|0)+3>>0]|0)==5)f=2;else f=d[(c[rf>>2]|0)+3>>0]|0;a[(c[tf>>2]|0)+142>>0]=f}else j=852;while(0);if((j|0)==852){j=0;Bf=(c[tf>>2]|0)+44|0;c[Bf>>2]=(c[Bf>>2]|0)+1}if(c[vf>>2]|0)break a}break}case 158:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;zf=Mn(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=0;break}case 159:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[qd>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+4>>2];c[pd>>2]=0;if(c[(c[rf>>2]|0)+12>>2]|0?(c[pd>>2]=Mn(c[qd>>2]|0)|0,(c[pd>>2]|0)>>>0<(c[(c[rf>>2]|0)+12>>2]|0)>>>0):0)c[pd>>2]=c[(c[rf>>2]|0)+12>>2];zf=RG(c[qd>>2]|0,c[pd>>2]|0)|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break}case 71:{do if(d[(c[wf>>2]|0)+76>>0]&129|0?((e[(c[tf>>2]|0)+144>>1]|0)>>>1&1|0)==0:0){if(c[(c[rf>>2]|0)+16>>2]|0)f=c[(c[rf>>2]|0)+16>>2]|0;else f=c[(c[tf>>2]|0)+176>>2]|0;c[rd>>2]=f;if(f|0){f=c[(c[wf>>2]|0)+184>>2]|0;if(d[(c[wf>>2]|0)+76>>0]&128|0){c[td>>2]=f;c[ud>>2]=SG(c[tf>>2]|0,c[rd>>2]|0)|0;Fb[c[td>>2]&255](c[(c[wf>>2]|0)+188>>2]|0,c[ud>>2]|0);_d(c[ud>>2]|0);break}else{Kb[f&255](1,c[(c[wf>>2]|0)+188>>2]|0,c[tf>>2]|0,c[rd>>2]|0)|0;break}}}while(0);if((c[(c[rf>>2]|0)+4>>2]|0)>=(c[70]|0)){c[sd>>2]=1;while(1){if((c[sd>>2]|0)>=(c[(c[tf>>2]|0)+136>>2]|0))break;if((d[(c[(c[tf>>2]|0)+88>>2]|0)+((c[sd>>2]|0)*20|0)>>0]|0)==20)c[(c[(c[tf>>2]|0)+88>>2]|0)+((c[sd>>2]|0)*20|0)+4>>2]=0;c[sd>>2]=(c[sd>>2]|0)+1}c[(c[rf>>2]|0)+4>>2]=0}j=(c[rf>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1;j=14;break}default:{}}while(0);do if((j|0)==20){j=0;c[lf>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;if(c[(c[rf>>2]|0)+4>>2]|0){j=25;break c}if(!(c[(c[tf>>2]|0)+184>>2]|0)){j=25;break c}c[Ab>>2]=c[(c[tf>>2]|0)+184>>2];c[(c[tf>>2]|0)+184>>2]=c[(c[Ab>>2]|0)+4>>2];i=(c[tf>>2]|0)+192|0;c[i>>2]=(c[i>>2]|0)+-1;Yr(c[wf>>2]|0,c[(c[tf>>2]|0)+44>>2]|0);c[lf>>2]=js(c[Ab>>2]|0)|0;i=(c[wf>>2]|0)+32|0;zf=c[i+4>>2]|0;Bf=uf;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;if((c[(c[rf>>2]|0)+8>>2]|0)==4)c[lf>>2]=(c[(c[(c[tf>>2]|0)+88>>2]|0)+((c[lf>>2]|0)*20|0)+8>>2]|0)-1;c[qf>>2]=c[(c[tf>>2]|0)+88>>2];c[w>>2]=c[(c[tf>>2]|0)+92>>2];c[rf>>2]=(c[qf>>2]|0)+((c[lf>>2]|0)*20|0)}else if((j|0)==43){j=0;c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;b[(c[qa>>2]|0)+8>>1]=2562;c[(c[qa>>2]|0)+16>>2]=c[(c[rf>>2]|0)+16>>2];c[(c[qa>>2]|0)+12>>2]=c[(c[rf>>2]|0)+4>>2];a[(c[qa>>2]|0)+10>>0]=a[ne>>0]|0;if((c[(c[rf>>2]|0)+12>>2]|0)>0?(c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0),Bf=c[fa>>2]|0,(c[Bf+4>>2]|0)==0?(c[Bf>>2]|0)==(d[(c[rf>>2]|0)+3>>0]|0):0):0)b[(c[qa>>2]|0)+8>>1]=2576}else if((j|0)==126){j=0;c[Ld>>2]=c[(c[rf>>2]|0)+16>>2];c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[Ld>>2]>>2]|0)!=(c[qa>>2]|0)){c[c[Ld>>2]>>2]=c[qa>>2];c[Kd>>2]=(d[(c[Ld>>2]|0)+26>>0]|0)-1;while(1){if((c[Kd>>2]|0)<0)break j;c[(c[Ld>>2]|0)+28+(c[Kd>>2]<<2)>>2]=(c[w>>2]|0)+(((c[(c[rf>>2]|0)+8>>2]|0)+(c[Kd>>2]|0)|0)*40|0);c[Kd>>2]=(c[Kd>>2]|0)+-1}}while(0);b[(c[c[Ld>>2]>>2]|0)+8>>1]=e[(c[c[Ld>>2]>>2]|0)+8>>1]&-49664|1;a[(c[Ld>>2]|0)+25>>0]=0;Bf=uf;zf=c[Bf+4>>2]|0;i=(c[wf>>2]|0)+32|0;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;Ib[c[(c[(c[Ld>>2]|0)+4>>2]|0)+12>>2]&255](c[Ld>>2]|0,d[(c[Ld>>2]|0)+26>>0]|0,(c[Ld>>2]|0)+28|0);i=(c[wf>>2]|0)+32|0;zf=c[i+4>>2]|0;Bf=uf;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;if(a[(c[Ld>>2]|0)+25>>0]|0){if(c[(c[Ld>>2]|0)+20>>2]|0){Bf=c[tf>>2]|0;c[We>>2]=Rh(c[c[Ld>>2]>>2]|0)|0;is(Bf,21240,We);c[vf>>2]=c[(c[Ld>>2]|0)+20>>2]}ms(c[wf>>2]|0,(c[tf>>2]|0)+204|0,c[(c[Ld>>2]|0)+16>>2]|0,c[(c[rf>>2]|0)+4>>2]|0);if(c[vf>>2]|0)break a}if(e[(c[qa>>2]|0)+8>>1]&18|0?(oi(c[c[Ld>>2]>>2]|0,d[ne>>0]|0)|0,RF(c[c[Ld>>2]>>2]|0)|0):0){j=886;break c}}else if((j|0)==446){if(b[(c[tf>>2]|0)+144>>1]&1|0){j=447;break c}c[K>>2]=0;c[L>>2]=0;c[M>>2]=c[(c[rf>>2]|0)+8>>2];c[N>>2]=c[(c[rf>>2]|0)+12>>2];c[S>>2]=(c[(c[wf>>2]|0)+16>>2]|0)+(c[N>>2]<<4);c[P>>2]=c[(c[S>>2]|0)+4>>2];if((d[c[rf>>2]>>0]|0)==105){c[O>>2]=4|d[(c[rf>>2]|0)+3>>0]&8;if((d[(c[(c[S>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[tf>>2]|0)+143>>0]|0))a[(c[tf>>2]|0)+143>>0]=a[(c[(c[S>>2]|0)+12>>2]|0)+76>>0]|0}else c[O>>2]=0;if(d[(c[rf>>2]|0)+3>>0]&16|0){c[W>>2]=(c[w>>2]|0)+((c[M>>2]|0)*40|0);bw(c[W>>2]|0)|0;c[M>>2]=c[c[W>>2]>>2]}f=c[rf>>2]|0;if((a[(c[rf>>2]|0)+1>>0]|0)!=-6){if((a[f+1>>0]|0)==-14)c[K>>2]=c[(c[rf>>2]|0)+16>>2]}else{c[L>>2]=c[f+16>>2];c[K>>2]=(e[(c[L>>2]|0)+6>>1]|0)+(e[(c[L>>2]|0)+8>>1]|0)}c[Q>>2]=cG(c[tf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[K>>2]|0,c[N>>2]|0,0)|0;if(!(c[Q>>2]|0)){j=887;break a}a[(c[Q>>2]|0)+2>>0]=1;j=(c[Q>>2]|0)+5|0;a[j>>0]=a[j>>0]&-5|4;c[(c[Q>>2]|0)+8>>2]=c[M>>2];c[vf>>2]=dG(c[P>>2]|0,c[M>>2]|0,c[O>>2]|0,c[L>>2]|0,c[(c[Q>>2]|0)+16>>2]|0)|0;c[(c[Q>>2]|0)+24>>2]=c[L>>2];a[(c[Q>>2]|0)+4>>0]=(a[(c[rf>>2]|0)+1>>0]|0)!=-6;j=460}else if((j|0)==526){j=0;c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[ra>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[sa>>2]=c[(c[ra>>2]|0)+16>>2];c[ta>>2]=0;Bf=c[fa>>2]|0;zf=c[Bf+4>>2]|0;i=ua;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;i=ua;c[vf>>2]=_D(c[sa>>2]|0,0,c[i>>2]|0,c[i+4>>2]|0,0,ta)|0;i=ua;zf=c[i+4>>2]|0;Bf=(c[ra>>2]|0)+40|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;a[(c[ra>>2]|0)+2>>0]=0;c[(c[ra>>2]|0)+56>>2]=0;a[(c[ra>>2]|0)+3>>0]=0;c[(c[ra>>2]|0)+28>>2]=c[ta>>2];if(c[ta>>2]|0){if(c[(c[rf>>2]|0)+8>>2]|0){j=14;break}c[vf>>2]=kn(81458)|0}if(c[vf>>2]|0)break a}else if((j|0)==619){j=0;c[bb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[db>>2]=1;f=c[bb>>2]|0;if((d[c[bb>>2]>>0]|0)==1)c[vf>>2]=qG(f,db)|0;else{c[cb>>2]=c[f+16>>2];c[vf>>2]=rG(c[cb>>2]|0,db)|0;a[(c[bb>>2]|0)+3>>0]=0;c[(c[bb>>2]|0)+56>>2]=0}if(c[vf>>2]|0)break a;a[(c[bb>>2]|0)+2>>0]=c[db>>2];if(c[db>>2]|0)j=14}else if((j|0)==626){c[fb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[gb>>2]=c[(c[rf>>2]|0)+12>>2];c[vf>>2]=Mb[c[(c[rf>>2]|0)+16>>2]&255](c[(c[fb>>2]|0)+16>>2]|0,gb)|0;j=627}else if((j|0)==750){j=0;c[jc>>2]=c[(c[rf>>2]|0)+16>>2];c[kc>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[jc>>2]|0)+8>>2]|0)!=(c[kc>>2]|0)){c[(c[jc>>2]|0)+8>>2]=c[kc>>2];c[ic>>2]=(d[(c[jc>>2]|0)+26>>0]|0)-1;while(1){if((c[ic>>2]|0)<0)break k;c[(c[jc>>2]|0)+28+(c[ic>>2]<<2)>>2]=(c[w>>2]|0)+(((c[(c[rf>>2]|0)+8>>2]|0)+(c[ic>>2]|0)|0)*40|0);c[ic>>2]=(c[ic>>2]|0)+-1}}while(0);Bf=(c[kc>>2]|0)+12|0;c[Bf>>2]=(c[Bf>>2]|0)+1;jj(lc,c[wf>>2]|0,1);c[c[jc>>2]>>2]=lc;a[(c[jc>>2]|0)+25>>0]=0;a[(c[jc>>2]|0)+24>>0]=0;Ib[c[(c[(c[jc>>2]|0)+4>>2]|0)+12>>2]&255](c[jc>>2]|0,d[(c[jc>>2]|0)+26>>0]|0,(c[jc>>2]|0)+28|0);if(a[(c[jc>>2]|0)+25>>0]|0){if(c[(c[jc>>2]|0)+20>>2]|0){Bf=c[tf>>2]|0;c[bf>>2]=Rh(lc)|0;is(Bf,21240,bf);c[vf>>2]=c[(c[jc>>2]|0)+20>>2]}ei(lc);if(c[vf>>2]|0)break a}if(a[(c[jc>>2]|0)+24>>0]|0?(c[ic>>2]=c[(c[rf>>2]|0)+-20+4>>2],c[ic>>2]|0):0)Yh((c[w>>2]|0)+((c[ic>>2]|0)*40|0)|0,1,0)}while(0);do if((j|0)==14){j=0;c[rf>>2]=(c[qf>>2]|0)+(((c[(c[rf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((j|0)==460){j=0;eG(c[(c[Q>>2]|0)+16>>2]|0,d[(c[rf>>2]|0)+3>>0]&3);if(c[vf>>2]|0)break a}else if((j|0)==627){j=0;c[(c[fb>>2]|0)+56>>2]=0;if(c[vf>>2]|0)break a;f=(c[fb>>2]|0)+2|0;if(!(c[gb>>2]|0)){a[f>>0]=0;j=(c[tf>>2]|0)+156+(d[(c[rf>>2]|0)+3>>0]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;j=7;break}else{a[f>>0]=1;j=8;break}}while(0);if((j|0)==7){c[rf>>2]=(c[qf>>2]|0)+(((c[(c[rf>>2]|0)+8>>2]|0)-1|0)*20|0);j=8}if((j|0)==8){j=0;if(c[(c[wf>>2]|0)+248>>2]|0)break b;if((c[(c[wf>>2]|0)+304>>2]|0?(c[xf>>2]|0)>>>0>=(c[k>>2]|0)>>>0:0)?(c[k>>2]=(c[xf>>2]|0)+(c[(c[wf>>2]|0)+312>>2]|0)-(((c[xf>>2]|0)>>>0)%((c[(c[wf>>2]|0)+312>>2]|0)>>>0)|0),Hb[c[(c[wf>>2]|0)+304>>2]&255](c[(c[wf>>2]|0)+308>>2]|0)|0):0){j=12;break}}c[rf>>2]=(c[rf>>2]|0)+20}switch(j|0){case 12:{c[vf>>2]=9;break a}case 25:{c[(c[tf>>2]|0)+40>>2]=c[(c[rf>>2]|0)+4>>2];a[(c[tf>>2]|0)+142>>0]=c[(c[rf>>2]|0)+8>>2];c[(c[tf>>2]|0)+36>>2]=c[lf>>2];if(c[(c[tf>>2]|0)+40>>2]|0){f=c[tf>>2]|0;g=c[rf>>2]|0;if(a[(c[rf>>2]|0)+3>>0]|0){c[mf>>2]=c[5592+((d[g+3>>0]|0)-1<<2)>>2];is(f,38728,mf);if(c[(c[rf>>2]|0)+16>>2]|0){Bf=c[wf>>2]|0;zf=c[(c[rf>>2]|0)+16>>2]|0;c[nf>>2]=c[(c[tf>>2]|0)+108>>2];c[nf+4>>2]=zf;Bf=Wj(Bf,38749,nf)|0;c[(c[tf>>2]|0)+108>>2]=Bf}}else{c[of>>2]=c[g+16>>2];is(f,21240,of)}Bf=c[(c[rf>>2]|0)+4>>2]|0;rf=c[(c[tf>>2]|0)+176>>2]|0;zf=c[(c[tf>>2]|0)+108>>2]|0;c[pf>>2]=c[lf>>2];c[pf+4>>2]=rf;c[pf+8>>2]=zf;xd(Bf,38756,pf)}c[vf>>2]=Or(c[tf>>2]|0)|0;f=(c[tf>>2]|0)+40|0;if((c[vf>>2]|0)==5){c[f>>2]=5;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}else{c[vf>>2]=c[f>>2]|0?1:101;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}}case 64:{if((c[(c[wf>>2]|0)+304>>2]|0?(c[xf>>2]|0)>>>0>=(c[k>>2]|0)>>>0:0)?Hb[c[(c[wf>>2]|0)+304>>2]&255](c[(c[wf>>2]|0)+308>>2]|0)|0:0){c[vf>>2]=9;break a}Bf=Tr(c[tf>>2]|0,0)|0;c[vf>>2]=Bf;if(Bf)break a;c[vf>>2]=Xr(c[tf>>2]|0,1)|0;c[(c[tf>>2]|0)+32>>2]=(c[(c[tf>>2]|0)+32>>2]|0)+2|1;Bf=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[tf>>2]|0)+104>>2]=Bf;c[vd>>2]=Bf;c[wd>>2]=0;while(1){if((c[wd>>2]|0)>=(c[(c[rf>>2]|0)+8>>2]|0))break;if(e[(c[vd>>2]|0)+((c[wd>>2]|0)*40|0)+8>>1]&4096|0?gi((c[vd>>2]|0)+((c[wd>>2]|0)*40|0)|0)|0:0){j=887;break a}pi((c[vd>>2]|0)+((c[wd>>2]|0)*40|0)|0)|0;c[wd>>2]=(c[wd>>2]|0)+1}if(a[(c[wf>>2]|0)+69>>0]|0){j=887;break a}if(d[(c[wf>>2]|0)+76>>0]&4|0)Kb[c[(c[wf>>2]|0)+184>>2]&255](4,c[(c[wf>>2]|0)+188>>2]|0,c[tf>>2]|0,0)|0;c[(c[tf>>2]|0)+36>>2]=(((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0)+1;c[vf>>2]=100;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}case 159:{c[vf>>2]=20;break a}case 269:{c[vf>>2]=kn(79835)|0;break a}case 288:{if(!(c[(c[je>>2]|0)+72>>2]|0))ei(qe);c[vf>>2]=kn(79894)|0;break a}case 372:{c[(c[tf>>2]|0)+36>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;a[(c[wf>>2]|0)+67>>0]=0;c[vf>>2]=5;c[(c[tf>>2]|0)+40>>2]=5;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}case 395:{c[kf>>2]=c[(c[rf>>2]|0)+4>>2];c[y>>2]=c[(c[rf>>2]|0)+8>>2];if((c[kf>>2]|0)==(d[(c[wf>>2]|0)+67>>0]|0)){if(c[kf>>2]|0)f=c[y>>2]|0?38980:39023;else f=39064;is(c[tf>>2]|0,f,jf);c[vf>>2]=1;break a}do if(!(c[y>>2]|0)){if(c[kf>>2]|0?(c[(c[wf>>2]|0)+164>>2]|0)>0:0){is(c[tf>>2]|0,38925,_e);c[vf>>2]=5;break a}Bf=Tr(c[tf>>2]|0,1)|0;c[vf>>2]=Bf;if(Bf|0){Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}else{f=c[kf>>2]&255;g=c[wf>>2]|0;break}}else{sr(c[wf>>2]|0,516);f=1;g=c[wf>>2]|0}while(0);a[g+67>>0]=f;if((Or(c[tf>>2]|0)|0)==5){c[(c[tf>>2]|0)+36>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;a[(c[wf>>2]|0)+67>>0]=1-(c[kf>>2]|0);c[vf>>2]=5;c[(c[tf>>2]|0)+40>>2]=5;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}tr(c[wf>>2]|0);if(!(c[(c[tf>>2]|0)+40>>2]|0)){c[vf>>2]=101;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}else{c[vf>>2]=1;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}}case 413:{c[vf>>2]=8;break a}case 416:{if((c[vf>>2]&255|0)!=5)break a;c[(c[tf>>2]|0)+36>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;c[(c[tf>>2]|0)+40>>2]=c[vf>>2];Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}case 447:{c[vf>>2]=516;break a}case 547:{c[vf>>2]=13;break a}case 557:{c[vf>>2]=13;break a}case 659:{c[vf>>2]=6;a[(c[tf>>2]|0)+142>>0]=2;break a}case 681:{Np(c[wf>>2]|0);if((c[vf>>2]|0)==7){j=887;break a}else break a}case 710:{c[vf>>2]=1;is(c[tf>>2]|0,39176,af);break a}case 762:{Bf=c[tf>>2]|0;c[cf>>2]=Rh(c[nc>>2]|0)|0;is(Bf,21240,cf);break a}case 782:{c[vf>>2]=1;Bf=c[tf>>2]|0;c[df>>2]=(c[tc>>2]|0)==5?39213:39218;is(Bf,39225,df);break a}case 803:{if((c[vf>>2]&255|0)!=6)break a;c[Ac>>2]=c[(c[rf>>2]|0)+16>>2];Bf=c[tf>>2]|0;c[ef>>2]=c[Ac>>2];is(Bf,39277,ef);break a}case 814:{c[vf>>2]=6;break a}case 818:{Hb[c[(c[Hc>>2]|0)+28>>2]&255](c[Fc>>2]|0)|0;j=887;break a}case 837:{c[vf>>2]=6;break a}case 885:{Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}case 886:{is(c[tf>>2]|0,22203,Te);c[vf>>2]=18;break a}}}while(0);c[vf>>2]=d[(c[wf>>2]|0)+69>>0]|0?7:9;c[(c[tf>>2]|0)+40>>2]=c[vf>>2];Bf=c[tf>>2]|0;c[Ve>>2]=Xi(c[vf>>2]|0)|0;is(Bf,21240,Ve)}while(0);if((j|0)==887){Od(c[wf>>2]|0);is(c[tf>>2]|0,22481,Ue);c[vf>>2]=7}if(a[(c[wf>>2]|0)+69>>0]|0)c[vf>>2]=7;if((c[vf>>2]|0)!=3082?(c[(c[tf>>2]|0)+108>>2]|0)==0:0){Bf=c[tf>>2]|0;c[gf>>2]=Xi(c[vf>>2]|0)|0;is(Bf,21240,gf)}c[(c[tf>>2]|0)+40>>2]=c[vf>>2];Bp(c[wf>>2]|0,c[vf>>2]|0);Bf=c[vf>>2]|0;pf=c[(c[tf>>2]|0)+176>>2]|0;zf=c[(c[tf>>2]|0)+108>>2]|0;c[hf>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;c[hf+4>>2]=pf;c[hf+8>>2]=zf;xd(Bf,39306,hf);Or(c[tf>>2]|0)|0;if((c[vf>>2]|0)==3082)Od(c[wf>>2]|0);c[vf>>2]=1;if((d[ff>>0]|0)<=0){Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}Vs(c[wf>>2]|0,(d[ff>>0]|0)-1|0);Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}function NF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2];if(c[f>>2]|0?(el(c[f>>2]|0),c[g>>2]=OF(qk(c[f>>2]|0)|0)|0,bl(c[f>>2]|0),((c[g>>2]|0)>0?(c[(c[b>>2]|0)+224>>2]|0)!=0:0)&(c[d>>2]|0)==0):0)c[d>>2]=Kb[c[(c[b>>2]|0)+224>>2]&255](c[(c[b>>2]|0)+228>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)>>2]|0,c[g>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}l=h;return c[d>>2]|0}function OF(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=PF(c[(c[d>>2]|0)+216>>2]|0)|0;l=b;return a|0}function PF(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;l=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;l=e;return d|0}function QF(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;f=h+12|0;j=h+8|0;i=h+4|0;g=h;c[j>>2]=a;c[i>>2]=d;c[g>>2]=(c[(c[j>>2]|0)+92>>2]|0)+((c[(c[i>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312|0){c[f>>2]=bJ(a)|0;j=c[f>>2]|0;l=h;return j|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];j=c[f>>2]|0;l=h;return j|0}return 0}function RF(a){a=a|0;var b=0,d=0,f=0,g=0;g=l;l=l+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;f=c[b>>2]|0;l=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384|0)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+96>>2]|0)&1;f=c[b>>2]|0;l=g;return f|0}function SF(a){a=a|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12|0))if(a&18|0){b[d>>1]=aJ(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);l=g;return b[d>>1]|0}function TF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;a=c[f>>2]|0;if(!((c[d>>2]|0)==0?(c[d+4>>2]|0)==-2147483648:0)){g=Z$(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=Gi(a,g,D)|0;g=c[e>>2]|0;l=h;return g|0}d=a;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;l=h;return g|0}else{d=g;g=c[f>>2]|0;f=g;f=Z$(c[f>>2]|0,c[f+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=D;c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}return 0}function UF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;f=i+16|0;g=i+8|0;h=i;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=c[f>>2]|0;b=c[a+4>>2]|0;d=h;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=g;b=c[d+4>>2]|0;do if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){j=h;b=c[j>>2]|0;j=c[j+4>>2]|0;d=g;d=n0(-1,2147483647,c[d>>2]|0,c[d+4>>2]|0)|0;a=D;if((j|0)>(a|0)|(j|0)==(a|0)&b>>>0>d>>>0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}a=h;d=c[a>>2]|0;a=c[a+4>>2]|0;j=g;j=n0(0,-2147483648,c[j>>2]|0,c[j+4>>2]|0)|0;b=D;if((a|0)<(b|0)|(a|0)==(b|0)&d>>>0>>0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}}else if((c[g+4>>2]|0)<0){j=h;d=c[j+4>>2]|0;if((d|0)>0|(d|0)==0&(c[j>>2]|0)>>>0>0){a=g;d=c[a>>2]|0;a=c[a+4>>2]|0;j=h;j=n0(0,-2147483648,c[j>>2]|0,c[j+4>>2]|0)|0;b=D;if(!((a|0)<(b|0)|(a|0)==(b|0)&d>>>0>>0))break;c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}if((c[h+4>>2]|0)<0){j=g;if((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}j=h;if((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}d=h;d=Z$(0,0,c[d>>2]|0,c[d+4>>2]|0)|0;a=D;j=g;j=Z$(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=n0(-1,2147483647,j|0,D|0)|0;b=D;if((a|0)>(b|0)|(a|0)==(b|0)&d>>>0>j>>>0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}}}while(0);j=h;h=g;h=r0(c[j>>2]|0,c[j+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;j=c[f>>2]|0;c[j>>2]=h;c[j+4>>2]=D;c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}function VF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;c[i>>2]=c[c[g>>2]>>2];do if(!(d[c[i>>2]>>0]|0)){b=c[i>>2]|0;if(!(a[(c[i>>2]|0)+3>>0]|0)){if(!(sI(c[b+16>>2]|0)|0))break;c[f>>2]=tI(c[i>>2]|0)|0;j=c[f>>2]|0;l=k;return j|0}if(c[b+52>>2]|0?(e=c[(c[(c[i>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=e,(e|0)>0):0){c[c[g>>2]>>2]=c[(c[i>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}c[f>>2]=$I(c[i>>2]|0)|0;j=c[f>>2]|0;l=k;return j|0}while(0);c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function WF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=_I(c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function XF(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;q=p+4|0;i=p;c[j>>2]=a;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[q>>2]=0;c[i>>2]=0;c[h>>2]=WF(c[j>>2]|0,q)|0;if(((c[k>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[q>>2]|0)>>>0){c[(c[o>>2]|0)+16>>2]=(c[h>>2]|0)+(c[k>>2]|0);b[(c[o>>2]|0)+8>>1]=4112;c[(c[o>>2]|0)+12>>2]=c[m>>2];q=c[i>>2]|0;l=p;return q|0}else{c[i>>2]=ZI(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;q=c[i>>2]|0;l=p;return q|0}return 0}function YF(b){b=b|0;var c=0,e=0;e=l;l=l+16|0;c=e;a[c>>0]=b;l=e;return a[34519+(d[c>>0]|0)>>0]|0}function ZF(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o+36|0;f=o+32|0;k=o+28|0;i=o+24|0;g=o+20|0;h=o+16|0;m=o+8|0;j=o;c[f>>2]=a;c[k>>2]=b;c[i>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1|0){c[c[i>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;l=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8|0){c[c[i>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;l=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384|0)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[i>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;l=o;return n|0}h=c[f>>2]|0;a=c[h+4>>2]|0;b=m;c[b>>2]=c[h>>2];c[b+4>>2]=a;b=m;a=c[b>>2]|0;b=c[b+4>>2]|0;if((c[m+4>>2]|0)<0){h=j;c[h>>2]=~a;c[h+4>>2]=~b}else{h=j;c[h>>2]=a;c[h+4>>2]=b}h=j;g=c[h+4>>2]|0;if(g>>>0<0|(g|0)==0&(c[h>>2]|0)>>>0<=127){h=m;a=c[i>>2]|0;if((0==(c[h+4>>2]|0)?(c[m>>2]&1|0)==(c[h>>2]|0):0)&(c[k>>2]|0)>=4){c[a>>2]=0;c[n>>2]=8+(c[j>>2]|0);n=c[n>>2]|0;l=o;return n|0}else{c[a>>2]=1;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}}m=j;k=c[m+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[m>>2]|0)>>>0<=32767){c[c[i>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}m=j;k=c[m+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[m>>2]|0)>>>0<=8388607){c[c[i>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;l=o;return n|0}m=j;k=c[m+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[m>>2]|0)>>>0<=2147483647){c[c[i>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;l=o;return n|0}m=j;k=c[m+4>>2]|0;a=c[i>>2]|0;if(k>>>0<32767|(k|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[a>>2]=6;c[n>>2]=5;n=c[n>>2]|0;l=o;return n|0}else{c[a>>2]=8;c[n>>2]=6;n=c[n>>2]|0;l=o;return n|0}return 0}function _F(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;h=i;c[g>>2]=b;j=h;c[j>>2]=d;c[j+4>>2]=e;e=h;j=c[e+4>>2]|0;d=h;b=c[d>>2]|0;d=c[d+4>>2]|0;if(j>>>0<0|(j|0)==0&(c[e>>2]|0)>>>0<=127){a[c[g>>2]>>0]=b&127;c[f>>2]=1;j=c[f>>2]|0;l=i;return j|0}if(d>>>0<0|(d|0)==0&b>>>0<=16383){j=h;j=f0(c[j>>2]|0,c[j+4>>2]|0,7)|0;a[c[g>>2]>>0]=j&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;j=c[f>>2]|0;l=i;return j|0}else{j=h;c[f>>2]=YI(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[f>>2]|0;l=i;return j|0}return 0}function $F(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;g=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o;n=o+8|0;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;b=c[j>>2]|0;if((c[j>>2]|0)>>>0<=7&(c[j>>2]|0)>>>0>0){if((b|0)==7){i=c[i>>2]|0;c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2]}else{e=c[i>>2]|0;f=c[e+4>>2]|0;i=m;c[i>>2]=c[e>>2];c[i+4>>2]=f}j=d[34519+(c[j>>2]|0)>>0]|0;c[n>>2]=j;c[k>>2]=j;do{f=c[m>>2]&255;j=c[h>>2]|0;i=(c[n>>2]|0)+-1|0;c[n>>2]=i;a[j+i>>0]=f;i=m;i=f0(c[i>>2]|0,c[i+4>>2]|0,8)|0;j=m;c[j>>2]=i;c[j+4>>2]=D}while((c[n>>2]|0)!=0);c[g>>2]=c[k>>2];n=c[g>>2]|0;l=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;l=o;return n|0}c[k>>2]=c[(c[i>>2]|0)+12>>2];if((c[k>>2]|0)>>>0>0)h0(c[h>>2]|0,c[(c[i>>2]|0)+16>>2]|0,c[k>>2]|0)|0;c[g>>2]=c[k>>2];n=c[g>>2]|0;l=o;return n|0}return 0}function aG(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q;p=q+16|0;i=q+12|0;j=q+8|0;c[m>>2]=f;c[n>>2]=g;h=o;c[h>>2]=0;c[h+4>>2]=0;if(!(c[(c[m>>2]|0)+52>>2]|0)){p=c[n>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[k>>2]=0;p=c[k>>2]|0;l=q;return p|0}c[p>>2]=aE(c[m>>2]|0)|0;a:while(1){if(c[p>>2]|0){f=16;break}c[j>>2]=c[(c[m>>2]|0)+120+(a[(c[m>>2]|0)+68>>0]<<2)>>2];if(!(!(d[(c[j>>2]|0)+4>>0]|0)?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){g=o;g=_$(c[g>>2]|0,c[g+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;h=o;c[h>>2]=g;c[h+4>>2]=D}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[m>>2]|0)+68>>0]|0)){f=10;break a}VD(c[m>>2]|0)}while((e[(c[m>>2]|0)+80+(a[(c[m>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[m>>2]|0)+120+(a[(c[m>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));h=(c[m>>2]|0)+80+(a[(c[m>>2]|0)+68>>0]<<1)|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;c[j>>2]=c[(c[m>>2]|0)+120+(a[(c[m>>2]|0)+68>>0]<<2)>>2]}c[i>>2]=e[(c[m>>2]|0)+80+(a[(c[m>>2]|0)+68>>0]<<1)>>1];f=c[m>>2]|0;g=c[(c[j>>2]|0)+56>>2]|0;h=c[j>>2]|0;if((c[i>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[p>>2]=TD(f,Vl(g+((d[h+5>>0]|0)+8)|0)|0)|0;continue}else{c[p>>2]=TD(f,Vl(g+(e[h+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[i>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[i>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=o;o=c[j+4>>2]|0;p=c[n>>2]|0;c[p>>2]=c[j>>2];c[p+4>>2]=o;c[k>>2]=aE(c[m>>2]|0)|0;p=c[k>>2]|0;l=q;return p|0}else if((f|0)==16){c[k>>2]=c[p>>2];p=c[k>>2]|0;l=q;return p|0}return 0}function bG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;d=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[f>>2]|0)+4>>2];el(c[f>>2]|0);c[d>>2]=Zq(c[c[h>>2]>>2]|0,c[g>>2]|0)|0;bl(c[f>>2]|0);l=e;return c[d>>2]|0}function cG(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;k=s+24|0;m=s+20|0;p=s+16|0;q=s+12|0;r=s+28|0;n=s+8|0;j=s+4|0;o=s;c[k>>2]=e;c[m>>2]=f;c[p>>2]=g;c[q>>2]=h;a[r>>0]=i;e=c[(c[k>>2]|0)+92>>2]|0;if((c[m>>2]|0)>0)e=e+(((c[(c[k>>2]|0)+24>>2]|0)-(c[m>>2]|0)|0)*40|0)|0;c[n>>2]=e;c[o>>2]=0;e=88+(c[p>>2]<<3)|0;if(!(d[r>>0]|0))f=WI()|0;else f=0;c[j>>2]=e+f;if(c[(c[(c[k>>2]|0)+112>>2]|0)+(c[m>>2]<<2)>>2]|0){ns(c[k>>2]|0,c[(c[(c[k>>2]|0)+112>>2]|0)+(c[m>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+112>>2]|0)+(c[m>>2]<<2)>>2]=0}if(di(c[n>>2]|0,c[j>>2]|0)|0){r=c[o>>2]|0;l=s;return r|0}e=c[(c[n>>2]|0)+16>>2]|0;c[o>>2]=e;c[(c[(c[k>>2]|0)+112>>2]|0)+(c[m>>2]<<2)>>2]=e;e=c[o>>2]|0;f=e+88|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[c[o>>2]>>0]=a[r>>0]|0;a[(c[o>>2]|0)+1>>0]=c[q>>2];b[(c[o>>2]|0)+12>>1]=c[p>>2];c[(c[o>>2]|0)+76>>2]=(c[o>>2]|0)+80+(c[p>>2]<<2);if(d[r>>0]|0|0){r=c[o>>2]|0;l=s;return r|0}c[(c[o>>2]|0)+16>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(88+(c[p>>2]<<3));XI(c[(c[o>>2]|0)+16>>2]|0);r=c[o>>2]|0;l=s;return r|0}function dG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;if((c[i>>2]|0)<1){c[g>>2]=kn(62410)|0;m=c[g>>2]|0;l=n;return m|0}else{el(c[h>>2]|0);c[g>>2]=UI(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;bl(c[h>>2]|0);m=c[g>>2]|0;l=n;return m|0}return 0}function eG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];l=e;return}function fG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;i=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[i>>2]=b;c[h>>2]=d;el(c[g>>2]|0);c[e>>2]=TI(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;bl(c[g>>2]|0);l=f;return c[e>>2]|0}function gG(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;t=x+56|0;o=x+52|0;p=x+48|0;u=x+44|0;q=x+40|0;v=x+36|0;w=x+32|0;i=x+28|0;j=x+24|0;s=x+20|0;k=x+16|0;m=x+12|0;r=x;n=x+8|0;c[t>>2]=f;c[o>>2]=g;c[p>>2]=h;c[s>>2]=0;h=(Kl(c[t>>2]|0)|0)!=0;if(h|(c[3]|0)==0)c[k>>2]=0;else c[k>>2]=c[(c[t>>2]|0)+96+44>>2];c[i>>2]=24+((e[(c[(c[p>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[j>>2]=136+((c[k>>2]|0)*72|0);h=(c[j>>2]|0)+(c[i>>2]|0)|0;c[v>>2]=_l(c[t>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[p>>2]|0)+16>>2]=c[v>>2];if(!(c[v>>2]|0)){c[s>>2]=7;w=c[s>>2]|0;l=x;return w|0}h=(c[v>>2]|0)+(c[j>>2]|0)|0;c[w>>2]=h;c[(c[v>>2]|0)+28>>2]=h;h0(c[w>>2]|0,c[(c[p>>2]|0)+24>>2]|0,c[i>>2]|0)|0;c[(c[w>>2]|0)+12>>2]=0;if((c[o>>2]|0)!=0&(c[k>>2]|0)==0){p=(c[w>>2]|0)+8|0;b[p>>1]=(e[p>>1]|0)+((e[(c[w>>2]|0)+6>>1]|0)-(c[o>>2]|0));b[(c[w>>2]|0)+6>>1]=c[o>>2]}p=Hn(c[(c[(c[t>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[u>>2]=p;c[(c[v>>2]|0)+12>>2]=p;a[(c[v>>2]|0)+59>>0]=(c[k>>2]|0)+1;a[(c[v>>2]|0)+58>>0]=(c[k>>2]|0)-1;a[(c[v>>2]|0)+57>>0]=(d[(c[v>>2]|0)+59>>0]|0|0)>1;c[(c[v>>2]|0)+24>>2]=c[t>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(d[(c[v>>2]|0)+59>>0]|0|0))break;c[m>>2]=(c[v>>2]|0)+64+((c[q>>2]|0)*72|0);c[(c[m>>2]|0)+8>>2]=c[v>>2];c[q>>2]=(c[q>>2]|0)+1}if(!(Kl(c[t>>2]|0)|0)){c[n>>2]=c[58];f=S(c[n>>2]|0,c[u>>2]|0)|0;c[c[v>>2]>>2]=f;f=c[(c[(c[(c[t>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;g=r;c[g>>2]=f;c[g+4>>2]=((f|0)<0)<<31>>31;g=r;f=c[g>>2]|0;g=c[g+4>>2]|0;if((c[r+4>>2]|0)<0){p=r0(f|0,g|0,-1024,-1)|0;q=r;c[q>>2]=p;c[q+4>>2]=D}else{p=c[u>>2]|0;p=r0(f|0,g|0,p|0,((p|0)<0)<<31>>31|0)|0;q=r;c[q>>2]=p;c[q+4>>2]=D}h=r;o=c[h+4>>2]|0;h=(o|0)<0|(o|0)==0&(c[h>>2]|0)>>>0<536870912;o=r;p=h?c[o+4>>2]|0:0;q=r;c[q>>2]=h?c[o>>2]|0:536870912;c[q+4>>2]=p;if((c[c[v>>2]>>2]|0)>(c[r>>2]|0))f=c[c[v>>2]>>2]|0;else f=c[r>>2]|0;c[(c[v>>2]|0)+4>>2]=f;if((c[50]|0)==0?(c[(c[v>>2]|0)+52>>2]=c[u>>2],u=c[u>>2]|0,u=Fd(u,((u|0)<0)<<31>>31)|0,c[(c[v>>2]|0)+36+4>>2]=u,(c[(c[v>>2]|0)+36+4>>2]|0)==0):0)c[s>>2]=7}if(((e[(c[w>>2]|0)+6>>1]|0)+(e[(c[w>>2]|0)+8>>1]|0)|0)>=13){w=c[s>>2]|0;l=x;return w|0}if(c[(c[w>>2]|0)+20>>2]|0?(c[(c[w>>2]|0)+20>>2]|0)!=(c[(c[t>>2]|0)+8>>2]|0):0){w=c[s>>2]|0;l=x;return w|0}a[(c[v>>2]|0)+60>>0]=3;w=c[s>>2]|0;l=x;return w|0}function hG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;l=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function iG(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function jG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+12|0;h=j+8|0;f=j+4|0;i=j;c[h>>2]=b;c[f>>2]=e;if(1==(d[(c[h>>2]|0)+66>>0]|0|0)?(d[(c[h>>2]|0)+64>>0]|0)&8|0:0){c[g>>2]=0;i=c[g>>2]|0;l=j;return i|0}c[i>>2]=aE(c[h>>2]|0)|0;do if(!(c[i>>2]|0)){b=c[f>>2]|0;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[b>>2]=1;break}else{c[b>>2]=0;c[i>>2]=UD(c[h>>2]|0)|0;h=(c[h>>2]|0)+64|0;f=d[h>>0]|0;a[h>>0]=(c[i>>2]|0)==0?f|8:f&-9;break}}while(0);c[g>>2]=c[i>>2];i=c[g>>2]|0;l=j;return i|0}function kG(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+64|0;t=y+52|0;u=y+48|0;v=y+44|0;w=y+40|0;z=y+36|0;x=y+32|0;j=y+28|0;k=y+24|0;m=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y;s=y+56|0;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[z>>2]=i;c[j>>2]=c[z>>2];c[k>>2]=0;c[o>>2]=c[c[u>>2]>>2];c[p>>2]=c[(c[o>>2]|0)+4>>2];c[r>>2]=0;f=c[u>>2]|0;if((d[(c[u>>2]|0)+66>>0]|0)==4){c[t>>2]=c[f+60>>2];z=c[t>>2]|0;l=y;return z|0}if(d[f+64>>0]&32|0?(c[x>>2]=_p(c[p>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,c[x>>2]|0):0){c[t>>2]=c[x>>2];z=c[t>>2]|0;l=y;return z|0}do if(!(c[(c[u>>2]|0)+72>>2]|0)){z=(c[v>>2]|0)+8|0;tH(c[o>>2]|0,c[z>>2]|0,c[z+4>>2]|0,0);if((d[(c[u>>2]|0)+64>>0]&2|0?(z=(c[v>>2]|0)+8|0,o=c[z+4>>2]|0,(o|0)>0|(o|0)==0&(c[z>>2]|0)>>>0>0):0)?(z=(c[u>>2]|0)+16|0,i=c[z>>2]|0,z=c[z+4>>2]|0,o=(c[v>>2]|0)+8|0,o=Z$(c[o>>2]|0,c[o+4>>2]|0,1,0)|0,(i|0)==(o|0)&(z|0)==(D|0)):0){c[j>>2]=-1;break}if((c[j>>2]|0)==0?(z=(c[v>>2]|0)+8|0,c[x>>2]=_D(c[u>>2]|0,0,c[z>>2]|0,c[z+4>>2]|0,c[w>>2]|0,j)|0,c[x>>2]|0):0){c[t>>2]=c[x>>2];z=c[t>>2]|0;l=y;return z|0}}else if((c[j>>2]|0)==0?(z=(c[v>>2]|0)+8|0,c[x>>2]=XD(c[u>>2]|0,c[c[v>>2]>>2]|0,c[z>>2]|0,c[z+4>>2]|0,c[w>>2]|0,j)|0,c[x>>2]|0):0){c[t>>2]=c[x>>2];z=c[t>>2]|0;l=y;return z|0}while(0);c[n>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[r>>2]=c[(c[p>>2]|0)+80>>2];c[x>>2]=SI(c[n>>2]|0,c[r>>2]|0,c[v>>2]|0,k)|0;do if(!(c[x>>2]|0)){c[m>>2]=e[(c[u>>2]|0)+80+(a[(c[u>>2]|0)+68>>0]<<1)>>1];if(!(c[j>>2]|0)){c[x>>2]=Jn(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[x>>2]|0)break;c[q>>2]=(c[(c[n>>2]|0)+56>>2]|0)+(e[(c[n>>2]|0)+20>>1]&(d[(c[(c[n>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[n>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if(!(a[(c[n>>2]|0)+4>>0]|0)){z=c[r>>2]|0;w=c[q>>2]|0;a[z>>0]=a[w>>0]|0;a[z+1>>0]=a[w+1>>0]|0;a[z+2>>0]=a[w+2>>0]|0;a[z+3>>0]=a[w+3>>0]|0}c[x>>2]=vH(c[n>>2]|0,c[q>>2]|0,s)|0;wI(c[n>>2]|0,c[m>>2]|0,e[s>>1]|0,x);if(c[x>>2]|0)break}else if((c[j>>2]|0)<0?(e[(c[n>>2]|0)+18>>1]|0)>0:0){w=(c[u>>2]|0)+80+(a[(c[u>>2]|0)+68>>0]<<1)|0;z=(b[w>>1]|0)+1<<16>>16;b[w>>1]=z;c[m>>2]=z&65535}xI(c[n>>2]|0,c[m>>2]|0,c[r>>2]|0,c[k>>2]|0,0,0,x);b[(c[u>>2]|0)+16+18>>1]=0;if(a[(c[n>>2]|0)+1>>0]|0){z=(c[u>>2]|0)+64|0;a[z>>0]=d[z>>0]&-3;c[x>>2]=yI(c[u>>2]|0)|0;a[(c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+66>>0]=0}}while(0);c[t>>2]=c[x>>2];z=c[t>>2]|0;l=y;return z|0} +function V$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+b|0;d=c[a+4>>2]|0;a:do if(!(d&1)){g=c[a>>2]|0;if(!(d&3))return;l=a+(0-g)|0;k=g+b|0;i=c[13818]|0;if(l>>>0>>0)qb();if((l|0)==(c[13819]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;f=k;break}c[13816]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=g>>>3;if(g>>>0<256){d=c[l+8>>2]|0;b=c[l+12>>2]|0;a=55296+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0>>0)qb();if((c[d+12>>2]|0)!=(l|0))qb()}if((b|0)==(d|0)){c[13814]=c[13814]&~(1<>>0>>0)qb();a=b+8|0;if((c[a>>2]|0)==(l|0))h=a;else qb()}else h=b+8|0;c[d+12>>2]=b;c[h>>2]=d;r=l;f=k;break}g=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){b=l+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){j=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0>>0)qb();else{c[d>>2]=0;j=a;break}}else{e=c[l+8>>2]|0;if(e>>>0>>0)qb();a=e+12|0;if((c[a>>2]|0)!=(l|0))qb();d=b+8|0;if((c[d>>2]|0)==(l|0)){c[a>>2]=b;c[d>>2]=e;j=b;break}else qb()}while(0);if(g){a=c[l+28>>2]|0;d=55560+(a<<2)|0;do if((l|0)==(c[d>>2]|0)){c[d>>2]=j;if(!j){c[13815]=c[13815]&~(1<>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(l|0)&1)<<2)>>2]=j;if(!j){r=l;f=k;break a}else break}else qb();while(0);b=c[13818]|0;if(j>>>0>>0)qb();c[j+24>>2]=g;a=l+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0>>0)qb();else{c[j+16>>2]=d;c[d+24>>2]=j;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[13818]|0)>>>0)qb();else{c[j+20>>2]=a;c[a+24>>2]=j;r=l;f=k;break}else{r=l;f=k}}else{r=l;f=k}}else{r=a;f=b}while(0);h=c[13818]|0;if(o>>>0>>0)qb();a=o+4|0;d=c[a>>2]|0;if(!(d&2)){a=c[13819]|0;if((o|0)==(c[13820]|0)){q=(c[13817]|0)+f|0;c[13817]=q;c[13820]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[13819]=0;c[13816]=0;return}if((o|0)==(a|0)){q=(c[13816]|0)+f|0;c[13816]=q;c[13819]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}f=(d&-8)+f|0;e=d>>>3;b:do if(d>>>0>=256){g=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){b=o+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0>>0)qb();else{c[d>>2]=0;n=a;break}}else{e=c[o+8>>2]|0;if(e>>>0>>0)qb();a=e+12|0;if((c[a>>2]|0)!=(o|0))qb();d=b+8|0;if((c[d>>2]|0)==(o|0)){c[a>>2]=b;c[d>>2]=e;n=b;break}else qb()}while(0);if(g|0){a=c[o+28>>2]|0;d=55560+(a<<2)|0;do if((o|0)==(c[d>>2]|0)){c[d>>2]=n;if(!n){c[13815]=c[13815]&~(1<>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else qb();while(0);b=c[13818]|0;if(n>>>0>>0)qb();c[n+24>>2]=g;a=o+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0>>0)qb();else{c[n+16>>2]=d;c[d+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[13818]|0)>>>0)qb();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{d=c[o+8>>2]|0;b=c[o+12>>2]|0;a=55296+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0>>0)qb();if((c[d+12>>2]|0)!=(o|0))qb()}if((b|0)==(d|0)){c[13814]=c[13814]&~(1<>>0>>0)qb();a=b+8|0;if((c[a>>2]|0)==(o|0))m=a;else qb()}else m=b+8|0;c[d+12>>2]=b;c[m>>2]=d}while(0);c[r+4>>2]=f|1;c[r+f>>2]=f;if((r|0)==(c[13819]|0)){c[13816]=f;return}}else{c[a>>2]=d&-2;c[r+4>>2]=f|1;c[r+f>>2]=f}a=f>>>3;if(f>>>0<256){b=55296+(a<<1<<2)|0;d=c[13814]|0;a=1<>2]|0;if(d>>>0<(c[13818]|0)>>>0)qb();else{p=d;q=a}}else{c[13814]=d|a;p=b;q=b+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=b;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;a=14-(o|p|a)+(q<>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=55560+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;d=c[13815]|0;b=1<>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}d=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=121;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){a=118;break}else{d=d<<1;e=a}}if((a|0)==118){if(b>>>0<(c[13818]|0)>>>0)qb();c[b>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((a|0)==121){a=e+8|0;d=c[a>>2]|0;q=c[13818]|0;if(!(d>>>0>=q>>>0&e>>>0>=q>>>0))qb();c[d+12>>2]=r;c[a>>2]=r;c[r+8>>2]=d;c[r+12>>2]=e;c[r+24>>2]=0;return}}function W$(a,b){a=a|0;b=b|0;if(a>>>0<9){b=Q$(b)|0;return b|0}else{b=X$(a,b)|0;return b|0}return 0}function X$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(s_()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=Q$(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(d&a+-1){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;V$(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;h=b+g|0;c[a>>2]=g|d&1|2;c[h+4>>2]=i|3;g=h+i+4|0;c[g>>2]=c[g>>2]|1;V$(h,i)}i=b+8|0;return i|0}function Y$(){}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function $$(a){a=a|0;return 0}function a0(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function b0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(V(i|0)|0)-(V(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h|0){i=(V(h|0)|0)+33-(V(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=a0(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((a0(i|0)|0)>>>0);return (D=o,p)|0}g=(V(i|0)|0)-(V(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=_$(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Z$(k|0,d|0,e|0,n|0)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Z$(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function c0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+16|0;i=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Z$(h^a|0,g^b|0,h|0,g|0)|0;b=D;b0(a,b,Z$(k^d|0,j^e|0,k|0,j|0)|0,D,i)|0;e=Z$(c[i>>2]^h|0,c[i+4>>2]^g|0,h|0,g|0)|0;d=D;l=f;return (D=d,e)|0}function d0(a){a=a|0;return 0}function e0(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function f0(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function g0(a){a=a|0;return 0}function h0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return ab(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function i0(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){_()|0;Sa(12);return -1}c[i>>2]=a;if((a|0)>(Z()|0)?(Y()|0)==0:0){Sa(12);c[i>>2]=b;return -1}return b|0}function j0(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else h0(b,c,d)|0;return b|0}function l0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;b0(a,b,d,e,f)|0;l=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function m0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Z$(j^a|0,i^b|0,j|0,i|0)|0;g=D;a=f^j;b=e^i;return Z$((b0(h,g,Z$(f^c|0,e^d|0,f|0,e|0)|0,D,0)|0)^a|0,D^b|0,a|0,b|0)|0}function o0(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return b0(a,b,c,d,0)|0}function q0(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=S(e,f)|0;d=a>>>16;a=(c>>>16)+(S(e,d)|0)|0;e=b>>>16;b=S(e,f)|0;return (D=(a>>>16)+(S(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=q0(e,f)|0;a=D;return (D=(S(b,f)|0)+(S(d,e)|0)+a|a&0,c|0|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&255](b|0,c|0,d|0)|0}function t0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(0,a|0,b|0,c|0)|0}function u0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(1,a|0,b|0,c|0)|0}function v0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(2,a|0,b|0,c|0)|0}function w0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(3,a|0,b|0,c|0)|0}function x0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(4,a|0,b|0,c|0)|0}function y0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(5,a|0,b|0,c|0)|0}function z0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(6,a|0,b|0,c|0)|0}function A0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(7,a|0,b|0,c|0)|0}function B0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(8,a|0,b|0,c|0)|0}function C0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(9,a|0,b|0,c|0)|0}function D0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(10,a|0,b|0,c|0)|0}function E0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(11,a|0,b|0,c|0)|0}function F0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(12,a|0,b|0,c|0)|0}function G0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(13,a|0,b|0,c|0)|0}function H0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(14,a|0,b|0,c|0)|0}function I0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(15,a|0,b|0,c|0)|0}function J0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(16,a|0,b|0,c|0)|0}function K0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(17,a|0,b|0,c|0)|0}function L0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(18,a|0,b|0,c|0)|0}function M0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(19,a|0,b|0,c|0)|0}function N0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(20,a|0,b|0,c|0)|0}function O0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(21,a|0,b|0,c|0)|0}function P0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(22,a|0,b|0,c|0)|0}function Q0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(23,a|0,b|0,c|0)|0}function R0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(24,a|0,b|0,c|0)|0}function S0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(25,a|0,b|0,c|0)|0}function T0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(26,a|0,b|0,c|0)|0}function U0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(27,a|0,b|0,c|0)|0}function V0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(28,a|0,b|0,c|0)|0}function W0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(29,a|0,b|0,c|0)|0}function X0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(30,a|0,b|0,c|0)|0}function Y0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(31,a|0,b|0,c|0)|0}function Z0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(32,a|0,b|0,c|0)|0}function _0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(33,a|0,b|0,c|0)|0}function $0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(34,a|0,b|0,c|0)|0}function a1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(35,a|0,b|0,c|0)|0}function b1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(36,a|0,b|0,c|0)|0}function c1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(37,a|0,b|0,c|0)|0}function d1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(38,a|0,b|0,c|0)|0}function e1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(39,a|0,b|0,c|0)|0}function f1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(40,a|0,b|0,c|0)|0}function g1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(41,a|0,b|0,c|0)|0}function h1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(42,a|0,b|0,c|0)|0}function i1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(43,a|0,b|0,c|0)|0}function j1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(44,a|0,b|0,c|0)|0}function k1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(45,a|0,b|0,c|0)|0}function l1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(46,a|0,b|0,c|0)|0}function m1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(47,a|0,b|0,c|0)|0}function n1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(48,a|0,b|0,c|0)|0}function o1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(49,a|0,b|0,c|0)|0}function p1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(50,a|0,b|0,c|0)|0}function q1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(51,a|0,b|0,c|0)|0}function r1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(52,a|0,b|0,c|0)|0}function s1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(53,a|0,b|0,c|0)|0}function t1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(54,a|0,b|0,c|0)|0}function u1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(55,a|0,b|0,c|0)|0}function v1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(56,a|0,b|0,c|0)|0}function w1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(57,a|0,b|0,c|0)|0}function x1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(58,a|0,b|0,c|0)|0}function y1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(59,a|0,b|0,c|0)|0}function z1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(60,a|0,b|0,c|0)|0}function A1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(61,a|0,b|0,c|0)|0}function B1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(62,a|0,b|0,c|0)|0}function C1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(63,a|0,b|0,c|0)|0}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&255](b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(0,a|0,b|0,c|0,d|0,e|0)}function F1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1,a|0,b|0,c|0,d|0,e|0)}function G1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(2,a|0,b|0,c|0,d|0,e|0)}function H1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(3,a|0,b|0,c|0,d|0,e|0)}function I1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(4,a|0,b|0,c|0,d|0,e|0)}function J1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(5,a|0,b|0,c|0,d|0,e|0)}function K1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(6,a|0,b|0,c|0,d|0,e|0)}function L1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(7,a|0,b|0,c|0,d|0,e|0)}function M1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(8,a|0,b|0,c|0,d|0,e|0)}function N1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(9,a|0,b|0,c|0,d|0,e|0)}function O1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(10,a|0,b|0,c|0,d|0,e|0)}function P1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(11,a|0,b|0,c|0,d|0,e|0)}function Q1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(12,a|0,b|0,c|0,d|0,e|0)}function R1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(13,a|0,b|0,c|0,d|0,e|0)}function S1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(14,a|0,b|0,c|0,d|0,e|0)}function T1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(15,a|0,b|0,c|0,d|0,e|0)}function U1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(16,a|0,b|0,c|0,d|0,e|0)}function V1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(17,a|0,b|0,c|0,d|0,e|0)}function W1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(18,a|0,b|0,c|0,d|0,e|0)}function X1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(19,a|0,b|0,c|0,d|0,e|0)}function Y1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(20,a|0,b|0,c|0,d|0,e|0)}function Z1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(21,a|0,b|0,c|0,d|0,e|0)}function _1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(22,a|0,b|0,c|0,d|0,e|0)}function $1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(23,a|0,b|0,c|0,d|0,e|0)}function a2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(24,a|0,b|0,c|0,d|0,e|0)}function b2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(25,a|0,b|0,c|0,d|0,e|0)}function c2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(26,a|0,b|0,c|0,d|0,e|0)}function d2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(27,a|0,b|0,c|0,d|0,e|0)}function e2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(28,a|0,b|0,c|0,d|0,e|0)}function f2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(29,a|0,b|0,c|0,d|0,e|0)}function g2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(30,a|0,b|0,c|0,d|0,e|0)}function h2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(31,a|0,b|0,c|0,d|0,e|0)}function i2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(32,a|0,b|0,c|0,d|0,e|0)}function j2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(33,a|0,b|0,c|0,d|0,e|0)}function k2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(34,a|0,b|0,c|0,d|0,e|0)}function l2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(35,a|0,b|0,c|0,d|0,e|0)}function m2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(36,a|0,b|0,c|0,d|0,e|0)}function n2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(37,a|0,b|0,c|0,d|0,e|0)}function o2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(38,a|0,b|0,c|0,d|0,e|0)}function p2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(39,a|0,b|0,c|0,d|0,e|0)}function q2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(40,a|0,b|0,c|0,d|0,e|0)}function r2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(41,a|0,b|0,c|0,d|0,e|0)}function s2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(42,a|0,b|0,c|0,d|0,e|0)}function t2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(43,a|0,b|0,c|0,d|0,e|0)}function u2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(44,a|0,b|0,c|0,d|0,e|0)}function v2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(45,a|0,b|0,c|0,d|0,e|0)}function w2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(46,a|0,b|0,c|0,d|0,e|0)}function x2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(47,a|0,b|0,c|0,d|0,e|0)}function y2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(48,a|0,b|0,c|0,d|0,e|0)}function z2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(49,a|0,b|0,c|0,d|0,e|0)}function A2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(50,a|0,b|0,c|0,d|0,e|0)}function B2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(51,a|0,b|0,c|0,d|0,e|0)}function C2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(52,a|0,b|0,c|0,d|0,e|0)}function D2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(53,a|0,b|0,c|0,d|0,e|0)}function E2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(54,a|0,b|0,c|0,d|0,e|0)}function F2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(55,a|0,b|0,c|0,d|0,e|0)}function G2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(56,a|0,b|0,c|0,d|0,e|0)}function H2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(57,a|0,b|0,c|0,d|0,e|0)}function I2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(58,a|0,b|0,c|0,d|0,e|0)}function J2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(59,a|0,b|0,c|0,d|0,e|0)}function K2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(60,a|0,b|0,c|0,d|0,e|0)}function L2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(61,a|0,b|0,c|0,d|0,e|0)}function M2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(62,a|0,b|0,c|0,d|0,e|0)}function N2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(63,a|0,b|0,c|0,d|0,e|0)}function O2(a){a=a|0;return Db[a&255]()|0}function P2(){return ea(0)|0}function Q2(){return ea(1)|0}function R2(){return ea(2)|0}function S2(){return ea(3)|0}function T2(){return ea(4)|0}function U2(){return ea(5)|0}function V2(){return ea(6)|0}function W2(){return ea(7)|0}function X2(){return ea(8)|0}function Y2(){return ea(9)|0}function Z2(){return ea(10)|0}function _2(){return ea(11)|0}function $2(){return ea(12)|0}function a3(){return ea(13)|0}function b3(){return ea(14)|0}function c3(){return ea(15)|0}function d3(){return ea(16)|0}function e3(){return ea(17)|0}function f3(){return ea(18)|0}function g3(){return ea(19)|0}function h3(){return ea(20)|0}function i3(){return ea(21)|0}function j3(){return ea(22)|0}function k3(){return ea(23)|0}function l3(){return ea(24)|0}function m3(){return ea(25)|0}function n3(){return ea(26)|0}function o3(){return ea(27)|0}function p3(){return ea(28)|0}function q3(){return ea(29)|0}function r3(){return ea(30)|0}function s3(){return ea(31)|0}function t3(){return ea(32)|0}function u3(){return ea(33)|0}function v3(){return ea(34)|0}function w3(){return ea(35)|0}function x3(){return ea(36)|0}function y3(){return ea(37)|0}function z3(){return ea(38)|0}function A3(){return ea(39)|0}function B3(){return ea(40)|0}function C3(){return ea(41)|0}function D3(){return ea(42)|0}function E3(){return ea(43)|0}function F3(){return ea(44)|0}function G3(){return ea(45)|0}function H3(){return ea(46)|0}function I3(){return ea(47)|0}function J3(){return ea(48)|0}function K3(){return ea(49)|0}function L3(){return ea(50)|0}function M3(){return ea(51)|0}function N3(){return ea(52)|0}function O3(){return ea(53)|0}function P3(){return ea(54)|0}function Q3(){return ea(55)|0}function R3(){return ea(56)|0}function S3(){return ea(57)|0}function T3(){return ea(58)|0}function U3(){return ea(59)|0}function V3(){return ea(60)|0}function W3(){return ea(61)|0}function X3(){return ea(62)|0}function Y3(){return ea(63)|0}function Z3(a,b){a=a|0;b=b|0;Eb[a&255](b|0)}function _3(a){a=a|0;ga(0,a|0)}function $3(a){a=a|0;ga(1,a|0)}function a4(a){a=a|0;ga(2,a|0)}function b4(a){a=a|0;ga(3,a|0)}function c4(a){a=a|0;ga(4,a|0)}function d4(a){a=a|0;ga(5,a|0)}function e4(a){a=a|0;ga(6,a|0)}function f4(a){a=a|0;ga(7,a|0)}function g4(a){a=a|0;ga(8,a|0)}function h4(a){a=a|0;ga(9,a|0)}function i4(a){a=a|0;ga(10,a|0)}function j4(a){a=a|0;ga(11,a|0)}function k4(a){a=a|0;ga(12,a|0)}function l4(a){a=a|0;ga(13,a|0)}function m4(a){a=a|0;ga(14,a|0)}function n4(a){a=a|0;ga(15,a|0)}function o4(a){a=a|0;ga(16,a|0)}function p4(a){a=a|0;ga(17,a|0)}function q4(a){a=a|0;ga(18,a|0)}function r4(a){a=a|0;ga(19,a|0)}function s4(a){a=a|0;ga(20,a|0)}function t4(a){a=a|0;ga(21,a|0)}function u4(a){a=a|0;ga(22,a|0)}function v4(a){a=a|0;ga(23,a|0)}function w4(a){a=a|0;ga(24,a|0)}function x4(a){a=a|0;ga(25,a|0)}function y4(a){a=a|0;ga(26,a|0)}function z4(a){a=a|0;ga(27,a|0)}function A4(a){a=a|0;ga(28,a|0)}function B4(a){a=a|0;ga(29,a|0)}function C4(a){a=a|0;ga(30,a|0)}function D4(a){a=a|0;ga(31,a|0)}function E4(a){a=a|0;ga(32,a|0)}function F4(a){a=a|0;ga(33,a|0)}function G4(a){a=a|0;ga(34,a|0)}function H4(a){a=a|0;ga(35,a|0)}function I4(a){a=a|0;ga(36,a|0)}function J4(a){a=a|0;ga(37,a|0)}function K4(a){a=a|0;ga(38,a|0)}function L4(a){a=a|0;ga(39,a|0)}function M4(a){a=a|0;ga(40,a|0)}function N4(a){a=a|0;ga(41,a|0)}function O4(a){a=a|0;ga(42,a|0)}function P4(a){a=a|0;ga(43,a|0)}function Q4(a){a=a|0;ga(44,a|0)}function R4(a){a=a|0;ga(45,a|0)}function S4(a){a=a|0;ga(46,a|0)}function T4(a){a=a|0;ga(47,a|0)}function U4(a){a=a|0;ga(48,a|0)}function V4(a){a=a|0;ga(49,a|0)}function W4(a){a=a|0;ga(50,a|0)}function X4(a){a=a|0;ga(51,a|0)}function Y4(a){a=a|0;ga(52,a|0)}function Z4(a){a=a|0;ga(53,a|0)}function _4(a){a=a|0;ga(54,a|0)}function $4(a){a=a|0;ga(55,a|0)}function a5(a){a=a|0;ga(56,a|0)}function b5(a){a=a|0;ga(57,a|0)}function c5(a){a=a|0;ga(58,a|0)}function d5(a){a=a|0;ga(59,a|0)}function e5(a){a=a|0;ga(60,a|0)}function f5(a){a=a|0;ga(61,a|0)}function g5(a){a=a|0;ga(62,a|0)}function h5(a){a=a|0;ga(63,a|0)}function i5(a,b,c){a=a|0;b=b|0;c=c|0;Fb[a&255](b|0,c|0)}function j5(a,b){a=a|0;b=b|0;ia(0,a|0,b|0)}function k5(a,b){a=a|0;b=b|0;ia(1,a|0,b|0)}function l5(a,b){a=a|0;b=b|0;ia(2,a|0,b|0)}function m5(a,b){a=a|0;b=b|0;ia(3,a|0,b|0)}function n5(a,b){a=a|0;b=b|0;ia(4,a|0,b|0)}function o5(a,b){a=a|0;b=b|0;ia(5,a|0,b|0)}function p5(a,b){a=a|0;b=b|0;ia(6,a|0,b|0)}function q5(a,b){a=a|0;b=b|0;ia(7,a|0,b|0)}function r5(a,b){a=a|0;b=b|0;ia(8,a|0,b|0)}function s5(a,b){a=a|0;b=b|0;ia(9,a|0,b|0)}function t5(a,b){a=a|0;b=b|0;ia(10,a|0,b|0)}function u5(a,b){a=a|0;b=b|0;ia(11,a|0,b|0)}function v5(a,b){a=a|0;b=b|0;ia(12,a|0,b|0)}function w5(a,b){a=a|0;b=b|0;ia(13,a|0,b|0)}function x5(a,b){a=a|0;b=b|0;ia(14,a|0,b|0)}function y5(a,b){a=a|0;b=b|0;ia(15,a|0,b|0)}function z5(a,b){a=a|0;b=b|0;ia(16,a|0,b|0)}function A5(a,b){a=a|0;b=b|0;ia(17,a|0,b|0)}function B5(a,b){a=a|0;b=b|0;ia(18,a|0,b|0)}function C5(a,b){a=a|0;b=b|0;ia(19,a|0,b|0)}function D5(a,b){a=a|0;b=b|0;ia(20,a|0,b|0)}function E5(a,b){a=a|0;b=b|0;ia(21,a|0,b|0)}function F5(a,b){a=a|0;b=b|0;ia(22,a|0,b|0)}function G5(a,b){a=a|0;b=b|0;ia(23,a|0,b|0)}function H5(a,b){a=a|0;b=b|0;ia(24,a|0,b|0)}function I5(a,b){a=a|0;b=b|0;ia(25,a|0,b|0)}function J5(a,b){a=a|0;b=b|0;ia(26,a|0,b|0)}function K5(a,b){a=a|0;b=b|0;ia(27,a|0,b|0)}function L5(a,b){a=a|0;b=b|0;ia(28,a|0,b|0)}function M5(a,b){a=a|0;b=b|0;ia(29,a|0,b|0)}function N5(a,b){a=a|0;b=b|0;ia(30,a|0,b|0)}function O5(a,b){a=a|0;b=b|0;ia(31,a|0,b|0)}function P5(a,b){a=a|0;b=b|0;ia(32,a|0,b|0)}function Q5(a,b){a=a|0;b=b|0;ia(33,a|0,b|0)}function R5(a,b){a=a|0;b=b|0;ia(34,a|0,b|0)}function S5(a,b){a=a|0;b=b|0;ia(35,a|0,b|0)}function T5(a,b){a=a|0;b=b|0;ia(36,a|0,b|0)}function U5(a,b){a=a|0;b=b|0;ia(37,a|0,b|0)}function V5(a,b){a=a|0;b=b|0;ia(38,a|0,b|0)}function W5(a,b){a=a|0;b=b|0;ia(39,a|0,b|0)}function X5(a,b){a=a|0;b=b|0;ia(40,a|0,b|0)}function Y5(a,b){a=a|0;b=b|0;ia(41,a|0,b|0)}function Z5(a,b){a=a|0;b=b|0;ia(42,a|0,b|0)}function _5(a,b){a=a|0;b=b|0;ia(43,a|0,b|0)}function $5(a,b){a=a|0;b=b|0;ia(44,a|0,b|0)}function a6(a,b){a=a|0;b=b|0;ia(45,a|0,b|0)}function b6(a,b){a=a|0;b=b|0;ia(46,a|0,b|0)}function c6(a,b){a=a|0;b=b|0;ia(47,a|0,b|0)}function d6(a,b){a=a|0;b=b|0;ia(48,a|0,b|0)}function e6(a,b){a=a|0;b=b|0;ia(49,a|0,b|0)}function f6(a,b){a=a|0;b=b|0;ia(50,a|0,b|0)}function g6(a,b){a=a|0;b=b|0;ia(51,a|0,b|0)}function h6(a,b){a=a|0;b=b|0;ia(52,a|0,b|0)}function i6(a,b){a=a|0;b=b|0;ia(53,a|0,b|0)}function j6(a,b){a=a|0;b=b|0;ia(54,a|0,b|0)}function k6(a,b){a=a|0;b=b|0;ia(55,a|0,b|0)}function l6(a,b){a=a|0;b=b|0;ia(56,a|0,b|0)}function m6(a,b){a=a|0;b=b|0;ia(57,a|0,b|0)}function n6(a,b){a=a|0;b=b|0;ia(58,a|0,b|0)}function o6(a,b){a=a|0;b=b|0;ia(59,a|0,b|0)}function p6(a,b){a=a|0;b=b|0;ia(60,a|0,b|0)}function q6(a,b){a=a|0;b=b|0;ia(61,a|0,b|0)}function r6(a,b){a=a|0;b=b|0;ia(62,a|0,b|0)}function s6(a,b){a=a|0;b=b|0;ia(63,a|0,b|0)}function t6(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Gb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function u6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function v6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function w6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function x6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function y6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function z6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function A6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function B6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function C6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function D6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function E6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function F6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function G6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function H6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function I6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function J6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function K6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function L6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function M6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function N6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function O6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function P6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Q6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function R6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function S6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function T6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function U6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function V6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function W6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function X6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Y6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Z6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function a7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function b7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function c7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function d7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function e7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function f7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function g7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function h7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function i7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function j7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function k7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function l7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function m7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function n7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function o7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function p7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function q7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function r7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function s7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function t7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function u7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function v7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function w7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function x7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function y7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function z7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function A7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function B7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function C7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function D7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function E7(a,b){a=a|0;b=b|0;return Hb[a&255](b|0)|0}function F7(a){a=a|0;return ma(0,a|0)|0}function G7(a){a=a|0;return ma(1,a|0)|0}function H7(a){a=a|0;return ma(2,a|0)|0}function I7(a){a=a|0;return ma(3,a|0)|0}function J7(a){a=a|0;return ma(4,a|0)|0}function K7(a){a=a|0;return ma(5,a|0)|0}function L7(a){a=a|0;return ma(6,a|0)|0}function M7(a){a=a|0;return ma(7,a|0)|0}function N7(a){a=a|0;return ma(8,a|0)|0}function O7(a){a=a|0;return ma(9,a|0)|0}function P7(a){a=a|0;return ma(10,a|0)|0}function Q7(a){a=a|0;return ma(11,a|0)|0}function R7(a){a=a|0;return ma(12,a|0)|0}function S7(a){a=a|0;return ma(13,a|0)|0}function T7(a){a=a|0;return ma(14,a|0)|0}function U7(a){a=a|0;return ma(15,a|0)|0}function V7(a){a=a|0;return ma(16,a|0)|0}function W7(a){a=a|0;return ma(17,a|0)|0}function X7(a){a=a|0;return ma(18,a|0)|0}function Y7(a){a=a|0;return ma(19,a|0)|0}function Z7(a){a=a|0;return ma(20,a|0)|0}function _7(a){a=a|0;return ma(21,a|0)|0}function $7(a){a=a|0;return ma(22,a|0)|0}function a8(a){a=a|0;return ma(23,a|0)|0}function b8(a){a=a|0;return ma(24,a|0)|0}function c8(a){a=a|0;return ma(25,a|0)|0}function d8(a){a=a|0;return ma(26,a|0)|0}function e8(a){a=a|0;return ma(27,a|0)|0}function f8(a){a=a|0;return ma(28,a|0)|0}function g8(a){a=a|0;return ma(29,a|0)|0}function h8(a){a=a|0;return ma(30,a|0)|0}function i8(a){a=a|0;return ma(31,a|0)|0}function j8(a){a=a|0;return ma(32,a|0)|0}function k8(a){a=a|0;return ma(33,a|0)|0}function l8(a){a=a|0;return ma(34,a|0)|0}function m8(a){a=a|0;return ma(35,a|0)|0}function n8(a){a=a|0;return ma(36,a|0)|0}function o8(a){a=a|0;return ma(37,a|0)|0}function p8(a){a=a|0;return ma(38,a|0)|0}function q8(a){a=a|0;return ma(39,a|0)|0}function r8(a){a=a|0;return ma(40,a|0)|0}function s8(a){a=a|0;return ma(41,a|0)|0}function t8(a){a=a|0;return ma(42,a|0)|0}function u8(a){a=a|0;return ma(43,a|0)|0}function v8(a){a=a|0;return ma(44,a|0)|0}function w8(a){a=a|0;return ma(45,a|0)|0}function x8(a){a=a|0;return ma(46,a|0)|0}function y8(a){a=a|0;return ma(47,a|0)|0}function z8(a){a=a|0;return ma(48,a|0)|0}function A8(a){a=a|0;return ma(49,a|0)|0}function B8(a){a=a|0;return ma(50,a|0)|0}function C8(a){a=a|0;return ma(51,a|0)|0}function D8(a){a=a|0;return ma(52,a|0)|0}function E8(a){a=a|0;return ma(53,a|0)|0}function F8(a){a=a|0;return ma(54,a|0)|0}function G8(a){a=a|0;return ma(55,a|0)|0}function H8(a){a=a|0;return ma(56,a|0)|0}function I8(a){a=a|0;return ma(57,a|0)|0}function J8(a){a=a|0;return ma(58,a|0)|0}function K8(a){a=a|0;return ma(59,a|0)|0}function L8(a){a=a|0;return ma(60,a|0)|0}function M8(a){a=a|0;return ma(61,a|0)|0}function N8(a){a=a|0;return ma(62,a|0)|0}function O8(a){a=a|0;return ma(63,a|0)|0}function P8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ib[a&255](b|0,c|0,d|0)}function Q8(a,b,c){a=a|0;b=b|0;c=c|0;oa(0,a|0,b|0,c|0)}function R8(a,b,c){a=a|0;b=b|0;c=c|0;oa(1,a|0,b|0,c|0)}function S8(a,b,c){a=a|0;b=b|0;c=c|0;oa(2,a|0,b|0,c|0)}function T8(a,b,c){a=a|0;b=b|0;c=c|0;oa(3,a|0,b|0,c|0)}function U8(a,b,c){a=a|0;b=b|0;c=c|0;oa(4,a|0,b|0,c|0)}function V8(a,b,c){a=a|0;b=b|0;c=c|0;oa(5,a|0,b|0,c|0)}function W8(a,b,c){a=a|0;b=b|0;c=c|0;oa(6,a|0,b|0,c|0)}function X8(a,b,c){a=a|0;b=b|0;c=c|0;oa(7,a|0,b|0,c|0)}function Y8(a,b,c){a=a|0;b=b|0;c=c|0;oa(8,a|0,b|0,c|0)}function Z8(a,b,c){a=a|0;b=b|0;c=c|0;oa(9,a|0,b|0,c|0)}function _8(a,b,c){a=a|0;b=b|0;c=c|0;oa(10,a|0,b|0,c|0)}function $8(a,b,c){a=a|0;b=b|0;c=c|0;oa(11,a|0,b|0,c|0)}function a9(a,b,c){a=a|0;b=b|0;c=c|0;oa(12,a|0,b|0,c|0)}function b9(a,b,c){a=a|0;b=b|0;c=c|0;oa(13,a|0,b|0,c|0)}function c9(a,b,c){a=a|0;b=b|0;c=c|0;oa(14,a|0,b|0,c|0)}function d9(a,b,c){a=a|0;b=b|0;c=c|0;oa(15,a|0,b|0,c|0)}function e9(a,b,c){a=a|0;b=b|0;c=c|0;oa(16,a|0,b|0,c|0)}function f9(a,b,c){a=a|0;b=b|0;c=c|0;oa(17,a|0,b|0,c|0)}function g9(a,b,c){a=a|0;b=b|0;c=c|0;oa(18,a|0,b|0,c|0)}function h9(a,b,c){a=a|0;b=b|0;c=c|0;oa(19,a|0,b|0,c|0)}function i9(a,b,c){a=a|0;b=b|0;c=c|0;oa(20,a|0,b|0,c|0)}function j9(a,b,c){a=a|0;b=b|0;c=c|0;oa(21,a|0,b|0,c|0)}function k9(a,b,c){a=a|0;b=b|0;c=c|0;oa(22,a|0,b|0,c|0)}function l9(a,b,c){a=a|0;b=b|0;c=c|0;oa(23,a|0,b|0,c|0)}function m9(a,b,c){a=a|0;b=b|0;c=c|0;oa(24,a|0,b|0,c|0)}function n9(a,b,c){a=a|0;b=b|0;c=c|0;oa(25,a|0,b|0,c|0)}function o9(a,b,c){a=a|0;b=b|0;c=c|0;oa(26,a|0,b|0,c|0)}function p9(a,b,c){a=a|0;b=b|0;c=c|0;oa(27,a|0,b|0,c|0)}function q9(a,b,c){a=a|0;b=b|0;c=c|0;oa(28,a|0,b|0,c|0)}function r9(a,b,c){a=a|0;b=b|0;c=c|0;oa(29,a|0,b|0,c|0)}function s9(a,b,c){a=a|0;b=b|0;c=c|0;oa(30,a|0,b|0,c|0)}function t9(a,b,c){a=a|0;b=b|0;c=c|0;oa(31,a|0,b|0,c|0)}function u9(a,b,c){a=a|0;b=b|0;c=c|0;oa(32,a|0,b|0,c|0)}function v9(a,b,c){a=a|0;b=b|0;c=c|0;oa(33,a|0,b|0,c|0)}function w9(a,b,c){a=a|0;b=b|0;c=c|0;oa(34,a|0,b|0,c|0)}function x9(a,b,c){a=a|0;b=b|0;c=c|0;oa(35,a|0,b|0,c|0)}function y9(a,b,c){a=a|0;b=b|0;c=c|0;oa(36,a|0,b|0,c|0)}function z9(a,b,c){a=a|0;b=b|0;c=c|0;oa(37,a|0,b|0,c|0)}function A9(a,b,c){a=a|0;b=b|0;c=c|0;oa(38,a|0,b|0,c|0)}function B9(a,b,c){a=a|0;b=b|0;c=c|0;oa(39,a|0,b|0,c|0)}function C9(a,b,c){a=a|0;b=b|0;c=c|0;oa(40,a|0,b|0,c|0)}function D9(a,b,c){a=a|0;b=b|0;c=c|0;oa(41,a|0,b|0,c|0)}function E9(a,b,c){a=a|0;b=b|0;c=c|0;oa(42,a|0,b|0,c|0)}function F9(a,b,c){a=a|0;b=b|0;c=c|0;oa(43,a|0,b|0,c|0)}function G9(a,b,c){a=a|0;b=b|0;c=c|0;oa(44,a|0,b|0,c|0)}function H9(a,b,c){a=a|0;b=b|0;c=c|0;oa(45,a|0,b|0,c|0)}function I9(a,b,c){a=a|0;b=b|0;c=c|0;oa(46,a|0,b|0,c|0)}function J9(a,b,c){a=a|0;b=b|0;c=c|0;oa(47,a|0,b|0,c|0)}function K9(a,b,c){a=a|0;b=b|0;c=c|0;oa(48,a|0,b|0,c|0)}function L9(a,b,c){a=a|0;b=b|0;c=c|0;oa(49,a|0,b|0,c|0)}function M9(a,b,c){a=a|0;b=b|0;c=c|0;oa(50,a|0,b|0,c|0)}function N9(a,b,c){a=a|0;b=b|0;c=c|0;oa(51,a|0,b|0,c|0)}function O9(a,b,c){a=a|0;b=b|0;c=c|0;oa(52,a|0,b|0,c|0)}function P9(a,b,c){a=a|0;b=b|0;c=c|0;oa(53,a|0,b|0,c|0)}function Q9(a,b,c){a=a|0;b=b|0;c=c|0;oa(54,a|0,b|0,c|0)}function R9(a,b,c){a=a|0;b=b|0;c=c|0;oa(55,a|0,b|0,c|0)}function S9(a,b,c){a=a|0;b=b|0;c=c|0;oa(56,a|0,b|0,c|0)}function T9(a,b,c){a=a|0;b=b|0;c=c|0;oa(57,a|0,b|0,c|0)}function U9(a,b,c){a=a|0;b=b|0;c=c|0;oa(58,a|0,b|0,c|0)}function V9(a,b,c){a=a|0;b=b|0;c=c|0;oa(59,a|0,b|0,c|0)}function W9(a,b,c){a=a|0;b=b|0;c=c|0;oa(60,a|0,b|0,c|0)}function X9(a,b,c){a=a|0;b=b|0;c=c|0;oa(61,a|0,b|0,c|0)}function Y9(a,b,c){a=a|0;b=b|0;c=c|0;oa(62,a|0,b|0,c|0)}function Z9(a,b,c){a=a|0;b=b|0;c=c|0;oa(63,a|0,b|0,c|0)}function _9(a){a=a|0;Jb[a&255]()}function $9(){qa(0)}function aaa(){qa(1)}function baa(){qa(2)}function caa(){qa(3)}function daa(){qa(4)}function eaa(){qa(5)}function faa(){qa(6)}function gaa(){qa(7)}function haa(){qa(8)}function iaa(){qa(9)}function jaa(){qa(10)}function kaa(){qa(11)}function laa(){qa(12)}function maa(){qa(13)}function naa(){qa(14)}function oaa(){qa(15)}function paa(){qa(16)}function qaa(){qa(17)}function raa(){qa(18)}function saa(){qa(19)}function taa(){qa(20)}function uaa(){qa(21)}function vaa(){qa(22)}function waa(){qa(23)}function xaa(){qa(24)}function yaa(){qa(25)}function zaa(){qa(26)}function Aaa(){qa(27)}function Baa(){qa(28)}function Caa(){qa(29)}function Daa(){qa(30)}function Eaa(){qa(31)}function Faa(){qa(32)}function Gaa(){qa(33)}function Haa(){qa(34)}function Iaa(){qa(35)}function Jaa(){qa(36)}function Kaa(){qa(37)}function Laa(){qa(38)}function Maa(){qa(39)}function Naa(){qa(40)}function Oaa(){qa(41)}function Paa(){qa(42)}function Qaa(){qa(43)}function Raa(){qa(44)}function Saa(){qa(45)}function Taa(){qa(46)}function Uaa(){qa(47)}function Vaa(){qa(48)}function Waa(){qa(49)}function Xaa(){qa(50)}function Yaa(){qa(51)}function Zaa(){qa(52)}function _aa(){qa(53)}function $aa(){qa(54)}function aba(){qa(55)}function bba(){qa(56)}function cba(){qa(57)}function dba(){qa(58)}function eba(){qa(59)}function fba(){qa(60)}function gba(){qa(61)}function hba(){qa(62)}function iba(){qa(63)}function jba(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Kb[a&255](b|0,c|0,d|0,e|0)|0}function kba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(0,a|0,b|0,c|0,d|0)|0}function lba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(1,a|0,b|0,c|0,d|0)|0}function mba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(2,a|0,b|0,c|0,d|0)|0}function nba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(3,a|0,b|0,c|0,d|0)|0}function oba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(4,a|0,b|0,c|0,d|0)|0}function pba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(5,a|0,b|0,c|0,d|0)|0}function qba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(6,a|0,b|0,c|0,d|0)|0}function rba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(7,a|0,b|0,c|0,d|0)|0}function sba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(8,a|0,b|0,c|0,d|0)|0}function tba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(9,a|0,b|0,c|0,d|0)|0}function uba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(10,a|0,b|0,c|0,d|0)|0}function vba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(11,a|0,b|0,c|0,d|0)|0}function wba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(12,a|0,b|0,c|0,d|0)|0}function xba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(13,a|0,b|0,c|0,d|0)|0}function yba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(14,a|0,b|0,c|0,d|0)|0}function zba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(15,a|0,b|0,c|0,d|0)|0}function Aba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(16,a|0,b|0,c|0,d|0)|0}function Bba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(17,a|0,b|0,c|0,d|0)|0}function Cba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(18,a|0,b|0,c|0,d|0)|0}function Dba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(19,a|0,b|0,c|0,d|0)|0}function Eba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(20,a|0,b|0,c|0,d|0)|0}function Fba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(21,a|0,b|0,c|0,d|0)|0}function Gba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(22,a|0,b|0,c|0,d|0)|0}function Hba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(23,a|0,b|0,c|0,d|0)|0}function Iba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(24,a|0,b|0,c|0,d|0)|0}function Jba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(25,a|0,b|0,c|0,d|0)|0}function Kba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(26,a|0,b|0,c|0,d|0)|0}function Lba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(27,a|0,b|0,c|0,d|0)|0}function Mba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(28,a|0,b|0,c|0,d|0)|0}function Nba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(29,a|0,b|0,c|0,d|0)|0}function Oba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(30,a|0,b|0,c|0,d|0)|0}function Pba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(31,a|0,b|0,c|0,d|0)|0}function Qba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(32,a|0,b|0,c|0,d|0)|0}function Rba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(33,a|0,b|0,c|0,d|0)|0}function Sba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(34,a|0,b|0,c|0,d|0)|0}function Tba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(35,a|0,b|0,c|0,d|0)|0}function Uba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(36,a|0,b|0,c|0,d|0)|0}function Vba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(37,a|0,b|0,c|0,d|0)|0}function Wba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(38,a|0,b|0,c|0,d|0)|0}function Xba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(39,a|0,b|0,c|0,d|0)|0}function Yba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(40,a|0,b|0,c|0,d|0)|0}function Zba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(41,a|0,b|0,c|0,d|0)|0}function _ba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(42,a|0,b|0,c|0,d|0)|0}function $ba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(43,a|0,b|0,c|0,d|0)|0}function aca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(44,a|0,b|0,c|0,d|0)|0}function bca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(45,a|0,b|0,c|0,d|0)|0}function cca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(46,a|0,b|0,c|0,d|0)|0}function dca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(47,a|0,b|0,c|0,d|0)|0}function eca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(48,a|0,b|0,c|0,d|0)|0}function fca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(49,a|0,b|0,c|0,d|0)|0}function gca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(50,a|0,b|0,c|0,d|0)|0}function hca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(51,a|0,b|0,c|0,d|0)|0}function ica(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(52,a|0,b|0,c|0,d|0)|0}function jca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(53,a|0,b|0,c|0,d|0)|0}function kca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(54,a|0,b|0,c|0,d|0)|0}function lca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(55,a|0,b|0,c|0,d|0)|0}function mca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(56,a|0,b|0,c|0,d|0)|0}function nca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(57,a|0,b|0,c|0,d|0)|0}function oca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(58,a|0,b|0,c|0,d|0)|0}function pca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(59,a|0,b|0,c|0,d|0)|0}function qca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(60,a|0,b|0,c|0,d|0)|0}function rca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(61,a|0,b|0,c|0,d|0)|0}function sca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(62,a|0,b|0,c|0,d|0)|0}function tca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(63,a|0,b|0,c|0,d|0)|0}function uca(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Lb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function vca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(0,a|0,b|0,c|0,d|0,e|0,f|0)}function wca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(1,a|0,b|0,c|0,d|0,e|0,f|0)}function xca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(2,a|0,b|0,c|0,d|0,e|0,f|0)}function yca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(3,a|0,b|0,c|0,d|0,e|0,f|0)}function zca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(4,a|0,b|0,c|0,d|0,e|0,f|0)}function Aca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(5,a|0,b|0,c|0,d|0,e|0,f|0)}function Bca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(6,a|0,b|0,c|0,d|0,e|0,f|0)}function Cca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(7,a|0,b|0,c|0,d|0,e|0,f|0)}function Dca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(8,a|0,b|0,c|0,d|0,e|0,f|0)}function Eca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(9,a|0,b|0,c|0,d|0,e|0,f|0)}function Fca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(10,a|0,b|0,c|0,d|0,e|0,f|0)}function Gca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(11,a|0,b|0,c|0,d|0,e|0,f|0)}function Hca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(12,a|0,b|0,c|0,d|0,e|0,f|0)}function Ica(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(13,a|0,b|0,c|0,d|0,e|0,f|0)}function Jca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(14,a|0,b|0,c|0,d|0,e|0,f|0)}function Kca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(15,a|0,b|0,c|0,d|0,e|0,f|0)}function Lca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(16,a|0,b|0,c|0,d|0,e|0,f|0)}function Mca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(17,a|0,b|0,c|0,d|0,e|0,f|0)}function Nca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(18,a|0,b|0,c|0,d|0,e|0,f|0)}function Oca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(19,a|0,b|0,c|0,d|0,e|0,f|0)}function Pca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(20,a|0,b|0,c|0,d|0,e|0,f|0)}function Qca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(21,a|0,b|0,c|0,d|0,e|0,f|0)}function Rca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(22,a|0,b|0,c|0,d|0,e|0,f|0)}function Sca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(23,a|0,b|0,c|0,d|0,e|0,f|0)}function Tca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(24,a|0,b|0,c|0,d|0,e|0,f|0)}function Uca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(25,a|0,b|0,c|0,d|0,e|0,f|0)}function Vca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(26,a|0,b|0,c|0,d|0,e|0,f|0)}function Wca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(27,a|0,b|0,c|0,d|0,e|0,f|0)}function Xca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(28,a|0,b|0,c|0,d|0,e|0,f|0)}function Yca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(29,a|0,b|0,c|0,d|0,e|0,f|0)}function Zca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(30,a|0,b|0,c|0,d|0,e|0,f|0)}function _ca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(31,a|0,b|0,c|0,d|0,e|0,f|0)}function $ca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(32,a|0,b|0,c|0,d|0,e|0,f|0)}function ada(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(33,a|0,b|0,c|0,d|0,e|0,f|0)}function bda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(34,a|0,b|0,c|0,d|0,e|0,f|0)}function cda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(35,a|0,b|0,c|0,d|0,e|0,f|0)}function dda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(36,a|0,b|0,c|0,d|0,e|0,f|0)}function eda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(37,a|0,b|0,c|0,d|0,e|0,f|0)}function fda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(38,a|0,b|0,c|0,d|0,e|0,f|0)}function gda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(39,a|0,b|0,c|0,d|0,e|0,f|0)}function hda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(40,a|0,b|0,c|0,d|0,e|0,f|0)}function ida(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(41,a|0,b|0,c|0,d|0,e|0,f|0)}function jda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(42,a|0,b|0,c|0,d|0,e|0,f|0)}function kda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(43,a|0,b|0,c|0,d|0,e|0,f|0)}function lda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(44,a|0,b|0,c|0,d|0,e|0,f|0)}function mda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(45,a|0,b|0,c|0,d|0,e|0,f|0)}function nda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(46,a|0,b|0,c|0,d|0,e|0,f|0)}function oda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(47,a|0,b|0,c|0,d|0,e|0,f|0)}function pda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(48,a|0,b|0,c|0,d|0,e|0,f|0)}function qda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(49,a|0,b|0,c|0,d|0,e|0,f|0)}function rda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(50,a|0,b|0,c|0,d|0,e|0,f|0)}function sda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(51,a|0,b|0,c|0,d|0,e|0,f|0)}function tda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(52,a|0,b|0,c|0,d|0,e|0,f|0)}function uda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(53,a|0,b|0,c|0,d|0,e|0,f|0)}function vda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(54,a|0,b|0,c|0,d|0,e|0,f|0)}function wda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(55,a|0,b|0,c|0,d|0,e|0,f|0)}function xda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(56,a|0,b|0,c|0,d|0,e|0,f|0)}function yda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(57,a|0,b|0,c|0,d|0,e|0,f|0)}function zda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(58,a|0,b|0,c|0,d|0,e|0,f|0)}function Ada(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(59,a|0,b|0,c|0,d|0,e|0,f|0)}function Bda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(60,a|0,b|0,c|0,d|0,e|0,f|0)}function Cda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(61,a|0,b|0,c|0,d|0,e|0,f|0)}function Dda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(62,a|0,b|0,c|0,d|0,e|0,f|0)}function Eda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(63,a|0,b|0,c|0,d|0,e|0,f|0)}function Fda(a,b,c){a=a|0;b=b|0;c=c|0;return Mb[a&255](b|0,c|0)|0}function Gda(a,b){a=a|0;b=b|0;return wa(0,a|0,b|0)|0}function Hda(a,b){a=a|0;b=b|0;return wa(1,a|0,b|0)|0}function Ida(a,b){a=a|0;b=b|0;return wa(2,a|0,b|0)|0}function Jda(a,b){a=a|0;b=b|0;return wa(3,a|0,b|0)|0}function Kda(a,b){a=a|0;b=b|0;return wa(4,a|0,b|0)|0}function Lda(a,b){a=a|0;b=b|0;return wa(5,a|0,b|0)|0}function Mda(a,b){a=a|0;b=b|0;return wa(6,a|0,b|0)|0}function Nda(a,b){a=a|0;b=b|0;return wa(7,a|0,b|0)|0}function Oda(a,b){a=a|0;b=b|0;return wa(8,a|0,b|0)|0}function Pda(a,b){a=a|0;b=b|0;return wa(9,a|0,b|0)|0}function Qda(a,b){a=a|0;b=b|0;return wa(10,a|0,b|0)|0}function Rda(a,b){a=a|0;b=b|0;return wa(11,a|0,b|0)|0}function Sda(a,b){a=a|0;b=b|0;return wa(12,a|0,b|0)|0}function Tda(a,b){a=a|0;b=b|0;return wa(13,a|0,b|0)|0}function Uda(a,b){a=a|0;b=b|0;return wa(14,a|0,b|0)|0}function Vda(a,b){a=a|0;b=b|0;return wa(15,a|0,b|0)|0}function Wda(a,b){a=a|0;b=b|0;return wa(16,a|0,b|0)|0}function Xda(a,b){a=a|0;b=b|0;return wa(17,a|0,b|0)|0}function Yda(a,b){a=a|0;b=b|0;return wa(18,a|0,b|0)|0}function Zda(a,b){a=a|0;b=b|0;return wa(19,a|0,b|0)|0}function _da(a,b){a=a|0;b=b|0;return wa(20,a|0,b|0)|0}function $da(a,b){a=a|0;b=b|0;return wa(21,a|0,b|0)|0}function aea(a,b){a=a|0;b=b|0;return wa(22,a|0,b|0)|0}function bea(a,b){a=a|0;b=b|0;return wa(23,a|0,b|0)|0}function cea(a,b){a=a|0;b=b|0;return wa(24,a|0,b|0)|0}function dea(a,b){a=a|0;b=b|0;return wa(25,a|0,b|0)|0}function eea(a,b){a=a|0;b=b|0;return wa(26,a|0,b|0)|0}function fea(a,b){a=a|0;b=b|0;return wa(27,a|0,b|0)|0}function gea(a,b){a=a|0;b=b|0;return wa(28,a|0,b|0)|0}function hea(a,b){a=a|0;b=b|0;return wa(29,a|0,b|0)|0}function iea(a,b){a=a|0;b=b|0;return wa(30,a|0,b|0)|0}function jea(a,b){a=a|0;b=b|0;return wa(31,a|0,b|0)|0}function kea(a,b){a=a|0;b=b|0;return wa(32,a|0,b|0)|0}function lea(a,b){a=a|0;b=b|0;return wa(33,a|0,b|0)|0}function mea(a,b){a=a|0;b=b|0;return wa(34,a|0,b|0)|0}function nea(a,b){a=a|0;b=b|0;return wa(35,a|0,b|0)|0}function oea(a,b){a=a|0;b=b|0;return wa(36,a|0,b|0)|0}function pea(a,b){a=a|0;b=b|0;return wa(37,a|0,b|0)|0}function qea(a,b){a=a|0;b=b|0;return wa(38,a|0,b|0)|0}function rea(a,b){a=a|0;b=b|0;return wa(39,a|0,b|0)|0}function sea(a,b){a=a|0;b=b|0;return wa(40,a|0,b|0)|0}function tea(a,b){a=a|0;b=b|0;return wa(41,a|0,b|0)|0}function uea(a,b){a=a|0;b=b|0;return wa(42,a|0,b|0)|0}function vea(a,b){a=a|0;b=b|0;return wa(43,a|0,b|0)|0}function wea(a,b){a=a|0;b=b|0;return wa(44,a|0,b|0)|0}function xea(a,b){a=a|0;b=b|0;return wa(45,a|0,b|0)|0}function yea(a,b){a=a|0;b=b|0;return wa(46,a|0,b|0)|0}function zea(a,b){a=a|0;b=b|0;return wa(47,a|0,b|0)|0}function Aea(a,b){a=a|0;b=b|0;return wa(48,a|0,b|0)|0}function Bea(a,b){a=a|0;b=b|0;return wa(49,a|0,b|0)|0}function Cea(a,b){a=a|0;b=b|0;return wa(50,a|0,b|0)|0}function Dea(a,b){a=a|0;b=b|0;return wa(51,a|0,b|0)|0}function Eea(a,b){a=a|0;b=b|0;return wa(52,a|0,b|0)|0}function Fea(a,b){a=a|0;b=b|0;return wa(53,a|0,b|0)|0}function Gea(a,b){a=a|0;b=b|0;return wa(54,a|0,b|0)|0}function Hea(a,b){a=a|0;b=b|0;return wa(55,a|0,b|0)|0}function Iea(a,b){a=a|0;b=b|0;return wa(56,a|0,b|0)|0}function Jea(a,b){a=a|0;b=b|0;return wa(57,a|0,b|0)|0}function Kea(a,b){a=a|0;b=b|0;return wa(58,a|0,b|0)|0}function Lea(a,b){a=a|0;b=b|0;return wa(59,a|0,b|0)|0}function Mea(a,b){a=a|0;b=b|0;return wa(60,a|0,b|0)|0}function Nea(a,b){a=a|0;b=b|0;return wa(61,a|0,b|0)|0}function Oea(a,b){a=a|0;b=b|0;return wa(62,a|0,b|0)|0}function Pea(a,b){a=a|0;b=b|0;return wa(63,a|0,b|0)|0}function Qea(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Nb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function Rea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(0,a|0,b|0,c|0,d|0,e|0)|0}function Sea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(1,a|0,b|0,c|0,d|0,e|0)|0}function Tea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(2,a|0,b|0,c|0,d|0,e|0)|0}function Uea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(3,a|0,b|0,c|0,d|0,e|0)|0}function Vea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(4,a|0,b|0,c|0,d|0,e|0)|0}function Wea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(5,a|0,b|0,c|0,d|0,e|0)|0}function Xea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(6,a|0,b|0,c|0,d|0,e|0)|0}function Yea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(7,a|0,b|0,c|0,d|0,e|0)|0}function Zea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(8,a|0,b|0,c|0,d|0,e|0)|0}function _ea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(9,a|0,b|0,c|0,d|0,e|0)|0}function $ea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(10,a|0,b|0,c|0,d|0,e|0)|0}function afa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(11,a|0,b|0,c|0,d|0,e|0)|0}function bfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(12,a|0,b|0,c|0,d|0,e|0)|0}function cfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(13,a|0,b|0,c|0,d|0,e|0)|0}function dfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(14,a|0,b|0,c|0,d|0,e|0)|0}function efa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(15,a|0,b|0,c|0,d|0,e|0)|0}function ffa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(16,a|0,b|0,c|0,d|0,e|0)|0}function gfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(17,a|0,b|0,c|0,d|0,e|0)|0}function hfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(18,a|0,b|0,c|0,d|0,e|0)|0}function ifa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(19,a|0,b|0,c|0,d|0,e|0)|0}function jfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(20,a|0,b|0,c|0,d|0,e|0)|0}function kfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(21,a|0,b|0,c|0,d|0,e|0)|0}function lfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(22,a|0,b|0,c|0,d|0,e|0)|0}function mfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(23,a|0,b|0,c|0,d|0,e|0)|0}function nfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(24,a|0,b|0,c|0,d|0,e|0)|0}function ofa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(25,a|0,b|0,c|0,d|0,e|0)|0}function pfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(26,a|0,b|0,c|0,d|0,e|0)|0}function qfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(27,a|0,b|0,c|0,d|0,e|0)|0}function rfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(28,a|0,b|0,c|0,d|0,e|0)|0}function sfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(29,a|0,b|0,c|0,d|0,e|0)|0}function tfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(30,a|0,b|0,c|0,d|0,e|0)|0}function ufa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(31,a|0,b|0,c|0,d|0,e|0)|0}function vfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(32,a|0,b|0,c|0,d|0,e|0)|0}function wfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(33,a|0,b|0,c|0,d|0,e|0)|0}function xfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(34,a|0,b|0,c|0,d|0,e|0)|0}function yfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(35,a|0,b|0,c|0,d|0,e|0)|0}function zfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(36,a|0,b|0,c|0,d|0,e|0)|0}function Afa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(37,a|0,b|0,c|0,d|0,e|0)|0}function Bfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(38,a|0,b|0,c|0,d|0,e|0)|0}function Cfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(39,a|0,b|0,c|0,d|0,e|0)|0}function Dfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(40,a|0,b|0,c|0,d|0,e|0)|0}function Efa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(41,a|0,b|0,c|0,d|0,e|0)|0}function Ffa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(42,a|0,b|0,c|0,d|0,e|0)|0}function Gfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(43,a|0,b|0,c|0,d|0,e|0)|0}function Hfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(44,a|0,b|0,c|0,d|0,e|0)|0}function Ifa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(45,a|0,b|0,c|0,d|0,e|0)|0}function Jfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(46,a|0,b|0,c|0,d|0,e|0)|0}function Kfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(47,a|0,b|0,c|0,d|0,e|0)|0}function Lfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(48,a|0,b|0,c|0,d|0,e|0)|0}function Mfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(49,a|0,b|0,c|0,d|0,e|0)|0}function Nfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(50,a|0,b|0,c|0,d|0,e|0)|0}function Ofa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(51,a|0,b|0,c|0,d|0,e|0)|0}function Pfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(52,a|0,b|0,c|0,d|0,e|0)|0}function Qfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(53,a|0,b|0,c|0,d|0,e|0)|0}function Rfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(54,a|0,b|0,c|0,d|0,e|0)|0}function Sfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(55,a|0,b|0,c|0,d|0,e|0)|0}function Tfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(56,a|0,b|0,c|0,d|0,e|0)|0}function Ufa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(57,a|0,b|0,c|0,d|0,e|0)|0}function Vfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(58,a|0,b|0,c|0,d|0,e|0)|0}function Wfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(59,a|0,b|0,c|0,d|0,e|0)|0}function Xfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(60,a|0,b|0,c|0,d|0,e|0)|0}function Yfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(61,a|0,b|0,c|0,d|0,e|0)|0}function Zfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(62,a|0,b|0,c|0,d|0,e|0)|0}function _fa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(63,a|0,b|0,c|0,d|0,e|0)|0}function $fa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ob[a&255](b|0,c|0,d|0,e|0)}function aga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(0,a|0,b|0,c|0,d|0)}function bga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(1,a|0,b|0,c|0,d|0)}function cga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(2,a|0,b|0,c|0,d|0)}function dga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(3,a|0,b|0,c|0,d|0)}function ega(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(4,a|0,b|0,c|0,d|0)}function fga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(5,a|0,b|0,c|0,d|0)}function gga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(6,a|0,b|0,c|0,d|0)}function hga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(7,a|0,b|0,c|0,d|0)}function iga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(8,a|0,b|0,c|0,d|0)}function jga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(9,a|0,b|0,c|0,d|0)}function kga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(10,a|0,b|0,c|0,d|0)}function lga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(11,a|0,b|0,c|0,d|0)}function mga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(12,a|0,b|0,c|0,d|0)}function nga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(13,a|0,b|0,c|0,d|0)}function oga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(14,a|0,b|0,c|0,d|0)}function pga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(15,a|0,b|0,c|0,d|0)}function qga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(16,a|0,b|0,c|0,d|0)}function rga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(17,a|0,b|0,c|0,d|0)}function sga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(18,a|0,b|0,c|0,d|0)}function tga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(19,a|0,b|0,c|0,d|0)}function uga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(20,a|0,b|0,c|0,d|0)}function vga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(21,a|0,b|0,c|0,d|0)}function wga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(22,a|0,b|0,c|0,d|0)}function xga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(23,a|0,b|0,c|0,d|0)}function yga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(24,a|0,b|0,c|0,d|0)}function zga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(25,a|0,b|0,c|0,d|0)}function Aga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(26,a|0,b|0,c|0,d|0)}function Bga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(27,a|0,b|0,c|0,d|0)}function Cga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(28,a|0,b|0,c|0,d|0)}function Dga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(29,a|0,b|0,c|0,d|0)}function Ega(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(30,a|0,b|0,c|0,d|0)}function Fga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(31,a|0,b|0,c|0,d|0)}function Gga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(32,a|0,b|0,c|0,d|0)}function Hga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(33,a|0,b|0,c|0,d|0)}function Iga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(34,a|0,b|0,c|0,d|0)}function Jga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(35,a|0,b|0,c|0,d|0)}function Kga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(36,a|0,b|0,c|0,d|0)}function Lga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(37,a|0,b|0,c|0,d|0)}function Mga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(38,a|0,b|0,c|0,d|0)}function Nga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(39,a|0,b|0,c|0,d|0)}function Oga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(40,a|0,b|0,c|0,d|0)}function Pga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(41,a|0,b|0,c|0,d|0)}function Qga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(42,a|0,b|0,c|0,d|0)}function Rga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(43,a|0,b|0,c|0,d|0)}function Sga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(44,a|0,b|0,c|0,d|0)}function Tga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(45,a|0,b|0,c|0,d|0)}function Uga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(46,a|0,b|0,c|0,d|0)}function Vga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(47,a|0,b|0,c|0,d|0)}function Wga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(48,a|0,b|0,c|0,d|0)}function Xga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(49,a|0,b|0,c|0,d|0)}function Yga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(50,a|0,b|0,c|0,d|0)}function Zga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(51,a|0,b|0,c|0,d|0)}function _ga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(52,a|0,b|0,c|0,d|0)}function $ga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(53,a|0,b|0,c|0,d|0)}function aha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(54,a|0,b|0,c|0,d|0)}function bha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(55,a|0,b|0,c|0,d|0)}function cha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(56,a|0,b|0,c|0,d|0)}function dha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(57,a|0,b|0,c|0,d|0)}function eha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(58,a|0,b|0,c|0,d|0)}function fha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(59,a|0,b|0,c|0,d|0)}function gha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(60,a|0,b|0,c|0,d|0)}function hha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(61,a|0,b|0,c|0,d|0)}function iha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(62,a|0,b|0,c|0,d|0)}function jha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(63,a|0,b|0,c|0,d|0)}function kha(a,b,c){a=a|0;b=b|0;c=c|0;W(0);return 0}function lha(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(1)}function mha(){W(2);return 0}function nha(a){a=a|0;W(3)}function oha(a,b){a=a|0;b=b|0;W(4)}function pha(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(5);return 0}function qha(a){a=a|0;W(6);return 0}function rha(a,b,c){a=a|0;b=b|0;c=c|0;W(7)}function sha(){W(8)}function tha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(9);return 0}function uha(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(10)}function vha(a,b){a=a|0;b=b|0;W(11);return 0}function wha(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(12);return 0}function xha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(13)} +function RE(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;n=v+56|0;o=v+52|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+36|0;t=v+32|0;u=v+28|0;f=v+24|0;g=v+20|0;h=v+16|0;i=v+12|0;j=v+8|0;k=v+4|0;m=v;c[n>>2]=b;c[o>>2]=d;c[p>>2]=c[(c[n>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=0;a[c[o>>2]>>0]=1;c[q>>2]=0;c[t>>2]=c[(c[o>>2]|0)+40>>2];while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+44>>2]|0))break;c[g>>2]=0;c[i>>2]=c[(c[c[t>>2]>>2]|0)+20>>2];if(c[i>>2]|0){c[f>>2]=c[c[i>>2]>>2];c[h>>2]=My(c[n>>2]|0,c[f>>2]|0)|0;fz(c[n>>2]|0,c[i>>2]|0,c[h>>2]|0,0,1)|0}else{c[f>>2]=0;c[h>>2]=0}if((c[(c[t>>2]|0)+12>>2]|0)>=0){c[g>>2]=ky(c[p>>2]|0)|0;$E(c[n>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[g>>2]|0,1,c[h>>2]|0)}if((e[(c[(c[t>>2]|0)+4>>2]|0)+2>>1]|0)&32|0){c[j>>2]=0;c[m>>2]=0;c[k>>2]=c[(c[i>>2]|0)+4>>2];while(1){if(c[j>>2]|0)break;if((c[m>>2]|0)>=(c[f>>2]|0))break;c[j>>2]=rw(c[n>>2]|0,c[c[k>>2]>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+20}if(!(c[j>>2]|0))c[j>>2]=c[(c[c[n>>2]>>2]|0)+8>>2];if((c[r>>2]|0)==0?c[(c[o>>2]|0)+36>>2]|0:0){b=(c[n>>2]|0)+44|0;d=(c[b>>2]|0)+1|0;c[b>>2]=d;c[r>>2]=d}Uu(c[p>>2]|0,88,c[r>>2]|0,0,0,c[j>>2]|0,-4)|0}Uu(c[p>>2]|0,147,0,c[h>>2]|0,c[(c[t>>2]|0)+8>>2]|0,c[(c[t>>2]|0)+4>>2]|0,-5)|0;jy(c[p>>2]|0,c[f>>2]&255);$y(c[n>>2]|0,c[h>>2]|0,c[f>>2]|0);Py(c[n>>2]|0,c[h>>2]|0,c[f>>2]|0);if(c[g>>2]|0){oy(c[p>>2]|0,c[g>>2]|0);EA(c[n>>2]|0)}c[q>>2]=(c[q>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+16}if(c[r>>2]|0)c[s>>2]=ey(c[p>>2]|0,21,c[r>>2]|0)|0;EA(c[n>>2]|0);c[q>>2]=0;c[u>>2]=c[(c[o>>2]|0)+28>>2];while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+36>>2]|0))break;Wy(c[n>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[(c[u>>2]|0)+16>>2]|0);c[q>>2]=(c[q>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+24}a[c[o>>2]>>0]=0;EA(c[n>>2]|0);if(!(c[s>>2]|0)){l=v;return}ny(c[p>>2]|0,c[s>>2]|0);l=v;return}function SE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[j>>2]|0)+8>>2];c[f>>2]=0;c[g>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[h>>2]=c[(c[c[g>>2]>>2]|0)+20>>2];if(c[h>>2]|0)a=c[c[h>>2]>>2]|0;else a=0;Uu(c[e>>2]|0,149,c[(c[g>>2]|0)+8>>2]|0,a,0,c[(c[g>>2]|0)+4>>2]|0,-5)|0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+16}l=i;return}function TE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;n=m+12|0;i=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){l=m;return}Ru(c[f>>2]|0,79,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[i>>2]=c[c[h>>2]>>2];if(c[(c[i>>2]|0)+20>>2]|0?(c[c[(c[i>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=CE(c[d>>2]|0,c[(c[i>>2]|0)+20>>2]|0,0,0)|0;Uu(c[f>>2]|0,107,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}sl(c[d>>2]|0,35194,k);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}l=m;return}function UE(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+32>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+28>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){c[i>>2]=c[(c[(c[g>>2]|0)+28>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[i>>2]|0)+42>>0]|0)&16|0){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}if(c[(c[j>>2]|0)+4>>2]&16|0){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}else{c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}}c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function VE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;i=n+28|0;j=n+24|0;g=n+20|0;h=n+16|0;k=n+12|0;c[i>>2]=b;c[j>>2]=e;c[g>>2]=f;if((d[(c[i>>2]|0)+409>>0]|0|0)!=2){l=n;return}if(c[g>>2]|0)if(!((d[(c[j>>2]|0)+42>>0]|0)&32))b=1;else b=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else b=0;c[h>>2]=b&1;e=c[c[i>>2]>>2]|0;f=c[h>>2]|0?35153:55752;if(c[h>>2]|0)b=c[c[g>>2]>>2]|0;else b=55752;c[m>>2]=c[c[j>>2]>>2];c[m+4>>2]=f;c[m+8>>2]=b;c[k>>2]=Wj(e,35176,m)|0;Uu(c[(c[i>>2]|0)+8>>2]|0,162,c[(c[i>>2]|0)+420>>2]|0,0,0,c[k>>2]|0,-1)|0;l=n;return}function WE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[h>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[i>>2]=c[(c[h>>2]|0)+20>>2],c[i>>2]|0):0)?(c[c[i>>2]>>2]|0)==1:0)?(d[c[c[(c[i>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[j>>2]=c[(c[h>>2]|0)+8>>2];if(!(bh(c[j>>2]|0,21770)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[i>>2];break}if(!(bh(c[j>>2]|0,21774)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[i>>2]}}while(0);l=k;return c[g>>2]&255|0}function XE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+96|0;x=E+84|0;r=E+80|0;D=E+76|0;y=E+72|0;s=E+68|0;B=E+64|0;C=E+60|0;u=E+56|0;A=E+52|0;h=E+48|0;z=E+44|0;i=E+40|0;v=E+36|0;j=E+32|0;t=E+28|0;w=E+24|0;k=E+20|0;m=E+16|0;n=E+12|0;o=E+8|0;p=E+4|0;q=E;c[x>>2]=a;c[r>>2]=b;c[D>>2]=e;c[y>>2]=f;c[s>>2]=g;c[B>>2]=c[(c[x>>2]|0)+8>>2];c[C>>2]=c[(c[D>>2]|0)+24>>2];c[u>>2]=ky(c[B>>2]|0)|0;c[h>>2]=0;c[i>>2]=c[c[D>>2]>>2];c[v>>2]=d[c[s>>2]>>0];c[j>>2]=c[(c[s>>2]|0)+8>>2];if(c[(c[D>>2]|0)+16>>2]|0){Qu(c[B>>2]|0,14,c[(c[D>>2]|0)+12>>2]|0,c[(c[D>>2]|0)+16>>2]|0)|0;my(c[B>>2]|0,c[C>>2]|0)|0;oy(c[B>>2]|0,c[(c[D>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[D>>2]|0)+8>>2];if((c[v>>2]|0)==9|(c[v>>2]|0)==13|(c[v>>2]|0)==10){c[w>>2]=0;c[t>>2]=c[(c[s>>2]|0)+12>>2];c[n>>2]=c[y>>2]}else{c[w>>2]=Ov(c[x>>2]|0)|0;c[t>>2]=My(c[x>>2]|0,c[y>>2]|0)|0;c[n>>2]=c[y>>2]}c[k>>2]=(c[c[i>>2]>>2]|0)-(c[(c[D>>2]|0)+4>>2]|0);if((d[(c[D>>2]|0)+28>>0]|0)&1|0){g=(c[x>>2]|0)+44|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[q>>2]=f;f=(c[x>>2]|0)+40|0;g=c[f>>2]|0;c[f>>2]=g+1;c[m>>2]=g;if(c[(c[D>>2]|0)+16>>2]|0)c[h>>2]=Nu(c[B>>2]|0,20)|0;Ru(c[B>>2]|0,110,c[m>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1+(c[n>>2]|0)|0)|0;if(c[h>>2]|0)ny(c[B>>2]|0,c[h>>2]|0);c[A>>2]=1+(Qu(c[B>>2]|0,55,c[z>>2]|0,c[C>>2]|0)|0);_E(c[B>>2]|0,c[(c[r>>2]|0)+16>>2]|0,c[u>>2]|0);Ru(c[B>>2]|0,120,c[z>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;c[p>>2]=0}else{c[A>>2]=1+(Qu(c[B>>2]|0,56,c[z>>2]|0,c[C>>2]|0)|0);_E(c[B>>2]|0,c[(c[r>>2]|0)+16>>2]|0,c[u>>2]|0);c[m>>2]=c[z>>2];c[p>>2]=1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break;Ru(c[B>>2]|0,96,c[m>>2]|0,(c[k>>2]|0)+(c[p>>2]|0)+(c[o>>2]|0)|0,(c[t>>2]|0)+(c[o>>2]|0)|0)|0;c[o>>2]=(c[o>>2]|0)+1}a:do switch(c[v>>2]|0){case 12:{Qu(c[B>>2]|0,114,c[j>>2]|0,c[w>>2]|0)|0;Ru(c[B>>2]|0,115,c[j>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;jy(c[B>>2]|0,8);break}case 11:{Uu(c[B>>2]|0,99,c[t>>2]|0,c[y>>2]|0,c[w>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[y>>2]|0)|0;$y(c[x>>2]|0,c[t>>2]|0,c[y>>2]|0);Qu(c[B>>2]|0,126,c[j>>2]|0,c[w>>2]|0)|0;break}case 10:break;default:{a=c[B>>2]|0;b=c[s>>2]|0;if((c[v>>2]|0)==9){Qu(a,87,c[b+12>>2]|0,c[y>>2]|0)|0;$y(c[x>>2]|0,c[(c[s>>2]|0)+12>>2]|0,c[y>>2]|0);break a}else{ey(a,16,c[b+8>>2]|0)|0;break a}}}while(0);if(c[w>>2]|0){b=c[x>>2]|0;a=c[t>>2]|0;if((c[v>>2]|0)==11)Py(b,a,c[y>>2]|0);else Qv(b,a);Qv(c[x>>2]|0,c[w>>2]|0)}oy(c[B>>2]|0,c[u>>2]|0);h=c[B>>2]|0;b=c[z>>2]|0;a=c[A>>2]|0;if((d[(c[D>>2]|0)+28>>0]|0)&1|0)Qu(h,3,b,a)|0;else Qu(h,7,b,a)|0;if(!(c[(c[D>>2]|0)+12>>2]|0)){B=c[B>>2]|0;D=c[C>>2]|0;oy(B,D);l=E;return}ey(c[B>>2]|0,72,c[(c[D>>2]|0)+12>>2]|0)|0;B=c[B>>2]|0;D=c[C>>2]|0;oy(B,D);l=E;return}function YE(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+80|0;z=A+8|0;y=A;r=A+72|0;s=A+68|0;t=A+64|0;u=A+60|0;v=A+56|0;w=A+52|0;x=A+48|0;h=A+44|0;i=A+40|0;j=A+36|0;k=A+32|0;m=A+28|0;n=A+24|0;o=A+20|0;p=A+16|0;q=A+12|0;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=c[c[r>>2]>>2];if(a[(c[r>>2]|0)+409>>0]|0){l=A;return}if(d[(c[r>>2]|0)+16>>0]|0){l=A;return}if(d[(c[x>>2]|0)+69>>0]|0){l=A;return}a[(c[r>>2]|0)+16>>0]=1;c[h>>2]=(c[(c[x>>2]|0)+24>>2]&4|0)!=0&1;c[i>>2]=(c[(c[x>>2]|0)+24>>2]&64|0)!=0&1;Rs(c[u>>2]|0,c[c[t>>2]>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[t>>2]>>2]|0))break;c[j>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)>>2];do if(c[j>>2]|0){if(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2]|0){c[k>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2];Ss(c[u>>2]|0,c[v>>2]|0,0,c[k>>2]|0,-1)|0;break}if((d[c[j>>2]>>0]|0)!=152?(d[c[j>>2]>>0]|0)!=154:0){c[q>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+8>>2];e=c[x>>2]|0;if(!(c[q>>2]|0)){c[z>>2]=(c[v>>2]|0)+1;e=Wj(e,35144,z)|0}else e=Xo(e,c[q>>2]|0)|0;c[q>>2]=e;Ss(c[u>>2]|0,c[v>>2]|0,0,c[q>>2]|0,191)|0;break}c[o>>2]=b[(c[j>>2]|0)+32>>1];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[s>>2]>>2]|0))break;if((c[(c[s>>2]|0)+8+((c[w>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1}c[m>>2]=c[(c[s>>2]|0)+8+((c[w>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[m>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[n>>2]=26001;else c[n>>2]=c[(c[(c[m>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(!((c[i>>2]|0)!=0|(c[h>>2]|0)!=0)){f=c[u>>2]|0;g=c[v>>2]|0;Ss(f,g,0,Xo(c[x>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+8>>2]|0)|0,191)|0;break}if(c[h>>2]|0){c[p>>2]=0;g=c[x>>2]|0;f=c[n>>2]|0;c[y>>2]=c[c[m>>2]>>2];c[y+4>>2]=f;c[p>>2]=Wj(g,29580,y)|0;Ss(c[u>>2]|0,c[v>>2]|0,0,c[p>>2]|0,191)|0;break}else{Ss(c[u>>2]|0,c[v>>2]|0,0,c[n>>2]|0,-1)|0;break}}while(0);c[v>>2]=(c[v>>2]|0)+1}ZE(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);l=A;return}function ZE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+64|0;m=k+56|0;n=k+52|0;f=k+48|0;g=k+44|0;h=k+40|0;i=k+8|0;j=k+4|0;e=k;c[m>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[m>>2]|0)+8>>2];c[i+4>>2]=c[n>>2];c[i>>2]=c[m>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[f>>2]>>2]|0))break;c[j>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2];c[e>>2]=pw(i,c[j>>2]|0,0)|0;Ss(c[g>>2]|0,c[h>>2]|0,1,c[e>>2]|0,-1)|0;c[h>>2]=(c[h>>2]|0)+1}l=k;return}function _E(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){l=h;return}Ru(c[e>>2]|0,66,c[f>>2]|0,c[g>>2]|0,1)|0;l=h;return}function $E(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;g=l;l=l+32|0;i=g+24|0;j=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;k=g+4|0;h=g;c[i>>2]=a;c[j>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[k>>2]=c[(c[i>>2]|0)+8>>2];c[h>>2]=Ov(c[i>>2]|0)|0;zy(c[k>>2]|0,31,c[j>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Ru(c[k>>2]|0,99,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;Qu(c[k>>2]|0,126,c[j>>2]|0,c[h>>2]|0)|0;Qv(c[i>>2]|0,c[h>>2]|0);l=g;return}function aF(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+80|0;w=A+64|0;q=A+60|0;x=A+56|0;y=A+52|0;r=A+48|0;u=A+44|0;s=A+40|0;z=A+36|0;h=A+32|0;i=A+28|0;j=A+24|0;k=A+20|0;m=A+16|0;n=A+12|0;o=A+8|0;p=A+4|0;v=A;t=A+68|0;c[q>>2]=f;c[x>>2]=g;c[r>>2]=c[(c[q>>2]|0)+24>>2];c[u>>2]=c[c[r>>2]>>2];c[s>>2]=c[(c[r>>2]|0)+4>>2];c[z>>2]=c[(c[r>>2]|0)+12>>2];switch(d[c[x>>2]>>0]|0){case 152:case 154:{a:do if(c[s>>2]|0){c[h>>2]=(c[s>>2]|0)+8;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[c[s>>2]>>2]|0))break a;if((c[(c[x>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0))break;c[y>>2]=(c[y>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}c[i>>2]=c[(c[z>>2]|0)+28>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[z>>2]|0)+32>>2]|0))break;if((c[(c[i>>2]|0)+4>>2]|0)==(c[(c[x>>2]|0)+28>>2]|0)?(c[(c[i>>2]|0)+8>>2]|0)==(b[(c[x>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+24}if((c[j>>2]|0)>=(c[(c[z>>2]|0)+32>>2]|0)?(y=cF(c[c[u>>2]>>2]|0,c[z>>2]|0)|0,c[j>>2]=y,(y|0)>=0):0){c[i>>2]=(c[(c[z>>2]|0)+28>>2]|0)+((c[j>>2]|0)*24|0);c[c[i>>2]>>2]=c[(c[x>>2]|0)+44>>2];c[(c[i>>2]|0)+4>>2]=c[(c[x>>2]|0)+28>>2];c[(c[i>>2]|0)+8>>2]=b[(c[x>>2]|0)+32>>1];v=(c[u>>2]|0)+44|0;y=(c[v>>2]|0)+1|0;c[v>>2]=y;c[(c[i>>2]|0)+16>>2]=y;c[(c[i>>2]|0)+12>>2]=-1;c[(c[i>>2]|0)+20>>2]=c[x>>2];b:do if(c[(c[z>>2]|0)+24>>2]|0){c[n>>2]=c[(c[z>>2]|0)+24>>2];c[o>>2]=c[(c[n>>2]|0)+4>>2];c[m>>2]=c[c[n>>2]>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break b;c[p>>2]=c[c[o>>2]>>2];if(((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[(c[x>>2]|0)+28>>2]|0):0)?(b[(c[p>>2]|0)+32>>1]|0)==(b[(c[x>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}c[(c[i>>2]|0)+12>>2]=c[k>>2]}while(0);if((c[(c[i>>2]|0)+12>>2]|0)<0){v=(c[z>>2]|0)+12|0;y=c[v>>2]|0;c[v>>2]=y+1;c[(c[i>>2]|0)+12>>2]=y}}c[(c[x>>2]|0)+40>>2]=c[z>>2];a[c[x>>2]>>0]=-102;b[(c[x>>2]|0)+34>>1]=c[j>>2]}while(0);c[w>>2]=1;z=c[w>>2]|0;l=A;return z|0}case 153:{if((e[(c[r>>2]|0)+28>>1]&8|0)==0?(c[(c[q>>2]|0)+16>>2]|0)==(d[(c[x>>2]|0)+38>>0]|0):0){c[v>>2]=c[(c[z>>2]|0)+40>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[(c[z>>2]|0)+44>>2]|0))break;if(!(Yw(c[c[v>>2]>>2]|0,c[x>>2]|0,-1)|0))break;c[y>>2]=(c[y>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+16}if((c[y>>2]|0)>=(c[(c[z>>2]|0)+44>>2]|0)?(a[t>>0]=a[(c[c[u>>2]>>2]|0)+66>>0]|0,c[y>>2]=dF(c[c[u>>2]>>2]|0,c[z>>2]|0)|0,(c[y>>2]|0)>=0):0){c[v>>2]=(c[(c[z>>2]|0)+40>>2]|0)+(c[y>>2]<<4);c[c[v>>2]>>2]=c[x>>2];r=(c[u>>2]|0)+44|0;s=(c[r>>2]|0)+1|0;c[r>>2]=s;c[(c[v>>2]|0)+8>>2]=s;if(c[(c[x>>2]|0)+20>>2]|0)f=c[c[(c[x>>2]|0)+20>>2]>>2]|0;else f=0;t=ox(c[c[u>>2]>>2]|0,c[(c[x>>2]|0)+8>>2]|0,f,a[t>>0]|0,0)|0;c[(c[v>>2]|0)+4>>2]=t;if(c[(c[x>>2]|0)+4>>2]&16|0){f=(c[u>>2]|0)+40|0;g=c[f>>2]|0;c[f>>2]=g+1;f=c[v>>2]|0}else{g=-1;f=c[v>>2]|0}c[f+12>>2]=g}b[(c[x>>2]|0)+34>>1]=c[y>>2];c[(c[x>>2]|0)+40>>2]=c[z>>2];c[w>>2]=1;z=c[w>>2]|0;l=A;return z|0}c[w>>2]=0;z=c[w>>2]|0;l=A;return z|0}default:{c[w>>2]=0;z=c[w>>2]|0;l=A;return z|0}}return 0}function bF(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function cF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=fB(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;l=e;return c[d>>2]|0}function dF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=fB(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;l=e;return c[d>>2]|0}function eF(b,f,g,h,i,j,k){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+112|0;J=L+96|0;K=L+92|0;m=L+88|0;n=L+84|0;o=L+80|0;r=L+76|0;p=L+72|0;s=L+68|0;t=L+64|0;u=L+60|0;q=L+56|0;v=L+52|0;w=L+48|0;x=L+44|0;y=L+40|0;z=L+36|0;A=L+32|0;B=L+28|0;C=L+24|0;D=L+20|0;E=L+16|0;F=L+12|0;G=L+8|0;H=L+4|0;I=L;c[J>>2]=b;c[K>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=i;c[r>>2]=j;c[p>>2]=k;c[s>>2]=c[(c[J>>2]|0)+8>>2];c[t>>2]=(d[(c[K>>2]|0)+28>>0]&1|0)==0&1;c[u>>2]=c[c[c[K>>2]>>2]>>2];c[q>>2]=(c[u>>2]|0)+(c[t>>2]|0)+(c[r>>2]|0);j=(c[J>>2]|0)+44|0;k=(c[j>>2]|0)+1|0;c[j>>2]=k;c[w>>2]=k;c[x>>2]=c[(c[K>>2]|0)+4>>2];if(c[p>>2]|0)c[v>>2]=(c[n>>2]|0)-(c[u>>2]|0)-(c[t>>2]|0);else{c[v>>2]=(c[(c[J>>2]|0)+44>>2]|0)+1;k=(c[J>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0)}b=c[m>>2]|0;if(c[(c[m>>2]|0)+16>>2]|0)b=(c[b+16>>2]|0)+1|0;else b=c[b+12>>2]|0;c[z>>2]=b;m=ky(c[s>>2]|0)|0;c[(c[K>>2]|0)+24>>2]=m;fz(c[J>>2]|0,c[c[K>>2]>>2]|0,c[v>>2]|0,c[o>>2]|0,5)|0;if(c[t>>2]|0)Qu(c[s>>2]|0,113,c[(c[K>>2]|0)+8>>2]|0,(c[v>>2]|0)+(c[u>>2]|0)|0)|0;if(!(c[p>>2]|0))QE(c[J>>2]|0,c[n>>2]|0,(c[v>>2]|0)+(c[u>>2]|0)+(c[t>>2]|0)|0,c[r>>2]|0);Ru(c[s>>2]|0,99,(c[v>>2]|0)+(c[x>>2]|0)|0,(c[q>>2]|0)-(c[x>>2]|0)|0,c[w>>2]|0)|0;if((c[x>>2]|0)>0){c[A>>2]=(c[(c[J>>2]|0)+44>>2]|0)+1;b=(c[J>>2]|0)+44|0;c[b>>2]=(c[b>>2]|0)+(c[(c[K>>2]|0)+4>>2]|0);c[E>>2]=(c[u>>2]|0)-(c[(c[K>>2]|0)+4>>2]|0)+(c[t>>2]|0);b=c[s>>2]|0;if(c[t>>2]|0)c[B>>2]=ey(b,22,(c[v>>2]|0)+(c[u>>2]|0)|0)|0;else c[B>>2]=ey(b,109,c[(c[K>>2]|0)+8>>2]|0)|0;Ru(c[s>>2]|0,95,c[A>>2]|0,c[v>>2]|0,c[(c[K>>2]|0)+4>>2]|0)|0;c[D>>2]=uy(c[s>>2]|0,c[(c[K>>2]|0)+20>>2]|0)|0;if(a[(c[c[J>>2]>>2]|0)+69>>0]|0){l=L;return}c[(c[D>>2]|0)+8>>2]=(c[E>>2]|0)+(c[r>>2]|0);c[F>>2]=c[(c[D>>2]|0)+16>>2];m0(c[(c[F>>2]|0)+16>>2]|0,0,e[(c[F>>2]|0)+6>>1]|0)|0;Vu(c[s>>2]|0,-1,c[F>>2]|0,-6);E=CE(c[J>>2]|0,c[c[K>>2]>>2]|0,c[x>>2]|0,(e[(c[F>>2]|0)+8>>1]|0)-1|0)|0;c[(c[D>>2]|0)+16>>2]=E;c[C>>2]=Pv(c[s>>2]|0)|0;Ru(c[s>>2]|0,18,(c[C>>2]|0)+1|0,0,(c[C>>2]|0)+1|0)|0;E=ky(c[s>>2]|0)|0;c[(c[K>>2]|0)+16>>2]=E;E=(c[J>>2]|0)+44|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[(c[K>>2]|0)+12>>2]=F;Qu(c[s>>2]|0,14,c[(c[K>>2]|0)+12>>2]|0,c[(c[K>>2]|0)+16>>2]|0)|0;ey(c[s>>2]|0,133,c[(c[K>>2]|0)+8>>2]|0)|0;if(c[z>>2]|0)Qu(c[s>>2]|0,22,c[z>>2]|0,c[(c[K>>2]|0)+24>>2]|0)|0;ny(c[s>>2]|0,c[B>>2]|0);QE(c[J>>2]|0,c[v>>2]|0,c[A>>2]|0,c[(c[K>>2]|0)+4>>2]|0);ny(c[s>>2]|0,c[C>>2]|0)}if(d[(c[K>>2]|0)+28>>0]&1|0)c[y>>2]=125;else c[y>>2]=126;Qu(c[s>>2]|0,c[y>>2]|0,c[(c[K>>2]|0)+8>>2]|0,c[w>>2]|0)|0;if(!(c[z>>2]|0)){l=L;return}c[H>>2]=0;c[G>>2]=Ru(c[s>>2]|0,67,c[z>>2]|0,0,1)|0;ey(c[s>>2]|0,53,c[(c[K>>2]|0)+8>>2]|0)|0;if(a[(c[K>>2]|0)+29>>0]|0){F=(c[J>>2]|0)+44|0;J=(c[F>>2]|0)+1|0;c[F>>2]=J;c[H>>2]=J;Ru(c[s>>2]|0,96,c[(c[K>>2]|0)+8>>2]|0,c[u>>2]|0,c[H>>2]|0)|0}ey(c[s>>2]|0,117,c[(c[K>>2]|0)+8>>2]|0)|0;if(a[(c[K>>2]|0)+29>>0]|0){c[I>>2]=(Pv(c[s>>2]|0)|0)+2;Ru(c[s>>2]|0,37,(c[v>>2]|0)+(c[u>>2]|0)|0,c[I>>2]|0,c[H>>2]|0)|0;jy(c[s>>2]|0,-128)}ny(c[s>>2]|0,c[G>>2]|0);l=L;return}function fF(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+20|0;i=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;j=q;c[i>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;l=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[j>>2]=Ww(c[i>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;Ok(c[i>>2]|0,c[n>>2]|0);c[n>>2]=c[j>>2];break}else k=8;while(0);do if((k|0)==8){e=fF(c[i>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=fF(c[i>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;e=c[i>>2]|0;f=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048|0){gF(e,c[f>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{hF(e,c[f>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;l=q;return p|0}function gF(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;if(!(c[m>>2]|0)){l=q;return}while(1){hF(c[k>>2]|0,c[c[m>>2]>>2]|0,c[n>>2]|0,c[o>>2]|0);hF(c[k>>2]|0,c[(c[m>>2]|0)+36>>2]|0,c[n>>2]|0,c[o>>2]|0);hF(c[k>>2]|0,c[(c[m>>2]|0)+44>>2]|0,c[n>>2]|0,c[o>>2]|0);g=fF(c[k>>2]|0,c[(c[m>>2]|0)+40>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[(c[m>>2]|0)+40>>2]=g;g=fF(c[k>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[(c[m>>2]|0)+32>>2]=g;c[h>>2]=c[(c[m>>2]|0)+28>>2];c[j>>2]=c[c[h>>2]>>2];c[i>>2]=(c[h>>2]|0)+8;while(1){if((c[j>>2]|0)<=0)break;gF(c[k>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[n>>2]|0,c[o>>2]|0,1);if((d[(c[i>>2]|0)+36+1>>0]|0)>>>2&1|0)hF(c[k>>2]|0,c[(c[i>>2]|0)+64>>2]|0,c[n>>2]|0,c[o>>2]|0);c[j>>2]=(c[j>>2]|0)+-1;c[i>>2]=(c[i>>2]|0)+72}if(!(c[p>>2]|0)){a=9;break}g=c[(c[m>>2]|0)+48>>2]|0;c[m>>2]=g;if(!g){a=9;break}}if((a|0)==9){l=q;return}}function hF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(!(c[g>>2]|0)){l=k;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break;e=fF(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]=e;c[j>>2]=(c[j>>2]|0)+1}l=k;return}function iF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=1;c[k>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[g>>2]=c[(c[g>>2]|0)+48>>2];c[j>>2]=(c[j>>2]|0)+1}while(1){if(!(c[g>>2]|0)){a=7;break}c[i>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=0;c[k>>2]=At(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+48>>2]=c[i>>2];if(c[k>>2]|0){a=7;break}b[(c[g>>2]|0)+6>>1]=c[j>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((a|0)==7){l=m;return c[k>>2]|0}return 0}function jF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+128|0;F=G;A=G+120|0;B=G+116|0;C=G+112|0;g=G+108|0;n=G+104|0;D=G+100|0;E=G+96|0;o=G+92|0;p=G+88|0;q=G+84|0;r=G+80|0;s=G+76|0;t=G+72|0;i=G+68|0;j=G+64|0;u=G+40|0;f=G+32|0;k=G+28|0;v=G+24|0;w=G+20|0;x=G+16|0;y=G+12|0;z=G+8|0;m=G+4|0;c[A>>2]=a;c[B>>2]=b;c[C>>2]=e;c[g>>2]=c[(c[B>>2]|0)+28>>2];c[n>>2]=c[c[c[B>>2]>>2]>>2];c[D>>2]=c[(c[A>>2]|0)+8>>2];c[E>>2]=c[(c[B>>2]|0)+48>>2];c[r>>2]=0;c[i>>2]=0;c[j>>2]=5;if(Iu(c[A>>2]|0,33,0,0,0)|0){l=G;return}c[q>>2]=ky(c[D>>2]|0)|0;DE(c[A>>2]|0,c[B>>2]|0,c[q>>2]|0);c[w>>2]=c[(c[B>>2]|0)+56>>2];c[x>>2]=c[(c[B>>2]|0)+60>>2];c[y>>2]=c[(c[B>>2]|0)+12>>2];c[z>>2]=c[(c[B>>2]|0)+16>>2];c[(c[B>>2]|0)+60>>2]=0;c[(c[B>>2]|0)+56>>2]=0;c[(c[B>>2]|0)+16>>2]=0;c[(c[B>>2]|0)+12>>2]=0;c[v>>2]=c[(c[B>>2]|0)+44>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;if((d[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+36+1>>0]|0)>>>5&1|0){h=5;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==5)c[r>>2]=c[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+44>>2];h=(c[A>>2]|0)+40|0;a=c[h>>2]|0;c[h>>2]=a+1;c[t>>2]=a;a=(c[v>>2]|0)!=0;if((d[(c[B>>2]|0)+4>>0]|0|0)==115){c[j>>2]=a?8:6;g=(c[A>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[i>>2]=h}else c[j>>2]=a?7:5;Az(u,c[j>>2]|0,c[t>>2]|0);h=(c[A>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[s>>2]=j;Ru(c[D>>2]|0,110,c[r>>2]|0,c[s>>2]|0,c[n>>2]|0)|0;if(c[v>>2]|0){c[m>>2]=nF(c[A>>2]|0,c[B>>2]|0,1)|0;Uu(c[D>>2]|0,107,c[t>>2]|0,(c[c[v>>2]>>2]|0)+2|0,0,c[m>>2]|0,-6)|0;c[u+20>>2]=c[v>>2]}else Qu(c[D>>2]|0,107,c[t>>2]|0,c[n>>2]|0)|0;if(c[i>>2]|0){n=Qu(c[D>>2]|0,107,c[i>>2]|0,0)|0;c[(c[B>>2]|0)+20>>2]=n;n=(c[B>>2]|0)+8|0;c[n>>2]=c[n>>2]|32}c[(c[B>>2]|0)+44>>2]=0;c[(c[E>>2]|0)+52>>2]=0;c[k>>2]=At(c[A>>2]|0,c[E>>2]|0,u)|0;c[(c[E>>2]|0)+52>>2]=c[B>>2];if(!(c[k>>2]|0)){c[o>>2]=Qu(c[D>>2]|0,57,c[t>>2]|0,c[q>>2]|0)|0;ey(c[D>>2]|0,124,c[r>>2]|0)|0;a=c[D>>2]|0;b=c[t>>2]|0;if(c[v>>2]|0)Ru(a,96,b,(c[c[v>>2]>>2]|0)+1|0,c[s>>2]|0)|0;else Qu(a,122,b,c[s>>2]|0)|0;ey(c[D>>2]|0,117,c[t>>2]|0)|0;c[p>>2]=ky(c[D>>2]|0)|0;_E(c[D>>2]|0,c[z>>2]|0,c[p>>2]|0);LE(c[A>>2]|0,c[B>>2]|0,c[c[B>>2]>>2]|0,c[r>>2]|0,0,0,c[C>>2]|0,c[p>>2]|0,c[q>>2]|0);if(c[y>>2]|0)Qu(c[D>>2]|0,68,c[y>>2]|0,c[q>>2]|0)|0;oy(c[D>>2]|0,c[p>>2]|0);if(c[(c[B>>2]|0)+8>>2]&8|0)sl(c[A>>2]|0,35417,F);else{c[(c[B>>2]|0)+48>>2]=0;At(c[A>>2]|0,c[B>>2]|0,u)|0;c[(c[B>>2]|0)+48>>2]=c[E>>2]}my(c[D>>2]|0,c[o>>2]|0)|0;oy(c[D>>2]|0,c[q>>2]|0)}Kk(c[c[A>>2]>>2]|0,c[(c[B>>2]|0)+44>>2]|0);c[(c[B>>2]|0)+44>>2]=c[v>>2];c[(c[B>>2]|0)+56>>2]=c[w>>2];c[(c[B>>2]|0)+60>>2]=c[x>>2];l=G;return}function kF(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=l;l=l+224|0;K=ba+220|0;U=ba+216|0;_=ba+212|0;$=ba+208|0;o=ba+204|0;p=ba+200|0;aa=ba+196|0;q=ba+192|0;r=ba+168|0;s=ba+144|0;t=ba+140|0;u=ba+136|0;v=ba+132|0;w=ba+128|0;x=ba+124|0;y=ba+120|0;z=ba+116|0;A=ba+112|0;B=ba+108|0;C=ba+104|0;D=ba+100|0;E=ba+96|0;F=ba+92|0;G=ba+88|0;H=ba+84|0;I=ba+80|0;J=ba+76|0;L=ba+72|0;M=ba+68|0;N=ba+64|0;O=ba+60|0;P=ba+56|0;Q=ba+52|0;R=ba+48|0;S=ba+44|0;T=ba+40|0;i=ba+36|0;V=ba+32|0;W=ba+28|0;X=ba+24|0;Y=ba+20|0;j=ba+16|0;k=ba+12|0;m=ba+8|0;n=ba+4|0;Z=ba;c[U>>2]=f;c[_>>2]=g;c[$>>2]=h;c[A>>2]=0;c[R>>2]=0;c[T>>2]=c[c[U>>2]>>2];c[q>>2]=c[(c[U>>2]|0)+8>>2];c[O>>2]=ky(c[q>>2]|0)|0;c[N>>2]=ky(c[q>>2]|0)|0;c[Q>>2]=d[(c[_>>2]|0)+4>>0];c[aa>>2]=c[(c[_>>2]|0)+48>>2];c[i>>2]=c[(c[_>>2]|0)+44>>2];c[V>>2]=c[c[i>>2]>>2];a:do if((c[Q>>2]|0)!=116){c[o>>2]=1;while(1){if(d[(c[T>>2]|0)+69>>0]|0)break a;if((c[o>>2]|0)>(c[c[c[_>>2]>>2]>>2]|0))break a;c[p>>2]=0;c[j>>2]=c[(c[i>>2]|0)+4>>2];while(1){if((c[p>>2]|0)>=(c[V>>2]|0))break;if((e[(c[j>>2]|0)+16>>1]|0)==(c[o>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((c[p>>2]|0)==(c[V>>2]|0)){c[k>>2]=Ht(c[T>>2]|0,134,0)|0;if(!(c[k>>2]|0))break;h=(c[k>>2]|0)+4|0;c[h>>2]=c[h>>2]|1024;c[(c[k>>2]|0)+8>>2]=c[o>>2];c[i>>2]=Et(c[U>>2]|0,c[i>>2]|0,c[k>>2]|0)|0;if(c[i>>2]|0){f=c[o>>2]&65535;g=c[(c[i>>2]|0)+4>>2]|0;h=c[V>>2]|0;c[V>>2]=h+1;b[g+(h*20|0)+16>>1]=f}}c[o>>2]=(c[o>>2]|0)+1}c[K>>2]=7;aa=c[K>>2]|0;l=ba;return aa|0}while(0);c[W>>2]=Ed(c[T>>2]|0,(c[V>>2]|0)+1<<2,0)|0;if(c[W>>2]|0){c[c[W>>2]>>2]=c[V>>2];c[o>>2]=1;c[m>>2]=c[(c[i>>2]|0)+4>>2];while(1){if((c[o>>2]|0)>(c[V>>2]|0))break;c[(c[W>>2]|0)+(c[o>>2]<<2)>>2]=(e[(c[m>>2]|0)+16>>1]|0)-1;c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}c[S>>2]=nF(c[U>>2]|0,c[_>>2]|0,1)|0}else c[S>>2]=0;c[(c[_>>2]|0)+44>>2]=c[i>>2];p=cx(c[c[U>>2]>>2]|0,c[i>>2]|0,0)|0;c[(c[aa>>2]|0)+44>>2]=p;b:do if((c[Q>>2]|0)!=116){c[n>>2]=c[c[c[_>>2]>>2]>>2];c[J>>2]=(c[(c[U>>2]|0)+44>>2]|0)+1;p=(c[U>>2]|0)+44|0;c[p>>2]=(c[p>>2]|0)+((c[n>>2]|0)+1);Qu(c[q>>2]|0,76,0,c[J>>2]|0)|0;c[R>>2]=yy(c[T>>2]|0,c[n>>2]|0,1)|0;if(c[R>>2]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break b;p=mF(c[U>>2]|0,c[_>>2]|0,c[o>>2]|0)|0;c[(c[R>>2]|0)+20+(c[o>>2]<<2)>>2]=p;a[(c[(c[R>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]=0;c[o>>2]=(c[o>>2]|0)+1}}}else c[J>>2]=0;while(0);c[(c[_>>2]|0)+48>>2]=0;c[(c[aa>>2]|0)+52>>2]=0;fx(c[U>>2]|0,c[_>>2]|0,c[(c[_>>2]|0)+44>>2]|0,28515)|0;if(!(c[(c[aa>>2]|0)+48>>2]|0))fx(c[U>>2]|0,c[aa>>2]|0,c[(c[aa>>2]|0)+44>>2]|0,28515)|0;DE(c[U>>2]|0,c[_>>2]|0,c[O>>2]|0);if((c[Q>>2]|0)==116?(c[(c[_>>2]|0)+12>>2]|0)!=0:0){f=(c[U>>2]|0)+44|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[H>>2]=p;p=(c[U>>2]|0)+44|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[I>>2]=f;f=c[_>>2]|0;if(c[(c[_>>2]|0)+16>>2]|0)f=(c[f+16>>2]|0)+1|0;else f=c[f+12>>2]|0;Qu(c[q>>2]|0,84,f,c[H>>2]|0)|0;Qu(c[q>>2]|0,84,c[H>>2]|0,c[I>>2]|0)|0}else{c[I>>2]=0;c[H>>2]=0}Ok(c[T>>2]|0,c[(c[_>>2]|0)+56>>2]|0);c[(c[_>>2]|0)+56>>2]=0;Ok(c[T>>2]|0,c[(c[_>>2]|0)+60>>2]|0);c[(c[_>>2]|0)+60>>2]=0;p=(c[U>>2]|0)+44|0;o=(c[p>>2]|0)+1|0;c[p>>2]=o;c[t>>2]=o;o=(c[U>>2]|0)+44|0;p=(c[o>>2]|0)+1|0;c[o>>2]=p;c[u>>2]=p;p=(c[U>>2]|0)+44|0;o=(c[p>>2]|0)+1|0;c[p>>2]=o;c[x>>2]=o;o=(c[U>>2]|0)+44|0;p=(c[o>>2]|0)+1|0;c[o>>2]=p;c[y>>2]=p;Az(r,13,c[t>>2]|0);Az(s,13,c[u>>2]|0);c[v>>2]=(Pv(c[q>>2]|0)|0)+1;c[P>>2]=Ru(c[q>>2]|0,15,c[t>>2]|0,0,c[v>>2]|0)|0;c[(c[aa>>2]|0)+12>>2]=c[H>>2];c[X>>2]=c[(c[U>>2]|0)+424>>2];At(c[U>>2]|0,c[aa>>2]|0,r)|0;lB(c[q>>2]|0,c[t>>2]|0);ny(c[q>>2]|0,c[P>>2]|0);c[w>>2]=(Pv(c[q>>2]|0)|0)+1;c[P>>2]=Ru(c[q>>2]|0,15,c[u>>2]|0,0,c[w>>2]|0)|0;c[L>>2]=c[(c[_>>2]|0)+12>>2];c[M>>2]=c[(c[_>>2]|0)+16>>2];c[(c[_>>2]|0)+12>>2]=c[I>>2];c[(c[_>>2]|0)+16>>2]=0;c[Y>>2]=c[(c[U>>2]|0)+424>>2];At(c[U>>2]|0,c[_>>2]|0,s)|0;c[(c[_>>2]|0)+12>>2]=c[L>>2];c[(c[_>>2]|0)+16>>2]=c[M>>2];lB(c[q>>2]|0,c[u>>2]|0);c[z>>2]=oF(c[U>>2]|0,c[_>>2]|0,r,c[$>>2]|0,c[x>>2]|0,c[J>>2]|0,c[R>>2]|0,c[O>>2]|0)|0;if((c[Q>>2]|0)==116|(c[Q>>2]|0)==115)c[A>>2]=oF(c[U>>2]|0,c[_>>2]|0,s,c[$>>2]|0,c[y>>2]|0,c[J>>2]|0,c[R>>2]|0,c[O>>2]|0)|0;zk(c[R>>2]|0);if((c[Q>>2]|0)==117|(c[Q>>2]|0)==118){R=c[O>>2]|0;c[B>>2]=R;c[C>>2]=R}else{c[B>>2]=Qu(c[q>>2]|0,14,c[y>>2]|0,c[A>>2]|0)|0;c[C>>2]=Qu(c[q>>2]|0,16,c[u>>2]|0,c[O>>2]|0)|0;my(c[q>>2]|0,c[B>>2]|0)|0;R=BC(b[(c[_>>2]|0)+6>>1]|0,b[(c[aa>>2]|0)+6>>1]|0)|0;b[(c[_>>2]|0)+6>>1]=R}if((c[Q>>2]|0)==118){c[D>>2]=c[B>>2];if((b[(c[_>>2]|0)+6>>1]|0)>(b[(c[aa>>2]|0)+6>>1]|0))b[(c[_>>2]|0)+6>>1]=b[(c[aa>>2]|0)+6>>1]|0}else{c[D>>2]=Qu(c[q>>2]|0,14,c[x>>2]|0,c[z>>2]|0)|0;Qu(c[q>>2]|0,16,c[t>>2]|0,c[O>>2]|0)|0;my(c[q>>2]|0,c[D>>2]|0)|0}c[E>>2]=Qu(c[q>>2]|0,14,c[x>>2]|0,c[z>>2]|0)|0;Qu(c[q>>2]|0,16,c[t>>2]|0,c[B>>2]|0)|0;my(c[q>>2]|0,c[N>>2]|0)|0;do if((c[Q>>2]|0)!=116)if((c[Q>>2]|0)==118){c[F>>2]=c[E>>2];c[E>>2]=(c[E>>2]|0)+1;break}else{c[F>>2]=Qu(c[q>>2]|0,16,c[t>>2]|0,c[B>>2]|0)|0;my(c[q>>2]|0,c[N>>2]|0)|0;break}else c[F>>2]=c[E>>2];while(0);c[G>>2]=Pv(c[q>>2]|0)|0;if((c[Q>>2]|0)==116|(c[Q>>2]|0)==115)Qu(c[q>>2]|0,14,c[y>>2]|0,c[A>>2]|0)|0;Qu(c[q>>2]|0,16,c[u>>2]|0,c[D>>2]|0)|0;my(c[q>>2]|0,c[N>>2]|0)|0;ny(c[q>>2]|0,c[P>>2]|0);Qu(c[q>>2]|0,16,c[t>>2]|0,c[C>>2]|0)|0;Qu(c[q>>2]|0,16,c[u>>2]|0,c[D>>2]|0)|0;oy(c[q>>2]|0,c[N>>2]|0);Uu(c[q>>2]|0,94,0,0,0,c[W>>2]|0,-15)|0;Uu(c[q>>2]|0,95,c[r+12>>2]|0,c[s+12>>2]|0,c[V>>2]|0,c[S>>2]|0,-6)|0;jy(c[q>>2]|0,1);Ru(c[q>>2]|0,18,c[E>>2]|0,c[F>>2]|0,c[G>>2]|0)|0;oy(c[q>>2]|0,c[O>>2]|0);if((d[c[$>>2]>>0]|0)==9){c[Z>>2]=c[aa>>2];while(1){if(!(c[(c[Z>>2]|0)+48>>2]|0))break;c[Z>>2]=c[(c[Z>>2]|0)+48>>2]}YE(c[U>>2]|0,c[(c[Z>>2]|0)+28>>2]|0,c[c[Z>>2]>>2]|0)}if(c[(c[_>>2]|0)+48>>2]|0)Jk(c[T>>2]|0,c[(c[_>>2]|0)+48>>2]|0);c[(c[_>>2]|0)+48>>2]=c[aa>>2];c[(c[aa>>2]|0)+52>>2]=c[_>>2];lF(c[U>>2]|0,d[(c[_>>2]|0)+4>>0]|0,c[X>>2]|0,c[Y>>2]|0,0);c[K>>2]=(c[(c[U>>2]|0)+36>>2]|0)!=0&1;aa=c[K>>2]|0;l=ba;return aa|0}function lF(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q;j=q+40|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;h=q+20|0;i=q+16|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if((d[(c[j>>2]|0)+409>>0]|0|0)!=2){l=q;return}c[h>>2]=c[(c[j>>2]|0)+8>>2];g=c[c[j>>2]>>2]|0;f=c[m>>2]|0;m=c[n>>2]|0;n=c[o>>2]|0?35361:55752;o=ex(c[k>>2]|0)|0;c[p>>2]=f;c[p+4>>2]=m;c[p+8>>2]=n;c[p+12>>2]=o;c[i>>2]=Wj(g,35380,p)|0;Uu(c[h>>2]|0,162,c[(c[j>>2]|0)+420>>2]|0,0,0,c[i>>2]|0,-1)|0;l=q;return}function mF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+48>>2]|0)c[h>>2]=mF(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;l=i;return h|0}c[h>>2]=rw(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}function nF(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;k=r+40|0;m=r+36|0;s=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[k>>2]=b;c[m>>2]=d;c[s>>2]=f;c[n>>2]=c[(c[m>>2]|0)+44>>2];c[o>>2]=c[c[(c[m>>2]|0)+44>>2]>>2];c[p>>2]=c[c[k>>2]>>2];c[q>>2]=yy(c[p>>2]|0,(c[o>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[q>>2]|0)){s=c[q>>2]|0;l=r;return s|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[o>>2]|0))break;c[h>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);c[i>>2]=c[c[h>>2]>>2];b=c[k>>2]|0;if(c[(c[i>>2]|0)+4>>2]&256|0)c[j>>2]=rw(b,c[i>>2]|0)|0;else{c[j>>2]=mF(b,c[m>>2]|0,(e[(c[h>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[j>>2]|0))c[j>>2]=c[(c[p>>2]|0)+8>>2];s=ix(c[k>>2]|0,c[i>>2]|0,c[c[j>>2]>>2]|0)|0;c[(c[(c[n>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]=s}c[(c[q>>2]|0)+20+(c[g>>2]<<2)>>2]=c[j>>2];a[(c[(c[q>>2]|0)+16>>2]|0)+(c[g>>2]|0)>>0]=a[(c[(c[n>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+12>>0]|0;c[g>>2]=(c[g>>2]|0)+1}s=c[q>>2]|0;l=r;return s|0}function oF(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;B=D+64|0;C=D+60|0;m=D+56|0;n=D+52|0;o=D+48|0;p=D+44|0;q=D+40|0;r=D+36|0;s=D+32|0;t=D+28|0;u=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;y=D+8|0;z=D+4|0;A=D;c[C>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;c[t>>2]=c[(c[C>>2]|0)+8>>2];c[v>>2]=Pv(c[t>>2]|0)|0;c[u>>2]=ky(c[t>>2]|0)|0;if(c[q>>2]|0){c[w>>2]=ey(c[t>>2]|0,22,c[q>>2]|0)|0;h=c[t>>2]|0;i=c[(c[n>>2]|0)+12>>2]|0;j=(c[q>>2]|0)+1|0;k=c[(c[n>>2]|0)+16>>2]|0;c[x>>2]=Uu(h,95,i,j,k,Dy(c[r>>2]|0)|0,-6)|0;Ru(c[t>>2]|0,18,(c[x>>2]|0)+2|0,c[u>>2]|0,(c[x>>2]|0)+2|0)|0;ny(c[t>>2]|0,c[w>>2]|0);Ru(c[t>>2]|0,84,c[(c[n>>2]|0)+12>>2]|0,(c[q>>2]|0)+1|0,(c[(c[n>>2]|0)+16>>2]|0)-1|0)|0;Qu(c[t>>2]|0,76,1,c[q>>2]|0)|0}if(a[(c[c[C>>2]>>2]|0)+69>>0]|0){c[B>>2]=0;C=c[B>>2]|0;l=D;return C|0}_E(c[t>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[u>>2]|0);switch(d[c[o>>2]>>0]|0){case 12:{c[y>>2]=Ov(c[C>>2]|0)|0;c[z>>2]=Ov(c[C>>2]|0)|0;Ru(c[t>>2]|0,99,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[y>>2]|0)|0;Qu(c[t>>2]|0,114,c[(c[o>>2]|0)+8>>2]|0,c[z>>2]|0)|0;Ru(c[t>>2]|0,115,c[(c[o>>2]|0)+8>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;jy(c[t>>2]|0,8);Qv(c[C>>2]|0,c[z>>2]|0);Qv(c[C>>2]|0,c[y>>2]|0);break}case 11:{c[A>>2]=Ov(c[C>>2]|0)|0;Uu(c[t>>2]|0,99,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[A>>2]|0,c[(c[o>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;$y(c[C>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0);Qu(c[t>>2]|0,126,c[(c[o>>2]|0)+8>>2]|0,c[A>>2]|0)|0;Qv(c[C>>2]|0,c[A>>2]|0);break}case 10:{QE(c[C>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+8>>2]|0,1);break}case 13:{if(!(c[(c[o>>2]|0)+12>>2]|0)){k=My(c[C>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=k;c[(c[o>>2]|0)+16>>2]=c[(c[n>>2]|0)+16>>2]}QE(c[C>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0);ey(c[t>>2]|0,16,c[(c[o>>2]|0)+8>>2]|0)|0;break}default:{Qu(c[t>>2]|0,87,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;$y(c[C>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)}}if(c[(c[m>>2]|0)+12>>2]|0)Qu(c[t>>2]|0,68,c[(c[m>>2]|0)+12>>2]|0,c[s>>2]|0)|0;oy(c[t>>2]|0,c[u>>2]|0);ey(c[t>>2]|0,72,c[p>>2]|0)|0;c[B>>2]=c[v>>2];C=c[B>>2]|0;l=D;return C|0}function pF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(!(c[(c[j>>2]|0)+24>>2]&524288)){l=o;return}if((d[(c[i>>2]|0)+42>>0]|0)&16|0){l=o;return}if(c[(c[i>>2]|0)+12>>2]|0){l=o;return}c[k>>2]=0;c[m>>2]=Lu(c[g>>2]|0)|0;do if(!(iw(c[i>>2]|0)|0)){c[n>>2]=c[(c[i>>2]|0)+16>>2];while(1){if(!(c[n>>2]|0))break;if(d[(c[n>>2]|0)+24>>0]|0|0)break;if(c[(c[j>>2]|0)+24>>2]&33554432|0)break;c[n>>2]=c[(c[n>>2]|0)+4>>2]}if(c[n>>2]|0){c[k>>2]=ky(c[m>>2]|0)|0;Qu(c[m>>2]|0,65,1,c[k>>2]|0)|0;break}else{l=o;return}}while(0);a[(c[g>>2]|0)+150>>0]=1;n=c[g>>2]|0;Pt(n,Wx(c[j>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+150>>0]=0;if(!(c[(c[j>>2]|0)+24>>2]&33554432)){n=c[m>>2]|0;Qu(n,65,0,(Pv(c[m>>2]|0)|0)+2|0)|0;Hy(c[g>>2]|0,787,2,0,-2,4)}if(!(c[k>>2]|0)){l=o;return}oy(c[m>>2]|0,c[k>>2]|0);l=o;return}function qF(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r+8|0;p=r;i=r+48|0;j=r+44|0;k=r+40|0;m=r+36|0;n=r+32|0;o=r+28|0;g=r+24|0;h=r+20|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;c[o>>2]=c[c[i>>2]>>2];c[h>>2]=(c[(c[o>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[n>>2]=Lu(c[i>>2]|0)|0;cv(c[i>>2]|0,1,c[k>>2]|0);if((d[(c[j>>2]|0)+42>>0]|0)&16|0)Nu(c[n>>2]|0,152)|0;c[g>>2]=Sv(c[i>>2]|0,c[j>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;_z(c[i>>2]|0,c[g>>2]|0);c[g>>2]=c[(c[g>>2]|0)+32>>2]}if((d[(c[j>>2]|0)+42>>0]|0)&8|0){f=c[i>>2]|0;e=c[c[j>>2]>>2]|0;c[p>>2]=c[c[h>>2]>>2];c[p+4>>2]=e;Ku(f,35606,p)}p=c[i>>2]|0;e=(c[k>>2]|0)==1?26433:26452;f=c[c[j>>2]>>2]|0;c[q>>2]=c[c[h>>2]>>2];c[q+4>>2]=e;c[q+8>>2]=f;Ku(p,35651,q);if((c[m>>2]|0)==0?((d[(c[j>>2]|0)+42>>0]|0)&16|0)==0:0)rF(c[i>>2]|0,c[j>>2]|0);if(!((d[(c[j>>2]|0)+42>>0]|0)&16)){n=c[n>>2]|0;p=c[k>>2]|0;q=c[j>>2]|0;q=c[q>>2]|0;Uu(n,138,p,0,0,q,0)|0;q=c[i>>2]|0;p=c[k>>2]|0;Mu(q,p);p=c[o>>2]|0;q=c[k>>2]|0;sF(p,q);l=r;return}Uu(c[n>>2]|0,154,c[k>>2]|0,0,0,c[c[j>>2]>>2]|0,0)|0;n=c[n>>2]|0;p=c[k>>2]|0;q=c[j>>2]|0;q=c[q>>2]|0;Uu(n,138,p,0,0,q,0)|0;q=c[i>>2]|0;p=c[k>>2]|0;Mu(q,p);p=c[o>>2]|0;q=c[k>>2]|0;sF(p,q);l=r;return}function rF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[i>>2]=0;if(!((c[g>>2]|0)!=0?(c[f>>2]|0)>=(c[g>>2]|0):0))c[i>>2]=c[f>>2];c[h>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[j>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[j>>2]|0)>(c[i>>2]|0)):0)c[i>>2]=c[j>>2];c[h>>2]=c[(c[h>>2]|0)+20>>2]}if(!(c[i>>2]|0))break;c[k>>2]=Hu(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;eB(c[d>>2]|0,c[i>>2]|0,c[k>>2]|0);c[g>>2]=c[i>>2]}l=n;return}function sF(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){l=j;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[i>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[i>>2]|0)+12>>2]|0){Ik(c[f>>2]|0,c[i>>2]|0);c[(c[i>>2]|0)+4>>2]=0;b[(c[i>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}i=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[i>>1]=(e[i>>1]|0)&-3;l=j;return}function tF(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function uF(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+144|0;j=p+128|0;k=p+124|0;m=p+120|0;n=p+116|0;o=p+112|0;h=p;i=p+80|0;c[j>>2]=a;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;a=h;d=a+80|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[h>>2]=1;c[h+8+8>>2]=c[c[k>>2]>>2];c[h+8+16>>2]=c[k>>2];c[h+8+44>>2]=-1;c[i>>2]=c[j>>2];c[i+4>>2]=h;b[i+28>>1]=c[m>>2];n=(Ow(i,c[n>>2]|0)|0)==0;if(!(n&(c[o>>2]|0)!=0)){l=p;return}Pw(i,c[o>>2]|0)|0;l=p;return}function vF(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=55;l=f;return}if((d[b>>0]|0|0)!=53){l=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){l=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=55;l=f;return}function wF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){a=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){a=4;break}}if((a|0)==4){c[i>>2]=1;i=c[i>>2]|0;l=j;return i|0}else if((a|0)==5){c[i>>2]=0;i=c[i>>2]|0;l=j;return i|0}return 0}function xF(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;j=k+16|0;c[f>>2]=a;c[g>>2]=0;c[i>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[j>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[j>>1]|0)<0)a=1;else a=d[(c[i>>2]|0)+(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]<<4)+14>>0]|0;c[g>>2]=(c[g>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}j=xv(c[g>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=j;l=k;return}function yF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;e=Cz(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;l=f;return e|0}function zF(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;k=v+52|0;n=v+48|0;o=v+44|0;p=v+40|0;q=v+36|0;r=v+32|0;s=v+28|0;t=v+24|0;h=v+20|0;i=v+16|0;j=v+8|0;m=v;c[k>>2]=f;c[n>>2]=g;c[t>>2]=c[c[k>>2]>>2];c[h>>2]=c[(c[k>>2]|0)+8>>2];a:do if(!(a[(c[t>>2]|0)+148+7>>0]|0)){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[n>>2]|0)+34>>1]|0))break a;if(d[(c[(c[n>>2]|0)+4>>2]|0)+(c[r>>2]<<4)+15>>0]&1|0)a[(c[(c[n>>2]|0)+4>>2]|0)+(c[r>>2]<<4)+12>>0]=2;c[r>>2]=(c[r>>2]|0)+1}}while(0);if(a[(c[k>>2]|0)+410>>0]|0){l=v;return}if(c[(c[k>>2]|0)+132>>2]|0)EE(c[h>>2]|0,c[(c[k>>2]|0)+132>>2]|0,-122);f=c[n>>2]|0;do if((b[(c[n>>2]|0)+32>>1]|0)>=0){jx(j,c[(c[f+4>>2]|0)+(b[(c[n>>2]|0)+32>>1]<<4)>>2]|0);h=c[k>>2]|0;c[i>>2]=Et(h,0,Wt(c[t>>2]|0,55,j,0)|0)|0;if(!(c[i>>2]|0)){l=v;return}a[(c[(c[i>>2]|0)+4>>2]|0)+12>>0]=a[(c[k>>2]|0)+408>>0]|0;tt(c[k>>2]|0,0,0,0,c[i>>2]|0,d[(c[n>>2]|0)+43>>0]|0,0,0,0,0,2);if(a[(c[t>>2]|0)+69>>0]|0){l=v;return}else{c[p>>2]=uv(c[n>>2]|0)|0;b[(c[n>>2]|0)+32>>1]=-1;break}}else{c[p>>2]=uv(f)|0;if(c[h>>2]|0)EE(c[h>>2]|0,c[(c[p>>2]|0)+44>>2]|0,13);c[s>>2]=1;c[r>>2]=1;while(1){if((c[r>>2]|0)>=(e[(c[p>>2]|0)+50>>1]|0))break;k=(wF(c[(c[p>>2]|0)+4>>2]|0,c[s>>2]|0,b[(c[(c[p>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)|0)!=0;f=c[p>>2]|0;if(k){k=f+52|0;b[k>>1]=(b[k>>1]|0)+-1<<16>>16}else{i=b[(c[f+4>>2]|0)+(c[r>>2]<<1)>>1]|0;j=c[(c[p>>2]|0)+4>>2]|0;k=c[s>>2]|0;c[s>>2]=k+1;b[j+(k<<1)>>1]=i}c[r>>2]=(c[r>>2]|0)+1}b[(c[p>>2]|0)+50>>1]=c[s>>2]}while(0);k=(c[p>>2]|0)+55|0;a[k>>0]=a[k>>0]&-33|32;if(!(a[(c[t>>2]|0)+148+7>>0]|0)){k=(c[p>>2]|0)+55|0;a[k>>0]=a[k>>0]&-9|8}c[q>>2]=e[(c[p>>2]|0)+50>>1];c[(c[p>>2]|0)+44>>2]=c[(c[n>>2]|0)+28>>2];c[o>>2]=c[(c[n>>2]|0)+8>>2];b:while(1){if(!(c[o>>2]|0))break;c:do if((a[(c[o>>2]|0)+55>>0]&3|0)!=2){c[m>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break;if(!(wF(c[(c[o>>2]|0)+4>>2]|0,e[(c[o>>2]|0)+50>>1]|0,b[(c[(c[p>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)|0))c[m>>2]=(c[m>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if(!(c[m>>2]|0)){b[(c[o>>2]|0)+52>>1]=b[(c[o>>2]|0)+50>>1]|0;break}if(FF(c[t>>2]|0,c[o>>2]|0,(e[(c[o>>2]|0)+50>>1]|0)+(c[m>>2]|0)|0)|0){u=50;break b}c[r>>2]=0;c[s>>2]=e[(c[o>>2]|0)+50>>1];while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break c;if(!(wF(c[(c[o>>2]|0)+4>>2]|0,e[(c[o>>2]|0)+50>>1]|0,b[(c[(c[p>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)|0)){b[(c[(c[o>>2]|0)+4>>2]|0)+(c[s>>2]<<1)>>1]=b[(c[(c[p>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;c[(c[(c[o>>2]|0)+32>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[(c[p>>2]|0)+32>>2]|0)+(c[r>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}}while(0);c[o>>2]=c[(c[o>>2]|0)+20>>2]}if((u|0)==50){l=v;return}if((c[q>>2]|0)>=(b[(c[n>>2]|0)+34>>1]|0)){b[(c[p>>2]|0)+52>>1]=b[(c[n>>2]|0)+34>>1]|0;l=v;return}if(FF(c[t>>2]|0,c[p>>2]|0,b[(c[n>>2]|0)+34>>1]|0)|0){l=v;return}c[r>>2]=0;c[s>>2]=c[q>>2];while(1){if((c[r>>2]|0)>=(b[(c[n>>2]|0)+34>>1]|0))break;if(!(wF(c[(c[p>>2]|0)+4>>2]|0,c[s>>2]|0,c[r>>2]|0)|0)){b[(c[(c[p>>2]|0)+4>>2]|0)+(c[s>>2]<<1)>>1]=c[r>>2];c[(c[(c[p>>2]|0)+32>>2]|0)+(c[s>>2]<<2)>>2]=34455;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}l=v;return}function AF(a){a=a|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=0;c[h>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[h>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[g>>2]|0)+14>>0]|0);c[h>>2]=(c[h>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+16}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[f>>2]|0;g=g<<2;g=xv(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;l=i;return}c[f>>2]=(c[f>>2]|0)+1;g=c[f>>2]|0;g=g<<2;g=xv(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;l=i;return}function BF(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;v=w+16|0;u=w+8|0;g=w;n=w+68|0;f=w+64|0;o=w+60|0;p=w+56|0;q=w+52|0;r=w+48|0;s=w+44|0;t=w+40|0;h=w+36|0;i=w+32|0;j=w+28|0;k=w+24|0;m=w+20|0;c[f>>2]=d;c[o>>2]=e;c[r>>2]=0;c[j>>2]=c[(c[o>>2]|0)+4>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;e=(CF(c[c[j>>2]>>2]|0)|0)+5|0;c[r>>2]=(c[r>>2]|0)+e;c[p>>2]=(c[p>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}e=CF(c[c[o>>2]>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+e;if((c[r>>2]|0)<50){c[t>>2]=55752;c[h>>2]=22226;c[i>>2]=34322}else{c[t>>2]=36806;c[h>>2]=36810;c[i>>2]=36815}c[r>>2]=(c[r>>2]|0)+(35+((b[(c[o>>2]|0)+34>>1]|0)*6|0));e=c[r>>2]|0;c[s>>2]=Cd(0,e,((e|0)<0)<<31>>31)|0;if(!(c[s>>2]|0)){Od(c[f>>2]|0);c[n>>2]=0;v=c[n>>2]|0;l=w;return v|0}ef(c[r>>2]|0,c[s>>2]|0,36818,g)|0;c[q>>2]=md(c[s>>2]|0)|0;DF(c[s>>2]|0,q,c[c[o>>2]>>2]|0);f=c[s>>2]|0;g=c[q>>2]|0;c[q>>2]=g+1;a[f+g>>0]=40;c[j>>2]=c[(c[o>>2]|0)+4>>2];c[p>>2]=0;while(1){d=(c[r>>2]|0)-(c[q>>2]|0)|0;e=(c[s>>2]|0)+(c[q>>2]|0)|0;if((c[p>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;ef(d,e,c[t>>2]|0,u)|0;g=md((c[s>>2]|0)+(c[q>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+g;c[t>>2]=c[h>>2];DF(c[s>>2]|0,q,c[c[j>>2]>>2]|0);c[m>>2]=c[5560+((a[(c[j>>2]|0)+13>>0]|0)-65<<2)>>2];c[k>>2]=md(c[m>>2]|0)|0;h0((c[s>>2]|0)+(c[q>>2]|0)|0,c[m>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[k>>2]|0);c[p>>2]=(c[p>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}c[v>>2]=c[i>>2];ef(d,e,21240,v)|0;c[n>>2]=c[s>>2];v=c[n>>2]|0;l=w;return v|0}function CF(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}l=f;return (c[e>>2]|0)+2|0}function DF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;g=n+24|0;h=n+20|0;o=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[i>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[20063+(d[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if((!(d[20063+(d[c[i>>2]>>0]|0)>>0]&4|0)?(EF(c[i>>2]|0,c[k>>2]|0)|0)==55:0)?!(d[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0):0)b=(c[k>>2]|0)==0;else b=1;c[m>>2]=b&1;if(c[m>>2]|0){f=c[g>>2]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[f+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0))break;e=a[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0;f=c[g>>2]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[f+o>>0]=e;if((d[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0)==34){f=c[g>>2]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[f+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[m>>2]|0)){o=c[g>>2]|0;m=c[j>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;l=n;return}m=c[g>>2]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[m+o>>0]=34;o=c[g>>2]|0;m=c[j>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;l=n;return}function EF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=55;Yj(c[g>>2]|0,c[f>>2]|0,d)|0;l=e;return c[d>>2]|0}function FF(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[i>>2]=d;c[j>>2]=f;c[k>>2]=g;if((e[(c[j>>2]|0)+52>>1]|0|0)>=(c[k>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}c[n>>2]=(c[k>>2]|0)*7;n=c[n>>2]|0;c[m>>2]=_l(c[i>>2]|0,n,((n|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;l=o;return n|0}else{h0(c[m>>2]|0,c[(c[j>>2]|0)+32>>2]|0,(e[(c[j>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[j>>2]|0)+32>>2]=c[m>>2];c[m>>2]=(c[m>>2]|0)+(c[k>>2]<<2);h0(c[m>>2]|0,c[(c[j>>2]|0)+4>>2]|0,(e[(c[j>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[j>>2]|0)+4>>2]=c[m>>2];c[m>>2]=(c[m>>2]|0)+(c[k>>2]<<1);h0(c[m>>2]|0,c[(c[j>>2]|0)+28>>2]|0,e[(c[j>>2]|0)+52>>1]|0|0)|0;c[(c[j>>2]|0)+28>>2]=c[m>>2];b[(c[j>>2]|0)+52>>1]=c[k>>2];n=(c[j>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}return 0}function GF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Lu(c[d>>2]|0)|0;gy(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?26433:26452);zy(c[g>>2]|0,105,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+40>>2]|0){l=e;return}c[(c[d>>2]|0)+40>>2]=1;l=e;return}function HF(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;b=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[b>>2]=a;c[f>>2]=Lu(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+112>>2]|0))break;c[g>>2]=(c[(c[b>>2]|0)+116>>2]|0)+(c[e>>2]<<4);c[h>>2]=c[c[g>>2]>>2];Uu(c[f>>2]|0,151,c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|0,c[(c[g>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}l=i;return}function IF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[i>>2]=c[(c[d>>2]|0)+8>>2];c[e>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[e>>2]|0)){b=5;break}c[g>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[e>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[e>>2]|0)+12>>2];hy(c[d>>2]|0,0,c[(c[e>>2]|0)+8>>2]|0,c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0,104);Pu(c[i>>2]|0,(c[h>>2]|0)-1|0,c[c[(c[e>>2]|0)+4>>2]>>2]|0)|0;c[j>>2]=mA(c[i>>2]|0,10,36994,0)|0;if(!(c[j>>2]|0)){b=5;break}c[(c[j>>2]|0)+8>>2]=c[h>>2];c[(c[j>>2]|0)+12>>2]=(c[h>>2]|0)+1;c[(c[j>>2]|0)+40+12>>2]=c[h>>2];c[(c[j>>2]|0)+60+4>>2]=(c[h>>2]|0)-1;c[(c[j>>2]|0)+60+12>>2]=c[h>>2];a[(c[j>>2]|0)+60+3>>0]=16;c[(c[j>>2]|0)+80+8>>2]=(c[h>>2]|0)+1;c[(c[j>>2]|0)+100+12>>2]=c[h>>2];c[(c[j>>2]|0)+160+8>>2]=c[h>>2];c[e>>2]=c[c[e>>2]>>2]}if((b|0)==5){l=k;return}}function JF(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+40|0;j=q+36|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;g=q+12|0;h=q;c[i>>2]=e;c[j>>2]=f;c[k>>2]=c[c[i>>2]>>2];c[m>>2]=b[(c[j>>2]|0)+400>>1];c[n>>2]=c[(c[j>>2]|0)+44>>2];c[o>>2]=c[(c[j>>2]|0)+40>>2];c[p>>2]=c[(c[j>>2]|0)+108>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);if((c[o>>2]|0)==0&(c[n>>2]|0)>0)c[n>>2]=(c[n>>2]|0)+1;c[g>>2]=((c[(c[i>>2]|0)+136>>2]|0)*20|0)+7&-8;c[h>>2]=(c[(c[i>>2]|0)+88>>2]|0)+(c[g>>2]|0);c[h+4>>2]=(c[(c[j>>2]|0)+52>>2]|0)-(c[g>>2]|0)&-8;OD(c[i>>2]|0,p);if(d[(c[j>>2]|0)+20>>0]|0)e=(d[(c[j>>2]|0)+21>>0]|0)!=0;else e=0;g=(c[i>>2]|0)+144|0;b[g>>1]=b[g>>1]&-65|(e&1)<<6&65535;if((c[n>>2]|0)<10?(d[(c[j>>2]|0)+409>>0]|0)!=0:0)c[n>>2]=10;g=(c[i>>2]|0)+144|0;b[g>>1]=b[g>>1]&-2;do{c[h+8>>2]=0;g=KF(h,c[(c[i>>2]|0)+92>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[i>>2]|0)+92>>2]=g;g=KF(h,c[(c[i>>2]|0)+116>>2]|0,(c[m>>2]|0)*40|0)|0;c[(c[i>>2]|0)+116>>2]=g;g=KF(h,c[(c[i>>2]|0)+96>>2]|0,c[p>>2]<<2)|0;c[(c[i>>2]|0)+96>>2]=g;g=KF(h,c[(c[i>>2]|0)+112>>2]|0,c[o>>2]<<2)|0;c[(c[i>>2]|0)+112>>2]=g;if(!(c[h+8>>2]|0))break;g=c[h+8>>2]|0;g=Ed(c[k>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[i>>2]|0)+180>>2]=g;c[h>>2]=g;c[h+4>>2]=c[h+8>>2]}while((a[(c[k>>2]|0)+69>>0]|0)!=0^1);b[(c[i>>2]|0)+18>>1]=c[(c[j>>2]|0)+404>>2];c[(c[i>>2]|0)+120>>2]=c[(c[j>>2]|0)+428>>2];c[(c[j>>2]|0)+404>>2]=0;c[(c[j>>2]|0)+428>>2]=0;p=(c[i>>2]|0)+144|0;b[p>>1]=b[p>>1]&-13|(d[(c[j>>2]|0)+409>>0]&3)<<2&65535;if(a[(c[k>>2]|0)+69>>0]|0){b[(c[i>>2]|0)+16>>1]=0;c[(c[i>>2]|0)+28>>2]=0;c[(c[i>>2]|0)+24>>2]=0;p=c[i>>2]|0;zs(p);l=q;return}else{c[(c[i>>2]|0)+28>>2]=c[o>>2];b[(c[i>>2]|0)+16>>1]=c[m>>2];Us(c[(c[i>>2]|0)+116>>2]|0,c[m>>2]|0,c[k>>2]|0,1);c[(c[i>>2]|0)+24>>2]=c[n>>2];Us(c[(c[i>>2]|0)+92>>2]|0,c[n>>2]|0,c[k>>2]|0,128);m0(c[(c[i>>2]|0)+112>>2]|0,0,c[o>>2]<<2|0)|0;p=c[i>>2]|0;zs(p);l=q;return}}function KF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;a=c[g>>2]|0;b=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=b+4|0;c[g>>2]=(c[g>>2]|0)-a;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;l=h;return g|0}else{g=b+8|0;c[g>>2]=(c[g>>2]|0)+a;g=c[f>>2]|0;l=h;return g|0}return 0}function LF(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+80|0;x=y+8|0;i=y;r=y+68|0;v=y+64|0;g=y+60|0;n=y+56|0;o=y+52|0;p=y+48|0;h=y+44|0;q=y+40|0;w=y+36|0;s=y+32|0;t=y+28|0;u=y+24|0;j=y+20|0;k=y+16|0;m=y+12|0;c[v>>2]=f;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[h>>2]=c[c[v>>2]>>2];c[w>>2]=0;c[s>>2]=(c[(c[v>>2]|0)+92>>2]|0)+40;vk(c[s>>2]|0,8);c[(c[v>>2]|0)+104>>2]=0;if((c[(c[v>>2]|0)+40>>2]|0)==7){Od(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;l=y;return x|0}c[g>>2]=c[(c[v>>2]|0)+136>>2];a:do if(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3|0)==1){c[p>>2]=(c[(c[v>>2]|0)+92>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16|0){c[n>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[o>>2]=c[(c[p>>2]|0)+16>>2]}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[n>>2]|0))break a;c[g>>2]=(c[g>>2]|0)+(c[(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}while(0);do{z=(c[v>>2]|0)+36|0;f=c[z>>2]|0;c[z>>2]=f+1;c[q>>2]=f;if((c[q>>2]|0)>=(c[g>>2]|0))break;if(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3|0)!=2)break}while((d[(c[(c[v>>2]|0)+88>>2]|0)+((c[q>>2]|0)*20|0)>>0]|0)!=162);do if((c[q>>2]|0)>=(c[g>>2]|0)){c[(c[v>>2]|0)+40>>2]=0;c[w>>2]=101}else{if(c[(c[h>>2]|0)+248>>2]|0){c[(c[v>>2]|0)+40>>2]=9;c[w>>2]=1;z=c[v>>2]|0;is(z,Xi(c[(c[v>>2]|0)+40>>2]|0)|0,i);break}f=c[v>>2]|0;if((c[q>>2]|0)<(c[(c[v>>2]|0)+136>>2]|0))c[u>>2]=(c[f+88>>2]|0)+((c[q>>2]|0)*20|0);else{c[q>>2]=(c[q>>2]|0)-(c[f+136>>2]|0);c[j>>2]=0;while(1){f=c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]|0;if((c[q>>2]|0)<(c[(c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0))break;c[q>>2]=(c[q>>2]|0)-(c[f+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}c[u>>2]=(c[f>>2]|0)+((c[q>>2]|0)*20|0)}if(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3|0)==1?(b[(c[s>>2]|0)+8>>1]=4,q=c[q>>2]|0,z=c[s>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[s>>2]=(c[s>>2]|0)+40,b[(c[s>>2]|0)+8>>1]=2562,z=cJ(d[c[u>>2]>>0]|0)|0,c[(c[s>>2]|0)+16>>2]=z,z=md(c[(c[s>>2]|0)+16>>2]|0)|0,c[(c[s>>2]|0)+12>>2]=z,a[(c[s>>2]|0)+10>>0]=1,c[s>>2]=(c[s>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[k>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;if((c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)==(c[n>>2]|0)?0==(ii(c[p>>2]|0,c[k>>2]|0,(c[n>>2]|0)!=0&1)|0):0){c[o>>2]=c[(c[p>>2]|0)+16>>2];m=c[(c[u>>2]|0)+16>>2]|0;q=c[o>>2]|0;z=c[n>>2]|0;c[n>>2]=z+1;c[q+(z<<2)>>2]=m;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[n>>2]<<2}}b[(c[s>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[s>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[s>>2]=(c[s>>2]|0)+40;b[(c[s>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[s>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[s>>2]=(c[s>>2]|0)+40;b[(c[s>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[s>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[s>>2]=(c[s>>2]|0)+40;if(di(c[s>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;l=y;return z|0}b[(c[s>>2]|0)+8>>1]=514;c[t>>2]=dJ(c[u>>2]|0,c[(c[s>>2]|0)+16>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;f=c[s>>2]|0;if((c[t>>2]|0)!=(c[(c[s>>2]|0)+16>>2]|0)){c[f+12>>2]=0;ci(c[s>>2]|0,c[t>>2]|0,-1,1,0)|0}else{z=md(c[f+16>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=z;a[(c[s>>2]|0)+10>>0]=1}c[s>>2]=(c[s>>2]|0)+40;do if(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3|0)==1){if(!(di(c[s>>2]|0,4)|0)){b[(c[s>>2]|0)+8>>1]=514;c[(c[s>>2]|0)+12>>2]=2;z=c[(c[s>>2]|0)+16>>2]|0;c[x>>2]=d[(c[u>>2]|0)+3>>0];ef(3,z,40683,x)|0;a[(c[s>>2]|0)+10>>0]=1;c[s>>2]=(c[s>>2]|0)+40;b[(c[s>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;l=y;return z|0}while(0);b[(c[v>>2]|0)+140>>1]=8-(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3)-1<<2);c[(c[v>>2]|0)+104>>2]=(c[(c[v>>2]|0)+92>>2]|0)+40;c[(c[v>>2]|0)+40>>2]=0;c[w>>2]=100}while(0);c[r>>2]=c[w>>2];z=c[r>>2]|0;l=y;return z|0} // EMSCRIPTEN_END_FUNCS -var Ob=[N5,N5,fS,N5,gS,N5,hS,N5,iS,N5,jS,N5,kS,N5,lS,N5,mS,N5,nS,N5,oS,N5,pS,N5,qS,N5,rS,N5,sS,N5,tS,N5,uS,N5,vS,N5,wS,N5,xS,N5,yS,N5,zS,N5,AS,N5,BS,N5,CS,N5,DS,N5,ES,N5,FS,N5,GS,N5,HS,N5,IS,N5,JS,N5,KS,N5,LS,N5,MS,N5,NS,N5,OS,N5,PS,N5,QS,N5,RS,N5,SS,N5,TS,N5,US,N5,VS,N5,WS,N5,XS,N5,YS,N5,ZS,N5,_S,N5,$S,N5,aT,N5,bT,N5,cT,N5,dT,N5,eT,N5,fT,N5,gT,N5,hT,N5,iT,N5,jT,N5,kT,N5,lT,N5,mT,N5,nT,N5,oT,N5,wN,zN,CN,EN,Zk,zk,eq,uq,Jq,Mq,Pr,yu,Bu,LN,RN,dO,DQ,wR,BR,pR,xR,bR,$Q,Rn,Mm,Pm,Nn,Ln,Vn,ao,ZF,_F,$F,aR,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5];var Pb=[O5,O5,qT,O5,rT,O5,sT,O5,tT,O5,uT,O5,vT,O5,wT,O5,xT,O5,yT,O5,zT,O5,AT,O5,BT,O5,CT,O5,DT,O5,ET,O5,FT,O5,GT,O5,HT,O5,IT,O5,JT,O5,KT,O5,LT,O5,MT,O5,NT,O5,OT,O5,PT,O5,QT,O5,RT,O5,ST,O5,TT,O5,UT,O5,VT,O5,WT,O5,XT,O5,YT,O5,ZT,O5,_T,O5,$T,O5,aU,O5,bU,O5,cU,O5,dU,O5,eU,O5,fU,O5,gU,O5,hU,O5,iU,O5,jU,O5,kU,O5,lU,O5,mU,O5,nU,O5,oU,O5,pU,O5,qU,O5,rU,O5,sU,O5,tU,O5,uU,O5,vU,O5,wU,O5,xU,O5,yU,O5,zU,O5,tR,fO,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5];var Qb=[P5,P5,BU,P5,CU,P5,DU,P5,EU,P5,FU,P5,GU,P5,HU,P5,IU,P5,JU,P5,KU,P5,LU,P5,MU,P5,NU,P5,OU,P5,PU,P5,QU,P5,RU,P5,SU,P5,TU,P5,UU,P5,VU,P5,WU,P5,XU,P5,YU,P5,ZU,P5,_U,P5,$U,P5,aV,P5,bV,P5,cV,P5,dV,P5,eV,P5,fV,P5,gV,P5,hV,P5,iV,P5,jV,P5,kV,P5,lV,P5,mV,P5,nV,P5,oV,P5,pV,P5,qV,P5,rV,P5,sV,P5,tV,P5,uV,P5,vV,P5,wV,P5,xV,P5,yV,P5,zV,P5,AV,P5,BV,P5,CV,P5,DV,P5,EV,P5,FV,P5,GV,P5,HV,P5,IV,P5,JV,P5,KV,P5,Wc,Xc,Zc,_c,$c,ad,xu,Fu,Gu,Uu,Zu,VN,iP,HP,IP,JP,LP,NP,Kd,$q,yj,nk,Qn,gA,CR,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5];var Rb=[Q5,Q5,MV,Q5,NV,Q5,OV,Q5,PV,Q5,QV,Q5,RV,Q5,SV,Q5,TV,Q5,UV,Q5,VV,Q5,WV,Q5,XV,Q5,YV,Q5,ZV,Q5,_V,Q5,$V,Q5,aW,Q5,bW,Q5,cW,Q5,dW,Q5,eW,Q5,fW,Q5,gW,Q5,hW,Q5,iW,Q5,jW,Q5,kW,Q5,lW,Q5,mW,Q5,nW,Q5,oW,Q5,pW,Q5,qW,Q5,rW,Q5,sW,Q5,tW,Q5,uW,Q5,vW,Q5,wW,Q5,xW,Q5,yW,Q5,zW,Q5,AW,Q5,BW,Q5,CW,Q5,DW,Q5,EW,Q5,FW,Q5,GW,Q5,HW,Q5,IW,Q5,JW,Q5,KW,Q5,LW,Q5,MW,Q5,NW,Q5,OW,Q5,PW,Q5,QW,Q5,RW,Q5,SW,Q5,TW,Q5,UW,Q5,VW,Q5,zu,Eu,lz,qy,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5];var Sb=[R5,R5,XW,R5,YW,R5,ZW,R5,_W,R5,$W,R5,aX,R5,bX,R5,cX,R5,dX,R5,eX,R5,fX,R5,gX,R5,hX,R5,iX,R5,jX,R5,kX,R5,lX,R5,mX,R5,nX,R5,oX,R5,pX,R5,qX,R5,rX,R5,sX,R5,tX,R5,uX,R5,vX,R5,wX,R5,xX,R5,yX,R5,zX,R5,AX,R5,BX,R5,CX,R5,DX,R5,EX,R5,FX,R5,GX,R5,HX,R5,IX,R5,JX,R5,KX,R5,LX,R5,MX,R5,NX,R5,OX,R5,PX,R5,QX,R5,RX,R5,SX,R5,TX,R5,UX,R5,VX,R5,WX,R5,XX,R5,YX,R5,ZX,R5,_X,R5,$X,R5,aY,R5,bY,R5,cY,R5,dY,R5,eY,R5,Pk,Qk,rk,iq,yq,Bq,Qq,RQ,uL,vL,wL,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5];var Tb=[S5,S5,gY,S5,hY,S5,iY,S5,jY,S5,kY,S5,lY,S5,mY,S5,nY,S5,oY,S5,pY,S5,qY,S5,rY,S5,sY,S5,tY,S5,uY,S5,vY,S5,wY,S5,xY,S5,yY,S5,zY,S5,AY,S5,BY,S5,CY,S5,DY,S5,EY,S5,FY,S5,GY,S5,HY,S5,IY,S5,JY,S5,KY,S5,LY,S5,MY,S5,NY,S5,OY,S5,PY,S5,QY,S5,RY,S5,SY,S5,TY,S5,UY,S5,VY,S5,WY,S5,XY,S5,YY,S5,ZY,S5,_Y,S5,$Y,S5,aZ,S5,bZ,S5,cZ,S5,dZ,S5,eZ,S5,fZ,S5,gZ,S5,hZ,S5,iZ,S5,jZ,S5,kZ,S5,lZ,S5,mZ,S5,nZ,S5,oZ,S5,pZ,S5,Sk,Tk,Vk,Xk,Yk,al,bl,cl,dl,tk,vk,xk,yk,fq,hq,vq,xq,Dq,Fq,Hq,Iq,Nq,Pq,Mr,wu,Au,Tu,Wu,Xu,Yu,IN,SN,TN,oR,AR,yR,wO,HO,_Q,$d,ag,dr,mq,nq,rq,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5];var Ub=[T5,T5,rZ,T5,sZ,T5,tZ,T5,uZ,T5,vZ,T5,wZ,T5,xZ,T5,yZ,T5,zZ,T5,AZ,T5,BZ,T5,CZ,T5,DZ,T5,EZ,T5,FZ,T5,GZ,T5,HZ,T5,IZ,T5,JZ,T5,KZ,T5,LZ,T5,MZ,T5,NZ,T5,OZ,T5,PZ,T5,QZ,T5,RZ,T5,SZ,T5,TZ,T5,UZ,T5,VZ,T5,WZ,T5,XZ,T5,YZ,T5,ZZ,T5,_Z,T5,$Z,T5,a_,T5,b_,T5,c_,T5,d_,T5,e_,T5,f_,T5,g_,T5,h_,T5,i_,T5,j_,T5,k_,T5,l_,T5,m_,T5,n_,T5,o_,T5,p_,T5,q_,T5,r_,T5,s_,T5,t_,T5,u_,T5,v_,T5,w_,T5,x_,T5,y_,T5,z_,T5,A_,T5,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Yc,rm,sm,tm,um,Cu,fA,bA,aA,KB,TB,cP,dP,eP,fP,gP,hP,jP,kP,lP,mP,nP,oP,pP,qP,rP,sP,tP,uP,vP,wP,xP,yP,zP,AP,BP,CP,DP,EP,FP,GP,KP,MP,HC,RP,SP,TP,UP,VP,WP,XP,YP,nQ,oQ,pQ,li,_p,Zt,$t,au,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5];var Vb=[U5,U5,C_,U5,D_,U5,E_,U5,F_,U5,G_,U5,H_,U5,I_,U5,J_,U5,K_,U5,L_,U5,M_,U5,N_,U5,O_,U5,P_,U5,Q_,U5,R_,U5,S_,U5,T_,U5,U_,U5,V_,U5,W_,U5,X_,U5,Y_,U5,Z_,U5,__,U5,$_,U5,a$,U5,b$,U5,c$,U5,d$,U5,e$,U5,f$,U5,g$,U5,h$,U5,i$,U5,j$,U5,k$,U5,l$,U5,m$,U5,n$,U5,o$,U5,p$,U5,q$,U5,r$,U5,s$,U5,t$,U5,u$,U5,v$,U5,w$,U5,x$,U5,y$,U5,z$,U5,A$,U5,B$,U5,C$,U5,D$,U5,E$,U5,F$,U5,G$,U5,H$,U5,I$,U5,J$,U5,K$,U5,L$,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5];var Wb=[V5,V5,N$,V5,O$,V5,P$,V5,Q$,V5,R$,V5,S$,V5,T$,V5,U$,V5,V$,V5,W$,V5,X$,V5,Y$,V5,Z$,V5,_$,V5,$$,V5,a0,V5,b0,V5,c0,V5,d0,V5,e0,V5,f0,V5,g0,V5,h0,V5,i0,V5,j0,V5,k0,V5,l0,V5,m0,V5,n0,V5,o0,V5,p0,V5,q0,V5,r0,V5,s0,V5,t0,V5,u0,V5,v0,V5,w0,V5,x0,V5,y0,V5,z0,V5,A0,V5,B0,V5,C0,V5,D0,V5,E0,V5,F0,V5,G0,V5,H0,V5,I0,V5,J0,V5,K0,V5,L0,V5,M0,V5,N0,V5,O0,V5,P0,V5,Q0,V5,R0,V5,S0,V5,T0,V5,U0,V5,V0,V5,W0,V5,xN,yN,$k,gq,wq,Oq,UN,YN,Qh,mi,Bj,Hj,Kk,Lk,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5];var Xb=[W5,W5,Y0,W5,Z0,W5,_0,W5,$0,W5,a1,W5,b1,W5,c1,W5,d1,W5,e1,W5,f1,W5,g1,W5,h1,W5,i1,W5,j1,W5,k1,W5,l1,W5,m1,W5,n1,W5,o1,W5,p1,W5,q1,W5,r1,W5,s1,W5,t1,W5,u1,W5,v1,W5,w1,W5,x1,W5,y1,W5,z1,W5,A1,W5,B1,W5,C1,W5,D1,W5,E1,W5,F1,W5,G1,W5,H1,W5,I1,W5,J1,W5,K1,W5,L1,W5,M1,W5,N1,W5,O1,W5,P1,W5,Q1,W5,R1,W5,S1,W5,T1,W5,U1,W5,V1,W5,W1,W5,X1,W5,Y1,W5,Z1,W5,_1,W5,$1,W5,a2,W5,b2,W5,c2,W5,d2,W5,e2,W5,f2,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5];var Yb=[X5,X5,h2,X5,i2,X5,j2,X5,k2,X5,l2,X5,m2,X5,n2,X5,o2,X5,p2,X5,q2,X5,r2,X5,s2,X5,t2,X5,u2,X5,v2,X5,w2,X5,x2,X5,y2,X5,z2,X5,A2,X5,B2,X5,C2,X5,D2,X5,E2,X5,F2,X5,G2,X5,H2,X5,I2,X5,J2,X5,K2,X5,L2,X5,M2,X5,N2,X5,O2,X5,P2,X5,Q2,X5,R2,X5,S2,X5,T2,X5,U2,X5,V2,X5,W2,X5,X2,X5,Y2,X5,Z2,X5,_2,X5,$2,X5,a3,X5,b3,X5,c3,X5,d3,X5,e3,X5,f3,X5,g3,X5,h3,X5,i3,X5,j3,X5,k3,X5,l3,X5,m3,X5,n3,X5,o3,X5,p3,X5,q3,X5,AN,BN,DN,FN,GN,Rk,Uk,_k,fl,gl,hl,il,sk,uk,Ak,Cq,Eq,Kq,Qr,Rr,Vu,TO,vO,HN,MN,NN,ON,PN,QN,WN,nR,sR,XQ,UQ,rR,TQ,eO,WQ,SQ,VQ,xO,yO,zO,IO,JO,KO,kd,ld,ii,$f,Mk,Nk,Ol,Pl,Sl,qm,ut,ys,Yt,_t,ry,jz,kz,yy,zy,Yy,dz,yB,zB,LE,wG,BF,CF,hH,iH,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5];var Zb=[Y5,Y5,s3,Y5,t3,Y5,u3,Y5,v3,Y5,w3,Y5,x3,Y5,y3,Y5,z3,Y5,A3,Y5,B3,Y5,C3,Y5,D3,Y5,E3,Y5,F3,Y5,G3,Y5,H3,Y5,I3,Y5,J3,Y5,K3,Y5,L3,Y5,M3,Y5,N3,Y5,O3,Y5,P3,Y5,Q3,Y5,R3,Y5,S3,Y5,T3,Y5,U3,Y5,V3,Y5,W3,Y5,X3,Y5,Y3,Y5,Z3,Y5,_3,Y5,$3,Y5,a4,Y5,b4,Y5,c4,Y5,d4,Y5,e4,Y5,f4,Y5,g4,Y5,h4,Y5,i4,Y5,j4,Y5,k4,Y5,l4,Y5,m4,Y5,n4,Y5,o4,Y5,p4,Y5,q4,Y5,r4,Y5,s4,Y5,t4,Y5,u4,Y5,v4,Y5,w4,Y5,x4,Y5,y4,Y5,z4,Y5,A4,Y5,B4,Y5,vN,Wk,el,wk,Gq,Nr,Or,JN,KN,XN,LO,_j,$j,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5];var _b=[Z5,Z5,D4,Z5,E4,Z5,F4,Z5,G4,Z5,H4,Z5,I4,Z5,J4,Z5,K4,Z5,L4,Z5,M4,Z5,N4,Z5,O4,Z5,P4,Z5,Q4,Z5,R4,Z5,S4,Z5,T4,Z5,U4,Z5,V4,Z5,W4,Z5,X4,Z5,Y4,Z5,Z4,Z5,_4,Z5,$4,Z5,a5,Z5,b5,Z5,c5,Z5,d5,Z5,e5,Z5,f5,Z5,g5,Z5,h5,Z5,i5,Z5,j5,Z5,k5,Z5,l5,Z5,m5,Z5,n5,Z5,o5,Z5,p5,Z5,q5,Z5,r5,Z5,s5,Z5,t5,Z5,u5,Z5,v5,Z5,w5,Z5,x5,Z5,y5,Z5,z5,Z5,A5,Z5,B5,Z5,C5,Z5,D5,Z5,E5,Z5,F5,Z5,G5,Z5,H5,Z5,I5,Z5,J5,Z5,K5,Z5,L5,Z5,M5,Z5,Du,vd,xd,iB,jB,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5];return{_sqlite3_value_blob:_d,_sqlite3_column_name:He,_sqlite3_reset:Yd,_sqlite3_column_type:Ge,_sqlite3_exec:$e,_sqlite3_result_null:le,_sqlite3_step:te,_bitshift64Lshr:SR,_sqlite3_prepare_v2:af,_sqlite3_close_v2:tf,_sqlite3_open:Ff,_bitshift64Shl:WR,_sqlite3_result_text:me,_fflush:cR,_sqlite3_column_bytes:Ae,_sqlite3_bind_int:Ke,_sqlite3_bind_blob:Ie,_memset:VR,_sqlite3_value_double:be,_memcpy:TR,_sqlite3_result_double:he,_sqlite3_value_text:$d,_sqlite3_changes:qf,_sqlite3_column_blob:ze,_sqlite3_bind_parameter_index:Re,_sqlite3_value_type:ee,_i64Subtract:QR,_sqlite3_column_text:Ee,_i64Add:RR,_sqlite3_value_bytes:ae,_sqlite3_finalize:Xd,_sqlite3_column_double:Be,_sqlite3_create_function_v2:xf,_sqlite3_free:Kd,_sqlite3_value_int:ce,_sqlite3_data_count:ye,_sqlite3_bind_text:Ne,_sqlite3_bind_double:Je,___errno_location:BQ,_RegisterExtensionFunctions:ic,_free:KR,_memmove:UR,_sqlite3_errmsg:bf,_sqlite3_clear_bindings:Zd,_malloc:JR,runPostSets:PR,stackAlloc:$b,stackSave:ac,stackRestore:bc,establishStackSpace:cc,setThrew:dc,setTempRet0:gc,getTempRet0:hc,dynCall_iiii:eS,dynCall_i:pT,dynCall_vi:AU,dynCall_vii:LV,dynCall_iiiiiii:WW,dynCall_ii:fY,dynCall_viii:qZ,dynCall_v:B_,dynCall_iiiii:M$,dynCall_viiiiii:X0,dynCall_iii:g2,dynCall_iiiiii:r3,dynCall_viiii:C4}}) +var Bb=[kha,kha,t0,kha,u0,kha,v0,kha,w0,kha,x0,kha,y0,kha,z0,kha,A0,kha,B0,kha,C0,kha,D0,kha,E0,kha,F0,kha,G0,kha,H0,kha,I0,kha,J0,kha,K0,kha,L0,kha,M0,kha,N0,kha,O0,kha,P0,kha,Q0,kha,R0,kha,S0,kha,T0,kha,U0,kha,V0,kha,W0,kha,X0,kha,Y0,kha,Z0,kha,_0,kha,$0,kha,a1,kha,b1,kha,c1,kha,d1,kha,e1,kha,f1,kha,g1,kha,h1,kha,i1,kha,j1,kha,k1,kha,l1,kha,m1,kha,n1,kha,o1,kha,p1,kha,q1,kha,r1,kha,s1,kha,t1,kha,u1,kha,v1,kha,w1,kha,x1,kha,y1,kha,z1,kha,A1,kha,B1,kha,C1,kha,ue,xe,Ae,Ce,Je,Pe,bf,W_,s$,r$,L$,D$,zg,Cg,Jm,aL,CK,fQ,vQ,KQ,NQ,QW,tR,cY,kY,mY,w_,q_,bE,cE,dE,TN,PM,SM,PN,NN,XN,cO,FU,p_,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha];var Cb=[lha,lha,E1,lha,F1,lha,G1,lha,H1,lha,I1,lha,J1,lha,K1,lha,L1,lha,M1,lha,N1,lha,O1,lha,P1,lha,Q1,lha,R1,lha,S1,lha,T1,lha,U1,lha,V1,lha,W1,lha,X1,lha,Y1,lha,Z1,lha,_1,lha,$1,lha,a2,lha,b2,lha,c2,lha,d2,lha,e2,lha,f2,lha,g2,lha,h2,lha,i2,lha,j2,lha,k2,lha,l2,lha,m2,lha,n2,lha,o2,lha,p2,lha,q2,lha,r2,lha,s2,lha,t2,lha,u2,lha,v2,lha,w2,lha,x2,lha,y2,lha,z2,lha,A2,lha,B2,lha,C2,lha,D2,lha,E2,lha,F2,lha,G2,lha,H2,lha,I2,lha,J2,lha,K2,lha,L2,lha,M2,lha,N2,lha,BU,CU,DU,JS,LS,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha];var Db=[mha,mha,P2,mha,Q2,mha,R2,mha,S2,mha,T2,mha,U2,mha,V2,mha,W2,mha,X2,mha,Y2,mha,Z2,mha,_2,mha,$2,mha,a3,mha,b3,mha,c3,mha,d3,mha,e3,mha,f3,mha,g3,mha,h3,mha,i3,mha,j3,mha,k3,mha,l3,mha,m3,mha,n3,mha,o3,mha,p3,mha,q3,mha,r3,mha,s3,mha,t3,mha,u3,mha,v3,mha,w3,mha,x3,mha,y3,mha,z3,mha,A3,mha,B3,mha,C3,mha,D3,mha,E3,mha,F3,mha,G3,mha,H3,mha,I3,mha,J3,mha,K3,mha,L3,mha,M3,mha,N3,mha,O3,mha,P3,mha,Q3,mha,R3,mha,S3,mha,T3,mha,U3,mha,V3,mha,W3,mha,X3,mha,Y3,mha,K$,df,$j,ak,gk,hk,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha];var Eb=[nha,nha,_3,nha,$3,nha,a4,nha,b4,nha,c4,nha,d4,nha,e4,nha,f4,nha,g4,nha,h4,nha,i4,nha,j4,nha,k4,nha,l4,nha,m4,nha,n4,nha,o4,nha,p4,nha,q4,nha,r4,nha,s4,nha,t4,nha,u4,nha,v4,nha,w4,nha,x4,nha,y4,nha,z4,nha,A4,nha,B4,nha,C4,nha,D4,nha,E4,nha,F4,nha,G4,nha,H4,nha,I4,nha,J4,nha,K4,nha,L4,nha,M4,nha,N4,nha,O4,nha,P4,nha,Q4,nha,R4,nha,S4,nha,T4,nha,U4,nha,V4,nha,W4,nha,X4,nha,Y4,nha,Z4,nha,_4,nha,$4,nha,a5,nha,b5,nha,c5,nha,d5,nha,e5,nha,f5,nha,g5,nha,h5,nha,Ic,Jc,Lc,Mc,Nc,Oc,Te,yg,Gg,Hg,rg,wg,ih,Hh,Ih,Jh,Lh,Nh,ck,dk,fk,jk,kk,mk,XT,_T,bU,_d,Ol,wy,Nq,qK,SN,bR,fV,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha];var Fb=[oha,oha,j5,oha,k5,oha,l5,oha,m5,oha,n5,oha,o5,oha,p5,oha,q5,oha,r5,oha,s5,oha,t5,oha,u5,oha,v5,oha,w5,oha,x5,oha,y5,oha,z5,oha,A5,oha,B5,oha,C5,oha,D5,oha,E5,oha,F5,oha,G5,oha,H5,oha,I5,oha,J5,oha,K5,oha,L5,oha,M5,oha,N5,oha,O5,oha,P5,oha,Q5,oha,R5,oha,S5,oha,T5,oha,U5,oha,V5,oha,W5,oha,X5,oha,Y5,oha,Z5,oha,_5,oha,$5,oha,a6,oha,b6,oha,c6,oha,d6,oha,e6,oha,f6,oha,g6,oha,h6,oha,i6,oha,j6,oha,k6,oha,l6,oha,m6,oha,n6,oha,o6,oha,p6,oha,q6,oha,r6,oha,s6,oha,Ag,Fg,Bx,Ew,rS,sS,tS,uS,vS,wS,bT,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha];var Gb=[pha,pha,u6,pha,v6,pha,w6,pha,x6,pha,y6,pha,z6,pha,A6,pha,B6,pha,C6,pha,D6,pha,E6,pha,F6,pha,G6,pha,H6,pha,I6,pha,J6,pha,K6,pha,L6,pha,M6,pha,N6,pha,O6,pha,P6,pha,Q6,pha,R6,pha,S6,pha,T6,pha,U6,pha,V6,pha,W6,pha,X6,pha,Y6,pha,Z6,pha,_6,pha,$6,pha,a7,pha,b7,pha,c7,pha,d7,pha,e7,pha,f7,pha,g7,pha,h7,pha,i7,pha,j7,pha,k7,pha,l7,pha,m7,pha,n7,pha,o7,pha,p7,pha,q7,pha,r7,pha,s7,pha,t7,pha,u7,pha,v7,pha,w7,pha,x7,pha,y7,pha,z7,pha,A7,pha,B7,pha,C7,pha,D7,pha,E$,SK,TK,uK,jQ,zQ,CQ,RQ,GW,HW,jR,kR,YT,$T,cU,SH,TH,UH,dU,KU,HU,DV,MY,BY,jZ,DZ,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha];var Hb=[qha,qha,F7,qha,G7,qha,H7,qha,I7,qha,J7,qha,K7,qha,L7,qha,M7,qha,N7,qha,O7,qha,P7,qha,Q7,qha,R7,qha,S7,qha,T7,qha,U7,qha,V7,qha,W7,qha,X7,qha,Y7,qha,Z7,qha,_7,qha,$7,qha,a8,qha,b8,qha,c8,qha,d8,qha,e8,qha,f8,qha,g8,qha,h8,qha,i8,qha,j8,qha,k8,qha,l8,qha,m8,qha,n8,qha,o8,qha,p8,qha,q8,qha,r8,qha,s8,qha,t8,qha,u8,qha,v8,qha,w8,qha,x8,qha,y8,qha,z8,qha,A8,qha,B8,qha,C8,qha,D8,qha,E8,qha,F8,qha,G8,qha,H8,qha,I8,qha,J8,qha,K8,qha,L8,qha,M8,qha,N8,qha,O8,qha,Ge,Qe,Re,U_,F$,O$,Ff,Rf,xg,Bg,qg,tg,ug,vg,bk,ek,ik,lk,Gm,VK,WK,YK,_K,$K,dL,eL,fL,gL,wK,yK,AK,BK,gQ,iQ,wQ,yQ,EQ,GQ,IQ,JQ,OQ,QQ,JW,KW,MW,OW,PW,TW,UW,VW,WW,mR,nR,pR,rR,sR,$X,aY,eY,iY,o_,Kd,Sl,Rh,GH,dI,mI,nQ,oQ,sQ,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha];var Ib=[rha,rha,Q8,rha,R8,rha,S8,rha,T8,rha,U8,rha,V8,rha,W8,rha,X8,rha,Y8,rha,Z8,rha,_8,rha,$8,rha,a9,rha,b9,rha,c9,rha,d9,rha,e9,rha,f9,rha,g9,rha,h9,rha,i9,rha,j9,rha,k9,rha,l9,rha,m9,rha,n9,rha,o9,rha,p9,rha,q9,rha,r9,rha,s9,rha,t9,rha,u9,rha,v9,rha,w9,rha,x9,rha,y9,rha,z9,rha,A9,rha,B9,rha,C9,rha,D9,rha,E9,rha,F9,rha,G9,rha,H9,rha,I9,rha,J9,rha,K9,rha,L9,rha,M9,rha,N9,rha,O9,rha,P9,rha,Q9,rha,R9,rha,S9,rha,T9,rha,U9,rha,V9,rha,W9,rha,X9,rha,Y9,rha,Z9,rha,Xb,Yb,Zb,_b,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Kc,Dg,ch,dh,eh,fh,gh,hh,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Kh,Mh,Oh,rj,sj,tj,uj,vj,wj,xj,yj,Qj,Rj,Sj,vy,ry,qy,Qz,Rz,uM,vM,wM,xM,NU,OU,PU,QU,rY,wp,tp,vp,_J,$P,hR,iR,wW,xW,IS,KS,TS,US,VS,ZX,rha,rha,rha,rha,rha,rha,rha,rha,rha,rha,rha,rha];var Jb=[sha,sha,$9,sha,aaa,sha,baa,sha,caa,sha,daa,sha,eaa,sha,faa,sha,gaa,sha,haa,sha,iaa,sha,jaa,sha,kaa,sha,laa,sha,maa,sha,naa,sha,oaa,sha,paa,sha,qaa,sha,raa,sha,saa,sha,taa,sha,uaa,sha,vaa,sha,waa,sha,xaa,sha,yaa,sha,zaa,sha,Aaa,sha,Baa,sha,Caa,sha,Daa,sha,Eaa,sha,Faa,sha,Gaa,sha,Haa,sha,Iaa,sha,Jaa,sha,Kaa,sha,Laa,sha,Maa,sha,Naa,sha,Oaa,sha,Paa,sha,Qaa,sha,Raa,sha,Saa,sha,Taa,sha,Uaa,sha,Vaa,sha,Waa,sha,Xaa,sha,Yaa,sha,Zaa,sha,_aa,sha,$aa,sha,aba,sha,bba,sha,cba,sha,dba,sha,eba,sha,fba,sha,gba,sha,hba,sha,iba,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha];var Kb=[tha,tha,kba,tha,lba,tha,mba,tha,nba,tha,oba,tha,pba,tha,qba,tha,rba,tha,sba,tha,tba,tha,uba,tha,vba,tha,wba,tha,xba,tha,yba,tha,zba,tha,Aba,tha,Bba,tha,Cba,tha,Dba,tha,Eba,tha,Fba,tha,Gba,tha,Hba,tha,Iba,tha,Jba,tha,Kba,tha,Lba,tha,Mba,tha,Nba,tha,Oba,tha,Pba,tha,Qba,tha,Rba,tha,Sba,tha,Tba,tha,Uba,tha,Vba,tha,Wba,tha,Xba,tha,Yba,tha,Zba,tha,_ba,tha,$ba,tha,aca,tha,bca,tha,cca,tha,dca,tha,eca,tha,fca,tha,gca,tha,hca,tha,ica,tha,jca,tha,kca,tha,lca,tha,mca,tha,nca,tha,oca,tha,pca,tha,qca,tha,rca,tha,sca,tha,tca,tha,ve,we,Se,We,cL,hQ,xQ,PQ,SW,WT,ZT,aU,jY,lY,qY,IA,nv,sv,oG,GJ,NK,OK,aR,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha];var Lb=[uha,uha,vca,uha,wca,uha,xca,uha,yca,uha,zca,uha,Aca,uha,Bca,uha,Cca,uha,Dca,uha,Eca,uha,Fca,uha,Gca,uha,Hca,uha,Ica,uha,Jca,uha,Kca,uha,Lca,uha,Mca,uha,Nca,uha,Oca,uha,Pca,uha,Qca,uha,Rca,uha,Sca,uha,Tca,uha,Uca,uha,Vca,uha,Wca,uha,Xca,uha,Yca,uha,Zca,uha,_ca,uha,$ca,uha,ada,uha,bda,uha,cda,uha,dda,uha,eda,uha,fda,uha,gda,uha,hda,uha,ida,uha,jda,uha,kda,uha,lda,uha,mda,uha,nda,uha,oda,uha,pda,uha,qda,uha,rda,uha,sda,uha,tda,uha,uda,uha,vda,uha,wda,uha,xda,uha,yda,uha,zda,uha,Ada,uha,Bda,uha,Cda,uha,Dda,uha,Eda,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha];var Mb=[vha,vha,Gda,vha,Hda,vha,Ida,vha,Jda,vha,Kda,vha,Lda,vha,Mda,vha,Nda,vha,Oda,vha,Pda,vha,Qda,vha,Rda,vha,Sda,vha,Tda,vha,Uda,vha,Vda,vha,Wda,vha,Xda,vha,Yda,vha,Zda,vha,_da,vha,$da,vha,aea,vha,bea,vha,cea,vha,dea,vha,eea,vha,fea,vha,gea,vha,hea,vha,iea,vha,jea,vha,kea,vha,lea,vha,mea,vha,nea,vha,oea,vha,pea,vha,qea,vha,rea,vha,sea,vha,tea,vha,uea,vha,vea,vha,wea,vha,xea,vha,yea,vha,zea,vha,Aea,vha,Bea,vha,Cea,vha,Dea,vha,Eea,vha,Fea,vha,Gea,vha,Hea,vha,Iea,vha,Jea,vha,Kea,vha,Lea,vha,Mea,vha,Nea,vha,Oea,vha,Pea,vha,ye,ze,Be,De,Ee,jg,Ef,Fe,Ke,Le,Me,Ne,Oe,Ue,C$,u$,t$,V_,N$,I$,cf,J$,h$,B$,Gf,Hf,If,Sf,Tf,Uf,sg,Km,Lm,UK,XK,bL,iL,jL,kL,lL,vK,xK,DK,DQ,FQ,LQ,IW,LW,RW,YW,ZW,_W,$W,lR,oR,uR,bY,fY,gY,nY,Yc,Zc,Yo,lo,sp,up,Fd,Fw,zx,Ax,Mw,Nw,kx,sx,Dz,Ez,MA,ZC,pE,PD,QD,aF,bF,PK,QK,RL,SL,VL,tM,bV,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha];var Nb=[wha,wha,Rea,wha,Sea,wha,Tea,wha,Uea,wha,Vea,wha,Wea,wha,Xea,wha,Yea,wha,Zea,wha,_ea,wha,$ea,wha,afa,wha,bfa,wha,cfa,wha,dfa,wha,efa,wha,ffa,wha,gfa,wha,hfa,wha,ifa,wha,jfa,wha,kfa,wha,lfa,wha,mfa,wha,nfa,wha,ofa,wha,pfa,wha,qfa,wha,rfa,wha,sfa,wha,tfa,wha,ufa,wha,vfa,wha,wfa,wha,xfa,wha,yfa,wha,zfa,wha,Afa,wha,Bfa,wha,Cfa,wha,Dfa,wha,Efa,wha,Ffa,wha,Gfa,wha,Hfa,wha,Ifa,wha,Jfa,wha,Kfa,wha,Lfa,wha,Mfa,wha,Nfa,wha,Ofa,wha,Pfa,wha,Qfa,wha,Rfa,wha,Sfa,wha,Tfa,wha,Ufa,wha,Vfa,wha,Wfa,wha,Xfa,wha,Yfa,wha,Zfa,wha,_fa,wha,te,He,Ie,Ve,Vf,Hm,Im,ZK,hL,zK,HQ,NW,XW,qR,dY,hY,oY,cK,eK,_Q,$Q,IV,JV,KV,LV,MV,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha];var Ob=[xha,xha,aga,xha,bga,xha,cga,xha,dga,xha,ega,xha,fga,xha,gga,xha,hga,xha,iga,xha,jga,xha,kga,xha,lga,xha,mga,xha,nga,xha,oga,xha,pga,xha,qga,xha,rga,xha,sga,xha,tga,xha,uga,xha,vga,xha,wga,xha,xga,xha,yga,xha,zga,xha,Aga,xha,Bga,xha,Cga,xha,Dga,xha,Ega,xha,Fga,xha,Gga,xha,Hga,xha,Iga,xha,Jga,xha,Kga,xha,Lga,xha,Mga,xha,Nga,xha,Oga,xha,Pga,xha,Qga,xha,Rga,xha,Sga,xha,Tga,xha,Uga,xha,Vga,xha,Wga,xha,Xga,xha,Yga,xha,Zga,xha,_ga,xha,$ga,xha,aha,xha,bha,xha,cha,xha,dha,xha,eha,xha,fha,xha,gha,xha,hha,xha,iha,xha,jha,xha,Eg,pY,hd,jd,nz,oz,zS,CS,DS,EX,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha];return{___uremdi3:l0,_sqlite3_value_blob:Ri,_sqlite3_column_name:Bv,_sqlite3_reset:ys,_sqlite3_column_type:Dv,_sqlite3_exec:qv,_sqlite3_result_null:nj,___udivdi3:p0,_sqlite3_step:Bs,_bitshift64Lshr:f0,_sqlite3_prepare_v2:zv,_sqlite3_close_v2:WJ,_sqlite3_open:aK,_bitshift64Shl:j0,_sqlite3_result_text:xi,_fflush:z$,_sqlite3_errmsg:Ev,_sqlite3_column_bytes:gJ,_sqlite3_bind_int:pJ,_sqlite3_bind_blob:lJ,_memset:m0,_sbrk:i0,_sqlite3_value_double:Hi,_memcpy:h0,_sqlite3_result_double:Ci,_sqlite3_value_text:Rh,___muldi3:r0,_sqlite3_changes:bj,_sqlite3_column_blob:fJ,_sqlite3_bind_parameter_index:wJ,___divdi3:n0,_sqlite3_value_type:Ai,_pthread_mutex_trylock:d0,_i64Subtract:Z$,_sqlite3_column_text:Cv,___udivmoddi4:b0,_llvm_cttz_i32:a0,_i64Add:_$,_sqlite3_value_bytes:Sh,_pthread_mutex_unlock:g0,_sqlite3_finalize:Fr,_sqlite3_column_double:hJ,_sqlite3_create_function_v2:YJ,_sqlite3_free:_d,_sqlite3_value_int:Qi,_sqlite3_data_count:eJ,_sqlite3_bind_text:sJ,_sqlite3_bind_double:oJ,___errno_location:s_,___muldsi3:q0,_RegisterExtensionFunctions:Wb,_free:R$,_memmove:k0,_emscripten_get_global_libc:n_,_sqlite3_clear_bindings:As,_malloc:Q$,_bitshift64Ashr:e0,_pthread_mutex_lock:$$,_memalign:W$,___remdi3:c0,_llvm_bswap_i32:o0,runPostSets:Y$,stackAlloc:Pb,stackSave:Qb,stackRestore:Rb,establishStackSpace:Sb,setTempRet0:Ub,getTempRet0:Vb,setThrew:Tb,stackAlloc:Pb,stackSave:Qb,stackRestore:Rb,establishStackSpace:Sb,setThrew:Tb,setTempRet0:Ub,getTempRet0:Vb,dynCall_iiii:s0,dynCall_viiiii:D1,dynCall_i:O2,dynCall_vi:Z3,dynCall_vii:i5,dynCall_iiiiiii:t6,dynCall_ii:E7,dynCall_viii:P8,dynCall_v:_9,dynCall_iiiii:jba,dynCall_viiiiii:uca,dynCall_iii:Fda,dynCall_iiiiii:Qea,dynCall_viiii:$fa}}) // EMSCRIPTEN_END_ASM -(f.mb,f.nb,buffer);f._sqlite3_value_blob=W._sqlite3_value_blob;f._sqlite3_column_name=W._sqlite3_column_name;f._sqlite3_reset=W._sqlite3_reset;f._sqlite3_column_type=W._sqlite3_column_type;f._sqlite3_exec=W._sqlite3_exec;f._sqlite3_result_null=W._sqlite3_result_null;f._sqlite3_step=W._sqlite3_step;var Tc=f._bitshift64Lshr=W._bitshift64Lshr;f._sqlite3_prepare_v2=W._sqlite3_prepare_v2;f._sqlite3_close_v2=W._sqlite3_close_v2;f._sqlite3_open=W._sqlite3_open; -var bd=f._bitshift64Shl=W._bitshift64Shl;f._sqlite3_result_text=W._sqlite3_result_text;f._fflush=W._fflush;f._sqlite3_column_bytes=W._sqlite3_column_bytes;f._sqlite3_bind_int=W._sqlite3_bind_int;f._sqlite3_bind_blob=W._sqlite3_bind_blob;var ad=f._memset=W._memset;f._sqlite3_value_double=W._sqlite3_value_double;var Yc=f._memcpy=W._memcpy;f._sqlite3_result_double=W._sqlite3_result_double;f._sqlite3_value_text=W._sqlite3_value_text;f._sqlite3_changes=W._sqlite3_changes;f._sqlite3_column_blob=W._sqlite3_column_blob; -f._sqlite3_bind_parameter_index=W._sqlite3_bind_parameter_index;f._sqlite3_value_type=W._sqlite3_value_type;var zb=f._i64Subtract=W._i64Subtract;f._sqlite3_column_text=W._sqlite3_column_text;var Ab=f._i64Add=W._i64Add;f._sqlite3_value_bytes=W._sqlite3_value_bytes;f._sqlite3_finalize=W._sqlite3_finalize;f._sqlite3_column_double=W._sqlite3_column_double;f._sqlite3_create_function_v2=W._sqlite3_create_function_v2;f._sqlite3_free=W._sqlite3_free;f._sqlite3_value_int=W._sqlite3_value_int; -f._sqlite3_data_count=W._sqlite3_data_count;f._sqlite3_bind_text=W._sqlite3_bind_text;f._sqlite3_bind_double=W._sqlite3_bind_double;f.___errno_location=W.___errno_location;f._RegisterExtensionFunctions=W._RegisterExtensionFunctions;var Pa=f._free=W._free;f.runPostSets=W.runPostSets;var Zc=f._memmove=W._memmove;f._sqlite3_errmsg=W._sqlite3_errmsg;f._sqlite3_clear_bindings=W._sqlite3_clear_bindings;var Ga=f._malloc=W._malloc;f.dynCall_iiii=W.dynCall_iiii;f.dynCall_i=W.dynCall_i;f.dynCall_vi=W.dynCall_vi; -f.dynCall_vii=W.dynCall_vii;f.dynCall_iiiiiii=W.dynCall_iiiiiii;f.dynCall_ii=W.dynCall_ii;f.dynCall_viii=W.dynCall_viii;f.dynCall_v=W.dynCall_v;f.dynCall_iiiii=W.dynCall_iiiii;f.dynCall_viiiiii=W.dynCall_viiiiii;f.dynCall_iii=W.dynCall_iii;f.dynCall_iiiiii=W.dynCall_iiiiii;f.dynCall_viiii=W.dynCall_viiii;l.R=W.stackAlloc;l.qa=W.stackSave;l.ga=W.stackRestore;l.we=W.establishStackSpace;l.Qb=W.setTempRet0;l.Ab=W.getTempRet0; -function ka(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ka.prototype=Error();ka.prototype.constructor=ka;var Vd=null,vb=function Wd(){f.calledRun||Xd();f.calledRun||(vb=Wd)}; -f.callMain=f.te=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}assert(0==tb,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(0==bb.length,"cannot call main when preRun functions remain to be called");a=a||[];Ja||(Ja=!0,ab(cb));var c=a.length+1,d=[z(B(f.thisProgram),"i8",0)];b();for(var e=0;eg;a=0<=g?++c:--c)e[a]=u[d+a];return e};a.prototype.get=function(a){var c,d,e;null!=a&&this.bind(a)&&this.step();e=[];a=c=0;for(d=te(this.u);0<=d?cd;a=0<=d?++c:--c)switch(re(this.u,a)){case X.gb:case X.FLOAT:e.push(this.yb(a));break;case X.ib:e.push(this.zb(a));break;case X.cb:e.push(this.getBlob(a));break;default:e.push(null)}return e};a.prototype.getColumnNames= -function(){var a,c,d,e;e=[];a=c=0;for(d=te(this.u);0<=d?cd;a=0<=d?++c:--c)e.push(pe(this.u,a));return e};a.prototype.getAsObject=function(a){var c,d,e,g,h,m;m=this.get(a);g=this.getColumnNames();h={};a=c=0;for(d=g.length;c>>0);null!=a&&Gc("/",this.filename,a,!0,!0);this.handleError(xe(this.filename,Z));this.db=y(Z,"i32");be(this.db);this.ra={}}a.prototype.run=function(a,c){var d;if(!this.db)throw"Database closed";c?(d=this.prepare(a,c),d.step(),d.free()):this.handleError(ve(this.db,a,0,0,Z));return this};a.prototype.exec=function(a){var c,d,e,g,h;if(!this.db)throw"Database closed";g=l.qa();d=l.R(a.length<<3);wa(a,d);a=l.R(4);for(e= -[];y(d,"i8")!==ae;)if(ya(Z,0,"i32"),ya(a,0,"i32"),this.handleError(ze(this.db,d,-1,Z,a)),c=y(Z,"i32"),d=y(a,"i32"),c!==ae){h=new ce(c,this);for(c=null;h.step();)null===c&&(c={columns:h.getColumnNames(),values:[]},e.push(c)),c.values.push(h.get());h.free()}l.ga(g);return e};a.prototype.each=function(a,c,d,e){"function"===typeof c&&(e=d,d=c,c=void 0);for(a=this.prepare(a,c);a.step();)d(a.getAsObject());a.free();if("function"===typeof e)return e()};a.prototype.prepare=function(a,c){var d,e;ya(Z,0,"i32"); -this.handleError(ye(this.db,a,-1,Z,ae));d=y(Z,"i32");if(d===ae)throw"Nothing to prepare";e=new ce(d,this);null!=c&&e.bind(c);return this.ra[d]=e};a.prototype["export"]=function(){var a,c,d,e;d=this.ra;for(a in d)e=d[a],e.free();this.handleError(le(this.db));e=this.filename;a=a={encoding:"binary"};a.flags=a.flags||"r";a.encoding=a.encoding||"binary";if("utf8"!==a.encoding&&"binary"!==a.encoding)throw Error('Invalid encoding type "'+a.encoding+'"');d=wc(e,a.flags);e=rc(e).size;var g=new Uint8Array(e); -Ac(d,g,0,e,0);"utf8"===a.encoding?c=La(g,0):"binary"===a.encoding&&(c=g);yc(d);this.handleError(xe(this.filename,Z));this.db=y(Z,"i32");return c};a.prototype.close=function(){var a,c,d;c=this.ra;for(a in c)d=c[a],d.free();this.handleError(le(this.db));qc("/"+this.filename);return this.db=null};a.prototype.handleError=function(a){if(a===X.ka)return null;a=ue(this.db);throw Error(a);};a.prototype.getRowsModified=function(){return je(this.db)};a.prototype.create_function=function(a,c){var d;d=l.La(function(a, -b,d){var m,t,r,x,v;t=[];for(m=r=0;0<=b?r<=b:r>=b;m=0<=b?++r:--r)x=y(d+4*m,"i32"),v=Ke(x),m=function(){switch(!1){case 1!==v:return Ie;case 2!==v:return He;case 3!==v:return Je;case 4!==v:return function(a){var b,c,d,e;e=Ge(a);b=Fe(a);a=new Uint8Array(e);for(c=d=0;0<=e?de;c=0<=e?++d:--d)a[c]=u[b+c];return a};default:return function(){return null}}}(),m=m(x),t.push(m);if(b=c.apply(null,t))switch(typeof b){case "number":return Be(a,b);case "string":return De(a,b,-1,-1)}else return Ce(a)});this.handleError(se(this.db, -a,c.length,X.jb,0,d,0,0,0));return this};return a}();xe=f.cwrap("sqlite3_open","number",["string","number"]);le=f.cwrap("sqlite3_close_v2","number",["number"]);ve=f.cwrap("sqlite3_exec","number",["number","string","number","number","number"]);f.cwrap("sqlite3_free","",["number"]);je=f.cwrap("sqlite3_changes","number",["number"]);ye=f.cwrap("sqlite3_prepare_v2","number",["number","string","number","number","number"]);ze=f.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]); -ie=f.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]);ee=f.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]);fe=f.cwrap("sqlite3_bind_double","number",["number","number","number"]);ge=f.cwrap("sqlite3_bind_int","number",["number","number","number"]);he=f.cwrap("sqlite3_bind_parameter_index","number",["number","string"]);Ee=f.cwrap("sqlite3_step","number",["number"]);ue=f.cwrap("sqlite3_errmsg","string",["number"]); -te=f.cwrap("sqlite3_data_count","number",["number"]);oe=f.cwrap("sqlite3_column_double","number",["number","number"]);qe=f.cwrap("sqlite3_column_text","string",["number","number"]);me=f.cwrap("sqlite3_column_blob","number",["number","number"]);ne=f.cwrap("sqlite3_column_bytes","number",["number","number"]);re=f.cwrap("sqlite3_column_type","number",["number","number"]);pe=f.cwrap("sqlite3_column_name","string",["number","number"]);Ae=f.cwrap("sqlite3_reset","number",["number"]); -ke=f.cwrap("sqlite3_clear_bindings","number",["number"]);we=f.cwrap("sqlite3_finalize","number",["number"]);se=f.cwrap("sqlite3_create_function_v2","number","number string number number number number number number number".split(" "));Ke=f.cwrap("sqlite3_value_type","number",["number"]);Ge=f.cwrap("sqlite3_value_bytes","number",["number"]);Je=f.cwrap("sqlite3_value_text","string",["number"]);Ie=f.cwrap("sqlite3_value_int","number",["number"]);Fe=f.cwrap("sqlite3_value_blob","number",["number"]); -He=f.cwrap("sqlite3_value_double","number",["number"]);Be=f.cwrap("sqlite3_result_double","",["number","number"]);Ce=f.cwrap("sqlite3_result_null","",["number"]);De=f.cwrap("sqlite3_result_text","",["number","string","number","number"]);be=f.cwrap("RegisterExtensionFunctions","number",["number"]);this.SQL={Database:Database};for(de in this.SQL)f[de]=this.SQL[de];ae=0;X.ka=0;X.ERROR=1;X.$d=2;X.je=3;X.Ub=4;X.Wb=5;X.ce=6;X.NOMEM=7;X.me=8;X.ae=9;X.be=10;X.Zb=11;X.NOTFOUND=12;X.Yd=13;X.Xb=14;X.ke=15; -X.EMPTY=16;X.ne=17;X.pe=18;X.Yb=19;X.de=20;X.ee=21;X.fe=22;X.Vb=23;X.Xd=24;X.le=25;X.ge=26;X.he=27;X.qe=28;X.hb=100;X.DONE=101;X.gb=1;X.FLOAT=2;X.ib=3;X.cb=4;X.ie=5;X.jb=1; +(e.Ua,e.Va,buffer),Vc=e._llvm_bswap_i32=W._llvm_bswap_i32;e._sqlite3_value_blob=W._sqlite3_value_blob;e.stackSave=W.stackSave;e._sqlite3_column_name=W._sqlite3_column_name;e._sqlite3_reset=W._sqlite3_reset;e._sqlite3_column_type=W._sqlite3_column_type;e._sqlite3_exec=W._sqlite3_exec;e._sqlite3_data_count=W._sqlite3_data_count;e.getTempRet0=W.getTempRet0; +e._sqlite3_result_null=W._sqlite3_result_null;var Wc=e.___udivdi3=W.___udivdi3;e._sqlite3_step=W._sqlite3_step;var Ic=e._bitshift64Lshr=W._bitshift64Lshr;e._sqlite3_prepare_v2=W._sqlite3_prepare_v2;e._sqlite3_close_v2=W._sqlite3_close_v2;e._sqlite3_open=W._sqlite3_open;var Pc=e._bitshift64Shl=W._bitshift64Shl;e._sqlite3_result_text=W._sqlite3_result_text;e._fflush=W._fflush;e._emscripten_get_global_libc=W._emscripten_get_global_libc;e._sqlite3_column_bytes=W._sqlite3_column_bytes; +e._sqlite3_bind_int=W._sqlite3_bind_int;e._sqlite3_bind_blob=W._sqlite3_bind_blob;var Tc=e._memset=W._memset,Oc=e._sbrk=W._sbrk;e._sqlite3_value_double=W._sqlite3_value_double;var Nc=e._memcpy=W._memcpy;e._sqlite3_result_double=W._sqlite3_result_double;e._sqlite3_value_text=W._sqlite3_value_text;var Yc=e.___muldi3=W.___muldi3;e._sqlite3_changes=W._sqlite3_changes;e._sqlite3_column_blob=W._sqlite3_column_blob;var Rc=e.___uremdi3=W.___uremdi3,Uc=e.___divdi3=W.___divdi3;e._sqlite3_value_type=W._sqlite3_value_type; +var Ac=e._pthread_mutex_trylock=W._pthread_mutex_trylock,hb=e._i64Subtract=W._i64Subtract;e._sqlite3_column_text=W._sqlite3_column_text;var xc=e.___udivmoddi4=W.___udivmoddi4;e.setTempRet0=W.setTempRet0;var ib=e._i64Add=W._i64Add;e._sqlite3_value_bytes=W._sqlite3_value_bytes;var Mc=e._pthread_mutex_unlock=W._pthread_mutex_unlock;e._sqlite3_finalize=W._sqlite3_finalize;e._sqlite3_column_double=W._sqlite3_column_double;e._sqlite3_create_function_v2=W._sqlite3_create_function_v2;e._sqlite3_errmsg=W._sqlite3_errmsg; +e._sqlite3_value_int=W._sqlite3_value_int;var wc=e._llvm_cttz_i32=W._llvm_cttz_i32;e._sqlite3_bind_text=W._sqlite3_bind_text;e.stackAlloc=W.stackAlloc;e.stackRestore=W.stackRestore;e._sqlite3_bind_double=W._sqlite3_bind_double;e.___errno_location=W.___errno_location;var Xc=e.___muldsi3=W.___muldsi3;e._RegisterExtensionFunctions=W._RegisterExtensionFunctions;var Ja=e._free=W._free;e.runPostSets=W.runPostSets;e.setThrew=W.setThrew;e.establishStackSpace=W.establishStackSpace; +e._sqlite3_bind_parameter_index=W._sqlite3_bind_parameter_index;e._sqlite3_free=W._sqlite3_free;e._sqlite3_clear_bindings=W._sqlite3_clear_bindings;var Aa=e._malloc=W._malloc,Hc=e._bitshift64Ashr=W._bitshift64Ashr,jb=e._pthread_mutex_lock=W._pthread_mutex_lock,Zc=e._memalign=W._memalign,Qc=e._memmove=W._memmove,yc=e.___remdi3=W.___remdi3;e.dynCall_iiii=W.dynCall_iiii;e.dynCall_viiiii=W.dynCall_viiiii;e.dynCall_i=W.dynCall_i;e.dynCall_vi=W.dynCall_vi;e.dynCall_vii=W.dynCall_vii;e.dynCall_iiiiiii=W.dynCall_iiiiiii; +e.dynCall_ii=W.dynCall_ii;e.dynCall_viii=W.dynCall_viii;e.dynCall_v=W.dynCall_v;e.dynCall_iiiii=W.dynCall_iiiii;e.dynCall_viiiiii=W.dynCall_viiiiii;e.dynCall_iii=W.dynCall_iii;e.dynCall_iiiiii=W.dynCall_iiiiii;e.dynCall_viiii=W.dynCall_viiii;n.D=e.stackAlloc;n.$=e.stackSave;n.Q=e.stackRestore;n.Yd=e.establishStackSpace;n.tb=e.setTempRet0;n.hb=e.getTempRet0;e.asm=W;function ha(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ha.prototype=Error(); +ha.prototype.constructor=ha;var $c=null,db=function ad(){e.calledRun||bd();e.calledRun||(db=ad)}; +e.callMain=e.Wd=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}a=a||[];Ca||(Ca=!0,Sa(Ua));var c=a.length+1,d=[z(C(e.thisProgram),"i8",0)];b();for(var f=0;fg;a=0<=g?++c:--c)f[a]=x[d+a];return f};a.prototype.get=function(a){var c,d,f;null!=a&&this.bind(a)&&this.step();f=[];a=c=0;for(d=yd(this.i);0<=d?cd;a=0<=d?++c:--c)switch(wd(this.i,a)){case X.Oa:case X.FLOAT:f.push(this.fb(a));break;case X.Qa:f.push(this.gb(a));break;case X.La:f.push(this.getBlob(a));break;default:f.push(null)}return f};a.prototype.getColumnNames= +function(){var a,c,d,f;f=[];a=c=0;for(d=yd(this.i);0<=d?cd;a=0<=d?++c:--c)f.push(ud(this.i,a));return f};a.prototype.getAsObject=function(a){var c,d,f,g,h,q;q=this.get(a);g=this.getColumnNames();h={};a=c=0;for(d=g.length;c>>0);null!=a&&pc("/",this.filename,a,!0,!0);this.handleError(Cd(this.filename,Z));this.db=y(Z,"i32");gd(this.db);this.aa={}}a.prototype.run=function(a,c){var d;if(!this.db)throw"Database closed";c?(d=this.prepare(a,c),d.step(),d.free()):this.handleError(Ad(this.db,a,0,0,Z));return this};a.prototype.exec=function(a){var c,d,f,g,h;if(!this.db)throw"Database closed";g=n.$();d=n.D(a.length<<3);$a(a,d);a=n.D(4);for(f=[];y(d, +"i8")!==fd;)if(sa(Z,0,"i32"),sa(a,0,"i32"),this.handleError(Ed(this.db,d,-1,Z,a)),c=y(Z,"i32"),d=y(a,"i32"),c!==fd){h=new hd(c,this);for(c=null;h.step();)null===c&&(c={columns:h.getColumnNames(),values:[]},f.push(c)),c.values.push(h.get());h.free()}n.Q(g);return f};a.prototype.each=function(a,c,d,f){"function"===typeof c&&(f=d,d=c,c=void 0);for(a=this.prepare(a,c);a.step();)d(a.getAsObject());a.free();if("function"===typeof f)return f()};a.prototype.prepare=function(a,c){var d,f;sa(Z,0,"i32");this.handleError(Dd(this.db, +a,-1,Z,fd));d=y(Z,"i32");if(d===fd)throw"Nothing to prepare";f=new hd(d,this);null!=c&&f.bind(c);return this.aa[d]=f};a.prototype["export"]=function(){var a,c,d,f;d=this.aa;for(a in d)f=d[a],f.free();this.handleError(qd(this.db));f=this.filename;a=a={encoding:"binary"};a.flags=a.flags||"r";a.encoding=a.encoding||"binary";if("utf8"!==a.encoding&&"binary"!==a.encoding)throw Error('Invalid encoding type "'+a.encoding+'"');d=fc(f,a.flags);f=ac(f).size;var g=new Uint8Array(f);jc(d,g,0,f,0);"utf8"===a.encoding? +c=Fa(g,0):"binary"===a.encoding&&(c=g);hc(d);this.handleError(Cd(this.filename,Z));this.db=y(Z,"i32");return c};a.prototype.close=function(){var a,c,d;c=this.aa;for(a in c)d=c[a],d.free();this.handleError(qd(this.db));$b("/"+this.filename);return this.db=null};a.prototype.handleError=function(a){if(a===X.OK)return null;a=zd(this.db);throw Error(a);};a.prototype.getRowsModified=function(){return od(this.db)};a.prototype.create_function=function(a,c){var d;d=n.ua(function(a,b,d){var q,v,r,D,B;v=[]; +for(q=r=0;0<=b?r<=b:r>=b;q=0<=b?++r:--r)D=y(d+4*q,"i32"),B=Pd(D),q=function(){switch(!1){case 1!==B:return Nd;case 2!==B:return Md;case 3!==B:return Od;case 4!==B:return function(a){var b,c,d,f;f=Ld(a);b=Kd(a);a=new Uint8Array(f);for(c=d=0;0<=f?df;c=0<=f?++d:--d)a[c]=x[b+c];return a};default:return function(){return null}}}(),q=q(D),v.push(q);if(b=c.apply(null,v))switch(typeof b){case "number":return Gd(a,b);case "string":return Id(a,b,-1,-1)}else return Hd(a)});this.handleError(xd(this.db,a, +c.length,X.Ra,0,d,0,0,0));return this};return a}();Cd=e.cwrap("sqlite3_open","number",["string","number"]);qd=e.cwrap("sqlite3_close_v2","number",["number"]);Ad=e.cwrap("sqlite3_exec","number",["number","string","number","number","number"]);e.cwrap("sqlite3_free","",["number"]);od=e.cwrap("sqlite3_changes","number",["number"]);Dd=e.cwrap("sqlite3_prepare_v2","number",["number","string","number","number","number"]);Ed=e.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]); +nd=e.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]);jd=e.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]);kd=e.cwrap("sqlite3_bind_double","number",["number","number","number"]);ld=e.cwrap("sqlite3_bind_int","number",["number","number","number"]);md=e.cwrap("sqlite3_bind_parameter_index","number",["number","string"]);Jd=e.cwrap("sqlite3_step","number",["number"]);zd=e.cwrap("sqlite3_errmsg","string",["number"]); +yd=e.cwrap("sqlite3_data_count","number",["number"]);td=e.cwrap("sqlite3_column_double","number",["number","number"]);vd=e.cwrap("sqlite3_column_text","string",["number","number"]);rd=e.cwrap("sqlite3_column_blob","number",["number","number"]);sd=e.cwrap("sqlite3_column_bytes","number",["number","number"]);wd=e.cwrap("sqlite3_column_type","number",["number","number"]);ud=e.cwrap("sqlite3_column_name","string",["number","number"]);Fd=e.cwrap("sqlite3_reset","number",["number"]); +pd=e.cwrap("sqlite3_clear_bindings","number",["number"]);Bd=e.cwrap("sqlite3_finalize","number",["number"]);xd=e.cwrap("sqlite3_create_function_v2","number","number string number number number number number number number".split(" "));Pd=e.cwrap("sqlite3_value_type","number",["number"]);Ld=e.cwrap("sqlite3_value_bytes","number",["number"]);Od=e.cwrap("sqlite3_value_text","string",["number"]);Nd=e.cwrap("sqlite3_value_int","number",["number"]);Kd=e.cwrap("sqlite3_value_blob","number",["number"]); +Md=e.cwrap("sqlite3_value_double","number",["number"]);Gd=e.cwrap("sqlite3_result_double","",["number","number"]);Hd=e.cwrap("sqlite3_result_null","",["number"]);Id=e.cwrap("sqlite3_result_text","",["number","string","number","number"]);gd=e.cwrap("RegisterExtensionFunctions","number",["number"]);this.SQL={Database:Database};for(id in this.SQL)e[id]=this.SQL[id];fd=0;X.OK=0;X.ERROR=1;X.Bd=2;X.Ld=3;X.wb=4;X.yb=5;X.Ed=6;X.NOMEM=7;X.Od=8;X.Cd=9;X.Dd=10;X.Bb=11;X.NOTFOUND=12;X.Ad=13;X.zb=14;X.Md=15; +X.EMPTY=16;X.Pd=17;X.Rd=18;X.Ab=19;X.Fd=20;X.Gd=21;X.Hd=22;X.xb=23;X.zd=24;X.Nd=25;X.Id=26;X.Jd=27;X.Sd=28;X.Pa=100;X.DONE=101;X.Oa=1;X.FLOAT=2;X.Qa=3;X.La=4;X.Kd=5;X.Ra=1; return this['SQL']; })(); diff --git a/js/worker.sql.js b/js/worker.sql.js index 918ea316..2cd01cae 100644 --- a/js/worker.sql.js +++ b/js/worker.sql.js @@ -1,509 +1,535 @@ // This prevents pollution of the global namespace var SQL = (function () { -var f;f||(f=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},ba;for(ba in f)f.hasOwnProperty(ba)&&(aa[ba]=f[ba]);var ca="object"===typeof window,da="function"===typeof importScripts,ea="object"===typeof process&&"function"===typeof require&&!ca&&!da,fa=!ca&&!ea&&!da; -if(ea){f.print||(f.print=function(a){process.stdout.write(a+"\n")});f.printErr||(f.printErr=function(a){process.stderr.write(a+"\n")});var ga=require("fs"),ia=require("path");f.read=function(a,b){a=ia.normalize(a);var c=ga.readFileSync(a);c||a==ia.resolve(a)||(a=path.join(__dirname,"..","src",a),c=ga.readFileSync(a));c&&!b&&(c=c.toString());return c};f.readBinary=function(a){a=f.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};f.load=function(a){ja(read(a))};f.thisProgram||(f.thisProgram= -1 0) var gc = undefined");else if(ca||da)f.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},"undefined"!=typeof arguments&&(f.arguments=arguments),"undefined"!== -typeof console?(f.print||(f.print=function(a){console.log(a)}),f.printErr||(f.printErr=function(a){console.log(a)})):f.print||(f.print=function(){}),da&&(f.load=importScripts),"undefined"===typeof f.setWindowTitle&&(f.setWindowTitle=function(a){document.title=a});else throw"Unknown runtime environment. Where are we?";function ja(a){eval.call(null,a)}!f.load&&f.read&&(f.load=function(a){ja(f.read(a))});f.print||(f.print=function(){});f.printErr||(f.printErr=f.print);f.arguments||(f.arguments=[]); -f.thisProgram||(f.thisProgram="./this.program");f.print=f.print;f.fa=f.printErr;f.preRun=[];f.postRun=[];for(ba in aa)aa.hasOwnProperty(ba)&&(f[ba]=aa[ba]); -var l={Qb:function(a){la=a},Ab:function(){return la},qa:function(){return k},ga:function(a){k=a},Xa:function(a){switch(a){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:return"*"===a[a.length-1]?l.M:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},xb:function(a){return Math.max(l.Xa(a),l.M)},oe:16,Ke:function(a,b){"double"===b||"i64"===b?a&7&&(assert(4===(a&7)),a+=4):assert(0===(a&3));return a}, -ye:function(a,b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?l.xb(a):0),l.M):Math.min(b,8):8},T:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),f["dynCall_"+a].apply(null,c)):f["dynCall_"+a].call(null,b)},A:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, -null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],La:function(a){for(var b=0;b=na)p("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+na+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "), -a=!0;return a?(n=b,0):b},ta:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},He:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},aa:8,M:4,re:0};f.Runtime=l;l.addFunction=l.La;l.removeFunction=l.Mb;var oa=!1,pa,qa,la;function assert(a,b){a||p("Assertion failed: "+b)}function ra(a){var b=f["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}assert(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var sa,ta; -(function(){function a(a){a=a.toString().match(d).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}var b={stackSave:function(){l.qa()},stackRestore:function(){l.ga()},arrayToC:function(a){var b=l.R(a.length);ua(a,b);return b},stringToC:function(a){var b=0;null!==a&&void 0!==a&&0!==a&&(b=l.R((a.length<<2)+1),wa(a,b));return b}},c={string:b.stringToC,array:b.arrayToC};ta=function(a,b,d,e,g){a=ra(a);var v=[],G=0;if(e)for(var I=0;I>0]=b;break;case "i8":u[a>>0]=b;break;case "i16":za[a>>1]=b;break;case "i32":w[a>>2]=b;break;case "i64":qa=[b>>>0,(pa=b,1<=+Aa(pa)?0>>0:~~+Da((pa-+(~~pa>>>0))/4294967296)>>>0:0)];w[a>>2]=qa[0];w[a+4>>2]=qa[1];break;case "float":Ea[a>>2]=b;break;case "double":Fa[a>>3]=b;break;default:p("invalid type for setValue: "+c)}}f.setValue=ya; -function y(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return u[a>>0];case "i8":return u[a>>0];case "i16":return za[a>>1];case "i32":return w[a>>2];case "i64":return w[a>>2];case "float":return Ea[a>>2];case "double":return Fa[a>>3];default:p("invalid type for setValue: "+b)}return null}f.getValue=y;f.ALLOC_NORMAL=0;f.ALLOC_STACK=1;f.ALLOC_STATIC=2;f.ALLOC_DYNAMIC=3;f.ALLOC_NONE=4; -function z(a,b,c,d){var e,g;"number"===typeof a?(e=!0,g=a):(e=!1,g=a.length);var h="string"===typeof b?b:null;c=4==c?d:[Ga,l.R,l.bb,l.ba][void 0===c?2:c](Math.max(g,h?1:b.length));if(e){d=c;assert(0==(c&3));for(a=c+(g&-4);d>2]=0;for(a=c+g;d>0]=0;return c}if("i8"===h)return a.subarray||a.slice?A.set(a,c):A.set(new Uint8Array(a),c),c;d=0;for(var m,t;d>0];c|=d;if(0==d&&!b)break;e++;if(b&&e==b)break}b||(b=e);d="";if(128>c){for(;0>0];if(!c)return b;b+=String.fromCharCode(c)}}; -f.stringToAscii=function(a,b){return Ka(a,b,!1)}; -function La(a,b){for(var c,d,e,g,h,m,t="";;){c=a[b++];if(!c)return t;c&128?(d=a[b++]&63,192==(c&224)?t+=String.fromCharCode((c&31)<<6|d):(e=a[b++]&63,224==(c&240)?c=(c&15)<<12|d<<6|e:(g=a[b++]&63,240==(c&248)?c=(c&7)<<18|d<<12|e<<6|g:(h=a[b++]&63,248==(c&252)?c=(c&3)<<24|d<<18|e<<12|g<<6|h:(m=a[b++]&63,c=(c&1)<<30|d<<24|e<<18|g<<12|h<<6|m))),65536>c?t+=String.fromCharCode(c):(c-=65536,t+=String.fromCharCode(55296|c>>10,56320|c&1023)))):t+=String.fromCharCode(c)}}f.UTF8ArrayToString=La; -f.UTF8ToString=function(a){return La(A,a)}; -function Ma(a,b,c,d){if(!(0=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++g)&1023);if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(2097151>=h){if(c+3>=d)break;b[c++]=240|h>>18}else{if(67108863>=h){if(c+4>=d)break;b[c++]=248|h>>24}else{if(c+5>=d)break;b[c++]=252|h>>30;b[c++]=128|h>>24&63}b[c++]=128|h>>18&63}b[c++]=128| -h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-e}f.stringToUTF8Array=Ma;f.stringToUTF8=function(a,b,c){return Ma(a,A,b,c)};function Na(a){for(var b=0,c=0;c=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:2097151>=d?b+4:67108863>=d?b+5:b+6}return b}f.lengthBytesUTF8=Na;f.UTF16ToString=function(a){for(var b=0,c="";;){var d=za[a+2*b>>1];if(0==d)return c;++b;c+=String.fromCharCode(d)}}; -f.stringToUTF16=function(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e>1]=a.charCodeAt(e),b+=2;za[b>>1]=0;return b-d};f.lengthBytesUTF16=function(a){return 2*a.length};f.UTF32ToString=function(a){for(var b=0,c="";;){var d=w[a+4*b>>2];if(0==d)return c;++b;65536<=d?(d=d-65536,c+=String.fromCharCode(55296|d>>10,56320|d&1023)):c+=String.fromCharCode(d)}}; -f.stringToUTF32=function(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e=g)var h=a.charCodeAt(++e),g=65536+((g&1023)<<10)|h&1023;w[b>>2]=g;b+=4;if(b+4>c)break}w[b>>2]=0;return b-d};f.lengthBytesUTF32=function(a){for(var b=0,c=0;c=d&&++c;b+=4}return b}; -function Oa(a){function b(c,d,e){d=d||Infinity;var g="",h=[],v;if("N"===a[m]){m++;"K"===a[m]&&m++;for(v=[];"E"!==a[m];)if("S"===a[m]){m++;var F=a.indexOf("_",m);v.push(r[a.substring(m,F)||0]||"?");m=F+1}else if("C"===a[m])v.push(v[v.length-1]),m+=2;else{var F=parseInt(a.substr(m)),ha=F.toString().length;if(!F||!ha){m--;break}var lc=a.substr(m+ha,F);v.push(lc);r.push(lc);m+=ha+F}m++;v=v.join("::");d--;if(0===d)return c?[v]:v}else if(("K"===a[m]||x&&"L"===a[m])&&m++,F=parseInt(a.substr(m)))ha=F.toString().length, -v=a.substr(m+ha,F),m+=ha+F;x=!1;"I"===a[m]?(m++,F=b(!0),ha=b(!0,1,!0),g+=ha[0]+" "+v+"<"+F.join(", ")+">"):g=v;a:for(;m$a?2*$a:$a+16777216;$a!==na&&(na=$a);assert("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(na);u=new Int8Array(buffer);za=new Int16Array(buffer);w=new Int32Array(buffer);A=new Uint8Array(buffer); -Ta=new Uint16Array(buffer);Ua=new Uint32Array(buffer);Ea=new Float32Array(buffer);Fa=new Float64Array(buffer);w[0]=255;assert(255===A[0]&&0===A[3],"Typed arrays 2 must be run on a little-endian system");f.HEAP=void 0;f.buffer=buffer;f.HEAP8=u;f.HEAP16=za;f.HEAP32=w;f.HEAPU8=A;f.HEAPU16=Ta;f.HEAPU32=Ua;f.HEAPF32=Ea;f.HEAPF64=Fa; -function ab(a){for(;0>0]=a[c],c+=1}f.writeStringToMemory=wa;function ua(a,b){for(var c=0;c>0]=a[c]}f.writeArrayToMemory=ua; -function Ka(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(u[b>>0]=0)}f.writeAsciiToMemory=Ka;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0});Math.De=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.ue=Math.clz32; -var Aa=Math.abs,ib=Math.cos,jb=Math.sin,kb=Math.tan,lb=Math.acos,mb=Math.asin,nb=Math.atan,ob=Math.atan2,pb=Math.exp,qb=Math.log,rb=Math.sqrt,Da=Math.ceil,Ca=Math.floor,sb=Math.pow,Ba=Math.min,tb=0,ub=null,vb=null;function wb(){tb++;f.monitorRunDependencies&&f.monitorRunDependencies(tb)}f.addRunDependency=wb;function xb(){tb--;f.monitorRunDependencies&&f.monitorRunDependencies(tb);if(0==tb&&(null!==ub&&(clearInterval(ub),ub=null),vb)){var a=vb;vb=null;a()}}f.removeRunDependency=xb; -f.preloadedImages={};f.preloadedAudios={};Va=8;ma=Va+48688;cb.push(); -z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,64,0,0,1,0,1,0,130,0,0,0,55,64,0,0,1,0,1,0,131,0,0,0,60,64,0,0,1,0,1,0,132,0,0,0,65,64,0,0,2,0,1,0,133,0,0,0,70,64,0,0,2,0,1,0,133,0,0,0,76,64,0,0,1,0,1,0,134,0,0,0,82,64,0,0,1,0,1,0,135,0,0,0,88,64,0,0,1,0,1,0,136,0,0,0,94,64,0,0,2,0,1,0,137,0,0,0,105,64,0,0,1,0,1,0, -138,0,0,0,113,64,0,0,1,0,1,0,139,0,0,0,121,64,0,0,1,0,1,0,140,0,0,0,125,64,0,0,1,0,1,0,141,0,0,0,129,64,0,0,1,0,1,0,142,0,0,0,133,64,0,0,1,0,1,0,143,0,0,0,137,64,0,0,1,0,1,0,144,0,0,0,142,64,0,0,1,0,1,0,145,0,0,0,147,64,0,0,1,0,1,0,146,0,0,0,152,64,0,0,1,0,1,0,147,0,0,0,157,64,0,0,1,0,1,0,148,0,0,0,143,98,0,0,1,0,1,0,149,0,0,0,161,64,0,0,1,0,1,0,150,0,0,0,167,64,0,0,2,0,1,0,151,0,0,0,173,64,0,0,1,0,1,0,152,0,0,0,178,64,0,0,1,0,1,0,153,0,0,0,183,64,0,0,1,0,1,0,154,0,0,0,190,64,0,0,1,0,1,0,155,0,0, -0,195,64,0,0,1,0,1,0,156,0,0,0,201,64,0,0,0,0,1,1,157,0,0,0,204,64,0,0,2,0,1,0,158,0,0,0,214,64,0,0,2,0,1,0,159,0,0,0,214,64,0,0,3,0,1,0,159,0,0,0,224,64,0,0,2,0,1,0,160,0,0,0,232,64,0,0,2,0,1,0,161,0,0,0,241,64,0,0,1,0,1,0,162,0,0,0,249,64,0,0,1,0,1,0,163,0,0,0,0,65,0,0,2,0,1,0,164,0,0,0,5,65,0,0,2,0,1,0,165,0,0,0,10,65,0,0,2,0,1,0,166,0,0,0,15,65,0,0,2,0,1,0,167,0,0,0,25,65,0,0,1,0,0,0,168,0,0,0,130,0,0,0,31,65,0,0,1,0,0,0,168,0,0,0,131,0,0,0,221,101,0,0,1,0,0,0,169,0,0,0,132,0,0,0,40,65,0,0,1, -0,0,0,169,0,0,0,133,0,0,0,47,65,0,0,1,0,0,0,169,0,0,0,134,0,0,0,62,65,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,45,178,0,0,66,178,0,0,78,178,0,0,90,178,0,0,114,178,0,0,125,178,0,0,145,178,0,0,159,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,21,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,26,172,0,0,208,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130, -0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,36,172,0,0,212,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,49,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0, -0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131, -0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,81,0,0,184,81,0,0,252,81,0,0,24,82,0,0,53,82,0,0,80,82,0,0,108,82,0,0,133,82,0,0,157,82,0,0,222,82,0,0,25,83,0,0,93,83,0,0,141,83,0,0,253,83,0, -0,132,84,0,0,184,84,0,0,250,84,0,0,37,85,0,0,96,85,0,0,135,85,0,0,179,85,0,0,220,85,0,0,11,86,0,0,53,86,0,0,226,71,0,0,226,71,0,0,91,86,0,0,146,86,0,0,207,86,0,0,70,87,0,0,173,87,0,0,228,87,0,0,30,88,0,0,137,88,0,0,216,88,0,0,25,89,0,0,85,89,0,0,133,89,0,0,239,89,0,0,56,90,0,0,6,80,0,0,170,0,0,0,14,80,0,0,171,0,0,0,32,80,0,0,172,0,0,0,22,80,0,0,173,0,0,0,0,93,0,0,2,0,4,0,3,93,0,0,3,1,3,0,7,93,0,0,3,1,2,0,11,93,0,0,4,0,1,0,22,80,0,0,9,0,0,0,236,96,0,0,6,0,0,0,99,94,0,0,8,0,0,0,108,94,0,0,10,0,0,0, -243,96,0,0,5,0,0,0,37,94,0,0,7,0,0,0,249,96,0,0,10,0,0,0,4,97,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255, -255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0, -9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24, -47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0, -6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110, -0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156, -0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1, -8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248, -3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68, -7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220, -7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,102,0,0,0,0,2,0,61,102,0,0,0,0,4,0,0,0,0,0,0,0,0,0,37,102,0,0,1,0,0,0,40,102,0,0,2,0,0,0,43,102,0,0,6,0,0,0,47,102,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150, -0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,133,0,0,1,0,0,0,226,77,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,185,120,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,175,120,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,155,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,78,0,0,248,120,0,0,5,121,0,0,0,0,0,0,18,121,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,85,122,0,0,0,0,0,0,3,0,1,0,0,0,0, -0,0,0,0,0,179,0,0,0,0,0,0,0,210,122,0,0,0,0,0,0,23,130,0,0,0,0,0,0,8,0,0,0,247,125,0,0,1,1,0,0,0,0,0,0,38,130,0,0,2,0,0,0,0,0,16,0,54,130,0,0,3,0,0,0,0,0,0,0,114,125,0,0,4,1,0,0,0,0,0,0,23,126,0,0,5,0,0,0,0,0,0,0,67,130,0,0,6,0,0,0,0,0,0,0,87,130,0,0,2,0,0,0,0,0,0,32,103,130,0,0,2,0,0,0,16,0,0,0,124,130,0,0,7,0,0,0,0,0,0,0,139,130,0,0,8,0,0,0,0,0,0,0,155,130,0,0,2,0,0,0,128,0,0,0,169,130,0,0,0,2,0,0,15,0,0,0,182,130,0,0,10,1,0,0,0,0,0,0,196,130,0,0,11,1,0,0,0,0,0,0,215,130,0,0,2,0,0,0,0,0,0,2,234, -130,0,0,2,0,0,0,0,1,0,0,126,127,0,0,12,0,0,0,0,0,0,0,1,131,0,0,13,1,0,0,0,0,0,0,19,131,0,0,14,1,0,0,0,0,0,0,36,131,0,0,2,0,0,0,0,0,8,0,49,131,0,0,0,2,0,0,0,0,0,0,64,131,0,0,2,0,0,0,4,0,0,0,82,131,0,0,2,0,0,0,8,0,0,0,92,131,0,0,2,0,0,0,0,32,0,0,117,131,0,0,15,1,0,0,0,0,0,0,136,131,0,0,16,1,0,0,0,0,0,0,147,131,0,0,17,1,0,0,0,0,0,0,158,131,0,0,16,1,0,0,1,0,0,0,221,126,0,0,18,1,0,0,0,0,0,0,215,125,0,0,19,1,0,0,0,0,0,0,228,125,0,0,20,0,0,0,0,0,0,0,170,131,0,0,2,0,0,0,0,128,0,0,202,125,0,0,22,0,0,0,0,0, -0,0,189,131,0,0,23,1,0,0,0,0,0,0,35,126,0,0,24,0,0,0,0,0,0,0,204,131,0,0,23,1,0,0,0,0,0,0,161,125,0,0,25,0,0,0,0,0,0,0,215,131,0,0,2,0,0,0,0,0,0,4,226,131,0,0,18,1,0,0,0,0,0,0,238,131,0,0,2,0,0,0,0,64,0,0,255,131,0,0,2,0,0,0,0,0,4,0,18,132,0,0,2,0,0,0,0,0,2,0,44,132,0,0,0,0,0,0,1,0,0,0,171,125,0,0,26,0,0,0,0,0,0,0,59,132,0,0,2,0,0,0,64,0,0,0,78,132,0,0,27,0,0,0,0,0,0,0,244,127,0,0,28,0,0,0,0,0,0,0,92,132,0,0,29,1,0,0,0,0,0,0,102,126,0,0,30,1,0,0,0,0,0,0,98,132,0,0,31,1,0,0,0,0,0,0,45,126,0,0,32,0, -0,0,0,0,0,0,56,126,0,0,33,0,0,0,0,0,0,0,4,128,0,0,34,0,0,0,0,0,0,0,109,132,0,0,0,0,0,0,6,0,0,0,217,127,0,0,35,0,0,0,0,0,0,0,122,132,0,0,36,1,0,0,0,0,0,0,137,132,0,0,2,0,0,0,0,8,1,0,121,129,0,0,76,129,0,0,153,129,0,0,158,129,0,0,166,129,0,0,90,129,0,0,225,128,0,0,134,129,0,0,140,129,0,0,146,129,0,0,115,129,0,0,121,129,0,0,76,129,0,0,9,94,0,0,125,129,0,0,130,129,0,0,38,129,0,0,76,129,0,0,93,129,0,0,100,129,0,0,107,129,0,0,86,129,0,0,88,129,0,0,90,129,0,0,38,129,0,0,76,129,0,0,81,129,0,0,38,129,0,0, -76,129,0,0,35,129,0,0,38,129,0,0,225,128,0,0,42,129,0,0,47,129,0,0,50,129,0,0,60,129,0,0,70,129,0,0,225,128,0,0,169,96,0,0,231,128,0,0,238,128,0,0,30,128,0,0,1,0,0,0,35,128,0,0,1,0,0,0,41,128,0,0,2,0,0,0,50,128,0,0,3,0,0,0,59,128,0,0,2,0,0,0,67,128,0,0,3,0,0,0,75,128,0,0,0,0,0,0,82,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,128,0,0,143,98,0,0,17,128,0,0,0,130,0,0,7,130,0,0,15,130,0,0,208,127,0,0,47,102,0,0,19,130,0,0,70,129,0,0,64,0,0,0,97,128,0,0,66,0,0,0,92,128,0,0,65,0,0,0,25,136,0,0,67,0,0,0,248,116, -0,0,3,0,0,0,244,116,0,0,3,0,0,0,226,71,0,0,19,146,0,0,25,146,0,0,30,146,0,0,35,146,0,0,151,146,0,0,157,146,0,0,165,146,0,0,216,154,0,0,221,154,0,0,228,154,0,0,231,154,0,0,234,154,0,0,237,154,0,0,240,154,0,0,243,154,0,0,251,154,0,0,243,96,0,0,42,129,0,0,4,155,0,0,148,163,0,0,157,163,0,0,164,163,0,0,170,163,0,0,253,163,0,0,7,164,0,0,18,164,0,0,30,164,0,0,41,164,0,0,52,164,0,0,63,164,0,0,68,164,0,0,73,164,0,0,84,164,0,0,96,164,0,0,103,164,0,0,111,164,0,0,119,164,0,0,124,164,0,0,130,164,0,0,144,164,0, -0,150,164,0,0,160,164,0,0,165,164,0,0,169,164,0,0,174,164,0,0,177,164,0,0,183,164,0,0,190,164,0,0,197,164,0,0,204,164,0,0,211,164,0,0,214,164,0,0,218,164,0,0,229,164,0,0,238,164,0,0,244,164,0,0,254,164,0,0,8,165,0,0,15,165,0,0,23,165,0,0,26,165,0,0,29,165,0,0,32,165,0,0,35,165,0,0,38,165,0,0,41,165,0,0,51,165,0,0,58,165,0,0,64,165,0,0,74,165,0,0,85,165,0,0,89,165,0,0,98,165,0,0,107,165,0,0,114,165,0,0,124,165,0,0,131,165,0,0,136,165,0,0,143,165,0,0,154,165,0,0,159,165,0,0,166,165,0,0,172,165,0,0, -178,165,0,0,184,165,0,0,190,165,0,0,201,165,0,0,212,165,0,0,220,165,0,0,229,165,0,0,235,165,0,0,245,165,0,0,2,166,0,0,13,166,0,0,19,166,0,0,24,166,0,0,31,166,0,0,44,166,0,0,55,166,0,0,60,166,0,0,68,166,0,0,74,166,0,0,81,166,0,0,86,166,0,0,95,166,0,0,100,166,0,0,109,166,0,0,114,166,0,0,119,166,0,0,125,166,0,0,133,166,0,0,143,166,0,0,151,166,0,0,161,166,0,0,170,166,0,0,177,166,0,0,190,166,0,0,195,166,0,0,207,166,0,0,215,166,0,0,222,166,0,0,230,166,0,0,239,166,0,0,250,166,0,0,0,167,0,0,11,167,0,0,21, -167,0,0,31,167,0,0,40,167,0,0,50,167,0,0,64,167,0,0,78,167,0,0,89,167,0,0,102,167,0,0,113,167,0,0,119,167,0,0,131,167,0,0,140,167,0,0,149,167,0,0,156,167,0,0,166,167,0,0,173,167,0,0,184,167,0,0,198,167,0,0,209,167,0,0,216,167,0,0,224,167,0,0,230,167,0,0,238,167,0,0,251,167,0,0,5,168,0,0,15,168,0,0,20,168,0,0,29,168,0,0,37,168,0,0,43,168,0,0,48,168,0,0,60,168,0,0,72,168,0,0,84,168,0,0,96,168,0,0,109,168,0,0,119,168,0,0,129,168,0,0,141,168,0,0,153,168,0,0,163,168,0,0,169,168,0,0,179,168,0,0,186,168, -0,0,198,168,0,0,207,168,0,0,215,168,0,0,224,168,0,0,231,168,0,0,241,168,0,0,248,168,0,0,0,169,0,0,9,169,0,0,15,169,0,0,23,169,0,0,31,169,0,0,41,169,0,0,50,169,0,0,61,169,0,0,66,169,0,0,150,169,0,0,163,169,0,0,0,0,0,0,199,169,0,0,224,169,0,0,255,169,0,0,18,170,0,0,184,97,0,0,43,170,0,0,80,170,0,0,92,170,0,0,107,170,0,0,140,170,0,0,158,170,0,0,183,170,0,0,212,170,0,0,229,170,0,0,73,157,0,0,250,70,0,0,252,170,0,0,14,171,0,0,32,171,0,0,71,171,0,0,102,171,0,0,123,171,0,0,155,171,0,0,189,171,0,0,151,0, -0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,96,172,0,0,145,0,0,0,0,0,0,0,59,172,0,0,163,0,0,0,0,0,0,0,226,101,0,0,160,0,0,0,0,0,0,0,101,172,0,0,161,0,0,0,0,0,0,0,108,172,0,0,162,0,0,0,0,0,0,0,113,172,0,0,163,0,0,0,0,0,0,0,119,172,0,0,164,0,0,0,0,0,0,0,129,172,0,0,146,0,0,0,0,0,0,0,135,172,0,0,147,0,0,0,0,0,0,0,140,172,0,0,0,0,0,0,0,0, -0,0,146,172,0,0,0,0,0,0,0,0,0,0,154,172,0,0,148,0,0,0,0,0,0,0,160,172,0,0,0,0,0,0,0,0,0,0,167,172,0,0,0,0,0,0,0,0,0,0,176,172,0,0,165,0,0,0,0,0,0,0,183,172,0,0,0,0,0,0,0,0,0,0,193,172,0,0,164,0,0,0,0,0,0,0,200,172,0,0,166,0,0,0,0,0,0,0,214,172,0,0,167,0,0,0,0,0,0,0,220,172,0,0,165,0,0,0,0,0,0,0,226,172,0,0,149,0,0,0,0,0,0,0,233,172,0,0,130,0,0,0,0,0,0,0,241,172,0,0,137,0,0,0,0,0,0,0,246,172,0,0,168,0,0,0,0,0,0,0,253,172,0,0,0,0,0,0,0,0,0,0,4,173,0,0,131,0,0,0,0,0,0,0,16,173,0,0,150,0,0,0,0,0,0,0, -25,173,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,173,0,0,131,173,0,0,140,173,0,0,145,173,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0, -0,0,0,180,0,0,0,0,0,0,0,17,175,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,43,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,68,175,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,77,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,88,175,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183, -0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,124,139,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0, -185,0,0,0,142,0,0,0,128,139,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,112,175,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,119,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,126,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,132,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,139,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,147,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,152,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0, -0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,162,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,168,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,174,175,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,178,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,185,175,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,192,175,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0, -199,0,0,0,0,0,0,0,203,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,210,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,225,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,242,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,253,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,3,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,21,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,29,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0, -0,0,0,0,0,43,176,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,51,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,67,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,71,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,77,176,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146, -0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,13,8,218,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,97,128,0,0,0,0,0,0,2,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,3,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0, -0,0,0,0,100,176,0,0,0,0,0,0,101,138,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,165,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,175,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,180,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,185,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,194,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,203,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,216,176,0,0,0,0,0,0,0,0,1,32,0, -0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,234,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,209,177,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,229,177,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,251,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,34,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,39,186,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71, -1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143, -1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118, -3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136, -31,150,8,152,31,150,8,168,31],"i8",4,l.aa); -z([150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62, -121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255, -170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29, -25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235,2,18,3,27,3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76, -0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0, -217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158,3,127,4,137,4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4, -102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202,4,226,4,230,4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239, -4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209, -3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,190,3,190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0, -98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2,46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3, -86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0, -178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25,0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94, -0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3,194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78, -3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0,169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83, -0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64,3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0,189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19, -0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0,151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166, -3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3,56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0,96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8, -3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214,3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121,3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12, -1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0,120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38,0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0, -42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0,18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194,1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121, -0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190,1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244,2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0, -242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0,143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158,3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0, -142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170,1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241,2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1, -134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239,2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3,96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211, -0,12,5,11,5,53,1,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2, -248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181,3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31, -6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255,181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2,42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73, -5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214,4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31,6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4, -153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133,5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158,5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5, -252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178,4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117,4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5, -52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52,5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243, -4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5,111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111, -4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104,4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52,5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52, -5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96,4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,12,0,14, -0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101, +var e;e||(e=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},ba;for(ba in e)e.hasOwnProperty(ba)&&(aa[ba]=e[ba]);var ca=!1,k=!1,l=!1,da=!1; +if(e.ENVIRONMENT)if("WEB"===e.ENVIRONMENT)ca=!0;else if("WORKER"===e.ENVIRONMENT)k=!0;else if("NODE"===e.ENVIRONMENT)l=!0;else if("SHELL"===e.ENVIRONMENT)da=!0;else throw Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ca="object"===typeof window,k="function"===typeof importScripts,l="object"===typeof process&&"function"===typeof require&&!ca&&!k,da=!ca&&!l&&!k; +if(l){e.print||(e.print=console.log);e.printErr||(e.printErr=console.warn);var ea,fa;e.read=function(a,b){ea||(ea=require("fs"));fa||(fa=require("path"));a=fa.normalize(a);var c=ea.readFileSync(a);return b?c:c.toString()};e.readBinary=function(a){a=e.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};e.load=function(a){ga(read(a))};e.thisProgram||(e.thisProgram=1 0) var gc = undefined");else if(ca||k)e.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},k&&(e.readBinary=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return b.response}),e.readAsync=function(a, +b,c){var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)},"undefined"!=typeof arguments&&(e.arguments=arguments),"undefined"!==typeof console?(e.print||(e.print=function(a){console.log(a)}),e.printErr||(e.printErr=function(a){console.warn(a)})):e.print||(e.print=function(){}),k&&(e.load=importScripts),"undefined"===typeof e.setWindowTitle&&(e.setWindowTitle=function(a){document.title= +a});else throw"Unknown runtime environment. Where are we?";function ga(a){eval.call(null,a)}!e.load&&e.read&&(e.load=function(a){ga(e.read(a))});e.print||(e.print=function(){});e.printErr||(e.printErr=e.print);e.arguments||(e.arguments=[]);e.thisProgram||(e.thisProgram="./this.program");e.quit||(e.quit=function(a,b){throw b;});e.print=e.print;e.Z=e.printErr;e.preRun=[];e.postRun=[];for(ba in aa)aa.hasOwnProperty(ba)&&(e[ba]=aa[ba]); +var aa=void 0,n={tb:function(a){return tempRet0=a},hb:function(){return tempRet0},$:function(){return m},Q:function(a){m=a},Ga:function(a){switch(a){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:return"*"===a[a.length-1]?n.U:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},eb:function(a){return Math.max(n.Ga(a),n.U)},Qd:16,ke:function(a,b){"double"===b||"i64"===b?a&7&&(assert(4===(a&7)),a+= +4):assert(0===(a&3));return a},$d:function(a,b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?n.eb(a):0),n.U):Math.min(b,8):8},ga:function(a,b,c){return c&&c.length?e["dynCall_"+a].apply(null,[b].concat(c)):e["dynCall_"+a].call(null,b)},j:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, +null,null,null,null,null,null,null,null,null,null,null,null],ua:function(a){for(var b=0;b>2];a=(b+a+15|0)&-16;t[ia>>2]=a;if(a=a>=ja)ka(),a=!0;return a?(t[ia>>2]=b,0):b},va:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)}, +je:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},G:8,U:4,Td:0};e.Runtime=n;n.addFunction=n.ua;n.removeFunction=n.pb;var la=0;function assert(a,b){a||u("Assertion failed: "+b)}function na(a){var b=e["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}assert(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var oa,pa; +(function(){function a(a){a=a.toString().match(f).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}function b(){if(!g){g={};for(var b in c)c.hasOwnProperty(b)&&(g[b]=a(c[b]))}}var c={stackSave:function(){n.$()},stackRestore:function(){n.Q()},arrayToC:function(a){var b=n.D(a.length);qa(a,b);return b},stringToC:function(a){var b=0;if(null!==a&&void 0!==a&&0!==a){var c=(a.length<<2)+1,b=n.D(c);ra(a,b,c)}return b}},d={string:c.stringToC,array:c.arrayToC};pa=function(a,b,c,f,g){a=na(a);var B= +[],R=0;if(f)for(var G=0;G>0]=b;break;case "i8":x[a>>0]=b;break;case "i16":ta[a>>1]=b;break;case "i32":t[a>>2]=b;break;case "i64":tempI64=[b>>>0,(tempDouble=b,1<=+ua(tempDouble)?0>>0:~~+xa((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)];t[a>>2]=tempI64[0];t[a+4>>2]=tempI64[1];break;case "float":ya[a>>2]=b;break;case "double":za[a>>3]=b;break;default:u("invalid type for setValue: "+ +c)}}e.setValue=sa;function y(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return x[a>>0];case "i8":return x[a>>0];case "i16":return ta[a>>1];case "i32":return t[a>>2];case "i64":return t[a>>2];case "float":return ya[a>>2];case "double":return za[a>>3];default:u("invalid type for setValue: "+b)}return null}e.getValue=y;e.ALLOC_NORMAL=0;e.ALLOC_STACK=1;e.ALLOC_STATIC=2;e.ALLOC_DYNAMIC=3;e.ALLOC_NONE=4; +function z(a,b,c,d){var f,g;"number"===typeof a?(f=!0,g=a):(f=!1,g=a.length);var h="string"===typeof b?b:null;c=4==c?d:["function"===typeof Aa?Aa:n.oa,n.D,n.oa,n.Ba][void 0===c?2:c](Math.max(g,h?1:b.length));if(f){d=c;assert(0==(c&3));for(a=c+(g&-4);d>2]=0;for(a=c+g;d>0]=0;return c}if("i8"===h)return a.subarray||a.slice?A.set(a,c):A.set(new Uint8Array(a),c),c;d=0;for(var q,v;d>0];c|=d;if(0==d&&!b)break;f++;if(b&&f==b)break}b||(b=f);d="";if(128>c){for(;0>0];if(!c)return b;b+=String.fromCharCode(c)}}; +e.stringToAscii=function(a,b){return Da(a,b,!1)};var Ea="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0; +function Fa(a,b){for(var c=b;a[c];)++c;if(16d?c+=String.fromCharCode(d):(d-=65536,c+=String.fromCharCode(55296|d>> +10,56320|d&1023)))):c+=String.fromCharCode(d)}}e.UTF8ArrayToString=Fa;e.UTF8ToString=function(a){return Fa(A,a)}; +function Ga(a,b,c,d){if(!(0=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++g)&1023);if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(2097151>=h){if(c+3>=d)break;b[c++]=240|h>>18}else{if(67108863>=h){if(c+4>=d)break;b[c++]=248|h>>24}else{if(c+5>=d)break;b[c++]=252|h>>30;b[c++]=128|h>>24&63}b[c++]=128|h>>18&63}b[c++]=128| +h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-f}e.stringToUTF8Array=Ga;function ra(a,b,c){return Ga(a,A,b,c)}e.stringToUTF8=ra;function Ha(a){for(var b=0,c=0;c=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:2097151>=d?b+4:67108863>=d?b+5:b+6}return b}e.lengthBytesUTF8=Ha;"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le"); +function Ia(a){return a.replace(/__Z[\w\d_]+/g,function(a){var c;a:{var d=e.___cxa_demangle||e.__cxa_demangle;if(d)try{var f=a.substr(1),g=Ha(f)+1,h=Aa(g);ra(f,h,g);var q=Aa(4),v=d(h,0,0,q);if(0===y(q,"i32")&&v){c=w(v);break a}}catch(r){}finally{h&&Ja(h),q&&Ja(q),v&&Ja(v)}else n.K("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");c=a}return a===c?a:a+" ["+c+"]"})} +function Ka(){var a;a:{a=Error();if(!a.stack){try{throw Error(0);}catch(b){a=b}if(!a.stack){a="(no stack trace available)";break a}}a=a.stack.toString()}e.extraStackTrace&&(a+="\n"+e.extraStackTrace());return Ia(a)}e.stackTrace=Ka;var buffer,x,A,ta,La,t,Ma,ya,za,Na,p,Ba,Oa,m,Pa,Qa,ia;Na=p=Oa=m=Pa=Qa=ia=0;Ba=!1; +function ka(){u("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ja+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}var Ra=e.TOTAL_STACK||5242880,ja=e.TOTAL_MEMORY||16777216; +ja>0]=a.charCodeAt(d);c||(x[b>>0]=0)}e.writeAsciiToMemory=Da;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0}); +Math.ee=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.Xd=Math.clz32;Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});Math.trunc=Math.trunc;var ua=Math.abs,xa=Math.ceil,wa=Math.floor,ab=Math.pow,va=Math.min,bb=0,cb=null,db=null;function eb(){bb++;e.monitorRunDependencies&&e.monitorRunDependencies(bb)}e.addRunDependency=eb; +function fb(){bb--;e.monitorRunDependencies&&e.monitorRunDependencies(bb);if(0==bb&&(null!==cb&&(clearInterval(cb),cb=null),db)){var a=db;db=null;a()}}e.removeRunDependency=fb;e.preloadedImages={};e.preloadedAudios={};Na=8;p=Na+57088;Ua.push(); +z([1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,73,0,0,1,0,1,0,130,0,0,0,201,73,0,0,1,0,1,0,131,0,0,0,206,73,0,0,1,0,1,0,132,0,0,0,211,73,0,0,2,0,1,0,133,0,0,0,216,73,0,0,2,0,1,0,133,0,0,0,222,73,0,0,1,0,1,0,134,0,0,0,228,73,0,0,1,0,1,0,135,0,0,0,234,73,0,0,1,0,1,0,136,0,0,0,240,73,0,0,2,0,1,0,137,0,0,0,251,73,0,0,1,0,1,0,138,0,0,0,3,74,0,0,1,0,1,0,139,0,0,0,11,74,0,0,1,0,1,0, +140,0,0,0,15,74,0,0,1,0,1,0,141,0,0,0,19,74,0,0,1,0,1,0,142,0,0,0,23,74,0,0,1,0,1,0,143,0,0,0,27,74,0,0,1,0,1,0,144,0,0,0,32,74,0,0,1,0,1,0,145,0,0,0,37,74,0,0,1,0,1,0,146,0,0,0,42,74,0,0,1,0,1,0,147,0,0,0,47,74,0,0,1,0,1,0,148,0,0,0,3,126,0,0,1,0,1,0,149,0,0,0,51,74,0,0,1,0,1,0,150,0,0,0,57,74,0,0,2,0,1,0,151,0,0,0,63,74,0,0,1,0,1,0,152,0,0,0,68,74,0,0,1,0,1,0,153,0,0,0,73,74,0,0,1,0,1,0,154,0,0,0,80,74,0,0,1,0,1,0,155,0,0,0,85,74,0,0,1,0,1,0,156,0,0,0,91,74,0,0,0,0,1,1,157,0,0,0,94,74,0,0,2,0,1, +0,158,0,0,0,104,74,0,0,2,0,1,0,159,0,0,0,104,74,0,0,3,0,1,0,159,0,0,0,114,74,0,0,2,0,1,0,160,0,0,0,122,74,0,0,2,0,1,0,161,0,0,0,131,74,0,0,1,0,1,0,162,0,0,0,139,74,0,0,1,0,1,0,163,0,0,0,146,74,0,0,2,0,1,0,164,0,0,0,151,74,0,0,2,0,1,0,165,0,0,0,156,74,0,0,2,0,1,0,166,0,0,0,161,74,0,0,2,0,1,0,167,0,0,0,171,74,0,0,1,0,0,0,168,0,0,0,130,0,0,0,177,74,0,0,1,0,0,0,168,0,0,0,131,0,0,0,250,120,0,0,1,0,0,0,169,0,0,0,132,0,0,0,186,74,0,0,1,0,0,0,169,0,0,0,133,0,0,0,193,74,0,0,1,0,0,0,169,0,0,0,134,0,0,0,208, +74,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,95,79,0,0,116,79,0,0,128,79,0,0,140,79,0,0,164,79,0,0,176,79,0,0,187,79,0,0,207,79,0,0,221,79,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,231,81,0,0,48,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,236,81,0,0,52,5,0,0,130,0,0, +0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,246,81,0,0,56,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,3,82,0,0,48,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0, +132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,1,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,0,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,50,82,0,0,136,0,0,0,0,0,0,0,13,82,0,0,133,0,0,0,0,0,0,0,55,82,0,0,144,0,0,0,0,0,0,0,62,82,0,0,145,0,0,0,0,0,0,0,69,82,0,0,146,0,0,0,0,0,0,0,74,82,0,0,147,0,0,0,0,0,0,0,80,82,0,0,148,0,0,0,0,0,0,0,90,82,0,0,137,0,0,0,0,0,0,0,96,82,0,0,138, +0,0,0,0,0,0,0,101,82,0,0,0,0,0,0,0,0,0,0,107,82,0,0,0,0,0,0,0,0,0,0,115,82,0,0,139,0,0,0,0,0,0,0,121,82,0,0,0,0,0,0,0,0,0,0,128,82,0,0,0,0,0,0,0,0,0,0,137,82,0,0,149,0,0,0,0,0,0,0,144,82,0,0,0,0,0,0,0,0,0,0,154,82,0,0,134,0,0,0,0,0,0,0,161,82,0,0,150,0,0,0,0,0,0,0,175,82,0,0,151,0,0,0,0,0,0,0,181,82,0,0,135,0,0,0,0,0,0,0,187,82,0,0,140,0,0,0,0,0,0,0,194,82,0,0,130,0,0,0,0,0,0,0,202,82,0,0,130,0,0,0,0,0,0,0,207,82,0,0,152,0,0,0,0,0,0,0,214,82,0,0,0,0,0,0,0,0,0,0,221,82,0,0,131,0,0,0,0,0,0,0,233,82, +0,0,141,0,0,0,0,0,0,0,242,82,0,0,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,83,0,0,112,83,0,0,121,83,0,0,229,81,0,0,3,0,0,0,136,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,0,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,3,0,0,0,137,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,0,0,0,64,1,0,0,0, +0,0,0,0,138,0,0,0,137,0,0,0,142,0,0,0,130,0,0,0,139,0,0,0,143,0,0,0,170,0,0,0,130,0,0,0,131,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,140,0,0,0,160,0,0,0,141,0,0,0,142,0,0,0,143,0,0,0,141,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,171,84,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,172,0,0,0,0,0,0,0,197,84,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,222,84,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,231,84,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,242,84,0,0,0,0, +0,0,1,0,1,8,1,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,249,84,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,249,84,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,255,84,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,255,84,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,5,85,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,5,85,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,10,85,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,85,0,0,0,0,0,0,1,0,33,16,0,0, +0,0,0,0,0,0,176,0,0,0,142,0,0,0,10,85,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,14,85,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,85,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,176,0,0,0,142,0,0,0,14,85,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,18,85,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,25,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,32,85,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,38,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0, +0,0,181,0,0,0,0,0,0,0,45,85,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,53,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,58,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,62,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,62,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,185,0,0,0,0,0,0,0,68,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,74,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,80,85,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,173,0,0,0,0,0, +0,0,84,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,91,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,98,85,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,109,85,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,116,85,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,131,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,148,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,159,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,165,85,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,183,85,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,191,85,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,205,85,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,213,85,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,222,85,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,222,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,143,0,0,0,229,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,144,0,0,0,233,85,0,0,0,0,0,0, +1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,145,0,0,0,239,85,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,201,0,0,0,146,0,0,0,243,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,201,0,0,0,146,0,0,0,243,85,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,202,0,0,0,147,0,0,0,249,85,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,202,0,0,0,147,0,0,0,249,85,0,0,0,0,0,0,2,0,13,8,6,86,0,0,0,0,0,0,203,0,0,0,0,0,0,0,10,86,0,0,0,0,0,0,2,0,5,8,15,86,0,0,0,0,0,0,203,0,0,0,0,0,0,0,19,86,0,0,0,0,0,0,3,0,5,8,15,86,0,0,0,0,0,0,203,0,0,0,0,0,0,0,19,86,0,0,0,0,0,0, +1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,86,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,86,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,24,86,0,0,0,0,0,0,60,87,0,0,73,87,0,0,0,0,0,0,109,87,0,0,134,87,0,0,165,87,0,0,184,87,0,0,209,87,0,0,223,87,0,0,4,88,0,0,16,88,0,0,31,88,0,0,64,88,0,0,82,88,0,0,107,88,0,0,136,88,0,0,153,88,0,0,176,88,0,0,187,86,0,0,204,88,0,0,222,88,0,0,240,88,0,0,23,89,0,0,54,89,0,0,75,89,0,0,107,89,0,0,141,89,0,0,237,89,0,0,255,0,1,32,0,0,0,0,0,0,0,0,204, +0,0,0,0,0,0,0,239,89,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,249,89,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,254,89,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,3,90,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,12,90,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,209,0,0,0,0,0,0,0,21,90,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,210,0,0,0,0,0,0,0,34,90,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,52,90,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,212,0,0, +0,0,0,0,0,33,91,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,53,91,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,75,91,0,0,0,0,0,0,132,0,0,0,133,0,0,0,144,0,0,0,148,0,0,0,149,0,0,0,145,0,0,0,150,0,0,0,0,0,0,0,0,0,0,0,134,0,0,0,135,0,0,0,146,0,0,0,151,0,0,0,152,0,0,0,147,0,0,0,153,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,148,0,0,0,135,0,0,0,136,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,98,0,0,143,98, +0,0,150,98,0,0,153,98,0,0,156,98,0,0,159,98,0,0,162,98,0,0,165,98,0,0,173,98,0,0,182,98,0,0,188,98,0,0,193,98,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,132,0,0,1,0,0,0,245,104,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,247,117,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,237,117,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,217,117,0,0,0,0,0,0,214,105,0,0,54,118,0,0,67,118,0,0,0,0,0,0,80,118,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,147,119,0,0, +0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,16,120,0,0,0,0,0,0,76,121,0,0,0,0,2,0,83,121,0,0,0,0,4,0,0,0,0,0,0,0,0,0,59,121,0,0,1,0,0,0,62,121,0,0,2,0,0,0,65,121,0,0,6,0,0,0,69,121,0,0,128,0,0,0,0,0,0,0,0,0,0,0,151,128,0,0,0,0,0,0,8,0,0,0,212,123,0,0,1,1,0,0,0,0,0,0,166,128,0,0,2,0,0,0,0,0,16,0,182,128,0,0,3,0,0,0,0,0,0,0,79,123,0,0,4,1,0,0,0,0,0,0,244,123,0,0,5,0,0,0,0,0,0,0,195,128,0,0,6,0,0,0,0,0,0,0,215,128,0,0,2,0,0,0,0,0,0,32,231,128,0,0,2,0,0,0,16,0,0,0,252,128,0,0,7,0,0,0,0,0,0,0,11, +129,0,0,8,0,0,0,0,0,0,0,27,129,0,0,2,0,0,0,128,0,0,0,41,129,0,0,0,2,0,0,15,0,0,0,54,129,0,0,10,1,0,0,0,0,0,0,68,129,0,0,11,1,0,0,0,0,0,0,87,129,0,0,2,0,0,0,0,0,0,2,106,129,0,0,2,0,0,0,0,1,0,0,91,125,0,0,12,0,0,0,0,0,0,0,129,129,0,0,13,1,0,0,0,0,0,0,147,129,0,0,14,1,0,0,0,0,0,0,164,129,0,0,2,0,0,0,0,0,8,0,177,129,0,0,0,2,0,0,0,0,0,0,192,129,0,0,2,0,0,0,4,0,0,0,210,129,0,0,2,0,0,0,8,0,0,0,220,129,0,0,2,0,0,0,0,32,0,0,245,129,0,0,15,1,0,0,0,0,0,0,8,130,0,0,16,1,0,0,0,0,0,0,19,130,0,0,17,1,0,0,0,0,0, +0,30,130,0,0,16,1,0,0,1,0,0,0,186,124,0,0,18,1,0,0,0,0,0,0,180,123,0,0,19,1,0,0,0,0,0,0,193,123,0,0,20,0,0,0,0,0,0,0,42,130,0,0,2,0,0,0,0,128,0,0,167,123,0,0,22,0,0,0,0,0,0,0,61,130,0,0,23,1,0,0,0,0,0,0,0,124,0,0,24,0,0,0,0,0,0,0,76,130,0,0,23,1,0,0,0,0,0,0,126,123,0,0,25,0,0,0,0,0,0,0,87,130,0,0,2,0,0,0,0,0,0,4,98,130,0,0,18,1,0,0,0,0,0,0,110,130,0,0,2,0,0,0,0,64,0,0,127,130,0,0,2,0,0,0,0,0,4,0,146,130,0,0,2,0,0,0,0,0,2,0,172,130,0,0,0,0,0,0,1,0,0,0,136,123,0,0,26,0,0,0,0,0,0,0,187,130,0,0,2,0,0, +0,64,0,0,0,206,130,0,0,27,0,0,0,0,0,0,0,209,125,0,0,28,0,0,0,0,0,0,0,220,130,0,0,29,1,0,0,0,0,0,0,67,124,0,0,30,1,0,0,0,0,0,0,226,130,0,0,31,1,0,0,0,0,0,0,10,124,0,0,32,0,0,0,0,0,0,0,21,124,0,0,33,0,0,0,0,0,0,0,225,125,0,0,34,0,0,0,0,0,0,0,237,130,0,0,0,0,0,0,6,0,0,0,182,125,0,0,35,0,0,0,0,0,0,0,250,130,0,0,36,1,0,0,0,0,0,0,9,131,0,0,2,0,0,0,0,8,1,0,81,127,0,0,36,127,0,0,118,127,0,0,123,127,0,0,131,127,0,0,50,127,0,0,190,126,0,0,99,127,0,0,105,127,0,0,111,127,0,0,75,127,0,0,81,127,0,0,36,127,0,0, +85,127,0,0,90,127,0,0,95,127,0,0,3,127,0,0,36,127,0,0,53,127,0,0,60,127,0,0,67,127,0,0,46,127,0,0,48,127,0,0,50,127,0,0,3,127,0,0,36,127,0,0,41,127,0,0,3,127,0,0,36,127,0,0,0,127,0,0,3,127,0,0,190,126,0,0,188,98,0,0,7,127,0,0,10,127,0,0,20,127,0,0,30,127,0,0,190,126,0,0,145,101,0,0,196,126,0,0,203,126,0,0,20,126,0,0,1,0,0,0,25,126,0,0,1,0,0,0,31,126,0,0,2,0,0,0,40,126,0,0,3,0,0,0,49,126,0,0,2,0,0,0,57,126,0,0,3,0,0,0,65,126,0,0,0,0,0,0,72,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,125,0,0,3,126,0,0,7,126, +0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,8,0,0,0,221,127,0,0,228,127,0,0,236,127,0,0,173,125,0,0,69,121,0,0,240,127,0,0,30,127,0,0,64,0,0,0,10,86,0,0,66,0,0,0,19,86,0,0,65,0,0,0,158,134,0,0,67,0,0,0,176,114,0,0,3,0,0,0,172,114,0,0,3,0,0,0,200,217,0,0,224,143,0,0,230,143,0,0,235,143,0,0,240,143,0,0,100,144,0,0,106,144,0,0,114,144,0,0,201,158,0,0,210,158,0,0,217,158,0,0,223,158,0,0,44,159,0,0,54,159,0,0,65,159,0,0,77,159, +0,0,88,159,0,0,99,159,0,0,110,159,0,0,115,159,0,0,120,159,0,0,131,159,0,0,143,159,0,0,150,159,0,0,158,159,0,0,166,159,0,0,171,159,0,0,177,159,0,0,191,159,0,0,197,159,0,0,207,159,0,0,212,159,0,0,216,159,0,0,221,159,0,0,224,159,0,0,230,159,0,0,237,159,0,0,244,159,0,0,251,159,0,0,2,160,0,0,5,160,0,0,9,160,0,0,20,160,0,0,29,160,0,0,35,160,0,0,45,160,0,0,55,160,0,0,62,160,0,0,70,160,0,0,73,160,0,0,76,160,0,0,79,160,0,0,82,160,0,0,85,160,0,0,88,160,0,0,98,160,0,0,105,160,0,0,111,160,0,0,121,160,0,0,132, +160,0,0,136,160,0,0,145,160,0,0,154,160,0,0,161,160,0,0,171,160,0,0,178,160,0,0,183,160,0,0,190,160,0,0,201,160,0,0,206,160,0,0,213,160,0,0,219,160,0,0,225,160,0,0,231,160,0,0,237,160,0,0,248,160,0,0,3,161,0,0,11,161,0,0,20,161,0,0,26,161,0,0,36,161,0,0,49,161,0,0,60,161,0,0,66,161,0,0,71,161,0,0,78,161,0,0,91,161,0,0,102,161,0,0,107,161,0,0,115,161,0,0,121,161,0,0,128,161,0,0,133,161,0,0,142,161,0,0,147,161,0,0,156,161,0,0,161,161,0,0,166,161,0,0,172,161,0,0,180,161,0,0,190,161,0,0,198,161,0,0,208, +161,0,0,217,161,0,0,224,161,0,0,237,161,0,0,242,161,0,0,254,161,0,0,6,162,0,0,13,162,0,0,21,162,0,0,30,162,0,0,41,162,0,0,47,162,0,0,58,162,0,0,68,162,0,0,78,162,0,0,87,162,0,0,97,162,0,0,111,162,0,0,125,162,0,0,136,162,0,0,149,162,0,0,160,162,0,0,166,162,0,0,178,162,0,0,187,162,0,0,196,162,0,0,203,162,0,0,213,162,0,0,220,162,0,0,231,162,0,0,245,162,0,0,0,163,0,0,7,163,0,0,15,163,0,0,21,163,0,0,29,163,0,0,42,163,0,0,52,163,0,0,62,163,0,0,67,163,0,0,76,163,0,0,84,163,0,0,90,163,0,0,95,163,0,0,107, +163,0,0,119,163,0,0,131,163,0,0,143,163,0,0,156,163,0,0,166,163,0,0,176,163,0,0,188,163,0,0,200,163,0,0,210,163,0,0,216,163,0,0,226,163,0,0,233,163,0,0,245,163,0,0,254,163,0,0,6,164,0,0,15,164,0,0,22,164,0,0,32,164,0,0,39,164,0,0,47,164,0,0,56,164,0,0,62,164,0,0,70,164,0,0,78,164,0,0,88,164,0,0,97,164,0,0,108,164,0,0,113,164,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,2,0,0,0,131,0,0,0,132,0,0,0,163,0,0,0,149,0,0,0,150,0,0,0,164,0,0,0,151,0,0,0,137,0,0,0,152,0,0, +0,153,0,0,0,145,0,0,0,165,0,0,0,134,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,138,0,0,0,166,0,0,0,167,0,0,0,168,0,0,0,169,0,0,0,0,0,0,0,133,0,0,0,133,0,0,0,170,0,0,0,158,0,0,0,158,0,0,0,171,0,0,0,159,0,0,0,139,0,0,0,160,0,0,0,161,0,0,0,146,0,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,167,0,0,37,168,0,0,105,168,0,0,133,168,0,0,162,168,0,0,189,168,0,0,217,168,0,0,242,168,0,0,10,169,0,0,75,169,0,0,134,169,0,0,202,169,0,0,250,169,0,0,106,170, +0,0,241,170,0,0,37,171,0,0,103,171,0,0,146,171,0,0,205,171,0,0,244,171,0,0,32,172,0,0,73,172,0,0,120,172,0,0,162,172,0,0,200,217,0,0,200,217,0,0,200,172,0,0,255,172,0,0,60,173,0,0,179,173,0,0,26,174,0,0,81,174,0,0,139,174,0,0,246,174,0,0,69,175,0,0,134,175,0,0,194,175,0,0,242,175,0,0,92,176,0,0,165,176,0,0,115,166,0,0,220,0,0,0,123,166,0,0,221,0,0,0,141,166,0,0,222,0,0,0,131,166,0,0,223,0,0,0,109,179,0,0,2,0,4,0,112,179,0,0,3,1,3,0,116,179,0,0,3,1,2,0,120,179,0,0,4,0,1,0,131,166,0,0,9,0,0,0,54,183, +0,0,6,0,0,0,184,180,0,0,8,0,0,0,193,180,0,0,10,0,0,0,182,98,0,0,5,0,0,0,141,180,0,0,7,0,0,0,61,183,0,0,10,0,0,0,72,183,0,0,10,0,0,0,0,0,0,0,147,0,0,0,162,0,0,0,135,0,0,0,163,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,148,0,0,0,164,0,0,0,136,0,0,0,165,0,0,0,135,0,0,0,0,0,0,0,0,0,0,0,136,0,0,0,136,0,0,0,173,0,0,0,166,0,0,0,166,0,0,0,174,0,0,0,167,0,0,0,140,0,0,0,168,0,0,0,169,0,0,0,149,0,0,0,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,0,0,170,0,0,0,137, +0,0,0,171,0,0,0,137,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27, +192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88, +45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52, +62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108, +0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0, +144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154, +2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200, +238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46, +68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24, +64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,2,0,0,0,138,0,0,0,139,0,0,0,176,0,0,0,172,0,0,0,173,0,0,0,177,0,0,0,174,0,0,0,141,0,0,0,175,0,0,0,176,0,0,0,151,0,0,0,178,0,0,0,138,0,0,0,177,0,0,0,178,0,0,0,179,0,0,0,180,0,0,0,142,0,0,0,179,0,0,0,180,0,0,0,181,0,0,0,182,0,0,0,2,0,0,0,140,0,0,0,141,0,0,0,183,0,0,0,181,0,0,0,182,0,0,0,184,0,0,0,183,0,0,0,143,0,0,0,184,0,0,0,185,0,0,0,152,0,0,0,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,242,188,0,0,26,189,0,0,90,166,0,0,139,0,0,0,154,0,0,0,142,0,0,0,61,189,0,0,140,0,0,0,155,0,0,0,143,0,0,0,83,166,0,0,141,0,0,0,156,0,0,0,144,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5, +0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1, +212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0, +1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0, +2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80, +132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0, +30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170, +2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228, +44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4],"i8",4,n.G); +z([4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212, +7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,115,166,0,0,0,0,0,0,130,0,0,0,0,0,0,0,45,191,0,0,0,0,0,0,131,0,0,0,0,0,0,0,55,191,0,0,0,0,0,0,132,0,0,0,0,0,0,0,117,191,0,0,224,0,0,0,127,191,0,0,225,0,0,0,141,191,0,0,226,0,0,0,154,191,0,0,227,0,0,0,204,127,0,0,1,0,0,0,160,125,0,0,0,0,0,0,249,196,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,186,0,0,0,187,0,0,0,186,0,0,0,153,0,0,0,144,0,0,0,188,0,0,0,187,0,0,0,188,0,0,0,145,0,0,0,189,0,0,0,142,0,0,0,154, +0,0,0,143,0,0,0,155,0,0,0,189,0,0,0,146,0,0,0,131,0,0,0,144,0,0,0,228,0,0,0,108,199,0,0,176,199,0,0,245,199,0,0,205,171,0,0,22,200,0,0,62,200,0,0,32,172,0,0,101,200,0,0,140,200,0,0,182,200,0,0,222,200,0,0,66,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,255,255,255,255,66,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,255,255,255,255,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,24,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,36,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,156,0,0,0,157,0,0,0,253,218,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,43,0,0,12,0,14,0,24,0,31,0,59,0,15,39,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184, +0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235, +2,18,3,27,3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76, +0,76,0,76,0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0,217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158, +3,127,4,137,4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4,102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202, +4,226,4,230,4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239,4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98, +0,98,0,98,0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209,3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0, +95,1,190,3,190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2,46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91, +1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3, +78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0,178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25, +0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3,194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96, +0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0, +169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83,0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64,3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0, +189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19,0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0, +151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166,3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3,56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0, +96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8,3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214,3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121, +3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12,1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0,120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38, +0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0,42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0,18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194, +1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121,0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190,1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244, +2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0,242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0,143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158, +3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0,142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170,1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241, +2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1,134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239,2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3, +96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211,0,12,5,11,5,53,1,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1, +203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181,3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181, +3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31,6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255,181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2, +42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73,5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214,4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31, +6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4,153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133,5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158, +5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5,252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178,4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117, +4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52,5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52, +5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243,4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5, +111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111,4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104,4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52, +5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96, +4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167, +1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144, +1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2, +232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14, +26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255, +249,255,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1, +18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193, +4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44, +22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0, +218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78, +11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246, +106,246,42,247,158,247,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101, 0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114, 116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0, 116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70, 117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116, -101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133, -134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117, -99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0,0,75,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12, -0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, -64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110, -111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5, -4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73, -79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67, -65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83, -67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131, -81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8, -0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116, -41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32, -114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101, -109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97, -105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110],"i8",4,l.aa+10240); -z([105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69, -32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81, -46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40, -83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111, -99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99, -107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116, -97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98, -108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101, -118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63, -0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101, -39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63, -32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32, -49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69, -32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39, -37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72, -69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32, -105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108, -61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116, -97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79, -73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114, -103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68, -69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80, -32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69, -88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102, -105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78, -44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116, -115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99, -107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37, -81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105, -108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109, -0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115, -116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118, -119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110, -111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115, -0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115, -116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32, -98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178, -0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3, -203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177, -0,177,3,187,5,187,3,229,0,229,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1, -168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105, -101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32, -115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115, -0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35, -37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97, -116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32, -97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100, -101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40, -37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115, -113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95, -114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117, -116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95, -115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101, -32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101, -103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117, -108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102, -32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109, -97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115, -0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117, -101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97,108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108, -105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105, -98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0, -97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111, -116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37, -115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116, -111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101],"i8",4,l.aa+20480); -z([32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116, -101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32, -105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114, -45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32,114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98, -105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97, -99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110, -97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99, -97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101, -114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115, -32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2,1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111, -114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114, -121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78, -79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32, -105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101, -97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115, -115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113, -0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111, -114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111, -117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108, -116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0, -102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114, -121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116, -97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112, -101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32, -110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97, -108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66, -76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111, -119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,44,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115, -116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0, -0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55, -56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32,97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,114,111, -119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37, -84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116, -101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97, -116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32, -98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119, -0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110, -97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115, -32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101, -32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105, -115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105, -99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32, -109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115, -32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115, -32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103, -101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101, -100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47, -48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157,90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119, -120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43,44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46, -47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33, -247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206, -179,180,92,172,173,95,152,97,98,188,99,101,219,102,103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97,85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83, -43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56,101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98,172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132, -133,134,135,136,89,16,207,92,93,19,172,173,169,170,195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152,172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172, -173,152,172,173,152,172,173,152,152,172,173,152,172,173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152,152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217, -166,167,163,163,163,163,163,196,130,217,211,212,217,116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175,175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159, -158,22,177,201,201,159,107,158,177,159,174,158,76,174,182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37,22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64, -22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24,1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3, -3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32, -100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114, -101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114, -101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110, -111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114, -111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104, -97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108, -32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65, -67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115, -99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68,32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34, -37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118],"i8",4,l.aa+30720); -z([97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32, -37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79, -110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101, -32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110, -99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115, -116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115, -45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109, -0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117, -116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116, -0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84, -0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101, -114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112, -97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110, -99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111, -119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112, -73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79, -112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32, -97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111, -99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105, -115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116, -32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32, -105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100, -58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114, -0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81, -76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116, -105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,109,111,100,101,111,102,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2, -14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103, -101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0, -110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110, -116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115, -116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101, -32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97, -114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,51,46,55,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25, -13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97, -32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99, -101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45, -111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100, -114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117, -115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100, -101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117, -108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109, -111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115, -99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111, -116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114, -101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111, -110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111, -116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+40960);var yb=l.ta(z(12,"i8",2),8);assert(0==yb%8);f._i64Subtract=zb;f._i64Add=Ab; -var D={H:1,J:2,Kd:3,Gc:4,O:5,Ka:6,$b:7,dd:8,L:9,nc:10,Ga:11,Ud:11,Ia:12,Y:13,zc:14,rd:15,Z:16,Ha:17,Vd:18,ha:19,ia:20,S:21,p:22,Zc:23,eb:24,$:25,Rd:26,Ac:27,nd:28,ja:29,Hd:30,Sc:31,Bd:32,wc:33,fb:34,jd:42,Dc:43,oc:44,Jc:45,Kc:46,Lc:47,Rc:48,Sd:49,bd:50,Ic:51,tc:35,ed:37,fc:52,ic:53,Wd:54,$c:55,jc:56,kc:57,uc:35,lc:59,pd:60,cd:61,Od:62,od:63,kd:64,ld:65,Gd:66,gd:67,cc:68,Ld:69,pc:70,Cd:71,Uc:72,xc:73,hc:74,wd:76,gc:77,Fd:78,Mc:79,Nc:80,Qc:81,Pc:82,Oc:83,qd:38,Ja:39,Vc:36,sa:40,xd:95,Ad:96,sc:104,ad:105, -dc:97,Ed:91,ud:88,md:92,Id:108,rc:111,ac:98,qc:103,Yc:101,Wc:100,Pd:110,Bc:112,Cc:113,Fc:115,ec:114,vc:89,Tc:90,Dd:93,Jd:94,bc:99,Xc:102,Hc:106,sd:107,Qd:109,Td:87,yc:122,Md:116,vd:95,hd:123,Ec:84,yd:75,mc:125,td:131,zd:130,Nd:86},Bb={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", +101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, +64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,52,46,48,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,69,78,65,66,76,69,95,70,84,83,53,0,73,78,84,54,52,95, +84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,49,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"i8",4,n.G+10240); +z([30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166, +167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0,1,0,0,109,105,115,117,115,101,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,37,0,100,10,1,0, +0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2,14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,78, +85,76,76,0,40,78,85,76,76,41,0,46,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,97,99,99,101,115,115,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112, +114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116, +0,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,102,117,108,108,95,102,115,121,110, +99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58, +32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,109,111,100,101,111,102,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32, +109,101,109,111,114,121,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,109,105,110,0,109,97,120,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110, +116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119, +105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,42,63,91,0,103,108,111,98,0,37,95,0,1,108,105,107,101,0,99,111,97,108,101,115,99,101,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65, +80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,37,108,108,100,0,37,33,46,49,53,103,0,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,44,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,105,110, +116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101, +100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100, +0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116, +97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112, +112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116, +97,98,97,115,101,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,105,110,116,101,103,101,114,0,116,101,120,116,0,114,101,97,108,0,98,108,111,98,0,110,117,108,108,0,1,32,0,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116, +101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,46,49,54,103,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101, +0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37, +119,34,0,37,115,37,115,0,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, +2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6, +2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82, +65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76, +76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78, +84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131,81,80,111,21,21, +27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0, +87,0,75,51,0,27,37,73,83,0,35,68,0,0,37,46,42,115,34,37,119,34,37,115,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98, +108,101,115,0,58,109,101,109,111,114,121,58,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0, +45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,64,32,32,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104, +32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,111,114,100,101,114,0,102,114,111,109,0,100,101,116,97,105,108,0, +117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181, +2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8, +218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177,0,177,3,187,5,187,3,229,0,229,2,149,4,149,1,149,2,149,3,149, +5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1, +190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,114,111,119,105,100,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110, +97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116, +115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111, +114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103, +101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,115,113,108,105,116, +101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100, +58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99, +104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100, +0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,99,114,101, +97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108, +117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46, +37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97, +109,101,61,37,81,0,45,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113, +108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95, +110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109, +101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101, +113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117, +108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,73,78,84,69,71,69,82,0,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116, +32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117, +116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109, +101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46, +34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110, +99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97, +108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115, +117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,82,79,87,73,68,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,95,82,79,87,73,68,95,0,79,73,68,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109, +97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,42,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104, +97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108, +101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32, +99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101, +58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37, +115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117, +110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32, +114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101, +32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115],"i8",4,n.G+20480); +z([32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115, +32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119, +101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109, +97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,116,114,105,103,103,101,114,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98, +108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37, +115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2, +1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112, +95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115, +105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101, +110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99, +97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,98,117,115,121,0,108,111,103,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49, +54,0,85,84,70,49,54,0,37,95,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84, +32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,100,101,115,99,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119, +105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108, +0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121, +95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116, +0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110, +95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110, +116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0, +115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98, +101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32, +99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98, +117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69, +82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65, +82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2, +2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,78,79,67,65,83,69,0,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26, +26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32, +97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,117, +110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116, +111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88, +32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99, +108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114, +115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84, +69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117, +109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105, +103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97, +98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89, +32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113, +39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105, +115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0, +84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101, +113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116, +115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50, +51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157, +90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119,120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43, +44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46,47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19, +207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33,247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54, +55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206,179,180,92,172,173,95,152,97,98,188,99,101,219,102,103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97, +85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83,43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56,101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98, +172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132,133,134,135,136,89,16,207,92,93,19,172,173,169,170,195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152, +172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172,173,152,172,173,152,172,173,152,152,172,173,152,172,173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152, +152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217,166,167,163,163,163,163,163,196,130,217,211,212,217,116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175, +175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159,158,22,177,201,201,159,107,158,177,159,174,158,76,174,182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37, +22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64,22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24,1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,117,110,111,112,101,110, +101,100,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110, +111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32, +105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82, +69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108, +111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105, +110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32, +115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68,32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34,37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77, +32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112, +101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32, +0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32, +111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116, +97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107, +101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98, +105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97, +109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111, +117,116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100],"i8",4,n.G+30720); +z([0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121, +0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112, +90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119, +0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73, +100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101, +108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83, +111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105, +116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119, +105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116, +32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0,0,75,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101, +32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,1,4,3,2,5,116,101,109,112,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117, +101,115,116,101,100,32,99,111,110,116,101,120,116,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117, +116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113, +95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95, +115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69, +32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32, +37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115, +39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61, +32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120, +32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82, +69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69, +80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65, +76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70, +82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113, +95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76, +69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114, +111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32, +49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105, +100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101, +103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115, +116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32, +97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79, +66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109, +117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84, +83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32, +37,115,0,97,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97, +110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113, +95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73, +78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59, +0,44,37,115,40,63,41,0,44,32,63,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105, +122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110, +116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116, +110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111, +110,115,116,114,117,99,116,111,114,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,102,116,115,53,0,102,116,115,53,95,115,111,117,114,99,101,95,105,100,0,102,116,115,53,58,32, +50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,102,116,115,53,118,111,99,97,98,0,83,69,76,69,67,84,32,112,103,110,111,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,105,100,120,39,32,87,72,69,82,69,32,115,101,103,105,100,61,63,32,65,78,68,32,116,101,114,109,60,61,63,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,68,69,83,67,32,76,73,77,73,84,32,49,0,83,69, +76,69,67,84,32,107,44,32,118,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,102,105,103,39,0,118,101,114,115,105,111,110,0,105,110,118,97,108,105,100,32,102,116,115,53,32,102,105,108,101,32,102,111,114,109,97,116,32,40,102,111,117,110,100,32,37,100,44,32,101,120,112,101,99,116,101,100,32,37,100,41,32,45,32,114,117,110,32,39,114,101,98,117,105,108,100,39,0,112,103,115,122,0,104,97,115,104,115,105,122,101,0,97,117,116,111,109,101,114,103,101,0,117,115,101,114,109,101,114,103,101,0,99,114,105,115, +105,115,109,101,114,103,101,0,114,97,110,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,80,82,65,71,77,65,32,37,81,46,100,97,116,97,95,118,101,114,115,105,111,110,0,83,69,76,69,67,84,32,116,46,37,81,32,70,82,79,77,32,37,81,46,37,81,32,65,83,32,116,32,87,72,69,82,69,32,116,46,37,81,32,77, +65,84,67,72,32,39,42,105,100,39,0,110,111,32,115,117,99,104,32,102,116,115,53,32,116,97,98,108,101,58,32,37,115,46,37,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,118,116,97,98,108,101,32,97,114,103,117,109,101,110,116,115,0,99,111,108,0,114,111,119,0,102,116,115,53,118,111,99,97,98,58,32,117,110,107,110,111,119,110,32,116,97,98,108,101,32,116,121,112,101,58,32,37,81,0,67,82,69,65,84,69,32,84,65,66,108,69,32,118,111,99,97,98,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99, +44,32,99,110,116,41,0,67,82,69,65,84,69,32,84,65,66,108,69,32,118,111,99,97,98,40,116,101,114,109,44,32,100,111,99,44,32,99,110,116,41,0,97,115,99,105,105,0,101,114,0,97,98,108,101,0,105,98,108,101,0,97,110,116,0,101,109,101,110,116,0,109,101,110,116,0,105,111,110,0,111,117,0,105,115,109,0,105,99,97,108,0,110,101,115,115,0,105,99,97,116,101,0,105,99,105,116,105,0,97,116,105,118,101,0,97,108,105,122,101,0,97,116,105,111,110,97,108,0,116,105,111,110,97,108,0,101,110,99,105,0,97,110,99,105,0,105,122, +101,114,0,108,111,103,105,0,98,108,105,0,97,108,108,105,0,101,110,116,108,105,0,101,108,105,0,111,117,115,108,105,0,105,122,97,116,105,111,110,0,97,116,105,111,110,0,97,116,111,114,0,97,108,105,115,109,0,105,118,101,110,101,115,115,0,102,117,108,110,101,115,115,0,111,117,115,110,101,115,115,0,97,108,105,116,105,0,105,118,105,116,105,0,98,105,108,105,116,105,0,97,116,0,98,108,0,105,122,0,101,101,100,0,101,100,0,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,116,111,107,101,110,99,104,97,114,115,0,115,101,112,97,114,97,116,111,114,115,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100, +100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,0,104,105,103,104,108,105,103,104,116,0,98,109,50,53,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,104,105,103,104,108,105,103,104,116,40,41,0,37,122,37,46,42,115,0,102,116,115,53,95,101,120,112,114,0,102, +116,115,53,95,101,120,112,114,95,116,99,108,0,102,116,115,53,95,105,115,97,108,110,117,109,0,102,116,115,53,95,102,111,108,100,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,102,116,115,53,95,102,111,108,100,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,102,116,115,53,95,105,115,97,108,110,117,109,0,110, +101,97,114,115,101,116,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,115,0,34,34,0,37,115,32,58,32,0,78,69,65,82,40,0,32,43,32,0,44,32,37,100,41,0,32,78,79,84,32,0,32,79,82,32,0,37,115,37,115,37,122,37,115,0,37,115,32,0,45,99,111,108,32,37,100,32,0,45,99,111,108,32,123,37,100,0,32,37,100,0,125,32,0,45,110,101,97,114,32,37,100,32,0,45,45,0,32,123,0,125,0,32,91,37,122,93,0,102,116,115,53,58,32,115, +121,110,116,97,120,32,101,114,114,111,114,32,110,101,97,114,32,34,37,46,42,115,34,0,16,1,17,3,17,3,17,3,17,3,17,1,19,1,19,2,18,1,18,3,21,4,21,3,21,1,21,2,22,2,22,1,20,1,20,5,23,1,23,2,25,0,25,2,24,4,24,2,26,1,26,0,240,248,0,9,17,28,26,35,33,13,13,22,54,13,51,98,16,51,5,53,27,83,7,26,15,51,5,53,27,13,69,26,48,51,5,53,27,19,11,26,9,20,51,5,53,27,13,22,26,28,51,5,53,27,68,1,26,19,11,17,9,52,10,53,27,23,24,26,54,3,4,2,26,6,21,49,71,3,4,2,7,56,59,55,59,4,2,12,69,58,60,18,67,62,69,25,66,8,14,2,101,120, +112,101,99,116,101,100,32,105,110,116,101,103,101,114,44,32,103,111,116,32,34,37,46,42,115,34,0,102,116,115,53,58,32,99,111,108,117,109,110,32,113,117,101,114,105,101,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,100,101,116,97,105,108,61,110,111,110,101,41,0,112,104,114,97,115,101,0,102,116,115,53,58,32,37,115,32,113,117,101,114,105,101,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,100,101,116,97,105,108,33,61,102,117,108,108,41,0,102, +116,115,53,58,32,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,34,34,34,34,34,14,20,3,36,1,59,64,64,65,65,53,61,56,58,63,68,67,70,67,71,72,67,77,81,16,17,18,19,20,21,5,6,24,17,18,19,20,21,11,14,24,17,18,19,20,21,8,9,24,11,17,18,19,20,21,11,12,24,17,18,19,20,21,26,6,24,8,9,22,11,18,11,20,21,24,25,24,20,1,2,3,24,23,24,7,0,1,2,3,6,10,11,10,11,2,3,9,14,11,11,22,26,7,14,13,11,5,11,3,97,97,97,97,97,76,91,97,97,96,96,97,97,96,96,97,97,97,97,97,73,89,97,90,97,97,87,97,72, +117,110,116,101,114,109,105,110,97,116,101,100,32,115,116,114,105,110,103,0,102,116,115,53,58,32,115,121,110,116,97,120,32,101,114,114,111,114,32,110,101,97,114,32,34,37,46,49,115,34,0,114,101,115,101,114,118,101,100,32,102,116,115,53,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,112,97,114,115,101,32,101,114,114,111,114,32,105,110,32,34,37,115,34,0,100,111,99,115,105,122,101,0,37,81,46,39,37,113,95,37,115,39,0,84,46,37,81,0,44,32,84,46,37,81,0,44,32,84,46,99,37,100,0,110,111,32,115,117,99, +104,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,101,114,114,111,114,32,105,110,32,116,111,107,101,110,105,122,101,114,32,99,111,110,115,116,114,117,99,116,111,114,0,114,101,115,101,114,118,101,100,32,102,116,115,53,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,117,110,105,110,100,101,120,101,100,0,117,110,114,101,99,111,103,110,105,122,101,100,32,99,111,108,117,109,110,32,111,112,116,105,111,110,58,32,37,115,0,109,97,108,102,111,114,109,101,100,32,112,114,101,102,105,120,61, +46,46,46,32,100,105,114,101,99,116,105,118,101,0,116,111,111,32,109,97,110,121,32,112,114,101,102,105,120,32,105,110,100,101,120,101,115,32,40,109,97,120,32,37,100,41,0,112,114,101,102,105,120,32,108,101,110,103,116,104,32,111,117,116,32,111,102,32,114,97,110,103,101,32,40,109,97,120,32,57,57,57,41,0,109,117,108,116,105,112,108,101,32,116,111,107,101,110,105,122,101,61,46,46,46,32,100,105,114,101,99,116,105,118,101,115,0,112,97,114,115,101,32,101,114,114,111,114,32,105,110,32,116,111,107,101,110, +105,122,101,32,100,105,114,101,99,116,105,118,101,0,109,117,108,116,105,112,108,101,32,99,111,110,116,101,110,116,61,46,46,46,32,100,105,114,101,99,116,105,118,101,115,0,37,81,46,37,81,0,99,111,110,116,101,110,116,95,114,111,119,105,100,0,109,117,108,116,105,112,108,101,32,99,111,110,116,101,110,116,95,114,111,119,105,100,61,46,46,46,32,100,105,114,101,99,116,105,118,101,115,0,99,111,108,117,109,110,115,105,122,101,0,109,97,108,102,111,114,109,101,100,32,99,111,108,117,109,110,115,105,122,101,61, +46,46,46,32,100,105,114,101,99,116,105,118,101,0,109,97,108,102,111,114,109,101,100,32,100,101,116,97,105,108,61,46,46,46,32,100,105,114,101,99,116,105,118,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,112,116,105,111,110,58,32,34,37,46,42,115,34,0,99,111,108,117,109,110,115,0,102,116,115,53,95,100,101,99,111,100,101,0,102,116,115,53,95,100,101,99,111,100,101,95,110,111,110,101,0,102,116,115,53,95,114,111,119,105,100,0,115,104,111,117,108,100,32,98,101,58,32,102,116,115,53,95,114,111, +119,105,100,40,115,117,98,106,101,99,116,44,32,46,46,46,46,41,0,115,101,103,109,101,110,116,0,115,104,111,117,108,100,32,98,101,58,32,102,116,115,53,95,114,111,119,105,100,40,39,115,101,103,109,101,110,116,39,44,32,115,101,103,105,100,44,32,112,103,110,111,41,41,0,102,105,114,115,116,32,97,114,103,32,116,111,32,102,116,115,53,95,114,111,119,105,100,40,41,32,109,117,115,116,32,98,101,32,39,115,101,103,109,101,110,116,39,0,32,37,100,40,37,108,108,100,41,0,32,116,101,114,109,61,37,46,42,115,0,99,111, +114,114,117,112,116,0,32,105,100,61,37,108,108,100,0,32,110,80,111,115,61,37,100,37,115,0,43,0,32,37,108,108,100,37,115,0,32,123,108,118,108,61,37,100,32,110,77,101,114,103,101,61,37,100,32,110,83,101,103,61,37,100,0,32,123,105,100,61,37,100,32,108,101,97,118,101,115,61,37,100,46,46,37,100,125,0,37,115,37,100,0,123,97,118,101,114,97,103,101,115,125,32,0,123,115,116,114,117,99,116,117,114,101,125,0,100,108,105,100,120,32,0,123,37,115,115,101,103,105,100,61,37,100,32,104,61,37,100,32,112,103,110,111, +61,37,100,125,0,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,100,97,116,97,39,40,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,100,97,116,97,39,32,87,72,69,82,69,32,105,100,62,61,63,32,65,78,68,32,105,100,60,61,63,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,105,100,120,39,32,87,72,69,82,69,32,115,101,103,105,100,61,63,0,73,78,83,69,82,84,32,73,78,84,79,32,39,37, +113,39,46,39,37,113,95,105,100,120,39,40,115,101,103,105,100,44,116,101,114,109,44,112,103,110,111,41,32,86,65,76,85,69,83,40,63,44,63,44,63,41,0,100,97,116,97,0,99,111,110,102,105,103,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,37,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,37,115,39,59,0,110,111,32,115,117,99,104,32,99,117,114,115,111,114,58,32,37,108,108,100,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,84,32,87,72,69,82,69,32,84,46,37,81,32,62,61,32,63,32, +65,78,68,32,84,46,37,81,32,60,61,32,63,32,79,82,68,69,82,32,66,89,32,84,46,37,81,32,65,83,67,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,84,32,87,72,69,82,69,32,84,46,37,81,32,60,61,32,63,32,65,78,68,32,84,46,37,81,32,62,61,32,63,32,79,82,68,69,82,32,66,89,32,84,46,37,81,32,68,69,83,67,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,84],"i8",4,n.G+40960); +z([32,87,72,69,82,69,32,84,46,37,81,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,105,100,61,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,105,100,61,63,0,83,69,76,69,67,84,32,115,122,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99, +115,105,122,101,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,102,105,103,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,37,115,32,70,82,79,77,32,37,115,32,65,83,32,84,0,85,80,68,65,84,69,0,68,69,76,69,84,69,32,102,114,111,109,0,99,97,110,110,111,116,32,37,115,32,99,111,110,116,101,110,116,108,101,115,115,32,102,116,115,53,32,116,97,98,108,101,58,32,37,115,0,100,101,108,101,116,101,45,97,108,108,0,39,100,101,108,101, +116,101,45,97,108,108,39,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,32,99,111,110,116,101,110,116,108,101,115,115,32,111,114,32,101,120,116,101,114,110,97,108,32,99,111,110,116,101,110,116,32,102,116,115,53,32,116,97,98,108,101,0,39,114,101,98,117,105,108,100,39,32,109,97,121,32,110,111,116,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,32,99,111,110,116,101,110,116,108,101,115,115,32,102,116,115,53,32,116,97,98,108,101,0,109,101,114,103,101,0,83, +69,76,69,67,84,32,115,101,103,105,100,44,32,116,101,114,109,44,32,40,112,103,110,111,62,62,49,41,44,32,40,112,103,110,111,38,49,41,32,70,82,79,77,32,37,81,46,39,37,113,95,105,100,120,39,32,87,72,69,82,69,32,115,101,103,105,100,61,37,100,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,37,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,97,116,97,39,59,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,105,100,120,39,59,0,68,69, +76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,59,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,115,0,37,115,58,32,116,97,98,108,101,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,99,97,110,110,105,110,103,0,83,69,76,69,67,84,32,114,111,119,105,100,44,32,114,97,110,107,32,70,82,79,77,32,37,81,46,37,81,32,79,82,68,69,82,32,66,89,32,37,115,40,37,115,37,115,37,115,41,32,37,115,0,114,101,97,100,115,0,117,110,107,110, +111,119,110,32,115,112,101,99,105,97,108,32,113,117,101,114,121,58,32,37,46,42,115,0,112,97,114,115,101,32,101,114,114,111,114,32,105,110,32,114,97,110,107,32,102,117,110,99,116,105,111,110,58,32,37,115,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,97,116,97,39,59,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,105,100,120,39,59,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99, +111,110,102,105,103,39,59,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,59,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,0,37,122,37,115,37,81,0,37,122,44,32,37,81,32,72,73,68,68,69,78,44,32,37,115,32,72,73,68,68,69,78,41,0,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,44,32,99,37,100, +0,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,122,32,66,76,79,66,0,107,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,0,32,87,73,84,72,79,85,84,32,82,79,87,73,68,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,37,113,39,40,37,115,41,37,115,0,102,116,115,53,58,32,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,115,104,97,100,111,119,32,116,97,98,108,101,32,37,113,95,37,115,58,32,37,115,0,37,115,95,100,97,116,97,0,105,100,32,73,78,84,69,71,69, +82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,0,115,101,103,105,100,44,32,116,101,114,109,44,32,112,103,110,111,44,32,80,82,73,77,65,82,89,32,75,69,89,40,115,101,103,105,100,44,32,116,101,114,109,41,0,77,65,84,67,72,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115, +0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78, +111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32, +115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82, +101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108, +101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105, +108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102, +105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111, +99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101, +114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108, +101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108, +101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108, +0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32, +105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108, +101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0],"i8",4,n.G+51200);var gb=p;p+=16;e._i64Subtract=hb;e._i64Add=ib;e._pthread_mutex_lock=jb; +var E={q:1,p:2,md:3,ic:4,v:5,ta:6,Cb:7,Gc:8,t:9,Qb:10,pa:11,wd:11,ra:12,L:13,bc:14,Sc:15,M:16,qa:17,xd:18,R:19,S:20,N:21,h:22,Bc:23,Ma:24,F:25,td:26,cc:27,Oc:28,T:29,jd:30,uc:31,bd:32,Zb:33,Na:34,Kc:42,fc:43,Rb:44,lc:45,mc:46,nc:47,tc:48,ud:49,Ec:50,kc:51,Wb:35,Hc:37,Ib:52,Lb:53,yd:54,Cc:55,Mb:56,Nb:57,Xb:35,Ob:59,Qc:60,Fc:61,qd:62,Pc:63,Lc:64,Mc:65,hd:66,Ic:67,Fb:68,nd:69,Sb:70,cd:71,wc:72,$b:73,Kb:74,Xc:76,Jb:77,gd:78,oc:79,pc:80,sc:81,rc:82,qc:83,Rc:38,sa:39,xc:36,ba:40,Yc:95,ad:96,Vb:104,Dc:105, +Gb:97,ed:91,Vc:88,Nc:92,kd:108,Ub:111,Db:98,Tb:103,Ac:101,yc:100,rd:110,dc:112,ec:113,hc:115,Hb:114,Yb:89,vc:90,dd:93,ld:94,Eb:99,zc:102,jc:106,Tc:107,sd:109,vd:87,ac:122,od:116,Wc:95,Jc:123,gc:84,Zc:75,Pb:125,Uc:131,$c:130,pd:86},kb={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 Cb(a){f.___errno_location&&(w[f.___errno_location()>>2]=a);return a} -function Db(a,b){for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function Eb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=Db(a.split("/").filter(function(a){return!!a}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a} -function Fb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function Gb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function Hb(){var a=Array.prototype.slice.call(arguments,0);return Eb(a.join("/"))}function E(a,b){return Eb(a+"/"+b)} -function Ib(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Db(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var Jb=[];function Kb(a,b){Jb[a]={input:[],output:[],W:b};Lb(a,Mb)} -var Mb={open:function(a){var b=Jb[a.g.rdev];if(!b)throw new H(D.ha);a.tty=b;a.seekable=!1},close:function(a){a.tty.W.flush(a.tty)},flush:function(a){a.tty.W.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.W.Ya)throw new H(D.Ka);for(var e=0,g=0;ga.e.length&&(a.e=J.wb(a),a.q=a.e.length);if(!a.e||a.e.subarray){var c=a.e?a.e.buffer.byteLength:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.e,a.e=new Uint8Array(b),0b)a.e.length= -b;else for(;a.e.length=a.g.q)return 0;a=Math.min(a.g.q-e,d);assert(0<=a);if(8b)throw new H(D.p);return b},Ma:function(a,b,c){J.Sa(a.g,b+c);a.g.q=Math.max(a.g.q,b+c)},oa:function(a,b,c,d,e,g,h){if(32768!==(a.g.mode&61440))throw new H(D.ha);c=a.g.e;if(h& -2||c.buffer!==b&&c.buffer!==b.buffer){if(0>1)}catch(c){if(!c.code)throw c;throw new H(D[c.code]);}return b.mode},F:function(a){for(var b=[];a.parent!==a;)b.push(a.name),a=a.parent;b.push(a.D.Ba.root);b.reverse();return Hb.apply(null,b)},Ta:{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+"},ub:function(a){a&=-32769;if(a in L.Ta)return L.Ta[a];throw new H(D.p);},k:{G:function(a){a=L.F(a);var b;try{b=fs.lstatSync(a)}catch(c){if(!c.code)throw c;throw new H(D[c.code]);}L.na&&!b.P&&(b.P=4096);L.na&&!b.blocks&&(b.blocks=(b.size+b.P-1)/b.P|0);return{dev:b.dev,ino:b.ino,mode:b.mode,nlink:b.nlink,uid:b.uid,gid:b.gid,rdev:b.rdev,size:b.size,atime:b.atime,mtime:b.mtime,ctime:b.ctime,P:b.P,blocks:b.blocks}},B:function(a, -b){var c=L.F(a);try{void 0!==b.mode&&(fs.chmodSync(c,b.mode),a.mode=b.mode),void 0!==b.size&&fs.truncateSync(c,b.size)}catch(d){if(!d.code)throw d;throw new H(D[d.code]);}},lookup:function(a,b){var c=E(L.F(a),b),c=L.Wa(c);return L.createNode(a,b,c)},da:function(a,b,c,d){a=L.createNode(a,b,c,d);b=L.F(a);try{K(a.mode)?fs.mkdirSync(b,a.mode):fs.writeFileSync(b,"",{mode:a.mode})}catch(e){if(!e.code)throw e;throw new H(D[e.code]);}return a},rename:function(a,b,c){a=L.F(a);b=E(L.F(b),c);try{fs.renameSync(a, -b)}catch(d){if(!d.code)throw d;throw new H(D[d.code]);}},unlink:function(a,b){var c=E(L.F(a),b);try{fs.unlinkSync(c)}catch(d){if(!d.code)throw d;throw new H(D[d.code]);}},rmdir:function(a,b){var c=E(L.F(a),b);try{fs.rmdirSync(c)}catch(d){if(!d.code)throw d;throw new H(D[d.code]);}},readdir:function(a){a=L.F(a);try{return fs.readdirSync(a)}catch(b){if(!b.code)throw b;throw new H(D[b.code]);}},symlink:function(a,b,c){a=E(L.F(a),b);try{fs.symlinkSync(c,a)}catch(d){if(!d.code)throw d;throw new H(D[d.code]); -}},readlink:function(a){var b=L.F(a);try{return b=fs.readlinkSync(b),b=Tb.relative(Tb.resolve(a.D.Ba.root),b)}catch(c){if(!c.code)throw c;throw new H(D[c.code]);}}},n:{open:function(a){var b=L.F(a.g);try{32768===(a.g.mode&61440)&&(a.ea=fs.openSync(b,L.ub(a.flags)))}catch(c){if(!c.code)throw c;throw new H(D[c.code]);}},close:function(a){try{32768===(a.g.mode&61440)&&a.ea&&fs.closeSync(a.ea)}catch(b){if(!b.code)throw b;throw new H(D[b.code]);}},read:function(a,b,c,d,e){if(0===d)return 0;var g=new Buffer(d), -h;try{h=fs.readSync(a.ea,g,0,d,e)}catch(m){throw new H(D[m.code]);}if(0b)throw new H(D.p);return b}}};z(1,"i32*",2);z(1,"i32*",2);z(1,"i32*",2); -var Ub=null,Vb=[null],M=[],Wb=1,Xb=null,Yb=!0,N={},H=null,Rb={}; -function O(a,b){a=Ib("/",a);b=b||{};if(!a)return{path:"",g:null};var c={Ua:!0,Da:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8>>0)%Xb.length}function ac(a){var b=$b(a.parent.id,a.name);a.V=Xb[b];Xb[b]=a}function bc(a){var b=$b(a.parent.id,a.name);if(Xb[b]===a)Xb[b]=a.V;else for(b=Xb[b];b;){if(b.V===a){b.V=a.V;break}b=b.V}} -function Sb(a,b){var c;if(c=(c=cc(a,"x"))?c:a.k.lookup?0:D.Y)throw new H(c,a);for(c=Xb[$b(a.id,b)];c;c=c.V){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.k.lookup(a,b)} -function Qb(a,b,c,d){dc||(dc=function(a,b,c,d){a||(a=this);this.parent=a;this.D=a.D;this.U=null;this.id=Wb++;this.name=b;this.mode=c;this.k={};this.n={};this.rdev=d},dc.prototype={},Object.defineProperties(dc.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},Fb:{get:function(){return K(this.mode)}},Eb:{get:function(){return 8192===(this.mode& -61440)}}}));a=new dc(a,b,c,d);ac(a);return a}function K(a){return 16384===(a&61440)}var ec={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};function cc(a,b){if(Yb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return D.Y}else return D.Y;return 0}function fc(a,b){try{return Sb(a,b),D.Ha}catch(c){}return cc(a,"wx")} -function gc(a,b,c){var d;try{d=Sb(a,b)}catch(e){return e.o}if(a=cc(a,"wx"))return a;if(c){if(!K(d.mode))return D.ia;if(d===d.parent||"/"===P(d))return D.Z}else if(K(d.mode))return D.S;return 0}function hc(a){var b;b=4096;for(a=a||0;a<=b;a++)if(!M[a])return a;throw new H(D.eb);} -function ic(a,b){jc||(jc=function(){},jc.prototype={},Object.defineProperties(jc.prototype,{object:{get:function(){return this.g},set:function(a){this.g=a}},Fe:{get:function(){return 1!==(this.flags&2097155)}},Ge:{get:function(){return 0!==(this.flags&2097155)}},Ee:{get:function(){return this.flags&1024}}}));var c=new jc,d;for(d in a)c[d]=a[d];a=c;c=hc(b);a.fd=c;return M[c]=a}var Pb={open:function(a){a.n=Vb[a.g.rdev].n;a.n.open&&a.n.open(a)},N:function(){throw new H(D.ja);}}; -function Lb(a,b){Vb[a]={n:b}}function kc(a,b){var c="/"===b,d=!b,e;if(c&&Ub)throw new H(D.Z);if(!c&&!d){e=O(b,{Ua:!1});b=e.path;e=e.g;if(e.U)throw new H(D.Z);if(!K(e.mode))throw new H(D.ia);}var d={type:a,Ba:{},$a:b,Jb:[]},g=a.D(d);g.D=d;d.root=g;c?Ub=g:e&&(e.U=d,e.D&&e.D.Jb.push(d))}function mc(a,b,c){var d=O(a,{parent:!0}).g;a=Gb(a);if(!a||"."===a||".."===a)throw new H(D.p);var e=fc(d,a);if(e)throw new H(e);if(!d.k.da)throw new H(D.H);return d.k.da(d,a,b,c)} -function nc(a,b){b=(void 0!==b?b:438)&4095;b|=32768;return mc(a,b,0)}function Q(a,b){b=(void 0!==b?b:511)&1023;b|=16384;return mc(a,b,0)}function oc(a,b,c){"undefined"===typeof c&&(c=b,b=438);return mc(a,b|8192,c)}function pc(a,b){if(!Ib(a))throw new H(D.J);var c=O(b,{parent:!0}).g;if(!c)throw new H(D.J);var d=Gb(b),e=fc(c,d);if(e)throw new H(e);if(!c.k.symlink)throw new H(D.H);return c.k.symlink(c,d,a)} -function qc(a){var b=O(a,{parent:!0}).g,c=Gb(a),d=Sb(b,c),e=gc(b,c,!1);if(e)throw e===D.S&&(e=D.H),new H(e);if(!b.k.unlink)throw new H(D.H);if(d.U)throw new H(D.Z);try{N.willDeletePath&&N.willDeletePath(a)}catch(g){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.k.unlink(b,c);bc(d);try{if(N.onDeletePath)N.onDeletePath(a)}catch(h){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+h.message)}} -function Zb(a){a=O(a).g;if(!a)throw new H(D.J);if(!a.k.readlink)throw new H(D.p);return Ib(P(a.parent),a.k.readlink(a))}function rc(a,b){var c=O(a,{Q:!b}).g;if(!c)throw new H(D.J);if(!c.k.G)throw new H(D.H);return c.k.G(c)}function sc(a){return rc(a,!0)}function tc(a,b){var c;"string"===typeof a?c=O(a,{Q:!0}).g:c=a;if(!c.k.B)throw new H(D.H);c.k.B(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})} -function uc(a){var b;"string"===typeof a?b=O(a,{Q:!0}).g:b=a;if(!b.k.B)throw new H(D.H);b.k.B(b,{timestamp:Date.now()})}function vc(a,b){if(0>b)throw new H(D.p);var c;"string"===typeof a?c=O(a,{Q:!0}).g:c=a;if(!c.k.B)throw new H(D.H);if(K(c.mode))throw new H(D.S);if(32768!==(c.mode&61440))throw new H(D.p);var d=cc(c,"w");if(d)throw new H(d);c.k.B(c,{size:b,timestamp:Date.now()})} -function wc(a,b,c,d){if(""===a)throw new H(D.J);if("string"===typeof b){var e=ec[b];if("undefined"===typeof e)throw Error("Unknown file open mode: "+b);b=e}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;var g;if("object"===typeof a)g=a;else{a=Eb(a);try{g=O(a,{Q:!(b&131072)}).g}catch(h){}}e=!1;if(b&64)if(g){if(b&128)throw new H(D.Ha);}else g=mc(a,c,0),e=!0;if(!g)throw new H(D.J);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!K(g.mode))throw new H(D.ia);if(!e&&(g?40960===(g.mode&61440)?c=D.sa:K(g.mode)&& -(0!==(b&2097155)||b&512)?c=D.S:(c=["r","w","rw"][b&3],b&512&&(c+="w"),c=cc(g,c)):c=D.J,c))throw new H(c);b&512&&vc(g,0);b&=-641;d=ic({g:g,path:P(g),flags:b,seekable:!0,position:0,n:g.n,Sb:[],error:!1},d);d.n.open&&d.n.open(d);!f.logReadFiles||b&1||(xc||(xc={}),a in xc||(xc[a]=1,f.printErr("read file: "+a)));try{N.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),N.onOpenFile(a,g))}catch(m){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+m.message)}return d} -function yc(a){a.za&&(a.za=null);try{a.n.close&&a.n.close(a)}catch(b){throw b;}finally{M[a.fd]=null}}function zc(a,b,c){if(!a.seekable||!a.n.N)throw new H(D.ja);a.position=a.n.N(a,b,c);a.Sb=[]}function Ac(a,b,c,d,e){if(0>d||0>e)throw new H(D.p);if(1===(a.flags&2097155))throw new H(D.L);if(K(a.g.mode))throw new H(D.S);if(!a.n.read)throw new H(D.p);var g=!0;if("undefined"===typeof e)e=a.position,g=!1;else if(!a.seekable)throw new H(D.ja);b=a.n.read(a,b,c,d,e);g||(a.position+=b);return b} -function Bc(a,b,c,d,e,g){if(0>d||0>e)throw new H(D.p);if(0===(a.flags&2097155))throw new H(D.L);if(K(a.g.mode))throw new H(D.S);if(!a.n.write)throw new H(D.p);a.flags&1024&&zc(a,0,2);var h=!0;if("undefined"===typeof e)e=a.position,h=!1;else if(!a.seekable)throw new H(D.ja);b=a.n.write(a,b,c,d,e,g);h||(a.position+=b);try{if(a.path&&N.onWriteToFile)N.onWriteToFile(a.path)}catch(m){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+m.message)}return b} -function Cc(){H||(H=function(a,b){this.g=b;this.Pb=function(a){this.o=a;for(var b in D)if(D[b]===a){this.code=b;break}};this.Pb(a);this.message=Bb[a]},H.prototype=Error(),H.prototype.constructor=H,[D.J].forEach(function(a){Rb[a]=new H(a);Rb[a].stack=""}))}var Dc;function Ec(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}function Fc(a,b,c,d){a=E("string"===typeof a?a:P(a),b);return nc(a,Ec(c,d))} -function Gc(a,b,c,d,e,g){a=b?E("string"===typeof a?a:P(a),b):a;d=Ec(d,e);e=nc(a,d);if(c){if("string"===typeof c){a=Array(c.length);b=0;for(var h=c.length;b>2]=d.dev;w[c+4>>2]=0;w[c+8>>2]=d.ino;w[c+12>>2]=d.mode;w[c+16>>2]=d.nlink;w[c+20>>2]=d.uid;w[c+24>>2]=d.gid;w[c+28>>2]=d.rdev;w[c+32>>2]=0;w[c+36>>2]=d.size;w[c+40>>2]=4096;w[c+44>>2]=d.blocks;w[c+48>>2]=d.atime.getTime()/1E3|0;w[c+52>>2]=0;w[c+56>>2]=d.mtime.getTime()/1E3|0;w[c+60>>2]=0;w[c+64>>2]=d.ctime.getTime()/1E3|0;w[c+68>>2]=0;w[c+72>>2]=d.ino;return 0}var S=0; -function T(){S+=4;return w[S-4>>2]}function U(){return q(T())}function Lc(){var a;a=T();a=M[a];if(!a)throw new H(D.L);return a}var xa=void 0;function Mc(a){a=a/1E3;if((ca||da)&&self.performance&&self.performance.now)for(var b=self.performance.now();self.performance.now()-b>2]=60*-(new Date).getTimezoneOffset();var b=new Date(2E3,0,1),c=new Date(2E3,6,1);w[Pc>>2]=Number(b.getTimezoneOffset()!=c.getTimezoneOffset());var d=a(b),e=a(c),d=z(B(d),"i8",0),e=z(B(e),"i8",0);c.getTimezoneOffset()>2]=d,w[Oc+4>>2]=e):(w[Oc>>2]=e,w[Oc+4>>2]=d)}} -function Sc(a,b){Rc();var c=new Date(1E3*w[a>>2]);w[b>>2]=c.getSeconds();w[b+4>>2]=c.getMinutes();w[b+8>>2]=c.getHours();w[b+12>>2]=c.getDate();w[b+16>>2]=c.getMonth();w[b+20>>2]=c.getFullYear()-1900;w[b+24>>2]=c.getDay();var d=new Date(c.getFullYear(),0,1);w[b+28>>2]=(c.getTime()-d.getTime())/864E5|0;w[b+36>>2]=-(60*c.getTimezoneOffset());c=c.getTimezoneOffset()==Math.min(d.getTimezoneOffset(),(new Date(2E3,6,1)).getTimezoneOffset())|0;w[b+32>>2]=c;w[b+40>>2]=w[Oc+(c?l.M:0)>>2];return b} -f._bitshift64Lshr=Tc;function Uc(a,b){eb.push(function(){l.T("vi",a,[b])});Uc.level=eb.length}var Vc=z(1,"i32*",2); -function Wc(a){var b,c;Wc.C?(c=w[Vc>>2],b=w[c>>2]):(Wc.C=!0,V.USER=V.LOGNAME="web_user",V.PATH="/",V.PWD="/",V.HOME="/home/web_user",V.LANG="C",V._=f.thisProgram,b=z(1024,"i8",2),c=z(256,"i8*",2),w[c>>2]=b,w[Vc>>2]=c);var d=[],e=0,g;for(g in a)if("string"===typeof a[g]){var h=g+"="+a[g];d.push(h);e+=h.length}if(1024>2]=b,b+=h.length+1;w[c+4*d.length>>2]=0}var V={}; -function Xc(a){if(0===a)return 0;a=q(a);if(!V.hasOwnProperty(a))return 0;Xc.C&&Pa(Xc.C);Xc.C=z(B(V[a]),"i8",0);return Xc.C}f._memcpy=Yc;function Ia(a){Ia.Va||(n=Sa(),Ia.Va=!0,assert(l.ba),Ia.Gb=l.ba,l.ba=function(){p("cannot dynamically allocate, sbrk now has control")});var b=n;return 0==a||Ia.Gb(a)?b:4294967295}f._memmove=Zc;function $c(a,b){S=b;return 0}f._memset=ad;f._bitshift64Shl=bd;var cd=Ca; -function dd(a,b){ed=a;fd=b;if(!gd)return 1;if(0==a)hd=function(){setTimeout(id,b)},jd="timeout";else if(1==a)hd=function(){kd(id)},jd="rAF";else if(2==a){if(!window.setImmediate){var c=[];window.addEventListener("message",function(a){a.source===window&&"__emcc"===a.data&&(a.stopPropagation(),c.shift()())},!0);window.setImmediate=function(a){c.push(a);window.postMessage("__emcc","*")}}hd=function(){window.setImmediate(id)};jd="immediate"}return 0} -function ld(a,b,c,d,e){f.noExitRuntime=!0;assert(!gd,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");gd=a;md=d;var g=nd;id=function(){if(!oa)if(0>h-6&63,h=h-6,c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[v];2==h?(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(g&3)<<4],c+="=="):4==h&&(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(g&15)<<2],c+="=");G.src="data:audio/x-"+b.substr(-3)+";base64,"+c;m(G)}};G.src=x;Dd(function(){m(G)})}else return t()}});var c=f.canvas;c&&(c.Ea=c.requestPointerLock||c.mozRequestPointerLock|| -c.webkitRequestPointerLock||c.msRequestPointerLock||function(){},c.Ra=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},c.Ra=c.Ra.bind(document),document.addEventListener("pointerlockchange",a,!1),document.addEventListener("mozpointerlockchange",a,!1),document.addEventListener("webkitpointerlockchange",a,!1),document.addEventListener("mspointerlockchange",a,!1),f.elementPointerLock&&c.addEventListener("click",function(a){!vd&& -c.Ea&&(c.Ea(),a.preventDefault())},!1))}}function Ed(a,b,c,d){if(b&&f.wa&&a==f.canvas)return f.wa;var e,g;if(b){g={antialias:!1,alpha:!1};if(d)for(var h in d)g[h]=d[h];if(g=GL.createContext(a,g))e=GL.getContext(g).Zd;a.style.backgroundColor="black"}else e=a.getContext("2d");if(!e)return null;c&&(b||assert("undefined"===typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),f.wa=e,b&&GL.Ie(g),f.Le=b,wd.forEach(function(a){a()}),xd());return e} -var Fd=!1,Gd=void 0,Hd=void 0; -function Id(a,b,c){function d(){ud=!1;var a=e.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===a?(e.Pa=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){}, -e.Pa=e.Pa.bind(document),Gd&&e.Ea(),ud=!0,Hd&&Jd()):(a.parentNode.insertBefore(e,a),a.parentNode.removeChild(a),Hd&&Kd());if(f.onFullScreen)f.onFullScreen(ud);Ld(e)}Gd=a;Hd=b;Md=c;"undefined"===typeof Gd&&(Gd=!0);"undefined"===typeof Hd&&(Hd=!1);"undefined"===typeof Md&&(Md=null);var e=f.canvas;Fd||(Fd=!0,document.addEventListener("fullscreenchange",d,!1),document.addEventListener("mozfullscreenchange",d,!1),document.addEventListener("webkitfullscreenchange",d,!1),document.addEventListener("MSFullscreenChange", -d,!1));var g=document.createElement("div");e.parentNode.insertBefore(g,e);g.appendChild(e);g.C=g.requestFullScreen||g.mozRequestFullScreen||g.msRequestFullscreen||(g.webkitRequestFullScreen?function(){g.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null);c?g.C({Me:c}):g.C()}var Nd=0;function Od(a){var b=Date.now();if(0===Nd)Nd=b+1E3/60;else for(;b+2>=Nd;)Nd+=1E3/60;b=Math.max(Nd-b,0);setTimeout(a,b)} -function kd(a){"undefined"===typeof window?Od(a):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Od),window.requestAnimationFrame(a))}function Dd(a){f.noExitRuntime=!0;setTimeout(function(){oa||a()},1E4)} -function Cd(a){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".")+1)]}function Pd(a,b,c){var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)} -function Qd(a,b,c){Pd(a,function(c){assert(c,'Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(c));xb()},function(){if(c)c();else throw'Loading data file "'+a+'" failed.';});wb()}var Rd=[];function Sd(){var a=f.canvas;Rd.forEach(function(b){b(a.width,a.height)})}function Jd(){if("undefined"!=typeof SDL){var a=Ua[SDL.screen+0*l.M>>2];w[SDL.screen+0*l.M>>2]=a|8388608}Sd()} -function Kd(){if("undefined"!=typeof SDL){var a=Ua[SDL.screen+0*l.M>>2];w[SDL.screen+0*l.M>>2]=a&-8388609}Sd()} -function Ld(a,b,c){b&&c?(a.Tb=b,a.Cb=c):(b=a.Tb,c=a.Cb);var d=b,e=c;f.forcedAspectRatio&&0this.length-1||0>a)){var b=a%this.chunkSize;return this.Bb(a/this.chunkSize|0)[b]}};m.prototype.Ob=function(a){this.Bb=a};m.prototype.Oa=function(){var a=new XMLHttpRequest;a.open("HEAD",c,!1);a.send(null);if(!(200<=a.status&&300>a.status||304===a.status))throw Error("Couldn't load "+c+". Status: "+a.status);var b=Number(a.getResponseHeader("Content-length")),d,e=1048576;(d=a.getResponseHeader("Accept-Ranges"))&& -"bytes"===d||(e=b);var g=this;g.Ob(function(a){var d=a*e,h=(a+1)*e-1,h=Math.min(h,b-1);if("undefined"===typeof g.ma[a]){var m=g.ma;if(d>h)throw Error("invalid range ("+d+", "+h+") or no bytes requested!");if(h>b-1)throw Error("only "+b+" bytes available! programmer error!");var r=new XMLHttpRequest;r.open("GET",c,!1);b!==e&&r.setRequestHeader("Range","bytes="+d+"-"+h);"undefined"!=typeof Uint8Array&&(r.responseType="arraybuffer");r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined"); -r.send(null);if(!(200<=r.status&&300>r.status||304===r.status))throw Error("Couldn't load "+c+". Status: "+r.status);d=void 0!==r.response?new Uint8Array(r.response||[]):B(r.responseText||"",!0);m[a]=d}if("undefined"===typeof g.ma[a])throw Error("doXHR failed!");return g.ma[a]});this.lb=b;this.kb=e;this.Aa=!0};if("undefined"!==typeof XMLHttpRequest){if(!da)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";g=new m;Object.defineProperty(g, -"length",{get:function(){this.Aa||this.Oa();return this.lb}});Object.defineProperty(g,"chunkSize",{get:function(){this.Aa||this.Oa();return this.kb}});h=void 0}else h=c,g=void 0;var t=Fc(a,b,d,e);g?t.e=g:h&&(t.e=null,t.url=h);Object.defineProperty(t,"usedBytes",{get:function(){return this.e.length}});var r={};Object.keys(t.n).forEach(function(a){var b=t.n[a];r[a]=function(){if(!Ic(t))throw new H(D.O);return b.apply(null,arguments)}});r.read=function(a,b,c,d,e){if(!Ic(t))throw new H(D.O);a=a.g.e;if(e>= -a.length)return 0;d=Math.min(a.length-e,d);assert(0<=d);if(a.slice)for(var g=0;g=g)e=-D.p;else{var h=Zb(c),h=h.slice(0,Math.max(0,g));wa(h,d,!0);e=h.length}return e}catch(m){return"undefined"!==typeof R&&m instanceof H||p(m),-m.o}},_sin:jb,_exp:pb,_utimes:function(a,b){var c;b?(c=1E3*w[b+8>>2],c+=w[b+12>>2]/1E3):c=Date.now();a=q(a);try{var d=c,e=O(a,{Q:!0}).g;e.k.B(e,{timestamp:Math.max(d,c)});return 0}catch(g){if(!(g instanceof H))throw g+" : "+Qa();Cb(g.o);return-1}},_llvm_pow_f64:sb,_acos:lb,___syscall54:function(a,b){S=b;try{var c=Lc(), -d=T();switch(d){case 21505:return c.tty?0:-D.$;case 21506:return c.tty?0:-D.$;case 21519:if(!c.tty)return-D.$;var e=T();return w[e>>2]=0;case 21520:return c.tty?-D.p:-D.$;case 21531:e=T();if(!c.n.Db)throw new H(D.$);return c.n.Db(c,d,e);default:p("bad ioctl syscall "+d)}}catch(g){return"undefined"!==typeof R&&g instanceof H||p(g),-g.o}},_pthread_cleanup_push:Uc,_abort:function(){f.abort()},___syscall40:function(a,b){S=b;try{var c=U(),d=O(c,{parent:!0}).g,e=Gb(c),g=Sb(d,e),h=gc(d,e,!0);if(h)throw new H(h); -if(!d.k.rmdir)throw new H(D.H);if(g.U)throw new H(D.Z);try{N.willDeletePath&&N.willDeletePath(c)}catch(m){console.log("FS.trackingDelegate['willDeletePath']('"+c+"') threw an exception: "+m.message)}d.k.rmdir(d,e);bc(g);try{if(N.onDeletePath)N.onDeletePath(c)}catch(t){console.log("FS.trackingDelegate['onDeletePath']('"+c+"') threw an exception: "+t.message)}return 0}catch(r){return"undefined"!==typeof R&&r instanceof H||p(r),-r.o}},___syscall118:function(a,b){S=b;try{return Lc(),0}catch(c){return"undefined"!== -typeof R&&c instanceof H||p(c),-c.o}},___setErrNo:Cb,___syscall20:function(a,b){S=b;return 42},___syscall183:function(a,b){S=b;try{var c=T(),d=T();if(0===d)return-D.p;if(2>d)return-D.fb;Ka("/",c);return c}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}},___assert_fail:function(a,b,c,d){oa=!0;throw"Assertion failed: "+q(a)+", at: "+[b?q(b):"unknown filename",c,d?q(d):"unknown function"]+" at "+Qa();},_usleep:Mc,_asin:mb,___buildEnvironment:Wc,___syscall202:$c,___syscall91:function(a, -b){S=b;try{var c=T(),d=T(),e=Jc[c];if(!e)return 0;if(d===e.Hb){var g=M[e.fd],h=e.flags,m=new Uint8Array(A.subarray(c,c+d));g&&g.n.pa&&g.n.pa(g,m,0,d,h);Jc[c]=null;e.ua&&Pa(e.Ib)}return 0}catch(t){return"undefined"!==typeof R&&t instanceof H||p(t),-t.o}},_cos:ib,___syscall39:function(a,b){S=b;try{var c=U(),d=T(),c=Eb(c);"/"===c[c.length-1]&&(c=c.substr(0,c.length-1));Q(c,d);return 0}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}},_localtime_r:Sc,_tzset:Rc,_emscripten_set_main_loop_timing:dd, -_sbrk:Ia,___syscall192:function(a,b){S=b;try{var c=T(),d=T(),e=T(),g=T(),h=T(),m=T(),m=m<<12,t,r=!1;if(-1===h){t=Ga(d);if(!t)return-D.Ia;ad(t,0,d);r=!0}else{var x=M[h];if(!x)return-D.L;var v,G=A;if(1===(x.flags&2097155))throw new H(D.Y);if(!x.n.oa)throw new H(D.ha);v=x.n.oa(x,G,c,d,m,e,g);t=v.Kb;r=v.ua}Jc[t]={Ib:t,Hb:d,ua:r,fd:h,flags:g};return t}catch(I){return"undefined"!==typeof R&&I instanceof H||p(I),-I.o}},___syscall197:function(a,b){S=b;try{var c=Lc(),d=T();return Kc(rc,c.path,d)}catch(e){return"undefined"!== -typeof R&&e instanceof H||p(e),-e.o}},___syscall196:function(a,b){S=b;try{var c=U(),d=T();return Kc(sc,c,d)}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}},___syscall195:function(a,b){S=b;try{var c=U(),d=T();return Kc(rc,c,d)}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}},___syscall194:function(a,b){S=b;try{var c=T();assert(0===T());var d=T(),e=T();0<=d?assert(0===e):assert(-1===e);var g=M[c];if(!g)throw new H(D.L);if(0===(g.flags&2097155))throw new H(D.p);vc(g.g, -d);return 0}catch(h){return"undefined"!==typeof R&&h instanceof H||p(h),-h.o}},___syscall212:function(a,b){S=b;try{var c=U();T();T();uc(c);return 0}catch(d){return"undefined"!==typeof R&&d instanceof H||p(d),-d.o}},_sysconf:function(a){switch(a){case 30:return 4096;case 85:return $a/4096;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 1E3;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:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}Cb(D.p);return-1}, -___syscall94:function(a,b){S=b;try{var c=T(),d=T(),e=M[c];if(!e)throw new H(D.L);tc(e.g,d);return 0}catch(g){return"undefined"!==typeof R&&g instanceof H||p(g),-g.o}},_nanosleep:function(a,b){var c=w[a>>2],d=w[a+4>>2];0!==b&&(w[b>>2]=0,w[b+4>>2]=0);return Mc(1E6*c+d/1E3)},_emscripten_memcpy_big:function(a,b,c){A.set(A.subarray(b,b+c),a);return a},___syscall221:function(a,b){S=b;try{var c=Lc();switch(T()){case 0:var d=T();return 0>d?-D.p:wc(c.path,c.flags,0,d).fd;case 1:case 2:return 0;case 3:return c.flags; -case 4:return d=T(),c.flags|=d,0;case 12:case 12:return d=T(),za[d+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-D.p;case 9:return Cb(D.p),-1;default:return-D.p}}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}},_floor:cd,_atan:nb,___syscall201:function(){return $c.apply(null,arguments)},_pthread_self:function(){return 0},_getenv:Xc,___syscall33:function(a,b){S=b;try{var c=U(),d;var e=T();if(e&-8)d=-D.p;else{var g;g=O(c,{Q:!0}).g;c="";e&4&&(c+="r");e&2&& -(c+="w");e&1&&(c+="x");d=c&&cc(g,c)?-D.Y:0}return d}catch(h){return"undefined"!==typeof R&&h instanceof H||p(h),-h.o}},_log:qb,___unlock:function(){},___syscall140:function(a,b){S=b;try{var c=Lc(),d=T(),e=T(),g=T(),h=T();assert(0===d);zc(c,e,h);w[g>>2]=c.position;c.za&&0===e&&0===h&&(c.za=null);return 0}catch(m){return"undefined"!==typeof R&&m instanceof H||p(m),-m.o}},___syscall15:function(a,b){S=b;try{var c=U(),d=T();tc(c,d);return 0}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}}, -_emscripten_set_main_loop:ld,___syscall10:function(a,b){S=b;try{var c=U();qc(c);return 0}catch(d){return"undefined"!==typeof R&&d instanceof H||p(d),-d.o}},_tan:kb,___syscall3:function(a,b){S=b;try{var c=Lc(),d=T(),e=T();return Ac(c,u,d,e)}catch(g){return"undefined"!==typeof R&&g instanceof H||p(g),-g.o}},___lock:function(){},___syscall6:function(a,b){S=b;try{var c=Lc();yc(c);return 0}catch(d){return"undefined"!==typeof R&&d instanceof H||p(d),-d.o}},___syscall5:function(a,b){S=b;try{var c=U(),d= -T(),e=T();return wc(c,d,e).fd}catch(g){return"undefined"!==typeof R&&g instanceof H||p(g),-g.o}},___syscall4:function(a,b){S=b;try{var c=Lc(),d=T(),e=T();return Bc(c,u,d,e)}catch(g){return"undefined"!==typeof R&&g instanceof H||p(g),-g.o}},_time:function(a){var b=Date.now()/1E3|0;a&&(w[a>>2]=b);return b},_atan2:ob,_gettimeofday:function(a){var b=Date.now();w[a>>2]=b/1E3|0;w[a+4>>2]=b%1E3*1E3|0;return 0},_ceil:Td,_sqrt:rb,_localtime:function(a){return Sc(a,Nc)},___syscall207:function(a,b){S=b;try{var c= -T();T();T();var d=M[c];if(!d)throw new H(D.L);uc(d.g);return 0}catch(e){return"undefined"!==typeof R&&e instanceof H||p(e),-e.o}},___syscall146:function(a,b){S=b;try{var c=Lc(),d=T(),e;a:{for(var g=T(),h=0,m=0;m>2],w[d+(8*m+4)>>2],void 0);if(0>t){e=-1;break a}h+=t}e=h}return e}catch(r){return"undefined"!==typeof R&&r instanceof H||p(r),-r.o}},STACKTOP:k,STACK_MAX:Xa,tempDoublePtr:yb,ABORT:oa,cttz_i8:Ud};// EMSCRIPTEN_START_ASM - +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 lb(a){e.___errno_location&&(t[e.___errno_location()>>2]=a);return a} +function mb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function nb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=mb(a.split("/").filter(function(a){return!!a}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a} +function ob(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function pb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function qb(){var a=Array.prototype.slice.call(arguments,0);return nb(a.join("/"))}function F(a,b){return nb(a+"/"+b)} +function rb(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=mb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var sb=[];function tb(a,b){sb[a]={input:[],output:[],J:b};ub(a,vb)} +var vb={open:function(a){var b=sb[a.c.rdev];if(!b)throw new H(E.R);a.tty=b;a.seekable=!1},close:function(a){a.tty.J.flush(a.tty)},flush:function(a){a.tty.J.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.J.Ha)throw new H(E.ta);for(var f=0,g=0;ga.b.length&&(a.b=I.cb(a),a.g=a.b.length);if(!a.b||a.b.subarray){var c=a.b?a.b.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.b,a.b=new Uint8Array(b),0b)a.b.length=b;else for(;a.b.length=a.c.g)return 0;a=Math.min(a.c.g-f,d);assert(0<=a);if(8b)throw new H(E.h);return b},wa:function(a,b,c){I.Ca(a.c,b+c);a.c.g=Math.max(a.c.g,b+c)},X:function(a, +b,c,d,f,g,h){if(32768!==(a.c.mode&61440))throw new H(E.R);c=a.c.b;if(h&2||c.buffer!==b&&c.buffer!==b.buffer){if(0>1)}catch(c){if(!c.code)throw c;throw new H(E[c.code]);}return b.mode},m:function(a){for(var b=[];a.parent!==a;)b.push(a.name),a=a.parent;b.push(a.l.ka.root);b.reverse();return qb.apply(null,b)},Da:{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+"},bb:function(a){a&=-2099201;a&=-32769;a&=-524289;if(a in K.Da)return K.Da[a];throw new H(E.h);},d:{n:function(a){a=K.m(a);var b;try{b=fs.lstatSync(a)}catch(c){if(!c.code)throw c;throw new H(E[c.code]);}K.W&&!b.B&&(b.B=4096);K.W&&!b.blocks&&(b.blocks=(b.size+b.B-1)/b.B|0);return{dev:b.dev,ino:b.ino,mode:b.mode,nlink:b.nlink,uid:b.uid,gid:b.gid,rdev:b.rdev,size:b.size, +atime:b.atime,mtime:b.mtime,ctime:b.ctime,B:b.B,blocks:b.blocks}},k:function(a,b){var c=K.m(a);try{void 0!==b.mode&&(fs.chmodSync(c,b.mode),a.mode=b.mode),void 0!==b.size&&fs.truncateSync(c,b.size)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},lookup:function(a,b){var c=F(K.m(a),b),c=K.Fa(c);return K.createNode(a,b,c)},O:function(a,b,c,d){a=K.createNode(a,b,c,d);b=K.m(a);try{J(a.mode)?fs.mkdirSync(b,a.mode):fs.writeFileSync(b,"",{mode:a.mode})}catch(f){if(!f.code)throw f;throw new H(E[f.code]); +}return a},rename:function(a,b,c){a=K.m(a);b=F(K.m(b),c);try{fs.renameSync(a,b)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},unlink:function(a,b){var c=F(K.m(a),b);try{fs.unlinkSync(c)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},rmdir:function(a,b){var c=F(K.m(a),b);try{fs.rmdirSync(c)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},readdir:function(a){a=K.m(a);try{return fs.readdirSync(a)}catch(b){if(!b.code)throw b;throw new H(E[b.code]);}},symlink:function(a,b,c){a=F(K.m(a), +b);try{fs.symlinkSync(c,a)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},readlink:function(a){var b=K.m(a);try{return b=fs.readlinkSync(b),b=Cb.relative(Cb.resolve(a.l.ka.root),b)}catch(c){if(!c.code)throw c;throw new H(E[c.code]);}}},e:{open:function(a){var b=K.m(a.c);try{32768===(a.c.mode&61440)&&(a.P=fs.openSync(b,K.bb(a.flags)))}catch(c){if(!c.code)throw c;throw new H(E[c.code]);}},close:function(a){try{32768===(a.c.mode&61440)&&a.P&&fs.closeSync(a.P)}catch(b){if(!b.code)throw b;throw new H(E[b.code]); +}},read:function(a,b,c,d,f){if(0===d)return 0;var g=new Buffer(d),h;try{h=fs.readSync(a.P,g,0,d,f)}catch(q){throw new H(E[q.code]);}if(0b)throw new H(E.h);return b}}};p+=16; +p+=16;p+=16;var Db=null,Eb=[null],L=[],Fb=1,Gb=null,Hb=!0,M={},H=null,Ab={}; +function N(a,b){a=rb("/",a);b=b||{};if(!a)return{path:"",c:null};var c={Ea:!0,ma:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8>>0)%Gb.length}function Kb(a){var b=Jb(a.parent.id,a.name);a.I=Gb[b];Gb[b]=a}function Lb(a){var b=Jb(a.parent.id,a.name);if(Gb[b]===a)Gb[b]=a.I;else for(b=Gb[b];b;){if(b.I===a){b.I=a.I;break}b=b.I}} +function Bb(a,b){var c;if(c=(c=Mb(a,"x"))?c:a.d.lookup?0:E.L)throw new H(c,a);for(c=Gb[Jb(a.id,b)];c;c=c.I){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.d.lookup(a,b)} +function zb(a,b,c,d){Nb||(Nb=function(a,b,c,d){a||(a=this);this.parent=a;this.l=a.l;this.H=null;this.id=Fb++;this.name=b;this.mode=c;this.d={};this.e={};this.rdev=d},Nb.prototype={},Object.defineProperties(Nb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},kb:{get:function(){return J(this.mode)}},jb:{get:function(){return 8192===(this.mode& +61440)}}}));a=new Nb(a,b,c,d);Kb(a);return a}function J(a){return 16384===(a&61440)}var Ob={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};function Pb(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function Mb(a,b){if(Hb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return E.L}else return E.L;return 0} +function Qb(a,b){try{return Bb(a,b),E.qa}catch(c){}return Mb(a,"wx")}function Rb(a,b,c){var d;try{d=Bb(a,b)}catch(f){return f.f}if(a=Mb(a,"wx"))return a;if(c){if(!J(d.mode))return E.S;if(d===d.parent||"/"===O(d))return E.M}else if(J(d.mode))return E.N;return 0}function Sb(a){var b;b=4096;for(a=a||0;a<=b;a++)if(!L[a])return a;throw new H(E.Ma);} +function Tb(a,b){Ub||(Ub=function(){},Ub.prototype={},Object.defineProperties(Ub.prototype,{object:{get:function(){return this.c},set:function(a){this.c=a}},he:{get:function(){return 1!==(this.flags&2097155)}},ie:{get:function(){return 0!==(this.flags&2097155)}},ge:{get:function(){return this.flags&1024}}}));var c=new Ub,d;for(d in a)c[d]=a[d];a=c;c=Sb(b);a.fd=c;return L[c]=a}var yb={open:function(a){a.e=Eb[a.c.rdev].e;a.e.open&&a.e.open(a)},u:function(){throw new H(E.T);}}; +function ub(a,b){Eb[a]={e:b}}function Vb(a,b){var c="/"===b,d=!b,f;if(c&&Db)throw new H(E.M);if(!c&&!d){f=N(b,{Ea:!1});b=f.path;f=f.c;if(f.H)throw new H(E.M);if(!J(f.mode))throw new H(E.S);}var d={type:a,ka:{},Ka:b,nb:[]},g=a.l(d);g.l=d;d.root=g;c?Db=g:f&&(f.H=d,f.l&&f.l.nb.push(d))}function Wb(a,b,c){var d=N(a,{parent:!0}).c;a=pb(a);if(!a||"."===a||".."===a)throw new H(E.h);var f=Qb(d,a);if(f)throw new H(f);if(!d.d.O)throw new H(E.q);return d.d.O(d,a,b,c)} +function Xb(a,b){b=(void 0!==b?b:438)&4095;b|=32768;return Wb(a,b,0)}function P(a,b){b=(void 0!==b?b:511)&1023;b|=16384;return Wb(a,b,0)}function Yb(a,b,c){"undefined"===typeof c&&(c=b,b=438);return Wb(a,b|8192,c)}function Zb(a,b){if(!rb(a))throw new H(E.p);var c=N(b,{parent:!0}).c;if(!c)throw new H(E.p);var d=pb(b),f=Qb(c,d);if(f)throw new H(f);if(!c.d.symlink)throw new H(E.q);return c.d.symlink(c,d,a)} +function $b(a){var b=N(a,{parent:!0}).c,c=pb(a),d=Bb(b,c),f=Rb(b,c,!1);if(f)throw new H(f);if(!b.d.unlink)throw new H(E.q);if(d.H)throw new H(E.M);try{M.willDeletePath&&M.willDeletePath(a)}catch(g){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.d.unlink(b,c);Lb(d);try{if(M.onDeletePath)M.onDeletePath(a)}catch(h){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+h.message)}} +function Ib(a){a=N(a).c;if(!a)throw new H(E.p);if(!a.d.readlink)throw new H(E.h);return rb(O(a.parent),a.d.readlink(a))}function ac(a,b){var c=N(a,{C:!b}).c;if(!c)throw new H(E.p);if(!c.d.n)throw new H(E.q);return c.d.n(c)}function bc(a){return ac(a,!0)}function cc(a,b){var c;"string"===typeof a?c=N(a,{C:!0}).c:c=a;if(!c.d.k)throw new H(E.q);c.d.k(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})} +function dc(a){var b;"string"===typeof a?b=N(a,{C:!0}).c:b=a;if(!b.d.k)throw new H(E.q);b.d.k(b,{timestamp:Date.now()})}function ec(a,b){if(0>b)throw new H(E.h);var c;"string"===typeof a?c=N(a,{C:!0}).c:c=a;if(!c.d.k)throw new H(E.q);if(J(c.mode))throw new H(E.N);if(32768!==(c.mode&61440))throw new H(E.h);var d=Mb(c,"w");if(d)throw new H(d);c.d.k(c,{size:b,timestamp:Date.now()})} +function fc(a,b,c,d){if(""===a)throw new H(E.p);if("string"===typeof b){var f=Ob[b];if("undefined"===typeof f)throw Error("Unknown file open mode: "+b);b=f}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;var g;if("object"===typeof a)g=a;else{a=nb(a);try{g=N(a,{C:!(b&131072)}).c}catch(h){}}f=!1;if(b&64)if(g){if(b&128)throw new H(E.qa);}else g=Wb(a,c,0),f=!0;if(!g)throw new H(E.p);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!J(g.mode))throw new H(E.S);if(!f&&(c=g?40960===(g.mode&61440)?E.ba:J(g.mode)&& +("r"!==Pb(b)||b&512)?E.N:Mb(g,Pb(b)):E.p))throw new H(c);b&512&&ec(g,0);b&=-641;d=Tb({c:g,path:O(g),flags:b,seekable:!0,position:0,e:g.e,vb:[],error:!1},d);d.e.open&&d.e.open(d);!e.logReadFiles||b&1||(gc||(gc={}),a in gc||(gc[a]=1,e.printErr("read file: "+a)));try{M.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),M.onOpenFile(a,g))}catch(q){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+q.message)}return d} +function hc(a){a.ia&&(a.ia=null);try{a.e.close&&a.e.close(a)}catch(b){throw b;}finally{L[a.fd]=null}}function ic(a,b,c){if(!a.seekable||!a.e.u)throw new H(E.T);a.position=a.e.u(a,b,c);a.vb=[]}function jc(a,b,c,d,f){if(0>d||0>f)throw new H(E.h);if(1===(a.flags&2097155))throw new H(E.t);if(J(a.c.mode))throw new H(E.N);if(!a.e.read)throw new H(E.h);var g=!0;if("undefined"===typeof f)f=a.position,g=!1;else if(!a.seekable)throw new H(E.T);b=a.e.read(a,b,c,d,f);g||(a.position+=b);return b} +function kc(a,b,c,d,f,g){if(0>d||0>f)throw new H(E.h);if(0===(a.flags&2097155))throw new H(E.t);if(J(a.c.mode))throw new H(E.N);if(!a.e.write)throw new H(E.h);a.flags&1024&&ic(a,0,2);var h=!0;if("undefined"===typeof f)f=a.position,h=!1;else if(!a.seekable)throw new H(E.T);b=a.e.write(a,b,c,d,f,g);h||(a.position+=b);try{if(a.path&&M.onWriteToFile)M.onWriteToFile(a.path)}catch(q){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+q.message)}return b} +function lc(){H||(H=function(a,b){this.c=b;this.sb=function(a){this.f=a;for(var b in E)if(E[b]===a){this.code=b;break}};this.sb(a);this.message=kb[a]},H.prototype=Error(),H.prototype.constructor=H,[E.p].forEach(function(a){Ab[a]=new H(a);Ab[a].stack=""}))}var mc;function nc(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}function oc(a,b,c,d){a=F("string"===typeof a?a:O(a),b);return Xb(a,nc(c,d))} +function pc(a,b,c,d,f,g){a=b?F("string"===typeof a?a:O(a),b):a;d=nc(d,f);f=Xb(a,d);if(c){if("string"===typeof c){a=Array(c.length);b=0;for(var h=c.length;b>2]=d.dev;t[c+4>>2]=0;t[c+8>>2]=d.ino;t[c+12>>2]=d.mode;t[c+16>>2]=d.nlink;t[c+20>>2]=d.uid;t[c+24>>2]=d.gid;t[c+28>>2]=d.rdev;t[c+32>>2]=0;t[c+36>>2]=d.size;t[c+40>>2]=4096;t[c+44>>2]=d.blocks;t[c+48>>2]=d.atime.getTime()/1E3|0;t[c+52>>2]=0;t[c+56>>2]=d.mtime.getTime()/1E3|0;t[c+60>>2]=0;t[c+64>>2]=d.ctime.getTime()/1E3|0;t[c+68>>2]=0;t[c+72>>2]=d.ino;return 0}var S=0; +function T(){S+=4;return t[S-4>>2]}function U(){return w(T())}function uc(){var a;a=T();a=L[a];if(!a)throw new H(E.t);return a} +var vc=z([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",2);e._llvm_cttz_i32=wc;e.___udivmoddi4=xc;e.___remdi3=yc;function zc(a){a=a/1E3;if((ca||k)&&self.performance&&self.performance.now)for(var b=self.performance.now();self.performance.now()-b>2]=60*-(new Date).getTimezoneOffset();var b=new Date(2E3,0,1),c=new Date(2E3,6,1);t[Dc>>2]=Number(b.getTimezoneOffset()!=c.getTimezoneOffset());var d=a(b),f=a(c),d=z(C(d),"i8",0),f=z(C(f),"i8",0);c.getTimezoneOffset()>2]=d,t[Cc+4>>2]=f):(t[Cc>>2]=f,t[Cc+4>>2]=d)}} +function Gc(a,b){Fc();var c=new Date(1E3*t[a>>2]);t[b>>2]=c.getSeconds();t[b+4>>2]=c.getMinutes();t[b+8>>2]=c.getHours();t[b+12>>2]=c.getDate();t[b+16>>2]=c.getMonth();t[b+20>>2]=c.getFullYear()-1900;t[b+24>>2]=c.getDay();var d=new Date(c.getFullYear(),0,1);t[b+28>>2]=(c.getTime()-d.getTime())/864E5|0;t[b+36>>2]=-(60*c.getTimezoneOffset());c=c.getTimezoneOffset()==Math.min(d.getTimezoneOffset(),(new Date(2E3,6,1)).getTimezoneOffset())|0;t[b+32>>2]=c;t[b+40>>2]=t[Cc+(c?n.U:0)>>2];return b} +e._bitshift64Ashr=Hc;e._bitshift64Lshr=Ic;var Jc=p;p+=16; +function Kc(a){var b,c;Kc.A?(c=t[Jc>>2],b=t[c>>2]):(Kc.A=!0,V.USER=V.LOGNAME="web_user",V.PATH="/",V.PWD="/",V.HOME="/home/web_user",V.LANG="C",V._=e.thisProgram,b=z(1024,"i8",2),c=z(256,"i8*",2),t[c>>2]=b,t[Jc>>2]=c);var d=[],f=0,g;for(g in a)if("string"===typeof a[g]){var h=g+"="+a[g];d.push(h);f+=h.length}if(1024>2]=b,b+=h.length+1;t[c+4*d.length>>2]=0}var V={}; +function Lc(a){if(0===a)return 0;a=w(a);if(!V.hasOwnProperty(a))return 0;Lc.A&&Ja(Lc.A);Lc.A=z(C(V[a]),"i8",0);return Lc.A}e._pthread_mutex_unlock=Mc;e._memcpy=Nc;e._sbrk=Oc;e._bitshift64Shl=Pc;e._memmove=Qc;e.___uremdi3=Rc;function Sc(a,b){S=b;return 0}e._memset=Tc;e.___divdi3=Uc;e._llvm_bswap_i32=Vc;e.___udivdi3=Wc;e.___muldsi3=Xc;e.___muldi3=Yc;lc();Gb=Array(4096);Vb(I,"/");P("/tmp");P("/home");P("/home/web_user"); +(function(){P("/dev");ub(259,{read:function(){return 0},write:function(a,b,f,g){return g}});Yb("/dev/null",259);tb(1280,wb);tb(1536,xb);Yb("/dev/tty",1280);Yb("/dev/tty1",1536);var a;if("undefined"!==typeof crypto){var b=new Uint8Array(1);a=function(){crypto.getRandomValues(b);return b[0]}}else a=l?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};qc("/dev","random",a);qc("/dev","urandom",a);P("/dev/shm");P("/dev/shm/tmp")})();P("/proc");P("/proc/self"); +P("/proc/self/fd");Vb({l:function(){var a=zb("/proc/self","fd",16895,73);a.d={lookup:function(a,c){var d=L[+c];if(!d)throw new H(E.t);var f={parent:null,l:{Ka:"fake"},d:{readlink:function(){return d.path}}};return f.parent=f}};return a}},"/proc/self/fd"); +Ua.unshift(function(){if(!e.noFSInit&&!mc){assert(!mc,"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)");mc=!0;lc();e.stdin=e.stdin;e.stdout=e.stdout;e.stderr=e.stderr;e.stdin?qc("/dev","stdin",e.stdin):Zb("/dev/tty","/dev/stdin");e.stdout?qc("/dev","stdout",null,e.stdout):Zb("/dev/tty","/dev/stdout");e.stderr?qc("/dev","stderr",null,e.stderr):Zb("/dev/tty1","/dev/stderr"); +var a=fc("/dev/stdin","r");assert(0===a.fd,"invalid handle for stdin ("+a.fd+")");a=fc("/dev/stdout","w");assert(1===a.fd,"invalid handle for stdout ("+a.fd+")");a=fc("/dev/stderr","w");assert(2===a.fd,"invalid handle for stderr ("+a.fd+")")}});Va.push(function(){Hb=!1});Wa.push(function(){mc=!1;var a=e._fflush;a&&a(0);for(a=0;athis.length-1||0>a)){var b=a%this.chunkSize;return this.Ia(a/this.chunkSize|0)[b]}};q.prototype.rb=function(a){this.Ia=a};q.prototype.za=function(){var a=new XMLHttpRequest;a.open("HEAD",c,!1);a.send(null);if(!(200<=a.status&&300>a.status||304===a.status))throw Error("Couldn't load "+c+". Status: "+a.status);var b=Number(a.getResponseHeader("Content-length")),d,f=(d=a.getResponseHeader("Accept-Ranges"))&& +"bytes"===d,a=(d=a.getResponseHeader("Content-Encoding"))&&"gzip"===d,g=1048576;f||(g=b);var h=this;h.rb(function(a){var d=a*g,f=(a+1)*g-1,f=Math.min(f,b-1);if("undefined"===typeof h.V[a]){var q=h.V;if(d>f)throw Error("invalid range ("+d+", "+f+") or no bytes requested!");if(f>b-1)throw Error("only "+b+" bytes available! programmer error!");var r=new XMLHttpRequest;r.open("GET",c,!1);b!==g&&r.setRequestHeader("Range","bytes="+d+"-"+f);"undefined"!=typeof Uint8Array&&(r.responseType="arraybuffer"); +r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined");r.send(null);if(!(200<=r.status&&300>r.status||304===r.status))throw Error("Couldn't load "+c+". Status: "+r.status);d=void 0!==r.response?new Uint8Array(r.response||[]):C(r.responseText||"",!0);q[a]=d}if("undefined"===typeof h.V[a])throw Error("doXHR failed!");return h.V[a]});if(a||!b)g=b=1,g=b=this.Ia(0).length,console.log("LazyFiles on gzip forces download of the whole file when length is accessed");this.Ta=b;this.Sa= +g;this.ja=!0};if("undefined"!==typeof XMLHttpRequest){if(!k)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";g=new q;Object.defineProperties(g,{length:{get:function(){this.ja||this.za();return this.Ta}},chunkSize:{get:function(){this.ja||this.za();return this.Sa}}});h=void 0}else h=c,g=void 0;var v=oc(a,b,d,f);g?v.b=g:h&&(v.b=null,v.url=h);Object.defineProperties(v,{g:{get:function(){return this.b.length}}});var r={};Object.keys(v.e).forEach(function(a){var b= +v.e[a];r[a]=function(){if(!rc(v))throw new H(E.v);return b.apply(null,arguments)}});r.read=function(a,b,c,d,f){if(!rc(v))throw new H(E.v);a=a.c.b;if(f>=a.length)return 0;d=Math.min(a.length-f,d);assert(0<=d);if(a.slice)for(var g=0;g>2]=Qa;Ba=!0;e.Ua={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity}; +e.Va={abort:u,assert:assert,enlargeMemory:function(){ka()},getTotalMemory:function(){return ja},abortOnCannotGrowMemory:ka,invoke_iiii:function(a,b,c,d){try{return e.dynCall_iiii(a,b,c,d)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;e.setThrew(1,0)}},jsCall_iiii:function(a,b,c,d){return n.j[a](b,c,d)},invoke_viiiii:function(a,b,c,d,f,g){try{e.dynCall_viiiii(a,b,c,d,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},jsCall_viiiii:function(a,b,c,d,f,g){n.j[a](b, +c,d,f,g)},invoke_i:function(a){try{return e.dynCall_i(a)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;e.setThrew(1,0)}},jsCall_i:function(a){return n.j[a]()},invoke_vi:function(a,b){try{e.dynCall_vi(a,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;e.setThrew(1,0)}},jsCall_vi:function(a,b){n.j[a](b)},invoke_vii:function(a,b,c){try{e.dynCall_vii(a,b,c)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;e.setThrew(1,0)}},jsCall_vii:function(a,b,c){n.j[a](b,c)},invoke_iiiiiii:function(a, +b,c,d,f,g,h){try{return e.dynCall_iiiiiii(a,b,c,d,f,g,h)}catch(q){if("number"!==typeof q&&"longjmp"!==q)throw q;e.setThrew(1,0)}},jsCall_iiiiiii:function(a,b,c,d,f,g,h){return n.j[a](b,c,d,f,g,h)},invoke_ii:function(a,b){try{return e.dynCall_ii(a,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;e.setThrew(1,0)}},jsCall_ii:function(a,b){return n.j[a](b)},invoke_viii:function(a,b,c,d){try{e.dynCall_viii(a,b,c,d)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;e.setThrew(1,0)}},jsCall_viii:function(a, +b,c,d){n.j[a](b,c,d)},invoke_v:function(a){try{e.dynCall_v(a)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;e.setThrew(1,0)}},jsCall_v:function(a){n.j[a]()},invoke_iiiii:function(a,b,c,d,f){try{return e.dynCall_iiiii(a,b,c,d,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},jsCall_iiiii:function(a,b,c,d,f){return n.j[a](b,c,d,f)},invoke_viiiiii:function(a,b,c,d,f,g,h){try{e.dynCall_viiiiii(a,b,c,d,f,g,h)}catch(q){if("number"!==typeof q&&"longjmp"!==q)throw q;e.setThrew(1, +0)}},jsCall_viiiiii:function(a,b,c,d,f,g,h){n.j[a](b,c,d,f,g,h)},invoke_iii:function(a,b,c){try{return e.dynCall_iii(a,b,c)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;e.setThrew(1,0)}},jsCall_iii:function(a,b,c){return n.j[a](b,c)},invoke_iiiiii:function(a,b,c,d,f,g){try{return e.dynCall_iiiiii(a,b,c,d,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},jsCall_iiiiii:function(a,b,c,d,f,g){return n.j[a](b,c,d,f,g)},invoke_viiii:function(a,b,c,d,f){try{e.dynCall_viiii(a, +b,c,d,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},jsCall_viiii:function(a,b,c,d,f){n.j[a](b,c,d,f)},___syscall221:function(a,b){S=b;try{var c=uc();switch(T()){case 0:var d=T();return 0>d?-E.h:fc(c.path,c.flags,0,d).fd;case 1:case 2:return 0;case 3:return c.flags;case 4:return d=T(),c.flags|=d,0;case 12:case 12:return d=T(),ta[d+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-E.h;case 9:return lb(E.h),-1;default:return-E.h}}catch(f){return"undefined"!== +typeof Q&&f instanceof H||u(f),-f.f}},___syscall85:function(a,b){S=b;try{var c=U(),d=T(),f;var g=T();if(0>=g)f=-E.h;else{var h=Ib(c),q=Math.min(g,Ha(h)),v=x[d+q];ra(h,d,g+1);x[d+q]=v;f=q}return f}catch(r){return"undefined"!==typeof Q&&r instanceof H||u(r),-r.f}},_pthread_mutex_init:function(){},_utimes:function(a,b){var c;b?(c=1E3*t[b+8>>2],c+=t[b+12>>2]/1E3):c=Date.now();a=w(a);try{var d=c,f=N(a,{C:!0}).c;f.d.k(f,{timestamp:Math.max(d,c)});return 0}catch(g){if(!(g instanceof H))throw g+" : "+Ka(); +lb(g.f);return-1}},_llvm_pow_f64:ab,___syscall6:function(a,b){S=b;try{var c=uc();hc(c);return 0}catch(d){return"undefined"!==typeof Q&&d instanceof H||u(d),-d.f}},___syscall40:function(a,b){S=b;try{var c=U(),d=N(c,{parent:!0}).c,f=pb(c),g=Bb(d,f),h=Rb(d,f,!0);if(h)throw new H(h);if(!d.d.rmdir)throw new H(E.q);if(g.H)throw new H(E.M);try{M.willDeletePath&&M.willDeletePath(c)}catch(q){console.log("FS.trackingDelegate['willDeletePath']('"+c+"') threw an exception: "+q.message)}d.d.rmdir(d,f);Lb(g);try{if(M.onDeletePath)M.onDeletePath(c)}catch(v){console.log("FS.trackingDelegate['onDeletePath']('"+ +c+"') threw an exception: "+v.message)}return 0}catch(r){return"undefined"!==typeof Q&&r instanceof H||u(r),-r.f}},___syscall118:function(a,b){S=b;try{return uc(),0}catch(c){return"undefined"!==typeof Q&&c instanceof H||u(c),-c.f}},___syscall20:function(a,b){S=b;return 42},___syscall4:function(a,b){S=b;try{var c=uc(),d=T(),f=T();return kc(c,x,d,f)}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},___assert_fail:function(a,b,c,d){la=!0;throw"Assertion failed: "+w(a)+", at: "+[b?w(b): +"unknown filename",c,d?w(d):"unknown function"]+" at "+Ka();},_usleep:zc,_pthread_join:function(){},___buildEnvironment:Kc,_pthread_mutexattr_destroy:function(){},_localtime_r:Gc,_tzset:Fc,___setErrNo:lb,___syscall192:function(a,b){S=b;try{var c=T(),d=T(),f=T(),g=T(),h=T(),q=T(),q=q<<12,v,r=!1;if(-1===h){v=Zc(16384,d);if(!v)return-E.ra;Tc(v,0,d);r=!0}else{var D=L[h];if(!D)return-E.t;var B,R=A;if(1===(D.flags&2097155))throw new H(E.L);if(!D.e.X)throw new H(E.R);B=D.e.X(D,R,c,d,q,f,g);v=B.ob;r=B.da}sc[v]= +{mb:v,lb:d,da:r,fd:h,flags:g};return v}catch(G){return"undefined"!==typeof Q&&G instanceof H||u(G),-G.f}},___syscall197:function(a,b){S=b;try{var c=uc(),d=T();return tc(ac,c.path,d)}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},___syscall196:function(a,b){S=b;try{var c=U(),d=T();return tc(bc,c,d)}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},___syscall195:function(a,b){S=b;try{var c=U(),d=T();return tc(ac,c,d)}catch(f){return"undefined"!==typeof Q&&f instanceof +H||u(f),-f.f}},___syscall194:function(a,b){S=b;try{var c=T();assert(0===T());var d=T(),f=T();0<=d?assert(0===f):assert(-1===f);var g=L[c];if(!g)throw new H(E.t);if(0===(g.flags&2097155))throw new H(E.h);ec(g.c,d);return 0}catch(h){return"undefined"!==typeof Q&&h instanceof H||u(h),-h.f}},___syscall212:function(a,b){S=b;try{var c=U();T();T();dc(c);return 0}catch(d){return"undefined"!==typeof Q&&d instanceof H||u(d),-d.f}},_sysconf:function(a){switch(a){case 30:return 16384;case 85:return a=2130706432, +a=A.length,a/16384;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 1E3;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:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}lb(E.h);return-1},___syscall94:function(a,b){S=b;try{var c=T(),d=T(),f=L[c];if(!f)throw new H(E.t);cc(f.c,d);return 0}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},_nanosleep:function(a,b){var c=t[a>>2],d=t[a+4>>2];0!==b&&(t[b>>2]=0,t[b+4>>2]=0);return zc(1E6*c+d/1E3)},_emscripten_memcpy_big:function(a, +b,c){A.set(A.subarray(b,b+c),a);return a},___syscall91:function(a,b){S=b;try{var c=T(),d=T(),f=sc[c];if(!f)return 0;if(d===f.lb){var g=L[f.fd],h=f.flags,q=new Uint8Array(A.subarray(c,c+d));g&&g.e.Y&&g.e.Y(g,q,0,d,h);sc[c]=null;f.da&&Ja(f.mb)}return 0}catch(v){return"undefined"!==typeof Q&&v instanceof H||u(v),-v.f}},_pthread_mutex_destroy:function(){},_pthread_mutexattr_settype:function(){},_getenv:Lc,___syscall33:function(a,b){S=b;try{var c=U(),d;var f=T();if(f&-8)d=-E.h;else{var g;g=N(c,{C:!0}).c; +c="";f&4&&(c+="r");f&2&&(c+="w");f&1&&(c+="x");d=c&&Mb(g,c)?-E.L:0}return d}catch(h){return"undefined"!==typeof Q&&h instanceof H||u(h),-h.f}},___syscall54:function(a,b){S=b;try{var c=uc(),d=T();switch(d){case 21505:return c.tty?0:-E.F;case 21506:return c.tty?0:-E.F;case 21519:if(!c.tty)return-E.F;var f=T();return t[f>>2]=0;case 21520:return c.tty?-E.h:-E.F;case 21531:f=T();if(!c.e.ib)throw new H(E.F);return c.e.ib(c,d,f);case 21523:return c.tty?0:-E.F;default:u("bad ioctl syscall "+d)}}catch(g){return"undefined"!== +typeof Q&&g instanceof H||u(g),-g.f}},___unlock:function(){},___syscall140:function(a,b){S=b;try{var c=uc(),d=T(),f=T(),g=T(),h=T();assert(0===d);ic(c,f,h);t[g>>2]=c.position;c.ia&&0===f&&0===h&&(c.ia=null);return 0}catch(q){return"undefined"!==typeof Q&&q instanceof H||u(q),-q.f}},___syscall15:function(a,b){S=b;try{var c=U(),d=T();cc(c,d);return 0}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},_pthread_create:function(){return 11},___syscall39:function(a,b){S=b;try{var c=U(), +d=T(),c=nb(c);"/"===c[c.length-1]&&(c=c.substr(0,c.length-1));P(c,d);return 0}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},___syscall10:function(a,b){S=b;try{var c=U();$b(c);return 0}catch(d){return"undefined"!==typeof Q&&d instanceof H||u(d),-d.f}},_pthread_mutexattr_init:function(){},___syscall3:function(a,b){S=b;try{var c=uc(),d=T(),f=T();return jc(c,x,d,f)}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},___lock:function(){},_abort:function(){e.abort()}, +___syscall5:function(a,b){S=b;try{var c=U(),d=T(),f=T();return fc(c,d,f).fd}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},___syscall183:function(a,b){S=b;try{var c=T(),d=T();if(0===d)return-E.h;if(2>d)return-E.Na;Da("/",c);return c}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},_time:function(a){var b=Date.now()/1E3|0;a&&(t[a>>2]=b);return b},_gettimeofday:function(a){var b=Date.now();t[a>>2]=b/1E3|0;t[a+4>>2]=b%1E3*1E3|0;return 0},___syscall201:function(){return Sc.apply(null, +arguments)},___syscall207:function(a,b){S=b;try{var c=T();T();T();var d=L[c];if(!d)throw new H(E.t);dc(d.c);return 0}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},_localtime:function(a){return Gc(a,Bc)},___syscall202:Sc,___syscall146:function(a,b){S=b;try{var c=uc(),d=T(),f;a:{for(var g=T(),h=0,q=0;q>2],t[d+(8*q+4)>>2],void 0);if(0>v){f=-1;break a}h+=v}f=h}return f}catch(r){return"undefined"!==typeof Q&&r instanceof H||u(r),-r.f}},DYNAMICTOP_PTR:ia, +tempDoublePtr:gb,ABORT:la,STACKTOP:m,STACK_MAX:Pa,cttz_i8:vc};// EMSCRIPTEN_START_ASM var W=(function(global,env,buffer) { -"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.jsCall_iiii;var fa=env.invoke_i;var ga=env.jsCall_i;var ha=env.invoke_vi;var ia=env.jsCall_vi;var ja=env.invoke_vii;var ka=env.jsCall_vii;var la=env.invoke_iiiiiii;var ma=env.jsCall_iiiiiii;var na=env.invoke_ii;var oa=env.jsCall_ii;var pa=env.invoke_viii;var qa=env.jsCall_viii;var ra=env.invoke_v;var sa=env.jsCall_v;var ta=env.invoke_iiiii;var ua=env.jsCall_iiiii;var va=env.invoke_viiiiii;var wa=env.jsCall_viiiiii;var xa=env.invoke_iii;var ya=env.jsCall_iii;var za=env.invoke_iiiiii;var Aa=env.jsCall_iiiiii;var Ba=env.invoke_viiii;var Ca=env.jsCall_viiii;var Da=env._pthread_cleanup_pop;var Ea=env.___syscall85;var Fa=env._sin;var Ga=env._exp;var Ha=env._utimes;var Ia=env._llvm_pow_f64;var Ja=env._acos;var Ka=env.___syscall54;var La=env._pthread_cleanup_push;var Ma=env._abort;var Na=env.___syscall40;var Oa=env.___syscall118;var Pa=env.___setErrNo;var Qa=env.___syscall20;var Ra=env.___syscall183;var Sa=env.___assert_fail;var Ta=env._usleep;var Ua=env._asin;var Va=env.___buildEnvironment;var Wa=env.___syscall202;var Xa=env.___syscall91;var Ya=env._cos;var Za=env.___syscall39;var _a=env._localtime_r;var $a=env._tzset;var ab=env._emscripten_set_main_loop_timing;var bb=env._sbrk;var cb=env.___syscall192;var db=env.___syscall197;var eb=env.___syscall196;var fb=env.___syscall195;var gb=env.___syscall194;var hb=env.___syscall212;var ib=env._sysconf;var jb=env.___syscall94;var kb=env._nanosleep;var lb=env._emscripten_memcpy_big;var mb=env.___syscall221;var nb=env._floor;var ob=env._atan;var pb=env.___syscall201;var qb=env._pthread_self;var rb=env._getenv;var sb=env.___syscall33;var tb=env._log;var ub=env.___unlock;var vb=env.___syscall140;var wb=env.___syscall15;var xb=env._emscripten_set_main_loop;var yb=env.___syscall10;var zb=env._tan;var Ab=env.___syscall3;var Bb=env.___lock;var Cb=env.___syscall6;var Db=env.___syscall5;var Eb=env.___syscall4;var Fb=env._time;var Gb=env._atan2;var Hb=env._gettimeofday;var Ib=env._ceil;var Jb=env._sqrt;var Kb=env._localtime;var Lb=env.___syscall207;var Mb=env.___syscall146;var Nb=0.0; +"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=env.abort;var X=env.assert;var Y=env.enlargeMemory;var Z=env.getTotalMemory;var _=env.abortOnCannotGrowMemory;var $=env.invoke_iiii;var aa=env.jsCall_iiii;var ba=env.invoke_viiiii;var ca=env.jsCall_viiiii;var da=env.invoke_i;var ea=env.jsCall_i;var fa=env.invoke_vi;var ga=env.jsCall_vi;var ha=env.invoke_vii;var ia=env.jsCall_vii;var ja=env.invoke_iiiiiii;var ka=env.jsCall_iiiiiii;var la=env.invoke_ii;var ma=env.jsCall_ii;var na=env.invoke_viii;var oa=env.jsCall_viii;var pa=env.invoke_v;var qa=env.jsCall_v;var ra=env.invoke_iiiii;var sa=env.jsCall_iiiii;var ta=env.invoke_viiiiii;var ua=env.jsCall_viiiiii;var va=env.invoke_iii;var wa=env.jsCall_iii;var xa=env.invoke_iiiiii;var ya=env.jsCall_iiiiii;var za=env.invoke_viiii;var Aa=env.jsCall_viiii;var Ba=env.___syscall221;var Ca=env.___syscall85;var Da=env._pthread_mutex_init;var Ea=env._utimes;var Fa=env._llvm_pow_f64;var Ga=env.___syscall6;var Ha=env.___syscall40;var Ia=env.___syscall118;var Ja=env.___syscall20;var Ka=env.___syscall4;var La=env.___assert_fail;var Ma=env._usleep;var Na=env._pthread_join;var Oa=env.___buildEnvironment;var Pa=env._pthread_mutexattr_destroy;var Qa=env._localtime_r;var Ra=env._tzset;var Sa=env.___setErrNo;var Ta=env.___syscall192;var Ua=env.___syscall197;var Va=env.___syscall196;var Wa=env.___syscall195;var Xa=env.___syscall194;var Ya=env.___syscall212;var Za=env._sysconf;var _a=env.___syscall94;var $a=env._nanosleep;var ab=env._emscripten_memcpy_big;var bb=env.___syscall91;var cb=env._pthread_mutex_destroy;var db=env._pthread_mutexattr_settype;var eb=env._getenv;var fb=env.___syscall33;var gb=env.___syscall54;var hb=env.___unlock;var ib=env.___syscall140;var jb=env.___syscall15;var kb=env._pthread_create;var lb=env.___syscall39;var mb=env.___syscall10;var nb=env._pthread_mutexattr_init;var ob=env.___syscall3;var pb=env.___lock;var qb=env._abort;var rb=env.___syscall5;var sb=env.___syscall183;var tb=env._time;var ub=env._gettimeofday;var vb=env.___syscall201;var wb=env.___syscall207;var xb=env._localtime;var yb=env.___syscall202;var zb=env.___syscall146;var Ab=0.0; // EMSCRIPTEN_START_FUNCS -function jz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;f=r+40|0;m=r+36|0;j=r+32|0;o=r+28|0;k=r+24|0;n=r+20|0;g=r+16|0;p=r+12|0;q=r+8|0;h=r;c[f>>2]=b;c[m>>2]=e;if(!(c[(c[m>>2]|0)+48>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}if(!(c[(c[m>>2]|0)+44>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[k>>2]=c[m>>2];while(1){if(!(c[k>>2]|0))break;if((d[(c[k>>2]|0)+4>>0]|0|0)!=116?(d[(c[k>>2]|0)+4>>0]|0|0)!=119:0)break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}if(!(c[k>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[g>>2]=c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2];c[j>>2]=(c[c[(c[m>>2]|0)+44>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if(c[(c[(c[g>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[q>>2]=c[c[f>>2]>>2];c[n>>2]=c[c[q>>2]>>2];c[o>>2]=sh(c[n>>2]|0,68,0)|0;if(!(c[o>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0};c[h>>2]=0;c[h+4>>2]=0;c[p>>2]=Rv(c[q>>2]|0,0,0,0,h,c[o>>2]|0,0,0)|0;if(!(c[p>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0}else{f=c[o>>2]|0;g=c[m>>2]|0;h=f+68|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));c[(c[m>>2]|0)+28>>2]=c[p>>2];q=c[q>>2]|0;q=Tv(q,0,Wv(c[n>>2]|0,160,0)|0)|0;c[c[m>>2]>>2]=q;a[(c[m>>2]|0)+4>>0]=119;c[(c[m>>2]|0)+32>>2]=0;c[(c[o>>2]|0)+36>>2]=0;c[(c[o>>2]|0)+40>>2]=0;c[(c[o>>2]|0)+44>>2]=0;c[(c[m>>2]|0)+48>>2]=0;c[(c[m>>2]|0)+52>>2]=0;c[(c[m>>2]|0)+64>>2]=0;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]&-257;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]|65536;c[(c[(c[o>>2]|0)+48>>2]|0)+52>>2]=c[o>>2];c[(c[o>>2]|0)+56>>2]=0;c[(c[o>>2]|0)+60>>2]=0;c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}return 0}function kz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;p=Y+8|0;m=Y;q=Y+196|0;h=Y+192|0;r=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;l=Y+202|0;o=Y+140|0;k=Y+136|0;j=Y+200|0;s=Y+132|0;E=Y+128|0;n=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;c[h>>2]=f;c[r>>2]=g;c[F>>2]=c[c[h>>2]>>2];c[t>>2]=c[c[F>>2]>>2];b[l>>1]=c[(c[r>>2]|0)+8>>2];f=(c[r>>2]|0)+8|0;c[f>>2]=c[f>>2]|64;if(a[(c[t>>2]|0)+69>>0]|0){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}if((c[(c[r>>2]|0)+28>>2]|0)!=0?(e[l>>1]&64|0)==0:0){c[J>>2]=c[(c[r>>2]|0)+28>>2];c[A>>2]=c[c[r>>2]>>2];if((c[(c[h>>2]|0)+12>>2]|0)==132){l=c[F>>2]|0;bw(l,c[(mz(c[r>>2]|0)|0)+64>>2]|0,0)}$x(c[F>>2]|0,c[J>>2]|0);c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;a:while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0)){j=38;break}if(!((d[(c[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(nz(c[h>>2]|0,c[C>>2]|0)|0){j=12;break}do if(!(c[(c[C>>2]|0)+16>>2]|0)){if(!(c[(c[C>>2]|0)+8>>2]|0)){c[k>>2]=c[(c[C>>2]|0)+20>>2];if(sy(c[h>>2]|0,c[k>>2]|0)|0){j=16;break a}l=sh(c[t>>2]|0,72,0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=18;break a}b[(c[o>>2]|0)+36>>1]=1;l=c[t>>2]|0;c[m>>2]=c[o>>2];l=Gh(l,30109,m)|0;c[c[o>>2]>>2]=l;while(1){if(!(c[(c[k>>2]|0)+48>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}by(c[F>>2]|0,c[c[k>>2]>>2]|0,(c[o>>2]|0)+34|0,(c[o>>2]|0)+4|0)|0;b[(c[o>>2]|0)+32>>1]=-1;b[(c[o>>2]|0)+38>>1]=200;l=(c[o>>2]|0)+42|0;a[l>>0]=d[l>>0]|2;break}l=px(c[F>>2]|0,0,c[C>>2]|0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=24;break a}if((e[(c[o>>2]|0)+36>>1]|0)==65535){j=26;break a}l=(c[o>>2]|0)+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(oz(c[F>>2]|0,c[C>>2]|0)|0)!=0:0){j=29;break a}if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(c[(c[o>>2]|0)+12>>2]|0)==0:0)break;if(Tx(c[F>>2]|0,c[o>>2]|0)|0){j=33;break a}l=_x(c[t>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[C>>2]|0)+20>>2]=l;b[j>>1]=b[(c[o>>2]|0)+34>>1]|0;b[(c[o>>2]|0)+34>>1]=-1;sy(c[h>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;b[(c[o>>2]|0)+34>>1]=b[j>>1]|0}while(0);if(pz(c[F>>2]|0,c[C>>2]|0)|0){j=36;break}}c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if((j|0)==12){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==16){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==18){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==24){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==26){X=c[F>>2]|0;c[p>>2]=c[c[o>>2]>>2];Eh(X,30122,p);c[(c[C>>2]|0)+16>>2]=0;c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==29){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==33){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==36){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==38){if((d[(c[t>>2]|0)+69>>0]|0)==0?(qz(c[F>>2]|0,c[r>>2]|0)|0)==0:0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[(c[A>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==160)break;if((d[c[z>>2]>>0]|0)==122?(d[c[(c[z>>2]|0)+16>>2]>>0]|0)==160:0)break;c[x>>2]=(c[x>>2]|0)+1}if((c[x>>2]|0)<(c[c[A>>2]>>2]|0)){c[s>>2]=c[(c[A>>2]|0)+4>>2];c[E>>2]=0;c[n>>2]=c[(c[c[F>>2]>>2]|0)+24>>2];if(c[n>>2]&4)h=(c[n>>2]&64|0)==0;else h=0;c[y>>2]=h&1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2];c[G>>2]=c[(c[z>>2]|0)+16>>2];do if((d[c[z>>2]>>0]|0)!=160){if((d[c[z>>2]>>0]|0)==122?(d[c[G>>2]>>0]|0)==160:0){j=58;break}c[E>>2]=Tv(c[F>>2]|0,c[E>>2]|0,c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0)|0;if(c[E>>2]|0){c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2];c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2];c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2]=0;c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2]=0}c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]=0}else j=58;while(0);do if((j|0)==58){j=0;c[M>>2]=0;c[V>>2]=0;if((d[c[z>>2]>>0]|0)==122)c[V>>2]=c[(c[(c[z>>2]|0)+12>>2]|0)+8>>2];c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0))break;c[I>>2]=c[(c[C>>2]|0)+16>>2];c[H>>2]=c[(c[C>>2]|0)+20>>2];c[W>>2]=c[(c[C>>2]|0)+12>>2];c[U>>2]=0;if(!(c[W>>2]|0))c[W>>2]=c[c[I>>2]>>2];if(a[(c[t>>2]|0)+69>>0]|0)break;if((c[H>>2]|0)!=0?(c[(c[H>>2]|0)+8>>2]&2048|0)!=0:0)j=72;else j=67;do if((j|0)==67){j=0;c[H>>2]=0;if((c[V>>2]|0)!=0?(ig(c[V>>2]|0,c[W>>2]|0)|0)!=0:0)break;c[v>>2]=Fh(c[t>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;if((c[v>>2]|0)>=0)h=c[(c[(c[t>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2]|0;else h=25451;c[U>>2]=h;j=72}while(0);b:do if((j|0)==72){j=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break b;c[T>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)>>2];if(!((c[V>>2]|0)!=0&(c[H>>2]|0)!=0?(fz(c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0,0,c[V>>2]|0,0)|0)==0:0))j=76;do if((j|0)==76){j=0;if((c[(c[r>>2]|0)+8>>2]&131072|0)==0?(d[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)+15>>0]&2|0)!=0:0)break;c[M>>2]=1;if((c[u>>2]|0)>0&(c[V>>2]|0)==0){if((d[(c[C>>2]|0)+36>>0]&4|0)!=0?(rz(c[J>>2]|0,c[u>>2]|0,c[T>>2]|0,0,0)|0)!=0:0)break;if((sz(c[(c[C>>2]|0)+52>>2]|0,c[T>>2]|0)|0)>=0)break}c[G>>2]=Wv(c[t>>2]|0,55,c[T>>2]|0)|0;c[S>>2]=c[T>>2];c[X>>2]=0;do if(c[y>>2]|0)j=84;else{if((c[c[J>>2]>>2]|0)>1){j=84;break}c[B>>2]=c[G>>2]}while(0);do if((j|0)==84){j=0;c[D>>2]=Wv(c[t>>2]|0,55,c[W>>2]|0)|0;c[B>>2]=Ev(c[F>>2]|0,122,c[D>>2]|0,c[G>>2]|0,0)|0;if(c[U>>2]|0){c[D>>2]=Wv(c[t>>2]|0,55,c[U>>2]|0)|0;c[B>>2]=Ev(c[F>>2]|0,122,c[D>>2]|0,c[B>>2]|0,0)|0}if(!(c[y>>2]|0))break;p=c[t>>2]|0;o=c[T>>2]|0;c[R>>2]=c[W>>2];c[R+4>>2]=o;c[S>>2]=Gh(p,30161,R)|0;c[X>>2]=c[S>>2]}while(0);c[E>>2]=Tv(c[F>>2]|0,c[E>>2]|0,c[B>>2]|0)|0;Xy(L,c[S>>2]|0);Uv(c[F>>2]|0,c[E>>2]|0,L,0);do if(c[E>>2]|0){if(!(c[(c[r>>2]|0)+8>>2]&2048))break;c[K>>2]=(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0);h=c[t>>2]|0;if(c[H>>2]|0){p=qh(h,c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0)|0;c[(c[K>>2]|0)+8>>2]=p}else{o=c[W>>2]|0;p=c[S>>2]|0;c[N>>2]=c[U>>2];c[N+4>>2]=o;c[N+8>>2]=p;p=Gh(h,30167,N)|0;c[(c[K>>2]|0)+8>>2]=p}p=(c[K>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Tf(c[t>>2]|0,c[X>>2]|0)}while(0);c[w>>2]=(c[w>>2]|0)+1}}while(0);c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if(!(c[M>>2]|0)){h=c[F>>2]|0;if(c[V>>2]|0){c[O>>2]=c[V>>2];Eh(h,30176,O);break}else{Eh(h,30194,P);break}}}while(0);c[x>>2]=(c[x>>2]|0)+1}ev(c[t>>2]|0,c[A>>2]|0);c[c[r>>2]>>2]=c[E>>2]}if((c[c[r>>2]>>2]|0)!=0?(c[c[c[r>>2]>>2]>>2]|0)>(c[(c[t>>2]|0)+96+8>>2]|0):0){Eh(c[F>>2]|0,30214,Q);c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=0;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}}c[q>>2]=1;X=c[q>>2]|0;i=Y;return X|0}function lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(mz(c[g>>2]|0)|0)+64>>2];if(!(c[e>>2]|0)){i=f;return}c[(c[d>>2]|0)+472>>2]=c[(c[e>>2]|0)+4>>2];i=f;return}function mz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+52>>2]|0))break;c[b>>2]=c[a+52>>2]}i=d;return a|0}function nz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;u=B+16|0;o=B+8|0;j=B;v=B+88|0;w=B+84|0;k=B+80|0;y=B+76|0;h=B+72|0;x=B+68|0;p=B+64|0;t=B+60|0;r=B+56|0;A=B+52|0;s=B+48|0;q=B+44|0;z=B+40|0;l=B+36|0;n=B+32|0;m=B+28|0;c[w>>2]=f;c[k>>2]=g;c[y>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[y>>2]>>2];c[x>>2]=Fz(c[(c[y>>2]|0)+472>>2]|0,c[k>>2]|0,p)|0;if(c[x>>2]|0){g=c[y>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){A=c[(c[x>>2]|0)+12>>2]|0;c[j>>2]=c[c[x>>2]>>2];Eh(g,A,j);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}if(oz(g,c[k>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}j=sh(c[h>>2]|0,72,0)|0;c[t>>2]=j;c[(c[k>>2]|0)+16>>2]=j;if(!(c[t>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;i=B;return A|0}b[(c[t>>2]|0)+36>>1]=1;j=qh(c[h>>2]|0,c[c[x>>2]>>2]|0)|0;c[c[t>>2]>>2]=j;b[(c[t>>2]|0)+32>>1]=-1;b[(c[t>>2]|0)+38>>1]=200;j=(c[t>>2]|0)+42|0;a[j>>0]=d[j>>0]|66;j=_x(c[h>>2]|0,c[(c[x>>2]|0)+8>>2]|0,0)|0;c[(c[k>>2]|0)+20>>2]=j;if(a[(c[h>>2]|0)+69>>0]|0){c[v>>2]=7;A=c[v>>2]|0;i=B;return A|0}c[A>>2]=c[(c[k>>2]|0)+20>>2];if((d[(c[A>>2]|0)+4>>0]|0)==116)g=1;else g=(d[(c[A>>2]|0)+4>>0]|0)==115;c[q>>2]=g&1;a:do if(c[q>>2]|0){c[n>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+28>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[n>>2]>>2]|0))break a;c[m>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0)?0==(ig(c[(c[m>>2]|0)+8>>2]|0,c[c[x>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[t>>2];k=(c[m>>2]|0)+36+1|0;a[k>>0]=a[k>>0]&-33|32;k=(c[t>>2]|0)+36|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=(c[A>>2]|0)+8|0;c[k>>2]=c[k>>2]|8192}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((e[(c[t>>2]|0)+36>>1]|0)>2){A=c[y>>2]|0;c[o>>2]=c[c[x>>2]>>2];Eh(A,30455,o);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+12>>2]=30498;c[z>>2]=c[(c[y>>2]|0)+472>>2];c[(c[y>>2]|0)+472>>2]=c[p>>2];g=c[A>>2]|0;if(c[q>>2]|0)g=c[g+48>>2]|0;sy(c[w>>2]|0,g)|0;c[(c[y>>2]|0)+472>>2]=c[p>>2];c[s>>2]=c[A>>2];while(1){g=c[s>>2]|0;if(!(c[(c[s>>2]|0)+48>>2]|0))break;c[s>>2]=c[g+48>>2]}c[r>>2]=c[g>>2];if(c[(c[x>>2]|0)+4>>2]|0){if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[(c[x>>2]|0)+4>>2]>>2]|0):0){A=c[y>>2]|0;t=c[c[r>>2]>>2]|0;w=c[c[(c[x>>2]|0)+4>>2]>>2]|0;c[u>>2]=c[c[x>>2]>>2];c[u+4>>2]=t;c[u+8>>2]=w;Eh(A,30521,u);c[(c[y>>2]|0)+472>>2]=c[z>>2];c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[r>>2]=c[(c[x>>2]|0)+4>>2]}by(c[y>>2]|0,c[r>>2]|0,(c[t>>2]|0)+34|0,(c[t>>2]|0)+4|0)|0;if(c[q>>2]|0){g=(c[x>>2]|0)+12|0;if(c[(c[A>>2]|0)+8>>2]&8192)c[g>>2]=30559;else c[g>>2]=30593;sy(c[w>>2]|0,c[A>>2]|0)|0}c[(c[x>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+472>>2]=c[z>>2]}c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}function oz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1){a=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];Eh(a,30432,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}return 0}function pz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;m=n+12|0;j=n+8|0;c[g>>2]=b;c[h>>2]=e;do if((c[(c[h>>2]|0)+16>>2]|0)!=0?((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];c[m>>2]=c[(c[h>>2]|0)+64>>2];c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!(ig(c[c[j>>2]>>2]|0,c[m>>2]|0)|0))break;c[j>>2]=c[(c[j>>2]|0)+20>>2]}if(c[j>>2]|0){c[(c[h>>2]|0)+68>>2]=c[j>>2];break}k=c[g>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=0;Eh(k,30414,l);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function qz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;f=C+84|0;u=C+80|0;g=C+76|0;o=C+72|0;p=C+68|0;s=C+64|0;q=C+60|0;t=C+56|0;n=C+52|0;v=C+48|0;h=C+44|0;k=C+40|0;r=C+36|0;B=C+32|0;j=C+28|0;l=C+24|0;m=C+20|0;c[x>>2]=a;c[f>>2]=e;c[u>>2]=c[(c[f>>2]|0)+28>>2];c[p>>2]=(c[u>>2]|0)+8;c[s>>2]=(c[p>>2]|0)+72;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=((c[c[u>>2]>>2]|0)-1|0)){f=28;break}c[q>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];b:do if(!((c[q>>2]|0)==0|(c[t>>2]|0)==0)){c[n>>2]=(d[(c[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[s>>2]|0)+36>>0]&4){if(c[(c[s>>2]|0)+48>>2]|0){f=7;break a}if(c[(c[s>>2]|0)+52>>2]|0){f=7;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break c;c[v>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(rz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[v>>2]|0,h,k)|0)uz(c[x>>2]|0,c[u>>2]|0,c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+1|0,c[o>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[s>>2]|0)+48>>2]|0)!=0?(c[(c[s>>2]|0)+52>>2]|0)!=0:0){f=15;break a}if(c[(c[s>>2]|0)+48>>2]|0){if(c[n>>2]|0)vz(c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+44>>2]|0);a=wz(c[c[x>>2]>>2]|0,c[(c[f>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+48>>2]|0)|0;c[(c[f>>2]|0)+32>>2]=a;c[(c[s>>2]|0)+48>>2]=0}if(c[(c[s>>2]|0)+52>>2]|0){c[r>>2]=c[(c[s>>2]|0)+52>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break b;c[B>>2]=c[(c[c[r>>2]>>2]|0)+(c[o>>2]<<3)>>2];c[m>>2]=tz(c[t>>2]|0,c[B>>2]|0)|0;if((c[m>>2]|0)<0){f=25;break a}if(!(rz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[B>>2]|0,j,l)|0)){f=25;break a}uz(c[x>>2]|0,c[u>>2]|0,c[j>>2]|0,c[l>>2]|0,(c[g>>2]|0)+1|0,c[m>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+72;c[p>>2]=(c[p>>2]|0)+72}if((f|0)==7){B=c[x>>2]|0;c[y>>2]=0;Eh(B,30245,y);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==15){Eh(c[x>>2]|0,30295,z);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==25){z=c[x>>2]|0;c[A>>2]=c[B>>2];Eh(z,30350,A);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==28){c[w>>2]=0;B=c[w>>2]|0;i=C;return B|0}return 0}function rz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){p=8;break}c[o>>2]=tz(c[(c[h>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)>=0)break;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==8){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2]}c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(ig(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}return 0}function tz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(ig(c[(c[(c[e>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;i=j;return h|0}return 0}function uz(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;l=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=Ez(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=Ez(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=Ev(c[s>>2]|0,37,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=wz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=wz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function vz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;vz(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);vz(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}i=j;return}function wz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;j=c[e>>2]|0;i=k;return j|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;j=c[e>>2]|0;i=k;return j|0}if((xz(b)|0)==0?(xz(c[h>>2]|0)|0)==0:0){c[j>>2]=jw(c[f>>2]|0,28,0,0)|0;yz(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}iv(c[f>>2]|0,c[g>>2]|0);iv(c[f>>2]|0,c[h>>2]|0);c[e>>2]=jw(c[f>>2]|0,134,4276,0)|0;j=c[e>>2]|0;i=k;return j|0}function xz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(Fy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function yz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){iv(c[f>>2]|0,c[h>>2]|0);iv(c[f>>2]|0,c[j>>2]|0);i=k;return}if(c[j>>2]|0){c[(c[g>>2]|0)+16>>2]=c[j>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[j>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[h>>2]|0)+4>>2]}zz(c[g>>2]|0);i=k;return}function zz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;Az(c[(c[b>>2]|0)+12>>2]|0,d);Az(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048)){if(c[a>>2]|0){Cz(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(Dz(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else Bz(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;i=e;return}function Az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){i=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];i=f;return}function Bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}Az(c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);Az(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);Az(c[(c[d>>2]|0)+56>>2]|0,c[e>>2]|0);Az(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);Cz(c[c[d>>2]>>2]|0,c[e>>2]|0);Cz(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);Cz(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);Bz(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);i=f;return}function Cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;Az(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function Dz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){a=c[e>>2]|0;i=g;return a|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}a=c[e>>2]|0;i=g;return a|0}function Ez(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=jw(c[n>>2]|0,152,0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}c[l>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[k>>2]|0)+44>>2]=c[(c[l>>2]|0)+16>>2];c[(c[k>>2]|0)+28>>2]=c[(c[l>>2]|0)+44>>2];if((b[(c[(c[k>>2]|0)+44>>2]|0)+32>>1]|0)==(c[j>>2]|0))b[(c[k>>2]|0)+32>>1]=-1;else{b[(c[k>>2]|0)+32>>1]=c[j>>2];e=WR(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[l>>2]|0)+56|0;l=n;d=c[l+4>>2]|C;c[n>>2]=c[l>>2]|e;c[n+4>>2]=d}n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[k>>2]|0;i=m;return n|0}function Fz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(d=c[(c[g>>2]|0)+8>>2]|0,c[l>>2]=d,(d|0)!=0):0){c[k>>2]=c[f>>2];b:while(1){if(!(c[k>>2]|0))break a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(!(ig(c[l>>2]|0,c[(c[k>>2]|0)+8+(c[j>>2]<<4)>>2]|0)|0))break b;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[k>>2];c[e>>2]=(c[k>>2]|0)+8+(c[j>>2]<<4);l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function Gz(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;n=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;p=r+4|0;q=r;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((c[c[j>>2]>>2]|0)>0)a=((c[c[j>>2]>>2]|0)-1|0)*72|0;else a=0;c[m>>2]=80+a;m=c[m>>2]|0;c[n>>2]=Vw(c[h>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}m=c[c[j>>2]>>2]|0;c[(c[n>>2]|0)+4>>2]=m;c[c[n>>2]>>2]=m;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);c[p>>2]=(c[j>>2]|0)+8+((c[l>>2]|0)*72|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];m=qh(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=m;m=qh(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=m;m=qh(c[h>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=m;c[(c[o>>2]|0)+36>>2]=c[(c[p>>2]|0)+36>>2];c[(c[o>>2]|0)+44>>2]=c[(c[p>>2]|0)+44>>2];c[(c[o>>2]|0)+24>>2]=c[(c[p>>2]|0)+24>>2];c[(c[o>>2]|0)+28>>2]=c[(c[p>>2]|0)+28>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>1&1){m=qh(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}c[(c[o>>2]|0)+68>>2]=c[(c[p>>2]|0)+68>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1){m=Qy(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}m=c[(c[p>>2]|0)+16>>2]|0;c[(c[o>>2]|0)+16>>2]=m;c[q>>2]=m;if(c[q>>2]|0){m=(c[q>>2]|0)+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}f=_x(c[h>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+20>>2]=f;f=Iy(c[h>>2]|0,c[(c[p>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+48>>2]=f;f=Iz(c[h>>2]|0,c[(c[p>>2]|0)+52>>2]|0)|0;c[(c[o>>2]|0)+52>>2]=f;f=(c[p>>2]|0)+56|0;e=c[f+4>>2]|0;m=(c[o>>2]|0)+56|0;c[m>>2]=c[f>>2];c[m+4>>2]=e;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}function Hz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);b=c[g>>2]|0;c[h>>2]=sh(c[d>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[c[h>>2]>>2]=c[c[e>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;b=_x(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+8>>2]=b;b=Qy(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+4>>2]=b;b=qh(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)>>2]=b;c[f>>2]=(c[f>>2]|0)+1}h=c[h>>2]|0;i=j;return h|0}function Iz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=Vw(c[e>>2]|0,8,0)|0;if(!(c[h>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=Vw(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Tf(c[e>>2]|0,c[h>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[j>>2]=(c[c[h>>2]>>2]|0)+(c[g>>2]<<3);c[k>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]<<3);b=qh(c[e>>2]|0,c[c[k>>2]>>2]|0)|0;c[c[j>>2]>>2]=b;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function Jz(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;B=N+32|0;K=N+24|0;J=N+16|0;m=N+8|0;l=N;E=N+132|0;F=N+128|0;o=N+124|0;p=N+120|0;q=N+116|0;G=N+112|0;A=N+96|0;H=N+92|0;I=N+88|0;r=N+84|0;w=N+80|0;L=N+76|0;M=N+72|0;u=N+68|0;k=N+64|0;C=N+60|0;t=N+56|0;z=N+136|0;D=N+52|0;y=N+48|0;s=N+44|0;v=N+40|0;x=N+36|0;c[F>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[G>>2]=j;c[r>>2]=c[(c[o>>2]|0)+52>>2];c[w>>2]=c[(c[o>>2]|0)+48>>2];c[L>>2]=0;c[k>>2]=c[(c[F>>2]|0)+336>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)==(c[o>>2]|0)){n=4;break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if((n|0)==4){M=c[F>>2]|0;c[l>>2]=c[c[o>>2]>>2];M=Gh(M,30650,l)|0;c[c[G>>2]>>2]=M;c[E>>2]=6;M=c[E>>2]|0;i=N;return M|0}n=c[F>>2]|0;c[m>>2]=c[c[o>>2]>>2];c[M>>2]=Gh(n,18391,m)|0;if(!(c[M>>2]|0)){c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[H>>2]=sh(c[F>>2]|0,28,0)|0;e=c[F>>2]|0;if(!(c[H>>2]|0)){Tf(e,c[M>>2]|0);c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[c[H>>2]>>2]=e;c[(c[H>>2]|0)+4>>2]=c[p>>2];c[u>>2]=Fh(c[F>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;c[(c[(c[o>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];c[A+4>>2]=c[o>>2];c[A>>2]=c[H>>2];c[A+8>>2]=c[(c[F>>2]|0)+336>>2];c[A+12>>2]=0;c[(c[F>>2]|0)+336>>2]=A;c[I>>2]=Sb[c[q>>2]&255](c[F>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[w>>2]|0,c[r>>2]|0,(c[H>>2]|0)+8|0,L)|0;c[(c[F>>2]|0)+336>>2]=c[A+8>>2];if((c[I>>2]|0)==7)mh(c[F>>2]|0);a:do if(!(c[I>>2]|0)){if(c[(c[H>>2]|0)+8>>2]|0){L=c[(c[H>>2]|0)+8>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[c[(c[H>>2]|0)+8>>2]>>2]=c[c[p>>2]>>2];c[(c[H>>2]|0)+12>>2]=1;if(!(c[A+12>>2]|0)){c[C>>2]=30722;K=c[F>>2]|0;L=c[C>>2]|0;c[B>>2]=c[c[o>>2]>>2];L=Gh(K,L,B)|0;c[c[G>>2]>>2]=L;su(c[H>>2]|0);c[I>>2]=1;break}a[z>>0]=0;c[(c[H>>2]|0)+24>>2]=c[(c[o>>2]|0)+56>>2];c[(c[o>>2]|0)+56>>2]=c[H>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break a;c[D>>2]=vi((c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)|0,18402)|0;c[s>>2]=0;c[y>>2]=Jf(c[D>>2]|0)|0;c[s>>2]=0;b:while(1){if((c[s>>2]|0)>=(c[y>>2]|0))break;do if(!(zd(30768,(c[D>>2]|0)+(c[s>>2]|0)|0,6)|0)){if((c[s>>2]|0)!=0?(a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=32:0)break;if(!(a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0))break b;if((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)==32)break b}while(0);c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)<(c[y>>2]|0)){c[x>>2]=6+((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)!=0?1:0);c[v>>2]=c[s>>2];while(1){if(((c[v>>2]|0)+(c[x>>2]|0)|0)>(c[y>>2]|0))break;a[(c[D>>2]|0)+(c[v>>2]|0)>>0]=a[(c[D>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0))>>0]|0;c[v>>2]=(c[v>>2]|0)+1}if((c[s>>2]|0)>0?(a[(c[D>>2]|0)+(c[s>>2]|0)>>0]|0)==0:0)a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]=0;L=(c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+15|0;a[L>>0]=d[L>>0]|2;a[z>>0]=-128}else{L=(c[o>>2]|0)+42|0;a[L>>0]=d[L>>0]|d[z>>0]}c[t>>2]=(c[t>>2]|0)+1}}}else{e=c[F>>2]|0;if(!(c[L>>2]|0)){c[J>>2]=c[M>>2];L=Gh(e,30692,J)|0;c[c[G>>2]>>2]=L}else{c[K>>2]=c[L>>2];K=Gh(e,18391,K)|0;c[c[G>>2]>>2]=K;Kd(c[L>>2]|0)}Tf(c[F>>2]|0,c[H>>2]|0)}while(0);Tf(c[F>>2]|0,c[M>>2]|0);c[E>>2]=c[I>>2];M=c[E>>2]|0;i=N;return M|0}function Kz(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[c[d>>2]>>2];if(!(a[(c[e>>2]|0)+148+5>>0]|0))c[f>>2]=si(c[e>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[f>>2];b=(c[d>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+1;f=c[f>>2]|0;i=g;return f|0}function Lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;d=l+32|0;e=l+28|0;n=l+24|0;m=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];rx(c[d>>2]|0,0,c[e>>2]|0);c[g>>2]=c[(c[d>>2]|0)+40>>2];a=(c[d>>2]|0)+40|0;c[a>>2]=(c[a>>2]|0)+3;Pz(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,0,0);c[f>>2]=(c[(c[d>>2]|0)+44>>2]|0)+1;c[h>>2]=c[(c[d>>2]|0)+40>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];Qz(c[d>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);c[j>>2]=c[c[j>>2]>>2]}Rz(c[d>>2]|0,c[e>>2]|0);i=l;return}function Mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Tw(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=ni(c[g>>2]|0,c[f>>2]|0)|0;Tf(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function Nz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;rx(c[e>>2]|0,0,c[h>>2]|0);c[j>>2]=c[(c[e>>2]|0)+40>>2];d=(c[e>>2]|0)+40|0;c[d>>2]=(c[d>>2]|0)+3;d=c[e>>2]|0;a=c[h>>2]|0;b=c[j>>2]|0;if(c[g>>2]|0)Pz(d,a,b,c[c[g>>2]>>2]|0,30854);else Pz(d,a,b,c[c[f>>2]>>2]|0,30858);Qz(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[j>>2]|0,(c[(c[e>>2]|0)+44>>2]|0)+1|0,c[(c[e>>2]|0)+40>>2]|0);Rz(c[e>>2]|0,c[h>>2]|0);i=k;return}function Oz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;o=r+16|0;n=r+12|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[c[j>>2]>>2];e=(c[n>>2]|0)+148|0;if((c[(c[l>>2]|0)+4>>2]|0)>>>0>0){if(a[e+5>>0]|0){Eh(c[j>>2]|0,30817,p);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}c[c[m>>2]>>2]=c[l>>2];c[o>>2]=Mz(c[n>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];Eh(p,30834,q);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}}else{c[o>>2]=d[e+4>>0];c[c[m>>2]>>2]=c[k>>2]}c[h>>2]=c[o>>2];q=c[h>>2]|0;i=r;return q|0}function Pz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+96|0;v=x+16|0;u=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;q=x+64|0;p=x+60|0;r=x+56|0;t=x+52|0;o=x+40|0;n=x+88|0;w=x+36|0;s=x+32|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=c[c[h>>2]>>2];c[t>>2]=dx(c[h>>2]|0)|0;if(!(c[t>>2]|0)){i=x;return}c[r>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;c[w>>2]=c[4396+(c[q>>2]<<3)>>2];g=ti(c[p>>2]|0,c[w>>2]|0,c[c[r>>2]>>2]|0)|0;c[s>>2]=g;do if(!g){if(c[4396+(c[q>>2]<<3)+4>>2]|0){g=c[h>>2]|0;b=c[w>>2]|0;f=c[4396+(c[q>>2]<<3)+4>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=b;c[u+8>>2]=f;cx(g,30915,u);c[o+(c[q>>2]<<2)>>2]=c[(c[h>>2]|0)+104>>2];a[n+(c[q>>2]|0)>>0]=16}}else{c[o+(c[q>>2]<<2)>>2]=c[(c[s>>2]|0)+28>>2];a[n+(c[q>>2]|0)>>0]=0;Tz(c[h>>2]|0,c[j>>2]|0,c[o+(c[q>>2]<<2)>>2]|0,1,c[w>>2]|0);if(c[l>>2]|0){g=c[h>>2]|0;e=c[w>>2]|0;b=c[m>>2]|0;f=c[l>>2]|0;c[v>>2]=c[c[r>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=b;c[v+12>>2]=f;cx(g,30938,v);break}else{ix(c[t>>2]|0,131,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0)|0;break}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if(!(c[4396+(c[q>>2]<<3)+4>>2]|0))break;Ih(c[t>>2]|0,105,(c[k>>2]|0)+(c[q>>2]|0)|0,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0,3)|0;Jh(c[t>>2]|0,a[n+(c[q>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+1}i=x;return}function Qz(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+128|0;n=R+116|0;o=R+112|0;p=R+108|0;q=R+104|0;l=R+100|0;m=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;r=R+4|0;E=R;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[l>>2]=j;c[m>>2]=k;c[u>>2]=c[c[n>>2]>>2];c[A>>2]=-1;a[D>>0]=1;f=c[l>>2]|0;c[l>>2]=f+1;c[I>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[L>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[G>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[N>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[M>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[H>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[K>>2]=f;c[J>>2]=c[l>>2];if((c[(c[n>>2]|0)+44>>2]|0)>(c[l>>2]|0))l=c[(c[n>>2]|0)+44>>2]|0;else l=c[l>>2]|0;c[(c[n>>2]|0)+44>>2]=l;c[O>>2]=dx(c[n>>2]|0)|0;if((c[O>>2]|0)==0|(c[o>>2]|0)==0){i=R;return}if(!(c[(c[o>>2]|0)+28>>2]|0)){i=R;return}if(!(_e(30862,c[c[o>>2]>>2]|0,0)|0)){i=R;return}c[x>>2]=Fh(c[u>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;if(ax(c[n>>2]|0,28,c[c[o>>2]>>2]|0,0,c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2]|0)|0){i=R;return}Tz(c[n>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+28>>2]|0,0,c[c[o>>2]>>2]|0);f=c[m>>2]|0;c[m>>2]=f+1;c[z>>2]=f;f=c[m>>2]|0;c[m>>2]=f+1;c[y>>2]=f;if((c[(c[n>>2]|0)+40>>2]|0)>(c[m>>2]|0))l=c[(c[n>>2]|0)+40>>2]|0;else l=c[m>>2]|0;c[(c[n>>2]|0)+40>>2]=l;Uz(c[n>>2]|0,c[z>>2]|0,c[x>>2]|0,c[o>>2]|0,104);hx(c[O>>2]|0,c[M>>2]|0,c[c[o>>2]>>2]|0)|0;c[F>>2]=c[(c[o>>2]|0)+8>>2];while(1){l=c[p>>2]|0;if(!(c[F>>2]|0))break;if(!((l|0)!=0?(c[p>>2]|0)!=(c[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[F>>2]|0)+36>>2]|0))a[D>>0]=0;if(((d[(c[o>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[F>>2]|0)+55>>0]&3|0)==2:0){c[B>>2]=e[(c[F>>2]|0)+50>>1];c[P>>2]=c[c[o>>2]>>2];c[C>>2]=(c[B>>2]|0)-1}else{c[B>>2]=e[(c[F>>2]|0)+52>>1];c[P>>2]=c[c[F>>2]>>2];if((d[(c[F>>2]|0)+55>>0]|0)>>>3&1)l=e[(c[F>>2]|0)+50>>1]|0;else l=c[B>>2]|0;c[C>>2]=l-1}hx(c[O>>2]|0,c[H>>2]|0,c[P>>2]|0)|0;if((c[(c[n>>2]|0)+44>>2]|0)>((c[J>>2]|0)+(c[C>>2]|0)|0))l=c[(c[n>>2]|0)+44>>2]|0;else l=(c[J>>2]|0)+(c[C>>2]|0)|0;c[(c[n>>2]|0)+44>>2]=l;jx(c[O>>2]|0,104,c[y>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Vz(c[n>>2]|0,c[F>>2]|0);ix(c[O>>2]|0,76,c[B>>2]|0,(c[L>>2]|0)+1|0)|0;ix(c[O>>2]|0,76,e[(c[F>>2]|0)+50>>1]|0,(c[L>>2]|0)+2|0)|0;mx(c[O>>2]|0,89,0,(c[L>>2]|0)+1|0,c[L>>2]|0,4292,-5)|0;Jh(c[O>>2]|0,2);c[t>>2]=Sz(c[O>>2]|0,57,c[y>>2]|0)|0;ix(c[O>>2]|0,76,0,c[G>>2]|0)|0;c[s>>2]=wx(c[O>>2]|0)|0;if((c[C>>2]|0)>0){c[v>>2]=Wz(c[O>>2]|0)|0;c[r>>2]=Vw(c[u>>2]|0,c[C>>2]<<2,0)|0;if(!(c[r>>2]|0))break;fx(c[O>>2]|0,13)|0;c[s>>2]=wx(c[O>>2]|0)|0;if(((c[C>>2]|0)==1?(e[(c[F>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[F>>2]|0)+54>>0]|0|0)!=0:0)ix(c[O>>2]|0,35,c[J>>2]|0,c[v>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=Xz(c[n>>2]|0,c[(c[(c[F>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0)|0;ix(c[O>>2]|0,76,c[w>>2]|0,c[G>>2]|0)|0;jx(c[O>>2]|0,96,c[y>>2]|0,c[w>>2]|0,c[N>>2]|0)|0;m=mx(c[O>>2]|0,36,c[N>>2]|0,0,(c[J>>2]|0)+(c[w>>2]|0)|0,c[E>>2]|0,-4)|0;c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]=m;Jh(c[O>>2]|0,-128);c[w>>2]=(c[w>>2]|0)+1}ix(c[O>>2]|0,76,c[C>>2]|0,c[G>>2]|0)|0;Yz(c[O>>2]|0,c[v>>2]|0)|0;Zz(c[O>>2]|0,(c[s>>2]|0)-1|0);c[w>>2]=0;while(1){l=c[O>>2]|0;if((c[w>>2]|0)>=(c[C>>2]|0))break;Zz(l,c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0);jx(c[O>>2]|0,96,c[y>>2]|0,c[w>>2]|0,(c[J>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}_z(l,c[v>>2]|0);Tf(c[u>>2]|0,c[r>>2]|0)}mx(c[O>>2]|0,89,1,c[L>>2]|0,c[N>>2]|0,4320,-5)|0;Jh(c[O>>2]|0,2);ix(c[O>>2]|0,7,c[y>>2]|0,c[s>>2]|0)|0;$z(c[O>>2]|0,c[L>>2]|0,0,c[K>>2]|0);mx(c[O>>2]|0,99,c[M>>2]|0,3,c[N>>2]|0,30871,0)|0;ix(c[O>>2]|0,114,c[q>>2]|0,c[I>>2]|0)|0;jx(c[O>>2]|0,115,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Jh(c[O>>2]|0,8);Zz(c[O>>2]|0,c[t>>2]|0)}while(0);c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(l){i=R;return}if(!(d[D>>0]|0)){i=R;return}ix(c[O>>2]|0,100,c[z>>2]|0,c[K>>2]|0)|0;c[A>>2]=Sz(c[O>>2]|0,22,c[K>>2]|0)|0;ix(c[O>>2]|0,79,0,c[H>>2]|0)|0;mx(c[O>>2]|0,99,c[M>>2]|0,3,c[N>>2]|0,30871,0)|0;ix(c[O>>2]|0,114,c[q>>2]|0,c[I>>2]|0)|0;jx(c[O>>2]|0,115,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Jh(c[O>>2]|0,8);Zz(c[O>>2]|0,c[A>>2]|0);i=R;return}function Rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=dx(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}Sz(c[e>>2]|0,137,c[d>>2]|0)|0;i=f;return}function Sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=jx(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return d|0}function Tz(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;m=s+24|0;n=s+20|0;o=s+32|0;p=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;r=s;c[t>>2]=b;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[p>>2]=h;e=c[t>>2]|0;if(c[(c[t>>2]|0)+124>>2]|0)e=c[e+124>>2]|0;c[q>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[q>>2]|0)+112>>2]|0))break;c[r>>2]=(c[(c[q>>2]|0)+116>>2]|0)+(c[j>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[m>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[n>>2]|0):0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){if(d[(c[r>>2]|0)+8>>0]|0)e=1;else e=(d[o>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=e&1;i=s;return}c[k>>2]=(c[(c[q>>2]|0)+112>>2]|0)+1<<4;e=c[k>>2]|0;e=Px(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+116>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[q>>2]|0)+116>>2]=e;e=(c[q>>2]|0)+112|0;if(c[(c[q>>2]|0)+116>>2]|0){t=c[e>>2]|0;c[e>>2]=t+1;c[r>>2]=(c[(c[q>>2]|0)+116>>2]|0)+(t<<4);c[c[r>>2]>>2]=c[m>>2];c[(c[r>>2]|0)+4>>2]=c[n>>2];a[(c[r>>2]|0)+8>>0]=a[o>>0]|0;c[(c[r>>2]|0)+12>>2]=c[p>>2];i=s;return}else{c[e>>2]=0;mh(c[c[q>>2]>>2]|0);i=s;return}}function Uz(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=dx(c[j>>2]|0)|0;Tz(c[j>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+28>>2]|0,((c[n>>2]|0)==105?1:0)&255,c[c[m>>2]>>2]|0);if(!(d[(c[m>>2]|0)+42>>0]&32)){Ih(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+28>>2]|0,c[l>>2]|0,b[(c[m>>2]|0)+34>>1]|0)|0;i=q;return}else{c[o>>2]=Jj(c[m>>2]|0)|0;jx(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[l>>2]|0)|0;Vz(c[j>>2]|0,c[o>>2]|0);i=q;return}}function Vz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;Mh(a,-1,hA(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function Wz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+12>>2];f=(c[d>>2]|0)+72|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=Px(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+76>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[d>>2]|0)+76>>2]=f}if(!(c[(c[d>>2]|0)+76>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}c[(c[(c[d>>2]|0)+76>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}function Xz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+12|0;g=k+8|0;m=k+4|0;h=k+17|0;l=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+66>>0]|0;a[l>>0]=a[(c[m>>2]|0)+148+5>>0]|0;c[j>>2]=Sj(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[j>>2]|0;i=k;return m|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=gy(c[f>>2]|0,a[h>>0]|0,c[j>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=k;return m|0}function Yz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=jx(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;i=d;return a|0}function Zz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;dA(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+136>>2]|0);i=d;return}function _z(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[d>>2]|0)+12>>2];c[e>>2]=-1-(c[h>>2]|0);if(!(c[(c[f>>2]|0)+76>>2]|0)){i=g;return}c[(c[(c[f>>2]|0)+76>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[d>>2]|0)+136>>2];i=g;return}function $z(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;mx(c[g>>2]|0,89,0,c[j>>2]|0,c[h>>2]|0,4348,-5)|0;Jh(c[g>>2]|0,1);i=f;return}function aA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;l=o+24|0;k=o+16|0;e=o+56|0;p=o+48|0;j=o+44|0;m=o+40|0;f=o+36|0;n=o+32|0;h=o+8|0;g=o;c[e>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[j>>2]=_d(c[c[p>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[n>>2]=kg(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){se(c[e>>2]|0);i=o;return}p=c[n>>2]|0;a=k;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;Qd(24,p,30884,k)|0;p=c[n>>2]|0;c[m>>2]=p+(Jf(c[n>>2]|0)|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;p=h;c[p>>2]=(c[(c[(c[j>>2]|0)+20+4>>2]|0)+(c[f>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=h;p=RR(c[c[j>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=QR(p|0,C|0,1,0)|0;d=h;d=bS(p|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;p=g;c[p>>2]=d;c[p+4>>2]=C;p=c[m>>2]|0;d=g;a=c[d+4>>2]|0;k=l;c[k>>2]=c[d>>2];c[k+4>>2]=a;Qd(24,p,30889,l)|0;p=Jf(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[f>>2]=(c[f>>2]|0)+1}me(c[e>>2]|0,c[n>>2]|0,-1,148);i=o;return}function bA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[h+20>>2]=a;c[h+16>>2]=b;c[j>>2]=d;c[g>>2]=_d(c[c[j>>2]>>2]|0)|0;c[f>>2]=ce(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}cA(c[g>>2]|0,c[f>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;j=(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[f>>2];while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;j=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}function cA(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function dA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(eA(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;i=e;return}function eA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+136>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=4376;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);b=c[e>>2]|0;i=h;return b|0}return 0}function fA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;n=l+24|0;k=l+20|0;g=l+16|0;j=l+12|0;h=l+8|0;m=l+4|0;f=l;c[e>>2]=a;c[l+28>>2]=b;c[n>>2]=d;c[g>>2]=ce(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[g>>2]|0)+1&-2;c[j>>2]=ce(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[f>>2]=ve(c[e>>2]|0)|0;a=c[m>>2]|0;c[k>>2]=sh(c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){se(c[e>>2]|0);i=l;return}else{c[(c[k>>2]|0)+52>>2]=c[f>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+8>>2]=c[g>>2];c[(c[k>>2]|0)+12>>2]=c[j>>2];c[(c[k>>2]|0)+20+4>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+20>>2]=(c[(c[k>>2]|0)+20+4>>2]|0)+(c[h>>2]<<2);fe(c[e>>2]|0,c[k>>2]|0,56,153);i=l;return}}function gA(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tf(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function hA(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=e[(c[k>>2]|0)+52>>1];c[g>>2]=e[(c[k>>2]|0)+50>>1];if(c[(c[j>>2]|0)+36>>2]|0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}f=c[c[j>>2]>>2]|0;if((d[(c[k>>2]|0)+55>>0]|0)>>>3&1)c[n>>2]=iA(f,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=iA(f,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)==34834)f=0;else f=Xz(c[j>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[l>>2]<<2)>>2]=f;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[k>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0;c[l>>2]=(c[l>>2]|0)+1}if(c[(c[j>>2]|0)+36>>2]|0){jA(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function iA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)*5;c[l>>2]=Vw(c[g>>2]|0,24+(c[k>>2]|0)|0,0)|0;if(c[l>>2]|0){c[(c[l>>2]|0)+16>>2]=(c[l>>2]|0)+20+((c[h>>2]|0)+(c[j>>2]|0)<<2);b[(c[l>>2]|0)+6>>1]=c[h>>2];b[(c[l>>2]|0)+8>>1]=c[j>>2];a[(c[l>>2]|0)+4>>0]=a[(c[g>>2]|0)+66>>0]|0;c[(c[l>>2]|0)+12>>2]=c[g>>2];c[c[l>>2]>>2]=1;VR((c[l>>2]|0)+24|0,0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{mh(c[g>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function jA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){i=d;return}Tf(c[(c[b>>2]|0)+12>>2]|0,c[b>>2]|0);i=d;return}function kA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[j>>2]=c[(c[f>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];lA(c[d>>2]|0,c[k>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}i=l;return}function lA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[g>>2]|0)!=0?(HB(c[g>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;rx(c[e>>2]|0,0,c[h>>2]|0);mA(c[e>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=k;return}function mA(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;n=x+64|0;o=x+60|0;g=x+56|0;l=x+52|0;t=x+48|0;r=x+44|0;s=x+40|0;p=x+36|0;q=x+32|0;m=x+28|0;j=x+24|0;w=x+20|0;k=x+16|0;v=x+12|0;y=x+8|0;h=x+4|0;u=x;c[n>>2]=a;c[o>>2]=b;c[g>>2]=f;c[l>>2]=c[(c[o>>2]|0)+12>>2];a=(c[n>>2]|0)+40|0;b=c[a>>2]|0;c[a>>2]=b+1;c[t>>2]=b;b=(c[n>>2]|0)+40|0;a=c[b>>2]|0;c[b>>2]=a+1;c[r>>2]=a;c[y>>2]=c[c[n>>2]>>2];c[h>>2]=Fh(c[y>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;if(ax(c[n>>2]|0,27,c[c[o>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0){i=x;return}Tz(c[n>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+28>>2]|0,1,c[c[l>>2]>>2]|0);c[w>>2]=dx(c[n>>2]|0)|0;if(!(c[w>>2]|0)){i=x;return}if((c[g>>2]|0)>=0)c[m>>2]=c[g>>2];else c[m>>2]=c[(c[o>>2]|0)+44>>2];c[k>>2]=hA(c[n>>2]|0,c[o>>2]|0)|0;a=(c[n>>2]|0)+40|0;b=c[a>>2]|0;c[a>>2]=b+1;c[s>>2]=b;b=c[w>>2]|0;a=c[s>>2]|0;y=e[(c[o>>2]|0)+50>>1]|0;mx(b,108,a,0,y,nA(c[k>>2]|0)|0,-6)|0;Uz(c[n>>2]|0,c[t>>2]|0,c[h>>2]|0,c[l>>2]|0,104);c[p>>2]=ix(c[w>>2]|0,57,c[t>>2]|0,0)|0;c[v>>2]=vx(c[n>>2]|0)|0;oA(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,0,j,0,0)|0;ix(c[w>>2]|0,125,c[s>>2]|0,c[v>>2]|0)|0;pA(c[n>>2]|0,c[j>>2]|0);ix(c[w>>2]|0,7,c[t>>2]|0,(c[p>>2]|0)+1|0)|0;Zz(c[w>>2]|0,c[p>>2]|0);if((c[g>>2]|0)<0)ix(c[w>>2]|0,131,c[m>>2]|0,c[h>>2]|0)|0;mx(c[w>>2]|0,105,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0,-6)|0;Jh(c[w>>2]|0,(1|((c[g>>2]|0)>=0?16:0))&255);c[p>>2]=ix(c[w>>2]|0,55,c[s>>2]|0,0)|0;y=(d[(c[o>>2]|0)+54>>0]|0|0)!=0;g=wx(c[w>>2]|0)|0;if(y){c[u>>2]=g+3;Yz(c[w>>2]|0,c[u>>2]|0)|0;c[q>>2]=wx(c[w>>2]|0)|0;Ih(c[w>>2]|0,119,c[s>>2]|0,c[u>>2]|0,c[v>>2]|0,e[(c[o>>2]|0)+50>>1]|0)|0;qA(c[n>>2]|0,2,c[o>>2]|0)}else c[q>>2]=g;jx(c[w>>2]|0,120,c[s>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;jx(c[w>>2]|0,53,c[r>>2]|0,0,-1)|0;jx(c[w>>2]|0,126,c[r>>2]|0,c[v>>2]|0,0)|0;Jh(c[w>>2]|0,16);xx(c[n>>2]|0,c[v>>2]|0);ix(c[w>>2]|0,3,c[s>>2]|0,c[q>>2]|0)|0;Zz(c[w>>2]|0,c[p>>2]|0);Sz(c[w>>2]|0,111,c[t>>2]|0)|0;Sz(c[w>>2]|0,111,c[r>>2]|0)|0;Sz(c[w>>2]|0,111,c[s>>2]|0)|0;i=x;return}function nA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function oA(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;o=y+44|0;p=y+40|0;q=y+36|0;r=y+32|0;m=y+28|0;n=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=h;c[n>>2]=j;c[s>>2]=k;c[t>>2]=l;c[x>>2]=c[(c[o>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[p>>2]|0)+36>>2]|0){l=Wz(c[x>>2]|0)|0;c[c[n>>2]>>2]=l;c[(c[o>>2]|0)+60>>2]=c[q>>2];AA(c[o>>2]|0);BA(c[o>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if((c[m>>2]|0)!=0?((d[(c[p>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)m=b[(c[p>>2]|0)+50>>1]|0;else m=b[(c[p>>2]|0)+52>>1]|0;c[v>>2]=m&65535;c[w>>2]=CA(c[o>>2]|0,c[v>>2]|0)|0;do if(c[s>>2]|0){if((c[w>>2]|0)==(c[t>>2]|0)?(c[(c[s>>2]|0)+36>>2]|0)==0:0)break;c[s>>2]=0}while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if(!(((c[s>>2]|0)!=0?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0):0)?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)!=-2:0)){DA(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[u>>2]|0,(c[w>>2]|0)+(c[u>>2]|0)|0);EA(c[x>>2]|0,92)|0}c[u>>2]=(c[u>>2]|0)+1}if(!(c[r>>2]|0)){t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;FA(t,u,x);x=c[w>>2]|0;i=y;return x|0}jx(c[x>>2]|0,99,c[w>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;FA(t,u,x);x=c[w>>2]|0;i=y;return x|0}function pA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}_z(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);yA(c[d>>2]|0);i=f;return}function qA(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;p=s+8|0;o=s;h=s+68|0;j=s+64|0;k=s+60|0;r=s+56|0;m=s+52|0;l=s+24|0;n=s+20|0;q=s+16|0;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[n>>2]=c[(c[k>>2]|0)+12>>2];dg(l,c[c[h>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[o>>2]=c[c[k>>2]>>2];rA(l,31053,o);o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;tA(o,p,q,r,-1,2);i=s;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[q>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]<<4)>>2];if(c[m>>2]|0)sA(l,31064,2);o=c[q>>2]|0;c[p>>2]=c[c[n>>2]>>2];c[p+4>>2]=o;rA(l,30161,p);c[m>>2]=(c[m>>2]|0)+1}o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;tA(o,p,q,r,-1,2);i=s;return}function rA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;eg(c[h>>2]|0,c[g>>2]|0,f);i=e;return}function sA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){uA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}else{b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);TR((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}}function tA(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;n=q+21|0;o=q+20|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;a[o>>0]=h;c[p>>2]=dx(c[j>>2]|0)|0;if((c[l>>2]|0)==2)Vx(c[j>>2]|0);mx(c[p>>2]|0,75,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,a[n>>0]|0)|0;Jh(c[p>>2]|0,a[o>>0]|0);i=q;return}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=vA(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){i=h;return}TR((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);i=h;return}function vA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;f=m;c[j>>2]=b;c[k>>2]=e;if(a[(c[j>>2]|0)+24>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}e=c[j>>2]|0;if(!(c[(c[j>>2]|0)+20>>2]|0)){c[k>>2]=(c[e+16>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)-1;wA(c[j>>2]|0,2);c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}if(d[e+25>>0]&4)e=c[(c[j>>2]|0)+8>>2]|0;else e=0;c[g>>2]=e;e=f;c[e>>2]=c[(c[j>>2]|0)+12>>2];c[e+4>>2]=0;e=(c[k>>2]|0)+1|0;b=f;e=RR(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C;b=f;b=RR(c[b>>2]|0,c[b+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;e=C;if((e|0)<0|((e|0)==0?b>>>0<=(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){e=f;e=RR(c[e>>2]|0,c[e+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C}b=f;e=c[b+4>>2]|0;if((e|0)>0|((e|0)==0?(c[b>>2]|0)>>>0>(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){xA(c[j>>2]|0);wA(c[j>>2]|0,2);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}c[(c[j>>2]|0)+16>>2]=c[f>>2];if(c[c[j>>2]>>2]|0)c[l>>2]=Uw(c[c[j>>2]>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;else c[l>>2]=Md(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;e=c[j>>2]|0;if(!(c[l>>2]|0)){xA(e);wA(c[j>>2]|0,1);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}if((d[e+25>>0]&4|0)==0?(c[(c[j>>2]|0)+12>>2]|0)>>>0>0:0)TR(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=c[l>>2];l=ku(c[c[j>>2]>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;l=(c[j>>2]|0)+25|0;a[l>>0]=d[l>>0]|4;c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}function wA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function xA(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}Tf(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}function yA(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=0;a=(c[b>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[e>>2]|0)>=(d[(c[b>>2]|0)+25>>0]|0|0))break;if((c[(c[b>>2]|0)+152+((c[e>>2]|0)*20|0)+8>>2]|0)>(c[(c[b>>2]|0)+64>>2]|0)){zA(c[b>>2]|0,c[e>>2]|0);continue}else{c[e>>2]=(c[e>>2]|0)+1;continue}}i=f;return}function zA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((a[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+6>>0]|0)!=0?(d[(c[f>>2]|0)+19>>0]|0)<8:0){e=c[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+12>>2]|0;j=(c[f>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[f>>2]|0)+352+((b&255)<<2)>>2]=e}j=(c[f>>2]|0)+25|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;if((c[g>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0)){i=h;return}j=(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)|0;b=(c[f>>2]|0)+152+((d[(c[f>>2]|0)+25>>0]|0)*20|0)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[j+16>>2]=c[b+16>>2];i=h;return}function AA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function BA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=Iy(c[k>>2]|0,c[n>>2]|0,0)|0;if(d[(c[k>>2]|0)+69>>0]|0){a=c[k>>2]|0;n=c[l>>2]|0;iv(a,n);i=m;return}iB(c[g>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0);a=c[k>>2]|0;n=c[l>>2]|0;iv(a,n);i=m;return}function CA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[f>>2]|0)==1){c[d>>2]=vx(b)|0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=c[b+32>>2];c[h>>2]=c[(c[e>>2]|0)+28>>2];if((c[f>>2]|0)<=(c[h>>2]|0)){h=(c[e>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0);h=(c[e>>2]|0)+28|0;c[h>>2]=(c[h>>2]|0)-(c[f>>2]|0)}else{c[g>>2]=(c[(c[e>>2]|0)+44>>2]|0)+1;h=(c[e>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0)}c[d>>2]=c[g>>2];h=c[d>>2]|0;i=j;return h|0}function DA(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;n=o+20|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b[n>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;if((b[n>>1]|0)==-2){c[(c[h>>2]|0)+60>>2]=c[k>>2];MA(c[h>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0,c[m>>2]|0);i=o;return}else{NA(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[n>>1]|0,c[m>>2]|0);i=o;return}}function EA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;j=h+8|0;c[g>>2]=b;a[j>>0]=e;if((c[(c[g>>2]|0)+136>>2]|0)>0?(d[(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){c[f>>2]=HA(c[g>>2]|0,(c[(c[g>>2]|0)+136>>2]|0)-1|0)|0;j=c[f>>2]|0;i=h;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=h;return j|0}function FA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[e>>2]|0;d=c[f>>2]|0;if((c[g>>2]|0)==1){xx(b,d);i=h;return}GA(b,d,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+28>>2]|0)){i=h;return}c[(c[e>>2]|0)+28>>2]=c[g>>2];c[(c[e>>2]|0)+32>>2]=c[f>>2];i=h;return}function GA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;c[k>>2]=(c[f>>2]|0)+152+((c[j>>2]|0)*20|0);if((c[(c[k>>2]|0)+12>>2]|0)>=(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)<((c[g>>2]|0)+(c[h>>2]|0)|0):0){zA(c[f>>2]|0,c[j>>2]|0);continue}c[j>>2]=(c[j>>2]|0)+1}i=l;return}function HA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);IA(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-95;c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}return 0}function IA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;a:do switch(c[h>>2]|0){case -21:{JA(c[e>>2]|0,c[f>>2]|0);break}case -15:case -1:case -13:case -12:{Tf(c[e>>2]|0,c[f>>2]|0);break}case -6:{if(!(c[(c[e>>2]|0)+456>>2]|0))jA(c[f>>2]|0);break}case -11:{if(!(c[(c[e>>2]|0)+456>>2]|0))Kd(c[f>>2]|0);break}case -5:{KA(c[e>>2]|0,c[f>>2]|0);break}case -8:if(!(c[(c[e>>2]|0)+456>>2]|0)){ch(c[f>>2]|0);break a}else{LA(c[e>>2]|0,c[f>>2]|0);break a}case -10:{if(!(c[(c[e>>2]|0)+456>>2]|0))su(c[f>>2]|0);break}default:{}}while(0);i=g;return}function JA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;KA(c[f>>2]|0,c[(c[e>>2]|0)+4>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function KA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){i=g;return}Tf(c[d>>2]|0,c[f>>2]|0);i=g;return}function LA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[e>>2]|0)+24>>2]|0)Tf(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function MA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[f>>2]>>2];c[g>>2]=Iy(c[j>>2]|0,c[g>>2]|0,0)|0;if(a[(c[j>>2]|0)+69>>0]|0){b=c[j>>2]|0;e=c[g>>2]|0;iv(b,e);i=k;return}RA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);b=c[j>>2]|0;e=c[g>>2]|0;iv(b,e);i=k;return}function NA(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[o>>2]=(d[(c[k>>2]|0)+42>>0]&16|0)!=0?156:96;c[p>>2]=c[m>>2];if((d[(c[k>>2]|0)+42>>0]&32|0)!=0?(d[(c[k>>2]|0)+42>>0]&16|0)==0:0){a=Jj(c[k>>2]|0)|0;c[p>>2]=(OA(a,c[m>>2]&65535)|0)<<16>>16}jx(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[p>>2]|0,c[n>>2]|0)|0}else ix(c[j>>2]|0,123,c[l>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=q;return}PA(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function OA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+10|0;f=k+4|0;g=k+8|0;h=k;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){d=6;break}a=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){d=4;break}c[h>>2]=a+1}if((d|0)==4){b[j>>1]=a;j=b[j>>1]|0;i=k;return j|0}else if((d|0)==6){b[j>>1]=-1;j=b[j>>1]|0;i=k;return j|0}return 0}function PA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o+24|0;m=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[h>>2]|0)+12>>2]|0){i=o;return}c[n>>2]=0;a[l>>0]=a[(QA(c[g>>2]|0)|0)+66>>0]|0;c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4);b=QA(c[g>>2]|0)|0;ux(b,c[(c[m>>2]|0)+4>>2]|0,a[l>>0]|0,a[(c[m>>2]|0)+13>>0]|0,n)|0;if(c[n>>2]|0)Mh(c[g>>2]|0,-1,c[n>>2]|0,-8);if((a[(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4)+13>>0]|0)!=69){i=o;return}Sz(c[g>>2]|0,92,c[k>>2]|0)|0;i=o;return}function QA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function RA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)!=0?(d[c[g>>2]>>0]|0|0)==157:0){ix(c[(c[f>>2]|0)+8>>2]|0,84,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;i=k;return}c[j>>2]=SA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){i=k;return}ix(c[(c[f>>2]|0)+8>>2]|0,85,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function SA(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=i;i=i+320|0;x=ja+24|0;w=ja+16|0;F=ja+8|0;v=ja;ga=ja+304|0;ha=ja+300|0;O=ja+296|0;ia=ja+292|0;ea=ja+288|0;B=ja+284|0;ba=ja+280|0;ca=ja+276|0;da=ja+272|0;R=ja+268|0;E=ja+264|0;S=ja+216|0;C=ja+208|0;q=ja+204|0;r=ja+200|0;m=ja+196|0;n=ja+192|0;y=ja+188|0;z=ja+184|0;D=ja+180|0;t=ja+176|0;j=ja+172|0;s=ja+168|0;Q=ja+164|0;P=ja+160|0;N=ja+156|0;G=ja+152|0;H=ja+148|0;L=ja+144|0;I=ja+140|0;A=ja+309|0;M=ja+136|0;J=ja+132|0;K=ja+308|0;o=ja+128|0;k=ja+124|0;l=ja+120|0;u=ja+116|0;p=ja+112|0;U=ja+108|0;X=ja+104|0;W=ja+100|0;V=ja+96|0;Z=ja+92|0;T=ja+88|0;Y=ja+40|0;aa=ja+32|0;$=ja+28|0;c[ha>>2]=f;c[O>>2]=g;c[ia>>2]=h;c[ea>>2]=c[(c[ha>>2]|0)+8>>2];c[ba>>2]=c[ia>>2];c[ca>>2]=0;c[da>>2]=0;c[C>>2]=0;if(!(c[ea>>2]|0)){c[ga>>2]=0;ia=c[ga>>2]|0;i=ja;return ia|0}if(!(c[O>>2]|0))c[B>>2]=101;else c[B>>2]=d[c[O>>2]>>0];a:do switch(c[B>>2]|0){case 154:{c[q>>2]=c[(c[O>>2]|0)+40>>2];c[r>>2]=(c[(c[q>>2]|0)+28>>2]|0)+((b[(c[O>>2]|0)+34>>1]|0)*24|0);if(!(a[c[q>>2]>>0]|0)){c[ga>>2]=c[(c[r>>2]|0)+16>>2];ia=c[ga>>2]|0;i=ja;return ia|0}if(a[(c[q>>2]|0)+1>>0]|0){jx(c[ea>>2]|0,96,c[(c[q>>2]|0)+8>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}else fa=11;break}case 152:{fa=11;break}case 134:{UA(c[ha>>2]|0,c[O>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 132:{VA(c[ea>>2]|0,c[(c[O>>2]|0)+8>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 97:{hx(c[ea>>2]|0,c[ia>>2]|0,c[(c[O>>2]|0)+8>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 101:{ix(c[ea>>2]|0,79,0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 133:{c[y>>2]=(c[(c[O>>2]|0)+8>>2]|0)+2;c[n>>2]=(Jf(c[y>>2]|0)|0)-1;c[z>>2]=Ix(QA(c[ea>>2]|0)|0,c[y>>2]|0,c[n>>2]|0)|0;mx(c[ea>>2]|0,81,(c[n>>2]|0)/2|0,c[ia>>2]|0,0,c[z>>2]|0,-1)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 135:{ix(c[ea>>2]|0,82,b[(c[O>>2]|0)+32>>1]|0,c[ia>>2]|0)|0;if(a[(c[(c[O>>2]|0)+8>>2]|0)+1>>0]|0)Mh(c[ea>>2]|0,-1,c[(c[(c[ha>>2]|0)+428>>2]|0)+((b[(c[O>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 157:{c[ga>>2]=c[(c[O>>2]|0)+28>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 66:{c[ba>>2]=SA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;if((c[ba>>2]|0)!=(c[ia>>2]|0)){ix(c[ea>>2]|0,85,c[ba>>2]|0,c[ia>>2]|0)|0;c[ba>>2]=c[ia>>2]}ix(c[ea>>2]|0,93,c[ia>>2]|0,(Dx(c[(c[O>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;WA(c[ha>>2]|0,c[ba>>2]|0,1);c[ga>>2]=c[ba>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 148:case 29:{c[B>>2]=(c[B>>2]|0)==29?37:36;c[C>>2]=128;fa=29;break}case 37:case 36:case 41:case 38:case 39:case 40:{fa=29;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{c[R>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,ca)|0;c[E>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+16>>2]|0,da)|0;jx(c[ea>>2]|0,c[B>>2]|0,c[E>>2]|0,c[R>>2]|0,c[ia>>2]|0)|0;break}case 155:{c[t>>2]=c[(c[O>>2]|0)+12>>2];if((d[c[t>>2]>>0]|0)==134){UA(c[ha>>2]|0,c[t>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}if((d[c[t>>2]>>0]|0)!=132){a[S>>0]=-122;c[S+4>>2]=17408;c[S+8>>2]=0;c[R>>2]=ZA(c[ha>>2]|0,S,ca)|0;c[E>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,da)|0;jx(c[ea>>2]|0,48,c[E>>2]|0,c[R>>2]|0,c[ia>>2]|0)|0;break a}VA(c[ea>>2]|0,c[(c[t>>2]|0)+8>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 19:case 54:{c[R>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,ca)|0;ix(c[ea>>2]|0,c[B>>2]|0,c[R>>2]|0,c[ba>>2]|0)|0;break}case 35:case 34:{ix(c[ea>>2]|0,76,1,c[ia>>2]|0)|0;c[R>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,ca)|0;c[j>>2]=Sz(c[ea>>2]|0,c[B>>2]|0,c[R>>2]|0)|0;ix(c[ea>>2]|0,76,0,c[ia>>2]|0)|0;Zz(c[ea>>2]|0,c[j>>2]|0);break}case 153:{c[s>>2]=c[(c[O>>2]|0)+40>>2];if(!(c[s>>2]|0)){ia=c[ha>>2]|0;c[v>>2]=c[(c[O>>2]|0)+8>>2];Eh(ia,31067,v);break a}c[ga>>2]=c[(c[(c[s>>2]|0)+40>>2]|0)+(b[(c[O>>2]|0)+34>>1]<<4)+8>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 151:{c[H>>2]=0;c[I>>2]=c[c[ha>>2]>>2];a[A>>0]=a[(c[I>>2]|0)+66>>0]|0;c[M>>2]=0;if(c[(c[O>>2]|0)+4>>2]&16384)c[Q>>2]=0;else c[Q>>2]=c[(c[O>>2]|0)+20>>2];if(c[Q>>2]|0)j=c[c[Q>>2]>>2]|0;else j=0;c[P>>2]=j;c[G>>2]=c[(c[O>>2]|0)+8>>2];c[N>>2]=ki(c[I>>2]|0,c[G>>2]|0,c[P>>2]|0,a[A>>0]|0,0)|0;if((c[N>>2]|0)!=0?(c[(c[N>>2]|0)+16>>2]|0)==0:0){if(e[(c[N>>2]|0)+2>>1]&512){c[J>>2]=Wz(c[ea>>2]|0)|0;RA(c[ha>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0);c[L>>2]=1;while(1){j=c[ea>>2]|0;if((c[L>>2]|0)>=(c[P>>2]|0))break;ix(j,35,c[ia>>2]|0,c[J>>2]|0)|0;GA(c[ha>>2]|0,c[ia>>2]|0,1);AA(c[ha>>2]|0);RA(c[ha>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[L>>2]|0)*20|0)>>2]|0,c[ia>>2]|0);yA(c[ha>>2]|0);c[L>>2]=(c[L>>2]|0)+1}_z(j,c[J>>2]|0);break a}if(e[(c[N>>2]|0)+2>>1]&1024){c[ga>>2]=SA(c[ha>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[P>>2]|0))break;if((c[L>>2]|0)<32?($A(c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[L>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[H>>2]=c[H>>2]|1<>2];if(!((c[M>>2]|0)!=0?1:(e[(c[N>>2]|0)+2>>1]&32|0)==0))c[M>>2]=fy(c[ha>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[L>>2]|0)*20|0)>>2]|0)|0;c[L>>2]=(c[L>>2]|0)+1}if(c[Q>>2]|0){j=c[ha>>2]|0;if(c[H>>2]|0){c[R>>2]=(c[j+44>>2]|0)+1;da=(c[ha>>2]|0)+44|0;c[da>>2]=(c[da>>2]|0)+(c[P>>2]|0)}else c[R>>2]=CA(j,c[P>>2]|0)|0;do if(e[(c[N>>2]|0)+2>>1]&192){a[K>>0]=a[c[c[(c[Q>>2]|0)+4>>2]>>2]>>0]|0;if((d[K>>0]|0)!=152?(d[K>>0]|0)!=154:0)break;a[(c[c[(c[Q>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[N>>2]|0)+2>>1]&192}while(0);AA(c[ha>>2]|0);aB(c[ha>>2]|0,c[Q>>2]|0,c[R>>2]|0,0,3)|0;yA(c[ha>>2]|0)}else c[R>>2]=0;if((c[P>>2]|0)>=2?(c[(c[O>>2]|0)+4>>2]&128|0)!=0:0)c[N>>2]=bB(c[I>>2]|0,c[N>>2]|0,c[P>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+20>>2]|0)|0;else fa=79;if((fa|0)==79?(c[P>>2]|0)>0:0)c[N>>2]=bB(c[I>>2]|0,c[N>>2]|0,c[P>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[N>>2]|0)+2>>1]&32){if(!(c[M>>2]|0))c[M>>2]=c[(c[I>>2]|0)+8>>2];mx(c[ea>>2]|0,88,0,0,0,c[M>>2]|0,-4)|0}mx(c[ea>>2]|0,89,c[H>>2]|0,c[R>>2]|0,c[ia>>2]|0,c[N>>2]|0,-5)|0;Jh(c[ea>>2]|0,c[P>>2]&255);if((c[P>>2]|0)!=0&(c[H>>2]|0)==0)FA(c[ha>>2]|0,c[R>>2]|0,c[P>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}ia=c[ha>>2]|0;c[F>>2]=c[G>>2];Eh(ia,31093,F);break}case 119:case 20:{if((c[B>>2]|0)==119?(ia=c[c[c[(c[O>>2]|0)+20>>2]>>2]>>2]|0,c[o>>2]=ia,(ia|0)!=1):0){cB(c[ha>>2]|0,c[o>>2]|0,1);break a}c[ga>>2]=dB(c[ha>>2]|0,c[O>>2]|0,0,0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}case 159:{if(!(c[(c[(c[O>>2]|0)+12>>2]|0)+28>>2]|0)){ia=dB(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,0,0)|0;c[(c[(c[O>>2]|0)+12>>2]|0)+28>>2]=ia}c[ga>>2]=(c[(c[(c[O>>2]|0)+12>>2]|0)+28>>2]|0)+(b[(c[O>>2]|0)+32>>1]|0);ia=c[ga>>2]|0;i=ja;return ia|0}case 33:{c[k>>2]=Wz(c[ea>>2]|0)|0;c[l>>2]=Wz(c[ea>>2]|0)|0;ix(c[ea>>2]|0,79,0,c[ia>>2]|0)|0;eB(c[ha>>2]|0,c[O>>2]|0,c[k>>2]|0,c[l>>2]|0);ix(c[ea>>2]|0,76,1,c[ia>>2]|0)|0;_z(c[ea>>2]|0,c[k>>2]|0);ix(c[ea>>2]|0,91,c[ia>>2]|0,0)|0;_z(c[ea>>2]|0,c[l>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 32:{fB(c[ha>>2]|0,c[O>>2]|0,c[ia>>2]|0,0,0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 156:case 53:case 161:{c[ga>>2]=SA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}case 88:{c[u>>2]=c[(c[O>>2]|0)+44>>2];c[p>>2]=(_(c[(c[O>>2]|0)+28>>2]|0,(b[(c[u>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[O>>2]|0)+32>>1]|0);ix(c[ea>>2]|0,143,c[p>>2]|0,c[ia>>2]|0)|0;if((b[(c[O>>2]|0)+32>>1]|0)>=0?(a[(c[(c[u>>2]|0)+4>>2]|0)+(b[(c[O>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)Sz(c[ea>>2]|0,92,c[ia>>2]|0)|0;break}case 158:{Eh(c[ha>>2]|0,29838,w);break}case 83:{if(!(c[(c[ha>>2]|0)+128>>2]|0)){Eh(c[ha>>2]|0,31116,x);c[ga>>2]=0;ia=c[ga>>2]|0;i=ja;return ia|0}if((a[(c[O>>2]|0)+1>>0]|0)==2)Vx(c[ha>>2]|0);if((a[(c[O>>2]|0)+1>>0]|0)==4){mx(c[ea>>2]|0,75,0,4,0,c[(c[O>>2]|0)+8>>2]|0,0)|0;break a}else{tA(c[ha>>2]|0,1811,a[(c[O>>2]|0)+1>>0]|0,c[(c[O>>2]|0)+8>>2]|0,0,0);break a}}default:{c[$>>2]=0;c[Z>>2]=c[(c[O>>2]|0)+20>>2];c[T>>2]=c[(c[Z>>2]|0)+4>>2];c[W>>2]=c[c[Z>>2]>>2];c[U>>2]=Wz(c[ea>>2]|0)|0;R=c[(c[O>>2]|0)+12>>2]|0;c[aa>>2]=R;if(R){j=S;k=c[aa>>2]|0;l=j+48|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));hB(S,gB(c[ha>>2]|0,S,ca)|0);j=Y;l=j+48|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));a[Y>>0]=37;c[Y+12>>2]=S;c[$>>2]=Y;c[ca>>2]=0}c[V>>2]=0;while(1){if((c[V>>2]|0)>=((c[W>>2]|0)-1|0))break;AA(c[ha>>2]|0);j=c[(c[T>>2]|0)+((c[V>>2]|0)*20|0)>>2]|0;if(c[aa>>2]|0)c[Y+16>>2]=j;else c[$>>2]=j;c[X>>2]=Wz(c[ea>>2]|0)|0;iB(c[ha>>2]|0,c[$>>2]|0,c[X>>2]|0,16);RA(c[ha>>2]|0,c[(c[T>>2]|0)+(((c[V>>2]|0)+1|0)*20|0)>>2]|0,c[ia>>2]|0);Yz(c[ea>>2]|0,c[U>>2]|0)|0;yA(c[ha>>2]|0);_z(c[ea>>2]|0,c[X>>2]|0);c[V>>2]=(c[V>>2]|0)+2}if(c[W>>2]&1){AA(c[ha>>2]|0);RA(c[ha>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+(((c[W>>2]|0)-1|0)*20|0)>>2]|0,c[ia>>2]|0);yA(c[ha>>2]|0)}else ix(c[ea>>2]|0,79,0,c[ia>>2]|0)|0;_z(c[ea>>2]|0,c[U>>2]|0)}}while(0);do if((fa|0)==11){c[m>>2]=c[(c[O>>2]|0)+28>>2];do if((c[m>>2]|0)<0){if((c[(c[ha>>2]|0)+56>>2]|0)<=0){c[m>>2]=c[(c[ha>>2]|0)+60>>2];break}c[ga>>2]=(b[(c[O>>2]|0)+32>>1]|0)+(c[(c[ha>>2]|0)+56>>2]|0);ia=c[ga>>2]|0;i=ja;return ia|0}while(0);c[ga>>2]=TA(c[ha>>2]|0,c[(c[O>>2]|0)+44>>2]|0,b[(c[O>>2]|0)+32>>1]|0,c[m>>2]|0,c[ia>>2]|0,a[(c[O>>2]|0)+38>>0]|0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}else if((fa|0)==29){c[D>>2]=c[(c[O>>2]|0)+12>>2];fa=(XA(c[D>>2]|0)|0)!=0;j=c[ha>>2]|0;if(fa){YA(j,c[O>>2]|0,c[ia>>2]|0,c[B>>2]&255,c[C>>2]&255);break}else{c[R>>2]=ZA(j,c[D>>2]|0,ca)|0;c[E>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+16>>2]|0,da)|0;_A(c[ha>>2]|0,c[D>>2]|0,c[(c[O>>2]|0)+16>>2]|0,c[B>>2]|0,c[R>>2]|0,c[E>>2]|0,c[ba>>2]|0,32|c[C>>2])|0;break}}while(0);xx(c[ha>>2]|0,c[ca>>2]|0);xx(c[ha>>2]|0,c[da>>2]|0);c[ga>>2]=c[ba>>2];ia=c[ga>>2]|0;i=ja;return ia|0}function TA(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+32|0;m=w+28|0;n=w+24|0;o=w+20|0;p=w+16|0;q=w+12|0;r=w+36|0;u=w+8|0;s=w+4|0;t=w;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;a[r>>0]=k;c[u>>2]=c[(c[m>>2]|0)+8>>2];c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+152;while(1){if((c[s>>2]|0)>=(d[(c[m>>2]|0)+25>>0]|0))break;if((c[c[t>>2]>>2]|0)==(c[p>>2]|0)?(b[(c[t>>2]|0)+4>>1]|0)==(c[o>>2]|0):0){v=5;break}c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==5){u=(c[m>>2]|0)+68|0;v=c[u>>2]|0;c[u>>2]=v+1;c[(c[t>>2]|0)+16>>2]=v;FB(c[m>>2]|0,c[(c[t>>2]|0)+12>>2]|0);c[l>>2]=c[(c[t>>2]|0)+12>>2];v=c[l>>2]|0;i=w;return v|0}NA(c[u>>2]|0,c[n>>2]|0,c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);if(a[r>>0]|0)Jh(c[u>>2]|0,a[r>>0]|0);else GB(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);c[l>>2]=c[q>>2];v=c[l>>2]|0;i=w;return v|0}function UA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;n=p+8|0;f=p+40|0;q=p+36|0;g=p+32|0;h=p+28|0;l=p+24|0;k=p+20|0;j=p+16|0;m=p;o=p+12|0;c[f>>2]=a;c[q>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[f>>2]|0)+8>>2];e=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024){c[k>>2]=c[e>>2];if(c[g>>2]|0)c[k>>2]=0-(c[k>>2]|0);ix(c[l>>2]|0,76,c[k>>2]|0,c[h>>2]|0)|0;i=p;return}c[o>>2]=c[e>>2];c[j>>2]=Hi(c[o>>2]|0,m)|0;if((c[j>>2]|0)!=0?!((c[j>>2]|0)==2&(c[g>>2]|0)!=0):0)if(!(zd(c[o>>2]|0,31290,2)|0)){q=c[f>>2]|0;c[n>>2]=c[o>>2];Eh(q,31293,n);i=p;return}else{VA(c[l>>2]|0,c[o>>2]|0,c[g>>2]|0,c[h>>2]|0);i=p;return}if(c[g>>2]|0){o=(c[j>>2]|0)==2;n=m;n=QR(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=m;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:C}EB(c[l>>2]|0,77,0,c[h>>2]|0,0,m,-13)|0;i=p;return}function VA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){i=m;return}b=c[g>>2]|0;ez(b,l,Jf(c[g>>2]|0)|0,1)|0;if(c[j>>2]|0)h[l>>3]=-+h[l>>3];EB(c[f>>2]|0,132,0,c[k>>2]|0,0,l,-12)|0;i=m;return}function WA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;GA(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function XA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(cz(c[d>>2]|0)|0)>1&1;i=b;return a|0}function YA(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+80|0;j=C+64|0;D=C+60|0;k=C+56|0;l=C+70|0;m=C+69|0;B=C+52|0;s=C+48|0;u=C+44|0;p=C+40|0;o=C+36|0;z=C+32|0;A=C+28|0;q=C+68|0;n=C+24|0;x=C+20|0;y=C+16|0;r=C+12|0;t=C+8|0;v=C+4|0;w=C;c[j>>2]=b;c[D>>2]=e;c[k>>2]=f;a[l>>0]=g;a[m>>0]=h;c[B>>2]=c[(c[j>>2]|0)+8>>2];c[s>>2]=c[(c[D>>2]|0)+12>>2];c[u>>2]=c[(c[D>>2]|0)+16>>2];c[p>>2]=cz(c[s>>2]|0)|0;c[z>>2]=0;c[A>>2]=0;a[q>>0]=a[l>>0]|0;c[n>>2]=Wz(c[B>>2]|0)|0;a[m>>0]=d[m>>0]|0|32;if((d[q>>0]|0|0)==39)a[q>>0]=40;if((d[q>>0]|0|0)==41)a[q>>0]=38;c[z>>2]=CB(c[j>>2]|0,c[s>>2]|0)|0;c[A>>2]=CB(c[j>>2]|0,c[u>>2]|0)|0;c[o>>2]=0;while(1){c[x>>2]=0;c[y>>2]=0;if((c[o>>2]|0)>0)AA(c[j>>2]|0);c[v>>2]=DB(c[j>>2]|0,c[s>>2]|0,c[o>>2]|0,c[z>>2]|0,r,x)|0;c[w>>2]=DB(c[j>>2]|0,c[u>>2]|0,c[o>>2]|0,c[A>>2]|0,t,y)|0;_A(c[j>>2]|0,c[r>>2]|0,c[t>>2]|0,d[q>>0]|0,c[v>>2]|0,c[w>>2]|0,c[k>>2]|0,d[m>>0]|0)|0;xx(c[j>>2]|0,c[x>>2]|0);xx(c[j>>2]|0,c[y>>2]|0);if((c[o>>2]|0)>0)yA(c[j>>2]|0);if((c[o>>2]|0)==((c[p>>2]|0)-1|0))break;do if((d[q>>0]|0|0)!=37){f=c[B>>2]|0;if((d[q>>0]|0|0)==36){ix(f,21,c[k>>2]|0,c[n>>2]|0)|0;a[m>>0]=d[m>>0]|0|8;break}ix(f,42,0,c[n>>2]|0)|0;if((c[o>>2]|0)==((c[p>>2]|0)-2|0))a[q>>0]=a[l>>0]|0}else{ix(c[B>>2]|0,22,c[k>>2]|0,c[n>>2]|0)|0;a[m>>0]=d[m>>0]|0|8}while(0);c[o>>2]=(c[o>>2]|0)+1}_z(c[B>>2]|0,c[n>>2]|0);i=C;return}function ZA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;k=q+8|0;m=q+4|0;n=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[h>>2]=ky(c[h>>2]|0)|0;if(((d[(c[g>>2]|0)+23>>0]|0|0)!=0?(d[c[h>>2]>>0]|0|0)!=157:0)?(BB(c[h>>2]|0)|0)!=0:0){c[l>>2]=c[(c[g>>2]|0)+80>>2];c[c[j>>2]>>2]=0;a:do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+4>>2];c[k>>2]=c[c[l>>2]>>2];while(1){if((c[k>>2]|0)<=0)break a;if(((d[(c[m>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(Ky(c[c[m>>2]>>2]|0,c[h>>2]|0,-1)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=c[(c[m>>2]|0)+16>>2];p=c[f>>2]|0;i=q;return p|0}while(0);e=(c[g>>2]|0)+44|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[o>>2]=n;wB(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,1)}else p=12;do if((p|0)==12){c[n>>2]=vx(c[g>>2]|0)|0;c[o>>2]=SA(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[c[j>>2]>>2]=c[n>>2];break}else{xx(c[g>>2]|0,c[n>>2]|0);c[c[j>>2]>>2]=0;break}}while(0);c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function _A(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;i=i+48|0;n=l+40|0;v=l+36|0;u=l+32|0;s=l+28|0;p=l+24|0;r=l+20|0;q=l+16|0;t=l+12|0;m=l+8|0;k=l+4|0;o=l;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=sB(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(AB(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=mx(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;Jh(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function $A(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=xB(c[d>>2]|0,1,0)|0;i=b;return a|0}function aB(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+44|0;l=z+40|0;m=z+36|0;n=z+32|0;o=z+49|0;v=z+28|0;q=z+24|0;s=z+20|0;t=z+16|0;p=z+48|0;x=z+12|0;u=z+8|0;r=z+4|0;w=z;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;a[p>>0]=(d[o>>0]&1|0)!=0?84:85;c[x>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[c[l>>2]>>2];if(!(a[(c[k>>2]|0)+23>>0]|0))a[o>>0]=d[o>>0]&-3;c[v>>2]=c[(c[l>>2]|0)+4>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;c[u>>2]=c[c[v>>2]>>2];if((d[o>>0]&4|0)!=0?(g=e[(c[(c[l>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+16>>1]|0,c[s>>2]=g,(g|0)>0):0)ix(c[x>>2]|0,d[p>>0]|0,(c[s>>2]|0)+(c[n>>2]|0)-1|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((d[o>>0]&2|0)!=0?($A(c[u>>2]|0)|0)!=0:0){wB(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0,0);break}c[r>>2]=SA(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[m>>2]|0)+(c[q>>2]|0)|0)){if((((d[p>>0]|0)==84?(g=eA(c[x>>2]|0,-1)|0,c[w>>2]=g,(d[g>>0]|0)==84):0)?((c[(c[w>>2]|0)+4>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[w>>2]|0)+8>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==((c[m>>2]|0)+(c[q>>2]|0)|0):0){g=(c[w>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+1;break}ix(c[x>>2]|0,d[p>>0]|0,c[r>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+20}i=z;return c[t>>2]|0}function bB(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+52|0;l=y+48|0;m=y+44|0;n=y+40|0;o=y+36|0;s=y+32|0;t=y+28|0;q=y+24|0;v=y+20|0;p=y+16|0;r=y+12|0;u=y+8|0;x=y+4|0;w=y;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[v>>2]=0;c[p>>2]=0;c[u>>2]=0;if(!(c[o>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}if((d[c[o>>2]>>0]|0)!=152){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}c[s>>2]=c[(c[o>>2]|0)+44>>2];if(!(c[s>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}if(!(d[(c[s>>2]|0)+42>>0]&16)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}c[t>>2]=c[(Ux(c[l>>2]|0,c[s>>2]|0)|0)+8>>2];c[q>>2]=c[c[t>>2]>>2];if(!(c[(c[q>>2]|0)+72>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}c[x>>2]=qh(c[l>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if(c[x>>2]|0){c[w>>2]=c[x>>2];while(1){if(!(a[c[w>>2]>>0]|0))break;a[c[w>>2]>>0]=a[17613+(d[c[w>>2]>>0]|0)>>0]|0;c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=Zb[c[(c[q>>2]|0)+72>>2]&255](c[t>>2]|0,c[n>>2]|0,c[x>>2]|0,v,p)|0;Tf(c[l>>2]|0,c[x>>2]|0)}if(!(c[u>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}x=c[l>>2]|0;c[r>>2]=sh(x,28+(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[r>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}else{w=c[r>>2]|0;x=c[m>>2]|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[(c[r>>2]|0)+20>>2]=(c[r>>2]|0)+28;w=(c[r>>2]|0)+28|0;x=c[(c[m>>2]|0)+20>>2]|0;TR(w|0,x|0,(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[r>>2]|0)+12>>2]=c[v>>2];c[(c[r>>2]|0)+4>>2]=c[p>>2];x=(c[r>>2]|0)+2|0;b[x>>1]=e[x>>1]|16;c[k>>2]=c[r>>2];x=c[k>>2]|0;i=y;return x|0}return 0}function cB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e;k=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=31246;d=c[k>>2]|0;a=c[j>>2]|0;b=c[h>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=b;Eh(d,a,f);i=e;return}function dB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+176|0;h=O;H=O+168|0;I=O+164|0;J=O+160|0;K=O+156|0;v=O+152|0;L=O+148|0;M=O+144|0;N=O+140|0;j=O+136|0;w=O+132|0;s=O+128|0;C=O+124|0;p=O+120|0;u=O+116|0;r=O+112|0;n=O+88|0;o=O+80|0;q=O+76|0;x=O+172|0;y=O+72|0;t=O+68|0;B=O+64|0;D=O+60|0;E=O+56|0;F=O+52|0;A=O+48|0;z=O+44|0;m=O+40|0;k=O+16|0;l=O+12|0;c[I>>2]=b;c[J>>2]=e;c[K>>2]=f;c[v>>2]=g;c[L>>2]=-1;c[M>>2]=0;c[N>>2]=dx(c[I>>2]|0)|0;if(!(c[N>>2]|0)){c[H>>2]=0;N=c[H>>2]|0;i=O;return N|0}AA(c[I>>2]|0);if(!(c[(c[J>>2]|0)+4>>2]&32))c[L>>2]=fx(c[N>>2]|0,20)|0;if((d[(c[I>>2]|0)+409>>0]|0)==2){f=c[c[I>>2]>>2]|0;e=(d[c[J>>2]>>0]|0)==33?31209:31214;b=c[(c[I>>2]|0)+424>>2]|0;c[h>>2]=(c[L>>2]|0)>=0?18402:31197;c[h+4>>2]=e;c[h+8>>2]=b;c[j>>2]=Gh(f,31221,h)|0;mx(c[N>>2]|0,162,c[(c[I>>2]|0)+420>>2]|0,0,0,c[j>>2]|0,-1)|0}g=c[J>>2]|0;do if((d[c[J>>2]>>0]|0)==33){c[s>>2]=c[g+12>>2];c[C>>2]=0;c[p>>2]=cz(c[s>>2]|0)|0;l=(c[I>>2]|0)+40|0;m=c[l>>2]|0;c[l>>2]=m+1;c[(c[J>>2]|0)+28>>2]=m;c[w>>2]=ix(c[N>>2]|0,107,c[(c[J>>2]|0)+28>>2]|0,(c[v>>2]|0)!=0?0:c[p>>2]|0)|0;if(c[v>>2]|0)g=0;else g=iA(c[c[I>>2]>>2]|0,c[p>>2]|0,1)|0;c[C>>2]=g;g=(c[J>>2]|0)+20|0;a:do if(c[(c[J>>2]|0)+4>>2]&2048){c[u>>2]=c[g>>2];c[r>>2]=c[c[u>>2]>>2];if((c[c[r>>2]>>2]|0)==(c[p>>2]|0)){vB(n,11,c[(c[J>>2]|0)+28>>2]|0);c[n+4>>2]=mB(c[I>>2]|0,c[J>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=0;G=(Pv(c[I>>2]|0,c[u>>2]|0,n)|0)!=0;Tf(c[c[I>>2]>>2]|0,c[n+4>>2]|0);if(G){jA(c[C>>2]|0);c[H>>2]=0;N=c[H>>2]|0;i=O;return N|0}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break a;c[q>>2]=pB(c[s>>2]|0,c[o>>2]|0)|0;G=sB(c[I>>2]|0,c[q>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;c[(c[C>>2]|0)+20+(c[o>>2]<<2)>>2]=G;c[o>>2]=(c[o>>2]|0)+1}}}else if(c[g>>2]|0){c[t>>2]=c[(c[J>>2]|0)+20>>2];u=ey(c[s>>2]|0)|0;a[x>>0]=u;a[x>>0]=(a[x>>0]|0)!=0?u:65;if(c[C>>2]|0){u=fy(c[I>>2]|0,c[(c[J>>2]|0)+12>>2]|0)|0;c[(c[C>>2]|0)+20>>2]=u}c[D>>2]=vx(c[I>>2]|0)|0;c[E>>2]=vx(c[I>>2]|0)|0;if(c[v>>2]|0)ix(c[N>>2]|0,79,0,c[E>>2]|0)|0;c[y>>2]=c[c[t>>2]>>2];c[B>>2]=c[(c[t>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[A>>2]=c[c[B>>2]>>2];if((c[L>>2]|0)>=0?($A(c[A>>2]|0)|0)==0:0){HA(c[N>>2]|0,c[L>>2]|0)|0;c[L>>2]=-1}if((c[v>>2]|0)!=0?(Fy(c[A>>2]|0,z)|0)!=0:0)jx(c[N>>2]|0,116,c[(c[J>>2]|0)+28>>2]|0,c[E>>2]|0,c[z>>2]|0)|0;else G=30;do if((G|0)==30){G=0;c[F>>2]=SA(c[I>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;g=c[N>>2]|0;e=c[F>>2]|0;if(c[v>>2]|0){ix(g,17,e,(wx(c[N>>2]|0)|0)+2|0)|0;jx(c[N>>2]|0,115,c[(c[J>>2]|0)+28>>2]|0,c[E>>2]|0,c[F>>2]|0)|0;break}else{mx(g,99,e,1,c[E>>2]|0,x,1)|0;WA(c[I>>2]|0,c[F>>2]|0,1);ix(c[N>>2]|0,126,c[(c[J>>2]|0)+28>>2]|0,c[E>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[B>>2]=(c[B>>2]|0)+20}xx(c[I>>2]|0,c[D>>2]|0);xx(c[I>>2]|0,c[E>>2]|0)}while(0);if(c[C>>2]|0)Mh(c[N>>2]|0,c[w>>2]|0,c[C>>2]|0,-6)}else{c[m>>2]=c[g+20>>2];if((d[c[J>>2]>>0]|0)==119)g=c[c[c[m>>2]>>2]>>2]|0;else g=1;c[l>>2]=g;vB(k,0,(c[(c[I>>2]|0)+44>>2]|0)+1|0);G=(c[I>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+(c[l>>2]|0);if((d[c[J>>2]>>0]|0)==119){a[k>>0]=10;c[k+12>>2]=c[k+8>>2];c[k+16>>2]=c[l>>2];jx(c[N>>2]|0,79,0,c[k+8>>2]|0,(c[k+8>>2]|0)+(c[l>>2]|0)-1|0)|0}else{a[k>>0]=3;ix(c[N>>2]|0,76,0,c[k+8>>2]|0)|0}iv(c[c[I>>2]>>2]|0,c[(c[m>>2]|0)+56>>2]|0);G=jw(c[c[I>>2]>>2]|0,134,4284,0)|0;c[(c[m>>2]|0)+56>>2]=G;c[(c[m>>2]|0)+12>>2]=0;G=(c[m>>2]|0)+8|0;c[G>>2]=c[G>>2]&-1025;if(!(Pv(c[I>>2]|0,c[m>>2]|0,k)|0)){c[M>>2]=c[k+8>>2];break}c[H>>2]=0;N=c[H>>2]|0;i=O;return N|0}while(0);if(c[K>>2]|0)tB(c[N>>2]|0,c[(c[J>>2]|0)+28>>2]|0,c[K>>2]|0);if((c[L>>2]|0)>=0)Zz(c[N>>2]|0,c[L>>2]|0);yA(c[I>>2]|0);c[H>>2]=c[M>>2];N=c[H>>2]|0;i=O;return N|0}function eB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+128|0;r=L+120|0;s=L+116|0;t=L+112|0;u=L+108|0;I=L+104|0;q=L+100|0;G=L+96|0;H=L+92|0;J=L+88|0;x=L+84|0;K=L+80|0;B=L+76|0;E=L+68|0;A=L+64|0;g=L+60|0;z=L+56|0;w=L+52|0;y=L+48|0;v=L+44|0;m=L+40|0;l=L+36|0;j=L+32|0;n=L+28|0;p=L+24|0;o=L+20|0;h=L+16|0;k=L+12|0;C=L+8|0;D=L+4|0;F=L;c[r>>2]=b;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[I>>2]=0;c[x>>2]=0;c[K>>2]=0;c[z>>2]=0;c[E>>2]=c[(c[s>>2]|0)+12>>2];if(lB(c[r>>2]|0,c[s>>2]|0)|0){i=L;return}c[K>>2]=mB(c[r>>2]|0,c[s>>2]|0)|0;c[B>>2]=cz(c[(c[s>>2]|0)+12>>2]|0)|0;c[x>>2]=sh(c[c[r>>2]>>2]|0,((c[B>>2]|0)*5|0)+1|0,0)|0;if(!(a[(c[c[r>>2]>>2]|0)+69>>0]|0)){c[J>>2]=c[(c[r>>2]|0)+8>>2];c[q>>2]=nB(c[r>>2]|0,c[s>>2]|0,3,(c[t>>2]|0)==(c[u>>2]|0)?0:I,c[x>>2]|0)|0;AA(c[r>>2]|0);c[H>>2]=gB(c[r>>2]|0,c[E>>2]|0,L+72|0)|0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break;if((c[(c[x>>2]|0)+(c[A>>2]<<2)>>2]|0)!=(c[A>>2]|0))break;c[A>>2]=(c[A>>2]|0)+1}a:do if((c[A>>2]|0)==(c[B>>2]|0))c[G>>2]=c[H>>2];else{c[G>>2]=CA(c[r>>2]|0,c[B>>2]|0)|0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break a;jx(c[J>>2]|0,84,(c[H>>2]|0)+(c[A>>2]|0)|0,(c[G>>2]|0)+(c[(c[x>>2]|0)+(c[A>>2]<<2)>>2]|0)|0,0)|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);b:do if((c[q>>2]|0)==5){c[m>>2]=c[(c[s>>2]|0)+20>>2];c[l>>2]=fy(c[r>>2]|0,c[(c[s>>2]|0)+12>>2]|0)|0;c[j>>2]=Wz(c[J>>2]|0)|0;c[o>>2]=0;if((c[u>>2]|0)!=(c[t>>2]|0)){c[o>>2]=vx(c[r>>2]|0)|0;jx(c[J>>2]|0,43,c[G>>2]|0,c[G>>2]|0,c[o>>2]|0)|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[m>>2]>>2]|0))break;c[n>>2]=ZA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,p)|0;if((c[o>>2]|0)!=0?(oB(c[(c[(c[m>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)|0)!=0:0)jx(c[J>>2]|0,43,c[o>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[h>>2]|0)>=((c[c[m>>2]>>2]|0)-1|0)?(c[u>>2]|0)==(c[t>>2]|0):0){mx(c[J>>2]|0,36,c[G>>2]|0,c[t>>2]|0,c[n>>2]|0,c[l>>2]|0,-4)|0;Jh(c[J>>2]|0,(a[c[K>>2]>>0]|16)&255)}else{mx(c[J>>2]|0,37,c[G>>2]|0,c[j>>2]|0,c[n>>2]|0,c[l>>2]|0,-4)|0;Jh(c[J>>2]|0,a[c[K>>2]>>0]|0)}xx(c[r>>2]|0,c[p>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(c[o>>2]|0){ix(c[J>>2]|0,34,c[o>>2]|0,c[u>>2]|0)|0;Yz(c[J>>2]|0,c[t>>2]|0)|0}_z(c[J>>2]|0,c[j>>2]|0);xx(c[r>>2]|0,c[o>>2]|0)}else{if((c[u>>2]|0)==(c[t>>2]|0))c[g>>2]=c[t>>2];else{p=Wz(c[J>>2]|0)|0;c[z>>2]=p;c[g>>2]=p}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break;c[k>>2]=pB(c[(c[s>>2]|0)+12>>2]|0,c[A>>2]|0)|0;if(oB(c[k>>2]|0)|0)ix(c[J>>2]|0,34,(c[G>>2]|0)+(c[A>>2]|0)|0,c[g>>2]|0)|0;c[A>>2]=(c[A>>2]|0)+1}e=c[J>>2]|0;do if((c[q>>2]|0)!=1){mx(e,98,c[G>>2]|0,c[B>>2]|0,0,c[K>>2]|0,c[B>>2]|0)|0;e=c[J>>2]|0;f=c[(c[s>>2]|0)+28>>2]|0;if((c[t>>2]|0)==(c[u>>2]|0)){Ih(e,30,f,c[t>>2]|0,c[G>>2]|0,c[B>>2]|0)|0;break b}else{c[w>>2]=Ih(e,31,f,0,c[G>>2]|0,c[B>>2]|0)|0;break}}else{jx(e,32,c[(c[s>>2]|0)+28>>2]|0,c[t>>2]|0,c[G>>2]|0)|0;c[w>>2]=fx(c[J>>2]|0,13)|0}while(0);if((c[I>>2]|0)!=0&(c[B>>2]|0)==1)ix(c[J>>2]|0,35,c[I>>2]|0,c[t>>2]|0)|0;if((c[t>>2]|0)==(c[u>>2]|0))Yz(c[J>>2]|0,c[t>>2]|0)|0;if(c[z>>2]|0)_z(c[J>>2]|0,c[z>>2]|0);c[v>>2]=ix(c[J>>2]|0,57,c[(c[s>>2]|0)+28>>2]|0,c[t>>2]|0)|0;if((c[B>>2]|0)>1)c[y>>2]=Wz(c[J>>2]|0)|0;else c[y>>2]=c[t>>2];c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break;c[F>>2]=vx(c[r>>2]|0)|0;c[C>>2]=pB(c[E>>2]|0,c[A>>2]|0)|0;c[D>>2]=fy(c[r>>2]|0,c[C>>2]|0)|0;jx(c[J>>2]|0,96,c[(c[s>>2]|0)+28>>2]|0,c[A>>2]|0,c[F>>2]|0)|0;mx(c[J>>2]|0,36,(c[G>>2]|0)+(c[A>>2]|0)|0,c[y>>2]|0,c[F>>2]|0,c[D>>2]|0,-4)|0;xx(c[r>>2]|0,c[F>>2]|0);c[A>>2]=(c[A>>2]|0)+1}ix(c[J>>2]|0,13,0,c[u>>2]|0)|0;if((c[B>>2]|0)>1){_z(c[J>>2]|0,c[y>>2]|0);ix(c[J>>2]|0,7,c[(c[s>>2]|0)+28>>2]|0,(c[v>>2]|0)+1|0)|0;ix(c[J>>2]|0,13,0,c[t>>2]|0)|0}Zz(c[J>>2]|0,c[w>>2]|0)}while(0);if((c[G>>2]|0)!=(c[H>>2]|0))xx(c[r>>2]|0,c[G>>2]|0);yA(c[r>>2]|0)}Tf(c[c[r>>2]>>2]|0,c[x>>2]|0);Tf(c[c[r>>2]>>2]|0,c[K>>2]|0);i=L;return}function fB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;h=s+216|0;j=s+212|0;k=s+208|0;l=s+204|0;m=s+200|0;p=s+152|0;n=s+104|0;o=s+56|0;q=s+8|0;r=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[r>>2]=0;e=n;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=o;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=p;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=q;g=c[(c[j>>2]|0)+12>>2]|0;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[p>>0]=28;c[p+12>>2]=n;c[p+16>>2]=o;a[n>>0]=41;c[n+12>>2]=q;c[n+16>>2]=c[c[(c[(c[j>>2]|0)+20>>2]|0)+4>>2]>>2];a[o>>0]=39;c[o+12>>2]=q;c[o+16>>2]=c[(c[(c[(c[j>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];hB(q,gB(c[h>>2]|0,q,r)|0);if(c[l>>2]|0){_b[c[l>>2]&255](c[h>>2]|0,p,c[k>>2]|0,c[m>>2]|0);q=c[h>>2]|0;r=c[r>>2]|0;xx(q,r);i=s;return}else{q=q+4|0;c[q>>2]=c[q>>2]|1;SA(c[h>>2]|0,p,c[k>>2]|0)|0;q=c[h>>2]|0;r=c[r>>2]|0;xx(q,r);i=s;return}}function gB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;f=m+12|0;k=m+8|0;l=m+4|0;j=m;c[g>>2]=a;c[h>>2]=b;c[f>>2]=e;c[l>>2]=cz(c[h>>2]|0)|0;if((c[l>>2]|0)==1){c[k>>2]=ZA(c[g>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}c[c[f>>2]>>2]=0;f=c[g>>2]|0;if((d[c[h>>2]>>0]|0|0)==119){c[k>>2]=dB(f,c[h>>2]|0,0,0)|0;l=c[k>>2]|0;i=m;return l|0}c[k>>2]=(c[f+44>>2]|0)+1;e=(c[g>>2]|0)+44|0;c[e>>2]=(c[e>>2]|0)+(c[l>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;RA(c[g>>2]|0,c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0,(c[j>>2]|0)+(c[k>>2]|0)|0);c[j>>2]=(c[j>>2]|0)+1}l=c[k>>2]|0;i=m;return l|0}function hB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function iB(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;s=u+28|0;n=u+24|0;q=u+20|0;r=u+16|0;o=u+12|0;p=u+8|0;l=u+4|0;m=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==0|(c[h>>2]|0)==0){i=u;return}c[n>>2]=((d[c[h>>2]>>0]|0)+0^1)-0;a:do switch(d[c[h>>2]>>0]|0|0){case 28:{iB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);AA(c[g>>2]|0);iB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);yA(c[g>>2]|0);break}case 27:{c[l>>2]=Wz(c[s>>2]|0)|0;jB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);AA(c[g>>2]|0);iB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);_z(c[s>>2]|0,c[l>>2]|0);yA(c[g>>2]|0);break}case 19:{jB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 29:{c[n>>2]=(d[c[h>>2]>>0]|0|0)==29?36:37;c[k>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{c[o>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;ix(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0)|0;break}case 32:{fB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,133,c[k>>2]|0);break}case 33:if(c[k>>2]|0){eB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j>>2]|0);break a}else{c[m>>2]=Wz(c[s>>2]|0)|0;eB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);_z(c[s>>2]|0,c[m>>2]|0);break a}default:t=14}while(0);if((t|0)==7)if(XA(c[(c[h>>2]|0)+12>>2]|0)|0)t=14;else{c[o>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;_A(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}do if((t|0)==14){if(xz(c[h>>2]|0)|0){Yz(c[s>>2]|0,c[j>>2]|0)|0;break}if(!(kB(c[h>>2]|0)|0)){c[o>>2]=ZA(c[g>>2]|0,c[h>>2]|0,q)|0;jx(c[s>>2]|0,22,c[o>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}while(0);xx(c[g>>2]|0,c[q>>2]|0);xx(c[g>>2]|0,c[r>>2]|0);i=u;return}function jB(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+48|0;h=v+44|0;j=v+40|0;k=v+36|0;t=v+32|0;o=v+28|0;r=v+24|0;s=v+20|0;p=v+16|0;q=v+12|0;l=v+8|0;m=v+4|0;n=v;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[r>>2]=0;c[s>>2]=0;if((c[t>>2]|0)==0|(c[h>>2]|0)==0){i=v;return}c[o>>2]=d[c[h>>2]>>0];switch(c[o>>2]|0){case 28:{c[l>>2]=Wz(c[t>>2]|0)|0;iB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);AA(c[g>>2]|0);jB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);_z(c[t>>2]|0,c[l>>2]|0);yA(c[g>>2]|0);break}case 27:{jB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);AA(c[g>>2]|0);jB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);yA(c[g>>2]|0);break}case 19:{iB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 29:{c[o>>2]=(c[o>>2]|0)==29?37:36;c[k>>2]=128;u=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{u=7;break}case 35:case 34:{c[p>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;ix(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;break}case 32:{fB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,134,c[k>>2]|0);break}case 33:{c[m>>2]=Wz(c[t>>2]|0)|0;c[n>>2]=(c[k>>2]|0)!=0?c[j>>2]|0:c[m>>2]|0;eB(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);Yz(c[t>>2]|0,c[j>>2]|0)|0;_z(c[t>>2]|0,c[m>>2]|0);break}default:u=12}if((u|0)==7)if(XA(c[(c[h>>2]|0)+12>>2]|0)|0)u=12;else{c[p>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;_A(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}do if((u|0)==12){if(kB(c[h>>2]|0)|0){Yz(c[t>>2]|0,c[j>>2]|0)|0;break}if(!(xz(c[h>>2]|0)|0)){c[p>>2]=ZA(c[g>>2]|0,c[h>>2]|0,r)|0;jx(c[t>>2]|0,21,c[p>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}while(0);xx(c[g>>2]|0,c[r>>2]|0);xx(c[g>>2]|0,c[s>>2]|0);i=v;return}function kB(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(Fy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function lB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j;e=j+16|0;d=j+12|0;f=j+8|0;g=j+4|0;c[d>>2]=a;c[f>>2]=b;c[g>>2]=cz(c[(c[f>>2]|0)+12>>2]|0)|0;b=c[g>>2]|0;if(c[(c[f>>2]|0)+4>>2]&2048){if((b|0)!=(c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0)){cB(c[d>>2]|0,c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0,c[g>>2]|0);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}}else if((b|0)!=1){b=c[d>>2]|0;if(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]&2048)cB(b,c[g>>2]|0,1);else Eh(b,29838,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}function mB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+28|0;e=o+24|0;l=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;h=o+4|0;k=o;g=o+32|0;c[f>>2]=b;c[e>>2]=d;c[l>>2]=c[(c[e>>2]|0)+12>>2];c[j>>2]=cz(c[l>>2]|0)|0;if(c[(c[e>>2]|0)+4>>2]&2048)e=c[(c[e>>2]|0)+20>>2]|0;else e=0;c[m>>2]=e;b=(c[j>>2]|0)+1|0;c[n>>2]=sh(c[c[f>>2]>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){n=c[n>>2]|0;i=o;return n|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=pB(c[l>>2]|0,c[h>>2]|0)|0;a[g>>0]=ey(c[k>>2]|0)|0;if(c[m>>2]|0){f=rB(c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,a[g>>0]|0)|0;a[(c[n>>2]|0)+(c[h>>2]|0)>>0]=f}else a[(c[n>>2]|0)+(c[h>>2]|0)>>0]=a[g>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[(c[n>>2]|0)+(c[j>>2]|0)>>0]=0;n=c[n>>2]|0;i=o;return n|0}function nB(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+160|0;W=X+16|0;l=X+140|0;m=X+136|0;n=X+132|0;o=X+128|0;p=X+124|0;K=X+120|0;u=X+116|0;D=X+112|0;H=X+108|0;V=X+104|0;v=X+100|0;L=X+96|0;t=X+92|0;S=X+88|0;B=X+144|0;M=X+84|0;J=X+80|0;y=X+76|0;N=X+72|0;q=X+68|0;w=X+64|0;O=X+60|0;A=X+56|0;E=X+147|0;r=X+146|0;s=X+8|0;G=X;P=X+52|0;R=X+48|0;Q=X+44|0;F=X+40|0;z=X+36|0;U=X+32|0;T=X+28|0;x=X+24|0;I=X+20|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=k;c[u>>2]=0;g=(c[l>>2]|0)+40|0;j=c[g>>2]|0;c[g>>2]=j+1;c[D>>2]=j;c[V>>2]=dx(c[l>>2]|0)|0;c[H>>2]=(c[n>>2]&4|0)!=0&1;if((c[o>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)!=0:0){c[L>>2]=c[c[(c[m>>2]|0)+20>>2]>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[L>>2]>>2]|0))break;if(oB(c[(c[(c[L>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)>>2]|0)|0)break;c[v>>2]=(c[v>>2]|0)+1}if((c[v>>2]|0)==(c[c[L>>2]>>2]|0))c[o>>2]=0}a:do if((c[(c[l>>2]|0)+36>>2]|0)==0?(j=qB(c[m>>2]|0)|0,c[K>>2]=j,(j|0)!=0):0){c[t>>2]=c[c[l>>2]>>2];c[M>>2]=c[c[K>>2]>>2];c[J>>2]=c[c[M>>2]>>2];c[S>>2]=c[(c[(c[K>>2]|0)+28>>2]|0)+8+16>>2];b[B>>1]=Fh(c[t>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;sx(c[l>>2]|0,b[B>>1]|0);Tz(c[l>>2]|0,b[B>>1]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0);if((c[J>>2]|0)==1?(b[(c[c[(c[M>>2]|0)+4>>2]>>2]|0)+32>>1]|0)<0:0){c[y>>2]=fx(c[V>>2]|0,20)|0;Uz(c[l>>2]|0,c[D>>2]|0,b[B>>1]|0,c[S>>2]|0,104);c[u>>2]=1;Zz(c[V>>2]|0,c[y>>2]|0);break}c[q>>2]=1;c[w>>2]=0;while(1){if(!((c[w>>2]|0)<(c[J>>2]|0)?(c[q>>2]|0)!=0:0))break;c[O>>2]=pB(c[(c[m>>2]|0)+12>>2]|0,c[w>>2]|0)|0;c[A>>2]=b[(c[(c[(c[M>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2]|0)+32>>1];a[E>>0]=ly(c[S>>2]|0,c[A>>2]|0)|0;a[r>>0]=rB(c[O>>2]|0,a[E>>0]|0)|0;if(((a[r>>0]|0)+-65|0)>>>0>=2)c[q>>2]=(a[E>>0]|0)>=67&1;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0){c[N>>2]=c[(c[S>>2]|0)+8>>2];while(1){if(!((c[N>>2]|0)!=0?(c[u>>2]|0)==0:0))break a;do if((e[(c[N>>2]|0)+52>>1]|0)>=(c[J>>2]|0)?(e[(c[N>>2]|0)+52>>1]|0)<63:0){if(c[H>>2]|0){if((e[(c[N>>2]|0)+50>>1]|0)>(c[J>>2]|0))break;if((e[(c[N>>2]|0)+52>>1]|0)>(c[J>>2]|0)?(d[(c[N>>2]|0)+54>>0]|0)==0:0)break}j=s;c[j>>2]=0;c[j+4>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[J>>2]|0))break;c[P>>2]=pB(c[(c[m>>2]|0)+12>>2]|0,c[w>>2]|0)|0;c[R>>2]=c[(c[(c[M>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[Q>>2]=sB(c[l>>2]|0,c[P>>2]|0,c[R>>2]|0)|0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[J>>2]|0))break;if((b[(c[(c[N>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]|0)==(b[(c[R>>2]|0)+32>>1]|0)){if(!(c[Q>>2]|0))break;if(!(ig(c[c[Q>>2]>>2]|0,c[(c[(c[N>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]|0)|0))break}c[F>>2]=(c[F>>2]|0)+1}if((c[F>>2]|0)==(c[J>>2]|0))break;j=WR(1,0,c[F>>2]|0)|0;g=G;c[g>>2]=j;c[g+4>>2]=C;g=G;j=s;if((c[g>>2]&c[j>>2]|0)!=0?1:(c[g+4>>2]&c[j+4>>2]|0)!=0)break;S=G;f=s;g=c[f+4>>2]|c[S+4>>2];j=s;c[j>>2]=c[f>>2]|c[S>>2];c[j+4>>2]=g;if(c[p>>2]|0)c[(c[p>>2]|0)+(c[w>>2]<<2)>>2]=c[F>>2];c[w>>2]=(c[w>>2]|0)+1}j=s;S=c[j>>2]|0;j=c[j+4>>2]|0;g=WR(1,0,c[J>>2]|0)|0;g=QR(g|0,C|0,1,0)|0;if((S|0)==(g|0)&(j|0)==(C|0)){c[z>>2]=fx(c[V>>2]|0,20)|0;g=c[V>>2]|0;j=c[t>>2]|0;c[W>>2]=c[c[N>>2]>>2];mx(g,162,0,0,0,Gh(j,31166,W)|0,-1)|0;jx(c[V>>2]|0,104,c[D>>2]|0,c[(c[N>>2]|0)+44>>2]|0,b[B>>1]|0)|0;Vz(c[l>>2]|0,c[N>>2]|0);c[u>>2]=3+(d[c[(c[N>>2]|0)+28>>2]>>0]|0);if((c[o>>2]|0)!=0?(g=(c[l>>2]|0)+44|0,j=(c[g>>2]|0)+1|0,c[g>>2]=j,c[c[o>>2]>>2]=j,(c[J>>2]|0)==1):0)tB(c[V>>2]|0,c[D>>2]|0,c[c[o>>2]>>2]|0);Zz(c[V>>2]|0,c[z>>2]|0)}}while(0);c[N>>2]=c[(c[N>>2]|0)+20>>2]}}}while(0);do if(((c[u>>2]|0)==0?(c[n>>2]&1|0)!=0:0)?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){if((uB(c[m>>2]|0)|0)!=0?(c[c[(c[m>>2]|0)+20>>2]>>2]|0)>2:0)break;c[u>>2]=5}while(0);if(!(c[u>>2]|0)){c[U>>2]=c[(c[l>>2]|0)+136>>2];c[T>>2]=0;c[u>>2]=2;if(c[n>>2]&4){c[(c[l>>2]|0)+136>>2]=0;if((b[(c[(c[m>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0)c[u>>2]=1}else if(c[o>>2]|0){V=(c[l>>2]|0)+44|0;W=(c[V>>2]|0)+1|0;c[V>>2]=W;c[T>>2]=W;c[c[o>>2]>>2]=W}dB(c[l>>2]|0,c[m>>2]|0,c[T>>2]|0,(c[u>>2]|0)==1&1)|0;c[(c[l>>2]|0)+136>>2]=c[U>>2]}else c[(c[m>>2]|0)+28>>2]=c[D>>2];if(!((c[p>>2]|0)!=0&(c[u>>2]|0)!=3&(c[u>>2]|0)!=4)){W=c[u>>2]|0;i=X;return W|0}c[I>>2]=cz(c[(c[m>>2]|0)+12>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[I>>2]|0))break;c[(c[p>>2]|0)+(c[x>>2]<<2)>>2]=c[x>>2];c[x>>2]=(c[x>>2]|0)+1}W=c[u>>2]|0;i=X;return W|0}function oB(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;g=k;h=k+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 133:case 132:case 97:case 134:{c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else e=0;else e=1;c[j>>2]=e&1;j=c[j>>2]|0;i=k;return j|0}default:{c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}}return 0}function pB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;a=(XA(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;if(!a){c[e>>2]=b;g=c[e>>2]|0;i=h;return g|0}if((d[b>>0]|0|0)!=119?(d[(c[f>>2]|0)+38>>0]|0|0)!=119:0){c[e>>2]=c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;i=h;return g|0}c[e>>2]=c[(c[(c[c[(c[f>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;i=h;return g|0}function qB(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m+28|0;b=m+24|0;l=m+20|0;h=m+16|0;f=m+12|0;j=m+8|0;e=m+4|0;g=m;c[b>>2]=a;do if(c[(c[b>>2]|0)+4>>2]&2048){if(c[(c[b>>2]|0)+4>>2]&32){c[k>>2]=0;break}c[l>>2]=c[(c[b>>2]|0)+20>>2];if(c[(c[l>>2]|0)+48>>2]|0){c[k>>2]=0;break}if(c[(c[l>>2]|0)+8>>2]&9){c[k>>2]=0;break}if(c[(c[l>>2]|0)+56>>2]|0){c[k>>2]=0;break}if(c[(c[l>>2]|0)+32>>2]|0){c[k>>2]=0;break}c[h>>2]=c[(c[l>>2]|0)+28>>2];if((c[c[h>>2]>>2]|0)!=1){c[k>>2]=0;break}if(c[(c[h>>2]|0)+8+20>>2]|0){c[k>>2]=0;break}c[j>>2]=c[(c[h>>2]|0)+8+16>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16){c[k>>2]=0;break}c[f>>2]=c[c[l>>2]>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[f>>2]>>2]|0)){b=24;break}c[g>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[e>>2]|0)*20|0)>>2];if((d[c[g>>2]>>0]|0|0)!=152){b=22;break}c[e>>2]=(c[e>>2]|0)+1}if((b|0)==22){c[k>>2]=0;break}else if((b|0)==24){c[k>>2]=c[l>>2];break}}else c[k>>2]=0;while(0);i=m;return c[k>>2]|0}function rB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+6|0;j=h;f=h+5|0;g=h+4|0;c[j>>2]=b;a[f>>0]=d;a[g>>0]=ey(c[j>>2]|0)|0;if((a[g>>0]|0)!=0?(a[f>>0]|0)!=0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}a[e>>0]=67;j=a[e>>0]|0;i=h;return j|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);j=a[e>>0]|0;i=h;return j|0}else{a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}return 0}function sB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256){c[h>>2]=fy(c[e>>2]|0,c[f>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&256|0)!=0:0){c[h>>2]=fy(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}c[h>>2]=fy(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){d=c[h>>2]|0;i=j;return d|0}c[h>>2]=fy(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}function tB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;ix(c[g>>2]|0,76,0,c[h>>2]|0)|0;c[f>>2]=Sz(c[g>>2]|0,57,c[j>>2]|0)|0;jx(c[g>>2]|0,96,c[j>>2]|0,0,c[h>>2]|0)|0;Jh(c[g>>2]|0,-128);Zz(c[g>>2]|0,c[f>>2]|0);i=e;return}function uB(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=$A(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function vB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function wB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[j>>2]=f;a[k>>0]=g;c[l>>2]=c[(c[h>>2]|0)+80>>2];c[o>>2]=Iy(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[l>>2]=Tv(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;if(!(c[l>>2]|0)){g=c[l>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=g;i=n;return}c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+(((c[c[l>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[j>>2];g=(c[m>>2]|0)+13|0;a[g>>0]=a[g>>0]&-5|((d[k>>0]|0)&1)<<2&255;g=c[l>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=g;i=n;return}function xB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;j=h+36|0;l=h+32|0;k=h+28|0;g=h;c[j>>2]=b;c[l>>2]=e;c[k>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[l>>2];c[g+4>>2]=197;c[g+8>>2]=198;c[g+24>>2]=c[k>>2];wy(g,c[j>>2]|0)|0;i=h;return d[g+20>>0]|0|0}function yB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+8|0;g=k+4|0;h=k;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?(c[(c[h>>2]|0)+4>>2]&1|0)!=0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else j=4;a:do if((j|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 55:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);i=k;return c[f>>2]|0}function zB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;i=e;return 2}function AB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=ey(c[k>>2]|0)|0;d=(rB(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=d|c[h>>2]&255;i=g;return a[f>>0]|0}function BB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=xB(c[d>>2]|0,2,0)|0;i=b;return a|0}function CB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((d[c[f>>2]>>0]|0|0)!=119){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=dB(c[e>>2]|0,c[f>>2]|0,0,0)|0;g=c[g>>2]|0;i=h;return g|0}function DB(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;l=s+24|0;m=s+20|0;k=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;r=s+28|0;c[m>>2]=b;c[k>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;a[r>>0]=a[c[k>>2]>>0]|0;if((d[r>>0]|0|0)==157){r=pB(c[k>>2]|0,c[n>>2]|0)|0;c[c[p>>2]>>2]=r;c[l>>2]=(c[(c[k>>2]|0)+28>>2]|0)+(c[n>>2]|0);r=c[l>>2]|0;i=s;return r|0}b=c[n>>2]|0;f=(c[k>>2]|0)+20|0;if((d[r>>0]|0|0)==119){c[c[p>>2]>>2]=c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+(b*20|0)>>2];c[l>>2]=(c[o>>2]|0)+(c[n>>2]|0);r=c[l>>2]|0;i=s;return r|0}else{c[c[p>>2]>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*20|0)>>2];c[l>>2]=ZA(c[m>>2]|0,c[c[p>>2]>>2]|0,c[q>>2]|0)|0;r=c[l>>2]|0;i=s;return r|0}return 0}function EB(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=Vw(QA(c[k>>2]|0)|0,8,0)|0;if(c[r>>2]|0){h=c[r>>2]|0;j=c[p>>2]|0;a[h>>0]=a[j>>0]|0;a[h+1>>0]=a[j+1>>0]|0;a[h+2>>0]=a[j+2>>0]|0;a[h+3>>0]=a[j+3>>0]|0;a[h+4>>0]=a[j+4>>0]|0;a[h+5>>0]=a[j+5>>0]|0;a[h+6>>0]=a[j+6>>0]|0;a[h+7>>0]=a[j+7>>0]|0}h=mx(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;i=s;return h|0}function FB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[j>>2]=(c[f>>2]|0)+152;while(1){if((c[h>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;if((c[(c[j>>2]|0)+12>>2]|0)==(c[g>>2]|0))a[(c[j>>2]|0)+6>>0]=0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}i=k;return}function GB(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if((e[(c[c[k>>2]>>2]|0)+64>>1]|0)&2){i=s;return}if((d[(c[k>>2]|0)+25>>0]|0|0)>=10){c[q>>2]=2147483647;c[p>>2]=-1;c[o>>2]=0;c[r>>2]=(c[k>>2]|0)+152;while(1){if((c[o>>2]|0)>=10)break;if((c[(c[r>>2]|0)+16>>2]|0)<(c[q>>2]|0)){c[p>>2]=c[o>>2];c[q>>2]=c[(c[r>>2]|0)+16>>2]}c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+20}c[r>>2]=(c[k>>2]|0)+152+((c[p>>2]|0)*20|0)}else{q=(c[k>>2]|0)+25|0;f=a[q>>0]|0;a[q>>0]=f+1<<24>>24;c[r>>2]=(c[k>>2]|0)+152+((f&255)*20|0)}c[(c[r>>2]|0)+8>>2]=c[(c[k>>2]|0)+64>>2];c[c[r>>2]>>2]=c[l>>2];b[(c[r>>2]|0)+4>>1]=c[m>>2];c[(c[r>>2]|0)+12>>2]=c[n>>2];a[(c[r>>2]|0)+6>>0]=0;q=(c[k>>2]|0)+68|0;f=c[q>>2]|0;c[q>>2]=f+1;c[(c[r>>2]|0)+16>>2]=f;i=s;return}function HB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){f=7;break}c[j>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(ig(c[j>>2]|0,c[f>>2]|0)|0):0){f=5;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==5){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==7){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function IB(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[c[l>>2]>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[l>>2];e=JB(v,c[p>>2]|0)|0;c[t>>2]=e;do if((0==(e|0)?(e=JB(v,c[q>>2]|0)|0,c[t>>2]=e,0==(e|0)):0)?(e=JB(v,c[r>>2]|0)|0,c[t>>2]=e,0==(e|0)):0){if(c[o>>2]|0){if((d[c[o>>2]>>0]|0)==97)c[x>>2]=c[(c[o>>2]|0)+8>>2];else c[x>>2]=0;c[t>>2]=ax(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,0,0)|0;if(c[t>>2]|0)break}c[w>>2]=dx(c[l>>2]|0)|0;c[u>>2]=CA(c[l>>2]|0,4)|0;RA(c[l>>2]|0,c[p>>2]|0,c[u>>2]|0);RA(c[l>>2]|0,c[q>>2]|0,(c[u>>2]|0)+1|0);RA(c[l>>2]|0,c[r>>2]|0,(c[u>>2]|0)+2|0);if(c[w>>2]|0){mx(c[w>>2]|0,89,0,(c[u>>2]|0)+3-(a[c[n>>2]>>0]|0)|0,(c[u>>2]|0)+3|0,c[n>>2]|0,-5)|0;Jh(c[w>>2]|0,a[c[n>>2]>>0]|0);Sz(c[w>>2]|0,150,(c[m>>2]|0)==24&1)|0}}while(0);iv(c[s>>2]|0,c[p>>2]|0);iv(c[s>>2]|0,c[q>>2]|0);iv(c[s>>2]|0,c[r>>2]|0);i=y;return}function JB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=55){c[h>>2]=Ay(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);i=j;return c[h>>2]|0}function KB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+192|0;n=q+24|0;m=q+16|0;l=q+8|0;k=q;f=q+52|0;r=q+44|0;p=q+40|0;g=q+36|0;h=q+32|0;j=q+28|0;o=q+56|0;c[f>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[p>>2]=$d(c[c[r>>2]>>2]|0)|0;c[g>>2]=ve(c[f>>2]|0)|0;c[j>>2]=0;if(!(c[p>>2]|0))c[p>>2]=18402;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[c[j>>2]>>2]|0,c[p>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}do if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[k>>2]=c[p>>2];Qd(128,o,31331,k)|0}else{if((c[h>>2]|0)<2){c[l>>2]=c[p>>2];Qd(128,o,31352,l)|0;break}if(!(a[(c[g>>2]|0)+67>>0]|0)){Qd(128,o,31378,m)|0;break}if((og(c[(c[j>>2]|0)+4>>2]|0)|0)==0?(qu(c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){LB(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+12>>2]=0;MB(c[g>>2]|0);i=q;return}c[n>>2]=c[p>>2];Qd(128,o,31420,n)|0}while(0);ie(c[f>>2]|0,o,-1);i=q;return}function LB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];mg(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;NB(c[g>>2]|0)|0}Pg(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(OB(c[e>>2]|0)|0)==0:0)){hr(c[c[e>>2]>>2]|0)|0;if((c[(c[e>>2]|0)+52>>2]|0)!=0?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)Qb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Tf(0,c[(c[e>>2]|0)+48>>2]|0);Ui(c[e>>2]|0);Kd(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;Kd(g);i=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;Kd(g);i=h;return 0}function MB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Tf(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){i=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+392|0)){i=g;return}h=(c[b>>2]|0)+392|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Tf(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+392;i=g;return}function NB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];if(!(c[g>>2]|0)){i=j;return 0}c[f>>2]=c[(c[d>>2]|0)+4>>2];mg(c[g>>2]|0);PB(c[d>>2]|0);a:do if((c[(c[f>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;QB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}RB(c[f>>2]|0);Kd(c[(c[d>>2]|0)+12>>2]|0);i=j;return 0}function OB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;i=g;return f|0}if((c[1006]|0)!=(c[d>>2]|0)){c[e>>2]=c[1006];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[1006]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}function PB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Kd(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;i=d;return}function QB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}SB(c[b>>2]|0);i=d;return}function RB(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0){i=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;SB(c[e>>2]|0);i=f;return}function SB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Js(c[(c[d>>2]|0)+72>>2]|0);i=b;return}function TB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;k=E+16|0;j=E+8|0;h=E;n=E+116|0;F=E+108|0;g=E+104|0;u=E+100|0;p=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;q=E+76|0;o=E+72|0;A=E+68|0;t=E+64|0;l=E+60|0;s=E+56|0;r=E+52|0;c[n>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[u>>2]=0;c[p>>2]=ve(c[n>>2]|0)|0;c[D>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=$d(c[c[F>>2]>>2]|0)|0;c[C>>2]=$d(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[B>>2]|0))c[B>>2]=18402;if(!(c[C>>2]|0))c[C>>2]=18402;e=c[p>>2]|0;do if((c[(c[p>>2]|0)+20>>2]|0)<((c[(c[p>>2]|0)+96+28>>2]|0)+2|0)){if(!(a[e+67>>0]|0)){c[A>>2]=Gh(c[p>>2]|0,31493,j)|0;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!(ig(c[l>>2]|0,c[C>>2]|0)|0)){m=12;break}c[g>>2]=(c[g>>2]|0)+1}if((m|0)==12){F=c[p>>2]|0;c[k>>2]=c[C>>2];c[A>>2]=Gh(F,31535,k)|0;break}e=c[p>>2]|0;do if((c[(c[p>>2]|0)+16>>2]|0)==((c[p>>2]|0)+392|0)){c[o>>2]=Vw(e,48,0)|0;if(!(c[o>>2]|0)){i=E;return}else{F=c[o>>2]|0;m=c[(c[p>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[o>>2]=Uw(e,c[(c[p>>2]|0)+16>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[o>>2]|0)){i=E;return}}while(0);c[(c[p>>2]|0)+16>>2]=c[o>>2];c[o>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+20>>2]<<4);F=c[o>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[p>>2]|0)+48>>2];c[u>>2]=ak(c[(c[c[p>>2]>>2]|0)+16>>2]|0,c[B>>2]|0,q,t,D,z)|0;if(c[u>>2]|0){if((c[u>>2]|0)==7)mh(c[p>>2]|0);ie(c[n>>2]|0,c[z>>2]|0,-1);Kd(c[z>>2]|0);i=E;return}c[q>>2]=c[q>>2]|256;c[u>>2]=bk(c[t>>2]|0,c[D>>2]|0,c[p>>2]|0,(c[o>>2]|0)+4|0,0,c[q>>2]|0)|0;Kd(c[D>>2]|0);F=(c[p>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[u>>2]|0)!=19){if(!(c[u>>2]|0)){F=ck(c[p>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=F;if(c[(c[o>>2]|0)+12>>2]|0){if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[p>>2]|0)+66>>0]|0):0){c[A>>2]=Gh(c[p>>2]|0,20016,y)|0;c[u>>2]=1}}else c[u>>2]=7;mg(c[(c[o>>2]|0)+4>>2]|0);c[s>>2]=Pf(c[(c[o>>2]|0)+4>>2]|0)|0;UB(c[s>>2]|0,d[(c[p>>2]|0)+71>>0]|0)|0;F=c[(c[o>>2]|0)+4>>2]|0;VB(F,VB(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;WB(c[(c[o>>2]|0)+4>>2]|0,3|c[(c[p>>2]|0)+24>>2]&56)|0}}else{c[u>>2]=1;c[A>>2]=Gh(c[p>>2]|0,31565,x)|0}a[(c[o>>2]|0)+8>>0]=3;F=qh(c[p>>2]|0,c[C>>2]|0)|0;c[c[o>>2]>>2]=F;if((c[u>>2]|0)==0?(c[c[o>>2]>>2]|0)==0:0)c[u>>2]=7;if(!(c[u>>2]|0)){Of(c[p>>2]|0);c[u>>2]=si(c[p>>2]|0,A)|0}if(!(c[u>>2]|0)){i=E;return}c[r>>2]=(c[(c[p>>2]|0)+20>>2]|0)-1;if(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0){LB(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0)|0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]=0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]=0}Cg(c[p>>2]|0);c[(c[p>>2]|0)+20>>2]=c[r>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082){mh(c[p>>2]|0);Tf(c[p>>2]|0,c[A>>2]|0);c[A>>2]=Gh(c[p>>2]|0,25016,v)|0;break}if(!(c[A>>2]|0)){F=c[p>>2]|0;c[w>>2]=c[B>>2];c[A>>2]=Gh(F,31594,w)|0}}else{c[h>>2]=c[(c[p>>2]|0)+96+28>>2];c[A>>2]=Gh(e,31456,h)|0}while(0);if(c[A>>2]|0){ie(c[n>>2]|0,c[A>>2]|0,-1);Tf(c[p>>2]|0,c[A>>2]|0)}if(!(c[u>>2]|0)){i=E;return}qe(c[n>>2]|0,c[u>>2]|0);i=E;return}function UB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(YB(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];i=h;return d[(c[f>>2]|0)+4>>0]|0}function VB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}mg(c[g>>2]|0);if((c[h>>2]|0)>=0?(a=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[h>>2]|0)!=0):0){a=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[j>>2];a=c[f>>2]|0;i=k;return a|0}function WB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);XB(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function XB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;a[(c[g>>2]|0)+9>>0]=0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;a[(c[g>>2]|0)+9>>0]=(c[f>>2]|0)==4?1:0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[h>>2]&8){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}e=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;f=(c[g>>2]|0)+10|0;if(e){a[f>>0]=3;break}else{a[f>>0]=2;break}}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(a[(c[g>>2]|0)+8>>0]|0){e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32}f=(c[g>>2]|0)+21|0;b=d[f>>0]|0;if(c[h>>2]&32){a[f>>0]=b&-2;i=j;return}else{a[f>>0]=b|1;i=j;return}}function YB(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+43>>0]|0|0)==2;a=a&1;i=e;return a|0}function ZB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=(ig(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;sx(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=j;return}function _B(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;l=o;d=o+44|0;e=o+40|0;j=o+36|0;k=o+32|0;g=o+28|0;h=o+24|0;f=o+20|0;m=o+16|0;n=o+12|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[d>>2]>>2];c[h>>2]=Fh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[j>>2]=$B(c[e>>2]|0)|0;c[f>>2]=16;c[m>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[n>>2]=(c[h>>2]|0)==1?19905:19924;if((c[h>>2]|0)==1)c[f>>2]=14;if(ax(c[d>>2]|0,c[f>>2]|0,c[c[e>>2]>>2]|0,c[c[j>>2]>>2]|0,c[m>>2]|0)|0){i=o;return}if(ax(c[d>>2]|0,9,c[n>>2]|0,0,c[m>>2]|0)|0){i=o;return}n=dx(c[d>>2]|0)|0;c[k>>2]=n;if(!n){i=o;return}n=c[d>>2]|0;b=(c[h>>2]|0)==1?19905:19924;m=c[c[e>>2]>>2]|0;c[l>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[l+4>>2]=b;c[l+8>>2]=m;cx(n,31642,l);ex(c[d>>2]|0,c[h>>2]|0);mx(c[k>>2]|0,140,c[h>>2]|0,0,0,c[c[e>>2]>>2]|0,0)|0;i=o;return}function $B(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=sj((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function aC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+16|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=sh(c[l>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=(c[h>>2]|0)+36;TR(c[j>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Zw(c[j>>2]|0);c[(c[h>>2]|0)+12>>2]=c[j>>2];a[c[h>>2]>>0]=a[f>>0]|0;l=c[h>>2]|0;i=k;return l|0}function bC(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=d;c[f>>2]=(c[j>>2]|0)+8;c[g>>2]=px(c[e>>2]|0,0,c[f>>2]|0)|0;Rf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){j=(c[g>>2]|0)+36|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(pz(c[e>>2]|0,c[f>>2]|0)|0)){j=c[g>>2]|0;i=h;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function cC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function dC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;k=l;g=l+32|0;h=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[j>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){d=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[(c[j>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0:0){d=8;break}Tf(c[c[c[h>>2]>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(eC(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0){d=11;break}if(fC(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0)|0){d=13;break}c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+72}if((d|0)==8){f=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;j=c[(c[j>>2]|0)+4>>2]|0;c[k>>2]=c[(c[h>>2]|0)+16>>2];c[k+4>>2]=b;c[k+8>>2]=j;Eh(f,31940,k);c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==13){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==15){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function eC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=20;break}if(gC(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){d=4;break}if(dC(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0){d=6;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){d=8;break}if(gC(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){d=10;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){d=12;break}if(gC(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){d=14;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0)|0){d=16;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){d=18;break}c[e>>2]=c[(c[e>>2]|0)+48>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=1;else if((d|0)==12)c[f>>2]=1;else if((d|0)==14)c[f>>2]=1;else if((d|0)==16)c[f>>2]=1;else if((d|0)==18)c[f>>2]=1;else if((d|0)==20)c[f>>2]=0;i=g;return c[f>>2]|0}function fC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+12|0;h=k+8|0;f=k+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){e=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+148+5>>0]|0)){e=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&8404992){e=16;break}e=c[h>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(eC(e,c[b>>2]|0)|0){e=10;break}}else if(gC(e,c[b>>2]|0)|0){e=12;break}if(fC(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){e=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((e|0)==6){f=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];Eh(f,31986,j);c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==10){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==12){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==14){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==16){c[g>>2]=0;j=c[g>>2]|0;i=k;return j|0}return 0}function gC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if(fC(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){d=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function hC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=10;break}if(eC(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){d=4;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){d=6;break}if(gC(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){d=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=0;i=g;return c[f>>2]|0}function iC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33|32;i=d;return}function jC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=h;return}hx(c[e>>2]|0,1,c[g>>2]|0)|0;kC(c[e>>2]|0,c[f>>2]|0);ix(c[e>>2]|0,87,1,1)|0;i=h;return}function kC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;yC(c[f>>2]|0,1,e);i=d;return}function lC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;EB(c[g>>2]|0,77,0,1,0,j,-13)|0;kC(c[g>>2]|0,c[h>>2]|0);ix(c[g>>2]|0,87,1,1)|0;i=f;return}function mC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;f=h+16|0;k=h+12|0;g=h+4|0;j=h;c[f>>2]=a;c[k>>2]=d;c[j>>2]=c[c[f>>2]>>2];OC(c[(c[f>>2]|0)+100>>2]|0,(e[(c[f>>2]|0)+140>>1]|0)<<1);Tf(c[j>>2]|0,c[(c[f>>2]|0)+100>>2]|0);c[g>>2]=c[k>>2]<<1;b[(c[f>>2]|0)+140>>1]=c[k>>2];a=Vw(c[j>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h+8>>2]=a;c[(c[f>>2]|0)+100>>2]=a;if(!(c[(c[f>>2]|0)+100>>2]|0)){i=h;return}PC(c[(c[f>>2]|0)+100>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,1);i=h;return}function nC(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;q=r+4|0;p=r;c[k>>2]=b;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(a[(c[c[k>>2]>>2]|0)+69>>0]|0){c[j>>2]=7;g=c[j>>2]|0;i=r;return g|0}else{g=(c[l>>2]|0)+(_(c[m>>2]|0,e[(c[k>>2]|0)+140>>1]|0)|0)|0;c[p>>2]=(c[(c[k>>2]|0)+100>>2]|0)+(g*40|0);c[q>>2]=gh(c[p>>2]|0,c[n>>2]|0,-1,1,c[o>>2]|0)|0;c[j>>2]=c[q>>2];g=c[j>>2]|0;i=r;return g|0}return 0}function oC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(ig(c[d>>2]|0,32192)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,32185)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;i=f;return c[b>>2]|0}function pC(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[5420+(c[d>>2]<<2)>>2];i=e;return c[b>>2]|0}function qC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;a=f;d=c[a+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[a>>2]|0)>>>0>=4294967295){b=f;d=c[b+4>>2]|0;a=(c[e>>2]|0)+168|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=f;NC(c[(c[e>>2]|0)+216>>2]|0,c[a>>2]|0,c[a+4>>2]|0)}a=(c[e>>2]|0)+168|0;C=c[a+4>>2]|0;i=g;return c[a>>2]|0}function rC(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;mg(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){b=0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function sC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(ig(c[d>>2]|0,33263)|0){if(!(ig(c[d>>2]|0,32707)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,33268)|0)){c[b>>2]=2;break}else{c[e>>2]=Pi(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function tC(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;l=k+12|0;m=k+8|0;h=k+4|0;j=k;g=k+16|0;c[l>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;a[g>>0]=c[m>>2];mg(c[l>>2]|0);if(((e[(c[h>>2]|0)+22>>1]|0)&2|0)!=0?(((d[g>>0]|0|0)!=0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[j>>2]=8;m=c[j>>2]|0;i=k;return m|0}a[(c[h>>2]|0)+17>>0]=(d[g>>0]|0|0)!=0?1:0;a[(c[h>>2]|0)+18>>0]=(d[g>>0]|0|0)==2?1:0;m=c[j>>2]|0;i=k;return m|0}function uC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=LC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function vC(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+67>>0]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[f>>2]|0;c[f>>2]=b+-1;if((b|0)<=0)break;if(c[(c[g>>2]|0)+4>>2]|0)WB(c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[g>>2]=(c[g>>2]|0)+16}i=h;return}function wC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[g>>2]=b;c[l>>2]=e;c[j>>2]=KC(c[l>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+68>>0]|0|0)==(c[j>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}if(xC(c[g>>2]|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{a[(c[h>>2]|0)+68>>0]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}return 0}function xC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if((a[(c[f>>2]|0)+67>>0]|0)!=0?(og(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){LB(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;Cg(c[f>>2]|0);break}Eh(c[e>>2]|0,33201,g);c[d>>2]=1;g=c[d>>2]|0;i=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function yC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;mC(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;nC(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}i=j;return}function zC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+32|0;h=o+28|0;j=o+24|0;k=o+8|0;m=o+4|0;l=o+36|0;n=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){e=a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0;a[l>>0]=e;if(!(e<<24>>24))break;if((a[l>>0]|0)==115){f=(c[k>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[k>>2]=f+4;c[n>>2]=b;b=c[g>>2]|0;f=(c[n>>2]|0)==0?79:97;e=c[h>>2]|0;c[h>>2]=e+1;mx(b,f,0,e,0,c[n>>2]|0,0)|0}else{b=c[g>>2]|0;e=(c[k>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[k>>2]=e+4;e=c[h>>2]|0;c[h>>2]=e+1;ix(b,76,f,e)|0}c[m>>2]=(c[m>>2]|0)+1}i=o;return}function AC(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=33011;break}case 8:{c[e>>2]=33020;break}case 9:{c[e>>2]=33032;break}case 6:{c[e>>2]=33040;break}default:c[e>>2]=33049}i=f;return c[e>>2]|0}function BC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;y=D;l=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;x=D+40|0;r=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[x>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[o>>2]|0)+20>>2];c[B>>2]=c[(c[o>>2]|0)+36+4>>2];do if((c[w>>2]|0)==1){if((b[(c[n>>2]|0)+32>>1]|0)>=0){if(!(c[B>>2]|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(ig(c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[n>>2]|0)+32>>1]<<4)>>2]|0,c[B>>2]|0)|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}}}else if(c[q>>2]|0){c[r>>2]=Vw(c[c[m>>2]>>2]|0,c[w>>2]<<2,0)|0;if(c[r>>2]|0){c[c[q>>2]>>2]=c[r>>2];break}c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}while(0);c[x>>2]=c[(c[n>>2]|0)+8>>2];a:while(1){if(!(c[x>>2]|0))break;do if((e[(c[x>>2]|0)+50>>1]|0)==(c[w>>2]|0)?(d[(c[x>>2]|0)+54>>0]|0)!=0:0){if(!(c[B>>2]|0))if((a[(c[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;b[u>>1]=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;if((b[u>>1]|0)<0)break;j=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+8>>2]|0;c[z>>2]=j;c[z>>2]=(c[z>>2]|0)!=0?j:34834;if(ig(c[(c[(c[x>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]|0,c[z>>2]|0)|0)break;c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;if(!(ig(c[(c[o>>2]|0)+36+(c[v>>2]<<3)+4>>2]|0,c[A>>2]|0)|0)){C=28;break}c[v>>2]=(c[v>>2]|0)+1}if((C|0)==28?(C=0,(c[r>>2]|0)!=0):0)c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[v>>2]<<3)>>2];if((c[v>>2]|0)==(c[w>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(c[w>>2]|0))break a}while(0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}b:do if((C|0)==17?(c[r>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break b;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[s>>2]<<3)>>2];c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[x>>2]|0){c[c[p>>2]>>2]=c[x>>2];c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(a[(c[m>>2]|0)+150>>0]|0)){C=c[m>>2]|0;B=c[(c[o>>2]|0)+8>>2]|0;c[y>>2]=c[c[c[o>>2]>>2]>>2];c[y+4>>2]=B;Eh(C,32948,y)}Tf(c[c[m>>2]>>2]|0,c[r>>2]|0);c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}function CC(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;g=o+12|0;j=o+8|0;l=o+4|0;m=o;n=o+20|0;k=o+22|0;c[g>>2]=d;c[j>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+12>>2];f=(e[(c[j>>2]|0)+52>>1]|0)+1|0;f=Ch(0,f,((f|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+16>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){mh(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[l>>2]=0;while(1){g=c[l>>2]|0;d=c[j>>2]|0;if((c[l>>2]|0)>=(e[(c[j>>2]|0)+52>>1]|0))break;b[n>>1]=b[(c[d+4>>2]|0)+(g<<1)>>1]|0;g=b[n>>1]|0;do if((b[n>>1]|0)<0){d=c[l>>2]|0;f=c[j>>2]|0;if((g|0)==-1){a[(c[f+16>>2]|0)+d>>0]=68;break}else{f=ey(c[(c[(c[f+40>>2]|0)+4>>2]|0)+(d*20|0)>>2]|0)|0;a[k>>0]=f;a[k>>0]=(a[k>>0]|0)==0?65:f;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[k>>0]|0;break}}else a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[m>>2]|0)+4>>2]|0)+(g<<4)+13>>0]|0;while(0);c[l>>2]=(c[l>>2]|0)+1}a[(c[d+16>>2]|0)+g>>0]=0}c[h>>2]=c[(c[j>>2]|0)+16>>2];n=c[h>>2]|0;i=o;return n|0}function DC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=32856;else c[f>>2]=18398;ji(c[d>>2]|0,32860,2,1,c[f>>2]|0,212,0,0,0)|0;ji(c[d>>2]|0,32860,3,1,c[f>>2]|0,212,0,0,0)|0;ji(c[d>>2]|0,32865,2,1,18394,212,0,0,0)|0;IC(c[d>>2]|0,32865,12);IC(c[d>>2]|0,32860,((c[e>>2]|0)!=0?12:4)&255);i=g;return}function EC(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(d[(c[e>>2]|0)+25>>0]|0|0))break;if((d[(c[e>>2]|0)+152+((c[f>>2]|0)*20|0)+6>>0]|0|0)!=0?(d[(c[e>>2]|0)+19>>0]|0|0)<8:0){h=c[(c[e>>2]|0)+152+((c[f>>2]|0)*20|0)+12>>2]|0;j=(c[e>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[e>>2]|0)+352+((b&255)<<2)>>2]=h}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+25>>0]=0;i=g;return}function FC(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+64|0;p=C+52|0;q=C+48|0;r=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;m=C+24|0;x=C+20|0;y=C+16|0;n=C+12|0;A=C+8|0;B=C+4|0;z=C;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;a[t>>0]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[m>>2]=l;if((d[(c[r>>2]|0)+42>>0]|0)&16){c[p>>2]=0;B=c[p>>2]|0;i=C;return B|0}c[y>>2]=Fh(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0;c[B>>2]=dx(c[q>>2]|0)|0;if((c[u>>2]|0)<0)c[u>>2]=c[(c[q>>2]|0)+40>>2];l=c[u>>2]|0;c[u>>2]=l+1;c[n>>2]=l;if(c[w>>2]|0)c[c[w>>2]>>2]=c[n>>2];do if(!((d[(c[r>>2]|0)+42>>0]|0)&32)){if((c[v>>2]|0)!=0?(d[c[v>>2]>>0]|0|0)==0:0){o=11;break}Uz(c[q>>2]|0,c[n>>2]|0,c[y>>2]|0,c[r>>2]|0,c[s>>2]|0)}else o=11;while(0);if((o|0)==11)Tz(c[q>>2]|0,c[y>>2]|0,c[(c[r>>2]|0)+28>>2]|0,(c[s>>2]|0)==105&255,c[c[r>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[u>>2];c[x>>2]=0;c[A>>2]=c[(c[r>>2]|0)+8>>2];while(1){m=c[u>>2]|0;if(!(c[A>>2]|0))break;c[u>>2]=m+1;c[z>>2]=m;if((a[(c[A>>2]|0)+55>>0]&3|0)==2?((d[(c[r>>2]|0)+42>>0]|0)&32|0)!=0:0){if(c[w>>2]|0)c[c[w>>2]>>2]=c[z>>2];a[t>>0]=0}if(!((c[v>>2]|0)!=0?(d[(c[v>>2]|0)+((c[x>>2]|0)+1)>>0]|0|0)==0:0)){jx(c[B>>2]|0,c[s>>2]|0,c[z>>2]|0,c[(c[A>>2]|0)+44>>2]|0,c[y>>2]|0)|0;Vz(c[q>>2]|0,c[A>>2]|0);Jh(c[B>>2]|0,a[t>>0]|0)}c[A>>2]=c[(c[A>>2]|0)+20>>2];c[x>>2]=(c[x>>2]|0)+1}if((m|0)>(c[(c[q>>2]|0)+40>>2]|0))c[(c[q>>2]|0)+40>>2]=c[u>>2];c[p>>2]=c[x>>2];B=c[p>>2]|0;i=C;return B|0}function GC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33;i=d;return}function HC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;l=o+24|0;m=o+20|0;j=o+16|0;q=o+12|0;p=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=ve(c[f>>2]|0)|0;c[k>>2]=ue(c[f>>2]|0)|0;c[m>>2]=$d(c[c[h>>2]>>2]|0)|0;c[l>>2]=$d(c[(c[h>>2]|0)+4>>2]|0)|0;c[q>>2]=ae(c[c[h>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+96+32>>2]|0)){ie(c[f>>2]|0,32870,-1);i=o;return}do if((c[g>>2]|0)==3){c[n>>2]=$d(c[(c[h>>2]|0)+8>>2]|0)|0;if(!(c[n>>2]|0)){i=o;return}if((Wx(c[n>>2]|0,-1)|0)==1){c[j>>2]=JC(n)|0;break}ie(c[f>>2]|0,32903,-1);i=o;return}else c[j>>2]=d[(c[k>>2]|0)+2>>0];while(0);if(!((c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){i=o;return}q=c[f>>2]|0;je(q,Th(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0);i=o;return}function IC(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;n=l+8|0;m=l+4|0;j=l+12|0;k=l;c[n>>2]=f;c[m>>2]=g;a[j>>0]=h;c[k>>2]=ki(c[n>>2]|0,c[m>>2]|0,2,1,0)|0;if(!(c[k>>2]|0)){i=l;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[j>>0]|0);i=l;return}function JC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=f;return g|0}c[e>>2]=d[25563+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=f;return h|0}function KC(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(ig(c[e>>2]|0,33105)|0)){c[d>>2]=1;break}if(!(ig(c[e>>2]|0,26159)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);i=g;return c[d>>2]|0}function LC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=MC(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function MC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){b=c[e>>2]|0;b=aS(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;a=_R(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;c[e>>2]=a}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=cj(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;i=g;return f|0}function NC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function OC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){i=k;return}c[j>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[h>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[h>>2]|0)+456>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}do{f=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312)){if(c[f+24>>2]|0){Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else Xg(f);b[(c[g>>2]|0)+8>>1]=128;a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}function PC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l;k=l+12|0;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;b[k>>1]=f;while(1){a=c[h>>2]|0;c[h>>2]=a+-1;if((a|0)<=0)break;c[(c[g>>2]|0)+32>>2]=c[j>>2];b[(c[g>>2]|0)+8>>1]=b[k>>1]|0;c[(c[g>>2]|0)+24>>2]=0;c[g>>2]=(c[g>>2]|0)+40}i=l;return}function QC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;l=o+8|0;k=o;f=o+44|0;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;n=o+48|0;c[f>>2]=a;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[k>>2]=c[j>>2];Qd(24,n,34141,k)|0;if(ti(c[c[f>>2]>>2]|0,n,c[m>>2]|0)|0){p=c[f>>2]|0;e=c[g>>2]|0;d=c[h>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=n;c[l+8>>2]=e;c[l+12>>2]=d;cx(p,30938,l)}c[j>>2]=(c[j>>2]|0)+1}i=o;return}function RC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=dx(c[g>>2]|0)|0;c[f>>2]=vx(c[g>>2]|0)|0;jx(c[k>>2]|0,130,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Vx(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?19905:19924;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;cx(a,34085,h);xx(c[g>>2]|0,c[f>>2]|0);i=e;return}function SC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;q=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[c[l>>2]>>2];do if(!(c[n>>2]&(c[n>>2]|0)-1)){c[p>>2]=(c[n>>2]|0)==0?1:c[n>>2]<<1;d=_(c[p>>2]|0,c[k>>2]|0)|0;c[o>>2]=Uw(c[h>>2]|0,c[j>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];break}c[c[m>>2]>>2]=-1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}while(0);c[q>>2]=c[j>>2];d=_(c[n>>2]|0,c[k>>2]|0)|0;VR((c[q>>2]|0)+d|0,0,c[k>>2]|0)|0;c[c[m>>2]>>2]=c[n>>2];q=c[l>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}function TC(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[p>>2]=0;if(c[(c[c[h>>2]>>2]|0)+24>>2]&16777216)c[p>>2]=zx(c[h>>2]|0,c[j>>2]|0)|0;c[o>>2]=c[p>>2];while(1){if(!(c[o>>2]|0))break;if((d[(c[o>>2]|0)+8>>0]|0|0)==(c[k>>2]|0)?(vG(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)c[n>>2]=c[n>>2]|(d[(c[o>>2]|0)+9>>0]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}if(!(c[m>>2]|0)){a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}c[c[m>>2]>>2]=c[n>>2];a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}function UC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(((d[(c[h>>2]|0)+42>>0]|0)&16|0)!=0?(c[(c[c[(Ux(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))m=3;do if((m|0)==3){if((((d[(c[h>>2]|0)+42>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[j>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;c[l>>2]=c[c[h>>2]>>2];Eh(m,35257,l);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];Eh(m,35228,k);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}function VC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-17|16;i=d;return}function WC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+128|0;u=O+108|0;v=O+104|0;w=O+100|0;l=O+96|0;r=O+92|0;x=O+88|0;z=O+84|0;n=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;o=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;q=O+20|0;K=O+16|0;L=O+12|0;m=O+8|0;p=O+4|0;G=O+112|0;N=O;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[r>>2]=j;c[x>>2]=k;c[z>>2]=c[c[v>>2]>>2];c[A>>2]=0;c[B>>2]=0;c[q>>2]=0;if(!(c[l>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[(c[v>>2]|0)+472>>2]|0)==0?(c[(c[l>>2]|0)+64>>2]|0)==0:0){if(zx(c[v>>2]|0,c[w>>2]|0)|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[r>>2]|0)==10){if((b[(c[w>>2]|0)+32>>1]|0)>=0)c[r>>2]=d[(c[w>>2]|0)+43>>0];if((c[r>>2]|0)==10)c[r>>2]=2}if((c[c[(c[l>>2]|0)+28>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[(c[l>>2]|0)+28>>2]|0)+8+20>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+32>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+44>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+36>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+56>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+48>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+8>>2]&1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[n>>2]=c[c[l>>2]>>2];if((c[c[n>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((d[c[c[(c[n>>2]|0)+4>>2]>>2]>>0]|0)!=160){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[o>>2]=(c[(c[l>>2]|0)+28>>2]|0)+8;c[I>>2]=px(c[v>>2]|0,0,c[o>>2]|0)|0;if(!(c[I>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[I>>2]|0)==(c[w>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[I>>2]|0)+42>>0]&32|0)==0|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[I>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[I>>2]|0)+12>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+34>>1]|0)!=(b[(c[I>>2]|0)+34>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+32>>1]|0)!=(b[(c[I>>2]|0)+32>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[C>>2]=0;a:while(1){if((c[C>>2]|0)>=(b[(c[w>>2]|0)+34>>1]|0)){l=64;break}c[m>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<4);c[p>>2]=(c[(c[I>>2]|0)+4>>2]|0)+(c[C>>2]<<4);if((a[(c[m>>2]|0)+13>>0]|0)!=(a[(c[p>>2]|0)+13>>0]|0)){l=52;break}if(Td(c[(c[m>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){l=54;break}if((d[(c[m>>2]|0)+12>>0]|0)!=0?(a[(c[p>>2]|0)+12>>0]|0)==0:0){l=57;break}do if((c[C>>2]|0)>0){if(((c[(c[m>>2]|0)+4>>2]|0)==0|0)!=((c[(c[p>>2]|0)+4>>2]|0)==0|0)){l=62;break a}if(!(c[(c[m>>2]|0)+4>>2]|0))break;if(hR(c[(c[(c[m>>2]|0)+4>>2]|0)+8>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+8>>2]|0)|0){l=62;break a}}while(0);c[C>>2]=(c[C>>2]|0)+1}if((l|0)==52){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==54){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==57){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==62){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==64){c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(d[(c[H>>2]|0)+54>>0]|0)c[q>>2]=1;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(xG(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}if(!(c[J>>2]|0)){l=73;break}c[H>>2]=c[(c[H>>2]|0)+20>>2]}if((l|0)==73){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}do if(c[(c[w>>2]|0)+24>>2]|0){if(!(Ly(c[(c[I>>2]|0)+24>>2]|0,c[(c[w>>2]|0)+24>>2]|0,-1)|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);do if(c[(c[z>>2]|0)+24>>2]&524288){if(!(c[(c[w>>2]|0)+16>>2]|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);if(c[(c[z>>2]|0)+24>>2]&128){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[D>>2]=Fh(c[z>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;c[M>>2]=dx(c[v>>2]|0)|0;sx(c[v>>2]|0,c[D>>2]|0);p=(c[v>>2]|0)+40|0;h=c[p>>2]|0;c[p>>2]=h+1;c[F>>2]=h;h=(c[v>>2]|0)+40|0;p=c[h>>2]|0;c[h>>2]=p+1;c[E>>2]=p;c[t>>2]=XC(c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[K>>2]=vx(c[v>>2]|0)|0;c[L>>2]=vx(c[v>>2]|0)|0;Uz(c[v>>2]|0,c[E>>2]|0,c[x>>2]|0,c[w>>2]|0,105);do if(!(c[(c[z>>2]|0)+24>>2]&268435456)){if((b[(c[w>>2]|0)+32>>1]|0)<0){if(!((c[q>>2]|0)!=0?1:(c[(c[w>>2]|0)+8>>2]|0)!=0))l=87}else if(!(c[q>>2]|0))l=87;if((l|0)==87?!((c[r>>2]|0)!=2&(c[r>>2]|0)!=1):0)break;c[y>>2]=ix(c[M>>2]|0,57,c[E>>2]|0,0)|0;c[A>>2]=fx(c[M>>2]|0,13)|0;Zz(c[M>>2]|0,c[y>>2]|0)}while(0);l=c[v>>2]|0;if(!(d[(c[I>>2]|0)+42>>0]&32)){Uz(l,c[F>>2]|0,c[D>>2]|0,c[I>>2]|0,104);c[B>>2]=ix(c[M>>2]|0,57,c[F>>2]|0,0)|0;do if((b[(c[w>>2]|0)+32>>1]|0)<0){l=c[M>>2]|0;if(!(c[(c[w>>2]|0)+8>>2]|0)){c[y>>2]=ix(l,114,c[E>>2]|0,c[L>>2]|0)|0;break}else{c[y>>2]=ix(l,123,c[F>>2]|0,c[L>>2]|0)|0;break}}else{c[y>>2]=ix(c[M>>2]|0,123,c[F>>2]|0,c[L>>2]|0)|0;c[s>>2]=jx(c[M>>2]|0,33,c[E>>2]|0,0,c[L>>2]|0)|0;kF(c[v>>2]|0,c[r>>2]|0,c[w>>2]|0);Zz(c[M>>2]|0,c[s>>2]|0);bD(c[v>>2]|0,c[t>>2]|0,c[L>>2]|0)}while(0);ix(c[M>>2]|0,122,c[F>>2]|0,c[K>>2]|0)|0;mx(c[M>>2]|0,115,c[E>>2]|0,c[K>>2]|0,c[L>>2]|0,c[w>>2]|0,-20)|0;Jh(c[M>>2]|0,11);ix(c[M>>2]|0,7,c[F>>2]|0,c[y>>2]|0)|0;ix(c[M>>2]|0,111,c[F>>2]|0,0)|0;ix(c[M>>2]|0,111,c[E>>2]|0,0)|0}else{Tz(l,c[x>>2]|0,c[(c[w>>2]|0)+28>>2]|0,1,c[c[w>>2]>>2]|0);Tz(c[v>>2]|0,c[D>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0)}c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;a[G>>0]=0;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(xG(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}jx(c[M>>2]|0,104,c[F>>2]|0,c[(c[J>>2]|0)+44>>2]|0,c[D>>2]|0)|0;Vz(c[v>>2]|0,c[J>>2]|0);jx(c[M>>2]|0,105,c[E>>2]|0,c[(c[H>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Vz(c[v>>2]|0,c[H>>2]|0);Jh(c[M>>2]|0,1);c[y>>2]=ix(c[M>>2]|0,57,c[F>>2]|0,0)|0;ix(c[M>>2]|0,121,c[F>>2]|0,c[K>>2]|0)|0;do if(c[(c[z>>2]|0)+24>>2]&268435456){c[C>>2]=0;while(1){if((c[C>>2]|0)>=(e[(c[J>>2]|0)+52>>1]|0))break;c[N>>2]=c[(c[(c[J>>2]|0)+32>>2]|0)+(c[C>>2]<<2)>>2];if(Td(34834,c[N>>2]|0)|0)break;c[C>>2]=(c[C>>2]|0)+1}if((c[C>>2]|0)!=(e[(c[J>>2]|0)+52>>1]|0))break;a[G>>0]=16;jx(c[M>>2]|0,53,c[E>>2]|0,0,-1)|0}while(0);do if(d[(c[I>>2]|0)+42>>0]&32){if((a[(c[H>>2]|0)+55>>0]&3|0)!=2)break;a[G>>0]=d[G>>0]|1}while(0);jx(c[M>>2]|0,126,c[E>>2]|0,c[K>>2]|0,1)|0;Jh(c[M>>2]|0,a[G>>0]|0);ix(c[M>>2]|0,7,c[F>>2]|0,(c[y>>2]|0)+1|0)|0;Zz(c[M>>2]|0,c[y>>2]|0);ix(c[M>>2]|0,111,c[F>>2]|0,0)|0;ix(c[M>>2]|0,111,c[E>>2]|0,0)|0;c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[B>>2]|0)Zz(c[M>>2]|0,c[B>>2]|0);xx(c[v>>2]|0,c[L>>2]|0);xx(c[v>>2]|0,c[K>>2]|0);if(c[A>>2]|0){hD(c[v>>2]|0);ix(c[M>>2]|0,75,0,0)|0;Zz(c[M>>2]|0,c[A>>2]|0);ix(c[M>>2]|0,111,c[E>>2]|0,0)|0;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else{c[u>>2]=1;N=c[u>>2]|0;i=O;return N|0}}}c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}function XC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=0;if(((d[(c[j>>2]|0)+42>>0]|0)&8|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&268435456|0)==0:0){b=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[m>>2]=b;c[l>>2]=c[(c[m>>2]|0)+120>>2];while(1){if(c[l>>2]|0)a=(c[(c[l>>2]|0)+4>>2]|0)!=(c[j>>2]|0);else a=0;b=c[l>>2]|0;if(!a)break;c[l>>2]=c[b>>2]}do if(!b){c[l>>2]=Vw(c[c[g>>2]>>2]|0,16,0)|0;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[m>>2]|0)+120>>2];c[(c[m>>2]|0)+120>>2]=c[l>>2];c[(c[l>>2]|0)+4>>2]=c[j>>2];c[(c[l>>2]|0)+8>>2]=c[h>>2];h=(c[m>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[m>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[(c[l>>2]|0)+12>>2]=j;m=(c[m>>2]|0)+44|0;c[m>>2]=(c[m>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);c[k>>2]=c[(c[l>>2]|0)+12>>2]}c[f>>2]=c[k>>2];m=c[f>>2]|0;i=n;return m|0}function YC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;Sz(c[f>>2]|0,73,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+12>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+12>>2]|0)+28>>2]=0;i=e;return}function ZC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;p=r+24|0;j=r+20|0;k=r+16|0;n=r+12|0;m=r+8|0;l=r+4|0;o=r;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=dx(c[f>>2]|0)|0;c[k>>2]=wx(c[p>>2]|0)|0;if((d[(c[h>>2]|0)+42>>0]|0)&16)f=Ux(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;else f=0;c[n>>2]=f;c[j>>2]=1;a:while(1){if((c[j>>2]|0)>=(c[k>>2]|0)){f=18;break}c[m>>2]=eA(c[p>>2]|0,c[j>>2]|0)|0;b:do if((d[c[m>>2]>>0]|0|0)==104?(c[(c[m>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){c[o>>2]=c[(c[m>>2]|0)+8>>2];if((c[o>>2]|0)==(c[(c[h>>2]|0)+28>>2]|0)){f=8;break a}c[l>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break b;if((c[o>>2]|0)==(c[(c[l>>2]|0)+44>>2]|0)){f=12;break a}c[l>>2]=c[(c[l>>2]|0)+20>>2]}}while(0);if((d[c[m>>2]>>0]|0|0)==155?(c[(c[m>>2]|0)+16>>2]|0)==(c[n>>2]|0):0){f=16;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==8){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==12){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==16){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==18){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}return 0}function _C(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];RA(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);a=(c[k>>2]|0)+44|0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[f>>2]=d;ix(c[j>>2]|0,84,c[h>>2]|0,c[f>>2]|0)|0;hB(c[g>>2]|0,c[f>>2]|0);i=e;return}function $C(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[j>>2]=QA(c[g>>2]|0)|0;d=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=Ch(0,d,((d|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){mh(c[j>>2]|0);i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+13>>0]|0;c[l>>2]=(c[l>>2]|0)+1}do{d=c[l>>2]|0;c[l>>2]=d+-1;a[(c[m>>2]|0)+d>>0]=0;if((c[l>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[l>>2]=Jf(c[m>>2]|0)|0;if(!(c[l>>2]|0)){i=n;return}g=c[g>>2]|0;if(c[k>>2]|0){mx(g,98,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return}else{Mh(g,-1,c[m>>2]|0,c[l>>2]|0);i=n;return}}function aD(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;m=v+36|0;w=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;r=v+12|0;s=v+8|0;t=v+4|0;u=v;c[m>>2]=a;c[w>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=c[w>>2];while(1){if(!(c[u>>2]|0))break;if(((d[(c[u>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?(d[(c[u>>2]|0)+9>>0]|0|0)==(c[p>>2]|0):0)?(vG(c[(c[u>>2]|0)+16>>2]|0,c[o>>2]|0)|0)!=0:0)tF(c[m>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=c[(c[u>>2]|0)+32>>2]}i=v;return}function bD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}ix(c[(c[e>>2]|0)+8>>2]|0,145,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function cD(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?($A(c[g>>2]|0)|0)!=0:0){wB(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}RA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function dD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;d=k+16|0;h=k+12|0;f=k+8|0;g=k+4|0;e=k;c[l>>2]=a;c[d>>2]=b;a=c[l>>2]|0;if(c[(c[l>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[h>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[h>>2]|0)+412>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[h>>2]|0)+460>>2]|0)+(c[f>>2]<<2)>>2]|0)){j=10;break}c[f>>2]=(c[f>>2]|0)+1}if((j|0)==10){i=k;return}c[g>>2]=(c[(c[h>>2]|0)+412>>2]|0)+1<<2;l=c[g>>2]|0;c[e>>2]=Md(c[(c[h>>2]|0)+460>>2]|0,l,((l|0)<0)<<31>>31)|0;if(c[e>>2]|0){c[(c[h>>2]|0)+460>>2]=c[e>>2];j=c[d>>2]|0;g=(c[h>>2]|0)+412|0;l=c[g>>2]|0;c[g>>2]=l+1;c[(c[(c[h>>2]|0)+460>>2]|0)+(l<<2)>>2]=j;i=k;return}else{mh(c[c[h>>2]>>2]|0);i=k;return}}function eD(f,g,h,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=i;i=i+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;c[E>>2]=f;c[F>>2]=g;c[H>>2]=h;c[I>>2]=j;c[J>>2]=k;c[K>>2]=l;c[L>>2]=m;a[M>>0]=n;a[N>>0]=o;c[O>>2]=p;c[G>>2]=q;c[s>>2]=r;c[da>>2]=0;c[ja>>2]=0;c[X>>2]=0;c[W>>2]=0;a[R>>0]=0;c[ia>>2]=-1;a[Y>>0]=(c[L>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[ka>>2]=dx(c[E>>2]|0)|0;c[w>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[da>>2]=0;c[_>>2]=1}else{c[da>>2]=Jj(c[F>>2]|0)|0;c[_>>2]=e[(c[da>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[w>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[$>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+12>>0];if(c[$>>2]|0){if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if((c[$>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0)==0:0)c[$>>2]=2;switch(c[$>>2]|0){case 2:{Vx(c[E>>2]|0);break}case 3:case 1:break;case 4:{ix(c[ka>>2]|0,34,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[O>>2]|0)|0;break a}default:{c[t>>2]=Sz(c[ka>>2]|0,35,(c[K>>2]|0)+1+(c[T>>2]|0)|0)|0;RA(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0);Zz(c[ka>>2]|0,c[t>>2]|0);break a}}m=c[S>>2]|0;l=c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)>>2]|0;c[A>>2]=c[c[F>>2]>>2];c[A+4>>2]=l;c[B>>2]=Gh(m,30161,A)|0;mx(c[ka>>2]|0,74,1299,c[$>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[B>>2]|0,-1)|0;Jh(c[ka>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if((c[(c[F>>2]|0)+24>>2]|0)!=0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[x>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+56>>2]=(c[K>>2]|0)+1;c[$>>2]=(d[N>>0]|0)!=10?d[N>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[x>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!((c[s>>2]|0)!=0?(jF(c[y>>2]|0,c[s>>2]|0,d[M>>0]|0)|0)!=0:0)){c[v>>2]=Wz(c[ka>>2]|0)|0;jB(c[E>>2]|0,c[y>>2]|0,c[v>>2]|0,16);if((c[$>>2]|0)==4)Yz(c[ka>>2]|0,c[O>>2]|0)|0;else{c[C>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[C>>2]|0))c[C>>2]=c[c[F>>2]>>2];if((c[$>>2]|0)==5)c[$>>2]=2;tA(c[E>>2]|0,275,c[$>>2]|0,c[C>>2]|0,0,3)}_z(c[ka>>2]|0,c[v>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[M>>0]|0)!=0&(c[da>>2]|0)==0){c[u>>2]=Wz(c[ka>>2]|0)|0;c[$>>2]=d[(c[F>>2]|0)+43>>0];if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if(a[Y>>0]|0){jx(c[ka>>2]|0,37,c[K>>2]|0,c[u>>2]|0,c[L>>2]|0)|0;Jh(c[ka>>2]|0,-112)}c:do if((c[$>>2]|0)==5?(d[N>>0]|0)!=5:0){c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break c;if((d[(c[ca>>2]|0)+54>>0]|0)==4)break;if((d[(c[ca>>2]|0)+54>>0]|0)==3)break;c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}c[X>>2]=fx(c[ka>>2]|0,13)|0}while(0);jx(c[ka>>2]|0,33,c[I>>2]|0,c[u>>2]|0,c[K>>2]|0)|0;switch(c[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[z>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144)c[z>>2]=TC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if((c[z>>2]|0)==0?(lF(c[E>>2]|0,c[F>>2]|0,0,0)|0)==0:0){if(c[(c[F>>2]|0)+8>>2]|0){mF(c[E>>2]|0);oF(c[E>>2]|0,c[F>>2]|0,c[I>>2]|0,c[J>>2]|0,0,-1)}}else{mF(c[E>>2]|0);nF(c[E>>2]|0,c[F>>2]|0,c[z>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1,0,5,1,-1)}c[ja>>2]=1;break}case 4:{Yz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[$>>2]=2;D=55}}if((D|0)==55)kF(c[E>>2]|0,c[$>>2]|0,c[F>>2]|0);_z(c[ka>>2]|0,c[u>>2]|0);if(c[X>>2]|0){c[W>>2]=fx(c[ka>>2]|0,13)|0;Zz(c[ka>>2]|0,c[X>>2]|0)}}c[Z>>2]=0;c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;do if(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0){if(!(d[R>>0]|0)){$C(c[ka>>2]|0,c[F>>2]|0,(c[K>>2]|0)+1|0);a[R>>0]=1}c[V>>2]=(c[J>>2]|0)+(c[Z>>2]|0);c[Q>>2]=Wz(c[ka>>2]|0)|0;if(c[(c[ca>>2]|0)+36>>2]|0){ix(c[ka>>2]|0,79,0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+56>>2]=(c[K>>2]|0)+1;BA(c[E>>2]|0,c[(c[ca>>2]|0)+36>>2]|0,c[Q>>2]|0,16);c[(c[E>>2]|0)+56>>2]=0}c[ga>>2]=CA(c[E>>2]|0,e[(c[ca>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[ca>>2]|0)+52>>1]|0))break;c[U>>2]=b[(c[(c[ca>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[U>>2]|0)==-2){c[(c[E>>2]|0)+56>>2]=(c[K>>2]|0)+1;MA(c[E>>2]|0,c[(c[(c[(c[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+56>>2]=0}else{if((c[U>>2]|0)!=-1?(c[U>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[la>>2]=(c[U>>2]|0)+(c[K>>2]|0)+1;else{if((c[ia>>2]|0)==((c[ga>>2]|0)+(c[T>>2]|0)|0))break;c[la>>2]=c[K>>2];if(c[(c[ca>>2]|0)+36>>2]|0)s=-1;else s=(c[ga>>2]|0)+(c[T>>2]|0)|0;c[ia>>2]=s}ix(c[ka>>2]|0,(c[U>>2]|0)<0?86:85,c[la>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}jx(c[ka>>2]|0,99,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;WA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if(((d[Y>>0]|0)!=0?(c[da>>2]|0)==(c[ca>>2]|0):0)?(d[M>>0]|0)==0:0){_z(c[ka>>2]|0,c[Q>>2]|0);break}c[$>>2]=d[(c[ca>>2]|0)+54>>0];if(!(c[$>>2]|0)){FA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);_z(c[ka>>2]|0,c[Q>>2]|0);break}if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];Ih(c[ka>>2]|0,29,c[V>>2]|0,c[Q>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;if((c[ca>>2]|0)==(c[da>>2]|0))s=c[ga>>2]|0;else s=CA(c[E>>2]|0,c[_>>2]|0)|0;c[ha>>2]=s;d:do if((d[Y>>0]|0)!=0|(c[$>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){ix(c[ka>>2]|0,129,c[V>>2]|0,c[ha>>2]|0)|0;if(!(a[Y>>0]|0))break;jx(c[ka>>2]|0,37,c[ha>>2]|0,c[Q>>2]|0,c[L>>2]|0)|0;Jh(c[ka>>2]|0,-112);break}e:do if((c[ca>>2]|0)!=(c[da>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break e;c[ma>>2]=(OA(c[ca>>2]|0,b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;jx(c[ka>>2]|0,96,c[V>>2]|0,c[ma>>2]|0,(c[ha>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[Y>>0]|0){D=wx(c[ka>>2]|0)|0;c[P>>2]=D+(e[(c[da>>2]|0)+50>>1]|0);c[aa>>2]=36;c[fa>>2]=(a[(c[ca>>2]|0)+55>>0]&3|0)==2?c[ga>>2]|0:c[ha>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break d;c[ba>>2]=Xz(c[E>>2]|0,c[(c[(c[da>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ma>>2]=b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[da>>2]|0)+50>>1]|0)-1|0)){c[P>>2]=c[Q>>2];c[aa>>2]=37}mx(c[ka>>2]|0,c[aa>>2]|0,(c[L>>2]|0)+1+(c[ma>>2]|0)|0,c[P>>2]|0,(c[fa>>2]|0)+(c[T>>2]|0)|0,c[ba>>2]|0,-4)|0;Jh(c[ka>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[$>>2]|0){case 3:case 2:case 1:{qA(c[E>>2]|0,c[$>>2]|0,c[ca>>2]|0);break}case 4:{Yz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[ea>>2]=0;mF(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144)c[ea>>2]=TC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;nF(c[E>>2]|0,c[F>>2]|0,c[ea>>2]|0,c[I>>2]|0,c[J>>2]|0,c[ha>>2]|0,c[_>>2]&65535,0,5,((c[ca>>2]|0)==(c[da>>2]|0)?1:0)&255,-1);c[ja>>2]=1}}_z(c[ka>>2]|0,c[Q>>2]|0);FA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if((c[ha>>2]|0)!=(c[ga>>2]|0))FA(c[E>>2]|0,c[ha>>2]|0,c[_>>2]|0)}while(0);c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[X>>2]|0)){la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}Yz(c[ka>>2]|0,(c[X>>2]|0)+1|0)|0;Zz(c[ka>>2]|0,c[W>>2]|0);la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}function fD(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+112|0;l=O+108|0;m=O+104|0;n=O+100|0;o=O+96|0;p=O+92|0;q=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;r=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[v>>2]=c[c[l>>2]>>2];c[C>>2]=d[(c[l>>2]|0)+150>>0];if(!(c[(c[v>>2]|0)+24>>2]&524288)){i=O;return}c[z>>2]=Fh(c[v>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;c[M>>2]=c[(c[(c[v>>2]|0)+16>>2]|0)+(c[z>>2]<<4)>>2];c[D>>2]=c[(c[m>>2]|0)+16>>2];a:while(1){if(!(c[D>>2]|0)){N=39;break}c[E>>2]=0;c[t>>2]=0;c[u>>2]=0;if(!(((c[p>>2]|0)!=0?(Td(c[c[m>>2]>>2]|0,c[(c[D>>2]|0)+8>>2]|0)|0)!=0:0)?(jD(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(a[(c[l>>2]|0)+150>>0]|0)c[I>>2]=ti(c[v>>2]|0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;else c[I>>2]=Dh(c[l>>2]|0,0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;if((c[I>>2]|0)!=0?(BC(c[l>>2]|0,c[I>>2]|0,c[D>>2]|0,E,t)|0)==0:0){if(c[t>>2]|0)c[r>>2]=c[t>>2];else{c[y>>2]=c[(c[D>>2]|0)+36>>2];c[r>>2]=y}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;if((c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0))c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[v>>2]|0)+296>>2]|0){if(c[E>>2]|0)j=b[(c[(c[E>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else j=b[(c[I>>2]|0)+32>>1]|0;c[L>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(j<<16>>16<<4)>>2];c[J>>2]=iz(c[l>>2]|0,c[c[I>>2]>>2]|0,c[L>>2]|0,c[z>>2]|0)|0;c[u>>2]=(c[J>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}Tz(c[l>>2]|0,c[z>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0);g=(c[l>>2]|0)+40|0;c[g>>2]=(c[g>>2]|0)+1;if(c[n>>2]|0)kD(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[n>>2]|0,-1,c[u>>2]|0);if((c[o>>2]|0)!=0?(lD(c[l>>2]|0,c[D>>2]|0)|0)==0:0)kD(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[o>>2]|0,1,c[u>>2]|0);Tf(c[v>>2]|0,c[t>>2]|0);break}if(!(c[C>>2]|0)){N=59;break a}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break a}if(!(c[I>>2]|0)){c[K>>2]=dx(c[l>>2]|0)|0;g=wx(c[K>>2]|0)|0;c[A>>2]=g+(c[(c[D>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[D>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[n>>2]|0)+1;ix(c[K>>2]|0,34,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}ix(c[K>>2]|0,144,d[(c[D>>2]|0)+24>>0]|0,-1)|0}}while(0);c[D>>2]=c[(c[D>>2]|0)+4>>2]}if((N|0)==39){c[D>>2]=Yx(c[m>>2]|0)|0;b:while(1){if(!(c[D>>2]|0)){N=59;break}c[F>>2]=0;c[s>>2]=0;if(!((c[p>>2]|0)!=0?(mD(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((a[(c[D>>2]|0)+24>>0]|0)==0?(c[(c[v>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[l>>2]|0)+124>>2]|0)==0:0)?(a[(c[l>>2]|0)+20>>0]|0)==0:0)break;if(BC(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0,F,s)|0){if(!(c[C>>2]|0)){N=59;break b}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break b}else break}c[H>>2]=_v(c[v>>2]|0,0,0,0)|0;if(c[H>>2]|0){c[G>>2]=(c[H>>2]|0)+8;c[(c[G>>2]|0)+16>>2]=c[c[D>>2]>>2];c[(c[G>>2]|0)+8>>2]=c[c[c[D>>2]>>2]>>2];L=(c[(c[G>>2]|0)+16>>2]|0)+36|0;b[L>>1]=(b[L>>1]|0)+1<<16>>16;L=(c[l>>2]|0)+40|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[G>>2]|0)+44>>2]=M;if(c[o>>2]|0)nD(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[o>>2]|0,-1);if((c[n>>2]|0)!=0?(c[w>>2]=d[(c[D>>2]|0)+25+((c[p>>2]|0)!=0&1)>>0],nD(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[n>>2]|0,1),((c[w>>2]|0)!=9?(a[(c[D>>2]|0)+24>>0]|0)==0:0)&(c[w>>2]|0)!=7):0)Vx(c[l>>2]|0);c[(c[G>>2]|0)+8>>2]=0;hv(c[v>>2]|0,c[H>>2]|0)}Tf(c[v>>2]|0,c[s>>2]|0)}while(0);c[D>>2]=c[(c[D>>2]|0)+12>>2]}if((N|0)==59){i=O;return}}else if((N|0)==59){i=O;return}}function gD(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+64|0;o=E+52|0;p=E+48|0;q=E+44|0;r=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;a[x>>0]=0;c[D>>2]=dx(c[o>>2]|0)|0;c[y>>2]=0;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;if(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0){a[x>>0]=1;if(c[(c[z>>2]|0)+36>>2]|0){j=c[D>>2]|0;n=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0;ix(j,34,n,(wx(c[D>>2]|0)|0)+2|0)|0}ix(c[D>>2]|0,126,(c[r>>2]|0)+(c[y>>2]|0)|0,c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)|0;a[A>>0]=0;a[A>>0]=(c[w>>2]|0)!=0?16:0;if((a[(c[z>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]&32|0)!=0:0)a[A>>0]=d[A>>0]|1;Jh(c[D>>2]|0,a[A>>0]|0)}c[z>>2]=c[(c[z>>2]|0)+20>>2];c[y>>2]=(c[y>>2]|0)+1}if(d[(c[p>>2]|0)+42>>0]&32){i=E;return}c[B>>2]=(c[s>>2]|0)+1;c[C>>2]=vx(c[o>>2]|0)|0;jx(c[D>>2]|0,99,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0,c[C>>2]|0)|0;if(!(a[x>>0]|0))$C(c[D>>2]|0,c[p>>2]|0,0);WA(c[o>>2]|0,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0);if(a[(c[o>>2]|0)+18>>0]|0)a[A>>0]=0;else{a[A>>0]=1;a[A>>0]=d[A>>0]|((c[u>>2]|0)!=0?4:2)}if(c[v>>2]|0)a[A>>0]=d[A>>0]|8;if(c[w>>2]|0)a[A>>0]=d[A>>0]|16;jx(c[D>>2]|0,115,c[q>>2]|0,c[C>>2]|0,c[s>>2]|0)|0;if(!(a[(c[o>>2]|0)+18>>0]|0))Mh(c[D>>2]|0,-1,c[p>>2]|0,-20);Jh(c[D>>2]|0,a[A>>0]|0);i=E;return}function hD(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+120>>2]|0)){i=d;return}iD(c[b>>2]|0);i=d;return}function iD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;j=m+24|0;l=m+20|0;f=m+16|0;e=m+12|0;k=m+8|0;g=m+4|0;h=m;c[d>>2]=b;c[l>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[c[d>>2]>>2];c[j>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[j>>2]|0)){d=5;break}c[k>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[j>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[j>>2]|0)+12>>2];c[g>>2]=vx(c[d>>2]|0)|0;Uz(c[d>>2]|0,0,c[(c[j>>2]|0)+8>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+72>>2]|0,105);c[e>>2]=Kh(c[l>>2]|0,5,34384,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+20+8>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+40+4>>2]=(c[h>>2]|0)-1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+8>>2]=c[g>>2];c[(c[e>>2]|0)+60+12>>2]=(c[h>>2]|0)+1;a[(c[e>>2]|0)+60+3>>0]=8;xx(c[d>>2]|0,c[g>>2]|0);c[j>>2]=c[c[j>>2]>>2]}if((d|0)==5){i=m;return}}function jD(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){g=8;break}c[m>>2]=c[(c[h>>2]|0)+36+(c[l>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>=0){g=4;break}if((c[k>>2]|0)!=0?(c[m>>2]|0)==(b[(c[g>>2]|0)+32>>1]|0):0){g=6;break}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==4){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==6){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==8){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}return 0} -function $b(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ac(){return i|0}function bc(a){a=a|0;i=a}function cc(a,b){a=a|0;b=b|0;i=a;j=b}function dc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ec(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function fc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function gc(a){a=a|0;C=a}function hc(){return C|0}function ic(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[360+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[360+((c[f>>2]|0)*12|0)>>2]|0,a[360+((c[f>>2]|0)*12|0)+4>>0]|0,d[360+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[360+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[840+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[840+(c[f>>2]<<4)>>2]|0,a[840+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[840+(c[f>>2]<<4)+8>>2]|0,c[840+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=j;return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,378,16758);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+T(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,379,16767);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+U(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,380,16776);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+V(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[l>>2]|0)!=2)Sa(16785,16734,570,16793);if((ee(c[c[f>>2]>>2]|0)|0)!=5?(ee(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+be(c[c[f>>2]>>2]|0);h[j>>3]=+be(c[(c[f>>2]|0)+4>>2]|0);he(c[e>>2]|0,+W(+(+h[g>>3]),+(+h[j>>3])));i=k;return}le(c[e>>2]|0);i=k;return}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,394,16802);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+IQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,402,16812);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+JQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,410,16822);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+KQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;j=o+12|0;h=o+8|0;k=o+4|0;l=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[j>>2]=0;c[h>>2]=0;if((c[p>>2]|0)!=2)Sa(16785,16734,1680,16832);if((ee(c[c[g>>2]>>2]|0)|0)!=5?(ee(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[k>>2]=$d(c[c[g>>2]>>2]|0)|0;c[l>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;md(c[k>>2]|0,c[m>>2]|0);md(c[l>>2]|0,c[n>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=4)break;p=nd(c[m>>2]|0)|0;if((p|0)==(nd(c[n>>2]|0)|0))c[j>>2]=(c[j>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}je(c[f>>2]|0,c[j>>2]|0);i=o;return}le(c[f>>2]|0);i=o;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,498,17236);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+od(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,499,17248);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+pd(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,420,17260);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+Q(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,419,17268);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+R(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,421,17276);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+S(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,422,17284);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+qd(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,446,17292);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+LQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,438,17301);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+PQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,454,17310);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+QQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,456,17319);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+rd(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,474,17328);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+X(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,472,17336);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+Y(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,473,17344);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+NQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;e=l+32|0;m=l+28|0;f=l+24|0;g=l+16|0;j=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[m>>2]|0)!=2)Sa(16785,16734,546,17354);if((ee(c[c[f>>2]>>2]|0)|0)!=5?(ee(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+be(c[c[f>>2]>>2]|0);h[j>>3]=+be(c[(c[f>>2]|0)+4>>2]|0);c[(BQ()|0)>>2]=0;h[k>>3]=+P(+(+h[g>>3]),+(+h[j>>3]));m=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(m){he(e,+h[k>>3]);i=l;return}else{m=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,m,c[(BQ()|0)>>2]|0);i=l;return}}le(c[e>>2]|0);i=l;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+24|0;l=k+20|0;e=k+16|0;g=k+8|0;f=k;c[j>>2]=a;c[l>>2]=b;c[e>>2]=d;h[g>>3]=0.0;a=f;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(16726,16734,590,17364);switch(ee(c[c[e>>2]>>2]|0)|0){case 1:{l=f;c[l>>2]=de(c[c[e>>2]>>2]|0)|0;c[l+4>>2]=C;l=f;g=c[l+4>>2]|0;if((g|0)>0|(g|0)==0&(c[l>>2]|0)>>>0>0)e=1;else e=(c[f+4>>2]|0)<0?-1:0;l=f;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=f;ke(c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{le(c[j>>2]|0);i=k;return}default:{h[g>>3]=+be(c[c[e>>2]>>2]|0);if(+h[g>>3]>0.0)e=1;else e=+h[g>>3]<0.0?-1:0;h[g>>3]=+(e|0);he(c[j>>2]|0,+h[g>>3]);i=k;return}}}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,375,17373);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+O(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;h[j>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,514,17382);switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{a=g;c[a>>2]=de(c[c[f>>2]>>2]|0)|0;c[a+4>>2]=C;a=c[e>>2]|0;j=g;l=g;ke(a,aS(c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);he(c[e>>2]|0,+h[j>>3]*+h[j>>3]);i=k;return}}}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(16726,16734,620,17393);switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=de(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;ke(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);m=+Z(+(+h[j>>3]));ke(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(16726,16734,645,17402);switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=de(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;ke(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);m=+M(+(+h[j>>3]));ke(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;he(c[f>>2]|0,3.141592653589793);i=e;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+48|0;o=n+44|0;f=n+40|0;l=n+36|0;m=n+32|0;h=n+24|0;j=n+16|0;k=n+8|0;g=n;c[e>>2]=a;c[o>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;if((c[o>>2]|0)!=2){i=n;return}if(5==(ee(c[c[f>>2]>>2]|0)|0)){i=n;return}a=de(c[(c[f>>2]|0)+4>>2]|0)|0;o=h;c[o>>2]=a;c[o+4>>2]=C;if((c[h+4>>2]|0)<0){ie(c[e>>2]|0,17412,-1);i=n;return}a=ae(c[c[f>>2]>>2]|0)|0;o=j;c[o>>2]=a;c[o+4>>2]=((a|0)<0)<<31>>31;o=j;a=h;a=aS(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=k;c[o>>2]=a;c[o+4>>2]=C;o=k;o=RR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[l>>2]=Id(o)|0;o=j;o=RR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[m>>2]=Id(o)|0;if((c[l>>2]|0)!=0&(c[m>>2]|0)!=0){o=c[m>>2]|0;iR(o,$d(c[c[f>>2]>>2]|0)|0)|0;o=g;c[o>>2]=0;c[o+4>>2]=0;while(1){k=g;d=c[k+4>>2]|0;o=h;a=c[o+4>>2]|0;if(!((d|0)<(a|0)|((d|0)==(a|0)?(c[k>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[l>>2]|0;a=g;k=j;k=aS(c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;iR(o+k|0,c[m>>2]|0)|0;k=g;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;o=g;c[o>>2]=k;c[o+4>>2]=C}me(c[e>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);Kd(c[m>>2]|0);i=n;return}se(c[e>>2]|0);if(c[l>>2]|0)Kd(c[l>>2]|0);if(!(c[m>>2]|0)){i=n;return}Kd(c[m>>2]|0);i=n;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))Sa(17425,16734,1038,17443);if(5!=(ee(c[c[g>>2]>>2]|0)|0)?5!=(ee(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[k>>2]=$d(c[c[g>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=m;return}c[l>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){a=(ce(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=a;c[j>>2]=(c[j>>2]|0)<0?0:a}else c[j>>2]=0;c[h>>2]=sd(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,0)|0;je(c[e>>2]|0,(c[h>>2]|0)+1|0);i=m;return}le(c[e>>2]|0);i=m;return}function Nc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;g=p+32|0;q=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;o=p+4|0;m=p;c[g>>2]=b;c[q>>2]=e;c[h>>2]=f;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,1073,17457);if(5!=(ee(c[c[h>>2]>>2]|0)|0)?5!=(ee(c[(c[h>>2]|0)+4>>2]|0)|0):0){c[n>>2]=$d(c[c[h>>2]>>2]|0)|0;c[l>>2]=ce(c[(c[h>>2]|0)+4>>2]|0)|0;c[o>>2]=c[n>>2];a:while(1){if(!(nd(c[o>>2]|0)|0))break;q=c[j>>2]|0;c[j>>2]=q+1;if((q|0)>=(c[l>>2]|0))break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[k>>2]=(c[o>>2]|0)-(c[n>>2]|0);c[m>>2]=Id((c[o>>2]|0)-(c[n>>2]|0)+1|0)|0;if(c[m>>2]|0){mR(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0)|0;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=0;me(c[g>>2]|0,c[m>>2]|0,-1,-1);Kd(c[m>>2]|0);i=p;return}else{se(c[g>>2]|0);i=p;return}}le(c[g>>2]|0);i=p;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+36|0;q=p+32|0;g=p+28|0;k=p+24|0;h=p+20|0;j=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;c[f>>2]=b;c[q>>2]=d;c[g>>2]=e;c[k>>2]=0;c[h>>2]=0;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,1113,17466);if(5!=(ee(c[c[g>>2]>>2]|0)|0)?5!=(ee(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[m>>2]=$d(c[c[g>>2]>>2]|0)|0;c[k>>2]=ce(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if(!(nd(c[o>>2]|0)|0))break;do{q=(c[o>>2]|0)+1|0;c[o>>2]=q}while((192&a[q>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=c[o>>2];c[o>>2]=c[m>>2];q=(c[h>>2]|0)-(c[k>>2]|0)|0;c[j>>2]=q;c[j>>2]=(c[j>>2]|0)<0?0:q;a:while(1){q=c[j>>2]|0;c[j>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[l>>2]=Id((c[n>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[l>>2]|0){iR(c[l>>2]|0,c[o>>2]|0)|0;me(c[f>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=p;return}else{se(c[f>>2]|0);i=p;return}}le(c[f>>2]|0);i=p;return}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o+8|0;j=o+4|0;h=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;if(1!=(c[p>>2]|0))Sa(17476,16734,1323,17484);if(5==(ee(c[c[g>>2]>>2]|0)|0)){le(c[f>>2]|0);i=o;return}c[m>>2]=$d(c[c[g>>2]>>2]|0)|0;c[j>>2]=kR(c[m>>2]|0)|0;c[k>>2]=Id((c[j>>2]|0)+1|0)|0;if(!(c[k>>2]|0)){se(c[f>>2]|0);i=o;return}c[l>>2]=(c[k>>2]|0)+(c[j>>2]|0);p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=0;c[n>>2]=c[m>>2];a:while(1){if(!(nd(c[n>>2]|0)|0))break;c[m>>2]=c[n>>2];do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=1;while(1){if(((c[n>>2]|0)+(0-(c[h>>2]|0))|0)>>>0<(c[m>>2]|0)>>>0)continue a;j=a[(c[n>>2]|0)+(0-(c[h>>2]|0))>>0]|0;p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=j;c[h>>2]=(c[h>>2]|0)+1}}me(c[f>>2]|0,c[k>>2]|0,-1,-1);Kd(c[k>>2]|0);i=o;return}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;o=n+20|0;f=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n+28|0;h=n;c[g>>2]=b;c[o>>2]=d;c[f>>2]=e;c[h>>2]=1;if((c[o>>2]|0)!=1)Sa(16726,16734,724,17496);if(5==(ee(c[c[f>>2]>>2]|0)|0)){le(c[g>>2]|0);i=n;return}c[k>>2]=$d(c[c[f>>2]>>2]|0)|0;c[l>>2]=td(c[k>>2]|0)|0;if(!(c[l>>2]|0)){se(c[g>>2]|0);i=n;return}c[m>>2]=c[l>>2];while(1){o=c[k>>2]|0;c[k>>2]=o+1;o=a[o>>0]|0;a[j>>0]=o;if(!(o<<24>>24))break;if(wQ(a[j>>0]|0)|0)c[h>>2]=1;else{f=a[j>>0]|0;if((c[h>>2]|0)==1)a[j>>0]=AQ(f)|0;else a[j>>0]=zQ(f)|0;c[h>>2]=0}b=a[j>>0]|0;o=c[m>>2]|0;c[m>>2]=o+1;a[o>>0]=b}a[c[m>>2]>>0]=0;me(c[g>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=n;return}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;k=o;g=o+28|0;j=o+24|0;n=o+20|0;l=o+16|0;c[m>>2]=b;c[p>>2]=d;c[f>>2]=e;c[g>>2]=0;if((c[p>>2]|0)!=2)Sa(16785,16734,771,17507);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[m>>2]|0);i=o;return}c[j>>2]=$d(c[c[f>>2]>>2]|0)|0;b=de(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=b;c[p+4>>2]=C;if((c[h+4>>2]|0)<0){ie(c[m>>2]|0,17412,-1);i=o;return}d=ud(c[j>>2]|0,-1)|0;b=k;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=k;d=c[b+4>>2]|0;p=h;e=c[p+4>>2]|0;f=c[j>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[n>>2]=td(f)|0;f=c[m>>2]|0;if(c[n>>2]|0){me(f,c[n>>2]|0,-1,-1);break}se(f);i=o;return}else{p=kR(f)|0;b=h;b=RR(p|0,0,c[b>>2]|0,c[b+4>>2]|0)|0;p=k;p=QR(b|0,C|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=RR(p|0,C|0,1,0)|0;c[n>>2]=Id(p)|0;if(!(c[n>>2]|0)){se(c[m>>2]|0);i=o;return}c[l>>2]=c[n>>2];c[g>>2]=1;while(1){d=c[g>>2]|0;b=k;b=RR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;p=h;e=c[p+4>>2]|0;f=c[l>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[p>>2]|0)>>>0:0)))break;c[l>>2]=f+1;a[f>>0]=32;c[g>>2]=(c[g>>2]|0)+1}iR(f,c[j>>2]|0)|0}while(0);me(c[m>>2]|0,c[n>>2]|0,-1,-1);Kd(c[n>>2]|0);i=o;return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,825,17544);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[n>>2]|0);i=p;return}c[g>>2]=$d(c[c[f>>2]>>2]|0)|0;b=de(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){ie(c[n>>2]|0,17412,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){me(f,c[o>>2]|0,-1,-1);break}se(f);i=p;return}else{q=h;c[q>>2]=kR(f)|0;c[q+4>>2]=0;q=h;b=k;b=RR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=QR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=RR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){se(c[n>>2]|0);i=p;return}q=iR(c[o>>2]|0,c[g>>2]|0)|0;c[m>>2]=q+(c[h>>2]|0);c[j>>2]=1;while(1){b=c[j>>2]|0;h=l;h=RR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);me(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,880,17553);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[n>>2]|0);i=p;return}c[g>>2]=$d(c[c[f>>2]>>2]|0)|0;b=de(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){ie(c[n>>2]|0,17412,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){me(f,c[o>>2]|0,-1,-1);break}se(f);i=p;return}else{q=h;c[q>>2]=kR(f)|0;c[q+4>>2]=0;q=h;b=k;b=RR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=QR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=RR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){se(c[n>>2]|0);i=p;return}c[m>>2]=c[o>>2];c[j>>2]=1;while(1){d=c[j>>2]<<1;b=l;b=RR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;q=k;e=c[q+4>>2]|0;f=c[m>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}iR(f,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);while(1){b=c[j>>2]|0;h=l;h=RR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);me(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;f=r+44|0;s=r+40|0;g=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;p=r+12|0;q=r+8|0;h=r+4|0;j=r;c[f>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)Sa(16785,16734,939,17562);if((ee(c[c[g>>2]>>2]|0)|0)!=5?(ee(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=$d(c[c[g>>2]>>2]|0)|0;c[o>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=Id((kR(c[n>>2]|0)|0)+1|0)|0;if(!(c[p>>2]|0)){se(c[f>>2]|0);i=r;return}c[q>>2]=c[p>>2];c[k>>2]=c[n>>2];a:while(1){s=nd(c[k>>2]|0)|0;c[h>>2]=s;if(!s)break;c[l>>2]=c[o>>2];b:while(1){s=nd(c[l>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[h>>2]|0))break;while(1){s=(c[l>>2]|0)+1|0;c[l>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[m>>2]=c[l>>2];do{s=(c[m>>2]|0)+1|0;c[m>>2]=s}while((192&a[s>>0]|0)==128);mR(c[q>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+((c[m>>2]|0)-(c[l>>2]|0))}while(1){s=(c[k>>2]|0)+1|0;c[k>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[q>>2]>>0]=0;me(c[f>>2]|0,c[p>>2]|0,-1,-1);Kd(c[p>>2]|0);i=r;return}le(c[f>>2]|0);i=r;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;f=l+20|0;j=l+16|0;g=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)Sa(16726,16734,1395,17576);c[j>>2]=we(c[e>>2]|0,24)|0;if(5==(Te(c[c[f>>2]>>2]|0)|0)){i=l;return}a=(c[j>>2]|0)+16|0;m=a;m=RR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[a>>2]=m;c[a+4>>2]=C;h[k>>3]=+be(c[c[f>>2]>>2]|0);h[g>>3]=+h[k>>3]-+h[c[j>>2]>>3];a=(c[j>>2]|0)+16|0;m=c[j>>2]|0;h[m>>3]=+h[m>>3]+ +h[g>>3]/(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0));m=(c[j>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[g>>3]*(+h[k>>3]-+h[c[j>>2]>>3]);i=l;return}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;he(a,+O(+(g/(+(f>>>0)+4294967296.0*+(C|0)))));i=e;return}he(c[b>>2]|0,0.0);i=e;return}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;he(a,g/(+(f>>>0)+4294967296.0*+(C|0)));i=e;return}he(c[b>>2]|0,0.0);i=e;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;e=q+64|0;r=q+60|0;f=q+56|0;n=q+52|0;p=q+8|0;o=q;m=q+48|0;l=q+44|0;k=q+40|0;g=q+28|0;j=q+16|0;c[e>>2]=a;c[r>>2]=b;c[f>>2]=d;a=p;c[a>>2]=0;c[a+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)Sa(16726,16734,1418,17589);c[k>>2]=Te(c[c[f>>2]>>2]|0)|0;if((c[k>>2]|0)==5){i=q;return}c[n>>2]=we(c[e>>2]|0,64)|0;do if(!(c[(c[n>>2]|0)+56>>2]|0)){e=LR(1,12)|0;c[(c[n>>2]|0)+56>>2]=e;e=c[n>>2]|0;if((c[k>>2]|0)==1){r=c[e+56>>2]|0;bd(g,176);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[n>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=e+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[n>>2]|0)+56>>2]|0;bd(j,177);c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];break}}while(0);r=(c[n>>2]|0)+16|0;e=r;e=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[r>>2]=e;c[r+4>>2]=C;r=(c[n>>2]|0)+48|0;e=c[c[f>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=de(e)|0;o=p;c[o>>2]=r;c[o+4>>2]=C;c[m>>2]=LR(1,8)|0;o=p;p=c[o+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=p;fd(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);i=q;return}else{h[o>>3]=+be(e);c[l>>2]=LR(1,8)|0;h[c[l>>2]>>3]=+h[o>>3];fd(c[(c[n>>2]|0)+56>>2]|0,c[l>>2]|0);i=q;return}}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){i=e;return}hd(c[(c[d>>2]|0)+56>>2]|0,131,c[d>>2]|0);jd(c[(c[d>>2]|0)+56>>2]|0);KR(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){i=e;return}f=(c[d>>2]|0)+48|0;a=c[b>>2]|0;b=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=b;ke(a,c[f>>2]|0,c[f+4>>2]|0);i=e;return}else{he(a,+h[b+8>>3]);i=e;return}}function _c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;wd(c[b>>2]|0);i=e;return}function $c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;wd(c[b>>2]|0);i=e;return}function ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;a=aS(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(C|0))/4.0;wd(c[b>>2]|0);i=e;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];i=d;return}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=LR(c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;KR(c[d>>2]|0);i=b;return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;f=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=cd(1,24,16717)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];j=(c[f>>2]|0)+16|0;c[j>>2]=1;c[j+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];i=k;return}c[j>>2]=Yb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){j=(c[c[e>>2]>>2]|0)+16|0;g=j;g=RR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[j>>2]=g;c[j+4>>2]=C;dd(c[h>>2]|0);i=k;return}e=c[c[e>>2]>>2]|0;if((c[j>>2]|0)>0){ed(e,c[g>>2]|0,c[h>>2]|0);i=k;return}else{ed(e+4|0,c[g>>2]|0,c[h>>2]|0);i=k;return}}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ed(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);i=d;return}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}if(c[c[e>>2]>>2]|0)gd(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;_b[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){i=h;return}gd(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;gd(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}dd(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)id(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)id(c[(c[b>>2]|0)+4>>2]|0);dd(c[b>>2]|0);i=d;return}function jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;id(c[c[d>>2]>>2]|0);i=b;return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;d=g+24|0;j=g+20|0;h=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;j=c[j>>2]|0;a=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;j=c[d>>2]|0;i=g;return j|0}h=e;b=c[h+4>>2]|0;j=f;f=c[j+4>>2]|0;if((b|0)<(f|0)|((b|0)==(f|0)?(c[h>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){c[d>>2]=-1;j=c[d>>2]|0;i=g;return j|0}else{c[d>>2]=1;j=c[d>>2]|0;i=g;return j|0}return 0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;g=i;i=i+32|0;d=g+24|0;k=g+20|0;j=g+16|0;e=g+8|0;f=g;c[k>>2]=a;c[j>>2]=b;h[e>>3]=+h[c[k>>2]>>3];h[f>>3]=+h[c[j>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);i=g;return c[d>>2]|0}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;j=l+12|0;h=l+8|0;k=l+4|0;g=l;c[f>>2]=b;c[j>>2]=e;c[h>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;if(!((vQ(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)!=0^1))break;c[h>>2]=(c[h>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){iR(c[j>>2]|0,16975)|0;i=l;return}e=(AQ(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)&255;a[c[j>>2]>>0]=e;c[k>>2]=1;while(1){if((c[k>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;c[g>>2]=d[16847+(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]&127)>>0];if((c[g>>2]|0)>0){b=(c[g>>2]|0)+48&255;e=c[k>>2]|0;c[k>>2]=e+1;a[(c[j>>2]|0)+e>>0]=b}c[h>>2]=(c[h>>2]|0)+1}while(1){f=c[k>>2]|0;if((c[k>>2]|0)>=4)break;c[k>>2]=f+1;a[(c[j>>2]|0)+f>>0]=48}a[(c[j>>2]|0)+f>>0]=0;i=l;return}function nd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[16980+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;i=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[936+(c[f>>2]<<2)>>2]|0);if(((c[952+(c[f>>2]<<2)>>2]&c[e>>2]|0)!=0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;i=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}function od(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*180.0/3.141592653589793)}function pd(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*3.141592653589793/180.0)}function qd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+S(+(+h[c>>3]));i=b;return +a}function rd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+QQ(+h[c>>3]);i=b;return +a}function sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;g=t+40|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;r=t+8|0;n=t+4|0;o=t;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[p>>2]=-1;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=-1;s=c[g>>2]|0;i=t;return s|0}a:while(1){if(!(nd(c[j>>2]|0)|0))break;d=c[m>>2]|0;c[m>>2]=d+1;if((d|0)>=(c[k>>2]|0))break;while(1){d=(c[j>>2]|0)+1|0;c[j>>2]=d;if((192&a[d>>0]|0)!=128)continue a}}c[m>>2]=0;while(1){if(!(nd(c[j>>2]|0)|0))break;c[q>>2]=c[h>>2];c[r>>2]=c[j>>2];do{c[n>>2]=nd(c[q>>2]|0)|0;c[o>>2]=nd(c[r>>2]|0)|0;do{d=(c[q>>2]|0)+1|0;c[q>>2]=d}while((192&a[d>>0]|0)==128);do{d=(c[r>>2]|0)+1|0;c[r>>2]=d}while((192&a[d>>0]|0)==128)}while(((c[n>>2]|0)!=0?(c[n>>2]|0)==(c[o>>2]|0):0)&(c[o>>2]|0)!=0);if(!(c[n>>2]|0)){s=14;break}do{d=(c[j>>2]|0)+1|0;c[j>>2]=d}while((192&a[d>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}if((s|0)==14)c[p>>2]=c[m>>2];if(c[l>>2]|0)c[c[l>>2]>>2]=c[j>>2];s=c[p>>2]|0;c[g>>2]=(c[p>>2]|0)>=0?s+(c[k>>2]|0)|0:s;s=c[g>>2]|0;i=t;return s|0}function td(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Id((kR(c[d>>2]|0)|0)+1|0)|0;a=iR(c[e>>2]|0,c[d>>2]|0)|0;i=b;return a|0}function ud(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)Sa(17516,16734,316,17525);while(1){if(!(a[c[f>>2]>>0]|0)){f=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){f=10;break}c[f>>2]=(c[f>>2]|0)+((d[16980+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){i=k;return c[j>>2]|0}return 0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;m=l+32|0;j=l+16|0;n=l+28|0;g=l+8|0;f=l;k=l+24|0;c[m>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[k>>2]=c[n>>2];e=(c[k>>2]|0)+48|0;b=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[b>>2]|0;m=g;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=RR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}n=c[g+4>>2]|0;m=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}else{h[f>>3]=+h[b>>3];m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=RR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}h[(c[k>>2]|0)+8>>3]=+h[f>>3];m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}}function wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=we(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){i=f;return}c[(c[e>>2]|0)+60>>2]=0;hd(c[(c[e>>2]|0)+56>>2]|0,132,c[e>>2]|0);jd(c[(c[e>>2]|0)+56>>2]|0);KR(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;he(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));i=f;return}g=(c[e>>2]|0)+40|0;b=c[b>>2]|0;d=c[e>>2]|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){ke(b,a,d);i=f;return}else{g=(c[e>>2]|0)+40|0;he(b,(+(a>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));i=f;return}}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;j=q+56|0;m=q+32|0;r=q+52|0;o=q+24|0;n=q+16|0;f=q+8|0;k=q;g=q+48|0;l=q+44|0;p=q+40|0;c[j>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[p>>2]=c[r>>2];if((c[(c[p>>2]|0)+60>>2]|0)>0){i=q;return}h[f>>3]=+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+16|0;h[k>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+32|0;e=m;e=RR(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[g>>2]=e;e=(c[p>>2]|0)+16|0;r=(c[p>>2]|0)+32|0;r=QR(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[l>>2]=r;do if(+(c[g>>2]|0)>=+h[f>>3]){b=c[p>>2]|0;if(!(+(c[l>>2]|0)>=+h[k>>3])){c[b+60>>2]=1;break}r=b+40|0;b=r;b=RR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[r>>2]=b;c[r+4>>2]=C;r=(c[p>>2]|0)+48|0;b=c[j>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){n=c[b>>2]|0;r=o;c[r>>2]=n;c[r+4>>2]=((n|0)<0)<<31>>31;r=c[p>>2]|0;n=r;o=RR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=o;c[r+4>>2]=C;break}else{h[n>>3]=+h[b>>3];r=(c[p>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[n>>3];break}}while(0);o=m;r=(c[p>>2]|0)+32|0;p=r;p=RR(c[p>>2]|0,c[p+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=C;i=q;return}function yd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(zd(c[d>>2]|0,17605,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=Jf(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=8){d=9;break}if((zd(c[d>>2]|0,c[976+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(Kf(a[(c[976+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){d=7;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==9){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function zd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;if(!(c[f>>2]|0)){c[l>>2]=(e|0)!=0?-1:0;l=c[l>>2]|0;i=m;return l|0}if(!e){c[l>>2]=1;l=c[l>>2]|0;i=m;return l|0}c[j>>2]=c[f>>2];c[k>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[j>>2]>>0]|0))break;if((d[17613+(d[c[j>>2]>>0]|0)>>0]|0|0)!=(d[17613+(d[c[k>>2]>>0]|0)>>0]|0|0))break;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((c[h>>2]|0)<0)e=0;else e=(d[17613+(d[c[j>>2]>>0]|0)>>0]|0)-(d[17613+(d[c[k>>2]>>0]|0)>>0]|0)|0;c[l>>2]=e;l=c[l>>2]|0;i=m;return l|0}function Ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<8){c[b>>2]=c[976+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=Lf(18365)|0;l=c[g>>2]|0;i=m;return l|0}if(a[17869+(c[h>>2]|0)>>0]|0)b=Mf()|0;else b=Nf()|0;c[m>>2]=b;j=c[j>>2]|0;c[j>>2]=c[1008+(c[h>>2]<<2)>>2];c[j+4>>2]=0;k=c[k>>2]|0;c[k>>2]=c[1048+(c[h>>2]<<2)>>2];c[k+4>>2]=0;if(c[l>>2]|0)c[1048+(c[h>>2]<<2)>>2]=c[1008+(c[h>>2]<<2)>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Dd()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[e>>2]=c[272];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(hR(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;i=f;return g|0}function Dd(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+16|0;a=e+4|0;b=e;if(c[59]|0){c[a>>2]=0;f=c[a>>2]|0;i=e;return f|0}c[b>>2]=0;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}c[61]=1;if(!(c[62]|0))c[b>>2]=Uf()|0;if(((c[b>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=8,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[b>>2]=7;if(!(c[b>>2]|0))c[64]=(c[64]|0)+1;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}if((c[59]|0)==0&(c[60]|0)==0){c[60]=1;d=1092;f=d+92|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Vf();if(!(c[63]|0))c[b>>2]=Wf()|0;if(!(c[b>>2]|0)){c[63]=1;c[b>>2]=Xf()|0}if(!(c[b>>2]|0)){Yf(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}c[64]=(c[64]|0)+-1;if((c[64]|0)<=0)c[65]=0;c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Dd()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;i=h;return g|0}Zf(c[f>>2]|0);b=c[272]|0;if((c[g>>2]|0)!=0|(c[272]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[272]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[272]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function Fd(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;e=j+32|0;f=j+24|0;h=j+16|0;g=j+8|0;d=j;k=j+40|0;l=f;c[l>>2]=a;c[l+4>>2]=b;c[k>>2]=Dd()|0;if(c[k>>2]|0){k=e;c[k>>2]=-1;c[k+4>>2]=-1;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=296;k=c[b+4>>2]|0;l=h;c[l>>2]=c[b>>2];c[l+4>>2]=k;if((c[f+4>>2]|0)<0){l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=f;l=c[b+4>>2]|0;k=296;c[k>>2]=c[b>>2];c[k+4>>2]=l;k=_f(0)|0;l=d;c[l>>2]=k;c[l+4>>2]=C;l=f;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0){l=f;b=c[l+4>>2]|0;a=d;k=c[a+4>>2]|0;a=(b|0)<(k|0)|((b|0)==(k|0)?(c[l>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[79]=a&1;l=Hd()|0;k=f;k=QR(l|0,C|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=g;c[l>>2]=k;c[l+4>>2]=C;l=g;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0)Fd(c[g>>2]&2147483647)|0;l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function Hd(){var a=0,b=0;b=i;i=i+16|0;a=b+8|0;Bd(0,a,b,0)|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function Id(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Dd()|0){c[d>>2]=0;d=c[d>>2]|0;i=e;return d|0}if((c[b>>2]|0)<=0)b=0;else{b=c[b>>2]|0;b=$f(b,((b|0)<0)<<31>>31)|0}c[d>>2]=b;d=c[d>>2]|0;i=e;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(Dd()|0){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}else{g=e;c[d>>2]=$f(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;i=f;return g|0}return 0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[2]|0){bg(0,ag(c[b>>2]|0)|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=g;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[d>>2]=cg(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[d>>2]|0;i=g;return a|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Dd()|0){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}else{a=g;c[e>>2]=cg(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+128|0;d=j+40|0;e=j+36|0;f=j+32|0;h=j+28|0;g=j;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}else{dg(g,0,j+44|0,70,1e9);eg(g,c[e>>2]|0,c[f>>2]|0);c[h>>2]=fg(g)|0;c[d>>2]=c[h>>2];a=c[d>>2]|0;i=j;return a|0}return 0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}else{c[f>>2]=b;c[g>>2]=Nd(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];a=c[d>>2]|0;i=h;return a|0}return 0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;f=l+44|0;g=l+40|0;m=l+36|0;h=l+32|0;j=l+28|0;k=l;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=e;m=c[f>>2]|0;i=l;return m|0}else{dg(k,0,e,c[g>>2]|0,0);eg(k,c[h>>2]|0,c[j>>2]|0);c[f>>2]=fg(k)|0;m=c[f>>2]|0;i=l;return m|0}return 0}function Qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=Pd(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){i=h;return}c[g>>2]=d;gg(c[e>>2]|0,c[f>>2]|0,g);i=h;return}function Sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+288|0;f=m+12|0;g=m+8|0;k=m+272|0;l=m+4|0;h=m;j=m+16|0;c[f>>2]=b;c[g>>2]=e;c[l>>2]=c[g>>2];if(Dd()|0){i=m;return}if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[17879]=0;i=m;return}if(!(a[17879]|0)){a[17881]=0;a[17880]=0;hg(Cd(0)|0,256,j)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[17882+(c[h>>2]|0)>>0]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[17881]=(d[17881]|0)+((d[17882+(c[h>>2]|0)>>0]|0)+(a[j+(c[h>>2]|0)>>0]|0));a[k>>0]=a[17882+(d[17881]|0)>>0]|0;a[17882+(d[17881]|0)>>0]=a[17882+(c[h>>2]|0)>>0]|0;a[17882+(c[h>>2]|0)>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[17879]=1}do{a[17880]=(a[17880]|0)+1<<24>>24;a[k>>0]=a[17882+(d[17880]|0)>>0]|0;a[17881]=(d[17881]|0)+(d[k>>0]|0);a[17882+(d[17880]|0)>>0]=a[17882+(d[17881]|0)>>0]|0;a[17882+(d[17881]|0)>>0]=a[k>>0]|0;a[k>>0]=(d[k>>0]|0)+(d[17882+(d[17880]|0)>>0]|0);j=a[17882+(d[k>>0]|0)>>0]|0;e=c[l>>2]|0;c[l>>2]=e+1;a[e>>0]=j;e=(c[f>>2]|0)+-1|0;c[f>>2]=e}while((e|0)!=0);i=m;return}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;do if(c[e>>2]|0)if(!a){c[d>>2]=1;break}else{c[d>>2]=ig(c[e>>2]|0,c[f>>2]|0)|0;break}else c[d>>2]=(a|0)!=0?-1:0;while(0);i=g;return c[d>>2]|0}function Ud(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;Ed(1184+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}i=b;return 0}function Vd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+112|0;r=F+108|0;e=F+104|0;D=F+100|0;f=F+96|0;B=F+92|0;p=F+88|0;z=F+84|0;x=F+80|0;j=F+76|0;m=F+72|0;s=F+68|0;h=F+64|0;o=F+60|0;k=F+56|0;q=F+52|0;v=F+16|0;y=F+48|0;g=F+44|0;l=F+40|0;u=F+8|0;t=F;n=F+36|0;A=F+32|0;w=F+28|0;E=F+24|0;c[r>>2]=a;c[e>>2]=b;c[B>>2]=0;c[p>>2]=0;mg(c[(c[r>>2]|0)+24>>2]|0);c[D>>2]=c[(c[r>>2]|0)+28>>2];if(ng(c[D>>2]|0)|0){E=c[D>>2]|0;i=F;return E|0}c[z>>2]=Pf(c[(c[r>>2]|0)+24>>2]|0)|0;c[x>>2]=Pf(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=-1;c[s>>2]=0;if((c[c[r>>2]>>2]|0)!=0?(d[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[D>>2]=5;else c[D>>2]=0;if((c[D>>2]|0)==0?0==(og(c[(c[r>>2]|0)+24>>2]|0)|0):0){c[D>>2]=pg(c[(c[r>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}if(((c[D>>2]|0)==0?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(qg(c[r>>2]|0)|0)==7:0)c[D>>2]=7;if((0==(c[D>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(a=pg(c[(c[r>>2]|0)+4>>2]|0,2)|0,c[D>>2]=a,0==(a|0)):0){c[(c[r>>2]|0)+12>>2]=1;rg(c[(c[r>>2]|0)+4>>2]|0,1,(c[r>>2]|0)+8|0)}c[B>>2]=sg(c[(c[r>>2]|0)+24>>2]|0)|0;c[p>>2]=sg(c[(c[r>>2]|0)+4>>2]|0)|0;c[f>>2]=tg(Pf(c[(c[r>>2]|0)+4>>2]|0)|0)|0;if(0==(c[D>>2]|0)&(c[f>>2]|0)==5?(c[B>>2]|0)!=(c[p>>2]|0):0)c[D>>2]=8;c[m>>2]=ug(c[(c[r>>2]|0)+24>>2]|0)|0;c[j>>2]=0;while(1){if((c[e>>2]|0)>=0?(c[j>>2]|0)>=(c[e>>2]|0):0)break;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;if(!((c[D>>2]|0)!=0^1))break;c[h>>2]=c[(c[r>>2]|0)+16>>2];if((c[h>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[D>>2]=vg(c[z>>2]|0,c[h>>2]|0,o,2)|0,(c[D>>2]|0)==0):0){b=c[r>>2]|0;a=c[h>>2]|0;c[D>>2]=xg(b,a,wg(c[o>>2]|0)|0,0)|0;yg(c[o>>2]|0)}a=(c[r>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}do if(!(c[D>>2]|0)){c[(c[r>>2]|0)+36>>2]=c[m>>2];c[(c[r>>2]|0)+32>>2]=(c[m>>2]|0)+1-(c[(c[r>>2]|0)+16>>2]|0);if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[D>>2]=101;break}if(!(c[(c[r>>2]|0)+40>>2]|0))zg(c[r>>2]|0)}while(0);if((c[D>>2]|0)==101){if(!(c[m>>2]|0)){c[D>>2]=Ag(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=1}if((c[D>>2]|0)==0|(c[D>>2]|0)==101)c[D>>2]=Bg(c[(c[r>>2]|0)+4>>2]|0,1,(c[(c[r>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[D>>2]|0)){if(c[c[r>>2]>>2]|0)Cg(c[c[r>>2]>>2]|0);if((c[f>>2]|0)==5)c[D>>2]=Dg(c[(c[r>>2]|0)+4>>2]|0,2)|0}if(!(c[D>>2]|0)){if((c[B>>2]|0)<(c[p>>2]|0)){c[q>>2]=(c[p>>2]|0)/(c[B>>2]|0)|0;c[k>>2]=((c[m>>2]|0)+(c[q>>2]|0)-1|0)/(c[q>>2]|0)|0;if((c[k>>2]|0)==((((c[384]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=_(c[m>>2]|0,(c[B>>2]|0)/(c[p>>2]|0)|0)|0;if((c[B>>2]|0)<(c[p>>2]|0)){q=c[B>>2]|0;o=c[m>>2]|0;o=aS(q|0,((q|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=o;c[q+4>>2]=C;c[y>>2]=Eg(c[x>>2]|0)|0;Fg(c[x>>2]|0,l);c[g>>2]=c[k>>2];while(1){if(c[D>>2]|0)break;if((c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0)break;do if((c[g>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[D>>2]=vg(c[x>>2]|0,c[g>>2]|0,n,0)|0;if(c[D>>2]|0)break;c[D>>2]=Gg(c[n>>2]|0)|0;yg(c[n>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=Hg(c[x>>2]|0,0,1)|0;o=(c[384]|0)+(c[p>>2]|0)|0;a=((o|0)<0)<<31>>31;q=v;n=c[q+4>>2]|0;if((a|0)<(n|0)|((a|0)==(n|0)?o>>>0<(c[q>>2]|0)>>>0:0)){f=(c[384]|0)+(c[p>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{f=v;e=c[f>>2]|0;f=c[f+4>>2]|0}p=t;c[p>>2]=e;c[p+4>>2]=f;p=(c[384]|0)+(c[B>>2]|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[D>>2]|0)break;p=u;n=c[p+4>>2]|0;q=t;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[A>>2]=0;p=u;q=c[B>>2]|0;q=_R(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=RR(q|0,C|0,1,0)|0;c[w>>2]=q;c[D>>2]=vg(c[z>>2]|0,c[w>>2]|0,A,0)|0;if(!(c[D>>2]|0)){c[E>>2]=wg(c[A>>2]|0)|0;q=u;c[D>>2]=Ig(c[y>>2]|0,c[E>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}yg(c[A>>2]|0);p=c[B>>2]|0;q=u;p=RR(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=C}if(!(c[D>>2]|0)){E=v;c[D>>2]=Jg(c[y>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0}if(!(c[D>>2]|0))c[D>>2]=Kg(c[x>>2]|0,0)|0}else{Lg(c[x>>2]|0,c[k>>2]|0);c[D>>2]=Hg(c[x>>2]|0,0,0)|0}if(!(c[D>>2]|0)){E=Mg(c[(c[r>>2]|0)+4>>2]|0,0)|0;c[D>>2]=E;c[D>>2]=0==(E|0)?101:E}}}if(c[s>>2]|0){Ng(c[(c[r>>2]|0)+24>>2]|0,0)|0;Mg(c[(c[r>>2]|0)+24>>2]|0,0)|0}if((c[D>>2]|0)==3082)c[D>>2]=7;c[(c[r>>2]|0)+28>>2]=c[D>>2];E=c[D>>2]|0;i=F;return E|0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];mg(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Og(Pf(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}Pg(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){lg(c[c[e>>2]>>2]|0,c[g>>2]|0);Qg(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Kd(c[e>>2]|0);Qg(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;if(!(c[d>>2]|0))c[f>>2]=0;else{c[g>>2]=c[d>>2];c[e>>2]=c[c[g>>2]>>2];if(Rg(c[g>>2]|0)|0){c[b>>2]=Lf(75223)|0;g=c[b>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+128|0;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0)Sg(c[e>>2]|0,c[g>>2]|0);c[f>>2]=Tg(c[g>>2]|0)|0;c[f>>2]=Ug(c[e>>2]|0,c[f>>2]|0)|0;Qg(c[e>>2]|0)}c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[e>>2]=0;f=c[e>>2]|0;i=g;return f|0}c[f>>2]=c[b>>2];c[d>>2]=c[c[f>>2]>>2];a=(c[f>>2]|0)+128|0;b=c[a+4>>2]|0;if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)Sg(c[d>>2]|0,c[f>>2]|0);c[e>>2]=Vg(c[f>>2]|0)|0;Wg(c[f>>2]|0);c[e>>2]=Ug(c[d>>2]|0,c[e>>2]|0)|0;f=c[e>>2]|0;i=g;return f|0}function Zd(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[g>>2]=0;c[f>>2]=c[j>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(b[(c[f>>2]|0)+16>>1]|0))break;Xg((c[(c[f>>2]|0)+116>>2]|0)+((c[d>>2]|0)*40|0)|0);b[(c[(c[f>>2]|0)+116>>2]|0)+((c[d>>2]|0)*40|0)+8>>1]=1;c[d>>2]=(c[d>>2]|0)+1}if(!((e[(c[f>>2]|0)+144>>1]|0)>>>9&1)){j=c[g>>2]|0;i=h;return j|0}if(!(c[(c[f>>2]|0)+196>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=(c[f>>2]|0)+144|0;b[j>>1]=b[j>>1]&-2|1;j=c[g>>2]|0;i=h;return j|0}function _d(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=$d(c[d>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}if((e[(c[f>>2]|0)+8>>1]|0)&16384)d=Yg(c[f>>2]|0)|0;else d=0;if(d){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)d=c[(c[f>>2]|0)+16>>2]|0;else d=0;c[g>>2]=d;g=c[g>>2]|0;i=h;return g|0}function $d(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg(c[d>>2]|0,1)|0;i=b;return a|0}function ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=_g(c[d>>2]|0,1)|0;i=b;return a|0}function be(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+$g(c[e>>2]|0);i=d;return +b}function ce(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ah(c[d>>2]|0)|0;i=b;return a|0}function de(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ah(c[d>>2]|0)|0;i=b;return a|0}function ee(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[18138+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;dh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function ge(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;b=j;f=c[b+4>>2]|0;if(f>>>0>0|(f|0)==0&(c[b>>2]|0)>>>0>2147483647){eh(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;i=l;return}else{dh(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);i=l;return}}function he(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;fh(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;gh(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;hh(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;hh(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function le(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ih(c[c[d>>2]>>2]|0);i=b;return}function me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;dh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function ne(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+16|0;l=p+12|0;m=p;n=p+8|0;o=p+20|0;c[k>>2]=b;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;c[n>>2]=h;a[o>>0]=j;if((d[o>>0]|0)==4)a[o>>0]=(a[968]|0)==0?3:2;e=m;h=c[e+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[e>>2]|0)>>>0>2147483647){eh(c[l>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;i=p;return}else{dh(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0);i=p;return}}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;jh(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h+12|0;g=h;k=h+8|0;c[f>>2]=a;j=g;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=c[c[f>>2]>>2];d=g;j=c[d+4>>2]|0;a=c[(c[(c[k>>2]|0)+32>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if(j>>>0>b>>>0|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){c[e>>2]=18;k=c[e>>2]|0;i=h;return k|0}else{kh(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function qe(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){i=h;return}b=c[c[f>>2]>>2]|0;gh(b,lh(c[g>>2]|0)|0,-1,1,0)|0;i=h;return}function re(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;gh(c[c[e>>2]>>2]|0,18170,-1,1,0)|0;i=d;return}function se(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;ih(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;mh(c[(c[c[e>>2]>>2]|0)+32>>2]|0);i=d;return}function te(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;l=o+4|0;n=o;c[f>>2]=d;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[f>>2];c[g>>2]=0;if(nh(c[m>>2]|0)|0){c[e>>2]=Lf(75775)|0;n=c[e>>2]|0;i=o;return n|0}c[h>>2]=c[c[m>>2]>>2];d=(c[m>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3;while(1){d=oh(c[m>>2]|0)|0;c[j>>2]=d;if((d|0)!=17)break;d=c[g>>2]|0;c[g>>2]=d+1;if((d|0)>=50)break;c[l>>2]=c[(c[m>>2]|0)+36>>2];d=ph(c[m>>2]|0)|0;c[j>>2]=d;c[k>>2]=d;if(c[j>>2]|0)break;Yd(c[f>>2]|0)|0;if((c[l>>2]|0)<0)continue;d=(c[m>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3|2}do if(c[k>>2]|0){c[n>>2]=$d(c[(c[h>>2]|0)+244>>2]|0)|0;Tf(c[h>>2]|0,c[(c[m>>2]|0)+108>>2]|0);if(a[(c[h>>2]|0)+69>>0]|0){c[(c[m>>2]|0)+108>>2]=0;c[j>>2]=7;c[(c[m>>2]|0)+40>>2]=7;break}else{n=qh(c[h>>2]|0,c[n>>2]|0)|0;c[(c[m>>2]|0)+108>>2]=n;c[(c[m>>2]|0)+40>>2]=c[k>>2];break}}while(0);c[j>>2]=Ug(c[h>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=o;return n|0}function ue(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function ve(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function we(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=rh(b,c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function xe(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}f=e[(c[b>>2]|0)+140>>1]|0;i=d;return f|0}function ye(a){a=a|0;var b=0,d=0,f=0,g=0;f=i;i=i+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+104>>2]|0)!=0:0){c[b>>2]=e[(c[d>>2]|0)+140>>1];g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=_d(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ae(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+be(th(c[f>>2]|0,c[g>>2]|0)|0);uh(c[f>>2]|0);i=e;return +(+h[d>>3])}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ce(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;b=de(th(c[f>>2]|0,c[g>>2]|0)|0)|0;a=e;c[a>>2]=b;c[a+4>>2]=C;uh(c[f>>2]|0);a=e;C=c[a+4>>2]|0;i=d;return c[a>>2]|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=$d(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function Fe(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;j=h+4|0;g=h;c[f>>2]=a;c[j>>2]=d;c[g>>2]=th(c[f>>2]|0,c[j>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){j=c[f>>2]|0;uh(j);j=c[g>>2]|0;i=h;return j|0}j=(c[g>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-2049;j=(c[g>>2]|0)+8|0;b[j>>1]=e[j>>1]|0|4096;j=c[f>>2]|0;uh(j);j=c[g>>2]|0;i=h;return j|0}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ee(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=vh(c[f>>2]|0,c[e>>2]|0,169,0)|0;i=d;return a|0}function Ie(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=wh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return d|0}function Je(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;f=k;j=k+12|0;g=k+8|0;c[l>>2]=a;c[e>>2]=b;h[f>>3]=d;c[g>>2]=c[l>>2];c[j>>2]=xh(c[g>>2]|0,c[e>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}fh((c[(c[g>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);l=c[j>>2]|0;i=k;return l|0}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Le(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k+16|0;g=k;j=k+12|0;h=k+8|0;c[l>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=xh(c[h>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=g;hh((c[(c[h>>2]|0)+116>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=xh(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Ne(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=wh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return d|0}function Oe(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=f;switch(ee(c[k>>2]|0)|0){case 1:{k=c[k>>2]|0;c[l>>2]=Le(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}case 2:{c[l>>2]=Je(c[g>>2]|0,c[j>>2]|0,+h[c[k>>2]>>3])|0;l=c[l>>2]|0;i=m;return l|0}case 4:{b=c[g>>2]|0;g=c[j>>2]|0;d=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16384){c[l>>2]=Pe(b,g,c[d>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=Ie(b,g,c[d+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1)|0;l=c[l>>2]|0;i=m;return l|0}}case 3:{c[l>>2]=wh(c[g>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1,a[(c[k>>2]|0)+10>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}default:{c[l>>2]=Me(c[g>>2]|0,c[j>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}}return 0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[k>>2];c[h>>2]=xh(c[g>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}kh((c[(c[g>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Qe(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=e;return f|0}f=b[(c[d>>2]|0)+16>>1]|0;i=e;return f|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=yh(a,b,Jf(c[e>>2]|0)|0)|0;i=d;return b|0}function Se(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+176>>2]|0;i=d;return e|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=ee(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){a=c[d>>2]|0;i=f;return a|0}c[e>>2]=c[b>>2];Bh(c[e>>2]|0,0);c[d>>2]=ee(c[b>>2]|0)|0;a=c[d>>2]|0;i=f;return a|0}function Ue(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;o=Q+128|0;p=Q+124|0;G=Q+120|0;q=Q;r=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;c[F>>2]=f;c[o>>2]=g;c[p>>2]=h;c[G>>2]=j;h=q;c[h>>2]=k;c[h+4>>2]=l;c[r>>2]=m;c[H>>2]=n;c[x>>2]=0;c[K>>2]=0;c[O>>2]=0;c[J>>2]=0;c[I>>2]=0;c[c[H>>2]>>2]=0;c[r>>2]=((c[r>>2]|0)!=0^1^1)&1;c[I>>2]=sh(c[F>>2]|0,36,0)|0;a:do if((c[I>>2]|0)!=0?(c[J>>2]=Ch(c[F>>2]|0,480,0)|0,(c[J>>2]|0)!=0):0){while(1){VR(c[J>>2]|0,0,480)|0;c[c[J>>2]>>2]=c[F>>2];Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=0;Of(c[F>>2]|0);c[A>>2]=Dh(c[J>>2]|0,0,c[p>>2]|0,c[o>>2]|0)|0;if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&16|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[C>>2]=c[p>>2];Eh(h,18193,C)}if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&32|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[D>>2]=c[p>>2];Eh(h,18223,D)}if((c[A>>2]|0)!=0?(c[(c[A>>2]|0)+12>>2]|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[E>>2]=c[p>>2];Eh(h,18259,E)}if(!(c[A>>2]|0)){k=13;break}c[(c[I>>2]|0)+32>>2]=c[A>>2];h=Fh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;c[(c[I>>2]|0)+28>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(h<<4)>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;if(!(ig(c[(c[(c[A>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0,c[G>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(b[(c[A>>2]|0)+34>>1]|0)){k=21;break}if(c[r>>2]|0){c[P>>2]=0;b:do if(c[(c[F>>2]|0)+24>>2]&524288){c[y>>2]=c[(c[A>>2]|0)+16>>2];while(1){if(!(c[y>>2]|0))break b;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;if((c[(c[y>>2]|0)+36+(c[v>>2]<<3)>>2]|0)==(c[t>>2]|0))c[P>>2]=18301;c[v>>2]=(c[v>>2]|0)+1}c[y>>2]=c[(c[y>>2]|0)+4>>2]}}while(0);c[z>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[z>>2]|0)+50>>1]|0))break;if(!((b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=(c[t>>2]|0)?(b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=-2:0))c[P>>2]=18313;c[w>>2]=(c[w>>2]|0)+1}c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(c[P>>2]|0){k=42;break}}h=Hh(c[J>>2]|0)|0;c[(c[I>>2]|0)+20>>2]=h;if(c[(c[I>>2]|0)+20>>2]|0){c[B>>2]=c[(c[I>>2]|0)+20>>2];c[u>>2]=Fh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;Ih(c[B>>2]|0,2,c[u>>2]|0,c[r>>2]|0,c[c[(c[A>>2]|0)+64>>2]>>2]|0,c[(c[(c[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Jh(c[B>>2]|0,1);c[s>>2]=Kh(c[B>>2]|0,9,18355,0)|0;Lh(c[B>>2]|0,c[u>>2]|0);if(!(d[(c[F>>2]|0)+69>>0]|0)){c[(c[s>>2]|0)+4>>2]=c[u>>2];c[(c[s>>2]|0)+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+12>>2]=c[r>>2];Mh(c[B>>2]|0,1,c[c[A>>2]>>2]|0,0)}if(!(d[(c[F>>2]|0)+69>>0]|0)){if(c[r>>2]|0)a[(c[s>>2]|0)+20>>0]=105;c[(c[s>>2]|0)+20+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+20+12>>2]=c[u>>2];a[(c[s>>2]|0)+20+1>>0]=-14;c[(c[s>>2]|0)+20+16>>2]=(b[(c[A>>2]|0)+34>>1]|0)+1;c[(c[s>>2]|0)+80+8>>2]=b[(c[A>>2]|0)+34>>1];b[(c[J>>2]|0)+400>>1]=1;c[(c[J>>2]|0)+44>>2]=1;c[(c[J>>2]|0)+40>>2]=1;Nh(c[B>>2]|0,c[J>>2]|0)}}c[c[I>>2]>>2]=c[r>>2];c[(c[I>>2]|0)+12>>2]=c[t>>2];c[(c[I>>2]|0)+24>>2]=c[F>>2];if(a[(c[F>>2]|0)+69>>0]|0)break a;h=q;Le(c[(c[I>>2]|0)+20>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;h=q;c[K>>2]=Oh(c[I>>2]|0,c[h>>2]|0,c[h+4>>2]|0,O)|0;h=(c[x>>2]|0)+1|0;c[x>>2]=h;if(!((h|0)<50?(c[K>>2]|0)==17:0))break a}if((k|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[K>>2]=1;break}else if((k|0)==21){Tf(c[F>>2]|0,c[O>>2]|0);P=c[F>>2]|0;c[N>>2]=c[G>>2];c[O>>2]=Gh(P,18280,N)|0;c[K>>2]=1;break}else if((k|0)==42){Tf(c[F>>2]|0,c[O>>2]|0);N=c[F>>2]|0;c[L>>2]=c[P>>2];c[O>>2]=Gh(N,18321,L)|0;c[K>>2]=1;break}}while(0);if((c[K>>2]|0)==0?(d[(c[F>>2]|0)+69>>0]|0)==0:0){c[c[H>>2]>>2]=c[I>>2];L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?18391:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Ph(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Ug(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}if((c[I>>2]|0)!=0?(c[(c[I>>2]|0)+20>>2]|0)!=0:0)Tg(c[(c[I>>2]|0)+20>>2]|0)|0;Tf(c[F>>2]|0,c[I>>2]|0);L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?18391:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Ph(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Ug(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0){c[b>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=Xd(c[(c[d>>2]|0)+20>>2]|0)|0;Tf(c[b>>2]|0,c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}return 0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Rh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,138)|0;i=f;return b|0}function Xe(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;i=d;return e|0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;j=m+24|0;h=m+20|0;g=m+16|0;l=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=Lf(84814)|0;n=c[e>>2]|0;i=m;return n|0}c[g>>2]=c[(c[h>>2]|0)+24>>2];if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[j>>2]=Oh(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,l)|0;if(c[j>>2]|0){h=c[g>>2]|0;a=c[j>>2]|0;n=(c[l>>2]|0)!=0?18391:0;c[k>>2]=c[l>>2];jg(h,a,n,k);Tf(c[g>>2]|0,c[l>>2]|0)}}else c[j>>2]=4;c[j>>2]=Ug(c[g>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=m;return n|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Th(c[f>>2]|0,c[e>>2]|0,18394,91)|0)==0&1;i=d;return b|0}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=(Th(c[h>>2]|0,c[g>>2]|0,18398,c[f>>2]|0)|0)==0&1;i=e;return b|0}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;j=z+56|0;k=z+52|0;l=z+48|0;m=z+44|0;n=z+40|0;o=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;p=z+20|0;r=z+16|0;t=z+12|0;q=z+8|0;s=z+4|0;u=z;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=0;c[v>>2]=0;c[p>>2]=0;if(!(Uh(c[k>>2]|0)|0)){c[j>>2]=Lf(109597)|0;y=c[j>>2]|0;i=z;return y|0}if(!(c[l>>2]|0))c[l>>2]=18402;lg(c[k>>2]|0,0);a:while(1){if(c[w>>2]|0)break;if(!(a[c[l>>2]>>0]|0))break;c[q>>2]=0;c[v>>2]=0;c[w>>2]=af(c[k>>2]|0,c[l>>2]|0,-1,v,x)|0;if(c[w>>2]|0)continue;if(!(c[v>>2]|0)){c[l>>2]=c[x>>2];continue}c[r>>2]=0;c[t>>2]=xe(c[v>>2]|0)|0;do{c[w>>2]=te(c[v>>2]|0)|0;do if(c[m>>2]|0){if(100!=(c[w>>2]|0)){if(101!=(c[w>>2]|0)|(c[r>>2]|0)!=0)break;if(!(c[(c[k>>2]|0)+24>>2]&256))break}if(!(c[r>>2]|0)){c[p>>2]=sh(c[k>>2]|0,(c[t>>2]<<1<<2)+1|0,0)|0;if(!(c[p>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=He(c[v>>2]|0,c[s>>2]|0)|0;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=e;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}b:do if((c[w>>2]|0)==100){c[q>>2]=(c[p>>2]|0)+(c[t>>2]<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break b;e=Ee(c[v>>2]|0,c[s>>2]|0)|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=e;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)==0?(Ge(c[v>>2]|0,c[s>>2]|0)|0)!=5:0){y=27;break a}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(Wb[c[m>>2]&255](c[n>>2]|0,c[t>>2]|0,c[q>>2]|0,c[p>>2]|0)|0){y=30;break a}}while(0)}while((c[w>>2]|0)==100);c[w>>2]=Tg(c[v>>2]|0)|0;c[v>>2]=0;c[l>>2]=c[x>>2];while(1){if(!(d[18403+(d[c[l>>2]>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}Tf(c[k>>2]|0,c[p>>2]|0);c[p>>2]=0}if((y|0)==27)mh(c[k>>2]|0);else if((y|0)==30){c[w>>2]=4;Tg(c[v>>2]|0)|0;c[v>>2]=0;lg(c[k>>2]|0,4)}if(c[v>>2]|0)Tg(c[v>>2]|0)|0;Tf(c[k>>2]|0,c[p>>2]|0);c[w>>2]=Ug(c[k>>2]|0,c[w>>2]|0)|0;do if((c[w>>2]|0)!=0&(c[o>>2]|0)!=0){c[u>>2]=1+(Jf(bf(c[k>>2]|0)|0)|0);y=c[u>>2]|0;y=$f(y,((y|0)<0)<<31>>31)|0;c[c[o>>2]>>2]=y;if(c[c[o>>2]>>2]|0){e=c[c[o>>2]>>2]|0;y=bf(c[k>>2]|0)|0;TR(e|0,y|0,c[u>>2]|0)|0;break}else{c[w>>2]=7;lg(c[k>>2]|0,7);break}}else if(c[o>>2]|0)c[c[o>>2]>>2]=0;while(0);c[j>>2]=c[w>>2];y=c[j>>2]|0;i=z;return y|0}function af(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Vh(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function bf(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=lh(7)|0;f=c[d>>2]|0;i=g;return f|0}if(!(Wh(c[e>>2]|0)|0)){c[d>>2]=lh(Lf(140046)|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(a[(c[e>>2]|0)+69>>0]|0)){c[f>>2]=$d(c[(c[e>>2]|0)+244>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=lh(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=lh(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Vh(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Xh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return b|0}function ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;b=Xh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function ff(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;n=s+24|0;p=s+20|0;o=s+16|0;r=s+12|0;m=s+8|0;l=s+4|0;c[h>>2]=e;c[j>>2]=f;c[p>>2]=0;c[r>>2]=0;c[k>>2]=c[(c[h>>2]|0)+336>>2];if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[o>>2]=c[(c[k>>2]|0)+4>>2];c[n>>2]=sh(c[h>>2]|0,480,0)|0;if(!(c[n>>2]|0))c[p>>2]=7;else{a[(c[n>>2]|0)+410>>0]=1;c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+136>>2]=1;if((((0==(Yh(c[n>>2]|0,c[j>>2]|0,r)|0)?(c[(c[n>>2]|0)+440>>2]|0)!=0:0)?(a[(c[h>>2]|0)+69>>0]|0)==0:0)?(c[(c[(c[n>>2]|0)+440>>2]|0)+12>>2]|0)==0:0)?(d[(c[(c[n>>2]|0)+440>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[o>>2]|0)+4>>2]|0)){c[m>>2]=c[(c[n>>2]|0)+440>>2];c[(c[o>>2]|0)+4>>2]=c[(c[m>>2]|0)+4>>2];b[(c[o>>2]|0)+34>>1]=b[(c[m>>2]|0)+34>>1]|0;r=(c[o>>2]|0)+42|0;a[r>>0]=d[r>>0]|d[(c[m>>2]|0)+42>>0]&96;b[(c[m>>2]|0)+34>>1]=0;c[(c[m>>2]|0)+4>>2]=0;if((d[(c[m>>2]|0)+42>>0]&32|0)!=0?(c[(c[c[(c[c[k>>2]>>2]|0)+4>>2]>>2]|0)+52>>2]|0)!=0:0)c[p>>2]=1;c[l>>2]=c[(c[m>>2]|0)+8>>2];if(c[l>>2]|0){c[(c[o>>2]|0)+8>>2]=c[l>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[l>>2]|0)+12>>2]=c[o>>2]}}c[(c[k>>2]|0)+12>>2]=1}else{o=c[h>>2]|0;f=(c[r>>2]|0)!=0?18391:0;c[q>>2]=c[r>>2];jg(o,1,f,q);Tf(c[h>>2]|0,c[r>>2]|0);c[p>>2]=1}a[(c[n>>2]|0)+410>>0]=0;if(c[(c[n>>2]|0)+8>>2]|0)Tg(c[(c[n>>2]|0)+8>>2]|0)|0;Rf(c[h>>2]|0,c[(c[n>>2]|0)+440>>2]|0);Ph(c[n>>2]|0);Tf(c[h>>2]|0,c[n>>2]|0)}c[p>>2]=Ug(c[h>>2]|0,c[p>>2]|0)|0;c[g>>2]=c[p>>2];r=c[g>>2]|0;i=s;return r|0}lg(c[h>>2]|0,21);c[g>>2]=Lf(123278)|0;r=c[g>>2]|0;i=s;return r|0}function gf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[18659+((d[(c[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+28|0;l=k+24|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[l>>2]=d;c[j>>2]=0;c[g>>2]=e;do if((c[l>>2]|0)==1){c[h>>2]=c[(c[f>>2]|0)+336>>2];if(c[h>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);l=c[e>>2]|0;c[g>>2]=e+4;a[(c[c[h>>2]>>2]|0)+16>>0]=l;break}else{c[j>>2]=Lf(123749)|0;break}}else c[j>>2]=Lf(123757)|0;while(0);if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}lg(c[f>>2]|0,c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}function jf(){return 17598}function kf(){return 18677}function lf(){return 3015001}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+48|0;h=k+44|0;d=k+40|0;e=k+24|0;j=k+16|0;g=k+8|0;f=k;c[d>>2]=a;c[j>>2]=0;if(c[59]|0){c[h>>2]=Lf(138190)|0;j=c[h>>2]|0;i=k;return j|0}c[e>>2]=b;do switch(c[d>>2]|0){case 4:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[12]=c[b>>2];c[13]=c[b+4>>2];c[14]=c[b+8>>2];c[15]=c[b+12>>2];c[16]=c[b+16>>2];c[17]=c[b+20>>2];c[18]=c[b+24>>2];c[19]=c[b+28>>2];break}case 5:{if(!(c[12]|0))$h();g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[b>>2]=c[12];c[b+4>>2]=c[13];c[b+8>>2]=c[14];c[b+12>>2]=c[15];c[b+16>>2]=c[16];c[b+20>>2]=c[17];c[b+24>>2]=c[18];c[b+28>>2]=c[19];break}case 9:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[2]=b;break}case 6:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[50]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[51]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[52]=b;break}case 7:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[53]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[54]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[55]=b;break}case 24:{g=(ai()|0)+(bi()|0)+(ci()|0)|0;a=(c[e>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[e>>2]=a+4;c[b>>2]=g;break}case 14:break;case 15:{c[j>>2]=1;break}case 18:{d=(c[e>>2]|0)+(4-1)&~(4-1);f=c[d>>2]|0;c[e>>2]=d+4;d=116;e=f;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 19:{if(!(c[31]|0))di();f=(c[e>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[e>>2]=f+4;e=116;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 13:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[9]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[10]=b;break}case 16:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[66]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[67]=b;break}case 17:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[5]=b;break}case 20:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[6]=b;break}case 22:{b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=g;c[b>>2]=d;c[b+4>>2]=a;b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;e=f;c[e>>2]=d;c[e+4>>2]=a;e=f;b=c[e+4>>2]|0;e=(c[f+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[e>>2]|0)>>>0>0);b=f;c[b>>2]=e?0:d;c[b+4>>2]=e?0:a;if((c[g+4>>2]|0)<0){b=g;c[b>>2]=0;c[b+4>>2]=0}a=g;d=c[a+4>>2]|0;b=f;e=c[b+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){e=f;a=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=a}b=c[f+4>>2]|0;a=192;c[a>>2]=c[f>>2];c[a+4>>2]=b;a=g;g=c[a+4>>2]|0;b=184;c[b>>2]=c[a>>2];c[b+4>>2]=g;break}case 25:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[58]=b;break}case 26:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[11]=b;break}default:c[j>>2]=1}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Pf(c[e>>2]|0)|0;ei(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}i=g;return 0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;e=r+52|0;f=r+48|0;g=r+32|0;o=r+28|0;m=r+24|0;p=r+20|0;h=r+16|0;j=r+12|0;l=r+8|0;n=r+4|0;k=r;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;switch(c[f>>2]|0){case 1e3:{d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[c[(c[e>>2]|0)+16>>2]>>2]=q;c[o>>2]=0;q=c[o>>2]|0;i=r;return q|0}case 1001:{d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[m>>2]=q;q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[p>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[h>>2]=q;c[o>>2]=gi(c[e>>2]|0,c[m>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;q=c[o>>2]|0;i=r;return q|0}default:{c[o>>2]=1;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=4){q=17;break}if((c[1548+(c[j>>2]<<3)>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}if((q|0)==17){q=c[o>>2]|0;i=r;return q|0}q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[l>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[n>>2]=q;c[k>>2]=c[(c[e>>2]|0)+24>>2];if((c[l>>2]|0)<=0){if(!(c[l>>2]|0)){q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]&~c[1548+(c[j>>2]<<3)+4>>2]}}else{q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]|c[1548+(c[j>>2]<<3)+4>>2]}if((c[k>>2]|0)!=(c[(c[e>>2]|0)+24>>2]|0))Sh(c[e>>2]|0);if(c[n>>2]|0)c[c[n>>2]>>2]=(c[(c[e>>2]|0)+24>>2]&c[1548+(c[j>>2]<<3)+4>>2]|0)!=0&1;c[o>>2]=0;q=c[o>>2]|0;i=r;return q|0}}return 0}function pf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function qf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+88>>2]|0}function rf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+92>>2]|0}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hi(c[d>>2]|0,0)|0;i=b;return a|0}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hi(c[d>>2]|0,1)|0;i=b;return a|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+380>>2]=c[h>>2];c[(c[f>>2]|0)+380+4>>2]=c[g>>2];c[(c[f>>2]|0)+380+8>>2]=0;c[(c[f>>2]|0)+428>>2]=0;i=e;return 0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){uf(a,178,c[d>>2]|0)|0;c[(c[d>>2]|0)+428>>2]=c[e>>2];i=f;return 0}else{uf(a,0,0)|0;i=f;return 0}return 0}function wf(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;s=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;n=k+8|0;m=k+4|0;l=k;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[l>>2]=j;b=xf(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0)|0;i=k;return b|0}function xf(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=1;c[u>>2]=0;do if(c[t>>2]|0){c[u>>2]=sh(c[l>>2]|0,12,0)|0;a=c[t>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[p>>2];w=5;break}else{Qb[a&255](c[p>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[v>>2]=ji(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[u>>2]|0)|0,(c[u>>2]|0)!=0):0)?(c[c[u>>2]>>2]|0)==0:0){Qb[c[t>>2]&255](c[p>>2]|0);Tf(c[l>>2]|0,c[u>>2]|0)}c[v>>2]=Ug(c[l>>2]|0,c[v>>2]|0)|0;i=x;return c[v>>2]|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(ki(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=ji(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,224,0,0,0)|0;c[h>>2]=Ug(c[e>>2]|0,c[h>>2]|0)|0;i=j;return c[h>>2]|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){Af(a,139,c[d>>2]|0)|0;i=e;return 0}else{Af(a,0,0)|0;i=e;return 0}return 0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+228>>2];c[(c[g>>2]|0)+224>>2]=c[j>>2];c[(c[g>>2]|0)+228>>2]=c[h>>2];i=f;return c[e>>2]|0}function Bf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;o=r+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=10;if(c[m>>2]|0)c[c[m>>2]>>2]=-1;if(c[n>>2]|0)c[c[n>>2]>>2]=-1;if((c[l>>2]|0)<0|(c[l>>2]|0)>3){c[h>>2]=21;d=c[h>>2]|0;i=r;return d|0}if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)c[o>>2]=ni(c[j>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){c[p>>2]=1;d=c[j>>2]|0;c[q>>2]=c[k>>2];jg(d,1,18738,q)}else{c[(c[j>>2]|0)+380+8>>2]=0;c[p>>2]=oi(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;lg(c[j>>2]|0,c[p>>2]|0)}c[p>>2]=Ug(c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=c[p>>2];d=c[h>>2]|0;i=r;return d|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Bf(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return b|0}function Df(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(Wh(c[e>>2]|0)|0)==0:0){c[b>>2]=Lf(140115)|0;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(d[(c[e>>2]|0)+69>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];a=c[b>>2]|0;i=f;return a|0}c[b>>2]=7;a=c[b>>2]|0;i=f;return a|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[1580+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[1580+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=qi(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;o=m+28|0;n=m+24|0;f=m+20|0;g=m+16|0;l=m+12|0;j=m+8|0;k=m+4|0;h=m;c[o>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=e;c[l>>2]=1;c[j>>2]=xi(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[j>>2]|0)){o=c[l>>2]|0;i=m;return o|0}mg(c[j>>2]|0);c[k>>2]=Pf(c[j>>2]|0)|0;c[h>>2]=Eg(c[k>>2]|0)|0;if((c[f>>2]|0)==7){c[c[g>>2]>>2]=c[h>>2];c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==27){o=yi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==28){o=zi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if(c[c[h>>2]>>2]|0){c[l>>2]=Ai(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;o=c[l>>2]|0;i=m;return o|0}else{c[l>>2]=12;o=c[l>>2]|0;i=m;return o|0}return 0}function Hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=hR(c[e>>2]|0,c[f>>2]|0)|0;d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(Jf(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Hf(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){j=(Gi(c[f>>2]|0,c[e>>2]&255)|0)&255;i=g;return j|0}else{j=c[e>>2]|0;i=g;return j|0}return 0}function Jf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(kR(c[d>>2]|0)|0);i=e;return c[b>>2]|0}function Kf(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return ((d[18403+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Lf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rj(21,c[d>>2]|0,45606)|0;i=b;return a|0}function Mf(){return c[428]|0}function Nf(){return c[72]|0}function Of(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Pf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}ov(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Tf(c[d>>2]|0,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);iv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);kv(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function Rf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=h;return}if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))g=4;if((g|0)==4?(d=(c[f>>2]|0)+36|0,g=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=g,(g&65535|0)>0):0){i=h;return}sQ(c[e>>2]|0,c[f>>2]|0);i=h;return}function Sf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;g=l+8|0;f=l+4|0;k=l;c[h>>2]=a;c[j>>2]=d;OC(c[(c[j>>2]|0)+100>>2]|0,e[(c[j>>2]|0)+140>>1]<<1);c[g>>2]=c[(c[j>>2]|0)+200>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=c[(c[g>>2]|0)+20>>2];rQ(c[h>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[h>>2]|0,c[g>>2]|0);c[g>>2]=c[f>>2]}if((c[(c[j>>2]|0)+20>>2]|0)!=381479589){OC(c[(c[j>>2]|0)+116>>2]|0,b[(c[j>>2]|0)+16>>1]|0);c[k>>2]=(b[(c[j>>2]|0)+18>>1]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<0)break;Tf(a,c[(c[(c[j>>2]|0)+120>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}Tf(a,c[(c[j>>2]|0)+120>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+180>>2]|0)}rQ(c[h>>2]|0,c[(c[j>>2]|0)+88>>2]|0,c[(c[j>>2]|0)+136>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+100>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+176>>2]|0);i=l;return}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+456>>2]|0){qQ(a,b);i=g;return}if(lu(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+256+28>>2];c[(c[d>>2]|0)+256+28>>2]=c[f>>2];f=(c[d>>2]|0)+256+8|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}}Kd(c[e>>2]|0);i=g;return}function Uf(){var a=0,b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;a=g+12|0;b=g+8|0;f=g+4|0;d=g;if(!(c[12]|0))$h();c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[78]=0;c[79]=0;c[72]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[f>>2]=c[51]&-8;c[51]=c[f>>2];c[d>>2]=c[50];c[b>>2]=c[52];c[77]=c[d>>2];c[78]=c[b>>2];c[a>>2]=0;while(1){if((c[a>>2]|0)>=((c[b>>2]|0)-1|0))break;c[c[d>>2]>>2]=(c[d>>2]|0)+(c[f>>2]|0);c[d>>2]=c[c[d>>2]>>2];c[a>>2]=(c[a>>2]|0)+1}c[c[d>>2]>>2]=0;c[76]=(c[d>>2]|0)+4}else{c[76]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[e>>2]=Tb[c[68>>2]&255](c[19]|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;i=g;return f|0};c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[78]=0;c[79]=0;f=c[e>>2]|0;i=g;return f|0}function Vf(){$O();aP();bP(6956,57);return}function Wf(){if(!(c[31]|0))di();return Tb[c[124>>2]&255](c[30]|0)|0}function Xf(){var a=0,b=0,d=0;d=i;i=i+16|0;a=d+4|0;b=d;c[b>>2]=Id(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;i=d;return b|0}else{Kd(c[b>>2]|0);c[a>>2]=Ud()|0;b=c[a>>2]|0;i=d;return b|0}return 0}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[420]|0)){i=j;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[423]=c[f>>2];b=c[g>>2]|0;c[430]=b;c[424]=b;if((c[g>>2]|0)>90)d=10;else d=((c[g>>2]|0)/10|0)+1|0;c[425]=d;c[426]=c[e>>2];c[429]=0;c[431]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;d=c[e>>2]|0;if(!b)break;c[h>>2]=d;c[c[h>>2]>>2]=c[429];c[429]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[427]=d;i=j;return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}if((c[272]|0)==(c[d>>2]|0)){c[272]=c[(c[d>>2]|0)+12>>2];i=f;return}if(!(c[272]|0)){i=f;return}c[e>>2]=c[272];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=f;return}function _f(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;C=0;i=d;return c[1008+(c[b>>2]<<2)>>2]|0}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}if(c[2]|0){_O(c[d>>2]|0,e)|0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=Tb[c[48>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}return 0}function ag(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[60>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=1008+(c[f>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[e>>2]|0);i=d;return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;e=m+28|0;f=m+24|0;g=m;k=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;b=c[d>>2]|0;d=c[d+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=$f(b,d)|0;l=c[e>>2]|0;i=m;return l|0}if((b|0)==0&(d|0)==0){Kd(c[f>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=g;d=c[a+4>>2]|0;if(d>>>0>0|(d|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=ag(c[f>>2]|0)|0;c[j>>2]=Tb[c[64>>2]&255](c[g>>2]|0)|0;do if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[2]|0)){c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;break}Ri(5,c[g>>2]|0);c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);d=_f(0)|0;n=C;b=296;a=c[h>>2]|0;a=QR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=C;if((n|0)>(b|0)|(n|0)==(b|0)&d>>>0>=a>>>0)ZO(c[h>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;n=296;h=c[n+4>>2]|0;if((c[l>>2]|0)==0&((h|0)>0|(h|0)==0&(c[n>>2]|0)>>>0>0)){ZO(c[g>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0}if(c[l>>2]|0){c[j>>2]=ag(c[l>>2]|0)|0;Si(0,(c[j>>2]|0)-(c[k>>2]|0)|0)}}else c[l>>2]=c[f>>2];while(0);c[e>>2]=c[l>>2];n=c[e>>2]|0;i=m;return n|0}function dg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;m=h+12|0;n=h+8|0;l=h+4|0;k=h;c[j>>2]=b;c[m>>2]=d;c[n>>2]=e;c[l>>2]=f;c[k>>2]=g;e=c[n>>2]|0;c[(c[j>>2]|0)+4>>2]=e;c[(c[j>>2]|0)+8>>2]=e;c[c[j>>2]>>2]=c[m>>2];c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=c[l>>2];c[(c[j>>2]|0)+20>>2]=c[k>>2];a[(c[j>>2]|0)+24>>0]=0;a[(c[j>>2]|0)+25>>0]=0;i=h;return}function eg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=i;i=i+272|0;j=ra+176|0;k=ra+172|0;l=ra+168|0;q=ra+164|0;p=ra+160|0;aa=ra+156|0;Q=ra+152|0;K=ra+148|0;ja=ra+144|0;B=ra+268|0;F=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;H=ra+263|0;D=ra+262|0;E=ra+261|0;t=ra+260|0;na=ra+259|0;m=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;L=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;G=ra+254|0;X=ra+112|0;o=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;n=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;I=ra+88|0;U=ra+84|0;J=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;r=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;a[na>>0]=16;c[oa>>2]=0;c[X>>2]=0;c[p>>2]=0;if(a[(c[j>>2]|0)+25>>0]|0){b=d[(c[j>>2]|0)+25>>0]&2;a[m>>0]=b;if(b&255){e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[X>>2]=b}a[ha>>0]=d[(c[j>>2]|0)+25>>0]&1}else{a[ha>>0]=0;a[m>>0]=0}a:while(1){b=a[c[k>>2]>>0]|0;c[q>>2]=b;if(!b){qa=268;break}if((c[q>>2]|0)!=37){c[p>>2]=c[k>>2];do{c[k>>2]=(c[k>>2]|0)+1;if(!(a[c[k>>2]>>0]|0))break}while((a[c[k>>2]>>0]|0)!=37);sA(c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)-(c[p>>2]|0)|0);if(!(a[c[k>>2]>>0]|0)){qa=268;break}}b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b;if(!b){qa=13;break}a[H>>0]=0;a[y>>0]=0;a[x>>0]=0;a[z>>0]=0;a[F>>0]=0;a[B>>0]=0;a[t>>0]=0;do{switch(c[q>>2]|0){case 45:{a[B>>0]=1;break}case 43:{a[F>>0]=1;break}case 32:{a[z>>0]=1;break}case 35:{a[x>>0]=1;break}case 33:{a[y>>0]=1;break}case 48:{a[H>>0]=1;break}default:a[t>>0]=1}if(a[t>>0]|0)break;b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b}while((b|0)!=0);if((c[q>>2]|0)==42){if(a[m>>0]|0){b=UO(c[X>>2]|0)|0;c[ja>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[ja>>2]=b}if((c[ja>>2]|0)<0){a[B>>0]=1;c[ja>>2]=(c[ja>>2]|0)>=-2147483647?0-(c[ja>>2]|0)|0:0}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}else{c[ka>>2]=0;while(1){f=c[ka>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ka>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[ja>>2]=f&2147483647}do if((c[q>>2]|0)==46){b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)!=42){c[ca>>2]=0;while(1){f=c[ca>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ca>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[aa>>2]=f&2147483647;break}if(a[m>>0]|0){b=UO(c[X>>2]|0)|0;c[aa>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[aa>>2]=b}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[aa>>2]|0)<0)c[aa>>2]=(c[aa>>2]|0)>=-2147483647?0-(c[aa>>2]|0)|0:-1}else c[aa>>2]=-1;while(0);do if((c[q>>2]|0)==108){a[D>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)==108){a[E>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];break}else{a[E>>0]=0;break}}else{a[E>>0]=0;a[D>>0]=0}while(0);c[L>>2]=44615;a[na>>0]=16;c[K>>2]=0;while(1){if((c[K>>2]|0)>=23)break;f=c[K>>2]|0;if((c[q>>2]|0)==(a[44615+((c[K>>2]|0)*6|0)>>0]|0)){qa=56;break}c[K>>2]=f+1}if((qa|0)==56){qa=0;c[L>>2]=44615+(f*6|0);if((d[ha>>0]|0)==0?(d[(c[L>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}a[na>>0]=a[(c[L>>2]|0)+3>>0]|0}b:do switch(d[na>>0]|0){case 13:{a[E>>0]=0;a[D>>0]=1;qa=62;break}case 0:case 15:{qa=62;break}case 3:case 2:case 1:{if(a[m>>0]|0)h[ea>>3]=+VO(c[X>>2]|0);else{b=c[l>>2]|0;e=(c[b>>2]|0)+(8-1)&~(8-1);g=+h[e>>3];c[b>>2]=e+8;h[ea>>3]=g}if((c[aa>>2]|0)<0)c[aa>>2]=6;do if(!(+h[ea>>3]<0.0)){if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{h[ea>>3]=-+h[ea>>3];a[ba>>0]=45}while(0);if((d[na>>0]|0)==3&(c[aa>>2]|0)>0)c[aa>>2]=(c[aa>>2]|0)+-1;c[K>>2]=c[aa>>2]&4095;h[fa>>3]=.5;while(1){if((c[K>>2]|0)<=0)break;c[K>>2]=(c[K>>2]|0)+-1;h[fa>>3]=+h[fa>>3]*.1}if((d[na>>0]|0)==1)h[ea>>3]=+h[ea>>3]+ +h[fa>>3];c[w>>2]=0;if(qG(+h[ea>>3])|0){c[p>>2]=44802;c[Q>>2]=3;break b}if(+h[ea>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.e+100?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[w>>2]=(c[w>>2]|0)+100}while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.0e10?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[w>>2]=(c[w>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[ea>>3]>=+h[ga>>3]*10.0?(c[w>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[w>>2]=(c[w>>2]|0)+1}h[ea>>3]=+h[ea>>3]/g;while(1){if(!(+h[ea>>3]<1.0e-08))break;h[ea>>3]=+h[ea>>3]*1.0e8;c[w>>2]=(c[w>>2]|0)-8}while(1){if(!(+h[ea>>3]<1.0))break;h[ea>>3]=+h[ea>>3]*10.0;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>350){c[p>>2]=o;a[o>>0]=a[ba>>0]|0;b=o+((a[ba>>0]|0)!=0&1)|0;a[b>>0]=a[44806]|0;a[b+1>>0]=a[44807]|0;a[b+2>>0]=a[44808]|0;a[b+3>>0]=a[44809]|0;c[Q>>2]=3+((a[ba>>0]|0)!=0&1);break b}}c[p>>2]=o;if((d[na>>0]|0)!=1?(h[ea>>3]=+h[ea>>3]+ +h[fa>>3],+h[ea>>3]>=10.0):0){h[ea>>3]=+h[ea>>3]*.1;c[w>>2]=(c[w>>2]|0)+1}c:do if((d[na>>0]|0)==3){a[G>>0]=((a[x>>0]|0)!=0^1)&1;do if((c[w>>2]|0)>=-4){if((c[w>>2]|0)>(c[aa>>2]|0))break;c[aa>>2]=(c[aa>>2]|0)-(c[w>>2]|0);a[na>>0]=1;break c}while(0);a[na>>0]=2}else a[G>>0]=a[y>>0]|0;while(0);if((d[na>>0]|0)==2)c[u>>2]=0;else c[u>>2]=c[w>>2];b=(c[u>>2]|0)>0?c[u>>2]|0:0;e=c[aa>>2]|0;e=RR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=c[ja>>2]|0;b=RR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|(e|0)==0&b>>>0>55?(b=(c[u>>2]|0)>0?c[u>>2]|0:0,e=c[aa>>2]|0,e=RR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,b=c[ja>>2]|0,b=RR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0,b=RR(b|0,C|0,15,0)|0,b=$f(b,C)|0,c[oa>>2]=b,c[p>>2]=b,(c[p>>2]|0)==0):0){qa=161;break a}c[pa>>2]=c[p>>2];c[W>>2]=16+((d[y>>0]|0)*10|0);a[A>>0]=((c[aa>>2]|0)>0?1:0)|d[x>>0]|d[y>>0];if(a[ba>>0]|0){e=a[ba>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}d:do if((c[u>>2]|0)<0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48}else while(1){if((c[u>>2]|0)<0)break d;e=WO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[u>>2]=(c[u>>2]|0)+-1}while(0);if(a[A>>0]|0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=46}c[u>>2]=(c[u>>2]|0)+1;while(1){if((c[u>>2]|0)>=0)break;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48;c[aa>>2]=(c[aa>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1}while(1){b=c[aa>>2]|0;c[aa>>2]=b+-1;if((b|0)<=0)break;e=WO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}do if(d[G>>0]|0){if(!(d[A>>0]|0))break;while(1){f=(c[p>>2]|0)+-1|0;if((a[(c[p>>2]|0)+-1>>0]|0)!=48)break;c[p>>2]=f;a[f>>0]=0}if((a[f>>0]|0)!=46)break;f=c[p>>2]|0;if(a[y>>0]|0){c[p>>2]=f+1;a[f>>0]=48;break}else{b=f+-1|0;c[p>>2]=b;a[b>>0]=0;break}}while(0);if((d[na>>0]|0)==2){f=a[44762+(d[(c[L>>2]|0)+4>>0]|0)>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=f;b=(c[w>>2]|0)<0;f=c[p>>2]|0;c[p>>2]=f+1;if(b){a[f>>0]=45;c[w>>2]=0-(c[w>>2]|0)}else a[f>>0]=43;if((c[w>>2]|0)>=100){e=((c[w>>2]|0)/100|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[w>>2]=(c[w>>2]|0)%100|0}b=((c[w>>2]|0)/10|0)+48&255;e=c[p>>2]|0;c[p>>2]=e+1;a[e>>0]=b;e=((c[w>>2]|0)%10|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}a[c[p>>2]>>0]=0;c[Q>>2]=(c[p>>2]|0)-(c[pa>>2]|0);c[p>>2]=c[pa>>2];if((d[H>>0]|0)==0|(a[B>>0]|0)!=0)break b;if((c[Q>>2]|0)>=(c[ja>>2]|0))break b;c[U>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);c[I>>2]=c[ja>>2];while(1){if((c[I>>2]|0)<(c[U>>2]|0))break;a[(c[p>>2]|0)+(c[I>>2]|0)>>0]=a[(c[p>>2]|0)+((c[I>>2]|0)-(c[U>>2]|0))>>0]|0;c[I>>2]=(c[I>>2]|0)+-1}c[I>>2]=(a[ba>>0]|0)!=0&1;while(1){b=c[U>>2]|0;c[U>>2]=b+-1;if(!b)break;b=c[I>>2]|0;c[I>>2]=b+1;a[(c[p>>2]|0)+b>>0]=48}c[Q>>2]=c[ja>>2];break}case 4:{if(!(a[m>>0]|0)){e=c[(c[j>>2]|0)+12>>2]|0;f=c[l>>2]|0;sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;c[b>>2]=e}c[ja>>2]=0;c[Q>>2]=0;break}case 7:{a[o>>0]=37;c[p>>2]=o;c[Q>>2]=1;break}case 8:{if(a[m>>0]|0){c[p>>2]=XO(c[X>>2]|0)|0;if(c[p>>2]|0)f=a[c[p>>2]>>0]|0;else f=0;c[q>>2]=f}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[q>>2]=sa}if((c[aa>>2]|0)>1){c[ja>>2]=(c[ja>>2]|0)-((c[aa>>2]|0)-1);if(!((c[ja>>2]|0)<=1|(a[B>>0]|0)!=0)){YO(c[j>>2]|0,(c[ja>>2]|0)-1|0,32);c[ja>>2]=0}YO(c[j>>2]|0,(c[aa>>2]|0)-1|0,c[q>>2]&255)}c[Q>>2]=1;a[o>>0]=c[q>>2];c[p>>2]=o;break}case 6:case 5:{if(a[m>>0]|0){c[p>>2]=XO(c[X>>2]|0)|0;a[na>>0]=5}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[p>>2]=sa}if(c[p>>2]|0){if((d[na>>0]|0)==6)c[oa>>2]=c[p>>2]}else c[p>>2]=18402;if((c[aa>>2]|0)<0){c[Q>>2]=Jf(c[p>>2]|0)|0;break b}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[aa>>2]|0))break b;if(!(a[(c[p>>2]|0)+(c[Q>>2]|0)>>0]|0))break b;c[Q>>2]=(c[Q>>2]|0)+1}}case 14:case 10:case 9:{a[da>>0]=(d[na>>0]|0)==14?34:39;if(a[m>>0]|0)c[v>>2]=XO(c[X>>2]|0)|0;else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[v>>2]=sa}c[M>>2]=(c[v>>2]|0)==0&1;if(c[M>>2]|0)c[v>>2]=(d[na>>0]|0)==10?39691:44810;c[O>>2]=c[aa>>2];c[S>>2]=0;c[J>>2]=0;while(1){if(!(c[O>>2]|0))break;sa=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=sa;if(!(sa<<24>>24))break;if((a[r>>0]|0)==(a[da>>0]|0))c[S>>2]=(c[S>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if(c[M>>2]|0)f=0;else f=(d[na>>0]|0)==10;c[V>>2]=f&1;c[S>>2]=(c[S>>2]|0)+((c[J>>2]|0)+3);if((c[S>>2]|0)>70){sa=c[S>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[p>>2]=sa;if(!(c[p>>2]|0)){qa=241;break a}}else c[p>>2]=o;c[N>>2]=0;if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[O>>2]=c[J>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[O>>2]|0))break;b=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=b;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b;if((a[r>>0]|0)==(a[da>>0]|0)){b=a[r>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[J>>2]=(c[J>>2]|0)+1}if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}a[(c[p>>2]|0)+(c[N>>2]|0)>>0]=0;c[Q>>2]=c[N>>2];break}case 11:{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[_>>2]=sa;if((c[_>>2]|0)!=0?(c[(c[_>>2]|0)+4>>2]|0)!=0:0)sA(c[j>>2]|0,c[c[_>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}case 12:{e=c[l>>2]|0;sa=(c[e>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[e>>2]=sa+4;c[Z>>2]=b;b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[P>>2]=sa;c[Y>>2]=(c[Z>>2]|0)+8+((c[P>>2]|0)*72|0);if(c[(c[Y>>2]|0)+4>>2]|0){dE(c[j>>2]|0,c[(c[Y>>2]|0)+4>>2]|0);sA(c[j>>2]|0,44433,1)}dE(c[j>>2]|0,c[(c[Y>>2]|0)+8>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;f=(a[m>>0]|0)!=0;do if(d[(c[L>>2]|0)+2>>0]&1){do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=ia;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=ia;c[sa>>2]=b;c[sa+4>>2]=((b|0)<0)<<31>>31;break}}else{b=UO(c[X>>2]|0)|0;sa=ia;c[sa>>2]=b;c[sa+4>>2]=C}while(0);e=ia;f=c[e>>2]|0;e=c[e+4>>2]|0;if((c[ia+4>>2]|0)<0){if((f|0)==0&(e|0)==-2147483648){sa=R;c[sa>>2]=0;c[sa+4>>2]=-2147483648}else{b=ia;b=QR(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}a[ba>>0]=45;break}sa=R;c[sa>>2]=f;c[sa+4>>2]=e;if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=R;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=R;c[sa>>2]=b;c[sa+4>>2]=0;break}}else{b=UO(c[X>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}while(0);a[ba>>0]=0}while(0);sa=R;if((c[sa>>2]|0)==0&(c[sa+4>>2]|0)==0)a[x>>0]=0;if((d[H>>0]|0)!=0?(c[aa>>2]|0)<((c[ja>>2]|0)-((a[ba>>0]|0)!=0&1)|0):0)c[aa>>2]=(c[ja>>2]|0)-((a[ba>>0]|0)!=0&1);if((c[aa>>2]|0)>=60){c[T>>2]=(c[aa>>2]|0)+10;sa=c[T>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[pa>>2]=sa;if(!(c[pa>>2]|0)){qa=92;break}}else{c[T>>2]=70;c[pa>>2]=o}c[p>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1);if((d[na>>0]|0)==15){sa=R;sa=cS(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0;c[la>>2]=sa;if(!((c[la>>2]|0)<4?(sa=R,sa=bS(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0,sa=cS(sa|0,C|0,10,0)|0,!((sa|0)==1&(C|0)==0)):0))c[la>>2]=0;sa=a[44753+((c[la>>2]<<1)+1)>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=a[44753+(c[la>>2]<<1)>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}c[s>>2]=44762+(d[(c[L>>2]|0)+4>>0]|0);a[n>>0]=a[(c[L>>2]|0)+1>>0]|0;do{sa=R;sa=cS(c[sa>>2]|0,c[sa+4>>2]|0,d[n>>0]|0,0)|0;sa=a[(c[s>>2]|0)+sa>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=R;b=bS(c[b>>2]|0,c[b+4>>2]|0,d[n>>0]|0,0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C;sa=R;b=c[sa+4>>2]|0}while(b>>>0>0|(b|0)==0&(c[sa>>2]|0)>>>0>0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0);c[K>>2]=(c[aa>>2]|0)-(c[Q>>2]|0);while(1){if((c[K>>2]|0)<=0)break;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=48;c[K>>2]=(c[K>>2]|0)+-1}if(a[ba>>0]|0){b=a[ba>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}e:do if((d[x>>0]|0)!=0?(d[(c[L>>2]|0)+5>>0]|0)!=0:0){c[$>>2]=44795+(d[(c[L>>2]|0)+5>>0]|0);while(1){sa=a[c[$>>2]>>0]|0;a[ma>>0]=sa;if(!(sa<<24>>24))break e;b=a[ma>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b;c[$>>2]=(c[$>>2]|0)+1}}while(0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0)}c[ja>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);if(!((c[ja>>2]|0)<=0|(a[B>>0]|0)!=0))YO(c[j>>2]|0,c[ja>>2]|0,32);sA(c[j>>2]|0,c[p>>2]|0,c[Q>>2]|0);if((c[ja>>2]|0)>0?(d[B>>0]|0)!=0:0)YO(c[j>>2]|0,c[ja>>2]|0,32);if(c[oa>>2]|0){Tf(c[c[j>>2]>>2]|0,c[oa>>2]|0);c[oa>>2]=0}c[k>>2]=(c[k>>2]|0)+1}if((qa|0)==13){sA(c[j>>2]|0,44613,1);i=ra;return}else if((qa|0)==92){wA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==161){wA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==241){wA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==268){i=ra;return}}function fg(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=Ch(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){TR(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{wA(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+256|0;h=e+36|0;j=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;dg(g,0,e+40|0,210,0);eg(g,c[j>>2]|0,c[f>>2]|0);f=c[66]|0;d=c[67]|0;a=c[h>>2]|0;b=fg(g)|0;Ub[f&255](d,a,b);i=e;return}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function ig(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[k>>2]=a;c[j>>2]=b;c[e>>2]=c[k>>2];c[f>>2]=c[j>>2];while(1){c[g>>2]=(d[17613+(d[c[e>>2]>>0]|0)>>0]|0)-(d[17613+(d[c[f>>2]>>0]|0)>>0]|0);if(c[g>>2]|0){e=5;break}if(!(d[c[e>>2]>>0]|0)){e=5;break}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}if((e|0)==5){i=h;return c[g>>2]|0}return 0}function jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];SJ(c[f>>2]|0,c[g>>2]|0);a=c[f>>2]|0;if(!(c[h>>2]|0)){lg(a,c[g>>2]|0);i=l;return}if((c[a+244>>2]|0)==0?(g=Zh(c[f>>2]|0)|0,c[(c[f>>2]|0)+244>>2]=g,(g|0)==0):0){i=l;return}c[j>>2]=e;c[k>>2]=ox(c[f>>2]|0,c[h>>2]|0,j)|0;_h(c[(c[f>>2]|0)+244>>2]|0,-1,c[k>>2]|0,1,170);i=l;return}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=$f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}VR(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[d>>2]|0)+52>>2]=c[e>>2];if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+244>>2]|0)==0:0){i=f;return}tN(c[d>>2]|0,c[e>>2]|0);i=f;return}function mg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){a=0;a=a&1;i=d;return a|0}a=(c[b>>2]|0)!=6;a=a&1;i=d;return a|0}function og(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function pg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;l=p+16|0;o=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=0;mg(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?((c[j>>2]|0)!=0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if((c[j>>2]|0)!=0?(e[(c[l>>2]|0)+22>>1]&1|0)!=0:0){c[o>>2]=8;break}c[k>>2]=0;if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[l>>2]|0)+22>>1]&64)){if((c[j>>2]|0)>1){c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break a;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=(c[h>>2]|0))break;c[m>>2]=c[f+12>>2]}c[k>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[k>>2]=c[c[(c[l>>2]|0)+76>>2]>>2];if(c[k>>2]|0){c[o>>2]=262;break}c[o>>2]=WH(c[h>>2]|0,1,1)|0;if(!(c[o>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-9;if(!(c[(c[l>>2]|0)+44>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|8}while(1){if((c[(c[l>>2]|0)+12>>2]|0)==0?(m=qN(c[l>>2]|0)|0,c[o>>2]=m,0==(m|0)):0)continue;do if((c[o>>2]|0)==0&(c[j>>2]|0)!=0){if(e[(c[l>>2]|0)+22>>1]&1){c[o>>2]=8;break}k=c[c[l>>2]>>2]|0;m=(c[j>>2]|0)>1&1;c[o>>2]=rN(k,m,Zq(c[c[h>>2]>>2]|0)|0)|0;if(!(c[o>>2]|0))c[o>>2]=AM(c[l>>2]|0)|0}while(0);if(c[o>>2]|0)RB(c[l>>2]|0);if((c[o>>2]&255|0)!=5)break;if(d[(c[l>>2]|0)+20>>0]|0)break;if(!(dr(c[l>>2]|0)|0))break}if(!(c[o>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(m=(c[l>>2]|0)+40|0,c[m>>2]=(c[m>>2]|0)+1,(a[(c[h>>2]|0)+9>>0]|0)!=0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=(c[j>>2]|0)!=0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[l>>2]|0)+20>>0]|0))a[(c[l>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[j>>2]|0){c[n>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+76>>2]=c[h>>2];m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-33;if((c[j>>2]|0)>1){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|32}m=c[(c[l>>2]|0)+44>>2]|0;if((m|0)!=(gr((c[(c[n>>2]|0)+56>>2]|0)+28|0)|0)?(c[o>>2]=Gg(c[(c[n>>2]|0)+72>>2]|0)|0,(c[o>>2]|0)==0):0)ft((c[(c[n>>2]|0)+56>>2]|0)+28|0,c[(c[l>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[o>>2]|0)==0&(c[j>>2]|0)!=0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=xM(c[c[l>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+432>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function qg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;a=c[(c[e>>2]|0)+4>>2]|0;c[b>>2]=Ci(a,sg(c[(c[e>>2]|0)+24>>2]|0)|0,-1,0)|0;i=d;return c[b>>2]|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);if((c[f>>2]|0)==15){d=pN(c[c[h>>2]>>2]|0)|0;c[c[g>>2]>>2]=d+(c[(c[e>>2]|0)+20>>2]|0);i=j;return}else{d=gr((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=d;i=j;return}}function sg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function tg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function ug(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=JF(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function vg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;k=t+44|0;l=t+40|0;m=t+36|0;n=t+32|0;u=t+28|0;s=t+24|0;r=t+20|0;p=t+16|0;q=t+12|0;o=t+8|0;h=t+4|0;g=t;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[u>>2]=f;c[s>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2]&1;c[o>>2]=0;if((c[m>>2]|0)>>>0<=1&(c[m>>2]|0)==0){c[k>>2]=Qj(51704)|0;u=c[k>>2]|0;i=t;return u|0}do if(c[(c[l>>2]|0)+44>>2]|0){c[s>>2]=c[(c[l>>2]|0)+44>>2];j=24}else{if(((c[o>>2]|0)!=0?(Br(c[l>>2]|0)|0)!=0:0)?(c[s>>2]=Hs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;if((c[o>>2]|0)!=0&(c[p>>2]|0)==0){c[h>>2]=0;e=c[(c[l>>2]|0)+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=aS((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=GL(e,u,C,c[(c[l>>2]|0)+160>>2]|0,h)|0;if((c[s>>2]|0)==0&(c[h>>2]|0)!=0){if(!((d[(c[l>>2]|0)+17>>0]|0|0)<=1?(d[(c[l>>2]|0)+13>>0]|0|0)==0:0))c[r>>2]=hs(c[l>>2]|0,c[m>>2]|0)|0;f=c[l>>2]|0;if(!(c[r>>2]|0))c[s>>2]=mN(f,c[m>>2]|0,c[h>>2]|0,r)|0;else{e=c[f+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=aS((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Ms(e,u,C,c[h>>2]|0)|0}if(c[r>>2]|0){c[c[n>>2]>>2]=c[r>>2];c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}}if(c[s>>2]|0)break}c[g>>2]=ms(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,3)|0;if(!(c[g>>2]|0)){c[s>>2]=nN(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,g)|0;if(c[s>>2]|0)break;if(!(c[g>>2]|0)){c[c[n>>2]>>2]=0;c[r>>2]=0;c[s>>2]=7;break}}j=ns(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;c[c[n>>2]>>2]=j;c[r>>2]=j;j=24}while(0);do if((j|0)==24){if(c[s>>2]|0){c[r>>2]=0;break}f=c[l>>2]|0;if(!((c[q>>2]|0)!=0?1:(c[(c[r>>2]|0)+16>>2]|0)==0)){u=f+192|0;c[u>>2]=(c[u>>2]|0)+1;c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[(c[r>>2]|0)+16>>2]=f;if((c[m>>2]|0)>>>0<=2147483647?(c[m>>2]|0)!=(((c[384]|0)/(c[(c[l>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[c[(c[l>>2]|0)+64>>2]>>2]|0)!=0?!((c[q>>2]|0)!=0?1:(c[(c[l>>2]|0)+28>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){u=(Br(c[l>>2]|0)|0)!=0;if(u&(c[o>>2]|0)==0?(c[s>>2]=Hs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;u=(c[l>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=Is(c[r>>2]|0,c[p>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[m>>2]|0)>>>0>(c[(c[l>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[q>>2]|0){Yj();if((c[m>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)lj(c[(c[l>>2]|0)+60>>2]|0,c[m>>2]|0)|0;St(c[l>>2]|0,c[m>>2]|0)|0;Zj()}VR(c[(c[r>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+160>>2]|0)|0}c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[s>>2]=Qj(51793)|0}while(0);if(c[r>>2]|0)Gs(c[r>>2]|0);Ls(c[l>>2]|0);c[c[n>>2]>>2]=0;c[k>>2]=c[s>>2];u=c[k>>2]|0;i=t;return u|0}function wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function xg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80|0;g=w+68|0;x=w+64|0;h=w+60|0;j=w+56|0;q=w+52|0;p=w+48|0;o=w+44|0;n=w+40|0;l=w+8|0;v=w+36|0;m=w;r=w+32|0;k=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;c[g>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=Pf(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=sg(c[(c[g>>2]|0)+24>>2]|0)|0;c[o>>2]=sg(c[(c[g>>2]|0)+4>>2]|0)|0;c[n>>2]=(c[p>>2]|0)<(c[o>>2]|0)?c[p>>2]|0:c[o>>2]|0;b=c[p>>2]|0;b=aS(c[x>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=l;c[e>>2]=b;c[e+4>>2]=C;c[v>>2]=0;if((c[p>>2]|0)!=(c[o>>2]|0)?(kK(c[q>>2]|0)|0)!=0:0)c[v>>2]=8;x=l;e=c[p>>2]|0;e=QR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C;while(1){if(c[v>>2]|0){g=14;break}e=m;d=c[e+4>>2]|0;x=l;b=c[x+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[e>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){g=14;break}c[r>>2]=0;e=m;x=c[o>>2]|0;x=_R(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[k>>2]=x+1;if((c[k>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=vg(c[q>>2]|0,c[k>>2]|0,r,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Gg(c[r>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(x=m,e=c[p>>2]|0,e=$R(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,c[t>>2]=(c[h>>2]|0)+e,c[s>>2]=wg(c[r>>2]|0)|0,e=m,x=c[o>>2]|0,x=$R(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[u>>2]=(c[s>>2]|0)+x,TR(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0)|0,a[(Ut(c[r>>2]|0)|0)>>0]=0,x=m,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[j>>2]|0)==0):0){x=(c[u>>2]|0)+28|0;ft(x,ug(c[(c[g>>2]|0)+24>>2]|0)|0)}yg(c[r>>2]|0)}e=c[o>>2]|0;x=m;e=RR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C}if((g|0)==14){i=w;return c[v>>2]|0}return 0}function yg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Js(c[b>>2]|0);i=d;return}function zg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Og(Pf(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function Ag(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=AM(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function Bg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];mg(c[m>>2]|0);c[j>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=Gg(c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}ft((c[j>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[k>>2]|0;i=l;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[k>>2]|0;i=l;return m|0}function Cg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)yj(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=(c[b>>2]|0)+24|0;c[e>>2]=c[e>>2]&-3;uu(c[b>>2]|0);MB(c[b>>2]|0);i=f;return}function Dg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[j>>2]|0)==1){f=(c[l>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[m>>2]=pg(c[h>>2]|0,0)|0;do if(!(c[m>>2]|0)){c[k>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+56>>2];if((d[(c[k>>2]|0)+18>>0]|0|0)==(c[j>>2]&255|0)?(d[(c[k>>2]|0)+19>>0]|0|0)==(c[j>>2]&255|0):0)break;c[m>>2]=pg(c[h>>2]|0,2)|0;if((c[m>>2]|0)==0?(c[m>>2]=Gg(c[(c[(c[l>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[m>>2]|0)==0):0){a[(c[k>>2]|0)+18>>0]=c[j>>2];a[(c[k>>2]|0)+19>>0]=c[j>>2]}}while(0);f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=n;return c[m>>2]|0}function Eg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+64>>2]|0}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];i=d;return}function Gg(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;i=g;return f|0}if(((e[(c[b>>2]|0)+24>>1]|0)&4|0)!=0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=wt(c[b>>2]|0)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}b=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=gN(b)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=hN(b)|0;f=c[d>>2]|0;i=g;return f|0}return 0}function Hg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[(c[h>>2]|0)+44>>2];o=c[g>>2]|0;i=p;return o|0}if(Bi(400)|0){c[g>>2]=10;o=c[g>>2]|0;i=p;return o|0}if((d[(c[h>>2]|0)+17>>0]|0|0)<3){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}e=0==(yr(c[h>>2]|0,1)|0);f=c[h>>2]|0;do if(!e){e=(Br(f)|0)!=0;f=c[h>>2]|0;if(e){c[m>>2]=As(c[f+212>>2]|0)|0;c[n>>2]=0;if(!(c[m>>2]|0)){c[o>>2]=vg(c[h>>2]|0,1,n,0)|0;c[m>>2]=c[n>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[o>>2]=xt(c[h>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+28>>2]|0,1)|0;yg(c[n>>2]|0);if(c[o>>2]|0)break;zr(c[(c[h>>2]|0)+212>>2]|0);break}c[o>>2]=eN(f,0)|0;if((((c[o>>2]|0)==0?(c[o>>2]=fN(c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)==0):0)?(c[o>>2]=yt(c[h>>2]|0,0)|0,(c[o>>2]|0)==0):0)?(n=c[h>>2]|0,c[o>>2]=zt(n,As(c[(c[h>>2]|0)+212>>2]|0)|0)|0,(c[o>>2]|0)==0):0){zr(c[(c[h>>2]|0)+212>>2]|0);if((c[(c[h>>2]|0)+28>>2]|0)>>>0>(c[(c[h>>2]|0)+36>>2]|0)>>>0){c[l>>2]=(c[(c[h>>2]|0)+28>>2]|0)-((c[(c[h>>2]|0)+28>>2]|0)==(((c[384]|0)/(c[(c[h>>2]|0)+160>>2]|0)|0)+1|0)&1);c[o>>2]=Dr(c[h>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[o>>2]=Kg(c[h>>2]|0,c[j>>2]|0)|0}}else dj(c[f+96>>2]|0);while(0);if((c[o>>2]|0)==0?(Br(c[h>>2]|0)|0)==0:0)a[(c[h>>2]|0)+17>>0]=5;c[g>>2]=c[o>>2];o=c[g>>2]|0;i=p;return o|0}function Ig(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+12>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+20|0;f=j+8|0;g=j;h=j+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Xi(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}b=c[g+4>>2]|0;a=f;d=c[a+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){h=c[h>>2]|0;i=j;return h|0}a=f;c[h>>2]=ur(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function Kg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[h>>2]=c[g>>2];e=Ai(c[(c[f>>2]|0)+64>>2]|0,21,c[h>>2]|0)|0;c[j>>2]=e;c[j>>2]=(c[j>>2]|0)==12?0:e}if(c[j>>2]|0){e=c[j>>2]|0;i=k;return e|0}if(a[(c[f>>2]|0)+7>>0]|0){e=c[j>>2]|0;i=k;return e|0}c[j>>2]=vr(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;e=c[j>>2]|0;i=k;return e|0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];i=d;return}function Mg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}mg(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=dN(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[h>>2]|0)==0)){k=(c[g>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;_M(c[j>>2]|0);break}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}while(0);$M(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Ng(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[k>>2]=cN(c[j>>2]|0)|0,(c[k>>2]|0)!=0):0){c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}if(a[(c[j>>2]|0)+19>>0]|0)Lg(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[k>>2]=Hg(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}function Og(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+96|0}function Pg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;p=q+4|0;k=q;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(!(c[h>>2]|0)){f=XH(c[l>>2]|0,0,0)|0;c[h>>2]=f;c[n>>2]=f;if(c[n>>2]|0)c[j>>2]=0}else c[n>>2]=0;if((c[h>>2]|0)!=0?(c[o>>2]=WI(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)!=0):0)c[n>>2]=c[o>>2];if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){f=c[g>>2]|0;$M(f);f=c[n>>2]|0;i=q;return f|0}c[p>>2]=qr(c[c[l>>2]>>2]|0)|0;if(c[p>>2]|0)c[n>>2]=c[p>>2];if(!(XF(c[l>>2]|0,1,m,0)|0)){c[k>>2]=gr((c[(c[m>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[k>>2]|0))Fg(c[c[l>>2]>>2]|0,k);c[(c[l>>2]|0)+44>>2]=c[k>>2];QB(c[m>>2]|0)}a[(c[l>>2]|0)+20>>0]=1;_M(c[l>>2]|0);f=c[g>>2]|0;$M(f);f=c[n>>2]|0;i=q;return f|0}function Qg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[d>>2]=b;if((c[(c[d>>2]|0)+84>>2]|0)!=1691352191){i=m;return}if(pu(c[d>>2]|0)|0){i=m;return}YI(c[d>>2]|0,0);ZI(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(LB(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[j>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[j>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0)yj(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);uu(c[d>>2]|0);MB(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+348+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];do{mu(c[d>>2]|0,c[g>>2]|0);c[l>>2]=c[(c[g>>2]|0)+8>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[l>>2]}while((c[g>>2]|0)!=0);c[e>>2]=c[c[e>>2]>>2]}Aj((c[d>>2]|0)+348|0);c[e>>2]=c[(c[d>>2]|0)+364+8>>2];while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)Qb[c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[h>>2]|0);c[e>>2]=c[c[e>>2]>>2]}Aj((c[d>>2]|0)+364|0);c[e>>2]=c[(c[d>>2]|0)+320+8>>2];while(1){if(!(c[e>>2]|0))break;c[k>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);kI(c[d>>2]|0,c[k>>2]|0);Tf(c[d>>2]|0,c[k>>2]|0);c[e>>2]=c[c[e>>2]>>2]}Aj((c[d>>2]|0)+320|0);lg(c[d>>2]|0,0);ch(c[(c[d>>2]|0)+244>>2]|0);c[(c[d>>2]|0)+84>>2]=-1254786768;Tf(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+84>>2]=-1623446221;if(a[(c[d>>2]|0)+256+6>>0]|0)Kd(c[(c[d>>2]|0)+256+32>>2]|0);Kd(c[d>>2]|0);i=m;return}function Rg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){Rd(21,44004,d);c[b>>2]=1;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=d;return e|0}return 0}function Sg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;j=h+8|0;g=h;c[e>>2]=a;c[f>>2]=b;qI(c[c[e>>2]>>2]|0,j)|0;b=j;a=(c[f>>2]|0)+128|0;a=QR(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=aS(a|0,C|0,1e6,0)|0;b=g;c[b>>2]=a;c[b+4>>2]=C;if(c[(c[e>>2]|0)+192>>2]|0){j=g;_b[c[(c[e>>2]|0)+192>>2]&255](c[(c[e>>2]|0)+196>>2]|0,c[(c[f>>2]|0)+176>>2]|0,c[j>>2]|0,c[j+4>>2]|0)}if(!((d[(c[e>>2]|0)+76>>0]|0)&2)){j=c[f>>2]|0;j=j+128|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;i=h;return}Wb[c[(c[e>>2]|0)+184>>2]&255](2,c[(c[e>>2]|0)+188>>2]|0,c[f>>2]|0,g)|0;j=c[f>>2]|0;j=j+128|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;i=h;return}function Tg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+20>>2]|0)!=770837923?(c[(c[b>>2]|0)+20>>2]|0)!=832317811:0))c[d>>2]=Vg(c[b>>2]|0)|0;cv(c[b>>2]|0);i=e;return c[d>>2]|0}function Ug(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+69>>0]|0|0)!=0){c[e>>2]=ZM(c[f>>2]|0)|0;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];b=c[e>>2]|0;i=h;return b|0}return 0}function Vg(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;d=h+8|0;f=h+4|0;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];BI(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+36>>2]|0)>=0){uI(a)|0;Tf(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;if((e[(c[d>>2]|0)+144>>1]|0)>>>5&1){g=(c[d>>2]|0)+144|0;b[g>>1]=b[g>>1]&-2|1}}else if((c[a+40>>2]|0)!=0?(b[(c[d>>2]|0)+144>>1]&1|0)!=0:0){k=c[f>>2]|0;j=c[(c[d>>2]|0)+40>>2]|0;a=(c[(c[d>>2]|0)+108>>2]|0)!=0?18391:0;c[g>>2]=c[(c[d>>2]|0)+108>>2];jg(k,j,a,g);Tf(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0}YM(c[d>>2]|0);k=(c[d>>2]|0)+56|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[d>>2]|0)+20>>2]=1224384374;i=h;return c[(c[d>>2]|0)+40>>2]&c[(c[f>>2]|0)+56>>2]|0}function Wg(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=770837923;c[(c[e>>2]|0)+36>>2]=-1;c[(c[e>>2]|0)+40>>2]=0;a[(c[e>>2]|0)+142>>0]=2;c[(c[e>>2]|0)+44>>2]=0;c[(c[e>>2]|0)+32>>2]=1;a[(c[e>>2]|0)+143>>0]=-1;c[(c[e>>2]|0)+48>>2]=0;b=(c[e>>2]|0)+64|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){i=d;return}XM(c[b>>2]|0);i=d;return}function Yg(a){a=a|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;h=g;c[f>>2]=a;a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)<=0?1:a;if(Ox(c[f>>2]|0,c[h>>2]|0,1)|0){c[d>>2]=7;h=c[d>>2]|0;i=g;return h|0}else{VR((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;h=(c[f>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);h=(c[f>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-16897;c[d>>2]=0;h=c[d>>2]|0;i=g;return h|0}return 0}function Zg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[h>>2]=b;a[j>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[j>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=WM(c[h>>2]|0,a[j>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=k;return c[g>>2]|0}function _g(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;g=l+4|0;h=l+12|0;k=l;c[g>>2]=b;a[h>>0]=f;c[k>>2]=c[g>>2];if(((e[(c[k>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[j>>2]=c[(c[k>>2]|0)+12>>2];k=c[j>>2]|0;i=l;return k|0}b=e[(c[k>>2]|0)+8>>1]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){f=c[(c[k>>2]|0)+12>>2]|0;if(b&16384){c[j>>2]=f+(c[c[k>>2]>>2]|0);k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=f;k=c[j>>2]|0;i=l;return k|0}}else if(b&1){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=VM(c[g>>2]|0,a[h>>0]|0)|0;k=c[j>>2]|0;i=l;return k|0}return 0}function $g(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+32|0;f=k+8|0;g=k+16|0;j=k;c[g>>2]=b;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[d>>3];l=+h[f>>3];i=k;return +l}b=c[g>>2]|0;if((e[d+8>>1]|0)&4){j=b;h[f>>3]=+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0);l=+h[f>>3];i=k;return +l}if((e[b+8>>1]|0)&18){h[j>>3]=0.0;ez(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[j>>3];l=+h[f>>3];i=k;return +l}else{h[f>>3]=0.0;l=+h[f>>3];i=k;return +l}return 0.0}function ah(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;d=k+8|0;f=k+20|0;g=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4)){if(c[g>>2]&8){b=Kx(+h[c[f>>2]>>3])|0;j=d;c[j>>2]=b;c[j+4>>2]=C;break}if(c[g>>2]&18){g=j;c[g>>2]=0;c[g+4>>2]=0;Mi(c[(c[f>>2]|0)+16>>2]|0,j,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;g=j;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b;break}else{j=d;c[j>>2]=0;c[j+4>>2]=0;break}}else{g=c[f>>2]|0;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b}while(0);j=d;C=c[j+4>>2]|0;i=k;return c[j>>2]|0}function bh(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;do if((e[(c[g>>2]|0)+8>>1]|0)&18){if(((e[(c[g>>2]|0)+8>>1]|0)&16384|0)!=0?(Yg(c[g>>2]|0)|0)!=0:0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(Ox(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}while(0);d=(c[g>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-4097;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}function ch(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Xg(c[b>>2]|0);Tf(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);i=d;return}function dh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+12|0;n=j+8|0;m=j+4|0;l=j+16|0;k=j;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((gh(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=j;return}re(c[h>>2]|0);i=j;return}function eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))Qb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){i=h;return 18}re(c[g>>2]|0);i=h;return 18}function fh(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;ih(c[e>>2]|0);if(qG(+h[f>>3])|0){i=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;i=g;return}function gh(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;n=u+28|0;o=u+24|0;l=u+20|0;v=u+16|0;p=u+34|0;q=u+12|0;t=u+8|0;s=u+4|0;r=u+32|0;m=u;c[o>>2]=f;c[l>>2]=g;c[v>>2]=h;a[p>>0]=j;c[q>>2]=k;c[t>>2]=c[v>>2];b[r>>1]=0;j=c[o>>2]|0;if(!(c[l>>2]|0)){ih(j);c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}if(c[j+32>>2]|0)c[s>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+96>>2];else c[s>>2]=1e9;b[r>>1]=(d[p>>0]|0)==0?16:2;if((c[t>>2]|0)<0){a:do if((d[p>>0]|0)==1){c[t>>2]=Jf(c[l>>2]|0)|0;if((c[t>>2]|0)>(c[s>>2]|0))c[t>>2]=(c[s>>2]|0)+1}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[s>>2]|0))break a;if(!(a[(c[l>>2]|0)+(c[t>>2]|0)>>0]|a[(c[l>>2]|0)+((c[t>>2]|0)+1)>>0]))break a;c[t>>2]=(c[t>>2]|0)+2}}while(0);b[r>>1]=e[r>>1]|512}do if((c[q>>2]|0)!=(-1|0)){v=(c[q>>2]|0)==170;Xg(c[o>>2]|0);j=c[l>>2]|0;c[(c[o>>2]|0)+16>>2]=j;if(v){c[(c[o>>2]|0)+20>>2]=j;v=ku(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=v;break}else{c[(c[o>>2]|0)+36>>2]=c[q>>2];b[r>>1]=e[r>>1]|((c[q>>2]|0)==0?2048:1024);break}}else{c[m>>2]=c[t>>2];if(e[r>>1]&512)c[m>>2]=(c[m>>2]|0)+((d[p>>0]|0)==1?1:2);if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}if(!(Nx(c[o>>2]|0,(c[m>>2]|0)>32?c[m>>2]|0:32)|0)){TR(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;break}c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}while(0);c[(c[o>>2]|0)+12>>2]=c[t>>2];b[(c[o>>2]|0)+8>>1]=b[r>>1]|0;a[(c[o>>2]|0)+10>>0]=(d[p>>0]|0)==0?1:d[p>>0]|0;if((d[(c[o>>2]|0)+10>>0]|0)!=1?(UM(c[o>>2]|0)|0)!=0:0){c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}else{c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}return 0}function hh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312){a=h;TM(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=j;return}else{f=h;h=c[f+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=h;b[(c[g>>2]|0)+8>>1]=4;i=j;return}}function ih(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){mG(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function jh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312)mG(c[f>>2]|0);a=c[f>>2]|0;d=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;i=j;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;i=j;return h|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[h>>2]=bh(c[f>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function kh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Xg(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;i=h;return}function lh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=43378;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?(c[6240+(c[b>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[6240+(c[b>>2]<<2)>>2]}else c[d>>2]=43392;i=e;return c[d>>2]|0}function mh(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+69>>0]|0){i=f;return}if(d[(c[e>>2]|0)+70>>0]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=1;if((c[(c[e>>2]|0)+168>>2]|0)>0)c[(c[e>>2]|0)+248>>2]=1;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=f;return}function nh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){Rd(21,43338,e);c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=Rg(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function oh(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[h>>2]=f;if((c[(c[h>>2]|0)+20>>2]|0)!=770837923)Yd(c[h>>2]|0)|0;c[j>>2]=c[c[h>>2]>>2];f=c[h>>2]|0;if(a[(c[j>>2]|0)+69>>0]|0){c[f+40>>2]=7;c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}if((c[f+36>>2]|0)<=0?(b[(c[h>>2]|0)+144>>1]&1|0)!=0:0){c[(c[h>>2]|0)+40>>2]=17;c[k>>2]=1}else{if((c[(c[h>>2]|0)+36>>2]|0)<0){if(!(c[(c[j>>2]|0)+156>>2]|0))c[(c[j>>2]|0)+248>>2]=0;if(!((c[(c[j>>2]|0)+192>>2]|0)==0?(d[(c[j>>2]|0)+76>>0]&2|0)==0:0))l=13;if(((l|0)==13?(a[(c[j>>2]|0)+148+5>>0]|0)==0:0)?(c[(c[h>>2]|0)+176>>2]|0)!=0:0)qI(c[c[j>>2]>>2]|0,(c[h>>2]|0)+128|0)|0;l=(c[j>>2]|0)+156|0;c[l>>2]=(c[l>>2]|0)+1;if(!((e[(c[h>>2]|0)+144>>1]|0)>>>7&1)){l=(c[j>>2]|0)+164|0;c[l>>2]=(c[l>>2]|0)+1}if((e[(c[h>>2]|0)+144>>1]|0)>>>8&1){l=(c[j>>2]|0)+160|0;c[l>>2]=(c[l>>2]|0)+1}c[(c[h>>2]|0)+36>>2]=0}if((e[(c[h>>2]|0)+144>>1]|0)>>>2&3)c[k>>2]=rI(c[h>>2]|0)|0;else{l=(c[j>>2]|0)+168|0;c[l>>2]=(c[l>>2]|0)+1;c[k>>2]=sI(c[h>>2]|0)|0;l=(c[j>>2]|0)+168|0;c[l>>2]=(c[l>>2]|0)+-1}if((c[k>>2]|0)!=100?(l=(c[h>>2]|0)+128|0,f=c[l+4>>2]|0,(f|0)>0|(f|0)==0&(c[l>>2]|0)>>>0>0):0)Sg(c[j>>2]|0,c[h>>2]|0);if((c[k>>2]|0)==101?(l=tI(c[j>>2]|0)|0,c[(c[h>>2]|0)+40>>2]=l,(c[(c[h>>2]|0)+40>>2]|0)!=0):0)c[k>>2]=1;c[(c[j>>2]|0)+52>>2]=c[k>>2];if(7==(Ug(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+40>>2]|0)|0))c[(c[h>>2]|0)+40>>2]=7}if(((c[k>>2]|0)!=100?((e[(c[h>>2]|0)+144>>1]|0)>>>9&1|0)!=0:0)&(c[k>>2]|0)!=101)c[k>>2]=uI(c[h>>2]|0)|0;c[g>>2]=c[k>>2]&c[(c[j>>2]|0)+56>>2];l=c[g>>2]|0;i=m;return l|0}function ph(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;b=h+20|0;d=h+16|0;g=h+12|0;f=h+8|0;j=h+4|0;e=h;c[d>>2]=a;c[j>>2]=Se(c[d>>2]|0)|0;c[e>>2]=QA(c[d>>2]|0)|0;c[g>>2]=Vh(c[e>>2]|0,c[j>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[g>>2]|0)){oI(c[f>>2]|0,c[d>>2]|0);zh(c[f>>2]|0,c[d>>2]|0)|0;pI(c[f>>2]|0);Tg(c[f>>2]|0)|0;c[b>>2]=0;j=c[b>>2]|0;i=h;return j|0}if((c[g>>2]|0)==7)mh(c[e>>2]|0);c[b>>2]=c[g>>2];j=c[b>>2]|0;i=h;return j|0}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=(Jf(c[f>>2]|0)|0)+1;b=c[g>>2]|0;c[h>>2]=Ch(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[h>>2]|0)TR(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=c[h>>2];h=c[d>>2]|0;i=j;return h|0}function rh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];d=c[g>>2]|0;if((c[f>>2]|0)>0){Nx(d,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)VR(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{ih(d);c[(c[g>>2]|0)+16>>2]=0}i=h;return c[(c[g>>2]|0)+16>>2]|0}function sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;c[f>>2]=Ch(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}VR(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function th(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;c[h>>2]=c[k>>2];if(!(c[h>>2]|0)){c[d>>2]=nI()|0;k=c[d>>2]|0;i=j;return k|0}if((c[(c[h>>2]|0)+104>>2]|0)!=0?((c[f>>2]|0)>=0?(c[f>>2]|0)<(e[(c[h>>2]|0)+140>>1]|0|0):0):0)c[g>>2]=(c[(c[h>>2]|0)+104>>2]|0)+((c[f>>2]|0)*40|0);else{lg(c[c[h>>2]>>2]|0,25);c[g>>2]=nI()|0}c[d>>2]=c[g>>2];k=c[d>>2]|0;i=j;return k|0}function uh(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){i=d;return}e=Ug(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+40>>2]|0)|0;c[(c[b>>2]|0)+40>>2]=e;i=d;return}function vh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;m=o+8|0;l=o+4|0;k=o;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[p>>2];c[k>>2]=c[c[m>>2]>>2];c[l>>2]=xe(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[n>>2]|0;i=o;return p|0}p=_(c[j>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[n>>2]=Tb[c[h>>2]&255]((c[(c[m>>2]|0)+100>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[k>>2]|0)+69>>0]|0)){p=c[n>>2]|0;i=o;return p|0}pi(c[k>>2]|0);c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}function wh(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+32|0;p=s+8|0;q=s+4|0;r=s;c[t>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;c[p>>2]=c[t>>2];c[r>>2]=xh(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){if(!((c[n>>2]|0)!=0&(c[n>>2]|0)!=(-1|0))){t=c[r>>2]|0;i=s;return t|0}Qb[c[n>>2]&255](c[l>>2]|0);t=c[r>>2]|0;i=s;return t|0}if(!(c[l>>2]|0)){t=c[r>>2]|0;i=s;return t|0}c[q>>2]=(c[(c[p>>2]|0)+116>>2]|0)+(((c[k>>2]|0)-1|0)*40|0);c[r>>2]=gh(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0)|0;if((c[r>>2]|0)==0?(d[o>>0]|0|0)!=0:0)c[r>>2]=iu(c[q>>2]|0,d[(c[c[p>>2]>>2]|0)+66>>0]|0)|0;lg(c[c[p>>2]>>2]|0,c[r>>2]|0);c[r>>2]=Ug(c[c[p>>2]>>2]|0,c[r>>2]|0)|0;t=c[r>>2]|0;i=s;return t|0}function xh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;c[g>>2]=a;c[h>>2]=d;if(nh(c[g>>2]|0)|0){c[f>>2]=Lf(76348)|0;l=c[f>>2]|0;i=m;return l|0}if((c[(c[g>>2]|0)+20>>2]|0)==770837923?(c[(c[g>>2]|0)+36>>2]|0)<0:0){if((c[h>>2]|0)>=1?(c[h>>2]|0)<=(b[(c[g>>2]|0)+16>>1]|0):0){c[h>>2]=(c[h>>2]|0)+-1;c[j>>2]=(c[(c[g>>2]|0)+116>>2]|0)+((c[h>>2]|0)*40|0);Xg(c[j>>2]|0);b[(c[j>>2]|0)+8>>1]=1;lg(c[c[g>>2]>>2]|0,0);do if((e[(c[g>>2]|0)+144>>1]|0)>>>9&1){if(!((c[h>>2]|0)<32?(c[(c[g>>2]|0)+196>>2]&1<>2]|0)!=0:0))l=12;if((l|0)==12?(c[(c[g>>2]|0)+196>>2]|0)!=-1:0)break;l=(c[g>>2]|0)+144|0;b[l>>1]=b[l>>1]&-2|1}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}lg(c[c[g>>2]>>2]|0,25);c[f>>2]=25;l=c[f>>2]|0;i=m;return l|0}lg(c[c[g>>2]>>2]|0,21);c[k>>2]=c[(c[g>>2]|0)+176>>2];Rd(21,39833,k);c[f>>2]=Lf(76356)|0;l=c[f>>2]|0;i=m;return l|0}function yh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}a:do if(c[j>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+18>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+120>>2]|0)+(c[l>>2]<<2)>>2];if(((c[m>>2]|0)!=0?(lR(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=(c[l>>2]|0)+1;e=c[g>>2]|0;i=n;return e|0}while(0);c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}function zh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[j>>2]=d;c[f>>2]=c[k>>2];c[g>>2]=c[j>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[f>>2]|0)+16>>1]|0))break;mI((c[(c[g>>2]|0)+116>>2]|0)+((c[e>>2]|0)*40|0)|0,(c[(c[f>>2]|0)+116>>2]|0)+((c[e>>2]|0)*40|0)|0);c[e>>2]=(c[e>>2]|0)+1}i=h;return 0}function Ah(f,g){f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+256|0;A=D+72|0;C=D+64|0;B=D+56|0;z=D+48|0;y=D+40|0;k=D+148|0;l=D+144|0;m=D+140|0;p=D+136|0;u=D+132|0;q=D+128|0;t=D+124|0;o=D+120|0;w=D+116|0;v=D+88|0;x=D;j=D+84|0;r=D+80|0;n=D+152|0;s=D+76|0;c[k>>2]=f;c[l>>2]=g;c[p>>2]=0;c[u>>2]=1;c[m>>2]=c[c[k>>2]>>2];dg(v,0,D+156|0,100,c[(c[m>>2]|0)+96>>2]|0);a:do if((c[(c[m>>2]|0)+168>>2]|0)>1)while(1){if(!(a[c[l>>2]>>0]|0))break a;c[j>>2]=c[l>>2];do{C=c[l>>2]|0;c[l>>2]=C+1;if((a[C>>0]|0)==10)break}while((a[c[l>>2]>>0]|0)!=0);sA(v,39799,3);sA(v,c[j>>2]|0,(c[l>>2]|0)-(c[j>>2]|0)|0)}else{if(!(b[(c[k>>2]|0)+16>>1]|0)){C=c[l>>2]|0;sA(v,C,Jf(c[l>>2]|0)|0);break}while(1){if(!(a[c[l>>2]>>0]|0))break a;c[q>>2]=lI(c[l>>2]|0,t)|0;sA(v,c[l>>2]|0,c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);if(!(c[t>>2]|0))break a;do if((a[c[l>>2]>>0]|0)==63)if((c[t>>2]|0)>1){Qi((c[l>>2]|0)+1|0,p)|0;break}else{c[p>>2]=c[u>>2];break}else c[p>>2]=yh(c[k>>2]|0,c[l>>2]|0,c[t>>2]|0)|0;while(0);c[l>>2]=(c[l>>2]|0)+(c[t>>2]|0);c[u>>2]=(c[p>>2]|0)+1;c[w>>2]=(c[(c[k>>2]|0)+116>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);if(e[(c[w>>2]|0)+8>>1]&1){sA(v,39691,4);continue}g=c[w>>2]|0;if(e[(c[w>>2]|0)+8>>1]&4){f=g;g=c[f+4>>2]|0;j=y;c[j>>2]=c[f>>2];c[j+4>>2]=g;rA(v,28266,y);continue}f=c[w>>2]|0;if(e[g+8>>1]&8){h[z>>3]=+h[f>>3];rA(v,28271,z);continue}if(e[f+8>>1]&2){a[n>>0]=a[(c[m>>2]|0)+66>>0]|0;if((d[n>>0]|0)!=1){f=x;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[x+32>>2]=c[m>>2];gh(x,c[(c[w>>2]|0)+16>>2]|0,c[(c[w>>2]|0)+12>>2]|0,a[n>>0]|0,0)|0;if(7==(iu(x,1)|0)){a[v+24>>0]=1;c[v+16>>2]=0}c[w>>2]=x}c[r>>2]=c[(c[w>>2]|0)+12>>2];j=c[(c[w>>2]|0)+16>>2]|0;c[B>>2]=c[r>>2];c[B+4>>2]=j;rA(v,39803,B);if((d[n>>0]|0)==1)continue;Xg(x);continue}else{if(e[(c[w>>2]|0)+8>>1]&16384){c[C>>2]=c[c[w>>2]>>2];rA(v,39810,C);continue}sA(v,39823,2);c[s>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[A>>2]=a[(c[(c[w>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]&255;rA(v,39826,A);c[o>>2]=(c[o>>2]|0)+1}sA(v,39831,1);continue}}}while(0);if(!(a[v+24>>0]|0)){C=fg(v)|0;i=D;return C|0}xA(v);C=fg(v)|0;i=D;return C|0}function Bh(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;j=n+16|0;m=n+8|0;l=n;k=n+24|0;c[g>>2]=d;c[j>>2]=f;a[k>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(ez(c[(c[g>>2]|0)+16>>2]|0,m,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){i=n;return}if(!(Mi(c[(c[g>>2]|0)+16>>2]|0,l,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){d=c[l+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;i=n;return}h[c[g>>2]>>3]=+h[m>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[j>>2]|0)){i=n;return}Jx(c[g>>2]|0);i=n;return}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=Vw(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;i=j;return h|0}else{a=g;c[h>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Dh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+16|0;p=r;k=r+52|0;l=r+48|0;g=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;j=r+28|0;h=r+24|0;c[l>>2]=b;c[g>>2]=d;c[m>>2]=e;c[n>>2]=f;if(Kz(c[l>>2]|0)|0){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}c[o>>2]=ti(c[c[l>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=(c[g>>2]&1|0)!=0?39772:39785;if(((ni(c[c[l>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[h>>2]=sj((c[c[l>>2]>>2]|0)+320|0,c[m>>2]|0)|0,(c[h>>2]|0)!=0):0)?(jI(c[l>>2]|0,c[h>>2]|0)|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];q=c[k>>2]|0;i=r;return q|0}if(!(c[g>>2]&2)){d=c[l>>2]|0;g=c[j>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=g;c[p+4>>2]=n;c[p+8>>2]=q;Eh(d,30029,p)}else{p=c[m>>2]|0;c[q>>2]=g;c[q+4>>2]=p;Eh(d,30039,q)}a[(c[l>>2]|0)+17>>0]=1}}c[k>>2]=c[o>>2];q=c[k>>2]|0;i=r;return q|0}function Eh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;f=j+32|0;l=j+28|0;h=j+24|0;k=j+8|0;g=j;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];c[k>>2]=e;c[h>>2]=ox(c[g>>2]|0,c[l>>2]|0,k)|0;if(a[(c[g>>2]|0)+73>>0]|0){Tf(c[g>>2]|0,c[h>>2]|0);i=j;return}else{l=(c[f>>2]|0)+36|0;c[l>>2]=(c[l>>2]|0)+1;Tf(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=1;i=j;return}}function Fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){d=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){f=c[f>>2]|0;i=g;return f|0}return 0}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=ox(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function Hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=c[c[e>>2]>>2];c[g>>2]=Vw(c[f>>2]|0,208,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+88|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[g>>2]>>2]=c[f>>2];if(c[(c[f>>2]|0)+4>>2]|0)c[(c[(c[f>>2]|0)+4>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+8>>2]=c[(c[f>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+20>>2]=381479589;c[(c[g>>2]|0)+12>>2]=c[e>>2];c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Ih(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+24|0;p=j+20|0;o=j+16|0;n=j+12|0;m=j+8|0;k=j+4|0;h=j;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=jx(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Mh(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function Jh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if((c[(c[e>>2]|0)+136>>2]|0)<=0){i=g;return}a[(c[(c[e>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+136>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=g;return}function Kh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+8|0;o=p+4|0;n=p;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[p+12>>2]=g;if(((c[(c[j>>2]|0)+136>>2]|0)+(c[k>>2]|0)|0)>(c[(c[(c[j>>2]|0)+12>>2]|0)+48>>2]|0)?(lx(c[j>>2]|0,c[k>>2]|0)|0)!=0:0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}b=(c[(c[j>>2]|0)+88>>2]|0)+((c[(c[j>>2]|0)+136>>2]|0)*20|0)|0;c[o>>2]=b;c[n>>2]=b;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;a[c[o>>2]>>0]=a[c[l>>2]>>0]|0;c[(c[o>>2]|0)+4>>2]=a[(c[l>>2]|0)+1>>0];c[(c[o>>2]|0)+8>>2]=a[(c[l>>2]|0)+2>>0];if((d[34898+(d[c[l>>2]>>0]|0)>>0]&1|0)!=0?(a[(c[l>>2]|0)+2>>0]|0)>0:0){b=(c[o>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[j>>2]|0)+136>>2]|0)}c[(c[o>>2]|0)+12>>2]=a[(c[l>>2]|0)+3>>0];a[(c[o>>2]|0)+1>>0]=0;c[(c[o>>2]|0)+16>>2]=0;a[(c[o>>2]|0)+3>>0]=0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+4;c[o>>2]=(c[o>>2]|0)+20}o=(c[j>>2]|0)+136|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=(c[d>>2]|0)+148|0;c[a>>2]=c[a>>2]|1<>2];if((c[e>>2]|0)==1){i=f;return}if(!(iI(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){i=f;return}a=(c[d>>2]|0)+152|0;c[a>>2]=c[a>>2]|1<>2];i=f;return}function Mh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+69>>0]|0){if((c[l>>2]|0)==-10){i=n;return}IA(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0);i=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+136>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+88>>2]|0)+((c[h>>2]|0)*20|0);if((c[l>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){g=c[k>>2]|0;if((c[l>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=g;a[(c[m>>2]|0)+1>>0]=-14;i=n;return}if(!g){i=n;return}c[(c[m>>2]|0)+16>>2]=c[k>>2];a[(c[m>>2]|0)+1>>0]=c[l>>2];if((c[l>>2]|0)!=-10){i=n;return}hI(c[k>>2]|0);i=n;return}gI(c[g>>2]|0,c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);i=n;return}function Nh(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;k=q+32|0;o=q+28|0;n=q+24|0;m=q+20|0;l=q+16|0;g=q+12|0;p=q;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];c[o>>2]=b[(c[j>>2]|0)+400>>1];c[n>>2]=c[(c[j>>2]|0)+44>>2];c[m>>2]=c[(c[j>>2]|0)+40>>2];c[l>>2]=c[(c[j>>2]|0)+108>>2];c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);if((c[m>>2]|0)==0&(c[n>>2]|0)>0)c[n>>2]=(c[n>>2]|0)+1;c[g>>2]=((c[(c[h>>2]|0)+136>>2]|0)*20|0)+7&-8;c[p>>2]=(c[(c[h>>2]|0)+88>>2]|0)+(c[g>>2]|0);c[p+4>>2]=(c[(c[j>>2]|0)+52>>2]|0)-(c[g>>2]|0)&-8;AF(c[h>>2]|0,l);if(d[(c[j>>2]|0)+20>>0]|0)g=(d[(c[j>>2]|0)+21>>0]|0)!=0;else g=0;f=(c[h>>2]|0)+144|0;b[f>>1]=b[f>>1]&-65|(g&1)<<6&65535;if((c[n>>2]|0)<10?(d[(c[j>>2]|0)+409>>0]|0)!=0:0)c[n>>2]=10;f=(c[h>>2]|0)+144|0;b[f>>1]=b[f>>1]&-2;do{c[p+8>>2]=0;f=fI(p,c[(c[h>>2]|0)+92>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[h>>2]|0)+92>>2]=f;f=fI(p,c[(c[h>>2]|0)+116>>2]|0,(c[o>>2]|0)*40|0)|0;c[(c[h>>2]|0)+116>>2]=f;f=fI(p,c[(c[h>>2]|0)+96>>2]|0,c[l>>2]<<2)|0;c[(c[h>>2]|0)+96>>2]=f;f=fI(p,c[(c[h>>2]|0)+112>>2]|0,c[m>>2]<<2)|0;c[(c[h>>2]|0)+112>>2]=f;if(!(c[p+8>>2]|0))break;f=c[p+8>>2]|0;f=Vw(c[k>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+180>>2]=f;c[p>>2]=f;c[p+4>>2]=c[p+8>>2]}while((a[(c[k>>2]|0)+69>>0]|0)!=0^1);b[(c[h>>2]|0)+18>>1]=c[(c[j>>2]|0)+404>>2];c[(c[h>>2]|0)+120>>2]=c[(c[j>>2]|0)+428>>2];c[(c[j>>2]|0)+404>>2]=0;c[(c[j>>2]|0)+428>>2]=0;p=(c[h>>2]|0)+144|0;b[p>>1]=b[p>>1]&-13|(d[(c[j>>2]|0)+409>>0]&3)<<2&65535;if(a[(c[k>>2]|0)+69>>0]|0){b[(c[h>>2]|0)+16>>1]=0;c[(c[h>>2]|0)+28>>2]=0;c[(c[h>>2]|0)+24>>2]=0;p=c[h>>2]|0;Wg(p);i=q;return}else{c[(c[h>>2]|0)+28>>2]=c[m>>2];b[(c[h>>2]|0)+16>>1]=c[o>>2];PC(c[(c[h>>2]|0)+116>>2]|0,c[o>>2]|0,c[k>>2]|0,1);c[(c[h>>2]|0)+24>>2]=c[n>>2];PC(c[(c[h>>2]|0)+92>>2]|0,c[n>>2]|0,c[k>>2]|0,128);VR(c[(c[h>>2]|0)+112>>2]|0,0,c[m>>2]<<2|0)|0;p=c[h>>2]|0;Wg(p);i=q;return}}function Oh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;q=s+24|0;p=s+16|0;k=s+8|0;l=s+52|0;m=s;n=s+48|0;o=s+44|0;r=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[r>>2]=0;c[g>>2]=c[(c[l>>2]|0)+20>>2];e=m;a=c[e+4>>2]|0;f=c[(c[g>>2]|0)+116>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=a;c[o>>2]=te(c[(c[l>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[h>>2]=c[c[(c[g>>2]|0)+112>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+80+(c[(c[l>>2]|0)+12>>2]<<2)>>2];d=c[l>>2]|0;if((c[j>>2]|0)>>>0>=12){c[(c[l>>2]|0)+8>>2]=c[(c[h>>2]|0)+80+((c[d+12>>2]|0)+(b[(c[h>>2]|0)+12>>1]|0)<<2)>>2];k=cG(c[j>>2]|0)|0;c[(c[l>>2]|0)+4>>2]=k;c[(c[l>>2]|0)+16>>2]=c[(c[h>>2]|0)+16>>2];eI(c[(c[l>>2]|0)+16>>2]|0);break}e=c[d+24>>2]|0;if(!(c[j>>2]|0))d=39718;else d=(c[j>>2]|0)==7?39705:39710;c[k>>2]=d;c[r>>2]=Gh(e,39723,k)|0;c[o>>2]=1;Xd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}if(!(c[(c[l>>2]|0)+20>>2]|0)){q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}c[o>>2]=Xd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0;d=c[(c[l>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){l=m;m=c[l+4>>2]|0;q=p;c[q>>2]=c[l>>2];c[q+4>>2]=m;c[r>>2]=Gh(d,39752,p)|0;c[o>>2]=1;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}else{c[q>>2]=bf(c[(c[l>>2]|0)+24>>2]|0)|0;c[r>>2]=Gh(d,18391,q)|0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}return 0}function Ph(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];Tf(c[f>>2]|0,c[(c[e>>2]|0)+76>>2]|0);ev(c[f>>2]|0,c[(c[e>>2]|0)+80>>2]|0);if(c[f>>2]|0){b=(c[f>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;i=g;return}function Qh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;i=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)e=EF(c[h>>2]|0)|0;else e=0;c[m>>2]=e;if(!(c[m>>2]|0))c[m>>2]=RF(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;i=n;return m|0}function Rh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;o=r+12|0;n=r+8|0;p=r+4|0;m=r;c[s>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=c[s>>2];if(!(c[n>>2]|0)){c[g>>2]=Lf(84716)|0;s=c[g>>2]|0;i=r;return s|0}c[m>>2]=c[(c[n>>2]|0)+24>>2];c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(!((c[j>>2]|0)<0|(c[k>>2]|0)<0)?(a=c[k>>2]|0,b=c[j>>2]|0,b=RR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=C,s=c[(c[n>>2]|0)+4>>2]|0,f=((s|0)<0)<<31>>31,!((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>s>>>0)):0){if(!(c[p>>2]|0)){c[o>>2]=4;break}dI(c[(c[n>>2]|0)+16>>2]|0);c[o>>2]=Wb[c[l>>2]&255](c[(c[n>>2]|0)+16>>2]|0,(c[k>>2]|0)+(c[(c[n>>2]|0)+8>>2]|0)|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[o>>2]|0)==4){Tg(c[p>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=0;break}else{c[(c[p>>2]|0)+40>>2]=c[o>>2];break}}else q=5;while(0);if((q|0)==5)c[o>>2]=1;lg(c[m>>2]|0,c[o>>2]|0);c[o>>2]=Ug(c[m>>2]|0,c[o>>2]|0)|0;c[g>>2]=c[o>>2];s=c[g>>2]|0;i=r;return s|0}function Sh(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+144|0;b[f>>1]=b[f>>1]&-2|1;c[d>>2]=c[(c[d>>2]|0)+8>>2]}i=e;return}function Th(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;n=x+24|0;m=x+20|0;p=x+56|0;l=x+16|0;o=x+12|0;j=x+8|0;k=x+4|0;h=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[n>>2]=d[(c[v>>2]|0)+1>>0];c[m>>2]=d[c[v>>2]>>0];a[p>>0]=a[(c[v>>2]|0)+3>>0]|0;c[l>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=JC(t)|0;c[q>>2]=g;if(!g){b=83;break}if((c[q>>2]|0)==(c[m>>2]|0)){b=7;break}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=JC(t)|0;if(!(c[q>>2]|0)){b=49;break a}c[l>>2]=c[t>>2];break}c[j>>2]=0;c[k>>2]=0;c[h>>2]=0;c[q>>2]=JC(u)|0;if(!(c[q>>2]|0)){b=52;break a}c[r>>2]=JC(t)|0;if((c[r>>2]|0)==94){c[h>>2]=1;c[r>>2]=JC(t)|0}if((c[r>>2]|0)==93){if((c[q>>2]|0)==93)c[k>>2]=1;c[r>>2]=JC(t)|0}while(1){g=c[r>>2]|0;if(!((c[r>>2]|0)!=0?(c[r>>2]|0)!=93:0))break;if(((g|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[j>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[r>>2]=JC(t)|0;if((c[q>>2]|0)>>>0>=(c[j>>2]|0)>>>0?(c[q>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)c[k>>2]=1;c[j>>2]=0}else{if((c[q>>2]|0)==(c[r>>2]|0))c[k>>2]=1;c[j>>2]=c[r>>2]}c[r>>2]=JC(t)|0}if(!g){b=73;break a}if(!(c[k>>2]^c[h>>2])){b=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=JC(u)|0;c[r>>2]=g;if((c[q>>2]|0)==(c[r>>2]|0))continue;if((d[p>>0]|0)!=0?((c[q>>2]|0)>>>0<128?(d[17613+(c[q>>2]&255)>>0]|0)==(d[17613+(c[r>>2]&255)>>0]|0):0)&(c[r>>2]|0)>>>0<128:0)continue;if((c[q>>2]|0)!=(c[n>>2]|0)){b=82;break}if(!((c[r>>2]|0)!=0?(c[t>>2]|0)!=(c[l>>2]|0):0)){b=82;break}}if((b|0)==7){while(1){b=0;if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=JC(t)|0;c[q>>2]=g;if((g|0)==(c[m>>2]|0))g=1;else g=(c[q>>2]|0)==(c[n>>2]|0);f=c[q>>2]|0;if(!g)break;if((f|0)!=(c[n>>2]|0)){b=7;continue}if(!(JC(u)|0)){b=15;break}else b=7}if((b|0)==15){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}if(!f){c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=JC(t)|0;if(c[q>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)g=(Th((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else g=0;f=c[u>>2]|0;if(!g)break;c[u>>2]=f+1;if((d[f>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[f>>0]|0)!=0&1;w=c[s>>2]|0;i=x;return w|0}while(0);c:do if((c[q>>2]|0)>>>0<=128){g=c[q>>2]|0;if(a[p>>0]|0){c[o>>2]=g&~(d[18403+(c[q>>2]&255)>>0]&32);c[q>>2]=d[17613+(c[q>>2]&255)>>0]}else c[o>>2]=g;while(1){p=c[u>>2]|0;c[u>>2]=p+1;p=d[p>>0]|0;c[r>>2]=p;if(!p)break c;if((c[r>>2]|0)!=(c[q>>2]|0)?(c[r>>2]|0)!=(c[o>>2]|0):0)continue;if(Th(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=JC(u)|0;c[r>>2]=g;if(!g)break c;if((c[r>>2]|0)!=(c[q>>2]|0))continue;if(Th(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==49){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==52){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==73){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==82){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;i=x;return w|0}return 0}function Uh(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){RH(39691);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+84>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Wh(c[d>>2]|0)|0)RH(39696);c[b>>2]=0}while(0);i=f;return c[b>>2]|0}function Vh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[c[p>>2]>>2]=0;b=(Uh(c[k>>2]|0)|0)==0;if(b|(c[l>>2]|0)==0){c[j>>2]=Lf(114197)|0;b=c[j>>2]|0;i=s;return b|0}Of(c[k>>2]|0);c[r>>2]=SH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==17){Xd(c[c[p>>2]>>2]|0)|0;c[r>>2]=SH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}c[j>>2]=c[r>>2];b=c[j>>2]|0;i=s;return b|0}function Wh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+84>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){RH(39538);c[b>>2]=0;f=c[b>>2]|0;i=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;i=d;return f|0}return 0}function Xh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;m=r+12|0;o=r+8|0;n=r+4|0;q=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=0;c[m>>2]=Jf(c[h>>2]|0)|0;if(!(sj((c[g>>2]|0)+320|0,c[h>>2]|0)|0)){c[o>>2]=Vw(c[g>>2]|0,20+(c[m>>2]|0)+1|0,0)|0;if((c[o>>2]|0)!=0?(c[q>>2]=(c[o>>2]|0)+20,TR(c[q>>2]|0,c[h>>2]|0,(c[m>>2]|0)+1|0)|0,c[(c[o>>2]|0)+4>>2]=c[q>>2],c[c[o>>2]>>2]=c[j>>2],c[(c[o>>2]|0)+8>>2]=c[k>>2],c[(c[o>>2]|0)+12>>2]=c[l>>2],c[(c[o>>2]|0)+16>>2]=0,c[n>>2]=Uj((c[g>>2]|0)+320|0,c[q>>2]|0,c[o>>2]|0)|0,(c[n>>2]|0)!=0):0){mh(c[g>>2]|0);Tf(c[g>>2]|0,c[n>>2]|0)}}else c[p>>2]=Lf(122590)|0;c[p>>2]=Ug(c[g>>2]|0,c[p>>2]|0)|0;if(!((c[p>>2]|0)!=0&(c[l>>2]|0)!=0)){b=c[p>>2]|0;i=r;return b|0}Qb[c[l>>2]&255](c[k>>2]|0);b=c[p>>2]|0;i=r;return b|0}function Yh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;s=z+68|0;t=z+64|0;h=z+60|0;j=z+56|0;w=z+52|0;v=z+48|0;m=z+44|0;n=z+40|0;k=z+36|0;u=z+32|0;l=z+28|0;x=z+24|0;y=z+20|0;c[t>>2]=b;c[h>>2]=e;c[j>>2]=f;c[w>>2]=0;c[k>>2]=-1;c[u>>2]=c[c[t>>2]>>2];c[l>>2]=c[(c[u>>2]|0)+96+4>>2];if(!(c[(c[u>>2]|0)+156>>2]|0))c[(c[u>>2]|0)+248>>2]=0;c[(c[t>>2]|0)+12>>2]=0;c[(c[t>>2]|0)+436>>2]=c[h>>2];c[v>>2]=0;c[m>>2]=_u(179)|0;if(!(c[m>>2]|0)){mh(c[u>>2]|0);c[s>>2]=7;y=c[s>>2]|0;i=z;return y|0}a:while(1){do if(a[(c[h>>2]|0)+(c[v>>2]|0)>>0]|0){c[(c[t>>2]|0)+392>>2]=(c[h>>2]|0)+(c[v>>2]|0);e=$u((c[h>>2]|0)+(c[v>>2]|0)|0,n)|0;c[(c[t>>2]|0)+392+4>>2]=e;c[v>>2]=(c[v>>2]|0)+(c[(c[t>>2]|0)+392+4>>2]|0);if((c[v>>2]|0)>(c[l>>2]|0)){r=7;break a}}else{if((c[k>>2]|0)==1){c[n>>2]=0;break}if(!(c[k>>2]|0))break a;c[n>>2]=1}while(0);if((c[n>>2]|0)>=162){if(c[(c[u>>2]|0)+248>>2]|0){r=14;break}if((c[n>>2]|0)==163){r=16;break}else continue}else{b=c[m>>2]|0;f=c[n>>2]|0;A=(c[t>>2]|0)+392|0;e=c[t>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];av(b,f,g,e);c[k>>2]=c[n>>2];if(c[(c[t>>2]|0)+12>>2]|0)break;if(d[(c[u>>2]|0)+69>>0]|0)break;else continue}}if((r|0)==7)c[(c[t>>2]|0)+12>>2]=18;else if((r|0)==14)c[(c[t>>2]|0)+12>>2]=9;else if((r|0)==16){A=c[t>>2]|0;c[o>>2]=(c[t>>2]|0)+392;Eh(A,26437,o)}c[(c[t>>2]|0)+436>>2]=(c[h>>2]|0)+(c[v>>2]|0);bv(c[m>>2]|0,148);if(a[(c[u>>2]|0)+69>>0]|0)c[(c[t>>2]|0)+12>>2]=7;if(((c[(c[t>>2]|0)+12>>2]|0)!=0?(c[(c[t>>2]|0)+12>>2]|0)!=101:0)?(c[(c[t>>2]|0)+4>>2]|0)==0:0){A=c[u>>2]|0;c[p>>2]=lh(c[(c[t>>2]|0)+12>>2]|0)|0;A=Gh(A,18391,p)|0;c[(c[t>>2]|0)+4>>2]=A}if(c[(c[t>>2]|0)+4>>2]|0){c[c[j>>2]>>2]=c[(c[t>>2]|0)+4>>2];A=c[(c[t>>2]|0)+12>>2]|0;c[q>>2]=c[c[j>>2]>>2];Rd(A,18391,q);c[(c[t>>2]|0)+4>>2]=0;c[w>>2]=(c[w>>2]|0)+1}if(((c[(c[t>>2]|0)+8>>2]|0)!=0?(c[(c[t>>2]|0)+36>>2]|0)>0:0)?(d[(c[t>>2]|0)+18>>0]|0)==0:0){cv(c[(c[t>>2]|0)+8>>2]|0);c[(c[t>>2]|0)+8>>2]=0}if(!(d[(c[t>>2]|0)+18>>0]|0)){Tf(c[u>>2]|0,c[(c[t>>2]|0)+116>>2]|0);c[(c[t>>2]|0)+116>>2]=0;c[(c[t>>2]|0)+112>>2]=0}Kd(c[(c[t>>2]|0)+460>>2]|0);if(!(a[(c[t>>2]|0)+410>>0]|0))Rf(c[u>>2]|0,c[(c[t>>2]|0)+440>>2]|0);if(c[(c[t>>2]|0)+476>>2]|0)dv(c[u>>2]|0,c[(c[t>>2]|0)+476>>2]|0);Qf(c[u>>2]|0,c[(c[t>>2]|0)+444>>2]|0);c[v>>2]=(c[(c[t>>2]|0)+404>>2]|0)-1;while(1){g=c[u>>2]|0;if((c[v>>2]|0)<0)break;Tf(g,c[(c[(c[t>>2]|0)+428>>2]|0)+(c[v>>2]<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+-1}Tf(g,c[(c[t>>2]|0)+428>>2]|0);while(1){if(!(c[(c[t>>2]|0)+120>>2]|0))break;c[x>>2]=c[(c[t>>2]|0)+120>>2];c[(c[t>>2]|0)+120>>2]=c[c[x>>2]>>2];Tf(c[u>>2]|0,c[x>>2]|0)}while(1){if(!(c[(c[t>>2]|0)+464>>2]|0))break;c[y>>2]=c[(c[t>>2]|0)+464>>2];c[(c[t>>2]|0)+464>>2]=c[(c[y>>2]|0)+68>>2];Rf(c[u>>2]|0,c[y>>2]|0)}c[s>>2]=c[w>>2];A=c[s>>2]|0;i=z;return A|0}function Zh(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=sh(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;i=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;i=f;return e|0}function _h(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){i=n;return}gh(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,a[l>>0]|0,c[m>>2]|0)|0;i=n;return}function $h(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=4220;mf(4,b)|0;i=a;return}function ai(){return 88}function bi(){return 40}function ci(){return 32}function di(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=4168;mf(18,b)|0;i=a;return}function ei(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;vu(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function fi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+8>>0]|0|0)==2;a=a&1;i=e;return a|0}function gi(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[(c[j>>2]|0)+256+8>>2]|0){c[h>>2]=5;f=c[h>>2]|0;i=q;return f|0}if(a[(c[j>>2]|0)+256+6>>0]|0)Kd(c[(c[j>>2]|0)+256+32>>2]|0);f=c[l>>2]&-8;c[l>>2]=f;c[l>>2]=(c[l>>2]|0)<=4?0:f;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[l>>2]|0)==0|(c[m>>2]|0)==0)){if(c[k>>2]|0){c[p>>2]=c[k>>2];break}Yj();f=_(c[l>>2]|0,c[m>>2]|0)|0;c[p>>2]=$f(f,((f|0)<0)<<31>>31)|0;Zj();if(c[p>>2]|0){f=ag(c[p>>2]|0)|0;c[m>>2]=(f|0)/(c[l>>2]|0)|0}}else{c[l>>2]=0;c[p>>2]=0}while(0);c[(c[j>>2]|0)+256+32>>2]=c[p>>2];c[(c[j>>2]|0)+256+28>>2]=0;b[(c[j>>2]|0)+256+4>>1]=c[l>>2];if(c[p>>2]|0){c[o>>2]=c[p>>2];c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[c[o>>2]>>2]=c[(c[j>>2]|0)+256+28>>2];c[(c[j>>2]|0)+256+28>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[(c[j>>2]|0)+256+36>>2]=c[o>>2];c[(c[j>>2]|0)+256>>2]=0;a[(c[j>>2]|0)+256+6>>0]=(c[k>>2]|0)==0?1:0}else{c[(c[j>>2]|0)+256+32>>2]=c[j>>2];c[(c[j>>2]|0)+256+36>>2]=c[j>>2];c[(c[j>>2]|0)+256>>2]=1;a[(c[j>>2]|0)+256+6>>0]=0}c[h>>2]=0;f=c[h>>2]|0;i=q;return f|0}function hi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}if(!(Wh(c[f>>2]|0)|0)){c[e>>2]=Lf(138867)|0;h=c[e>>2]|0;i=j;return h|0}if((d[(c[f>>2]|0)+76>>0]|0)&8)Wb[c[(c[f>>2]|0)+184>>2]&255](8,c[(c[f>>2]|0)+188>>2]|0,c[f>>2]|0,0)|0;nu(c[f>>2]|0);ou(c[f>>2]|0)|0;if((c[g>>2]|0)==0?(pu(c[f>>2]|0)|0)!=0:0){jg(c[f>>2]|0,5,26295,h);c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}c[(c[f>>2]|0)+84>>2]=1691352191;Qg(c[f>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}function ii(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;d=f+16|0;j=f+12|0;h=f+8|0;e=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+428>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=f;return j|0}else{wi(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}return 0} -function ji(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+64|0;C=D;q=D+56|0;r=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;y=D+24|0;z=D+20|0;B=D+16|0;o=D+12|0;A=D+8|0;p=D+4|0;c[r>>2]=d;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[x>>2]=l;c[y>>2]=m;c[z>>2]=n;do if(c[s>>2]|0){if((c[w>>2]|0)!=0?(c[y>>2]|0)!=0|(c[x>>2]|0)!=0:0)break;if(((c[w>>2]|0)==0&(c[y>>2]|0)!=0^1|(c[x>>2]|0)!=0?!((((c[w>>2]|0)!=0|(c[y>>2]|0)!=0)^1)&(c[x>>2]|0)!=0|(c[t>>2]|0)<-1|(c[t>>2]|0)>127):0)?(f=Jf(c[s>>2]|0)|0,c[o>>2]=f,255>=(f|0)):0){c[A>>2]=c[u>>2]&2048;c[u>>2]=c[u>>2]&7;do if((c[u>>2]|0)!=4){if((c[u>>2]|0)==5){c[p>>2]=ji(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,1|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=ji(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,2|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0)){c[u>>2]=3;break}c[q>>2]=c[p>>2];C=c[q>>2]|0;i=D;return C|0}}else c[u>>2]=(a[968]|0)==0?3:2;while(0);c[B>>2]=ki(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,0)|0;do if(((c[B>>2]|0)!=0?(e[(c[B>>2]|0)+2>>1]&3|0)==(c[u>>2]|0):0)?(a[c[B>>2]>>0]|0)==(c[t>>2]|0):0){d=c[r>>2]|0;if(!(c[(c[r>>2]|0)+156>>2]|0)){Sh(d);break}jg(d,5,26232,C);c[q>>2]=5;C=c[q>>2]|0;i=D;return C|0}while(0);c[B>>2]=ki(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,1)|0;if(!(c[B>>2]|0)){c[q>>2]=7;C=c[q>>2]|0;i=D;return C|0}mu(c[r>>2]|0,c[B>>2]|0);if(c[z>>2]|0){C=c[z>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[B>>2]|0)+24>>2]=c[z>>2];b[(c[B>>2]|0)+2>>1]=e[(c[B>>2]|0)+2>>1]&3|c[A>>2];c[(c[B>>2]|0)+12>>2]=(c[w>>2]|0)!=0?c[w>>2]|0:c[x>>2]|0;c[(c[B>>2]|0)+16>>2]=c[y>>2];c[(c[B>>2]|0)+4>>2]=c[v>>2];a[c[B>>2]>>0]=c[t>>2];c[q>>2]=0;C=c[q>>2]|0;i=D;return C|0}}while(0);c[q>>2]=Lf(139436)|0;C=c[q>>2]|0;i=D;return C|0}function ki(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+49|0;p=y+48|0;t=y+28|0;u=y+24|0;q=y+20|0;r=y+16|0;s=y+12|0;w=y+8|0;x=y+4|0;v=y;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a[o>>0]=h;a[p>>0]=j;c[u>>2]=0;c[q>>2]=0;c[s>>2]=Jf(c[m>>2]|0)|0;c[t>>2]=sj((c[l>>2]|0)+348|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;c[w>>2]=gu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[w>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[w>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}a:do if(!(a[p>>0]|0)){if((c[u>>2]|0)!=0?(c[(c[l>>2]|0)+24>>2]&2097152|0)==0:0)break;c[q>>2]=0;c[r>>2]=((d[17613+(d[c[m>>2]>>0]|0)>>0]|0)+(c[s>>2]|0)|0)%23|0;c[t>>2]=hu(c[r>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break a;c[x>>2]=gu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[x>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[x>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}}while(0);do if((d[p>>0]|0)!=0&(c[q>>2]|0)<6?(f=sh(c[l>>2]|0,28+(c[s>>2]|0)+1|0,0)|0,c[u>>2]=f,(f|0)!=0):0){c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+28;a[c[u>>2]>>0]=c[n>>2];b[(c[u>>2]|0)+2>>1]=d[o>>0]|0;TR((c[u>>2]|0)+28|0,c[m>>2]|0,(c[s>>2]|0)+1|0)|0;c[v>>2]=Uj((c[l>>2]|0)+348|0,c[(c[u>>2]|0)+20>>2]|0,c[u>>2]|0)|0;if((c[v>>2]|0)!=(c[u>>2]|0)){c[(c[u>>2]|0)+8>>2]=c[v>>2];break}Tf(c[l>>2]|0,c[u>>2]|0);mh(c[l>>2]|0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}while(0);do if(c[u>>2]|0){if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[p>>0]|0)==0:0)break;c[k>>2]=c[u>>2];f=c[k>>2]|0;i=y;return f|0}while(0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}function li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[j>>2];c[f>>2]=Od(26181,h)|0;ie(c[g>>2]|0,c[f>>2]|0,-1);Kd(c[f>>2]|0);i=e;return}function mi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;j=h+12|0;f=h+8|0;g=h+4|0;k=h;c[j>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=h;return 0}Yj();Cf(c[f>>2]|0,c[g>>2]|0)|0;Zj();i=h;return 0}function ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=-1;if(!(c[e>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);while(1){if((c[g>>2]|0)<0){d=6;break}if(!(ig(c[c[f>>2]>>2]|0,c[e>>2]|0)|0)){d=6;break}c[g>>2]=(c[g>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+-16}if((d|0)==6){g=c[g>>2]|0;i=h;return g|0}return 0}function oi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[g>>2]|0)+20>>2]|0)?(c[o>>2]|0)==0:0))break;if(((c[h>>2]|0)==10?1:(c[n>>2]|0)==(c[h>>2]|0))?(c[o>>2]=eu(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0,c[k>>2]=0,c[l>>2]=0,(c[o>>2]|0)==5):0){c[m>>2]=1;c[o>>2]=0}c[n>>2]=(c[n>>2]|0)+1}i=p;return ((c[o>>2]|0)==0&(c[m>>2]|0)!=0?5:c[o>>2]|0)|0}function pi(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+69>>0]|0)){i=f;return}if(c[(c[e>>2]|0)+168>>2]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=0;c[(c[e>>2]|0)+248>>2]=0;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+-1;i=f;return}function qi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;p=s;h=s+40|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;g=s+12|0;r=s+8|0;q=s+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=0;c[c[k>>2]>>2]=0;c[o>>2]=Dd()|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}if(!(1<<(c[l>>2]&7)&70)){c[h>>2]=Lf(140621)|0;r=c[h>>2]|0;i=s;return r|0}do if(c[3]|0){if(c[l>>2]&32768){c[g>>2]=0;break}if(c[l>>2]&65536){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[l>>2]&262144)){if(c[57]|0)c[l>>2]=c[l>>2]|131072}else c[l>>2]=c[l>>2]&-131073;c[l>>2]=c[l>>2]&-655129;c[n>>2]=kg(464,0)|0;do if(c[n>>2]|0){if((c[g>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]=8,(c[(c[n>>2]|0)+12>>2]|0)==0):0){Kd(c[n>>2]|0);c[n>>2]=0;break}c[(c[n>>2]|0)+56>>2]=255;c[(c[n>>2]|0)+20>>2]=2;c[(c[n>>2]|0)+84>>2]=-264537850;c[(c[n>>2]|0)+16>>2]=(c[n>>2]|0)+392;e=(c[n>>2]|0)+96|0;g=1580;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[(c[n>>2]|0)+96+44>>2]=0;a[(c[n>>2]|0)+67>>0]=1;a[(c[n>>2]|0)+72>>0]=-1;d=184;b=c[d+4>>2]|0;f=(c[n>>2]|0)+40|0;c[f>>2]=c[d>>2];c[f+4>>2]=b;c[(c[n>>2]|0)+80>>2]=0;c[(c[n>>2]|0)+144>>2]=2147483647;f=(c[n>>2]|0)+24|0;c[f>>2]=c[f>>2]|17825888;zj((c[n>>2]|0)+364|0);zj((c[n>>2]|0)+320|0);ri(c[n>>2]|0,34834,1,0,141,0)|0;ri(c[n>>2]|0,34834,3,0,141,0)|0;ri(c[n>>2]|0,34834,2,0,141,0)|0;ri(c[n>>2]|0,20429,1,0,142,0)|0;ri(c[n>>2]|0,20436,1,1,141,0)|0;if(!(a[(c[n>>2]|0)+69>>0]|0)){f=Sj(c[n>>2]|0,1,34834,0)|0;c[(c[n>>2]|0)+8>>2]=f;c[(c[n>>2]|0)+48>>2]=c[l>>2];c[o>>2]=ak(c[m>>2]|0,c[j>>2]|0,l,c[n>>2]|0,r,q)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7)mh(c[n>>2]|0);j=c[n>>2]|0;l=c[o>>2]|0;m=(c[q>>2]|0)!=0?18391:0;c[p>>2]=c[q>>2];jg(j,l,m,p);Kd(c[q>>2]|0);break}c[o>>2]=bk(c[c[n>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+4|0,0,c[l>>2]|256)|0;if(c[o>>2]|0){if((c[o>>2]|0)==3082)c[o>>2]=7;lg(c[n>>2]|0,c[o>>2]|0);break}mg(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0);q=ck(c[n>>2]|0,c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=q;if(!(a[(c[n>>2]|0)+69>>0]|0))a[(c[n>>2]|0)+66>>0]=a[(c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;q=ck(c[n>>2]|0,0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+16+12>>2]=q;c[c[(c[n>>2]|0)+16>>2]>>2]=20442;a[(c[(c[n>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[n>>2]|0)+16>>2]|0)+16>>2]=18672;a[(c[(c[n>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[n>>2]|0)+84>>2]=-1607883113;if(!(a[(c[n>>2]|0)+69>>0]|0)){lg(c[n>>2]|0,0);dk(c[n>>2]|0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)==0?(ek(c[n>>2]|0),c[o>>2]=Df(c[n>>2]|0)|0,(c[o>>2]|0)!=0):0)break;if((c[o>>2]|0)==0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)c[o>>2]=fk(c[n>>2]|0)|0;if(c[o>>2]|0)lg(c[n>>2]|0,c[o>>2]|0);gi(c[n>>2]|0,0,c[9]|0,c[10]|0)|0;zf(c[n>>2]|0,1e3)|0}}}while(0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)!=7){if(c[o>>2]|0)c[(c[n>>2]|0)+84>>2]=1266094736}else{sf(c[n>>2]|0)|0;c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];Kd(c[r>>2]|0);c[h>>2]=c[o>>2]&255;r=c[h>>2]|0;i=s;return r|0}function ri(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;w=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+48|0;o=x+32|0;p=x+28|0;q=x+24|0;v=x+20|0;s=x+16|0;r=x+12|0;t=x+8|0;u=x+4|0;c[l>>2]=b;c[m>>2]=e;a[n>>0]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[s>>2]=d[n>>0];if((c[s>>2]|0)==4|(c[s>>2]|0)==8)c[s>>2]=(a[968]|0)==0?3:2;if((c[s>>2]|0)<1|(c[s>>2]|0)>3){c[k>>2]=Lf(140172)|0;w=c[k>>2]|0;i=x;return w|0}c[v>>2]=Sj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,0)|0;a:do if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;if(c[(c[l>>2]|0)+156>>2]|0){jg(b,5,20361,w);c[k>>2]=5;w=c[k>>2]|0;i=x;return w|0}Sh(b);if((d[(c[v>>2]|0)+4>>0]&-9|0)==(c[s>>2]|0)){c[r>>2]=sj((c[l>>2]|0)+364|0,c[m>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=3)break a;c[u>>2]=(c[r>>2]|0)+((c[t>>2]|0)*20|0);if((d[(c[u>>2]|0)+4>>0]|0)==(d[(c[v>>2]|0)+4>>0]|0)){if(c[(c[u>>2]|0)+16>>2]|0)Qb[c[(c[u>>2]|0)+16>>2]&255](c[(c[u>>2]|0)+8>>2]|0);c[(c[u>>2]|0)+12>>2]=0}c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[v>>2]=Sj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,1)|0;if(!(c[v>>2]|0)){c[k>>2]=7;w=c[k>>2]|0;i=x;return w|0}else{c[(c[v>>2]|0)+12>>2]=c[p>>2];c[(c[v>>2]|0)+8>>2]=c[o>>2];c[(c[v>>2]|0)+16>>2]=c[q>>2];a[(c[v>>2]|0)+4>>0]=c[s>>2]|d[n>>0]&8;lg(c[l>>2]|0,0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}return 0}function si(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[k>>2]=0;a[(c[f>>2]|0)+148+5>>0]=1;a[(c[f>>2]|0)+66>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[j>>2]=0;while(1){if(c[k>>2]|0)break;if((c[j>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[j>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[k>>2]=vj(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)wj(c[f>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(((c[k>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[k>>2]=vj(c[f>>2]|0,1,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)wj(c[f>>2]|0,1);a[(c[f>>2]|0)+148+5>>0]=0;if(!((c[k>>2]|0)==0&(c[h>>2]|0)!=0)){k=c[k>>2]|0;i=l;return k|0}xj(c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}function ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){l=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c[k>>2]=sj((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){l=7;break}c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){i=m;return c[k>>2]|0}return 0}function ui(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(ig(c[d>>2]|0,19887)|0){if(!(ig(c[d>>2]|0,19895)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,19901)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=e;return c[b>>2]|0}function vi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((d[(c[f>>2]|0)+15>>0]|0)&4)){c[e>>2]=c[g>>2];b=c[e>>2]|0;i=h;return b|0}else{b=c[c[f>>2]>>2]|0;c[e>>2]=b+(kR(c[c[f>>2]>>2]|0)|0)+1;b=c[e>>2]|0;i=h;return b|0}return 0}function wi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function xi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){d=6;break}if(!(ig(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){d=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;i=h;return g|0}else if((d|0)==8){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function yi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=rj(c[a+216>>2]|0)|0;i=b;return d|0}else{d=c[a+68>>2]|0;i=b;return d|0}return 0}function Ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function Bi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function Ci(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];mg(c[p>>2]|0);if((e[(c[m>>2]|0)+22>>1]|0)&2){c[h>>2]=8;p=c[h>>2]|0;i=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[m>>2]|0)+32>>2]=c[j>>2];Ui(c[m>>2]|0)}c[n>>2]=Vi(c[c[m>>2]>>2]|0,(c[m>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[l>>2]|0){p=(c[m>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=o;return p|0}function Di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=55;Ti(c[g>>2]|0,c[f>>2]|0,d)|0;i=e;return c[d>>2]|0}function Ei(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;Ri(8,c[b>>2]|0);if((c[78]|0)!=0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[77];c[77]=c[c[77]>>2];c[78]=(c[78]|0)+-1;Si(3,1);d=c[d>>2]|0;i=e;return d|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;i=e;return d|0}Si(4,ag(c[d>>2]|0)|0);d=c[d>>2]|0;i=e;return d|0}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[76]|0)>>>0:0){c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[77];c[77]=c[e>>2];c[78]=(c[78]|0)+1;bg(3,1);i=f;return}if(c[2]|0){c[d>>2]=ag(c[b>>2]|0)|0;bg(4,c[d>>2]|0);bg(0,c[d>>2]|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}}function Gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((Oi(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0}function Hi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+24|0;f=m+20|0;g=m+16|0;k=m;h=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;b=k;c[b>>2]=0;c[b+4>>2]=0;c[h>>2]=2;while(1){e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=48)break;c[h>>2]=e+1}c[j>>2]=e;while(1){if(!(d[18403+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;b=k;b=aS(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=C;e=RR(b|0,e|0,(Li(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))e=((c[j>>2]|0)-(c[h>>2]|0)|0)<=16;else e=0;c[l>>2]=e?0:1;l=c[l>>2]|0;i=m;return l|0}while(0);j=c[f>>2]|0;k=c[g>>2]|0;c[l>>2]=Mi(j,k,Jf(c[f>>2]|0)|0,1)|0;l=c[l>>2]|0;i=m;return l|0}function Ii(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ki(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function Ji(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Ki(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0|0)!=0:0){g=18402;i=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;i=f;return g|0}function Li(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function Mi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;l=v+48|0;m=v+44|0;n=v+40|0;h=v+36|0;j=v+52|0;q=v+32|0;k=v;r=v+28|0;p=v+24|0;o=v+20|0;s=v+16|0;u=v+12|0;t=v+8|0;c[m>>2]=b;c[n>>2]=e;c[h>>2]=f;a[j>>0]=g;b=k;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[o>>2]=0;c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+(c[h>>2]|0);if((d[j>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[p>>2]=3-(d[j>>0]|0);while(1){if((c[p>>2]|0)>=(c[h>>2]|0))break;if(a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)break;c[p>>2]=(c[p>>2]|0)+2}c[s>>2]=(c[p>>2]|0)<(c[h>>2]|0)&1;c[t>>2]=(c[m>>2]|0)+(c[p>>2]^1);c[m>>2]=(c[m>>2]|0)+(d[j>>0]&1)}while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if(!(d[18403+(d[c[m>>2]>>0]|0)>>0]&1))break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}do if((c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0){if((a[c[m>>2]>>0]|0)==45){c[r>>2]=1;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((a[c[m>>2]>>0]|0)==43)c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}while(0);c[u>>2]=c[m>>2];while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if((a[c[m>>2]>>0]|0)!=48)break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}c[p>>2]=0;while(1){if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0?(b=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0,c[o>>2]=b,(b|0)>=48):0)h=(c[o>>2]|0)<=57;else h=0;j=k;g=c[j>>2]|0;j=c[j+4>>2]|0;if(!h)break;b=aS(g|0,j|0,10,0)|0;e=c[o>>2]|0;e=RR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;e=QR(e|0,C|0,48,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0)}f=(c[r>>2]|0)!=0;do if(!(j>>>0>2147483647|(j|0)==2147483647&g>>>0>4294967295)){j=k;h=c[j>>2]|0;j=c[j+4>>2]|0;if(f){k=QR(0,0,h|0,j|0)|0;n=c[n>>2]|0;c[n>>2]=k;c[n+4>>2]=C;break}else{n=c[n>>2]|0;c[n>>2]=h;c[n+4>>2]=j;break}}else{n=c[n>>2]|0;c[n>>2]=f?0:-1;c[n+4>>2]=f?-2147483648:2147483647}while(0);do if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0>=(c[t>>2]|0)>>>0){if((c[p>>2]|0)==0?(c[u>>2]|0)==(c[m>>2]|0):0)break;if(!((c[s>>2]|0)!=0?1:(c[p>>2]|0)>((c[q>>2]|0)*19|0))){if((c[p>>2]|0)<((c[q>>2]|0)*19|0)){c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}c[o>>2]=Ni(c[m>>2]|0,c[q>>2]|0)|0;if((c[o>>2]|0)<0){c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}if((c[o>>2]|0)>0){c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}else{c[l>>2]=(c[r>>2]|0)!=0?0:2;u=c[l>>2]|0;i=v;return u|0}}}while(0);c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}function Ni(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[j>>2]=18767;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;b=_(c[h>>2]|0,c[f>>2]|0)|0;c[g>>2]=((a[(c[e>>2]|0)+b>>0]|0)-(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){b=c[g>>2]|0;i=k;return b|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;b=c[g>>2]|0;i=k;return b|0}function Oi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+17|0;g=n+12|0;h=n+8|0;l=n+16|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;a[l>>0]=f;f=c[g>>2]|0;if((d[18403+(d[c[g>>2]>>0]|0)>>0]|0)&4){a[k>>0]=Pi(f)|0;m=a[k>>0]|0;i=n;return m|0}c[j>>2]=Jf(f)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){f=11;break}if((d[18786+(c[m>>2]|0)>>0]|0|0)==(c[j>>2]|0)?(zd(18802+(d[18794+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[j>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){f=9;break}if((d[18827+(c[m>>2]|0)>>0]|0|0)<=1){f=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==9){a[k>>0]=a[18827+(c[m>>2]|0)>>0]|0;m=a[k>>0]|0;i=n;return m|0}else if((f|0)==11){a[k>>0]=a[l>>0]|0;m=a[k>>0]|0;i=n;return m|0}return 0}function Pi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)Qi(c[b>>2]|0,d)|0;i=e;return c[d>>2]|0}function Qi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;k=o+28|0;l=o+24|0;h=o;m=o+20|0;f=o+16|0;g=o+12|0;n=o+8|0;c[k>>2]=b;c[l>>2]=e;b=h;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[18403+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[n>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){e=c[n>>2]|0;if(!((d[18403+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)!=0?(c[m>>2]|0)<8:0))break;c[n>>2]=(e<<4)+((Li(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((e&-2147483648|0)==0?(d[18403+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[l>>2]>>2]=c[n>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}}}else{c[g>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[f>>2]=n;if(!((n|0)>=0&(c[f>>2]|0)<=9))break;n=h;n=aS(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;b=c[f>>2]|0;b=RR(n|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;n=h;c[n>>2]=b;c[n+4>>2]=C;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}m=h;n=c[g>>2]|0;n=QR(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=C;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if(c[g>>2]|0){m=h;m=QR(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=h;c[n>>2]=m;c[n+4>>2]=C}c[c[l>>2]>>2]=c[h>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}function Ri(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[1048+(c[d>>2]<<2)>>2]|0)>>>0){i=f;return}c[1048+(c[d>>2]<<2)>>2]=c[e>>2];i=f;return}function Si(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=1008+(c[d>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[1008+(c[d>>2]<<2)>>2]|0)>>>0<=(c[1048+(c[d>>2]<<2)>>2]|0)>>>0){i=e;return}c[1048+(c[d>>2]<<2)>>2]=c[1008+(c[d>>2]<<2)>>2];i=e;return}function Ti(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if((c[j>>2]|0)<2){o=c[j>>2]|0;i=p;return o|0}c[l>>2]=(d[17613+(d[c[h>>2]>>0]|0)>>0]<<2^(d[17613+(d[(c[h>>2]|0)+((c[j>>2]|0)-1)>>0]|0)>>0]|0)*3^c[j>>2]|0)%127|0;c[l>>2]=(d[18835+(c[l>>2]|0)>>0]|0)-1;while(1){if((c[l>>2]|0)<0){o=13;break}if((d[18962+(c[l>>2]|0)>>0]|0)==(c[j>>2]|0)){c[m>>2]=0;c[n>>2]=19086+(e[9524+(c[l>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[j>>2]|0))g=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else g=0;f=c[m>>2]|0;if(!g)break;c[m>>2]=f+1}if((f|0)>=(c[j>>2]|0))break}c[l>>2]=(d[19763+(c[l>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[j>>2]|0;i=p;return o|0}c[c[k>>2]>>2]=d[19639+(c[l>>2]|0)>>0];o=c[j>>2]|0;i=p;return o|0}function Ui(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){i=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;$i(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;i=d;return}function Vi(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;n=p+16|0;m=p+12|0;l=p+8|0;k=p;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Wi(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[m>>2]|0)!=0):0)?(c[m>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[l>>2]=0;o=k;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0)c[n>>2]=Xi(c[(c[g>>2]|0)+64>>2]|0,k)|0;if((c[n>>2]|0)==0?(c[l>>2]=Yi(c[m>>2]|0)|0,(c[l>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Zi(c[g>>2]|0);c[n>>2]=_i(c[(c[g>>2]|0)+212>>2]|0,c[m>>2]|0)|0}if(!(c[n>>2]|0)){$i(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[l>>2];o=k;o=RR(c[o>>2]|0,c[o+4>>2]|0,c[m>>2]|0,0)|0;o=QR(o|0,C|0,1,0)|0;o=_R(o|0,C|0,c[m>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[m>>2];break}else{$i(c[l>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[n>>2]|0){o=c[n>>2]|0;i=p;return o|0}if((c[j>>2]|0)<0)c[j>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[j>>2];aj(c[g>>2]|0);o=c[n>>2]|0;i=p;return o|0}function Wi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Xi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Yi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=jj(c[d>>2]|0)|0;i=b;return a|0}function Zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;dj(c[(c[d>>2]|0)+96>>2]|0);ej(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function _i(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=Ob[c[132>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;b=c[e>>2]|0;i=j;return b|0}k=c[34]|0;a=c[h>>2]|0;b=cj(c[f>>2]|0)|0;Rb[k&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)Qb[c[160>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function $i(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;bj(c[d>>2]|0);i=b;return}function aj(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function bj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[426]|0)>>>0?(c[b>>2]|0)>>>0<(c[427]|0)>>>0:0){bg(1,1);c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[429];c[429]=c[e>>2];c[430]=(c[430]|0)+1;c[431]=(c[430]|0)<(c[425]|0)&1;i=f;return}c[d>>2]=0;c[d>>2]=ag(c[b>>2]|0)|0;bg(2,c[d>>2]|0);Kd(c[b>>2]|0);i=f;return}function cj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;i=e;return d|0}else{a=aS(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=_R(a|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;i=e;return d|0}return 0}function dj(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}i=d;return}function ej(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;fj(c[d>>2]|0,0);i=b;return}function fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){i=j;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)gj(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?(c[(c[d>>2]|0)+12>>2]|0)!=0:0)?(c[h>>2]=Ob[c[144>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,(c[h>>2]|0)!=0):0){VR(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}Rb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);i=j;return}function gj(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){i=f;return}hj(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}ij(c[d>>2]|0);i=f;return}function hj(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+4|0;g=k+8|0;j=k;c[h>>2]=b;a[g>>0]=f;c[j>>2]=c[(c[h>>2]|0)+28>>2];if(d[g>>0]&1){if((c[(c[j>>2]|0)+8>>2]|0)==(c[h>>2]|0))c[(c[j>>2]|0)+8>>2]=c[(c[h>>2]|0)+36>>2];f=c[(c[h>>2]|0)+36>>2]|0;if(c[(c[h>>2]|0)+32>>2]|0)c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=f;else c[(c[j>>2]|0)+4>>2]=f;f=c[(c[h>>2]|0)+32>>2]|0;if(!(c[(c[h>>2]|0)+36>>2]|0)){c[c[j>>2]>>2]=f;if(!(c[c[j>>2]>>2]|0))a[(c[j>>2]|0)+33>>0]=2}else c[(c[(c[h>>2]|0)+36>>2]|0)+32>>2]=f;c[(c[h>>2]|0)+32>>2]=0;c[(c[h>>2]|0)+36>>2]=0}if(!(d[g>>0]&2)){i=k;return}c[(c[h>>2]|0)+32>>2]=c[c[j>>2]>>2];f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+32>>2]|0)){c[(c[j>>2]|0)+4>>2]=f;if(a[(c[j>>2]|0)+32>>0]|0)a[(c[j>>2]|0)+33>>0]=1}else c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=f;c[c[j>>2]>>2]=c[h>>2];if(c[(c[j>>2]|0)+8>>2]|0){i=k;return}if(e[(c[h>>2]|0)+24>>1]&8){i=k;return}c[(c[j>>2]|0)+8>>2]=c[h>>2];i=k;return}function ij(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){i=e;return}Ub[c[148>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);i=e;return}function jj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[423]|0)?(c[d>>2]=c[429],(c[d>>2]|0)!=0):0){c[429]=c[c[429]>>2];c[430]=(c[430]|0)+-1;c[431]=(c[430]|0)<(c[425]|0)&1;Ri(7,c[b>>2]|0);Si(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;i=f;return e|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=f;return e|0}c[e>>2]=ag(c[d>>2]|0)|0;Ri(7,c[b>>2]|0);Si(2,c[e>>2]|0);e=c[d>>2]|0;i=f;return e|0}function kj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=kg(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;i=e;return d|0}function lj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;k=p;c[h>>2]=b;c[j>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[c[h>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[f>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(b=kj(c[(c[h>>2]|0)+8>>2]|0)|0,c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]=b,(c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){o=8;break}c[h>>2]=c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]}if((o|0)==8){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}f=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){o=(c[h>>2]|0)+12+(((c[j>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(f&7);c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=f+1;c[l>>2]=(f>>>0)%125|0;a:do if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=124)o=17}else{while(1){if((c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)==(c[j>>2]|0))break;o=(c[l>>2]|0)+1|0;c[l>>2]=o;c[l>>2]=(c[l>>2]|0)>>>0>=125?0:o;if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){o=17;break a}}c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}while(0);if((o|0)==17?(c[(c[h>>2]|0)+4>>2]|0)>>>0>=62:0){c[k>>2]=Ch(0,500,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}TR(c[k>>2]|0,(c[h>>2]|0)+12|0,500)|0;VR((c[h>>2]|0)+12|0,0,500)|0;c[(c[h>>2]|0)+8>>2]=(((c[c[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=lj(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0){o=lj(c[h>>2]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|o}c[m>>2]=(c[m>>2]|0)+1}Tf(0,c[k>>2]|0);c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}o=(c[h>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]=c[j>>2];c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function mj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;n=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){i=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){i=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));i=p;return}c[k>>2]=c[j>>2];TR(c[k>>2]|0,(c[g>>2]|0)+12|0,500)|0;VR((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[m>>2]=(((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]|0))break;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){a=0;a=a&1;i=f;return a|0}a=(qj(c[d>>2]|0,c[e>>2]|0)|0)!=0;a=a&1;i=f;return a|0}function oj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function pj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;pj(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Kd(c[b>>2]|0);i=e;return}function qj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[h>>2]=a;c[j>>2]=b;c[j>>2]=(c[j>>2]|0)+-1;if((c[j>>2]|0)>>>0>=(c[c[h>>2]>>2]|0)>>>0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}while(1){if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[e>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=c[(c[h>>2]|0)+12+(c[e>>2]<<2)>>2];if(!(c[h>>2]|0)){f=5;break}}if((f|0)==5){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}e=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){c[g>>2]=((d[(c[h>>2]|0)+12+((e>>>0)/8|0)>>0]|0)&1<<(c[j>>2]&7)|0)!=0&1;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=e+1;c[k>>2]=(e>>>0)%125|0;while(1){if(!(c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)){f=13;break}if((c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)==(c[j>>2]|0)){f=11;break}c[k>>2]=(((c[k>>2]|0)+1|0)>>>0)%125|0}if((f|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((f|0)==13){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function rj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function sj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=tj(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;i=e;return g|0}function tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+28|0;e=n+24|0;j=n+20|0;f=n+16|0;l=n+12|0;k=n+8|0;g=n+4|0;h=n;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;if(c[(c[e>>2]|0)+12>>2]|0){b=uj(c[j>>2]|0)|0;c[g>>2]=(b>>>0)%((c[c[e>>2]>>2]|0)>>>0)|0;c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);c[l>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=c[c[h>>2]>>2]}else{c[g>>2]=0;c[l>>2]=c[(c[e>>2]|0)+8>>2];c[k>>2]=c[(c[e>>2]|0)+4>>2]}c[c[f>>2]>>2]=c[g>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+-1;if(!b){e=9;break}b=(ig(c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0;f=c[l>>2]|0;if(b){e=7;break}c[l>>2]=c[f>>2]}if((e|0)==7){c[m>>2]=f;m=c[m>>2]|0;i=n;return m|0}else if((e|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function uj(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=a[b>>0]|0;a[f>>0]=b;if(!(b&255))break;c[g>>2]=(c[g>>2]|0)+(d[17613+(d[f>>0]|0)>>0]|0);c[g>>2]=_(c[g>>2]|0,-1640531535)|0}i=h;return c[g>>2]|0}function vj(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+128|0;w=A;l=A+108|0;m=A+104|0;n=A+100|0;o=A+96|0;u=A+92|0;j=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;r=A+40|0;q=A+24|0;y=A+20|0;s=A+16|0;p=A+112|0;z=A+12|0;x=A+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=0;h=(c[n>>2]|0)==1?19905:19924;c[y>>2]=h;c[B>>2]=h;c[B+4>>2]=19938;c[B+8>>2]=19940;c[B+12>>2]=0;c[q>>2]=c[m>>2];c[q+8>>2]=c[n>>2];c[q+12>>2]=0;c[q+4>>2]=c[o>>2];Bj(q,3,B,0)|0;if(!(c[q+12>>2]|0)){c[t>>2]=(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4);if(!(c[(c[t>>2]|0)+4>>2]|0)){if((c[n>>2]|0)==1){B=(c[(c[(c[m>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[l>>2]=0;B=c[l>>2]|0;i=A;return B|0}mg(c[(c[t>>2]|0)+4>>2]|0);do if(!(og(c[(c[t>>2]|0)+4>>2]|0)|0)){c[u>>2]=pg(c[(c[t>>2]|0)+4>>2]|0,0)|0;if(c[u>>2]|0){z=c[o>>2]|0;B=c[m>>2]|0;Cj(z,B,lh(c[u>>2]|0)|0);break}else{c[s>>2]=1;k=11;break}}else k=11;while(0);a:do if((k|0)==11){c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;rg(c[(c[t>>2]|0)+4>>2]|0,(c[j>>2]|0)+1|0,r+(c[j>>2]<<2)|0);c[j>>2]=(c[j>>2]|0)+1}c[c[(c[t>>2]|0)+12>>2]>>2]=c[r>>2];f=c[n>>2]|0;do if(c[r+16>>2]|0){j=c[r+16>>2]|0;if(!f){B=j&3;a[p>>0]=B;a[p>>0]=(d[p>>0]|0)==0?1:B;a[(c[m>>2]|0)+66>>0]=a[p>>0]|0;break}if((j|0)!=(d[(c[m>>2]|0)+66>>0]|0)){Cj(c[o>>2]|0,c[m>>2]|0,20016);c[u>>2]=1;break a}}else{B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(f<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[t>>2]|0)+12>>2]|0)+77>>0]=a[(c[m>>2]|0)+66>>0]|0;if(!(c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Dj(c[r+8>>2]|0)|0;c[v>>2]=B;c[v>>2]=(c[v>>2]|0)==0?-2e3:B;c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]=c[v>>2];Ej(c[(c[t>>2]|0)+4>>2]|0,c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=c[r+4>>2];if(!(d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Cj(c[o>>2]|0,c[m>>2]|0,20084);c[u>>2]=1;break}if((c[n>>2]|0)==0?(c[r+4>>2]|0)>=4:0){B=(c[m>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[m>>2]|0;y=c[y>>2]|0;c[w>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[w+4>>2]=y;c[z>>2]=Gh(B,20108,w)|0;c[x>>2]=c[(c[m>>2]|0)+296>>2];c[(c[m>>2]|0)+296>>2]=0;c[u>>2]=$e(c[m>>2]|0,c[z>>2]|0,140,q,0)|0;c[(c[m>>2]|0)+296>>2]=c[x>>2];if(!(c[u>>2]|0))c[u>>2]=c[q+12>>2];Tf(c[m>>2]|0,c[z>>2]|0);if(!(c[u>>2]|0))Fj(c[m>>2]|0,c[n>>2]|0)|0;if(a[(c[m>>2]|0)+69>>0]|0){c[u>>2]=7;Cg(c[m>>2]|0)}if((c[u>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[u>>2]=0}while(0);if(c[s>>2]|0)Gj(c[(c[t>>2]|0)+4>>2]|0)|0}else c[u>>2]=c[q+12>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082)mh(c[m>>2]|0);c[l>>2]=c[u>>2];B=c[l>>2]|0;i=A;return B|0}function wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);yj(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;yj(c[(c[e>>2]|0)+12>>2]|0);i=f;return}function xj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function yj(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;l=k+48|0;h=k+32|0;j=k+16|0;d=k+8|0;f=k+4|0;g=k;c[l>>2]=a;c[f>>2]=c[l>>2];a=(c[f>>2]|0)+8|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=(c[f>>2]|0)+40|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];zj((c[f>>2]|0)+40|0);Aj((c[f>>2]|0)+24|0);c[d>>2]=c[j+8>>2];while(1){if(!(c[d>>2]|0))break;Qf(0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2]}Aj(j);zj((c[f>>2]|0)+8|0);c[d>>2]=c[h+8>>2];while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];Rf(0,c[g>>2]|0);c[d>>2]=c[c[d>>2]>>2]}Aj(h);Aj((c[f>>2]|0)+56|0);c[(c[f>>2]|0)+72>>2]=0;if(!((e[(c[f>>2]|0)+78>>1]|0)&1)){i=k;return}l=(c[f>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[f>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=k;return}function zj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function Aj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Kd(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;i=f;return}function Bj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;j=s+40|0;t=s+36|0;k=s+28|0;n=s+20|0;l=s+16|0;m=s+12|0;q=s+8|0;r=s+44|0;p=s+4|0;o=s;c[t>>2]=d;c[s+32>>2]=f;c[k>>2]=g;c[s+24>>2]=h;c[n>>2]=c[t>>2];c[l>>2]=c[c[n>>2]>>2];c[m>>2]=c[(c[n>>2]|0)+8>>2];d=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[l>>2]|0)+69>>0]|0){Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);c[j>>2]=1;t=c[j>>2]|0;i=s;return t|0}if(!(c[k>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}a:do if(!(c[(c[k>>2]|0)+4>>2]|0))Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);else{if(zd(c[(c[k>>2]|0)+8>>2]|0,20250,7)|0){do if(c[c[k>>2]>>2]|0){if((c[(c[k>>2]|0)+8>>2]|0)!=0?(a[c[(c[k>>2]|0)+8>>2]>>0]|0)!=0:0)break;c[o>>2]=Kj(c[l>>2]|0,c[c[k>>2]>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(Qi(c[(c[k>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,20258);break a}while(0);Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);break}a[r>>0]=a[(c[l>>2]|0)+148+4>>0]|0;a[(c[l>>2]|0)+148+4>>0]=c[m>>2];t=Pi(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[l>>2]|0)+148>>2]=t;a[(c[l>>2]|0)+148+6>>0]=0;cf(c[l>>2]|0,c[(c[k>>2]|0)+8>>2]|0,-1,p,0)|0;c[q>>2]=c[(c[l>>2]|0)+52>>2];a[(c[l>>2]|0)+148+4>>0]=a[r>>0]|0;do if(0!=(c[q>>2]|0)?(a[(c[l>>2]|0)+148+6>>0]|0)==0:0){c[(c[n>>2]|0)+12>>2]=c[q>>2];if((c[q>>2]|0)==7){mh(c[l>>2]|0);break}if((c[q>>2]|0)!=9?(c[q>>2]&255|0)!=6:0){r=c[n>>2]|0;t=c[c[k>>2]>>2]|0;Pj(r,t,bf(c[l>>2]|0)|0)}}while(0);Xd(c[p>>2]|0)|0}while(0);c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Tf(c[h>>2]|0,c[c[f>>2]>>2]|0);d=qh(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;i=e;return}function Dj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);i=e;return c[b>>2]|0}function Ej(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);Nj(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function Fj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+36|0;f=o+32|0;l=o+24|0;g=o+20|0;n=o+16|0;k=o+12|0;h=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=d;c[k>>2]=0;c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+8>>2];b[c[(c[h>>2]|0)+8>>2]>>1]=0;c[g>>2]=c[c[g>>2]>>2]}c[l>>2]=c[e>>2];c[l+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];do if(ti(c[e>>2]|0,20163,c[l+4>>2]|0)|0){h=c[e>>2]|0;c[m>>2]=c[l+4>>2];c[n>>2]=Gh(h,20176,m)|0;if(!(c[n>>2]|0)){c[k>>2]=7;break}else{c[k>>2]=$e(c[e>>2]|0,c[n>>2]|0,141,l,0)|0;Tf(c[e>>2]|0,c[n>>2]|0);break}}while(0);c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(b[c[(c[j>>2]|0)+8>>2]>>1]|0))Ij(c[j>>2]|0);c[g>>2]=c[c[g>>2]>>2]}if((c[k>>2]|0)!=7){n=c[k>>2]|0;i=o;return n|0}mh(c[e>>2]|0);n=c[k>>2]|0;i=o;return n|0}function Gj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;mg(c[b>>2]|0);c[d>>2]=Ng(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Mg(c[b>>2]|0,0)|0;d=c[d>>2]|0;i=e;return d|0}function Hj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+112|0;j=s+96|0;t=s+92|0;k=s+84|0;p=s+76|0;o=s+72|0;q=s+68|0;r=s+64|0;l=s+60|0;n=s+56|0;m=s;c[t>>2]=d;c[s+88>>2]=f;c[k>>2]=g;c[s+80>>2]=h;c[p>>2]=c[t>>2];if(((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0)?(c[(c[k>>2]|0)+8>>2]|0)!=0:0){c[q>>2]=ti(c[c[p>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}do if(c[(c[k>>2]|0)+4>>2]|0)if(!(Td(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){c[o>>2]=Jj(c[q>>2]|0)|0;break}else{c[o>>2]=Kj(c[c[p>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break}else c[o>>2]=0;while(0);c[r>>2]=c[(c[k>>2]|0)+8>>2];if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=(e[(c[o>>2]|0)+50>>1]|0)+1;t=(c[o>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Lj(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[o>>2]|0);if(!(c[(c[o>>2]|0)+36>>2]|0))b[(c[q>>2]|0)+38>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0}else{b[m+48>>1]=b[(c[q>>2]|0)+40>>1]|0;Lj(c[r>>2]|0,1,0,(c[q>>2]|0)+38|0,m);b[(c[q>>2]|0)+40>>1]=b[m+48>>1]|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Ij(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;h=l+16|0;g=l+8|0;k=l+4|0;j=l;c[f>>2]=a;b[h>>1]=b[4886]|0;b[h+2>>1]=b[4887]|0;b[h+4>>1]=b[4888]|0;b[h+6>>1]=b[4889]|0;b[h+8>>1]=b[4890]|0;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[k>>2]=a;b[c[g>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if(c[(c[f>>2]|0)+36>>2]|0){a=c[g>>2]|0;b[a>>1]=(b[a>>1]|0)-10}if((b[c[g>>2]>>1]|0)<33)b[c[g>>2]>>1]=33;TR((c[g>>2]|0)+2|0,h|0,c[k>>2]<<1|0)|0;c[j>>2]=(c[k>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){i=l;return}b[(c[g>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;i=l;return}function Jj(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){i=e;return c[d>>2]|0}return 0}function Kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;k=n+12|0;h=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;c[l>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[k>>2]=sj((c[l>>2]|0)+24|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){m=7;break}c[h>>2]=(c[h>>2]|0)+1}if((m|0)==7){i=n;return c[k>>2]|0}return 0}function Lj(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+32|0;j=q+28|0;k=q+20|0;o=q+16|0;p=q+12|0;l=q+8|0;m=q+4|0;n=q;c[r>>2]=d;c[j>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=h;c[p>>2]=c[r>>2];c[m>>2]=0;while(1){if(!(a[c[p>>2]>>0]|0))break;if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=0;while(1){r=a[c[p>>2]>>0]|0;c[l>>2]=r;if(!((r|0)>=48?(c[l>>2]|0)<=57:0))break;c[n>>2]=((c[n>>2]|0)*10|0)+(c[l>>2]|0)-48;c[p>>2]=(c[p>>2]|0)+1}r=Mj(c[n>>2]|0,0)|0;b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=r;if((a[c[p>>2]>>0]|0)==32)c[p>>2]=(c[p>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[p>>2]>>0]|0))break;do if(Ze(20217,c[p>>2]|0)|0){r=(Ze(20228,c[p>>2]|0)|0)==0;j=c[p>>2]|0;if(r){r=Pi(j+3|0)|0;r=Mj(r,((r|0)<0)<<31>>31)|0;b[(c[o>>2]|0)+48>>1]=r;break}if(!(Ze(20238,j)|0)){r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[p>>2]>>0]|0))break;if((a[c[p>>2]>>0]|0)==32)break;c[p>>2]=(c[p>>2]|0)+1}while(1){if((a[c[p>>2]>>0]|0)!=32)continue a;c[p>>2]=(c[p>>2]|0)+1}}i=q;return}function Mj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+10|0;f=h;g=h+8|0;j=f;c[j>>2]=a;c[j+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){j=f;d=c[j+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<2){b[e>>1]=0;j=b[e>>1]|0;i=h;return j|0}else while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=WR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}else{while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=SR(c[d>>2]|0,c[d+4>>2]|0,4)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=SR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}while(0);b[e>>1]=(b[9782+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;j=b[e>>1]|0;i=h;return j|0}function Nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Oj(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);i=d;return}function Oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[34]|0;b=c[(c[f>>2]|0)+44>>2]|0;a=cj(c[f>>2]|0)|0;Rb[e&255](b,a);i=d;return}function Pj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o+8|0;l=o;g=o+32|0;h=o+28|0;j=o+24|0;k=o+20|0;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[k>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=20275;e=c[k>>2]|0;c[l>>2]=c[h>>2];c[n>>2]=Gh(e,20277,l)|0;if(c[j>>2]|0){e=c[k>>2]|0;f=c[j>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=f;c[n>>2]=Gh(e,20308,m)|0}Tf(c[k>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[n>>2]}if(d[(c[k>>2]|0)+69>>0]|0){f=7;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}f=Qj(113554)|0;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}function Qj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rj(11,c[d>>2]|0,20316)|0;i=b;return a|0}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f;e=f+20|0;j=f+16|0;h=f+12|0;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;d=c[e>>2]|0;h=c[h>>2]|0;a=c[j>>2]|0;b=(kf()|0)+20|0;c[g>>2]=h;c[g+4>>2]=a;c[g+8>>2]=b;Rd(d,20336,g);i=f;return c[e>>2]|0}function Sj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+12|0;h=m+16|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;a[h>>0]=e;c[j>>2]=f;c[k>>2]=g;g=c[n>>2]|0;if(c[j>>2]|0)c[l>>2]=Tj(g,c[j>>2]|0,c[k>>2]|0)|0;else c[l>>2]=c[g+8>>2];if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}c[l>>2]=(c[l>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[l>>2]|0;i=m;return n|0}function Tj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;m=l+12|0;j=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[j>>2]=sj((c[f>>2]|0)+364|0,c[g>>2]|0)|0;if(!(0==(c[j>>2]|0)&(c[m>>2]|0)!=0)){m=c[j>>2]|0;i=l;return m|0}c[h>>2]=Jf(c[g>>2]|0)|0;c[j>>2]=sh(c[f>>2]|0,60+(c[h>>2]|0)+1|0,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;i=l;return m|0}c[k>>2]=0;c[c[j>>2]>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+4>>0]=1;c[(c[j>>2]|0)+20>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+20+4>>0]=2;c[(c[j>>2]|0)+40>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+40+4>>0]=3;TR(c[c[j>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[c[j>>2]>>2]|0)+(c[h>>2]|0)>>0]=0;c[k>>2]=Uj((c[f>>2]|0)+364|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){m=c[j>>2]|0;i=l;return m|0}mh(c[f>>2]|0);Tf(c[f>>2]|0,c[k>>2]|0);c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}function Uj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+28|0;l=n+24|0;e=n+20|0;f=n+16|0;h=n+12|0;g=n+8|0;m=n+4|0;j=n;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=tj(c[l>>2]|0,c[e>>2]|0,h)|0;if(c[g>>2]|0){c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))Vj(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0);else{c[(c[g>>2]|0)+8>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=c[e>>2]}c[k>>2]=c[j>>2];m=c[k>>2]|0;i=n;return m|0}if(!(c[f>>2]|0)){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[m>>2]=$f(16,0)|0;if(!(c[m>>2]|0)){c[k>>2]=c[f>>2];m=c[k>>2]|0;i=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+8>>2]=c[f>>2];b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;if(((c[(c[l>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[l>>2]|0)+4>>2]|0)>>>0>c[c[l>>2]>>2]<<1>>>0:0)?(Wj(c[l>>2]|0,c[(c[l>>2]|0)+4>>2]<<1)|0)!=0:0){b=uj(c[e>>2]|0)|0;c[h>>2]=(b>>>0)%((c[c[l>>2]>>2]|0)>>>0)|0}if(c[(c[l>>2]|0)+12>>2]|0)e=(c[(c[l>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else e=0;Xj(c[l>>2]|0,e,c[m>>2]|0);c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[c[f>>2]>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0)c[c[(c[f>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Kd(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){i=j;return}Aj(c[e>>2]|0);i=j;return}function Wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Yj();c[j>>2]=$f(c[f>>2]<<3,0)|0;Zj();if(!(c[j>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Kd(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];a=((ag(c[j>>2]|0)|0)>>>0)/8|0;c[f>>2]=a;c[c[e>>2]>>2]=a;VR(c[j>>2]|0,0,c[f>>2]<<3|0)|0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[g>>2]|0))break;a=uj(c[(c[g>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[f>>2]|0)>>>0)|0;c[k>>2]=c[c[g>>2]>>2];Xj(c[e>>2]|0,(c[j>>2]|0)+(c[h>>2]<<3)|0,c[g>>2]|0);c[g>>2]=c[k>>2]}c[d>>2]=1;a=c[d>>2]|0;i=l;return a|0}function Xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[e>>2]|0){if(c[c[e>>2]>>2]|0)b=c[(c[e>>2]|0)+4>>2]|0;else b=0;c[h>>2]=b;d=c[e>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[e>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[g>>2];i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[f>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];i=j;return}function Yj(){if(!(c[432]|0))return;Vb[c[1728>>2]&255]();return}function Zj(){if(!(c[433]|0))return;Vb[c[1732>>2]&255]();return}function _j(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)<(c[k>>2]|0)?c[h>>2]|0:c[k>>2]|0;c[n>>2]=eR(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){n=c[n>>2]|0;i=o;return n|0}if(((c[g>>2]|0)!=0?(du((c[j>>2]|0)+(c[m>>2]|0)|0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0)?(du((c[l>>2]|0)+(c[m>>2]|0)|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[n>>2]|0;i=o;return n|0}function $j(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[k+20>>2]=a;c[g>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=zd(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)<(c[h>>2]|0)?c[g>>2]|0:c[h>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=(c[g>>2]|0)-(c[h>>2]|0);m=c[j>>2]|0;i=k;return m|0}function ak(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=i;i=i+160|0;K=S+32|0;J=S+24|0;I=S+16|0;H=S+8|0;m=S+140|0;T=S+136|0;n=S+132|0;o=S+128|0;p=S+124|0;q=S+120|0;r=S+116|0;G=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;l=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;k=S;F=S+76|0;D=S+72|0;P=S+68|0;E=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;L=S+36|0;c[T>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[G>>2]=0;c[v>>2]=c[c[o>>2]>>2];c[Q>>2]=c[T>>2];c[l>>2]=Jf(c[n>>2]|0)|0;a:do if(((c[v>>2]&64|0)!=0|(c[5]|0)!=0)&(c[l>>2]|0)>=5?(eR(c[n>>2]|0,26023,5)|0)==0:0){c[y>>2]=0;e=(c[l>>2]|0)+2|0;T=k;c[T>>2]=e;c[T+4>>2]=((e|0)<0)<<31>>31;c[v>>2]=c[v>>2]|64;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;e=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==38&1;T=k;e=RR(c[T>>2]|0,c[T+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=e;c[T+4>>2]=C;c[x>>2]=(c[x>>2]|0)+1}T=k;c[M>>2]=Jd(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[M>>2]|0)){c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}c[x>>2]=5;do if((a[(c[n>>2]|0)+5>>0]|0)==47?(a[(c[n>>2]|0)+6>>0]|0)==47:0){c[x>>2]=7;while(1){if(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)k=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)!=47;else k=0;l=c[x>>2]|0;if(!k)break;c[x>>2]=l+1}if((l|0)!=7){if((c[x>>2]|0)==16?(eR(26029,(c[n>>2]|0)+7|0,9)|0)==0:0)break;T=(c[n>>2]|0)+7|0;c[H>>2]=(c[x>>2]|0)-7;c[H+4>>2]=T;T=Od(26039,H)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break a}}while(0);c[u>>2]=0;b:while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[x>>2]=(c[x>>2]|0)+1;do if(((a[t>>0]|0)==37?(d[18403+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[18403+(d[(c[n>>2]|0)+((c[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=c[x>>2]|0;c[x>>2]=T+1;c[F>>2]=((Li(a[(c[n>>2]|0)+T>>0]|0)|0)&255)<<4;T=c[x>>2]|0;c[x>>2]=T+1;T=(Li(a[(c[n>>2]|0)+T>>0]|0)|0)&255;c[F>>2]=(c[F>>2]|0)+T;if(c[F>>2]|0){a[t>>0]=c[F>>2];break}while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[u>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[u>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[x>>2]=(c[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[u>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[M>>2]|0)+((c[y>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0))continue b;if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==35)continue b;if((a[(c[n>>2]|0)+((c[x>>2]|0)-1)>>0]|0)==38)continue b;c[x>>2]=(c[x>>2]|0)+1}else{if((a[t>>0]|0)==38){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}else c[u>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[u>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[u>>2]=1}while(0);H=a[t>>0]|0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=H}if((c[u>>2]|0)==1){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=(Jf(c[M>>2]|0)|0)+1|0;c[O>>2]=(c[M>>2]|0)+T;while(1){if(!(a[c[O>>2]>>0]|0)){R=84;break a}c[D>>2]=Jf(c[O>>2]|0)|0;c[P>>2]=(c[O>>2]|0)+((c[D>>2]|0)+1);c[E>>2]=Jf(c[P>>2]|0)|0;if((c[D>>2]|0)==3?(eR(26067,c[O>>2]|0,3)|0)==0:0)c[Q>>2]=c[P>>2];else{c[s>>2]=0;c[N>>2]=0;c[A>>2]=0;c[z>>2]=0;if((c[D>>2]|0)==5?(eR(26071,c[O>>2]|0,5)|0)==0:0){c[A>>2]=393216;c[s>>2]=4104;c[z>>2]=c[A>>2];c[N>>2]=26071}if((c[D>>2]|0)==4?(eR(26077,c[O>>2]|0,4)|0)==0:0){c[A>>2]=135;c[s>>2]=4128;c[z>>2]=c[A>>2]&c[v>>2];c[N>>2]=26082}if(c[s>>2]|0){c[B>>2]=0;c[w>>2]=0;while(1){if(!(c[(c[s>>2]|0)+(c[w>>2]<<3)>>2]|0))break;c[L>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)>>2];T=c[E>>2]|0;if((T|0)==(Jf(c[L>>2]|0)|0)?0==(eR(c[P>>2]|0,c[L>>2]|0,c[E>>2]|0)|0):0){R=73;break}c[w>>2]=(c[w>>2]|0)+1}if((R|0)==73){R=0;c[B>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)+4>>2]}if(!(c[B>>2]|0)){R=76;break}if((c[B>>2]&-129|0)>(c[z>>2]|0)){R=78;break}c[v>>2]=c[v>>2]&~c[A>>2]|c[B>>2]}}c[O>>2]=(c[P>>2]|0)+((c[E>>2]|0)+1)}if((R|0)==76){T=c[P>>2]|0;c[I>>2]=c[N>>2];c[I+4>>2]=T;T=Od(26089,I)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break}else if((R|0)==78){T=c[P>>2]|0;c[J>>2]=c[N>>2];c[J+4>>2]=T;T=Od(26109,J)|0;c[c[r>>2]>>2]=T;c[G>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[l>>2]|0)+2|0;c[M>>2]=Jd(T,((T|0)<0)<<31>>31)|0;if(c[M>>2]|0){TR(c[M>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;a[(c[M>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[M>>2]|0)+((c[l>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;R=84;break}c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}while(0);if((R|0)==84?(T=Cd(c[Q>>2]|0)|0,c[c[p>>2]>>2]=T,(c[c[p>>2]>>2]|0)==0):0){c[K>>2]=c[Q>>2];T=Od(26133,K)|0;c[c[r>>2]>>2]=T;c[G>>2]=1}if(c[G>>2]|0){Kd(c[M>>2]|0);c[M>>2]=0}c[c[o>>2]>>2]=c[v>>2];c[c[q>>2]>>2]=c[M>>2];c[m>>2]=c[G>>2];T=c[m>>2]|0;i=S;return T|0}function bk(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;C=I+76|0;m=I+72|0;n=I+68|0;o=I+64|0;D=I+60|0;p=I+56|0;q=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;r=I+4|0;G=I;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[D>>2]=j;c[p>>2]=k;c[q>>2]=l;c[F>>2]=0;c[I+40>>2]=0;c[H>>2]=0;if(!(c[n>>2]|0))h=1;else h=(a[c[n>>2]>>0]|0)==0;c[u>>2]=h&1;if((c[n>>2]|0)!=0?(hR(c[n>>2]|0,25837)|0)==0:0)h=1;else B=5;do if((B|0)==5){if((c[u>>2]|0)!=0?(Zq(c[o>>2]|0)|0)!=0:0){h=1;break}h=(c[q>>2]&128|0)!=0}while(0);c[t>>2]=h&1;if(c[t>>2]|0)c[p>>2]=c[p>>2]|2;if((c[q>>2]&256|0)!=0?(c[t>>2]|0)!=0|(c[u>>2]|0)!=0:0)c[q>>2]=c[q>>2]&-257|512;c[E>>2]=kg(48,0)|0;if(!(c[E>>2]|0)){c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}a[(c[E>>2]|0)+8>>0]=0;c[c[E>>2]>>2]=c[o>>2];c[(c[E>>2]|0)+32>>2]=c[E>>2];c[(c[E>>2]|0)+32+4>>2]=1;do if(!(c[u>>2]|0)){if((c[t>>2]|0)!=0?(c[q>>2]&64|0)==0:0)break;if(c[q>>2]&131072){c[v>>2]=(Jf(c[n>>2]|0)|0)+1;c[w>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;u=(c[w>>2]|0)>(c[v>>2]|0)?c[w>>2]|0:c[v>>2]|0;c[A>>2]=$f(u,((u|0)<0)<<31>>31)|0;a[(c[E>>2]|0)+9>>0]=1;if(!(c[A>>2]|0)){Kd(c[E>>2]|0);c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}if(!(c[t>>2]|0)){c[H>>2]=_q(c[m>>2]|0,c[n>>2]|0,c[w>>2]|0,c[A>>2]|0)|0;if(c[H>>2]|0){Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}}else TR(c[A>>2]|0,c[n>>2]|0,c[v>>2]|0)|0;c[F>>2]=c[1006];while(1){if(!(c[F>>2]|0))break;w=c[A>>2]|0;if(0==(hR(w,Ki(c[c[F>>2]>>2]|0,0)|0)|0)?(w=yi(c[c[F>>2]>>2]|0)|0,(w|0)==(c[m>>2]|0)):0){B=29;break}c[F>>2]=c[(c[F>>2]|0)+68>>2]}do if((B|0)==29){c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;while(1){if((c[s>>2]|0)<0){B=35;break}c[y>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]<<4)+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+4>>2]|0)==(c[F>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+-1}if((B|0)==35){c[(c[E>>2]|0)+4>>2]=c[F>>2];y=(c[F>>2]|0)+64|0;c[y>>2]=(c[y>>2]|0)+1;break}Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=19;H=c[C>>2]|0;i=I;return H|0}while(0);Kd(c[A>>2]|0)}}while(0);do if(!(c[F>>2]|0)){c[F>>2]=kg(84,0)|0;if(!(c[F>>2]|0)){c[H>>2]=7;break}c[H>>2]=ar(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0,88,c[p>>2]|0,c[q>>2]|0,149)|0;if(!(c[H>>2]|0)){A=(c[o>>2]|0)+40|0;br(c[c[F>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0);c[H>>2]=cr(c[c[F>>2]>>2]|0,100,z)|0}if(!(c[H>>2]|0)){a[(c[F>>2]|0)+16>>0]=c[p>>2];c[(c[F>>2]|0)+4>>2]=c[o>>2];er(c[c[F>>2]>>2]|0,171,c[F>>2]|0);c[(c[E>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+12>>2]=0;if((fr(c[c[F>>2]>>2]|0)|0)<<24>>24){A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|1}c[(c[F>>2]|0)+32>>2]=d[z+16>>0]<<8|d[z+17>>0]<<16;if(((c[(c[F>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[F>>2]|0)+32>>2]|0)-1&c[(c[F>>2]|0)+32>>2]|0)==0:0){a[x>>0]=a[z+20>>0]|0;A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|2;A=(gr(z+52|0)|0)!=0;a[(c[F>>2]|0)+17>>0]=A?1:0;A=(gr(z+64|0)|0)!=0;a[(c[F>>2]|0)+18>>0]=A?1:0}else{c[(c[F>>2]|0)+32>>2]=0;if(!((c[n>>2]|0)==0|(c[t>>2]|0)!=0)){a[(c[F>>2]|0)+17>>0]=0;a[(c[F>>2]|0)+18>>0]=0}a[x>>0]=0}c[H>>2]=Vi(c[c[F>>2]>>2]|0,(c[F>>2]|0)+32|0,d[x>>0]|0)|0;if(!(c[H>>2]|0)){c[(c[F>>2]|0)+36>>2]=(c[(c[F>>2]|0)+32>>2]|0)-(d[x>>0]|0);c[(c[F>>2]|0)+64>>2]=1;if(a[(c[E>>2]|0)+9>>0]|0){c[(c[F>>2]|0)+68>>2]=c[1006];c[1006]=c[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(a[(c[E>>2]|0)+9>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break a;B=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0;c[G>>2]=B;if((B|0)!=0?(d[(c[G>>2]|0)+9>>0]|0)!=0:0)break;c[r>>2]=(c[r>>2]|0)+1}while(1){if(!(c[(c[G>>2]|0)+28>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+28>>2]}if((c[(c[E>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0){c[(c[E>>2]|0)+24>>2]=c[G>>2];c[(c[E>>2]|0)+28>>2]=0;c[(c[G>>2]|0)+28>>2]=c[E>>2];break}while(1){if(c[(c[G>>2]|0)+24>>2]|0)k=(c[(c[(c[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[E>>2]|0)+4>>2]|0)>>>0;else k=0;h=c[(c[G>>2]|0)+24>>2]|0;if(!k)break;c[G>>2]=h}c[(c[E>>2]|0)+24>>2]=h;c[(c[E>>2]|0)+28>>2]=c[G>>2];if(c[(c[E>>2]|0)+24>>2]|0)c[(c[(c[E>>2]|0)+24>>2]|0)+28>>2]=c[E>>2];c[(c[G>>2]|0)+24>>2]=c[E>>2]}while(0);c[c[D>>2]>>2]=c[E>>2]}if(!(c[H>>2]|0)){if(!(Yq(c[E>>2]|0,0,0)|0))Nj(c[c[(c[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if((c[F>>2]|0)!=0?(c[c[F>>2]>>2]|0)!=0:0)hr(c[c[F>>2]>>2]|0)|0;Kd(c[F>>2]|0);Kd(c[E>>2]|0);c[c[D>>2]>>2]=0}c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}function ck(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=Yq(c[g>>2]|0,84,150)|0;else c[h>>2]=sh(0,84,0)|0;if(!(c[h>>2]|0)){mh(c[f>>2]|0);e=c[h>>2]|0;i=j;return e|0}if(d[(c[h>>2]|0)+76>>0]|0){e=c[h>>2]|0;i=j;return e|0}zj((c[h>>2]|0)+8|0);zj((c[h>>2]|0)+24|0);zj((c[h>>2]|0)+40|0);zj((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;e=c[h>>2]|0;i=j;return e|0}function dk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=yf(c[b>>2]|0,25831,2)|0;if((c[e>>2]|0)!=7){i=d;return}mh(c[b>>2]|0);i=d;return}function ek(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;h=l;b=l+28|0;e=l+24|0;d=l+20|0;g=l+16|0;j=l+12|0;k=l+8|0;f=l+4|0;c[b>>2]=a;c[d>>2]=1;if(!(c[385]|0)){i=l;return}c[e>>2]=0;while(1){if(!(c[d>>2]|0))break;c[f>>2]=0;if((c[e>>2]|0)>>>0>=(c[385]|0)>>>0){c[j>>2]=0;c[d>>2]=0}else c[j>>2]=c[(c[386]|0)+(c[e>>2]<<2)>>2];c[k>>2]=0;if((c[j>>2]|0)!=0?(a=Ob[c[j>>2]&255](c[b>>2]|0,k,c[f>>2]|0)|0,c[g>>2]=a,(a|0)!=0):0){m=c[b>>2]|0;a=c[g>>2]|0;c[h>>2]=c[k>>2];jg(m,a,25792,h);c[d>>2]=0}Kd(c[k>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=l;return}function fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[j>>2]=0;c[e>>2]=0;c[g>>2]=0;c[f>>2]=0;c[h>>2]=0;gk(h);c[j>>2]=hk(c[d>>2]|0)|0;if(c[j>>2]|0){c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}ik(g);jk(f);c[e>>2]=Id(20)|0;if(c[e>>2]|0)kk(c[e>>2]|0,1,1);else c[j>>2]=7;do if(!(c[j>>2]|0)){if(((lk(c[e>>2]|0,20447,7,c[g>>2]|0)|0)==0?(lk(c[e>>2]|0,20454,7,c[f>>2]|0)|0)==0:0)?(lk(c[e>>2]|0,20461,10,c[h>>2]|0)|0)==0:0)break;c[j>>2]=7}while(0);if((((((0==(c[j>>2]|0)?(h=mk(c[d>>2]|0,c[e>>2]|0,20471)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20486,-1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20494,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20502,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20502,2)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20512,1)|0,c[j>>2]=h,0==(h|0)):0){c[j>>2]=ef(c[d>>2]|0,20521,1736,c[e>>2]|0,151)|0;if(!(c[j>>2]|0))c[j>>2]=ef(c[d>>2]|0,20526,1736,c[e>>2]|0,0)|0;if(!(c[j>>2]|0))c[j>>2]=ok(c[d>>2]|0,c[e>>2]|0)|0;c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}if(c[e>>2]|0){pk(c[e>>2]|0);Kd(c[e>>2]|0)}c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}function gk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2356;i=b;return}function hk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=df(c[e>>2]|0,25443,2264,0)|0;i=d;return c[b>>2]|0}function ik(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2236;i=b;return}function jk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2208;i=b;return}function kk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f;j=f+5|0;h=f+4|0;c[g>>2]=b;a[j>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[j>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function lk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+40|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;q=s+20|0;p=s+16|0;g=s+12|0;r=s+8|0;t=s+4|0;h=s;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=Hk(a[c[l>>2]>>0]|0)|0;c[q>>2]=Yb[c[t>>2]&255](c[m>>2]|0,c[n>>2]|0)|0;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;c[g>>2]=Ik(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[o>>2]|0))aq(c[l>>2]|0,c[g>>2]|0,c[p>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[o>>2];c[k>>2]=c[h>>2];t=c[k>>2]|0;i=s;return t|0}if(!(c[o>>2]|0)){c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}if(!((c[(c[l>>2]|0)+12>>2]|0)==0?(bq(c[l>>2]|0,8)|0)!=0:0))j=10;do if((j|0)==10){if((c[(c[l>>2]|0)+4>>2]|0)>=(c[(c[l>>2]|0)+12>>2]|0)?(bq(c[l>>2]|0,c[(c[l>>2]|0)+12>>2]<<1)|0)!=0:0)break;c[r>>2]=cq(20)|0;if(!(c[r>>2]|0)){c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}do if((c[m>>2]|0)!=0?(a[(c[l>>2]|0)+1>>0]|0)!=0:0){f=cq(c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=f;f=c[r>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){TR(c[f+12>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break}qk(f);c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}else c[(c[r>>2]|0)+12>>2]=c[m>>2];while(0);c[(c[r>>2]|0)+16>>2]=c[n>>2];t=(c[l>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;dq(c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+(c[p>>2]<<3)|0,c[r>>2]|0);c[(c[r>>2]|0)+8>>2]=c[o>>2];c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}function mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[h>>2]=0;c[g>>2]=c[k>>2];c[j>>2]=5;if(!(c[h>>2]|0))c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,1,5,c[g>>2]|0,225,0,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,2,5,c[g>>2]|0,225,0,0)|0;k=c[h>>2]|0;i=j;return k|0}function nk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];pk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=df(c[g>>2]|0,20531,1828,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function pk(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;qk(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if((a[(c[d>>2]|0)+1>>0]|0)!=0?(c[(c[e>>2]|0)+12>>2]|0)!=0:0)qk(c[(c[e>>2]|0)+12>>2]|0);qk(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;i=g;return}function qk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function rk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;h=w+56|0;x=w+52|0;j=w+48|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;s=w+28|0;r=w+24|0;t=w+20|0;u=w+16|0;p=w+12|0;q=w+8|0;v=w+4|0;o=w;c[x>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[s>>2]=0;c[r>>2]=0;c[t>>2]=0;c[p>>2]=0;c[u>>2]=ff(c[x>>2]|0,20544)|0;if(c[u>>2]|0){c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}c[q>>2]=(c[k>>2]|0)-3;c[u>>2]=Ck(c[q>>2]|0,(c[l>>2]|0)+12|0,p)|0;if(!(c[u>>2]|0)){if((c[q>>2]|0)<1)c[v>>2]=20447;else c[v>>2]=c[c[p>>2]>>2];c[u>>2]=Dk(c[j>>2]|0,c[v>>2]|0,r,c[n>>2]|0)|0}if(!(c[u>>2]|0)){c[o>>2]=(c[p>>2]|0)+4;c[u>>2]=Ob[c[(c[r>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[o>>2]|0,t)|0}if((c[u>>2]|0)==0?(c[s>>2]=Id(20)|0,(c[s>>2]|0)==0):0)c[u>>2]=7;if(c[u>>2]|0){if(c[t>>2]|0)Tb[c[(c[r>>2]|0)+8>>2]&255](c[t>>2]|0)|0}else{x=c[s>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[s>>2]|0)+12>>2]=c[r>>2];c[(c[s>>2]|0)+16>>2]=c[t>>2];c[c[m>>2]>>2]=c[s>>2]}Kd(c[p>>2]|0);c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}function sk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+4|0;j=k;c[k+8>>2]=b;c[g>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if(((d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0|0)!=0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else if((e|0)==8){c[(c[g>>2]|0)+20>>2]=0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}return 0}function tk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;Kd(c[d>>2]|0);i=b;return 0}function uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function vk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Bk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function wk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;r=q+32|0;k=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;l=q;c[j>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=1;c[m>>2]=c[j>>2];c[n>>2]=c[c[j>>2]>>2];Bk(c[m>>2]|0);do if((c[r>>2]|0)==1){c[p>>2]=$d(c[c[k>>2]>>2]|0)|0;c[l>>2]=ae(c[c[k>>2]>>2]|0)|0;r=Id((c[l>>2]|0)+1|0)|0;c[(c[m>>2]|0)+4>>2]=r;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[o>>2]=7;break}TR(c[(c[m>>2]|0)+4>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;a[(c[(c[m>>2]|0)+4>>2]|0)+(c[l>>2]|0)>>0]=0;c[o>>2]=Wb[c[(c[(c[n>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[n>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[l>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[o>>2]|0))c[c[(c[m>>2]|0)+8>>2]>>2]=c[(c[n>>2]|0)+16>>2]}while(0);if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=q;return r|0}else{c[h>>2]=xk(c[j>>2]|0)|0;r=c[h>>2]|0;i=q;return r|0}return 0}function xk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=Sb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;i=e;return g|0}Bk(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;i=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=e;return g|0}function yk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{me(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);i=g;return 0}case 1:{me(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);i=g;return 0}case 2:{je(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);i=g;return 0}case 3:{je(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);i=g;return 0}default:{je(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);i=g;return 0}}return 0}function Ak(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;i=d;return 0}function Bk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}Kd(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;i=e;return}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;g=o+24|0;n=o+20|0;j=o+16|0;l=o+12|0;h=o+8|0;m=o+4|0;k=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;if(!(c[e>>2]|0)){c[c[g>>2]>>2]=0;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;d=(kR(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)+1|0;c[l>>2]=(c[l>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+1}d=Id((c[e>>2]<<2)+(c[l>>2]|0)|0)|0;c[h>>2]=d;c[c[g>>2]>>2]=d;if(!(c[h>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=(c[h>>2]|0)+(c[e>>2]<<2);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;c[k>>2]=kR(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];TR(c[m>>2]|0,c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0,(c[k>>2]|0)+1|0)|0;Ok(c[m>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[k>>2]|0)+1);c[j>>2]=(c[j>>2]|0)+1}n=c[n>>2]|0;i=o;return n|0}function Dk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;l=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=kR(c[g>>2]|0)|0;c[k>>2]=Ek(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}else{o=c[j>>2]|0;c[l>>2]=c[g>>2];Fk(o,20595,l);c[f>>2]=1;o=c[f>>2]|0;i=m;return o|0}return 0}function Ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Gk(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){j=0;i=f;return j|0}j=c[(c[e>>2]|0)+8>>2]|0;i=f;return j|0}function Fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Kd(c[c[f>>2]>>2]|0);c[g>>2]=d;b=Nd(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=b;i=e;return}function Gk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)!=0:0){c[l>>2]=Hk(a[c[g>>2]>>0]|0)|0;c[k>>2]=Yb[c[l>>2]&255](c[h>>2]|0,c[j>>2]|0)|0;c[f>>2]=Ik(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;l=c[f>>2]|0;i=m;return l|0}c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Hk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=180;else c[b>>2]=181;i=d;return c[b>>2]|0}function Ik(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;g=q+28|0;l=q+24|0;m=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;p=q+4|0;j=q;c[g>>2]=b;c[l>>2]=d;c[m>>2]=e;c[h>>2]=f;a:do if(c[(c[g>>2]|0)+16>>2]|0){c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<3);c[o>>2]=c[(c[j>>2]|0)+4>>2];c[n>>2]=c[c[j>>2]>>2];c[p>>2]=Jk(a[c[g>>2]>>0]|0)|0;while(1){d=c[n>>2]|0;c[n>>2]=d+-1;if(!((d|0)!=0?(c[o>>2]|0)!=0:0))break a;d=(Wb[c[p>>2]&255](c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0;g=c[o>>2]|0;if(d)break;c[o>>2]=c[g>>2]}c[k>>2]=g;p=c[k>>2]|0;i=q;return p|0}while(0);c[k>>2]=0;p=c[k>>2]|0;i=q;return p|0}function Jk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=142;else c[b>>2]=143;i=d;return c[b>>2]|0}function Kk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=lR(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Lk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=eR(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Mk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;c[g>>2]=c[j>>2];c[f>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=kR(c[g>>2]|0)|0;while(1){d=c[f>>2]|0;if((c[e>>2]|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0];c[e>>2]=(c[e>>2]|0)+-1}i=h;return d&2147483647|0}function Nk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[j>>2];while(1){j=c[e>>2]|0;c[e>>2]=j+-1;d=c[f>>2]|0;if((j|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0]}i=h;return d&2147483647|0}function Ok(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;a[h>>0]=a[c[e>>2]>>0]|0;if((((a[h>>0]|0)!=91?(a[h>>0]|0)!=39:0)?(a[h>>0]|0)!=34:0)?(a[h>>0]|0)!=96:0){i=j;return}c[f>>2]=1;c[g>>2]=0;if((a[h>>0]|0)==91)a[h>>0]=93;while(1){if(!(a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=b+1|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)!=(a[h>>0]|0)){c[f>>2]=d;b=a[(c[e>>2]|0)+b>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;continue}if((a[(c[e>>2]|0)+d>>0]|0)!=(a[h>>0]|0))break;b=a[h>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;c[f>>2]=(c[f>>2]|0)+2}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function Pk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Lp(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Qk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Lp(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Rk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+64|0;r=u+48|0;v=u+44|0;s=u+40|0;o=u+36|0;g=u+32|0;j=u+28|0;n=u+24|0;k=u+20|0;l=u+16|0;m=u+12|0;f=u+8|0;p=u+4|0;t=u;c[v>>2]=b;c[s>>2]=e;c[o>>2]=c[v>>2];c[j>>2]=-1;c[n>>2]=-1;c[k>>2]=-1;c[l>>2]=-1;c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=5.0e6;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[p>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);e=c[p>>2]|0;b:do if(!(d[(c[p>>2]|0)+5>>0]|0)){if((d[e+4>>0]|0)==64){q=5;break a}}else{if((c[e>>2]|0)<0)e=1;else e=(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[f>>2]=e&1;if((c[j>>2]|0)<0?((c[f>>2]|0)!=0?(d[(c[p>>2]|0)+4>>0]|0)==2:0):0){c[(c[s>>2]|0)+20>>2]=1;h[(c[s>>2]|0)+40>>3]=1.0;c[j>>2]=c[g>>2]}if(((d[(c[p>>2]|0)+4>>0]|0)==64?(c[c[p>>2]>>2]|0)>=0:0)?(c[c[p>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[s>>2]|0)+20>>2]=2+(c[c[p>>2]>>2]|0);h[(c[s>>2]|0)+40>>3]=2.0;c[j>>2]=c[g>>2]}if((d[(c[p>>2]|0)+4>>0]|0)==2?(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[n>>2]=c[g>>2];if(c[f>>2]|0)switch(d[(c[p>>2]|0)+4>>0]|0){case 4:case 32:{c[k>>2]=c[g>>2];break b}case 16:case 8:{c[l>>2]=c[g>>2];break b}default:break b}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((q|0)==5){c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=1.e+50;Jp(c[s>>2]|0,0,262144);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)==1)Kp(c[s>>2]|0);c[m>>2]=1;if((c[j>>2]|0)>=0){v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=v;a[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1}if((c[n>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=v}if((c[k>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=v}if((c[l>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=v}do if((c[(c[s>>2]|0)+8>>2]|0)==1){c[t>>2]=c[(c[s>>2]|0)+12>>2];if((c[c[t>>2]>>2]|0)>=0?(c[c[t>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;e=(c[s>>2]|0)+24|0;if(a[(c[t>>2]|0)+4>>0]|0)c[e>>2]=23624;else c[e>>2]=23629;c[(c[s>>2]|0)+32>>2]=1}while(0);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}function Sk(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[f>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Xd(c[(c[d>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[d>>2]|0)+240>>2]|0);Kd(c[(c[d>>2]|0)+216>>2]|0);Kd(c[(c[d>>2]|0)+220>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);Tb[c[(c[c[(c[d>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+36>>2]|0)|0;Kd(c[d>>2]|0);i=e;return 0}function Tk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;g=n;b=n+56|0;e=n+52|0;f=n+48|0;m=n+44|0;d=n+40|0;c[b>>2]=a;c[e>>2]=c[b>>2];c[f>>2]=0;c[m>>2]=c[(c[e>>2]|0)+16>>2];c[d>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[(c[e>>2]|0)+40>>2]|0)){a=c[d>>2]|0;o=c[(c[e>>2]|0)+20>>2]|0;c[g>>2]=c[m>>2];c[g+4>>2]=o;nl(f,a,23824,g)}o=c[d>>2]|0;g=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=g;nl(f,o,23861,k);o=c[d>>2]|0;k=c[(c[e>>2]|0)+20>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;nl(f,o,23899,l);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=l;nl(f,o,23935,h);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=l;nl(f,o,23972,j);if(!(c[f>>2]|0)){o=Sk(c[b>>2]|0)|0;i=n;return o|0}else{o=c[f>>2]|0;i=n;return o|0}return 0}function Uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=Id(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){d=c[d>>2]|0;a=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;i=f;return g|0}return 0}function Vk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Xd(c[(c[d>>2]|0)+8>>2]|0)|0;gp(c[(c[d>>2]|0)+12>>2]|0);Ip(c[d>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);zm(c[(c[d>>2]|0)+92>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Wk(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+112|0;B=E+32|0;A=E;t=E+108|0;u=E+104|0;k=E+100|0;n=E+96|0;l=E+88|0;z=E+84|0;D=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;q=E+64|0;r=E+60|0;x=E+56|0;y=E+52|0;m=E+48|0;p=E+44|0;s=E+40|0;c[u>>2]=e;c[k>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[l>>2]=j;c[z>>2]=0;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[u>>2];c[q>>2]=0;c[r>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[k>>2]&65535;c[m>>2]=0;if(c[o>>2]|0){e=c[m>>2]|0;c[m>>2]=e+1;c[q>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&65536){e=c[m>>2]|0;c[m>>2]=e+1;c[r>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&131072){e=c[m>>2]|0;c[m>>2]=e+1;c[x>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&262144){e=c[m>>2]|0;c[m>>2]=e+1;c[y>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}Xd(c[(c[w>>2]|0)+8>>2]|0)|0;Kd(c[(c[w>>2]|0)+44>>2]|0);zm(c[(c[w>>2]|0)+92>>2]|0);gp(c[(c[w>>2]|0)+12>>2]|0);k=(c[u>>2]|0)+4|0;l=k+92|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));e=hp(c[x>>2]|0,0,-2147483648)|0;h=(c[w>>2]|0)+72|0;c[h>>2]=e;c[h+4>>2]=C;h=hp(c[y>>2]|0,-1,2147483647)|0;e=(c[w>>2]|0)+80|0;c[e>>2]=h;c[e+4>>2]=C;if(c[n>>2]|0)a[(c[w>>2]|0)+52>>0]=(a[c[n>>2]>>0]|0)==68;else a[(c[w>>2]|0)+52>>0]=a[(c[v>>2]|0)+231>>0]|0;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[p>>2]=(c[o>>2]|0)-2;c[s>>2]=$d(c[q>>2]|0)|0;if((c[s>>2]|0)==0?(ee(c[q>>2]|0)|0)!=5:0){c[t>>2]=7;D=c[t>>2]|0;i=E;return D|0}c[(c[w>>2]|0)+16>>2]=0;if(c[r>>2]|0){r=ce(c[r>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=r}c[z>>2]=ip(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[p>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}c[z>>2]=jp(c[w>>2]|0)|0;ym(c[v>>2]|0);if(!(c[z>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}while(0);do if(!(c[o>>2]|0)){k=c[(c[v>>2]|0)+216>>2]|0;l=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=l+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;B=(d[(c[w>>2]|0)+52>>0]|0)!=0?23624:23629;c[A>>2]=k;y=A+8|0;c[y>>2]=q;c[y+4>>2]=r;y=A+16|0;c[y>>2]=s;c[y+4>>2]=x;c[A+24>>2]=B;c[D>>2]=Od(23633,A)|0}else{A=(d[l+52>>0]|0)!=0?23624:23629;c[B>>2]=k;c[B+4>>2]=A;c[D>>2]=Od(23695,B)|0}if(c[D>>2]|0){c[z>>2]=af(c[(c[v>>2]|0)+12>>2]|0,c[D>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;Kd(c[D>>2]|0);break}else{c[z>>2]=7;break}}else if((c[o>>2]|0)==1?(c[z>>2]=Fn(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[z>>2]|0)==0):0)c[z>>2]=Oe(c[(c[w>>2]|0)+8>>2]|0,1,c[q>>2]|0)|0;while(0);if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}else{c[t>>2]=Xk(c[u>>2]|0)|0;D=c[t>>2]|0;i=E;return D|0}return 0}function Xk(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=d;c[f>>2]=c[e>>2];if((b[(c[f>>2]|0)+4>>1]|0)!=1?(b[(c[f>>2]|0)+4>>1]|0)!=0:0){c[g>>2]=fp(c[e>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}d=100!=(te(c[(c[f>>2]|0)+8>>2]|0)|0);e=c[f>>2]|0;if(d){a[e+6>>0]=1;c[g>>2]=Yd(c[(c[f>>2]|0)+8>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}else{d=De(c[e+8>>2]|0,0)|0;f=(c[f>>2]|0)+32|0;c[f>>2]=d;c[f+4>>2]=C;c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function Yk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+6>>0]|0|0}function Zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;e=l+20|0;f=l+16|0;k=l+12|0;j=l+8|0;h=l+4|0;g=l;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[k>>2]=0;c[j>>2]=c[m>>2];c[h>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+1|0)){m=(c[j>>2]|0)+32|0;ke(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==(c[(c[h>>2]|0)+24>>2]|0)){fe(c[e>>2]|0,j,4,-1);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[(c[j>>2]|0)+16>>2]|0;ke(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[k>>2]|0;i=l;return m|0}c[k>>2]=tn(0,c[j>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)){c[g>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0)c[g>>2]=Ce(c[(c[j>>2]|0)+8>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+1|0)|0;je(c[e>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}else{m=ye(c[(c[j>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[k>>2]|0;i=l;return m|0}m=c[e>>2]|0;oe(m,Fe(c[(c[j>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[k>>2]|0;i=l;return m|0}return 0}function _k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function $k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Go(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function al(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=ll(c[d>>2]|0)|0;i=b;return a|0}function bl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;h=g+20|0;e=g+12|0;f=g+8|0;d=g+4|0;b=g;c[h>>2]=a;c[g+16>>2]=64;c[e>>2]=c[h>>2];c[f>>2]=ml(c[e>>2]|0)|0;if(((((c[f>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)>>>0>4:0)?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)?(c[(c[e>>2]|0)+48>>2]|0)!=255:0)?(c[d>>2]=0,c[f>>2]=fo(c[e>>2]|0,d)|0,c[b>>2]=_(c[(c[e>>2]|0)+52>>2]|0,c[d>>2]|0)|0,c[b>>2]=(c[b>>2]|0)+((c[b>>2]|0)/2|0),(c[b>>2]|0)>64):0)c[f>>2]=go(c[e>>2]|0,c[b>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;ym(c[e>>2]|0);i=g;return c[f>>2]|0}function cl(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function dl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];jl(c[d>>2]|0);i=b;return 0}function el(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+64|0;j=m+60|0;g=m+48|0;k=m+44|0;l=m+8|0;h=m;c[m+56>>2]=a;c[m+52>>2]=b;c[g>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[l>>2]=c[520];c[l+4>>2]=c[521];c[l+8>>2]=c[522];c[l+12>>2]=c[523];c[l+16>>2]=c[524];c[l+20>>2]=c[525];c[l+24>>2]=c[526];c[l+28>>2]=c[527];c[h>>2]=0;while(1){if((c[h>>2]|0)>=4){b=6;break}d=(hR(c[g>>2]|0,c[l+(c[h>>2]<<3)>>2]|0)|0)==0;a=c[h>>2]|0;if(d){b=4;break}c[h>>2]=a+1}if((b|0)==4){c[c[k>>2]>>2]=c[l+(a<<3)+4>>2];c[j>>2]=1;l=c[j>>2]|0;i=m;return l|0}else if((b|0)==6){c[j>>2]=0;l=c[j>>2]|0;i=m;return l|0}return 0}function fl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+96|0;l=o+64|0;k=o+48|0;n=o+32|0;m=o+16|0;j=o;p=o+92|0;e=o+88|0;g=o+84|0;f=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[g>>2]=c[p>>2];c[f>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=ll(c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=ml(c[g>>2]|0)|0;if(!(c[(c[g>>2]|0)+40>>2]|0)){p=c[f>>2]|0;b=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[j>>2]=c[(c[g>>2]|0)+16>>2];c[j+4>>2]=b;c[j+8>>2]=d;nl(h,p,20617,j)}if(a[(c[g>>2]|0)+230>>0]|0){p=c[f>>2]|0;j=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[m+4>>2]=j;c[m+8>>2]=d;nl(h,p,20670,m)}if(a[(c[g>>2]|0)+229>>0]|0){p=c[f>>2]|0;m=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[n>>2]=c[(c[g>>2]|0)+16>>2];c[n+4>>2]=m;c[n+8>>2]=d;nl(h,p,20723,n)}p=c[f>>2]|0;d=c[(c[g>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[g>>2]|0)+16>>2];c[k+4>>2]=d;c[k+8>>2]=n;nl(h,p,20770,k);p=c[f>>2]|0;n=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[l>>2]=c[(c[g>>2]|0)+16>>2];c[l+4>>2]=n;c[l+8>>2]=d;nl(h,p,20824,l);i=o;return c[h>>2]|0}function gl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=bl(c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function hl(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];jl(c[e>>2]|0);i=d;return 0}function jl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];kl(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}pk(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+260>>2]=0;i=h;return}function kl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function ll(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;e=m+28|0;h=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;c[e>>2]=b;c[h>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){l=c[h>>2]|0;i=m;return l|0}c[k>>2]=23181;k=c[k>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[(c[e>>2]|0)+16>>2];c[j+4>>2]=b;c[l>>2]=Od(k,j)|0;if(!(c[l>>2]|0)){c[h>>2]=7;l=c[h>>2]|0;i=m;return l|0}c[g>>2]=0;c[h>>2]=af(c[(c[e>>2]|0)+12>>2]|0,c[l>>2]|0,-1,g,0)|0;if((c[h>>2]|0)==0?(c[f>>2]=(te(c[g>>2]|0)|0)==100&1,c[h>>2]=Xd(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[f>>2];Kd(c[l>>2]|0);l=c[h>>2]|0;i=m;return l|0}function ml(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=0;while(1){if(!(c[h>>2]|0))a=(c[f>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;b=ol(b,c[(c[e>>2]|0)+272>>2]|0,c[f>>2]|0,-1)|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)==101?0:b;c[f>>2]=(c[f>>2]|0)+1}jl(b);if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=0;c[h>>2]=pl(c[e>>2]|0,22,g,0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}Ke(c[g>>2]|0,1,2)|0;c[h>>2]=te(c[g>>2]|0)|0;if((c[h>>2]|0)==100){f=Ce(c[g>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=f;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[h>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[h>>2]=Yd(c[g>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+32|0;g=l+28|0;h=l+24|0;j=l+8|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=l;return}c[j>>2]=e;c[k>>2]=Nd(c[h>>2]|0,j)|0;if(!(c[k>>2]|0)){c[c[f>>2]>>2]=7;i=l;return}else{d=$e(c[g>>2]|0,c[k>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=d;Kd(c[k>>2]|0);i=l;return}}function ol(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+128|0;f=s+120|0;g=s+116|0;h=s+112|0;j=s+108|0;r=s+104|0;n=s+100|0;p=s+8|0;q=s+96|0;m=s+80|0;l=s+24|0;k=s+16|0;o=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;a=p;c[a>>2]=0;c[a+4>>2]=0;c[q>>2]=0;c[k>>2]=0;a=o;c[a>>2]=0;c[a+4>>2]=0;c[r>>2]=ql(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,0,1,0,l)|0;do if((c[r>>2]|0)==0?(c[l+4>>2]|0)!=0:0){if((c[j>>2]|0)!=-1?(c[r>>2]=rl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,o)|0,(c[r>>2]|0)!=0):0)break;if((c[j>>2]|0)==-2){if((c[l+4>>2]|0)==1?0==((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0):0){c[r>>2]=101;break}b=o;e=c[b+4>>2]|0;a=p;c[a>>2]=c[b>>2];c[a+4>>2]=e;c[k>>2]=1}else{e=sl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0)|0;a=p;c[a>>2]=e;c[a+4>>2]=C;c[r>>2]=tl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0,n)|0;if((c[j>>2]|0)!=-1){a=p;b=c[a+4>>2]|0;d=o;e=c[d+4>>2]|0;d=(b|0)>(e|0)|((b|0)==(e|0)?(c[a>>2]|0)>>>0>(c[d>>2]|0)>>>0:0)}else d=0;c[k>>2]=d&1}if(!(c[r>>2]|0)){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+12>>2]=1;a=m+12|0;c[a>>2]=c[a>>2]|((c[k>>2]|0)!=0?2:0);c[r>>2]=ul(c[f>>2]|0,l,m)|0;while(1){if(c[r>>2]|0)break;c[r>>2]=vl(c[f>>2]|0,l)|0;if((c[r>>2]|0)!=100)break;c[r>>2]=wl(c[f>>2]|0,q,1,c[l+40>>2]|0,c[l+44>>2]|0,c[l+48>>2]|0,c[l+52>>2]|0)|0}if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1){c[r>>2]=xl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;if(!((c[r>>2]|0)==0&(c[q>>2]|0)!=0))break}else if(!(c[q>>2]|0))break;m=p;c[r>>2]=yl(c[f>>2]|0,c[q>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[n>>2]|0)|0;if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1?(n=p,k=c[n+4>>2]|0,o,m=c[o+4>>2]|0,!((k|0)<(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0))):0)break;o=p;p=(c[q>>2]|0)+56|0;c[r>>2]=zl(c[f>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}}}while(0);Al(c[q>>2]|0);Bl(l);i=s;return c[r>>2]|0}function pl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+240|0;o=t+24|0;n=t+16|0;g=t;h=t+228|0;j=t+224|0;q=t+220|0;k=t+216|0;f=t+56|0;s=t+48|0;r=t+44|0;p=t+40|0;l=t+36|0;m=t+32|0;c[h>>2]=a;c[j>>2]=b;c[q>>2]=d;c[k>>2]=e;TR(f|0,1920,160)|0;c[s>>2]=0;c[r>>2]=c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2];do if(!(c[r>>2]|0)){a=c[j>>2]|0;do if((c[j>>2]|0)!=18){e=c[f+(c[j>>2]<<2)>>2]|0;b=c[h>>2]|0;if((a|0)==7){c[n>>2]=c[b+216>>2];c[p>>2]=Od(e,n)|0;break}else{n=c[(c[h>>2]|0)+20>>2]|0;c[o>>2]=c[b+16>>2];c[o+4>>2]=n;c[p>>2]=Od(e,o)|0;break}}else{o=c[f+(a<<2)>>2]|0;f=c[(c[h>>2]|0)+20>>2]|0;n=c[(c[h>>2]|0)+220>>2]|0;c[g>>2]=c[(c[h>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=n;c[p>>2]=Od(o,g)|0}while(0);if(c[p>>2]|0){c[s>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[p>>2]|0,-1,r,0)|0;Kd(c[p>>2]|0);c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2]=c[r>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[k>>2]|0)){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}c[m>>2]=Qe(c[r>>2]|0)|0;c[l>>2]=0;while(1){if(c[s>>2]|0){e=15;break}if((c[l>>2]|0)>=(c[m>>2]|0)){e=15;break}c[s>>2]=Oe(c[r>>2]|0,(c[l>>2]|0)+1|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1}if((e|0)==15){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}return 0}function ql(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;s=u+4|0;t=u;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;d=c[t>>2]|0;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));t=jm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;i=u;return t|0}function rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=pl(c[g>>2]|0,15,l,0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}m=c[l>>2]|0;e=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Le(m,1,e,C)|0;e=c[l>>2]|0;m=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Le(e,2,m,C)|0;if(100==(te(c[l>>2]|0)|0)){e=De(c[l>>2]|0,0)|0;m=c[k>>2]|0;c[m>>2]=e;c[m+4>>2]=C}c[f>>2]=Yd(c[l>>2]|0)|0;m=c[f>>2]|0;i=n;return m|0}function sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;k=f+20|0;l=f+16|0;j=f+12|0;g=f+8|0;h=f;c[k>>2]=a;c[l>>2]=b;c[j>>2]=d;c[g>>2]=e;a=c[l>>2]|0;e=c[(c[k>>2]|0)+248>>2]|0;e=aS(a|0,((a|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=c[j>>2]|0;a=RR(e|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;a=aS(a|0,C|0,1024,0)|0;e=h;c[e>>2]=a;c[e+4>>2]=C;e=h;a=c[g>>2]|0;a=RR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=f;return a|0}function tl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[o>>2]=pl(c[g>>2]|0,8,n,0)|0;if(!(c[o>>2]|0)){a=c[n>>2]|0;f=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Le(a,1,f,C)|0;if(100==(te(c[n>>2]|0)|0))c[m>>2]=Ce(c[n>>2]|0,0)|0;c[o>>2]=Yd(c[n>>2]|0)|0}if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[m>>2]|0)>=16){c[o>>2]=ol(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=0;o=c[o>>2]|0;i=p;return o|0}else{c[c[l>>2]>>2]=c[m>>2];o=c[o>>2]|0;i=p;return o|0}return 0}function ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=hm(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;i=e;return d|0}function vl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+128|0;f=K+120|0;g=K+116|0;h=K+112|0;H=K+108|0;s=K+104|0;u=K+100|0;q=K+96|0;t=K+92|0;v=K+88|0;r=K+84|0;l=K+80|0;B=K+76|0;E=K+72|0;I=K+68|0;A=K+64|0;m=K+60|0;G=K+56|0;y=K+52|0;p=K+16|0;w=K+48|0;F=K+44|0;z=K+40|0;x=K+36|0;o=K+8|0;n=K;k=K+32|0;j=K+28|0;D=K+24|0;c[g>>2]=b;c[h>>2]=e;c[H>>2]=0;c[s>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&2;c[u>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&1;c[q>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&4;c[t>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&8;c[v>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&16;c[r>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&32;c[l>>2]=c[c[h>>2]>>2];c[B>>2]=c[(c[h>>2]|0)+4>>2];c[E>>2]=c[(c[h>>2]|0)+12>>2];c[I>>2]=(d[(c[g>>2]|0)+231>>0]|0)!=0?182:183;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[f>>2]=0;J=c[f>>2]|0;i=K;return J|0}a:while(1){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0))break;c[G>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];if(a[(c[G>>2]|0)+4>>0]|0)Ql(c[G>>2]|0);else c[H>>2]=Rl(c[g>>2]|0,c[G>>2]|0,0)|0;if(c[H>>2]|0){J=9;break a}c[m>>2]=(c[m>>2]|0)+1}Tl(c[l>>2]|0,c[B>>2]|0,c[(c[h>>2]|0)+8>>2]|0,184);c[(c[h>>2]|0)+8>>2]=0;if(!(c[(c[c[l>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[h>>2]|0)+44>>2]=c[(c[c[l>>2]>>2]|0)+60>>2];c[(c[h>>2]|0)+40>>2]=c[(c[c[l>>2]>>2]|0)+64>>2];if(!((c[v>>2]|0)!=0?1:(c[c[E>>2]>>2]|0)==0)){if((c[(c[h>>2]|0)+44>>2]|0)<(c[(c[E>>2]|0)+4>>2]|0)){J=61;break}if((c[t>>2]|0)==0?(c[(c[h>>2]|0)+44>>2]|0)>(c[(c[E>>2]|0)+4>>2]|0):0){J=61;break}if(eR(c[(c[h>>2]|0)+40>>2]|0,c[c[E>>2]>>2]|0,c[(c[E>>2]|0)+4>>2]|0)|0){J=61;break}}c[A>>2]=1;while(1){if(((c[A>>2]|0)<(c[B>>2]|0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0):0)e=0==(eR(c[(c[h>>2]|0)+40>>2]|0,c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+64>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0);else e=0;b=c[A>>2]|0;if(!e)break;c[A>>2]=b+1}do if(!((b|0)!=1|(c[s>>2]|0)!=0|(c[r>>2]|0)!=0)){if((d[(c[g>>2]|0)+231>>0]|0)!=0?((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){J=32;break}c[(c[h>>2]|0)+52>>2]=c[(c[c[l>>2]>>2]|0)+76>>2];if(c[(c[c[l>>2]>>2]|0)+56>>2]|0){c[H>>2]=Ul(c[h>>2]|0,c[(c[c[l>>2]>>2]|0)+72>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2]}else c[(c[h>>2]|0)+48>>2]=c[(c[c[l>>2]>>2]|0)+72>>2];if(!(c[H>>2]|0))c[H>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[y>>2]=0;e=p;c[e>>2]=0;c[e+4>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[A>>2]|0))break;Vl(c[g>>2]|0,c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}Tl(c[l>>2]|0,c[A>>2]|0,c[A>>2]|0,c[I>>2]|0);while(1){if(!(c[(c[c[l>>2]>>2]|0)+80>>2]|0))break;c[F>>2]=0;c[z>>2]=0;L=(c[c[l>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=o;c[e>>2]=c[L>>2];c[e+4>>2]=b;Wl(c[g>>2]|0,c[c[l>>2]>>2]|0,F,z)|0;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[A>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+88|0;L=o;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;Wl(c[g>>2]|0,c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0,0,0)|0;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0)Xl(c[(c[E>>2]|0)+8>>2]|0,0,F,z);do if((c[s>>2]|0)==0|(c[z>>2]|0)>0){if((c[y>>2]|0)>0?(d[(c[g>>2]|0)+231>>0]|0)!=0:0){L=p;e=o;e=QR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}else{L=o;e=p;e=QR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}L=n;L=Jl(c[L>>2]|0,c[L+4>>2]|0)|0;c[x>>2]=L+((c[u>>2]|0)!=0?(c[z>>2]|0)+1|0:0);if(((c[y>>2]|0)+(c[x>>2]|0)|0)>(c[(c[h>>2]|0)+20>>2]|0)){c[(c[h>>2]|0)+20>>2]=(c[y>>2]|0)+(c[x>>2]|0)<<1;c[k>>2]=Ld(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0;if(!(c[k>>2]|0)){J=50;break a}c[(c[h>>2]|0)+16>>2]=c[k>>2]}b=(c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0;if(c[r>>2]|0){c[j>>2]=b;L=n;c[D>>2]=Yl(c[L>>2]|0,c[L+4>>2]|0,c[F>>2]|0,c[z>>2]|0,c[j>>2]|0)|0;if(!(c[D>>2]|0))break;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[y>>2]=(c[y>>2]|0)+(c[D>>2]|0);break}else{e=n;b=Kl(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+b;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[u>>2]|0))break;TR((c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0,c[F>>2]|0,c[z>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+(c[z>>2]|0);L=c[y>>2]|0;c[y>>2]=L+1;a[(c[(c[h>>2]|0)+16>>2]|0)+L>>0]=0;break}}while(0);Tl(c[l>>2]|0,c[A>>2]|0,c[w>>2]|0,c[I>>2]|0)}if((c[y>>2]|0)>0){c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+52>>2]=c[y>>2];c[H>>2]=100}}c[(c[h>>2]|0)+8>>2]=c[A>>2];if(c[H>>2]|0){J=61;break}}if((J|0)==9){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}else if((J|0)==50){c[f>>2]=7;L=c[f>>2]|0;i=K;return L|0}else if((J|0)==61){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}return 0}function wl(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+44|0;q=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;r=B+4|0;A=B;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[x>>2]=c[c[l>>2]>>2];if(!(c[x>>2]|0)){c[x>>2]=Id(64)|0;if(!(c[x>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}g=c[x>>2]|0;d=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(d|0));c[c[l>>2]>>2]=c[x>>2];l=Id(c[(c[k>>2]|0)+224>>2]|0)|0;c[(c[x>>2]|0)+48>>2]=l;if(!(c[(c[x>>2]|0)+48>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+40>>2]=c[(c[k>>2]|0)+224>>2];c[y>>2]=pl(c[k>>2]|0,10,w,0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}if(100==(te(c[w>>2]|0)|0)){e=De(c[w>>2]|0,0)|0;b=(c[x>>2]|0)+16|0;c[b>>2]=e;c[b+4>>2]=C;b=(c[x>>2]|0)+16|0;e=c[b+4>>2]|0;l=(c[x>>2]|0)+8|0;c[l>>2]=c[b>>2];c[l+4>>2]=e}c[y>>2]=Yd(c[w>>2]|0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}}c[s>>2]=c[(c[x>>2]|0)+44>>2];c[t>>2]=Ml(c[(c[x>>2]|0)+24>>2]|0,c[(c[x>>2]|0)+28>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[o>>2]|0)-(c[t>>2]|0);y=c[t>>2]|0;y=Jl(y,((y|0)<0)<<31>>31)|0;w=c[v>>2]|0;w=y+(Jl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(c[v>>2]|0)|0;y=c[q>>2]|0;y=w+(Jl(y,((y|0)<0)<<31>>31)|0)|0;c[u>>2]=y+(c[q>>2]|0);do if((c[s>>2]|0)>0?((c[s>>2]|0)+(c[u>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){l=c[k>>2]|0;e=(c[x>>2]|0)+16|0;y=e;w=c[y>>2]|0;y=c[y+4>>2]|0;b=RR(w|0,y|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=C;c[z>>2]=Fl(l,w,y,c[(c[x>>2]|0)+48>>2]|0,c[s>>2]|0)|0;if(c[z>>2]|0){c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}y=(c[k>>2]|0)+52|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=Nl(c[k>>2]|0,c[x>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[s>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[t>>2]=0;c[v>>2]=c[o>>2];y=c[o>>2]|0;y=1+(Jl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(c[o>>2]|0)|0;z=c[q>>2]|0;z=y+(Jl(z,((z|0)<0)<<31>>31)|0)|0;c[u>>2]=z+(c[q>>2]|0);break}c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}while(0);y=c[u>>2]|0;z=(c[x>>2]|0)+56|0;w=z;y=RR(c[w>>2]|0,c[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;c[z>>2]=y;c[z+4>>2]=C;do if((c[u>>2]|0)>(c[(c[x>>2]|0)+40>>2]|0)){c[r>>2]=Ld(c[(c[x>>2]|0)+48>>2]|0,c[u>>2]|0)|0;if(c[r>>2]|0){c[(c[x>>2]|0)+48>>2]=c[r>>2];c[(c[x>>2]|0)+40>>2]=c[u>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);z=c[t>>2]|0;z=Kl((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;z=c[v>>2]|0;z=Kl((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;TR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,(c[n>>2]|0)+(c[t>>2]|0)|0,c[v>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[v>>2]|0);z=c[q>>2]|0;z=Kl((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;TR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[(c[x>>2]|0)+44>>2]=(c[s>>2]|0)+(c[q>>2]|0);if(c[m>>2]|0){do if((c[o>>2]|0)>(c[(c[x>>2]|0)+32>>2]|0)){c[A>>2]=Ld(c[(c[x>>2]|0)+36>>2]|0,c[o>>2]<<1)|0;if(c[A>>2]|0){c[(c[x>>2]|0)+32>>2]=c[o>>2]<<1;c[(c[x>>2]|0)+36>>2]=c[A>>2];c[(c[x>>2]|0)+24>>2]=c[A>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);TR(c[(c[x>>2]|0)+24>>2]|0,c[n>>2]|0,c[o>>2]|0)|0}else c[(c[x>>2]|0)+24>>2]=c[n>>2];c[(c[x>>2]|0)+28>>2]=c[o>>2];c[j>>2]=0;A=c[j>>2]|0;i=B;return A|0}function xl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;j=s+12|0;r=s+8|0;k=s+4|0;q=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[j>>2]=g;c[r>>2]=0;c[q>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[r>>2]=Ll(c[m>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}if(c[r>>2]|0){c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}h=c[m>>2]|0;if((c[p>>2]|0)==-2){c[r>>2]=pl(h,26,q,0)|0;if(!(c[r>>2]|0)){p=c[q>>2]|0;a=sl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,0)|0;Le(p,1,a,C)|0;a=c[q>>2]|0;p=sl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1023)|0;Le(a,2,p,C)|0}}else{c[r>>2]=pl(h,16,q,0)|0;if(!(c[r>>2]|0)){a=c[q>>2]|0;p=sl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;Le(a,1,p,C)|0}}if(!(c[r>>2]|0)){te(c[q>>2]|0)|0;c[r>>2]=Yd(c[q>>2]|0)|0}c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}function yl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+44|0;h=q+40|0;j=q+16|0;k=q+36|0;o=q+32|0;l=q+8|0;m=q;p=q+28|0;n=q+24|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;if(!(c[c[h>>2]>>2]|0)){b=j;p=(c[h>>2]|0)+56|0;c[o>>2]=Hl(c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[k>>2]|0,0,0,0,0,0,0,c[p>>2]|0,c[p+4>>2]|0,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}b=l;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[n>>2]=0;b=(c[h>>2]|0)+16|0;e=c[b+4>>2]|0;f=m;c[f>>2]=c[b>>2];c[f+4>>2]=e;f=c[g>>2]|0;e=(c[h>>2]|0)+16|0;b=e;a=c[b>>2]|0;b=c[b+4>>2]|0;d=RR(a|0,b|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[o>>2]=Fl(f,a,b,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;if(!(c[o>>2]|0)){a=(c[h>>2]|0)+8|0;b=(c[h>>2]|0)+16|0;c[o>>2]=Gl(c[g>>2]|0,c[c[h>>2]>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,l,p,n)|0}if(c[o>>2]|0){p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}f=(c[h>>2]|0)+8|0;a=l;b=(c[h>>2]|0)+56|0;c[o>>2]=Hl(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[p>>2]|0,c[n>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}function zl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+80|0;g=v+72|0;h=v+40|0;j=v+32|0;t=v+68|0;q=v+64|0;k=v+60|0;n=v+24|0;o=v+16|0;p=v+8|0;l=v;m=v+56|0;r=v+52|0;s=v+48|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;c[t>>2]=0;c[t>>2]=pl(c[g>>2]|0,37,q,0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}c[k>>2]=0;f=h;f=_R(c[f>>2]|0,c[f+4>>2]|0,1024,0)|0;f=RR(f|0,C|0,1,0)|0;f=aS(f|0,C|0,1024,0)|0;f=QR(f|0,C|0,1,0)|0;a=n;c[a>>2]=f;c[a+4>>2]=C;a=j;a=aS(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;a=_R(a|0,C|0,2,0)|0;j=o;c[j>>2]=a;c[j+4>>2]=C;j=c[q>>2]|0;a=h;a=RR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;Le(j,1,a,C)|0;a=n;Le(c[q>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;while(1){if(100!=(te(c[q>>2]|0)|0))break;a=p;c[a>>2]=0;c[a+4>>2]=0;El(c[q>>2]|0,2,l,p);a=p;n=c[a+4>>2]|0;if((n|0)<0|(n|0)==0&(c[a>>2]|0)>>>0<=0){u=6;break}n=p;f=c[n+4>>2]|0;a=o;j=c[a+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[n>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)){u=6;break}c[k>>2]=1}if((u|0)==6)c[k>>2]=0;c[t>>2]=Yd(c[q>>2]|0)|0;if(!(c[k>>2]|0)){u=c[t>>2]|0;i=v;return u|0}c[m>>2]=0;c[r>>2]=0;c[s>>2]=0;if(!(c[t>>2]|0))c[t>>2]=pl(c[g>>2]|0,38,r,0)|0;if(!(c[t>>2]|0))c[t>>2]=pl(c[g>>2]|0,39,s,0)|0;a:do if(!(c[t>>2]|0)){u=h;Le(c[q>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(te(c[q>>2]|0)|0))break a;a=c[r>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;Ke(a,1,u)|0;u=c[r>>2]|0;Ke(u,2,Ce(c[q>>2]|0,0)|0)|0;u=c[r>>2]|0;Ke(u,3,Ce(c[q>>2]|0,1)|0)|0;te(c[r>>2]|0)|0;c[t>>2]=Yd(c[r>>2]|0)|0}while((c[t>>2]|0)==0);Yd(c[q>>2]|0)|0}while(0);if(!(c[t>>2]|0))c[t>>2]=Yd(c[q>>2]|0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}u=h;Le(c[s>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;te(c[s>>2]|0)|0;c[t>>2]=Yd(c[s>>2]|0)|0;u=c[t>>2]|0;i=v;return u|0}function Al(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);Dl(c[c[b>>2]>>2]|0);Kd(c[b>>2]|0);i=d;return}function Bl(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;Cl(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Kd(c[c[b>>2]>>2]|0);Kd(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;i=e;return}function Cl(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))Kd(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;a=c[b>>2]|0;Kd(a);i=e;return}function Dl(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];Dl(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))Kd(c[(c[d>>2]|0)+36>>2]|0);Kd(c[(c[d>>2]|0)+28>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}i=f;return}function El(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;k=n+8|0;l=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[h>>2]=f;c[m>>2]=Ee(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}c[k>>2]=1;p=l;c[p>>2]=0;c[p+4>>2]=0;c[j>>2]=0;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=aS(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=RR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=a;c[p+4>>2]=e;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=32)break;c[j>>2]=(c[j>>2]|0)+1}p=l;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)==45){c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=-1}while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=aS(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=RR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}o=c[k>>2]|0;o=aS(a|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[h>>2]|0;c[p>>2]=o;c[p+4>>2]=C;i=n;return}function Fl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+24|0;g=m;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;c[n>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=f;c[l>>2]=pl(c[n>>2]|0,9,k,0)|0;if(c[l>>2]|0){n=c[l>>2]|0;i=m;return n|0}n=g;Le(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;Ie(c[k>>2]|0,2,c[h>>2]|0,c[j>>2]|0,0)|0;te(c[k>>2]|0)|0;c[l>>2]=Yd(c[k>>2]|0)|0;n=c[l>>2]|0;i=m;return n|0}function Gl(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;o=B+72|0;p=B+68|0;q=B+64|0;r=B+24|0;s=B+16|0;t=B+60|0;m=B+56|0;n=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;b=r;c[b>>2]=e;c[b+4>>2]=f;b=s;c[b>>2]=g;c[b+4>>2]=h;c[t>>2]=j;c[m>>2]=k;c[n>>2]=l;c[A>>2]=0;if(!(c[c[p>>2]>>2]|0)){j=r;c[w>>2]=Il(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=s;j=QR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;l=c[t>>2]|0;c[l>>2]=j;c[l+4>>2]=C;c[c[n>>2]>>2]=(c[(c[p>>2]|0)+32>>2]|0)-(c[w>>2]|0);c[c[m>>2]>>2]=(c[(c[p>>2]|0)+36>>2]|0)+(c[w>>2]|0);A=c[A>>2]|0;i=B;return A|0}l=s;j=c[l+4>>2]|0;k=u;c[k>>2]=c[l>>2];c[k+4>>2]=j;k=r;j=c[k+4>>2]|0;l=v;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0?(c[A>>2]|0)==0:0))break;l=v;c[x>>2]=Il(c[z>>2]|0,c[q>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;c[y>>2]=(c[(c[z>>2]|0)+32>>2]|0)-(c[x>>2]|0);l=u;c[A>>2]=Fl(c[o>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[(c[z>>2]|0)+36>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)|0;l=u;l=RR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;j=u;c[j>>2]=l;c[j+4>>2]=C;j=(c[(c[z>>2]|0)+12>>2]|0)+1|0;l=v;j=RR(c[l>>2]|0,c[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;l=v;c[l>>2]=j;c[l+4>>2]=C;c[z>>2]=c[(c[z>>2]|0)+4>>2]}if(c[A>>2]|0){A=c[A>>2]|0;i=B;return A|0}j=s;l=u;c[A>>2]=Gl(c[o>>2]|0,c[c[p>>2]>>2]|0,(c[q>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0,c[t>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;A=c[A>>2]|0;i=B;return A|0}function Hl(a,b,d,e,f,g,h,j,k,l,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;B=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;a=t;c[a>>2]=f;c[a+4>>2]=g;a=u;c[a>>2]=h;c[a+4>>2]=j;a=v;c[a>>2]=k;c[a+4>>2]=l;a=w;c[a>>2]=m;c[a+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=pl(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;Le(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;Ke(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;Le(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;Le(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;Le(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{e=v;p=c[e+4>>2]|0;o=w;a=c[o>>2]|0;o=c[o+4>>2]|0;E=B;c[E>>2]=c[e>>2];c[E+4>>2]=p;E=B+8|0;c[E>>2]=a;c[E+4>>2]=o;c[C>>2]=Od(23153,B)|0;if(c[C>>2]|0){Ne(c[z>>2]|0,5,c[C>>2]|0,-1,148)|0;break}c[q>>2]=7;E=c[q>>2]|0;i=D;return E|0}while(0);Ie(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;te(c[z>>2]|0)|0;c[A>>2]=Yd(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;i=D;return E|0}function Il(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;j=h+16|0;l=h+12|0;k=h;g=h+8|0;c[j>>2]=b;c[l>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;b=k;c[g>>2]=10-(Jl(c[b>>2]|0,c[b+4>>2]|0)|0);a[(c[(c[j>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[l>>2];b=k;Kl((c[(c[j>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=h;return c[g>>2]|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=SR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=C;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);i=f;return c[e>>2]|0}function Kl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+20|0;l=k+8|0;h=k+16|0;j=k;c[g>>2]=b;b=l;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];e=l;f=c[e+4>>2]|0;b=j;c[b>>2]=c[e>>2];c[b+4>>2]=f;do{l=(c[j>>2]&127|128)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=l;b=j;b=SR(c[b>>2]|0,c[b+4>>2]|0,7)|0;l=j;c[l>>2]=b;c[l+4>>2]=C;l=j}while((c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0);l=(c[h>>2]|0)+-1|0;a[l>>0]=(d[l>>0]|0)&127;i=k;return (c[h>>2]|0)-(c[g>>2]|0)|0}function Ll(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=pl(c[d>>2]|0,17,f,0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}b=(c[e>>2]|0)+8|0;Le(c[f>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;b=(c[e>>2]|0)+24|0;Le(c[f>>2]|0,2,c[b>>2]|0,c[b+4>>2]|0)|0;te(c[f>>2]|0)|0;c[g>>2]=Yd(c[f>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}function Ml(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l+4>>2]=f;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0)){g=5;break}if((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)!=(a[(c[j>>2]|0)+(c[k>>2]|0)>>0]|0)){g=5;break}c[k>>2]=(c[k>>2]|0)+1}if((g|0)==5){i=l;return c[k>>2]|0}return 0}function Nl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;m=w+56|0;n=w+52|0;o=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;g=w+20|0;j=w+16|0;h=w+12|0;k=w+8|0;l=w+4|0;t=w;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[u>>2]=c[c[o>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[j>>2]=c[g>>2];c[h>>2]=Ml(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[k>>2]=(c[r>>2]|0)-(c[h>>2]|0);b=c[h>>2]|0;b=Jl(b,((b|0)<0)<<31>>31)|0;e=c[k>>2]|0;e=b+(Jl(e,((e|0)<0)<<31>>31)|0)|0;c[j>>2]=(c[j>>2]|0)+(e+(c[k>>2]|0));if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(c[(c[u>>2]|0)+16>>2]|0)!=0:0)break;if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(v=Id(c[j>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=v,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){v=c[h>>2]|0;v=Kl((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v}v=c[k>>2]|0;v=Kl((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v;TR((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[q>>2]|0)+(c[h>>2]|0)|0,c[k>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[k>>2]|0);v=(c[u>>2]|0)+12|0;c[v>>2]=(c[v>>2]|0)+1;if(c[p>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[r>>2]|0)){c[l>>2]=Ld(c[(c[u>>2]|0)+28>>2]|0,c[r>>2]<<1)|0;if(c[l>>2]|0){c[(c[u>>2]|0)+24>>2]=c[r>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[l>>2];break}c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];TR(c[(c[u>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+20>>2]=c[r>>2]}else{c[(c[u>>2]|0)+16>>2]=c[q>>2];c[(c[u>>2]|0)+20>>2]=c[r>>2]}c[m>>2]=0;v=c[m>>2]|0;i=w;return v|0}while(0);c[s>>2]=Id(40+(c[(c[n>>2]|0)+224>>2]|0)|0)|0;if(!(c[s>>2]|0)){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}d=c[s>>2]|0;g=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));c[(c[s>>2]|0)+32>>2]=11;c[(c[s>>2]|0)+36>>2]=(c[s>>2]|0)+40;if(c[u>>2]|0){c[t>>2]=c[c[u>>2]>>2];c[v>>2]=Nl(c[n>>2]|0,t,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[t>>2];c[(c[u>>2]|0)+4>>2]=c[s>>2];c[(c[s>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[s>>2]>>2]=c[t>>2];c[(c[s>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[s>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[s>>2]|0)+8>>2]=c[s>>2];c[v>>2]=Nl(c[n>>2]|0,s,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}c[c[o>>2]>>2]=c[s>>2];c[m>>2]=c[v>>2];v=c[m>>2]|0;i=w;return v|0}function Ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)<(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Pl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Ql(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0){a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}function Rl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;s=v+52|0;g=v+48|0;t=v+44|0;h=v+40|0;q=v+36|0;u=v+32|0;o=v+28|0;p=v+24|0;l=v+20|0;j=v+16|0;m=v+12|0;k=v+8|0;n=v+4|0;r=v;c[g>>2]=b;c[t>>2]=e;c[h>>2]=f;f=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[(c[t>>2]|0)+72>>2]|0)+(c[f+76>>2]|0);else c[u>>2]=c[f+40>>2];if(!((c[u>>2]|0)!=0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){f=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[l>>2]=c[c[f+56>>2]>>2];Kd(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+8>>2];c[k>>2]=(c[c[m>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[l>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[l>>2]|0)+16>>2];c[j>>2]=Id(c[k>>2]|0)|0;if(c[j>>2]|0){TR(c[j>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0)|0;u=c[k>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[j>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}Ql(f);l=(c[t>>2]|0)+32|0;j=c[l+4>>2]|0;m=(c[t>>2]|0)+16|0;k=c[m+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}k=c[g>>2]|0;j=(c[t>>2]|0)+32|0;l=j;l=RR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;m=C;c[j>>2]=l;c[j+4>>2]=m;c[q>>2]=gm(k,l,m,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,(c[h>>2]|0)!=0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}if((c[h>>2]|0)!=0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[g>>2]|0)+244>>2];c[(c[g>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=cm(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=$l(f,o)|0;else{c[o>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=$l(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;if(!((c[o>>2]|0)<0|(c[p>>2]|0)<=0)?((c[u>>2]|0)+(c[p>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[o>>2]|0)+(c[p>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[n>>2]=(c[o>>2]|0)+(c[p>>2]|0)<<1;c[r>>2]=Ld(c[(c[t>>2]|0)+64>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){c[(c[t>>2]|0)+64>>2]=c[r>>2];c[(c[t>>2]|0)+68>>2]=c[n>>2];break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[q>>2]=cm(c[t>>2]|0,c[u>>2]|0,(c[p>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}TR((c[(c[t>>2]|0)+64>>2]|0)+(c[o>>2]|0)|0,c[u>>2]|0,c[p>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[p>>2]|0);f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=$l(f,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?(a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}function Sl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+40>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)!=0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=eR(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=eR(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;i=h;return g|0}function Tl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[h>>2]|0)==(c[g>>2]|0))c[h>>2]=(c[h>>2]|0)+-1;c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=((c[g>>2]|0)-1|0))break;if((Yb[c[j>>2]&255](c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0,c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[m>>2]=c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2];c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}i=n;return}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[j>>2]=Ld(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+16>>2]=c[j>>2];break}c[e>>2]=7;j=c[e>>2]|0;i=k;return j|0}while(0);TR(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}function Vl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+8|0;j=k+4|0;g=k+16|0;h=k;c[l>>2]=b;c[f>>2]=e;c[j>>2]=0;if((d[(c[l>>2]|0)+231>>0]|0|0)!=0?(c[(c[f>>2]|0)+56>>2]|0)!=0:0){a[g>>0]=0;l=(c[f>>2]|0)+88|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;am(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,g);l=c[j>>2]|0;i=k;return l|0}c[j>>2]=cm(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=_l(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[h>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Wl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;s=u+36|0;t=u+32|0;r=u+28|0;h=u+24|0;j=u+20|0;q=u+16|0;o=u+12|0;l=u+41|0;k=u+40|0;p=u+8|0;n=u;c[t>>2]=b;c[r>>2]=e;c[h>>2]=f;c[j>>2]=g;c[q>>2]=0;c[o>>2]=c[(c[r>>2]|0)+80>>2];a[l>>0]=0;do if((d[(c[t>>2]|0)+231>>0]|0)!=0?(c[(c[r>>2]|0)+56>>2]|0)!=0:0){a[k>>0]=0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[(c[r>>2]|0)+84>>2]|0)-1}am(0,c[(c[r>>2]|0)+72>>2]|0,c[(c[r>>2]|0)+76>>2]|0,o,(c[r>>2]|0)+88|0,(c[r>>2]|0)+84|0,k);if(a[k>>0]|0){c[(c[r>>2]|0)+80>>2]=0;break}else{c[(c[r>>2]|0)+80>>2]=c[o>>2];break}}else m=8;while(0);do if((m|0)==8){c[p>>2]=(c[(c[r>>2]|0)+72>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0);while(1){if(a[c[o>>2]>>0]|a[l>>0]){f=c[o>>2]|0;c[o>>2]=f+1;a[l>>0]=a[f>>0]&128;continue}if(!(c[(c[r>>2]|0)+52>>2]|0))break;if((c[o>>2]|0)>>>0<((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0)|0)>>>0)break;c[q>>2]=bm(c[r>>2]|0)|0;if(c[q>>2]|0){m=14;break}}if((m|0)==14){c[s>>2]=c[q>>2];t=c[s>>2]|0;i=u;return t|0}c[o>>2]=(c[o>>2]|0)+1;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[o>>2]|0)-(c[(c[r>>2]|0)+80>>2]|0)-1}while(1){if((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0)h=(a[c[o>>2]>>0]|0)==0;else h=0;j=c[o>>2]|0;if(!h)break;c[o>>2]=j+1}h=c[r>>2]|0;if(j>>>0>=(c[p>>2]|0)>>>0){c[h+80>>2]=0;break}c[q>>2]=cm(h,c[o>>2]|0,10)|0;if(!(c[q>>2]|0)){e=c[o>>2]|0;e=e+(_l(c[o>>2]|0,n)|0)|0;c[(c[r>>2]|0)+80>>2]=e;e=n;l=c[e>>2]|0;e=c[e+4>>2]|0;h=(c[r>>2]|0)+88|0;k=h;j=c[k>>2]|0;k=c[k+4>>2]|0;if(a[(c[t>>2]|0)+231>>0]|0){r=QR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}else{r=RR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}}}while(0);c[s>>2]=0;t=c[s>>2]|0;i=u;return t|0}function Xl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+32|0;j=t+28|0;k=t+24|0;l=t+20|0;r=t+16|0;o=t+12|0;q=t+8|0;n=t+4|0;p=t;m=t+36|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[r>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[l>>2]>>2];c[q>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=0;c[p>>2]=c[r>>2];while(1){a[m>>0]=0;while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!((a[m>>0]|a[c[p>>2]>>0])&254))break;f=c[p>>2]|0;c[p>>2]=f+1;a[m>>0]=a[f>>0]&128}e=(c[p>>2]|0)-(c[r>>2]|0)|0;if((c[h>>2]|0)==(c[n>>2]|0)){s=7;break}c[o>>2]=(c[o>>2]|0)-e;c[r>>2]=c[p>>2];if(!(c[o>>2]|0))break;c[p>>2]=(c[r>>2]|0)+1;e=c[p>>2]|0;if(d[c[p>>2]>>0]&128)e=$l(e,n)|0;else{c[n>>2]=d[e>>0];e=1}c[p>>2]=(c[p>>2]|0)+e}if((s|0)==7)c[o>>2]=e;if(!(c[j>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}if(((c[r>>2]|0)+(c[o>>2]|0)|0)==(c[q>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}VR((c[r>>2]|0)+(c[o>>2]|0)|0,0,(c[q>>2]|0)-((c[r>>2]|0)+(c[o>>2]|0))|0)|0;s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}function Yl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;h=p+8|0;r=p+40|0;q=p+36|0;j=p+32|0;m=p+28|0;k=p+24|0;n=p+20|0;o=p+16|0;l=p;s=h;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[m>>2]=0;c[k>>2]=0;c[n>>2]=c[r>>2];c[o>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[n>>2]>>0]|0)!=1){if((a[c[n>>2]>>0]|0)==2){s=h;s=Kl((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2;c[k>>2]=1}Zl(0,n)}while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;if((a[c[n>>2]>>0]|0)!=1)break;c[n>>2]=(c[n>>2]|0)+1;s=_l(c[n>>2]|0,l)|0;c[n>>2]=(c[n>>2]|0)+s;if((a[c[n>>2]>>0]|0)==2){if(!(c[k>>2]|0)){s=h;s=Kl((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;c[k>>2]=1}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=1;s=l;s=Kl((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2}Zl(0,n)}if(!(c[k>>2]|0)){s=c[m>>2]|0;i=p;return s|0}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=0;s=c[m>>2]|0;i=p;return s|0}function Zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){if(!(254&(a[c[k>>2]>>0]|a[g>>0])))break;d=c[k>>2]|0;c[k>>2]=d+1;a[g>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];TR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}function _l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+36|0;f=n+32|0;g=n+28|0;l=n+24|0;h=n+20|0;j=n+8|0;m=n+16|0;k=n;c[f>>2]=b;c[g>>2]=d;c[l>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=a[b>>0];b=c[h>>2]|0;if(!(c[h>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&127|a[d>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;i=n;return m|0}h=j;c[h>>2]=b&268435455;c[h+4>>2]=0;c[m>>2]=28;while(1){if((c[m>>2]|0)>63)break;h=c[f>>2]|0;c[f>>2]=h+1;h=a[h>>0]|0;d=k;c[d>>2]=h;c[d+4>>2]=((h|0)<0)<<31>>31;d=WR(c[k>>2]&127|0,0,c[m>>2]|0)|0;h=j;d=RR(c[h>>2]|0,c[h+4>>2]|0,d|0,C|0)|0;h=j;c[h>>2]=d;c[h+4>>2]=C;if((c[k>>2]&128|0)==0&0==0)break;c[m>>2]=(c[m>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[l>>2]|0);m=c[e>>2]|0;i=n;return m|0}function $l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}return 0}function am(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;k=B+76|0;l=B+72|0;m=B+68|0;n=B+64|0;o=B+60|0;p=B+56|0;q=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;r=B+8|0;v=B+28|0;s=B;A=B+24|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[w>>2]=c[c[n>>2]>>2];if(c[w>>2]|0){c[v>>2]=(c[k>>2]|0)!=0?-1:1;em(w,c[l>>2]|0,s);f=c[v>>2]|0;h=s;h=aS(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=c[o>>2]|0;g=f;h=QR(c[g>>2]|0,c[g+4>>2]|0,h|0,C|0)|0;c[f>>2]=h;c[f+4>>2]=C;if((c[w>>2]|0)==(c[l>>2]|0))a[c[q>>2]>>0]=1;else{c[A>>2]=c[w>>2];fm(c[l>>2]|0,w);c[c[p>>2]>>2]=(c[A>>2]|0)-(c[w>>2]|0)}c[c[n>>2]>>2]=c[w>>2];i=B;return}f=t;c[f>>2]=0;c[f+4>>2]=0;c[z>>2]=0;c[x>>2]=c[l>>2];c[y>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[u>>2]=1;while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;f=_l(c[x>>2]|0,r)|0;c[x>>2]=(c[x>>2]|0)+f;f=c[u>>2]|0;h=r;h=aS(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=t;h=RR(c[f>>2]|0,c[f+4>>2]|0,h|0,C|0)|0;f=t;c[f>>2]=h;c[f+4>>2]=C;c[z>>2]=c[x>>2];dm(0,x);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(a[c[x>>2]>>0]|0)break;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=(c[k>>2]|0)!=0?-1:1}c[c[p>>2]>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[c[n>>2]>>2]=c[z>>2];g=t;h=c[g+4>>2]|0;f=c[o>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=h;i=B;return}function bm(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=We(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;i=g;return f|0}Ve(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;i=g;return f|0}function cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){e=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){e=5;break}c[h>>2]=bm(c[e>>2]|0)|0}if((e|0)==5){i=j;return c[h>>2]|0}return 0}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){d=(a[c[k>>2]>>0]|a[g>>0]|0)!=0;b=c[k>>2]|0;c[k>>2]=b+1;if(!d)break;a[g>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];TR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}function em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[k>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[k>>2]>>0]&128))break;c[k>>2]=(c[k>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+1;c[c[f>>2]>>2]=c[k>>2];_l(c[k>>2]|0,j)|0;d=j;e=c[d+4>>2]|0;b=c[h>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=e;i=l;return}function fm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+8|0;f=k+4|0;h=k;g=k+12|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=(c[c[f>>2]>>2]|0)+-2;a[g>>0]=0;do{if((c[h>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[h>>2]|0;c[h>>2]=d+-1;d=a[d>>0]|0;a[g>>0]=d}while((d<<24>>24|0)==0);while(1){if((c[h>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[h>>2]>>0]&128|a[g>>0]|0)!=0;else d=0;b=c[h>>2]|0;if(!d)break;c[h>>2]=b+-1;a[g>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[g>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[h>>2]|0)+2|0)>>>0:0)j=11}else j=11;if((j|0)==11)c[h>>2]=(c[h>>2]|0)+2;do{j=c[h>>2]|0;c[h>>2]=j+1}while((a[j>>0]&128|0)!=0);c[c[f>>2]>>2]=c[h>>2];i=k;return}function gm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+8|0;p=t+40|0;j=t+36|0;k=t;q=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;n=t+16|0;r=t+12|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;d=c[j>>2]|0;if(c[(c[j>>2]|0)+244>>2]|0){o=k;c[s>>2]=Ye(c[d+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[d+240>>2]|0)?(c[o>>2]=c[(c[j>>2]|0)+20>>2],o=Od(23163,o)|0,c[(c[j>>2]|0)+240>>2]=o,0==(c[(c[j>>2]|0)+240>>2]|0)):0){c[p>>2]=7;s=c[p>>2]|0;i=t;return s|0}o=k;c[s>>2]=Ue(c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+240>>2]|0,23175,c[o>>2]|0,c[o+4>>2]|0,0,(c[j>>2]|0)+244|0)|0}if((c[s>>2]|0)==0?(c[n>>2]=Xe(c[(c[j>>2]|0)+244>>2]|0)|0,c[c[l>>2]>>2]=c[n>>2],(c[q>>2]|0)!=0):0){c[r>>2]=Id((c[n>>2]|0)+20|0)|0;if(c[r>>2]|0){if((c[m>>2]|0)!=0&(c[n>>2]|0)>16384){c[n>>2]=4096;c[c[m>>2]>>2]=c[n>>2]}c[s>>2]=We(c[(c[j>>2]|0)+244>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;d=(c[r>>2]|0)+(c[n>>2]|0)|0;e=d+20|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));if(c[s>>2]|0){Kd(c[r>>2]|0);c[r>>2]=0}}else c[s>>2]=7;c[c[q>>2]>>2]=c[r>>2]}c[p>>2]=c[s>>2];s=c[p>>2]|0;i=t;return s|0}function hm(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+36|0;g=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;k=r+16|0;p=r+12|0;m=r+8|0;l=r+4|0;q=r;c[g>>2]=a;c[o>>2]=b;c[h>>2]=e;c[j>>2]=f;c[p>>2]=c[(c[o>>2]|0)+4>>2];c[k>>2]=0;a:while(1){if(c[(c[o>>2]|0)+28>>2]|0){g=12;break}if((c[k>>2]|0)>=(c[(c[o>>2]|0)+4>>2]|0)){g=12;break}c[m>>2]=0;c[l>>2]=c[(c[c[o>>2]>>2]|0)+(c[k>>2]<<2)>>2];do{c[q>>2]=Rl(c[g>>2]|0,c[l>>2]|0,0)|0;if(c[q>>2]|0){g=6;break a}if(!(c[h>>2]|0))break;e=im(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=e}while((e|0)<0);if((c[m>>2]|0)!=0?(d[(c[l>>2]|0)+4>>0]|0|0)!=0:0)Ql(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if((g|0)==6){c[n>>2]=c[q>>2];q=c[n>>2]|0;i=r;return q|0}else if((g|0)==12){Tl(c[c[o>>2]>>2]|0,c[p>>2]|0,c[p>>2]|0,184);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}return 0}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=c[(c[f>>2]|0)+64>>2]|0;d=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=eR(a,d,c[g>>2]|0)|0;else c[h>>2]=eR(a,d,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;i=j;return h|0}function jm(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;l=G+88|0;m=G+84|0;n=G+80|0;o=G+76|0;p=G+72|0;q=G+68|0;r=G+64|0;s=G+60|0;t=G+56|0;D=G+52|0;A=G+48|0;E=G+44|0;y=G+40|0;z=G+36|0;w=G+16|0;v=G+8|0;u=G;x=G+32|0;F=G+28|0;B=G+24|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[D>>2]=0;c[A>>2]=0;if(((c[o>>2]|0)<0?(c[(c[l>>2]|0)+252>>2]|0)!=0:0)?(c[y>>2]=0,c[D>>2]=km(c[l>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,((c[r>>2]|0)!=0?1:(c[s>>2]|0)!=0)&1,y)|0,(c[D>>2]|0)==0&(c[y>>2]|0)!=0):0)c[D>>2]=lm(c[t>>2]|0,c[y>>2]|0)|0;a:do if((c[o>>2]|0)!=-1){if(!(c[D>>2]|0))c[D>>2]=mm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,A)|0;while(1){if(c[D>>2]|0)break a;f=te(c[A>>2]|0)|0;c[D>>2]=f;if(100!=(f|0))break a;c[z>>2]=0;y=De(c[A>>2]|0,1)|0;f=w;c[f>>2]=y;c[f+4>>2]=C;f=De(c[A>>2]|0,2)|0;y=v;c[y>>2]=f;c[y+4>>2]=C;y=De(c[A>>2]|0,3)|0;f=u;c[f>>2]=y;c[f+4>>2]=C;c[x>>2]=Ae(c[A>>2]|0,4)|0;c[F>>2]=ze(c[A>>2]|0,4)|0;f=w;if(((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)&(c[p>>2]|0)!=0){c[B>>2]=(c[r>>2]|0)!=0?v:0;c[D>>2]=nm(c[l>>2]|0,c[p>>2]|0,c[q>>2]|0,c[F>>2]|0,c[x>>2]|0,w,c[B>>2]|0)|0;if(c[D>>2]|0)break a;if((c[r>>2]|0)==0&(c[s>>2]|0)==0){k=w;y=c[k+4>>2]|0;f=v;c[f>>2]=c[k>>2];c[f+4>>2]=y}}k=w;y=v;f=u;c[D>>2]=om((c[(c[t>>2]|0)+4>>2]|0)+1|0,((c[r>>2]|0)==0?(c[s>>2]|0)==0:0)&1,c[k>>2]|0,c[k+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[F>>2]|0,c[x>>2]|0,z)|0;if(c[D>>2]|0)break a;c[D>>2]=lm(c[t>>2]|0,c[z>>2]|0)|0}}while(0);c[E>>2]=Yd(c[A>>2]|0)|0;if((c[D>>2]|0)!=101){f=c[D>>2]|0;i=G;return f|0}c[D>>2]=c[E>>2];f=c[D>>2]|0;i=G;return f|0}function km(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;A=y+64|0;z=y+60|0;h=y+56|0;j=y+52|0;k=y+48|0;l=y+44|0;u=y+40|0;s=y+36|0;m=y+32|0;q=y+28|0;v=y+24|0;t=y+20|0;o=y+16|0;w=y+12|0;r=y+8|0;n=y+4|0;p=y;c[A>>2]=a;c[z>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[u>>2]=0;c[m>>2]=0;c[q>>2]=0;c[v>>2]=0;c[t>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[k>>2]|0){c[o>>2]=0;c[s>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;c[w>>2]=c[(c[s>>2]|0)+12>>2];c[r>>2]=c[(c[s>>2]|0)+16>>2];if(c[j>>2]|0){if((c[r>>2]|0)>=(c[j>>2]|0)?0==(eR(c[w>>2]|0,c[h>>2]|0,c[j>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[q>>2]|0)==(c[o>>2]|0)){c[o>>2]=(c[o>>2]|0)+16;c[n>>2]=Ld(c[m>>2]|0,c[o>>2]<<2)|0;if(!(c[n>>2]|0)){x=9;break}c[m>>2]=c[n>>2]}z=c[s>>2]|0;A=c[q>>2]|0;c[q>>2]=A+1;c[(c[m>>2]|0)+(A<<2)>>2]=z}c[s>>2]=c[c[s>>2]>>2]}if((x|0)==9){c[v>>2]=7;c[q>>2]=0}if((c[q>>2]|0)>1)dR(c[m>>2]|0,c[q>>2]|0,4,185)}else{c[s>>2]=Gk(c[t>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[s>>2]|0){c[m>>2]=s;c[q>>2]=1}}do if((c[q>>2]|0)>0){c[p>>2]=96+((c[q>>2]|0)+1<<2);c[u>>2]=Id(c[p>>2]|0)|0;if(c[u>>2]|0){VR(c[u>>2]|0,0,c[p>>2]|0)|0;c[c[u>>2]>>2]=2147483647;c[(c[u>>2]|0)+56>>2]=(c[u>>2]|0)+96;TR(c[(c[u>>2]|0)+56>>2]|0,c[m>>2]|0,c[q>>2]<<2|0)|0;break}else{c[v>>2]=7;break}}while(0);if(!(c[k>>2]|0)){z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}Kd(c[m>>2]|0);z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}function lm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Ld(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}Cl(c[f>>2]|0);c[d>>2]=7;b=c[d>>2]|0;i=j;return b|0}while(0);a=c[f>>2]|0;h=(c[e>>2]|0)+4|0;b=c[h>>2]|0;c[h>>2]=b+1;c[(c[c[e>>2]>>2]|0)+(b<<2)>>2]=a;c[d>>2]=0;b=c[d>>2]|0;i=j;return b|0}function mm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;d=c[g>>2]|0;if((c[k>>2]|0)<0){c[n>>2]=pl(d,13,m,0)|0;if(!(c[n>>2]|0)){k=c[m>>2]|0;f=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Le(k,1,f,C)|0;f=c[m>>2]|0;k=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Le(f,2,k,C)|0}}else{c[n>>2]=pl(d,12,m,0)|0;if(!(c[n>>2]|0)){f=c[m>>2]|0;k=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Le(f,1,k,C)|0}}c[c[l>>2]>>2]=c[m>>2];i=o;return c[n>>2]|0}function nm(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+32|0;k=v+28|0;l=v+24|0;q=v+20|0;r=v+16|0;t=v+12|0;m=v+8|0;u=v+4|0;s=v;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[l>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;g=c[k>>2]|0;if((d[c[k>>2]>>0]|0)&128)$l(g,m)|0;else c[m>>2]=d[g>>0];c[t>>2]=pm(c[o>>2]|0,c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!((c[t>>2]|0)==0&(c[m>>2]|0)>1)){u=c[t>>2]|0;i=v;return u|0}c[u>>2]=0;c[s>>2]=0;if((c[q>>2]|0)!=0&(c[r>>2]|0)!=0?(l=c[q>>2]|0,m=c[r>>2]|0,(c[l>>2]|0)!=(c[m>>2]|0)?1:(c[l+4>>2]|0)!=(c[m+4>>2]|0)):0){m=c[q>>2]|0;c[t>>2]=gm(c[n>>2]|0,c[m>>2]|0,c[m+4>>2]|0,u,s,0)|0;if(!(c[t>>2]|0))c[t>>2]=nm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,0)|0;Kd(c[u>>2]|0);c[q>>2]=0;c[u>>2]=0}if(!(c[t>>2]|0)){if(c[q>>2]|0){e=c[q>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}else{e=c[r>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}c[t>>2]=gm(c[n>>2]|0,g,e,u,s,0)|0}if(!(c[t>>2]|0))c[t>>2]=nm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;Kd(c[u>>2]|0);u=c[t>>2]|0;i=v;return u|0}function om(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;o=z+8|0;p=z;q=z+40|0;r=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;c[u>>2]=b;c[v>>2]=d;b=w;c[b>>2]=e;c[b+4>>2]=f;b=o;c[b>>2]=g;c[b+4>>2]=h;b=p;c[b>>2]=j;c[b+4>>2]=k;c[q>>2]=l;c[r>>2]=m;c[s>>2]=n;c[x>>2]=0;l=w;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)c[x>>2]=(c[r>>2]|0)+20;c[y>>2]=Id(96+(c[x>>2]|0)|0)|0;if(!(c[y>>2]|0)){c[t>>2]=7;y=c[t>>2]|0;i=z;return y|0}e=c[y>>2]|0;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[c[y>>2]>>2]=c[u>>2];a[(c[y>>2]|0)+4>>0]=(c[v>>2]|0)!=0;l=w;u=c[l+4>>2]|0;v=(c[y>>2]|0)+8|0;c[v>>2]=c[l>>2];c[v+4>>2]=u;v=c[o+4>>2]|0;u=(c[y>>2]|0)+16|0;c[u>>2]=c[o>>2];c[u+4>>2]=v;u=c[p+4>>2]|0;v=(c[y>>2]|0)+24|0;c[v>>2]=c[p>>2];c[v+4>>2]=u;if(c[x>>2]|0){c[(c[y>>2]|0)+40>>2]=(c[y>>2]|0)+96;a[(c[y>>2]|0)+5>>0]=1;c[(c[y>>2]|0)+44>>2]=c[r>>2];TR(c[(c[y>>2]|0)+40>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;e=(c[(c[y>>2]|0)+40>>2]|0)+(c[r>>2]|0)|0;f=e+20|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}else{w=QR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=(c[y>>2]|0)+32|0;c[x>>2]=w;c[x+4>>2]=C}c[c[s>>2]>>2]=c[y>>2];c[t>>2]=0;y=c[t>>2]|0;i=z;return y|0}function pm(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;A=i;i=i+80|0;u=A+76|0;j=A+72|0;k=A+68|0;D=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;r=A+44|0;s=A+40|0;z=A+36|0;n=A+32|0;m=A+28|0;x=A;l=A+24|0;q=A+20|0;p=A+16|0;o=A+12|0;t=A+8|0;c[j>>2]=a;c[k>>2]=b;c[D>>2]=e;c[B>>2]=f;c[v>>2]=g;c[w>>2]=h;c[y>>2]=0;c[r>>2]=c[D>>2];c[s>>2]=(c[r>>2]|0)+(c[B>>2]|0);c[z>>2]=0;c[n>>2]=0;c[m>>2]=1;a=_l(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;a=_l(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;if((c[r>>2]|0)>>>0>(c[s>>2]|0)>>>0){c[u>>2]=267;D=c[u>>2]|0;i=A;return D|0}while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){f=28;break}if(!((c[v>>2]|0)!=0?1:(c[w>>2]|0)!=0)){f=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=$l(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f}c[m>>2]=0;f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=$l(f,q)|0;else{c[q>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f;if((c[p>>2]|0)<0|(c[q>>2]|0)<0){f=15;break}if(((c[r>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[s>>2]|0)>>>0){f=15;break}if(((c[p>>2]|0)+(c[q>>2]|0)|0)>(c[n>>2]|0)){c[n>>2]=(c[p>>2]|0)+(c[q>>2]|0)<<1;c[t>>2]=Ld(c[z>>2]|0,c[n>>2]|0)|0;if(!(c[t>>2]|0)){f=18;break}c[z>>2]=c[t>>2]}TR((c[z>>2]|0)+(c[p>>2]|0)|0,c[r>>2]|0,c[q>>2]|0)|0;c[o>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[l>>2]=eR(c[j>>2]|0,c[z>>2]|0,(c[o>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[o>>2]|0)|0;do if(c[v>>2]|0){if((c[l>>2]|0)>=0){if(c[l>>2]|0)break;if((c[o>>2]|0)<=(c[k>>2]|0))break}a=x;B=c[a+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[v>>2]=0}while(0);if((c[w>>2]|0)!=0&(c[l>>2]|0)<0){a=x;B=c[a+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[w>>2]=0}B=x;B=RR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;D=x;c[D>>2]=B;c[D+4>>2]=C}if((f|0)==15)c[y>>2]=267;else if((f|0)==18)c[y>>2]=7;else if((f|0)==28){if(c[v>>2]|0){t=x;B=c[t+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=B}if(c[w>>2]|0){B=c[x+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[x>>2];c[D+4>>2]=B}}Kd(c[z>>2]|0);c[u>>2]=c[y>>2];D=c[u>>2]|0;i=A;return D|0}function qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+28|0;l=g+24|0;k=g+20|0;j=g+16|0;e=g+12|0;f=g+8|0;h=g+4|0;d=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[j>>2]=c[(c[c[l>>2]>>2]|0)+12>>2];c[e>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[f>>2]=c[(c[c[l>>2]>>2]|0)+16>>2];c[h>>2]=(c[e>>2]|0)<(c[f>>2]|0)?c[e>>2]|0:c[f>>2]|0;c[d>>2]=eR(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(c[d>>2]|0){m=c[d>>2]|0;i=g;return m|0}c[d>>2]=(c[e>>2]|0)-(c[f>>2]|0);m=c[d>>2]|0;i=g;return m|0}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;h=p+32|0;e=p+28|0;f=p+24|0;l=p+20|0;o=p+16|0;n=p+12|0;m=p+8|0;j=p+4|0;k=p;c[h>>2]=a;c[e>>2]=b;c[f>>2]=d;c[o>>2]=23427;c[n>>2]=23431;c[m>>2]=23436;c[j>>2]=-1;c[k>>2]=15;d=c[h>>2]|0;if((c[e>>2]|0)>6){ie(d,23447,-1);i=p;return}if(vm(d,20486,c[c[f>>2]>>2]|0,l)|0){i=p;return}switch(c[e>>2]|0){case 6:{c[k>>2]=ce(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[j>>2]=ce(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[m>>2]=$d(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=$d(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[o>>2]=$d(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){se(c[h>>2]|0);i=p;return}d=c[h>>2]|0;if(!(c[k>>2]|0)){me(d,18402,-1,0);i=p;return}if(tn(d,c[l>>2]|0)|0){i=p;return}Yn(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);i=p;return}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(vm(c[e>>2]|0,20494,c[c[h>>2]>>2]|0,f)|0){i=g;return}if(tn(c[e>>2]|0,c[f>>2]|0)|0){i=g;return}Un(c[e>>2]|0,c[f>>2]|0);i=g;return}function tm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[j+16>>2]=b;c[k>>2]=d;if(vm(c[e>>2]|0,20512,c[c[k>>2]>>2]|0,g)|0){i=j;return}c[f>>2]=c[c[g>>2]>>2];c[h>>2]=Sn(c[f>>2]|0)|0;switch(c[h>>2]|0){case 0:{me(c[e>>2]|0,23331,-1,0);i=j;return}case 101:{me(c[e>>2]|0,23347,-1,0);i=j;return}default:{qe(c[e>>2]|0,c[h>>2]|0);i=j;return}}}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(vm(c[e>>2]|0,20502,c[c[g>>2]>>2]|0,h)|0){i=k;return}c[j>>2]=0;if((c[f>>2]|0)>1)c[j>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;wm(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0);i=k;return}function vm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((ee(c[k>>2]|0)|0)==4?(ae(c[k>>2]|0)|0)==4:0){d=_d(c[k>>2]|0)|0;a[m>>0]=a[d>>0]|0;a[m+1>>0]=a[d+1>>0]|0;a[m+2>>0]=a[d+2>>0]|0;a[m+3>>0]=a[d+3>>0]|0;c[c[l>>2]>>2]=c[m>>2];c[g>>2]=0;d=c[g>>2]|0;i=p;return d|0}c[n>>2]=c[j>>2];c[o>>2]=Od(23302,n)|0;ie(c[h>>2]|0,c[o>>2]|0,-1);Kd(c[o>>2]|0);c[g>>2]=1;d=c[g>>2]|0;i=p;return d|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[j>>2]=c[f>>2];else c[j>>2]=23237;e=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){xm(e,c[g>>2]|0,c[j>>2]|0);ym(c[h>>2]|0);i=k;return}else{fe(e,18402,0,0);i=k;return}}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;f=u+76|0;g=u+72|0;h=u+68|0;q=u;o=u+64|0;p=u+60|0;k=u+56|0;j=u+52|0;r=u+48|0;n=u+44|0;l=u+40|0;s=u+36|0;m=u+32|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[o>>2]=c[c[g>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[j>>2]=0;c[r>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[g>>2];c[q+4>>2]=c[(c[o>>2]|0)+24>>2];if((c[(c[g>>2]|0)+92>>2]|0)!=0?(hR(c[(c[(c[g>>2]|0)+92>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0){zm(c[(c[g>>2]|0)+92>>2]|0);c[(c[g>>2]|0)+92>>2]=0}if(!(c[(c[g>>2]|0)+92>>2]|0)){c[n>>2]=0;e=Am(c[(c[g>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+20>>2]=e;c[q+8>>2]=c[(c[g>>2]|0)+20>>2];c[l>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0))break;c[s>>2]=0;if(Bm(c[o>>2]|0,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0,s)|0){t=8;break}e=Cm(q,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[n>>2]=(c[n>>2]|0)+e;c[l>>2]=(c[l>>2]|0)+1}if((t|0)==8){ie(c[f>>2]|0,c[s>>2]|0,-1);Kd(c[s>>2]|0);i=u;return}t=Dm(c[n>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+92>>2]=t;if(!(c[(c[g>>2]|0)+92>>2]|0))c[p>>2]=7;c[(c[g>>2]|0)+88>>2]=1;c[k>>2]=1}if((c[p>>2]|0)==0?(c[r>>2]=Em(c[(c[g>>2]|0)+92>>2]|0,j)|0,(c[r>>2]|0)==0):0)c[p>>2]=7;if((c[p>>2]|0)==0?(c[q+28>>2]=c[j>>2],c[q+8>>2]=c[(c[g>>2]|0)+20>>2],c[p>>2]=Fm(c[g>>2]|0,c[k>>2]|0,q,c[h>>2]|0)|0,(c[k>>2]|0)!=0):0)Gm(c[(c[g>>2]|0)+92>>2]|0);if(!(c[p>>2]|0)){c[m>>2]=c[(c[(c[g>>2]|0)+92>>2]|0)+4>>2]<<2;fe(c[f>>2]|0,c[j>>2]|0,c[m>>2]|0,c[r>>2]|0);i=u;return}qe(c[f>>2]|0,c[p>>2]|0);if(!(c[r>>2]|0)){i=u;return}Qb[c[r>>2]&255](c[j>>2]|0);i=u;return}function ym(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ve(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;i=b;return}function zm(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Am(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Nm(c[e>>2]|0,153,b)|0;i=d;return c[b>>2]|0}function Bm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;g=m+12|0;h=m+8|0;j=m+16|0;k=m+4|0;c[h>>2]=b;a[j>>0]=e;c[k>>2]=f;do if((a[j>>0]|0)!=112?(a[j>>0]|0)!=99:0){if((a[j>>0]|0)==110?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==97?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==108?(d[(c[h>>2]|0)+230>>0]|0)!=0:0)break;if((((a[j>>0]|0)!=115?(a[j>>0]|0)!=120:0)?(a[j>>0]|0)!=121:0)?(a[j>>0]|0)!=98:0){f=c[k>>2]|0;c[l>>2]=a[j>>0];Fk(f,23267,l);c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=_(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}i=g;return c[f>>2]|0}function Dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;j=k+8|0;g=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=((c[e>>2]<<1)+1<<2)+20;c[h>>2]=kR(c[f>>2]|0)|0;c[j>>2]=Id((c[g>>2]|0)+(c[h>>2]|0)+1|0)|0;if(!(c[j>>2]|0)){d=c[j>>2]|0;i=k;return d|0}VR(c[j>>2]|0,0,c[g>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=(c[j>>2]|0)+16+4-(c[j>>2]|0);c[(c[j>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[j>>2]|0)+4>>2]=c[e>>2];c[(c[j>>2]|0)+12>>2]=(c[j>>2]|0)+(c[g>>2]|0);TR(c[(c[j>>2]|0)+12>>2]|0,c[f>>2]|0,(c[h>>2]|0)+1|0)|0;a[c[j>>2]>>0]=1;d=c[j>>2]|0;i=k;return d|0}function Em(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;e=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){b=c[f>>2]|0;if(!(d[e+2>>0]|0)){a[b+2>>0]=1;c[h>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[j>>2]=152;break}c[h>>2]=Id(c[b+4>>2]<<2)|0;if((c[h>>2]|0)!=0?(c[j>>2]=148,(c[(c[f>>2]|0)+8>>2]|0)!=0):0)TR(c[h>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[e+1>>0]=1;c[h>>2]=(c[f>>2]|0)+16+4;c[j>>2]=152}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Fm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;g=B+92|0;h=B+88|0;j=B+84|0;k=B+80|0;A=B+76|0;n=B+72|0;y=B+68|0;z=B+64|0;r=B+24|0;s=B+16|0;l=B+60|0;o=B+56|0;q=B+52|0;t=B+8|0;x=B+48|0;p=B+44|0;m=B+40|0;u=B;v=B+36|0;w=B+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[y>>2]=c[c[g>>2]>>2];c[z>>2]=0;c[n>>2]=0;while(1){if(c[A>>2]|0){g=31;break}if(!(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)){g=31;break}a[(c[j>>2]|0)+24>>0]=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a:do switch(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0){case 112:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+8>>2];break}case 99:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+4>>2];break}case 110:{if(c[h>>2]|0){f=r;c[f>>2]=0;c[f+4>>2]=0;c[A>>2]=Hm(c[y>>2]|0,z,r,0)|0;c[c[(c[j>>2]|0)+28>>2]>>2]=c[r>>2]}break}case 97:{if((c[h>>2]|0)!=0?(c[A>>2]=Hm(c[y>>2]|0,z,s,l)|0,(c[A>>2]|0)==0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break a;f=_l(c[l>>2]|0,t)|0;c[l>>2]=(c[l>>2]|0)+f;f=c[t>>2]|0;e=s;e=_R(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=RR(f|0,0,e|0,C|0)|0;f=s;f=_R(e|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[q>>2]=f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1}}break}case 108:{c[x>>2]=0;f=(c[g>>2]|0)+32|0;c[A>>2]=Im(c[y>>2]|0,c[f>>2]|0,c[f+4>>2]|0,x)|0;b:do if(!(c[A>>2]|0)){c[m>>2]=ze(c[x>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break b;f=_l(c[m>>2]|0,u)|0;c[m>>2]=(c[m>>2]|0)+f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[u>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);Yd(c[x>>2]|0)|0;break}case 115:{c[A>>2]=Jm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0))c[A>>2]=Km(c[g>>2]|0,c[j>>2]|0)|0;break}case 121:case 98:{c[v>>2]=(Cm(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0)<<2;VR(c[(c[j>>2]|0)+28>>2]|0,0,c[v>>2]|0)|0;Lm(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0);break}default:{c[w>>2]=c[(c[g>>2]|0)+12>>2];c[A>>2]=Jm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0)){if(c[h>>2]|0){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[A>>2]=Hm(c[y>>2]|0,z,(c[j>>2]|0)+16|0,0)|0,(c[A>>2]|0)!=0):0)break a;c[A>>2]=Nm(c[w>>2]|0,154,c[j>>2]|0)|0;Om(c[g>>2]|0,A)|0;if(c[A>>2]|0)break a}Nm(c[w>>2]|0,155,c[j>>2]|0)|0}}}while(0);e=Cm(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0;f=(c[j>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[n>>2]=(c[n>>2]|0)+1}if((g|0)==31){Yd(c[z>>2]|0)|0;i=B;return c[A>>2]|0}return 0}function Gm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;TR((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;i=b;return}function Hm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+36|0;g=p+32|0;h=p+28|0;j=p+24|0;k=p+20|0;n=p+16|0;l=p+12|0;m=p;o=p+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[h>>2]>>2]|0)==0?(c[o>>2]=Pn(c[g>>2]|0,c[h>>2]|0)|0,(c[o>>2]|0)!=0):0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[n>>2]=c[c[h>>2]>>2];c[l>>2]=ze(c[n>>2]|0,0)|0;o=_l(c[l>>2]|0,m)|0;c[l>>2]=(c[l>>2]|0)+o;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[f>>2]=267;o=c[f>>2]|0;i=p;return o|0}o=c[j>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=c[l>>2];c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}function Im(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+12|0;j=f;g=f+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=j;e=On(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;i=f;return e|0}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[k>>2];c[g>>2]=Nm(c[(c[k>>2]|0)+12>>2]|0,156,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){k=c[g>>2]|0;i=j;return k|0}c[c[f>>2]>>2]=c[h+8>>2];k=c[g>>2]|0;i=j;return k|0}function Km(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;q=t+56|0;d=t+52|0;e=t+48|0;r=t+44|0;f=t+40|0;g=t+36|0;l=t+32|0;o=t+28|0;h=t+24|0;j=t+20|0;s=t+16|0;n=t+12|0;m=t+8|0;k=t+4|0;p=t;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[r>>2]=Id(c[(c[d>>2]|0)+20>>2]<<4)|0;if(!(c[r>>2]|0)){c[q>>2]=7;s=c[q>>2]|0;i=t;return s|0}VR(c[r>>2]|0,0,c[(c[d>>2]|0)+20>>2]<<4|0)|0;Nm(c[(c[d>>2]|0)+12>>2]|0,157,c[r>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[o>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[l>>2]=(c[l>>2]|0)-(c[(c[(c[c[o>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[o>>2]|0)+4>>2]=c[l>>2];c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){d=33;break}c[h>>2]=0;c[j>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[n>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[s>>2]=Qm(c[d>>2]|0,c[c[n>>2]>>2]|0,c[g>>2]|0,(c[n>>2]|0)+8|0)|0;if(c[s>>2]|0){d=11;break a}if(c[(c[n>>2]|0)+8>>2]|0){c[(c[n>>2]|0)+12>>2]=c[(c[n>>2]|0)+4>>2];Mn((c[r>>2]|0)+(c[f>>2]<<4)|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}while(1){if((c[j>>2]|0)<=0)break;c[m>>2]=0;c[k>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[p>>2]=(c[r>>2]|0)+(c[f>>2]<<4);if(c[(c[p>>2]|0)+8>>2]|0){if(!((c[m>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0):0))c[m>>2]=c[p>>2];if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)!=(c[(c[p>>2]|0)+-16+12>>2]|0):0)c[k>>2]=1;else c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>(c[h>>2]|0))c[h>>2]=c[k>>2]}else c[k>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(!(Mn(c[m>>2]|0)|0))continue;c[j>>2]=(c[j>>2]|0)+-1}c[(c[(c[e>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[g>>2]=(c[g>>2]|0)+1}if((d|0)==11){c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}else if((d|0)==33){Kd(c[r>>2]|0);c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}return 0}function Lm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0){i=g;return}b=(c[e>>2]|0)+24|0;a=(c[c[f>>2]>>2]|0)+32|0;if(!((c[b>>2]|0)==(c[a>>2]|0)?(c[b+4>>2]|0)==(c[a+4>>2]|0):0)){i=g;return}b=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){Lm(c[b+12>>2]|0,c[f>>2]|0);Lm(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);i=g;return}else{Kn(b,c[f>>2]|0);i=g;return}}function Mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];a=_((c[h>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0;a=Hn(c[c[f>>2]>>2]|0,c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+(a<<2)|0)|0;i=e;return a|0}function Nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;b=Gn(c[j>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function Om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[e>>2]>>2];c[f>>2]=0;if(c[g>>2]|0){b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}if((c[(c[d>>2]|0)+24>>2]|0)!=0?(c[g>>2]=tn(0,c[d>>2]|0)|0,(c[g>>2]|0)==0):0)c[g>>2]=un(c[d>>2]|0)|0;c[f>>2]=0==(vn(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,g)|0)&1;wn(c[d>>2]|0);c[c[e>>2]>>2]=c[g>>2];b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}function Pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;n=l+20|0;k=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;j=l;c[e>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=0;c[h>>2]=c[n>>2];c[g>>2]=(_(c[m>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0)*3;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)?(c[k>>2]|0)==0:0))break;c[k>>2]=Qm(c[c[h>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if(c[j>>2]|0){n=Rm(j)|0;c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=n}else c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}i=l;return c[k>>2]|0}function Qm(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;z=G+80|0;p=G+76|0;h=G+72|0;A=G+68|0;B=G+64|0;x=G+60|0;n=G+56|0;E=G+52|0;D=G+48|0;u=G;o=G+44|0;q=G+40|0;k=G+36|0;l=G+85|0;v=G+32|0;m=G+28|0;s=G+24|0;j=G+20|0;r=G+84|0;y=G+16|0;w=G+12|0;t=G+8|0;c[p>>2]=b;c[h>>2]=e;c[A>>2]=f;c[B>>2]=g;c[x>>2]=c[(c[h>>2]|0)+20>>2];c[n>>2]=c[c[p>>2]>>2];c[c[B>>2]>>2]=0;if((c[(c[x>>2]|0)+68>>2]|0)<(c[(c[n>>2]|0)+24>>2]|0)?(c[(c[x>>2]|0)+68>>2]|0)!=(c[A>>2]|0):0){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}b=(c[h>>2]|0)+24|0;g=c[b+4>>2]|0;e=u;c[e>>2]=c[b>>2];c[e+4>>2]=g;c[E>>2]=c[(c[x>>2]|0)+28>>2];e=u;g=(c[p>>2]|0)+32|0;if(!(!((c[e>>2]|0)!=(c[g>>2]|0)?1:(c[e+4>>2]|0)!=(c[g+4>>2]|0))?(d[(c[h>>2]|0)+32>>0]|0)==0:0))F=6;do if((F|0)==6){c[o>>2]=0;c[q>>2]=d[(c[n>>2]|0)+231>>0];c[k>>2]=0;a[l>>0]=0;c[m>>2]=c[h>>2];c[v>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[v>>2]|0))break;if((c[c[v>>2]>>2]|0)==4)c[k>>2]=1;if((c[c[v>>2]>>2]|0)==1)c[m>>2]=c[v>>2];if(a[(c[v>>2]|0)+32>>0]|0)a[l>>0]=1;c[v>>2]=c[(c[v>>2]|0)+8>>2]}if(!(c[k>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}a:do if(c[(c[x>>2]|0)+40>>2]|0){c[j>>2]=d[(c[m>>2]|0)+32>>0];Sm(c[p>>2]|0,c[m>>2]|0,o);b:while(1){if(c[o>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;Tm(c[p>>2]|0,c[m>>2]|0,o);if(c[j>>2]|0)continue b;n=(c[m>>2]|0)+24|0;g=u;if(!(((c[n>>2]|0)!=(c[g>>2]|0)?1:(c[n+4>>2]|0)!=(c[g+4>>2]|0))&(c[o>>2]|0)==0))break a}}}while(0);c:do if((a[l>>0]|0)!=0&(c[o>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;Tm(c[p>>2]|0,c[m>>2]|0,o)}while((c[o>>2]|0)==0);while(0);if(c[o>>2]|0){c[z>>2]=c[o>>2];F=c[z>>2]|0;i=G;return F|0}c[s>>2]=1;c[v>>2]=c[m>>2];while(1){if(!(c[v>>2]|0))break;a[r>>0]=0;c[y>>2]=c[v>>2];if((c[c[y>>2]>>2]|0)==1)c[y>>2]=c[(c[y>>2]|0)+16>>2];c[w>>2]=c[(c[y>>2]|0)+20>>2];c[E>>2]=c[(c[w>>2]|0)+48>>2];g=(c[w>>2]|0)+56|0;o=c[g+4>>2]|0;h=u;c[h>>2]=c[g>>2];c[h+4>>2]=o;h=(c[(c[w>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[p>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(h)h=(c[E>>2]|0)>>>0>=((c[c[w>>2]>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0)|0)>>>0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=QR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,aS(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,(C|0)>=0):0)break d;if(d[r>>0]|0)break d;Um(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,r)}}else{if(h)if(c[E>>2]|0)h=(c[E>>2]|0)>>>0<=(c[c[w>>2]>>2]|0)>>>0;else h=0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=QR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=aS(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,g=C,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[r>>0]|0)break d;am(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,t,r)}}while(0);c[(c[w>>2]|0)+48>>2]=c[E>>2];n=u;g=c[n+4>>2]|0;o=(c[w>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!((d[r>>0]|0)==0?(g=u,o=(c[p>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[v>>2]=c[(c[v>>2]|0)+12>>2]}if(c[s>>2]|0){c[E>>2]=c[(c[x>>2]|0)+48>>2];break}else{c[E>>2]=0;break}}while(0);if(!(c[E>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if((a[c[E>>2]>>0]|0)==1){c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=$l(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}else c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[A>>2]|0))break;Zl(0,E);if(!(a[c[E>>2]>>0]|0)){F=65;break}c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=$l(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}if((F|0)==65){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if(!(a[c[E>>2]>>0]|0))c[E>>2]=0;c[c[B>>2]>>2]=(c[A>>2]|0)==(c[D>>2]|0)?c[E>>2]|0:0;c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}function Rm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;g=h+4|0;e=h+12|0;f=h;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];a[e>>0]=0;c[f>>2]=0;while(1){b=c[g>>2]|0;if(!(254&(a[c[g>>2]>>0]|a[e>>0])))break;c[g>>2]=b+1;a[e>>0]=a[b>>0]&128;if(a[e>>0]|0)continue;c[f>>2]=(c[f>>2]|0)+1}c[c[d>>2]>>2]=b;i=h;return c[f>>2]|0}function Sm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}c[k>>2]=c[(c[g>>2]|0)+20>>2];if(c[k>>2]|0){Vm(c[k>>2]|0);if(c[(c[k>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+64>>2]|0))break;c[l>>2]=(c[k>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[l>>2]|0)+20>>2]|0)cn(c[(c[l>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}l=dn(c[f>>2]|0,0,c[k>>2]|0)|0;c[c[h>>2]>>2]=l}c[(c[k>>2]|0)+8>>2]=0;l=(c[k>>2]|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[k>>2]|0)+48>>2]=0}l=(c[g>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;Sm(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);Sm(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);i=m;return} -function Rp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;e=k+20|0;c[l>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=c[l>>2];a:while(1){if(c[j>>2]|0){d=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{d=4;break a}case 96:case 34:case 39:{c[j>>2]=c[h>>2];while(1){l=(c[j>>2]|0)+1|0;c[j>>2]=l;if(!(a[l>>0]|0))continue a;if((a[c[j>>2]>>0]|0)!=(a[e>>0]|0))continue;l=(c[j>>2]|0)+1|0;c[j>>2]=l;if((a[l>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[j>>2]=(c[h>>2]|0)+1;while(1){if(a[c[j>>2]>>0]|0)b=(a[c[j>>2]>>0]|0)!=93;else b=0;d=c[j>>2]|0;if(!b)break;c[j>>2]=d+1}if(!(a[d>>0]|0))continue a;c[j>>2]=(c[j>>2]|0)+1;continue a}default:{l=(Mp(a[c[h>>2]>>0]|0)|0)!=0;d=(c[h>>2]|0)+1|0;if(!l){c[h>>2]=d;continue a}c[j>>2]=d;while(1){if(!(Mp(a[c[j>>2]>>0]|0)|0))continue a;c[j>>2]=(c[j>>2]|0)+1}}}}if((d|0)==4){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}else if((d|0)==21){c[c[g>>2]>>2]=(c[j>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];l=c[f>>2]|0;i=k;return l|0}return 0}function Sp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+96|0;r=t+56|0;l=t+48|0;k=t+40|0;n=t+32|0;m=t+24|0;j=t+8|0;h=t;q=t+92|0;e=t+88|0;f=t+84|0;s=t+80|0;o=t+76|0;p=t+72|0;g=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[s>>2]=0;c[o>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){Yp(c[f>>2]|0,s,24745,n);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[k>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2];Yp(p,s,24751,k);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[l>>2]=c[(c[q>>2]|0)+44>>2];Yp(p,s,24731,l)}}else{if(c[e>>2]|0){b=Xp(c[e>>2]|0)|0;c[p>>2]=b;c[o>>2]=b}else c[p>>2]=18402;Yp(c[f>>2]|0,s,24710,h);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;b=c[f>>2]|0;l=c[g>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]|0;c[j>>2]=c[p>>2];c[j+4>>2]=l;c[j+8>>2]=n;Yp(b,s,24716,j);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[m>>2]=24738;Yp(p,s,24731,m)}Kd(c[o>>2]|0)}e=c[f>>2]|0;f=c[(c[q>>2]|0)+16>>2]|0;g=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){b=c[g+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?18402:24760;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Yp(e,s,24769,r);s=c[s>>2]|0;i=t;return s|0}else{b=c[g+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?18402:24760;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Yp(e,s,24769,r);s=c[s>>2]|0;i=t;return s|0}return 0}function Tp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;k=o+16|0;j=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;n=o+32|0;l=o+28|0;m=o+24|0;h=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;c[l>>2]=0;if(c[f>>2]|0){b=Xp(c[f>>2]|0)|0;c[m>>2]=b;c[l>>2]=b}else c[m>>2]=18402;Yp(c[g>>2]|0,n,20275,o);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;b=c[g>>2]|0;c[j>>2]=c[m>>2];Yp(b,n,24694,j);c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}Yp(c[g>>2]|0,n,24701,k);m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}function Up(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+112|0;m=r+64|0;k=r+56|0;j=r+48|0;h=r+32|0;n=r+24|0;l=r+8|0;d=r+96|0;g=r+92|0;f=r+88|0;e=r+84|0;q=r+80|0;p=r+76|0;o=r+72|0;c[d>>2]=b;c[g>>2]=0;c[e>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[q>>2]=c[(c[d>>2]|0)+44>>2];c[p>>2]=Od(24319,r)|0;c[f>>2]=0;while(1){if(!(c[p>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[o>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[o>>2]|0;c[l>>2]=c[p>>2];c[l+4>>2]=s;c[l+8>>2]=b;c[p>>2]=Od(24345,l)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[q>>2]|0)!=0&(c[p>>2]|0)!=0){s=c[q>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=s;c[p>>2]=Od(24357,n)|0}if(!(c[p>>2]|0))c[g>>2]=7;s=c[e>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[p>>2]|0;c[h>>2]=c[(c[d>>2]|0)+16>>2];c[h+4>>2]=o;c[h+8>>2]=q;nl(g,s,24368,h);Kd(c[p>>2]|0)}s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[(c[d>>2]|0)+16>>2];c[j+4>>2]=q;nl(g,s,24401,j);s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=q;nl(g,s,24473,k);if(a[(c[d>>2]|0)+230>>0]|0){s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;nl(g,s,24626,m)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[g>>2]|0;i=r;return s|0}bp(g,c[d>>2]|0);s=c[g>>2]|0;i=r;return s|0}function Vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;d=k+20|0;e=k+16|0;g=k+12|0;j=k+8|0;f=k+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){i=k;return}c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=Od(24299,h)|0;do if(c[j>>2]|0){c[g>>2]=cf(c[(c[e>>2]|0)+12>>2]|0,c[j>>2]|0,-1,f,0)|0;if(!(c[g>>2]|0)){te(c[f>>2]|0)|0;h=Ce(c[f>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=h;c[g>>2]=Xd(c[f>>2]|0)|0;break}if((c[g>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[g>>2]=0}}else c[g>>2]=7;while(0);Kd(c[j>>2]|0);c[c[d>>2]>>2]=c[g>>2];i=k;return}function Wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;l=p+24|0;k=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;j=p+48|0;o=p+44|0;m=p+40|0;n=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){i=p;return}if(c[(c[g>>2]|0)+44>>2]|0)b=c[(c[g>>2]|0)+44>>2]|0;else b=24224;c[n>>2]=b;a=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;hf(a,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[m>>2]=Od(24233,e)|0;c[h>>2]=1;while(1){if(c[m>>2]|0)a=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else a=0;b=c[m>>2]|0;if(!a)break;e=c[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[k>>2]=b;c[k+4>>2]=e;c[m>>2]=Od(24238,k)|0;c[h>>2]=(c[h>>2]|0)+1}k=c[(c[g>>2]|0)+20>>2]|0;n=c[n>>2]|0;c[l>>2]=b;c[l+4>>2]=k;c[l+8>>2]=n;c[o>>2]=Od(24245,l)|0;if((c[m>>2]|0)!=0&(c[o>>2]|0)!=0)c[j>>2]=ff(c[(c[g>>2]|0)+12>>2]|0,c[o>>2]|0)|0;else c[j>>2]=7;Kd(c[o>>2]|0);Kd(c[m>>2]|0);c[c[f>>2]>>2]=c[j>>2];i=p;return}function Xp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;j=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=b;c[j>>2]=2+((kR(c[d>>2]|0)|0)<<1)+1;c[g>>2]=Id(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}c[f>>2]=c[g>>2];j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;c[e>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0)==34){j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34}b=a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=b;c[e>>2]=(c[e>>2]|0)+1}j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=0;j=c[g>>2]|0;i=h;return j|0}function Yp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+16|0;l=n+12|0;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=n;return}c[j>>2]=e;c[l>>2]=Nd(c[h>>2]|0,j)|0;if((c[l>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0){d=c[l>>2]|0;c[k>>2]=c[c[g>>2]>>2];c[k+4>>2]=d;c[m>>2]=Od(24705,k)|0;Kd(c[l>>2]|0);c[l>>2]=c[m>>2]}if(!(c[l>>2]|0))c[c[f>>2]>>2]=7;Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[l>>2];i=n;return}function Zp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[l+8>>2]=1e7;c[h>>2]=0;c[j>>2]=c[c[f>>2]>>2];while(1){if((a[c[j>>2]>>0]|0)<48)break;if((a[c[j>>2]>>0]|0)>57)break;c[h>>2]=((c[h>>2]|0)*10|0)+((a[c[j>>2]>>0]|0)-48);if((c[h>>2]|0)>1e7){k=5;break}c[j>>2]=(c[j>>2]|0)+1}if((k|0)==5)c[h>>2]=0;if((c[j>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}else{c[c[g>>2]>>2]=c[h>>2];c[c[f>>2]>>2]=c[j>>2];c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}return 0}function _p(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;m=p;e=p+40|0;q=p+36|0;f=p+32|0;j=p+28|0;l=p+24|0;o=p+20|0;h=p+16|0;k=p+12|0;g=p+8|0;n=p+4|0;c[e>>2]=a;c[q>>2]=b;c[f>>2]=d;c[l>>2]=0;c[j>>2]=ue(c[e>>2]|0)|0;c[o>>2]=$d(c[c[f>>2]>>2]|0)|0;c[h>>2]=(ae(c[c[f>>2]>>2]|0)|0)+1;do if((c[q>>2]|0)==2){if(!($p(c[e>>2]|0)|0)){ie(c[e>>2]|0,25030,-1);i=p;return}c[g>>2]=ae(c[(c[f>>2]|0)+4>>2]|0)|0;if((c[o>>2]|0)==0|(c[g>>2]|0)!=4){ie(c[e>>2]|0,24993,-1);i=p;return}else{c[l>>2]=c[(_d(c[(c[f>>2]|0)+4>>2]|0)|0)>>2];c[k>>2]=lk(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if((c[k>>2]|0)!=(c[l>>2]|0))break;ie(c[e>>2]|0,25016,-1);break}}else{if(c[o>>2]|0)c[l>>2]=Ek(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0)|0;if(!(c[l>>2]|0)){c[m>>2]=c[o>>2];c[n>>2]=Od(20595,m)|0;ie(c[e>>2]|0,c[n>>2]|0,-1);Kd(c[n>>2]|0);i=p;return}}while(0);fe(c[e>>2]|0,l,4,-1);i=p;return}function $p(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d;g=d+16|0;f=d+12|0;b=d+8|0;c[g>>2]=a;c[f>>2]=ve(c[g>>2]|0)|0;c[b>>2]=0;a=c[f>>2]|0;c[e>>2]=-1;c[e+4>>2]=b;of(a,1004,e)|0;i=d;return c[b>>2]|0}function aq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;d=c[c[g>>2]>>2]|0;if(c[(c[g>>2]|0)+4>>2]|0)c[c[(c[g>>2]|0)+4>>2]>>2]=d;else c[(c[f>>2]|0)+8>>2]=d;if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[j>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[j>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[j>>2]>>2]|0)<=0)c[(c[j>>2]|0)+4>>2]=0;if((a[(c[f>>2]|0)+1>>0]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0)qk(c[(c[g>>2]|0)+12>>2]|0);qk(c[g>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){i=k;return}pk(c[f>>2]|0);i=k;return}function bq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;j=n;c[f>>2]=b;c[g>>2]=d;c[k>>2]=cq(c[g>>2]<<3)|0;if(!(c[k>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}qk(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[m>>2]=Hk(a[c[f>>2]>>0]|0)|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=Yb[c[m>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;c[j>>2]=b&(c[g>>2]|0)-1;c[l>>2]=c[c[h>>2]>>2];dq(c[f>>2]|0,(c[k>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[l>>2]}c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}function cq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}VR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function dq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}function eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=Id(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;i=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function fq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function gq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){b=kR(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=b;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function hq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function iq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;j=w+48|0;x=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;u=w+16|0;r=w+12|0;q=w+8|0;s=w+4|0;t=w;c[x>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[x>>2];c[u>>2]=c[(c[p>>2]|0)+4>>2];do{if((c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)?(x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0,c[q>>2]=x,(x&128|0)==0):0)if((c[q>>2]|0)<48)b=1;else b=(a[25052+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}c[r>>2]=h;while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)){x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0;c[q>>2]=x;if(!(x&128))if((c[q>>2]|0)<48)b=1;else b=(a[25052+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}}while((h|0)<=(c[r>>2]|0));if((v|0)==23){c[j>>2]=101;x=c[j>>2]|0;i=w;return x|0}c[s>>2]=(c[(c[p>>2]|0)+12>>2]|0)-(c[r>>2]|0);do if((c[s>>2]|0)>(c[(c[p>>2]|0)+24>>2]|0)){c[(c[p>>2]|0)+24>>2]=(c[s>>2]|0)+20;c[t>>2]=Ld(c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;if(c[t>>2]|0){c[(c[p>>2]|0)+20>>2]=c[t>>2];break}c[j>>2]=7;x=c[j>>2]|0;i=w;return x|0}while(0);jq((c[u>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[l>>2]|0);c[c[k>>2]>>2]=c[(c[p>>2]|0)+20>>2];c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=c[(c[p>>2]|0)+12>>2];v=(c[p>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[o>>2]>>2]=x;c[j>>2]=0;x=c[j>>2]|0;i=w;return x|0}function jq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;g=s+28|0;h=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;k=s+8|0;m=s+36|0;r=s+4|0;l=s;j=s+32|0;c[g>>2]=b;c[h>>2]=d;c[o>>2]=e;c[p>>2]=f;if((c[h>>2]|0)<3|(c[h>>2]|0)>=21){kq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}c[q>>2]=0;c[k>>2]=22;while(1){if((c[q>>2]|0)>=(c[h>>2]|0))break;a[j>>0]=a[(c[g>>2]|0)+(c[q>>2]|0)>>0]|0;if((a[j>>0]|0)>=65?(a[j>>0]|0)<=90:0)a[m+(c[k>>2]|0)>>0]=(a[j>>0]|0)+97-65;else{if((a[j>>0]|0)<97){n=11;break}if((a[j>>0]|0)>122){n=11;break}a[m+(c[k>>2]|0)>>0]=a[j>>0]|0}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==11){kq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}n=m+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[r>>2]=m+((c[k>>2]|0)+1);if((((a[c[r>>2]>>0]|0)==115?(lq(r,25132,25137,0)|0)==0:0)?(lq(r,25140,25144,0)|0)==0:0)?(lq(r,25137,25137,0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1;c[l>>2]=c[r>>2];do if(!(lq(r,25146,25150,172)|0)){if((lq(r,25153,18402,173)|0)==0?(lq(r,25157,18402,173)|0)==0:0)break;if((((c[r>>2]|0)!=(c[l>>2]|0)?(lq(r,25160,25163,0)|0)==0:0)?(lq(r,25167,25170,0)|0)==0:0)?(lq(r,25174,25177,0)|0)==0:0){if((((oq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)!=108:0)?(a[c[r>>2]>>0]|0)!=115:0)?(a[c[r>>2]>>0]|0)!=122:0){c[r>>2]=(c[r>>2]|0)+1;break}if((pq(c[r>>2]|0)|0)!=0?(qq(c[r>>2]|0)|0)!=0:0){n=(c[r>>2]|0)+-1|0;c[r>>2]=n;a[n>>0]=101}}}while(0);if((a[c[r>>2]>>0]|0)==121?(nq((c[r>>2]|0)+1|0)|0)!=0:0)a[c[r>>2]>>0]=105;switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if(!(lq(r,25181,25163,172)|0))lq(r,25189,25196,172)|0;break}case 99:{if(!(lq(r,25201,25206,172)|0))lq(r,25211,25216,172)|0;break}case 101:{lq(r,25221,25177,172)|0;break}case 103:{lq(r,25226,25231,172)|0;break}case 108:{if((((lq(r,25235,25170,172)|0)==0?(lq(r,25239,25244,172)|0)==0:0)?(lq(r,25247,25253,172)|0)==0:0)?(lq(r,25257,25261,172)|0)==0:0)lq(r,25263,25269,172)|0;break}case 111:{if((lq(r,25273,25177,172)|0)==0?(lq(r,25281,25163,172)|0)==0:0)lq(r,25287,25163,172)|0;break}case 115:{if(((lq(r,25292,25244,172)|0)==0?(lq(r,25298,25306,172)|0)==0:0)?(lq(r,25310,25318,172)|0)==0:0)lq(r,25322,25269,172)|0;break}case 116:{if((lq(r,25330,25244,172)|0)==0?(lq(r,25336,25306,172)|0)==0:0)lq(r,25342,25170,172)|0;break}default:{}}switch(a[c[r>>2]>>0]|0){case 101:{if((lq(r,25349,25355,172)|0)==0?(lq(r,25358,18402,172)|0)==0:0)lq(r,25364,25244,172)|0;break}case 105:{lq(r,25370,25355,172)|0;break}case 108:{if(!(lq(r,25376,25355,172)|0))lq(r,25381,18402,172)|0;break}case 115:{lq(r,25385,18402,172)|0;break}default:{}}a:do switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if((a[c[r>>2]>>0]|0)==108?(rq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 99:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==110:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=101:0)break a;if(rq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 101:{if((a[c[r>>2]>>0]|0)==114?(rq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 105:{if((a[c[r>>2]>>0]|0)==99?(rq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 108:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==98:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=105:0)break a;if(rq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 110:{if((a[c[r>>2]>>0]|0)==116){g=c[r>>2]|0;if((a[(c[r>>2]|0)+2>>0]|0)==97){if(!(rq(g+3|0)|0))break a;c[r>>2]=(c[r>>2]|0)+3;break a}if(((a[g+2>>0]|0)==101?(lq(r,25390,18402,174)|0)==0:0)?(lq(r,25396,18402,174)|0)==0:0)lq(r,25401,18402,174)|0}break}case 111:{g=c[r>>2]|0;if((a[c[r>>2]>>0]|0)==117){if(!(rq(g+2|0)|0))break a;c[r>>2]=(c[r>>2]|0)+2;break a}if((a[g+3>>0]|0)!=115?(a[(c[r>>2]|0)+3>>0]|0)!=116:0)break a;lq(r,25405,18402,174)|0;break}case 115:{if(((a[c[r>>2]>>0]|0)==109?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(rq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 116:{if(!(lq(r,25409,18402,174)|0))lq(r,25413,18402,174)|0;break}case 117:{if(((a[c[r>>2]>>0]|0)==115?(a[(c[r>>2]|0)+2>>0]|0)==111:0)?(rq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 122:case 118:{if(((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(rq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}default:{}}while(0);do if((a[c[r>>2]>>0]|0)==101){n=(rq((c[r>>2]|0)+1|0)|0)!=0;g=(c[r>>2]|0)+1|0;if(n){c[r>>2]=g;break}if((pq(g)|0)!=0?(qq((c[r>>2]|0)+1|0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1}while(0);if(((rq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)==108:0)?(a[(c[r>>2]|0)+1>>0]|0)==108:0)c[r>>2]=(c[r>>2]|0)+1;n=kR(c[r>>2]|0)|0;c[q>>2]=n;c[c[p>>2]>>2]=n;a[(c[o>>2]|0)+(c[q>>2]|0)>>0]=0;while(1){if(!(a[c[r>>2]>>0]|0))break;n=c[r>>2]|0;c[r>>2]=n+1;n=a[n>>0]|0;p=(c[q>>2]|0)+-1|0;c[q>>2]=p;a[(c[o>>2]|0)+p>>0]=n}i=s;return}function kq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;n=q+12|0;p=q+8|0;o=q+4|0;m=q;l=q+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[l>>0]=a[(c[g>>2]|0)+(c[n>>2]|0)>>0]|0;if((a[l>>0]|0)>=65?(a[l>>0]|0)<=90:0)a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=(a[l>>0]|0)-65+97;else{if((a[l>>0]|0)>=48?(a[l>>0]|0)<=57:0)c[m>>2]=1;a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=a[l>>0]|0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(c[m>>2]|0)!=0?3:10;if((c[h>>2]|0)<=(c[p>>2]<<1|0)){b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}c[o>>2]=c[p>>2];c[n>>2]=(c[h>>2]|0)-(c[p>>2]|0);while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[(c[j>>2]|0)+(c[o>>2]|0)>>0]=a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=c[o>>2];b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}function lq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[j>>2]>>0]|0))break;if((a[c[j>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if(a[c[j>>2]>>0]|0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}if((c[l>>2]|0)!=0?(Tb[c[l>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}while(1){if(!(a[c[k>>2]>>0]|0))break;d=c[k>>2]|0;c[k>>2]=d+1;d=a[d>>0]|0;e=(c[m>>2]|0)+-1|0;c[m>>2]=e;a[e>>0]=d}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function mq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function nq(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;c[d>>2]=b;while(1){f=(tq(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}i=e;return (a[b>>0]|0)!=0|0}function oq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(tq(c[d>>2]|0)|0)){b=0;b=b&1;i=e;return b|0}b=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);b=b&1;i=e;return b|0}function pq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;i=f;return g|0}function qq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(((((tq(c[d>>2]|0)|0)!=0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?(sq((c[d>>2]|0)+1|0)|0)!=0:0)d=(tq((c[d>>2]|0)+2|0)|0)!=0;else d=0;i=e;return d&1|0}function rq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function sq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}c[f>>2]=a[25417+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=tq((c[e>>2]|0)+1|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function tq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}c[e>>2]=a[25417+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;i=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))d=1;else d=(sq((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=d&1;g=c[g>>2]|0;i=h;return g|0}function uq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;l=q+32|0;n=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=Id(132)|0;if(!(c[p>>2]|0)){c[g>>2]=7;p=c[g>>2]|0;i=q;return p|0}VR(c[p>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[o>>2]=kR(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break a;a[l>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]|0)>>0]|0;if((d[l>>0]|0|0)>=128)break;a[(c[p>>2]|0)+4+(d[l>>0]|0)>>0]=1;c[m>>2]=(c[m>>2]|0)+1}Kd(c[p>>2]|0);c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}else{c[n>>2]=1;while(1){if((c[n>>2]|0)>=128)break a;f=(Aq(c[n>>2]|0)|0)!=0^1;a[(c[p>>2]|0)+4+(c[n>>2]|0)>>0]=f?-1:0;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[c[k>>2]>>2]=c[p>>2];c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}function vq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function wq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=kR(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function xq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function yq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;n=z+52|0;A=z+48|0;o=z+44|0;p=z+40|0;q=z+36|0;r=z+32|0;s=z+28|0;t=z+24|0;l=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;k=z;u=z+56|0;c[A>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[A>>2];c[l>>2]=c[c[A>>2]>>2];c[y>>2]=c[(c[t>>2]|0)+4>>2];do{if((c[(c[t>>2]|0)+12>>2]|0)>=(c[(c[t>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(zq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}c[w>>2]=j;while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(zq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}}while((j|0)<=(c[w>>2]|0));if((m|0)==25){c[n>>2]=101;A=c[n>>2]|0;i=z;return A|0}c[x>>2]=(c[(c[t>>2]|0)+12>>2]|0)-(c[w>>2]|0);do if((c[x>>2]|0)>(c[(c[t>>2]|0)+24>>2]|0)){c[(c[t>>2]|0)+24>>2]=(c[x>>2]|0)+20;c[k>>2]=Ld(c[(c[t>>2]|0)+20>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[t>>2]|0)+20>>2]=c[k>>2];break}c[n>>2]=7;A=c[n>>2]|0;i=z;return A|0}while(0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[x>>2]|0))break;a[u>>0]=a[(c[y>>2]|0)+((c[w>>2]|0)+(c[v>>2]|0))>>0]|0;if((d[u>>0]|0|0)>=65?(d[u>>0]|0|0)<=90:0)b=(d[u>>0]|0)-65+97|0;else b=d[u>>0]|0;a[(c[(c[t>>2]|0)+20>>2]|0)+(c[v>>2]|0)>>0]=b;c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[(c[t>>2]|0)+20>>2];c[c[p>>2]>>2]=c[x>>2];c[c[q>>2]>>2]=c[w>>2];c[c[r>>2]>>2]=c[(c[t>>2]|0)+12>>2];y=(c[t>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[s>>2]>>2]=A;c[n>>2]=0;A=c[n>>2]|0;i=z;return A|0}function zq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){b=0;b=b&1;i=h;return b|0}b=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;b=b&1;i=h;return b|0}function Aq(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)b=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else b=1;i=d;return b&1|0}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;t=w;h=w+56|0;j=w+52|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;u=w+28|0;v=w+24|0;p=w+20|0;q=w+16|0;o=w+12|0;s=w+8|0;r=w+4|0;c[j>>2]=a;c[w+48>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;do if(!((c[k>>2]|0)!=4&(c[k>>2]|0)!=5)){c[u>>2]=c[(c[l>>2]|0)+4>>2];c[p>>2]=kR(c[u>>2]|0)|0;if((c[k>>2]|0)==5){if((c[p>>2]|0)!=4)break;if(zd(18672,c[u>>2]|0,4)|0)break;c[u>>2]=c[(c[l>>2]|0)+12>>2];c[p>>2]=kR(c[u>>2]|0)|0;c[v>>2]=c[(c[l>>2]|0)+16>>2]}else c[v>>2]=c[(c[l>>2]|0)+12>>2];c[q>>2]=kR(c[v>>2]|0)|0;c[s>>2]=ff(c[j>>2]|0,25453)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];v=c[h>>2]|0;i=w;return v|0}c[o>>2]=296+(c[p>>2]|0)+(c[q>>2]|0)+2;c[r>>2]=Id(c[o>>2]|0)|0;if(c[r>>2]|0){VR(c[r>>2]|0,0,c[o>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[p>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[j>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;TR(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;TR(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;Ok(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[m>>2]>>2]=c[r>>2];c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}else{c[h>>2]=7;v=c[h>>2]|0;i=w;return v|0}}while(0);Fk(c[n>>2]|0,25522,t);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}function Cq(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;f=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q+12|0;p=q+8|0;j=q+4|0;g=q;c[q+36>>2]=b;c[k>>2]=e;c[l>>2]=-1;c[m>>2]=-1;c[o>>2]=-1;c[n>>2]=-1;c[p>>2]=1;if(((c[(c[k>>2]|0)+8>>2]|0)==1?(c[c[(c[k>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[k>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[k>>2]|0)+32>>2]=1;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(a[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+5>>0]|0){c[j>>2]=d[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[j>>2]|0)==2)c[l>>2]=c[f>>2];if((c[j>>2]|0)==16)c[o>>2]=c[f>>2];if((c[j>>2]|0)==8)c[o>>2]=c[f>>2];if((c[j>>2]|0)==4)c[m>>2]=c[f>>2];if((c[j>>2]|0)==32)c[m>>2]=c[f>>2]}if((c[g>>2]|0)==4&(c[j>>2]|0)==2)c[n>>2]=c[f>>2]}c[f>>2]=(c[f>>2]|0)+1}f=(c[k>>2]|0)+20|0;if((c[l>>2]|0)<0){c[f>>2]=0;h[(c[k>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){l=(c[k>>2]|0)+20|0;c[l>>2]=(c[l>>2]|0)+2;l=c[p>>2]|0;c[p>>2]=l+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=l;m=(c[k>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[o>>2]|0)>=0){m=(c[k>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=m;o=(c[k>>2]|0)+40|0;h[o>>3]=+h[o>>3]/2.0}}else{c[f>>2]=1;o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=o;h[(c[k>>2]|0)+40>>3]=5.0}if((c[n>>2]|0)<0){i=q;return 0}o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=o;p=(c[k>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;i=q;return 0}function Dq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];c[e>>2]=c[(c[d>>2]|0)+12>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Xd(c[(c[e>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[e>>2]|0)+240>>2]|0);Kd(c[d>>2]|0);i=f;return 0}function Eq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}return 0}function Fq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];ym(c[e>>2]|0);Bl((c[d>>2]|0)+4|0);Kd(c[(c[d>>2]|0)+60>>2]|0);Kd(c[(c[d>>2]|0)+76>>2]|0);Kd(c[(c[d>>2]|0)+112>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Gq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;x=z+8|0;w=z;g=z+76|0;h=z+72|0;j=z+68|0;k=z+60|0;l=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;o=z+36|0;m=z+32|0;n=z+28|0;q=z+24|0;p=z+20|0;r=z+16|0;y=z+12|0;c[h>>2]=a;c[j>>2]=b;c[z+64>>2]=d;c[k>>2]=e;c[l>>2]=f;c[t>>2]=c[h>>2];c[u>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];c[s>>2]=0;c[o>>2]=0;c[m>>2]=-1;c[n>>2]=-1;c[q>>2]=-1;c[p>>2]=-1;c[r>>2]=0;if((c[j>>2]|0)!=1){c[s>>2]=1;if(c[j>>2]&2){a=c[r>>2]|0;c[r>>2]=a+1;c[n>>2]=a}if(c[j>>2]&4){a=c[r>>2]|0;c[r>>2]=a+1;c[q>>2]=a}}else{a=c[r>>2]|0;c[r>>2]=a+1;c[m>>2]=a}if((c[r>>2]|0)<(c[k>>2]|0)){a=c[r>>2]|0;c[r>>2]=a+1;c[p>>2]=a}Bl((c[t>>2]|0)+4|0);Kd(c[(c[t>>2]|0)+60>>2]|0);Kd(c[(c[t>>2]|0)+112>>2]|0);VR((c[t>>2]|0)+4|0,0,(c[t>>2]|0)+120-((c[t>>2]|0)+4)|0)|0;c[(c[t>>2]|0)+60+12>>2]=3;if(c[s>>2]|0){a=(c[t>>2]|0)+60+12|0;c[a>>2]=c[a>>2]|16}if(((c[m>>2]|0)>=0|(c[n>>2]|0)>=0?(c[y>>2]=$d(c[c[l>>2]>>2]|0)|0,(c[y>>2]|0)!=0):0)?(c[w>>2]=c[y>>2],y=Od(18391,w)|0,c[(c[t>>2]|0)+60>>2]=y,y=ae(c[c[l>>2]>>2]|0)|0,c[(c[t>>2]|0)+60+4>>2]=y,(c[(c[t>>2]|0)+60>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[q>>2]|0)>=0?(c[x>>2]=$d(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,y=Od(18391,x)|0,c[(c[t>>2]|0)+76>>2]=y,y=ae(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,c[(c[t>>2]|0)+80>>2]=y,(c[(c[t>>2]|0)+76>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[p>>2]|0)>=0){y=ce(c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;c[o>>2]=y;c[o>>2]=(c[o>>2]|0)<0?0:y}c[(c[t>>2]|0)+84>>2]=c[o>>2];c[v>>2]=ql(c[u>>2]|0,c[o>>2]|0,0,-2,c[(c[t>>2]|0)+60>>2]|0,c[(c[t>>2]|0)+60+4>>2]|0,0,c[s>>2]|0,(c[t>>2]|0)+4|0)|0;if(!(c[v>>2]|0))c[v>>2]=ul(c[u>>2]|0,(c[t>>2]|0)+4|0,(c[t>>2]|0)+60|0)|0;if(!(c[v>>2]|0))c[v>>2]=Hq(c[h>>2]|0)|0;c[g>>2]=c[v>>2];y=c[g>>2]|0;i=z;return y|0}function Hq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;d=q+52|0;r=q+48|0;m=q+44|0;b=q+40|0;n=q+36|0;g=q+32|0;l=q+28|0;e=q+24|0;h=q+20|0;f=q+16|0;k=q+12|0;j=q+8|0;o=q;c[r>>2]=a;c[m>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[m>>2]|0)+96|0;r=a;r=RR(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=C;a=(c[m>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if((c[(c[m>>2]|0)+104>>2]|0)>=(c[(c[m>>2]|0)+108>>2]|0))break;r=(c[(c[m>>2]|0)+112>>2]|0)+(c[(c[m>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}r=(c[m>>2]|0)+104|0;c[r>>2]=(c[r>>2]|0)+1}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}c[n>>2]=vl(c[b>>2]|0,(c[m>>2]|0)+4|0)|0;do if((c[n>>2]|0)==100){c[g>>2]=0;c[l>>2]=c[(c[m>>2]|0)+4+52>>2];c[e>>2]=c[(c[m>>2]|0)+4+48>>2];c[f>>2]=0;do if(c[(c[m>>2]|0)+76>>2]|0){a=c[m>>2]|0;if((c[(c[m>>2]|0)+80>>2]|0)<(c[(c[m>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[k>>2]=a;c[j>>2]=eR(c[(c[m>>2]|0)+76>>2]|0,c[(c[m>>2]|0)+4+40>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)>=0){if(c[j>>2]|0)break;if((c[(c[m>>2]|0)+4+44>>2]|0)<=(c[(c[m>>2]|0)+80>>2]|0))break}c[(c[m>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}while(0);if(Lq(c[m>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}VR(c[(c[m>>2]|0)+112>>2]|0,0,c[(c[m>>2]|0)+108>>2]<<4|0)|0;c[h>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[l>>2]|0)){p=32;break}r=o;c[r>>2]=0;c[r+4>>2]=0;r=_l((c[e>>2]|0)+(c[g>>2]|0)|0,o)|0;c[g>>2]=(c[g>>2]|0)+r;switch(c[f>>2]|0){case 0:{r=c[(c[m>>2]|0)+112>>2]|0;k=r;c[r>>2]=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=1;c[h>>2]=0;continue a}case 1:{r=o;k=c[r+4>>2]|0;if((k|0)>0|(k|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;k=r;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C}c[f>>2]=2;break}case 2:break;default:{c[h>>2]=c[o>>2];if(Lq(c[m>>2]|0,(c[h>>2]|0)+2|0)|0)break a;r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)|0;k=r;c[r>>2]=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=2;continue a}}r=o;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[f>>2]=0;continue}r=o;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[f>>2]=3;continue}else{r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)+8|0;k=r;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;r=(c[(c[m>>2]|0)+112>>2]|0)+8|0;k=r;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;continue}}if((p|0)==32){c[(c[m>>2]|0)+104>>2]=0;c[n>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}else c[(c[m>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[n>>2];r=c[d>>2]|0;i=q;return r|0}function Iq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return c[(c[b>>2]|0)+88>>2]|0}function Jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{me(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);i=g;return 0}case 1:{e=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){je(e,(c[(c[f>>2]|0)+104>>2]|0)-1|0);i=g;return 0}else{me(e,25451,-1,0);i=g;return 0}}case 2:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;ke(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}case 3:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;ke(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}default:{je(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);i=g;return 0}}return 0}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Ld(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){VR((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Mq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;j=p+12|0;m=p+8|0;n=p+4|0;k=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;c[l>>2]=Id(16)|0;if(!(c[l>>2]|0)){c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}d=c[l>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[l>>2]|0)+4>>2]=1;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[f>>2]|0))break;c[n>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[k>>2]=kR(c[n>>2]|0)|0;if((c[k>>2]|0)==19?(eR(25728,c[n>>2]|0,19)|0)==0:0)c[(c[l>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[k>>2]|0)==19?(eR(25748,c[n>>2]|0,19)|0)==0:0){c[(c[l>>2]|0)+4>>2]=0;break}if((c[k>>2]|0)>=11?(eR(25768,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Xq(c[l>>2]|0,1,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}if((c[k>>2]|0)>=11?(eR(25780,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Xq(c[l>>2]|0,0,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}c[m>>2]=1}while(0);c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){Nq(c[l>>2]|0)|0;c[l>>2]=0}c[c[h>>2]>>2]=c[l>>2];c[e>>2]=c[m>>2];o=c[e>>2]|0;i=p;return o|0}function Nq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return 0}c[d>>2]=c[b>>2];Kd(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);i=e;return 0}function Oq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}e=c[k>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=kR(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function Pq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Qq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+80|0;p=A+64|0;B=A+60|0;q=A+56|0;r=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;m=A+32|0;k=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;o=A+8|0;l=A+4|0;n=A;c[B>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=c[B>>2];c[m>>2]=c[c[v>>2]>>2];c[k>>2]=0;c[w>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+12>>2]|0);c[z>>2]=c[w>>2];c[o>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[25563+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))b=((d[c[w>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Rq(c[m>>2]|0,c[k>>2]|0)|0)break;c[z>>2]=c[w>>2]}if((c[z>>2]|0)>>>0>=(c[o>>2]|0)>>>0){c[p>>2]=101;B=c[p>>2]|0;i=A;return B|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0)|0)>=((c[(c[v>>2]|0)+24>>2]|0)-4|0)){c[n>>2]=Ld(c[(c[v>>2]|0)+20>>2]|0,(c[(c[v>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[n>>2]|0)){b=20;break}c[y>>2]=(c[n>>2]|0)+((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0));c[(c[v>>2]|0)+20>>2]=c[n>>2];B=(c[v>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[x>>2]=c[w>>2];c[l>>2]=Sq(c[k>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;do if(c[l>>2]|0){b=c[l>>2]|0;if((c[l>>2]|0)<128){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=b;break}e=c[l>>2]|0;if((b|0)<2048){f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=192+(e>>6&31);f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}b=c[l>>2]|0;if((e|0)<65536){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}else{f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=240+(b>>18&7);f=128+(c[l>>2]>>12&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}}while(0);if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=43;break}B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[25563+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))e=((d[c[w>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Rq(c[m>>2]|0,c[k>>2]|0)|0)continue;if(!(Tq(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[p>>2]=7;B=c[p>>2]|0;i=A;return B|0}else if((b|0)==43){c[(c[v>>2]|0)+12>>2]=(c[w>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=c[(c[v>>2]|0)+20>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0);c[c[s>>2]>>2]=(c[z>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[t>>2]>>2]=(c[x>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);z=(c[v>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[u>>2]>>2]=B;c[p>>2]=0;B=c[p>>2]|0;i=A;return B|0}return 0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Vq(c[e>>2]|0)|0;a=a^(Wq(c[f>>2]|0,c[e>>2]|0)|0);i=d;return a|0}function Sq(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;o=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;h=p+4|0;n=p;c[f>>2]=a;c[g>>2]=b;c[o>>2]=c[f>>2];b=c[f>>2]|0;if((c[f>>2]|0)<128){if(!((b|0)>=65&(c[f>>2]|0)<=90)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+32;o=c[o>>2]|0;i=p;return o|0}if((b|0)>=65536){if(!((c[f>>2]|0)>=66560&(c[f>>2]|0)<66600)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+40;o=c[o>>2]|0;i=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[l>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[m>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[h>>2]=(c[f>>2]|0)-(e[9798+(c[m>>2]<<2)>>1]|0);b=c[m>>2]|0;if((c[h>>2]|0)>=0){c[l>>2]=b;c[k>>2]=(c[m>>2]|0)+1;continue}else{c[j>>2]=b-1;continue}}if(((c[l>>2]|0)>=0?(c[n>>2]=9798+(c[l>>2]<<2),(c[f>>2]|0)<((e[c[n>>2]>>1]|0)+(d[(c[n>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[n>>2]|0)+2>>0]|0)&((e[c[n>>2]>>1]|0)^c[f>>2])|0):0)c[o>>2]=(c[f>>2]|0)+(e[10450+((d[(c[n>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[g>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Uq(c[o>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function Tq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=134389727;c[e>>2]=221688;if((c[b>>2]|0)<768|(c[b>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}if((c[b>>2]|0)<800)b=c[d>>2]&1<<(c[b>>2]|0)-768;else b=c[e>>2]&1<<(c[b>>2]|0)-768-32;c[f>>2]=b;f=c[f>>2]|0;i=g;return f|0}function Uq(b){b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+336|0;g=p+20|0;j=p+24|0;h=p+226|0;o=p+16|0;m=p+12|0;k=p+8|0;l=p+4|0;n=p;c[g>>2]=b;TR(j|0,10604,202)|0;b=h;d=25627;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[o>>2]=c[g>>2]<<3|7;c[m>>2]=0;c[k>>2]=100;c[l>>2]=0;while(1){if((c[k>>2]|0)<(c[l>>2]|0))break;c[n>>2]=((c[k>>2]|0)+(c[l>>2]|0)|0)/2|0;b=c[n>>2]|0;if((c[o>>2]|0)>>>0>=(e[j+(c[n>>2]<<1)>>1]|0)>>>0){c[m>>2]=b;c[l>>2]=(c[n>>2]|0)+1;continue}else{c[k>>2]=b-1;continue}}if((c[g>>2]|0)>((e[j+(c[m>>2]<<1)>>1]>>3)+(e[j+(c[m>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;i=p;return o|0}else{o=a[h+(c[m>>2]|0)>>0]|0;i=p;return o|0}return 0}function Vq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;g=k+12|0;e=k+8|0;f=k+4|0;h=k;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[2384+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;j=c[b>>2]|0;i=k;return j|0}if((a|0)>=4194304){c[b>>2]=1;j=c[b>>2]|0;i=k;return j|0}c[j>>2]=c[d>>2]<<10|1023;c[g>>2]=0;c[e>>2]=405;c[f>>2]=0;while(1){if((c[e>>2]|0)<(c[f>>2]|0))break;c[h>>2]=((c[e>>2]|0)+(c[f>>2]|0)|0)/2|0;a=c[h>>2]|0;if((c[j>>2]|0)>>>0>=(c[2400+(c[h>>2]<<2)>>2]|0)>>>0){c[g>>2]=a;c[f>>2]=(c[h>>2]|0)+1;continue}else{c[e>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[2400+(c[g>>2]<<2)>>2]|0)>>>10)+(c[2400+(c[g>>2]<<2)>>2]&1023)|0)>>>0&1;j=c[b>>2]|0;i=k;return j|0}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+24|0;d=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[j>>2]=0;c[h>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[h>>2]|0)<(c[j>>2]|0))break a;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0))break;d=c[k>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)){c[j>>2]=d+1;continue}else{c[h>>2]=d-1;continue}}c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Xq(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+48|0;k=t+44|0;l=t+40|0;g=t+36|0;u=t+32|0;r=t+28|0;s=t+24|0;o=t+20|0;h=t+16|0;m=t+12|0;q=t+8|0;n=t+4|0;p=t;c[k>>2]=a;c[l>>2]=b;c[g>>2]=e;c[u>>2]=f;c[r>>2]=c[g>>2];c[s>>2]=(c[r>>2]|0)+(c[u>>2]|0);c[h>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[25563+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Vq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Tq(c[o>>2]|0)|0)continue;c[h>>2]=(c[h>>2]|0)+1}if(c[h>>2]|0){c[m>>2]=Ld(c[(c[k>>2]|0)+12>>2]|0,(c[(c[k>>2]|0)+8>>2]|0)+(c[h>>2]|0)<<2)|0;if(!(c[m>>2]|0)){c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}c[q>>2]=c[(c[k>>2]|0)+8>>2];c[r>>2]=c[g>>2];while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[25563+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Vq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Tq(c[o>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;if((c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[o>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[q>>2];while(1){if((c[p>>2]|0)<=(c[n>>2]|0))break;c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[q>>2]=(c[q>>2]|0)+1}c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[q>>2]}c[j>>2]=0;u=c[j>>2]|0;i=t;return u|0}function Yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+4>>2];mg(c[j>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}j=c[e>>2]|0;j=sh(0,j,((j|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=j;c[(c[g>>2]|0)+52>>2]=c[f>>2];j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}function Zq(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+68>>0]|0|0)==2|0}function _q(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=Wb[c[(c[l>>2]|0)+36>>2]&255](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function $q(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Ut(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=f;return}a[c[e>>2]>>0]=0;if((Vt(c[d>>2]|0)|0)<=1){i=f;return}Wt(c[e>>2]|0)|0;i=f;return}function ar(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+112|0;r=K+96|0;s=K+92|0;t=K+88|0;u=K+84|0;v=K+80|0;L=K+76|0;w=K+72|0;x=K+68|0;n=K+64|0;C=K+60|0;D=K+56|0;G=K+52|0;A=K+48|0;E=K+44|0;l=K+40|0;I=K+36|0;B=K+32|0;H=K+28|0;o=K+24|0;F=K+20|0;q=K+16|0;m=K+12|0;p=K+8|0;y=K+4|0;z=K;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[L>>2]=h;c[w>>2]=j;c[x>>2]=k;c[C>>2]=0;c[D>>2]=0;c[G>>2]=0;c[A>>2]=0;c[E>>2]=0;c[I>>2]=0;c[B>>2]=0;c[H>>2]=(c[L>>2]&1|0)==0&1;c[o>>2]=st()|0;c[F>>2]=4096;c[q>>2]=0;c[m>>2]=0;c[l>>2]=(tt(c[s>>2]|0)|0)+7&-8;c[c[t>>2]>>2]=0;do if(((c[L>>2]&2|0)!=0?(c[A>>2]=1,(c[u>>2]|0)!=0):0)?(a[c[u>>2]>>0]|0)!=0:0){c[I>>2]=qh(0,c[u>>2]|0)|0;if(c[I>>2]|0){c[B>>2]=Jf(c[I>>2]|0)|0;c[u>>2]=0;break}c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}while(0);if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[B>>2]=(c[(c[s>>2]|0)+8>>2]|0)+1;L=c[B>>2]<<1;c[I>>2]=Ch(0,L,((L|0)<0)<<31>>31)|0;if(!(c[I>>2]|0)){c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}a[c[I>>2]>>0]=0;c[D>>2]=_q(c[s>>2]|0,c[u>>2]|0,c[B>>2]|0,c[I>>2]|0)|0;c[B>>2]=Jf(c[I>>2]|0)|0;L=(Jf(c[u>>2]|0)|0)+1|0;L=(c[u>>2]|0)+L|0;c[q>>2]=L;c[p>>2]=L;while(1){h=c[p>>2]|0;if(!(a[c[p>>2]>>0]|0))break;L=(Jf(h)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L;L=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L}c[m>>2]=h+1-(c[q>>2]|0);if((c[D>>2]|0)==0?((c[B>>2]|0)+8|0)>(c[(c[s>>2]|0)+8>>2]|0):0)c[D>>2]=ot(51006)|0;if(c[D>>2]|0){Tf(0,c[I>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}}c[n>>2]=kg(224+((c[o>>2]|0)+7&-8)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)+(c[l>>2]<<1)+(c[B>>2]|0)+1+(c[m>>2]|0)+(c[B>>2]|0)+8+2+(c[B>>2]|0)+4+2|0,0)|0;if(!(c[n>>2]|0)){Tf(0,c[I>>2]|0);c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}c[C>>2]=c[n>>2];L=(c[n>>2]|0)+224|0;c[n>>2]=L;c[(c[C>>2]|0)+212>>2]=L;L=(c[n>>2]|0)+((c[o>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+64>>2]=L;L=(c[n>>2]|0)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+72>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+68>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+176>>2]=L;if(c[I>>2]|0){L=(c[n>>2]|0)+((c[B>>2]|0)+1+(c[m>>2]|0))|0;c[n>>2]=L;c[(c[C>>2]|0)+180>>2]=L;TR(c[(c[C>>2]|0)+176>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;if(c[m>>2]|0)TR((c[(c[C>>2]|0)+176>>2]|0)+((c[B>>2]|0)+1)|0,c[q>>2]|0,c[m>>2]|0)|0;TR(c[(c[C>>2]|0)+180>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;h=(c[(c[C>>2]|0)+180>>2]|0)+(c[B>>2]|0)|0;g=25989;d=h+10|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(d|0));c[(c[C>>2]|0)+220>>2]=(c[(c[C>>2]|0)+180>>2]|0)+((c[B>>2]|0)+8+1);TR(c[(c[C>>2]|0)+220>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;L=(c[(c[C>>2]|0)+220>>2]|0)+(c[B>>2]|0)|0;a[L>>0]=a[25999]|0;a[L+1>>0]=a[26e3]|0;a[L+2>>0]=a[26001]|0;a[L+3>>0]=a[26002]|0;a[L+4>>0]=a[26003]|0;Tf(0,c[I>>2]|0)}c[c[C>>2]>>2]=c[s>>2];c[(c[C>>2]|0)+152>>2]=c[w>>2];do if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[y>>2]=0;c[D>>2]=Ur(c[s>>2]|0,c[(c[C>>2]|0)+176>>2]|0,c[(c[C>>2]|0)+64>>2]|0,c[w>>2]|0,y)|0;c[E>>2]=c[y>>2]&1;if(!(c[D>>2]|0)){c[z>>2]=bs(c[(c[C>>2]|0)+64>>2]|0)|0;do if((c[E>>2]|0)==0?(as(c[C>>2]|0),(c[F>>2]|0)>>>0<(c[(c[C>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[C>>2]|0)+156>>2]|0)>>>0>8192){c[F>>2]=8192;break}else{c[F>>2]=c[(c[C>>2]|0)+156>>2];break}while(0);L=(If(c[u>>2]|0,26005,0)|0)&255;a[(c[C>>2]|0)+14>>0]=L;if((c[z>>2]&8192|0)==0?(If(c[u>>2]|0,26012,0)|0)==0:0)break;c[w>>2]=c[w>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){c[G>>2]=1;a[(c[C>>2]|0)+17>>0]=1;a[(c[C>>2]|0)+18>>0]=4;a[(c[C>>2]|0)+14>>0]=1;c[E>>2]=c[w>>2]&1}if(!(c[D>>2]|0))c[D>>2]=Vi(c[C>>2]|0,F,-1)|0;if(!(c[D>>2]|0)){c[v>>2]=(c[v>>2]|0)+7&-8;c[D>>2]=vt(c[F>>2]|0,c[v>>2]|0,((c[A>>2]|0)!=0^1)&1,(c[A>>2]|0)!=0^1?186:0,c[C>>2]|0,c[(c[C>>2]|0)+212>>2]|0)|0}if(c[D>>2]|0){or(c[(c[C>>2]|0)+64>>2]|0);$i(c[(c[C>>2]|0)+208>>2]|0);Kd(c[C>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}a[(c[C>>2]|0)+6>>0]=c[H>>2];c[(c[C>>2]|0)+164>>2]=1073741823;a[(c[C>>2]|0)+13>>0]=c[G>>2];a[(c[C>>2]|0)+4>>0]=c[G>>2];a[(c[C>>2]|0)+19>>0]=a[(c[C>>2]|0)+13>>0]|0;a[(c[C>>2]|0)+16>>0]=c[A>>2];a[(c[C>>2]|0)+15>>0]=c[E>>2];a[(c[C>>2]|0)+7>>0]=a[(c[C>>2]|0)+13>>0]|0;if(!(a[(c[C>>2]|0)+7>>0]|0)){a[(c[C>>2]|0)+8>>0]=1;a[(c[C>>2]|0)+9>>0]=0;a[(c[C>>2]|0)+12>>0]=2;a[(c[C>>2]|0)+11>>0]=34;a[(c[C>>2]|0)+10>>0]=2}b[(c[C>>2]|0)+148>>1]=c[v>>2];L=(c[C>>2]|0)+168|0;c[L>>2]=-1;c[L+4>>2]=-1;as(c[C>>2]|0);if(c[H>>2]|0){if(c[A>>2]|0)a[(c[C>>2]|0)+5>>0]=4}else a[(c[C>>2]|0)+5>>0]=2;c[(c[C>>2]|0)+204>>2]=c[x>>2];c[c[t>>2]>>2]=c[C>>2];c[r>>2]=0;L=c[r>>2]|0;i=K;return L|0}function br(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b+4>>2]|0;a=(c[f>>2]|0)+136|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;aj(c[f>>2]|0);i=e;return}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;VR(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=es(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)==522?0:a;h=c[h>>2]|0;i=j;return h|0}function dr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=rt((c[(c[d>>2]|0)+4>>2]|0)+380|0)|0;i=b;return a|0}function er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[j>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){i=g;return}c[f>>2]=(c[e>>2]|0)+184;Ts(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);i=g;return}function fr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+15>>0]|0}function gr(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function hr(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];Yj();ir(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;jr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Zi(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)kr(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;mr(b,lr(c[e>>2]|0)|0)|0}nr(c[e>>2]|0)}Zj();or(c[(c[e>>2]|0)+68>>2]|0);or(c[(c[e>>2]|0)+64>>2]|0);$i(c[f>>2]|0);pr(c[(c[e>>2]|0)+212>>2]|0);Kd(c[e>>2]|0);i=g;return 0}function ir(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Kd(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function jr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;if(!(c[h>>2]|0)){g=c[o>>2]|0;i=p;return g|0}c[n>>2]=0;c[o>>2]=Rs(c[(c[h>>2]|0)+4>>2]|0,4)|0;do if(!(c[o>>2]|0)){if(!(d[(c[h>>2]|0)+43>>0]|0))a[(c[h>>2]|0)+43>>0]=1;c[o>>2]=Ss(c[h>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=-1;Ts(c[(c[h>>2]|0)+4>>2]|0,10,m);if((c[m>>2]|0)!=1){c[n>>2]=1;break}g=(c[h>>2]|0)+16|0;e=c[g+4>>2]|0;if((e|0)>0|(e|0)==0&(c[g>>2]|0)>>>0>=0)Us(c[h>>2]|0,0,0)}}while(0);Vs(c[h>>2]|0,c[n>>2]|0);or(c[(c[h>>2]|0)+8>>2]|0);if(c[n>>2]|0){Yj();xr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+108>>2]|0,0)|0;Zj()}Kd(c[(c[h>>2]|0)+32>>2]|0);Kd(c[h>>2]|0);g=c[o>>2]|0;i=p;return g|0}function kr(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h+4|0;e=h;c[g>>2]=b;pj(c[(c[g>>2]|0)+60>>2]|0);c[(c[g>>2]|0)+60>>2]=0;sr(c[g>>2]|0);j=(Br(c[g>>2]|0)|0)!=0;b=c[g>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[g>>2]|0)+64>>2]>>2]|0)b=bs(c[(c[g>>2]|0)+64>>2]|0)|0;else b=0;c[e>>2]=b;if(!(0!=(c[e>>2]&2048|0)?1==(d[(c[g>>2]|0)+5>>0]&5|0):0))or(c[(c[g>>2]|0)+68>>2]|0);c[f>>2]=Fr(c[g>>2]|0,0)|0;if((c[f>>2]|0)!=0?(d[(c[g>>2]|0)+17>>0]|0)==6:0)a[(c[g>>2]|0)+18>>0]=5;a[(c[g>>2]|0)+19>>0]=0;a[(c[g>>2]|0)+17>>0]=0}}else{Qs(c[b+216>>2]|0);a[(c[g>>2]|0)+17>>0]=0}if(!(c[(c[g>>2]|0)+44>>2]|0)){j=c[g>>2]|0;j=j+80|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+88|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}b=c[g>>2]|0;if(!(d[(c[g>>2]|0)+13>>0]|0)){Zi(b);a[(c[g>>2]|0)+19>>0]=0;a[(c[g>>2]|0)+17>>0]=0}else a[(c[g>>2]|0)+17>>0]=(c[c[b+68>>2]>>2]|0)!=0?0:1;c[(c[g>>2]|0)+44>>2]=0;j=c[g>>2]|0;j=j+80|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+88|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}function lr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=vr(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;i=f;return e|0}c[e>>2]=Xi(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;i=f;return e|0}function mr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;i=g;return h|0}function nr(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?(d[(c[e>>2]|0)+17>>0]|0)!=0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){Yj();qr(c[e>>2]|0)|0;Zj();break}if(!(a[(c[e>>2]|0)+4>>0]|0))rr(c[e>>2]|0,0,0)|0}while(0);kr(c[e>>2]|0);i=f;return}function or(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[c[b>>2]>>2]|0)){i=d;return}Tb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;i=d;return}function pr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function qr(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];j=c[e>>2]|0;i=k;return j|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}l=(Br(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(l){c[h>>2]=Vr(b,2,-1)|0;c[j>>2]=rr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+68>>2]>>2]|0)!=0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[h>>2]=Wr(c[f>>2]|0,0)|0;break}c[g>>2]=d[(c[f>>2]|0)+17>>0];c[h>>2]=rr(c[f>>2]|0,0,0)|0;if((c[g>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[h>>2];l=c[e>>2]|0;i=k;return l|0}}while(0);c[e>>2]=mr(c[f>>2]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}function rr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+24|0;k=o+20|0;g=o+16|0;l=o+12|0;m=o+8|0;n=o+4|0;h=o;c[k>>2]=b;c[g>>2]=e;c[l>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[k>>2]|0)+17>>0]|0)<2?(d[(c[k>>2]|0)+18>>0]|0)<2:0){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}sr(c[k>>2]|0);a:do if(c[c[(c[k>>2]|0)+68>>2]>>2]|0){b=(tr(c[(c[k>>2]|0)+68>>2]|0)|0)!=0;f=c[k>>2]|0;if(b){or(c[f+68>>2]|0);break}e=c[k>>2]|0;if((d[f+5>>0]|0)==3){h=e+80|0;if(!((c[h>>2]|0)==0&(c[h+4>>2]|0)==0)){c[m>>2]=ur(c[(c[k>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?(d[(c[k>>2]|0)+8>>0]|0)!=0:0)c[m>>2]=vr(c[(c[k>>2]|0)+68>>2]|0,d[(c[k>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;h=(c[k>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0;break}do if((d[e+5>>0]|0)!=1){if((d[(c[k>>2]|0)+4>>0]|0)!=0?(d[(c[k>>2]|0)+5>>0]|0)!=5:0)break;c[h>>2]=((a[(c[k>>2]|0)+13>>0]|0)!=0^1)&1;or(c[(c[k>>2]|0)+68>>2]|0);if(!(c[h>>2]|0))break a;c[m>>2]=xr(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+180>>2]|0,d[(c[k>>2]|0)+9>>0]|0)|0;break a}while(0);if(c[g>>2]|0)f=1;else f=(d[(c[k>>2]|0)+13>>0]|0)!=0;c[m>>2]=wr(c[k>>2]|0,f&1)|0;h=(c[k>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0}while(0);pj(c[(c[k>>2]|0)+60>>2]|0);c[(c[k>>2]|0)+60>>2]=0;c[(c[k>>2]|0)+48>>2]=0;if(!(c[m>>2]|0)){h=(yr(c[k>>2]|0,c[l>>2]|0)|0)!=0;f=c[(c[k>>2]|0)+212>>2]|0;if(h)zr(f);else Ar(f);fj(c[(c[k>>2]|0)+212>>2]|0,c[(c[k>>2]|0)+28>>2]|0)}if(!(Br(c[k>>2]|0)|0)){if((c[m>>2]|0)==0&(c[l>>2]|0)!=0?(c[(c[k>>2]|0)+36>>2]|0)>>>0>(c[(c[k>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=Dr(c[k>>2]|0,c[(c[k>>2]|0)+28>>2]|0)|0}else c[n>>2]=Cr(c[(c[k>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[l>>2]|0)!=0?(c[c[(c[k>>2]|0)+64>>2]>>2]|0)!=0:0){l=Ai(c[(c[k>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=l;c[m>>2]=(c[m>>2]|0)==12?0:l}do if(!(a[(c[k>>2]|0)+4>>0]|0)){if((Br(c[k>>2]|0)|0)!=0?(Er(c[(c[k>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=Fr(c[k>>2]|0,1)|0;a[(c[k>>2]|0)+19>>0]=0}while(0);a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+20>>0]=0;c[j>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[j>>2]|0;i=o;return n|0}function sr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;pj(c[(c[(c[d>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(tr(c[(c[d>>2]|0)+72>>2]|0)|0)==0:0))or(c[(c[d>>2]|0)+72>>2]|0);Kd(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;i=f;return}function tr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[b>>2]>>2]|0)==4028|0}function ur(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=Ob[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function wr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;g=l+20|0;j=l+16|0;h=l+8|0;k=l;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;b=(c[f>>2]|0)+80|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){k=c[j>>2]|0;i=l;return k|0}m=(c[f>>2]|0)+168|0;e=c[m+4>>2]|0;b=h;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=h;e=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[j>>2]=ur(e,0,0)|0;else c[j>>2]=Ig(e,25846,28,0,0)|0;if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[j>>2]=vr(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=h;g=c[m+4>>2]|0;if(!((c[j>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[j>>2]|0;i=l;return m|0}c[j>>2]=Xi(c[(c[f>>2]|0)+68>>2]|0,k)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=l;return m|0}b=c[k+4>>2]|0;m=h;g=c[m+4>>2]|0;if(!((b|0)>(g|0)|((b|0)==(g|0)?(c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[j>>2]|0;i=l;return m|0}m=h;c[j>>2]=ur(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}function xr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=Ob[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function yr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;do if(d[(c[f>>2]|0)+13>>0]|0){if(!(c[g>>2]|0)){c[e>>2]=0;break}if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[e>>2]=(Lr(c[(c[f>>2]|0)+212>>2]|0)|0)>=25&1;break}else{c[e>>2]=0;break}}else c[e>>2]=1;while(0);i=h;return c[e>>2]|0}function zr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;gj(c[d>>2]|0)}i=e;return}function Ar(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-13;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function Br(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function Cr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){i=e;return 0}Kr(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;i=e;return 0}function Dr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;e=m+32|0;f=m+28|0;k=m+24|0;g=m+8|0;h=m;l=m+20|0;j=m+16|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?(d[(c[e>>2]|0)+17>>0]|0|0)!=0:0){l=c[k>>2]|0;i=m;return l|0}c[l>>2]=c[(c[e>>2]|0)+160>>2];c[k>>2]=Xi(c[(c[e>>2]|0)+64>>2]|0,g)|0;b=c[l>>2]|0;b=aS(b|0,((b|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}b=g;a=h;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){l=c[k>>2]|0;i=m;return l|0}b=g;o=c[b+4>>2]|0;a=h;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){b=g;n=c[l>>2]|0;n=RR(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=C;o=h;a=c[o+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[j>>2]=c[(c[e>>2]|0)+208>>2];VR(c[j>>2]|0,0,c[l>>2]|0)|0;a=c[(c[e>>2]|0)+64>>2]|0;j=c[j>>2]|0;n=c[l>>2]|0;o=c[l>>2]|0;o=QR(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[k>>2]=Ig(a,j,n,o,C)|0}}else{o=h;c[k>>2]=ur(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[k>>2]|0){o=c[k>>2]|0;i=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function Er(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){f=c[g>>2]|0;if((c[h>>2]|0)>0){Ir(f,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else{c[j>>2]=(d[f+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}a[(c[g>>2]|0)+43>>0]=0;if(Hr(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}function Fr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Gr(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Hr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=Jr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Ir(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){i=g;return}Jr(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;i=g;return}function Jr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[c[k>>2]>>2]|0)+56>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Kr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){i=j;return}Jr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;i=j;return}function Lr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f+8|0;d=f+4|0;b=f;c[g>>2]=a;c[d>>2]=0;c[b>>2]=cj(c[g>>2]|0)|0;c[e>>2]=c[c[g>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=c[(c[e>>2]|0)+32>>2]}if(!(c[b>>2]|0)){g=0;i=f;return g|0}e=c[d>>2]|0;e=aS(e|0,((e|0)<0)<<31>>31|0,100,0)|0;g=c[b>>2]|0;g=_R(e|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;i=f;return g|0}function Mr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Sr(c[d>>2]|0);i=b;return 0}function Nr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+64|0;t=r+52|0;s=r+48|0;h=r+44|0;j=r+8|0;o=r+40|0;q=r+36|0;n=r+32|0;k=r+28|0;p=r+24|0;g=r;l=r+20|0;m=r+16|0;c[t>>2]=a;c[s>>2]=b;c[h>>2]=d;d=j;c[d>>2]=e;c[d+4>>2]=f;c[o>>2]=c[t>>2];c[q>>2]=c[s>>2];c[n>>2]=c[h>>2];d=(c[o>>2]|0)+40|0;a=j;b=j;a:do if(((c[d>>2]|0)!=(c[a>>2]|0)?1:(c[d+4>>2]|0)!=(c[a+4>>2]|0))|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){t=g;c[t>>2]=0;c[t+4>>2]=0;c[p>>2]=c[(c[o>>2]|0)+16>>2];while(1){if(!(c[p>>2]|0))break a;a=g;s=c[(c[o>>2]|0)+4>>2]|0;s=RR(c[a>>2]|0,c[a+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;a=C;t=j;b=c[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=c[(c[o>>2]|0)+4>>2]|0;t=g;s=RR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=C;c[p>>2]=c[c[p>>2]>>2]}}else c[p>>2]=c[(c[o>>2]|0)+40+8>>2];while(0);s=j;t=c[(c[o>>2]|0)+4>>2]|0;t=$R(c[s>>2]|0,c[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;c[k>>2]=t;do{c[l>>2]=(c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0);if((c[n>>2]|0)<((c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[n>>2]|0;else e=(c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[m>>2]=e;TR(c[q>>2]|0,(c[p>>2]|0)+4+(c[k>>2]|0)|0,c[m>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[l>>2]|0);c[k>>2]=0;if((c[n>>2]|0)<0)break;t=c[c[p>>2]>>2]|0;c[p>>2]=t}while((t|0)!=0&(c[n>>2]|0)>0);if(!(c[p>>2]|0)){n=0;t=0;s=c[o>>2]|0;s=s+40|0;q=s;c[q>>2]=n;s=s+4|0;c[s>>2]=t;s=c[p>>2]|0;t=c[o>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;i=r;return 0}t=j;n=c[h>>2]|0;n=RR(c[t>>2]|0,c[t+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;t=C;s=c[o>>2]|0;s=s+40|0;q=s;c[q>>2]=n;s=s+4|0;c[s>>2]=t;s=c[p>>2]|0;t=c[o>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;i=r;return 0}function Or(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;q=u+52|0;g=u+48|0;h=u+44|0;r=u+40|0;s=u;t=u+36|0;m=u+32|0;p=u+28|0;j=u+24|0;n=u+20|0;k=u+16|0;l=u+12|0;o=u+8|0;c[g>>2]=a;c[h>>2]=b;c[r>>2]=d;b=s;c[b>>2]=e;c[b+4>>2]=f;c[t>>2]=c[g>>2];c[m>>2]=c[r>>2];c[p>>2]=c[h>>2];if((c[(c[t>>2]|0)+8>>2]|0)>0?(f=c[r>>2]|0,a=s,a=RR(f|0,((f|0)<0)<<31>>31|0,c[a>>2]|0,c[a+4>>2]|0)|0,f=C,b=c[(c[t>>2]|0)+8>>2]|0,d=((b|0)<0)<<31>>31,(f|0)>(d|0)|(f|0)==(d|0)&a>>>0>b>>>0):0){c[j>>2]=Tr(c[t>>2]|0)|0;if(!(c[j>>2]|0)){t=s;c[j>>2]=Ig(c[g>>2]|0,c[h>>2]|0,c[r>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0}c[q>>2]=c[j>>2];t=c[q>>2]|0;i=u;return t|0}while(1){if((c[m>>2]|0)<=0){e=18;break}c[n>>2]=c[(c[t>>2]|0)+24+8>>2];j=(c[t>>2]|0)+24|0;b=c[(c[t>>2]|0)+4>>2]|0;b=$R(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[k>>2]=b;if((c[m>>2]|0)<((c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[m>>2]|0;else e=(c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[l>>2]=e;if(!(c[k>>2]|0)){c[o>>2]=Id(12+((c[(c[t>>2]|0)+4>>2]|0)-8)|0)|0;if(!(c[o>>2]|0)){e=12;break}c[c[o>>2]>>2]=0;e=c[o>>2]|0;if(c[n>>2]|0)c[c[n>>2]>>2]=e;else c[(c[t>>2]|0)+16>>2]=e;c[(c[t>>2]|0)+24+8>>2]=c[o>>2]}TR((c[(c[t>>2]|0)+24+8>>2]|0)+4+(c[k>>2]|0)|0,c[p>>2]|0,c[l>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[l>>2]|0);j=c[l>>2]|0;b=(c[t>>2]|0)+24|0;a=b;j=RR(c[a>>2]|0,c[a+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;c[b>>2]=j;c[b+4>>2]=C}if((e|0)==12){c[q>>2]=3082;t=c[q>>2]|0;i=u;return t|0}else if((e|0)==18){r=c[r>>2]|0;s=RR(r|0,((r|0)<0)<<31>>31|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=s;c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function Pr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f;e=f+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[h>>2];a=g;if(!((c[a>>2]|0)==0&(c[a+4>>2]|0)==0)){i=f;return 0}Sr(c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+24+8>>2]=0;h=(c[e>>2]|0)+24|0;c[h>>2]=0;c[h+4>>2]=0;c[(c[e>>2]|0)+40+8>>2]=0;h=(c[e>>2]|0)+40|0;c[h>>2]=0;c[h+4>>2]=0;i=f;return 0}function Qr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Rr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+24|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Sr(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+16>>2]=0;i=f;return}function Tr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+112|0;e=m+96|0;l=m+92|0;k=m+88|0;f=m+8|0;h=m+84|0;g=m;j=m+80|0;c[e>>2]=a;c[k>>2]=c[e>>2];a=f;b=c[e>>2]|0;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));a=c[e>>2]|0;d=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[l>>2]=Ur(c[f+60>>2]|0,c[f+64>>2]|0,c[k>>2]|0,c[f+56>>2]|0,0)|0;if(!(c[l>>2]|0)){c[h>>2]=c[f+4>>2];d=g;c[d>>2]=0;c[d+4>>2]=0;c[j>>2]=c[f+16>>2];while(1){if(!(c[j>>2]|0))break;n=g;b=c[h>>2]|0;b=RR(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=C;d=f+24|0;a=c[d+4>>2]|0;if((n|0)>(a|0)|((n|0)==(a|0)?b>>>0>(c[d>>2]|0)>>>0:0)){d=f+24|0;n=g;n=QR(c[d>>2]|0,c[d+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[h>>2]=n}n=g;c[l>>2]=Ig(c[k>>2]|0,(c[j>>2]|0)+4|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[l>>2]|0)break;d=c[h>>2]|0;n=g;d=RR(c[n>>2]|0,c[n+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;n=g;c[n>>2]=d;c[n+4>>2]=C;c[j>>2]=c[c[j>>2]>>2]}if(!(c[l>>2]|0))Sr(f)}if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}or(c[k>>2]|0);a=c[e>>2]|0;b=f;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));n=c[l>>2]|0;i=m;return n|0}function Ur(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Zb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[j>>2]|0)+44>>2];if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0))break;pj(c[(c[(c[j>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[j>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((Br(c[j>>2]|0)|0)==0?(c[c[(c[j>>2]|0)+68>>2]>>2]|0)==0:0){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))e=0;else e=(c[(c[j>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=e;c[l>>2]=qs(c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}if(c[h>>2]|0){l=c[l>>2]|0;i=m;return l|0}if(!(c[c[(c[j>>2]|0)+72>>2]>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(tr(c[(c[j>>2]|0)+72>>2]|0)|0)c[l>>2]=ur(c[(c[j>>2]|0)+72>>2]|0,0,0)|0;c[(c[j>>2]|0)+56>>2]=0;l=c[l>>2]|0;i=m;return l|0}function Wr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;r=t+8|0;m=t+56|0;n=t+52|0;j=t+48|0;k=t;g=t+44|0;l=t+40|0;f=t+36|0;p=t+32|0;q=t+28|0;s=t+24|0;h=t+20|0;o=t+16|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=c[c[m>>2]>>2];c[f>>2]=0;c[q>>2]=1;c[s>>2]=0;c[o>>2]=0;c[p>>2]=Xi(c[(c[m>>2]|0)+68>>2]|0,k)|0;a:do if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Xr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[p>>2]|0)==0?(a[c[s>>2]>>0]|0)!=0:0)c[p>>2]=Yr(c[j>>2]|0,c[s>>2]|0,0,q)|0;c[s>>2]=0;if((c[p>>2]|0)==0&(c[q>>2]|0)!=0){j=(c[m>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0;c[h>>2]=c[n>>2];b:while(1){j=k;c[p>>2]=Zr(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,g,f)|0;if(c[p>>2]|0){e=8;break}if((c[g>>2]|0)==-1){b=k;b=QR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=_R(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}if(!((c[g>>2]|0)!=0|(c[n>>2]|0)!=0)?(b=(c[m>>2]|0)+88|0,b=RR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0,j=(c[m>>2]|0)+80|0,(b|0)==(c[j>>2]|0)?(C|0)==(c[j+4>>2]|0):0):0){j=k;b=(c[m>>2]|0)+80|0;b=QR(c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=_R(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}j=(c[m>>2]|0)+80|0;if((c[j+4>>2]|0)==0?(c[j>>2]|0)==(c[(c[m>>2]|0)+156>>2]|0):0){c[p>>2]=Dr(c[m>>2]|0,c[f>>2]|0)|0;if(c[p>>2]|0)break a;c[(c[m>>2]|0)+28>>2]=c[f>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0)continue b;if(c[h>>2]|0){Zi(c[m>>2]|0);c[h>>2]=0}c[p>>2]=_r(c[m>>2]|0,(c[m>>2]|0)+80|0,0,1,0)|0;if(c[p>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if((c[p>>2]|0)!=101){e=26;break}e=k;b=c[e+4>>2]|0;j=(c[m>>2]|0)+80|0;c[j>>2]=c[e>>2];c[j+4>>2]=b}if((e|0)==8){if((c[p>>2]|0)!=101)break;c[p>>2]=0;break}else if((e|0)==26){if((c[p>>2]|0)!=522)break;c[p>>2]=0;break}}}while(0);a[(c[m>>2]|0)+19>>0]=a[(c[m>>2]|0)+13>>0]|0;if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Xr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+17>>0]|0)<4?(d[(c[m>>2]|0)+17>>0]|0)!=0:0)break;c[p>>2]=Kg(c[m>>2]|0,0)|0}while(0);if(!(c[p>>2]|0))c[p>>2]=rr(c[m>>2]|0,(a[c[s>>2]>>0]|0)!=0&1,0)|0;if((c[p>>2]|0)==0?((c[q>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0):0)c[p>>2]=$r(c[m>>2]|0,c[s>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[m>>2]|0;as(s);s=c[p>>2]|0;i=t;return s|0}s=c[(c[m>>2]|0)+180>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=s;Rd(539,25874,r);s=c[m>>2]|0;as(s);s=c[p>>2]|0;i=t;return s|0}function Xr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;m=q+16|0;o=q;l=q+12|0;p=q+8|0;k=q+40|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a[c[h>>2]>>0]=0;e=Xi(c[g>>2]|0,o)|0;c[n>>2]=e;d=o;b=c[d+4>>2]|0;if((((((!(0!=(e|0)|((b|0)<0|(b|0)==0&(c[d>>2]|0)>>>0<16))?(b=c[g>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=fs(b,d,C,m)|0,c[n>>2]=d,0==(d|0)):0)?!((c[m>>2]|0)==0?1:(c[m>>2]|0)>>>0>=(c[j>>2]|0)>>>0):0)?(b=c[g>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,12,0)|0,d=fs(b,d,C,l)|0,c[n>>2]=d,0==(d|0)):0)?(b=c[g>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,8,0)|0,d=es(b,k,8,d,C)|0,c[n>>2]=d,0==(d|0)):0)?(eR(k,25901,8)|0)==0:0)?(k=c[g>>2]|0,e=c[h>>2]|0,b=c[m>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=QR(d|0,C|0,c[m>>2]|0,0)|0,d=es(k,e,b,d,C)|0,c[n>>2]=d,0==(d|0)):0){c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[l>>2]=(c[l>>2]|0)-(a[(c[h>>2]|0)+(c[p>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[l>>2]|0)c[m>>2]=0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;c[f>>2]=0;d=c[f>>2]|0;i=q;return d|0}c[f>>2]=c[n>>2];d=c[f>>2]|0;i=q;return d|0}function Yr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Zr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;h=s+44|0;j=s+40|0;k=s+36|0;t=s+8|0;l=s+32|0;m=s+28|0;r=s+24|0;n=s+48|0;o=s;p=s+20|0;q=s+16|0;c[j>>2]=a;c[k>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;b=ps(c[j>>2]|0)|0;f=(c[j>>2]|0)+80|0;c[f>>2]=b;c[f+4>>2]=C;f=(c[j>>2]|0)+80|0;f=RR(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;b=C;a=t;g=c[a+4>>2]|0;if((b|0)>(g|0)|((b|0)==(g|0)?f>>>0>(c[a>>2]|0)>>>0:0)){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}f=(c[j>>2]|0)+80|0;a=c[f+4>>2]|0;t=o;c[t>>2]=c[f>>2];c[t+4>>2]=a;if(!((c[k>>2]|0)==0?(a=o,t=(c[j>>2]|0)+88|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=o;c[r>>2]=es(c[(c[j>>2]|0)+68>>2]|0,n,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}if(eR(n,25901,8)|0){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}}a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=RR(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=fs(a,t,C,c[l>>2]|0)|0;c[r>>2]=t;if((0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=RR(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=fs(a,t,C,(c[j>>2]|0)+52|0)|0,c[r>>2]=t,0==(t|0)):0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=RR(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=fs(a,t,C,c[m>>2]|0)|0,c[r>>2]=t,0==(t|0)):0){t=(c[j>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=RR(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=fs(a,t,C,q)|0;c[r>>2]=t;if(0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=RR(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=fs(a,t,C,p)|0,c[r>>2]=t,0==(t|0)):0){if(!(c[p>>2]|0))c[p>>2]=c[(c[j>>2]|0)+160>>2];if((!((c[p>>2]|0)>>>0<512|(c[q>>2]|0)>>>0<32|(c[p>>2]|0)>>>0>65536|(c[q>>2]|0)>>>0>65536)?((c[p>>2]|0)-1&c[p>>2]|0)==0:0)?((c[q>>2]|0)-1&c[q>>2]|0)==0:0){c[r>>2]=Vi(c[j>>2]|0,p,-1)|0;c[(c[j>>2]|0)+156>>2]=c[q>>2];break}c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}while(0);t=(c[j>>2]|0)+80|0;a=t;a=RR(c[a>>2]|0,c[a+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=C;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}function _r(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+64|0;y=B+60|0;q=B+56|0;l=B+52|0;m=B+48|0;r=B+44|0;n=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;o=B+24|0;s=B+20|0;p=B+16|0;t=B+12|0;u=B;x=B+8|0;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;c[r>>2]=j;c[n>>2]=k;c[s>>2]=c[(c[q>>2]|0)+208>>2];j=c[q>>2]|0;if(c[r>>2]|0)j=c[j+68>>2]|0;else j=c[j+72>>2]|0;c[p>>2]=j;f=c[l>>2]|0;c[A>>2]=fs(c[p>>2]|0,c[f>>2]|0,c[f+4>>2]|0,v)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}k=c[p>>2]|0;h=c[s>>2]|0;g=c[(c[q>>2]|0)+160>>2]|0;f=c[l>>2]|0;f=RR(c[f>>2]|0,c[f+4>>2]|0,4,0)|0;c[A>>2]=es(k,h,g,f,C)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}g=(c[(c[q>>2]|0)+160>>2]|0)+4+(c[r>>2]<<2)|0;f=c[l>>2]|0;h=f;g=RR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[f>>2]=g;c[f+4>>2]=C;if((c[v>>2]|0)!=0?(c[v>>2]|0)!=(((c[384]|0)/(c[(c[q>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[v>>2]|0)>>>0<=(c[(c[q>>2]|0)+28>>2]|0)>>>0?(nj(c[m>>2]|0,c[v>>2]|0)|0)==0:0){if(c[r>>2]|0){f=c[p>>2]|0;p=c[l>>2]|0;p=QR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0;c[A>>2]=fs(f,p,C,o)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[n>>2]|0)==0?(p=gs(c[q>>2]|0,c[s>>2]|0)|0,(p|0)!=(c[o>>2]|0)):0){c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}}if((c[m>>2]|0)!=0?(p=lj(c[m>>2]|0,c[v>>2]|0)|0,c[A>>2]=p,(p|0)!=0):0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[v>>2]|0)==1?(b[(c[q>>2]|0)+150>>1]|0)!=(d[(c[s>>2]|0)+20>>0]|0):0)b[(c[q>>2]|0)+150>>1]=d[(c[s>>2]|0)+20>>0]|0;if(Br(c[q>>2]|0)|0)c[z>>2]=0;else c[z>>2]=hs(c[q>>2]|0,c[v>>2]|0)|0;if(c[r>>2]|0){if(d[(c[q>>2]|0)+7>>0]|0)j=1;else{p=c[l>>2]|0;n=c[p+4>>2]|0;j=(c[q>>2]|0)+88|0;o=c[j+4>>2]|0;j=(n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0)}c[t>>2]=j&1}else{if(!(c[z>>2]|0))j=1;else j=0==(e[(c[z>>2]|0)+24>>1]&8|0);c[t>>2]=j&1}do if(c[c[(c[q>>2]|0)+64>>2]>>2]|0){if((d[(c[q>>2]|0)+17>>0]|0)>=4){if(!(c[t>>2]|0)){w=44;break}}else if(!((c[t>>2]|0)!=0?(d[(c[q>>2]|0)+17>>0]|0)==0:0)){w=44;break}p=c[(c[q>>2]|0)+160>>2]|0;p=aS((c[v>>2]|0)-1|0,0,p|0,((p|0)<0)<<31>>31|0)|0;t=u;c[t>>2]=p;c[t+4>>2]=C;c[A>>2]=Ig(c[(c[q>>2]|0)+64>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+160>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;if((c[v>>2]|0)>>>0>(c[(c[q>>2]|0)+36>>2]|0)>>>0)c[(c[q>>2]|0)+36>>2]=c[v>>2];if(c[(c[q>>2]|0)+96>>2]|0){is(c[(c[q>>2]|0)+96>>2]|0,c[v>>2]|0,c[s>>2]|0);c[s>>2]=c[s>>2]}}else w=44;while(0);do if((w|0)==44?(c[r>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[q>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[A>>2]=vg(c[q>>2]|0,c[v>>2]|0,z,1)|0;w=(c[q>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[A>>2]|0)){js(c[z>>2]|0);break}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];TR(c[x>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+160>>2]|0)|0;Qb[c[(c[q>>2]|0)+204>>2]&255](c[z>>2]|0);if((c[v>>2]|0)==1){h=(c[q>>2]|0)+112|0;j=(c[x>>2]|0)+24|0;k=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0))}ks(c[z>>2]|0)}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}c[y>>2]=0;A=c[y>>2]|0;i=B;return A|0}c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}function $r(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;t=s+60|0;e=s+56|0;n=s+52|0;o=s+48|0;m=s+44|0;l=s+40|0;q=s+36|0;j=s;p=s+32|0;r=s+28|0;k=s+24|0;g=s+16|0;f=s+12|0;h=s+8|0;c[t>>2]=b;c[e>>2]=d;c[n>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[n>>2]|0)+4>>2]<<1;c[m>>2]=kg(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[m>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+20>>2]=16385;c[o>>2]=Ur(c[n>>2]|0,c[e>>2]|0,c[m>>2]|0,16385,0)|0}else c[o>>2]=7;a:do if((c[o>>2]|0)==0?(c[o>>2]=Xi(c[m>>2]|0,j)|0,(c[o>>2]|0)==0):0){c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+1;d=j;t=c[k>>2]|0;t=RR(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=RR(t|0,C|0,1,0)|0;c[q>>2]=$f(t,C)|0;if(!(c[q>>2]|0)){c[o>>2]=7;break}t=j;t=RR(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[r>>2]=(c[q>>2]|0)+t;c[o>>2]=es(c[m>>2]|0,c[q>>2]|0,c[j>>2]|0,0,0)|0;if(!(c[o>>2]|0)){a[(c[q>>2]|0)+(c[j>>2]|0)>>0]=0;c[p>>2]=c[q>>2];while(1){d=(c[p>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[o>>2]=Yr(c[n>>2]|0,c[p>>2]|0,0,g)|0;if(c[o>>2]|0)break a;if(c[g>>2]|0){c[h>>2]=2049;c[o>>2]=Ur(c[n>>2]|0,c[p>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0)break a;c[o>>2]=Xr(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;or(c[l>>2]|0);if(c[o>>2]|0)break a;if(a[c[r>>2]>>0]|0)b=(hR(c[r>>2]|0,c[e>>2]|0)|0)==0;else b=0;c[f>>2]=b&1;if(c[f>>2]|0)break a}u=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}or(c[m>>2]|0);c[o>>2]=xr(c[n>>2]|0,c[e>>2]|0,0)|0}}while(0);Kd(c[q>>2]|0);if(!(c[m>>2]|0)){u=c[o>>2]|0;i=s;return u|0}or(c[m>>2]|0);Kd(c[m>>2]|0);u=c[o>>2]|0;i=s;return u|0}function as(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?((bs(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=cs(c[(c[b>>2]|0)+64>>2]|0)|0;c[(c[b>>2]|0)+156>>2]=a;i=e;return}c[(c[b>>2]|0)+156>>2]=512;i=e;return}function bs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function cs(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=ds(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;i=d;return c[b>>2]|0}function ds(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function es(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+8>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function fs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+16|0;l=j;f=j+12|0;g=j+20|0;h=j+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=l;c[h>>2]=es(c[k>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}l=gr(g)|0;c[c[f>>2]>>2]=l;l=c[h>>2]|0;i=j;return l|0}function gs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[j>>2]|0)+52>>2];c[g>>2]=(c[(c[j>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=h;return c[f>>2]|0}function hs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=ms(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=ns(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}ls(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function js(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&17)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-17;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;hj(c[d>>2]|0,2);i=f;return}function ks(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16){i=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1){ij(a);i=f;return}if(!(c[a+36>>2]|0)){i=f;return}hj(c[d>>2]|0,3);i=f;return}function ls(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((ng(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=xg(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,(c[h>>2]|0)!=0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];a=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=a}while((a|0)!=0);i=j;return}function ms(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;l=g+8|0;h=g+4|0;f=g;c[k>>2]=a;c[j>>2]=b;c[l>>2]=e;c[h>>2]=c[l>>2]&(d[(c[k>>2]|0)+33>>0]|0);c[f>>2]=Ob[c[144>>2]&255](c[(c[k>>2]|0)+44>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return c[f>>2]|0}function ns(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[l>>2]|0;if(c[c[j>>2]>>2]|0){l=a+12|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[j>>2]|0)+26|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;c[f>>2]=c[j>>2];l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=os(a,c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function os(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;k=f;c[j>>2]=a;c[h>>2]=d;c[g>>2]=e;c[k>>2]=c[(c[g>>2]|0)+4>>2];d=(c[k>>2]|0)+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[c[k>>2]>>2]=c[g>>2];c[(c[k>>2]|0)+4>>2]=c[c[g>>2]>>2];c[(c[k>>2]|0)+8>>2]=(c[k>>2]|0)+40;VR(c[(c[k>>2]|0)+8>>2]|0,0,c[(c[j>>2]|0)+28>>2]|0)|0;c[(c[k>>2]|0)+28>>2]=c[j>>2];c[(c[k>>2]|0)+20>>2]=c[h>>2];b[(c[k>>2]|0)+24>>1]=1;d=ns(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return d|0}function ps(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;b=f+16|0;e=f+8|0;d=f;c[b>>2]=a;h=e;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=d;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}h=d;h=QR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=_R(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=RR(h|0,C|0,1,0)|0;h=aS(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}function qs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;e=s+56|0;f=s+52|0;g=s+48|0;q=s+16|0;j=s+8|0;p=s+44|0;o=s+40|0;k=s+36|0;m=s+32|0;h=s+28|0;l=s+24|0;n=s;c[f>>2]=b;c[g>>2]=d;c[p>>2]=0;c[o>>2]=0;if((c[g>>2]|0)!=0?(c[o>>2]=kj(c[(c[g>>2]|0)+20>>2]|0)|0,(c[o>>2]|0)==0):0){c[e>>2]=7;r=c[e>>2]|0;i=s;return r|0}if(c[g>>2]|0)b=c[(c[g>>2]|0)+20>>2]|0;else b=c[(c[f>>2]|0)+32>>2]|0;c[(c[f>>2]|0)+28>>2]=b;a[(c[f>>2]|0)+19>>0]=a[(c[f>>2]|0)+13>>0]|0;if((c[g>>2]|0)==0?(Br(c[f>>2]|0)|0)!=0:0){c[e>>2]=rs(c[f>>2]|0)|0;r=c[e>>2]|0;i=s;return r|0}t=(c[f>>2]|0)+80|0;b=c[t+4>>2]|0;d=q;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if((c[g>>2]|0)!=0?(Br(c[f>>2]|0)|0)==0:0){t=(c[g>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[g>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=q;b=c[d>>2]|0;d=c[d+4>>2]|0}t=j;c[t>>2]=b;c[t+4>>2]=d;b=c[g>>2]|0;d=c[b+4>>2]|0;t=(c[f>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[p>>2]|0)break a;d=(c[f>>2]|0)+80|0;u=c[d+4>>2]|0;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[p>>2]=_r(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[f>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[p>>2]|0)break;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[m>>2]=0;u=q;c[p>>2]=Zr(c[f>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,m,h)|0;if((c[m>>2]|0)==0?(t=(c[f>>2]|0)+88|0,t=RR(c[t>>2]|0,c[t+4>>2]|0,c[(c[f>>2]|0)+156>>2]|0,0)|0,u=(c[f>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(C|0)==(c[u+4>>2]|0):0):0){u=q;t=(c[f>>2]|0)+80|0;t=QR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[f>>2]|0)+160>>2]|0)+8|0;u=_R(t|0,C|0,u|0,((u|0)<0)<<31>>31|0)|0;c[m>>2]=u}c[k>>2]=0;while(1){if(c[p>>2]|0)continue b;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)continue b;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[p>>2]=_r(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0;c[k>>2]=(c[k>>2]|0)+1}}c:do if(c[g>>2]|0){t=4+(c[(c[f>>2]|0)+160>>2]|0)|0;t=aS(c[(c[g>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;c[u>>2]=t;c[u+4>>2]=C;if(Br(c[f>>2]|0)|0)c[p>>2]=ss(c[(c[f>>2]|0)+216>>2]|0,(c[g>>2]|0)+28|0)|0;c[l>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(c[p>>2]|0)break c;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+56>>2]|0)>>>0)break c;c[p>>2]=_r(c[f>>2]|0,n,c[o>>2]|0,0,1)|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);pj(c[o>>2]|0);if(!(c[p>>2]|0)){r=q;t=c[r+4>>2]|0;u=(c[f>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[e>>2]=c[p>>2];u=c[e>>2]|0;i=s;return u|0}function rs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[f>>2]=zs(c[(c[b>>2]|0)+216>>2]|0,187,c[b>>2]|0)|0;c[d>>2]=As(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!((c[d>>2]|0)!=0?(c[f>>2]|0)==0:0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=ys(c[b>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[d>>2]=c[e>>2]}i=g;return c[f>>2]|0}function ss(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];ts(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function ts(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;j=m+8|0;l=m+4|0;h=m;c[d>>2]=a;c[f>>2]=0;c[g>>2]=0;c[k>>2]=0;c[j>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){i=m;return}a=c[d>>2]|0;vs(a,us(c[(c[d>>2]|0)+52+16>>2]|0)|0,f,g,k)|0;c[j>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[k>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0|0)>(c[j>>2]|0))b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[j>>2]|0)+1<<2));VR((c[g>>2]|0)+((c[j>>2]|0)+1<<2)|0,0,c[l>>2]|0)|0;i=m;return}function us(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function vs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;q=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[q>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=ws(c[q>>2]|0,c[g>>2]|0,m)|0;if(c[o>>2]|0){q=c[o>>2]|0;i=p;return q|0}c[l>>2]=(c[m>>2]|0)+16384;if(!(c[g>>2]|0)){c[m>>2]=(c[m>>2]|0)+136;c[n>>2]=0}else c[n>>2]=4062+((c[g>>2]|0)-1<<12);c[c[j>>2]>>2]=(c[m>>2]|0)+-4;c[c[h>>2]>>2]=c[l>>2];c[c[k>>2]>>2]=c[n>>2];q=c[o>>2]|0;i=p;return q|0}function ws(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;m=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[j>>2]|0)){c[m>>2]=(c[j>>2]|0)+1<<2;f=c[m>>2]|0;c[l>>2]=Md(c[(c[h>>2]|0)+32>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[l>>2]|0){VR((c[l>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[j>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[l>>2];c[(c[h>>2]|0)+24>>2]=(c[j>>2]|0)+1;break}c[c[k>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;i=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){f=kg(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]=f;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0)break;c[n>>2]=7;break}else{c[n>>2]=xs(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)|0)|0;if((c[n>>2]|0)!=8)break;f=(c[h>>2]|0)+46|0;a[f>>0]=d[f>>0]|0|2;c[n>>2]=0;break}while(0);c[c[k>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2];c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function xs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;f=Zb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function ys(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+20|0;j=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[k>>2]=a;c[j>>2]=b;c[g>>2]=0;c[e>>2]=c[k>>2];c[f>>2]=hs(c[e>>2]|0,c[j>>2]|0)|0;do if(c[f>>2]|0){if((Fs(c[f>>2]|0)|0)==1){Gs(c[f>>2]|0);break}c[d>>2]=0;c[g>>2]=Hs(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,d)|0;if(!(c[g>>2]|0))c[g>>2]=Is(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[g>>2]|0))Qb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);Js(c[f>>2]|0)}while(0);dj(c[(c[e>>2]|0)+96>>2]|0);i=h;return c[g>>2]|0}function zs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[f>>2]|0)+52+16>>2];e=(c[f>>2]|0)+52|0;b=Ds(c[f>>2]|0)|0;d=e+48|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));c[j>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[l>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[g>>2]|0;b=c[h>>2]|0;d=Es(c[f>>2]|0,c[j>>2]|0)|0;c[l>>2]=Yb[e&255](b,d)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){l=c[l>>2]|0;i=m;return l|0}ts(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}function As(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}a=Bs(c[c[b>>2]>>2]|0)|0;i=e;return a|0}function Bs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;d=j+136|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[h>>2]=c[d>>2];c[d>>2]=c[(c[h>>2]|0)+12>>2];c[(c[h>>2]|0)+12>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=31)break;if(!(c[f+(c[g>>2]<<2)>>2]|0)){e=6;break}c[h>>2]=Cs(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[g>>2]<<2)>>2]=c[h>>2]}if((c[g>>2]|0)!=31)continue;b=Cs(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=b}c[h>>2]=c[f>>2];c[g>>2]=1;while(1){if((c[g>>2]|0)>=32)break;if(c[f+(c[g>>2]<<2)>>2]|0){if(c[h>>2]|0)a=Cs(c[h>>2]|0,c[f+(c[g>>2]<<2)>>2]|0)|0;else a=c[f+(c[g>>2]<<2)>>2]|0;c[h>>2]=a}c[g>>2]=(c[g>>2]|0)+1}i=j;return c[h>>2]|0}function Cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;d=h+52|0;e=h+48|0;g=h+8|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=g;while(1)if((c[(c[d>>2]|0)+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[f>>2]|0)+12>>2]=c[d>>2];c[f>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[d>>2]|0)){a=4;break}else continue}else{c[(c[f>>2]|0)+12>>2]=c[e>>2];c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[e>>2]|0)){a=6;break}else continue}if((a|0)==4){c[(c[f>>2]|0)+12>>2]=c[e>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==6){c[(c[f>>2]|0)+12>>2]=c[d>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}return 0}function Ds(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function Es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=us(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[c[(c[e>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[f>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function Fs(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function Gs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)hj(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;Ub[c[148>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function Hs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;s=w+56|0;g=w+52|0;h=w+48|0;t=w+44|0;u=w+40|0;o=w+36|0;m=w+32|0;p=w+28|0;j=w+24|0;k=w+20|0;q=w+16|0;n=w+12|0;r=w+8|0;v=w+4|0;l=w;c[g>>2]=a;c[h>>2]=d;c[t>>2]=f;c[u>>2]=0;c[o>>2]=c[(c[g>>2]|0)+52+16>>2];if((c[o>>2]|0)!=0?(b[(c[g>>2]|0)+40>>1]|0)!=0:0){c[p>>2]=us(c[(c[g>>2]|0)+100>>2]|0)|0;c[m>>2]=us(c[o>>2]|0)|0;a:while(1){if(!((c[m>>2]|0)>=(c[p>>2]|0)?(c[u>>2]|0)==0:0)){g=18;break}c[v>>2]=vs(c[g>>2]|0,c[m>>2]|0,j,k,q)|0;if(c[v>>2]|0){g=7;break}c[r>>2]=8192;c[n>>2]=Os(c[h>>2]|0)|0;while(1){if(!(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0))break;c[l>>2]=(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+(c[q>>2]|0);if(((c[l>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[l>>2]|0)>>>0>=(c[(c[g>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[k>>2]|0)+(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]<<2)>>2]|0)==(c[h>>2]|0):0)c[u>>2]=c[l>>2];f=c[r>>2]|0;c[r>>2]=f+-1;if(!f){g=15;break a}c[n>>2]=Ps(c[n>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+-1}if((g|0)==7){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}else if((g|0)==15){c[s>>2]=Qj(56344)|0;v=c[s>>2]|0;i=w;return v|0}else if((g|0)==18){c[c[t>>2]>>2]=c[u>>2];c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}}c[c[t>>2]>>2]=0;c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}function Is(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+32|0;f=n+28|0;h=n+24|0;j=n+20|0;m=n+16|0;k=n+12|0;g=n;l=n+8|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[k>>2]=c[(c[h>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=Ns(c[(c[h>>2]|0)+216>>2]|0,c[f>>2]|0,c[k>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[h>>2]|0)+160>>2]|0;d=aS((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=d;c[b+4>>2]=C;b=g;k=es(c[(c[h>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==522?0:k}if((c[j>>2]|0)!=1){m=c[m>>2]|0;i=n;return m|0}if(c[m>>2]|0){d=(c[h>>2]|0)+112|0;f=d+16|0;do{a[d>>0]=255;d=d+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}else{c[l>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;d=(c[h>>2]|0)+112|0;e=c[l>>2]|0;f=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}return 0}function Js(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&32){Ks(a);f=c[b>>2]|0;Ls(f);i=d;return}else{ks(a);f=c[b>>2]|0;Ls(f);i=d;return}}function Ks(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=aS((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Ms(e,a,C,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function Ls(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){i=d;return}if(Wi(c[(c[b>>2]|0)+212>>2]|0)|0){i=d;return}nr(c[b>>2]|0);i=d;return}function Ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function Ns(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+52+14>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);f=(c[j>>2]|0)+24|0;f=aS((c[n>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=RR(32,0,f|0,C|0)|0;f=RR(f|0,C|0,24,0)|0;a=m;c[a>>2]=f;c[a+4>>2]=C;a=m;a=es(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Os(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)*383&8191|0}function Ps(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+1&8191|0}function Qs(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;Cr(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){i=e;return}Ir(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;i=e;return}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Ss(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=0;c[x>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;i=A;return z|0}c[y>>2]=Xs(c[v>>2]|0,1,1)|0;if(c[y>>2]|0){c[z>>2]=c[y>>2];z=c[z>>2]|0;i=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[y>>2]=Ys(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[y>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[y>>2]|0)==5){c[x>>2]=0;c[u>>2]=0;c[y>>2]=0}}while(0);if(((c[y>>2]|0)==0?(c[y>>2]=Zs(c[v>>2]|0,t)|0,(c[t>>2]|0)!=0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Ms(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[y>>2]|0)){if((c[(c[v>>2]|0)+52+16>>2]|0)!=0?(j=_s(c[v>>2]|0)|0,(j|0)!=(c[p>>2]|0)):0)c[y>>2]=Qj(57049)|0;else c[y>>2]=$s(c[v>>2]|0,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[y>>2]|0)==0|(c[y>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){j=c[(at(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=j}}}if(c[t>>2]|0){m=(c[v>>2]|0)+52|0;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}Cr(c[v>>2]|0)|0;Kr(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[y>>2]|0)==0?(c[w>>2]|0)!=(c[x>>2]|0):0)m=5;else m=c[y>>2]|0;c[z>>2]=m;z=c[z>>2]|0;i=A;return z|0}function Ts(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;e=k+24|0;f=k+8|0;h=k;g=k+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;Yj();c[g>>2]=Xi(c[(c[e>>2]|0)+8>>2]|0,h)|0;if((c[g>>2]|0)==0?(a=h,b=c[a+4>>2]|0,h=f,d=c[h+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?(c[a>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)):0){h=f;c[g>>2]=ur(c[(c[e>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0}Zj();if(!(c[g>>2]|0)){i=k;return}h=c[g>>2]|0;c[j>>2]=c[(c[e>>2]|0)+108>>2];Rd(h,25909,j);i=k;return}function Vs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Ws(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Kd(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Xs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[k>>2]=Jr(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,10)|0;c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}return 0}function Ys(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;while(1){c[m>>2]=Xs(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){g=4;break}if(!(Tb[c[h>>2]&255](c[j>>2]|0)|0)){g=4;break}}if((g|0)==4){i=n;return c[m>>2]|0}return 0}function Zs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[l>>2]=ws(c[g>>2]|0,0,k)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}if(c[k>>2]|0)e=mt(c[g>>2]|0,c[h>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2){k=Hr(e,0)|0;c[l>>2]=k;if(k)break;Ir(c[g>>2]|0,0);c[l>>2]=264;break}b=Xs(e,0,1)|0;c[l>>2]=b;if(!b){a[(c[g>>2]|0)+44>>0]=1;k=ws(c[g>>2]|0,0,k)|0;c[l>>2]=k;if(0==(k|0)?(c[j>>2]=mt(c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[l>>2]=nt(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Kr(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[l>>2]=ot(55897)|0;c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}function _s(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function $s(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;h=H+104|0;j=H+100|0;k=H+96|0;l=H+92|0;m=H+88|0;n=H+84|0;o=H+80|0;A=H+76|0;E=H+72|0;z=H+68|0;q=H+64|0;r=H+60|0;u=H+56|0;t=H+52|0;p=H+48|0;y=H+44|0;F=H+40|0;x=H+24|0;v=H+36|0;w=H+16|0;s=H+8|0;D=H;B=H+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[A>>2]=0;c[z>>2]=0;c[q>>2]=0;c[r>>2]=0;c[E>>2]=_s(c[j>>2]|0)|0;c[y>>2]=at(c[j>>2]|0)|0;a:do if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=bt(c[j>>2]|0,z)|0;if(c[A>>2]|0){c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}c[u>>2]=c[(c[j>>2]|0)+52+16>>2];c[t>>2]=c[(c[j>>2]|0)+52+20>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break;c[F>>2]=c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2];do if((c[u>>2]|0)>>>0>(c[F>>2]|0)>>>0){c[A>>2]=Ys(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[A>>2]|0)){c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2]=(c[p>>2]|0)==1?c[u>>2]|0:-1;Kr(c[j>>2]|0,3+(c[p>>2]|0)|0,1);break}if((c[A>>2]|0)!=5)break a;c[u>>2]=c[F>>2];c[l>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+1}if((c[c[y>>2]>>2]|0)>>>0<(c[u>>2]|0)>>>0?(G=Ys(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3,1)|0,c[A>>2]=G,(G|0)==0):0){c[v>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+32>>2]=c[u>>2];if(c[n>>2]|0)c[A>>2]=vr(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0)|0;if(((c[A>>2]|0)==0?(g=c[E>>2]|0,g=aS(c[t>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=w,c[G>>2]=g,c[G+4>>2]=C,c[A>>2]=Xi(c[(c[j>>2]|0)+4>>2]|0,x)|0,(c[A>>2]|0)==0):0)?(g=x,d=c[g+4>>2]|0,G=w,F=c[G+4>>2]|0,(d|0)<(F|0)|((d|0)==(F|0)?(c[g>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Ts(c[(c[j>>2]|0)+4>>2]|0,5,w);b:while(1){if(c[A>>2]|0)break;while(1){if(ct(c[z>>2]|0,q,r)|0)break b;if((c[r>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0)continue b;if((c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue b;g=(c[E>>2]|0)+24|0;g=aS((c[r>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;g=RR(32,0,g|0,C|0)|0;g=RR(g|0,C|0,24,0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=es(c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break b;g=c[E>>2]|0;g=aS((c[q>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Ig(c[(c[j>>2]|0)+4>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[A>>2]|0)==0&(c[A>>2]|0)==0))break b}}if(!(c[A>>2]|0)){G=c[u>>2]|0;if((G|0)==(c[(Ds(c[j>>2]|0)|0)+16>>2]|0)?(g=c[E>>2]|0,g=aS(c[(c[j>>2]|0)+52+20>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=D,c[G>>2]=g,c[G+4>>2]=C,G=D,c[A>>2]=ur(c[(c[j>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[A>>2]|0)==0&(c[n>>2]|0)!=0):0)c[A>>2]=vr(c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0))c[c[y>>2]>>2]=c[u>>2]}Kr(c[j>>2]|0,3,1)}if((c[A>>2]|0)==5){c[A>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[A>>2]|0)==0&(c[k>>2]|0)!=0:0){if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=5;break}if((c[k>>2]|0)>=2?(Sd(4,B),c[A>>2]=Ys(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,4,4)|0,(c[A>>2]|0)==0):0){if((c[k>>2]|0)==3){dt(c[j>>2]|0,c[B>>2]|0);c[A>>2]=ur(c[(c[j>>2]|0)+8>>2]|0,0,0)|0}Kr(c[j>>2]|0,4,4)}}while(0);et(c[z>>2]|0);c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}function at(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function bt(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;e=v+60|0;f=v+56|0;g=v+52|0;t=v+48|0;s=v+44|0;n=v+40|0;q=v+36|0;m=v+32|0;l=v+28|0;u=v+24|0;h=v+20|0;o=v+16|0;k=v+12|0;p=v+8|0;r=v+4|0;j=v;c[f>>2]=a;c[g>>2]=d;c[u>>2]=0;c[n>>2]=c[(c[f>>2]|0)+52+16>>2];c[s>>2]=(us(c[n>>2]|0)|0)+1;c[q>>2]=28+(((c[s>>2]|0)-1|0)*20|0)+(c[n>>2]<<1);d=c[q>>2]|0;c[t>>2]=Jd(d,((d|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[e>>2]=7;u=c[e>>2]|0;i=v;return u|0}VR(c[t>>2]|0,0,c[q>>2]|0)|0;c[(c[t>>2]|0)+4>>2]=c[s>>2];c[l>>2]=Jd(((c[n>>2]|0)>>>0>4096?4096:c[n>>2]|0)<<1,0)|0;if(!(c[l>>2]|0))c[u>>2]=7;c[m>>2]=0;while(1){if(c[u>>2]|0)break;if((c[m>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=vs(c[f>>2]|0,c[m>>2]|0,h,k,o)|0;if(!(c[u>>2]|0)){c[k>>2]=(c[k>>2]|0)+4;if(((c[m>>2]|0)+1|0)==(c[s>>2]|0))c[r>>2]=(c[n>>2]|0)-(c[o>>2]|0);else c[r>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)/4|0;c[j>>2]=(c[t>>2]|0)+8+((c[(c[t>>2]|0)+4>>2]|0)*20|0)+(c[o>>2]<<1);c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}kt(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,r);c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+16>>2]=c[o>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+12>>2]=c[r>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+4>>2]=c[j>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+8>>2]=c[k>>2]}c[m>>2]=(c[m>>2]|0)+1}Kd(c[l>>2]|0);if(c[u>>2]|0)et(c[t>>2]|0);c[c[g>>2]>>2]=c[t>>2];c[e>>2]=c[u>>2];u=c[e>>2]|0;i=v;return u|0}function ct(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;m=p+12|0;j=p+8|0;n=p+4|0;l=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=-1;c[k>>2]=c[c[f>>2]>>2];c[j>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+8+((c[j>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){o=6;break}b=c[n>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((o|0)==6?(o=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[h>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[j>>2]=(c[j>>2]|0)+-1}o=c[m>>2]|0;c[c[f>>2]>>2]=o;c[c[g>>2]>>2]=o;i=p;return (c[m>>2]|0)==-1|0}function dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;j=f;c[g>>2]=a;c[h>>2]=b;c[e>>2]=at(c[g>>2]|0)|0;c[j>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[j>>2]|0;ft(b,1+(gr(c[j>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];gt(c[g>>2]|0);c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+32>>2]=0;c[(c[e>>2]|0)+4+4>>2]=0;c[d>>2]=2;while(1){if((c[d>>2]|0)>=5)break;c[(c[e>>2]|0)+4+(c[d>>2]<<2)>>2]=-1;c[d>>2]=(c[d>>2]|0)+1}i=f;return}function et(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function ft(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function gt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=Ds(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;ht(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));it(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=h;return}function ht(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;g=o+32|0;q=o+28|0;p=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;k=o+4|0;l=o;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[q>>2];c[l>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[h>>2]|0){c[m>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2]}else{c[n>>2]=0;c[m>>2]=0}if(c[g>>2]|0){do{q=c[k>>2]|0;c[k>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[n>>2]|0));q=c[k>>2]|0;c[k>>2]=q+4;c[n>>2]=(c[n>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[k>>2]>>2]&255)<<24)+((c[c[k>>2]>>2]&65280)<<8)+((c[c[k>>2]>>2]&16711680)>>>8)+((c[c[k>>2]>>2]&-16777216)>>>24)+(c[n>>2]|0));c[n>>2]=(c[n>>2]|0)+(((c[(c[k>>2]|0)+4>>2]&255)<<24)+((c[(c[k>>2]|0)+4>>2]&65280)<<8)+((c[(c[k>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[k>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[k>>2]=(c[k>>2]|0)+8}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}}function it(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){i=e;return}jt(c[(c[b>>2]|0)+4>>2]|0);i=e;return}function jt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);i=b;return}function kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+160|0;f=s+144|0;g=s+140|0;h=s+136|0;j=s+132|0;o=s+128|0;p=s+124|0;k=s+120|0;m=s+116|0;n=s+112|0;l=s+8|0;q=s+4|0;r=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[n>>2]=0;b=l;a=b+104|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=1;c[k>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[n>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[q>>2]=l+(c[n>>2]<<3);lt(c[f>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[c[q>>2]>>2]|0,k,p,c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[l+(c[n>>2]<<3)+4>>2]=c[k>>2];c[l+(c[n>>2]<<3)>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;while(1){if((c[n>>2]|0)>>>0>=13)break;if(c[o>>2]&1<>2]){c[r>>2]=l+(c[n>>2]<<3);lt(c[f>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0,k,p,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}c[c[j>>2]>>2]=c[p>>2];i=s;return}function lt(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;q=y+4|0;v=y+48|0;r=y;c[k>>2]=a;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[s>>2]=0;c[u>>2]=0;c[t>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[q>>2]=c[c[n>>2]>>2];while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[s>>2]|0)>=(c[m>>2]|0):0)break;do if((c[s>>2]|0)<(c[m>>2]|0)){if((c[u>>2]|0)<(c[w>>2]|0)?(c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[k>>2]|0)+((e[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[s>>2]|0;c[s>>2]=h+1;b[v>>1]=b[(c[l>>2]|0)+(h<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[u>>2]|0;c[u>>2]=h+1;b[v>>1]=b[(c[q>>2]|0)+(h<<1)>>1]|0}c[r>>2]=c[(c[k>>2]|0)+((e[v>>1]|0)<<2)>>2];g=b[v>>1]|0;h=c[t>>2]|0;c[t>>2]=h+1;b[(c[p>>2]|0)+(h<<1)>>1]=g;if((c[s>>2]|0)>=(c[m>>2]|0))continue;if((c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[r>>2]|0))continue;c[s>>2]=(c[s>>2]|0)+1}c[c[n>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[t>>2];TR(c[l>>2]|0,c[p>>2]|0,c[t>>2]<<1|0)|0;i=y;return}function mt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+128|0;h=p+120|0;j=p+116|0;k=p+112|0;l=p+104|0;n=p+56|0;o=p+8|0;m=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=Ds(c[j>>2]|0)|0;f=n;b=c[m>>2]|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));it(c[j>>2]|0);f=o;b=(c[m>>2]|0)+48|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));if(eR(n,o,48)|0){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}if(!(d[n+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}ht(1,n,40,0,l);if((c[l>>2]|0)==(c[n+40>>2]|0)?(c[l+4>>2]|0)==(c[n+40+4>>2]|0):0){if(eR((c[j>>2]|0)+52|0,n,48)|0){c[c[k>>2]>>2]=1;f=(c[j>>2]|0)+52|0;b=n;g=f+48|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(g|0));c[(c[j>>2]|0)+36>>2]=((e[(c[j>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[j>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}function nt(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+144|0;B=E+16|0;g=E+96|0;h=E+92|0;y=E+88|0;u=E+8|0;m=E+80|0;p=E+76|0;t=E+72|0;j=E+104|0;l=E+68|0;z=E+64|0;k=E+60|0;o=E+56|0;q=E;A=E+52|0;s=E+48|0;D=E+44|0;r=E+40|0;x=E+36|0;v=E+32|0;w=E+28|0;n=E+24|0;c[h>>2]=e;c[m>>2]=0;c[m+4>>2]=0;c[p>>2]=1+(d[(c[h>>2]|0)+45>>0]|0);c[t>>2]=8-(c[p>>2]|0);c[y>>2]=Xs(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;if(c[y>>2]|0){c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}e=(c[h>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[y>>2]=Xi(c[(c[h>>2]|0)+8>>2]|0,u)|0;a:do if(!(c[y>>2]|0)){f=u;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[l>>2]=0;c[y>>2]=es(c[(c[h>>2]|0)+8>>2]|0,j,32,0,0)|0;if(c[y>>2]|0)break a;c[s>>2]=gr(j)|0;c[A>>2]=gr(j+8|0)|0;if((((c[s>>2]&-2|0)==931071618?!(((c[A>>2]|0)>65536?1:(c[A>>2]&(c[A>>2]|0)-1|0)!=0)|(c[A>>2]|0)<512):0)?(a[(c[h>>2]|0)+52+13>>0]=c[s>>2]&1,c[(c[h>>2]|0)+36>>2]=c[A>>2],s=gr(j+12|0)|0,c[(c[h>>2]|0)+112>>2]=s,s=(c[h>>2]|0)+52+32|0,f=j+16|0,a[s>>0]=a[f>>0]|0,a[s+1>>0]=a[f+1>>0]|0,a[s+2>>0]=a[f+2>>0]|0,a[s+3>>0]=a[f+3>>0]|0,a[s+4>>0]=a[f+4>>0]|0,a[s+5>>0]=a[f+5>>0]|0,a[s+6>>0]=a[f+6>>0]|0,a[s+7>>0]=a[f+7>>0]|0,ht((d[(c[h>>2]|0)+52+13>>0]|0)==((a[968]|0)==0|0)&1,j,24,0,(c[h>>2]|0)+52+24|0),s=c[(c[h>>2]|0)+52+24>>2]|0,(s|0)==(gr(j+24|0)|0)):0)?(s=c[(c[h>>2]|0)+52+24+4>>2]|0,(s|0)==(gr(j+28|0)|0)):0){c[D>>2]=gr(j+4|0)|0;if((c[D>>2]|0)!=3007e3){c[y>>2]=ot(54951)|0;break}c[z>>2]=(c[A>>2]|0)+24;D=c[z>>2]|0;c[l>>2]=Jd(D,((D|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[y>>2]=7;break a}c[k>>2]=(c[l>>2]|0)+24;c[o>>2]=0;D=q;c[D>>2]=32;c[D+4>>2]=0;while(1){f=q;s=c[z>>2]|0;s=RR(c[f>>2]|0,c[f+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;f=C;D=u;j=c[D+4>>2]|0;if(!((f|0)<(j|0)|((f|0)==(j|0)?s>>>0<=(c[D>>2]|0)>>>0:0)))break;c[o>>2]=(c[o>>2]|0)+1;D=q;c[y>>2]=es(c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0,c[z>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0;if(c[y>>2]|0)break;c[r>>2]=pt(c[h>>2]|0,x,v,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[r>>2]|0))break;c[y>>2]=qt(c[h>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[y>>2]|0)break;if(c[v>>2]|0){c[(c[h>>2]|0)+52+16>>2]=c[o>>2];c[(c[h>>2]|0)+52+20>>2]=c[v>>2];b[(c[h>>2]|0)+52+14>>1]=c[A>>2]&65280|c[A>>2]>>16;c[m>>2]=c[(c[h>>2]|0)+52+24>>2];c[m+4>>2]=c[(c[h>>2]|0)+52+24+4>>2]}s=c[z>>2]|0;D=q;s=RR(c[D>>2]|0,c[D+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;D=q;c[D>>2]=s;c[D+4>>2]=C}Kd(c[l>>2]|0)}}while(0);if(!(c[y>>2]|0)){c[(c[h>>2]|0)+52+24>>2]=c[m>>2];c[(c[h>>2]|0)+52+24+4>>2]=c[m+4>>2];gt(c[h>>2]|0);c[w>>2]=at(c[h>>2]|0)|0;c[c[w>>2]>>2]=0;c[(c[w>>2]|0)+32>>2]=c[(c[h>>2]|0)+52+16>>2];c[(c[w>>2]|0)+4>>2]=0;c[n>>2]=1;while(1){if((c[n>>2]|0)>=5)break;c[(c[w>>2]|0)+4+(c[n>>2]<<2)>>2]=-1;c[n>>2]=(c[n>>2]|0)+1}if(c[(c[h>>2]|0)+52+16>>2]|0)c[(c[w>>2]|0)+4+4>>2]=c[(c[h>>2]|0)+52+16>>2];if(c[(c[h>>2]|0)+52+20>>2]|0){D=c[(c[h>>2]|0)+108>>2]|0;c[B>>2]=c[(c[h>>2]|0)+52+16>>2];c[B+4>>2]=D;Rd(283,25952,B)}}}while(0);Kr(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0);c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}function ot(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rj(14,c[d>>2]|0,25935)|0;i=b;return a|0}function pt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=(c[k>>2]|0)+52+24;if(eR((c[k>>2]|0)+52+32|0,(c[o>>2]|0)+8|0,8)|0){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[r>>2]=gr(c[o>>2]|0)|0;if(!(c[r>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[q>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[968]|0)==0|0)&1;ht(c[q>>2]|0,c[o>>2]|0,8,c[p>>2]|0,c[p>>2]|0);ht(c[q>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[p>>2]|0,c[p>>2]|0);f=c[c[p>>2]>>2]|0;if((f|0)==(gr((c[o>>2]|0)+16|0)|0)?(f=c[(c[p>>2]|0)+4>>2]|0,(f|0)==(gr((c[o>>2]|0)+20|0)|0)):0){c[c[l>>2]>>2]=c[r>>2];f=gr((c[o>>2]|0)+4|0)|0;c[c[m>>2]>>2]=f;c[j>>2]=1;f=c[j>>2]|0;i=s;return f|0}c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}function qt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;f=t+44|0;g=t+40|0;h=t+36|0;j=t+32|0;r=t+28|0;n=t+24|0;l=t+20|0;k=t+16|0;m=t+12|0;o=t+8|0;q=t+4|0;p=t;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=0;c[k>>2]=0;a=c[g>>2]|0;c[r>>2]=vs(a,us(c[h>>2]|0)|0,k,l,n)|0;do if(!(c[r>>2]|0)){c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);if((c[o>>2]|0)==1){c[p>>2]=(c[k>>2]|0)+16384-((c[l>>2]|0)+4);VR((c[l>>2]|0)+4|0,0,c[p>>2]|0)|0}if(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)ts(c[g>>2]|0);c[q>>2]=c[o>>2];c[m>>2]=Os(c[j>>2]|0)|0;while(1){if(!(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)){s=11;break}a=c[q>>2]|0;c[q>>2]=a+-1;if(!a)break;c[m>>2]=Ps(c[m>>2]|0)|0}if((s|0)==11){c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[j>>2];b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=c[o>>2];break}c[f>>2]=Qj(54820)|0;s=c[f>>2]|0;i=t;return s|0}while(0);c[f>>2]=c[r>>2];s=c[f>>2]|0;i=t;return s|0}function rt(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if(((c[b>>2]|0)!=0?(c[c[b>>2]>>2]|0)!=0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=Yb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))c[b>>2]=-1;else c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}function st(){return 48}function tt(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+4>>2]|0)<=72){a=72;i=d;return a|0}a=c[(c[b>>2]|0)+4>>2]|0;i=d;return a|0}function ut(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=b;c[h>>2]=c[l>>2];c[j>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}do if(d[(c[h>>2]|0)+21>>0]|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}while(0);c[(c[g>>2]|0)+12>>2]=0;l=(Br(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(l){c[j>>2]=wt(a)|0;if(!(c[j>>2]|0))c[j>>2]=xt(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(((e[a+24>>1]|0)&8|0)==0?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[j>>2]=yt(c[h>>2]|0,1)|0;if(!(c[j>>2]|0))c[j>>2]=zt(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[j>>2]|0))gj(c[g>>2]|0);c[f>>2]=mr(c[h>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}function vt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;e=c[o>>2]|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+32>>0]=c[l>>2];a[(c[o>>2]|0)+33>>0]=2;c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+40>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=100;c[(c[o>>2]|0)+20>>2]=1;o=_i(c[o>>2]|0,c[j>>2]|0)|0;i=p;return o|0}function wt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(Ot(c[d>>2]|0)|0){c[b>>2]=Pt(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function xt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;l=p+8|0;m=p+4|0;n=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a:do if(c[k>>2]|0){c[n>>2]=h;c[l>>2]=0;c[m>>2]=c[h>>2];while(1){a=c[m>>2]|0;c[c[n>>2]>>2]=a;if(!a)break a;if((c[(c[m>>2]|0)+20>>2]|0)>>>0<=(c[j>>2]|0)>>>0){c[n>>2]=(c[m>>2]|0)+12;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+12>>2]}}else c[l>>2]=1;while(0);n=(c[g>>2]|0)+192+8|0;c[n>>2]=(c[n>>2]|0)+(c[l>>2]|0);if((c[(c[h>>2]|0)+20>>2]|0)==1)Bt(c[h>>2]|0);c[o>>2]=Ht(c[(c[g>>2]|0)+216>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,d[(c[g>>2]|0)+11>>0]|0)|0;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if(!(c[(c[g>>2]|0)+96>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[m>>2]=c[h>>2];while(1){if(!(c[m>>2]|0))break;is(c[(c[g>>2]|0)+96>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+4>>2]|0);c[m>>2]=c[(c[m>>2]|0)+12>>2]}o=c[o>>2]|0;i=p;return o|0}function yt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+24|0;g=o+20|0;h=o+16|0;m=o+12|0;k=o+8|0;l=o;j=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=Ct(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if((c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[k>>2]=bs(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[k>>2]&512)){a[n>>0]=a[25901]|0;a[n+1>>0]=a[25902]|0;a[n+2>>0]=a[25903]|0;a[n+3>>0]=a[25904]|0;a[n+4>>0]=a[25905]|0;a[n+5>>0]=a[25906]|0;a[n+6>>0]=a[25907]|0;a[n+7>>0]=a[25908]|0;ft(n+8|0,c[(c[g>>2]|0)+48>>2]|0);e=ps(c[g>>2]|0)|0;b=l;c[b>>2]=e;c[b+4>>2]=C;b=l;c[m>>2]=es(c[(c[g>>2]|0)+68>>2]|0,j,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[m>>2]|0)==0?0==(eR(j,25901,8)|0):0){b=l;c[m>>2]=Ig(c[(c[g>>2]|0)+68>>2]|0,26022,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[m>>2]|0)!=0&(c[m>>2]|0)!=522){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}if(((d[(c[g>>2]|0)+8>>0]|0)!=0?0==(c[k>>2]&1024|0):0)?(c[m>>2]=vr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+88|0;c[m>>2]=Ig(c[(c[g>>2]|0)+68>>2]|0,n,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}}if(0==(c[k>>2]&1024|0)?(c[m>>2]=vr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}e=(c[g>>2]|0)+80|0;b=c[e+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[e>>2];c[n+4>>2]=b;if(!(c[h>>2]|0))break;if(c[k>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[m>>2]=Dt(c[g>>2]|0)|0;if(!(c[m>>2]|0))break;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+80|0;m=c[b+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[b>>2];c[n+4>>2]=m}while(0);Et(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}function zt(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+32|0;h=n+28|0;m=n+24|0;f=n+8|0;l=n+20|0;j=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[m>>2]=At(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[m>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;d=c[(c[g>>2]|0)+160>>2]|0;d=aS(d|0,((d|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;b=f;c[b>>2]=d;c[b+4>>2]=C;Ts(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[m>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[l>>2]=c[(c[h>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&16|0):0){b=c[(c[g>>2]|0)+160>>2]|0;b=aS((c[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;if((c[(c[h>>2]|0)+20>>2]|0)==1)Bt(c[h>>2]|0);c[k>>2]=c[(c[h>>2]|0)+4>>2];f=j;c[m>>2]=Ig(c[(c[g>>2]|0)+64>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[l>>2]|0)==1){d=(c[g>>2]|0)+112|0;b=(c[k>>2]|0)+24|0;f=d+16|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(f|0))}if((c[l>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[l>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;is(c[(c[g>>2]|0)+96>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}i=n;return c[m>>2]|0}function At(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Ur(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function Bt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(gr((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;ft((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);ft((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);ft((c[(c[d>>2]|0)+4>>2]|0)+96|0,3015001);i=b;return}function Ct(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(Br(c[b>>2]|0)|0):0)c[d>>2]=Ft(c[b>>2]|0,4)|0;i=e;return c[d>>2]|0}function Dt(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;f=l+20|0;k=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;e=l;c[f>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[f>>2]|0)+208>>2];c[g>>2]=c[(c[f>>2]|0)+160>>2];if((c[g>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[g>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}b=ps(c[f>>2]|0)|0;m=C;n=(c[f>>2]|0)+80|0;c[n>>2]=b;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=b;c[n+4>>2]=m;if(((d[(c[f>>2]|0)+7>>0]|0|0)==0?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?((bs(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0)==0:0){e=c[j>>2]|0;b=e+12|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0))}else{n=c[j>>2]|0;a[n>>0]=a[25901]|0;a[n+1>>0]=a[25902]|0;a[n+2>>0]=a[25903]|0;a[n+3>>0]=a[25904]|0;a[n+4>>0]=a[25905]|0;a[n+5>>0]=a[25906]|0;a[n+6>>0]=a[25907]|0;a[n+7>>0]=a[25908]|0;ft((c[j>>2]|0)+8|0,-1)}Sd(4,(c[f>>2]|0)+52|0);ft((c[j>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);ft((c[j>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);ft((c[j>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);ft((c[j>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);VR((c[j>>2]|0)+28|0,0,(c[g>>2]|0)-28|0)|0;c[h>>2]=0;while(1){if(c[k>>2]|0){e=17;break}if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){e=17;break}n=(c[f>>2]|0)+80|0;c[k>>2]=Ig(c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=RR(c[m>>2]|0,c[m+4>>2]|0,c[g>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0)}if((e|0)==17){i=l;return c[k>>2]|0}return 0}function Et(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function Ft(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=Gt(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){d=4;break}if(!(Tb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){d=4;break}}if((d|0)==4){i=g;return c[f>>2]|0}return 0}function Gt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Rs(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Ht(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+176|0;u=N+136|0;v=N+132|0;w=N+128|0;x=N+124|0;y=N+120|0;z=N+116|0;A=N+112|0;I=N+108|0;D=N+104|0;G=N+100|0;H=N+96|0;F=N+92|0;L=N+88|0;E=N+40|0;M=N+16|0;p=N+84|0;o=N+80|0;n=N+144|0;m=N+72|0;s=N+64|0;r=N+60|0;q=N+8|0;t=N+56|0;B=N+52|0;J=N+48|0;K=N;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=j;c[z>>2]=k;c[A>>2]=l;c[H>>2]=0;c[F>>2]=0;c[p>>2]=0;c[o>>2]=Ds(c[v>>2]|0)|0;if(eR((c[v>>2]|0)+52|0,c[o>>2]|0,48)|0)c[p>>2]=(c[(c[o>>2]|0)+16>>2]|0)+1;g=It(c[v>>2]|0)|0;c[I>>2]=g;if(g){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}c[D>>2]=c[(c[v>>2]|0)+52+16>>2];if(!(c[D>>2]|0)){ft(n,931071618|(a[968]|0)==0);ft(n+4|0,3007e3);ft(n+8|0,c[w>>2]|0);ft(n+12|0,c[(c[v>>2]|0)+112>>2]|0);if(!(c[(c[v>>2]|0)+112>>2]|0))Sd(8,(c[v>>2]|0)+52+32|0);g=n+16|0;l=(c[v>>2]|0)+52+32|0;a[g>>0]=a[l>>0]|0;a[g+1>>0]=a[l+1>>0]|0;a[g+2>>0]=a[l+2>>0]|0;a[g+3>>0]=a[l+3>>0]|0;a[g+4>>0]=a[l+4>>0]|0;a[g+5>>0]=a[l+5>>0]|0;a[g+6>>0]=a[l+6>>0]|0;a[g+7>>0]=a[l+7>>0]|0;ht(1,n,24,0,m);ft(n+24|0,c[m>>2]|0);ft(n+28|0,c[m+4>>2]|0);c[(c[v>>2]|0)+36>>2]=c[w>>2];a[(c[v>>2]|0)+52+13>>0]=(a[968]|0)==0;c[(c[v>>2]|0)+52+24>>2]=c[m>>2];c[(c[v>>2]|0)+52+24+4>>2]=c[m+4>>2];a[(c[v>>2]|0)+47>>0]=1;c[I>>2]=Ig(c[(c[v>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[I>>2]|0){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}if(((c[A>>2]|0)!=0?(d[(c[v>>2]|0)+48>>0]|0)!=0:0)?(c[I>>2]=vr(c[(c[v>>2]|0)+8>>2]|0,c[A>>2]&19)|0,(c[I>>2]|0)!=0):0){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}}c[M>>2]=c[v>>2];c[M+4>>2]=c[(c[v>>2]|0)+8>>2];l=M+8|0;c[l>>2]=0;c[l+4>>2]=0;c[M+16>>2]=c[A>>2];c[M+20>>2]=c[w>>2];l=(c[w>>2]|0)+24|0;l=aS((c[D>>2]|0)+1-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=RR(32,0,l|0,C|0)|0;g=E;c[g>>2]=l;c[g+4>>2]=C;c[L>>2]=(c[w>>2]|0)+24;c[G>>2]=c[x>>2];while(1){if(!(c[G>>2]|0)){m=30;break}if(((c[p>>2]|0)!=0?((c[z>>2]|0)==0?1:(c[(c[G>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,Hs(c[v>>2]|0,c[(c[G>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){l=(c[w>>2]|0)+24|0;l=aS((c[r>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=RR(32,0,l|0,C|0)|0;l=RR(l|0,C|0,24,0)|0;g=q;c[g>>2]=l;c[g+4>>2]=C;if(!((c[(c[v>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[v>>2]|0)+104>>2]|0)>>>0:0))c[(c[v>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[G>>2]|0)+4>>2];g=q;c[I>>2]=Ig(c[(c[v>>2]|0)+8>>2]|0,c[t>>2]|0,c[w>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[I>>2]|0){m=22;break}g=(c[G>>2]|0)+24|0;b[g>>1]=e[g>>1]&-65}else{c[D>>2]=(c[D>>2]|0)+1;if(c[z>>2]|0)m=(c[(c[G>>2]|0)+12>>2]|0)==0?c[y>>2]|0:0;else m=0;c[s>>2]=m;g=E;c[I>>2]=Jt(M,c[G>>2]|0,c[s>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[I>>2]|0){m=27;break}c[H>>2]=c[G>>2];l=c[L>>2]|0;g=E;l=RR(c[g>>2]|0,c[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;g=E;c[g>>2]=l;c[g+4>>2]=C;g=(c[G>>2]|0)+24|0;b[g>>1]=e[g>>1]|64}c[G>>2]=c[(c[G>>2]|0)+12>>2]}if((m|0)==22){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}else if((m|0)==27){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}else if((m|0)==30){if(((c[z>>2]|0)!=0?(c[(c[v>>2]|0)+104>>2]|0)!=0:0)?(c[I>>2]=Kt(c[v>>2]|0,c[D>>2]|0)|0,(c[I>>2]|0)!=0):0){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}if((c[z>>2]|0)!=0?(c[A>>2]&32|0)!=0:0){c[B>>2]=1;a:do if(a[(c[v>>2]|0)+49>>0]|0){c[J>>2]=cs(c[(c[v>>2]|0)+8>>2]|0)|0;t=E;s=c[J>>2]|0;s=RR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;s=QR(s|0,C|0,1,0)|0;t=c[J>>2]|0;t=_R(s|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;J=c[J>>2]|0;J=aS(t|0,C|0,J|0,((J|0)<0)<<31>>31|0)|0;t=M+8|0;c[t>>2]=J;c[t+4>>2]=C;t=M+8|0;J=E;c[B>>2]=((c[t>>2]|0)==(c[J>>2]|0)?(c[t+4>>2]|0)==(c[J+4>>2]|0):0)&1;while(1){t=E;r=c[t+4>>2]|0;J=M+8|0;s=c[J+4>>2]|0;if(!((r|0)<(s|0)|((r|0)==(s|0)?(c[t>>2]|0)>>>0<(c[J>>2]|0)>>>0:0)))break a;J=E;c[I>>2]=Jt(M,c[H>>2]|0,c[y>>2]|0,c[J>>2]|0,c[J+4>>2]|0)|0;if(c[I>>2]|0)break;t=c[L>>2]|0;J=E;t=RR(c[J>>2]|0,c[J+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;J=E;c[J>>2]=t;c[J+4>>2]=C;c[F>>2]=(c[F>>2]|0)+1}c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}while(0);if(c[B>>2]|0)c[I>>2]=vr(c[M+4>>2]|0,c[A>>2]&19)|0}if(((c[z>>2]|0)!=0?(d[(c[v>>2]|0)+47>>0]|0)!=0:0)?(M=(c[v>>2]|0)+16|0,L=c[M+4>>2]|0,(L|0)>0|(L|0)==0&(c[M>>2]|0)>>>0>=0):0){M=(c[v>>2]|0)+16|0;E=c[M+4>>2]|0;L=K;c[L>>2]=c[M>>2];c[L+4>>2]=E;L=(c[w>>2]|0)+24|0;L=aS((c[D>>2]|0)+(c[F>>2]|0)+1-1|0,0,L|0,((L|0)<0)<<31>>31|0)|0;L=RR(32,0,L|0,C|0)|0;E=C;M=(c[v>>2]|0)+16|0;J=c[M+4>>2]|0;if((E|0)>(J|0)|((E|0)==(J|0)?L>>>0>(c[M>>2]|0)>>>0:0)){L=(c[w>>2]|0)+24|0;L=aS((c[D>>2]|0)+(c[F>>2]|0)+1-1|0,0,L|0,((L|0)<0)<<31>>31|0)|0;L=RR(32,0,L|0,C|0)|0;M=K;c[M>>2]=L;c[M+4>>2]=C}M=K;Us(c[v>>2]|0,c[M>>2]|0,c[M+4>>2]|0);a[(c[v>>2]|0)+47>>0]=0}c[D>>2]=c[(c[v>>2]|0)+52+16>>2];c[G>>2]=c[x>>2];while(1){if(!((c[G>>2]|0)!=0?(c[I>>2]|0)==0:0))break;if(e[(c[G>>2]|0)+24>>1]&64){c[D>>2]=(c[D>>2]|0)+1;c[I>>2]=qt(c[v>>2]|0,c[D>>2]|0,c[(c[G>>2]|0)+20>>2]|0)|0}c[G>>2]=c[(c[G>>2]|0)+12>>2]}while(1){if(!((c[I>>2]|0)==0?(c[F>>2]|0)>0:0))break;c[D>>2]=(c[D>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+-1;c[I>>2]=qt(c[v>>2]|0,c[D>>2]|0,c[(c[H>>2]|0)+20>>2]|0)|0}if(!(c[I>>2]|0)){b[(c[v>>2]|0)+52+14>>1]=c[w>>2]&65280|c[w>>2]>>16;c[(c[v>>2]|0)+52+16>>2]=c[D>>2];if(c[z>>2]|0){M=(c[v>>2]|0)+52+8|0;c[M>>2]=(c[M>>2]|0)+1;c[(c[v>>2]|0)+52+20>>2]=c[y>>2]}if(c[z>>2]|0){gt(c[v>>2]|0);c[(c[v>>2]|0)+12>>2]=c[D>>2]}}c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}return 0}function It(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;f=l+12|0;h=l+8|0;k=l+4|0;g=l;c[e>>2]=a;c[j>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=at(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){Sd(4,k);c[j>>2]=Xs(c[e>>2]|0,4,4)|0;if(!(c[j>>2]|0)){dt(c[e>>2]|0,c[k>>2]|0);Kr(c[e>>2]|0,4,4);break}if((c[j>>2]|0)!=5){c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}}while(0);Ir(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[f>>2]=0;do{a=c[e>>2]|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[j>>2]=Nt(a,g,1,k)|0}while((c[j>>2]|0)==-1)}c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}function Jt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;j=m;l=m+12|0;k=m+8|0;n=m+32|0;c[h>>2]=a;c[p>>2]=b;c[o>>2]=d;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[(c[p>>2]|0)+4>>2];Lt(c[c[h>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[k>>2]|0,n);b=j;c[l>>2]=Mt(c[h>>2]|0,n,24,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}else{b=c[h>>2]|0;n=c[k>>2]|0;o=c[(c[h>>2]|0)+20>>2]|0;p=j;p=RR(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[l>>2]=Mt(b,n,o,p,C)|0;c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}return 0}function Kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+80|0;d=q+48|0;e=q+44|0;f=q+40|0;p=q+36|0;o=q+32|0;g=q+28|0;h=q+56|0;m=q+24|0;j=q+8|0;k=q;l=q+20|0;n=q+16|0;c[e>>2]=a;c[f>>2]=b;c[p>>2]=c[(c[e>>2]|0)+36>>2];c[o>>2]=0;c[g>>2]=Id((c[p>>2]|0)+24|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;p=c[d>>2]|0;i=q;return p|0}if((c[(c[e>>2]|0)+104>>2]|0)==1){a=j;c[a>>2]=24;c[a+4>>2]=0}else{b=(c[p>>2]|0)+24|0;b=aS((c[(c[e>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=RR(32,0,b|0,C|0)|0;b=RR(b|0,C|0,16,0)|0;a=j;c[a>>2]=b;c[a+4>>2]=C}a=j;c[o>>2]=es(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,8,c[a>>2]|0,c[a+4>>2]|0)|0;a=gr(c[g>>2]|0)|0;c[(c[e>>2]|0)+52+24>>2]=a;a=gr((c[g>>2]|0)+4|0)|0;c[(c[e>>2]|0)+52+24+4>>2]=a;c[m>>2]=c[(c[e>>2]|0)+104>>2];c[(c[e>>2]|0)+104>>2]=0;while(1){if(c[o>>2]|0)break;if((c[m>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;b=(c[p>>2]|0)+24|0;b=aS((c[m>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=RR(32,0,b|0,C|0)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=k;c[o>>2]=es(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,(c[p>>2]|0)+24|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[o>>2]|0)){c[l>>2]=gr(c[g>>2]|0)|0;c[n>>2]=gr((c[g>>2]|0)+4|0)|0;Lt(c[e>>2]|0,c[l>>2]|0,c[n>>2]|0,(c[g>>2]|0)+24|0,h);a=k;c[o>>2]=Ig(c[(c[e>>2]|0)+8>>2]|0,h,24,c[a>>2]|0,c[a+4>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}Kd(c[g>>2]|0);c[d>>2]=c[o>>2];p=c[d>>2]|0;i=q;return p|0}function Lt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;j=o+24|0;q=o+20|0;p=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=b;c[q>>2]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=h;c[m>>2]=(c[j>>2]|0)+52+24;ft(c[l>>2]|0,c[q>>2]|0);ft((c[l>>2]|0)+4|0,c[p>>2]|0);g=(c[l>>2]|0)+8|0;if(!(c[(c[j>>2]|0)+104>>2]|0)){q=(c[j>>2]|0)+52+32|0;a[g>>0]=a[q>>0]|0;a[g+1>>0]=a[q+1>>0]|0;a[g+2>>0]=a[q+2>>0]|0;a[g+3>>0]=a[q+3>>0]|0;a[g+4>>0]=a[q+4>>0]|0;a[g+5>>0]=a[q+5>>0]|0;a[g+6>>0]=a[q+6>>0]|0;a[g+7>>0]=a[q+7>>0]|0;c[n>>2]=(d[(c[j>>2]|0)+52+13>>0]|0)==((a[968]|0)==0|0)&1;ht(c[n>>2]|0,c[l>>2]|0,8,c[m>>2]|0,c[m>>2]|0);ht(c[n>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[m>>2]|0,c[m>>2]|0);ft((c[l>>2]|0)+16|0,c[c[m>>2]>>2]|0);ft((c[l>>2]|0)+20|0,c[(c[m>>2]|0)+4>>2]|0);i=o;return}else{h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));i=o;return}}function Mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o;n=o+12|0;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;f=c[a+4>>2]|0;b=(c[h>>2]|0)+8|0;d=c[b+4>>2]|0;if((f|0)<(d|0)|((f|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?(f=l,a=c[k>>2]|0,a=RR(c[f>>2]|0,c[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,f=C,b=(c[h>>2]|0)+8|0,d=c[b+4>>2]|0,(f|0)>(d|0)|((f|0)==(d|0)?a>>>0>=(c[b>>2]|0)>>>0:0)):0){a=(c[h>>2]|0)+8|0;b=l;b=QR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=b;b=l;c[n>>2]=Ig(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}a=c[m>>2]|0;b=l;a=RR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[n>>2]=vr(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+16>>2]&19)|0;if((c[k>>2]|0)==0|(c[n>>2]|0)!=0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}}b=l;c[n>>2]=Ig(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function Nt(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;v=w+48|0;h=w+44|0;j=w+40|0;k=w+36|0;l=w+32|0;r=w+28|0;p=w+24|0;o=w+20|0;m=w+16|0;s=w+12|0;n=w+8|0;q=w+4|0;t=w;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[s>>2]=0;if((c[l>>2]|0)>5){c[q>>2]=1;if((c[l>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;i=w;return v|0}if((c[l>>2]|0)>=10)c[q>>2]=(_((c[l>>2]|0)-9|0,(c[l>>2]|0)-9|0)|0)*39;wi(c[c[h>>2]>>2]|0,c[q>>2]|0)|0}if(!(c[k>>2]|0)){c[s>>2]=Zs(c[h>>2]|0,c[j>>2]|0)|0;do if((c[s>>2]|0)==5){if(!(c[c[(c[h>>2]|0)+32>>2]>>2]|0)){c[s>>2]=-1;break}f=Hr(c[h>>2]|0,2)|0;c[s>>2]=f;if(!f){Ir(c[h>>2]|0,2);c[s>>2]=-1;break}if((c[s>>2]|0)==5)c[s>>2]=261}while(0);if(c[s>>2]|0){c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}}c[r>>2]=at(c[h>>2]|0)|0;do if((c[k>>2]|0)==0?(c[c[r>>2]>>2]|0)==(c[(c[h>>2]|0)+52+16>>2]|0):0){c[s>>2]=Hr(c[h>>2]|0,3)|0;it(c[h>>2]|0);if(c[s>>2]|0){if((c[s>>2]|0)==5)break;c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}u=Ds(c[h>>2]|0)|0;u=(eR(u,(c[h>>2]|0)+52|0,48)|0)!=0;h=c[h>>2]|0;if(u){Ir(h,3);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}else{b[h+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;i=w;return v|0}}while(0);c[p>>2]=0;c[o>>2]=0;c[n>>2]=c[(c[h>>2]|0)+52+16>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break;c[t>>2]=c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0<=(c[t>>2]|0)>>>0?(c[t>>2]|0)>>>0<=(c[n>>2]|0)>>>0:0){c[p>>2]=c[t>>2];c[o>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}a:do if(((d[(c[h>>2]|0)+46>>0]|0)&2|0)==0?((c[o>>2]|0)==0?1:(c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0):0){c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break a;c[s>>2]=Xs(c[h>>2]|0,3+(c[m>>2]|0)|0,1)|0;if(!(c[s>>2]|0)){u=36;break}if((c[s>>2]|0)!=5)break;c[m>>2]=(c[m>>2]|0)+1}if((u|0)==36){u=c[n>>2]|0;c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2]=u;c[p>>2]=u;c[o>>2]=c[m>>2];Kr(c[h>>2]|0,3+(c[m>>2]|0)|0,1);break}c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}while(0);if(!(c[o>>2]|0)){c[v>>2]=(c[s>>2]|0)==5?-1:520;v=c[v>>2]|0;i=w;return v|0}c[s>>2]=Hr(c[h>>2]|0,3+(c[o>>2]|0)|0)|0;if(c[s>>2]|0){c[v>>2]=(c[s>>2]|0)==5?-1:c[s>>2]|0;v=c[v>>2]|0;i=w;return v|0}c[(c[h>>2]|0)+100>>2]=(c[c[r>>2]>>2]|0)+1;it(c[h>>2]|0);if((c[(c[r>>2]|0)+4+(c[o>>2]<<2)>>2]|0)==(c[p>>2]|0)?(u=Ds(c[h>>2]|0)|0,(eR(u,(c[h>>2]|0)+52|0,48)|0)==0):0){b[(c[h>>2]|0)+40>>1]=c[o>>2];c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}Ir(c[h>>2]|0,3+(c[o>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}function Ot(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+20|0;j=h+16|0;e=h+12|0;d=h+8|0;f=h+4|0;b=h;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[f>>2]=c[(c[j>>2]|0)+20>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[e>>2]|0)+104>>2]|0)){b=7;break}c[d>>2]=(c[(c[e>>2]|0)+100>>2]|0)+((c[b>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[f>>2]|0)>>>0?0==(qj(c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0):0){b=5;break}c[b>>2]=(c[b>>2]|0)+1}if((b|0)==5){c[g>>2]=1;j=c[g>>2]|0;i=h;return j|0}else if((b|0)==7){c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}return 0}function Pt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;b=k+24|0;j=k+20|0;h=k+16|0;f=k+12|0;e=k;g=k+8|0;c[b>>2]=a;c[j>>2]=0;c[h>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[h>>2]|0)+5>>0]|0|0)!=2?(c[j>>2]=Qt(c[h>>2]|0)|0,(c[j>>2]|0)==0):0)?(c[f>>2]=c[(c[b>>2]|0)+4>>2],l=4+(c[(c[h>>2]|0)+160>>2]|0)|0,l=aS(c[(c[h>>2]|0)+56>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=e,c[a>>2]=l,c[a+4>>2]=C,c[g>>2]=c[f>>2],a=e,c[j>>2]=Rt(c[(c[h>>2]|0)+72>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)==0):0){f=c[(c[h>>2]|0)+72>>2]|0;g=c[g>>2]|0;a=c[(c[h>>2]|0)+160>>2]|0;l=e;l=RR(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[j>>2]=Ig(f,g,a,l,C)|0}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=(c[h>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=St(c[h>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function Qt(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g;c[b>>2]=a;c[f>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[g+4>>2]=8222;c[e>>2]=c[11];if(!((d[(c[b>>2]|0)+5>>0]|0|0)!=4?(d[(c[b>>2]|0)+22>>0]|0|0)==0:0))c[e>>2]=-1;c[f>>2]=Tt(c[c[b>>2]>>2]|0,0,c[(c[b>>2]|0)+72>>2]|0,8222,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function Rt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;ft(g,c[k>>2]|0);e=j;e=Ig(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;i=f;return e|0}function St(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[g>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[g>>2]|0)+20>>2]|0)>>>0){b=lj(c[(c[g>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[h>>2]=c[h>>2]|b}c[f>>2]=(c[f>>2]|0)+1}i=j;return c[h>>2]|0}function Tt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[k>>2];e=c[n>>2]|0;f=e+72|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));if(!(c[m>>2]|0)){c[g>>2]=Ur(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;n=c[g>>2]|0;i=o;return n|0}if((c[m>>2]|0)>0)c[(c[n>>2]|0)+4>>2]=c[m>>2];else c[(c[n>>2]|0)+4>>2]=1020;c[c[n>>2]>>2]=4028;c[(c[n>>2]|0)+8>>2]=c[m>>2];c[(c[n>>2]|0)+56>>2]=c[l>>2];c[(c[n>>2]|0)+64>>2]=c[j>>2];c[(c[n>>2]|0)+60>>2]=c[h>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Ut(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Vt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Fs(c[d>>2]|0)|0;i=b;return a|0}function Wt(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;l=x+40|0;m=x+36|0;t=x+50|0;o=x+52|0;n=x+32|0;j=x+28|0;w=x+24|0;g=x+48|0;r=x+20|0;v=x+16|0;p=x+12|0;q=x+8|0;h=x+4|0;k=x;s=x+46|0;u=x+44|0;c[m>>2]=f;do if(!(a[c[m>>2]>>0]|0)){c[j>>2]=c[(c[m>>2]|0)+52>>2];a[o>>0]=a[(c[m>>2]|0)+5>>0]|0;c[n>>2]=c[(c[m>>2]|0)+56>>2];if(Xt(c[m>>2]|0,d[(c[n>>2]|0)+(d[o>>0]|0)>>0]|0)|0){c[l>>2]=Qj(60006)|0;w=c[l>>2]|0;i=x;return w|0}b[(c[m>>2]|0)+20>>1]=(c[(c[j>>2]|0)+32>>2]|0)-1;a[(c[m>>2]|0)+1>>0]=0;c[w>>2]=c[(c[j>>2]|0)+36>>2];f=(d[o>>0]|0)+8+(d[(c[m>>2]|0)+6>>0]|0)&65535;b[g>>1]=f;b[(c[m>>2]|0)+14>>1]=f;c[(c[m>>2]|0)+60>>2]=(c[n>>2]|0)+(c[w>>2]|0);c[(c[m>>2]|0)+64>>2]=(c[n>>2]|0)+(e[g>>1]|0);c[(c[m>>2]|0)+68>>2]=(c[n>>2]|0)+(d[(c[m>>2]|0)+6>>0]|0);c[v>>2]=((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[m>>2]|0)+18>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+3)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+3)+1>>0];if((e[(c[m>>2]|0)+18>>1]|0)>>>0>((((c[(c[j>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[l>>2]=Qj(60024)|0;w=c[l>>2]|0;i=x;return w|0}c[p>>2]=(e[g>>1]|0)+(e[(c[m>>2]|0)+18>>1]<<1);c[q>>2]=(c[w>>2]|0)-4;do if(c[(c[(c[j>>2]|0)+4>>2]|0)+24>>2]&536870912){if(!(a[(c[m>>2]|0)+4>>0]|0))c[q>>2]=(c[q>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+18>>1]|0)){g=17;break}b[t>>1]=d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))>>0]<<8|d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))+1>>0];if((e[t>>1]|0)<(c[p>>2]|0)){g=13;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=13;break}c[k>>2]=(Yb[c[(c[m>>2]|0)+76>>2]&255](c[m>>2]|0,(c[n>>2]|0)+(e[t>>1]|0)|0)|0)&65535;if(((e[t>>1]|0)+(c[k>>2]|0)|0)>(c[w>>2]|0)){g=15;break}c[h>>2]=(c[h>>2]|0)+1}if((g|0)==13){c[l>>2]=Qj(60052)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==15){c[l>>2]=Qj(60057)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==17){if(a[(c[m>>2]|0)+4>>0]|0)break;c[q>>2]=(c[q>>2]|0)+1;break}}while(0);b[t>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0];c[r>>2]=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0)+(c[v>>2]|0);while(1){if((e[t>>1]|0)<=0){g=29;break}if((e[t>>1]|0)<(c[p>>2]|0)){g=23;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=23;break}b[s>>1]=d[(c[n>>2]|0)+(e[t>>1]|0)>>0]<<8|d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0];b[u>>1]=d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]<<8|d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0];if((e[s>>1]|0)>0?(e[s>>1]|0)<=((e[t>>1]|0)+(e[u>>1]|0)+3|0):0){g=27;break}if(((e[t>>1]|0)+(e[u>>1]|0)|0)>(c[w>>2]|0)){g=27;break}c[r>>2]=(c[r>>2]|0)+(e[u>>1]|0);b[t>>1]=b[s>>1]|0}if((g|0)==23){c[l>>2]=Qj(60077)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==27){c[l>>2]=Qj(60084)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==29){if((c[r>>2]|0)<=(c[w>>2]|0)){b[(c[m>>2]|0)+16>>1]=(c[r>>2]|0)-(c[p>>2]|0);a[c[m>>2]>>0]=1;break}c[l>>2]=Qj(60098)|0;w=c[l>>2]|0;i=x;return w|0}}while(0);c[l>>2]=0;w=c[l>>2]|0;i=x;return w|0}function Xt(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=e;c[g>>2]=f;a[(c[j>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[j>>2]|0)+6>>0]=4-(d[(c[j>>2]|0)+4>>0]<<2);c[(c[j>>2]|0)+76>>2]=188;c[k>>2]=c[(c[j>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[j>>2]|0)+2>>0]=1;g=(c[j>>2]|0)+3|0;if(a[(c[j>>2]|0)+4>>0]|0){a[g>>0]=1;c[(c[j>>2]|0)+80>>2]=226}else{a[g>>0]=0;c[(c[j>>2]|0)+76>>2]=189;c[(c[j>>2]|0)+80>>2]=227}b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+28>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+30>>1]|0}else{if((c[g>>2]|0)==2){a[(c[j>>2]|0)+2>>0]=0;a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+80>>2]=228;b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+24>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+26>>1]|0;break}c[h>>2]=Qj(59964)|0;k=c[h>>2]|0;i=l;return k|0}while(0);a[(c[j>>2]|0)+7>>0]=a[(c[k>>2]|0)+21>>0]|0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Yt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;m=n+12|0;l=n+8|0;k=n+4|0;j=n;c[g>>2]=b;c[h>>2]=f;c[m>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[m>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[l>>2]=(c[m>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{f=c[k>>2]<<7;b=(c[m>>2]|0)+1|0;c[m>>2]=b;c[k>>2]=f|d[b>>0]&127;if((d[c[m>>2]>>0]|0)<128)break a}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[l>>2]=(c[m>>2]|0)+9;do{b=c[m>>2]|0;c[m>>2]=b+1;if(!(d[b>>0]&128))break b}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){b=(c[k>>2]|0)+((c[m>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=b;c[k>>2]=(c[k>>2]|0)>>>0<4?4:b;b=c[k>>2]|0;b=b&65535;i=n;return b|0}c[j>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[j>>2]|0)+((((c[k>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[m>>2]|0)-(c[h>>2]|0)&65535));b=c[k>>2]|0;b=b&65535;i=n;return b|0}function Zt(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+28|0;k=q+24|0;p=q+20|0;m=q+16|0;l=q;n=q+12|0;o=q+8|0;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[j>>2];c[m>>2]=d[c[p>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[p>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{g=c[m>>2]<<7;a=(c[p>>2]|0)+1|0;c[p>>2]=a;c[m>>2]=g|(d[a>>0]|0)&127;if((d[c[p>>2]>>0]|0|0)<128)break a}while((c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[p>>2]=(c[p>>2]|0)+1;a=l;c[a>>2]=d[c[p>>2]>>0];c[a+4>>2]=0;a=l;g=c[a+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[a>>2]|0)>>>0>=128){c[o>>2]=(c[p>>2]|0)+7;a=l;c[a>>2]=c[l>>2]&127;c[a+4>>2]=0;do{n=l;n=WR(c[n>>2]|0,c[n+4>>2]|0,7)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;g=(d[g>>0]|0)&127;a=l;c[a>>2]=n|g;c[a+4>>2]=C|((g|0)<0)<<31>>31;if((d[c[p>>2]>>0]|0|0)<128)break b}while((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0);o=l;o=WR(c[o>>2]|0,c[o+4>>2]|0,8)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;a=l;c[a>>2]=o|(d[g>>0]|0);c[a+4>>2]=C}while(0);c[p>>2]=(c[p>>2]|0)+1;o=l;g=c[o+4>>2]|0;a=c[k>>2]|0;c[a>>2]=c[o>>2];c[a+4>>2]=g;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[p>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){bu(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=q;return}b[(c[k>>2]|0)+18>>1]=(c[m>>2]|0)+((c[p>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[m>>2];i=q;return}function _t(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[h+12>>2]=a;c[e>>2]=b;c[g>>2]=(c[e>>2]|0)+4;c[f>>2]=(c[g>>2]|0)+9;do{a=c[g>>2]|0;c[g>>2]=a+1;if(!((d[a>>0]|0)&128))break}while((c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0);i=h;return (c[g>>2]|0)-(c[e>>2]|0)&65535|0}function $t(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;a=4+((cu((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=a;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;i=f;return}function au(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[n>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[l>>2]=d[c[n>>2]>>0];a:do if((c[l>>2]|0)>>>0>=128){c[m>>2]=(c[n>>2]|0)+8;c[l>>2]=c[l>>2]&127;do{g=c[l>>2]<<7;a=(c[n>>2]|0)+1|0;c[n>>2]=a;c[l>>2]=g|(d[a>>0]|0)&127;if((d[c[n>>2]>>0]|0|0)<128)break a}while((c[n>>2]|0)>>>0<(c[m>>2]|0)>>>0)}while(0);c[n>>2]=(c[n>>2]|0)+1;a=c[k>>2]|0;c[a>>2]=c[l>>2];c[a+4>>2]=0;c[(c[k>>2]|0)+12>>2]=c[l>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[l>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){bu(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=o;return}b[(c[k>>2]|0)+18>>1]=(c[l>>2]|0)+((c[n>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[l>>2];i=o;return}function bu(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;m=l+4|0;k=l;c[n>>2]=a;c[g>>2]=d;c[h>>2]=f;c[j>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[k>>2]=(c[j>>2]|0)+((((c[(c[h>>2]|0)+12>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)<=(c[m>>2]|0))b[(c[h>>2]|0)+16>>1]=c[k>>2];else b[(c[h>>2]|0)+16>>1]=c[j>>2];b[(c[h>>2]|0)+18>>1]=((c[(c[h>>2]|0)+8>>2]|0)+(e[(c[h>>2]|0)+16>>1]|0)-(c[g>>2]|0)&65535)+4;i=l;return}function cu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=1;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=2;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;if(!e){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=3;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);e=(c[k>>2]&128|0)!=0;c[k>>2]=c[k>>2]&2080895;b=c[j>>2]|0;if(!e){c[j>>2]=b<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=4;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=5;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[k>>2];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=6;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);b=c[j>>2]|0;if(!(c[j>>2]&128)){c[j>>2]=b&-266354561;c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>11;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=7;l=a[f>>0]|0;i=m;return l|0}c[j>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(c[k>>2]&128){c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<15;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<8;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=c[l>>2]<<4;c[k>>2]=d[(c[g>>2]|0)+-4>>0];c[k>>2]=c[k>>2]&127;c[k>>2]=(c[k>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[k>>2];k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=9;l=a[f>>0]|0;i=m;return l|0}else{c[k>>2]=c[k>>2]&-266354561;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>4;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=8;l=a[f>>0]|0;i=m;return l|0}return 0}function du(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)b=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return (d|0)==0|0}function eu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(d[(c[l>>2]|0)+20>>0]|0){c[m>>2]=6;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=fu(c[c[l>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function fu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))b=0;else b=c[(c[g>>2]|0)+184>>2]|0;c[l>>2]=Ss(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,b,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function gu(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[j>>2]=b;c[k>>2]=f;a[l>>0]=g;g=c[j>>2]|0;if((c[k>>2]|0)==-2){c[h>>2]=(c[g+12>>2]|0)==0?0:6;m=c[h>>2]|0;i=n;return m|0}if((a[g>>0]|0)!=(c[k>>2]|0)?(a[c[j>>2]>>0]|0)>=0:0){c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}if((a[c[j>>2]>>0]|0)==(c[k>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[l>>0]|0)!=(e[(c[j>>2]|0)+2>>1]&3|0)){if(d[l>>0]&e[(c[j>>2]|0)+2>>1]&2)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[h>>2]=c[m>>2];m=c[h>>2]|0;i=n;return m|0}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[1092+(c[h>>2]<<2)>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(ig(c[(c[e>>2]|0)+20>>2]|0,c[d>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+24>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;i=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;i=g;return h|0}return 0}function iu(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if(((e[(c[g>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[j>>2]=ju(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}function ju(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+45|0;k=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;r=v+16|0;q=v+12|0;j=v+44|0;h=v+8|0;l=v+4|0;m=v;c[o>>2]=f;a[p>>0]=g;if((d[(c[o>>2]|0)+10>>0]|0|0)!=1?(d[p>>0]|0|0)!=1:0){c[h>>2]=bh(c[o>>2]|0)|0;if(c[h>>2]|0){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;a[j>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[j>>0]|0;t=c[s>>2]|0;c[s>>2]=t+1;a[t>>0]=r}a[(c[o>>2]|0)+10>>0]=a[p>>0]|0}else{g=(c[o>>2]|0)+12|0;f=c[g>>2]|0;if((d[p>>0]|0|0)==1){c[g>>2]=f&-2;c[k>>2]=(c[(c[o>>2]|0)+12>>2]<<1)+1}else c[k>>2]=(f<<1)+2;c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]|0);k=c[k>>2]|0;c[t>>2]=Ch(c[(c[o>>2]|0)+32>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[r>>2]=c[t>>2];if((d[(c[o>>2]|0)+10>>0]|0|0)==1){a:do if((d[p>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[25563+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;l=(c[q>>2]|0)>>>8&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{m=(g>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=216+(((c[q>>2]|0)-65536|0)>>>18&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=c[q>>2]&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=220+((c[q>>2]|0)>>>8&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[25563+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g>>>8;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=216+((g-65536|0)>>>18&3);l=((c[q>>2]|0)>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=220+((c[q>>2]|0)>>>8&3)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0);u=c[r>>2]|0;c[r>>2]=u+1;a[u>>0]=0}else{b:do if((d[(c[o>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(c[q>>2]|0)+((d[m>>0]|0)<<8);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=(c[l>>2]|0)+((d[m>>0]|0)<<8);c[q>>2]=(c[l>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=224+(g>>>12&15);m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(c[q>>2]|0)+(d[l>>0]|0);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(c[m>>2]|0)+(d[l>>0]|0);c[q>>2]=(c[m>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=224+(g>>>12&15);l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0)}a[c[r>>2]>>0]=0;c[q>>2]=e[(c[o>>2]|0)+8>>1];Xg(c[o>>2]|0);b[(c[o>>2]|0)+8>>1]=514|c[q>>2]&32799;a[(c[o>>2]|0)+10>>0]=a[p>>0]|0;c[(c[o>>2]|0)+16>>2]=c[t>>2];c[(c[o>>2]|0)+20>>2]=c[(c[o>>2]|0)+16>>2];u=ku(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=u}c[n>>2]=0;u=c[n>>2]|0;i=v;return u|0}function ku(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)!=0?(lu(c[f>>2]|0,c[g>>2]|0)|0)!=0:0){c[d>>2]=e[(c[f>>2]|0)+256+4>>1];b=c[d>>2]|0;i=h;return b|0}c[d>>2]=Tb[c[60>>2]&255](c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}function lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+32>>2]|0)>>>0){b=0;b=b&1;i=f;return b|0}b=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+36>>2]|0)>>>0;b=b&1;i=f;return b|0}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+24>>2];if(!(c[e>>2]|0)){i=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){i=f;return}Qb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function nu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[b>>2]=a;Of(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[h>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[j>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16)tu(c[b>>2]|0,c[j>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[(c[b>>2]|0)+320+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[g>>2]|0)+16>>2]|0)tu(c[b>>2]|0,c[(c[g>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}uu(c[b>>2]|0);i=k;return}function ou(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ru(c[d>>2]|0,68);i=b;return 0} -function vJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;f=n+24|0;g=n+20|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;l=n;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[m>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[m>>2]|0)+28>>2]|0)==(c[f>>2]|0))c[(c[m>>2]|0)+28>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[l>>2]|0)+44>>2]|0)==(c[f>>2]|0))c[(c[l>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=n;return}function wJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);c[j>>2]=XH(c[h>>2]|0,c[f>>2]|0,0)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}ZK(c[e>>2]|0,0,0,1);c[j>>2]=_K(c[h>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function xJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;TK(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[g>>2]|0)+64+((c[h>>2]|0)*72|0);UK(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[g>>2]|0)+36+4>>2]|0))VK(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Tf(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;i=k;return}function yJ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=wJ(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;i=b;return a|0}function zJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=Uj((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Rf(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;i=e;return}function AJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;e=h+20|0;l=h+16|0;j=h+12|0;g=h+8|0;k=h+4|0;f=h;c[e>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[g>>2]=Uj(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}a=c[g>>2]|0;if((c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[f>>2]|0)b=(c[(c[f>>2]|0)+20>>2]|0)!=(c[g>>2]|0);else b=0;a=c[f>>2]|0;if(!b)break;c[f>>2]=c[a+20>>2]}if((a|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)==(c[g>>2]|0):0)c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2]}else c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];FH(c[e>>2]|0,c[g>>2]|0);l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}function BJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;f=j+24|0;m=j+20|0;k=j+16|0;g=j+12|0;l=j+8|0;e=j+4|0;h=j;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Uj(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){i=j;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=$B(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Qf(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=j;return}function CJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+240|0;s=t+16|0;r=t+8|0;v=t+124|0;j=t+120|0;k=t+116|0;u=t+112|0;l=t+108|0;m=t+104|0;p=t+32|0;o=t+24|0;q=t+20|0;n=t;c[v>>2]=b;c[j>>2]=e;c[k>>2]=f;c[u>>2]=g;c[l>>2]=h;c[o>>2]=c[(c[v>>2]|0)+4>>2];c[q>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2];mg(c[v>>2]|0);c[p>>2]=c[o>>2];c[p+4>>2]=c[c[o>>2]>>2];c[p+12>>2]=JF(c[p>>2]|0)|0;c[p+16>>2]=c[u>>2];c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p+32>>2]=0;c[p+36>>2]=0;c[p+8>>2]=0;c[p+68>>2]=0;dg(p+40|0,0,t+128|0,100,1e9);a[p+40+25>>0]=1;a:do if(c[p+12>>2]|0){c[p+8>>2]=kg((((c[p+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[p+8>>2]|0)){c[p+24>>2]=1;break}c[p+68>>2]=Yi(c[(c[o>>2]|0)+32>>2]|0)|0;if(!(c[p+68>>2]|0)){c[p+24>>2]=1;break}c[m>>2]=(((c[384]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0)KK(p,c[m>>2]|0);c[p+28>>2]=41095;v=gr((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;LK(p,1,v,gr((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[p+28>>2]=0;v=(c[(c[o>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-536870913;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[k>>2]|0)?(c[p+16>>2]|0)!=0:0))break;if(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)!=0?(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>1:0)MK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,1,0);NK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[m>>2]=(c[m>>2]|0)+1}c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]=c[q>>2];c[m>>2]=1;while(1){if(!((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0?(c[p+16>>2]|0)!=0:0))break a;do if(!(OK(p,c[m>>2]|0)|0)){v=VF(c[o>>2]|0,c[m>>2]|0)|0;if((v|0)==(c[m>>2]|0)?(a[(c[o>>2]|0)+17>>0]|0)!=0:0)break;c[r>>2]=c[m>>2];PK(p,41111,r)}while(0);if(((OK(p,c[m>>2]|0)|0)!=0?(v=VF(c[o>>2]|0,c[m>>2]|0)|0,(v|0)==(c[m>>2]|0)):0)?(d[(c[o>>2]|0)+17>>0]|0)!=0:0){c[s>>2]=c[m>>2];PK(p,41133,s)}c[m>>2]=(c[m>>2]|0)+1}}while(0);$i(c[p+68>>2]|0);Kd(c[p+8>>2]|0);if(c[p+24>>2]|0){xA(p+40|0);v=p+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[l>>2]>>2]=c[p+20>>2];if(c[p+20>>2]|0){v=p+40|0;v=fg(v)|0;i=t;return v|0}xA(p+40|0);v=p+40|0;v=fg(v)|0;i=t;return v|0}function DJ(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Xg(c[e>>2]|0);d=Vw(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+69>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=g;return}else{d=ku(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;d=JK(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=d;b[(c[e>>2]|0)+8>>1]=32;i=g;return}}function EJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l;j=l+12|0;k=l+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[j>>2]=HK(c[g>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}d=h;f=c[d+4>>2]|0;a=c[j>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;c[(c[j>>2]|0)+8>>2]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0){d=c[h+4>>2]|0;a=c[k>>2]|0;f=c[a+4>>2]|0;if((d|0)<(f|0)|((d|0)==(f|0)?(c[h>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)){a=(c[g>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[k>>2]|0)+8>>2]=c[j>>2]}else c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];i=l;return}function FJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;if(!((e[(c[g>>2]|0)+26>>1]|0)&2)){if(!((e[(c[g>>2]|0)+26>>1]|0)&1)){d=DK(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=d}d=(c[g>>2]|0)+26|0;b[d>>1]=e[d>>1]|0|3}if(!(c[(c[g>>2]|0)+8>>2]|0)){c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}k=c[(c[g>>2]|0)+8>>2]|0;a=c[k+4>>2]|0;d=c[h>>2]|0;c[d>>2]=c[k>>2];c[d+4>>2]=a;c[(c[g>>2]|0)+8>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[g>>2]|0)+8>>2]|0))oG(c[g>>2]|0);c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}function GJ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;h=s+32|0;j=s+28|0;p=s;q=s+24|0;r=s+20|0;m=s+16|0;k=s+12|0;l=s+8|0;c[h>>2]=a;c[j>>2]=d;a=p;c[a>>2]=f;c[a+4>>2]=g;if((c[j>>2]|0)!=(c[(c[h>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[q>>2]|0){c[m>>2]=(c[h>>2]|0)+20;if(!((e[(c[h>>2]|0)+26>>1]|0)&1))c[q>>2]=DK(c[q>>2]|0)|0;c[r>>2]=c[(c[h>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}FK(c[(c[r>>2]|0)+12>>2]|0,k,l);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=GK(c[k>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=EK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=HK(c[h>>2]|0)|0,c[r>>2]=n,c[c[m>>2]>>2]=n,(c[r>>2]|0)!=0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=EK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;n=(c[h>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[h>>2]|0)+28>>2]=c[j>>2]}c[r>>2]=c[(c[h>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;f=c[q>>2]|0;if((a|0)<(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[f+8>>2];continue}m=f;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;if(!((a|0)>(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;i=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function HJ(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}if((c[c[(c[e>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[e>>2]|0)+80|0,e=c[a+4>>2]|0,(e|0)>0|(e|0)==0&(c[a>>2]|0)>>>0>0):0){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}function IJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+64>>2]>>2];if(a[(c[e>>2]|0)+14>>0]|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}if(!(d[(c[e>>2]|0)+4>>0]|0))if((c[c[f>>2]>>2]|0)>=2)e=(c[(c[f>>2]|0)+52>>2]|0)!=0;else e=0;else e=1;c[g>>2]=e&1;g=c[g>>2]|0;i=h;return g|0}function JJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;if(!(c[(c[e>>2]|0)+216>>2]|0)){c[f>>2]=0;c[g>>2]=Gt(c[e>>2]|0,1)|0;if(!(c[g>>2]|0))c[g>>2]=Yr(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+220>>2]|0,0,f)|0;if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=yK(c[e>>2]|0)|0}if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+216>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=zK(c[e>>2]|0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=jr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[(c[e>>2]|0)+208>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;aj(c[e>>2]|0);if(!(c[g>>2]|0)){g=c[g>>2]|0;i=h;return g|0}if(a[(c[e>>2]|0)+4>>0]|0){g=c[g>>2]|0;i=h;return g|0}Fr(c[e>>2]|0,1)|0;g=c[g>>2]|0;i=h;return g|0}function KJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;g=l+8|0;h=l+16|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if((a[(c[f>>2]|0)+16>>0]|0)!=0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){or(c[(c[f>>2]|0)+68>>2]|0);if((d[(c[f>>2]|0)+18>>0]|0)>=2){xr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[j>>2]=0;c[k>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[k>>2]|0))c[j>>2]=rK(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[j>>2]=Gt(c[f>>2]|0,2)|0;if(!(c[j>>2]|0))xr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)==1){Fr(c[f>>2]|0,1)|0;break}if(c[k>>2]|0)break;kr(c[f>>2]|0);break}if((c[g>>2]|0)==2)or(c[(c[f>>2]|0)+68>>2]|0)}while(0);i=l;return d[(c[f>>2]|0)+5>>0]|0}function LJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+112|0;o=D+24|0;n=D+16|0;m=D+8|0;l=D;q=D+92|0;j=D+88|0;r=D+84|0;g=D+80|0;y=D+76|0;w=D+72|0;x=D+68|0;z=D+64|0;B=D+60|0;C=D+56|0;A=D+96|0;v=D+52|0;h=D+48|0;u=D+44|0;k=D+40|0;p=D+36|0;t=D+32|0;s=D+28|0;c[j>>2]=b;c[r>>2]=e;c[g>>2]=f;c[y>>2]=0;c[v>>2]=0;if(!(a[(c[r>>2]|0)+67>>0]|0)){Cj(c[j>>2]|0,c[r>>2]|0,40519);c[q>>2]=1;C=c[q>>2]|0;i=D;return C|0}if((c[(c[r>>2]|0)+156>>2]|0)>1){Cj(c[j>>2]|0,c[r>>2]|0,40559);c[q>>2]=1;C=c[q>>2]|0;i=D;return C|0}c[z>>2]=c[(c[r>>2]|0)+24>>2];c[B>>2]=c[(c[r>>2]|0)+88>>2];c[C>>2]=c[(c[r>>2]|0)+92>>2];a[A>>0]=a[(c[r>>2]|0)+76>>0]|0;b=(c[r>>2]|0)+24|0;c[b>>2]=c[b>>2]|270542848;b=(c[r>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655489;a[(c[r>>2]|0)+76>>0]=0;c[p>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[w>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];c[h>>2]=kK(Pf(c[w>>2]|0)|0)|0;c[k>>2]=c[(c[r>>2]|0)+20>>2];c[y>>2]=lK(c[r>>2]|0,c[j>>2]|0,40602)|0;a:do if(((c[y>>2]|0)==0?(c[v>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[k>>2]<<4),c[x>>2]=c[(c[v>>2]|0)+4>>2],Gj(c[x>>2]|0)|0,c[u>>2]=mK(c[w>>2]|0)|0,Ej(c[x>>2]|0,c[(c[(c[(c[r>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+80>>2]|0)|0,b=c[x>>2]|0,uC(b,uC(c[w>>2]|0,0)|0)|0,WB(c[x>>2]|0,33)|0,c[y>>2]=lK(c[r>>2]|0,c[j>>2]|0,37527)|0,(c[y>>2]|0)==0):0)?(c[y>>2]=pg(c[w>>2]|0,2)|0,(c[y>>2]|0)==0):0){if((tg(Pf(c[w>>2]|0)|0)|0)==5)c[(c[r>>2]|0)+80>>2]=0;f=c[x>>2]|0;b=sg(c[w>>2]|0)|0;do if(!(Ci(f,b,c[u>>2]|0,0)|0)){if((c[h>>2]|0)==0?(Ci(c[x>>2]|0,c[(c[r>>2]|0)+80>>2]|0,c[u>>2]|0,0)|0)!=0:0)break;if(!(d[(c[r>>2]|0)+69>>0]|0)){g=c[x>>2]|0;if((a[(c[r>>2]|0)+72>>0]|0)>=0)e=a[(c[r>>2]|0)+72>>0]|0;else e=rC(c[w>>2]|0)|0;tC(g,e)|0;a[(c[r>>2]|0)+148+4>>0]=c[k>>2];b=c[r>>2]|0;k=c[j>>2]|0;c[l>>2]=c[p>>2];c[y>>2]=nK(b,k,40623,l)|0;if(c[y>>2]|0)break a;k=c[r>>2]|0;l=c[j>>2]|0;c[m>>2]=c[p>>2];c[y>>2]=nK(k,l,40731,m)|0;if(c[y>>2]|0)break a;a[(c[r>>2]|0)+148+4>>0]=0;l=c[r>>2]|0;m=c[j>>2]|0;c[n>>2]=c[p>>2];c[y>>2]=nK(l,m,40804,n)|0;n=(c[r>>2]|0)+24|0;c[n>>2]=c[n>>2]&-268435457;if(c[y>>2]|0)break a;m=c[r>>2]|0;n=c[j>>2]|0;c[o>>2]=c[p>>2];c[y>>2]=nK(m,n,40955,o)|0;if(c[y>>2]|0)break a;c[s>>2]=0;while(1){g=c[w>>2]|0;if((c[s>>2]|0)>=10)break;rg(g,d[41085+(c[s>>2]|0)>>0]|0,t);c[y>>2]=Bg(c[x>>2]|0,d[41085+(c[s>>2]|0)>>0]|0,(c[t>>2]|0)+(d[41085+((c[s>>2]|0)+1)>>0]|0)|0)|0;if(c[y>>2]|0)break a;c[s>>2]=(c[s>>2]|0)+2}c[y>>2]=oK(g,c[x>>2]|0)|0;if(c[y>>2]|0)break a;c[y>>2]=Gj(c[x>>2]|0)|0;if(c[y>>2]|0)break a;t=c[w>>2]|0;tC(t,rC(c[x>>2]|0)|0)|0;t=c[w>>2]|0;x=sg(c[x>>2]|0)|0;c[y>>2]=Ci(t,x,c[u>>2]|0,1)|0;break a}}while(0);c[y>>2]=7}while(0);a[(c[r>>2]|0)+148+4>>0]=0;c[(c[r>>2]|0)+24>>2]=c[z>>2];c[(c[r>>2]|0)+88>>2]=c[B>>2];c[(c[r>>2]|0)+92>>2]=c[C>>2];a[(c[r>>2]|0)+76>>0]=a[A>>0]|0;Ci(c[w>>2]|0,-1,-1,1)|0;a[(c[r>>2]|0)+67>>0]=1;if(c[v>>2]|0){LB(c[(c[v>>2]|0)+4>>2]|0)|0;c[(c[v>>2]|0)+4>>2]=0;c[(c[v>>2]|0)+12>>2]=0}Cg(c[r>>2]|0);c[q>>2]=c[y>>2];C=c[q>>2]|0;i=D;return C|0}function MJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;d=j;c[k>>2]=b;c[g>>2]=c[(c[k>>2]|0)+4>>2];mg(c[k>>2]|0);if(!(a[(c[g>>2]|0)+17>>0]|0)){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[f>>2]=JF(c[g>>2]|0)|0;c[e>>2]=gr((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[d>>2]=ZJ(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0){c[h>>2]=Qj(61866)|0;k=c[h>>2]|0;i=j;return k|0}if((c[e>>2]|0)>>>0<=0){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[h>>2]=XH(c[g>>2]|0,0,0)|0;if(!(c[h>>2]|0)){_J(c[g>>2]|0);c[h>>2]=$J(c[g>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0}if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=Gg(c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0)|0;ft((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[g>>2]|0)+44>>2]|0);k=c[h>>2]|0;i=j;return k|0}function NJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+8|0;h=m+4|0;j=m+13|0;l=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[l>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){l=c[l>>2]|0;i=m;return l|0}a[k>>0]=1+(d[j>>0]|0);mg(c[g>>2]|0);c[l>>2]=WH(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=YJ(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}function OJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;e=m+20|0;f=m+16|0;k=m+12|0;j=m+8|0;g=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if((c[(c[e>>2]|0)+316>>2]|0)>0?(c[(c[e>>2]|0)+340>>2]|0)==0:0){c[d>>2]=6;l=c[d>>2]|0;i=m;return l|0}if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[j>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0))break;if((c[(c[(c[e>>2]|0)+340>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[f>>2]|0)){l=10;break}c[g>>2]=(c[g>>2]|0)+1}if((l|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[k>>2]=WJ(c[e>>2]|0)|0;if((((c[k>>2]|0)==0?(c[k>>2]=Tb[c[(c[j>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[k>>2]|0)==0):0)?(c[h>>2]=(c[(c[e>>2]|0)+436>>2]|0)+(c[(c[e>>2]|0)+432>>2]|0),XJ(c[e>>2]|0,c[f>>2]|0),(c[h>>2]|0)!=0):0)?(c[(c[j>>2]|0)+80>>2]|0)!=0:0){c[(c[f>>2]|0)+20>>2]=c[h>>2];c[k>>2]=Yb[c[(c[j>>2]|0)+80>>2]&255](c[(c[f>>2]|0)+8>>2]|0,(c[h>>2]|0)-1|0)|0}}c[d>>2]=c[k>>2];l=c[d>>2]|0;i=m;return l|0}function PJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;l=n;f=n+32|0;o=n+28|0;p=n+24|0;g=n+20|0;k=n+16|0;j=n+12|0;h=n+8|0;m=n+4|0;c[f>>2]=a;c[o>>2]=b;c[p>>2]=d;c[g>>2]=e;c[k>>2]=0;c[j>>2]=ti(c[f>>2]|0,c[p>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[m>>2]=c[c[(c[j>>2]|0)+52>>2]>>2];c[h>>2]=sj((c[f>>2]|0)+320|0,c[m>>2]|0)|0;if(((c[h>>2]|0)!=0?(c[(c[c[h>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[h>>2]>>2]|0)+20>>2]|0)!=0:0)c[k>>2]=Jz(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+4>>2]|0,c[g>>2]|0)|0;else{p=c[f>>2]|0;c[l>>2]=c[m>>2];p=Gh(p,30631,l)|0;c[c[g>>2]>>2]=p;c[k>>2]=1}if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}if(!(Ux(c[f>>2]|0,c[j>>2]|0)|0)){p=c[k>>2]|0;i=n;return p|0}c[k>>2]=WJ(c[f>>2]|0)|0;if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}p=c[f>>2]|0;XJ(p,Ux(c[f>>2]|0,c[j>>2]|0)|0);p=c[k>>2]|0;i=n;return p|0}function QJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;m=l+20|0;n=l+16|0;j=l+12|0;h=l+8|0;g=l+4|0;k=l;c[f>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=0;c[h>>2]=ti(c[f>>2]|0,c[n>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+56>>2]|0)!=0:0){c[g>>2]=c[(c[h>>2]|0)+56>>2];while(1){if(!(c[g>>2]|0)){a=8;break}if((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[g>>2]=c[(c[g>>2]|0)+24>>2]}if((a|0)==6){c[e>>2]=6;n=c[e>>2]|0;i=l;return n|0}else if((a|0)==8){c[g>>2]=VJ(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=c[(c[c[(c[g>>2]|0)+4>>2]>>2]|0)+20>>2];c[j>>2]=Tb[c[k>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;if(c[j>>2]|0)break;c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+56>>2]=0;su(c[g>>2]|0);break}}while(0);c[e>>2]=c[j>>2];n=c[e>>2]|0;i=l;return n|0}function RJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;mg(c[g>>2]|0);c[d>>2]=UJ(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function SJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==3082){i=f;return}c[e>>2]=c[e>>2]&255;if(!((c[e>>2]|0)==14|(c[e>>2]|0)==10)){i=f;return}b=TJ(c[c[d>>2]>>2]|0)|0;c[(c[d>>2]|0)+60>>2]=b;i=f;return}function TJ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+68>>2]|0)){a=0;i=d;return a|0}a=Ob[c[(c[b>>2]|0)+68>>2]&255](c[b>>2]|0,0,0)|0;i=d;return a|0}function UJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];i=f;return c[(c[d>>2]|0)+164>>2]|0}function VJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[j>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[j>>2]|0))break;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+24>>2];if((c[f>>2]|0)==(c[d>>2]|0)){c[h>>2]=c[j>>2];c[(c[e>>2]|0)+56>>2]=c[h>>2];c[(c[h>>2]|0)+24>>2]=0}else{c[(c[j>>2]|0)+24>>2]=c[(c[f>>2]|0)+344>>2];c[(c[f>>2]|0)+344>>2]=c[j>>2]}c[j>>2]=c[g>>2]}i=k;return c[h>>2]|0}function WJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+316>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+316>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=Uw(c[d>>2]|0,c[(c[d>>2]|0)+340>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+316>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+340>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function XJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[e>>2]|0;g=(c[f>>2]|0)+316|0;b=c[g>>2]|0;c[g>>2]=b+1;c[(c[(c[f>>2]|0)+340>>2]|0)+(b<<2)>>2]=a;hI(c[e>>2]|0);i=d;return}function YJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+20|0;h=p+16|0;j=p+12|0;k=p+24|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0)?(c[c[m>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((o|0)==5)c[n>>2]=c[m>>2];do if(!(c[n>>2]|0)){c[n>>2]=kg(16,0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+4>>2]=c[j>>2];c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=c[n>>2];break}c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}while(0);if((d[k>>0]|0|0)>(d[(c[n>>2]|0)+8>>0]|0|0))a[(c[n>>2]|0)+8>>0]=a[k>>0]|0;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function ZJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;e=g+20|0;h=g+16|0;k=g+12|0;l=g+8|0;j=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(VF(c[e>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){l=VF(c[e>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return d|0}function _J(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}i=f;return}function $J(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;h=z+52|0;j=z+48|0;k=z+44|0;l=z+40|0;m=z+36|0;t=z+32|0;x=z+28|0;o=z+57|0;s=z+24|0;p=z+20|0;u=z+16|0;q=z+12|0;w=z+8|0;n=z+56|0;r=z+4|0;v=z;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b=VF(c[j>>2]|0,c[l>>2]|0)|0;do if((b|0)!=(c[l>>2]|0)?(c[l>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[t>>2]=gr((c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[t>>2]|0)){c[h>>2]=101;y=c[h>>2]|0;i=z;return y|0}c[x>>2]=WF(c[j>>2]|0,c[l>>2]|0,o,s)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==1){c[h>>2]=Qj(61751)|0;y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==2){if(c[m>>2]|0)break;c[x>>2]=aK(c[j>>2]|0,u,p,c[l>>2]|0,1)|0;if(!(c[x>>2]|0)){QB(c[u>>2]|0);break}c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}a[n>>0]=0;c[r>>2]=0;c[x>>2]=XF(c[j>>2]|0,c[l>>2]|0,w,0)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if(!(c[m>>2]|0)){a[n>>0]=2;c[r>>2]=c[k>>2]}do{c[x>>2]=aK(c[j>>2]|0,v,q,c[r>>2]|0,a[n>>0]|0)|0;if(c[x>>2]|0){y=19;break}QB(c[v>>2]|0);if(!(c[m>>2]|0))break}while((c[q>>2]|0)>>>0>(c[k>>2]|0)>>>0);if((y|0)==19){QB(c[w>>2]|0);c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}c[x>>2]=bK(c[j>>2]|0,c[w>>2]|0,a[o>>0]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;QB(c[w>>2]|0);if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}}while(0);if(!(c[m>>2]|0)){while(1){c[l>>2]=(c[l>>2]|0)+-1;if((c[l>>2]|0)==((((c[384]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=VF(c[j>>2]|0,c[l>>2]|0)|0;if((y|0)!=(c[l>>2]|0))break}a[(c[j>>2]|0)+19>>0]=1;c[(c[j>>2]|0)+44>>2]=c[l>>2]}c[h>>2]=0;y=c[h>>2]|0;i=z;return y|0}function aK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;H=L+96|0;m=L+92|0;n=L+88|0;o=L+84|0;p=L+80|0;q=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;k=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;r=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;j=L+4|0;l=L;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[J>>2]=0;c[I>>2]=0;c[F>>2]=c[(c[m>>2]|0)+12>>2];c[A>>2]=JF(c[m>>2]|0)|0;c[B>>2]=gr((c[(c[F>>2]|0)+56>>2]|0)+36|0)|0;if((c[B>>2]|0)>>>0>=(c[A>>2]|0)>>>0){c[H>>2]=Qj(63793)|0;K=c[H>>2]|0;i=L;return K|0}a:do if((c[B>>2]|0)>>>0>0){a[G>>0]=0;c[C>>2]=0;do if((d[q>>0]|0)==1){if((c[p>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[K>>2]=WF(c[m>>2]|0,c[p>>2]|0,k,0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{if((d[k>>0]|0)!=2)break;a[G>>0]=1;break}}}else if((d[q>>0]|0)==2)a[G>>0]=1;while(0);c[K>>2]=Gg(c[(c[F>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}ft((c[(c[F>>2]|0)+56>>2]|0)+36|0,(c[B>>2]|0)-1|0);b:while(1){c[I>>2]=c[J>>2];if(c[I>>2]|0)c[y>>2]=gr(c[(c[I>>2]|0)+56>>2]|0)|0;else c[y>>2]=gr((c[(c[F>>2]|0)+56>>2]|0)+32|0)|0;if((c[y>>2]|0)>>>0<=(c[A>>2]|0)>>>0?(e=c[C>>2]|0,c[C>>2]=e+1,e>>>0<=(c[B>>2]|0)>>>0):0)c[K>>2]=iK(c[m>>2]|0,c[y>>2]|0,J,0)|0;else c[K>>2]=Qj(63849)|0;if(c[K>>2]|0){j=23;break}c[z>>2]=gr((c[(c[J>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[z>>2]|0)!=0|(a[G>>0]|0)!=0){if((c[z>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){j=28;break b}do if(d[G>>0]|0){if((c[p>>2]|0)!=(c[y>>2]|0)){if((c[y>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[y>>2];c[c[n>>2]>>2]=c[J>>2];a[G>>0]=0;c[K>>2]=Gg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;do if(!(c[z>>2]|0)){if(!(c[I>>2]|0)){e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;break}c[K>>2]=Gg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;e=c[(c[I>>2]|0)+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}else{c[w>>2]=gr((c[(c[J>>2]|0)+56>>2]|0)+8|0)|0;if((c[w>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=40;break b}c[K>>2]=iK(c[m>>2]|0,c[w>>2]|0,E,0)|0;if(c[K>>2]|0)break a;c[K>>2]=Gg(c[(c[E>>2]|0)+72>>2]|0)|0;h=c[E>>2]|0;if(c[K>>2]|0){j=43;break b}e=c[h+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;ft((c[(c[E>>2]|0)+56>>2]|0)+4|0,(c[z>>2]|0)-1|0);TR((c[(c[E>>2]|0)+56>>2]|0)+8|0,(c[(c[J>>2]|0)+56>>2]|0)+12|0,(c[z>>2]|0)-1<<2|0)|0;QB(c[E>>2]|0);if(!(c[I>>2]|0)){ft((c[(c[F>>2]|0)+56>>2]|0)+32|0,c[w>>2]|0);break}c[K>>2]=Gg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;ft(c[(c[I>>2]|0)+56>>2]|0,c[w>>2]|0)}while(0);c[J>>2]=0;break c}while(0);if((c[z>>2]|0)>>>0>0){c[r>>2]=c[(c[J>>2]|0)+56>>2];e=(c[p>>2]|0)>>>0>0;c[s>>2]=0;d:do if(e)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;c[x>>2]=gr((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;j=c[v>>2]|0;if((c[x>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[v>>2]=j+1}c[s>>2]=j;break}else{e=gr((c[r>>2]|0)+8|0)|0;c[u>>2]=Dj(e-(c[p>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;e=gr((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[t>>2]=Dj(e-(c[p>>2]|0)|0)|0;if((c[t>>2]|0)<(c[u>>2]|0)){c[s>>2]=c[v>>2];c[u>>2]=c[t>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[x>>2]=gr((c[r>>2]|0)+(8+(c[s>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=63;break b}if((a[G>>0]|0)!=0?(c[x>>2]|0)!=(c[p>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[x>>2];c[K>>2]=Gg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;if((c[s>>2]|0)>>>0<((c[z>>2]|0)-1|0)>>>0){e=(c[r>>2]|0)+(8+(c[s>>2]<<2))|0;f=(c[r>>2]|0)+(4+(c[z>>2]<<2))|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}ft((c[r>>2]|0)+4|0,(c[z>>2]|0)-1|0);e=(jK(c[m>>2]|0,c[c[o>>2]>>2]|0)|0)!=0^1;c[D>>2]=e?1:0;c[K>>2]=iK(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[D>>2]|0)|0;do if(!(c[K>>2]|0)){c[K>>2]=Gg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;QB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0}while(0);a[G>>0]=0}}else{c[K>>2]=Gg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;c[c[o>>2]>>2]=c[y>>2];e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;c[c[n>>2]>>2]=c[J>>2];c[J>>2]=0}while(0);QB(c[I>>2]|0);c[I>>2]=0;if(!(a[G>>0]|0))break a}if((j|0)==23){c[J>>2]=0;break}else if((j|0)==28){c[K>>2]=Qj(63878)|0;break}else if((j|0)==40){c[K>>2]=Qj(63912)|0;break}else if((j|0)==43){QB(h);break}else if((j|0)==63){c[K>>2]=Qj(63977)|0;break}}else{c[j>>2]=0==(d[(c[m>>2]|0)+19>>0]|0)?1:0;c[K>>2]=Gg(c[(c[(c[m>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)==((((c[384]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if((d[(c[m>>2]|0)+17>>0]|0)!=0?(G=VF(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[m>>2]|0)+44>>2]|0)):0){c[l>>2]=0;c[K>>2]=iK(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0,l,c[j>>2]|0)|0;if(!(c[K>>2]|0)){c[K>>2]=Gg(c[(c[l>>2]|0)+72>>2]|0)|0;QB(c[l>>2]|0)}if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);ft((c[(c[(c[m>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[m>>2]|0)+44>>2]|0);c[c[o>>2]>>2]=c[(c[m>>2]|0)+44>>2];c[K>>2]=iK(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{c[K>>2]=Gg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;QB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;break}}while(0);QB(c[J>>2]|0);QB(c[I>>2]|0);c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}function bK(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;k=v+32|0;p=v+44|0;q=v+28|0;r=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;l=v;c[o>>2]=b;c[k>>2]=e;a[p>>0]=f;c[q>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[o>>2]>>2];c[u>>2]=cK(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[l>>2]=gr(c[(c[k>>2]|0)+56>>2]|0)|0;if((c[l>>2]|0)!=0?(eK(c[o>>2]|0,c[l>>2]|0,4,c[r>>2]|0,u),(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}}else m=5;if((m|0)==5?(c[u>>2]=dK(c[k>>2]|0)|0,(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}do if((d[p>>0]|0|0)!=1){c[u>>2]=XF(c[o>>2]|0,c[q>>2]|0,t,0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[u>>2]=Gg(c[(c[t>>2]|0)+72>>2]|0)|0;k=c[t>>2]|0;if(c[u>>2]|0){QB(k);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}else{c[u>>2]=fK(k,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;QB(c[t>>2]|0);if(c[u>>2]|0)break;eK(c[o>>2]|0,c[r>>2]|0,a[p>>0]|0,c[q>>2]|0,u);break}}while(0);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}function cK(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+36|0;m=u+32|0;n=u+28|0;o=u+24|0;k=u+20|0;s=u+16|0;p=u+12|0;t=u+8|0;q=u+4|0;r=u;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[k>>2]=j;c[p>>2]=0;if((a[(c[m>>2]|0)+13>>0]|0)!=0?(c[t>>2]=Gg(c[n>>2]|0)|0,(c[t>>2]|0)!=0):0){c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}if((e[(c[n>>2]|0)+24>>1]&2|0)!=0?(h=wt(c[n>>2]|0)|0,c[t>>2]=h,0!=(h|0)):0){c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}if(!((c[k>>2]|0)!=0?1:(e[(c[n>>2]|0)+24>>1]&8|0)==0))c[p>>2]=c[(c[n>>2]|0)+20>>2];h=(c[n>>2]|0)+24|0;b[h>>1]=e[h>>1]&-9;c[s>>2]=hs(c[m>>2]|0,c[o>>2]|0)|0;do if(c[s>>2]|0){k=(c[n>>2]|0)+24|0;b[k>>1]=e[k>>1]|e[(c[s>>2]|0)+24>>1]&8;k=c[s>>2]|0;if(a[(c[m>>2]|0)+13>>0]|0){hK(k,(c[(c[m>>2]|0)+28>>2]|0)+1|0);break}else{Gs(k);break}}while(0);c[q>>2]=c[(c[n>>2]|0)+20>>2];hK(c[n>>2]|0,c[o>>2]|0);js(c[n>>2]|0);if((c[s>>2]|0)!=0?(d[(c[m>>2]|0)+13>>0]|0)!=0:0){hK(c[s>>2]|0,c[q>>2]|0);Js(c[s>>2]|0)}do if(c[p>>2]|0){c[t>>2]=vg(c[m>>2]|0,c[p>>2]|0,r,0)|0;if(!(c[t>>2]|0)){t=(c[r>>2]|0)+24|0;b[t>>1]=e[t>>1]|8;js(c[r>>2]|0);Js(c[r>>2]|0);break}if((c[p>>2]|0)>>>0<=(c[(c[m>>2]|0)+32>>2]|0)>>>0)mj(c[(c[m>>2]|0)+60>>2]|0,c[p>>2]|0,c[(c[m>>2]|0)+208>>2]|0);c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}while(0);c[l>>2]=0;t=c[l>>2]|0;i=u;return t|0}function dK(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;j=q+28|0;l=q+24|0;p=q+20|0;m=q+16|0;k=q+36|0;o=q+12|0;n=q+8|0;g=q+4|0;h=q;c[f>>2]=b;c[m>>2]=c[(c[f>>2]|0)+52>>2];a[k>>0]=a[c[f>>2]>>0]|0;c[o>>2]=c[(c[f>>2]|0)+84>>2];c[p>>2]=Wt(c[f>>2]|0)|0;if(c[p>>2]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=e[(c[f>>2]|0)+18>>1];c[j>>2]=0;while(1){b=c[f>>2]|0;if((c[j>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]));gK(c[f>>2]|0,c[n>>2]|0,p);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[g>>2]=gr(c[n>>2]|0)|0;eK(c[m>>2]|0,c[g>>2]|0,5,c[o>>2]|0,p)}c[j>>2]=(c[j>>2]|0)+1}if(a[b+4>>0]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[h>>2]=gr((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;eK(c[m>>2]|0,c[h>>2]|0,5,c[o>>2]|0,p);n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}function eK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+32|0;k=t+28|0;l=t+36|0;m=t+24|0;n=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;s=t;c[j>>2]=b;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;c[n>>2]=h;if(c[c[n>>2]>>2]|0){i=t;return}if(!(c[k>>2]|0)){s=Qj(59184)|0;c[c[n>>2]>>2]=s;i=t;return}c[o>>2]=VF(c[j>>2]|0,c[k>>2]|0)|0;c[s>>2]=vg(c[c[j>>2]>>2]|0,c[o>>2]|0,q,0)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}c[p>>2]=((c[k>>2]|0)-(c[o>>2]|0)-1|0)*5;do if((c[p>>2]|0)>=0){c[r>>2]=wg(c[q>>2]|0)|0;if((d[l>>0]|0|0)==(d[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0|0)?(g=gr((c[r>>2]|0)+((c[p>>2]|0)+1)|0)|0,(g|0)==(c[m>>2]|0)):0)break;g=Gg(c[q>>2]|0)|0;c[s>>2]=g;c[c[n>>2]>>2]=g;if(!(c[s>>2]|0)){a[(c[r>>2]|0)+(c[p>>2]|0)>>0]=a[l>>0]|0;ft((c[r>>2]|0)+((c[p>>2]|0)+1)|0,c[m>>2]|0)}}else{s=Qj(59195)|0;c[c[n>>2]>>2]=s}while(0);yg(c[q>>2]|0);i=t;return}function fK(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;j=v+52|0;k=v+48|0;l=v+44|0;m=v+40|0;n=v+57|0;q=v+56|0;o=v+36|0;r=v+32|0;t=v+28|0;s=v+24|0;p=v;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;h=c[k>>2]|0;do if((d[n>>0]|0|0)==4){u=gr(c[h+56>>2]|0)|0;if((u|0)==(c[l>>2]|0)){ft(c[(c[k>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[j>>2]=Qj(61581)|0;u=c[j>>2]|0;i=v;return u|0}else{a[q>>0]=a[h>>0]|0;c[t>>2]=Wt(c[k>>2]|0)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}c[r>>2]=e[(c[k>>2]|0)+18>>1];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[s>>2]=(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]|0)));if((d[n>>0]|0|0)==3){Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,c[s>>2]|0,p);if(((e[p+16>>1]|0)>>>0<(c[p+12>>2]|0)>>>0?((c[s>>2]|0)+(e[p+18>>1]|0)+-1|0)>>>0<=((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=c[l>>2]|0,(t|0)==(gr((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=gr(c[s>>2]|0)|0;if((t|0)==(c[l>>2]|0)){u=15;break}}c[o>>2]=(c[o>>2]|0)+1}if((u|0)==13)ft((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0,c[m>>2]|0);else if((u|0)==15)ft(c[s>>2]|0,c[m>>2]|0);do if((c[o>>2]|0)==(c[r>>2]|0)){if((d[n>>0]|0|0)==5?(u=gr((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[l>>2]|0)):0){ft((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[m>>2]|0);break}c[j>>2]=Qj(61617)|0;u=c[j>>2]|0;i=v;return u|0}while(0);a[c[k>>2]>>0]=a[q>>0]|0}while(0);c[j>>2]=0;u=c[j>>2]|0;i=v;return u|0}function gK(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+36|0;g=l+32|0;h=l+28|0;j=l;k=l+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){i=l;return}Ub[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,j);if((e[j+16>>1]|0)>>>0>=(c[j+12>>2]|0)>>>0){i=l;return}c[k>>2]=gr((c[g>>2]|0)+((e[j+18>>1]|0)-4)|0)|0;eK(c[(c[f>>2]|0)+52>>2]|0,c[k>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);i=l;return}function hK(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];_b[c[152>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){i=f;return}hj(c[d>>2]|0,3);i=f;return}function iK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=XF(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;do if(!(c[j>>2]|0)){n=(Vt(c[(c[f>>2]|0)+72>>2]|0)|0)>1;f=c[c[h>>2]>>2]|0;if(!n){a[f>>0]=0;break}QB(f);c[c[h>>2]>>2]=0;c[g>>2]=Qj(60316)|0;n=c[g>>2]|0;i=k;return n|0}else c[f>>2]=0;while(0);c[g>>2]=c[j>>2];n=c[g>>2]|0;i=k;return n|0}function jK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=f;return g|0}g=c[d>>2]|0;if(g>>>0>(oj(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=f;return g|0}g=(nj(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;i=f;return g|0}function kK(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+13>>0]|0|0}function lK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+24|0;f=l+20|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[m>>2]=d;c[j>>2]=af(c[f>>2]|0,c[m>>2]|0,-1,h,0)|0;if(c[j>>2]|0){c[e>>2]=c[j>>2];m=c[e>>2]|0;i=l;return m|0}while(1){m=te(c[h>>2]|0)|0;c[j>>2]=m;if(100!=(m|0))break;c[k>>2]=Ee(c[h>>2]|0,0)|0;if(!(c[k>>2]|0))continue;c[j>>2]=lK(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0)|0;if(c[j>>2]|0)break}if((c[j>>2]|0)==101)c[j>>2]=0;if(c[j>>2]|0){k=c[g>>2]|0;m=c[f>>2]|0;Cj(k,m,bf(c[f>>2]|0)|0)}Xd(c[h>>2]|0)|0;c[e>>2]=c[j>>2];m=c[e>>2]|0;i=l;return m|0}function mK(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=qK(c[e>>2]|0)|0;i=d;return c[b>>2]|0}function nK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;f=l+40|0;g=l+36|0;h=l+32|0;n=l+28|0;k=l+24|0;m=l+8|0;j=l;c[g>>2]=a;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;c[k>>2]=ox(c[g>>2]|0,c[n>>2]|0,m)|0;if(!(c[k>>2]|0)){c[f>>2]=7;n=c[f>>2]|0;i=l;return n|0}else{c[j>>2]=lK(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;Tf(c[g>>2]|0,c[k>>2]|0);c[f>>2]=c[j>>2];n=c[f>>2]|0;i=l;return n|0}return 0}function oK(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+80|0;h=m+68|0;j=m+64|0;l=m+60|0;g=m+56|0;k=m+8|0;f=m;c[h>>2]=a;c[j>>2]=d;mg(c[h>>2]|0);mg(c[j>>2]|0);c[g>>2]=Eg(Pf(c[h>>2]|0)|0)|0;if((c[c[g>>2]>>2]|0)!=0?(d=sg(c[j>>2]|0)|0,d=aS(d|0,((d|0)<0)<<31>>31|0,ug(c[j>>2]|0)|0,0)|0,a=f,c[a>>2]=d,c[a+4>>2]=C,a=Ai(c[g>>2]|0,11,f)|0,c[l>>2]=a,c[l>>2]=(c[l>>2]|0)==12?0:a,(c[l>>2]|0)!=0):0){l=c[l>>2]|0;i=m;return l|0}f=k;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[k+20>>2]=c[c[j>>2]>>2];c[k+24>>2]=c[j>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Vd(k,2147483647)|0;c[l>>2]=Wd(k)|0;if(!(c[l>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;l=c[l>>2]|0;i=m;return l|0}else{pK(Pf(c[k+4>>2]|0)|0);l=c[l>>2]|0;i=m;return l|0}return 0}function pK(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+13>>0]|0){i=e;return}Zi(c[b>>2]|0);i=e;return}function qK(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function rK(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p+28|0;o=p+24|0;f=p+20|0;j=p+16|0;e=p+12|0;h=p+8|0;g=p+4|0;k=p;m=p+32|0;c[n>>2]=b;c[o>>2]=0;do if((Br(c[n>>2]|0)|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0){c[f>>2]=1;c[o>>2]=Ft(c[n>>2]|0,1)|0;if(!(c[o>>2]|0)){if((d[(c[n>>2]|0)+18>>0]|0)<=1)c[o>>2]=sK(c[n>>2]|0,f)|0;if(!(c[o>>2]|0)){if(c[f>>2]|0){if(a[(c[n>>2]|0)+15>>0]|0){c[o>>2]=776;break}c[o>>2]=Gt(c[n>>2]|0,4)|0;if(c[o>>2]|0)break;if((((c[c[(c[n>>2]|0)+68>>2]>>2]|0)==0?(c[j>>2]=c[c[n>>2]>>2],c[o>>2]=Yr(c[j>>2]|0,c[(c[n>>2]|0)+180>>2]|0,0,e)|0,(c[o>>2]|0)==0&(c[e>>2]|0)!=0):0)?(c[h>>2]=0,c[g>>2]=2050,c[o>>2]=Ur(c[j>>2]|0,c[(c[n>>2]|0)+180>>2]|0,c[(c[n>>2]|0)+68>>2]|0,c[g>>2]|0,h)|0,(c[o>>2]|0)==0):0)?(c[h>>2]&1|0)!=0:0){c[o>>2]=ot(51483)|0;or(c[(c[n>>2]|0)+68>>2]|0)}e=c[n>>2]|0;if(c[c[(c[n>>2]|0)+68>>2]>>2]|0){c[o>>2]=lr(e)|0;if(!(c[o>>2]|0)){c[o>>2]=Wr(c[n>>2]|0,((a[(c[n>>2]|0)+13>>0]|0)!=0^1)&1)|0;a[(c[n>>2]|0)+17>>0]=0}}else if(!(a[e+4>>0]|0))Fr(c[n>>2]|0,1)|0;if(c[o>>2]|0){mr(c[n>>2]|0,c[o>>2]|0)|0;break}}if((a[(c[n>>2]|0)+13>>0]|0)==0?(d[(c[n>>2]|0)+24>>0]|0)!=0:0){c[k>>2]=0;c[o>>2]=tK(c[n>>2]|0,k)|0;if(c[o>>2]|0)break;if((c[k>>2]|0)>>>0>0){c[o>>2]=es(c[(c[n>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[o>>2]|0)!=0&(c[o>>2]|0)!=522)break}else{e=m;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}if(eR((c[n>>2]|0)+112|0,m,16)|0)Zi(c[n>>2]|0)}c[o>>2]=uK(c[n>>2]|0)|0;l=32}}}else l=32;while(0);if((l|0)==32){if(Br(c[n>>2]|0)|0)c[o>>2]=vK(c[n>>2]|0)|0;if((d[(c[n>>2]|0)+13>>0]|0)==0?((c[o>>2]|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0):0)c[o>>2]=tK(c[n>>2]|0,(c[n>>2]|0)+28|0)|0}e=c[n>>2]|0;if(c[o>>2]|0){kr(e);o=c[o>>2]|0;i=p;return o|0}else{a[e+17>>0]=1;a[(c[n>>2]|0)+24>>0]=1;o=c[o>>2]|0;i=p;return o|0}return 0}function sK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;o=q+24|0;p=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;j=q;k=q+36|0;c[f>>2]=b;c[g>>2]=e;c[o>>2]=c[c[f>>2]>>2];c[p>>2]=0;c[h>>2]=1;c[l>>2]=((c[c[(c[f>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[g>>2]>>2]=0;if(!(c[l>>2]|0))c[p>>2]=Yr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0,h)|0;if(!((c[p>>2]|0)==0&(c[h>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[m>>2]=0;c[p>>2]=CK(c[(c[f>>2]|0)+64>>2]|0,m)|0;if((c[p>>2]|0)!=0|(c[m>>2]|0)!=0){p=c[p>>2]|0;i=q;return p|0}c[p>>2]=tK(c[f>>2]|0,n)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!((c[n>>2]|0)!=0|(c[l>>2]|0)!=0)){Yj();if((Gt(c[f>>2]|0,2)|0)==0?(xr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0,(a[(c[f>>2]|0)+4>>0]|0)==0):0)Fr(c[f>>2]|0,1)|0;Zj();p=c[p>>2]|0;i=q;return p|0}if(!(c[l>>2]|0)){c[j>>2]=2049;c[p>>2]=Ur(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,j)|0}if(!(c[p>>2]|0)){a[k>>0]=0;o=es(c[(c[f>>2]|0)+68>>2]|0,k,1,0,0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)==522?0:o;if(!(c[l>>2]|0))or(c[(c[f>>2]|0)+68>>2]|0);c[c[g>>2]>>2]=(d[k>>0]|0)!=0&1;p=c[p>>2]|0;i=q;return p|0}else{if((c[p>>2]|0)!=14){p=c[p>>2]|0;i=q;return p|0}c[c[g>>2]>>2]=1;c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function tK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+24|0;e=k+20|0;f=k+16|0;h=k+12|0;g=k;j=k+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=BK(c[(c[e>>2]|0)+216>>2]|0)|0;do if((c[h>>2]|0)==0?(c[c[(c[e>>2]|0)+64>>2]>>2]|0)!=0:0){b=g;c[b>>2]=0;c[b+4>>2]=0;c[j>>2]=Xi(c[(c[e>>2]|0)+64>>2]|0,g)|0;if(!(c[j>>2]|0)){j=g;b=c[(c[e>>2]|0)+160>>2]|0;b=RR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=QR(b|0,C|0,1,0)|0;j=c[(c[e>>2]|0)+160>>2]|0;j=_R(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[h>>2]=j;break}c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}while(0);if((c[h>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[h>>2];c[c[f>>2]>>2]=c[h>>2];c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function uK(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l+4|0;f=l;c[h>>2]=b;c[k>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[k>>2]=tK(c[h>>2]|0,f)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=xr(b,e,0)|0;c[k>>2]=f;c[k>>2]=(c[k>>2]|0)==5898?0:f;c[j>>2]=0}else c[k>>2]=Yr(b,e,0,j)|0;if(!(c[k>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[k>>2]=xK(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}function vK(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Qs(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=wK(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=e;return f|0}Zi(c[b>>2]|0);f=c[d>>2]|0;i=e;return f|0}function wK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do{j=c[d>>2]|0;b=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[g>>2]=Nt(j,b,0,a)|0}while((c[g>>2]|0)==-1);i=h;return c[g>>2]|0}function xK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if((a[(c[f>>2]|0)+13>>0]|0)==0?(c[(c[f>>2]|0)+216>>2]|0)==0:0)if(IJ(c[f>>2]|0)|0){or(c[(c[f>>2]|0)+68>>2]|0);c[h>>2]=yK(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;j=c[e>>2]|0;i=k;return j|0}else j=7;while(0);if((j|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function yK(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=zK(c[e>>2]|0)|0;if(c[f>>2]|0){b=c[e>>2]|0;aj(b);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=AK(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;b=c[e>>2]|0;aj(b);f=c[f>>2]|0;i=g;return f|0}function zK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Gt(c[b>>2]|0,4)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}Fr(c[b>>2]|0,1)|0;d=c[d>>2]|0;i=e;return d|0}function AK(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+44|0;m=w+40|0;n=w+36|0;o=w+32|0;p=w+28|0;q=w;r=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;f=q;c[f>>2]=h;c[f+4>>2]=j;c[r>>2]=k;c[c[r>>2]>>2]=0;c[u>>2]=kg(120+(c[(c[m>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[u>>2]|0)){c[l>>2]=7;f=c[l>>2]|0;i=w;return f|0}c[c[u>>2]>>2]=c[m>>2];c[(c[u>>2]|0)+8>>2]=(c[u>>2]|0)+120;c[(c[u>>2]|0)+4>>2]=c[n>>2];b[(c[u>>2]|0)+40>>1]=-1;d=q;k=c[d+4>>2]|0;f=(c[u>>2]|0)+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=k;c[(c[u>>2]|0)+108>>2]=c[o>>2];a[(c[u>>2]|0)+48>>0]=1;a[(c[u>>2]|0)+49>>0]=1;a[(c[u>>2]|0)+43>>0]=(c[p>>2]|0)!=0?2:0;c[s>>2]=524294;c[v>>2]=Ur(c[m>>2]|0,c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[s>>2]|0,s)|0;if((c[v>>2]|0)==0?(c[s>>2]&1|0)!=0:0)a[(c[u>>2]|0)+46>>0]=1;if(c[v>>2]|0){Vs(c[u>>2]|0,0);or(c[(c[u>>2]|0)+8>>2]|0);Kd(c[u>>2]|0)}else{c[t>>2]=bs(c[n>>2]|0)|0;if(c[t>>2]&1024)a[(c[u>>2]|0)+48>>0]=0;if(c[t>>2]&4096)a[(c[u>>2]|0)+49>>0]=0;c[c[r>>2]>>2]=c[u>>2]}c[l>>2]=c[v>>2];f=c[l>>2]|0;i=w;return f|0}function BK(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];a=c[d>>2]|0;i=f;return a|0}c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function CK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function DK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+176|0;d=g+168|0;f=g+164|0;b=g+160|0;e=g;c[d>>2]=a;VR(e|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if(!(c[e+(c[f>>2]<<2)>>2]|0))break;c[d>>2]=GK(c[e+(c[f>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[e+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}c[e+(c[f>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=c[e>>2];c[f>>2]=1;while(1){if((c[f>>2]|0)>>>0>=40)break;if(c[e+(c[f>>2]<<2)>>2]|0){if(c[d>>2]|0)a=GK(c[d>>2]|0,c[e+(c[f>>2]<<2)>>2]|0)|0;else a=c[e+(c[f>>2]<<2)>>2]|0;c[d>>2]=a}c[f>>2]=(c[f>>2]|0)+1}i=g;return c[d>>2]|0}function EK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=IK(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}i=g;return a|0}function FK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;h=j+4|0;f=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){FK(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){FK(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);i=j;return}else{c[c[h>>2]>>2]=a;i=j;return}}function GK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;k=c[a+4>>2]|0;b=c[e>>2]|0;j=c[b+4>>2]|0;if(!((k|0)<(j|0)|((k|0)==(j|0)?(c[a>>2]|0)>>>0<=(c[b>>2]|0)>>>0:0))){k=c[e>>2]|0;c[(c[g>>2]|0)+8>>2]=k;c[g>>2]=k;c[e>>2]=c[(c[e>>2]|0)+8>>2];if(!(c[e>>2]|0)){a=8;break}else continue}j=c[d>>2]|0;a=c[j+4>>2]|0;k=c[e>>2]|0;b=c[k+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){k=c[d>>2]|0;c[(c[g>>2]|0)+8>>2]=k;c[g>>2]=k}c[d>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[d>>2]|0)){a=6;break}}if((a|0)==6){c[(c[g>>2]|0)+8>>2]=c[e>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}else if((a|0)==8){c[(c[g>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}return 0}function HK(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=Vw(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}while(0);a=(c[f>>2]|0)+24|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;a=(c[f>>2]|0)+16|0;g=c[a>>2]|0;c[a>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;i=h;return g|0}function IK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}b=c[f>>2]|0;do if((c[g>>2]|0)>1){c[d>>2]=IK(b,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];b=c[d>>2]|0;if(c[h>>2]|0){c[(c[h>>2]|0)+12>>2]=b;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=IK(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;break}c[e>>2]=b;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=c[b>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0}while(0);c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}function JK(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function KK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function LK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;q=x+76|0;h=x+72|0;r=x+68|0;s=x+64|0;j=x+60|0;t=x+56|0;u=x+52|0;n=x+48|0;m=x+44|0;l=x+40|0;k=x+36|0;c[q>>2]=b;c[h>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=c[s>>2];c[u>>2]=c[r>>2];while(1){b=c[s>>2]|0;c[s>>2]=b+-1;if((b|0)<=0){g=25;break}if(!(c[(c[q>>2]|0)+16>>2]|0)){g=25;break}f=c[q>>2]|0;if((c[r>>2]|0)<1){g=5;break}if(QK(f,c[r>>2]|0)|0){g=25;break}if(vg(c[(c[q>>2]|0)+4>>2]|0,c[r>>2]|0,n,0)|0){g=8;break}c[m>>2]=wg(c[n>>2]|0)|0;do if(!(c[h>>2]|0)){if((c[s>>2]|0)>0?(d[(c[c[q>>2]>>2]|0)+17>>0]|0)!=0:0){c[j>>2]=gr(c[m>>2]|0)|0;MK(c[q>>2]|0,c[j>>2]|0,4,c[r>>2]|0)}}else{c[l>>2]=gr((c[m>>2]|0)+4|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)MK(c[q>>2]|0,c[r>>2]|0,2,0);if((c[l>>2]|0)>(((c[(c[c[q>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[q>>2]|0;c[p>>2]=c[r>>2];PK(b,41711,p);c[s>>2]=(c[s>>2]|0)+-1;break}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=gr((c[m>>2]|0)+(8+(c[j>>2]<<2))|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)MK(c[q>>2]|0,c[k>>2]|0,2,0);QK(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[s>>2]=(c[s>>2]|0)-(c[l>>2]|0)}while(0);c[r>>2]=gr(c[m>>2]|0)|0;yg(c[n>>2]|0);if(!(c[h>>2]|0))continue;if((c[s>>2]|0)>=((c[r>>2]|0)!=0|0))continue;PK(c[q>>2]|0,41750,o)}if((g|0)==5){t=c[t>>2]|0;w=c[u>>2]|0;c[v>>2]=(c[s>>2]|0)+1;c[v+4>>2]=t;c[v+8>>2]=w;PK(f,41632,v);i=x;return}else if((g|0)==8){v=c[q>>2]|0;c[w>>2]=c[r>>2];PK(v,41689,w);i=x;return}else if((g|0)==25){i=x;return}}function MK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;h=r+44|0;j=r+40|0;k=r+49|0;l=r+36|0;o=r+32|0;m=r+48|0;n=r+28|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=g;c[o>>2]=WF(c[c[h>>2]>>2]|0,c[j>>2]|0,m,n)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7|(c[o>>2]|0)==3082)c[(c[h>>2]|0)+24>>2]=1;q=c[h>>2]|0;c[p>>2]=c[j>>2];PK(q,41549,p);i=r;return}if((d[m>>0]|0|0)==(d[k>>0]|0|0)?(c[n>>2]|0)==(c[l>>2]|0):0){i=r;return}p=c[h>>2]|0;e=d[k>>0]|0;g=c[l>>2]|0;b=d[m>>0]|0;o=c[n>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=e;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=o;PK(p,41578,q);i=r;return}function NK(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;m=ca+40|0;l=ca+32|0;n=ca+240|0;o=ca+236|0;p=ca+232|0;q=ca+228|0;r=ca+24|0;K=ca+224|0;A=ca+220|0;k=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;g=r;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[w>>2]=-1;c[x>>2]=1;c[D>>2]=1;c[z>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[o>>2]|0)+28>>2];c[Q>>2]=c[(c[o>>2]|0)+32>>2];c[R>>2]=c[(c[o>>2]|0)+36>>2];a[P>>0]=0;c[H>>2]=c[c[o>>2]>>2];c[V>>2]=c[(c[H>>2]|0)+36>>2];if(!(c[p>>2]|0)){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}if(QK(c[o>>2]|0,c[p>>2]|0)|0){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}c[(c[o>>2]|0)+28>>2]=41169;c[(c[o>>2]|0)+32>>2]=c[p>>2];g=XF(c[H>>2]|0,c[p>>2]|0,K,0)|0;c[k>>2]=g;do if(!g){a[P>>0]=a[c[K>>2]>>0]|0;a[c[K>>2]>>0]=0;l=Wt(c[K>>2]|0)|0;c[k>>2]=l;if(l){ba=c[o>>2]|0;c[m>>2]=c[k>>2];PK(ba,41217,m);break}c[v>>2]=c[(c[K>>2]|0)+56>>2];c[y>>2]=d[(c[K>>2]|0)+5>>0];c[(c[o>>2]|0)+28>>2]=41255;c[t>>2]=((d[(c[v>>2]|0)+((c[y>>2]|0)+5)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+5)+1>>0])-1&65535)+1;c[E>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+3)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+3)+1>>0];c[s>>2]=(c[y>>2]|0)+12-(d[(c[K>>2]|0)+4>>0]<<2);c[J>>2]=(c[v>>2]|0)+((c[s>>2]|0)+((c[E>>2]|0)-1<<1));if(a[(c[K>>2]|0)+4>>0]|0){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0}else{c[M>>2]=gr((c[v>>2]|0)+((c[y>>2]|0)+8)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0){c[(c[o>>2]|0)+28>>2]=41281;MK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0)}m=r;c[w>>2]=NK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0}c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;if(!(c[(c[o>>2]|0)+16>>2]|0))break;c[(c[o>>2]|0)+36>>2]=c[A>>2];c[L>>2]=d[c[J>>2]>>0]<<8|d[(c[J>>2]|0)+1>>0];c[J>>2]=(c[J>>2]|0)+-2;do if((c[L>>2]|0)>>>0>=(c[t>>2]|0)>>>0?(c[L>>2]|0)>>>0<=((c[V>>2]|0)-4|0)>>>0:0){c[I>>2]=(c[v>>2]|0)+(c[L>>2]|0);Ub[c[(c[K>>2]|0)+80>>2]&255](c[K>>2]|0,c[I>>2]|0,B);if(((c[L>>2]|0)+(e[B+18>>1]|0)|0)>>>0>(c[V>>2]|0)>>>0){PK(c[o>>2]|0,41339,$);c[x>>2]=0;break}if(a[(c[K>>2]|0)+2>>0]|0){j=B;h=c[j>>2]|0;j=c[j+4>>2]|0;b=r;f=c[b>>2]|0;b=c[b+4>>2]|0;if(c[D>>2]|0){if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>f>>>0)ba=26}else if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>=f>>>0)ba=26;if((ba|0)==26){ba=0;m=c[o>>2]|0;g=B;k=c[g+4>>2]|0;l=W;c[l>>2]=c[g>>2];c[l+4>>2]=k;PK(m,41363,W)}k=B;l=c[k+4>>2]|0;m=r;c[m>>2]=c[k>>2];c[m+4>>2]=l}if((c[B+12>>2]|0)>>>0>(e[B+16>>1]|0)>>>0){c[G>>2]=(((c[B+12>>2]|0)-(e[B+16>>1]|0)+(c[V>>2]|0)-5|0)>>>0)/(((c[V>>2]|0)-4|0)>>>0)|0;c[N>>2]=gr((c[I>>2]|0)+((e[B+18>>1]|0)-4)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)MK(c[o>>2]|0,c[N>>2]|0,3,c[p>>2]|0);LK(c[o>>2]|0,0,c[N>>2]|0,c[G>>2]|0)}if(a[(c[K>>2]|0)+4>>0]|0){RK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(e[B+18>>1]|0)-1);break}c[M>>2]=gr(c[I>>2]|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)MK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0);m=r;c[u>>2]=NK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0;if((c[u>>2]|0)!=(c[w>>2]|0)){PK(c[o>>2]|0,41387,X);c[w>>2]=c[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[o>>2]|0;k=c[t>>2]|0;l=(c[V>>2]|0)-4|0;c[_>>2]=c[L>>2];c[_+4>>2]=k;c[_+8>>2]=l;PK(m,41309,_);c[x>>2]=0}c[A>>2]=(c[A>>2]|0)+-1}X=r;_=c[X+4>>2]|0;$=c[q>>2]|0;c[$>>2]=c[X>>2];c[$+4>>2]=_;c[(c[o>>2]|0)+28>>2]=0;if((c[x>>2]|0)!=0?(c[(c[o>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[K>>2]|0)+4>>0]|0)){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0;c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break a;c[L>>2]=d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))>>0]<<8|d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))+1>>0];c[T>>2]=(Yb[c[(c[K>>2]|0)+76>>2]&255](c[K>>2]|0,(c[v>>2]|0)+(c[L>>2]|0)|0)|0)&65535;RK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(c[T>>2]|0)-1);c[A>>2]=(c[A>>2]|0)+-1}}while(0);c[A>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+1)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+1)+1>>0];while(1){if((c[A>>2]|0)<=0)break;c[U>>2]=d[(c[v>>2]|0)+((c[A>>2]|0)+2)>>0]<<8|d[(c[v>>2]|0)+((c[A>>2]|0)+2)+1>>0];RK(c[z>>2]|0,c[A>>2]<<16|(c[A>>2]|0)+(c[U>>2]|0)-1);c[C>>2]=d[(c[v>>2]|0)+(c[A>>2]|0)>>0]<<8|d[(c[v>>2]|0)+(c[A>>2]|0)+1>>0];c[A>>2]=c[C>>2]}c[F>>2]=0;c[O>>2]=(c[t>>2]|0)-1;while(1){if(!(SK(c[z>>2]|0,aa)|0))break;if((c[O>>2]&65535)>>>0>=(c[aa>>2]|0)>>>16>>>0){ba=51;break}c[F>>2]=(c[F>>2]|0)+(((c[aa>>2]|0)>>>16)-(c[O>>2]&65535)-1);c[O>>2]=c[aa>>2]}if((ba|0)==51){ba=c[o>>2]|0;$=c[p>>2]|0;c[Y>>2]=(c[aa>>2]|0)>>>16;c[Y+4>>2]=$;PK(ba,41412,Y)}c[F>>2]=(c[F>>2]|0)+((c[V>>2]|0)-(c[O>>2]&65535)-1);if((c[c[z>>2]>>2]|0)==0?(c[F>>2]|0)!=(d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0):0){ba=c[o>>2]|0;$=d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0;aa=c[p>>2]|0;c[Z>>2]=c[F>>2];c[Z+4>>2]=$;c[Z+8>>2]=aa;PK(ba,41449,Z)}}}else{ba=c[o>>2]|0;c[l>>2]=c[k>>2];PK(ba,41179,l)}while(0);if(!(c[x>>2]|0))a[c[K>>2]>>0]=a[P>>0]|0;QB(c[K>>2]|0);c[(c[o>>2]|0)+28>>2]=c[S>>2];c[(c[o>>2]|0)+32>>2]=c[Q>>2];c[(c[o>>2]|0)+36>>2]=c[R>>2];c[n>>2]=(c[w>>2]|0)+1;ba=c[n>>2]|0;i=ca;return ba|0}function OK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function PK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;f=k+28|0;g=k+24|0;h=k+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=k;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)sA((c[f>>2]|0)+40|0,41167,1);if(c[(c[f>>2]|0)+28>>2]|0){e=(c[f>>2]|0)+40|0;b=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[j>>2]=c[(c[f>>2]|0)+32>>2];c[j+4>>2]=a;rA(e,b,j)}eg((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){i=k;return}c[(c[f>>2]|0)+24>>2]=1;i=k;return}function QK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+8|0;e=j;g=j+20|0;d=j+16|0;f=j+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){b=c[d>>2]|0;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;PK(b,41501,e);c[g>>2]=1;break}e=(OK(b,a)|0)!=0;a=c[d>>2]|0;b=c[f>>2]|0;if(e){c[h>>2]=b;PK(a,41524,h);c[g>>2]=1;break}else{KK(a,b);c[g>>2]=0;break}}else c[g>>2]=1;while(0);i=j;return c[g>>2]|0}function RK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[f>>2]=b;c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];while(1){b=((c[f>>2]|0)>>>0)/2|0;c[g>>2]=b;if(b>>>0<=0){d=5;break}if((c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0){d=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];c[f>>2]=c[g>>2]}if((d|0)==5){i=h;return}}function SK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[j>>2]=b;if(!b){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[j>>2]<<2)>>2];c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=-1;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[g>>2]=1;while(1){b=c[g>>2]<<1;c[h>>2]=b;if(b>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2]|0)>>>0)c[h>>2]=(c[h>>2]|0)+1;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0)break;c[j>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[j>>2];c[g>>2]=c[h>>2]}c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}function TK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;XK((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}a=c[b>>2]|0;Kd(a);i=e;return}function UK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Tf(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);VK(0,c[(c[d>>2]|0)+16>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)WK(c[(c[d>>2]|0)+40>>2]|0);if(!(c[(c[d>>2]|0)+56>>2]|0)){d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}WK(c[(c[d>>2]|0)+56>>2]|0);d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}function VK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Tf(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=g;return}function WK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;or(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function XK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;Kd(c[(c[b>>2]|0)+28>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)Ms(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;YK(c[(c[b>>2]|0)+48>>2]|0);b=c[b>>2]|0;a=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=d;return}function YK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}TK(c[(c[b>>2]|0)+4>>2]|0);Kd(c[b>>2]|0);i=d;return}function ZK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m;k=m+12|0;l=m+8|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){i=m;return}a[(c[h>>2]|0)+11>>0]=0;c[l>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;do if((d[(c[l>>2]|0)+64>>0]|0)&16){a[(c[h>>2]|0)+11>>0]=1;if((c[k>>2]|0)==0?(g=(c[l>>2]|0)+16|0,b=j,!((c[g>>2]|0)==(c[b>>2]|0)?(c[g+4>>2]|0)==(c[b+4>>2]|0):0)):0)break;a[(c[l>>2]|0)+66>>0]=0}while(0);c[l>>2]=c[(c[l>>2]|0)+8>>2]}i=m;return}function _K(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;p=u+36|0;k=u+32|0;j=u+28|0;q=u+24|0;l=u+20|0;s=u+16|0;t=u+12|0;n=u+8|0;m=u+4|0;r=u;o=u+40|0;c[k>>2]=b;c[j>>2]=f;c[q>>2]=g;c[l>>2]=h;h=c[j>>2]|0;if(h>>>0>(JF(c[k>>2]|0)|0)>>>0){c[p>>2]=Qj(66688)|0;t=c[p>>2]|0;i=u;return t|0}c[t>>2]=IF(c[k>>2]|0,c[j>>2]|0,s,0,0)|0;if(c[t>>2]|0){c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}a:do if(!(a[(c[s>>2]|0)+8>>0]|0)){a[(c[s>>2]|0)+8>>0]=1;c[r>>2]=d[(c[s>>2]|0)+5>>0];c[m>>2]=0;while(1){j=c[s>>2]|0;if((c[m>>2]|0)>=(e[(c[s>>2]|0)+18>>1]|0))break;c[n>>2]=(c[j+56>>2]|0)+(e[(c[s>>2]|0)+20>>1]&(d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if((a[(c[s>>2]|0)+4>>0]|0)==0?(f=c[k>>2]|0,h=gr(c[n>>2]|0)|0,c[t>>2]=_K(f,h,1,c[l>>2]|0)|0,(c[t>>2]|0)!=0):0)break a;c[t>>2]=$K(c[s>>2]|0,c[n>>2]|0,o)|0;if(c[t>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}if(a[j+4>>0]|0){if(c[l>>2]|0){o=c[l>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[s>>2]|0)+18>>1]|0)}}else{n=c[k>>2]|0;o=gr((c[(c[s>>2]|0)+56>>2]|0)+((c[r>>2]|0)+8)|0)|0;c[t>>2]=_K(n,o,1,c[l>>2]|0)|0;if(c[t>>2]|0)break}j=c[s>>2]|0;if(c[q>>2]|0){aL(j,t);break}q=Gg(c[j+72>>2]|0)|0;c[t>>2]=q;if(!q)bL(c[s>>2]|0,d[(c[(c[s>>2]|0)+56>>2]|0)+(c[r>>2]|0)>>0]|8)}else c[t>>2]=Qj(66693)|0;while(0);a[(c[s>>2]|0)+8>>0]=0;QB(c[s>>2]|0);c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}function $K(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+80|0;g=t+64|0;h=t+60|0;j=t+56|0;u=t+52|0;p=t+48|0;l=t;o=t+44|0;r=t+40|0;m=t+36|0;n=t+32|0;k=t+28|0;q=t+24|0;c[h>>2]=a;c[j>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[h>>2]|0)+52>>2];Ub[c[(c[h>>2]|0)+80>>2]&255](c[h>>2]|0,c[j>>2]|0,l);b[c[u>>2]>>1]=b[l+18>>1]|0;if((e[l+16>>1]|0|0)==(c[l+12>>2]|0)){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}if(((c[j>>2]|0)+(e[l+18>>1]|0)+-1|0)>>>0>((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]|0)|0)>>>0){c[g>>2]=Qj(64249)|0;u=c[g>>2]|0;i=t;return u|0}c[o>>2]=gr((c[j>>2]|0)+(e[l+18>>1]|0)+-4|0)|0;c[n>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[m>>2]=(((c[l+12>>2]|0)-(e[l+16>>1]|0)+(c[n>>2]|0)-1|0)>>>0)/((c[n>>2]|0)>>>0)|0;while(1){u=c[m>>2]|0;c[m>>2]=u+-1;if(!u){s=23;break}c[k>>2]=0;c[q>>2]=0;if((c[o>>2]|0)>>>0<2){s=9;break}u=c[o>>2]|0;if(u>>>0>(JF(c[p>>2]|0)|0)>>>0){s=9;break}if((c[m>>2]|0)!=0?(c[r>>2]=UF(c[p>>2]|0,c[o>>2]|0,q,k)|0,(c[r>>2]|0)!=0):0){s=12;break}if((c[q>>2]|0)==0?(u=eL(c[p>>2]|0,c[o>>2]|0)|0,c[q>>2]=u,(u|0)==0):0)s=17;else if((Vt(c[(c[q>>2]|0)+72>>2]|0)|0)!=1)c[r>>2]=Qj(64285)|0;else s=17;if((s|0)==17){s=0;c[r>>2]=cL(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0)|0}if(c[q>>2]|0)yg(c[(c[q>>2]|0)+72>>2]|0);if(c[r>>2]|0){s=21;break}c[o>>2]=c[k>>2]}if((s|0)==9){c[g>>2]=Qj(64265)|0;u=c[g>>2]|0;i=t;return u|0}else if((s|0)==12){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==21){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==23){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}return 0}function aL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){i=f;return}b=cL(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=b;i=f;return}function bL(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+12|0;j=o+8|0;k=o+4|0;n=o;m=o+18|0;l=o+16|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[n>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[n>>2]|0)+22>>1]|0)&4)VR((c[k>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[n>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[k>>2]|0)+(d[m>>0]|0)>>0]=c[j>>2];b[l>>1]=(d[m>>0]|0)+((c[j>>2]&8|0)==0?12:8);f=(c[k>>2]|0)+((d[m>>0]|0)+1)|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[n>>2]|0)+36>>2]|0)>>>8;a[(c[k>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[n>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[l>>1]|0);Xt(c[h>>2]|0,c[j>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[l>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[k>>2]|0)+(c[(c[n>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[k>>2]|0)+(e[l>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[k>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[n>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;i=o;return}function cL(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;p=s+16|0;o=s+12|0;r=s+8|0;m=s+4|0;n=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=f;c[q>>2]=0;c[l>>2]=0;c[p>>2]=c[(c[h>>2]|0)+12>>2];if((c[k>>2]|0)>>>0<2){c[g>>2]=Qj(64103)|0;r=c[g>>2]|0;i=s;return r|0}if(c[j>>2]|0){c[o>>2]=c[j>>2];dL(c[(c[o>>2]|0)+72>>2]|0)}else c[o>>2]=eL(c[h>>2]|0,c[k>>2]|0)|0;c[r>>2]=Gg(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[r>>2]|0)){c[m>>2]=gr((c[(c[p>>2]|0)+56>>2]|0)+36|0)|0;ft((c[(c[p>>2]|0)+56>>2]|0)+36|0,(c[m>>2]|0)+1|0);if(e[(c[h>>2]|0)+22>>1]&4){if((c[o>>2]|0)==0?(d=XF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,(d|0)!=0):0)break;d=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;c[r>>2]=d;if(d)break;VR(c[(c[o>>2]|0)+56>>2]|0,0,c[(c[(c[o>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[h>>2]|0)+17>>0]|0)!=0?(eK(c[h>>2]|0,c[k>>2]|0,2,0,r),(c[r>>2]|0)!=0):0)break;if(c[m>>2]|0){c[l>>2]=gr((c[(c[p>>2]|0)+56>>2]|0)+32|0)|0;c[r>>2]=XF(c[h>>2]|0,c[l>>2]|0,q,0)|0;if(c[r>>2]|0)break;c[n>>2]=gr((c[(c[q>>2]|0)+56>>2]|0)+4|0)|0;if((c[n>>2]|0)>>>0>((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[r>>2]=Qj(64156)|0;break}if((c[n>>2]|0)>>>0<((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[r>>2]=Gg(c[(c[q>>2]|0)+72>>2]|0)|0;if(c[r>>2]|0)break;ft((c[(c[q>>2]|0)+56>>2]|0)+4|0,(c[n>>2]|0)+1|0);ft((c[(c[q>>2]|0)+56>>2]|0)+(8+(c[n>>2]<<2))|0,c[k>>2]|0);if((c[o>>2]|0)!=0?(e[(c[h>>2]|0)+22>>1]&4|0)==0:0)fL(c[(c[o>>2]|0)+72>>2]|0);c[r>>2]=gL(c[h>>2]|0,c[k>>2]|0)|0;break}}if((c[o>>2]|0)==0?(d=XF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,0!=(d|0)):0)break;c[r>>2]=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[r>>2]|0)){ft(c[(c[o>>2]|0)+56>>2]|0,c[l>>2]|0);ft((c[(c[o>>2]|0)+56>>2]|0)+4|0,0);ft((c[(c[p>>2]|0)+56>>2]|0)+32|0,c[k>>2]|0)}}while(0);if(c[o>>2]|0)a[c[o>>2]>>0]=0;QB(c[o>>2]|0);QB(c[q>>2]|0);c[g>>2]=c[r>>2];r=c[g>>2]|0;i=s;return r|0}function dL(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hL(c[d>>2]|0);i=b;return}function eL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=hs(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=KF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}return 0}function fL(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=c[(c[f>>2]|0)+16>>2];if(a[(c[g>>2]|0)+13>>0]|0){i=h;return}if(!(e[(c[f>>2]|0)+24>>1]&2)){i=h;return}if(c[(c[g>>2]|0)+104>>2]|0){i=h;return}d=(c[f>>2]|0)+24|0;b[d>>1]=e[d>>1]|16;d=(c[f>>2]|0)+24|0;b[d>>1]=e[d>>1]&-5;i=h;return}function gL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=kj(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(b>>>0>(oj(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=lj(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function hL(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function iL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;o=p+16|0;n=p+12|0;l=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=c[(c[g>>2]|0)+4>>2];if(c[(c[l>>2]|0)+8>>2]|0){c[f>>2]=262;o=c[f>>2]|0;i=p;return o|0}if((c[h>>2]|0)>>>0<2){c[f>>2]=Qj(66814)|0;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=XF(c[l>>2]|0,c[h>>2]|0,n,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=wJ(c[g>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){QB(c[n>>2]|0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[c[j>>2]>>2]=0;if(a[(c[l>>2]|0)+17>>0]|0){rg(c[g>>2]|0,4,k);d=c[n>>2]|0;do if((c[h>>2]|0)==(c[k>>2]|0)){aL(d,o);QB(c[n>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}}else{QB(d);c[o>>2]=XF(c[l>>2]|0,c[k>>2]|0,m,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=bK(c[l>>2]|0,c[m>>2]|0,1,0,c[h>>2]|0,0)|0;QB(c[m>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[m>>2]=0;c[o>>2]=XF(c[l>>2]|0,c[k>>2]|0,m,0)|0;aL(c[m>>2]|0,o);QB(c[m>>2]|0);if(!(c[o>>2]|0)){c[c[j>>2]>>2]=c[k>>2];break}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[l>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=VF(c[l>>2]|0,c[k>>2]|0)|0,(n|0)!=(c[k>>2]|0)):0)break;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=Bg(c[g>>2]|0,4,c[k>>2]|0)|0}else{aL(c[n>>2]|0,o);QB(c[n>>2]|0)}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function jL(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=kL((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function kL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+64|0;e=l+60|0;f=l+56|0;d=l+52|0;j=l+48|0;k=l;g=l+44|0;h=l+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=0;b=k;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[j>>2]=lL(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[j>>2]|0))c[j>>2]=mL(c[e>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;i=l;return k|0}c[h>>2]=0;d=(c[e>>2]|0)+40+8|0;nL(c[(c[e>>2]|0)+40>>2]|0,k,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;oL(k,d,((d|0)<0)<<31>>31);c[g>>2]=c[c[f>>2]>>2];while(1){b=c[g>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=c[b+4>>2];d=c[c[g>>2]>>2]|0;oL(k,d,((d|0)<0)<<31>>31);pL(k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Kd(c[g>>2]|0);c[g>>2]=c[h>>2]}c[c[f>>2]>>2]=b;c[j>>2]=qL(k,(c[e>>2]|0)+40+8|0)|0;k=c[j>>2]|0;i=l;return k|0}function lL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=a;a=l+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(Bi(202)|0){c[f>>2]=3338;k=c[f>>2]|0;i=l;return k|0}c[k>>2]=yL(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,k)|0;if(!(c[k>>2]|0)){e=j;c[e>>2]=0;c[e+4>>2]=0;Ts(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}function mL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;j=n+20|0;l=n+16|0;k=n+12|0;m=n+8|0;e=n+4|0;f=n;c[h>>2]=a;c[j>>2]=b;c[e>>2]=rL(c[h>>2]|0)|0;if(c[e>>2]|0){c[g>>2]=c[e>>2];m=c[g>>2]|0;i=n;return m|0}c[m>>2]=c[c[j>>2]>>2];e=sL(c[(c[h>>2]|0)+8>>2]|0)|0;c[(c[h>>2]|0)+32>>2]=e;c[k>>2]=kg(256,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;m=c[g>>2]|0;i=n;return m|0}while(1){if(!(c[m>>2]|0))break;b=c[m>>2]|0;do if(c[(c[j>>2]|0)+4>>2]|0)if((b|0)==(c[(c[j>>2]|0)+4>>2]|0)){c[f>>2]=0;break}else{c[f>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0);break}else c[f>>2]=c[b+4>>2];while(0);c[(c[m>>2]|0)+4>>2]=0;c[l>>2]=0;while(1){if(!(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0))break;c[m>>2]=tL(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=c[f>>2]}c[m>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=64)break;if(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0){if(c[m>>2]|0)b=tL(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;else b=c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0;c[m>>2]=b}c[l>>2]=(c[l>>2]|0)+1}c[c[j>>2]>>2]=c[m>>2];Kd(c[k>>2]|0);c[g>>2]=d[(c[(c[h>>2]|0)+12>>2]|0)+11>>0];m=c[g>>2]|0;i=n;return m|0}function nL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;e=c[h>>2]|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=c[j>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=a;if(c[(c[h>>2]|0)+4>>2]|0){b=k;a=c[j>>2]|0;a=$R(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=a;a=c[(c[h>>2]|0)+12>>2]|0;a=QR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k=(c[h>>2]|0)+24|0;c[k>>2]=a;c[k+4>>2]=C;c[(c[h>>2]|0)+8>>2]=c[j>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];i=l;return}else{c[c[h>>2]>>2]=7;i=l;return}}function oL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=SI(g,c[a>>2]|0,c[a+4>>2]|0)|0;pL(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function pL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)<=0){e=9;break}if(c[c[e>>2]>>2]|0){e=9;break}c[h>>2]=c[j>>2];if((c[h>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[h>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);TR((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[j>>2]|0))|0,c[h>>2]|0)|0;b=(c[e>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+(c[h>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){l=c[(c[e>>2]|0)+32>>2]|0;d=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;b=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;a=c[(c[e>>2]|0)+12>>2]|0;a=RR(c[m>>2]|0,c[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ig(l,d,b,a,C)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;b=(c[e>>2]|0)+24|0;d=b;a=RR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[b>>2]=a;c[b+4>>2]=C}c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0)}if((e|0)==9){i=k;return}}function qL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){j=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;k=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=RR(c[k>>2]|0,c[k+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Ig(j,h,a,b,C)|0;c[c[d>>2]>>2]=b}j=(c[d>>2]|0)+24|0;k=c[(c[d>>2]|0)+16>>2]|0;k=RR(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;e=c[e>>2]|0;c[e>>2]=k;c[e+4>>2]=C;Kd(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];d=c[d>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=g;return c[f>>2]|0}function rL(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=MF(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;d=c[e>>2]|0;i=h;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}function sL(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=139;break}else{c[b>>2]=140;break}else c[b>>2]=138;while(0);i=f;return c[b>>2]|0}function tL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;f=m+4|0;g=m;c[e>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=0;c[l>>2]=k;c[f>>2]=0;while(1){c[g>>2]=Sb[c[(c[e>>2]|0)+32>>2]&255](c[e>>2]|0,f,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0,(c[j>>2]|0)+8|0,c[c[j>>2]>>2]|0)|0;if((c[g>>2]|0)<=0){c[c[l>>2]>>2]=c[h>>2];c[l>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];if(!(c[h>>2]|0)){e=4;break}else continue}else{c[c[l>>2]>>2]=c[j>>2];c[l>>2]=(c[j>>2]|0)+4;c[j>>2]=c[(c[j>>2]|0)+4>>2];c[f>>2]=0;if(!(c[j>>2]|0)){e=6;break}else continue}}if((e|0)==4){c[c[l>>2]>>2]=c[j>>2];l=c[k>>2]|0;i=m;return l|0}else if((e|0)==6){c[c[l>>2]>>2]=c[h>>2];l=c[k>>2]|0;i=m;return l|0}return 0}function uL(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+64|0;q=x+52|0;r=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;p=x+8|0;w=x+4|0;l=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[z>>2]=c[s>>2];c[y>>2]=c[u>>2];c[m>>2]=d[(c[z>>2]|0)+1>>0];c[n>>2]=d[(c[y>>2]|0)+1>>0];c[o>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[p>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);h=c[m>>2]|0;k=c[n>>2]|0;a:do if(!((c[m>>2]|0)>7&(c[n>>2]|0)>7)){if((h|0)==(k|0)){if((d[c[o>>2]>>0]^d[c[p>>2]>>0])&128){c[w>>2]=(d[c[o>>2]>>0]&128|0)!=0?-1:1;break}c[w>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[41789+(c[m>>2]|0)>>0]|0))break a;z=(d[(c[o>>2]|0)+(c[l>>2]|0)>>0]|0)-(d[(c[p>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[w>>2]=z;if(z)break a;c[l>>2]=(c[l>>2]|0)+1}}do if((c[n>>2]|0)<=7)if((c[m>>2]|0)>7){c[w>>2]=-1;break}else{c[w>>2]=(c[m>>2]|0)-(c[n>>2]|0);break}else c[w>>2]=1;while(0);if((c[w>>2]|0)>0){if(!(d[c[o>>2]>>0]&128))break;c[w>>2]=-1;break}else{if(!(d[c[p>>2]>>0]&128))break;c[w>>2]=1;break}}else c[w>>2]=h-k;while(0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=xL(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;z=c[w>>2]|0;i=x;return z|0}else{if(!(a[c[h+16>>2]>>0]|0)){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=_(c[w>>2]|0,-1)|0;z=c[w>>2]|0;i=x;return z|0}return 0}function vL(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;q=x+48|0;r=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;l=x+8|0;m=x+4|0;w=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[y>>2]=c[s>>2];c[n>>2]=c[u>>2];c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[p>>2]=(c[n>>2]|0)+(d[c[n>>2]>>0]|0);h=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[l>>2]=d[h>>0];else bG(h,l)|0;c[l>>2]=((c[l>>2]|0)-13|0)/2|0;h=(c[n>>2]|0)+1|0;if((d[(c[n>>2]|0)+1>>0]|0)<128)c[m>>2]=d[h>>0];else bG(h,m)|0;c[m>>2]=((c[m>>2]|0)-13|0)/2|0;c[w>>2]=eR(c[o>>2]|0,c[p>>2]|0,(c[l>>2]|0)<(c[m>>2]|0)?c[l>>2]|0:c[m>>2]|0)|0;if(!(c[w>>2]|0))c[w>>2]=(c[l>>2]|0)-(c[m>>2]|0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=xL(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;y=c[w>>2]|0;i=x;return y|0}else{if(!(a[c[h+16>>2]>>0]|0)){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=_(c[w>>2]|0,-1)|0;y=c[w>>2]|0;i=x;return y|0}return 0}function wL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=$F(a,b,o)|0;i=p;return o|0}NF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=$F(a,b,o)|0;i=p;return o|0}function xL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=aG(a,b,o,1)|0;i=p;return o|0}NF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=aG(a,b,o,1)|0;i=p;return o|0}function yL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=f;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=Ur(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;g=c[l>>2]|0;if(c[n>>2]|0){Kd(g);n=c[n>>2]|0;i=o;return n|0}else{c[c[m>>2]>>2]=g;n=c[n>>2]|0;i=o;return n|0}return 0}function zL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+36|0;f=q+32|0;o=q+28|0;j=q+24|0;n=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;g=q+4|0;k=q;c[e>>2]=a;c[f>>2]=b;c[j>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];c[n>>2]=c[(c[e>>2]|0)+4>>2];c[o>>2]=AL((c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[o>>2]|0)){c[g>>2]=0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[h>>2]=((c[c[e>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[h>>2]|0)<=0)break;do if(c[(c[l>>2]|0)+24>>2]|0)if(!(c[(c[m>>2]|0)+24>>2]|0)){c[k>>2]=-1;break}else{c[k>>2]=Sb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,g,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;break}else c[k>>2]=1;while(0);do if((c[k>>2]|0)<0)p=12;else{if((c[k>>2]|0)==0?(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0:0){p=12;break}if(c[(c[l>>2]|0)+24>>2]|0)c[g>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[m>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0);c[g>>2]=0}c[h>>2]=(c[h>>2]|0)/2|0}c[c[f>>2]>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[o>>2]|0)){p=d[(c[(c[n>>2]|0)+12>>2]|0)+11>>0]|0;i=q;return p|0}else{p=c[o>>2]|0;i=q;return p|0}return 0}function AL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;b=j+24|0;d=j+20|0;h=j+16|0;f=j;g=j+12|0;e=j+8|0;c[d>>2]=a;c[h>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;k=c[d>>2]|0;m=c[k+4>>2]|0;a=(c[d>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[e>>2]=1;if(((c[g>>2]|0)!=0?(c[h>>2]=BL(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[h>>2]=CL(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[e>>2]=0}if(c[e>>2]|0){XK(c[d>>2]|0);c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}}if(!(c[h>>2]|0))c[h>>2]=DL(c[d>>2]|0,f)|0;if(!(c[h>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[h>>2]=EL(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}function BL(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=HL(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=e;return f|0}function CL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;k=q+24|0;l=q;p=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;c[p>>2]=0;if(Bi(201)|0){c[g>>2]=266;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+44>>2]|0){Ms(c[(c[j>>2]|0)+24>>2]|0,0,0,c[(c[j>>2]|0)+44>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=0}a=l;b=c[a+4>>2]|0;d=c[j>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[j>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[j>>2]|0)+24>>2]=c[c[k>>2]>>2];c[p>>2]=FL(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+44|0)|0;if((c[p>>2]|0)==0?(c[(c[j>>2]|0)+44>>2]|0)==0:0){c[o>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2];b=c[j>>2]|0;a=c[o>>2]|0;a=$R(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0)){a=c[o>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+36>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0))c[p>>2]=7;c[(c[j>>2]|0)+40>>2]=c[o>>2]}if((c[p>>2]|0)==0&(c[m>>2]|0)!=0){c[n>>2]=(c[o>>2]|0)-(c[m>>2]|0);d=c[j>>2]|0;a=c[n>>2]|0;a=RR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;o=(c[j>>2]|0)+8|0;b=c[o+4>>2]|0;if((d|0)>(b|0)|((d|0)==(b|0)?a>>>0>(c[o>>2]|0)>>>0:0)){a=(c[j>>2]|0)+8|0;o=c[j>>2]|0;o=QR(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[n>>2]=o}o=c[j>>2]|0;c[p>>2]=es(c[(c[j>>2]|0)+24>>2]|0,(c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}}c[g>>2]=c[p>>2];p=c[g>>2]|0;i=q;return p|0}function DL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;k=p+32|0;j=p+8|0;l=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(cu((c[(c[g>>2]|0)+44>>2]|0)+b|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=RR(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=C}else{q=c[(c[g>>2]|0)+40>>2]|0;e=$R(b|0,e|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=e;if((c[m>>2]|0)!=0?((c[(c[g>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){o=(cu((c[(c[g>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[h>>2]|0)|0)&255;q=c[g>>2]|0;n=q;o=RR(c[n>>2]|0,c[n+4>>2]|0,o|0,0)|0;c[q>>2]=o;c[q+4>>2]=C;break}c[l>>2]=0;while(1){c[n>>2]=EL(c[g>>2]|0,1,j)|0;if(c[n>>2]|0)break;m=a[c[j>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[k+(q&15)>>0]=m;if(!((d[c[j>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){cu(k,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=p;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=p;return q|0}function EL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+64|0;g=u+52|0;h=u+48|0;j=u+44|0;k=u+40|0;n=u+36|0;o=u+32|0;e=u+28|0;f=u+24|0;r=u+20|0;l=u+16|0;q=u+12|0;s=u+8|0;p=u+4|0;m=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=c[h>>2]|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+b;s=c[j>>2]|0;t=c[h>>2]|0;r=t;s=RR(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=C;c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}d=c[(c[h>>2]|0)+40>>2]|0;d=$R(b|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;c[n>>2]=d;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;a=c[h>>2]|0;a=QR(c[w>>2]|0,c[w+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;w=C;d=c[(c[h>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;b=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>d>>>0)c[e>>2]=c[b+40>>2];else{v=b+8|0;w=c[h>>2]|0;w=QR(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[e>>2]=w}w=c[h>>2]|0;c[f>>2]=es(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];w=c[g>>2]|0;i=u;return w|0}}c[o>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[o>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;t=w;v=RR(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))b=128;else b=c[(c[h>>2]|0)+16>>2]<<1;c[q>>2]=b;while(1){if((c[j>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[q>>2]<<1}w=c[q>>2]|0;c[l>>2]=cg(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[h>>2]|0)+16>>2]=c[q>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=u;return w|0}while(0);TR(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;v=c[o>>2]|0;w=c[h>>2]|0;q=w;v=RR(c[q>>2]|0,c[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C;c[r>>2]=(c[j>>2]|0)-(c[o>>2]|0);while(1){if((c[r>>2]|0)<=0){t=27;break}c[p>>2]=c[r>>2];if((c[r>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[s>>2]=EL(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[s>>2]|0)break;TR((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[r>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}if((t|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[s>>2];w=c[g>>2]|0;i=u;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=u;return w|0}function FL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;l=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a=(c[e>>2]|0)+8|0;k=c[a+4>>2]|0;d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+144>>2]|0;b=((d|0)<0)<<31>>31;if(!((k|0)<(b|0)|((k|0)==(b|0)?(c[a>>2]|0)>>>0<=d>>>0:0))){l=c[h>>2]|0;i=j;return l|0}c[g>>2]=c[c[e>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[h>>2]|0;i=j;return l|0}c[h>>2]=GL(c[g>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;l=c[h>>2]|0;i=j;return l|0}function GL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function HL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+96|0;b=o+88|0;l=o+84|0;m=o+80|0;f=o+48|0;j=o+76|0;p=o+72|0;h=o+68|0;n=o+8|0;d=o+64|0;k=o+60|0;g=o+56|0;e=o;c[b>>2]=a;c[l>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=f;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+4>>2];a=f;nL(c[c[j>>2]>>2]|0,n,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[l>>2]|0)break;c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+((c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[g>>2]=c[(c[k>>2]|0)+20>>2];r=n+24|0;q=c[n+16>>2]|0;q=RR(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=e;c[r>>2]=q;c[r+4>>2]=C;if(!(c[(c[k>>2]|0)+24>>2]|0))break;a=e;p=c[g>>2]|0;p=RR(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=C;q=c[g>>2]|0;q=iG(q,((q|0)<0)<<31>>31)|0;q=RR(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=C;p=f;r=c[(c[b>>2]|0)+16>>2]|0;r=RR(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=C;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[g>>2]|0;oL(n,r,((r|0)<0)<<31>>31);pL(n,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0);c[l>>2]=zL(c[(c[b>>2]|0)+4>>2]|0,d)|0}c[m>>2]=qL(n,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){r=c[l>>2]|0;i=o;return r|0}c[l>>2]=c[m>>2];r=c[l>>2]|0;i=o;return r|0}function IL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[d>>2]=0;c[f>>2]=JL(c[b>>2]|0,d)|0;if(!(c[f>>2]|0)){c[f>>2]=KL(c[e>>2]|0,c[d>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[d>>2];c[d>>2]=0}if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}TK(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function JL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;e=s+52|0;f=s+48|0;n=s+44|0;r=s+40|0;k=s+36|0;q=s+32|0;p=s+28|0;l=s+24|0;h=s;g=s+20|0;j=s+16|0;o=s+12|0;m=s+8|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=0;c[r>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[e>>2]|0)+64+((c[k>>2]|0)*72|0);c[p>>2]=0;c[l>>2]=OL(c[(c[q>>2]|0)+28>>2]|0)|0;b=h;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[q>>2]|0)+28>>2]|0)<=16)c[r>>2]=PL(c[q>>2]|0,c[(c[q>>2]|0)+28>>2]|0,h,p)|0;else{c[j>>2]=0;c[p>>2]=QL(16)|0;if(!(c[p>>2]|0))c[r>>2]=7;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[q>>2]|0)+28>>2]|0)?(c[r>>2]|0)==0:0))break a;c[o>>2]=0;if(((c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0)<16)a=(c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0;else a=16;c[m>>2]=a;c[r>>2]=PL(c[q>>2]|0,c[m>>2]|0,h,o)|0;if(!(c[r>>2]|0)){t=c[q>>2]|0;a=c[l>>2]|0;b=c[j>>2]|0;c[j>>2]=b+1;c[r>>2]=RL(t,a,b,c[p>>2]|0,c[o>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+16}}while(0);a=c[p>>2]|0;if(!(c[r>>2]|0))c[n>>2]=a;else TK(a);c[k>>2]=(c[k>>2]|0)+1}if(!(c[r>>2]|0)){q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}TK(c[n>>2]|0);c[n>>2]=0;q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}function KL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;l=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[h>>2]=b;c[n+12>>2]=e;c[l>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=LL((c[(c[h>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[l>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;ML(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function LL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+48>>2];c[f>>2]=0;if(!(c[h>>2]|0)){h=c[f>>2]|0;i=g;return h|0}c[f>>2]=NL(c[d>>2]|0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function ML(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+36|0;e=o+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;f=o+4|0;n=o;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)/2|0|0)){c[g>>2]=b-((c[c[d>>2]>>2]|0)/2|0)<<1;c[h>>2]=(c[g>>2]|0)+1}else{c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[h>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[g>>2]|0)*56|0);c[l>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[l>>2]|0)+24>>2]|0)){c[j>>2]=c[g>>2];break}c[m>>2]=c[(c[d>>2]|0)+4>>2];c[f>>2]=0;c[n>>2]=Sb[c[(c[m>>2]|0)+32>>2]&255](c[m>>2]|0,f,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0;if((c[n>>2]|0)<=0){c[j>>2]=c[g>>2];break}else{c[j>>2]=c[h>>2];break}}else c[j>>2]=c[h>>2];while(0);c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2];i=o;return}function NL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;e=k+4|0;f=k;c[d>>2]=a;c[l>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=c[c[g>>2]>>2];c[e>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=KL(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[(c[h>>2]|0)+56>>2]|0)){l=(c[h>>2]|0)+56+8|0;c[j>>2]=lL(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[h>>2]|0)+56|0)|0;l=(c[h>>2]|0)+56+8|0;c[l>>2]=0;c[l+4>>2]=0}if(!(c[j>>2]|0)){c[(c[g>>2]|0)+32+16>>2]=c[(c[h>>2]|0)+56>>2];b=(c[h>>2]|0)+56+8|0;l=c[b+4>>2]|0;a=(c[g>>2]|0)+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=l;a=c[f>>2]|0;l=(c[h>>2]|0)+56+8|0;h=l;h=RR(c[h>>2]|0,c[h+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[l>>2]=h;c[l+4>>2]=C}}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[j>>2]=AL(c[d>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function OL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=aS(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=C;c[d>>2]=(c[d>>2]|0)+1}i=f;return c[d>>2]|0}function PL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+44|0;g=q+40|0;h=q+36|0;j=q+32|0;n=q+28|0;l=q+8|0;k=q+24|0;p=q+20|0;m=q;o=q+16|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[h>>2]|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[p>>2]=0;e=QL(c[g>>2]|0)|0;c[n>>2]=e;c[c[j>>2]>>2]=e;if(!(c[n>>2]|0))c[p>>2]=7;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[g>>2]|0)?(c[p>>2]|0)==0:0))break;a=m;c[a>>2]=0;c[a+4>>2]=0;c[o>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);a=l;c[p>>2]=TL(c[f>>2]|0,(c[f>>2]|0)+40|0,c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,m)|0;a=(c[o>>2]|0)+8|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}if(!(c[p>>2]|0)){d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}TK(c[n>>2]|0);c[c[j>>2]>>2]=0;d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}function QL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(Bi(100)|0)a=0;else{a=c[d>>2]|0;a=kg(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;i=g;return f|0}function RL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;g=s+48|0;h=s+44|0;p=s+40|0;u=s+36|0;t=s+32|0;r=s+28|0;l=s+24|0;j=s+20|0;q=s+16|0;m=s+12|0;k=s+8|0;o=s+4|0;n=s;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[u>>2]=e;c[t>>2]=f;c[r>>2]=0;c[l>>2]=1;c[q>>2]=c[u>>2];c[r>>2]=SL(c[g>>2]|0,c[t>>2]|0,m)|0;c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[l>>2]<<4;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if(!((c[j>>2]|0)<(c[h>>2]|0)?(c[r>>2]|0)==0:0))break;c[k>>2]=((c[p>>2]|0)/(c[l>>2]|0)|0|0)%16|0;c[o>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);do if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=QL(16)|0;if(!(c[n>>2]|0)){c[r>>2]=7;break}else{c[r>>2]=SL(c[g>>2]|0,c[n>>2]|0,(c[o>>2]|0)+48|0)|0;break}}while(0);if(!(c[r>>2]|0)){c[q>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[l>>2]|0)/16|0}c[j>>2]=(c[j>>2]|0)+1}g=c[m>>2]|0;if(!(c[r>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[p>>2]|0)%16|0)*56|0)+48>>2]=g;u=c[r>>2]|0;i=s;return u|0}else{YK(g);u=c[r>>2]|0;i=s;return u|0}return 0}function SL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=0;if(Bi(100)|0)b=0;else b=kg(64,0)|0;c[c[f>>2]>>2]=b;c[h>>2]=b;b=c[e>>2]|0;if(!(c[h>>2]|0)){TK(b);c[j>>2]=7;j=c[j>>2]|0;i=k;return j|0}c[(c[h>>2]|0)+4>>2]=b;c[c[h>>2]>>2]=c[g>>2];b=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(c[b+8>>2]|0)+9|0;else b=(c[b+4>>2]|0)/2|0;c[(c[h>>2]|0)+16>>2]=b;f=c[(c[h>>2]|0)+16>>2]|0;h=(c[g>>2]|0)+56+8|0;g=h;g=RR(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[h>>2]=g;c[h+4>>2]=C;j=c[j>>2]|0;i=k;return j|0}function TL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+48|0;o=m+32|0;n=m+28|0;p=m+8|0;h=m+24|0;j=m+20|0;l=m+16|0;k=m;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=f;c[j>>2]=g;g=p;c[l>>2]=CL(c[o>>2]|0,c[h>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[l>>2]|0)){o=k;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=DL(c[h>>2]|0,k)|0;o=c[h>>2]|0;p=k;p=RR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[h>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=C;o=k;p=c[j>>2]|0;n=p;o=RR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=C}if(c[l>>2]|0){p=c[l>>2]|0;i=m;return p|0}c[l>>2]=AL(c[h>>2]|0)|0;p=c[l>>2]|0;i=m;return p|0}function UL(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function VL(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=WL(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;i=f;return g|0}function WL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;c[h>>2]=a;c[e>>2]=b;if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=EF(c[h>>2]|0)|0;else a=0;c[f>>2]=a;if(c[f>>2]|0){c[c[e>>2]>>2]=1;c[g>>2]=c[f>>2];h=c[g>>2]|0;i=j;return h|0}a=c[e>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0|0)!=1)c[a>>2]=1;else c[a>>2]=0;c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}function XL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[(c[e>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[b+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;i=j;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;i=j;return h|0}return 0}function YL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;q=t+16|0;o=t+12|0;r=t+8|0;s=t+4|0;p=t;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if(c[c[n>>2]>>2]|0){i=t;return}c[o>>2]=c[(c[k>>2]|0)+56>>2];c[r>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[q>>2]=(d[c[r>>2]>>0]|0)<<8|(d[(c[r>>2]|0)+1>>0]|0);c[p>>2]=d[(c[k>>2]|0)+5>>0];if((c[q>>2]|0)>>>0>=((d[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))>>>0?((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[s>>2]=nM(c[k>>2]|0,c[q>>2]&65535,c[m>>2]&65535)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}h=(c[k>>2]|0)+18|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;if(!(e[(c[k>>2]|0)+18>>1]|0)){h=(c[o>>2]|0)+((c[p>>2]|0)+1)|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+7)>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];b[(c[k>>2]|0)+16>>1]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[k>>2]|0)+5>>0]|0)-(d[(c[k>>2]|0)+6>>0]|0)-8;i=t;return}else{UR(c[r>>2]|0,(c[r>>2]|0)+2|0,(e[(c[k>>2]|0)+18>>1]|0)-(c[l>>2]|0)<<1|0)|0;a[(c[o>>2]|0)+((c[p>>2]|0)+3)>>0]=(e[(c[k>>2]|0)+18>>1]|0)>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+3)+1>>0]=b[(c[k>>2]|0)+18>>1];h=(c[k>>2]|0)+16|0;b[h>>1]=(e[h>>1]|0)+2;i=t;return}}h=Qj(64508)|0;c[c[n>>2]>>2]=h;i=t;return}function ZL(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;r=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[v>>2]=0;if((d[(c[n>>2]|0)+1>>0]|0)==0?((c[q>>2]|0)+2|0)<=(e[(c[n>>2]|0)+16>>1]|0):0){c[y>>2]=Gg(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}c[u>>2]=c[(c[n>>2]|0)+56>>2];c[y>>2]=pM(c[n>>2]|0,c[q>>2]|0,v)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}j=(c[n>>2]|0)+16|0;b[j>>1]=(e[j>>1]|0)-(2+(c[q>>2]|0)&65535);TR((c[u>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0)ft((c[u>>2]|0)+(c[v>>2]|0)|0,c[s>>2]|0);c[x>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);UR((c[x>>2]|0)+2|0,c[x>>2]|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[c[x>>2]>>0]=c[v>>2]>>8;a[(c[x>>2]|0)+1>>0]=c[v>>2];y=(c[n>>2]|0)+18|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;y=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+4)|0;j=(a[y>>0]|0)+1<<24>>24;a[y>>0]=j;if(!(j&255)){j=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+3)|0;a[j>>0]=(a[j>>0]|0)+1<<24>>24}if(!(a[(c[(c[n>>2]|0)+52>>2]|0)+17>>0]|0)){i=z;return}gK(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0);i=z;return}if(c[r>>2]|0){TR(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[p>>2]=c[r>>2]}if(c[s>>2]|0)ft(c[p>>2]|0,c[s>>2]|0);y=(c[n>>2]|0)+1|0;j=a[y>>0]|0;a[y>>0]=j+1<<24>>24;c[w>>2]=j&255;c[(c[n>>2]|0)+32+(c[w>>2]<<2)>>2]=c[p>>2];b[(c[n>>2]|0)+22+(c[w>>2]<<1)>>1]=c[o>>2];i=z;return}function _L(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;g=r+32|0;q=r+28|0;l=r+24|0;h=r+36|0;m=r+20|0;k=r+16|0;n=r+12|0;o=r+8|0;j=r+4|0;p=r;c[g>>2]=f;c[q>>2]=0;c[l>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[k>>2]=a[(c[g>>2]|0)+68>>0];c[n>>2]=c[(c[g>>2]|0)+120+(c[k>>2]<<2)>>2];f=a[(c[n>>2]|0)+1>>0]|0;if(!(c[k>>2]|0)){if(!(f<<24>>24))break;c[q>>2]=$L(c[n>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[q>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[n>>2]|0)+16>>1]|0)<=(c[l>>2]|0):0)break;c[o>>2]=c[(c[g>>2]|0)+120+((c[k>>2]|0)-1<<2)>>2];c[j>>2]=e[(c[g>>2]|0)+80+((c[k>>2]|0)-1<<1)>>1];c[q>>2]=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;do if(!(c[q>>2]|0)){if(((((d[(c[n>>2]|0)+3>>0]|0)!=0?(d[(c[n>>2]|0)+1>>0]|0)==1:0)?(e[(c[n>>2]|0)+22>>1]|0)==(e[(c[n>>2]|0)+18>>1]|0):0)?(c[(c[o>>2]|0)+84>>2]|0)!=1:0)?(e[(c[o>>2]|0)+18>>1]|0)==(c[j>>2]|0):0){c[q>>2]=aM(c[o>>2]|0,c[n>>2]|0,h)|0;break}c[p>>2]=Yi(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[q>>2]=bM(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)$i(c[m>>2]|0);c[m>>2]=c[p>>2]}while(0);a[(c[n>>2]|0)+1>>0]=0;QB(c[n>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while((c[q>>2]|0)==0);if(!(c[m>>2]|0)){q=c[q>>2]|0;i=r;return q|0}$i(c[m>>2]|0);q=c[q>>2]|0;i=r;return q|0}function $L(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;k=n+8|0;l=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[(c[g>>2]|0)+52>>2];c[m>>2]=Gg(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[m>>2]|0)==0?(c[m>>2]=aK(c[j>>2]|0,k,l,c[(c[g>>2]|0)+84>>2]|0,0)|0,gM(c[g>>2]|0,c[k>>2]|0,m),(a[(c[j>>2]|0)+17>>0]|0)!=0):0)eK(c[j>>2]|0,c[l>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,m);if(c[m>>2]|0){c[c[h>>2]>>2]=0;QB(c[k>>2]|0);c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}else{TR((c[k>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;TR((c[k>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[k>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;bL(c[g>>2]|0,d[c[(c[k>>2]|0)+56>>2]>>0]&-9);ft((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[l>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function aM(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;j=v+40|0;k=v+36|0;l=v+32|0;m=v+28|0;n=v+24|0;p=v+20|0;t=v+16|0;s=v+12|0;q=v+8|0;o=v+4|0;u=v+44|0;r=v;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[j>>2]=Qj(65006)|0;u=c[j>>2]|0;i=v;return u|0}c[t>>2]=aK(c[n>>2]|0,p,s,0,0)|0;if(!(c[t>>2]|0)){c[q>>2]=(c[m>>2]|0)+4;c[o>>2]=c[(c[l>>2]|0)+32>>2];b[u>>1]=Yb[c[(c[l>>2]|0)+76>>2]&255](c[l>>2]|0,c[o>>2]|0)|0;bL(c[p>>2]|0,13);c[t>>2]=lM(c[p>>2]|0,1,o,u)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}b[(c[p>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[(c[p>>2]|0)+14>>1]|0)-2-(e[u>>1]|0);if((a[(c[n>>2]|0)+17>>0]|0)!=0?(eK(c[n>>2]|0,c[s>>2]|0,5,c[(c[k>>2]|0)+84>>2]|0,t),(e[u>>1]|0)>(e[(c[p>>2]|0)+12>>1]|0)):0)gK(c[p>>2]|0,c[o>>2]|0,t);c[o>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;if(!(d[u>>0]&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;u=a[u>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[h>>0]=u;if(!(u&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);if(!(c[t>>2]|0))ZL(c[k>>2]|0,e[(c[k>>2]|0)+18>>1]|0,c[m>>2]|0,(c[q>>2]|0)-(c[m>>2]|0)|0,0,c[(c[l>>2]|0)+84>>2]|0,t);ft((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[s>>2]|0);QB(c[p>>2]|0)}c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}function bM(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+448|0;ga=Da+412|0;ha=Da+408|0;l=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;q=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;p=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;o=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;m=Da+152|0;v=Da+148|0;r=Da+144|0;n=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;c[ha>>2]=f;c[l>>2]=g;c[Q>>2]=h;c[ia>>2]=j;c[C>>2]=k;c[t>>2]=0;c[wa>>2]=0;c[Aa>>2]=0;c[q>>2]=0;c[W>>2]=0;a[ja>>0]=0;a[ja+1>>0]=0;a[ja+2>>0]=0;a[ja+3>>0]=0;a[ja+4>>0]=0;c[ma>>2]=0;c[ma+8>>2]=0;c[za>>2]=c[(c[ha>>2]|0)+52>>2];if(!(c[Q>>2]|0)){c[ga>>2]=7;Ca=c[ga>>2]|0;i=Da;return Ca|0}c[pa>>2]=(d[(c[ha>>2]|0)+1>>0]|0)+(e[(c[ha>>2]|0)+18>>1]|0);if((c[pa>>2]|0)<2)c[Z>>2]=0;else{do if(c[l>>2]|0)if((c[l>>2]|0)==(c[pa>>2]|0)){c[Z>>2]=(c[pa>>2]|0)-2+(c[C>>2]|0);break}else{c[Z>>2]=(c[l>>2]|0)-1;break}else c[Z>>2]=0;while(0);c[pa>>2]=2-(c[C>>2]|0)}c[ya>>2]=(c[pa>>2]|0)+1;l=c[ha>>2]|0;if(((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0)==(e[(c[ha>>2]|0)+18>>1]|0))c[K>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+((d[l+5>>0]|0)+8);else c[K>>2]=(c[l+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=gr(c[K>>2]|0)|0;while(1){c[Aa>>2]=IF(c[za>>2]|0,c[M>>2]|0,la+(c[pa>>2]<<2)|0,0,0)|0;if(c[Aa>>2]|0){h=16;break}c[t>>2]=(c[t>>2]|0)+(1+(e[(c[la+(c[pa>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[la+(c[pa>>2]<<2)>>2]|0)+1>>0]|0));f=c[pa>>2]|0;c[pa>>2]=f+-1;if(!f){h=26;break}if(((c[pa>>2]|0)+(c[Z>>2]|0)|0)==(e[(c[ha>>2]|0)+22>>1]|0)?(d[(c[ha>>2]|0)+1>>0]|0)!=0:0){c[p+(c[pa>>2]<<2)>>2]=c[(c[ha>>2]|0)+32>>2];c[M>>2]=gr(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;a[(c[ha>>2]|0)+1>>0]=0;continue}c[p+(c[pa>>2]<<2)>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=gr(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;if(e[(c[za>>2]|0)+22>>1]&4){c[m>>2]=(c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[Ba+(c[pa>>2]<<2)>>2]|0)|0)>(c[(c[za>>2]|0)+36>>2]|0)){h=23;break}TR((c[Q>>2]|0)+(c[m>>2]|0)|0,c[p+(c[pa>>2]<<2)>>2]|0,c[Ba+(c[pa>>2]<<2)>>2]|0)|0;c[p+(c[pa>>2]<<2)>>2]=(c[Q>>2]|0)+((c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0))}YL(c[ha>>2]|0,(c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0,c[Ba+(c[pa>>2]<<2)>>2]|0,Aa)}a:do if((h|0)==16)VR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0;else if((h|0)==23){c[Aa>>2]=Qj(65347)|0;VR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0}else if((h|0)==26){c[t>>2]=(c[t>>2]|0)+3&-4;c[A>>2]=(c[t>>2]<<2)+(c[t>>2]<<1)+(c[(c[za>>2]|0)+32>>2]|0);c[ma+8>>2]=Ei(c[A>>2]|0)|0;if(!(c[ma+8>>2]|0)){c[Aa>>2]=7;break}c[ma+12>>2]=(c[ma+8>>2]|0)+(c[t>>2]<<2);c[o>>2]=(c[ma+12>>2]|0)+(c[t>>2]<<1);c[ma+4>>2]=c[la>>2];b[ua>>1]=d[(c[ma+4>>2]|0)+4>>0]<<2;c[va>>2]=d[(c[ma+4>>2]|0)+3>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[v>>2]=c[la+(c[pa>>2]<<2)>>2];c[r>>2]=e[(c[v>>2]|0)+18>>1];c[n>>2]=c[(c[v>>2]|0)+56>>2];b[s>>1]=b[(c[v>>2]|0)+20>>1]|0;c[x>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0);if((d[c[(c[v>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[la>>2]|0)+56>>2]>>0]|0)){h=31;break}VR((c[ma+12>>2]|0)+(c[ma>>2]<<1)|0,0,(c[r>>2]|0)+(d[(c[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[v>>2]|0)+1>>0]|0)>0){c[r>>2]=e[(c[v>>2]|0)+22>>1];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[r>>2]|0))break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1;c[Y>>2]=(c[Y>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(d[(c[v>>2]|0)+1>>0]|0))break b;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=c[(c[v>>2]|0)+32+(c[H>>2]<<2)>>2];c[ma>>2]=(c[ma>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}}while(0);c[y>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0)+(e[(c[v>>2]|0)+18>>1]<<1);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1}c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if(!((c[va>>2]|0)!=0?1:(c[pa>>2]|0)>=((c[ya>>2]|0)-1|0))){b[z>>1]=c[Ba+(c[pa>>2]<<2)>>2];b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=b[z>>1]|0;c[w>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[q>>2]=(c[q>>2]|0)+(e[z>>1]|0);TR(c[w>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0,e[z>>1]|0)|0;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[w>>2]|0)+(e[ua>>1]|0);b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=(e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)-(e[ua>>1]|0);c:do if(a[(c[v>>2]|0)+4>>0]|0)while(1){if((e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)>=4)break c;A=c[q>>2]|0;c[q>>2]=A+1;a[(c[o>>2]|0)+A>>0]=0;A=(c[ma+12>>2]|0)+(c[ma>>2]<<1)|0;b[A>>1]=(b[A>>1]|0)+1<<16>>16}else{A=c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]|0;t=(c[(c[v>>2]|0)+56>>2]|0)+8|0;a[A>>0]=a[t>>0]|0;a[A+1>>0]=a[t+1>>0]|0;a[A+2>>0]=a[t+2>>0]|0;a[A+3>>0]=a[t+3>>0]|0}while(0);c[ma>>2]=(c[ma>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==31){c[Aa>>2]=Qj(65414)|0;break}c[Ca>>2]=(c[(c[za>>2]|0)+36>>2]|0)-12+(e[ua>>1]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[u>>2]=c[la+(c[pa>>2]<<2)>>2];c[Ba+(c[pa>>2]<<2)>>2]=(c[Ca>>2]|0)-(e[(c[u>>2]|0)+16>>1]|0);if((c[Ba+(c[pa>>2]<<2)>>2]|0)<0){h=52;break}c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(d[(c[u>>2]|0)+1>>0]|0))break;z=2+((Yb[c[(c[u>>2]|0)+76>>2]&255](c[u>>2]|0,c[(c[u>>2]|0)+32+(c[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+z;c[Y>>2]=(c[Y>>2]|0)+1}c[na+(c[pa>>2]<<2)>>2]=c[oa+(c[pa>>2]<<2)>>2];c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==52){c[Aa>>2]=Qj(65512)|0;break}c[H>>2]=c[ya>>2];c[pa>>2]=0;d:while(1){if((c[pa>>2]|0)>=(c[H>>2]|0)){h=83;break}while(1){if((c[Ba+(c[pa>>2]<<2)>>2]|0)<=(c[Ca>>2]|0))break;if(((c[pa>>2]|0)+1|0)>=(c[H>>2]|0)){c[H>>2]=(c[pa>>2]|0)+2;if((c[H>>2]|0)>5){h=62;break d}c[Ba+((c[H>>2]|0)-1<<2)>>2]=0;c[na+((c[H>>2]|0)-1<<2)>>2]=c[ma>>2]}c[B>>2]=2+((cM(ma,(c[na+(c[pa>>2]<<2)>>2]|0)-1|0)|0)&65535);A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((cM(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[na+(c[pa>>2]<<2)>>2]|0)>=(c[ma>>2]|0))break;c[B>>2]=2+((cM(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);if(((c[Ba+(c[pa>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[Ca>>2]|0))break;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((cM(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}l=c[pa>>2]|0;if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){if((c[pa>>2]|0)>0)h=c[na+((c[pa>>2]|0)-1<<2)>>2]|0;else h=0;if((c[na+(l<<2)>>2]|0)<=(h|0)){h=81;break}}else c[H>>2]=l+1;c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==62){c[Aa>>2]=Qj(65524)|0;break}else if((h|0)==81){c[Aa>>2]=Qj(65557)|0;break}else if((h|0)==83){c[pa>>2]=(c[H>>2]|0)-1;while(1){if((c[pa>>2]|0)<=0)break;c[P>>2]=c[Ba+(c[pa>>2]<<2)>>2];c[O>>2]=c[Ba+((c[pa>>2]|0)-1<<2)>>2];c[N>>2]=(c[na+((c[pa>>2]|0)-1<<2)>>2]|0)-1;c[F>>2]=(c[N>>2]|0)+1-(c[va>>2]|0);cM(ma,c[F>>2]|0)|0;do{cM(ma,c[N>>2]|0)|0;if(c[P>>2]|0){if(c[C>>2]|0)break;if(((c[P>>2]|0)+(e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+((c[pa>>2]|0)==((c[H>>2]|0)-1|0)?0:2))|0))break}c[P>>2]=(c[P>>2]|0)+((e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2);c[na+((c[pa>>2]|0)-1<<2)>>2]=c[N>>2];c[N>>2]=(c[N>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+-1}while((c[N>>2]|0)>=0);c[Ba+(c[pa>>2]<<2)>>2]=c[P>>2];c[Ba+((c[pa>>2]|0)-1<<2)>>2]=c[O>>2];if((c[pa>>2]|0)>1)l=c[na+((c[pa>>2]|0)-2<<2)>>2]|0;else l=0;if((c[na+((c[pa>>2]|0)-1<<2)>>2]|0)<=(l|0)){h=93;break}c[pa>>2]=(c[pa>>2]|0)+-1}if((h|0)==93){c[Aa>>2]=Qj(65599)|0;break}c[L>>2]=d[c[(c[la>>2]|0)+56>>2]>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[H>>2]|0))break;if((c[pa>>2]|0)<(c[ya>>2]|0)){P=c[la+(c[pa>>2]<<2)>>2]|0;c[ka+(c[pa>>2]<<2)>>2]=P;c[I>>2]=P;c[la+(c[pa>>2]<<2)>>2]=0;c[Aa>>2]=Gg(c[(c[I>>2]|0)+72>>2]|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;if(c[Aa>>2]|0)break a}else{c[Aa>>2]=aK(c[za>>2]|0,I,M,(c[C>>2]|0)!=0?1:c[M>>2]|0,0)|0;if(c[Aa>>2]|0)break a;bL(c[I>>2]|0,c[L>>2]|0);c[ka+(c[pa>>2]<<2)>>2]=c[I>>2];c[wa>>2]=(c[wa>>2]|0)+1;c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if((a[(c[za>>2]|0)+17>>0]|0)!=0?(eK(c[za>>2]|0,c[(c[I>>2]|0)+84>>2]|0,5,c[(c[ha>>2]|0)+84>>2]|0,Aa),(c[Aa>>2]|0)!=0):0)break a}c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;e:while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;P=c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0;c[S+(c[pa>>2]<<2)>>2]=P;c[E+(c[pa>>2]<<2)>>2]=P;b[D+(c[pa>>2]<<1)>>1]=b[(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[pa>>2]|0))break;if((c[S+(c[Y>>2]<<2)>>2]|0)==(c[S+(c[pa>>2]<<2)>>2]|0)){h=108;break e}c[Y>>2]=(c[Y>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==108){c[Aa>>2]=Qj(65673)|0;break}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;c[G>>2]=0;c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(c[wa>>2]|0))break;if((c[E+(c[Y>>2]<<2)>>2]|0)>>>0<(c[E+(c[G>>2]<<2)>>2]|0)>>>0)c[G>>2]=c[Y>>2];c[Y>>2]=(c[Y>>2]|0)+1}c[M>>2]=c[E+(c[G>>2]<<2)>>2];c[E+(c[G>>2]<<2)>>2]=-1;if((c[G>>2]|0)!=(c[pa>>2]|0)){if((c[G>>2]|0)>(c[pa>>2]|0))dM(c[(c[ka+(c[G>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[za>>2]|0)+44>>2]|0)+(c[G>>2]|0)+1|0,0);dM(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0,c[M>>2]|0,b[D+(c[G>>2]<<1)>>1]|0);c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]=c[M>>2]}c[pa>>2]=(c[pa>>2]|0)+1}ft(c[K>>2]|0,c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[L>>2]&8|0)==0?(c[ya>>2]|0)!=(c[wa>>2]|0):0){c[J>>2]=c[((c[wa>>2]|0)>(c[ya>>2]|0)?ka:la)+((c[ya>>2]|0)-1<<2)>>2];P=(c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(c[(c[J>>2]|0)+56>>2]|0)+8|0;a[P>>0]=a[O>>0]|0;a[P+1>>0]=a[O+1>>0]|0;a[P+2>>0]=a[O+2>>0]|0;a[P+3>>0]=a[O+3>>0]|0}f:do if(a[(c[za>>2]|0)+17>>0]|0){c[aa>>2]=c[ka>>2];c[R>>2]=c[(c[aa>>2]|0)+56>>2];c[T>>2]=(e[(c[aa>>2]|0)+18>>1]|0)+(d[(c[aa>>2]|0)+1>>0]|0);c[fa>>2]=c[(c[za>>2]|0)+36>>2];c[U>>2]=0;c[V>>2]=0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ma>>2]|0))break f;c[_>>2]=c[(c[ma+8>>2]|0)+(c[pa>>2]<<2)>>2];if((c[pa>>2]|0)==(c[T>>2]|0)){P=(c[V>>2]|0)+1|0;c[V>>2]=P;l=c[V>>2]|0;if((P|0)<(c[wa>>2]|0))l=c[ka+(l<<2)>>2]|0;else l=c[la+(l<<2)>>2]|0;c[ca>>2]=l;c[T>>2]=(c[T>>2]|0)+((e[(c[ca>>2]|0)+18>>1]|0)+(d[(c[ca>>2]|0)+1>>0]|0)+(((c[va>>2]|0)!=0^1)&1));c[R>>2]=c[(c[ca>>2]|0)+56>>2]}if(!((c[pa>>2]|0)==(c[na+(c[U>>2]<<2)>>2]|0)?(P=(c[U>>2]|0)+1|0,c[U>>2]=P,c[aa>>2]=c[ka+(P<<2)>>2],(c[va>>2]|0)==0):0))h=136;do if((h|0)==136){h=0;if((((c[V>>2]|0)<(c[wa>>2]|0)?(c[(c[aa>>2]|0)+84>>2]|0)==(c[S+(c[V>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[R>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[R>>2]|0)+(c[fa>>2]|0)|0)>>>0:0)break;if(!(b[ua>>1]|0)){O=c[za>>2]|0;P=gr(c[_>>2]|0)|0;eK(O,P,5,c[(c[aa>>2]|0)+84>>2]|0,Aa)}P=(cM(ma,c[pa>>2]|0)|0)&65535;if((P|0)>(e[(c[aa>>2]|0)+12>>1]|0))gK(c[aa>>2]|0,c[_>>2]|0,Aa);if(c[Aa>>2]|0)break a}while(0);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=((c[wa>>2]|0)-1|0))break;c[ba>>2]=c[ka+(c[pa>>2]<<2)>>2];c[Y>>2]=c[na+(c[pa>>2]<<2)>>2];c[$>>2]=c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2];c[ea>>2]=(e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)+(e[ua>>1]|0);c[da>>2]=(c[Q>>2]|0)+(c[W>>2]|0);do if(a[(c[ba>>2]|0)+4>>0]|0){if(c[va>>2]|0){c[Y>>2]=(c[Y>>2]|0)+-1;Ub[c[(c[ba>>2]|0)+80>>2]&255](c[ba>>2]|0,c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2]|0,X);c[$>>2]=c[da>>2];fa=X;c[ea>>2]=4+(SI((c[$>>2]|0)+4|0,c[fa>>2]|0,c[fa+4>>2]|0)|0);c[da>>2]=0;break}c[$>>2]=(c[$>>2]|0)+-4;if((e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)==4)c[ea>>2]=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[$>>2]|0)|0)&65535}else{fa=(c[(c[ba>>2]|0)+56>>2]|0)+8|0;ca=c[$>>2]|0;a[fa>>0]=a[ca>>0]|0;a[fa+1>>0]=a[ca+1>>0]|0;a[fa+2>>0]=a[ca+2>>0]|0;a[fa+3>>0]=a[ca+3>>0]|0}while(0);c[W>>2]=(c[W>>2]|0)+(c[ea>>2]|0);ZL(c[ha>>2]|0,(c[Z>>2]|0)+(c[pa>>2]|0)|0,c[$>>2]|0,c[ea>>2]|0,c[da>>2]|0,c[(c[ba>>2]|0)+84>>2]|0,Aa);if(c[Aa>>2]|0)break a;c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=1-(c[wa>>2]|0);while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;fa=c[pa>>2]|0;c[sa>>2]=(c[pa>>2]|0)<0?0-fa|0:fa;do if(!(a[ja+(c[sa>>2]|0)>>0]|0)){if((c[pa>>2]|0)<0?(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)<(c[na+((c[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[sa>>2]|0)){c[ra>>2]=0;c[qa>>2]=0;c[xa>>2]=c[na>>2]}else{if((c[sa>>2]|0)<(c[ya>>2]|0))l=(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1)|0;else l=c[ma>>2]|0;c[ra>>2]=l;c[qa>>2]=(c[na+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1);c[xa>>2]=(c[na+(c[sa>>2]<<2)>>2]|0)-(c[qa>>2]|0)}c[Aa>>2]=eM(c[ka+(c[sa>>2]<<2)>>2]|0,c[ra>>2]|0,c[qa>>2]|0,c[xa>>2]|0,ma)|0;if(c[Aa>>2]|0)break a;fa=ja+(c[sa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[ka+(c[sa>>2]<<2)>>2]|0)+16>>1]=(c[Ca>>2]|0)-(c[Ba+(c[sa>>2]<<2)>>2]|0)}while(0);c[pa>>2]=(c[pa>>2]|0)+1}if(((c[ia>>2]|0)!=0?(e[(c[ha>>2]|0)+18>>1]|0)==0:0)?(d[(c[ha>>2]|0)+5>>0]|0)<=(e[(c[ka>>2]|0)+16>>1]|0):0){c[Aa>>2]=fM(c[ka>>2]|0)|0;gM(c[ka>>2]|0,c[ha>>2]|0,Aa);aL(c[ka>>2]|0,Aa)}else h=174;g:do if((h|0)==174?!((b[ua>>1]|0)!=0?1:(d[(c[za>>2]|0)+17>>0]|0)==0):0){c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break g;c[ta>>2]=gr((c[(c[ka+(c[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;eK(c[za>>2]|0,c[ta>>2]|0,5,c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=c[wa>>2];while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break a;aL(c[la+(c[pa>>2]<<2)>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}}while(0);Fi(c[ma+8>>2]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;QB(c[la+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;QB(c[ka+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[ga>>2]=c[Aa>>2];Ca=c[ga>>2]|0;i=Da;return Ca|0}function cM(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;if(b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0){b[e>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0;a=b[e>>1]|0;i=h;return a|0}else{b[e>>1]=oM(c[f>>2]|0,c[g>>2]|0)|0;a=b[e>>1]|0;i=h;return a|0}return 0}function dM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=a;c[g>>2]=d;b[j>>1]=e;b[(c[h>>2]|0)+24>>1]=b[j>>1]|0;hK(c[h>>2]|0,c[g>>2]|0);i=f;return}function eM(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;o=D+68|0;p=D+64|0;q=D+60|0;r=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;m=D+16|0;l=D+12|0;n=D+8|0;y=D+4|0;x=D;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=c[(c[p>>2]|0)+56>>2];c[v>>2]=d[(c[p>>2]|0)+5>>0];c[A>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[s>>2]<<1);c[z>>2]=e[(c[p>>2]|0)+18>>1];c[m>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+18>>1]|0)+(d[(c[p>>2]|0)+1>>0]|0);c[l>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[q>>2]|0)<(c[r>>2]|0)){c[n>>2]=iM(c[p>>2]|0,c[q>>2]|0,(c[r>>2]|0)-(c[q>>2]|0)|0,c[t>>2]|0)|0;UR(c[(c[p>>2]|0)+64>>2]|0,(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[z>>2]<<1|0)|0;c[z>>2]=(c[z>>2]|0)-(c[n>>2]|0)}if((c[l>>2]|0)<(c[m>>2]|0)){f=iM(c[p>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0,c[t>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-f}c[C>>2]=(c[u>>2]|0)+((((d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[C>>2]|0)>>>0>=(c[A>>2]|0)>>>0){if((c[r>>2]|0)<(c[q>>2]|0)){if((c[s>>2]|0)<((c[q>>2]|0)-(c[r>>2]|0)|0))h=c[s>>2]|0;else h=(c[q>>2]|0)-(c[r>>2]|0)|0;c[y>>2]=h;c[B>>2]=c[(c[p>>2]|0)+64>>2];UR((c[B>>2]|0)+(c[y>>2]<<1)|0,c[B>>2]|0,c[z>>2]<<1|0)|0;if(jM(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,c[r>>2]|0,c[y>>2]|0,c[t>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+(c[y>>2]|0)}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(d[(c[p>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+22+(c[w>>2]<<1)>>1]|0)-(c[r>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[s>>2]|0):0)?(c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[x>>2]<<1),UR((c[B>>2]|0)+2|0,c[B>>2]|0,(c[z>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[z>>2]=(c[z>>2]|0)+1,(jM(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[x>>2]|0)+(c[r>>2]|0)|0,1,c[t>>2]|0)|0)!=0):0)break a;c[w>>2]=(c[w>>2]|0)+1}c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[z>>2]<<1);if(!(jM(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[r>>2]|0)+(c[z>>2]|0)|0,(c[s>>2]|0)-(c[z>>2]|0)|0,c[t>>2]|0)|0)){b[(c[p>>2]|0)+18>>1]=c[s>>2];a[(c[p>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[p>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[p>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[C>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[C>>2]|0)-(c[u>>2]|0);c[o>>2]=0;C=c[o>>2]|0;i=D;return C|0}}while(0);kM(c[t>>2]|0,c[r>>2]|0,c[s>>2]|0);c[o>>2]=lM(c[p>>2]|0,c[s>>2]|0,(c[(c[t>>2]|0)+8>>2]|0)+(c[r>>2]<<2)|0,(c[(c[t>>2]|0)+12>>2]|0)+(c[r>>2]<<1)|0)|0;C=c[o>>2]|0;i=D;return C|0}function fM(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;f=y+64|0;g=y+60|0;m=y+56|0;r=y+52|0;l=y+48|0;s=y+44|0;v=y+40|0;j=y+36|0;h=y+32|0;p=y+28|0;k=y+24|0;u=y+20|0;t=y+16|0;n=y+12|0;o=y+8|0;q=y+4|0;w=y;c[g>>2]=b;c[u>>2]=0;b=c[(c[g>>2]|0)+56>>2]|0;c[k>>2]=b;c[t>>2]=b;c[l>>2]=d[(c[g>>2]|0)+5>>0];c[j>>2]=e[(c[g>>2]|0)+14>>1];c[p>>2]=e[(c[g>>2]|0)+18>>1];c[v>>2]=c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2];c[h>>2]=c[v>>2];c[n>>2]=(c[j>>2]|0)+(c[p>>2]<<1);c[o>>2]=(c[v>>2]|0)-4;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[p>>2]|0)){x=14;break}c[q>>2]=(c[k>>2]|0)+((c[j>>2]|0)+(c[m>>2]<<1));c[r>>2]=(d[c[q>>2]>>0]|0)<<8|(d[(c[q>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[n>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[o>>2]|0)){x=5;break}c[s>>2]=(Yb[c[(c[g>>2]|0)+76>>2]&255](c[g>>2]|0,(c[t>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[h>>2]=(c[h>>2]|0)-(c[s>>2]|0);if((c[h>>2]|0)<(c[n>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[s>>2]|0)|0)>(c[v>>2]|0)){x=8;break}a[c[q>>2]>>0]=c[h>>2]>>8;a[(c[q>>2]|0)+1>>0]=c[h>>2];if(!(c[u>>2]|0)){if((c[h>>2]|0)!=(c[r>>2]|0)){c[u>>2]=hM(c[c[(c[g>>2]|0)+52>>2]>>2]|0)|0;c[w>>2]=(d[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]|0)<<8|(d[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]|0);TR((c[u>>2]|0)+(c[w>>2]|0)|0,(c[k>>2]|0)+(c[w>>2]|0)|0,(c[h>>2]|0)+(c[s>>2]|0)-(c[w>>2]|0)|0)|0;c[t>>2]=c[u>>2];x=12}}else x=12;if((x|0)==12){x=0;TR((c[k>>2]|0)+(c[h>>2]|0)|0,(c[t>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}if((x|0)==5){c[f>>2]=Qj(59617)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==8){c[f>>2]=Qj(59623)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==14){a[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]=c[h>>2]>>8;a[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]=c[h>>2];a[(c[k>>2]|0)+((c[l>>2]|0)+1)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+2)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+7)>>0]=0;VR((c[k>>2]|0)+(c[n>>2]|0)|0,0,(c[h>>2]|0)-(c[n>>2]|0)|0)|0;if(((c[h>>2]|0)-(c[n>>2]|0)|0)!=(e[(c[g>>2]|0)+16>>1]|0|0)){c[f>>2]=Qj(59647)|0;x=c[f>>2]|0;i=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;i=y;return x|0}}return 0}function gM(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;m=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;n=s;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=s;return}c[q>>2]=c[(c[h>>2]|0)+52>>2];c[l>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[o>>2]=d[(c[h>>2]|0)+5>>0];c[p>>2]=(c[(c[j>>2]|0)+84>>2]|0)==1?100:0;c[n>>2]=d[(c[l>>2]|0)+((c[o>>2]|0)+5)>>0]<<8|d[(c[l>>2]|0)+((c[o>>2]|0)+5)+1>>0];TR((c[m>>2]|0)+(c[n>>2]|0)|0,(c[l>>2]|0)+(c[n>>2]|0)|0,(c[(c[q>>2]|0)+36>>2]|0)-(c[n>>2]|0)|0)|0;TR((c[m>>2]|0)+(c[p>>2]|0)|0,(c[l>>2]|0)+(c[o>>2]|0)|0,(e[(c[h>>2]|0)+14>>1]|0)+(e[(c[h>>2]|0)+18>>1]<<1)|0)|0;a[c[j>>2]>>0]=0;c[r>>2]=Wt(c[j>>2]|0)|0;if(c[r>>2]|0){c[c[k>>2]>>2]=c[r>>2];i=s;return}if(!(a[(c[q>>2]|0)+17>>0]|0)){i=s;return}r=dK(c[j>>2]|0)|0;c[c[k>>2]>>2]=r;i=s;return}function hM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+208>>2]|0}function iM(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+64|0;h=w+56|0;j=w+52|0;x=w+48|0;y=w+44|0;k=w+40|0;l=w+36|0;q=w+32|0;s=w+28|0;o=w+24|0;m=w+20|0;n=w+16|0;r=w+12|0;u=w+8|0;p=w+4|0;t=w;c[j>>2]=a;c[x>>2]=b;c[y>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=(c[l>>2]|0)+(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0);c[s>>2]=(c[l>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8+(d[(c[j>>2]|0)+6>>0]|0));c[o>>2]=0;c[n>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[r>>2]=0;c[u>>2]=0;c[m>>2]=c[x>>2];while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[s>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0){c[t>>2]=e[(c[(c[k>>2]|0)+12>>2]|0)+(c[m>>2]<<1)>>1];if((c[r>>2]|0)!=((c[p>>2]|0)+(c[t>>2]|0)|0)){if(c[r>>2]|0)nM(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[r>>2]=c[p>>2];c[u>>2]=c[t>>2];if(((c[r>>2]|0)+(c[t>>2]|0)|0)>>>0>(c[q>>2]|0)>>>0){v=9;break}}else{c[r>>2]=c[p>>2];c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0)}c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((v|0)==9){c[h>>2]=0;y=c[h>>2]|0;i=w;return y|0}if(c[r>>2]|0)nM(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[h>>2]=c[o>>2];y=c[h>>2]|0;i=w;return y|0}function jM(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+64|0;l=y+56|0;m=y+52|0;n=y+48|0;o=y+44|0;p=y+40|0;z=y+36|0;A=y+32|0;q=y+28|0;s=y+24|0;r=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[z>>2]=h;c[A>>2]=j;c[q>>2]=k;c[r>>2]=c[(c[m>>2]|0)+56>>2];c[u>>2]=c[c[o>>2]>>2];c[t>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[s>>2]=c[z>>2];while(1){if((c[s>>2]|0)>=(c[t>>2]|0)){h=10;break}c[x>>2]=(cM(c[q>>2]|0,c[s>>2]|0)|0)&65535;if((d[(c[r>>2]|0)+1>>0]|0|0)==0?(d[(c[r>>2]|0)+2>>0]|0|0)==0:0)h=6;else h=5;if((h|0)==5?(h=0,A=mM(c[m>>2]|0,c[x>>2]|0,w)|0,c[v>>2]=A,(A|0)==0):0)h=6;if((h|0)==6){if(((c[u>>2]|0)-(c[n>>2]|0)|0)<(c[x>>2]|0)){h=7;break}c[u>>2]=(c[u>>2]|0)+(0-(c[x>>2]|0));c[v>>2]=c[u>>2]}UR(c[v>>2]|0,c[(c[(c[q>>2]|0)+8>>2]|0)+(c[s>>2]<<2)>>2]|0,c[x>>2]|0)|0;a[c[p>>2]>>0]=(c[v>>2]|0)-(c[r>>2]|0)>>8;a[(c[p>>2]|0)+1>>0]=(c[v>>2]|0)-(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+2;c[s>>2]=(c[s>>2]|0)+1}if((h|0)==7){c[l>>2]=1;A=c[l>>2]|0;i=y;return A|0}else if((h|0)==10){c[c[o>>2]>>2]=c[u>>2];c[l>>2]=0;A=c[l>>2]|0;i=y;return A|0}return 0}function kM(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;while(1){if((c[j>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=Yb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=a}c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function lM(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;r=x+52|0;s=x+48|0;t=x+44|0;k=x+40|0;l=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;p=x+20|0;m=x+16|0;o=x+12|0;q=x+8|0;w=x+4|0;n=x;c[s>>2]=f;c[t>>2]=g;c[k>>2]=h;c[l>>2]=j;c[v>>2]=d[(c[s>>2]|0)+5>>0];c[u>>2]=c[(c[s>>2]|0)+56>>2];c[y>>2]=c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2];c[p>>2]=(c[u>>2]|0)+(c[y>>2]|0);c[o>>2]=c[(c[s>>2]|0)+64>>2];c[q>>2]=hM(c[c[(c[s>>2]|0)+52>>2]>>2]|0)|0;c[m>>2]=(d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0);TR((c[q>>2]|0)+(c[m>>2]|0)|0,(c[u>>2]|0)+(c[m>>2]|0)|0,(c[y>>2]|0)-(c[m>>2]|0)|0)|0;c[w>>2]=c[p>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[t>>2]|0)){k=9;break}c[n>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];if((c[n>>2]|0)>>>0>=(c[u>>2]|0)>>>0?(c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0:0)c[n>>2]=(c[q>>2]|0)+((c[n>>2]|0)-(c[u>>2]|0));c[w>>2]=(c[w>>2]|0)+(0-(e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0));a[c[o>>2]>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[o>>2]|0)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+2;if((c[w>>2]|0)>>>0<(c[o>>2]|0)>>>0){k=7;break}TR(c[w>>2]|0,c[n>>2]|0,e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0|0)|0;c[m>>2]=(c[m>>2]|0)+1}if((k|0)==7){c[r>>2]=Qj(64716)|0;y=c[r>>2]|0;i=x;return y|0}else if((k|0)==9){b[(c[s>>2]|0)+18>>1]=c[t>>2];a[(c[s>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[s>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[s>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);a[(c[u>>2]|0)+((c[v>>2]|0)+7)>>0]=0;c[r>>2]=0;y=c[r>>2]|0;i=x;return y|0}return 0}function mM(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+40|0;k=t+36|0;h=t+32|0;l=t+28|0;n=t+24|0;m=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;q=t;c[k>>2]=b;c[h>>2]=f;c[l>>2]=g;c[n>>2]=d[(c[k>>2]|0)+5>>0];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[o>>2]=(c[n>>2]|0)+1;c[p>>2]=(d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[o>>2]|0)+1>>0]|0);c[r>>2]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[p>>2]|0)>((c[r>>2]|0)-4|0)){f=4;break}if((c[p>>2]|0)<((c[o>>2]|0)+4|0)){f=4;break}c[q>>2]=(d[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]|0);g=(c[q>>2]|0)-(c[h>>2]|0)|0;c[s>>2]=g;b=c[p>>2]|0;if((g|0)>=0){f=6;break}c[o>>2]=b;c[p>>2]=(d[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[p>>2]|0)+1>>0]|0);if(!(c[p>>2]|0)){f=16;break}}if((f|0)==4){s=Qj(59680)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==6){if((b|0)>=((e[(c[k>>2]|0)+14>>1]|0)+((e[(c[k>>2]|0)+18>>1]|0)<<1)|0)?((c[q>>2]|0)+(c[p>>2]|0)|0)<=(c[r>>2]|0):0){do if((c[s>>2]|0)<4){if((d[(c[m>>2]|0)+((c[n>>2]|0)+7)>>0]|0|0)<=57){r=(c[m>>2]|0)+(c[o>>2]|0)|0;q=(c[m>>2]|0)+(c[p>>2]|0)|0;a[r>>0]=a[q>>0]|0;a[r+1>>0]=a[q+1>>0]|0;r=(c[m>>2]|0)+((c[n>>2]|0)+7)|0;a[r>>0]=(d[r>>0]|0)+(c[s>>2]&255);break}c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else{a[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]=c[s>>2]>>8;a[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]=c[s>>2]}while(0);c[j>>2]=(c[m>>2]|0)+((c[p>>2]|0)+(c[s>>2]|0));s=c[j>>2]|0;i=t;return s|0}s=Qj(59691)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==16){c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}return 0}function nM(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;j=y+20|0;k=y+16|0;l=y+32|0;m=y+30|0;u=y+28|0;r=y+26|0;p=y+35|0;w=y+34|0;t=y+24|0;s=y+12|0;q=y+8|0;o=y+4|0;v=y;c[k>>2]=f;b[l>>1]=g;b[m>>1]=h;a[w>>0]=0;b[t>>1]=b[m>>1]|0;c[s>>2]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[q>>2]=(e[l>>1]|0)+(e[m>>1]|0);c[o>>2]=c[(c[k>>2]|0)+56>>2];if((e[(c[(c[k>>2]|0)+52>>2]|0)+22>>1]|0)&4)VR((c[o>>2]|0)+(e[l>>1]|0)|0,0,e[m>>1]|0|0)|0;a[p>>0]=a[(c[k>>2]|0)+5>>0]|0;b[u>>1]=(d[p>>0]|0)+1;if((d[(c[o>>2]|0)+((e[u>>1]|0)+1)>>0]|0|0)==0?(d[(c[o>>2]|0)+(e[u>>1]|0)>>0]|0|0)==0:0)b[r>>1]=0;else x=6;do if((x|0)==6){while(1){x=0;f=((d[(c[o>>2]|0)+(e[u>>1]|0)>>0]|0)<<8|(d[(c[o>>2]|0)+(e[u>>1]|0)+1>>0]|0))&65535;b[r>>1]=f;if((f&65535|0)>=(e[l>>1]|0|0))break;n=b[r>>1]|0;if((e[r>>1]|0|0)<((e[u>>1]|0)+4|0)){x=8;break}b[u>>1]=n;x=6}if((x|0)==8?(n&65535|0)!=0:0){c[j>>2]=Qj(59854)|0;x=c[j>>2]|0;i=y;return x|0}if((e[r>>1]|0)>>>0>(c[s>>2]|0)>>>0){c[j>>2]=Qj(59858)|0;x=c[j>>2]|0;i=y;return x|0}do if((e[r>>1]|0|0)!=0?((c[q>>2]|0)+3|0)>>>0>=(e[r>>1]|0)>>>0:0){a[w>>0]=(e[r>>1]|0)-(c[q>>2]|0);if((c[q>>2]|0)>>>0>(e[r>>1]|0)>>>0){c[j>>2]=Qj(59869)|0;x=c[j>>2]|0;i=y;return x|0}c[q>>2]=(e[r>>1]|0)+((d[(c[o>>2]|0)+((e[r>>1]|0)+2)>>0]|0)<<8|(d[(c[o>>2]|0)+((e[r>>1]|0)+2)+1>>0]|0));if((c[q>>2]|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[m>>1]=(c[q>>2]|0)-(e[l>>1]|0);b[r>>1]=(d[(c[o>>2]|0)+(e[r>>1]|0)>>0]|0)<<8|(d[(c[o>>2]|0)+(e[r>>1]|0)+1>>0]|0);break}c[j>>2]=Qj(59871)|0;x=c[j>>2]|0;i=y;return x|0}while(0);do if((e[u>>1]|0|0)>((d[p>>0]|0)+1|0)?(c[v>>2]=(e[u>>1]|0)+((d[(c[o>>2]|0)+((e[u>>1]|0)+2)>>0]|0)<<8|(d[(c[o>>2]|0)+((e[u>>1]|0)+2)+1>>0]|0)),((c[v>>2]|0)+3|0)>=(e[l>>1]|0|0)):0){if((c[v>>2]|0)<=(e[l>>1]|0|0)){a[w>>0]=(d[w>>0]|0)+((e[l>>1]|0)-(c[v>>2]|0));b[m>>1]=(c[q>>2]|0)-(e[u>>1]|0);b[l>>1]=b[u>>1]|0;break}c[j>>2]=Qj(59883)|0;x=c[j>>2]|0;i=y;return x|0}while(0);if((d[w>>0]|0|0)<=(d[(c[o>>2]|0)+((d[p>>0]|0)+7)>>0]|0|0)){x=(c[o>>2]|0)+((d[p>>0]|0)+7)|0;a[x>>0]=(d[x>>0]|0)-(d[w>>0]|0);break}c[j>>2]=Qj(59889)|0;x=c[j>>2]|0;i=y;return x|0}while(0);do if((e[l>>1]|0|0)==((d[(c[o>>2]|0)+((d[p>>0]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((d[p>>0]|0)+5)+1>>0]|0)|0)){if((e[u>>1]|0|0)==((d[p>>0]|0)+1|0)){a[(c[o>>2]|0)+((d[p>>0]|0)+1)>>0]=(e[r>>1]|0)>>8;a[(c[o>>2]|0)+((d[p>>0]|0)+1)+1>>0]=b[r>>1];a[(c[o>>2]|0)+((d[p>>0]|0)+5)>>0]=(c[q>>2]|0)>>>8;a[(c[o>>2]|0)+((d[p>>0]|0)+5)+1>>0]=c[q>>2];break}c[j>>2]=Qj(59896)|0;x=c[j>>2]|0;i=y;return x|0}else{a[(c[o>>2]|0)+(e[u>>1]|0)>>0]=(e[l>>1]|0)>>8;a[(c[o>>2]|0)+(e[u>>1]|0)+1>>0]=b[l>>1];a[(c[o>>2]|0)+(e[l>>1]|0)>>0]=(e[r>>1]|0)>>8;a[(c[o>>2]|0)+(e[l>>1]|0)+1>>0]=b[r>>1];a[(c[o>>2]|0)+((e[l>>1]|0)+2)>>0]=(e[m>>1]|0)>>8;a[(c[o>>2]|0)+((e[l>>1]|0)+2)+1>>0]=b[m>>1]}while(0);x=(c[k>>2]|0)+16|0;b[x>>1]=(e[x>>1]|0)+(e[t>>1]|0);c[j>>2]=0;x=c[j>>2]|0;i=y;return x|0}function oM(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;a=Yb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=a;i=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function pM(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;o=t+20|0;m=t+16|0;r=t+12|0;q=t+8|0;n=t+4|0;p=t;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[o>>2]=d[(c[j>>2]|0)+5>>0];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=0;c[n>>2]=(e[(c[j>>2]|0)+14>>1]|0)+((e[(c[j>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0);do if((c[n>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[h>>2]=Qj(59758)|0;s=c[h>>2]|0;i=t;return s|0}while(0);if(!((d[(c[m>>2]|0)+((c[o>>2]|0)+2)>>0]|0|0)==0?(d[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((c[n>>2]|0)+2|0)<=(c[r>>2]|0):0){c[p>>2]=mM(c[j>>2]|0,c[k>>2]|0,q)|0;if(c[p>>2]|0){c[c[l>>2]>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}}do if(((c[n>>2]|0)+2+(c[k>>2]|0)|0)>(c[r>>2]|0)){c[q>>2]=fM(c[j>>2]|0)|0;if(!(c[q>>2]|0)){c[r>>2]=(((d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[k>>2]|0);a[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]=c[r>>2];c[c[l>>2]>>2]=c[r>>2];c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function qM(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+76|0;k=E+72|0;l=E+68|0;j=E+64|0;m=E+60|0;r=E+56|0;x=E+52|0;s=E+48|0;p=E+44|0;D=E+40|0;A=E+36|0;u=E+32|0;C=E+28|0;w=E+24|0;v=E+20|0;t=E+16|0;y=E+12|0;q=E+8|0;o=E+4|0;z=E;n=E+80|0;c[k>>2]=b;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[u>>2]=0;c[C>>2]=0;c[t>>2]=c[(c[k>>2]|0)+52>>2];c[y>>2]=0;c[q>>2]=d[(c[k>>2]|0)+6>>0];f=c[j>>2]|0;if(a[(c[k>>2]|0)+2>>0]|0){c[r>>2]=(c[f+20>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);c[x>>2]=c[(c[j>>2]|0)+16>>2];c[s>>2]=c[(c[j>>2]|0)+20>>2];if((c[r>>2]|0)>>>0<128){a[(c[l>>2]|0)+(c[q>>2]|0)>>0]=c[r>>2];f=1}else{f=c[r>>2]|0;f=SI((c[l>>2]|0)+(c[q>>2]|0)|0,f,((f|0)<0)<<31>>31)|0}c[q>>2]=(c[q>>2]|0)+(f&255);j=(c[j>>2]|0)+8|0;j=SI((c[l>>2]|0)+(c[q>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+j}else{h=c[f+8>>2]|0;c[r>>2]=h;c[s>>2]=h;c[x>>2]=c[c[j>>2]>>2];if((c[r>>2]|0)>>>0<128){a[(c[l>>2]|0)+(c[q>>2]|0)>>0]=c[r>>2];f=1}else{f=c[r>>2]|0;f=SI((c[l>>2]|0)+(c[q>>2]|0)|0,f,((f|0)<0)<<31>>31)|0}c[q>>2]=(c[q>>2]|0)+(f&255)}if((c[r>>2]|0)<=(e[(c[k>>2]|0)+10>>1]|0)){o=(c[q>>2]|0)+(c[r>>2]|0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)<4?4:o;c[c[m>>2]>>2]=c[p>>2];c[A>>2]=c[r>>2];c[w>>2]=c[l>>2]}else{c[o>>2]=e[(c[k>>2]|0)+12>>1];c[p>>2]=(c[o>>2]|0)+((((c[r>>2]|0)-(c[o>>2]|0)|0)>>>0)%(((c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[p>>2]|0)>(e[(c[k>>2]|0)+10>>1]|0))c[p>>2]=c[o>>2];c[A>>2]=c[p>>2];c[c[m>>2]>>2]=(c[p>>2]|0)+(c[q>>2]|0)+4;c[w>>2]=(c[l>>2]|0)+((c[q>>2]|0)+(c[p>>2]|0))}c[v>>2]=(c[l>>2]|0)+(c[q>>2]|0);while(1){if((c[r>>2]|0)<=0){f=35;break}if(!(c[A>>2]|0)){c[z>>2]=c[y>>2];if(a[(c[t>>2]|0)+17>>0]|0)while(1){c[y>>2]=(c[y>>2]|0)+1;q=VF(c[t>>2]|0,c[y>>2]|0)|0;if((q|0)==(c[y>>2]|0))continue;if((c[y>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[t>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[D>>2]=aK(c[t>>2]|0,u,y,c[y>>2]|0,0)|0;if(((c[D>>2]|0)==0?(d[(c[t>>2]|0)+17>>0]|0)!=0:0)?(a[n>>0]=(c[z>>2]|0)!=0?4:3,eK(c[t>>2]|0,c[y>>2]|0,a[n>>0]|0,c[z>>2]|0,D),(c[D>>2]|0)!=0):0)QB(c[u>>2]|0);if(c[D>>2]|0){f=25;break}ft(c[w>>2]|0,c[y>>2]|0);QB(c[C>>2]|0);c[C>>2]=c[u>>2];c[w>>2]=c[(c[u>>2]|0)+56>>2];ft(c[w>>2]|0,0);c[v>>2]=(c[(c[u>>2]|0)+56>>2]|0)+4;c[A>>2]=(c[(c[t>>2]|0)+36>>2]|0)-4}c[p>>2]=c[r>>2];if((c[p>>2]|0)>(c[A>>2]|0))c[p>>2]=c[A>>2];if((c[s>>2]|0)>0){if((c[p>>2]|0)>(c[s>>2]|0))c[p>>2]=c[s>>2];TR(c[v>>2]|0,c[x>>2]|0,c[p>>2]|0)|0}else VR(c[v>>2]|0,0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[p>>2]|0);c[x>>2]=(c[x>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)-(c[p>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[p>>2]|0)}if((f|0)==25){QB(c[C>>2]|0);c[B>>2]=c[D>>2];D=c[B>>2]|0;i=E;return D|0}else if((f|0)==35){QB(c[C>>2]|0);c[B>>2]=0;D=c[B>>2]|0;i=E;return D|0}return 0}function rM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}xJ(c[d>>2]|0,c[f>>2]|0);Kd(c[(c[f>>2]|0)+36+4>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function sM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;n=u+28|0;p=u+24|0;r=u+20|0;t=u+16|0;s=u+12|0;q=u+8|0;o=u+4|0;l=u+48|0;m=u;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[h>>2]|0)+4>>2];f=c[n>>2]|0;if(a[(c[n>>2]|0)+17>>0]|0){_J(f);rg(c[h>>2]|0,4,r);c[r>>2]=(c[r>>2]|0)+1;while(1){e=c[r>>2]|0;if((e|0)!=(VF(c[n>>2]|0,c[r>>2]|0)|0)?(c[r>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=aK(c[n>>2]|0,o,q,c[r>>2]|0,1)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}if((c[q>>2]|0)!=(c[r>>2]|0)){a[l>>0]=0;c[m>>2]=0;c[t>>2]=XH(c[n>>2]|0,0,0)|0;QB(c[o>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=XF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=WF(c[n>>2]|0,c[r>>2]|0,l,m)|0;if(!((d[l>>0]|0)!=1?(d[l>>0]|0)!=2:0))c[t>>2]=Qj(66598)|0;if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=bK(c[n>>2]|0,c[p>>2]|0,a[l>>0]|0,c[m>>2]|0,c[q>>2]|0,0)|0;QB(c[p>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=XF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Gg(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else c[p>>2]=c[o>>2];eK(c[n>>2]|0,c[r>>2]|0,1,0,t);if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Bg(c[h>>2]|0,4,c[r>>2]|0)|0;if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else{c[t>>2]=aK(f,p,r,1,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}if(c[k>>2]&1)c[s>>2]=13;else c[s>>2]=10;bL(c[p>>2]|0,c[s>>2]|0);yg(c[(c[p>>2]|0)+72>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}function tM(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;q=r;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[(c[k>>2]|0)+4>>2];if((c[m>>2]|0)!=0?(uM(c[p>>2]|0),(c[(c[p>>2]|0)+80>>2]|0)==0):0){c[j>>2]=7;f=c[j>>2]|0;i=r;return f|0}if((c[l>>2]|0)==1?(JF(c[p>>2]|0)|0)==0:0)c[l>>2]=0;c[(c[o>>2]|0)+52>>2]=c[l>>2];a[(c[o>>2]|0)+68>>0]=-1;c[(c[o>>2]|0)+72>>2]=c[n>>2];c[c[o>>2]>>2]=c[k>>2];c[(c[o>>2]|0)+4>>2]=c[p>>2];a[(c[o>>2]|0)+64>>0]=(c[m>>2]|0)!=0?1:0;a[(c[o>>2]|0)+65>>0]=(c[m>>2]|0)!=0?0:2;c[q>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if((c[(c[q>>2]|0)+52>>2]|0)==(c[l>>2]|0)){f=(c[q>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32;f=(c[o>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32}c[q>>2]=c[(c[q>>2]|0)+8>>2]}c[(c[o>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];c[(c[p>>2]|0)+8>>2]=c[o>>2];a[(c[o>>2]|0)+66>>0]=0;c[j>>2]=0;f=c[j>>2]|0;i=r;return f|0}function uM(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){i=e;return}b=Yi(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;b=(c[d>>2]|0)+80|0;c[b>>2]=(c[b>>2]|0)+4;i=e;return}function vM(){return 200}function wM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function xM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?(d[(c[f>>2]|0)+6>>0]|0|0)!=0:0){c[e>>2]=yM(c[f>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}function yM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;h=l+8|0;g=l+4|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[h>>2]=c[(c[d>>2]|0)+104>>2];c[f>>2]=cg(c[(c[d>>2]|0)+100>>2]|0,(c[e>>2]|0)*48|0,0)|0;if(!(c[f>>2]|0)){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}VR((c[f>>2]|0)+((c[h>>2]|0)*48|0)|0,0,((c[e>>2]|0)-(c[h>>2]|0)|0)*48|0)|0;c[(c[d>>2]|0)+100>>2]=c[f>>2];c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[e>>2]|0)){d=14;break}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[d>>2]|0)+28>>2];if((c[c[(c[d>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[d>>2]|0)+80|0,b=c[a+4>>2]|0,(b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0):0){h=(c[d>>2]|0)+80|0;b=c[h+4>>2]|0;a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[h>>2];c[a+4>>2]=b}else{a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[(c[d>>2]|0)+156>>2];c[a+4>>2]=0}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[d>>2]|0)+56>>2];a=kj(c[(c[d>>2]|0)+28>>2]|0)|0;c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){d=10;break}if(Br(c[d>>2]|0)|0)zM(c[(c[d>>2]|0)+216>>2]|0,(c[f>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[d>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((d|0)==10){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}else if((d|0)==14){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}return 0}function zM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];i=d;return}function AM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n+8|0;l=n+4|0;g=n;c[k>>2]=f;if((c[(c[k>>2]|0)+44>>2]|0)>>>0>0){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}c[m>>2]=c[(c[k>>2]|0)+12>>2];c[l>>2]=c[(c[m>>2]|0)+56>>2];c[g>>2]=Gg(c[(c[m>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[g>>2];m=c[j>>2]|0;i=n;return m|0}else{f=c[l>>2]|0;g=41796;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[l>>2]|0)+16>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>8;a[(c[l>>2]|0)+17>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>16;a[(c[l>>2]|0)+18>>0]=1;a[(c[l>>2]|0)+19>>0]=1;a[(c[l>>2]|0)+20>>0]=(c[(c[k>>2]|0)+32>>2]|0)-(c[(c[k>>2]|0)+36>>2]|0);a[(c[l>>2]|0)+21>>0]=64;a[(c[l>>2]|0)+22>>0]=32;a[(c[l>>2]|0)+23>>0]=32;f=(c[l>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));bL(c[m>>2]|0,13);m=(c[k>>2]|0)+22|0;b[m>>1]=e[m>>1]|0|2;ft((c[l>>2]|0)+52|0,d[(c[k>>2]|0)+17>>0]|0);ft((c[l>>2]|0)+64|0,d[(c[k>>2]|0)+18>>0]|0);c[(c[k>>2]|0)+44>>2]=1;a[(c[l>>2]|0)+31>>0]=1;c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}return 0}function BM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+24|0;h=o+20|0;j=o;l=o+16|0;m=o+12|0;n=o+8|0;k=o+28|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[j+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[j>>2];n=j;n=SR(c[n>>2]|0,c[n+4>>2]|0,8)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=7;while(1){if((c[l>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=c[j>>2]&127|128;n=j;n=SR(c[n>>2]|0,c[n+4>>2]|0,7)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=9;b=c[g>>2]|0;i=o;return b|0}c[n>>2]=0;do{b=(c[j>>2]&127|128)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[k+f>>0]=b;f=j;f=SR(c[f>>2]|0,c[f+4>>2]|0,7)|0;b=j;c[b>>2]=f;c[b+4>>2]=C;b=j}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[k>>0]=(d[k>>0]|0)&127;c[l>>2]=0;c[m>>2]=(c[n>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=a[k+(c[m>>2]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=o;return b|0}function CM(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;b[(c[n>>2]|0)+8>>1]=1;h=Nx(c[n>>2]|0,(c[l>>2]|0)+2|0)|0;c[o>>2]=h;if(h){o=c[o>>2]|0;i=p;return o|0}e=c[j>>2]|0;j=c[k>>2]|0;f=c[l>>2]|0;g=c[(c[n>>2]|0)+16>>2]|0;if(c[m>>2]|0)c[o>>2]=cI(e,j,f,g)|0;else c[o>>2]=Qh(e,j,f,g)|0;if(!(c[o>>2]|0)){a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[(c[n>>2]|0)+16>>2]|0)+((c[l>>2]|0)+1)>>0]=0;b[(c[n>>2]|0)+8>>1]=528;c[(c[n>>2]|0)+12>>2]=c[l>>2];o=c[o>>2]|0;i=p;return o|0}else{Xg(c[n>>2]|0);o=c[o>>2]|0;i=p;return o|0}return 0}function DM(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];i=j;return c[(c[f>>2]|0)+16+8>>2]|0}function EM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[f>>2]=OF(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,g)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];g=c[d>>2]|0;i=h;return g|0}if(c[g>>2]|0){c[d>>2]=Qj(73491)|0;g=c[d>>2]|0;i=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function FM(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;d=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[g>>2]|0)+12>>2];c[k>>2]=c[(c[h>>2]|0)+12>>2];b=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0|(e[(c[h>>2]|0)+8>>1]|0))&16384)){c[d>>2]=eR(c[b+16>>2]|0,c[(c[h>>2]|0)+16>>2]|0,(c[j>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[j>>2]|0)|0;if(c[d>>2]|0){c[f>>2]=c[d>>2];k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=(c[j>>2]|0)-(c[k>>2]|0);k=c[f>>2]|0;i=l;return k|0}}a=c[g>>2]|0;if((e[b+8>>1]|0)&(e[(c[h>>2]|0)+8>>1]|0)&16384){c[f>>2]=(c[a>>2]|0)-(c[c[h>>2]>>2]|0);k=c[f>>2]|0;i=l;return k|0}if((e[a+8>>1]|0)&16384)if(hG(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[c[g>>2]>>2]|0)-(c[k>>2]|0);k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=-1;k=c[f>>2]|0;i=l;return k|0}else if(hG(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[j>>2]|0)-(c[c[h>>2]>>2]|0);k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=1;k=c[f>>2]|0;i=l;return k|0}return 0}function GM(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(ez(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;d=b[e>>1]|0;i=g;return d|0}if(!(Mi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;d=b[e>>1]|0;i=g;return d|0}else{b[e>>1]=8;d=b[e>>1]|0;i=g;return d|0}return 0}function HM(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;if(Ox(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}return 0}function IM(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;ih(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;i=e;return c[d>>2]|0}function JM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+184>>2]|0){c[b>>2]=c[(c[d>>2]|0)+184>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}zI(a)|0;c[(c[d>>2]|0)+184>>2]=0;c[(c[d>>2]|0)+192>>2]=0}PM(c[d>>2]|0);if(c[(c[d>>2]|0)+92>>2]|0)OC(c[(c[d>>2]|0)+92>>2]|0,c[(c[d>>2]|0)+24>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+188>>2]|0))break;c[e>>2]=c[a+188>>2];c[(c[d>>2]|0)+188>>2]=c[(c[e>>2]|0)+4>>2];QM(c[e>>2]|0)}if(!(c[a+204>>2]|0)){i=f;return}LI(c[c[d>>2]>>2]|0,(c[d>>2]|0)+204|0,-1,0);i=f;return}function KM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+144|0;A=I+32|0;D=I+24|0;B=I+16|0;z=I+8|0;e=I+128|0;f=I+124|0;J=I+120|0;g=I+116|0;k=I+112|0;w=I+108|0;l=I+104|0;n=I+100|0;u=I+96|0;o=I+92|0;p=I+88|0;v=I+84|0;G=I+80|0;F=I+76|0;t=I+72|0;m=I;x=I+68|0;y=I+64|0;j=I+60|0;h=I+56|0;q=I+52|0;E=I+48|0;r=I+44|0;s=I+40|0;c[f>>2]=a;c[J>>2]=b;c[k>>2]=0;c[w>>2]=0;c[l>>2]=0;c[w>>2]=LM(c[f>>2]|0,c[J>>2]|0)|0;c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[n>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(fi(c[n>>2]|0)|0){c[l>>2]=1;mg(c[n>>2]|0);c[u>>2]=Pf(c[n>>2]|0)|0;if((d[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+8>>0]|0|0)!=1?(d[41812+(tg(c[u>>2]|0)|0)>>0]|0|0)!=0:0)c[k>>2]=(c[k>>2]|0)+1;c[w>>2]=Ct(c[u>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(((c[l>>2]|0)!=0?(c[(c[f>>2]|0)+204>>2]|0)!=0:0)?(c[w>>2]=Tb[c[(c[f>>2]|0)+204>>2]&255](c[(c[f>>2]|0)+200>>2]|0)|0,(c[w>>2]|0)!=0):0){c[e>>2]=531;J=c[e>>2]|0;i=I;return J|0}J=0==(Jf(Ii(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(J|(c[k>>2]|0)<=1){c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[o>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[o>>2]|0)c[w>>2]=Ng(c[o>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[p>>2]|0)c[w>>2]=Mg(c[p>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}if(!(c[w>>2]|0))MM(c[f>>2]|0)|0}else{c[v>>2]=c[c[f>>2]>>2];c[G>>2]=0;c[F>>2]=Ii(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=0;J=m;c[J>>2]=0;c[J+4>>2]=0;c[y>>2]=0;c[j>>2]=Jf(c[F>>2]|0)|0;J=c[f>>2]|0;c[z>>2]=c[F>>2];c[G>>2]=Gh(J,41818,z)|0;if(!(c[G>>2]|0)){c[e>>2]=7;J=c[e>>2]|0;i=I;return J|0}do{if(c[y>>2]|0){if((c[y>>2]|0)>100){H=35;break}if((c[y>>2]|0)==1){c[D>>2]=c[G>>2];Rd(13,41848,D)}}c[y>>2]=(c[y>>2]|0)+1;Sd(4,h);J=(c[G>>2]|0)+(c[j>>2]|0)|0;F=c[h>>2]&255;c[A>>2]=(c[h>>2]|0)>>>8&16777215;c[A+4>>2]=F;Qd(13,J,41863,A)|0;c[w>>2]=Yr(c[v>>2]|0,c[G>>2]|0,0,x)|0}while((c[w>>2]|0)==0?(c[x>>2]|0)!=0:0);if((H|0)==35){c[B>>2]=c[G>>2];Rd(13,41834,B);xr(c[v>>2]|0,c[G>>2]|0,0)|0}if(!(c[w>>2]|0))c[w>>2]=yL(c[v>>2]|0,c[G>>2]|0,t,16406,0)|0;if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[q>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(((fi(c[q>>2]|0)|0)!=0?(c[E>>2]=NM(c[q>>2]|0)|0,(c[E>>2]|0)!=0):0)?(B=c[t>>2]|0,D=c[E>>2]|0,J=(Jf(c[E>>2]|0)|0)+1|0,F=m,c[w>>2]=Ig(B,D,J,c[F>>2]|0,c[F+4>>2]|0)|0,F=(Jf(c[E>>2]|0)|0)+1|0,J=m,F=RR(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0,J=m,c[J>>2]=F,c[J+4>>2]=C,(c[w>>2]|0)!=0):0){H=48;break}c[g>>2]=(c[g>>2]|0)+1}if((H|0)==48){WK(c[t>>2]|0);xr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(0==((bs(c[t>>2]|0)|0)&1024|0)?(J=vr(c[t>>2]|0,2)|0,c[w>>2]=J,0!=(J|0)):0){WK(c[t>>2]|0);xr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[r>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[r>>2]|0)c[w>>2]=Ng(c[r>>2]|0,c[G>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}WK(c[t>>2]|0);if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[w>>2]=xr(c[v>>2]|0,c[G>>2]|0,1)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[G>>2]=0;if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}Yj();c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[s>>2]|0)Mg(c[s>>2]|0,1)|0;c[g>>2]=(c[g>>2]|0)+1}Zj();MM(c[f>>2]|0)|0}c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}function LM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;g=l+4|0;f=l;c[h>>2]=a;c[d>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[h>>2]|0)+340>>2];c[(c[h>>2]|0)+340>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[h>>2]|0)+316>>2]|0)){d=8;break}c[f>>2]=c[(c[(c[j>>2]|0)+(c[e>>2]<<2)>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(b=c[(c[c[f>>2]>>2]|0)+60>>2]|0,c[g>>2]=b,(b|0)!=0):0){c[k>>2]=Tb[c[g>>2]&255](c[f>>2]|0)|0;mJ(c[d>>2]|0,c[f>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){c[(c[h>>2]|0)+340>>2]=c[j>>2];i=l;return c[k>>2]|0}return 0}function MM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ru(c[d>>2]|0,64);i=b;return 0}function NM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=OM(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function OM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+180>>2]|0}function PM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+112>>2]|0)){i=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){eJ(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}i=f;return}function QM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=(c[b>>2]|0)+80;c[e>>2]=(c[d>>2]|0)+((c[(c[b>>2]|0)+60>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+64>>2]|0))break;eJ(c[c[b>>2]>>2]|0,c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}OC(c[d>>2]|0,c[(c[b>>2]|0)+60>>2]|0);LI(c[c[c[b>>2]>>2]>>2]|0,(c[b>>2]|0)+40|0,-1,0);Tf(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);i=g;return}function RM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[5588+(c[b>>2]<<2)>>2]|0}function SM(b,f,g){b=b|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;u=L+48|0;t=L+40|0;s=L+32|0;A=L+24|0;z=L+16|0;E=L+8|0;r=L;j=L+184|0;k=L+180|0;M=L+176|0;K=L+172|0;J=L+144|0;B=L+140|0;D=L+136|0;C=L+132|0;F=L+128|0;o=L+124|0;p=L+120|0;G=L+116|0;q=L+112|0;m=L+108|0;l=L+104|0;n=L+100|0;c[j>>2]=b;c[k>>2]=f;c[M>>2]=g;c[K>>2]=c[k>>2];dg(J,0,c[k>>2]|0,c[M>>2]|0,0);a:do switch(a[(c[j>>2]|0)+1>>0]|0){case -6:{c[D>>2]=c[(c[j>>2]|0)+16>>2];c[r>>2]=e[(c[D>>2]|0)+6>>1];rA(J,41915,r);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[(c[D>>2]|0)+6>>1]|0))break;c[C>>2]=c[(c[D>>2]|0)+20+(c[B>>2]<<2)>>2];if(c[C>>2]|0)j=c[c[C>>2]>>2]|0;else j=18402;c[F>>2]=j;M=(hR(c[F>>2]|0,34834)|0)==0;c[F>>2]=M?41920:j;M=c[F>>2]|0;c[E>>2]=(d[(c[(c[D>>2]|0)+16>>2]|0)+(c[B>>2]|0)>>0]|0)!=0?28264:18402;c[E+4>>2]=M;rA(J,41922,E);c[B>>2]=(c[B>>2]|0)+1}sA(J,34706,1);break}case -4:{c[o>>2]=c[(c[j>>2]|0)+16>>2];c[z>>2]=c[c[o>>2]>>2];rA(J,41928,z);break}case -5:{c[p>>2]=c[(c[j>>2]|0)+16>>2];M=a[c[p>>2]>>0]|0;c[A>>2]=c[(c[p>>2]|0)+20>>2];c[A+4>>2]=M;rA(J,41936,A);break}case -13:{H=c[(c[j>>2]|0)+16>>2]|0;I=c[H+4>>2]|0;M=s;c[M>>2]=c[H>>2];c[M+4>>2]=I;rA(J,28266,s);break}case -14:{c[t>>2]=c[(c[j>>2]|0)+16>>2];rA(J,41943,t);break}case -12:{h[u>>3]=+h[c[(c[j>>2]|0)+16>>2]>>3];rA(J,41946,u);break}case -8:{c[G>>2]=c[(c[j>>2]|0)+16>>2];j=c[G>>2]|0;if(e[(c[G>>2]|0)+8>>1]&2){c[K>>2]=c[j+16>>2];break a}k=c[G>>2]|0;if(e[j+8>>1]&4){G=k;I=c[G+4>>2]|0;M=H;c[M>>2]=c[G>>2];c[M+4>>2]=I;rA(J,28266,H);break a}j=c[G>>2]|0;if(e[k+8>>1]&8){h[I>>3]=+h[j>>3];rA(J,41946,I);break a}if(e[j+8>>1]&1){c[K>>2]=39691;break a}else{c[K>>2]=41952;break a}}case -10:{c[q>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2];c[v>>2]=c[q>>2];rA(J,41959,v);break}case -15:{c[l>>2]=c[(c[j>>2]|0)+16>>2];c[n>>2]=c[c[l>>2]>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[w>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];rA(J,41967,w);c[m>>2]=(c[m>>2]|0)+1}a[c[k>>2]>>0]=91;sA(J,41971,1);break}case -18:{rA(J,41973,x);break}case -19:{a[c[k>>2]>>0]=0;break}case -20:{c[y>>2]=c[c[(c[j>>2]|0)+16>>2]>>2];rA(J,18391,y);break}default:{c[K>>2]=c[(c[j>>2]|0)+16>>2];if(!(c[K>>2]|0)){c[K>>2]=c[k>>2];a[c[k>>2]>>0]=0}}}while(0);fg(J)|0;i=L;return c[K>>2]|0}function TM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;ih(c[g>>2]|0);d=h;e=c[d+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=e;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function UM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+4|0;l=m;k=m+10|0;h=m+9|0;j=m+8|0;c[g>>2]=f;c[l>>2]=0;a[k>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[h>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[j>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[h>>0]|0)==254?(d[j>>0]|0)==255:0)a[k>>0]=3;if((d[h>>0]|0)==255?(d[j>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=bh(c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}f=(c[g>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)-2;UR(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|512;a[(c[g>>2]|0)+10>>0]=a[k>>0]|0;l=c[l>>2]|0;i=m;return l|0}function VM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(WM(c[e>>2]|0,a[g>>0]|0)|0)){g=0;i=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;i=f;return g|0}function WM(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;j=l;k=l+8|0;c[j>>2]=f;a[k>>0]=g;g=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((d[(c[j>>2]|0)+10>>0]|0|0)!=((d[k>>0]|0)&-9|0))iu(c[j>>2]|0,(d[k>>0]|0)&-9)|0;if((((d[k>>0]|0)&8|0)!=0?1==(1&c[(c[j>>2]|0)+16>>2]|0):0)?(bh(c[j>>2]|0)|0)!=0:0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}GI(c[j>>2]|0)|0}else Mx(g,a[k>>0]|0,0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)==((d[k>>0]|0)&-9|0)){c[h>>2]=c[(c[j>>2]|0)+16>>2];k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function XM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)mG(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}Tf(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}function YM(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Tf(c[e>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;c[(c[d>>2]|0)+104>>2]=0;i=b;return}function ZM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pi(c[d>>2]|0);lg(c[d>>2]|0,7);i=b;return 7}function _M(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pj(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function $M(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+160>>2]|0)>1:0){aN(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;i=g;return}if((d[(c[e>>2]|0)+8>>0]|0|0)!=0?(bN(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;RB(c[f>>2]|0);i=g;return}function aN(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=h;return}c[(c[f>>2]|0)+76>>2]=0;j=(c[f>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=h;return} -function Tm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;p=x+64|0;w=x+60|0;q=x+56|0;r=x+52|0;u=x+48|0;v=x+44|0;m=x+8|0;s=x+40|0;t=x+36|0;n=x+32|0;o=x+28|0;l=x;g=x+24|0;j=x+20|0;h=x+16|0;c[p>>2]=b;c[w>>2]=e;c[q>>2]=f;if(c[c[q>>2]>>2]|0){i=x;return}c[r>>2]=d[(c[p>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){Tm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;i=x;return}o=(a[(c[v>>2]|0)+34>>0]|0)!=0;Tm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0);if(o){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;i=x;return}Tm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[q>>2]>>2]|0)break;o=(c[r>>2]|0)!=0?-1:1;l=(c[u>>2]|0)+24|0;n=(c[v>>2]|0)+24|0;n=QR(c[l>>2]|0,c[l+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=aS(o|0,((o|0)<0)<<31>>31|0,n|0,C|0)|0;o=m;c[o>>2]=n;c[o+4>>2]=C;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0)break;b=c[p>>2]|0;if((c[m+4>>2]|0)<0){Tm(b,c[u>>2]|0,c[q>>2]|0);continue}else{Tm(b,c[v>>2]|0,c[q>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;r=(c[w>>2]|0)+24|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){i=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){i=x;return}a:do if((c[(c[v>>2]|0)+20>>2]|0)!=0?(c[c[(c[v>>2]|0)+20>>2]>>2]|0)!=0:0){c[s>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;VR(c[(c[s>>2]|0)+28>>2]|0,0,c[(c[s>>2]|0)+32>>2]|0)|0;Tm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){i=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){i=x;return}c[t>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0){k=53;break}if(d[(c[u>>2]|0)+32>>0]|0){k=53;break}VR(c[(c[t>>2]|0)+28>>2]|0,0,c[(c[t>>2]|0)+32>>2]|0)|0;Tm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0)}if((k|0)==53){i=x;return}break}case 4:{c[n>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=c[(c[w>>2]|0)+16>>2];v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=QR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=aS(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;do if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[n>>2]|0)+32>>0]|0)==0?(v=l,u=c[v+4>>2]|0,!((d[(c[o>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){Tm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);Tm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);break}Tm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0)}else k=33;while(0);if((k|0)==33)Tm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);if(d[(c[n>>2]|0)+32>>0]|0)b=(d[(c[o>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=QR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=aS(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){u=(c[o>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}u=(c[n>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[j>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[j>>2]|0)+33>>0]|0))Tm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0);Tm(c[p>>2]|0,c[g>>2]|0,c[q>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[q>>2]>>2]|0)break b;if(a[(c[j>>2]|0)+32>>0]|0)break b;u=(c[r>>2]|0)!=0?-1:1;t=(c[g>>2]|0)+24|0;v=(c[j>>2]|0)+24|0;v=QR(c[t>>2]|0,c[t+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=aS(u|0,((u|0)<0)<<31>>31|0,v|0,C|0)|0;u=C;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;Tm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;i=x;return}default:{c[h>>2]=c[(c[w>>2]|0)+20>>2];Vm(c[h>>2]|0);u=Wm(c[p>>2]|0,c[h>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[q>>2]>>2]=u;u=(c[h>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}}}function Um(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;q=r+8|0;p=r;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[q>>2]=c[c[m>>2]>>2];if(!(c[q>>2]|0)){c[q>>2]=c[k>>2];p=_l(c[q>>2]|0,c[n>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+p;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}dm(0,q);while(1){if((c[q>>2]|0)>>>0<((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0)b=(a[c[q>>2]>>0]|0)==0;else b=0;d=c[q>>2]|0;if(!b)break;c[q>>2]=d+1}if(d>>>0>=((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0){a[c[o>>2]>>0]=1;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}else{l=_l(c[q>>2]|0,p)|0;c[q>>2]=(c[q>>2]|0)+l;l=(c[j>>2]|0)!=0?-1:1;o=p;o=aS(l|0,((l|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[n>>2]|0;n=p;o=RR(c[n>>2]|0,c[n+4>>2]|0,o|0,C|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}}function Vm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)Kd(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;i=d;return}function Wm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[k>>2]=0;c[h>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];b=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=Xm(b,c[f>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}if((d[b+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?(c[(c[h>>2]|0)+4>>2]|0)!=0:0){am(d[(c[j>>2]|0)+231>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,(c[h>>2]|0)+8|0,(c[h>>2]|0)+16|0,(c[h>>2]|0)+32|0,c[g>>2]|0);c[(c[h>>2]|0)+28>>2]=c[(c[h>>2]|0)+8>>2];m=c[k>>2]|0;i=l;return m|0}Ym(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}function Xm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+192|0;h=E+172|0;g=E+168|0;j=E+164|0;k=E+160|0;A=E+156|0;v=E+152|0;z=E+148|0;o=E+176|0;n=E+144|0;l=E+8|0;p=E+140|0;r=E;q=E+136|0;u=E+132|0;s=E+128|0;m=E+124|0;w=E+120|0;y=E+116|0;x=E+112|0;t=E+108|0;B=E+104|0;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[v>>2]=c[j>>2];c[z>>2]=c[c[g>>2]>>2];a[o>>0]=0;if((c[(c[j>>2]|0)+64>>2]|0)==1?(c[(c[j>>2]|0)+40>>2]|0)!=0:0){c[A>>2]=Zm(c[z>>2]|0,c[(c[j>>2]|0)+72+20>>2]|0,(c[v>>2]|0)+16|0,(c[v>>2]|0)+28|0,(c[v>>2]|0)+32|0)|0;if(!(c[(c[v>>2]|0)+28>>2]|0))a[o>>0]=1}else D=5;a:do if((D|0)==5){c[n>>2]=d[(c[g>>2]|0)+52>>0];g=l;e=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));while(1){if(d[o>>0]|0)break a;c[p>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;c[q>>2]=0;while(1){if(c[A>>2]|0)break;if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;if(d[o>>0]|0)break;c[A>>2]=_m(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;do if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){if((c[p>>2]|0)!=0?(b=(c[n>>2]|0)!=0?-1:1,e=r,f=l+((c[q>>2]|0)*24|0)+8|0,f=QR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0,aS(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0,(C|0)>=0):0)break;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[p>>2]=1}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;while(1){if(c[A>>2]|0)break;if(d[o>>0]|0)break;if(c[l+((c[q>>2]|0)*24|0)>>2]|0)break;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=QR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;aS(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;if((C|0)>=0)break;c[A>>2]=_m(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=QR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=aS(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;b=C;if(!((b|0)>0|(b|0)==0&f>>>0>0))continue;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[q>>2]=0}c[q>>2]=(c[q>>2]|0)+1}if(d[o>>0]|0)continue;c[u>>2]=0;c[s>>2]=c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[m>>2]=Id((c[s>>2]|0)+1|0)|0;if(!(c[m>>2]|0))break;TR(c[m>>2]|0,c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[s>>2]|0)+1|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[(c[j>>2]|0)+64>>2]|0)-1|0))break;if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){c[w>>2]=c[l+((c[q>>2]|0)*24|0)+16>>2];c[y>>2]=c[m>>2];c[x>>2]=c[m>>2];c[t>>2]=(c[(c[j>>2]|0)+64>>2]|0)-1-(c[q>>2]|0);c[B>>2]=$m(x,c[t>>2]|0,0,1,w,y)|0;if(!(c[B>>2]|0))break;c[u>>2]=(c[x>>2]|0)-(c[m>>2]|0)}c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==((c[(c[j>>2]|0)+64>>2]|0)-1|0)){D=35;break}Kd(c[m>>2]|0)}if((D|0)==35){z=r;B=c[z+4>>2]|0;D=(c[v>>2]|0)+16|0;c[D>>2]=c[z>>2];c[D+4>>2]=B;c[(c[v>>2]|0)+28>>2]=c[m>>2];c[(c[v>>2]|0)+32>>2]=c[u>>2];c[(c[v>>2]|0)+24>>2]=1;break}c[h>>2]=7;D=c[h>>2]|0;i=E;return D|0}while(0);a[c[k>>2]>>0]=a[o>>0]|0;c[h>>2]=c[A>>2];D=c[h>>2]|0;i=E;return D|0}function Ym(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;l=n+8|0;h=n;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);e=c[j>>2]|0;if(c[(c[j>>2]|0)+8>>2]|0)c[m>>2]=c[e+8>>2];else c[m>>2]=c[e>>2];if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){a[c[k>>2]>>0]=1;i=n;return}f=_l(c[m>>2]|0,h)|0;c[m>>2]=(c[m>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[j>>2]|0)+16|0;f=h;g=QR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}else{g=h;h=(c[j>>2]|0)+16|0;f=h;g=RR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}c[(c[j>>2]|0)+28>>2]=c[m>>2];dm(0,m);c[(c[j>>2]|0)+32>>2]=(c[m>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0);while(1){if((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)b=(a[c[m>>2]>>0]|0)==0;else b=0;e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}c[(c[j>>2]|0)+8>>2]=e;a[c[k>>2]>>0]=0;i=n;return}function Zm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;p=x+60|0;h=x+56|0;j=x+52|0;q=x+48|0;r=x+44|0;s=x+40|0;m=x+36|0;k=x+32|0;o=x+28|0;n=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;l=x+8|0;t=x;c[h>>2]=a;c[j>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];c[o>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(c[m>>2]|0)){c[c[r>>2]>>2]=0;c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}while(1){c[n>>2]=c[c[c[j>>2]>>2]>>2];if(!(c[(c[n>>2]|0)+80>>2]|0)){h=4;break}f=(c[c[k>>2]>>2]|0)+88|0;e=c[f+4>>2]|0;g=t;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[w>>2]=Wl(c[h>>2]|0,c[c[k>>2]>>2]|0,v,u)|0;c[l>>2]=1;while(1){if(c[w>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[e>>2]|0)==(c[g>>2]|0)?(c[e+4>>2]|0)==(c[g+4>>2]|0):0))break;c[w>>2]=Wl(c[h>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0,0,0)|0;c[l>>2]=(c[l>>2]|0)+1}if(c[w>>2]|0){h=12;break}Tl(c[c[j>>2]>>2]|0,c[m>>2]|0,c[l>>2]|0,c[o>>2]|0);if((c[u>>2]|0)>0?(c[(c[c[k>>2]>>2]|0)+56>>2]|0)!=0:0){c[w>>2]=Ul(c[j>>2]|0,c[v>>2]|0,(c[u>>2]|0)+1|0)|0;if(c[w>>2]|0){h=16;break}c[v>>2]=c[(c[j>>2]|0)+16>>2]}if((c[(c[j>>2]|0)+24>>2]|0)>=0)Xl(c[(c[j>>2]|0)+24>>2]|0,1,v,u);if((c[u>>2]|0)>0){h=21;break}}if((h|0)==4)c[c[r>>2]>>2]=0;else if((h|0)==12){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==16){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==21){c[c[r>>2]>>2]=c[v>>2];v=c[t+4>>2]|0;w=c[q>>2]|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[c[s>>2]>>2]=c[u>>2]}c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}function _m(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;if((c[(c[j>>2]|0)+44>>2]|0)==(c[k>>2]|0)){Ym(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+16>>2]=c[(c[j>>2]|0)+28>>2];c[(c[l>>2]|0)+20>>2]=c[(c[j>>2]|0)+32>>2];b=(c[j>>2]|0)+16|0;n=c[b+4>>2]|0;g=(c[l>>2]|0)+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=n;o=c[o>>2]|0;i=p;return o|0}c[n>>2]=(c[j>>2]|0)+72+((c[k>>2]|0)*24|0);if(!(c[(c[n>>2]|0)+20>>2]|0)){c[c[l>>2]>>2]=1;o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Zm(c[h>>2]|0,c[(c[n>>2]|0)+20>>2]|0,(c[l>>2]|0)+8|0,(c[l>>2]|0)+16|0,(c[l>>2]|0)+20|0)|0;if(c[(c[l>>2]|0)+16>>2]|0){o=c[o>>2]|0;i=p;return o|0}a[c[m>>2]>>0]=1;o=c[o>>2]|0;i=p;return o|0}function $m(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+96|0;k=D+80|0;l=D+76|0;m=D+72|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;x=D+52|0;y=D+48|0;z=D+44|0;r=D+40|0;s=D+36|0;A=D+32|0;v=D+24|0;t=D+16|0;u=D+8|0;w=D;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[x>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[p>>2]>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=0;c[s>>2]=0;if((a[c[y>>2]>>0]|0)==1){c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=$l(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g}if((a[c[z>>2]>>0]|0)==1){c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=$l(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}while(1){if((c[r>>2]|0)!=(c[s>>2]|0))if((c[r>>2]|0)<(c[s>>2]|0)){Zl(0,y);if(!(a[c[y>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=$l(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;continue}else{Zl(0,z);if(!(a[c[z>>2]>>0]|0))break;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=$l(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g;continue}c[A>>2]=c[x>>2];j=v;c[j>>2]=0;c[j+4>>2]=0;j=t;c[j>>2]=0;c[j+4>>2]=0;j=u;c[j>>2]=0;c[j+4>>2]=0;if(c[r>>2]|0){j=c[x>>2]|0;c[x>>2]=j+1;a[j>>0]=1;j=c[r>>2]|0;j=Kl(c[x>>2]|0,j,((j|0)<0)<<31>>31)|0;c[x>>2]=(c[x>>2]|0)+j}an(y,t);j=t;j=QR(c[j>>2]|0,c[j+4>>2]|0,2,0)|0;h=t;c[h>>2]=j;c[h+4>>2]=C;an(z,u);h=u;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;while(1){j=u;b=c[j>>2]|0;j=c[j+4>>2]|0;e=t;h=c[m>>2]|0;h=RR(c[e>>2]|0,c[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((b|0)==(h|0)&(j|0)==(C|0))){if(((c[o>>2]|0)==0?(h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,(e|0)>(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=RR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0)B=19}else B=19;if((B|0)==19){B=0;f=(c[n>>2]|0)!=0;e=t;b=u;j=f?c[e+4>>2]|0:c[b+4>>2]|0;h=w;c[h>>2]=f?c[e>>2]|0:c[b>>2]|0;c[h+4>>2]=j;h=w;h=RR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;bn(x,v,h,C);h=v;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=v;c[j>>2]=h;c[j+4>>2]=C;c[A>>2]=0}if(!((c[n>>2]|0)==0?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=RR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0))B=22;if((B|0)==22?(B=0,h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,!((e|0)<(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0))):0){if(!(a[c[y>>2]>>0]&254))break;an(y,t);h=t;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=t;c[j>>2]=h;c[j+4>>2]=C;continue}if(!(a[c[z>>2]>>0]&254))break;an(z,u);h=u;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C}if(c[A>>2]|0)c[x>>2]=c[A>>2];Zl(0,y);Zl(0,z);if(!(a[c[y>>2]>>0]|0))break;if(!(a[c[z>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=$l(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=$l(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}dm(0,z);dm(0,y);c[c[p>>2]>>2]=c[y>>2];c[c[q>>2]>>2]=c[z>>2];if((c[c[l>>2]>>2]|0)==(c[x>>2]|0)){c[k>>2]=0;B=c[k>>2]|0;i=D;return B|0}else{B=c[x>>2]|0;c[x>>2]=B+1;a[B>>0]=0;c[c[l>>2]>>2]=c[x>>2];c[k>>2]=1;B=c[k>>2]|0;i=D;return B|0}return 0}function an(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;a=_l(c[c[g>>2]>>2]|0,f)|0;b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+a;b=f;a=c[e>>2]|0;e=a;b=RR(c[e>>2]|0,c[e+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=C;i=d;return}function bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[g>>2]=b;a=h;c[a>>2]=d;c[a+4>>2]=e;e=c[c[j>>2]>>2]|0;a=h;b=c[g>>2]|0;b=QR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Kl(e,b,C)|0;e=c[j>>2]|0;c[e>>2]=(c[e>>2]|0)+b;e=h;b=c[e+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;i=f;return}function cn(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}i=e;return 0}function dn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;f=s+44|0;t=s+40|0;l=s+36|0;p=s+32|0;r=s+28|0;m=s+24|0;g=s+20|0;h=s+16|0;j=s+12|0;n=s+8|0;q=s+4|0;o=s;c[f>>2]=a;c[t>>2]=b;c[l>>2]=e;c[p>>2]=c[c[f>>2]>>2];c[r>>2]=0;c[g>>2]=0;if(((c[t>>2]|0)!=0?(d[(c[f>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[l>>2]|0)+64>>2]|0)<=4:0)b=(c[(c[l>>2]|0)+64>>2]|0)>0;else b=0;c[h>>2]=b&1;c[m>>2]=0;while(1){if((c[h>>2]|0)!=1)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[j>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[j>>2]|0)+12>>2]|0)){if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[(c[(c[j>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)k=11}else k=11;if((k|0)==11){k=0;c[h>>2]=0}if(c[(c[j>>2]|0)+20>>2]|0)c[g>>2]=1;c[m>>2]=(c[m>>2]|0)+1}if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){c[r>>2]=fn(c[f>>2]|0,c[l>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=0;t=c[r>>2]|0;i=s;return t|0}if((c[(c[l>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))b=-1;else b=c[(c[l>>2]|0)+68>>2]|0;c[n>>2]=b;c[m>>2]=0;while(1){if(c[r>>2]|0)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[q>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);c[o>>2]=c[(c[q>>2]|0)+20>>2];if(c[o>>2]|0)c[r>>2]=en(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}c[(c[l>>2]|0)+40>>2]=1;t=c[r>>2]|0;i=s;return t|0}function en(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;n=t+40|0;h=t+36|0;o=t+32|0;p=t+28|0;j=t+24|0;k=t+20|0;q=t+16|0;r=t+12|0;l=t+8|0;s=t+4|0;m=t;c[h>>2]=a;c[o>>2]=b;c[p>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[o>>2]|0)+4>>2];c[s>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;c[r>>2]=hm(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;c[m>>2]=c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2];if(!(c[(c[m>>2]|0)+40>>2]|0))break;if(im(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}c[(c[o>>2]|0)+8>>2]=c[q>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+8>>2]|0)){h=13;break}c[r>>2]=Vl(c[h>>2]|0,c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;if(c[r>>2]|0){h=11;break}c[q>>2]=(c[q>>2]|0)+1}if((h|0)==11){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}else if((h|0)==13){Tl(c[c[o>>2]>>2]|0,c[q>>2]|0,c[q>>2]|0,c[s>>2]|0);c[(c[o>>2]|0)+24>>2]=c[p>>2];c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+28|0;d=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;f=l+4|0;h=l;c[m>>2]=a;c[d>>2]=b;c[g>>2]=c[c[m>>2]>>2];c[k>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){d=8;break}c[j>>2]=(c[d>>2]|0)+72+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[f>>2]=0,c[h>>2]=0,c[k>>2]=gn(c[g>>2]|0,c[j>>2]|0,c[(c[d>>2]|0)+68>>2]|0,f,h)|0,(c[k>>2]|0)==0):0)c[k>>2]=hn(c[g>>2]|0,c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){i=l;return c[k>>2]|0}return 0}function gn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+192|0;g=r+176|0;h=r+172|0;j=r+168|0;k=r+164|0;l=r+160|0;p=r+156|0;o=r+152|0;q=r+24|0;m=r+8|0;n=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=c[(c[h>>2]|0)+20>>2];d=q;a=d+128|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[m+12>>2]=3|((c[(c[h>>2]|0)+8>>2]|0)!=0?8:0)|((c[(c[h>>2]|0)+12>>2]|0)!=0?32:0)|((c[j>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?4:0);c[m+8>>2]=c[j>>2];c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=ul(c[g>>2]|0,c[o>>2]|0,m)|0;while(1){if(c[p>>2]|0)break;m=vl(c[g>>2]|0,c[o>>2]|0)|0;c[p>>2]=m;if(100!=(m|0))break;c[p>>2]=mn(c[g>>2]|0,q,c[(c[o>>2]|0)+48>>2]|0,c[(c[o>>2]|0)+52>>2]|0)|0}if(!(c[p>>2]|0))c[p>>2]=nn(c[g>>2]|0,q)|0;if(!(c[p>>2]|0)){c[c[l>>2]>>2]=c[q>>2];c[c[k>>2]>>2]=c[q+64>>2];q=c[o>>2]|0;on(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=16)break;Kd(c[q+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}q=c[o>>2]|0;on(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}function hn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;n=t;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[s>>2]=0;e=c[j>>2]|0;do if(!(c[l>>2]|0)){Kd(c[e>>2]|0);c[c[j>>2]>>2]=0;c[(c[j>>2]|0)+4>>2]=0}else{if((c[e+44>>2]|0)<0){c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];break}if(!(c[c[j>>2]>>2]|0)){Kd(c[l>>2]|0);break}e=c[c[j>>2]>>2]|0;if((c[(c[j>>2]|0)+44>>2]|0)<(c[k>>2]|0)){c[q>>2]=e;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[r>>2]=c[l>>2];c[p>>2]=c[m>>2];c[n>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+44>>2]|0)}else{c[r>>2]=e;c[p>>2]=c[(c[j>>2]|0)+4>>2];c[q>>2]=c[l>>2];c[o>>2]=c[m>>2];c[n>>2]=(c[(c[j>>2]|0)+44>>2]|0)-(c[k>>2]|0)}c[s>>2]=jn(d[(c[h>>2]|0)+231>>0]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,r,p)|0;Kd(c[q>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[(c[j>>2]|0)+4>>2]=c[p>>2]}while(0);if((c[k>>2]|0)<=(c[(c[j>>2]|0)+44>>2]|0)){s=c[s>>2]|0;i=t;return s|0}c[(c[j>>2]|0)+44>>2]=c[k>>2];s=c[s>>2]|0;i=t;return s|0}function jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;D=i;i=i+112|0;h=D+104|0;j=D+100|0;k=D+96|0;E=D+92|0;F=D+88|0;l=D+84|0;m=D+80|0;r=D+32|0;s=D+24|0;u=D+16|0;o=D+76|0;z=D+72|0;A=D+68|0;x=D+64|0;y=D+60|0;w=D+56|0;p=D+52|0;n=D+48|0;t=D+8|0;B=D+44|0;v=D;q=D+40|0;c[j>>2]=a;c[k>>2]=b;c[E>>2]=d;c[F>>2]=e;c[l>>2]=f;c[m>>2]=g;g=r;c[g>>2]=0;c[g+4>>2]=0;g=s;c[g>>2]=0;c[g+4>>2]=0;g=u;c[g>>2]=0;c[g+4>>2]=0;c[o>>2]=c[c[l>>2]>>2];c[z>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[A>>2]=(c[o>>2]|0)+(c[c[m>>2]>>2]|0);c[x>>2]=c[E>>2];c[y>>2]=c[o>>2];c[p>>2]=0;if(c[j>>2]|0){c[n>>2]=Id((c[c[m>>2]>>2]|0)+10|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;F=c[h>>2]|0;i=D;return F|0}}else c[n>>2]=c[o>>2];c[w>>2]=c[n>>2];kn(x,c[z>>2]|0,0,r);kn(y,c[A>>2]|0,0,s);while(1){if(!((c[x>>2]|0)!=0?(c[y>>2]|0)!=0:0))break;F=(c[j>>2]|0)!=0?-1:1;g=r;E=s;E=QR(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=aS(F|0,((F|0)<0)<<31>>31|0,E|0,C|0)|0;F=t;c[F>>2]=E;c[F+4>>2]=C;F=t;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[t+4>>2]|0)<0){dm(0,x);kn(x,c[z>>2]|0,c[j>>2]|0,r);continue}else{dm(0,y);kn(y,c[A>>2]|0,c[j>>2]|0,s);continue}else{c[B>>2]=c[w>>2];g=u;E=c[g+4>>2]|0;F=v;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[q>>2]=c[p>>2];F=r;ln(w,c[j>>2]|0,u,p,c[F>>2]|0,c[F+4>>2]|0);if(!($m(w,c[k>>2]|0,0,1,x,y)|0)){c[w>>2]=c[B>>2];g=v;E=c[g+4>>2]|0;F=u;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[p>>2]=c[q>>2]}kn(x,c[z>>2]|0,c[j>>2]|0,r);kn(y,c[A>>2]|0,c[j>>2]|0,s);continue}}c[c[m>>2]>>2]=(c[w>>2]|0)-(c[n>>2]|0);if(c[j>>2]|0){Kd(c[o>>2]|0);c[c[l>>2]>>2]=c[n>>2]}c[h>>2]=0;F=c[h>>2]|0;i=D;return F|0}function kn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+20|0;l=k+16|0;j=k+12|0;h=k+8|0;g=k;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[h>>2]=e;d=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[d>>2]=0;i=k;return}a=_l(c[d>>2]|0,g)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+a;f=g;a=c[f>>2]|0;f=c[f+4>>2]|0;d=c[h>>2]|0;e=d;b=c[e>>2]|0;e=c[e+4>>2]|0;if(c[j>>2]|0){j=QR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}else{j=RR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}}function ln(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;l=n+8|0;m=n;c[h>>2]=a;c[o>>2]=b;c[j>>2]=d;c[k>>2]=e;a=l;c[a>>2]=f;c[a+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0){o=c[j>>2]|0;a=l;a=QR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}else{o=l;a=c[j>>2]|0;a=QR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}a=m;a=Kl(c[c[h>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+a;d=l;a=c[d+4>>2]|0;o=c[j>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=a;c[c[k>>2]>>2]=1;i=n;return}function mn(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;g=t+24|0;m=t+20|0;p=t+16|0;o=t+12|0;n=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[g>>2]=f;a:do if(!(c[c[k>>2]>>2]|0)){s=Id((c[g>>2]|0)+10+1|0)|0;c[c[k>>2]>>2]=s;c[(c[k>>2]|0)+64>>2]=c[g>>2];if(c[c[k>>2]>>2]|0){TR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[g>>2]|0)|0;break}c[h>>2]=7;s=c[h>>2]|0;i=t;return s|0}else{c[m>>2]=c[l>>2];c[p>>2]=c[g>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break a;if(!(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)){s=8;break}c[r>>2]=pn(d[(c[j>>2]|0)+231>>0]|0,c[m>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]|0,n,q)|0;g=(c[m>>2]|0)!=(c[l>>2]|0);if(c[r>>2]|0)break;if(g)Kd(c[m>>2]|0);Kd(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=0;c[m>>2]=c[n>>2];c[p>>2]=c[q>>2];if(((c[o>>2]|0)+1|0)==16){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2]}c[o>>2]=(c[o>>2]|0)+1}if((s|0)==8){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2];break}if(g)Kd(c[m>>2]|0);c[h>>2]=c[r>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function nn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;e=o+28|0;k=o+24|0;l=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;f=o+4|0;n=o;c[e>>2]=a;c[k>>2]=b;c[l>>2]=0;c[m>>2]=0;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=16){e=10;break}do if(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0){if(!(c[l>>2]|0)){c[l>>2]=c[(c[k>>2]|0)+(c[g>>2]<<2)>>2];c[m>>2]=c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2];c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;break}c[n>>2]=pn(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2]|0,c[l>>2]|0,c[m>>2]|0,f,h)|0;if(c[n>>2]|0){e=7;break a}Kd(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0);Kd(c[l>>2]|0);c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;c[l>>2]=c[f>>2];c[m>>2]=c[h>>2]}while(0);c[g>>2]=(c[g>>2]|0)+1}if((e|0)==7){Kd(c[l>>2]|0);c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}else if((e|0)==10){c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+64>>2]=c[m>>2];c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}return 0}function on(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Bl(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function pn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;y=i;i=i+96|0;j=y+88|0;k=y+84|0;D=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;l=y+64|0;m=y+60|0;p=y+24|0;q=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;n=y+36|0;o=y+32|0;r=y;c[k>>2]=a;c[D>>2]=b;c[A>>2]=d;c[B>>2]=e;c[z>>2]=f;c[l>>2]=g;c[m>>2]=h;h=p;c[h>>2]=0;c[h+4>>2]=0;h=q;c[h>>2]=0;c[h+4>>2]=0;h=s;c[h>>2]=0;c[h+4>>2]=0;c[w>>2]=(c[D>>2]|0)+(c[A>>2]|0);c[x>>2]=(c[B>>2]|0)+(c[z>>2]|0);c[u>>2]=c[D>>2];c[v>>2]=c[B>>2];c[o>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;c[n>>2]=Id((c[A>>2]|0)+(c[z>>2]|0)+10-1|0)|0;if(!(c[n>>2]|0)){c[j>>2]=7;D=c[j>>2]|0;i=y;return D|0}c[t>>2]=c[n>>2];kn(u,c[w>>2]|0,0,p);kn(v,c[x>>2]|0,0,q);while(1){if(!((c[u>>2]|0)!=0?1:(c[v>>2]|0)!=0))break;D=(c[k>>2]|0)!=0?-1:1;A=p;B=q;B=QR(c[A>>2]|0,c[A+4>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;B=aS(D|0,((D|0)<0)<<31>>31|0,B|0,C|0)|0;D=r;c[D>>2]=B;c[D+4>>2]=C;D=r;if((c[v>>2]|0)!=0&(c[u>>2]|0)!=0&((c[D>>2]|0)==0&(c[D+4>>2]|0)==0)){D=p;ln(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);qn(t,u,v);kn(u,c[w>>2]|0,c[k>>2]|0,p);kn(v,c[x>>2]|0,c[k>>2]|0,q);continue}if((c[v>>2]|0)!=0?!((c[u>>2]|0)!=0&(c[r+4>>2]|0)<0):0){D=q;ln(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);dm(t,v);kn(v,c[x>>2]|0,c[k>>2]|0,q);continue}D=p;ln(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);dm(t,u);kn(u,c[w>>2]|0,c[k>>2]|0,p)}c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=(c[t>>2]|0)-(c[n>>2]|0);c[j>>2]=0;D=c[j>>2]|0;i=y;return D|0}function qn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;g=t+56|0;h=t+52|0;j=t+48|0;q=t+44|0;r=t+40|0;s=t+36|0;m=t+32|0;n=t+28|0;k=t+16|0;l=t+8|0;o=t;p=t+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[c[g>>2]>>2];c[r>>2]=c[c[h>>2]>>2];c[s>>2]=c[c[j>>2]>>2];a:while(1){if((a[c[r>>2]>>0]|0)==0?(a[c[s>>2]>>0]|0)==0:0)break;b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128){$l(e,m)|0;break}else{c[m>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[m>>2]=2147483647;break}else{c[m>>2]=0;break}while(0);b=c[s>>2]|0;do if((a[c[s>>2]>>0]|0)==1){e=(c[s>>2]|0)+1|0;if(d[b+1>>0]&128){$l(e,n)|0;break}else{c[n>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[n>>2]=2147483647;break}else{c[n>>2]=0;break}while(0);if((c[m>>2]|0)!=(c[n>>2]|0))if((c[m>>2]|0)<(c[n>>2]|0)){f=rn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;Zl(q,r);continue}else{f=rn(q,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+f;Zl(q,s);continue}f=k;c[f>>2]=0;c[f+4>>2]=0;f=l;c[f>>2]=0;c[f+4>>2]=0;f=o;c[f>>2]=0;c[f+4>>2]=0;c[p>>2]=rn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[p>>2]|0);an(r,k);an(s,l);while(1){e=k;u=c[e+4>>2]|0;b=l;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=k;f=l;bn(q,o,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=o;f=QR(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=o;c[e>>2]=f;c[e+4>>2]=C;e=k;f=l;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=k;b=c[f+4>>2]|0;u=l;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){sn(r,k);break}else{sn(s,l);break}}else{sn(r,k);sn(s,l)}while(0);f=k;u=l;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[q>>2]|0;c[q>>2]=u+1;a[u>>0]=0;c[c[g>>2]>>2]=c[q>>2];c[c[h>>2]>>2]=(c[r>>2]|0)+1;c[c[j>>2]>>2]=(c[s>>2]|0)+1;i=t;return}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){b=c[g>>2]|0;i=j;return b|0}c[h>>2]=c[c[e>>2]>>2];b=c[f>>2]|0;c[g>>2]=1+(Kl((c[h>>2]|0)+1|0,b,((b|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);b=c[g>>2]|0;i=j;return b|0}function sn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254){an(c[e>>2]|0,c[f>>2]|0);b=c[f>>2]|0;d=b;d=QR(c[d>>2]|0,c[d+4>>2]|0,2,0)|0;c[b>>2]=d;c[b+4>>2]=C;i=g;return}else{b=c[f>>2]|0;c[b>>2]=2147483647;c[b+4>>2]=0;i=g;return}}function tn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((a[(c[g>>2]|0)+7>>0]|0)!=0?(c[h>>2]=0,c[j>>2]=Fn(c[g>>2]|0,h)|0,(c[j>>2]|0)==0):0){h=(c[g>>2]|0)+32|0;Le(c[(c[g>>2]|0)+8>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(te(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=Yd(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[j>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[j>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[j>>2]|0)!=0&(c[f>>2]|0)!=0)qe(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function un(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+80|0;b=v+64|0;r=v+60|0;e=v+56|0;f=v;m=v+52|0;l=v+48|0;p=v+44|0;n=v+40|0;s=v+36|0;q=v+32|0;t=v+28|0;k=v+24|0;g=v+20|0;h=v+16|0;j=v+12|0;o=v+8|0;c[b>>2]=a;c[r>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[r>>2]|0;i=v;return u|0}c[l>>2]=c[c[b>>2]>>2];c[p>>2]=c[(c[l>>2]|0)+36>>2];c[n>>2]=c[c[p>>2]>>2];w=De(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=f;c[a>>2]=w;c[a+4>>2]=C;c[e>>2]=0;while(1){if(!((c[e>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[r>>2]|0)==0:0))break;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[e>>2]|0)>>0]|0)){c[s>>2]=Ee(c[(c[b>>2]|0)+8>>2]|0,(c[e>>2]|0)+1|0)|0;c[q>>2]=0;c[r>>2]=Cn(c[p>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[s>>2]|0,-1,q)|0;a:while(1){if(c[r>>2]|0)break;c[k>>2]=0;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[r>>2]=Sb[c[(c[n>>2]|0)+20>>2]&255](c[q>>2]|0,t,k,g,h,j)|0;c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))continue a;c[o>>2]=c[c[m>>2]>>2];if(!((c[(c[m>>2]|0)+4>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[(c[m>>2]|0)+4>>2]|0)!=(c[e>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[o>>2]|0)+12>>2]|0)==0):0){if((c[(c[o>>2]|0)+4>>2]|0)!=(c[k>>2]|0)){if(!(c[(c[o>>2]|0)+8>>2]|0))break;if((c[(c[o>>2]|0)+4>>2]|0)>=(c[k>>2]|0))break}if(!(eR(c[t>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)){x=f;a=c[e>>2]|0;w=c[j>>2]|0;Dn((c[m>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,r)|0}}while(0);c[m>>2]=c[(c[m>>2]|0)+8>>2]}}if(c[q>>2]|0)Tb[c[(c[n>>2]|0)+16>>2]&255](c[q>>2]|0)|0;if((c[r>>2]|0)==101)c[r>>2]=0}c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))break;if(c[(c[m>>2]|0)+12>>2]|0)c[r>>2]=En((c[m>>2]|0)+12|0,0,0)|0;c[m>>2]=c[(c[m>>2]|0)+8>>2]}x=c[r>>2]|0;i=v;return x|0}function vn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+28|0;l=p+24|0;g=p+20|0;o=p+16|0;n=p+12|0;h=p+8|0;j=p+4|0;k=p;c[m>>2]=b;c[l>>2]=e;c[g>>2]=f;c[o>>2]=1;if(c[c[g>>2]>>2]|0){o=c[o>>2]|0;i=p;return o|0}switch(c[c[l>>2]>>2]|0){case 3:case 1:{if((vn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)!=0?(vn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0:0)g=(xn(c[l>>2]|0,c[g>>2]|0)|0)!=0;else g=0;c[o>>2]=g&1;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[c[l>>2]>>2]|0)!=1){o=c[o>>2]|0;i=p;return o|0}if((c[(c[l>>2]|0)+8>>2]|0)!=0?(c[c[(c[l>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;i=p;return o|0}c[n>>2]=c[l>>2];while(1){g=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;f=(c[g+16>>2]|0)+24|0;l=(c[m>>2]|0)+32|0;if((c[f>>2]|0)==(c[l>>2]|0)?(c[f+4>>2]|0)==(c[l+4>>2]|0):0)Vm(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}l=g+24|0;m=(c[m>>2]|0)+32|0;if(!((c[l>>2]|0)==(c[m>>2]|0)?(c[l+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;i=p;return o|0}Vm(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;i=p;return o|0}case 4:{c[h>>2]=vn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0;c[j>>2]=vn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0;c[o>>2]=((c[h>>2]|0)!=0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;i=p;return o|0}case 2:{if(vn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)g=(vn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0^1;else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){f=(c[l>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[f>>2]|0)==(c[n>>2]|0)?(c[f+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[l>>2]|0)+34>>0]|0)==0:0)break;c[k>>2]=c[(c[l>>2]|0)+20>>2];if(a[(c[l>>2]|0)+34>>0]|0)Vm(c[k>>2]|0);f=yn(c[m>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=f;c[o>>2]=(c[(c[k>>2]|0)+28>>2]|0)!=0&1;f=(c[m>>2]|0)+32|0;m=c[f+4>>2]|0;n=(c[l>>2]|0)+24|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;o=c[o>>2]|0;i=p;return o|0}while(0);if(!(d[(c[l>>2]|0)+32>>0]|0)){n=(c[l>>2]|0)+24|0;g=(c[m>>2]|0)+32|0;g=(c[n>>2]|0)==(c[g>>2]|0)?(c[n+4>>2]|0)==(c[g+4>>2]|0):0}else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}}return 0}function wn(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;kl(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}i=d;return}function xn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;e=r+44|0;f=r+40|0;q=r+36|0;o=r+32|0;h=r+28|0;l=r+24|0;k=r+20|0;n=r+16|0;j=r+12|0;g=r+8|0;m=r+4|0;p=r;c[e>>2]=a;c[f>>2]=b;c[q>>2]=1;if(c[c[f>>2]>>2]|0){q=c[q>>2]|0;i=r;return q|0}if((c[c[e>>2]>>2]|0)!=1){q=c[q>>2]|0;i=r;return q|0}if(d[(c[e>>2]|0)+32>>0]|0){q=c[q>>2]|0;i=r;return q|0}if((c[(c[e>>2]|0)+8>>2]|0)!=0?(c[c[(c[e>>2]|0)+8>>2]>>2]|0)==1:0){q=c[q>>2]|0;i=r;return q|0}c[h>>2]=0;c[o>>2]=c[e>>2];while(1){a=c[o>>2]|0;if(!(c[(c[o>>2]|0)+12>>2]|0))break;c[h>>2]=(c[h>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}c[h>>2]=(c[h>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[h>>2]|0)){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}c[l>>2]=Id(c[h>>2]<<1)|0;a:do if(c[l>>2]|0){c[k>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0))break;if((c[c[o>>2]>>2]|0)!=1)break;c[j>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+20>>2];c[g>>2]=c[(c[o>>2]|0)+4>>2];c[q>>2]=An(c[g>>2]|0,c[l>>2]|0,k,n,c[j>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+8>>2]}c[k>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[e>>2]|0)+12>>2];while(1){if(!((c[o>>2]|0)!=0?(c[q>>2]|0)!=0:0))break a;c[m>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+4>>2];a=c[o>>2]|0;if((c[c[o>>2]>>2]|0)==1)a=c[(c[a+16>>2]|0)+20>>2]|0;else a=c[a+20>>2]|0;c[p>>2]=a;c[q>>2]=An(c[m>>2]|0,c[l>>2]|0,k,n,c[p>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+12>>2]}}else{c[c[f>>2]>>2]=7;c[q>>2]=0}while(0);Kd(c[l>>2]|0);q=c[q>>2]|0;i=r;return q|0}function yn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;m=y+76|0;n=y+72|0;o=y+68|0;e=y+64|0;q=y+60|0;u=y+56|0;r=y+52|0;l=y+48|0;j=y+44|0;k=y+40|0;f=y+36|0;x=y+32|0;d=y+28|0;g=y+24|0;h=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;p=y;c[n>>2]=a;c[o>>2]=b;c[q>>2]=0;c[u>>2]=0;c[r>>2]=-1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0)){a=14;break}c[l>>2]=(c[o>>2]|0)+72+((c[e>>2]|0)*24|0);c[j>>2]=c[(c[l>>2]|0)+16>>2];if(c[j>>2]|0){c[x>>2]=zn(c[j>>2]|0,k,f)|0;if(c[x>>2]|0){a=5;break}b=c[q>>2]|0;if(!(c[k>>2]|0)){a=7;break}a=c[k>>2]|0;if(b){c[d>>2]=a;c[g>>2]=c[q>>2];c[h>>2]=c[d>>2];$m(d,(c[e>>2]|0)-(c[r>>2]|0)|0,0,1,g,h)|0;Kd(c[q>>2]|0);c[q>>2]=c[k>>2];c[u>>2]=(c[d>>2]|0)-(c[q>>2]|0);if(!(c[u>>2]|0)){a=11;break}}else{c[q>>2]=a;c[u>>2]=c[f>>2]}c[r>>2]=c[e>>2]}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==5){c[m>>2]=c[x>>2];x=c[m>>2]|0;i=y;return x|0}else if((a|0)==7){Kd(b);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==11){Kd(c[q>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==14){do if((c[r>>2]|0)>=0){c[t>>2]=c[(c[o>>2]|0)+44>>2];if((c[t>>2]|0)<0){c[(c[o>>2]|0)+28>>2]=c[q>>2];c[(c[o>>2]|0)+32>>2]=c[u>>2];v=(c[n>>2]|0)+32|0;w=c[v+4>>2]|0;x=(c[o>>2]|0)+16|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[(c[o>>2]|0)+24>>2]=1;break}if((c[t>>2]|0)>(c[r>>2]|0)){c[v>>2]=c[q>>2];c[w>>2]=c[(c[o>>2]|0)+28>>2];c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[(c[o>>2]|0)+28>>2];c[w>>2]=c[q>>2];c[s>>2]=(c[r>>2]|0)-(c[t>>2]|0)}c[p>>2]=Id((c[u>>2]|0)+8|0)|0;if(!(c[p>>2]|0)){Kd(c[q>>2]|0);c[m>>2]=7;x=c[m>>2]|0;i=y;return x|0}c[(c[o>>2]|0)+28>>2]=c[p>>2];if($m(p,c[s>>2]|0,0,1,v,w)|0){c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+32>>2]=(c[p>>2]|0)-(c[(c[o>>2]|0)+28>>2]|0)}else{Kd(c[p>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0}Kd(c[q>>2]|0)}while(0);c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}return 0}function zn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+16|0;k=l+12|0;j=l+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}c[k>>2]=Id(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[k>>2]|0){c[j>>2]=_l(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,l)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[k>>2];TR(c[k>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=l;return b|0}return 0}function An(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=i;i=i+48|0;s=n+40|0;r=n+36|0;g=n+32|0;h=n+28|0;j=n+24|0;q=n+20|0;p=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[s>>2]=a;c[r>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[h>>2]>>2]|0);e=c[(c[j>>2]|0)+28>>2]|0;c[l>>2]=e;c[o>>2]=e;c[m>>2]=Bn(l,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[g>>2]|0,o)|0;if(!(c[m>>2]|0)){s=c[m>>2]|0;i=n;return s|0}c[k>>2]=(c[l>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0)-1;VR((c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)|0,0,(c[(c[j>>2]|0)+32>>2]|0)-(c[k>>2]|0)|0)|0;c[(c[j>>2]|0)+32>>2]=c[k>>2];c[c[g>>2]>>2]=c[(c[j>>2]|0)+28>>2];c[c[h>>2]>>2]=c[(c[j>>2]|0)+64>>2];s=c[m>>2]|0;i=n;return s|0}function Bn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=i;i=i+48|0;h=o+44|0;j=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[l>>2]=c[j>>2];c[n>>2]=1;$m(l,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[l>>2]|0;c[m>>2]=g;c[k>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];$m(m,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[l>>2]|0)!=(c[j>>2]|0)?(c[m>>2]|0)!=(c[k>>2]|0):0){qn(c[h>>2]|0,j,k);u=c[n>>2]|0;i=o;return u|0}if((c[l>>2]|0)!=(c[j>>2]|0)){dm(c[h>>2]|0,j);u=c[n>>2]|0;i=o;return u|0}if((c[m>>2]|0)!=(c[k>>2]|0)){dm(c[h>>2]|0,k);u=c[n>>2]|0;i=o;return u|0}else{c[n>>2]=0;u=c[n>>2]|0;i=o;return u|0}return 0}function Cn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;p=n+20|0;o=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[o>>2]=e;c[j>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[k>>2]=0;c[m>>2]=Wb[c[(c[l>>2]|0)+12>>2]&255](c[g>>2]|0,c[p>>2]|0,c[o>>2]|0,k)|0;if(((c[m>>2]|0)==0?(c[c[k>>2]>>2]=c[g>>2],(c[c[l>>2]>>2]|0)>=1):0)?(c[m>>2]=Yb[c[(c[l>>2]|0)+24>>2]&255](c[k>>2]|0,c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){Tb[c[(c[l>>2]|0)+16>>2]&255](c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];i=n;return c[m>>2]|0}function Dn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;m=u+48|0;n=u+44|0;o=u+24|0;p=u+16|0;k=u+8|0;l=u+40|0;r=u+36|0;s=u+32|0;q=u;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;a=p;c[a>>2]=e;c[a+4>>2]=f;a=k;c[a>>2]=g;c[a+4>>2]=h;c[l>>2]=j;c[r>>2]=c[c[n>>2]>>2];c[s>>2]=0;if((c[r>>2]|0)!=0?(j=(c[r>>2]|0)+16|0,a=o,!((c[j>>2]|0)!=(c[a>>2]|0)?1:(c[j+4>>2]|0)!=(c[a+4>>2]|0))):0)t=9;else{b=o;if(c[r>>2]|0){e=(c[r>>2]|0)+16|0;d=c[e>>2]|0;e=c[e+4>>2]|0}else{d=0;e=0}j=QR(c[b>>2]|0,c[b+4>>2]|0,d|0,e|0)|0;a=q;c[a>>2]=j;c[a+4>>2]=C;if(c[r>>2]|0){a=c[r>>2]|0;c[a>>2]=(c[a>>2]|0)+1}q=En(r,c[q>>2]|0,c[q+4>>2]|0)|0;c[s>>2]=q;if(!q){q=(c[r>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[r>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[o+4>>2]|0;t=(c[r>>2]|0)+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[r>>2]|0)+24|0,t=p,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=En(r,1,0)|0;c[s>>2]=t;if(t)break;t=p;t=En(r,c[t>>2]|0,c[t+4>>2]|0)|0;c[s>>2]=t;if(t)break;o=p;q=c[o+4>>2]|0;t=(c[r>>2]|0)+24|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=(c[r>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=k,q=RR(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[r>>2]|0)+32|0,t=QR(q|0,C|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[s>>2]=En(r,t,C)|0,(c[s>>2]|0)==0):0){p=k;q=c[p+4>>2]|0;t=(c[r>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=q}}while(0);c[c[l>>2]>>2]=c[s>>2];if((c[r>>2]|0)!=(c[c[n>>2]>>2]|0)){c[c[n>>2]>>2]=c[r>>2];c[m>>2]=1;t=c[m>>2]|0;i=u;return t|0}else{c[m>>2]=0;t=c[m>>2]|0;i=u;return t|0}return 0}function En(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l;k=l+12|0;j=l+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(c[k>>2]|0){if(((c[c[k>>2]>>2]|0)+10+1|0)>(c[(c[k>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[k>>2]|0)+8>>2]<<1;c[k>>2]=Ld(c[k>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;break}Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}}else{c[k>>2]=Id(140)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=100;c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;c[c[k>>2]>>2]=0;break}c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}while(0);j=h;j=Kl((c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;b=c[k>>2]|0;c[b>>2]=(c[b>>2]|0)+j;a[(c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function Fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;k=l+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[g>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[g>>2]|0)+216>>2];c[k>>2]=Od(23241,j)|0;if(c[k>>2]|0){c[h>>2]=af(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;Kd(c[k>>2]|0);break}c[d>>2]=7;k=c[d>>2]|0;i=l;return k|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function Gn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[l>>2]=Ob[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[j>>2]|0)|0;d=c[g>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[l>>2]|0;i=m;return d|0}c[l>>2]=Gn(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(!((c[l>>2]|0)==0&(c[k>>2]|0)!=2)){d=c[l>>2]|0;i=m;return d|0}c[l>>2]=Gn(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[l>>2]|0;i=m;return d|0}function Hn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0;if((d[(c[g>>2]|0)+34>>0]|0|0)!=0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}c[l>>2]=In(c[f>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}function In(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;g=s+44|0;h=s+40|0;f=s+36|0;q=s+32|0;p=s+28|0;o=s+24|0;m=s+20|0;l=s+8|0;k=s;j=s+48|0;n=s+16|0;c[h>>2]=b;c[f>>2]=e;c[q>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[p>>2]=c[c[h>>2]>>2];t=(c[h>>2]|0)+32|0;b=c[t+4>>2]|0;e=l;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)f=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else f=0;b=c[o>>2]|0;if(!f)break;c[o>>2]=c[b+8>>2]}b=b+24|0;e=c[b+4>>2]|0;t=k;c[t>>2]=c[b>>2];c[t+4>>2]=e;a[j>>0]=a[(c[o>>2]|0)+32>>0]|0;c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=5)f=c[f+16>>2]|0;c[n>>2]=f;t=Id((c[(c[p>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[n>>2]|0)+40>>2]=t;if(!(c[(c[n>>2]|0)+40>>2]|0)){r=12;break}VR(c[(c[n>>2]|0)+40>>2]|0,0,(c[(c[p>>2]|0)+24>>2]|0)*3<<2|0)|0;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((r|0)==12){c[g>>2]=7;t=c[g>>2]|0;i=s;return t|0}Sm(c[h>>2]|0,c[o>>2]|0,q);while(1){if(!((d[(c[h>>2]|0)+6>>0]|0)==0?(c[q>>2]|0)==0:0))break;do{if(!(d[(c[h>>2]|0)+7>>0]|0))Yd(c[(c[h>>2]|0)+8>>2]|0)|0;Tm(c[h>>2]|0,c[o>>2]|0,q);a[(c[h>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[h>>2]|0)+7>>0]=1;c[(c[h>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[h>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((Om(c[h>>2]|0,q)|0)!=0);if(c[q>>2]|0)continue;if(d[(c[h>>2]|0)+6>>0]|0)continue;Jn(c[o>>2]|0)}a[(c[h>>2]|0)+6>>0]=0;p=l;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(a[j>>0]|0){a[(c[o>>2]|0)+32>>0]=a[j>>0]|0;break}Sm(c[h>>2]|0,c[o>>2]|0,q);do{Tm(c[h>>2]|0,c[o>>2]|0,q);r=(c[o>>2]|0)+24|0;t=k}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[q>>2]|0)==0:0)}while(0);c[g>>2]=c[q>>2];t=c[g>>2]|0;i=s;return t|0}function Jn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;e=l+12|0;j=l+8|0;k=l+4|0;g=l+20|0;h=l;c[f>>2]=b;if(!(c[f>>2]|0)){i=l;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+28>>2]|0)!=0:0){c[j>>2]=0;c[k>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[g>>0]=0;c[h>>2]=0;while(1){if(!(254&(a[c[k>>2]>>0]|d[g>>0])))break;if(!(d[g>>0]&128))c[h>>2]=(c[h>>2]|0)+1;e=c[k>>2]|0;c[k>>2]=e+1;a[g>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[h>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[h>>2]|0)>0&1);if(!(a[c[k>>2]>>0]|0))break a;c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;if(d[c[k>>2]>>0]&128)b=$l(b,j)|0;else{c[j>>2]=d[b>>0];b=1}c[k>>2]=(c[k>>2]|0)+b}}while(0);Jn(c[(c[f>>2]|0)+12>>2]|0);Jn(c[(c[f>>2]|0)+16>>2]|0);i=l;return}function Kn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;f=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;k=o+8|0;g=o+4|0;j=o;c[p>>2]=b;c[f>>2]=e;c[m>>2]=c[c[c[f>>2]>>2]>>2];c[l>>2]=c[(c[p>>2]|0)+20>>2];c[k>>2]=c[(c[l>>2]|0)+28>>2];c[g>>2]=0;e=c[(c[p>>2]|0)+36>>2]|0;b=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=_(e,b)|0;else c[h>>2]=_(e,(b+31|0)/32|0)|0;while(1){c[j>>2]=Rm(k)|0;if(!((c[(c[l>>2]|0)+68>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?(c[(c[l>>2]|0)+68>>2]|0)!=(c[g>>2]|0):0))n=6;do if((n|0)==6){n=0;e=c[j>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[g>>2]|0)<<2)>>2]=e;break}if(e){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[g>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[g>>2]&31)}}while(0);if((a[c[k>>2]>>0]|0)!=1)break;c[k>>2]=(c[k>>2]|0)+1;e=c[k>>2]|0;if(d[c[k>>2]>>0]&128)e=$l(e,g)|0;else{c[g>>2]=d[e>>0];e=1}c[k>>2]=(c[k>>2]|0)+e}i=o;return}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=c[j>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];i=e;return 0}function Mn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;b=g+16|0;e=g+12|0;d=g;f=g+8|0;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=_l(c[e>>2]|0,d)|0;c[e>>2]=(c[e>>2]|0)+h;h=d;a=d;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[e>>2]=0;c[f>>2]=1;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}else{a=d;a=QR(c[a>>2]|0,c[a+4>>2]|0,2,0)|0;h=(c[b>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+a;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}return 0}function Nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+20|0;j=f+12|0;e=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[f+16>>2]=b;c[j>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+20>>2];c[h>>2]=c[j>>2];a=(c[h>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[h>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);i=f;return c[e>>2]|0}function On(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;h=k+12|0;j=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=pl(c[l>>2]|0,21,h,0)|0;do if(!(c[j>>2]|0)){l=f;Le(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;c[j>>2]=te(c[h>>2]|0)|0;if((c[j>>2]|0)==100?(Ge(c[h>>2]|0,0)|0)==4:0){c[j>>2]=0;break}l=Yd(c[h>>2]|0)|0;c[j>>2]=l;c[j>>2]=(c[j>>2]|0)==0?267:l;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Pn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=pl(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){Ke(c[e>>2]|0,1,0)|0;if((te(c[e>>2]|0)|0)==100?(Ge(c[e>>2]|0,0)|0)==4:0)break;h=Yd(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];i=g;return c[f>>2]|0}function Qn(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];i=e;return 0}function Sn(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=$e(c[(c[b>>2]|0)+12>>2]|0,23369,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=Tn(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){$e(a,23397,0,0,0)|0;$e(c[(c[b>>2]|0)+12>>2]|0,23384,0,0,0)|0;break}c[e>>2]=$e(a,23384,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);ym(c[b>>2]|0);i=f;return c[d>>2]|0}function Tn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;j=m+12|0;l=m+8|0;g=m+4|0;h=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[j>>2]=0;c[k>>2]=pl(c[d>>2]|0,27,j,0)|0;if(!(c[k>>2]|0)){Ke(c[j>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;Ke(c[j>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){a=(te(c[j>>2]|0)|0)==100;b=c[j>>2]|0;if(!a)break;c[h>>2]=Ce(b,0)|0;c[g>>2]=0;while(1){if(c[k>>2]|0)continue a;if((c[g>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[k>>2]=ol(c[d>>2]|0,c[h>>2]|0,c[g>>2]|0,-2)|0;if((c[k>>2]|0)==101){c[f>>2]=1;c[k>>2]=0}c[g>>2]=(c[g>>2]|0)+1}}c[l>>2]=Yd(b)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}ym(c[d>>2]|0);jl(c[d>>2]|0);i=m;return ((c[k>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[k>>2]|0)|0}function Un(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+208|0;y=C+32|0;e=C+132|0;f=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;r=C+112|0;l=C+108|0;B=C+96|0;x=C;s=C+92|0;h=C+88|0;g=C+84|0;p=C+80|0;n=C+76|0;m=C+72|0;z=C+68|0;q=C+64|0;k=C+60|0;o=C+56|0;w=C+52|0;u=C+48|0;j=C+136|0;c[e>>2]=b;c[f>>2]=d;c[v>>2]=c[c[f>>2]>>2];c[t>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){me(c[e>>2]|0,18402,0,0);i=C;return};c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;c[A>>2]=Jm(c[f>>2]|0,0,r)|0;a:do if(!(c[A>>2]|0)){c[x+24>>2]=Id((c[r>>2]|0)*12|0)|0;if(!(c[x+24>>2]|0)){c[A>>2]=7;break}D=(c[f>>2]|0)+32|0;d=c[D+4>>2]|0;b=x+16|0;c[b>>2]=c[D>>2];c[b+4>>2]=d;c[x>>2]=c[f>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[g>>2]=0;c[p>>2]=0;c[n>>2]=0;c[m>>2]=0;c[x+4>>2]=c[l>>2];c[x+8>>2]=0;Nm(c[(c[f>>2]|0)+12>>2]|0,158,x)|0;c[z>>2]=Ee(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;c[q>>2]=Ae(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){if((Ge(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=Cn(c[(c[v>>2]|0)+36>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[z>>2]|0,c[q>>2]|0,s)|0;if(c[A>>2]|0)break a;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0;while(1){if(c[A>>2]|0)break;c[o>>2]=2147483647;c[w>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[r>>2]|0))break;c[u>>2]=(c[x+24>>2]|0)+((c[k>>2]|0)*12|0);if((c[c[u>>2]>>2]|0)!=0?((c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0)|0)<(c[o>>2]|0):0){c[o>>2]=(c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0);c[w>>2]=c[u>>2]}c[k>>2]=(c[k>>2]|0)+1}if(!(c[w>>2]|0)){c[A>>2]=101;continue}d=c[w>>2]|0;if(!(254&a[c[c[w>>2]>>2]>>0]))c[d>>2]=0;else Wn(d,(c[w>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[m>>2]|0)>=(c[o>>2]|0))break;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0}if(!(c[A>>2]|0)){d=((c[w>>2]|0)-(c[x+24>>2]|0)|0)/12|0;b=c[p>>2]|0;D=(c[n>>2]|0)-(c[p>>2]|0)|0;c[y>>2]=c[l>>2];c[y+4>>2]=d;c[y+8>>2]=b;c[y+12>>2]=D;Qd(64,j,23414,y)|0;c[A>>2]=Xn(B,j,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;Tb[c[(c[t>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if(c[A>>2]|0)break a}c[l>>2]=(c[l>>2]|0)+1}c[A>>2]=7}while(0);Kd(c[x+24>>2]|0);ym(c[v>>2]|0);d=c[e>>2]|0;if(c[A>>2]|0){qe(d,c[A>>2]|0);Kd(c[B>>2]|0);i=C;return}else{me(d,c[B>>2]|0,(c[B+4>>2]|0)-1|0,148);i=C;return}}function Vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;n=m+36|0;o=m+28|0;h=m+24|0;g=m+20|0;f=m+16|0;j=m+12|0;e=m+8|0;l=m+4|0;k=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[l>>2]=Qm(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,j)|0;c[g>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[j>>2]|0)Wn(j,e);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;n=(c[h>>2]|0)+8|0;o=c[n>>2]|0;c[n>>2]=o+1;c[k>>2]=(c[(c[h>>2]|0)+24>>2]|0)+(o*12|0);c[(c[k>>2]|0)+8>>2]=(c[g>>2]|0)-(c[f>>2]|0)-1;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[e>>2];c[f>>2]=(c[f>>2]|0)+1}i=m;return c[l>>2]|0}function Wn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128)b=$l(b,g)|0;else{c[g>>2]=d[b>>0];b=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+b;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);i=h;return}function Xn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<0)c[j>>2]=kR(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[k>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[j>>2]|0)+100;c[l>>2]=Ld(c[c[g>>2]>>2]|0,c[k>>2]|0)|0;if(c[l>>2]|0){c[c[g>>2]>>2]=c[l>>2];c[(c[g>>2]|0)+8>>2]=c[k>>2];break}c[f>>2]=7;l=c[f>>2]|0;i=m;return l|0}while(0);TR((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[j>>2]|0)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+(c[j>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Yn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+224|0;j=G+212|0;k=G+208|0;l=G+204|0;m=G+200|0;n=G+196|0;o=G+192|0;p=G+188|0;B=G+184|0;E=G+180|0;r=G+176|0;F=G+164|0;z=G+160|0;q=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[B>>2]=c[c[k>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[z>>2]=0;c[y>>2]=-1;if(!(c[(c[k>>2]|0)+12>>2]|0)){me(c[j>>2]|0,18402,0,0);i=G;return}c[z>>2]=1;a:while(1){g=w;c[g>>2]=0;c[g+4>>2]=0;g=x;c[g>>2]=0;c[g+4>>2]=0;g=c[p>>2]|0;if((c[p>>2]|0)>=0)c[y>>2]=(g+(c[z>>2]|0)-1|0)/(c[z>>2]|0)|0;else c[y>>2]=_(-1,g)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break;c[s>>2]=-1;c[A>>2]=q+((c[v>>2]|0)*24|0);d=c[A>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[B>>2]|0)+24>>2]|0))break;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[u>>2]=0;if(!((c[o>>2]|0)>=0?(c[t>>2]|0)!=(c[o>>2]|0):0)){d=w;c[E>>2]=Zn(c[y>>2]|0,c[k>>2]|0,c[t>>2]|0,c[d>>2]|0,c[d+4>>2]|0,x,C,u)|0;if(c[E>>2]|0)break a;if((c[u>>2]|0)>(c[s>>2]|0)){d=c[A>>2]|0;c[d>>2]=c[C>>2];c[d+4>>2]=c[C+4>>2];c[d+8>>2]=c[C+8>>2];c[d+12>>2]=c[C+12>>2];c[d+16>>2]=c[C+16>>2];c[d+20>>2]=c[C+20>>2];c[s>>2]=c[u>>2]}}c[t>>2]=(c[t>>2]|0)+1}f=(c[A>>2]|0)+8|0;a=w;e=c[a+4>>2]|c[f+4>>2];d=w;c[d>>2]=c[a>>2]|c[f>>2];c[d+4>>2]=e;c[v>>2]=(c[v>>2]|0)+1}e=x;d=w;if(((c[e>>2]|0)==(c[d>>2]|0)?(c[e+4>>2]|0)==(c[d+4>>2]|0):0)|(c[z>>2]|0)==4){D=20;break}c[z>>2]=(c[z>>2]|0)+1}b:do if((D|0)==20){c[r>>2]=0;while(1){if(!((c[r>>2]|0)<(c[z>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=_n(c[k>>2]|0,q+((c[r>>2]|0)*24|0)|0,c[r>>2]|0,(c[r>>2]|0)==((c[z>>2]|0)-1|0)&1,c[y>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,F)|0;c[r>>2]=(c[r>>2]|0)+1}}while(0);ym(c[B>>2]|0);g=c[j>>2]|0;if(c[E>>2]|0){qe(g,c[E>>2]|0);Kd(c[F>>2]|0);i=G;return}else{me(g,c[F>>2]|0,-1,148);i=G;return}}function Zn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+112|0;k=D+104|0;l=D+100|0;m=D+96|0;n=D+92|0;o=D+16|0;p=D+88|0;q=D+84|0;r=D+80|0;A=D+76|0;z=D+72|0;B=D+48|0;y=D+40|0;t=D+36|0;s=D+32|0;u=D+28|0;v=D+24|0;w=D+8|0;x=D;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;b=o;c[b>>2]=e;c[b+4>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=-1;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[A>>2]=Jm(c[m>>2]|0,z,0)|0;if(c[A>>2]|0){c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}c[y>>2]=(c[z>>2]|0)*24;c[B+16>>2]=Id(c[y>>2]|0)|0;if(!(c[B+16>>2]|0)){c[k>>2]=7;B=c[k>>2]|0;i=D;return B|0}VR(c[B+16>>2]|0,0,c[y>>2]|0)|0;c[B>>2]=c[m>>2];c[B+4>>2]=c[n>>2];c[B+8>>2]=c[l>>2];c[B+12>>2]=c[z>>2];c[B+20>>2]=-1;c[A>>2]=Nm(c[(c[m>>2]|0)+12>>2]|0,159,B)|0;if(!(c[A>>2]|0)){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[z>>2]|0))break;if(c[(c[B+16>>2]|0)+((c[s>>2]|0)*24|0)+12>>2]|0){h=WR(1,0,c[s>>2]|0)|0;g=c[p>>2]|0;b=g;j=c[b+4>>2]|C;c[g>>2]=c[b>>2]|h;c[g+4>>2]=j}c[s>>2]=(c[s>>2]|0)+1}c[c[q>>2]>>2]=c[n>>2];while(1){if(!((bo(B)|0)!=0^1))break;g=o;co(B,c[g>>2]|0,c[g+4>>2]|0,u,v,w,x);if((c[v>>2]|0)<=(c[t>>2]|0))continue;c[(c[q>>2]|0)+4>>2]=c[u>>2];g=x;j=c[g+4>>2]|0;h=(c[q>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;h=w;j=c[h+4>>2]|0;g=(c[q>>2]|0)+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=j;c[t>>2]=c[v>>2]}c[c[r>>2]>>2]=c[t>>2]}Kd(c[B+16>>2]|0);c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}function _n(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=i;i=i+128|0;l=N+112|0;m=N+108|0;P=N+104|0;n=N+100|0;o=N+96|0;p=N+92|0;q=N+88|0;r=N+84|0;s=N+80|0;t=N+76|0;J=N+72|0;K=N+68|0;L=N+64|0;G=N+60|0;y=N+56|0;z=N+52|0;E=N+48|0;B=N+44|0;w=N;O=N+40|0;I=N+36|0;H=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;D=N+12|0;F=N+8|0;c[m>>2]=a;c[P>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[J>>2]=c[c[m>>2]>>2];c[y>>2]=0;c[z>>2]=0;c[E>>2]=0;c[B>>2]=c[(c[P>>2]|0)+4>>2];g=(c[P>>2]|0)+16|0;e=c[g+4>>2]|0;d=w;c[d>>2]=c[g>>2];c[d+4>>2]=e;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[L>>2]=Ee(c[(c[m>>2]|0)+8>>2]|0,c[O>>2]|0)|0;d=c[(c[m>>2]|0)+8>>2]|0;e=c[O>>2]|0;if(!(c[L>>2]|0))if((Ge(d,e)|0)!=5){c[l>>2]=7;P=c[l>>2]|0;i=N;return P|0}else{c[l>>2]=0;P=c[l>>2]|0;i=N;return P|0}c[G>>2]=Ae(d,e)|0;c[I>>2]=c[c[(c[J>>2]|0)+36>>2]>>2];c[K>>2]=Cn(c[(c[J>>2]|0)+36>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[L>>2]|0,c[G>>2]|0,H)|0;if(c[K>>2]|0){c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}while(1){if(c[K>>2]|0)break;c[u>>2]=-1;c[x>>2]=0;c[A>>2]=0;c[D>>2]=0;c[K>>2]=Sb[c[(c[I>>2]|0)+20>>2]&255](c[H>>2]|0,v,u,x,A,y)|0;if(c[K>>2]|0){M=9;break}if((c[y>>2]|0)<(c[B>>2]|0))continue;if(!(c[E>>2]|0)){c[F>>2]=(c[G>>2]|0)-(c[x>>2]|0);c[K>>2]=$n(c[J>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[p>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,c[F>>2]|0,B,w)|0;c[E>>2]=1;do if(!(c[K>>2]|0)){if((c[B>>2]|0)>0|(c[n>>2]|0)>0){c[K>>2]=Xn(c[t>>2]|0,c[s>>2]|0,-1)|0;break}if(c[x>>2]|0)c[K>>2]=Xn(c[t>>2]|0,c[L>>2]|0,c[x>>2]|0)|0}while(0);if(c[K>>2]|0)continue;if((c[y>>2]|0)<(c[B>>2]|0))continue}if((c[y>>2]|0)>=((c[B>>2]|0)+(c[p>>2]|0)|0)){M=21;break}P=w;g=c[P>>2]|0;P=c[P+4>>2]|0;O=WR(1,0,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;c[D>>2]=((g&O|0)!=0|(P&C|0)!=0)&1;if((c[y>>2]|0)>(c[B>>2]|0))c[K>>2]=Xn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,(c[x>>2]|0)-(c[z>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Xn(c[t>>2]|0,c[q>>2]|0,-1)|0;if(!(c[K>>2]|0))c[K>>2]=Xn(c[t>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,(c[A>>2]|0)-(c[x>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Xn(c[t>>2]|0,c[r>>2]|0,-1)|0;c[z>>2]=c[A>>2]}if((M|0)==9){if((c[K>>2]|0)==101)c[K>>2]=Xn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,-1)|0}else if((M|0)==21?(c[o>>2]|0)!=0:0)c[K>>2]=Xn(c[t>>2]|0,c[s>>2]|0,-1)|0;Tb[c[(c[I>>2]|0)+16>>2]&255](c[H>>2]|0)|0;c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}function $n(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+96|0;w=F+84|0;j=F+80|0;k=F+76|0;x=F+72|0;l=F+68|0;m=F+64|0;y=F+60|0;z=F+56|0;A=F;s=F+52|0;t=F+48|0;r=F+44|0;D=F+40|0;B=F+36|0;E=F+32|0;v=F+28|0;u=F+24|0;q=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;c[j>>2]=a;c[k>>2]=b;c[x>>2]=d;c[l>>2]=e;c[m>>2]=f;c[y>>2]=g;c[z>>2]=h;a=c[z>>2]|0;g=c[a+4>>2]|0;e=A;c[e>>2]=c[a>>2];c[e+4>>2]=g;e=A;do if((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0){c[s>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=WR(1,0,c[s>>2]|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=WR(1,0,(c[x>>2]|0)-1-(c[t>>2]|0)|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=((c[s>>2]|0)-(c[t>>2]|0)|0)/2|0;if((c[r>>2]|0)>0){c[B>>2]=0;c[v>>2]=c[c[(c[j>>2]|0)+36>>2]>>2];c[E>>2]=Cn(c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,u)|0;if(c[E>>2]|0){c[w>>2]=c[E>>2];E=c[w>>2]|0;i=F;return E|0}while(1){if(c[E>>2]|0)break;if((c[B>>2]|0)>=((c[x>>2]|0)+(c[r>>2]|0)|0))break;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[E>>2]=Sb[c[(c[v>>2]|0)+20>>2]&255](c[u>>2]|0,q,n,o,p,B)|0}Tb[c[(c[v>>2]|0)+16>>2]&255](c[u>>2]|0)|0;j=c[E>>2]|0;if((c[E>>2]|0)!=0&(c[E>>2]|0)!=101){c[w>>2]=j;E=c[w>>2]|0;i=F;return E|0}else{c[D>>2]=((j|0)==101&1)+(c[B>>2]|0)-(c[x>>2]|0);if((c[D>>2]|0)<=0)break;E=c[y>>2]|0;c[E>>2]=(c[E>>2]|0)+(c[D>>2]|0);E=A;D=SR(c[E>>2]|0,c[E+4>>2]|0,c[D>>2]|0)|0;E=c[z>>2]|0;c[E>>2]=D;c[E+4>>2]=C;break}}}while(0);c[w>>2]=0;E=c[w>>2]|0;i=F;return E|0}function ao(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+28|0;m=j+24|0;n=j+20|0;k=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;e=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=c[n>>2];c[g>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[g>>2]>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=Qm(c[c[k>>2]>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+4>>2]|0,f)|0;if(!(c[f>>2]|0)){n=c[h>>2]|0;i=j;return n|0}c[e>>2]=0;c[(c[g>>2]|0)+4>>2]=c[f>>2];Wn(f,e);c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[g>>2]|0)+20>>2]=c[f>>2];c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;i=j;return n|0}function bo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+28|0;d=l+24|0;e=l+20|0;h=l+16|0;g=l+12|0;f=l+8|0;j=l+4|0;k=l;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[h>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);eo((c[h>>2]|0)+12|0,(c[h>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[f>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+12>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)<(c[f>>2]|0):0)c[f>>2]=c[(c[j>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[f>>2]|0)==2147483647){c[b>>2]=1;k=c[b>>2]|0;i=l;return k|0}j=(c[f>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=j;c[(c[d>>2]|0)+20>>2]=j;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[k>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);eo((c[k>>2]|0)+12|0,(c[k>>2]|0)+8|0,(c[f>>2]|0)+1|0);eo((c[k>>2]|0)+20|0,(c[k>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}function co(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;k=B+84|0;l=B+32|0;m=B+80|0;n=B+76|0;o=B+72|0;p=B+68|0;t=B+64|0;s=B+60|0;q=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;r=B+44|0;u=B+40|0;x=B+8|0;y=B;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[t>>2]=c[(c[k>>2]|0)+20>>2];c[s>>2]=0;j=v;c[j>>2]=0;c[j+4>>2]=0;j=w;c[j>>2]=0;c[j+4>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+12>>2]|0))break;c[A>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[q>>2]|0)*24|0);a:do if(c[(c[A>>2]|0)+20>>2]|0){c[z>>2]=c[(c[A>>2]|0)+20>>2];c[r>>2]=c[(c[A>>2]|0)+16>>2];while(1){if((c[r>>2]|0)>=((c[t>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0))break a;f=WR(1,0,c[q>>2]|0)|0;h=x;c[h>>2]=f;c[h+4>>2]=C;h=WR(1,0,(c[r>>2]|0)-(c[t>>2]|0)|0)|0;f=y;c[f>>2]=h;c[f+4>>2]=C;f=v;h=l;j=x;d=c[s>>2]|0;if(((c[f>>2]|c[h>>2])&c[j>>2]|0)!=0?1:((c[f+4>>2]|c[h+4>>2])&c[j+4>>2]|0)!=0)c[s>>2]=d+1;else c[s>>2]=d+1e3;f=x;g=v;h=c[g+4>>2]|c[f+4>>2];j=v;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[A>>2]>>2]|0))break;f=y;f=SR(c[f>>2]|0,c[f+4>>2]|0,c[u>>2]|0)|0;g=w;h=c[g+4>>2]|C;j=w;c[j>>2]=c[g>>2]|f;c[j+4>>2]=h;c[u>>2]=(c[u>>2]|0)+1}if(!(a[c[z>>2]>>0]&254))break a;Wn(z,r)}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[c[m>>2]>>2]=c[t>>2];c[c[n>>2]>>2]=c[s>>2];A=v;z=c[A+4>>2]|0;y=c[o>>2]|0;c[y>>2]=c[A>>2];c[y+4>>2]=z;y=w;z=c[y+4>>2]|0;A=c[p>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;i=B;return}function eo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[k>>2]|0)){i=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[k>>2]>>0]&254)){l=5;break}Wn(k,j)}if((l|0)==5){c[j>>2]=-1;c[k>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[k>>2];i=m;return}function fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=0;c[g>>2]=pl(c[j>>2]|0,36,f,0)|0;if(c[g>>2]|0){b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}if(100==(te(c[f>>2]|0)|0))c[e>>2]=Ce(c[f>>2]|0,0)|0;c[g>>2]=Yd(c[f>>2]|0)|0;b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}function go(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;D=i;i=i+128|0;f=D+112|0;g=D+108|0;E=D+104|0;h=D+100|0;A=D+96|0;u=D+92|0;w=D+88|0;x=D+84|0;z=D+80|0;v=D+76|0;n=D+16|0;m=D+64|0;j=D+60|0;t=D+8|0;y=D+52|0;l=D+48|0;p=D+44|0;q=D+40|0;o=D;r=D+36|0;k=D+32|0;B=D+28|0;s=D+24|0;c[g>>2]=a;c[E>>2]=b;c[h>>2]=e;c[u>>2]=c[E>>2];c[v>>2]=0;a=n;c[a>>2]=0;c[a+4>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[j>>2]=0;c[D+56>>2]=640;c[z>>2]=Id(640)|0;if(!(c[z>>2]|0)){c[f>>2]=7;E=c[f>>2]|0;i=D;return E|0}c[x>>2]=(c[z>>2]|0)+568;c[w>>2]=(c[x>>2]|0)+16;c[A>>2]=ho(c[g>>2]|0,m)|0;while(1){if(!((c[A>>2]|0)==0?(c[u>>2]|0)>0:0))break;a=c[(c[g>>2]|0)+248>>2]<<10;E=t;c[E>>2]=a;c[E+4>>2]=((a|0)<0)<<31>>31;c[y>>2]=0;c[l>>2]=0;c[p>>2]=0;c[A>>2]=pl(c[g>>2]|0,28,y,0)|0;Ke(c[y>>2]|0,1,2>(c[h>>2]|0)?2:c[h>>2]|0)|0;if((te(c[y>>2]|0)|0)==100){a=De(c[y>>2]|0,0)|0;E=n;c[E>>2]=a;c[E+4>>2]=C;c[v>>2]=Ce(c[y>>2]|0,1)|0}else c[v>>2]=-1;c[A>>2]=Yd(c[y>>2]|0)|0;do if((c[A>>2]|0)==0?(c[m+4>>2]|0)!=0:0){c[q>>2]=c[m+4>>2];E=o;c[E>>2]=0;c[E+4>>2]=0;c[r>>2]=0;c[A>>2]=io(m,o,r)|0;if((c[v>>2]|0)>=0?(b=n,a=t,a=$R(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,b=C,e=o,E=t,E=$R(c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,e=C,!((b|0)>(e|0)|(b|0)==(e|0)&a>>>0>=E>>>0)):0){c[m+4>>2]=c[q>>2];break}e=o;a=c[e+4>>2]|0;E=n;c[E>>2]=c[e>>2];c[E+4>>2]=a;c[v>>2]=c[r>>2];c[l>>2]=1;c[j>>2]=1}while(0);if((c[v>>2]|0)<0)break;VR(c[z>>2]|0,0,640)|0;c[(c[x>>2]|0)+12>>2]=1;do if(!(c[A>>2]|0)){E=n;c[A>>2]=jo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if((c[p>>2]|0)!=0?!((c[l>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[k>>2]=0;a=c[g>>2]|0;E=n;E=RR(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[A>>2]=ko(a,E,C,k)|0;if(c[k>>2]|0){E=(c[x>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[A>>2]|0)){E=n;c[A>>2]=lo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,c[w>>2]|0)|0}if(((0==(c[A>>2]|0)?(c[(c[w>>2]|0)+4>>2]|0)==(c[v>>2]|0):0)?(E=ul(c[g>>2]|0,c[w>>2]|0,c[x>>2]|0)|0,c[A>>2]=E,0==(E|0)):0)?(E=vl(c[g>>2]|0,c[w>>2]|0)|0,c[A>>2]=E,100==(E|0)):0){if((c[l>>2]|0)!=0&(c[p>>2]|0)>0){c[B>>2]=c[(c[w>>2]|0)+40>>2];c[s>>2]=c[(c[w>>2]|0)+44>>2];E=n;c[A>>2]=mo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[B>>2]|0,c[s>>2]|0,c[z>>2]|0)|0}else{E=n;c[A>>2]=no(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[w>>2]|0,c[z>>2]|0)|0}if((c[A>>2]|0)==0?(c[c[z>>2]>>2]|0)!=0:0){do{c[A>>2]=oo(c[g>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;if(!(c[A>>2]|0))c[A>>2]=vl(c[g>>2]|0,c[w>>2]|0)|0;if((c[A>>2]|0)==100?(c[(c[z>>2]|0)+4>>2]|0)>=(c[u>>2]|0):0)c[A>>2]=0}while((c[A>>2]|0)==100);if((c[A>>2]|0)==0?(c[u>>2]=(c[u>>2]|0)-(1+(c[(c[z>>2]|0)+4>>2]|0)),E=n,c[A>>2]=po(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[w>>2]|0,v)|0,(c[v>>2]|0)!=0):0){c[j>>2]=1;E=n;qo(m,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,A)}}if(c[v>>2]|0){a=(c[z>>2]|0)+40|0;a=aS(c[a>>2]|0,c[a+4>>2]|0,-1,-1)|0;E=(c[z>>2]|0)+40|0;c[E>>2]=a;c[E+4>>2]=C}ro(c[g>>2]|0,c[z>>2]|0,A);if((c[v>>2]|0)==0?(d[(c[z>>2]|0)+48>>0]|0|0)==0:0){e=c[g>>2]|0;a=n;a=RR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;E=(c[z>>2]|0)+40|0;zl(e,a,C,c[E>>2]|0,c[E+4>>2]|0)|0}}Bl(c[w>>2]|0)}if((c[j>>2]|0)!=0&(c[A>>2]|0)==0)c[A>>2]=so(c[g>>2]|0,m)|0;Kd(c[z>>2]|0);Kd(c[m>>2]|0);c[f>>2]=c[A>>2];E=c[f>>2]|0;i=D;return E|0}function ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+24|0;d=k+20|0;g=k+16|0;h=k+12|0;j=k+8|0;e=k+4|0;f=k;c[l>>2]=a;c[d>>2]=b;c[g>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[h>>2]=pl(c[l>>2]|0,22,g,0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}Ke(c[g>>2]|0,1,1)|0;if((100==(te(c[g>>2]|0)|0)?(c[e>>2]=ze(c[g>>2]|0,0)|0,c[f>>2]=Ae(c[g>>2]|0,0)|0,(c[e>>2]|0)!=0):0)?(to(c[d>>2]|0,c[f>>2]|0,h),(c[h>>2]|0)==0):0){TR(c[c[d>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[f>>2]}c[j>>2]=Yd(c[g>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}function io(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+20|0;h=n+16|0;g=n+12|0;j=n+8|0;m=n+4|0;l=n;c[h>>2]=b;c[g>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+4>>2];c[l>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[l>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128))break;c[l>>2]=(c[l>>2]|0)+-1}while(1){if((c[l>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[l>>2]|0;if(!e)break;c[l>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=_l((c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0,c[g>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[l>>2]|0)>>0]&128)b=$l(b,c[j>>2]|0)|0;else{c[c[j>>2]>>2]=d[b>>0];b=1}c[l>>2]=(c[l>>2]|0)+b;if((c[l>>2]|0)!=(c[m>>2]|0)){c[k>>2]=267;m=c[k>>2]|0;i=n;return m|0}else{c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function jo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=pl(c[l>>2]|0,8,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}e=c[h>>2]|0;l=f;l=RR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;Le(e,1,l,C)|0;te(c[h>>2]|0)|0;l=Ce(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=l;c[j>>2]=Yd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function ko(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[k>>2]=pl(c[m>>2]|0,15,j,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];m=c[f>>2]|0;i=l;return m|0}m=c[j>>2]|0;k=g;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;Le(m,1,k,C)|0;k=c[j>>2]|0;m=g;m=_R(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=RR(m|0,C|0,1,0)|0;m=aS(m|0,C|0,1024,0)|0;Le(k,2,m,C)|0;c[c[h>>2]>>2]=0;if(100==(te(c[j>>2]|0)|0)){m=(Ge(c[j>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=Yd(c[j>>2]|0)|0;m=c[f>>2]|0;i=l;return m|0}function lo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q;j=q+32|0;k=q+28|0;o=q+24|0;n=q+20|0;m=q+16|0;l=q+12|0;p=q+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;b=c[k>>2]|0;d=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[m>>2]=c[j>>2]<<2;f=Id(c[m>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0))c[o>>2]=7;else{VR(c[c[k>>2]>>2]|0,0,c[m>>2]|0)|0;c[o>>2]=pl(c[g>>2]|0,12,n,0)|0}if(c[o>>2]|0){p=c[o>>2]|0;i=q;return p|0}m=h;Le(c[n>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[l>>2]=0;while(1){if(c[o>>2]|0)break;if((te(c[n>>2]|0)|0)!=100)break;if((c[l>>2]|0)>=(c[j>>2]|0))break;r=c[l>>2]|0;b=De(c[n>>2]|0,1)|0;d=C;e=De(c[n>>2]|0,2)|0;a=C;f=De(c[n>>2]|0,3)|0;g=C;h=ze(c[n>>2]|0,4)|0;m=Ae(c[n>>2]|0,4)|0;c[o>>2]=om(r,0,b,d,e,a,f,g,h,m,(c[c[k>>2]>>2]|0)+(c[l>>2]<<2)|0)|0;m=(c[k>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[p>>2]=Yd(c[n>>2]|0)|0;if(c[o>>2]|0){r=c[o>>2]|0;i=q;return r|0}c[o>>2]=c[p>>2];r=c[o>>2]|0;i=q;return r|0}function mo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+208|0;y=K+200|0;z=K+196|0;k=K+120|0;l=K+192|0;m=K+188|0;n=K+184|0;A=K+180|0;H=K+176|0;G=K+172|0;s=K+112|0;r=K+104|0;q=K+96|0;v=K+168|0;x=K+164|0;I=K+160|0;p=K+156|0;o=K+152|0;t=K+148|0;u=K+48|0;D=K+144|0;w=K+140|0;F=K+136|0;J=K;B=K+132|0;E=K+128|0;c[z>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[A>>2]=j;c[G>>2]=0;c[H>>2]=pl(c[z>>2]|0,32,G,0)|0;if(!(c[H>>2]|0)){d=s;c[d>>2]=0;c[d+4>>2]=0;d=r;c[d>>2]=0;c[d+4>>2]=0;d=q;c[d>>2]=0;c[d+4>>2]=0;c[v>>2]=0;c[x>>2]=0;c[p>>2]=0;d=c[G>>2]|0;g=k;g=RR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;Le(d,1,g,C)|0;Ke(c[G>>2]|0,2,c[l>>2]|0)|0;g=(te(c[G>>2]|0)|0)==100;d=c[G>>2]|0;if(!g){c[y>>2]=Yd(d)|0;J=c[y>>2]|0;i=K;return J|0}g=De(d,1)|0;j=s;c[j>>2]=g;c[j+4>>2]=C;j=De(c[G>>2]|0,2)|0;g=r;c[g>>2]=j;c[g+4>>2]=C;El(c[G>>2]|0,3,q,(c[A>>2]|0)+40|0);if((c[(c[A>>2]|0)+40+4>>2]|0)<0){j=(c[A>>2]|0)+40|0;j=aS(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;g=(c[A>>2]|0)+40|0;c[g>>2]=j;c[g+4>>2]=C}g=(c[A>>2]|0)+40|0;a[(c[A>>2]|0)+48>>0]=(c[g>>2]|0)==0&(c[g+4>>2]|0)==0&1;c[x>>2]=Ae(c[G>>2]|0,4)|0;c[v>>2]=ze(c[G>>2]|0,4)|0;g=q;c[H>>2]=Fo(c[z>>2]|0,c[g>>2]|0,c[g+4>>2]|0,p)|0;if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[o>>2]=0;c[t>>2]=0;c[H>>2]=gm(c[z>>2]|0,c[r>>2]|0,c[r+4>>2]|0,o,t,0)|0;if(!(c[H>>2]|0)){c[H>>2]=yo(u,c[o>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[H>>2]|0)==0?(c[u>>2]|0)!=0:0))break;c[H>>2]=Co(u)|0}if((zo(c[m>>2]|0,c[n>>2]|0,c[u+24>>2]|0,c[u+24+4>>2]|0)|0)<=0)c[p>>2]=0;Do(u)}Kd(c[o>>2]|0)}a:do if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[w>>2]=a[c[v>>2]>>0];u=q;t=s;t=QR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=RR(t|0,C|0,1,0)|0;c[c[A>>2]>>2]=(t|0)/16|0;t=c[s+4>>2]|0;u=(c[A>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;u=q;t=c[u+4>>2]|0;s=(c[A>>2]|0)+32|0;c[s>>2]=c[u>>2];c[s+4>>2]=t;s=k;t=c[s+4>>2]|0;u=(c[A>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[A>>2]|0)+16>>2]=c[l>>2];c[D>>2]=(c[w>>2]|0)+1;while(1){if((c[D>>2]|0)>=16)break;u=(c[A>>2]|0)+24|0;t=_(c[D>>2]|0,c[c[A>>2]>>2]|0)|0;t=RR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[A>>2]|0)+56+(c[D>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=C;c[D>>2]=(c[D>>2]|0)+1}c[F>>2]=(c[A>>2]|0)+56+(c[w>>2]<<5);u=(c[A>>2]|0)+24|0;t=_(c[c[A>>2]>>2]|0,c[w>>2]|0)|0;t=RR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[F>>2]|0;c[u>>2]=t;c[u+4>>2]=C;if((c[x>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[x>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;to((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){TR(c[(c[F>>2]|0)+20>>2]|0,c[v>>2]|0,c[x>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[x>>2]}c[D>>2]=c[w>>2];while(1){if(!((c[D>>2]|0)>=0?(c[H>>2]|0)==0:0))break a;c[F>>2]=(c[A>>2]|0)+56+(c[D>>2]<<5);c[H>>2]=yo(J,c[(c[F>>2]|0)+20>>2]|0,c[(c[F>>2]|0)+20+4>>2]|0)|0;while(1){if(!((c[J>>2]|0)!=0?(c[H>>2]|0)==0:0))break;c[H>>2]=Co(J)|0}to((c[F>>2]|0)+8|0,c[J+24+4>>2]|0,H);if((c[H>>2]|0)==0?(TR(c[(c[F>>2]|0)+8>>2]|0,c[J+24>>2]|0,c[J+24+4>>2]|0)|0,c[(c[F>>2]|0)+8+4>>2]=c[J+24+4>>2],(c[D>>2]|0)>0):0){c[B>>2]=0;c[E>>2]=0;c[F>>2]=(c[A>>2]|0)+56+((c[D>>2]|0)-1<<5);v=J+16|0;w=c[v+4>>2]|0;x=c[F>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=J+16|0;c[H>>2]=gm(c[z>>2]|0,c[x>>2]|0,c[x+4>>2]|0,B,E,0)|0;if((c[E>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[E>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;to((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){TR(c[(c[F>>2]|0)+20>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[E>>2]}Kd(c[B>>2]|0)}Do(J);c[D>>2]=(c[D>>2]|0)+-1}}while(0);c[I>>2]=Yd(c[G>>2]|0)|0;if(!(c[H>>2]|0))c[H>>2]=c[I>>2]}c[y>>2]=c[H>>2];J=c[y>>2]|0;i=K;return J|0}function no(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+44|0;j=t+40|0;k=t;l=t+36|0;m=t+32|0;n=t+28|0;s=t+24|0;o=t+20|0;p=t+16|0;r=t+12|0;q=t+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=pl(c[j>>2]|0,29,r,0)|0;if(!(c[s>>2]|0)){g=k;Le(c[r>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[m>>2]|0)+4>>2]|0;Le(c[r>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(te(c[r>>2]|0)|0))c[p>>2]=Ce(c[r>>2]|0,0)|0;c[s>>2]=Yd(c[r>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}c[s>>2]=pl(c[j>>2]|0,10,q,0)|0;if(!(c[s>>2]|0)){if(100==(te(c[q>>2]|0)|0)){r=De(c[q>>2]|0,0)|0;g=(c[n>>2]|0)+24|0;c[g>>2]=r;c[g+4>>2]=C;g=(c[n>>2]|0)+24|0;g=QR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;r=(c[n>>2]|0)+32|0;c[r>>2]=g;c[r+4>>2]=C;r=c[p>>2]<<4;g=(c[n>>2]|0)+32|0;f=g;r=RR(c[f>>2]|0,c[f+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[g>>2]=r;c[g+4>>2]=C}c[s>>2]=Yd(c[q>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}g=(c[n>>2]|0)+32|0;c[s>>2]=Fl(c[j>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}r=k;g=c[r+4>>2]|0;s=(c[n>>2]|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;c[c[n>>2]>>2]=c[p>>2];c[(c[n>>2]|0)+16>>2]=c[l>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break;s=(c[n>>2]|0)+24|0;g=_(c[o>>2]|0,c[c[n>>2]>>2]|0)|0;g=RR(c[s>>2]|0,c[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;s=(c[n>>2]|0)+56+(c[o>>2]<<5)|0;c[s>>2]=g;c[s+4>>2]=C;c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function oo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;f=r+44|0;g=r+40|0;s=r+36|0;q=r+32|0;n=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;l=r+12|0;k=r+8|0;m=r+4|0;o=r;c[f>>2]=b;c[g>>2]=d;c[s>>2]=e;c[q>>2]=c[(c[s>>2]|0)+40>>2];c[n>>2]=c[(c[s>>2]|0)+44>>2];c[h>>2]=c[(c[s>>2]|0)+48>>2];c[j>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=0;c[o>>2]=(c[g>>2]|0)+56;c[k>>2]=Ml(c[(c[o>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+8+4>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[m>>2]=(c[n>>2]|0)-(c[k>>2]|0);d=c[k>>2]|0;c[l>>2]=Jl(d,((d|0)<0)<<31>>31)|0;d=c[m>>2]|0;d=Jl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[m>>2]|0));d=c[j>>2]|0;d=Jl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[j>>2]|0));if((c[(c[o>>2]|0)+20+4>>2]|0)>0?((c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0)>(c[(c[f>>2]|0)+224>>2]|0):0){s=c[o>>2]|0;c[p>>2]=Fl(c[f>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+20+4>>2]|0)|0;s=(c[g>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[p>>2]|0))c[p>>2]=Eo(c[f>>2]|0,c[g>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1|0)|0;s=c[o>>2]|0;d=s;d=RR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[s>>2]=d;c[s+4>>2]=C;c[(c[o>>2]|0)+8+4>>2]=0;c[(c[o>>2]|0)+20+4>>2]=0;c[m>>2]=c[n>>2];c[l>>2]=1;s=c[m>>2]|0;s=Jl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[m>>2]|0));s=c[j>>2]|0;s=Jl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[j>>2]|0))}d=c[l>>2]|0;s=(c[g>>2]|0)+40|0;e=s;d=RR(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[s>>2]=d;c[s+4>>2]=C;to((c[o>>2]|0)+20|0,(c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0,p);if(c[p>>2]|0){s=c[p>>2]|0;i=r;return s|0}if(!(c[(c[o>>2]|0)+20+4>>2]|0)){c[(c[o>>2]|0)+20+4>>2]=1;a[c[(c[o>>2]|0)+20>>2]>>0]=0}c[p>>2]=Bo((c[o>>2]|0)+20|0,(c[o>>2]|0)+8|0,c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;s=c[p>>2]|0;i=r;return s|0}function po(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+44|0;h=s;j=s+40|0;k=s+36|0;l=s+32|0;n=s+28|0;q=s+24|0;p=s+20|0;m=s+16|0;r=s+12|0;o=s+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;c[q>>2]=0;c[l>>2]=(c[(c[j>>2]|0)+4>>2]|0)-1;while(1){if(!((c[l>>2]|0)>=0?(c[q>>2]|0)==0:0))break;c[p>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[p>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];if((c[c[p>>2]>>2]|0)==(c[l>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if(!(c[(c[p>>2]|0)+40>>2]|0)){c[q>>2]=Ll(c[g>>2]|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){f=h;c[q>>2]=uo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0)|0}c[c[k>>2]>>2]=0}else{c[r>>2]=c[(c[p>>2]|0)+64>>2];c[o>>2]=c[(c[p>>2]|0)+60>>2];f=h;c[q>>2]=vo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+-1}if(c[q>>2]|0){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}if((c[n>>2]|0)==(c[(c[j>>2]|0)+4>>2]|0)){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}f=h;c[q>>2]=wo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}function qo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+16|0;h=k;j=k+12|0;l=k+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[l>>2]=f;to(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[l>>2]|0);if(c[c[l>>2]>>2]|0){i=k;return}l=h;l=Kl((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[l>>2]|0,c[l+4>>2]|0)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+l;f=c[j>>2]|0;f=Kl((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+f;i=k;return}function ro(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;n=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;q=r+12|0;l=r+8|0;k=r+4|0;m=r;c[g>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[j>>2]=15;while(1){if((c[j>>2]|0)<0)break;c[l>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);if((c[(c[l>>2]|0)+20+4>>2]|0)>0)break;Kd(c[(c[l>>2]|0)+20>>2]|0);Kd(c[(c[l>>2]|0)+8>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=r;return}if(!(c[j>>2]|0)){c[k>>2]=(c[n>>2]|0)+56+32+20;to(c[k>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[k>>2]>>2]>>0]=1;e=(c[n>>2]|0)+56|0;e=1+(Kl((c[c[k>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[k>>2]|0)+4>>2]=e}c[j>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[n>>2]|0)+56+(c[h>>2]<<5);if((c[q>>2]|0)==0?(c[(c[m>>2]|0)+20+4>>2]|0)>0:0){e=c[m>>2]|0;c[q>>2]=Fl(c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[m>>2]|0)+20>>2]|0);Kd(c[(c[m>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(!(c[q>>2]|0)){m=c[g>>2]|0;g=(c[n>>2]|0)+8|0;g=RR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=(c[n>>2]|0)+24|0;j=(c[n>>2]|0)+56|0;b=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){l=(c[n>>2]|0)+40|0;k=c[l>>2]|0;l=c[l+4>>2]|0}else{k=0;l=0}c[q>>2]=Hl(m,g,C,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,k,l,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[p>>2]|0)+20>>2]|0);Kd(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];i=r;return}function so(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=pl(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}Ke(c[e>>2]|0,1,1)|0;Ie(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;te(c[e>>2]|0)|0;c[f>>2]=Yd(c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){i=k;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){i=k;return}c[j>>2]=c[f>>2];c[h>>2]=Ld(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+8>>2]=c[j>>2];c[c[e>>2]>>2]=c[h>>2];i=k;return}else{c[c[g>>2]>>2]=7;i=k;return}}function uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=pl(c[l>>2]|0,30,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=f;Le(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Ke(c[h>>2]|0,2,c[g>>2]|0)|0;te(c[h>>2]|0)|0;c[j>>2]=Yd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;h=B+104|0;j=B+24|0;k=B+100|0;l=B+96|0;m=B+92|0;y=B+88|0;A=B+76|0;p=B+64|0;q=B+16|0;r=B+8|0;s=B;x=B+60|0;z=B+56|0;o=B+52|0;u=B+48|0;n=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[y>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;f=q;c[f>>2]=0;c[f+4>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;f=s;c[f>>2]=0;c[f+4>>2]=0;c[x>>2]=0;c[y>>2]=pl(c[h>>2]|0,32,x,0)|0;if(!(c[y>>2]|0)){f=j;Le(c[x>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Ke(c[x>>2]|0,2,c[k>>2]|0)|0;if(100==(te(c[x>>2]|0)|0)){c[o>>2]=ze(c[x>>2]|0,4)|0;c[u>>2]=Ae(c[x>>2]|0,4)|0;a=De(c[x>>2]|0,1)|0;f=s;c[f>>2]=a;c[f+4>>2]=C;c[y>>2]=xo(c[o>>2]|0,c[u>>2]|0,A,c[l>>2]|0,c[m>>2]|0,q)|0}c[z>>2]=Yd(c[x>>2]|0)|0;if(!(c[y>>2]|0))c[y>>2]=c[z>>2]}while(1){f=q;if(!((c[y>>2]|0)==0?(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0:0))break;c[n>>2]=0;c[t>>2]=0;x=q;z=c[x+4>>2]|0;f=r;c[f>>2]=c[x>>2];c[f+4>>2]=z;f=q;c[y>>2]=gm(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,n,t,0)|0;if(!(c[y>>2]|0))c[y>>2]=xo(c[n>>2]|0,c[t>>2]|0,p,c[l>>2]|0,c[m>>2]|0,q)|0;if(!(c[y>>2]|0)){f=r;c[y>>2]=Fl(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}Kd(c[n>>2]|0)}f=r;if((c[y>>2]|0)==0&((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)?(c[w>>2]=0,c[y>>2]=pl(c[h>>2]|0,17,w,0)|0,(c[y>>2]|0)==0):0){z=s;Le(c[w>>2]|0,1,c[z>>2]|0,c[z+4>>2]|0)|0;z=c[w>>2]|0;f=r;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Le(z,2,f,C)|0;te(c[w>>2]|0)|0;c[y>>2]=Yd(c[w>>2]|0)|0}if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}c[v>>2]=0;c[y>>2]=pl(c[h>>2]|0,33,v,0)|0;if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}f=r;Le(c[v>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Ie(c[v>>2]|0,2,c[A>>2]|0,c[A+4>>2]|0,0)|0;f=j;Le(c[v>>2]|0,3,c[f>>2]|0,c[f+4>>2]|0)|0;Ke(c[v>>2]|0,4,c[k>>2]|0)|0;te(c[v>>2]|0)|0;c[y>>2]=Yd(c[v>>2]|0)|0;f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}function wo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;f=s+44|0;g=s;p=s+40|0;h=s+36|0;m=s+32|0;l=s+28|0;k=s+24|0;n=s+20|0;o=s+16|0;q=s+12|0;j=s+8|0;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=0;c[m>>2]=0;c[l>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=pl(c[f>>2]|0,35,n,0)|0;if(!(c[p>>2]|0)){b=g;Le(c[n>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;while(1){if(100!=(te(c[n>>2]|0)|0))break;if((c[m>>2]|0)>=(c[l>>2]|0)){c[l>>2]=(c[l>>2]|0)+16;c[j>>2]=Ld(c[h>>2]|0,c[l>>2]<<2)|0;if(!(c[j>>2]|0)){r=6;break}c[h>>2]=c[j>>2]}e=Ce(c[n>>2]|0,0)|0;b=c[m>>2]|0;c[m>>2]=b+1;c[(c[h>>2]|0)+(b<<2)>>2]=e}if((r|0)==6)c[p>>2]=7;c[q>>2]=Yd(c[n>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=c[q>>2]}if(!(c[p>>2]|0))c[p>>2]=pl(c[f>>2]|0,31,o,0)|0;if(!(c[p>>2]|0)){r=g;Le(c[o>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[f>>2]|0)+232>>0]=1;c[k>>2]=0;while(1){if(c[p>>2]|0){r=21;break}if((c[k>>2]|0)>=(c[m>>2]|0)){r=21;break}if((c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)!=(c[k>>2]|0)){Ke(c[o>>2]|0,3,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;Ke(c[o>>2]|0,1,c[k>>2]|0)|0;te(c[o>>2]|0)|0;c[p>>2]=Yd(c[o>>2]|0)|0}c[k>>2]=(c[k>>2]|0)+1}if((r|0)==21){a[(c[f>>2]|0)+232>>0]=0;Kd(c[h>>2]|0);i=s;return c[p>>2]|0}return 0}function xo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+112|0;j=w+96|0;k=w+92|0;l=w+88|0;m=w+84|0;n=w+80|0;o=w+76|0;p=w+72|0;t=w;r=w+60|0;s=w+56|0;q=w+52|0;u=w+48|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[s>>2]=0;c[q>>2]=(a[c[k>>2]>>0]|0)==0&1;to(c[m>>2]|0,c[l>>2]|0,s);if(c[s>>2]|0){c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}c[(c[m>>2]|0)+4>>2]=0;c[s>>2]=yo(t,c[k>>2]|0,c[l>>2]|0)|0;while(1){if(!((c[s>>2]|0)==0?(c[t>>2]|0)!=0:0))break;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[u>>2]=zo(c[t+24>>2]|0,c[t+24+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>=0?!((c[q>>2]|0)==0&(c[u>>2]|0)==0):0){h=t+16|0;Ao(c[m>>2]|0,a[c[k>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=t+16|0;f=c[h+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=f;v=9}}else v=9;if((v|0)==9?(v=0,c[s>>2]=Bo(c[m>>2]|0,r,c[t+24>>2]|0,c[t+24+4>>2]|0,c[t+36>>2]|0,c[t+40>>2]|0)|0,(c[s>>2]|0)!=0):0)break;c[s>>2]=Co(t)|0}if(!(c[(c[m>>2]|0)+4>>2]|0)){u=t+16|0;Ao(c[m>>2]|0,a[c[k>>2]>>0]|0,c[u>>2]|0,c[u+4>>2]|0);u=t+16|0;f=c[u+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=f}Do(t);Kd(c[r>>2]|0);c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}function yo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j+4|0;g=j;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;d=c[h>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];d=c[h>>2]|0;if(a[c[c[h>>2]>>2]>>0]|0){g=1+(_l((c[d>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;c[(c[h>>2]|0)+8>>2]=g;h=c[h>>2]|0;h=Co(h)|0;i=j;return h|0}else{c[d+8>>2]=1;h=c[h>>2]|0;h=Co(h)|0;i=j;return h|0}return 0}function zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;m=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;k=j+4|0;h=j;c[m>>2]=a;c[f>>2]=b;c[l>>2]=d;c[g>>2]=e;c[k>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=eR(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;i=j;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function Ao(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;j=i;i=i+16|0;g=j+12|0;k=j+8|0;h=j;c[g>>2]=b;c[k>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[k>>2];b=h;e=c[g>>2]|0;if((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0){k=h;k=1+(Kl((c[e>>2]|0)+1|0,c[k>>2]|0,c[k+4>>2]|0)|0)|0;c[(c[g>>2]|0)+4>>2]=k;i=j;return}else{c[e+4>>2]=1;i=j;return}}function Bo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;s=t+12|0;p=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[s>>2]=0;c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)==0&1;to(c[k>>2]|0,c[m>>2]|0,s);if(c[s>>2]|0){c[h>>2]=c[s>>2];d=c[h>>2]|0;i=t;return d|0}c[q>>2]=Ml(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[m>>2]|0)-(c[q>>2]|0);TR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=c[m>>2];if(!(c[p>>2]|0)){s=c[q>>2]|0;s=Kl((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s}s=c[r>>2]|0;s=Kl((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;TR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,(c[l>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[r>>2]|0);if(c[n>>2]|0){s=c[o>>2]|0;s=Kl((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;TR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[o>>2]|0)}c[h>>2]=0;d=c[h>>2]|0;i=t;return d|0}function Co(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;g=j+16|0;b=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;k=a;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[a>>2]=k;c[a+4>>2]=C}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;k=c[h>>2]|0;i=j;return k|0}if(!(c[b>>2]|0)){b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=$l(b,e)|0;else{c[e>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=$l(b,f)|0;else{c[f>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;to((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}TR((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+16|0;if(!((c[k>>2]|0)==0&(c[k+4>>2]|0)==0)){k=c[h>>2]|0;i=j;return k|0}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=$l(b,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Do(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[(c[d>>2]|0)+24>>2]|0);i=b;return}function Eo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;t=v+60|0;g=v+56|0;h=v+52|0;j=v+48|0;k=v+44|0;n=v+8|0;l=v+40|0;m=v;s=v+36|0;u=v+32|0;o=v+28|0;q=v+24|0;p=v+20|0;r=v+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b=(c[h>>2]|0)+56|0;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=1;while(1){if((c[l>>2]|0)>=16){g=16;break}e=m;c[e>>2]=0;c[e+4>>2]=0;c[s>>2]=(c[h>>2]|0)+56+(c[l>>2]<<5);c[u>>2]=0;c[o>>2]=Ml(c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+8+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[k>>2]|0)-(c[o>>2]|0);e=c[o>>2]|0;c[p>>2]=Jl(e,((e|0)<0)<<31>>31)|0;e=c[q>>2]|0;e=Jl(e,((e|0)<0)<<31>>31)|0;c[p>>2]=(c[p>>2]|0)+(e+(c[q>>2]|0));if((c[(c[s>>2]|0)+8+4>>2]|0)!=0?((c[(c[s>>2]|0)+20+4>>2]|0)+(c[p>>2]|0)|0)>(c[(c[g>>2]|0)+224>>2]|0):0){d=c[s>>2]|0;c[u>>2]=Fl(c[g>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[s>>2]|0)+20>>2]|0,c[(c[s>>2]|0)+20+4>>2]|0)|0;a[c[(c[s>>2]|0)+20>>2]>>0]=c[l>>2];d=(c[(c[s>>2]|0)+20>>2]|0)+1|0;b=n;b=RR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;b=1+(Kl(d,b,C)|0)|0;c[(c[s>>2]|0)+20+4>>2]=b;b=c[s>>2]|0;d=c[b+4>>2]|0;e=m;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=c[s>>2]|0;d=e;d=RR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[(c[s>>2]|0)+8+4>>2]=0}else{c[r>>2]=(c[s>>2]|0)+20;if((c[(c[r>>2]|0)+4>>2]|0)==0?(to(c[r>>2]|0,c[(c[g>>2]|0)+224>>2]|0,u),(c[u>>2]|0)==0):0){a[c[c[r>>2]>>2]>>0]=c[l>>2];e=n;e=1+(Kl((c[c[r>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[r>>2]|0)+4>>2]=e}to(c[r>>2]|0,(c[(c[r>>2]|0)+4>>2]|0)+(c[p>>2]|0)|0,u);to((c[s>>2]|0)+8|0,c[k>>2]|0,u);if(!(c[u>>2]|0)){if(c[(c[s>>2]|0)+8+4>>2]|0){d=c[o>>2]|0;d=Kl((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d}d=c[q>>2]|0;d=Kl((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d;TR((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+(c[q>>2]|0);TR(c[(c[s>>2]|0)+8>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[(c[s>>2]|0)+8+4>>2]=c[k>>2]}}e=m;if((c[u>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){g=14;break}b=m;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=(c[l>>2]|0)+1}if((g|0)==14){c[t>>2]=c[u>>2];u=c[t>>2]|0;i=v;return u|0}else if((g|0)==16){c[t>>2]=0;u=c[t>>2]|0;i=v;return u|0}return 0}function Fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;c[k>>2]=pl(c[m>>2]|0,34,j,0)|0;if(c[k>>2]|0){e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}m=f;Le(c[j>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(te(c[j>>2]|0)|0))c[h>>2]=1;c[k>>2]=Yd(c[j>>2]|0)|0;e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}function Go(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;u=t+48|0;g=t+44|0;h=t+40|0;j=t+36|0;q=t+32|0;s=t+28|0;o=t+24|0;l=t+20|0;k=t+16|0;p=t+12|0;m=t+8|0;r=t+4|0;n=t;c[u>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[u>>2];c[s>>2]=0;c[o>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[m>>2]=0;if(((c[g>>2]|0)>1?(ee(c[c[h>>2]>>2]|0)|0)==5:0)?(ee(c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=Ho(c[q>>2]|0,c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}if((c[g>>2]|0)>1?(ce(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}c[k>>2]=Id((c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[k>>2]|0)){c[s>>2]=7;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}c[l>>2]=(c[k>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+1<<2);VR(c[k>>2]|0,0,(c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=Io(c[q>>2]|0)|0;if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}do if((c[g>>2]|0)>1?(c[(c[q>>2]|0)+40>>2]|0)==0:0){c[r>>2]=c[(c[h>>2]|0)+(3+(c[(c[q>>2]|0)+24>>2]|0)<<2)>>2];if((ee(c[r>>2]|0)|0)==5)c[r>>2]=c[(c[h>>2]|0)+4>>2];if((ee(c[r>>2]|0)|0)!=5){if((ee(c[c[h>>2]>>2]|0)|0)!=5?(f=de(c[c[h>>2]>>2]|0)|0,u=C,b=de(c[r>>2]|0)|0,!((f|0)!=(b|0)|(u|0)!=(C|0))):0)break;u=(gf(c[(c[q>>2]|0)+12>>2]|0)|0)==5;e=c[q>>2]|0;if(u){c[s>>2]=Jo(e,c[r>>2]|0,p,c[k>>2]|0)|0;break}else{c[s>>2]=Ko(e,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}if((ee(c[c[h>>2]>>2]|0)|0)!=5){c[s>>2]=Jo(c[q>>2]|0,c[c[h>>2]>>2]|0,p,c[k>>2]|0)|0;c[o>>2]=1}if((c[g>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=ce(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[m>>2]|0)==0?(c[s>>2]=Ko(c[q>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[q>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if((c[o>>2]|0)!=0?(r=c[j>>2]|0,u=(c[q>>2]|0)+264|0,!((c[r>>2]|0)!=(c[u>>2]|0)?1:(c[r+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[j>>2]|0;c[s>>2]=Lo(c[q>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=Mo(c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if(a[(c[q>>2]|0)+230>>0]|0)No(s,c[q>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if(!(a[(c[q>>2]|0)+228>>0]|0)){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}Oo(s,c[q>>2]|0,c[l>>2]|0,c[k>>2]|0,c[p>>2]|0);u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}function Ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;f=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=$d(c[l>>2]|0)|0;c[f>>2]=ae(c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[d>>2]=7;l=c[d>>2]|0;i=k;return l|0}if((c[f>>2]|0)==8?0==(zd(c[h>>2]|0,20512,8)|0):0)c[g>>2]=Tn(c[e>>2]|0,0)|0;else j=6;do if((j|0)==6){if((c[f>>2]|0)==7?0==(zd(c[h>>2]|0,23495,7)|0):0){c[g>>2]=Yo(c[e>>2]|0)|0;break}if((c[f>>2]|0)==15?0==(zd(c[h>>2]|0,23503,15)|0):0){c[g>>2]=Zo(c[e>>2]|0)|0;break}if((c[f>>2]|0)>6?0==(zd(c[h>>2]|0,23519,6)|0):0){c[g>>2]=_o(c[e>>2]|0,(c[h>>2]|0)+6|0)|0;break}if((c[f>>2]|0)>10?0==(zd(c[h>>2]|0,23526,10)|0):0){c[g>>2]=$o(c[e>>2]|0,(c[h>>2]|0)+10|0)|0;break}c[g>>2]=1}while(0);c[d>>2]=c[g>>2];l=c[d>>2]|0;i=k;return l|0}function Io(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[e>>2]=pl(c[b>>2]|0,16,d,0)|0,(c[e>>2]|0)==0):0){Me(c[d>>2]|0,1)|0;te(c[d>>2]|0)|0;c[e>>2]=Yd(c[d>>2]|0)|0}i=f;return c[e>>2]|0}function Jo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;l=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;To(m,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;i=n;return o|0}c[l>>2]=0;c[m>>2]=Uo(c[g>>2]|0,c[h>>2]|0,l)|0;if(c[m>>2]|0){o=c[m>>2]|0;i=n;return o|0}if(c[l>>2]|0){c[m>>2]=Vo(c[g>>2]|0,1)|0;c[c[j>>2]>>2]=0;VR(c[k>>2]|0,0,(c[(c[g>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;i=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[g>>2]|0)+40>>2]|0))Wo(m,c[g>>2]|0,0,h);if(!(a[(c[g>>2]|0)+230>>0]|0)){o=c[m>>2]|0;i=n;return o|0}Wo(m,c[g>>2]|0,19,h);o=c[m>>2]|0;i=n;return o|0}function Ko(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[f>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[b+24>>2]|0)+3<<2)>>2];if((ee(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((ee(c[k>>2]|0)|0)!=1){c[e>>2]=19;l=c[e>>2]|0;i=m;return l|0}else{k=de(c[k>>2]|0)|0;l=c[h>>2]|0;c[l>>2]=k;c[l+4>>2]=C;c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}}c[l>>2]=pl(b,18,j,(c[g>>2]|0)+4|0)|0;if((c[l>>2]|0)==0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[l>>2]=Ke(d,k,ce(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}if(5!=(ee(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(ee(c[c[g>>2]>>2]|0)|0)?5!=(ee(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;l=c[e>>2]|0;i=m;return l|0}c[l>>2]=Oe(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}}te(c[j>>2]|0)|0;c[l>>2]=Yd(c[j>>2]|0)|0;j=pf(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=C;c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}function Lo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=l;c[d>>2]=e;c[d+4>>2]=f;d=l;f=c[d+4>>2]|0;a=(c[h>>2]|0)+264|0;b=c[a+4>>2]|0;do if(!((f|0)<(b|0)|((f|0)==(b|0)?(c[d>>2]|0)>>>0<(c[a>>2]|0)>>>0:0))){d=l;a=(c[h>>2]|0)+264|0;if(((c[d>>2]|0)==(c[a>>2]|0)?(c[d+4>>2]|0)==(c[a+4>>2]|0):0)?(c[(c[h>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[h>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[h>>2]|0)+260>>2]|0)<=(c[(c[h>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[m>>2]=ml(c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}a=l;m=c[a+4>>2]|0;n=(c[h>>2]|0)+264|0;c[n>>2]=c[a>>2];c[n+4>>2]=m;c[(c[h>>2]|0)+272>>2]=c[k>>2];c[(c[h>>2]|0)+276>>2]=c[j>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Mo(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;p=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=2;while(1){if((c[l>>2]|0)>=((c[(c[g>>2]|0)+24>>2]|0)+2|0)){g=8;break}c[m>>2]=(c[l>>2]|0)-2;if(!(d[(c[(c[g>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[n>>2]=$d(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[p>>2]=Ro(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+(c[m>>2]<<2)|0)|0;if(c[p>>2]|0){g=5;break}b=ae(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;a=(c[k>>2]|0)+(c[(c[g>>2]|0)+24>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+b}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==5){c[o>>2]=c[p>>2];p=c[o>>2]|0;i=q;return p|0}else if((g|0)==8){c[o>>2]=0;p=c[o>>2]|0;i=q;return p|0}return 0}function No(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;k=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){i=m;return}c[j>>2]=Id((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[j>>2]|0)){c[c[e>>2]>>2]=7;i=m;return}Qo(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[j>>2]|0,h);c[l>>2]=pl(c[f>>2]|0,20,k,0)|0;if(c[l>>2]|0){Kd(c[j>>2]|0);c[c[e>>2]>>2]=c[l>>2];i=m;return}else{l=(c[f>>2]|0)+264|0;Le(c[k>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Ie(c[k>>2]|0,2,c[j>>2]|0,c[h>>2]|0,148)|0;te(c[k>>2]|0)|0;l=Yd(c[k>>2]|0)|0;c[c[e>>2]>>2]=l;i=m;return}}function Oo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;q=u+28|0;o=u+24|0;m=u+20|0;r=u+16|0;n=u+12|0;s=u+8|0;p=u+4|0;t=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=(c[(c[h>>2]|0)+24>>2]|0)+2;if(c[c[g>>2]>>2]|0){i=u;return}c[m>>2]=Id((c[p>>2]|0)*14|0)|0;if(!(c[m>>2]|0)){c[c[g>>2]>>2]=7;i=u;return}c[q>>2]=(c[m>>2]|0)+(c[p>>2]<<2);c[s>>2]=pl(c[h>>2]|0,22,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}Ke(c[r>>2]|0,1,0)|0;if((te(c[r>>2]|0)|0)==100){f=c[p>>2]|0;b=c[m>>2]|0;a=ze(c[r>>2]|0,0)|0;Po(f,b,a,Ae(c[r>>2]|0,0)|0)}else VR(c[m>>2]|0,0,c[p>>2]<<2|0)|0;c[s>>2]=Yd(c[r>>2]|0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}if((c[l>>2]|0)<0?(c[c[m>>2]>>2]|0)>>>0<(0-(c[l>>2]|0)|0)>>>0:0)c[c[m>>2]>>2]=0;else{a=c[m>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[h>>2]|0)+24>>2]|0)+1|0))break;c[t>>2]=c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2];if(((c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0)>>>0<(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>>>0)c[t>>2]=0;else c[t>>2]=(c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0);c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[t>>2];c[n>>2]=(c[n>>2]|0)+1}Qo(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,o);c[s>>2]=pl(c[h>>2]|0,23,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}else{Ke(c[r>>2]|0,1,0)|0;Ie(c[r>>2]|0,2,c[q>>2]|0,c[o>>2]|0,0)|0;te(c[r>>2]|0)|0;t=Yd(c[r>>2]|0)|0;c[c[g>>2]>>2]=t;Kd(c[m>>2]|0);i=u;return}}function Po(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+28|0;g=m+24|0;h=m+20|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;d=_l((c[h>>2]|0)+(c[k>>2]|0)|0,l)|0;c[k>>2]=(c[k>>2]|0)+d;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}i=m;return}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[k>>2]=0;while(1){a=c[l>>2]|0;if((c[k>>2]|0)>=(c[f>>2]|0))break;d=Kl((c[h>>2]|0)+a|0,c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0,0)|0;c[l>>2]=(c[l>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}c[c[j>>2]>>2]=a;i=m;return}function Ro(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;l=B+56|0;m=B+52|0;x=B+48|0;q=B+44|0;o=B+40|0;p=B+36|0;s=B+32|0;z=B+28|0;r=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;n=B+4|0;u=B;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[h>>2]|0)+36>>2];c[v>>2]=c[c[w>>2]>>2];if(!(c[k>>2]|0)){c[c[m>>2]>>2]=0;c[g>>2]=0;A=c[g>>2]|0;i=B;return A|0}c[x>>2]=Cn(c[w>>2]|0,c[j>>2]|0,c[k>>2]|0,-1,t)|0;if(c[x>>2]|0){c[g>>2]=c[x>>2];A=c[g>>2]|0;i=B;return A|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];a:while(1){if(c[x>>2]|0)break;d=Sb[c[y>>2]&255](c[t>>2]|0,z,r,q,o,p)|0;c[x>>2]=d;if(d)break;if((c[p>>2]|0)>=(c[s>>2]|0))c[s>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>=0&(c[z>>2]|0)!=0^1|(c[r>>2]|0)<=0){A=11;break}c[x>>2]=So(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[(c[h>>2]|0)+252>>2]|0)+4|0,c[z>>2]|0,c[r>>2]|0)|0;c[n>>2]=1;while(1){if(c[x>>2]|0)continue a;if((c[n>>2]|0)>=(c[(c[h>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[h>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0);if((c[r>>2]|0)>=(c[c[u>>2]>>2]|0))c[x>>2]=So(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[u>>2]|0)+4|0,c[z>>2]|0,c[c[u>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}if((A|0)==11)c[x>>2]=1;Tb[c[(c[v>>2]|0)+16>>2]&255](c[t>>2]|0)|0;A=c[m>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[s>>2]|0);c[g>>2]=(c[x>>2]|0)==101?0:c[x>>2]|0;A=c[g>>2]|0;i=B;return A|0}function So(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[o>>2]=Ek(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)-((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20)}a=(c[h>>2]|0)+264|0;e=c[j>>2]|0;f=c[k>>2]|0;if((Dn(o,c[a>>2]|0,c[a+4>>2]|0,e,((e|0)<0)<<31>>31,f,((f|0)<0)<<31>>31,p)|0)!=0?(f=c[o>>2]|0,(f|0)==(lk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)):0){Kd(c[o>>2]|0);c[p>>2]=7}if(c[p>>2]|0){f=c[p>>2]|0;i=q;return f|0}f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)+((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20);f=c[p>>2]|0;i=q;return f|0}function To(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;j=u+48|0;k=u+44|0;h=u+40|0;l=u+36|0;m=u+32|0;s=u+28|0;r=u+24|0;n=u+20|0;q=u+16|0;p=u;o=u+12|0;t=u+8|0;c[j>>2]=a;c[k>>2]=b;c[h>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[c[j>>2]>>2]|0){i=u;return}c[s>>2]=pl(c[k>>2]|0,7,r,h)|0;h=c[r>>2]|0;if(!(c[s>>2]|0)){do if(100==(te(h)|0)){c[q>>2]=Xo(c[k>>2]|0,c[r>>2]|0)|0;e=De(c[r>>2]|0,0)|0;g=p;c[g>>2]=e;c[g+4>>2]=C;c[s>>2]=Lo(c[k>>2]|0,1,c[q>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[n>>2]=1;while(1){if(c[s>>2]|0)break;if((c[n>>2]|0)>(c[(c[k>>2]|0)+24>>2]|0))break;c[o>>2]=(c[n>>2]|0)-1;if(!(d[(c[(c[k>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[t>>2]=Ee(c[r>>2]|0,c[n>>2]|0)|0;c[s>>2]=Ro(c[k>>2]|0,c[q>>2]|0,c[t>>2]|0,-1,(c[l>>2]|0)+(c[o>>2]<<2)|0)|0;g=Ae(c[r>>2]|0,c[n>>2]|0)|0;p=(c[l>>2]|0)+(c[(c[k>>2]|0)+24>>2]<<2)|0;c[p>>2]=(c[p>>2]|0)+g}c[n>>2]=(c[n>>2]|0)+1}if(!(c[s>>2]|0)){c[c[m>>2]>>2]=1;break}Yd(c[r>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}while(0);c[s>>2]=Yd(c[r>>2]|0)|0}else Yd(h)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}function Uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}c[j>>2]=pl(c[e>>2]|0,1,h,f)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}if(100==(te(c[h>>2]|0)|0)){d=Ce(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=d}c[j>>2]=Yd(c[h>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function Vo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;jl(c[e>>2]|0);if(c[h>>2]|0)Wo(f,c[e>>2]|0,2,0);Wo(f,c[e>>2]|0,3,0);Wo(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)Wo(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;i=g;return h|0}Wo(f,c[e>>2]|0,6,0);h=c[f>>2]|0;i=g;return h|0}function Wo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(c[c[f>>2]>>2]|0){i=m;return}c[l>>2]=pl(c[g>>2]|0,c[h>>2]|0,k,c[j>>2]|0)|0;if(!(c[l>>2]|0)){te(c[k>>2]|0)|0;c[l>>2]=Yd(c[k>>2]|0)|0}c[c[f>>2]>>2]=c[l>>2];i=m;return}function Xo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){b=c[f>>2]|0;i=g;return b|0}c[f>>2]=Ce(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;b=c[f>>2]|0;i=g;return b|0}function Yo(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;f=t;h=t+52|0;q=t+48|0;j=t+44|0;l=t+40|0;k=t+36|0;p=t+32|0;o=t+28|0;g=t+24|0;e=t+20|0;m=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;c[h>>2]=b;c[q>>2]=Vo(c[h>>2]|0,0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[j>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[o>>2]=0;c[f>>2]=c[(c[h>>2]|0)+216>>2];c[g>>2]=Od(23614,f)|0;if(c[g>>2]|0){c[q>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[g>>2]|0,-1,p,0)|0;Kd(c[g>>2]|0)}else c[q>>2]=7;do if(!(c[q>>2]|0)){c[e>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[j>>2]=Id(c[e>>2]|0)|0;if(!(c[j>>2]|0)){c[q>>2]=7;break}else{VR(c[j>>2]|0,0,c[e>>2]|0)|0;c[l>>2]=(c[j>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[k>>2]=(c[l>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[q>>2]|0))e=100==(te(c[p>>2]|0)|0);else e=0;b=c[h>>2]|0;if(!e)break;c[n>>2]=Xo(b,c[p>>2]|0)|0;b=c[h>>2]|0;f=c[n>>2]|0;g=De(c[p>>2]|0,0)|0;c[q>>2]=Lo(b,0,f,g,C)|0;VR(c[j>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[m>>2]=0;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+24>>2]|0))break;if(!(d[(c[(c[h>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[s>>2]=Ee(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;c[q>>2]=Ro(c[h>>2]|0,c[n>>2]|0,c[s>>2]|0,c[m>>2]|0,(c[j>>2]|0)+(c[m>>2]<<2)|0)|0;f=Ae(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;g=(c[j>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[m>>2]=(c[m>>2]|0)+1}if(a[(c[h>>2]|0)+230>>0]|0)No(q,c[h>>2]|0,c[j>>2]|0);if(c[q>>2]|0){Xd(c[p>>2]|0)|0;c[p>>2]=0;continue}c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[l>>2]|0)+(c[m>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}if(a[b+228>>0]|0)Oo(q,c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[o>>2]|0);Kd(c[j>>2]|0);if(!(c[p>>2]|0)){s=c[q>>2]|0;i=t;return s|0}c[r>>2]=Xd(c[p>>2]|0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[q>>2]=c[r>>2];s=c[q>>2]|0;i=t;return s|0}function Zo(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=cp(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;i=d;return c[b>>2]|0}function _o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;l=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[e>>2]=b;c[l>>2]=d;c[g>>2]=8;c[f>>2]=0;c[j>>2]=c[l>>2];c[f>>2]=ap(j)|0;if((a[c[j>>2]>>0]|0)==44?(a[(c[j>>2]|0)+1>>0]|0)!=0:0){c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=ap(j)|0}if((c[g>>2]|0)<2?1:(a[c[j>>2]>>0]|0)!=0){c[h>>2]=1;l=c[h>>2]|0;i=k;return l|0}c[h>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))bp(h,c[e>>2]|0);if(!(c[h>>2]|0))c[h>>2]=go(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;ym(c[e>>2]|0);l=c[h>>2]|0;i=k;return l|0}function $o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[f>>2]=b;c[k>>2]=d;c[h>>2]=0;c[g>>2]=0;d=ap(k)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?(bp(h,c[f>>2]|0),(c[h>>2]|0)!=0):0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}c[h>>2]=pl(c[f>>2]|0,23,g,0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}else{Ke(c[g>>2]|0,1,2)|0;Ke(c[g>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;te(c[g>>2]|0)|0;c[h>>2]=Yd(c[g>>2]|0)|0;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}return 0}function ap(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[e>>2]=0;while(1){if((a[c[f>>2]>>0]|0)<48){b=5;break}if((a[c[f>>2]>>0]|0)>57){b=5;break}h=(c[e>>2]|0)*10|0;b=c[f>>2]|0;c[f>>2]=b+1;c[e>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[f>>2];i=g;return c[e>>2]|0}return 0}function bp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;d=c[g>>2]|0;b=c[(c[e>>2]|0)+12>>2]|0;j=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=j;nl(d,b,23537,h);if(c[c[g>>2]>>2]|0){i=f;return}a[(c[e>>2]|0)+229>>0]=1;i=f;return}function cp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+112|0;j=F+24|0;l=F+108|0;m=F+104|0;B=F+100|0;n=F+16|0;o=F+8|0;g=F+96|0;h=F+92|0;f=F+88|0;e=F+84|0;y=F+80|0;z=F+76|0;k=F+72|0;r=F;u=F+68|0;q=F+64|0;D=F+60|0;w=F+56|0;A=F+52|0;E=F+48|0;x=F+44|0;s=F+40|0;t=F+36|0;v=F+32|0;p=F+28|0;c[l>>2]=a;c[m>>2]=b;c[B>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[B>>2]=pl(c[l>>2]|0,27,g,0)|0;if(!(c[B>>2]|0)){Ke(c[g>>2]|0,1,c[(c[l>>2]|0)+272>>2]|0)|0;Ke(c[g>>2]|0,2,c[(c[l>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[B>>2]|0))a=(te(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[f>>2]=Ce(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue a;a=n;H=c[a>>2]|0;a=c[a+4>>2]|0;G=dp(c[l>>2]|0,c[f>>2]|0,c[e>>2]|0,B)|0;b=n;c[b>>2]=H^G;c[b+4>>2]=a^C;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=Yd(b)|0;if(!(c[B>>2]|0))c[B>>2]=c[h>>2]}if(c[B>>2]|0){E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}c[y>>2]=c[c[(c[l>>2]|0)+36>>2]>>2];c[z>>2]=0;c[j>>2]=c[(c[l>>2]|0)+216>>2];c[k>>2]=Od(23614,j)|0;if(c[k>>2]|0){c[B>>2]=af(c[(c[l>>2]|0)+12>>2]|0,c[k>>2]|0,-1,z,0)|0;Kd(c[k>>2]|0)}else c[B>>2]=7;b:while(1){if(!(c[B>>2]|0))a=100==(te(c[z>>2]|0)|0);else a=0;b=c[z>>2]|0;if(!a)break;G=De(b,0)|0;H=r;c[H>>2]=G;c[H+4>>2]=C;c[u>>2]=Xo(c[l>>2]|0,c[z>>2]|0)|0;c[q>>2]=0;while(1){if(c[B>>2]|0)continue b;if((c[q>>2]|0)>=(c[(c[l>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[q>>2]|0)>>0]|0)){c[D>>2]=Ee(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[w>>2]=Ae(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[A>>2]=0;c[B>>2]=Cn(c[(c[l>>2]|0)+36>>2]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,A)|0;c:while(1){if(c[B>>2]|0)break;c[x>>2]=0;c[s>>2]=0;c[t>>2]=0;c[v>>2]=0;c[B>>2]=Sb[c[(c[y>>2]|0)+20>>2]&255](c[A>>2]|0,E,x,s,t,v)|0;if(c[B>>2]|0)continue;G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=ep(c[E>>2]|0,c[x>>2]|0,c[u>>2]|0,0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0)<=(c[x>>2]|0)){G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=ep(c[E>>2]|0,c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0,c[u>>2]|0,c[p>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C}c[p>>2]=(c[p>>2]|0)+1}}if(c[A>>2]|0)Tb[c[(c[y>>2]|0)+16>>2]&255](c[A>>2]|0)|0;if((c[B>>2]|0)==101)c[B>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}Xd(b)|0;E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}function dp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+144|0;g=u+140|0;h=u+136|0;j=u+132|0;k=u+128|0;f=u+112|0;m=u+56|0;t=u+48|0;l=u+32|0;r=u+44|0;s=u+40|0;o=u+24|0;n=u+16|0;p=u+8|0;q=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;d=l;c[d>>2]=0;c[d+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;d=m;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[t>>2]=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,-2,0,0,0,1,m)|0;if(!(c[t>>2]|0))c[t>>2]=ul(c[g>>2]|0,m,f)|0;if(c[t>>2]|0){Bl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}a:while(1){f=vl(c[g>>2]|0,m)|0;c[t>>2]=f;if(100!=(f|0))break;c[r>>2]=c[m+48>>2];c[s>>2]=(c[r>>2]|0)+(c[m+52>>2]|0);f=o;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=_l(c[r>>2]|0,o)|0;c[r>>2]=(c[r>>2]|0)+f;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue a;f=q;c[f>>2]=0;c[f+4>>2]=0;f=_l(c[r>>2]|0,q)|0;c[r>>2]=(c[r>>2]|0)+f;if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue;e=q;f=q;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=q;b=QR(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=p;b=RR(c[e>>2]|0,c[e+4>>2]|0,b|0,C|0)|0;e=p;c[e>>2]=b;c[e+4>>2]=C;e=l;b=c[e>>2]|0;e=c[e+4>>2]|0;a=o;a=ep(c[m+40>>2]|0,c[m+44>>2]|0,c[h>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;f=l;c[f>>2]=b^a;c[f+4>>2]=e^C;continue}f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=q;d=c[r>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=_l(d,n)|0;c[r>>2]=(c[r>>2]|0)+f;continue}else{e=_l(d,q)|0;c[r>>2]=(c[r>>2]|0)+e;e=q;f=o;e=RR(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;continue}}}Bl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}function ep(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=i;i=i+48|0;l=p+40|0;m=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;n=p+16|0;o=p;c[l>>2]=b;c[m>>2]=d;c[t>>2]=e;c[s>>2]=f;d=u;c[d>>2]=g;c[d+4>>2]=h;c[r>>2]=j;c[q>>2]=k;k=u;d=c[k+4>>2]|0;b=o;c[b>>2]=c[k>>2];c[b+4>>2]=d;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[t>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[s>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[r>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[q>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;c[n>>2]=0;while(1){h=o;g=c[h>>2]|0;h=c[h+4>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;u=WR(g|0,h|0,3)|0;t=a[(c[l>>2]|0)+(c[n>>2]|0)>>0]|0;t=RR(u|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;u=o;t=RR(c[u>>2]|0,c[u+4>>2]|0,t|0,C|0)|0;u=o;c[u>>2]=t;c[u+4>>2]=C;c[n>>2]=(c[n>>2]|0)+1}C=h;i=p;return g|0}function fp(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;c[f>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[f>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))Yd(c[(c[e>>2]|0)+8>>2]|0)|0;Tm(c[e>>2]|0,c[f>>2]|0,g);a[(c[e>>2]|0)+6>>0]=a[(c[f>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;k=(c[f>>2]|0)+24|0;j=c[k+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=j;if(d[(c[e>>2]|0)+6>>0]|0)break a}while((Om(c[e>>2]|0,g)|0)!=0);while(0);if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(j=(c[e>>2]|0)+32|0,b=c[j+4>>2]|0,k=(c[e>>2]|0)+80|0,f=c[k+4>>2]|0,(b|0)>(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){k=c[g>>2]|0;i=h;return k|0}j=(c[e>>2]|0)+32|0;b=c[j+4>>2]|0;k=(c[e>>2]|0)+72|0;f=c[k+4>>2]|0;if(!((b|0)<(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0))){k=c[g>>2]|0;i=h;return k|0}}a[(c[e>>2]|0)+6>>0]=1;k=c[g>>2]|0;i=h;return k|0}function gp(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];Gp(c[b>>2]|0);if(((c[d>>2]|0)!=0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?(c[(c[d>>2]|0)+16>>2]|0)!=0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}i=e;return}function hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j;h=j+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if((c[f>>2]|0)!=0?(c[h>>2]=Te(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){a=de(c[f>>2]|0)|0;h=e;c[h>>2]=a;c[h+4>>2]=C;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}a=c[g+4>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=a;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}function ip(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=i;i=i+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=j;c[n>>2]=k;c[o>>2]=l;c[p>>2]=up(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?(c[c[n>>2]>>2]|0)!=0:0)?(c[p>>2]=vp(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=wp(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;i=s;return z|0}gp(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;Fk(z,23723,q);c[p>>2]=1;z=c[p>>2]|0;i=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;i=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];Fk(z,23775,r);z=c[p>>2]|0;i=s;return z|0}function jp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;b=n+36|0;o=n+32|0;m=n+28|0;j=n+24|0;h=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;l=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[m>>2]=0;c[j>>2]=0;c[h>>2]=0;kp(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,j,h,m);do if((c[m>>2]|0)==0&(c[j>>2]|0)>1?(d[(c[o>>2]|0)+228>>0]|0|0)!=0:0){c[e>>2]=Id(((c[j>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[f>>2]=(c[e>>2]|0)+((c[j>>2]|0)*24|0);if(!(c[e>>2]|0)){c[m>>2]=7;break}c[k>>2]=c[e>>2];c[l>>2]=c[f>>2];lp(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,k,l,m);c[j>>2]=((c[k>>2]|0)-(c[e>>2]|0)|0)/24|0;c[h>>2]=((c[l>>2]|0)-(c[f>>2]|0)|0)/4|0;a:do if(!(c[m>>2]|0)){c[m>>2]=mp(c[b>>2]|0,0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=0;while(1){if(c[m>>2]|0)break a;if((c[g>>2]|0)>=(c[h>>2]|0))break a;c[m>>2]=mp(c[b>>2]|0,c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);Kd(c[e>>2]|0)}while(0);np(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,m);i=n;return c[m>>2]|0}function kp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;p=q;c[g>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){i=q;return}if(c[c[o>>2]>>2]|0){i=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){p=c[j>>2]|0;c[p>>2]=(c[p>>2]|0)+((c[a>>2]|0)==4&1);kp(c[g>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);kp(c[g>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);i=q;return}c[l>>2]=c[(c[a+20>>2]|0)+64>>2];j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)+(c[l>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0)){a=9;break}c[m>>2]=(c[(c[n>>2]|0)+20>>2]|0)+72+((c[k>>2]|0)*24|0);c[p>>2]=sp(c[g>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+8>>2]|0,(c[m>>2]|0)+20|0)|0;if(c[p>>2]|0){a=7;break}c[k>>2]=(c[k>>2]|0)+1}if((a|0)==7){c[c[o>>2]>>2]=c[p>>2];i=q;return}else if((a|0)==9){c[(c[(c[n>>2]|0)+20>>2]|0)+44>>2]=-1;i=q;return}}function lp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;h=r+4|0;k=r;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;if(c[c[q>>2]>>2]|0){i=r;return}d=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==5){c[j>>2]=c[d+20>>2];c[h>>2]=0;while(1){if(c[c[q>>2]>>2]|0){a=13;break}if((c[h>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0)){a=13;break}n=c[o>>2]|0;p=c[n>>2]|0;c[n>>2]=p+24;c[k>>2]=p;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=(c[j>>2]|0)+72+((c[h>>2]|0)*24|0);c[(c[k>>2]|0)+20>>2]=c[(c[j>>2]|0)+68>>2];p=rp(c[l>>2]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+20>>2]|0,(c[k>>2]|0)+16|0)|0;c[c[q>>2]>>2]=p;c[h>>2]=(c[h>>2]|0)+1}if((a|0)==13){i=r;return}}if((c[d>>2]|0)==2){i=r;return}if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+12>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}lp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+16>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}lp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);i=r;return}function mp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;f=B+76|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;w=B+56|0;o=B+52|0;z=B+48|0;m=B+44|0;s=B+40|0;t=B+36|0;r=B+32|0;q=B+28|0;l=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;p=B+8|0;u=B+4|0;n=B;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[w>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[z>>2]=0;c[s>>2]=0;c[t>>2]=0;c[r>>2]=0;c[q>>2]=1;if(c[(c[w>>2]|0)+40>>2]|0){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;if((c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0)){c[s>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+16>>2]|0);c[t>>2]=(c[t>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((c[s>>2]|0)==0|(c[t>>2]|0)<2){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[z>>2]=op(c[g>>2]|0,o)|0;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[t>>2]|0)?(c[z>>2]|0)==0:0))break;c[v>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;do if((c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+8>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0):0){if((c[v>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+16>>2]|0)>=(c[(c[v>>2]|0)+16>>2]|0):0)break;c[v>>2]=(c[j>>2]|0)+((c[l>>2]|0)*24|0)}while(0);c[l>>2]=(c[l>>2]|0)+1}if((c[m>>2]|0)!=0?(c[(c[v>>2]|0)+16>>2]|0)>=(_(((c[r>>2]|0)+((c[q>>2]|0)/4|0)-1|0)/((c[q>>2]|0)/4|0|0)|0,c[o>>2]|0)|0):0){c[x>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=pp(c[g>>2]|0,c[x>>2]|0,c[(c[v>>2]|0)+20>>2]|0)|0;on(c[(c[x>>2]|0)+20>>2]|0);c[(c[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[m>>2]|0)<12)c[q>>2]=c[q>>2]<<2;if(c[m>>2]|0){if((c[(c[c[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[m>>2]|0)==((c[t>>2]|0)-1|0))break}c[y>>2]=c[(c[v>>2]|0)+8>>2];c[p>>2]=0;c[u>>2]=0;c[z>>2]=gn(c[w>>2]|0,c[y>>2]|0,c[(c[v>>2]|0)+20>>2]|0,p,u)|0;if(!(c[z>>2]|0))c[z>>2]=hn(c[w>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;if(!(c[z>>2]|0)){c[n>>2]=qp(c[c[c[v>>2]>>2]>>2]|0,c[(c[c[v>>2]>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)!=0?(c[n>>2]|0)>=(c[r>>2]|0):0)break;c[r>>2]=c[n>>2]}}while(0);c[(c[v>>2]|0)+8>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[f>>2]=c[z>>2];A=c[f>>2]|0;i=B;return A|0}function np(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;l=m+12|0;h=m+8|0;k=m+4|0;j=m;c[g>>2]=b;c[l>>2]=e;c[h>>2]=f;if(!(c[l>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}if((c[c[l>>2]>>2]|0)!=5){np(c[g>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[h>>2]|0);np(c[g>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[l>>2]|0)+12>>2]|0)+34>>0]|0)g=(d[(c[(c[l>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else g=0;a[(c[l>>2]|0)+34>>0]=g&1;i=m;return}c[k>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[l>>2]|0)+34>>0]=(c[j>>2]|0)==(c[k>>2]|0)}l=dn(c[g>>2]|0,1,c[(c[l>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=l;i=m;return}function op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+44|0;e=o+40|0;f=o+36|0;n=o+32|0;k=o+28|0;m=o+24|0;j=o+8|0;h=o;l=o+20|0;g=o+16|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+60>>2]|0)){c[k>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[n>>2]=Pn(c[k>>2]|0,m)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}c[g>>2]=ze(c[m>>2]|0,0)|0;b=Ae(c[m>>2]|0,0)|0;c[l>>2]=(c[g>>2]|0)+b;b=_l(c[g>>2]|0,j)|0;c[g>>2]=(c[g>>2]|0)+b;while(1){if((c[g>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;b=_l(c[g>>2]|0,h)|0;c[g>>2]=(c[g>>2]|0)+b}l=j;b=h;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){Yd(c[m>>2]|0)|0;c[d>>2]=267;n=c[d>>2]|0;i=o;return n|0}a=j;b=c[a+4>>2]|0;l=(c[e>>2]|0)+64|0;c[l>>2]=c[a>>2];c[l+4>>2]=b;l=h;b=j;b=_R(c[l>>2]|0,c[l+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;l=c[(c[k>>2]|0)+236>>2]|0;l=RR(b|0,C|0,l|0,((l|0)<0)<<31>>31|0)|0;b=c[(c[k>>2]|0)+236>>2]|0;b=_R(l|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;c[(c[e>>2]|0)+60>>2]=b;c[n>>2]=Yd(c[m>>2]|0)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}}c[c[f>>2]>>2]=c[(c[e>>2]|0)+60>>2];c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}function pp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Id(16)|0;if(c[j>>2]|0){b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[j>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[j>>2];c[(c[g>>2]|0)+16>>2]=c[j>>2];c[e>>2]=0;b=c[e>>2]|0;i=k;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=k;return b|0}return 0}function qp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(!(c[e>>2]|0)){j=c[h>>2]|0;i=k;return j|0}c[g>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[j>>2]=c[e>>2];while(1){if((c[j>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break;c[h>>2]=(c[h>>2]|0)+1;do{d=c[j>>2]|0;c[j>>2]=d+1}while((a[d>>0]&128|0)!=0);dm(0,j)}j=c[h>>2]|0;i=k;return j|0}function rp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+44|0;f=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;g=q+24|0;p=q+20|0;m=q+16|0;l=q+12|0;h=q;j=q+8|0;c[r>>2]=a;c[f>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[m>>2]=c[(c[k>>2]|0)+236>>2];c[g>>2]=0;while(1){if(c[p>>2]|0){f=13;break}if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){f=13;break}c[l>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2];a:do if((c[(c[l>>2]|0)+56>>2]|0)==0?(d[(c[l>>2]|0)+5>>0]|0|0)==0:0){b=(c[l>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[l>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=gm(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,j,0)|0;if(c[p>>2]|0)break a;if(((c[j>>2]|0)+35|0)>(c[m>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[j>>2]|0)+34|0)/(c[m>>2]|0)|0);e=h;e=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=C}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[c[n>>2]>>2]=c[o>>2];i=q;return c[p>>2]|0}return 0}function sp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;q=r+12|0;n=r+8|0;m=r+4|0;o=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[q>>2]=7;c[p>>2]=Id(56)|0;if(!(c[p>>2]|0)){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[m>>2]=0;c[o>>2]=c[c[g>>2]>>2];a:do if(c[k>>2]|0){c[n>>2]=1;while(1){if(c[m>>2]|0)break;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==(c[j>>2]|0)){c[m>>2]=1;c[q>>2]=ql(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=1}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if(c[m>>2]|0)break a;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break a;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==((c[j>>2]|0)+1|0)?(c[m>>2]=1,c[q>>2]=ql(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,1,0,c[p>>2]|0)|0,(c[q>>2]|0)==0):0)c[q>>2]=tp(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[m>>2]|0){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[q>>2]=ql(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,0,-2,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=((c[k>>2]|0)!=0^1)&1;f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}function tp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=jm(c[m>>2]|0,c[l>>2]|0,0,-2,c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;i=g;return d|0}function up(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+96|0;l=y+80|0;m=y+76|0;n=y+72|0;o=y+68|0;p=y+64|0;q=y+60|0;r=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;d=x;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[x>>2]=c[m>>2];c[x+4>>2]=c[n>>2];c[x+8>>2]=c[o>>2];c[x+16>>2]=c[q>>2];c[x+20>>2]=c[r>>2];c[x+12>>2]=c[p>>2];if(!(c[s>>2]|0)){c[c[u>>2]>>2]=0;c[l>>2]=0;x=c[l>>2]|0;i=y;return x|0}if((c[t>>2]|0)<0)c[t>>2]=kR(c[s>>2]|0)|0;c[w>>2]=xp(x,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,v)|0;if((c[w>>2]|0)==0?(c[x+32>>2]|0)!=0:0)c[w>>2]=1;c[l>>2]=c[w>>2];x=c[l>>2]|0;i=y;return x|0}function vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;f=t+52|0;g=t+48|0;r=t+44|0;q=t+40|0;o=t+36|0;j=t+32|0;h=t+28|0;k=t+24|0;m=t+20|0;l=t+16|0;p=t+12|0;n=t+8|0;d=t+4|0;e=t;c[f>>2]=a;c[g>>2]=b;c[r>>2]=0;c[q>>2]=c[c[f>>2]>>2];c[o>>2]=0;c[j>>2]=c[c[q>>2]>>2];if(!(c[g>>2]|0))c[r>>2]=1;do if(!(c[r>>2]|0)){if(!((c[j>>2]|0)==3|(c[j>>2]|0)==4)){if((c[j>>2]|0)!=2)break;c[d>>2]=c[(c[q>>2]|0)+12>>2];c[e>>2]=c[(c[q>>2]|0)+16>>2];c[(c[q>>2]|0)+12>>2]=0;c[(c[q>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[r>>2]=vp(d,(c[g>>2]|0)-1|0)|0;if(!(c[r>>2]|0))c[r>>2]=vp(e,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0){gp(c[e>>2]|0);gp(c[d>>2]|0);break}else{c[(c[q>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[q>>2];break}}c[h>>2]=Id(c[g>>2]<<2)|0;if(!(c[h>>2]|0))c[r>>2]=7;else VR(c[h>>2]|0,0,c[g>>2]<<2|0)|0;if(!(c[r>>2]|0)){c[m>>2]=c[q>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}while(1){c[p>>2]=c[(c[m>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;if(c[p>>2]|0)c[(c[p>>2]|0)+12>>2]=0;else c[q>>2]=0;c[r>>2]=vp(m,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0)break;c[l>>2]=0;while(1){if(!(c[m>>2]|0))break;if((c[l>>2]|0)>=(c[g>>2]|0))break;if(!(c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)){c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=0}else{c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=0}c[l>>2]=(c[l>>2]|0)+1}if(c[m>>2]|0){s=24;break}if(!(c[p>>2]|0))break;c[m>>2]=c[(c[p>>2]|0)+16>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];b=c[(c[p>>2]|0)+16>>2]|0;if(c[(c[p>>2]|0)+8>>2]|0)c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]=b;else c[q>>2]=b;c[(c[p>>2]|0)+8>>2]=c[o>>2];c[o>>2]=c[p>>2]}if((s|0)==24){gp(c[m>>2]|0);c[r>>2]=18}a:do if(!(c[r>>2]|0)){c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;do if(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)if(!(c[m>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[m>>2]|0)+8>>2]=0;break}else{c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;break}while(0);c[k>>2]=(c[k>>2]|0)+1}c[q>>2]=c[m>>2]}else{c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;gp(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}while(1){s=c[o>>2]|0;c[n>>2]=s;if(!s)break a;c[o>>2]=c[(c[n>>2]|0)+8>>2];Kd(c[n>>2]|0)}}while(0);Kd(c[h>>2]|0)}}while(0);if(!(c[r>>2]|0)){q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}gp(c[q>>2]|0);c[q>>2]=0;q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}function wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=wp(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=wp(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);i=g;return c[f>>2]|0}function xp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;g=x+64|0;y=x+60|0;o=x+56|0;p=x+52|0;q=x+48|0;v=x+44|0;m=x+40|0;u=x+36|0;s=x+32|0;n=x+28|0;w=x+24|0;r=x+20|0;t=x+16|0;k=x+12|0;j=x+8|0;h=x+4|0;l=x;c[g>>2]=a;c[y>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[v>>2]=0;c[m>>2]=0;c[u>>2]=0;c[s>>2]=c[o>>2];c[n>>2]=c[y>>2];c[w>>2]=0;c[r>>2]=1;while(1){if(c[w>>2]|0){d=25;break}c[t>>2]=0;c[k>>2]=0;c[w>>2]=yp(c[g>>2]|0,c[n>>2]|0,c[s>>2]|0,t,k)|0;if((c[w>>2]|0)==0&(c[t>>2]|0)!=0){c[h>>2]=c[c[t>>2]>>2];if((c[h>>2]|0)==5)d=1;else d=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=d&1;if((c[j>>2]|0)==0&(c[r>>2]|0)!=0){d=7;break}if(!((c[j>>2]|0)==0|(c[r>>2]|0)!=0)){c[l>>2]=zp(48)|0;if(!(c[l>>2]|0)){d=10;break}c[c[l>>2]>>2]=3;Ap(v,c[m>>2]|0,c[l>>2]|0);c[m>>2]=c[l>>2]}if(c[m>>2]|0){if(!((c[h>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[m>>2]>>2]|0)!=5:0){d=17;break}if((c[h>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[m>>2]>>2]|0)==1:0){d=17;break}}do if(c[j>>2]|0){d=c[t>>2]|0;if(c[v>>2]|0){c[(c[m>>2]|0)+16>>2]=d;c[(c[t>>2]|0)+8>>2]=c[m>>2];break}else{c[v>>2]=d;break}}else Ap(v,c[m>>2]|0,c[t>>2]|0);while(0);c[r>>2]=((c[j>>2]|0)!=0^1)&1;c[m>>2]=c[t>>2]}c[s>>2]=(c[s>>2]|0)-(c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}if((d|0)==7){gp(c[t>>2]|0);c[w>>2]=1}else if((d|0)==10){gp(c[t>>2]|0);c[w>>2]=7}else if((d|0)==17){gp(c[t>>2]|0);c[w>>2]=1}else if((d|0)==25){if((c[w>>2]|0)==101&(c[v>>2]|0)!=0&(c[r>>2]|0)!=0)c[w>>2]=1;if((c[w>>2]|0)==101)c[w>>2]=0;c[c[q>>2]>>2]=(c[o>>2]|0)-(c[s>>2]|0)}if(!(c[w>>2]|0)){v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}gp(c[v>>2]|0);gp(c[u>>2]|0);c[v>>2]=0;v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}function yp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+80|0;p=E+72|0;q=E+68|0;r=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;o=E+32|0;B=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;l=E+12|0;j=E+76|0;k=E+8|0;C=E+4|0;z=E;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[o>>2]=0;c[B>>2]=c[r>>2];c[y>>2]=c[s>>2];c[(c[q>>2]|0)+24>>2]=0;while(1){if((c[y>>2]|0)>0)b=(Cp(a[c[B>>2]>>0]|0)|0)!=0;else b=0;f=c[y>>2]|0;if(!b)break;c[y>>2]=f+-1;c[B>>2]=(c[B>>2]|0)+1}if(!f){c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;c[n>>2]=2112+(c[x>>2]<<3);if(((d[(c[n>>2]|0)+5>>0]&-2|0)==0?(c[y>>2]|0)>=(d[(c[n>>2]|0)+4>>0]|0):0)?0==(eR(c[B>>2]|0,c[c[n>>2]>>2]|0,d[(c[n>>2]|0)+4>>0]|0)|0):0){c[m>>2]=10;c[l>>2]=d[(c[n>>2]|0)+4>>0];a:do if((((d[(c[n>>2]|0)+6>>0]|0)==1?(a[(c[B>>2]|0)+4>>0]|0)==47:0)?(a[(c[B>>2]|0)+5>>0]|0)>=48:0)?(a[(c[B>>2]|0)+5>>0]|0)<=57:0){c[m>>2]=0;c[l>>2]=5;while(1){if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)<48)break a;if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)>57)break a;c[m>>2]=((c[m>>2]|0)*10|0)+((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)-48);c[l>>2]=(c[l>>2]|0)+1}}while(0);a[j>>0]=a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0;if(Cp(a[j>>0]|0)|0){D=26;break}if((a[j>>0]|0)==34){D=26;break}if((a[j>>0]|0)==40){D=26;break}if((a[j>>0]|0)==41){D=26;break}if(!(a[j>>0]|0)){D=26;break}}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==26){c[o>>2]=zp(48)|0;if(c[o>>2]|0){c[c[o>>2]>>2]=d[(c[n>>2]|0)+6>>0];c[(c[o>>2]|0)+4>>2]=c[m>>2];c[c[t>>2]>>2]=c[o>>2];c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[l>>2]|0);c[p>>2]=0;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=7;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==34){c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break;if((a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0)==34)break;c[x>>2]=(c[x>>2]|0)+1}c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[x>>2]|0)+1;if((c[x>>2]|0)==(c[y>>2]|0)){c[p>>2]=1;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=Dp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[x>>2]|0)-1|0,c[t>>2]|0)|0;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==40){c[k>>2]=0;D=(c[q>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[A>>2]=xp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[y>>2]|0)-1|0,c[t>>2]|0,k)|0;if((c[A>>2]|0)==0?(c[c[t>>2]>>2]|0)==0:0)c[A>>2]=101;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1+(c[k>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}f=c[q>>2]|0;if((a[c[B>>2]>>0]|0)==41){D=f+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1;c[c[t>>2]>>2]=0;c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[v>>2]=c[f+20>>2];c[w>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[q>>2]|0)+16>>2]|0))break;c[C>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+(c[x>>2]<<2)>>2];c[z>>2]=kR(c[C>>2]|0)|0;if(((c[y>>2]|0)>(c[z>>2]|0)?(a[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)==58:0)?(zd(c[C>>2]|0,c[B>>2]|0,c[z>>2]|0)|0)==0:0){D=50;break}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==50){c[v>>2]=c[x>>2];c[w>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[z>>2]|0)+1}c[A>>2]=Ep(c[q>>2]|0,c[v>>2]|0,(c[r>>2]|0)+(c[w>>2]|0)|0,(c[s>>2]|0)-(c[w>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;D=c[u>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}function zp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}VR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function Ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=c[j>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){d=Bp(c[(c[g>>2]|0)+8>>2]|0)|0;d=(d|0)<=(Bp(c[f>>2]|0)|0)}else d=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!d)break;c[g>>2]=b}d=c[f>>2]|0;if(b){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=d;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}else{c[c[e>>2]>>2]=d;e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}}function Bp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Cp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)c=(a[c>>0]|0)==12;else c=1;i=d;return c&1|0}function Dp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;g=D+88|0;h=D+84|0;j=D+80|0;k=D+76|0;l=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;p=D+32|0;A=D+28|0;r=D+24|0;m=D+20|0;n=D+16|0;o=D+12|0;x=D+8|0;q=D+4|0;z=D;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[E>>2]=c[c[h>>2]>>2];c[w>>2]=c[c[E>>2]>>2];c[u>>2]=0;c[v>>2]=0;c[B>>2]=0;c[s>>2]=0;c[D+40>>2]=144;c[t>>2]=0;c[y>>2]=Cn(c[E>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,v)|0;a:do if(!(c[y>>2]|0)){c[p>>2]=0;while(1){if(c[y>>2]|0)break;c[r>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[y>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,r,m,n,o)|0;if(!(c[y>>2]|0)){c[u>>2]=Fp(c[u>>2]|0,144+((c[p>>2]|0)*24|0)|0)|0;if(!(c[u>>2]|0))break a;c[B>>2]=Fp(c[B>>2]|0,(c[s>>2]|0)+(c[r>>2]|0)|0)|0;if(!(c[B>>2]|0))break a;c[x>>2]=(c[u>>2]|0)+48+72+((c[p>>2]|0)*24|0);E=c[x>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;TR((c[B>>2]|0)+(c[s>>2]|0)|0,c[A>>2]|0,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[x>>2]|0)+4>>2]=c[r>>2];if((c[n>>2]|0)<(c[k>>2]|0))e=(a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0)==42;else e=0;c[(c[x>>2]|0)+8>>2]=e&1;if((c[m>>2]|0)>0)e=(a[(c[j>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==94;else e=0;c[(c[x>>2]|0)+12>>2]=e&1;c[t>>2]=(c[p>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;c[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[y>>2]|0)==101){c[z>>2]=0;c[u>>2]=Fp(c[u>>2]|0,144+((c[t>>2]|0)*24|0)+(c[s>>2]|0)|0)|0;if(!(c[u>>2]|0))break;VR(c[u>>2]|0,0,(c[u>>2]|0)+48+72-(c[u>>2]|0)|0)|0;c[c[u>>2]>>2]=5;c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+48;c[(c[(c[u>>2]|0)+20>>2]|0)+68>>2]=c[(c[h>>2]|0)+20>>2];c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]=c[t>>2];c[z>>2]=(c[(c[u>>2]|0)+20>>2]|0)+72+((c[t>>2]|0)*24|0);if(c[B>>2]|0){TR(c[z>>2]|0,c[B>>2]|0,c[s>>2]|0)|0;Kd(c[B>>2]|0)}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+(c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=0}c[c[l>>2]>>2]=c[u>>2];c[g>>2]=c[y>>2];E=c[g>>2]|0;i=D;return E|0}while(0);if(c[v>>2]|0)Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;Kd(c[B>>2]|0);Kd(c[u>>2]|0);c[c[l>>2]>>2]=0;c[g>>2]=7;E=c[g>>2]|0;i=D;return E|0}function Ep(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;p=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;q=B+8|0;r=B+4|0;t=B;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[y>>2]=c[c[j>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[x>>2]=0;c[p>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==40)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==41)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==34)break;c[p>>2]=(c[p>>2]|0)+1}c[c[o>>2]>>2]=c[p>>2];c[z>>2]=Cn(c[y>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0,c[p>>2]|0,v)|0;if(c[z>>2]|0){e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}c[u>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;c[z>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,u,s,q,r)|0;if(c[z>>2]|0){if((c[p>>2]|0)!=0&(c[z>>2]|0)==101)c[z>>2]=0}else{c[t>>2]=144+(c[u>>2]|0);c[x>>2]=zp(c[t>>2]|0)|0;a:do if(c[x>>2]|0){c[c[x>>2]>>2]=5;c[(c[x>>2]|0)+20>>2]=(c[x>>2]|0)+48;c[(c[(c[x>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[x>>2]|0)+20>>2]|0)+68>>2]=c[k>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72+4>>2]=c[u>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]=(c[(c[x>>2]|0)+20>>2]|0)+96;TR(c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]|0,c[A>>2]|0,c[u>>2]|0)|0;if((c[q>>2]|0)<(c[m>>2]|0)?(a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0)==42:0){c[(c[(c[x>>2]|0)+20>>2]|0)+72+8>>2]=1;c[q>>2]=(c[q>>2]|0)+1}while(1){if(!((c[s>>2]|0)>0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[l>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[x>>2]|0)+20>>2]|0)+72+12>>2]=1;c[s>>2]=(c[s>>2]|0)+-1}}else c[z>>2]=7;while(0);c[c[o>>2]>>2]=c[q>>2]}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}function Fp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Ld(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;i=f;return g|0}Kd(c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}function Gp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Hp(c[(c[d>>2]|0)+20>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[d>>2]|0);i=b;return}function Hp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}Kd(c[c[d>>2]>>2]|0);Vm(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;on(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}i=f;return}function Ip(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];kl(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;i=f;return}function Jp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((lf()|0)<3008002){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+48|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function Kp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((lf()|0)<3008012){i=d;return}a=(c[b>>2]|0)+56|0;c[a>>2]=c[a>>2]|1;i=d;return}function Lp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=i;i=i+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;q=ha+16|0;r=ha+8|0;p=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;k=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;n=ha+148|0;t=ha+144|0;l=ha+80|0;m=ha+76|0;o=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;c[v>>2]=b;c[w>>2]=d;c[ia>>2]=e;c[k>>2]=f;c[x>>2]=g;c[da>>2]=h;c[y>>2]=j;c[S>>2]=c[ia>>2];c[ea>>2]=0;c[ga>>2]=0;c[R>>2]=0;c[M>>2]=0;c[G>>2]=(a[(c[c[x>>2]>>2]|0)+3>>0]|0)==52&1;c[fa>>2]=0;c[O>>2]=0;c[A>>2]=0;c[D>>2]=0;c[C>>2]=0;c[ba>>2]=0;c[X>>2]=0;c[ca>>2]=0;c[Y>>2]=0;c[_>>2]=0;c[B>>2]=0;c[Q>>2]=0;c[N>>2]=(kR(c[(c[x>>2]|0)+4>>2]|0)|0)+1;c[P>>2]=(kR(c[(c[x>>2]|0)+8>>2]|0)|0)+1;c[L>>2]=(c[k>>2]|0)-2<<2;c[z>>2]=Id(c[L>>2]|0)|0;if(c[z>>2]|0){VR(c[z>>2]|0,0,c[L>>2]|0)|0;c[B>>2]=Id(c[L>>2]|0)|0}if(c[B>>2]|0)VR(c[B>>2]|0,0,c[L>>2]|0)|0;do if((c[z>>2]|0)!=0&(c[B>>2]|0)!=0){c[E>>2]=3;while(1){if(c[ga>>2]|0)break;if((c[E>>2]|0)>=(c[k>>2]|0))break;c[s>>2]=c[(c[x>>2]|0)+(c[E>>2]<<2)>>2];if((((c[fa>>2]|0)==0?(kR(c[s>>2]|0)|0)>>>0>8:0)?0==(zd(c[s>>2]|0,24006,8)|0):0)?0==(Mp(a[(c[s>>2]|0)+8>>0]|0)|0):0)c[ga>>2]=Np(c[S>>2]|0,(c[s>>2]|0)+9|0,fa,c[y>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if((c[G>>2]|0)!=0?(Op(c[s>>2]|0,n,t)|0)!=0:0){f=l;g=2144;d=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));if(!(c[t>>2]|0)){c[ga>>2]=7;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=8)break;c[o>>2]=l+(c[m>>2]<<3);if((c[n>>2]|0)==(c[(c[o>>2]|0)+4>>2]|0)?(zd(c[s>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+1}a:do if((c[m>>2]|0)==8){ia=c[y>>2]|0;c[p>>2]=c[s>>2];Fk(ia,24015,p);c[ga>>2]=1}else switch(c[m>>2]|0){case 0:{if(!((kR(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,20521,4)|0)==0:0)){ia=c[y>>2]|0;c[r>>2]=c[t>>2];Fk(ia,24042,r);c[ga>>2]=1}c[D>>2]=1;break a}case 1:{Kd(c[ba>>2]|0);c[ba>>2]=c[t>>2];c[t>>2]=0;break a}case 2:{Kd(c[X>>2]|0);c[X>>2]=c[t>>2];c[t>>2]=0;break a}case 3:{Kd(c[ca>>2]|0);c[ca>>2]=c[t>>2];c[t>>2]=0;break a}case 4:{if(!((kR(c[t>>2]|0)|0)==3?(zd(c[t>>2]|0,24069,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((kR(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,24073,4)|0)==0:0)break;ia=c[y>>2]|0;c[q>>2]=c[t>>2];Fk(ia,24078,q);c[ga>>2]=1}while(0);if((a[c[t>>2]>>0]|0)==100)f=1;else f=(a[c[t>>2]>>0]|0)==68;c[C>>2]=f&1;break a}case 5:{Kd(c[Y>>2]|0);c[Y>>2]=c[t>>2];c[t>>2]=0;break a}case 6:{Kd(c[_>>2]|0);c[_>>2]=c[t>>2];c[t>>2]=0;break a}case 7:{j=c[t>>2]|0;ia=c[Q>>2]|0;c[Q>>2]=ia+1;c[(c[B>>2]|0)+(ia<<2)>>2]=j;c[t>>2]=0;break a}default:break a}while(0);Kd(c[t>>2]|0);break}j=(kR(c[s>>2]|0)|0)+1|0;c[R>>2]=(c[R>>2]|0)+j;j=c[s>>2]|0;ia=c[M>>2]|0;c[M>>2]=ia+1;c[(c[z>>2]|0)+(ia<<2)>>2]=j}while(0);c[E>>2]=(c[E>>2]|0)+1}b:do if(((c[ga>>2]|0)==0&(c[Y>>2]|0)!=0?(Kd(c[X>>2]|0),Kd(c[ca>>2]|0),c[X>>2]=0,c[ca>>2]=0,(c[M>>2]|0)==0):0)?(Kd(c[z>>2]|0),c[z>>2]=0,c[ga>>2]=Pp(c[w>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[Y>>2]|0,z,M,R,c[y>>2]|0)|0,(c[ga>>2]|0)==0&(c[_>>2]|0)!=0):0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[M>>2]|0))break b;ia=(Td(c[_>>2]|0,c[(c[z>>2]|0)+(c[H>>2]<<2)>>2]|0)|0)==0;f=c[H>>2]|0;if(ia)break;c[H>>2]=f+1}c[I>>2]=f;while(1){if((c[I>>2]|0)>=(c[M>>2]|0))break;c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[z>>2]|0)+((c[I>>2]|0)+1<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+-1}while(0);if(!(c[ga>>2]|0)){if(!(c[M>>2]|0)){c[c[z>>2]>>2]=24101;c[R>>2]=8;c[M>>2]=1}if((c[fa>>2]|0)==0?(c[ga>>2]=Np(c[S>>2]|0,20447,fa,c[y>>2]|0)|0,(c[ga>>2]|0)!=0):0)break;c[ga>>2]=Qp(c[ba>>2]|0,O,A)|0;if((c[ga>>2]|0)==1){ia=c[y>>2]|0;c[T>>2]=c[ba>>2];Fk(ia,24109,T)}if(!(c[ga>>2]|0)){c[L>>2]=280+(c[M>>2]<<2)+((c[O>>2]|0)*24|0)+(c[M>>2]|0)+(c[P>>2]|0)+(c[N>>2]|0)+(c[R>>2]|0);c[ea>>2]=Id(c[L>>2]|0)|0;if(!(c[ea>>2]|0)){c[ga>>2]=7;break}VR(c[ea>>2]|0,0,c[L>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[w>>2];c[(c[ea>>2]|0)+24>>2]=c[M>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[fa>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=((c[G>>2]|0)!=0?(c[D>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[G>>2];a[(c[ea>>2]|0)+228>>0]=c[G>>2];a[(c[ea>>2]|0)+231>>0]=c[C>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[Y>>2];c[(c[ea>>2]|0)+44>>2]=c[_>>2];c[Y>>2]=0;c[_>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[M>>2]<<2);TR(c[(c[ea>>2]|0)+252>>2]|0,c[A>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[O>>2]|0))break;kk((c[(c[ea>>2]|0)+252>>2]|0)+((c[E>>2]|0)*24|0)+4|0,1,1);c[E>>2]=(c[E>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=(c[(c[ea>>2]|0)+252>>2]|0)+((c[O>>2]|0)*24|0);c[Z>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[M>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[Z>>2];TR(c[Z>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[P>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[P>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[Z>>2];TR(c[Z>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[N>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[N>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[J>>2]=0;c[W>>2]=Rp(c[(c[z>>2]|0)+(c[F>>2]<<2)>>2]|0,J)|0;TR(c[Z>>2]|0,c[W>>2]|0,c[J>>2]|0)|0;a[(c[Z>>2]|0)+(c[J>>2]|0)>>0]=0;Ok(c[Z>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]=c[Z>>2];c[Z>>2]=(c[Z>>2]|0)+((c[J>>2]|0)+1);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[K>>2]=kR(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;c[aa>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];if(((c[aa>>2]|0)!=0?(ia=c[K>>2]|0,(ia|0)==(kR(c[aa>>2]|0)|0)):0)?0==(zd(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0,c[aa>>2]|0,c[K>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[F>>2]|0)>>0]=1;Kd(c[aa>>2]|0);c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]=0}c[E>>2]=(c[E>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;if(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0){ia=c[y>>2]|0;c[U>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];Fk(ia,24144,U);c[ga>>2]=1}c[E>>2]=(c[E>>2]|0)+1}if((c[ga>>2]|0)==0?((c[X>>2]|0)==0|0)!=((c[ca>>2]|0)==0|0):0){c[$>>2]=(c[X>>2]|0)==0?24163:24172;c[ga>>2]=1;ia=c[y>>2]|0;c[V>>2]=c[$>>2];Fk(ia,24183,V)}ia=Sp(c[ea>>2]|0,c[ca>>2]|0,ga)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=Tp(c[ea>>2]|0,c[X>>2]|0,ga)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[ga>>2]|0)){if(c[v>>2]|0)c[ga>>2]=Up(c[ea>>2]|0)|0;if(!((c[G>>2]|0)!=0|(c[v>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;Vp(ga,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;Wp(ga,c[ea>>2]|0)}}}}else c[ga>>2]=7;while(0);Kd(c[ba>>2]|0);Kd(c[A>>2]|0);Kd(c[X>>2]|0);Kd(c[ca>>2]|0);Kd(c[Y>>2]|0);Kd(c[_>>2]|0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;Kd(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0);c[E>>2]=(c[E>>2]|0)+1}Kd(c[z>>2]|0);Kd(c[B>>2]|0);f=c[ea>>2]|0;if(!(c[ga>>2]|0)){c[c[da>>2]>>2]=f;ia=c[ga>>2]|0;i=ha;return ia|0}if(f){Sk(c[ea>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}if(!(c[fa>>2]|0)){ia=c[ga>>2]|0;i=ha;return ia|0}Tb[c[(c[c[fa>>2]>>2]|0)+8>>2]&255](c[fa>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}function Mp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128){b=1;b=b&1;i=d;return b|0}b=(a[24865+(a[c>>0]|0)>>0]|0)!=0;b=b&1;i=d;return b|0}function Np(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;t=y+16|0;s=y+8|0;z=y;g=y+76|0;h=y+72|0;A=y+68|0;j=y+64|0;k=y+60|0;r=y+56|0;u=y+52|0;p=y+48|0;v=y+44|0;w=y+40|0;o=y+36|0;l=y+32|0;n=y+28|0;q=y+24|0;m=y+20|0;c[h>>2]=b;c[A>>2]=d;c[j>>2]=e;c[k>>2]=f;c[u>>2]=c[A>>2];c[p>>2]=0;c[z>>2]=c[A>>2];c[v>>2]=Od(18391,z)|0;if(!(c[v>>2]|0)){c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}A=kR(c[v>>2]|0)|0;c[w>>2]=(c[v>>2]|0)+A;c[u>>2]=Rp(c[v>>2]|0,p)|0;if(!(c[u>>2]|0))c[u>>2]=c[v>>2];a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Ok(c[u>>2]|0);z=c[h>>2]|0;A=c[u>>2]|0;c[o>>2]=Ek(z,A,(kR(c[u>>2]|0)|0)+1|0)|0;if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1);while(1){if((c[u>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;A=Rp(c[u>>2]|0,p)|0;c[u>>2]=A;if(!A)break;c[q>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=Ld(c[l>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0)){x=11;break}c[l>>2]=c[m>>2];z=c[u>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[(c[l>>2]|0)+(A<<2)>>2]=z;a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Ok(c[u>>2]|0);c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1)}if((x|0)==11){Kd(c[v>>2]|0);Kd(c[l>>2]|0);c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}c[r>>2]=Ob[c[(c[o>>2]|0)+4>>2]&255](c[n>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;if(c[r>>2]|0)Fk(c[k>>2]|0,24847,t);else c[c[c[j>>2]>>2]>>2]=c[o>>2];Kd(c[l>>2]|0)}else{A=c[k>>2]|0;c[s>>2]=c[u>>2];Fk(A,20595,s);c[r>>2]=1}Kd(c[v>>2]|0);c[g>>2]=c[r>>2];A=c[g>>2]|0;i=y;return A|0}function Op(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;l=o+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=c[g>>2];while(1){d=c[l>>2]|0;if((a[c[l>>2]>>0]|0)==61)break;if(!(a[d>>0]|0)){n=4;break}c[l>>2]=(c[l>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=d-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)+1;c[m>>2]=Od(18391,k)|0;if(c[m>>2]|0)Ok(c[m>>2]|0);c[c[j>>2]>>2]=c[m>>2];c[f>>2]=1;n=c[f>>2]|0;i=o;return n|0}function Pp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+96|0;w=A+8|0;B=A;j=A+80|0;C=A+76|0;D=A+72|0;k=A+68|0;l=A+64|0;m=A+60|0;n=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;o=A+40|0;s=A+36|0;r=A+32|0;p=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;q=A+12|0;c[j>>2]=a;c[C>>2]=b;c[D>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[v>>2]=0;c[u>>2]=0;d=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=d;c[z>>2]=Od(24792,B)|0;if(c[z>>2]|0){c[v>>2]=cf(c[j>>2]|0,c[z>>2]|0,-1,u,0)|0;if(c[v>>2]|0){D=c[n>>2]|0;c[w>>2]=bf(c[j>>2]|0)|0;Fk(D,18391,w)}}else c[v>>2]=7;Kd(c[z>>2]|0);if(c[v>>2]|0){D=c[v>>2]|0;i=A;return D|0}c[s>>2]=0;c[r>>2]=xe(c[u>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[x>>2]=He(c[u>>2]|0,c[p>>2]|0)|0;D=(kR(c[x>>2]|0)|0)+1|0;c[s>>2]=(c[s>>2]|0)+D;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=Id((c[r>>2]<<2)+(c[s>>2]|0)|0)|0;a:do if(!(c[o>>2]|0))c[v>>2]=7;else{c[t>>2]=(c[o>>2]|0)+(c[r>>2]<<2);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;c[y>>2]=He(c[u>>2]|0,c[p>>2]|0)|0;c[q>>2]=(kR(c[y>>2]|0)|0)+1;TR(c[t>>2]|0,c[y>>2]|0,c[q>>2]|0)|0;c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);Xd(c[u>>2]|0)|0;c[c[l>>2]>>2]=c[r>>2];c[c[m>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[o>>2];D=c[v>>2]|0;i=A;return D|0}function Qp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;o=q+12|0;p=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=1;a:do if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=c[g>>2];while(1){if(!(a[c[o>>2]>>0]|0))break a;if((a[c[o>>2]>>0]|0)==44)c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[k>>2]=Id((c[m>>2]|0)*24|0)|0;c[c[j>>2]>>2]=c[k>>2];if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=q;return b|0}VR(c[k>>2]|0,0,(c[m>>2]|0)*24|0)|0;b:do if(c[g>>2]|0){c[p>>2]=c[g>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break b;c[n>>2]=0;if(Zp(p,n)|0)break;if(!(c[n>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-1}else c[(c[k>>2]|0)+((c[l>>2]|0)*24|0)>>2]=c[n>>2];c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=1;b=c[f>>2]|0;i=q;return b|0}while(0);c[c[h>>2]>>2]=c[m>>2];c[f>>2]=0;b=c[f>>2]|0;i=q;return b|0} -function SE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;l=oa+228|0;m=oa+224|0;n=oa+220|0;j=oa+216|0;ha=oa+212|0;V=oa+208|0;P=oa+204|0;la=oa+40|0;ia=oa+32|0;t=oa+24|0;fa=oa+200|0;I=oa+196|0;K=oa+192|0;L=oa+188|0;ba=oa+184|0;q=oa+180|0;s=oa+240|0;k=oa+16|0;z=oa+176|0;y=oa+172|0;Q=oa+168|0;ca=oa+164|0;M=oa+236|0;W=oa+160|0;O=oa+156|0;r=oa+234|0;A=oa+152|0;U=oa+148|0;u=oa+144|0;Y=oa+140|0;B=oa+136|0;S=oa+132|0;ga=oa+128|0;Z=oa+124|0;_=oa+120|0;E=oa+116|0;G=oa+112|0;na=oa+108|0;ma=oa+232|0;x=oa+104|0;o=oa+239|0;p=oa+238|0;N=oa+100|0;H=oa+96|0;ea=oa+92|0;T=oa+88|0;aa=oa+84|0;ja=oa+8|0;ka=oa;$=oa+80|0;J=oa+76|0;v=oa+72|0;D=oa+68|0;X=oa+64|0;R=oa+60|0;da=oa+56|0;w=oa+52|0;F=oa+48|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=c[c[m>>2]>>2];g=t;c[g>>2]=0;c[g+4>>2]=0;c[fa>>2]=0;c[I>>2]=0;c[K>>2]=0;c[ba>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[ba>>2]>>2];if(a[(c[q>>2]|0)+69>>0]|0){i=oa;return}c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[V>>2]=(c[j>>2]|0)+488;c[P>>2]=c[c[ha>>2]>>2];g=lE(c[V>>2]|0,c[(c[P>>2]|0)+12>>2]|0)|0;j=la;c[j>>2]=g;c[j+4>>2]=C;c[L>>2]=d[c[P>>2]>>0];do if((c[L>>2]|0)==33){if(lB(c[ba>>2]|0,c[P>>2]|0)|0){i=oa;return}h=c[V>>2]|0;f=(c[P>>2]|0)+20|0;if(c[(c[P>>2]|0)+4>>2]&2048){g=mE(h,c[f>>2]|0)|0;j=(c[ha>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}else{g=KD(h,c[f>>2]|0)|0;j=(c[ha>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}}else if((c[L>>2]|0)==34){j=(c[ha>>2]|0)+32|0;c[j>>2]=0;c[j+4>>2]=0;break}else{g=lE(c[V>>2]|0,c[(c[P>>2]|0)+16>>2]|0)|0;j=(c[ha>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}while(0);g=lE(c[V>>2]|0,c[P>>2]|0)|0;j=ia;c[j>>2]=g;c[j+4>>2]=C;if(c[(c[P>>2]|0)+4>>2]&1){h=OD(c[V>>2]|0,b[(c[P>>2]|0)+36>>1]|0)|0;f=k;c[f>>2]=h;c[f+4>>2]=C;f=k;h=ia;g=c[h+4>>2]|c[f+4>>2];j=ia;c[j>>2]=c[h>>2]|c[f>>2];c[j+4>>2]=g;j=k;j=QR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=t;c[k>>2]=j;c[k+4>>2]=C}j=ia;h=c[j+4>>2]|0;k=(c[ha>>2]|0)+40|0;c[k>>2]=c[j>>2];c[k+4>>2]=h;c[(c[ha>>2]|0)+20>>2]=-1;c[(c[ha>>2]|0)+16>>2]=-1;b[(c[ha>>2]|0)+12>>1]=0;k=(TE(c[L>>2]|0)|0)!=0;h=c[P>>2]|0;a:do if(k){c[Q>>2]=ky(c[h+12>>2]|0)|0;c[ca>>2]=ky(c[(c[P>>2]|0)+16>>2]|0)|0;U=(c[ha>>2]|0)+32|0;Y=la;b[M>>1]=((c[U>>2]&c[Y>>2]|0)==0?(c[U+4>>2]&c[Y+4>>2]|0)==0:0)?8191:2048;if((c[(c[ha>>2]|0)+24>>2]|0)>0)c[Q>>2]=c[(c[(c[(c[Q>>2]|0)+20>>2]|0)+4>>2]|0)+(((c[(c[ha>>2]|0)+24>>2]|0)-1|0)*20|0)>>2];Y=la;if(UE(c[l>>2]|0,c[L>>2]|0,c[Y>>2]|0,c[Y+4>>2]|0,c[Q>>2]|0,z,y)|0){c[(c[ha>>2]|0)+20>>2]=c[z>>2];c[(c[ha>>2]|0)+28>>2]=c[y>>2];Y=(VE(c[L>>2]|0)|0)&65535;b[(c[ha>>2]|0)+12>>1]=Y&e[M>>1]}if((c[L>>2]|0)==29){Y=(c[ha>>2]|0)+10|0;b[Y>>1]=e[Y>>1]|2048}if((c[ca>>2]|0)!=0?(Y=(c[ha>>2]|0)+32|0,(UE(c[l>>2]|0,c[L>>2]|0,c[Y>>2]|0,c[Y+4>>2]|0,c[ca>>2]|0,z,y)|0)!=0):0){b[r>>1]=0;if((c[(c[ha>>2]|0)+20>>2]|0)>=0){c[O>>2]=Iy(c[q>>2]|0,c[P>>2]|0,0)|0;if(a[(c[q>>2]|0)+69>>0]|0){iv(c[q>>2]|0,c[O>>2]|0);i=oa;return}c[A>>2]=WE(c[m>>2]|0,c[O>>2]|0,3)|0;if(!(c[A>>2]|0)){i=oa;return}c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[A>>2]|0)*48|0);XE(c[m>>2]|0,c[A>>2]|0,c[n>>2]|0);if((c[L>>2]|0)==29){ca=(c[W>>2]|0)+10|0;b[ca>>1]=e[ca>>1]|2048}c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);ca=(c[ha>>2]|0)+10|0;b[ca>>1]=e[ca>>1]|8;if(YE(c[ba>>2]|0,c[O>>2]|0)|0){ca=(c[ha>>2]|0)+12|0;b[ca>>1]=e[ca>>1]|2048;b[r>>1]=2048}}else{c[O>>2]=c[P>>2];c[W>>2]=c[ha>>2]}ZE(c[ba>>2]|0,c[O>>2]|0);c[(c[W>>2]|0)+20>>2]=c[z>>2];c[(c[W>>2]|0)+28>>2]=c[y>>2];U=la;Y=t;la=c[U+4>>2]|c[Y+4>>2];ca=(c[W>>2]|0)+32|0;c[ca>>2]=c[U>>2]|c[Y>>2];c[ca+4>>2]=la;ca=ia;ia=c[ca+4>>2]|0;la=(c[W>>2]|0)+40|0;c[la>>2]=c[ca>>2];c[la+4>>2]=ia;la=(VE(d[c[O>>2]>>0]|0)|0)&65535;b[(c[W>>2]|0)+12>>1]=la+(e[r>>1]|0)&e[M>>1]}}else{if((d[h>>0]|0)==32?(d[(c[m>>2]|0)+8>>0]|0)==28:0){c[U>>2]=c[(c[P>>2]|0)+20>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break a;ca=c[ba>>2]|0;ia=d[34832+(c[u>>2]|0)>>0]|0;la=Iy(c[q>>2]|0,c[(c[P>>2]|0)+12>>2]|0,0)|0;c[Y>>2]=Ev(ca,ia,la,Iy(c[q>>2]|0,c[(c[(c[U>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;_E(c[Y>>2]|0,c[P>>2]|0);c[B>>2]=WE(c[m>>2]|0,c[Y>>2]|0,3)|0;SE(c[l>>2]|0,c[m>>2]|0,c[B>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);XE(c[m>>2]|0,c[B>>2]|0,c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+1}}if((d[c[P>>2]>>0]|0)==27){$E(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0)}}while(0);if((d[(c[m>>2]|0)+8>>0]|0)==28?(aF(c[ba>>2]|0,c[P>>2]|0,fa,I,K)|0)!=0:0){b[ma>>1]=259;c[S>>2]=c[(c[(c[(c[P>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[ga>>2]=Iy(c[q>>2]|0,c[fa>>2]|0,0)|0;b:do if((c[K>>2]|0)!=0?(a[(c[c[ba>>2]>>2]|0)+69>>0]|0)==0:0){ma=(c[ha>>2]|0)+10|0;b[ma>>1]=e[ma>>1]|1024;c[x>>2]=0;while(1){ma=a[(c[(c[fa>>2]|0)+8>>2]|0)+(c[x>>2]|0)>>0]|0;a[o>>0]=ma;if(!(ma<<24>>24))break b;a[(c[(c[fa>>2]|0)+8>>2]|0)+(c[x>>2]|0)>>0]=a[o>>0]&~(d[18403+(d[o>>0]|0)>>0]&32);a[(c[(c[ga>>2]|0)+8>>2]|0)+(c[x>>2]|0)>>0]=a[17613+(d[o>>0]|0)>>0]|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(a[(c[q>>2]|0)+69>>0]|0)){ma=(Jf(c[(c[ga>>2]|0)+8>>2]|0)|0)-1|0;c[N>>2]=(c[(c[ga>>2]|0)+8>>2]|0)+ma;a[p>>0]=a[c[N>>2]>>0]|0;if(c[K>>2]|0){if((d[p>>0]|0)==64)c[I>>2]=0;a[p>>0]=a[17613+(d[p>>0]|0)>>0]|0}a[c[N>>2]>>0]=(d[p>>0]|0)+1}c[na>>2]=(c[K>>2]|0)!=0?20429:34834;c[Z>>2]=Iy(c[q>>2]|0,c[S>>2]|0,0)|0;la=c[ba>>2]|0;ma=Wy(c[ba>>2]|0,c[Z>>2]|0,c[na>>2]|0)|0;c[Z>>2]=Ev(la,41,ma,c[fa>>2]|0,0)|0;_E(c[Z>>2]|0,c[P>>2]|0);c[E>>2]=WE(c[m>>2]|0,c[Z>>2]|0,259)|0;SE(c[l>>2]|0,c[m>>2]|0,c[E>>2]|0);c[_>>2]=Iy(c[q>>2]|0,c[S>>2]|0,0)|0;ma=c[ba>>2]|0;na=Wy(c[ba>>2]|0,c[_>>2]|0,c[na>>2]|0)|0;c[_>>2]=Ev(ma,40,na,c[ga>>2]|0,0)|0;_E(c[_>>2]|0,c[P>>2]|0);c[G>>2]=WE(c[m>>2]|0,c[_>>2]|0,259)|0;SE(c[l>>2]|0,c[m>>2]|0,c[G>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);if(c[I>>2]|0){XE(c[m>>2]|0,c[E>>2]|0,c[n>>2]|0);XE(c[m>>2]|0,c[G>>2]|0,c[n>>2]|0)}}if(((d[(c[m>>2]|0)+8>>0]|0)==28?(bF(c[P>>2]|0,s)|0)!=0:0)?(c[ea>>2]=c[c[(c[(c[P>>2]|0)+20>>2]|0)+4>>2]>>2],c[T>>2]=c[(c[(c[(c[P>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ma=lE(c[V>>2]|0,c[ea>>2]|0)|0,na=ka,c[na>>2]=ma,c[na+4>>2]=C,na=lE(c[V>>2]|0,c[T>>2]|0)|0,ma=ja,c[ma>>2]=na,c[ma+4>>2]=C,ma=ka,na=ja,(c[ma>>2]&c[na>>2]|0)==0?(c[ma+4>>2]&c[na+4>>2]|0)==0:0):0){na=c[ba>>2]|0;c[$>>2]=Ev(na,30,0,Iy(c[q>>2]|0,c[ea>>2]|0,0)|0,0)|0;c[H>>2]=WE(c[m>>2]|0,c[$>>2]|0,3)|0;c[aa>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[H>>2]|0)*48|0);na=ka;ma=c[na+4>>2]|0;la=(c[aa>>2]|0)+32|0;c[la>>2]=c[na>>2];c[la+4>>2]=ma;c[(c[aa>>2]|0)+20>>2]=c[(c[T>>2]|0)+28>>2];c[(c[aa>>2]|0)+28>>2]=b[(c[T>>2]|0)+32>>1];b[(c[aa>>2]|0)+12>>1]=64;a[(c[aa>>2]|0)+15>>0]=a[s>>0]|0;XE(c[m>>2]|0,c[H>>2]|0,c[n>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);la=(c[ha>>2]|0)+10|0;b[la>>1]=e[la>>1]|8;la=(c[ha>>2]|0)+40|0;ma=c[la+4>>2]|0;na=(c[aa>>2]|0)+40|0;c[na>>2]=c[la>>2];c[na+4>>2]=ma}do if((d[(c[m>>2]|0)+8>>0]|0)==28){if((d[c[P>>2]>>0]|0)!=37?(d[c[P>>2]>>0]|0)!=29:0)break;if(XA(c[(c[P>>2]|0)+12>>2]|0)|0){if((c[(c[(c[P>>2]|0)+12>>2]|0)+4>>2]&2048|0)!=0?(c[(c[(c[P>>2]|0)+16>>2]|0)+4>>2]&2048|0)!=0:0)break;c[J>>2]=cz(c[(c[P>>2]|0)+12>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[J>>2]|0))break;c[R>>2]=cF(c[ba>>2]|0,c[(c[P>>2]|0)+12>>2]|0,c[v>>2]|0)|0;c[da>>2]=cF(c[ba>>2]|0,c[(c[P>>2]|0)+16>>2]|0,c[v>>2]|0)|0;c[X>>2]=Ev(c[ba>>2]|0,d[c[P>>2]>>0]|0,c[R>>2]|0,c[da>>2]|0,0)|0;_E(c[X>>2]|0,c[P>>2]|0);c[D>>2]=WE(c[m>>2]|0,c[X>>2]|0,1)|0;SE(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0);c[v>>2]=(c[v>>2]|0)+1}c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);b[(c[ha>>2]|0)+10>>1]=6;b[(c[ha>>2]|0)+12>>1]=0}}while(0);c:do if(((((d[(c[m>>2]|0)+8>>0]|0)==28?(d[c[P>>2]>>0]|0)==33:0)?(c[(c[ha>>2]|0)+24>>2]|0)==0:0)?(d[c[(c[P>>2]|0)+12>>2]>>0]|0)==158:0)?(c[(c[(c[P>>2]|0)+20>>2]|0)+48>>2]|0)==0:0){c[w>>2]=0;while(1){na=c[w>>2]|0;if((na|0)>=(cz(c[(c[P>>2]|0)+12>>2]|0)|0))break c;c[F>>2]=WE(c[m>>2]|0,c[P>>2]|0,2)|0;c[(c[(c[m>>2]|0)+20>>2]|0)+((c[F>>2]|0)*48|0)+24>>2]=(c[w>>2]|0)+1;SE(c[l>>2]|0,c[m>>2]|0,c[F>>2]|0);XE(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0);c[w>>2]=(c[w>>2]|0)+1}}while(0);la=t;na=(c[ha>>2]|0)+32|0;ka=na;ma=c[ka+4>>2]|c[la+4>>2];c[na>>2]=c[ka>>2]|c[la>>2];c[na+4>>2]=ma;i=oa;return}function TE(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=33?!((c[b>>2]|0)>=37&(c[b>>2]|0)<=41|(c[b>>2]|0)==34):0)b=(c[b>>2]|0)==29;else b=1;i=d;return b&1|0}function UE(a,f,g,h,j,k,l){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;r=v+40|0;m=v+36|0;w=v+32|0;n=v;o=v+28|0;s=v+24|0;t=v+20|0;q=v+16|0;p=v+12|0;u=v+8|0;c[m>>2]=a;c[w>>2]=f;a=n;c[a>>2]=g;c[a+4>>2]=h;c[o>>2]=j;c[s>>2]=k;c[t>>2]=l;if(((c[w>>2]|0)>=38?(d[c[o>>2]>>0]|0)==158:0)&(c[w>>2]|0)<=41)c[o>>2]=c[c[(c[(c[o>>2]|0)+20>>2]|0)+4>>2]>>2];if((d[c[o>>2]>>0]|0)==152){c[c[s>>2]>>2]=c[(c[o>>2]|0)+28>>2];c[c[t>>2]>>2]=b[(c[o>>2]|0)+32>>1];c[r>>2]=1;w=c[r>>2]|0;i=v;return w|0}w=n;if((c[w>>2]|0)==0&(c[w+4>>2]|0)==0){c[r>>2]=0;w=c[r>>2]|0;i=v;return w|0}w=n;l=c[w>>2]|0;w=c[w+4>>2]|0;k=n;k=QR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((l&k|0)!=0|(w&C|0)!=0){c[r>>2]=0;w=c[r>>2]|0;i=v;return w|0}c[p>>2]=0;while(1){w=n;k=c[w+4>>2]|0;g=c[p>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[w>>2]|0)>>>0>1))break;c[p>>2]=g+1;k=n;k=SR(c[k>>2]|0,c[k+4>>2]|0,1)|0;w=n;c[w>>2]=k;c[w+4>>2]=C}c[u>>2]=c[(c[m>>2]|0)+8+(g*72|0)+44>>2];c[q>>2]=c[(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[q>>2]|0)){g=22;break}b:do if(c[(c[q>>2]|0)+40>>2]|0){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[(c[q>>2]|0)+50>>1]|0))break b;if((b[(c[(c[q>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1]|0)==-2?(Ky(c[o>>2]|0,c[(c[(c[(c[q>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,c[u>>2]|0)|0)==0:0){g=19;break a}c[p>>2]=(c[p>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((g|0)==19){c[c[s>>2]>>2]=c[u>>2];c[c[t>>2]>>2]=-2;c[r>>2]=1;w=c[r>>2]|0;i=v;return w|0}else if((g|0)==22){c[r>>2]=0;w=c[r>>2]|0;i=v;return w|0}return 0}function VE(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=33){if((c[d>>2]|0)==34){b[e>>1]=256;break}if((c[d>>2]|0)==29){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-37;break}}else b[e>>1]=1;while(0);i=f;return b[e>>1]|0}function WE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p+24|0;g=p+20|0;h=p+16|0;j=p+28|0;m=p+12|0;o=p+8|0;l=p+4|0;k=p;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;do if((c[(c[g>>2]|0)+12>>2]|0)>=(c[(c[g>>2]|0)+16>>2]|0)){c[l>>2]=c[(c[g>>2]|0)+20>>2];c[k>>2]=c[c[c[c[g>>2]>>2]>>2]>>2];f=Vw(c[k>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[g>>2]|0)+20>>2]=f;if(c[(c[g>>2]|0)+20>>2]|0){TR(c[(c[g>>2]|0)+20>>2]|0,c[l>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)*48|0)|0;if((c[l>>2]|0)!=((c[g>>2]|0)+24|0))Tf(c[k>>2]|0,c[l>>2]|0);f=((ku(c[k>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[g>>2]|0)+16>>2]=f;break}if((e[j>>1]|0)&1)iv(c[k>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+20>>2]=c[l>>2];c[n>>2]=0;o=c[n>>2]|0;i=p;return o|0}while(0);a=(c[g>>2]|0)+12|0;f=c[a>>2]|0;c[a>>2]=f+1;c[o>>2]=f;c[m>>2]=(c[(c[g>>2]|0)+20>>2]|0)+(f*48|0);if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+4>>2]&262144|0)!=0:0){f=c[(c[h>>2]|0)+28>>2]|0;f=((Mj(f,((f|0)<0)<<31>>31)|0)<<16>>16)-270&65535;b[(c[m>>2]|0)+8>>1]=f}else b[(c[m>>2]|0)+8>>1]=1;h=ky(c[h>>2]|0)|0;c[c[m>>2]>>2]=h;b[(c[m>>2]|0)+10>>1]=b[j>>1]|0;c[(c[m>>2]|0)+4>>2]=c[g>>2];c[(c[m>>2]|0)+16>>2]=-1;g=(c[m>>2]|0)+12|0;h=g+36|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(h|0));c[n>>2]=c[o>>2];o=c[n>>2]|0;i=p;return o|0}function XE(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=d;c[k>>2]=e;c[h>>2]=f;c[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+16>>2]=c[h>>2];b[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+8>>1]=b[(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+8>>1]|0;d=(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+14|0;a[d>>0]=(a[d>>0]|0)+1<<24>>24;i=g;return}function YE(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;j=p+16|0;k=p+12|0;g=p+25|0;h=p+24|0;l=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;if(e[(c[c[j>>2]>>2]|0)+64>>1]&512){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if((d[c[k>>2]>>0]|0)!=37?(d[c[k>>2]>>0]|0)!=29:0){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if(c[(c[k>>2]|0)+4>>2]&1){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}a[g>>0]=ey(c[(c[k>>2]|0)+12>>2]|0)|0;a[h>>0]=ey(c[(c[k>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}while(0);c[l>>2]=sB(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if((c[l>>2]|0)!=0?(ig(c[c[l>>2]>>2]|0,34834)|0)!=0:0){c[l>>2]=fy(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[n>>2]=g;c[l>>2]=fy(c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[o>>2]=g;c[m>>2]=(Td(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;i=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;i=p;return o|0}function ZE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;h=m+8|0;j=m+4|0;k=m+14|0;n=m+12|0;l=m;c[h>>2]=f;c[j>>2]=g;b[k>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[k>>1]|0)==(e[n>>1]|0)){if(b[k>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(fy(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[l>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[l>>2];if((d[c[j>>2]>>0]|0)<38){i=m;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-38^2)+38;i=m;return}function _E(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){i=g;return}a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;i=g;return}function $E(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;D=V+136|0;S=V+132|0;L=V+128|0;E=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;n=V+16|0;p=V+108|0;r=V+104|0;q=V+100|0;o=V+96|0;j=V+8|0;k=V;u=V+92|0;l=V+88|0;s=V+84|0;m=V+80|0;v=V+76|0;J=V+72|0;F=V+68|0;G=V+64|0;I=V+60|0;z=V+56|0;A=V+52|0;K=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;H=V+32|0;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[T>>2]=c[c[x>>2]>>2];c[R>>2]=c[c[T>>2]>>2];c[D>>2]=c[c[R>>2]>>2];c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);c[L>>2]=c[c[S>>2]>>2];g=sh(c[D>>2]|0,416,0)|0;c[t>>2]=g;c[(c[S>>2]|0)+28>>2]=g;if(!(c[t>>2]|0)){i=V;return}g=(c[S>>2]|0)+10|0;b[g>>1]=e[g>>1]|16;c[Q>>2]=c[t>>2];VR((c[Q>>2]|0)+24|0,0,384)|0;BD(c[Q>>2]|0,c[T>>2]|0);CD(c[Q>>2]|0,c[L>>2]|0,27);FD(c[w>>2]|0,c[Q>>2]|0);if(a[(c[D>>2]|0)+69>>0]|0){i=V;return}g=n;c[g>>2]=-1;c[g+4>>2]=-1;g=B;c[g>>2]=-1;c[g+4>>2]=-1;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){g=n;if(!((c[E>>2]|0)>=0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;do if(!(e[(c[P>>2]|0)+12>>1]&511)){g=B;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=Vw(c[D>>2]|0,408,0)|0;if(c[p>>2]|0){g=j;c[g>>2]=0;c[g+4>>2]=0;c[(c[P>>2]|0)+28>>2]=c[p>>2];g=(c[P>>2]|0)+10|0;b[g>>1]=e[g>>1]|32;b[(c[P>>2]|0)+12>>1]=1024;c[r>>2]=c[p>>2];VR((c[r>>2]|0)+24|0,0,384)|0;BD(c[r>>2]|0,c[c[x>>2]>>2]|0);CD(c[r>>2]|0,c[c[P>>2]>>2]|0,28);FD(c[w>>2]|0,c[r>>2]|0);c[(c[r>>2]|0)+4>>2]=c[x>>2];a:do if(!(a[(c[D>>2]|0)+69>>0]|0)){c[o>>2]=0;c[q>>2]=c[(c[r>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+12>>2]|0))break a;if(!((TE(d[c[c[q>>2]>>2]>>0]|0)|0)==0?(e[(c[q>>2]|0)+12>>1]|0)!=64:0)){h=OD((c[T>>2]|0)+488|0,c[(c[q>>2]|0)+20>>2]|0)|0;W=j;f=c[W+4>>2]|C;g=j;c[g>>2]=c[W>>2]|h;c[g+4>>2]=f}c[o>>2]=(c[o>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}}while(0);f=j;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g}}else if(!(e[(c[P>>2]|0)+10>>1]&8)){g=OD((c[T>>2]|0)+488|0,c[(c[P>>2]|0)+20>>2]|0)|0;W=k;c[W>>2]=g;c[W+4>>2]=C;if(e[(c[P>>2]|0)+10>>1]&2){c[u>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[(c[P>>2]|0)+16>>2]|0)*48|0);f=OD((c[T>>2]|0)+488|0,c[(c[u>>2]|0)+20>>2]|0)|0;h=k;g=c[h+4>>2]|C;W=k;c[W>>2]=c[h>>2]|f;c[W+4>>2]=g}f=k;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;if(!(e[(c[P>>2]|0)+12>>1]&2)){W=B;c[W>>2]=0;c[W+4>>2]=0;break}else{f=k;h=B;g=c[h+4>>2]&c[f+4>>2];W=B;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;break}}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}f=n;g=c[f+4>>2]|0;W=(c[t>>2]|0)+408|0;c[W>>2]=c[f>>2];c[W+4>>2]=g;W=n;b[(c[S>>2]|0)+12>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=n;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[Q>>2]|0)+12>>2]|0)==2:0){c[l>>2]=0;c:while(1){g=c[(c[Q>>2]|0)+20>>2]|0;W=c[l>>2]|0;c[l>>2]=W+1;W=hF(g,W)|0;c[s>>2]=W;if(!W)break b;c[m>>2]=0;while(1){g=(c[(c[Q>>2]|0)+20>>2]|0)+48|0;W=c[m>>2]|0;c[m>>2]=W+1;W=hF(g,W)|0;c[v>>2]=W;if(!W)continue c;iF(c[w>>2]|0,c[x>>2]|0,c[s>>2]|0,c[v>>2]|0)}}}while(0);W=B;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){i=V;return}c[J>>2]=0;c[F>>2]=-1;c[G>>2]=-1;c[I>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=2)break;if(!((c[J>>2]|0)!=0^1))break;c[P>>2]=c[(c[Q>>2]|0)+20>>2];c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;while(1){if((c[E>>2]|0)<0)break;W=(c[P>>2]|0)+10|0;b[W>>1]=e[W>>1]&-65;if((c[(c[P>>2]|0)+20>>2]|0)!=(c[G>>2]|0)?(W=B,v=c[W>>2]|0,W=c[W+4>>2]|0,g=OD((c[T>>2]|0)+488|0,c[(c[P>>2]|0)+20>>2]|0)|0,!((v&g|0)==0&(W&C|0)==0)):0){U=37;break}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}if((U|0)==37){U=0;c[F>>2]=c[(c[P>>2]|0)+28>>2];c[G>>2]=c[(c[P>>2]|0)+20>>2]}if((c[E>>2]|0)<0)break;c[J>>2]=1;while(1){if(!((c[E>>2]|0)>=0?(c[J>>2]|0)!=0:0))break;j=c[P>>2]|0;do if((c[(c[P>>2]|0)+20>>2]|0)!=(c[G>>2]|0)){W=j+10|0;b[W>>1]=e[W>>1]&-65}else{if((c[j+28>>2]|0)!=(c[F>>2]|0)){c[J>>2]=0;break}c[A>>2]=(ey(c[(c[c[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[z>>2]=(ey(c[(c[c[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[A>>2]|0)!=0?(c[A>>2]|0)!=(c[z>>2]|0):0){c[J>>2]=0;break}W=(c[P>>2]|0)+10|0;b[W>>1]=e[W>>1]|64}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[I>>2]=(c[I>>2]|0)+1}if(!(c[J>>2]|0)){i=V;return}c[N>>2]=0;c[M>>2]=0;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){if((c[E>>2]|0)<0)break;if(e[(c[P>>2]|0)+10>>1]&64){c[K>>2]=Iy(c[D>>2]|0,c[(c[c[P>>2]>>2]|0)+16>>2]|0,0)|0;c[N>>2]=Tv(c[c[T>>2]>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;c[M>>2]=c[(c[c[P>>2]>>2]|0)+12>>2]}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[K>>2]=Iy(c[D>>2]|0,c[M>>2]|0,0)|0;c[O>>2]=Ev(c[R>>2]|0,33,c[K>>2]|0,0,0)|0;if(c[O>>2]|0){_E(c[O>>2]|0,c[L>>2]|0);c[(c[O>>2]|0)+20>>2]=c[N>>2];c[H>>2]=WE(c[x>>2]|0,c[O>>2]|0,3)|0;SE(c[w>>2]|0,c[x>>2]|0,c[H>>2]|0);c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);XE(c[x>>2]|0,c[H>>2]|0,c[y>>2]|0)}else ev(c[D>>2]|0,c[N>>2]|0);b[(c[S>>2]|0)+12>>1]=4096;i=V;return}function aF(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+96|0;r=F+80|0;s=F+76|0;k=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;m=F+48|0;n=F+44|0;p=F+40|0;v=F+36|0;q=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;o=F+16|0;l=F+12|0;y=F+8|0;D=F+4|0;B=F;c[s>>2]=e;c[k>>2]=f;c[t>>2]=g;c[u>>2]=h;c[G>>2]=j;c[E>>2]=0;c[w>>2]=c[c[s>>2]>>2];c[A>>2]=0;if(!(dF(c[w>>2]|0,c[k>>2]|0,c[G>>2]|0,q)|0)){c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}c[n>>2]=c[(c[k>>2]|0)+20>>2];c[m>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+20>>2];if(((d[c[m>>2]>>0]|0)==152?((ey(c[m>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[m>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[z>>2]=ky(c[c[(c[n>>2]|0)+4>>2]>>2]|0)|0;c[x>>2]=d[c[z>>2]>>0];if((c[x>>2]|0)!=135){if((c[x>>2]|0)==97)c[E>>2]=c[(c[z>>2]|0)+8>>2]}else{c[o>>2]=c[(c[s>>2]|0)+432>>2];c[l>>2]=b[(c[z>>2]|0)+32>>1];c[A>>2]=eF(c[o>>2]|0,c[l>>2]|0,65)|0;if((c[A>>2]|0)!=0?(ee(c[A>>2]|0)|0)==3:0)c[E>>2]=$d(c[A>>2]|0)|0;fF(c[(c[s>>2]|0)+8>>2]|0,c[l>>2]|0)}do if(c[E>>2]|0){c[v>>2]=0;while(1){G=a[(c[E>>2]|0)+(c[v>>2]|0)>>0]|0;c[p>>2]=G;if(((G|0)!=0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)k=(c[p>>2]|0)!=(a[q+2>>0]|0);else k=0;l=c[v>>2]|0;if(!k)break;c[v>>2]=l+1}if((l|0)!=0?255!=(d[(c[E>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))k=(a[(c[E>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else k=0;c[c[u>>2]>>2]=k&1;c[y>>2]=Wv(c[w>>2]|0,97,c[E>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[y>>2];if((c[x>>2]|0)!=135)break;c[D>>2]=c[(c[s>>2]|0)+8>>2];fF(c[D>>2]|0,b[(c[z>>2]|0)+32>>1]|0);if(!(c[c[u>>2]>>2]|0))break;if(!(a[(c[(c[z>>2]|0)+8>>2]|0)+1>>0]|0))break;c[B>>2]=vx(c[s>>2]|0)|0;SA(c[s>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;G=c[D>>2]|0;gF(G,(wx(c[D>>2]|0)|0)-1|0,0);xx(c[s>>2]|0,c[B>>2]|0);break}c[E>>2]=0}while(0);c[C>>2]=(c[E>>2]|0)!=0&1;ch(c[A>>2]|0);c[r>>2]=c[C>>2];G=c[r>>2]|0;i=F;return G|0}c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}function bF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m+20|0;h=m+16|0;l=m+12|0;g=m+8|0;f=m+4|0;j=m;c[h>>2]=b;c[l>>2]=e;if((d[c[h>>2]>>0]|0|0)!=151){c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}c[g>>2]=c[(c[h>>2]|0)+20>>2];if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)==2:0){c[f>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];if((d[c[f>>2]>>0]|0|0)==152?((d[(c[(c[f>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=4){f=14;break}e=(ig(c[(c[h>>2]|0)+8>>2]|0,c[5444+(c[j>>2]<<3)>>2]|0)|0)==0;b=c[j>>2]|0;if(e){f=12;break}c[j>>2]=b+1}if((f|0)==12){a[c[l>>2]>>0]=a[5444+(b<<3)+4>>0]|0;c[k>>2]=1;l=c[k>>2]|0;i=m;return l|0}else if((f|0)==14){c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}}c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}function cF(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if((d[c[h>>2]>>0]|0|0)==119){c[k>>2]=Ev(c[g>>2]|0,159,0,0,0)|0;if(!(c[k>>2]|0)){e=c[k>>2]|0;i=l;return e|0}b[(c[k>>2]|0)+32>>1]=c[j>>2];c[(c[k>>2]|0)+12>>2]=c[h>>2];e=c[k>>2]|0;i=l;return e|0}else{if((d[c[h>>2]>>0]|0|0)==158)c[h>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[k>>2]=Iy(c[c[g>>2]>>2]|0,c[h>>2]|0,0)|0;e=c[k>>2]|0;i=l;return e|0}return 0}function dF(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[l>>2]>>0]|0|0)==151?(c[(c[l>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)==2:0){c[o>>2]=ki(c[k>>2]|0,c[(c[l>>2]|0)+8>>2]|0,2,1,0)|0;if((c[o>>2]|0)!=0?((e[(c[o>>2]|0)+2>>1]|0)&4|0)!=0:0){g=c[n>>2]|0;f=c[(c[o>>2]|0)+4>>2]|0;a[g>>0]=a[f>>0]|0;a[g+1>>0]=a[f+1>>0]|0;a[g+2>>0]=a[f+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[j>>2]=1;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}function eF(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=f;if((c[h>>2]|0)!=0?(c[l>>2]=(c[(c[h>>2]|0)+116>>2]|0)+(((c[j>>2]|0)-1|0)*40|0),0==((e[(c[l>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Zh(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){jh(c[m>>2]|0,c[l>>2]|0)|0;Fx(c[m>>2]|0,a[k>>0]|0,1)}c[g>>2]=c[m>>2];b=c[g>>2]|0;i=n;return b|0}c[g>>2]=0;b=c[g>>2]|0;i=n;return b|0}function fF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+196>>2]=-1;i=f;return}else{a=(c[d>>2]|0)+196|0;c[a>>2]=c[a>>2]|1<<(c[e>>2]|0)-1;i=f;return}}function gF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(eA(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;i=e;return}function hF(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[f>>2]|0)+12>>1]|0|0)!=1024){c[d>>2]=(b|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;i=h;return g|0}if((b|0)<(c[(c[(c[f>>2]|0)+28>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+28>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function iF(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;m=s+28|0;n=s+24|0;j=s+20|0;k=s+16|0;o=s+32|0;l=s+12|0;r=s+8|0;q=s+4|0;p=s;c[m>>2]=d;c[n>>2]=f;c[j>>2]=g;c[k>>2]=h;b[o>>1]=e[(c[j>>2]|0)+12>>1]|0|(e[(c[k>>2]|0)+12>>1]|0);if(!((e[(c[j>>2]|0)+12>>1]|0)&62)){i=s;return}if(!((e[(c[k>>2]|0)+12>>1]|0)&62)){i=s;return}if(((e[o>>1]|0)&26|0)!=(e[o>>1]|0|0)?((e[o>>1]|0)&38|0)!=(e[o>>1]|0|0):0){i=s;return}if(Ky(c[(c[c[j>>2]>>2]|0)+12>>2]|0,c[(c[c[k>>2]>>2]|0)+12>>2]|0,-1)|0){i=s;return}if(Ky(c[(c[c[j>>2]>>2]|0)+16>>2]|0,c[(c[c[k>>2]>>2]|0)+16>>2]|0,-1)|0){i=s;return}do if((e[o>>1]|0)&(e[o>>1]|0)-1)if((e[o>>1]|0)&24){b[o>>1]=8;break}else{b[o>>1]=32;break}while(0);c[l>>2]=c[c[c[c[n>>2]>>2]>>2]>>2];c[r>>2]=Iy(c[l>>2]|0,c[c[j>>2]>>2]|0,0)|0;if(!(c[r>>2]|0)){i=s;return}c[q>>2]=37;while(1){j=c[q>>2]|0;if((e[o>>1]|0|0)==(2<<(c[q>>2]|0)-37|0))break;c[q>>2]=j+1}a[c[r>>2]>>0]=j;c[p>>2]=WE(c[n>>2]|0,c[r>>2]|0,3)|0;SE(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0);i=s;return}function jF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;k=h+36|0;l=h+32|0;j=h+28|0;g=h;c[k>>2]=b;c[l>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=200;c[g+24>>2]=c[l>>2];wy(g,c[k>>2]|0)|0;if(c[j>>2]|0){l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}l=g+20|0;a[l>>0]=(d[l>>0]|0)&-3;l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}function kF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<4)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[m>>2]=Gh(a,30161,k)|0;c[j>>2]=1555;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;tA(h,k,l,m,-1,2);i=n;return}else{c[l>>2]=d;c[m>>2]=Gh(a,35219,l)|0;c[j>>2]=2579;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;tA(h,k,l,m,-1,2);i=n;return}}function lF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){d=c[f>>2]|0;if(!(c[g>>2]|0)){if(Yx(d)|0)d=1;else d=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[l>>2]=d&1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=c[d+16>>2];while(1){d=c[f>>2]|0;if(!(c[j>>2]|0))break;if(jD(d,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){k=9;break}c[j>>2]=c[(c[j>>2]|0)+4>>2]}if((k|0)==9){c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=Yx(d)|0;while(1){if(!(c[j>>2]|0))break a;if(mD(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[j>>2]=c[(c[j>>2]|0)+12>>2]}c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}while(0);c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}function mF(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;i=e;return}function nF(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+64|0;q=K+48|0;r=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;c[q>>2]=e;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;b[x>>1]=l;a[y>>0]=m;a[z>>0]=n;a[A>>0]=o;c[s>>2]=p;c[I>>2]=c[(c[q>>2]|0)+8>>2];c[E>>2]=0;c[D>>2]=Wz(c[I>>2]|0)|0;a[G>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?33:30;if(!(d[A>>0]|0))Ih(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;g=(lF(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(g|(c[t>>2]|0)!=0){c[F>>2]=pF(c[q>>2]|0,c[t>>2]|0,0,0,3,c[r>>2]|0,d[z>>0]|0)|0;g=qF(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|g;c[E>>2]=(c[(c[q>>2]|0)+44>>2]|0)+1;g=(c[q>>2]|0)+44|0;c[g>>2]=(c[g>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));ix(c[I>>2]|0,84,c[w>>2]|0,c[E>>2]|0)|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[C>>2]|0)<=31?(c[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;NA(c[I>>2]|0,c[r>>2]|0,c[u>>2]|0,c[C>>2]|0,(c[E>>2]|0)+(c[C>>2]|0)+1|0)}c[C>>2]=(c[C>>2]|0)+1}c[B>>2]=wx(c[I>>2]|0)|0;aD(c[q>>2]|0,c[t>>2]|0,109,0,1,c[r>>2]|0,c[E>>2]|0,d[z>>0]|0,c[D>>2]|0);J=c[B>>2]|0;if((J|0)<(wx(c[I>>2]|0)|0))Ih(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;fD(c[q>>2]|0,c[r>>2]|0,c[E>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;rF(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;aD(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;_z(I,J);i=K;return}a[H>>0]=0;oF(c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[v>>2]|0,0,c[s>>2]|0);ix(c[I>>2]|0,117,c[u>>2]|0,(d[y>>0]|0)!=0?1:0)|0;Mh(c[I>>2]|0,-1,c[r>>2]|0,-20);if(d[A>>0]|0)Jh(c[I>>2]|0,4);if((c[s>>2]|0)>=0)Sz(c[I>>2]|0,117,c[s>>2]|0)|0;if((d[A>>0]|0)==2)a[H>>0]=d[H>>0]|2;Jh(c[I>>2]|0,a[H>>0]|0);e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;rF(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;aD(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;_z(I,J);i=K;return}function oF(a,e,f,g,h,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;l=y+48|0;k=y+44|0;m=y+40|0;n=y+36|0;o=y+32|0;p=y+28|0;q=y+24|0;v=y+20|0;r=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;c[l>>2]=a;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[v>>2]=-1;c[u>>2]=0;c[w>>2]=c[(c[l>>2]|0)+8>>2];if(!((d[(c[k>>2]|0)+42>>0]|0)&32))h=0;else h=Jj(c[k>>2]|0)|0;c[t>>2]=h;c[q>>2]=0;c[s>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;if(!((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(c[s>>2]|0)!=(c[t>>2]|0)):0)?((c[n>>2]|0)+(c[q>>2]|0)|0)!=(c[p>>2]|0):0){c[v>>2]=oA(c[l>>2]|0,c[s>>2]|0,c[m>>2]|0,0,1,r,c[u>>2]|0,c[v>>2]|0)|0;h=c[s>>2]|0;if((d[(c[s>>2]|0)+55>>0]|0)>>>3&1)h=b[h+50>>1]|0;else h=b[h+52>>1]|0;jx(c[w>>2]|0,127,(c[n>>2]|0)+(c[q>>2]|0)|0,c[v>>2]|0,h&65535)|0;pA(c[l>>2]|0,c[r>>2]|0);c[u>>2]=c[s>>2]}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=c[(c[s>>2]|0)+20>>2]}i=y;return}function pF(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+40|0;v=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;r=u+12|0;q=u+8|0;s=u+4|0;t=u;c[k>>2]=a;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[r>>2]=(c[l>>2]|0)!=0?110:109;c[q>>2]=0;c[s>>2]=c[v>>2];while(1){if(!(c[s>>2]|0))break;if((((d[(c[s>>2]|0)+8>>0]|0|0)==(c[r>>2]|0)?(c[n>>2]&(d[(c[s>>2]|0)+9>>0]|0)|0)!=0:0)?(vG(c[(c[s>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)?(c[t>>2]=uF(c[k>>2]|0,c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[t>>2]|0)!=0):0)c[q>>2]=c[q>>2]|c[(c[t>>2]|0)+16+(c[m>>2]<<2)>>2];c[s>>2]=c[(c[s>>2]|0)+32>>2]}i=u;return c[q>>2]|0}function qF(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){l=c[j>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;if((c[(c[k>>2]|0)+36+(c[h>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[h>>2]<<3)>>2];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[k>>2]=Yx(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=0;BC(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,l,0)|0;a:do if(c[l>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break a;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}l=c[j>>2]|0;i=m;return l|0}function rF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if(!(c[(c[c[h>>2]>>2]|0)+24>>2]&524288)){i=r;return}c[p>>2]=Yx(c[j>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!((c[m>>2]|0)!=0?(mD(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0))q=6;if((q|0)==6?(q=0,c[o>>2]=sF(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0,c[k>>2]|0)|0,(c[o>>2]|0)!=0):0)tF(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[l>>2]|0,2,0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}i=r;return}function sF(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;j=N+136|0;k=N+132|0;l=N+128|0;m=N+124|0;n=N+120|0;q=N+116|0;o=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;p=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;r=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[c[k>>2]>>2];c[s>>2]=(c[n>>2]|0)!=0&1;c[o>>2]=d[(c[m>>2]|0)+25+(c[s>>2]|0)>>0];if((c[o>>2]|0)==6?(c[(c[q>>2]|0)+24>>2]&33554432|0)!=0:0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[D>>2]=c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2];if(!((c[o>>2]|0)==0|(c[D>>2]|0)!=0)){c[x>>2]=0;c[p>>2]=0;c[C>>2]=0;c[F>>2]=0;c[y>>2]=0;c[B>>2]=0;c[E>>2]=0;if(BC(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,x,p)|0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[J>>2]=c[1369];c[J+4>>2]=c[1370];c[I>>2]=c[1371];c[I+4>>2]=c[1372];if(c[p>>2]|0)h=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0;else h=c[(c[m>>2]|0)+36>>2]|0;c[t>>2]=h;if(c[x>>2]|0)h=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else h=b[(c[l>>2]|0)+32>>1]|0;Xy(K,c[(c[(c[l>>2]|0)+4>>2]|0)+(h<<16>>16<<4)>>2]|0);Xy(H,c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0);e=c[k>>2]|0;g=c[k>>2]|0;f=jw(c[q>>2]|0,55,J,0)|0;f=Ev(g,122,f,jw(c[q>>2]|0,55,K,0)|0,0)|0;c[w>>2]=Ev(e,37,f,jw(c[q>>2]|0,55,H,0)|0,0)|0;c[F>>2]=wz(c[q>>2]|0,c[F>>2]|0,c[w>>2]|0)|0;if(c[n>>2]|0){h=c[k>>2]|0;e=c[k>>2]|0;g=jw(c[q>>2]|0,55,J,0)|0;g=Ev(e,122,g,jw(c[q>>2]|0,55,K,0)|0,0)|0;e=c[k>>2]|0;f=jw(c[q>>2]|0,55,I,0)|0;c[w>>2]=Ev(h,29,g,Ev(e,122,f,jw(c[q>>2]|0,55,K,0)|0,0)|0,0)|0;c[E>>2]=wz(c[q>>2]|0,c[E>>2]|0,c[w>>2]|0)|0}if((c[o>>2]|0)!=6?(c[o>>2]|0)!=9|(c[n>>2]|0)!=0:0){do if((c[o>>2]|0)!=9){if((c[o>>2]|0)!=8){c[z>>2]=jw(c[q>>2]|0,101,0,0)|0;break}c[v>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+4>>2];h=c[q>>2]|0;if(c[v>>2]|0){c[z>>2]=Iy(h,c[v>>2]|0,0)|0;break}else{c[z>>2]=jw(h,101,0,0)|0;break}}else{e=c[k>>2]|0;f=jw(c[q>>2]|0,55,I,0)|0;c[z>>2]=Ev(e,122,f,jw(c[q>>2]|0,55,K,0)|0,0)|0}while(0);c[y>>2]=Tv(c[k>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;Uv(c[k>>2]|0,c[y>>2]|0,H,0)}c[r>>2]=(c[r>>2]|0)+1}Tf(c[q>>2]|0,c[p>>2]|0);c[L>>2]=c[c[c[m>>2]>>2]>>2];c[u>>2]=Jf(c[L>>2]|0)|0;if((c[o>>2]|0)==6){c[G>>2]=c[L>>2];c[G+4>>2]=c[u>>2];c[A>>2]=Wv(c[q>>2]|0,83,35189)|0;if(c[A>>2]|0)a[(c[A>>2]|0)+1>>0]=2;I=c[k>>2]|0;J=Tv(c[k>>2]|0,0,c[A>>2]|0)|0;K=_v(c[q>>2]|0,0,G,0)|0;c[B>>2]=Sv(I,J,K,c[F>>2]|0,0,0,0,0,0,0)|0;c[F>>2]=0}K=(c[q>>2]|0)+256|0;c[K>>2]=(c[K>>2]|0)+1;c[D>>2]=sh(c[q>>2]|0,72+(c[u>>2]|0)+1|0,0)|0;if((c[D>>2]|0)!=0?(K=(c[D>>2]|0)+36|0,c[(c[D>>2]|0)+28>>2]=K,c[C>>2]=K,c[(c[C>>2]|0)+12>>2]=(c[C>>2]|0)+36,TR(c[(c[C>>2]|0)+12>>2]|0,c[L>>2]|0,c[u>>2]|0)|0,L=Iy(c[q>>2]|0,c[F>>2]|0,1)|0,c[(c[C>>2]|0)+16>>2]=L,L=Qy(c[q>>2]|0,c[y>>2]|0,1)|0,c[(c[C>>2]|0)+20>>2]=L,L=_x(c[q>>2]|0,c[B>>2]|0,1)|0,c[(c[C>>2]|0)+8>>2]=L,(c[E>>2]|0)!=0):0){c[E>>2]=Ev(c[k>>2]|0,19,c[E>>2]|0,0,0)|0;L=Iy(c[q>>2]|0,c[E>>2]|0,1)|0;c[(c[D>>2]|0)+12>>2]=L}L=(c[q>>2]|0)+256|0;c[L>>2]=(c[L>>2]|0)+-1;iv(c[q>>2]|0,c[F>>2]|0);iv(c[q>>2]|0,c[E>>2]|0);ev(c[q>>2]|0,c[y>>2]|0);fv(c[q>>2]|0,c[B>>2]|0);if((d[(c[q>>2]|0)+69>>0]|0|0)==1){uG(c[q>>2]|0,c[D>>2]|0);c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}switch(c[o>>2]|0){case 6:{a[c[C>>2]>>0]=119;break}case 9:{if(c[n>>2]|0)M=41;else a[c[C>>2]>>0]=109;break}default:M=41}if((M|0)==41)a[c[C>>2]>>0]=110;c[(c[C>>2]|0)+4>>2]=c[D>>2];c[(c[D>>2]|0)+20>>2]=c[(c[l>>2]|0)+64>>2];c[(c[D>>2]|0)+24>>2]=c[(c[l>>2]|0)+64>>2];c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2]=c[D>>2];a[(c[D>>2]|0)+8>>0]=(c[n>>2]|0)!=0?110:109}c[j>>2]=c[D>>2];M=c[j>>2]|0;i=N;return M|0}function tF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;j=p+32|0;h=p+28|0;r=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=g;c[o>>2]=dx(c[j>>2]|0)|0;c[n>>2]=uF(c[j>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[n>>2]|0)){i=p;return}if(c[c[h>>2]>>2]|0)h=0==(c[(c[c[j>>2]>>2]|0)+24>>2]&262144|0);else h=0;c[m>>2]=h&1;e=c[o>>2]|0;k=c[k>>2]|0;q=c[l>>2]|0;l=(c[j>>2]|0)+44|0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;mx(e,64,k,q,r,c[(c[n>>2]|0)+8>>2]|0,-18)|0;Jh(c[o>>2]|0,c[m>>2]&255);i=p;return}function uF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)e=c[e+124>>2]|0;c[l>>2]=e;c[k>>2]=c[(c[l>>2]|0)+468>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[j>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}c[k>>2]=vF(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}function vF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+96|0;w=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;s=x+64|0;n=x+60|0;p=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;q=x+12|0;r=x+8|0;o=x+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=c[j>>2]|0;if(c[(c[j>>2]|0)+124>>2]|0)g=c[g+124>>2]|0;c[s>>2]=g;c[n>>2]=c[c[j>>2]>>2];c[t>>2]=0;c[q>>2]=0;c[o>>2]=0;c[p>>2]=sh(c[n>>2]|0,24,0)|0;if(!(c[p>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[(c[p>>2]|0)+4>>2]=c[(c[s>>2]|0)+468>>2];c[(c[s>>2]|0)+468>>2]=c[p>>2];e=sh(c[n>>2]|0,24,0)|0;c[q>>2]=e;c[(c[p>>2]|0)+8>>2]=e;if(!(c[q>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}wF(c[(c[s>>2]|0)+8>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=c[k>>2];c[(c[p>>2]|0)+12>>2]=c[m>>2];c[(c[p>>2]|0)+16>>2]=-1;c[(c[p>>2]|0)+16+4>>2]=-1;c[r>>2]=sh(c[n>>2]|0,480,0)|0;if(!(c[r>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[u>>2]=c[r>>2];c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+128>>2]=c[l>>2];c[(c[r>>2]|0)+124>>2]=c[s>>2];c[(c[r>>2]|0)+448>>2]=c[c[k>>2]>>2];a[(c[r>>2]|0)+148>>0]=a[(c[k>>2]|0)+8>>0]|0;c[(c[r>>2]|0)+136>>2]=c[(c[j>>2]|0)+136>>2];c[v>>2]=dx(c[r>>2]|0)|0;if(c[v>>2]|0){e=c[v>>2]|0;l=c[n>>2]|0;c[w>>2]=c[c[k>>2]>>2];Mh(e,-1,Gh(l,34884,w)|0,-1);if(c[(c[k>>2]|0)+12>>2]|0){c[t>>2]=Iy(c[n>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(0==(Ay(u,c[t>>2]|0)|0)?(d[(c[n>>2]|0)+69>>0]|0|0)==0:0){c[o>>2]=Wz(c[v>>2]|0)|0;iB(c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,16)}iv(c[n>>2]|0,c[t>>2]|0)}xF(c[r>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[m>>2]|0)|0;if(c[o>>2]|0)_z(c[v>>2]|0,c[o>>2]|0);fx(c[v>>2]|0,75)|0;yF(c[j>>2]|0,c[r>>2]|0);if(!(d[(c[n>>2]|0)+69>>0]|0)){w=zF(c[v>>2]|0,(c[q>>2]|0)+4|0,(c[s>>2]|0)+108|0)|0;c[c[q>>2]>>2]=w}c[(c[q>>2]|0)+8>>2]=c[(c[r>>2]|0)+44>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+40>>2];c[(c[q>>2]|0)+16>>2]=c[k>>2];c[(c[p>>2]|0)+16>>2]=c[(c[r>>2]|0)+140>>2];c[(c[p>>2]|0)+16+4>>2]=c[(c[r>>2]|0)+144>>2];cv(c[v>>2]|0)}Ph(c[r>>2]|0);Tf(c[n>>2]|0,c[r>>2]|0);c[h>>2]=c[p>>2];w=c[h>>2]|0;i=x;return w|0}function wF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+20>>2]=c[(c[e>>2]|0)+200>>2];c[(c[e>>2]|0)+200>>2]=c[f>>2];i=d;return}function xF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;g=o+52|0;p=o+48|0;h=o+44|0;l=o+40|0;n=o+36|0;j=o+32|0;m=o+8|0;k=o;c[g>>2]=b;c[p>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[p>>2];while(1){if(!(c[l>>2]|0))break;if((c[h>>2]|0)==10)f=a[(c[l>>2]|0)+1>>0]|0;else f=c[h>>2]&255;a[(c[g>>2]|0)+149>>0]=f;switch(d[c[l>>2]>>0]|0|0){case 110:{b=c[g>>2]|0;e=tG(c[g>>2]|0,c[l>>2]|0)|0;p=Qy(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0;ew(b,e,p,Iy(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0,d[(c[g>>2]|0)+149>>0]|0);break}case 108:{b=c[g>>2]|0;e=tG(c[g>>2]|0,c[l>>2]|0)|0;p=_x(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;gw(b,e,p,Iz(c[j>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0,d[(c[g>>2]|0)+149>>0]|0);break}case 109:{p=c[g>>2]|0;cw(p,tG(c[g>>2]|0,c[l>>2]|0)|0,Iy(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0);break}default:{c[k>>2]=_x(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;vB(m,4,0);Pv(c[g>>2]|0,c[k>>2]|0,m)|0;fv(c[j>>2]|0,c[k>>2]|0)}}if((d[c[l>>2]>>0]|0|0)!=119)fx(c[n>>2]|0,118)|0;c[l>>2]=c[(c[l>>2]|0)+28>>2]}i=o;return 0}function yF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+36>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[b+4>>2];c[(c[d>>2]|0)+36>>2]=c[(c[e>>2]|0)+36>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];i=f;return}else{Tf(c[b>>2]|0,c[(c[e>>2]|0)+4>>2]|0);i=f;return}}function zF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+88>>2];AF(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+136>>2];c[(c[g>>2]|0)+88>>2]=0;i=f;return c[e>>2]|0}function AF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;l=p+16|0;m=p+12|0;n=p+8|0;j=p+4|0;k=p;c[g>>2]=e;c[h>>2]=f;c[l>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[g>>2]|0)+12>>2];c[j>>2]=c[(c[n>>2]|0)+76>>2];f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129|128;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257;c[m>>2]=(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0);while(1){if((d[c[m>>2]>>0]|0|0)<=71){switch(d[c[m>>2]>>0]|0|0){case 2:{if(c[(c[m>>2]|0)+8>>2]|0){o=(c[g>>2]|0)+144|0;b[o>>1]=b[o>>1]&-129;o=6}else o=6;break}case 0:case 1:{o=6;break}case 9:case 10:case 8:{f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256;break}case 12:{if((c[(c[m>>2]|0)+8>>2]|0)>(c[l>>2]|0))c[l>>2]=c[(c[m>>2]|0)+8>>2];break}case 11:{c[k>>2]=c[(c[m>>2]|0)+-20+4>>2];if((c[k>>2]|0)>(c[l>>2]|0))c[l>>2]=c[k>>2];break}case 3:case 5:case 7:{c[(c[m>>2]|0)+16>>2]=201;a[(c[m>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[m>>2]|0)+16>>2]=202;a[(c[m>>2]|0)+1>>0]=-19;break}default:{}}if((o|0)==6){o=0;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256}if(((d[34898+(d[c[m>>2]>>0]|0)>>0]|0)&1|0)!=0?(c[(c[m>>2]|0)+8>>2]|0)<0:0)c[(c[m>>2]|0)+8>>2]=c[(c[j>>2]|0)+(-1-(c[(c[m>>2]|0)+8>>2]|0)<<2)>>2]}if((c[m>>2]|0)==(c[(c[g>>2]|0)+88>>2]|0))break;c[m>>2]=(c[m>>2]|0)+-20}Tf(c[c[g>>2]>>2]|0,c[(c[n>>2]|0)+76>>2]|0);c[(c[n>>2]|0)+76>>2]=0;c[(c[n>>2]|0)+72>>2]=0;c[c[h>>2]>>2]=c[l>>2];i=p;return}function BF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=f;c[k>>2]=g;b[(c[j>>2]|0)+16+18>>1]=0;f=(c[j>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[k>>2]>>2]=0;f=c[j>>2]|0;if((d[(c[j>>2]|0)+66>>0]|0)!=1){c[h>>2]=rG(f,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}c[l>>2]=c[(c[j>>2]|0)+120+(a[f+68>>0]<<2)>>2];f=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[l>>2]|0)+18>>1]|0)){l=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;c[h>>2]=rG(c[j>>2]|0,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}if(a[(c[l>>2]|0)+4>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}else{c[h>>2]=sG(c[j>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}return 0}function CF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[j>>2]=f;c[k>>2]=g;c[c[k>>2]>>2]=0;g=(c[j>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[j>>2]|0)+16+18>>1]=0;if(((d[(c[j>>2]|0)+66>>0]|0)==1?(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(d[(c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;c[h>>2]=0;g=c[h>>2]|0;i=l;return g|0}c[h>>2]=DF(c[j>>2]|0,c[k>>2]|0)|0;g=c[h>>2]|0;i=l;return g|0}function DF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;h=p;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+66>>0]|0)!=1){if((d[(c[k>>2]|0)+66>>0]|0)>=3)f=EF(c[k>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}if(!(d[(c[k>>2]|0)+66>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}if((c[(c[k>>2]|0)+60>>2]|0)!=0?(a[(c[k>>2]|0)+66>>0]=1,g=(c[(c[k>>2]|0)+60>>2]|0)<0,c[(c[k>>2]|0)+60>>2]=0,g):0){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];do if(a[(c[m>>2]|0)+4>>0]|0){while(1){f=a[(c[k>>2]|0)+68>>0]|0;if(e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[k>>2]|0;if(!f){o=17;break}HF(g)}if((o|0)==17){a[g+66>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}o=(c[k>>2]|0)+80+(f<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];if((d[(c[m>>2]|0)+2>>0]|0)!=0?(a[(c[m>>2]|0)+4>>0]|0)==0:0){c[n>>2]=CF(c[k>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[h>>2]=e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1];o=c[k>>2]|0;c[n>>2]=FF(o,gr((c[(c[m>>2]|0)+56>>2]|0)+(e[(c[m>>2]|0)+20>>1]&(d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=GF(c[k>>2]|0)|0;break}c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}while(0);c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}function EF(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;i=j;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=LF(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(Kd(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],(c[(c[f>>2]|0)+60>>2]|0)!=0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;i=j;return h|0}function FF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=Qj(63009)|0;e=c[g>>2]|0;i=l;return e|0}else{b[(c[h>>2]|0)+16+18>>1]=0;e=(c[h>>2]|0)+64|0;a[e>>0]=d[e>>0]&-7;e=(c[h>>2]|0)+68|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=IF(c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;e=c[g>>2]|0;i=l;return e|0}return 0}function GF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;h=n;c[l>>2]=f;c[m>>2]=0;c[h>>2]=0;while(1){f=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=f;g=c[h>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[j>>2]=gr((c[(c[h>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0;b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=b[(c[h>>2]|0)+18>>1]|0;c[m>>2]=FF(c[l>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[k>>2]=c[m>>2];m=c[k>>2]|0;i=n;return m|0}else if((f|0)==5){b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function HF(e){e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;c[g>>2]=e;b[(c[g>>2]|0)+16+18>>1]=0;h=(c[g>>2]|0)+64|0;a[h>>0]=(d[h>>0]|0)&-7;h=(c[g>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;SB(c[(c[g>>2]|0)+120+(e<<24>>24<<2)>>2]|0);i=f;return}function IF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;q=s;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;g=c[m>>2]|0;a:do if(g>>>0<=(JF(c[l>>2]|0)|0)>>>0){c[r>>2]=vg(c[c[l>>2]>>2]|0,c[m>>2]|0,q,c[p>>2]|0)|0;if(!(c[r>>2]|0)){g=Ut(c[q>>2]|0)|0;c[c[n>>2]>>2]=g;if((d[c[c[n>>2]>>2]>>0]|0|0)==0?(KF(c[q>>2]|0,c[m>>2]|0,c[l>>2]|0)|0,c[r>>2]=Wt(c[c[n>>2]>>2]|0)|0,(c[r>>2]|0)!=0):0){QB(c[c[n>>2]>>2]|0);break}do if(c[o>>2]|0){if((e[(c[c[n>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[n>>2]>>2]|0)+2>>0]|0|0)==(d[(c[o>>2]|0)+69>>0]|0|0):0)break;c[r>>2]=Qj(60266)|0;QB(c[c[n>>2]>>2]|0);break a}while(0);c[k>>2]=0;r=c[k>>2]|0;i=s;return r|0}}else c[r>>2]=Qj(60244)|0;while(0);if(c[o>>2]|0){g=(c[o>>2]|0)+68|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}c[k>>2]=c[r>>2];r=c[k>>2]|0;i=s;return r|0}function JF(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function KF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=Ut(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[j>>2]|0)+84>>2]|0)){d=c[j>>2]|0;i=k;return d|0}d=wg(c[f>>2]|0)|0;c[(c[j>>2]|0)+56>>2]=d;c[(c[j>>2]|0)+72>>2]=c[f>>2];c[(c[j>>2]|0)+52>>2]=c[h>>2];c[(c[j>>2]|0)+84>>2]=c[g>>2];a[(c[j>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;d=c[j>>2]|0;i=k;return d|0}function LF(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+432|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s;n=s+24|0;o=s+20|0;r=s+16|0;q=s+12|0;p=s+8|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;if(c[l>>2]|0){c[q>>2]=MF(c[(c[k>>2]|0)+72>>2]|0,s+40|0,384,p)|0;if(!(c[q>>2]|0)){c[j>>2]=7;r=c[j>>2]|0;i=s;return r|0}NF(c[(c[k>>2]|0)+72>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);if(!(e[(c[q>>2]|0)+8>>1]|0)){Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=Qj(59021)|0;r=c[j>>2]|0;i=s;return r|0}}else c[q>>2]=0;h=m;c[r>>2]=OF(c[k>>2]|0,c[q>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=c[r>>2];r=c[j>>2]|0;i=s;return r|0}function MF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[k>>2]=d;c[q>>2]=f;c[l>>2]=g;c[n>>2]=8-(c[k>>2]&7)&7;c[m>>2]=16+(((e[(c[j>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[m>>2]|0)>((c[q>>2]|0)+(c[n>>2]|0)|0)){q=c[m>>2]|0;c[o>>2]=Ch(c[(c[j>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[l>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}}else{c[o>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[c[l>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[j>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[j>>2]|0)+6>>1]|0)+1;c[h>>2]=c[o>>2];q=c[h>>2]|0;i=p;return q|0}function NF(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+36|0;l=u+32|0;v=u+28|0;s=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;t=u+40|0;r=u+8|0;p=u+4|0;q=u;c[k>>2]=f;c[l>>2]=g;c[v>>2]=h;c[s>>2]=j;c[m>>2]=c[v>>2];c[p>>2]=c[(c[s>>2]|0)+4>>2];a[(c[s>>2]|0)+10>>0]=0;g=c[m>>2]|0;if((d[c[m>>2]>>0]|0|0)<128){c[r>>2]=d[g>>0];g=1}else g=(bG(g,r)|0)&255;c[o>>2]=g&255;c[n>>2]=c[r>>2];b[t>>1]=0;while(1){if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){g=11;break}if((c[n>>2]|0)>(c[l>>2]|0)){g=11;break}g=(c[m>>2]|0)+(c[o>>2]|0)|0;if((d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0|0)<128){c[q>>2]=d[g>>0];g=1}else g=(bG(g,q)|0)&255;c[o>>2]=(c[o>>2]|0)+(g&255);a[(c[p>>2]|0)+10>>0]=a[(c[k>>2]|0)+4>>0]|0;c[(c[p>>2]|0)+32>>2]=c[(c[k>>2]|0)+12>>2];c[(c[p>>2]|0)+24>>2]=0;c[(c[p>>2]|0)+16>>2]=0;v=dG((c[m>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+v;c[p>>2]=(c[p>>2]|0)+40;v=(b[t>>1]|0)+1<<16>>16;b[t>>1]=v;if((v&65535|0)>=(e[(c[s>>2]|0)+8>>1]|0|0)){g=11;break}}if((g|0)==11){b[(c[s>>2]|0)+8>>1]=b[t>>1]|0;i=u;return}}function OF(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+96|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+8|0;q=F+68|0;r=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;if(((c[o>>2]|0)==0?(d[(c[n>>2]|0)+66>>0]|0)==1:0)?(d[(c[n>>2]|0)+64>>0]&2|0)!=0:0){g=(c[n>>2]|0)+16|0;l=p;if((c[g>>2]|0)==(c[l>>2]|0)?(c[g+4>>2]|0)==(c[l+4>>2]|0):0){c[c[r>>2]>>2]=0;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}if((d[(c[n>>2]|0)+64>>0]&8|0)!=0?(g=(c[n>>2]|0)+16|0,k=c[g+4>>2]|0,l=p,f=c[l+4>>2]|0,(k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)):0){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}}if(c[o>>2]|0){c[E>>2]=PF(c[o>>2]|0)|0;a[(c[o>>2]|0)+11>>0]=0}else c[E>>2]=0;c[C>>2]=QF(c[n>>2]|0)|0;if(c[C>>2]|0){c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}if(!(d[(c[n>>2]|0)+66>>0]|0)){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}a:do{c[B>>2]=c[(c[n>>2]|0)+120+(a[(c[n>>2]|0)+68>>0]<<2)>>2];c[v>>2]=0;c[D>>2]=(e[(c[B>>2]|0)+18>>1]|0)-1;c[u>>2]=c[D>>2]>>1-(c[q>>2]|0);b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];b:do if(!(c[E>>2]|0)){while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c:do if(a[(c[B>>2]|0)+3>>0]|0)while(1){l=c[y>>2]|0;c[y>>2]=l+1;if(128>(d[l>>0]|0))break c;if((c[y>>2]|0)>>>0>=(c[(c[B>>2]|0)+60>>2]|0)>>>0){j=20;break a}}while(0);cu(c[y>>2]|0,x)|0;g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if((k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[D>>2]|0)){j=23;break}}else{g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if(!((k|0)>(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0:0))){j=27;break}c[D>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[D>>2]|0)){j=26;break}}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}if((j|0)==23){c[s>>2]=-1;j=51;break}else if((j|0)==26){c[s>>2]=1;j=51;break}else if((j|0)==27){j=0;f=(c[n>>2]|0)+64|0;a[f>>0]=d[f>>0]|2;f=x;g=c[f+4>>2]|0;l=(c[n>>2]|0)+16|0;c[l>>2]=c[f>>2];c[l+4>>2]=g;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+4>>0]|0){j=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c[w>>2]=d[c[y>>2]>>0];do if((c[w>>2]|0)<=(d[(c[B>>2]|0)+7>>0]|0))c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+1|0,c[o>>2]|0)|0;else{if((d[(c[y>>2]|0)+1>>0]&128|0)==0?(l=((c[w>>2]&127)<<7)+(d[(c[y>>2]|0)+1>>0]|0)|0,c[w>>2]=l,(l|0)<=(e[(c[B>>2]|0)+10>>1]|0)):0){c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+2|0,c[o>>2]|0)|0;break}c[z>>2]=(c[y>>2]|0)+(0-(d[(c[B>>2]|0)+6>>0]|0));Ub[c[(c[B>>2]|0)+80>>2]&255](c[B>>2]|0,c[z>>2]|0,(c[n>>2]|0)+16|0);c[w>>2]=c[(c[n>>2]|0)+16>>2];if((c[w>>2]|0)<2){j=37;break a}l=(c[w>>2]|0)+18|0;c[A>>2]=$f(l,((l|0)<0)<<31>>31)|0;if(!(c[A>>2]|0)){j=39;break a}b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[C>>2]=RF(c[n>>2]|0,0,c[w>>2]|0,c[A>>2]|0,2)|0;if(c[C>>2]|0){j=41;break a}c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;Kd(c[A>>2]|0)}while(0);if((c[s>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[s>>2]|0)<=0){j=47;break a}c[D>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[D>>2]|0)){j=51;break b}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}while(0);if((j|0)==51?(j=0,(a[(c[B>>2]|0)+4>>0]|0)!=0):0){j=52;break}h=c[B>>2]|0;if((c[v>>2]|0)>=(e[(c[B>>2]|0)+18>>1]|0))c[t>>2]=gr((c[(c[B>>2]|0)+56>>2]|0)+((d[h+5>>0]|0)+8)|0)|0;else c[t>>2]=gr((c[h+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[v>>2];c[C>>2]=FF(c[n>>2]|0,c[t>>2]|0)|0}while((c[C>>2]|0)==0);if((j|0)==20){c[m>>2]=Qj(63387)|0;E=c[m>>2]|0;i=F;return E|0}else if((j|0)==29){c[c[r>>2]>>2]=0;c[C>>2]=0}else if((j|0)==37)c[C>>2]=Qj(63460)|0;else if((j|0)==39)c[C>>2]=7;else if((j|0)==41)Kd(c[A>>2]|0);else if((j|0)==47){c[c[r>>2]>>2]=0;c[C>>2]=0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[o>>2]|0)+11>>0]|0)c[C>>2]=11}else if((j|0)==52){b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[c[r>>2]>>2]=c[s>>2];c[C>>2]=0}b[(c[n>>2]|0)+16+18>>1]=0;E=(c[n>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}function PF(b){b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=b;if(((e[(c[c[f>>2]>>2]|0)+6>>1]|0)+(e[(c[c[f>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[f>>2]|0)+4>>2]|0)+8>>1];b=(c[f>>2]|0)+12|0;if(a[c[(c[c[f>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;a[(c[f>>2]|0)+13>>0]=-1}else{a[b>>0]=-1;a[(c[f>>2]|0)+13>>0]=1}if(c[g>>2]&4){c[d>>2]=160;g=c[d>>2]|0;i=h;return g|0}if((c[g>>2]&25|0)==0?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=161;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=162;g=c[d>>2]|0;i=h;return g|0}function QF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=f;c[k>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){PB(f);break}c[g>>2]=c[f+60>>2];l=c[g>>2]|0;i=m;return l|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+68|0;f=a[n>>0]|0;a[n>>0]=f+-1<<24>>24;SB(c[(c[h>>2]|0)+120+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=m;return n|0}c[k>>2]=IF(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[k>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}while(0);c[j>>2]=c[(c[h>>2]|0)+120>>2];if((d[c[j>>2]>>0]|0)!=0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[j>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;n=(c[h>>2]|0)+64|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[j>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[j>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[j>>2]|0)+84>>2]|0)==1){c[l>>2]=gr((c[(c[j>>2]|0)+56>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[k>>2]=FF(c[h>>2]|0,c[l>>2]|0)|0;break}c[g>>2]=Qj(63147)|0;n=c[g>>2]|0;i=m;return n|0}while(0);c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}c[g>>2]=Qj(63136)|0;n=c[g>>2]|0;i=m;return n|0}function RF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+80|0;k=C+68|0;l=C+64|0;m=C+60|0;n=C+56|0;o=C+52|0;p=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;q=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;r=C+4|0;z=C;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[B>>2]=0;c[u>>2]=0;c[A>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];SF(c[l>>2]|0);c[t>>2]=c[(c[l>>2]|0)+16+8>>2];if(((c[t>>2]|0)-(c[(c[A>>2]|0)+56>>2]|0)|0)>>>0>((c[(c[y>>2]|0)+36>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)|0)>>>0){c[k>>2]=Qj(62723)|0;B=c[k>>2]|0;i=C;return B|0}if((c[m>>2]|0)>>>0<(e[(c[l>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[n>>2];if(((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0>(e[(c[l>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[l>>2]|0)+16+16>>1]|0)-(c[m>>2]|0);c[B>>2]=TF((c[t>>2]|0)+(c[m>>2]|0)|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]&1,c[(c[A>>2]|0)+72>>2]|0)|0;c[m>>2]=0;c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}else c[m>>2]=(c[m>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0);a:do if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[x>>2]=(c[(c[y>>2]|0)+36>>2]|0)-4;c[w>>2]=gr((c[t>>2]|0)+(e[(c[l>>2]|0)+16+16>>1]|0)|0)|0;if((c[p>>2]|0)!=2?(d[(c[l>>2]|0)+64>>0]&4|0)==0:0){c[v>>2]=(((c[(c[l>>2]|0)+16+12>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)+(c[x>>2]|0)-1|0)>>>0)/((c[x>>2]|0)>>>0)|0;do if((c[v>>2]|0)>(c[(c[l>>2]|0)+56>>2]|0)){c[s>>2]=cg(c[(c[l>>2]|0)+12>>2]|0,c[v>>2]<<1<<2,0)|0;if(!(c[s>>2]|0)){c[B>>2]=7;break}else{c[(c[l>>2]|0)+56>>2]=c[v>>2]<<1;c[(c[l>>2]|0)+12>>2]=c[s>>2];break}}while(0);if(!(c[B>>2]|0)){VR(c[(c[l>>2]|0)+12>>2]|0,0,c[v>>2]<<2|0)|0;A=(c[l>>2]|0)+64|0;a[A>>0]=d[A>>0]|4}}if((d[(c[l>>2]|0)+64>>0]&4|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+((((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[u>>2]=((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0;c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2];c[m>>2]=((c[m>>2]|0)>>>0)%((c[x>>2]|0)>>>0)|0}while(1){if(!((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0&(c[w>>2]|0)!=0))break a;if(d[(c[l>>2]|0)+64>>0]&4)c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]=c[w>>2];if((c[m>>2]|0)>>>0>=(c[x>>2]|0)>>>0){if(c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0)c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2];else c[B>>2]=UF(c[y>>2]|0,c[w>>2]|0,0,w)|0;c[m>>2]=(c[m>>2]|0)-(c[x>>2]|0)}else{c[r>>2]=c[n>>2];if(((c[r>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0)c[r>>2]=(c[x>>2]|0)-(c[m>>2]|0);c[B>>2]=vg(c[c[y>>2]>>2]|0,c[w>>2]|0,z,(c[p>>2]&1|0)==0?2:0)|0;if(!(c[B>>2]|0)){c[t>>2]=wg(c[z>>2]|0)|0;c[w>>2]=gr(c[t>>2]|0)|0;c[B>>2]=TF((c[t>>2]|0)+((c[m>>2]|0)+4)|0,c[o>>2]|0,c[r>>2]|0,c[p>>2]&1,c[z>>2]|0)|0;yg(c[z>>2]|0);c[m>>2]=0}c[n>>2]=(c[n>>2]|0)-(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[u>>2]=(c[u>>2]|0)+1}}while(0);if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[k>>2]=Qj(62880)|0;B=c[k>>2]|0;i=C;return B|0}else{c[k>>2]=c[B>>2];B=c[k>>2]|0;i=C;return B|0}return 0}function SF(b){b=b|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){i=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;YF(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);i=h;return}function TF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[o>>2]=e;c[l>>2]=f;do if(c[o>>2]|0){c[m>>2]=Gg(c[l>>2]|0)|0;if(!(c[m>>2]|0)){TR(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=n;return o|0}else TR(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;while(0);c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}function UF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;q=s+24|0;k=s+20|0;n=s+16|0;o=s+12|0;r=s+8|0;p=s+4|0;m=s;l=s+36|0;c[h>>2]=b;c[j>>2]=e;c[q>>2]=f;c[k>>2]=g;c[n>>2]=0;c[o>>2]=0;c[r>>2]=0;if(a[(c[h>>2]|0)+17>>0]|0){c[m>>2]=(c[j>>2]|0)+1;while(1){f=VF(c[h>>2]|0,c[m>>2]|0)|0;if((f|0)==(c[m>>2]|0))b=1;else b=(c[m>>2]|0)==((((c[384]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}if(((e>>>0<=(JF(c[h>>2]|0)|0)>>>0?(c[r>>2]=WF(c[h>>2]|0,c[m>>2]|0,l,p)|0,(c[r>>2]|0)==0):0)?(d[l>>0]|0)==4:0)?(c[p>>2]|0)==(c[j>>2]|0):0){c[n>>2]=c[m>>2];c[r>>2]=101}}if((c[r>>2]|0)==0?(c[r>>2]=XF(c[h>>2]|0,c[j>>2]|0,o,(c[q>>2]|0)==0?2:0)|0,(c[r>>2]|0)==0):0)c[n>>2]=gr(c[(c[o>>2]|0)+56>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];e=c[o>>2]|0;if(c[q>>2]|0){c[c[q>>2]>>2]=e;q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}else{QB(e);q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}return 0}function VF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[h>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[g>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[j>>2]=(_(c[g>>2]|0,c[h>>2]|0)|0)+2;if((c[j>>2]|0)==((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[j>>2]=(c[j>>2]|0)+1;c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}function WF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;h=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;o=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[s>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=VF(c[s>>2]|0,c[j>>2]|0)|0;c[q>>2]=vg(c[c[s>>2]>>2]|0,c[m>>2]|0,o,0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=r;return s|0}c[p>>2]=wg(c[o>>2]|0)|0;c[n>>2]=((c[j>>2]|0)-(c[m>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){yg(c[o>>2]|0);c[h>>2]=Qj(59240)|0;s=c[h>>2]|0;i=r;return s|0}a[c[k>>2]>>0]=a[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[l>>2]|0){s=gr((c[p>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[l>>2]>>2]=s}yg(c[o>>2]|0);if((d[c[k>>2]>>0]|0|0)>=1?(d[c[k>>2]>>0]|0|0)<=5:0){c[h>>2]=0;s=c[h>>2]|0;i=r;return s|0}c[h>>2]=Qj(59248)|0;s=c[h>>2]|0;i=r;return s|0}function XF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;n=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=e;c[l>>2]=vg(c[c[g>>2]>>2]|0,c[h>>2]|0,k,c[n>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}else{n=KF(c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[c[j>>2]>>2]=n;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}return 0}function YF(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function ZF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;h=s+36|0;t=s+32|0;r=s+28|0;m=s+24|0;l=s+16|0;k=s+8|0;j=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];do switch(c[t>>2]|0){case 1:{m=a[c[h>>2]>>0]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[m>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];m=c[m>>2]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=RR(d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0]|0,0,aS(0,1,m|0,((m|0)<0)<<31>>31|0)|0,C|0)|0;c[t+4>>2]=C;break}case 6:{t=l;c[t>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[t+4>>2]=0;t=c[l>>2]|0;m=l;c[m>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[m+4>>2]=t;m=c[l+4>>2]|0;t=j;c[t>>2]=c[l>>2];c[t+4>>2]=m;break}case 8:{t=j;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=j;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=$F(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}default:{c[n>>2]=$F(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}}while(0);t=c[(c[q>>2]|0)+4>>2]|0;g=c[t+4>>2]|0;m=k;c[m>>2]=c[t>>2];c[m+4>>2]=g;m=k;g=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;do if(!((g|0)>(l|0)|((g|0)==(l|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=k;k=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;h=c[q>>2]|0;if((k|0)<(l|0)|((k|0)==(l|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[h+13>>0];break}if((e[h+8>>1]|0)>1){c[r>>2]=aG(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;i=s;return t|0}function _F(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s+36|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;h=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[k>>2];b=(c[m>>2]|0)+1|0;if((d[(c[m>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else bG(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[l>>2]|0)+13>>0];break}c[p>>2]=d[c[m>>2]>>0];c[o>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[j>>2]|0)){r=(Qj(74742)|0)&255;a[(c[l>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;i=s;return r|0}if((c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0)<(c[o>>2]|0))b=c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[o>>2]|0;c[n>>2]=b;c[r>>2]=eR((c[m>>2]|0)+(c[p>>2]|0)|0,c[(c[(c[l>>2]|0)+4>>2]|0)+16>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[o>>2]|0)-(c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[l>>2]|0)+8>>1]|0)>1){c[r>>2]=aG(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,1)|0;break}else{c[r>>2]=a[(c[l>>2]|0)+10>>0];a[(c[l>>2]|0)+14>>0]=1;break}else{b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[l>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function $F(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=aG(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function aG(f,g,j,k){f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+128|0;A=F+124|0;m=F+120|0;H=F+116|0;B=F+112|0;G=F+108|0;o=F+104|0;p=F+100|0;z=F+96|0;q=F+92|0;E=F+88|0;w=F+84|0;D=F+80|0;n=F+76|0;s=F+16|0;l=F+72|0;y=F+68|0;r=F+8|0;x=F;t=F+64|0;v=F+60|0;u=F+56|0;c[m>>2]=f;c[H>>2]=g;c[B>>2]=j;c[G>>2]=k;c[E>>2]=0;c[w>>2]=c[(c[B>>2]|0)+4>>2];c[D>>2]=c[c[B>>2]>>2];c[n>>2]=c[H>>2];f=c[n>>2]|0;do if(c[G>>2]|0){k=(c[n>>2]|0)+1|0;if((d[f+1>>0]|0)<128){c[l>>2]=d[k>>0];k=1}else k=(bG(k,l)|0)&255;c[q>>2]=1+(k&255);c[z>>2]=d[c[n>>2]>>0];H=c[z>>2]|0;c[o>>2]=H+(cG(c[l>>2]|0)|0);c[p>>2]=1;c[w>>2]=(c[w>>2]|0)+40}else{k=c[n>>2]|0;if((d[f>>0]|0)<128){c[z>>2]=d[k>>0];k=1}else k=(bG(k,z)|0)&255;c[q>>2]=k&255;c[o>>2]=c[z>>2];if((c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[p>>2]=0;break}H=(Qj(74452)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}while(0);a:while(1){do if(e[(c[w>>2]|0)+8>>1]&4){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}if((c[y>>2]|0)==7){dG((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;H=c[w>>2]|0;c[E>>2]=0-(eG(c[H>>2]|0,c[H+4>>2]|0,+h[s>>3])|0);break}j=fG(c[y>>2]|0,(c[n>>2]|0)+(c[o>>2]|0)|0)|0;H=r;c[H>>2]=j;c[H+4>>2]=C;H=c[w>>2]|0;j=c[H+4>>2]|0;G=x;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)<(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[E>>2]=-1;break}G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)>(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[E>>2]=1}else{if(e[(c[w>>2]|0)+8>>1]&8){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}dG((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;if((c[y>>2]|0)!=7){H=s;c[E>>2]=eG(c[H>>2]|0,c[H+4>>2]|0,+h[c[w>>2]>>3])|0;break}if(+h[s>>3]<+h[c[w>>2]>>3]){c[E>>2]=-1;break}if(!(+h[s>>3]>+h[c[w>>2]>>3]))break;c[E>>2]=1;break}if(e[(c[w>>2]|0)+8>>1]&2){k=(c[n>>2]|0)+(c[q>>2]|0)|0;if((d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0)<128)c[y>>2]=d[k>>0];else bG(k,y)|0;if((c[y>>2]|0)>>>0<12){c[E>>2]=-1;break}if(!(c[y>>2]&1)){c[E>>2]=1;break}c[s+12>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[s+12>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=43;break a}if(c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0){a[s+10>>0]=a[(c[D>>2]|0)+4>>0]|0;c[s+32>>2]=c[(c[D>>2]|0)+12>>2];b[s+8>>1]=2;c[s+16>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[E>>2]=gG(s,c[w>>2]|0,c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0,(c[B>>2]|0)+11|0)|0;break}if((c[s+12>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[s+12>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[t>>2]=k;c[E>>2]=eR((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[t>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[s+12>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}k=d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0;if(!(e[(c[w>>2]|0)+8>>1]&16)){c[y>>2]=k;c[E>>2]=(c[y>>2]|0)!=0&1;break}f=(c[n>>2]|0)+(c[q>>2]|0)|0;if((k|0)<128)c[y>>2]=d[f>>0];else bG(f,y)|0;if((c[y>>2]|0)>>>0>=12?(c[y>>2]&1|0)==0:0){c[v>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=59;break a}if(e[(c[w>>2]|0)+8>>1]&16384)if(hG((c[n>>2]|0)+(c[o>>2]|0)|0,c[v>>2]|0)|0){c[E>>2]=(c[v>>2]|0)-(c[c[w>>2]>>2]|0);break}else{c[E>>2]=1;break}if((c[v>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[v>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[u>>2]=k;c[E>>2]=eR((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[v>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}c[E>>2]=-1}while(0);f=c[p>>2]|0;if(c[E>>2]|0){k=71;break}c[p>>2]=f+1;c[w>>2]=(c[w>>2]|0)+40;H=cG(c[y>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+H;H=iG(c[y>>2]|0,0)|0;c[q>>2]=(c[q>>2]|0)+H;if((c[q>>2]|0)>>>0>=(c[z>>2]|0)>>>0){k=77;break}if((c[p>>2]|0)>=(e[(c[B>>2]|0)+8>>1]|0)){k=77;break}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){k=77;break}}if((k|0)==43){H=(Qj(74527)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==59){H=(Qj(74557)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==71){if(a[(c[(c[D>>2]|0)+16>>2]|0)+f>>0]|0)c[E>>2]=0-(c[E>>2]|0);c[A>>2]=c[E>>2];H=c[A>>2]|0;i=F;return H|0}else if((k|0)==77){a[(c[B>>2]|0)+14>>0]=1;c[A>>2]=a[(c[B>>2]|0)+10>>0];H=c[A>>2]|0;i=F;return H|0}return 0}function bG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+25|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n;l=n+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=2;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=3;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[l>>0]=cu(c[g>>2]|0,m)|0;e=m;if(0!=(c[e+4>>2]|0)?1:(c[m>>2]|0)!=(c[e>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[f>>0]=a[l>>0]|0;m=a[f>>0]|0;i=n;return m|0}function cG(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=d[35061+a>>0];f=c[b>>2]|0;i=e;return f|0}return 0}function dG(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;switch(c[k>>2]|0){case 0:case 11:case 10:{b[(c[l>>2]|0)+8>>1]=1;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}case 1:{g=a[c[j>>2]>>0]|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=1;f=c[h>>2]|0;i=m;return f|0}case 2:{g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=2;f=c[h>>2]|0;i=m;return f|0}case 3:{g=a[c[j>>2]>>0]<<16|d[(c[j>>2]|0)+1>>0]<<8|d[(c[j>>2]|0)+2>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=3;f=c[h>>2]|0;i=m;return f|0}case 4:{g=a[c[j>>2]>>0]<<24|d[(c[j>>2]|0)+1>>0]<<16|d[(c[j>>2]|0)+2>>0]<<8|d[(c[j>>2]|0)+3>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=4;f=c[h>>2]|0;i=m;return f|0}case 5:{f=d[(c[j>>2]|0)+2>>0]<<24|d[(c[j>>2]|0)+2+1>>0]<<16|d[(c[j>>2]|0)+2+2>>0]<<8|d[(c[j>>2]|0)+2+3>>0];g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];g=RR(f|0,0,aS(0,1,g|0,((g|0)<0)<<31>>31|0)|0,C|0)|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=C;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=6;f=c[h>>2]|0;i=m;return f|0}case 7:case 6:{c[h>>2]=pG(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;i=m;return f|0}case 9:case 8:{f=c[l>>2]|0;c[f>>2]=(c[k>>2]|0)-8;c[f+4>>2]=0;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}default:{c[(c[l>>2]|0)+16>>2]=c[j>>2];c[(c[l>>2]|0)+12>>2]=(((c[k>>2]|0)-12|0)>>>0)/2|0;b[(c[l>>2]|0)+8>>1]=b[14590+((c[k>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[l>>2]|0)+12>>2];f=c[h>>2]|0;i=m;return f|0}}return 0}function eG(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;f=l+24|0;g=l+16|0;k=l+8|0;j=l;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;i=l;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;i=l;return m|0}d=+h[g>>3];n=+N(d)>=1.0?(d>0.0?~~+$(+M(d/4294967296.0),4294967295.0)>>>0:~~+Z((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=k;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=k;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}m=f;a=c[m+4>>2]|0;n=k;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=k;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;i=l;return n|0}return 0}function fG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+8|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{j=a[c[h>>2]>>0]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 2:{j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 3:{j=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 4:{c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];j=c[k>>2]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 5:{b=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=RR(b|0,0,aS(0,1,j|0,((j|0)<0)<<31>>31|0)|0,C|0)|0;c[k+4>>2]=C;break}case 6:{k=j;c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[k+4>>2]=0;k=c[j>>2]|0;b=j;c[b>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[b+4>>2]=k;b=j;j=c[b+4>>2]|0;k=f;c[k>>2]=c[b>>2];c[k+4>>2]=j;break}default:{k=f;c[k>>2]=(c[g>>2]|0)-8;c[k+4>>2]=0}}k=f;C=c[k+4>>2]|0;i=l;return c[k>>2]|0}function gG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+128|0;h=u+116|0;j=u+112|0;k=u+108|0;l=u+104|0;m=u+100|0;r=u+96|0;s=u+92|0;t=u+88|0;p=u+84|0;q=u+80|0;n=u+40|0;o=u;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[j>>2]|0)+10>>0]|0|0)==(d[(c[l>>2]|0)+4>>0]|0|0)){c[h>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;t=c[h>>2]|0;i=u;return t|0}jG(n,c[(c[j>>2]|0)+32>>2]|0,1);jG(o,c[(c[j>>2]|0)+32>>2]|0,1);kG(n,c[j>>2]|0,4096);kG(o,c[k>>2]|0,4096);c[s>>2]=Zg(n,a[(c[l>>2]|0)+4>>0]|0)|0;c[p>>2]=(c[s>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Zg(o,a[(c[l>>2]|0)+4>>0]|0)|0;c[q>>2]=(c[t>>2]|0)==0?0:c[o+12>>2]|0;c[r>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;if(((c[s>>2]|0)==0|(c[t>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;Xg(n);Xg(o);c[h>>2]=c[r>>2];t=c[h>>2]|0;i=u;return t|0}function hG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){e=6;break}if(a[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0){e=4;break}c[g>>2]=(c[g>>2]|0)+1}if((e|0)==4){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}else if((e|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}return 0}function iG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=SR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=C;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}i=f;return a|0}function jG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function kG(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){lG(d,c[h>>2]|0,c[j>>2]|0);i=k;return}f=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048){i=k;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[j>>2];i=k;return}function lG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;mG(c[h>>2]|0);kG(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function mG(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192)nG(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32){oG(c[d>>2]|0);break}if((e[d+8>>1]|0)&64){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+188>>2];c[(c[c[g>>2]>>2]|0)+188>>2]=c[g>>2]}}else Qb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;i=h;return}function nG(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;f=k+80|0;g=k+76|0;j=k+72|0;h=k+40|0;e=k;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){j=c[j>>2]|0;i=k;return j|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){j=c[j>>2]|0;i=k;return j|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=e;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=e;c[h+8>>2]=c[f>>2];c[h+4>>2]=c[g>>2];Qb[c[(c[g>>2]|0)+16>>2]&255](h);if((c[(c[f>>2]|0)+24>>2]|0)>0)Tf(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);d=c[f>>2]|0;a=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(a|0));c[j>>2]=c[h+20>>2];j=c[j>>2]|0;i=k;return j|0}function oG(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Tf(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=g;return}function pG(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+20|0;l=k+16|0;g=k+12|0;j=k;m=k+8|0;c[n>>2]=a;c[l>>2]=e;c[g>>2]=f;f=j;c[f>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[f+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);f=RR(0,c[j>>2]|0,c[m>>2]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=C;if((c[l>>2]|0)==6){l=j;m=c[l+4>>2]|0;n=c[g>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[g>>2]|0)+8>>1]=4;i=k;return 8}else{n=c[g>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];n=(qG(+h[c[g>>2]>>3])|0)!=0;b[(c[g>>2]|0)+8>>1]=n?1:8;i=k;return 8}return 0}function qG(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function rG(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;n=p+8|0;l=p+4|0;m=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=EF(c[j>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if((c[(c[j>>2]|0)+60>>2]|0)!=0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)>0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[l>>2]=f&65535;f=(a[(c[m>>2]|0)+4>>0]|0)!=0;if((c[l>>2]|0)<(e[(c[m>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=sG(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}if(!f){o=c[j>>2]|0;c[n>>2]=FF(o,gr((c[(c[m>>2]|0)+56>>2]|0)+((d[(c[m>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=sG(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}}do{if(!(a[(c[j>>2]|0)+68>>0]|0)){o=17;break}HF(c[j>>2]|0);c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]}while((e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[m>>2]|0)+18>>1]|0));if((o|0)==17){c[c[k>>2]>>2]=1;a[(c[j>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if(a[(c[m>>2]|0)+2>>0]|0){c[h>>2]=BF(c[j>>2]|0,c[k>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}return 0}function sG(b){b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[j>>2]=0;while(1){if(c[j>>2]|0){f=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[g>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=gr((c[(c[g>>2]|0)+56>>2]|0)+(e[(c[g>>2]|0)+20>>1]&(d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[j>>2]=FF(c[f>>2]|0,c[h>>2]|0)|0}if((f|0)==5){i=k;return c[j>>2]|0}return 0}function tG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[d>>2]=b;c[e>>2]=c[c[k>>2]>>2];c[g>>2]=_v(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){k=c[g>>2]|0;i=j;return k|0}k=qh(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=k;c[f>>2]=Fh(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){k=c[g>>2]|0;i=j;return k|0}c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];k=qh(c[e>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=k;k=c[g>>2]|0;i=j;return k|0}function uG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];iv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);ev(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);fv(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);iv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function vG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((sz(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==8){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function wG(e,f){e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;c[g>>2]=e;c[h>>2]=f;if((d[c[h>>2]>>0]|0)!=152){i=j;return 0}if((b[(c[h>>2]|0)+32>>1]|0)<0){e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|2;i=j;return 0}if((c[(c[(c[g>>2]|0)+24>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<2)>>2]|0)<0){i=j;return 0}e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|1;i=j;return 0}function xG(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[j>>2]=a;c[k>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[k>>2]|0)+50>>1]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[k>>2]|0)+54>>0]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0)){g=17;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)){g=8;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)==-2?(Ky(c[(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){g=11;break}if((d[(c[(c[k>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)){g=13;break}if(Td(c[(c[(c[k>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)|0){g=15;break}c[g>>2]=(c[g>>2]|0)+1}if((g|0)==8){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==11){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==13){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==15){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==17)if(Ky(c[(c[k>>2]|0)+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function yG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+448>>2];c[(c[f>>2]|0)+448>>2]=c[g>>2];i=e;return}function zG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;f=p+52|0;g=p+48|0;h=p+44|0;j=p+40|0;l=p+16|0;o=p+12|0;n=p+8|0;k=p+4|0;m=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[m>>2]=Fh(c[k>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[h>>2]=Iy(c[k>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=_v(c[k>>2]|0,0,0,0)|0;if(c[n>>2]|0){d=qh(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;c[(c[n>>2]|0)+8+8>>2]=d;d=qh(c[k>>2]|0,c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+8+4>>2]=d}c[o>>2]=Sv(c[f>>2]|0,0,c[n>>2]|0,c[h>>2]|0,0,0,0,131072,0,0)|0;vB(l,12,c[j>>2]|0);Pv(c[f>>2]|0,c[o>>2]|0,l)|0;fv(c[k>>2]|0,c[o>>2]|0);i=p;return}function AG(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=i;i=i+96|0;r=F+88|0;H=F+84|0;s=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;q=F+16|0;p=F+8|0;v=F+4|0;u=F;c[r>>2]=d;c[H>>2]=e;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[G>>2]=k;c[t>>2]=l;c[E>>2]=c[(c[r>>2]|0)+8>>2];c[I>>2]=c[c[r>>2]>>2];c[z>>2]=Ux(c[I>>2]|0,c[s>>2]|0)|0;c[y>>2]=2+(b[(c[s>>2]|0)+34>>1]|0);c[q>>2]=c[(c[H>>2]|0)+8+44>>2];f=(c[r>>2]|0)+40|0;k=c[f>>2]|0;c[f>>2]=k+1;c[w>>2]=k;c[u>>2]=ix(c[E>>2]|0,107,c[w>>2]|0,c[y>>2]|0)|0;c[B>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;k=(c[r>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[r>>2]|0)+44|0;f=(c[k>>2]|0)+1|0;c[k>>2]=f;c[C>>2]=f;f=(c[r>>2]|0)+44|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[D>>2]=k;c[A>>2]=qD(c[r>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[A>>2]|0)){i=F;return}ix(c[E>>2]|0,123,c[q>>2]|0,c[B>>2]|0)|0;if(c[n>>2]|0)RA(c[r>>2]|0,c[n>>2]|0,(c[B>>2]|0)+1|0);else ix(c[E>>2]|0,123,c[q>>2]|0,(c[B>>2]|0)+1|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)>=0)RA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0);else jx(c[E>>2]|0,156,c[q>>2]|0,c[x>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}c[v>>2]=BG(c[A>>2]|0,p)|0;m=c[E>>2]|0;if(c[v>>2]|0){HA(m,c[u>>2]|0)|0;if(!(c[(c[r>>2]|0)+124>>2]|0))a[(c[r>>2]|0)+20>>0]=0}else{jx(m,99,c[B>>2]|0,c[y>>2]|0,c[C>>2]|0)|0;ix(c[E>>2]|0,114,c[w>>2]|0,c[D>>2]|0)|0;jx(c[E>>2]|0,115,c[w>>2]|0,c[C>>2]|0,c[D>>2]|0)|0}a:do if(!(c[v>>2]|0)){rD(c[A>>2]|0);c[u>>2]=Sz(c[E>>2]|0,57,c[w>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break a;jx(c[E>>2]|0,96,c[w>>2]|0,c[x>>2]|0,(c[B>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);dD(c[r>>2]|0,c[s>>2]|0);mx(c[E>>2]|0,12,0,c[y>>2]|0,c[B>>2]|0,c[z>>2]|0,-10)|0;Jh(c[E>>2]|0,((c[t>>2]|0)==10?2:c[t>>2]|0)&255);Vx(c[r>>2]|0);if(!(c[v>>2]|0)){ix(c[E>>2]|0,7,c[w>>2]|0,(c[u>>2]|0)+1|0)|0;Zz(c[E>>2]|0,c[u>>2]|0);ix(c[E>>2]|0,111,c[w>>2]|0,0)|0;i=F;return}else{rD(c[A>>2]|0);i=F;return}}function BG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+20|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+45>>0]|0|0}function CG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+448>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;i=d;return}function DG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;k=p+32|0;f=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;j=p+8|0;g=p+4|0;h=p;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[l>>2]>>2]|0)+(c[m>>2]|0);c[j>>2]=Uw(c[f>>2]|0,c[l>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[j>>2]|0){c[l>>2]=c[j>>2];c[h>>2]=((((ku(c[f>>2]|0,c[j>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[h>>2];break}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}while(0);c[o>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;f=(c[l>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;a=(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)|0;e=f+72|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(e|0));c[o>>2]=(c[o>>2]|0)+-1}b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);VR((c[l>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}function EG(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;l=Q+96|0;A=Q+92|0;n=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;m=Q+40|0;p=Q+36|0;r=Q+32|0;o=Q+28|0;q=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;c[u>>2]=f;c[v>>2]=g;c[z>>2]=h;c[l>>2]=j;c[A>>2]=k;c[n>>2]=c[(c[u>>2]|0)+448>>2];c[B>>2]=c[c[u>>2]>>2];if(e[(c[B>>2]|0)+64>>1]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}c[J>>2]=c[(c[v>>2]|0)+28>>2];c[N>>2]=(c[J>>2]|0)+8+((c[z>>2]|0)*72|0);c[D>>2]=c[(c[N>>2]|0)+44>>2];c[K>>2]=c[(c[N>>2]|0)+20>>2];do if(c[A>>2]|0){if(c[l>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[c[J>>2]>>2]|0)>1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!((c[(c[v>>2]|0)+32>>2]|0)!=0?(c[(c[(c[v>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((Dz(c[c[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((Dz(c[(c[v>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[M>>2]=c[(c[K>>2]|0)+28>>2];if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+60>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&256|0)!=0?(c[(c[K>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[c[M>>2]>>2]|0)){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?((c[l>>2]|0)!=0?1:(c[c[J>>2]>>2]|0)>1):0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+44>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[l>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+32>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&12288){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&8192|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(d[(c[N>>2]|0)+36>>0]&32){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}a:do if(c[(c[K>>2]|0)+48>>2]|0){if(c[(c[K>>2]|0)+44>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}do if(!(c[l>>2]|0)){if(c[(c[v>>2]|0)+8>>2]&1)break;if((c[c[J>>2]>>2]|0)!=1)break;c[L>>2]=c[K>>2];while(1){if(!(c[L>>2]|0))break;if(c[(c[L>>2]|0)+8>>2]&9){t=62;break}if((c[(c[L>>2]|0)+48>>2]|0)!=0?(d[(c[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[L>>2]|0)+28>>2]>>2]|0)<1){t=62;break}c[L>>2]=c[(c[L>>2]|0)+48>>2]}if((t|0)==62){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[(c[v>>2]|0)+44>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[v>>2]|0)+44>>2]>>2]|0))break a;if(!(e[(c[(c[(c[v>>2]|0)+44>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[(c[u>>2]|0)+448>>2]=c[(c[N>>2]|0)+8>>2];ax(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+448>>2]=c[n>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2];while(1){if(!(c[K>>2]|0))break;c[r>>2]=c[(c[v>>2]|0)+44>>2];c[o>>2]=c[(c[v>>2]|0)+56>>2];c[q>>2]=c[(c[v>>2]|0)+60>>2];c[s>>2]=c[(c[v>>2]|0)+48>>2];c[(c[v>>2]|0)+44>>2]=0;c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+48>>2]=0;c[(c[v>>2]|0)+56>>2]=0;c[(c[v>>2]|0)+60>>2]=0;c[p>>2]=_x(c[B>>2]|0,c[v>>2]|0,0)|0;c[(c[v>>2]|0)+60>>2]=c[q>>2];c[(c[v>>2]|0)+56>>2]=c[o>>2];c[(c[v>>2]|0)+44>>2]=c[r>>2];c[(c[v>>2]|0)+28>>2]=c[J>>2];a[(c[v>>2]|0)+4>>0]=116;l=c[s>>2]|0;if(!(c[p>>2]|0))c[(c[v>>2]|0)+48>>2]=l;else{c[(c[p>>2]|0)+48>>2]=l;if(c[s>>2]|0)c[(c[s>>2]|0)+52>>2]=c[p>>2];c[(c[p>>2]|0)+52>>2]=c[v>>2];c[(c[v>>2]|0)+48>>2]=c[p>>2]}if(a[(c[B>>2]|0)+69>>0]|0){t=78;break}c[K>>2]=c[(c[K>>2]|0)+48>>2]}if((t|0)==78){c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}t=c[(c[N>>2]|0)+20>>2]|0;c[L>>2]=t;c[K>>2]=t;Tf(c[B>>2]|0,c[(c[N>>2]|0)+4>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+8>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+4>>2]=0;c[(c[N>>2]|0)+8>>2]=0;c[(c[N>>2]|0)+12>>2]=0;c[(c[N>>2]|0)+20>>2]=0;if(c[(c[N>>2]|0)+16>>2]|0){c[w>>2]=c[(c[N>>2]|0)+16>>2];if((e[(c[w>>2]|0)+36>>1]|0)==1){l=c[u>>2]|0;if(c[(c[u>>2]|0)+124>>2]|0)l=c[l+124>>2]|0;c[x>>2]=l;c[(c[w>>2]|0)+68>>2]=c[(c[x>>2]|0)+464>>2];c[(c[x>>2]|0)+464>>2]=c[w>>2]}else{x=(c[w>>2]|0)+36|0;b[x>>1]=(b[x>>1]|0)+-1<<16>>16}c[(c[N>>2]|0)+16>>2]=0}c[I>>2]=c[v>>2];while(1){if(!(c[I>>2]|0))break;a[E>>0]=0;c[M>>2]=c[(c[K>>2]|0)+28>>2];c[F>>2]=c[c[M>>2]>>2];c[J>>2]=c[(c[I>>2]|0)+28>>2];if(!(c[J>>2]|0)){x=_v(c[B>>2]|0,0,0,0)|0;c[(c[I>>2]|0)+28>>2]=x;c[J>>2]=x;if(!(c[J>>2]|0))break}else a[E>>0]=a[(c[N>>2]|0)+36>>0]|0;if((c[F>>2]|0)>1?(x=DG(c[B>>2]|0,c[J>>2]|0,(c[F>>2]|0)-1|0,(c[z>>2]|0)+1|0)|0,c[J>>2]=x,c[(c[I>>2]|0)+28>>2]=x,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[F>>2]|0))break;kv(c[B>>2]|0,c[(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)+52>>2]|0);l=(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)|0;h=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=c[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(m|0));l=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[C>>2]=(c[C>>2]|0)+1}a[(c[J>>2]|0)+8+((c[z>>2]|0)*72|0)+36>>0]=a[E>>0]|0;c[G>>2]=c[c[I>>2]>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[G>>2]>>2]|0))break;if(!(c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]|0)){c[P>>2]=qh(c[B>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+8>>2]|0)|0;Zw(c[P>>2]|0);c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]=c[P>>2]}c[C>>2]=(c[C>>2]|0)+1}if(c[(c[K>>2]|0)+44>>2]|0){c[H>>2]=c[(c[K>>2]|0)+44>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[H>>2]>>2]|0))break;b[(c[(c[H>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]=0;c[C>>2]=(c[C>>2]|0)+1}c[(c[I>>2]|0)+44>>2]=c[H>>2];c[(c[K>>2]|0)+44>>2]=0}c[O>>2]=Iy(c[B>>2]|0,c[(c[K>>2]|0)+32>>2]|0,0)|0;if(c[A>>2]|0){c[(c[I>>2]|0)+40>>2]=c[(c[I>>2]|0)+32>>2];c[(c[I>>2]|0)+32>>2]=c[O>>2];w=c[B>>2]|0;x=Iy(c[B>>2]|0,c[(c[K>>2]|0)+40>>2]|0,0)|0;x=wz(w,x,c[(c[I>>2]|0)+40>>2]|0)|0;c[(c[I>>2]|0)+40>>2]=x;x=Qy(c[B>>2]|0,c[(c[K>>2]|0)+36>>2]|0,0)|0;c[(c[I>>2]|0)+36>>2]=x}else{x=wz(c[B>>2]|0,c[O>>2]|0,c[(c[I>>2]|0)+32>>2]|0)|0;c[(c[I>>2]|0)+32>>2]=x}nH(c[B>>2]|0,c[I>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0,0);x=(c[I>>2]|0)+8|0;c[x>>2]=c[x>>2]|c[(c[K>>2]|0)+8>>2]&1;if(c[(c[K>>2]|0)+56>>2]|0){c[(c[I>>2]|0)+56>>2]=c[(c[K>>2]|0)+56>>2];c[(c[K>>2]|0)+56>>2]=0}c[I>>2]=c[(c[I>>2]|0)+48>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2]}fv(c[B>>2]|0,c[L>>2]|0);c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}function FG(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=i;i=i+256|0;Z=_+8|0;h=_;j=_+240|0;k=_+236|0;l=_+232|0;m=_+228|0;T=_+224|0;Q=_+220|0;Y=_+216|0;t=_+192|0;H=_+184|0;s=_+180|0;B=_+176|0;C=_+172|0;n=_+168|0;F=_+164|0;W=_+160|0;G=_+244|0;R=_+156|0;L=_+152|0;O=_+148|0;o=_+144|0;X=_+120|0;x=_+116|0;v=_+112|0;z=_+108|0;I=_+104|0;U=_+100|0;V=_+96|0;y=_+92|0;w=_+88|0;A=_+84|0;M=_+80|0;P=_+76|0;p=_+72|0;D=_+48|0;S=_+40|0;J=_+36|0;u=_+32|0;K=_+28|0;N=_+24|0;r=_+20|0;E=_+16|0;q=_+12|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[T>>2]=0;c[H>>2]=0;c[B>>2]=0;c[C>>2]=0;c[s>>2]=c[c[k>>2]>>2];c[Q>>2]=c[(c[l>>2]|0)+48>>2];e=c[m>>2]|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[t+16>>2]=c[e+16>>2];c[t+20>>2]=c[e+20>>2];a:do if(!(c[(c[Q>>2]|0)+44>>2]|0)){f=c[k>>2]|0;if(c[(c[Q>>2]|0)+56>>2]|0){c[Z>>2]=Sy(d[(c[l>>2]|0)+4>>0]|0)|0;Eh(f,35879,Z);c[T>>2]=1;break}c[Y>>2]=dx(f)|0;if((d[t>>0]|0)==12){ix(c[Y>>2]|0,107,c[t+8>>2]|0,c[c[c[l>>2]>>2]>>2]|0)|0;a[t>>0]=14}if(c[(c[l>>2]|0)+8>>2]&1024){c[T>>2]=pH(c[k>>2]|0,c[l>>2]|0,t)|0;break}b:do if(c[(c[l>>2]|0)+8>>2]&8192)qH(c[k>>2]|0,c[l>>2]|0,t);else{if(c[(c[l>>2]|0)+44>>2]|0){c[j>>2]=rH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;Z=c[j>>2]|0;i=_;return Z|0}switch(d[(c[l>>2]|0)+4>>0]|0){case 116:{c[n>>2]=0;c[(c[Q>>2]|0)+12>>2]=c[(c[l>>2]|0)+12>>2];c[(c[Q>>2]|0)+16>>2]=c[(c[l>>2]|0)+16>>2];c[(c[Q>>2]|0)+56>>2]=c[(c[l>>2]|0)+56>>2];c[(c[Q>>2]|0)+60>>2]=c[(c[l>>2]|0)+60>>2];c[B>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[Q>>2]|0,t)|0;c[(c[l>>2]|0)+56>>2]=0;c[(c[l>>2]|0)+60>>2]=0;if(c[T>>2]|0)break a;c[(c[l>>2]|0)+48>>2]=0;c[(c[l>>2]|0)+12>>2]=c[(c[Q>>2]|0)+12>>2];c[(c[l>>2]|0)+16>>2]=c[(c[Q>>2]|0)+16>>2];if((c[(c[l>>2]|0)+12>>2]|0)!=0?(c[n>>2]=Sz(c[Y>>2]|0,22,c[(c[l>>2]|0)+12>>2]|0)|0,(c[(c[l>>2]|0)+16>>2]|0)!=0):0)jx(c[Y>>2]|0,146,c[(c[l>>2]|0)+12>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+1|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[C>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[l>>2]|0,t)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];Z=nE(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z;if(((c[(c[Q>>2]|0)+56>>2]|0)!=0?(Z=(Fy(c[(c[Q>>2]|0)+56>>2]|0,F)|0)!=0,Z&(c[F>>2]|0)>0):0)?(X=b[(c[l>>2]|0)+6>>1]|0,Z=c[F>>2]|0,(X|0)>((Mj(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=c[F>>2]|0;Z=Mj(Z,((Z|0)<0)<<31>>31)|0;b[(c[l>>2]|0)+6>>1]=Z}if(!(c[n>>2]|0))break b;Zz(c[Y>>2]|0,c[n>>2]|0);break b}case 115:case 117:{a[G>>0]=0;c[R>>2]=1;if((d[t>>0]|0)==(c[R>>2]|0))c[W>>2]=c[t+8>>2];else{V=(c[k>>2]|0)+40|0;Z=c[V>>2]|0;c[V>>2]=Z+1;c[W>>2]=Z;c[o>>2]=ix(c[Y>>2]|0,107,c[W>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[o>>2];Z=(mz(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32}vB(X,c[R>>2]|0,c[W>>2]|0);c[B>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[Q>>2]|0,X)|0;if(c[T>>2]|0)break a;if((d[(c[l>>2]|0)+4>>0]|0)==117)a[G>>0]=2;else a[G>>0]=1;c[(c[l>>2]|0)+48>>2]=0;c[L>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[O>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;a[X>>0]=a[G>>0]|0;c[C>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[l>>2]|0,X)|0;ev(c[s>>2]|0,c[(c[l>>2]|0)+44>>2]|0);c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];c[(c[l>>2]|0)+44>>2]=0;if((d[(c[l>>2]|0)+4>>0]|0)==115){Z=nE(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z}iv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[L>>2];c[(c[l>>2]|0)+60>>2]=c[O>>2];c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;if((d[t>>0]|0)==(c[R>>2]|0))break b;if((d[t>>0]|0)==9){c[I>>2]=c[l>>2];while(1){if(!(c[(c[I>>2]|0)+48>>2]|0))break;c[I>>2]=c[(c[I>>2]|0)+48>>2]}dH(c[k>>2]|0,c[(c[I>>2]|0)+28>>2]|0,c[c[I>>2]>>2]|0)}c[v>>2]=Wz(c[Y>>2]|0)|0;c[x>>2]=Wz(c[Y>>2]|0)|0;KG(c[k>>2]|0,c[l>>2]|0,c[v>>2]|0);ix(c[Y>>2]|0,57,c[W>>2]|0,c[v>>2]|0)|0;c[z>>2]=wx(c[Y>>2]|0)|0;SG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[W>>2]|0,0,0,t,c[x>>2]|0,c[v>>2]|0);_z(c[Y>>2]|0,c[x>>2]|0);ix(c[Y>>2]|0,7,c[W>>2]|0,c[z>>2]|0)|0;_z(c[Y>>2]|0,c[v>>2]|0);ix(c[Y>>2]|0,111,c[W>>2]|0,0)|0;break b}default:{Z=(c[k>>2]|0)+40|0;X=c[Z>>2]|0;c[Z>>2]=X+1;c[U>>2]=X;X=(c[k>>2]|0)+40|0;Z=c[X>>2]|0;c[X>>2]=Z+1;c[V>>2]=Z;c[p>>2]=ix(c[Y>>2]|0,107,c[U>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[p>>2];Z=(mz(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32;vB(D,1,c[U>>2]|0);c[B>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[Q>>2]|0,D)|0;if(c[T>>2]|0)break a;c[p>>2]=ix(c[Y>>2]|0,107,c[V>>2]|0,0)|0;c[(c[l>>2]|0)+20+4>>2]=c[p>>2];c[(c[l>>2]|0)+48>>2]=0;c[M>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[P>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;c[D+8>>2]=c[V>>2];c[C>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[l>>2]|0,D)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];if((b[(c[l>>2]|0)+6>>1]|0)>(b[(c[Q>>2]|0)+6>>1]|0))b[(c[l>>2]|0)+6>>1]=b[(c[Q>>2]|0)+6>>1]|0;iv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[M>>2];c[(c[l>>2]|0)+60>>2]=c[P>>2];if((d[t>>0]|0)==9){c[J>>2]=c[l>>2];while(1){if(!(c[(c[J>>2]|0)+48>>2]|0))break;c[J>>2]=c[(c[J>>2]|0)+48>>2]}dH(c[k>>2]|0,c[(c[J>>2]|0)+28>>2]|0,c[c[J>>2]>>2]|0)}c[w>>2]=Wz(c[Y>>2]|0)|0;c[y>>2]=Wz(c[Y>>2]|0)|0;KG(c[k>>2]|0,c[l>>2]|0,c[w>>2]|0);ix(c[Y>>2]|0,57,c[U>>2]|0,c[w>>2]|0)|0;c[S>>2]=vx(c[k>>2]|0)|0;c[A>>2]=ix(c[Y>>2]|0,121,c[U>>2]|0,c[S>>2]|0)|0;Ih(c[Y>>2]|0,30,c[V>>2]|0,c[y>>2]|0,c[S>>2]|0,0)|0;xx(c[k>>2]|0,c[S>>2]|0);SG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[U>>2]|0,0,0,t,c[y>>2]|0,c[w>>2]|0);_z(c[Y>>2]|0,c[y>>2]|0);ix(c[Y>>2]|0,7,c[U>>2]|0,c[A>>2]|0)|0;_z(c[Y>>2]|0,c[w>>2]|0);ix(c[Y>>2]|0,111,c[V>>2]|0,0)|0;ix(c[Y>>2]|0,111,c[U>>2]|0,0)|0;break b}}}while(0);sH(c[k>>2]|0,d[(c[l>>2]|0)+4>>0]|0,c[B>>2]|0,c[C>>2]|0,(d[(c[l>>2]|0)+4>>0]|0)!=116&1);if(c[(c[l>>2]|0)+8>>2]&32){c[E>>2]=c[c[c[l>>2]>>2]>>2];c[K>>2]=iA(c[s>>2]|0,c[E>>2]|0,1)|0;if(!(c[K>>2]|0)){c[T>>2]=7;break}c[u>>2]=0;c[r>>2]=(c[K>>2]|0)+20;while(1){if((c[u>>2]|0)>=(c[E>>2]|0))break;Z=tH(c[k>>2]|0,c[l>>2]|0,c[u>>2]|0)|0;c[c[r>>2]>>2]=Z;if(!(c[c[r>>2]>>2]|0))c[c[r>>2]>>2]=c[(c[s>>2]|0)+8>>2];c[u>>2]=(c[u>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+4}c[N>>2]=c[l>>2];while(1){if(!(c[N>>2]|0))break;c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break;c[q>>2]=c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2];if((c[q>>2]|0)<0)break;dA(c[Y>>2]|0,c[q>>2]|0,c[E>>2]|0);X=c[Y>>2]|0;Z=c[q>>2]|0;Mh(X,Z,nA(c[K>>2]|0)|0,-6);c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2]=-1;c[u>>2]=(c[u>>2]|0)+1}c[N>>2]=c[(c[N>>2]|0)+48>>2]}jA(c[K>>2]|0)}}else{Z=c[k>>2]|0;c[h>>2]=Sy(d[(c[l>>2]|0)+4>>0]|0)|0;Eh(Z,35831,h);c[T>>2]=1}while(0);c[(c[m>>2]|0)+12>>2]=c[t+12>>2];c[(c[m>>2]|0)+16>>2]=c[t+16>>2];fv(c[s>>2]|0,c[H>>2]|0);c[j>>2]=c[T>>2];Z=c[j>>2]|0;i=_;return Z|0}function GG(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Bz(c[e>>2]|0,b);i=d;return c[b>>2]|0}function HG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;n=q+8|0;m=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;if(!(c[k>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[o>>2]=c[j>>2];while(1){if(!(c[o>>2]|0))break;if(c[(c[o>>2]|0)+8>>2]&8200){p=6;break}c[o>>2]=c[(c[o>>2]|0)+48>>2]}if((p|0)==6){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}while(1){if((d[c[k>>2]>>0]|0|0)!=28)break;p=HG(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[k>>2]=c[(c[k>>2]|0)+12>>2]}if(c[(c[k>>2]|0)+4>>2]&1){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}a:do if(hE(c[k>>2]|0,c[l>>2]|0)|0){c[m>>2]=(c[m>>2]|0)+1;while(1){if(!(c[j>>2]|0))break a;c[n>>2]=Iy(c[h>>2]|0,c[k>>2]|0,0)|0;c[n>>2]=mH(c[h>>2]|0,c[n>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0)|0;p=wz(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[n>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=p;c[j>>2]=c[(c[j>>2]|0)+48>>2]}}while(0);c[g>>2]=c[m>>2];p=c[g>>2]|0;i=q;return p|0}function IG(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+28>>2]=0;i=d;return}function JG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;r=q+24|0;m=q+20|0;o=q+16|0;p=q+12|0;k=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[o>>2]=iA(c[k>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[o>>2]|0)){r=c[o>>2]|0;i=q;return r|0}c[l>>2]=c[j>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=fy(c[g>>2]|0,c[c[p>>2]>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=c[(c[k>>2]|0)+8>>2];c[(c[o>>2]|0)+20+((c[l>>2]|0)-(c[j>>2]|0)<<2)>>2]=c[n>>2];a[(c[(c[o>>2]|0)+16>>2]|0)+((c[l>>2]|0)-(c[j>>2]|0))>>0]=a[(c[p>>2]|0)+12>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}r=c[o>>2]|0;i=q;return r|0}function KG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[m>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){i=n;return}EC(c[f>>2]|0);if(!(c[(c[g>>2]|0)+56>>2]|0)){i=n;return}d=(c[f>>2]|0)+44|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[j>>2]=a;c[(c[g>>2]|0)+12>>2]=a;c[m>>2]=dx(c[f>>2]|0)|0;do if(Fy(c[(c[g>>2]|0)+56>>2]|0,l)|0){ix(c[m>>2]|0,76,c[l>>2]|0,c[j>>2]|0)|0;if(!(c[l>>2]|0)){Yz(c[m>>2]|0,c[h>>2]|0)|0;break}if((c[l>>2]|0)>=0?(d=b[(c[g>>2]|0)+6>>1]|0,a=c[l>>2]|0,(d|0)>((Mj(a,((a|0)<0)<<31>>31)|0)<<16>>16|0)):0){a=c[l>>2]|0;a=Mj(a,((a|0)<0)<<31>>31)|0;b[(c[g>>2]|0)+6>>1]=a;a=(c[g>>2]|0)+8|0;c[a>>2]=c[a>>2]|16384}}else{RA(c[f>>2]|0,c[(c[g>>2]|0)+56>>2]|0,c[j>>2]|0);Sz(c[m>>2]|0,17,c[j>>2]|0)|0;ix(c[m>>2]|0,22,c[j>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[g>>2]|0)+60>>2]|0)){i=n;return}d=(c[f>>2]|0)+44|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[k>>2]=a;c[(c[g>>2]|0)+16>>2]=a;a=(c[f>>2]|0)+44|0;c[a>>2]=(c[a>>2]|0)+1;RA(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0);Sz(c[m>>2]|0,17,c[k>>2]|0)|0;jx(c[m>>2]|0,146,c[j>>2]|0,(c[k>>2]|0)+1|0,c[k>>2]|0)|0;i=n;return}function LG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=b;c[g>>2]=d;a[j>>0]=e;b=a[j>>0]|0;a[(eA(c[h>>2]|0,c[g>>2]|0)|0)>>0]=b;i=f;return}function MG(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+72>>1]|0}function NG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+47>>0]|0|0}function OG(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+43>>0]|0}function PG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+48>>0]|0|0}function QG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+28>>2]|0}function RG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function SG(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=i;i=i+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;o=V+112|0;R=V+108|0;p=V+104|0;L=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;r=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;N=V+64|0;M=V+60|0;q=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;G=V+36|0;v=V+32|0;J=V+28|0;H=V+24|0;E=V+20|0;I=V+16|0;K=V+12|0;z=V+8|0;B=V+4|0;F=V;c[P>>2]=b;c[Q>>2]=f;c[t>>2]=g;c[o>>2]=h;c[R>>2]=j;c[p>>2]=k;c[L>>2]=l;c[u>>2]=m;c[S>>2]=n;c[U>>2]=c[(c[P>>2]|0)+8>>2];c[C>>2]=d[c[L>>2]>>0];c[O>>2]=c[(c[L>>2]|0)+8>>2];c[M>>2]=0;if(c[p>>2]|0)n=d[(c[p>>2]|0)+1>>0]|0;else n=0;c[r>>2]=n;if((c[R>>2]|0)!=0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[r>>2]|0)!=0))fH(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0);c[N>>2]=c[c[t>>2]>>2];if(c[(c[L>>2]|0)+12>>2]|0){if(((c[(c[L>>2]|0)+12>>2]|0)+(c[N>>2]|0)|0)>(c[(c[P>>2]|0)+44>>2]|0)){h=(c[P>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}}else{if(c[R>>2]|0){c[M>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[M>>2]=(c[M>>2]|0)+1;h=(c[P>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[M>>2]|0)}c[(c[L>>2]|0)+12>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;h=(c[P>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}c[(c[L>>2]|0)+16>>2]=c[N>>2];c[T>>2]=c[(c[L>>2]|0)+12>>2];a:do if((c[o>>2]|0)<0){if((c[C>>2]|0)!=3){if((c[C>>2]|0)==10|(c[C>>2]|0)==9|(c[C>>2]|0)==13)a[q>>0]=1;else a[q>>0]=0;aB(c[P>>2]|0,c[t>>2]|0,c[T>>2]|0,0,a[q>>0]|0)|0}}else{c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[N>>2]|0))break a;jx(c[U>>2]|0,96,c[o>>2]|0,c[D>>2]|0,(c[T>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);if(c[r>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[A>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;r=(c[P>>2]|0)+44|0;c[r>>2]=(c[r>>2]|0)+(c[N>>2]|0);HA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=eA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=79;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[A>>2];c[w>>2]=(wx(c[U>>2]|0)|0)+(c[N>>2]|0);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[N>>2]|0))break;c[x>>2]=fy(c[P>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0)|0;n=c[U>>2]|0;m=(c[T>>2]|0)+(c[D>>2]|0)|0;if((c[D>>2]|0)<((c[N>>2]|0)-1|0))jx(n,36,m,c[w>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;else jx(n,37,m,c[u>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;Mh(c[U>>2]|0,-1,c[x>>2]|0,-4);Jh(c[U>>2]|0,-128);c[D>>2]=(c[D>>2]|0)+1}jx(c[U>>2]|0,84,c[T>>2]|0,c[A>>2]|0,(c[N>>2]|0)-1|0)|0;break}case 1:{HA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:gH(c[P>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[u>>2]|0,c[N>>2]|0,c[T>>2]|0)}if(!(c[R>>2]|0))fH(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0)}b:do switch(c[C>>2]|0){case 1:{c[y>>2]=vx(c[P>>2]|0)|0;jx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,c[y>>2]|0)|0;ix(c[U>>2]|0,126,c[O>>2]|0,c[y>>2]|0)|0;xx(c[P>>2]|0,c[y>>2]|0);break}case 2:{jx(c[U>>2]|0,127,c[O>>2]|0,c[T>>2]|0,c[N>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[G>>2]=CA(c[P>>2]|0,(c[M>>2]|0)+1|0)|0;jx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,(c[G>>2]|0)+(c[M>>2]|0)|0)|0;if((c[C>>2]|0)==6){c[v>>2]=(wx(c[U>>2]|0)|0)+4;Ih(c[U>>2]|0,31,(c[O>>2]|0)+1|0,c[v>>2]|0,c[G>>2]|0,0)|0;ix(c[U>>2]|0,126,(c[O>>2]|0)+1|0,c[G>>2]|0)|0}n=c[P>>2]|0;if(c[R>>2]|0)lH(n,c[R>>2]|0,c[Q>>2]|0,(c[G>>2]|0)+(c[M>>2]|0)|0,c[T>>2]|0,1,c[M>>2]|0);else{c[J>>2]=vx(n)|0;ix(c[U>>2]|0,114,c[O>>2]|0,c[J>>2]|0)|0;jx(c[U>>2]|0,115,c[O>>2]|0,c[G>>2]|0,c[J>>2]|0)|0;Jh(c[U>>2]|0,8);xx(c[P>>2]|0,c[J>>2]|0)}FA(c[P>>2]|0,c[G>>2]|0,(c[M>>2]|0)+1|0);break}case 11:{n=c[P>>2]|0;if(c[R>>2]|0){lH(n,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[N>>2]|0,c[M>>2]|0);break b}else{c[H>>2]=vx(n)|0;mx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,c[H>>2]|0,c[(c[L>>2]|0)+4>>2]|0,c[N>>2]|0)|0;WA(c[P>>2]|0,c[T>>2]|0,c[N>>2]|0);ix(c[U>>2]|0,126,c[O>>2]|0,c[H>>2]|0)|0;xx(c[P>>2]|0,c[H>>2]|0);break b}}case 3:{ix(c[U>>2]|0,76,1,c[O>>2]|0)|0;break}case 10:{if(c[R>>2]|0)lH(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[N>>2]|0,c[M>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){lH(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[N>>2]|0,c[M>>2]|0);break b}n=c[U>>2]|0;if((c[C>>2]|0)==13){Sz(n,16,c[(c[L>>2]|0)+8>>2]|0)|0;break b}else{ix(n,87,c[T>>2]|0,c[N>>2]|0)|0;WA(c[P>>2]|0,c[T>>2]|0,c[N>>2]|0);break b}}case 7:case 8:{c[B>>2]=0;c[F>>2]=c[(c[L>>2]|0)+20>>2];c[E>>2]=c[c[F>>2]>>2];c[I>>2]=vx(c[P>>2]|0)|0;c[K>>2]=CA(c[P>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=(c[K>>2]|0)+(c[E>>2]|0)+1;if((c[C>>2]|0)==8)c[B>>2]=Ih(c[U>>2]|0,31,(c[O>>2]|0)+1|0,0,c[T>>2]|0,c[N>>2]|0)|0;jx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,c[z>>2]|0)|0;if((c[C>>2]|0)==8){ix(c[U>>2]|0,126,(c[O>>2]|0)+1|0,c[z>>2]|0)|0;Jh(c[U>>2]|0,16)}c[D>>2]=0;while(1){n=c[U>>2]|0;if((c[D>>2]|0)>=(c[E>>2]|0))break;ix(n,85,(c[T>>2]|0)+(e[(c[(c[F>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)+16>>1]|0)-1|0,(c[K>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}ix(n,113,c[O>>2]|0,(c[K>>2]|0)+(c[E>>2]|0)|0)|0;jx(c[U>>2]|0,99,c[K>>2]|0,(c[E>>2]|0)+2|0,c[I>>2]|0)|0;ix(c[U>>2]|0,126,c[O>>2]|0,c[I>>2]|0)|0;if(c[B>>2]|0)Zz(c[U>>2]|0,c[B>>2]|0);xx(c[P>>2]|0,c[I>>2]|0);FA(c[P>>2]|0,c[K>>2]|0,(c[E>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){i=V;return}if(!(c[(c[Q>>2]|0)+12>>2]|0)){i=V;return}ix(c[U>>2]|0,68,c[(c[Q>>2]|0)+12>>2]|0,c[S>>2]|0)|0;i=V;return}function TG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;UG(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function UG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=203;c[f+8>>2]=204;c[f+24>>2]=c[g>>2];wy(f,c[e>>2]|0)|0;i=d;return}function VG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+409>>0]|0|0)!=2){i=k;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[h>>2]=c[f>>2];c[j>>2]=Gh(b,35808,h)|0;mx(c[g>>2]|0,162,c[(c[e>>2]|0)+420>>2]|0,0,0,c[j>>2]|0,-1)|0;i=k;return}function WG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+44>>0]|0|0}function XG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;jx(c[(c[j>>2]|0)+8>>2]|0,83,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;GA(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function YG(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;f=v+56|0;g=v+52|0;u=v+48|0;k=v+44|0;t=v+40|0;h=v+36|0;p=v+32|0;n=v+28|0;m=v+24|0;j=v+20|0;s=v+16|0;r=v+12|0;o=v+8|0;q=v+4|0;l=v;c[f>>2]=b;c[g>>2]=d;c[u>>2]=c[(c[f>>2]|0)+8>>2];c[t>>2]=0;c[h>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[p>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[j>>2]=0;c[r>>2]=c[(c[c[p>>2]>>2]|0)+20>>2];if(c[r>>2]|0){c[m>>2]=c[c[r>>2]>>2];c[s>>2]=CA(c[f>>2]|0,c[m>>2]|0)|0;aB(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,0,1)|0}else{c[m>>2]=0;c[s>>2]=0}if((c[(c[p>>2]|0)+12>>2]|0)>=0){c[j>>2]=Wz(c[u>>2]|0)|0;gH(c[f>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0,1,c[s>>2]|0)}if((e[(c[(c[p>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[o>>2]=0;c[l>>2]=0;c[q>>2]=c[(c[r>>2]|0)+4>>2];while(1){if(c[o>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=fy(c[f>>2]|0,c[c[q>>2]>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if(!(c[o>>2]|0))c[o>>2]=c[(c[c[f>>2]>>2]|0)+8>>2];if((c[t>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[f>>2]|0)+44|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[t>>2]=b}mx(c[u>>2]|0,88,c[t>>2]|0,0,0,c[o>>2]|0,-4)|0}mx(c[u>>2]|0,147,0,c[s>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+4>>2]|0,-5)|0;Jh(c[u>>2]|0,c[m>>2]&255);WA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);FA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);if(c[j>>2]|0){_z(c[u>>2]|0,c[j>>2]|0);EC(c[f>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}if(c[t>>2]|0)c[h>>2]=Sz(c[u>>2]|0,21,c[t>>2]|0)|0;EC(c[f>>2]|0);c[k>>2]=0;c[n>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;RA(c[f>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+24}a[c[g>>2]>>0]=0;EC(c[f>>2]|0);if(!(c[h>>2]|0)){i=v;return}Zz(c[u>>2]|0,c[h>>2]|0);i=v;return}function ZG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[g>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];if(c[g>>2]|0)b=c[c[g>>2]>>2]|0;else b=0;mx(c[h>>2]|0,149,c[(c[f>>2]|0)+8>>2]|0,b,0,c[(c[f>>2]|0)+4>>2]|0,-5)|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function _G(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;l=m;d=m+32|0;e=m+28|0;k=m+24|0;f=m+20|0;h=m+16|0;n=m+12|0;g=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=m;return}jx(c[k>>2]|0,79,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[g>>2]=c[c[h>>2]>>2];if((c[(c[g>>2]|0)+20>>2]|0)!=0?(c[c[(c[g>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=JG(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0,0,0)|0;mx(c[k>>2]|0,107,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}Eh(c[d>>2]|0,35757,l);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}i=m;return}function $G(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+32>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+28>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){c[k>>2]=c[(c[(c[g>>2]|0)+28>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(c[(c[j>>2]|0)+4>>2]&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function aH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;if((d[(c[j>>2]|0)+409>>0]|0|0)!=2){i=n;return}if(c[g>>2]|0)if(!((d[(c[k>>2]|0)+42>>0]|0)&32))f=1;else f=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else f=0;c[h>>2]=f&1;b=c[c[j>>2]>>2]|0;e=(c[h>>2]|0)!=0?35716:18402;if(c[h>>2]|0)f=c[c[g>>2]>>2]|0;else f=18402;c[l>>2]=c[c[k>>2]>>2];c[l+4>>2]=e;c[l+8>>2]=f;c[m>>2]=Gh(b,35739,l)|0;mx(c[(c[j>>2]|0)+8>>2]|0,162,c[(c[j>>2]|0)+420>>2]|0,0,0,c[m>>2]|0,-1)|0;i=n;return}function bH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[h>>2]=c[(c[j>>2]|0)+20>>2],(c[h>>2]|0)!=0):0)?(c[c[h>>2]>>2]|0)==1:0)?(d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!(ig(c[k>>2]|0,35708)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[h>>2];break}if(!(ig(c[k>>2]|0,35712)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[h>>2]}}while(0);i=l;return c[g>>2]&255|0}function cH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;u=E+84|0;h=E+80|0;B=E+76|0;v=E+72|0;s=E+68|0;D=E+64|0;C=E+60|0;w=E+56|0;A=E+52|0;j=E+48|0;z=E+44|0;q=E+40|0;x=E+36|0;m=E+32|0;t=E+28|0;y=E+24|0;o=E+20|0;n=E+16|0;p=E+12|0;l=E+8|0;k=E+4|0;r=E;c[u>>2]=a;c[h>>2]=b;c[B>>2]=e;c[v>>2]=f;c[s>>2]=g;c[D>>2]=c[(c[u>>2]|0)+8>>2];c[C>>2]=c[(c[B>>2]|0)+24>>2];c[w>>2]=Wz(c[D>>2]|0)|0;c[j>>2]=0;c[q>>2]=c[c[B>>2]>>2];c[x>>2]=d[c[s>>2]>>0];c[m>>2]=c[(c[s>>2]|0)+8>>2];if(c[(c[B>>2]|0)+16>>2]|0){ix(c[D>>2]|0,14,c[(c[B>>2]|0)+12>>2]|0,c[(c[B>>2]|0)+16>>2]|0)|0;Yz(c[D>>2]|0,c[C>>2]|0)|0;_z(c[D>>2]|0,c[(c[B>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[B>>2]|0)+8>>2];if((c[x>>2]|0)==9|(c[x>>2]|0)==13|(c[x>>2]|0)==10){c[y>>2]=0;c[t>>2]=c[(c[s>>2]|0)+12>>2];c[p>>2]=c[v>>2]}else{c[y>>2]=vx(c[u>>2]|0)|0;c[t>>2]=CA(c[u>>2]|0,c[v>>2]|0)|0;c[p>>2]=c[v>>2]}c[o>>2]=(c[c[q>>2]>>2]|0)-(c[(c[B>>2]|0)+4>>2]|0);if((d[(c[B>>2]|0)+28>>0]|0)&1){e=(c[u>>2]|0)+44|0;a=(c[e>>2]|0)+1|0;c[e>>2]=a;c[r>>2]=a;a=(c[u>>2]|0)+40|0;e=c[a>>2]|0;c[a>>2]=e+1;c[n>>2]=e;if(c[(c[B>>2]|0)+16>>2]|0)c[j>>2]=fx(c[D>>2]|0,20)|0;jx(c[D>>2]|0,110,c[n>>2]|0,c[r>>2]|0,(c[o>>2]|0)+1+(c[p>>2]|0)|0)|0;if(c[j>>2]|0)Zz(c[D>>2]|0,c[j>>2]|0);c[A>>2]=1+(ix(c[D>>2]|0,55,c[z>>2]|0,c[C>>2]|0)|0);fH(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[w>>2]|0);jx(c[D>>2]|0,120,c[z>>2]|0,c[r>>2]|0,c[n>>2]|0)|0;c[k>>2]=0}else{c[A>>2]=1+(ix(c[D>>2]|0,56,c[z>>2]|0,c[C>>2]|0)|0);fH(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[w>>2]|0);c[n>>2]=c[z>>2];c[k>>2]=1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;jx(c[D>>2]|0,96,c[n>>2]|0,(c[o>>2]|0)+(c[k>>2]|0)+(c[l>>2]|0)|0,(c[t>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}a:do switch(c[x>>2]|0){case 12:{ix(c[D>>2]|0,114,c[m>>2]|0,c[y>>2]|0)|0;jx(c[D>>2]|0,115,c[m>>2]|0,c[t>>2]|0,c[y>>2]|0)|0;Jh(c[D>>2]|0,8);break}case 11:{mx(c[D>>2]|0,99,c[t>>2]|0,c[v>>2]|0,c[y>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[v>>2]|0)|0;WA(c[u>>2]|0,c[t>>2]|0,c[v>>2]|0);ix(c[D>>2]|0,126,c[m>>2]|0,c[y>>2]|0)|0;break}case 10:break;default:{h=c[D>>2]|0;j=c[s>>2]|0;if((c[x>>2]|0)==9){ix(h,87,c[j+12>>2]|0,c[v>>2]|0)|0;WA(c[u>>2]|0,c[(c[s>>2]|0)+12>>2]|0,c[v>>2]|0);break a}else{Sz(h,16,c[j+8>>2]|0)|0;break a}}}while(0);if(c[y>>2]|0){j=c[u>>2]|0;h=c[t>>2]|0;if((c[x>>2]|0)==11)FA(j,h,c[v>>2]|0);else xx(j,h);xx(c[u>>2]|0,c[y>>2]|0)}_z(c[D>>2]|0,c[w>>2]|0);k=c[D>>2]|0;j=c[z>>2]|0;h=c[A>>2]|0;if((d[(c[B>>2]|0)+28>>0]|0)&1)ix(k,3,j,h)|0;else ix(k,7,j,h)|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){B=c[D>>2]|0;D=c[C>>2]|0;_z(B,D);i=E;return}Sz(c[D>>2]|0,72,c[(c[B>>2]|0)+12>>2]|0)|0;B=c[D>>2]|0;D=c[C>>2]|0;_z(B,D);i=E;return}function dH(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;v=A+8|0;u=A;h=A+72|0;j=A+68|0;k=A+64|0;t=A+60|0;n=A+56|0;p=A+52|0;l=A+48|0;m=A+44|0;s=A+40|0;q=A+36|0;y=A+32|0;r=A+28|0;x=A+24|0;o=A+20|0;z=A+16|0;w=A+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[c[h>>2]>>2];if(a[(c[h>>2]|0)+409>>0]|0){i=A;return}if(d[(c[h>>2]|0)+16>>0]|0){i=A;return}if(d[(c[l>>2]|0)+69>>0]|0){i=A;return}a[(c[h>>2]|0)+16>>0]=1;c[m>>2]=(c[(c[l>>2]|0)+24>>2]&4|0)!=0&1;c[s>>2]=(c[(c[l>>2]|0)+24>>2]&64|0)!=0&1;mC(c[t>>2]|0,c[c[k>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[q>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[q>>2]|0){if(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[y>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];nC(c[t>>2]|0,c[n>>2]|0,0,c[y>>2]|0,-1)|0;break}if((d[c[q>>2]>>0]|0)!=152?(d[c[q>>2]>>0]|0)!=154:0){c[w>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[l>>2]|0;if(!(c[w>>2]|0)){c[v>>2]=(c[n>>2]|0)+1;g=Gh(g,35699,v)|0}else g=qh(g,c[w>>2]|0)|0;c[w>>2]=g;nC(c[t>>2]|0,c[n>>2]|0,0,c[w>>2]|0,170)|0;break}c[o>>2]=b[(c[q>>2]|0)+32>>1];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0)==(c[(c[q>>2]|0)+28>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[r>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[x>>2]=24745;else c[x>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(!((c[s>>2]|0)!=0|(c[m>>2]|0)!=0)){e=c[t>>2]|0;f=c[n>>2]|0;nC(e,f,0,qh(c[l>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(c[m>>2]|0){c[z>>2]=0;f=c[l>>2]|0;e=c[x>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=e;c[z>>2]=Gh(f,30161,u)|0;nC(c[t>>2]|0,c[n>>2]|0,0,c[z>>2]|0,170)|0;break}else{nC(c[t>>2]|0,c[n>>2]|0,0,c[x>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}eH(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=A;return}function eH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+64|0;m=l+56|0;n=l+52|0;e=l+48|0;j=l+44|0;f=l+40|0;h=l+8|0;g=l+4|0;k=l;c[m>>2]=a;c[n>>2]=b;c[e>>2]=d;c[j>>2]=c[(c[m>>2]|0)+8>>2];c[h+4>>2]=c[n>>2];c[h>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=dy(h,c[g>>2]|0,0)|0;nC(c[j>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function fH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}jx(c[e>>2]|0,66,c[f>>2]|0,c[g>>2]|0,1)|0;i=h;return}function gH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+24|0;k=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=vx(c[j>>2]|0)|0;Ih(c[l>>2]|0,31,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;jx(c[l>>2]|0,99,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;ix(c[l>>2]|0,126,c[k>>2]|0,c[h>>2]|0)|0;xx(c[j>>2]|0,c[h>>2]|0);i=g;return}function hH(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;t=A+64|0;h=A+60|0;u=A+56|0;w=A+52|0;q=A+48|0;z=A+44|0;r=A+40|0;x=A+36|0;p=A+32|0;m=A+28|0;k=A+24|0;j=A+20|0;l=A+16|0;o=A+12|0;s=A+8|0;n=A+4|0;y=A;v=A+68|0;c[h>>2]=f;c[u>>2]=g;c[q>>2]=c[(c[h>>2]|0)+24>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];c[x>>2]=c[(c[q>>2]|0)+12>>2];switch(d[c[u>>2]>>0]|0){case 152:case 154:{a:do if(c[r>>2]|0){c[p>>2]=(c[r>>2]|0)+8;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[r>>2]>>2]|0))break a;if((c[(c[u>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+44>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[m>>2]=c[(c[x>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+8>>2]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+24}if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0)?(y=jH(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,c[k>>2]=y,(y|0)>=0):0){c[m>>2]=(c[(c[x>>2]|0)+28>>2]|0)+((c[k>>2]|0)*24|0);c[c[m>>2]>>2]=c[(c[u>>2]|0)+44>>2];c[(c[m>>2]|0)+4>>2]=c[(c[u>>2]|0)+28>>2];c[(c[m>>2]|0)+8>>2]=b[(c[u>>2]|0)+32>>1];y=(c[z>>2]|0)+44|0;z=(c[y>>2]|0)+1|0;c[y>>2]=z;c[(c[m>>2]|0)+16>>2]=z;c[(c[m>>2]|0)+12>>2]=-1;c[(c[m>>2]|0)+20>>2]=c[u>>2];b:do if(c[(c[x>>2]|0)+24>>2]|0){c[o>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[o>>2]|0)+4>>2];c[l>>2]=c[c[o>>2]>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;c[n>>2]=c[c[s>>2]>>2];if(((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0):0)?(b[(c[n>>2]|0)+32>>1]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}c[(c[m>>2]|0)+12>>2]=c[j>>2]}while(0);if((c[(c[m>>2]|0)+12>>2]|0)<0){y=(c[x>>2]|0)+12|0;z=c[y>>2]|0;c[y>>2]=z+1;c[(c[m>>2]|0)+12>>2]=z}}c[(c[u>>2]|0)+40>>2]=c[x>>2];a[c[u>>2]>>0]=-102;b[(c[u>>2]|0)+34>>1]=c[k>>2]}while(0);c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}case 153:{if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[h>>2]|0)+16>>2]|0)==(d[(c[u>>2]|0)+38>>0]|0):0){c[y>>2]=c[(c[x>>2]|0)+40>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0))break;if(!(Ky(c[c[y>>2]>>2]|0,c[u>>2]|0,-1)|0))break;c[w>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+16}do if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0)?(a[v>>0]=a[(c[c[z>>2]>>2]|0)+66>>0]|0,c[w>>2]=kH(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,(c[w>>2]|0)>=0):0){c[y>>2]=(c[(c[x>>2]|0)+40>>2]|0)+(c[w>>2]<<4);c[c[y>>2]>>2]=c[u>>2];s=(c[z>>2]|0)+44|0;f=(c[s>>2]|0)+1|0;c[s>>2]=f;c[(c[y>>2]|0)+8>>2]=f;if(c[(c[u>>2]|0)+20>>2]|0)h=c[c[(c[u>>2]|0)+20>>2]>>2]|0;else h=0;v=ki(c[c[z>>2]>>2]|0,c[(c[u>>2]|0)+8>>2]|0,h,a[v>>0]|0,0)|0;c[(c[y>>2]|0)+4>>2]=v;if(c[(c[u>>2]|0)+4>>2]&16){v=(c[z>>2]|0)+40|0;z=c[v>>2]|0;c[v>>2]=z+1;c[(c[y>>2]|0)+12>>2]=z;break}else{c[(c[y>>2]|0)+12>>2]=-1;break}}while(0);b[(c[u>>2]|0)+34>>1]=c[w>>2];c[(c[u>>2]|0)+40>>2]=c[x>>2];c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}default:{c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}}return 0}function iH(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function jH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=SC(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;i=e;return c[d>>2]|0}function kH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=SC(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;i=e;return c[d>>2]|0}function lH(b,f,g,h,j,k,l){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;r=L+96|0;s=L+92|0;m=L+88|0;n=L+84|0;o=L+80|0;t=L+76|0;p=L+72|0;K=L+68|0;x=L+64|0;A=L+60|0;q=L+56|0;H=L+52|0;J=L+48|0;C=L+44|0;D=L+40|0;z=L+36|0;I=L+32|0;v=L+28|0;w=L+24|0;F=L+20|0;B=L+16|0;E=L+12|0;u=L+8|0;G=L+4|0;y=L;c[r>>2]=b;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[t>>2]=k;c[p>>2]=l;c[K>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=(d[(c[s>>2]|0)+28>>0]&1|0)==0&1;c[A>>2]=c[c[c[s>>2]>>2]>>2];c[q>>2]=(c[A>>2]|0)+(c[x>>2]|0)+(c[t>>2]|0);h=(c[r>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[J>>2]=j;c[C>>2]=c[(c[s>>2]|0)+4>>2];if(c[p>>2]|0)c[H>>2]=(c[n>>2]|0)-(c[A>>2]|0)-(c[x>>2]|0);else{c[H>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;j=(c[r>>2]|0)+44|0;c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0)}k=c[m>>2]|0;if(c[(c[m>>2]|0)+16>>2]|0)k=(c[k+16>>2]|0)+1|0;else k=c[k+12>>2]|0;c[z>>2]=k;m=Wz(c[K>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=m;aB(c[r>>2]|0,c[c[s>>2]>>2]|0,c[H>>2]|0,c[o>>2]|0,5)|0;if(c[x>>2]|0)ix(c[K>>2]|0,113,c[(c[s>>2]|0)+8>>2]|0,(c[H>>2]|0)+(c[A>>2]|0)|0)|0;if(!(c[p>>2]|0))XG(c[r>>2]|0,c[n>>2]|0,(c[H>>2]|0)+(c[A>>2]|0)+(c[x>>2]|0)|0,c[t>>2]|0);jx(c[K>>2]|0,99,(c[H>>2]|0)+(c[C>>2]|0)|0,(c[q>>2]|0)-(c[C>>2]|0)|0,c[J>>2]|0)|0;if((c[C>>2]|0)>0){c[I>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;k=(c[r>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[(c[s>>2]|0)+4>>2]|0);c[B>>2]=(c[A>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0)+(c[x>>2]|0);k=c[K>>2]|0;if(c[x>>2]|0)c[v>>2]=Sz(k,22,(c[H>>2]|0)+(c[A>>2]|0)|0)|0;else c[v>>2]=Sz(k,109,c[(c[s>>2]|0)+8>>2]|0)|0;jx(c[K>>2]|0,95,c[I>>2]|0,c[H>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;c[F>>2]=eA(c[K>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;if(a[(c[c[r>>2]>>2]|0)+69>>0]|0){i=L;return}c[(c[F>>2]|0)+8>>2]=(c[B>>2]|0)+(c[t>>2]|0);c[E>>2]=c[(c[F>>2]|0)+16>>2];VR(c[(c[E>>2]|0)+16>>2]|0,0,e[(c[E>>2]|0)+6>>1]|0)|0;Mh(c[K>>2]|0,-1,c[E>>2]|0,-6);E=JG(c[r>>2]|0,c[c[s>>2]>>2]|0,c[C>>2]|0,(e[(c[E>>2]|0)+8>>1]|0)-1|0)|0;c[(c[F>>2]|0)+16>>2]=E;c[w>>2]=wx(c[K>>2]|0)|0;jx(c[K>>2]|0,18,(c[w>>2]|0)+1|0,0,(c[w>>2]|0)+1|0)|0;E=Wz(c[K>>2]|0)|0;c[(c[s>>2]|0)+16>>2]=E;E=(c[r>>2]|0)+44|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[(c[s>>2]|0)+12>>2]=F;ix(c[K>>2]|0,14,c[(c[s>>2]|0)+12>>2]|0,c[(c[s>>2]|0)+16>>2]|0)|0;Sz(c[K>>2]|0,133,c[(c[s>>2]|0)+8>>2]|0)|0;if(c[z>>2]|0)ix(c[K>>2]|0,22,c[z>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;Zz(c[K>>2]|0,c[v>>2]|0);XG(c[r>>2]|0,c[H>>2]|0,c[I>>2]|0,c[(c[s>>2]|0)+4>>2]|0);Zz(c[K>>2]|0,c[w>>2]|0)}if(d[(c[s>>2]|0)+28>>0]&1)c[D>>2]=125;else c[D>>2]=126;ix(c[K>>2]|0,c[D>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[J>>2]|0)|0;if(!(c[z>>2]|0)){i=L;return}c[G>>2]=0;c[u>>2]=jx(c[K>>2]|0,67,c[z>>2]|0,0,1)|0;Sz(c[K>>2]|0,53,c[(c[s>>2]|0)+8>>2]|0)|0;if(a[(c[s>>2]|0)+29>>0]|0){I=(c[r>>2]|0)+44|0;J=(c[I>>2]|0)+1|0;c[I>>2]=J;c[G>>2]=J;jx(c[K>>2]|0,96,c[(c[s>>2]|0)+8>>2]|0,c[A>>2]|0,c[G>>2]|0)|0}Sz(c[K>>2]|0,117,c[(c[s>>2]|0)+8>>2]|0)|0;if(a[(c[s>>2]|0)+29>>0]|0){c[y>>2]=(wx(c[K>>2]|0)|0)+2;jx(c[K>>2]|0,37,(c[H>>2]|0)+(c[A>>2]|0)|0,c[y>>2]|0,c[G>>2]|0)|0;Jh(c[K>>2]|0,-128)}Zz(c[K>>2]|0,c[u>>2]|0);i=L;return}function mH(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;m=q+20|0;j=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[j>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[k>>2]=Iy(c[j>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;iv(c[j>>2]|0,c[n>>2]|0);c[n>>2]=c[k>>2];break}else l=8;while(0);do if((l|0)==8){e=mH(c[j>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=mH(c[j>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;j=c[j>>2]|0;e=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048){nH(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{oH(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;i=q;return p|0}function nH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[j>>2]|0)){i=q;return}while(1){oH(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0,c[l>>2]|0);oH(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0);oH(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,c[l>>2]|0);f=mH(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+40>>2]=f;f=mH(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=f;c[p>>2]=c[(c[j>>2]|0)+28>>2];c[n>>2]=c[c[p>>2]>>2];c[o>>2]=(c[p>>2]|0)+8;while(1){if((c[n>>2]|0)<=0)break;nH(c[h>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[k>>2]|0,c[l>>2]|0,1);if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1)oH(c[h>>2]|0,c[(c[o>>2]|0)+64>>2]|0,c[k>>2]|0,c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+72}if(!(c[m>>2]|0)){h=9;break}f=c[(c[j>>2]|0)+48>>2]|0;c[j>>2]=f;if(!f){h=9;break}}if((h|0)==9){i=q;return}}function oH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=mH(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function pH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=1;c[l>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[g>>2]=c[(c[g>>2]|0)+48>>2];c[j>>2]=(c[j>>2]|0)+1}while(1){if(!(c[g>>2]|0)){f=7;break}c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=0;c[l>>2]=Pv(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+48>>2]=c[k>>2];if(c[l>>2]|0){f=7;break}b[(c[g>>2]|0)+6>>1]=c[j>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((f|0)==7){i=m;return c[l>>2]|0}return 0}function qH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+128|0;F=G;o=G+120|0;p=G+116|0;q=G+112|0;g=G+108|0;l=G+104|0;E=G+100|0;A=G+96|0;t=G+92|0;s=G+88|0;r=G+84|0;v=G+80|0;B=G+76|0;w=G+72|0;k=G+68|0;j=G+64|0;u=G+40|0;f=G+32|0;n=G+28|0;z=G+24|0;x=G+20|0;y=G+16|0;C=G+12|0;D=G+8|0;m=G+4|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[g>>2]=c[(c[p>>2]|0)+28>>2];c[l>>2]=c[c[c[p>>2]>>2]>>2];c[E>>2]=c[(c[o>>2]|0)+8>>2];c[A>>2]=c[(c[p>>2]|0)+48>>2];c[v>>2]=0;c[k>>2]=0;c[j>>2]=5;if(ax(c[o>>2]|0,33,0,0,0)|0){i=G;return}c[r>>2]=Wz(c[E>>2]|0)|0;KG(c[o>>2]|0,c[p>>2]|0,c[r>>2]|0);c[x>>2]=c[(c[p>>2]|0)+56>>2];c[y>>2]=c[(c[p>>2]|0)+60>>2];c[C>>2]=c[(c[p>>2]|0)+12>>2];c[D>>2]=c[(c[p>>2]|0)+16>>2];c[(c[p>>2]|0)+60>>2]=0;c[(c[p>>2]|0)+56>>2]=0;c[(c[p>>2]|0)+16>>2]=0;c[(c[p>>2]|0)+12>>2]=0;c[z>>2]=c[(c[p>>2]|0)+44>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=c[f>>2]|0;if((d[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){h=5;break}c[f>>2]=b+1}if((h|0)==5)c[v>>2]=c[(c[g>>2]|0)+8+(b*72|0)+44>>2];h=(c[o>>2]|0)+40|0;b=c[h>>2]|0;c[h>>2]=b+1;c[w>>2]=b;b=(c[z>>2]|0)!=0;if((d[(c[p>>2]|0)+4>>0]|0|0)==115){c[j>>2]=b?8:6;g=(c[o>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[k>>2]=h}else c[j>>2]=b?7:5;vB(u,c[j>>2]|0,c[w>>2]|0);h=(c[o>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[B>>2]=j;jx(c[E>>2]|0,110,c[v>>2]|0,c[B>>2]|0,c[l>>2]|0)|0;if(c[z>>2]|0){c[m>>2]=uH(c[o>>2]|0,c[p>>2]|0,1)|0;mx(c[E>>2]|0,107,c[w>>2]|0,(c[c[z>>2]>>2]|0)+2|0,0,c[m>>2]|0,-6)|0;c[u+20>>2]=c[z>>2]}else ix(c[E>>2]|0,107,c[w>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){m=ix(c[E>>2]|0,107,c[k>>2]|0,0)|0;c[(c[p>>2]|0)+20>>2]=m;m=(c[p>>2]|0)+8|0;c[m>>2]=c[m>>2]|32}c[(c[p>>2]|0)+44>>2]=0;c[(c[A>>2]|0)+52>>2]=0;c[n>>2]=Pv(c[o>>2]|0,c[A>>2]|0,u)|0;c[(c[A>>2]|0)+52>>2]=c[p>>2];if(!(c[n>>2]|0)){c[t>>2]=ix(c[E>>2]|0,57,c[w>>2]|0,c[r>>2]|0)|0;Sz(c[E>>2]|0,124,c[v>>2]|0)|0;b=c[E>>2]|0;e=c[w>>2]|0;if(c[z>>2]|0)jx(b,96,e,(c[c[z>>2]>>2]|0)+1|0,c[B>>2]|0)|0;else ix(b,122,e,c[B>>2]|0)|0;Sz(c[E>>2]|0,117,c[w>>2]|0)|0;c[s>>2]=Wz(c[E>>2]|0)|0;fH(c[E>>2]|0,c[D>>2]|0,c[s>>2]|0);SG(c[o>>2]|0,c[p>>2]|0,c[c[p>>2]>>2]|0,c[v>>2]|0,0,0,c[q>>2]|0,c[s>>2]|0,c[r>>2]|0);if(c[C>>2]|0)ix(c[E>>2]|0,68,c[C>>2]|0,c[r>>2]|0)|0;_z(c[E>>2]|0,c[s>>2]|0);if(c[(c[p>>2]|0)+8>>2]&8)Eh(c[o>>2]|0,35980,F);else{c[(c[p>>2]|0)+48>>2]=0;Pv(c[o>>2]|0,c[p>>2]|0,u)|0;c[(c[p>>2]|0)+48>>2]=c[A>>2]}Yz(c[E>>2]|0,c[t>>2]|0)|0;_z(c[E>>2]|0,c[r>>2]|0)}ev(c[c[o>>2]>>2]|0,c[(c[p>>2]|0)+44>>2]|0);c[(c[p>>2]|0)+44>>2]=c[z>>2];c[(c[p>>2]|0)+56>>2]=c[x>>2];c[(c[p>>2]|0)+60>>2]=c[y>>2];i=G;return}function rH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=i;i=i+224|0;q=ba+220|0;r=ba+216|0;s=ba+212|0;t=ba+208|0;j=ba+204|0;k=ba+200|0;S=ba+196|0;aa=ba+192|0;H=ba+168|0;I=ba+144|0;T=ba+140|0;U=ba+136|0;E=ba+132|0;F=ba+128|0;X=ba+124|0;Y=ba+120|0;C=ba+116|0;D=ba+112|0;z=ba+108|0;A=ba+104|0;B=ba+100|0;y=ba+96|0;w=ba+92|0;x=ba+88|0;V=ba+84|0;W=ba+80|0;Z=ba+76|0;_=ba+72|0;$=ba+68|0;L=ba+64|0;M=ba+60|0;v=ba+56|0;O=ba+52|0;Q=ba+48|0;R=ba+44|0;G=ba+40|0;p=ba+36|0;N=ba+32|0;u=ba+28|0;J=ba+24|0;K=ba+20|0;m=ba+16|0;o=ba+12|0;n=ba+8|0;l=ba+4|0;P=ba;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[D>>2]=0;c[Q>>2]=0;c[G>>2]=c[c[r>>2]>>2];c[aa>>2]=c[(c[r>>2]|0)+8>>2];c[M>>2]=Wz(c[aa>>2]|0)|0;c[L>>2]=Wz(c[aa>>2]|0)|0;c[O>>2]=d[(c[s>>2]|0)+4>>0];c[S>>2]=c[(c[s>>2]|0)+48>>2];c[p>>2]=c[(c[s>>2]|0)+44>>2];c[N>>2]=c[c[p>>2]>>2];a:do if((c[O>>2]|0)!=116){c[j>>2]=1;while(1){if(d[(c[G>>2]|0)+69>>0]|0)break a;if((c[j>>2]|0)>(c[c[c[s>>2]>>2]>>2]|0))break a;c[k>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[N>>2]|0))break;if((e[(c[m>>2]|0)+16>>1]|0)==(c[j>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((c[k>>2]|0)==(c[N>>2]|0)){c[o>>2]=Wv(c[G>>2]|0,134,0)|0;if(!(c[o>>2]|0))break;f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];c[p>>2]=Tv(c[r>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){h=c[j>>2]&65535;f=c[N>>2]|0;c[N>>2]=f+1;b[(c[(c[p>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=h}}c[j>>2]=(c[j>>2]|0)+1}c[q>>2]=7;aa=c[q>>2]|0;i=ba;return aa|0}while(0);c[u>>2]=Vw(c[G>>2]|0,(c[N>>2]|0)+1<<2,0)|0;if(c[u>>2]|0){c[c[u>>2]>>2]=c[N>>2];c[j>>2]=1;c[n>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[j>>2]|0)>(c[N>>2]|0))break;c[(c[u>>2]|0)+(c[j>>2]<<2)>>2]=(e[(c[n>>2]|0)+16>>1]|0)-1;c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[R>>2]=uH(c[r>>2]|0,c[s>>2]|0,1)|0}else c[R>>2]=0;c[(c[s>>2]|0)+44>>2]=c[p>>2];f=Qy(c[c[r>>2]>>2]|0,c[p>>2]|0,0)|0;c[(c[S>>2]|0)+44>>2]=f;b:do if((c[O>>2]|0)!=116){c[l>>2]=c[c[c[s>>2]>>2]>>2];c[Z>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;f=(c[r>>2]|0)+44|0;c[f>>2]=(c[f>>2]|0)+((c[l>>2]|0)+1);ix(c[aa>>2]|0,76,0,c[Z>>2]|0)|0;c[Q>>2]=iA(c[G>>2]|0,c[l>>2]|0,1)|0;if(c[Q>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;f=tH(c[r>>2]|0,c[s>>2]|0,c[j>>2]|0)|0;c[(c[Q>>2]|0)+20+(c[j>>2]<<2)>>2]=f;a[(c[(c[Q>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=0;c[j>>2]=(c[j>>2]|0)+1}}}else c[Z>>2]=0;while(0);c[(c[s>>2]|0)+48>>2]=0;c[(c[S>>2]|0)+52>>2]=0;Ty(c[r>>2]|0,c[s>>2]|0,c[(c[s>>2]|0)+44>>2]|0,29099)|0;if(!(c[(c[S>>2]|0)+48>>2]|0))Ty(c[r>>2]|0,c[S>>2]|0,c[(c[S>>2]|0)+44>>2]|0,29099)|0;KG(c[r>>2]|0,c[s>>2]|0,c[M>>2]|0);if((c[O>>2]|0)==116?(c[(c[s>>2]|0)+12>>2]|0)!=0:0){j=(c[r>>2]|0)+44|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;c[V>>2]=f;f=(c[r>>2]|0)+44|0;j=(c[f>>2]|0)+1|0;c[f>>2]=j;c[W>>2]=j;j=c[s>>2]|0;if(c[(c[s>>2]|0)+16>>2]|0)j=(c[j+16>>2]|0)+1|0;else j=c[j+12>>2]|0;ix(c[aa>>2]|0,84,j,c[V>>2]|0)|0;ix(c[aa>>2]|0,84,c[V>>2]|0,c[W>>2]|0)|0}else{c[W>>2]=0;c[V>>2]=0}iv(c[G>>2]|0,c[(c[s>>2]|0)+56>>2]|0);c[(c[s>>2]|0)+56>>2]=0;iv(c[G>>2]|0,c[(c[s>>2]|0)+60>>2]|0);c[(c[s>>2]|0)+60>>2]=0;f=(c[r>>2]|0)+44|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[T>>2]=p;p=(c[r>>2]|0)+44|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[U>>2]=f;f=(c[r>>2]|0)+44|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[X>>2]=p;p=(c[r>>2]|0)+44|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[Y>>2]=f;vB(H,13,c[T>>2]|0);vB(I,13,c[U>>2]|0);c[E>>2]=(wx(c[aa>>2]|0)|0)+1;c[v>>2]=jx(c[aa>>2]|0,15,c[T>>2]|0,0,c[E>>2]|0)|0;c[(c[S>>2]|0)+12>>2]=c[V>>2];c[J>>2]=c[(c[r>>2]|0)+424>>2];Pv(c[r>>2]|0,c[S>>2]|0,H)|0;YC(c[aa>>2]|0,c[T>>2]|0);Zz(c[aa>>2]|0,c[v>>2]|0);c[F>>2]=(wx(c[aa>>2]|0)|0)+1;c[v>>2]=jx(c[aa>>2]|0,15,c[U>>2]|0,0,c[F>>2]|0)|0;c[_>>2]=c[(c[s>>2]|0)+12>>2];c[$>>2]=c[(c[s>>2]|0)+16>>2];c[(c[s>>2]|0)+12>>2]=c[W>>2];c[(c[s>>2]|0)+16>>2]=0;c[K>>2]=c[(c[r>>2]|0)+424>>2];Pv(c[r>>2]|0,c[s>>2]|0,I)|0;c[(c[s>>2]|0)+12>>2]=c[_>>2];c[(c[s>>2]|0)+16>>2]=c[$>>2];YC(c[aa>>2]|0,c[U>>2]|0);c[C>>2]=vH(c[r>>2]|0,c[s>>2]|0,H,c[t>>2]|0,c[X>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)c[D>>2]=vH(c[r>>2]|0,c[s>>2]|0,I,c[t>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;jA(c[Q>>2]|0);if((c[O>>2]|0)==117|(c[O>>2]|0)==118){$=c[M>>2]|0;c[z>>2]=$;c[A>>2]=$}else{c[z>>2]=ix(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;c[A>>2]=ix(c[aa>>2]|0,16,c[U>>2]|0,c[M>>2]|0)|0;Yz(c[aa>>2]|0,c[z>>2]|0)|0;$=nE(b[(c[s>>2]|0)+6>>1]|0,b[(c[S>>2]|0)+6>>1]|0)|0;b[(c[s>>2]|0)+6>>1]=$}if((c[O>>2]|0)==118){c[B>>2]=c[z>>2];if((b[(c[s>>2]|0)+6>>1]|0)>(b[(c[S>>2]|0)+6>>1]|0))b[(c[s>>2]|0)+6>>1]=b[(c[S>>2]|0)+6>>1]|0}else{c[B>>2]=ix(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;ix(c[aa>>2]|0,16,c[T>>2]|0,c[M>>2]|0)|0;Yz(c[aa>>2]|0,c[B>>2]|0)|0}c[y>>2]=ix(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;ix(c[aa>>2]|0,16,c[T>>2]|0,c[z>>2]|0)|0;Yz(c[aa>>2]|0,c[L>>2]|0)|0;do if((c[O>>2]|0)!=116)if((c[O>>2]|0)==118){c[w>>2]=c[y>>2];c[y>>2]=(c[y>>2]|0)+1;break}else{c[w>>2]=ix(c[aa>>2]|0,16,c[T>>2]|0,c[z>>2]|0)|0;Yz(c[aa>>2]|0,c[L>>2]|0)|0;break}else c[w>>2]=c[y>>2];while(0);c[x>>2]=wx(c[aa>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)ix(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;ix(c[aa>>2]|0,16,c[U>>2]|0,c[B>>2]|0)|0;Yz(c[aa>>2]|0,c[L>>2]|0)|0;Zz(c[aa>>2]|0,c[v>>2]|0);ix(c[aa>>2]|0,16,c[T>>2]|0,c[A>>2]|0)|0;ix(c[aa>>2]|0,16,c[U>>2]|0,c[B>>2]|0)|0;_z(c[aa>>2]|0,c[L>>2]|0);mx(c[aa>>2]|0,94,0,0,0,c[u>>2]|0,-15)|0;mx(c[aa>>2]|0,95,c[H+12>>2]|0,c[I+12>>2]|0,c[N>>2]|0,c[R>>2]|0,-6)|0;Jh(c[aa>>2]|0,1);jx(c[aa>>2]|0,18,c[y>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;_z(c[aa>>2]|0,c[M>>2]|0);if((d[c[t>>2]>>0]|0)==9){c[P>>2]=c[S>>2];while(1){if(!(c[(c[P>>2]|0)+48>>2]|0))break;c[P>>2]=c[(c[P>>2]|0)+48>>2]}dH(c[r>>2]|0,c[(c[P>>2]|0)+28>>2]|0,c[c[P>>2]>>2]|0)}if(c[(c[s>>2]|0)+48>>2]|0)fv(c[G>>2]|0,c[(c[s>>2]|0)+48>>2]|0);c[(c[s>>2]|0)+48>>2]=c[S>>2];c[(c[S>>2]|0)+52>>2]=c[s>>2];sH(c[r>>2]|0,d[(c[s>>2]|0)+4>>0]|0,c[J>>2]|0,c[K>>2]|0,0);c[q>>2]=(c[(c[r>>2]|0)+36>>2]|0)!=0&1;aa=c[q>>2]|0;i=ba;return aa|0}function sH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;h=q+40|0;j=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;p=q+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[h>>2]|0)+409>>0]|0|0)!=2){i=q;return}c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[c[h>>2]>>2]|0;g=c[k>>2]|0;e=c[l>>2]|0;f=(c[m>>2]|0)!=0?35924:18402;b=Sy(c[j>>2]|0)|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=f;c[o+12>>2]=b;c[p>>2]=Gh(a,35943,o)|0;mx(c[n>>2]|0,162,c[(c[h>>2]|0)+420>>2]|0,0,0,c[p>>2]|0,-1)|0;i=q;return}function tH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+48>>2]|0)c[h>>2]=tH(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=fy(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function uH(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+40|0;h=r+36|0;s=r+32|0;o=r+28|0;l=r+24|0;j=r+20|0;p=r+16|0;k=r+12|0;n=r+8|0;q=r+4|0;m=r;c[g>>2]=b;c[h>>2]=d;c[s>>2]=f;c[o>>2]=c[(c[h>>2]|0)+44>>2];c[l>>2]=c[c[(c[h>>2]|0)+44>>2]>>2];c[j>>2]=c[c[g>>2]>>2];c[p>>2]=iA(c[j>>2]|0,(c[l>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[p>>2]|0)){s=c[p>>2]|0;i=r;return s|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0);c[q>>2]=c[c[n>>2]>>2];f=c[g>>2]|0;if(c[(c[q>>2]|0)+4>>2]&256)c[m>>2]=fy(f,c[q>>2]|0)|0;else{c[m>>2]=tH(f,c[h>>2]|0,(e[(c[n>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[(c[j>>2]|0)+8>>2];s=Wy(c[g>>2]|0,c[q>>2]|0,c[c[m>>2]>>2]|0)|0;c[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=s}c[(c[p>>2]|0)+20+(c[k>>2]<<2)>>2]=c[m>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+12>>0]|0;c[k>>2]=(c[k>>2]|0)+1}s=c[p>>2]|0;i=r;return s|0}function vH(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;m=D+64|0;n=D+60|0;o=D+56|0;p=D+52|0;q=D+48|0;r=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[C>>2]=c[(c[n>>2]|0)+8>>2];c[v>>2]=wx(c[C>>2]|0)|0;c[y>>2]=Wz(c[C>>2]|0)|0;if(c[s>>2]|0){c[w>>2]=Sz(c[C>>2]|0,22,c[s>>2]|0)|0;k=c[C>>2]|0;b=c[(c[p>>2]|0)+12>>2]|0;j=(c[s>>2]|0)+1|0;h=c[(c[p>>2]|0)+16>>2]|0;c[x>>2]=mx(k,95,b,j,h,nA(c[t>>2]|0)|0,-6)|0;jx(c[C>>2]|0,18,(c[x>>2]|0)+2|0,c[y>>2]|0,(c[x>>2]|0)+2|0)|0;Zz(c[C>>2]|0,c[w>>2]|0);jx(c[C>>2]|0,84,c[(c[p>>2]|0)+12>>2]|0,(c[s>>2]|0)+1|0,(c[(c[p>>2]|0)+16>>2]|0)-1|0)|0;ix(c[C>>2]|0,76,1,c[s>>2]|0)|0}if(a[(c[c[n>>2]>>2]|0)+69>>0]|0){c[m>>2]=0;C=c[m>>2]|0;i=D;return C|0}fH(c[C>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[y>>2]|0);switch(d[c[q>>2]>>0]|0){case 12:{c[z>>2]=vx(c[n>>2]|0)|0;c[B>>2]=vx(c[n>>2]|0)|0;jx(c[C>>2]|0,99,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[z>>2]|0)|0;ix(c[C>>2]|0,114,c[(c[q>>2]|0)+8>>2]|0,c[B>>2]|0)|0;jx(c[C>>2]|0,115,c[(c[q>>2]|0)+8>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;Jh(c[C>>2]|0,8);xx(c[n>>2]|0,c[B>>2]|0);xx(c[n>>2]|0,c[z>>2]|0);break}case 11:{c[A>>2]=vx(c[n>>2]|0)|0;mx(c[C>>2]|0,99,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[A>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;WA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0);ix(c[C>>2]|0,126,c[(c[q>>2]|0)+8>>2]|0,c[A>>2]|0)|0;xx(c[n>>2]|0,c[A>>2]|0);break}case 10:{XG(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+8>>2]|0,1);break}case 13:{if(!(c[(c[q>>2]|0)+12>>2]|0)){h=CA(c[n>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[q>>2]|0)+12>>2]=h;c[(c[q>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2]}XG(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0);Sz(c[C>>2]|0,16,c[(c[q>>2]|0)+8>>2]|0)|0;break}default:{ix(c[C>>2]|0,87,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;WA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0)}}if(c[(c[o>>2]|0)+12>>2]|0)ix(c[C>>2]|0,68,c[(c[o>>2]|0)+12>>2]|0,c[u>>2]|0)|0;_z(c[C>>2]|0,c[y>>2]|0);Sz(c[C>>2]|0,72,c[r>>2]|0)|0;c[m>>2]=c[v>>2];C=c[m>>2]|0;i=D;return C|0}function wH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if(!(c[(c[k>>2]|0)+24>>2]&524288)){i=o;return}if((d[(c[j>>2]|0)+42>>0]|0)&16){i=o;return}if(c[(c[j>>2]|0)+12>>2]|0){i=o;return}c[l>>2]=0;c[n>>2]=dx(c[g>>2]|0)|0;do if(!(Yx(c[j>>2]|0)|0)){c[m>>2]=c[(c[j>>2]|0)+16>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+24>>0]|0)break;if(c[(c[k>>2]|0)+24>>2]&33554432)break;c[m>>2]=c[(c[m>>2]|0)+4>>2]}if(c[m>>2]|0){c[l>>2]=Wz(c[n>>2]|0)|0;ix(c[n>>2]|0,65,1,c[l>>2]|0)|0;break}else{i=o;return}}while(0);a[(c[g>>2]|0)+150>>0]=1;f=c[g>>2]|0;cw(f,Gz(c[k>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+150>>0]=0;if(!(c[(c[k>>2]|0)+24>>2]&33554432)){f=c[n>>2]|0;ix(f,65,0,(wx(c[n>>2]|0)|0)+2|0)|0;tA(c[g>>2]|0,787,2,0,-2,4)}if(!(c[l>>2]|0)){i=o;return}_z(c[n>>2]|0,c[l>>2]|0);i=o;return}function xH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;g=r+48|0;h=r+44|0;j=r+40|0;k=r+36|0;o=r+32|0;l=r+28|0;n=r+24|0;m=r+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[o>>2]=dx(c[g>>2]|0)|0;rx(c[g>>2]|0,1,c[j>>2]|0);if((d[(c[h>>2]|0)+42>>0]|0)&16)fx(c[o>>2]|0,152)|0;c[n>>2]=zx(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;_B(c[g>>2]|0,c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+32>>2]}if((d[(c[h>>2]|0)+42>>0]|0)&8){n=c[g>>2]|0;b=c[c[h>>2]>>2]|0;c[p>>2]=c[c[m>>2]>>2];c[p+4>>2]=b;cx(n,36169,p)}p=c[g>>2]|0;b=(c[j>>2]|0)==1?19905:19924;n=c[c[h>>2]>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[q+4>>2]=b;c[q+8>>2]=n;cx(p,36214,q);if((c[k>>2]|0)==0?((d[(c[h>>2]|0)+42>>0]|0)&16|0)==0:0)yH(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[h>>2]|0)+42>>0]|0)&16)){o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;mx(o,138,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;ex(q,p);p=c[l>>2]|0;q=c[j>>2]|0;zH(p,q);i=r;return}mx(c[o>>2]|0,154,c[j>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;mx(o,138,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;ex(q,p);p=c[l>>2]|0;q=c[j>>2]|0;zH(p,q);i=r;return}function yH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;d=n+28|0;e=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;f=n;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[j>>2]=0;if(!((c[g>>2]|0)!=0?(c[k>>2]|0)>=(c[g>>2]|0):0))c[j>>2]=c[k>>2];c[l>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;c[h>>2]=c[(c[l>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[h>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[h>>2]|0)>(c[j>>2]|0)):0)c[j>>2]=c[h>>2];c[l>>2]=c[(c[l>>2]|0)+20>>2]}if(!(c[j>>2]|0))break;c[f>>2]=Fh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;RC(c[d>>2]|0,c[j>>2]|0,c[f>>2]|0);c[g>>2]=c[j>>2]}i=n;return}function zH(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=k;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[j>>2]|0)+12>>2]|0){AH(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+4>>2]=0;b[(c[j>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}j=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[j>>1]=(e[j>>1]|0)&-3;i=k;return}function AH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){i=j;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Tf(a,c[c[h>>2]>>2]|0);iv(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}Tf(a,c[(c[f>>2]|0)+4>>2]|0);i=j;return}function BH(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+144|0;h=p+128|0;j=p+124|0;k=p+120|0;l=p+116|0;m=p+112|0;o=p;n=p+80|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;f=o;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=1;c[o+8+8>>2]=c[c[j>>2]>>2];c[o+8+16>>2]=c[j>>2];c[o+8+44>>2]=-1;c[n>>2]=c[h>>2];c[n+4>>2]=o;b[n+28>>1]=c[k>>2];o=(Ay(n,c[l>>2]|0)|0)==0;if(!(o&(c[m>>2]|0)!=0)){i=p;return}By(n,c[m>>2]|0)|0;i=p;return}function CH(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=55;i=f;return}if((d[b>>0]|0|0)!=53){i=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){i=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=55;i=f;return}function DH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){f=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){f=4;break}}if((f|0)==4){c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else if((f|0)==5){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}return 0}function EH(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k=l+16|0;c[f>>2]=a;c[j>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[k>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[k>>1]|0)<0)a=1;else a=d[(c[g>>2]|0)+(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]<<4)+14>>0]|0;c[j>>2]=(c[j>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}k=Mj(c[j>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=k;i=l;return}function FH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;GH(c[e>>2]|0,c[f>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}Tf(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}function GH(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function HH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=xB(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;i=f;return b|0}function IH(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;h=v+52|0;j=v+48|0;q=v+44|0;s=v+40|0;p=v+36|0;l=v+32|0;n=v+28|0;k=v+24|0;t=v+20|0;r=v+16|0;m=v+8|0;o=v;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[c[h>>2]>>2];c[t>>2]=c[(c[h>>2]|0)+8>>2];a:do if(!(a[(c[k>>2]|0)+148+7>>0]|0)){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break a;if(d[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+15>>0]&1)a[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+12>>0]=2;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[h>>2]|0)+410>>0]|0){i=v;return}if(c[(c[h>>2]|0)+132>>2]|0)LG(c[t>>2]|0,c[(c[h>>2]|0)+132>>2]|0,-122);f=c[j>>2]|0;do if((b[(c[j>>2]|0)+32>>1]|0)>=0){Xy(m,c[(c[(c[j>>2]|0)+4>>2]|0)+(b[f+32>>1]<<4)>>2]|0);t=c[h>>2]|0;c[r>>2]=Tv(t,0,jw(c[k>>2]|0,55,m,0)|0)|0;if(!(c[r>>2]|0)){i=v;return}a[(c[(c[r>>2]|0)+4>>2]|0)+12>>0]=a[(c[h>>2]|0)+408>>0]|0;Iv(c[h>>2]|0,0,0,0,c[r>>2]|0,d[(c[j>>2]|0)+43>>0]|0,0,0,0,0,2);if(a[(c[k>>2]|0)+69>>0]|0){i=v;return}else{c[s>>2]=Jj(c[j>>2]|0)|0;b[(c[j>>2]|0)+32>>1]=-1;break}}else{c[s>>2]=Jj(f)|0;if(c[t>>2]|0)LG(c[t>>2]|0,c[(c[s>>2]|0)+44>>2]|0,13);c[n>>2]=1;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(e[(c[s>>2]|0)+50>>1]|0))break;if(DH(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0){t=(c[s>>2]|0)+52|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16}else{r=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;t=c[n>>2]|0;c[n>>2]=t+1;b[(c[(c[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=r}c[l>>2]=(c[l>>2]|0)+1}b[(c[s>>2]|0)+50>>1]=c[n>>2]}while(0);t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-33|32;if(!(a[(c[k>>2]|0)+148+7>>0]|0)){t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-9|8}c[p>>2]=e[(c[s>>2]|0)+50>>1];c[(c[s>>2]|0)+44>>2]=c[(c[j>>2]|0)+28>>2];c[q>>2]=c[(c[j>>2]|0)+8>>2];b:while(1){if(!(c[q>>2]|0))break;c:do if((a[(c[q>>2]|0)+55>>0]&3|0)!=2){c[o>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;if(!(DH(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0))c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(!(c[o>>2]|0)){b[(c[q>>2]|0)+52>>1]=b[(c[q>>2]|0)+50>>1]|0;break}if(NH(c[k>>2]|0,c[q>>2]|0,(e[(c[q>>2]|0)+50>>1]|0)+(c[o>>2]|0)|0)|0){u=50;break b}c[l>>2]=0;c[n>>2]=e[(c[q>>2]|0)+50>>1];while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break c;if(!(DH(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0)){b[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;c[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((u|0)==50){i=v;return}if((c[p>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0)){b[(c[s>>2]|0)+52>>1]=b[(c[j>>2]|0)+34>>1]|0;i=v;return}if(NH(c[k>>2]|0,c[s>>2]|0,b[(c[j>>2]|0)+34>>1]|0)|0){i=v;return}c[l>>2]=0;c[n>>2]=c[p>>2];while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!(DH(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,c[l>>2]|0)|0)){b[(c[(c[s>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[l>>2];c[(c[(c[s>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=34834;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=v;return}function JH(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)<=0)break;c[h>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+14>>0]|0);c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+16}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[h>>2]|0;g=g<<2;g=Mj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}c[h>>2]=(c[h>>2]|0)+1;g=c[h>>2]|0;g=g<<2;g=Mj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}function KH(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;q=w+16|0;p=w+8|0;g=w;h=w+68|0;f=w+64|0;j=w+60|0;k=w+56|0;l=w+52|0;n=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;r=w+32|0;o=w+28|0;m=w+24|0;v=w+20|0;c[f>>2]=d;c[j>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;e=(LH(c[c[o>>2]>>2]|0)|0)+5|0;c[n>>2]=(c[n>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}e=LH(c[c[j>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+e;if((c[n>>2]|0)<50){c[s>>2]=18402;c[t>>2]=34710;c[r>>2]=34706}else{c[s>>2]=37369;c[t>>2]=37373;c[r>>2]=37378}c[n>>2]=(c[n>>2]|0)+(35+((b[(c[j>>2]|0)+34>>1]|0)*6|0));e=c[n>>2]|0;c[u>>2]=Ch(0,e,((e|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){mh(c[f>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}Qd(c[n>>2]|0,c[u>>2]|0,37381,g)|0;c[l>>2]=Jf(c[u>>2]|0)|0;MH(c[u>>2]|0,l,c[c[j>>2]>>2]|0);g=c[l>>2]|0;c[l>>2]=g+1;a[(c[u>>2]|0)+g>>0]=40;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){f=(c[n>>2]|0)-(c[l>>2]|0)|0;d=(c[u>>2]|0)+(c[l>>2]|0)|0;if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;Qd(f,d,c[s>>2]|0,p)|0;g=Jf((c[u>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+g;c[s>>2]=c[t>>2];MH(c[u>>2]|0,l,c[c[o>>2]>>2]|0);c[v>>2]=c[5492+((a[(c[o>>2]|0)+13>>0]|0)-65<<2)>>2];c[m>>2]=Jf(c[v>>2]|0)|0;TR((c[u>>2]|0)+(c[l>>2]|0)|0,c[v>>2]|0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}c[q>>2]=c[r>>2];Qd(f,d,18391,q)|0;c[h>>2]=c[u>>2];v=c[h>>2]|0;i=w;return v|0}function LH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}i=f;return (c[e>>2]|0)+2|0}function MH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;o=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[18403+(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if(((d[18403+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(Di(c[m>>2]|0,c[k>>2]|0)|0)==55:0)?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)e=(c[k>>2]|0)==0;else e=1;c[l>>2]=e&1;if(c[l>>2]|0){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;f=a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=f;if((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==34){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[l>>2]|0)){m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}m=c[j>>2]|0;c[j>>2]=m+1;a[(c[g>>2]|0)+m>>0]=34;m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}function NH(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if((e[(c[k>>2]|0)+52>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=(c[l>>2]|0)*7;f=c[m>>2]|0;c[n>>2]=sh(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}else{TR(c[n>>2]|0,c[(c[k>>2]|0)+32>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[k>>2]|0)+32>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<2);TR(c[n>>2]|0,c[(c[k>>2]|0)+4>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[k>>2]|0)+4>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<1);TR(c[n>>2]|0,c[(c[k>>2]|0)+28>>2]|0,e[(c[k>>2]|0)+52>>1]|0|0)|0;c[(c[k>>2]|0)+28>>2]=c[n>>2];b[(c[k>>2]|0)+52>>1]=c[l>>2];n=(c[k>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}return 0}function OH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=dx(c[d>>2]|0)|0;Tz(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?19905:19924);Ih(c[g>>2]|0,105,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+40>>2]|0){i=e;return}c[(c[d>>2]|0)+40>>2]=1;i=e;return}function PH(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[b>>2]=a;c[h>>2]=dx(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+112>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+116>>2]|0)+(c[e>>2]<<4);c[g>>2]=c[c[f>>2]>>2];mx(c[h>>2]|0,151,c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|0,c[(c[f>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=j;return}function QH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;h=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;e=l;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=c[(c[d>>2]|0)+8>>2];c[h>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[h>>2]|0)){d=5;break}c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[h>>2]|0)+12>>2];Uz(c[d>>2]|0,0,c[(c[h>>2]|0)+8>>2]|0,c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0,104);hx(c[k>>2]|0,(c[g>>2]|0)-1|0,c[c[(c[h>>2]|0)+4>>2]>>2]|0)|0;c[e>>2]=Kh(c[k>>2]|0,10,37557,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+12>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+4>>2]=(c[g>>2]|0)-1;c[(c[e>>2]|0)+60+12>>2]=c[g>>2];a[(c[e>>2]|0)+60+3>>0]=16;c[(c[e>>2]|0)+80+8>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+100+12>>2]=c[g>>2];c[(c[e>>2]|0)+160+8>>2]=c[g>>2];c[h>>2]=c[c[h>>2]>>2]}if((d|0)==5){i=l;return}}function RH(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];Rd(21,39546,d);i=b;return} -function gw(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+304|0;C=oa+32|0;B=oa+16|0;A=oa;F=oa+284|0;G=oa+280|0;H=oa+276|0;I=oa+272|0;J=oa+268|0;P=oa+264|0;ca=oa+260|0;k=oa+256|0;R=oa+252|0;Z=oa+248|0;V=oa+244|0;na=oa+240|0;aa=oa+236|0;_=oa+232|0;$=oa+228|0;S=oa+224|0;T=oa+220|0;W=oa+216|0;Q=oa+212|0;la=oa+208|0;N=oa+204|0;M=oa+200|0;p=oa+176|0;q=oa+172|0;ma=oa+291|0;O=oa+290|0;D=oa+289|0;o=oa+288|0;ba=oa+168|0;ha=oa+164|0;fa=oa+160|0;ja=oa+156|0;ia=oa+152|0;ka=oa+148|0;ga=oa+144|0;K=oa+140|0;Y=oa+136|0;da=oa+132|0;z=oa+128|0;x=oa+124|0;n=oa+120|0;t=oa+116|0;v=oa+112|0;w=oa+108|0;m=oa+104|0;y=oa+72|0;r=oa+68|0;u=oa+64|0;l=oa+60|0;s=oa+56|0;L=oa+52|0;U=oa+48|0;ea=oa+44|0;X=oa+40|0;c[F>>2]=e;c[G>>2]=f;c[H>>2]=g;c[I>>2]=h;c[J>>2]=j;c[$>>2]=0;c[S>>2]=0;c[T>>2]=0;c[W>>2]=-1;c[la>>2]=0;c[N>>2]=0;c[M>>2]=0;a[ma>>0]=0;a[O>>0]=0;c[ba>>2]=0;c[ha>>2]=0;c[fa>>2]=0;c[ja>>2]=0;c[K>>2]=0;c[P>>2]=c[c[F>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;a:do if((c[(c[F>>2]|0)+36>>2]|0)==0?(d[(c[P>>2]|0)+69>>0]|0)==0:0){if(((c[H>>2]|0)!=0?(c[(c[H>>2]|0)+8>>2]&512|0)!=0:0)?(c[(c[H>>2]|0)+48>>2]|0)==0:0){c[ba>>2]=c[c[H>>2]>>2];c[c[H>>2]>>2]=0;fv(c[P>>2]|0,c[H>>2]|0);c[H>>2]=0}c[k>>2]=c[(c[G>>2]|0)+8+8>>2];if((((((c[k>>2]|0)!=0?(c[ca>>2]=bC(c[F>>2]|0,c[G>>2]|0)|0,(c[ca>>2]|0)!=0):0)?(c[q>>2]=Fh(c[P>>2]|0,c[(c[ca>>2]|0)+64>>2]|0)|0,(ax(c[F>>2]|0,18,c[c[ca>>2]>>2]|0,0,c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0)|0)==0):0)?(a[D>>0]=((d[(c[ca>>2]|0)+42>>0]&32|0)==0^1)&1,c[da>>2]=TC(c[F>>2]|0,c[ca>>2]|0,108,0,z)|0,c[Y>>2]=(c[(c[ca>>2]|0)+12>>2]|0)!=0&1,(Tx(c[F>>2]|0,c[ca>>2]|0)|0)==0):0)?(UC(c[F>>2]|0,c[ca>>2]|0,c[z>>2]|0)|0)==0:0)?(c[na>>2]=dx(c[F>>2]|0)|0,(c[na>>2]|0)!=0):0){if(!(d[(c[F>>2]|0)+18>>0]|0))VC(c[na>>2]|0);rx(c[F>>2]|0,((c[H>>2]|0)!=0?1:(c[da>>2]|0)!=0)&1,c[q>>2]|0);if(!((c[I>>2]|0)==0?(WC(c[F>>2]|0,c[ca>>2]|0,c[H>>2]|0,c[J>>2]|0,c[q>>2]|0)|0)!=0:0))E=17;b:do if((E|0)==17){c[fa>>2]=XC(c[F>>2]|0,c[q>>2]|0,c[ca>>2]|0)|0;k=(c[(c[F>>2]|0)+44>>2]|0)+1|0;c[ia>>2]=k;c[ka>>2]=k;k=(c[F>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+((b[(c[ca>>2]|0)+34>>1]|0)+1);if(d[(c[ca>>2]|0)+42>>0]&16){c[ka>>2]=(c[ka>>2]|0)+1;k=(c[F>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+1}c[ga>>2]=(c[ka>>2]|0)+1;a[o>>0]=(d[(c[ca>>2]|0)+42>>0]&128|0)==0;c:do if(c[I>>2]|0){c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break;c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)+4>>2]=-1;c[R>>2]=(c[R>>2]|0)+1}c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break c;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;k=(ig(c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+(c[Z>>2]<<4)>>2]|0)|0)==0;j=c[Z>>2]|0;if(k){E=28;break}c[Z>>2]=j+1}do if((E|0)==28){E=0;c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)+4>>2]=j;if((c[R>>2]|0)!=(c[Z>>2]|0))a[o>>0]=0;if((c[Z>>2]|0)!=(b[(c[ca>>2]|0)+32>>1]|0))break;c[W>>2]=c[R>>2]}while(0);if((c[Z>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0)){k=(ui(c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)>>2]|0)|0)==0;if(k|(a[D>>0]|0)!=0)break;c[W>>2]=c[R>>2];a[o>>0]=0}c[R>>2]=(c[R>>2]|0)+1}na=c[F>>2]|0;ma=c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)>>2]|0;c[A>>2]=c[G>>2];c[A+4>>2]=0;c[A+8>>2]=ma;Eh(na,34261,A);a[(c[F>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[H>>2]|0)){c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[y+16>>2]=0;c[y+20>>2]=0;c[y+24>>2]=0;c[y+28>>2]=0;c[y>>2]=c[F>>2];c[la>>2]=-1;if(c[ba>>2]|0){c[_>>2]=c[c[ba>>2]>>2];if(By(y,c[ba>>2]|0)|0)break a;else break}else{c[_>>2]=0;break}}else{y=(c[F>>2]|0)+44|0;A=(c[y>>2]|0)+1|0;c[y>>2]=A;c[x>>2]=A;c[n>>2]=(wx(c[na>>2]|0)|0)+1;jx(c[na>>2]|0,15,c[x>>2]|0,0,c[n>>2]|0)|0;vB(p,13,c[x>>2]|0);c[p+12>>2]=(d[o>>0]|0)!=0?c[ga>>2]|0:0;c[p+16>>2]=b[(c[ca>>2]|0)+34>>1];c[t>>2]=Pv(c[F>>2]|0,c[H>>2]|0,p)|0;c[ha>>2]=c[p+12>>2];if(c[t>>2]|0)break a;if(d[(c[P>>2]|0)+69>>0]|0)break a;if(c[(c[F>>2]|0)+36>>2]|0)break a;YC(c[na>>2]|0,c[x>>2]|0);Zz(c[na>>2]|0,(c[n>>2]|0)-1|0);c[_>>2]=c[c[c[H>>2]>>2]>>2];if(!((c[da>>2]|0)==0?(ZC(c[F>>2]|0,c[q>>2]|0,c[ca>>2]|0)|0)==0:0))a[ma>>0]=1;if(!(a[ma>>0]|0))break;y=(c[F>>2]|0)+40|0;A=c[y>>2]|0;c[y>>2]=A+1;c[la>>2]=A;c[v>>2]=vx(c[F>>2]|0)|0;c[w>>2]=vx(c[F>>2]|0)|0;ix(c[na>>2]|0,107,c[la>>2]|0,c[_>>2]|0)|0;c[m>>2]=Sz(c[na>>2]|0,16,c[p+8>>2]|0)|0;jx(c[na>>2]|0,99,c[ha>>2]|0,c[_>>2]|0,c[v>>2]|0)|0;ix(c[na>>2]|0,114,c[la>>2]|0,c[w>>2]|0)|0;jx(c[na>>2]|0,115,c[la>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;Yz(c[na>>2]|0,c[m>>2]|0)|0;Zz(c[na>>2]|0,c[m>>2]|0);xx(c[F>>2]|0,c[v>>2]|0);xx(c[F>>2]|0,c[w>>2]|0)}while(0);if((c[I>>2]|0)==0&(c[_>>2]|0)>0)c[W>>2]=b[(c[ca>>2]|0)+32>>1];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;c[$>>2]=(c[$>>2]|0)+((d[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+15>>0]&2|0)!=0?1:0);c[R>>2]=(c[R>>2]|0)+1}if((c[I>>2]|0)==0&(c[_>>2]|0)!=0?(c[_>>2]|0)!=((b[(c[ca>>2]|0)+34>>1]|0)-(c[$>>2]|0)|0):0){na=c[F>>2]|0;la=(b[(c[ca>>2]|0)+34>>1]|0)-(c[$>>2]|0)|0;ma=c[_>>2]|0;c[B>>2]=c[G>>2];c[B+4>>2]=0;c[B+8>>2]=la;c[B+12>>2]=ma;Eh(na,34293,B);break a}do if(c[I>>2]|0){if((c[_>>2]|0)==(c[(c[I>>2]|0)+4>>2]|0))break;na=c[F>>2]|0;ma=c[(c[I>>2]|0)+4>>2]|0;c[C>>2]=c[_>>2];c[C+4>>2]=ma;Eh(na,34345,C);break a}while(0);if(c[(c[P>>2]|0)+24>>2]&128){B=(c[F>>2]|0)+44|0;C=(c[B>>2]|0)+1|0;c[B>>2]=C;c[ja>>2]=C;ix(c[na>>2]|0,76,0,c[ja>>2]|0)|0}d:do if(!(c[Y>>2]|0)){c[r>>2]=FC(c[F>>2]|0,c[ca>>2]|0,105,0,-1,0,S,T)|0;c[K>>2]=Vw(c[P>>2]|0,(c[r>>2]|0)+1<<2,0)|0;if(!(c[K>>2]|0))break a;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[r>>2]|0))break d;B=(c[F>>2]|0)+44|0;C=(c[B>>2]|0)+1|0;c[B>>2]=C;c[(c[K>>2]|0)+(c[R>>2]<<2)>>2]=C;c[R>>2]=(c[R>>2]|0)+1}}while(0);do if(a[ma>>0]|0){c[N>>2]=Sz(c[na>>2]|0,57,c[la>>2]|0)|0;c[M>>2]=wx(c[na>>2]|0)|0}else{if(!(c[H>>2]|0))break;C=Sz(c[na>>2]|0,16,c[p+8>>2]|0)|0;c[M>>2]=C;c[N>>2]=C}while(0);c[Q>>2]=Wz(c[na>>2]|0)|0;if(c[z>>2]&1){c[u>>2]=CA(c[F>>2]|0,(b[(c[ca>>2]|0)+34>>1]|0)+1|0)|0;if((c[W>>2]|0)<0)ix(c[na>>2]|0,76,-1,c[u>>2]|0)|0;else{if(a[ma>>0]|0)jx(c[na>>2]|0,96,c[la>>2]|0,c[W>>2]|0,c[u>>2]|0)|0;else RA(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0,c[u>>2]|0);c[l>>2]=Sz(c[na>>2]|0,35,c[u>>2]|0)|0;ix(c[na>>2]|0,76,-1,c[u>>2]|0)|0;Zz(c[na>>2]|0,c[l>>2]|0);Sz(c[na>>2]|0,17,c[u>>2]|0)|0}c[Z>>2]=0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;e:do if(c[I>>2]|0){c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break e;if((c[(c[c[I>>2]>>2]|0)+(c[Z>>2]<<3)+4>>2]|0)==(c[R>>2]|0))break e;c[Z>>2]=(c[Z>>2]|0)+1}}while(0);do if((a[ma>>0]|0)!=0|(c[ba>>2]|0)!=0){if((c[I>>2]|0)!=0?(c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0):0){E=90;break}if(a[ma>>0]|0){jx(c[na>>2]|0,96,c[la>>2]|0,c[Z>>2]|0,(c[u>>2]|0)+(c[R>>2]|0)+1|0)|0;break}else{_C(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0,(c[u>>2]|0)+(c[R>>2]|0)+1|0);break}}else E=90;while(0);if((E|0)==90){E=0;RA(c[F>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+4>>2]|0,(c[u>>2]|0)+(c[R>>2]|0)+1|0)}if(!(c[I>>2]|0))c[Z>>2]=(c[Z>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+1}if(!(c[Y>>2]|0))$C(c[na>>2]|0,c[ca>>2]|0,(c[u>>2]|0)+1|0);aD(c[F>>2]|0,c[da>>2]|0,108,0,1,c[ca>>2]|0,(c[u>>2]|0)-(b[(c[ca>>2]|0)+34>>1]|0)-1|0,c[J>>2]|0,c[Q>>2]|0);FA(c[F>>2]|0,c[u>>2]|0,(b[(c[ca>>2]|0)+34>>1]|0)+1|0)}do if(!(c[Y>>2]|0)){if(d[(c[ca>>2]|0)+42>>0]&16)ix(c[na>>2]|0,79,0,c[ia>>2]|0)|0;f:do if((c[W>>2]|0)>=0){do if(a[ma>>0]|0)jx(c[na>>2]|0,96,c[la>>2]|0,c[W>>2]|0,c[ka>>2]|0)|0;else{if(c[H>>2]|0){ix(c[na>>2]|0,84,(c[ha>>2]|0)+(c[W>>2]|0)|0,c[ka>>2]|0)|0;break}RA(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0,c[ka>>2]|0);c[s>>2]=eA(c[na>>2]|0,-1)|0;if(!(c[s>>2]|0))break;if((d[c[s>>2]>>0]|0)!=79)break;if(d[(c[ca>>2]|0)+42>>0]&16)break;a[O>>0]=1;a[c[s>>2]>>0]=114;c[(c[s>>2]|0)+4>>2]=c[S>>2];c[(c[s>>2]|0)+8>>2]=c[ka>>2];c[(c[s>>2]|0)+12>>2]=c[fa>>2]}while(0);if(a[O>>0]|0)break;j=c[na>>2]|0;if(d[(c[ca>>2]|0)+42>>0]&16){c[L>>2]=wx(j)|0;ix(c[na>>2]|0,34,c[ka>>2]|0,(c[L>>2]|0)+2|0)|0}else{c[L>>2]=Sz(j,35,c[ka>>2]|0)|0;jx(c[na>>2]|0,114,c[S>>2]|0,c[ka>>2]|0,c[fa>>2]|0)|0;Zz(c[na>>2]|0,c[L>>2]|0)}Sz(c[na>>2]|0,17,c[ka>>2]|0)|0}else{do if(!(d[(c[ca>>2]|0)+42>>0]&16)){if(d[D>>0]|0)break;jx(c[na>>2]|0,114,c[S>>2]|0,c[ka>>2]|0,c[fa>>2]|0)|0;a[O>>0]=1;break f}while(0);ix(c[na>>2]|0,79,0,c[ka>>2]|0)|0}while(0);bD(c[F>>2]|0,c[fa>>2]|0,c[ka>>2]|0);c[$>>2]=0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;c[U>>2]=(c[ka>>2]|0)+1+(c[R>>2]|0);g:do if((c[R>>2]|0)==(b[(c[ca>>2]|0)+32>>1]|0))Sz(c[na>>2]|0,80,c[U>>2]|0)|0;else{h:do if(!(c[I>>2]|0))if(d[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+15>>0]&2){c[Z>>2]=-1;c[$>>2]=(c[$>>2]|0)+1;break}else{c[Z>>2]=(c[R>>2]|0)-(c[$>>2]|0);break}else{c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break h;if((c[(c[c[I>>2]>>2]|0)+(c[Z>>2]<<3)+4>>2]|0)==(c[R>>2]|0))break h;c[Z>>2]=(c[Z>>2]|0)+1}}while(0);do if(!((c[Z>>2]|0)<0|(c[_>>2]|0)==0)){if((c[I>>2]|0)!=0?(c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0):0)break;if(a[ma>>0]|0){jx(c[na>>2]|0,96,c[la>>2]|0,c[Z>>2]|0,c[U>>2]|0)|0;break g}if(!(c[H>>2]|0)){RA(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0,c[U>>2]|0);break g}if((c[ha>>2]|0)==(c[ga>>2]|0))break g;ix(c[na>>2]|0,85,(c[ha>>2]|0)+(c[Z>>2]|0)|0,c[U>>2]|0)|0;break g}while(0);cD(c[F>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+4>>2]|0,c[U>>2]|0)}while(0);c[R>>2]=(c[R>>2]|0)+1}if(d[(c[ca>>2]|0)+42>>0]&16){c[ea>>2]=Ux(c[P>>2]|0,c[ca>>2]|0)|0;dD(c[F>>2]|0,c[ca>>2]|0);mx(c[na>>2]|0,12,1,(b[(c[ca>>2]|0)+34>>1]|0)+2|0,c[ia>>2]|0,c[ea>>2]|0,-10)|0;Jh(c[na>>2]|0,((c[J>>2]|0)==10?2:c[J>>2]|0)&255);Vx(c[F>>2]|0);break}else{eD(c[F>>2]|0,c[ca>>2]|0,c[K>>2]|0,c[S>>2]|0,c[T>>2]|0,c[ia>>2]|0,0,(c[W>>2]|0)>=0&255,c[J>>2]&255,c[Q>>2]|0,X,0);fD(c[F>>2]|0,c[ca>>2]|0,0,c[ia>>2]|0,0,0);gD(c[F>>2]|0,c[ca>>2]|0,c[S>>2]|0,c[T>>2]|0,c[ia>>2]|0,c[K>>2]|0,0,d[O>>0]|0,(c[X>>2]|0)==0&1);break}}while(0);if(c[(c[P>>2]|0)+24>>2]&128)ix(c[na>>2]|0,91,c[ja>>2]|0,1)|0;if(c[da>>2]|0)aD(c[F>>2]|0,c[da>>2]|0,108,0,2,c[ca>>2]|0,(c[ga>>2]|0)-2-(b[(c[ca>>2]|0)+34>>1]|0)|0,c[J>>2]|0,c[Q>>2]|0);_z(c[na>>2]|0,c[Q>>2]|0);do if(a[ma>>0]|0){ix(c[na>>2]|0,7,c[la>>2]|0,c[M>>2]|0)|0;Zz(c[na>>2]|0,c[N>>2]|0);Sz(c[na>>2]|0,111,c[la>>2]|0)|0}else{if(!(c[H>>2]|0))break;Yz(c[na>>2]|0,c[M>>2]|0)|0;Zz(c[na>>2]|0,c[N>>2]|0)}while(0);if((c[Y>>2]|0)!=0?1:(d[(c[ca>>2]|0)+42>>0]&16|0)!=0)break;if((c[S>>2]|0)<(c[T>>2]|0))Sz(c[na>>2]|0,111,c[S>>2]|0)|0;c[V>>2]=0;c[aa>>2]=c[(c[ca>>2]|0)+8>>2];while(1){if(!(c[aa>>2]|0))break b;Sz(c[na>>2]|0,111,(c[V>>2]|0)+(c[T>>2]|0)|0)|0;c[aa>>2]=c[(c[aa>>2]|0)+20>>2];c[V>>2]=(c[V>>2]|0)+1}}while(0);if((d[(c[F>>2]|0)+18>>0]|0)==0?(c[(c[F>>2]|0)+128>>2]|0)==0:0)hD(c[F>>2]|0);if(((c[(c[P>>2]|0)+24>>2]&128|0)!=0?(a[(c[F>>2]|0)+18>>0]|0)==0:0)?(c[(c[F>>2]|0)+128>>2]|0)==0:0){ix(c[na>>2]|0,87,c[ja>>2]|0,1)|0;mC(c[na>>2]|0,1);nC(c[na>>2]|0,0,0,34370,0)|0}}}while(0);hv(c[P>>2]|0,c[G>>2]|0);ev(c[P>>2]|0,c[ba>>2]|0);fv(c[P>>2]|0,c[H>>2]|0);kv(c[P>>2]|0,c[I>>2]|0);Tf(c[P>>2]|0,c[K>>2]|0);i=oa;return}function hw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=sh(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}d=SC(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;e=c[e>>2]|0;if((c[j>>2]|0)<0){kv(e,c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else{h=Tw(e,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];j=c[f>>2]|0;i=k;return j|0}return 0}function iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function jw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=0;c[n>>2]=0;do if(c[l>>2]|0){if(((c[k>>2]|0)==134?(c[c[l>>2]>>2]|0)!=0:0)?(Qi(c[c[l>>2]>>2]|0,n)|0)!=0:0)break;c[o>>2]=(c[(c[l>>2]|0)+4>>2]|0)+1}while(0);c[p>>2]=Vw(c[j>>2]|0,48+(c[o>>2]|0)|0,0)|0;if(!(c[p>>2]|0)){p=c[p>>2]|0;i=q;return p|0}j=c[p>>2]|0;e=j+48|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(e|0));a[c[p>>2]>>0]=c[k>>2];b[(c[p>>2]|0)+34>>1]=-1;do if(c[l>>2]|0){j=c[p>>2]|0;if(!(c[o>>2]|0)){o=j+4|0;c[o>>2]=c[o>>2]|1024;c[(c[p>>2]|0)+8>>2]=c[n>>2];break}c[(c[p>>2]|0)+8>>2]=j+48;if(c[(c[l>>2]|0)+4>>2]|0)TR(c[(c[p>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0)|0;a[(c[(c[p>>2]|0)+8>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0)>>0]=0;if((c[m>>2]|0)!=0?(d[18403+(d[c[(c[p>>2]|0)+8>>2]>>0]|0)>>0]&128|0)!=0:0){if((a[c[(c[p>>2]|0)+8>>2]>>0]|0)==34){o=(c[p>>2]|0)+4|0;c[o>>2]=c[o>>2]|64}Zw(c[(c[p>>2]|0)+8>>2]|0)}}while(0);c[(c[p>>2]|0)+24>>2]=1;p=c[p>>2]|0;i=q;return p|0}function kw(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;q=u+16|0;p=u+8|0;g=u+44|0;h=u+40|0;j=u+36|0;m=u+32|0;s=u+28|0;r=u+50|0;n=u;l=u+24|0;o=u+48|0;k=u+20|0;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[c[g>>2]>>2];if(!(c[h>>2]|0)){i=u;return}c[s>>2]=c[(c[h>>2]|0)+8>>2];if(a[(c[s>>2]|0)+1>>0]|0){do if((a[c[s>>2]>>0]|0)!=63){b[r>>1]=0;b[o>>1]=0;while(1){if((b[o>>1]|0)>=(c[(c[g>>2]|0)+404>>2]|0))break;if((c[(c[(c[g>>2]|0)+428>>2]|0)+(b[o>>1]<<2)>>2]|0)!=0?(hR(c[(c[(c[g>>2]|0)+428>>2]|0)+(b[o>>1]<<2)>>2]|0,c[s>>2]|0)|0)==0:0){t=14;break}b[o>>1]=(b[o>>1]|0)+1<<16>>16}if((t|0)==14)b[r>>1]=(b[o>>1]|0)+1;if(!(b[r>>1]|0)){p=(c[g>>2]|0)+400|0;t=(b[p>>1]|0)+1<<16>>16;b[p>>1]=t;b[r>>1]=t}}else{c[l>>2]=0==(Mi((c[s>>2]|0)+1|0,n,(c[j>>2]|0)-1|0,1)|0)&1;b[r>>1]=c[n>>2];t=n;d=c[t+4>>2]|0;if(!((c[l>>2]|0)==0|((d|0)<0|(d|0)==0&(c[t>>2]|0)>>>0<1))?(d=n,f=c[d+4>>2]|0,t=c[(c[m>>2]|0)+96+36>>2]|0,e=((t|0)<0)<<31>>31,!((f|0)>(e|0)|((f|0)==(e|0)?(c[d>>2]|0)>>>0>t>>>0:0))):0){p=n;e=c[p+4>>2]|0;t=b[(c[g>>2]|0)+400>>1]|0;d=((t|0)<0)<<31>>31;if(!((e|0)>(d|0)|((e|0)==(d|0)?(c[p>>2]|0)>>>0>t>>>0:0)))break;b[(c[g>>2]|0)+400>>1]=c[n>>2];break}t=c[g>>2]|0;c[p>>2]=c[(c[m>>2]|0)+96+36>>2];Eh(t,34195,p);i=u;return}while(0);b[(c[h>>2]|0)+32>>1]=b[r>>1]|0;do if((b[r>>1]|0)>(c[(c[g>>2]|0)+404>>2]|0)){c[k>>2]=Uw(c[m>>2]|0,c[(c[g>>2]|0)+428>>2]|0,b[r>>1]<<2,0)|0;if(!(c[k>>2]|0)){i=u;return}else{c[(c[g>>2]|0)+428>>2]=c[k>>2];VR((c[k>>2]|0)+(c[(c[g>>2]|0)+404>>2]<<2)|0,0,(b[r>>1]|0)-(c[(c[g>>2]|0)+404>>2]|0)<<2|0)|0;c[(c[g>>2]|0)+404>>2]=b[r>>1];break}}while(0);if(!(c[(c[(c[g>>2]|0)+428>>2]|0)+((b[r>>1]|0)-1<<2)>>2]|0)){t=Yw(c[m>>2]|0,c[s>>2]|0,c[j>>2]|0,0)|0;c[(c[(c[g>>2]|0)+428>>2]|0)+((b[r>>1]|0)-1<<2)>>2]=t}}else{s=(c[g>>2]|0)+400|0;t=(b[s>>1]|0)+1<<16>>16;b[s>>1]=t;b[(c[h>>2]|0)+32>>1]=t}if((b[(c[g>>2]|0)+400>>1]|0)<=(c[(c[m>>2]|0)+96+36>>2]|0)){i=u;return}Eh(c[g>>2]|0,34238,q);i=u;return}function lw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){a=c[g>>2]|0;i=l;return a|0}c[k>>2]=jw(c[c[f>>2]>>2]|0,53,c[h>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){a=c[g>>2]|0;i=l;return a|0}c[(c[k>>2]|0)+12>>2]=c[g>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[g>>2]=c[k>>2];a=c[g>>2]|0;i=l;return a|0}function mw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=jw(c[h>>2]|0,151,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){ev(c[h>>2]|0,c[g>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=k;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];sw(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}return 0}function nw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=Ev(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];i=f;return}function ow(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){i=g;return}h=Ev(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;i=g;return}function pw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=Ev(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function qw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[j>>2]|0)!=0&(c[h>>2]|0)!=0)){i=m;return}if((d[c[h>>2]>>0]|0|0)!=101){i=m;return}a[c[j>>2]>>0]=c[k>>2];iv(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=0;i=m;return}function rw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;m=g;c[h>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[m>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[m>>2]>>2];f=Ev(c[l>>2]|0,c[k>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function sw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+36>>2]|0){i=f;return}zz(c[e>>2]|0);Zy(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=f;return}function tw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){c[(c[f>>2]|0)+20>>2]=c[g>>2];d=(c[f>>2]|0)+4|0;c[d>>2]=c[d>>2]|2099200;sw(c[e>>2]|0,c[f>>2]|0);i=h;return}else{fv(c[c[e>>2]>>2]|0,c[g>>2]|0);i=h;return}}function uw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;l=m;h=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;k=m+8|0;c[h>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[k>>2]=Tv(c[h>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[h>>2]>>2]|0)+148+5>>0]|0|0)==0:0){p=c[h>>2]|0;o=c[c[j>>2]>>2]|0;c[l>>2]=c[(c[j>>2]|0)+4>>2];c[l+4>>2]=o;Eh(p,34155,l)}Uv(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,1);i=m;return c[k>>2]|0}function vw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;m=u+16|0;l=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;h=u+56|0;k=u+52|0;s=u+48|0;g=u+44|0;f=u+40|0;j=u+36|0;n=u+32|0;o=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}if(Kz(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}c[h>>2]=Kj(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[h>>2]|0)){f=c[p>>2]|0;g=c[q>>2]|0;if(c[r>>2]|0)ZB(f,c[g+8+4>>2]|0);else{c[t>>2]=g;c[t+4>>2]=0;Eh(f,33945,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}if(a[(c[h>>2]|0)+55>>0]&3){t=c[p>>2]|0;c[l>>2]=0;Eh(t,33963,l);s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}c[g>>2]=Fh(c[s>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[j>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[o>>2]=(c[g>>2]|0)==1?19905:19924;if(ax(c[p>>2]|0,9,c[o>>2]|0,0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}if(c[g>>2]|0)c[f>>2]=12;if(ax(c[p>>2]|0,c[f>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}c[k>>2]=dx(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}rx(c[p>>2]|0,1,c[g>>2]|0);t=c[p>>2]|0;o=(c[g>>2]|0)==1?19905:19924;r=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[m+4>>2]=o;c[m+8>>2]=r;cx(t,34036,m);QC(c[p>>2]|0,c[g>>2]|0,30854,c[c[h>>2]>>2]|0);ex(c[p>>2]|0,c[g>>2]|0);RC(c[p>>2]|0,c[(c[h>>2]|0)+44>>2]|0,c[g>>2]|0);mx(c[k>>2]|0,139,c[g>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}function ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=dx(c[d>>2]|0)|0;if(c[e>>2]|0)d=Oz(c[d>>2]|0,c[e>>2]|0,c[e>>2]|0,e)|0;else d=0;c[f>>2]=d;if(!(c[g>>2]|0)){i=h;return}if(!((c[f>>2]|0)>=2|(c[f>>2]|0)==0)){i=h;return}Sz(c[g>>2]|0,10,c[f>>2]|0)|0;Lh(c[g>>2]|0,c[f>>2]|0);i=h;return}function xw(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=i;i=i+816|0;Ia=fc+264|0;Qb=fc+256|0;Pb=fc+248|0;Ya=fc+240|0;za=fc+208|0;ya=fc+200|0;xa=fc+184|0;wa=fc+160|0;Ob=fc+144|0;Nb=fc+128|0;va=fc+112|0;ua=fc+96|0;Zb=fc+72|0;ta=fc+64|0;sa=fc+56|0;ra=fc+48|0;r=fc+40|0;p=fc+32|0;ac=fc+808|0;l=fc+804|0;s=fc+800|0;n=fc+796|0;o=fc+792|0;dc=fc+788|0;ec=fc+784|0;_a=fc+780|0;m=fc+776|0;q=fc+760|0;$b=fc+756|0;W=fc+752|0;qa=fc+748|0;X=fc+744|0;ka=fc+740|0;cc=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Eb=fc+724|0;v=fc+720|0;ma=fc+716|0;_=fc+712|0;Fa=fc+708|0;$=fc+704|0;B=fc+700|0;S=fc+696|0;Oa=fc+692|0;Ba=fc+688|0;E=fc+684|0;fa=fc+680|0;T=fc+676|0;F=fc+672|0;U=fc+668|0;Aa=fc+664|0;Y=fc+660|0;ga=fc+656|0;Q=fc+24|0;aa=fc+652|0;D=fc+648|0;y=fc+644|0;M=fc+640|0;R=fc+636|0;z=fc+632|0;na=fc+628|0;oa=fc+624|0;pa=fc+16|0;la=fc+620|0;P=fc+616|0;Da=fc+612|0;Yb=fc+608|0;Tb=fc+604|0;Ub=fc+600|0;Vb=fc+596|0;Wb=fc+592|0;Xb=fc+588|0;da=fc+584|0;H=fc+580|0;ha=fc+576|0;zb=fc+572|0;Gb=fc+568|0;fb=fc+564|0;vb=fc+560|0;eb=fc+812|0;ea=fc+556|0;ia=fc+552|0;I=fc+548|0;A=fc+536|0;J=fc+532|0;K=fc+528|0;Z=fc+524|0;ba=fc+520|0;ca=fc+516|0;ja=fc+512|0;L=fc+508|0;V=fc+504|0;Ra=fc+500|0;Ua=fc+496|0;Ta=fc+492|0;Sa=fc+488|0;Ma=fc+484|0;Pa=fc+480|0;Qa=fc+476|0;Za=fc+472|0;Wa=fc+468|0;Va=fc+464|0;Xa=fc+460|0;Ka=fc+456|0;Ja=fc+452|0;La=fc+448|0;Na=fc+444|0;gb=fc+440|0;lb=fc+436|0;bb=fc+432|0;wb=fc+428|0;kb=fc+424|0;Rb=fc+420|0;Kb=fc+416|0;ab=fc+412|0;db=fc+408|0;xb=fc+404|0;yb=fc+400|0;Hb=fc+396|0;Ab=fc+392|0;Ib=fc+388|0;Bb=fc+384|0;Jb=fc+380|0;Cb=fc+376|0;Db=fc+372|0;Fb=fc+368|0;ub=fc+364|0;ib=fc+360|0;jb=fc+356|0;Lb=fc+352|0;Sb=fc+348|0;mb=fc+344|0;ob=fc+340|0;nb=fc+336|0;pb=fc+332|0;qb=fc+328|0;rb=fc+324|0;cb=fc+320|0;Mb=fc+316|0;sb=fc+312|0;tb=fc+308|0;hb=fc+304|0;$a=fc+300|0;Ha=fc+296|0;O=fc+292|0;w=fc+288|0;x=fc+284|0;Ca=fc+280|0;Ga=fc+276|0;N=fc+272|0;G=fc+268|0;t=fc+8|0;u=fc;c[ac>>2]=f;c[l>>2]=g;c[s>>2]=h;c[n>>2]=j;c[o>>2]=k;c[dc>>2]=0;c[ec>>2]=0;c[_a>>2]=0;c[X>>2]=0;c[cc>>2]=c[c[ac>>2]>>2];c[bc>>2]=dx(c[ac>>2]|0)|0;if(!(c[bc>>2]|0)){i=fc;return}iC(c[bc>>2]|0);c[(c[ac>>2]|0)+44>>2]=2;c[$b>>2]=Oz(c[ac>>2]|0,c[l>>2]|0,c[s>>2]|0,m)|0;if((c[$b>>2]|0)<0){i=fc;return}c[Ea>>2]=(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4);if((c[$b>>2]|0)==1?(tx(c[ac>>2]|0)|0)!=0:0){i=fc;return}c[dc>>2]=Tw(c[cc>>2]|0,c[m>>2]|0)|0;if(!(c[dc>>2]|0)){i=fc;return}k=c[cc>>2]|0;l=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=l;c[ec>>2]=Gh(k,32103,p)|0}else c[ec>>2]=Tw(k,l)|0;if((c[(c[s>>2]|0)+4>>2]|0)>>>0>0)l=c[c[Ea>>2]>>2]|0;else l=0;c[_a>>2]=l;a:do if(!(ax(c[ac>>2]|0,19,c[dc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[dc>>2];c[q+8>>2]=c[ec>>2];c[q+12>>2]=0;c[(c[cc>>2]|0)+380+8>>2]=0;c[ka>>2]=Gf(c[cc>>2]|0,c[_a>>2]|0,14,q)|0;if(!(c[ka>>2]|0)){jC(c[bc>>2]|0,32107,c[q>>2]|0);Kd(c[q>>2]|0);break}if((c[ka>>2]|0)!=12){if(c[q>>2]|0){bc=c[ac>>2]|0;c[r>>2]=c[q>>2];Eh(bc,18391,r);Kd(c[q>>2]|0)}bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break}c[W>>2]=0;c[qa>>2]=57;while(1){if((c[W>>2]|0)>(c[qa>>2]|0))break;c[X>>2]=((c[W>>2]|0)+(c[qa>>2]|0)|0)/2|0;c[ka>>2]=Td(c[dc>>2]|0,c[4476+((c[X>>2]|0)*12|0)>>2]|0)|0;if(!(c[ka>>2]|0))break;l=c[X>>2]|0;if((c[ka>>2]|0)<0){c[qa>>2]=l-1;continue}else{c[W>>2]=l+1;continue}}if((c[W>>2]|0)<=(c[qa>>2]|0)){c[Eb>>2]=4476+((c[X>>2]|0)*12|0);if((d[(c[Eb>>2]|0)+5>>0]&1|0)!=0?(Kz(c[ac>>2]|0)|0)!=0:0)break;do switch(d[(c[Eb>>2]|0)+4>>0]|0){case 11:{Lh(c[bc>>2]|0,c[$b>>2]|0);if(c[ec>>2]|0){c[ma>>2]=Dj(Pi(c[ec>>2]|0)|0)|0;rx(c[ac>>2]|0,0,c[$b>>2]|0);jx(c[bc>>2]|0,102,c[$b>>2]|0,3,c[ma>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[ma>>2];Ej(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{kC(c[bc>>2]|0,32114);ac=(c[ac>>2]|0)+44|0;c[ac>>2]=(c[ac>>2]|0)+2;c[v>>2]=Kh(c[bc>>2]|0,9,32125,0)|0;c[(c[v>>2]|0)+4>>2]=c[$b>>2];c[(c[v>>2]|0)+20+4>>2]=c[$b>>2];c[(c[v>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{c[_>>2]=c[(c[Ea>>2]|0)+4>>2];if(c[ec>>2]|0){bc=Pi(c[ec>>2]|0)|0;c[(c[cc>>2]|0)+80>>2]=bc;if(7!=(Ci(c[_>>2]|0,c[(c[cc>>2]|0)+80>>2]|0,-1,0)|0))break a;mh(c[cc>>2]|0);break a}if(c[_>>2]|0)l=sg(c[_>>2]|0)|0;else l=0;c[Fa>>2]=l;ac=c[Fa>>2]|0;lC(c[bc>>2]|0,32161,ac,((ac|0)<0)<<31>>31);break a}case 26:{c[$>>2]=c[(c[Ea>>2]|0)+4>>2];c[B>>2]=-1;if(c[ec>>2]|0)c[B>>2]=(Gi(c[ec>>2]|0,0)|0)&255;b:do if((c[B>>2]|0)>=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break b;VB(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[S>>2]<<4)+4>>2]|0,c[B>>2]|0)|0;c[S>>2]=(c[S>>2]|0)+1}}while(0);c[B>>2]=VB(c[$>>2]|0,c[B>>2]|0)|0;ac=c[B>>2]|0;lC(c[bc>>2]|0,32171,ac,((ac|0)<0)<<31>>31);break a}case 23:{sx(c[ac>>2]|0,c[$b>>2]|0);l=(c[ac>>2]|0)+44|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;c[Oa>>2]=m;m=c[bc>>2]|0;l=c[$b>>2]|0;k=c[Oa>>2]|0;if((d[17613+(d[c[dc>>2]>>0]|0)>>0]|0)==112)ix(m,158,l,k)|0;else jx(m,159,l,k,Dj(Pi(c[ec>>2]|0)|0)|0)|0;ix(c[bc>>2]|0,87,c[Oa>>2]|0,1)|0;mC(c[bc>>2]|0,1);nC(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;break a}case 22:{c[Ba>>2]=32185;c[E>>2]=oC(c[ec>>2]|0)|0;if((c[E>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0)c[E>>2]=d[(c[cc>>2]|0)+71>>0];else{if(!(c[(c[s>>2]|0)+4>>2]|0)){c[T>>2]=2;while(1){if((c[T>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[fa>>2]=Pf(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[T>>2]<<4)+4>>2]|0)|0;UB(c[fa>>2]|0,c[E>>2]|0)|0;c[T>>2]=(c[T>>2]|0)+1}a[(c[cc>>2]|0)+71>>0]=c[E>>2]}c[fa>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;c[E>>2]=UB(c[fa>>2]|0,c[E>>2]|0)|0}if((c[E>>2]|0)==1)c[Ba>>2]=32192;jC(c[bc>>2]|0,32202,c[Ba>>2]|0);break a}case 19:{kC(c[bc>>2]|0,32215);if(c[ec>>2]|0){c[Y>>2]=Jf(c[ec>>2]|0)|0;c[F>>2]=0;while(1){ac=pC(c[F>>2]|0)|0;c[Aa>>2]=ac;if(!ac)break;if(!(zd(c[ec>>2]|0,c[Aa>>2]|0,c[Y>>2]|0)|0))break;c[F>>2]=(c[F>>2]|0)+1}if(!(c[Aa>>2]|0))c[F>>2]=-1}else c[F>>2]=-1;if((c[F>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[$b>>2]=0;c[(c[s>>2]|0)+4>>2]=1}c[U>>2]=(c[(c[cc>>2]|0)+20>>2]|0)-1;while(1){if((c[U>>2]|0)<0)break;do if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[U>>2]<<4)+4>>2]|0){if((c[U>>2]|0)!=(c[$b>>2]|0)?(c[(c[s>>2]|0)+4>>2]|0)!=0:0)break;Lh(c[bc>>2]|0,c[U>>2]|0);jx(c[bc>>2]|0,9,c[U>>2]|0,1,c[F>>2]|0)|0}while(0);c[U>>2]=(c[U>>2]|0)+-1}ix(c[bc>>2]|0,87,1,1)|0;break a}case 20:{c[ga>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;ac=Q;c[ac>>2]=-2;c[ac+4>>2]=-1;if((c[ec>>2]|0)!=0?(Hi(c[ec>>2]|0,Q)|0,ac=Q,$b=c[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(c[ac>>2]|0)>>>0<4294967295):0){ac=Q;c[ac>>2]=-1;c[ac+4>>2]=-1}$b=Q;$b=qC(c[ga>>2]|0,c[$b>>2]|0,c[$b+4>>2]|0)|0;ac=Q;c[ac>>2]=$b;c[ac+4>>2]=C;ac=Q;lC(c[bc>>2]|0,32228,c[ac>>2]|0,c[ac+4>>2]|0);break a}case 1:{c[aa>>2]=c[(c[Ea>>2]|0)+4>>2];if(!(c[ec>>2]|0)){ac=c[bc>>2]|0;bc=rC(c[aa>>2]|0)|0;lC(ac,32247,bc,((bc|0)<0)<<31>>31);break a}c[D>>2]=sC(c[ec>>2]|0)|0;a[(c[cc>>2]|0)+72>>0]=c[D>>2];c[ka>>2]=tC(c[aa>>2]|0,c[D>>2]|0)|0;if(c[ka>>2]|0)break a;if(!((c[D>>2]|0)==1|(c[D>>2]|0)==2))break a;c[M>>2]=wx(c[bc>>2]|0)|0;c[y>>2]=Kh(c[bc>>2]|0,5,32259,0)|0;c[(c[y>>2]|0)+4>>2]=c[$b>>2];c[(c[y>>2]|0)+20+4>>2]=c[$b>>2];c[(c[y>>2]|0)+40+8>>2]=(c[M>>2]|0)+4;c[(c[y>>2]|0)+80+4>>2]=c[$b>>2];c[(c[y>>2]|0)+80+12>>2]=(c[D>>2]|0)-1;Lh(c[bc>>2]|0,c[$b>>2]|0);break a}case 15:{if(!((c[ec>>2]|0)!=0?(_b=(Qi(c[ec>>2]|0,R)|0)==0,!(_b|(c[R>>2]|0)<=0)):0))c[R>>2]=2147483647;rx(c[ac>>2]|0,0,c[$b>>2]|0);ix(c[bc>>2]|0,76,c[R>>2]|0,1)|0;c[z>>2]=Sz(c[bc>>2]|0,69,c[$b>>2]|0)|0;Sz(c[bc>>2]|0,87,1)|0;ix(c[bc>>2]|0,91,1,-1)|0;ix(c[bc>>2]|0,66,1,c[z>>2]|0)|0;Zz(c[bc>>2]|0,c[z>>2]|0);break a}case 4:if(c[ec>>2]|0){c[na>>2]=Pi(c[ec>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[na>>2];Ej(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0;lC(c[bc>>2]|0,32114,ac,((ac|0)<0)<<31>>31);break a}case 5:{if(!(c[ec>>2]|0)){k=c[bc>>2]|0;if(!(c[(c[cc>>2]|0)+24>>2]&32))l=0;else l=uC(c[(c[Ea>>2]|0)+4>>2]|0,0)|0;lC(k,32279,l,((l|0)<0)<<31>>31);break a}c[oa>>2]=1;if(Qi(c[ec>>2]|0,oa)|0)uC(c[(c[Ea>>2]|0)+4>>2]|0,c[oa>>2]|0)|0;bc=(Gi(c[ec>>2]|0,(c[oa>>2]|0)!=0&255)|0)<<24>>24!=0;l=(c[cc>>2]|0)+24|0;k=c[l>>2]|0;if(bc)c[l>>2]=k|32;else c[l>>2]=k&-33;vC(c[cc>>2]|0);break a}case 24:{$b=pa;c[$b>>2]=0;c[$b+4>>2]=0;c[ka>>2]=0;if(!(c[ka>>2]|0)){ac=pa;lC(c[bc>>2]|0,32291,c[ac>>2]|0,c[ac+4>>2]|0);break a}if((c[ka>>2]|0)==12)break a;bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break a}case 32:if(c[ec>>2]|0){wC(c[ac>>2]|0,c[ec>>2]|0)|0;break a}else{lC(c[bc>>2]|0,32301,d[(c[cc>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(c[ec>>2]|0)){jC(c[bc>>2]|0,32312,c[243]|0);break a}if((a[c[ec>>2]>>0]|0)!=0?(c[ka>>2]=Yr(c[c[cc>>2]>>2]|0,c[ec>>2]|0,1,la)|0,(c[ka>>2]|0)!=0|(c[la>>2]|0)==0):0){Eh(c[ac>>2]|0,32333,ra);break a}if((d[(c[cc>>2]|0)+68>>0]|0)<=1)xC(c[ac>>2]|0)|0;Kd(c[243]|0);if(a[c[ec>>2]>>0]|0){c[sa>>2]=c[ec>>2];c[243]=Od(18391,sa)|0;break a}else{c[243]=0;break a}}case 30:{if(!(c[ec>>2]|0)){ac=(d[(c[Ea>>2]|0)+8>>0]|0)-1|0;lC(c[bc>>2]|0,32358,ac,((ac|0)<0)<<31>>31);break a}if(a[(c[cc>>2]|0)+67>>0]|0){bc=((Oi(c[ec>>2]|0,0,1)|0)&255)+1&7;c[P>>2]=bc;c[P>>2]=(c[P>>2]|0)==0?1:bc;a[(c[Ea>>2]|0)+8>>0]=c[P>>2];a[(c[Ea>>2]|0)+9>>0]=1;vC(c[cc>>2]|0);break a}else{Eh(c[ac>>2]|0,32370,ta);break a}}case 2:{if(!(c[ec>>2]|0)){ac=(c[(c[cc>>2]|0)+24>>2]&c[(c[Eb>>2]|0)+8>>2]|0)!=0&1;lC(c[bc>>2]|0,c[c[Eb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}c[Da>>2]=c[(c[Eb>>2]|0)+8>>2];if(!(d[(c[cc>>2]|0)+67>>0]|0))c[Da>>2]=c[Da>>2]&-524289;ac=(Gi(c[ec>>2]|0,0)|0)<<24>>24!=0;l=c[Da>>2]|0;if(!ac){ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]&~l;if((c[Da>>2]|0)==33554432){ac=(c[cc>>2]|0)+448|0;c[ac>>2]=0;c[ac+4>>2]=0}}else{ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]|l}fx(c[bc>>2]|0,150)|0;vC(c[cc>>2]|0);break a}case 31:{if(!(c[ec>>2]|0))break a;c[Yb>>2]=Dh(c[ac>>2]|0,2,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[Yb>>2]|0))break a;c[Vb>>2]=0;c[Xb>>2]=Jj(c[Yb>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=6;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,6,5172);Tx(c[ac>>2]|0,c[Yb>>2]|0)|0;c[Tb>>2]=0;c[Wb>>2]=c[(c[Yb>>2]|0)+4>>2];while(1){if((c[Tb>>2]|0)>=(b[(c[Yb>>2]|0)+34>>1]|0))break a;if(d[(c[Wb>>2]|0)+15>>0]&2)c[Vb>>2]=(c[Vb>>2]|0)+1;else{c:do if(!(d[(c[Wb>>2]|0)+15>>0]&1))c[Ub>>2]=0;else{ac=(c[Xb>>2]|0)==0;c[Ub>>2]=1;if(ac)break;while(1){if((c[Ub>>2]|0)>(b[(c[Yb>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Xb>>2]|0)+4>>2]|0)+((c[Ub>>2]|0)-1<<1)>>1]|0)==(c[Tb>>2]|0))break c;c[Ub>>2]=(c[Ub>>2]|0)+1}}while(0);l=c[bc>>2]|0;k=(c[Tb>>2]|0)-(c[Vb>>2]|0)|0;m=c[c[Wb>>2]>>2]|0;g=vi(c[Wb>>2]|0,18402)|0;h=(d[(c[Wb>>2]|0)+12>>0]|0)!=0?1:0;if(c[(c[Wb>>2]|0)+4>>2]|0)f=c[(c[(c[Wb>>2]|0)+4>>2]|0)+8>>2]|0;else f=0;ac=c[Ub>>2]|0;c[Zb>>2]=k;c[Zb+4>>2]=m;c[Zb+8>>2]=g;c[Zb+12>>2]=h;c[Zb+16>>2]=f;c[Zb+20>>2]=ac;zC(l,1,32423,Zb);ix(c[bc>>2]|0,87,1,6)|0}c[Tb>>2]=(c[Tb>>2]|0)+1;c[Wb>>2]=(c[Wb>>2]|0)+16}}case 29:{c[bc>>2]=dx(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=4;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,4,5196);c[H>>2]=c[(c[(c[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[H>>2]|0))break a;c[ha>>2]=c[(c[H>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=b[(c[ha>>2]|0)+40>>1]|0;$b=b[(c[ha>>2]|0)+38>>1]|0;c[ua>>2]=c[c[ha>>2]>>2];c[ua+4>>2]=0;c[ua+8>>2]=_b;c[ua+12>>2]=$b;zC(ac,1,32430,ua);ix(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[ha>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break;ac=c[bc>>2]|0;_b=b[(c[da>>2]|0)+48>>1]|0;$b=b[c[(c[da>>2]|0)+8>>2]>>1]|0;c[va>>2]=c[c[da>>2]>>2];c[va+4>>2]=_b;c[va+8>>2]=$b;zC(ac,2,32435,va);ix(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2]}c[H>>2]=c[c[H>>2]>>2]}}case 16:{if(!(c[ec>>2]|0))break a;c[zb>>2]=Kj(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[zb>>2]|0))break a;l=c[zb>>2]|0;if(c[(c[Eb>>2]|0)+8>>2]|0){c[vb>>2]=e[l+52>>1];c[(c[ac>>2]|0)+44>>2]=6}else{c[vb>>2]=e[l+50>>1];c[(c[ac>>2]|0)+44>>2]=3}c[Gb>>2]=c[(c[zb>>2]|0)+12>>2];sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,c[(c[ac>>2]|0)+44>>2]|0,5212);c[fb>>2]=0;while(1){if((c[fb>>2]|0)>=(c[vb>>2]|0))break a;b[eb>>1]=b[(c[(c[zb>>2]|0)+4>>2]|0)+(c[fb>>2]<<1)>>1]|0;l=c[bc>>2]|0;k=b[eb>>1]|0;if((b[eb>>1]|0)<0)m=0;else m=c[(c[(c[Gb>>2]|0)+4>>2]|0)+(b[eb>>1]<<4)>>2]|0;c[Nb>>2]=c[fb>>2];c[Nb+4>>2]=k;c[Nb+8>>2]=m;zC(l,1,32439,Nb);if(c[(c[Eb>>2]|0)+8>>2]|0){$b=c[bc>>2]|0;Zb=c[(c[(c[zb>>2]|0)+32>>2]|0)+(c[fb>>2]<<2)>>2]|0;_b=(c[fb>>2]|0)<(e[(c[zb>>2]|0)+50>>1]|0)&1;c[Ob>>2]=d[(c[(c[zb>>2]|0)+28>>2]|0)+(c[fb>>2]|0)>>0];c[Ob+4>>2]=Zb;c[Ob+8>>2]=_b;zC($b,4,32443,Ob)}ix(c[bc>>2]|0,87,1,c[(c[ac>>2]|0)+44>>2]|0)|0;c[fb>>2]=(c[fb>>2]|0)+1}}case 17:{if(!(c[ec>>2]|0))break a;c[ia>>2]=ti(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ia>>2]|0))break a;c[bc>>2]=dx(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=5;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,5,5236);c[ea>>2]=c[(c[ia>>2]|0)+8>>2];c[I>>2]=0;while(1){if(!(c[ea>>2]|0))break a;c[A>>2]=c[1314];c[A+4>>2]=c[1315];c[A+8>>2]=c[1316];ac=c[bc>>2]|0;Yb=c[c[ea>>2]>>2]|0;Zb=(d[(c[ea>>2]|0)+54>>0]|0)!=0&1;_b=c[A+((a[(c[ea>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(c[(c[ea>>2]|0)+36>>2]|0)!=0&1;c[wa>>2]=c[I>>2];c[wa+4>>2]=Yb;c[wa+8>>2]=Zb;c[wa+12>>2]=_b;c[wa+16>>2]=$b;zC(ac,1,32447,wa);ix(c[bc>>2]|0,87,1,5)|0;c[ea>>2]=c[(c[ea>>2]|0)+20>>2];c[I>>2]=(c[I>>2]|0)+1}}case 10:{c[(c[ac>>2]|0)+44>>2]=3;yC(c[bc>>2]|0,3,5268);c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break a;if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0){ac=c[bc>>2]|0;Zb=c[J>>2]|0;_b=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)>>2]|0;$b=Ii(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0)|0;c[xa>>2]=Zb;c[xa+4>>2]=_b;c[xa+8>>2]=$b;zC(ac,1,32453,xa);ix(c[bc>>2]|0,87,1,3)|0}c[J>>2]=(c[J>>2]|0)+1}}case 7:{c[K>>2]=0;c[(c[ac>>2]|0)+44>>2]=2;yC(c[bc>>2]|0,2,5280);c[Z>>2]=c[(c[cc>>2]|0)+364+8>>2];while(1){if(!(c[Z>>2]|0))break a;c[ba>>2]=c[(c[Z>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=c[K>>2]|0;c[K>>2]=_b+1;$b=c[c[ba>>2]>>2]|0;c[ya>>2]=_b;c[ya+4>>2]=$b;zC(ac,1,32457,ya);ix(c[bc>>2]|0,87,1,2)|0;c[Z>>2]=c[c[Z>>2]>>2]}}case 14:{if(!(c[ec>>2]|0))break a;c[ja>>2]=ti(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ja>>2]|0))break a;c[bc>>2]=dx(c[ac>>2]|0)|0;c[ca>>2]=c[(c[ja>>2]|0)+16>>2];if(!(c[ca>>2]|0))break a;c[L>>2]=0;c[(c[ac>>2]|0)+44>>2]=8;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,8,5288);while(1){if(!(c[ca>>2]|0))break a;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[ca>>2]|0)+20>>2]|0))break;ac=c[bc>>2]|0;Vb=c[L>>2]|0;Wb=c[V>>2]|0;Xb=c[(c[ca>>2]|0)+8>>2]|0;Yb=c[(c[(c[ja>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+36+(c[V>>2]<<3)>>2]<<4)>>2]|0;Zb=c[(c[ca>>2]|0)+36+(c[V>>2]<<3)+4>>2]|0;_b=AC(a[(c[ca>>2]|0)+25+1>>0]|0)|0;$b=AC(a[(c[ca>>2]|0)+25>>0]|0)|0;c[za>>2]=Vb;c[za+4>>2]=Wb;c[za+8>>2]=Xb;c[za+12>>2]=Yb;c[za+16>>2]=Zb;c[za+20>>2]=_b;c[za+24>>2]=$b;c[za+28>>2]=32469;zC(ac,1,32460,za);ix(c[bc>>2]|0,87,1,8)|0;c[V>>2]=(c[V>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1;c[ca>>2]=c[(c[ca>>2]|0)+4>>2]}}case 13:{c[Wa>>2]=(c[(c[ac>>2]|0)+44>>2]|0)+1;Zb=(c[ac>>2]|0)+44|0;c[Zb>>2]=(c[Zb>>2]|0)+4;Zb=(c[ac>>2]|0)+44|0;Yb=(c[Zb>>2]|0)+1|0;c[Zb>>2]=Yb;c[Va>>2]=Yb;Yb=(c[ac>>2]|0)+44|0;Zb=(c[Yb>>2]|0)+1|0;c[Yb>>2]=Zb;c[Xa>>2]=Zb;c[bc>>2]=dx(c[ac>>2]|0)|0;yC(c[bc>>2]|0,4,5320);sx(c[ac>>2]|0,c[$b>>2]|0);c[Qa>>2]=c[(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Qa>>2]|0))break a;if(c[ec>>2]|0){c[Ua>>2]=Dh(c[ac>>2]|0,0,c[ec>>2]|0,c[_a>>2]|0)|0;c[Qa>>2]=0}else{c[Ua>>2]=c[(c[Qa>>2]|0)+8>>2];c[Qa>>2]=c[c[Qa>>2]>>2]}if(!(c[Ua>>2]|0))continue;if(!(c[(c[Ua>>2]|0)+16>>2]|0))continue;Tz(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ua>>2]|0)+28>>2]|0,0,c[c[Ua>>2]>>2]|0);if(((b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0)|0)>(c[(c[ac>>2]|0)+44>>2]|0))c[(c[ac>>2]|0)+44>>2]=(b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0);Uz(c[ac>>2]|0,0,c[$b>>2]|0,c[Ua>>2]|0,104);hx(c[bc>>2]|0,c[Wa>>2]|0,c[c[Ua>>2]>>2]|0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];d:while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ti(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;do if(c[Ta>>2]|0){c[Sa>>2]=0;Tz(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ta>>2]|0)+28>>2]|0,0,c[c[Ta>>2]>>2]|0);c[Za>>2]=BC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,0)|0;if(c[Za>>2]|0){_b=207;break d}if(!(c[Sa>>2]|0)){Uz(c[ac>>2]|0,c[Ma>>2]|0,c[$b>>2]|0,c[Ta>>2]|0,104);break}else{jx(c[bc>>2]|0,104,c[Ma>>2]|0,c[(c[Sa>>2]|0)+44>>2]|0,c[$b>>2]|0)|0;Vz(c[ac>>2]|0,c[Sa>>2]|0);break}}while(0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}if((_b|0)==207){_b=0;c[Qa>>2]=0}if(c[Ra>>2]|0)break a;if((c[(c[ac>>2]|0)+40>>2]|0)<(c[Ma>>2]|0))c[(c[ac>>2]|0)+40>>2]=c[Ma>>2];c[Ka>>2]=Sz(c[bc>>2]|0,57,0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ti(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;c[Sa>>2]=0;c[La>>2]=0;if(c[Ta>>2]|0)c[Za>>2]=BC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,La)|0;c[Ja>>2]=Wz(c[bc>>2]|0)|0;do if((c[Ta>>2]|0)!=0&(c[Sa>>2]|0)==0){c[Na>>2]=c[(c[Ra>>2]|0)+36>>2];l=c[bc>>2]|0;if((c[Na>>2]|0)!=(b[(c[Ua>>2]|0)+32>>1]|0)){jx(l,96,0,c[Na>>2]|0,c[Xa>>2]|0)|0;PA(c[bc>>2]|0,c[Ua>>2]|0,c[Na>>2]|0,c[Xa>>2]|0);ix(c[bc>>2]|0,34,c[Xa>>2]|0,c[Ja>>2]|0)|0}else ix(l,123,0,c[Xa>>2]|0)|0;jx(c[bc>>2]|0,32,c[Ma>>2]|0,0,c[Xa>>2]|0)|0;Yz(c[bc>>2]|0,c[Ja>>2]|0)|0;Zb=c[bc>>2]|0;Zz(Zb,(wx(c[bc>>2]|0)|0)-2|0)}else{c[Pa>>2]=0;while(1){if((c[Pa>>2]|0)>=(c[(c[Ra>>2]|0)+20>>2]|0))break;l=c[Pa>>2]|0;if(c[La>>2]|0)l=c[(c[La>>2]|0)+(l<<2)>>2]|0;else l=c[(c[Ra>>2]|0)+36+(l<<3)>>2]|0;NA(c[bc>>2]|0,c[Ua>>2]|0,0,l,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0);ix(c[bc>>2]|0,34,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0,c[Ja>>2]|0)|0;c[Pa>>2]=(c[Pa>>2]|0)+1}if(!(c[Ta>>2]|0))break;Vb=c[bc>>2]|0;Wb=c[Xa>>2]|0;Xb=c[(c[Ra>>2]|0)+20>>2]|0;Yb=c[Va>>2]|0;Zb=CC(c[cc>>2]|0,c[Sa>>2]|0)|0;mx(Vb,99,Wb,Xb,Yb,Zb,c[(c[Ra>>2]|0)+20>>2]|0)|0;Ih(c[bc>>2]|0,31,c[Ma>>2]|0,c[Ja>>2]|0,c[Va>>2]|0,0)|0}while(0);ix(c[bc>>2]|0,123,0,(c[Wa>>2]|0)+1|0)|0;Yb=c[bc>>2]|0;Zb=(c[Wa>>2]|0)+2|0;Xb=(c[Ma>>2]|0)-1|0;c[Ya>>2]=c[(c[Ra>>2]|0)+8>>2];c[Ya+4>>2]=Xb;zC(Yb,Zb,32474,Ya);ix(c[bc>>2]|0,87,c[Wa>>2]|0,4)|0;_z(c[bc>>2]|0,c[Ja>>2]|0);Tf(c[cc>>2]|0,c[La>>2]|0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}ix(c[bc>>2]|0,7,0,(c[Ka>>2]|0)+1|0)|0;Zz(c[bc>>2]|0,c[Ka>>2]|0)}}case 6:{if(!(c[ec>>2]|0))break a;bc=c[cc>>2]|0;DC(bc,(Gi(c[ec>>2]|0,0)|0)&255);break a}case 18:{c[kb>>2]=(d[17613+(d[c[dc>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[s>>2]>>2]|0))c[$b>>2]=-1;c[(c[ac>>2]|0)+44>>2]=6;kC(c[bc>>2]|0,32477);c[wb>>2]=100;if((c[ec>>2]|0)!=0?(Qi(c[ec>>2]|0,wb)|0,(c[wb>>2]|0)<=0):0)c[wb>>2]=100;ix(c[bc>>2]|0,76,c[wb>>2]|0,1)|0;c[gb>>2]=0;e:while(1){if((c[gb>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[db>>2]=0;c[xb>>2]=0;if(!((c[$b>>2]|0)>=0?(c[gb>>2]|0)!=(c[$b>>2]|0):0))_b=242;f:do if((_b|0)==242){_b=0;sx(c[ac>>2]|0,c[gb>>2]|0);c[bb>>2]=Sz(c[bc>>2]|0,66,1)|0;ix(c[bc>>2]|0,75,0,0)|0;Zz(c[bc>>2]|0,c[bb>>2]|0);c[Kb>>2]=(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)+12>>2]|0)+8;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Hb>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Hb>>2]|0)+42>>0]&32))c[db>>2]=(c[db>>2]|0)+1;c[yb>>2]=0;c[Ab>>2]=c[(c[Hb>>2]|0)+8>>2];while(1){if(!(c[Ab>>2]|0))break;c[db>>2]=(c[db>>2]|0)+1;c[Ab>>2]=c[(c[Ab>>2]|0)+20>>2];c[yb>>2]=(c[yb>>2]|0)+1}if((c[yb>>2]|0)>(c[xb>>2]|0))c[xb>>2]=c[yb>>2];c[Rb>>2]=c[c[Rb>>2]>>2]}c[ab>>2]=Vw(c[cc>>2]|0,(c[db>>2]|0)+1<<2,0)|0;if(!(c[ab>>2]|0))break e;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Ib>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Ib>>2]|0)+42>>0]&32)){Yb=c[(c[Ib>>2]|0)+28>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb}c[Bb>>2]=c[(c[Ib>>2]|0)+8>>2];while(1){if(!(c[Bb>>2]|0))break;Yb=c[(c[Bb>>2]|0)+44>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb;c[Bb>>2]=c[(c[Bb>>2]|0)+20>>2]}c[Rb>>2]=c[c[Rb>>2]>>2]}c[(c[ab>>2]|0)+(c[db>>2]<<2)>>2]=0;if((c[(c[ac>>2]|0)+44>>2]|0)>(8+(c[xb>>2]|0)|0))l=c[(c[ac>>2]|0)+44>>2]|0;else l=8+(c[xb>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=l;mx(c[bc>>2]|0,141,2,c[db>>2]|0,1,c[ab>>2]|0,-15)|0;Jh(c[bc>>2]|0,c[gb>>2]&255);c[bb>>2]=Sz(c[bc>>2]|0,34,2)|0;Yb=c[bc>>2]|0;Zb=c[cc>>2]|0;c[Pb>>2]=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)>>2];mx(Yb,97,0,3,0,Gh(Zb,32493,Pb)|0,-1)|0;jx(c[bc>>2]|0,83,2,4,1)|0;jx(c[bc>>2]|0,52,4,3,2)|0;ix(c[bc>>2]|0,87,2,1)|0;Zz(c[bc>>2]|0,c[bb>>2]|0);c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break f;if(!((c[kb>>2]|0)!=0^1))break f;c[Jb>>2]=c[(c[Rb>>2]|0)+8>>2];c[Fb>>2]=0;c[Lb>>2]=-1;g:do if(c[(c[Jb>>2]|0)+8>>2]|0){if(!(d[(c[Jb>>2]|0)+42>>0]&32))l=0;else l=Jj(c[Jb>>2]|0)|0;c[Db>>2]=l;c[bb>>2]=Sz(c[bc>>2]|0,66,1)|0;ix(c[bc>>2]|0,75,0,0)|0;Zz(c[bc>>2]|0,c[bb>>2]|0);EC(c[ac>>2]|0);FC(c[ac>>2]|0,c[Jb>>2]|0,104,0,1,0,ib,jb)|0;ix(c[bc>>2]|0,76,0,7)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;ix(l,76,0,8+(c[lb>>2]|0)|0)|0;c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}ix(l,57,c[ib>>2]|0,0)|0;c[ub>>2]=ix(c[bc>>2]|0,91,7,1)|0;c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(b[(c[Jb>>2]|0)+34>>1]|0))break;do if((c[lb>>2]|0)!=(b[(c[Jb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)+12>>0]|0))break;NA(c[bc>>2]|0,c[Jb>>2]|0,c[ib>>2]|0,c[lb>>2]|0,3);Jh(c[bc>>2]|0,-128);c[mb>>2]=Sz(c[bc>>2]|0,35,3)|0;ix(c[bc>>2]|0,91,1,-1)|0;Zb=c[cc>>2]|0;Yb=c[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)>>2]|0;c[Qb>>2]=c[c[Jb>>2]>>2];c[Qb+4>>2]=Yb;c[Sb>>2]=Gh(Zb,32517,Qb)|0;mx(c[bc>>2]|0,97,0,3,0,c[Sb>>2]|0,-1)|0;ix(c[bc>>2]|0,87,3,1)|0;c[ob>>2]=Sz(c[bc>>2]|0,66,1)|0;fx(c[bc>>2]|0,75)|0;Zz(c[bc>>2]|0,c[mb>>2]|0);Zz(c[bc>>2]|0,c[ob>>2]|0)}while(0);c[lb>>2]=(c[lb>>2]|0)+1}c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;c[cb>>2]=Wz(l)|0;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[Lb>>2]=oA(c[ac>>2]|0,c[Cb>>2]|0,c[ib>>2]|0,0,0,pb,c[Fb>>2]|0,c[Lb>>2]|0)|0;c[Fb>>2]=c[Cb>>2];ix(c[bc>>2]|0,91,8+(c[lb>>2]|0)|0,1)|0;c[nb>>2]=Ih(c[bc>>2]|0,31,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[cb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+52>>1]|0)|0;ix(c[bc>>2]|0,91,1,-1)|0;hx(c[bc>>2]|0,3,32537)|0;jx(c[bc>>2]|0,52,7,3,3)|0;hx(c[bc>>2]|0,4,32542)|0;jx(c[bc>>2]|0,52,4,3,3)|0;c[rb>>2]=hx(c[bc>>2]|0,4,c[c[Cb>>2]>>2]|0)|0;jx(c[bc>>2]|0,52,4,3,3)|0;ix(c[bc>>2]|0,87,3,1)|0;c[qb>>2]=Sz(c[bc>>2]|0,66,1)|0;fx(c[bc>>2]|0,75)|0;Zz(c[bc>>2]|0,c[nb>>2]|0);if(d[(c[Cb>>2]|0)+54>>0]|0){c[Mb>>2]=Wz(c[bc>>2]|0)|0;c[tb>>2]=0;while(1){if((c[tb>>2]|0)>=(e[(c[Cb>>2]|0)+50>>1]|0))break;c[hb>>2]=b[(c[(c[Cb>>2]|0)+4>>2]|0)+(c[tb>>2]<<1)>>1];if(!((c[hb>>2]|0)>=0?(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[hb>>2]<<4)+12>>0]|0)!=0:0))ix(c[bc>>2]|0,34,(c[Lb>>2]|0)+(c[tb>>2]|0)|0,c[Mb>>2]|0)|0;c[tb>>2]=(c[tb>>2]|0)+1}c[sb>>2]=Sz(c[bc>>2]|0,7,(c[jb>>2]|0)+(c[lb>>2]|0)|0)|0;Yz(c[bc>>2]|0,c[Mb>>2]|0)|0;Zz(c[bc>>2]|0,c[sb>>2]|0);Ih(c[bc>>2]|0,59,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[Mb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+50>>1]|0)|0;ix(c[bc>>2]|0,91,1,-1)|0;hx(c[bc>>2]|0,3,32563)|0;Yz(c[bc>>2]|0,c[rb>>2]|0)|0;_z(c[bc>>2]|0,c[Mb>>2]|0)}Zz(c[bc>>2]|0,c[qb>>2]|0);pA(c[ac>>2]|0,c[pb>>2]|0)}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}ix(l,7,c[ib>>2]|0,c[ub>>2]|0)|0;Zz(c[bc>>2]|0,(c[ub>>2]|0)-1|0);hx(c[bc>>2]|0,2,32590)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){if(!(c[Cb>>2]|0))break g;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[bb>>2]=wx(c[bc>>2]|0)|0;ix(c[bc>>2]|0,66,1,(c[bb>>2]|0)+2|0)|0;ix(c[bc>>2]|0,75,0,0)|0;ix(c[bc>>2]|0,100,(c[jb>>2]|0)+(c[lb>>2]|0)|0,3)|0;jx(c[bc>>2]|0,37,8+(c[lb>>2]|0)|0,(c[bb>>2]|0)+8|0,3)|0;Jh(c[bc>>2]|0,-112);ix(c[bc>>2]|0,91,1,-1)|0;hx(c[bc>>2]|0,3,c[c[Cb>>2]>>2]|0)|0;jx(c[bc>>2]|0,52,3,2,7)|0;ix(c[bc>>2]|0,87,7,1)|0}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}}while(0);c[Rb>>2]=c[c[Rb>>2]>>2]}}while(0);c[gb>>2]=(c[gb>>2]|0)+1}c[$a>>2]=Kh(c[bc>>2]|0,4,32619,0)|0;if(!(c[$a>>2]|0))break a;c[(c[$a>>2]|0)+8>>2]=0-(c[wb>>2]|0);a[(c[$a>>2]|0)+40+1>>0]=-2;c[(c[$a>>2]|0)+40+16>>2]=32635;break a}case 12:{if(!(c[ec>>2]|0)){if(Kz(c[ac>>2]|0)|0)break a;jC(c[bc>>2]|0,32638,c[5336+(d[(c[c[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ha>>2]=5336;while(1){if(!(c[c[Ha>>2]>>2]|0))break;bc=0==(ig(c[ec>>2]|0,c[c[Ha>>2]>>2]|0)|0);l=c[Ha>>2]|0;if(bc){_b=309;break}c[Ha>>2]=l+8}if((_b|0)==309){if(d[l+4>>0]|0)l=d[(c[Ha>>2]|0)+4>>0]|0;else l=(a[968]|0)==0?3:2;bc=l&255;a[(c[cc>>2]|0)+66>>0]=bc;a[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(c[c[Ha>>2]>>2]|0)break a;bc=c[ac>>2]|0;c[Ia>>2]=c[ec>>2];Eh(bc,32647,Ia);break a}case 0:{c[O>>2]=c[(c[Eb>>2]|0)+8>>2];Lh(c[bc>>2]|0,c[$b>>2]|0);if((c[ec>>2]|0)!=0?(d[(c[Eb>>2]|0)+5>>0]&2|0)==0:0){c[w>>2]=Kh(c[bc>>2]|0,2,32672,0)|0;c[(c[w>>2]|0)+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+8>>2]=c[O>>2];bc=Pi(c[ec>>2]|0)|0;c[(c[w>>2]|0)+20+12>>2]=bc;break a}c[x>>2]=Kh(c[bc>>2]|0,3,32680,0)|0;c[(c[x>>2]|0)+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+12>>2]=c[O>>2];mC(c[bc>>2]|0,1);nC(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;GC(c[bc>>2]|0);break a}case 8:{c[Ca>>2]=0;c[(c[ac>>2]|0)+44>>2]=1;kC(c[bc>>2]|0,32692);while(1){ac=c[Ca>>2]|0;c[Ca>>2]=ac+1;ac=Ad(ac)|0;c[Ga>>2]=ac;l=c[bc>>2]|0;if(!ac)break;hx(l,1,c[Ga>>2]|0)|0;ix(c[bc>>2]|0,87,1,1)|0}GC(l);break a}case 36:{c[N>>2]=(c[c[s>>2]>>2]|0)!=0?c[$b>>2]|0:10;c[G>>2]=0;do if(c[ec>>2]|0){if(!(ig(c[ec>>2]|0,32707)|0)){c[G>>2]=1;break}if(!(ig(c[ec>>2]|0,32712)|0)){c[G>>2]=2;break}if(!(ig(c[ec>>2]|0,32720)|0))c[G>>2]=3}while(0);yC(c[bc>>2]|0,3,5408);c[(c[ac>>2]|0)+44>>2]=3;jx(c[bc>>2]|0,8,c[N>>2]|0,c[G>>2]|0,1)|0;ix(c[bc>>2]|0,87,1,3)|0;break a}case 35:{if(c[ec>>2]|0){ac=c[cc>>2]|0;zf(ac,Pi(c[ec>>2]|0)|0)|0}if((c[(c[cc>>2]|0)+224>>2]|0)==139)l=c[(c[cc>>2]|0)+228>>2]|0;else l=0;lC(c[bc>>2]|0,32729,l,((l|0)<0)<<31>>31);break a}case 27:{nf(c[cc>>2]|0)|0;break a}case 28:{if((c[ec>>2]|0)!=0?(Hi(c[ec>>2]|0,t)|0)==0:0){ac=t;Gd(c[ac>>2]|0,c[ac+4>>2]|0)|0}ac=c[bc>>2]|0;bc=Gd(-1,-1)|0;lC(ac,32756,bc,C);break a}case 34:{if((c[ec>>2]|0)!=0?(_b=(Hi(c[ec>>2]|0,u)|0)==0,ac=u,$b=c[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(c[ac>>2]|0)>>>0>=0)):0)Ef(c[cc>>2]|0,11,c[u>>2]&2147483647)|0;ac=c[bc>>2]|0;bc=Ef(c[cc>>2]|0,11,-1)|0;lC(ac,32772,bc,((bc|0)<0)<<31>>31);break a}default:{if(c[ec>>2]|0){ac=c[cc>>2]|0;vf(ac,Pi(c[ec>>2]|0)|0)|0}ac=c[(c[cc>>2]|0)+428>>2]|0;lC(c[bc>>2]|0,32748,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);Tf(c[cc>>2]|0,c[dc>>2]|0);Tf(c[cc>>2]|0,c[ec>>2]|0);i=fc;return}function yw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+112|0;t=w+24|0;s=w;f=w+108|0;g=w+104|0;h=w+100|0;p=w+96|0;v=w+92|0;j=w+88|0;q=w+64|0;k=w+56|0;l=w+48|0;r=w+44|0;u=w+40|0;n=w+36|0;m=w+32|0;o=w+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[f>>2]|0)+444>>2];c[j>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+444>>2]=0;do if((c[p>>2]|0)!=0?(c[(c[f>>2]|0)+36>>2]|0)==0:0){c[v>>2]=c[c[p>>2]>>2];c[k>>2]=Fh(c[c[f>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0)|0;c[(c[p>>2]|0)+28>>2]=c[g>>2];while(1){e=c[p>>2]|0;if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+4>>2]=e;c[g>>2]=c[(c[g>>2]|0)+28>>2]}Xy(l,c[e>>2]|0);cC(q,c[f>>2]|0,c[k>>2]|0,18664,l);if((hC(q,c[(c[p>>2]|0)+28>>2]|0)|0)==0?(fC(q,c[(c[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[j>>2]|0)+148+5>>0]|0)){c[r>>2]=dx(c[f>>2]|0)|0;if(!(c[r>>2]|0))break;rx(c[f>>2]|0,0,c[k>>2]|0);c[u>>2]=Yw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;q=c[f>>2]|0;b=(c[k>>2]|0)==1?19905:19924;d=c[v>>2]|0;h=c[(c[p>>2]|0)+4>>2]|0;l=c[u>>2]|0;c[s>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=h;c[s+16>>2]=l;cx(q,32010,s);Tf(c[j>>2]|0,c[u>>2]|0);ex(c[f>>2]|0,c[k>>2]|0);r=c[r>>2]|0;s=c[k>>2]|0;u=c[j>>2]|0;c[t>>2]=c[v>>2];gx(r,s,Gh(u,32074,t)|0)}if(a[(c[j>>2]|0)+148+5>>0]|0){c[n>>2]=c[p>>2];c[m>>2]=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+40;c[p>>2]=Uj(c[m>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;if(c[p>>2]|0){mh(c[j>>2]|0);break}if((c[(c[n>>2]|0)+20>>2]|0)==(c[(c[n>>2]|0)+24>>2]|0)){c[o>>2]=sj((c[(c[n>>2]|0)+24>>2]|0)+8|0,c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=c[n>>2]}}}}while(0);Qf(c[j>>2]|0,c[p>>2]|0);ov(c[j>>2]|0,c[g>>2]|0);i=w;return}function zw(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;q=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=j;c[K>>2]=k;c[L>>2]=l;c[z>>2]=m;c[A>>2]=n;c[O>>2]=0;c[P>>2]=0;c[M>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[N>>2]=1;c[D>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{Eh(c[I>>2]|0,31693,r);break}else{c[N>>2]=Oz(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,D)|0;if((c[N>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[M>>2]|0)+69>>0]|0)==0:0){if((c[N>>2]|0)!=1?(d[(c[M>>2]|0)+148+5>>0]|0)!=0:0){Tf(c[M>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[E>>2]=bC(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[M>>2]|0)+148+5>>0]|0)==0?((c[E>>2]|0)!=0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[E>>2]|0)+64>>2]|0)==(c[(c[(c[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[N>>2]=1;if((a[(c[M>>2]|0)+69>>0]|0)==0?(cC(q,c[I>>2]|0,c[N>>2]|0,18664,c[D>>2]|0),(dC(q,c[K>>2]|0)|0)==0):0){c[E>>2]=bC(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[E>>2]|0)){if((d[(c[M>>2]|0)+148+4>>0]|0)!=1)break;a[(c[M>>2]|0)+148+6>>0]=1;break}if(d[(c[E>>2]|0)+42>>0]&16){Eh(c[I>>2]|0,31739,s);break}c[P>>2]=Tw(c[M>>2]|0,c[D>>2]|0)|0;if((c[P>>2]|0)!=0?0==(Sx(c[I>>2]|0,c[P>>2]|0)|0):0){if(sj((c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2]|0)+40|0,c[P>>2]|0)|0){o=c[I>>2]|0;if(c[A>>2]|0){sx(o,c[N>>2]|0);break}else{c[F>>2]=c[D>>2];Eh(o,31780,F);break}}if(!(zd(c[c[E>>2]>>2]|0,27844,7)|0)){Eh(c[I>>2]|0,31806,t);break}if((c[x>>2]|0)!=77?(c[(c[E>>2]|0)+12>>2]|0)!=0:0){N=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==63?31844:31851;c[u+4>>2]=H;c[u+8>>2]=0;Eh(N,31857,u);break}if((c[x>>2]|0)==77?(c[(c[E>>2]|0)+12>>2]|0)==0:0){N=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;Eh(N,31894,v);break}c[C>>2]=Fh(c[M>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[B>>2]=7;c[G>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[z>>2]|0)o=c[(c[(c[M>>2]|0)+16>>2]|0)+16>>2]|0;else o=c[G>>2]|0;c[H>>2]=o;if((c[C>>2]|0)==1|(c[z>>2]|0)!=0)c[B>>2]=5;if((ax(c[I>>2]|0,c[B>>2]|0,c[P>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0)|0)==0?(ax(c[I>>2]|0,18,(c[C>>2]|0)==1?19905:19924,0,c[G>>2]|0)|0)==0:0){if((c[x>>2]|0)==77)c[x>>2]=63;c[O>>2]=sh(c[M>>2]|0,36,0)|0;if(!(c[O>>2]|0))break;c[c[O>>2]>>2]=c[P>>2];c[P>>2]=0;H=qh(c[M>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[O>>2]|0)+4>>2]=H;c[(c[O>>2]|0)+20>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2];c[(c[O>>2]|0)+24>>2]=c[(c[E>>2]|0)+64>>2];a[(c[O>>2]|0)+8>>0]=c[y>>2];a[(c[O>>2]|0)+9>>0]=(c[x>>2]|0)==63?1:2;N=Iy(c[M>>2]|0,c[L>>2]|0,1)|0;c[(c[O>>2]|0)+12>>2]=N;N=Iz(c[M>>2]|0,c[J>>2]|0)|0;c[(c[O>>2]|0)+16>>2]=N;c[(c[I>>2]|0)+444>>2]=c[O>>2]}}}}while(0);Tf(c[M>>2]|0,c[P>>2]|0);hv(c[M>>2]|0,c[K>>2]|0);kv(c[M>>2]|0,c[J>>2]|0);iv(c[M>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+444>>2]|0){i=Q;return}Qf(c[M>>2]|0,c[O>>2]|0);i=Q;return}function Aw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=aC(c[h>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=Qy(c[h>>2]|0,c[j>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;o=Iy(c[h>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+16>>2]=o;a[(c[m>>2]|0)+1>>0]=a[l>>0]|0}ev(c[h>>2]|0,c[j>>2]|0);iv(c[h>>2]|0,c[k>>2]|0);i=n;return c[m>>2]|0}function Bw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=aC(c[h>>2]|0,108,c[o>>2]|0)|0;b=c[h>>2]|0;if(c[m>>2]|0){o=_x(b,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+8>>2]=o;c[(c[m>>2]|0)+24>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=a[l>>0]|0;l=c[h>>2]|0;o=c[k>>2]|0;fv(l,o);o=c[m>>2]|0;i=n;return o|0}else{kv(b,c[j>>2]|0);l=c[h>>2]|0;o=c[k>>2]|0;fv(l,o);o=c[m>>2]|0;i=n;return o|0}return 0}function Cw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[h>>2]=aC(c[f>>2]|0,109,c[k>>2]|0)|0;if(c[h>>2]|0){k=Iy(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=k;a[(c[h>>2]|0)+1>>0]=10}iv(c[f>>2]|0,c[g>>2]|0);i=j;return c[h>>2]|0}function Dw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=sh(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){fv(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Ew(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;l=r+40|0;m=r+36|0;n=r+32|0;h=r+28|0;f=r+24|0;q=r+20|0;j=r+16|0;o=r+12|0;g=r+8|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[h>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(a[(c[o>>2]|0)+69>>0]|0){p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}if(Kz(c[l>>2]|0)|0){p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}c[q>>2]=c[(c[m>>2]|0)+8+4>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;b=c[f>>2]|0;c[g>>2]=(c[f>>2]|0)<2?b^1:b;if(!((c[q>>2]|0)!=0?(ig(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0,c[q>>2]|0)|0)!=0:0))k=7;if((k|0)==7?(k=0,c[h>>2]=sj((c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+40|0,c[j>>2]|0)|0,(c[h>>2]|0)!=0):0)break;c[f>>2]=(c[f>>2]|0)+1}if(c[h>>2]|0){_B(c[l>>2]|0,c[h>>2]|0);p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}f=c[l>>2]|0;if(c[n>>2]|0)ZB(f,c[q>>2]|0);else{c[p>>2]=c[m>>2];c[p+4>>2]=0;Eh(f,31622,p)}a[(c[l>>2]|0)+17>>0]=1;p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}function Fw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;IB(c[k>>2]|0,24,4448,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function Gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;IB(c[f>>2]|0,25,4420,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function Hw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u;q=u+48|0;f=u+44|0;g=u+40|0;j=u+36|0;m=u+32|0;o=u+28|0;l=u+24|0;s=u+20|0;r=u+16|0;h=u+12|0;k=u+8|0;n=u+4|0;c[q>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[q>>2]>>2];if(Kz(c[q>>2]|0)|0){i=u;return}if(!(c[f>>2]|0)){kA(c[q>>2]|0,0);i=u;return}if(!((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[n>>2]=Tw(c[c[q>>2]>>2]|0,c[f>>2]|0)|0;if(!(c[n>>2]|0)){i=u;return}c[j>>2]=Sj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[n>>2]|0,0)|0;if(!(c[j>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);break}kA(c[q>>2]|0,c[n>>2]|0);Tf(c[h>>2]|0,c[n>>2]|0);i=u;return}while(0);c[r>>2]=Oz(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0,k)|0;if((c[r>>2]|0)<0){i=u;return}c[m>>2]=Tw(c[h>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){i=u;return}c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[l>>2]=ti(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;if(c[l>>2]|0){lA(c[q>>2]|0,c[l>>2]|0,0);Tf(c[h>>2]|0,c[m>>2]|0);i=u;return}c[s>>2]=Kj(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;Tf(c[h>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(c[s>>2]|0){rx(f,0,c[r>>2]|0);mA(c[q>>2]|0,c[s>>2]|0,-1);i=u;return}else{Eh(f,31007,t);i=u;return}}function Iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;e=r+40|0;f=r+36|0;m=r+32|0;h=r+28|0;g=r+24|0;q=r+20|0;k=r+16|0;o=r+12|0;n=r+8|0;j=r+4|0;p=r;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[c[l>>2]>>2];if(Kz(c[l>>2]|0)|0){i=r;return}a:do if(c[e>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=Oz(c[l>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if((c[h>>2]|0)<0)break;c[k>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Tw(c[m>>2]|0,c[j>>2]|0)|0;if(!(c[q>>2]|0))break;j=Kj(c[m>>2]|0,c[q>>2]|0,c[k>>2]|0)|0;c[n>>2]=j;e=c[l>>2]|0;if(!j){n=Dh(e,0,c[q>>2]|0,c[k>>2]|0)|0;c[o>>2]=n;if(n)Nz(c[l>>2]|0,c[o>>2]|0,0)}else Nz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0);break}c[h>>2]=Mz(c[m>>2]|0,c[e>>2]|0)|0;if((c[h>>2]|0)>=0){Lz(c[l>>2]|0,c[h>>2]|0);break}c[q>>2]=Tw(c[m>>2]|0,c[e>>2]|0)|0;if(c[q>>2]|0){k=Kj(c[m>>2]|0,c[q>>2]|0,0)|0;c[n>>2]=k;e=c[l>>2]|0;if(!k){n=Dh(e,0,c[q>>2]|0,0)|0;c[o>>2]=n;if(n)Nz(c[l>>2]|0,c[o>>2]|0,0)}else Nz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0)}}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break a;if((c[g>>2]|0)!=1)Lz(c[l>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=dx(c[l>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}fx(c[p>>2]|0,150)|0;i=r;return}function Jw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;h=E;j=E+172|0;k=E+168|0;g=E+164|0;n=E+160|0;A=E+156|0;r=E+152|0;B=E+148|0;l=E+144|0;o=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;m=E+116|0;p=E+112|0;q=E+108|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[B>>2]=0;c[l>>2]=c[c[j>>2]>>2];c[D>>2]=0;c[s>>2]=0;c[t>>2]=c[(c[l>>2]|0)+24>>2];do if(((a[(c[l>>2]|0)+69>>0]|0)==0?(c[r>>2]=px(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,(c[r>>2]|0)!=0):0)?(c[n>>2]=Fh(c[c[j>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0,c[A>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2],e=(c[l>>2]|0)+24|0,c[e>>2]=c[e>>2]|2097152,c[B>>2]=Tw(c[l>>2]|0,c[g>>2]|0)|0,(c[B>>2]|0)!=0):0){if((ti(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0?(Kj(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0:0){if(qx(c[j>>2]|0,c[c[r>>2]>>2]|0)|0)break;if(Sx(c[j>>2]|0,c[B>>2]|0)|0)break;g=c[j>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){c[v>>2]=c[c[r>>2]>>2];Eh(g,28337,v);break}if(ax(g,26,c[A>>2]|0,c[c[r>>2]>>2]|0,0)|0)break;if(Tx(c[j>>2]|0,c[r>>2]|0)|0)break;if((d[(c[r>>2]|0)+42>>0]&16|0)!=0?(c[s>>2]=Ux(c[l>>2]|0,c[r>>2]|0)|0,(c[(c[c[(c[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[s>>2]=0;c[u>>2]=dx(c[j>>2]|0)|0;if(!(c[u>>2]|0))break;rx(c[j>>2]|0,(c[s>>2]|0)!=0&1,c[n>>2]|0);ex(c[j>>2]|0,c[n>>2]|0);if(c[s>>2]|0){h=(c[j>>2]|0)+44|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;c[m>>2]=v;hx(c[u>>2]|0,c[m>>2]|0,c[B>>2]|0)|0;mx(c[u>>2]|0,157,c[m>>2]|0,0,0,c[s>>2]|0,-10)|0;Vx(c[j>>2]|0)}c[C>>2]=c[c[r>>2]>>2];c[o>>2]=Wx(c[C>>2]|0,-1)|0;if((c[(c[l>>2]|0)+24>>2]&524288|0)!=0?(v=Xx(c[j>>2]|0,c[r>>2]|0)|0,c[D>>2]=v,(v|0)!=0):0){v=c[j>>2]|0;h=(c[n>>2]|0)==1?19905:19924;m=c[C>>2]|0;s=c[B>>2]|0;u=c[D>>2]|0;c[z>>2]=c[A>>2];c[z+4>>2]=h;c[z+8>>2]=m;c[z+12>>2]=s;c[z+16>>2]=u;cx(v,28364,z);Tf(c[l>>2]|0,c[D>>2]|0)}z=c[j>>2]|0;e=(c[n>>2]|0)==1?19905:19924;h=c[B>>2]|0;m=c[B>>2]|0;n=c[B>>2]|0;s=c[B>>2]|0;u=c[B>>2]|0;v=c[o>>2]|0;C=c[C>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=e;c[w+8>>2]=h;c[w+12>>2]=m;c[w+16>>2]=n;c[w+20>>2]=s;c[w+24>>2]=u;c[w+28>>2]=v;c[w+32>>2]=C;cx(z,28433,w);if(ti(c[l>>2]|0,28817,c[A>>2]|0)|0){C=c[j>>2]|0;w=c[B>>2]|0;z=c[c[r>>2]>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=w;c[x+8>>2]=z;cx(C,28833,x)}C=Ax(c[j>>2]|0,c[r>>2]|0)|0;c[D>>2]=C;if(C){C=c[j>>2]|0;z=c[B>>2]|0;A=c[D>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=z;c[y+8>>2]=A;cx(C,28891,y);Tf(c[l>>2]|0,c[D>>2]|0)}a:do if(c[(c[l>>2]|0)+24>>2]&524288){c[p>>2]=Yx(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[q>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=(c[r>>2]|0))yx(c[j>>2]|0,c[c[p>>2]>>2]|0,c[c[q>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);yx(c[j>>2]|0,c[r>>2]|0,c[B>>2]|0);break}D=c[j>>2]|0;c[h>>2]=c[B>>2];Eh(D,28278,h)}while(0);hv(c[l>>2]|0,c[k>>2]|0);Tf(c[l>>2]|0,c[B>>2]|0);c[(c[l>>2]|0)+24>>2]=c[t>>2];i=E;return}function Kw(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+144|0;w=E+40|0;v=E+32|0;z=E+24|0;y=E+16|0;x=E+8|0;u=E;g=E+128|0;h=E+124|0;n=E+120|0;o=E+116|0;k=E+112|0;B=E+108|0;D=E+104|0;A=E+100|0;l=E+96|0;m=E+92|0;j=E+88|0;t=E+84|0;q=E+80|0;p=E+76|0;r=E+72|0;C=E+68|0;s=E+64|0;c[g>>2]=e;c[h>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];if(c[(c[g>>2]|0)+36>>2]|0){i=E;return}if(d[(c[j>>2]|0)+69>>0]|0){i=E;return}c[n>>2]=c[(c[g>>2]|0)+440>>2];c[k>>2]=Fh(c[j>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;c[B>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[D>>2]=(c[c[n>>2]>>2]|0)+16;c[l>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+34>>1]|0)-1<<4);c[m>>2]=c[(c[l>>2]|0)+4>>2];c[o>>2]=ti(c[j>>2]|0,c[D>>2]|0,c[B>>2]|0)|0;if(ax(c[g>>2]|0,26,c[B>>2]|0,c[c[o>>2]>>2]|0,0)|0){i=E;return}if((c[m>>2]|0)!=0?(d[c[(c[m>>2]|0)+12>>2]>>0]|0)==101:0)c[m>>2]=0;if(d[(c[l>>2]|0)+15>>0]&1){Eh(c[g>>2]|0,27880,u);i=E;return}if(c[(c[n>>2]|0)+8>>2]|0){Eh(c[g>>2]|0,27912,x);i=E;return}if((c[(c[j>>2]|0)+24>>2]&524288|0)!=0?((c[m>>2]|0)!=0?(c[(c[n>>2]|0)+16>>2]|0)!=0:0):0){Eh(c[g>>2]|0,27939,y);i=E;return}if(!((c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+12>>0]|0)==0)){Eh(c[g>>2]|0,27998,z);i=E;return}do if(c[m>>2]|0){c[p>>2]=0;c[r>>2]=ux(c[j>>2]|0,c[m>>2]|0,1,65,p)|0;if(c[r>>2]|0){i=E;return}if(c[p>>2]|0){ch(c[p>>2]|0);break}Eh(c[g>>2]|0,28051,v);i=E;return}while(0);c[A>>2]=Yw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;if(c[A>>2]|0){c[C>>2]=(c[A>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1);c[s>>2]=c[(c[j>>2]|0)+24>>2];while(1){if((c[C>>2]|0)>>>0<=(c[A>>2]|0)>>>0)break;if((a[c[C>>2]>>0]|0)!=59?(d[18403+(d[c[C>>2]>>0]|0)>>0]&1|0)==0:0)break;z=c[C>>2]|0;c[C>>2]=z+-1;a[z>>0]=0}C=(c[j>>2]|0)+24|0;c[C>>2]=c[C>>2]|2097152;C=c[g>>2]|0;v=(c[k>>2]|0)==1?19905:19924;x=c[(c[n>>2]|0)+44>>2]|0;y=c[A>>2]|0;z=(c[(c[n>>2]|0)+44>>2]|0)+1|0;D=c[D>>2]|0;c[w>>2]=c[B>>2];c[w+4>>2]=v;c[w+8>>2]=x;c[w+12>>2]=y;c[w+16>>2]=z;c[w+20>>2]=D;cx(C,28097,w);Tf(c[j>>2]|0,c[A>>2]|0);c[(c[j>>2]|0)+24>>2]=c[s>>2]}c[q>>2]=vx(c[g>>2]|0)|0;jx(c[t>>2]|0,101,c[k>>2]|0,c[q>>2]|0,2)|0;Lh(c[t>>2]|0,c[k>>2]|0);ix(c[t>>2]|0,91,c[q>>2]|0,-2)|0;C=c[t>>2]|0;D=c[q>>2]|0;ix(C,66,D,(wx(c[t>>2]|0)|0)+2|0)|0;jx(c[t>>2]|0,102,c[k>>2]|0,2,3)|0;xx(c[g>>2]|0,c[q>>2]|0);yx(c[g>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0);i=E;return}function Lw(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u+16|0;s=u+8|0;g=u;h=u+56|0;j=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;m=u+36|0;l=u+32|0;n=u+28|0;k=u+24|0;o=u+20|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];do if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[q>>2]=px(c[h>>2]|0,0,(c[j>>2]|0)+8|0)|0,(c[q>>2]|0)!=0):0){if(d[(c[q>>2]|0)+42>>0]&16){Eh(c[h>>2]|0,27691,g);break}e=c[h>>2]|0;if(c[(c[q>>2]|0)+12>>2]|0){Eh(e,27725,s);break}if(((0==(qx(e,c[c[q>>2]>>2]|0)|0)?(c[m>>2]=Fh(c[k>>2]|0,c[(c[q>>2]|0)+64>>2]|0)|0,c[p>>2]=sh(c[k>>2]|0,72,0)|0,(c[p>>2]|0)!=0):0)?(c[(c[h>>2]|0)+440>>2]=c[p>>2],b[(c[p>>2]|0)+36>>1]=1,b[(c[p>>2]|0)+34>>1]=b[(c[q>>2]|0)+34>>1]|0,c[n>>2]=((((b[(c[p>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=sh(c[k>>2]|0,c[n>>2]<<4,0)|0,c[(c[p>>2]|0)+4>>2]=s,s=c[k>>2]|0,c[t>>2]=c[c[q>>2]>>2],t=Gh(s,27755,t)|0,c[c[p>>2]>>2]=t,(c[(c[p>>2]|0)+4>>2]|0)!=0):0)?(c[c[p>>2]>>2]|0)!=0:0){TR(c[(c[p>>2]|0)+4>>2]|0,c[(c[q>>2]|0)+4>>2]|0,b[(c[p>>2]|0)+34>>1]<<4|0)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[p>>2]|0)+34>>1]|0))break;c[o>>2]=(c[(c[p>>2]|0)+4>>2]|0)+(c[l>>2]<<4);t=qh(c[k>>2]|0,c[c[o>>2]>>2]|0)|0;c[c[o>>2]>>2]=t;c[(c[o>>2]|0)+8>>2]=0;c[(c[o>>2]|0)+4>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[p>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];c[(c[p>>2]|0)+44>>2]=c[(c[q>>2]|0)+44>>2];b[(c[p>>2]|0)+36>>1]=1;rx(c[h>>2]|0,0,c[m>>2]|0);c[r>>2]=dx(c[h>>2]|0)|0;if(c[r>>2]|0)ex(c[h>>2]|0,c[m>>2]|0)}}while(0);hv(c[k>>2]|0,c[j>>2]|0);i=u;return}function Mw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+96|0;q=u+32|0;p=u+8|0;o=u;e=u+80|0;f=u+76|0;m=u+72|0;g=u+68|0;s=u+64|0;t=u+60|0;h=u+56|0;j=u+52|0;n=u+48|0;k=u+44|0;l=u+40|0;r=u+36|0;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[(c[e>>2]|0)+440>>2];c[g>>2]=c[c[e>>2]>>2];if(!(c[m>>2]|0)){i=u;return}_w(c[e>>2]|0);c[(c[e>>2]|0)+452>>2]=0;if((c[(c[m>>2]|0)+48>>2]|0)<1){i=u;return}if(!(a[(c[g>>2]|0)+148+5>>0]|0)){if(c[f>>2]|0)c[(c[e>>2]|0)+384+4>>2]=(c[c[f>>2]>>2]|0)-(c[(c[e>>2]|0)+384>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);r=c[g>>2]|0;c[o>>2]=(c[e>>2]|0)+384;c[s>>2]=Gh(r,27552,o)|0;c[h>>2]=Fh(c[g>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;r=c[e>>2]|0;d=(c[h>>2]|0)==1?19905:19924;k=c[c[m>>2]>>2]|0;b=c[c[m>>2]>>2]|0;l=c[s>>2]|0;o=c[(c[e>>2]|0)+100>>2]|0;c[p>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[p+4>>2]=d;c[p+8>>2]=k;c[p+12>>2]=b;c[p+16>>2]=l;c[p+20>>2]=o;cx(r,27576,p);Tf(c[g>>2]|0,c[s>>2]|0);c[n>>2]=dx(c[e>>2]|0)|0;ex(c[e>>2]|0,c[h>>2]|0);fx(c[n>>2]|0,150)|0;s=c[g>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[t>>2]=Gh(s,27664,q)|0;gx(c[n>>2]|0,c[h>>2]|0,c[t>>2]|0);s=(c[e>>2]|0)+44|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[j>>2]=t;hx(c[n>>2]|0,c[j>>2]|0,c[c[m>>2]>>2]|0)|0;ix(c[n>>2]|0,153,c[h>>2]|0,c[j>>2]|0)|0;i=u;return}c[l>>2]=c[(c[m>>2]|0)+64>>2];c[r>>2]=c[c[m>>2]>>2];c[k>>2]=Uj((c[l>>2]|0)+8|0,c[r>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0){mh(c[g>>2]|0);i=u;return}else{c[(c[e>>2]|0)+440>>2]=0;i=u;return}}function Nw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+32|0;j=o+28|0;r=o+24|0;q=o+20|0;k=o+16|0;p=o+12|0;m=o+8|0;n=o+4|0;l=o;c[j>>2]=b;c[r>>2]=e;c[q>>2]=f;c[k>>2]=g;c[p>>2]=h;zv(c[j>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[n>>2]=c[(c[j>>2]|0)+440>>2];if(!(c[n>>2]|0)){i=o;return}c[l>>2]=c[c[j>>2]>>2];c[m>>2]=Fh(c[l>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;r=(c[n>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;r=c[l>>2]|0;q=c[n>>2]|0;$w(r,q,Tw(c[l>>2]|0,c[k>>2]|0)|0);$w(c[l>>2]|0,c[n>>2]|0,0);q=c[l>>2]|0;r=c[n>>2]|0;$w(q,r,qh(c[l>>2]|0,c[c[n>>2]>>2]|0)|0);c[(c[j>>2]|0)+384+4>>2]=(c[c[k>>2]>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+384>>2]|0);if(!(c[(c[n>>2]|0)+52>>2]|0)){i=o;return}ax(c[j>>2]|0,29,c[c[n>>2]>>2]|0,c[c[(c[n>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;i=o;return}function Ow(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;_w(c[d>>2]|0);c[(c[d>>2]|0)+452>>2]=0;c[(c[d>>2]|0)+452+4>>2]=0;i=b;return}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+452;b=c[d>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=f;return}}function Qw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;q=s;h=s+40|0;j=s+36|0;t=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;p=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;c[h>>2]=b;c[j>>2]=d;c[t>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[r>>2]=Tw(c[c[h>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[r>>2]|0)!=0&(c[j>>2]|0)!=0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[j>>2]>>2]|0))break a;if(!(ig(c[r>>2]|0,c[(c[j>>2]|0)+8+(c[n>>2]<<4)>>2]|0)|0)){t=c[h>>2]|0;c[q>>2]=c[r>>2];Eh(t,27484,q)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[j>>2]|0){c[o>>2]=24+(c[c[j>>2]>>2]<<4);t=c[o>>2]|0;c[p>>2]=Uw(c[m>>2]|0,c[j>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[p>>2]=sh(c[m>>2]|0,24,0)|0;if(a[(c[m>>2]|0)+69>>0]|0){ev(c[m>>2]|0,c[k>>2]|0);fv(c[m>>2]|0,c[l>>2]|0);Tf(c[m>>2]|0,c[r>>2]|0);c[p>>2]=c[j>>2];t=c[p>>2]|0;i=s;return t|0}else{c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+8>>2]=c[l>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+4>>2]=c[k>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)>>2]=c[r>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+12>>2]=0;t=c[p>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[p>>2]|0;i=s;return t|0}return 0}function Rw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[10806+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[11456+(c[h>>2]<<1)>>1]|0}function Sw(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=c[e>>2];i=b;return}function Tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Yw(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Zw(c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function Uw(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=f;d=c[h>>2]|0;if(!(c[j>>2]|0)){c[g>>2]=Vw(d,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}if((lu(d,c[j>>2]|0)|0)!=0?(b=k,a=c[b+4>>2]|0,a>>>0<0|((a|0)==0?(c[b>>2]|0)>>>0<=(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)):0){c[g>>2]=c[j>>2];k=c[g>>2]|0;i=l;return k|0}c[g>>2]=Ww(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Vw(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+256>>2]|0){if(a[(c[h>>2]|0)+69>>0]|0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}}else{b=j;f=c[b+4>>2]|0;d=(c[h>>2]|0)+256|0;if(f>>>0>0|((f|0)==0?(c[b>>2]|0)>>>0>(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)){k=d+16+4|0;c[k>>2]=(c[k>>2]|0)+1;break}b=c[d+28>>2]|0;c[k>>2]=b;if(!b){k=(c[h>>2]|0)+256+16+8|0;c[k>>2]=(c[k>>2]|0)+1;break}c[(c[h>>2]|0)+256+28>>2]=c[c[k>>2]>>2];j=(c[h>>2]|0)+256+8|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[h>>2]|0)+256+16|0;c[j>>2]=(c[j>>2]|0)+1;if((c[(c[h>>2]|0)+256+8>>2]|0)>(c[(c[h>>2]|0)+256+12>>2]|0))c[(c[h>>2]|0)+256+12>>2]=c[(c[h>>2]|0)+256+8>>2];c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}while(0);k=j;c[g>>2]=Xw(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Ww(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=f;c[b+4>>2]=g;c[l>>2]=0;if(d[(c[h>>2]|0)+69>>0]|0){l=c[l>>2]|0;i=m;return l|0}if(lu(c[h>>2]|0,c[j>>2]|0)|0){b=k;c[l>>2]=Vw(c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}TR(c[l>>2]|0,c[j>>2]|0,e[(c[h>>2]|0)+256+4>>1]|0|0)|0;Tf(c[h>>2]|0,c[j>>2]|0);l=c[l>>2]|0;i=m;return l|0}else{b=k;c[l>>2]=Md(c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}mh(c[h>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Xw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=h;c[f>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}mh(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}function Yw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}b=c[h>>2]|0;d=k;d=RR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[l>>2]=Vw(b,d,C)|0;if(c[l>>2]|0){TR(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0}c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}function Zw(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;if(!(c[e>>2]|0)){i=j;return}a[h>>0]=a[c[e>>2]>>0]|0;if(!(d[18403+(d[h>>0]|0)>>0]&128)){i=j;return}if((a[h>>0]|0)==91)a[h>>0]=93;c[f>>2]=1;c[g>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[e>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[(c[e>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[e>>2]|0)+b>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[e>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function _w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+452>>2]|0)){i=g;return}if(!(c[(c[b>>2]|0)+440>>2]|0)){i=g;return}c[f>>2]=c[(c[b>>2]|0)+452>>2];c[e>>2]=c[(c[b>>2]|0)+452+4>>2];c[d>>2]=c[c[b>>2]>>2];h=c[d>>2]|0;b=c[(c[b>>2]|0)+440>>2]|0;a=c[e>>2]|0;$w(h,b,Yw(c[d>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0);i=g;return}function $w(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[l>>2]|0;c[h>>2]=Uw(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Tf(c[e>>2]|0,c[g>>2]|0);i=k;return}else{d=(c[f>>2]|0)+48|0;l=c[d>>2]|0;c[d>>2]=l+1;c[j>>2]=l;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];i=k;return}}function ax(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[j>>2]>>2];if((d[(c[o>>2]|0)+148+5>>0]|0|0)==0?(d[(c[j>>2]|0)+410>>0]|0|0)==0:0){if(!(c[(c[o>>2]|0)+296>>2]|0)){c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}c[p>>2]=Sb[c[(c[o>>2]|0)+296>>2]&255](c[(c[o>>2]|0)+300>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[j>>2]|0)+448>>2]|0)|0;if((c[p>>2]|0)!=1){if((c[p>>2]|0)!=0&(c[p>>2]|0)!=2){c[p>>2]=1;bx(c[j>>2]|0)}}else{Eh(c[j>>2]|0,27514,q);c[(c[j>>2]|0)+12>>2]=23}c[h>>2]=c[p>>2];g=c[h>>2]|0;i=r;return g|0}c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}function bx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;Eh(c[d>>2]|0,27529,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function cx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;h=n+36|0;f=n+32|0;g=n+16|0;m=n+8|0;l=n+4|0;j=n;k=n+40|0;c[h>>2]=b;c[f>>2]=d;c[l>>2]=0;c[j>>2]=c[c[h>>2]>>2];if(c[(c[h>>2]|0)+36>>2]|0){i=n;return}c[g>>2]=e;c[m>>2]=ox(c[j>>2]|0,c[f>>2]|0,g)|0;if(!(c[m>>2]|0)){i=n;return}f=(c[h>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;f=k;g=(c[h>>2]|0)+400|0;b=f+80|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(b|0));f=(c[h>>2]|0)+400|0;b=f+80|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));Yh(c[h>>2]|0,c[m>>2]|0,l)|0;Tf(c[j>>2]|0,c[l>>2]|0);Tf(c[j>>2]|0,c[m>>2]|0);f=(c[h>>2]|0)+400|0;g=k;b=f+80|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(b|0));m=(c[h>>2]|0)+18|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;i=n;return}function dx(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}else{d=nx(c[b>>2]|0)|0;i=e;return d|0}return 0}function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];jx(c[g>>2]|0,102,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;i=d;return}function fx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=jx(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function gx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;mx(c[e>>2]|0,136,c[j>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;Lh(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=mx(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;i=e;return d|0}function ix(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;e=jx(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return e|0}function jx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[j>>2]|0)+136>>2];d=c[j>>2]|0;if((c[(c[(c[j>>2]|0)+12>>2]|0)+48>>2]|0)<=(c[o>>2]|0)){c[h>>2]=kx(d,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;p=c[h>>2]|0;i=q;return p|0}else{g=d+136|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[(c[j>>2]|0)+88>>2]|0)+((c[o>>2]|0)*20|0);a[c[p>>2]>>0]=c[k>>2];a[(c[p>>2]|0)+3>>0]=0;c[(c[p>>2]|0)+4>>2]=c[l>>2];c[(c[p>>2]|0)+8>>2]=c[m>>2];c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+1>>0]=0;c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}return 0}function kx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(lx(c[h>>2]|0,1)|0){c[g>>2]=1;f=c[g>>2]|0;i=n;return f|0}else{c[g>>2]=jx(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;f=c[g>>2]|0;i=n;return f|0}return 0}function lx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+12>>2];if(c[(c[f>>2]|0)+48>>2]|0)b=c[(c[f>>2]|0)+48>>2]<<1;else b=51;c[e>>2]=b;c[g>>2]=Uw(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+88>>2]|0,(c[e>>2]|0)*20|0,0)|0;if(!(c[g>>2]|0)){g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}e=ku(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+52>>2]=e;c[(c[f>>2]|0)+48>>2]=((c[(c[f>>2]|0)+52>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+88>>2]=c[g>>2];g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}function mx(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;n=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;m=k+8|0;l=k+4|0;j=k;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=jx(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Mh(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function nx(b){b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=b;b=Hh(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)ix(c[f>>2]|0,71,0,1)|0;if(c[(c[d>>2]|0)+124>>2]|0){f=c[f>>2]|0;i=g;return f|0}if((e[(c[c[d>>2]>>2]|0)+64>>1]|0)&8){f=c[f>>2]|0;i=g;return f|0}a[(c[d>>2]|0)+23>>0]=1;f=c[f>>2]|0;i=g;return f|0}function ox(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+128|0;g=j+40|0;m=j+36|0;l=j+32|0;h=j+28|0;k=j;c[g>>2]=b;c[m>>2]=e;c[l>>2]=f;dg(k,c[g>>2]|0,j+44|0,70,c[(c[g>>2]|0)+96>>2]|0);a[k+25>>0]=1;eg(k,c[m>>2]|0,c[l>>2]|0);c[h>>2]=fg(k)|0;if((d[k+24>>0]|0|0)!=1){m=c[h>>2]|0;i=j;return m|0}mh(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function px(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[j>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]}else c[j>>2]=c[(c[g>>2]|0)+4>>2];j=Dh(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[j>>2]|0)|0;i=k;return j|0}function qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((Jf(c[f>>2]|0)|0)>6?0==(zd(c[f>>2]|0,27844,7)|0):0){b=c[e>>2]|0;c[g>>2]=c[f>>2];Eh(b,27852,g);c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function rx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;f=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)f=c[f+124>>2]|0;c[k>>2]=f;sx(c[g>>2]|0,c[j>>2]|0);g=(c[k>>2]|0)+92|0;c[g>>2]=c[g>>2]|1<>2];k=(c[k>>2]|0)+20|0;a[k>>0]=d[k>>0]|0|c[h>>2];i=l;return}function sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;b=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[e>>2]=b;if((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0){i=f;return}g=(c[e>>2]|0)+96|0;c[g>>2]=c[g>>2]|1<>2];if((c[d>>2]|0)!=1){i=f;return}tx(c[e>>2]|0)|0;i=f;return}function tx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+409>>0]|0)==0:0){c[h>>2]=bk(c[c[f>>2]>>2]|0,0,c[f>>2]|0,g,0,542)|0;if(c[h>>2]|0){Eh(c[e>>2]|0,27774,j);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[g>>2];if(7==(Ci(c[g>>2]|0,c[(c[f>>2]|0)+80>>2]|0,-1,0)|0)){mh(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}}c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function ux(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;h=n+8|0;j=n+4|0;k=n+13|0;l=n+12|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[j>>2]|0)){g=0;i=n;return g|0}g=Cx(c[h>>2]|0,c[j>>2]|0,a[k>>0]|0,a[l>>0]|0,c[m>>2]|0,0)|0;i=n;return g|0}function vx(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+44|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;i=g;return f|0}else{h=b+19|0;b=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=b;c[e>>2]=c[(c[f>>2]|0)+352+((b&255)<<2)>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function wx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+136>>2]|0}function xx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=k;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){i=k;return}c[f>>2]=0;c[j>>2]=(c[g>>2]|0)+152;while(1){if((c[f>>2]|0)>=(d[(c[g>>2]|0)+25>>0]|0|0)){f=8;break}if((c[(c[j>>2]|0)+12>>2]|0)==(c[h>>2]|0)){f=6;break}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==6){a[(c[j>>2]|0)+6>>0]=1;i=k;return}else if((f|0)==8){h=c[h>>2]|0;b=(c[g>>2]|0)+19|0;j=a[b>>0]|0;a[b>>0]=j+1<<24>>24;c[(c[g>>2]|0)+352+((j&255)<<2)>>2]=h;i=k;return}}function yx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+32|0;f=o+28|0;g=o+24|0;l=o+20|0;n=o+16|0;h=o+12|0;k=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=dx(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=o;return}c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;c[k>>2]=zx(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[j>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;mx(c[l>>2]|0,140,c[j>>2]|0,0,0,c[c[k>>2]>>2]|0,0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}mx(c[l>>2]|0,138,c[h>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;d=c[c[e>>2]>>2]|0;c[m>>2]=c[g>>2];c[n>>2]=Gh(d,28206,m)|0;if(!(c[n>>2]|0)){i=o;return}gx(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0);d=Ax(c[e>>2]|0,c[f>>2]|0)|0;c[n>>2]=d;if(!d){i=o;return}gx(c[l>>2]|0,1,c[n>>2]|0);i=o;return}function zx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;k=l+24|0;m=l+20|0;f=l+16|0;e=l+12|0;h=l+8|0;g=l+4|0;j=l;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+150>>0]|0){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[g>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((c[(c[j>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(ig(c[(c[j>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[j>>2]|0)+32>>2]=b;c[h>>2]=c[j>>2]}c[g>>2]=c[c[g>>2]>>2]}}while(0);if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[k>>2]=b;m=c[k>>2]|0;i=l;return m|0}function Ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;d=m+28|0;e=m+24|0;h=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;k=m+4|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[g>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[c[d>>2]>>2];c[h>>2]=zx(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;if((c[(c[h>>2]|0)+20>>2]|0)==(c[g>>2]|0))c[l>>2]=Bx(c[f>>2]|0,c[l>>2]|0,c[c[h>>2]>>2]|0)|0;c[h>>2]=c[(c[h>>2]|0)+32>>2]}}while(0);if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}h=c[c[d>>2]>>2]|0;c[j>>2]=c[l>>2];c[k>>2]=Gh(h,28218,j)|0;Tf(c[c[d>>2]>>2]|0,c[l>>2]|0);c[l>>2]=c[k>>2];l=c[l>>2]|0;i=m;return l|0}function Bx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+8|0;h=l;e=l+28|0;f=l+24|0;g=l+20|0;k=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){h=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;c[k>>2]=Gh(a,28250,j)|0;Tf(c[e>>2]|0,c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}else{c[h>>2]=c[g>>2];c[k>>2]=Gh(a,28242,h)|0;k=c[k>>2]|0;i=l;return k|0}return 0}function Cx(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+64|0;t=E;z=E+52|0;v=E+48|0;n=E+44|0;x=E+58|0;y=E+57|0;A=E+40|0;o=E+36|0;s=E+32|0;w=E+28|0;B=E+24|0;r=E+20|0;u=E+16|0;D=E+12|0;p=E+56|0;q=E+8|0;c[v>>2]=f;c[n>>2]=g;a[x>>0]=j;a[y>>0]=k;c[A>>2]=l;c[o>>2]=m;c[w>>2]=0;c[B>>2]=0;c[r>>2]=1;c[u>>2]=18402;c[D>>2]=0;while(1){l=d[c[n>>2]>>0]|0;c[s>>2]=l;if(!((l|0)==156?1:(c[s>>2]|0)==161))break;c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((c[s>>2]|0)==157)c[s>>2]=d[(c[n>>2]|0)+38>>0];if((c[s>>2]|0)==66){a[p>>0]=Dx(c[(c[n>>2]|0)+8>>2]|0,0)|0;c[D>>2]=Cx(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[p>>0]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[c[A>>2]>>2]|0){Ex(c[c[A>>2]>>2]|0,a[p>>0]|0,1);Fx(c[c[A>>2]>>2]|0,a[y>>0]|0,1)}c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}do if((c[s>>2]|0)==155){if((d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=134?(d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=132:0)break;c[n>>2]=c[(c[n>>2]|0)+12>>2];c[s>>2]=d[c[n>>2]>>0];c[r>>2]=-1;c[u>>2]=28264}while(0);do if((c[s>>2]|0)==97|(c[s>>2]|0)==132|(c[s>>2]|0)==134){c[B>>2]=Gx(c[v>>2]|0,c[o>>2]|0)|0;if(c[B>>2]|0){if(c[(c[n>>2]|0)+4>>2]&1024){v=c[B>>2]|0;u=c[(c[n>>2]|0)+8>>2]|0;w=c[r>>2]|0;w=aS(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;hh(v,w,C)}else{l=c[v>>2]|0;g=c[(c[n>>2]|0)+8>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=g;c[w>>2]=Gh(l,24705,t)|0;if(!(c[w>>2]|0)){n=42;break}_h(c[B>>2]|0,-1,c[w>>2]|0,1,170)}if((c[s>>2]|0)==134|(c[s>>2]|0)==132?(d[y>>0]|0|0)==65:0)Fx(c[B>>2]|0,67,1);else Fx(c[B>>2]|0,a[y>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12){y=(c[B>>2]|0)+8|0;b[y>>1]=(e[y>>1]|0)&-3}if((d[x>>0]|0|0)!=1){c[D>>2]=iu(c[B>>2]|0,d[x>>0]|0)|0;n=41}else n=41}else n=42}else{if((c[s>>2]|0)!=155){if((c[s>>2]|0)==101){c[B>>2]=Gx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=42;break}else{n=41;break}}if((c[s>>2]|0)!=133){n=41;break}c[B>>2]=Gx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=42;break}c[w>>2]=(c[(c[n>>2]|0)+8>>2]|0)+2;c[q>>2]=(Jf(c[w>>2]|0)|0)-1;y=c[B>>2]|0;n=Ix(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;gh(y,n,(c[q>>2]|0)/2|0,0,170)|0;n=41;break}w=0==(ux(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[y>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){Hx(c[B>>2]|0)|0;n=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8)){w=n;n=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[n>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=n;v=QR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=C;break}}else h[c[B>>2]>>3]=-+h[n>>3];while(0);Fx(c[B>>2]|0,a[y>>0]|0,a[x>>0]|0);n=41}else n=41}while(0);if((n|0)==41){c[c[A>>2]>>2]=c[B>>2];c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}else if((n|0)==42){mh(c[v>>2]|0);Tf(c[v>>2]|0,c[w>>2]|0);ch(c[B>>2]|0);c[z>>2]=7;D=c[z>>2]|0;i=E;return D|0}return 0}function Dx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+16|0;g=n+12|0;j=n+8|0;h=n+20|0;l=n+4|0;k=n;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;a[h>>0]=67;c[l>>2]=0;a:while(1){if(!(a[c[f>>2]>>0]|0))break;c[j>>2]=(c[j>>2]<<8)+(d[17613+(a[c[f>>2]>>0]&255)>>0]|0);c[f>>2]=(c[f>>2]|0)+1;if((c[j>>2]|0)==1667785074){a[h>>0]=66;c[l>>2]=c[f>>2];continue}if((c[j>>2]|0)==1668050786){a[h>>0]=66;continue}if((c[j>>2]|0)==1952807028){a[h>>0]=66;continue}do if((c[j>>2]|0)==1651273570){if((a[h>>0]|0)!=67?(a[h>>0]|0)!=69:0)break;a[h>>0]=65;if((a[c[f>>2]>>0]|0)!=40)continue a;c[l>>2]=c[f>>2];continue a}while(0);if((c[j>>2]|0)==1919246700?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1718382433?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1685026146?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]&16777215|0)==6909556){m=24;break}}if((m|0)==24)a[h>>0]=68;if(!(c[g>>2]|0)){m=a[h>>0]|0;i=n;return m|0}a[c[g>>2]>>0]=1;if((a[h>>0]|0)>=67){m=a[h>>0]|0;i=n;return m|0}if(!(c[l>>2]|0)){a[c[g>>2]>>0]=5;m=a[h>>0]|0;i=n;return m|0}while(1){if(!(a[c[l>>2]>>0]|0)){m=33;break}if(d[18403+(d[c[l>>2]>>0]|0)>>0]&4)break;c[l>>2]=(c[l>>2]|0)+1}if((m|0)==33){m=a[h>>0]|0;i=n;return m|0}c[k>>2]=0;Qi(c[l>>2]|0,k)|0;m=((c[k>>2]|0)/4|0)+1|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>255?255:m;a[c[g>>2]>>0]=c[k>>2];m=a[h>>0]|0;i=n;return m|0}function Ex(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+5|0;l=m+4|0;c[k>>2]=f;a[j>>0]=g;a[l>>0]=h;if((e[(c[k>>2]|0)+8>>1]|0)&1){i=m;return}switch(d[j>>0]|0|0){case 65:{j=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){l=j+8|0;b[l>>1]=(e[l>>1]|0)&-33264;i=m;return}Fx(j,66,a[l>>0]|0);if(!((e[(c[k>>2]|0)+8>>1]|0)&2)){i=m;return}b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-49664|16;i=m;return}case 67:{Hx(c[k>>2]|0)|0;i=m;return}case 68:{Qx(c[k>>2]|0)|0;i=m;return}case 69:{Rx(c[k>>2]|0)|0;i=m;return}default:{f=(c[k>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[k>>2]|0)+8>>1]|0)&16)>>3;Fx(c[k>>2]|0,66,a[l>>0]|0);l=(c[k>>2]|0)+8|0;b[l>>1]=(e[l>>1]|0)&-16413;i=m;return}}}function Fx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;Lx(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Zh(c[e>>2]|0)|0;i=d;return b|0}function Hx(d){d=d|0;var f=0,g=0,j=0,k=0.0;g=i;i=i+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){j=0==(Mi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(j){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{k=+$g(d);h[c[f>>2]>>3]=k;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;Jx(c[f>>2]|0);break}}while(0);j=(c[f>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-16403;i=g;return 0}function Ix(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;d=((c[g>>2]|0)/2|0)+1|0;c[j>>2]=Vw(c[l>>2]|0,d,((d|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=0;while(1){b=c[h>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;l=((Li(a[(c[f>>2]|0)+b>>0]|0)|0)&255)<<4;l=(l|(Li(a[(c[f>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[j>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[j>>2]|0)+((b|0)/2|0)>>0]=0;l=c[j>>2]|0;i=k;return l|0}function Jx(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;d=g+8|0;f=g;c[d>>2]=a;k=Kx(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=C;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=g;return}k=f;l=c[k+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;i=g;return}function Kx(a){a=+a;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;C=c[f+4>>2]|0;i=e;return c[f>>2]|0}function Lx(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;h=l+5|0;j=l+4|0;c[k>>2]=d;a[h>>0]=f;a[j>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){i=l;return}if(0==(e[(c[k>>2]|0)+8>>1]&2|0)?(e[(c[k>>2]|0)+8>>1]&12|0)!=0:0)Mx(c[k>>2]|0,a[j>>0]|0,1)|0;k=(c[k>>2]|0)+8|0;b[k>>1]=e[k>>1]&-13;i=l;return}if(e[(c[k>>2]|0)+8>>1]&4){i=l;return}h=c[k>>2]|0;if(e[(c[k>>2]|0)+8>>1]&8){Jx(h);i=l;return}if(!(e[h+8>>1]&2)){i=l;return}Bh(c[k>>2]|0,1);i=l;return}function Mx(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;k=r+28|0;l=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[l>>2]=f;a[m>>0]=g;a[n>>0]=j;c[o>>2]=e[(c[l>>2]|0)+8>>1];c[r+16>>2]=32;if(Nx(c[l>>2]|0,32)|0){a[(c[l>>2]|0)+10>>0]=0;c[k>>2]=7;q=c[k>>2]|0;i=r;return q|0}j=c[(c[l>>2]|0)+16>>2]|0;g=c[l>>2]|0;if(c[o>>2]&4){f=g;o=c[f+4>>2]|0;q=p;c[q>>2]=c[f>>2];c[q+4>>2]=o;Qd(32,j,28266,p)|0}else{h[q>>3]=+h[g>>3];Qd(32,j,28271,q)|0}q=Jf(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=q;a[(c[l>>2]|0)+10>>0]=1;q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}iu(c[l>>2]|0,d[m>>0]|0)|0;c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}function Nx(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=Ox(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;i=j;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;i=j;return h|0}return 0}function Ox(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=a;c[g>>2]=d;c[k>>2]=f;do if((c[(c[j>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+24>>2]|0)>0:0)?(c[(c[j>>2]|0)+16>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0):0){a=c[g>>2]|0;a=Px(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a;c[(c[j>>2]|0)+16>>2]=a;c[k>>2]=0}else{if((c[(c[j>>2]|0)+24>>2]|0)>0)Tf(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=c[g>>2]|0;a=Ch(c[(c[j>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a}g=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){a=ku(c[g+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=a;break}ih(g);c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}while(0);if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+16>>2]|0)!=(c[(c[j>>2]|0)+20>>2]|0):0)TR(c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if((e[(c[j>>2]|0)+8>>1]|0)&1024)Qb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+20>>2];k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-7169;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Px(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;k=j;h=j+8|0;c[f>>2]=a;c[g>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;b=k;c[h>>2]=Uw(c[f>>2]|0,c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}Tf(c[f>>2]|0,c[g>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Qx(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=ah(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=C;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;i=d;return 0}function Rx(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+$g(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;i=d;return 0}function Sx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;f=k+12|0;g=k+8|0;h=k+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+148+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(zd(c[h>>2]|0,27844,7)|0):0){e=c[g>>2]|0;c[j>>2]=c[h>>2];Eh(e,30775,j);c[f>>2]=1;e=c[f>>2]|0;i=k;return e|0}c[f>>2]=0;e=c[f>>2]|0;i=k;return e|0}function Tx(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;g=r+36|0;h=r+32|0;j=r+28|0;o=r+24|0;n=r+20|0;m=r+16|0;l=r+12|0;k=r+8|0;q=r+4|0;c[h>>2]=a;c[j>>2]=f;c[m>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(Zx(c[h>>2]|0,c[j>>2]|0)|0){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}if(d[(c[j>>2]|0)+42>>0]&16){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)>0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)<0){q=c[h>>2]|0;c[p>>2]=c[c[j>>2]>>2];Eh(q,28983,p);c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}c[n>>2]=_x(c[k>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=c[(c[h>>2]|0)+40>>2];$x(c[h>>2]|0,c[(c[n>>2]|0)+28>>2]|0);b[(c[j>>2]|0)+34>>1]=-1;p=(c[k>>2]|0)+256|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=c[(c[k>>2]|0)+296>>2];c[(c[k>>2]|0)+296>>2]=0;c[o>>2]=ay(c[h>>2]|0,c[n>>2]|0)|0;c[(c[k>>2]|0)+296>>2]=c[q>>2];c[(c[h>>2]|0)+40>>2]=c[l>>2];do if(c[(c[j>>2]|0)+24>>2]|0){by(c[h>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[j>>2]|0)+34|0,(c[j>>2]|0)+4|0)|0;if(((d[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[h>>2]|0)+36>>2]|0)==0:0)?(b[(c[j>>2]|0)+34>>1]|0)==(c[c[c[n>>2]>>2]>>2]|0):0)cy(c[h>>2]|0,c[j>>2]|0,c[n>>2]|0)}else if(c[o>>2]|0){b[(c[j>>2]|0)+34>>1]=b[(c[o>>2]|0)+34>>1]|0;c[(c[j>>2]|0)+4>>2]=c[(c[o>>2]|0)+4>>2];b[(c[o>>2]|0)+34>>1]=0;c[(c[o>>2]|0)+4>>2]=0;break}else{b[(c[j>>2]|0)+34>>1]=0;c[m>>2]=(c[m>>2]|0)+1;break}while(0);Rf(c[k>>2]|0,c[o>>2]|0);fv(c[k>>2]|0,c[n>>2]|0);q=(c[k>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1}else c[m>>2]=(c[m>>2]|0)+1;q=(c[(c[j>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[g>>2]=c[m>>2];q=c[g>>2]|0;i=r;return q|0}function Ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function Vx(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;i=e;return}function Wx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[k>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){e=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){e=10;break}k=c[f>>2]|0;c[f>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((e|0)==10){i=j;return c[h>>2]|0}return 0}function Xx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=Yx(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=Bx(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return c[f>>2]|0}function Yx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=sj((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Zx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;m=q+8|0;l=q;e=q+44|0;f=q+40|0;g=q+36|0;h=q+32|0;o=q+28|0;j=q+24|0;k=q+20|0;p=q+16|0;n=q+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[c[f>>2]>>2];if(((d[(c[g>>2]|0)+42>>0]|0)&16|0)!=0?(Ux(c[h>>2]|0,c[g>>2]|0)|0)==0:0){c[o>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];c[j>>2]=sj((c[h>>2]|0)+320|0,c[o>>2]|0)|0;if(c[j>>2]|0){c[n>>2]=0;c[k>>2]=Jz(c[h>>2]|0,c[g>>2]|0,c[j>>2]|0,c[(c[c[j>>2]>>2]|0)+8>>2]|0,n)|0;if(c[k>>2]|0){p=c[f>>2]|0;c[m>>2]=c[n>>2];Eh(p,18391,m)}Tf(c[h>>2]|0,c[n>>2]|0)}else{c[p>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];o=c[f>>2]|0;c[l>>2]=c[p>>2];Eh(o,30631,l);c[k>>2]=1}c[e>>2]=c[k>>2];p=c[e>>2]|0;i=q;return p|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}function _x(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[l>>2]=Vw(c[h>>2]|0,68,0)|0;if(!(c[l>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}e=Qy(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=e;e=Gz(c[h>>2]|0,c[(c[j>>2]|0)+28>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+28>>2]=e;e=Iy(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+32>>2]=e;e=Qy(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=e;e=Iy(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=e;e=Qy(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+44>>2]=e;a[(c[l>>2]|0)+4>>0]=a[(c[j>>2]|0)+4>>0]|0;e=_x(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[m>>2]=e;c[(c[l>>2]|0)+48>>2]=e;if(c[m>>2]|0)c[(c[m>>2]|0)+52>>2]=c[l>>2];c[(c[l>>2]|0)+52>>2]=0;m=Iy(c[h>>2]|0,c[(c[j>>2]|0)+56>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+56>>2]=m;m=Iy(c[h>>2]|0,c[(c[j>>2]|0)+60>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+60>>2]=m;c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;c[(c[l>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2]&-33;c[(c[l>>2]|0)+20>>2]=-1;c[(c[l>>2]|0)+20+4>>2]=-1;b[(c[l>>2]|0)+6>>1]=b[(c[j>>2]|0)+6>>1]|0;m=Hz(c[h>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[(c[l>>2]|0)+64>>2]=m;c[g>>2]=c[l>>2];m=c[g>>2]|0;i=n;return m|0}function $x(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){d=8;break}b=(c[d>>2]|0)+40|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[g>>2]|0)+44>>2]=a;if(c[(c[g>>2]|0)+20>>2]|0)$x(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+28>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((d|0)==8){i=h;return}}function ay(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;my(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+36>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}c[(c[j>>2]|0)+24>>2]=c[l>>2];c[k>>2]=sh(c[j>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}b[(c[k>>2]|0)+36>>1]=1;c[c[k>>2]>>2]=0;b[(c[k>>2]|0)+38>>1]=200;by(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;cy(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0);b[(c[k>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+69>>0]|0){Rf(c[j>>2]|0,c[k>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}return 0}function by(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;j=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;k=D+72|0;z=D+68|0;q=D+64|0;n=D+60|0;p=D+56|0;v=D+52|0;o=D+48|0;l=D+32|0;r=D+28|0;s=D+24|0;m=D+20|0;c[E>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;c[A>>2]=c[c[E>>2]>>2];zj(l);if(c[j>>2]|0){c[n>>2]=c[c[j>>2]>>2];c[z>>2]=sh(c[A>>2]|0,c[n>>2]<<4,0)|0}else{c[n>>2]=0;c[z>>2]=0}b[c[x>>2]>>1]=c[n>>2];c[c[y>>2]>>2]=c[z>>2];c[B>>2]=0;c[q>>2]=c[z>>2];while(1){if((c[B>>2]|0)>=(c[n>>2]|0))break;if(!((a[(c[A>>2]|0)+69>>0]|0)!=0^1))break;c[p>>2]=ky(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+4>>2]|0;c[v>>2]=E;do if(!E){c[r>>2]=c[p>>2];while(1){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[f+16>>2]}if((d[f>>0]|0)==152?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[m>>2]=b[(c[r>>2]|0)+32>>1];c[s>>2]=c[(c[r>>2]|0)+44>>2];if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0;else f=24745;c[v>>2]=f;break}if((d[c[r>>2]>>0]|0)==55){c[v>>2]=c[(c[r>>2]|0)+8>>2];break}else{c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+8>>2];break}}while(0);E=c[A>>2]|0;c[t>>2]=c[v>>2];c[v>>2]=Gh(E,18391,t)|0;c[k>>2]=0;while(1){if(c[v>>2]|0)e=(sj(l,c[v>>2]|0)|0)!=0;else e=0;f=c[v>>2]|0;if(!e)break;c[o>>2]=Jf(f)|0;if((c[o>>2]|0)>0){c[C>>2]=(c[o>>2]|0)-1;while(1){if((c[C>>2]|0)<=0)break;if(!(d[18403+(d[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)>>0]&4))break;c[C>>2]=(c[C>>2]|0)+-1}if((a[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)==58)c[o>>2]=c[C>>2]}E=c[A>>2]|0;e=c[o>>2]|0;h=c[v>>2]|0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[u>>2]=e;c[u+4>>2]=h;c[u+8>>2]=g;c[v>>2]=Gh(E,29047,u)|0;if((c[k>>2]|0)>>>0<=3)continue;Sd(4,k)}c[c[q>>2]>>2]=f;if((c[v>>2]|0)!=0?(E=Uj(l,c[v>>2]|0,c[q>>2]|0)|0,(E|0)==(c[q>>2]|0)):0)mh(c[A>>2]|0);c[B>>2]=(c[B>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+16}Aj(l);if(!(a[(c[A>>2]|0)+69>>0]|0)){c[w>>2]=0;E=c[w>>2]|0;i=D;return E|0}c[C>>2]=0;while(1){f=c[A>>2]|0;if((c[C>>2]|0)>=(c[B>>2]|0))break;Tf(f,c[(c[z>>2]|0)+(c[C>>2]<<4)>>2]|0);c[C>>2]=(c[C>>2]|0)+1}Tf(f,c[z>>2]|0);c[c[y>>2]>>2]=0;b[c[x>>2]>>1]=0;c[w>>2]=7;E=c[w>>2]|0;i=D;return E|0}function cy(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+96|0;h=w+84|0;j=w+80|0;k=w+76|0;m=w+72|0;t=w+40|0;r=w+36|0;s=w+32|0;n=w+28|0;q=w+24|0;l=w+20|0;u=w;v=w+16|0;p=w+12|0;o=w+8|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];f=u;c[f>>2]=0;c[f+4>>2]=0;if(a[(c[m>>2]|0)+69>>0]|0){i=w;return};c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;c[t+4>>2]=c[(c[k>>2]|0)+28>>2];c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];c[n>>2]=0;c[r>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;c[q>>2]=c[(c[l>>2]|0)+((c[n>>2]|0)*20|0)>>2];c[v>>2]=dy(t,c[q>>2]|0,(c[r>>2]|0)+14|0)|0;g=u;g=RR(c[g>>2]|0,c[g+4>>2]|0,d[(c[r>>2]|0)+14>>0]|0,0)|0;f=u;c[f>>2]=g;c[f+4>>2]=C;f=ey(c[q>>2]|0)|0;a[(c[r>>2]|0)+13>>0]=f;if(((c[v>>2]|0)!=0?(f=Jf(c[v>>2]|0)|0,c[o>>2]=f,(f|0)>0):0)?(c[p>>2]=Jf(c[c[r>>2]>>2]|0)|0,f=(c[p>>2]|0)+(c[o>>2]|0)+2|0,f=Px(c[m>>2]|0,c[c[r>>2]>>2]|0,f,((f|0)<0)<<31>>31)|0,c[c[r>>2]>>2]=f,(c[c[r>>2]>>2]|0)!=0):0){TR((c[c[r>>2]>>2]|0)+((c[p>>2]|0)+1)|0,c[v>>2]|0,(c[o>>2]|0)+1|0)|0;f=(c[r>>2]|0)+15|0;a[f>>0]=d[f>>0]|4}if(!(a[(c[r>>2]|0)+13>>0]|0))a[(c[r>>2]|0)+13>>0]=65;c[s>>2]=fy(c[h>>2]|0,c[q>>2]|0)|0;if((c[s>>2]|0)!=0?(c[(c[r>>2]|0)+8>>2]|0)==0:0){f=qh(c[m>>2]|0,c[c[s>>2]>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=f}c[n>>2]=(c[n>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+16}v=u;v=aS(c[v>>2]|0,c[v+4>>2]|0,4,0)|0;v=Mj(v,C)|0;b[(c[j>>2]|0)+40>>1]=v;i=w;return}function dy(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+128|0;h=x+112|0;j=x+108|0;k=x+104|0;w=x+100|0;n=x+96|0;l=x+116|0;s=x+92|0;q=x+88|0;m=x+84|0;t=x+80|0;u=x+48|0;o=x+40|0;v=x+8|0;r=x+4|0;p=x;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[w>>2]=0;a[l>>0]=1;a:do switch(d[c[j>>2]>>0]|0){case 152:case 154:{c[s>>2]=0;c[q>>2]=0;c[m>>2]=b[(c[j>>2]|0)+32>>1];while(1){if(!(c[h>>2]|0))break;if(!((c[s>>2]|0)!=0^1))break;c[t>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if((c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)<(c[c[t>>2]>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2];c[q>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+20>>2];continue}else{c[h>>2]=c[(c[h>>2]|0)+16>>2];continue}}if(c[s>>2]|0){if(c[q>>2]|0){if((c[m>>2]|0)<0)break a;if((c[m>>2]|0)>=(c[c[c[q>>2]>>2]>>2]|0))break a;c[o>>2]=c[(c[(c[c[q>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[u+4>>2]=c[(c[q>>2]|0)+28>>2];c[u+16>>2]=c[h>>2];c[u>>2]=c[c[h>>2]>>2];c[w>>2]=dy(u,c[o>>2]|0,l)|0;break a}if(c[(c[s>>2]|0)+64>>2]|0){if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)<0){c[w>>2]=18759;break a}else{c[w>>2]=vi((c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)|0,0)|0;a[l>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+14>>0]|0;break a}}}break}case 119:{c[r>>2]=c[(c[j>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[r>>2]>>2]|0)+4>>2]>>2];c[v+4>>2]=c[(c[r>>2]|0)+28>>2];c[v+16>>2]=c[h>>2];c[v>>2]=c[c[h>>2]>>2];c[w>>2]=dy(v,c[p>>2]|0,l)|0;break}default:{}}while(0);if(!(c[k>>2]|0)){w=c[w>>2]|0;i=x;return w|0}a[c[k>>2]>>0]=a[l>>0]|0;w=c[w>>2]|0;i=x;return w|0}function ey(e){e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=e;c[g>>2]=ky(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512){a[f>>0]=0;h=a[f>>0]|0;i=j;return h|0}c[h>>2]=d[c[g>>2]>>0];if((c[h>>2]|0)==119){a[f>>0]=ey(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;h=a[f>>0]|0;i=j;return h|0}if((c[h>>2]|0)==157)c[h>>2]=d[(c[g>>2]|0)+38>>0];if((c[h>>2]|0)==66){a[f>>0]=Dx(c[(c[g>>2]|0)+8>>2]|0,0)|0;h=a[f>>0]|0;i=j;return h|0}if((c[h>>2]|0)==154|(c[h>>2]|0)==152){a[f>>0]=ly(c[(c[g>>2]|0)+44>>2]|0,b[(c[g>>2]|0)+32>>1]|0)|0;h=a[f>>0]|0;i=j;return h|0}e=c[g>>2]|0;if((c[h>>2]|0)==159){a[f>>0]=ey(c[(c[(c[c[(c[(c[g>>2]|0)+12>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((b[e+32>>1]|0)*20|0)>>2]|0)|0;h=a[f>>0]|0;i=j;return h|0}else{a[f>>0]=a[e+1>>0]|0;h=a[f>>0]|0;i=j;return h|0}return 0}function fy(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;n=r+24|0;m=r+20|0;l=r+16|0;k=r+12|0;p=r+8|0;o=r+4|0;j=r;c[g>>2]=e;c[s>>2]=f;c[h>>2]=c[c[g>>2]>>2];c[n>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[l>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512)break;if((c[l>>2]|0)==66|(c[l>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[l>>2]|0)==53){q=9;break}if((c[l>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==53:0){q=9;break}if((c[l>>2]|0)==154|(c[l>>2]|0)==152|(c[l>>2]|0)==157|(c[l>>2]|0)==88?(c[(c[m>>2]|0)+44>>2]|0)!=0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if((c[(c[m>>2]|0)+12>>2]|0)!=0?(c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[o>>2]=c[(c[m>>2]|0)+16>>2];a:do if((c[(c[m>>2]|0)+20>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;f=c[j>>2]|0;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=f+1}c[o>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+(f*20|0)>>2]}while(0);c[m>>2]=c[o>>2]}if((q|0)==9)c[n>>2]=gy(c[g>>2]|0,a[(c[h>>2]|0)+66>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[k>>2]=b[(c[m>>2]|0)+32>>1],(c[k>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+8>>2];c[n>>2]=Sj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[p>>2]|0,0)|0}if(!(hy(c[g>>2]|0,c[n>>2]|0)|0)){s=c[n>>2]|0;i=r;return s|0}c[n>>2]=0;s=c[n>>2]|0;i=r;return s|0}function gy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;n=o;h=o+20|0;j=o+24|0;p=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;c[h>>2]=b;a[j>>0]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=c[c[h>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=Sj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){iy(c[l>>2]|0,d[j>>0]|0,c[k>>2]|0);c[m>>2]=Sj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(jy(c[l>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[k>>2];Eh(p,29013,n);p=c[m>>2]|0;i=o;return p|0}function hy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)!=0?(c[k>>2]=c[c[g>>2]>>2],c[h>>2]=c[c[f>>2]>>2],c[j>>2]=gy(c[f>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[g>>2]|0,c[k>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function iy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;do if(c[(c[g>>2]|0)+232>>2]|0){c[l>>2]=qh(c[g>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){_b[c[(c[g>>2]|0)+232>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);Tf(c[g>>2]|0,c[l>>2]|0);break}else{i=n;return}}while(0);if(!(c[(c[g>>2]|0)+236>>2]|0)){i=n;return}c[k>>2]=Zh(c[g>>2]|0)|0;_h(c[k>>2]|0,-1,c[j>>2]|0,1,0);c[m>>2]=Zg(c[k>>2]|0,((a[968]|0)==0?3:2)&255)|0;if(c[m>>2]|0)_b[c[(c[g>>2]|0)+236>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+66>>0]|0,c[m>>2]|0);ch(c[k>>2]|0);i=n;return}function jy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;f=l;c[e>>2]=b;c[j>>2]=d;c[g>>2]=c[c[j>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3){e=6;break}c[k>>2]=Sj(c[e>>2]|0,a[29044+(c[f>>2]|0)>>0]|0,c[g>>2]|0,0)|0;if(c[(c[k>>2]|0)+12>>2]|0){e=4;break}c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){g=c[j>>2]|0;k=c[k>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[(c[j>>2]|0)+16>>2]=0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((e|0)==6){c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function ky(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}i=e;return b|0}function ly(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[f>>2]|0)<0){b=68;b=b&255;i=g;return b|0}b=a[(c[(c[e>>2]|0)+4>>2]|0)+(c[f>>2]<<4)+13>>0]|0;b=b&255;i=g;return b|0}function my(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[h>>2]|0)){i=l;return}c[k>>2]=c[c[g>>2]>>2];if(a[(c[k>>2]|0)+69>>0]|0){i=l;return}if(c[(c[h>>2]|0)+8>>2]&128){i=l;return}ny(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}oy(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}py(c[g>>2]|0,c[h>>2]|0);i=l;return}function ny(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+48|0;h=g+32|0;e=g+28|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=190;c[f>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+8>>2]=191;sy(f,c[e>>2]|0)|0}c[f+8>>2]=192;if(c[(c[e>>2]|0)+8>>2]&1024){h=c[e>>2]|0;sy(f,h)|0;i=g;return}c[f+12>>2]=132;h=c[e>>2]|0;sy(f,h)|0;i=g;return}function oy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+36|0;f=e+32|0;h=e+28|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=193;c[g+8>>2]=194;c[g>>2]=c[j>>2];c[g+24>>2]=c[h>>2];sy(g,c[f>>2]|0)|0;i=e;return}function py(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=190;c[f>>2]=c[g>>2];sy(f,c[e>>2]|0)|0;i=d;return}function qy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+28|0;m=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;f=l+8|0;j=l+4|0;h=l;c[n>>2]=a;c[m>>2]=b;a=(c[m>>2]|0)+8|0;c[a>>2]=c[a>>2]|128;c[g>>2]=c[c[n>>2]>>2];c[k>>2]=c[(c[m>>2]|0)+28>>2];c[e>>2]=0;c[f>>2]=(c[k>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+16>>2];if(((d[(c[j>>2]|0)+42>>0]|0)&2|0)!=0?(c[h>>2]=c[(c[f>>2]|0)+20>>2],(c[h>>2]|0)!=0):0){while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}cy(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+72}i=l;return}function ry(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[d>>2]|0)){d=15;break}if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[g>>2]=Yb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,(c[g>>2]|0)!=0):0){d=15;break}if(ty(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(uy(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(c[(c[f>>2]|0)+12>>2]|0)Rb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+48>>2]}if((d|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else if((d|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function ty(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(vy(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(wy(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0)|0){c[d>>2]=2;break}if(vy(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(wy(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(vy(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(wy(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0)|0){c[d>>2]=2;break}if(wy(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=g;return c[d>>2]|0}function uy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+20|0;e=k+16|0;l=k+12|0;h=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=c[(c[l>>2]|0)+28>>2];a:do if(c[h>>2]|0){c[f>>2]=c[c[h>>2]>>2];c[g>>2]=(c[h>>2]|0)+8;while(1){if((c[f>>2]|0)<=0)break a;if(sy(c[e>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){e=5;break}if(((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(vy(c[e>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0)!=0:0){e=8;break}c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+72}if((e|0)==5){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}else if((e|0)==8){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}}while(0);c[j>>2]=0;l=c[j>>2]|0;i=k;return l|0}function vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(wy(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=j;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}function wy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){a=0;i=f;return a|0}a=xy(c[d>>2]|0,c[e>>2]|0)|0;i=f;return a|0}function xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Yb[c[(c[e>>2]|0)+4>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&8404992|0)==0:0){if((c[(c[f>>2]|0)+12>>2]|0)!=0?(xy(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0)!=0:0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}if((c[(c[f>>2]|0)+16>>2]|0)!=0?(xy(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0)!=0:0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}if(c[(c[f>>2]|0)+4>>2]&2048){if(sy(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}}else if((c[(c[f>>2]|0)+20>>2]|0)!=0?(vy(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0)!=0:0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[d>>2]=c[g>>2]&2;g=c[d>>2]|0;i=h;return g|0}function yy(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+144|0;m=M+40|0;F=M+32|0;H=M+24|0;G=M+16|0;E=M+8|0;D=M;L=M+128|0;q=M+124|0;r=M+120|0;A=M+116|0;C=M+112|0;n=M+108|0;p=M+104|0;o=M+100|0;l=M+96|0;z=M+92|0;v=M+88|0;x=M+84|0;I=M+80|0;u=M+76|0;w=M+72|0;J=M+68|0;y=M+64|0;t=M+132|0;s=M+60|0;B=M+56|0;j=M+52|0;h=M+48|0;k=M+44|0;c[q>>2]=f;c[r>>2]=g;c[A>>2]=c[(c[q>>2]|0)+24>>2];c[C>>2]=c[c[A>>2]>>2];if(c[(c[r>>2]|0)+4>>2]&4){c[L>>2]=1;L=c[L>>2]|0;i=M;return L|0}f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[r>>2]>>0]|0){case 55:{c[L>>2]=_y(c[C>>2]|0,0,0,c[(c[r>>2]|0)+8>>2]|0,c[A>>2]|0,c[r>>2]|0)|0;L=c[L>>2]|0;i=M;return L|0}case 122:{$y(c[C>>2]|0,c[A>>2]|0,29561,32);c[l>>2]=c[(c[r>>2]|0)+16>>2];if((d[c[l>>2]>>0]|0)==55){c[o>>2]=0;c[p>>2]=c[(c[(c[r>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2]}else{c[o>>2]=c[(c[(c[r>>2]|0)+12>>2]|0)+8>>2];c[p>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+8>>2]}c[L>>2]=_y(c[C>>2]|0,c[o>>2]|0,c[p>>2]|0,c[n>>2]|0,c[A>>2]|0,c[r>>2]|0)|0;L=c[L>>2]|0;i=M;return L|0}case 151:{c[z>>2]=c[(c[r>>2]|0)+20>>2];if(c[z>>2]|0)h=c[c[z>>2]>>2]|0;else h=0;c[v>>2]=h;c[x>>2]=0;c[I>>2]=0;c[u>>2]=0;a[t>>0]=a[(c[c[C>>2]>>2]|0)+66>>0]|0;c[J>>2]=c[(c[r>>2]|0)+8>>2];c[w>>2]=Jf(c[J>>2]|0)|0;c[y>>2]=ki(c[c[C>>2]>>2]|0,c[J>>2]|0,c[v>>2]|0,a[t>>0]|0,0)|0;do if(!(c[y>>2]|0)){c[y>>2]=ki(c[c[C>>2]>>2]|0,c[J>>2]|0,-2,a[t>>0]|0,0)|0;if(!(c[y>>2]|0)){c[x>>2]=1;break}else{c[I>>2]=1;break}}else{c[u>>2]=(c[(c[y>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[y>>2]|0)+2>>1]&1024){t=(c[r>>2]|0)+4|0;c[t>>2]=c[t>>2]|266240;if((c[v>>2]|0)!=2){c[(c[r>>2]|0)+28>>2]=(a[c[(c[y>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}v=az(c[(c[(c[z>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[r>>2]|0)+28>>2]=v;if((c[(c[r>>2]|0)+28>>2]|0)<0){Eh(c[C>>2]|0,29578,D);D=(c[A>>2]|0)+24|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);c[s>>2]=ax(c[C>>2]|0,31,0,c[(c[y>>2]|0)+20>>2]|0,0)|0;if(c[s>>2]|0){if((c[s>>2]|0)==1){K=c[C>>2]|0;c[E>>2]=c[(c[y>>2]|0)+20>>2];Eh(K,29649,E);K=(c[A>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}a[c[r>>2]>>0]=101;c[L>>2]=1;L=c[L>>2]|0;i=M;return L|0}else{if(e[(c[y>>2]|0)+2>>1]&10240){E=(c[r>>2]|0)+4|0;c[E>>2]=c[E>>2]|524288}if(e[(c[y>>2]|0)+2>>1]&2048)break;$y(c[C>>2]|0,c[A>>2]|0,29684,34);break}}while(0);if((c[u>>2]|0)!=0?(e[(c[A>>2]|0)+28>>1]&1|0)==0:0){I=c[C>>2]|0;J=c[J>>2]|0;c[G>>2]=c[w>>2];c[G+4>>2]=J;Eh(I,29712,G);J=(c[A>>2]|0)+24|0;c[J>>2]=(c[J>>2]|0)+1;c[u>>2]=0}else K=31;do if((K|0)==31){if((c[x>>2]|0)!=0?(d[(c[c[C>>2]>>2]|0)+148+5>>0]|0)==0:0){K=c[C>>2]|0;J=c[J>>2]|0;c[H>>2]=c[w>>2];c[H+4>>2]=J;Eh(K,29748,H);K=(c[A>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1;break}if(c[I>>2]|0){K=c[C>>2]|0;J=c[J>>2]|0;c[F>>2]=c[w>>2];c[F+4>>2]=J;Eh(K,29771,F);K=(c[A>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}}while(0);if(c[u>>2]|0){K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]&-2}vy(c[q>>2]|0,c[z>>2]|0)|0;if(c[u>>2]|0){c[B>>2]=c[A>>2];a[c[r>>2]>>0]=-103;a[(c[r>>2]|0)+38>>0]=0;while(1){if(!(c[B>>2]|0))break;if(!((bz(c[r>>2]|0,c[(c[B>>2]|0)+4>>2]|0)|0)!=0^1))break;K=(c[r>>2]|0)+38|0;a[K>>0]=(a[K>>0]|0)+1<<24>>24;c[B>>2]=c[(c[B>>2]|0)+16>>2]}if(c[B>>2]|0){K=(c[B>>2]|0)+28|0;b[K>>1]=e[K>>1]|(16|e[(c[y>>2]|0)+2>>1]&4096)}K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]|1}c[L>>2]=1;L=c[L>>2]|0;i=M;return L|0}case 33:case 20:case 119:{if((c[(c[r>>2]|0)+4>>2]&2048|0)!=0?(c[j>>2]=c[(c[A>>2]|0)+20>>2],$y(c[C>>2]|0,c[A>>2]|0,29816,38),sy(c[q>>2]|0,c[(c[r>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)!=(c[(c[A>>2]|0)+20>>2]|0)):0){K=(c[r>>2]|0)+4|0;c[K>>2]=c[K>>2]|32;K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]|64}break}case 135:{$y(c[C>>2]|0,c[A>>2]|0,29827,38);break}case 148:case 29:case 41:case 38:case 39:case 40:case 36:case 37:{if((a[(c[c[C>>2]>>2]|0)+69>>0]|0)==0?(c[h>>2]=cz(c[(c[r>>2]|0)+12>>2]|0)|0,c[k>>2]=cz(c[(c[r>>2]|0)+16>>2]|0)|0,(c[h>>2]|0)!=(c[k>>2]|0)):0)Eh(c[C>>2]|0,29838,m);break}default:{}}if(c[(c[C>>2]|0)+36>>2]|0)h=1;else h=(d[(c[c[C>>2]>>2]|0)+69>>0]|0)!=0;c[L>>2]=h?2:0;L=c[L>>2]|0;i=M;return L|0}function zy(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+128|0;C=E+8|0;B=E;D=E+116|0;h=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;l=E+64|0;A=E+60|0;k=E+56|0;n=E+52|0;z=E+48|0;j=E+44|0;t=E+40|0;o=E+36|0;r=E+32|0;m=E+28|0;w=E+24|0;p=E+20|0;u=E+16|0;q=E+12|0;c[h>>2]=f;c[x>>2]=g;if(c[(c[x>>2]|0)+8>>2]&4){c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}c[s>>2]=c[(c[h>>2]|0)+24>>2];c[A>>2]=c[c[h>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(c[(c[x>>2]|0)+8>>2]&64)){my(c[A>>2]|0,c[x>>2]|0,c[s>>2]|0);if(c[(c[A>>2]|0)+36>>2]|0)h=1;else h=(d[(c[j>>2]|0)+69>>0]|0)!=0;c[D>>2]=h?2:1;D=c[D>>2]|0;i=E;return D|0}c[y>>2]=(c[(c[x>>2]|0)+48>>2]|0)!=0&1;c[l>>2]=0;c[z>>2]=c[x>>2];a:while(1){if(!(c[x>>2]|0)){h=68;break}f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(Ay(v,c[(c[x>>2]|0)+56>>2]|0)|0){h=11;break}if(Ay(v,c[(c[x>>2]|0)+60>>2]|0)|0){h=11;break}if(c[(c[x>>2]|0)+8>>2]&65536){c[t>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[t>>2]|0)+44>>2]=c[(c[x>>2]|0)+44>>2];c[(c[x>>2]|0)+44>>2]=0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[o>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(c[(c[o>>2]|0)+20>>2]|0){c[m>>2]=0;c[w>>2]=c[(c[A>>2]|0)+448>>2];c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}if(c[(c[o>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+448>>2]=c[(c[o>>2]|0)+8>>2];oy(c[A>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[s>>2]|0);c[(c[A>>2]|0)+448>>2]=c[w>>2];if(c[(c[A>>2]|0)+36>>2]|0){h=24;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=24;break a}c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)-(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}f=(c[o>>2]|0)+36+1|0;a[f>>0]=a[f>>0]&-9|((c[m>>2]|0)!=0&1)<<3&255}c[k>>2]=(c[k>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[x>>2]|0)+28>>2];c[v+16>>2]=c[s>>2];if(By(v,c[c[x>>2]>>2]|0)|0){h=31;break}c[n>>2]=c[(c[x>>2]|0)+36>>2];if((c[n>>2]|0)==0?(e[v+28>>1]&16|0)==0:0){f=v+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|(8|e[v+28>>1]&4096)}if(!((c[n>>2]|0)!=0?1:(c[(c[x>>2]|0)+40>>2]|0)==0)){h=37;break}c[v+8>>2]=c[c[x>>2]>>2];if(Ay(v,c[(c[x>>2]|0)+40>>2]|0)|0){h=39;break}if(Ay(v,c[(c[x>>2]|0)+32>>2]|0)|0){h=41;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[p>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(((d[(c[p>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(By(v,c[(c[p>>2]|0)+64>>2]|0)|0)!=0:0){h=46;break a}c[k>>2]=(c[k>>2]|0)+1}c[v+16>>2]=0;f=v+28|0;b[f>>1]=e[f>>1]|1;if(c[(c[x>>2]|0)+8>>2]&65536){c[u>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[x>>2]|0)+44>>2]=c[(c[u>>2]|0)+44>>2];c[(c[u>>2]|0)+44>>2]=0}if((c[y>>2]|0)<=(c[l>>2]|0)?(Cy(v,c[x>>2]|0,c[(c[x>>2]|0)+44>>2]|0,29099)|0)!=0:0){h=52;break}if(a[(c[j>>2]|0)+69>>0]|0){h=54;break}b:do if(c[n>>2]|0){if(Cy(v,c[x>>2]|0,c[n>>2]|0,29105)|0){h=58;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=58;break a}c[k>>2]=0;c[q>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[c[n>>2]>>2]|0))break b;if(c[(c[c[q>>2]>>2]|0)+4>>2]&2){h=62;break a}c[k>>2]=(c[k>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}while(0);if((c[(c[x>>2]|0)+52>>2]|0)!=0?(c[c[c[x>>2]>>2]>>2]|0)!=(c[c[c[(c[x>>2]|0)+52>>2]>>2]>>2]|0):0){h=66;break}c[x>>2]=c[(c[x>>2]|0)+48>>2];c[l>>2]=(c[l>>2]|0)+1}switch(h|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 37:{Eh(c[A>>2]|0,29055,B);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 62:{Eh(c[A>>2]|0,29111,C);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 66:{Dy(c[A>>2]|0,c[(c[x>>2]|0)+52>>2]|0);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 68:{if((c[y>>2]|0)!=0?(Ey(c[A>>2]|0,c[z>>2]|0)|0)!=0:0){c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}}return 0}function Ay(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+40|0;h=n+36|0;j=n+32|0;l=n+44|0;m=n+4|0;k=n;c[h>>2]=d;c[j>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[k>>2]=c[c[h>>2]>>2];if(Zy(c[k>>2]|0,(c[(c[j>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+416>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;i=n;return m|0}k=(c[k>>2]|0)+416|0;c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);b[l>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4112;k=(c[h>>2]|0)+28|0;b[k>>1]=(e[k>>1]|0)&-4113;c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=193;c[m+8>>2]=194;c[m+12>>2]=0;c[m+16>>2]=0;a[m+20>>0]=0;c[m+24>>2]=c[h>>2];wy(m,c[j>>2]|0)|0;k=(c[c[h>>2]>>2]|0)+416|0;c[k>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[m>>2]|0)+36>>2]|0)<=0:0)){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&16){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[l>>1]|0);c[g>>2]=(c[(c[j>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;i=n;return m|0}function By(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(Ay(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Cy(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;h=w+48|0;j=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;p=w+24|0;o=w+20|0;t=w+16|0;u=w+12|0;q=w+8|0;r=w+4|0;s=w;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}c[q>>2]=c[c[c[k>>2]>>2]>>2];c[u>>2]=c[c[j>>2]>>2];c[n>>2]=0;c[t>>2]=c[(c[l>>2]|0)+4>>2];a:while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0)){v=20;break}c[r>>2]=c[c[t>>2]>>2];c[s>>2]=ky(c[r>>2]|0)|0;if((a[c[m>>2]>>0]|0)!=71?(c[o>>2]=Hy(c[u>>2]|0,c[c[k>>2]>>2]|0,c[s>>2]|0)|0,(c[o>>2]|0)>0):0)b[(c[t>>2]|0)+16>>1]=c[o>>2];else v=8;b:do if((v|0)==8){v=0;if(Fy(c[s>>2]|0,o)|0){if((c[o>>2]|0)<1|(c[o>>2]|0)>65535){v=10;break a}b[(c[t>>2]|0)+16>>1]=c[o>>2];break}b[(c[t>>2]|0)+16>>1]=0;if(Ay(c[j>>2]|0,c[r>>2]|0)|0){v=13;break a}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[c[k>>2]>>2]>>2]|0))break b;if(!(Ky(c[r>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[t>>2]|0)+16>>1]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==10){Gy(c[u>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0,c[q>>2]|0);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==13){c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==20){c[h>>2]=Ty(c[u>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;v=c[h>>2]|0;i=w;return v|0}return 0}function Dy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+8|0;h=g+16|0;e=g+12|0;c[h>>2]=a;c[e>>2]=b;b=c[h>>2]|0;if(c[(c[e>>2]|0)+8>>2]&512){Eh(b,29321,g);i=g;return}else{c[f>>2]=Sy(d[(c[e>>2]|0)+4>>0]|0)|0;Eh(b,29367,f);i=g;return}}function Ey(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+8|0;q=w+64|0;r=w+60|0;g=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;h=w+40|0;k=w+36|0;n=w+32|0;j=w+28|0;m=w+24|0;l=w+20|0;o=w+16|0;p=w+12|0;c[r>>2]=e;c[g>>2]=f;c[k>>2]=1;c[u>>2]=c[(c[g>>2]|0)+44>>2];if(!(c[u>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}c[h>>2]=c[c[r>>2]>>2];if((c[c[u>>2]>>2]|0)>(c[(c[h>>2]|0)+96+8>>2]|0)){Eh(c[r>>2]|0,29170,w);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;f=(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[g>>2]|0)+52>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[(c[(c[g>>2]|0)+48>>2]|0)+52>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+48>>2]}a:while(1){if(!((c[g>>2]|0)!=0?(c[k>>2]|0)!=0:0)){g=36;break}c[k>>2]=0;c[t>>2]=c[c[g>>2]>>2];c[s>>2]=0;c[n>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[j>>2]=-1;do if(!(a[(c[n>>2]|0)+13>>0]&1)){c[m>>2]=ky(c[c[n>>2]>>2]|0)|0;if(Fy(c[m>>2]|0,j)|0){if((c[j>>2]|0)<=0){g=18;break a}if((c[j>>2]|0)>(c[c[t>>2]>>2]|0)){g=18;break a}}else{c[j>>2]=Hy(c[r>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[j>>2]|0)){c[l>>2]=Iy(c[h>>2]|0,c[m>>2]|0,0)|0;if(!(a[(c[h>>2]|0)+69>>0]|0))c[j>>2]=Jy(c[r>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;iv(c[h>>2]|0,c[l>>2]|0)}}if((c[j>>2]|0)<=0){c[k>>2]=1;break}c[o>>2]=Wv(c[h>>2]|0,134,0)|0;if(!(c[o>>2]|0)){g=25;break a}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];if((c[c[n>>2]>>2]|0)==(c[m>>2]|0))c[c[n>>2]>>2]=c[o>>2];else{c[p>>2]=c[c[n>>2]>>2];while(1){if((d[c[(c[p>>2]|0)+12>>2]>>0]|0)!=53)break;c[p>>2]=c[(c[p>>2]|0)+12>>2]}c[(c[p>>2]|0)+12>>2]=c[o>>2]}iv(c[h>>2]|0,c[m>>2]|0);b[(c[n>>2]|0)+16>>1]=c[j>>2];f=(c[n>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((g|0)==18){Gy(c[r>>2]|0,29099,(c[s>>2]|0)+1|0,c[c[t>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==25){c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0)){g=41;break}if(!(a[(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){g=39;break}c[s>>2]=(c[s>>2]|0)+1}if((g|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;Eh(u,29204,v);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==41){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}}return 0}function Fy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;j=c[e>>2]|0;i=k;return j|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=Fy(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(Fy(c[(c[f>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function Gy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[l>>2]|0;e=c[k>>2]|0;a=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=a;Eh(b,29265,g);i=f;return}function Hy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+24|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==55){c[l>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+4>>2];if((c[k>>2]|0)!=0?(ig(c[k>>2]|0,c[l>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[j>>2]|0)+1;l=c[f>>2]|0;i=m;return l|0}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Iy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){b=0;i=h;return b|0}b=My(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,0)|0;i=h;return b|0}function Jy(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;i=i+80|0;k=l+60|0;q=l+56|0;r=l+52|0;g=l+48|0;h=l+44|0;j=l+40|0;p=l+8|0;n=l+4|0;m=l;o=l+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+28>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+73>>0]|0;a[(c[n>>2]|0)+73>>0]=1;c[m>>2]=Ay(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+73>>0]=a[o>>0]|0;if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){f=8;break}r=(Ky(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;d=(c[h>>2]|0)+1|0;if(r){f=6;break}c[h>>2]=d}if((f|0)==6){c[k>>2]=d;r=c[k>>2]|0;i=l;return r|0}else if((f|0)==8){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}return 0}function Ky(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=(c[j>>2]|0)==(c[h>>2]|0)?0:2;l=c[g>>2]|0;i=m;return l|0}c[l>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[j>>2]|0)+4>>2];f=c[h>>2]|0;if(c[l>>2]&1024){if((c[f+4>>2]&c[(c[j>>2]|0)+4>>2]&1024|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}a=d[c[h>>2]>>0]|0;if((d[f>>0]|0)!=(d[c[j>>2]>>0]|0)){if((a|0)==53?(Ky(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}if((d[c[j>>2]>>0]|0)==53?(Ky(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(((a|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?(c[(c[h>>2]|0)+8>>2]|0)!=0:0){f=c[(c[h>>2]|0)+8>>2]|0;a=c[(c[j>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(ig(f,a)|0))break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}else{if(!(hR(f,a)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==53?1:2;l=c[g>>2]|0;i=m;return l|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[j>>2]|0)+4>>2]&16|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(!(c[l>>2]&16384)){if(c[l>>2]&2048){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Ky(c[(c[h>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Ky(c[(c[h>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Ly(c[(c[h>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[l>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[k>>2]|0)?(c[(c[j>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Ly(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0)){f=14;break}c[k>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)){f=10;break}if(Ky(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0){f=12;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==12){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==14){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function My(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+44|0;p=t+40|0;n=t+36|0;q=t+32|0;r=t+28|0;s=t+24|0;l=t+20|0;j=t+16|0;g=t+12|0;k=t+8|0;h=t+4|0;m=t;c[o>>2]=a;c[p>>2]=b;c[n>>2]=e;c[q>>2]=f;if(c[q>>2]|0){c[s>>2]=c[c[q>>2]>>2];c[l>>2]=32768}else{b=c[o>>2]|0;f=Ny(c[p>>2]|0,c[n>>2]|0)|0;c[s>>2]=Vw(b,f,((f|0)<0)<<31>>31)|0;c[l>>2]=0}c[r>>2]=c[s>>2];if(!(c[r>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[j>>2]=Oy(c[p>>2]|0,c[n>>2]|0)|0;c[g>>2]=c[j>>2]&4095;if((c[(c[p>>2]|0)+4>>2]&1024|0)==0?(c[(c[p>>2]|0)+8>>2]|0)!=0:0)c[k>>2]=(Jf(c[(c[p>>2]|0)+8>>2]|0)|0)+1;else c[k>>2]=0;if(!(c[n>>2]|0)){c[h>>2]=Py(c[p>>2]|0)|0;TR(c[s>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;if((c[h>>2]|0)>>>0<48)VR((c[s>>2]|0)+(c[h>>2]|0)|0,0,48-(c[h>>2]|0)|0)|0}else TR(c[s>>2]|0,c[p>>2]|0,c[g>>2]|0)|0;f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]&-122881;f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[j>>2]&24576;f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[l>>2];if(c[k>>2]|0){l=(c[s>>2]|0)+(c[g>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=l;c[m>>2]=l;TR(c[m>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[k>>2]|0)|0}do if(!((c[(c[p>>2]|0)+4>>2]|c[(c[r>>2]|0)+4>>2])&8404992)){a=c[o>>2]|0;e=(c[p>>2]|0)+20|0;if(c[(c[p>>2]|0)+4>>2]&2048){m=_x(a,c[e>>2]|0,c[n>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}else{m=Qy(a,c[e>>2]|0,c[n>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}}while(0);a=c[p>>2]|0;if(!(c[(c[r>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&8404992){s=c[r>>2]|0;i=t;return s|0}if((d[c[r>>2]>>0]|0|0)==159)c[(c[r>>2]|0)+12>>2]=c[(c[p>>2]|0)+12>>2];else{s=Iy(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+12>>2]=s}s=Iy(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=s;s=c[r>>2]|0;i=t;return s|0}n=Ry(a,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+n;if(!(c[(c[r>>2]|0)+4>>2]&8404992)){if(c[(c[p>>2]|0)+12>>2]|0)a=My(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,1,s)|0;else a=0;c[(c[r>>2]|0)+12>>2]=a;if(c[(c[p>>2]|0)+16>>2]|0)a=My(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,1,s)|0;else a=0;c[(c[r>>2]|0)+16>>2]=a}if(!(c[q>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[c[q>>2]>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}function Ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[f>>2]=Ry(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){a=c[f>>2]|0;i=g;return a|0}a=Ny(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;a=a+(Ny(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+a;a=c[f>>2]|0;i=g;return a|0}function Oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]|0))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=f;return c[e>>2]|0}function Py(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384))if(c[(c[d>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=e;return c[b>>2]|0}function Qy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;n=q+16|0;m=q+12|0;p=q+8|0;l=q+4|0;o=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[n>>2]=Vw(c[h>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=c[c[j>>2]>>2]|0;c[l>>2]=e;c[c[n>>2]>>2]=e;a:do if(!(c[k>>2]&1)){c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break a;c[l>>2]=(c[l>>2]|0)+(c[l>>2]|0)}}while(0);e=Vw(c[h>>2]|0,(c[l>>2]|0)*20|0,0)|0;c[m>>2]=e;c[(c[n>>2]|0)+4>>2]=e;if(!(c[m>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[p>>2]=c[(c[j>>2]|0)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=c[c[p>>2]>>2];e=Iy(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=e;e=qh(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=qh(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;a[(c[m>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-2;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[m>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(Oy(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?(c[(c[d>>2]|0)+8>>2]|0)!=0:0){g=(Jf(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}i=f;return (c[e>>2]|0)+7&-8|0}function Sy(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=29449;break}case 118:{c[b>>2]=29459;break}case 117:{c[b>>2]=29469;break}default:c[b>>2]=29476}i=d;return c[b>>2]|0}function Ty(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;l=t;p=t+36|0;m=t+32|0;j=t+28|0;n=t+24|0;q=t+20|0;r=t+16|0;k=t+12|0;s=t+8|0;o=t+4|0;c[m>>2]=a;c[j>>2]=f;c[n>>2]=g;c[q>>2]=h;c[k>>2]=c[c[m>>2]>>2];if((c[n>>2]|0)!=0?(d[(c[c[m>>2]>>2]|0)+69>>0]|0)==0:0){if((c[c[n>>2]>>2]|0)>(c[(c[k>>2]|0)+96+8>>2]|0)){s=c[m>>2]|0;c[l>>2]=c[q>>2];Eh(s,29482,l);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}c[s>>2]=c[c[j>>2]>>2];c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0)){j=13;break}if(b[(c[o>>2]|0)+16>>1]|0){k=c[m>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[s>>2]>>2]|0)){j=10;break}Uy(k,c[s>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[q>>2]|0,0)}c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((j|0)==10){Gy(k,c[q>>2]|0,(c[r>>2]|0)+1|0,c[c[s>>2]>>2]|0);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}else if((j|0)==13){c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}}c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}function Uy(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+48|0;k=q+32|0;t=q+28|0;s=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;r=q+8|0;p=q+4|0;o=q;c[k>>2]=b;c[t>>2]=e;c[s>>2]=f;c[n>>2]=g;c[l>>2]=h;c[m>>2]=j;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=Iy(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[p>>2]|0)){i=q;return}if((a[c[l>>2]>>0]|0)!=71)Vy(c[p>>2]|0,c[m>>2]|0);if((d[c[n>>2]>>0]|0)==53)c[p>>2]=Wy(c[k>>2]|0,c[p>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;k=(c[p>>2]|0)+4|0;c[k>>2]=c[k>>2]|4194304;k=(c[n>>2]|0)+4|0;c[k>>2]=c[k>>2]|32768;iv(c[o>>2]|0,c[n>>2]|0);k=c[n>>2]|0;l=c[p>>2]|0;m=k+48|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((c[(c[n>>2]|0)+4>>2]&1024|0)==0?(c[(c[n>>2]|0)+8>>2]|0)!=0:0){t=qh(c[o>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=t;t=(c[n>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Tf(c[o>>2]|0,c[p>>2]|0);i=q;return}function Vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){i=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=195;c[f+24>>2]=c[e>>2];wy(f,c[d>>2]|0)|0;i=g;return}function Wy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;Xy(f,c[j>>2]|0);d=lw(c[h>>2]|0,c[g>>2]|0,f,0)|0;i=e;return d|0}function Xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=Jf(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;i=d;return}function Yy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){i=h;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);i=h;return 0}function Zy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;d=h+16|0;j=h+12|0;f=h+8|0;e=h+4|0;c[d>>2]=a;c[j>>2]=b;c[f>>2]=0;c[e>>2]=c[(c[c[d>>2]>>2]|0)+96+12>>2];if((c[j>>2]|0)<=(c[e>>2]|0)){j=c[f>>2]|0;i=h;return j|0}j=c[d>>2]|0;c[g>>2]=c[e>>2];Eh(j,29513,g);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0}function _y(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;W=X+40|0;V=X+24|0;D=X+8|0;B=X;I=X+164|0;J=X+160|0;m=X+156|0;K=X+152|0;L=X+148|0;M=X+144|0;N=X+140|0;q=X+136|0;s=X+132|0;O=X+128|0;o=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;p=X+76|0;F=X+72|0;u=X+68|0;r=X+64|0;E=X+60|0;y=X+56|0;H=X+52|0;R=X+48|0;c[J>>2]=f;c[m>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[N>>2]=l;c[O>>2]=0;c[o>>2]=0;c[t>>2]=0;c[P>>2]=c[c[J>>2]>>2];c[S>>2]=0;c[U>>2]=c[M>>2];c[T>>2]=0;c[Q>>2]=0;c[A>>2]=0;c[(c[N>>2]|0)+28>>2]=-1;c[(c[N>>2]|0)+44>>2]=0;a:do if(c[m>>2]|0){if(e[(c[M>>2]|0)+28>>1]&6){c[m>>2]=0;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[P>>2]|0)+20>>2]|0))break a;h=(ig(c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0,c[m>>2]|0)|0)==0;l=c[q>>2]|0;if(h)break;c[q>>2]=l+1}c[T>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+(l<<4)+12>>2]}while(0);b:while(1){if(!((c[M>>2]|0)!=0?(c[O>>2]|0)==0:0)){G=89;break}c[z>>2]=c[(c[M>>2]|0)+4>>2];if(c[z>>2]|0){c[q>>2]=0;c[x>>2]=(c[z>>2]|0)+8;while(1){if((c[q>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[A>>2]=c[(c[x>>2]|0)+16>>2];if((c[(c[x>>2]|0)+20>>2]|0)!=0?(c[(c[(c[x>>2]|0)+20>>2]|0)+8>>2]&2048|0)!=0:0){c[p>>2]=0;c[w>>2]=c[c[(c[x>>2]|0)+20>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break;if(fz(c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+8>>2]|0,c[L>>2]|0,c[K>>2]|0,c[m>>2]|0)|0){c[O>>2]=(c[O>>2]|0)+1;c[o>>2]=2;c[S>>2]=c[x>>2];b[(c[N>>2]|0)+32>>1]=c[s>>2];c[p>>2]=1}c[s>>2]=(c[s>>2]|0)+1}if(!((c[p>>2]|0)!=0|(c[K>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if((c[m>>2]|0)!=0?(c[(c[A>>2]|0)+64>>2]|0)!=(c[T>>2]|0):0)break;if(c[K>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0)l=c[(c[x>>2]|0)+12>>2]|0;else l=c[c[A>>2]>>2]|0;c[F>>2]=l;if(ig(c[F>>2]|0,c[K>>2]|0)|0)break}h=c[o>>2]|0;c[o>>2]=h+1;if(!h)c[S>>2]=c[x>>2];c[s>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break c;if(!(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)){if((c[O>>2]|0)!=1)break;if((d[(c[x>>2]|0)+36>>0]&4|0)==0?(gz(c[(c[x>>2]|0)+52>>2]|0,c[L>>2]|0)|0)==0:0)break}c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+16}c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=c[x>>2];if((c[s>>2]|0)==(b[(c[A>>2]|0)+32>>1]|0))l=-1;else l=(c[s>>2]&65535)<<16>>16;b[(c[N>>2]|0)+32>>1]=l}while(0);c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72}if(c[S>>2]|0){c[(c[N>>2]|0)+28>>2]=c[(c[S>>2]|0)+44>>2];c[(c[N>>2]|0)+44>>2]=c[(c[S>>2]|0)+16>>2];if(d[(c[S>>2]|0)+36>>0]&8){h=(c[N>>2]|0)+4|0;c[h>>2]=c[h>>2]|1048576}c[T>>2]=c[(c[(c[N>>2]|0)+44>>2]|0)+64>>2]}}if((c[m>>2]|0)==0&(c[K>>2]|0)!=0&(c[o>>2]|0)==0?(c[(c[J>>2]|0)+128>>2]|0)!=0:0){c[u>>2]=d[(c[J>>2]|0)+148>>0];if((c[u>>2]|0)!=109?(ig(29940,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=1;c[A>>2]=c[(c[J>>2]|0)+128>>2]}else G=50;do if((G|0)==50){G=0;if((c[u>>2]|0)!=108?(ig(29944,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=0;c[A>>2]=c[(c[J>>2]|0)+128>>2];break}c[A>>2]=0}while(0);if(c[A>>2]|0){c[T>>2]=c[(c[A>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;h=(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)==0;n=c[r>>2]|0;if(h){G=58;break}c[r>>2]=n+1;c[v>>2]=(c[v>>2]|0)+16}if((G|0)==58?(G=0,(n|0)==(b[(c[A>>2]|0)+32>>1]|0)):0)c[r>>2]=-1;if(((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0)?(ui(c[L>>2]|0)|0)!=0:0)?(d[(c[A>>2]|0)+42>>0]&64|0)==0:0)c[r>>2]=-1;if((c[r>>2]|0)<(b[(c[A>>2]|0)+34>>1]|0)){c[O>>2]=(c[O>>2]|0)+1;l=c[N>>2]|0;do if((c[r>>2]|0)>=0){k=(c[r>>2]|0)>=32?-1:1<>2];f=c[J>>2]|0;if(!(c[l+28>>2]|0)){h=f+140|0;c[h>>2]=c[h>>2]|k;break}else{h=f+144|0;c[h>>2]=c[h>>2]|k;break}}else a[l+1>>0]=68;while(0);b[(c[N>>2]|0)+32>>1]=c[r>>2];c[(c[N>>2]|0)+44>>2]=c[A>>2];c[Q>>2]=1}}}if((((c[O>>2]|0)==0&(c[o>>2]|0)==1&(c[S>>2]|0)!=0?(e[(c[M>>2]|0)+28>>1]&32|0)==0:0)?(ui(c[L>>2]|0)|0)!=0:0)?(d[(c[(c[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[O>>2]=1;b[(c[N>>2]|0)+32>>1]=-1;a[(c[N>>2]|0)+1>>0]=68}h=c[(c[M>>2]|0)+8>>2]|0;c[w>>2]=h;d:do if((h|0)!=0&(c[K>>2]|0)==0&(c[O>>2]|0)==0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break d;c[E>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];if((c[E>>2]|0)!=0?(ig(c[E>>2]|0,c[L>>2]|0)|0)==0:0){G=82;break b}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[O>>2]|0)continue;c[M>>2]=c[(c[M>>2]|0)+16>>2];c[t>>2]=(c[t>>2]|0)+1}if((G|0)==82){c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((e[(c[M>>2]|0)+28>>1]&1|0)==0?(c[(c[y>>2]|0)+4>>2]&2|0)!=0:0){W=c[J>>2]|0;c[B>>2]=c[E>>2];Eh(W,29948,B);c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}Uy(c[J>>2]|0,c[w>>2]|0,c[s>>2]|0,c[N>>2]|0,18402,c[t>>2]|0);c[O>>2]=1;c[S>>2]=0}else if((G|0)==89){if((c[O>>2]|0)==0&(c[K>>2]|0)==0?(c[(c[N>>2]|0)+4>>2]&64|0)!=0:0){a[c[N>>2]>>0]=97;c[(c[N>>2]|0)+44>>2]=0;c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}if((c[O>>2]|0)!=1){c[H>>2]=(c[O>>2]|0)==0?29979:29994;do if(!(c[m>>2]|0)){k=c[J>>2]|0;l=c[H>>2]|0;if(c[K>>2]|0){K=c[K>>2]|0;W=c[L>>2]|0;c[V>>2]=l;c[V+4>>2]=K;c[V+8>>2]=W;Eh(k,30029,V);break}else{V=c[L>>2]|0;c[W>>2]=l;c[W+4>>2]=V;Eh(k,30039,W);break}}else{W=c[J>>2]|0;G=c[m>>2]|0;K=c[K>>2]|0;V=c[L>>2]|0;c[D>>2]=c[H>>2];c[D+4>>2]=G;c[D+8>>2]=K;c[D+12>>2]=V;Eh(W,30016,D)}while(0);a[(c[J>>2]|0)+17>>0]=1;W=(c[U>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if((c[S>>2]|0)!=0?(b[(c[N>>2]|0)+32>>1]|0)>=0:0){W=b[(c[N>>2]|0)+32>>1]|0;c[R>>2]=W;c[R>>2]=(c[R>>2]|0)>=64?63:W;R=WR(1,0,c[R>>2]|0)|0;W=(c[S>>2]|0)+56|0;S=W;V=c[S+4>>2]|C;c[W>>2]=c[S>>2]|R;c[W+4>>2]=V}iv(c[P>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+12>>2]=0;iv(c[P>>2]|0,c[(c[N>>2]|0)+16>>2]|0);c[(c[N>>2]|0)+16>>2]=0;a[c[N>>2]>>0]=(c[Q>>2]|0)!=0?88:152}if((c[O>>2]|0)!=1){c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}if(!(c[(c[N>>2]|0)+4>>2]&4194304))hz(c[J>>2]|0,c[N>>2]|0,c[T>>2]|0,c[(c[M>>2]|0)+4>>2]|0);while(1){W=(c[U>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[U>>2]|0)==(c[M>>2]|0))break;c[U>>2]=c[(c[U>>2]|0)+16>>2]}c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}function $y(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;k=m;g=m+24|0;h=m+20|0;j=m+16|0;n=m+12|0;l=m+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){i=m;return}c[l>>2]=29856;if(!((e[(c[h>>2]|0)+28>>1]|0)&32)){if((e[(c[h>>2]|0)+28>>1]|0)&4)c[l>>2]=29902}else c[l>>2]=29884;n=c[g>>2]|0;d=c[l>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=d;Eh(n,29920,k);i=m;return}function az(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=132){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;ez(a,f,Jf(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;i=g;return f|0}return 0}function bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=196;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;vy(g,c[(c[f>>2]|0)+20>>2]|0)|0;i=e;return ((c[d+4>>2]|0)>0?1:(c[d+8>>2]|0)==0)&1|0}function cz(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h;g=h+8|0;c[f>>2]=b;a[g>>0]=a[c[f>>2]>>0]|0;if((d[g>>0]|0|0)==157)a[g>>0]=a[(c[f>>2]|0)+38>>0]|0;if((d[g>>0]|0|0)==158){c[e>>2]=c[c[(c[f>>2]|0)+20>>2]>>2];b=c[e>>2]|0;i=h;return b|0}if((d[g>>0]|0|0)==119){c[e>>2]=c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2];b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=1;b=c[e>>2]|0;i=h;return b|0}return 0}function dz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){i=l;return 0}c[g>>2]=c[(c[e>>2]|0)+24>>2];c[h>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[k>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+8+((c[j>>2]|0)*72|0)+44>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}e=c[g>>2]|0;if((c[j>>2]|0)<(c[k>>2]|0)){k=e+4|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}return 0}function ez(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+76|0;w=G+72|0;x=G+68|0;j=G+64|0;m=G+80|0;q=G+60|0;E=G+56|0;u=G+52|0;t=G+16|0;p=G+48|0;z=G+44|0;r=G+40|0;y=G+36|0;D=G+8|0;A=G+32|0;B=G+28|0;n=G+24|0;v=G;c[w>>2]=b;c[x>>2]=e;c[j>>2]=f;a[m>>0]=g;c[E>>2]=(c[w>>2]|0)+(c[j>>2]|0);c[u>>2]=1;b=t;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[z>>2]=1;c[r>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[x>>2]>>3]=0.0;if((d[m>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[n>>2]=3-(d[m>>0]|0);while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;if(a[(c[w>>2]|0)+(c[n>>2]|0)>>0]|0)break;c[n>>2]=(c[n>>2]|0)+2}c[B>>2]=(c[n>>2]|0)<(c[j>>2]|0)&1;c[E>>2]=(c[w>>2]|0)+(c[n>>2]^1);c[w>>2]=(c[w>>2]|0)+(d[m>>0]&1)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&1))break;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;i=G;return F|0}if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}else{c[u>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[18403+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=aS(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=RR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&4))break;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){b:do if((a[c[w>>2]>>0]|0)==46){c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break b;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&4))break b;b=t;e=c[b+4>>2]|0;if((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835){b=t;b=aS(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=RR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+-1}c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){if(!((a[c[w>>2]>>0]|0)!=101?(a[c[w>>2]>>0]|0)!=69:0))o=34;c:do if((o|0)==34){c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[y>>2]=0;if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}else{c[z>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break c;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&4))break c;if((c[r>>2]|0)<1e4)j=((c[r>>2]|0)*10|0)+((a[c[w>>2]>>0]|0)-48)|0;else j=1e4;c[r>>2]=j;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[y>>2]=1}}while(0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&1))break a;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}}}while(0);q=_(c[r>>2]|0,c[z>>2]|0)|0;c[r>>2]=q+(c[p>>2]|0);if((c[r>>2]|0)<0){c[z>>2]=-1;c[r>>2]=_(c[r>>2]|0,-1)|0}else c[z>>2]=1;q=t;do if(!((c[q>>2]|0)==0&(c[q+4>>2]|0)==0)){while(1){if((c[r>>2]|0)<=0)break;m=t;j=c[m>>2]|0;m=c[m+4>>2]|0;if((c[z>>2]|0)>0){if((m|0)>214748364|(m|0)==214748364&j>>>0>=3435973836)break;p=t;p=aS(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=t;c[q>>2]=p;c[q+4>>2]=C}else{q=$R(j|0,m|0,10,0)|0;if((q|0)!=0|(C|0)!=0)break;p=t;p=_R(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=t;c[q>>2]=p;c[q+4>>2]=C}c[r>>2]=(c[r>>2]|0)+-1}p=(c[u>>2]|0)<0;q=t;o=c[q>>2]|0;q=c[q+4>>2]|0;b=QR(0,0,o|0,q|0)|0;u=t;c[u>>2]=p?b:o;c[u+4>>2]=p?C:q;if(!(c[r>>2]|0)){z=t;h[D>>3]=+((c[z>>2]|0)>>>0)+4294967296.0*+(c[z+4>>2]|0);break}h[v>>3]=1.0;if((c[r>>2]|0)<=307){while(1){if(!((c[r>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[r>>2]=(c[r>>2]|0)-1}while(1){if((c[r>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[r>>2]=(c[r>>2]|0)-22}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;break}else{h[D>>3]=l*k;break}}if((c[r>>2]|0)>=342){v=t;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[z>>2]|0)<0){h[D>>3]=0.0*k;break}else{h[D>>3]=s*k;break}}while(1){if(!((c[r>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[r>>2]=(c[r>>2]|0)-1}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;h[D>>3]=+h[D>>3]/1.e+308;break}else{h[D>>3]=l*k;h[D>>3]=+h[D>>3]*1.e+308;break}}else h[D>>3]=(c[u>>2]|0)<0?-0.0:0.0;while(0);h[c[x>>2]>>3]=+h[D>>3];if(((c[A>>2]|0)>0?(c[w>>2]|0)==(c[E>>2]|0):0)&(c[y>>2]|0)!=0)j=(c[B>>2]|0)==0;else j=0;c[F>>2]=j&1;F=c[F>>2]|0;i=G;return F|0}function fz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[l>>2]|0){if((zd(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((zd(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if((c[j>>2]|0)!=0?(ig(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(ig(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function hz(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+36|0;l=s+32|0;j=s+28|0;m=s+24|0;t=s+20|0;q=s+16|0;r=s+12|0;p=s+8|0;o=s+4|0;n=s;c[k>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[t>>2]=c[c[k>>2]>>2];c[q>>2]=0;if(!(c[(c[t>>2]|0)+296>>2]|0)){i=s;return}c[o>>2]=Fh(c[c[k>>2]>>2]|0,c[j>>2]|0)|0;if((c[o>>2]|0)<0){i=s;return}a:do if((d[c[l>>2]>>0]|0)==88)c[q>>2]=c[(c[k>>2]|0)+128>>2];else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[m>>2]>>2]|0))break a;j=c[p>>2]|0;if((c[(c[l>>2]|0)+28>>2]|0)==(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0))break;c[p>>2]=j+1}c[q>>2]=c[(c[m>>2]|0)+8+(j*72|0)+16>>2]}while(0);c[n>>2]=b[(c[l>>2]|0)+32>>1];if(!(c[q>>2]|0)){i=s;return}do if((c[n>>2]|0)<0)if((b[(c[q>>2]|0)+32>>1]|0)>=0){c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(b[(c[q>>2]|0)+32>>1]<<4)>>2];break}else{c[r>>2]=19895;break}else c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2];while(0);if(2!=(iz(c[k>>2]|0,c[c[q>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)){i=s;return}a[c[l>>2]>>0]=101;i=s;return}function iz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;p=r+16|0;o=r;g=r+52|0;h=r+48|0;j=r+44|0;k=r+40|0;l=r+36|0;m=r+32|0;q=r+28|0;n=r+24|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];c[q>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];if(a[(c[m>>2]|0)+148+5>>0]|0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[n>>2]=Sb[c[(c[m>>2]|0)+296>>2]&255](c[(c[m>>2]|0)+300>>2]|0,20,c[j>>2]|0,c[k>>2]|0,c[q>>2]|0,c[(c[h>>2]|0)+448>>2]|0)|0;if((c[n>>2]|0)!=1){if((c[n>>2]|0)!=2&(c[n>>2]|0)!=0)bx(c[h>>2]|0)}else{f=c[h>>2]|0;if((c[l>>2]|0)!=0?1:(c[(c[m>>2]|0)+20>>2]|0)>2){m=c[j>>2]|0;p=c[k>>2]|0;c[o>>2]=c[q>>2];c[o+4>>2]=m;c[o+8>>2]=p;Eh(f,30046,o)}else{q=c[k>>2]|0;c[p>>2]=c[j>>2];c[p+4>>2]=q;Eh(f,30079,p)}c[(c[h>>2]|0)+12>>2]=23}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0} -function bN(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;f=j+4|0;d=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[f>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[f>>2]>>2]|0))break;c[d>>2]=c[c[f>>2]>>2];a=(c[d>>2]|0)+12|0;if((c[c[d>>2]>>2]|0)!=(c[g>>2]|0)){c[f>>2]=a;continue}c[c[f>>2]>>2]=c[a>>2];if((c[(c[d>>2]|0)+4>>2]|0)==1)continue;Kd(c[d>>2]|0)}a=c[h>>2]|0;if((c[(c[h>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[a+76>>2]=0;h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-97;i=j;return}if((c[a+40>>2]|0)!=2){i=j;return}h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-65;i=j;return}function cN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;l=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;f=m+4|0;j=m;c[e>>2]=b;c[l>>2]=0;c[k>>2]=c[c[e>>2]>>2];_J(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[j>>2]=JF(c[e>>2]|0)|0;b=VF(c[e>>2]|0,c[j>>2]|0)|0;if((b|0)!=(c[j>>2]|0)?(c[j>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[h>>2]=gr((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=ZJ(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[d>>2]=Qj(61919)|0;l=c[d>>2]|0;i=m;return l|0}if((c[g>>2]|0)>>>0<(c[j>>2]|0)>>>0)c[l>>2]=XH(c[e>>2]|0,0,0)|0;c[f>>2]=c[j>>2];while(1){if(!((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(c[l>>2]|0)==0:0))break;c[l>>2]=$J(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+-1}if(((c[l>>2]|0)==101|(c[l>>2]|0)==0)&(c[h>>2]|0)>>>0>0){c[l>>2]=Gg(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;ft((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);ft((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);ft((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[g>>2]}if(!(c[l>>2]|0))break;qr(c[k>>2]|0)|0;break}c[d>>2]=Qj(61914)|0;l=c[d>>2]|0;i=m;return l|0}while(0);c[d>>2]=c[l>>2];l=c[d>>2]|0;i=m;return l|0}function dN(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;i=h;return g|0}if(((d[b+17>>0]|0|0)==2?(d[(c[f>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=rr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=mr(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function eN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;g=h+4|0;f=h;c[e>>2]=b;c[h+8>>2]=d;c[g>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[g>>2]|0;i=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=vg(c[e>>2]|0,1,f,0)|0;if(!(c[g>>2]|0))c[g>>2]=Gg(c[f>>2]|0)|0;if(!(c[g>>2]|0)){Bt(c[f>>2]|0);a[(c[e>>2]|0)+19>>0]=1}yg(c[f>>2]|0);g=c[g>>2]|0;i=h;return g|0}function fN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;n=o+24|0;m=o+20|0;k=o+8|0;l=o;j=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;if(((c[h>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+20>>0]=1;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=ps(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=C}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Rt(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[384]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[n>>2]=e;if((((0==(e|0)?(q=c[(c[g>>2]|0)+68>>2]|0,b=c[h>>2]|0,e=c[m>>2]|0,p=k,p=RR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Ig(q,b,e,p,C)|0,c[n>>2]=p,0==(p|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=RR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=RR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=Rt(p,q,C,c[m>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=RR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=RR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=RR(q|0,C|0,4,0)|0,q=Rt(p,q,C,c[j>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=RR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=RR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=RR(q|0,C|0,8,0)|0,q=Ig(p,25901,8,q,C)|0,c[n>>2]=q,0==(q|0)):0){p=(c[m>>2]|0)+20|0;q=(c[g>>2]|0)+80|0;e=q;p=RR(c[e>>2]|0,c[e+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[q>>2]=p;c[q+4>>2]=C;q=Xi(c[(c[g>>2]|0)+68>>2]|0,l)|0;c[n>>2]=q;if(0==(q|0)?(p=l,b=c[p+4>>2]|0,q=(c[g>>2]|0)+80|0,e=c[q+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0)):0){q=(c[g>>2]|0)+80|0;c[n>>2]=ur(c[(c[g>>2]|0)+68>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=0;q=c[f>>2]|0;i=o;return q|0}function gN(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;s=u+40|0;k=u+36|0;r=u+32|0;j=u+28|0;h=u+24|0;m=u+20|0;p=u+16|0;l=u+12|0;q=u+8|0;n=u+4|0;o=u;c[g>>2]=f;c[s>>2]=0;c[j>>2]=0;c[m>>2]=0;c[p>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[(c[p>>2]|0)+156>>2]|0)>>>0)/((c[(c[p>>2]|0)+160>>2]|0)>>>0)|0;f=(c[p>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[r>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[l>>2]|0)-1))+1;c[k>>2]=c[(c[p>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0)if(((c[r>>2]|0)+(c[l>>2]|0)-1|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=(c[k>>2]|0)+1-(c[r>>2]|0);break}else{c[j>>2]=c[l>>2];break}else c[j>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[r>>2]|0)+1;while(0);c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[s>>2]|0)==0:0))break;c[q>>2]=(c[r>>2]|0)+(c[h>>2]|0);if((c[q>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?(nj(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0)!=0:0){f=hs(c[p>>2]|0,c[q>>2]|0)|0;c[n>>2]=f;if(f){if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Js(c[n>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[q>>2]|0)!=(((c[384]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[s>>2]=vg(c[p>>2]|0,c[q>>2]|0,n,0)|0,(c[s>>2]|0)==0):0){c[s>>2]=hN(c[n>>2]|0)|0;if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Js(c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}if(!((c[s>>2]|0)==0&(c[m>>2]|0)!=0)){t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=hs(c[p>>2]|0,(c[r>>2]|0)+(c[h>>2]|0)|0)|0;if(c[o>>2]|0){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;Js(c[o>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}function hN(a){a=a|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[j>>2]=iN(c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}js(c[g>>2]|0);do if((c[(c[h>>2]|0)+60>>2]|0)!=0?(qj(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[j>>2]=jN(c[g>>2]|0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[j>>2]=wt(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}function iN(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;j=l+16|0;k=l+12|0;g=l+8|0;e=l+4|0;f=l;c[j>>2]=b;c[k>>2]=0;c[g>>2]=c[c[j>>2]>>2];b=c[j>>2]|0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[b+44>>2];k=c[h>>2]|0;i=l;return k|0}if((Br(b)|0)==0?(d[(c[j>>2]|0)+5>>0]|0)!=2:0){b=kj(c[(c[j>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+60>>2]=b;if(!(c[(c[j>>2]|0)+60>>2]|0)){c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}do if(!(c[c[(c[j>>2]|0)+68>>2]>>2]|0)){if((d[(c[j>>2]|0)+5>>0]|0)==4){kN(c[(c[j>>2]|0)+68>>2]|0);break}c[e>>2]=6;b=c[e>>2]|0;if(a[(c[j>>2]|0)+13>>0]|0){c[e>>2]=b|4104;c[f>>2]=c[11]}else{c[e>>2]=b|2048;c[f>>2]=0}c[k>>2]=lN(c[j>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=Tt(c[g>>2]|0,c[(c[j>>2]|0)+180>>2]|0,c[(c[j>>2]|0)+68>>2]|0,c[e>>2]|0,c[f>>2]|0)|0}while(0);if(!(c[k>>2]|0)){c[(c[j>>2]|0)+48>>2]=0;g=(c[j>>2]|0)+80|0;c[g>>2]=0;c[g+4>>2]=0;a[(c[j>>2]|0)+20>>0]=0;g=(c[j>>2]|0)+88|0;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=Dt(c[j>>2]|0)|0}}b=c[j>>2]|0;if(c[k>>2]|0){pj(c[b+60>>2]|0);c[(c[j>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[h>>2]=c[k>>2];k=c[h>>2]|0;i=l;return k|0}function jN(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;d=m+28|0;f=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;j=m+8|0;h=m;c[f>>2]=a;c[k>>2]=c[(c[f>>2]|0)+16>>2];o=(c[k>>2]|0)+80|0;n=c[o+4>>2]|0;a=h;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[g>>2]=gs(c[k>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=h;c[l>>2]=Rt(c[(c[k>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];o=c[d>>2]|0;i=m;return o|0}p=c[(c[k>>2]|0)+68>>2]|0;a=c[j>>2]|0;n=c[(c[k>>2]|0)+160>>2]|0;o=h;o=RR(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[l>>2]=Ig(p,a,n,o,C)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}o=c[(c[k>>2]|0)+68>>2]|0;n=h;p=c[(c[k>>2]|0)+160>>2]|0;p=RR(c[n>>2]|0,c[n+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=RR(p|0,C|0,4,0)|0;c[l>>2]=Rt(o,p,C,c[g>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}else{o=8+(c[(c[k>>2]|0)+160>>2]|0)|0;p=(c[k>>2]|0)+80|0;n=p;o=RR(c[n>>2]|0,c[n+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=(c[k>>2]|0)+48|0;c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=lj(c[(c[k>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;p=St(c[k>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[l>>2]=c[l>>2]|p;c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}return 0}function kN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Tt(0,0,c[d>>2]|0,0,-1)|0;i=b;return}function lN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=Ai(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function mN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;f=c[j>>2]|0;do if(c[(c[j>>2]|0)+144>>2]|0){g=c[f+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[j>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;VR(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[j>>2]|0)+148>>1]|0|0)|0}else{g=kg(40+(e[f+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=32;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[j>>2];break}m=c[(c[j>>2]|0)+64>>2]|0;n=c[(c[j>>2]|0)+160>>2]|0;n=aS((c[k>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;Ms(m,n,C,c[l>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[l>>2];n=(c[j>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}function nN(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[j>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}g=oN(c[j>>2]|0)|0;if((g|0)>(c[(c[j>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[j>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[n>>2]=Yb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}}n=Ob[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,2)|0;c[c[l>>2]>>2]=n;c[h>>2]=(c[c[l>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;i=o;return n|0}function oN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;i=b;return a|0}function pN(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+108>>2]|0}function qN(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+40|0;o=r+36|0;l=r+32|0;q=r+28|0;p=r+24|0;h=r+20|0;k=r+12|0;m=r+8|0;j=r+4|0;g=r;c[o>>2]=f;c[h>>2]=0;c[l>>2]=rK(c[c[o>>2]>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}c[l>>2]=XF(c[o>>2]|0,1,q,0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}f=gr((c[(c[q>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[p>>2]=f;Fg(c[c[o>>2]>>2]|0,h);if(!((c[p>>2]|0)!=0?(eR((c[(c[q>>2]|0)+56>>2]|0)+24|0,(c[(c[q>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[p>>2]=c[h>>2];a:do if((c[p>>2]|0)>0){c[j>>2]=c[(c[q>>2]|0)+56>>2];c[l>>2]=26;b:do if(!(eR(c[j>>2]|0,41796,16)|0)){if((d[(c[j>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[j>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[j>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[g>>2]=0;c[l>>2]=xK(c[c[o>>2]>>2]|0,g)|0;if(c[l>>2]|0)break b;if(c[g>>2]|0){c[l>>2]=26;break}QB(c[q>>2]|0);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}while(0);if((eR((c[j>>2]|0)+21|0,44049,3)|0)==0?(c[k>>2]=(d[(c[j>>2]|0)+16>>0]|0)<<8|(d[(c[j>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[j>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){QB(c[q>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];Ui(c[o>>2]|0);c[l>>2]=Vi(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[p>>2]|0)>(c[h>>2]|0):0){c[l>>2]=Qj(61191)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(gr((c[j>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(gr((c[j>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);QB(c[q>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;g=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)a[g+21>>0]=127;else a[(c[o>>2]|0)+21>>0]=b[g+24>>1];c[(c[o>>2]|0)+12>>2]=c[q>>2];c[(c[o>>2]|0)+44>>2]=c[p>>2];c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}function rN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[l>>2]=0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[(c[j>>2]|0)+44>>2];l=c[h>>2]|0;i=m;return l|0}a[(c[j>>2]|0)+22>>0]=c[g>>2];if((d[(c[j>>2]|0)+17>>0]|0|0)==1){f=(Br(c[j>>2]|0)|0)!=0;g=c[j>>2]|0;if(!f){c[l>>2]=Gt(g,2)|0;if((c[l>>2]|0)==0&(c[k>>2]|0)!=0)c[l>>2]=Ft(c[j>>2]|0,4)|0}else{do if((d[g+4>>0]|0|0)!=0?(Er(c[(c[j>>2]|0)+216>>2]|0,-1)|0)!=0:0){c[l>>2]=Gt(c[j>>2]|0,4)|0;if(!(c[l>>2]|0)){Er(c[(c[j>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}while(0);c[l>>2]=sN(c[(c[j>>2]|0)+216>>2]|0)|0}if(!(c[l>>2]|0)){a[(c[j>>2]|0)+17>>0]=2;c[(c[j>>2]|0)+40>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+28>>2];k=(c[j>>2]|0)+80|0;c[k>>2]=0;c[k+4>>2]=0}}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}function sN(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;i=g;return f|0}c[f>>2]=Xs(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(eR(b,Ds(c[e>>2]|0)|0,48)|0){Kr(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function tN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+244>>2]|0)uN(c[(c[d>>2]|0)+244>>2]|0);SJ(c[d>>2]|0,c[e>>2]|0);i=f;return}function uN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ih(c[d>>2]|0);i=b;return}function vN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+624|0;g=H+92|0;h=H+88|0;j=H+84|0;k=H+80|0;l=H+76|0;m=H+72|0;z=H+68|0;p=H+64|0;x=H+60|0;o=H+56|0;w=H+52|0;B=H+48|0;n=H+44|0;t=H+40|0;s=H+36|0;r=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;q=H;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[z>>2]=c[k>>2];c[p>>2]=-1;c[x>>2]=0;c[o>>2]=c[l>>2]&-256;c[B>>2]=0;c[n>>2]=0;c[t>>2]=c[l>>2]&16;c[s>>2]=c[l>>2]&8;c[r>>2]=c[l>>2]&4;c[v>>2]=c[l>>2]&1;c[u>>2]=c[l>>2]&2;if(c[r>>2]|0)if((c[o>>2]|0)==16384|(c[o>>2]|0)==2048)e=1;else e=(c[o>>2]|0)==524288;else e=0;c[C>>2]=e&1;c[E>>2]=c[j>>2];b=c[1718]|0;if((b|0)!=(uR()|0)){c[1718]=uR()|0;Sd(0,0)}e=c[z>>2]|0;d=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=c[E>>2]|0;do if((c[o>>2]|0)!=256){if(!e){c[B>>2]=kO(c[(c[h>>2]|0)+8>>2]|0,F)|0;if(!(c[B>>2]|0)){c[E>>2]=F;break}c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}}else{c[A>>2]=BO(e,c[l>>2]|0)|0;if(!(c[A>>2]|0)){c[A>>2]=Jd(12,0)|0;if(!(c[A>>2]|0)){c[g>>2]=7;G=c[g>>2]|0;i=H;return G|0}}else c[p>>2]=c[c[A>>2]>>2];c[(c[z>>2]|0)+28>>2]=c[A>>2]}while(0);if(c[v>>2]|0)c[x>>2]=c[x>>2];if(c[u>>2]|0)c[x>>2]=c[x>>2]|2;if(c[r>>2]|0)c[x>>2]=c[x>>2]|64;if(c[t>>2]|0)c[x>>2]=c[x>>2]|131200;c[x>>2]=c[x>>2];do if((c[p>>2]|0)<0){c[B>>2]=CO(c[E>>2]|0,c[l>>2]|0,y,D,q)|0;if(c[B>>2]|0){c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}c[p>>2]=gO(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if((c[p>>2]|0)<0?(F=(c[(BQ()|0)>>2]|0)!=21,F&(c[u>>2]|0)!=0):0){c[l>>2]=c[l>>2]&-7;c[x>>2]=c[x>>2]&-67;c[l>>2]=c[l>>2]|1;c[x>>2]=c[x>>2];c[v>>2]=1;c[p>>2]=gO(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0}if((c[p>>2]|0)<0){F=ot(35186)|0;c[B>>2]=cO(F,44128,c[E>>2]|0,35186)|0;break}if(c[l>>2]&526336){DO(c[p>>2]|0,c[D>>2]|0,c[q>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[m>>2]|0)c[c[m>>2]>>2]=c[l>>2];if(c[(c[z>>2]|0)+28>>2]|0){c[c[(c[z>>2]|0)+28>>2]>>2]=c[p>>2];c[(c[(c[z>>2]|0)+28>>2]|0)+4>>2]=c[l>>2]}if(c[s>>2]|0)Tb[c[6632>>2]&255](c[E>>2]|0)|0;if(c[s>>2]|0)c[n>>2]=c[n>>2]|32;if(c[v>>2]|0)c[n>>2]=c[n>>2]|2;c[w>>2]=(c[o>>2]|0)!=256&1;if(c[w>>2]|0)c[n>>2]=c[n>>2]|128;if(c[C>>2]|0)c[n>>2]=c[n>>2]|8;if(c[l>>2]&64)c[n>>2]=c[n>>2]|64;c[B>>2]=EO(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0)|0}if(c[B>>2]|0)Kd(c[(c[z>>2]|0)+28>>2]|0);c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}function wN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((Tb[c[6632>>2]&255](c[f>>2]|0)|0)==-1){if((c[(BQ()|0)>>2]|0)==2)c[j>>2]=5898;else c[j>>2]=cO(2570,44225,c[f>>2]|0,35312)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}do if(c[g>>2]&1){c[j>>2]=Yb[c[6644>>2]&255](c[f>>2]|0,h)|0;if(c[j>>2]|0){c[j>>2]=0;break}if(rO(c[h>>2]|0,0,0)|0)c[j>>2]=cO(1290,44459,c[f>>2]|0,35322)|0;bO(0,c[h>>2]|0,35324)}while(0);c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}function xN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;f=j+84|0;k=j+80|0;g=j+76|0;h=j;c[j+88>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;if(!(c[k>>2]|0)){k=0==(Yb[c[6488>>2]&255](c[f>>2]|0,h)|0);c[c[g>>2]>>2]=(k?(c[h+36>>2]|0)>0:0)&1;i=j;return 0}else{k=(Yb[c[6464>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[g>>2]>>2]=k;i=j;return 0}return 0}function yN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+128|0;s=r+112|0;g=r+108|0;h=r+104|0;p=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;q=r+84|0;j=r+80|0;k=r+4|0;l=r;c[r+116>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=f;c[p>>2]=0;c[n>>2]=1;c[o>>2]=c[s>>2];c[q>>2]=0;while(1){c[j>>2]=0;if(Yb[c[6764>>2]&255](c[o>>2]|0,k)|0){if((c[(BQ()|0)>>2]|0)!=2){s=ot(35436)|0;c[p>>2]=cO(s,44313,c[o>>2]|0,35436)|0}}else c[j>>2]=(c[k+12>>2]&61440|0)==40960&1;if(c[j>>2]|0){if(!(c[q>>2]|0)){c[q>>2]=Id(c[g>>2]|0)|0;if(!(c[q>>2]|0))c[p>>2]=7}else{s=(c[n>>2]|0)+1|0;c[n>>2]=s;if((s|0)>100)c[p>>2]=ot(35447)|0}do if(!(c[p>>2]|0)){c[m>>2]=Ob[c[6752>>2]&255](c[o>>2]|0,c[q>>2]|0,(c[g>>2]|0)-1|0)|0;if((c[m>>2]|0)<0){s=ot(35453)|0;c[p>>2]=cO(s,44304,c[o>>2]|0,35453)|0;break}do if((a[c[q>>2]>>0]|0)!=47){c[l>>2]=Jf(c[o>>2]|0)|0;while(1){if((c[l>>2]|0)<=0)break;if((a[(c[o>>2]|0)+((c[l>>2]|0)-1)>>0]|0)==47)break;c[l>>2]=(c[l>>2]|0)+-1}if(((c[m>>2]|0)+(c[l>>2]|0)+1|0)>(c[g>>2]|0)){c[p>>2]=ot(35459)|0;break}else{UR((c[q>>2]|0)+(c[l>>2]|0)|0,c[q>>2]|0,(c[m>>2]|0)+1|0)|0;TR(c[q>>2]|0,c[o>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);break}}while(0);a[(c[q>>2]|0)+(c[m>>2]|0)>>0]=0}while(0);c[o>>2]=c[q>>2]}if((c[p>>2]|0)==0?(c[o>>2]|0)!=(c[h>>2]|0):0)c[p>>2]=AO(c[o>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[j>>2]|0)){g=30;break}c[o>>2]=c[h>>2];if(c[p>>2]|0){g=30;break}}if((g|0)==30){Kd(c[q>>2]|0);i=r;return c[p>>2]|0}return 0}function zN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+20>>2]=b;c[f>>2]=d;c[g>>2]=e;VR(c[g>>2]|0,0,c[f>>2]|0)|0;c[1718]=uR()|0;c[h>>2]=gO(44446,0,0)|0;if((c[h>>2]|0)<0){Fb(k|0)|0;e=c[g>>2]|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;a[e+3>>0]=a[k+3>>0]|0;e=(c[g>>2]|0)+4|0;a[e>>0]=a[6872]|0;a[e+1>>0]=a[6873]|0;a[e+2>>0]=a[6874]|0;a[e+3>>0]=a[6875]|0;c[f>>2]=8;e=c[f>>2]|0;i=l;return e|0}do{c[j>>2]=Ob[c[6536>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[j>>2]|0)>=0)break}while((c[(BQ()|0)>>2]|0)==4);bO(0,c[h>>2]|0,35583);e=c[f>>2]|0;i=l;return e|0}function AN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;zR(c[d>>2]|0)|0;i=e;return (c[d>>2]|0)*1e6|0}function BN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=DN(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function CN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[(BQ()|0)>>2]|0;i=e;return d|0}function DN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;Hb(g|0,0)|0;b=c[g>>2]|0;b=aS(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=RR(1045635584,49096,b|0,C|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=RR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=C;i=e;return c[d>>2]|0}function EN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[6436+((c[g>>2]|0)*12|0)+8>>2]|0)c[6436+((c[g>>2]|0)*12|0)+4>>2]=c[6436+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;i=k;return j|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){j=16;break}b=(hR(c[e>>2]|0,c[6436+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;d=c[g>>2]|0;if(b)break;c[g>>2]=d+1}if((j|0)==16){j=c[h>>2]|0;i=k;return j|0}if(!(c[6436+(d*12|0)+8>>2]|0))c[6436+((c[g>>2]|0)*12|0)+8>>2]=c[6436+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[6436+((c[g>>2]|0)*12|0)+8>>2];c[6436+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];j=c[h>>2]|0;i=k;return j|0}function FN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(hR(c[d>>2]|0,c[6436+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[6436+(b*12|0)+4>>2];f=c[f>>2]|0;i=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function GN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(hR(c[d>>2]|0,c[6436+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){d=11;break}a=c[e>>2]|0;if(c[6436+((c[e>>2]|0)*12|0)+4>>2]|0){d=9;break}c[e>>2]=a+1}if((d|0)==9){c[f>>2]=c[6436+(a*12|0)>>2];f=c[f>>2]|0;i=g;return f|0}else if((d|0)==11){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function HN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 6360}function IN(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];PN(c[d>>2]|0,0)|0;Kd(c[(c[e>>2]|0)+24>>2]|0);a=uO(c[d>>2]|0)|0;i=b;return a|0}function JN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+28|0;o=m+24|0;h=m+20|0;j=m+16|0;n=m;l=m+12|0;k=m+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];b=n;c[k>>2]=tO(c[l>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==(c[j>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=m;return o|0}if((c[k>>2]|0)<0){c[g>>2]=266;o=c[g>>2]|0;i=m;return o|0}else{pO(c[l>>2]|0,0);VR((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[j>>2]|0)-(c[k>>2]|0)|0)|0;c[g>>2]=522;o=c[g>>2]|0;i=m;return o|0}return 0}function KN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+28|0;o=n+24|0;h=n+20|0;j=n+16|0;k=n;l=n+12|0;m=n+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=0;while(1){o=k;o=nO(c[l>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=o;if(!((o|0)<(c[j>>2]|0)?(c[m>>2]|0)>0:0))break;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;o=k;b=RR(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;o=k;c[o>>2]=b;c[o+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0)}if((c[j>>2]|0)<=(c[m>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}if((c[m>>2]|0)<0?(c[(c[l>>2]|0)+20>>2]|0)!=28:0){c[g>>2]=778;o=c[g>>2]|0;i=n;return o|0}pO(c[l>>2]|0,0);c[g>>2]=13;o=c[g>>2]|0;i=n;return o|0}function LN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j;g=j+12|0;h=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[k>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){k=f;a=c[(c[g>>2]|0)+40>>2]|0;a=RR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=QR(a|0,C|0,1,0)|0;k=c[(c[g>>2]|0)+40>>2]|0;k=_R(a|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=aS(k|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;k=f;c[k>>2]=a;c[k+4>>2]=C}k=f;c[h>>2]=sO(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[h>>2]|0){k=c[g>>2]|0;pO(k,c[(BQ()|0)>>2]|0);c[e>>2]=cO(1546,44151,c[(c[g>>2]|0)+32>>2]|0,32998)|0;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function MN(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;f=k+28|0;o=k+24|0;n=k+20|0;j=k+16|0;h=k+12|0;l=k+8|0;m=k+4|0;g=k;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[j>>2]=rO(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;d=c[h>>2]|0;if(c[j>>2]|0){pO(d,c[(BQ()|0)>>2]|0);c[f>>2]=cO(1034,44435,c[(c[h>>2]|0)+32>>2]|0,32953)|0;o=c[f>>2]|0;i=k;return o|0}if((e[d+18>>1]|0)&8){c[j>>2]=Yb[c[6644>>2]&255](c[(c[h>>2]|0)+32>>2]|0,g)|0;if(!(c[j>>2]|0)){rO(c[g>>2]|0,0,0)|0;bO(c[h>>2]|0,c[g>>2]|0,32967)}else c[j>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[j>>2];o=c[f>>2]|0;i=k;return o|0}function NN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;d=h+88|0;e=h+84|0;f=h+80|0;j=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[j>>2]=Yb[c[6500>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[j>>2]|0){j=c[e>>2]|0;pO(j,c[(BQ()|0)>>2]|0);c[d>>2]=1802;j=c[d>>2]|0;i=h;return j|0}b=c[g+36>>2]|0;j=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=((b|0)<0)<<31>>31;j=c[f>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[d>>2]=0;j=c[d>>2]|0;i=h;return j|0}function ON(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];Ha(c[l>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Yb[c[6656>>2]&255](c[l>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(BQ()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=qO(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)pO(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function PN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Tb[c[6668>>2]&255](c[l>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(BQ()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;pO(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function QN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;j=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[j>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=(Yb[c[6464>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];i=e;return c[d>>2]|0}function RN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[j>>2]=iO(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[j>>2];break}case 10:{jO(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{jO(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Od(18391,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[l>>2]=Jd(o,((o|0)<0)<<31>>31)|0;if(c[l>>2]|0){kO(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]}c[f>>2]=0;break}case 20:{o=lO(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);i=m;return c[f>>2]|0}function SN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function TN(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;i=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;i=d;return g|0}function UN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;v=u+32|0;h=u+28|0;j=u+24|0;k=u+20|0;p=u+16|0;o=u+12|0;r=u+8|0;q=u+4|0;s=u;n=u+40|0;l=u+38|0;m=u+36|0;c[v>>2]=a;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[v>>2];c[o>>2]=c[(c[p>>2]|0)+36>>2];c[q>>2]=c[c[o>>2]>>2];c[s>>2]=0;b[n>>1]=(1<<(c[h>>2]|0)+(c[j>>2]|0))-(1<>2]);if(c[k>>2]&1){b[l>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((c[r>>2]|0)!=(c[o>>2]|0))b[l>>1]=e[l>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if(!((e[n>>1]|0)&(e[l>>1]|0)))c[s>>2]=hO(c[p>>2]|0,2,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;else c[s>>2]=0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=(c[o>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}if(!(c[k>>2]&4)){c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=28;break}if((e[(c[r>>2]|0)+10>>1]|0)&(e[n>>1]|0)){t=28;break}c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==28)c[s>>2]=5;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}c[s>>2]=hO(c[p>>2]|0,1,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}b[m>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=16;break}b[m>>1]=e[m>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==16)c[s>>2]=5;do if(!(c[s>>2]|0))if(!((e[m>>1]|0)&(e[n>>1]|0))){c[s>>2]=hO(c[p>>2]|0,0,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;break}else{c[s>>2]=0;break}while(0);if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}function VN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;ZN();$N();i=b;return}function WN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=c[(c[g>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[c[f>>2]>>2];c[j>>2]=(c[h>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[f>>2]|0)+4>>2];Kd(c[f>>2]|0);c[(c[g>>2]|0)+36>>2]=0;ZN();l=(c[h>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;if(!(c[(c[h>>2]|0)+28>>2]|0)){if((c[e>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)>=0:0)Tb[c[6632>>2]&255](c[(c[h>>2]|0)+8>>2]|0)|0;_N(c[g>>2]|0)}$N();c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}function XN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function YN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function ZN(){return}function _N(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[g>>2]|0)){i=h;return}if(c[(c[g>>2]|0)+28>>2]|0){i=h;return}c[f>>2]=aO()|0;c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(e[(c[g>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)Yb[c[6716>>2]&255](c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;else Kd(c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0)}Kd(c[a+24>>2]|0);if((c[(c[g>>2]|0)+12>>2]|0)>=0){bO(c[b>>2]|0,c[(c[g>>2]|0)+12>>2]|0,33574);c[(c[g>>2]|0)+12>>2]=-1}c[(c[c[g>>2]>>2]|0)+20>>2]=0;Kd(c[g>>2]|0);i=h;return}function $N(){return}function aO(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;a=e+8|0;d=e+4|0;b=e;c[d>>2]=32768;c[b>>2]=Pb[c[6740>>2]&255]()|0;if((c[b>>2]|0)<(c[d>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;i=e;return d|0}else{c[a>>2]=(c[b>>2]|0)/(c[d>>2]|0)|0;d=c[a>>2]|0;i=e;return d|0}return 0}function bO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(Tb[c[6452>>2]&255](c[h>>2]|0)|0)){i=g;return}if(c[e>>2]|0)e=c[(c[e>>2]|0)+32>>2]|0;else e=0;cO(4106,44091,e,c[f>>2]|0)|0;i=g;return}function cO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+28|0;m=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[(BQ()|0)>>2];c[m>>2]=CQ(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=18402;d=c[f>>2]|0;a=c[k>>2]|0;k=c[g>>2]|0;e=c[h>>2]|0;b=c[m>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=b;Rd(d,44097,l);i=n;return c[f>>2]|0}function dO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;d=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=EQ(d,a,f)|0;i=e;return a|0}function eO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+544|0;l=k;e=k+20|0;m=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k+24|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=-1;c[l>>2]=c[m>>2];Qd(512,j,18391,l)|0;c[h>>2]=kR(j)|0;while(1){if((c[h>>2]|0)<=0)break;if((a[j+(c[h>>2]|0)>>0]|0)==47)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)>0)a[j+(c[h>>2]|0)>>0]=0;else{if((a[j>>0]|0)!=47)a[j>>0]=46;a[j+1>>0]=0}c[g>>2]=gO(j,0,0)|0;c[c[f>>2]>>2]=c[g>>2];if((c[g>>2]|0)>=0){c[e>>2]=0;m=c[e>>2]|0;i=k;return m|0}else{c[e>>2]=cO(ot(32912)|0,44232,j,32912)|0;m=c[e>>2]|0;i=k;return m|0}return 0}function fO(){return ib(30)|0}function gO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+112|0;l=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;j=m+84|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:420;while(1){c[h>>2]=Ob[c[6440>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[j>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(BQ()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;Tb[c[6452>>2]&255](c[h>>2]|0)|0;a=c[h>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=a;Rd(28,44319,l);c[h>>2]=-1;if((Ob[c[6440>>2]&255](44362,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){a=c[h>>2]|0;i=m;return a|0}if(Yb[c[6500>>2]&255](c[h>>2]|0,k)|0){a=c[h>>2]|0;i=m;return a|0}if(c[k+36>>2]|0){a=c[h>>2]|0;i=m;return a|0}if((c[k+12>>2]&511|0)==(c[g>>2]|0)){a=c[h>>2]|0;i=m;return a|0}Yb[c[6608>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;a=c[h>>2]|0;i=m;return a|0}function hO(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;n=o;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;l=o+24|0;k=o+8|0;m=o+4|0;c[p>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;c[l>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[l>>2]|0)+12>>2]|0)<0){p=c[m>>2]|0;i=o;return p|0};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k>>1]=c[g>>2];b[k+2>>1]=0;c[k+4>>2]=c[h>>2];c[k+8>>2]=c[j>>2];a=c[1631]|0;p=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=k;c[m>>2]=Ob[a&255](p,13,n)|0;c[m>>2]=(c[m>>2]|0)!=-1?0:5;p=c[m>>2]|0;i=o;return p|0}function iO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;e=n+112|0;f=n+108|0;g=n+16|0;l=n+8|0;h=n+32|0;k=n+28|0;m=n+24|0;j=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[f>>2]|0)+40>>2]|0)>0){if(Yb[c[6500>>2]&255](c[(c[f>>2]|0)+12>>2]|0,h)|0){c[e>>2]=1802;a=c[e>>2]|0;i=n;return a|0}b=c[(c[f>>2]|0)+40>>2]|0;b=RR(c[g>>2]|0,c[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=QR(b|0,C|0,1,0)|0;g=c[(c[f>>2]|0)+40>>2]|0;g=_R(b|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;b=c[(c[f>>2]|0)+40>>2]|0;b=aS(g|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;g=l;c[g>>2]=b;c[g+4>>2]=C;g=l;b=c[g+4>>2]|0;a=c[h+36>>2]|0;d=((a|0)<0)<<31>>31;if((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>a>>>0:0)){c[k>>2]=c[h+40>>2];c[m>>2]=0;h=_((c[h+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;a=j;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;while(1){d=j;h=c[d>>2]|0;d=c[d+4>>2]|0;g=l;a=c[k>>2]|0;a=RR(c[g>>2]|0,c[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=QR(a|0,C|0,1,0)|0;g=C;if(!((d|0)<(g|0)|(d|0)==(g|0)&h>>>0>>0))break a;h=j;d=c[h+4>>2]|0;a=l;g=c[a+4>>2]|0;if((d|0)>(g|0)|((d|0)==(g|0)?(c[h>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){h=l;h=QR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}a=j;c[m>>2]=nO(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,18402,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;a=j;h=RR(c[a>>2]|0,c[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}c[e>>2]=778;a=c[e>>2]|0;i=n;return a|0}}while(0);c[e>>2]=0;a=c[e>>2]|0;i=n;return a|0}function jO(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m+4|0;j=m+8|0;l=m;c[k>>2]=f;a[j>>0]=g;c[l>>2]=h;if((c[c[l>>2]>>2]|0)<0){c[c[l>>2]>>2]=((e[(c[k>>2]|0)+18>>1]|0)&(d[j>>0]|0)|0)!=0&1;i=m;return}j=d[j>>0]|0;if(!(c[c[l>>2]>>2]|0)){l=(c[k>>2]|0)+18|0;b[l>>1]=(e[l>>1]|0)&~j;i=m;return}else{l=(c[k>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|j;i=m;return}}function kO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;j=m+8|0;l=m+48|0;e=m+44|0;f=m+40|0;k=m+36|0;g=m+32|0;h=m;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;a[c[f>>2]>>0]=0;c[k>>2]=mO()|0;if(!(c[k>>2]|0)){c[l>>2]=6410;l=c[l>>2]|0;i=m;return l|0}while(1){Sd(8,h);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=h;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[k>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;Qd(b,d,44372,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){e=5;break}p=c[g>>2]|0;c[g>>2]=p+1;if((p|0)>10){e=5;break}if(Yb[c[6464>>2]&255](c[f>>2]|0,0)|0){e=7;break}}if((e|0)==5){c[l>>2]=1;p=c[l>>2]|0;i=m;return p|0}else if((e|0)==7){c[l>>2]=0;p=c[l>>2]|0;i=m;return p|0}return 0}function lO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){a=0;a=a&1;i=e;return a|0}if(Yb[c[6488>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){a=1;a=a&1;i=e;return a|0}a=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;i=e;return a|0}function mO(){var a=0,b=0,d=0,e=0,f=0,g=0;f=i;i=i+96|0;d=f+84|0;b=f+80|0;a=f+4|0;e=f;c[b>>2]=0;c[e>>2]=c[243];if(!(c[1693]|0))c[1693]=rb(44389)|0;if(!(c[1694]|0))c[1694]=rb(44403)|0;while(1){if((((c[e>>2]|0)!=0?(Yb[c[6488>>2]&255](c[e>>2]|0,a)|0)==0:0)?(c[a+12>>2]&61440|0)==16384:0)?(Yb[c[6464>>2]&255](c[e>>2]|0,3)|0)==0:0){a=9;break}if((c[b>>2]|0)>>>0>=6){a=12;break}g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=c[6772+(g<<2)>>2]}if((a|0)==9){c[d>>2]=c[e>>2];g=c[d>>2]|0;i=f;return g|0}else if((a|0)==12){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}return 0}function nO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;e=l;e=oO(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return e|0}function oO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[l>>2]=c[l>>2]&131071;do{e=vR(c[h>>2]|0,c[j>>2]|0,0)|0;g=n;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[o>>2]=Ob[c[6572>>2]&255](c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)>=0)break}while((c[(BQ()|0)>>2]|0)==4);if((p|0)==3)c[o>>2]=-1;if((c[o>>2]|0)>=0){p=c[o>>2]|0;i=q;return p|0}p=c[(BQ()|0)>>2]|0;c[c[m>>2]>>2]=p;p=c[o>>2]|0;i=q;return p|0}function pO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];i=d;return}function qO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}i=f;return c[d>>2]|0}function rO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=qR(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function sO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=Yb[c[6512>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){b=4;break}if((c[(BQ()|0)>>2]|0)!=4){b=4;break}}if((b|0)==4){i=h;return c[g>>2]|0}return 0}function tO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;do{a=vR(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,0)|0;e=n;c[e>>2]=a;c[e+4>>2]=((a|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[m>>2]=Ob[c[6536>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[m>>2]|0)==(c[l>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[l>>2]=(c[l>>2]|0)-(c[m>>2]|0);a=c[m>>2]|0;e=j;a=RR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=a;c[e+4>>2]=C;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[m>>2]|0)}}else{if((c[(BQ()|0)>>2]|0)!=4){p=8;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((p|0)==3){p=c[h>>2]|0;pO(p,c[(BQ()|0)>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((p|0)==8){c[o>>2]=0;p=c[h>>2]|0;pO(p,c[(BQ()|0)>>2]|0)}c[g>>2]=(c[m>>2]|0)+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}function uO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){bO(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,31321);c[(c[b>>2]|0)+12>>2]=-1}Kd(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return 0}function vO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 6796}function wO(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=uO(c[d>>2]|0)|0;i=b;return a|0}function xO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function yO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function zO(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function AO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=Jf(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(Yb[c[6476>>2]&255](c[h>>2]|0,(c[j>>2]|0)-2|0)|0){c[k>>2]=Jf(c[h>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[h>>2]|0)+b>>0]=47;break}b=ot(35379)|0;c[f>>2]=cO(b,44133,c[g>>2]|0,35379)|0;b=c[f>>2]|0;i=n;return b|0}while(0);if(((c[k>>2]|0)+(c[l>>2]|0)+1|0)>(c[j>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=ot(35388)|0;b=c[f>>2]|0;i=n;return b|0}else{d=(c[j>>2]|0)-(c[k>>2]|0)|0;b=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];Qd(d,b,18391,m)|0;c[f>>2]=0;b=c[f>>2]|0;i=n;return b|0}return 0}function BO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;k=j+92|0;d=j+88|0;f=j+84|0;h=j+8|0;e=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[f>>2]=0;if(Yb[c[6488>>2]&255](c[k>>2]|0,h)|0){k=c[f>>2]|0;i=j;return k|0}ZN();c[e>>2]=c[1738];while(1){if(c[e>>2]|0)if((c[c[e>>2]>>2]|0)!=(c[h>>2]|0))a=1;else a=(c[(c[e>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;c[e>>2]=c[b+32>>2]}if(b){c[g>>2]=(c[e>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[f>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2]}$N();k=c[f>>2]|0;i=j;return k|0}function CO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+560|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;q=r+32|0;n=r+4|0;p=r;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;if(c[j>>2]&526336){c[n>>2]=(Jf(c[h>>2]|0)|0)-1;while(1){if((a[(c[h>>2]|0)+(c[n>>2]|0)>>0]|0)==45)break;c[n>>2]=(c[n>>2]|0)+-1}TR(q|0,c[h>>2]|0,c[n>>2]|0)|0;a[q+(c[n>>2]|0)>>0]=0;c[o>>2]=SO(q,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;b=c[o>>2]|0;i=r;return b|0}if(c[j>>2]&8){c[c[k>>2]>>2]=384;b=c[o>>2]|0;i=r;return b|0}if(!(c[j>>2]&64)){b=c[o>>2]|0;i=r;return b|0}c[p>>2]=Hf(c[h>>2]|0,44606)|0;if(!(c[p>>2]|0)){b=c[o>>2]|0;i=r;return b|0}c[o>>2]=SO(c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;b=c[o>>2]|0;i=r;return b|0}function DO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(Pb[c[6692>>2]&255]()|0){b=0;i=h;return b|0}b=Ob[c[6680>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return b|0}function EO(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;r=t;j=t+40|0;k=t+36|0;u=t+32|0;l=t+28|0;m=t+24|0;o=t+20|0;p=t+16|0;q=t+12|0;s=t+8|0;n=t+4|0;c[j>>2]=a;c[k>>2]=d;c[u>>2]=f;c[l>>2]=g;c[m>>2]=h;c[p>>2]=c[u>>2];c[q>>2]=0;c[(c[p>>2]|0)+12>>2]=c[k>>2];c[(c[p>>2]|0)+4>>2]=c[j>>2];c[(c[p>>2]|0)+32>>2]=c[l>>2];b[(c[p>>2]|0)+18>>1]=c[m>>2]&255;if(If((c[m>>2]&64|0)!=0?c[l>>2]|0:0,44465,1)|0){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(hR(c[(c[j>>2]|0)+16>>2]|0,44081)|0)){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[m>>2]&128)c[o>>2]=6796;else c[o>>2]=Yb[c[c[(c[j>>2]|0)+20>>2]>>2]&255](c[l>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)!=6876){if((c[o>>2]|0)==6360){c[n>>2]=(kR(c[l>>2]|0)|0)+6;u=c[n>>2]|0;c[s>>2]=Jd(u,((u|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))c[q>>2]=7;else{g=c[n>>2]|0;u=c[s>>2]|0;c[r>>2]=c[l>>2];Qd(g,u,44470,r)|0}c[(c[p>>2]|0)+24>>2]=c[s>>2]}}else{ZN();c[q>>2]=FO(c[p>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[q>>2]|0){bO(c[p>>2]|0,c[k>>2]|0,34692);c[k>>2]=-1}$N()}pO(c[p>>2]|0,0);if(!(c[q>>2]|0)){c[c[p>>2]>>2]=c[o>>2];GO(c[p>>2]|0);u=c[q>>2]|0;i=t;return u|0}if((c[k>>2]|0)<0){u=c[q>>2]|0;i=t;return u|0}bO(c[p>>2]|0,c[k>>2]|0,34777);u=c[q>>2]|0;i=t;return u|0}function FO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+112|0;f=k+104|0;d=k+100|0;g=k+96|0;l=k+92|0;m=k+88|0;h=k+80|0;e=k+4|0;j=k;c[d>>2]=a;c[g>>2]=b;c[j>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[l>>2]=Yb[c[6500>>2]&255](c[m>>2]|0,e)|0;if(c[l>>2]|0){m=c[d>>2]|0;pO(m,c[(BQ()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;i=k;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;i=k;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[j>>2]=c[1738];while(1){if(c[j>>2]|0)a=(eR(h,c[j>>2]|0,8)|0)!=0;else a=0;d=c[j>>2]|0;if(!a)break;c[j>>2]=c[d+32>>2]}if(!d){c[j>>2]=Jd(40,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}d=c[j>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));m=c[j>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+32>>2]=c[1738];c[(c[j>>2]|0)+36>>2]=0;if(c[1738]|0)c[(c[1738]|0)+36>>2]=c[j>>2];c[1738]=c[j>>2]}else{m=(c[j>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}function GO(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+112|0;k=l+24|0;j=l+16|0;f=l+8|0;d=l;g=l+108|0;h=l+32|0;b=l+28|0;c[g>>2]=a;if((e[(c[g>>2]|0)+18>>1]|0)&128){i=l;return}c[b>>2]=Yb[c[6500>>2]&255](c[(c[g>>2]|0)+12>>2]|0,h)|0;if(c[b>>2]|0){c[d>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,44478,d);i=l;return}if(!(c[h+16>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,44502,f);i=l;return}a=c[g>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[j>>2]=c[a+32>>2];Rd(28,44531,j);i=l;return}if(!(lO(a)|0)){i=l;return}c[k>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,44558,k);i=l;return}function HO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=c[b>>2];GO(c[d>>2]|0);JO(c[b>>2]|0,0)|0;ZN();if((c[(c[d>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)QO(c[d>>2]|0);RO(c[d>>2]|0);c[e>>2]=uO(c[b>>2]|0)|0;$N();i=f;return c[e>>2]|0}function IO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;k=p+44|0;q=p+40|0;l=p+36|0;o=p+32|0;m=p+28|0;n=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=c[q>>2];c[j>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)>=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=p;return q|0}ZN();c[n>>2]=c[(c[m>>2]|0)+8>>2];if((d[(c[m>>2]|0)+16>>0]|0|0)!=(d[(c[n>>2]|0)+12>>0]|0|0)?((c[l>>2]|0)>1?1:(d[(c[n>>2]|0)+12>>0]|0|0)>=3):0)c[o>>2]=5;else g=6;a:do if((g|0)==6){do if((c[l>>2]|0)==1){if((d[(c[n>>2]|0)+12>>0]|0|0)!=1?(d[(c[n>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[h+8>>2]=1;b[h+2>>1]=0;if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(d[(c[m>>2]|0)+16>>0]|0|0)<3:0)g=13}else g=13;if((g|0)==13?(b[h>>1]=(c[l>>2]|0)==1?0:1,c[h+4>>2]=c[384],(OO(c[m>>2]|0,h)|0)!=0):0){c[j>>2]=c[(BQ()|0)>>2];c[o>>2]=qO(c[j>>2]|0,3850)|0;if((c[o>>2]|0)==5)break;pO(c[m>>2]|0,c[j>>2]|0);break}do if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(c[(c[n>>2]|0)+8>>2]|0)>1:0){c[o>>2]=5;break}b[h>>1]=1;f=c[384]|0;if((c[l>>2]|0)==2){c[h+4>>2]=f+1;c[h+8>>2]=1}else{c[h+4>>2]=f+2;c[h+8>>2]=510}if((OO(c[m>>2]|0,h)|0)!=0?(c[j>>2]=c[(BQ()|0)>>2],c[o>>2]=qO(c[j>>2]|0,3850)|0,(c[o>>2]|0)!=5):0)pO(c[m>>2]|0,c[j>>2]|0)}else{c[h+4>>2]=(c[384]|0)+2;c[h+8>>2]=510;if(OO(c[m>>2]|0,h)|0){c[j>>2]=c[(BQ()|0)>>2];c[o>>2]=qO(c[j>>2]|0,3850)|0}c[h+4>>2]=c[384];c[h+8>>2]=1;b[h>>1]=2;q=(OO(c[m>>2]|0,h)|0)!=0;if(q&(c[o>>2]|0)==0){c[j>>2]=c[(BQ()|0)>>2];c[o>>2]=2058}if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[n>>2]|0)+8>>2]=1;break}if((c[o>>2]|0)==5)break a;pO(c[m>>2]|0,c[j>>2]|0);break a}while(0);f=c[l>>2]|0;if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=f;a[(c[n>>2]|0)+12>>0]=c[l>>2];break}if((f|0)==4){a[(c[m>>2]|0)+16>>0]=3;a[(c[n>>2]|0)+12>>0]=3}}while(0);$N();c[k>>2]=c[o>>2];q=c[k>>2]|0;i=p;return q|0}function JO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=NO(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function KO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;m=n;o=n+40|0;g=n+36|0;k=n+32|0;l=n+28|0;j=n+24|0;h=n+8|0;c[o>>2]=e;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[o>>2];ZN();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[l>>2]=1;do if((c[l>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[h+2>>1]=0;c[h+4>>2]=(c[384]|0)+1;c[h+8>>2]=1;b[h>>1]=1;f=c[1631]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=h;if(Ob[f&255](o,12,m)|0){c[k>>2]=3594;o=c[j>>2]|0;pO(o,c[(BQ()|0)>>2]|0);break}if((b[h>>1]|0)!=2)c[l>>2]=1}while(0);$N();c[c[g>>2]>>2]=c[l>>2];i=n;return c[k>>2]|0}function LO(a,f,g,h,j){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+160|0;z=E+152|0;F=E+148|0;A=E+144|0;k=E+140|0;l=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;r=E+108|0;m=E+104|0;p=E+100|0;w=E+24|0;o=E+20|0;x=E+16|0;y=E+12|0;q=E+8|0;n=E+4|0;v=E;c[F>>2]=a;c[A>>2]=f;c[k>>2]=g;c[l>>2]=h;c[B>>2]=j;c[u>>2]=c[F>>2];c[D>>2]=0;c[s>>2]=aO()|0;if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[D>>2]=MO(c[u>>2]|0)|0,(c[D>>2]|0)!=0):0){c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}c[t>>2]=c[(c[u>>2]|0)+36>>2];c[C>>2]=c[c[t>>2]>>2];c[r>>2]=_(((c[A>>2]|0)+(c[s>>2]|0)|0)/(c[s>>2]|0)|0,c[s>>2]|0)|0;a:do if((e[(c[C>>2]|0)+20>>1]|0|0)<(c[r>>2]|0)){c[p>>2]=_(c[r>>2]|0,c[k>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=c[k>>2];b:do if((c[(c[C>>2]|0)+12>>2]|0)>=0){if(Yb[c[6500>>2]&255](c[(c[C>>2]|0)+12>>2]|0,w)|0){c[D>>2]=4874;break a}if((c[w+36>>2]|0)<(c[p>>2]|0)){if(!(c[l>>2]|0))break a;c[o>>2]=(c[w+36>>2]|0)/4096|0;while(1){if((c[o>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[x>>2]=0;F=(c[o>>2]<<12)+4096-1|0;if((oO(c[(c[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,18402,1,x)|0)!=1)break;c[o>>2]=(c[o>>2]|0)+1}c[y>>2]=c[(c[C>>2]|0)+8>>2];c[D>>2]=cO(4874,44186,c[y>>2]|0,33839)|0;break a}}while(0);c[m>>2]=Ld(c[(c[C>>2]|0)+24>>2]|0,c[r>>2]<<2)|0;if(!(c[m>>2]|0)){c[D>>2]=3082;break}c[(c[C>>2]|0)+24>>2]=c[m>>2];while(1){if((e[(c[C>>2]|0)+20>>1]|0|0)>=(c[r>>2]|0))break a;c[q>>2]=_(c[k>>2]|0,c[s>>2]|0)|0;if((c[(c[C>>2]|0)+12>>2]|0)>=0){w=c[1676]|0;g=c[q>>2]|0;x=(d[(c[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=c[(c[C>>2]|0)+12>>2]|0;F=c[k>>2]|0;F=aS(F|0,((F|0)<0)<<31>>31|0,e[(c[C>>2]|0)+20>>1]|0|0,0)|0;c[v>>2]=Sb[w&255](0,g,x,1,y,F)|0;if((c[v>>2]|0)==(-1|0)){k=21;break}}else{F=c[k>>2]|0;c[v>>2]=Jd(F,((F|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){k=23;break}VR(c[v>>2]|0,0,c[k>>2]|0)|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;F=_(c[k>>2]|0,c[n>>2]|0)|0;c[(c[(c[C>>2]|0)+24>>2]|0)+((e[(c[C>>2]|0)+20>>1]|0)+(c[n>>2]|0)<<2)>>2]=(c[v>>2]|0)+F;c[n>>2]=(c[n>>2]|0)+1}F=(c[C>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[s>>2]|0)}if((k|0)==21){c[D>>2]=cO(5386,44273,c[(c[C>>2]|0)+8>>2]|0,33866)|0;break}else if((k|0)==23){c[D>>2]=7;break}}while(0);if((e[(c[C>>2]|0)+20>>1]|0|0)>(c[A>>2]|0))c[c[B>>2]>>2]=c[(c[(c[C>>2]|0)+24>>2]|0)+(c[A>>2]<<2)>>2];else c[c[B>>2]>>2]=0;if((c[D>>2]|0)==0?(d[(c[C>>2]|0)+22>>0]|0|0)!=0:0)c[D>>2]=8;c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}function MO(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+128|0;o=r;e=r+116|0;f=r+112|0;j=r+108|0;l=r+104|0;m=r+100|0;k=r+96|0;q=r+92|0;g=r+88|0;n=r+12|0;p=r+8|0;h=r+4|0;c[f>>2]=b;c[j>>2]=0;c[j>>2]=Jd(16,0)|0;if(!(c[j>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;i=r;return q|0}b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;ZN();c[k>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=c[(c[k>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){c[p>>2]=c[(c[f>>2]|0)+32>>2];do if(!(Yb[c[6500>>2]&255](c[(c[f>>2]|0)+12>>2]|0,n)|0)){c[g>>2]=6+(kR(c[p>>2]|0)|0);c[l>>2]=Jd(36+(c[g>>2]|0)|0,0)|0;if(!(c[l>>2]|0)){c[m>>2]=7;break}VR(c[l>>2]|0,0,36+(c[g>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[q>>2]=b;g=c[g>>2]|0;b=c[q>>2]|0;c[o>>2]=c[p>>2];Qd(g,b,44586,o)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[f>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[f>>2]|0)+8>>2];if((c[3]|0)!=0?(c[(c[l>>2]|0)+4>>2]=8,(c[(c[l>>2]|0)+4>>2]|0)==0):0){c[m>>2]=7;break}if(d[(c[k>>2]|0)+13>>0]|0)break a;c[h>>2]=66;if(If(c[(c[f>>2]|0)+32>>2]|0,44593,0)|0){c[h>>2]=0;a[(c[l>>2]|0)+22>>0]=1}p=gO(c[q>>2]|0,c[h>>2]|0,c[n+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=p;if((c[(c[l>>2]|0)+12>>2]|0)<0){p=ot(33691)|0;c[m>>2]=cO(p,44128,c[q>>2]|0,33691)|0;break}DO(c[(c[l>>2]|0)+12>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;c[m>>2]=0;if((hO(c[f>>2]|0,1,128,1)|0)==0?(sO(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[m>>2]=cO(4618,44151,c[q>>2]|0,33707)|0;if(!(c[m>>2]|0))c[m>>2]=hO(c[f>>2]|0,0,128,1)|0;if(!(c[m>>2]|0))break a}else c[m>>2]=1802;while(0);_N(c[f>>2]|0);Kd(c[j>>2]|0);$N();c[e>>2]=c[m>>2];q=c[e>>2]|0;i=r;return q|0}while(0);c[c[j>>2]>>2]=c[l>>2];q=(c[l>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[j>>2];$N();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[e>>2]=0;q=c[e>>2]|0;i=r;return q|0}function NO(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;h=p+44|0;q=p+40|0;j=p+36|0;l=p+28|0;m=p+24|0;k=p+8|0;n=p;c[q>>2]=e;c[j>>2]=f;c[p+32>>2]=g;c[l>>2]=c[q>>2];c[n>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)<=(c[j>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}ZN();c[m>>2]=c[(c[l>>2]|0)+8>>2];do if((d[(c[l>>2]|0)+16>>0]|0|0)>1){if((c[j>>2]|0)==1?(b[k>>1]=0,b[k+2>>1]=0,c[k+4>>2]=(c[384]|0)+2,c[k+8>>2]=510,(OO(c[l>>2]|0,k)|0)!=0):0){c[n>>2]=2314;q=c[l>>2]|0;pO(q,c[(BQ()|0)>>2]|0);break}b[k>>1]=2;b[k+2>>1]=0;c[k+4>>2]=c[384];c[k+8>>2]=2;if(!(OO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=1;o=10;break}else{c[n>>2]=2058;q=c[l>>2]|0;pO(q,c[(BQ()|0)>>2]|0);break}}else o=10;while(0);if((o|0)==10?(c[j>>2]|0)==0:0){q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;do if(!(c[(c[m>>2]|0)+8>>2]|0)){b[k>>1]=2;b[k+2>>1]=0;c[k+8>>2]=0;c[k+4>>2]=0;if(!(OO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=0;break}else{c[n>>2]=2058;q=c[l>>2]|0;pO(q,c[(BQ()|0)>>2]|0);a[(c[m>>2]|0)+12>>0]=0;a[(c[l>>2]|0)+16>>0]=0;break}}while(0);q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[m>>2]|0)+24>>2]|0))PO(c[l>>2]|0)}$N();if(!(c[n>>2]|0))a[(c[l>>2]|0)+16>>0]=c[j>>2];c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}function OO(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;p=q+8|0;o=q;h=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;m=q+32|0;l=q+16|0;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];do if(((e[(c[j>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0){c[n>>2]=0;break}b[l+2>>1]=0;c[l+4>>2]=(c[384]|0)+2;c[l+8>>2]=510;b[l>>1]=1;g=c[1631]|0;p=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=l;c[n>>2]=Ob[g&255](p,13,o)|0;if((c[n>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}else{g=c[1631]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[p>>2]=c[k>>2];c[n>>2]=Ob[g&255](o,13,p)|0}while(0);c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}function PO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[(c[e>>2]|0)+28>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+8>>2];bO(c[b>>2]|0,c[c[d>>2]>>2]|0,30592);Kd(c[d>>2]|0);c[d>>2]=c[f>>2]}c[(c[e>>2]|0)+28>>2]=0;i=g;return}function QO(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function RO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){i=e;return}PO(c[b>>2]|0);b=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=b;else c[1738]=b;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Kd(c[d>>2]|0);i=e;return}function SO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+96|0;m=l+92|0;f=l+88|0;g=l+84|0;h=l+80|0;k=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;if(!(Yb[c[6488>>2]&255](c[m>>2]|0,k)|0)){c[c[f>>2]>>2]=c[k+12>>2]&511;c[c[g>>2]>>2]=c[k+20>>2];c[c[h>>2]>>2]=c[k+24>>2];m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=1802;m=c[j>>2]|0;i=l;return m|0}return 0}function TO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 6876}function UO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=de(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=C;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}return 0}function VO(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];i=e;return +f}else{g=(c[d>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[b>>3]=+be(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[b>>3];i=e;return +f}return 0.0}function WO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;b=a[e>>0]|0;i=l;return b|0}else{b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[k>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[k>>2];b=a[e>>0]|0;i=l;return b|0}return 0}function XO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=$d(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function YO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;b=c[g>>2]|0;b=RR(c[(c[f>>2]|0)+12>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|((e|0)==0?b>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(b=vA(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=j;return}while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;e=a[h>>0]|0;d=(c[f>>2]|0)+12|0;b=c[d>>2]|0;c[d>>2]=b+1;a[(c[(c[f>>2]|0)+8>>2]|0)+b>>0]=e}i=j;return}function ZO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=296;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){i=d;return}Fd(c[b>>2]|0)|0;i=d;return}function _O(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Tb[c[64>>2]&255](c[j>>2]|0)|0;Ri(5,c[j>>2]|0);b=296;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=_f(0)|0;a=f;c[a>>2]=b;c[a+4>>2]=C;a=f;b=c[a>>2]|0;a=c[a+4>>2]|0;f=296;j=c[e>>2]|0;j=QR(c[f>>2]|0,c[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;f=C;if((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>=j>>>0){c[79]=1;ZO(c[e>>2]|0);break}else{c[79]=0;break}}while(0);c[g>>2]=Tb[c[48>>2]&255](c[e>>2]|0)|0;if(!(c[g>>2]|0)){b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}c[e>>2]=ag(c[g>>2]|0)|0;Si(0,c[e>>2]|0);Si(9,1);b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}function $O(){bP(8780,3);return}function aP(){bP(8556,8);return}function bP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;h=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;g=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[l>>2]=c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+20>>2];c[j>>2]=Jf(c[l>>2]|0)|0;c[g>>2]=((d[17613+(d[c[l>>2]>>0]|0)>>0]|0)+(c[j>>2]|0)|0)%23|0;c[k>>2]=hu(c[g>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}else{c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=0;c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+24>>2]=c[1092+(c[g>>2]<<2)>>2];c[1092+(c[g>>2]<<2)>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}c[h>>2]=(c[h>>2]|0)+1}i=m;return}function cP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;a=$d(c[c[h>>2]>>2]|0)|0;c[f>>2]=a;if(!a){i=g;return}h=c[e>>2]|0;je(h,yd(c[f>>2]|0)|0);i=g;return}function dP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=ce(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;me(a,Ad(c[f>>2]|0)|0,-1,0);i=e;return}function eP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;me(a,jf()|0,-1,0);i=e;return}function fP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+52|0;h=v+48|0;j=v+44|0;u=v+40|0;t=v+36|0;r=v+32|0;m=v+28|0;n=v+24|0;k=v+20|0;l=v+16|0;q=v+12|0;s=v+8|0;o=v+4|0;p=v;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;c[l>>2]=0;if((ee(c[c[j>>2]>>2]|0)|0)==5){i=v;return}c[u>>2]=$d(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=v;return}c[r>>2]=ae(c[c[j>>2]>>2]|0)|0;a:do if((c[h>>2]|0)!=1){b=$d(c[(c[j>>2]|0)+4>>2]|0)|0;c[t>>2]=b;if(!b){i=v;return}c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break;b=c[s>>2]|0;c[s>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break b;c[s>>2]=(c[s>>2]|0)+1}while(0);c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)>0){f=c[g>>2]|0;b=c[q>>2]|0;b=aS(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[l>>2]=OP(f,b,C)|0;if(!(c[l>>2]|0)){i=v;return}c[k>>2]=(c[l>>2]|0)+(c[q>>2]<<2);c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break a;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=c[s>>2];b=c[s>>2]|0;c[s>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break c;c[s>>2]=(c[s>>2]|0)+1}while(0);a[(c[k>>2]|0)+(c[q>>2]|0)>>0]=(c[s>>2]|0)-(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}}else{c[q>>2]=1;c[k>>2]=45220;c[l>>2]=8552;c[t>>2]=0}while(0);if((c[q>>2]|0)>0){c[m>>2]=ue(c[g>>2]|0)|0;d:do if((c[m>>2]&1|0)!=0&(c[r>>2]|0)>0)do{c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[o>>2]|0)<=(c[r>>2]|0)?(eR(c[u>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[o>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break d;c[u>>2]=(c[u>>2]|0)+(c[o>>2]|0);c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0)}while((c[r>>2]|0)>0);while(0);e:do if((c[m>>2]&2|0)!=0&(c[r>>2]|0)>0)do{c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[p>>2]|0)<=(c[r>>2]|0)?(eR((c[u>>2]|0)+((c[r>>2]|0)-(c[p>>2]|0))|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[p>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break e;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}while((c[r>>2]|0)>0);while(0);if(c[t>>2]|0)Kd(c[l>>2]|0)}me(c[g>>2]|0,c[u>>2]|0,c[r>>2]|0,-1);i=v;return}function gP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(ue(c[e>>2]|0)|0)==0;c[k>>2]=a?0:-1;c[l>>2]=PP(c[e>>2]|0)|0;c[j>>2]=0;if((ee(c[c[g>>2]>>2]|0)|0)==5){i=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((ee(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}a=MI(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[l>>2]|0)|0;if((a^c[k>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){i=n;return}oe(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);i=n;return}function hP(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;f=n+20|0;k=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=we(c[g>>2]|0,40)|0;if(!(c[l>>2]|0)){i=n;return}a=(ee(c[c[f>>2]>>2]|0)|0)==5;f=(b[(c[l>>2]|0)+8>>1]|0)!=0;if(a){if(!f){i=n;return}QP(c[g>>2]|0);i=n;return}d=c[g>>2]|0;if(!f){m=ve(d)|0;c[(c[l>>2]|0)+32>>2]=m;jh(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}c[m>>2]=PP(d)|0;c[j>>2]=(ue(c[g>>2]|0)|0)!=0&1;c[h>>2]=MI(c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[h>>2]|0)<0)?!((c[j>>2]|0)==0&(c[h>>2]|0)>0):0){QP(c[g>>2]|0);i=n;return}jh(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}function iP(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=we(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(b[(c[e>>2]|0)+8>>1]|0)oe(c[d>>2]|0,c[e>>2]|0);Xg(c[e>>2]|0);i=f;return}function jP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(ee(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=39710;break}case 3:{c[f>>2]=45210;break}case 2:{c[f>>2]=39705;break}case 4:{c[f>>2]=45215;break}default:c[f>>2]=39718}me(c[e>>2]|0,c[f>>2]|0,-1,0);i=g;return}function kP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[l+12>>2]=e;c[h>>2]=f;switch(ee(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{je(c[g>>2]|0,ae(c[c[h>>2]>>2]|0)|0);i=l;return}case 3:{c[k>>2]=$d(c[c[h>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=l;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}je(c[g>>2]|0,c[j>>2]|0);i=l;return}default:{le(c[g>>2]|0);i=l;return}}}function lP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+40|0;g=q+32|0;o=q+28|0;p=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;j=q;c[f>>2]=a;c[q+36>>2]=b;c[g>>2]=e;c[h>>2]=1;c[m>>2]=ee(c[c[g>>2]>>2]|0)|0;c[n>>2]=ee(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==5|(c[n>>2]|0)==5){i=q;return}c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;b=c[c[g>>2]>>2]|0;if((c[m>>2]|0)==4&(c[n>>2]|0)==4){c[o>>2]=_d(b)|0;c[p>>2]=_d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=0}else{c[o>>2]=$d(b)|0;c[p>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=1}a:while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;if(!(eR(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[j>>2]|0))continue a;if(((d[c[o>>2]>>0]|0)&192|0)!=128)continue a}}if((c[l>>2]|0)>(c[k>>2]|0))c[h>>2]=0;je(c[f>>2]|0,c[h>>2]|0);i=q;return}function mP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;m=p;f=p+64|0;g=p+60|0;h=p+56|0;n=p+44|0;l=p+16|0;o=p+12|0;k=p+8|0;j=p+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=ve(c[f>>2]|0)|0;if((c[g>>2]|0)<1){i=p;return}b=$d(c[c[h>>2]>>2]|0)|0;c[o>>2]=b;if(!b){i=p;return}c[n>>2]=(c[g>>2]|0)-1;c[n+4>>2]=0;c[n+8>>2]=(c[h>>2]|0)+4;dg(l,c[j>>2]|0,0,0,c[(c[j>>2]|0)+96>>2]|0);a[l+25>>0]=2;o=c[o>>2]|0;c[m>>2]=n;rA(l,o,m);c[k>>2]=c[l+12>>2];n=c[f>>2]|0;o=fg(l)|0;me(n,o,c[k>>2]|0,170);i=p;return}function nP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[j>>2]=e;c[g>>2]=$d(c[c[j>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}if(!(d[c[g>>2]>>0]|0)){i=h;return}j=c[f>>2]|0;je(j,JC(g)|0);i=h;return}function oP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;g=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o;j=o+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=(c[g>>2]<<2)+1|0;b=Jd(b,((b|0)<0)<<31>>31)|0;c[m>>2]=b;c[n>>2]=b;if(!(c[m>>2]|0)){se(c[f>>2]|0);i=o;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;p=de(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;b=C;e=l;c[e>>2]=p;c[e+4>>2]=b;e=l;d=c[e+4>>2]|0;e=(c[l+4>>2]|0)<0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>1114111);d=l;c[d>>2]=e?65533:p;c[d+4>>2]=e?0:b;c[j>>2]=c[l>>2]&2097151;d=c[j>>2]|0;do if((c[j>>2]|0)>>>0>=128){e=c[j>>2]|0;if(d>>>0<2048){b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=192+(e>>>6&31);b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}d=c[j>>2]|0;if(e>>>0<65536){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=224+(d>>>12&15);p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}else{b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=240+(d>>>18&7);b=128+((c[j>>2]|0)>>>12&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}}else{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=d}while(0);c[k>>2]=(c[k>>2]|0)+1}p=(c[n>>2]|0)-(c[m>>2]|0)|0;ne(c[f>>2]|0,c[m>>2]|0,p,((p|0)<0)<<31>>31,148,1);i=o;return}function pP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;e=k+24|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[k+20>>2]=b;c[f>>2]=d;switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{j=g;c[j>>2]=de(c[c[f>>2]>>2]|0)|0;c[j+4>>2]=C;do if((c[g+4>>2]|0)<0){j=g;if(!((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0)){a=g;a=QR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;break}ie(c[e>>2]|0,45165,-1);i=k;return}while(0);j=g;ke(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);if(+h[j>>3]<0.0)h[j>>3]=-+h[j>>3];he(c[e>>2]|0,+h[j>>3]);i=k;return}}}function qP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;j=m;l=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(ee(c[(c[f>>2]|0)+4>>2]|0)|0)){i=m;return}else{n=ce(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((ee(c[c[f>>2]>>2]|0)|0)==5){i=m;return}h[j>>3]=+be(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[j>>3]>=0.0&+h[j>>3]<9223372036854775808.0){o=+h[j>>3]+.5;h[j>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[j>>3]<0.0?-+h[j>>3]<9223372036854775808.0:0){o=-+h[j>>3]+.5;h[j>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[j>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[l>>2]=Od(45205,k)|0;if(c[l>>2]|0){n=c[l>>2]|0;ez(n,j,Jf(c[l>>2]|0)|0,1)|0;Kd(c[l>>2]|0);break}se(c[e>>2]|0);i=m;return}while(0);he(c[e>>2]|0,+h[j>>3]);i=m;return}function rP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=$d(c[c[n>>2]>>2]|0)|0;c[j>>2]=ae(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=RR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=OP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[(c[l>>2]|0)+(c[h>>2]|0)>>0]&~(d[18403+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&32);c[h>>2]=(c[h>>2]|0)+1}me(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function sP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=$d(c[c[n>>2]>>2]|0)|0;c[j>>2]=ae(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=RR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=OP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[17613+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}me(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function tP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;g=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;h=o+32|0;c[g>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[l>>2]=_d(c[c[p>>2]>>2]|0)|0;c[k>>2]=ae(c[c[p>>2]>>2]|0)|0;f=c[g>>2]|0;b=c[k>>2]|0;b=aS(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=RR(b|0,C|0,1,0)|0;b=OP(f,b,C)|0;c[n>>2]=b;c[m>>2]=b;if(!(c[n>>2]|0)){i=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[l>>2]>>0]|0;p=a[45189+((d[h>>0]|0)>>4&15)>>0]|0;b=c[m>>2]|0;c[m>>2]=b+1;a[b>>0]=p;b=a[45189+((d[h>>0]|0)&15)>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=b;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}a[c[m>>2]>>0]=0;me(c[g>>2]|0,c[n>>2]|0,c[k>>2]<<1,148);i=o;return}function uP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;Sd(8,f);if((c[f+4>>2]|0)<0){d=f;d=QR(0,0,c[d>>2]|0,c[d+4>>2]&2147483647|0)|0;a=f;c[a>>2]=d;c[a+4>>2]=C}ke(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);i=g;return}function vP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[j>>2]=d;a=ce(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=OP(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=h;return}Sd(c[f>>2]|0,c[g>>2]|0);fe(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,148);i=h;return}function wP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=PP(c[e>>2]|0)|0;if(!(MI(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=g;return}oe(c[e>>2]|0,c[c[f>>2]>>2]|0);i=g;return}function xP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;me(a,kf()|0,-1,0);i=e;return}function yP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=ce(c[c[g>>2]>>2]|0)|0;c[f>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;Rd(a,18391,f);i=e;return}function zP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+144|0;s=y+32|0;r=y+24|0;g=y+80|0;j=y+72|0;p=y+16|0;q=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;o=y+60|0;k=y+56|0;l=y+52|0;m=y+48|0;n=y;u=y+44|0;t=y+40|0;c[g>>2]=b;c[y+76>>2]=e;c[j>>2]=f;switch(ee(c[c[j>>2]>>2]|0)|0){case 2:{h[p>>3]=+be(c[c[j>>2]>>2]|0);h[r>>3]=+h[p>>3];Qd(50,w,28271,r)|0;ez(w,q,20,1)|0;if(+h[p>>3]!=+h[q>>3]){h[s>>3]=+h[p>>3];Qd(50,w,45182,s)|0}me(c[g>>2]|0,w,-1,-1);i=y;return}case 1:{oe(c[g>>2]|0,c[c[j>>2]>>2]|0);i=y;return}case 4:{c[x>>2]=0;c[v>>2]=_d(c[c[j>>2]>>2]|0)|0;c[o>>2]=ae(c[c[j>>2]>>2]|0)|0;u=c[g>>2]|0;w=c[o>>2]|0;c[x>>2]=OP(u,RR(aS(2,0,w|0,((w|0)<0)<<31>>31|0)|0,C|0,4,0)|0,C)|0;if(!(c[x>>2]|0)){i=y;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;a[(c[x>>2]|0)+((c[k>>2]<<1)+2)>>0]=a[45189+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]>>4&15)>>0]|0;a[(c[x>>2]|0)+((c[k>>2]<<1)+3)>>0]=a[45189+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]&15)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[(c[x>>2]|0)+((c[o>>2]<<1)+2)>>0]=39;a[(c[x>>2]|0)+((c[o>>2]<<1)+3)>>0]=0;a[c[x>>2]>>0]=88;a[(c[x>>2]|0)+1>>0]=39;me(c[g>>2]|0,c[x>>2]|0,-1,-1);Kd(c[x>>2]|0);i=y;return}case 3:{c[u>>2]=$d(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=y;return}c[l>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){w=n;w=RR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=C}c[l>>2]=(c[l>>2]|0)+1}w=c[g>>2]|0;v=c[l>>2]|0;x=n;x=RR(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=RR(x|0,C|0,3,0)|0;c[t>>2]=OP(w,x,C)|0;if(!(c[t>>2]|0)){i=y;return}a[c[t>>2]>>0]=39;c[l>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;w=a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=w;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39}c[l>>2]=(c[l>>2]|0)+1}x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39;a[(c[t>>2]|0)+(c[m>>2]|0)>>0]=0;me(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0,148);i=y;return}default:{me(c[g>>2]|0,39691,4,0);i=y;return}}}function AP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=ve(c[g>>2]|0)|0;d=c[g>>2]|0;a=pf(c[f>>2]|0)|0;ke(d,a,C);i=e;return}function BP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=ve(c[g>>2]|0)|0;a=c[g>>2]|0;je(a,qf(c[f>>2]|0)|0);i=e;return}function CP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=ve(c[g>>2]|0)|0;a=c[g>>2]|0;je(a,rf(c[f>>2]|0)|0);i=e;return}function DP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;p=w+64|0;g=w+56|0;v=w+52|0;n=w+48|0;o=w+44|0;u=w+40|0;s=w+36|0;l=w+32|0;m=w+28|0;k=w;j=w+24|0;q=w+20|0;r=w+16|0;t=w+12|0;h=w+8|0;c[p>>2]=b;c[w+60>>2]=e;c[g>>2]=f;c[v>>2]=$d(c[c[g>>2]>>2]|0)|0;if(!(c[v>>2]|0)){i=w;return}c[s>>2]=ae(c[c[g>>2]>>2]|0)|0;c[n>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){i=w;return}if(!(d[c[n>>2]>>0]|0)){oe(c[p>>2]|0,c[c[g>>2]>>2]|0);i=w;return}c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=$d(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){i=w;return}c[m>>2]=ae(c[(c[g>>2]|0)+8>>2]|0)|0;f=(c[s>>2]|0)+1|0;b=k;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=k;c[u>>2]=OP(c[p>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[u>>2]|0)){i=w;return}c[j>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){g=18;break}if((d[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?(eR((c[v>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[l>>2]|0)|0)==0:0){c[h>>2]=ve(c[p>>2]|0)|0;g=(c[m>>2]|0)-(c[l>>2]|0)|0;f=k;g=RR(c[f>>2]|0,c[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=g;c[f+4>>2]=C;f=k;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=C;b=c[(c[h>>2]|0)+96>>2]|0;e=((b|0)<0)<<31>>31;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>b>>>0){g=13;break}c[t>>2]=c[u>>2];b=c[k>>2]|0;c[u>>2]=Md(c[u>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){g=15;break}TR((c[u>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-1)}else{f=a[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0;b=c[r>>2]|0;c[r>>2]=b+1;a[(c[u>>2]|0)+b>>0]=f}c[q>>2]=(c[q>>2]|0)+1}if((g|0)==13){re(c[p>>2]|0);Kd(c[u>>2]|0);i=w;return}else if((g|0)==15){se(c[p>>2]|0);Kd(c[t>>2]|0);i=w;return}else if((g|0)==18){TR((c[u>>2]|0)+(c[r>>2]|0)|0,(c[v>>2]|0)+(c[q>>2]|0)|0,(c[s>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[s>>2]|0)-(c[q>>2]|0));a[(c[u>>2]|0)+(c[r>>2]|0)>>0]=0;me(c[p>>2]|0,c[u>>2]|0,c[r>>2]|0,148);i=w;return}}function EP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;e=g+20|0;j=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[j>>2]=d;j=de(c[c[j>>2]>>2]|0)|0;d=C;b=h;c[b>>2]=j;c[b+4>>2]=d;b=(c[h+4>>2]|0)<0;a=h;c[a>>2]=b?0:j;c[a+4>>2]=b?0:d;a=h;c[f>>2]=pe(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){i=g;return}qe(c[e>>2]|0,c[f>>2]|0);i=g;return}function FP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;m=r+44|0;g=r+40|0;h=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;l=r+20|0;n=r+8|0;o=r;k=r+16|0;c[m>>2]=b;c[g>>2]=e;c[h>>2]=f;c[k>>2]=0;if((ee(c[(c[h>>2]|0)+4>>2]|0)|0)==5){i=r;return}if((c[g>>2]|0)==3?(ee(c[(c[h>>2]|0)+8>>2]|0)|0)==5:0){i=r;return}c[l>>2]=ee(c[c[h>>2]>>2]|0)|0;b=ce(c[(c[h>>2]|0)+4>>2]|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;e=c[c[h>>2]>>2]|0;a:do if((c[l>>2]|0)==4){c[j>>2]=ae(e)|0;c[p>>2]=_d(c[c[h>>2]>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}}else{c[p>>2]=$d(e)|0;if(!(c[p>>2]|0)){i=r;return}c[j>>2]=0;if((c[n+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;b=c[q>>2]|0;c[q>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[g>>2]|0)==3){g=ce(c[(c[h>>2]|0)+8>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31;if((c[o+4>>2]|0)<0){g=o;g=QR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=C;c[k>>2]=1}}else{g=c[(ve(c[m>>2]|0)|0)+96>>2]|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31}do if((c[n+4>>2]|0)<0){g=c[j>>2]|0;h=n;g=RR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;if((c[n+4>>2]|0)<0){f=n;g=o;f=RR(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=C;b=o;c[b>>2]=f;c[b+4>>2]=g;b=(c[o+4>>2]|0)<0;h=o;c[h>>2]=b?0:f;c[h+4>>2]=b?0:g;h=n;c[h>>2]=0;c[h+4>>2]=0}}else{h=n;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=n;g=RR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;break}h=o;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=o;g=RR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=o;c[h>>2]=g;c[h+4>>2]=C}}while(0);if((c[k>>2]|0)!=0?(h=o,k=n,h=QR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,k=n,c[k>>2]=h,c[k+4>>2]=C,(c[n+4>>2]|0)<0):0){h=n;k=o;h=RR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=o;c[k>>2]=h;c[k+4>>2]=C;k=n;c[k>>2]=0;c[k+4>>2]=0}if((c[l>>2]|0)==4){h=n;l=o;l=RR(c[h>>2]|0,c[h+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;h=C;q=c[j>>2]|0;k=((q|0)<0)<<31>>31;if((h|0)>(k|0)|(h|0)==(k|0)&l>>>0>q>>>0){l=c[j>>2]|0;j=n;j=QR(l|0,((l|0)<0)<<31>>31|0,c[j>>2]|0,c[j+4>>2]|0)|0;l=C;k=o;c[k>>2]=j;c[k+4>>2]=l;k=(c[o+4>>2]|0)<0;q=o;c[q>>2]=k?0:j;c[q+4>>2]=k?0:l}q=o;ge(c[m>>2]|0,(c[p>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);i=r;return}while(1){l=n;e=c[p>>2]|0;if(!((d[c[p>>2]>>0]|0)!=0?(c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0:0))break;c[p>>2]=e+1;c:do if((d[e>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);k=n;k=RR(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;l=n;c[l>>2]=k;c[l+4>>2]=C}c[q>>2]=e;while(1){n=o;if(!((d[c[q>>2]>>0]|0)!=0?(c[n>>2]|0)!=0|(c[n+4>>2]|0)!=0:0))break;n=c[q>>2]|0;c[q>>2]=n+1;d:do if((d[n>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);l=o;l=RR(c[l>>2]|0,c[l+4>>2]|0,-1,-1)|0;n=o;c[n>>2]=l;c[n+4>>2]=C}q=(c[q>>2]|0)-(c[p>>2]|0)|0;ne(c[m>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);i=r;return}function GP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;n=m+24|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[j>>2]=we(c[n>>2]|0,32)|0;c[k>>2]=Te(c[c[g>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[k>>2]|0)!=5)){i=m;return}n=(c[j>>2]|0)+16|0;b=n;b=RR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[n>>2]=b;c[n+4>>2]=C;g=c[c[g>>2]>>2]|0;if((c[k>>2]|0)!=1){o=+be(g);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=m;return}n=de(g)|0;k=l;c[k>>2]=n;c[k+4>>2]=C;k=l;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=m;return}n=l;if(!(II((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=m;return}a[(c[j>>2]|0)+24>>0]=1;i=m;return}function HP(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=we(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=f;return}if(a[(c[e>>2]|0)+24>>0]|0){ie(c[d>>2]|0,45165,-1);i=f;return}d=c[d>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){he(d,+h[b>>3]);i=f;return}else{g=b+8|0;ke(d,c[g>>2]|0,c[g+4>>2]|0);i=f;return}}function IP(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=we(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;he(a,f);i=d;return}f=+h[c[b>>2]>>3];he(a,f);i=d;return}function JP(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=e;return}f=(c[d>>2]|0)+16|0;he(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=e;return}function KP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=we(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=g;return}}else{j=5!=(ee(c[c[e>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=g;return}}j=c[f>>2]|0;h=j;h=RR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=C;i=g;return}function LP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=we(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;ke(a,b,e);i=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;ke(a,b,e);i=d;return}function MP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+36|0;f=p+32|0;g=p+28|0;o=p+24|0;m=p+20|0;n=p+16|0;l=p+12|0;k=p+8|0;h=p+4|0;j=p;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((ee(c[c[g>>2]>>2]|0)|0)==5){i=p;return}c[m>>2]=we(c[e>>2]|0,28)|0;if(!(c[m>>2]|0)){i=p;return}c[h>>2]=ve(c[e>>2]|0)|0;c[j>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[h>>2]|0)+96>>2];if(!(c[j>>2]|0)){if((c[f>>2]|0)==2){c[n>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[k>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0}else{c[n>>2]=34710;c[k>>2]=1}if(c[k>>2]|0)sA(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)}c[o>>2]=$d(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[o>>2]|0)){i=p;return}sA(c[m>>2]|0,c[o>>2]|0,c[l>>2]|0);i=p;return}function NP(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=we(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){re(c[b>>2]|0);i=f;return}b=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){se(b);i=f;return}else{me(b,fg(c[e>>2]|0)|0,-1,148);i=f;return}}function OP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h;g=h+12|0;k=h+8|0;c[e>>2]=a;j=f;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=ve(c[e>>2]|0)|0;d=f;j=c[d+4>>2]|0;a=c[(c[k>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if((j|0)>(b|0)|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){re(c[e>>2]|0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}k=f;c[g>>2]=$f(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}se(c[e>>2]|0);k=c[g>>2]|0;i=h;return k|0}function PP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function QP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function RP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+64|0;e=g+56|0;j=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;if(ZP(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=g;return}_P(f);j=f;he(c[e>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=g;return}function SP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+176|0;f=j+48|0;e=j+68|0;l=j+64|0;k=j+60|0;g=j;h=j+72|0;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;if(ZP(c[e>>2]|0,c[l>>2]|0,c[k>>2]|0,g)|0){i=j;return}aQ(g);k=c[g+12>>2]|0;l=c[g+16>>2]|0;c[f>>2]=c[g+8>>2];c[f+4>>2]=k;c[f+8>>2]=l;Qd(100,h,45506,f)|0;me(c[e>>2]|0,h,-1,-1);i=j;return}function TP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+176|0;f=k+48|0;e=k+68|0;m=k+64|0;l=k+60|0;g=k;j=k+72|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(ZP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}bQ(g);l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+20>>2];c[f+4>>2]=l;c[f+8>>2]=m;Qd(100,j,45491,f)|0;me(c[e>>2]|0,j,-1,-1);i=k;return}function UP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+192|0;f=k+48|0;e=k+80|0;m=k+76|0;l=k+72|0;g=k;j=k+84|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(ZP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}$P(g);b=c[g+12>>2]|0;d=c[g+16>>2]|0;a=c[g+20>>2]|0;l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+8>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=a;c[f+16>>2]=l;c[f+20>>2]=m;Qd(100,j,45461,f)|0;me(c[e>>2]|0,j,-1,-1);i=k;return}function VP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+336|0;z=J+192|0;y=J+184|0;x=J+176|0;w=J+168|0;v=J+160|0;u=J+152|0;t=J+144|0;B=J+136|0;A=J+128|0;s=J+120|0;r=J+112|0;m=J+232|0;f=J+228|0;g=J+224|0;E=J+64|0;k=J+56|0;n=J+220|0;o=J+216|0;G=J+212|0;j=J+208|0;I=J+204|0;H=J+236|0;q=J+48|0;p=J+200|0;F=J;D=J+196|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;if(!(c[f>>2]|0)){i=J;return}c[I>>2]=$d(c[c[g>>2]>>2]|0)|0;if(!(c[I>>2]|0)){i=J;return}if(ZP(c[m>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+4|0,E)|0){i=J;return}c[j>>2]=ve(c[m>>2]|0)|0;c[n>>2]=0;b=k;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[I>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[b+4>>2]=C;break}case 37:case 119:break;case 102:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 106:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,3,0)|0;c[b+4>>2]=C;break}case 89:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 74:case 115:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,50,0)|0;c[b+4>>2]=C;break}default:{l=44;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;e=k;e=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C}if((l|0)==44){i=J;return}l=k;b=c[l+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(c[l>>2]|0)>>>0<100)){b=k;d=c[b+4>>2]|0;l=c[(c[j>>2]|0)+96>>2]|0;e=((l|0)<0)<<31>>31;if(d>>>0>e>>>0|((d|0)==(e|0)?(c[b>>2]|0)>>>0>l>>>0:0)){re(c[m>>2]|0);i=J;return}l=c[k>>2]|0;c[G>>2]=Vw(c[j>>2]|0,l,((l|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){se(c[m>>2]|0);i=J;return}}else c[G>>2]=H;_P(E);$P(E);c[o>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;f=c[n>>2]|0;b:do if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){k=a[(c[I>>2]|0)+f>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=k}else{c[n>>2]=f+1;do switch(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0){case 100:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[r>>2]=c[E+16>>2];Qd(3,l,45303,r)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 102:{h[q>>3]=+h[E+32>>3];if(+h[q>>3]>59.999)h[q>>3]=59.999;l=(c[G>>2]|0)+(c[o>>2]|0)|0;h[s>>3]=+h[q>>3];Qd(7,l,45308,s)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 72:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[A>>2]=c[E+20>>2];Qd(3,l,45303,A)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 106:case 87:{f=F;g=E;d=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));a[F+42>>0]=0;c[F+12>>2]=1;c[F+16>>2]=1;_P(F);k=E;l=F;c[p>>2]=_R(RR(QR(c[k>>2]|0,c[k+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C|0,432e5,0)|0,C|0,864e5,0)|0;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==87){l=E;l=RR(c[l>>2]|0,c[l+4>>2]|0,432e5,0)|0;l=_R(l|0,C|0,864e5,0)|0;l=$R(l|0,C|0,7,0)|0;c[D>>2]=l;l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[B>>2]=((c[p>>2]|0)+7-(c[D>>2]|0)|0)/7|0;Qd(3,l,45303,B)|0;c[o>>2]=(c[o>>2]|0)+2;break b}else{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=(c[p>>2]|0)+1;Qd(4,l,45315,t)|0;c[o>>2]=(c[o>>2]|0)+3;break b}}case 74:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;k=E;h[u>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/864.0e5;Qd(20,l,41946,u)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 109:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[E+12>>2];Qd(3,l,45303,v)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 77:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[w>>2]=c[E+24>>2];Qd(3,l,45303,w)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 115:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;j=E;k=x;c[k>>2]=QR(_R(c[j>>2]|0,c[j+4>>2]|0,1e3,0)|0,C|0,413362496,49)|0;c[k+4>>2]=C;Qd(30,l,28266,x)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 83:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[y>>2]=~~+h[E+32>>3];Qd(3,l,45303,y)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 119:{k=E;k=$R(_R(RR(c[k>>2]|0,c[k+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=((k&255)<<24>>24)+48;break b}case 89:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[z>>2]=c[E+8>>2];Qd(5,l,45320,z)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}default:{l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[G>>2]|0)+(c[o>>2]|0)>>0]=0;me(c[m>>2]|0,c[G>>2]|0,-1,(c[G>>2]|0)==(H|0)?-1:170);i=J;return}function WP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;TP(c[f>>2]|0,0,0);i=e;return}function XP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;UP(c[f>>2]|0,0,0);i=e;return}function YP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;SP(c[f>>2]|0,0,0);i=e;return}function ZP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=i;i=i+32|0;o=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;l=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[k>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(c[h>>2]|0)){c[o>>2]=cQ(c[g>>2]|0,c[k>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}f=ee(c[c[j>>2]>>2]|0)|0;c[l>>2]=f;d=c[c[j>>2]>>2]|0;do if((f|0)==2|(c[l>>2]|0)==1){q=+be(d)*864.0e5+.5;f=+N(q)>=1.0?(q>0.0?~~+$(+M(q/4294967296.0),4294967295.0)>>>0:~~+Z((q-+(~~q>>>0))/4294967296.0)>>>0):0;l=c[k>>2]|0;c[l>>2]=~~q>>>0;c[l+4>>2]=f;a[(c[k>>2]|0)+42>>0]=1}else{c[n>>2]=$d(d)|0;if((c[n>>2]|0)!=0?(dQ(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}while(0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0)){d=14;break}c[n>>2]=$d(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(!(c[n>>2]|0)){d=12;break}if(eQ(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0){d=12;break}c[m>>2]=(c[m>>2]|0)+1}if((d|0)==12){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}else if((d|0)==14){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}return 0}function _P(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;d=n+28|0;m=n+24|0;j=n+20|0;g=n+16|0;e=n+12|0;f=n+8|0;k=n+4|0;l=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){i=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[m>>2]=c[(c[d>>2]|0)+8>>2];c[j>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[m>>2]=2e3;c[j>>2]=1;c[g>>2]=1}if((c[j>>2]|0)<=2){c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+12}c[e>>2]=(c[m>>2]|0)/100|0;c[f>>2]=2-(c[e>>2]|0)+((c[e>>2]|0)/4|0);c[k>>2]=(((c[m>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[j>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[l>>2]|0)+(c[g>>2]|0)+(c[f>>2]|0)|0)-1524.5)*864.0e5;m=+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0;b=c[d>>2]|0;c[b>>2]=~~o>>>0;c[b+4>>2]=m;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){i=n;return}m=_(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;m=m+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;m=RR(m|0,((m|0)<0)<<31>>31|0,~~o>>>0|0,(+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;b=c[d>>2]|0;l=b;m=RR(c[l>>2]|0,c[l+4>>2]|0,m|0,C|0)|0;c[b>>2]=m;c[b+4>>2]=C;if(!(a[(c[d>>2]|0)+43>>0]|0)){i=n;return}m=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;b=c[d>>2]|0;l=b;m=QR(c[l>>2]|0,c[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;c[b>>2]=m;c[b+4>>2]=C;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;i=n;return}function $P(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;aQ(c[d>>2]|0);bQ(c[d>>2]|0);i=b;return}function aQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;l=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){i=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=RR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=_R(b|0,C|0,864e5,0)|0;c[l>>2]=b;c[e>>2]=~~((+(c[l>>2]|0)-1867216.25)/36524.25);c[e>>2]=(c[l>>2]|0)+1+(c[e>>2]|0)-((c[e>>2]|0)/4|0);c[f>>2]=(c[e>>2]|0)+1524;c[g>>2]=~~((+(c[f>>2]|0)-122.1)/365.25);c[h>>2]=((c[g>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[f>>2]|0)-(c[h>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[f>>2]|0)-(c[h>>2]|0)-(c[k>>2]|0);l=c[j>>2]|0;c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)<14?l-1|0:l-13|0;l=c[g>>2]|0;c[(c[d>>2]|0)+8>>2]=(c[(c[d>>2]|0)+12>>2]|0)>2?l-4716|0:l-4715|0}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;i=m;return}function bQ(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){i=f;return}_P(c[d>>2]|0);b=c[d>>2]|0;b=RR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=$R(b|0,C|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;i=f;return}function cQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=mQ(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=C;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;i=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;i=g;return h|0}return 0}function dQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(lQ(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(hQ(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(ig(c[j>>2]|0,45445)|0)){c[f>>2]=cQ(c[g>>2]|0,c[k>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}d=c[j>>2]|0;if(ez(d,l,Jf(c[j>>2]|0)|0,1)|0){n=+h[l>>3]*864.0e5+.5;l=+N(n)>=1.0?(n>0.0?~~+$(+M(n/4294967296.0),4294967295.0)>>>0:~~+Z((n-+(~~n>>>0))/4294967296.0)>>>0):0;d=c[k>>2]|0;c[d>>2]=~~n>>>0;c[d+4>>2]=l;a[(c[k>>2]|0)+42>>0]=1;c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=m;return d|0}return 0}function eQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=i;i=i+160|0;g=z+124|0;j=z+120|0;w=z+116|0;x=z+112|0;m=z+108|0;n=z+80|0;y=z+104|0;l=z+72|0;k=z+64|0;o=z+56|0;v=z+100|0;u=z+8|0;t=z;p=z+96|0;q=z+92|0;r=z+88|0;c[g>>2]=b;c[j>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[m>>2]=0;while(1){if((c[m>>2]|0)<29)b=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)!=0;else b=0;f=c[m>>2]|0;if(!b)break;a[(c[y>>2]|0)+(c[m>>2]|0)>>0]=a[17613+(d[(c[j>>2]|0)+f>>0]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+1}a[(c[y>>2]|0)+f>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(hR(c[y>>2]|0,45325)|0){y=c[x>>2]|0;i=z;return y|0}_P(c[w>>2]|0);v=fQ(c[w>>2]|0,c[g>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=RR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;gQ(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}case 117:{if((hR(c[y>>2]|0,45335)|0)==0?(a[(c[w>>2]|0)+42>>0]|0)!=0:0){v=c[w>>2]|0;v=RR(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=_R(v|0,C|0,86400,0)|0;v=RR(v|0,C|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=C;gQ(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(hR(c[y>>2]|0,45345)|0){y=c[x>>2]|0;i=z;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}_P(c[w>>2]|0);y=l;c[y>>2]=fQ(c[w>>2]|0,c[g>>2]|0,x)|0;c[y+4>>2]=C;if(!(c[x>>2]|0)){u=l;y=c[w>>2]|0;v=y;u=QR(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=C;gQ(c[w>>2]|0);y=l;u=c[y>>2]|0;y=c[y+4>>2]|0;v=fQ(c[w>>2]|0,c[g>>2]|0,x)|0;v=QR(u|0,y|0,v|0,C|0)|0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y>>2]=v;c[y+4>>2]=C}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;i=z;return y|0}case 119:{if(lR(c[y>>2]|0,45349,8)|0){y=c[x>>2]|0;i=z;return y|0}if(!(ez((c[y>>2]|0)+8|0,n,Jf((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;i=z;return y|0}y=~~+h[n>>3];c[m>>2]=y;if(!(((c[m>>2]|0)>=0?+(y|0)==+h[n>>3]:0)&+h[n>>3]<7.0)){y=c[x>>2]|0;i=z;return y|0}$P(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;_P(c[w>>2]|0);t=c[w>>2]|0;v=k;c[v>>2]=$R(_R(RR(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;c[v+4>>2]=C;v=k;t=c[v+4>>2]|0;y=c[m>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=k;v=QR(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=k;c[y>>2]=v;c[y+4>>2]=C}y=c[m>>2]|0;v=k;v=aS(QR(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,C|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=RR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;gQ(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 115:{if(lR(c[y>>2]|0,45358,9)|0){y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;aQ(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(hR(c[y>>2]|0,45368)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(!(hR(c[y>>2]|0,45374)|0)){aQ(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(hR(c[y>>2]|0,45379)|0){y=c[x>>2]|0;i=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[m>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;if(!((d[18403+(d[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[m>>2]=(c[m>>2]|0)+1}if(!(ez(c[y>>2]|0,n,c[m>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58){c[v>>2]=c[y>>2];if(!(d[18403+(d[c[v>>2]>>0]|0)>>0]&4))c[v>>2]=(c[v>>2]|0)+1;f=u;b=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));if(hQ(c[v>>2]|0,u)|0){y=c[x>>2]|0;i=z;return y|0}_P(u);v=u;v=QR(c[v>>2]|0,c[v+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=v;c[s+4>>2]=C;s=u;s=_R(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;v=t;c[v>>2]=s;c[v+4>>2]=C;t=aS(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=QR(c[v>>2]|0,c[v+4>>2]|0,t|0,C|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=C;if((a[c[y>>2]>>0]|0)==45){v=u;v=QR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=C}_P(c[w>>2]|0);gQ(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=RR(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=C;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0);while(1){f=c[y>>2]|0;if(!(d[18403+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=f+1}c[m>>2]=Jf(f)|0;if((c[m>>2]|0)>10|(c[m>>2]|0)<3){y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]=0;c[m>>2]=(c[m>>2]|0)+-1}_P(c[w>>2]|0);c[x>>2]=0;h[o>>3]=+h[n>>3]<0.0?-.5:.5;if((c[m>>2]|0)==3?(hR(c[y>>2]|0,45379)|0)==0:0){A=+h[n>>3]*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C}else s=54;do if((s|0)==54){if((c[m>>2]|0)==4?(hR(c[y>>2]|0,45383)|0)==0:0){A=+h[n>>3]*36.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(hR(c[y>>2]|0,45388)|0)==0:0){A=+h[n>>3]*6.0e4+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(hR(c[y>>2]|0,45395)|0)==0:0){A=+h[n>>3]*1.0e3+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==5?(hR(c[y>>2]|0,45368)|0)==0:0){$P(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[n>>3];y=c[(c[w>>2]|0)+12>>2]|0;c[p>>2]=(((c[(c[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[p>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;_P(c[w>>2]|0);c[q>>2]=~~+h[n>>3];if(!(+(c[q>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[q>>2]|0))*30.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==4?(hR(c[y>>2]|0,45374)|0)==0:0){c[r>>2]=~~+h[n>>3];$P(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[r>>2]|0);a[(c[w>>2]|0)+42>>0]=0;_P(c[w>>2]|0);if(!(+(c[r>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[r>>2]|0))*365.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}c[x>>2]=1}while(0);gQ(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}default:{y=c[x>>2]|0;i=z;return y|0}}return 0}function fQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;g=q+96|0;f=q+164|0;j=q+160|0;k=q+156|0;o=q+48|0;p=q;n=q+152|0;m=q+108|0;l=q+104|0;c[f>>2]=b;c[j>>2]=d;c[k>>2]=e;d=m;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[f>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));$P(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[l>>2]=~~(+h[o+32>>3]+.5);h[o+32>>3]=+(c[l>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;h[o+32>>3]=0.0}c[o+28>>2]=0;a[o+42>>0]=0;_P(o);l=o;l=_R(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=QR(l|0,C|0,413362496,49)|0;c[n>>2]=l;if(kQ(n,m)|0){ie(c[j>>2]|0,45422,-1);c[c[k>>2]>>2]=1;o=g;c[o>>2]=0;c[o+4>>2]=0;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}else{c[p+8>>2]=(c[m+20>>2]|0)+1900;c[p+12>>2]=(c[m+16>>2]|0)+1;c[p+16>>2]=c[m+12>>2];c[p+20>>2]=c[m+8>>2];c[p+24>>2]=c[m+4>>2];h[p+32>>3]=+(c[m>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;_P(p);c[c[k>>2]>>2]=0;n=p;p=o;p=QR(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=g;c[o>>2]=p;c[o+4>>2]=C;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}return 0}function gQ(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function hQ(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;j=q+40|0;k=q+36|0;l=q+32|0;o=q+28|0;m=q+8|0;n=q;c[g>>2]=b;c[j>>2]=e;h[m>>3]=0.0;b=c[g>>2]|0;c[r>>2]=k;c[r+4>>2]=l;if((iQ(b,45402,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=o;if((iQ(r,45410,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?(d[18403+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[n>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[18403+(d[c[g>>2]>>0]|0)>>0]&4))break;h[m>>3]=+h[m>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[n>>3]=+h[n>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[m>>3]=+h[m>>3]/+h[n>>3]}}else c[o>>2]=0;a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+41>>0]=1;c[(c[j>>2]|0)+20>>2]=c[k>>2];c[(c[j>>2]|0)+24>>2]=c[l>>2];h[(c[j>>2]|0)+32>>3]=+(c[o>>2]|0)+ +h[m>>3];if(jQ(c[g>>2]|0,c[j>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}else{a[(c[j>>2]|0)+43>>0]=(c[(c[j>>2]|0)+28>>2]|0)!=0?1:0;c[f>>2]=0;r=c[f>>2]|0;i=q;return r|0}return 0}function iQ(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+24|0;m=s+8|0;r=s+4|0;p=s+36|0;l=s+35|0;o=s+34|0;q=s;n=s+32|0;c[j>>2]=f;c[k>>2]=g;c[r>>2]=0;c[m>>2]=h;a:while(1){a[l>>0]=(a[c[k>>2]>>0]|0)-48;a[o>>0]=(a[(c[k>>2]|0)+1>>0]|0)-48;c[q>>2]=0;b[n>>1]=b[16422+((a[(c[k>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[p>>0]=a[(c[k>>2]|0)+3>>0]|0;c[q>>2]=0;while(1){g=a[l>>0]|0;a[l>>0]=g+-1<<24>>24;if(!(g<<24>>24))break;if(!(d[18403+(d[c[j>>2]>>0]|0)>>0]&4)){j=11;break a}c[q>>2]=((c[q>>2]|0)*10|0)+(a[c[j>>2]>>0]|0)-48;c[j>>2]=(c[j>>2]|0)+1}if((c[q>>2]|0)<(a[o>>0]|0)){j=11;break}if((c[q>>2]|0)>(e[n>>1]|0)){j=11;break}if((a[p>>0]|0)!=0?(a[p>>0]|0)!=(a[c[j>>2]>>0]|0):0){j=11;break}f=c[q>>2]|0;h=(c[m>>2]|0)+(4-1)&~(4-1);g=c[h>>2]|0;c[m>>2]=h+4;c[g>>2]=f;c[j>>2]=(c[j>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+4;if(!(a[p>>0]|0)){j=11;break}}if((j|0)==11){i=s;return c[r>>2]|0}return 0}function jQ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;m=p+20|0;k=p+16|0;l=p+12|0;j=p+8|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=0;while(1){if(!(d[18403+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[j>>2]=a[c[g>>2]>>0];do if((c[j>>2]|0)==45){c[m>>2]=-1;o=11}else{if((c[j>>2]|0)==43){c[m>>2]=1;o=11;break}if((c[j>>2]|0)==90|(c[j>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[j>>2]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=k;c[n+4>>2]=l;if((iQ(o,45414,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=_(c[m>>2]|0,(c[l>>2]|0)+((c[k>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}while(0);while(1){if(!(d[18403+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}function kQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;a=Kb(c[h>>2]|0)|0;c[e>>2]=a;c[e>>2]=(c[69]|0)!=0?0:a;if(c[e>>2]|0){d=c[d>>2]|0;b=c[e>>2]|0;a=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(a|0))}c[f>>2]=(c[e>>2]|0)==0&1;i=g;return c[f>>2]|0}function lQ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;l=o+20|0;k=o+16|0;n=o+12|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;b=c[h>>2]|0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=k;if((iQ(b,45449,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[18403+(d[c[h>>2]>>0]|0)>>0]&1)f=1;else f=84==(d[c[h>>2]>>0]|0);e=c[h>>2]|0;if(!f)break;c[h>>2]=e+1}do if(hQ(e,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;m=c[m>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[n>>2]|0)!=0?0-m|0:m;c[(c[j>>2]|0)+12>>2]=c[l>>2];c[(c[j>>2]|0)+16>>2]=c[k>>2];if(a[(c[j>>2]|0)+43>>0]|0)_P(c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function mQ(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)+56;a=c[d>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[e>>2]=qI(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[d>>2]|0)|0,(c[e>>2]|0)!=0):0){e=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0}e=c[d>>2]|0;C=c[e+4>>2]|0;i=f;return c[e>>2]|0}function nQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+64|0;l=r;f=r+60|0;s=r+52|0;o=r+48|0;p=r+44|0;k=r+40|0;j=r+32|0;m=r+28|0;h=r+24|0;n=r+20|0;g=r+16|0;c[f>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[o>>2]=$d(c[c[s>>2]>>2]|0)|0;c[p>>2]=$d(c[(c[s>>2]|0)+4>>2]|0)|0;c[m>>2]=c[o>>2];c[h>>2]=0;c[g>>2]=ve(c[f>>2]|0)|0;if(!(c[o>>2]|0)){i=r;return}do{if(!(a[c[m>>2]>>0]|0)){q=7;break}c[j>>2]=c[m>>2];c[j+4>>2]=c[h>>2];do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=$u(c[m>>2]|0,k)|0}while((c[k>>2]|0)==162)}while((c[k>>2]|0)!=22?(c[k>>2]|0)!=125:0);if((q|0)==7){i=r;return}s=c[g>>2]|0;m=c[o>>2]|0;p=c[p>>2]|0;q=(c[j>>2]|0)+(c[j+4>>2]|0)|0;c[l>>2]=(c[j>>2]|0)-(c[o>>2]|0);c[l+4>>2]=m;c[l+8>>2]=p;c[l+12>>2]=q;c[n>>2]=Gh(s,45595,l)|0;me(c[f>>2]|0,c[n>>2]|0,-1,170);i=r;return}function oQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;m=s;f=s+68|0;t=s+60|0;p=s+56|0;q=s+52|0;l=s+48|0;k=s+40|0;h=s+32|0;n=s+28|0;j=s+24|0;o=s+20|0;g=s+16|0;c[f>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[p>>2]=$d(c[c[t>>2]>>2]|0)|0;c[q>>2]=$d(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[n>>2]=c[p>>2];c[j>>2]=0;c[g>>2]=ve(c[f>>2]|0)|0;if(!(c[p>>2]|0)){i=s;return}while(1){if(!(a[c[n>>2]>>0]|0)){r=8;break}c[k>>2]=c[n>>2];c[k+4>>2]=c[j>>2];do{c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[j>>2]=$u(c[n>>2]|0,l)|0}while((c[l>>2]|0)==162);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[l>>2]|0)==122|(c[l>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[l>>2]|0)!=137&(c[l>>2]|0)!=74&(c[l>>2]|0)!=5))break}if((r|0)==8){i=s;return}t=c[g>>2]|0;n=c[p>>2]|0;q=c[q>>2]|0;r=(c[k>>2]|0)+(c[k+4>>2]|0)|0;c[m>>2]=(c[k>>2]|0)-(c[p>>2]|0);c[m+4>>2]=n;c[m+8>>2]=q;c[m+12>>2]=r;c[o>>2]=Gh(t,45595,m)|0;me(c[f>>2]|0,c[o>>2]|0,-1,170);i=s;return}function pQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+80|0;l=u+16|0;k=u;f=u+76|0;v=u+68|0;g=u+64|0;r=u+60|0;t=u+56|0;n=u+52|0;p=u+48|0;o=u+44|0;m=u+40|0;h=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;c[f>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[g>>2]=ve(c[f>>2]|0)|0;c[r>>2]=0;c[n>>2]=$d(c[c[v>>2]>>2]|0)|0;c[p>>2]=$d(c[(c[v>>2]|0)+4>>2]|0)|0;c[o>>2]=$d(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[n>>2]|0)==0|(c[p>>2]|0)==0){i=u;return}c[m>>2]=c[n>>2];while(1){if(!(a[c[m>>2]>>0]|0))break;c[h>>2]=$u(c[m>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=$u(c[m>>2]|0,j)|0}while((c[j>>2]|0)==162);if((c[j>>2]|0)==163)break;v=c[h>>2]|0;c[s>>2]=Yw(c[g>>2]|0,c[m>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))break;Zw(c[s>>2]|0);if(!(ig(c[p>>2]|0,c[s>>2]|0)|0)){v=c[g>>2]|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;e=c[n>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:18402;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=b;c[q>>2]=Gh(v,45584,k)|0;Tf(c[g>>2]|0,c[r>>2]|0);c[r>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[h>>2]|0)}Tf(c[g>>2]|0,c[s>>2]|0)}c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0)}v=c[g>>2]|0;s=c[n>>2]|0;c[l>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:18402;c[l+4>>2]=s;c[t>>2]=Gh(v,24705,l)|0;me(c[f>>2]|0,c[t>>2]|0,-1,170);Tf(c[g>>2]|0,c[r>>2]|0);i=u;return}function qQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=ku(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+456>>2]|0;c[b>>2]=(c[b>>2]|0)+a;i=d;return}function rQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[j>>2]|0)+1>>0]|0)IA(c[f>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}function sQ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))k=5;if((k|0)==5?(k=0,((d[(c[f>>2]|0)+42>>0]|0)&16|0)==0):0){c[j>>2]=c[c[g>>2]>>2];Uj((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[j>>2]|0,0)|0}FH(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}tQ(c[e>>2]|0,c[f>>2]|0);AH(c[e>>2]|0,c[f>>2]|0);Tf(c[e>>2]|0,c[c[f>>2]>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);fv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);uQ(c[e>>2]|0,c[f>>2]|0);Tf(c[e>>2]|0,c[f>>2]|0);i=l;return}function tQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){a=c[(c[g>>2]|0)+12>>2]|0;if(c[(c[g>>2]|0)+16>>2]|0)c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]=a;else{c[f>>2]=a;a=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[a+12>>2]|0)+8>>2]|0;else a=c[a+8>>2]|0;c[j>>2]=a;Uj((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[j>>2]|0,c[f>>2]|0)|0}if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2]}uG(c[d>>2]|0,c[(c[g>>2]|0)+28>>2]|0);uG(c[d>>2]|0,c[(c[g>>2]|0)+28+4>>2]|0);c[h>>2]=c[(c[g>>2]|0)+4>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}i=k;return}function uQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0))VJ(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Tf(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);i=g;return}function vQ(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function wQ(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function xQ(a){a=a|0;return (a+-97|0)>>>0<26|0}function yQ(a){a=a|0;return (a+-65|0)>>>0<26|0}function zQ(a){a=a|0;var b=0;b=(yQ(a)|0)==0;return (b?a:a|32)|0}function AQ(a){a=a|0;var b=0;b=(xQ(a)|0)==0;return (b?a:a&95)|0}function BQ(){var a=0;if(!(c[2216]|0))a=8912;else a=c[(qb()|0)+60>>2]|0;return a|0}function CQ(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[45740+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=45828;e=5;break}}if((e|0)==2)if(!c)b=45828;else{b=45828;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function DQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=GQ(mb(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=mb(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=mb(221,n|0)|0;break a}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break a}default:{d=GQ(d)|0;break a}}}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=mb(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;mb(221,l|0)|0}d=GQ(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=mb(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=mb(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;mb(221,r|0)|0}d=GQ(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Cb(6,p|0)|0}d=GQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=GQ(mb(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=GQ(mb(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function EQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=GQ(Db(5,f|0)|0)|0;i=e;return d|0}function FQ(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[47632+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function GQ(a){a=a|0;if(a>>>0>4294963200){c[(BQ()|0)>>2]=0-a;a=-1}return a|0}function HQ(a){a=+a;return +(+X(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function IQ(a){a=+a;var b=0;h[k>>3]=a;b=SR(c[k>>2]|0,c[k+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Y(+(a*2.0-1.0/(+O(+(a*a+-1.0))+a)));break}else{a=+Y(+a)+.6931471805599453;break}else{a=a+-1.0;a=+OQ(a+ +O(+(a*a+a*2.0)))}while(0);return +a}function JQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=SR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Y(+(a*2.0+1.0/(a+ +O(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+OQ(a+f/(+O(+(f+1.0))+1.0))}}else a=+Y(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function KQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=SR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];if(b>>>0<1022){if(b>>>0>=991){f=a*2.0;a=+OQ(f+a*f/(1.0-a))*.5}}else a=+OQ(a/(1.0-a)*2.0)*.5;return +((d|0)<0?-a:a)}function LQ(a){a=+a;var b=0;h[k>>3]=a;b=c[k+4>>2]&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+MQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+X(+a);a=(a+1.0/a)*.5;break}else{a=+HQ(a);break}while(0);return +a}function MQ(a){a=+a;var b=0.0,d=0.0,e=0,f=0,g=0,i=0,j=0.0,l=0,m=0.0;h[k>>3]=a;e=c[k>>2]|0;f=c[k+4>>2]|0;g=f&2147483647;i=SR(e|0,f|0,63)|0;do if(g>>>0>1078159481){g=f&2147483647;if(!(g>>>0>2146435072|(g|0)==2146435072&e>>>0>0))if(!i)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else l=11;else a=-1.0}else{if(g>>>0<=1071001154)if(g>>>0<1016070144)break;else{j=0.0;g=0;l=14;break}if(g>>>0<1072734898)if(!i){b=a+-.6931471803691238;e=1;d=1.9082149292705877e-10;l=12;break}else{b=a+.6931471803691238;e=-1;d=-1.9082149292705877e-10;l=12;break}else l=11}while(0);if((l|0)==11){e=~~(a*1.4426950408889634+((i|0)!=0?-.5:.5));d=+(e|0);b=a-d*.6931471803691238;d=d*1.9082149292705877e-10;l=12}if((l|0)==12){j=b-d;a=j;j=b-j-d;g=e;l=14}a:do if((l|0)==14){d=a*.5;b=a*d;m=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;d=3.0-d*m;d=b*((m-d)/(6.0-a*d));if(!g){a=a-(a*d-b);break}b=a*(d-j)-j-b;switch(g|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{i=WR(g+1023|0,0,52)|0;l=C;c[k>>2]=i;c[k+4>>2]=l;d=+h[k>>3];if(g>>>0>56){a=a-b+1.0;a=((g|0)==1024?a*2.0*8988465674311579538646525.0e283:d*a)+-1.0;break a}e=WR(1023-g|0,0,52)|0;f=C;if((g|0)<20){c[k>>2]=e;c[k+4>>2]=f;a=1.0-+h[k>>3]+(a-b)}else{c[k>>2]=e;c[k+4>>2]=f;a=a-(+h[k>>3]+b)+1.0}a=d*a;break a}}}while(0);return +a}function NQ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function OQ(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;b=c[k+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=WR(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){e=0.0;d=0.0;f=11;break}else{f=8;break}}else{if(a==-1.0){a=-s;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)f=8;while(0);if((f|0)==8){d=a+1.0;h[k>>3]=d;b=(c[k+4>>2]|0)+614242|0;f=(b>>>20)+-1023|0;if((f|0)<54)a=((f|0)>1?1.0-(d-a):a-(d+-1.0))/d;else a=0.0;c[k>>2]=c[k>>2];c[k+4>>2]=(b&1048575)+1072079006;e=a;a=+h[k>>3]+-1.0;d=+(f|0);f=11}if((f|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;j=l*l;a=d*.6931471803691238+(a+(e+d*1.9082149292705877e-10+m*(i+(j*(j*(j*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(j*(j*(j*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function PQ(a){a=+a;var b=0.0,d=0.0,e=0;h[k>>3]=a;e=c[k+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=e;b=+h[k>>3];do if(e>>>0<1082535490){b=+MQ(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+HQ(b);while(0);return +a}function QQ(a){a=+a;var b=0,d=0;h[k>>3]=a;d=c[k+4>>2]|0;b=d&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+MQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+MQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+MQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function RQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;h=k;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(BQ()|0)>>2]=12;f=-1;break}j=(e&16|0)!=0;if(j)GR(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=GQ(cb(192,h|0)|0)|0;if(j)HR()}else{c[(BQ()|0)>>2]=22;f=-1}while(0);i=k;return f|0}function SQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;GR(-1);c[e>>2]=a;c[e+4>>2]=b;a=GQ(Xa(91,e|0)|0)|0;HR();i=d;return a|0}function TQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=jb(94,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){FQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=GQ(wb(15,g|0)|0)|0}else d=GQ(d)|0;i=h;return d|0}function UQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=db(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){FQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=GQ(fb(195,g|0)|0)|0}else d=GQ(d)|0;i=h;return d|0}function VQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(eb(196,e|0)|0)|0;i=d;return a|0}function WQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(Za(39,e|0)|0)|0;i=d;return a|0}function XQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(fb(195,e|0)|0)|0;i=d;return a|0}function YQ(a){a=a|0;return 0}function ZQ(a){a=a|0;return}function _Q(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=GQ(Cb(6,d|0)|0)|0;i=b;return a|0}function $Q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((GQ(vb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function aR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[2216]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=GQ(Mb(146,n|0)|0)|0}else{La(154,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=GQ(Mb(146,m|0)|0)|0;Da(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function bR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=163;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Ka(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=aR(b,d,e)|0;i=g;return f|0}function cR(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=DR(a)|0;break}d=(YQ(a)|0)==0;b=DR(a)|0;if(!d)ZQ(a)}else{if(!(c[2227]|0))b=0;else b=cR(c[2227]|0)|0;Bb(8892);a=c[2222]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=YQ(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=DR(a)|0|b;if(d)ZQ(a);a=c[a+56>>2]|0}while((a|0)!=0);ub(8892)}while(0);return b|0}function dR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){ER(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)ER(a,d,e,h,o);else FR(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}FR(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;FR(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;FR(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function eR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function fR(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function gR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);VR(b|0,0,e|0)|0;return b|0}function hR(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function iR(a,b){a=a|0;b=b|0;fR(a,b)|0;return a|0}function jR(a){a=a|0;var b=0,c=0;c=(kR(a)|0)+1|0;b=JR(c)|0;if(!b)b=0;else TR(b|0,a|0,c|0)|0;return b|0}function kR(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function lR(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function mR(a,b,c){a=a|0;b=b|0;c=c|0;gR(a,b,c)|0;return a|0}function nR(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(sb(33,e|0)|0)|0;i=d;return a|0}function oR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Cb(6,d|0)|0;a=GQ((a|0)==-4?-115:a)|0;i=b;return a|0}function pR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=j+24|0;g=j+16|0;e=j;f=j+36|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=Lb(207,e|0)|0;if((e|0)==-9?(c[g>>2]=a,c[g+4>>2]=1,(mb(221,g|0)|0)>=0):0){FQ(f,a);c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;e=GQ(hb(212,h|0)|0)|0}else e=GQ(e)|0;i=j;return e|0}function qR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=GQ(Oa(118,d|0)|0)|0;i=b;return a|0}function rR(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=GQ(gb(194,e|0)|0)|0;i=d;return b|0}function sR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(BQ()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((GQ(Ra(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=jR(d)|0}else a=0}i=g;return a|0}function tR(){var a=0,b=0;b=i;i=i+16|0;a=pb(201,b|0)|0;i=b;return a|0}function uR(){var a=0,b=0;b=i;i=i+16|0;a=Qa(20,b|0)|0;i=b;return a|0}function vR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(GQ(vb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function wR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=GQ(Ab(3,f|0)|0)|0;i=e;return a|0}function xR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=GQ(Ea(85,f|0)|0)|0;i=e;return a|0}function yR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=GQ(Na(40,d|0)|0)|0;i=b;return a|0}function zR(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(kb(b|0,b|0)|0)==0;i=d;return (a?0:c[b>>2]|0)|0}function AR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=GQ(yb(10,d|0)|0)|0;i=b;return a|0}function BR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=GQ(Eb(4,f|0)|0)|0;i=e;return a|0}function CR(a){a=a|0;if(!(c[a+68>>2]|0))ZQ(a);return}function DR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ob[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ob[c[a+40>>2]&255](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function ER(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((Yb[d&255](k,j)|0)>-1?(Yb[d&255](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Yb[d&255](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);IR(b,o,e);i=p;return}function FR(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Yb[d&255](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((Yb[d&255](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((Yb[d&255](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((Yb[d&255](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){IR(b,p,e);ER(a,b,d,g,h)}i=r;return}function GR(a){a=a|0;return}function HR(){return}function IR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;TR(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;TR(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function JR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[2257]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=9068+(e<<2)|0;e=9068+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[2261]|0)>>>0)Ma();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ma()}else c[2257]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[2259]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=9068+(e<<2)|0;e=9068+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[2261]|0)>>>0)Ma();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[2259]|0;break}else Ma()}else{c[2257]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[2262]|0;d=k>>>3;b=d<<1;e=9068+(b<<2)|0;a=c[2257]|0;d=1<>2]|0;if(b>>>0<(c[2261]|0)>>>0)Ma();else{l=a;m=b}}else{c[2257]=a|d;l=9068+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[2259]=h;c[2262]=i;M=j;return M|0}a=c[2258]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[9332+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[2261]|0;if(e>>>0>>0)Ma();i=e+o|0;if(e>>>0>=i>>>0)Ma();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ma();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ma()}while(0);do if(h){b=c[e+28>>2]|0;a=9332+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[2261]|0;if(n>>>0>>0)Ma();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[2259]|0;if(b){g=c[2262]|0;d=b>>>3;b=d<<1;f=9068+(b<<2)|0;a=c[2257]|0;d=1<>2]|0;if(a>>>0<(c[2261]|0)>>>0)Ma();else{p=b;q=a}}else{c[2257]=a|d;p=9068+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[2259]=j;c[2262]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[2258]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[9332+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[9332+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[2259]|0)-m|0)>>>0:0){f=c[2261]|0;if(j>>>0>>0)Ma();h=j+m|0;if(j>>>0>=h>>>0)Ma();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ma();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ma();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ma()}while(0);do if(g){b=c[j+28>>2]|0;a=9332+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[2261]|0;if(o>>>0>>0)Ma();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=9068+(a<<2)|0;d=c[2257]|0;b=1<>2]|0;if(a>>>0<(c[2261]|0)>>>0)Ma();else{s=b;t=a}}else{c[2257]=d|b;s=9068+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=9332+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[2258]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[2261]|0)>>>0)Ma();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[2261]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ma()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[2259]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[2262]|0;if(b>>>0>15){c[2262]=a+q;c[2259]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[2259]=0;c[2262]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[2260]|0;if(a>>>0>q>>>0){L=a-q|0;c[2260]=L;M=c[2263]|0;c[2263]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2375]|0)){a=ib(30)|0;if(!(a+-1&a)){c[2377]=a;c[2376]=a;c[2378]=-1;c[2379]=-1;c[2380]=0;c[2368]=0;c[2375]=(Fb(0)|0)&-16^1431655768;break}else Ma()}while(0);j=q+48|0;i=c[2377]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2367]|0;if((a|0)!=0?(t=c[2365]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2368]&4)){a=c[2263]|0;e:do if(a){f=9476;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[2260]|0)&i;if(d>>>0<2147483647){f=bb(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=bb(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2376]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2365]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2367]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=bb(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2377]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((bb(u|0)|0)==(-1|0)){bb(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2368]=c[2368]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=bb(l|0)|0,x=bb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2365]|0)+p|0;c[2365]=a;if(a>>>0>(c[2366]|0)>>>0)c[2366]=a;h=c[2263]|0;g:do if(h){g=9476;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[2260]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[2263]=h+L;c[2260]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[2264]=c[2379];break}a=c[2261]|0;if(w>>>0>>0){c[2261]=w;a=w}d=w+p|0;g=9476;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=9476;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[2262]|0)){M=(c[2259]|0)+l|0;c[2259]=M;c[2262]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ma();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ma()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=9332+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[2261]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[2258]=c[2258]&~(1<>>0>>0)Ma();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Ma();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=9068+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)==(b|0))break;Ma()}while(0);if((f|0)==(e|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ma()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=9068+(a<<2)|0;d=c[2257]|0;b=1<>2]|0;if(a>>>0>=(c[2261]|0)>>>0){K=b;L=a;break}Ma()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=9332+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[2258]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[2261]|0)>>>0)Ma();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[2261]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ma()}else{M=(c[2260]|0)+l|0;c[2260]=M;c[2263]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=9476;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[2263]=w+d;c[2260]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[2264]=c[2379];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2369];c[b+4>>2]=c[2370];c[b+8>>2]=c[2371];c[b+12>>2]=c[2372];c[2369]=w;c[2370]=p;c[2372]=0;c[2371]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=9068+(a<<2)|0;d=c[2257]|0;b=1<>2]|0;if(a>>>0<(c[2261]|0)>>>0)Ma();else{G=b;H=a}}else{c[2257]=d|b;G=9068+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=9332+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[2258]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[2261]|0)>>>0)Ma();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[2261]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ma()}}else{M=c[2261]|0;if((M|0)==0|w>>>0>>0)c[2261]=w;c[2369]=w;c[2370]=p;c[2372]=0;c[2266]=c[2375];c[2265]=-1;b=0;do{M=b<<1;L=9068+(M<<2)|0;c[9068+(M+3<<2)>>2]=L;c[9068+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[2263]=w+M;c[2260]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[2264]=c[2379]}while(0);b=c[2260]|0;if(b>>>0>q>>>0){L=b-q|0;c[2260]=L;M=c[2263]|0;c[2263]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(BQ()|0)>>2]=12;M=0;return M|0}function KR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[2261]|0;if(b>>>0>>0)Ma();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ma();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ma();if((l|0)==(c[2262]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[2259]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=9068+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)!=(l|0))Ma()}if((d|0)==(e|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ma()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ma();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ma();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ma()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=9332+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[2261]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ma();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ma();if(!(d&2)){if((q|0)==(c[2263]|0)){t=(c[2260]|0)+g|0;c[2260]=t;c[2263]=u;c[u+4>>2]=t|1;if((u|0)!=(c[2262]|0))return;c[2262]=0;c[2259]=0;return}if((q|0)==(c[2262]|0)){t=(c[2259]|0)+g|0;c[2259]=t;c[2262]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[2261]|0)>>>0)Ma();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ma();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ma()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=9332+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[2261]|0;if(p>>>0>>0)Ma();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=9068+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[2261]|0)>>>0)Ma();if((c[e+12>>2]|0)!=(q|0))Ma()}if((d|0)==(e|0)){c[2257]=c[2257]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ma()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[2262]|0)){c[2259]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=9068+(d<<2)|0;e=c[2257]|0;b=1<>2]|0;if(d>>>0<(c[2261]|0)>>>0)Ma();else{r=b;s=d}}else{c[2257]=e|b;r=9068+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=9332+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[2258]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[2261]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ma()}else{c[2258]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[2265]|0)+-1|0;c[2265]=u;if(!u)b=9484;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[2265]=-1;return}function LR(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=JR(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;VR(b|0,0,d|0)|0;return b|0}function MR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=JR(b)|0;return a|0}if(b>>>0>4294967231){c[(BQ()|0)>>2]=12;a=0;return a|0}d=NR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=JR(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;TR(d|0,a|0,(e>>>0>>0?e:b)|0)|0;KR(a);a=d;return a|0}function NR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[2261]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ma();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ma();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2377]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;OR(a+b|0,d);return a|0}if((l|0)==(c[2263]|0)){d=(c[2260]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[2263]=a+b;c[2260]=n;return a|0}if((l|0)==(c[2262]|0)){e=(c[2259]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2259]=d;c[2262]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ma();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ma()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=9332+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[2261]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=9068+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(l|0))Ma()}if((e|0)==(f|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;OR(a+b|0,n);return a|0}return 0} -function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){b=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(qu(c[e>>2]|0)|0)!=0:0){b=7;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==7){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((b|0)==9){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function qu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;g=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+340>>2]|0)){i=l;return}c[f>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+316>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];c[h>>2]=c[(c[j>>2]|0)+8>>2];if((c[h>>2]|0)!=0?(c[k>>2]=c[(c[c[h>>2]>>2]|0)+(c[e>>2]|0)>>2],(c[k>>2]|0)!=0):0)Tb[c[k>>2]&255](c[h>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=0;su(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Tf(c[d>>2]|0,c[f>>2]|0);c[(c[d>>2]|0)+316>>2]=0;i=l;return}function su(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){i=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)Tb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Tf(c[d>>2]|0,c[b>>2]|0);i=f;return}function tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;j=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[j>>2]=b;c[f>>2]=(c[j>>2]|0)+56;while(1){if(!(c[c[f>>2]>>2]|0)){g=6;break}a=c[c[f>>2]>>2]|0;if((c[c[c[f>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[f>>2]=a+24}if((g|0)==6){i=h;return}c[e>>2]=a;c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];su(c[e>>2]|0);i=h;return}function uu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+344>>2];c[(c[b>>2]|0)+344>>2]=0;if(!(c[d>>2]|0)){i=f;return}Sh(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];su(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=f;return}function vu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[164>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function wu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1628;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[421]=(c[53]|0)==0&1;if((c[421]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0){c[422]=c[55];c[410]=10;c[420]=1;i=d;return 0}else{c[422]=0;c[410]=10;c[420]=1;i=d;return 0}return 0}function xu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1628;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function yu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[n>>2]=60+((c[421]|0)*52|0);b=c[n>>2]|0;c[k>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}if(c[421]|0){c[l>>2]=(c[k>>2]|0)+60;c[(c[l>>2]|0)+12>>2]=10}else c[l>>2]=1628;if(!(d[(c[l>>2]|0)+20+14>>0]|0)){a[(c[l>>2]|0)+20+14>>0]=1;n=(c[l>>2]|0)+20|0;c[(c[l>>2]|0)+20+24>>2]=n;c[(c[l>>2]|0)+20+28>>2]=n}c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[g>>2];c[(c[k>>2]|0)+8>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[k>>2]|0)+16>>2]=(c[j>>2]|0)!=0?1:0;Pu(c[k>>2]|0);if(c[j>>2]|0){c[(c[k>>2]|0)+20>>2]=10;n=(c[l>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+20>>2]|0);c[(c[l>>2]|0)+12>>2]=(c[(c[l>>2]|0)+4>>2]|0)+10-(c[(c[l>>2]|0)+8>>2]|0)}if(c[(c[k>>2]|0)+44>>2]|0){n=c[k>>2]|0;i=m;return n|0}Fu(c[k>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=m;return n|0}function zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Hu(c[e>>2]|0);i=g;return}function Au(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];i=d;return c[b>>2]|0}function Bu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Mu(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function Cu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+24|0;m=k+20|0;l=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[f>>2]=c[n>>2];c[h>>2]=c[m>>2];c[g>>2]=c[c[f>>2]>>2];if((c[l>>2]|0)==0?(c[(c[g>>2]|0)+16>>2]|0)>>>0<=(c[(c[g>>2]|0)+4>>2]|0)>>>0:0){c[j>>2]=(c[g>>2]|0)+20+24;c[(c[h>>2]|0)+28>>2]=(c[g>>2]|0)+20;m=c[h>>2]|0;n=c[c[j>>2]>>2]|0;c[(c[h>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[j>>2]>>2]=c[h>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[h>>2]|0)+12>>0]=0;i=k;return}Ju(c[h>>2]|0,1);i=k;return}function Du(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;o=l+28|0;n=l+24|0;m=l+20|0;f=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[k>>2]=(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[k>>2]>>2]|0)==(c[j>>2]|0))break;c[k>>2]=(c[c[k>>2]>>2]|0)+16}c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[f>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[f>>2]|0)>>>0<=(c[(c[h>>2]|0)+32>>2]|0)>>>0){i=l;return}c[(c[h>>2]|0)+32>>2]=c[f>>2];i=l;return}function Eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){i=f;return}Lu(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;i=f;return}function Fu(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];c[d>>2]=c[c[b>>2]>>2];if(c[(c[b>>2]|0)+40>>2]|0)Lu(c[b>>2]|0,0);f=(c[d>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+24>>2]|0);f=(c[d>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+20>>2]|0);c[(c[d>>2]|0)+12>>2]=(c[(c[d>>2]|0)+4>>2]|0)+10-(c[(c[d>>2]|0)+8>>2]|0);Hu(c[b>>2]|0);Kd(c[(c[b>>2]|0)+56>>2]|0);Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[b>>2]|0);i=e;return}function Gu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){i=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;Hu(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}function Hu(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=c[c[b>>2]>>2];while(1){if((c[(c[f>>2]|0)+16>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[f>>2]|0)+20+28>>2]|0;c[e>>2]=a;if(d[a+14>>0]|0)break;Iu(c[e>>2]|0)|0;Ju(c[e>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){i=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){i=g;return}Kd(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;i=g;return}function Iu(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;i=e;return c[d>>2]|0}function Ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[j>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[j>>2]<<2);while(1){b=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=b}c[c[g>>2]>>2]=c[b>>2];j=(c[f>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[e>>2]|0)){i=h;return}Ku(c[d>>2]|0);i=h;return}function Ku(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else bj(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){i=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;i=f;return}function Lu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;if(((c[(c[e>>2]|0)+32>>2]|0)-(c[f>>2]|0)|0)>>>0<(c[(c[e>>2]|0)+44>>2]|0)>>>0){c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0;c[h>>2]=((c[(c[e>>2]|0)+32>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}else{c[g>>2]=((c[(c[e>>2]|0)+44>>2]|0)>>>0)/2|0;c[h>>2]=(c[g>>2]|0)-1}while(1){c[k>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){b=c[c[k>>2]>>2]|0;c[j>>2]=b;if(!b)break;if((c[(c[j>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[k>>2]=(c[j>>2]|0)+16;continue}b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+-1;c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];if(!(a[(c[j>>2]|0)+12>>0]|0))Iu(c[j>>2]|0)|0;Ku(c[j>>2]|0)}if((c[g>>2]|0)==(c[h>>2]|0))break;c[g>>2]=(((c[g>>2]|0)+1|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}i=l;return}function Mu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;j=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[k>>2]=0;c[k>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[k>>2]|0)d=(c[(c[k>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;e=c[k>>2]|0;if(!d)break;c[k>>2]=c[e+16>>2]}if(e){e=c[k>>2]|0;if(a[(c[k>>2]|0)+12>>0]|0){c[j>>2]=e;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=Iu(e)|0;m=c[j>>2]|0;i=l;return m|0}}else if(c[g>>2]|0){c[j>>2]=Nu(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}return 0}function Nu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;k=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+40>>2]|0)-(c[(c[g>>2]|0)+36>>2]|0);do if((c[j>>2]|0)==1){if((c[l>>2]|0)>>>0<(c[(c[m>>2]|0)+12>>2]|0)>>>0?(c[l>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if(!(Ou(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}while(0);if((c[(c[g>>2]|0)+40>>2]|0)>>>0>=(c[(c[g>>2]|0)+44>>2]|0)>>>0)Pu(c[g>>2]|0);do if((c[(c[g>>2]|0)+16>>2]|0)!=0?(a[(c[(c[m>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[g>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0?(Ou(c[g>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[m>>2]|0)+20+28>>2];Ju(c[o>>2]|0,0);Iu(c[o>>2]|0)|0;c[n>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[n>>2]|0)+12>>2]|0)!=(c[(c[g>>2]|0)+12>>2]|0)){Ku(c[o>>2]|0);c[o>>2]=0;break}else{m=(c[m>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-((c[(c[n>>2]|0)+16>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=Qu(c[g>>2]|0,(c[j>>2]|0)==1&1)|0;if((c[o>>2]|0)!=0?(c[k>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+44>>2]|0)>>>0)|0,n=(c[g>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[h>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[g>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2],(c[h>>2]|0)>>>0>(c[(c[g>>2]|0)+32>>2]|0)>>>0):0)c[(c[g>>2]|0)+32>>2]=c[h>>2];c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function Ou(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[424]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[423]|0):0){c[b>>2]=c[431];e=c[b>>2]|0;i=d;return e|0}c[b>>2]=Su()|0;e=c[b>>2]|0;i=d;return e|0}function Pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;g=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;e=k;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)Yj();c[d>>2]=kg(c[g>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Zj();if(!(c[d>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[(c[(c[b>>2]|0)+48>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[j>>2]=a;if(!a)break;c[e>>2]=((c[(c[j>>2]|0)+8>>2]|0)>>>0)%((c[g>>2]|0)>>>0)|0;c[h>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[e>>2]<<2)>>2];c[(c[d>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}Kd(c[(c[b>>2]|0)+48>>2]|0);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[g>>2];i=k;return}function Qu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)k=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?(Ru(c[f>>2]|0)|0)!=0:0){k=4;break}if(c[g>>2]|0)Yj();c[j>>2]=jj(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[j>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Zj();if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);if((k|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){k=(c[c[f>>2]>>2]|0)+16|0;c[k>>2]=(c[k>>2]|0)+1}c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}function Ru(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;d=l+28|0;e=l+24|0;j=l;k=l+20|0;g=l+16|0;f=l+12|0;h=l+8|0;c[e>>2]=b;if(!(c[422]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}Yj();if((c[422]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[422]|0;m=aS(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=j;c[b>>2]=m;c[b+4>>2]=C}else{b=c[422]|0;b=aS(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=j;c[m>>2]=b;c[m+4>>2]=C}o=j;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=aS(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=C;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){n=c[(c[e>>2]|0)+12>>2]|0;n=aS(n|0,((n|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;o=j;c[o>>2]=n;c[o+4>>2]=C}o=j;o=$f(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[k>>2]=o;Zj();a:do if(c[k>>2]|0){o=ag(c[k>>2]|0)|0;c[g>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break a;c[h>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=1;a[(c[h>>2]|0)+14>>0]=0;c[(c[h>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[h>>2];c[k>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;i=l;return o|0}function Su(){return c[79]|0}function Tu(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=JR((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;Rd(7,26399,d);f=c[b>>2]|0;i=e;return f|0}return 0}function Uu(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;KR(c[d>>2]|0);i=b;return}function Vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=MR(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){a=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=a;c[g+4>>2]=((a|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;i=h;return g|0}else{b=Wu(c[d>>2]|0)|0;a=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=a;Rd(7,26363,g);g=c[f>>2]|0;i=h;return g|0}return 0}function Wu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;i=d;return c[c[b>>2]>>2]|0}function Xu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+7&-8|0}function Yu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Zu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function _u(d){d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=d;c[e>>2]=Yb[c[g>>2]&255](1608,0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}c[c[e>>2]>>2]=(c[e>>2]|0)+8;b[(c[e>>2]|0)+8>>1]=0;a[(c[e>>2]|0)+8+2>>0]=0;g=c[e>>2]|0;i=f;return g|0}function $u(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;j=o+8|0;f=o+4|0;g=o;c[m>>2]=b;c[h>>2]=e;a:do switch(d[39282+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[l>>2]=1;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=162;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[h>>2]>>2]=48;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=2;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!((k|0)!=0?(c[j>>2]|0)!=10:0))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=162;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 17:{c[c[h>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 18:{c[c[h>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 19:{c[c[h>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 20:{c[c[h>>2]>>2]=47;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 21:{c[c[h>>2]>>2]=49;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?(d[(c[m>>2]|0)+2>>0]|0)!=0:0){c[l>>2]=3;c[j>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[j>>2]|0)==42?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==47:0)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}if(c[j>>2]|0)c[l>>2]=(c[l>>2]|0)+1;c[c[h>>2]>>2]=162;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=50;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 22:{c[c[h>>2]>>2]=51;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 14:{c[c[h>>2]>>2]=37;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;i=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=39;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}if((c[j>>2]|0)==62){c[c[h>>2]>>2]=36;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==60){c[f>>2]=45;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=40;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=41;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==62){c[f>>2]=46;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=38;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 15:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[f>>2]=163;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=36;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 10:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[f>>2]=44;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=52;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 23:{c[c[h>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 24:{c[c[h>>2]>>2]=43;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 25:{c[c[h>>2]>>2]=54;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 8:{c[f>>2]=d[c[m>>2]>>0];c[l>>2]=1;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)==(c[f>>2]|0)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=(c[f>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}if((c[j>>2]|0)==39){c[c[h>>2]>>2]=97;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if(c[j>>2]|0){c[f>>2]=55;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=163;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}}case 26:{if(d[18403+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4)k=64;else{c[c[h>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}break}case 3:{k=64;break}case 9:{c[l>>2]=1;c[j>>2]=d[c[m>>2]>>0];while(1){if((c[j>>2]|0)==93)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=(c[j>>2]|0)==93?55:163;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 6:{c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}case 5:case 4:{c[g>>2]=0;c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){b=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=b;if(!b)break;if(d[18403+(c[j>>2]&255)>>0]&70)c[g>>2]=(c[g>>2]|0)+1;else{if((c[j>>2]|0)==40&(c[g>>2]|0)>0){k=107;break}if((c[j>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=58)break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}do if((k|0)==107){while(1){c[l>>2]=(c[l>>2]|0)+1;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)!=41?(d[18403+(c[j>>2]&255)>>0]&1|0)==0:0)k=107;else break}if((c[j>>2]|0)==41){c[l>>2]=(c[l>>2]|0)+1;break}else{c[c[h>>2]>>2]=163;break}}while(0);if(!(c[g>>2]|0))c[c[h>>2]>>2]=163;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 1:{c[l>>2]=1;while(1){f=c[l>>2]|0;if((d[39282+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]|0)>1)break;c[l>>2]=f+1}if(d[18403+(d[(c[m>>2]|0)+f>>0]|0)>>0]&70){c[l>>2]=(c[l>>2]|0)+1;break a}c[c[h>>2]>>2]=55;c[n>>2]=Ti(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[h>>2]>>2]=133;c[l>>2]=2;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}if(!((d[(c[m>>2]|0)+f>>0]|0)==39?((c[l>>2]|0)%2|0|0)==0:0))k=131;b:do if((k|0)==131){c[c[h>>2]>>2]=163;while(1){if(!(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==39)break b;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else k=138;break}case 2:{k=138;break}default:{c[c[h>>2]>>2]=163;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}while(0);if((k|0)==64){c[c[h>>2]>>2]=134;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[18403+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=3;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}}while(0);c[l>>2]=0;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}if((d[(c[m>>2]|0)+f>>0]|0)==46){c[l>>2]=(c[l>>2]|0)+1;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=132}if(!((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=69:0))k=82;do if((k|0)==82){if(!(d[18403+(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[18403+(d[(c[m>>2]|0)+((c[l>>2]|0)+2)>>0]|0)>>0]&4))break}c[l>>2]=(c[l>>2]|0)+2;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=132}while(0);while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[c[h>>2]>>2]=163;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else if((k|0)==138)c[l>>2]=1;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=55;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}function av(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;h=l+32|0;n=l+28|0;f=l+24|0;m=l+20|0;j=l+8|0;g=l+4|0;k=l;c[n>>2]=a;c[f>>2]=b;c[m>>2]=e;c[k>>2]=c[n>>2];c[(c[k>>2]|0)+4>>2]=c[m>>2];while(1){c[g>>2]=pv(c[k>>2]|0,c[f>>2]&255)|0;do if((c[g>>2]|0)>>>0>999)if((c[g>>2]|0)>>>0<=1331){rv(c[k>>2]|0,(c[g>>2]|0)-1e3|0);break}else{c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];m=c[k>>2]|0;n=c[f>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];sv(m,n,h);nv(c[k>>2]|0,c[f>>2]&255,j);c[f>>2]=252;break}else{a=c[k>>2]|0;m=c[g>>2]|0;n=c[f>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];qv(a,m,n,h);c[f>>2]=252}while(0);if((c[f>>2]|0)==252){f=9;break}if((c[c[k>>2]>>2]|0)>>>0<=((c[k>>2]|0)+8|0)>>>0){f=9;break}}if((f|0)==9){i=l;return}}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)>>>0<=((c[e>>2]|0)+8|0)>>>0)break;mv(c[e>>2]|0)}Qb[c[d>>2]&255](c[e>>2]|0);i=f;return}function cv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Sf(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+8>>2]|0;if(c[(c[b>>2]|0)+4>>2]|0)c[(c[(c[b>>2]|0)+4>>2]|0)+8>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0)c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]=c[(c[b>>2]|0)+4>>2];c[(c[b>>2]|0)+20>>2]=1443283912;c[c[b>>2]>>2]=0;Tf(c[d>>2]|0,c[b>>2]|0);i=e;return}function dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);ev(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);fv(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}lv(c[d>>2]|0,c[e>>2]|0);i=f;return}function fv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}gv(c[d>>2]|0,c[e>>2]|0,1);i=f;return}function gv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+48>>2];ev(c[e>>2]|0,c[c[f>>2]>>2]|0);hv(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);if(c[(c[f>>2]|0)+64>>2]|0)dv(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);if(c[g>>2]|0)Tf(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}i=j;return}function hv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=j;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Tf(a,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1)Tf(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)ev(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Rf(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);fv(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);iv(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);kv(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Tf(a,c[f>>2]|0);i=j;return}function iv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}jv(c[d>>2]|0,c[e>>2]|0);i=f;return}function jv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(c[(c[f>>2]|0)+4>>2]&8404992)){if((c[(c[f>>2]|0)+12>>2]|0)!=0?(d[c[f>>2]>>0]|0|0)!=159:0)jv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);a=c[e>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){fv(a,c[b>>2]|0);break}else{ev(a,c[b>>2]|0);break}}while(0);if(c[(c[f>>2]|0)+4>>2]&65536)Tf(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0);if(c[(c[f>>2]|0)+4>>2]&32768){i=g;return}Tf(c[e>>2]|0,c[f>>2]|0);i=g;return}function kv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Tf(a,c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(a,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function lv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;iv(a,c[c[g>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Tf(a,c[(c[e>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function mv(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-16;c[e>>2]=b;nv(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);i=d;return}function nv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+8|0;k=j+12|0;g=j+4|0;h=j;c[l>>2]=b;a[k>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];do switch(d[k>>0]|0|0){case 206:case 195:case 194:case 163:{fv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 173:case 172:{iv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 226:case 224:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{ev(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 212:case 211:case 200:case 193:{hv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 250:case 196:{dv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 241:case 236:case 227:case 225:case 215:case 203:case 201:{iv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 220:case 217:case 216:{kv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 237:case 232:{ov(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 234:{kv(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=j;return}default:{i=j;return}}while(0)}function ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];iv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);ev(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);fv(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);kv(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0)}i=g;return}function pv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+16|0;q=p+12|0;j=p+21|0;k=p+8|0;n=p+4|0;l=p+20|0;m=p;c[q>>2]=f;a[j>>0]=g;c[n>>2]=e[c[c[q>>2]>>2]>>1];if((c[n>>2]|0)>=1e3){c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}while(1){c[k>>2]=b[14594+(c[n>>2]<<1)>>1];c[k>>2]=(c[k>>2]|0)+(d[j>>0]|0);if(!((c[k>>2]|0)<0|(c[k>>2]|0)>=1567)?(d[37619+(c[k>>2]|0)>>0]|0)==(d[j>>0]|0):0){o=13;break}if((d[j>>0]|0)>>>0>=96)break;q=a[39186+(d[j>>0]|0)>>0]|0;a[l>>0]=q;if(!(q&255))break;a[j>>0]=a[l>>0]|0}if((o|0)==13){c[h>>2]=e[11456+(c[k>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[m>>2]=(c[k>>2]|0)-(d[j>>0]|0)+96;if(((c[m>>2]|0)<1567?(d[37619+(c[m>>2]|0)>>0]|0)==96:0)?(d[j>>0]|0)>0:0){c[h>>2]=e[11456+(c[m>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[h>>2]=e[15506+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}function qv(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+16;if((c[c[h>>2]>>2]|0)>>>0>=((c[h>>2]|0)+8+1600|0)>>>0){tv(c[h>>2]|0);i=m;return}if((c[j>>2]|0)>455)c[j>>2]=(c[j>>2]|0)+332;c[l>>2]=c[c[h>>2]>>2];b[c[l>>2]>>1]=c[j>>2];a[(c[l>>2]|0)+2>>0]=c[k>>2];l=(c[l>>2]|0)+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];i=m;return}function rv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=i;i=i+288|0;h=fa+280|0;T=fa+40|0;S=fa+32|0;V=fa+24|0;U=fa+16|0;Z=fa+8|0;R=fa;$=fa+276|0;aa=fa+272|0;ca=fa+268|0;ba=fa+264|0;da=fa+260|0;ea=fa+256|0;_=fa+252|0;X=fa+240|0;P=fa+228|0;Q=fa+216|0;m=fa+192|0;o=fa+188|0;D=fa+184|0;v=fa+180|0;s=fa+176|0;W=fa+168|0;E=fa+164|0;t=fa+160|0;q=fa+156|0;F=fa+152|0;u=fa+148|0;r=fa+144|0;A=fa+140|0;B=fa+136|0;I=fa+132|0;J=fa+128|0;L=fa+124|0;K=fa+120|0;M=fa+116|0;N=fa+112|0;O=fa+108|0;n=fa+104|0;Y=fa+96|0;w=fa+92|0;y=fa+88|0;k=fa+84|0;z=fa+80|0;l=fa+76|0;x=fa+72|0;C=fa+68|0;H=fa+64|0;G=fa+60|0;p=fa+56|0;j=fa+48|0;c[$>>2]=f;c[aa>>2]=g;c[_>>2]=c[(c[$>>2]|0)+4>>2];c[da>>2]=c[c[$>>2]>>2];if((d[26486+(c[aa>>2]<<1)+1>>0]|0)==0?(c[c[$>>2]>>2]|0)>>>0>=((c[$>>2]|0)+8+1584|0)>>>0:0){tv(c[$>>2]|0);i=fa;return}a:do switch(c[aa>>2]|0){case 0:{a[(c[_>>2]|0)+409>>0]=1;break}case 1:{a[(c[_>>2]|0)+409>>0]=2;break}case 2:{uv(c[_>>2]|0);break}case 3:{vv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 4:{c[(c[da>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 9:case 8:{wv(c[_>>2]|0);break}case 10:{xv(c[_>>2]|0);break}case 11:{yv(c[_>>2]|0,0,(c[da>>2]|0)+4|0);break}case 12:{yv(c[_>>2]|0,1,(c[da>>2]|0)+4|0);break}case 13:{yv(c[_>>2]|0,2,(c[da>>2]|0)+4|0);break}case 14:{zv(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 15:{Av(c[_>>2]|0);break}case 215:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 17:{c[(c[da>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{c[(c[da>>2]|0)+4>>2]=1;break}case 20:{Bv(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,c[(c[da>>2]|0)+4>>2]&255,0);break}case 21:{Bv(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+4>>2]|0);fv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 23:{if((c[(c[da>>2]|0)+4+4>>2]|0)==5?(zd(c[(c[da>>2]|0)+4>>2]|0,24745,5)|0)==0:0){c[(c[da>>2]|0)+-16+4>>2]=96;break a}c[(c[da>>2]|0)+-16+4>>2]=0;_=c[_>>2]|0;Z=c[(c[da>>2]|0)+4>>2]|0;c[R>>2]=c[(c[da>>2]|0)+4+4>>2];c[R+4>>2]=Z;Eh(_,27150,R);break}case 24:{Cv(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 96:case 60:case 25:{c[(c[da>>2]|0)+16+4+4>>2]=0;c[(c[da>>2]|0)+16+4>>2]=0;break}case 26:{c[(c[da>>2]|0)+-48+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0);break}case 27:{c[(c[da>>2]|0)+-80+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-80+4>>2]|0);break}case 28:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[da>>2]|0)+4+4>>2]|0)+((c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{_=(c[_>>2]|0)+84|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 32:case 30:{Dv(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 31:{Dv(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 33:{c[P>>2]=Ev(c[_>>2]|0,155,c[(c[da>>2]|0)+4>>2]|0,0,0)|0;c[P+4>>2]=c[(c[da>>2]|0)+-16+4>>2];c[P+8>>2]=c[(c[da>>2]|0)+4+8>>2];Dv(c[_>>2]|0,P);break}case 34:{Z=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];Fv(Q,Z,97,h);Dv(c[_>>2]|0,Q);break}case 35:{Gv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 36:{Hv(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 37:{Iv(c[_>>2]|0,0,0,0,0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 38:{Jv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 39:{Kv(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 40:{Lv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 41:{Mv(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 44:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 45:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+-16+4>>2]&~c[(c[da>>2]|0)+4+4>>2]|c[(c[da>>2]|0)+4>>2];break}case 46:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 47:{c[(c[da>>2]|0)+-32+4>>2]=0;c[(c[da>>2]|0)+-32+4+4>>2]=0;break}case 48:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-32+4+4>>2]=255;break}case 49:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2]<<8;c[(c[da>>2]|0)+-32+4+4>>2]=65280;break}case 50:{c[(c[da>>2]|0)+-16+4>>2]=7;break}case 51:{c[(c[da>>2]|0)+-16+4>>2]=8;break}case 52:{c[(c[da>>2]|0)+4>>2]=9;break}case 53:{c[(c[da>>2]|0)+4>>2]=6;break}case 54:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 55:{c[(c[da>>2]|0)+-32+4>>2]=0;break}case 144:case 71:case 56:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 216:case 190:case 187:case 75:case 58:{c[(c[da>>2]|0)+-16+4>>2]=1;break}case 59:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 61:{c[(c[_>>2]|0)+84+4>>2]=0;break}case 63:{Hv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,0);break}case 64:{Iv(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 65:{Jv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 66:{Kv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);Lv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 70:case 68:{c[(c[da>>2]|0)+16+4>>2]=10;break}case 69:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 72:{c[(c[da>>2]|0)+4>>2]=4;break}case 145:case 73:{c[(c[da>>2]|0)+4>>2]=5;break}case 74:{Nv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 77:{Ov(c[_>>2]|0,(c[da>>2]|0)+-128+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 78:{Nv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,1,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 79:{c[m>>2]=c[1063];c[m+4>>2]=c[1064];c[m+8>>2]=c[1065];c[m+12>>2]=c[1066];c[m+16>>2]=c[1067];c[m+20>>2]=c[1068];Pv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,m)|0;fv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 80:{c[o>>2]=c[(c[da>>2]|0)+4>>2];if(c[o>>2]|0){c[(c[o>>2]|0)+64>>2]=c[(c[da>>2]|0)+-16+4>>2];Qv(c[_>>2]|0,c[o>>2]|0)}else dv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);c[(c[da>>2]|0)+-16+4>>2]=c[o>>2];break}case 81:{c[D>>2]=c[(c[da>>2]|0)+4>>2];c[v>>2]=c[(c[da>>2]|0)+-32+4>>2];if((c[D>>2]|0)!=0?(c[(c[D>>2]|0)+48>>2]|0)!=0:0){c[W+4>>2]=0;Qv(c[_>>2]|0,c[D>>2]|0);c[s>>2]=Rv(c[_>>2]|0,0,0,0,W,c[D>>2]|0,0,0)|0;c[D>>2]=Sv(c[_>>2]|0,0,c[s>>2]|0,0,0,0,0,0,0,0)|0}if(c[D>>2]|0){a[(c[D>>2]|0)+4>>0]=c[(c[da>>2]|0)+-16+4>>2];c[(c[D>>2]|0)+48>>2]=c[v>>2];if(c[v>>2]|0){Z=(c[v>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025}Z=(c[D>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025;if((c[(c[da>>2]|0)+-16+4>>2]|0)!=116)a[(c[_>>2]|0)+22>>0]=1}else fv(c[c[_>>2]>>2]|0,c[v>>2]|0);c[(c[da>>2]|0)+-32+4>>2]=c[D>>2];break}case 84:case 82:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 83:{c[(c[da>>2]|0)+-16+4>>2]=116;break}case 85:{_=Sv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+4+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=_;break}case 86:{_=Sv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 87:{c[t>>2]=c[(c[da>>2]|0)+-64+4>>2];c[E>>2]=Sv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;if(c[t>>2]|0){_=(c[t>>2]|0)+8|0;c[_>>2]=c[_>>2]&-1025}if(c[E>>2]|0){a[(c[E>>2]|0)+4>>0]=116;c[(c[E>>2]|0)+48>>2]=c[t>>2];c[(c[da>>2]|0)+-64+4>>2]=c[E>>2];break a}else{c[(c[da>>2]|0)+-64+4>>2]=c[t>>2];break a}}case 88:{c[(c[da>>2]|0)+4>>2]=1;break}case 89:{c[(c[da>>2]|0)+4>>2]=2;break}case 211:case 206:case 203:case 126:case 119:case 91:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 92:{Z=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;if((c[(c[da>>2]|0)+4+4>>2]|0)>>>0>0)Uv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1);Vv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 93:{c[q>>2]=Wv(c[c[_>>2]>>2]|0,160,0)|0;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[q>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 94:{c[F>>2]=Ev(c[_>>2]|0,160,0,0,0)|0;c[u>>2]=Ev(c[_>>2]|0,55,0,0,(c[da>>2]|0)+-32+4|0)|0;c[r>>2]=Ev(c[_>>2]|0,122,c[u>>2]|0,c[F>>2]|0,0)|0;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[r>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 226:case 225:case 106:case 95:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 97:{_=sh(c[c[_>>2]>>2]|0,80,0)|0;c[(c[da>>2]|0)+16+4>>2]=_;break}case 98:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];Xv(c[(c[da>>2]|0)+-16+4>>2]|0);break}case 99:{if((c[(c[da>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>0:0)a[(c[(c[da>>2]|0)+-16+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[da>>2]|0)+4>>2];break}case 100:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 101:{Z=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;Yv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-32+4|0);break}case 102:{Z=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=Z;Zv(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 103:{_=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 104:{if((((c[(c[da>>2]|0)+-96+4>>2]|0)==0?(c[(c[da>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+4>>2]|0)==0:0){c[(c[da>>2]|0)+-96+4>>2]=c[(c[da>>2]|0)+-64+4>>2];break a}if((c[c[(c[da>>2]|0)+-64+4>>2]>>2]|0)!=1){Xv(c[(c[da>>2]|0)+-64+4>>2]|0);c[I>>2]=Sv(c[_>>2]|0,0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;_=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[I>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break a}Z=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;if(c[(c[da>>2]|0)+-96+4>>2]|0){c[A>>2]=(c[(c[da>>2]|0)+-96+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);c[B>>2]=(c[(c[da>>2]|0)+-64+4>>2]|0)+8;c[(c[A>>2]|0)+8>>2]=c[(c[B>>2]|0)+8>>2];c[(c[A>>2]|0)+4>>2]=c[(c[B>>2]|0)+4>>2];c[(c[A>>2]|0)+20>>2]=c[(c[B>>2]|0)+20>>2];c[(c[B>>2]|0)+4>>2]=0;c[(c[B>>2]|0)+8>>2]=0;c[(c[B>>2]|0)+20>>2]=0}hv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 107:{_=_v(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 108:{c[(c[da>>2]|0)+4>>2]=1;break}case 109:{_=$v(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,0,0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 110:{_=$v(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 111:{_=$v(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 199:case 136:case 129:case 112:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 202:case 200:case 135:case 128:case 113:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 115:{_=(c[da>>2]|0)+-32+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 116:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=1;break}case 117:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 146:case 118:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 127:case 120:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 121:{_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;aw(c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 122:{_=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;aw(c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 123:{c[(c[da>>2]|0)+4>>2]=0;break}case 124:{c[(c[da>>2]|0)+4>>2]=1;break}case 125:{c[(c[da>>2]|0)+16+4>>2]=-1;break}case 130:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 131:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 132:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 133:{c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 134:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);Yv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);cw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 137:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,1);Yv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-48+4|0);dw(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,27177);ew(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 138:{Z=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;Uv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,1);break}case 139:{_=fw(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 140:{c[X>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;Uv(c[_>>2]|0,c[X>>2]|0,(c[da>>2]|0)+-32+4|0,1);c[(c[da>>2]|0)+-32+4>>2]=c[X>>2];break}case 141:{_=fw(c[_>>2]|0,0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 142:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);gw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 143:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,1);gw(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 147:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 148:{_=hw(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 149:{_=hw(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 150:{iw((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 157:case 156:case 151:{Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;_=d[(c[da>>2]|0)+2>>0]|0;g=(c[da>>2]|0)+4|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];Fv(Y,Z,_,h);break}case 153:case 152:{Z=(c[da>>2]|0)+4|0;_=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];Fv(Z,_,55,h);break}case 154:{c[J>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[L>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;iw((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,122,c[J>>2]|0,c[L>>2]|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 155:{c[K>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-64+4|0,1)|0;c[M>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[N>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;c[O>>2]=Ev(c[_>>2]|0,122,c[M>>2]|0,c[N>>2]|0,0)|0;iw((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,122,c[K>>2]|0,c[O>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 158:{c[X>>2]=jw(c[c[_>>2]>>2]|0,134,(c[da>>2]|0)+4|0,1)|0;c[X+4>>2]=c[(c[da>>2]|0)+4>>2];c[X+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);if(c[X>>2]|0){_=(c[X>>2]|0)+4|0;c[_>>2]=c[_>>2]|8388608}_=(c[da>>2]|0)+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 159:{if((a[c[(c[da>>2]|0)+4>>2]>>0]|0)==35?(d[18403+(d[(c[(c[da>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h=(c[da>>2]|0)+4|0;c[Y>>2]=c[h>>2];c[Y+4>>2]=c[h+4>>2];iw((c[da>>2]|0)+4|0,Y,Y);h=c[_>>2]|0;if(!(d[(c[_>>2]|0)+18>>0]|0)){c[Z>>2]=Y;Eh(h,26462,Z);c[(c[da>>2]|0)+4>>2]=0;break a}_=Ev(h,157,0,0,0)|0;c[(c[da>>2]|0)+4>>2]=_;if(!(c[(c[da>>2]|0)+4>>2]|0))break a;Qi((c[Y>>2]|0)+1|0,(c[(c[da>>2]|0)+4>>2]|0)+28|0)|0;break a}c[n>>2]=c[(c[da>>2]|0)+4+4>>2];Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;g=(c[da>>2]|0)+4|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];Fv(Y,Z,135,h);kw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[n>>2]|0);break}case 160:{_=lw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1)|0;c[(c[da>>2]|0)+-32+4>>2]=_;c[(c[da>>2]|0)+-32+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 161:{iw((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,66,c[(c[da>>2]|0)+-48+4>>2]|0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 162:{if((c[(c[da>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[_>>2]>>2]|0)+96+24>>2]|0):0){Z=c[_>>2]|0;c[U>>2]=(c[da>>2]|0)+-64+4;Eh(Z,27186,U)}c[X>>2]=mw(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,(c[da>>2]|0)+-64+4|0)|0;iw(X,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);if((c[(c[da>>2]|0)+-32+4>>2]|0)==1?(c[X>>2]|0)!=0:0){_=(c[X>>2]|0)+4|0;c[_>>2]=c[_>>2]|16}_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 163:{c[X>>2]=mw(c[_>>2]|0,0,(c[da>>2]|0)+-48+4|0)|0;iw(X,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+-48+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 164:{c[X>>2]=mw(c[_>>2]|0,0,(c[da>>2]|0)+4|0)|0;iw(X,(c[da>>2]|0)+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 165:{c[w>>2]=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[X>>2]=Ev(c[_>>2]|0,158,0,0,0)|0;if(c[X>>2]|0){c[(c[X>>2]|0)+20>>2]=c[w>>2];iw(X,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0)}else ev(c[c[_>>2]>>2]|0,c[w>>2]|0);_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 173:case 172:case 171:case 170:case 169:case 168:case 167:case 166:{nw(c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 174:{_=(c[da>>2]|0)+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 175:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];_=(c[da>>2]|0)+-16+4+4|0;c[_>>2]=c[_>>2]|-2147483648;break}case 176:{c[k>>2]=c[(c[da>>2]|0)+-16+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-16+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[y>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[y>>2]=Tv(c[_>>2]|0,c[y>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;Z=mw(c[_>>2]|0,c[y>>2]|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;ow(c[_>>2]|0,c[k>>2]|0,(c[da>>2]|0)+-32+4|0);c[(c[da>>2]|0)+-32+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-32+4>>2]|0){_=(c[(c[da>>2]|0)+-32+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 177:{c[l>>2]=c[(c[da>>2]|0)+-48+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-48+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[z>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[z>>2]=Tv(c[_>>2]|0,c[z>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)|0;c[z>>2]=Tv(c[_>>2]|0,c[z>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=mw(c[_>>2]|0,c[z>>2]|0,(c[da>>2]|0)+-48+4|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;ow(c[_>>2]|0,c[l>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-64+4>>2]|0){_=(c[(c[da>>2]|0)+-64+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 178:{pw(c[_>>2]|0,d[(c[da>>2]|0)+2>>0]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 179:{pw(c[_>>2]|0,35,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 180:{nw(c[_>>2]|0,29,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);qw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,34);break}case 181:{nw(c[_>>2]|0,148,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);qw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,35);break}case 183:case 182:{rw((c[da>>2]|0)+-16+4|0,c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 184:{rw((c[da>>2]|0)+-16+4|0,c[_>>2]|0,155,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 185:{rw((c[da>>2]|0)+-16+4|0,c[_>>2]|0,156,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 189:case 186:{c[(c[da>>2]|0)+4>>2]=0;break}case 188:{c[x>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[x>>2]=Tv(c[_>>2]|0,c[x>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=Ev(c[_>>2]|0,32,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0)c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[x>>2];else ev(c[c[_>>2]>>2]|0,c[x>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];break}case 191:{do if(!(c[(c[da>>2]|0)+-16+4>>2]|0)){iv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);_=Ev(c[_>>2]|0,134,0,0,4276+(c[(c[da>>2]|0)+-48+4>>2]<<3)|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_}else{if((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)==1){c[C>>2]=c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;ev(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);if(c[C>>2]|0){Z=(c[C>>2]|0)+4|0;c[Z>>2]=c[Z>>2]&-257;Z=(c[C>>2]|0)+4|0;c[Z>>2]=c[Z>>2]|512}_=Ev(c[_>>2]|0,(c[(c[da>>2]|0)+-48+4>>2]|0)!=0?36:37,c[(c[da>>2]|0)+-64+4>>2]|0,c[C>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}Z=Ev(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0){c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[da>>2]|0)+-16+4>>2];sw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)}else ev(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0)}while(0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 192:{iw((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);Z=Ev(c[_>>2]|0,119,0,0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;tw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 193:{Z=Ev(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;tw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 194:{c[H>>2]=_v(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[G>>2]=Sv(c[_>>2]|0,0,c[H>>2]|0,0,0,0,0,0,0,0)|0;if(c[(c[da>>2]|0)+4>>2]|0)Zv(c[_>>2]|0,(c[G>>2]|0)!=0?c[H>>2]|0:0,c[(c[da>>2]|0)+4>>2]|0);h=Ev(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=h;tw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[G>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);h=c[da>>2]|0;if(c[(c[da>>2]|0)+-16+4>>2]|0)h=(c[(c[da>>2]|0)+-16+4>>2]|0)+(c[h+-16+4+4>>2]|0)|0;else h=(c[(c[da>>2]|0)+-32+4>>2]|0)+(c[h+-32+4+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4+8>>2]=h;break}case 195:{iw((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);Z=Ev(c[_>>2]|0,20,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;c[p>>2]=Z;tw(c[_>>2]|0,c[p>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 196:{iw((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);Z=Ev(c[_>>2]|0,136,c[(c[da>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(!(c[(c[da>>2]|0)+-64+4>>2]|0)){ev(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);iv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break a}if(c[(c[da>>2]|0)+-16+4>>2]|0)h=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[da>>2]|0)+-32+4>>2]|0;c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=h;sw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 197:{Z=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 198:{Z=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 201:{c[(c[da>>2]|0)+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 204:{_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 205:{_=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 212:case 207:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 208:{Iv(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,_v(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-64+4|0,0)|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,(c[da>>2]|0)+-176+4|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-128+4>>2]|0,0);break}case 250:case 209:{c[(c[da>>2]|0)+4>>2]=2;break}case 210:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 213:{_=uw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 214:{_=uw(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 217:{vw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 218:{ww(c[_>>2]|0,0);break}case 219:{ww(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 220:{xw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,0,0);break}case 221:{xw(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,0);break}case 222:{xw(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,0);break}case 223:{xw(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,1);break}case 224:{xw(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,1);break}case 227:{c[j>>2]=c[(c[da>>2]|0)+-48+4>>2];c[j+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);yw(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,j);break}case 228:{zw(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-64+4+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0);h=(c[da>>2]|0)+-160+4|0;j=c[da>>2]|0;if(!(c[(c[da>>2]|0)+-96+4+4>>2]|0)){_=j+-112+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}else{_=j+-96+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}}case 229:{c[(c[da>>2]|0)+4>>2]=63;break}case 230:{c[(c[da>>2]|0)+4>>2]=59;break}case 231:{c[(c[da>>2]|0)+-16+4>>2]=77;break}case 232:{c[(c[da>>2]|0)+16+4>>2]=63;break}case 234:case 233:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];c[(c[da>>2]|0)+4+4>>2]=0;break}case 235:{c[(c[da>>2]|0)+-32+4>>2]=110;c[(c[da>>2]|0)+-32+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 255:case 236:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 256:case 237:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 238:{c[(c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[da>>2]|0)+-16+4>>2];c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 239:{c[(c[(c[da>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 240:{Z=(c[da>>2]|0)+-32+4|0;Y=(c[da>>2]|0)+4|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];Eh(c[_>>2]|0,27220,V);break}case 241:{Eh(c[_>>2]|0,27315,S);break}case 242:{Eh(c[_>>2]|0,27399,T);break}case 243:{_=Aw(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-64+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]&255)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 244:{_=Bw(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]&255)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 245:{_=Cw(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 246:{_=Dw(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 247:{iw((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,83,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;if(c[(c[da>>2]|0)+-48+4>>2]|0)a[(c[(c[da>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 248:{iw((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,83,0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;if(c[(c[da>>2]|0)+-80+4>>2]|0)a[(c[(c[da>>2]|0)+-80+4>>2]|0)+1>>0]=c[(c[da>>2]|0)+-48+4>>2];break}case 249:{c[(c[da>>2]|0)+4>>2]=1;break}case 251:{c[(c[da>>2]|0)+4>>2]=3;break}case 252:{Ew(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 253:{Fw(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 254:{Gw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 257:{Hw(c[_>>2]|0,0,0);break}case 258:{Hw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 259:{Iw(c[_>>2]|0,0,0);break}case 260:{Iw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 261:{Jw(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+4|0);break}case 262:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[_>>2]|0)+392>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0)+(c[(c[_>>2]|0)+392+4>>2]|0);Kw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 263:{Av(c[_>>2]|0);Lw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 264:{Mw(c[_>>2]|0,0);break}case 265:{Mw(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 266:{Nw(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 267:{Ow(c[_>>2]|0);break}case 270:case 269:case 268:{Pw(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 271:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 272:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 273:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 274:{_=Qw(c[_>>2]|0,0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 275:{_=Qw(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-112+4>>2]=_;break}default:{}}while(0);c[ca>>2]=d[26486+(c[aa>>2]<<1)>>0];c[ea>>2]=d[26486+(c[aa>>2]<<1)+1>>0];c[ba>>2]=Rw(e[(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4)>>1]|0,c[ca>>2]&255)|0;if((c[ba>>2]|0)>999){da=c[$>>2]|0;c[da>>2]=(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4);Sw(c[$>>2]|0);i=fa;return}if((c[ba>>2]|0)>455)c[ba>>2]=(c[ba>>2]|0)+332;c[da>>2]=(c[da>>2]|0)+(0-((c[ea>>2]|0)-1)<<4);c[c[$>>2]>>2]=c[da>>2];b[c[da>>2]>>1]=c[ba>>2];a[(c[da>>2]|0)+2>>0]=c[ca>>2];i=fa;return}function sv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];a=c[g>>2]|0;c[h>>2]=d;Eh(a,26462,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];i=e;return}function tv(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-16;while(1){if((c[c[b>>2]>>2]|0)>>>0<=((c[b>>2]|0)+8|0)>>>0)break;mv(c[b>>2]|0)}Eh(c[d>>2]|0,37597,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];i=f;return}function uv(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;l=n+20|0;h=n+16|0;g=n+12|0;k=n+8|0;m=n+4|0;j=n;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){i=n;return}if((d[(c[f>>2]|0)+69>>0]|0)==0?(c[(c[e>>2]|0)+36>>2]|0)==0:0){c[l>>2]=dx(c[e>>2]|0)|0;do if((c[l>>2]|0)!=0?(fx(c[l>>2]|0,75)|0,(d[(c[f>>2]|0)+69>>0]|0)==0):0){if((c[(c[e>>2]|0)+96>>2]|0)==0?(c[(c[e>>2]|0)+80>>2]|0)==0:0)break;Zz(c[l>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0)!=0?(Lh(c[l>>2]|0,c[h>>2]|0),c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2],Ih(c[l>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+92>>2]&1<>2]|0)!=0&1,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+148+5>>0]|0)==0):0)Jh(c[l>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+412>>2]|0))break;c[m>>2]=Ux(c[f>>2]|0,c[(c[(c[e>>2]|0)+460>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;mx(c[l>>2]|0,152,0,0,0,c[m>>2]|0,-10)|0;c[g>>2]=(c[g>>2]|0)+1}c[(c[e>>2]|0)+412>>2]=0;PH(c[e>>2]|0);QH(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+80>>2]|0){c[j>>2]=c[(c[e>>2]|0)+80>>2];a[(c[e>>2]|0)+23>>0]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[j>>2]>>2]|0))break a;RA(c[e>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Yz(c[l>>2]|0,1)|0}while(0);if(((c[l>>2]|0)!=0?(c[(c[e>>2]|0)+36>>2]|0)==0:0)?(a[(c[f>>2]|0)+69>>0]|0)==0:0){if((c[(c[e>>2]|0)+120>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)==0:0)c[(c[e>>2]|0)+40>>2]=1;Nh(c[l>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;i=n;return}c[(c[e>>2]|0)+12>>2]=1;i=n;return}if(c[(c[e>>2]|0)+12>>2]|0){i=n;return}c[(c[e>>2]|0)+12>>2]=1;i=n;return}function vv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(ax(c[d>>2]|0,22,37527,0,0)|0){i=j;return}c[h>>2]=dx(c[d>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}a:do if((c[e>>2]|0)!=7){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;ix(c[h>>2]|0,2,c[g>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;Lh(c[h>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);fx(c[h>>2]|0,1)|0;i=j;return}function wv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(ax(c[b>>2]|0,22,37550,0,0)|0){i=e;return}c[d>>2]=dx(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Sz(c[d>>2]|0,1,1)|0;i=e;return}function xv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(ax(c[b>>2]|0,22,37541,0,0)|0){i=e;return}c[d>>2]=dx(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}ix(c[d>>2]|0,1,1,1)|0;i=e;return}function yv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=Tw(c[c[e>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}c[g>>2]=dx(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(ax(c[e>>2]|0,32,c[5512+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){mx(c[g>>2]|0,0,c[f>>2]|0,0,0,c[h>>2]|0,-1)|0;i=j;return}Tf(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}function zv(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;m=J+92|0;n=J+88|0;o=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;r=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;p=J+36|0;q=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;c[w>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;c[H>>2]=0;c[A>>2]=c[c[w>>2]>>2];if((d[(c[A>>2]|0)+148+5>>0]|0)!=0?(c[(c[A>>2]|0)+148>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+148+4>>0];c[H>>2]=qh(c[A>>2]|0,(c[I>>2]|0)==1?19905:19924)|0;c[B>>2]=c[m>>2]}else{c[I>>2]=Oz(c[w>>2]|0,c[m>>2]|0,c[n>>2]|0,B)|0;if((c[I>>2]|0)<0){i=J;return}if((c[o>>2]|0)!=0?((c[I>>2]|0)!=1?(c[(c[n>>2]|0)+4>>2]|0)>>>0>0:0):0){Eh(c[w>>2]|0,37417,s);i=J;return}if(c[o>>2]|0)c[I>>2]=1;c[H>>2]=Tw(c[A>>2]|0,c[B>>2]|0)|0}s=(c[w>>2]|0)+384|0;e=c[B>>2]|0;c[s>>2]=c[e>>2];c[s+4>>2]=c[e+4>>2];if(!(c[H>>2]|0)){i=J;return}a:do if(!(Sx(c[w>>2]|0,c[H>>2]|0)|0)){if((d[(c[A>>2]|0)+148+4>>0]|0)==1)c[o>>2]=1;c[u>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(ax(c[w>>2]|0,18,(c[o>>2]|0)==1?19905:19924,0,c[u>>2]|0)|0)){if((c[y>>2]|0)==0?(ax(c[w>>2]|0,d[37458+((c[o>>2]|0)+(c[x>>2]<<1))>>0]|0,c[H>>2]|0,0,c[u>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+410>>0]|0)){c[v>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(Kz(c[w>>2]|0)|0)break a;c[r>>2]=ti(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0;if(!(c[r>>2]|0)){if(!(Kj(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0))break;I=c[w>>2]|0;c[t>>2]=c[H>>2];Eh(I,37486,t);break a}m=c[w>>2]|0;if(c[z>>2]|0){sx(m,c[I>>2]|0);break a}else{c[G>>2]=c[B>>2];Eh(m,37462,G);break a}}while(0);c[r>>2]=sh(c[A>>2]|0,72,0)|0;if(!(c[r>>2]|0)){c[(c[w>>2]|0)+12>>2]=7;I=(c[w>>2]|0)+36|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[r>>2]>>2]=c[H>>2];b[(c[r>>2]|0)+32>>1]=-1;c[(c[r>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[r>>2]|0)+36>>1]=1;b[(c[r>>2]|0)+38>>1]=200;c[(c[w>>2]|0)+440>>2]=c[r>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(hR(c[H>>2]|0,28817)|0)==0:0)c[(c[(c[r>>2]|0)+64>>2]|0)+72>>2]=c[r>>2];if(a[(c[A>>2]|0)+148+5>>0]|0){i=J;return}H=dx(c[w>>2]|0)|0;c[F>>2]=H;if(!H){i=J;return}rx(c[w>>2]|0,1,c[I>>2]|0);if(c[y>>2]|0)fx(c[F>>2]|0,152)|0;H=(c[w>>2]|0)+44|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[(c[w>>2]|0)+100>>2]=m;c[C>>2]=m;m=(c[w>>2]|0)+44|0;H=(c[m>>2]|0)+1|0;c[m>>2]=H;c[(c[w>>2]|0)+104>>2]=H;c[D>>2]=H;H=(c[w>>2]|0)+44|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[E>>2]=m;jx(c[F>>2]|0,101,c[I>>2]|0,c[E>>2]|0,2)|0;Lh(c[F>>2]|0,c[I>>2]|0);c[p>>2]=Sz(c[F>>2]|0,21,c[E>>2]|0)|0;c[q>>2]=(c[(c[A>>2]|0)+24>>2]&32768|0)!=0?1:4;jx(c[F>>2]|0,102,c[I>>2]|0,2,c[q>>2]|0)|0;jx(c[F>>2]|0,102,c[I>>2]|0,5,d[(c[A>>2]|0)+66>>0]|0)|0;Zz(c[F>>2]|0,c[p>>2]|0);m=c[F>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0)ix(m,76,0,c[D>>2]|0)|0;else{H=ix(m,135,c[I>>2]|0,c[D>>2]|0)|0;c[(c[w>>2]|0)+132>>2]=H}OH(c[w>>2]|0,c[I>>2]|0);ix(c[F>>2]|0,114,0,c[C>>2]|0)|0;mx(c[F>>2]|0,81,6,c[E>>2]|0,0,37521,-2)|0;jx(c[F>>2]|0,115,0,c[E>>2]|0,c[C>>2]|0)|0;Jh(c[F>>2]|0,8);fx(c[F>>2]|0,111)|0;i=J;return}}while(0);Tf(c[A>>2]|0,c[H>>2]|0);i=J;return}function Av(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=d;return}function Bv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;k=R+200|0;l=R+196|0;m=R+192|0;n=R+204|0;o=R+188|0;w=R+184|0;r=R+180|0;t=R+176|0;z=R+172|0;u=R+168|0;G=R+164|0;P=R+160|0;Q=R+156|0;O=R+152|0;s=R+128|0;F=R+120|0;q=R+116|0;D=R+112|0;E=R+108|0;p=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;c[o>>2]=j;c[r>>2]=c[c[k>>2]>>2];if((c[m>>2]|0)==0&(c[o>>2]|0)==0){i=R;return}c[w>>2]=c[(c[k>>2]|0)+440>>2];if(!(c[w>>2]|0)){i=R;return}if((a[(c[r>>2]|0)+148+5>>0]|0)!=0?(c[(c[w>>2]|0)+28>>2]=c[(c[r>>2]|0)+148>>2],(c[(c[w>>2]|0)+28>>2]|0)==1):0){h=(c[w>>2]|0)+42|0;a[h>>0]=d[h>>0]|1}do if(d[n>>0]&32){if(d[(c[w>>2]|0)+42>>0]&8){Eh(c[k>>2]|0,37098,H);i=R;return}if(!(d[(c[w>>2]|0)+42>>0]&4)){H=c[k>>2]|0;c[J>>2]=c[c[w>>2]>>2];Eh(H,37148,J);break}else{J=(c[w>>2]|0)+42|0;a[J>>0]=d[J>>0]|96;IH(c[k>>2]|0,c[w>>2]|0);break}}while(0);c[t>>2]=Fh(c[r>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;if(c[(c[w>>2]|0)+24>>2]|0)BH(c[k>>2]|0,c[w>>2]|0,4,0,c[(c[w>>2]|0)+24>>2]|0);JH(c[w>>2]|0);c[z>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;EH(c[z>>2]|0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(!(a[(c[r>>2]|0)+148+5>>0]|0)){c[G>>2]=dx(c[k>>2]|0)|0;if(!(c[G>>2]|0)){i=R;return}Sz(c[G>>2]|0,111,0)|0;if(!(c[(c[w>>2]|0)+12>>2]|0)){c[P>>2]=32993;c[Q>>2]=37180}else{c[P>>2]=36058;c[Q>>2]=37186}do if(c[o>>2]|0){H=(c[k>>2]|0)+44|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[F>>2]=J;J=(c[k>>2]|0)+44|0;H=(c[J>>2]|0)+1|0;c[J>>2]=H;c[D>>2]=H;H=(c[k>>2]|0)+44|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[E>>2]=J;Vx(c[k>>2]|0);jx(c[G>>2]|0,105,1,c[(c[k>>2]|0)+104>>2]|0,c[t>>2]|0)|0;Jh(c[G>>2]|0,16);c[(c[k>>2]|0)+40>>2]=2;c[q>>2]=(wx(c[G>>2]|0)|0)+1;jx(c[G>>2]|0,15,c[F>>2]|0,0,c[q>>2]|0)|0;vB(s,13,c[F>>2]|0);Pv(c[k>>2]|0,c[o>>2]|0,s)|0;YC(c[G>>2]|0,c[F>>2]|0);Zz(c[G>>2]|0,(c[q>>2]|0)-1|0);if(c[(c[k>>2]|0)+36>>2]|0){i=R;return}c[C>>2]=ay(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[C>>2]|0)){i=R;return}else{b[(c[w>>2]|0)+34>>1]=b[(c[C>>2]|0)+34>>1]|0;c[(c[w>>2]|0)+4>>2]=c[(c[C>>2]|0)+4>>2];b[(c[C>>2]|0)+34>>1]=0;c[(c[C>>2]|0)+4>>2]=0;Rf(c[r>>2]|0,c[C>>2]|0);c[p>>2]=Sz(c[G>>2]|0,16,c[s+8>>2]|0)|0;jx(c[G>>2]|0,99,c[s+12>>2]|0,c[s+16>>2]|0,c[D>>2]|0)|0;$C(c[G>>2]|0,c[w>>2]|0,0);ix(c[G>>2]|0,114,1,c[E>>2]|0)|0;jx(c[G>>2]|0,115,1,c[D>>2]|0,c[E>>2]|0)|0;Yz(c[G>>2]|0,c[p>>2]|0)|0;Zz(c[G>>2]|0,c[p>>2]|0);Sz(c[G>>2]|0,111,1)|0;break}}while(0);if(c[o>>2]|0)c[O>>2]=KH(c[r>>2]|0,c[w>>2]|0)|0;else{c[y>>2]=(d[n>>0]|0)!=0?(c[k>>2]|0)+392|0:c[m>>2]|0;c[u>>2]=(c[c[y>>2]>>2]|0)-(c[(c[k>>2]|0)+384>>2]|0);if((a[c[c[y>>2]>>2]>>0]|0)!=59)c[u>>2]=(c[u>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0);J=c[r>>2]|0;h=c[u>>2]|0;H=c[(c[k>>2]|0)+384>>2]|0;c[L>>2]=c[Q>>2];c[L+4>>2]=h;c[L+8>>2]=H;c[O>>2]=Gh(J,37191,L)|0}Q=c[k>>2]|0;E=(c[t>>2]|0)==1?19905:19924;F=c[P>>2]|0;h=c[c[w>>2]>>2]|0;H=c[c[w>>2]>>2]|0;J=c[(c[k>>2]|0)+104>>2]|0;L=c[O>>2]|0;P=c[(c[k>>2]|0)+100>>2]|0;c[M>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[M+4>>2]=E;c[M+8>>2]=F;c[M+12>>2]=h;c[M+16>>2]=H;c[M+20>>2]=J;c[M+24>>2]=L;c[M+28>>2]=P;cx(Q,37206,M);Tf(c[r>>2]|0,c[O>>2]|0);ex(c[k>>2]|0,c[t>>2]|0);if((d[(c[w>>2]|0)+42>>0]&8|0)!=0?(c[x>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4),(c[(c[(c[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[k>>2]|0;c[I>>2]=c[c[x>>2]>>2];cx(Q,37293,I)}O=c[G>>2]|0;P=c[t>>2]|0;Q=c[r>>2]|0;c[K>>2]=c[c[w>>2]>>2];gx(O,P,Gh(Q,37335,K)|0)}if(!(a[(c[r>>2]|0)+148+5>>0]|0)){i=R;return}c[B>>2]=c[(c[w>>2]|0)+64>>2];c[A>>2]=Uj((c[B>>2]|0)+8|0,c[c[w>>2]>>2]|0,c[w>>2]|0)|0;if(c[A>>2]|0){mh(c[r>>2]|0);i=R;return}c[(c[k>>2]|0)+440>>2]=0;Q=(c[r>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[w>>2]|0)+12>>2]|0){i=R;return}c[N>>2]=c[(c[k>>2]|0)+384>>2];if(!(c[c[l>>2]>>2]|0))c[l>>2]=c[m>>2];c[v>>2]=(c[c[l>>2]>>2]|0)-(c[N>>2]|0);Q=13+(Wx(c[N>>2]|0,c[v>>2]|0)|0)|0;c[(c[w>>2]|0)+44>>2]=Q;i=R;return}function Cv(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;r=v+8|0;q=v;h=v+48|0;j=v+44|0;k=v+40|0;o=v+36|0;n=v+32|0;s=v+28|0;t=v+24|0;p=v+20|0;m=v+16|0;l=v+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];g=c[(c[h>>2]|0)+440>>2]|0;c[o>>2]=g;if(!g){i=v;return}if(((b[(c[o>>2]|0)+34>>1]|0)+1|0)>(c[(c[m>>2]|0)+96+8>>2]|0)){u=c[h>>2]|0;c[q>>2]=c[c[o>>2]>>2];Eh(u,37049,q);i=v;return}c[s>>2]=Ch(c[m>>2]|0,(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)+2|0,0)|0;if(!(c[s>>2]|0)){i=v;return}TR(c[s>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;a[(c[s>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)>>0]=0;Zw(c[s>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;if(!(Td(c[s>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0)|0)){u=8;break}c[n>>2]=(c[n>>2]|0)+1}if((u|0)==8){u=c[h>>2]|0;c[r>>2]=c[s>>2];Eh(u,37072,r);Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}do if(!(b[(c[o>>2]|0)+34>>1]&7)){c[l>>2]=Uw(c[m>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+34>>1]|0)+8<<4,0)|0;if(c[l>>2]|0){c[(c[o>>2]|0)+4>>2]=c[l>>2];break}Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}while(0);c[p>>2]=(c[(c[o>>2]|0)+4>>2]|0)+(b[(c[o>>2]|0)+34>>1]<<4);u=c[p>>2]|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[c[p>>2]>>2]=c[s>>2];if(!(c[(c[k>>2]|0)+4>>2]|0)){a[(c[p>>2]|0)+13>>0]=65;a[(c[p>>2]|0)+14>>0]=1}else{u=c[s>>2]|0;c[t>>2]=u+(Jf(c[s>>2]|0)|0)+1;TR(c[t>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[t>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Zw(c[t>>2]|0);u=Dx(c[t>>2]|0,(c[p>>2]|0)+14|0)|0;a[(c[p>>2]|0)+13>>0]=u;u=(c[p>>2]|0)+15|0;a[u>>0]=d[u>>0]|4}u=(c[o>>2]|0)+34|0;b[u>>1]=(b[u>>1]|0)+1<<16>>16;c[(c[h>>2]|0)+84+4>>2]=0;i=v;return}function Dv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+80|0;h=n;f=n+72|0;j=n+68|0;g=n+64|0;l=n+60|0;k=n+56|0;m=n+8|0;c[f>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+440>>2];if(!(c[g>>2]|0)){l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;iv(l,m);i=n;return}c[l>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4);if(HH(c[c[j>>2]>>2]|0,a[(c[k>>2]|0)+148+5>>0]|0)|0){iv(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0);f=m;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a[m>>0]=-95;h=(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0)|0;c[m+8>>2]=Yw(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,h,((h|0)<0)<<31>>31)|0;c[m+12>>2]=c[c[j>>2]>>2];c[m+4>>2]=4096;h=Iy(c[k>>2]|0,m,1)|0;c[(c[l>>2]|0)+4>>2]=h;Tf(c[k>>2]|0,c[m+8>>2]|0);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;iv(l,m);i=n;return}else{m=c[f>>2]|0;c[h>>2]=c[c[l>>2]>>2];Eh(m,37004,h);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;iv(l,m);i=n;return}}function Ev(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)==28?(c[(c[g>>2]|0)+36>>2]|0)==0:0)c[m>>2]=wz(c[c[g>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=jw(c[c[g>>2]>>2]|0,c[h>>2]&255,c[l>>2]|0,1)|0;yz(c[c[g>>2]>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){f=c[m>>2]|0;i=n;return f|0}Zy(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;f=c[m>>2]|0;i=n;return f|0}function Fv(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;j=m+12|0;n=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[n>>2]=f;c[k>>2]=g;c[l>>2]=Vw(c[c[n>>2]>>2]|0,48+(c[h+4>>2]|0)+1|0,0)|0;if(!(c[l>>2]|0)){n=c[l>>2]|0;l=c[j>>2]|0;c[l>>2]=n;l=c[h>>2]|0;n=c[j>>2]|0;n=n+4|0;c[n>>2]=l;n=h+4|0;n=c[n>>2]|0;h=c[h>>2]|0;h=h+n|0;n=c[j>>2]|0;n=n+8|0;c[n>>2]=h;i=m;return}g=c[l>>2]|0;e=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));a[c[l>>2]>>0]=c[k>>2];c[(c[l>>2]|0)+4>>2]=8388608;b[(c[l>>2]|0)+34>>1]=-1;c[(c[l>>2]|0)+8>>2]=(c[l>>2]|0)+48;TR(c[(c[l>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[(c[l>>2]|0)+8>>2]|0)+(c[h+4>>2]|0)>>0]=0;if(d[18403+(d[c[(c[l>>2]|0)+8>>2]>>0]|0)>>0]&128){if((a[c[(c[l>>2]|0)+8>>2]>>0]|0)==34){n=(c[l>>2]|0)+4|0;c[n>>2]=c[n>>2]|64}Zw(c[(c[l>>2]|0)+8>>2]|0)}c[(c[l>>2]|0)+24>>2]=1;n=c[l>>2]|0;l=c[j>>2]|0;c[l>>2]=n;l=c[h>>2]|0;n=c[j>>2]|0;n=n+4|0;c[n>>2]=l;n=h+4|0;n=c[n>>2]|0;h=c[h>>2]|0;h=h+n|0;n=c[j>>2]|0;n=n+8|0;c[n>>2]=h;i=m;return}function Gv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[j>>2]|0)+440>>2];if(!(c[g>>2]|0)){i=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){i=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4)+12>>0]=c[f>>2];i=h;return}function Hv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;x=y+8|0;k=y;s=y+56|0;t=y+52|0;u=y+48|0;v=y+44|0;w=y+40|0;q=y+36|0;p=y+32|0;m=y+28|0;l=y+24|0;n=y+20|0;o=y+16|0;r=y+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=j;c[q>>2]=c[(c[s>>2]|0)+440>>2];c[p>>2]=0;c[m>>2]=-1;if(!(c[q>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}if(d[(c[q>>2]|0)+42>>0]&4){w=c[s>>2]|0;c[k>>2]=c[c[q>>2]>>2];Eh(w,36907,k);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}k=(c[q>>2]|0)+42|0;a[k>>0]=d[k>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[q>>2]|0)+34>>1]|0)-1;c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[p>>2]|0)+15|0;a[r>>0]=d[r>>0]|1;c[n>>2]=1}else{c[n>>2]=c[c[t>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break a;c[o>>2]=ky(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)|0;CH(c[o>>2]|0);b:do if((d[c[o>>2]>>0]|0)==55){c[r>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[q>>2]|0)+34>>1]|0))break b;k=(ig(c[r>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)==0;h=c[m>>2]|0;if(k)break;c[m>>2]=h+1}c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(h<<4);k=(c[p>>2]|0)+15|0;a[k>>0]=d[k>>0]|1}while(0);c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[n>>2]|0)==1&(c[p>>2]|0)!=0?(r=(ig(vi(c[p>>2]|0,18402)|0,18759)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[q>>2]|0)+32>>1]=c[m>>2];a[(c[q>>2]|0)+43>>0]=c[u>>2];x=(c[q>>2]|0)+42|0;a[x>>0]=d[x>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}a[(c[s>>2]|0)+408>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}h=c[s>>2]|0;if(c[v>>2]|0){Eh(h,36948,x);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}else{Iv(h,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0,2);c[t>>2]=0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}}function Iv(f,g,h,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=i;i=i+352|0;ga=za+112|0;fa=za+88|0;ea=za+72|0;da=za+64|0;ca=za+56|0;C=za+48|0;ba=za+40|0;B=za+32|0;A=za+24|0;E=za+16|0;D=za+8|0;z=za;G=za+332|0;r=za+328|0;s=za+324|0;ta=za+320|0;ua=za+316|0;na=za+312|0;I=za+308|0;va=za+304|0;t=za+300|0;J=za+296|0;H=za+336|0;qa=za+292|0;xa=za+288|0;ya=za+284|0;S=za+280|0;K=za+276|0;M=za+272|0;y=za+248|0;$=za+240|0;wa=za+236|0;V=za+232|0;oa=za+228|0;Y=za+224|0;X=za+220|0;Q=za+216|0;R=za+212|0;la=za+208|0;Z=za+204|0;u=za+200|0;w=za+196|0;F=za+192|0;x=za+184|0;v=za+180|0;T=za+176|0;_=za+172|0;ka=za+168|0;U=za+164|0;P=za+160|0;ha=za+156|0;W=za+152|0;N=za+148|0;ia=za+144|0;ja=za+140|0;pa=za+136|0;aa=za+132|0;ma=za+128|0;L=za+124|0;O=za+120|0;ra=za+116|0;c[G>>2]=f;c[r>>2]=g;c[s>>2]=h;c[ta>>2]=j;c[ua>>2]=k;c[na>>2]=l;c[I>>2]=m;c[va>>2]=n;c[t>>2]=o;c[J>>2]=p;a[H>>0]=q;c[qa>>2]=0;c[xa>>2]=0;c[ya>>2]=0;c[wa>>2]=c[c[G>>2]>>2];c[Y>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[Z>>2]=0;a:do if((d[(c[wa>>2]|0)+69>>0]|0)==0?(c[(c[G>>2]|0)+36>>2]|0)<=0:0){if((d[(c[G>>2]|0)+410>>0]|0)!=0?(d[H>>0]|0)!=2:0)break;if(!(Kz(c[G>>2]|0)|0)){q=c[G>>2]|0;if(c[ta>>2]|0){c[oa>>2]=Oz(q,c[r>>2]|0,c[s>>2]|0,Y)|0;if((c[oa>>2]|0)<0)break;if(((a[(c[wa>>2]|0)+148+5>>0]|0)==0?(c[qa>>2]=bC(c[G>>2]|0,c[ta>>2]|0)|0,(c[qa>>2]|0)!=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[qa>>2]|0)+64>>2]|0)==(c[(c[(c[wa>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[oa>>2]=1;cC(y,c[G>>2]|0,c[oa>>2]|0,33158,c[Y>>2]|0);dC(y,c[ta>>2]|0)|0;c[qa>>2]=px(c[G>>2]|0,0,(c[ta>>2]|0)+8|0)|0;if(!(c[qa>>2]|0))break;if((c[oa>>2]|0)==1?(c[(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)+12>>2]|0)!=(c[(c[qa>>2]|0)+64>>2]|0):0){sa=c[G>>2]|0;c[z>>2]=c[c[qa>>2]>>2];Eh(sa,36473,z);break}if(d[(c[qa>>2]|0)+42>>0]&32)c[Z>>2]=Jj(c[qa>>2]|0)|0}else{c[qa>>2]=c[q+440>>2];if(!(c[qa>>2]|0))break;c[oa>>2]=Fh(c[wa>>2]|0,c[(c[qa>>2]|0)+64>>2]|0)|0}c[V>>2]=(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4);if(((zd(c[c[qa>>2]>>2]|0,27844,7)|0)==0?(d[(c[wa>>2]|0)+148+5>>0]|0)==0:0)?(zd((c[c[qa>>2]>>2]|0)+7|0,36523,9)|0)!=0:0){sa=c[G>>2]|0;c[D>>2]=c[c[qa>>2]>>2];Eh(sa,36533,D);break}if(c[(c[qa>>2]|0)+12>>2]|0){Eh(c[G>>2]|0,36561,E);break}if(d[(c[qa>>2]|0)+42>>0]&16){Eh(c[G>>2]|0,36586,A);break}if(c[Y>>2]|0){c[ya>>2]=Tw(c[wa>>2]|0,c[Y>>2]|0)|0;if(!(c[ya>>2]|0))break;if(Sx(c[G>>2]|0,c[ya>>2]|0)|0)break;if((a[(c[wa>>2]|0)+148+5>>0]|0)==0?(ti(c[wa>>2]|0,c[ya>>2]|0,0)|0)!=0:0){sa=c[G>>2]|0;c[B>>2]=c[ya>>2];Eh(sa,36620,B);break}if(Kj(c[wa>>2]|0,c[ya>>2]|0,c[c[V>>2]>>2]|0)|0){q=c[G>>2]|0;if(c[J>>2]|0){sx(q,c[oa>>2]|0);break}else{c[ba>>2]=c[ya>>2];Eh(q,36654,ba);break}}}else{c[w>>2]=c[(c[qa>>2]|0)+8>>2];c[u>>2]=1;while(1){if(!(c[w>>2]|0))break;c[w>>2]=c[(c[w>>2]|0)+20>>2];c[u>>2]=(c[u>>2]|0)+1}ba=c[wa>>2]|0;J=c[u>>2]|0;c[C>>2]=c[c[qa>>2]>>2];c[C+4>>2]=J;c[ya>>2]=Gh(ba,36678,C)|0;if(!(c[ya>>2]|0))break;if(a[(c[G>>2]|0)+410>>0]|0){ba=(c[ya>>2]|0)+7|0;a[ba>>0]=(a[ba>>0]|0)+1<<24>>24}}c[F>>2]=c[c[V>>2]>>2];if((ax(c[G>>2]|0,18,(c[oa>>2]|0)==1?19905:19924,0,c[F>>2]|0)|0)==0?(c[K>>2]=1,c[K>>2]=(c[oa>>2]|0)==1?3:1,(ax(c[G>>2]|0,c[K>>2]|0,c[ya>>2]|0,c[c[qa>>2]>>2]|0,c[F>>2]|0)|0)==0):0){if(!(c[ua>>2]|0)){Xy(x,c[(c[(c[qa>>2]|0)+4>>2]|0)+((b[(c[qa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);ba=c[G>>2]|0;c[ua>>2]=Tv(ba,0,jw(c[wa>>2]|0,55,x,0)|0)|0;if(!(c[ua>>2]|0))break;aw(c[ua>>2]|0,c[t>>2]|0)}else dw(c[G>>2]|0,c[ua>>2]|0,33158);c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[c[ua>>2]>>2]|0))break;c[v>>2]=c[(c[(c[ua>>2]|0)+4>>2]|0)+((c[K>>2]|0)*20|0)>>2];if((d[c[v>>2]>>0]|0)==53){ba=1+(Jf(c[(c[v>>2]|0)+8>>2]|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+ba}c[K>>2]=(c[K>>2]|0)+1}c[S>>2]=Jf(c[ya>>2]|0)|0;if(c[Z>>2]|0)q=e[(c[Z>>2]|0)+50>>1]|0;else q=1;c[R>>2]=q;c[xa>>2]=kE(c[wa>>2]|0,(c[c[ua>>2]>>2]|0)+(c[R>>2]|0)&65535,(c[S>>2]|0)+(c[Q>>2]|0)+1|0,la)|0;if(!(a[(c[wa>>2]|0)+69>>0]|0)){c[c[xa>>2]>>2]=c[la>>2];c[la>>2]=(c[la>>2]|0)+((c[S>>2]|0)+1);TR(c[c[xa>>2]>>2]|0,c[ya>>2]|0,(c[S>>2]|0)+1|0)|0;c[(c[xa>>2]|0)+12>>2]=c[qa>>2];a[(c[xa>>2]|0)+54>>0]=c[na>>2];ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-9|((c[na>>2]|0)!=0&1)<<3&255;ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-4|d[H>>0]&3;c[(c[xa>>2]|0)+24>>2]=c[(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)+12>>2];b[(c[xa>>2]|0)+50>>1]=c[c[ua>>2]>>2];if(c[va>>2]|0){BH(c[G>>2]|0,c[qa>>2]|0,2,c[va>>2]|0,0);c[(c[xa>>2]|0)+36>>2]=c[va>>2];c[va>>2]=0}if((d[(c[(c[V>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[$>>2]=-1;else c[$>>2]=0;c[K>>2]=0;c[X>>2]=c[(c[ua>>2]|0)+4>>2];while(1){if((c[K>>2]|0)>=(c[c[ua>>2]>>2]|0))break;CH(c[c[X>>2]>>2]|0);BH(c[G>>2]|0,c[qa>>2]|0,32,c[c[X>>2]>>2]|0,0);if(c[(c[G>>2]|0)+36>>2]|0)break a;c[T>>2]=ky(c[c[X>>2]>>2]|0)|0;if((d[c[T>>2]>>0]|0)!=152){if((c[qa>>2]|0)==(c[(c[G>>2]|0)+440>>2]|0)){sa=68;break}do if(!(c[(c[xa>>2]|0)+40>>2]|0)){c[U>>2]=Qy(c[wa>>2]|0,c[ua>>2]|0,0)|0;c[(c[xa>>2]|0)+40>>2]=c[U>>2];if(a[(c[wa>>2]|0)+69>>0]|0)break;c[X>>2]=(c[(c[U>>2]|0)+4>>2]|0)+((c[K>>2]|0)*20|0)}while(0);c[M>>2]=-2;b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=-2;ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-9}else{c[M>>2]=b[(c[T>>2]|0)+32>>1];do if((c[M>>2]|0)<0)c[M>>2]=b[(c[qa>>2]|0)+32>>1];else{if(d[(c[(c[qa>>2]|0)+4>>2]|0)+(c[M>>2]<<4)+12>>0]|0)break;ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-9}while(0);b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=c[M>>2]}c[ka>>2]=0;do if((d[c[c[X>>2]>>2]>>0]|0)==53){c[ka>>2]=c[(c[c[X>>2]>>2]|0)+8>>2];c[P>>2]=(Jf(c[ka>>2]|0)|0)+1;TR(c[la>>2]|0,c[ka>>2]|0,c[P>>2]|0)|0;c[ka>>2]=c[la>>2];c[la>>2]=(c[la>>2]|0)+(c[P>>2]|0);c[Q>>2]=(c[Q>>2]|0)-(c[P>>2]|0)}else{if((c[M>>2]|0)<0)break;c[ka>>2]=c[(c[(c[qa>>2]|0)+4>>2]|0)+(c[M>>2]<<4)+8>>2]}while(0);if(!(c[ka>>2]|0))c[ka>>2]=34834;if((a[(c[wa>>2]|0)+148+5>>0]|0)==0?(Xz(c[G>>2]|0,c[ka>>2]|0)|0)==0:0)break a;c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2]=c[ka>>2];c[_>>2]=d[(c[X>>2]|0)+12>>0]&c[$>>2];a[(c[(c[xa>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]=c[_>>2];c[K>>2]=(c[K>>2]|0)+1;c[X>>2]=(c[X>>2]|0)+20}if((sa|0)==68){Eh(c[G>>2]|0,36701,ca);break}b:do if(c[Z>>2]|0){c[M>>2]=0;while(1){if((c[M>>2]|0)>=(e[(c[Z>>2]|0)+50>>1]|0))break b;c[ha>>2]=b[(c[(c[Z>>2]|0)+4>>2]|0)+(c[M>>2]<<1)>>1];if(DH(c[(c[xa>>2]|0)+4>>2]|0,e[(c[xa>>2]|0)+50>>1]|0,c[ha>>2]|0)|0){la=(c[xa>>2]|0)+52|0;b[la>>1]=(b[la>>1]|0)+-1<<16>>16}else{b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=c[ha>>2];c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2]=c[(c[(c[Z>>2]|0)+32>>2]|0)+(c[M>>2]<<2)>>2];a[(c[(c[xa>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]=a[(c[(c[Z>>2]|0)+28>>2]|0)+(c[M>>2]|0)>>0]|0;c[K>>2]=(c[K>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+1}}else{b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=-1;c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2]=34834}while(0);Ij(c[xa>>2]|0);if(!(c[(c[G>>2]|0)+440>>2]|0))EH(c[xa>>2]|0);c:do if(c[ta>>2]|0){if((e[(c[xa>>2]|0)+52>>1]|0)<(b[(c[qa>>2]|0)+34>>1]|0))break;la=(c[xa>>2]|0)+55|0;a[la>>0]=a[la>>0]&-33|32;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(b[(c[qa>>2]|0)+34>>1]|0))break c;if((c[M>>2]|0)!=(b[(c[qa>>2]|0)+32>>1]|0)?((OA(c[xa>>2]|0,c[M>>2]&65535)|0)<<16>>16|0)<0:0)break;c[M>>2]=(c[M>>2]|0)+1}la=(c[xa>>2]|0)+55|0;a[la>>0]=a[la>>0]&-33}while(0);d:do if((c[qa>>2]|0)==(c[(c[G>>2]|0)+440>>2]|0)){c[W>>2]=c[(c[qa>>2]|0)+8>>2];while(1){if(!(c[W>>2]|0))break d;if((e[(c[W>>2]|0)+50>>1]|0)==(e[(c[xa>>2]|0)+50>>1]|0)){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(e[(c[W>>2]|0)+50>>1]|0))break;if((b[(c[(c[W>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0)!=(b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0))break;c[ia>>2]=c[(c[(c[W>>2]|0)+32>>2]|0)+(c[N>>2]<<2)>>2];c[ja>>2]=c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[N>>2]<<2)>>2];if(ig(c[ia>>2]|0,c[ja>>2]|0)|0)break;c[N>>2]=(c[N>>2]|0)+1}if((c[N>>2]|0)==(e[(c[W>>2]|0)+50>>1]|0))break}c[W>>2]=c[(c[W>>2]|0)+20>>2]}do if((d[(c[W>>2]|0)+54>>0]|0)!=(d[(c[xa>>2]|0)+54>>0]|0)){do if((d[(c[W>>2]|0)+54>>0]|0)!=10){if((d[(c[xa>>2]|0)+54>>0]|0)==10)break;sa=c[G>>2]|0;c[da>>2]=0;Eh(sa,36762,da)}while(0);if((d[(c[W>>2]|0)+54>>0]|0)!=10)break;a[(c[W>>2]|0)+54>>0]=a[(c[xa>>2]|0)+54>>0]|0}while(0);if((d[H>>0]|0)!=2)break a;sa=(c[W>>2]|0)+55|0;a[sa>>0]=a[sa>>0]&-4|d[H>>0]&3;break a}while(0);do if(a[(c[wa>>2]|0)+148+5>>0]|0){c[pa>>2]=Uj((c[(c[xa>>2]|0)+24>>2]|0)+24|0,c[c[xa>>2]>>2]|0,c[xa>>2]|0)|0;q=c[wa>>2]|0;if(c[pa>>2]|0){mh(q);break a}pa=q+24|0;c[pa>>2]=c[pa>>2]|2;if(!(c[ta>>2]|0))break;c[(c[xa>>2]|0)+44>>2]=c[(c[wa>>2]|0)+148>>2]}else{if(!((c[ta>>2]|0)!=0?1:(d[(c[qa>>2]|0)+42>>0]&32|0)==0))break;la=(c[G>>2]|0)+44|0;pa=(c[la>>2]|0)+1|0;c[la>>2]=pa;c[L>>2]=pa;c[aa>>2]=dx(c[G>>2]|0)|0;if(!(c[aa>>2]|0))break a;rx(c[G>>2]|0,1,c[oa>>2]|0);pa=fx(c[aa>>2]|0,161)|0;c[(c[xa>>2]|0)+44>>2]=pa;ix(c[aa>>2]|0,134,c[oa>>2]|0,c[L>>2]|0)|0;if(c[I>>2]|0){c[O>>2]=(c[(c[G>>2]|0)+392>>2]|0)-(c[c[Y>>2]>>2]|0)+(c[(c[G>>2]|0)+392+4>>2]|0);if((a[(c[c[Y>>2]>>2]|0)+((c[O>>2]|0)-1)>>0]|0)==59)c[O>>2]=(c[O>>2]|0)+-1;pa=c[wa>>2]|0;ka=c[O>>2]|0;la=c[c[Y>>2]>>2]|0;c[ea>>2]=(c[na>>2]|0)==0?18402:36804;c[ea+4>>2]=ka;c[ea+8>>2]=la;c[ma>>2]=Gh(pa,36812,ea)|0}else c[ma>>2]=0;pa=c[G>>2]|0;ha=(c[oa>>2]|0)==1?19905:19924;ia=c[c[xa>>2]>>2]|0;ja=c[c[qa>>2]>>2]|0;ka=c[L>>2]|0;la=c[ma>>2]|0;c[fa>>2]=c[(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)>>2];c[fa+4>>2]=ha;c[fa+8>>2]=ia;c[fa+12>>2]=ja;c[fa+16>>2]=ka;c[fa+20>>2]=la;cx(pa,36832,fa);Tf(c[wa>>2]|0,c[ma>>2]|0);if(c[ta>>2]|0){mA(c[G>>2]|0,c[xa>>2]|0,c[L>>2]|0);ex(c[G>>2]|0,c[oa>>2]|0);ma=c[aa>>2]|0;oa=c[oa>>2]|0;pa=c[wa>>2]|0;c[ga>>2]=c[c[xa>>2]>>2];gx(ma,oa,Gh(pa,36880,ga)|0);fx(c[aa>>2]|0,150)|0}Zz(c[aa>>2]|0,c[(c[xa>>2]|0)+44>>2]|0)}while(0);if(!((c[ta>>2]|0)==0?1:(d[(c[wa>>2]|0)+148+5>>0]|0)!=0))break;do if((c[na>>2]|0)!=5)sa=143;else{if(!(c[(c[qa>>2]|0)+8>>2]|0)){sa=143;break}if((d[(c[(c[qa>>2]|0)+8>>2]|0)+54>>0]|0)==5){sa=143;break}c[ra>>2]=c[(c[qa>>2]|0)+8>>2];while(1){if(c[(c[ra>>2]|0)+20>>2]|0)p=(d[(c[(c[ra>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else p=0;q=c[(c[ra>>2]|0)+20>>2]|0;if(!p)break;c[ra>>2]=q}c[(c[xa>>2]|0)+20>>2]=q;c[(c[ra>>2]|0)+20>>2]=c[xa>>2]}while(0);if((sa|0)==143){c[(c[xa>>2]|0)+20>>2]=c[(c[qa>>2]|0)+8>>2];c[(c[qa>>2]|0)+8>>2]=c[xa>>2]}c[xa>>2]=0}}}}while(0);if(!(c[xa>>2]|0)){sa=c[wa>>2]|0;xa=c[va>>2]|0;iv(sa,xa);xa=c[wa>>2]|0;va=c[ua>>2]|0;ev(xa,va);va=c[wa>>2]|0;xa=c[ta>>2]|0;hv(va,xa);xa=c[wa>>2]|0;ya=c[ya>>2]|0;Tf(xa,ya);i=za;return}FH(c[wa>>2]|0,c[xa>>2]|0);sa=c[wa>>2]|0;xa=c[va>>2]|0;iv(sa,xa);xa=c[wa>>2]|0;va=c[ua>>2]|0;ev(xa,va);va=c[wa>>2]|0;xa=c[ta>>2]|0;hv(va,xa);xa=c[wa>>2]|0;ya=c[ya>>2]|0;Tf(xa,ya);i=za;return}function Jv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=c[(c[f>>2]|0)+440>>2];c[h>>2]=c[c[f>>2]>>2];if(((c[j>>2]|0)!=0?(a[(c[f>>2]|0)+410>>0]|0)==0:0)?(Ji(c[(c[(c[h>>2]|0)+16>>2]|0)+(d[(c[h>>2]|0)+148+4>>0]<<4)+4>>2]|0)|0)==0:0){b=Tv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+84+4>>2]|0)){i=k;return}Uv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[f>>2]|0)+84|0,1);i=k;return}iv(c[c[f>>2]>>2]|0,c[g>>2]|0);i=k;return}function Kv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+16|0;o=E+8|0;n=E;p=E+80|0;q=E+76|0;k=E+72|0;r=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;m=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;l=E+28|0;v=E+24|0;w=E+20|0;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[p>>2]>>2];c[z>>2]=0;c[y>>2]=c[(c[p>>2]|0)+440>>2];a:do if((c[y>>2]|0)!=0?(d[(c[p>>2]|0)+410>>0]|0)==0:0){if(!(c[q>>2]|0)){c[l>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;if((c[l>>2]|0)<0)break;if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=1:0){D=c[p>>2]|0;C=c[k>>2]|0;c[n>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+(c[l>>2]<<4)>>2];c[n+4>>2]=C;Eh(D,36270,n);break}c[x>>2]=1}else{if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[q>>2]>>2]|0):0){Eh(c[p>>2]|0,36333,o);break}c[x>>2]=c[c[q>>2]>>2]}c[m>>2]=44+((c[x>>2]|0)-1<<3)+(c[(c[k>>2]|0)+4>>2]|0)+1;b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[r>>2]>>2]|0))break b;o=(Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+o;c[u>>2]=(c[u>>2]|0)+1}}while(0);o=c[m>>2]|0;c[z>>2]=sh(c[t>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[z>>2]|0){c[c[z>>2]>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[(c[y>>2]|0)+16>>2];c[C>>2]=(c[z>>2]|0)+36+(c[x>>2]<<3);c[(c[z>>2]|0)+8>>2]=c[C>>2];TR(c[C>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[C>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Zw(c[C>>2]|0);c[C>>2]=(c[C>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)+1);c[(c[z>>2]|0)+20>>2]=c[x>>2];c:do if(!(c[q>>2]|0))c[(c[z>>2]|0)+36>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break c;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;o=(ig(c[(c[(c[y>>2]|0)+4>>2]|0)+(c[v>>2]<<4)>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[v>>2]|0;if(o){D=25;break}c[v>>2]=k+1}if((D|0)==25){D=0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)>>2]=k}if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;c[u>>2]=(c[u>>2]|0)+1}D=c[p>>2]|0;c[B>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2];Eh(D,36427,B);break a}while(0);d:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break d;c[w>>2]=Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)+4>>2]=c[C>>2];TR(c[C>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0,c[w>>2]|0)|0;a[(c[C>>2]|0)+(c[w>>2]|0)>>0]=0;c[C>>2]=(c[C>>2]|0)+((c[w>>2]|0)+1);c[u>>2]=(c[u>>2]|0)+1}}while(0);a[(c[z>>2]|0)+24>>0]=0;a[(c[z>>2]|0)+25>>0]=c[s>>2];a[(c[z>>2]|0)+25+1>>0]=c[s>>2]>>8;c[A>>2]=Uj((c[(c[y>>2]|0)+64>>2]|0)+56|0,c[(c[z>>2]|0)+8>>2]|0,c[z>>2]|0)|0;if((c[A>>2]|0)==(c[z>>2]|0)){mh(c[t>>2]|0);break}if(c[A>>2]|0){c[(c[z>>2]|0)+12>>2]=c[A>>2];c[(c[A>>2]|0)+16>>2]=c[z>>2]}c[(c[y>>2]|0)+16>>2]=c[z>>2];c[z>>2]=0}}while(0);Tf(c[t>>2]|0,c[z>>2]|0);ev(c[t>>2]|0,c[q>>2]|0);ev(c[t>>2]|0,c[r>>2]|0);i=E;return}function Lv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;b=c[(c[j>>2]|0)+440>>2]|0;c[g>>2]=b;if(!b){i=h;return}j=c[(c[g>>2]|0)+16>>2]|0;c[f>>2]=j;if(!j){i=h;return}a[(c[f>>2]|0)+24>>0]=c[e>>2];i=h;return}function Mv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+440>>2]|0;c[j>>2]=d;if(!d){i=m;return}c[h>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[l>>2]=Tw(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}d=(Xz(c[e>>2]|0,c[l>>2]|0)|0)!=0;e=c[g>>2]|0;if(!d){Tf(e,c[l>>2]|0);i=m;return}Tf(e,c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]|0);c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]=c[l>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}i=m;return}function Nv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;t=x+16|0;s=x+8|0;r=x;h=x+64|0;j=x+60|0;k=x+56|0;l=x+52|0;p=x+48|0;q=x+44|0;n=x+40|0;o=x+36|0;m=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=c[c[h>>2]>>2];do if((a[(c[n>>2]|0)+69>>0]|0)==0?(Kz(c[h>>2]|0)|0)==0:0){if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[p>>2]=px(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}if(!(c[p>>2]|0)){if(!(c[l>>2]|0))break;ZB(c[h>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0);break}c[o>>2]=Fh(c[n>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;if((d[(c[p>>2]|0)+42>>0]&16|0)!=0?(Tx(c[h>>2]|0,c[p>>2]|0)|0)!=0:0)break;c[w>>2]=(c[o>>2]|0)==1?19905:19924;c[v>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[u>>2]=0;if(!(ax(c[h>>2]|0,9,c[w>>2]|0,0,c[v>>2]|0)|0)){do if(c[k>>2]|0)if((c[o>>2]|0)==1){c[m>>2]=15;break}else{c[m>>2]=17;break}else{if(d[(c[p>>2]|0)+42>>0]&16){c[m>>2]=30;c[u>>2]=c[(c[(Ux(c[n>>2]|0,c[p>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[o>>2]|0)==1){c[m>>2]=13;break}else{c[m>>2]=11;break}}while(0);if((ax(c[h>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)==0?(ax(c[h>>2]|0,9,c[c[p>>2]>>2]|0,0,c[v>>2]|0)|0)==0:0){if((zd(c[c[p>>2]>>2]|0,27844,7)|0)==0?(zd(c[c[p>>2]>>2]|0,36063,11)|0)!=0:0){w=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];Eh(w,36075,r);break}if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)==0:0){w=c[h>>2]|0;c[s>>2]=c[c[p>>2]>>2];Eh(w,36103,s);break}if((c[k>>2]|0)==0?(c[(c[p>>2]|0)+12>>2]|0)!=0:0){w=c[h>>2]|0;c[t>>2]=c[c[p>>2]>>2];Eh(w,36137,t);break}c[q>>2]=dx(c[h>>2]|0)|0;if(c[q>>2]|0){rx(c[h>>2]|0,1,c[o>>2]|0);QC(c[h>>2]|0,c[o>>2]|0,30858,c[c[p>>2]>>2]|0);wH(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0);xH(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0)}}}}while(0);hv(c[n>>2]|0,c[j>>2]|0);i=x;return}function Ov(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+96|0;w=D+88|0;n=D+84|0;o=D+80|0;p=D+76|0;x=D+72|0;y=D+68|0;q=D+64|0;r=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;c[w>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[x>>2]=j;c[y>>2]=k;c[q>>2]=l;c[r>>2]=m;c[u>>2]=0;c[z>>2]=c[c[w>>2]>>2];l=c[w>>2]|0;if((b[(c[w>>2]|0)+400>>1]|0)<=0){zv(l,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1,0,c[r>>2]|0);c[t>>2]=c[(c[w>>2]|0)+440>>2];if((((c[t>>2]|0)!=0?(c[(c[w>>2]|0)+36>>2]|0)==0:0)?(Oz(c[w>>2]|0,c[o>>2]|0,c[p>>2]|0,u)|0,c[s>>2]=Fh(c[z>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,cC(v,c[w>>2]|0,c[s>>2]|0,36058,c[u>>2]|0),(eC(v,c[y>>2]|0)|0)==0):0)?(v=_x(c[z>>2]|0,c[y>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=v,v=Qy(c[z>>2]|0,c[x>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=v,(a[(c[z>>2]|0)+69>>0]|0)==0):0){v=(c[w>>2]|0)+392|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];if((a[c[B>>2]>>0]|0)!=59)c[B>>2]=(c[B>>2]|0)+(c[B+4>>2]|0);c[B+4>>2]=0;c[A>>2]=(c[B>>2]|0)-(c[c[n>>2]>>2]|0);c[C>>2]=c[c[n>>2]>>2];while(1){l=c[A>>2]|0;if(!(d[18403+(d[(c[C>>2]|0)+((c[A>>2]|0)-1)>>0]|0)>>0]&1))break;c[A>>2]=l+-1}c[B>>2]=(c[C>>2]|0)+(l-1);c[B+4>>2]=1;Bv(c[w>>2]|0,0,B,0,0)}}else Eh(l,36022,D);fv(c[z>>2]|0,c[y>>2]|0);ev(c[z>>2]|0,c[x>>2]|0);i=D;return}function Pv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=i;i=i+432|0;w=Ca;N=Ca+412|0;O=Ca+408|0;P=Ca+404|0;Q=Ca+400|0;_=Ca+396|0;fa=Ca+392|0;pa=Ca+388|0;Ba=Ca+384|0;l=Ca+380|0;ka=Ca+376|0;oa=Ca+372|0;L=Ca+368|0;la=Ca+364|0;ma=Ca+360|0;ra=Ca+356|0;xa=Ca+344|0;ya=Ca+312|0;wa=Ca+264|0;ca=Ca+260|0;Y=Ca+256|0;da=Ca+252|0;o=Ca+248|0;r=Ca+244|0;m=Ca+240|0;t=Ca+236|0;p=Ca+232|0;k=Ca+208|0;s=Ca+204|0;j=Ca+200|0;v=Ca+196|0;n=Ca+192|0;u=Ca+188|0;q=Ca+184|0;x=Ca+416|0;M=Ca+152|0;$=Ca+148|0;ba=Ca+144|0;ea=Ca+140|0;aa=Ca+136|0;Z=Ca+132|0;S=Ca+128|0;Aa=Ca+124|0;za=Ca+120|0;ia=Ca+116|0;z=Ca+112|0;A=Ca+108|0;na=Ca+104|0;R=Ca+100|0;T=Ca+96|0;ta=Ca+92|0;V=Ca+88|0;X=Ca+84|0;W=Ca+80|0;U=Ca+76|0;va=Ca+72|0;sa=Ca+68|0;ua=Ca+64|0;ga=Ca+60|0;ha=Ca+56|0;ja=Ca+52|0;qa=Ca+48|0;G=Ca+44|0;K=Ca+40|0;D=Ca+36|0;C=Ca+32|0;H=Ca+28|0;I=Ca+24|0;F=Ca+20|0;E=Ca+16|0;J=Ca+12|0;B=Ca+418|0;c[O>>2]=f;c[P>>2]=g;c[Q>>2]=h;c[ka>>2]=0;c[ra>>2]=1;c[da>>2]=c[(c[O>>2]|0)+420>>2];h=(c[O>>2]|0)+424|0;f=c[h>>2]|0;c[h>>2]=f+1;c[(c[O>>2]|0)+420>>2]=f;c[Y>>2]=c[c[O>>2]>>2];if(((c[P>>2]|0)!=0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0)?(c[(c[O>>2]|0)+36>>2]|0)==0:0){if(ax(c[O>>2]|0,21,0,0,0)|0){c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}g=wa;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if((d[c[Q>>2]>>0]|0)<=8){ev(c[Y>>2]|0,c[(c[P>>2]|0)+44>>2]|0);c[(c[P>>2]|0)+44>>2]=0;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]&-2}my(c[O>>2]|0,c[P>>2]|0,0);c[ya>>2]=0;c[ya+4>>2]=0;c[ya+8>>2]=0;c[ya+12>>2]=0;c[ya+16>>2]=0;c[ya+20>>2]=0;c[ya+24>>2]=0;c[ya+28>>2]=0;c[ya>>2]=c[(c[P>>2]|0)+44>>2];c[oa>>2]=c[(c[P>>2]|0)+28>>2];a:do if((c[(c[O>>2]|0)+36>>2]|0)==0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0){c[l>>2]=(c[(c[P>>2]|0)+8>>2]&8|0)!=0&1;c[_>>2]=0;while(1){if(c[(c[P>>2]|0)+48>>2]|0)break;if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[o>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[r>>2]=c[(c[o>>2]|0)+20>>2];c[t>>2]=c[(c[o>>2]|0)+16>>2];if(c[r>>2]|0){if((b[(c[t>>2]|0)+34>>1]|0)!=(c[c[c[r>>2]>>2]>>2]|0)){y=16;break}c[m>>2]=(c[(c[r>>2]|0)+8>>2]&8|0)!=0&1;if(EG(c[O>>2]|0,c[P>>2]|0,c[_>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){if(c[m>>2]|0){c[l>>2]=1;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]|8}c[_>>2]=-1}c[oa>>2]=c[(c[P>>2]|0)+28>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break a;if((d[c[Q>>2]>>0]|0)>8)c[ya>>2]=c[(c[P>>2]|0)+44>>2]}c[_>>2]=(c[_>>2]|0)+1}if((y|0)==16){Ba=c[O>>2]|0;za=c[c[t>>2]>>2]|0;Aa=c[c[c[r>>2]>>2]>>2]|0;c[w>>2]=b[(c[t>>2]|0)+34>>1];c[w+4>>2]=za;c[w+8>>2]=Aa;Eh(Ba,35609,w);break}c[Ba>>2]=dx(c[O>>2]|0)|0;if(c[Ba>>2]|0){if(c[(c[P>>2]|0)+48>>2]|0){c[ra>>2]=FG(c[O>>2]|0,c[P>>2]|0,c[Q>>2]|0)|0;c[(c[O>>2]|0)+420>>2]=c[da>>2];c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[p>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];do if(c[s>>2]|0){if(c[(c[p>>2]|0)+24>>2]|0){if((d[(c[p>>2]|0)+36+1>>0]|0)>>>4&1)break;ix(c[Ba>>2]|0,14,c[(c[p>>2]|0)+28>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;break}t=GG(c[P>>2]|0)|0;w=(c[O>>2]|0)+416|0;c[w>>2]=(c[w>>2]|0)+t;if(!(d[(c[p>>2]|0)+36>>0]&32))HG(c[Y>>2]|0,c[s>>2]|0,c[(c[P>>2]|0)+32>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0;do if(!(c[_>>2]|0)){if((c[c[oa>>2]>>2]|0)!=1?(d[(c[oa>>2]|0)+8+72+36>>0]&10|0)==0:0){y=42;break}if(c[(c[P>>2]|0)+8>>2]&2){y=42;break}if(e[(c[Y>>2]|0)+64>>1]&256){y=42;break}c[j>>2]=(wx(c[Ba>>2]|0)|0)+1;t=(c[O>>2]|0)+44|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;jx(c[Ba>>2]|0,15,c[(c[p>>2]|0)+28>>2]|0,0,c[j>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=c[j>>2];vB(k,13,c[(c[p>>2]|0)+28>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+424>>2];Pv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;w=(c[p>>2]|0)+36+1|0;a[w>>0]=a[w>>0]&-17|16;c[(c[p>>2]|0)+32>>2]=c[k+12>>2];YC(c[Ba>>2]|0,c[(c[p>>2]|0)+28>>2]|0);Zz(c[Ba>>2]|0,(c[j>>2]|0)-1|0);IG(c[O>>2]|0)}else y=42;while(0);if((y|0)==42){y=0;c[n>>2]=0;t=(c[O>>2]|0)+44|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;c[v>>2]=ix(c[Ba>>2]|0,76,0,c[(c[p>>2]|0)+28>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=(c[v>>2]|0)+1;if(!((d[(c[p>>2]|0)+36+1>>0]|0)>>>3&1))c[n>>2]=fx(c[Ba>>2]|0,20)|0;vB(k,12,c[(c[p>>2]|0)+44>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+424>>2];Pv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;if(c[n>>2]|0)Zz(c[Ba>>2]|0,c[n>>2]|0);c[u>>2]=Sz(c[Ba>>2]|0,72,c[(c[p>>2]|0)+28>>2]|0)|0;YD(c[Ba>>2]|0,c[v>>2]|0,c[u>>2]|0);IG(c[O>>2]|0)}if(a[(c[Y>>2]|0)+69>>0]|0)break a;t=GG(c[P>>2]|0)|0;w=(c[O>>2]|0)+416|0;c[w>>2]=(c[w>>2]|0)-t}while(0);c[_>>2]=(c[_>>2]|0)+1}c[ka>>2]=c[c[P>>2]>>2];c[L>>2]=c[(c[P>>2]|0)+32>>2];c[la>>2]=c[(c[P>>2]|0)+36>>2];c[ma>>2]=c[(c[P>>2]|0)+40>>2];a[xa>>0]=(c[(c[P>>2]|0)+8>>2]&1|0)!=0;if((c[(c[P>>2]|0)+8>>2]&9|0)==1?(Ly(c[ya>>2]|0,c[ka>>2]|0,-1)|0)==0:0){y=(c[P>>2]|0)+8|0;c[y>>2]=c[y>>2]&-2;y=Qy(c[Y>>2]|0,c[ka>>2]|0,0)|0;c[(c[P>>2]|0)+36>>2]=y;c[la>>2]=y}if(c[ya>>2]|0){c[q>>2]=JG(c[O>>2]|0,c[ya>>2]|0,0,c[c[ka>>2]>>2]|0)|0;w=(c[O>>2]|0)+40|0;y=c[w>>2]|0;c[w>>2]=y+1;c[ya+8>>2]=y;c[ya+20>>2]=mx(c[Ba>>2]|0,107,c[ya+8>>2]|0,(c[c[ya>>2]>>2]|0)+1+(c[c[ka>>2]>>2]|0)|0,0,c[q>>2]|0,-6)|0}else c[ya+20>>2]=-1;if((d[c[Q>>2]>>0]|0)==12)ix(c[Ba>>2]|0,107,c[(c[Q>>2]|0)+8>>2]|0,c[c[ka>>2]>>2]|0)|0;c[ca>>2]=Wz(c[Ba>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=320;KG(c[O>>2]|0,c[P>>2]|0,c[ca>>2]|0);if((c[(c[P>>2]|0)+12>>2]|0)==0?(c[ya+20>>2]|0)>=0:0){LG(c[Ba>>2]|0,c[ya+20>>2]|0,108);y=ya+28|0;a[y>>0]=d[y>>0]|1}if(c[(c[P>>2]|0)+8>>2]&1){y=(c[O>>2]|0)+40|0;w=c[y>>2]|0;c[y>>2]=w+1;c[xa+4>>2]=w;w=c[Ba>>2]|0;y=c[xa+4>>2]|0;c[xa+8>>2]=mx(w,107,y,0,0,JG(c[O>>2]|0,c[c[P>>2]>>2]|0,0,0)|0,-6)|0;Jh(c[Ba>>2]|0,8);a[xa+1>>0]=3}else a[xa+1>>0]=0;if((c[l>>2]|0)==0&(c[la>>2]|0)==0){b[x>>1]=(d[xa>>0]|0)!=0?256:0;b[x>>1]=e[x>>1]|c[(c[P>>2]|0)+8>>2]&16384;c[pa>>2]=qD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[ya>>2]|0,c[c[P>>2]>>2]|0,b[x>>1]|0,b[(c[P>>2]|0)+6>>1]|0)|0;if(!(c[pa>>2]|0))break;Aa=(MG(c[pa>>2]|0)|0)<<16>>16;if((Aa|0)<(b[(c[P>>2]|0)+6>>1]|0)){Aa=MG(c[pa>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=Aa}do if(d[xa>>0]|0){if(!(NG(c[pa>>2]|0)|0))break;a[xa+1>>0]=NG(c[pa>>2]|0)|0}while(0);do if(c[ya>>2]|0){c[ya+4>>2]=OG(c[pa>>2]|0)|0;a[ya+29>>0]=PG(c[pa>>2]|0)|0;if((c[ya+4>>2]|0)!=(c[c[ya>>2]>>2]|0))break;c[ya>>2]=0}while(0);do if((c[ya+20>>2]|0)>=0){if(c[ya>>2]|0)break;HA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);ta=c[O>>2]|0;ua=c[P>>2]|0;va=c[ka>>2]|0;za=c[Q>>2]|0;Aa=QG(c[pa>>2]|0)|0;SG(ta,ua,va,-1,ya,xa,za,Aa,RG(c[pa>>2]|0)|0);rD(c[pa>>2]|0)}else{c[Aa>>2]=0;c[za>>2]=0;c[ia>>2]=0;g=c[P>>2]|0;do if(c[la>>2]|0){c[z>>2]=c[c[g>>2]>>2];c[A>>2]=c[(c[c[P>>2]>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}c[z>>2]=c[c[la>>2]>>2];c[A>>2]=c[(c[la>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}if((b[(c[P>>2]|0)+6>>1]|0)<=66)break;b[(c[P>>2]|0)+6>>1]=66}else b[g+6>>1]=0;while(0);if(!(Ly(c[la>>2]|0,c[ya>>2]|0,-1)|0))c[ia>>2]=1;c[S>>2]=Wz(c[Ba>>2]|0)|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;c[M+20>>2]=0;c[M+24>>2]=0;c[M+28>>2]=0;c[M>>2]=c[O>>2];c[M+4>>2]=c[oa>>2];c[M+12>>2]=wa;c[wa+16>>2]=(c[(c[O>>2]|0)+44>>2]|0)+1;if(c[la>>2]|0)g=c[c[la>>2]>>2]|0;else g=0;c[wa+12>>2]=g;c[wa+24>>2]=c[la>>2];TG(M,c[ka>>2]|0);TG(M,c[ya>>2]|0);if(c[ma>>2]|0)UG(M,c[ma>>2]|0);c[wa+36>>2]=c[wa+32>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+44>>2]|0))break;A=M+28|0;b[A>>1]=e[A>>1]|8;TG(M,c[(c[(c[wa+40>>2]|0)+(c[_>>2]<<4)>>2]|0)+20>>2]|0);A=M+28|0;b[A>>1]=e[A>>1]&-9;c[_>>2]=(c[_>>2]|0)+1}c[wa+20>>2]=c[(c[O>>2]|0)+44>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;if(c[la>>2]|0){K=(c[O>>2]|0)+40|0;M=c[K>>2]|0;c[K>>2]=M+1;c[wa+4>>2]=M;c[na>>2]=JG(c[O>>2]|0,c[la>>2]|0,0,c[wa+32>>2]|0)|0;c[W>>2]=mx(c[Ba>>2]|0,108,c[wa+4>>2]|0,c[wa+12>>2]|0,0,c[na>>2]|0,-6)|0;M=(c[O>>2]|0)+44|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ea>>2]=K;K=(c[O>>2]|0)+44|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[aa>>2]=M;M=(c[O>>2]|0)+44|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ta>>2]=K;c[T>>2]=Wz(c[Ba>>2]|0)|0;K=(c[O>>2]|0)+44|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[va>>2]=M;c[U>>2]=Wz(c[Ba>>2]|0)|0;c[$>>2]=(c[(c[O>>2]|0)+44>>2]|0)+1;M=(c[O>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);c[ba>>2]=(c[(c[O>>2]|0)+44>>2]|0)+1;M=(c[O>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);ix(c[Ba>>2]|0,76,0,c[aa>>2]|0)|0;ix(c[Ba>>2]|0,76,0,c[ea>>2]|0)|0;jx(c[Ba>>2]|0,79,0,c[$>>2]|0,(c[$>>2]|0)+(c[c[la>>2]>>2]|0)-1|0)|0;ix(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;c[pa>>2]=qD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[la>>2]|0,0,(64|((c[ia>>2]|0)!=0?512:0))&65535,0)|0;if(!(c[pa>>2]|0))break;M=OG(c[pa>>2]|0)|0;if((M|0)==(c[c[la>>2]>>2]|0))c[Z>>2]=0;else{if(d[xa>>0]|0)g=(c[(c[P>>2]|0)+8>>2]&1|0)==0;else g=0;VG(c[O>>2]|0,g?35649:35658);c[Z>>2]=1;c[ha>>2]=c[c[la>>2]>>2];c[ga>>2]=c[ha>>2];c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;if((c[(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0)+12>>2]|0)>=(c[fa>>2]|0)){c[ga>>2]=(c[ga>>2]|0)+1;c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[sa>>2]=CA(c[O>>2]|0,c[ga>>2]|0)|0;EC(c[O>>2]|0);aB(c[O>>2]|0,c[la>>2]|0,c[sa>>2]|0,0,0)|0;c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;c[ja>>2]=(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0);if((c[(c[ja>>2]|0)+12>>2]|0)>=(c[fa>>2]|0)){c[qa>>2]=(c[fa>>2]|0)+(c[sa>>2]|0);XD(c[O>>2]|0,c[c[ja>>2]>>2]|0,c[(c[ja>>2]|0)+8>>2]|0,c[(c[ja>>2]|0)+4>>2]|0,c[qa>>2]|0);c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[ua>>2]=vx(c[O>>2]|0)|0;jx(c[Ba>>2]|0,99,c[sa>>2]|0,c[ga>>2]|0,c[ua>>2]|0)|0;ix(c[Ba>>2]|0,125,c[wa+4>>2]|0,c[ua>>2]|0)|0;xx(c[O>>2]|0,c[ua>>2]|0);FA(c[O>>2]|0,c[sa>>2]|0,c[ga>>2]|0);rD(c[pa>>2]|0);sa=(c[O>>2]|0)+40|0;ua=c[sa>>2]|0;c[sa>>2]=ua+1;c[Aa>>2]=ua;c[wa+8>>2]=ua;c[za>>2]=vx(c[O>>2]|0)|0;jx(c[Ba>>2]|0,110,c[Aa>>2]|0,c[za>>2]|0,c[ga>>2]|0)|0;ix(c[Ba>>2]|0,55,c[wa+4>>2]|0,c[S>>2]|0)|0;a[wa+1>>0]=1;EC(c[O>>2]|0)}do if(c[ia>>2]|0){if(e[(c[Y>>2]|0)+64>>1]&4)break;if((c[Z>>2]|0)==0?(WG(c[pa>>2]|0)|0)==0:0)break;c[ya>>2]=0;HA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);c[X>>2]=wx(c[Ba>>2]|0)|0;EC(c[O>>2]|0);if(c[Z>>2]|0)jx(c[Ba>>2]|0,120,c[wa+4>>2]|0,c[za>>2]|0,c[Aa>>2]|0)|0;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[c[la>>2]>>2]|0))break;if(c[Z>>2]|0)jx(c[Ba>>2]|0,96,c[Aa>>2]|0,c[fa>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)|0;else{a[wa>>0]=1;RA(c[O>>2]|0,c[(c[(c[la>>2]|0)+4>>2]|0)+((c[fa>>2]|0)*20|0)>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)}c[fa>>2]=(c[fa>>2]|0)+1}sa=c[Ba>>2]|0;ua=c[$>>2]|0;za=c[ba>>2]|0;Aa=c[c[la>>2]>>2]|0;mx(sa,95,ua,za,Aa,nA(c[na>>2]|0)|0,-6)|0;c[R>>2]=wx(c[Ba>>2]|0)|0;jx(c[Ba>>2]|0,18,(c[R>>2]|0)+1|0,0,(c[R>>2]|0)+1|0)|0;XG(c[O>>2]|0,c[ba>>2]|0,c[$>>2]|0,c[c[la>>2]>>2]|0);ix(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;ix(c[Ba>>2]|0,66,c[aa>>2]|0,c[S>>2]|0)|0;ix(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;Zz(c[Ba>>2]|0,c[R>>2]|0);YG(c[O>>2]|0,wa);ix(c[Ba>>2]|0,76,1,c[ea>>2]|0)|0;if(c[Z>>2]|0)ix(c[Ba>>2]|0,3,c[wa+4>>2]|0,c[X>>2]|0)|0;else{rD(c[pa>>2]|0);HA(c[Ba>>2]|0,c[W>>2]|0)|0}ix(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;Yz(c[Ba>>2]|0,c[S>>2]|0)|0;c[V>>2]=wx(c[Ba>>2]|0)|0;ix(c[Ba>>2]|0,76,1,c[aa>>2]|0)|0;Sz(c[Ba>>2]|0,72,c[ta>>2]|0)|0;_z(c[Ba>>2]|0,c[T>>2]|0);c[T>>2]=wx(c[Ba>>2]|0)|0;ix(c[Ba>>2]|0,66,c[ea>>2]|0,(c[T>>2]|0)+2|0)|0;Sz(c[Ba>>2]|0,72,c[ta>>2]|0)|0;ZG(c[O>>2]|0,wa);iB(c[O>>2]|0,c[ma>>2]|0,(c[T>>2]|0)+1|0,16);SG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,ya,xa,c[Q>>2]|0,(c[T>>2]|0)+1|0,c[V>>2]|0);Sz(c[Ba>>2]|0,72,c[ta>>2]|0)|0;_z(c[Ba>>2]|0,c[U>>2]|0);_G(c[O>>2]|0,wa);Sz(c[Ba>>2]|0,72,c[va>>2]|0)|0}else{c[G>>2]=0;Aa=$G(c[P>>2]|0,wa)|0;c[K>>2]=Aa;if(Aa){c[D>>2]=Fh(c[c[O>>2]>>2]|0,c[(c[K>>2]|0)+64>>2]|0)|0;za=(c[O>>2]|0)+40|0;Aa=c[za>>2]|0;c[za>>2]=Aa+1;c[C>>2]=Aa;c[I>>2]=0;c[F>>2]=0;c[E>>2]=c[(c[K>>2]|0)+28>>2];sx(c[O>>2]|0,c[D>>2]|0);Tz(c[O>>2]|0,c[D>>2]|0,c[(c[K>>2]|0)+28>>2]|0,0,c[c[K>>2]>>2]|0);if(d[(c[K>>2]|0)+42>>0]&32)c[F>>2]=Jj(c[K>>2]|0)|0;c[H>>2]=c[(c[K>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;do if(!((d[(c[H>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[K>>2]|0)+40>>1]|0))break;if(c[(c[H>>2]|0)+36>>2]|0)break;if((c[F>>2]|0)!=0?(b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[F>>2]|0)+48>>1]|0):0)break;c[F>>2]=c[H>>2]}while(0);c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[F>>2]|0){c[E>>2]=c[(c[F>>2]|0)+44>>2];c[I>>2]=hA(c[O>>2]|0,c[F>>2]|0)|0}Ih(c[Ba>>2]|0,104,c[C>>2]|0,c[E>>2]|0,c[D>>2]|0,1)|0;if(c[I>>2]|0)Mh(c[Ba>>2]|0,-1,c[I>>2]|0,-6);ix(c[Ba>>2]|0,100,c[C>>2]|0,c[(c[wa+40>>2]|0)+8>>2]|0)|0;Sz(c[Ba>>2]|0,111,c[C>>2]|0)|0;aH(c[O>>2]|0,c[K>>2]|0,c[F>>2]|0)}else{c[J>>2]=0;a[B>>0]=0;if(!(c[(c[P>>2]|0)+40>>2]|0))a[B>>0]=bH(wa,J)|0;do if(a[B>>0]|0){c[J>>2]=Qy(c[Y>>2]|0,c[J>>2]|0,0)|0;c[G>>2]=c[J>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;a[(c[(c[J>>2]|0)+4>>2]|0)+12>>0]=(d[B>>0]|0)!=1?1:0;a[c[c[(c[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);_G(c[O>>2]|0,wa);c[pa>>2]=qD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[J>>2]|0,0,d[B>>0]|0,0)|0;if(!(c[pa>>2]|0)){ev(c[Y>>2]|0,c[G>>2]|0);break}YG(c[O>>2]|0,wa);if((OG(c[pa>>2]|0)|0)>0){Aa=c[Ba>>2]|0;Yz(Aa,RG(c[pa>>2]|0)|0)|0}rD(c[pa>>2]|0);ZG(c[O>>2]|0,wa)}c[ya>>2]=0;iB(c[O>>2]|0,c[ma>>2]|0,c[S>>2]|0,16);SG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,0,0,c[Q>>2]|0,c[S>>2]|0,c[S>>2]|0);ev(c[Y>>2]|0,c[G>>2]|0)}_z(c[Ba>>2]|0,c[S>>2]|0)}if((d[xa+1>>0]|0)==3)VG(c[O>>2]|0,35649);if(c[ya>>2]|0){VG(c[O>>2]|0,(c[ya+4>>2]|0)>0?35667:35690);cH(c[O>>2]|0,c[P>>2]|0,ya,c[c[ka>>2]>>2]|0,c[Q>>2]|0)}_z(c[Ba>>2]|0,c[ca>>2]|0);c[ra>>2]=(c[(c[O>>2]|0)+36>>2]|0)>0&1}}while(0);c[(c[O>>2]|0)+420>>2]=c[da>>2];if((c[ra>>2]|0)==0?(d[c[Q>>2]>>0]|0)==9:0)dH(c[O>>2]|0,c[oa>>2]|0,c[ka>>2]|0);Tf(c[Y>>2]|0,c[wa+28>>2]|0);Tf(c[Y>>2]|0,c[wa+40>>2]|0);c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}function Qv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;d=l+24|0;e=l+20|0;j=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+48>>2]|0)){i=l;return}c[j>>2]=0;c[f>>2]=0;c[h>>2]=c[e>>2];while(1){if(!(c[h>>2]|0))break;c[(c[h>>2]|0)+52>>2]=c[j>>2];a=(c[h>>2]|0)+8|0;c[a>>2]=c[a>>2]|256;c[j>>2]=c[h>>2];c[h>>2]=c[(c[h>>2]|0)+48>>2];c[f>>2]=(c[f>>2]|0)+1}if(c[(c[e>>2]|0)+8>>2]&1024){i=l;return}a=c[(c[c[d>>2]>>2]|0)+96+16>>2]|0;c[g>>2]=a;if((a|0)<=0){i=l;return}if((c[f>>2]|0)<=(c[g>>2]|0)){i=l;return}Eh(c[d>>2]|0,35575,k);i=l;return}function Rv(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;v=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[l>>2]>>2];if((c[m>>2]|0)==0?(c[r>>2]|0)!=0|(c[s>>2]|0)!=0:0){j=c[l>>2]|0;c[v>>2]=(c[r>>2]|0)!=0?35530:35533;Eh(j,35539,v)}else w=4;if(((w|0)==4?(c[m>>2]=_v(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[m>>2]|0)!=0):0)?(c[c[m>>2]>>2]|0)!=0:0){c[u>>2]=(c[m>>2]|0)+8+(((c[c[m>>2]>>2]|0)-1|0)*72|0);if(c[(c[p>>2]|0)+4>>2]|0){w=Tw(c[t>>2]|0,c[p>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=w}c[(c[u>>2]|0)+20>>2]=c[q>>2];c[(c[u>>2]|0)+48>>2]=c[r>>2];c[(c[u>>2]|0)+52>>2]=c[s>>2];c[k>>2]=c[m>>2];w=c[k>>2]|0;i=x;return w|0}iv(c[t>>2]|0,c[r>>2]|0);kv(c[t>>2]|0,c[s>>2]|0);fv(c[t>>2]|0,c[q>>2]|0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}function Sv(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;z=B+72|0;A=B+4|0;y=B;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;c[w>>2]=m;c[x>>2]=n;c[y>>2]=c[c[o>>2]>>2];l=Vw(c[y>>2]|0,68,0)|0;c[z>>2]=l;c[z>>2]=(c[z>>2]|0)==0?A:l;if(!(c[p>>2]|0)){l=c[o>>2]|0;c[p>>2]=Tv(l,0,Wv(c[y>>2]|0,160,0)|0)|0}c[c[z>>2]>>2]=c[p>>2];a[(c[z>>2]|0)+4>>0]=119;c[(c[z>>2]|0)+8>>2]=c[v>>2];c[(c[z>>2]|0)+12>>2]=0;c[(c[z>>2]|0)+16>>2]=0;c[(c[z>>2]|0)+20>>2]=-1;c[(c[z>>2]|0)+20+4>>2]=-1;b[(c[z>>2]|0)+6>>1]=0;if(!(c[q>>2]|0))c[q>>2]=sh(c[y>>2]|0,80,0)|0;c[(c[z>>2]|0)+28>>2]=c[q>>2];c[(c[z>>2]|0)+32>>2]=c[r>>2];c[(c[z>>2]|0)+36>>2]=c[s>>2];c[(c[z>>2]|0)+40>>2]=c[t>>2];c[(c[z>>2]|0)+44>>2]=c[u>>2];c[(c[z>>2]|0)+48>>2]=0;c[(c[z>>2]|0)+52>>2]=0;c[(c[z>>2]|0)+56>>2]=c[w>>2];c[(c[z>>2]|0)+60>>2]=c[x>>2];c[(c[z>>2]|0)+64>>2]=0;if(!(a[(c[y>>2]|0)+69>>0]|0)){A=c[z>>2]|0;i=B;return A|0}gv(c[y>>2]|0,c[z>>2]|0,(c[z>>2]|0)!=(A|0)&1);c[z>>2]=0;A=c[z>>2]|0;i=B;return A|0}function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=Vw(c[j>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=Vw(c[j>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)e=7;else e=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=Uw(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))e=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];e=7}}else e=7;if((e|0)==7){j=c[g>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(m*20|0);m=c[k>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[k>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;i=l;return m|0}else if((e|0)==8){iv(c[j>>2]|0,c[h>>2]|0);ev(c[j>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}return 0}function Uv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);a=Yw(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[k>>2]|0)+4>>2]=a;if(!(c[j>>2]|0)){i=l;return}Zw(c[(c[k>>2]|0)+4>>2]|0);i=l;return}function Vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[k>>2]>>2];if(!(c[e>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Tf(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);k=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;k=Yw(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=k;i=j;return}function Wv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)e=Jf(c[e>>2]|0)|0;else e=0;c[h+4>>2]=e;h=jw(c[f>>2]|0,c[g>>2]|0,h,0)|0;i=j;return h|0}function Xv(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){i=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[(c[d>>2]|0)+8+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[(c[d>>2]|0)+8+36>>0]=0;i=f;return}function Yv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=k;return}if((c[c[g>>2]>>2]|0)<=0){i=k;return}c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-2|1;i=k;return}b=Tw(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+64>>2]=b;b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-3|((c[(c[j>>2]|0)+64>>2]|0)!=0&1)<<1&255;i=k;return}function Zv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[j>>2]|0)+64>>2]=c[h>>2];b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-5|4;i=k;return}else{ev(c[c[f>>2]>>2]|0,c[h>>2]|0);i=k;return}}function _v(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=Vw(c[h>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}while(0);c[j>>2]=DG(c[h>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[h>>2]|0)+69>>0]|0){hv(c[h>>2]|0,c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[n>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[n>>2]}n=Tw(c[h>>2]|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n;n=Tw(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=n;c[g>>2]=c[j>>2];n=c[g>>2]|0;i=o;return n|0}function $v(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;r=u+16|0;q=u;g=u+64|0;h=u+60|0;j=u+56|0;k=u+52|0;o=u+48|0;l=u+36|0;p=u+32|0;m=u+28|0;n=u+24|0;s=u+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[l>>2]=c[h>>2];c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=3)break;if(!(c[l+(c[m>>2]<<2)>>2]|0))break;c[p>>2]=c[l+(c[m>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=7)break;if((c[(c[p>>2]|0)+4>>2]|0)==(d[35374+((c[n>>2]|0)*3|0)+1>>0]|0|0)?(zd(c[c[p>>2]>>2]|0,35395+(d[35374+((c[n>>2]|0)*3|0)>>0]|0)|0,c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[n>>2]=(c[n>>2]|0)+1}if((t|0)==8){t=0;c[o>>2]=c[o>>2]|(d[35374+((c[n>>2]|0)*3|0)+2>>0]|0)}if((c[n>>2]|0)>=7){t=11;break}c[m>>2]=(c[m>>2]|0)+1}if((t|0)==11)c[o>>2]=c[o>>2]|64;if((c[o>>2]&33|0)!=33?(c[o>>2]&64|0)==0:0){if(!(c[o>>2]&32)){t=c[o>>2]|0;i=u;return t|0}if((c[o>>2]&24|0)==8){t=c[o>>2]|0;i=u;return t|0}Eh(c[g>>2]|0,35475,r);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[s>>2]=35429;if(!(c[k>>2]|0))c[s>>2]=(c[s>>2]|0)+1;t=c[g>>2]|0;a=c[j>>2]|0;r=c[s>>2]|0;s=c[k>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=a;c[q+8>>2]=r;c[q+12>>2]=s;Eh(t,35431,q);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}function aw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];i=g;return}function bw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){i=j;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+472>>2];c[(c[f>>2]|0)+472>>2]=c[g>>2];if(!(a[h>>0]|0)){i=j;return}c[(c[f>>2]|0)+476>>2]=c[g>>2];i=j;return}function cw(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+192|0;G=X+176|0;H=X+172|0;I=X+168|0;W=X+164|0;U=X+160|0;M=X+156|0;F=X+152|0;S=X+148|0;n=X+144|0;N=X+140|0;P=X+136|0;o=X+132|0;L=X+128|0;V=X+120|0;r=X+88|0;l=X+84|0;R=X+80|0;q=X+76|0;y=X+72|0;v=X+64|0;J=X+60|0;T=X+56|0;m=X+52|0;p=X+184|0;A=X+48|0;C=X+182|0;O=X+44|0;B=X+40|0;u=X+36|0;K=X+32|0;j=X+28|0;w=X+24|0;Q=X+20|0;D=X+16|0;s=X+180|0;k=X+12|0;E=X+8|0;x=X+4|0;z=X;c[G>>2]=f;c[H>>2]=g;c[I>>2]=h;c[N>>2]=0;c[P>>2]=0;c[R>>2]=-1;c[J>>2]=0;c[m>>2]=0;b[p>>1]=1;c[O>>2]=0;c[B>>2]=0;c[u>>2]=0;c[K>>2]=0;c[j>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[L>>2]=c[c[G>>2]>>2];a:do if(((c[(c[G>>2]|0)+36>>2]|0)==0?(d[(c[L>>2]|0)+69>>0]|0)==0:0)?(c[U>>2]=bC(c[G>>2]|0,c[H>>2]|0)|0,(c[U>>2]|0)!=0):0){c[D>>2]=TC(c[G>>2]|0,c[U>>2]|0,109,0,0)|0;c[Q>>2]=(c[(c[U>>2]|0)+12>>2]|0)!=0&1;if(c[D>>2]|0)f=1;else f=(lF(c[G>>2]|0,c[U>>2]|0,0,0)|0)!=0;c[w>>2]=f&1;if(((Tx(c[G>>2]|0,c[U>>2]|0)|0)==0?(UC(c[G>>2]|0,c[U>>2]|0,(c[D>>2]|0)!=0?1:0)|0)==0:0)?(c[l>>2]=Fh(c[L>>2]|0,c[(c[U>>2]|0)+64>>2]|0)|0,c[q>>2]=ax(c[G>>2]|0,9,c[c[U>>2]>>2]|0,0,c[(c[(c[L>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0,(c[q>>2]|0)!=1):0){g=(c[G>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[(c[H>>2]|0)+8+44>>2]=h;c[n>>2]=h;c[o>>2]=0;c[S>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[S>>2]|0))break;h=(c[G>>2]|0)+40|0;c[h>>2]=(c[h>>2]|0)+1;c[S>>2]=c[(c[S>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[Q>>2]|0)yG(c[G>>2]|0,V,c[c[U>>2]>>2]|0);c[W>>2]=dx(c[G>>2]|0)|0;if(c[W>>2]|0){if(!(d[(c[G>>2]|0)+18>>0]|0))VC(c[W>>2]|0);rx(c[G>>2]|0,1,c[l>>2]|0);if(c[Q>>2]|0){zG(c[G>>2]|0,c[U>>2]|0,c[I>>2]|0,c[n>>2]|0);h=c[n>>2]|0;c[P>>2]=h;c[N>>2]=h};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r>>2]=c[G>>2];c[r+4>>2]=c[H>>2];if(!(Ay(r,c[I>>2]|0)|0)){if(c[(c[L>>2]|0)+24>>2]&128){g=(c[G>>2]|0)+44|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[R>>2]=h;ix(c[W>>2]|0,76,0,c[R>>2]|0)|0}b:do if(!((c[q>>2]|0)==0&(c[I>>2]|0)==0^1|(c[w>>2]|0)!=0)?(d[(c[U>>2]|0)+42>>0]&16|0)==0:0){Tz(c[G>>2]|0,c[l>>2]|0,c[(c[U>>2]|0)+28>>2]|0,1,c[c[U>>2]>>2]|0);if(!(d[(c[U>>2]|0)+42>>0]&32))mx(c[W>>2]|0,131,c[(c[U>>2]|0)+28>>2]|0,c[l>>2]|0,c[R>>2]|0,c[c[U>>2]>>2]|0,-2)|0;c[S>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[S>>2]|0))break b;ix(c[W>>2]|0,131,c[(c[S>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[S>>2]=c[(c[S>>2]|0)+20>>2]}}else t=29;while(0);c:do if((t|0)==29){b[s>>1]=1044;if(e[r+28>>1]&64)c[w>>2]=1;b[s>>1]=e[s>>1]|((c[w>>2]|0)!=0?0:8);if(!(d[(c[U>>2]|0)+42>>0]&32)){c[T>>2]=0;b[p>>1]=1;r=(c[G>>2]|0)+44|0;t=(c[r>>2]|0)+1|0;c[r>>2]=t;c[B>>2]=t;ix(c[W>>2]|0,79,0,c[B>>2]|0)|0}else{c[T>>2]=Jj(c[U>>2]|0)|0;b[p>>1]=b[(c[T>>2]|0)+50>>1]|0;c[m>>2]=(c[(c[G>>2]|0)+44>>2]|0)+1;r=(c[G>>2]|0)+44|0;c[r>>2]=(c[r>>2]|0)+(b[p>>1]|0);r=(c[G>>2]|0)+40|0;t=c[r>>2]|0;c[r>>2]=t+1;c[O>>2]=t;c[j>>2]=ix(c[W>>2]|0,107,c[O>>2]|0,b[p>>1]|0)|0;Vz(c[G>>2]|0,c[T>>2]|0)}c[F>>2]=qD(c[G>>2]|0,c[H>>2]|0,c[I>>2]|0,0,0,b[s>>1]|0,(c[n>>2]|0)+1|0)|0;if(!(c[F>>2]|0))break a;c[y>>2]=BG(c[F>>2]|0,v)|0;if(c[(c[L>>2]|0)+24>>2]&128)ix(c[W>>2]|0,91,c[R>>2]|0,1)|0;do if(c[T>>2]|0){c[M>>2]=0;while(1){if((c[M>>2]|0)>=(b[p>>1]|0))break;NA(c[W>>2]|0,c[U>>2]|0,c[n>>2]|0,b[(c[(c[T>>2]|0)+4>>2]|0)+(c[M>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[M>>2]|0)|0);c[M>>2]=(c[M>>2]|0)+1}c[A>>2]=c[m>>2]}else{c[A>>2]=(c[(c[G>>2]|0)+44>>2]|0)+1;c[A>>2]=TA(c[G>>2]|0,c[U>>2]|0,-1,c[n>>2]|0,c[A>>2]|0,0)|0;if((c[A>>2]|0)<=(c[(c[G>>2]|0)+44>>2]|0))break;c[(c[G>>2]|0)+44>>2]=c[A>>2]}while(0);do if(!(c[y>>2]|0))if(c[T>>2]|0){q=(c[G>>2]|0)+44|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;b[C>>1]=0;o=c[W>>2]|0;q=c[m>>2]|0;r=b[p>>1]|0;s=c[A>>2]|0;t=CC(c[c[G>>2]>>2]|0,c[T>>2]|0)|0;mx(o,99,q,r,s,t,b[p>>1]|0)|0;ix(c[W>>2]|0,126,c[O>>2]|0,c[A>>2]|0)|0;break}else{b[C>>1]=1;ix(c[W>>2]|0,142,c[B>>2]|0,c[A>>2]|0)|0;break}else{b[C>>1]=b[p>>1]|0;t=(c[o>>2]|0)+2|0;c[J>>2]=Vw(c[L>>2]|0,t,((t|0)<0)<<31>>31)|0;if(!(c[J>>2]|0)){rD(c[F>>2]|0);break a}VR(c[J>>2]|0,1,(c[o>>2]|0)+1|0)|0;a[(c[J>>2]|0)+((c[o>>2]|0)+1)>>0]=0;if((c[v>>2]|0)>=0)a[(c[J>>2]|0)+((c[v>>2]|0)-(c[n>>2]|0))>>0]=0;if((c[v+4>>2]|0)>=0)a[(c[J>>2]|0)+((c[v+4>>2]|0)-(c[n>>2]|0))>>0]=0;if(!(c[j>>2]|0))break;HA(c[W>>2]|0,c[j>>2]|0)|0}while(0);if(c[y>>2]|0)c[u>>2]=Wz(c[W>>2]|0)|0;else rD(c[F>>2]|0);do if(!(c[Q>>2]|0)){c[k>>2]=0;if((c[y>>2]|0)==2)c[k>>2]=fx(c[W>>2]|0,20)|0;FC(c[G>>2]|0,c[U>>2]|0,105,8,c[n>>2]|0,c[J>>2]|0,N,P)|0;if((c[y>>2]|0)!=2)break;Zz(c[W>>2]|0,c[k>>2]|0)}while(0);do if(!(c[y>>2]|0)){f=c[W>>2]|0;if(c[T>>2]|0){c[K>>2]=Sz(f,57,c[O>>2]|0)|0;ix(c[W>>2]|0,121,c[O>>2]|0,c[A>>2]|0)|0;break}else{c[K>>2]=jx(f,62,c[B>>2]|0,0,c[A>>2]|0)|0;break}}else{if(d[(c[U>>2]|0)+42>>0]&16)break;if(!(d[(c[J>>2]|0)+((c[N>>2]|0)-(c[n>>2]|0))>>0]|0))break;Ih(c[W>>2]|0,30,c[N>>2]|0,c[u>>2]|0,c[A>>2]|0,b[C>>1]|0)|0}while(0);do if(d[(c[U>>2]|0)+42>>0]&16){c[E>>2]=Ux(c[L>>2]|0,c[U>>2]|0)|0;dD(c[G>>2]|0,c[U>>2]|0);mx(c[W>>2]|0,12,0,1,c[A>>2]|0,c[E>>2]|0,-10)|0;Jh(c[W>>2]|0,2);Vx(c[G>>2]|0);if((c[y>>2]|0)!=1)break;if(c[(c[G>>2]|0)+124>>2]|0)break;a[(c[G>>2]|0)+20>>0]=0}else{c[x>>2]=(d[(c[G>>2]|0)+18>>0]|0)==0&1;c[z>>2]=-1;do if(!(c[w>>2]|0)){if((c[v+4>>2]|0)==(c[N>>2]|0))break;c[z>>2]=c[v+4>>2]}while(0);nF(c[G>>2]|0,c[U>>2]|0,c[D>>2]|0,c[N>>2]|0,c[P>>2]|0,c[A>>2]|0,b[C>>1]|0,c[x>>2]&255,10,c[y>>2]&255,c[z>>2]|0)}while(0);do if(!(c[y>>2]|0)){f=c[W>>2]|0;if(c[T>>2]|0){ix(f,7,c[O>>2]|0,(c[K>>2]|0)+1|0)|0;Zz(c[W>>2]|0,c[K>>2]|0);break}else{Yz(f,c[K>>2]|0)|0;Zz(c[W>>2]|0,c[K>>2]|0);break}}else{_z(c[W>>2]|0,c[u>>2]|0);rD(c[F>>2]|0)}while(0);if(c[Q>>2]|0)break;if(d[(c[U>>2]|0)+42>>0]&16)break;if(!(c[T>>2]|0))Sz(c[W>>2]|0,111,c[N>>2]|0)|0;c[M>>2]=0;c[S>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[S>>2]|0))break c;Sz(c[W>>2]|0,111,(c[P>>2]|0)+(c[M>>2]|0)|0)|0;c[M>>2]=(c[M>>2]|0)+1;c[S>>2]=c[(c[S>>2]|0)+20>>2]}}while(0);if((d[(c[G>>2]|0)+18>>0]|0)==0?(c[(c[G>>2]|0)+128>>2]|0)==0:0)hD(c[G>>2]|0);if(((c[(c[L>>2]|0)+24>>2]&128|0)!=0?(a[(c[G>>2]|0)+18>>0]|0)==0:0)?(c[(c[G>>2]|0)+128>>2]|0)==0:0){ix(c[W>>2]|0,87,c[R>>2]|0,1)|0;mC(c[W>>2]|0,1);nC(c[W>>2]|0,0,0,35361,0)|0}}}}}while(0);CG(V);hv(c[L>>2]|0,c[H>>2]|0);iv(c[L>>2]|0,c[I>>2]|0);Tf(c[L>>2]|0,c[J>>2]|0);i=X;return}function dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+96+8>>2];if(!(c[f>>2]|0)){i=k;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){i=k;return}d=c[e>>2]|0;c[j>>2]=c[g>>2];Eh(d,35338,j);i=k;return}function ew(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;q=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;p=oa+120|0;l=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;n=oa+28|0;o=oa+24|0;m=oa+250|0;u=oa+20|0;w=oa+248|0;r=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;c[X>>2]=f;c[Y>>2]=g;c[Z>>2]=h;c[_>>2]=j;c[K>>2]=k;c[ba>>2]=0;c[L>>2]=0;c[aa>>2]=0;c[z>>2]=0;c[fa>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[V>>2]=0;c[U>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[T>>2]=0;c[ma>>2]=0;c[ma+4>>2]=0;c[ca>>2]=c[c[X>>2]>>2];if(c[(c[X>>2]|0)+36>>2]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(d[(c[ca>>2]|0)+69>>0]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[ka>>2]=bC(c[X>>2]|0,c[Y>>2]|0)|0;if(!(c[ka>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[l>>2]=Fh(c[c[X>>2]>>2]|0,c[(c[ka>>2]|0)+64>>2]|0)|0;c[S>>2]=TC(c[X>>2]|0,c[ka>>2]|0,110,c[Z>>2]|0,G)|0;c[H>>2]=(c[(c[ka>>2]|0)+12>>2]|0)!=0&1;if(Tx(c[X>>2]|0,c[ka>>2]|0)|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(UC(c[X>>2]|0,c[ka>>2]|0,c[G>>2]|0)|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}g=(c[X>>2]|0)+40|0;j=c[g>>2]|0;c[g>>2]=j+1;c[ea>>2]=j;c[t>>2]=j;c[(c[Y>>2]|0)+8+44>>2]=j;c[ga>>2]=(c[ea>>2]|0)+1;if(!(d[(c[ka>>2]|0)+42>>0]&32))k=0;else k=Jj(c[ka>>2]|0)|0;c[ja>>2]=k;c[v>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if((c[ja>>2]|0)!=0?(a[(c[ia>>2]|0)+55>>0]&3|0)==2:0){c[ea>>2]=c[(c[X>>2]|0)+40>>2];c[(c[Y>>2]|0)+8+44>>2]=c[ea>>2]}j=(c[X>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+1;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}c[aa>>2]=Vw(c[ca>>2]|0,((b[(c[ka>>2]|0)+34>>1]|0)+(c[v>>2]|0)<<2)+(c[v>>2]|0)+2|0,0)|0;if(!(c[aa>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[L>>2]=(c[aa>>2]|0)+(b[(c[ka>>2]|0)+34>>1]<<2);c[$>>2]=(c[L>>2]|0)+(c[v>>2]<<2);VR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;a[(c[$>>2]|0)+((c[v>>2]|0)+1)>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[X>>2];c[p+4>>2]=c[Y>>2];a[y>>0]=0;a[B>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[c[Z>>2]>>2]|0)){J=41;break}if(Ay(p,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;j=(ig(c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[C>>2]|0;if(j){J=23;break}c[C>>2]=k+1}if((J|0)==23){J=0;if((k|0)!=(b[(c[ka>>2]|0)+32>>1]|0)){if((c[ja>>2]|0)!=0?(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)+15>>0]&1|0)!=0:0)a[y>>0]=1}else{a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=c[da>>2]}if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0)){if(c[ja>>2]|0){J=34;break}if(!(ui(c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[C>>2]=-1;a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}if((c[C>>2]|0)<0)k=19895;else k=c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0;c[n>>2]=ax(c[X>>2]|0,23,c[c[ka>>2]>>2]|0,k,c[(c[(c[ca>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1){J=185;break}if((c[n>>2]|0)==2)c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}if((J|0)==34){na=c[X>>2]|0;c[q>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2];Eh(na,24144,q);a[(c[X>>2]|0)+17>>0]=1;CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}else if((J|0)==41){a[O>>0]=(d[B>>0]|0)+(d[y>>0]|0);n=(d[(c[ka>>2]|0)+42>>0]&16|0)!=0;q=(c[Y>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[P>>2]=lF(c[X>>2]|0,c[ka>>2]|0,c[aa>>2]|0,d[O>>0]|0)|0;c[C>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;a:do if((!((d[O>>0]|0)!=0|(c[P>>2]|0)!=0)?(c[(c[ia>>2]|0)+36>>2]|0)==0:0)?(c[ia>>2]|0)!=(c[ja>>2]|0):0){c[o>>2]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(e[(c[ia>>2]|0)+50>>1]|0))break a;b[m>>1]=b[(c[(c[ia>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0;if((b[m>>1]|0)<0)break;if((c[(c[aa>>2]|0)+(b[m>>1]<<2)>>2]|0)>=0)break;c[da>>2]=(c[da>>2]|0)+1}n=(c[X>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[X>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[$>>2]|0)+((c[C>>2]|0)+1)>>0]=0;c[(c[L>>2]|0)+(c[C>>2]<<2)>>2]=c[o>>2];c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[C>>2]=(c[C>>2]|0)+1}c[na>>2]=dx(c[X>>2]|0)|0;if(!(c[na>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(!(d[(c[X>>2]|0)+18>>0]|0))VC(c[na>>2]|0);rx(c[X>>2]|0,1,c[l>>2]|0);if(!(d[(c[ka>>2]|0)+42>>0]&16)){q=(c[X>>2]|0)+44|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;o=(c[X>>2]|0)+44|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q;c[V>>2]=q;if((d[y>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){c[F>>2]=(c[(c[X>>2]|0)+44>>2]|0)+1;q=(c[X>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if((d[O>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){o=(c[X>>2]|0)+44|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q}c[I>>2]=(c[(c[X>>2]|0)+44>>2]|0)+1;q=(c[X>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if(c[H>>2]|0)yG(c[X>>2]|0,ma,c[c[ka>>2]>>2]|0);if(c[H>>2]|0)zG(c[X>>2]|0,c[ka>>2]|0,c[_>>2]|0,c[ea>>2]|0);if(Ay(p,c[_>>2]|0)|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(d[(c[ka>>2]|0)+42>>0]&16){AG(c[X>>2]|0,c[Y>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[z>>2]|0,c[aa>>2]|0,c[_>>2]|0,c[K>>2]|0);CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(!(d[(c[ka>>2]|0)+42>>0]&32)){jx(c[na>>2]|0,79,0,c[A>>2]|0,c[V>>2]|0)|0;c[x>>2]=qD(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,1028,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[R>>2]=BG(c[x>>2]|0,s)|0;ix(c[na>>2]|0,123,c[ea>>2]|0,c[V>>2]|0)|0;if(!(c[R>>2]|0))ix(c[na>>2]|0,142,c[A>>2]|0,c[V>>2]|0)|0;rD(c[x>>2]|0)}else{b[w>>1]=b[(c[ja>>2]|0)+50>>1]|0;c[u>>2]=(c[(c[X>>2]|0)+44>>2]|0)+1;q=(c[X>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[X>>2]|0)+44|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[T>>2]=p;p=(c[X>>2]|0)+40|0;q=c[p>>2]|0;c[p>>2]=q+1;c[fa>>2]=q;ix(c[na>>2]|0,79,0,c[u>>2]|0)|0;c[r>>2]=ix(c[na>>2]|0,107,c[fa>>2]|0,b[w>>1]|0)|0;Vz(c[X>>2]|0,c[ja>>2]|0);c[x>>2]=qD(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[R>>2]=BG(c[x>>2]|0,s)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[w>>1]|0))break;NA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,b[(c[(c[ja>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0,(c[u>>2]|0)+(c[da>>2]|0)|0);c[da>>2]=(c[da>>2]|0)+1}k=c[na>>2]|0;if(c[R>>2]|0){HA(k,c[r>>2]|0)|0;c[Q>>2]=b[w>>1];c[T>>2]=c[u>>2]}else{p=c[u>>2]|0;q=b[w>>1]|0;r=c[T>>2]|0;u=CC(c[ca>>2]|0,c[ja>>2]|0)|0;mx(k,99,p,q,r,u,b[w>>1]|0)|0;ix(c[na>>2]|0,126,c[fa>>2]|0,c[T>>2]|0)|0}rD(c[x>>2]|0)}if((c[(c[ca>>2]|0)+24>>2]&128|0)!=0?(c[(c[X>>2]|0)+128>>2]|0)==0:0){w=(c[X>>2]|0)+44|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[la>>2]=x;ix(c[na>>2]|0,76,0,c[la>>2]|0)|0}c[ha>>2]=Wz(c[na>>2]|0)|0;if(!(c[H>>2]|0)){b:do if((c[K>>2]|0)==5)VR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;else{c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break b;if((d[(c[ia>>2]|0)+54>>0]|0)==5)break;c[ia>>2]=c[(c[ia>>2]|0)+20>>2]}VR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0}while(0);do if(c[R>>2]|0){if((c[s>>2]|0)>=0)a[(c[$>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[s+4>>2]|0)<0)break;a[(c[$>>2]|0)+((c[s+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);FC(c[X>>2]|0,c[ka>>2]|0,105,0,c[t>>2]|0,c[$>>2]|0,0,0)|0}do if(!(c[R>>2]|0)){k=c[na>>2]|0;if(c[ja>>2]|0){c[W>>2]=Wz(k)|0;ix(c[na>>2]|0,57,c[fa>>2]|0,c[ha>>2]|0)|0;c[ba>>2]=ix(c[na>>2]|0,121,c[fa>>2]|0,c[T>>2]|0)|0;Ih(c[na>>2]|0,30,c[ea>>2]|0,c[W>>2]|0,c[T>>2]|0,0)|0;break}else{c[W>>2]=jx(k,62,c[A>>2]|0,c[ha>>2]|0,c[V>>2]|0)|0;jx(c[na>>2]|0,33,c[ea>>2]|0,c[W>>2]|0,c[V>>2]|0)|0;break}}else{if(!((c[H>>2]|0)!=0?1:(d[(c[$>>2]|0)+((c[ea>>2]|0)-(c[t>>2]|0))>>0]|0)==0))Ih(c[na>>2]|0,30,c[ea>>2]|0,c[ha>>2]|0,c[T>>2]|0,c[Q>>2]|0)|0;c[W>>2]=c[ha>>2];ix(c[na>>2]|0,34,(c[ja>>2]|0)!=0?c[T>>2]|0:c[V>>2]|0,c[ha>>2]|0)|0}while(0);if(a[B>>0]|0){RA(c[X>>2]|0,c[z>>2]|0,c[U>>2]|0);Sz(c[na>>2]|0,17,c[U>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[P>>2]|0)!=0|(c[S>>2]|0)!=0){if(c[P>>2]|0)k=qF(c[X>>2]|0,c[ka>>2]|0)|0;else k=0;c[E>>2]=k;A=pF(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,0,3,c[ka>>2]|0,c[K>>2]|0)|0;c[E>>2]=c[E>>2]|A;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;do if((c[E>>2]|0)==-1)J=120;else{if((c[da>>2]|0)<32?(c[E>>2]&1<>2]|0)!=0:0){J=120;break}if(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[da>>2]<<4)+15>>0]&1){J=120;break}ix(c[na>>2]|0,79,0,(c[F>>2]|0)+(c[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;NA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[F>>2]|0)+(c[da>>2]|0)|0)}c[da>>2]=(c[da>>2]|0)+1}if(!((d[B>>0]|0)==0&(c[ja>>2]|0)==0))break;ix(c[na>>2]|0,84,c[V>>2]|0,c[U>>2]|0)|0}while(0);c[D>>2]=pF(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,1,1,c[ka>>2]|0,c[K>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c:do if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))ix(c[na>>2]|0,79,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;else{c[C>>2]=c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2];if((c[C>>2]|0)>=0){RA(c[X>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0);break}do if(!((c[da>>2]|0)>31?1:0==(c[G>>2]&1|0))){if(c[D>>2]&1<>2])break;ix(c[na>>2]|0,79,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;break c}while(0);XD(c[X>>2]|0,c[ka>>2]|0,c[da>>2]|0,c[ea>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}d:do if(c[G>>2]&1){$C(c[na>>2]|0,c[ka>>2]|0,c[I>>2]|0);aD(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,1,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);k=c[na>>2]|0;h=c[ea>>2]|0;f=c[W>>2]|0;if(c[ja>>2]|0)Ih(k,30,h,f,c[T>>2]|0,c[Q>>2]|0)|0;else jx(k,33,h,f,c[V>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break d;do if((c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]|0)<0){if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))break;NA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[M>>2]=0;c[N>>2]=0;eD(c[X>>2]|0,c[ka>>2]|0,c[L>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[V>>2]|0,a[O>>0]|0,c[K>>2]&255,c[W>>2]|0,N,c[aa>>2]|0);if(c[P>>2]|0)fD(c[X>>2]|0,c[ka>>2]|0,c[V>>2]|0,0,c[aa>>2]|0,d[O>>0]|0);if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))J=151;do if((J|0)==151){k=c[na>>2]|0;h=c[ea>>2]|0;if(c[ja>>2]|0){c[M>>2]=Ih(k,30,h,0,c[T>>2]|0,c[Q>>2]|0)|0;break}else{c[M>>2]=jx(k,33,h,0,c[V>>2]|0)|0;break}}while(0);oF(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[L>>2]|0,-1);if(!((c[P>>2]|0)==0?!((d[O>>0]|0)!=0|(c[ja>>2]|0)!=0):0))ix(c[na>>2]|0,117,c[ea>>2]|0,0)|0;if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))Zz(c[na>>2]|0,c[M>>2]|0);if(c[P>>2]|0)fD(c[X>>2]|0,c[ka>>2]|0,0,c[U>>2]|0,c[aa>>2]|0,d[O>>0]|0);gD(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[L>>2]|0,1,0,0);if(!(c[P>>2]|0))break;rF(c[X>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[V>>2]|0,c[aa>>2]|0,d[O>>0]|0)}while(0);do if(c[(c[ca>>2]|0)+24>>2]&128){if(c[(c[X>>2]|0)+128>>2]|0)break;ix(c[na>>2]|0,91,c[la>>2]|0,1)|0}while(0);aD(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,2,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);do if(!(c[R>>2]|0)){h=c[na>>2]|0;k=c[W>>2]|0;if(c[ja>>2]|0){_z(h,k);ix(c[na>>2]|0,7,c[fa>>2]|0,c[ba>>2]|0)|0;break}else{Yz(h,k)|0;break}}while(0);_z(c[na>>2]|0,c[ha>>2]|0);c[da>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if(a[(c[$>>2]|0)+((c[da>>2]|0)+1)>>0]|0)ix(c[na>>2]|0,111,(c[ga>>2]|0)+(c[da>>2]|0)|0,0)|0;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[da>>2]=(c[da>>2]|0)+1}if((c[ea>>2]|0)<(c[ga>>2]|0))ix(c[na>>2]|0,111,c[ea>>2]|0,0)|0;do if(!(d[(c[X>>2]|0)+18>>0]|0)){if(c[(c[X>>2]|0)+128>>2]|0)break;hD(c[X>>2]|0)}while(0);if(!(c[(c[ca>>2]|0)+24>>2]&128)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(c[(c[X>>2]|0)+128>>2]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(a[(c[X>>2]|0)+18>>0]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}ix(c[na>>2]|0,87,c[la>>2]|0,1)|0;mC(c[na>>2]|0,1);nC(c[na>>2]|0,0,0,35325,0)|0;CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}else if((J|0)==185){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}}function fw(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;o=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[n>>2]=e;do if(!((c[j>>2]|0)==0|(c[k>>2]|0)==0)){c[o>>2]=cz(c[k>>2]|0)|0;if((c[(c[j>>2]|0)+4>>2]|0)!=(c[o>>2]|0)){p=c[g>>2]|0;o=c[o>>2]|0;c[q>>2]=c[(c[j>>2]|0)+4>>2];c[q+4>>2]=o;Eh(p,35295,q);break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=cF(c[g>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;c[h>>2]=Tv(c[g>>2]|0,c[h>>2]|0,c[p>>2]|0)|0;if(c[h>>2]|0){c[(c[(c[h>>2]|0)+4>>2]|0)+(((c[c[h>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<3)>>2];c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<3)>>2]=0}c[m>>2]=(c[m>>2]|0)+1}if(((c[h>>2]|0)!=0?(d[c[k>>2]>>0]|0|0)==119:0)?(c[(c[(c[h>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)!=0:0){c[(c[(c[(c[h>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)+16>>2]=c[k>>2];c[k>>2]=0}}while(0);iv(c[l>>2]|0,c[k>>2]|0);kv(c[l>>2]|0,c[j>>2]|0);i=r;return c[h>>2]|0} -function SH(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+576|0;G=I+16|0;s=I+8|0;n=I;C=I+572|0;u=I+568|0;p=I+564|0;v=I+560|0;l=I+556|0;w=I+552|0;q=I+548|0;H=I+544|0;E=I+540|0;x=I+536|0;F=I+56|0;m=I+48|0;o=I+44|0;t=I+40|0;r=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;D=I+20|0;c[C>>2]=b;c[u>>2]=e;c[p>>2]=f;c[v>>2]=g;c[l>>2]=h;c[w>>2]=j;c[q>>2]=k;c[H>>2]=0;c[E>>2]=0;VR(F|0,0,152)|0;b=F+400|0;f=b+80|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0));c[F+432>>2]=c[l>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((c[m>>2]|0)!=0?(c[E>>2]=TH(c[m>>2]|0)|0,(c[E>>2]|0)!=0):0){B=5;break}c[x>>2]=(c[x>>2]|0)+1}if((B|0)==5){c[o>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];H=c[C>>2]|0;G=c[E>>2]|0;c[n>>2]=c[o>>2];jg(H,G,39591,n);Ph(F);G=c[C>>2]|0;H=c[E>>2]|0;H=Ug(G,H)|0;c[E>>2]=H;H=c[E>>2]|0;i=I;return H|0}uu(c[C>>2]|0);c[F>>2]=c[C>>2];do if((c[p>>2]|0)>=0){if((c[p>>2]|0)!=0?(a[(c[u>>2]|0)+((c[p>>2]|0)-1)>>0]|0)==0:0){B=15;break}c[r>>2]=c[(c[C>>2]|0)+96+4>>2];b=c[C>>2]|0;if((c[p>>2]|0)>(c[r>>2]|0)){jg(b,18,39621,s);c[E>>2]=Ug(c[C>>2]|0,18)|0;Ph(F);G=c[C>>2]|0;H=c[E>>2]|0;H=Ug(G,H)|0;c[E>>2]=H;H=c[E>>2]|0;i=I;return H|0}s=c[p>>2]|0;c[t>>2]=Yw(b,c[u>>2]|0,s,((s|0)<0)<<31>>31)|0;if(c[t>>2]|0){Yh(F,c[t>>2]|0,H)|0;c[F+436>>2]=(c[u>>2]|0)+((c[F+436>>2]|0)-(c[t>>2]|0));Tf(c[C>>2]|0,c[t>>2]|0);break}else{c[F+436>>2]=(c[u>>2]|0)+(c[p>>2]|0);break}}else B=15;while(0);if((B|0)==15)Yh(F,c[u>>2]|0,H)|0;if((c[F+12>>2]|0)==101)c[F+12>>2]=0;if(a[F+17>>0]|0)UH(F);if(a[(c[C>>2]|0)+69>>0]|0)c[F+12>>2]=7;if(c[q>>2]|0)c[c[q>>2]>>2]=c[F+436>>2];c[E>>2]=c[F+12>>2];a:do if(((c[E>>2]|0)==0?(c[F+8>>2]|0)!=0:0)?(d[F+409>>0]|0)!=0:0){b=c[F+8>>2]|0;if((d[F+409>>0]|0)==2){mC(b,4);c[y>>2]=8;c[z>>2]=12}else{mC(b,8);c[y>>2]=0;c[z>>2]=8}c[x>>2]=c[y>>2];while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break a;nC(c[F+8>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0,0,c[5524+(c[x>>2]<<2)>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(d[(c[C>>2]|0)+148+5>>0]|0)){c[A>>2]=c[F+8>>2];VH(c[A>>2]|0,c[u>>2]|0,(c[F+436>>2]|0)-(c[u>>2]|0)|0,c[v>>2]|0)}do if(c[F+8>>2]|0){if((c[E>>2]|0)==0?(d[(c[C>>2]|0)+69>>0]|0)==0:0){B=39;break}Tg(c[F+8>>2]|0)|0}else B=39;while(0);if((B|0)==39)c[c[w>>2]>>2]=c[F+8>>2];b=c[C>>2]|0;f=c[E>>2]|0;if(c[H>>2]|0){c[G>>2]=c[H>>2];jg(b,f,18391,G);Tf(c[C>>2]|0,c[H>>2]|0)}else lg(b,f);while(1){if(!(c[F+468>>2]|0))break;c[D>>2]=c[F+468>>2];c[F+468>>2]=c[(c[D>>2]|0)+4>>2];Tf(c[C>>2]|0,c[D>>2]|0)}Ph(F);G=c[C>>2]|0;H=c[E>>2]|0;H=Ug(G,H)|0;c[E>>2]=H;H=c[E>>2]|0;i=I;return H|0}function TH(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=WH(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function UH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){b=14;break}c[g>>2]=0;c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[h>>2]|0){if(!(og(c[h>>2]|0)|0)){c[j>>2]=pg(c[h>>2]|0,0)|0;if((c[j>>2]|0)==7|(c[j>>2]|0)==3082)mh(c[e>>2]|0);if(c[j>>2]|0){b=14;break}c[g>>2]=1}rg(c[h>>2]|0,1,d);if((c[d>>2]|0)!=(c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]>>2]|0)){wj(c[e>>2]|0,c[f>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[g>>2]|0)Gj(c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1}if((b|0)==14){i=k;return}}function VH(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[g>>2]|0)){i=l;return}d=c[j>>2]|0;d=Yw(c[c[g>>2]>>2]|0,c[h>>2]|0,d,((d|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+176>>2]=d;d=(c[g>>2]|0)+144|0;b[d>>1]=b[d>>1]&-513|(c[k>>2]&1)<<9&65535;i=l;return}function WH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+20|0;n=q+4|0;o=q;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[k>>2]|0)+4>>2];if(!(a[(c[k>>2]|0)+9>>0]|0)){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[k>>2]|0)?(e[(c[n>>2]|0)+22>>1]&32|0)!=0:0){c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[k>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[l>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}function XH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if(c[k>>2]|0){c[g>>2]=YH(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[g>>2]|0;i=l;return m|0}if(c[j>>2]|0){m=(c[j>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}function YH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){_H(c[f>>2]|0);break}c[k>>2]=ZH(c[f>>2]|0)|0;if(c[k>>2]|0){f=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){f=11;break}}if((f|0)==8){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}else if((f|0)==11){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}return 0}function ZH(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=$H(c[e>>2]|0)|0;if(!(c[f>>2]|0)){_H(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;i=g;return c[f>>2]|0}function _H(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;QB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[(c[d>>2]|0)+68>>0]=-1;i=f;return}function $H(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;d=g;c[e>>2]=b;c[f>>2]=0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+69>>0]|0){d=aI(b)|0;e=(c[e>>2]|0)+40|0;c[e>>2]=d;c[e+4>>2]=C;f=c[f>>2]|0;i=g;return f|0}h=bI(b)|0;b=(c[e>>2]|0)+40|0;c[b>>2]=h;c[b+4>>2]=0;b=(c[e>>2]|0)+40|0;c[d>>2]=$f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[d>>2]|0)){c[f>>2]=7;h=c[f>>2]|0;i=g;return h|0}c[f>>2]=cI(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[d>>2]|0)|0;b=c[d>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=b;h=c[f>>2]|0;i=g;return h|0}else{Kd(b);h=c[f>>2]|0;i=g;return h|0}return 0}function aI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;SF(c[d>>2]|0);a=(c[d>>2]|0)+16|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function bI(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;SF(c[b>>2]|0);i=d;return c[(c[b>>2]|0)+16+12>>2]|0}function cI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=RF(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function dI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mg(c[c[d>>2]>>2]|0);i=b;return}function eI(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;i=e;return}function fI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;d=c[g>>2]|0;a=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=a+4|0;c[g>>2]=(c[g>>2]|0)-d;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;i=h;return g|0}else{g=a+8|0;c[g>>2]=(c[g>>2]|0)+d;g=c[f>>2]|0;i=h;return g|0}return 0}function gI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){IA(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[k>>2]|0)<0){Mh(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+88>>2]|0)|0)/20|0,c[j>>2]|0,c[k>>2]|0);i=l;return}if(!(c[k>>2]|0))c[k>>2]=Jf(c[j>>2]|0)|0;e=c[k>>2]|0;e=Yw(c[c[g>>2]>>2]|0,c[j>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=e;a[(c[h>>2]|0)+1>>0]=-1;i=l;return}function hI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function iI(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+9>>0]|0|0}function jI(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;g=q+32|0;h=q+28|0;j=q+24|0;l=q+20|0;m=q+16|0;p=q+12|0;n=q+8|0;k=q+4|0;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[j>>2]|0)+16>>2]|0){c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}if((c[(c[l>>2]|0)+4>>2]|0)!=0?(c[(c[l>>2]|0)+4>>2]|0)!=(c[(c[l>>2]|0)+8>>2]|0):0){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[m>>2]=sh(c[k>>2]|0,72,0)|0;if(!(c[m>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=qh(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[c[m>>2]>>2]=e;if(!(c[c[m>>2]>>2]|0)){Tf(c[k>>2]|0,c[m>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[(c[j>>2]|0)+16>>2]=c[m>>2];b[(c[m>>2]|0)+36>>1]=1;c[(c[m>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2];e=(c[m>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|16;c[(c[m>>2]|0)+48>>2]=0;b[(c[m>>2]|0)+32>>1]=-1;e=c[k>>2]|0;f=c[m>>2]|0;$w(e,f,qh(c[k>>2]|0,c[c[m>>2]>>2]|0)|0);$w(c[k>>2]|0,c[m>>2]|0,0);f=c[k>>2]|0;e=c[m>>2]|0;$w(f,e,qh(c[k>>2]|0,c[c[m>>2]>>2]|0)|0);c[n>>2]=Jz(c[k>>2]|0,c[m>>2]|0,c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,p)|0;if(c[n>>2]|0){n=c[h>>2]|0;c[o>>2]=c[p>>2];Eh(n,18391,o);Tf(c[k>>2]|0,c[p>>2]|0);kI(c[k>>2]|0,c[j>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}else{c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}return 0}function kI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[h>>2]|0)){i=j;return}e=(c[h>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|2;Rf(c[f>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+16>>2]=0;i=j;return}function lI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){k=6;break}c[g>>2]=$u(c[e>>2]|0,j)|0;d=c[g>>2]|0;if((c[j>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+d;c[e>>2]=(c[e>>2]|0)+(c[g>>2]|0)}if((k|0)==6){k=c[h>>2]|0;i=l;return k|0}c[c[f>>2]>>2]=d;k=c[h>>2]|0;i=l;return k|0}function mI(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Xg(c[e>>2]|0);d=c[e>>2]|0;a=c[f>>2]|0;e=d+40|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=g;return}function nI(){return 320}function oI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=a;c[h>>2]=d;TR(l|0,c[g>>2]|0,208)|0;TR(c[g>>2]|0,c[h>>2]|0,208)|0;TR(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+176>>2];c[(c[g>>2]|0)+176>>2]=c[(c[h>>2]|0)+176>>2];c[(c[h>>2]|0)+176>>2]=c[j>>2];d=(c[h>>2]|0)+144|0;b[d>>1]=b[d>>1]&-513|((e[(c[g>>2]|0)+144>>1]|0)>>>9&1)<<9&65535;i=f;return}function pI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+40>>2]=0;i=b;return}function qI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;f=j;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?(c[(c[d>>2]|0)+72>>2]|0)!=0:0){c[g>>2]=Yb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[g>>2]|0;i=j;return g|0}c[g>>2]=Yb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,f)|0;k=+h[f>>3]*864.0e5;a=+N(k)>=1.0?(k>0.0?~~+$(+M(k/4294967296.0),4294967295.0)>>>0:~~+Z((k-+(~~k>>>0))/4294967296.0)>>>0):0;f=c[e>>2]|0;c[f>>2]=~~k>>>0;c[f+4>>2]=a;g=c[g>>2]|0;i=j;return g|0}function rI(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+80|0;w=y+8|0;q=y;r=y+68|0;s=y+64|0;n=y+60|0;o=y+56|0;g=y+52|0;p=y+48|0;h=y+44|0;j=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;k=y+20|0;m=y+16|0;l=y+12|0;c[s>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[h>>2]=c[c[s>>2]>>2];c[v>>2]=0;c[t>>2]=(c[(c[s>>2]|0)+92>>2]|0)+40;OC(c[t>>2]|0,8);c[(c[s>>2]|0)+104>>2]=0;if((c[(c[s>>2]|0)+40>>2]|0)==7){mh(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;i=y;return x|0}c[n>>2]=c[(c[s>>2]|0)+136>>2];a:do if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)==1){c[p>>2]=(c[(c[s>>2]|0)+92>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16){c[o>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[g>>2]=c[(c[p>>2]|0)+16>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}while(0);do{z=(c[s>>2]|0)+36|0;f=c[z>>2]|0;c[z>>2]=f+1;c[j>>2]=f;if((c[j>>2]|0)>=(c[n>>2]|0))break;if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)!=2)break}while((d[(c[(c[s>>2]|0)+88>>2]|0)+((c[j>>2]|0)*20|0)>>0]|0)!=162);do if((c[j>>2]|0)>=(c[n>>2]|0)){c[(c[s>>2]|0)+40>>2]=0;c[v>>2]=101}else{if(c[(c[h>>2]|0)+248>>2]|0){c[(c[s>>2]|0)+40>>2]=9;c[v>>2]=1;z=c[s>>2]|0;AI(z,lh(c[(c[s>>2]|0)+40>>2]|0)|0,q);break}if((c[j>>2]|0)<(c[(c[s>>2]|0)+136>>2]|0))c[u>>2]=(c[(c[s>>2]|0)+88>>2]|0)+((c[j>>2]|0)*20|0);else{c[j>>2]=(c[j>>2]|0)-(c[(c[s>>2]|0)+136>>2]|0);c[k>>2]=0;while(1){if((c[j>>2]|0)<(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0)+((c[j>>2]|0)*20|0)}if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)==1?(b[(c[t>>2]|0)+8>>1]=4,q=c[j>>2]|0,z=c[t>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[t>>2]=(c[t>>2]|0)+40,b[(c[t>>2]|0)+8>>1]=2562,z=RM(d[c[u>>2]>>0]|0)|0,c[(c[t>>2]|0)+16>>2]=z,z=Jf(c[(c[t>>2]|0)+16>>2]|0)|0,c[(c[t>>2]|0)+12>>2]=z,a[(c[t>>2]|0)+10>>0]=1,c[t>>2]=(c[t>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[m>>2]=(c[o>>2]|0)+1<<2;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if((c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(c[o>>2]|0)?0==(Ox(c[p>>2]|0,c[m>>2]|0,(c[o>>2]|0)!=0&1)|0):0){c[g>>2]=c[(c[p>>2]|0)+16>>2];q=c[(c[u>>2]|0)+16>>2]|0;z=c[o>>2]|0;c[o>>2]=z+1;c[(c[g>>2]|0)+(z<<2)>>2]=q;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[o>>2]<<2}}b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[t>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;if(Nx(c[t>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}b[(c[t>>2]|0)+8>>1]=514;c[x>>2]=SM(c[u>>2]|0,c[(c[t>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;g=c[t>>2]|0;if((c[x>>2]|0)!=(c[(c[t>>2]|0)+16>>2]|0)){c[g+12>>2]=0;gh(c[t>>2]|0,c[x>>2]|0,-1,1,0)|0}else{z=Jf(c[g+16>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=z;a[(c[t>>2]|0)+10>>0]=1}c[t>>2]=(c[t>>2]|0)+40;do if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)==1){if(!(Nx(c[t>>2]|0,4)|0)){b[(c[t>>2]|0)+8>>1]=514;c[(c[t>>2]|0)+12>>2]=2;z=c[(c[t>>2]|0)+16>>2]|0;c[w>>2]=d[(c[u>>2]|0)+3>>0];Qd(3,z,41910,w)|0;a[(c[t>>2]|0)+10>>0]=1;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}while(0);b[(c[s>>2]|0)+140>>1]=8-(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3)-1<<2);c[(c[s>>2]|0)+104>>2]=(c[(c[s>>2]|0)+92>>2]|0)+40;c[(c[s>>2]|0)+40>>2]=0;c[v>>2]=100}while(0);c[r>>2]=c[v>>2];z=c[r>>2]|0;i=y;return z|0}function sI(f){f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Pb=0,Qb=0,Sb=0,Vb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0.0,yf=0;vf=i;i=i+1872|0;Ie=vf+536|0;He=vf+528|0;Ge=vf+520|0;jf=vf+504|0;hf=vf+496|0;Fe=vf+488|0;Ee=vf+480|0;De=vf+472|0;Ce=vf+464|0;Be=vf+456|0;Ae=vf+440|0;gf=vf+432|0;ze=vf+424|0;ye=vf+416|0;xe=vf+408|0;we=vf+400|0;ve=vf+392|0;of=vf+376|0;nf=vf+368|0;mf=vf+360|0;lf=vf+352|0;qf=vf+1656|0;ef=vf+1652|0;pf=vf+1648|0;uf=vf+1644|0;rf=vf+1640|0;ff=vf+1862|0;G=vf+1861|0;ea=vf+1636|0;tf=vf+1632|0;_a=vf+1628|0;l=vf+1624|0;Jc=vf+1620|0;Kc=vf+1616|0;Lc=vf+1612|0;dd=vf+1608|0;n=vf+1604|0;sf=vf+344|0;g=vf+1600|0;_b=vf+1596|0;Cd=vf+1592|0;Bc=vf+1588|0;kf=vf+1584|0;A=vf+1580|0;db=vf+1670|0;sd=vf+1576|0;Ea=vf+1572|0;kb=vf+1568|0;ob=vf+1564|0;Fa=vf+1560|0;Rc=vf+1556|0;Q=vf+1552|0;Ma=vf+336|0;w=vf+1860|0;K=vf+1668|0;ne=vf+1666|0;oe=vf+1664|0;aa=vf+328|0;ca=vf+320|0;Ld=vf+312|0;Md=vf+304|0;Ga=vf+1548|0;hc=vf+1544|0;W=vf+1540|0;ic=vf+1536|0;ba=vf+296|0;pe=vf+288|0;da=vf+280|0;hb=vf+1859|0;Nd=vf+1532|0;Qd=vf+1528|0;r=vf+1858|0;L=vf+1662|0;O=vf+1660|0;Ia=vf+1524|0;X=vf+1520|0;nb=vf+1516|0;pb=vf+1512|0;Nc=vf+1508|0;ua=vf+1504|0;$b=vf+1500|0;x=vf+1496|0;re=vf+1492|0;se=vf+1488|0;y=vf+1484|0;qb=vf+1480|0;xb=vf+1476|0;ac=vf+1472|0;m=vf+1468|0;Ca=vf+1464|0;S=vf+1460|0;yc=vf+1456|0;fe=vf+240|0;Te=vf+1452|0;Ye=vf+1448|0;We=vf+1444|0;fb=vf+1440|0;gb=vf+232|0;v=vf+1436|0;je=vf+1432|0;id=vf+1428|0;Re=vf+1424|0;z=vf+1857|0;af=vf+1420|0;hd=vf+1416|0;Qa=vf+224|0;Wa=vf+1412|0;Na=vf+216|0;bb=vf+208|0;ab=vf+1408|0;ie=vf+1404|0;uc=vf+1400|0;Qc=vf+1396|0;Ta=vf+1392|0;Se=vf+1388|0;J=vf+1384|0;V=vf+1380|0;Ba=vf+1376|0;Da=vf+1372|0;Ra=vf+200|0;bc=vf+1368|0;mb=vf+1364|0;_e=vf+1360|0;Za=vf+1356|0;cd=vf+1352|0;kd=vf+1348|0;od=vf+1344|0;sa=vf+1340|0;va=vf+1336|0;za=vf+1332|0;ya=vf+1328|0;D=vf+1324|0;ra=vf+1320|0;tb=vf+1316|0;na=vf+1312|0;ka=vf+1308|0;oa=vf+1304|0;ga=vf+1300|0;fa=vf+1296|0;vc=vf+1292|0;Ua=vf+1288|0;Oc=vf+1284|0;rb=vf+1280|0;ha=vf+1276|0;Ke=vf+1272|0;Ad=vf+1268|0;lc=vf+1264|0;wc=vf+1260|0;qc=vf+1256|0;Pc=vf+1252|0;Dd=vf+1248|0;rc=vf+1244|0;yb=vf+1240|0;sc=vf+1236|0;Td=vf+1232|0;eb=vf+1228|0;zb=vf+1224|0;Gd=vf+1208|0;Va=vf+1200|0;la=vf+192|0;H=vf+1196|0;s=vf+1192|0;me=vf+1188|0;wa=vf+1184|0;Ab=vf+1180|0;Ud=vf+1176|0;Gc=vf+1172|0;Hc=vf+1168|0;Hd=vf+1152|0;q=vf+1674|0;Bb=vf+1148|0;cc=vf+1144|0;Vd=vf+1140|0;ma=vf+184|0;qe=vf+176|0;Cb=vf+1136|0;Wd=vf+1132|0;B=vf+1128|0;Sc=vf+1124|0;Cc=vf+1120|0;tc=vf+1116|0;Mc=vf+1112|0;Db=vf+1108|0;he=vf+1104|0;Ue=vf+1100|0;ld=vf+1096|0;ib=vf+1092|0;Le=vf+144|0;Eb=vf+1088|0;Ve=vf+1084|0;md=vf+1080|0;jb=vf+1076|0;Fb=vf+1072|0;Xd=vf+1068|0;Xa=vf+1064|0;Gb=vf+1060|0;Hb=vf+1056|0;dc=vf+1052|0;Ha=vf+1048|0;Ib=vf+1044|0;te=vf+136|0;td=vf+1040|0;Xc=vf+1036|0;Jb=vf+1032|0;Kb=vf+1028|0;ec=vf+1024|0;Yd=vf+1020|0;Lb=vf+1016|0;fc=vf+1012|0;Zd=vf+1008|0;Mb=vf+1004|0;_d=vf+1e3|0;Nb=vf+996|0;Ne=vf+104|0;Pb=vf+992|0;gc=vf+988|0;ae=vf+984|0;Id=vf+968|0;Qb=vf+964|0;nd=vf+960|0;ce=vf+96|0;Sb=vf+956|0;be=vf+952|0;Jd=vf+936|0;pa=vf+932|0;ia=vf+928|0;Pa=vf+924|0;Vb=vf+920|0;Ed=vf+916|0;P=vf+912|0;xc=vf+908|0;ja=vf+904|0;Ze=vf+900|0;bf=vf+896|0;xa=vf+880|0;$a=vf+872|0;p=vf+868|0;Sa=vf+864|0;Oe=vf+860|0;Fd=vf+856|0;ue=vf+88|0;ta=vf+852|0;I=vf+848|0;Ya=vf+844|0;Oa=vf+840|0;jd=vf+836|0;Tc=vf+832|0;Ac=vf+828|0;Dc=vf+824|0;fd=vf+820|0;ke=vf+816|0;Ec=vf+812|0;Ic=vf+808|0;Fc=vf+804|0;Ja=vf+800|0;jc=vf+796|0;Y=vf+792|0;kc=vf+788|0;Uc=vf+784|0;le=vf+48|0;Vc=vf+780|0;_=vf+776|0;o=vf+764|0;Wc=vf+760|0;vb=vf+756|0;ed=vf+752|0;E=vf+748|0;F=vf+744|0;Xe=vf+740|0;wb=vf+736|0;Aa=vf+1673|0;lb=vf+732|0;Pe=vf+728|0;rd=vf+724|0;ge=vf+8|0;cf=vf+720|0;mc=vf+716|0;pd=vf+712|0;ud=vf+708|0;Yc=vf+704|0;Ka=vf+700|0;qa=vf+696|0;Zc=vf+692|0;gd=vf+688|0;sb=vf+684|0;qd=vf+680|0;vd=vf+676|0;nc=vf+672|0;Od=vf+668|0;R=vf+664|0;t=vf+660|0;wd=vf+656|0;_c=vf+652|0;zc=vf+648|0;ee=vf+616|0;oc=vf+612|0;xd=vf+608|0;$c=vf+604|0;Pd=vf+600|0;pc=vf+596|0;yd=vf+592|0;bd=vf+588|0;zd=vf+584|0;ad=vf+580|0;La=vf+576|0;T=vf+572|0;de=vf;u=vf+568|0;Bd=vf+564|0;Je=vf+1672|0;cb=vf+560|0;ub=vf+556|0;df=vf+552|0;U=vf+548|0;Me=vf+544|0;Qe=vf+540|0;c[qf>>2]=f;c[ef>>2]=c[(c[qf>>2]|0)+88>>2];c[pf>>2]=c[ef>>2];c[uf>>2]=0;c[rf>>2]=c[c[qf>>2]>>2];a[ff>>0]=0;a[G>>0]=a[(c[rf>>2]|0)+66>>0]|0;c[ea>>2]=0;c[tf>>2]=0;c[_a>>2]=0;c[l>>2]=c[(c[qf>>2]|0)+92>>2];c[Jc>>2]=0;c[Kc>>2]=0;c[Lc>>2]=0;c[dd>>2]=0;c[n>>2]=0;wf=(c[rf>>2]|0)+32|0;f=c[wf+4>>2]|0;j=sf;c[j>>2]=c[wf>>2];c[j+4>>2]=f;xI(c[qf>>2]|0);a:do if((c[(c[qf>>2]|0)+40>>2]|0)==7)k=889;else{c[(c[qf>>2]|0)+40>>2]=0;wf=(c[qf>>2]|0)+56|0;c[wf>>2]=0;c[wf+4>>2]=0;c[(c[qf>>2]|0)+104>>2]=0;c[(c[rf>>2]|0)+380+8>>2]=0;b:do if(!(c[(c[rf>>2]|0)+248>>2]|0)){if(c[(c[rf>>2]|0)+304>>2]|0){c[g>>2]=c[(c[qf>>2]|0)+156+16>>2];c[_a>>2]=(c[(c[rf>>2]|0)+312>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[rf>>2]|0)+312>>2]|0)>>>0)|0)}c[pf>>2]=(c[ef>>2]|0)+((c[(c[qf>>2]|0)+36>>2]|0)*20|0);c:while(1){c[tf>>2]=(c[tf>>2]|0)+1;d:do switch(d[c[pf>>2]>>0]|0){case 87:{k=64;break c}case 1:{k=393;break c}case 13:{k=7;break}case 14:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Jc>>2]|0)+8>>1]=4;wf=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;k=c[Jc>>2]|0;c[k>>2]=wf;c[k+4>>2]=((wf|0)<0)<<31>>31;k=14;break}case 72:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[pf>>2]=(c[ef>>2]|0)+((c[c[Jc>>2]>>2]|0)*20|0);b[(c[Jc>>2]|0)+8>>1]=128;break}case 15:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);j=(c[(c[pf>>2]|0)+12>>2]|0)-1|0;wf=c[dd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;b[(c[dd>>2]|0)+8>>1]=4;if(c[(c[pf>>2]|0)+8>>2]|0)k=14;break}case 73:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[_b>>2]=(c[ef>>2]|0)+((c[c[Jc>>2]>>2]|0)*20|0);c[pf>>2]=(c[ef>>2]|0)+(((c[(c[_b>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[Jc>>2]|0)+8>>1]=128;break}case 16:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Jc>>2]|0)+8>>1]=4;c[Cd>>2]=c[c[Jc>>2]>>2];j=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;wf=c[Jc>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;c[pf>>2]=(c[ef>>2]|0)+((c[Cd>>2]|0)*20|0);break}case 74:{c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Lc>>2]|0)+8>>1]&1)k=20;break}case 75:{k=20;break}case 76:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;j=c[(c[pf>>2]|0)+4>>2]|0;wf=c[dd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;break}case 77:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;f=c[(c[pf>>2]|0)+16>>2]|0;j=c[f+4>>2]|0;wf=c[dd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;break}case 132:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=8;h[c[dd>>2]>>3]=+h[c[(c[pf>>2]|0)+16>>2]>>3];break}case 97:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;a[c[pf>>2]>>0]=78;wf=Jf(c[(c[pf>>2]|0)+16>>2]|0)|0;c[(c[pf>>2]|0)+4>>2]=wf;if((d[G>>0]|0)!=1){c[uf>>2]=gh(c[dd>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,-1,1,0)|0;if(iu(c[dd>>2]|0,d[G>>0]|0)|0){k=889;break a}c[(c[dd>>2]|0)+24>>2]=0;wf=(c[dd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|2048;if((a[(c[pf>>2]|0)+1>>0]|0)==-1)Tf(c[rf>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);a[(c[pf>>2]|0)+1>>0]=-1;c[(c[pf>>2]|0)+16>>2]=c[(c[dd>>2]|0)+16>>2];c[(c[pf>>2]|0)+4>>2]=c[(c[dd>>2]|0)+12>>2]}if((c[(c[pf>>2]|0)+4>>2]|0)>(c[(c[rf>>2]|0)+96>>2]|0)){k=888;break c}else k=43;break}case 78:{k=43;break}case 79:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[A>>2]=(c[(c[pf>>2]|0)+12>>2]|0)-(c[(c[pf>>2]|0)+8>>2]|0);wf=((c[(c[pf>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[db>>1]=wf;b[(c[dd>>2]|0)+8>>1]=wf;c[(c[dd>>2]|0)+12>>2]=0;while(1){if((c[A>>2]|0)<=0)break d;c[dd>>2]=(c[dd>>2]|0)+40;ih(c[dd>>2]|0);b[(c[dd>>2]|0)+8>>1]=b[db>>1]|0;c[(c[dd>>2]|0)+12>>2]=0;c[A>>2]=(c[A>>2]|0)+-1}}case 80:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[dd>>2]|0)+8>>1]=(e[(c[dd>>2]|0)+8>>1]|1)&-129;break}case 81:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;gh(c[dd>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,0)|0;a[(c[dd>>2]|0)+10>>0]=a[G>>0]|0;break}case 82:{c[sd>>2]=(c[(c[qf>>2]|0)+116>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*40|0);if(DI(c[sd>>2]|0)|0){k=888;break c}c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;kG(c[dd>>2]|0,c[sd>>2]|0,2048);break}case 83:{c[Ea>>2]=c[(c[pf>>2]|0)+12>>2];c[kb>>2]=c[(c[pf>>2]|0)+4>>2];c[ob>>2]=c[(c[pf>>2]|0)+8>>2];c[Jc>>2]=(c[l>>2]|0)+((c[kb>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[ob>>2]|0)*40|0);do{mI(c[dd>>2]|0,c[Jc>>2]|0);if((e[(c[dd>>2]|0)+8>>1]&4096|0)!=0?(bh(c[dd>>2]|0)|0)!=0:0){k=889;break a}c[Jc>>2]=(c[Jc>>2]|0)+40;c[dd>>2]=(c[dd>>2]|0)+40;wf=(c[Ea>>2]|0)+-1|0;c[Ea>>2]=wf}while((wf|0)!=0);break}case 84:{c[Fa>>2]=c[(c[pf>>2]|0)+12>>2];c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);while(1){kG(c[dd>>2]|0,c[Jc>>2]|0,4096);if((e[(c[dd>>2]|0)+8>>1]&4096|0)!=0?(bh(c[dd>>2]|0)|0)!=0:0){k=889;break a}wf=c[Fa>>2]|0;c[Fa>>2]=wf+-1;if(!wf)break d;c[dd>>2]=(c[dd>>2]|0)+40;c[Jc>>2]=(c[Jc>>2]|0)+40}}case 85:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);kG(c[dd>>2]|0,c[Jc>>2]|0,4096);break}case 86:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);wf=c[Jc>>2]|0;hh(c[dd>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0);break}case 52:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]|e[(c[Kc>>2]|0)+8>>1])&1){ih(c[dd>>2]|0);break d}if((e[(c[Jc>>2]|0)+8>>1]&16384|0)!=0?(Yg(c[Jc>>2]|0)|0)!=0:0){k=889;break a}if((e[(c[Kc>>2]|0)+8>>1]&16384|0)!=0?(Yg(c[Kc>>2]|0)|0)!=0:0){k=889;break a}if((e[(c[Jc>>2]|0)+8>>1]&18|0)==0?(Mx(c[Jc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=889;break a}if((e[(c[Kc>>2]|0)+8>>1]&18|0)==0?(Mx(c[Kc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=889;break a}g=(c[(c[Jc>>2]|0)+12>>2]|0)+(c[(c[Kc>>2]|0)+12>>2]|0)|0;j=Ma;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;j=Ma;g=c[j+4>>2]|0;wf=c[(c[rf>>2]|0)+96>>2]|0;f=((wf|0)<0)<<31>>31;if((g|0)>(f|0)|((g|0)==(f|0)?(c[j>>2]|0)>>>0>wf>>>0:0)){k=888;break c}if(Ox(c[dd>>2]|0,(c[Ma>>2]|0)+2|0,(c[dd>>2]|0)==(c[Kc>>2]|0)&1)|0){k=889;break a}b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|2;if((c[dd>>2]|0)!=(c[Kc>>2]|0))TR(c[(c[dd>>2]|0)+16>>2]|0,c[(c[Kc>>2]|0)+16>>2]|0,c[(c[Kc>>2]|0)+12>>2]|0)|0;TR((c[(c[dd>>2]|0)+16>>2]|0)+(c[(c[Kc>>2]|0)+12>>2]|0)|0,c[(c[Jc>>2]|0)+16>>2]|0,c[(c[Jc>>2]|0)+12>>2]|0)|0;a[(c[(c[dd>>2]|0)+16>>2]|0)+(c[Ma>>2]|0)>>0]=0;wf=Ma;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;a[(c[(c[dd>>2]|0)+16>>2]|0)+wf>>0]=0;wf=(c[dd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|512;c[(c[dd>>2]|0)+12>>2]=c[Ma>>2];a[(c[dd>>2]|0)+10>>0]=a[G>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[ne>>1]=HI(c[Jc>>2]|0)|0;c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);b[oe>>1]=HI(c[Kc>>2]|0)|0;c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[K>>1]=e[(c[Jc>>2]|0)+8>>1]|e[(c[Kc>>2]|0)+8>>1];e:do if(!(e[K>>1]&1)){f:do if(e[ne>>1]&e[oe>>1]&4){wf=c[Jc>>2]|0;j=c[wf+4>>2]|0;f=aa;c[f>>2]=c[wf>>2];c[f+4>>2]=j;f=c[Kc>>2]|0;j=c[f+4>>2]|0;wf=ca;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;a[w>>0]=1;switch(d[c[pf>>2]>>0]|0){case 47:{wf=aa;if(II(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 48:{wf=aa;if(JI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 49:{wf=aa;if(KI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 50:{wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;j=aa;wf=ca;if(((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0)&((c[wf>>2]|0)==0?(c[wf+4>>2]|0)==-2147483648:0))break f;j=aa;f=ca;wf=ca;c[wf>>2]=_R(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C;break}default:{wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=aa;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=aa;c[wf>>2]=1;c[wf+4>>2]=0}j=aa;f=ca;wf=ca;c[wf>>2]=$R(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C}}f=ca;j=c[f+4>>2]|0;wf=c[dd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;break d}else a[w>>0]=0;while(0);h[Ld>>3]=+$g(c[Jc>>2]|0);h[Md>>3]=+$g(c[Kc>>2]|0);switch(d[c[pf>>2]>>0]|0){case 47:{h[Md>>3]=+h[Md>>3]+ +h[Ld>>3];break}case 48:{h[Md>>3]=+h[Md>>3]-+h[Ld>>3];break}case 49:{h[Md>>3]=+h[Md>>3]*+h[Ld>>3];break}case 50:{if(+h[Ld>>3]==0.0)break e;h[Md>>3]=+h[Md>>3]/+h[Ld>>3];break}default:{xf=+h[Ld>>3];wf=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;j=aa;c[j>>2]=~~xf>>>0;c[j+4>>2]=wf;xf=+h[Md>>3];j=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;wf=ca;c[wf>>2]=~~xf>>>0;c[wf+4>>2]=j;wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=aa;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=aa;c[wf>>2]=1;c[wf+4>>2]=0}j=ca;wf=aa;h[Md>>3]=+(($R(c[j>>2]|0,c[j+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0)>>>0)+4294967296.0*+(C|0)}}if(!(qG(+h[Md>>3])|0)){h[c[dd>>2]>>3]=+h[Md>>3];b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|8;if((a[w>>0]|0)!=0?1:((e[ne>>1]|e[oe>>1])&8|0)!=0)break d;Jx(c[dd>>2]|0);break d}}while(0);ih(c[dd>>2]|0);break}case 88:{if(c[(c[pf>>2]|0)+4>>2]|0)hh((c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 89:{c[Ga>>2]=d[(c[pf>>2]|0)+3>>0];c[hc>>2]=Vw(c[rf>>2]|0,32+((c[Ga>>2]|0)-1<<2)|0,0)|0;if(!(c[hc>>2]|0)){k=889;break a}c[c[hc>>2]>>2]=0;c[(c[hc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[hc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[hc>>2]|0)+12>>2]=c[qf>>2];a[(c[hc>>2]|0)+26>>0]=c[Ga>>2];a[(c[pf>>2]|0)+1>>0]=-21;c[(c[pf>>2]|0)+16>>2]=c[hc>>2];a[c[pf>>2]>>0]=90;k=126;break}case 90:{k=126;break}case 46:case 45:case 44:case 43:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]|e[(c[Kc>>2]|0)+8>>1])&1){ih(c[dd>>2]|0);break d}wf=ah(c[Kc>>2]|0)|0;j=ba;c[j>>2]=wf;c[j+4>>2]=C;j=ah(c[Jc>>2]|0)|0;wf=da;c[wf>>2]=j;c[wf+4>>2]=C;a[hb>>0]=a[c[pf>>2]>>0]|0;do if((d[hb>>0]|0)!=43){f=da;g=c[f>>2]|0;f=c[f+4>>2]|0;if((d[hb>>0]|0)==44){yf=ba;j=c[yf+4>>2]|f;wf=ba;c[wf>>2]=c[yf>>2]|g;c[wf+4>>2]=j;break}if((g|0)!=0|(f|0)!=0){if((c[da+4>>2]|0)<0){a[hb>>0]=91-(d[hb>>0]|0);wf=da;j=c[wf+4>>2]|0;wf=(j|0)>-1|(j|0)==-1&(c[wf>>2]|0)>>>0>4294967232;j=da;j=QR(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;yf=da;c[yf>>2]=wf?j:64;c[yf+4>>2]=wf?C:0}yf=da;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=64){yf=ba;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=0)g=1;else g=(d[hb>>0]|0)==45;wf=g?0:-1;yf=ba;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break};c[pe>>2]=c[ba>>2];c[pe+4>>2]=c[ba+4>>2];g=c[da>>2]|0;j=pe;f=c[j>>2]|0;j=c[j+4>>2]|0;if((d[hb>>0]|0)!=45){wf=SR(f|0,j|0,g|0)|0;yf=pe;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ba+4>>2]|0)<0){j=da;j=QR(64,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=WR(-1,-1,j|0)|0;f=pe;wf=c[f+4>>2]|C;yf=pe;c[yf>>2]=c[f>>2]|j;c[yf+4>>2]=wf}}else{wf=WR(f|0,j|0,g|0)|0;yf=pe;c[yf>>2]=wf;c[yf+4>>2]=C};c[ba>>2]=c[pe>>2];c[ba+4>>2]=c[pe+4>>2]}}else{j=da;f=ba;wf=c[f+4>>2]&c[j+4>>2];yf=ba;c[yf>>2]=c[f>>2]&c[j>>2];c[yf+4>>2]=wf}while(0);j=ba;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;break}case 91:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Qx(c[Jc>>2]|0)|0;wf=c[(c[pf>>2]|0)+8>>2]|0;yf=c[Jc>>2]|0;j=yf;wf=RR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break}case 17:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]&4|0)==0?(Lx(c[Jc>>2]|0,67,a[G>>0]|0),(e[(c[Jc>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[pf>>2]|0)+8>>2]|0)){k=159;break c}else{k=14;break d}b[(c[Jc>>2]|0)+8>>1]=e[(c[Jc>>2]|0)+8>>1]&-49664|4;break}case 92:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&4)Rx(c[Jc>>2]|0)|0;break}case 93:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&16384)g=Yg(c[Jc>>2]|0)|0;else g=0;c[uf>>2]=g;Ex(c[Jc>>2]|0,c[(c[pf>>2]|0)+8>>2]&255,a[G>>0]|0);if(c[uf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[L>>1]=b[(c[Jc>>2]|0)+8>>1]|0;b[O>>1]=b[(c[Lc>>2]|0)+8>>1]|0;g=d[(c[pf>>2]|0)+3>>0]|0;do if((e[L>>1]|e[O>>1])&1){if(!(g&128)){g=c[pf>>2]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(d[g+3>>0]&16){k=14;break d}else break d;else{c[dd>>2]=(c[l>>2]|0)+((c[g+8>>2]|0)*40|0);c[ea>>2]=1;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|1;break d}}if(((e[L>>1]&1|0)!=0?(e[O>>1]&1|0)!=0:0)?(e[O>>1]&256|0)==0:0){c[Nd>>2]=0;break}c[Nd>>2]=1}else{a[r>>0]=g&71;if((a[r>>0]|0)>=67){if((e[L>>1]|e[O>>1])&2){if((e[L>>1]&14|0)==2){Bh(c[Jc>>2]|0,0);b[O>>1]=b[(c[Lc>>2]|0)+8>>1]|0}if((e[O>>1]&14|0)==2)Bh(c[Lc>>2]|0,0)}if(e[(c[Jc>>2]|0)+8>>1]&e[(c[Lc>>2]|0)+8>>1]&4){wf=c[Lc>>2]|0;f=c[wf+4>>2]|0;yf=c[Jc>>2]|0;j=c[yf+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0>(c[yf>>2]|0)>>>0:0)){c[Nd>>2]=1;break}wf=c[Lc>>2]|0;f=c[wf+4>>2]|0;yf=c[Jc>>2]|0;j=c[yf+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0<(c[yf>>2]|0)>>>0:0)){c[Nd>>2]=-1;break}else{c[Nd>>2]=0;break}}}else if((a[r>>0]|0)==66){if((e[L>>1]&2|0)==0?(e[L>>1]&12|0)!=0:0){Mx(c[Jc>>2]|0,a[G>>0]|0,1)|0;b[L>>1]=e[(c[Jc>>2]|0)+8>>1]&-33280|e[L>>1]&33279}if((e[O>>1]&2|0)==0?(e[O>>1]&12|0)!=0:0){Mx(c[Lc>>2]|0,a[G>>0]|0,1)|0;b[O>>1]=e[(c[Lc>>2]|0)+8>>1]&-33280|e[O>>1]&33279}}c[Nd>>2]=MI(c[Lc>>2]|0,c[Jc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[pf>>2]>>0]|0){case 37:{c[Qd>>2]=(c[Nd>>2]|0)==0&1;break}case 36:{c[Qd>>2]=c[Nd>>2];break}case 40:{c[Qd>>2]=(c[Nd>>2]|0)<0&1;break}case 39:{c[Qd>>2]=(c[Nd>>2]|0)<=0&1;break}case 38:{c[Qd>>2]=(c[Nd>>2]|0)>0&1;break}default:c[Qd>>2]=(c[Nd>>2]|0)>=0&1}b[(c[Jc>>2]|0)+8>>1]=b[L>>1]|0;b[(c[Lc>>2]|0)+8>>1]=b[O>>1]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(c[Qd>>2]|0){k=14;break d}else break d;c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[ea>>2]=c[Nd>>2];c[Qd>>2]=(c[Qd>>2]|0)!=0&1;if((d[(c[pf>>2]|0)+3>>0]&8|0)!=0?((d[c[pf>>2]>>0]|0)==37|0)==(c[Qd>>2]|0):0)break d;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;wf=c[Qd>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 42:{if(c[ea>>2]|0)k=14;break}case 94:{c[n>>2]=(c[(c[pf>>2]|0)+16>>2]|0)+4;break}case 95:{if(!(d[(c[pf>>2]|0)+3>>0]&1))c[n>>2]=0;c[Ia>>2]=c[(c[pf>>2]|0)+12>>2];c[Nc>>2]=c[(c[pf>>2]|0)+16>>2];c[nb>>2]=c[(c[pf>>2]|0)+4>>2];c[pb>>2]=c[(c[pf>>2]|0)+8>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[Ia>>2]|0))break;g=c[X>>2]|0;if(c[n>>2]|0)g=c[(c[n>>2]|0)+(g<<2)>>2]|0;c[ua>>2]=g;c[$b>>2]=c[(c[Nc>>2]|0)+20+(c[X>>2]<<2)>>2];c[x>>2]=d[(c[(c[Nc>>2]|0)+16>>2]|0)+(c[X>>2]|0)>>0];c[ea>>2]=MI((c[l>>2]|0)+(((c[nb>>2]|0)+(c[ua>>2]|0)|0)*40|0)|0,(c[l>>2]|0)+(((c[pb>>2]|0)+(c[ua>>2]|0)|0)*40|0)|0,c[$b>>2]|0)|0;if(c[ea>>2]|0){k=217;break}c[X>>2]=(c[X>>2]|0)+1}if((k|0)==217?(k=0,(c[x>>2]|0)!=0):0)c[ea>>2]=0-(c[ea>>2]|0);c[n>>2]=0;break}case 18:{if((c[ea>>2]|0)<0){c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}g=c[pf>>2]|0;if(!(c[ea>>2]|0)){c[pf>>2]=(c[ef>>2]|0)+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[pf>>2]=(c[ef>>2]|0)+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&1)c[re>>2]=2;else{yf=ah(c[Jc>>2]|0)|0;c[re>>2]=((yf|0)!=0|(C|0)!=0)&1}c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(e[(c[Kc>>2]|0)+8>>1]&1)c[se>>2]=2;else{yf=ah(c[Kc>>2]|0)|0;c[se>>2]=((yf|0)!=0|(C|0)!=0)&1}g=((c[re>>2]|0)*3|0)+(c[se>>2]|0)|0;if((d[c[pf>>2]>>0]|0)==28)c[re>>2]=d[39925+g>>0];else c[re>>2]=d[39934+g>>0];c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((c[re>>2]|0)==2){b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|1;break d}else{wf=c[re>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;break d}}case 19:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);ih(c[dd>>2]|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1)){b[(c[dd>>2]|0)+8>>1]=4;wf=ah(c[Jc>>2]|0)|0;wf=(((wf|0)!=0|(C|0)!=0)^1)&1;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31}break}case 54:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);ih(c[dd>>2]|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1)){b[(c[dd>>2]|0)+8>>1]=4;wf=ah(c[Jc>>2]|0)|0;yf=c[dd>>2]|0;c[yf>>2]=~wf;c[yf+4>>2]=~C}break}case 20:{if((c[(c[(c[qf>>2]|0)+88>>2]|0)+4>>2]|0)==(c[(c[pf>>2]|0)+4>>2]|0))k=14;else c[(c[pf>>2]|0)+4>>2]=c[(c[(c[qf>>2]|0)+88>>2]|0)+4>>2];break}case 22:case 21:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1)){c[y>>2]=+$g(c[Jc>>2]|0)!=0.0&1;if((d[c[pf>>2]>>0]|0)==22)c[y>>2]=((c[y>>2]|0)!=0^1)&1}else c[y>>2]=c[(c[pf>>2]|0)+12>>2];if(c[y>>2]|0)k=14;break}case 34:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&1)k=14;break}case 35:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1))k=14;break}case 96:{c[xb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[qb>>2]=c[(c[pf>>2]|0)+8>>2];c[uf>>2]=NI(xb,qb)|0;if(c[uf>>2]|0)break a;c[yc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[m>>2]=c[(c[xb>>2]|0)+76>>2];c[ac>>2]=c[(c[xb>>2]|0)+16>>2];do if((c[(c[xb>>2]|0)+56>>2]|0)!=(c[(c[qf>>2]|0)+32>>2]|0)){do if(a[(c[xb>>2]|0)+2>>0]|0)if((d[c[xb>>2]>>0]|0)==3){c[id>>2]=(c[l>>2]|0)+((c[(c[xb>>2]|0)+16>>2]|0)*40|0);yf=c[(c[id>>2]|0)+12>>2]|0;c[v>>2]=yf;c[(c[xb>>2]|0)+64>>2]=yf;c[(c[xb>>2]|0)+60>>2]=yf;c[(c[xb>>2]|0)+72>>2]=c[(c[id>>2]|0)+16>>2];break}else{ih(c[yc>>2]|0);break d}else{g=bI(c[ac>>2]|0)|0;c[(c[xb>>2]|0)+60>>2]=g;g=OI(c[ac>>2]|0,v)|0;c[(c[xb>>2]|0)+72>>2]=g;g=c[(c[xb>>2]|0)+60>>2]|0;if((c[(c[xb>>2]|0)+60>>2]|0)>>>0<=(c[v>>2]|0)>>>0){c[(c[xb>>2]|0)+64>>2]=g;break}if(g>>>0>(c[(c[rf>>2]|0)+96>>2]|0)>>>0){k=888;break c}c[(c[xb>>2]|0)+64>>2]=c[v>>2]}while(0);c[(c[xb>>2]|0)+56>>2]=c[(c[qf>>2]|0)+32>>2];g=c[(c[xb>>2]|0)+72>>2]|0;if((d[c[(c[xb>>2]|0)+72>>2]>>0]|0)<128){c[fb>>2]=d[g>>0];g=1}else g=(bG(g,fb)|0)&255;c[(c[xb>>2]|0)+68>>2]=g&255;b[(c[xb>>2]|0)+14>>1]=0;c[c[m>>2]>>2]=c[fb>>2];if((c[v>>2]|0)>>>0<(c[fb>>2]|0)>>>0){c[(c[xb>>2]|0)+72>>2]=0;c[(c[xb>>2]|0)+64>>2]=0;if((c[fb>>2]|0)>>>0>98307){k=267;break c}if((c[fb>>2]|0)>>>0>(c[(c[xb>>2]|0)+60>>2]|0)>>>0){k=267;break c}else{k=270;break}}else{if((c[fb>>2]|0)>>>0<=0){k=270;break}c[Te>>2]=c[(c[xb>>2]|0)+72>>2];k=276;break}}else k=270;while(0);do if((k|0)==270){k=0;if((e[(c[xb>>2]|0)+14>>1]|0)>(c[qb>>2]|0)){c[je>>2]=c[(c[xb>>2]|0)+80+(c[qb>>2]<<2)>>2];break}if((c[(c[xb>>2]|0)+68>>2]|0)>>>0>=(c[c[m>>2]>>2]|0)>>>0){c[je>>2]=0;k=292;break}if(c[(c[xb>>2]|0)+72>>2]|0){c[Te>>2]=c[(c[xb>>2]|0)+72>>2];k=276;break}g=fe;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[uf>>2]=PI(c[ac>>2]|0,0,c[c[m>>2]>>2]|0,((a[(c[xb>>2]|0)+4>>0]|0)!=0^1)&1,fe)|0;if(c[uf>>2]|0)break a;c[Te>>2]=c[fe+16>>2];k=276}while(0);if((k|0)==276){c[S>>2]=e[(c[xb>>2]|0)+14>>1];yf=gb;c[yf>>2]=c[(c[m>>2]|0)+(c[S>>2]<<2)>>2];c[yf+4>>2]=0;c[Ye>>2]=(c[Te>>2]|0)+(c[(c[xb>>2]|0)+68>>2]|0);c[We>>2]=(c[Te>>2]|0)+(c[c[m>>2]>>2]|0);do{yf=d[c[Ye>>2]>>0]|0;c[je>>2]=yf;g=c[Ye>>2]|0;if(yf>>>0<128){c[Ye>>2]=g+1;wf=(QI(c[je>>2]&255)|0)&255;yf=gb;wf=RR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=gb;c[yf>>2]=wf;c[yf+4>>2]=C}else{wf=(bG(g,je)|0)&255;c[Ye>>2]=(c[Ye>>2]|0)+wf;wf=cG(c[je>>2]|0)|0;yf=gb;wf=RR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=gb;c[yf>>2]=wf;c[yf+4>>2]=C}wf=c[je>>2]|0;yf=c[S>>2]|0;c[S>>2]=yf+1;c[(c[xb>>2]|0)+80+(yf<<2)>>2]=wf;c[(c[m>>2]|0)+(c[S>>2]<<2)>>2]=c[gb>>2];if((c[S>>2]|0)>(c[qb>>2]|0))break}while((c[Ye>>2]|0)>>>0<(c[We>>2]|0)>>>0);if((c[Ye>>2]|0)>>>0>=(c[We>>2]|0)>>>0){if((c[Ye>>2]|0)>>>0>(c[We>>2]|0)>>>0){k=286;break c}yf=gb;if((c[yf+4>>2]|0)!=0?1:(c[yf>>2]|0)!=(c[(c[xb>>2]|0)+60>>2]|0)){k=286;break c}}yf=gb;wf=c[yf+4>>2]|0;if(wf>>>0>0|((wf|0)==0?(c[yf>>2]|0)>>>0>(c[(c[xb>>2]|0)+60>>2]|0)>>>0:0)){k=286;break c}b[(c[xb>>2]|0)+14>>1]=c[S>>2];c[(c[xb>>2]|0)+68>>2]=(c[Ye>>2]|0)-(c[Te>>2]|0);if(!(c[(c[xb>>2]|0)+72>>2]|0)){Xg(fe);k=292}else k=292}if((k|0)==292?(k=0,(e[(c[xb>>2]|0)+14>>1]|0)<=(c[qb>>2]|0)):0){g=c[yc>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)==-8){kG(g,c[(c[pf>>2]|0)+16>>2]|0,2048);break d}else{ih(g);break d}}if(e[(c[yc>>2]|0)+8>>1]&9312)ih(c[yc>>2]|0);if((c[(c[xb>>2]|0)+64>>2]|0)>>>0>=(c[(c[m>>2]|0)+((c[qb>>2]|0)+1<<2)>>2]|0)>>>0){c[Te>>2]=(c[(c[xb>>2]|0)+72>>2]|0)+(c[(c[m>>2]|0)+(c[qb>>2]<<2)>>2]|0);if((c[je>>2]|0)>>>0<12){dG(c[Te>>2]|0,c[je>>2]|0,c[yc>>2]|0)|0;break d}g=(((c[je>>2]|0)-12|0)>>>0)/2|0;c[Ca>>2]=g;c[(c[yc>>2]|0)+12>>2]=g;a[(c[yc>>2]|0)+10>>0]=a[G>>0]|0;g=c[yc>>2]|0;if((c[(c[yc>>2]|0)+24>>2]|0)<((c[Ca>>2]|0)+2|0)){b[g+8>>1]=1;if(Ox(c[yc>>2]|0,(c[Ca>>2]|0)+2|0,0)|0){k=889;break a}}else c[(c[yc>>2]|0)+16>>2]=c[g+20>>2];TR(c[(c[yc>>2]|0)+16>>2]|0,c[Te>>2]|0,c[Ca>>2]|0)|0;a[(c[(c[yc>>2]|0)+16>>2]|0)+(c[Ca>>2]|0)>>0]=0;a[(c[(c[yc>>2]|0)+16>>2]|0)+((c[Ca>>2]|0)+1)>>0]=0;b[(c[yc>>2]|0)+8>>1]=b[16418+((c[je>>2]&1)<<1)>>1]|0;break d}a[(c[yc>>2]|0)+10>>0]=a[G>>0]|0;do if(d[(c[pf>>2]|0)+3>>0]&192){if((c[je>>2]|0)>>>0>=12?(c[je>>2]&1|0)==0:0)break;if(!(d[(c[pf>>2]|0)+3>>0]&128))k=310}else k=310;while(0);if((k|0)==310?(k=0,yf=cG(c[je>>2]|0)|0,c[Ca>>2]=yf,(yf|0)!=0):0){c[uf>>2]=PI(c[ac>>2]|0,c[(c[m>>2]|0)+(c[qb>>2]<<2)>>2]|0,c[Ca>>2]|0,((a[(c[xb>>2]|0)+4>>0]|0)!=0^1)&1,c[yc>>2]|0)|0;if(c[uf>>2]|0)break a;dG(c[(c[yc>>2]|0)+16>>2]|0,c[je>>2]|0,c[yc>>2]|0)|0;yf=(c[yc>>2]|0)+8|0;b[yf>>1]=e[yf>>1]&-4097;break d}dG(39943,c[je>>2]|0,c[yc>>2]|0)|0;break}case 98:{c[Re>>2]=c[(c[pf>>2]|0)+16>>2];c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);while(1){yf=c[Re>>2]|0;c[Re>>2]=yf+1;yf=a[yf>>0]|0;a[z>>0]=yf;if(!(yf<<24>>24))break d;Lx(c[Jc>>2]|0,a[z>>0]|0,a[G>>0]|0);c[Jc>>2]=(c[Jc>>2]|0)+40}}case 99:{yf=Qa;c[yf>>2]=0;c[yf+4>>2]=0;c[Wa>>2]=0;yf=bb;c[yf>>2]=0;c[yf+4>>2]=0;c[Ta>>2]=c[(c[pf>>2]|0)+4>>2];c[Se>>2]=c[(c[pf>>2]|0)+16>>2];c[uc>>2]=(c[l>>2]|0)+((c[Ta>>2]|0)*40|0);c[Ta>>2]=c[(c[pf>>2]|0)+8>>2];c[Qc>>2]=(c[uc>>2]|0)+(((c[Ta>>2]|0)-1|0)*40|0);c[J>>2]=d[(c[qf>>2]|0)+143>>0];c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(c[Se>>2]|0){c[hd>>2]=c[uc>>2];do{wf=c[hd>>2]|0;c[hd>>2]=wf+40;yf=c[Se>>2]|0;c[Se>>2]=yf+1;Lx(wf,a[yf>>0]|0,a[G>>0]|0)}while((a[c[Se>>2]>>0]|0)!=0)}c[hd>>2]=c[Qc>>2];while(1){yf=RI(c[hd>>2]|0,c[J>>2]|0,Da)|0;c[ie>>2]=yf;c[(c[hd>>2]|0)+28>>2]=yf;do if(e[(c[hd>>2]|0)+8>>1]&16384){yf=Qa;g=c[hd>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0)if(Yg(g)|0){k=889;break a}else break;else{wf=c[g>>2]|0;yf=bb;wf=RR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;yf=bb;c[yf>>2]=wf;c[yf+4>>2]=C;c[Da>>2]=(c[Da>>2]|0)-(c[c[hd>>2]>>2]|0);break}}while(0);wf=Qa;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,c[Da>>2]|0,0)|0;yf=Qa;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ie>>2]|0)>>>0<=127)g=1;else g=iG(c[ie>>2]|0,0)|0;c[Wa>>2]=(c[Wa>>2]|0)+g;if((c[hd>>2]|0)==(c[uc>>2]|0))break;c[hd>>2]=(c[hd>>2]|0)+-40}g=c[Wa>>2]|0;if((c[Wa>>2]|0)>126){c[ab>>2]=iG(g,((g|0)<0)<<31>>31)|0;c[Wa>>2]=(c[Wa>>2]|0)+(c[ab>>2]|0);wf=c[ab>>2]|0;yf=c[Wa>>2]|0;if((wf|0)<(iG(yf,((yf|0)<0)<<31>>31)|0))c[Wa>>2]=(c[Wa>>2]|0)+1}else c[Wa>>2]=g+1;f=c[Wa>>2]|0;wf=Qa;wf=RR(f|0,((f|0)<0)<<31>>31|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=Na;c[f>>2]=wf;c[f+4>>2]=C;f=Na;wf=bb;wf=RR(c[f>>2]|0,c[f+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=C;yf=c[(c[rf>>2]|0)+96>>2]|0;j=((yf|0)<0)<<31>>31;if((f|0)>(j|0)|(f|0)==(j|0)&wf>>>0>yf>>>0){k=888;break c}if(Nx(c[dd>>2]|0,c[Na>>2]|0)|0){k=889;break a}c[af>>2]=c[(c[dd>>2]|0)+16>>2];if((c[Wa>>2]|0)>>>0<128){a[c[af>>2]>>0]=c[Wa>>2];g=1}else{g=c[Wa>>2]|0;g=SI(c[af>>2]|0,g,((g|0)<0)<<31>>31)|0}c[V>>2]=g&255;c[Ba>>2]=c[Wa>>2];c[hd>>2]=c[uc>>2];do{c[ie>>2]=c[(c[hd>>2]|0)+28>>2];if((c[ie>>2]|0)>>>0<128){a[(c[af>>2]|0)+(c[V>>2]|0)>>0]=c[ie>>2];g=1}else g=SI((c[af>>2]|0)+(c[V>>2]|0)|0,c[ie>>2]|0,0)|0;c[V>>2]=(c[V>>2]|0)+(g&255);yf=TI((c[af>>2]|0)+(c[Ba>>2]|0)|0,c[hd>>2]|0,c[ie>>2]|0)|0;c[Ba>>2]=(c[Ba>>2]|0)+yf;yf=(c[hd>>2]|0)+40|0;c[hd>>2]=yf}while(yf>>>0<=(c[Qc>>2]|0)>>>0);c[(c[dd>>2]|0)+12>>2]=c[Na>>2];b[(c[dd>>2]|0)+8>>1]=16;yf=bb;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){c[c[dd>>2]>>2]=c[bb>>2];yf=(c[dd>>2]|0)+8|0;b[yf>>1]=e[yf>>1]|16384}a[(c[dd>>2]|0)+10>>0]=1;break}case 100:{c[bc>>2]=c[(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];yf=Ra;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=UI(c[bc>>2]|0,Ra)|0;if(c[uf>>2]|0)break a;c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;j=Ra;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 0:{c[mb>>2]=c[(c[pf>>2]|0)+4>>2];c[_e>>2]=c[(c[pf>>2]|0)+16>>2];do if(!(c[mb>>2]|0)){if((c[(c[rf>>2]|0)+164>>2]|0)>0){AI(c[qf>>2]|0,39951,we);c[uf>>2]=5;break}c[Za>>2]=Jf(c[_e>>2]|0)|0;c[uf>>2]=VI(c[rf>>2]|0,0,(c[(c[rf>>2]|0)+436>>2]|0)+(c[(c[rf>>2]|0)+432>>2]|0)|0)|0;if(c[uf>>2]|0)break a;c[cd>>2]=Vw(c[rf>>2]|0,32+(c[Za>>2]|0)+1|0,0)|0;if(c[cd>>2]|0){c[c[cd>>2]>>2]=(c[cd>>2]|0)+32;TR(c[c[cd>>2]>>2]|0,c[_e>>2]|0,(c[Za>>2]|0)+1|0)|0;g=c[rf>>2]|0;if(a[(c[rf>>2]|0)+67>>0]|0){a[g+67>>0]=0;a[(c[rf>>2]|0)+75>>0]=1}else{yf=g+432|0;c[yf>>2]=(c[yf>>2]|0)+1}c[(c[cd>>2]|0)+24>>2]=c[(c[rf>>2]|0)+424>>2];c[(c[rf>>2]|0)+424>>2]=c[cd>>2];yf=(c[rf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[cd>>2]|0)+8|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[rf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[cd>>2]|0)+16|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}}else{c[sa>>2]=0;c[kd>>2]=c[(c[rf>>2]|0)+424>>2];while(1){if(!(c[kd>>2]|0))break;if(!(ig(c[c[kd>>2]>>2]|0,c[_e>>2]|0)|0))break;c[sa>>2]=(c[sa>>2]|0)+1;c[kd>>2]=c[(c[kd>>2]|0)+24>>2]}if(!(c[kd>>2]|0)){yf=c[qf>>2]|0;c[xe>>2]=c[_e>>2];AI(yf,40002,xe);c[uf>>2]=1;break}if((c[mb>>2]|0)==1?(c[(c[rf>>2]|0)+164>>2]|0)>0:0){AI(c[qf>>2]|0,40024,ye);c[uf>>2]=5;break}if(!(c[(c[kd>>2]|0)+24>>2]|0))g=(d[(c[rf>>2]|0)+75>>0]|0)!=0;else g=0;c[za>>2]=g&1;if(!((c[za>>2]|0)!=0&(c[mb>>2]|0)==1)){c[sa>>2]=(c[(c[rf>>2]|0)+432>>2]|0)-(c[sa>>2]|0)-1;g:do if((c[mb>>2]|0)==2){c[ya>>2]=(c[(c[rf>>2]|0)+24>>2]&2|0)!=0&1;c[va>>2]=0;while(1){if((c[va>>2]|0)>=(c[(c[rf>>2]|0)+20>>2]|0))break g;c[uf>>2]=WI(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[va>>2]<<4)+4>>2]|0,516,(c[ya>>2]|0)==0&1)|0;if(c[uf>>2]|0)break a;c[va>>2]=(c[va>>2]|0)+1}}else c[ya>>2]=0;while(0);c[va>>2]=0;while(1){if((c[va>>2]|0)>=(c[(c[rf>>2]|0)+20>>2]|0))break;c[uf>>2]=XI(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[va>>2]<<4)+4>>2]|0,c[mb>>2]|0,c[sa>>2]|0)|0;if(c[uf>>2]|0)break a;c[va>>2]=(c[va>>2]|0)+1}if(c[ya>>2]|0){Sh(c[rf>>2]|0);Cg(c[rf>>2]|0);c[(c[rf>>2]|0)+24>>2]=c[(c[rf>>2]|0)+24>>2]|2}}else{yf=EI(c[qf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){k=887;break c}a[(c[rf>>2]|0)+67>>0]=1;if((BI(c[qf>>2]|0)|0)==5){k=370;break c}a[(c[rf>>2]|0)+75>>0]=0;c[uf>>2]=c[(c[qf>>2]|0)+40>>2]}while(1){if((c[(c[rf>>2]|0)+424>>2]|0)==(c[kd>>2]|0))break;c[od>>2]=c[(c[rf>>2]|0)+424>>2];c[(c[rf>>2]|0)+424>>2]=c[(c[od>>2]|0)+24>>2];Tf(c[rf>>2]|0,c[od>>2]|0);yf=(c[rf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}g=c[kd>>2]|0;if((c[mb>>2]|0)==1){c[(c[rf>>2]|0)+424>>2]=c[g+24>>2];Tf(c[rf>>2]|0,c[kd>>2]|0);if(!(c[za>>2]|0)){yf=(c[rf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}}else{yf=g+8|0;wf=c[yf+4>>2]|0;j=(c[rf>>2]|0)+440|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[kd>>2]|0)+16|0;wf=c[j+4>>2]|0;yf=(c[rf>>2]|0)+448|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((c[za>>2]|0)==0|(c[mb>>2]|0)==2){c[uf>>2]=VI(c[rf>>2]|0,c[mb>>2]|0,c[sa>>2]|0)|0;if((c[uf>>2]|0)!=0|(c[uf>>2]|0)!=0)break a;else break d}}while(0);if(c[uf>>2]|0)break a;break}case 2:{if((c[(c[pf>>2]|0)+8>>2]|0)!=0?(c[(c[rf>>2]|0)+24>>2]&67108864|0)!=0:0){k=411;break c}c[tb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];if(c[tb>>2]|0){c[uf>>2]=pg(c[tb>>2]|0,c[(c[pf>>2]|0)+8>>2]|0)|0;if(c[uf>>2]|0){k=414;break c}do if((c[(c[pf>>2]|0)+8>>2]|0)!=0?((e[(c[qf>>2]|0)+144>>1]|0)>>>6&1|0)!=0:0){if((d[(c[rf>>2]|0)+67>>0]|0)!=0?(c[(c[rf>>2]|0)+160>>2]|0)<=1:0)break;if(!(c[(c[qf>>2]|0)+48>>2]|0)){yf=(c[rf>>2]|0)+436|0;c[yf>>2]=(c[yf>>2]|0)+1;c[(c[qf>>2]|0)+48>>2]=(c[(c[rf>>2]|0)+432>>2]|0)+(c[(c[rf>>2]|0)+436>>2]|0)}c[uf>>2]=VI(c[rf>>2]|0,0,(c[(c[qf>>2]|0)+48>>2]|0)-1|0)|0;if(!(c[uf>>2]|0))c[uf>>2]=_I(c[tb>>2]|0,c[(c[qf>>2]|0)+48>>2]|0)|0;yf=(c[rf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[qf>>2]|0)+72|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[rf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[qf>>2]|0)+80|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);rg(c[tb>>2]|0,1,na);c[ka>>2]=c[(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[na>>2]=0;c[ka>>2]=0}do if(d[(c[pf>>2]|0)+3>>0]|0){if((c[na>>2]|0)==(c[(c[pf>>2]|0)+12>>2]|0)?(c[ka>>2]|0)==(c[(c[pf>>2]|0)+16>>2]|0):0)break;Tf(c[rf>>2]|0,c[(c[qf>>2]|0)+108>>2]|0);yf=qh(c[rf>>2]|0,40265)|0;c[(c[qf>>2]|0)+108>>2]=yf;if((c[c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[na>>2]|0))wj(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2|1;c[uf>>2]=17}while(0);if(c[uf>>2]|0)break a;break}case 101:{c[ga>>2]=c[(c[pf>>2]|0)+4>>2];c[fa>>2]=c[(c[pf>>2]|0)+12>>2];rg(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ga>>2]<<4)+4>>2]|0,c[fa>>2]|0,oa);c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;wf=c[oa>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 102:{c[vc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);c[uf>>2]=Bg(c[(c[vc>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,c[(c[pf>>2]|0)+12>>2]|0)|0;g=c[pf>>2]|0;if((c[(c[pf>>2]|0)+8>>2]|0)!=1){if((c[g+8>>2]|0)==2)a[(c[(c[vc>>2]|0)+12>>2]|0)+76>>0]=c[(c[pf>>2]|0)+12>>2]}else{c[c[(c[vc>>2]|0)+12>>2]>>2]=c[g+12>>2];yf=(c[rf>>2]|0)+24|0;c[yf>>2]=c[yf>>2]|2}if((c[(c[pf>>2]|0)+4>>2]|0)==1){Sh(c[rf>>2]|0);yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2}if(c[uf>>2]|0)break a;break}case 103:{c[lc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((c[lc>>2]|0)!=0?(c[(c[lc>>2]|0)+8>>2]|0)==(c[(c[pf>>2]|0)+8>>2]|0):0)k=458;else k=444;break}case 105:case 104:{k=444;break}case 107:case 106:{c[qc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[qc>>2]|0)){k=889;break a}a[(c[qc>>2]|0)+2>>0]=1;yf=(c[qc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-2|1;c[uf>>2]=bk(c[c[rf>>2]>>2]|0,0,c[rf>>2]|0,(c[qc>>2]|0)+20|0,5|d[(c[pf>>2]|0)+3>>0],1054)|0;if(!(c[uf>>2]|0))c[uf>>2]=pg(c[(c[qc>>2]|0)+20>>2]|0,1)|0;do if(!(c[uf>>2]|0)){yf=c[(c[pf>>2]|0)+16>>2]|0;c[Pc>>2]=yf;g=c[(c[qc>>2]|0)+20>>2]|0;if(!yf){c[uf>>2]=aJ(g,1,4,0,c[(c[qc>>2]|0)+16>>2]|0)|0;a[(c[qc>>2]|0)+4>>0]=1;break}c[uf>>2]=cJ(g,Dd,2|d[(c[pf>>2]|0)+3>>0])|0;if(!(c[uf>>2]|0)){c[(c[qc>>2]|0)+24>>2]=c[Pc>>2];c[uf>>2]=aJ(c[(c[qc>>2]|0)+20>>2]|0,c[Dd>>2]|0,4,c[Pc>>2]|0,c[(c[qc>>2]|0)+16>>2]|0)|0}a[(c[qc>>2]|0)+4>>0]=0}while(0);if(c[uf>>2]|0)break a;yf=(c[qc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-5|((d[(c[pf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 108:{c[rc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[rc>>2]|0)){k=889;break a}c[(c[rc>>2]|0)+24>>2]=c[(c[pf>>2]|0)+16>>2];c[uf>>2]=dJ(c[rf>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,c[rc>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 109:{c[yb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];j=(c[yb>>2]|0)+32|0;yf=j;wf=c[yf>>2]|0;yf=c[yf+4>>2]|0;f=RR(wf|0,yf|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((wf|0)==0&(yf|0)==0)k=14;break}case 110:{c[sc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[sc>>2]|0)){k=889;break a}a[(c[sc>>2]|0)+2>>0]=1;c[(c[sc>>2]|0)+16>>2]=c[(c[pf>>2]|0)+8>>2];a[(c[sc>>2]|0)+4>>0]=1;break}case 111:{eJ(c[qf>>2]|0,c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{c[zb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[eb>>2]=d[c[pf>>2]>>0];c[H>>2]=0;a[(c[zb>>2]|0)+2>>0]=0;if(a[(c[zb>>2]|0)+4>>0]|0){c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Lc>>2]|0)+8>>1]&14|0)==2)Bh(c[Lc>>2]|0,0);wf=ah(c[Lc>>2]|0)|0;yf=la;c[yf>>2]=wf;c[yf+4>>2]=C;do if(!(e[(c[Lc>>2]|0)+8>>1]&4)){if(!(e[(c[Lc>>2]|0)+8>>1]&8)){k=14;break d}yf=la;if(+h[c[Lc>>2]>>3]<+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)){if(c[eb>>2]&1)break;c[eb>>2]=(c[eb>>2]|0)+-1;break}yf=la;if(+h[c[Lc>>2]>>3]>+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)?(c[eb>>2]&1|0)==1:0)c[eb>>2]=(c[eb>>2]|0)+1}while(0);j=la;c[uf>>2]=OF(c[(c[zb>>2]|0)+16>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Td)|0;j=la;wf=c[j+4>>2]|0;yf=(c[zb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(c[uf>>2]|0)break a;else k=493}else{if(fJ(c[(c[zb>>2]|0)+16>>2]|0,2)|0)c[H>>2]=1;c[Va>>2]=c[(c[pf>>2]|0)+16>>2];c[Gd>>2]=c[(c[zb>>2]|0)+24>>2];b[Gd+8>>1]=c[Va>>2];a[Gd+10>>0]=(1&(c[eb>>2]|0)-23|0)!=0?-1:1;c[Gd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);a[Gd+14>>0]=0;c[uf>>2]=OF(c[(c[zb>>2]|0)+16>>2]|0,Gd,0,0,0,Td)|0;if(c[uf>>2]|0)break a;if(!((c[H>>2]|0)!=0?(d[Gd+14>>0]|0)==0:0))k=493}do if((k|0)==493){k=0;a[(c[zb>>2]|0)+3>>0]=0;c[(c[zb>>2]|0)+56>>2]=0;g=c[Td>>2]|0;if((c[eb>>2]|0)>=25){if((g|0)>=0?!((c[Td>>2]|0)==0&(c[eb>>2]|0)==26):0){c[Td>>2]=0;break}c[Td>>2]=0;c[uf>>2]=BF(c[(c[zb>>2]|0)+16>>2]|0,Td)|0;if(c[uf>>2]|0)break a;else break}else{if((g|0)<=0?!((c[Td>>2]|0)==0&(c[eb>>2]|0)==23):0){c[Td>>2]=gJ(c[(c[zb>>2]|0)+16>>2]|0)|0;break}c[Td>>2]=0;c[uf>>2]=CF(c[(c[zb>>2]|0)+16>>2]|0,Td)|0;if(c[uf>>2]|0)break a;else break}}while(0);if(!(c[Td>>2]|0)){if(c[H>>2]|0)c[pf>>2]=(c[pf>>2]|0)+20}else k=14;break}case 31:case 30:case 29:{c[Ab>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Gc>>2]=0;g=c[(c[Ab>>2]|0)+24>>2]|0;if((c[(c[pf>>2]|0)+16>>2]|0)>0){c[Hd>>2]=g;b[Hd+8>>1]=c[(c[pf>>2]|0)+16>>2];c[Hd+4>>2]=c[Lc>>2];c[Hc>>2]=Hd}else{c[Hc>>2]=MF(g,q,183,Gc)|0;if(!(c[Hc>>2]|0)){k=889;break a}if(e[(c[Lc>>2]|0)+8>>1]&16384)Yg(c[Lc>>2]|0)|0;NF(c[(c[Ab>>2]|0)+24>>2]|0,c[(c[Lc>>2]|0)+12>>2]|0,c[(c[Lc>>2]|0)+16>>2]|0,c[Hc>>2]|0)}a[(c[Hc>>2]|0)+10>>0]=0;c[me>>2]=0;h:do if((d[c[pf>>2]>>0]|0)==29){c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(e[(c[Hc>>2]|0)+8>>1]|0))break h;if(e[(c[(c[Hc>>2]|0)+4>>2]|0)+((c[wa>>2]|0)*40|0)+8>>1]&1)break;c[wa>>2]=(c[wa>>2]|0)+1}c[me>>2]=1}while(0);c[uf>>2]=OF(c[(c[Ab>>2]|0)+16>>2]|0,c[Hc>>2]|0,0,0,0,Ud)|0;Tf(c[rf>>2]|0,c[Gc>>2]|0);if(c[uf>>2]|0)break a;c[(c[Ab>>2]|0)+28>>2]=c[Ud>>2];c[s>>2]=(c[Ud>>2]|0)==0&1;a[(c[Ab>>2]|0)+2>>0]=1-(c[s>>2]|0);a[(c[Ab>>2]|0)+3>>0]=0;c[(c[Ab>>2]|0)+56>>2]=0;if((d[c[pf>>2]>>0]|0)==31)if(c[s>>2]|0){k=14;break d}else break d;else if((c[me>>2]|0)==0&(c[s>>2]|0)!=0)break d;else{k=14;break d}}case 32:{c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Lc>>2]|0)+8>>1]&4|0)==0?(Lx(c[Lc>>2]|0,67,a[G>>0]|0),(e[(c[Lc>>2]|0)+8>>1]&4|0)==0):0)k=14;else k=523;break}case 33:{k=523;break}case 113:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;yf=(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;wf=yf;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;f=RR(j|0,wf|0,1,0)|0;c[yf>>2]=f;c[yf+4>>2]=C;yf=c[dd>>2]|0;c[yf>>2]=j;c[yf+4>>2]=wf;break}case 114:{yf=qe;c[yf>>2]=0;c[yf+4>>2]=0;c[Wd>>2]=0;c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Cb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[Cb>>2]|0)+5>>0]|0)>>>1&1)){c[uf>>2]=hJ(c[(c[Cb>>2]|0)+16>>2]|0,Wd)|0;if(c[uf>>2]|0)break a;if(c[Wd>>2]|0){yf=qe;c[yf>>2]=1;c[yf+4>>2]=0;break}wf=aI(c[(c[Cb>>2]|0)+16>>2]|0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;yf=qe;wf=c[yf+4>>2]|0;if((wf|0)>2147483647|(wf|0)==2147483647&(c[yf>>2]|0)>>>0>=4294967295){yf=(c[Cb>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-3|2;break}else{wf=qe;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;break}}while(0);if(c[(c[pf>>2]|0)+12>>2]|0){if(c[(c[qf>>2]|0)+184>>2]|0){c[Cc>>2]=c[(c[qf>>2]|0)+184>>2];while(1){if(!(c[(c[Cc>>2]|0)+4>>2]|0))break;c[Cc>>2]=c[(c[Cc>>2]|0)+4>>2]}c[Sc>>2]=(c[(c[Cc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)}else c[Sc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);Qx(c[Sc>>2]|0)|0;yf=c[Sc>>2]|0;if((c[yf>>2]|0)==-1?(c[yf+4>>2]|0)==2147483647:0){k=544;break c}if((d[(c[Cb>>2]|0)+5>>0]|0)>>>1&1){k=544;break c}f=qe;wf=c[f>>2]|0;f=c[f+4>>2]|0;yf=c[Sc>>2]|0;yf=RR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;j=C;if((f|0)<(j|0)|(f|0)==(j|0)&wf>>>0>>0){wf=c[Sc>>2]|0;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C}j=qe;wf=c[j+4>>2]|0;yf=c[Sc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((d[(c[Cb>>2]|0)+5>>0]|0)>>>1&1){c[B>>2]=0;do{Sd(8,qe);j=qe;yf=c[j+4>>2]&1073741823;wf=qe;c[wf>>2]=c[j>>2];c[wf+4>>2]=yf;wf=qe;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;yf=qe;yf=OF(c[(c[Cb>>2]|0)+16>>2]|0,0,c[yf>>2]|0,c[yf+4>>2]|0,0,Wd)|0;c[uf>>2]=yf;if(!((yf|0)==0&(c[Wd>>2]|0)==0))break;yf=(c[B>>2]|0)+1|0;c[B>>2]=yf}while((yf|0)<100);if(c[uf>>2]|0)break a;if(!(c[Wd>>2]|0)){k=554;break c}}a[(c[Cb>>2]|0)+3>>0]=0;c[(c[Cb>>2]|0)+56>>2]=0;j=qe;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 116:case 115:{c[ib>>2]=0;c[tc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Db>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];g=c[(c[pf>>2]|0)+12>>2]|0;if((d[c[pf>>2]>>0]|0)==115){c[Mc>>2]=(c[l>>2]|0)+(g*40|0);j=c[Mc>>2]|0;wf=c[j+4>>2]|0;yf=Le+8|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}else{yf=Le+8|0;c[yf>>2]=g;c[yf+4>>2]=((g|0)<0)<<31>>31}if((a[(c[pf>>2]|0)+1>>0]|0)==-20?(c[(c[rf>>2]|0)+220>>2]|0)!=0:0){c[Ue>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(a[(c[Db>>2]|0)+1>>0]<<4)>>2];c[ld>>2]=c[(c[pf>>2]|0)+16>>2];c[ib>>2]=(d[(c[pf>>2]|0)+3>>0]&4|0)!=0?23:18}else{c[ld>>2]=0;c[Ue>>2]=0}if(d[(c[pf>>2]|0)+3>>0]&1){yf=(c[qf>>2]|0)+44|0;c[yf>>2]=(c[yf>>2]|0)+1}if(d[(c[pf>>2]|0)+3>>0]&2){wf=Le+8|0;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=sf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[rf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}if(e[(c[tc>>2]|0)+8>>1]&1){c[Le+16>>2]=0;c[Le+20>>2]=0}else{c[Le+16>>2]=c[(c[tc>>2]|0)+16>>2];c[Le+20>>2]=c[(c[tc>>2]|0)+12>>2]}if(d[(c[pf>>2]|0)+3>>0]&16)g=c[(c[Db>>2]|0)+28>>2]|0;else g=0;c[he>>2]=g;if(e[(c[tc>>2]|0)+8>>1]&16384)c[Le+24>>2]=c[c[tc>>2]>>2];else c[Le+24>>2]=0;c[Le>>2]=0;c[uf>>2]=iJ(c[(c[Db>>2]|0)+16>>2]|0,Le,(d[(c[pf>>2]|0)+3>>0]&8|0)!=0&1,c[he>>2]|0)|0;a[(c[Db>>2]|0)+3>>0]=0;c[(c[Db>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if((c[ib>>2]|0)!=0?(c[(c[rf>>2]|0)+220>>2]|0)!=0:0){yf=Le+8|0;Xb[c[(c[rf>>2]|0)+220>>2]&255](c[(c[rf>>2]|0)+216>>2]|0,c[ib>>2]|0,c[Ue>>2]|0,c[c[ld>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 117:{c[jb>>2]=c[(c[pf>>2]|0)+8>>2];c[Eb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((a[(c[pf>>2]|0)+1>>0]|0)==-20?(c[(c[rf>>2]|0)+220>>2]|0)!=0:0){c[Ve>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(a[(c[Eb>>2]|0)+1>>0]<<4)>>2];c[md>>2]=c[(c[pf>>2]|0)+16>>2];if((d[(c[pf>>2]|0)+3>>0]&2|0)!=0?(d[(c[Eb>>2]|0)+4>>0]|0)!=0:0){wf=aI(c[(c[Eb>>2]|0)+16>>2]|0)|0;yf=(c[Eb>>2]|0)+40|0;c[yf>>2]=wf;c[yf+4>>2]=C}}else{c[Ve>>2]=0;c[md>>2]=0}c[uf>>2]=jJ(c[(c[Eb>>2]|0)+16>>2]|0,a[(c[pf>>2]|0)+3>>0]|0)|0;c[(c[Eb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if(((c[jb>>2]&1|0)!=0?(yf=(c[qf>>2]|0)+44|0,c[yf>>2]=(c[yf>>2]|0)+1,(c[(c[rf>>2]|0)+220>>2]|0)!=0):0)?(d[(c[md>>2]|0)+42>>0]&32|0)==0:0){yf=(c[Eb>>2]|0)+40|0;Xb[c[(c[rf>>2]|0)+220>>2]&255](c[(c[rf>>2]|0)+216>>2]|0,9,c[Ve>>2]|0,c[c[md>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 118:{yI(c[rf>>2]|0,c[(c[qf>>2]|0)+44>>2]|0);c[(c[qf>>2]|0)+44>>2]=0;break}case 119:{c[Fb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Xa>>2]=c[(c[pf>>2]|0)+16>>2];c[Xd>>2]=0;c[uf>>2]=kJ(c[Fb>>2]|0,c[Lc>>2]|0,c[Xa>>2]|0,Xd)|0;if(c[uf>>2]|0)break a;if(c[Xd>>2]|0)k=14;break}case 120:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Gb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=lJ(c[Gb>>2]|0,c[dd>>2]|0)|0;if(c[uf>>2]|0)break a;c[(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 122:case 121:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Hb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[dc>>2]=c[(c[Hb>>2]|0)+16>>2];c[Ha>>2]=bI(c[dc>>2]|0)|0;if((c[Ha>>2]|0)>>>0>(c[(c[rf>>2]|0)+96>>2]|0)>>>0){k=888;break c}if(Nx(c[dd>>2]|0,(c[Ha>>2]|0)>>>0>32?c[Ha>>2]|0:32)|0){k=889;break a}c[(c[dd>>2]|0)+12>>2]=c[Ha>>2];b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|16;g=c[dc>>2]|0;f=c[Ha>>2]|0;j=c[(c[dd>>2]|0)+16>>2]|0;if(!(d[(c[Hb>>2]|0)+4>>0]|0))c[uf>>2]=cI(g,0,f,j)|0;else c[uf>>2]=Qh(g,0,f,j)|0;if(c[uf>>2]|0)break a;a[(c[dd>>2]|0)+10>>0]=1;break}case 123:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Ib>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Ib>>2]|0)+2>>0]|0){b[(c[dd>>2]|0)+8>>1]=1;break d}g=c[Ib>>2]|0;do if(!(a[(c[Ib>>2]|0)+3>>0]|0)){f=c[Ib>>2]|0;if((d[g>>0]|0)==2){c[td>>2]=c[c[f+16>>2]>>2];c[Xc>>2]=c[c[td>>2]>>2];c[uf>>2]=Yb[c[(c[Xc>>2]|0)+48>>2]&255](c[(c[Ib>>2]|0)+16>>2]|0,te)|0;mJ(c[qf>>2]|0,c[td>>2]|0);if(c[uf>>2]|0)break a;else break}c[uf>>2]=nJ(f)|0;if(c[uf>>2]|0)break a;if(a[(c[Ib>>2]|0)+2>>0]|0){b[(c[dd>>2]|0)+8>>1]=1;break d}else{wf=aI(c[(c[Ib>>2]|0)+16>>2]|0)|0;yf=te;c[yf>>2]=wf;c[yf+4>>2]=C;break}}else{j=g+40|0;wf=c[j+4>>2]|0;yf=te;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);j=te;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 124:{c[Jb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];a[(c[Jb>>2]|0)+2>>0]=1;c[(c[Jb>>2]|0)+56>>2]=0;if(!(d[c[Jb>>2]>>0]|0))PB(c[(c[Jb>>2]|0)+16>>2]|0);break}case 53:{c[Kb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[ec>>2]=c[(c[Kb>>2]|0)+16>>2];c[Yd>>2]=0;c[uf>>2]=hJ(c[ec>>2]|0,Yd)|0;a[(c[Kb>>2]|0)+2>>0]=c[Yd>>2];a[(c[Kb>>2]|0)+3>>0]=0;c[(c[Kb>>2]|0)+56>>2]=0;c[(c[Kb>>2]|0)+28>>2]=c[(c[pf>>2]|0)+12>>2];if(c[uf>>2]|0)break a;if((c[Yd>>2]|0)!=0?(c[(c[pf>>2]|0)+8>>2]|0)>0:0)k=14;break}case 56:case 55:{k=(c[qf>>2]|0)+156+8|0;c[k>>2]=(c[k>>2]|0)+1;k=617;break}case 57:{k=617;break}case 3:{c[Mb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=0;c[uf>>2]=qJ(c[rf>>2]|0,c[Mb>>2]|0,_d)|0;k=625;break}case 5:case 4:{if(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)k=624;break}case 7:case 6:{k=624;break}case 126:case 125:{c[Nb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(d[(c[pf>>2]|0)+3>>0]&1){yf=(c[qf>>2]|0)+44|0;c[yf>>2]=(c[yf>>2]|0)+1}if(e[(c[Kc>>2]|0)+8>>1]&16384)g=Yg(c[Kc>>2]|0)|0;else g=0;c[uf>>2]=g;if(c[uf>>2]|0)break a;if((d[c[pf>>2]>>0]|0)==125)c[uf>>2]=rJ(c[Nb>>2]|0,c[Kc>>2]|0)|0;else{wf=c[(c[Kc>>2]|0)+12>>2]|0;yf=Ne+8|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;c[Ne>>2]=c[(c[Kc>>2]|0)+16>>2];if(d[(c[pf>>2]|0)+3>>0]&16)g=c[(c[Nb>>2]|0)+28>>2]|0;else g=0;c[uf>>2]=iJ(c[(c[Nb>>2]|0)+16>>2]|0,Ne,c[(c[pf>>2]|0)+12>>2]|0,g)|0;c[(c[Nb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;break}case 127:{c[Pb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[gc>>2]=c[(c[Pb>>2]|0)+16>>2];c[Id>>2]=c[(c[Pb>>2]|0)+24>>2];b[Id+8>>1]=c[(c[pf>>2]|0)+12>>2];a[Id+10>>0]=0;c[Id+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[uf>>2]=OF(c[gc>>2]|0,Id,0,0,0,ae)|0;if(c[uf>>2]|0)break a;if((c[ae>>2]|0)==0?(c[uf>>2]=jJ(c[gc>>2]|0,4)|0,(c[uf>>2]|0)!=0):0)break a;c[(c[Pb>>2]|0)+56>>2]=0;break}case 129:case 128:{c[Qb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=nJ(c[Qb>>2]|0)|0;if(c[uf>>2]|0)break a;if(a[(c[Qb>>2]|0)+2>>0]|0){ih((c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0);break d}yf=ce;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=sJ(c[rf>>2]|0,c[(c[Qb>>2]|0)+16>>2]|0,ce)|0;if(c[uf>>2]|0)break a;if((d[c[pf>>2]>>0]|0)==128){c[nd>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2];a[(c[nd>>2]|0)+2>>0]=0;j=ce;wf=c[j+4>>2]|0;yf=(c[nd>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[nd>>2]|0)+3>>0]=1;c[(c[nd>>2]|0)+52>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[nd>>2]|0)+48>>2]=c[Qb>>2];break d}else{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;j=ce;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[dd>>2]|0)+8>>1]=4;break d}}case 61:case 60:case 59:case 58:{c[Sb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Jd>>2]=c[(c[Sb>>2]|0)+24>>2];b[Jd+8>>1]=c[(c[pf>>2]|0)+16>>2];g=Jd+10|0;if((d[c[pf>>2]>>0]|0)<60)a[g>>0]=-1;else a[g>>0]=0;c[Jd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[be>>2]=0;c[uf>>2]=tJ(c[rf>>2]|0,c[Sb>>2]|0,Jd,be)|0;g=c[be>>2]|0;if(!(d[c[pf>>2]>>0]&1))c[be>>2]=0-g;else c[be>>2]=g+1;if(c[uf>>2]|0)break a;if((c[be>>2]|0)>0)k=14;break}case 130:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=1;if((c[(c[rf>>2]|0)+160>>2]|0)>((c[(c[rf>>2]|0)+172>>2]|0)+1|0)){k=660;break c}c[ia>>2]=c[(c[pf>>2]|0)+12>>2];c[pa>>2]=0;c[uf>>2]=uJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ia>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,pa)|0;b[(c[dd>>2]|0)+8>>1]=4;wf=c[pa>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;if(c[uf>>2]|0)break a;if(c[pa>>2]|0){vJ(c[rf>>2]|0,c[ia>>2]|0,c[pa>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);a[ff>>0]=(c[ia>>2]|0)+1}break}case 131:{c[Pa>>2]=0;c[uf>>2]=wJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,(c[(c[pf>>2]|0)+12>>2]|0)!=0?Pa:0)|0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(yf=(c[qf>>2]|0)+44|0,c[yf>>2]=(c[yf>>2]|0)+(c[Pa>>2]|0),(c[(c[pf>>2]|0)+12>>2]|0)>0):0){wf=c[Pa>>2]|0;yf=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0;j=yf;wf=RR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C}if(c[uf>>2]|0)break a;break}case 133:{c[Vb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((d[c[Vb>>2]>>0]|0)!=1){c[uf>>2]=yJ(c[(c[Vb>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0)break a;else break d}else{xJ(c[rf>>2]|0,c[(c[Vb>>2]|0)+16>>2]|0);break d}}case 135:case 134:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Ed>>2]=0;c[xc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);if((d[c[pf>>2]>>0]|0)==135)c[P>>2]=1;else c[P>>2]=2;c[uf>>2]=cJ(c[(c[xc>>2]|0)+4>>2]|0,Ed,c[P>>2]|0)|0;if(c[uf>>2]|0)break a;wf=c[Ed>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 136:{c[ja>>2]=c[(c[pf>>2]|0)+4>>2];c[Ze>>2]=(c[ja>>2]|0)==1?19905:19924;c[xa>>2]=c[rf>>2];c[xa+8>>2]=c[(c[pf>>2]|0)+4>>2];c[xa+4>>2]=(c[qf>>2]|0)+108;yf=c[rf>>2]|0;j=c[Ze>>2]|0;wf=c[(c[pf>>2]|0)+16>>2]|0;c[Ae>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ja>>2]<<4)>>2];c[Ae+4>>2]=j;c[Ae+8>>2]=wf;c[bf>>2]=Gh(yf,40293,Ae)|0;if(!(c[bf>>2]|0))c[uf>>2]=7;else{a[(c[rf>>2]|0)+148+5>>0]=1;c[xa+12>>2]=0;c[uf>>2]=$e(c[rf>>2]|0,c[bf>>2]|0,140,xa,0)|0;if(!(c[uf>>2]|0))c[uf>>2]=c[xa+12>>2];Tf(c[rf>>2]|0,c[bf>>2]|0);a[(c[rf>>2]|0)+148+5>>0]=0}if(c[uf>>2]|0){k=682;break c}break}case 137:{c[uf>>2]=Fj(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 138:{zJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 139:{AJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 140:{BJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 141:{c[$a>>2]=c[(c[pf>>2]|0)+8>>2];c[p>>2]=c[(c[pf>>2]|0)+16>>2];c[Fd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Oe>>2]=CJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(d[(c[pf>>2]|0)+3>>0]<<4)+4>>2]|0,c[p>>2]|0,c[$a>>2]|0,c[c[Fd>>2]>>2]|0,Sa)|0;wf=c[Sa>>2]|0;yf=c[Fd>>2]|0;j=yf;wf=QR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;ih(c[Jc>>2]|0);if(c[Sa>>2]|0){if(!(c[Oe>>2]|0)){k=889;break a}gh(c[Jc>>2]|0,c[Oe>>2]|0,-1,1,148)|0}iu(c[Jc>>2]|0,d[G>>0]|0)|0;break}case 142:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]&32|0)==0?(DJ(c[Jc>>2]|0),(e[(c[Jc>>2]|0)+8>>1]&32|0)==0):0){k=889;break a}yf=c[Kc>>2]|0;EJ(c[c[Jc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0);break}case 62:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]&32|0)!=0?(FJ(c[c[Jc>>2]>>2]|0,ue)|0)!=0:0){k=ue;hh((c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=8;break d}ih(c[Jc>>2]|0);k=7;break}case 63:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[ta>>2]=c[(c[pf>>2]|0)+16>>2];if((e[(c[Jc>>2]|0)+8>>1]&32|0)==0?(DJ(c[Jc>>2]|0),(e[(c[Jc>>2]|0)+8>>1]&32|0)==0):0){k=889;break a}if((c[ta>>2]|0)!=0?(yf=c[Lc>>2]|0,c[I>>2]=GJ(c[c[Jc>>2]>>2]|0,c[ta>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)|0,(c[I>>2]|0)!=0):0){k=14;break d}if((c[ta>>2]|0)>=0){yf=c[Lc>>2]|0;EJ(c[c[Jc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 64:{c[fd>>2]=c[(c[pf>>2]|0)+16>>2];c[jd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[pf>>2]|0)+3>>0]|0){c[ke>>2]=c[(c[fd>>2]|0)+16>>2];c[Dc>>2]=c[(c[qf>>2]|0)+184>>2];while(1){if(!(c[Dc>>2]|0))break;if((c[(c[Dc>>2]|0)+24>>2]|0)==(c[ke>>2]|0))break;c[Dc>>2]=c[(c[Dc>>2]|0)+4>>2]}if(c[Dc>>2]|0)break d}if((c[(c[qf>>2]|0)+192>>2]|0)>=(c[(c[rf>>2]|0)+96+40>>2]|0)){k=711;break c}i:do if(!(e[(c[jd>>2]|0)+8>>1]&64)){c[Ya>>2]=(c[(c[fd>>2]|0)+8>>2]|0)+(c[(c[fd>>2]|0)+12>>2]|0);if(!(c[(c[fd>>2]|0)+12>>2]|0))c[Ya>>2]=(c[Ya>>2]|0)+1;c[Oa>>2]=80+((c[Ya>>2]|0)*40|0)+(c[(c[fd>>2]|0)+12>>2]<<2);yf=c[Oa>>2]|0;c[Dc>>2]=sh(c[rf>>2]|0,yf,((yf|0)<0)<<31>>31)|0;if(!(c[Dc>>2]|0)){k=889;break a}Xg(c[jd>>2]|0);b[(c[jd>>2]|0)+8>>1]=64;c[c[jd>>2]>>2]=c[Dc>>2];c[c[Dc>>2]>>2]=c[qf>>2];c[(c[Dc>>2]|0)+60>>2]=c[Ya>>2];c[(c[Dc>>2]|0)+64>>2]=c[(c[fd>>2]|0)+12>>2];c[(c[Dc>>2]|0)+48>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[Dc>>2]|0)+16>>2]=c[(c[qf>>2]|0)+92>>2];c[(c[Dc>>2]|0)+56>>2]=c[(c[qf>>2]|0)+24>>2];c[(c[Dc>>2]|0)+20>>2]=c[(c[qf>>2]|0)+112>>2];c[(c[Dc>>2]|0)+44>>2]=c[(c[qf>>2]|0)+28>>2];c[(c[Dc>>2]|0)+8>>2]=c[(c[qf>>2]|0)+88>>2];c[(c[Dc>>2]|0)+52>>2]=c[(c[qf>>2]|0)+136>>2];c[(c[Dc>>2]|0)+24>>2]=c[(c[fd>>2]|0)+16>>2];c[Ac>>2]=(c[Dc>>2]|0)+80+((c[(c[Dc>>2]|0)+60>>2]|0)*40|0);c[Tc>>2]=(c[Dc>>2]|0)+80;while(1){if((c[Tc>>2]|0)==(c[Ac>>2]|0))break i;b[(c[Tc>>2]|0)+8>>1]=128;c[(c[Tc>>2]|0)+32>>2]=c[rf>>2];c[Tc>>2]=(c[Tc>>2]|0)+40}}else c[Dc>>2]=c[c[jd>>2]>>2];while(0);j=(c[qf>>2]|0)+192|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[Dc>>2]|0)+4>>2]=c[(c[qf>>2]|0)+184>>2];j=sf;wf=c[j+4>>2]|0;yf=(c[Dc>>2]|0)+32|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;c[(c[Dc>>2]|0)+68>>2]=c[(c[qf>>2]|0)+44>>2];c[(c[Dc>>2]|0)+72>>2]=c[(c[c[qf>>2]>>2]|0)+88>>2];c[(c[Dc>>2]|0)+40>>2]=c[(c[qf>>2]|0)+204>>2];c[(c[qf>>2]|0)+204>>2]=0;c[(c[qf>>2]|0)+44>>2]=0;c[(c[qf>>2]|0)+184>>2]=c[Dc>>2];yf=(c[Dc>>2]|0)+80|0;c[l>>2]=yf;c[(c[qf>>2]|0)+92>>2]=yf;c[(c[qf>>2]|0)+24>>2]=c[(c[Dc>>2]|0)+60>>2];c[(c[qf>>2]|0)+28>>2]=c[(c[Dc>>2]|0)+64>>2]&65535;c[(c[qf>>2]|0)+112>>2]=(c[l>>2]|0)+((c[(c[qf>>2]|0)+24>>2]|0)*40|0);yf=c[c[fd>>2]>>2]|0;c[ef>>2]=yf;c[(c[qf>>2]|0)+88>>2]=yf;c[(c[qf>>2]|0)+136>>2]=c[(c[fd>>2]|0)+4>>2];c[pf>>2]=(c[ef>>2]|0)+-20;break}case 143:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Ec>>2]=c[(c[qf>>2]|0)+184>>2];c[Ic>>2]=(c[(c[Ec>>2]|0)+16>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)+(c[(c[(c[Ec>>2]|0)+8>>2]|0)+((c[(c[Ec>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);kG(c[dd>>2]|0,c[Ic>>2]|0,4096);break}case 144:{g=c[pf>>2]|0;if(c[(c[rf>>2]|0)+24>>2]&33554432){wf=c[g+8>>2]|0;yf=(c[rf>>2]|0)+448|0;j=yf;wf=RR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}f=c[(c[pf>>2]|0)+8>>2]|0;j=((f|0)<0)<<31>>31;if(c[g+4>>2]|0){yf=(c[rf>>2]|0)+440|0;wf=yf;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}else{yf=(c[qf>>2]|0)+64|0;wf=yf;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}}case 65:if(c[(c[pf>>2]|0)+4>>2]|0){yf=(c[rf>>2]|0)+440|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[rf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}else{yf=(c[qf>>2]|0)+64|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[rf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}case 145:{if(c[(c[qf>>2]|0)+184>>2]|0){c[Fc>>2]=c[(c[qf>>2]|0)+184>>2];while(1){if(!(c[(c[Fc>>2]|0)+4>>2]|0))break;c[Fc>>2]=c[(c[Fc>>2]|0)+4>>2]}c[Jc>>2]=(c[(c[Fc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)}else c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Qx(c[Jc>>2]|0)|0;c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);Qx(c[Kc>>2]|0)|0;wf=c[Jc>>2]|0;f=c[wf+4>>2]|0;yf=c[Kc>>2]|0;j=c[yf+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0<(c[yf>>2]|0)>>>0:0)){j=c[Kc>>2]|0;wf=c[j+4>>2]|0;yf=c[Jc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}break}case 66:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Jc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){yf=c[(c[pf>>2]|0)+12>>2]|0;k=c[Jc>>2]|0;wf=k;yf=QR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 146:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;yf=c[Jc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)<0|(wf|0)==0&(c[yf>>2]|0)>>>0<=0){g=-1;f=-1}else{g=c[Jc>>2]|0;yf=c[Lc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){j=c[Lc>>2]|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}g=RR(c[g>>2]|0,c[g+4>>2]|0,f|0,j|0)|0;f=C}yf=c[dd>>2]|0;c[yf>>2]=g;c[yf+4>>2]=f;break}case 67:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Jc>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){yf=c[(c[pf>>2]|0)+12>>2]|0;k=c[Jc>>2]|0;wf=k;yf=QR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 68:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Jc>>2]|0;wf=yf;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,-1,-1)|0;c[yf>>2]=wf;c[yf+4>>2]=C;yf=c[Jc>>2]|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)k=14;break}case 147:{c[Ja>>2]=d[(c[pf>>2]|0)+3>>0];c[jc>>2]=Vw(c[rf>>2]|0,32+((c[Ja>>2]|0)-1<<2)|0,0)|0;if(!(c[jc>>2]|0)){k=889;break a}c[(c[jc>>2]|0)+8>>2]=0;c[(c[jc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[jc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[jc>>2]|0)+12>>2]=c[qf>>2];a[(c[jc>>2]|0)+26>>0]=c[Ja>>2];a[(c[pf>>2]|0)+1>>0]=-21;c[(c[pf>>2]|0)+16>>2]=c[jc>>2];a[c[pf>>2]>>0]=-108;k=752;break}case 148:{k=752;break}case 149:{c[Vc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=nG(c[Vc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0){k=764;break c}iu(c[Vc>>2]|0,d[G>>0]|0)|0;if(DI(c[Vc>>2]|0)|0){k=888;break c}break}case 8:{c[o>>2]=0;c[o+8>>2]=-1;c[o+4>>2]=-1;c[uf>>2]=oi(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,o+4|0,o+8|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=5)break a;c[uf>>2]=0;c[o>>2]=1}c[_>>2]=0;c[Wc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[_>>2]|0)>=3)break d;yf=c[o+(c[_>>2]<<2)>>2]|0;hh(c[Wc>>2]|0,yf,((yf|0)<0)<<31>>31);c[_>>2]=(c[_>>2]|0)+1;c[Wc>>2]=(c[Wc>>2]|0)+40}}case 9:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[E>>2]=c[(c[pf>>2]|0)+12>>2];c[vb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[ed>>2]=Pf(c[vb>>2]|0)|0;c[F>>2]=tg(c[ed>>2]|0)|0;if((c[E>>2]|0)==-1)c[E>>2]=c[F>>2];if(!(HJ(c[ed>>2]|0)|0))c[E>>2]=c[F>>2];c[Xe>>2]=Ki(c[ed>>2]|0,1)|0;do if((c[E>>2]|0)==5){if((Jf(c[Xe>>2]|0)|0)!=0?(IJ(c[ed>>2]|0)|0)!=0:0)break;c[E>>2]=c[F>>2]}while(0);if((c[E>>2]|0)!=(c[F>>2]|0)?(c[F>>2]|0)==5|(c[E>>2]|0)==5:0){if(!(a[(c[rf>>2]|0)+67>>0]|0)){k=784;break c}if((c[(c[rf>>2]|0)+160>>2]|0)>1){k=784;break c}if((c[F>>2]|0)==5){c[uf>>2]=JJ(c[ed>>2]|0)|0;if(!(c[uf>>2]|0))KJ(c[ed>>2]|0,c[E>>2]|0)|0}else if((c[F>>2]|0)==4)KJ(c[ed>>2]|0,2)|0;if(!(c[uf>>2]|0))c[uf>>2]=Dg(c[vb>>2]|0,(c[E>>2]|0)==5?2:1)|0}if(c[uf>>2]|0)c[E>>2]=c[F>>2];c[E>>2]=KJ(c[ed>>2]|0,c[E>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=2562;yf=pC(c[E>>2]|0)|0;c[(c[dd>>2]|0)+16>>2]=yf;yf=Jf(c[(c[dd>>2]|0)+16>>2]|0)|0;c[(c[dd>>2]|0)+12>>2]=yf;a[(c[dd>>2]|0)+10>>0]=1;iu(c[dd>>2]|0,d[G>>0]|0)|0;if(c[uf>>2]|0)break a;break}case 10:{c[uf>>2]=LJ((c[qf>>2]|0)+108|0,c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 69:{c[wb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[uf>>2]=MJ(c[wb>>2]|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=101)break a;c[uf>>2]=0;k=14}break}case 150:if(c[(c[pf>>2]|0)+4>>2]|0){yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2|1;break d}else{Sh(c[rf>>2]|0);break d}case 151:{a[Aa>>0]=c[(c[pf>>2]|0)+12>>2];if((d[Aa>>0]|0)==0?0!=(c[(c[rf>>2]|0)+24>>2]&16384|0):0)break d;c[lb>>2]=c[(c[pf>>2]|0)+4>>2];c[uf>>2]=NJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[lb>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,a[Aa>>0]|0)|0;if(c[uf>>2]|0){k=805;break c}break}case 152:{c[rd>>2]=c[(c[pf>>2]|0)+16>>2];c[uf>>2]=OJ(c[rf>>2]|0,c[rd>>2]|0)|0;if(c[rd>>2]|0)mJ(c[qf>>2]|0,c[(c[rd>>2]|0)+8>>2]|0);if(c[uf>>2]|0)break a;break}case 153:{g=ge;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[ge+32>>2]=c[rf>>2];c[uf>>2]=jh(ge,(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[cf>>2]=$d(ge)|0;if(c[cf>>2]|0)c[uf>>2]=PJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[cf>>2]|0,(c[qf>>2]|0)+108|0)|0;Xg(ge);if(c[uf>>2]|0)break a;break}case 154:{yf=(c[rf>>2]|0)+172|0;c[yf>>2]=(c[yf>>2]|0)+1;c[uf>>2]=QJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;yf=(c[rf>>2]|0)+172|0;c[yf>>2]=(c[yf>>2]|0)+-1;if(c[uf>>2]|0)break a;break}case 155:{c[mc>>2]=0;c[pd>>2]=0;c[ud>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if(!(c[ud>>2]|0)){k=816;break c}if(!(c[c[ud>>2]>>2]|0)){k=816;break c}c[Yc>>2]=c[c[ud>>2]>>2];c[uf>>2]=Yb[c[(c[Yc>>2]|0)+24>>2]&255](c[ud>>2]|0,pd)|0;mJ(c[qf>>2]|0,c[ud>>2]|0);if(c[uf>>2]|0)break a;c[c[pd>>2]>>2]=c[ud>>2];c[mc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[mc>>2]|0)){k=820;break c}c[(c[mc>>2]|0)+16>>2]=c[pd>>2];yf=(c[ud>>2]|0)+4|0;c[yf>>2]=(c[yf>>2]|0)+1;break}case 11:{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[sb>>2]=(c[gd>>2]|0)+40;c[nc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[qd>>2]=c[(c[nc>>2]|0)+16>>2];c[vd>>2]=c[c[qd>>2]>>2];c[Zc>>2]=c[c[vd>>2]>>2];c[Ka>>2]=c[c[sb>>2]>>2];c[qa>>2]=c[c[gd>>2]>>2];c[Od>>2]=0;c[t>>2]=c[(c[qf>>2]|0)+96>>2];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[Ka>>2]|0))break;c[(c[t>>2]|0)+(c[R>>2]<<2)>>2]=(c[sb>>2]|0)+(((c[R>>2]|0)+1|0)*40|0);c[R>>2]=(c[R>>2]|0)+1}c[uf>>2]=Zb[c[(c[Zc>>2]|0)+32>>2]&255](c[qd>>2]|0,c[qa>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[Ka>>2]|0,c[t>>2]|0)|0;mJ(c[qf>>2]|0,c[vd>>2]|0);if(c[uf>>2]|0)break a;c[Od>>2]=Tb[c[(c[Zc>>2]|0)+40>>2]&255](c[qd>>2]|0)|0;a[(c[nc>>2]|0)+2>>0]=0;if(c[Od>>2]|0)k=14;break}case 156:{c[oc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[zc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[oc>>2]|0)+2>>0]|0){ih(c[zc>>2]|0);break d}c[wd>>2]=c[c[(c[oc>>2]|0)+16>>2]>>2];c[_c>>2]=c[c[wd>>2]>>2];c[ee>>2]=0;c[ee+4>>2]=0;c[ee+8>>2]=0;c[ee+12>>2]=0;c[ee+16>>2]=0;c[ee+20>>2]=0;c[ee+24>>2]=0;c[ee+28>>2]=0;c[ee>>2]=c[zc>>2];b[(c[zc>>2]|0)+8>>1]=e[(c[zc>>2]|0)+8>>1]&-49664|1;c[uf>>2]=Ob[c[(c[_c>>2]|0)+44>>2]&255](c[(c[oc>>2]|0)+16>>2]|0,ee,c[(c[pf>>2]|0)+8>>2]|0)|0;mJ(c[qf>>2]|0,c[wd>>2]|0);if(c[ee+20>>2]|0)c[uf>>2]=c[ee+20>>2];iu(c[zc>>2]|0,d[G>>0]|0)|0;if(DI(c[zc>>2]|0)|0){k=888;break c}if(c[uf>>2]|0)break a;break}case 70:{c[Pd>>2]=0;c[pc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[pc>>2]|0)+2>>0]|0)){c[xd>>2]=c[c[(c[pc>>2]|0)+16>>2]>>2];c[$c>>2]=c[c[xd>>2]>>2];c[uf>>2]=Tb[c[(c[$c>>2]|0)+36>>2]&255](c[(c[pc>>2]|0)+16>>2]|0)|0;mJ(c[qf>>2]|0,c[xd>>2]|0);if(c[uf>>2]|0)break a;c[Pd>>2]=Tb[c[(c[$c>>2]|0)+40>>2]&255](c[(c[pc>>2]|0)+16>>2]|0)|0;if(c[Pd>>2]|0)k=8;else k=7}break}case 157:{c[yd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];c[bd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=iu(c[bd>>2]|0,1)|0;if(c[uf>>2]|0)break a;c[uf>>2]=Yb[c[(c[c[yd>>2]>>2]|0)+76>>2]&255](c[yd>>2]|0,c[(c[bd>>2]|0)+16>>2]|0)|0;mJ(c[qf>>2]|0,c[yd>>2]|0);yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2;if(c[uf>>2]|0)break a;break}case 12:{c[zd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if(!(c[zd>>2]|0)){k=839;break c}if(!(c[c[zd>>2]>>2]|0)){k=839;break c}c[ad>>2]=c[c[zd>>2]>>2];c[La>>2]=c[(c[pf>>2]|0)+8>>2];if(c[(c[ad>>2]|0)+52>>2]|0){a[Je>>0]=a[(c[rf>>2]|0)+74>>0]|0;c[u>>2]=c[(c[qf>>2]|0)+96>>2];c[Bd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[La>>2]|0))break;c[(c[u>>2]|0)+(c[T>>2]<<2)>>2]=c[Bd>>2];c[Bd>>2]=(c[Bd>>2]|0)+40;c[T>>2]=(c[T>>2]|0)+1}a[(c[rf>>2]|0)+74>>0]=a[(c[pf>>2]|0)+3>>0]|0;c[uf>>2]=Wb[c[(c[ad>>2]|0)+52>>2]&255](c[zd>>2]|0,c[La>>2]|0,c[u>>2]|0,de)|0;a[(c[rf>>2]|0)+74>>0]=a[Je>>0]|0;mJ(c[qf>>2]|0,c[zd>>2]|0);if((c[uf>>2]|0)==0?(c[(c[pf>>2]|0)+4>>2]|0)!=0:0){wf=de;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=sf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[rf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}do if((c[uf>>2]&255|0)==19?(d[(c[(c[pf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[pf>>2]|0)+3>>0]|0)==4){c[uf>>2]=0;break}if((d[(c[pf>>2]|0)+3>>0]|0)==5)g=2;else g=d[(c[pf>>2]|0)+3>>0]|0;a[(c[qf>>2]|0)+142>>0]=g}else k=854;while(0);if((k|0)==854){k=0;yf=(c[qf>>2]|0)+44|0;c[yf>>2]=(c[yf>>2]|0)+1}if(c[uf>>2]|0)break a}break}case 158:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;wf=ug(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=0;break}case 159:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[ub>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[cb>>2]=0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(c[cb>>2]=ug(c[ub>>2]|0)|0,(c[cb>>2]|0)>>>0<(c[(c[pf>>2]|0)+12>>2]|0)>>>0):0)c[cb>>2]=c[(c[pf>>2]|0)+12>>2];wf=RJ(c[ub>>2]|0,c[cb>>2]|0)|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 71:{do if((d[(c[rf>>2]|0)+76>>0]&129|0)!=0?((e[(c[qf>>2]|0)+144>>1]|0)>>>1&1|0)==0:0){if(c[(c[pf>>2]|0)+16>>2]|0)g=c[(c[pf>>2]|0)+16>>2]|0;else g=c[(c[qf>>2]|0)+176>>2]|0;c[df>>2]=g;if(g){g=c[(c[rf>>2]|0)+184>>2]|0;if(d[(c[rf>>2]|0)+76>>0]&128){c[Me>>2]=g;c[Qe>>2]=Ah(c[qf>>2]|0,c[df>>2]|0)|0;Rb[c[Me>>2]&255](c[(c[rf>>2]|0)+188>>2]|0,c[Qe>>2]|0);Kd(c[Qe>>2]|0);break}else{Wb[g&255](1,c[(c[rf>>2]|0)+188>>2]|0,c[qf>>2]|0,c[df>>2]|0)|0;break}}}while(0);if((c[(c[pf>>2]|0)+4>>2]|0)>=(c[70]|0)){c[U>>2]=1;while(1){if((c[U>>2]|0)>=(c[(c[qf>>2]|0)+136>>2]|0))break;if((d[(c[(c[qf>>2]|0)+88>>2]|0)+((c[U>>2]|0)*20|0)>>0]|0)==20)c[(c[(c[qf>>2]|0)+88>>2]|0)+((c[U>>2]|0)*20|0)+4>>2]=0;c[U>>2]=(c[U>>2]|0)+1}c[(c[pf>>2]|0)+4>>2]=0}k=(c[pf>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1;k=14;break}default:{}}while(0);do if((k|0)==20){k=0;c[kf>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;if(c[(c[pf>>2]|0)+4>>2]|0){k=25;break c}if(!(c[(c[qf>>2]|0)+184>>2]|0)){k=25;break c}c[Bc>>2]=c[(c[qf>>2]|0)+184>>2];c[(c[qf>>2]|0)+184>>2]=c[(c[Bc>>2]|0)+4>>2];j=(c[qf>>2]|0)+192|0;c[j>>2]=(c[j>>2]|0)+-1;yI(c[rf>>2]|0,c[(c[qf>>2]|0)+44>>2]|0);c[kf>>2]=zI(c[Bc>>2]|0)|0;j=(c[rf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=sf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if((c[(c[pf>>2]|0)+8>>2]|0)==4)c[kf>>2]=(c[(c[(c[qf>>2]|0)+88>>2]|0)+((c[kf>>2]|0)*20|0)+8>>2]|0)-1;c[ef>>2]=c[(c[qf>>2]|0)+88>>2];c[l>>2]=c[(c[qf>>2]|0)+92>>2];c[pf>>2]=(c[ef>>2]|0)+((c[kf>>2]|0)*20|0)}else if((k|0)==43){k=0;c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=2562;c[(c[dd>>2]|0)+16>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[dd>>2]|0)+12>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[dd>>2]|0)+10>>0]=a[G>>0]|0;if((c[(c[pf>>2]|0)+12>>2]|0)>0?(c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0),yf=c[Lc>>2]|0,(c[yf+4>>2]|0)==0?(c[yf>>2]|0)==(d[(c[pf>>2]|0)+3>>0]|0):0):0)b[(c[dd>>2]|0)+8>>1]=2576}else if((k|0)==126){k=0;c[ic>>2]=c[(c[pf>>2]|0)+16>>2];c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[ic>>2]>>2]|0)!=(c[dd>>2]|0)){c[c[ic>>2]>>2]=c[dd>>2];c[W>>2]=(d[(c[ic>>2]|0)+26>>0]|0)-1;while(1){if((c[W>>2]|0)<0)break j;c[(c[ic>>2]|0)+28+(c[W>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[W>>2]|0)|0)*40|0);c[W>>2]=(c[W>>2]|0)+-1}}while(0);b[(c[c[ic>>2]>>2]|0)+8>>1]=e[(c[c[ic>>2]>>2]|0)+8>>1]&-49664|1;a[(c[ic>>2]|0)+25>>0]=0;yf=sf;wf=c[yf+4>>2]|0;j=(c[rf>>2]|0)+32|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;Ub[c[(c[(c[ic>>2]|0)+4>>2]|0)+12>>2]&255](c[ic>>2]|0,d[(c[ic>>2]|0)+26>>0]|0,(c[ic>>2]|0)+28|0);j=(c[rf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=sf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(a[(c[ic>>2]|0)+25>>0]|0){if(c[(c[ic>>2]|0)+20>>2]|0){yf=c[qf>>2]|0;c[ve>>2]=$d(c[c[ic>>2]>>2]|0)|0;AI(yf,18391,ve);c[uf>>2]=c[(c[ic>>2]|0)+20>>2]}LI(c[rf>>2]|0,(c[qf>>2]|0)+204|0,c[(c[ic>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);if(c[uf>>2]|0)break a}if((e[(c[dd>>2]|0)+8>>1]&18|0)!=0?(iu(c[c[ic>>2]>>2]|0,d[G>>0]|0)|0,(DI(c[c[ic>>2]>>2]|0)|0)!=0):0){k=888;break c}}else if((k|0)==444){if(b[(c[qf>>2]|0)+144>>1]&1){k=445;break c}c[Ua>>2]=0;c[Oc>>2]=0;c[rb>>2]=c[(c[pf>>2]|0)+8>>2];c[ha>>2]=c[(c[pf>>2]|0)+12>>2];c[wc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[ha>>2]<<4);c[Ad>>2]=c[(c[wc>>2]|0)+4>>2];if((d[c[pf>>2]>>0]|0)==105){c[Ke>>2]=4|d[(c[pf>>2]|0)+3>>0]&8;if((d[(c[(c[wc>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[qf>>2]|0)+143>>0]|0))a[(c[qf>>2]|0)+143>>0]=a[(c[(c[wc>>2]|0)+12>>2]|0)+76>>0]|0}else c[Ke>>2]=0;if(d[(c[pf>>2]|0)+3>>0]&16){c[Kc>>2]=(c[l>>2]|0)+((c[rb>>2]|0)*40|0);Qx(c[Kc>>2]|0)|0;c[rb>>2]=c[c[Kc>>2]>>2]}g=c[pf>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)!=-6){if((a[g+1>>0]|0)==-14)c[Ua>>2]=c[(c[pf>>2]|0)+16>>2]}else{c[Oc>>2]=c[g+16>>2];c[Ua>>2]=(e[(c[Oc>>2]|0)+6>>1]|0)+(e[(c[Oc>>2]|0)+8>>1]|0)}c[lc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[Ua>>2]|0,c[ha>>2]|0,0)|0;if(!(c[lc>>2]|0)){k=889;break a}a[(c[lc>>2]|0)+2>>0]=1;k=(c[lc>>2]|0)+5|0;a[k>>0]=a[k>>0]&-5|4;c[(c[lc>>2]|0)+8>>2]=c[rb>>2];c[uf>>2]=aJ(c[Ad>>2]|0,c[rb>>2]|0,c[Ke>>2]|0,c[Oc>>2]|0,c[(c[lc>>2]|0)+16>>2]|0)|0;c[(c[lc>>2]|0)+24>>2]=c[Oc>>2];a[(c[lc>>2]|0)+4>>0]=(a[(c[pf>>2]|0)+1>>0]|0)!=-6;k=458}else if((k|0)==523){k=0;c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Bb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[cc>>2]=c[(c[Bb>>2]|0)+16>>2];c[Vd>>2]=0;yf=c[Lc>>2]|0;wf=c[yf+4>>2]|0;j=ma;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=ma;c[uf>>2]=OF(c[cc>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Vd)|0;j=ma;wf=c[j+4>>2]|0;yf=(c[Bb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[Bb>>2]|0)+2>>0]=0;c[(c[Bb>>2]|0)+56>>2]=0;a[(c[Bb>>2]|0)+3>>0]=0;c[(c[Bb>>2]|0)+28>>2]=c[Vd>>2];if(c[Vd>>2]|0){if(c[(c[pf>>2]|0)+8>>2]|0){k=14;break}c[uf>>2]=Qj(81458)|0}if(c[uf>>2]|0)break a}else if((k|0)==617){k=0;c[Lb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Zd>>2]=1;g=c[Lb>>2]|0;if((d[c[Lb>>2]>>0]|0)==1)c[uf>>2]=oJ(g,Zd)|0;else{c[fc>>2]=c[g+16>>2];c[uf>>2]=pJ(c[fc>>2]|0,Zd)|0;a[(c[Lb>>2]|0)+3>>0]=0;c[(c[Lb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;a[(c[Lb>>2]|0)+2>>0]=c[Zd>>2];if(c[Zd>>2]|0)k=14}else if((k|0)==624){c[Mb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=c[(c[pf>>2]|0)+12>>2];c[uf>>2]=Yb[c[(c[pf>>2]|0)+16>>2]&255](c[(c[Mb>>2]|0)+16>>2]|0,_d)|0;k=625}else if((k|0)==752){k=0;c[kc>>2]=c[(c[pf>>2]|0)+16>>2];c[Uc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[kc>>2]|0)+8>>2]|0)!=(c[Uc>>2]|0)){c[(c[kc>>2]|0)+8>>2]=c[Uc>>2];c[Y>>2]=(d[(c[kc>>2]|0)+26>>0]|0)-1;while(1){if((c[Y>>2]|0)<0)break k;c[(c[kc>>2]|0)+28+(c[Y>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[Y>>2]|0)|0)*40|0);c[Y>>2]=(c[Y>>2]|0)+-1}}while(0);yf=(c[Uc>>2]|0)+12|0;c[yf>>2]=(c[yf>>2]|0)+1;jG(le,c[rf>>2]|0,1);c[c[kc>>2]>>2]=le;a[(c[kc>>2]|0)+25>>0]=0;a[(c[kc>>2]|0)+24>>0]=0;Ub[c[(c[(c[kc>>2]|0)+4>>2]|0)+12>>2]&255](c[kc>>2]|0,d[(c[kc>>2]|0)+26>>0]|0,(c[kc>>2]|0)+28|0);if(a[(c[kc>>2]|0)+25>>0]|0){if(c[(c[kc>>2]|0)+20>>2]|0){yf=c[qf>>2]|0;c[Ce>>2]=$d(le)|0;AI(yf,18391,Ce);c[uf>>2]=c[(c[kc>>2]|0)+20>>2]}Xg(le);if(c[uf>>2]|0)break a}if((a[(c[kc>>2]|0)+24>>0]|0)!=0?(c[Y>>2]=c[(c[pf>>2]|0)+-20+4>>2],(c[Y>>2]|0)!=0):0)hh((c[l>>2]|0)+((c[Y>>2]|0)*40|0)|0,1,0)}while(0);do if((k|0)==14){k=0;c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((k|0)==458){k=0;bJ(c[(c[lc>>2]|0)+16>>2]|0,d[(c[pf>>2]|0)+3>>0]&3);if(c[uf>>2]|0)break a}else if((k|0)==625){k=0;c[(c[Mb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;g=(c[Mb>>2]|0)+2|0;if(!(c[_d>>2]|0)){a[g>>0]=0;k=(c[qf>>2]|0)+156+(d[(c[pf>>2]|0)+3>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;k=7;break}else{a[g>>0]=1;k=8;break}}while(0);if((k|0)==7){c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0);k=8}if((k|0)==8){k=0;if(c[(c[rf>>2]|0)+248>>2]|0)break b;if(((c[(c[rf>>2]|0)+304>>2]|0)!=0?(c[tf>>2]|0)>>>0>=(c[_a>>2]|0)>>>0:0)?(c[_a>>2]=(c[tf>>2]|0)+(c[(c[rf>>2]|0)+312>>2]|0)-(((c[tf>>2]|0)>>>0)%((c[(c[rf>>2]|0)+312>>2]|0)>>>0)|0),(Tb[c[(c[rf>>2]|0)+304>>2]&255](c[(c[rf>>2]|0)+308>>2]|0)|0)!=0):0){k=12;break}}c[pf>>2]=(c[pf>>2]|0)+20}switch(k|0){case 12:{c[uf>>2]=9;break a}case 25:{c[(c[qf>>2]|0)+40>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[qf>>2]|0)+142>>0]=c[(c[pf>>2]|0)+8>>2];c[(c[qf>>2]|0)+36>>2]=c[kf>>2];if(c[(c[qf>>2]|0)+40>>2]|0){g=c[qf>>2]|0;f=c[pf>>2]|0;if(a[(c[pf>>2]|0)+3>>0]|0){c[lf>>2]=c[5572+((d[f+3>>0]|0)-1<<2)>>2];AI(g,39873,lf);if(c[(c[pf>>2]|0)+16>>2]|0){yf=c[rf>>2]|0;wf=c[(c[pf>>2]|0)+16>>2]|0;c[mf>>2]=c[(c[qf>>2]|0)+108>>2];c[mf+4>>2]=wf;yf=Gh(yf,39894,mf)|0;c[(c[qf>>2]|0)+108>>2]=yf}}else{c[nf>>2]=c[f+16>>2];AI(g,18391,nf)}yf=c[(c[pf>>2]|0)+4>>2]|0;pf=c[(c[qf>>2]|0)+176>>2]|0;wf=c[(c[qf>>2]|0)+108>>2]|0;c[of>>2]=c[kf>>2];c[of+4>>2]=pf;c[of+8>>2]=wf;Rd(yf,39901,of)}c[uf>>2]=BI(c[qf>>2]|0)|0;g=(c[qf>>2]|0)+40|0;if((c[uf>>2]|0)==5){c[g>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=(c[g>>2]|0)!=0?1:101;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 64:{if(((c[(c[rf>>2]|0)+304>>2]|0)!=0?(c[tf>>2]|0)>>>0>=(c[_a>>2]|0)>>>0:0)?(Tb[c[(c[rf>>2]|0)+304>>2]&255](c[(c[rf>>2]|0)+308>>2]|0)|0)!=0:0){c[uf>>2]=9;break a}yf=EI(c[qf>>2]|0,0)|0;c[uf>>2]=yf;if(yf)break a;c[uf>>2]=FI(c[qf>>2]|0,1)|0;c[(c[qf>>2]|0)+32>>2]=(c[(c[qf>>2]|0)+32>>2]|0)+2|1;yf=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[qf>>2]|0)+104>>2]=yf;c[Rc>>2]=yf;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[pf>>2]|0)+8>>2]|0))break;if((e[(c[Rc>>2]|0)+((c[Q>>2]|0)*40|0)+8>>1]&4096|0)!=0?(bh((c[Rc>>2]|0)+((c[Q>>2]|0)*40|0)|0)|0)!=0:0){k=889;break a}GI((c[Rc>>2]|0)+((c[Q>>2]|0)*40|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}if(a[(c[rf>>2]|0)+69>>0]|0){k=889;break a}if(d[(c[rf>>2]|0)+76>>0]&4)Wb[c[(c[rf>>2]|0)+184>>2]&255](4,c[(c[rf>>2]|0)+188>>2]|0,c[qf>>2]|0,0)|0;c[(c[qf>>2]|0)+36>>2]=(((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0)+1;c[uf>>2]=100;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 159:{c[uf>>2]=20;break a}case 267:{c[uf>>2]=Qj(79835)|0;break a}case 286:{if(!(c[(c[xb>>2]|0)+72>>2]|0))Xg(fe);c[uf>>2]=Qj(79894)|0;break a}case 370:{c[(c[qf>>2]|0)+36>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;a[(c[rf>>2]|0)+67>>0]=0;c[uf>>2]=5;c[(c[qf>>2]|0)+40>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 393:{c[D>>2]=c[(c[pf>>2]|0)+4>>2];c[ra>>2]=c[(c[pf>>2]|0)+8>>2];if((c[D>>2]|0)==(d[(c[rf>>2]|0)+67>>0]|0)){if(c[D>>2]|0)g=(c[ra>>2]|0)!=0?40133:40176;else g=40217;AI(c[qf>>2]|0,g,gf);c[uf>>2]=1;break a}do if(!(c[ra>>2]|0)){if((c[D>>2]|0)!=0?(c[(c[rf>>2]|0)+164>>2]|0)>0:0){AI(c[qf>>2]|0,40078,ze);c[uf>>2]=5;break a}yf=EI(c[qf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{a[(c[rf>>2]|0)+67>>0]=c[D>>2];break}}else{YI(c[rf>>2]|0,516);a[(c[rf>>2]|0)+67>>0]=1}while(0);if((BI(c[qf>>2]|0)|0)==5){c[(c[qf>>2]|0)+36>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;a[(c[rf>>2]|0)+67>>0]=1-(c[D>>2]|0);c[uf>>2]=5;c[(c[qf>>2]|0)+40>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}ZI(c[rf>>2]|0);if(!(c[(c[qf>>2]|0)+40>>2]|0)){c[uf>>2]=101;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=1;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 411:{c[uf>>2]=8;break a}case 414:{if((c[uf>>2]&255|0)!=5)break a;c[(c[qf>>2]|0)+36>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[qf>>2]|0)+40>>2]=c[uf>>2];yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 445:{c[uf>>2]=516;break a}case 544:{c[uf>>2]=13;break a}case 554:{c[uf>>2]=13;break a}case 660:{c[uf>>2]=6;a[(c[qf>>2]|0)+142>>0]=2;break a}case 682:{Cg(c[rf>>2]|0);if((c[uf>>2]|0)==7){k=889;break a}else break a}case 711:{c[uf>>2]=1;AI(c[qf>>2]|0,40357,Be);break a}case 764:{yf=c[qf>>2]|0;c[De>>2]=$d(c[Vc>>2]|0)|0;AI(yf,18391,De);break a}case 784:{c[uf>>2]=1;yf=c[qf>>2]|0;c[Ee>>2]=(c[E>>2]|0)==5?40394:40399;AI(yf,40406,Ee);break a}case 805:{if((c[uf>>2]&255|0)!=6)break a;c[Pe>>2]=c[(c[pf>>2]|0)+16>>2];yf=c[qf>>2]|0;c[Fe>>2]=c[Pe>>2];AI(yf,40458,Fe);break a}case 816:{c[uf>>2]=6;break a}case 820:{Tb[c[(c[Yc>>2]|0)+28>>2]&255](c[pd>>2]|0)|0;k=889;break a}case 839:{c[uf>>2]=6;break a}case 887:{yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 888:{AI(c[qf>>2]|0,18170,Ge);c[uf>>2]=18;break a}}}while(0);c[uf>>2]=(d[(c[rf>>2]|0)+69>>0]|0)!=0?7:9;c[(c[qf>>2]|0)+40>>2]=c[uf>>2];yf=c[qf>>2]|0;c[Ie>>2]=lh(c[uf>>2]|0)|0;AI(yf,18391,Ie)}while(0);if((k|0)==889){mh(c[rf>>2]|0);AI(c[qf>>2]|0,25016,He);c[uf>>2]=7}if(a[(c[rf>>2]|0)+69>>0]|0)c[uf>>2]=7;if((c[uf>>2]|0)!=3082?(c[(c[qf>>2]|0)+108>>2]|0)==0:0){yf=c[qf>>2]|0;c[hf>>2]=lh(c[uf>>2]|0)|0;AI(yf,18391,hf)}c[(c[qf>>2]|0)+40>>2]=c[uf>>2];SJ(c[rf>>2]|0,c[uf>>2]|0);yf=c[uf>>2]|0;of=c[(c[qf>>2]|0)+176>>2]|0;wf=c[(c[qf>>2]|0)+108>>2]|0;c[jf>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[jf+4>>2]=of;c[jf+8>>2]=wf;Rd(yf,40487,jf);BI(c[qf>>2]|0)|0;if((c[uf>>2]|0)==3082)mh(c[rf>>2]|0);c[uf>>2]=1;if((d[ff>>0]|0)<=0){yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}wj(c[rf>>2]|0,(d[ff>>0]|0)-1|0);yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}function tI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;g=h+12|0;d=h+8|0;f=h+4|0;e=h;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[f>>2]|0)!=0?(mg(c[f>>2]|0),c[e>>2]=vI(Pf(c[f>>2]|0)|0)|0,((c[e>>2]|0)>0?(c[(c[b>>2]|0)+224>>2]|0)!=0:0)&(c[g>>2]|0)==0):0)c[g>>2]=Wb[c[(c[b>>2]|0)+224>>2]&255](c[(c[b>>2]|0)+228>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=h;return c[g>>2]|0}function uI(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+40>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+108>>2]|0)){lg(b,c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}b=b+70|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;Yj();if(!(c[(c[e>>2]|0)+244>>2]|0)){b=Zh(c[e>>2]|0)|0;c[(c[e>>2]|0)+244>>2]=b}_h(c[(c[e>>2]|0)+244>>2]|0,-1,c[(c[d>>2]|0)+108>>2]|0,1,-1);Zj();d=(c[e>>2]|0)+70|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;i=g;return f|0}function vI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=wI(c[(c[d>>2]|0)+216>>2]|0)|0;i=b;return a|0}function wI(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;i=e;return d|0}function xI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+152>>2]|0)){i=h;return}c[e>>2]=c[c[b>>2]>>2];c[d>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;if(((c[f>>2]|0)!=1?(c[(c[b>>2]|0)+152>>2]&1<>2]|0)!=0:0)?(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0)!=0:0)mg(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=h;return}function yI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+88>>2]=c[e>>2];b=(c[f>>2]|0)+92|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);i=d;return}function zI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];PM(c[e>>2]|0);c[(c[e>>2]|0)+88>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+136>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+24>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+112>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+44>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+44>>2]=c[(c[b>>2]|0)+68>>2];c[(c[c[e>>2]>>2]|0)+88>>2]=c[(c[b>>2]|0)+72>>2];LI(c[c[e>>2]>>2]|0,(c[e>>2]|0)+204|0,-1,0);c[(c[e>>2]|0)+204>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;i=d;return c[(c[b>>2]|0)+48>>2]|0}function AI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Tf(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+108>>2]|0);c[g>>2]=d;b=ox(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+108>>2]=b;i=e;return}function BI(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+24|0;l=o+20|0;h=o+16|0;m=o+12|0;g=o+8|0;n=o+4|0;f=o;c[l>>2]=b;c[m>>2]=c[c[l>>2]>>2];if(a[(c[m>>2]|0)+69>>0]|0)c[(c[l>>2]|0)+40>>2]=7;JM(c[l>>2]|0);if((c[(c[l>>2]|0)+20>>2]|0)!=770837923){c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+36>>2]|0)>=0?((e[(c[l>>2]|0)+144>>1]|0)>>>8&1|0)!=0:0){c[n>>2]=0;xI(c[l>>2]|0);c[g>>2]=c[(c[l>>2]|0)+40>>2]&255;if((c[g>>2]|0)==7|(c[g>>2]|0)==10|(c[g>>2]|0)==9)b=1;else b=(c[g>>2]|0)==13;c[f>>2]=b&1;do if((c[f>>2]|0)!=0?((c[g>>2]|0)!=9?1:((e[(c[l>>2]|0)+144>>1]|0)>>>7&1|0)==0):0){if((c[g>>2]|0)==7|(c[g>>2]|0)==13?((e[(c[l>>2]|0)+144>>1]|0)>>>6&1|0)!=0:0){c[n>>2]=2;break}YI(c[m>>2]|0,516);ZI(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[l>>2]|0)+44>>2]=0}while(0);if(!(c[(c[l>>2]|0)+40>>2]|0))EI(c[l>>2]|0,0)|0;if((c[(c[m>>2]|0)+316>>2]|0)>0?(c[(c[m>>2]|0)+340>>2]|0)==0:0)j=36;else if((d[(c[m>>2]|0)+67>>0]|0)!=0?(c[(c[m>>2]|0)+164>>2]|0)==(((e[(c[l>>2]|0)+144>>1]|0)>>>7&1|0)==0|0):0){if((c[(c[l>>2]|0)+40>>2]|0)!=0?((c[f>>2]|0)!=0?1:(d[(c[l>>2]|0)+142>>0]|0)!=3):0){YI(c[m>>2]|0,0);c[(c[l>>2]|0)+44>>2]=0}else j=23;do if((j|0)==23){c[h>>2]=EI(c[l>>2]|0,1)|0;do if(c[h>>2]|0){if(!((e[(c[l>>2]|0)+144>>1]|0)>>>7&1)){c[h>>2]=787;break}c[k>>2]=1;n=c[k>>2]|0;i=o;return n|0}else c[h>>2]=KM(c[m>>2]|0,c[l>>2]|0)|0;while(0);if((c[h>>2]|0)==5?((e[(c[l>>2]|0)+144>>1]|0)>>>7&1|0)!=0:0){c[k>>2]=5;n=c[k>>2]|0;i=o;return n|0}if(c[h>>2]|0){c[(c[l>>2]|0)+40>>2]=c[h>>2];YI(c[m>>2]|0,0);c[(c[l>>2]|0)+44>>2]=0;break}else{g=(c[m>>2]|0)+440|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+448|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+24|0;c[g>>2]=c[g>>2]&-33554433;xj(c[m>>2]|0);break}}while(0);c[(c[m>>2]|0)+436>>2]=0}else j=36;do if((j|0)==36?(c[n>>2]|0)==0:0){if((c[(c[l>>2]|0)+40>>2]|0)!=0?(d[(c[l>>2]|0)+142>>0]|0)!=3:0)if((d[(c[l>>2]|0)+142>>0]|0)==2){c[n>>2]=2;break}else{YI(c[m>>2]|0,516);ZI(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[l>>2]|0)+44>>2]=0;break}c[n>>2]=1}while(0);if((c[n>>2]|0)!=0?(c[h>>2]=FI(c[l>>2]|0,c[n>>2]|0)|0,(c[h>>2]|0)!=0):0){if(!((c[(c[l>>2]|0)+40>>2]|0)!=0?(c[(c[l>>2]|0)+40>>2]&255|0)!=19:0)){c[(c[l>>2]|0)+40>>2]=c[h>>2];Tf(c[m>>2]|0,c[(c[l>>2]|0)+108>>2]|0);c[(c[l>>2]|0)+108>>2]=0}YI(c[m>>2]|0,516);ZI(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[l>>2]|0)+44>>2]=0}if((e[(c[l>>2]|0)+144>>1]|0)>>>4&1){b=c[m>>2]|0;if((c[n>>2]|0)!=2)yI(b,c[(c[l>>2]|0)+44>>2]|0);else yI(b,0);c[(c[l>>2]|0)+44>>2]=0}}if((c[(c[l>>2]|0)+36>>2]|0)>=0){n=(c[m>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+-1;if(!((e[(c[l>>2]|0)+144>>1]|0)>>>7&1)){n=(c[m>>2]|0)+164|0;c[n>>2]=(c[n>>2]|0)+-1}if((e[(c[l>>2]|0)+144>>1]|0)>>>8&1){n=(c[m>>2]|0)+160|0;c[n>>2]=(c[n>>2]|0)+-1}}c[(c[l>>2]|0)+20>>2]=832317811;if(a[(c[m>>2]|0)+69>>0]|0)c[(c[l>>2]|0)+40>>2]=7;c[k>>2]=(c[(c[l>>2]|0)+40>>2]|0)==5?5:0;n=c[k>>2]|0;i=o;return n|0}function CI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;k=h+8|0;j=h+4|0;g=h;c[k>>2]=a;c[j>>2]=d;c[g>>2]=(c[(c[k>>2]|0)+92>>2]|0)+((c[(c[j>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){c[f>>2]=IM(a)|0;k=c[f>>2]|0;i=h;return k|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];k=c[f>>2]|0;i=h;return k|0}return 0}function DI(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+96>>2]|0)&1;a=c[b>>2]|0;i=g;return a|0}function EI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!((c[g>>2]|0)!=0?(d=(c[h>>2]|0)+440|0,b=(c[h>>2]|0)+448|0,b=RR(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=C,(d|0)>0|(d|0)==0&b>>>0>0):0))k=3;do if((k|0)==3){if((c[g>>2]|0)==0?(k=(c[f>>2]|0)+64|0,b=c[k+4>>2]|0,(b|0)>0|(b|0)==0&(c[k>>2]|0)>>>0>0):0)break;c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);c[(c[f>>2]|0)+40>>2]=787;a[(c[f>>2]|0)+142>>0]=2;AI(c[f>>2]|0,35189,j);c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}function FI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;j=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=0;if(!(c[(c[f>>2]|0)+436>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if(!(c[(c[d>>2]|0)+48>>2]|0)){l=c[k>>2]|0;i=m;return l|0}c[h>>2]=(c[(c[d>>2]|0)+48>>2]|0)-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[l>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if((c[e>>2]|0)==2)c[l>>2]=XI(c[j>>2]|0,2,c[h>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=XI(c[j>>2]|0,1,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}c[g>>2]=(c[g>>2]|0)+1}l=(c[f>>2]|0)+436|0;c[l>>2]=(c[l>>2]|0)+-1;c[(c[d>>2]|0)+48>>2]=0;if(!(c[k>>2]|0)){if((c[e>>2]|0)==2)c[k>>2]=VI(c[f>>2]|0,2,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=VI(c[f>>2]|0,1,c[h>>2]|0)|0}if((c[e>>2]|0)!=2){l=c[k>>2]|0;i=m;return l|0}l=(c[d>>2]|0)+72|0;j=c[l+4>>2]|0;a=(c[f>>2]|0)+440|0;c[a>>2]=c[l>>2];c[a+4>>2]=j;a=(c[d>>2]|0)+80|0;j=c[a+4>>2]|0;l=(c[f>>2]|0)+448|0;c[l>>2]=c[a>>2];c[l+4>>2]=j;l=c[k>>2]|0;i=m;return l|0}function GI(a){a=a|0;var b=0,d=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[b>>2]=HM(c[d>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function HI(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=GM(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=g;return b[d>>1]|0}function II(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;b=c[f>>2]|0;k=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;b=h;d=c[b+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0?(h,h=QR(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,d=C,k=g,a=c[k+4>>2]|0,(d|0)<(a|0)|((d|0)==(a|0)?h>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((d|0)<0?(h,h=RR(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=QR(0,0,h|0,C|0)|0,d=C,k=g,k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,a=C,(d|0)>(a|0)|(d|0)==(a|0)&h>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}h=g;k=c[f>>2]|0;g=k;h=RR(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function JI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[f>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){g=QR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=II(b,g,C)|0;g=c[e>>2]|0;i=h;return g|0}a=b;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}else{a=g;g=c[f>>2]|0;f=g;f=QR(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=C;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function KI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=c[f>>2]|0;d=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=g;d=c[a+4>>2]|0;do if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0){k=h;d=c[k>>2]|0;k=c[k+4>>2]|0;a=g;a=_R(-1,2147483647,c[a>>2]|0,c[a+4>>2]|0)|0;b=C;if((k|0)>(b|0)|(k|0)==(b|0)&d>>>0>a>>>0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}b=h;a=c[b>>2]|0;b=c[b+4>>2]|0;k=g;k=_R(0,-2147483648,c[k>>2]|0,c[k+4>>2]|0)|0;d=C;if((b|0)<(d|0)|(b|0)==(d|0)&a>>>0>>0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((c[g+4>>2]|0)<0){k=h;a=c[k+4>>2]|0;if((a|0)>0|(a|0)==0&(c[k>>2]|0)>>>0>0){b=g;a=c[b>>2]|0;b=c[b+4>>2]|0;k=h;k=_R(0,-2147483648,c[k>>2]|0,c[k+4>>2]|0)|0;d=C;if(!((b|0)<(d|0)|(b|0)==(d|0)&a>>>0>>0))break;c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}if((c[h+4>>2]|0)<0){k=g;if((c[k>>2]|0)==0?(c[k+4>>2]|0)==-2147483648:0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}k=h;if((c[k>>2]|0)==0?(c[k+4>>2]|0)==-2147483648:0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}a=h;a=QR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;b=C;k=g;k=QR(0,0,c[k>>2]|0,c[k+4>>2]|0)|0;k=_R(-1,2147483647,k|0,C|0)|0;d=C;if((b|0)>(d|0)|(b|0)==(d|0)&a>>>0>k>>>0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}}while(0);k=h;a=g;a=aS(c[k>>2]|0,c[k+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;k=c[f>>2]|0;c[k>>2]=a;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function LI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a:while(1){if(!(c[c[g>>2]>>2]|0))break;c[k>>2]=c[c[g>>2]>>2];do if((c[h>>2]|0)>=0){if((c[c[k>>2]>>2]|0)==(c[h>>2]|0)){if((c[(c[k>>2]|0)+4>>2]|0)>31)break;if(!(c[j>>2]&1<>2]|0)+4>>2]))break}c[g>>2]=(c[k>>2]|0)+16;continue a}while(0);if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);c[c[g>>2]>>2]=c[(c[k>>2]|0)+16>>2];Tf(c[f>>2]|0,c[k>>2]|0)}i=l;return}function MI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;g=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e[(c[g>>2]|0)+8>>1];c[n>>2]=e[(c[j>>2]|0)+8>>1];c[l>>2]=c[m>>2]|c[n>>2];do if(!(c[l>>2]&1)){if(!(c[l>>2]&12)){if(c[l>>2]&2){if(!(c[m>>2]&2)){c[f>>2]=1;break}if(!(c[n>>2]&2)){c[f>>2]=-1;break}if(c[k>>2]|0){c[f>>2]=gG(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;break}}c[f>>2]=FM(c[g>>2]|0,c[j>>2]|0)|0;break}if(c[m>>2]&c[n>>2]&4){a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)<(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[f>>2]=-1;break}a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)>(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&c[n>>2]&8){if(+h[c[g>>2]>>3]<+h[c[j>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[j>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&4)if(c[n>>2]&8){b=c[g>>2]|0;c[f>>2]=eG(c[b>>2]|0,c[b+4>>2]|0,+h[c[j>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[m>>2]&8)){c[f>>2]=1;break}if(c[n>>2]&4){b=c[j>>2]|0;c[f>>2]=0-(eG(c[b>>2]|0,c[b+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[n>>2]&1)-(c[m>>2]&1);while(0);i=o;return c[f>>2]|0}function NI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(!(d[c[k>>2]>>0]|0)){e=c[k>>2]|0;if(!(a[(c[k>>2]|0)+3>>0]|0)){if(!(UL(c[e+16>>2]|0)|0))break;c[f>>2]=VL(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}if((c[e+52>>2]|0)!=0?(b=c[(c[(c[k>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=b,(b|0)>0):0){c[c[g>>2]>>2]=c[(c[k>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}c[f>>2]=EM(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function OI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=DM(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function PI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;q=p+4|0;n=p;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[q>>2]=0;c[n>>2]=0;c[o>>2]=OI(c[h>>2]|0,q)|0;if(((c[j>>2]|0)+(c[k>>2]|0)|0)>>>0<=(c[q>>2]|0)>>>0){c[(c[m>>2]|0)+16>>2]=(c[o>>2]|0)+(c[j>>2]|0);b[(c[m>>2]|0)+8>>1]=4112;c[(c[m>>2]|0)+12>>2]=c[k>>2];q=c[n>>2]|0;i=p;return q|0}else{c[n>>2]=CM(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;q=c[n>>2]|0;i=p;return q|0}return 0}function QI(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return a[35061+(d[c>>0]|0)>>0]|0}function RI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+36|0;f=o+32|0;k=o+28|0;j=o+24|0;g=o+20|0;h=o+16|0;l=o+8|0;m=o;c[f>>2]=a;c[k>>2]=b;c[j>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1){c[c[j>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8){c[c[j>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[j>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;i=o;return n|0}a=c[f>>2]|0;f=c[a+4>>2]|0;b=l;c[b>>2]=c[a>>2];c[b+4>>2]=f;b=l;f=c[b>>2]|0;b=c[b+4>>2]|0;if((c[l+4>>2]|0)<0){a=m;c[a>>2]=~f;c[a+4>>2]=~b}else{a=m;c[a>>2]=f;c[a+4>>2]=b}a=m;d=c[a+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[a>>2]|0)>>>0<=127){a=l;f=c[j>>2]|0;if((0==(c[a+4>>2]|0)?(c[l>>2]&1|0)==(c[a>>2]|0):0)&(c[k>>2]|0)>=4){c[f>>2]=0;c[n>>2]=8+(c[m>>2]|0);n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=32767){c[c[j>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=8388607){c[c[j>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=2147483647){c[c[j>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;i=o;return n|0}l=c[m+4>>2]|0;f=c[j>>2]|0;if(l>>>0<32767|(l|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[f>>2]=6;c[n>>2]=5;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=8;c[n>>2]=6;n=c[n>>2]|0;i=o;return n|0}return 0}function SI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;g=j+8|0;h=j;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;k=c[b+4>>2]|0;e=h;d=c[e>>2]|0;e=c[e+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[g>>2]>>0]=d&127;c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}if(e>>>0<0|(e|0)==0&d>>>0<=16383){k=h;k=SR(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[g>>2]>>0]=k&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;k=c[f>>2]|0;i=j;return k|0}else{k=h;c[f>>2]=BM(c[g>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[f>>2]|0;i=j;return k|0}return 0}function TI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;l=o+8|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;b=c[k>>2]|0;if((c[k>>2]|0)>>>0<=7&(c[k>>2]|0)>>>0>0){if((b|0)==7){j=c[j>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2]}else{e=c[j>>2]|0;f=c[e+4>>2]|0;j=n;c[j>>2]=c[e>>2];c[j+4>>2]=f}k=d[35061+(c[k>>2]|0)>>0]|0;c[l>>2]=k;c[m>>2]=k;do{k=c[n>>2]&255;j=(c[l>>2]|0)+-1|0;c[l>>2]=j;a[(c[h>>2]|0)+j>>0]=k;j=n;j=SR(c[j>>2]|0,c[j+4>>2]|0,8)|0;k=n;c[k>>2]=j;c[k+4>>2]=C}while((c[l>>2]|0)!=0);c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=c[(c[j>>2]|0)+12>>2];if((c[m>>2]|0)>>>0>0)TR(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[m>>2]|0)|0;c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}return 0}function UI(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+28|0;l=p+24|0;m=p+20|0;n=p;o=p+16|0;h=p+12|0;j=p+8|0;c[l>>2]=f;c[m>>2]=g;g=n;c[g>>2]=0;c[g+4>>2]=0;if(!(c[(c[l>>2]|0)+52>>2]|0)){o=c[m>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[k>>2]=0;o=c[k>>2]|0;i=p;return o|0}c[o>>2]=QF(c[l>>2]|0)|0;a:while(1){if(c[o>>2]|0){f=16;break}c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];if(!((d[(c[j>>2]|0)+4>>0]|0)==0?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){f=n;f=RR(c[f>>2]|0,c[f+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;g=n;c[g>>2]=f;c[g+4>>2]=C}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[l>>2]|0)+68>>0]|0)){f=10;break a}HF(c[l>>2]|0)}while((e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));g=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]}c[h>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];f=c[l>>2]|0;g=c[j>>2]|0;if((c[h>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[o>>2]=FF(f,gr((c[(c[j>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0)|0;continue}else{c[o>>2]=FF(f,gr((c[g+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=n;n=c[j+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;c[k>>2]=QF(c[l>>2]|0)|0;o=c[k>>2]|0;i=p;return o|0}else if((f|0)==16){c[k>>2]=c[o>>2];o=c[k>>2]|0;i=p;return o|0}return 0}function VI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;if(!(c[(c[e>>2]|0)+340>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[h>>2]=0;while(1){if(c[m>>2]|0){e=15;break}if((c[h>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0)){e=15;break}c[k>>2]=c[(c[(c[e>>2]|0)+340>>2]|0)+(c[h>>2]<<2)>>2];c[j>>2]=c[c[(c[k>>2]|0)+4>>2]>>2];if((c[(c[k>>2]|0)+8>>2]|0)!=0?(c[c[j>>2]>>2]|0)>=2:0){switch(c[f>>2]|0){case 0:{c[l>>2]=c[(c[j>>2]|0)+80>>2];c[(c[k>>2]|0)+20>>2]=(c[g>>2]|0)+1;break}case 2:{c[l>>2]=c[(c[j>>2]|0)+88>>2];break}default:c[l>>2]=c[(c[j>>2]|0)+84>>2]}if((c[l>>2]|0)!=0?(c[(c[k>>2]|0)+20>>2]|0)>(c[g>>2]|0):0)c[m>>2]=Yb[c[l>>2]&255](c[(c[k>>2]|0)+8>>2]|0,c[g>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((e|0)==15){m=c[m>>2]|0;i=n;return m|0}return 0}function WI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;k=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){n=c[m>>2]|0;i=o;return n|0}mg(c[g>>2]|0);c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[l>>2]|0)){n=15;break}do if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[l>>2]|0)+66>>0]|0)!=1?(d[(c[l>>2]|0)+66>>0]|0)!=2:0)break;c[m>>2]=ZH(c[l>>2]|0)|0;if(c[m>>2]|0)break a}else n=10;while(0);if((n|0)==10){n=0;PB(c[l>>2]|0);a[(c[l>>2]|0)+66>>0]=4;c[(c[l>>2]|0)+60>>2]=c[h>>2]}c[k>>2]=0;while(1){if((c[k>>2]|0)>(a[(c[l>>2]|0)+68>>0]|0))break;QB(c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]|0);c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[l>>2]=c[(c[l>>2]|0)+8>>2]}if((n|0)==15){n=c[m>>2]|0;i=o;return n|0}WI(c[g>>2]|0,c[m>>2]|0,0)|0;n=c[m>>2]|0;i=o;return n|0}function XI(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=f;c[l>>2]=0;if(!(c[g>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);c[l>>2]=Vr(c[c[k>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[j>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[l>>2]=AM(c[k>>2]|0)|0;a=gr((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;l=c[l>>2]|0;i=m;return l|0}function YI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;Yj();Of(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2)b=(d[(c[f>>2]|0)+148+5>>0]|0)==0;else b=0;c[l>>2]=b&1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(fi(c[k>>2]|0)|0)c[j>>2]=1;Pg(c[k>>2]|0,c[g>>2]|0,((c[l>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}ou(c[f>>2]|0)|0;Zj();if((c[(c[f>>2]|0)+24>>2]&2|0)!=0?(d[(c[f>>2]|0)+148+5>>0]|0)==0:0){Sh(c[f>>2]|0);Cg(c[f>>2]|0)}l=(c[f>>2]|0)+440|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+448|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+24|0;c[l>>2]=c[l>>2]&-33554433;if(!(c[(c[f>>2]|0)+212>>2]|0)){i=m;return}if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+67>>0]|0)!=0:0){i=m;return}Qb[c[(c[f>>2]|0)+212>>2]&255](c[(c[f>>2]|0)+208>>2]|0);i=m;return}function ZI(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+424>>2]|0))break;c[e>>2]=c[b+424>>2];c[(c[d>>2]|0)+424>>2]=c[(c[e>>2]|0)+24>>2];Tf(c[d>>2]|0,c[e>>2]|0)}c[b+432>>2]=0;c[(c[d>>2]|0)+436>>2]=0;a[(c[d>>2]|0)+75>>0]=0;i=f;return}function _I(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=xM(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function $I(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+24|0;l=s+20|0;n=s+16|0;o=s+12|0;p=s+28|0;r=s+8|0;m=s+4|0;q=s;c[k>>2]=e;c[l>>2]=f;c[n>>2]=g;c[o>>2]=h;a[p>>0]=j;j=c[k>>2]|0;if((c[l>>2]|0)>0)j=(c[(c[k>>2]|0)+92>>2]|0)+(((c[j+24>>2]|0)-(c[l>>2]|0)|0)*40|0)|0;else j=c[j+92>>2]|0;c[r>>2]=j;c[q>>2]=0;j=88+(c[n>>2]<<3)|0;if(!(d[p>>0]|0))f=vM()|0;else f=0;c[m>>2]=j+f;if(c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]|0){eJ(c[k>>2]|0,c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]=0}if(Nx(c[r>>2]|0,c[m>>2]|0)|0){r=c[q>>2]|0;i=s;return r|0}j=c[(c[r>>2]|0)+16>>2]|0;c[q>>2]=j;c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]=j;j=c[q>>2]|0;f=j+88|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(f|0));a[c[q>>2]>>0]=a[p>>0]|0;a[(c[q>>2]|0)+1>>0]=c[o>>2];b[(c[q>>2]|0)+12>>1]=c[n>>2];c[(c[q>>2]|0)+76>>2]=(c[q>>2]|0)+80+(c[n>>2]<<2);if(d[p>>0]|0){r=c[q>>2]|0;i=s;return r|0}c[(c[q>>2]|0)+16>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(88+(c[n>>2]<<3));wM(c[(c[q>>2]|0)+16>>2]|0);r=c[q>>2]|0;i=s;return r|0}function aJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<1){c[m>>2]=Qj(62410)|0;d=c[m>>2]|0;i=n;return d|0}else{mg(c[g>>2]|0);c[m>>2]=tM(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;d=c[m>>2]|0;i=n;return d|0}return 0}function bJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];i=e;return}function cJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=sM(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dJ(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;r=w+52|0;j=w+48|0;k=w+44|0;u=w+40|0;l=w+36|0;t=w+32|0;s=w+28|0;o=w+24|0;n=w+20|0;v=w+16|0;m=w+12|0;q=w;p=w+8|0;c[r>>2]=f;c[j>>2]=g;c[k>>2]=h;c[v>>2]=0;c[o>>2]=24+((e[(c[(c[k>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[n>>2]=136;h=(c[n>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=sh(c[r>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+16>>2]=c[t>>2];if(!(c[t>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;i=w;return v|0}n=(c[t>>2]|0)+(c[n>>2]|0)|0;c[s>>2]=n;c[(c[t>>2]|0)+28>>2]=n;TR(c[s>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[o>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=0;if(c[j>>2]|0){o=(c[s>>2]|0)+8|0;b[o>>1]=(e[o>>1]|0)+((e[(c[s>>2]|0)+6>>1]|0)-(c[j>>2]|0));b[(c[s>>2]|0)+6>>1]=c[j>>2]}o=sg(c[(c[(c[r>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[u>>2]=o;c[(c[t>>2]|0)+12>>2]=o;a[(c[t>>2]|0)+59>>0]=1;a[(c[t>>2]|0)+58>>0]=-1;a[(c[t>>2]|0)+57>>0]=(d[(c[t>>2]|0)+59>>0]|0|0)>1;c[(c[t>>2]|0)+24>>2]=c[r>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[(c[t>>2]|0)+59>>0]|0|0))break;c[m>>2]=(c[t>>2]|0)+64+((c[l>>2]|0)*72|0);c[(c[m>>2]|0)+8>>2]=c[t>>2];c[l>>2]=(c[l>>2]|0)+1}if(!(Zq(c[r>>2]|0)|0)){c[p>>2]=c[58];j=_(c[p>>2]|0,c[u>>2]|0)|0;c[c[t>>2]>>2]=j;j=c[(c[(c[(c[r>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;k=q;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=q;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[q+4>>2]|0)<0){o=aS(j|0,k|0,-1024,-1)|0;p=q;c[p>>2]=o;c[p+4>>2]=C}else{o=c[u>>2]|0;o=aS(j|0,k|0,o|0,((o|0)<0)<<31>>31|0)|0;p=q;c[p>>2]=o;c[p+4>>2]=C}m=q;n=c[m+4>>2]|0;m=(n|0)<0|(n|0)==0&(c[m>>2]|0)>>>0<536870912;n=q;o=m?c[n+4>>2]|0:0;p=q;c[p>>2]=m?c[n>>2]|0:536870912;c[p+4>>2]=o;if((c[c[t>>2]>>2]|0)>(c[q>>2]|0))j=c[c[t>>2]>>2]|0;else j=c[q>>2]|0;c[(c[t>>2]|0)+4>>2]=j;if((c[50]|0)==0?(c[(c[t>>2]|0)+52>>2]=c[u>>2],u=c[u>>2]|0,u=$f(u,((u|0)<0)<<31>>31)|0,c[(c[t>>2]|0)+36+4>>2]=u,(c[(c[t>>2]|0)+36+4>>2]|0)==0):0)c[v>>2]=7}if(((e[(c[s>>2]|0)+6>>1]|0)+(e[(c[s>>2]|0)+8>>1]|0)|0)>=13){v=c[v>>2]|0;i=w;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)!=0?(c[(c[s>>2]|0)+20>>2]|0)!=(c[(c[r>>2]|0)+8>>2]|0):0){v=c[v>>2]|0;i=w;return v|0}a[(c[t>>2]|0)+60>>0]=3;v=c[v>>2]|0;i=w;return v|0}function eJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){i=j;return}switch(d[c[h>>2]>>0]|0|0){case 1:{rM(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}case 0:{e=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){LB(c[e+20>>2]|0)|0;i=j;return}else{NB(c[e+16>>2]|0)|0;i=j;return}}case 2:{c[g>>2]=c[(c[h>>2]|0)+16>>2];c[f>>2]=c[c[c[g>>2]>>2]>>2];h=(c[c[g>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;Tb[c[(c[f>>2]|0)+28>>2]&255](c[g>>2]|0)|0;i=j;return}default:{i=j;return}}}function fJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function gJ(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function hJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[f>>2]=e;if(1==(d[(c[g>>2]|0)+66>>0]|0|0)?((d[(c[g>>2]|0)+64>>0]|0)&8|0)!=0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}c[j>>2]=QF(c[g>>2]|0)|0;do if(!(c[j>>2]|0)){f=c[f>>2]|0;if(!(d[(c[g>>2]|0)+66>>0]|0)){c[f>>2]=1;break}c[f>>2]=0;c[j>>2]=GF(c[g>>2]|0)|0;f=(c[g>>2]|0)+64|0;b=d[f>>0]|0;if(!(c[j>>2]|0)){a[f>>0]=b|8;break}else{a[f>>0]=b&-9;break}}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function iJ(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+64|0;k=y+52|0;l=y+48|0;m=y+44|0;n=y+40|0;z=y+36|0;v=y+32|0;p=y+28|0;w=y+24|0;o=y+20|0;u=y+16|0;s=y+12|0;t=y+8|0;r=y+4|0;q=y;x=y+56|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[z>>2]=j;c[p>>2]=c[z>>2];c[w>>2]=0;c[s>>2]=c[c[l>>2]>>2];c[t>>2]=c[(c[s>>2]|0)+4>>2];c[q>>2]=0;h=c[l>>2]|0;if((d[(c[l>>2]|0)+66>>0]|0)==4){c[k>>2]=c[h+60>>2];z=c[k>>2]|0;i=y;return z|0}if((d[h+64>>0]&32|0)!=0?(c[v>>2]=XH(c[t>>2]|0,c[(c[l>>2]|0)+52>>2]|0,c[l>>2]|0)|0,(c[v>>2]|0)!=0):0){c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}do if(!(c[(c[l>>2]|0)+72>>2]|0)){z=(c[m>>2]|0)+8|0;ZK(c[s>>2]|0,c[z>>2]|0,c[z+4>>2]|0,0);if(((d[(c[l>>2]|0)+64>>0]&2|0)!=0?(z=(c[m>>2]|0)+8|0,s=c[z+4>>2]|0,(s|0)>0|(s|0)==0&(c[z>>2]|0)>>>0>0):0)?(z=(c[l>>2]|0)+16|0,j=c[z>>2]|0,z=c[z+4>>2]|0,s=(c[m>>2]|0)+8|0,s=QR(c[s>>2]|0,c[s+4>>2]|0,1,0)|0,(j|0)==(s|0)&(z|0)==(C|0)):0){c[p>>2]=-1;break}if((c[p>>2]|0)==0?(z=(c[m>>2]|0)+8|0,c[v>>2]=OF(c[l>>2]|0,0,c[z>>2]|0,c[z+4>>2]|0,c[n>>2]|0,p)|0,(c[v>>2]|0)!=0):0){c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}}else if((c[p>>2]|0)==0?(z=(c[m>>2]|0)+8|0,c[v>>2]=LF(c[l>>2]|0,c[c[m>>2]>>2]|0,c[z>>2]|0,c[z+4>>2]|0,c[n>>2]|0,p)|0,(c[v>>2]|0)!=0):0){c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}while(0);c[u>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[q>>2]=c[(c[t>>2]|0)+80>>2];c[v>>2]=qM(c[u>>2]|0,c[q>>2]|0,c[m>>2]|0,w)|0;do if(!(c[v>>2]|0)){c[o>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];if(!(c[p>>2]|0)){c[v>>2]=Gg(c[(c[u>>2]|0)+72>>2]|0)|0;if(c[v>>2]|0)break;c[r>>2]=(c[(c[u>>2]|0)+56>>2]|0)+(e[(c[u>>2]|0)+20>>1]&(d[(c[(c[u>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]<<8|d[(c[(c[u>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]));if(!(a[(c[u>>2]|0)+4>>0]|0)){z=c[q>>2]|0;t=c[r>>2]|0;a[z>>0]=a[t>>0]|0;a[z+1>>0]=a[t+1>>0]|0;a[z+2>>0]=a[t+2>>0]|0;a[z+3>>0]=a[t+3>>0]|0}c[v>>2]=$K(c[u>>2]|0,c[r>>2]|0,x)|0;YL(c[u>>2]|0,c[o>>2]|0,e[x>>1]|0,v);if(c[v>>2]|0)break}else if((c[p>>2]|0)<0?(e[(c[u>>2]|0)+18>>1]|0)>0:0){x=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;z=(b[x>>1]|0)+1<<16>>16;b[x>>1]=z;c[o>>2]=z&65535}ZL(c[u>>2]|0,c[o>>2]|0,c[q>>2]|0,c[w>>2]|0,0,0,v);b[(c[l>>2]|0)+16+18>>1]=0;if(a[(c[u>>2]|0)+1>>0]|0){z=(c[l>>2]|0)+64|0;a[z>>0]=d[z>>0]&-3;c[v>>2]=_L(c[l>>2]|0)|0;a[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[l>>2]|0)+66>>0]=0}}while(0);c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}function jJ(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;t=z+56|0;u=z+52|0;A=z+63|0;l=z+48|0;m=z+44|0;y=z+40|0;x=z+36|0;n=z+32|0;w=z+28|0;v=z+24|0;q=z+60|0;s=z+20|0;r=z+62|0;k=z+16|0;o=z+12|0;j=z+8|0;h=z+4|0;p=z;c[u>>2]=f;a[A>>0]=g;c[l>>2]=c[c[u>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];c[s>>2]=0;a[r>>0]=d[A>>0]&2;c[v>>2]=a[(c[u>>2]|0)+68>>0];c[w>>2]=e[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1];c[x>>2]=c[(c[u>>2]|0)+120+(c[v>>2]<<2)>>2];c[n>>2]=(c[(c[x>>2]|0)+56>>2]|0)+(e[(c[x>>2]|0)+20>>1]&(d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));do if(a[r>>0]|0){if((a[(c[x>>2]|0)+4>>0]|0)!=0?(A=e[(c[x>>2]|0)+16>>1]|0,A=A+((Yt(c[x>>2]|0,c[n>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[m>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[s>>2]=1;break}c[y>>2]=$H(c[u>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}while(0);if((a[(c[x>>2]|0)+4>>0]|0)==0?(c[k>>2]=0,c[y>>2]=CF(c[u>>2]|0,k)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if((d[(c[u>>2]|0)+64>>0]&32|0)!=0?(c[y>>2]=XH(c[m>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(c[(c[u>>2]|0)+72>>2]|0)){A=(c[u>>2]|0)+16|0;ZK(c[l>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}c[y>>2]=Gg(c[(c[x>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}c[y>>2]=$K(c[x>>2]|0,c[n>>2]|0,q)|0;YL(c[x>>2]|0,c[w>>2]|0,e[q>>1]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(a[(c[x>>2]|0)+4>>0]|0)){c[o>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[h>>2]=c[(c[(c[u>>2]|0)+120+((c[v>>2]|0)+1<<2)>>2]|0)+84>>2];c[n>>2]=(c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[n>>2]|0)>>>0<((c[(c[o>>2]|0)+56>>2]|0)+4|0)>>>0){c[t>>2]=Qj(66449)|0;A=c[t>>2]|0;i=z;return A|0}c[j>>2]=(Yb[c[(c[o>>2]|0)+76>>2]&255](c[o>>2]|0,c[n>>2]|0)|0)&65535;c[p>>2]=c[(c[m>>2]|0)+80>>2];c[y>>2]=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[y>>2]|0))ZL(c[x>>2]|0,c[w>>2]|0,(c[n>>2]|0)+-4|0,(c[j>>2]|0)+4|0,c[p>>2]|0,c[h>>2]|0,y);YL(c[o>>2]|0,(e[(c[o>>2]|0)+18>>1]|0)-1|0,c[j>>2]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}c[y>>2]=_L(c[u>>2]|0)|0;if((c[y>>2]|0)==0?(a[(c[u>>2]|0)+68>>0]|0)>(c[v>>2]|0):0){while(1){g=c[u>>2]|0;if((a[(c[u>>2]|0)+68>>0]|0)<=(c[v>>2]|0))break;q=g+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;QB(c[(c[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}c[y>>2]=_L(g)|0}do if(!(c[y>>2]|0)){g=c[u>>2]|0;if(!(c[s>>2]|0)){c[y>>2]=QF(g)|0;if(!(a[r>>0]|0))break;a[(c[u>>2]|0)+66>>0]=3;break}a[g+66>>0]=2;g=(c[u>>2]|0)+60|0;if((c[w>>2]|0)>=(e[(c[x>>2]|0)+18>>1]|0)){c[g>>2]=-1;b[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1]=(e[(c[x>>2]|0)+18>>1]|0)-1;break}else{c[g>>2]=1;break}}while(0);c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}function kJ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;o=s+44|0;t=s+40|0;p=s+36|0;h=s+32|0;q=s+28|0;n=s+24|0;r=s+20|0;m=s+16|0;j=s+12|0;l=s+8|0;k=s+4|0;c[t>>2]=a;c[p>>2]=d;c[h>>2]=f;c[q>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[r>>2]=c[(c[n>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[r>>2]|0)){t=MF(c[m>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[r>>2]=t;if(c[r>>2]|0){b[(c[r>>2]|0)+8>>1]=c[h>>2];break}c[o>>2]=7;t=c[o>>2]|0;i=s;return t|0}while(0);c[l>>2]=XL(c[n>>2]|0,k)|0;NF(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){h=10;break}if((e[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]|0)&1){h=8;break}c[j>>2]=(c[j>>2]|0)+1}if((h|0)==8){c[c[q>>2]>>2]=-1;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}else if((h|0)==10){t=$F(c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=t;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}return 0}function lJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;m=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[m>>2]=a;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+16>>2];c[j>>2]=XL(c[l>>2]|0,h)|0;if(Nx(c[g>>2]|0,c[h>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[h>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;TR(c[(c[g>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function mJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){i=g;return}c[f>>2]=c[c[d>>2]>>2];Tf(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);b=qh(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+108>>2]=b;Kd(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=g;return}function nJ(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(UL(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=VL(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function oJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;k=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[k>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0){c[h>>2]=jL(b)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=IL(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=mL((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}function pJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=QF(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){e=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[e>>2]=1;break}else{c[e>>2]=0;c[g>>2]=sG(c[f>>2]|0)|0;break}}while(0);i=h;return c[g>>2]|0}function qJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[m>>2]|0)+16>>2];b=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[k>>2]=zL(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}c[h>>2]=c[b+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+36+4>>2]|0))VK(c[f>>2]|0,c[h>>2]|0);c[c[g>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}function rJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+52|0;u=t+48|0;k=t+44|0;r=t+40|0;s=t+36|0;q=t+32|0;g=t+28|0;p=t+24|0;h=t+20|0;f=t+16|0;n=t+12|0;l=t+8|0;m=t+4|0;o=t;c[u>>2]=b;c[k>>2]=e;c[s>>2]=0;c[r>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[k>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[k>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else bG(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?(c[f>>2]&1|0)!=0:0){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[r>>2]|0)+60>>0]=0}while(0);c[p>>2]=(c[(c[k>>2]|0)+12>>2]|0)+8;f=c[(c[k>>2]|0)+12>>2]|0;u=c[(c[k>>2]|0)+12>>2]|0;c[h>>2]=f+(iG(u,((u|0)<0)<<31>>31)|0);if(c[(c[r>>2]|0)+4>>2]|0){b=c[r>>2]|0;if(c[(c[r>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0)|0)>(c[(c[r>>2]|0)+4>>2]|0);else b=0;c[g>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[r>>2]|0)+4>>2]|0))if((c[(c[r>>2]|0)+36+8>>2]|0)>(c[c[r>>2]>>2]|0))b=(Su()|0)!=0;else b=0;else b=1;c[g>>2]=b&1}if(c[g>>2]|0){c[s>>2]=jL(c[r>>2]|0)|0;c[(c[r>>2]|0)+36+8>>2]=0;c[(c[r>>2]|0)+48>>2]=0}}u=(c[r>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[h>>2]|0);if((c[h>>2]|0)>(c[(c[r>>2]|0)+8>>2]|0))c[(c[r>>2]|0)+8>>2]=c[h>>2];do if(c[(c[r>>2]|0)+36+4>>2]|0){c[n>>2]=(c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0);do if((c[n>>2]|0)>(c[(c[r>>2]|0)+52>>2]|0)){c[m>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0);c[o>>2]=c[(c[r>>2]|0)+52>>2]<<1;while(1){b=c[o>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=b<<1}if((b|0)>(c[(c[r>>2]|0)+4>>2]|0))c[o>>2]=c[(c[r>>2]|0)+4>>2];if((c[o>>2]|0)<(c[n>>2]|0))c[o>>2]=c[n>>2];u=c[o>>2]|0;c[l>>2]=cg(c[(c[r>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[r>>2]|0)+36>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[(c[r>>2]|0)+36+4>>2]=c[l>>2];c[(c[r>>2]|0)+52>>2]=c[o>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);c[q>>2]=(c[(c[r>>2]|0)+36+4>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0);u=(c[r>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+7&-8);if(c[(c[r>>2]|0)+36>>2]|0)c[(c[q>>2]|0)+4>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0)}else{u=c[p>>2]|0;c[q>>2]=$f(u,((u|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[(c[q>>2]|0)+4>>2]=c[(c[r>>2]|0)+36>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);TR((c[q>>2]|0)+8|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;c[c[q>>2]>>2]=c[(c[k>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=c[q>>2];c[j>>2]=c[s>>2];u=c[j>>2]|0;i=t;return u|0}function sJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+128|0;g=o+116|0;r=o+112|0;q=o+108|0;h=o+104|0;p=o+80|0;f=o+100|0;l=o+96|0;m=o+92|0;j=o+88|0;k=o+40|0;n=o;c[r>>2]=a;c[q>>2]=b;c[h>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;e=p;c[e>>2]=bI(c[q>>2]|0)|0;c[e+4>>2]=0;jG(k,c[r>>2]|0,0);c[f>>2]=PI(c[q>>2]|0,0,c[p>>2]|0,1,k)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];r=c[g>>2]|0;i=o;return r|0}a=c[k+16>>2]|0;if((d[c[k+16>>2]>>0]|0|0)<128)c[l>>2]=d[a>>0];else bG(a,l)|0;if((c[l>>2]|0)>>>0>=3?(c[l>>2]|0)<=(c[k+12>>2]|0):0){a=(c[k+16>>2]|0)+((c[l>>2]|0)-1)|0;if((d[(c[k+16>>2]|0)+((c[l>>2]|0)-1)>>0]|0|0)<128)c[m>>2]=d[a>>0];else bG(a,m)|0;if(!((c[m>>2]|0)>>>0<1|(c[m>>2]|0)>>>0>9|(c[m>>2]|0)==7)?(c[j>>2]=d[35061+(c[m>>2]|0)>>0],(c[k+12>>2]|0)>>>0>=((c[l>>2]|0)+(c[j>>2]|0)|0)>>>0):0){dG((c[k+16>>2]|0)+((c[k+12>>2]|0)-(c[j>>2]|0))|0,c[m>>2]|0,n)|0;p=n;q=c[p+4>>2]|0;r=c[h>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Xg(k);c[g>>2]=0;r=c[g>>2]|0;i=o;return r|0}}Xg(k);c[g>>2]=Qj(74890)|0;r=c[g>>2]|0;i=o;return r|0}function tJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;f=o+72|0;g=o+68|0;p=o+64|0;h=o+60|0;j=o+56|0;l=o+40|0;n=o+52|0;m=o+48|0;k=o;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[j>>2]=e;b=l;c[b>>2]=0;c[b+4>>2]=0;c[m>>2]=c[(c[p>>2]|0)+16>>2];b=l;c[b>>2]=bI(c[m>>2]|0)|0;c[b+4>>2]=0;b=l;a=c[b+4>>2]|0;e=l;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[j>>2]>>2]=0;c[f>>2]=Qj(74923)|0;p=c[f>>2]|0;i=o;return p|0}jG(k,c[g>>2]|0,0);c[n>>2]=PI(c[m>>2]|0,0,c[l>>2]|0,1,k)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];p=c[f>>2]|0;i=o;return p|0}else{p=$F(c[k+12>>2]|0,c[k+16>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=p;Xg(k);c[f>>2]=0;p=c[f>>2]|0;i=o;return p|0}return 0}function uJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=iL(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0} -function kD(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+96|0;o=K+84|0;p=K+80|0;q=K+76|0;r=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=dx(c[o>>2]|0)|0;c[z>>2]=(c[(c[o>>2]|0)+40>>2]|0)-1;c[C>>2]=Wz(c[J>>2]|0)|0;if((c[v>>2]|0)<0)ix(c[J>>2]|0,65,d[(c[s>>2]|0)+24>>0]|0,c[C>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[s>>2]|0)+20>>2]|0))break;c[E>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[u>>2]|0)+1;ix(c[J>>2]|0,34,c[E>>2]|0,c[C>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}do if(!(c[w>>2]|0)){if(!(c[r>>2]|0)){c[H>>2]=vx(c[o>>2]|0)|0;ix(c[J>>2]|0,85,(c[c[t>>2]>>2]|0)+1+(c[u>>2]|0)|0,c[H>>2]|0)|0;c[B>>2]=ix(c[J>>2]|0,17,c[H>>2]|0,0)|0;if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){jx(c[J>>2]|0,37,c[u>>2]|0,c[C>>2]|0,c[H>>2]|0)|0;Jh(c[J>>2]|0,-112)}Uz(c[o>>2]|0,c[z>>2]|0,c[p>>2]|0,c[q>>2]|0,104);jx(c[J>>2]|0,33,c[z>>2]|0,0,c[H>>2]|0)|0;Yz(c[J>>2]|0,c[C>>2]|0)|0;I=c[J>>2]|0;Zz(I,(wx(c[J>>2]|0)|0)-2|0);Zz(c[J>>2]|0,c[B>>2]|0);xx(c[o>>2]|0,c[H>>2]|0);break}c[F>>2]=c[(c[s>>2]|0)+20>>2];c[I>>2]=CA(c[o>>2]|0,c[F>>2]|0)|0;c[G>>2]=vx(c[o>>2]|0)|0;jx(c[J>>2]|0,104,c[z>>2]|0,c[(c[r>>2]|0)+44>>2]|0,c[p>>2]|0)|0;Vz(c[o>>2]|0,c[r>>2]|0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;ix(c[J>>2]|0,84,(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0)|0,(c[I>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){H=wx(c[J>>2]|0)|0;c[A>>2]=H+(c[F>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;c[y>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0);c[D>>2]=(b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)+1+(c[u>>2]|0);if((b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)==(b[(c[q>>2]|0)+32>>1]|0))c[D>>2]=c[u>>2];jx(c[J>>2]|0,36,c[y>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;Jh(c[J>>2]|0,16);c[x>>2]=(c[x>>2]|0)+1}Yz(c[J>>2]|0,c[C>>2]|0)|0}h=c[J>>2]|0;e=c[I>>2]|0;g=c[F>>2]|0;l=c[G>>2]|0;H=CC(c[c[o>>2]>>2]|0,c[r>>2]|0)|0;mx(h,99,e,g,l,H,c[F>>2]|0)|0;Ih(c[J>>2]|0,31,c[z>>2]|0,c[C>>2]|0,c[G>>2]|0,0)|0;xx(c[o>>2]|0,c[G>>2]|0);FA(c[o>>2]|0,c[I>>2]|0,c[F>>2]|0)}while(0);if((((a[(c[s>>2]|0)+24>>0]|0)==0?(c[(c[c[o>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[o>>2]|0)+124>>2]|0)==0:0)?(a[(c[o>>2]|0)+20>>0]|0)==0:0){tA(c[o>>2]|0,787,2,0,-2,4);H=c[J>>2]|0;I=c[C>>2]|0;_z(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Sz(I,111,J)|0;i=K;return}if((c[v>>2]|0)>0?(d[(c[s>>2]|0)+24>>0]|0)==0:0)Vx(c[o>>2]|0);ix(c[J>>2]|0,144,d[(c[s>>2]|0)+24>>0]|0,c[v>>2]|0)|0;H=c[J>>2]|0;I=c[C>>2]|0;_z(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Sz(I,111,J)|0;i=K;return}function lD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[h>>2]=b;do if(c[(c[h>>2]|0)+468>>2]|0){c[g>>2]=c[c[(c[h>>2]|0)+468>>2]>>2];if(!((c[g>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[g>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function mD(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0)){r=14;break}c[q>>2]=c[(c[k>>2]|0)+36+(c[n>>2]<<3)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)<0?!((c[m>>2]|0)!=0?(c[o>>2]|0)==(b[(c[j>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[o>>2]<<4);f=c[p>>2]|0;if(c[q>>2]|0)if(!(ig(c[f>>2]|0,c[q>>2]|0)|0)){r=9;break a}else break;else if(d[f+15>>0]&1){r=11;break a}else break}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((r|0)==9){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==11){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function nD(a,f,g,h,j,k,l,m){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+144|0;n=O+128|0;o=O+124|0;p=O+120|0;q=O+116|0;r=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;c[n>>2]=a;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=m;c[v>>2]=c[c[n>>2]>>2];c[K>>2]=0;c[z>>2]=0;c[M>>2]=dx(c[n>>2]|0)|0;if((c[u>>2]|0)<0)c[z>>2]=ix(c[M>>2]|0,65,d[(c[r>>2]|0)+24>>0]|0,0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;if(c[q>>2]|0)k=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;else k=-1;b[x>>1]=k;c[D>>2]=oD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[x>>1]|0)|0;if(c[s>>2]|0)k=c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0;else k=c[(c[r>>2]|0)+36>>2]|0;b[x>>1]=k;c[N>>2]=c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+(b[x>>1]<<4)>>2];c[H>>2]=Wv(c[v>>2]|0,55,c[N>>2]|0)|0;c[B>>2]=Ev(c[n>>2]|0,37,c[D>>2]|0,c[H>>2]|0,0)|0;c[K>>2]=wz(c[v>>2]|0,c[K>>2]|0,c[B>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)>0?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){if(!(d[(c[p>>2]|0)+42>>0]&32)){c[E>>2]=oD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,-1)|0;c[I>>2]=pD(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=Ev(c[n>>2]|0,36,c[E>>2]|0,c[I>>2]|0,0)|0}else{c[A>>2]=0;c[G>>2]=Jj(c[p>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[G>>2]|0)+50>>1]|0))break;b[y>>1]=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;c[E>>2]=oD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[y>>1]|0)|0;c[I>>2]=pD(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,b[y>>1]|0)|0;c[C>>2]=Ev(c[n>>2]|0,37,c[E>>2]|0,c[I>>2]|0,0)|0;c[A>>2]=wz(c[v>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}c[F>>2]=Ev(c[n>>2]|0,19,c[A>>2]|0,0,0)|0}c[K>>2]=wz(c[v>>2]|0,c[K>>2]|0,c[F>>2]|0)|0};c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;c[L+4>>2]=c[o>>2];c[L>>2]=c[n>>2];Ay(L,c[K>>2]|0)|0;c[J>>2]=qD(c[n>>2]|0,c[o>>2]|0,c[K>>2]|0,0,0,0,0)|0;ix(c[M>>2]|0,144,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;if(c[J>>2]|0)rD(c[J>>2]|0);iv(c[v>>2]|0,c[K>>2]|0);if(!(c[z>>2]|0)){i=O;return}Zz(c[M>>2]|0,c[z>>2]|0);i=O;return}function oD(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+28|0;o=q+12|0;n=q+8|0;p=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b[l>>1]=g;c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Wv(c[m>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;i=q;return p|0}if((b[l>>1]|0)>=0?(b[l>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0):0){c[n>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(b[l>>1]<<4);c[(c[o>>2]|0)+28>>2]=(c[k>>2]|0)+(b[l>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[n>>2]|0)+13>>0]|0;c[p>>2]=c[(c[n>>2]|0)+8>>2];if(!(c[p>>2]|0))c[p>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[o>>2]=Wy(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;i=q;return p|0}function pD(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+12|0;g=l+8|0;h=l+4|0;j=l+16|0;k=l;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[j>>1]=f;c[k>>2]=Wv(c[m>>2]|0,152,0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;i=l;return m|0}c[(c[k>>2]|0)+44>>2]=c[g>>2];c[(c[k>>2]|0)+28>>2]=c[h>>2];b[(c[k>>2]|0)+32>>1]=b[j>>1]|0;m=c[k>>2]|0;i=l;return m|0}function qD(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+192|0;n=ca+24|0;q=ca+180|0;r=ca+176|0;s=ca+172|0;o=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;p=ca+152|0;I=ca+148|0;W=ca+144|0;_=ca+140|0;J=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;G=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;E=ca+72|0;T=ca+68|0;V=ca+64|0;D=ca+60|0;K=ca+56|0;y=ca;H=ca+52|0;N=ca+48|0;F=ca+44|0;L=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;c[r>>2]=f;c[s>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[_>>2]=c[(c[r>>2]|0)+8>>2];a[z>>0]=0;c[B>>2]=c[c[r>>2]>>2];c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Y+12>>2]=0;c[Y+16>>2]=0;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)>=64:0)c[t>>2]=0;c[Y+8>>2]=c[t>>2];if(e[(c[B>>2]|0)+64>>1]&32)b[v>>1]=e[v>>1]&-257;if((c[c[s>>2]>>2]|0)>64){ba=c[r>>2]|0;c[n>>2]=64;Eh(ba,34404,n);c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}if(e[v>>1]&32)m=1;else m=c[c[s>>2]>>2]|0;c[I>>2]=m;c[p>>2]=832+(((c[I>>2]|0)-1|0)*80|0)+7&-8;c[W>>2]=Vw(c[B>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[B>>2]|0)+69>>0]|0)){c[c[W>>2]>>2]=c[r>>2];c[(c[W>>2]|0)+4>>2]=c[s>>2];c[(c[W>>2]|0)+8>>2]=c[t>>2];c[(c[W>>2]|0)+12>>2]=c[u>>2];c[(c[W>>2]|0)+20+4>>2]=-1;c[(c[W>>2]|0)+20>>2]=-1;a[(c[W>>2]|0)+42>>0]=c[I>>2];m=Wz(c[_>>2]|0)|0;c[(c[W>>2]|0)+28>>2]=m;c[(c[W>>2]|0)+32>>2]=m;b[(c[W>>2]|0)+40>>1]=b[v>>1]|0;b[(c[W>>2]|0)+16>>1]=c[w>>2];c[(c[W>>2]|0)+36>>2]=c[(c[r>>2]|0)+136>>2];m=(c[W>>2]|0)+43|0;k=m+37|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(k|0));VR((c[W>>2]|0)+752|0,0,72+((c[I>>2]|0)*80|0)|0)|0;c[R>>2]=(c[W>>2]|0)+488;c[Y>>2]=c[W>>2];c[Y+4>>2]=(c[W>>2]|0)+80;c[Y+12>>2]=(c[W>>2]|0)+(c[p>>2]|0);yD(c[Y+12>>2]|0);c[c[R>>2]>>2]=0;BD((c[W>>2]|0)+80|0,c[W>>2]|0);CD((c[W>>2]|0)+80|0,c[o>>2]|0,28);c[G>>2]=0;while(1){m=(c[I>>2]|0)==0;if((c[G>>2]|0)>=(c[(c[Y+4>>2]|0)+12>>2]|0))break;if(!(!m?(BB(c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0)|0)==0:0)){iB(c[r>>2]|0,c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0,c[(c[W>>2]|0)+32>>2]|0,16);p=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)+10|0;b[p>>1]=e[p>>1]|4}c[G>>2]=(c[G>>2]|0)+1}if(m){if(c[t>>2]|0)a[(c[W>>2]|0)+43>>0]=c[c[t>>2]>>2];if(e[v>>1]&256)a[(c[W>>2]|0)+47>>0]=1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[s>>2]>>2]|0))break;DD(c[R>>2]|0,c[(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)+44>>2]|0);ED(c[r>>2]|0,(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)|0,(c[W>>2]|0)+80|0);c[G>>2]=(c[G>>2]|0)+1}FD(c[s>>2]|0,(c[W>>2]|0)+80|0);if(!(a[(c[B>>2]|0)+69>>0]|0)){do if(e[v>>1]&256){if(GD(c[r>>2]|0,c[s>>2]|0,(c[W>>2]|0)+80|0,c[u>>2]|0)|0){a[(c[W>>2]|0)+47>>0]=1;break}if(!(c[t>>2]|0)){t=(c[W>>2]|0)+40|0;b[t>>1]=e[t>>1]|128;c[(c[W>>2]|0)+8>>2]=c[u>>2]}}while(0);if(!((c[I>>2]|0)==1?(HD(Y)|0)!=0:0)){c[X>>2]=ID(Y)|0;if(c[X>>2]|0)break;JD(c[W>>2]|0,0)|0;if(a[(c[B>>2]|0)+69>>0]|0)break;if((c[(c[W>>2]|0)+8>>2]|0)!=0?(JD(c[W>>2]|0,(b[(c[W>>2]|0)+72>>1]|0)+1&65535)|0,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break}if((c[(c[W>>2]|0)+8>>2]|0)==0?(c[(c[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(c[W>>2]|0)+64|0;c[X>>2]=-1;c[X+4>>2]=-1}if((c[(c[r>>2]|0)+36>>2]|0)==0?(d[(c[B>>2]|0)+69>>0]|0)==0:0){b:do if(((c[u>>2]|0)!=0?(d[(c[W>>2]|0)+42>>0]|0)>=2:0)?(e[(c[B>>2]|0)+64>>1]&1024|0)==0:0){u=KD(c[R>>2]|0,c[u>>2]|0)|0;X=Z;c[X>>2]=u;c[X+4>>2]=C;if(c[Y+8>>2]|0){u=KD(c[R>>2]|0,c[Y+8>>2]|0)|0;t=Z;R=c[t+4>>2]|C;X=Z;c[X>>2]=c[t>>2]|u;c[X+4>>2]=R}while(1){if((d[(c[W>>2]|0)+42>>0]|0)<2)break b;c[Q>>2]=c[(c[W>>2]|0)+752+(((d[(c[W>>2]|0)+42>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[W>>2]|0)+4>>2]|0)+8+((d[(c[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[v>>1]&256|0)==0?(c[(c[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(c[Q>>2]|0)+8|0;if((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)break b;c[M>>2]=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[(c[Y+4>>2]|0)+12>>2]|0)*48|0);c[U>>2]=c[(c[Y+4>>2]|0)+20>>2];while(1){if((c[U>>2]|0)>>>0>=(c[M>>2]|0)>>>0)break;R=(c[U>>2]|0)+40|0;X=(c[Q>>2]|0)+8|0;if(((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)?(c[(c[c[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[U>>2]=(c[U>>2]|0)+48}if((c[U>>2]|0)>>>0<(c[M>>2]|0)>>>0)break b;X=(c[W>>2]|0)+42|0;a[X>>0]=(a[X>>0]|0)+-1<<24>>24;c[I>>2]=(c[I>>2]|0)+-1}}while(0);Z=(c[c[W>>2]>>2]|0)+136|0;c[Z>>2]=(c[Z>>2]|0)+(b[(c[W>>2]|0)+72>>1]|0);do if(e[v>>1]&4){c[$>>2]=c[(c[(c[W>>2]|0)+752+64>>2]|0)+36>>2];c[A>>2]=(c[$>>2]&4096|0)!=0&1;if(!(c[A>>2]|0)){if(!(e[v>>1]&8))break;if(c[$>>2]&1024)break}a[(c[W>>2]|0)+45>>0]=(c[A>>2]|0)!=0?1:2;if((d[(c[(c[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(c[$>>2]&64|0)!=0:0){if(e[v>>1]&8)a[z>>0]=8;c[(c[(c[W>>2]|0)+752+64>>2]|0)+36>>2]=c[$>>2]&-65}}while(0);c[G>>2]=0;c[P>>2]=(c[W>>2]|0)+752;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[T>>2]=(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0);c[S>>2]=c[(c[T>>2]|0)+16>>2];c[E>>2]=Fh(c[B>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;c[Q>>2]=c[(c[P>>2]|0)+64>>2];c:do if((d[(c[S>>2]|0)+42>>0]&2|0)==0?(c[(c[S>>2]|0)+12>>2]|0)==0:0){if(c[(c[Q>>2]|0)+36>>2]&1024){c[V>>2]=Ux(c[B>>2]|0,c[S>>2]|0)|0;c[D>>2]=c[(c[T>>2]|0)+44>>2];mx(c[_>>2]|0,155,c[D>>2]|0,0,0,c[V>>2]|0,-10)|0;break}if(d[(c[S>>2]|0)+42>>0]&16)break;do if(!(c[(c[Q>>2]|0)+36>>2]&64)){if(e[v>>1]&32)break;c[K>>2]=104;if(d[(c[W>>2]|0)+45>>0]|0){c[K>>2]=105;c[(c[W>>2]|0)+20>>2]=c[(c[T>>2]|0)+44>>2]}Uz(c[r>>2]|0,c[(c[T>>2]|0)+44>>2]|0,c[E>>2]|0,c[S>>2]|0,c[K>>2]|0);do if(!(d[(c[W>>2]|0)+45>>0]|0)){if((b[(c[S>>2]|0)+34>>1]|0)>=64)break;if(d[(c[S>>2]|0)+42>>0]&32)break;Y=(c[T>>2]|0)+56|0;Z=c[Y+4>>2]|0;$=y;c[$>>2]=c[Y>>2];c[$+4>>2]=Z;c[H>>2]=0;while(1){$=y;if(!((c[$>>2]|0)!=0|(c[$+4>>2]|0)!=0))break;Z=y;Z=SR(c[Z>>2]|0,c[Z+4>>2]|0,1)|0;$=y;c[$>>2]=Z;c[$+4>>2]=C;c[H>>2]=(c[H>>2]|0)+1}Mh(c[_>>2]|0,-1,c[H>>2]|0,-14)}while(0);Jh(c[_>>2]|0,a[z>>0]|0);break c}while(0);Tz(c[r>>2]|0,c[E>>2]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0)}while(0);do if(c[(c[Q>>2]|0)+36>>2]&512){c[N>>2]=c[(c[Q>>2]|0)+24+8>>2];c[L>>2]=104;do if(!(d[(c[S>>2]|0)+42>>0]&32))ba=93;else{if((a[(c[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(e[v>>1]&32)){ba=93;break}c[F>>2]=c[(c[P>>2]|0)+4>>2];c[L>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(!(d[(c[W>>2]|0)+45>>0]|0)){do if(c[w>>2]|0){if(!(e[v>>1]&32))break;c[F>>2]=c[w>>2];c[L>>2]=103;break d}while(0);Z=(c[r>>2]|0)+40|0;$=c[Z>>2]|0;c[Z>>2]=$+1;c[F>>2]=$;break}c[O>>2]=c[(c[(c[T>>2]|0)+16>>2]|0)+8>>2];c[F>>2]=c[w>>2];while(1){if(!(c[O>>2]|0))break;if((c[O>>2]|0)==(c[N>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1;c[O>>2]=c[(c[O>>2]|0)+20>>2]}c[L>>2]=105;c[(c[W>>2]|0)+20+4>>2]=c[F>>2]}while(0);c[(c[P>>2]|0)+8>>2]=c[F>>2];if(!(c[L>>2]|0))break;jx(c[_>>2]|0,c[L>>2]|0,c[F>>2]|0,c[(c[N>>2]|0)+44>>2]|0,c[E>>2]|0)|0;Vz(c[r>>2]|0,c[N>>2]|0);if(!(c[(c[Q>>2]|0)+36>>2]&15))break;if(c[(c[Q>>2]|0)+36>>2]&32770)break;if(e[(c[W>>2]|0)+40>>1]&1)break;Jh(c[_>>2]|0,2)}while(0);if((c[E>>2]|0)>=0)sx(c[r>>2]|0,c[E>>2]|0);c[G>>2]=(c[G>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+80}ba=wx(c[_>>2]|0)|0;c[(c[W>>2]|0)+52>>2]=ba;if(!(a[(c[B>>2]|0)+69>>0]|0)){ba=J;c[ba>>2]=-1;c[ba+4>>2]=-1;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[P>>2]=(c[W>>2]|0)+752+((c[G>>2]|0)*80|0);c[aa>>2]=c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2];if((c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=J,LD(c[r>>2]|0,(c[W>>2]|0)+80|0,(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0)|0,c[ba>>2]|0,c[ba+4>>2]|0,c[P>>2]|0),(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break a;c[x>>2]=MD(c[r>>2]|0,c[s>>2]|0,c[P>>2]|0,c[G>>2]|0,d[(c[P>>2]|0)+44>>0]|0,b[v>>1]|0)|0;$=wx(c[_>>2]|0)|0;c[(c[P>>2]|0)+32>>2]=$;$=J;$=ND(c[W>>2]|0,c[G>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;ba=J;c[ba>>2]=$;c[ba+4>>2]=C;c[(c[W>>2]|0)+28>>2]=c[(c[P>>2]|0)+24>>2];do if((c[aa>>2]&8192|0)==0?(e[v>>1]&32|0)!=0:0)break;while(0);c[G>>2]=(c[G>>2]|0)+1}c[q>>2]=c[W>>2];ba=c[q>>2]|0;i=ca;return ba|0}}}}else{Tf(c[B>>2]|0,c[W>>2]|0);c[W>>2]=0}while(0);if(c[W>>2]|0){c[(c[r>>2]|0)+136>>2]=c[(c[W>>2]|0)+36>>2];tD(c[B>>2]|0,c[W>>2]|0)}c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}function rD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;m=E+80|0;v=E+76|0;A=E+72|0;o=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;n=E+52|0;h=E+48|0;k=E+44|0;j=E+40|0;l=E+36|0;p=E+32|0;q=E+28|0;u=E+24|0;r=E+20|0;y=E+16|0;x=E+12|0;B=E+8|0;C=E+4|0;w=E;c[m>>2]=f;c[v>>2]=c[c[m>>2]>>2];c[A>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=c[(c[m>>2]|0)+4>>2];c[n>>2]=c[c[v>>2]>>2];EC(c[v>>2]|0);c[o>>2]=(d[(c[m>>2]|0)+42>>0]|0)-1;while(1){if((c[o>>2]|0)<0)break;c[s>>2]=(c[m>>2]|0)+752+((c[o>>2]|0)*80|0);c[t>>2]=c[(c[s>>2]|0)+64>>2];_z(c[A>>2]|0,c[(c[s>>2]|0)+24>>2]|0);if((d[(c[s>>2]|0)+45>>0]|0)!=161){jx(c[A>>2]|0,d[(c[s>>2]|0)+45>>0]|0,c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+52>>2]|0,d[(c[s>>2]|0)+46>>0]|0)|0;Jh(c[A>>2]|0,a[(c[s>>2]|0)+47>>0]|0)}a:do if((c[(c[t>>2]|0)+36>>2]&2048|0)!=0?(c[(c[s>>2]|0)+56>>2]|0)>0:0){_z(c[A>>2]|0,c[(c[s>>2]|0)+16>>2]|0);c[j>>2]=c[(c[s>>2]|0)+56>>2];c[k>>2]=(c[(c[s>>2]|0)+56+4>>2]|0)+(((c[j>>2]|0)-1|0)*12|0);while(1){if((c[j>>2]|0)<=0)break a;Zz(c[A>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)+1|0);if((d[(c[k>>2]|0)+8>>0]|0)!=161)ix(c[A>>2]|0,d[(c[k>>2]|0)+8>>0]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;Zz(c[A>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)-1|0);c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+-12}}while(0);_z(c[A>>2]|0,c[(c[s>>2]|0)+12>>2]|0);if(c[(c[s>>2]|0)+20>>2]|0){Yz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;Zz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0);Zz(c[A>>2]|0,(c[(c[s>>2]|0)+20>>2]|0)-2|0)}if(c[(c[s>>2]|0)+40>>2]|0)ix(c[A>>2]|0,68,(c[(c[s>>2]|0)+36>>2]|0)>>>1,c[(c[s>>2]|0)+40>>2]|0)|0;if(c[c[s>>2]>>2]|0){c[l>>2]=c[(c[t>>2]|0)+36>>2];c[h>>2]=Sz(c[A>>2]|0,66,c[c[s>>2]>>2]|0)|0;if(!(c[l>>2]&64))Sz(c[A>>2]|0,124,c[(c[z>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]|0)|0;if(!(c[l>>2]&512)){if((c[l>>2]&8192|0)!=0?(c[(c[s>>2]|0)+56>>2]|0)!=0:0)D=22}else D=22;if((D|0)==22){D=0;Sz(c[A>>2]|0,124,c[(c[s>>2]|0)+8>>2]|0)|0}f=c[A>>2]|0;g=c[s>>2]|0;if((d[(c[s>>2]|0)+45>>0]|0)==72)ix(f,14,c[g+48>>2]|0,c[(c[s>>2]|0)+28>>2]|0)|0;else Yz(f,c[g+28>>2]|0)|0;Zz(c[A>>2]|0,c[h>>2]|0)}c[o>>2]=(c[o>>2]|0)+-1}_z(c[A>>2]|0,c[(c[m>>2]|0)+32>>2]|0);c[o>>2]=0;c[s>>2]=(c[m>>2]|0)+752;while(1){if((c[o>>2]|0)>=(d[(c[m>>2]|0)+42>>0]|0))break;c[r>>2]=0;c[y>>2]=(c[z>>2]|0)+8+((d[(c[s>>2]|0)+44>>0]|0)*72|0);c[x>>2]=c[(c[y>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+64>>2];if(((d[(c[y>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)sD(c[A>>2]|0,c[(c[s>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[(c[y>>2]|0)+32>>2]|0,0);else D=33;b:do if((D|0)==33){D=0;if(((d[(c[x>>2]|0)+42>>0]&2|0)==0?(c[(c[x>>2]|0)+12>>2]|0)==0:0)?(e[(c[m>>2]|0)+40>>1]&32|0)==0:0){c[B>>2]=c[(c[t>>2]|0)+36>>2];if((d[(c[m>>2]|0)+45>>0]|0)==0?(c[B>>2]&64|0)==0:0)Sz(c[A>>2]|0,111,c[(c[y>>2]|0)+44>>2]|0)|0;if(((c[B>>2]&512|0)!=0?(c[B>>2]&16640|0)==0:0)?(c[(c[s>>2]|0)+8>>2]|0)!=(c[(c[m>>2]|0)+20+4>>2]|0):0)Sz(c[A>>2]|0,111,c[(c[s>>2]|0)+8>>2]|0)|0}f=c[t>>2]|0;if(!(c[(c[t>>2]|0)+36>>2]&576)){if(c[f+36>>2]&8192)c[r>>2]=c[(c[s>>2]|0)+56>>2]}else c[r>>2]=c[f+24+8>>2];if(c[r>>2]|0){if((d[(c[m>>2]|0)+45>>0]|0)!=0?(d[(c[(c[r>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[n>>2]|0)+69>>0]|0)){c[q>>2]=wx(c[A>>2]|0)|0;c[p>>2]=c[(c[s>>2]|0)+32>>2];c[u>>2]=eA(c[A>>2]|0,c[p>>2]|0)|0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break b;do if((c[(c[u>>2]|0)+4>>2]|0)==(c[(c[s>>2]|0)+4>>2]|0)){f=c[u>>2]|0;if((d[c[u>>2]>>0]|0)!=96){if((d[f>>0]|0)!=123)break;c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2];a[c[u>>2]>>0]=-127;break}c[C>>2]=c[f+8>>2];if(d[(c[x>>2]|0)+42>>0]&32){c[w>>2]=Jj(c[x>>2]|0)|0;c[C>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<1)>>1]}c[C>>2]=(OA(c[r>>2]|0,c[C>>2]&65535)|0)<<16>>16;if((c[C>>2]|0)>=0){c[(c[u>>2]|0)+8>>2]=c[C>>2];c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2]}}while(0);c[p>>2]=(c[p>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+20}}}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+80}c[(c[v>>2]|0)+136>>2]=c[(c[m>>2]|0)+36>>2];tD(c[n>>2]|0,c[m>>2]|0);i=E;return}function sD(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;q=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=eA(c[q>>2]|0,c[j>>2]|0)|0;c[n>>2]=wx(c[q>>2]|0)|0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;do if((c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0)){h=c[o>>2]|0;if((d[c[o>>2]>>0]|0|0)==96){a[h>>0]=84;c[(c[o>>2]|0)+4>>2]=(c[(c[o>>2]|0)+8>>2]|0)+(c[l>>2]|0);c[(c[o>>2]|0)+8>>2]=c[(c[o>>2]|0)+12>>2];c[(c[o>>2]|0)+12>>2]=0;break}if((d[h>>0]|0|0)==123){h=c[o>>2]|0;if(c[m>>2]|0){a[h>>0]=91;c[(c[o>>2]|0)+4>>2]=c[(c[o>>2]|0)+8>>2];c[(c[o>>2]|0)+8>>2]=1;break}else{a[h>>0]=79;c[(c[o>>2]|0)+4>>2]=0;c[(c[o>>2]|0)+12>>2]=0;break}}}while(0);c[j>>2]=(c[j>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}i=p;return}function tD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=k;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(d[(c[f>>2]|0)+42>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+752+((c[g>>2]|0)*80|0);if((c[(c[j>>2]|0)+64>>2]|0)!=0?(c[(c[(c[j>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)Tf(c[e>>2]|0,c[(c[j>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}uD((c[f>>2]|0)+80|0);while(1){if(!(c[(c[f>>2]|0)+56>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+56>>2];c[(c[f>>2]|0)+56>>2]=c[(c[h>>2]|0)+52>>2];vD(c[e>>2]|0,c[h>>2]|0)}Tf(c[e>>2]|0,c[f>>2]|0);i=k;return}function uD(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;d=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[g>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[d>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[g>>2]|0)<0)break;if((e[(c[d>>2]|0)+10>>1]|0)&1)iv(c[f>>2]|0,c[c[d>>2]>>2]|0);if(!((e[(c[d>>2]|0)+10>>1]|0)&16)){if((e[(c[d>>2]|0)+10>>1]|0)&32)AD(c[f>>2]|0,c[(c[d>>2]|0)+28>>2]|0)}else zD(c[f>>2]|0,c[(c[d>>2]|0)+28>>2]|0);c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=(c[d>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){i=h;return}Tf(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0);i=h;return}function vD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;wD(c[f>>2]|0,c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function wD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Tf(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);xD(c[d>>2]|0,c[e>>2]|0);yD(c[e>>2]|0);i=f;return}function xD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=h;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+24+4>>0]|0|0)!=0:0){Kd(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=h;return}if(!(c[(c[g>>2]|0)+24+8>>2]|0)){i=h;return}Tf(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+8>>2]|0)+16>>2]|0);Tf(c[f>>2]|0,c[(c[g>>2]|0)+24+8>>2]|0);c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}function yD(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function zD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;uD(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function AD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;uD(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function BD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function CD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l+12|0;k=l;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[k>>2]=ky(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[j>>0]|0;if(!(c[k>>2]|0)){i=l;return}f=c[g>>2]|0;if((d[c[k>>2]>>0]|0|0)!=(d[j>>0]|0|0)){WE(f,c[h>>2]|0,0)|0;i=l;return}else{CD(f,c[(c[k>>2]|0)+12>>2]|0,a[j>>0]|0);CD(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,a[j>>0]|0);i=l;return}}function DD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function ED(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;p=r+28|0;o=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if(!((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)){i=r;return}c[p>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+64>>2];if(!(c[l>>2]|0)){i=r;return}c[k>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[l>>2]>>2]|0)){e=13;break}while(1){if((c[k>>2]|0)<(b[(c[p>>2]|0)+34>>1]|0))e=(d[(c[(c[p>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+15>>0]&2|0)==0;else e=0;a=c[k>>2]|0;if(!e)break;c[k>>2]=a+1}f=c[g>>2]|0;if((a|0)>=(b[(c[p>>2]|0)+34>>1]|0)){e=10;break}c[m>>2]=jw(c[f>>2]|0,152,0,0)|0;if(!(c[m>>2]|0)){e=13;break}c[(c[m>>2]|0)+28>>2]=c[(c[h>>2]|0)+44>>2];a=c[k>>2]|0;c[k>>2]=a+1;b[(c[m>>2]|0)+32>>1]=a;c[(c[m>>2]|0)+44>>2]=c[p>>2];a=c[g>>2]|0;f=c[m>>2]|0;c[n>>2]=Ev(a,37,f,Iy(c[c[g>>2]>>2]|0,c[(c[(c[l>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0,0)|0;WE(c[j>>2]|0,c[n>>2]|0,1)|0;c[o>>2]=(c[o>>2]|0)+1}if((e|0)==10){o=c[o>>2]|0;c[q>>2]=c[c[p>>2]>>2];c[q+4>>2]=o;Eh(f,34848,q);i=r;return}else if((e|0)==13){i=r;return}}function FD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;SE(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}i=g;return}function GD(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;j=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;s=u+16|0;r=u+12|0;o=u+8|0;p=u+4|0;q=u;c[k>>2]=a;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[c[l>>2]>>2]|0)!=1){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}c[p>>2]=c[(c[l>>2]|0)+8+44>>2];c[s>>2]=c[(c[l>>2]|0)+8+16>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[q>>2]=ky(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;if(((d[c[q>>2]>>0]|0)==152?(c[(c[q>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(b[(c[q>>2]|0)+32>>1]|0)<0:0){t=8;break}c[o>>2]=(c[o>>2]|0)+1}if((t|0)==8){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0)){t=22;break}if(d[(c[r>>2]|0)+54>>0]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[r>>2]|0)+50>>1]|0))break;if(!(ZD(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,-1,-1,2,c[r>>2]|0)|0)){if((RE(c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)<0)break;if(!(HE(c[r>>2]|0,c[o>>2]|0)|0))break}c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[r>>2]|0)+50>>1]|0)){t=20;break}}c[r>>2]=c[(c[r>>2]|0)+20>>2]}if((t|0)==20){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}else if((t|0)==22){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}return 0}function HD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;g=t+44|0;h=t+40|0;s=t+36|0;n=t+32|0;r=t+28|0;q=t+24|0;o=t+20|0;j=t+16|0;k=t+12|0;p=t+8|0;m=t+4|0;l=t;c[h>>2]=f;c[s>>2]=c[c[h>>2]>>2];if((e[(c[s>>2]|0)+40>>1]|0)&32){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[n>>2]=(c[(c[s>>2]|0)+4>>2]|0)+8;c[p>>2]=c[(c[n>>2]|0)+16>>2];if((d[(c[p>>2]|0)+42>>0]|0)&16){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}if((d[(c[n>>2]|0)+36+1>>0]|0)>>>1&1){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[j>>2]=c[(c[n>>2]|0)+44>>2];c[r>>2]=(c[s>>2]|0)+80;c[o>>2]=c[(c[h>>2]|0)+12>>2];c[(c[o>>2]|0)+36>>2]=0;b[(c[o>>2]|0)+42>>1]=0;c[q>>2]=ZD(c[r>>2]|0,c[j>>2]|0,-1,0,0,130,0)|0;a:do if(c[q>>2]|0){c[(c[o>>2]|0)+36>>2]=4353;c[c[(c[o>>2]|0)+48>>2]>>2]=c[q>>2];b[(c[o>>2]|0)+40>>1]=1;b[(c[o>>2]|0)+24>>1]=1;b[(c[o>>2]|0)+20>>1]=33}else{c[m>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break a;if(((d[(c[m>>2]|0)+54>>0]|0|0)!=0?(c[(c[m>>2]|0)+36>>2]|0)==0:0)?(e[(c[m>>2]|0)+50>>1]|0|0)<=3:0){c[l>>2]=((d[(c[m>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0|0))break;c[q>>2]=ZD(c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,c[l>>2]|0,c[m>>2]|0)|0;if(!(c[q>>2]|0))break;c[(c[(c[o>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+1}if((c[k>>2]|0)==(e[(c[m>>2]|0)+50>>1]|0|0))break}c[m>>2]=c[(c[m>>2]|0)+20>>2]}c[(c[o>>2]|0)+36>>2]=4609;if(!(((d[(c[m>>2]|0)+55>>0]|0)>>>5&1|0)==0?(r=(c[n>>2]|0)+56|0,p=c[r>>2]|0,r=c[r+4>>2]|0,q=EE(c[m>>2]|0)|0,!((p&~q|0)==0&(r&~C|0)==0)):0)){r=(c[o>>2]|0)+36|0;c[r>>2]=c[r>>2]|64}b[(c[o>>2]|0)+40>>1]=c[k>>2];b[(c[o>>2]|0)+24>>1]=c[k>>2];c[(c[o>>2]|0)+24+8>>2]=c[m>>2];b[(c[o>>2]|0)+20>>1]=39}while(0);if(!(c[(c[o>>2]|0)+36>>2]|0)){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}b[(c[o>>2]|0)+22>>1]=1;c[(c[s>>2]|0)+752+64>>2]=c[o>>2];q=OD((c[s>>2]|0)+488|0,c[j>>2]|0)|0;r=(c[o>>2]|0)+8|0;c[r>>2]=q;c[r+4>>2]=C;c[(c[s>>2]|0)+752+4>>2]=c[j>>2];b[(c[s>>2]|0)+72>>1]=1;if(c[(c[s>>2]|0)+8>>2]|0)a[(c[s>>2]|0)+43>>0]=c[c[(c[s>>2]|0)+8>>2]>>2];if((e[(c[s>>2]|0)+40>>1]|0)&256)a[(c[s>>2]|0)+47>>0]=1;c[g>>2]=1;s=c[g>>2]|0;i=t;return s|0}function ID(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+80|0;e=s+60|0;n=s+56|0;g=s+16|0;h=s+8|0;f=s+52|0;t=s+48|0;m=s+44|0;l=s+40|0;p=s+36|0;r=s+32|0;q=s+28|0;o=s+64|0;j=s;k=s+24|0;c[e>>2]=b;c[n>>2]=c[c[e>>2]>>2];b=g;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[n>>2]|0)+4>>2];c[l>>2]=(c[t>>2]|0)+8+((d[(c[n>>2]|0)+42>>0]|0)*72|0);c[p>>2]=c[c[c[n>>2]>>2]>>2];c[r>>2]=0;a[o>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];yD(c[q>>2]|0);c[f>>2]=0;c[m>>2]=(c[t>>2]|0)+8;while(1){if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){e=19;break}b=j;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[f>>2];b=OD((c[n>>2]|0)+488|0,c[(c[m>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=C;if((d[(c[m>>2]|0)+36>>0]|0|(d[o>>0]|0))&10){u=h;b=c[u+4>>2]|0;t=g;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[o>>0]=a[(c[m>>2]|0)+36>>0]|0;if((d[(c[(c[m>>2]|0)+16>>2]|0)+42>>0]|0)&16){c[k>>2]=(c[m>>2]|0)+72;while(1){if((c[k>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;u=j;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?((d[(c[k>>2]|0)+36>>0]|0)&10|0)==0:0)){b=OD((c[n>>2]|0)+488|0,c[(c[k>>2]|0)+44>>2]|0)|0;v=j;t=c[v+4>>2]|C;u=j;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[k>>2]=(c[k>>2]|0)+72}u=g;v=j;c[r>>2]=rE(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=g;c[r>>2]=sE(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[r>>2]|0)){u=g;v=j;c[r>>2]=tE(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=h;u=c[b+4>>2]|c[t+4>>2];v=h;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[r>>2]|0){e=19;break}if(d[(c[p>>2]|0)+69>>0]|0){e=19;break}c[f>>2]=(c[f>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+72}if((e|0)==19){wD(c[p>>2]|0,c[q>>2]|0);i=s;return c[r>>2]|0}return 0}function JD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;E=X+40|0;M=X+148|0;N=X+144|0;G=X+162|0;r=X+140|0;Q=X+136|0;z=X+132|0;O=X+128|0;H=X+124|0;n=X+120|0;p=X+116|0;t=X+112|0;w=X+108|0;s=X+160|0;u=X+158|0;y=X+104|0;v=X+100|0;k=X+96|0;m=X+92|0;S=X+88|0;A=X+84|0;K=X+80|0;j=X+76|0;l=X+72|0;T=X+68|0;h=X+64|0;x=X+156|0;B=X+154|0;C=X+152|0;o=X+164|0;q=X+32|0;D=X+24|0;J=X+60|0;I=X+16|0;L=X+56|0;W=X+52|0;P=X+8|0;U=X+48|0;V=X;R=X+44|0;c[N>>2]=f;b[G>>1]=g;c[t>>2]=0;b[s>>1]=0;b[u>>1]=0;c[l>>2]=0;c[z>>2]=c[c[N>>2]>>2];c[O>>2]=c[c[z>>2]>>2];c[Q>>2]=d[(c[N>>2]|0)+42>>0];if((c[Q>>2]|0)<=1)g=1;else g=(c[Q>>2]|0)==2?5:10;c[r>>2]=g;if((c[(c[N>>2]|0)+8>>2]|0)!=0?(b[G>>1]|0)!=0:0)c[w>>2]=c[c[(c[N>>2]|0)+8>>2]>>2];else c[w>>2]=0;c[h>>2]=(_(32+(c[Q>>2]<<2)|0,c[r>>2]|0)|0)<<1;c[h>>2]=(c[h>>2]|0)+(c[w>>2]<<1);h=c[h>>2]|0;c[T>>2]=Vw(c[O>>2]|0,h,((h|0)<0)<<31>>31)|0;if(!(c[T>>2]|0)){c[M>>2]=7;W=c[M>>2]|0;i=X;return W|0}c[m>>2]=c[T>>2];c[k>>2]=(c[m>>2]|0)+(c[r>>2]<<5);h=c[k>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[j>>2]=(c[k>>2]|0)+(c[r>>2]<<5);c[n>>2]=c[r>>2]<<1;c[S>>2]=c[m>>2];while(1){if((c[n>>2]|0)<=0)break;c[(c[S>>2]|0)+24>>2]=c[j>>2];c[n>>2]=(c[n>>2]|0)+-1;c[S>>2]=(c[S>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+(c[Q>>2]<<2)}if(c[w>>2]|0){c[l>>2]=c[j>>2];VR(c[l>>2]|0,0,c[w>>2]<<1|0)|0}if((c[(c[z>>2]|0)+136>>2]|0)>>>0<48)g=c[(c[z>>2]|0)+136>>2]|0;else g=48;b[(c[k>>2]|0)+16>>1]=g;c[v>>2]=1;if(c[w>>2]|0)a[(c[k>>2]|0)+22>>0]=(c[Q>>2]|0)>0?-1:c[w>>2]|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[Q>>2]|0))break;c[y>>2]=0;c[n>>2]=0;c[S>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;c[K>>2]=c[(c[N>>2]|0)+56>>2];while(1){if(!(c[K>>2]|0))break;a[o>>0]=a[(c[S>>2]|0)+22>>0]|0;h=D;c[h>>2]=0;c[h+4>>2]=0;h=c[K>>2]|0;j=c[S>>2]|0;a:do if(!((c[h>>2]&~c[j>>2]|0)!=0?1:(c[h+4>>2]&~c[j+4>>2]|0)!=0)?(h=(c[K>>2]|0)+8|0,j=c[S>>2]|0,!((c[h>>2]&c[j>>2]|0)!=0?1:(c[h+4>>2]&c[j+4>>2]|0)!=0)):0){if((c[(c[K>>2]|0)+36>>2]&16384|0)!=0?(b[(c[S>>2]|0)+16>>1]|0)<10:0)break;b[C>>1]=nE(b[(c[K>>2]|0)+18>>1]|0,(b[(c[K>>2]|0)+20>>1]|0)+(b[(c[S>>2]|0)+16>>1]|0)&65535)|0;b[C>>1]=nE(b[C>>1]|0,b[(c[S>>2]|0)+20>>1]|0)|0;b[x>>1]=(b[(c[S>>2]|0)+16>>1]|0)+(b[(c[K>>2]|0)+22>>1]|0);g=c[S>>2]|0;f=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[f+4>>2];j=q;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;if((a[o>>0]|0)<0)a[o>>0]=oE(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[S>>2]|0,b[(c[N>>2]|0)+40>>1]|0,c[H>>2]&65535,c[K>>2]|0,D)|0;else{f=(c[S>>2]|0)+8|0;h=c[f+4>>2]|0;j=D;c[j>>2]=c[f>>2];c[j+4>>2]=h}if((a[o>>0]|0)>=0?(a[o>>0]|0)<(c[w>>2]|0):0){if(!(b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)){j=pE(c[N>>2]|0,b[G>>1]|0,c[w>>2]|0,a[o>>0]|0)|0;b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]=j}b[B>>1]=nE(b[C>>1]|0,b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)|0}else b[B>>1]=b[C>>1]|0;c[p>>2]=0;c[A>>2]=c[m>>2];while(1){if((c[p>>2]|0)>=(c[y>>2]|0))break;h=c[A>>2]|0;j=q;if(((c[h>>2]|0)==(c[j>>2]|0)?(c[h+4>>2]|0)==(c[j+4>>2]|0):0)?((a[(c[A>>2]|0)+22>>0]^a[o>>0])&128|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}do if((c[p>>2]|0)<(c[y>>2]|0)){if((b[(c[A>>2]|0)+18>>1]|0)<(b[B>>1]|0))break a;if((b[(c[A>>2]|0)+18>>1]|0)!=(b[B>>1]|0))break;if((b[(c[A>>2]|0)+16>>1]|0)<=(b[x>>1]|0))break a}else{do if((c[y>>2]|0)>=(c[r>>2]|0)){if((b[B>>1]|0)>(b[s>>1]|0))break a;if((b[B>>1]|0)!=(b[s>>1]|0))break;if((b[C>>1]|0)>=(b[u>>1]|0))break a}while(0);if((c[y>>2]|0)<(c[r>>2]|0)){j=c[y>>2]|0;c[y>>2]=j+1;c[p>>2]=j}else c[p>>2]=c[t>>2];c[A>>2]=(c[m>>2]|0)+(c[p>>2]<<5)}while(0);g=c[S>>2]|0;j=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[j+4>>2];f=c[A>>2]|0;c[f>>2]=c[g>>2]|c[j>>2];c[f+4>>2]=h;f=D;h=c[f+4>>2]|0;j=(c[A>>2]|0)+8|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;b[(c[A>>2]|0)+16>>1]=b[x>>1]|0;b[(c[A>>2]|0)+18>>1]=b[B>>1]|0;b[(c[A>>2]|0)+20>>1]=b[C>>1]|0;a[(c[A>>2]|0)+22>>0]=a[o>>0]|0;TR(c[(c[A>>2]|0)+24>>2]|0,c[(c[S>>2]|0)+24>>2]|0,c[H>>2]<<2|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]=c[K>>2];if((c[y>>2]|0)>=(c[r>>2]|0)){c[t>>2]=0;b[s>>1]=b[(c[m>>2]|0)+18>>1]|0;b[u>>1]=b[(c[m>>2]|0)+16>>1]|0;c[p>>2]=1;c[A>>2]=(c[m>>2]|0)+32;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;do if((b[(c[A>>2]|0)+18>>1]|0)<=(b[s>>1]|0)){if((b[(c[A>>2]|0)+18>>1]|0)!=(b[s>>1]|0))break;if((b[(c[A>>2]|0)+20>>1]|0)>(b[u>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;b[s>>1]=b[(c[A>>2]|0)+18>>1]|0;b[u>>1]=b[(c[A>>2]|0)+20>>1]|0;c[t>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}}}while(0);c[K>>2]=c[(c[K>>2]|0)+52>>2]}c[n>>2]=(c[n>>2]|0)+1;c[S>>2]=(c[S>>2]|0)+32}c[S>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[S>>2];c[v>>2]=c[y>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(c[v>>2]|0)){Eh(c[z>>2]|0,34756,E);Tf(c[O>>2]|0,c[T>>2]|0);c[M>>2]=1;W=c[M>>2]|0;i=X;return W|0}c[S>>2]=c[k>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;if((b[(c[S>>2]|0)+18>>1]|0)>(b[(c[k>>2]|0)+(c[n>>2]<<5)+18>>1]|0))c[S>>2]=(c[k>>2]|0)+(c[n>>2]<<5);c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=0;while(1){g=c[N>>2]|0;if((c[H>>2]|0)>=(c[Q>>2]|0))break;c[J>>2]=g+752+((c[H>>2]|0)*80|0);F=c[(c[(c[S>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]|0;c[K>>2]=F;c[(c[J>>2]|0)+64>>2]=F;a[(c[J>>2]|0)+44>>0]=a[(c[K>>2]|0)+16>>0]|0;c[(c[J>>2]|0)+4>>2]=c[(c[(c[N>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+44>>0]|0)*72|0)+44>>2];c[H>>2]=(c[H>>2]|0)+1}if(((((e[g+40>>1]&256|0)!=0?(e[(c[N>>2]|0)+40>>1]&128|0)==0:0)?(d[(c[N>>2]|0)+47>>0]|0)==0:0)?(b[G>>1]|0)!=0:0)?(c[L>>2]=(oE(c[N>>2]|0,c[(c[N>>2]|0)+12>>2]|0,c[S>>2]|0,128,(c[Q>>2]|0)-1&65535,c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[L>>2]|0)==(c[c[(c[N>>2]|0)+12>>2]>>2]|0)):0)a[(c[N>>2]|0)+47>>0]=2;if(c[(c[N>>2]|0)+8>>2]|0){g=a[(c[S>>2]|0)+22>>0]|0;if(e[(c[N>>2]|0)+40>>1]&128){if((g<<24>>24|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0))a[(c[N>>2]|0)+47>>0]=2}else{a[(c[N>>2]|0)+43>>0]=g;J=(c[S>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[N>>2]|0)+64|0;c[L>>2]=c[J>>2];c[L+4>>2]=K;if(((((a[(c[N>>2]|0)+43>>0]|0)<=0?(a[(c[N>>2]|0)+43>>0]=0,(c[Q>>2]|0)>0):0)?(c[W>>2]=c[(c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0)+36>>2],(c[W>>2]&4096|0)==0):0)?(c[W>>2]&260|0)!=260:0)?(W=P,c[W>>2]=0,c[W+4>>2]=0,c[U>>2]=(oE(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[S>>2]|0,2048,(c[Q>>2]|0)-1&65535,c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0,P)|0)<<24>>24,(c[U>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+48>>0]=1;U=c[P+4>>2]|0;W=(c[N>>2]|0)+64|0;c[W>>2]=c[P>>2];c[W+4>>2]=U}}if(((e[(c[N>>2]|0)+40>>1]&512|0)!=0?((c[Q>>2]|0)>0?(a[(c[N>>2]|0)+43>>0]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0):0):0)?(W=V,c[W>>2]=0,c[W+4>>2]=0,c[R>>2]=(oE(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[S>>2]|0,0,(c[Q>>2]|0)-1&65535,c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0,V)|0)<<24>>24,(c[R>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+44>>0]=1;U=V;V=c[U+4>>2]|0;W=(c[N>>2]|0)+64|0;c[W>>2]=c[U>>2];c[W+4>>2]=V}}b[(c[N>>2]|0)+72>>1]=b[(c[S>>2]|0)+16>>1]|0;Tf(c[O>>2]|0,c[T>>2]|0);c[M>>2]=0;W=c[M>>2]|0;i=X;return W|0}function KD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=g;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;C=b;i=h;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;j=lE(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function LD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+176|0;q=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;E=Y+144|0;J=Y+140|0;K=Y+136|0;G=Y+132|0;X=Y+128|0;Q=Y+124|0;I=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;D=Y+100|0;F=Y+96|0;H=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;p=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;o=Y+64|0;n=Y+60|0;m=Y+8|0;z=Y+56|0;w=Y;L=Y+52|0;M=Y+48|0;c[N>>2]=f;c[t>>2]=g;c[u>>2]=h;g=v;c[g>>2]=j;c[g+4>>2]=k;c[O>>2]=l;a[p>>0]=0;c[T>>2]=0;c[A>>2]=0;c[P>>2]=0;c[X>>2]=c[(c[N>>2]|0)+8>>2];c[Q>>2]=fx(c[X>>2]|0,20)|0;c[E>>2]=0;c[I>>2]=c[(c[u>>2]|0)+16>>2];c[K>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[(c[t>>2]|0)+12>>2]|0)*48|0);c[H>>2]=c[(c[O>>2]|0)+64>>2];g=B;c[g>>2]=0;c[g+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;c[o>>2]=c[c[J>>2]>>2];g=c[H>>2]|0;if((((c[g>>2]|0)==0&(c[g+4>>2]|0)==0?(e[(c[J>>2]|0)+10>>1]&2|0)==0:0)?(c[(c[o>>2]|0)+4>>2]&1|0)==0:0)?(hE(c[o>>2]|0,c[(c[u>>2]|0)+44>>2]|0)|0)!=0:0){h=c[c[N>>2]>>2]|0;g=c[T>>2]|0;c[T>>2]=wz(h,g,Iy(c[c[N>>2]>>2]|0,c[o>>2]|0,0)|0)|0}g=v;if(iE(c[J>>2]|0,c[u>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0){c[n>>2]=c[(c[J>>2]|0)+28>>2];if((c[n>>2]|0)>=64){j=0;k=-2147483648}else{j=WR(1,0,c[n>>2]|0)|0;k=C}g=m;c[g>>2]=j;c[g+4>>2]=k;if(!(a[p>>0]|0)){g=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0;c[q>>2]=c[c[I>>2]>>2];c[q+4>>2]=g;Rd(284,34719,q);a[p>>0]=1}h=B;g=m;if((c[h>>2]&c[g>>2]|0)==0?(c[h+4>>2]&c[g+4>>2]|0)==0:0){if(jE(c[c[N>>2]>>2]|0,c[H>>2]|0,(c[E>>2]|0)+1|0)|0){r=57;break}l=c[J>>2]|0;f=c[E>>2]|0;c[E>>2]=f+1;c[(c[(c[H>>2]|0)+48>>2]|0)+(f<<2)>>2]=l;f=m;l=B;h=c[l+4>>2]|c[f+4>>2];g=B;c[g>>2]=c[l>>2]|c[f>>2];c[g+4>>2]=h}}c[J>>2]=(c[J>>2]|0)+48}if((r|0)==57){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;iv(W,X);i=Y;return}o=c[E>>2]&65535;b[(c[H>>2]|0)+40>>1]=o;b[(c[H>>2]|0)+24>>1]=o;c[(c[H>>2]|0)+36>>2]=16961;o=(c[u>>2]|0)+56|0;p=B;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=x;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[I>>2]|0)+34>>1]|0))j=63;else j=b[(c[I>>2]|0)+34>>1]|0;c[D>>2]=j;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;r=x;p=c[r>>2]|0;r=c[r+4>>2]|0;q=WR(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&C|0)!=0)c[E>>2]=(c[E>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[E>>2]=(c[E>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)-64+1);c[G>>2]=kE(c[c[N>>2]>>2]|0,(c[E>>2]|0)+1&65535,0,s)|0;if(!(c[G>>2]|0)){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;iv(W,X);i=Y;return}c[(c[H>>2]|0)+24+8>>2]=c[G>>2];c[c[G>>2]>>2]=34745;c[(c[G>>2]|0)+12>>2]=c[I>>2];c[S>>2]=0;s=B;c[s>>2]=0;c[s+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;s=v;if(iE(c[J>>2]|0,c[u>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[z>>2]=c[(c[J>>2]|0)+28>>2];if((c[z>>2]|0)>=64){j=0;k=-2147483648}else{j=WR(1,0,c[z>>2]|0)|0;k=C}r=w;c[r>>2]=j;c[r+4>>2]=k;r=B;s=w;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[L>>2]=c[c[J>>2]>>2];q=w;p=B;r=c[p+4>>2]|c[q+4>>2];s=B;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[J>>2]|0)+28>>2];c[F>>2]=sB(c[N>>2]|0,c[(c[L>>2]|0)+12>>2]|0,c[(c[L>>2]|0)+16>>2]|0)|0;if(c[F>>2]|0)j=c[c[F>>2]>>2]|0;else j=34834;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=j;c[S>>2]=(c[S>>2]|0)+1}}c[J>>2]=(c[J>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;L=x;J=c[L>>2]|0;L=c[L+4>>2]|0;K=WR(1,0,c[y>>2]|0)|0;if((J&K|0)!=0|(L&C|0)!=0){b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34834;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break a;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34834;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34834;K=(c[N>>2]|0)+40|0;L=c[K>>2]|0;c[K>>2]=L+1;c[(c[O>>2]|0)+8>>2]=L;ix(c[X>>2]|0,106,c[(c[O>>2]|0)+8>>2]|0,(c[E>>2]|0)+1|0)|0;Vz(c[N>>2]|0,c[G>>2]|0);AA(c[N>>2]|0);c[U>>2]=(c[(c[c[t>>2]>>2]|0)+4>>2]|0)+8+((d[(c[O>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){c[M>>2]=c[(c[U>>2]|0)+28>>2];c[P>>2]=ix(c[X>>2]|0,76,0,0)|0;jx(c[X>>2]|0,15,c[M>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[R>>2]=Sz(c[X>>2]|0,16,c[M>>2]|0)|0}else c[R>>2]=Sz(c[X>>2]|0,57,c[(c[O>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[A>>2]=Wz(c[X>>2]|0)|0;iB(c[N>>2]|0,c[T>>2]|0,c[A>>2]|0,16);M=(c[H>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[W>>2]=vx(c[N>>2]|0)|0;c[V>>2]=oA(c[N>>2]|0,c[G>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[W>>2]|0,0,0,0,0)|0;ix(c[X>>2]|0,126,c[(c[O>>2]|0)+8>>2]|0,c[W>>2]|0)|0;Jh(c[X>>2]|0,16);if(c[T>>2]|0)_z(c[X>>2]|0,c[A>>2]|0);j=c[X>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){dA(j,c[P>>2]|0,(c[V>>2]|0)+(c[S>>2]|0)|0);sD(c[X>>2]|0,c[R>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);Yz(c[X>>2]|0,c[R>>2]|0)|0;V=(c[U>>2]|0)+36+1|0;a[V>>0]=a[V>>0]&-17}else ix(j,7,c[(c[O>>2]|0)+4>>2]|0,(c[R>>2]|0)+1|0)|0;Jh(c[X>>2]|0,3);Zz(c[X>>2]|0,c[R>>2]|0);xx(c[N>>2]|0,c[W>>2]|0);yA(c[N>>2]|0);Zz(c[X>>2]|0,c[Q>>2]|0);W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;iv(W,X);i=Y;return}function MD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;m=O+140|0;n=O+136|0;o=O+132|0;t=O+128|0;u=O+124|0;p=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;q=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;r=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[p>>1]=l;c[B>>2]=0;do if((d[(c[m>>2]|0)+409>>0]|0|0)==2){c[z>>2]=(c[n>>2]|0)+8+((d[(c[o>>2]|0)+44>>0]|0)*72|0);c[D>>2]=c[(c[m>>2]|0)+8>>2];c[q>>2]=c[c[m>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+420>>2];c[A>>2]=c[(c[o>>2]|0)+64>>2];c[v>>2]=c[(c[A>>2]|0)+36>>2];if((c[v>>2]&8192|0)==0?((e[p>>1]|0)&32|0)==0:0){do if(c[v>>2]&48)m=1;else{if((c[v>>2]&1024|0)==0?(e[(c[A>>2]|0)+24>>1]|0|0)>0:0){m=1;break}m=((e[p>>1]|0)&3|0)!=0}while(0);c[x>>2]=m&1;dg(C,c[q>>2]|0,r,100,1e9);dE(C,(c[x>>2]|0)!=0?34452:34459);m=c[z>>2]|0;if(c[(c[z>>2]|0)+20>>2]|0){c[E>>2]=d[m+40>>0];rA(C,34464,E)}else{c[F>>2]=c[m+8>>2];rA(C,34477,F)}if(c[(c[z>>2]|0)+12>>2]|0){c[I>>2]=c[(c[z>>2]|0)+12>>2];rA(C,34487,I)}do if(!(c[v>>2]&1280)){c[K>>2]=0;c[y>>2]=c[(c[A>>2]|0)+24+8>>2];if(((d[(c[(c[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[y>>2]|0)+55>>0]&3|0)==2:0){if(c[x>>2]|0)c[K>>2]=34494}else N=19;do if((N|0)==19){if(c[v>>2]&131072){c[K>>2]=34506;break}if(c[v>>2]&16384){c[K>>2]=34539;break}if(c[v>>2]&64){c[K>>2]=34564;break}else{c[K>>2]=34582;break}}while(0);if(c[K>>2]|0){sA(C,34591,7);N=c[K>>2]|0;c[J>>2]=c[c[y>>2]>>2];rA(C,N,J);eE(C,c[A>>2]|0)}}else{if((c[v>>2]&256|0)!=0?(c[v>>2]&15|0)!=0:0){do if(!(c[v>>2]&5)){if((c[v>>2]&48|0)==48){c[M>>2]=34601;break}if(c[v>>2]&32){c[M>>2]=34615;break}else{c[M>>2]=34617;break}}else c[M>>2]=34599;while(0);c[G>>2]=c[M>>2];rA(C,34619,G);break}if(c[v>>2]&1024){N=c[(c[A>>2]|0)+24+8>>2]|0;c[H>>2]=c[(c[A>>2]|0)+24>>2];c[H+4>>2]=N;rA(C,34657,H)}}while(0);c[L>>2]=fg(C)|0;c[B>>2]=mx(c[D>>2]|0,162,c[w>>2]|0,c[t>>2]|0,c[u>>2]|0,c[L>>2]|0,-1)|0;break}c[s>>2]=0;N=c[s>>2]|0;i=O;return N|0}while(0);c[s>>2]=c[B>>2];N=c[s>>2]|0;i=O;return N|0}function ND(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;hb=i;i=i+448|0;Sa=hb+8|0;Ta=hb+432|0;M=hb+428|0;Ua=hb;Xa=hb+424|0;Ra=hb+420|0;Wa=hb+416|0;ra=hb+412|0;za=hb+408|0;Pa=hb+404|0;$a=hb+400|0;Oa=hb+396|0;cb=hb+392|0;bb=hb+388|0;ab=hb+384|0;Qa=hb+380|0;fb=hb+376|0;H=hb+372|0;G=hb+368|0;Va=hb+364|0;Na=hb+360|0;o=hb+356|0;k=hb+352|0;n=hb+348|0;l=hb+344|0;q=hb+340|0;m=hb+336|0;p=hb+332|0;t=hb+328|0;r=hb+324|0;u=hb+320|0;s=hb+316|0;F=hb+312|0;E=hb+308|0;v=hb+304|0;y=hb+300|0;x=hb+296|0;z=hb+292|0;B=hb+288|0;D=hb+284|0;w=hb+280|0;A=hb+276|0;xa=hb+442|0;va=hb+440|0;ya=hb+438|0;Ha=hb+272|0;Ea=hb+268|0;Da=hb+264|0;Ia=hb+260|0;ua=hb+256|0;Ja=hb+252|0;wa=hb+248|0;Ba=hb+244|0;Ma=hb+240|0;I=hb+236|0;Aa=hb+232|0;La=hb+228|0;Ka=hb+224|0;sa=hb+447|0;ta=hb+446|0;J=hb+220|0;K=hb+445|0;L=hb+444|0;Fa=hb+216|0;Ga=hb+212|0;Ca=hb+208|0;ea=hb+204|0;ca=hb+200|0;$=hb+196|0;P=hb+192|0;la=hb+188|0;na=hb+184|0;ma=hb+180|0;Q=hb+176|0;S=hb+172|0;oa=hb+168|0;V=hb+164|0;pa=hb+436|0;_=hb+160|0;ja=hb+156|0;X=hb+152|0;Z=hb+148|0;ga=hb+144|0;U=hb+140|0;aa=hb+136|0;da=hb+132|0;ia=hb+128|0;ba=hb+124|0;W=hb+120|0;ha=hb+116|0;N=hb+112|0;ka=hb+108|0;T=hb+104|0;fa=hb+100|0;Y=hb+96|0;R=hb+92|0;O=hb+88|0;Za=hb+84|0;eb=hb+80|0;gb=hb+76|0;_a=hb+72|0;db=hb+24|0;Ya=hb+16|0;c[Ta>>2]=f;c[M>>2]=g;g=Ua;c[g>>2]=h;c[g+4>>2]=j;c[Na>>2]=0;c[o>>2]=0;c[ab>>2]=c[c[Ta>>2]>>2];c[fb>>2]=c[(c[ab>>2]|0)+8>>2];c[cb>>2]=(c[Ta>>2]|0)+80;c[Qa>>2]=c[c[ab>>2]>>2];c[$a>>2]=(c[Ta>>2]|0)+752+((c[M>>2]|0)*80|0);c[Oa>>2]=c[(c[$a>>2]|0)+64>>2];c[H>>2]=(c[(c[Ta>>2]|0)+4>>2]|0)+8+((d[(c[$a>>2]|0)+44>>0]|0)*72|0);c[Wa>>2]=c[(c[H>>2]|0)+44>>2];g=Ua;h=c[g>>2]|0;g=c[g+4>>2]|0;j=OD((c[Ta>>2]|0)+488|0,c[Wa>>2]|0)|0;f=(c[$a>>2]|0)+72|0;c[f>>2]=h&~j;c[f+4>>2]=g&~C;f=(c[Ta>>2]|0)+64|0;f=SR(c[f>>2]|0,c[f+4>>2]|0,c[M>>2]|0)|0;c[Pa>>2]=f&1;if(c[(c[Oa>>2]|0)+36>>2]&64)h=(e[(c[Ta>>2]|0)+40>>1]&32|0)==0;else h=0;c[za>>2]=h&1;f=Wz(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+16>>2]=f;c[(c[$a>>2]|0)+12>>2]=f;c[G>>2]=f;f=Wz(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+24>>2]=f;c[Va>>2]=f;if((d[(c[$a>>2]|0)+44>>0]|0)>0?(d[(c[H>>2]|0)+36>>0]&8|0)!=0:0){g=(c[ab>>2]|0)+44|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[$a>>2]>>2]=f;ix(c[fb>>2]|0,76,0,c[c[$a>>2]>>2]|0)|0}do if((d[(c[H>>2]|0)+36+1>>0]|0)>>>4&1){c[k>>2]=c[(c[H>>2]|0)+28>>2];jx(c[fb>>2]|0,15,c[k>>2]|0,0,c[(c[H>>2]|0)+24>>2]|0)|0;Ra=ix(c[fb>>2]|0,16,c[k>>2]|0,c[G>>2]|0)|0;c[(c[$a>>2]|0)+52>>2]=Ra;a[(c[$a>>2]|0)+45>>0]=13}else{h=c[Oa>>2]|0;if(c[(c[Oa>>2]|0)+36>>2]&1024){c[q>>2]=e[h+40>>1];AA(c[ab>>2]|0);c[n>>2]=CA(c[ab>>2]|0,(c[q>>2]|0)+2|0)|0;c[l>>2]=c[(c[$a>>2]|0)+12>>2];c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=(c[n>>2]|0)+(c[Xa>>2]|0)+2;c[bb>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(c[Xa>>2]<<2)>>2];do if(c[bb>>2]|0)if(e[(c[bb>>2]|0)+12>>1]&1){PD(c[ab>>2]|0,c[bb>>2]|0,c[$a>>2]|0,c[Xa>>2]|0,c[Pa>>2]|0,c[p>>2]|0)|0;c[l>>2]=c[(c[$a>>2]|0)+16>>2];break}else{c[t>>2]=c[(c[c[bb>>2]>>2]|0)+16>>2];QD(c[ab>>2]|0,c[t>>2]|0,c[p>>2]|0,1);break}while(0);c[Xa>>2]=(c[Xa>>2]|0)+1}ix(c[fb>>2]|0,76,c[(c[Oa>>2]|0)+24>>2]|0,c[n>>2]|0)|0;ix(c[fb>>2]|0,76,c[q>>2]|0,(c[n>>2]|0)+1|0)|0;mx(c[fb>>2]|0,11,c[Wa>>2]|0,c[l>>2]|0,c[n>>2]|0,c[(c[Oa>>2]|0)+24+8>>2]|0,(d[(c[Oa>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;a[(c[Oa>>2]|0)+24+4>>0]=0;c[(c[$a>>2]|0)+48>>2]=c[Wa>>2];a[(c[$a>>2]|0)+45>>0]=(d[(c[Ta>>2]|0)+45>>0]|0)!=0?161:70;Ra=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+52>>2]=Ra;c[m>>2]=c[(c[$a>>2]|0)+56>>2];c[Xa>>2]=(c[q>>2]|0)-1;while(1){if((c[Xa>>2]|0)<0)break;c[bb>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(c[Xa>>2]<<2)>>2];if((c[Xa>>2]|0)<16?(e[(c[Oa>>2]|0)+24+6>>1]>>c[Xa>>2]&1|0)!=0:0)RD(c[$a>>2]|0,c[bb>>2]|0);else qa=21;if((qa|0)==21?(qa=0,(e[(c[bb>>2]|0)+12>>1]&1|0)!=0):0){if(!(a[(c[Qa>>2]|0)+69>>0]|0)){Pa=c[fb>>2]|0;Ra=(c[m>>2]|0)+-1|0;c[m>>2]=Ra;c[s>>2]=eA(Pa,c[(c[(c[$a>>2]|0)+56+4>>2]|0)+(Ra*12|0)+4>>2]|0)|0;jx(c[fb>>2]|0,d[c[s>>2]>>0]|0,c[(c[s>>2]|0)+4>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+12>>2]|0)|0}c[r>>2]=Ev(c[ab>>2]|0,37,0,0,0)|0;if(c[r>>2]|0){c[(c[r>>2]|0)+12>>2]=c[(c[c[bb>>2]>>2]|0)+12>>2];Ra=Wv(c[Qa>>2]|0,157,0)|0;c[u>>2]=Ra;c[(c[r>>2]|0)+16>>2]=Ra;if(c[u>>2]|0){c[(c[u>>2]|0)+28>>2]=(c[n>>2]|0)+(c[Xa>>2]|0)+2;iB(c[ab>>2]|0,c[r>>2]|0,c[(c[$a>>2]|0)+24>>2]|0,0)}c[(c[r>>2]|0)+12>>2]=0;iv(c[Qa>>2]|0,c[r>>2]|0)}}c[Xa>>2]=(c[Xa>>2]|0)+-1}yA(c[ab>>2]|0);break}if((c[h+36>>2]&256|0)!=0?(c[(c[Oa>>2]|0)+36>>2]&5|0)!=0:0){c[bb>>2]=c[c[(c[Oa>>2]|0)+48>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[o>>2]=Ra;c[Na>>2]=PD(c[ab>>2]|0,c[bb>>2]|0,c[$a>>2]|0,0,c[Pa>>2]|0,c[o>>2]|0)|0;if((c[Na>>2]|0)!=(c[o>>2]|0))xx(c[ab>>2]|0,c[o>>2]|0);c[ra>>2]=c[(c[$a>>2]|0)+16>>2];jx(c[fb>>2]|0,32,c[Wa>>2]|0,c[ra>>2]|0,c[Na>>2]|0)|0;WA(c[ab>>2]|0,c[Na>>2]|0,1);GB(c[ab>>2]|0,c[Wa>>2]|0,-1,c[Na>>2]|0);a[(c[$a>>2]|0)+45>>0]=-95;break}if((c[(c[Oa>>2]|0)+36>>2]&256|0)!=0?(c[(c[Oa>>2]|0)+36>>2]&2|0)!=0:0){c[F>>2]=161;c[v>>2]=0;c[Xa>>2]=0;c[x>>2]=0;c[y>>2]=0;if(c[(c[Oa>>2]|0)+36>>2]&32){Ra=c[Xa>>2]|0;c[Xa>>2]=Ra+1;c[y>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(Ra<<2)>>2]}if(c[(c[Oa>>2]|0)+36>>2]&16){Ra=c[Xa>>2]|0;c[Xa>>2]=Ra+1;c[x>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(Ra<<2)>>2]}if(c[Pa>>2]|0){c[bb>>2]=c[y>>2];c[y>>2]=c[x>>2];c[x>>2]=c[bb>>2]}if(c[y>>2]|0){c[z>>2]=c[c[y>>2]>>2];Ra=(XA(c[(c[z>>2]|0)+16>>2]|0)|0)!=0;h=c[ab>>2]|0;if(Ra){Ra=vx(h)|0;c[D>>2]=Ra;c[B>>2]=Ra;QD(c[ab>>2]|0,c[(c[z>>2]|0)+16>>2]|0,c[B>>2]|0,1);c[w>>2]=d[34432+((d[c[z>>2]>>0]|0)-38|1)>>0]}else{c[B>>2]=ZA(h,c[(c[z>>2]|0)+16>>2]|0,D)|0;RD(c[$a>>2]|0,c[y>>2]|0);c[w>>2]=d[34432+((d[c[z>>2]>>0]|0)-38)>>0]}jx(c[fb>>2]|0,c[w>>2]|0,c[Wa>>2]|0,c[G>>2]|0,c[B>>2]|0)|0;WA(c[ab>>2]|0,c[B>>2]|0,1);xx(c[ab>>2]|0,c[D>>2]|0)}else ix(c[fb>>2]|0,(c[Pa>>2]|0)!=0?53:57,c[Wa>>2]|0,c[G>>2]|0)|0;if(c[x>>2]|0){c[A>>2]=c[c[x>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[v>>2]=Ra;QD(c[ab>>2]|0,c[(c[A>>2]|0)+16>>2]|0,c[v>>2]|0,1);do if(!(XA(c[(c[A>>2]|0)+16>>2]|0)|0)){if((d[c[A>>2]>>0]|0)!=40?(d[c[A>>2]>>0]|0)!=38:0){qa=54;break}c[F>>2]=(c[Pa>>2]|0)!=0?39:41}else qa=54;while(0);if((qa|0)==54)c[F>>2]=(c[Pa>>2]|0)!=0?40:38;if(!(XA(c[(c[A>>2]|0)+16>>2]|0)|0))RD(c[$a>>2]|0,c[x>>2]|0)}c[E>>2]=wx(c[fb>>2]|0)|0;a[(c[$a>>2]|0)+45>>0]=(c[Pa>>2]|0)!=0?6:7;c[(c[$a>>2]|0)+48>>2]=c[Wa>>2];c[(c[$a>>2]|0)+52>>2]=c[E>>2];if((c[F>>2]|0)==161)break;Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Na>>2]=Ra;ix(c[fb>>2]|0,123,c[Wa>>2]|0,c[Na>>2]|0)|0;GB(c[ab>>2]|0,c[Wa>>2]|0,-1,c[Na>>2]|0);jx(c[fb>>2]|0,c[F>>2]|0,c[v>>2]|0,c[G>>2]|0,c[Na>>2]|0)|0;Jh(c[fb>>2]|0,83);break}h=c[Oa>>2]|0;if(!(c[(c[Oa>>2]|0)+36>>2]&512)){if(!(c[h+36>>2]&8192))if((d[(c[H>>2]|0)+36+1>>0]|0)>>>5&1){a[(c[$a>>2]|0)+45>>0]=-95;break}else{a[(c[$a>>2]|0)+45>>0]=a[34448+(c[Pa>>2]|0)>>0]|0;c[(c[$a>>2]|0)+48>>2]=c[Wa>>2];Ra=1+(ix(c[fb>>2]|0,d[34450+(c[Pa>>2]|0)>>0]|0,c[Wa>>2]|0,c[G>>2]|0)|0)|0;c[(c[$a>>2]|0)+52>>2]=Ra;a[(c[$a>>2]|0)+47>>0]=1;break}c[$>>2]=0;h=(c[ab>>2]|0)+40|0;Pa=c[h>>2]|0;c[h>>2]=Pa+1;c[P>>2]=Pa;Pa=(c[ab>>2]|0)+44|0;h=(c[Pa>>2]|0)+1|0;c[Pa>>2]=h;c[la>>2]=h;c[na>>2]=0;c[ma>>2]=0;c[Q>>2]=Wz(c[fb>>2]|0)|0;c[oa>>2]=0;c[_>>2]=0;c[ja>>2]=c[(c[H>>2]|0)+16>>2];c[bb>>2]=c[c[(c[Oa>>2]|0)+48>>2]>>2];c[ea>>2]=c[(c[bb>>2]|0)+28>>2];a[(c[$a>>2]|0)+45>>0]=72;c[(c[$a>>2]|0)+48>>2]=c[la>>2];h=c[Ta>>2]|0;a:do if((d[(c[Ta>>2]|0)+42>>0]|0)>1){c[X>>2]=(d[h+42>>0]|0)-(c[M>>2]|0)-1;c[ca>>2]=Ch(c[Qa>>2]|0,80+((c[X>>2]|0)*72|0)|0,0)|0;if(!(c[ca>>2]|0)){eb=Ua;gb=c[eb+4>>2]|0;fb=Sa;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=Sa;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;C=fb;i=hb;return gb|0}c[(c[ca>>2]|0)+4>>2]=(c[X>>2]|0)+1&255;c[c[ca>>2]>>2]=c[(c[ca>>2]|0)+4>>2];g=(c[ca>>2]|0)+8|0;h=c[H>>2]|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[Z>>2]=(c[(c[Ta>>2]|0)+4>>2]|0)+8;c[Ra>>2]=1;while(1){if((c[Ra>>2]|0)>(c[X>>2]|0))break a;g=(c[ca>>2]|0)+8+((c[Ra>>2]|0)*72|0)|0;h=(c[Z>>2]|0)+((d[(c[$a>>2]|0)+((c[Ra>>2]|0)*80|0)+44>>0]|0)*72|0)|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[Ra>>2]=(c[Ra>>2]|0)+1}}else c[ca>>2]=c[h+4>>2];while(0);if(!(e[(c[Ta>>2]|0)+40>>1]&16)){if(!(d[(c[ja>>2]|0)+42>>0]&32)){Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[na>>2]=Ra;ix(c[fb>>2]|0,79,0,c[na>>2]|0)|0}else{c[ga>>2]=Jj(c[ja>>2]|0)|0;Pa=(c[ab>>2]|0)+40|0;Ra=c[Pa>>2]|0;c[Pa>>2]=Ra+1;c[na>>2]=Ra;ix(c[fb>>2]|0,107,c[na>>2]|0,e[(c[ga>>2]|0)+50>>1]|0)|0;Vz(c[ab>>2]|0,c[ga>>2]|0)}Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[ma>>2]=Ra}c[S>>2]=ix(c[fb>>2]|0,76,0,c[la>>2]|0)|0;if((c[(c[cb>>2]|0)+12>>2]|0)>1){c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[(c[cb>>2]|0)+12>>2]|0))break;c[aa>>2]=c[(c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)>>2];do if((((c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)|0)!=(c[bb>>2]|0)?(c[(c[aa>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)+10>>1]&6|0)==0:0){if(!(e[(c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)+12>>1]&8191))break;c[aa>>2]=Iy(c[Qa>>2]|0,c[aa>>2]|0,0)|0;c[_>>2]=wz(c[Qa>>2]|0,c[_>>2]|0,c[aa>>2]|0)|0}while(0);c[U>>2]=(c[U>>2]|0)+1}if(c[_>>2]|0)c[_>>2]=Ev(c[ab>>2]|0,284,0,c[_>>2]|0,0)|0}b[pa>>1]=32|e[(c[Ta>>2]|0)+40>>1]&1024;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[ea>>2]|0)+12>>2]|0))break;c[da>>2]=(c[(c[ea>>2]|0)+20>>2]|0)+((c[V>>2]|0)*48|0);if(!((c[(c[da>>2]|0)+20>>2]|0)!=(c[Wa>>2]|0)?(e[(c[da>>2]|0)+12>>1]&1024|0)==0:0)){c[ba>>2]=c[c[da>>2]>>2];c[W>>2]=0;if((c[_>>2]|0)!=0?(c[(c[ba>>2]|0)+4>>2]&1|0)==0:0){c[(c[_>>2]|0)+12>>2]=c[ba>>2];c[ba>>2]=c[_>>2]}c[ia>>2]=qD(c[ab>>2]|0,c[ca>>2]|0,c[ba>>2]|0,0,0,b[pa>>1]|0,c[P>>2]|0)|0;if(c[ia>>2]|0){c[N>>2]=MD(c[ab>>2]|0,c[ca>>2]|0,(c[ia>>2]|0)+752|0,c[M>>2]|0,d[(c[$a>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[Ta>>2]|0)+40>>1]&16)){c[T>>2]=(c[V>>2]|0)==((c[(c[ea>>2]|0)+12>>2]|0)-1|0)?-1:c[V>>2]|0;if(!(d[(c[ja>>2]|0)+42>>0]&32)){c[ka>>2]=TA(c[ab>>2]|0,c[ja>>2]|0,-1,c[Wa>>2]|0,c[ma>>2]|0,0)|0;c[W>>2]=Ih(c[fb>>2]|0,63,c[na>>2]|0,0,c[ka>>2]|0,c[T>>2]|0)|0;break}c[fa>>2]=Jj(c[ja>>2]|0)|0;c[Y>>2]=e[(c[fa>>2]|0)+50>>1];c[ka>>2]=CA(c[ab>>2]|0,c[Y>>2]|0)|0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[Y>>2]|0))break;c[O>>2]=b[(c[(c[fa>>2]|0)+4>>2]|0)+(c[R>>2]<<1)>>1];XD(c[ab>>2]|0,c[ja>>2]|0,c[O>>2]|0,c[Wa>>2]|0,(c[ka>>2]|0)+(c[R>>2]|0)|0);c[R>>2]=(c[R>>2]|0)+1}if(c[T>>2]|0)c[W>>2]=Ih(c[fb>>2]|0,31,c[na>>2]|0,0,c[ka>>2]|0,c[Y>>2]|0)|0;do if((c[T>>2]|0)>=0){jx(c[fb>>2]|0,99,c[ka>>2]|0,c[Y>>2]|0,c[ma>>2]|0)|0;jx(c[fb>>2]|0,126,c[na>>2]|0,c[ma>>2]|0,0)|0;if(!(c[T>>2]|0))break;Jh(c[fb>>2]|0,16)}while(0);FA(c[ab>>2]|0,c[ka>>2]|0,c[Y>>2]|0)}while(0);ix(c[fb>>2]|0,14,c[la>>2]|0,c[Q>>2]|0)|0;if(c[W>>2]|0)Zz(c[fb>>2]|0,c[W>>2]|0);if(a[(c[ia>>2]|0)+46>>0]|0)c[oa>>2]=1;c[ha>>2]=c[(c[ia>>2]|0)+752+64>>2];do if(c[(c[ha>>2]|0)+36>>2]&512){if((c[V>>2]|0)!=0?(c[(c[ha>>2]|0)+24+8>>2]|0)!=(c[$>>2]|0):0){qa=193;break}if((d[(c[ja>>2]|0)+42>>0]&32|0)!=0?(a[(c[(c[ha>>2]|0)+24+8>>2]|0)+55>>0]&3|0)==2:0){qa=193;break}c[$>>2]=c[(c[ha>>2]|0)+24+8>>2]}else qa=193;while(0);if((qa|0)==193){qa=0;c[$>>2]=0}rD(c[ia>>2]|0)}}c[V>>2]=(c[V>>2]|0)+1}c[(c[$a>>2]|0)+56>>2]=c[$>>2];if(c[$>>2]|0)c[(c[$a>>2]|0)+8>>2]=c[P>>2];if(c[_>>2]|0){c[(c[_>>2]|0)+12>>2]=0;iv(c[Qa>>2]|0,c[_>>2]|0)}Pa=c[fb>>2]|0;Ra=c[S>>2]|0;YD(Pa,Ra,wx(c[fb>>2]|0)|0);Yz(c[fb>>2]|0,c[(c[$a>>2]|0)+12>>2]|0)|0;_z(c[fb>>2]|0,c[Q>>2]|0);if((d[(c[Ta>>2]|0)+42>>0]|0)>1)Tf(c[Qa>>2]|0,c[ca>>2]|0);if(c[oa>>2]|0)break;RD(c[$a>>2]|0,c[bb>>2]|0);break}b[xa>>1]=b[h+24>>1]|0;b[va>>1]=b[(c[Oa>>2]|0)+24+2>>1]|0;b[ya>>1]=b[(c[Oa>>2]|0)+24+4>>1]|0;c[Ea>>2]=0;c[Da>>2]=0;c[I>>2]=0;c[Ka>>2]=0;a[sa>>0]=0;a[ta>>0]=0;c[Ba>>2]=c[(c[Oa>>2]|0)+24+8>>2];c[Ma>>2]=c[(c[$a>>2]|0)+8>>2];if(((e[(c[Ta>>2]|0)+40>>1]&1|0)!=0?(a[(c[Ta>>2]|0)+43>>0]|0)>0:0)?(e[(c[Ba>>2]|0)+50>>1]|0)>(e[xa>>1]|0):0){a[sa>>0]=1;c[I>>2]=1}c[Xa>>2]=e[xa>>1];if(c[(c[Oa>>2]|0)+36>>2]&32){qa=c[Xa>>2]|0;c[Xa>>2]=qa+1;c[Ea>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(qa<<2)>>2];if((c[I>>2]|0)>(e[(c[Oa>>2]|0)+24+2>>1]|0))h=c[I>>2]|0;else h=e[(c[Oa>>2]|0)+24+2>>1]|0;c[I>>2]=h}do if(c[(c[Oa>>2]|0)+36>>2]&16){qa=c[Xa>>2]|0;c[Xa>>2]=qa+1;c[Da>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(qa<<2)>>2];if((c[I>>2]|0)>(e[(c[Oa>>2]|0)+24+4>>1]|0))h=c[I>>2]|0;else h=e[(c[Oa>>2]|0)+24+4>>1]|0;c[I>>2]=h;if(e[(c[Da>>2]|0)+10>>1]&256){pa=(c[ab>>2]|0)+44|0;qa=(c[pa>>2]|0)+1|0;c[pa>>2]=qa;c[(c[$a>>2]|0)+36>>2]=qa;ix(c[fb>>2]|0,76,1,c[(c[$a>>2]|0)+36>>2]|0)|0;qa=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+40>>2]=qa;qa=(c[$a>>2]|0)+36|0;c[qa>>2]=c[qa>>2]<<1;qa=(c[$a>>2]|0)+36|0;c[qa>>2]=c[qa>>2]|c[Pa>>2]^(d[(c[(c[Ba>>2]|0)+28>>2]|0)+(e[xa>>1]|0)>>0]|0)==1}if(!(c[Ea>>2]|0)){c[Xa>>2]=b[(c[(c[Ba>>2]|0)+4>>2]|0)+(e[xa>>1]<<1)>>1];h=c[Xa>>2]|0;if((c[Xa>>2]|0)>=0){if(!((c[Xa>>2]|0)==-2?1:(d[(c[(c[(c[Ba>>2]|0)+12>>2]|0)+4>>2]|0)+(h<<4)+12>>0]|0)==0))break}else if((h|0)!=-2)break;a[sa>>0]=1}}while(0);if((e[xa>>1]|0)<(e[(c[Ba>>2]|0)+50>>1]|0)?(c[Pa>>2]|0)==((d[(c[(c[Ba>>2]|0)+28>>2]|0)+(e[xa>>1]|0)>>0]|0)==0|0):0)qa=84;else qa=82;if(((qa|0)==82?(c[Pa>>2]|0)!=0:0)?(e[(c[Ba>>2]|0)+50>>1]|0)==(e[xa>>1]|0):0)qa=84;if((qa|0)==84){c[J>>2]=c[Da>>2];c[Da>>2]=c[Ea>>2];c[Ea>>2]=c[J>>2];a[K>>0]=a[sa>>0]|0;a[sa>>0]=a[ta>>0]|0;a[ta>>0]=a[K>>0]|0;a[L>>0]=b[va>>1];b[va>>1]=b[ya>>1]|0;b[ya>>1]=d[L>>0]|0}c[Ha>>2]=SD(c[ab>>2]|0,c[$a>>2]|0,c[Pa>>2]|0,c[I>>2]|0,La)|0;if((c[La>>2]|0)!=0?(e[ya>>1]|0)!=0:0)c[Ka>>2]=qh(c[Qa>>2]|0,(c[La>>2]|0)+(e[xa>>1]|0)|0)|0;c[ra>>2]=c[(c[$a>>2]|0)+16>>2];if(c[Ea>>2]|0)h=(e[(c[Ea>>2]|0)+12>>1]&40|0)!=0;else h=1;c[Ia>>2]=h&1;if(c[Da>>2]|0)h=(e[(c[Da>>2]|0)+12>>1]&40|0)!=0;else h=1;c[ua>>2]=h&1;if(c[Ea>>2]|0)h=1;else h=(e[xa>>1]|0)>0;c[Ja>>2]=h&1;c[wa>>2]=e[xa>>1];if(!(c[Ea>>2]|0)){if(a[sa>>0]|0){ix(c[fb>>2]|0,79,0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;c[Ia>>2]=0;c[Ja>>2]=1}}else{c[Fa>>2]=c[(c[c[Ea>>2]>>2]|0)+16>>2];QD(c[ab>>2]|0,c[Fa>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,e[va>>1]|0);TD(c[fb>>2]|0,c[$a>>2]|0,c[Ea>>2]|0);do if(!(e[(c[Ea>>2]|0)+10>>1]&0)){if(!(oB(c[Fa>>2]|0)|0))break;ix(c[fb>>2]|0,34,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,c[ra>>2]|0)|0}while(0);if(c[La>>2]|0)UD(c[Fa>>2]|0,e[va>>1]|0,(c[La>>2]|0)+(e[xa>>1]|0)|0);c[wa>>2]=(c[wa>>2]|0)+(e[va>>1]|0);if(!(XA(c[Fa>>2]|0)|0))RD(c[$a>>2]|0,c[Ea>>2]|0);else c[Ia>>2]=1;a[sa>>0]=0}VD(c[ab>>2]|0,c[Ha>>2]|0,(c[wa>>2]|0)-(d[sa>>0]|0)|0,c[La>>2]|0);if(!((e[(c[Oa>>2]|0)+42>>1]|0)>0?(c[wa>>2]|0)==(e[(c[Oa>>2]|0)+42>>1]|0):0)){c[Aa>>2]=d[34436+((c[Ja>>2]<<2)+(c[Ia>>2]<<1)+(c[Pa>>2]|0))>>0];Ih(c[fb>>2]|0,c[Aa>>2]|0,c[Ma>>2]|0,c[ra>>2]|0,c[Ha>>2]|0,c[wa>>2]|0)|0}c[wa>>2]=e[xa>>1];do if(c[Da>>2]|0){c[Ga>>2]=c[(c[c[Da>>2]>>2]|0)+16>>2];GA(c[ab>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,1);QD(c[ab>>2]|0,c[Ga>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,e[ya>>1]|0);TD(c[fb>>2]|0,c[$a>>2]|0,c[Da>>2]|0);do if(!(e[(c[Da>>2]|0)+10>>1]&0)){if(!(oB(c[Ga>>2]|0)|0))break;ix(c[fb>>2]|0,34,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,c[ra>>2]|0)|0}while(0);if(c[Ka>>2]|0){UD(c[Ga>>2]|0,e[ya>>1]|0,c[Ka>>2]|0);VD(c[ab>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,e[ya>>1]|0,c[Ka>>2]|0)}c[wa>>2]=(c[wa>>2]|0)+(e[ya>>1]|0);if(!(XA(c[Ga>>2]|0)|0)){RD(c[$a>>2]|0,c[Da>>2]|0);break}else{c[ua>>2]=1;break}}else{if(!(a[ta>>0]|0))break;ix(c[fb>>2]|0,79,0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0)|0;c[ua>>2]=0;c[wa>>2]=(c[wa>>2]|0)+1}while(0);Tf(c[Qa>>2]|0,c[La>>2]|0);Tf(c[Qa>>2]|0,c[Ka>>2]|0);Qa=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+52>>2]=Qa;if(c[wa>>2]|0){c[Aa>>2]=d[34444+((c[Pa>>2]<<1)+(c[ua>>2]|0))>>0];Ih(c[fb>>2]|0,c[Aa>>2]|0,c[Ma>>2]|0,c[ra>>2]|0,c[Ha>>2]|0,c[wa>>2]|0)|0}do if(!(c[za>>2]|0)){if(!(d[(c[(c[Ba>>2]|0)+12>>2]|0)+42>>0]&32))if(e[(c[Ta>>2]|0)+40>>1]&1024){Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Na>>2]=Ra;ix(c[fb>>2]|0,129,c[Ma>>2]|0,c[Na>>2]|0)|0;GB(c[ab>>2]|0,c[Wa>>2]|0,-1,c[Na>>2]|0);jx(c[fb>>2]|0,33,c[Wa>>2]|0,0,c[Na>>2]|0)|0;break}else{WD(c[Ta>>2]|0,c[Ba>>2]|0,c[Wa>>2]|0,c[Ma>>2]|0);break}if((c[Wa>>2]|0)==(c[Ma>>2]|0))break;c[Ca>>2]=Jj(c[(c[Ba>>2]|0)+12>>2]|0)|0;c[Na>>2]=CA(c[ab>>2]|0,e[(c[Ca>>2]|0)+50>>1]|0)|0;c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(e[(c[Ca>>2]|0)+50>>1]|0))break;c[Ra>>2]=(OA(c[Ba>>2]|0,b[(c[(c[Ca>>2]|0)+4>>2]|0)+(c[Xa>>2]<<1)>>1]|0)|0)<<16>>16;jx(c[fb>>2]|0,96,c[Ma>>2]|0,c[Ra>>2]|0,(c[Na>>2]|0)+(c[Xa>>2]|0)|0)|0;c[Xa>>2]=(c[Xa>>2]|0)+1}Ih(c[fb>>2]|0,30,c[Wa>>2]|0,c[Va>>2]|0,c[Na>>2]|0,e[(c[Ca>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[Oa>>2]|0)+36>>2]&4096)){h=(c[$a>>2]|0)+45|0;if(c[Pa>>2]|0){a[h>>0]=6;break}else{a[h>>0]=7;break}}else a[(c[$a>>2]|0)+45>>0]=-95;while(0);c[(c[$a>>2]|0)+48>>2]=c[Ma>>2];a[(c[$a>>2]|0)+46>>0]=(c[(c[Oa>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[Oa>>2]|0)+36>>2]&15)break;a[(c[$a>>2]|0)+47>>0]=1}while(0);c[bb>>2]=c[(c[cb>>2]|0)+20>>2];c[Xa>>2]=c[(c[cb>>2]|0)+12>>2];while(1){if((c[Xa>>2]|0)<=0)break;c[eb>>2]=0;do if(!(e[(c[bb>>2]|0)+10>>1]&6)){Qa=(c[bb>>2]|0)+40|0;Ra=(c[$a>>2]|0)+72|0;if((c[Qa>>2]&c[Ra>>2]|0)!=0?1:(c[Qa+4>>2]&c[Ra+4>>2]|0)!=0){a[(c[Ta>>2]|0)+46>>0]=1;break}c[Za>>2]=c[c[bb>>2]>>2];if((c[c[$a>>2]>>2]|0)!=0?(c[(c[Za>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[bb>>2]|0)+10>>1]&512){c[gb>>2]=c[(c[$a>>2]|0)+36>>2];c[eb>>2]=Sz(c[fb>>2]|0,(c[gb>>2]&1|0)!=0?22:21,(c[gb>>2]|0)>>>1)|0}iB(c[ab>>2]|0,c[Za>>2]|0,c[Va>>2]|0,16);if(c[eb>>2]|0)Zz(c[fb>>2]|0,c[eb>>2]|0);Ra=(c[bb>>2]|0)+10|0;b[Ra>>1]=e[Ra>>1]|4}while(0);c[Xa>>2]=(c[Xa>>2]|0)+-1;c[bb>>2]=(c[bb>>2]|0)+48}c[bb>>2]=c[(c[cb>>2]|0)+20>>2];c[Xa>>2]=c[(c[cb>>2]|0)+12>>2];while(1){if((c[Xa>>2]|0)<=0)break;if(((((((e[(c[bb>>2]|0)+10>>1]&6|0)==0?(e[(c[bb>>2]|0)+12>>1]&130|0)!=0:0)?(e[(c[bb>>2]|0)+12>>1]&2048|0)!=0:0)?(c[(c[bb>>2]|0)+20>>2]|0)==(c[Wa>>2]|0):0)?(c[c[$a>>2]>>2]|0)==0:0)?(c[_a>>2]=c[c[bb>>2]>>2],gb=Ua,c[Ya>>2]=ZD(c[cb>>2]|0,c[Wa>>2]|0,c[(c[bb>>2]|0)+28>>2]|0,c[gb>>2]|0,c[gb+4>>2]|0,131,0)|0,(c[Ya>>2]|0)!=0):0)?(e[(c[Ya>>2]|0)+10>>1]&4|0)==0:0){g=db;h=c[c[Ya>>2]>>2]|0;j=g+48|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[db+12>>2]=c[(c[_a>>2]|0)+12>>2];iB(c[ab>>2]|0,db,c[Va>>2]|0,16)}c[Xa>>2]=(c[Xa>>2]|0)+-1;c[bb>>2]=(c[bb>>2]|0)+48}b:do if(c[c[$a>>2]>>2]|0){gb=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+28>>2]=gb;ix(c[fb>>2]|0,76,1,c[c[$a>>2]>>2]|0)|0;EC(c[ab>>2]|0);c[bb>>2]=c[(c[cb>>2]|0)+20>>2];c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(c[(c[cb>>2]|0)+12>>2]|0))break b;if((e[(c[bb>>2]|0)+10>>1]&6|0)==0?(fb=(c[bb>>2]|0)+40|0,gb=(c[$a>>2]|0)+72|0,!((c[fb>>2]&c[gb>>2]|0)!=0?1:(c[fb+4>>2]&c[gb+4>>2]|0)!=0)):0){iB(c[ab>>2]|0,c[c[bb>>2]>>2]|0,c[Va>>2]|0,16);gb=(c[bb>>2]|0)+10|0;b[gb>>1]=e[gb>>1]|4}c[Xa>>2]=(c[Xa>>2]|0)+1;c[bb>>2]=(c[bb>>2]|0)+48}}while(0);eb=(c[$a>>2]|0)+72|0;gb=c[eb+4>>2]|0;fb=Sa;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=Sa;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;C=fb;i=hb;return gb|0}function OD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){b=6;break}a=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){b=4;break}c[f>>2]=a+1}if((b|0)==4){e=WR(1,0,a|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=C;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}else if((b|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}return 0}function PD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=i;i=i+128|0;z=S+120|0;A=S+116|0;B=S+112|0;C=S+108|0;D=S+104|0;E=S+100|0;m=S+96|0;P=S+92|0;Q=S+88|0;L=S+84|0;G=S+80|0;M=S+76|0;N=S+72|0;O=S+68|0;H=S+64|0;s=S+60|0;F=S+56|0;y=S+52|0;n=S+48|0;w=S+44|0;v=S+40|0;x=S+36|0;u=S+32|0;o=S+28|0;q=S+24|0;p=S+20|0;t=S+16|0;r=S+12|0;J=S+8|0;K=S+4|0;I=S;c[A>>2]=f;c[B>>2]=g;c[C>>2]=h;c[D>>2]=j;c[E>>2]=k;c[m>>2]=l;c[P>>2]=c[c[B>>2]>>2];c[Q>>2]=c[(c[A>>2]|0)+8>>2];do if((d[c[P>>2]>>0]|0)!=37?(d[c[P>>2]>>0]|0)!=29:0){if((d[c[P>>2]>>0]|0)==34){c[L>>2]=c[m>>2];ix(c[Q>>2]|0,79,0,c[L>>2]|0)|0;break}c[G>>2]=5;c[O>>2]=c[(c[C>>2]|0)+64>>2];c[s>>2]=0;c[F>>2]=0;if(((c[(c[O>>2]|0)+36>>2]&1024|0)==0?(c[(c[O>>2]|0)+24+8>>2]|0)!=0:0)?(d[(c[(c[(c[O>>2]|0)+24+8>>2]|0)+28>>2]|0)+(c[D>>2]|0)>>0]|0)!=0:0)c[E>>2]=((c[E>>2]|0)!=0^1)&1;c[L>>2]=c[m>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[D>>2]|0))break;if((c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]|0)!=0?(c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0):0){R=14;break}c[H>>2]=(c[H>>2]|0)+1}if((R|0)==14){RD(c[C>>2]|0,c[B>>2]|0);c[z>>2]=c[m>>2];R=c[z>>2]|0;i=S;return R|0}c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>=(e[(c[O>>2]|0)+40>>1]|0))break;if((c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]|0)!=0?(c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0):0)c[s>>2]=(c[s>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}if((c[(c[P>>2]|0)+4>>2]&2048|0)!=0?(c[c[c[(c[P>>2]|0)+20>>2]>>2]>>2]|0)!=1:0){c[y>>2]=c[(c[P>>2]|0)+20>>2];c[n>>2]=c[c[A>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[v>>2]=c[(c[(c[P>>2]|0)+12>>2]|0)+20>>2];c[x>>2]=0;c[u>>2]=0;c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>=(e[(c[O>>2]|0)+40>>1]|0))break;if((c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0)){c[o>>2]=(c[(c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]|0)+24>>2]|0)-1;c[q>>2]=Iy(c[n>>2]|0,c[(c[(c[w>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[p>>2]=Iy(c[n>>2]|0,c[(c[(c[v>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[x>>2]=Tv(c[A>>2]|0,c[x>>2]|0,c[q>>2]|0)|0;c[u>>2]=Tv(c[A>>2]|0,c[u>>2]|0,c[p>>2]|0)|0}c[H>>2]=(c[H>>2]|0)+1}if(!(a[(c[n>>2]|0)+69>>0]|0)){c[t>>2]=c[(c[P>>2]|0)+12>>2];a:do if(c[(c[y>>2]|0)+44>>2]|0){c[r>>2]=c[(c[y>>2]|0)+44>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[c[r>>2]>>2]|0))break a;b[(c[(c[r>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)+16>>1]=0;c[H>>2]=(c[H>>2]|0)+1}}while(0);m=c[u>>2]|0;if((c[c[u>>2]>>2]|0)==1)c[(c[P>>2]|0)+12>>2]=c[c[m+4>>2]>>2];else{c[(c[t>>2]|0)+20>>2]=m;c[F>>2]=sh(c[c[A>>2]>>2]|0,c[s>>2]<<2,0)|0}c[c[y>>2]>>2]=c[x>>2];c[G>>2]=nB(c[A>>2]|0,c[P>>2]|0,4,0,c[F>>2]|0)|0;c[c[y>>2]>>2]=c[w>>2];c[(c[t>>2]|0)+20>>2]=c[v>>2];c[(c[P>>2]|0)+12>>2]=c[t>>2]}ev(c[c[A>>2]>>2]|0,c[u>>2]|0);ev(c[c[A>>2]>>2]|0,c[x>>2]|0)}else c[G>>2]=nB(c[A>>2]|0,c[P>>2]|0,4,0,0)|0;if((c[G>>2]|0)==4)c[E>>2]=((c[E>>2]|0)!=0^1)&1;c[M>>2]=c[(c[P>>2]|0)+28>>2];ix(c[Q>>2]|0,(c[E>>2]|0)!=0?53:57,c[M>>2]|0,0)|0;y=(c[O>>2]|0)+36|0;c[y>>2]=c[y>>2]|2048;if(!(c[(c[C>>2]|0)+56>>2]|0)){y=Wz(c[Q>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=y}c[H>>2]=c[(c[C>>2]|0)+56>>2];y=(c[C>>2]|0)+56|0;c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0);y=Px(c[c[A>>2]>>2]|0,c[(c[C>>2]|0)+56+4>>2]|0,(c[(c[C>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[C>>2]|0)+56+4>>2]=y;c[N>>2]=c[(c[C>>2]|0)+56+4>>2];b:do if(c[N>>2]|0){c[J>>2]=0;c[N>>2]=(c[N>>2]|0)+((c[H>>2]|0)*12|0);c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>=(e[(c[O>>2]|0)+40>>1]|0))break b;if((c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0)){c[K>>2]=(c[L>>2]|0)+(c[H>>2]|0)-(c[D>>2]|0);if((c[G>>2]|0)==1){y=ix(c[Q>>2]|0,123,c[M>>2]|0,c[K>>2]|0)|0;c[(c[N>>2]|0)+4>>2]=y}else{if(c[F>>2]|0){m=c[J>>2]|0;c[J>>2]=m+1;m=c[(c[F>>2]|0)+(m<<2)>>2]|0}else m=0;c[I>>2]=m;y=jx(c[Q>>2]|0,96,c[M>>2]|0,c[I>>2]|0,c[K>>2]|0)|0;c[(c[N>>2]|0)+4>>2]=y}Sz(c[Q>>2]|0,34,c[K>>2]|0)|0;if((c[H>>2]|0)==(c[D>>2]|0)){c[c[N>>2]>>2]=c[M>>2];a[(c[N>>2]|0)+8>>0]=(c[E>>2]|0)!=0?4:5}else a[(c[N>>2]|0)+8>>0]=-95;c[N>>2]=(c[N>>2]|0)+12}c[H>>2]=(c[H>>2]|0)+1}}else c[(c[C>>2]|0)+56>>2]=0;while(0);Tf(c[c[A>>2]>>2]|0,c[F>>2]|0)}else R=3;while(0);if((R|0)==3)c[L>>2]=SA(c[A>>2]|0,c[(c[P>>2]|0)+16>>2]|0,c[m>>2]|0)|0;RD(c[C>>2]|0,c[B>>2]|0);c[z>>2]=c[L>>2];R=c[z>>2]|0;i=S;return R|0}function QD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;l=o+8|0;k=o+4|0;m=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(XA(c[g>>2]|0)|0)){RA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=o;return}if(c[(c[g>>2]|0)+4>>2]&2048){c[n>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=dB(c[f>>2]|0,c[g>>2]|0,0,0)|0;jx(c[n>>2]|0,84,c[l>>2]|0,c[h>>2]|0,(c[j>>2]|0)-1|0)|0;i=o;return}c[m>>2]=c[(c[g>>2]|0)+20>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;RA(c[f>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,(c[h>>2]|0)+(c[k>>2]|0)|0);c[k>>2]=(c[k>>2]|0)+1}i=o;return}function RD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;c[k>>2]=0;while(1){if(!(c[j>>2]|0)){h=14;break}if((e[(c[j>>2]|0)+10>>1]|0)&4){h=14;break}if((c[c[h>>2]>>2]|0)!=0?(c[(c[c[j>>2]>>2]|0)+4>>2]&1|0)==0:0){h=14;break}f=(c[h>>2]|0)+72|0;g=(c[j>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){h=14;break}if((c[k>>2]|0)!=0?((e[(c[j>>2]|0)+10>>1]|0)&1024|0)!=0:0){g=(c[j>>2]|0)+10|0;b[g>>1]=e[g>>1]|0|512}else{g=(c[j>>2]|0)+10|0;b[g>>1]=e[g>>1]|0|4}if((c[(c[j>>2]|0)+16>>2]|0)<0){h=14;break}c[j>>2]=(c[(c[(c[j>>2]|0)+4>>2]|0)+20>>2]|0)+((c[(c[j>>2]|0)+16>>2]|0)*48|0);g=(c[j>>2]|0)+14|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[j>>2]|0)+14>>0]|0){h=14;break}c[k>>2]=(c[k>>2]|0)+1}if((h|0)==14){i=l;return}}function SD(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+80|0;m=A+60|0;n=A+56|0;o=A+52|0;C=A+48|0;p=A+44|0;r=A+66|0;l=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;q=A+24|0;x=A+20|0;s=A+16|0;z=A+12|0;k=A+8|0;w=A+4|0;u=A;c[m>>2]=d;c[n>>2]=f;c[o>>2]=g;c[C>>2]=h;c[p>>2]=j;c[y>>2]=c[(c[m>>2]|0)+8>>2];c[t>>2]=c[(c[n>>2]|0)+64>>2];b[r>>1]=b[(c[t>>2]|0)+24>>1]|0;b[l>>1]=b[(c[t>>2]|0)+42>>1]|0;c[B>>2]=c[(c[t>>2]|0)+24+8>>2];c[x>>2]=(c[(c[m>>2]|0)+44>>2]|0)+1;c[s>>2]=(e[(c[t>>2]|0)+24>>1]|0)+(c[C>>2]|0);j=(c[m>>2]|0)+44|0;c[j>>2]=(c[j>>2]|0)+(c[s>>2]|0);j=c[c[m>>2]>>2]|0;c[z>>2]=qh(j,CC(c[c[m>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[l>>1]|0){c[k>>2]=c[(c[n>>2]|0)+8>>2];Sz(c[y>>2]|0,(c[o>>2]|0)!=0?53:57,c[k>>2]|0)|0;c[q>>2]=fx(c[y>>2]|0,13)|0;C=Ih(c[y>>2]|0,(c[o>>2]|0)!=0?23:26,c[k>>2]|0,0,c[x>>2]|0,e[l>>1]|0)|0;c[(c[n>>2]|0)+20>>2]=C;Zz(c[y>>2]|0,c[q>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(e[l>>1]|0))break a;jx(c[y>>2]|0,96,c[k>>2]|0,c[q>>2]|0,(c[x>>2]|0)+(c[q>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+1}}while(0);c[q>>2]=e[l>>1];while(1){if((c[q>>2]|0)>=(e[r>>1]|0))break;c[v>>2]=c[(c[(c[t>>2]|0)+48>>2]|0)+(c[q>>2]<<2)>>2];c[w>>2]=PD(c[m>>2]|0,c[v>>2]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,(c[x>>2]|0)+(c[q>>2]|0)|0)|0;do if((c[w>>2]|0)!=((c[x>>2]|0)+(c[q>>2]|0)|0))if((c[s>>2]|0)==1){xx(c[m>>2]|0,c[x>>2]|0);c[x>>2]=c[w>>2];break}else{ix(c[y>>2]|0,85,c[w>>2]|0,(c[x>>2]|0)+(c[q>>2]|0)|0)|0;break}while(0);g=c[v>>2]|0;if(e[(c[v>>2]|0)+12>>1]&1){if((c[z>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&2048|0)!=0:0)a[(c[z>>2]|0)+(c[q>>2]|0)>>0]=65}else if(!(e[g+12>>1]&256)){c[u>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];if((e[(c[v>>2]|0)+10>>1]&2048|0)==0?(oB(c[u>>2]|0)|0)!=0:0)ix(c[y>>2]|0,34,(c[x>>2]|0)+(c[q>>2]|0)|0,c[(c[n>>2]|0)+12>>2]|0)|0;if(c[z>>2]|0){if(((rB(c[u>>2]|0,a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[z>>2]|0)+(c[q>>2]|0)>>0]=65;if(cE(c[u>>2]|0,a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)|0)a[(c[z>>2]|0)+(c[q>>2]|0)>>0]=65}}c[q>>2]=(c[q>>2]|0)+1}c[c[p>>2]>>2]=c[z>>2];i=A;return c[x>>2]|0}function TD(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;l=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[l>>2]=f;if(!((e[(c[l>>2]|0)+10>>1]|0)&256)){i=k;return}c[j>>2]=eA(c[g>>2]|0,-1)|0;c[(c[j>>2]|0)+12>>2]=(c[(c[h>>2]|0)+36>>2]|0)>>>1;a[(c[j>>2]|0)+3>>0]=c[(c[h>>2]|0)+36>>2]&1;i=k;return}function UD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[g>>2]|0))break;c[k>>2]=pB(c[f>>2]|0,c[j>>2]|0)|0;if(!(((rB(c[k>>2]|0,a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)|0)<<24>>24|0)!=65?(cE(c[k>>2]|0,a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)|0)==0:0))a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=65;c[j>>2]=(c[j>>2]|0)+1}i=l;return}function VD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[k>>2]|0)){i=m;return}while(1){if((c[j>>2]|0)<=0)break;if((a[c[k>>2]>>0]|0)!=65)break;c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}while(1){if((c[j>>2]|0)>1)e=(a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]|0)==65;else e=0;d=c[j>>2]|0;if(!e)break;c[j>>2]=d+-1}if((d|0)<=0){i=m;return}mx(c[l>>2]|0,98,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0,c[j>>2]|0)|0;WA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=m;return}function WD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+48|0;p=o+32|0;h=o+28|0;q=o+24|0;r=o+20|0;l=o+16|0;n=o+12|0;k=o+8|0;m=o+4|0;j=o;c[p>>2]=a;c[h>>2]=d;c[q>>2]=f;c[r>>2]=g;c[l>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2];jx(c[n>>2]|0,128,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+40>>1]&32)){i=o;return}f=c[l>>2]|0;if(c[(c[l>>2]|0)+124>>2]|0)f=c[f+124>>2]|0;if(c[f+92>>2]|0){i=o;return}c[m>>2]=c[(c[h>>2]|0)+12>>2];c[j>>2]=sh(c[c[l>>2]>>2]|0,(b[(c[m>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){i=o;return}c[c[j>>2]>>2]=b[(c[m>>2]|0)+34>>1];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((e[(c[h>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)+1<<2)>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}Mh(c[n>>2]|0,-1,c[j>>2]|0,-15);i=o;return}function XD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;l=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[h>>2]=f;c[j>>2]=TA(c[g>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}ix(c[(c[g>>2]|0)+8>>2]|0,85,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function YD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(eA(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;i=e;return}function ZD(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+144|0;n=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;k=q;l=q+116|0;r=q+112|0;p=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=k;c[a>>2]=f;c[a+4>>2]=g;c[l>>2]=h;c[r>>2]=j;c[p>>2]=0;c[o>>2]=_D(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;c[l>>2]=c[l>>2]&130;while(1){if(!(c[o>>2]|0)){f=10;break}t=(c[o>>2]|0)+32|0;u=k;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[o>>2]|0)+12>>1]|0)&c[l>>2]|0)!=0:0){f=6;break}if(!(c[p>>2]|0))c[p>>2]=c[o>>2]}c[o>>2]=$D(m)|0}if((f|0)==6){c[n>>2]=c[o>>2];u=c[n>>2]|0;i=q;return u|0}else if((f|0)==10){c[n>>2]=c[p>>2];u=c[n>>2]|0;i=q;return u|0}return 0}function _D(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+24|0;r=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=d;c[r>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=0;c[c[k>>2]>>2]=c[r>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=0;if(c[o>>2]|0){c[p>>2]=c[m>>2];c[m>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1];if((c[m>>2]|0)==-2)c[(c[k>>2]|0)+12>>2]=c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];if((c[m>>2]|0)==(b[(c[(c[o>>2]|0)+12>>2]|0)+32>>1]|0))c[m>>2]=-1}if((c[o>>2]|0)!=0&(c[m>>2]|0)>=0){a[(c[k>>2]|0)+16>>0]=a[(c[(c[(c[o>>2]|0)+12>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+13>>0]|0;c[(c[k>>2]|0)+8>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+(c[p>>2]<<2)>>2]}else{a[(c[k>>2]|0)+16>>0]=0;c[(c[k>>2]|0)+8>>2]=0}c[(c[k>>2]|0)+20>>2]=c[n>>2];c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+72>>1]=c[m>>2];a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+18>>0]=1;r=$D(c[k>>2]|0)|0;i=q;return r|0}function $D(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;p=s+32|0;h=s+28|0;g=s+40|0;n=s+24|0;m=s+20|0;r=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;l=s;c[p>>2]=f;c[q>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){g=40;break}c[h>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[g>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[g>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){g=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[r>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[r>>2]|0)+20>>2]|0)==(c[h>>2]|0)?(c[(c[r>>2]|0)+28>>2]|0)==(b[g>>1]|0):0){if((b[g>>1]|0)==-2?(Ky(c[(c[c[r>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?(c[(c[c[r>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((e[(c[r>>2]|0)+12>>1]&2048|0)!=0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=ky(c[(c[c[r>>2]>>2]|0)+16>>2]|0)|0,c[n>>2]=f,(d[f>>0]|0)==152):0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]|0)==(c[(c[n>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]|0)==(b[(c[n>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]=c[(c[n>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]=b[(c[n>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[r>>2]|0)+12>>1]&c[(c[p>>2]|0)+20>>2]){if((c[(c[p>>2]|0)+8>>2]|0)!=0?(e[(c[r>>2]|0)+12>>1]&256|0)==0:0){c[l>>2]=c[c[c[m>>2]>>2]>>2];c[n>>2]=c[c[r>>2]>>2];if(!(aE(c[n>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[k>>2]=sB(c[l>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[c[l>>2]>>2]|0)+8>>2];if(ig(c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[r>>2]|0)+12>>1]&130)){g=36;break a}f=c[(c[c[r>>2]>>2]|0)+16>>2]|0;c[n>>2]=f;if((d[f>>0]|0)!=152){g=36;break a}if((c[(c[n>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){g=36;break a}if((b[(c[n>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){g=36;break a}}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[q>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[q>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((g|0)==5){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}else if((g|0)==36){c[(c[p>>2]|0)+24>>2]=(c[q>>2]|0)+1;c[o>>2]=c[r>>2];r=c[o>>2]|0;i=s;return r|0}else if((g|0)==40){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function aE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;j=g;f=g+9|0;h=g+8|0;c[j>>2]=b;a[f>>0]=d;a[h>>0]=bE(c[j>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}i=g;return c[e>>2]|0}function bE(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=ey(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=rB(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(c[b+4>>2]&2048){a[e>>0]=rB(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;i=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;i=f;return e|0}function cE(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+4|0;g=l;h=l+9|0;j=l+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[k>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)e=1;else e=(d[c[g>>2]>>0]|0)==155;f=c[g>>2]|0;if(!e)break;c[g>>2]=c[f+12>>2]}a[j>>0]=a[f>>0]|0;if((d[j>>0]|0)==157)a[j>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 134:{if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 132:{if((a[h>>0]|0)==69)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 97:{c[k>>2]=(a[h>>0]|0)==66&1;break a}case 133:{c[k>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;else f=0;c[k>>2]=f&1;break a}default:{c[k>>2]=0;break a}}}while(0);i=l;return c[k>>2]|0}function dE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;sA(a,b,Jf(c[e>>2]|0)|0);i=d;return}function eE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p;f=p+24|0;g=p+20|0;m=p+16|0;k=p+30|0;l=p+28|0;h=p+12|0;j=p+8|0;o=p+4|0;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[(c[g>>2]|0)+24+8>>2];b[k>>1]=b[(c[g>>2]|0)+24>>1]|0;b[l>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[k>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){i=p;return}sA(c[f>>2]|0,34684,2);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[k>>1]|0|0))break;c[o>>2]=fE(c[m>>2]|0,c[h>>2]|0)|0;if(c[h>>2]|0)sA(c[f>>2]|0,34687,5);d=c[f>>2]|0;a=(c[h>>2]|0)>=(e[l>>1]|0|0)?34693:34698;c[n>>2]=c[o>>2];rA(d,a,n);c[h>>2]=(c[h>>2]|0)+1}c[j>>2]=c[h>>2];if(c[(c[g>>2]|0)+36>>2]&32){gE(c[f>>2]|0,c[m>>2]|0,e[(c[g>>2]|0)+24+2>>1]|0,c[j>>2]|0,c[h>>2]|0,34615);c[h>>2]=1}if(c[(c[g>>2]|0)+36>>2]&16)gE(c[f>>2]|0,c[m>>2]|0,e[(c[g>>2]|0)+24+4>>1]|0,c[j>>2]|0,c[h>>2]|0,34617);sA(c[f>>2]|0,34706,1);i=p;return}function fE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=34712;a=c[e>>2]|0;i=h;return a|0}if((c[g>>2]|0)==-1){c[e>>2]=24745;a=c[e>>2]|0;i=h;return a|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2];a=c[e>>2]|0;i=h;return a|0}return 0}function gE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;p=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[p>>2]=f;c[m>>2]=g;if(c[p>>2]|0)sA(c[h>>2]|0,34687,5);if((c[k>>2]|0)>1)sA(c[h>>2]|0,34708,1);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;if(c[n>>2]|0)sA(c[h>>2]|0,34710,1);p=c[h>>2]|0;dE(p,fE(c[j>>2]|0,(c[l>>2]|0)+(c[n>>2]|0)|0)|0);c[n>>2]=(c[n>>2]|0)+1}if((c[k>>2]|0)>1)sA(c[h>>2]|0,34706,1);sA(c[h>>2]|0,c[m>>2]|0,1);if((c[k>>2]|0)>1)sA(c[h>>2]|0,34708,1);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;if(c[n>>2]|0)sA(c[h>>2]|0,34710,1);sA(c[h>>2]|0,20275,1);c[n>>2]=(c[n>>2]|0)+1}if((c[k>>2]|0)<=1){i=o;return}sA(c[h>>2]|0,34706,1);i=o;return}function hE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=xB(c[f>>2]|0,3,c[e>>2]|0)|0;i=d;return a|0}function iE(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n;m=n+20|0;c[j>>2]=b;c[k>>2]=d;b=l;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[j>>2]|0)+20>>2]|0)!=(c[(c[k>>2]|0)+44>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if(!((e[(c[j>>2]|0)+12>>1]|0)&130)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}d=(c[j>>2]|0)+32|0;b=l;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if((c[(c[j>>2]|0)+28>>2]|0)<0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+28>>2]<<4)+13>>0]|0;if(aE(c[c[j>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;b=c[h>>2]|0;i=n;return b|0}else{c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}return 0}function jE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=d;c[k>>2]=f;if((e[(c[j>>2]|0)+44>>1]|0|0)>=(c[k>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[k>>2]=(c[k>>2]|0)+7&-8;c[l>>2]=Vw(c[h>>2]|0,c[k>>2]<<2,0)|0;if(!(c[l>>2]|0)){c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}TR(c[l>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[j>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[j>>2]|0)+48>>2]|0)!=((c[j>>2]|0)+56|0))Tf(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0);c[(c[j>>2]|0)+48>>2]=c[l>>2];b[(c[j>>2]|0)+44>>1]=c[k>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function kE(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;n=m+20|0;g=m+24|0;o=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[n>>2]=a;b[g>>1]=d;c[o>>2]=e;c[h>>2]=f;c[j>>2]=56+((b[g>>1]<<2)+7&-8)+(((b[g>>1]|0)+1<<1)+(b[g>>1]<<1)+(b[g>>1]|0)+7&-8);f=(c[j>>2]|0)+(c[o>>2]|0)|0;c[k>>2]=sh(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){o=c[k>>2]|0;i=m;return o|0}c[l>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+32>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]<<2)+7&-8);c[(c[k>>2]|0)+8>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]|0)+1<<1);c[(c[k>>2]|0)+4>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(b[g>>1]<<1);c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+52>>1]=b[g>>1]|0;b[(c[k>>2]|0)+50>>1]=(b[g>>1]|0)-1;c[c[h>>2]>>2]=(c[k>>2]|0)+(c[j>>2]|0);o=c[k>>2]|0;i=m;return o|0}function lE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j+16|0;h=j;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){g=e;c[g>>2]=0;c[g+4>>2]=0;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}if((d[c[g>>2]>>0]|0|0)==152){g=OD(c[f>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0;f=h;c[f>>2]=g;c[f+4>>2]=C;f=h;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}if(c[(c[g>>2]|0)+16>>2]|0){b=lE(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;a=C}else{b=0;a=0}k=h;c[k>>2]=b;c[k+4>>2]=a;if(c[(c[g>>2]|0)+12>>2]|0){b=lE(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=h;a=c[l+4>>2]|C;k=h;c[k>>2]=c[l>>2]|b;c[k+4>>2]=a}if(!(c[(c[g>>2]|0)+4>>2]&2048)){if(c[(c[g>>2]|0)+20>>2]|0){g=KD(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;k=c[f+4>>2]|C;l=h;c[l>>2]=c[f>>2]|g;c[l+4>>2]=k}}else{g=mE(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;k=c[f+4>>2]|C;l=h;c[l>>2]=c[f>>2]|g;c[l+4>>2]=k}l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function mE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;g=j;h=j+12|0;f=j+8|0;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+28>>2];k=KD(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=KD(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;l=KD(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|l;c[a+4>>2]=b;a=lE(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0;b=g;l=c[b+4>>2]|C;k=g;c[k>>2]=c[b>>2]|a;c[k+4>>2]=l;k=lE(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=mE(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=lE(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+48>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+48>>2]}l=g;C=c[l+4>>2]|0;i=j;return c[l>>2]|0}function nE(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[34774+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[34774+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}return 0}function oE(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+160|0;Z=ca+149|0;n=ca+124|0;o=ca+120|0;p=ca+116|0;q=ca+140|0;r=ca+138|0;s=ca+112|0;t=ca+108|0;W=ca+148|0;U=ca+147|0;V=ca+146|0;E=ca+145|0;w=ca+144|0;D=ca+143|0;y=ca+136|0;I=ca+134|0;H=ca+132|0;J=ca+130|0;B=ca+104|0;_=ca+100|0;F=ca+96|0;A=ca+92|0;z=ca+88|0;P=ca+84|0;R=ca+80|0;Q=ca+76|0;N=ca+72|0;O=ca+68|0;v=ca+64|0;aa=ca+40|0;K=ca+32|0;L=ca+24|0;T=ca+16|0;X=ca+60|0;Y=ca+56|0;u=ca+142|0;x=ca+128|0;S=ca+52|0;M=ca+48|0;G=ca+8|0;$=ca;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;b[r>>1]=k;c[s>>2]=l;c[t>>2]=m;c[P>>2]=0;c[v>>2]=c[c[c[n>>2]>>2]>>2];j=aa;c[j>>2]=0;c[j+4>>2]=0;if((e[r>>1]|0)!=0?(e[(c[v>>2]|0)+64>>1]&128|0)!=0:0){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}b[J>>1]=c[c[o>>2]>>2];if((e[J>>1]|0)>63){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}a[E>>0]=1;f=WR(1,0,e[J>>1]|0)|0;f=QR(f|0,C|0,1,0)|0;j=K;c[j>>2]=f;c[j+4>>2]=C;j=L;c[j>>2]=0;c[j+4>>2]=0;j=T;c[j>>2]=0;c[j+4>>2]=0;b[y>>1]=386;if(e[q>>1]&2048)b[y>>1]=e[y>>1]|1;c[B>>2]=0;a:while(1){if(!(d[E>>0]|0))break;f=aa;h=c[f+4>>2]|0;j=K;m=c[j+4>>2]|0;if(!(h>>>0>>0|((h|0)==(m|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)))break;if((c[B>>2]|0)>(e[r>>1]|0))break;if((c[B>>2]|0)>0){m=(c[P>>2]|0)+8|0;h=T;f=c[h+4>>2]|c[m+4>>2];j=T;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f}if((c[B>>2]|0)<(e[r>>1]|0)){c[P>>2]=c[(c[(c[p>>2]|0)+24>>2]|0)+(c[B>>2]<<2)>>2];if(!(e[q>>1]&2048))ba=17}else{c[P>>2]=c[s>>2];ba=17}b:do if((ba|0)==17){ba=0;k=c[P>>2]|0;if(c[(c[P>>2]|0)+36>>2]&1024){ba=18;break a}c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+8+((d[k+16>>0]|0)*72|0)+44>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(e[J>>1]|0))break;f=WR(1,0,c[_>>2]|0)|0;j=aa;c:do if(((!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)?(c[Q>>2]=ky(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0,(d[c[Q>>2]>>0]|0)==152):0)?(c[(c[Q>>2]|0)+28>>2]|0)==(c[A>>2]|0):0)?(j=T,c[R>>2]=ZD((c[n>>2]|0)+80|0,c[A>>2]|0,b[(c[Q>>2]|0)+32>>1]|0,~c[j>>2],~c[j+4>>2],e[y>>1]|0,0)|0,(c[R>>2]|0)!=0):0){if((e[(c[R>>2]|0)+12>>1]|0)==1){c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[(c[P>>2]|0)+40>>1]|0))break;if((c[R>>2]|0)==(c[(c[(c[P>>2]|0)+48>>2]|0)+(c[F>>2]<<2)>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1}if((c[F>>2]|0)>=(e[(c[P>>2]|0)+40>>1]|0))break}do if(e[(c[R>>2]|0)+12>>1]&130){if((b[(c[Q>>2]|0)+32>>1]|0)<0)break;c[N>>2]=fy(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0;if(!(c[N>>2]|0))c[N>>2]=c[(c[v>>2]|0)+8>>2];c[X>>2]=c[c[N>>2]>>2];c[N>>2]=fy(c[c[n>>2]>>2]|0,c[c[R>>2]>>2]|0)|0;if(!(c[N>>2]|0))c[N>>2]=c[(c[v>>2]|0)+8>>2];c[Y>>2]=c[c[N>>2]>>2];if(ig(c[X>>2]|0,c[Y>>2]|0)|0)break c}while(0);m=WR(1,0,c[_>>2]|0)|0;h=aa;f=c[h+4>>2]|C;j=aa;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}while(0);c[_>>2]=(c[_>>2]|0)+1}if(!(c[(c[P>>2]|0)+36>>2]&4096)){if(c[(c[P>>2]|0)+36>>2]&256){c[O>>2]=0;b[I>>1]=0;b[H>>1]=1}else{j=c[(c[P>>2]|0)+24+8>>2]|0;c[O>>2]=j;if(!j){ba=46;break a}if((d[(c[O>>2]|0)+55>>0]|0)>>>2&1){ba=46;break a}b[I>>1]=b[(c[O>>2]|0)+50>>1]|0;b[H>>1]=b[(c[O>>2]|0)+52>>1]|0;a[E>>0]=(d[(c[O>>2]|0)+54>>0]|0)!=0}a[W>>0]=0;a[U>>0]=0;a[w>>0]=0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[H>>1]|0))break;a[u>>0]=1;d:do if((c[F>>2]|0)<(e[(c[P>>2]|0)+24>>1]|0)?(c[F>>2]|0)>=(e[(c[P>>2]|0)+42>>1]|0):0){b[x>>1]=b[(c[(c[(c[P>>2]|0)+48>>2]|0)+(c[F>>2]<<2)>>2]|0)+12>>1]|0;k=e[x>>1]|0;if(e[x>>1]&e[y>>1]){if(!(k&256))break;a[E>>0]=0;break}if(!(k&1)){ba=61;break}c[S>>2]=c[c[(c[(c[P>>2]|0)+48>>2]|0)+(c[F>>2]<<2)>>2]>>2];c[_>>2]=(c[F>>2]|0)+1;while(1){if((c[_>>2]|0)>=(e[(c[P>>2]|0)+24>>1]|0)){ba=61;break d}if((c[c[(c[(c[P>>2]|0)+48>>2]|0)+(c[_>>2]<<2)>>2]>>2]|0)==(c[S>>2]|0))break;c[_>>2]=(c[_>>2]|0)+1}a[u>>0]=0;ba=61}else ba=61;while(0);if((ba|0)==61){ba=0;do if(c[O>>2]|0){c[z>>2]=b[(c[(c[O>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1];a[V>>0]=a[(c[(c[O>>2]|0)+28>>2]|0)+(c[F>>2]|0)>>0]|0;if((c[z>>2]|0)!=(b[(c[(c[O>>2]|0)+12>>2]|0)+32>>1]|0))break;c[z>>2]=-1}else{c[z>>2]=-1;a[V>>0]=0}while(0);do if((d[E>>0]|0)!=0&(c[z>>2]|0)>=0){if((c[F>>2]|0)<(e[(c[P>>2]|0)+24>>1]|0))break;if(d[(c[(c[(c[O>>2]|0)+12>>2]|0)+4>>2]|0)+(c[z>>2]<<4)+12>>0]|0)break;a[E>>0]=0}while(0);a[D>>0]=0;c[_>>2]=0;e:while(1){if(!(d[u>>0]|0))break;if((c[_>>2]|0)>=(e[J>>1]|0))break;f=WR(1,0,c[_>>2]|0)|0;j=aa;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[Q>>2]=ky(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0;if(!(e[q>>1]&192))a[u>>0]=0;k=c[Q>>2]|0;if((c[z>>2]|0)>=-1){if((d[k>>0]|0)!=152)break;if((c[(c[Q>>2]|0)+28>>2]|0)!=(c[A>>2]|0))break;if((b[(c[Q>>2]|0)+32>>1]|0)!=(c[z>>2]|0))break}else if(Ky(k,c[(c[(c[(c[O>>2]|0)+40>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)>>2]|0,c[A>>2]|0)|0)break;if((c[z>>2]|0)<0){ba=84;break e}c[N>>2]=fy(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0;if(!(c[N>>2]|0))c[N>>2]=c[(c[v>>2]|0)+8>>2];if(!(ig(c[c[N>>2]>>2]|0,c[(c[(c[O>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]|0)|0)){ba=84;break e}}while(0);c[_>>2]=(c[_>>2]|0)+1}if((ba|0)==84){ba=0;a[D>>0]=1}do if(d[D>>0]|0){if(e[q>>1]&64)break;if(a[W>>0]|0){if((d[U>>0]^d[V>>0]|0)==(d[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)+12>>0]|0))break;a[D>>0]=0;break}a[U>>0]=d[V>>0]^d[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)+12>>0];if(a[U>>0]|0){m=WR(1,0,c[B>>2]|0)|0;j=c[t>>2]|0;h=j;f=c[h+4>>2]|C;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}a[W>>0]=1}while(0);if(!(a[D>>0]|0)){ba=98;break}if((c[z>>2]|0)==-1)a[w>>0]=1;m=WR(1,0,c[_>>2]|0)|0;h=aa;f=c[h+4>>2]|C;j=aa;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}c[F>>2]=(c[F>>2]|0)+1}do if((ba|0)==98){ba=0;if((c[F>>2]|0)!=0?(c[F>>2]|0)>=(e[I>>1]|0):0)break;a[E>>0]=0}while(0);if(a[w>>0]|0)a[E>>0]=1}if(a[E>>0]|0){m=(c[P>>2]|0)+8|0;h=L;f=c[h+4>>2]|c[m+4>>2];j=L;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f;c[_>>2]=0;while(1){if((c[_>>2]|0)>=(e[J>>1]|0))break b;f=WR(1,0,c[_>>2]|0)|0;j=aa;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[M>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2];f=lE((c[n>>2]|0)+488|0,c[M>>2]|0)|0;j=G;c[j>>2]=f;c[j+4>>2]=C;j=G;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0?($A(c[M>>2]|0)|0)==0:0)break;f=G;j=L;if((c[f>>2]&~c[j>>2]|0)==0?(c[f+4>>2]&~c[j+4>>2]|0)==0:0){m=WR(1,0,c[_>>2]|0)|0;h=aa;f=c[h+4>>2]|C;j=aa;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}}while(0);c[_>>2]=(c[_>>2]|0)+1}}}while(0);c[B>>2]=(c[B>>2]|0)+1}if((ba|0)==18){if(a[k+24+5>>0]|0){X=K;Y=c[X+4>>2]|0;ba=aa;c[ba>>2]=c[X>>2];c[ba+4>>2]=Y}}else if((ba|0)==46){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}Y=aa;ba=K;if((c[Y>>2]|0)==(c[ba>>2]|0)?(c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){a[Z>>0]=b[J>>1];ba=a[Z>>0]|0;i=ca;return ba|0}if(a[E>>0]|0){a[Z>>0]=-1;ba=a[Z>>0]|0;i=ca;return ba|0}c[_>>2]=(e[J>>1]|0)-1;while(1){if((c[_>>2]|0)<=0){ba=122;break}Y=WR(1,0,c[_>>2]|0)|0;Y=QR(Y|0,C|0,1,0)|0;X=$;c[X>>2]=Y;c[X+4>>2]=C;X=aa;Y=$;ba=$;k=c[_>>2]|0;if((c[X>>2]&c[Y>>2]|0)==(c[ba>>2]|0)?(c[X+4>>2]&c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){ba=120;break}c[_>>2]=k+-1}if((ba|0)==120){a[Z>>0]=k;ba=a[Z>>0]|0;i=ca;return ba|0}else if((ba|0)==122){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}return 0}function pE(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+8|0;j=l+16|0;n=l+4|0;o=l;m=l+14|0;k=l+12|0;c[h>>2]=a;b[j>>1]=d;c[n>>2]=f;c[o>>2]=g;a=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[m>>1]=((Mj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66;b[k>>1]=(b[j>>1]|0)+(b[m>>1]|0)+16;if((e[(c[h>>2]|0)+40>>1]&16384|0)!=0?(b[(c[h>>2]|0)+16>>1]|0)<(b[j>>1]|0):0)b[j>>1]=b[(c[h>>2]|0)+16>>1]|0;o=(qE(b[j>>1]|0)|0)<<16>>16;b[k>>1]=(b[k>>1]|0)+o;i=l;return b[k>>1]|0}function qE(a){a=a|0;var c=0,d=0;d=i;i=i+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){a=0;a=a&65535;i=d;return a|0}a=b[c>>1]|0;a=((Mj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;i=d;return a|0}function rE(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=i;i=i+128|0;k=D+108|0;l=D+104|0;m=D+48|0;F=D+40|0;A=D+100|0;G=D+96|0;y=D+92|0;z=D+88|0;E=D+84|0;w=D+80|0;v=D+76|0;n=D+72|0;x=D+68|0;p=D+32|0;s=D+112|0;B=D+64|0;C=D+60|0;t=D+24|0;q=D+16|0;o=D+56|0;r=D+8|0;u=D;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;e=F;c[e>>2]=h;c[e+4>>2]=j;c[A>>2]=0;c[G>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[G>>2]>>2];c[z>>2]=c[(c[l>>2]|0)+4>>2];c[x>>2]=c[(c[l>>2]|0)+12>>2];c[E>>2]=(c[(c[G>>2]|0)+4>>2]|0)+8+((d[(c[x>>2]|0)+16>>0]|0)*72|0);e=F;c[w>>2]=NE(c[y>>2]|0,c[z>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[(c[l>>2]|0)+8>>2]|0,s)|0;if(!(c[w>>2]|0)){c[k>>2]=7;G=c[k>>2]|0;i=D;return G|0}b[(c[x>>2]|0)+18>>1]=0;c[(c[x>>2]|0)+36>>2]=1024;b[(c[x>>2]|0)+40>>1]=0;a[(c[x>>2]|0)+24+4>>0]=0;c[v>>2]=c[c[w>>2]>>2];if(jE(c[c[y>>2]>>2]|0,c[x>>2]|0,c[v>>2]|0)|0){Tf(c[c[y>>2]>>2]|0,c[w>>2]|0);c[k>>2]=7;G=c[k>>2]|0;i=D;return G|0}G=m;c[A>>2]=OE(c[l>>2]|0,c[G>>2]|0,c[G+4>>2]|0,-1,-1,0,c[w>>2]|0,b[s>>1]|0,n)|0;if((c[A>>2]|0)==0?(E=c[x>>2]|0,G=m,F=c[E>>2]&~c[G>>2],G=c[E+4>>2]&~c[G+4>>2],E=p,c[E>>2]=F,c[E+4>>2]=G,(F|0)!=0|(G|0)!=0):0){c[B>>2]=0;c[C>>2]=0;G=t;c[G>>2]=0;c[G+4>>2]=0;G=q;c[G>>2]=0;c[G+4>>2]=0;if((c[n>>2]|0)!=0?(e=m,c[A>>2]=OE(c[l>>2]|0,c[e>>2]|0,c[e+4>>2]|0,-1,-1,1,c[w>>2]|0,b[s>>1]|0,n)|0,e=c[x>>2]|0,E=m,F=c[e+4>>2]&~c[E+4>>2],G=q,c[G>>2]=c[e>>2]&~c[E>>2],c[G+4>>2]=F,G=q,(c[G>>2]|0)==0&(c[G+4>>2]|0)==0):0){c[B>>2]=1;c[C>>2]=1}while(1){if(c[A>>2]|0)break;G=r;c[G>>2]=-1;c[G+4>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[v>>2]|0))break;E=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[(c[w>>2]|0)+4>>2]|0)+((c[o>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;G=m;e=c[E+4>>2]&~c[G+4>>2];F=u;c[F>>2]=c[E>>2]&~c[G>>2];c[F+4>>2]=e;F=u;e=c[F+4>>2]|0;G=t;E=c[G+4>>2]|0;if(e>>>0>E>>>0|((e|0)==(E|0)?(c[F>>2]|0)>>>0>(c[G>>2]|0)>>>0:0)?(F=u,e=c[F+4>>2]|0,G=r,E=c[G+4>>2]|0,e>>>0>>0|((e|0)==(E|0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0){E=u;F=c[E+4>>2]|0;G=r;c[G>>2]=c[E>>2];c[G+4>>2]=F}c[o>>2]=(c[o>>2]|0)+1}E=r;F=c[E+4>>2]|0;G=t;c[G>>2]=c[E>>2];c[G+4>>2]=F;G=r;if((c[G>>2]|0)==-1?(c[G+4>>2]|0)==-1:0)break;F=r;G=p;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;F=r;G=q;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;E=m;G=r;F=m;c[A>>2]=OE(c[l>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[G>>2]|c[F>>2],c[G+4>>2]|c[F+4>>2],0,c[w>>2]|0,b[s>>1]|0,n)|0;F=c[x>>2]|0;G=m;if(!((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0))continue;c[B>>2]=1;if(c[n>>2]|0)continue;c[C>>2]=1}if((c[A>>2]|0)==0&(c[B>>2]|0)==0?(F=m,G=m,c[A>>2]=OE(c[l>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,0,c[w>>2]|0,b[s>>1]|0,n)|0,(c[n>>2]|0)==0):0)c[C>>2]=1;if((c[A>>2]|0)==0&(c[C>>2]|0)==0){F=m;G=m;c[A>>2]=OE(c[l>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,1,c[w>>2]|0,b[s>>1]|0,n)|0}}if(c[(c[w>>2]|0)+28>>2]|0)Kd(c[(c[w>>2]|0)+24>>2]|0);Tf(c[c[y>>2]>>2]|0,c[w>>2]|0);c[k>>2]=c[A>>2];G=c[k>>2]|0;i=D;return G|0}function sE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+160|0;j=J+144|0;k=J+8|0;E=J+140|0;v=J+136|0;H=J+80|0;m=J+156|0;l=J+154|0;K=J+72|0;w=J+68|0;u=J+64|0;I=J+60|0;p=J+56|0;n=J+52|0;G=J+152|0;F=J+150|0;A=J+48|0;x=J+44|0;t=J+40|0;y=J+36|0;D=J+32|0;r=J;s=J+148|0;q=J+28|0;o=J+24|0;B=J+20|0;z=J+16|0;c[j>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=h;b[l>>1]=-1;c[I>>2]=0;c[p>>2]=1;c[u>>2]=c[(c[j>>2]|0)+12>>2];c[E>>2]=c[c[j>>2]>>2];c[K>>2]=c[(c[E>>2]|0)+4>>2];c[w>>2]=(c[K>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[x>>2]=c[(c[w>>2]|0)+16>>2];c[A>>2]=c[(c[j>>2]|0)+4>>2];do if(c[(c[w>>2]|0)+68>>2]|0)c[v>>2]=c[(c[w>>2]|0)+68>>2];else{if(d[(c[x>>2]|0)+42>>0]&32){c[v>>2]=c[(c[x>>2]|0)+8>>2];break}g=H;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[H+50>>1]=1;b[H+52>>1]=1;c[H+4>>2]=l;c[H+8>>2]=m;a[H+54>>0]=5;c[H+12>>2]=c[x>>2];b[H+48>>1]=b[(c[x>>2]|0)+40>>1]|0;b[m>>1]=b[(c[x>>2]|0)+38>>1]|0;b[m+2>>1]=0;c[t>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[w>>2]|0)+36+1>>0]&1))c[H+20>>2]=c[t>>2];c[v>>2]=H}while(0);b[G>>1]=b[(c[x>>2]|0)+38>>1]|0;b[F>>1]=qE(b[G>>1]|0)|0;a:do if((((((((c[(c[j>>2]|0)+16>>2]|0)==0?(e[(c[E>>2]|0)+40>>1]&32|0)==0:0)?(c[(c[c[c[E>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[w>>2]|0)+68>>2]|0)==0:0)?(a[(c[w>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[x>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[w>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[w>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[D>>2]=(c[(c[A>>2]|0)+20>>2]|0)+((c[(c[A>>2]|0)+12>>2]|0)*48|0);c[y>>2]=c[(c[A>>2]|0)+20>>2];while(1){if(c[I>>2]|0)break a;if((c[y>>2]|0)>>>0>=(c[D>>2]|0)>>>0)break a;H=(c[y>>2]|0)+32|0;K=(c[u>>2]|0)+8|0;if(!((c[H>>2]&c[K>>2]|0)!=0?1:(c[H+4>>2]&c[K+4>>2]|0)!=0)?(iE(c[y>>2]|0,c[w>>2]|0,0,0)|0)!=0:0){b[(c[u>>2]|0)+24>>1]=1;b[(c[u>>2]|0)+42>>1]=0;c[(c[u>>2]|0)+24+8>>2]=0;b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];b[(c[u>>2]|0)+18>>1]=(b[F>>1]|0)+(b[G>>1]|0)+4;if((c[(c[x>>2]|0)+12>>2]|0)==0?(d[(c[x>>2]|0)+42>>0]&2|0)==0:0){K=(c[u>>2]|0)+18|0;b[K>>1]=(b[K>>1]|0)+24}if((b[(c[u>>2]|0)+18>>1]|0)<0)b[(c[u>>2]|0)+18>>1]=0;b[(c[u>>2]|0)+22>>1]=43;m=nE(b[F>>1]|0,b[(c[u>>2]|0)+22>>1]|0)|0;b[(c[u>>2]|0)+20>>1]=m;c[(c[u>>2]|0)+36>>2]=16384;m=k;t=(c[y>>2]|0)+32|0;H=c[m+4>>2]|c[t+4>>2];K=c[u>>2]|0;c[K>>2]=c[m>>2]|c[t>>2];c[K+4>>2]=H;c[I>>2]=wE(c[j>>2]|0,c[u>>2]|0)|0}c[y>>2]=(c[y>>2]|0)+48}}while(0);b:while(1){if(!((c[I>>2]|0)==0?(c[v>>2]|0)!=0:0)){g=57;break}if(!((c[(c[v>>2]|0)+36>>2]|0)!=0?(BE(c[(c[w>>2]|0)+44>>2]|0,c[A>>2]|0,c[(c[v>>2]|0)+36>>2]|0)|0)==0:0)){b[G>>1]=b[c[(c[v>>2]|0)+8>>2]>>1]|0;b[(c[u>>2]|0)+24>>1]=0;b[(c[u>>2]|0)+24+2>>1]=0;b[(c[u>>2]|0)+24+4>>1]=0;b[(c[u>>2]|0)+42>>1]=0;b[(c[u>>2]|0)+40>>1]=0;a[(c[u>>2]|0)+17>>0]=0;b[(c[u>>2]|0)+18>>1]=0;F=k;H=c[F+4>>2]|0;K=c[u>>2]|0;c[K>>2]=c[F>>2];c[K+4>>2]=H;b[(c[u>>2]|0)+22>>1]=b[G>>1]|0;c[(c[u>>2]|0)+24+8>>2]=c[v>>2];c[n>>2]=CE(c[j>>2]|0,c[v>>2]|0,c[(c[w>>2]|0)+44>>2]|0)|0;do if((c[(c[v>>2]|0)+44>>2]|0)<=0){c[(c[u>>2]|0)+36>>2]=256;a[(c[u>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[p>>2]|0:0;b[(c[u>>2]|0)+20>>1]=(b[G>>1]|0)+16;DE(c[A>>2]|0,c[u>>2]|0,b[G>>1]|0);c[I>>2]=wE(c[j>>2]|0,c[u>>2]|0)|0;b[(c[u>>2]|0)+22>>1]=b[G>>1]|0;if(c[I>>2]|0){g=57;break b}}else{if((d[(c[v>>2]|0)+55>>0]|0)>>>5&1){c[(c[u>>2]|0)+36>>2]=576;K=r;c[K>>2]=0;c[K+4>>2]=0}else{H=(c[w>>2]|0)+56|0;D=c[H>>2]|0;H=c[H+4>>2]|0;F=EE(c[v>>2]|0)|0;K=r;c[K>>2]=D&~F;c[K+4>>2]=H&~C;K=r;c[(c[u>>2]|0)+36>>2]=(c[K>>2]|0)==0&(c[K+4>>2]|0)==0?576:512}if(((c[n>>2]|0)==0?(d[(c[x>>2]|0)+42>>0]&32|0)==0:0)?(c[(c[v>>2]|0)+36>>2]|0)==0:0){K=r;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0))break;if((d[(c[v>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[v>>2]|0)+48>>1]|0)>=(b[(c[x>>2]|0)+40>>1]|0))break;if(!((c[6]|0)!=0?(e[(c[E>>2]|0)+40>>1]&4|0)==0:0))break;if(e[(c[c[c[E>>2]>>2]>>2]|0)+64>>1]&64)break}a[(c[u>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[p>>2]|0:0;b[(c[u>>2]|0)+20>>1]=(b[G>>1]|0)+1+(((b[(c[v>>2]|0)+48>>1]|0)*15|0)/(b[(c[x>>2]|0)+40>>1]|0)|0);K=r;if((c[K>>2]|0)!=0|(c[K+4>>2]|0)!=0){b[s>>1]=(b[G>>1]|0)+16;c[o>>2]=c[(c[w>>2]|0)+44>>2];c[B>>2]=(c[E>>2]|0)+80;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[B>>2]|0)+12>>2]|0))break;c[z>>2]=(c[(c[B>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);if(!(FE(c[c[z>>2]>>2]|0,c[o>>2]|0,c[v>>2]|0)|0))break;if((b[(c[z>>2]|0)+8>>1]|0)>0){b[s>>1]=(b[s>>1]|0)+-1<<16>>16;if(e[(c[z>>2]|0)+12>>1]&130)b[s>>1]=(b[s>>1]|0)-19}else b[s>>1]=(b[s>>1]|0)+(b[(c[z>>2]|0)+8>>1]|0);c[q>>2]=(c[q>>2]|0)+1}K=nE(b[(c[u>>2]|0)+20>>1]|0,b[s>>1]|0)|0;b[(c[u>>2]|0)+20>>1]=K}DE(c[A>>2]|0,c[u>>2]|0,b[G>>1]|0);c[I>>2]=wE(c[j>>2]|0,c[u>>2]|0)|0;b[(c[u>>2]|0)+22>>1]=b[G>>1]|0;if(c[I>>2]|0){g=57;break b}}while(0);c[I>>2]=GE(c[j>>2]|0,c[w>>2]|0,c[v>>2]|0,0)|0;if(c[(c[w>>2]|0)+68>>2]|0){g=57;break}}c[v>>2]=c[(c[v>>2]|0)+20>>2];c[p>>2]=(c[p>>2]|0)+1}if((g|0)==57){i=J;return c[I>>2]|0}return 0}function tE(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+672|0;m=I+668|0;n=I+584|0;o=I+576|0;l=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;q=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;p=I+596|0;r=I+592|0;D=I;c[m>>2]=f;f=n;c[f>>2]=g;c[f+4>>2]=h;g=o;c[g>>2]=j;c[g+4>>2]=k;c[l>>2]=c[c[m>>2]>>2];c[B>>2]=0;c[z>>2]=c[(c[m>>2]|0)+4>>2];c[A>>2]=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+12>>2]|0)*48|0);c[u>>2]=c[(c[m>>2]|0)+12>>2];g=F;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[t>>2]=(c[(c[l>>2]|0)+4>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[t>>2]|0)+44>>2];c[y>>2]=c[(c[z>>2]|0)+20>>2];while(1){if(!((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[B>>2]|0)==0:0))break;a:do if((e[(c[y>>2]|0)+12>>1]&512|0)!=0?(f=(c[(c[y>>2]|0)+28>>2]|0)+408|0,l=(c[u>>2]|0)+8|0,(c[f>>2]&c[l>>2]|0)!=0?1:(c[f+4>>2]&c[l+4>>2]|0)!=0):0){c[w>>2]=c[(c[y>>2]|0)+28>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[s>>2]=1;l=c[m>>2]|0;c[E>>2]=c[l>>2];c[E+4>>2]=c[l+4>>2];c[E+8>>2]=c[l+8>>2];c[E+12>>2]=c[l+12>>2];c[E+16>>2]=c[l+16>>2];c[E+8>>2]=0;c[E+16>>2]=C;c[v>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;g=c[v>>2]|0;if(!(e[(c[v>>2]|0)+12>>1]&1024)){if((c[g+20>>2]|0)==(c[q>>2]|0)){c[G>>2]=c[c[z>>2]>>2];c[G+4>>2]=c[z>>2];a[G+8>>0]=28;c[G+12>>2]=1;c[G+20>>2]=c[v>>2];c[E+4>>2]=G;H=11}}else{c[E+4>>2]=c[g+28>>2];H=11}c:do if((H|0)==11){H=0;b[C>>1]=0;h=n;g=c[h>>2]|0;h=c[h+4>>2]|0;if(d[(c[(c[t>>2]|0)+16>>2]|0)+42>>0]&16){l=o;c[B>>2]=rE(E,g,h,c[l>>2]|0,c[l+4>>2]|0)|0}else c[B>>2]=sE(E,g,h)|0;if(!(c[B>>2]|0)){f=n;l=o;c[B>>2]=tE(E,c[f>>2]|0,c[f+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0}if(!(e[C>>1]|0)){H=17;break b}if(c[s>>2]|0){uE(F,C);c[s>>2]=0;break}uE(D,F);b[F>>1]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[D>>1]|0))break c;c[r>>2]=0;while(1){g=c[p>>2]|0;if((c[r>>2]|0)>=(e[C>>1]|0))break;l=D+8+(g<<4)|0;f=C+8+(c[r>>2]<<4)|0;k=c[l>>2]|c[f>>2];f=c[l+4>>2]|c[f+4>>2];l=nE(b[D+8+(c[p>>2]<<4)+8>>1]|0,b[C+8+(c[r>>2]<<4)+8>>1]|0)|0;vE(F,k,f,l,nE(b[D+8+(c[p>>2]<<4)+10>>1]|0,b[C+8+(c[r>>2]<<4)+10>>1]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=g+1}}while(0);c[v>>2]=(c[v>>2]|0)+48}if((H|0)==17){H=0;b[F>>1]=0}b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];c[(c[u>>2]|0)+36>>2]=8192;b[(c[u>>2]|0)+18>>1]=0;a[(c[u>>2]|0)+17>>0]=0;l=(c[u>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[p>>2]=0;while(1){if(c[B>>2]|0)break a;if((c[p>>2]|0)>=(e[F>>1]|0))break a;b[(c[u>>2]|0)+20>>1]=(b[F+8+(c[p>>2]<<4)+8>>1]|0)+1;b[(c[u>>2]|0)+22>>1]=b[F+8+(c[p>>2]<<4)+10>>1]|0;k=F+8+(c[p>>2]<<4)|0;f=c[k+4>>2]|0;l=c[u>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=f;c[B>>2]=wE(c[m>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}i=I;return c[B>>2]|0}function uE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;TR((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function vE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;k=r+16|0;l=r+12|0;m=r;n=r+24|0;o=r+22|0;p=r+20|0;q=r+8|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=f;b[n>>1]=g;b[o>>1]=h;b[p>>1]=b[c[l>>2]>>1]|0;c[q>>2]=(c[l>>2]|0)+8;while(1){if((e[p>>1]|0)<=0){j=9;break}if((b[n>>1]|0)<=(b[(c[q>>2]|0)+8>>1]|0)?(h=m,a=c[q>>2]|0,g=m,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0)break;if((b[(c[q>>2]|0)+8>>1]|0)<=(b[n>>1]|0)?(h=c[q>>2]|0,a=m,g=c[q>>2]|0,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0){j=7;break}b[p>>1]=(b[p>>1]|0)+-1<<16>>16;c[q>>2]=(c[q>>2]|0)+16}if((j|0)==7){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}do if((j|0)==9){d=c[l>>2]|0;if((e[c[l>>2]>>1]|0)<3){p=b[d>>1]|0;b[d>>1]=p+1<<16>>16;c[q>>2]=(c[l>>2]|0)+8+((p&65535)<<4);b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;break}c[q>>2]=d+8;b[p>>1]=1;while(1){d=b[(c[q>>2]|0)+8>>1]|0;if((e[p>>1]|0)>=(e[c[l>>2]>>1]|0))break;if((d|0)>(b[(c[l>>2]|0)+8+(e[p>>1]<<4)+8>>1]|0))c[q>>2]=(c[l>>2]|0)+8+(e[p>>1]<<4);b[p>>1]=(b[p>>1]|0)+1<<16>>16}if((d|0)<=(b[n>>1]|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}while(0);l=m;m=c[l+4>>2]|0;p=c[q>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=m;b[(c[q>>2]|0)+8>>1]=b[n>>1]|0;if((b[(c[q>>2]|0)+10>>1]|0)>(b[o>>1]|0))b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;c[k>>2]=1;q=c[k>>2]|0;i=r;return q|0}function wE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+40|0;f=q+36|0;g=q+32|0;n=q+28|0;j=q+24|0;m=q+20|0;h=q+16|0;p=q+12|0;o=q+8|0;l=q+4|0;k=q;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[c[f>>2]>>2];c[h>>2]=c[c[c[m>>2]>>2]>>2];if(c[(c[f>>2]|0)+16>>2]|0){if(b[(c[g>>2]|0)+40>>1]|0){p=c[g>>2]|0;vE(c[(c[f>>2]|0)+16>>2]|0,c[p>>2]|0,c[p+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}xE(c[(c[m>>2]|0)+56>>2]|0,c[g>>2]|0);c[n>>2]=yE((c[m>>2]|0)+56|0,c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}c[j>>2]=c[c[n>>2]>>2];a:do if(!(c[j>>2]|0)){o=Vw(c[h>>2]|0,72,0)|0;c[j>>2]=o;c[c[n>>2]>>2]=o;if(c[j>>2]|0){yD(c[j>>2]|0);c[(c[j>>2]|0)+52>>2]=0;break}c[e>>2]=7;p=c[e>>2]|0;i=q;return p|0}else{c[o>>2]=(c[j>>2]|0)+52;while(1){if(!(c[c[o>>2]>>2]|0))break a;c[o>>2]=yE(c[o>>2]|0,c[g>>2]|0)|0;if(!(c[o>>2]|0))break a;c[l>>2]=c[c[o>>2]>>2];if(!(c[l>>2]|0))break a;c[c[o>>2]>>2]=c[(c[l>>2]|0)+52>>2];vD(c[h>>2]|0,c[l>>2]|0)}}while(0);c[p>>2]=zE(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if(((c[(c[j>>2]|0)+36>>2]&1024|0)==0?(c[k>>2]=c[(c[j>>2]|0)+24+8>>2],(c[k>>2]|0)!=0):0)?(c[(c[k>>2]|0)+44>>2]|0)==0:0)c[(c[j>>2]|0)+24+8>>2]=0;c[e>>2]=c[p>>2];p=c[e>>2]|0;i=q;return p|0}function xE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){i=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0){if(AE(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(AE(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);i=h;return}function yE(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+12|0;k=l+8|0;g=l+4|0;h=l;c[k>>2]=a;c[g>>2]=f;c[h>>2]=c[c[k>>2]>>2];while(1){if(!(c[h>>2]|0)){g=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if(((((c[(c[h>>2]|0)+36>>2]&16384|0)!=0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[g>>2]|0)+36>>2]&1|0)!=0:0)?(m=c[h>>2]|0,f=c[g>>2]|0,a=c[g>>2]|0,(c[m>>2]&c[f>>2]|0)==(c[a>>2]|0)?(c[m+4>>2]&c[f+4>>2]|0)==(c[a+4>>2]|0):0):0){g=19;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[h>>2]|0;if(((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){g=14;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[g>>2]|0;if((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){g=19;break}}c[k>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[k>>2]>>2]}if((g|0)==14){c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}else if((g|0)==19){c[j>>2]=c[k>>2];m=c[j>>2]|0;i=l;return m|0}return 0}function zE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;h=k+12|0;l=k+8|0;g=k+4|0;j=k;c[l>>2]=b;c[g>>2]=d;c[j>>2]=f;xD(c[l>>2]|0,c[g>>2]|0);d=(jE(c[l>>2]|0,c[g>>2]|0,e[(c[j>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(d){l=b+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[h>>2]=7;l=c[h>>2]|0;i=k;return l|0}f=c[j>>2]|0;d=b+44|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(d|0));TR(c[(c[g>>2]|0)+48>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[j>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]&1024)){if(c[b+36>>2]&16384)c[(c[j>>2]|0)+24+8>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}function AE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){f=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[j>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){f=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((f|0)==18){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==20){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function BE(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;while(1){if((d[c[k>>2]>>0]|0)!=28)break;if(!(BE(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0)){o=4;break}c[k>>2]=c[(c[k>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[l>>2]=0;c[n>>2]=c[(c[j>>2]|0)+20>>2];while(1){if((c[l>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0)){o=13;break}c[m>>2]=c[c[n>>2]>>2];if(ME(c[m>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){if(!(c[(c[m>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[m>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;i=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}return 0}function CE(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;q=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+55>>0]|0)>>>2&1){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}f=c[(c[c[j>>2]>>2]|0)+8>>2]|0;c[q>>2]=f;if(!f){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[c[q>>2]>>2]|0)){r=24;break}c[p>>2]=ky(c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[l>>2]|0):0){if((b[(c[p>>2]|0)+32>>1]|0)<0){r=10;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break b;if((b[(c[p>>2]|0)+32>>1]|0)==(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)){r=14;break a}c[o>>2]=(c[o>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,f=c[(c[k>>2]|0)+40>>2]|0,c[m>>2]=f,(f|0)!=0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break c;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(Ky(c[p>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[l>>2]|0)|0)==0:0){r=21;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1}if((r|0)==10){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==21){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==24){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function DE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;g=s+36|0;h=s+32|0;j=s+42|0;q=s+28|0;r=s+24|0;o=s;k=s+20|0;m=s+16|0;n=s+12|0;l=s+40|0;p=s+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;t=c[h>>2]|0;f=(c[h>>2]|0)+8|0;d=~(c[t+4>>2]|c[f+4>>2]);a=o;c[a>>2]=~(c[t>>2]|c[f>>2]);c[a+4>>2]=d;b[l>>1]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];c[q>>2]=c[(c[g>>2]|0)+20>>2];while(1){if((c[k>>2]|0)<=0)break;if(e[(c[q>>2]|0)+10>>1]&2)break;a=(c[q>>2]|0)+40|0;t=(c[h>>2]|0)+8|0;do if(!((c[a>>2]&c[t>>2]|0)==0?(c[a+4>>2]&c[t+4>>2]|0)==0:0)?(a=(c[q>>2]|0)+40|0,t=o,!((c[a>>2]&c[t>>2]|0)!=0?1:(c[a+4>>2]&c[t+4>>2]|0)!=0)):0){c[m>>2]=(e[(c[h>>2]|0)+40>>1]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[r>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[m>>2]<<2)>>2];if(c[r>>2]|0){if((c[r>>2]|0)==(c[q>>2]|0))break;if((c[(c[r>>2]|0)+16>>2]|0)>=0?((c[(c[g>>2]|0)+20>>2]|0)+((c[(c[r>>2]|0)+16>>2]|0)*48|0)|0)==(c[q>>2]|0):0)break}c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){if((b[(c[q>>2]|0)+8>>1]|0)<=0){t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[q>>2]|0)+8>>1]|0);break}t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[q>>2]|0)+12>>1]&130){c[p>>2]=c[(c[c[q>>2]>>2]|0)+16>>2];t=(Fy(c[p>>2]|0,n)|0)!=0;if(t&(c[n>>2]|0)>=-1&(c[n>>2]|0)<=1)c[n>>2]=10;else c[n>>2]=20;if((b[l>>1]|0)<(c[n>>2]|0))b[l>>1]=c[n>>2]}}}while(0);c[k>>2]=(c[k>>2]|0)+-1;c[q>>2]=(c[q>>2]|0)+48}if((b[(c[h>>2]|0)+22>>1]|0)<=((b[j>>1]|0)-(b[l>>1]|0)|0)){i=s;return}b[(c[h>>2]|0)+22>>1]=(b[j>>1]|0)-(b[l>>1]|0);i=s;return}function EE(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;d=j+16|0;g=j;f=j+12|0;h=j+8|0;c[d>>2]=a;a=g;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[f>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){l=WR(1,0,c[h>>2]|0)|0;m=g;k=c[m+4>>2]|C;a=g;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[f>>2]=(c[f>>2]|0)+-1}m=g;C=c[m+4>>2]|0;i=j;return c[m>>2]|0}function FE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+48|0;h=g+44|0;l=g+40|0;k=g+36|0;f=g+8|0;j=g;c[h>>2]=b;c[l>>2]=d;c[k>>2]=e;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[j+4>>2]=c[l>>2];c[j>>2]=c[k>>2];c[f+4>>2]=199;c[f+24>>2]=j;wy(f,c[h>>2]|0)|0;i=g;return ((a[f+20>>0]|0)!=0^1)&1|0}function GE(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=i;i=i+224|0;l=R+180|0;m=R+176|0;n=R+172|0;o=R+168|0;p=R+208|0;S=R+164|0;B=R+160|0;q=R+156|0;A=R+152|0;C=R+148|0;k=R+144|0;Q=R+48|0;O=R;K=R+206|0;J=R+204|0;I=R+202|0;N=R+200|0;M=R+198|0;P=R+40|0;L=R+196|0;H=R+36|0;G=R+194|0;F=R+192|0;D=R+32|0;y=R+28|0;r=R+190|0;E=R+188|0;x=R+186|0;v=R+24|0;z=R+20|0;s=R+16|0;t=R+12|0;u=R+8|0;w=R+184|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;b[p>>1]=j;c[S>>2]=c[c[m>>2]>>2];c[B>>2]=c[c[S>>2]>>2];c[q>>2]=c[c[B>>2]>>2];c[H>>2]=0;c[D>>2]=0;c[y>>2]=0;c[A>>2]=c[(c[m>>2]|0)+12>>2];if(a[(c[q>>2]|0)+69>>0]|0){c[l>>2]=7;S=c[l>>2]|0;i=R;return S|0}if(c[(c[A>>2]|0)+36>>2]&32)c[k>>2]=24;else c[k>>2]=447;if((d[(c[o>>2]|0)+55>>0]|0)>>>2&1)c[k>>2]=c[k>>2]&-61;b[J>>1]=b[(c[A>>2]|0)+24>>1]|0;b[I>>1]=b[(c[A>>2]|0)+24+2>>1]|0;b[N>>1]=b[(c[A>>2]|0)+24+4>>1]|0;b[M>>1]=b[(c[A>>2]|0)+42>>1]|0;b[K>>1]=b[(c[A>>2]|0)+40>>1]|0;c[P>>2]=c[(c[A>>2]|0)+36>>2];h=c[A>>2]|0;g=c[h+4>>2]|0;S=O;c[S>>2]=c[h>>2];c[S+4>>2]=g;b[L>>1]=b[(c[A>>2]|0)+22>>1]|0;c[C>>2]=_D(Q,c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+44>>2]|0,e[J>>1]|0,c[k>>2]|0,c[o>>2]|0)|0;b[(c[A>>2]|0)+18>>1]=0;b[G>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0;b[F>>1]=qE(b[G>>1]|0)|0;a:while(1){if(!((c[H>>2]|0)==0?(c[C>>2]|0)!=0:0))break;b[r>>1]=b[(c[C>>2]|0)+12>>1]|0;c[v>>2]=0;if((e[r>>1]|0)!=256?(e[(c[C>>2]|0)+10>>1]&0|0)==0:0)j=13;else j=12;if((j|0)==12?(j=0,(HE(c[o>>2]|0,e[J>>1]|0)|0)==0):0)j=13;do if((j|0)==13?(0,g=(c[C>>2]|0)+32|0,S=(c[A>>2]|0)+8|0,!((c[g>>2]&c[S>>2]|0)!=0?1:(c[g+4>>2]&c[S+4>>2]|0)!=0)):0){if((e[(c[C>>2]|0)+10>>1]&256|0)!=0?(e[(c[C>>2]|0)+12>>1]|0)==16:0)break;if(((d[(c[n>>2]|0)+36>>0]&8|0)!=0?(c[(c[c[C>>2]>>2]|0)+4>>2]&1|0)==0:0)?(e[r>>1]&384|0)!=0:0)break;c[(c[A>>2]|0)+36>>2]=c[P>>2];b[(c[A>>2]|0)+24>>1]=b[J>>1]|0;b[(c[A>>2]|0)+24+2>>1]=b[I>>1]|0;b[(c[A>>2]|0)+24+4>>1]=b[N>>1]|0;b[(c[A>>2]|0)+40>>1]=b[K>>1]|0;if(jE(c[q>>2]|0,c[A>>2]|0,(e[(c[A>>2]|0)+40>>1]|0)+1|0)|0)break a;f=c[C>>2]|0;h=(c[A>>2]|0)+40|0;k=b[h>>1]|0;b[h>>1]=k+1<<16>>16;c[(c[(c[A>>2]|0)+48>>2]|0)+((k&65535)<<2)>>2]=f;k=O;f=(c[C>>2]|0)+32|0;h=(c[A>>2]|0)+8|0;g=(c[k+4>>2]|c[f+4>>2])&~c[h+4>>2];S=c[A>>2]|0;c[S>>2]=(c[k>>2]|c[f>>2])&~c[h>>2];c[S+4>>2]=g;b:do if(!(e[r>>1]&1)){if(e[r>>1]&130){c[t>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(e[J>>1]<<1)>>1];S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|1;if((c[t>>2]|0)!=-1){if((c[t>>2]|0)<=0)break;if(b[p>>1]|0)break;if((e[J>>1]|0)!=((e[(c[o>>2]|0)+50>>1]|0)-1|0))break}if((c[t>>2]|0)>=0?((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|65536;break}S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|4096;break}if(e[r>>1]&256){S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|8;break}j=(c[A>>2]|0)+36|0;k=c[j>>2]|0;if(e[r>>1]&36){c[j>>2]=k|34;S=(IE(c[B>>2]|0,c[(c[n>>2]|0)+44>>2]|0,c[o>>2]|0,e[J>>1]|0,c[C>>2]|0)|0)&65535;b[(c[A>>2]|0)+24+2>>1]=S;c[y>>2]=c[C>>2];c[D>>2]=0;if(!(e[(c[C>>2]|0)+10>>1]&256))break;c[D>>2]=(c[C>>2]|0)+48;if(jE(c[q>>2]|0,c[A>>2]|0,(e[(c[A>>2]|0)+40>>1]|0)+1|0)|0)break a;g=c[D>>2]|0;h=(c[A>>2]|0)+40|0;S=b[h>>1]|0;b[h>>1]=S+1<<16>>16;c[(c[(c[A>>2]|0)+48>>2]|0)+((S&65535)<<2)>>2]=g;S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|16;b[(c[A>>2]|0)+24+4>>1]=1;break}else{c[j>>2]=k|18;S=(IE(c[B>>2]|0,c[(c[n>>2]|0)+44>>2]|0,c[o>>2]|0,e[J>>1]|0,c[C>>2]|0)|0)&65535;b[(c[A>>2]|0)+24+4>>1]=S;c[D>>2]=c[C>>2];if(c[(c[A>>2]|0)+36>>2]&32)j=c[(c[(c[A>>2]|0)+48>>2]|0)+((e[(c[A>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else j=0;c[y>>2]=j;break}}else{c[z>>2]=c[c[C>>2]>>2];S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|4;if(!(c[(c[z>>2]|0)+4>>2]&2048)){if(!(c[(c[z>>2]|0)+20>>2]|0))break;if(!(c[c[(c[z>>2]|0)+20>>2]>>2]|0))break;S=c[c[(c[z>>2]|0)+20>>2]>>2]|0;c[v>>2]=(Mj(S,((S|0)<0)<<31>>31)|0)<<16>>16;break}c[v>>2]=46;c[s>>2]=0;while(1){if((c[s>>2]|0)>=((e[(c[A>>2]|0)+40>>1]|0)-1|0))break b;if((c[(c[(c[A>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]|0)!=0?(c[c[(c[(c[A>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]>>2]|0)==(c[z>>2]|0):0)c[v>>2]=0;c[s>>2]=(c[s>>2]|0)+1}}while(0);do if(!(c[(c[A>>2]|0)+36>>2]&2)){g=(c[A>>2]|0)+24|0;S=(b[g>>1]|0)+1<<16>>16;b[g>>1]=S;c[u>>2]=S&65535;if((b[(c[C>>2]|0)+8>>1]|0)<=0?(b[(c[(c[o>>2]|0)+4>>2]|0)+(e[J>>1]<<1)>>1]|0)>=0:0){S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+(b[(c[C>>2]|0)+8>>1]|0);S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(c[v>>2]|0);break}S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[(c[(c[o>>2]|0)+8>>2]|0)+(c[u>>2]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((c[u>>2]|0)-1<<1)>>1]|0));if(e[r>>1]&256){S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+10}}else JE(c[B>>2]|0,c[m>>2]|0,c[y>>2]|0,c[D>>2]|0,c[A>>2]|0)|0;while(0);b[E>>1]=(b[(c[A>>2]|0)+22>>1]|0)+1+(((b[(c[o>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[n>>2]|0)+16>>2]|0)+40>>1]|0)|0);S=nE(b[F>>1]|0,b[E>>1]|0)|0;b[(c[A>>2]|0)+20>>1]=S;if(!(c[(c[A>>2]|0)+36>>2]&320)){S=nE(b[(c[A>>2]|0)+20>>1]|0,(b[(c[A>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[A>>2]|0)+20>>1]=S}b[x>>1]=b[(c[A>>2]|0)+22>>1]|0;S=(c[A>>2]|0)+20|0;b[S>>1]=(b[S>>1]|0)+((b[p>>1]|0)+(c[v>>2]|0));S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[p>>1]|0)+(c[v>>2]|0));DE(c[(c[m>>2]|0)+4>>2]|0,c[A>>2]|0,b[G>>1]|0);c[H>>2]=wE(c[m>>2]|0,c[A>>2]|0)|0;if(c[(c[A>>2]|0)+36>>2]&2)b[(c[A>>2]|0)+22>>1]=b[L>>1]|0;else b[(c[A>>2]|0)+22>>1]=b[x>>1]|0;if((c[(c[A>>2]|0)+36>>2]&16|0)==0?(e[(c[A>>2]|0)+24>>1]|0)<(e[(c[o>>2]|0)+52>>1]|0):0)GE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[p>>1]|0)+(c[v>>2]|0)&65535)|0;b[(c[A>>2]|0)+22>>1]=b[L>>1]|0}while(0);c[C>>2]=$D(Q)|0}Q=c[O+4>>2]|0;S=c[A>>2]|0;c[S>>2]=c[O>>2];c[S+4>>2]=Q;b[(c[A>>2]|0)+24>>1]=b[J>>1]|0;b[(c[A>>2]|0)+24+2>>1]=b[I>>1]|0;b[(c[A>>2]|0)+24+4>>1]=b[N>>1]|0;b[(c[A>>2]|0)+42>>1]=b[M>>1]|0;c[(c[A>>2]|0)+36>>2]=c[P>>2];b[(c[A>>2]|0)+22>>1]=b[L>>1]|0;b[(c[A>>2]|0)+40>>1]=b[K>>1]|0;if(((((e[J>>1]|0)==(e[M>>1]|0)?((e[J>>1]|0)+1|0)<(e[(c[o>>2]|0)+50>>1]|0):0)?((d[(c[o>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[J>>1]|0)+1<<1)>>1]|0)>=42:0)?(S=jE(c[q>>2]|0,c[A>>2]|0,(e[(c[A>>2]|0)+40>>1]|0)+1|0)|0,c[H>>2]=S,(S|0)==0):0){Q=(c[A>>2]|0)+24|0;b[Q>>1]=(b[Q>>1]|0)+1<<16>>16;Q=(c[A>>2]|0)+42|0;b[Q>>1]=(b[Q>>1]|0)+1<<16>>16;Q=(c[A>>2]|0)+40|0;S=b[Q>>1]|0;b[Q>>1]=S+1<<16>>16;c[(c[(c[A>>2]|0)+48>>2]|0)+((S&65535)<<2)>>2]=0;S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|32768;b[w>>1]=(b[(c[(c[o>>2]|0)+8>>2]|0)+(e[J>>1]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[J>>1]|0)+1<<1)>>1]|0);S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(b[w>>1]|0);b[w>>1]=(b[w>>1]|0)+5;GE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[w>>1]|0)+(b[p>>1]|0)&65535)|0;b[(c[A>>2]|0)+22>>1]=b[L>>1]|0;b[(c[A>>2]|0)+24>>1]=b[J>>1]|0;b[(c[A>>2]|0)+42>>1]=b[M>>1]|0;c[(c[A>>2]|0)+36>>2]=c[P>>2]}c[l>>2]=c[H>>2];S=c[l>>2]|0;i=R;return S|0}function HE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;g=h+8|0;k=h+4|0;j=h;c[g>>2]=a;c[k>>2]=e;c[j>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];e=c[j>>2]|0;if((c[j>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(e<<4)+12>>0];k=c[f>>2]|0;i=h;return k|0}if((e|0)==-1){c[f>>2]=1;k=c[f>>2]|0;i=h;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=h;return k|0}return 0}function IE(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;s=x+16|0;w=x+12|0;q=x+41|0;r=x+40|0;t=x+8|0;u=x+4|0;v=x;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=k;c[s>>2]=cz(c[(c[c[p>>2]>>2]|0)+12>>2]|0)|0;if((c[s>>2]|0)<((e[(c[n>>2]|0)+52>>1]|0)-(c[o>>2]|0)|0))g=c[s>>2]|0;else g=(e[(c[n>>2]|0)+52>>1]|0)-(c[o>>2]|0)|0;c[s>>2]=g;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[s>>2]|0)){g=17;break}a[r>>0]=0;c[u>>2]=c[(c[(c[(c[(c[c[p>>2]>>2]|0)+12>>2]|0)+20>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[v>>2]=c[(c[c[p>>2]>>2]|0)+16>>2];g=c[w>>2]|0;j=(c[v>>2]|0)+20|0;if(c[(c[v>>2]|0)+4>>2]&2048)c[v>>2]=c[(c[(c[c[j>>2]>>2]|0)+4>>2]|0)+(g*20|0)>>2];else c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+(g*20|0)>>2];if((d[c[u>>2]>>0]|0)!=152){g=17;break}if((c[(c[u>>2]|0)+28>>2]|0)!=(c[m>>2]|0)){g=17;break}if((b[(c[u>>2]|0)+32>>1]|0)!=(b[(c[(c[n>>2]|0)+4>>2]|0)+((c[w>>2]|0)+(c[o>>2]|0)<<1)>>1]|0)){g=17;break}if((d[(c[(c[n>>2]|0)+28>>2]|0)+((c[w>>2]|0)+(c[o>>2]|0))>>0]|0)!=(d[(c[(c[n>>2]|0)+28>>2]|0)+(c[o>>2]|0)>>0]|0)){g=17;break}k=c[v>>2]|0;a[q>>0]=rB(k,ey(c[u>>2]|0)|0)|0;a[r>>0]=ly(c[(c[n>>2]|0)+12>>2]|0,b[(c[u>>2]|0)+32>>1]|0)|0;if((a[q>>0]|0)!=(a[r>>0]|0)){g=17;break}c[t>>2]=sB(c[l>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;if(!(c[t>>2]|0)){g=17;break}if(ig(c[c[t>>2]>>2]|0,c[(c[(c[n>>2]|0)+32>>2]|0)+((c[w>>2]|0)+(c[o>>2]|0)<<2)>>2]|0)|0){g=17;break}c[w>>2]=(c[w>>2]|0)+1}if((g|0)==17){i=x;return c[w>>2]|0}return 0}function JE(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;m=o;l=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;c[m>>2]=b[(c[k>>2]|0)+22>>1];b[l>>1]=KE(c[h>>2]|0,c[m>>2]&65535)|0;b[l>>1]=KE(c[j>>2]|0,b[l>>1]|0)|0;if(((c[h>>2]|0)!=0?((c[j>>2]|0)!=0?(b[(c[h>>2]|0)+8>>1]|0)>0:0):0)?(b[(c[j>>2]|0)+8>>1]|0)>0:0)b[l>>1]=(b[l>>1]|0)-20;c[m>>2]=(c[m>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[j>>2]|0)!=0&1));if((b[l>>1]|0)<10)b[l>>1]=10;if((b[l>>1]|0)>=(c[m>>2]|0)){a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=b[l>>1];a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}function KE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h;j=h+6|0;g=h+4|0;c[f>>2]=a;b[j>>1]=d;b[g>>1]=b[j>>1]|0;do if(c[f>>2]|0){d=c[f>>2]|0;if((b[(c[f>>2]|0)+8>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[d+8>>1]|0);break}if(!(e[d+10>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);i=h;return b[g>>1]|0}function LE(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[h>>2]=e;c[j>>2]=f;if(((d[c[j>>2]>>0]|0|0)==152?(c[(c[j>>2]|0)+28>>2]|0)==(c[(c[(c[h>>2]|0)+24>>2]|0)+4>>2]|0):0)?((OA(c[c[(c[h>>2]|0)+24>>2]>>2]|0,b[(c[j>>2]|0)+32>>1]|0)|0)<<16>>16|0)<0:0){a[(c[h>>2]|0)+20>>0]=1;c[g>>2]=2;e=c[g>>2]|0;i=k;return e|0}c[g>>2]=0;e=c[g>>2]|0;i=k;return e|0}function ME(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(Ky(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}do if((d[c[h>>2]>>0]|0|0)==27){if((ME(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0?(ME(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0)==0:0)break;c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}while(0);if((((d[c[h>>2]>>0]|0|0)==35?(Ky(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=34:0)?(d[c[g>>2]>>0]|0|0)!=29:0){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}c[f>>2]=0;b=c[f>>2]|0;i=k;return b|0}function NE(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+96|0;I=J+8|0;n=J+80|0;o=J+76|0;p=J+72|0;q=J;r=J+68|0;s=J+64|0;t=J+60|0;u=J+56|0;v=J+52|0;z=J+48|0;D=J+44|0;F=J+40|0;H=J+36|0;G=J+32|0;y=J+28|0;E=J+24|0;w=J+84|0;x=J+20|0;B=J+16|0;A=J+86|0;C=J+12|0;c[o>>2]=f;c[p>>2]=g;g=q;c[g>>2]=h;c[g+4>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;b[w>>1]=0;c[z>>2]=0;c[u>>2]=0;c[G>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>=(c[(c[p>>2]|0)+12>>2]|0))break;if((((c[(c[G>>2]|0)+20>>2]|0)==(c[(c[r>>2]|0)+44>>2]|0)?(g=(c[G>>2]|0)+32|0,m=q,!((c[g>>2]&c[m>>2]|0)!=0?1:(c[g+4>>2]&c[m+4>>2]|0)!=0)):0)?(e[(c[G>>2]|0)+12>>1]&-2433|0)!=0:0)?(e[(c[G>>2]|0)+10>>1]&0|0)==0:0)c[z>>2]=(c[z>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;c[G>>2]=(c[G>>2]|0)+48}c[y>>2]=0;if(c[s>>2]|0){c[x>>2]=c[c[s>>2]>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break;c[B>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2];if((d[c[B>>2]>>0]|0)!=152)break;if((c[(c[B>>2]|0)+28>>2]|0)!=(c[(c[r>>2]|0)+44>>2]|0))break;c[u>>2]=(c[u>>2]|0)+1}if((c[u>>2]|0)==(c[x>>2]|0))c[y>>2]=c[x>>2]}c[E>>2]=sh(c[c[o>>2]>>2]|0,72+((c[z>>2]|0)*20|0)+(c[y>>2]<<3)|0,0)|0;if(!(c[E>>2]|0)){Eh(c[o>>2]|0,25016,I);c[n>>2]=0;I=c[n>>2]|0;i=J;return I|0}c[D>>2]=(c[E>>2]|0)+72;c[F>>2]=(c[D>>2]|0)+((c[z>>2]|0)*12|0);c[H>>2]=(c[F>>2]|0)+(c[y>>2]<<3);c[c[E>>2]>>2]=c[z>>2];c[(c[E>>2]|0)+8>>2]=c[y>>2];c[(c[E>>2]|0)+4>>2]=c[D>>2];c[(c[E>>2]|0)+12>>2]=c[F>>2];c[(c[E>>2]|0)+16>>2]=c[H>>2];c[v>>2]=0;c[u>>2]=0;c[G>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>=(c[(c[p>>2]|0)+12>>2]|0))break;if((((c[(c[G>>2]|0)+20>>2]|0)==(c[(c[r>>2]|0)+44>>2]|0)?(m=(c[G>>2]|0)+32|0,I=q,!((c[m>>2]&c[I>>2]|0)!=0?1:(c[m+4>>2]&c[I+4>>2]|0)!=0)):0)?(e[(c[G>>2]|0)+12>>1]&-2433|0)!=0:0)?(e[(c[G>>2]|0)+10>>1]&0|0)==0:0){c[(c[D>>2]|0)+((c[v>>2]|0)*12|0)>>2]=c[(c[G>>2]|0)+28>>2];c[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+8>>2]=c[u>>2];I=b[(c[G>>2]|0)+12>>1]&255;a[A>>0]=I;a[A>>0]=(d[A>>0]|0)==1?2:I;if((d[A>>0]|0)==64)a[A>>0]=a[(c[G>>2]|0)+15>>0]|0;a[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+4>>0]=a[A>>0]|0;if((d[A>>0]&60|0)!=0?(XA(c[(c[c[G>>2]>>2]|0)+16>>2]|0)|0)!=0:0){if((c[u>>2]|0)<16)b[w>>1]=e[w>>1]|1<>2];if((d[A>>0]|0)==16)a[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+4>>0]=8;if((d[A>>0]|0)==4)a[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+4>>0]=32}c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1;c[G>>2]=(c[G>>2]|0)+48}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;c[C>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2];c[(c[F>>2]|0)+(c[u>>2]<<3)>>2]=b[(c[C>>2]|0)+32>>1];a[(c[F>>2]|0)+(c[u>>2]<<3)+4>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+12>>0]|0;c[u>>2]=(c[u>>2]|0)+1}b[c[t>>2]>>1]=b[w>>1]|0;c[n>>2]=c[E>>2];I=c[n>>2]|0;i=J;return I|0}function OE(f,g,j,k,l,m,n,o,p){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=i;i=i+96|0;G=N+16|0;I=N+88|0;J=N+84|0;O=N+8|0;s=N;t=N+94|0;K=N+80|0;q=N+92|0;r=N+76|0;F=N+72|0;z=N+68|0;E=N+64|0;u=N+60|0;x=N+56|0;M=N+52|0;L=N+48|0;A=N+44|0;B=N+40|0;y=N+36|0;C=N+32|0;v=N+28|0;D=N+24|0;w=N+20|0;c[J>>2]=f;f=O;c[f>>2]=g;c[f+4>>2]=j;f=s;c[f>>2]=k;c[f+4>>2]=l;b[t>>1]=m;c[K>>2]=n;b[q>>1]=o;c[r>>2]=p;c[F>>2]=c[(c[J>>2]|0)+4>>2];c[E>>2]=c[(c[K>>2]|0)+16>>2];c[M>>2]=0;c[L>>2]=c[(c[J>>2]|0)+12>>2];c[A>>2]=c[c[c[J>>2]>>2]>>2];c[B>>2]=(c[(c[c[J>>2]>>2]|0)+4>>2]|0)+8+((d[(c[L>>2]|0)+16>>0]|0)*72|0);c[y>>2]=c[c[K>>2]>>2];c[c[r>>2]>>2]=0;f=O;n=c[f+4>>2]|0;p=c[L>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=n;c[z>>2]=c[(c[K>>2]|0)+4>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;c[C>>2]=(c[(c[F>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+8>>2]|0)*48|0);a[(c[z>>2]|0)+5>>0]=0;n=(c[C>>2]|0)+32|0;p=s;O=(c[C>>2]|0)+32|0;if(((c[n>>2]&c[p>>2]|0)==(c[O>>2]|0)?(c[n+4>>2]&c[p+4>>2]|0)==(c[O+4>>2]|0):0)?(e[(c[C>>2]|0)+12>>1]&e[t>>1]|0)==0:0)a[(c[z>>2]|0)+5>>0]=1;c[u>>2]=(c[u>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+12}VR(c[E>>2]|0,0,c[y>>2]<<3|0)|0;c[(c[K>>2]|0)+24>>2]=0;c[(c[K>>2]|0)+20>>2]=0;c[(c[K>>2]|0)+32>>2]=0;h[(c[K>>2]|0)+40>>3]=5.e+98;C=(c[K>>2]|0)+48|0;c[C>>2]=25;c[C+4>>2]=0;c[(c[K>>2]|0)+56>>2]=0;C=(c[B>>2]|0)+56|0;p=c[C+4>>2]|0;O=(c[K>>2]|0)+64|0;c[O>>2]=c[C>>2];c[O+4>>2]=p;c[M>>2]=PE(c[A>>2]|0,c[(c[B>>2]|0)+16>>2]|0,c[K>>2]|0)|0;if(c[M>>2]|0){c[I>>2]=c[M>>2];O=c[I>>2]|0;i=N;return O|0}c[x>>2]=-1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;c[(c[(c[L>>2]|0)+48>>2]|0)+(c[u>>2]<<2)>>2]=0;c[u>>2]=(c[u>>2]|0)+1}b[(c[L>>2]|0)+24+6>>1]=0;c[z>>2]=c[(c[K>>2]|0)+4>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;O=(c[(c[E>>2]|0)+(c[u>>2]<<3)>>2]|0)-1|0;c[v>>2]=O;if((O|0)>=0){c[w>>2]=c[(c[z>>2]|0)+8>>2];if((c[w>>2]|0)<0?1:(c[v>>2]|0)>=(c[y>>2]|0)){H=19;break}if((c[w>>2]|0)>=(c[(c[F>>2]|0)+12>>2]|0)){H=19;break}if(c[(c[(c[L>>2]|0)+48>>2]|0)+(c[v>>2]<<2)>>2]|0){H=19;break}if(!(d[(c[z>>2]|0)+5>>0]|0)){H=19;break}c[D>>2]=(c[(c[F>>2]|0)+20>>2]|0)+((c[w>>2]|0)*48|0);C=(c[D>>2]|0)+32|0;O=c[L>>2]|0;n=O;p=c[n+4>>2]|c[C+4>>2];c[O>>2]=c[n>>2]|c[C>>2];c[O+4>>2]=p;c[(c[(c[L>>2]|0)+48>>2]|0)+(c[v>>2]<<2)>>2]=c[D>>2];if((c[v>>2]|0)>(c[x>>2]|0))c[x>>2]=c[v>>2];if((c[v>>2]|0)<16?(d[(c[E>>2]|0)+(c[u>>2]<<3)+4>>0]|0)!=0:0){O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]|1<>2]}if(e[(c[D>>2]|0)+12>>1]&1){c[(c[K>>2]|0)+32>>2]=0;O=(c[K>>2]|0)+56|0;c[O>>2]=c[O>>2]&-2;c[c[r>>2]>>2]=1}}c[u>>2]=(c[u>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+12}if((H|0)==19){c[M>>2]=1;O=c[A>>2]|0;c[G>>2]=c[c[(c[B>>2]|0)+16>>2]>>2];Eh(O,34806,G);c[I>>2]=c[M>>2];O=c[I>>2]|0;i=N;return O|0}O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]&~e[q>>1];b[(c[L>>2]|0)+40>>1]=(c[x>>2]|0)+1;c[(c[L>>2]|0)+24>>2]=c[(c[K>>2]|0)+20>>2];a[(c[L>>2]|0)+24+4>>0]=c[(c[K>>2]|0)+28>>2];c[(c[K>>2]|0)+28>>2]=0;c[(c[L>>2]|0)+24+8>>2]=c[(c[K>>2]|0)+24>>2];if(c[(c[K>>2]|0)+32>>2]|0)g=c[(c[K>>2]|0)+8>>2]|0;else g=0;a[(c[L>>2]|0)+24+5>>0]=g;b[(c[L>>2]|0)+18>>1]=0;g=QE(+h[(c[K>>2]|0)+40>>3])|0;b[(c[L>>2]|0)+20>>1]=g;g=(c[K>>2]|0)+48|0;g=Mj(c[g>>2]|0,c[g+4>>2]|0)|0;b[(c[L>>2]|0)+22>>1]=g;g=(c[L>>2]|0)+36|0;j=c[g>>2]|0;if(c[(c[K>>2]|0)+56>>2]&1)c[g>>2]=j|4096;else c[g>>2]=j&-4097;c[M>>2]=wE(c[J>>2]|0,c[L>>2]|0)|0;if(a[(c[L>>2]|0)+24+4>>0]|0){Kd(c[(c[L>>2]|0)+24+8>>2]|0);a[(c[L>>2]|0)+24+4>>0]=0}c[I>>2]=c[M>>2];O=c[I>>2]|0;i=N;return O|0}function PE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;j=k+8|0;h=k;e=k+28|0;m=k+24|0;l=k+20|0;f=k+16|0;g=k+12|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;c[f>>2]=c[(Ux(c[c[e>>2]>>2]|0,c[m>>2]|0)|0)+8>>2];c[g>>2]=Yb[c[(c[c[f>>2]>>2]|0)+12>>2]&255](c[f>>2]|0,c[l>>2]|0)|0;do if(c[g>>2]|0){if((c[g>>2]|0)==7){mh(c[c[e>>2]>>2]|0);break}d=c[e>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){c[j>>2]=c[(c[f>>2]|0)+8>>2];Eh(d,18391,j);break}else{c[h>>2]=lh(c[g>>2]|0)|0;Eh(d,18391,h);break}}while(0);Kd(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0;i=k;return c[(c[e>>2]|0)+36>>2]|0}function QE(a){a=+a;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+32|0;d=j+18|0;e=j+8|0;f=j;g=j+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;i=j;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Mj(~~a>>>0,+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;i=j;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=SR(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=QR(f|0,C|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;i=j;return g|0}return 0}function RE(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;q=t+8|0;o=t+4|0;p=t;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[k>>2]>>2]|0)){j=10;break}c[o>>2]=ky(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[o>>2]>>0]|0)==152?(b[(c[o>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0):0)?(c[(c[o>>2]|0)+28>>2]|0)==(c[l>>2]|0):0)?(c[p>>2]=fy(c[j>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0,(c[p>>2]|0)!=0):0)?0==(ig(c[c[p>>2]>>2]|0,c[q>>2]|0)|0):0){j=8;break}c[s>>2]=(c[s>>2]|0)+1}if((j|0)==8){c[r>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}else if((j|0)==10){c[r>>2]=-1;s=c[r>>2]|0;i=t;return s|0}return 0} -function OR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[2261]|0;if(n>>>0>>0)Ma();if((n|0)==(c[2262]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[2259]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=9068+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(n|0))Ma()}if((e|0)==(f|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ma()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ma();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ma()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=9332+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[2261]|0;if(l>>>0>>0)Ma();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Ma();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[2261]|0;if(q>>>0>>0)Ma();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[2263]|0)){s=(c[2260]|0)+h|0;c[2260]=s;c[2263]=t;c[t+4>>2]=s|1;if((t|0)!=(c[2262]|0))return;c[2262]=0;c[2259]=0;return}if((q|0)==(c[2262]|0)){s=(c[2259]|0)+h|0;c[2259]=s;c[2262]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ma();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ma()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=9332+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[2261]|0;if(p>>>0>>0)Ma();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=9068+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(q|0))Ma()}if((e|0)==(f|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ma()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[2262]|0)){c[2259]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=9068+(e<<2)|0;f=c[2257]|0;d=1<>2]|0;if(e>>>0<(c[2261]|0)>>>0)Ma();else{r=d;s=e}}else{c[2257]=f|d;r=9068+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=9332+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[2258]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[2261]|0)>>>0)Ma();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[2261]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ma();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function PR(){}function QR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function RR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function SR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function TR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return lb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function UR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else TR(b,c,d)|0;return b|0}function VR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function YR(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function ZR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function _R(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=QR(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return QR((dS(h,g,QR(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function $R(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=QR(h^a,g^b,h,g)|0;b=C;dS(a,b,QR(l^d,k^e,l,k)|0,C,j)|0;e=QR(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function aS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=ZR(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function bS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dS(a,b,c,d,0)|0}function cS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;dS(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function dS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=YR(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((YR(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=RR(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;QR(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=QR(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function eS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ob[a&255](b|0,c|0,d|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(0,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(1,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(2,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(3,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(4,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(5,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(6,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(7,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(8,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(9,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(10,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(11,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(12,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(13,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(14,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(15,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(16,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(17,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(18,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(19,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(20,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(21,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(22,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(23,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(24,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return ea(25,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(26,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(27,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(28,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(29,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(30,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(31,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(32,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(33,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(34,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(35,a|0,b|0,c|0)|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(36,a|0,b|0,c|0)|0}function QS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(37,a|0,b|0,c|0)|0}function RS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(38,a|0,b|0,c|0)|0}function SS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(39,a|0,b|0,c|0)|0}function TS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(40,a|0,b|0,c|0)|0}function US(a,b,c){a=a|0;b=b|0;c=c|0;return ea(41,a|0,b|0,c|0)|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(42,a|0,b|0,c|0)|0}function WS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(43,a|0,b|0,c|0)|0}function XS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(44,a|0,b|0,c|0)|0}function YS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(45,a|0,b|0,c|0)|0}function ZS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(46,a|0,b|0,c|0)|0}function _S(a,b,c){a=a|0;b=b|0;c=c|0;return ea(47,a|0,b|0,c|0)|0}function $S(a,b,c){a=a|0;b=b|0;c=c|0;return ea(48,a|0,b|0,c|0)|0}function aT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(49,a|0,b|0,c|0)|0}function bT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(50,a|0,b|0,c|0)|0}function cT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(51,a|0,b|0,c|0)|0}function dT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(52,a|0,b|0,c|0)|0}function eT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(53,a|0,b|0,c|0)|0}function fT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(54,a|0,b|0,c|0)|0}function gT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(55,a|0,b|0,c|0)|0}function hT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(56,a|0,b|0,c|0)|0}function iT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(57,a|0,b|0,c|0)|0}function jT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(58,a|0,b|0,c|0)|0}function kT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(59,a|0,b|0,c|0)|0}function lT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(60,a|0,b|0,c|0)|0}function mT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(61,a|0,b|0,c|0)|0}function nT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(62,a|0,b|0,c|0)|0}function oT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(63,a|0,b|0,c|0)|0}function pT(a){a=a|0;return Pb[a&255]()|0}function qT(){return ga(0)|0}function rT(){return ga(1)|0}function sT(){return ga(2)|0}function tT(){return ga(3)|0}function uT(){return ga(4)|0}function vT(){return ga(5)|0}function wT(){return ga(6)|0}function xT(){return ga(7)|0}function yT(){return ga(8)|0}function zT(){return ga(9)|0}function AT(){return ga(10)|0}function BT(){return ga(11)|0}function CT(){return ga(12)|0}function DT(){return ga(13)|0}function ET(){return ga(14)|0}function FT(){return ga(15)|0}function GT(){return ga(16)|0}function HT(){return ga(17)|0}function IT(){return ga(18)|0}function JT(){return ga(19)|0}function KT(){return ga(20)|0}function LT(){return ga(21)|0}function MT(){return ga(22)|0}function NT(){return ga(23)|0}function OT(){return ga(24)|0}function PT(){return ga(25)|0}function QT(){return ga(26)|0}function RT(){return ga(27)|0}function ST(){return ga(28)|0}function TT(){return ga(29)|0}function UT(){return ga(30)|0}function VT(){return ga(31)|0}function WT(){return ga(32)|0}function XT(){return ga(33)|0}function YT(){return ga(34)|0}function ZT(){return ga(35)|0}function _T(){return ga(36)|0}function $T(){return ga(37)|0}function aU(){return ga(38)|0}function bU(){return ga(39)|0}function cU(){return ga(40)|0}function dU(){return ga(41)|0}function eU(){return ga(42)|0}function fU(){return ga(43)|0}function gU(){return ga(44)|0}function hU(){return ga(45)|0}function iU(){return ga(46)|0}function jU(){return ga(47)|0}function kU(){return ga(48)|0}function lU(){return ga(49)|0}function mU(){return ga(50)|0}function nU(){return ga(51)|0}function oU(){return ga(52)|0}function pU(){return ga(53)|0}function qU(){return ga(54)|0}function rU(){return ga(55)|0}function sU(){return ga(56)|0}function tU(){return ga(57)|0}function uU(){return ga(58)|0}function vU(){return ga(59)|0}function wU(){return ga(60)|0}function xU(){return ga(61)|0}function yU(){return ga(62)|0}function zU(){return ga(63)|0}function AU(a,b){a=a|0;b=b|0;Qb[a&255](b|0)}function BU(a){a=a|0;ia(0,a|0)}function CU(a){a=a|0;ia(1,a|0)}function DU(a){a=a|0;ia(2,a|0)}function EU(a){a=a|0;ia(3,a|0)}function FU(a){a=a|0;ia(4,a|0)}function GU(a){a=a|0;ia(5,a|0)}function HU(a){a=a|0;ia(6,a|0)}function IU(a){a=a|0;ia(7,a|0)}function JU(a){a=a|0;ia(8,a|0)}function KU(a){a=a|0;ia(9,a|0)}function LU(a){a=a|0;ia(10,a|0)}function MU(a){a=a|0;ia(11,a|0)}function NU(a){a=a|0;ia(12,a|0)}function OU(a){a=a|0;ia(13,a|0)}function PU(a){a=a|0;ia(14,a|0)}function QU(a){a=a|0;ia(15,a|0)}function RU(a){a=a|0;ia(16,a|0)}function SU(a){a=a|0;ia(17,a|0)}function TU(a){a=a|0;ia(18,a|0)}function UU(a){a=a|0;ia(19,a|0)}function VU(a){a=a|0;ia(20,a|0)}function WU(a){a=a|0;ia(21,a|0)}function XU(a){a=a|0;ia(22,a|0)}function YU(a){a=a|0;ia(23,a|0)}function ZU(a){a=a|0;ia(24,a|0)}function _U(a){a=a|0;ia(25,a|0)}function $U(a){a=a|0;ia(26,a|0)}function aV(a){a=a|0;ia(27,a|0)}function bV(a){a=a|0;ia(28,a|0)}function cV(a){a=a|0;ia(29,a|0)}function dV(a){a=a|0;ia(30,a|0)}function eV(a){a=a|0;ia(31,a|0)}function fV(a){a=a|0;ia(32,a|0)}function gV(a){a=a|0;ia(33,a|0)}function hV(a){a=a|0;ia(34,a|0)}function iV(a){a=a|0;ia(35,a|0)}function jV(a){a=a|0;ia(36,a|0)}function kV(a){a=a|0;ia(37,a|0)}function lV(a){a=a|0;ia(38,a|0)}function mV(a){a=a|0;ia(39,a|0)}function nV(a){a=a|0;ia(40,a|0)}function oV(a){a=a|0;ia(41,a|0)}function pV(a){a=a|0;ia(42,a|0)}function qV(a){a=a|0;ia(43,a|0)}function rV(a){a=a|0;ia(44,a|0)}function sV(a){a=a|0;ia(45,a|0)}function tV(a){a=a|0;ia(46,a|0)}function uV(a){a=a|0;ia(47,a|0)}function vV(a){a=a|0;ia(48,a|0)}function wV(a){a=a|0;ia(49,a|0)}function xV(a){a=a|0;ia(50,a|0)}function yV(a){a=a|0;ia(51,a|0)}function zV(a){a=a|0;ia(52,a|0)}function AV(a){a=a|0;ia(53,a|0)}function BV(a){a=a|0;ia(54,a|0)}function CV(a){a=a|0;ia(55,a|0)}function DV(a){a=a|0;ia(56,a|0)}function EV(a){a=a|0;ia(57,a|0)}function FV(a){a=a|0;ia(58,a|0)}function GV(a){a=a|0;ia(59,a|0)}function HV(a){a=a|0;ia(60,a|0)}function IV(a){a=a|0;ia(61,a|0)}function JV(a){a=a|0;ia(62,a|0)}function KV(a){a=a|0;ia(63,a|0)}function LV(a,b,c){a=a|0;b=b|0;c=c|0;Rb[a&255](b|0,c|0)}function MV(a,b){a=a|0;b=b|0;ka(0,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ka(1,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ka(2,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ka(3,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ka(4,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ka(5,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ka(6,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ka(7,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ka(8,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ka(9,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ka(10,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ka(11,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ka(12,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ka(13,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ka(14,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ka(15,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ka(16,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ka(17,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ka(18,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ka(19,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ka(20,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ka(21,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ka(22,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ka(23,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ka(24,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ka(25,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ka(26,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ka(27,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ka(28,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ka(29,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ka(30,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ka(31,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ka(32,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ka(33,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ka(34,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ka(35,a|0,b|0)}function uW(a,b){a=a|0;b=b|0;ka(36,a|0,b|0)}function vW(a,b){a=a|0;b=b|0;ka(37,a|0,b|0)}function wW(a,b){a=a|0;b=b|0;ka(38,a|0,b|0)}function xW(a,b){a=a|0;b=b|0;ka(39,a|0,b|0)}function yW(a,b){a=a|0;b=b|0;ka(40,a|0,b|0)}function zW(a,b){a=a|0;b=b|0;ka(41,a|0,b|0)}function AW(a,b){a=a|0;b=b|0;ka(42,a|0,b|0)}function BW(a,b){a=a|0;b=b|0;ka(43,a|0,b|0)}function CW(a,b){a=a|0;b=b|0;ka(44,a|0,b|0)}function DW(a,b){a=a|0;b=b|0;ka(45,a|0,b|0)}function EW(a,b){a=a|0;b=b|0;ka(46,a|0,b|0)}function FW(a,b){a=a|0;b=b|0;ka(47,a|0,b|0)}function GW(a,b){a=a|0;b=b|0;ka(48,a|0,b|0)}function HW(a,b){a=a|0;b=b|0;ka(49,a|0,b|0)}function IW(a,b){a=a|0;b=b|0;ka(50,a|0,b|0)}function JW(a,b){a=a|0;b=b|0;ka(51,a|0,b|0)}function KW(a,b){a=a|0;b=b|0;ka(52,a|0,b|0)}function LW(a,b){a=a|0;b=b|0;ka(53,a|0,b|0)}function MW(a,b){a=a|0;b=b|0;ka(54,a|0,b|0)}function NW(a,b){a=a|0;b=b|0;ka(55,a|0,b|0)}function OW(a,b){a=a|0;b=b|0;ka(56,a|0,b|0)}function PW(a,b){a=a|0;b=b|0;ka(57,a|0,b|0)}function QW(a,b){a=a|0;b=b|0;ka(58,a|0,b|0)}function RW(a,b){a=a|0;b=b|0;ka(59,a|0,b|0)}function SW(a,b){a=a|0;b=b|0;ka(60,a|0,b|0)}function TW(a,b){a=a|0;b=b|0;ka(61,a|0,b|0)}function UW(a,b){a=a|0;b=b|0;ka(62,a|0,b|0)}function VW(a,b){a=a|0;b=b|0;ka(63,a|0,b|0)}function WW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Sb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _X(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $X(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fY(a,b){a=a|0;b=b|0;return Tb[a&255](b|0)|0}function gY(a){a=a|0;return oa(0,a|0)|0}function hY(a){a=a|0;return oa(1,a|0)|0}function iY(a){a=a|0;return oa(2,a|0)|0}function jY(a){a=a|0;return oa(3,a|0)|0}function kY(a){a=a|0;return oa(4,a|0)|0}function lY(a){a=a|0;return oa(5,a|0)|0}function mY(a){a=a|0;return oa(6,a|0)|0}function nY(a){a=a|0;return oa(7,a|0)|0}function oY(a){a=a|0;return oa(8,a|0)|0}function pY(a){a=a|0;return oa(9,a|0)|0}function qY(a){a=a|0;return oa(10,a|0)|0}function rY(a){a=a|0;return oa(11,a|0)|0}function sY(a){a=a|0;return oa(12,a|0)|0}function tY(a){a=a|0;return oa(13,a|0)|0}function uY(a){a=a|0;return oa(14,a|0)|0}function vY(a){a=a|0;return oa(15,a|0)|0}function wY(a){a=a|0;return oa(16,a|0)|0}function xY(a){a=a|0;return oa(17,a|0)|0}function yY(a){a=a|0;return oa(18,a|0)|0}function zY(a){a=a|0;return oa(19,a|0)|0}function AY(a){a=a|0;return oa(20,a|0)|0}function BY(a){a=a|0;return oa(21,a|0)|0}function CY(a){a=a|0;return oa(22,a|0)|0}function DY(a){a=a|0;return oa(23,a|0)|0}function EY(a){a=a|0;return oa(24,a|0)|0}function FY(a){a=a|0;return oa(25,a|0)|0}function GY(a){a=a|0;return oa(26,a|0)|0}function HY(a){a=a|0;return oa(27,a|0)|0}function IY(a){a=a|0;return oa(28,a|0)|0}function JY(a){a=a|0;return oa(29,a|0)|0}function KY(a){a=a|0;return oa(30,a|0)|0}function LY(a){a=a|0;return oa(31,a|0)|0}function MY(a){a=a|0;return oa(32,a|0)|0}function NY(a){a=a|0;return oa(33,a|0)|0}function OY(a){a=a|0;return oa(34,a|0)|0}function PY(a){a=a|0;return oa(35,a|0)|0}function QY(a){a=a|0;return oa(36,a|0)|0}function RY(a){a=a|0;return oa(37,a|0)|0}function SY(a){a=a|0;return oa(38,a|0)|0}function TY(a){a=a|0;return oa(39,a|0)|0}function UY(a){a=a|0;return oa(40,a|0)|0}function VY(a){a=a|0;return oa(41,a|0)|0}function WY(a){a=a|0;return oa(42,a|0)|0}function XY(a){a=a|0;return oa(43,a|0)|0}function YY(a){a=a|0;return oa(44,a|0)|0}function ZY(a){a=a|0;return oa(45,a|0)|0}function _Y(a){a=a|0;return oa(46,a|0)|0}function $Y(a){a=a|0;return oa(47,a|0)|0}function aZ(a){a=a|0;return oa(48,a|0)|0}function bZ(a){a=a|0;return oa(49,a|0)|0}function cZ(a){a=a|0;return oa(50,a|0)|0}function dZ(a){a=a|0;return oa(51,a|0)|0}function eZ(a){a=a|0;return oa(52,a|0)|0}function fZ(a){a=a|0;return oa(53,a|0)|0}function gZ(a){a=a|0;return oa(54,a|0)|0}function hZ(a){a=a|0;return oa(55,a|0)|0}function iZ(a){a=a|0;return oa(56,a|0)|0}function jZ(a){a=a|0;return oa(57,a|0)|0}function kZ(a){a=a|0;return oa(58,a|0)|0}function lZ(a){a=a|0;return oa(59,a|0)|0}function mZ(a){a=a|0;return oa(60,a|0)|0}function nZ(a){a=a|0;return oa(61,a|0)|0}function oZ(a){a=a|0;return oa(62,a|0)|0}function pZ(a){a=a|0;return oa(63,a|0)|0}function qZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ub[a&255](b|0,c|0,d|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(0,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(1,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(2,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(3,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(4,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(5,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(6,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(7,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(8,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(9,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(10,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(11,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(12,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(13,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(14,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(15,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(16,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(17,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(18,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(19,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(20,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(21,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(22,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(23,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(24,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(25,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(26,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(27,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(28,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(29,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(30,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(31,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(32,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(33,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(34,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(35,a|0,b|0,c|0)}function $Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(36,a|0,b|0,c|0)}function a_(a,b,c){a=a|0;b=b|0;c=c|0;qa(37,a|0,b|0,c|0)}function b_(a,b,c){a=a|0;b=b|0;c=c|0;qa(38,a|0,b|0,c|0)}function c_(a,b,c){a=a|0;b=b|0;c=c|0;qa(39,a|0,b|0,c|0)}function d_(a,b,c){a=a|0;b=b|0;c=c|0;qa(40,a|0,b|0,c|0)}function e_(a,b,c){a=a|0;b=b|0;c=c|0;qa(41,a|0,b|0,c|0)}function f_(a,b,c){a=a|0;b=b|0;c=c|0;qa(42,a|0,b|0,c|0)}function g_(a,b,c){a=a|0;b=b|0;c=c|0;qa(43,a|0,b|0,c|0)}function h_(a,b,c){a=a|0;b=b|0;c=c|0;qa(44,a|0,b|0,c|0)}function i_(a,b,c){a=a|0;b=b|0;c=c|0;qa(45,a|0,b|0,c|0)}function j_(a,b,c){a=a|0;b=b|0;c=c|0;qa(46,a|0,b|0,c|0)}function k_(a,b,c){a=a|0;b=b|0;c=c|0;qa(47,a|0,b|0,c|0)}function l_(a,b,c){a=a|0;b=b|0;c=c|0;qa(48,a|0,b|0,c|0)}function m_(a,b,c){a=a|0;b=b|0;c=c|0;qa(49,a|0,b|0,c|0)}function n_(a,b,c){a=a|0;b=b|0;c=c|0;qa(50,a|0,b|0,c|0)}function o_(a,b,c){a=a|0;b=b|0;c=c|0;qa(51,a|0,b|0,c|0)}function p_(a,b,c){a=a|0;b=b|0;c=c|0;qa(52,a|0,b|0,c|0)}function q_(a,b,c){a=a|0;b=b|0;c=c|0;qa(53,a|0,b|0,c|0)}function r_(a,b,c){a=a|0;b=b|0;c=c|0;qa(54,a|0,b|0,c|0)}function s_(a,b,c){a=a|0;b=b|0;c=c|0;qa(55,a|0,b|0,c|0)}function t_(a,b,c){a=a|0;b=b|0;c=c|0;qa(56,a|0,b|0,c|0)}function u_(a,b,c){a=a|0;b=b|0;c=c|0;qa(57,a|0,b|0,c|0)}function v_(a,b,c){a=a|0;b=b|0;c=c|0;qa(58,a|0,b|0,c|0)}function w_(a,b,c){a=a|0;b=b|0;c=c|0;qa(59,a|0,b|0,c|0)}function x_(a,b,c){a=a|0;b=b|0;c=c|0;qa(60,a|0,b|0,c|0)}function y_(a,b,c){a=a|0;b=b|0;c=c|0;qa(61,a|0,b|0,c|0)}function z_(a,b,c){a=a|0;b=b|0;c=c|0;qa(62,a|0,b|0,c|0)}function A_(a,b,c){a=a|0;b=b|0;c=c|0;qa(63,a|0,b|0,c|0)}function B_(a){a=a|0;Vb[a&255]()}function C_(){sa(0)}function D_(){sa(1)}function E_(){sa(2)}function F_(){sa(3)}function G_(){sa(4)}function H_(){sa(5)}function I_(){sa(6)}function J_(){sa(7)}function K_(){sa(8)}function L_(){sa(9)}function M_(){sa(10)}function N_(){sa(11)}function O_(){sa(12)}function P_(){sa(13)}function Q_(){sa(14)}function R_(){sa(15)}function S_(){sa(16)}function T_(){sa(17)}function U_(){sa(18)}function V_(){sa(19)}function W_(){sa(20)}function X_(){sa(21)}function Y_(){sa(22)}function Z_(){sa(23)}function __(){sa(24)}function $_(){sa(25)}function a$(){sa(26)}function b$(){sa(27)}function c$(){sa(28)}function d$(){sa(29)}function e$(){sa(30)}function f$(){sa(31)}function g$(){sa(32)}function h$(){sa(33)}function i$(){sa(34)}function j$(){sa(35)}function k$(){sa(36)}function l$(){sa(37)}function m$(){sa(38)}function n$(){sa(39)}function o$(){sa(40)}function p$(){sa(41)}function q$(){sa(42)}function r$(){sa(43)}function s$(){sa(44)}function t$(){sa(45)}function u$(){sa(46)}function v$(){sa(47)}function w$(){sa(48)}function x$(){sa(49)}function y$(){sa(50)}function z$(){sa(51)}function A$(){sa(52)}function B$(){sa(53)}function C$(){sa(54)}function D$(){sa(55)}function E$(){sa(56)}function F$(){sa(57)}function G$(){sa(58)}function H$(){sa(59)}function I$(){sa(60)}function J$(){sa(61)}function K$(){sa(62)}function L$(){sa(63)}function M$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wb[a&255](b|0,c|0,d|0,e|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(0,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(1,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(2,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(3,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(4,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(5,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(6,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(7,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(8,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(9,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(10,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(11,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(12,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(13,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(14,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(15,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(16,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(17,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(18,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(19,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(20,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(21,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(22,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(23,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(24,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(25,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(26,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(27,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(28,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(29,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(30,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(31,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(32,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(33,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(34,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(35,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(36,a|0,b|0,c|0,d|0)|0}function w0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(37,a|0,b|0,c|0,d|0)|0}function x0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(38,a|0,b|0,c|0,d|0)|0}function y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(39,a|0,b|0,c|0,d|0)|0}function z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(40,a|0,b|0,c|0,d|0)|0}function A0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(41,a|0,b|0,c|0,d|0)|0}function B0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(42,a|0,b|0,c|0,d|0)|0}function C0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(43,a|0,b|0,c|0,d|0)|0}function D0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(44,a|0,b|0,c|0,d|0)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(45,a|0,b|0,c|0,d|0)|0}function F0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(46,a|0,b|0,c|0,d|0)|0}function G0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(47,a|0,b|0,c|0,d|0)|0}function H0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(48,a|0,b|0,c|0,d|0)|0}function I0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(49,a|0,b|0,c|0,d|0)|0}function J0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(50,a|0,b|0,c|0,d|0)|0}function K0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(51,a|0,b|0,c|0,d|0)|0}function L0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(52,a|0,b|0,c|0,d|0)|0}function M0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(53,a|0,b|0,c|0,d|0)|0}function N0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(54,a|0,b|0,c|0,d|0)|0}function O0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(55,a|0,b|0,c|0,d|0)|0}function P0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(56,a|0,b|0,c|0,d|0)|0}function Q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(57,a|0,b|0,c|0,d|0)|0}function R0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(58,a|0,b|0,c|0,d|0)|0}function S0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(59,a|0,b|0,c|0,d|0)|0}function T0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(60,a|0,b|0,c|0,d|0)|0}function U0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(61,a|0,b|0,c|0,d|0)|0}function V0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(62,a|0,b|0,c|0,d|0)|0}function W0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(63,a|0,b|0,c|0,d|0)|0}function X0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Xb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function H1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function I1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function J1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function K1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function L1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function M1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function N1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function O1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function P1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function Q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function R1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function S1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function T1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function U1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function V1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function W1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function X1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function Y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function Z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function _1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function $1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function a2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function b2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function c2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function d2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function e2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function f2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function g2(a,b,c){a=a|0;b=b|0;c=c|0;return Yb[a&255](b|0,c|0)|0}function h2(a,b){a=a|0;b=b|0;return ya(0,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return ya(1,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return ya(2,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return ya(3,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return ya(4,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return ya(5,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return ya(6,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return ya(7,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return ya(8,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return ya(9,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return ya(10,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return ya(11,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return ya(12,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return ya(13,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return ya(14,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return ya(15,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return ya(16,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return ya(17,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return ya(18,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return ya(19,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return ya(20,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return ya(21,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return ya(22,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return ya(23,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return ya(24,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return ya(25,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return ya(26,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return ya(27,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return ya(28,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return ya(29,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return ya(30,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return ya(31,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return ya(32,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return ya(33,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return ya(34,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return ya(35,a|0,b|0)|0}function R2(a,b){a=a|0;b=b|0;return ya(36,a|0,b|0)|0}function S2(a,b){a=a|0;b=b|0;return ya(37,a|0,b|0)|0}function T2(a,b){a=a|0;b=b|0;return ya(38,a|0,b|0)|0}function U2(a,b){a=a|0;b=b|0;return ya(39,a|0,b|0)|0}function V2(a,b){a=a|0;b=b|0;return ya(40,a|0,b|0)|0}function W2(a,b){a=a|0;b=b|0;return ya(41,a|0,b|0)|0}function X2(a,b){a=a|0;b=b|0;return ya(42,a|0,b|0)|0}function Y2(a,b){a=a|0;b=b|0;return ya(43,a|0,b|0)|0}function Z2(a,b){a=a|0;b=b|0;return ya(44,a|0,b|0)|0}function _2(a,b){a=a|0;b=b|0;return ya(45,a|0,b|0)|0}function $2(a,b){a=a|0;b=b|0;return ya(46,a|0,b|0)|0}function a3(a,b){a=a|0;b=b|0;return ya(47,a|0,b|0)|0}function b3(a,b){a=a|0;b=b|0;return ya(48,a|0,b|0)|0}function c3(a,b){a=a|0;b=b|0;return ya(49,a|0,b|0)|0}function d3(a,b){a=a|0;b=b|0;return ya(50,a|0,b|0)|0}function e3(a,b){a=a|0;b=b|0;return ya(51,a|0,b|0)|0}function f3(a,b){a=a|0;b=b|0;return ya(52,a|0,b|0)|0}function g3(a,b){a=a|0;b=b|0;return ya(53,a|0,b|0)|0}function h3(a,b){a=a|0;b=b|0;return ya(54,a|0,b|0)|0}function i3(a,b){a=a|0;b=b|0;return ya(55,a|0,b|0)|0}function j3(a,b){a=a|0;b=b|0;return ya(56,a|0,b|0)|0}function k3(a,b){a=a|0;b=b|0;return ya(57,a|0,b|0)|0}function l3(a,b){a=a|0;b=b|0;return ya(58,a|0,b|0)|0}function m3(a,b){a=a|0;b=b|0;return ya(59,a|0,b|0)|0}function n3(a,b){a=a|0;b=b|0;return ya(60,a|0,b|0)|0}function o3(a,b){a=a|0;b=b|0;return ya(61,a|0,b|0)|0}function p3(a,b){a=a|0;b=b|0;return ya(62,a|0,b|0)|0}function q3(a,b){a=a|0;b=b|0;return ya(63,a|0,b|0)|0}function r3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(0,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(1,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(2,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(3,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(4,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(5,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(6,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(7,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(8,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(9,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(10,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(11,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(12,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(13,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(14,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(15,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(16,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(17,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(18,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(19,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(20,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(21,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(22,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(23,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(24,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(25,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(26,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(27,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(28,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(29,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(30,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(31,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(32,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(33,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(34,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(35,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(36,a|0,b|0,c|0,d|0,e|0)|0}function b4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(37,a|0,b|0,c|0,d|0,e|0)|0}function c4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(38,a|0,b|0,c|0,d|0,e|0)|0}function d4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(39,a|0,b|0,c|0,d|0,e|0)|0}function e4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(40,a|0,b|0,c|0,d|0,e|0)|0}function f4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(41,a|0,b|0,c|0,d|0,e|0)|0}function g4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(42,a|0,b|0,c|0,d|0,e|0)|0}function h4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(43,a|0,b|0,c|0,d|0,e|0)|0}function i4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(44,a|0,b|0,c|0,d|0,e|0)|0}function j4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(45,a|0,b|0,c|0,d|0,e|0)|0}function k4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(46,a|0,b|0,c|0,d|0,e|0)|0}function l4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(47,a|0,b|0,c|0,d|0,e|0)|0}function m4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(48,a|0,b|0,c|0,d|0,e|0)|0}function n4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(49,a|0,b|0,c|0,d|0,e|0)|0}function o4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(50,a|0,b|0,c|0,d|0,e|0)|0}function p4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(51,a|0,b|0,c|0,d|0,e|0)|0}function q4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(52,a|0,b|0,c|0,d|0,e|0)|0}function r4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(53,a|0,b|0,c|0,d|0,e|0)|0}function s4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(54,a|0,b|0,c|0,d|0,e|0)|0}function t4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(55,a|0,b|0,c|0,d|0,e|0)|0}function u4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(56,a|0,b|0,c|0,d|0,e|0)|0}function v4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(57,a|0,b|0,c|0,d|0,e|0)|0}function w4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(58,a|0,b|0,c|0,d|0,e|0)|0}function x4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(59,a|0,b|0,c|0,d|0,e|0)|0}function y4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(60,a|0,b|0,c|0,d|0,e|0)|0}function z4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(61,a|0,b|0,c|0,d|0,e|0)|0}function A4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(62,a|0,b|0,c|0,d|0,e|0)|0}function B4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(63,a|0,b|0,c|0,d|0,e|0)|0}function C4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_b[a&255](b|0,c|0,d|0,e|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(0,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(1,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(2,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(3,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(4,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(5,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(6,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(7,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(8,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(9,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(10,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(11,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(12,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(13,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(14,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(15,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(16,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(17,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(18,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(19,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(20,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(21,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(22,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(23,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(24,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(25,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(26,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(27,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(28,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(29,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(30,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(31,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(32,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(33,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(34,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(35,a|0,b|0,c|0,d|0)}function l5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(36,a|0,b|0,c|0,d|0)}function m5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(37,a|0,b|0,c|0,d|0)}function n5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(38,a|0,b|0,c|0,d|0)}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(39,a|0,b|0,c|0,d|0)}function p5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(40,a|0,b|0,c|0,d|0)}function q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(41,a|0,b|0,c|0,d|0)}function r5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(42,a|0,b|0,c|0,d|0)}function s5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(43,a|0,b|0,c|0,d|0)}function t5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(44,a|0,b|0,c|0,d|0)}function u5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(45,a|0,b|0,c|0,d|0)}function v5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(46,a|0,b|0,c|0,d|0)}function w5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(47,a|0,b|0,c|0,d|0)}function x5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(48,a|0,b|0,c|0,d|0)}function y5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(49,a|0,b|0,c|0,d|0)}function z5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(50,a|0,b|0,c|0,d|0)}function A5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(51,a|0,b|0,c|0,d|0)}function B5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(52,a|0,b|0,c|0,d|0)}function C5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(53,a|0,b|0,c|0,d|0)}function D5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(54,a|0,b|0,c|0,d|0)}function E5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(55,a|0,b|0,c|0,d|0)}function F5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(56,a|0,b|0,c|0,d|0)}function G5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(57,a|0,b|0,c|0,d|0)}function H5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(58,a|0,b|0,c|0,d|0)}function I5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(59,a|0,b|0,c|0,d|0)}function J5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(60,a|0,b|0,c|0,d|0)}function K5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(61,a|0,b|0,c|0,d|0)}function L5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(62,a|0,b|0,c|0,d|0)}function M5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(63,a|0,b|0,c|0,d|0)}function N5(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function O5(){ba(1);return 0}function P5(a){a=a|0;ba(2)}function Q5(a,b){a=a|0;b=b|0;ba(3)}function R5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function S5(a){a=a|0;ba(5);return 0}function T5(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function U5(){ba(7)}function V5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(8);return 0}function W5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(9)}function X5(a,b){a=a|0;b=b|0;ba(10);return 0}function Y5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function Z5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} +function Pb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function Qb(){return l|0}function Rb(a){a=a|0;l=a}function Sb(a,b){a=a|0;b=b|0;l=a;m=b}function Tb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Ub(a){a=a|0;D=a}function Vb(){return D|0}function Wb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[328+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}XJ(c[e>>2]|0,c[328+((c[f>>2]|0)*12|0)>>2]|0,a[328+((c[f>>2]|0)*12|0)+4>>0]|0,d[328+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[328+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[808+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}XJ(c[e>>2]|0,c[808+(c[f>>2]<<4)>>2]|0,a[808+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[808+(c[f>>2]<<4)+8>>2]|0,c[808+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}l=i;return 0}function Xb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,378,19208);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+L(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function Yb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,379,19217);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+M(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function Zb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,380,19226);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+N(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function _b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[i>>3]=0.0;if((c[k>>2]|0)!=2)La(19235,19184,570,19243);if((Ai(c[c[f>>2]>>2]|0)|0)!=5?(Ai(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+Hi(c[c[f>>2]>>2]|0);h[i>>3]=+Hi(c[(c[f>>2]|0)+4>>2]|0);Ci(c[e>>2]|0,+O(+(+h[g>>3]),+(+h[i>>3])));l=j;return}nj(c[e>>2]|0);l=j;return}function $b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,394,19252);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+l$(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,402,19262);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+n$(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,410,19272);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+o$(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function cc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+64|0;j=o+32|0;p=o+28|0;k=o+24|0;m=o+20|0;n=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;i=o;c[j>>2]=b;c[p>>2]=d;c[k>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[f>>2]=0;c[g>>2]=0;if((c[p>>2]|0)!=2)La(19235,19184,1680,19282);if((Ai(c[c[k>>2]>>2]|0)|0)!=5?(Ai(c[(c[k>>2]|0)+4>>2]|0)|0)!=5:0){c[h>>2]=Rh(c[c[k>>2]>>2]|0)|0;c[i>>2]=Rh(c[(c[k>>2]|0)+4>>2]|0)|0;_c(c[h>>2]|0,c[m>>2]|0);_c(c[i>>2]|0,c[n>>2]|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=4)break;p=$c(c[m>>2]|0)|0;if((p|0)==($c(c[n>>2]|0)|0))c[f>>2]=(c[f>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[g>>2]=(c[g>>2]|0)+1}Xh(c[j>>2]|0,c[f>>2]|0);l=o;return}nj(c[j>>2]|0);l=o;return}function dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,498,19686);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+ad(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,499,19698);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+bd(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,420,19710);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+I(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,419,19718);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+J(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,421,19726);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+K(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,422,19734);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+cd(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,446,19742);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+B_(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,438,19751);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+C_(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,454,19760);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+q$(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,456,19769);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+dd(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,474,19778);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+P(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,472,19786);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+Q(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,473,19794);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+p$(+h[g>>3]);k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;e=k+32|0;m=k+28|0;f=k+24|0;g=k+16|0;i=k+8|0;j=k;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[i>>3]=0.0;if((c[m>>2]|0)!=2)La(19235,19184,546,19804);if((Ai(c[c[f>>2]>>2]|0)|0)!=5?(Ai(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+Hi(c[c[f>>2]>>2]|0);h[i>>3]=+Hi(c[(c[f>>2]|0)+4>>2]|0);c[(s_()|0)>>2]=0;h[j>>3]=+H(+(+h[g>>3]),+(+h[i>>3]));m=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(m){Ci(a,+h[j>>3]);l=k;return}else{m=L_(c[(s_()|0)>>2]|0)|0;Th(a,m,c[(s_()|0)>>2]|0);l=k;return}}nj(c[e>>2]|0);l=k;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;i=j+24|0;k=j+20|0;e=j+16|0;f=j+8|0;g=j;c[i>>2]=a;c[k>>2]=b;c[e>>2]=d;h[f>>3]=0.0;d=g;c[d>>2]=0;c[d+4>>2]=0;if((c[k>>2]|0)!=1)La(19176,19184,590,19814);switch(Ai(c[c[e>>2]>>2]|0)|0){case 1:{k=g;c[k>>2]=Fi(c[c[e>>2]>>2]|0)|0;c[k+4>>2]=D;k=g;f=c[k+4>>2]|0;if((f|0)>0|(f|0)==0&(c[k>>2]|0)>>>0>0)a=1;else a=(c[g+4>>2]|0)<0?-1:0;k=g;c[k>>2]=a;c[k+4>>2]=((a|0)<0)<<31>>31;k=g;Bi(c[i>>2]|0,c[k>>2]|0,c[k+4>>2]|0);l=j;return}case 5:{nj(c[i>>2]|0);l=j;return}default:{h[f>>3]=+Hi(c[c[e>>2]>>2]|0);if(+h[f>>3]>0.0)a=1;else a=+h[f>>3]<0.0?-1:0;h[f>>3]=+(a|0);Ci(c[i>>2]|0,+h[f>>3]);l=j;return}}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,375,19823);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[e>>2]|0);l=j;return}h[g>>3]=+Hi(c[c[f>>2]>>2]|0);c[(s_()|0)>>2]=0;h[i>>3]=+G(+(+h[g>>3]));k=(c[(s_()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){Ci(a,+h[i>>3]);l=j;return}else{k=L_(c[(s_()|0)>>2]|0)|0;Th(a,k,c[(s_()|0)>>2]|0);l=j;return}}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;d=g;c[d>>2]=0;c[d+4>>2]=0;h[i>>3]=0.0;if((c[k>>2]|0)!=1)La(19176,19184,514,19832);switch(Ai(c[c[f>>2]>>2]|0)|0){case 1:{i=g;c[i>>2]=Fi(c[c[f>>2]>>2]|0)|0;c[i+4>>2]=D;f=c[e>>2]|0;i=g;k=g;Bi(f,r0(c[i>>2]|0,c[i+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0,D);l=j;return}case 5:{nj(c[e>>2]|0);l=j;return}default:{h[i>>3]=+Hi(c[c[f>>2]>>2]|0);Ci(c[e>>2]|0,+h[i>>3]*+h[i>>3]);l=j;return}}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;j=l;l=l+48|0;e=j+32|0;k=j+28|0;f=j+24|0;g=j+16|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;d=j+8|0;c[d>>2]=0;c[d+4>>2]=0;if((c[k>>2]|0)!=1)La(19176,19184,620,19843);switch(Ai(c[c[f>>2]>>2]|0)|0){case 1:{k=i;c[k>>2]=Fi(c[c[f>>2]>>2]|0)|0;c[k+4>>2]=D;k=i;Bi(c[e>>2]|0,c[k>>2]|0,c[k+4>>2]|0);l=j;return}case 5:{nj(c[e>>2]|0);l=j;return}default:{h[g>>3]=+Hi(c[c[f>>2]>>2]|0);m=+R(+(+h[g>>3]));Bi(c[e>>2]|0,~~m>>>0,+F(m)>=1.0?(m>0.0?~~+T(+E(m/4294967296.0),4294967295.0)>>>0:~~+R((m-+(~~m>>>0))/4294967296.0)>>>0):0);l=j;return}}}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;j=l;l=l+48|0;e=j+32|0;k=j+28|0;f=j+24|0;g=j+16|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;d=j+8|0;c[d>>2]=0;c[d+4>>2]=0;if((c[k>>2]|0)!=1)La(19176,19184,645,19852);switch(Ai(c[c[f>>2]>>2]|0)|0){case 1:{k=i;c[k>>2]=Fi(c[c[f>>2]>>2]|0)|0;c[k+4>>2]=D;k=i;Bi(c[e>>2]|0,c[k>>2]|0,c[k+4>>2]|0);l=j;return}case 5:{nj(c[e>>2]|0);l=j;return}default:{h[g>>3]=+Hi(c[c[f>>2]>>2]|0);m=+E(+(+h[g>>3]));Bi(c[e>>2]|0,~~m>>>0,+F(m)>=1.0?(m>0.0?~~+T(+E(m/4294967296.0),4294967295.0)>>>0:~~+R((m-+(~~m>>>0))/4294967296.0)>>>0):0);l=j;return}}}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;Ci(c[f>>2]|0,3.141592653589793);l=e;return}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+64|0;g=n+48|0;o=n+44|0;h=n+40|0;i=n+36|0;j=n+32|0;k=n+24|0;m=n+16|0;e=n+8|0;f=n;c[g>>2]=a;c[o>>2]=b;c[h>>2]=d;d=f;c[d>>2]=0;c[d+4>>2]=0;if((c[o>>2]|0)!=2){l=n;return}if(5==(Ai(c[c[h>>2]>>2]|0)|0)){l=n;return}d=Fi(c[(c[h>>2]|0)+4>>2]|0)|0;o=k;c[o>>2]=d;c[o+4>>2]=D;if((c[k+4>>2]|0)<0){Th(c[g>>2]|0,19862,-1);l=n;return}d=Sh(c[c[h>>2]>>2]|0)|0;o=m;c[o>>2]=d;c[o+4>>2]=((d|0)<0)<<31>>31;o=m;d=k;d=r0(c[o>>2]|0,c[o+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;o=e;c[o>>2]=d;c[o+4>>2]=D;o=e;o=_$(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[i>>2]=pe(o)|0;o=m;o=_$(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[j>>2]=pe(o)|0;if((c[i>>2]|0)!=0&(c[j>>2]|0)!=0){o=c[j>>2]|0;j$(o,Rh(c[c[h>>2]>>2]|0)|0)|0;o=f;c[o>>2]=0;c[o+4>>2]=0;while(1){h=f;e=c[h+4>>2]|0;o=k;d=c[o+4>>2]|0;if(!((e|0)<(d|0)|((e|0)==(d|0)?(c[h>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[i>>2]|0;d=f;h=m;h=r0(c[d>>2]|0,c[d+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;j$(o+h|0,c[j>>2]|0)|0;h=f;h=_$(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;o=f;c[o>>2]=h;c[o+4>>2]=D}xi(c[g>>2]|0,c[i>>2]|0,-1,-1);_d(c[i>>2]|0);_d(c[j>>2]|0);l=n;return}wi(c[g>>2]|0);if(c[i>>2]|0)_d(c[i>>2]|0);if(!(c[j>>2]|0)){l=n;return}_d(c[j>>2]|0);l=n;return}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[k>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))La(19875,19184,1038,19893);if(5!=(Ai(c[c[g>>2]>>2]|0)|0)?5!=(Ai(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[h>>2]=Rh(c[c[g>>2]>>2]|0)|0;if(!(c[h>>2]|0)){l=m;return}c[i>>2]=Rh(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){g=(Qi(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=g;c[j>>2]=(c[j>>2]|0)<0?0:g}else c[j>>2]=0;c[k>>2]=ed(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,0)|0;Xh(c[e>>2]|0,(c[k>>2]|0)+1|0);l=m;return}nj(c[e>>2]|0);l=m;return}function zc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;i=p+32|0;q=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[q>>2]=e;c[j>>2]=f;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;if((c[q>>2]|0)!=2)La(19235,19184,1073,19907);if(5!=(Ai(c[c[j>>2]>>2]|0)|0)?5!=(Ai(c[(c[j>>2]|0)+4>>2]|0)|0):0){c[o>>2]=Rh(c[c[j>>2]>>2]|0)|0;c[n>>2]=Qi(c[(c[j>>2]|0)+4>>2]|0)|0;c[g>>2]=c[o>>2];a:while(1){if(!($c(c[g>>2]|0)|0))break;q=c[k>>2]|0;c[k>>2]=q+1;if((q|0)>=(c[n>>2]|0))break;while(1){q=(c[g>>2]|0)+1|0;c[g>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[m>>2]=(c[g>>2]|0)-(c[o>>2]|0);c[h>>2]=pe((c[g>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[h>>2]|0){G$(c[h>>2]|0,c[o>>2]|0,(c[g>>2]|0)-(c[o>>2]|0)|0)|0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;xi(c[i>>2]|0,c[h>>2]|0,-1,-1);_d(c[h>>2]|0);l=p;return}else{wi(c[i>>2]|0);l=p;return}}nj(c[i>>2]|0);l=p;return}function Ac(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;i=p+36|0;q=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[q>>2]=d;c[j>>2]=e;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;if((c[q>>2]|0)!=2)La(19235,19184,1113,19916);if(5!=(Ai(c[c[j>>2]>>2]|0)|0)?5!=(Ai(c[(c[j>>2]|0)+4>>2]|0)|0):0){c[o>>2]=Rh(c[c[j>>2]>>2]|0)|0;c[k>>2]=Qi(c[(c[j>>2]|0)+4>>2]|0)|0;c[f>>2]=c[o>>2];while(1){if(!($c(c[f>>2]|0)|0))break;do{q=(c[f>>2]|0)+1|0;c[f>>2]=q}while((192&a[q>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}c[g>>2]=c[f>>2];c[f>>2]=c[o>>2];q=(c[m>>2]|0)-(c[k>>2]|0)|0;c[n>>2]=q;c[n>>2]=(c[n>>2]|0)<0?0:q;a:while(1){q=c[n>>2]|0;c[n>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[f>>2]|0)+1|0;c[f>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[h>>2]=pe((c[g>>2]|0)-(c[f>>2]|0)+1|0)|0;if(c[h>>2]|0){j$(c[h>>2]|0,c[f>>2]|0)|0;xi(c[i>>2]|0,c[h>>2]|0,-1,-1);_d(c[h>>2]|0);l=p;return}else{wi(c[i>>2]|0);l=p;return}}nj(c[i>>2]|0);l=p;return}function Bc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;h=o+32|0;p=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;f=o+4|0;g=o;c[h>>2]=b;c[p>>2]=d;c[i>>2]=e;c[f>>2]=0;c[g>>2]=0;if(1!=(c[p>>2]|0))La(19926,19184,1323,19934);if(5==(Ai(c[c[i>>2]>>2]|0)|0)){nj(c[h>>2]|0);l=o;return}c[j>>2]=Rh(c[c[i>>2]>>2]|0)|0;c[f>>2]=g$(c[j>>2]|0)|0;c[m>>2]=pe((c[f>>2]|0)+1|0)|0;if(!(c[m>>2]|0)){wi(c[h>>2]|0);l=o;return}c[n>>2]=(c[m>>2]|0)+(c[f>>2]|0);p=c[n>>2]|0;c[n>>2]=p+-1;a[p>>0]=0;c[k>>2]=c[j>>2];a:while(1){if(!($c(c[k>>2]|0)|0))break;c[j>>2]=c[k>>2];do{p=(c[k>>2]|0)+1|0;c[k>>2]=p}while((192&a[p>>0]|0)==128);c[g>>2]=1;while(1){if(((c[k>>2]|0)+(0-(c[g>>2]|0))|0)>>>0<(c[j>>2]|0)>>>0)continue a;i=a[(c[k>>2]|0)+(0-(c[g>>2]|0))>>0]|0;p=c[n>>2]|0;c[n>>2]=p+-1;a[p>>0]=i;c[g>>2]=(c[g>>2]|0)+1}}xi(c[h>>2]|0,c[m>>2]|0,-1,-1);_d(c[m>>2]|0);l=o;return}function Cc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+24|0;o=n+20|0;f=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n+28|0;g=n;c[h>>2]=b;c[o>>2]=d;c[f>>2]=e;c[g>>2]=1;if((c[o>>2]|0)!=1)La(19176,19184,724,19946);if(5==(Ai(c[c[f>>2]>>2]|0)|0)){nj(c[h>>2]|0);l=n;return}c[i>>2]=Rh(c[c[f>>2]>>2]|0)|0;c[j>>2]=fd(c[i>>2]|0)|0;if(!(c[j>>2]|0)){wi(c[h>>2]|0);l=n;return}c[k>>2]=c[j>>2];while(1){o=c[i>>2]|0;c[i>>2]=o+1;o=a[o>>0]|0;a[m>>0]=o;if(!(o<<24>>24))break;if(T_(a[m>>0]|0)|0)c[g>>2]=1;else{b=a[m>>0]|0;if((c[g>>2]|0)==1)a[m>>0]=z_(b)|0;else a[m>>0]=x_(b)|0;c[g>>2]=0}f=a[m>>0]|0;o=c[k>>2]|0;c[k>>2]=o+1;a[o>>0]=f}a[c[k>>2]>>0]=0;xi(c[h>>2]|0,c[j>>2]|0,-1,-1);_d(c[j>>2]|0);l=n;return}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;i=o;j=o+28|0;k=o+24|0;m=o+20|0;g=o+16|0;c[n>>2]=b;c[p>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[p>>2]|0)!=2)La(19235,19184,771,19957);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[n>>2]|0);l=o;return}c[k>>2]=Rh(c[c[f>>2]>>2]|0)|0;f=Fi(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=f;c[p+4>>2]=D;if((c[h+4>>2]|0)<0){Th(c[n>>2]|0,19862,-1);l=o;return}d=gd(c[k>>2]|0,-1)|0;f=i;c[f>>2]=d;c[f+4>>2]=((d|0)<0)<<31>>31;f=i;d=c[f+4>>2]|0;p=h;e=c[p+4>>2]|0;b=c[k>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[m>>2]=fd(b)|0;b=c[n>>2]|0;if(c[m>>2]|0){xi(b,c[m>>2]|0,-1,-1);break}wi(b);l=o;return}else{p=g$(b)|0;f=h;f=_$(p|0,0,c[f>>2]|0,c[f+4>>2]|0)|0;p=i;p=Z$(f|0,D|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=_$(p|0,D|0,1,0)|0;c[m>>2]=pe(p)|0;if(!(c[m>>2]|0)){wi(c[n>>2]|0);l=o;return}c[g>>2]=c[m>>2];c[j>>2]=1;while(1){d=c[j>>2]|0;f=i;f=_$(d|0,((d|0)<0)<<31>>31|0,c[f>>2]|0,c[f+4>>2]|0)|0;d=D;p=h;e=c[p+4>>2]|0;b=c[g>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?f>>>0<=(c[p>>2]|0)>>>0:0)))break;c[g>>2]=b+1;a[b>>0]=32;c[j>>2]=(c[j>>2]|0)+1}j$(b,c[k>>2]|0)|0}while(0);xi(c[n>>2]|0,c[m>>2]|0,-1,-1);_d(c[m>>2]|0);l=o;return}function Ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;o=p+48|0;q=p+44|0;f=p+40|0;j=p+16|0;k=p+8|0;h=p;m=p+36|0;g=p+32|0;n=p+28|0;i=p+24|0;c[o>>2]=b;c[q>>2]=d;c[f>>2]=e;c[m>>2]=0;if((c[q>>2]|0)!=2)La(19235,19184,825,19994);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[o>>2]|0);l=p;return}c[g>>2]=Rh(c[c[f>>2]>>2]|0)|0;f=Fi(c[(c[f>>2]|0)+4>>2]|0)|0;q=j;c[q>>2]=f;c[q+4>>2]=D;if((c[j+4>>2]|0)<0){Th(c[o>>2]|0,19862,-1);l=p;return}d=gd(c[g>>2]|0,-1)|0;f=k;c[f>>2]=d;c[f+4>>2]=((d|0)<0)<<31>>31;f=k;d=c[f+4>>2]|0;q=j;e=c[q+4>>2]|0;b=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[n>>2]=fd(b)|0;b=c[o>>2]|0;if(c[n>>2]|0){xi(b,c[n>>2]|0,-1,-1);break}wi(b);l=p;return}else{q=h;c[q>>2]=g$(b)|0;c[q+4>>2]=0;q=h;f=j;f=_$(c[q>>2]|0,c[q+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;q=k;q=Z$(f|0,D|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=_$(q|0,D|0,1,0)|0;c[n>>2]=pe(q)|0;if(!(c[n>>2]|0)){wi(c[o>>2]|0);l=p;return}q=c[n>>2]|0;j$(q,c[g>>2]|0)|0;c[i>>2]=q+(c[h>>2]|0);c[m>>2]=1;while(1){f=c[m>>2]|0;h=k;h=_$(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=D;q=j;g=c[q+4>>2]|0;b=c[i>>2]|0;if(!((f|0)<(g|0)|((f|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[i>>2]=b+1;a[b>>0]=32;c[m>>2]=(c[m>>2]|0)+1}a[b>>0]=0}while(0);xi(c[o>>2]|0,c[n>>2]|0,-1,-1);_d(c[n>>2]|0);l=p;return}function Fc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;o=p+48|0;q=p+44|0;f=p+40|0;j=p+16|0;k=p+8|0;h=p;m=p+36|0;g=p+32|0;n=p+28|0;i=p+24|0;c[o>>2]=b;c[q>>2]=d;c[f>>2]=e;c[m>>2]=0;if((c[q>>2]|0)!=2)La(19235,19184,880,20003);if((Ai(c[c[f>>2]>>2]|0)|0)==5){nj(c[o>>2]|0);l=p;return}c[g>>2]=Rh(c[c[f>>2]>>2]|0)|0;f=Fi(c[(c[f>>2]|0)+4>>2]|0)|0;q=j;c[q>>2]=f;c[q+4>>2]=D;if((c[j+4>>2]|0)<0){Th(c[o>>2]|0,19862,-1);l=p;return}d=gd(c[g>>2]|0,-1)|0;f=k;c[f>>2]=d;c[f+4>>2]=((d|0)<0)<<31>>31;f=k;d=c[f+4>>2]|0;q=j;e=c[q+4>>2]|0;b=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[n>>2]=fd(b)|0;b=c[o>>2]|0;if(c[n>>2]|0){xi(b,c[n>>2]|0,-1,-1);break}wi(b);l=p;return}else{q=h;c[q>>2]=g$(b)|0;c[q+4>>2]=0;q=h;f=j;f=_$(c[q>>2]|0,c[q+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;q=k;q=Z$(f|0,D|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=_$(q|0,D|0,1,0)|0;c[n>>2]=pe(q)|0;if(!(c[n>>2]|0)){wi(c[o>>2]|0);l=p;return}c[i>>2]=c[n>>2];c[m>>2]=1;while(1){d=c[m>>2]<<1;f=k;f=_$(d|0,((d|0)<0)<<31>>31|0,c[f>>2]|0,c[f+4>>2]|0)|0;d=D;q=j;e=c[q+4>>2]|0;b=c[i>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?f>>>0<=(c[q>>2]|0)>>>0:0)))break;c[i>>2]=b+1;a[b>>0]=32;c[m>>2]=(c[m>>2]|0)+1}j$(b,c[g>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+(c[h>>2]|0);while(1){f=c[m>>2]|0;h=k;h=_$(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=D;q=j;g=c[q+4>>2]|0;b=c[i>>2]|0;if(!((f|0)<(g|0)|((f|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[i>>2]=b+1;a[b>>0]=32;c[m>>2]=(c[m>>2]|0)+1}a[b>>0]=0}while(0);xi(c[o>>2]|0,c[n>>2]|0,-1,-1);_d(c[n>>2]|0);l=p;return}function Gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;k=r+44|0;s=r+40|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;f=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[k>>2]=b;c[s>>2]=d;c[m>>2]=e;c[i>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)La(19235,19184,939,20012);if((Ai(c[c[m>>2]>>2]|0)|0)!=5?(Ai(c[(c[m>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=Rh(c[c[m>>2]>>2]|0)|0;c[o>>2]=Rh(c[(c[m>>2]|0)+4>>2]|0)|0;c[g>>2]=pe((g$(c[n>>2]|0)|0)+1|0)|0;if(!(c[g>>2]|0)){wi(c[k>>2]|0);l=r;return}c[h>>2]=c[g>>2];c[p>>2]=c[n>>2];a:while(1){s=$c(c[p>>2]|0)|0;c[i>>2]=s;if(!s)break;c[q>>2]=c[o>>2];b:while(1){s=$c(c[q>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[i>>2]|0))break;while(1){s=(c[q>>2]|0)+1|0;c[q>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[f>>2]=c[q>>2];do{s=(c[f>>2]|0)+1|0;c[f>>2]=s}while((192&a[s>>0]|0)==128);G$(c[h>>2]|0,c[q>>2]|0,(c[f>>2]|0)-(c[q>>2]|0)|0)|0;c[h>>2]=(c[h>>2]|0)+((c[f>>2]|0)-(c[q>>2]|0))}while(1){s=(c[p>>2]|0)+1|0;c[p>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[h>>2]>>0]=0;xi(c[k>>2]|0,c[g>>2]|0,-1,-1);_d(c[g>>2]|0);l=r;return}nj(c[k>>2]|0);l=r;return}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;e=k+28|0;m=k+24|0;f=k+20|0;g=k+16|0;i=k+8|0;j=k;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)La(19176,19184,1395,20026);c[g>>2]=ui(c[e>>2]|0,24)|0;if(5==(Ei(c[c[f>>2]>>2]|0)|0)){l=k;return}m=(c[g>>2]|0)+16|0;e=m;e=_$(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[m>>2]=e;c[m+4>>2]=D;h[j>>3]=+Hi(c[c[f>>2]>>2]|0);h[i>>3]=+h[j>>3]-+h[c[g>>2]>>3];f=(c[g>>2]|0)+16|0;m=c[g>>2]|0;h[m>>3]=+h[m>>3]+ +h[i>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0));m=(c[g>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[i>>3]*(+h[j>>3]-+h[c[g>>2]>>3]);l=k;return}function Ic(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(c[d>>2]|0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){b=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=Z$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Ci(b,+G(+(g/(+(f>>>0)+4294967296.0*+(D|0)))));l=e;return}Ci(c[b>>2]|0,0.0);l=e;return}function Jc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(c[d>>2]|0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){b=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=Z$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Ci(b,g/(+(f>>>0)+4294967296.0*+(D|0)));l=e;return}Ci(c[b>>2]|0,0.0);l=e;return}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+80|0;e=q+64|0;r=q+60|0;j=q+56|0;m=q+52|0;n=q+8|0;o=q;p=q+48|0;k=q+44|0;f=q+40|0;g=q+28|0;i=q+16|0;c[e>>2]=a;c[r>>2]=b;c[j>>2]=d;d=n;c[d>>2]=0;c[d+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)La(19176,19184,1418,20039);c[f>>2]=Ei(c[c[j>>2]>>2]|0)|0;if((c[f>>2]|0)==5){l=q;return}c[m>>2]=ui(c[e>>2]|0,64)|0;do if(!(c[(c[m>>2]|0)+56>>2]|0)){a=S$(1,12)|0;c[(c[m>>2]|0)+56>>2]=a;a=c[m>>2]|0;if((c[f>>2]|0)==1){r=c[a+56>>2]|0;Pc(g,190);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[m>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=a+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[m>>2]|0)+56>>2]|0;Pc(i,191);c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[r+8>>2]=c[i+8>>2];break}}while(0);r=(c[m>>2]|0)+16|0;a=r;a=_$(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;c[r>>2]=a;c[r+4>>2]=D;r=(c[m>>2]|0)+48|0;a=c[c[j>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=Fi(a)|0;o=n;c[o>>2]=r;c[o+4>>2]=D;c[p>>2]=S$(1,8)|0;o=c[n+4>>2]|0;r=c[p>>2]|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;Tc(c[(c[m>>2]|0)+56>>2]|0,c[p>>2]|0);l=q;return}else{h[o>>3]=+Hi(a);c[k>>2]=S$(1,8)|0;h[c[k>>2]>>3]=+h[o>>3];Tc(c[(c[m>>2]|0)+56>>2]|0,c[k>>2]|0);l=q;return}}function Lc(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){l=e;return}Vc(c[(c[d>>2]|0)+56>>2]|0,132,c[d>>2]|0);Xc(c[(c[d>>2]|0)+56>>2]|0);R$(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){l=e;return}f=(c[d>>2]|0)+48|0;b=c[b>>2]|0;a=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=a;Bi(b,c[f>>2]|0,c[f+4>>2]|0);l=e;return}else{Ci(b,+h[a+8>>3]);l=e;return}}function Mc(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;id(c[b>>2]|0);l=e;return}function Nc(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;id(c[b>>2]|0);l=e;return}function Oc(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;a=r0(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(D|0))/4.0;id(c[b>>2]|0);l=e;return}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];l=d;return}function Qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=S$(c[h>>2]|0,c[g>>2]|0)|0;l=f;return c[e>>2]|0}function Rc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;R$(c[d>>2]|0);l=b;return}function Sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;f=j;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=Qc(1,24,19167)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];i=(c[f>>2]|0)+16|0;c[i>>2]=1;c[i+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];l=j;return}c[i>>2]=Mb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[i>>2]|0)){i=(c[c[e>>2]>>2]|0)+16|0;g=i;g=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[i>>2]=g;c[i+4>>2]=D;Rc(c[h>>2]|0);l=j;return}a=c[c[e>>2]>>2]|0;if((c[i>>2]|0)>0){Sc(a,c[g>>2]|0,c[h>>2]|0);l=j;return}else{Sc(a+4|0,c[g>>2]|0,c[h>>2]|0);l=j;return}}function Tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Sc(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);l=d;return}function Uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){l=h;return}if(c[c[e>>2]>>2]|0)Uc(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;Ob[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){l=h;return}Uc(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);l=h;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Uc(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);l=e;return}function Wc(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Rc(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)Wc(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)Wc(c[(c[b>>2]|0)+4>>2]|0);Rc(c[b>>2]|0);l=d;return}function Xc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Wc(c[c[d>>2]>>2]|0);l=b;return}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;d=g+24|0;i=g+20|0;h=g+16|0;e=g+8|0;f=g;c[i>>2]=a;c[h>>2]=b;i=c[i>>2]|0;a=c[i+4>>2]|0;b=e;c[b>>2]=c[i>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;i=c[d>>2]|0;l=g;return i|0}h=e;e=c[h+4>>2]|0;i=f;f=c[i+4>>2]|0;if((e|0)<(f|0)|((e|0)==(f|0)?(c[h>>2]|0)>>>0<(c[i>>2]|0)>>>0:0)){c[d>>2]=-1;i=c[d>>2]|0;l=g;return i|0}else{c[d>>2]=1;i=c[d>>2]|0;l=g;return i|0}return 0}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=l;l=l+32|0;d=g+24|0;j=g+20|0;i=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[i>>2]=b;h[e>>3]=+h[c[j>>2]>>3];h[f>>3]=+h[c[i>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);l=g;return c[d>>2]|0}function _c(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+16|0;i=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[i>>2]=e;c[g>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0))break;if(!((S_(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0)|0)!=0^1))break;c[g>>2]=(c[g>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0)){j$(c[i>>2]|0,19425)|0;l=k;return}e=(z_(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0)|0)&255;a[c[i>>2]>>0]=e;c[j>>2]=1;while(1){if((c[j>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0))break;c[h>>2]=d[19297+(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]&127)>>0];if((c[h>>2]|0)>0){m=(c[h>>2]|0)+48&255;b=c[i>>2]|0;e=c[j>>2]|0;c[j>>2]=e+1;a[b+e>>0]=m}c[g>>2]=(c[g>>2]|0)+1}while(1){b=c[i>>2]|0;e=c[j>>2]|0;if((c[j>>2]|0)>=4)break;c[j>>2]=e+1;a[b+e>>0]=48}a[b+e>>0]=0;l=k;return}function $c(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[19430+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;l=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;l=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[904+(c[f>>2]<<2)>>2]|0);if((c[920+(c[f>>2]<<2)>>2]&c[e>>2]|0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;l=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;l=h;return g|0}function ad(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;h[b>>3]=a;l=c;return +(+h[b>>3]*180.0/3.141592653589793)}function bd(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;h[b>>3]=a;l=c;return +(+h[b>>3]*3.141592653589793/180.0)}function cd(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=1.0/+K(+(+h[c>>3]));l=b;return +a}function dd(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=1.0/+q$(+h[c>>3]);l=b;return +a}function ed(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;m=t+40|0;n=t+36|0;o=t+32|0;p=t+28|0;q=t+24|0;r=t+20|0;g=t+16|0;h=t+12|0;i=t+8|0;j=t+4|0;k=t;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=0;c[g>>2]=-1;if(!(a[c[n>>2]>>0]|0)){c[m>>2]=-1;s=c[m>>2]|0;l=t;return s|0}a:while(1){if(!($c(c[o>>2]|0)|0))break;f=c[r>>2]|0;c[r>>2]=f+1;if((f|0)>=(c[p>>2]|0))break;while(1){f=(c[o>>2]|0)+1|0;c[o>>2]=f;if((192&a[f>>0]|0)!=128)continue a}}c[r>>2]=0;while(1){if(!($c(c[o>>2]|0)|0))break;c[h>>2]=c[n>>2];c[i>>2]=c[o>>2];do{c[j>>2]=$c(c[h>>2]|0)|0;c[k>>2]=$c(c[i>>2]|0)|0;do{f=(c[h>>2]|0)+1|0;c[h>>2]=f}while((192&a[f>>0]|0)==128);do{f=(c[i>>2]|0)+1|0;c[i>>2]=f}while((192&a[f>>0]|0)==128)}while((c[j>>2]|0?(c[j>>2]|0)==(c[k>>2]|0):0)&(c[k>>2]|0)!=0);if(!(c[j>>2]|0)){s=14;break}do{f=(c[o>>2]|0)+1|0;c[o>>2]=f}while((192&a[f>>0]|0)==128);c[r>>2]=(c[r>>2]|0)+1}if((s|0)==14)c[g>>2]=c[r>>2];if(c[q>>2]|0)c[c[q>>2]>>2]=c[o>>2];s=c[g>>2]|0;c[m>>2]=(c[g>>2]|0)>=0?s+(c[p>>2]|0)|0:s;s=c[m>>2]|0;l=t;return s|0}function fd(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=pe((g$(c[d>>2]|0)|0)+1|0)|0;a=j$(c[e>>2]|0,c[d>>2]|0)|0;l=b;return a|0}function gd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;i=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[i>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)La(19966,19184,316,19975);while(1){if(!(a[c[f>>2]>>0]|0)){b=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){b=10;break}c[f>>2]=(c[f>>2]|0)+((d[19430+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[i>>2]=(c[i>>2]|0)+1}if((b|0)==10){l=j;return c[i>>2]|0}return 0}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;m=k+32|0;i=k+16|0;n=k+28|0;f=k+8|0;g=k;j=k+24|0;c[m>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[j>>2]=c[n>>2];e=(c[j>>2]|0)+48|0;a=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[a>>2]|0;m=f;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[j>>2]|0)+32|0;n=i;a=c[j>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=a+40|0;m=n;m=_$(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=D;l=k;return}m=a+32|0;e=c[m+4>>2]|0;n=i;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){l=k;return}g=f;n=c[g+4>>2]|0;m=c[j>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[i+4>>2]|0;n=(c[j>>2]|0)+32|0;c[n>>2]=c[i>>2];c[n+4>>2]=m;n=(c[j>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;l=k;return}else{h[g>>3]=+h[a>>3];m=(c[j>>2]|0)+32|0;n=i;a=c[j>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=a+40|0;m=n;m=_$(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=D;l=k;return}m=a+32|0;e=c[m+4>>2]|0;n=i;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){l=k;return}h[(c[j>>2]|0)+8>>3]=+h[g>>3];m=c[i+4>>2]|0;n=(c[j>>2]|0)+32|0;c[n>>2]=c[i>>2];c[n+4>>2]=m;n=(c[j>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;l=k;return}}function id(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=ui(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){l=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){l=f;return}c[(c[e>>2]|0)+60>>2]=0;Vc(c[(c[e>>2]|0)+56>>2]|0,133,c[e>>2]|0);Xc(c[(c[e>>2]|0)+56>>2]|0);R$(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;Ci(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));l=f;return}g=(c[e>>2]|0)+40|0;a=c[b>>2]|0;d=c[e>>2]|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){Bi(a,b,d);l=f;return}else{g=(c[e>>2]|0)+40|0;Ci(a,(+(b>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));l=f;return}}function jd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+64|0;k=q+56|0;n=q+32|0;r=q+52|0;o=q+24|0;p=q+16|0;g=q+8|0;i=q;f=q+48|0;j=q+44|0;m=q+40|0;c[k>>2]=a;a=n;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[m>>2]=c[r>>2];if((c[(c[m>>2]|0)+60>>2]|0)>0){l=q;return}h[g>>3]=+h[(c[m>>2]|0)+24>>3];r=(c[m>>2]|0)+16|0;h[i>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[m>>2]|0)+24>>3];r=(c[m>>2]|0)+32|0;e=n;e=_$(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[f>>2]=e;e=(c[m>>2]|0)+16|0;r=(c[m>>2]|0)+32|0;r=Z$(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[j>>2]=r;do if(+(c[f>>2]|0)>=+h[g>>3]){a=c[m>>2]|0;if(!(+(c[j>>2]|0)>=+h[i>>3])){c[a+60>>2]=1;break}r=a+40|0;a=r;a=_$(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;c[r>>2]=a;c[r+4>>2]=D;r=(c[m>>2]|0)+48|0;a=c[k>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=c[a>>2]|0;p=o;c[p>>2]=r;c[p+4>>2]=((r|0)<0)<<31>>31;p=o;r=c[m>>2]|0;o=r;p=_$(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=D;break}else{h[p>>3]=+h[a>>3];r=(c[m>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[p>>3];break}}while(0);p=n;r=(c[m>>2]|0)+32|0;o=r;p=_$(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=D;l=q;return}function kd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(ld(c[d>>2]|0,20055,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=md(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=9){b=9;break}if((ld(c[d>>2]|0,c[940+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(nd(a[(c[940+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){b=7;break}c[e>>2]=(c[e>>2]|0)+1}if((b|0)==7){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}else if((b|0)==9){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function ld(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a=c[g>>2]|0;if(!(c[f>>2]|0)){c[k>>2]=a|0?-1:0;k=c[k>>2]|0;l=m;return k|0}if(!a){c[k>>2]=1;k=c[k>>2]|0;l=m;return k|0}c[i>>2]=c[f>>2];c[j>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[i>>2]>>0]|0))break;if((d[20458+(d[c[i>>2]>>0]|0)>>0]|0|0)!=(d[20458+(d[c[j>>2]>>0]|0)>>0]|0|0))break;c[i>>2]=(c[i>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if((c[h>>2]|0)<0)a=0;else a=(d[20458+(d[c[i>>2]>>0]|0)>>0]|0)-(d[20458+(d[c[j>>2]>>0]|0)>>0]|0)|0;c[k>>2]=a;k=c[k>>2]|0;l=m;return k|0}function md(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(g$(c[d>>2]|0)|0);l=e;return c[b>>2]|0}function nd(b){b=b|0;var c=0,e=0;e=l;l=l+16|0;c=e;a[c>>0]=b;l=e;return ((d[20063+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function od(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<9){c[b>>2]=c[940+(c[d>>2]<<2)>>2];d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}return 0}function pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=qd(18365)|0;m=c[g>>2]|0;l=n;return m|0}if(a[20714+(c[h>>2]|0)>>0]|0)b=rd()|0;else b=sd()|0;c[m>>2]=b;td(c[m>>2]|0);i=c[i>>2]|0;c[i>>2]=c[54516+(c[h>>2]<<2)>>2];c[i+4>>2]=0;j=c[j>>2]|0;c[j>>2]=c[54556+(c[h>>2]<<2)>>2];c[j+4>>2]=0;if(c[k>>2]|0)c[54556+(c[h>>2]<<2)>>2]=c[54516+(c[h>>2]<<2)>>2];ud(c[m>>2]|0);c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}function qd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=vd(21,c[d>>2]|0,20724)|0;l=b;return a|0}function rd(){return c[13670]|0}function sd(){return c[13620]|0}function td(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Eb[c[96>>2]&255](c[b>>2]|0);l=d;return}function ud(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Eb[c[104>>2]&255](c[b>>2]|0);l=d;return}function vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+32|0;g=f;e=f+20|0;i=f+16|0;h=f+12|0;c[e>>2]=a;c[i>>2]=b;c[h>>2]=d;d=c[e>>2]|0;h=c[h>>2]|0;a=c[i>>2]|0;b=(wd()|0)+20|0;c[g>>2]=h;c[g+4>>2]=a;c[g+8>>2]=b;xd(d,20731,g);l=f;return c[e>>2]|0}function wd(){return 24727}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){l=h;return}c[g>>2]=d;yd(c[e>>2]|0,c[f>>2]|0,g);l=h;return}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+256|0;h=e+36|0;i=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;zd(g,0,e+40|0,210,0);Ad(g,c[i>>2]|0,c[f>>2]|0);f=c[66]|0;a=c[67]|0;b=c[h>>2]|0;d=Bd(g)|0;Ib[f&255](a,b,d);l=e;return}function zd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;i=h+16|0;m=h+12|0;n=h+8|0;k=h+4|0;j=h;c[i>>2]=b;c[m>>2]=d;c[n>>2]=e;c[k>>2]=f;c[j>>2]=g;g=c[n>>2]|0;c[(c[i>>2]|0)+4>>2]=g;c[(c[i>>2]|0)+8>>2]=g;c[c[i>>2]>>2]=c[m>>2];c[(c[i>>2]|0)+12>>2]=0;c[(c[i>>2]|0)+16>>2]=c[k>>2];c[(c[i>>2]|0)+20>>2]=c[j>>2];a[(c[i>>2]|0)+24>>0]=0;a[(c[i>>2]|0)+25>>0]=0;l=h;return}function Ad(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;Ia=l;l=l+352|0;F=Ia+256|0;P=Ia+252|0;_=Ia+248|0;ja=Ia+244|0;ua=Ia+240|0;Fa=Ia+236|0;Ga=Ia+232|0;j=Ia+228|0;k=Ia+224|0;m=Ia+348|0;n=Ia+347|0;o=Ia+346|0;p=Ia+345|0;q=Ia+344|0;r=Ia+343|0;s=Ia+342|0;t=Ia+341|0;u=Ia+340|0;v=Ia+339|0;w=Ia+338|0;x=Ia+337|0;y=Ia+336|0;z=Ia+56|0;A=Ia+48|0;B=Ia+220|0;C=Ia+216|0;E=Ia+212|0;G=Ia+208|0;H=Ia+204|0;I=Ia+200|0;J=Ia+196|0;K=Ia+40|0;L=Ia+335|0;M=Ia+334|0;N=Ia+192|0;O=Ia+264|0;i=Ia+188|0;Q=Ia+184|0;R=Ia+180|0;S=Ia+176|0;T=Ia+172|0;U=Ia+32|0;V=Ia+24|0;W=Ia+168|0;X=Ia+164|0;Y=Ia+16|0;Z=Ia+160|0;$=Ia+156|0;aa=Ia+152|0;ba=Ia+148|0;ca=Ia+263|0;da=Ia+144|0;ea=Ia+262|0;fa=Ia+8|0;ga=Ia;ha=Ia+140|0;ia=Ia+136|0;ka=Ia+132|0;la=Ia+128|0;ma=Ia+124|0;na=Ia+120|0;oa=Ia+116|0;pa=Ia+112|0;qa=Ia+108|0;ra=Ia+104|0;sa=Ia+100|0;ta=Ia+261|0;va=Ia+260|0;wa=Ia+96|0;xa=Ia+92|0;ya=Ia+88|0;za=Ia+84|0;Aa=Ia+80|0;Ba=Ia+76|0;Ca=Ia+72|0;Da=Ia+68|0;Ea=Ia+64|0;c[F>>2]=b;c[P>>2]=e;c[_>>2]=f;a[v>>0]=16;c[G>>2]=0;c[N>>2]=0;c[ua>>2]=0;if(a[(c[F>>2]|0)+25>>0]|0){f=d[(c[F>>2]|0)+25>>0]&2;a[w>>0]=f;if(f&255|0){e=c[_>>2]|0;b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;c[i>>2]=f;c[N>>2]=c[i>>2]}a[x>>0]=d[(c[F>>2]|0)+25>>0]&1}else{a[x>>0]=0;a[w>>0]=0}a:while(1){i=a[c[P>>2]>>0]|0;c[ja>>2]=i;if(!i){Ha=272;break}if((c[ja>>2]|0)!=37){c[ua>>2]=c[P>>2];do{c[P>>2]=(c[P>>2]|0)+1;if(!(a[c[P>>2]>>0]|0))break}while((a[c[P>>2]>>0]|0)!=37);Pd(c[F>>2]|0,c[ua>>2]|0,(c[P>>2]|0)-(c[ua>>2]|0)|0);if(!(a[c[P>>2]>>0]|0)){Ha=272;break}}i=(c[P>>2]|0)+1|0;c[P>>2]=i;i=a[i>>0]|0;c[ja>>2]=i;if(!i){Ha=13;break}a[r>>0]=0;a[q>>0]=0;a[p>>0]=0;a[o>>0]=0;a[n>>0]=0;a[m>>0]=0;a[u>>0]=0;do{switch(c[ja>>2]|0){case 45:{a[m>>0]=1;break}case 43:{a[n>>0]=1;break}case 32:{a[o>>0]=1;break}case 35:{a[p>>0]=1;break}case 33:{a[q>>0]=1;break}case 48:{a[r>>0]=1;break}default:a[u>>0]=1}if(a[u>>0]|0)break;i=(c[P>>2]|0)+1|0;c[P>>2]=i;i=a[i>>0]|0;c[ja>>2]=i}while((i|0)!=0);if((c[ja>>2]|0)==42){if(a[w>>0]|0){i=Qd(c[N>>2]|0)|0;c[k>>2]=i}else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[Q>>2]=i;c[k>>2]=c[Q>>2]}if((c[k>>2]|0)<0){a[m>>0]=1;c[k>>2]=(c[k>>2]|0)>=-2147483647?0-(c[k>>2]|0)|0:0}i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0]}else{c[R>>2]=0;while(1){b=c[R>>2]|0;if(!((c[ja>>2]|0)>=48?(c[ja>>2]|0)<=57:0))break;c[R>>2]=(b*10|0)+(c[ja>>2]|0)-48;i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0]}c[k>>2]=b&2147483647}do if((c[ja>>2]|0)==46){i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0];if((c[ja>>2]|0)!=42){c[T>>2]=0;while(1){b=c[T>>2]|0;if(!((c[ja>>2]|0)>=48?(c[ja>>2]|0)<=57:0))break;c[T>>2]=(b*10|0)+(c[ja>>2]|0)-48;i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0]}c[Fa>>2]=b&2147483647;break}if(a[w>>0]|0){i=Qd(c[N>>2]|0)|0;c[Fa>>2]=i}else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[S>>2]=i;c[Fa>>2]=c[S>>2]}i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0];if((c[Fa>>2]|0)<0)c[Fa>>2]=(c[Fa>>2]|0)>=-2147483647?0-(c[Fa>>2]|0)|0:-1}else c[Fa>>2]=-1;while(0);do if((c[ja>>2]|0)==108){a[s>>0]=1;i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0];if((c[ja>>2]|0)==108){a[t>>0]=1;i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0];break}else{a[t>>0]=0;break}}else{a[t>>0]=0;a[s>>0]=0}while(0);c[B>>2]=20758;a[v>>0]=16;c[j>>2]=0;while(1){if((c[j>>2]|0)>=23)break;b=c[j>>2]|0;if((c[ja>>2]|0)==(a[20758+((c[j>>2]|0)*6|0)>>0]|0)){Ha=56;break}c[j>>2]=b+1}if((Ha|0)==56){Ha=0;c[B>>2]=20758+(b*6|0);if((d[x>>0]|0)==0?d[(c[B>>2]|0)+2>>0]&2|0:0){Ha=272;break}a[v>>0]=a[(c[B>>2]|0)+3>>0]|0}b:do switch(d[v>>0]|0){case 13:{a[t>>0]=0;a[s>>0]=1;Ha=62;break}case 0:case 15:{Ha=62;break}case 3:case 2:case 1:{if(a[w>>0]|0)h[A>>3]=+Rd(c[N>>2]|0);else{i=c[_>>2]|0;f=(c[i>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[i>>2]=f+8;h[fa>>3]=g;h[A>>3]=+h[fa>>3]}if((c[Fa>>2]|0)<0)c[Fa>>2]=6;do if(!(+h[A>>3]<0.0)){if(a[n>>0]|0){a[y>>0]=43;break}if(a[o>>0]|0){a[y>>0]=32;break}else{a[y>>0]=0;break}}else{h[A>>3]=-+h[A>>3];a[y>>0]=45}while(0);if((d[v>>0]|0)==3&(c[Fa>>2]|0)>0)c[Fa>>2]=(c[Fa>>2]|0)+-1;c[j>>2]=c[Fa>>2]&4095;h[K>>3]=.5;while(1){if((c[j>>2]|0)<=0)break;c[j>>2]=(c[j>>2]|0)+-1;h[K>>3]=+h[K>>3]*.1}if((d[v>>0]|0)==1)h[A>>3]=+h[A>>3]+ +h[K>>3];c[H>>2]=0;if(Sd(+h[A>>3])|0){c[ua>>2]=20945;c[Ga>>2]=3;break b}if(+h[A>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[A>>3]>=+h[ga>>3]*1.e+100?(c[H>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[H>>2]=(c[H>>2]|0)+100}while(1){if(!(+h[A>>3]>=+h[ga>>3]*1.0e10?(c[H>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[H>>2]=(c[H>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[A>>3]>=+h[ga>>3]*10.0?(c[H>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[H>>2]=(c[H>>2]|0)+1}h[A>>3]=+h[A>>3]/g;while(1){if(!(+h[A>>3]<1.0e-08))break;h[A>>3]=+h[A>>3]*1.0e8;c[H>>2]=(c[H>>2]|0)-8}while(1){if(!(+h[A>>3]<1.0))break;h[A>>3]=+h[A>>3]*10.0;c[H>>2]=(c[H>>2]|0)+-1}if((c[H>>2]|0)>350){c[ua>>2]=O;a[O>>0]=a[y>>0]|0;i=O+((a[y>>0]|0)!=0&1)|0;a[i>>0]=a[20949]|0;a[i+1>>0]=a[20950]|0;a[i+2>>0]=a[20951]|0;a[i+3>>0]=a[20952]|0;c[Ga>>2]=3+((a[y>>0]|0)!=0&1);break b}}c[ua>>2]=O;if((d[v>>0]|0)!=1?(h[A>>3]=+h[A>>3]+ +h[K>>3],+h[A>>3]>=10.0):0){h[A>>3]=+h[A>>3]*.1;c[H>>2]=(c[H>>2]|0)+1}c:do if((d[v>>0]|0)==3){a[M>>0]=((a[p>>0]|0)!=0^1)&1;do if((c[H>>2]|0)>=-4){if((c[H>>2]|0)>(c[Fa>>2]|0))break;c[Fa>>2]=(c[Fa>>2]|0)-(c[H>>2]|0);a[v>>0]=1;break c}while(0);a[v>>0]=2}else a[M>>0]=a[q>>0]|0;while(0);if((d[v>>0]|0)==2)c[I>>2]=0;else c[I>>2]=c[H>>2];i=(c[I>>2]|0)>0?c[I>>2]|0:0;f=c[Fa>>2]|0;f=_$(i|0,((i|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;i=c[k>>2]|0;i=_$(f|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;f=D;if((f|0)>0|(f|0)==0&i>>>0>55?(i=(c[I>>2]|0)>0?c[I>>2]|0:0,f=c[Fa>>2]|0,f=_$(i|0,((i|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0,i=c[k>>2]|0,i=_$(f|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0,i=_$(i|0,D|0,15,0)|0,i=Fd(i,D)|0,c[G>>2]=i,c[ua>>2]=i,(c[ua>>2]|0)==0):0){Ha=165;break a}c[C>>2]=c[ua>>2];c[J>>2]=16+((d[q>>0]|0)*10|0);a[L>>0]=((c[Fa>>2]|0)>0?1:0)|d[p>>0]|d[q>>0];if(a[y>>0]|0){f=a[y>>0]|0;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f}d:do if((c[I>>2]|0)<0){i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=48}else while(1){if((c[I>>2]|0)<0)break d;f=Td(A,J)|0;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f;c[I>>2]=(c[I>>2]|0)+-1}while(0);if(a[L>>0]|0){i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=46}c[I>>2]=(c[I>>2]|0)+1;while(1){if((c[I>>2]|0)>=0)break;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=48;c[Fa>>2]=(c[Fa>>2]|0)+-1;c[I>>2]=(c[I>>2]|0)+1}while(1){i=c[Fa>>2]|0;c[Fa>>2]=i+-1;if((i|0)<=0)break;f=Td(A,J)|0;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f}do if(d[M>>0]|0){if(!(d[L>>0]|0))break;while(1){b=(c[ua>>2]|0)+-1|0;if((a[(c[ua>>2]|0)+-1>>0]|0)!=48)break;c[ua>>2]=b;a[b>>0]=0}if((a[b>>0]|0)!=46)break;b=c[ua>>2]|0;if(a[q>>0]|0){c[ua>>2]=b+1;a[b>>0]=48;break}else{i=b+-1|0;c[ua>>2]=i;a[i>>0]=0;break}}while(0);if((d[v>>0]|0)==2){b=a[20905+(d[(c[B>>2]|0)+4>>0]|0)>>0]|0;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=b;i=(c[H>>2]|0)<0;b=c[ua>>2]|0;c[ua>>2]=b+1;if(i){a[b>>0]=45;c[H>>2]=0-(c[H>>2]|0)}else a[b>>0]=43;if((c[H>>2]|0)>=100){f=((c[H>>2]|0)/100|0)+48&255;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f;c[H>>2]=(c[H>>2]|0)%100|0}i=((c[H>>2]|0)/10|0)+48&255;f=c[ua>>2]|0;c[ua>>2]=f+1;a[f>>0]=i;f=((c[H>>2]|0)%10|0)+48&255;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f}a[c[ua>>2]>>0]=0;c[Ga>>2]=(c[ua>>2]|0)-(c[C>>2]|0);c[ua>>2]=c[C>>2];if((d[r>>0]|0)==0|(a[m>>0]|0)!=0)break b;if((c[Ga>>2]|0)>=(c[k>>2]|0))break b;c[ia>>2]=(c[k>>2]|0)-(c[Ga>>2]|0);c[ha>>2]=c[k>>2];while(1){if((c[ha>>2]|0)<(c[ia>>2]|0))break;a[(c[ua>>2]|0)+(c[ha>>2]|0)>>0]=a[(c[ua>>2]|0)+((c[ha>>2]|0)-(c[ia>>2]|0))>>0]|0;c[ha>>2]=(c[ha>>2]|0)+-1}c[ha>>2]=(a[y>>0]|0)!=0&1;while(1){i=c[ia>>2]|0;c[ia>>2]=i+-1;if(!i)break;f=c[ua>>2]|0;i=c[ha>>2]|0;c[ha>>2]=i+1;a[f+i>>0]=48}c[Ga>>2]=c[k>>2];break}case 4:{if(!(a[w>>0]|0)){i=c[(c[F>>2]|0)+12>>2]|0;e=c[_>>2]|0;b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;c[ka>>2]=f;c[c[ka>>2]>>2]=i}c[k>>2]=0;c[Ga>>2]=0;break}case 7:{a[O>>0]=37;c[ua>>2]=O;c[Ga>>2]=1;break}case 8:{if(a[w>>0]|0){c[ua>>2]=Ud(c[N>>2]|0)|0;if(c[ua>>2]|0)b=a[c[ua>>2]>>0]|0;else b=0;c[ja>>2]=b}else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[la>>2]=i;c[ja>>2]=c[la>>2]}if((c[Fa>>2]|0)>1){c[k>>2]=(c[k>>2]|0)-((c[Fa>>2]|0)-1);if(!((c[k>>2]|0)<=1|(a[m>>0]|0)!=0)){Vd(c[F>>2]|0,(c[k>>2]|0)-1|0,32);c[k>>2]=0}Vd(c[F>>2]|0,(c[Fa>>2]|0)-1|0,c[ja>>2]&255)}c[Ga>>2]=1;a[O>>0]=c[ja>>2];c[ua>>2]=O;break}case 6:case 5:{if(a[w>>0]|0){c[ua>>2]=Ud(c[N>>2]|0)|0;a[v>>0]=5}else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[ma>>2]=i;c[ua>>2]=c[ma>>2]}if(c[ua>>2]|0){if((d[v>>0]|0)==6)c[G>>2]=c[ua>>2]}else c[ua>>2]=55752;if((c[Fa>>2]|0)<0){c[Ga>>2]=md(c[ua>>2]|0)|0;break b}c[Ga>>2]=0;while(1){if((c[Ga>>2]|0)>=(c[Fa>>2]|0))break b;if(!(a[(c[ua>>2]|0)+(c[Ga>>2]|0)>>0]|0))break b;c[Ga>>2]=(c[Ga>>2]|0)+1}}case 14:case 10:case 9:{a[va>>0]=(d[v>>0]|0)==14?34:39;if(a[w>>0]|0)c[wa>>2]=Ud(c[N>>2]|0)|0;else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[xa>>2]=i;c[wa>>2]=c[xa>>2]}c[ra>>2]=(c[wa>>2]|0)==0&1;if(c[ra>>2]|0)c[wa>>2]=(d[v>>0]|0)==10?20953:20958;c[pa>>2]=c[Fa>>2];c[qa>>2]=0;c[na>>2]=0;while(1){if(!(c[pa>>2]|0))break;i=a[(c[wa>>2]|0)+(c[na>>2]|0)>>0]|0;a[ta>>0]=i;if(!(i<<24>>24))break;if((a[ta>>0]|0)==(a[va>>0]|0))c[qa>>2]=(c[qa>>2]|0)+1;c[na>>2]=(c[na>>2]|0)+1;c[pa>>2]=(c[pa>>2]|0)+-1}if(c[ra>>2]|0)b=0;else b=(d[v>>0]|0)==10;c[sa>>2]=b&1;c[qa>>2]=(c[qa>>2]|0)+((c[na>>2]|0)+3);if((c[qa>>2]|0)>70){i=c[qa>>2]|0;i=Fd(i,((i|0)<0)<<31>>31)|0;c[G>>2]=i;c[ua>>2]=i;if(!(c[ua>>2]|0)){Ha=245;break a}}else c[ua>>2]=O;c[oa>>2]=0;if(c[sa>>2]|0){e=a[va>>0]|0;f=c[ua>>2]|0;i=c[oa>>2]|0;c[oa>>2]=i+1;a[f+i>>0]=e}c[pa>>2]=c[na>>2];c[na>>2]=0;while(1){if((c[na>>2]|0)>=(c[pa>>2]|0))break;e=a[(c[wa>>2]|0)+(c[na>>2]|0)>>0]|0;a[ta>>0]=e;f=c[ua>>2]|0;i=c[oa>>2]|0;c[oa>>2]=i+1;a[f+i>>0]=e;if((a[ta>>0]|0)==(a[va>>0]|0)){e=a[ta>>0]|0;f=c[ua>>2]|0;i=c[oa>>2]|0;c[oa>>2]=i+1;a[f+i>>0]=e}c[na>>2]=(c[na>>2]|0)+1}if(c[sa>>2]|0){e=a[va>>0]|0;f=c[ua>>2]|0;i=c[oa>>2]|0;c[oa>>2]=i+1;a[f+i>>0]=e}a[(c[ua>>2]|0)+(c[oa>>2]|0)>>0]=0;c[Ga>>2]=c[oa>>2];break}case 11:{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[za>>2]=i;c[ya>>2]=c[za>>2];if(c[ya>>2]|0?c[(c[ya>>2]|0)+4>>2]|0:0)Pd(c[F>>2]|0,c[c[ya>>2]>>2]|0,c[(c[ya>>2]|0)+4>>2]|0);c[k>>2]=0;c[Ga>>2]=0;break}case 12:{e=c[_>>2]|0;i=(c[e>>2]|0)+(4-1)&~(4-1);f=c[i>>2]|0;c[e>>2]=i+4;c[Ba>>2]=f;c[Aa>>2]=c[Ba>>2];f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[Da>>2]=i;c[Ca>>2]=c[Da>>2];c[Ea>>2]=(c[Aa>>2]|0)+8+((c[Ca>>2]|0)*72|0);if(c[(c[Ea>>2]|0)+4>>2]|0){Wd(c[F>>2]|0,c[(c[Ea>>2]|0)+4>>2]|0);Pd(c[F>>2]|0,20965,1)}Wd(c[F>>2]|0,c[(c[Ea>>2]|0)+8>>2]|0);c[k>>2]=0;c[Ga>>2]=0;break}default:{Ha=272;break a}}while(0);if((Ha|0)==62){Ha=0;b=(a[w>>0]|0)!=0;do if(d[(c[B>>2]|0)+2>>0]&1|0){do if(!b){if(a[t>>0]|0){e=c[_>>2]|0;b=(c[e>>2]|0)+(8-1)&~(8-1);f=b;i=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=b+8;e=V;c[e>>2]=i;c[e+4>>2]=f;e=V;f=c[e+4>>2]|0;i=U;c[i>>2]=c[e>>2];c[i+4>>2]=f;break}i=(a[s>>0]|0)!=0;f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[f>>2]=e+4;if(i){c[W>>2]=b;f=c[W>>2]|0;i=U;c[i>>2]=f;c[i+4>>2]=((f|0)<0)<<31>>31;break}else{c[X>>2]=b;f=c[X>>2]|0;i=U;c[i>>2]=f;c[i+4>>2]=((f|0)<0)<<31>>31;break}}else{f=Qd(c[N>>2]|0)|0;i=U;c[i>>2]=f;c[i+4>>2]=D}while(0);e=U;b=c[e>>2]|0;e=c[e+4>>2]|0;if((c[U+4>>2]|0)<0){if((b|0)==0&(e|0)==-2147483648){i=z;c[i>>2]=0;c[i+4>>2]=-2147483648}else{f=U;f=Z$(0,0,c[f>>2]|0,c[f+4>>2]|0)|0;i=z;c[i>>2]=f;c[i+4>>2]=D}a[y>>0]=45;break}i=z;c[i>>2]=b;c[i+4>>2]=e;if(a[n>>0]|0){a[y>>0]=43;break}if(a[o>>0]|0){a[y>>0]=32;break}else{a[y>>0]=0;break}}else{do if(!b){if(a[t>>0]|0){e=c[_>>2]|0;b=(c[e>>2]|0)+(8-1)&~(8-1);f=b;i=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=b+8;e=Y;c[e>>2]=i;c[e+4>>2]=f;e=Y;f=c[e+4>>2]|0;i=z;c[i>>2]=c[e>>2];c[i+4>>2]=f;break}i=(a[s>>0]|0)!=0;f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[f>>2]=e+4;if(i){c[Z>>2]=b;i=z;c[i>>2]=c[Z>>2];c[i+4>>2]=0;break}else{c[$>>2]=b;i=z;c[i>>2]=c[$>>2];c[i+4>>2]=0;break}}else{f=Qd(c[N>>2]|0)|0;i=z;c[i>>2]=f;c[i+4>>2]=D}while(0);a[y>>0]=0}while(0);i=z;if((c[i>>2]|0)==0&(c[i+4>>2]|0)==0)a[p>>0]=0;if(d[r>>0]|0?(c[Fa>>2]|0)<((c[k>>2]|0)-((a[y>>0]|0)!=0&1)|0):0)c[Fa>>2]=(c[k>>2]|0)-((a[y>>0]|0)!=0&1);if((c[Fa>>2]|0)>=60){c[E>>2]=(c[Fa>>2]|0)+10;i=c[E>>2]|0;i=Fd(i,((i|0)<0)<<31>>31)|0;c[G>>2]=i;c[C>>2]=i;if(!(c[C>>2]|0)){Ha=96;break}}else{c[E>>2]=70;c[C>>2]=O}c[ua>>2]=(c[C>>2]|0)+((c[E>>2]|0)-1);if((d[v>>0]|0)==15){i=z;i=l0(c[i>>2]|0,c[i+4>>2]|0,10,0)|0;c[aa>>2]=i;if(!((c[aa>>2]|0)<4?(i=z,i=p0(c[i>>2]|0,c[i+4>>2]|0,10,0)|0,i=l0(i|0,D|0,10,0)|0,!((i|0)==1&(D|0)==0)):0))c[aa>>2]=0;i=a[20896+((c[aa>>2]<<1)+1)>>0]|0;f=(c[ua>>2]|0)+-1|0;c[ua>>2]=f;a[f>>0]=i;f=a[20896+(c[aa>>2]<<1)>>0]|0;i=(c[ua>>2]|0)+-1|0;c[ua>>2]=i;a[i>>0]=f}c[ba>>2]=20905+(d[(c[B>>2]|0)+4>>0]|0);a[ca>>0]=a[(c[B>>2]|0)+1>>0]|0;do{f=c[ba>>2]|0;i=z;i=l0(c[i>>2]|0,c[i+4>>2]|0,d[ca>>0]|0,0)|0;i=a[f+i>>0]|0;f=(c[ua>>2]|0)+-1|0;c[ua>>2]=f;a[f>>0]=i;f=z;f=p0(c[f>>2]|0,c[f+4>>2]|0,d[ca>>0]|0,0)|0;i=z;c[i>>2]=f;c[i+4>>2]=D;i=z;f=c[i+4>>2]|0}while(f>>>0>0|(f|0)==0&(c[i>>2]|0)>>>0>0);c[Ga>>2]=(c[C>>2]|0)+((c[E>>2]|0)-1)-(c[ua>>2]|0);c[j>>2]=(c[Fa>>2]|0)-(c[Ga>>2]|0);while(1){if((c[j>>2]|0)<=0)break;i=(c[ua>>2]|0)+-1|0;c[ua>>2]=i;a[i>>0]=48;c[j>>2]=(c[j>>2]|0)+-1}if(a[y>>0]|0){f=a[y>>0]|0;i=(c[ua>>2]|0)+-1|0;c[ua>>2]=i;a[i>>0]=f}e:do if(d[p>>0]|0?d[(c[B>>2]|0)+5>>0]|0:0){c[da>>2]=20938+(d[(c[B>>2]|0)+5>>0]|0);while(1){i=a[c[da>>2]>>0]|0;a[ea>>0]=i;if(!(i<<24>>24))break e;f=a[ea>>0]|0;i=(c[ua>>2]|0)+-1|0;c[ua>>2]=i;a[i>>0]=f;c[da>>2]=(c[da>>2]|0)+1}}while(0);c[Ga>>2]=(c[C>>2]|0)+((c[E>>2]|0)-1)-(c[ua>>2]|0)}c[k>>2]=(c[k>>2]|0)-(c[Ga>>2]|0);if(!((c[k>>2]|0)<=0|(a[m>>0]|0)!=0))Vd(c[F>>2]|0,c[k>>2]|0,32);Pd(c[F>>2]|0,c[ua>>2]|0,c[Ga>>2]|0);if((c[k>>2]|0)>0?d[m>>0]|0:0)Vd(c[F>>2]|0,c[k>>2]|0,32);if(c[G>>2]|0){Xd(c[c[F>>2]>>2]|0,c[G>>2]|0);c[G>>2]=0}c[P>>2]=(c[P>>2]|0)+1}if((Ha|0)==13){Pd(c[F>>2]|0,20756,1);l=Ia;return}else if((Ha|0)==96){Dd(c[F>>2]|0,1);l=Ia;return}else if((Ha|0)==165){Dd(c[F>>2]|0,1);l=Ia;return}else if((Ha|0)==245){Dd(c[F>>2]|0,1);l=Ia;return}else if((Ha|0)==272){l=Ia;return}}function Bd(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;do if((c[(c[e>>2]|0)+8>>2]|0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=Cd(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){h0(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{Dd(b,1);break}}while(0);l=f;return c[(c[e>>2]|0)+8>>2]|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;g=i;h=i+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=Ed(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=Fd(c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}return 0}function Dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;l=e;return}function Ed(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k;j=k+8|0;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+256>>2]|0){if(a[(c[h>>2]|0)+69>>0]|0){c[g>>2]=0;j=c[g>>2]|0;l=k;return j|0}}else{f=i;d=c[f+4>>2]|0;b=(c[h>>2]|0)+256|0;if(d>>>0>0|((d|0)==0?(c[f>>2]|0)>>>0>(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)){j=b+16+4|0;c[j>>2]=(c[j>>2]|0)+1;break}f=c[b+28>>2]|0;c[j>>2]=f;if(!f){j=(c[h>>2]|0)+256+16+8|0;c[j>>2]=(c[j>>2]|0)+1;break}c[(c[h>>2]|0)+256+28>>2]=c[c[j>>2]>>2];i=(c[h>>2]|0)+256+8|0;c[i>>2]=(c[i>>2]|0)+1;i=(c[h>>2]|0)+256+16|0;c[i>>2]=(c[i>>2]|0)+1;if((c[(c[h>>2]|0)+256+8>>2]|0)>(c[(c[h>>2]|0)+256+12>>2]|0))c[(c[h>>2]|0)+256+12>>2]=c[(c[h>>2]|0)+256+8>>2];c[g>>2]=c[j>>2];j=c[g>>2]|0;l=k;return j|0}while(0);j=i;c[g>>2]=Nd(c[h>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[g>>2]|0;l=k;return j|0}function Fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;l=f;return g|0}if(c[2]|0){td(c[13620]|0);Gd(c[d>>2]|0,e)|0;ud(c[13620]|0);g=c[e>>2]|0;l=f;return g|0}else{c[e>>2]=Hb[c[48>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;l=f;return g|0}return 0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[i>>2]=a;c[d>>2]=b;c[e>>2]=Hb[c[64>>2]&255](c[i>>2]|0)|0;Hd(5,c[i>>2]|0);b=54488;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=Id(0)|0;a=g;c[a>>2]=b;c[a+4>>2]=D;a=g;g=c[a>>2]|0;a=c[a+4>>2]|0;b=54488;i=c[e>>2]|0;i=Z$(c[b>>2]|0,c[b+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;b=D;if((a|0)>(b|0)|(a|0)==(b|0)&g>>>0>=i>>>0){c[13627]=1;Jd(c[e>>2]|0);break}else{c[13627]=0;break}}while(0);c[f>>2]=Hb[c[48>>2]&255](c[e>>2]|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=c[d>>2]|0;c[i>>2]=g;i=c[e>>2]|0;l=h;return i|0}c[e>>2]=Kd(c[f>>2]|0)|0;Ld(0,c[e>>2]|0);Ld(9,1);g=c[f>>2]|0;i=c[d>>2]|0;c[i>>2]=g;i=c[e>>2]|0;l=h;return i|0}function Hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[54556+(c[d>>2]<<2)>>2]|0)>>>0){l=f;return}c[54556+(c[d>>2]<<2)>>2]=c[e>>2];l=f;return}function Id(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;D=0;l=d;return c[54516+(c[b>>2]<<2)>>2]|0}function Jd(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d;c[b>>2]=a;a=54488;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){l=d;return}ud(c[13620]|0);Md(c[b>>2]|0)|0;td(c[13620]|0);l=d;return}function Kd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Hb[c[60>>2]&255](c[d>>2]|0)|0;l=b;return a|0}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;b=54516+(c[d>>2]<<2)|0;c[b>>2]=(c[b>>2]|0)+(c[f>>2]|0);if((c[54516+(c[d>>2]<<2)>>2]|0)>>>0<=(c[54556+(c[d>>2]<<2)>>2]|0)>>>0){l=e;return}c[54556+(c[d>>2]<<2)>>2]=c[54516+(c[d>>2]<<2)>>2];l=e;return}function Md(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;d=h;c[f>>2]=Fd(c[d>>2]|0,c[d+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;l=g;return h|0}Od(c[e>>2]|0);h=c[f>>2]|0;l=g;return h|0}function Od(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+69>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+70>>0]|0|0){l=f;return}a[(c[e>>2]|0)+69>>0]=1;if((c[(c[e>>2]|0)+168>>2]|0)>0)c[(c[e>>2]|0)+248>>2]=1;e=(c[e>>2]|0)+256|0;c[e>>2]=(c[e>>2]|0)+1;l=f;return}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){ok(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);l=h;return}else{d=(c[e>>2]|0)+12|0;c[d>>2]=(c[d>>2]|0)+(c[g>>2]|0);h0((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;l=h;return}}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;d=c[d>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;l=e;return d|0}else{f=c[(c[d>>2]|0)+8>>2]|0;d=(c[d>>2]|0)+4|0;a=c[d>>2]|0;c[d>>2]=a+1;a=Fi(c[f+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=D;d=b;d=c[d>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;l=e;return d|0}return 0}function Rd(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=l;l=l+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];l=e;return +f}else{a=c[(c[d>>2]|0)+8>>2]|0;g=(c[d>>2]|0)+4|0;d=c[g>>2]|0;c[g>>2]=d+1;h[b>>3]=+Hi(c[a+(d<<2)>>2]|0);f=+h[b>>3];l=e;return +f}return 0.0}function Sd(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;l=d;return c[b>>2]|0}function Td(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;i=k+8|0;j=k;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;j=a[e>>0]|0;l=k;return j|0}else{g=c[g>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;c[i>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[i>>2]|0);c[i>>2]=(c[i>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[i>>2];j=a[e>>0]|0;l=k;return j|0}return 0}function Ud(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}else{a=c[(c[d>>2]|0)+8>>2]|0;f=(c[d>>2]|0)+4|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b>>2]=Rh(c[a+(d<<2)>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}return 0}function Vd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+4|0;g=i;h=i+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;e=c[g>>2]|0;e=_$(c[(c[f>>2]|0)+12>>2]|0,0,e|0,((e|0)<0)<<31>>31|0)|0;d=D;if((d|0)>0|((d|0)==0?e>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(e=be(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=e,(e|0)<=0):0){l=i;return}while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0)break;b=a[h>>0]|0;d=c[(c[f>>2]|0)+8>>2]|0;j=(c[f>>2]|0)+12|0;e=c[j>>2]|0;c[j>>2]=e+1;a[d+e>>0]=b}l=i;return}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;Pd(a,b,md(c[e>>2]|0)|0);l=d;return}function Xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+456>>2]|0){Yd(a,b);l=g;return}if(Zd(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+256+28>>2];c[(c[d>>2]|0)+256+28>>2]=c[f>>2];f=(c[d>>2]|0)+256+8|0;c[f>>2]=(c[f>>2]|0)+-1;l=g;return}}_d(c[e>>2]|0);l=g;return}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=ae(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+456>>2]|0;c[b>>2]=(c[b>>2]|0)+a;l=d;return}function Zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+32>>2]|0)>>>0){e=0;e=e&1;l=f;return e|0}e=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+36>>2]|0)>>>0;e=e&1;l=f;return e|0}function _d(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}if(c[2]|0){td(c[13620]|0);$d(0,Kd(c[b>>2]|0)|0);$d(9,1);Eb[c[52>>2]&255](c[b>>2]|0);ud(c[13620]|0);l=d;return}else{Eb[c[52>>2]&255](c[b>>2]|0);l=d;return}}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=54516+(c[f>>2]<<2)|0;c[b>>2]=(c[b>>2]|0)-(c[e>>2]|0);l=d;return}function ae(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(c[f>>2]|0?Zd(c[f>>2]|0,c[g>>2]|0)|0:0){c[d>>2]=e[(c[f>>2]|0)+256+4>>1];g=c[d>>2]|0;l=h;return g|0}c[d>>2]=Hb[c[60>>2]&255](c[g>>2]|0)|0;g=c[d>>2]|0;l=h;return g|0}function be(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+24|0;i=m+20|0;j=m+16|0;k=m+12|0;f=m+8|0;g=m;c[i>>2]=b;c[j>>2]=e;if(a[(c[i>>2]|0)+24>>0]|0){c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}b=c[i>>2]|0;if(!(c[(c[i>>2]|0)+20>>2]|0)){c[j>>2]=(c[b+16>>2]|0)-(c[(c[i>>2]|0)+12>>2]|0)-1;Dd(c[i>>2]|0,2);c[h>>2]=c[j>>2];k=c[h>>2]|0;l=m;return k|0}if(d[b+25>>0]&4|0)b=c[(c[i>>2]|0)+8>>2]|0;else b=0;c[f>>2]=b;b=g;c[b>>2]=c[(c[i>>2]|0)+12>>2];c[b+4>>2]=0;b=(c[j>>2]|0)+1|0;e=g;b=_$(c[e>>2]|0,c[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;e=g;c[e>>2]=b;c[e+4>>2]=D;e=g;e=_$(c[e>>2]|0,c[e+4>>2]|0,c[(c[i>>2]|0)+12>>2]|0,0)|0;b=D;if((b|0)<0|((b|0)==0?e>>>0<=(c[(c[i>>2]|0)+20>>2]|0)>>>0:0)){b=g;b=_$(c[b>>2]|0,c[b+4>>2]|0,c[(c[i>>2]|0)+12>>2]|0,0)|0;e=g;c[e>>2]=b;c[e+4>>2]=D}e=g;b=c[e+4>>2]|0;if((b|0)>0|((b|0)==0?(c[e>>2]|0)>>>0>(c[(c[i>>2]|0)+20>>2]|0)>>>0:0)){ce(c[i>>2]|0);Dd(c[i>>2]|0,2);c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}c[(c[i>>2]|0)+16>>2]=c[g>>2];if(c[c[i>>2]>>2]|0)c[k>>2]=de(c[c[i>>2]>>2]|0,c[f>>2]|0,c[(c[i>>2]|0)+16>>2]|0,0)|0;else c[k>>2]=ee(c[f>>2]|0,c[(c[i>>2]|0)+16>>2]|0,0)|0;b=c[i>>2]|0;if(!(c[k>>2]|0)){ce(b);Dd(c[i>>2]|0,1);c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}if((d[b+25>>0]&4|0)==0?(c[(c[i>>2]|0)+12>>2]|0)>>>0>0:0)h0(c[k>>2]|0,c[(c[i>>2]|0)+8>>2]|0,c[(c[i>>2]|0)+12>>2]|0)|0;c[(c[i>>2]|0)+8>>2]=c[k>>2];k=ae(c[c[i>>2]>>2]|0,c[k>>2]|0)|0;c[(c[i>>2]|0)+16>>2]=k;k=(c[i>>2]|0)+25|0;a[k>>0]=d[k>>0]|4;c[h>>2]=c[j>>2];k=c[h>>2]|0;l=m;return k|0}function ce(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){e=c[e>>2]|0;e=e+8|0;c[e>>2]=0;l=f;return}Xd(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;e=c[e>>2]|0;e=e+8|0;c[e>>2]=0;l=f;return}function de(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k;c[h>>2]=a;c[i>>2]=b;a=j;c[a>>2]=d;c[a+4>>2]=f;a=c[h>>2]|0;if(!(c[i>>2]|0)){c[g>>2]=Ed(a,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[g>>2]|0;l=k;return j|0}if(Zd(a,c[i>>2]|0)|0?(f=j,d=c[f+4>>2]|0,d>>>0<0|((d|0)==0?(c[f>>2]|0)>>>0<=(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)):0){c[g>>2]=c[i>>2];j=c[g>>2]|0;l=k;return j|0}c[g>>2]=nk(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[g>>2]|0;l=k;return j|0}function ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(fe()|0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=ge(c[f>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[e>>2]|0;l=h;return g|0}return 0}function fe(){var a=0,b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;a=f+8|0;b=f+4|0;d=f;if(c[59]|0){c[a>>2]=0;g=c[a>>2]|0;l=f;return g|0}c[d>>2]=he()|0;if(c[d>>2]|0){c[a>>2]=c[d>>2];g=c[a>>2]|0;l=f;return g|0}c[b>>2]=ie(2)|0;td(c[b>>2]|0);c[61]=1;if(!(c[62]|0))c[d>>2]=je()|0;if(((c[d>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=ie(1)|0,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[d>>2]=7;if(!(c[d>>2]|0))c[64]=(c[64]|0)+1;ud(c[b>>2]|0);if(c[d>>2]|0){c[a>>2]=c[d>>2];g=c[a>>2]|0;l=f;return g|0}td(c[65]|0);if((c[59]|0)==0&(c[60]|0)==0){c[60]=1;e=54696;g=e+92|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));ke();if(!(c[63]|0))c[d>>2]=le()|0;if(!(c[d>>2]|0)){c[63]=1;c[d>>2]=me()|0}if(!(c[d>>2]|0)){ne(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}ud(c[65]|0);td(c[b>>2]|0);c[64]=(c[64]|0)+-1;if((c[64]|0)<=0){oe(c[65]|0);c[65]=0}ud(c[b>>2]|0);c[a>>2]=c[d>>2];g=c[a>>2]|0;l=f;return g|0}function ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;e=m+28|0;f=m+24|0;g=m;h=m+20|0;i=m+16|0;j=m+12|0;k=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;a=c[b>>2]|0;b=c[b+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=Fd(a,b)|0;k=c[e>>2]|0;l=m;return k|0}if((a|0)==0&(b|0)==0){_d(c[f>>2]|0);c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}d=g;b=c[d+4>>2]|0;if(b>>>0>0|(b|0)==0&(c[d>>2]|0)>>>0>=2147483392){c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}c[h>>2]=Kd(c[f>>2]|0)|0;c[i>>2]=Hb[c[64>>2]&255](c[g>>2]|0)|0;do if((c[h>>2]|0)==(c[i>>2]|0))c[k>>2]=c[f>>2];else{if(!(c[2]|0)){c[k>>2]=Mb[c[56>>2]&255](c[f>>2]|0,c[i>>2]|0)|0;break}td(c[13620]|0);Hd(5,c[g>>2]|0);c[j>>2]=(c[i>>2]|0)-(c[h>>2]|0);b=Id(0)|0;n=D;a=54488;d=c[j>>2]|0;d=Z$(c[a>>2]|0,c[a+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;a=D;if((n|0)>(a|0)|(n|0)==(a|0)&b>>>0>=d>>>0)Jd(c[j>>2]|0);c[k>>2]=Mb[c[56>>2]&255](c[f>>2]|0,c[i>>2]|0)|0;n=54488;j=c[n+4>>2]|0;if((c[k>>2]|0)==0&((j|0)>0|(j|0)==0&(c[n>>2]|0)>>>0>0)){Jd(c[g>>2]|0);c[k>>2]=Mb[c[56>>2]&255](c[f>>2]|0,c[i>>2]|0)|0}if(c[k>>2]|0){c[i>>2]=Kd(c[k>>2]|0)|0;Ld(0,(c[i>>2]|0)-(c[h>>2]|0)|0)}ud(c[13620]|0)}while(0);c[e>>2]=c[k>>2];n=c[e>>2]|0;l=m;return n|0}function he(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;a=e+8|0;b=e+4|0;d=e;c[a>>2]=0;if(c[22]|0){d=c[20]|0;d=Db[d&255]()|0;c[a>>2]=d;d=c[a>>2]|0;l=e;return d|0}c[d>>2]=80;if(c[3]|0)c[b>>2]=Zj()|0;else c[b>>2]=_j()|0;c[c[d>>2]>>2]=c[c[b>>2]>>2];c[(c[d>>2]|0)+4>>2]=c[(c[b>>2]|0)+4>>2];c[(c[d>>2]|0)+12>>2]=c[(c[b>>2]|0)+12>>2];c[(c[d>>2]|0)+16>>2]=c[(c[b>>2]|0)+16>>2];c[(c[d>>2]|0)+20>>2]=c[(c[b>>2]|0)+20>>2];c[(c[d>>2]|0)+24>>2]=c[(c[b>>2]|0)+24>>2];c[(c[d>>2]|0)+28>>2]=c[(c[b>>2]|0)+28>>2];c[(c[d>>2]|0)+32>>2]=c[(c[b>>2]|0)+32>>2];jf();c[(c[d>>2]|0)+8>>2]=c[(c[b>>2]|0)+8>>2];d=c[20]|0;d=Db[d&255]()|0;c[a>>2]=d;d=c[a>>2]|0;l=e;return d|0}function ie(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if(c[3]|0){c[b>>2]=Hb[c[88>>2]&255](c[d>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}return 0}function je(){var a=0,b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;a=g+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;if(!(c[12]|0))mg();c[13620]=0;c[13621]=0;c[13622]=0;c[13623]=0;c[13624]=0;c[13625]=0;c[13626]=0;c[13627]=0;c[13620]=ie(3)|0;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[e>>2]=c[51]&-8;c[51]=c[e>>2];c[f>>2]=c[50];c[d>>2]=c[52];c[13625]=c[f>>2];c[13626]=c[d>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=((c[d>>2]|0)-1|0))break;c[c[f>>2]>>2]=(c[f>>2]|0)+(c[e>>2]|0);c[f>>2]=c[c[f>>2]>>2];c[b>>2]=(c[b>>2]|0)+1}c[c[f>>2]>>2]=0;c[13624]=(c[f>>2]|0)+4}else{c[13624]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[a>>2]=Hb[c[68>>2]&255](c[19]|0)|0;if(!(c[a>>2]|0)){f=c[a>>2]|0;l=g;return f|0};c[13620]=0;c[13621]=0;c[13622]=0;c[13623]=0;c[13624]=0;c[13625]=0;c[13626]=0;c[13627]=0;f=c[a>>2]|0;l=g;return f|0}function ke(){Zg();_g();$g(2016,57);return}function le(){if(!(c[31]|0))kg();return Hb[c[124>>2]&255](c[30]|0)|0}function me(){var a=0,b=0,d=0;d=l;l=l+16|0;a=d+4|0;b=d;c[b>>2]=pe(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;l=d;return b|0}else{_d(c[b>>2]|0);c[a>>2]=qe()|0;b=c[a>>2]|0;l=d;return b|0}return 0}function ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[13662]|0)){l=i;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[13665]=c[f>>2];d=c[g>>2]|0;c[13672]=d;c[13666]=d;if((c[g>>2]|0)>90)a=10;else a=((c[g>>2]|0)/10|0)+1|0;c[13667]=a;c[13668]=c[e>>2];c[13671]=0;c[13673]=0;while(1){d=c[g>>2]|0;c[g>>2]=d+-1;a=c[e>>2]|0;if(!d)break;c[h>>2]=a;c[c[h>>2]>>2]=c[13671];c[13671]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[13669]=a;l=i;return}function oe(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Eb[c[92>>2]&255](c[b>>2]|0);l=d;return}function pe(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e+4|0;b=e;c[b>>2]=a;if(fe()|0){c[d>>2]=0;d=c[d>>2]|0;l=e;return d|0}if((c[b>>2]|0)<=0)a=0;else{a=c[b>>2]|0;a=Fd(a,((a|0)<0)<<31>>31)|0}c[d>>2]=a;d=c[d>>2]|0;l=e;return d|0}function qe(){var a=0,b=0;b=l;l=l+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;re(976+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}l=b;return 0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;d=i;c[f>>2]=a;c[g>>2]=b;c[d>>2]=fe()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];h=c[e>>2]|0;l=i;return h|0}c[h>>2]=ie(2)|0;td(c[h>>2]|0);se(c[f>>2]|0);a=c[13697]|0;if((c[g>>2]|0)!=0|(c[13697]|0)==0){c[(c[f>>2]|0)+12>>2]=a;c[13697]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[a+12>>2];c[(c[13697]|0)+12>>2]=c[f>>2]}ud(c[h>>2]|0);c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}function se(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){l=f;return}if((c[13697]|0)==(c[d>>2]|0)){c[13697]=c[(c[d>>2]|0)+12>>2];l=f;return}if(!(c[13697]|0)){l=f;return}c[e>>2]=c[13697];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){l=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];l=f;return}function te(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+624|0;B=H+92|0;C=H+88|0;D=H+84|0;E=H+80|0;F=H+76|0;g=H+72|0;h=H+68|0;i=H+64|0;j=H+60|0;k=H+56|0;m=H+52|0;n=H+48|0;o=H+44|0;p=H+40|0;q=H+36|0;r=H+32|0;s=H+28|0;t=H+24|0;u=H+20|0;v=H+96|0;w=H+16|0;x=H+12|0;y=H+8|0;z=H+4|0;A=H;c[C>>2]=a;c[D>>2]=b;c[E>>2]=d;c[F>>2]=e;c[g>>2]=f;c[h>>2]=c[E>>2];c[i>>2]=-1;c[j>>2]=0;c[k>>2]=c[F>>2]&-256;c[n>>2]=0;c[o>>2]=0;c[p>>2]=c[F>>2]&16;c[q>>2]=c[F>>2]&8;c[r>>2]=c[F>>2]&4;c[s>>2]=c[F>>2]&1;c[t>>2]=c[F>>2]&2;if(c[r>>2]|0)if((c[k>>2]|0)==16384|(c[k>>2]|0)==2048)a=1;else a=(c[k>>2]|0)==524288;else a=0;c[u>>2]=a&1;c[w>>2]=c[D>>2];f=c[13698]|0;if((f|0)!=(w$()|0)){c[13698]=w$()|0;sf(0,0)}a=c[h>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=c[w>>2]|0;do if((c[k>>2]|0)!=256){if(!a){c[n>>2]=pf(c[(c[C>>2]|0)+8>>2]|0,v)|0;if(!(c[n>>2]|0)){c[w>>2]=v;break}c[B>>2]=c[n>>2];G=c[B>>2]|0;l=H;return G|0}}else{c[x>>2]=Kf(a,c[F>>2]|0)|0;if(!(c[x>>2]|0)){c[x>>2]=of(12,0)|0;if(!(c[x>>2]|0)){c[B>>2]=7;G=c[B>>2]|0;l=H;return G|0}}else c[i>>2]=c[c[x>>2]>>2];c[(c[h>>2]|0)+28>>2]=c[x>>2]}while(0);if(c[s>>2]|0)c[j>>2]=c[j>>2];if(c[t>>2]|0)c[j>>2]=c[j>>2]|2;if(c[r>>2]|0)c[j>>2]=c[j>>2]|64;if(c[p>>2]|0)c[j>>2]=c[j>>2]|131200;c[j>>2]=c[j>>2];do if((c[i>>2]|0)<0){c[n>>2]=Lf(c[w>>2]|0,c[F>>2]|0,y,z,A)|0;if(c[n>>2]|0){c[B>>2]=c[n>>2];G=c[B>>2]|0;l=H;return G|0}c[i>>2]=ff(c[w>>2]|0,c[j>>2]|0,c[y>>2]|0)|0;if((c[i>>2]|0)<0?(x=(c[(s_()|0)>>2]|0)!=21,x&(c[t>>2]|0)!=0):0){c[F>>2]=c[F>>2]&-7;c[j>>2]=c[j>>2]&-67;c[F>>2]=c[F>>2]|1;c[j>>2]=c[j>>2];c[s>>2]=1;c[i>>2]=ff(c[w>>2]|0,c[j>>2]|0,c[y>>2]|0)|0}if((c[i>>2]|0)<0){F=gf(35186)|0;c[n>>2]=af(F,21042,c[w>>2]|0,35186)|0;break}if(c[F>>2]&526336|0){Mf(c[i>>2]|0,c[z>>2]|0,c[A>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[g>>2]|0)c[c[g>>2]>>2]=c[F>>2];if(c[(c[h>>2]|0)+28>>2]|0){c[c[(c[h>>2]|0)+28>>2]>>2]=c[i>>2];c[(c[(c[h>>2]|0)+28>>2]|0)+4>>2]=c[F>>2]}if(c[q>>2]|0)Hb[c[1612>>2]&255](c[w>>2]|0)|0;if(c[q>>2]|0)c[o>>2]=c[o>>2]|32;if(c[s>>2]|0)c[o>>2]=c[o>>2]|2;c[m>>2]=(c[k>>2]|0)!=256&1;if(c[m>>2]|0)c[o>>2]=c[o>>2]|128;if(c[u>>2]|0)c[o>>2]=c[o>>2]|8;if(c[F>>2]&64|0)c[o>>2]=c[o>>2]|64;c[n>>2]=Nf(c[C>>2]|0,c[i>>2]|0,c[E>>2]|0,c[D>>2]|0,c[o>>2]|0)|0}if(c[n>>2]|0)_d(c[(c[h>>2]|0)+28>>2]|0);c[B>>2]=c[n>>2];G=c[B>>2]|0;l=H;return G|0}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[j+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if((Hb[c[1612>>2]&255](c[f>>2]|0)|0)==-1){if((c[(s_()|0)>>2]|0)==2)c[h>>2]=5898;else c[h>>2]=af(2570,21146,c[f>>2]|0,35312)|0;c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}do if(c[g>>2]&1|0){c[h>>2]=Mb[c[1624>>2]&255](c[f>>2]|0,i)|0;if(c[h>>2]|0){c[h>>2]=0;break}if(Af(c[i>>2]|0,0,0)|0)c[h>>2]=af(1290,21398,c[f>>2]|0,35322)|0;$e(0,c[i>>2]|0,35324)}while(0);c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+96|0;f=i+84|0;j=i+80|0;h=i+76|0;g=i;c[i+88>>2]=a;c[f>>2]=b;c[j>>2]=d;c[h>>2]=e;if(c[j>>2]|0){j=(Mb[c[1444>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[h>>2]>>2]=j;l=i;return 0}if(!(Mb[c[1468>>2]&255](c[f>>2]|0,g)|0))a=(c[g+36>>2]|0)>0;else a=0;c[c[h>>2]>>2]=a&1;l=i;return 0}function we(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+128|0;s=r+112|0;m=r+108|0;n=r+104|0;q=r+100|0;o=r+96|0;g=r+92|0;h=r+88|0;p=r+84|0;i=r+80|0;j=r+4|0;k=r;c[r+116>>2]=b;c[s>>2]=d;c[m>>2]=e;c[n>>2]=f;c[q>>2]=0;c[g>>2]=1;c[h>>2]=c[s>>2];c[p>>2]=0;while(1){c[i>>2]=0;if(Mb[c[1744>>2]&255](c[h>>2]|0,j)|0){if((c[(s_()|0)>>2]|0)!=2){s=gf(35436)|0;c[q>>2]=af(s,21234,c[h>>2]|0,35436)|0}}else c[i>>2]=(c[j+12>>2]&61440|0)==40960&1;if(c[i>>2]|0){if(!(c[p>>2]|0)){c[p>>2]=pe(c[m>>2]|0)|0;if(!(c[p>>2]|0))c[q>>2]=7}else{s=(c[g>>2]|0)+1|0;c[g>>2]=s;if((s|0)>100)c[q>>2]=gf(35447)|0}do if(!(c[q>>2]|0)){c[o>>2]=Bb[c[1732>>2]&255](c[h>>2]|0,c[p>>2]|0,(c[m>>2]|0)-1|0)|0;if((c[o>>2]|0)<0){s=gf(35453)|0;c[q>>2]=af(s,21225,c[h>>2]|0,35453)|0;break}do if((a[c[p>>2]>>0]|0)!=47){c[k>>2]=md(c[h>>2]|0)|0;while(1){if((c[k>>2]|0)<=0)break;if((a[(c[h>>2]|0)+((c[k>>2]|0)-1)>>0]|0)==47)break;c[k>>2]=(c[k>>2]|0)+-1}if(((c[o>>2]|0)+(c[k>>2]|0)+1|0)>(c[m>>2]|0)){c[q>>2]=gf(35459)|0;break}else{k0((c[p>>2]|0)+(c[k>>2]|0)|0,c[p>>2]|0,(c[o>>2]|0)+1|0)|0;h0(c[p>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);break}}while(0);a[(c[p>>2]|0)+(c[o>>2]|0)>>0]=0}while(0);c[h>>2]=c[p>>2]}if((c[q>>2]|0)==0?(c[h>>2]|0)!=(c[n>>2]|0):0)c[q>>2]=Jf(c[h>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;if(!(c[i>>2]|0)){b=30;break}c[h>>2]=c[n>>2];if(c[q>>2]|0){b=30;break}}if((b|0)==30){_d(c[p>>2]|0);l=r;return c[q>>2]|0}return 0}function xe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[k+20>>2]=b;c[f>>2]=d;c[g>>2]=e;m0(c[g>>2]|0,0,c[f>>2]|0)|0;c[13698]=w$()|0;c[h>>2]=ff(21385,0,0)|0;if((c[h>>2]|0)<0){tb(j|0)|0;i=c[g>>2]|0;a[i>>0]=a[j>>0]|0;a[i+1>>0]=a[j+1>>0]|0;a[i+2>>0]=a[j+2>>0]|0;a[i+3>>0]=a[j+3>>0]|0;j=(c[g>>2]|0)+4|0;a[j>>0]=a[54792]|0;a[j+1>>0]=a[54793]|0;a[j+2>>0]=a[54794]|0;a[j+3>>0]=a[54795]|0;c[f>>2]=8;j=c[f>>2]|0;l=k;return j|0}do{c[i>>2]=Bb[c[1516>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[i>>2]|0)>=0)break}while((c[(s_()|0)>>2]|0)==4);$e(0,c[h>>2]|0,35583);j=c[f>>2]|0;l=k;return j|0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;P$(c[d>>2]|0)|0;l=e;return (c[d>>2]|0)*1e6|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=Be(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;l=e;return c[d>>2]|0}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[(s_()|0)>>2]|0;l=e;return d|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;ub(g|0,0)|0;b=c[g>>2]|0;b=r0(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=_$(1045635584,49096,b|0,D|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=_$(b|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=D;l=e;return c[d>>2]|0}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[j+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[1416+((c[g>>2]|0)*12|0)+8>>2]|0)c[1416+((c[g>>2]|0)*12|0)+4>>2]=c[1416+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}i=c[h>>2]|0;l=j;return i|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){i=16;break}d=(G_(c[e>>2]|0,c[1416+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;a=c[g>>2]|0;if(d)break;c[g>>2]=a+1}if((i|0)==16){i=c[h>>2]|0;l=j;return i|0}if(!(c[1416+(a*12|0)+8>>2]|0))c[1416+((c[g>>2]|0)*12|0)+8>>2]=c[1416+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[1416+((c[g>>2]|0)*12|0)+8>>2];c[1416+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];i=c[h>>2]|0;l=j;return i|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(G_(c[d>>2]|0,c[1416+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[1416+(b*12|0)+4>>2];f=c[f>>2]|0;l=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}return 0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(G_(c[d>>2]|0,c[1416+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){a=11;break}b=c[e>>2]|0;if(c[1416+((c[e>>2]|0)*12|0)+4>>2]|0){a=9;break}c[e>>2]=b+1}if((a|0)==9){c[f>>2]=c[1416+(b*12|0)>>2];f=c[f>>2]|0;l=g;return f|0}else if((a|0)==11){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}return 0}function Fe(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 1340}function Ge(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];Ne(c[d>>2]|0,0)|0;_d(c[(c[e>>2]|0)+24>>2]|0);a=Df(c[d>>2]|0)|0;l=b;return a|0}function He(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;i=m+28|0;o=m+24|0;j=m+20|0;k=m+16|0;n=m;g=m+12|0;h=m+8|0;c[o>>2]=a;c[j>>2]=b;c[k>>2]=d;d=n;c[d>>2]=e;c[d+4>>2]=f;c[g>>2]=c[o>>2];f=n;c[h>>2]=Cf(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if((c[h>>2]|0)==(c[k>>2]|0)){c[i>>2]=0;o=c[i>>2]|0;l=m;return o|0}if((c[h>>2]|0)<0){c[i>>2]=266;o=c[i>>2]|0;l=m;return o|0}else{yf(c[g>>2]|0,0);m0((c[j>>2]|0)+(c[h>>2]|0)|0,0,(c[k>>2]|0)-(c[h>>2]|0)|0)|0;c[i>>2]=522;o=c[i>>2]|0;l=m;return o|0}return 0}function Ie(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;m=n;g=n+12|0;h=n+8|0;c[o>>2]=a;c[j>>2]=b;c[k>>2]=d;d=m;c[d>>2]=e;c[d+4>>2]=f;c[g>>2]=c[o>>2];c[h>>2]=0;while(1){o=m;o=wf(c[g>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[h>>2]=o;if(!((o|0)<(c[k>>2]|0)?(c[h>>2]|0)>0:0))break;c[k>>2]=(c[k>>2]|0)-(c[h>>2]|0);f=c[h>>2]|0;o=m;f=_$(c[o>>2]|0,c[o+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;o=m;c[o>>2]=f;c[o+4>>2]=D;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0)}if((c[k>>2]|0)<=(c[h>>2]|0)){c[i>>2]=0;o=c[i>>2]|0;l=n;return o|0}if((c[h>>2]|0)<0?(c[(c[g>>2]|0)+20>>2]|0)!=28:0){c[i>>2]=778;o=c[i>>2]|0;l=n;return o|0}yf(c[g>>2]|0,0);c[i>>2]=13;o=c[i>>2]|0;l=n;return o|0}function Je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;j=i+16|0;f=i;g=i+12|0;h=i+8|0;c[j>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[j>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){j=f;d=c[(c[g>>2]|0)+40>>2]|0;d=_$(c[j>>2]|0,c[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Z$(d|0,D|0,1,0)|0;j=c[(c[g>>2]|0)+40>>2]|0;j=n0(d|0,D|0,j|0,((j|0)<0)<<31>>31|0)|0;d=c[(c[g>>2]|0)+40>>2]|0;d=r0(j|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=f;c[j>>2]=d;c[j+4>>2]=D}j=f;c[h>>2]=Bf(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;if(c[h>>2]|0){j=c[g>>2]|0;yf(j,c[(s_()|0)>>2]|0);c[e>>2]=af(1546,21072,c[(c[g>>2]|0)+32>>2]|0,32998)|0;j=c[e>>2]|0;l=i;return j|0}else{c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}return 0}function Ke(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;j=l;l=l+32|0;f=j+28|0;o=j+24|0;n=j+20|0;g=j+16|0;h=j+12|0;k=j+8|0;m=j+4|0;i=j;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[k>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[g>>2]=Af(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[k>>2]|0)|0;a=c[h>>2]|0;if(c[g>>2]|0){yf(a,c[(s_()|0)>>2]|0);c[f>>2]=af(1034,21374,c[(c[h>>2]|0)+32>>2]|0,32953)|0;o=c[f>>2]|0;l=j;return o|0}if((e[a+18>>1]|0)&8|0){c[g>>2]=Mb[c[1624>>2]&255](c[(c[h>>2]|0)+32>>2]|0,i)|0;if(!(c[g>>2]|0)){Af(c[i>>2]|0,0,0)|0;$e(c[h>>2]|0,c[i>>2]|0,32967)}else c[g>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[g>>2];o=c[f>>2]|0;l=j;return o|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+96|0;d=h+88|0;e=h+84|0;f=h+80|0;i=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[i>>2]=Mb[c[1480>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[i>>2]|0){i=c[e>>2]|0;yf(i,c[(s_()|0)>>2]|0);c[d>>2]=1802;i=c[d>>2]|0;l=h;return i|0}g=c[g+36>>2]|0;i=c[f>>2]|0;c[i>>2]=g;c[i+4>>2]=((g|0)<0)<<31>>31;i=c[f>>2]|0;if((c[i>>2]|0)==1&(c[i+4>>2]|0)==0){i=c[f>>2]|0;c[i>>2]=0;c[i+4>>2]=0}c[d>>2]=0;i=c[d>>2]|0;l=h;return i|0}function Me(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[i>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];Ea(c[i>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;l=m;return n|0}c[j>>2]=Mb[c[1636>>2]&255](c[i>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;l=m;return n|0}c[k>>2]=c[(s_()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=zf(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)yf(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;l=m;return n|0}function Ne(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[i>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;l=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;l=m;return n|0}c[j>>2]=Hb[c[1648>>2]&255](c[i>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;l=m;return n|0}c[k>>2]=c[(s_()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;yf(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;l=m;return n|0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=l;l=l+32|0;i=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[i>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[i>>2];c[g>>2]=(Mb[c[1444>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];l=e;return c[d>>2]|0}function Pe(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[i>>2]=lf(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[i>>2];break}case 10:{mf(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{mf(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=nf(21240,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[j>>2]=of(o,((o|0)<0)<<31>>31)|0;if(c[j>>2]|0){pf(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[j>>2]|0)|0;c[c[g>>2]>>2]=c[j>>2]}c[f>>2]=0;break}case 20:{o=qf(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);l=m;return c[f>>2]|0}function Qe(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 4096}function Re(a){a=a|0;var b=0,d=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;l=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;l=d;return g|0}function Se(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;v=u+32|0;o=u+28|0;p=u+24|0;q=u+20|0;r=u+16|0;s=u+12|0;h=u+8|0;i=u+4|0;j=u;k=u+40|0;m=u+38|0;n=u+36|0;c[v>>2]=a;c[o>>2]=d;c[p>>2]=f;c[q>>2]=g;c[r>>2]=c[v>>2];c[s>>2]=c[(c[r>>2]|0)+36>>2];c[i>>2]=c[c[s>>2]>>2];c[j>>2]=0;b[k>>1]=(1<<(c[o>>2]|0)+(c[p>>2]|0))-(1<>2]);td(c[(c[i>>2]|0)+4>>2]|0);do if(c[q>>2]&1|0){b[m>>1]=0;c[h>>2]=c[(c[i>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((c[h>>2]|0)!=(c[s>>2]|0))b[m>>1]=e[m>>1]|0|(e[(c[h>>2]|0)+10>>1]|0);c[h>>2]=c[(c[h>>2]|0)+4>>2]}if(!((e[k>>1]|0)&(e[m>>1]|0)))c[j>>2]=kf(c[r>>2]|0,2,(c[o>>2]|0)+120|0,c[p>>2]|0)|0;else c[j>>2]=0;if(!(c[j>>2]|0)){v=(c[s>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[k>>1]|0);v=(c[s>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[k>>1]|0)}}else{if(!(c[q>>2]&4)){c[h>>2]=c[(c[i>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((e[(c[h>>2]|0)+12>>1]|0)&(e[k>>1]|0)|0){t=28;break}if((e[(c[h>>2]|0)+10>>1]|0)&(e[k>>1]|0)|0){t=28;break}c[h>>2]=c[(c[h>>2]|0)+4>>2]}if((t|0)==28)c[j>>2]=5;if(c[j>>2]|0)break;c[j>>2]=kf(c[r>>2]|0,1,(c[o>>2]|0)+120|0,c[p>>2]|0)|0;if(c[j>>2]|0)break;v=(c[s>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[k>>1]|0);break}b[n>>1]=0;c[h>>2]=c[(c[i>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((e[(c[h>>2]|0)+12>>1]|0)&(e[k>>1]|0)|0){t=16;break}b[n>>1]=e[n>>1]|0|(e[(c[h>>2]|0)+10>>1]|0);c[h>>2]=c[(c[h>>2]|0)+4>>2]}if((t|0)==16)c[j>>2]=5;do if(!(c[j>>2]|0))if(!((e[n>>1]|0)&(e[k>>1]|0))){c[j>>2]=kf(c[r>>2]|0,0,(c[o>>2]|0)+120|0,c[p>>2]|0)|0;break}else{c[j>>2]=0;break}while(0);if(!(c[j>>2]|0)){v=(c[s>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[k>>1]|0)}}while(0);ud(c[(c[i>>2]|0)+4>>2]|0);l=u;return c[j>>2]|0}function Te(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;jf();Xe();Ze();l=b;return}function Ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;d=j+24|0;k=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[e>>2]=b;c[i>>2]=c[k>>2];c[f>>2]=c[(c[i>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;l=j;return k|0}c[g>>2]=c[c[f>>2]>>2];td(c[(c[g>>2]|0)+4>>2]|0);c[h>>2]=(c[g>>2]|0)+32;while(1){if((c[c[h>>2]>>2]|0)==(c[f>>2]|0))break;c[h>>2]=(c[c[h>>2]>>2]|0)+4}c[c[h>>2]>>2]=c[(c[f>>2]|0)+4>>2];_d(c[f>>2]|0);c[(c[i>>2]|0)+36>>2]=0;ud(c[(c[g>>2]|0)+4>>2]|0);Xe();k=(c[g>>2]|0)+28|0;c[k>>2]=(c[k>>2]|0)+-1;if(!(c[(c[g>>2]|0)+28>>2]|0)){if(c[e>>2]|0?(c[(c[g>>2]|0)+12>>2]|0)>=0:0)Hb[c[1612>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;Ye(c[i>>2]|0)}Ze();c[d>>2]=0;k=c[d>>2]|0;l=j;return k|0}function Ve(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;l=g;return 0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;l=f;return 0}function Xe(){td(ie(11)|0);return}function Ye(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[d>>2]|0)){l=h;return}if(c[(c[d>>2]|0)+28>>2]|0){l=h;return}c[f>>2]=_e()|0;oe(c[(c[d>>2]|0)+4>>2]|0);c[g>>2]=0;while(1){a=c[d>>2]|0;if((c[g>>2]|0)>=(e[(c[d>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)Mb[c[1696>>2]&255](c[(c[(c[d>>2]|0)+24>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[d>>2]|0)+16>>2]|0)|0;else _d(c[(c[(c[d>>2]|0)+24>>2]|0)+(c[g>>2]<<2)>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[f>>2]|0)}_d(c[a+24>>2]|0);if((c[(c[d>>2]|0)+12>>2]|0)>=0){$e(c[b>>2]|0,c[(c[d>>2]|0)+12>>2]|0,33574);c[(c[d>>2]|0)+12>>2]=-1}c[(c[c[d>>2]>>2]|0)+20>>2]=0;_d(c[d>>2]|0);l=h;return}function Ze(){ud(ie(11)|0);return}function _e(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;a=e+8|0;b=e+4|0;d=e;c[b>>2]=32768;c[d>>2]=Db[c[1720>>2]&255]()|0;if((c[d>>2]|0)<(c[b>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;l=e;return d|0}else{c[a>>2]=(c[d>>2]|0)/(c[b>>2]|0)|0;d=c[a>>2]|0;l=e;return d|0}return 0}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(Hb[c[1432>>2]&255](c[h>>2]|0)|0)){l=g;return}if(c[e>>2]|0)a=c[(c[e>>2]|0)+32>>2]|0;else a=0;af(4106,21005,a,c[f>>2]|0)|0;l=g;return}function af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n;f=n+40|0;g=n+36|0;h=n+32|0;i=n+28|0;j=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=c[(s_()|0)>>2];c[j>>2]=55752;if(!(c[h>>2]|0))c[h>>2]=55752;e=c[f>>2]|0;d=c[k>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;k=c[j>>2]|0;c[m>>2]=c[i>>2];c[m+4>>2]=d;c[m+8>>2]=g;c[m+12>>2]=h;c[m+16>>2]=k;xd(e,21011,m);l=n;return c[f>>2]|0}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;f=e;i=e+12|0;h=e+8|0;g=e+4|0;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;b=c[i>>2]|0;d=c[h>>2]|0;c[f>>2]=c[g>>2];d=Y_(b,d,f)|0;l=e;return d|0}function cf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+544|0;k=j;f=j+20|0;m=j+16|0;g=j+12|0;e=j+8|0;h=j+4|0;i=j+24|0;c[m>>2]=b;c[g>>2]=d;c[h>>2]=-1;c[k>>2]=c[m>>2];ef(512,i,21240,k)|0;c[e>>2]=g$(i)|0;while(1){if((c[e>>2]|0)<=0)break;if((a[i+(c[e>>2]|0)>>0]|0)==47)break;c[e>>2]=(c[e>>2]|0)+-1}if((c[e>>2]|0)<=0)if((a[i>>0]|0)!=47){a[i>>0]=46;b=1}else b=1;else b=c[e>>2]|0;a[i+b>>0]=0;c[h>>2]=ff(i,0,0)|0;c[c[g>>2]>>2]=c[h>>2];if((c[h>>2]|0)>=0){c[f>>2]=0;m=c[f>>2]|0;l=j;return m|0}else{c[f>>2]=af(gf(32912)|0,21153,i,32912)|0;m=c[f>>2]|0;l=j;return m|0}return 0}function df(){return Za(30)|0}function ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;k=g+28|0;j=g+24|0;i=g+20|0;f=g+16|0;h=g;c[k>>2]=a;c[j>>2]=b;c[i>>2]=d;c[h>>2]=e;c[f>>2]=hf(c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,h)|0;l=g;return c[f>>2]|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+112|0;k=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;i=m+84|0;j=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=c[g>>2]|0?c[g>>2]|0:420;while(1){c[h>>2]=Bb[c[1420>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[i>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(s_()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;Hb[c[1432>>2]&255](c[h>>2]|0)|0;d=c[h>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=d;xd(28,21260,k);c[h>>2]=-1;if((Bb[c[1420>>2]&255](21303,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){k=c[h>>2]|0;l=m;return k|0}if(Mb[c[1480>>2]&255](c[h>>2]|0,j)|0){k=c[h>>2]|0;l=m;return k|0}if(c[j+36>>2]|0){k=c[h>>2]|0;l=m;return k|0}if((c[j+12>>2]&511|0)==(c[g>>2]|0)){k=c[h>>2]|0;l=m;return k|0}Mb[c[1588>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}function gf(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=vd(14,c[d>>2]|0,21243)|0;l=b;return a|0}function hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+44|0;g=k+40|0;m=k+36|0;h=k+32|0;i=k+28|0;j=k;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[i>>2]=e;a=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=a;m=c[f>>2]|0;l=k;return m|0}else{zd(j,0,a,c[g>>2]|0,0);Ad(j,c[h>>2]|0,c[i>>2]|0);c[f>>2]=Bd(j)|0;m=c[f>>2]|0;l=k;return m|0}return 0}function jf(){return}function kf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o;p=o+40|0;h=o+36|0;i=o+32|0;j=o+28|0;k=o+24|0;m=o+8|0;g=o+4|0;c[p>>2]=a;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[g>>2]=0;c[k>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[k>>2]|0)+12>>2]|0)<0){p=c[g>>2]|0;l=o;return p|0};c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;b[m>>1]=c[h>>2];b[m+2>>1]=0;c[m+4>>2]=c[i>>2];c[m+8>>2]=c[j>>2];j=c[376]|0;p=c[(c[k>>2]|0)+12>>2]|0;c[n>>2]=m;c[g>>2]=Bb[j&255](p,13,n)|0;c[g>>2]=(c[g>>2]|0)!=-1?0:5;p=c[g>>2]|0;l=o;return p|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;f=n+112|0;g=n+108|0;h=n+16|0;i=n+8|0;j=n+32|0;k=n+28|0;m=n+24|0;e=n;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[g>>2]|0)+40>>2]|0)>0){if(Mb[c[1480>>2]&255](c[(c[g>>2]|0)+12>>2]|0,j)|0){c[f>>2]=1802;m=c[f>>2]|0;l=n;return m|0}d=h;a=c[(c[g>>2]|0)+40>>2]|0;a=_$(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Z$(a|0,D|0,1,0)|0;d=c[(c[g>>2]|0)+40>>2]|0;d=n0(a|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=r0(d|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;d=i;c[d>>2]=a;c[d+4>>2]=D;d=i;a=c[d+4>>2]|0;h=c[j+36>>2]|0;b=((h|0)<0)<<31>>31;if((a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>h>>>0:0)){c[k>>2]=c[j+40>>2];c[m>>2]=0;h=S((c[j+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;j=e;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;while(1){b=e;h=c[b>>2]|0;b=c[b+4>>2]|0;d=i;j=c[k>>2]|0;j=_$(c[d>>2]|0,c[d+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;j=Z$(j|0,D|0,1,0)|0;d=D;if(!((b|0)<(d|0)|(b|0)==(d|0)&h>>>0>>0))break a;h=e;b=c[h+4>>2]|0;j=i;d=c[j+4>>2]|0;if((b|0)>(d|0)|((b|0)==(d|0)?(c[h>>2]|0)>>>0>=(c[j>>2]|0)>>>0:0)){h=i;h=Z$(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=D}j=e;c[m>>2]=wf(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,55752,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;j=e;h=_$(c[j>>2]|0,c[j+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;j=e;c[j>>2]=h;c[j+4>>2]=D}c[f>>2]=778;m=c[f>>2]|0;l=n;return m|0}}while(0);c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}function mf(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m+4|0;i=m+8|0;k=m;c[j>>2]=f;a[i>>0]=g;c[k>>2]=h;if((c[c[k>>2]>>2]|0)<0){c[c[k>>2]>>2]=((e[(c[j>>2]|0)+18>>1]|0)&(d[i>>0]|0)|0)!=0&1;l=m;return}f=d[i>>0]|0;if(!(c[c[k>>2]>>2]|0)){k=(c[j>>2]|0)+18|0;g=k;f=(e[k>>1]|0)&~f}else{k=(c[j>>2]|0)+18|0;g=k;f=e[k>>1]|0|f}b[g>>1]=f;l=m;return}function nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(fe()|0){c[d>>2]=0;b=c[d>>2]|0;l=h;return b|0}else{c[f>>2]=b;c[g>>2]=vf(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];b=c[d>>2]|0;l=h;return b|0}return 0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(fe()|0){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}else{g=e;c[d>>2]=Fd(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;l=f;return g|0}return 0}function pf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+64|0;j=m+8|0;k=m+48|0;e=m+44|0;f=m+40|0;g=m+36|0;h=m+32|0;i=m;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a[c[f>>2]>>0]=0;c[g>>2]=rf()|0;if(!(c[g>>2]|0)){c[k>>2]=6410;k=c[k>>2]|0;l=m;return k|0}while(1){sf(8,i);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=i;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[g>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;ef(b,d,21313,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){b=5;break}p=c[h>>2]|0;c[h>>2]=p+1;if((p|0)>10){b=5;break}if(Mb[c[1444>>2]&255](c[f>>2]|0,0)|0){b=7;break}}if((b|0)==5){c[k>>2]=1;p=c[k>>2]|0;l=m;return p|0}else if((b|0)==7){c[k>>2]=0;p=c[k>>2]|0;l=m;return p|0}return 0}function qf(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){d=0;d=d&1;l=e;return d|0}if(Mb[c[1468>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){d=1;d=d&1;l=e;return d|0}d=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);d=d&1;l=e;return d|0}function rf(){var a=0,b=0,d=0,e=0,f=0,g=0;f=l;l=l+96|0;d=f+84|0;a=f+80|0;b=f+4|0;e=f;c[a>>2]=0;c[e>>2]=c[13628];if(!(c[438]|0))c[438]=eb(21330)|0;if(!(c[439]|0))c[439]=eb(21344)|0;while(1){if(((c[e>>2]|0?(Mb[c[1468>>2]&255](c[e>>2]|0,b)|0)==0:0)?(c[b+12>>2]&61440|0)==16384:0)?(Mb[c[1444>>2]&255](c[e>>2]|0,3)|0)==0:0){a=9;break}if((c[a>>2]|0)>>>0>=6){a=12;break}g=c[a>>2]|0;c[a>>2]=g+1;c[e>>2]=c[1752+(g<<2)>>2]}if((a|0)==9){c[d>>2]=c[e>>2];g=c[d>>2]|0;l=f;return g|0}else if((a|0)==12){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}return 0}function sf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+288|0;f=n+16|0;g=n+12|0;h=n+280|0;i=n+8|0;j=n+4|0;k=n;m=n+24|0;c[f>>2]=b;c[g>>2]=e;c[i>>2]=c[g>>2];if(fe()|0){l=n;return}c[j>>2]=ie(5)|0;td(c[j>>2]|0);if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[55753]=0;ud(c[j>>2]|0);l=n;return}if(!(a[55753]|0)){a[55755]=0;a[55754]=0;uf(tf(0)|0,256,m)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=256)break;a[55756+(c[k>>2]|0)>>0]=c[k>>2];c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=256)break;a[55755]=(d[55755]|0)+((d[55756+(c[k>>2]|0)>>0]|0)+(a[m+(c[k>>2]|0)>>0]|0));a[h>>0]=a[55756+(d[55755]|0)>>0]|0;a[55756+(d[55755]|0)>>0]=a[55756+(c[k>>2]|0)>>0]|0;a[55756+(c[k>>2]|0)>>0]=a[h>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[55753]=1}do{a[55754]=(a[55754]|0)+1<<24>>24;a[h>>0]=a[55756+(d[55754]|0)>>0]|0;a[55755]=(d[55755]|0)+(d[h>>0]|0);a[55756+(d[55754]|0)>>0]=a[55756+(d[55755]|0)>>0]|0;a[55756+(d[55755]|0)>>0]=a[h>>0]|0;a[h>>0]=(d[h>>0]|0)+(d[55756+(d[55754]|0)>>0]|0);k=a[55756+(d[h>>0]|0)>>0]|0;m=c[i>>2]|0;c[i>>2]=m+1;a[m>>0]=k;m=(c[f>>2]|0)+-1|0;c[f>>2]=m}while((m|0)!=0);ud(c[j>>2]|0);l=n;return}function tf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;b=g+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[d>>2]=a;c[e>>2]=0;c[h>>2]=fe()|0;if(c[h>>2]|0){c[b>>2]=0;h=c[b>>2]|0;l=g;return h|0}c[f>>2]=ie(2)|0;td(c[f>>2]|0);c[e>>2]=c[13697];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(G_(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}ud(c[f>>2]|0);c[b>>2]=c[e>>2];h=c[b>>2]|0;l=g;return h|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Bb[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;d=i+40|0;e=i+36|0;f=i+32|0;g=i+28|0;h=i;c[e>>2]=a;c[f>>2]=b;if(fe()|0){c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}else{zd(h,0,i+44|0,70,1e9);Ad(h,c[e>>2]|0,c[f>>2]|0);c[g>>2]=Bd(h)|0;c[d>>2]=c[g>>2];h=c[d>>2]|0;l=i;return h|0}return 0}function wf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;h=g+16|0;k=g;j=g+12|0;i=g+8|0;c[h>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[i>>2]=f;f=k;f=xf(c[(c[h>>2]|0)+12>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[i>>2]|0,(c[h>>2]|0)+20|0)|0;l=g;return f|0}function xf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;k=q+32|0;m=q+8|0;n=q+28|0;o=q+24|0;h=q+20|0;i=q+16|0;j=q;c[k>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[o>>2]=f;c[h>>2]=g;c[i>>2]=0;c[o>>2]=c[o>>2]&131071;do{f=Z_(c[k>>2]|0,c[m>>2]|0,0)|0;g=j;c[g>>2]=f;c[g+4>>2]=((f|0)<0)<<31>>31;if((c[j+4>>2]|0)<0){p=3;break}c[i>>2]=Bb[c[1552>>2]&255](c[k>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[i>>2]|0)>=0)break}while((c[(s_()|0)>>2]|0)==4);if((p|0)==3)c[i>>2]=-1;if((c[i>>2]|0)>=0){p=c[i>>2]|0;l=q;return p|0}p=c[(s_()|0)>>2]|0;c[c[h>>2]>>2]=p;p=c[i>>2]|0;l=q;return p|0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];l=d;return}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}l=f;return c[d>>2]|0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=M$(c[g>>2]|0)|0;l=f;return c[e>>2]|0}function Bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=Mb[c[1492>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){a=4;break}if((c[(s_()|0)>>2]|0)!=4){a=4;break}}if((a|0)==4){l=h;return c[g>>2]|0}return 0}function Cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+36|0;k=q+32|0;m=q+8|0;n=q+28|0;o=q+24|0;g=q+20|0;h=q+16|0;i=q;c[k>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[o>>2]=f;c[h>>2]=0;do{e=Z_(c[(c[k>>2]|0)+12>>2]|0,c[m>>2]|0,0)|0;f=i;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;if((c[i+4>>2]|0)<0){p=3;break}c[g>>2]=Bb[c[1516>>2]&255](c[(c[k>>2]|0)+12>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[g>>2]|0)==(c[o>>2]|0))break;if((c[g>>2]|0)>=0){if((c[g>>2]|0)>0){c[o>>2]=(c[o>>2]|0)-(c[g>>2]|0);e=c[g>>2]|0;f=m;e=_$(c[f>>2]|0,c[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;f=m;c[f>>2]=e;c[f+4>>2]=D;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[g>>2]|0)}}else{if((c[(s_()|0)>>2]|0)!=4){p=8;break}c[g>>2]=1}}while((c[g>>2]|0)>0);if((p|0)==3){p=c[k>>2]|0;yf(p,c[(s_()|0)>>2]|0);c[j>>2]=-1;p=c[j>>2]|0;l=q;return p|0}else if((p|0)==8){c[h>>2]=0;p=c[k>>2]|0;yf(p,c[(s_()|0)>>2]|0)}c[j>>2]=(c[g>>2]|0)+(c[h>>2]|0);p=c[j>>2]|0;l=q;return p|0}function Df(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){$e(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,31321);c[(c[b>>2]|0)+12>>2]=-1}_d(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return 0}function Ef(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 1776}function Ff(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Df(c[d>>2]|0)|0;l=b;return a|0}function Gf(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function Hf(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function If(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;l=d;return 0}function Jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=md(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(Mb[c[1456>>2]&255](c[h>>2]|0,(c[i>>2]|0)-2|0)|0){c[k>>2]=md(c[h>>2]|0)|0;d=c[h>>2]|0;e=c[k>>2]|0;c[k>>2]=e+1;a[d+e>>0]=47;break}m=gf(35379)|0;c[f>>2]=af(m,21054,c[g>>2]|0,35379)|0;m=c[f>>2]|0;l=n;return m|0}while(0);if(((c[k>>2]|0)+(c[j>>2]|0)+1|0)>(c[i>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=gf(35388)|0;m=c[f>>2]|0;l=n;return m|0}else{j=(c[i>>2]|0)-(c[k>>2]|0)|0;k=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];ef(j,k,21240,m)|0;c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+96|0;j=i+92|0;d=i+88|0;e=i+84|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;if(Mb[c[1468>>2]&255](c[j>>2]|0,f)|0){j=c[e>>2]|0;l=i;return j|0}Xe();c[g>>2]=c[13699];while(1){if(c[g>>2]|0)if((c[c[g>>2]>>2]|0)!=(c[f>>2]|0))b=1;else b=(c[(c[g>>2]|0)+4>>2]|0)!=(c[f+72>>2]|0);else b=0;a=c[g>>2]|0;if(!b)break;c[g>>2]=c[a+32>>2]}if(a|0){c[h>>2]=(c[g>>2]|0)+28;while(1){if(!(c[c[h>>2]>>2]|0))break;if((c[(c[c[h>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[h>>2]=(c[c[h>>2]>>2]|0)+8}c[e>>2]=c[c[h>>2]>>2];if(c[e>>2]|0)c[c[h>>2]>>2]=c[(c[e>>2]|0)+8>>2]}Ze();j=c[e>>2]|0;l=i;return j|0}function Lf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+560|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;h=r+8|0;i=r+32|0;j=r+4|0;k=r;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[h>>2]=0;c[c[o>>2]>>2]=0;c[c[p>>2]>>2]=0;c[c[q>>2]>>2]=0;if(c[n>>2]&526336|0){c[j>>2]=(md(c[m>>2]|0)|0)-1;while(1){if((a[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==45)break;c[j>>2]=(c[j>>2]|0)+-1}h0(i|0,c[m>>2]|0,c[j>>2]|0)|0;a[i+(c[j>>2]|0)>>0]=0;c[h>>2]=ig(i,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;q=c[h>>2]|0;l=r;return q|0}if(c[n>>2]&8|0){c[c[o>>2]>>2]=384;q=c[h>>2]|0;l=r;return q|0}if(!(c[n>>2]&64)){q=c[h>>2]|0;l=r;return q|0}c[k>>2]=cg(c[m>>2]|0,21594)|0;if(!(c[k>>2]|0)){q=c[h>>2]|0;l=r;return q|0}c[h>>2]=ig(c[k>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;q=c[h>>2]|0;l=r;return q|0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(Db[c[1672>>2]&255]()|0){g=0;l=h;return g|0}g=Bb[c[1660>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;l=h;return g|0}function Nf(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;s=t;o=t+40|0;p=t+36|0;u=t+32|0;q=t+28|0;r=t+24|0;i=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;c[o>>2]=a;c[p>>2]=d;c[u>>2]=f;c[q>>2]=g;c[r>>2]=h;c[j>>2]=c[u>>2];c[k>>2]=0;c[(c[j>>2]|0)+12>>2]=c[p>>2];c[(c[j>>2]|0)+4>>2]=c[o>>2];c[(c[j>>2]|0)+32>>2]=c[q>>2];b[(c[j>>2]|0)+18>>1]=c[r>>2]&255;if(Of(c[r>>2]&64|0?c[q>>2]|0:0,21404,1)|0){u=(c[j>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(G_(c[(c[o>>2]|0)+16>>2]|0,20995)|0)){u=(c[j>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[r>>2]&128|0)c[i>>2]=1776;else c[i>>2]=Mb[c[c[(c[o>>2]|0)+20>>2]>>2]&255](c[q>>2]|0,c[j>>2]|0)|0;if((c[i>>2]|0)!=1852){if((c[i>>2]|0)==1340){c[n>>2]=(g$(c[q>>2]|0)|0)+6;u=c[n>>2]|0;c[m>>2]=of(u,((u|0)<0)<<31>>31)|0;if(!(c[m>>2]|0))c[k>>2]=7;else{r=c[n>>2]|0;u=c[m>>2]|0;c[s>>2]=c[q>>2];ef(r,u,21409,s)|0}c[(c[j>>2]|0)+24>>2]=c[m>>2]}}else{Xe();c[k>>2]=Pf(c[j>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[k>>2]|0){$e(c[j>>2]|0,c[p>>2]|0,34692);c[p>>2]=-1}Ze()}yf(c[j>>2]|0,0);if(!(c[k>>2]|0)){c[c[j>>2]>>2]=c[i>>2];Qf(c[j>>2]|0);u=c[k>>2]|0;l=t;return u|0}if((c[p>>2]|0)<0){u=c[k>>2]|0;l=t;return u|0}$e(c[j>>2]|0,c[p>>2]|0,34777);u=c[k>>2]|0;l=t;return u|0}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+12|0;h=g+8|0;e=g+4|0;f=g;c[i>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=cg(c[i>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){i=(dg(c[f>>2]|0,c[e>>2]&255)|0)&255;l=g;return i|0}else{i=c[e>>2]|0;l=g;return i|0}return 0}function Pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+112|0;f=j+104|0;d=j+100|0;g=j+96|0;k=j+92|0;m=j+88|0;h=j+80|0;e=j+4|0;i=j;c[d>>2]=a;c[g>>2]=b;c[i>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[k>>2]=Mb[c[1480>>2]&255](c[m>>2]|0,e)|0;if(c[k>>2]|0){m=c[d>>2]|0;yf(m,c[(s_()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;l=j;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;l=j;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[i>>2]=c[13699];while(1){if(c[i>>2]|0)b=(H_(h,c[i>>2]|0,8)|0)!=0;else b=0;a=c[i>>2]|0;if(!b)break;c[i>>2]=c[a+32>>2]}if(!a){c[i>>2]=of(40,0)|0;if(!(c[i>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;l=j;return m|0}a=c[i>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));m=c[i>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[i>>2]|0)+16>>2]=1;c[(c[i>>2]|0)+32>>2]=c[13699];c[(c[i>>2]|0)+36>>2]=0;if(c[13699]|0)c[(c[13699]|0)+36>>2]=c[i>>2];c[13699]=c[i>>2]}else{m=(c[i>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[i>>2];c[f>>2]=0;m=c[f>>2]|0;l=j;return m|0}function Qf(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+112|0;j=k+24|0;i=k+16|0;f=k+8|0;d=k;g=k+108|0;h=k+32|0;b=k+28|0;c[g>>2]=a;if((e[(c[g>>2]|0)+18>>1]|0)&128|0){l=k;return}c[b>>2]=Mb[c[1480>>2]&255](c[(c[g>>2]|0)+12>>2]|0,h)|0;if(c[b>>2]|0){c[d>>2]=c[(c[g>>2]|0)+32>>2];xd(28,21417,d);l=k;return}if(!(c[h+16>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+32>>2];xd(28,21441,f);l=k;return}a=c[g>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[i>>2]=c[a+32>>2];xd(28,21470,i);l=k;return}if(!(qf(a)|0)){l=k;return}c[j>>2]=c[(c[g>>2]|0)+32>>2];xd(28,21497,j);l=k;return}function Rf(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;c[e>>2]=c[b>>2];Qf(c[e>>2]|0);Tf(c[b>>2]|0,0)|0;Xe();if(c[(c[e>>2]|0)+8>>2]|0?c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2]|0:0)ag(c[e>>2]|0);bg(c[e>>2]|0);c[d>>2]=Df(c[b>>2]|0)|0;Ze();l=f;return c[d>>2]|0}function Sf(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;j=p+44|0;q=p+40|0;k=p+36|0;m=p+32|0;n=p+28|0;o=p+24|0;g=p+8|0;h=p;c[q>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=c[q>>2];c[h>>2]=0;if((d[(c[n>>2]|0)+16>>0]|0|0)>=(c[k>>2]|0)){c[j>>2]=0;q=c[j>>2]|0;l=p;return q|0}Xe();c[o>>2]=c[(c[n>>2]|0)+8>>2];if((d[(c[n>>2]|0)+16>>0]|0|0)!=(d[(c[o>>2]|0)+12>>0]|0|0)?((c[k>>2]|0)>1?1:(d[(c[o>>2]|0)+12>>0]|0|0)>=3):0)c[m>>2]=5;else i=6;a:do if((i|0)==6){do if((c[k>>2]|0)==1){if((d[(c[o>>2]|0)+12>>0]|0|0)!=1?(d[(c[o>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[n>>2]|0)+16>>0]=1;q=(c[o>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[o>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[g+8>>2]=1;b[g+2>>1]=0;if((c[k>>2]|0)!=1){if((c[k>>2]|0)==4?(d[(c[n>>2]|0)+16>>0]|0|0)<3:0)i=13}else i=13;if((i|0)==13?(b[g>>1]=(c[k>>2]|0)==1?0:1,c[g+4>>2]=c[482],_f(c[n>>2]|0,g)|0):0){c[h>>2]=c[(s_()|0)>>2];c[m>>2]=zf(c[h>>2]|0,3850)|0;if((c[m>>2]|0)==5)break;yf(c[n>>2]|0,c[h>>2]|0);break}do if((c[k>>2]|0)!=1){if((c[k>>2]|0)==4?(c[(c[o>>2]|0)+8>>2]|0)>1:0){c[m>>2]=5;break}b[g>>1]=1;q=(c[k>>2]|0)==2;c[g+4>>2]=(c[482]|0)+(q?1:2);c[g+8>>2]=q?1:510;if(_f(c[n>>2]|0,g)|0?(c[h>>2]=c[(s_()|0)>>2],c[m>>2]=zf(c[h>>2]|0,3850)|0,(c[m>>2]|0)!=5):0)yf(c[n>>2]|0,c[h>>2]|0)}else{c[g+4>>2]=(c[482]|0)+2;c[g+8>>2]=510;if(_f(c[n>>2]|0,g)|0){c[h>>2]=c[(s_()|0)>>2];c[m>>2]=zf(c[h>>2]|0,3850)|0}c[g+4>>2]=c[482];c[g+8>>2]=1;b[g>>1]=2;q=(_f(c[n>>2]|0,g)|0)!=0;if(q&(c[m>>2]|0)==0){c[h>>2]=c[(s_()|0)>>2];c[m>>2]=2058}if(!(c[m>>2]|0)){a[(c[n>>2]|0)+16>>0]=1;q=(c[o>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[o>>2]|0)+8>>2]=1;break}if((c[m>>2]|0)==5)break a;yf(c[n>>2]|0,c[h>>2]|0);break a}while(0);e=c[k>>2]|0;if(!(c[m>>2]|0)){a[(c[n>>2]|0)+16>>0]=e;a[(c[o>>2]|0)+12>>0]=c[k>>2];break}if((e|0)==4){a[(c[n>>2]|0)+16>>0]=3;a[(c[o>>2]|0)+12>>0]=3}}while(0);Ze();c[j>>2]=c[m>>2];q=c[j>>2]|0;l=p;return q|0}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Zf(c[f>>2]|0,c[e>>2]|0,0)|0;l=d;return b|0}function Uf(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;m=n;o=n+40|0;g=n+36|0;h=n+32|0;i=n+28|0;j=n+24|0;k=n+8|0;c[o>>2]=e;c[g>>2]=f;c[h>>2]=0;c[i>>2]=0;c[j>>2]=c[o>>2];Xe();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[i>>2]=1;do if((c[i>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[k+2>>1]=0;c[k+4>>2]=(c[482]|0)+1;c[k+8>>2]=1;b[k>>1]=1;f=c[376]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=k;if(Bb[f&255](o,12,m)|0){c[h>>2]=3594;o=c[j>>2]|0;yf(o,c[(s_()|0)>>2]|0);break}if((b[k>>1]|0)!=2)c[i>>2]=1}while(0);Ze();c[c[g>>2]>>2]=c[i>>2];l=n;return c[h>>2]|0}function Vf(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+160|0;C=E+152|0;F=E+148|0;D=E+144|0;x=E+140|0;y=E+136|0;z=E+132|0;j=E+128|0;k=E+124|0;A=E+120|0;B=E+116|0;m=E+112|0;n=E+108|0;o=E+104|0;p=E+100|0;q=E+24|0;r=E+20|0;s=E+16|0;t=E+12|0;u=E+8|0;v=E+4|0;w=E;c[F>>2]=a;c[D>>2]=f;c[x>>2]=g;c[y>>2]=h;c[z>>2]=i;c[j>>2]=c[F>>2];c[B>>2]=0;c[m>>2]=_e()|0;if((c[(c[j>>2]|0)+36>>2]|0)==0?(c[B>>2]=Wf(c[j>>2]|0)|0,c[B>>2]|0):0){c[C>>2]=c[B>>2];F=c[C>>2]|0;l=E;return F|0}c[k>>2]=c[(c[j>>2]|0)+36>>2];c[A>>2]=c[c[k>>2]>>2];td(c[(c[A>>2]|0)+4>>2]|0);c[n>>2]=S(((c[D>>2]|0)+(c[m>>2]|0)|0)/(c[m>>2]|0)|0,c[m>>2]|0)|0;a:do if((e[(c[A>>2]|0)+20>>1]|0|0)<(c[n>>2]|0)){c[p>>2]=S(c[n>>2]|0,c[x>>2]|0)|0;c[(c[A>>2]|0)+16>>2]=c[x>>2];b:do if((c[(c[A>>2]|0)+12>>2]|0)>=0){if(Mb[c[1480>>2]&255](c[(c[A>>2]|0)+12>>2]|0,q)|0){c[B>>2]=4874;break a}if((c[q+36>>2]|0)<(c[p>>2]|0)){if(!(c[y>>2]|0))break a;c[r>>2]=(c[q+36>>2]|0)/4096|0;while(1){if((c[r>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[s>>2]=0;F=(c[r>>2]<<12)+4096-1|0;if((xf(c[(c[A>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,55752,1,s)|0)!=1)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=c[(c[A>>2]|0)+8>>2];c[B>>2]=af(4874,21107,c[t>>2]|0,33839)|0;break a}}while(0);c[o>>2]=Xf(c[(c[A>>2]|0)+24>>2]|0,c[n>>2]<<2)|0;if(!(c[o>>2]|0)){c[B>>2]=3082;break}c[(c[A>>2]|0)+24>>2]=c[o>>2];while(1){if((e[(c[A>>2]|0)+20>>1]|0|0)>=(c[n>>2]|0))break a;c[u>>2]=S(c[x>>2]|0,c[m>>2]|0)|0;if((c[(c[A>>2]|0)+12>>2]|0)>=0){t=c[421]|0;h=c[u>>2]|0;i=d[(c[A>>2]|0)+22>>0]|0|0?1:3;y=c[(c[A>>2]|0)+12>>2]|0;F=c[x>>2]|0;F=r0(F|0,((F|0)<0)<<31>>31|0,e[(c[A>>2]|0)+20>>1]|0|0,0)|0;c[w>>2]=Gb[t&255](0,h,i,1,y,F)|0;if((c[w>>2]|0)==(-1|0)){a=21;break}}else{F=c[x>>2]|0;c[w>>2]=of(F,((F|0)<0)<<31>>31)|0;if(!(c[w>>2]|0)){a=23;break}m0(c[w>>2]|0,0,c[x>>2]|0)|0}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[m>>2]|0))break;F=(c[w>>2]|0)+(S(c[x>>2]|0,c[v>>2]|0)|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+((e[(c[A>>2]|0)+20>>1]|0)+(c[v>>2]|0)<<2)>>2]=F;c[v>>2]=(c[v>>2]|0)+1}F=(c[A>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[m>>2]|0)}if((a|0)==21){c[B>>2]=af(5386,21194,c[(c[A>>2]|0)+8>>2]|0,33866)|0;break}else if((a|0)==23){c[B>>2]=7;break}}while(0);if((e[(c[A>>2]|0)+20>>1]|0|0)>(c[D>>2]|0))c[c[z>>2]>>2]=c[(c[(c[A>>2]|0)+24>>2]|0)+(c[D>>2]<<2)>>2];else c[c[z>>2]>>2]=0;if((c[B>>2]|0)==0?(d[(c[A>>2]|0)+22>>0]|0|0)!=0:0)c[B>>2]=8;ud(c[(c[A>>2]|0)+4>>2]|0);c[C>>2]=c[B>>2];F=c[C>>2]|0;l=E;return F|0}function Wf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+128|0;q=r;e=r+116|0;h=r+112|0;i=r+108|0;j=r+104|0;k=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;p=r+12|0;f=r+8|0;g=r+4|0;c[h>>2]=b;c[i>>2]=0;c[i>>2]=of(16,0)|0;if(!(c[i>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;l=r;return q|0}b=c[i>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;Xe();c[m>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=c[(c[m>>2]|0)+20>>2];a:do if(!(c[j>>2]|0)){c[f>>2]=c[(c[h>>2]|0)+32>>2];do if(!(Mb[c[1480>>2]&255](c[(c[h>>2]|0)+12>>2]|0,p)|0)){c[o>>2]=6+(g$(c[f>>2]|0)|0);c[j>>2]=of(36+(c[o>>2]|0)|0,0)|0;if(!(c[j>>2]|0)){c[k>>2]=7;break}m0(c[j>>2]|0,0,36+(c[o>>2]|0)|0)|0;b=(c[j>>2]|0)+36|0;c[(c[j>>2]|0)+8>>2]=b;c[n>>2]=b;b=c[o>>2]|0;o=c[n>>2]|0;c[q>>2]=c[f>>2];ef(b,o,21525,q)|0;c[(c[j>>2]|0)+12>>2]=-1;c[(c[(c[h>>2]|0)+8>>2]|0)+20>>2]=c[j>>2];c[c[j>>2]>>2]=c[(c[h>>2]|0)+8>>2];if(c[3]|0?(q=Yf(0)|0,c[(c[j>>2]|0)+4>>2]=q,(c[(c[j>>2]|0)+4>>2]|0)==0):0){c[k>>2]=7;break}if(d[(c[m>>2]|0)+13>>0]|0|0)break a;c[g>>2]=66;if(Of(c[(c[h>>2]|0)+32>>2]|0,21532,0)|0){c[g>>2]=0;a[(c[j>>2]|0)+22>>0]=1}q=ff(c[n>>2]|0,c[g>>2]|0,c[p+12>>2]&511)|0;c[(c[j>>2]|0)+12>>2]=q;if((c[(c[j>>2]|0)+12>>2]|0)<0){q=gf(33691)|0;c[k>>2]=af(q,21042,c[n>>2]|0,33691)|0;break}Mf(c[(c[j>>2]|0)+12>>2]|0,c[p+20>>2]|0,c[p+24>>2]|0)|0;c[k>>2]=0;if((kf(c[h>>2]|0,1,128,1)|0)==0?Bf(c[(c[j>>2]|0)+12>>2]|0,0,0)|0:0)c[k>>2]=af(4618,21072,c[n>>2]|0,33707)|0;if(!(c[k>>2]|0))c[k>>2]=kf(c[h>>2]|0,0,128,1)|0;if(!(c[k>>2]|0))break a}else c[k>>2]=1802;while(0);Ye(c[h>>2]|0);_d(c[i>>2]|0);Ze();c[e>>2]=c[k>>2];q=c[e>>2]|0;l=r;return q|0}while(0);c[c[i>>2]>>2]=c[j>>2];q=(c[j>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[h>>2]|0)+36>>2]=c[i>>2];Ze();td(c[(c[j>>2]|0)+4>>2]|0);c[(c[i>>2]|0)+4>>2]=c[(c[j>>2]|0)+32>>2];c[(c[j>>2]|0)+32>>2]=c[i>>2];ud(c[(c[j>>2]|0)+4>>2]|0);c[e>>2]=0;q=c[e>>2]|0;l=r;return q|0}function Xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(fe()|0){c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}if((c[f>>2]|0)<0)c[f>>2]=0;f=c[f>>2]|0;c[d>>2]=ge(c[e>>2]|0,f,((f|0)<0)<<31>>31)|0;f=c[d>>2]|0;l=g;return f|0}function Yf(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[d>>2]=a;if((c[d>>2]|0)<=1?fe()|0:0)c[b>>2]=0;else e=4;do if((e|0)==4){if((c[d>>2]|0)>1?he()|0:0){c[b>>2]=0;break}c[b>>2]=Hb[c[88>>2]&255](c[d>>2]|0)|0}while(0);l=f;return c[b>>2]|0}function Zf(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;k=p+44|0;q=p+40|0;m=p+36|0;n=p+28|0;o=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[m>>2]=f;c[p+32>>2]=g;c[n>>2]=c[q>>2];c[j>>2]=0;if((d[(c[n>>2]|0)+16>>0]|0|0)<=(c[m>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;l=p;return q|0}Xe();c[o>>2]=c[(c[n>>2]|0)+8>>2];do if((d[(c[n>>2]|0)+16>>0]|0|0)>1){if((c[m>>2]|0)==1?(b[h>>1]=0,b[h+2>>1]=0,c[h+4>>2]=(c[482]|0)+2,c[h+8>>2]=510,_f(c[n>>2]|0,h)|0):0){c[j>>2]=2314;q=c[n>>2]|0;yf(q,c[(s_()|0)>>2]|0);break}b[h>>1]=2;b[h+2>>1]=0;c[h+4>>2]=c[482];c[h+8>>2]=2;if(!(_f(c[n>>2]|0,h)|0)){a[(c[o>>2]|0)+12>>0]=1;i=10;break}else{c[j>>2]=2058;q=c[n>>2]|0;yf(q,c[(s_()|0)>>2]|0);break}}else i=10;while(0);if((i|0)==10?(c[m>>2]|0)==0:0){q=(c[o>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[o>>2]|0)+8>>2]|0)){b[h>>1]=2;b[h+2>>1]=0;c[h+8>>2]=0;c[h+4>>2]=0;if(!(_f(c[n>>2]|0,h)|0))e=(c[o>>2]|0)+12|0;else{c[j>>2]=2058;e=c[n>>2]|0;yf(e,c[(s_()|0)>>2]|0);a[(c[o>>2]|0)+12>>0]=0;e=(c[n>>2]|0)+16|0}a[e>>0]=0}q=(c[o>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[o>>2]|0)+24>>2]|0))$f(c[n>>2]|0)}Ze();if(!(c[j>>2]|0))a[(c[n>>2]|0)+16>>0]=c[m>>2];c[k>>2]=c[j>>2];q=c[k>>2]|0;l=p;return q|0}function _f(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;p=q+8|0;o=q;h=q+48|0;i=q+44|0;j=q+40|0;k=q+36|0;m=q+32|0;n=q+16|0;c[i>>2]=f;c[j>>2]=g;c[m>>2]=c[(c[i>>2]|0)+8>>2];do if(((e[(c[i>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0|0){c[k>>2]=0;break}b[n+2>>1]=0;c[n+4>>2]=(c[482]|0)+2;c[n+8>>2]=510;b[n>>1]=1;j=c[376]|0;p=c[(c[i>>2]|0)+12>>2]|0;c[o>>2]=n;c[k>>2]=Bb[j&255](p,13,o)|0;if((c[k>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[k>>2];p=c[h>>2]|0;l=q;return p|0}else{n=c[376]|0;o=c[(c[i>>2]|0)+12>>2]|0;c[p>>2]=c[j>>2];c[k>>2]=Bb[n&255](o,13,p)|0}while(0);c[h>>2]=c[k>>2];p=c[h>>2]|0;l=q;return p|0}function $f(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[e>>2]=c[(c[d>>2]|0)+28>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+8>>2];$e(c[b>>2]|0,c[c[e>>2]>>2]|0,30592);_d(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+28>>2]=0;l=g;return}function ag(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;l=b;return}function bg(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){l=e;return}$f(c[b>>2]|0);if(c[(c[d>>2]|0)+36>>2]|0)a=(c[(c[d>>2]|0)+36>>2]|0)+32|0;else a=54796;c[a>>2]=c[(c[d>>2]|0)+32>>2];if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];_d(c[d>>2]|0);l=e;return}function cg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}d=(md(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=G_(c[e>>2]|0,c[f>>2]|0)|0;d=(md(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(md(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;l=i;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}return 0}function dg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;d=((eg(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;l=e;return d|0}function eg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+17|0;g=n+12|0;h=n+8|0;k=n+16|0;m=n+4|0;i=n;c[g>>2]=b;c[h>>2]=e;a[k>>0]=f;b=c[g>>2]|0;if((d[20063+(d[c[g>>2]>>0]|0)>>0]|0)&4|0){a[j>>0]=fg(b)|0;m=a[j>>0]|0;l=n;return m|0}c[i>>2]=md(b)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){b=11;break}if((d[21545+(c[m>>2]|0)>>0]|0|0)==(c[i>>2]|0)?(ld(21561+(d[21553+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[i>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){b=9;break}if((d[21586+(c[m>>2]|0)>>0]|0|0)<=1){b=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((b|0)==9){a[j>>0]=a[21586+(c[m>>2]|0)>>0]|0;m=a[j>>0]|0;l=n;return m|0}else if((b|0)==11){a[j>>0]=a[k>>0]|0;m=a[j>>0]|0;l=n;return m|0}return 0}function fg(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)gg(c[b>>2]|0,d)|0;l=e;return c[d>>2]|0}function gg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;i=o+32|0;j=o+28|0;k=o+24|0;f=o;m=o+20|0;g=o+16|0;h=o+12|0;n=o+8|0;c[j>>2]=b;c[k>>2]=e;e=f;c[e>>2]=0;c[e+4>>2]=0;c[h>>2]=0;do if((a[c[j>>2]>>0]|0)!=45){b=c[j>>2]|0;if((a[c[j>>2]>>0]|0)==43){c[j>>2]=b+1;break}if((a[b>>0]|0)==48){if((a[(c[j>>2]|0)+1>>0]|0)!=120?(a[(c[j>>2]|0)+1>>0]|0)!=88:0)break;if(d[20063+(d[(c[j>>2]|0)+2>>0]|0)>>0]&8|0){c[n>>2]=0;c[j>>2]=(c[j>>2]|0)+2;while(1){if((a[c[j>>2]>>0]|0)!=48)break;c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=0;while(1){b=c[n>>2]|0;if(!(d[20063+(d[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0?(c[m>>2]|0)<8:0))break;c[n>>2]=(b<<4)+((hg(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((b&-2147483648|0)==0?(d[20063+(d[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[k>>2]>>2]=c[n>>2];c[i>>2]=1;n=c[i>>2]|0;l=o;return n|0}c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}}}else{c[h>>2]=1;c[j>>2]=(c[j>>2]|0)+1}while(0);while(1){if((a[c[j>>2]>>0]|0)!=48)break;c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[g>>2]=n;if(!((n|0)>=0&(c[g>>2]|0)<=9))break;n=f;n=r0(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;e=c[g>>2]|0;e=_$(n|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;n=f;c[n>>2]=e;c[n+4>>2]=D;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}m=f;n=c[h>>2]|0;n=Z$(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=D;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}if(c[h>>2]|0){m=f;m=Z$(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=f;c[n>>2]=m;c[n+4>>2]=D}c[c[k>>2]>>2]=c[f>>2];c[i>>2]=1;n=c[i>>2]|0;l=o;return n|0}function hg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);l=d;return c[b>>2]&15|0}function ig(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+96|0;m=k+92|0;f=k+88|0;g=k+84|0;h=k+80|0;i=k+4|0;j=k;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;if(!(Mb[c[1468>>2]&255](c[m>>2]|0,i)|0)){c[c[f>>2]>>2]=c[i+12>>2]&511;c[c[g>>2]>>2]=c[i+20>>2];c[c[h>>2]>>2]=c[i+24>>2];m=c[j>>2]|0;l=k;return m|0}else{c[j>>2]=1802;m=c[j>>2]|0;l=k;return m|0}return 0}function jg(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 1852}function kg(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=1932;lg(18,b)|0;l=a;return}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+160|0;G=I+148|0;n=I+144|0;y=I+128|0;H=I+120|0;F=I+116|0;A=I+112|0;B=I+108|0;C=I+104|0;D=I+100|0;d=I+96|0;e=I+92|0;f=I+88|0;g=I+84|0;h=I+80|0;i=I+76|0;j=I+72|0;E=I+68|0;k=I+64|0;m=I+60|0;o=I+56|0;p=I+52|0;q=I+48|0;r=I+44|0;s=I+40|0;t=I+24|0;u=I+16|0;v=I+8|0;w=I;x=I+36|0;z=I+32|0;c[n>>2]=a;c[H>>2]=0;if(c[59]|0){c[G>>2]=qd(138190)|0;H=c[G>>2]|0;l=I;return H|0}c[y>>2]=b;do switch(c[n>>2]|0){case 1:{c[3]=0;c[4]=0;break}case 2:{c[3]=1;c[4]=0;break}case 3:{c[3]=1;c[4]=1;break}case 10:{a=(c[y>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[y>>2]=a+4;c[F>>2]=e;e=80;a=c[F>>2]|0;d=e+36|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));break}case 11:{a=(c[y>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[y>>2]=a+4;c[A>>2]=e;e=c[A>>2]|0;a=80;d=e+36|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));break}case 4:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[B>>2]=F;F=c[B>>2]|0;c[12]=c[F>>2];c[13]=c[F+4>>2];c[14]=c[F+8>>2];c[15]=c[F+12>>2];c[16]=c[F+16>>2];c[17]=c[F+20>>2];c[18]=c[F+24>>2];c[19]=c[F+28>>2];break}case 5:{if(!(c[12]|0))mg();E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[C>>2]=F;F=c[C>>2]|0;c[F>>2]=c[12];c[F+4>>2]=c[13];c[F+8>>2]=c[14];c[F+12>>2]=c[15];c[F+16>>2]=c[16];c[F+20>>2]=c[17];c[F+24>>2]=c[18];c[F+28>>2]=c[19];break}case 9:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[D>>2]=F;c[2]=c[D>>2];break}case 6:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[d>>2]=F;c[50]=c[d>>2];F=(c[y>>2]|0)+(4-1)&~(4-1);E=c[F>>2]|0;c[y>>2]=F+4;c[e>>2]=E;c[51]=c[e>>2];E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[f>>2]=F;c[52]=c[f>>2];break}case 7:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[g>>2]=F;c[53]=c[g>>2];F=(c[y>>2]|0)+(4-1)&~(4-1);E=c[F>>2]|0;c[y>>2]=F+4;c[h>>2]=E;c[54]=c[h>>2];E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[i>>2]=F;c[55]=c[i>>2];break}case 24:{F=(ng()|0)+(og()|0)+(pg()|0)|0;b=(c[y>>2]|0)+(4-1)&~(4-1);E=c[b>>2]|0;c[y>>2]=b+4;c[j>>2]=E;c[c[j>>2]>>2]=F;break}case 14:break;case 15:{c[H>>2]=1;break}case 18:{a=(c[y>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[y>>2]=a+4;c[E>>2]=e;e=116;a=c[E>>2]|0;d=e+52|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));break}case 19:{if(!(c[31]|0))kg();a=(c[y>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[y>>2]=a+4;c[k>>2]=e;e=c[k>>2]|0;a=116;d=e+52|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));break}case 13:{F=(c[y>>2]|0)+(4-1)&~(4-1);E=c[F>>2]|0;c[y>>2]=F+4;c[m>>2]=E;c[9]=c[m>>2];E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[o>>2]=F;c[10]=c[o>>2];break}case 16:{F=(c[y>>2]|0)+(4-1)&~(4-1);E=c[F>>2]|0;c[y>>2]=F+4;c[p>>2]=E;c[66]=c[p>>2];E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[q>>2]=F;c[67]=c[q>>2];break}case 17:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[r>>2]=F;c[5]=c[r>>2];break}case 20:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[s>>2]=F;c[6]=c[s>>2];break}case 22:{b=(c[y>>2]|0)+(8-1)&~(8-1);D=b;E=c[D>>2]|0;D=c[D+4>>2]|0;c[y>>2]=b+8;b=u;c[b>>2]=E;c[b+4>>2]=D;b=u;D=c[b+4>>2]|0;E=t;c[E>>2]=c[b>>2];c[E+4>>2]=D;E=(c[y>>2]|0)+(8-1)&~(8-1);D=E;b=c[D>>2]|0;D=c[D+4>>2]|0;c[y>>2]=E+8;E=w;c[E>>2]=b;c[E+4>>2]=D;E=w;D=c[E>>2]|0;E=c[E+4>>2]|0;b=v;c[b>>2]=D;c[b+4>>2]=E;b=v;F=c[b+4>>2]|0;b=(c[v+4>>2]|0)<0|((F|0)>0|(F|0)==0&(c[b>>2]|0)>>>0>0);F=v;c[F>>2]=b?0:D;c[F+4>>2]=b?0:E;if((c[t+4>>2]|0)<0){F=t;c[F>>2]=0;c[F+4>>2]=0}E=t;D=c[E+4>>2]|0;F=v;b=c[F+4>>2]|0;if((D|0)>(b|0)|((D|0)==(b|0)?(c[E>>2]|0)>>>0>(c[F>>2]|0)>>>0:0)){b=v;E=c[b+4>>2]|0;F=t;c[F>>2]=c[b>>2];c[F+4>>2]=E}F=v;E=c[F+4>>2]|0;b=192;c[b>>2]=c[F>>2];c[b+4>>2]=E;b=t;E=c[b+4>>2]|0;F=184;c[F>>2]=c[b>>2];c[F+4>>2]=E;break}case 25:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[x>>2]=F;c[58]=c[x>>2];break}case 26:{E=(c[y>>2]|0)+(4-1)&~(4-1);F=c[E>>2]|0;c[y>>2]=E+4;c[z>>2]=F;c[11]=c[z>>2];break}default:c[H>>2]=1}while(0);c[G>>2]=c[H>>2];H=c[G>>2]|0;l=I;return H|0}function mg(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=1984;lg(4,b)|0;l=a;return}function ng(){return 88}function og(){return 40}function pg(){return 32}function qg(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=Q$((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;l=e;return f|0}else{c[d>>2]=a;xd(7,21637,d);f=c[b>>2]|0;l=e;return f|0}return 0}function rg(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;R$(c[d>>2]|0);l=b;return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=T$(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){e=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;l=h;return g|0}else{d=tg(c[d>>2]|0)|0;e=c[e>>2]|0;c[g>>2]=d;c[g+4>>2]=e;xd(7,21601,g);g=c[f>>2]|0;l=h;return g|0}return 0}function tg(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;l=d;return c[c[b>>2]>>2]|0}function ug(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[b>>2]|0)+7&-8|0}function vg(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function wg(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return}function xg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;c[d>>2]=a;a=54596;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[13663]=((c[53]|0)==0?1:(c[3]|0)>0)&1;if(c[3]|0){c[13649]=ie(6)|0;c[13670]=ie(7)|0}c[13664]=(c[13663]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0?c[55]|0:0;c[13652]=10;c[13662]=1;l=d;return 0}function yg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;c[d>>2]=a;a=54596;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return}function zg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;k=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[n>>2]=60+((c[13663]|0)*52|0);f=c[n>>2]|0;c[j>>2]=Xg(f,((f|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){n=c[j>>2]|0;l=m;return n|0}if(c[13663]|0){c[k>>2]=(c[j>>2]|0)+60;c[(c[k>>2]|0)+12>>2]=10}else c[k>>2]=54596;if(!(d[(c[k>>2]|0)+20+14>>0]|0)){a[(c[k>>2]|0)+20+14>>0]=1;n=(c[k>>2]|0)+20|0;c[(c[k>>2]|0)+20+24>>2]=n;c[(c[k>>2]|0)+20+28>>2]=n}c[c[j>>2]>>2]=c[k>>2];c[(c[j>>2]|0)+4>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[h>>2];c[(c[j>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[j>>2]|0)+16>>2]=c[i>>2]|0?1:0;Rg(c[j>>2]|0);if(c[i>>2]|0){c[(c[j>>2]|0)+20>>2]=10;n=(c[k>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);c[(c[k>>2]|0)+12>>2]=(c[(c[k>>2]|0)+4>>2]|0)+10-(c[(c[k>>2]|0)+8>>2]|0)}if(c[(c[j>>2]|0)+44>>2]|0){n=c[j>>2]|0;l=m;return n|0}Gg(c[j>>2]|0);c[j>>2]=0;n=c[j>>2]|0;l=m;return n|0}function Ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){l=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Ig(c[e>>2]|0);l=g;return}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];l=d;return c[b>>2]|0}function Cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Og(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function Dg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;n=j+24|0;m=j+20|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[f>>2]=c[n>>2];c[g>>2]=c[m>>2];c[h>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==0?(c[(c[h>>2]|0)+16>>2]|0)>>>0<=(c[(c[h>>2]|0)+4>>2]|0)>>>0:0){c[i>>2]=(c[h>>2]|0)+20+24;c[(c[g>>2]|0)+28>>2]=(c[h>>2]|0)+20;m=c[g>>2]|0;n=c[c[i>>2]>>2]|0;c[(c[g>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[i>>2]>>2]=c[g>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[g>>2]|0)+12>>0]=0;l=j;return}Kg(c[g>>2]|0,1);l=j;return}function Eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;o=k+28|0;n=k+24|0;m=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;f=k+4|0;g=k;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[i>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[i>>2]|0)+44>>2]|0)>>>0)|0;c[f>>2]=(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[f>>2]>>2]|0)==(c[j>>2]|0))break;c[f>>2]=(c[c[f>>2]>>2]|0)+16}c[c[f>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[h>>2]|0)>>>0)%((c[(c[i>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[h>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[h>>2]|0)>>>0<=(c[(c[i>>2]|0)+32>>2]|0)>>>0){l=k;return}c[(c[i>>2]|0)+32>>2]=c[h>>2];l=k;return}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){l=f;return}Ng(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;l=f;return}function Gg(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];c[d>>2]=c[c[b>>2]>>2];if(c[(c[b>>2]|0)+40>>2]|0)Ng(c[b>>2]|0,0);f=(c[d>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+24>>2]|0);f=(c[d>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+20>>2]|0);c[(c[d>>2]|0)+12>>2]=(c[(c[d>>2]|0)+4>>2]|0)+10-(c[(c[d>>2]|0)+8>>2]|0);Ig(c[b>>2]|0);_d(c[(c[b>>2]|0)+56>>2]|0);_d(c[(c[b>>2]|0)+48>>2]|0);_d(c[b>>2]|0);l=e;return}function Hg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){l=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;Ig(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];l=f;return} +function NO(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;g=q+8|0;h=q+4|0;o=q;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=2;while(1){if((c[n>>2]|0)>=((c[(c[i>>2]|0)+24>>2]|0)+2|0)){a=8;break}c[g>>2]=(c[n>>2]|0)-2;if(!(d[(c[(c[i>>2]|0)+32>>2]|0)+(c[g>>2]|0)>>0]|0)){c[h>>2]=Rh(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[o>>2]=SO(c[i>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,(c[m>>2]|0)+(c[g>>2]<<2)|0)|0;if(c[o>>2]|0){a=5;break}e=Sh(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;f=(c[m>>2]|0)+(c[(c[i>>2]|0)+24>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+e}c[n>>2]=(c[n>>2]|0)+1}if((a|0)==5){c[p>>2]=c[o>>2];p=c[p>>2]|0;l=q;return p|0}else if((a|0)==8){c[p>>2]=0;p=c[p>>2]|0;l=q;return p|0}return 0}function OO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){l=m;return}c[h>>2]=pe((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[h>>2]|0)){c[c[e>>2]>>2]=7;l=m;return}RO(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[h>>2]|0,i);c[k>>2]=sL(c[f>>2]|0,20,j,0)|0;if(c[k>>2]|0){_d(c[h>>2]|0);c[c[e>>2]>>2]=c[k>>2];l=m;return}else{k=(c[f>>2]|0)+264|0;qJ(c[j>>2]|0,1,c[k>>2]|0,c[k+4>>2]|0)|0;lJ(c[j>>2]|0,2,c[h>>2]|0,c[i>>2]|0,157)|0;Bs(c[j>>2]|0)|0;k=ys(c[j>>2]|0)|0;c[c[e>>2]>>2]=k;l=m;return}}function PO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;p=u+48|0;q=u+44|0;r=u+40|0;s=u+36|0;t=u+32|0;g=u+28|0;h=u+24|0;i=u+20|0;j=u+16|0;k=u+12|0;m=u+8|0;n=u+4|0;o=u;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[n>>2]=(c[(c[q>>2]|0)+24>>2]|0)+2;if(c[c[p>>2]>>2]|0){l=u;return}c[i>>2]=pe((c[n>>2]|0)*14|0)|0;if(!(c[i>>2]|0)){c[c[p>>2]>>2]=7;l=u;return}c[g>>2]=(c[i>>2]|0)+(c[n>>2]<<2);c[m>>2]=sL(c[q>>2]|0,22,j,0)|0;if(c[m>>2]|0){_d(c[i>>2]|0);c[c[p>>2]>>2]=c[m>>2];l=u;return}pJ(c[j>>2]|0,1,0)|0;if((Bs(c[j>>2]|0)|0)==100){d=c[n>>2]|0;e=c[i>>2]|0;f=fJ(c[j>>2]|0,0)|0;QO(d,e,f,gJ(c[j>>2]|0,0)|0)}else m0(c[i>>2]|0,0,c[n>>2]<<2|0)|0;c[m>>2]=ys(c[j>>2]|0)|0;if(c[m>>2]|0){_d(c[i>>2]|0);c[c[p>>2]>>2]=c[m>>2];l=u;return}if((c[t>>2]|0)<0?(c[c[i>>2]>>2]|0)>>>0<(0-(c[t>>2]|0)|0)>>>0:0)c[c[i>>2]>>2]=0;else{f=c[i>>2]|0;c[f>>2]=(c[f>>2]|0)+(c[t>>2]|0)}c[k>>2]=0;while(1){if((c[k>>2]|0)>=((c[(c[q>>2]|0)+24>>2]|0)+1|0))break;c[o>>2]=c[(c[i>>2]|0)+((c[k>>2]|0)+1<<2)>>2];if(((c[o>>2]|0)+(c[(c[r>>2]|0)+(c[k>>2]<<2)>>2]|0)|0)>>>0<(c[(c[s>>2]|0)+(c[k>>2]<<2)>>2]|0)>>>0)c[o>>2]=0;else c[o>>2]=(c[o>>2]|0)+(c[(c[r>>2]|0)+(c[k>>2]<<2)>>2]|0)-(c[(c[s>>2]|0)+(c[k>>2]<<2)>>2]|0);c[(c[i>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[o>>2];c[k>>2]=(c[k>>2]|0)+1}RO(c[n>>2]|0,c[i>>2]|0,c[g>>2]|0,h);c[m>>2]=sL(c[q>>2]|0,23,j,0)|0;if(c[m>>2]|0){_d(c[i>>2]|0);c[c[p>>2]>>2]=c[m>>2];l=u;return}else{pJ(c[j>>2]|0,1,0)|0;lJ(c[j>>2]|0,2,c[g>>2]|0,c[h>>2]|0,0)|0;Bs(c[j>>2]|0)|0;t=ys(c[j>>2]|0)|0;c[c[p>>2]>>2]=t;_d(c[i>>2]|0);l=u;return}}function QO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+28|0;h=m+24|0;i=m+20|0;j=m+12|0;k=m+8|0;f=m;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[g>>2]|0))break;e=bM((c[i>>2]|0)+(c[k>>2]|0)|0,f)|0;c[k>>2]=(c[k>>2]|0)+e;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[f>>2];c[j>>2]=(c[j>>2]|0)+1}l=m;return}function RO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;e=NL((c[h>>2]|0)+(c[k>>2]|0)|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,0)|0;c[k>>2]=(c[k>>2]|0)+e;c[j>>2]=(c[j>>2]|0)+1}c[c[i>>2]>>2]=c[k>>2];l=m;return}function SO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;v=B+72|0;w=B+68|0;x=B+64|0;y=B+60|0;z=B+56|0;g=B+52|0;h=B+48|0;i=B+44|0;j=B+40|0;k=B+36|0;m=B+32|0;n=B+28|0;o=B+24|0;p=B+20|0;q=B+16|0;r=B+12|0;s=B+8|0;t=B+4|0;u=B;c[w>>2]=a;c[x>>2]=b;c[y>>2]=d;c[z>>2]=e;c[g>>2]=f;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=0;c[o>>2]=0;c[p>>2]=c[(c[w>>2]|0)+36>>2];c[q>>2]=c[c[p>>2]>>2];if(!(c[y>>2]|0)){c[c[g>>2]>>2]=0;c[v>>2]=0;A=c[v>>2]|0;l=B;return A|0}c[h>>2]=EN(c[p>>2]|0,c[x>>2]|0,c[y>>2]|0,-1,r)|0;if(c[h>>2]|0){c[v>>2]=c[h>>2];A=c[v>>2]|0;l=B;return A|0}c[s>>2]=c[(c[q>>2]|0)+20>>2];a:while(1){if(c[h>>2]|0)break;y=Gb[c[s>>2]&255](c[r>>2]|0,n,o,i,j,k)|0;c[h>>2]=y;if(y)break;if((c[k>>2]|0)>=(c[m>>2]|0))c[m>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>=0&(c[n>>2]|0)!=0^1|(c[o>>2]|0)<=0){A=11;break}c[h>>2]=TO(c[w>>2]|0,c[z>>2]|0,c[k>>2]|0,(c[(c[w>>2]|0)+252>>2]|0)+4|0,c[n>>2]|0,c[o>>2]|0)|0;c[t>>2]=1;while(1){if(c[h>>2]|0)continue a;if((c[t>>2]|0)>=(c[(c[w>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[w>>2]|0)+252>>2]|0)+((c[t>>2]|0)*24|0);if((c[o>>2]|0)>=(c[c[u>>2]>>2]|0))c[h>>2]=TO(c[w>>2]|0,c[z>>2]|0,c[k>>2]|0,(c[u>>2]|0)+4|0,c[n>>2]|0,c[c[u>>2]>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+1}}if((A|0)==11)c[h>>2]=1;Hb[c[(c[q>>2]|0)+16>>2]&255](c[r>>2]|0)|0;A=c[g>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[m>>2]|0);c[v>>2]=(c[h>>2]|0)==101?0:c[h>>2]|0;A=c[v>>2]|0;l=B;return A|0}function TO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;h=q+12|0;i=q+8|0;j=q+4|0;k=q;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[i>>2]=g;c[k>>2]=0;c[j>>2]=HK(c[p>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(c[j>>2]|0){g=(c[m>>2]|0)+260|0;c[g>>2]=(c[g>>2]|0)-((c[c[j>>2]>>2]|0)+(c[i>>2]|0)+20)}g=(c[m>>2]|0)+264|0;n=c[n>>2]|0;o=c[o>>2]|0;if(FN(j,c[g>>2]|0,c[g+4>>2]|0,n,((n|0)<0)<<31>>31,o,((o|0)<0)<<31>>31,k)|0?(o=c[j>>2]|0,(o|0)==(oK(c[p>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0)|0)):0){_d(c[j>>2]|0);c[k>>2]=7}if(c[k>>2]|0){p=c[k>>2]|0;l=q;return p|0}p=(c[m>>2]|0)+260|0;c[p>>2]=(c[p>>2]|0)+((c[c[j>>2]>>2]|0)+(c[i>>2]|0)+20);p=c[k>>2]|0;l=q;return p|0}function UO(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;q=u+48|0;r=u+44|0;h=u+40|0;s=u+36|0;t=u+32|0;i=u+28|0;j=u+24|0;k=u+20|0;m=u+16|0;n=u;o=u+12|0;p=u+8|0;c[q>>2]=a;c[r>>2]=b;c[h>>2]=e;c[s>>2]=f;c[t>>2]=g;if(c[c[q>>2]>>2]|0){l=u;return}c[i>>2]=sL(c[r>>2]|0,7,j,h)|0;a=c[j>>2]|0;if(!(c[i>>2]|0)){do if(100==(Bs(a)|0)){c[m>>2]=YO(c[r>>2]|0,c[j>>2]|0)|0;g=jJ(c[j>>2]|0,0)|0;h=n;c[h>>2]=g;c[h+4>>2]=D;c[i>>2]=MO(c[r>>2]|0,1,c[m>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[k>>2]=1;while(1){if(c[i>>2]|0)break;if((c[k>>2]|0)>(c[(c[r>>2]|0)+24>>2]|0))break;c[o>>2]=(c[k>>2]|0)-1;if(!(d[(c[(c[r>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[p>>2]=Cv(c[j>>2]|0,c[k>>2]|0)|0;c[i>>2]=SO(c[r>>2]|0,c[m>>2]|0,c[p>>2]|0,-1,(c[s>>2]|0)+(c[o>>2]<<2)|0)|0;h=gJ(c[j>>2]|0,c[k>>2]|0)|0;n=(c[s>>2]|0)+(c[(c[r>>2]|0)+24>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+h}c[k>>2]=(c[k>>2]|0)+1}if(!(c[i>>2]|0)){c[c[t>>2]>>2]=1;break}ys(c[j>>2]|0)|0;c[c[q>>2]>>2]=c[i>>2];l=u;return}while(0);c[i>>2]=ys(c[j>>2]|0)|0}else ys(a)|0;c[c[q>>2]>>2]=c[i>>2];l=u;return}function VO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[i>>2]=0;i=c[i>>2]|0;l=j;return i|0}c[i>>2]=sL(c[e>>2]|0,1,h,f)|0;if(c[i>>2]|0){i=c[i>>2]|0;l=j;return i|0}if(100==(Bs(c[h>>2]|0)|0)){f=iJ(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=f}c[i>>2]=ys(c[h>>2]|0)|0;i=c[i>>2]|0;l=j;return i|0}function WO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;mL(c[e>>2]|0);if(c[h>>2]|0)XO(f,c[e>>2]|0,2,0);XO(f,c[e>>2]|0,3,0);XO(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)XO(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;l=g;return h|0}XO(f,c[e>>2]|0,6,0);h=c[f>>2]|0;l=g;return h|0}function XO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(c[c[f>>2]>>2]|0){l=m;return}c[k>>2]=sL(c[g>>2]|0,c[h>>2]|0,j,c[i>>2]|0)|0;if(!(c[k>>2]|0)){Bs(c[j>>2]|0)|0;c[k>>2]=ys(c[j>>2]|0)|0}c[c[f>>2]>>2]=c[k>>2];l=m;return}function YO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=iJ(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;f=c[f>>2]|0;l=g;return f|0}function ZO(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;g=t;h=t+52|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;e=t+24|0;f=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;c[h>>2]=b;c[n>>2]=WO(c[h>>2]|0,0)|0;if(c[n>>2]|0){s=c[n>>2]|0;l=t;return s|0}c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[g>>2]=c[(c[h>>2]|0)+216>>2];c[e>>2]=nf(45739,g)|0;if(c[e>>2]|0){c[n>>2]=zv(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,-1,r,0)|0;_d(c[e>>2]|0)}else c[n>>2]=7;do if(!(c[n>>2]|0)){c[f>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[o>>2]=pe(c[f>>2]|0)|0;if(!(c[o>>2]|0)){c[n>>2]=7;break}else{m0(c[o>>2]|0,0,c[f>>2]|0)|0;c[p>>2]=(c[o>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[q>>2]=(c[p>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[n>>2]|0))b=100==(Bs(c[r>>2]|0)|0);else b=0;e=c[h>>2]|0;if(!b)break;c[j>>2]=YO(e,c[r>>2]|0)|0;e=c[h>>2]|0;f=c[j>>2]|0;g=jJ(c[r>>2]|0,0)|0;c[n>>2]=MO(e,0,f,g,D)|0;m0(c[o>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[i>>2]=0;while(1){if(!(c[n>>2]|0))b=(c[i>>2]|0)<(c[(c[h>>2]|0)+24>>2]|0);else b=0;e=c[h>>2]|0;if(!b)break;if(!(d[(c[e+32>>2]|0)+(c[i>>2]|0)>>0]|0)){c[k>>2]=Cv(c[r>>2]|0,(c[i>>2]|0)+1|0)|0;c[n>>2]=SO(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[i>>2]|0,(c[o>>2]|0)+(c[i>>2]<<2)|0)|0;f=gJ(c[r>>2]|0,(c[i>>2]|0)+1|0)|0;g=(c[o>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[i>>2]=(c[i>>2]|0)+1}if(a[e+230>>0]|0)OO(n,c[h>>2]|0,c[o>>2]|0);if(c[n>>2]|0){Fr(c[r>>2]|0)|0;c[r>>2]=0;continue}c[s>>2]=(c[s>>2]|0)+1;c[i>>2]=0;while(1){if((c[i>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[p>>2]|0)+(c[i>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[o>>2]|0)+(c[i>>2]<<2)>>2]|0);c[i>>2]=(c[i>>2]|0)+1}}if(a[e+228>>0]|0)PO(n,c[h>>2]|0,c[p>>2]|0,c[q>>2]|0,c[s>>2]|0);_d(c[o>>2]|0);if(!(c[r>>2]|0)){s=c[n>>2]|0;l=t;return s|0}c[m>>2]=Fr(c[r>>2]|0)|0;if(c[n>>2]|0){s=c[n>>2]|0;l=t;return s|0}c[n>>2]=c[m>>2];s=c[n>>2]|0;l=t;return s|0}function _O(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=dP(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;l=d;return c[b>>2]|0}function $O(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[k>>2]=d;c[g>>2]=8;c[h>>2]=0;c[i>>2]=c[k>>2];c[h>>2]=bP(i)|0;if((a[c[i>>2]>>0]|0)==44?a[(c[i>>2]|0)+1>>0]|0:0){c[i>>2]=(c[i>>2]|0)+1;c[g>>2]=bP(i)|0}if((c[g>>2]|0)<2?1:(a[c[i>>2]>>0]|0)!=0){c[f>>2]=1;k=c[f>>2]|0;l=j;return k|0}c[f>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))cP(f,c[e>>2]|0);if(!(c[f>>2]|0))c[f>>2]=hO(c[e>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;BM(c[e>>2]|0);k=c[f>>2]|0;l=j;return k|0}function aP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[j>>2]=d;c[g>>2]=0;c[h>>2]=0;d=bP(j)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?(cP(g,c[f>>2]|0),c[g>>2]|0):0){c[e>>2]=c[g>>2];j=c[e>>2]|0;l=i;return j|0}c[g>>2]=sL(c[f>>2]|0,23,h,0)|0;if(c[g>>2]|0){c[e>>2]=c[g>>2];j=c[e>>2]|0;l=i;return j|0}else{pJ(c[h>>2]|0,1,2)|0;pJ(c[h>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;Bs(c[h>>2]|0)|0;c[g>>2]=ys(c[h>>2]|0)|0;c[e>>2]=c[g>>2];j=c[e>>2]|0;l=i;return j|0}return 0}function bP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=0;while(1){if((a[c[e>>2]>>0]|0)<48){b=5;break}if((a[c[e>>2]>>0]|0)>57){b=5;break}h=(c[f>>2]|0)*10|0;b=c[e>>2]|0;c[e>>2]=b+1;c[f>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[e>>2];l=g;return c[f>>2]|0}return 0}function cP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;b=c[g>>2]|0;d=c[(c[e>>2]|0)+12>>2]|0;i=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=i;qL(b,d,45662,h);if(c[c[g>>2]>>2]|0){l=f;return}a[(c[e>>2]|0)+229>>0]=1;l=f;return}function dP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;F=l;l=l+112|0;j=F+24|0;t=F+108|0;A=F+104|0;B=F+100|0;C=F+16|0;E=F+8|0;g=F+96|0;h=F+92|0;i=F+88|0;e=F+84|0;k=F+80|0;m=F+76|0;f=F+72|0;n=F;o=F+68|0;p=F+64|0;q=F+60|0;r=F+56|0;s=F+52|0;u=F+48|0;v=F+44|0;w=F+40|0;x=F+36|0;y=F+32|0;z=F+28|0;c[t>>2]=a;c[A>>2]=b;c[B>>2]=0;b=C;c[b>>2]=0;c[b+4>>2]=0;b=E;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[B>>2]=sL(c[t>>2]|0,27,g,0)|0;if(!(c[B>>2]|0)){pJ(c[g>>2]|0,1,c[(c[t>>2]|0)+272>>2]|0)|0;pJ(c[g>>2]|0,2,c[(c[t>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[B>>2]|0))a=(Bs(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[i>>2]=iJ(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[t>>2]|0)+248>>2]|0))continue a;a=C;H=c[a>>2]|0;a=c[a+4>>2]|0;G=eP(c[t>>2]|0,c[i>>2]|0,c[e>>2]|0,B)|0;b=C;c[b>>2]=H^G;c[b+4>>2]=a^D;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=ys(b)|0;if(!(c[B>>2]|0))c[B>>2]=c[h>>2]}if(c[B>>2]|0){z=C;z=c[z>>2]|0;C=C+4|0;C=c[C>>2]|0;G=E;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(z|0)==(H|0);G=(C|0)==(G|0);G=H&G;G=G&1;H=c[A>>2]|0;c[H>>2]=G;H=c[B>>2]|0;l=F;return H|0}c[k>>2]=c[c[(c[t>>2]|0)+36>>2]>>2];c[m>>2]=0;c[j>>2]=c[(c[t>>2]|0)+216>>2];c[f>>2]=nf(45739,j)|0;if(c[f>>2]|0){c[B>>2]=zv(c[(c[t>>2]|0)+12>>2]|0,c[f>>2]|0,-1,m,0)|0;_d(c[f>>2]|0)}else c[B>>2]=7;b:while(1){if(!(c[B>>2]|0))b=100==(Bs(c[m>>2]|0)|0);else b=0;a=c[m>>2]|0;if(!b)break;G=jJ(a,0)|0;H=n;c[H>>2]=G;c[H+4>>2]=D;c[o>>2]=YO(c[t>>2]|0,c[m>>2]|0)|0;c[p>>2]=0;while(1){if(c[B>>2]|0)continue b;if((c[p>>2]|0)>=(c[(c[t>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[t>>2]|0)+32>>2]|0)+(c[p>>2]|0)>>0]|0)){c[q>>2]=Cv(c[m>>2]|0,(c[p>>2]|0)+1|0)|0;c[r>>2]=gJ(c[m>>2]|0,(c[p>>2]|0)+1|0)|0;c[s>>2]=0;c[B>>2]=EN(c[(c[t>>2]|0)+36>>2]|0,c[o>>2]|0,c[q>>2]|0,c[r>>2]|0,s)|0;c:while(1){if(c[B>>2]|0)break;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[B>>2]=Gb[c[(c[k>>2]|0)+20>>2]&255](c[s>>2]|0,u,v,w,x,y)|0;if(c[B>>2]|0)continue;G=E;i=c[G>>2]|0;G=c[G+4>>2]|0;j=n;j=fP(c[u>>2]|0,c[v>>2]|0,c[o>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,c[p>>2]|0,c[y>>2]|0)|0;H=E;c[H>>2]=i^j;c[H+4>>2]=G^D;c[z>>2]=1;while(1){if((c[z>>2]|0)>=(c[(c[t>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[t>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)>>2]|0)<=(c[v>>2]|0)){G=E;i=c[G>>2]|0;G=c[G+4>>2]|0;j=n;j=fP(c[u>>2]|0,c[(c[(c[t>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)>>2]|0,c[o>>2]|0,c[z>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[p>>2]|0,c[y>>2]|0)|0;H=E;c[H>>2]=i^j;c[H+4>>2]=G^D}c[z>>2]=(c[z>>2]|0)+1}}if(c[s>>2]|0)Hb[c[(c[k>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if((c[B>>2]|0)==101)c[B>>2]=0}c[p>>2]=(c[p>>2]|0)+1}}Fr(a)|0;z=C;z=c[z>>2]|0;C=C+4|0;C=c[C>>2]|0;G=E;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(z|0)==(H|0);G=(C|0)==(G|0);G=H&G;G=G&1;H=c[A>>2]|0;c[H>>2]=G;H=c[B>>2]|0;l=F;return H|0}function eP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+140|0;q=u+136|0;r=u+132|0;s=u+128|0;f=u+112|0;t=u+56|0;g=u+48|0;h=u+32|0;i=u+44|0;j=u+40|0;k=u+24|0;m=u+16|0;n=u+8|0;o=u;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;a=h;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a=t;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[g>>2]=tL(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,-2,0,0,0,1,t)|0;if(!(c[g>>2]|0))c[g>>2]=xL(c[p>>2]|0,t,f)|0;if(c[g>>2]|0){EL(t);t=c[g>>2]|0;s=c[s>>2]|0;c[s>>2]=t;s=h;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;D=s;l=u;return t|0}a:while(1){f=yL(c[p>>2]|0,t)|0;c[g>>2]=f;if(100!=(f|0))break;c[i>>2]=c[t+48>>2];c[j>>2]=(c[i>>2]|0)+(c[t+52>>2]|0);f=k;c[f>>2]=0;c[f+4>>2]=0;f=m;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=bM(c[i>>2]|0,k)|0;c[i>>2]=(c[i>>2]|0)+f;while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)continue a;f=o;c[f>>2]=0;c[f+4>>2]=0;f=bM(c[i>>2]|0,o)|0;c[i>>2]=(c[i>>2]|0)+f;if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)continue;e=o;f=o;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=o;b=Z$(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=n;b=_$(c[e>>2]|0,c[e+4>>2]|0,b|0,D|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=D;e=h;b=c[e>>2]|0;e=c[e+4>>2]|0;d=k;d=fP(c[t+40>>2]|0,c[t+44>>2]|0,c[q>>2]|0,c[r>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;f=h;c[f>>2]=b^d;c[f+4>>2]=e^D;continue}f=m;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=o;a=c[i>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=bM(a,m)|0;c[i>>2]=(c[i>>2]|0)+f;continue}else{e=bM(a,o)|0;c[i>>2]=(c[i>>2]|0)+e;e=o;f=k;e=_$(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=k;c[f>>2]=e;c[f+4>>2]=D;continue}}}EL(t);t=c[g>>2]|0;s=c[s>>2]|0;c[s>>2]=t;s=h;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;D=s;l=u;return t|0}function fP(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=l;l=l+48|0;n=p+40|0;o=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;k=p+16|0;m=p;c[n>>2]=b;c[o>>2]=d;c[t>>2]=e;c[s>>2]=f;f=u;c[f>>2]=g;c[f+4>>2]=h;c[r>>2]=i;c[q>>2]=j;h=u;i=c[h+4>>2]|0;j=m;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=m;j=j0(c[j>>2]|0,c[j+4>>2]|0,3)|0;i=c[t>>2]|0;i=_$(j|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;j=m;i=_$(c[j>>2]|0,c[j+4>>2]|0,i|0,D|0)|0;j=m;c[j>>2]=i;c[j+4>>2]=D;j=m;j=j0(c[j>>2]|0,c[j+4>>2]|0,3)|0;i=c[s>>2]|0;i=_$(j|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;j=m;i=_$(c[j>>2]|0,c[j+4>>2]|0,i|0,D|0)|0;j=m;c[j>>2]=i;c[j+4>>2]=D;j=m;j=j0(c[j>>2]|0,c[j+4>>2]|0,3)|0;i=c[r>>2]|0;i=_$(j|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;j=m;i=_$(c[j>>2]|0,c[j+4>>2]|0,i|0,D|0)|0;j=m;c[j>>2]=i;c[j+4>>2]=D;j=m;j=j0(c[j>>2]|0,c[j+4>>2]|0,3)|0;i=c[q>>2]|0;i=_$(j|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;j=m;i=_$(c[j>>2]|0,c[j+4>>2]|0,i|0,D|0)|0;j=m;c[j>>2]=i;c[j+4>>2]=D;c[k>>2]=0;while(1){d=m;b=c[d>>2]|0;d=c[d+4>>2]|0;if((c[k>>2]|0)>=(c[o>>2]|0))break;u=j0(b|0,d|0,3)|0;t=a[(c[n>>2]|0)+(c[k>>2]|0)>>0]|0;t=_$(u|0,D|0,t|0,((t|0)<0)<<31>>31|0)|0;u=m;t=_$(c[u>>2]|0,c[u+4>>2]|0,t|0,D|0)|0;u=m;c[u>>2]=t;c[u+4>>2]=D;c[k>>2]=(c[k>>2]|0)+1}D=d;l=p;return b|0}function gP(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[g>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))ys(c[(c[e>>2]|0)+8>>2]|0)|0;WM(c[e>>2]|0,c[g>>2]|0,f);a[(c[e>>2]|0)+6>>0]=a[(c[g>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;j=(c[g>>2]|0)+24|0;i=c[j+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[j>>2];c[b+4>>2]=i;if(d[(c[e>>2]|0)+6>>0]|0|0)break a}while((RM(c[e>>2]|0,f)|0)!=0);while(0);if(c[f>>2]|0){j=c[f>>2]|0;l=h;return j|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(i=(c[e>>2]|0)+32|0,b=c[i+4>>2]|0,j=(c[e>>2]|0)+80|0,g=c[j+4>>2]|0,(b|0)>(g|0)|((b|0)==(g|0)?(c[i>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){j=c[f>>2]|0;l=h;return j|0}i=(c[e>>2]|0)+32|0;b=c[i+4>>2]|0;j=(c[e>>2]|0)+72|0;g=c[j+4>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?(c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0:0))){j=c[f>>2]|0;l=h;return j|0}}a[(c[e>>2]|0)+6>>0]=1;j=c[f>>2]|0;l=h;return j|0}function hP(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];HP(c[b>>2]|0);if((c[d>>2]|0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?c[(c[d>>2]|0)+16>>2]|0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}l=e;return}function iP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+8|0;f=i+20|0;g=i;h=i+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0?(c[h>>2]=Ei(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){h=Fi(c[f>>2]|0)|0;g=e;c[g>>2]=h;c[g+4>>2]=D;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=i;return h|0}f=g;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=i;return h|0}function jP(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=l;l=l+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=i;c[n>>2]=j;c[o>>2]=k;c[p>>2]=vP(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?c[c[n>>2]>>2]|0:0)?(c[p>>2]=wP(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=xP(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;l=s;return z|0}hP(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;IK(z,45848,q);c[p>>2]=1;z=c[p>>2]|0;l=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;l=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];IK(z,45900,r);z=c[p>>2]|0;l=s;return z|0}function kP(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;b=n+36|0;o=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;e=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[f>>2]=0;c[g>>2]=0;c[h>>2]=0;lP(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,g,h,f);do if((c[f>>2]|0)==0&(c[g>>2]|0)>1?d[(c[o>>2]|0)+228>>0]|0|0:0){c[i>>2]=pe(((c[g>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[j>>2]=(c[i>>2]|0)+((c[g>>2]|0)*24|0);if(!(c[i>>2]|0)){c[f>>2]=7;break}c[m>>2]=c[i>>2];c[e>>2]=c[j>>2];mP(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,m,e,f);c[g>>2]=((c[m>>2]|0)-(c[i>>2]|0)|0)/24|0;c[h>>2]=((c[e>>2]|0)-(c[j>>2]|0)|0)/4|0;a:do if(!(c[f>>2]|0)){c[f>>2]=nP(c[b>>2]|0,0,c[i>>2]|0,c[g>>2]|0)|0;c[k>>2]=0;while(1){if(c[f>>2]|0)break a;if((c[k>>2]|0)>=(c[h>>2]|0))break a;c[f>>2]=nP(c[b>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,c[i>>2]|0,c[g>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}}while(0);_d(c[i>>2]|0)}while(0);oP(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,f);l=n;return c[f>>2]|0}function lP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;n=q+28|0;g=q+24|0;h=q+20|0;p=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;o=q;c[m>>2]=a;c[n>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=f;if(!(c[n>>2]|0)){l=q;return}if(c[c[p>>2]>>2]|0){l=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){o=c[h>>2]|0;c[o>>2]=(c[o>>2]|0)+((c[a>>2]|0)==4&1);lP(c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[p>>2]|0);lP(c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[p>>2]|0);l=q;return}c[j>>2]=c[(c[a+20>>2]|0)+64>>2];h=c[g>>2]|0;c[h>>2]=(c[h>>2]|0)+(c[j>>2]|0);c[i>>2]=0;while(1){b=c[(c[n>>2]|0)+20>>2]|0;if((c[i>>2]|0)>=(c[j>>2]|0)){a=9;break}c[k>>2]=b+72+((c[i>>2]|0)*24|0);c[o>>2]=tP(c[m>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+8>>2]|0,(c[k>>2]|0)+20|0)|0;if(c[o>>2]|0){a=7;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==7){c[c[p>>2]>>2]=c[o>>2];l=q;return}else if((a|0)==9){c[b+44>>2]=-1;l=q;return}}function mP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;k=r+16|0;m=r+12|0;h=r+8|0;i=r+4|0;j=r;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[k>>2]=f;c[m>>2]=g;if(c[c[m>>2]>>2]|0){l=r;return}b=c[p>>2]|0;if((c[c[p>>2]>>2]|0)==5){c[h>>2]=c[b+20>>2];c[i>>2]=0;while(1){if(c[c[m>>2]>>2]|0){a=13;break}if((c[i>>2]|0)>=(c[(c[h>>2]|0)+64>>2]|0)){a=13;break}k=c[q>>2]|0;p=c[k>>2]|0;c[k>>2]=p+24;c[j>>2]=p;c[c[j>>2]>>2]=c[h>>2];c[(c[j>>2]|0)+4>>2]=c[i>>2];c[(c[j>>2]|0)+12>>2]=c[o>>2];c[(c[j>>2]|0)+8>>2]=(c[h>>2]|0)+72+((c[i>>2]|0)*24|0);c[(c[j>>2]|0)+20>>2]=c[(c[h>>2]|0)+68>>2];p=sP(c[n>>2]|0,c[(c[(c[j>>2]|0)+8>>2]|0)+20>>2]|0,(c[j>>2]|0)+16|0)|0;c[c[m>>2]>>2]=p;c[i>>2]=(c[i>>2]|0)+1}if((a|0)==13){l=r;return}}if((c[b>>2]|0)==2){l=r;return}if((c[c[p>>2]>>2]|0)==4){c[o>>2]=c[(c[p>>2]|0)+12>>2];c[c[c[k>>2]>>2]>>2]=c[o>>2];j=c[k>>2]|0;c[j>>2]=(c[j>>2]|0)+4}mP(c[n>>2]|0,c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[q>>2]|0,c[k>>2]|0,c[m>>2]|0);if((c[c[p>>2]>>2]|0)==4){c[o>>2]=c[(c[p>>2]|0)+16>>2];c[c[c[k>>2]>>2]>>2]=c[o>>2];j=c[k>>2]|0;c[j>>2]=(c[j>>2]|0)+4}mP(c[n>>2]|0,c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[q>>2]|0,c[k>>2]|0,c[m>>2]|0);l=r;return}function nP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;u=B+76|0;v=B+72|0;w=B+68|0;x=B+64|0;y=B+60|0;z=B+56|0;f=B+52|0;g=B+48|0;h=B+44|0;i=B+40|0;j=B+36|0;k=B+32|0;m=B+28|0;n=B+24|0;o=B+20|0;p=B+16|0;q=B+12|0;r=B+8|0;s=B+4|0;t=B;c[v>>2]=a;c[w>>2]=b;c[x>>2]=d;c[y>>2]=e;c[z>>2]=c[c[v>>2]>>2];c[f>>2]=0;c[g>>2]=0;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=1;if(c[(c[z>>2]|0)+40>>2]|0){c[u>>2]=0;A=c[u>>2]|0;l=B;return A|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[y>>2]|0))break;if((c[(c[x>>2]|0)+((c[h>>2]|0)*24|0)+12>>2]|0)==(c[w>>2]|0)){c[i>>2]=(c[i>>2]|0)+(c[(c[x>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1}if((c[i>>2]|0)==0|(c[j>>2]|0)<2){c[u>>2]=0;A=c[u>>2]|0;l=B;return A|0}c[g>>2]=pP(c[v>>2]|0,f)|0;c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[g>>2]|0)==0:0))break;c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[y>>2]|0))break;do if(c[(c[x>>2]|0)+((c[n>>2]|0)*24|0)+8>>2]|0?(c[(c[x>>2]|0)+((c[n>>2]|0)*24|0)+12>>2]|0)==(c[w>>2]|0):0){if(c[o>>2]|0?(c[(c[x>>2]|0)+((c[n>>2]|0)*24|0)+16>>2]|0)>=(c[(c[o>>2]|0)+16>>2]|0):0)break;c[o>>2]=(c[x>>2]|0)+((c[n>>2]|0)*24|0)}while(0);c[n>>2]=(c[n>>2]|0)+1}if(c[h>>2]|0?(c[(c[o>>2]|0)+16>>2]|0)>=(S(((c[k>>2]|0)+((c[m>>2]|0)/4|0)-1|0)/((c[m>>2]|0)/4|0|0)|0,c[f>>2]|0)|0):0){c[p>>2]=c[(c[o>>2]|0)+8>>2];c[g>>2]=qP(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;qN(c[(c[p>>2]|0)+20>>2]|0);c[(c[p>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[h>>2]|0)<12)c[m>>2]=c[m>>2]<<2;if(c[h>>2]|0){if((c[(c[c[o>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[h>>2]|0)==((c[j>>2]|0)-1|0))break}c[q>>2]=c[(c[o>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=0;c[g>>2]=jN(c[z>>2]|0,c[q>>2]|0,c[(c[o>>2]|0)+20>>2]|0,r,s)|0;if(!(c[g>>2]|0))c[g>>2]=kN(c[z>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0,c[s>>2]|0,c[r>>2]|0)|0;if(!(c[g>>2]|0)){c[t>>2]=rP(c[c[c[o>>2]>>2]>>2]|0,c[(c[c[o>>2]>>2]|0)+4>>2]|0)|0;if(c[h>>2]|0?(c[t>>2]|0)>=(c[k>>2]|0):0)break;c[k>>2]=c[t>>2]}}while(0);c[(c[o>>2]|0)+8>>2]=0;c[h>>2]=(c[h>>2]|0)+1}c[u>>2]=c[g>>2];A=c[u>>2]|0;l=B;return A|0}function oP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;k=m+12|0;h=m+8|0;i=m+4|0;j=m;c[g>>2]=b;c[k>>2]=e;c[h>>2]=f;if(!(c[k>>2]|0)){l=m;return}if(c[c[h>>2]>>2]|0){l=m;return}if((c[c[k>>2]>>2]|0)!=5){oP(c[g>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0);oP(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[k>>2]|0)+12>>2]|0)+34>>0]|0|0)b=(d[(c[(c[k>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else b=0;a[(c[k>>2]|0)+34>>0]=b&1;l=m;return}c[i>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+64>>2];if(c[i>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[k>>2]|0)+34>>0]=(c[j>>2]|0)==(c[i>>2]|0)}k=gN(c[g>>2]|0,1,c[(c[k>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=k;l=m;return}function pP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+44|0;g=o+40|0;h=o+36|0;i=o+32|0;j=o+28|0;k=o+24|0;m=o+8|0;n=o;d=o+20|0;e=o+16|0;c[g>>2]=a;c[h>>2]=b;if(!(c[(c[g>>2]|0)+60>>2]|0)){c[j>>2]=c[c[g>>2]>>2];b=m;c[b>>2]=0;c[b+4>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;c[i>>2]=RN(c[j>>2]|0,k)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}c[e>>2]=fJ(c[k>>2]|0,0)|0;b=c[e>>2]|0;c[d>>2]=b+(gJ(c[k>>2]|0,0)|0);b=bM(c[e>>2]|0,m)|0;c[e>>2]=(c[e>>2]|0)+b;while(1){if((c[e>>2]|0)>>>0>=(c[d>>2]|0)>>>0)break;b=bM(c[e>>2]|0,n)|0;c[e>>2]=(c[e>>2]|0)+b}d=m;e=n;if((c[d>>2]|0)==0&(c[d+4>>2]|0)==0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){ys(c[k>>2]|0)|0;c[f>>2]=267;n=c[f>>2]|0;l=o;return n|0}b=m;d=c[b+4>>2]|0;e=(c[g>>2]|0)+64|0;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=n;n=m;n=n0(c[e>>2]|0,c[e+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;m=c[(c[j>>2]|0)+236>>2]|0;m=_$(n|0,D|0,m|0,((m|0)<0)<<31>>31|0)|0;n=c[(c[j>>2]|0)+236>>2]|0;n=n0(m|0,D|0,n|0,((n|0)<0)<<31>>31|0)|0;c[(c[g>>2]|0)+60>>2]=n;c[i>>2]=ys(c[k>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}}c[c[h>>2]>>2]=c[(c[g>>2]|0)+60>>2];c[f>>2]=0;n=c[f>>2]|0;l=o;return n|0}function qP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=pe(16)|0;if(c[i>>2]|0){d=c[i>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[c[i>>2]>>2]=c[g>>2];c[(c[i>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[i>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[i>>2];c[(c[g>>2]|0)+16>>2]=c[i>>2];c[e>>2]=0;i=c[e>>2]|0;l=j;return i|0}else{c[e>>2]=7;i=c[e>>2]|0;l=j;return i|0}return 0}function rP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[e>>2]|0)){i=c[g>>2]|0;l=j;return i|0}c[h>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[i>>2]=c[e>>2];while(1){if((c[i>>2]|0)>>>0>=(c[h>>2]|0)>>>0)break;c[g>>2]=(c[g>>2]|0)+1;do{f=c[i>>2]|0;c[i>>2]=f+1}while((a[f>>0]&128|0)!=0);gM(0,i)}i=c[g>>2]|0;l=j;return i|0}function sP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+44|0;j=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;m=q+24|0;p=q+20|0;f=q+16|0;g=q+12|0;h=q;i=q+8|0;c[r>>2]=a;c[j>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[f>>2]=c[(c[k>>2]|0)+236>>2];c[m>>2]=0;while(1){if(c[p>>2]|0){a=13;break}if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0)){a=13;break}c[g>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];a:do if((c[(c[g>>2]|0)+56>>2]|0)==0?(d[(c[g>>2]|0)+5>>0]|0|0)==0:0){b=(c[g>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[g>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=jM(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,i,0)|0;if(c[p>>2]|0)break a;if(((c[i>>2]|0)+35|0)>(c[f>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[i>>2]|0)+34|0)/(c[f>>2]|0)|0);e=h;e=_$(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=D}}while(0);c[m>>2]=(c[m>>2]|0)+1}if((a|0)==13){c[c[n>>2]>>2]=c[o>>2];l=q;return c[p>>2]|0}return 0}function tP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[h>>2]=7;c[g>>2]=pe(56)|0;if(!(c[g>>2]|0)){p=c[g>>2]|0;q=c[q>>2]|0;c[q>>2]=p;q=c[h>>2]|0;l=r;return q|0}c[j>>2]=0;c[k>>2]=c[c[m>>2]>>2];a:do if(c[p>>2]|0){c[i>>2]=1;while(1){if(c[j>>2]|0)break;if((c[i>>2]|0)>=(c[(c[k>>2]|0)+248>>2]|0))break;if((c[(c[(c[k>>2]|0)+252>>2]|0)+((c[i>>2]|0)*24|0)>>2]|0)==(c[o>>2]|0)){c[j>>2]=1;c[h>>2]=tL(c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[i>>2]|0,-2,c[n>>2]|0,c[o>>2]|0,0,0,c[g>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=1}c[i>>2]=(c[i>>2]|0)+1}c[i>>2]=1;while(1){if(c[j>>2]|0)break a;if((c[i>>2]|0)>=(c[(c[k>>2]|0)+248>>2]|0))break a;if((c[(c[(c[k>>2]|0)+252>>2]|0)+((c[i>>2]|0)*24|0)>>2]|0)==((c[o>>2]|0)+1|0)?(c[j>>2]=1,c[h>>2]=tL(c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[i>>2]|0,-2,c[n>>2]|0,c[o>>2]|0,1,0,c[g>>2]|0)|0,(c[h>>2]|0)==0):0)c[h>>2]=uP(c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[g>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+1}}while(0);if(c[j>>2]|0){p=c[g>>2]|0;q=c[q>>2]|0;c[q>>2]=p;q=c[h>>2]|0;l=r;return q|0}c[h>>2]=tL(c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,0,-2,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,0,c[g>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=((c[p>>2]|0)!=0^1)&1;p=c[g>>2]|0;q=c[q>>2]|0;c[q>>2]=p;q=c[h>>2]|0;l=r;return q|0}function uP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=mM(c[m>>2]|0,c[k>>2]|0,0,-2,c[j>>2]|0,c[i>>2]|0,0,0,c[h>>2]|0)|0;l=g;return f|0}function vP(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+96|0;x=y+80|0;k=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;s=y+48|0;t=y+44|0;u=y+40|0;v=y+36|0;w=y;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;a=w;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[w>>2]=c[k>>2];c[w+4>>2]=c[m>>2];c[w+8>>2]=c[n>>2];c[w+16>>2]=c[p>>2];c[w+20>>2]=c[q>>2];c[w+12>>2]=c[o>>2];if(!(c[r>>2]|0)){c[c[t>>2]>>2]=0;c[x>>2]=0;x=c[x>>2]|0;l=y;return x|0}if((c[s>>2]|0)<0)c[s>>2]=g$(c[r>>2]|0)|0;c[v>>2]=yP(w,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,u)|0;if((c[v>>2]|0)==0?c[w+32>>2]|0:0)c[v>>2]=1;c[x>>2]=c[v>>2];x=c[x>>2]|0;l=y;return x|0}function wP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;m=t+52|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;i=t+32|0;r=t+28|0;s=t+24|0;k=t+20|0;f=t+16|0;g=t+12|0;h=t+8|0;d=t+4|0;e=t;c[m>>2]=a;c[n>>2]=b;c[o>>2]=0;c[p>>2]=c[c[m>>2]>>2];c[q>>2]=0;c[i>>2]=c[c[p>>2]>>2];if(!(c[n>>2]|0))c[o>>2]=1;do if(!(c[o>>2]|0)){if(!((c[i>>2]|0)==3|(c[i>>2]|0)==4)){if((c[i>>2]|0)!=2)break;c[d>>2]=c[(c[p>>2]|0)+12>>2];c[e>>2]=c[(c[p>>2]|0)+16>>2];c[(c[p>>2]|0)+12>>2]=0;c[(c[p>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[o>>2]=wP(d,(c[n>>2]|0)-1|0)|0;if(!(c[o>>2]|0))c[o>>2]=wP(e,(c[n>>2]|0)-1|0)|0;if(c[o>>2]|0){hP(c[e>>2]|0);hP(c[d>>2]|0);break}else{c[(c[p>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[p>>2];break}}c[r>>2]=pe(c[n>>2]<<2)|0;if(!(c[r>>2]|0))c[o>>2]=7;else m0(c[r>>2]|0,0,c[n>>2]<<2|0)|0;if(!(c[o>>2]|0)){c[k>>2]=c[p>>2];while(1){if((c[c[k>>2]>>2]|0)!=(c[i>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+12>>2]}while(1){c[g>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=0;if(c[g>>2]|0)c[(c[g>>2]|0)+12>>2]=0;else c[p>>2]=0;c[o>>2]=wP(k,(c[n>>2]|0)-1|0)|0;if(c[o>>2]|0)break;c[f>>2]=0;while(1){if(!(c[k>>2]|0))break;if((c[f>>2]|0)>=(c[n>>2]|0))break;if(!(c[(c[r>>2]|0)+(c[f>>2]<<2)>>2]|0)){c[(c[r>>2]|0)+(c[f>>2]<<2)>>2]=c[k>>2];c[k>>2]=0}else{c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+(c[f>>2]<<2)>>2];c[(c[q>>2]|0)+16>>2]=c[k>>2];c[(c[(c[q>>2]|0)+12>>2]|0)+8>>2]=c[q>>2];c[(c[(c[q>>2]|0)+16>>2]|0)+8>>2]=c[q>>2];c[k>>2]=c[q>>2];c[q>>2]=c[(c[q>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=0;c[(c[r>>2]|0)+(c[f>>2]<<2)>>2]=0}c[f>>2]=(c[f>>2]|0)+1}if(c[k>>2]|0){j=24;break}if(!(c[g>>2]|0))break;c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if((c[c[k>>2]>>2]|0)!=(c[i>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+12>>2]}c[(c[(c[g>>2]|0)+16>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];a=c[(c[g>>2]|0)+16>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0)c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]=a;else c[p>>2]=a;c[(c[g>>2]|0)+8>>2]=c[q>>2];c[q>>2]=c[g>>2]}if((j|0)==24){hP(c[k>>2]|0);c[o>>2]=18}a:do if(!(c[o>>2]|0)){c[k>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;if(c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]|0){if(!(c[k>>2]|0)){c[k>>2]=c[(c[r>>2]|0)+(c[s>>2]<<2)>>2];a=c[k>>2]|0}else{c[(c[q>>2]|0)+16>>2]=c[k>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+(c[s>>2]<<2)>>2];c[(c[(c[q>>2]|0)+12>>2]|0)+8>>2]=c[q>>2];c[(c[(c[q>>2]|0)+16>>2]|0)+8>>2]=c[q>>2];c[k>>2]=c[q>>2];c[q>>2]=c[(c[q>>2]|0)+8>>2];a=c[k>>2]|0}c[a+8>>2]=0}c[s>>2]=(c[s>>2]|0)+1}c[p>>2]=c[k>>2]}else{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;hP(c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]|0);c[s>>2]=(c[s>>2]|0)+1}while(1){s=c[q>>2]|0;c[h>>2]=s;if(!s)break a;c[q>>2]=c[(c[h>>2]|0)+8>>2];_d(c[h>>2]|0)}}while(0);_d(c[r>>2]|0)}}while(0);if(!(c[o>>2]|0)){r=c[p>>2]|0;s=c[m>>2]|0;c[s>>2]=r;s=c[o>>2]|0;l=t;return s|0}hP(c[p>>2]|0);c[p>>2]=0;r=c[p>>2]|0;s=c[m>>2]|0;c[s>>2]=r;s=c[o>>2]|0;l=t;return s|0}function xP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=xP(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=xP(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);l=g;return c[f>>2]|0}function yP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+80|0;n=x+64|0;y=x+60|0;u=x+56|0;v=x+52|0;w=x+48|0;o=x+44|0;g=x+40|0;p=x+36|0;q=x+32|0;h=x+28|0;r=x+24|0;s=x+20|0;t=x+16|0;i=x+12|0;j=x+8|0;k=x+4|0;m=x;c[n>>2]=a;c[y>>2]=b;c[u>>2]=d;c[v>>2]=e;c[w>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2];c[h>>2]=c[y>>2];c[r>>2]=0;c[s>>2]=1;while(1){if(c[r>>2]|0){a=25;break}c[t>>2]=0;c[i>>2]=0;c[r>>2]=zP(c[n>>2]|0,c[h>>2]|0,c[q>>2]|0,t,i)|0;if((c[r>>2]|0)==0&(c[t>>2]|0)!=0){c[k>>2]=c[c[t>>2]>>2];if((c[k>>2]|0)==5)a=1;else a=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=a&1;if((c[j>>2]|0)==0&(c[s>>2]|0)!=0){a=7;break}if(!((c[j>>2]|0)==0|(c[s>>2]|0)!=0)){c[m>>2]=AP(48)|0;if(!(c[m>>2]|0)){a=10;break}c[c[m>>2]>>2]=3;BP(o,c[g>>2]|0,c[m>>2]|0);c[g>>2]=c[m>>2]}if(c[g>>2]|0){if(!((c[k>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[g>>2]>>2]|0)!=5:0){a=17;break}if((c[k>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[g>>2]>>2]|0)==1:0){a=17;break}}do if(c[j>>2]|0){a=c[t>>2]|0;if(c[o>>2]|0){c[(c[g>>2]|0)+16>>2]=a;c[(c[t>>2]|0)+8>>2]=c[g>>2];break}else{c[o>>2]=a;break}}else BP(o,c[g>>2]|0,c[t>>2]|0);while(0);c[s>>2]=((c[j>>2]|0)!=0^1)&1;c[g>>2]=c[t>>2]}c[q>>2]=(c[q>>2]|0)-(c[i>>2]|0);c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0)}if((a|0)==7){hP(c[t>>2]|0);c[r>>2]=1}else if((a|0)==10){hP(c[t>>2]|0);c[r>>2]=7}else if((a|0)==17){hP(c[t>>2]|0);c[r>>2]=1}else if((a|0)==25){if((c[r>>2]|0)==101&(c[o>>2]|0)!=0&(c[s>>2]|0)!=0)c[r>>2]=1;if((c[r>>2]|0)==101)c[r>>2]=0;c[c[w>>2]>>2]=(c[u>>2]|0)-(c[q>>2]|0)}if(!(c[r>>2]|0)){w=c[o>>2]|0;y=c[v>>2]|0;c[y>>2]=w;y=c[r>>2]|0;l=x;return y|0}hP(c[o>>2]|0);hP(c[p>>2]|0);c[o>>2]=0;w=c[o>>2]|0;y=c[v>>2]|0;c[y>>2]=w;y=c[r>>2]|0;l=x;return y|0}function zP(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+80|0;y=E+72|0;z=E+68|0;A=E+64|0;B=E+60|0;C=E+56|0;p=E+52|0;q=E+48|0;r=E+44|0;s=E+40|0;t=E+36|0;i=E+32|0;u=E+28|0;v=E+24|0;j=E+20|0;k=E+16|0;m=E+12|0;n=E+76|0;o=E+8|0;w=E+4|0;x=E;c[z>>2]=b;c[A>>2]=e;c[B>>2]=f;c[C>>2]=g;c[p>>2]=h;c[i>>2]=0;c[u>>2]=c[A>>2];c[v>>2]=c[B>>2];c[(c[z>>2]|0)+24>>2]=0;while(1){if((c[v>>2]|0)>0)b=(DP(a[c[u>>2]>>0]|0)|0)!=0;else b=0;e=c[v>>2]|0;if(!b)break;c[v>>2]=e+-1;c[u>>2]=(c[u>>2]|0)+1}if(!e){c[y>>2]=101;D=c[y>>2]|0;l=E;return D|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=4)break;c[j>>2]=6668+(c[q>>2]<<3);if(((d[(c[j>>2]|0)+5>>0]&-2|0)==0?(c[v>>2]|0)>=(d[(c[j>>2]|0)+4>>0]|0):0)?0==(H_(c[u>>2]|0,c[c[j>>2]>>2]|0,d[(c[j>>2]|0)+4>>0]|0)|0):0){c[k>>2]=10;c[m>>2]=d[(c[j>>2]|0)+4>>0];a:do if((((d[(c[j>>2]|0)+6>>0]|0)==1?(a[(c[u>>2]|0)+4>>0]|0)==47:0)?(a[(c[u>>2]|0)+5>>0]|0)>=48:0)?(a[(c[u>>2]|0)+5>>0]|0)<=57:0){c[k>>2]=0;c[m>>2]=5;while(1){if((a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|0)<48)break a;if((a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|0)>57)break a;c[k>>2]=((c[k>>2]|0)*10|0)+((a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|0)-48);c[m>>2]=(c[m>>2]|0)+1}}while(0);a[n>>0]=a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|0;if(DP(a[n>>0]|0)|0){D=26;break}if((a[n>>0]|0)==34){D=26;break}if((a[n>>0]|0)==40){D=26;break}if((a[n>>0]|0)==41){D=26;break}if(!(a[n>>0]|0)){D=26;break}}c[q>>2]=(c[q>>2]|0)+1}if((D|0)==26){c[i>>2]=AP(48)|0;if(c[i>>2]|0){c[c[i>>2]>>2]=d[(c[j>>2]|0)+6>>0];c[(c[i>>2]|0)+4>>2]=c[k>>2];c[c[C>>2]>>2]=c[i>>2];c[c[p>>2]>>2]=(c[u>>2]|0)-(c[A>>2]|0)+(c[m>>2]|0);c[y>>2]=0;D=c[y>>2]|0;l=E;return D|0}else{c[y>>2]=7;D=c[y>>2]|0;l=E;return D|0}}if((a[c[u>>2]>>0]|0)==34){c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[v>>2]|0))break;if((a[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0)==34)break;c[q>>2]=(c[q>>2]|0)+1}c[c[p>>2]>>2]=(c[u>>2]|0)-(c[A>>2]|0)+(c[q>>2]|0)+1;if((c[q>>2]|0)==(c[v>>2]|0)){c[y>>2]=1;D=c[y>>2]|0;l=E;return D|0}else{c[y>>2]=EP(c[z>>2]|0,(c[u>>2]|0)+1|0,(c[q>>2]|0)-1|0,c[C>>2]|0)|0;D=c[y>>2]|0;l=E;return D|0}}if((a[c[u>>2]>>0]|0)==40){c[o>>2]=0;D=(c[z>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[t>>2]=yP(c[z>>2]|0,(c[u>>2]|0)+1|0,(c[v>>2]|0)-1|0,c[C>>2]|0,o)|0;if((c[t>>2]|0)==0?(c[c[C>>2]>>2]|0)==0:0)c[t>>2]=101;c[c[p>>2]>>2]=(c[u>>2]|0)-(c[A>>2]|0)+1+(c[o>>2]|0);c[y>>2]=c[t>>2];D=c[y>>2]|0;l=E;return D|0}b=c[z>>2]|0;if((a[c[u>>2]>>0]|0)==41){D=b+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[p>>2]>>2]=(c[u>>2]|0)-(c[A>>2]|0)+1;c[c[C>>2]>>2]=0;c[y>>2]=101;D=c[y>>2]|0;l=E;return D|0}c[r>>2]=c[b+20>>2];c[s>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[z>>2]|0)+16>>2]|0))break;c[w>>2]=c[(c[(c[z>>2]|0)+8>>2]|0)+(c[q>>2]<<2)>>2];c[x>>2]=g$(c[w>>2]|0)|0;if(((c[v>>2]|0)>(c[x>>2]|0)?(a[(c[u>>2]|0)+(c[x>>2]|0)>>0]|0)==58:0)?(ld(c[w>>2]|0,c[u>>2]|0,c[x>>2]|0)|0)==0:0){D=50;break}c[q>>2]=(c[q>>2]|0)+1}if((D|0)==50){c[r>>2]=c[q>>2];c[s>>2]=(c[u>>2]|0)-(c[A>>2]|0)+(c[x>>2]|0)+1}c[t>>2]=FP(c[z>>2]|0,c[r>>2]|0,(c[A>>2]|0)+(c[s>>2]|0)|0,(c[B>>2]|0)-(c[s>>2]|0)|0,c[C>>2]|0,c[p>>2]|0)|0;D=c[p>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[s>>2]|0);c[y>>2]=c[t>>2];D=c[y>>2]|0;l=E;return D|0}function AP(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=pe(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;l=e;return d|0}m0(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;l=e;return d|0}function BP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=c[i>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){a=CP(c[(c[g>>2]|0)+8>>2]|0)|0;a=(a|0)<=(CP(c[f>>2]|0)|0)}else a=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!a)break;c[g>>2]=b}a=c[f>>2]|0;if(b|0){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=a;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;i=c[f>>2]|0;i=i+12|0;c[i>>2]=e;f=c[f>>2]|0;i=c[g>>2]|0;i=i+8|0;c[i>>2]=f;l=h;return}else{c[c[e>>2]>>2]=a;e=c[g>>2]|0;i=c[f>>2]|0;i=i+12|0;c[i>>2]=e;f=c[f>>2]|0;i=c[g>>2]|0;i=i+8|0;c[i>>2]=f;l=h;return}}function CP(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function DP(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)b=(a[c>>0]|0)==12;else b=1;l=d;return b&1|0}function EP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+96|0;x=D+88|0;y=D+84|0;z=D+80|0;A=D+76|0;B=D+72|0;E=D+68|0;g=D+64|0;h=D+60|0;i=D+56|0;j=D+52|0;k=D+48|0;m=D+44|0;n=D+36|0;o=D+32|0;p=D+28|0;q=D+24|0;r=D+20|0;s=D+16|0;t=D+12|0;u=D+8|0;v=D+4|0;w=D;c[y>>2]=b;c[z>>2]=d;c[A>>2]=e;c[B>>2]=f;c[E>>2]=c[c[y>>2]>>2];c[g>>2]=c[c[E>>2]>>2];c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=0;c[D+40>>2]=144;c[n>>2]=0;c[h>>2]=EN(c[E>>2]|0,c[(c[y>>2]|0)+4>>2]|0,c[z>>2]|0,c[A>>2]|0,j)|0;a:do if(!(c[h>>2]|0)){c[o>>2]=0;while(1){if(c[h>>2]|0)break;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[h>>2]=Gb[c[(c[g>>2]|0)+20>>2]&255](c[j>>2]|0,p,q,r,s,t)|0;if(!(c[h>>2]|0)){c[i>>2]=GP(c[i>>2]|0,144+((c[o>>2]|0)*24|0)|0)|0;if(!(c[i>>2]|0))break a;c[k>>2]=GP(c[k>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if(!(c[k>>2]|0))break a;c[u>>2]=(c[i>>2]|0)+48+72+((c[o>>2]|0)*24|0);E=c[u>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;h0((c[k>>2]|0)+(c[m>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[(c[u>>2]|0)+4>>2]=c[q>>2];if((c[s>>2]|0)<(c[A>>2]|0))b=(a[(c[z>>2]|0)+(c[s>>2]|0)>>0]|0)==42;else b=0;c[(c[u>>2]|0)+8>>2]=b&1;if((c[r>>2]|0)>0)b=(a[(c[z>>2]|0)+((c[r>>2]|0)-1)>>0]|0)==94;else b=0;c[(c[u>>2]|0)+12>>2]=b&1;c[n>>2]=(c[o>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}Hb[c[(c[g>>2]|0)+16>>2]&255](c[j>>2]|0)|0;c[j>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[h>>2]|0)==101){c[w>>2]=0;c[i>>2]=GP(c[i>>2]|0,144+((c[n>>2]|0)*24|0)+(c[m>>2]|0)|0)|0;if(!(c[i>>2]|0))break;m0(c[i>>2]|0,0,(c[i>>2]|0)+48+72-(c[i>>2]|0)|0)|0;c[c[i>>2]>>2]=5;c[(c[i>>2]|0)+20>>2]=(c[i>>2]|0)+48;c[(c[(c[i>>2]|0)+20>>2]|0)+68>>2]=c[(c[y>>2]|0)+20>>2];c[(c[(c[i>>2]|0)+20>>2]|0)+64>>2]=c[n>>2];c[w>>2]=(c[(c[i>>2]|0)+20>>2]|0)+72+((c[n>>2]|0)*24|0);if(c[k>>2]|0){h0(c[w>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;_d(c[k>>2]|0)}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[(c[i>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[i>>2]|0)+20>>2]|0)+72+((c[v>>2]|0)*24|0)>>2]=c[w>>2];c[w>>2]=(c[w>>2]|0)+(c[(c[(c[i>>2]|0)+20>>2]|0)+72+((c[v>>2]|0)*24|0)+4>>2]|0);c[v>>2]=(c[v>>2]|0)+1}c[h>>2]=0}c[c[B>>2]>>2]=c[i>>2];c[x>>2]=c[h>>2];E=c[x>>2]|0;l=D;return E|0}while(0);if(c[j>>2]|0)Hb[c[(c[g>>2]|0)+16>>2]&255](c[j>>2]|0)|0;_d(c[k>>2]|0);_d(c[i>>2]|0);c[c[B>>2]>>2]=0;c[x>>2]=7;E=c[x>>2]|0;l=D;return E|0}function FP(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;x=B+68|0;y=B+64|0;z=B+60|0;A=B+56|0;i=B+52|0;j=B+48|0;k=B+44|0;m=B+40|0;n=B+36|0;o=B+32|0;p=B+28|0;q=B+24|0;r=B+20|0;s=B+16|0;t=B+12|0;u=B+8|0;v=B+4|0;w=B;c[x>>2]=b;c[y>>2]=d;c[z>>2]=e;c[A>>2]=f;c[i>>2]=g;c[j>>2]=h;c[k>>2]=c[c[x>>2]>>2];c[m>>2]=c[c[k>>2]>>2];c[p>>2]=0;c[q>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[A>>2]|0))break;if((a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)==40)break;if((a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)==41)break;if((a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)==34)break;c[q>>2]=(c[q>>2]|0)+1}c[c[j>>2]>>2]=c[q>>2];c[n>>2]=EN(c[k>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[z>>2]|0,c[q>>2]|0,o)|0;if(c[n>>2]|0){z=c[p>>2]|0;A=c[i>>2]|0;c[A>>2]=z;A=c[n>>2]|0;l=B;return A|0}c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[n>>2]=Gb[c[(c[m>>2]|0)+20>>2]&255](c[o>>2]|0,r,s,t,u,v)|0;if(c[n>>2]|0){if((c[q>>2]|0)!=0&(c[n>>2]|0)==101)c[n>>2]=0}else{c[w>>2]=144+(c[s>>2]|0);c[p>>2]=AP(c[w>>2]|0)|0;a:do if(c[p>>2]|0){c[c[p>>2]>>2]=5;c[(c[p>>2]|0)+20>>2]=(c[p>>2]|0)+48;c[(c[(c[p>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[p>>2]|0)+20>>2]|0)+68>>2]=c[y>>2];c[(c[(c[p>>2]|0)+20>>2]|0)+72+4>>2]=c[s>>2];c[(c[(c[p>>2]|0)+20>>2]|0)+72>>2]=(c[(c[p>>2]|0)+20>>2]|0)+96;h0(c[(c[(c[p>>2]|0)+20>>2]|0)+72>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;if((c[u>>2]|0)<(c[A>>2]|0)?(a[(c[z>>2]|0)+(c[u>>2]|0)>>0]|0)==42:0){c[(c[(c[p>>2]|0)+20>>2]|0)+72+8>>2]=1;c[u>>2]=(c[u>>2]|0)+1}while(1){if(!((c[t>>2]|0)>0?(c[(c[x>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[z>>2]|0)+((c[t>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[p>>2]|0)+20>>2]|0)+72+12>>2]=1;c[t>>2]=(c[t>>2]|0)+-1}}else c[n>>2]=7;while(0);c[c[j>>2]>>2]=c[u>>2]}Hb[c[(c[m>>2]|0)+16>>2]&255](c[o>>2]|0)|0;z=c[p>>2]|0;A=c[i>>2]|0;c[A>>2]=z;A=c[n>>2]|0;l=B;return A|0}function GP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Xf(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;l=f;return g|0}_d(c[d>>2]|0);g=c[e>>2]|0;l=f;return g|0}function HP(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;IP(c[(c[d>>2]|0)+20>>2]|0);_d(c[(c[d>>2]|0)+40>>2]|0);_d(c[d>>2]|0);l=b;return}function IP(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){l=f;return}_d(c[c[d>>2]>>2]|0);YM(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;qN(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}l=f;return}function JP(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];nL(c[(c[d>>2]|0)+12>>2]|0);_d(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;l=f;return}function KP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((PJ()|0)<3008002){l=g;return}b=f;d=c[b+4>>2]|0;f=(c[e>>2]|0)+48|0;c[f>>2]=c[b>>2];c[f+4>>2]=d;l=g;return}function LP(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((PJ()|0)<3008012){l=d;return}b=(c[b>>2]|0)+56|0;c[b>>2]=c[b>>2]|1;l=d;return}function MP(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=l;l=l+288|0;ca=ha+40|0;ba=ha+32|0;D=ha+24|0;s=ha+16|0;t=ha+8|0;r=ha;aa=ha+280|0;C=ha+276|0;ia=ha+272|0;j=ha+268|0;E=ha+264|0;da=ha+260|0;F=ha+256|0;v=ha+252|0;ea=ha+248|0;fa=ha+244|0;G=ha+240|0;w=ha+236|0;H=ha+232|0;x=ha+228|0;I=ha+224|0;J=ha+220|0;K=ha+216|0;L=ha+212|0;M=ha+208|0;N=ha+204|0;ga=ha+200|0;O=ha+196|0;P=ha+192|0;y=ha+188|0;z=ha+184|0;Q=ha+180|0;R=ha+176|0;S=ha+172|0;T=ha+168|0;U=ha+164|0;V=ha+160|0;W=ha+156|0;k=ha+152|0;m=ha+148|0;n=ha+144|0;o=ha+80|0;p=ha+76|0;q=ha+72|0;A=ha+68|0;B=ha+64|0;X=ha+60|0;Y=ha+56|0;Z=ha+52|0;_=ha+48|0;$=ha+44|0;c[aa>>2]=b;c[C>>2]=d;c[ia>>2]=e;c[j>>2]=f;c[E>>2]=g;c[da>>2]=h;c[F>>2]=i;c[v>>2]=c[ia>>2];c[ea>>2]=0;c[fa>>2]=0;c[x>>2]=0;c[I>>2]=0;c[M>>2]=(a[(c[c[E>>2]>>2]|0)+3>>0]|0)==52&1;c[ga>>2]=0;c[O>>2]=0;c[P>>2]=0;c[y>>2]=0;c[z>>2]=0;c[Q>>2]=0;c[R>>2]=0;c[S>>2]=0;c[T>>2]=0;c[U>>2]=0;c[V>>2]=0;c[W>>2]=0;c[K>>2]=(g$(c[(c[E>>2]|0)+4>>2]|0)|0)+1;c[L>>2]=(g$(c[(c[E>>2]|0)+8>>2]|0)|0)+1;c[w>>2]=(c[j>>2]|0)-2<<2;c[N>>2]=pe(c[w>>2]|0)|0;if(c[N>>2]|0){m0(c[N>>2]|0,0,c[w>>2]|0)|0;c[V>>2]=pe(c[w>>2]|0)|0}if(c[V>>2]|0)m0(c[V>>2]|0,0,c[w>>2]|0)|0;do if((c[N>>2]|0)!=0&(c[V>>2]|0)!=0){c[G>>2]=3;while(1){if(c[fa>>2]|0)break;if((c[G>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=c[(c[E>>2]|0)+(c[G>>2]<<2)>>2];if(((!(c[ga>>2]|0)?(g$(c[k>>2]|0)|0)>>>0>8:0)?0==(ld(c[k>>2]|0,46131,8)|0):0)?0==(NP(a[(c[k>>2]|0)+8>>0]|0)|0):0)c[fa>>2]=OP(c[v>>2]|0,(c[k>>2]|0)+9|0,ga,c[F>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if(c[M>>2]|0?PP(c[k>>2]|0,m,n)|0:0){b=o;d=6700;e=b+64|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));if(!(c[n>>2]|0)){c[fa>>2]=7;break}c[p>>2]=0;while(1){if((c[p>>2]|0)>=8)break;c[q>>2]=o+(c[p>>2]<<3);if((c[m>>2]|0)==(c[(c[q>>2]|0)+4>>2]|0)?(ld(c[k>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[p>>2]|0)==8){ia=c[F>>2]|0;c[r>>2]=c[k>>2];IK(ia,46140,r);c[fa>>2]=1}else switch(c[p>>2]|0){case 0:{if(!((g$(c[n>>2]|0)|0)==4?!(ld(c[n>>2]|0,42646,4)|0):0)){ia=c[F>>2]|0;c[t>>2]=c[n>>2];IK(ia,46167,t);c[fa>>2]=1}c[y>>2]=1;break a}case 1:{_d(c[Q>>2]|0);c[Q>>2]=c[n>>2];c[n>>2]=0;break a}case 2:{_d(c[R>>2]|0);c[R>>2]=c[n>>2];c[n>>2]=0;break a}case 3:{_d(c[S>>2]|0);c[S>>2]=c[n>>2];c[n>>2]=0;break a}case 4:{if(!((g$(c[n>>2]|0)|0)==3?!(ld(c[n>>2]|0,46194,3)|0):0))u=36;do if((u|0)==36){u=0;if((g$(c[n>>2]|0)|0)==4?(ld(c[n>>2]|0,32597,4)|0)==0:0)break;ia=c[F>>2]|0;c[s>>2]=c[n>>2];IK(ia,46198,s);c[fa>>2]=1}while(0);if((a[c[n>>2]>>0]|0)==100)b=1;else b=(a[c[n>>2]>>0]|0)==68;c[z>>2]=b&1;break a}case 5:{_d(c[T>>2]|0);c[T>>2]=c[n>>2];c[n>>2]=0;break a}case 6:{_d(c[U>>2]|0);c[U>>2]=c[n>>2];c[n>>2]=0;break a}case 7:{h=c[n>>2]|0;i=c[V>>2]|0;ia=c[W>>2]|0;c[W>>2]=ia+1;c[i+(ia<<2)>>2]=h;c[n>>2]=0;break a}default:break a}while(0);_d(c[n>>2]|0);break}h=(g$(c[k>>2]|0)|0)+1|0;c[x>>2]=(c[x>>2]|0)+h;h=c[k>>2]|0;i=c[N>>2]|0;ia=c[I>>2]|0;c[I>>2]=ia+1;c[i+(ia<<2)>>2]=h}while(0);c[G>>2]=(c[G>>2]|0)+1}b:do if(((c[fa>>2]|0)==0&(c[T>>2]|0)!=0?(_d(c[R>>2]|0),_d(c[S>>2]|0),c[R>>2]=0,c[S>>2]=0,(c[I>>2]|0)==0):0)?(_d(c[N>>2]|0),c[N>>2]=0,c[fa>>2]=QP(c[C>>2]|0,c[(c[E>>2]|0)+4>>2]|0,c[T>>2]|0,N,I,x,c[F>>2]|0)|0,(c[fa>>2]|0)==0&(c[U>>2]|0)!=0):0){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[I>>2]|0))break b;ia=(kl(c[U>>2]|0,c[(c[N>>2]|0)+(c[A>>2]<<2)>>2]|0)|0)==0;b=c[A>>2]|0;if(ia)break;c[A>>2]=b+1}c[B>>2]=b;while(1){if((c[B>>2]|0)>=(c[I>>2]|0))break;c[(c[N>>2]|0)+(c[B>>2]<<2)>>2]=c[(c[N>>2]|0)+((c[B>>2]|0)+1<<2)>>2];c[B>>2]=(c[B>>2]|0)+1}c[I>>2]=(c[I>>2]|0)+-1}while(0);if(!(c[fa>>2]|0)){if(!(c[I>>2]|0)){c[c[N>>2]>>2]=46221;c[x>>2]=8;c[I>>2]=1}if((c[ga>>2]|0)==0?(c[fa>>2]=OP(c[v>>2]|0,42572,ga,c[F>>2]|0)|0,c[fa>>2]|0):0)break;c[fa>>2]=RP(c[Q>>2]|0,O,P)|0;if((c[fa>>2]|0)==1){ia=c[F>>2]|0;c[D>>2]=c[Q>>2];IK(ia,46229,D)}if(!(c[fa>>2]|0)){c[w>>2]=280+(c[I>>2]<<2)+((c[O>>2]|0)*24|0)+(c[I>>2]|0)+(c[L>>2]|0)+(c[K>>2]|0)+(c[x>>2]|0);c[ea>>2]=pe(c[w>>2]|0)|0;if(!(c[ea>>2]|0)){c[fa>>2]=7;break}m0(c[ea>>2]|0,0,c[w>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[C>>2];c[(c[ea>>2]|0)+24>>2]=c[I>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[ga>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=(c[M>>2]|0?(c[y>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[M>>2];a[(c[ea>>2]|0)+228>>0]=c[M>>2];a[(c[ea>>2]|0)+231>>0]=c[z>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[T>>2];c[(c[ea>>2]|0)+44>>2]=c[U>>2];c[T>>2]=0;c[U>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[I>>2]<<2);h0(c[(c[ea>>2]|0)+252>>2]|0,c[P>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[G>>2]=0;while(1){b=c[(c[ea>>2]|0)+252>>2]|0;if((c[G>>2]|0)>=(c[O>>2]|0))break;nK(b+((c[G>>2]|0)*24|0)+4|0,1,1);c[G>>2]=(c[G>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=b+((c[O>>2]|0)*24|0);c[J>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[I>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[J>>2];h0(c[J>>2]|0,c[(c[E>>2]|0)+8>>2]|0,c[L>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+(c[L>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[J>>2];h0(c[J>>2]|0,c[(c[E>>2]|0)+4>>2]|0,c[K>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+(c[K>>2]|0);c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[I>>2]|0))break;c[Y>>2]=0;c[X>>2]=SP(c[(c[N>>2]|0)+(c[H>>2]<<2)>>2]|0,Y)|0;h0(c[J>>2]|0,c[X>>2]|0,c[Y>>2]|0)|0;a[(c[J>>2]|0)+(c[Y>>2]|0)>>0]=0;RK(c[J>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[H>>2]<<2)>>2]=c[J>>2];c[J>>2]=(c[J>>2]|0)+((c[Y>>2]|0)+1);c[H>>2]=(c[H>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[I>>2]|0))break;c[Z>>2]=g$(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[H>>2]<<2)>>2]|0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[W>>2]|0))break;c[_>>2]=c[(c[V>>2]|0)+(c[G>>2]<<2)>>2];if((c[_>>2]|0?(ia=c[Z>>2]|0,(ia|0)==(g$(c[_>>2]|0)|0)):0)?0==(ld(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[H>>2]<<2)>>2]|0,c[_>>2]|0,c[Z>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[H>>2]|0)>>0]=1;_d(c[_>>2]|0);c[(c[V>>2]|0)+(c[G>>2]<<2)>>2]=0}c[G>>2]=(c[G>>2]|0)+1}c[H>>2]=(c[H>>2]|0)+1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[W>>2]|0))break;if(c[(c[V>>2]|0)+(c[G>>2]<<2)>>2]|0){ia=c[F>>2]|0;c[ba>>2]=c[(c[V>>2]|0)+(c[G>>2]<<2)>>2];IK(ia,34753,ba);c[fa>>2]=1}c[G>>2]=(c[G>>2]|0)+1}if((c[fa>>2]|0)==0?((c[R>>2]|0)==0|0)!=((c[S>>2]|0)==0|0):0){c[$>>2]=(c[R>>2]|0)==0?46264:46273;c[fa>>2]=1;ia=c[F>>2]|0;c[ca>>2]=c[$>>2];IK(ia,46284,ca)}ia=TP(c[ea>>2]|0,c[S>>2]|0,fa)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=UP(c[ea>>2]|0,c[R>>2]|0,fa)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[fa>>2]|0)){if(c[aa>>2]|0)c[fa>>2]=VP(c[ea>>2]|0)|0;if(!((c[M>>2]|0)!=0|(c[aa>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;WP(fa,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;XP(fa,c[ea>>2]|0)}}}}else c[fa>>2]=7;while(0);_d(c[Q>>2]|0);_d(c[P>>2]|0);_d(c[R>>2]|0);_d(c[S>>2]|0);_d(c[T>>2]|0);_d(c[U>>2]|0);c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[W>>2]|0))break;_d(c[(c[V>>2]|0)+(c[G>>2]<<2)>>2]|0);c[G>>2]=(c[G>>2]|0)+1}_d(c[N>>2]|0);_d(c[V>>2]|0);b=c[ea>>2]|0;if(!(c[fa>>2]|0)){c[c[da>>2]>>2]=b;ia=c[fa>>2]|0;l=ha;return ia|0}if(b|0){VK(c[ea>>2]|0)|0;ia=c[fa>>2]|0;l=ha;return ia|0}if(!(c[ga>>2]|0)){ia=c[fa>>2]|0;l=ha;return ia|0}Hb[c[(c[c[ga>>2]>>2]|0)+8>>2]&255](c[ga>>2]|0)|0;ia=c[fa>>2]|0;l=ha;return ia|0}function NP(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128|0){c=1;c=c&1;l=d;return c|0}c=(a[46949+(a[c>>0]|0)>>0]|0)!=0;c=c&1;l=d;return c|0}function OP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=l;l=l+80|0;w=y+16|0;v=y+8|0;z=y;q=y+76|0;r=y+72|0;A=y+68|0;s=y+64|0;t=y+60|0;u=y+56|0;g=y+52|0;h=y+48|0;i=y+44|0;j=y+40|0;k=y+36|0;m=y+32|0;n=y+28|0;o=y+24|0;p=y+20|0;c[r>>2]=b;c[A>>2]=d;c[s>>2]=e;c[t>>2]=f;c[g>>2]=c[A>>2];c[h>>2]=0;c[z>>2]=c[A>>2];c[i>>2]=nf(21240,z)|0;if(!(c[i>>2]|0)){c[q>>2]=7;A=c[q>>2]|0;l=y;return A|0}A=c[i>>2]|0;c[j>>2]=A+(g$(c[i>>2]|0)|0);c[g>>2]=SP(c[i>>2]|0,h)|0;if(!(c[g>>2]|0))c[g>>2]=c[i>>2];a[(c[g>>2]|0)+(c[h>>2]|0)>>0]=0;RK(c[g>>2]|0);z=c[r>>2]|0;A=c[g>>2]|0;c[k>>2]=HK(z,A,(g$(c[g>>2]|0)|0)+1|0)|0;if(c[k>>2]|0){c[m>>2]=0;c[n>>2]=0;c[g>>2]=(c[g>>2]|0)+((c[h>>2]|0)+1);while(1){if((c[g>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;A=SP(c[g>>2]|0,h)|0;c[g>>2]=A;if(!A)break;c[o>>2]=(c[n>>2]|0)+1<<2;c[p>>2]=Xf(c[m>>2]|0,c[o>>2]|0)|0;if(!(c[p>>2]|0)){x=11;break}c[m>>2]=c[p>>2];v=c[g>>2]|0;z=c[m>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[z+(A<<2)>>2]=v;a[(c[g>>2]|0)+(c[h>>2]|0)>>0]=0;RK(c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+((c[h>>2]|0)+1)}if((x|0)==11){_d(c[i>>2]|0);_d(c[m>>2]|0);c[q>>2]=7;A=c[q>>2]|0;l=y;return A|0}c[u>>2]=Bb[c[(c[k>>2]|0)+4>>2]&255](c[n>>2]|0,c[m>>2]|0,c[s>>2]|0)|0;if(c[u>>2]|0)IK(c[t>>2]|0,46931,w);else c[c[c[s>>2]>>2]>>2]=c[k>>2];_d(c[m>>2]|0)}else{A=c[t>>2]|0;c[v>>2]=c[g>>2];IK(A,42720,v);c[u>>2]=1}_d(c[i>>2]|0);c[q>>2]=c[u>>2];A=c[q>>2]|0;l=y;return A|0}function PP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;m=o;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=c[g>>2];while(1){b=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==61)break;if(!(a[b>>0]|0)){n=4;break}c[k>>2]=(c[k>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;l=o;return n|0}c[c[h>>2]>>2]=b-(c[g>>2]|0);c[m>>2]=(c[k>>2]|0)+1;c[j>>2]=nf(21240,m)|0;if(c[j>>2]|0)RK(c[j>>2]|0);c[c[i>>2]>>2]=c[j>>2];c[f>>2]=1;n=c[f>>2]|0;l=o;return n|0}function QP(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=l;l=l+96|0;z=A+8|0;B=A;y=A+80|0;C=A+76|0;D=A+72|0;i=A+68|0;j=A+64|0;k=A+60|0;m=A+56|0;n=A+52|0;o=A+48|0;p=A+44|0;q=A+40|0;r=A+36|0;s=A+32|0;t=A+28|0;u=A+24|0;v=A+20|0;w=A+16|0;x=A+12|0;c[y>>2]=a;c[C>>2]=b;c[D>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=0;c[p>>2]=0;h=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=h;c[o>>2]=nf(46882,B)|0;if(c[o>>2]|0){c[n>>2]=Mv(c[y>>2]|0,c[o>>2]|0,-1,p,0)|0;if(c[n>>2]|0){D=c[m>>2]|0;c[z>>2]=Ev(c[y>>2]|0)|0;IK(D,21240,z)}}else c[n>>2]=7;_d(c[o>>2]|0);if(c[n>>2]|0){D=c[n>>2]|0;l=A;return D|0}c[r>>2]=0;c[s>>2]=Av(c[p>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=Bv(c[p>>2]|0,c[t>>2]|0)|0;D=(g$(c[u>>2]|0)|0)+1|0;c[r>>2]=(c[r>>2]|0)+D;c[t>>2]=(c[t>>2]|0)+1}c[q>>2]=pe((c[s>>2]<<2)+(c[r>>2]|0)|0)|0;a:do if(!(c[q>>2]|0))c[n>>2]=7;else{c[v>>2]=(c[q>>2]|0)+(c[s>>2]<<2);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[s>>2]|0))break a;c[w>>2]=Bv(c[p>>2]|0,c[t>>2]|0)|0;c[x>>2]=(g$(c[w>>2]|0)|0)+1;h0(c[v>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;c[(c[q>>2]|0)+(c[t>>2]<<2)>>2]=c[v>>2];c[v>>2]=(c[v>>2]|0)+(c[x>>2]|0);c[t>>2]=(c[t>>2]|0)+1}}while(0);Fr(c[p>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[r>>2];c[c[i>>2]>>2]=c[q>>2];D=c[n>>2]|0;l=A;return D|0}function RP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+36|0;j=q+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;f=q+8|0;g=q+4|0;h=q;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[o>>2]=1;a:do if(c[j>>2]|0?a[c[j>>2]>>0]|0:0){c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=c[j>>2];while(1){if(!(a[c[p>>2]>>0]|0))break a;if((a[c[p>>2]>>0]|0)==44)c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=pe((c[o>>2]|0)*24|0)|0;c[c[m>>2]>>2]=c[n>>2];if(!(c[n>>2]|0)){c[i>>2]=7;p=c[i>>2]|0;l=q;return p|0}m0(c[n>>2]|0,0,(c[o>>2]|0)*24|0)|0;b:do if(c[j>>2]|0){c[f>>2]=c[j>>2];c[g>>2]=1;while(1){if((c[g>>2]|0)>=(c[o>>2]|0))break b;c[h>>2]=0;if(_P(f,h)|0)break;if(!(c[h>>2]|0)){c[o>>2]=(c[o>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+-1}else c[(c[n>>2]|0)+((c[g>>2]|0)*24|0)>>2]=c[h>>2];c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}c[i>>2]=1;p=c[i>>2]|0;l=q;return p|0}while(0);c[c[k>>2]>>2]=c[o>>2];c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}function SP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;k=j+12|0;g=j+8|0;h=j+4|0;i=j;e=j+20|0;c[k>>2]=b;c[g>>2]=d;c[i>>2]=0;c[h>>2]=c[k>>2];a:while(1){if(c[i>>2]|0){b=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{b=4;break a}case 96:case 34:case 39:{c[i>>2]=c[h>>2];while(1){k=(c[i>>2]|0)+1|0;c[i>>2]=k;if(!(a[k>>0]|0))continue a;if((a[c[i>>2]>>0]|0)!=(a[e>>0]|0))continue;k=(c[i>>2]|0)+1|0;c[i>>2]=k;if((a[k>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[i>>2]=(c[h>>2]|0)+1;while(1){if(a[c[i>>2]>>0]|0)d=(a[c[i>>2]>>0]|0)!=93;else d=0;b=c[i>>2]|0;if(!d)break;c[i>>2]=b+1}if(!(a[b>>0]|0))continue a;c[i>>2]=(c[i>>2]|0)+1;continue a}default:{k=(NP(a[c[h>>2]>>0]|0)|0)!=0;b=(c[h>>2]|0)+1|0;if(!k){c[h>>2]=b;continue a}c[i>>2]=b;while(1){if(!(NP(a[c[i>>2]>>0]|0)|0))continue a;c[i>>2]=(c[i>>2]|0)+1}}}}if((b|0)==4){c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}else if((b|0)==21){c[c[g>>2]>>2]=(c[i>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];k=c[f>>2]|0;l=j;return k|0}return 0}function TP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+96|0;s=t+56|0;n=t+48|0;m=t+40|0;p=t+32|0;o=t+24|0;k=t+8|0;j=t;q=t+92|0;e=t+88|0;f=t+84|0;r=t+80|0;g=t+76|0;h=t+72|0;i=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[r>>2]=0;c[g>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){ZP(c[f>>2]|0,r,26001,p);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[m>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[i>>2]<<2)>>2];ZP(p,r,46841,m);c[i>>2]=(c[i>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[n>>2]=c[(c[q>>2]|0)+44>>2];ZP(p,r,46827,n)}}else{if(c[e>>2]|0){p=YP(c[e>>2]|0)|0;c[h>>2]=p;c[g>>2]=p}else c[h>>2]=55752;ZP(c[f>>2]|0,r,46806,j);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;m=c[i>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[i>>2]<<2)>>2]|0;c[k>>2]=c[h>>2];c[k+4>>2]=m;c[k+8>>2]=n;ZP(p,r,46812,k);c[i>>2]=(c[i>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[o>>2]=46834;ZP(p,r,46827,o)}_d(c[g>>2]|0)}a=c[f>>2]|0;b=c[(c[q>>2]|0)+16>>2]|0;d=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){o=c[d+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?55752:46850;c[s>>2]=b;q=s+4|0;c[q>>2]=o;q=s+8|0;c[q>>2]=p;ZP(a,r,46859,s);s=c[r>>2]|0;l=t;return s|0}else{o=c[d+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?55752:46850;c[s>>2]=b;q=s+4|0;c[q>>2]=o;q=s+8|0;c[q>>2]=p;ZP(a,r,46859,s);s=c[r>>2]|0;l=t;return s|0}return 0}function UP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o+16|0;m=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[i>>2]=0;if(c[f>>2]|0){f=YP(c[f>>2]|0)|0;c[j>>2]=f;c[i>>2]=f}else c[j>>2]=55752;ZP(c[g>>2]|0,h,27259,o);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;f=c[g>>2]|0;c[m>>2]=c[j>>2];ZP(f,h,46795,m);c[k>>2]=(c[k>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){n=c[i>>2]|0;_d(n);n=c[h>>2]|0;l=o;return n|0}ZP(c[g>>2]|0,h,46802,n);n=c[i>>2]|0;_d(n);n=c[h>>2]|0;l=o;return n|0}function VP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+112|0;p=r+64|0;n=r+56|0;m=r+48|0;k=r+32|0;q=r+24|0;o=r+8|0;d=r+96|0;e=r+92|0;f=r+88|0;g=r+84|0;h=r+80|0;i=r+76|0;j=r+72|0;c[d>>2]=b;c[e>>2]=0;c[g>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[h>>2]=c[(c[d>>2]|0)+44>>2];c[i>>2]=nf(46420,r)|0;c[f>>2]=0;while(1){if(!(c[i>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[j>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[j>>2]|0;c[o>>2]=c[i>>2];c[o+4>>2]=s;c[o+8>>2]=b;c[i>>2]=nf(46446,o)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[h>>2]|0)!=0&(c[i>>2]|0)!=0){s=c[h>>2]|0;c[q>>2]=c[i>>2];c[q+4>>2]=s;c[i>>2]=nf(46458,q)|0}if(!(c[i>>2]|0))c[e>>2]=7;s=c[g>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[i>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=o;c[k+8>>2]=q;qL(e,s,46469,k);_d(c[i>>2]|0)}s=c[g>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;qL(e,s,46502,m);s=c[g>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[n>>2]=c[(c[d>>2]|0)+16>>2];c[n+4>>2]=q;qL(e,s,46574,n);if(a[(c[d>>2]|0)+230>>0]|0){s=c[g>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[p>>2]=c[(c[d>>2]|0)+16>>2];c[p+4>>2]=q;qL(e,s,46727,p)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[e>>2]|0;l=r;return s|0}cP(e,c[d>>2]|0);s=c[e>>2]|0;l=r;return s|0}function WP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){l=j;return}c[i>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=nf(46400,i)|0;do if(c[g>>2]|0){c[f>>2]=Mv(c[(c[e>>2]|0)+12>>2]|0,c[g>>2]|0,-1,h,0)|0;if(!(c[f>>2]|0)){Bs(c[h>>2]|0)|0;i=iJ(c[h>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=i;c[f>>2]=Fr(c[h>>2]|0)|0;break}if((c[f>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[f>>2]=0}}else c[f>>2]=7;while(0);_d(c[g>>2]|0);c[c[d>>2]>>2]=c[f>>2];l=j;return}function XP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+64|0;o=p+24|0;n=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;i=p+48|0;j=p+44|0;k=p+40|0;m=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){l=p;return}if(c[(c[g>>2]|0)+44>>2]|0)a=c[(c[g>>2]|0)+44>>2]|0;else a=46325;c[m>>2]=a;b=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;OJ(b,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[k>>2]=nf(46334,e)|0;c[h>>2]=1;while(1){if(c[k>>2]|0)d=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else d=0;a=c[k>>2]|0;b=c[g>>2]|0;if(!d)break;e=c[(c[b+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[n>>2]=a;c[n+4>>2]=e;c[k>>2]=nf(46339,n)|0;c[h>>2]=(c[h>>2]|0)+1}h=c[b+20>>2]|0;n=c[m>>2]|0;c[o>>2]=a;c[o+4>>2]=h;c[o+8>>2]=n;c[j>>2]=nf(46346,o)|0;if((c[k>>2]|0)!=0&(c[j>>2]|0)!=0)c[i>>2]=MJ(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0)|0;else c[i>>2]=7;_d(c[j>>2]|0);_d(c[k>>2]|0);c[c[f>>2]>>2]=c[i>>2];l=p;return}function YP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[i>>2]=2+((g$(c[d>>2]|0)|0)<<1)+1;c[e>>2]=pe(c[i>>2]|0)|0;if(!(c[e>>2]|0)){i=c[e>>2]|0;l=h;return i|0}c[g>>2]=c[e>>2];i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=34;c[f>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[f>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[f>>2]|0)>>0]|0)==34){i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=34}b=a[(c[d>>2]|0)+(c[f>>2]|0)>>0]|0;i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=b;c[f>>2]=(c[f>>2]|0)+1}i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=34;i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=0;i=c[e>>2]|0;l=h;return i|0}function ZP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n;f=n+40|0;g=n+36|0;h=n+32|0;i=n+16|0;j=n+12|0;k=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){l=n;return}c[i>>2]=e;c[j>>2]=vf(c[h>>2]|0,i)|0;if(c[j>>2]|0?c[c[g>>2]>>2]|0:0){e=c[j>>2]|0;c[m>>2]=c[c[g>>2]>>2];c[m+4>>2]=e;c[k>>2]=nf(23403,m)|0;_d(c[j>>2]|0);c[j>>2]=c[k>>2]}if(!(c[j>>2]|0))c[c[f>>2]>>2]=7;_d(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[j>>2];l=n;return}function _P(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+4|0;i=k;c[f>>2]=b;c[g>>2]=d;c[k+8>>2]=1e7;c[i>>2]=0;c[h>>2]=c[c[f>>2]>>2];while(1){if((a[c[h>>2]>>0]|0)<48)break;if((a[c[h>>2]>>0]|0)>57)break;c[i>>2]=((c[i>>2]|0)*10|0)+((a[c[h>>2]>>0]|0)-48);if((c[i>>2]|0)>1e7){j=5;break}c[h>>2]=(c[h>>2]|0)+1}if((j|0)==5)c[i>>2]=0;if((c[h>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}else{c[c[g>>2]>>2]=c[i>>2];c[c[f>>2]>>2]=c[h>>2];c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}return 0}function $P(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;o=p;h=p+40|0;q=p+36|0;i=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;e=p+12|0;f=p+8|0;g=p+4|0;c[h>>2]=a;c[q>>2]=b;c[i>>2]=d;c[k>>2]=0;c[j>>2]=Qh(c[h>>2]|0)|0;c[m>>2]=Rh(c[c[i>>2]>>2]|0)|0;c[n>>2]=(Sh(c[c[i>>2]>>2]|0)|0)+1;do if((c[q>>2]|0)==2){if(!(aQ(c[h>>2]|0)|0)){Th(c[h>>2]|0,47100,-1);l=p;return}c[f>>2]=Sh(c[(c[i>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==0|(c[f>>2]|0)!=4){Th(c[h>>2]|0,47077,-1);l=p;return}else{c[k>>2]=c[(Ri(c[(c[i>>2]|0)+4>>2]|0)|0)>>2];c[e>>2]=oK(c[j>>2]|0,c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;if((c[e>>2]|0)!=(c[k>>2]|0))break;Th(c[h>>2]|0,22481,-1);break}}else{if(c[m>>2]|0)c[k>>2]=HK(c[j>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[k>>2]|0)){c[o>>2]=c[m>>2];c[g>>2]=nf(42720,o)|0;Th(c[h>>2]|0,c[g>>2]|0,-1);_d(c[g>>2]|0);l=p;return}}while(0);mj(c[h>>2]|0,k,4,-1);l=p;return}function aQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+32|0;e=d;g=d+16|0;f=d+12|0;b=d+8|0;c[g>>2]=a;c[f>>2]=Ph(c[g>>2]|0)|0;c[b>>2]=0;a=c[f>>2]|0;c[e>>2]=-1;c[e+4>>2]=b;QJ(a,1004,e)|0;l=d;return c[b>>2]|0}function bQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[(c[g>>2]|0)+4>>2]|0)b=c[(c[g>>2]|0)+4>>2]|0;else b=(c[f>>2]|0)+8|0;c[b>>2]=c[c[g>>2]>>2];if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[i>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[i>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[i>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[i>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[i>>2]>>2]|0)<=0)c[(c[i>>2]|0)+4>>2]=0;if(a[(c[f>>2]|0)+1>>0]|0?c[(c[g>>2]|0)+12>>2]|0:0)tK(c[(c[g>>2]|0)+12>>2]|0);tK(c[g>>2]|0);i=(c[f>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){l=j;return}sK(c[f>>2]|0);l=j;return}function cQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[f>>2]=b;c[g>>2]=d;c[h>>2]=dQ(c[g>>2]<<3)|0;if(!(c[h>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;l=n;return m|0}tK(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[k>>2]=KK(a[c[f>>2]>>0]|0)|0;c[i>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[i>>2]|0))break;d=Mb[c[k>>2]&255](c[(c[i>>2]|0)+12>>2]|0,c[(c[i>>2]|0)+16>>2]|0)|0;c[m>>2]=d&(c[g>>2]|0)-1;c[j>>2]=c[c[i>>2]>>2];eQ(c[f>>2]|0,(c[h>>2]|0)+(c[m>>2]<<3)|0,c[i>>2]|0);c[i>>2]=c[j>>2]}c[e>>2]=0;m=c[e>>2]|0;l=n;return m|0}function dQ(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=pe(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;l=e;return d|0}m0(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;l=e;return d|0}function eQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;l=i;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];if(c[(c[h>>2]|0)+4>>2]|0)a=c[(c[h>>2]|0)+4>>2]|0;else a=(c[e>>2]|0)+8|0;c[a>>2]=c[g>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;l=i;return}function fQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=pe(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;l=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}return 0}function gQ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return 0}function hQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;f=k+12|0;g=k+8|0;i=k+4|0;j=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=e;c[j>>2]=pe(28)|0;if(!(c[j>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}c[(c[j>>2]|0)+4>>2]=c[f>>2];do if(c[f>>2]|0)if((c[g>>2]|0)<0){a=g$(c[f>>2]|0)|0;b=c[j>>2]|0;break}else{a=c[g>>2]|0;b=c[j>>2]|0;break}else{a=0;b=c[j>>2]|0}while(0);c[b+8>>2]=a;c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+20>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[c[i>>2]>>2]=c[j>>2];c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function iQ(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];_d(c[(c[d>>2]|0)+20>>2]|0);_d(c[d>>2]|0);l=b;return 0}function jQ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+64|0;s=w+48|0;x=w+44|0;t=w+40|0;u=w+36|0;i=w+32|0;j=w+28|0;k=w+24|0;m=w+20|0;n=w+16|0;o=w+12|0;p=w+8|0;q=w+4|0;r=w;c[x>>2]=b;c[t>>2]=d;c[u>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=c[x>>2];c[n>>2]=c[(c[m>>2]|0)+4>>2];do{if((c[(c[m>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[m>>2]|0)+12>>2]|0)<(c[(c[m>>2]|0)+8>>2]|0)?(x=a[(c[n>>2]|0)+(c[(c[m>>2]|0)+12>>2]|0)>>0]|0,c[p>>2]=x,(x&128|0)==0):0)if((c[p>>2]|0)<48)b=1;else b=(a[47122+((c[p>>2]|0)-48)>>0]|0)!=0^1;else b=0;d=(c[m>>2]|0)+12|0;e=c[d>>2]|0;if(!b)break;c[d>>2]=e+1}c[o>>2]=e;while(1){if((c[(c[m>>2]|0)+12>>2]|0)<(c[(c[m>>2]|0)+8>>2]|0)){x=a[(c[n>>2]|0)+(c[(c[m>>2]|0)+12>>2]|0)>>0]|0;c[p>>2]=x;if(!(x&128))if((c[p>>2]|0)<48)b=1;else b=(a[47122+((c[p>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;d=(c[m>>2]|0)+12|0;e=c[d>>2]|0;if(!b)break;c[d>>2]=e+1}}while((e|0)<=(c[o>>2]|0));if((v|0)==23){c[s>>2]=101;x=c[s>>2]|0;l=w;return x|0}c[q>>2]=(c[(c[m>>2]|0)+12>>2]|0)-(c[o>>2]|0);do if((c[q>>2]|0)>(c[(c[m>>2]|0)+24>>2]|0)){c[(c[m>>2]|0)+24>>2]=(c[q>>2]|0)+20;c[r>>2]=Xf(c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;if(c[r>>2]|0){c[(c[m>>2]|0)+20>>2]=c[r>>2];break}c[s>>2]=7;x=c[s>>2]|0;l=w;return x|0}while(0);kQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[u>>2]|0);c[c[t>>2]>>2]=c[(c[m>>2]|0)+20>>2];c[c[i>>2]>>2]=c[o>>2];c[c[j>>2]>>2]=c[(c[m>>2]|0)+12>>2];v=(c[m>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[k>>2]>>2]=x;c[s>>2]=0;x=c[s>>2]|0;l=w;return x|0}function kQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;j=s+28|0;k=s+24|0;q=s+20|0;o=s+16|0;r=s+12|0;m=s+8|0;g=s+36|0;p=s+4|0;h=s;i=s+32|0;c[j>>2]=b;c[k>>2]=d;c[q>>2]=e;c[o>>2]=f;if((c[k>>2]|0)<3|(c[k>>2]|0)>=21){lQ(c[j>>2]|0,c[k>>2]|0,c[q>>2]|0,c[o>>2]|0);l=s;return}c[r>>2]=0;c[m>>2]=22;while(1){if((c[r>>2]|0)>=(c[k>>2]|0))break;a[i>>0]=a[(c[j>>2]|0)+(c[r>>2]|0)>>0]|0;if((a[i>>0]|0)>=65?(a[i>>0]|0)<=90:0){b=(a[i>>0]|0)+97-65&255;d=c[m>>2]|0}else{if((a[i>>0]|0)<97){n=11;break}if((a[i>>0]|0)>122){n=11;break}b=a[i>>0]|0;d=c[m>>2]|0}a[g+d>>0]=b;c[r>>2]=(c[r>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}if((n|0)==11){lQ(c[j>>2]|0,c[k>>2]|0,c[q>>2]|0,c[o>>2]|0);l=s;return}n=g+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[p>>2]=g+((c[m>>2]|0)+1);if((((a[c[p>>2]>>0]|0)==115?(mQ(p,47202,47207,0)|0)==0:0)?(mQ(p,47210,47214,0)|0)==0:0)?(mQ(p,47207,47207,0)|0)==0:0)c[p>>2]=(c[p>>2]|0)+1;c[h>>2]=c[p>>2];do if(!(mQ(p,47216,47220,197)|0)){if((mQ(p,47223,55752,198)|0)==0?(mQ(p,47227,55752,198)|0)==0:0)break;if((((c[p>>2]|0)!=(c[h>>2]|0)?(mQ(p,47230,47233,0)|0)==0:0)?(mQ(p,47237,47240,0)|0)==0:0)?(mQ(p,47244,47247,0)|0)==0:0){if(((pQ(c[p>>2]|0)|0?(a[c[p>>2]>>0]|0)!=108:0)?(a[c[p>>2]>>0]|0)!=115:0)?(a[c[p>>2]>>0]|0)!=122:0){c[p>>2]=(c[p>>2]|0)+1;break}if(qQ(c[p>>2]|0)|0?rQ(c[p>>2]|0)|0:0){n=(c[p>>2]|0)+-1|0;c[p>>2]=n;a[n>>0]=101}}}while(0);if((a[c[p>>2]>>0]|0)==121?oQ((c[p>>2]|0)+1|0)|0:0)a[c[p>>2]>>0]=105;switch(a[(c[p>>2]|0)+1>>0]|0){case 97:{if(!(mQ(p,47251,47233,197)|0))mQ(p,47259,47266,197)|0;break}case 99:{if(!(mQ(p,47271,47276,197)|0))mQ(p,47281,47286,197)|0;break}case 101:{mQ(p,47291,47247,197)|0;break}case 103:{mQ(p,47296,32259,197)|0;break}case 108:{if((((mQ(p,47301,47240,197)|0)==0?(mQ(p,47305,47310,197)|0)==0:0)?(mQ(p,47313,47319,197)|0)==0:0)?(mQ(p,47323,47327,197)|0)==0:0)mQ(p,47329,47335,197)|0;break}case 111:{if((mQ(p,47339,47247,197)|0)==0?(mQ(p,47347,47233,197)|0)==0:0)mQ(p,47353,47233,197)|0;break}case 115:{if(((mQ(p,47358,47310,197)|0)==0?(mQ(p,47364,47372,197)|0)==0:0)?(mQ(p,47376,47384,197)|0)==0:0)mQ(p,47388,47335,197)|0;break}case 116:{if((mQ(p,47396,47310,197)|0)==0?(mQ(p,47402,47372,197)|0)==0:0)mQ(p,47408,47240,197)|0;break}default:{}}switch(a[c[p>>2]>>0]|0){case 101:{if((mQ(p,47415,47421,197)|0)==0?(mQ(p,47424,55752,197)|0)==0:0)mQ(p,47430,47310,197)|0;break}case 105:{mQ(p,47436,47421,197)|0;break}case 108:{if(!(mQ(p,47442,47421,197)|0))mQ(p,47447,55752,197)|0;break}case 115:{mQ(p,47451,55752,197)|0;break}default:{}}a:do switch(a[(c[p>>2]|0)+1>>0]|0){case 97:{if((a[c[p>>2]>>0]|0)==108?sQ((c[p>>2]|0)+2|0)|0:0)c[p>>2]=(c[p>>2]|0)+2;break}case 99:{if((a[c[p>>2]>>0]|0)==101?(a[(c[p>>2]|0)+2>>0]|0)==110:0){if((a[(c[p>>2]|0)+3>>0]|0)!=97?(a[(c[p>>2]|0)+3>>0]|0)!=101:0)break a;if(sQ((c[p>>2]|0)+4|0)|0)c[p>>2]=(c[p>>2]|0)+4}break}case 101:{if((a[c[p>>2]>>0]|0)==114?sQ((c[p>>2]|0)+2|0)|0:0)c[p>>2]=(c[p>>2]|0)+2;break}case 105:{if((a[c[p>>2]>>0]|0)==99?sQ((c[p>>2]|0)+2|0)|0:0)c[p>>2]=(c[p>>2]|0)+2;break}case 108:{if((a[c[p>>2]>>0]|0)==101?(a[(c[p>>2]|0)+2>>0]|0)==98:0){if((a[(c[p>>2]|0)+3>>0]|0)!=97?(a[(c[p>>2]|0)+3>>0]|0)!=105:0)break a;if(sQ((c[p>>2]|0)+4|0)|0)c[p>>2]=(c[p>>2]|0)+4}break}case 110:{if((a[c[p>>2]>>0]|0)==116){b=c[p>>2]|0;if((a[(c[p>>2]|0)+2>>0]|0)==97){if(!(sQ(b+3|0)|0))break a;c[p>>2]=(c[p>>2]|0)+3;break a}if(((a[b+2>>0]|0)==101?(mQ(p,47456,55752,199)|0)==0:0)?(mQ(p,47462,55752,199)|0)==0:0)mQ(p,47467,55752,199)|0}break}case 111:{b=c[p>>2]|0;if((a[c[p>>2]>>0]|0)==117){if(!(sQ(b+2|0)|0))break a;c[p>>2]=(c[p>>2]|0)+2;break a}if((a[b+3>>0]|0)!=115?(a[(c[p>>2]|0)+3>>0]|0)!=116:0)break a;mQ(p,47471,55752,199)|0;break}case 115:{if(((a[c[p>>2]>>0]|0)==109?(a[(c[p>>2]|0)+2>>0]|0)==105:0)?sQ((c[p>>2]|0)+3|0)|0:0)c[p>>2]=(c[p>>2]|0)+3;break}case 116:{if(!(mQ(p,47475,55752,199)|0))mQ(p,47479,55752,199)|0;break}case 117:{if(((a[c[p>>2]>>0]|0)==115?(a[(c[p>>2]|0)+2>>0]|0)==111:0)?sQ((c[p>>2]|0)+3|0)|0:0)c[p>>2]=(c[p>>2]|0)+3;break}case 122:case 118:{if(((a[c[p>>2]>>0]|0)==101?(a[(c[p>>2]|0)+2>>0]|0)==105:0)?sQ((c[p>>2]|0)+3|0)|0:0)c[p>>2]=(c[p>>2]|0)+3;break}default:{}}while(0);do if((a[c[p>>2]>>0]|0)==101){n=(sQ((c[p>>2]|0)+1|0)|0)!=0;b=(c[p>>2]|0)+1|0;if(n){c[p>>2]=b;break}if(qQ(b)|0?(rQ((c[p>>2]|0)+1|0)|0)==0:0)c[p>>2]=(c[p>>2]|0)+1}while(0);if((sQ(c[p>>2]|0)|0?(a[c[p>>2]>>0]|0)==108:0)?(a[(c[p>>2]|0)+1>>0]|0)==108:0)c[p>>2]=(c[p>>2]|0)+1;b=g$(c[p>>2]|0)|0;c[r>>2]=b;c[c[o>>2]>>2]=b;b=0;d=(c[q>>2]|0)+(c[r>>2]|0)|0;while(1){a[d>>0]=b;if(!(a[c[p>>2]>>0]|0))break;b=c[p>>2]|0;c[p>>2]=b+1;b=a[b>>0]|0;o=c[q>>2]|0;d=(c[r>>2]|0)+-1|0;c[r>>2]=d;d=o+d|0}l=s;return}function lQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;g=q+4|0;h=q;i=q+32|0;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[h>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;a[i>>0]=a[(c[j>>2]|0)+(c[o>>2]|0)>>0]|0;if((a[i>>0]|0)>=65?(a[i>>0]|0)<=90:0){b=(a[i>>0]|0)-65+97&255;d=(c[m>>2]|0)+(c[o>>2]|0)|0}else{if((a[i>>0]|0)>=48?(a[i>>0]|0)<=57:0)c[h>>2]=1;b=a[i>>0]|0;d=(c[m>>2]|0)+(c[o>>2]|0)|0}a[d>>0]=b;c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=c[h>>2]|0?3:10;if((c[k>>2]|0)<=(c[p>>2]<<1|0)){m=c[m>>2]|0;p=c[o>>2]|0;p=m+p|0;a[p>>0]=0;o=c[o>>2]|0;p=c[n>>2]|0;c[p>>2]=o;l=q;return}c[g>>2]=c[p>>2];c[o>>2]=(c[k>>2]|0)-(c[p>>2]|0);while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;a[(c[m>>2]|0)+(c[g>>2]|0)>>0]=a[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}c[o>>2]=c[g>>2];m=c[m>>2]|0;p=c[o>>2]|0;p=m+p|0;a[p>>0]=0;o=c[o>>2]|0;p=c[n>>2]|0;c[p>>2]=o;l=q;return}function mQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[i>>2]>>0]|0))break;if((a[c[i>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1}if(a[c[i>>2]>>0]|0){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}if(c[k>>2]|0?(Hb[c[k>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;m=c[g>>2]|0;l=n;return m|0}while(1){if(!(a[c[j>>2]>>0]|0))break;i=c[j>>2]|0;c[j>>2]=i+1;i=a[i>>0]|0;k=(c[m>>2]|0)+-1|0;c[m>>2]=k;a[k>>0]=i}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;m=c[g>>2]|0;l=n;return m|0}function nQ(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(tQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(uQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;l=f;return g|0}function oQ(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=b;while(1){f=(uQ(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}l=e;return (a[b>>0]|0)!=0|0}function pQ(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(uQ(c[d>>2]|0)|0)){d=0;d=d&1;l=e;return d|0}d=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);d=d&1;l=e;return d|0}function qQ(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(tQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(uQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(tQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;l=f;return g|0}while(1){g=(uQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;l=f;return g|0}function rQ(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if((((uQ(c[d>>2]|0)|0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?tQ((c[d>>2]|0)+1|0)|0:0)b=(uQ((c[d>>2]|0)+2|0)|0)!=0;else b=0;l=e;return b&1|0}function sQ(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(tQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(uQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(tQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(uQ(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;l=f;return g|0}function tQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}c[f>>2]=a[47483+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);g=c[d>>2]|0;l=h;return g|0}else{c[d>>2]=uQ((c[e>>2]|0)+1|0)|0;g=c[d>>2]|0;l=h;return g|0}return 0}function uQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}c[e>>2]=a[47483+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;l=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))b=1;else b=(tQ((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=b&1;g=c[g>>2]|0;l=h;return g|0}function vQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+28|0;h=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;i=q+32|0;g=q;c[h>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=pe(132)|0;if(!(c[n>>2]|0)){c[j>>2]=7;p=c[j>>2]|0;l=q;return p|0}m0(c[n>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[p>>2]=g$(c[(c[k>>2]|0)+4>>2]|0)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break a;a[i>>0]=a[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]|0)>>0]|0;b=c[n>>2]|0;if((d[i>>0]|0|0)>=128)break;a[b+4+(d[i>>0]|0)>>0]=1;c[o>>2]=(c[o>>2]|0)+1}_d(b);c[j>>2]=1;p=c[j>>2]|0;l=q;return p|0}else{c[g>>2]=1;while(1){if((c[g>>2]|0)>=128)break a;p=(BQ(c[g>>2]|0)|0)!=0^1;a[(c[n>>2]|0)+4+(c[g>>2]|0)>>0]=p?-1:0;c[g>>2]=(c[g>>2]|0)+1}}while(0);c[c[m>>2]>>2]=c[n>>2];c[j>>2]=0;p=c[j>>2]|0;l=q;return p|0}function wQ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return 0}function xQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;f=k+12|0;g=k+8|0;i=k+4|0;j=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=e;c[j>>2]=pe(28)|0;if(!(c[j>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}c[(c[j>>2]|0)+4>>2]=c[f>>2];do if(c[f>>2]|0)if((c[g>>2]|0)<0){a=g$(c[f>>2]|0)|0;b=c[j>>2]|0;break}else{a=c[g>>2]|0;b=c[j>>2]|0;break}else{a=0;b=c[j>>2]|0}while(0);c[b+8>>2]=a;c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+20>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[c[i>>2]>>2]=c[j>>2];c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function yQ(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];_d(c[(c[d>>2]|0)+20>>2]|0);_d(c[d>>2]|0);l=b;return 0}function zQ(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+64|0;w=z+52|0;A=z+48|0;x=z+44|0;y=z+40|0;n=z+36|0;o=z+32|0;p=z+28|0;q=z+24|0;j=z+20|0;r=z+16|0;s=z+12|0;t=z+8|0;u=z+4|0;k=z;v=z+56|0;c[A>>2]=b;c[x>>2]=e;c[y>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=c[A>>2];c[j>>2]=c[c[A>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];do{if((c[(c[q>>2]|0)+12>>2]|0)>=(c[(c[q>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[q>>2]|0)+12>>2]|0)<(c[(c[q>>2]|0)+8>>2]|0))b=(AQ(c[j>>2]|0,a[(c[r>>2]|0)+(c[(c[q>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;e=(c[q>>2]|0)+12|0;f=c[e>>2]|0;if(!b)break;c[e>>2]=f+1}c[s>>2]=f;while(1){if((c[(c[q>>2]|0)+12>>2]|0)<(c[(c[q>>2]|0)+8>>2]|0))b=(AQ(c[j>>2]|0,a[(c[r>>2]|0)+(c[(c[q>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;e=(c[q>>2]|0)+12|0;f=c[e>>2]|0;if(!b)break;c[e>>2]=f+1}}while((f|0)<=(c[s>>2]|0));if((m|0)==25){c[w>>2]=101;A=c[w>>2]|0;l=z;return A|0}c[u>>2]=(c[(c[q>>2]|0)+12>>2]|0)-(c[s>>2]|0);do if((c[u>>2]|0)>(c[(c[q>>2]|0)+24>>2]|0)){c[(c[q>>2]|0)+24>>2]=(c[u>>2]|0)+20;c[k>>2]=Xf(c[(c[q>>2]|0)+20>>2]|0,c[(c[q>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[q>>2]|0)+20>>2]=c[k>>2];break}c[w>>2]=7;A=c[w>>2]|0;l=z;return A|0}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break;a[v>>0]=a[(c[r>>2]|0)+((c[s>>2]|0)+(c[t>>2]|0))>>0]|0;if((d[v>>0]|0|0)>=65?(d[v>>0]|0|0)<=90:0)b=(d[v>>0]|0)-65+97|0;else b=d[v>>0]|0;a[(c[(c[q>>2]|0)+20>>2]|0)+(c[t>>2]|0)>>0]=b;c[t>>2]=(c[t>>2]|0)+1}c[c[x>>2]>>2]=c[(c[q>>2]|0)+20>>2];c[c[y>>2]>>2]=c[u>>2];c[c[n>>2]>>2]=c[s>>2];c[c[o>>2]>>2]=c[(c[q>>2]|0)+12>>2];y=(c[q>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[p>>2]>>2]=A;c[w>>2]=0;A=c[w>>2]|0;l=z;return A|0}function AQ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){g=0;g=g&1;l=h;return g|0}g=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;g=g&1;l=h;return g|0}function BQ(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)a=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else a=1;l=d;return a&1|0}function CQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;v=w;s=w+56|0;t=w+52|0;u=w+44|0;h=w+40|0;i=w+36|0;j=w+32|0;k=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;c[t>>2]=a;c[w+48>>2]=b;c[u>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;do if(!((c[u>>2]|0)!=4&(c[u>>2]|0)!=5)){c[k>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=g$(c[k>>2]|0)|0;if((c[u>>2]|0)==5){if((c[n>>2]|0)!=4)break;if(ld(42437,c[k>>2]|0,4)|0)break;c[k>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=g$(c[k>>2]|0)|0;c[m>>2]=c[(c[h>>2]|0)+16>>2]}else c[m>>2]=c[(c[h>>2]|0)+12>>2];c[o>>2]=g$(c[m>>2]|0)|0;c[q>>2]=MJ(c[t>>2]|0,47517)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];v=c[s>>2]|0;l=w;return v|0}c[p>>2]=296+(c[n>>2]|0)+(c[o>>2]|0)+2;c[r>>2]=pe(c[p>>2]|0)|0;if(c[r>>2]|0){m0(c[r>>2]|0,0,c[p>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[n>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[t>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;h0(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;h0(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;RK(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[i>>2]>>2]=c[r>>2];c[s>>2]=0;v=c[s>>2]|0;l=w;return v|0}else{c[s>>2]=7;v=c[s>>2]|0;l=w;return v|0}}while(0);IK(c[j>>2]|0,47586,v);c[s>>2]=1;v=c[s>>2]|0;l=w;return v|0}function DQ(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+32|0;i=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;f=q+4|0;g=q;c[q+36>>2]=b;c[j>>2]=e;c[k>>2]=-1;c[m>>2]=-1;c[n>>2]=-1;c[o>>2]=-1;c[p>>2]=1;if(((c[(c[j>>2]|0)+8>>2]|0)==1?(c[c[(c[j>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[j>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[j>>2]|0)+32>>2]=1;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[j>>2]>>2]|0))break;if(a[(c[(c[j>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)+5>>0]|0){c[f>>2]=d[(c[(c[j>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[f>>2]|0)==2)c[k>>2]=c[i>>2];if((c[f>>2]|0)==16)c[n>>2]=c[i>>2];if((c[f>>2]|0)==8)c[n>>2]=c[i>>2];if((c[f>>2]|0)==4)c[m>>2]=c[i>>2];if((c[f>>2]|0)==32)c[m>>2]=c[i>>2]}if((c[g>>2]|0)==4&(c[f>>2]|0)==2)c[o>>2]=c[i>>2]}c[i>>2]=(c[i>>2]|0)+1}b=(c[j>>2]|0)+20|0;if((c[k>>2]|0)<0){c[b>>2]=0;h[(c[j>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){k=(c[j>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+2;k=c[p>>2]|0;c[p>>2]=k+1;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=k;m=(c[j>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[n>>2]|0)>=0){m=(c[j>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=m;n=(c[j>>2]|0)+40|0;h[n>>3]=+h[n>>3]/2.0}}else{c[b>>2]=1;n=c[p>>2]|0;c[p>>2]=n+1;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=n;h[(c[j>>2]|0)+40>>3]=5.0}if((c[o>>2]|0)<0){l=q;return 0}n=c[p>>2]|0;c[p>>2]=n+1;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=n;p=(c[j>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;l=q;return 0}function EQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];c[d>>2]=c[(c[b>>2]|0)+12>>2];c[e>>2]=0;while(1){a=c[d>>2]|0;if((c[e>>2]|0)>=40)break;Fr(c[a+56+(c[e>>2]<<2)>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}_d(c[a+240>>2]|0);_d(c[b>>2]|0);l=f;return 0}function FQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=pe(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;l=g;return f|0}return 0}function GQ(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];BM(c[e>>2]|0);EL((c[d>>2]|0)+4|0);_d(c[(c[d>>2]|0)+60>>2]|0);_d(c[(c[d>>2]|0)+76>>2]|0);_d(c[(c[d>>2]|0)+112>>2]|0);_d(c[d>>2]|0);l=b;return 0}function HQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+80|0;y=z+8|0;x=z;t=z+76|0;u=z+72|0;v=z+68|0;w=z+60|0;g=z+56|0;h=z+52|0;i=z+48|0;j=z+44|0;k=z+40|0;m=z+36|0;n=z+32|0;o=z+28|0;p=z+24|0;q=z+20|0;r=z+16|0;s=z+12|0;c[u>>2]=a;c[v>>2]=b;c[z+64>>2]=d;c[w>>2]=e;c[g>>2]=f;c[h>>2]=c[u>>2];c[i>>2]=c[(c[c[u>>2]>>2]|0)+12>>2];c[k>>2]=0;c[m>>2]=0;c[n>>2]=-1;c[o>>2]=-1;c[p>>2]=-1;c[q>>2]=-1;c[r>>2]=0;if((c[v>>2]|0)!=1){c[k>>2]=1;if(c[v>>2]&2|0){f=c[r>>2]|0;c[r>>2]=f+1;c[o>>2]=f}if(c[v>>2]&4|0){v=c[r>>2]|0;c[r>>2]=v+1;c[p>>2]=v}}else{v=c[r>>2]|0;c[r>>2]=v+1;c[n>>2]=v}if((c[r>>2]|0)<(c[w>>2]|0)){w=c[r>>2]|0;c[r>>2]=w+1;c[q>>2]=w}EL((c[h>>2]|0)+4|0);_d(c[(c[h>>2]|0)+60>>2]|0);_d(c[(c[h>>2]|0)+112>>2]|0);m0((c[h>>2]|0)+4|0,0,(c[h>>2]|0)+120-((c[h>>2]|0)+4)|0)|0;c[(c[h>>2]|0)+60+12>>2]=3;if(c[k>>2]|0){w=(c[h>>2]|0)+60+12|0;c[w>>2]=c[w>>2]|16}if(((c[n>>2]|0)>=0|(c[o>>2]|0)>=0?(c[s>>2]=Rh(c[c[g>>2]>>2]|0)|0,c[s>>2]|0):0)?(c[x>>2]=c[s>>2],x=nf(21240,x)|0,c[(c[h>>2]|0)+60>>2]=x,x=Sh(c[c[g>>2]>>2]|0)|0,c[(c[h>>2]|0)+60+4>>2]=x,(c[(c[h>>2]|0)+60>>2]|0)==0):0){c[t>>2]=7;y=c[t>>2]|0;l=z;return y|0}if((c[p>>2]|0)>=0?(c[y>>2]=Rh(c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]|0)|0,y=nf(21240,y)|0,c[(c[h>>2]|0)+76>>2]=y,y=Sh(c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]|0)|0,c[(c[h>>2]|0)+80>>2]=y,(c[(c[h>>2]|0)+76>>2]|0)==0):0){c[t>>2]=7;y=c[t>>2]|0;l=z;return y|0}if((c[q>>2]|0)>=0){y=Qi(c[(c[g>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;c[m>>2]=y;c[m>>2]=(c[m>>2]|0)<0?0:y}c[(c[h>>2]|0)+84>>2]=c[m>>2];c[j>>2]=tL(c[i>>2]|0,c[m>>2]|0,0,-2,c[(c[h>>2]|0)+60>>2]|0,c[(c[h>>2]|0)+60+4>>2]|0,0,c[k>>2]|0,(c[h>>2]|0)+4|0)|0;if(!(c[j>>2]|0))c[j>>2]=xL(c[i>>2]|0,(c[h>>2]|0)+4|0,(c[h>>2]|0)+60|0)|0;if(!(c[j>>2]|0))c[j>>2]=IQ(c[u>>2]|0)|0;c[t>>2]=c[j>>2];y=c[t>>2]|0;l=z;return y|0}function IQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+64|0;d=q+52|0;r=q+48|0;i=q+44|0;b=q+40|0;j=q+36|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;e=q+16|0;f=q+12|0;g=q+8|0;h=q;c[r>>2]=a;c[i>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[i>>2]|0)+96|0;r=a;r=_$(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=D;a=c[i>>2]|0;while(1){r=a+104|0;c[r>>2]=(c[r>>2]|0)+1;if((c[(c[i>>2]|0)+104>>2]|0)>=(c[(c[i>>2]|0)+108>>2]|0))break;r=(c[(c[i>>2]|0)+112>>2]|0)+(c[(c[i>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}a=c[i>>2]|0}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;l=q;return r|0}c[j>>2]=yL(c[b>>2]|0,(c[i>>2]|0)+4|0)|0;do if((c[j>>2]|0)==100){c[k>>2]=0;c[m>>2]=c[(c[i>>2]|0)+4+52>>2];c[n>>2]=c[(c[i>>2]|0)+4+48>>2];c[e>>2]=0;do if(c[(c[i>>2]|0)+76>>2]|0){a=c[i>>2]|0;if((c[(c[i>>2]|0)+80>>2]|0)<(c[(c[i>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[f>>2]=a;c[g>>2]=H_(c[(c[i>>2]|0)+76>>2]|0,c[(c[i>>2]|0)+4+40>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){if(c[g>>2]|0)break;if((c[(c[i>>2]|0)+4+44>>2]|0)<=(c[(c[i>>2]|0)+80>>2]|0))break}c[(c[i>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;l=q;return r|0}while(0);if(MQ(c[i>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;l=q;return r|0}m0(c[(c[i>>2]|0)+112>>2]|0,0,c[(c[i>>2]|0)+108>>2]<<4|0)|0;c[o>>2]=0;a:while(1){if((c[k>>2]|0)>=(c[m>>2]|0)){p=32;break}r=h;c[r>>2]=0;c[r+4>>2]=0;r=bM((c[n>>2]|0)+(c[k>>2]|0)|0,h)|0;c[k>>2]=(c[k>>2]|0)+r;switch(c[e>>2]|0){case 0:{r=c[(c[i>>2]|0)+112>>2]|0;g=r;c[r>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r+4>>2]=D;c[e>>2]=1;c[o>>2]=0;continue a}case 1:{r=h;g=c[r+4>>2]|0;if((g|0)>0|(g|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[i>>2]|0)+112>>2]|0)+16|0;g=r;g=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r>>2]=g;c[r+4>>2]=D}c[e>>2]=2;break}case 2:break;default:{c[o>>2]=c[h>>2];if(MQ(c[i>>2]|0,(c[o>>2]|0)+2|0)|0)break a;r=(c[(c[i>>2]|0)+112>>2]|0)+((c[o>>2]|0)+1<<4)|0;g=r;c[r>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r+4>>2]=D;c[e>>2]=2;continue a}}r=h;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[e>>2]=0;continue}r=h;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[e>>2]=3;continue}else{r=(c[(c[i>>2]|0)+112>>2]|0)+((c[o>>2]|0)+1<<4)+8|0;g=r;g=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r>>2]=g;c[r+4>>2]=D;r=(c[(c[i>>2]|0)+112>>2]|0)+8|0;g=r;g=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r>>2]=g;c[r+4>>2]=D;continue}}if((p|0)==32){c[(c[i>>2]|0)+104>>2]=0;c[j>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;l=q;return r|0}else c[(c[i>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[j>>2];r=c[d>>2]|0;l=q;return r|0}function JQ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return c[(c[b>>2]|0)+88>>2]|0}function KQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+12|0;e=g+8|0;h=g+4|0;f=g;c[i>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[i>>2];switch(c[h>>2]|0){case 0:{xi(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);l=g;return 0}case 1:{a=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){Xh(a,(c[(c[f>>2]|0)+104>>2]|0)-1|0);l=g;return 0}else{xi(a,29578,-1,0);l=g;return 0}}case 2:{i=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;Bi(c[e>>2]|0,c[i>>2]|0,c[i+4>>2]|0);l=g;return 0}case 3:{i=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;Bi(c[e>>2]|0,c[i>>2]|0,c[i+4>>2]|0);l=g;return 0}default:{Xh(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);l=g;return 0}}return 0}function LQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;l=d;return 0}function MQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Xf(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){m0((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;g=c[d>>2]|0;l=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function NQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;e=p+4|0;f=p;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[n>>2]=0;c[k>>2]=pe(16)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;l=p;return o|0}d=c[k>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[k>>2]|0)+4>>2]=1;c[m>>2]=0;while(1){if(c[n>>2]|0)break;if((c[m>>2]|0)>=(c[h>>2]|0))break;c[e>>2]=c[(c[i>>2]|0)+(c[m>>2]<<2)>>2];c[f>>2]=g$(c[e>>2]|0)|0;if((c[f>>2]|0)==19?(H_(47627,c[e>>2]|0,19)|0)==0:0)c[(c[k>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[f>>2]|0)==19?(H_(47647,c[e>>2]|0,19)|0)==0:0){c[(c[k>>2]|0)+4>>2]=0;break}if((c[f>>2]|0)>=11?(H_(47667,c[e>>2]|0,11)|0)==0:0){c[n>>2]=YQ(c[k>>2]|0,1,(c[e>>2]|0)+11|0,(c[f>>2]|0)-11|0)|0;break}if((c[f>>2]|0)>=11?(H_(47679,c[e>>2]|0,11)|0)==0:0){c[n>>2]=YQ(c[k>>2]|0,0,(c[e>>2]|0)+11|0,(c[f>>2]|0)-11|0)|0;break}c[n>>2]=1}while(0);c[m>>2]=(c[m>>2]|0)+1}if(c[n>>2]|0){OQ(c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];c[g>>2]=c[n>>2];o=c[g>>2]|0;l=p;return o|0}function OQ(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return 0}c[d>>2]=c[b>>2];_d(c[(c[d>>2]|0)+12>>2]|0);_d(c[d>>2]|0);l=e;return 0}function PQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;f=k+12|0;g=k+8|0;i=k+4|0;j=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=e;c[j>>2]=pe(28)|0;if(!(c[j>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}e=c[j>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[j>>2]|0)+4>>2]=c[f>>2];do if(c[f>>2]|0)if((c[g>>2]|0)<0){a=g$(c[f>>2]|0)|0;b=c[j>>2]|0;break}else{a=c[g>>2]|0;b=c[j>>2]|0;break}else{a=0;b=c[j>>2]|0}while(0);c[b+8>>2]=a;c[c[i>>2]>>2]=c[j>>2];c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function QQ(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];_d(c[(c[d>>2]|0)+20>>2]|0);_d(c[d>>2]|0);l=b;return 0}function RQ(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+80|0;x=A+64|0;B=A+60|0;y=A+56|0;z=A+52|0;p=A+48|0;q=A+44|0;r=A+40|0;s=A+36|0;j=A+32|0;k=A+28|0;t=A+24|0;u=A+20|0;v=A+16|0;w=A+12|0;m=A+8|0;n=A+4|0;o=A;c[B>>2]=b;c[y>>2]=e;c[z>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=c[B>>2];c[j>>2]=c[c[s>>2]>>2];c[k>>2]=0;c[u>>2]=(c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0);c[v>>2]=c[u>>2];c[m>>2]=(c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+8>>2]|0);while(1){if((c[u>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;B=c[u>>2]|0;c[u>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[22127+((c[k>>2]|0)-192)>>0];while(1){if((c[u>>2]|0)!=(c[m>>2]|0))b=((d[c[u>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[u>>2]|0;c[u>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(SQ(c[j>>2]|0,c[k>>2]|0)|0)break;c[v>>2]=c[u>>2]}if((c[v>>2]|0)>>>0>=(c[m>>2]|0)>>>0){c[x>>2]=101;B=c[x>>2]|0;l=A;return B|0}c[t>>2]=c[(c[s>>2]|0)+20>>2];while(1){if(((c[t>>2]|0)-(c[(c[s>>2]|0)+20>>2]|0)|0)>=((c[(c[s>>2]|0)+24>>2]|0)-4|0)){c[o>>2]=Xf(c[(c[s>>2]|0)+20>>2]|0,(c[(c[s>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[o>>2]|0)){b=20;break}c[t>>2]=(c[o>>2]|0)+((c[t>>2]|0)-(c[(c[s>>2]|0)+20>>2]|0));c[(c[s>>2]|0)+20>>2]=c[o>>2];B=(c[s>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[w>>2]=c[u>>2];c[n>>2]=TQ(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;do if(c[n>>2]|0){b=c[n>>2]|0;if((c[n>>2]|0)<128){B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=b;break}e=c[n>>2]|0;if((b|0)<2048){i=c[t>>2]|0;c[t>>2]=i+1;a[i>>0]=192+(e>>6&31);i=128+(c[n>>2]&63)&255;B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=i;break}b=c[n>>2]|0;if((e|0)<65536){B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[n>>2]>>6&63)&255;i=c[t>>2]|0;c[t>>2]=i+1;a[i>>0]=B;i=128+(c[n>>2]&63)&255;B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=i;break}else{i=c[t>>2]|0;c[t>>2]=i+1;a[i>>0]=240+(b>>18&7);i=128+(c[n>>2]>>12&63)&255;B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=i;B=128+(c[n>>2]>>6&63)&255;i=c[t>>2]|0;c[t>>2]=i+1;a[i>>0]=B;i=128+(c[n>>2]&63)&255;B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=i;break}}while(0);if((c[u>>2]|0)>>>0>=(c[m>>2]|0)>>>0){b=43;break}B=c[u>>2]|0;c[u>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[22127+((c[k>>2]|0)-192)>>0];while(1){if((c[u>>2]|0)!=(c[m>>2]|0))e=((d[c[u>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[u>>2]|0;c[u>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(SQ(c[j>>2]|0,c[k>>2]|0)|0)continue;if(!(UQ(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[x>>2]=7;B=c[x>>2]|0;l=A;return B|0}else if((b|0)==43){c[(c[s>>2]|0)+12>>2]=(c[u>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0);c[c[y>>2]>>2]=c[(c[s>>2]|0)+20>>2];c[c[z>>2]>>2]=(c[t>>2]|0)-(c[(c[s>>2]|0)+20>>2]|0);c[c[p>>2]>>2]=(c[v>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=(c[w>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0);z=(c[s>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[r>>2]>>2]=B;c[x>>2]=0;B=c[x>>2]|0;l=A;return B|0}return 0}function SQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=WQ(c[e>>2]|0)|0;b=b^(XQ(c[f>>2]|0,c[e>>2]|0)|0);l=d;return b|0}function TQ(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;f=p;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[g>>2];a=c[g>>2]|0;if((c[g>>2]|0)<128){if(!((a|0)>=65&(c[g>>2]|0)<=90)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=(c[g>>2]|0)+32;o=c[i>>2]|0;l=p;return o|0}if((a|0)>=65536){if(!((c[g>>2]|0)>=66560&(c[g>>2]|0)<66600)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=(c[g>>2]|0)+40;o=c[i>>2]|0;l=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[m>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[n>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[o>>2]=(c[g>>2]|0)-(e[17070+(c[n>>2]<<2)>>1]|0);a=c[n>>2]|0;if((c[o>>2]|0)>=0){c[m>>2]=a;c[k>>2]=(c[n>>2]|0)+1;continue}else{c[j>>2]=a-1;continue}}if(((c[m>>2]|0)>=0?(c[f>>2]=17070+(c[m>>2]<<2),(c[g>>2]|0)<((e[c[f>>2]>>1]|0)+(d[(c[f>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[f>>2]|0)+2>>0]|0)&((e[c[f>>2]>>1]|0)^c[g>>2])|0):0)c[i>>2]=(c[g>>2]|0)+(e[17722+((d[(c[f>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[h>>2]|0)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=VQ(c[i>>2]|0)|0;o=c[i>>2]|0;l=p;return o|0}function UQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;e=g+8|0;b=g+4|0;d=g;c[e>>2]=a;c[b>>2]=134389727;c[d>>2]=221688;if((c[e>>2]|0)<768|(c[e>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}if((c[e>>2]|0)<800){b=c[b>>2]|0;a=(c[e>>2]|0)-768|0}else{b=c[d>>2]|0;a=(c[e>>2]|0)-768-32|0}c[f>>2]=b&1<>2]|0;l=g;return f|0}function VQ(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+336|0;g=p+20|0;h=p+24|0;i=p+226|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;o=p;c[g>>2]=b;h0(h|0,18682,202)|0;b=i;d=48822;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[j>>2]=c[g>>2]<<3|7;c[k>>2]=0;c[m>>2]=100;c[n>>2]=0;while(1){if((c[m>>2]|0)<(c[n>>2]|0))break;c[o>>2]=((c[m>>2]|0)+(c[n>>2]|0)|0)/2|0;b=c[o>>2]|0;if((c[j>>2]|0)>>>0>=(e[h+(c[o>>2]<<1)>>1]|0)>>>0){c[k>>2]=b;c[n>>2]=(c[o>>2]|0)+1;continue}else{c[m>>2]=b-1;continue}}if((c[g>>2]|0)>((e[h+(c[k>>2]<<1)>>1]>>3)+(e[h+(c[k>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;l=p;return o|0}else{o=a[i+(c[k>>2]|0)>>0]|0;l=p;return o|0}return 0}function WQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[6940+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;i=c[b>>2]|0;l=j;return i|0}if((a|0)>=4194304){c[b>>2]=1;i=c[b>>2]|0;l=j;return i|0}c[e>>2]=c[d>>2]<<10|1023;c[f>>2]=0;c[g>>2]=405;c[h>>2]=0;while(1){if((c[g>>2]|0)<(c[h>>2]|0))break;c[i>>2]=((c[g>>2]|0)+(c[h>>2]|0)|0)/2|0;a=c[i>>2]|0;if((c[e>>2]|0)>>>0>=(c[6956+(c[i>>2]<<2)>>2]|0)>>>0){c[f>>2]=a;c[h>>2]=(c[i>>2]|0)+1;continue}else{c[g>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[6956+(c[f>>2]<<2)>>2]|0)>>>10)+(c[6956+(c[f>>2]<<2)>>2]&1023)|0)>>>0&1;i=c[b>>2]|0;l=j;return i|0}function XQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+24|0;d=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[h>>2]=0;c[i>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[i>>2]|0)<(c[h>>2]|0))break a;c[j>>2]=((c[i>>2]|0)+(c[h>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0))break;a=c[j>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)){c[h>>2]=a+1;continue}else{c[i>>2]=a-1;continue}}c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}while(0);c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function YQ(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;p=t+48|0;q=t+44|0;r=t+40|0;h=t+36|0;u=t+32|0;s=t+28|0;i=t+24|0;j=t+20|0;g=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[q>>2]=a;c[r>>2]=b;c[h>>2]=e;c[u>>2]=f;c[s>>2]=c[h>>2];c[i>>2]=(c[s>>2]|0)+(c[u>>2]|0);c[g>>2]=0;while(1){if((c[s>>2]|0)>>>0>=(c[i>>2]|0)>>>0)break;u=c[s>>2]|0;c[s>>2]=u+1;c[j>>2]=d[u>>0];do if((c[j>>2]|0)>=192){c[j>>2]=d[22127+((c[j>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[i>>2]|0))a=((d[c[s>>2]>>0]|0)&192|0)==128;else a=0;b=c[j>>2]|0;if(!a)break;u=c[s>>2]|0;c[s>>2]=u+1;c[j>>2]=(b<<6)+(63&(d[u>>0]|0))}if(((b|0)>=128?(c[j>>2]&-2048|0)!=55296:0)?(c[j>>2]&-2|0)!=65534:0)break;c[j>>2]=65533}while(0);u=WQ(c[j>>2]|0)|0;if((u|0)==(c[r>>2]|0))continue;if(UQ(c[j>>2]|0)|0)continue;c[g>>2]=(c[g>>2]|0)+1}if(c[g>>2]|0){c[k>>2]=Xf(c[(c[q>>2]|0)+12>>2]|0,(c[(c[q>>2]|0)+8>>2]|0)+(c[g>>2]|0)<<2)|0;if(!(c[k>>2]|0)){c[p>>2]=7;u=c[p>>2]|0;l=t;return u|0}c[m>>2]=c[(c[q>>2]|0)+8>>2];c[s>>2]=c[h>>2];while(1){if((c[s>>2]|0)>>>0>=(c[i>>2]|0)>>>0)break;u=c[s>>2]|0;c[s>>2]=u+1;c[j>>2]=d[u>>0];do if((c[j>>2]|0)>=192){c[j>>2]=d[22127+((c[j>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[i>>2]|0))b=((d[c[s>>2]>>0]|0)&192|0)==128;else b=0;a=c[j>>2]|0;if(!b)break;u=c[s>>2]|0;c[s>>2]=u+1;c[j>>2]=(a<<6)+(63&(d[u>>0]|0))}if(((a|0)>=128?(c[j>>2]&-2048|0)!=55296:0)?(c[j>>2]&-2|0)!=65534:0)break;c[j>>2]=65533}while(0);u=WQ(c[j>>2]|0)|0;if((u|0)==(c[r>>2]|0))continue;if(UQ(c[j>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)<=(c[n>>2]|0))break;c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[k>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[o>>2]=(c[o>>2]|0)+-1}c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=c[j>>2];c[m>>2]=(c[m>>2]|0)+1}c[(c[q>>2]|0)+12>>2]=c[k>>2];c[(c[q>>2]|0)+8>>2]=c[m>>2]}c[p>>2]=0;u=c[p>>2]|0;l=t;return u|0}function ZQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[f>>2]=0;c[f>>2]=pe(48)|0;if(!(c[f>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;l=h;return g|0}c[g>>2]=c[f>>2];a=c[f>>2]|0;b=a+48|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[(c[f>>2]|0)+16>>2]=c[d>>2];c[c[f>>2]>>2]=2;c[(c[f>>2]|0)+12>>2]=149;c[(c[f>>2]|0)+4>>2]=150;c[(c[f>>2]|0)+8>>2]=152;c[e>>2]=LJ(c[d>>2]|0,47730,8580,c[g>>2]|0,163)|0;if(!(c[e>>2]|0))c[e>>2]=cR(c[d>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=dR(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=eR(c[f>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=fR(c[f>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=gR(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=XJ(c[d>>2]|0,47730,0,1,c[g>>2]|0,234,0,0)|0;if(c[e>>2]|0){g=c[e>>2]|0;l=h;return g|0}c[e>>2]=XJ(c[d>>2]|0,47735,0,1,c[g>>2]|0,235,0,0)|0;g=c[e>>2]|0;l=h;return g|0}function _Q(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;g=q+16|0;h=q+12|0;i=q+8|0;j=q+4|0;k=q;c[r>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[g>>2]=c[r>>2];c[h>>2]=ZJ(c[(c[g>>2]|0)+16>>2]|0,c[m>>2]|0,-1)|0;if(c[h>>2]|0){r=c[h>>2]|0;l=q;return r|0}c[j>>2]=(g$(c[m>>2]|0)|0)+1;c[k>>2]=24+(c[j>>2]|0);c[i>>2]=pe(c[k>>2]|0)|0;if(c[i>>2]|0){m0(c[i>>2]|0,0,c[k>>2]|0)|0;c[(c[i>>2]|0)+4>>2]=(c[i>>2]|0)+24;h0(c[(c[i>>2]|0)+4>>2]|0,c[m>>2]|0,c[j>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];c[(c[i>>2]|0)+8>>2]=c[n>>2];c[(c[i>>2]|0)+12>>2]=c[o>>2];c[(c[i>>2]|0)+16>>2]=c[p>>2];c[(c[i>>2]|0)+20>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+32>>2]=c[i>>2];r=c[h>>2]|0;l=q;return r|0}else{c[h>>2]=7;r=c[h>>2]|0;l=q;return r|0}return 0}function $Q(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;g=q+16|0;h=q+12|0;i=q+8|0;j=q+4|0;k=q;c[r>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[g>>2]=c[r>>2];c[k>>2]=0;c[i>>2]=(g$(c[m>>2]|0)|0)+1;c[j>>2]=28+(c[i>>2]|0);c[h>>2]=pe(c[j>>2]|0)|0;if(!(c[h>>2]|0)){c[k>>2]=7;r=c[k>>2]|0;l=q;return r|0}m0(c[h>>2]|0,0,c[j>>2]|0)|0;c[c[h>>2]>>2]=(c[h>>2]|0)+28;h0(c[c[h>>2]>>2]|0,c[m>>2]|0,c[i>>2]|0)|0;c[(c[h>>2]|0)+4>>2]=c[n>>2];r=(c[h>>2]|0)+8|0;o=c[o>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];c[(c[h>>2]|0)+20>>2]=c[p>>2];c[(c[h>>2]|0)+24>>2]=c[(c[g>>2]|0)+36>>2];c[(c[g>>2]|0)+36>>2]=c[h>>2];if(c[(c[h>>2]|0)+24>>2]|0){r=c[k>>2]|0;l=q;return r|0}c[(c[g>>2]|0)+40>>2]=c[h>>2];r=c[k>>2]|0;l=q;return r|0}function aR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;m=i+20|0;k=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;c[m>>2]=a;c[k>>2]=b;c[f>>2]=d;c[j>>2]=e;c[g>>2]=0;c[h>>2]=tW(c[m>>2]|0,c[k>>2]|0)|0;a=c[j>>2]|0;if(c[h>>2]|0){m=(c[h>>2]|0)+8|0;c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+4>>2];m=c[g>>2]|0;l=i;return m|0}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[g>>2]=1;m=c[g>>2]|0;l=i;return m|0}return 0}function bR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+20|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[g>>2]=c[i>>2];c[e>>2]=c[(c[g>>2]|0)+32>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+20>>2];if(c[(c[e>>2]|0)+16>>2]|0)Eb[c[(c[e>>2]|0)+16>>2]&255](c[(c[e>>2]|0)+8>>2]|0);_d(c[e>>2]|0);c[e>>2]=c[f>>2]}c[b>>2]=c[(c[g>>2]|0)+36>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+24>>2];if(c[(c[b>>2]|0)+20>>2]|0)Eb[c[(c[b>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+4>>2]|0);_d(c[b>>2]|0);c[b>>2]=c[d>>2]}_d(c[g>>2]|0);l=h;return}function cR(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=XJ(c[b>>2]|0,50433,2,1,0,236,0,0)|0;if(!(c[d>>2]|0))c[d>>2]=XJ(c[b>>2]|0,50445,2,1,c[b>>2]|0,236,0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;l=e;return d|0}c[d>>2]=XJ(c[b>>2]|0,50462,-1,1,0,237,0,0)|0;d=c[d>>2]|0;l=e;return d|0}function dR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+64|0;k=j+52|0;d=j+48|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[d>>2]=b;c[e>>2]=c[2627];c[e+4>>2]=c[2628];c[e+8>>2]=c[2629];c[e+12>>2]=c[2630];c[e+16>>2]=c[2631];c[e+20>>2]=c[2632];c[e+24>>2]=c[2633];c[e+28>>2]=c[2634];c[g>>2]=0;c[h>>2]=c[k>>2];c[f>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[f>>2]|0)<4:0))break;c[i>>2]=e+(c[f>>2]<<3);c[g>>2]=XJ(c[d>>2]|0,c[c[i>>2]>>2]|0,-1,1,c[h>>2]|0,c[(c[i>>2]|0)+4>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}l=j;return c[g>>2]|0}function eR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+64|0;e=i+56|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;a=f;b=10460;d=a+48|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));c[g>>2]=0;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<3:0))break;c[g>>2]=Nb[c[(c[e>>2]|0)+12>>2]&255](c[e>>2]|0,c[f+(c[h>>2]<<4)>>2]|0,c[f+(c[h>>2]<<4)+4>>2]|0,c[f+(c[h>>2]<<4)+8>>2]|0,c[f+(c[h>>2]<<4)+12>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+1}l=i;return c[g>>2]|0}function fR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+64|0;e=i+56|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;a=f;b=8772;d=a+48|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));c[g>>2]=0;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<3:0))break;c[g>>2]=Nb[c[(c[e>>2]|0)+4>>2]&255](c[e>>2]|0,c[f+(c[h>>2]<<4)>>2]|0,c[e>>2]|0,f+(c[h>>2]<<4)+4|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}l=i;return c[g>>2]|0}function gR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];b=LJ(c[f>>2]|0,47817,8672,c[e>>2]|0,0)|0;l=d;return b|0}function hR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+32|0;h=f+12|0;i=f;g=f+16|0;c[h>>2]=b;c[f+8>>2]=d;c[f+4>>2]=e;c[i>>2]=Qh(c[h>>2]|0)|0;a[g>>0]=a[i>>0]|0;a[g+1>>0]=a[i+1>>0]|0;a[g+2>>0]=a[i+2>>0]|0;a[g+3>>0]=a[i+3>>0]|0;mj(c[h>>2]|0,g,4,-1);l=f;return}function iR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;xi(c[f>>2]|0,47750,-1,-1);l=e;return}function jR(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=RT(c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function kR(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=RT(c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function lR(a,b){a=a|0;b=b|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;n=q+28|0;g=q+24|0;i=q+20|0;j=q+16|0;k=q+12|0;o=q+8|0;m=q+4|0;f=q;c[q+32>>2]=a;c[n>>2]=b;c[i>>2]=-1;c[j>>2]=-1;c[k>>2]=-1;c[o>>2]=0;c[m>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[f>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);if(d[(c[f>>2]|0)+5>>0]|0|0?(c[c[f>>2]>>2]|0)==0:0){if((d[(c[f>>2]|0)+4>>0]|0|0)==2)c[i>>2]=c[g>>2];if((d[(c[f>>2]|0)+4>>0]|0|0)==8)c[k>>2]=c[g>>2];if((d[(c[f>>2]|0)+4>>0]|0|0)==16)c[k>>2]=c[g>>2];if((d[(c[f>>2]|0)+4>>0]|0|0)==32)c[j>>2]=c[g>>2];if((d[(c[f>>2]|0)+4>>0]|0|0)==4)c[j>>2]=c[g>>2]}c[g>>2]=(c[g>>2]|0)+1}if((c[i>>2]|0)<0){h[(c[n>>2]|0)+40>>3]=1.0e6;if((c[j>>2]|0)>=0){c[o>>2]=c[o>>2]|2;i=(c[m>>2]|0)+1|0;c[m>>2]=i;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=i;h[(c[n>>2]|0)+40>>3]=+h[(c[n>>2]|0)+40>>3]/2.0}if((c[k>>2]|0)>=0){c[o>>2]=c[o>>2]|4;a=(c[m>>2]|0)+1|0;c[m>>2]=a;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=a;e=+h[(c[n>>2]|0)+40>>3]/2.0;a=c[n>>2]|0;p=22}}else{c[o>>2]=c[o>>2]|1;a=(c[m>>2]|0)+1|0;c[m>>2]=a;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[i>>2]<<3)>>2]=a;e=100.0;a=c[n>>2]|0;p=22}if((p|0)==22)h[a+40>>3]=e;if((c[(c[n>>2]|0)+8>>2]|0)!=1){o=c[o>>2]|0;p=c[n>>2]|0;p=p+20|0;c[p>>2]=o;l=q;return 0}if(c[c[(c[n>>2]|0)+12>>2]>>2]|0){o=c[o>>2]|0;p=c[n>>2]|0;p=p+20|0;c[p>>2]=o;l=q;return 0}if(d[(c[(c[n>>2]|0)+12>>2]|0)+4>>0]|0|0){o=c[o>>2]|0;p=c[n>>2]|0;p=p+20|0;c[p>>2]=o;l=q;return 0}c[(c[n>>2]|0)+32>>2]=1;o=c[o>>2]|0;p=c[n>>2]|0;p=p+20|0;c[p>>2]=o;l=q;return 0}function mR(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];_d(c[d>>2]|0);l=b;return 0}function nR(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];_d(c[d>>2]|0);l=b;return 0}function oR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+80|0;p=q+24|0;r=q+8|0;g=q+68|0;h=q+64|0;i=q+60|0;j=q+56|0;k=q+52|0;m=q+48|0;n=q+44|0;o=q+40|0;d=q+36|0;e=q;f=q+32|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[g>>2];c[j>>2]=0;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[d>>2]=0;s=c[(c[i>>2]|0)+16>>2]|0;a=c[(c[i>>2]|0)+12>>2]|0;b=c[(c[i>>2]|0)+12>>2]|0;c[r>>2]=c[(c[i>>2]|0)+12>>2];c[r+4>>2]=s;c[r+8>>2]=a;c[r+12>>2]=b;c[d>>2]=ET(n,48218,r)|0;if(c[d>>2]|0)c[n>>2]=zv(c[(c[i>>2]|0)+20>>2]|0,c[d>>2]|0,-1,o,0)|0;_d(c[d>>2]|0);if((c[n>>2]|0)==1)c[n>>2]=0;if(c[o>>2]|0?(Bs(c[o>>2]|0)|0)==100:0){r=jJ(c[o>>2]|0,0)|0;s=e;c[s>>2]=r;c[s+4>>2]=D;s=e;c[j>>2]=PT(c[(c[i>>2]|0)+24>>2]|0,c[s>>2]|0,c[s+4>>2]|0,k)|0}if((c[n>>2]|0)==0&(c[j>>2]|0)==0?(c[n>>2]=Fr(c[o>>2]|0)|0,c[o>>2]=0,(c[n>>2]|0)==0):0){s=c[(c[i>>2]|0)+12>>2]|0;c[p>>2]=c[(c[i>>2]|0)+16>>2];c[p+4>>2]=s;s=nf(48269,p)|0;c[(c[g>>2]|0)+8>>2]=s;c[n>>2]=1}if(!(c[n>>2]|0)){c[f>>2]=(c[(c[k>>2]|0)+12>>2]<<3<<1)+72;c[m>>2]=dT(n,c[f>>2]|0)|0}if(c[m>>2]|0){c[(c[m>>2]|0)+8>>2]=c[j>>2];c[(c[m>>2]|0)+4>>2]=c[o>>2];c[(c[m>>2]|0)+28>>2]=c[k>>2];c[(c[m>>2]|0)+36>>2]=(c[m>>2]|0)+72;c[(c[m>>2]|0)+40>>2]=(c[(c[m>>2]|0)+36>>2]|0)+(c[(c[k>>2]|0)+12>>2]<<3);r=c[m>>2]|0;s=c[h>>2]|0;c[s>>2]=r;s=c[n>>2]|0;l=q;return s|0}else{Fr(c[o>>2]|0)|0;r=c[m>>2]|0;s=c[h>>2]|0;c[s>>2]=r;s=c[n>>2]|0;l=q;return s|0}return 0}function pR(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];eS(c[d>>2]|0);nS((c[d>>2]|0)+56|0);Fr(c[(c[d>>2]|0)+4>>2]|0)|0;_d(c[d>>2]|0);l=b;return 0}function qR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+56|0;s=u+52|0;t=u+40|0;g=u+36|0;h=u+32|0;i=u+28|0;j=u+24|0;k=u+20|0;m=u+16|0;n=u+12|0;o=u+8|0;p=u+4|0;q=u;c[r>>2]=a;c[s>>2]=b;c[u+48>>2]=d;c[u+44>>2]=e;c[t>>2]=f;c[g>>2]=c[r>>2];c[h>>2]=0;c[i>>2]=0;c[j>>2]=8;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;eS(c[g>>2]|0);if(c[s>>2]&1|0){e=c[t>>2]|0;f=c[i>>2]|0;c[i>>2]=f+1;c[n>>2]=c[e+(f<<2)>>2]}if(c[s>>2]&2|0){e=c[t>>2]|0;f=c[i>>2]|0;c[i>>2]=f+1;c[o>>2]=c[e+(f<<2)>>2]}if(c[s>>2]&4|0){s=c[t>>2]|0;t=c[i>>2]|0;c[i>>2]=t+1;c[p>>2]=c[s+(t<<2)>>2]}do if(!(c[n>>2]|0)){if(c[o>>2]|0){c[k>>2]=Rh(c[o>>2]|0)|0;c[m>>2]=Sh(c[o>>2]|0)|0}if(c[p>>2]|0){c[q>>2]=Rh(c[p>>2]|0)|0;t=Sh(c[p>>2]|0)|0;c[(c[g>>2]|0)+20>>2]=t;t=pe((c[(c[g>>2]|0)+20>>2]|0)+1|0)|0;c[(c[g>>2]|0)+24>>2]=t;if(!(c[(c[g>>2]|0)+24>>2]|0)){c[h>>2]=7;break}else{h0(c[(c[g>>2]|0)+24>>2]|0,c[q>>2]|0,(c[(c[g>>2]|0)+20>>2]|0)+1|0)|0;break}}}else{c[k>>2]=Rh(c[n>>2]|0)|0;c[m>>2]=Sh(c[n>>2]|0)|0;c[j>>2]=0}while(0);if(!(c[h>>2]|0))c[h>>2]=fS(c[(c[g>>2]|0)+8>>2]|0,c[k>>2]|0,c[m>>2]|0,c[j>>2]|0,0,(c[g>>2]|0)+16|0)|0;if(c[h>>2]|0){t=c[h>>2]|0;l=u;return t|0}c[h>>2]=rR(c[r>>2]|0)|0;t=c[h>>2]|0;l=u;return t|0}function rR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+80|0;g=u+64|0;v=u+60|0;o=u+56|0;p=u+52|0;q=u+48|0;r=u+44|0;s=u+40|0;t=u+36|0;f=u+32|0;e=u+28|0;h=u+24|0;i=u+20|0;j=u;k=u+16|0;m=u+12|0;n=u+8|0;c[v>>2]=b;c[o>>2]=c[v>>2];c[p>>2]=c[c[v>>2]>>2];c[q>>2]=0;c[r>>2]=c[(c[(c[o>>2]|0)+28>>2]|0)+12>>2];b=(c[o>>2]|0)+48|0;v=b;v=_$(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;c[b>>2]=v;c[b+4>>2]=D;a:do if(!(c[(c[p>>2]|0)+28>>2]|0)){b=c[o>>2]|0;while(1){v=b+32|0;c[v>>2]=(c[v>>2]|0)+1;if((c[(c[o>>2]|0)+32>>2]|0)>=(c[r>>2]|0))break a;v=(c[(c[o>>2]|0)+40>>2]|0)+(c[(c[o>>2]|0)+32>>2]<<3)|0;if((c[v>>2]|0)!=0|(c[v+4>>2]|0)!=0)break a;b=c[o>>2]|0}}while(0);if(!((c[(c[p>>2]|0)+28>>2]|0)!=1?(c[(c[o>>2]|0)+32>>2]|0)<(c[r>>2]|0):0))d=8;b:do if((d|0)==8){b=c[o>>2]|0;if(a[(c[(c[o>>2]|0)+16>>2]|0)+16>>0]|0){c[b+12>>2]=1;break}c[s>>2]=vR(c[b+16>>2]|0,t)|0;do if((c[(c[o>>2]|0)+20>>2]|0)>=0){if((c[t>>2]|0)<(c[(c[o>>2]|0)+20>>2]|0))b=c[t>>2]|0;else b=c[(c[o>>2]|0)+20>>2]|0;c[f>>2]=b;c[e>>2]=H_(c[(c[o>>2]|0)+24>>2]|0,c[s>>2]|0,c[f>>2]|0)|0;if((c[e>>2]|0)>=0){if(c[e>>2]|0)break;if((c[(c[o>>2]|0)+20>>2]|0)>=(c[t>>2]|0))break}c[(c[o>>2]|0)+12>>2]=1;c[g>>2]=0;v=c[g>>2]|0;l=u;return v|0}while(0);wR(q,(c[o>>2]|0)+56|0,c[t>>2]|0,c[s>>2]|0);m0(c[(c[o>>2]|0)+36>>2]|0,0,c[r>>2]<<3|0)|0;m0(c[(c[o>>2]|0)+40>>2]|0,0,c[r>>2]<<3|0)|0;c[(c[o>>2]|0)+32>>2]=0;c:while(1){if(c[q>>2]|0)break b;while(1){v=j;c[v>>2]=0;c[v+4>>2]=0;c[k>>2]=0;c[h>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2];c[i>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2];d:do switch(c[(c[(c[o>>2]|0)+28>>2]|0)+48>>2]|0){case 0:{c[h>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2];c[i>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2];if((c[(c[p>>2]|0)+28>>2]|0)==1){while(1){v=0==(xR(c[h>>2]|0,c[i>>2]|0,k,j)|0);b=c[o>>2]|0;if(!v)break;v=c[b+36>>2]|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D}v=c[b+40>>2]|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D;break d}c[m>>2]=-1;while(1){if(xR(c[h>>2]|0,c[i>>2]|0,k,j)|0)break d;v=j;v=e0(c[v>>2]|0,c[v+4>>2]|0,32)|0;c[n>>2]=v;v=(c[(c[o>>2]|0)+36>>2]|0)+(c[n>>2]<<3)|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D;if((c[m>>2]|0)==(c[n>>2]|0))continue;if((c[n>>2]|0)>=(c[r>>2]|0))break;v=(c[(c[o>>2]|0)+40>>2]|0)+(c[n>>2]<<3)|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D;c[m>>2]=c[n>>2]}c[q>>2]=267;break}case 2:{if((c[(c[p>>2]|0)+28>>2]|0)==1){v=c[(c[o>>2]|0)+40>>2]|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D;break d}while(1){if(xR(c[h>>2]|0,c[i>>2]|0,k,j)|0)break d;f=j;d=c[f+4>>2]|0;v=c[r>>2]|0;e=((v|0)<0)<<31>>31;if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>=v>>>0:0))break;v=(c[(c[o>>2]|0)+40>>2]|0)+(c[j>>2]<<3)|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D}c[q>>2]=267;break}default:{v=c[(c[o>>2]|0)+40>>2]|0;f=v;f=_$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[v>>2]=f;c[v+4>>2]=D}}while(0);if(!(c[q>>2]|0))c[q>>2]=yR(c[(c[o>>2]|0)+16>>2]|0)|0;if(c[q>>2]|0)continue c;c[s>>2]=vR(c[(c[o>>2]|0)+16>>2]|0,t)|0;if((c[t>>2]|0)!=(c[(c[o>>2]|0)+56+4>>2]|0))break b;if(H_(c[s>>2]|0,c[(c[o>>2]|0)+56>>2]|0,c[t>>2]|0)|0)break b;if(!((c[q>>2]|0)==0?(a[(c[(c[o>>2]|0)+16>>2]|0)+16>>0]|0)==0:0))break b}}}while(0);e:do if(((c[q>>2]|0)==0?(c[(c[o>>2]|0)+12>>2]|0)==0:0)?(c[(c[p>>2]|0)+28>>2]|0)==0:0)while(1){v=(c[(c[o>>2]|0)+40>>2]|0)+(c[(c[o>>2]|0)+32>>2]<<3)|0;if(!((c[v>>2]|0)==0&(c[v+4>>2]|0)==0))break e;v=(c[o>>2]|0)+32|0;c[v>>2]=(c[v>>2]|0)+1}while(0);c[g>>2]=c[q>>2];v=c[g>>2]|0;l=u;return v|0}function sR(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return c[(c[b>>2]|0)+12>>2]|0}function tR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;n=m+32|0;j=m+28|0;h=m+24|0;i=m+20|0;f=m+16|0;g=m+12|0;k=m;e=m+8|0;c[n>>2]=a;c[j>>2]=b;c[h>>2]=d;c[i>>2]=c[n>>2];c[f>>2]=c[(c[(c[i>>2]|0)+28>>2]|0)+48>>2];c[g>>2]=c[(c[c[n>>2]>>2]|0)+28>>2];d=k;c[d>>2]=0;c[d+4>>2]=0;do if(c[h>>2]|0){b=(c[h>>2]|0)==1;if(c[g>>2]|0){a=c[i>>2]|0;if(b){h=c[a+40>>2]|0;i=c[h+4>>2]|0;n=k;c[n>>2]=c[h>>2];c[n+4>>2]=i;break}else{h=c[a+36>>2]|0;i=c[h+4>>2]|0;n=k;c[n>>2]=c[h>>2];c[n+4>>2]=i;break}}if(b){if((c[f>>2]|0)==1)break;c[e>>2]=c[(c[(c[(c[i>>2]|0)+28>>2]|0)+16>>2]|0)+(c[(c[i>>2]|0)+32>>2]<<2)>>2];xi(c[j>>2]|0,c[e>>2]|0,-1,0);break}a=c[i>>2]|0;if((c[h>>2]|0)==2){h=(c[a+40>>2]|0)+(c[(c[i>>2]|0)+32>>2]<<3)|0;i=c[h+4>>2]|0;n=k;c[n>>2]=c[h>>2];c[n+4>>2]=i;break}else{h=(c[a+36>>2]|0)+(c[(c[i>>2]|0)+32>>2]<<3)|0;i=c[h+4>>2]|0;n=k;c[n>>2]=c[h>>2];c[n+4>>2]=i;break}}else xi(c[j>>2]|0,c[(c[i>>2]|0)+56>>2]|0,c[(c[i>>2]|0)+56+4>>2]|0,-1);while(0);n=k;i=c[n+4>>2]|0;if(!((i|0)>0|(i|0)==0&(c[n>>2]|0)>>>0>0)){l=m;return 0}n=k;Bi(c[j>>2]|0,c[n>>2]|0,c[n+4>>2]|0);l=m;return 0}function uR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+48|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;l=d;return 0}function vR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[d>>2]=dS(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=(c[g>>2]|0)-1;l=e;return (c[d>>2]|0)+1|0}function wR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[i>>2]|0)+4>>2]=0;bS(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return}function xR(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;i=o+32|0;j=o+28|0;p=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;g=o;h=o+8|0;c[j>>2]=a;c[p>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=c[c[k>>2]>>2];a=c[m>>2]|0;if((c[n>>2]|0)>=(c[p>>2]|0)){p=a;c[p>>2]=-1;c[p+4>>2]=-1;c[i>>2]=1;p=c[i>>2]|0;l=o;return p|0}e=a;p=c[e+4>>2]|0;f=g;c[f>>2]=c[e>>2];c[f+4>>2]=p;f=c[j>>2]|0;p=c[n>>2]|0;c[n>>2]=p+1;c[h>>2]=d[f+p>>0];if(c[h>>2]&128|0){c[n>>2]=(c[n>>2]|0)+-1;p=VR((c[j>>2]|0)+(c[n>>2]|0)|0,h)|0;c[n>>2]=(c[n>>2]|0)+p}if((c[h>>2]|0)==1){f=c[j>>2]|0;p=c[n>>2]|0;c[n>>2]=p+1;c[h>>2]=d[f+p>>0];if(c[h>>2]&128|0){c[n>>2]=(c[n>>2]|0)+-1;p=VR((c[j>>2]|0)+(c[n>>2]|0)|0,h)|0;c[n>>2]=(c[n>>2]|0)+p}p=c[h>>2]|0;f=g;c[f>>2]=0;c[f+4>>2]=p;f=c[j>>2]|0;p=c[n>>2]|0;c[n>>2]=p+1;c[h>>2]=d[f+p>>0];if(c[h>>2]&128|0){c[n>>2]=(c[n>>2]|0)+-1;p=VR((c[j>>2]|0)+(c[n>>2]|0)|0,h)|0;c[n>>2]=(c[n>>2]|0)+p}}p=g;j=(c[h>>2]|0)-2|0;j=_$(c[p>>2]|0,c[p+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;p=c[m>>2]|0;c[p>>2]=j;c[p+4>>2]=D;c[c[k>>2]>>2]=c[n>>2];c[i>>2]=0;p=c[i>>2]|0;l=o;return p|0}function yR(b){b=b|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;j=h+12|0;f=h+8|0;i=h+4|0;g=h;c[j>>2]=b;c[f>>2]=c[j>>2];c[i>>2]=c[(c[f>>2]|0)+24>>2];zR(c[i>>2]|0,c[f>>2]|0,0,0,0);if(((c[(c[i>>2]|0)+36>>2]|0)==0?(c[g>>2]=(c[f>>2]|0)+80+((e[(c[(c[f>>2]|0)+72>>2]|0)+4>>1]|0)*88|0),c[(c[g>>2]|0)+12>>2]|0):0)?(d[c[(c[g>>2]|0)+60>>2]>>0]|0|0)!=48:0){AR(c[(c[g>>2]|0)+12>>2]|0);c[(c[g>>2]|0)+12>>2]=0;a[(c[f>>2]|0)+16>>0]=1}j=BR(c[(c[f>>2]|0)+24>>2]|0)|0;l=h;return j|0}function zR(a,b,f,g,h){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;m=r+32|0;n=r+28|0;s=r+24|0;o=r;p=r+20|0;i=r+16|0;j=r+12|0;k=r+8|0;c[m>>2]=a;c[n>>2]=b;c[s>>2]=f;f=o;c[f>>2]=g;c[f+4>>2]=h;c[p>>2]=c[s>>2];while(1){if(c[(c[m>>2]|0)+36>>2]|0){q=14;break}c[i>>2]=e[(c[(c[n>>2]|0)+72>>2]|0)+4>>1];c[j>>2]=0;c[k>>2]=(c[n>>2]|0)+80+((c[i>>2]|0)*88|0);if(c[p>>2]|0?c[(c[k>>2]|0)+56>>2]|0:0){s=o;CR(c[m>>2]|0,c[k>>2]|0,c[s>>2]|0,c[s+4>>2]|0)}else Ib[c[(c[k>>2]|0)+24>>2]&255](c[m>>2]|0,c[k>>2]|0,j);if(!(!(c[j>>2]|0?1:(c[(c[k>>2]|0)+12>>2]|0)==0)?!(DR(c[n>>2]|0,c[i>>2]|0,k)|0):0))q=9;if((q|0)==9?(q=0,ER(c[m>>2]|0,c[n>>2]|0,c[i>>2]|0,1),FR(c[n>>2]|0),c[k>>2]=(c[n>>2]|0)+80+((e[(c[(c[n>>2]|0)+72>>2]|0)+4>>1]|0)*88|0),(c[(c[k>>2]|0)+12>>2]|0)==0):0){q=14;break}if(!(d[(c[n>>2]|0)+60>>0]|0)){q=12;break}if(c[(c[k>>2]|0)+80>>2]|0){q=12;break}c[p>>2]=0}if((q|0)==12){Fb[c[(c[n>>2]|0)+48>>2]&255](c[n>>2]|0,c[k>>2]|0);l=r;return}else if((q|0)==14){l=r;return}}function AR(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return}function BR(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+36>>2];c[(c[e>>2]|0)+36>>2]=0;l=d;return c[b>>2]|0}function CR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+28|0;h=n+24|0;i=n;j=n+20|0;k=n+16|0;m=n+12|0;f=n+8|0;c[g>>2]=a;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2]&2;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[h>>2]|0)+8>>2];c[f>>2]=1;if(!(c[j>>2]|0)){while(1){if(IR(c[g>>2]|0,c[k>>2]|0)|0)break;a=i;d=c[a>>2]|0;a=c[a+4>>2]|0;e=JR(c[k>>2]|0)|0;b=D;if(!((a|0)>(b|0)|(a|0)==(b|0)&d>>>0>e>>>0))break;c[m>>2]=KR(c[k>>2]|0)|0;LR(c[g>>2]|0,c[k>>2]|0)|0}if((c[m>>2]|0)>(c[(c[h>>2]|0)+8>>2]|0)){MR(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0);c[f>>2]=0}}else{while(1){if(IR(c[g>>2]|0,c[k>>2]|0)|0)break;a=i;d=c[a>>2]|0;a=c[a+4>>2]|0;e=JR(c[k>>2]|0)|0;b=D;if(!((a|0)<(b|0)|(a|0)==(b|0)&d>>>0>>0))break;NR(c[g>>2]|0,c[k>>2]|0)|0}c[m>>2]=KR(c[k>>2]|0)|0;if((c[m>>2]|0)<(c[(c[h>>2]|0)+8>>2]|0)){c[(c[h>>2]|0)+8>>2]=(c[m>>2]|0)+1;OR(c[g>>2]|0,c[h>>2]|0);c[f>>2]=0}}while(1){if(c[f>>2]|0?(c[(c[g>>2]|0)+36>>2]|0)==0:0)Ib[c[(c[h>>2]|0)+24>>2]&255](c[g>>2]|0,c[h>>2]|0,0);if(!(c[(c[h>>2]|0)+12>>2]|0)){a=21;break}if((c[j>>2]|0)==0?(k=(c[h>>2]|0)+72|0,d=c[k+4>>2]|0,m=i,e=c[m+4>>2]|0,(d|0)>(e|0)|((d|0)==(e|0)?(c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0:0)):0){a=21;break}if(c[j>>2]|0?(k=(c[h>>2]|0)+72|0,d=c[k+4>>2]|0,m=i,e=c[m+4>>2]|0,(d|0)<(e|0)|((d|0)==(e|0)?(c[k>>2]|0)>>>0<=(c[m>>2]|0)>>>0:0)):0){a=21;break}c[f>>2]=1;if(c[(c[g>>2]|0)+36>>2]|0){a=21;break}}if((a|0)==21){l=n;return}}function DR(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+32|0;k=r+28|0;m=r+24|0;h=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;j=r;c[m>>2]=d;c[h>>2]=f;c[n>>2]=g;c[o>>2]=(c[m>>2]|0)+80+((c[h>>2]|0)*88|0);f=(c[o>>2]|0)+72|0;g=(c[m>>2]|0)+64|0;if(!(!((c[f>>2]|0)==(c[g>>2]|0)?(c[f+4>>2]|0)==(c[g+4>>2]|0):0)?(f=(c[o>>2]|0)+72|0,s=c[f+4>>2]|0,g=(c[m>>2]|0)+64|0,d=c[g+4>>2]|0,(((s|0)<(d|0)|((s|0)==(d|0)?(c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0:0))&1|0)!=(c[(c[m>>2]|0)+56>>2]|0)):0))i=3;a:do if((i|0)==3){c[q>>2]=(c[m>>2]|0)+80+((c[h>>2]^1)*88|0);i=(c[(c[m>>2]|0)+56>>2]|0)!=0;s=(c[m>>2]|0)+64|0;c[s>>2]=i?0:-1;c[s+4>>2]=i?-2147483648:2147483647;c[p>>2]=((c[(c[m>>2]|0)+52>>2]|0)+(c[h>>2]|0)|0)/2|0;b:while(1){c[j>>2]=(c[(c[m>>2]|0)+72>>2]|0)+(c[p>>2]<<2);do if(a[(c[j>>2]|0)+2>>0]|0){i=(c[o>>2]|0)+72|0;s=(c[q>>2]|0)+72|0;if((c[i>>2]|0)==(c[s>>2]|0)?(c[i+4>>2]|0)==(c[s+4>>2]|0):0)break b;i=(c[q>>2]|0)+72|0;t=c[i+4>>2]|0;s=(c[o>>2]|0)+72|0;h=c[s+4>>2]|0;f=(c[q>>2]|0)+72|0;d=c[f>>2]|0;f=c[f+4>>2]|0;g=(c[m>>2]|0)+64|0;if((((t|0)>(h|0)|((t|0)==(h|0)?(c[i>>2]|0)>>>0>(c[s>>2]|0)>>>0:0))&1|0)==(c[(c[m>>2]|0)+56>>2]|0)){t=g;c[t>>2]=d;c[t+4>>2]=f;c[o>>2]=c[q>>2];break}t=g;s=c[t+4>>2]|0;if((((f|0)>(s|0)|((f|0)==(s|0)?d>>>0>(c[t>>2]|0)>>>0:0))&1|0)==(c[(c[m>>2]|0)+56>>2]|0)){i=(c[q>>2]|0)+72|0;s=c[i+4>>2]|0;t=(c[m>>2]|0)+64|0;c[t>>2]=c[i>>2];c[t+4>>2]=s}}while(0);b[c[j>>2]>>1]=((c[o>>2]|0)-((c[m>>2]|0)+80)|0)/88|0;if((c[p>>2]|0)==1)break a;c[q>>2]=(c[m>>2]|0)+80+((e[(c[(c[m>>2]|0)+72>>2]|0)+((c[p>>2]^1)<<2)>>1]|0)*88|0);c[p>>2]=(c[p>>2]|0)/2|0}c[k>>2]=1;t=c[k>>2]|0;l=r;return t|0}while(0);c[c[n>>2]>>2]=c[o>>2];c[k>>2]=0;t=c[k>>2]|0;l=r;return t|0}function ER(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+24|0;h=m+20|0;n=m+16|0;i=m+12|0;j=m+8|0;k=m+4|0;f=m;c[g>>2]=a;c[h>>2]=b;c[n>>2]=d;c[i>>2]=e;c[j>>2]=((c[(c[h>>2]|0)+52>>2]|0)+(c[n>>2]|0)|0)/2|0;while(1){if((c[j>>2]|0)<(c[i>>2]|0)){a=7;break}if(c[(c[g>>2]|0)+36>>2]|0){a=7;break}n=GR(c[h>>2]|0,c[j>>2]|0)|0;c[k>>2]=n;if(n|0){c[f>>2]=(c[h>>2]|0)+80+((c[k>>2]|0)*88|0);Ib[c[(c[f>>2]|0)+24>>2]&255](c[g>>2]|0,c[f>>2]|0,0);c[j>>2]=(c[(c[h>>2]|0)+52>>2]|0)+(c[k>>2]|0)}c[j>>2]=(c[j>>2]|0)/2|0}if((a|0)==7){l=m;return}}function FR(b){b=b|0;var d=0,f=0,g=0,h=0;d=l;l=l+16|0;h=d+4|0;g=d;c[h>>2]=b;c[g>>2]=(c[h>>2]|0)+80+((e[(c[(c[h>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);a[(c[h>>2]|0)+16>>0]=(c[(c[g>>2]|0)+12>>2]|0)==0;g=(c[g>>2]|0)+72|0;f=c[g+4>>2]|0;b=(c[h>>2]|0)+64|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;l=d;return}function GR(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;i=r+36|0;j=r+32|0;k=r+28|0;m=r+24|0;n=r+20|0;o=r+16|0;p=r+12|0;q=r+8|0;g=r+4|0;h=r;c[j>>2]=d;c[k>>2]=f;c[g>>2]=(c[(c[j>>2]|0)+72>>2]|0)+(c[k>>2]<<2);if((c[k>>2]|0)>=((c[(c[j>>2]|0)+52>>2]|0)/2|0|0)){c[m>>2]=(c[k>>2]|0)-((c[(c[j>>2]|0)+52>>2]|0)/2|0)<<1;c[n>>2]=(c[m>>2]|0)+1}else{c[m>>2]=e[(c[(c[j>>2]|0)+72>>2]|0)+(c[k>>2]<<1<<2)>>1];c[n>>2]=e[(c[(c[j>>2]|0)+72>>2]|0)+((c[k>>2]<<1)+1<<2)>>1]}c[p>>2]=(c[j>>2]|0)+80+((c[m>>2]|0)*88|0);c[q>>2]=(c[j>>2]|0)+80+((c[n>>2]|0)*88|0);a[(c[g>>2]|0)+2>>0]=0;do if(c[(c[p>>2]|0)+12>>2]|0){if(!(c[(c[q>>2]|0)+12>>2]|0)){c[o>>2]=c[m>>2];break}c[h>>2]=HR((c[p>>2]|0)+60|0,(c[q>>2]|0)+60|0)|0;do if(!(c[h>>2]|0)){a[(c[g>>2]|0)+2>>0]=1;f=(c[p>>2]|0)+72|0;k=(c[q>>2]|0)+72|0;if(!((c[f>>2]|0)==(c[k>>2]|0)?(c[f+4>>2]|0)==(c[k+4>>2]|0):0)){p=(c[p>>2]|0)+72|0;f=c[p+4>>2]|0;q=(c[q>>2]|0)+72|0;k=c[q+4>>2]|0;c[h>>2]=(((f|0)>(k|0)|((f|0)==(k|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0))&1|0)==(c[(c[j>>2]|0)+56>>2]|0)?-1:1;break}a[(c[p>>2]|0)+84>>0]=a[(c[q>>2]|0)+84>>0]|0;c[i>>2]=c[n>>2];q=c[i>>2]|0;l=r;return q|0}while(0);if((c[h>>2]|0)<0){c[o>>2]=c[m>>2];break}else{c[o>>2]=c[n>>2];break}}else c[o>>2]=c[n>>2];while(0);b[c[g>>2]>>1]=c[o>>2];c[i>>2]=0;q=c[i>>2]|0;l=r;return q|0}function HR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[((c[(c[d>>2]|0)+4>>2]|0)<(c[(c[e>>2]|0)+4>>2]|0)?c[d>>2]|0:c[e>>2]|0)+4>>2];c[f>>2]=H_(c[c[d>>2]>>2]|0,c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(!(c[f>>2]|0)){h=(c[(c[d>>2]|0)+4>>2]|0)-(c[(c[e>>2]|0)+4>>2]|0)|0;l=g;return h|0}else{h=c[f>>2]|0;l=g;return h|0}return 0}function IR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;if(c[(c[f>>2]|0)+36>>2]|0){f=1;f=f&1;l=e;return f|0}f=(c[(c[d>>2]|0)+8+8>>2]|0)!=0;f=f&1;l=e;return f|0}function JR(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+8+24|0;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function KR(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+8+16>>2]|0}function LR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=aS(c[f>>2]|0,c[e>>2]|0,0)|0;l=d;return b|0}function MR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)>(c[(c[c[f>>2]>>2]|0)+8>>2]|0)){c[(c[e>>2]|0)+36>>2]=267;l=k;return}AR(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=0;c[(c[f>>2]|0)+8>>2]=(c[g>>2]|0)-1;_R(c[e>>2]|0,c[f>>2]|0);if(c[(c[e>>2]|0)+36>>2]|0){l=k;return}c[i>>2]=c[c[(c[f>>2]|0)+12>>2]>>2];c[j>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+8>>2];c[h>>2]=(QR(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0)&65535;if((c[h>>2]|0)>=4?(c[h>>2]|0)<(c[j>>2]|0):0){j=(RR((c[i>>2]|0)+(c[h>>2]|0)|0,(c[f>>2]|0)+72|0)|0)&255;c[h>>2]=(c[h>>2]|0)+j;c[(c[f>>2]|0)+20>>2]=c[h>>2];UR(c[e>>2]|0,c[f>>2]|0);l=k;return}c[(c[e>>2]|0)+36>>2]=267;l=k;return}function NR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=XR(c[f>>2]|0,c[e>>2]|0,0)|0;l=d;return b|0}function OR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;AR(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=0;while(1){if(c[(c[d>>2]|0)+36>>2]|0)break;if((c[(c[e>>2]|0)+8>>2]|0)<=(c[(c[e>>2]|0)+28>>2]|0))break;a=(c[e>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+-1;a=c[d>>2]|0;k=c[c[c[e>>2]>>2]>>2]|0;k=j0(k|0,((k|0)<0)<<31>>31|0,37)|0;k=_$(k|0,D|0,0,0)|0;k=_$(k|0,D|0,0,0)|0;b=c[(c[e>>2]|0)+8>>2]|0;b=_$(k|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;c[f>>2]=PR(a,b,D)|0;if(!(c[f>>2]|0))continue;if((c[(c[e>>2]|0)+8>>2]|0)==(c[(c[e>>2]|0)+28>>2]|0)){if((c[(c[e>>2]|0)+32>>2]|0)<(c[(c[f>>2]|0)+8>>2]|0)){c[(c[e>>2]|0)+12>>2]=c[f>>2];c[(c[e>>2]|0)+20>>2]=c[(c[e>>2]|0)+32>>2]}}else{c[g>>2]=(QR(c[c[f>>2]>>2]|0)|0)&65535;if(c[g>>2]|0){c[(c[e>>2]|0)+12>>2]=c[f>>2];c[(c[e>>2]|0)+20>>2]=c[g>>2]}}if(c[(c[e>>2]|0)+12>>2]|0){i=11;break}AR(c[f>>2]|0)}if((i|0)==11){c[h>>2]=(c[c[(c[e>>2]|0)+12>>2]>>2]|0)+(c[(c[e>>2]|0)+20>>2]|0);i=(RR(c[h>>2]|0,(c[e>>2]|0)+72|0)|0)&255;k=(c[e>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+i}if(!(c[(c[e>>2]|0)+12>>2]|0)){l=j;return}c[(c[e>>2]|0)+40>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+4>>2]|0)+1;SR(c[d>>2]|0,c[e>>2]|0);l=j;return} +function PI(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+48|0;w=y+20|0;x=y+16|0;t=y+32|0;n=y+30|0;o=y+28|0;p=y+26|0;u=y+35|0;i=y+34|0;v=y+24|0;j=y+12|0;k=y+8|0;s=y+4|0;m=y;c[x>>2]=f;b[t>>1]=g;b[n>>1]=h;a[i>>0]=0;b[v>>1]=b[n>>1]|0;c[j>>2]=(c[(c[(c[x>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[k>>2]=(e[t>>1]|0)+(e[n>>1]|0);c[s>>2]=c[(c[x>>2]|0)+56>>2];if((e[(c[(c[x>>2]|0)+52>>2]|0)+22>>1]|0)&4|0)m0((c[s>>2]|0)+(e[t>>1]|0)|0,0,e[n>>1]|0|0)|0;a[u>>0]=a[(c[x>>2]|0)+5>>0]|0;b[o>>1]=(d[u>>0]|0)+1;if((d[(c[s>>2]|0)+((e[o>>1]|0)+1)>>0]|0|0)==0?(d[(c[s>>2]|0)+(e[o>>1]|0)>>0]|0|0)==0:0)b[p>>1]=0;else r=6;do if((r|0)==6){while(1){r=0;h=((d[(c[s>>2]|0)+(e[o>>1]|0)>>0]|0)<<8|(d[(c[s>>2]|0)+(e[o>>1]|0)+1>>0]|0))&65535;b[p>>1]=h;if((h&65535|0)>=(e[t>>1]|0|0))break;q=b[p>>1]|0;if((e[p>>1]|0|0)<((e[o>>1]|0)+4|0)){r=8;break}b[o>>1]=q;r=6}if((r|0)==8?q&65535|0:0){c[w>>2]=kn(59854)|0;x=c[w>>2]|0;l=y;return x|0}if((e[p>>1]|0)>>>0>(c[j>>2]|0)>>>0){c[w>>2]=kn(59858)|0;x=c[w>>2]|0;l=y;return x|0}do if(e[p>>1]|0|0?((c[k>>2]|0)+3|0)>>>0>=(e[p>>1]|0)>>>0:0){a[i>>0]=(e[p>>1]|0)-(c[k>>2]|0);if((c[k>>2]|0)>>>0>(e[p>>1]|0)>>>0){c[w>>2]=kn(59869)|0;x=c[w>>2]|0;l=y;return x|0}c[k>>2]=(e[p>>1]|0)+((d[(c[s>>2]|0)+((e[p>>1]|0)+2)>>0]|0)<<8|(d[(c[s>>2]|0)+((e[p>>1]|0)+2)+1>>0]|0));if((c[k>>2]|0)>>>0<=(c[(c[(c[x>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[n>>1]=(c[k>>2]|0)-(e[t>>1]|0);b[p>>1]=(d[(c[s>>2]|0)+(e[p>>1]|0)>>0]|0)<<8|(d[(c[s>>2]|0)+(e[p>>1]|0)+1>>0]|0);break}c[w>>2]=kn(59871)|0;x=c[w>>2]|0;l=y;return x|0}while(0);do if((e[o>>1]|0|0)>((d[u>>0]|0)+1|0)?(c[m>>2]=(e[o>>1]|0)+((d[(c[s>>2]|0)+((e[o>>1]|0)+2)>>0]|0)<<8|(d[(c[s>>2]|0)+((e[o>>1]|0)+2)+1>>0]|0)),((c[m>>2]|0)+3|0)>=(e[t>>1]|0|0)):0){if((c[m>>2]|0)<=(e[t>>1]|0|0)){a[i>>0]=(d[i>>0]|0)+((e[t>>1]|0)-(c[m>>2]|0));b[n>>1]=(c[k>>2]|0)-(e[o>>1]|0);b[t>>1]=b[o>>1]|0;break}c[w>>2]=kn(59883)|0;x=c[w>>2]|0;l=y;return x|0}while(0);if((d[i>>0]|0|0)<=(d[(c[s>>2]|0)+((d[u>>0]|0)+7)>>0]|0|0)){r=(c[s>>2]|0)+((d[u>>0]|0)+7)|0;a[r>>0]=(d[r>>0]|0)-(d[i>>0]|0);break}c[w>>2]=kn(59889)|0;x=c[w>>2]|0;l=y;return x|0}while(0);do if((e[t>>1]|0|0)==((d[(c[s>>2]|0)+((d[u>>0]|0)+5)>>0]|0)<<8|(d[(c[s>>2]|0)+((d[u>>0]|0)+5)+1>>0]|0)|0)){if((e[o>>1]|0|0)==((d[u>>0]|0)+1|0)){a[(c[s>>2]|0)+((d[u>>0]|0)+1)>>0]=(e[p>>1]|0)>>8;a[(c[s>>2]|0)+((d[u>>0]|0)+1)+1>>0]=b[p>>1];a[(c[s>>2]|0)+((d[u>>0]|0)+5)>>0]=(c[k>>2]|0)>>>8;i=c[k>>2]&255;g=c[s>>2]|0;f=(d[u>>0]|0)+5|0;break}c[w>>2]=kn(59896)|0;x=c[w>>2]|0;l=y;return x|0}else{a[(c[s>>2]|0)+(e[o>>1]|0)>>0]=(e[t>>1]|0)>>8;a[(c[s>>2]|0)+(e[o>>1]|0)+1>>0]=b[t>>1];a[(c[s>>2]|0)+(e[t>>1]|0)>>0]=(e[p>>1]|0)>>8;a[(c[s>>2]|0)+(e[t>>1]|0)+1>>0]=b[p>>1];a[(c[s>>2]|0)+((e[t>>1]|0)+2)>>0]=(e[n>>1]|0)>>8;i=b[n>>1]&255;g=c[s>>2]|0;f=(e[t>>1]|0)+2|0}while(0);a[g+f+1>>0]=i;x=(c[x>>2]|0)+16|0;b[x>>1]=(e[x>>1]|0)+(e[v>>1]|0);c[w>>2]=0;x=c[w>>2]|0;l=y;return x|0}function QI(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;d=Mb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=d;l=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function RI(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t+36|0;m=t+32|0;n=t+28|0;o=t+24|0;p=t+20|0;q=t+16|0;r=t+12|0;h=t+8|0;i=t+4|0;j=t;c[m>>2]=b;c[n>>2]=f;c[o>>2]=g;c[p>>2]=d[(c[m>>2]|0)+5>>0];c[q>>2]=c[(c[m>>2]|0)+56>>2];c[h>>2]=0;c[i>>2]=(e[(c[m>>2]|0)+14>>1]|0)+((e[(c[m>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[q>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[q>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0);do if((c[i>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[m>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[k>>2]=kn(59758)|0;s=c[k>>2]|0;l=t;return s|0}while(0);if(!(!(d[(c[q>>2]|0)+((c[p>>2]|0)+2)>>0]|0|0)?!(d[(c[q>>2]|0)+((c[p>>2]|0)+1)>>0]|0|0):0))s=8;if((s|0)==8?((c[i>>2]|0)+2|0)<=(c[r>>2]|0):0){c[j>>2]=OI(c[m>>2]|0,c[n>>2]|0,h)|0;if(c[j>>2]|0){c[c[o>>2]>>2]=(c[j>>2]|0)-(c[q>>2]|0);c[k>>2]=0;s=c[k>>2]|0;l=t;return s|0}if(c[h>>2]|0){c[k>>2]=c[h>>2];s=c[k>>2]|0;l=t;return s|0}}do if(((c[i>>2]|0)+2+(c[n>>2]|0)|0)>(c[r>>2]|0)){c[h>>2]=GI(c[m>>2]|0)|0;if(!(c[h>>2]|0)){c[r>>2]=(((d[(c[q>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[q>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[k>>2]=c[h>>2];s=c[k>>2]|0;l=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[n>>2]|0);a[(c[q>>2]|0)+((c[p>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[q>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[r>>2];c[c[o>>2]>>2]=c[r>>2];c[k>>2]=0;s=c[k>>2]|0;l=t;return s|0}function SI(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+96|0;D=E+76|0;x=E+72|0;y=E+68|0;i=E+64|0;z=E+60|0;A=E+56|0;j=E+52|0;k=E+48|0;m=E+44|0;B=E+40|0;n=E+36|0;o=E+32|0;C=E+28|0;p=E+24|0;q=E+20|0;r=E+16|0;s=E+12|0;t=E+8|0;u=E+4|0;v=E;w=E+80|0;c[x>>2]=b;c[y>>2]=f;c[i>>2]=g;c[z>>2]=h;c[o>>2]=0;c[C>>2]=0;c[r>>2]=c[(c[x>>2]|0)+52>>2];c[s>>2]=0;c[t>>2]=d[(c[x>>2]|0)+6>>0];b=c[i>>2]|0;if(a[(c[x>>2]|0)+2>>0]|0){c[A>>2]=(c[b+20>>2]|0)+(c[(c[i>>2]|0)+24>>2]|0);c[j>>2]=c[(c[i>>2]|0)+16>>2];c[k>>2]=c[(c[i>>2]|0)+20>>2];if((c[A>>2]|0)>>>0<128){a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=c[A>>2];b=1}else{b=c[A>>2]|0;b=_F((c[y>>2]|0)+(c[t>>2]|0)|0,b,((b|0)<0)<<31>>31)|0}c[t>>2]=(c[t>>2]|0)+(b&255);i=(c[i>>2]|0)+8|0;i=_F((c[y>>2]|0)+(c[t>>2]|0)|0,c[i>>2]|0,c[i+4>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+i}else{h=c[b+8>>2]|0;c[A>>2]=h;c[k>>2]=h;c[j>>2]=c[c[i>>2]>>2];if((c[A>>2]|0)>>>0<128){a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=c[A>>2];b=1}else{b=c[A>>2]|0;b=_F((c[y>>2]|0)+(c[t>>2]|0)|0,b,((b|0)<0)<<31>>31)|0}c[t>>2]=(c[t>>2]|0)+(b&255)}if((c[A>>2]|0)<=(e[(c[x>>2]|0)+10>>1]|0)){x=(c[t>>2]|0)+(c[A>>2]|0)|0;c[m>>2]=x;c[m>>2]=(c[m>>2]|0)<4?4:x;c[c[z>>2]>>2]=c[m>>2];c[n>>2]=c[A>>2];c[p>>2]=c[y>>2]}else{c[u>>2]=e[(c[x>>2]|0)+12>>1];c[m>>2]=(c[u>>2]|0)+((((c[A>>2]|0)-(c[u>>2]|0)|0)>>>0)%(((c[(c[(c[x>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[m>>2]|0)>(e[(c[x>>2]|0)+10>>1]|0))c[m>>2]=c[u>>2];c[n>>2]=c[m>>2];c[c[z>>2]>>2]=(c[m>>2]|0)+(c[t>>2]|0)+4;c[p>>2]=(c[y>>2]|0)+((c[t>>2]|0)+(c[m>>2]|0))}c[q>>2]=(c[y>>2]|0)+(c[t>>2]|0);while(1){if((c[A>>2]|0)<=0){b=35;break}if(!(c[n>>2]|0)){c[v>>2]=c[s>>2];if(a[(c[r>>2]|0)+17>>0]|0)while(1){c[s>>2]=(c[s>>2]|0)+1;z=Yp(c[r>>2]|0,c[s>>2]|0)|0;if((z|0)==(c[s>>2]|0))continue;if((c[s>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[r>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[B>>2]=bq(c[r>>2]|0,o,s,c[s>>2]|0,0)|0;if(((c[B>>2]|0)==0?(d[(c[r>>2]|0)+17>>0]|0)!=0:0)?(a[w>>0]=c[v>>2]|0?4:3,hq(c[r>>2]|0,c[s>>2]|0,a[w>>0]|0,c[v>>2]|0,B),c[B>>2]|0):0)cq(c[o>>2]|0);if(c[B>>2]|0){b=25;break}Nn(c[p>>2]|0,c[s>>2]|0);cq(c[C>>2]|0);c[C>>2]=c[o>>2];c[p>>2]=c[(c[o>>2]|0)+56>>2];Nn(c[p>>2]|0,0);c[q>>2]=(c[(c[o>>2]|0)+56>>2]|0)+4;c[n>>2]=(c[(c[r>>2]|0)+36>>2]|0)-4}c[m>>2]=c[A>>2];if((c[m>>2]|0)>(c[n>>2]|0))c[m>>2]=c[n>>2];if((c[k>>2]|0)>0){if((c[m>>2]|0)>(c[k>>2]|0))c[m>>2]=c[k>>2];h0(c[q>>2]|0,c[j>>2]|0,c[m>>2]|0)|0}else m0(c[q>>2]|0,0,c[m>>2]|0)|0;c[A>>2]=(c[A>>2]|0)-(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[m>>2]|0)}if((b|0)==25){cq(c[C>>2]|0);c[D>>2]=c[B>>2];D=c[D>>2]|0;l=E;return D|0}else if((b|0)==35){cq(c[C>>2]|0);c[D>>2]=0;D=c[D>>2]|0;l=E;return D|0}return 0}function TI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;n=u+44|0;o=u+40|0;p=u+36|0;q=u+32|0;r=u+28|0;s=u+24|0;t=u+20|0;g=u+16|0;h=u+12|0;i=u+8|0;j=u+4|0;k=u+48|0;m=u;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=c[(c[o>>2]|0)+4>>2];b=c[r>>2]|0;if(a[(c[r>>2]|0)+17>>0]|0){Xp(b);Ip(c[o>>2]|0,4,t);c[t>>2]=(c[t>>2]|0)+1;while(1){f=c[t>>2]|0;if((f|0)!=(Yp(c[r>>2]|0,c[t>>2]|0)|0)?(c[t>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[r>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[t>>2]=(c[t>>2]|0)+1}c[g>>2]=bq(c[r>>2]|0,j,i,c[t>>2]|0,1)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}if((c[i>>2]|0)!=(c[t>>2]|0)){a[k>>0]=0;c[m>>2]=0;c[g>>2]=_p(c[r>>2]|0,0,0)|0;cq(c[j>>2]|0);if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=dq(c[r>>2]|0,c[t>>2]|0,s,0)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=aq(c[r>>2]|0,c[t>>2]|0,k,m)|0;if(!((d[k>>0]|0)!=1?(d[k>>0]|0)!=2:0))c[g>>2]=kn(66598)|0;if(c[g>>2]|0){cq(c[s>>2]|0);c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=eq(c[r>>2]|0,c[s>>2]|0,a[k>>0]|0,c[m>>2]|0,c[i>>2]|0,0)|0;cq(c[s>>2]|0);if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=dq(c[r>>2]|0,c[t>>2]|0,s,0)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=Jn(c[(c[s>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){cq(c[s>>2]|0);c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}}else c[s>>2]=c[j>>2];hq(c[r>>2]|0,c[t>>2]|0,1,0,g);if(c[g>>2]|0){cq(c[s>>2]|0);c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=Mp(c[o>>2]|0,4,c[t>>2]|0)|0;if(c[g>>2]|0){cq(c[s>>2]|0);c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}}else{c[g>>2]=bq(b,s,t,1,0)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}}if(c[q>>2]&1|0)c[h>>2]=13;else c[h>>2]=10;Tq(c[s>>2]|0,c[h>>2]|0);On(c[(c[s>>2]|0)+72>>2]|0);c[c[p>>2]>>2]=c[t>>2];c[n>>2]=0;t=c[n>>2]|0;l=u;return t|0}function UI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;i=r+8|0;j=r+4|0;k=r;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[i>>2]=h;c[j>>2]=c[(c[n>>2]|0)+4>>2];if(c[p>>2]|0?(VI(c[j>>2]|0),(c[(c[j>>2]|0)+80>>2]|0)==0):0){c[m>>2]=7;q=c[m>>2]|0;l=r;return q|0}if((c[o>>2]|0)==1?(Rn(c[j>>2]|0)|0)==0:0)c[o>>2]=0;c[(c[i>>2]|0)+52>>2]=c[o>>2];a[(c[i>>2]|0)+68>>0]=-1;c[(c[i>>2]|0)+72>>2]=c[q>>2];c[c[i>>2]>>2]=c[n>>2];c[(c[i>>2]|0)+4>>2]=c[j>>2];a[(c[i>>2]|0)+64>>0]=c[p>>2]|0?1:0;a[(c[i>>2]|0)+65>>0]=c[p>>2]|0?0:2;c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[o>>2]|0)){q=(c[k>>2]|0)+64|0;a[q>>0]=d[q>>0]|0|32;q=(c[i>>2]|0)+64|0;a[q>>0]=d[q>>0]|0|32}c[k>>2]=c[(c[k>>2]|0)+8>>2]}c[(c[i>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];c[(c[j>>2]|0)+8>>2]=c[i>>2];a[(c[i>>2]|0)+66>>0]=0;c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}function VI(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){l=e;return}b=yl(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){l=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;d=(c[d>>2]|0)+80|0;c[d>>2]=(c[d>>2]|0)+4;l=e;return}function WI(){return 200}function XI(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return}function YI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;g=o+24|0;h=o+20|0;i=o;j=o+16|0;k=o+12|0;m=o+8|0;n=o+28|0;c[h>>2]=b;b=i;c[b>>2]=e;c[b+4>>2]=f;if(0?1:(c[i+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[i>>2];m=i;m=f0(c[m>>2]|0,c[m+4>>2]|0,8)|0;n=i;c[n>>2]=m;c[n+4>>2]=D;c[j>>2]=7;while(1){if((c[j>>2]|0)<0)break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=c[i>>2]&127|128;m=i;m=f0(c[m>>2]|0,c[m+4>>2]|0,7)|0;n=i;c[n>>2]=m;c[n+4>>2]=D;c[j>>2]=(c[j>>2]|0)+-1}c[g>>2]=9;n=c[g>>2]|0;l=o;return n|0}c[m>>2]=0;do{f=(c[i>>2]&127|128)&255;e=c[m>>2]|0;c[m>>2]=e+1;a[n+e>>0]=f;e=i;e=f0(c[e>>2]|0,c[e+4>>2]|0,7)|0;f=i;c[f>>2]=e;c[f+4>>2]=D;f=i}while((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0);a[n>>0]=(d[n>>0]|0)&127;c[j>>2]=0;c[k>>2]=(c[m>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[n+(c[k>>2]|0)>>0]|0;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1}c[g>>2]=c[m>>2];n=c[g>>2]|0;l=o;return n|0}function ZI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+20|0;j=p+16|0;n=p+12|0;k=p+8|0;o=p+4|0;m=p;c[i>>2]=d;c[j>>2]=e;c[n>>2]=f;c[k>>2]=g;c[o>>2]=h;b[(c[o>>2]|0)+8>>1]=1;h=di(c[o>>2]|0,(c[n>>2]|0)+2|0)|0;c[m>>2]=h;if(h){o=c[m>>2]|0;l=p;return o|0}g=c[i>>2]|0;d=c[j>>2]|0;e=c[n>>2]|0;f=c[(c[o>>2]|0)+16>>2]|0;if(c[k>>2]|0)c[m>>2]=yq(g,d,e,f)|0;else c[m>>2]=oG(g,d,e,f)|0;d=c[o>>2]|0;if(!(c[m>>2]|0)){a[(c[d+16>>2]|0)+(c[n>>2]|0)>>0]=0;a[(c[(c[o>>2]|0)+16>>2]|0)+((c[n>>2]|0)+1)>>0]=0;b[(c[o>>2]|0)+8>>1]=528;c[(c[o>>2]|0)+12>>2]=c[n>>2];o=c[m>>2]|0;l=p;return o|0}else{ei(d);o=c[m>>2]|0;l=p;return o|0}return 0}function _I(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];l=i;return c[(c[f>>2]|0)+16+8>>2]|0}function $I(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[g>>2]=_D(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,f)|0;if(c[g>>2]|0){c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}if(c[f>>2]|0){c[d>>2]=kn(73491)|0;g=c[d>>2]|0;l=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}return 0}function aJ(d){d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(Ji(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;f=b[e>>1]|0;l=g;return f|0}if(!(Mi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;f=b[e>>1]|0;l=g;return f|0}else{b[e>>1]=8;f=b[e>>1]|0;l=g;return f|0}return 0}function bJ(a){a=a|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;_h(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;l=e;return c[d>>2]|0}function cJ(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[5608+(c[b>>2]<<2)>>2]|0}function dJ(b,f,g){b=b|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;u=L+48|0;t=L+40|0;s=L+32|0;A=L+24|0;z=L+16|0;F=L+8|0;r=L;p=L+184|0;q=L+180|0;M=L+176|0;J=L+172|0;K=L+144|0;D=L+140|0;E=L+136|0;B=L+132|0;C=L+128|0;i=L+124|0;j=L+120|0;G=L+116|0;k=L+112|0;m=L+108|0;n=L+104|0;o=L+100|0;c[p>>2]=b;c[q>>2]=f;c[M>>2]=g;c[J>>2]=c[q>>2];zd(K,0,c[q>>2]|0,c[M>>2]|0,0);a:do switch(a[(c[p>>2]|0)+1>>0]|0){case -6:{c[E>>2]=c[(c[p>>2]|0)+16>>2];c[r>>2]=e[(c[E>>2]|0)+6>>1];oj(K,40688,r);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(e[(c[E>>2]|0)+6>>1]|0))break;c[B>>2]=c[(c[E>>2]|0)+20+(c[D>>2]<<2)>>2];if(c[B>>2]|0)b=c[c[B>>2]>>2]|0;else b=55752;c[C>>2]=b;M=(G_(c[C>>2]|0,34455)|0)==0;c[C>>2]=M?40693:b;M=c[C>>2]|0;c[F>>2]=d[(c[(c[E>>2]|0)+16>>2]|0)+(c[D>>2]|0)>>0]|0?27684:55752;c[F+4>>2]=M;oj(K,40695,F);c[D>>2]=(c[D>>2]|0)+1}Pd(K,34322,1);break}case -4:{c[i>>2]=c[(c[p>>2]|0)+16>>2];c[z>>2]=c[c[i>>2]>>2];oj(K,40701,z);break}case -5:{c[j>>2]=c[(c[p>>2]|0)+16>>2];M=a[c[j>>2]>>0]|0;c[A>>2]=c[(c[j>>2]|0)+20>>2];c[A+4>>2]=M;oj(K,40709,A);break}case -13:{H=c[(c[p>>2]|0)+16>>2]|0;I=c[H+4>>2]|0;M=s;c[M>>2]=c[H>>2];c[M+4>>2]=I;oj(K,22191,s);break}case -14:{c[t>>2]=c[(c[p>>2]|0)+16>>2];oj(K,40716,t);break}case -12:{h[u>>3]=+h[c[(c[p>>2]|0)+16>>2]>>3];oj(K,23122,u);break}case -8:{c[G>>2]=c[(c[p>>2]|0)+16>>2];b=c[G>>2]|0;if(e[(c[G>>2]|0)+8>>1]&2|0){c[J>>2]=c[b+16>>2];break a}f=c[G>>2]|0;if(e[b+8>>1]&4|0){G=f;I=c[G+4>>2]|0;M=H;c[M>>2]=c[G>>2];c[M+4>>2]=I;oj(K,22191,H);break a}b=c[G>>2]|0;if(e[f+8>>1]&8|0){h[I>>3]=+h[b>>3];oj(K,23122,I);break a}if(e[b+8>>1]&1|0){c[J>>2]=20953;break a}else{c[J>>2]=40719;break a}}case -10:{c[k>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2];c[v>>2]=c[k>>2];oj(K,40726,v);break}case -15:{c[n>>2]=c[(c[p>>2]|0)+16>>2];c[o>>2]=c[c[n>>2]>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[w>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];oj(K,40734,w);c[m>>2]=(c[m>>2]|0)+1}a[c[q>>2]>>0]=91;Pd(K,40738,1);break}case -18:{oj(K,40740,x);break}case -19:{a[c[q>>2]>>0]=0;break}case -20:{c[y>>2]=c[c[(c[p>>2]|0)+16>>2]>>2];oj(K,21240,y);break}default:{c[J>>2]=c[(c[p>>2]|0)+16>>2];if(!(c[J>>2]|0)){c[J>>2]=c[q>>2];a[c[q>>2]>>0]=0}}}while(0);Bd(K)|0;l=L;return c[J>>2]|0}function eJ(a){a=a|0;var b=0,d=0,f=0,g=0;f=l;l=l+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0?c[(c[d>>2]|0)+104>>2]|0:0){c[b>>2]=e[(c[d>>2]|0)+140>>1];g=c[b>>2]|0;l=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;l=f;return g|0}function fJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Ri(Hv(c[f>>2]|0,c[g>>2]|0)|0)|0;Iv(c[f>>2]|0);l=e;return c[d>>2]|0}function gJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Sh(Hv(c[f>>2]|0,c[g>>2]|0)|0)|0;Iv(c[f>>2]|0);l=e;return c[d>>2]|0}function hJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+Hi(Hv(c[f>>2]|0,c[g>>2]|0)|0);Iv(c[f>>2]|0);l=e;return +(+h[d>>3])}function iJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Qi(Hv(c[f>>2]|0,c[g>>2]|0)|0)|0;Iv(c[f>>2]|0);l=e;return c[d>>2]|0}function jJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;a=Fi(Hv(c[f>>2]|0,c[g>>2]|0)|0)|0;b=e;c[b>>2]=a;c[b+4>>2]=D;Iv(c[f>>2]|0);b=e;D=c[b+4>>2]|0;l=d;return c[b>>2]|0}function kJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+8|0;i=h+4|0;g=h;c[f>>2]=a;c[i>>2]=d;c[g>>2]=Hv(c[f>>2]|0,c[i>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){i=c[f>>2]|0;Iv(i);i=c[g>>2]|0;l=h;return i|0}i=(c[g>>2]|0)+8|0;b[i>>1]=(e[i>>1]|0)&-2049;i=(c[g>>2]|0)+8|0;b[i>>1]=e[i>>1]|0|4096;i=c[f>>2]|0;Iv(i);i=c[g>>2]|0;l=h;return i|0}function lJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=mJ(c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,0)|0;l=g;return f|0}function mJ(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;t=s+28|0;p=s+24|0;q=s+20|0;r=s+16|0;j=s+12|0;k=s+32|0;m=s+8|0;n=s+4|0;o=s;c[t>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[j>>2]=h;a[k>>0]=i;c[m>>2]=c[t>>2];c[o>>2]=nJ(c[m>>2]|0,c[p>>2]|0)|0;if(c[o>>2]|0){if(!((c[j>>2]|0)!=0&(c[j>>2]|0)!=(-1|0))){t=c[o>>2]|0;l=s;return t|0}Eb[c[j>>2]&255](c[q>>2]|0);t=c[o>>2]|0;l=s;return t|0}if(c[q>>2]|0){c[n>>2]=(c[(c[m>>2]|0)+116>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);c[o>>2]=ci(c[n>>2]|0,c[q>>2]|0,c[r>>2]|0,a[k>>0]|0,c[j>>2]|0)|0;if((c[o>>2]|0)==0?d[k>>0]|0|0:0)c[o>>2]=oi(c[n>>2]|0,d[(c[c[m>>2]>>2]|0)+66>>0]|0)|0;ml(c[c[m>>2]>>2]|0,c[o>>2]|0);c[o>>2]=Jr(c[c[m>>2]>>2]|0,c[o>>2]|0)|0}ud(c[(c[c[m>>2]>>2]|0)+12>>2]|0);t=c[o>>2]|0;l=s;return t|0}function nJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;c[g>>2]=a;c[h>>2]=d;if(Cs(c[g>>2]|0)|0){c[f>>2]=qd(76348)|0;k=c[f>>2]|0;l=m;return k|0}td(c[(c[c[g>>2]>>2]|0)+12>>2]|0);if((c[(c[g>>2]|0)+20>>2]|0)==770837923?(c[(c[g>>2]|0)+36>>2]|0)<0:0){if((c[h>>2]|0)>=1?(c[h>>2]|0)<=(b[(c[g>>2]|0)+16>>1]|0):0){c[h>>2]=(c[h>>2]|0)+-1;c[i>>2]=(c[(c[g>>2]|0)+116>>2]|0)+((c[h>>2]|0)*40|0);ei(c[i>>2]|0);b[(c[i>>2]|0)+8>>1]=1;ml(c[c[g>>2]>>2]|0,0);do if((e[(c[g>>2]|0)+144>>1]|0)>>>9&1|0){if(!((c[h>>2]|0)<32?(c[(c[g>>2]|0)+196>>2]&1<>2]|0)!=0:0))k=12;if((k|0)==12?(c[(c[g>>2]|0)+196>>2]|0)!=-1:0)break;k=(c[g>>2]|0)+144|0;b[k>>1]=b[k>>1]&-2|1}while(0);c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}ml(c[c[g>>2]>>2]|0,25);ud(c[(c[c[g>>2]>>2]|0)+12>>2]|0);c[f>>2]=25;k=c[f>>2]|0;l=m;return k|0}ml(c[c[g>>2]>>2]|0,21);ud(c[(c[c[g>>2]>>2]|0)+12>>2]|0);c[j>>2]=c[(c[g>>2]|0)+176>>2];xd(21,42145,j);c[f>>2]=qd(76356)|0;k=c[f>>2]|0;l=m;return k|0}function oJ(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;e=j+16|0;f=j;g=j+12|0;i=j+8|0;c[k>>2]=a;c[e>>2]=b;h[f>>3]=d;c[i>>2]=c[k>>2];c[g>>2]=nJ(c[i>>2]|0,c[e>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;l=j;return k|0}Di((c[(c[i>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);ud(c[(c[c[i>>2]>>2]|0)+12>>2]|0);k=c[g>>2]|0;l=j;return k|0}function pJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;d=qJ(c[g>>2]|0,c[f>>2]|0,d,((d|0)<0)<<31>>31)|0;l=e;return d|0}function qJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;f=j+16|0;g=j;h=j+12|0;i=j+8|0;c[k>>2]=a;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[i>>2]=c[k>>2];c[h>>2]=nJ(c[i>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=j;return k|0}k=g;Yh((c[(c[i>>2]|0)+116>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);ud(c[(c[c[i>>2]>>2]|0)+12>>2]|0);k=c[h>>2]|0;l=j;return k|0}function rJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[e>>2]=c[h>>2];c[d>>2]=nJ(c[e>>2]|0,c[g>>2]|0)|0;if(c[d>>2]|0){h=c[d>>2]|0;l=f;return h|0}ud(c[(c[c[e>>2]>>2]|0)+12>>2]|0);h=c[d>>2]|0;l=f;return h|0}function sJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=mJ(c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,1)|0;l=g;return f|0}function tJ(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[i>>2]=d;c[j>>2]=f;switch(Ai(c[j>>2]|0)|0){case 1:{j=c[j>>2]|0;c[k>>2]=qJ(c[g>>2]|0,c[i>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}case 2:{c[k>>2]=oJ(c[g>>2]|0,c[i>>2]|0,+h[c[j>>2]>>3])|0;k=c[k>>2]|0;l=m;return k|0}case 4:{f=c[g>>2]|0;b=c[i>>2]|0;d=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&16384|0){c[k>>2]=uJ(f,b,c[d>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}else{c[k>>2]=lJ(f,b,c[d+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0,-1)|0;k=c[k>>2]|0;l=m;return k|0}}case 3:{c[k>>2]=mJ(c[g>>2]|0,c[i>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0,-1,a[(c[j>>2]|0)+10>>0]|0)|0;k=c[k>>2]|0;l=m;return k|0}default:{c[k>>2]=rJ(c[g>>2]|0,c[i>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}}return 0}function uJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[j>>2];c[g>>2]=nJ(c[h>>2]|0,c[e>>2]|0)|0;if(c[g>>2]|0){j=c[g>>2]|0;l=i;return j|0}Yi((c[(c[h>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);ud(c[(c[c[h>>2]>>2]|0)+12>>2]|0);j=c[g>>2]|0;l=i;return j|0}function vJ(a){a=a|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;l=e;return f|0}f=b[(c[d>>2]|0)+16>>1]|0;l=e;return f|0}function wJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=UG(a,b,md(c[e>>2]|0)|0)|0;l=d;return b|0}function xJ(f,g,h,i,j,k,m,n){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+144|0;O=Q+48|0;N=Q+40|0;P=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;M=Q+132|0;B=Q+128|0;o=Q+124|0;F=Q+120|0;p=Q;q=Q+116|0;G=Q+112|0;r=Q+108|0;s=Q+104|0;H=Q+100|0;I=Q+96|0;t=Q+92|0;J=Q+88|0;K=Q+84|0;L=Q+80|0;u=Q+76|0;v=Q+72|0;w=Q+68|0;x=Q+64|0;y=Q+60|0;z=Q+56|0;A=Q+52|0;c[M>>2]=f;c[B>>2]=g;c[o>>2]=h;c[F>>2]=i;i=p;c[i>>2]=j;c[i+4>>2]=k;c[q>>2]=m;c[G>>2]=n;c[r>>2]=0;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[K>>2]=0;c[c[G>>2]>>2]=0;c[q>>2]=((c[q>>2]|0)!=0^1^1)&1;td(c[(c[M>>2]|0)+12>>2]|0);c[K>>2]=_l(c[M>>2]|0,36,0)|0;a:do if(c[K>>2]|0?(c[J>>2]=Cd(c[M>>2]|0,480,0)|0,c[J>>2]|0):0){while(1){m0(c[J>>2]|0,0,480)|0;c[c[J>>2]>>2]=c[M>>2];Xd(c[M>>2]|0,c[I>>2]|0);c[I>>2]=0;pk(c[M>>2]|0);c[t>>2]=ev(c[J>>2]|0,0,c[o>>2]|0,c[B>>2]|0)|0;if(c[t>>2]|0?d[(c[t>>2]|0)+42>>0]&16|0:0){c[t>>2]=0;n=c[J>>2]|0;c[C>>2]=c[o>>2];sl(n,42185,C)}if(c[t>>2]|0?d[(c[t>>2]|0)+42>>0]&32|0:0){c[t>>2]=0;n=c[J>>2]|0;c[D>>2]=c[o>>2];sl(n,42215,D)}if(c[t>>2]|0?c[(c[t>>2]|0)+12>>2]|0:0){c[t>>2]=0;n=c[J>>2]|0;c[E>>2]=c[o>>2];sl(n,42251,E)}if(!(c[t>>2]|0)){f=13;break}c[(c[K>>2]|0)+32>>2]=c[t>>2];n=c[(c[M>>2]|0)+16>>2]|0;n=c[n+((Hu(c[M>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0)<<4)>>2]|0;c[(c[K>>2]|0)+28>>2]=n;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break;if(!(bh(c[(c[(c[t>>2]|0)+4>>2]|0)+(c[s>>2]<<4)>>2]|0,c[F>>2]|0)|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)==(b[(c[t>>2]|0)+34>>1]|0)){f=21;break}if(c[q>>2]|0){c[L>>2]=0;b:do if(c[(c[M>>2]|0)+24>>2]&524288|0){c[v>>2]=c[(c[t>>2]|0)+16>>2];while(1){if(!(c[v>>2]|0))break b;c[w>>2]=0;while(1){f=c[v>>2]|0;if((c[w>>2]|0)>=(c[(c[v>>2]|0)+20>>2]|0))break;if((c[f+36+(c[w>>2]<<3)>>2]|0)==(c[s>>2]|0))c[L>>2]=42293;c[w>>2]=(c[w>>2]|0)+1}c[v>>2]=c[f+4>>2]}}while(0);c[u>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[u>>2]|0))break;c[x>>2]=0;while(1){f=c[u>>2]|0;if((c[x>>2]|0)>=(e[(c[u>>2]|0)+50>>1]|0))break;if(!((b[(c[f+4>>2]|0)+(c[x>>2]<<1)>>1]|0)!=(c[s>>2]|0)?(b[(c[(c[u>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)!=-2:0))c[L>>2]=42305;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=c[f+20>>2]}if(c[L>>2]|0){f=42;break}}n=$u(c[J>>2]|0)|0;c[(c[K>>2]|0)+20>>2]=n;if(c[(c[K>>2]|0)+20>>2]|0){c[y>>2]=c[(c[K>>2]|0)+20>>2];c[z>>2]=Hu(c[M>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0;zy(c[y>>2]|0,2,c[z>>2]|0,c[q>>2]|0,c[c[(c[t>>2]|0)+64>>2]>>2]|0,c[(c[(c[t>>2]|0)+64>>2]|0)+4>>2]|0)|0;jy(c[y>>2]|0,1);c[A>>2]=mA(c[y>>2]|0,9,42347,0)|0;Yu(c[y>>2]|0,c[z>>2]|0);if(!(d[(c[M>>2]|0)+69>>0]|0)){c[(c[A>>2]|0)+4>>2]=c[z>>2];c[(c[A>>2]|0)+8>>2]=c[(c[t>>2]|0)+28>>2];c[(c[A>>2]|0)+12>>2]=c[q>>2];Vu(c[y>>2]|0,1,c[c[t>>2]>>2]|0,0)}if(!(d[(c[M>>2]|0)+69>>0]|0)){if(c[q>>2]|0)a[(c[A>>2]|0)+20>>0]=105;c[(c[A>>2]|0)+20+8>>2]=c[(c[t>>2]|0)+28>>2];c[(c[A>>2]|0)+20+12>>2]=c[z>>2];a[(c[A>>2]|0)+20+1>>0]=-14;c[(c[A>>2]|0)+20+16>>2]=(b[(c[t>>2]|0)+34>>1]|0)+1;c[(c[A>>2]|0)+80+8>>2]=b[(c[t>>2]|0)+34>>1];b[(c[J>>2]|0)+400>>1]=1;c[(c[J>>2]|0)+44>>2]=1;c[(c[J>>2]|0)+40>>2]=1;JF(c[y>>2]|0,c[J>>2]|0)}}c[c[K>>2]>>2]=c[q>>2];c[(c[K>>2]|0)+12>>2]=c[s>>2];c[(c[K>>2]|0)+24>>2]=c[M>>2];rk(c[M>>2]|0);if(a[(c[M>>2]|0)+69>>0]|0)break a;n=p;qJ(c[(c[K>>2]|0)+20>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;n=p;c[H>>2]=yJ(c[K>>2]|0,c[n>>2]|0,c[n+4>>2]|0,I)|0;n=(c[r>>2]|0)+1|0;c[r>>2]=n;if(!((n|0)<50?(c[H>>2]|0)==17:0))break a}if((f|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Xd(c[M>>2]|0,c[I>>2]|0);c[I>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[H>>2]=1;rk(c[M>>2]|0);break}else if((f|0)==21){Xd(c[M>>2]|0,c[I>>2]|0);N=c[M>>2]|0;c[P>>2]=c[F>>2];c[I>>2]=Wj(N,42272,P)|0;c[H>>2]=1;rk(c[M>>2]|0);break}else if((f|0)==42){Xd(c[M>>2]|0,c[I>>2]|0);P=c[M>>2]|0;c[N>>2]=c[L>>2];c[I>>2]=Wj(P,42313,N)|0;c[H>>2]=1;rk(c[M>>2]|0);break}}while(0);if((c[H>>2]|0)==0?(d[(c[M>>2]|0)+69>>0]|0)==0:0){c[c[G>>2]>>2]=c[K>>2];L=c[M>>2]|0;N=c[H>>2]|0;P=c[I>>2]|0;P=(P|0)!=0;P=P?21240:0;K=c[I>>2]|0;c[O>>2]=K;ll(L,N,P,O);O=c[M>>2]|0;P=c[I>>2]|0;Xd(O,P);P=c[J>>2]|0;ql(P);P=c[M>>2]|0;O=c[J>>2]|0;Xd(P,O);O=c[M>>2]|0;P=c[H>>2]|0;P=Jr(O,P)|0;c[H>>2]=P;P=c[M>>2]|0;P=P+12|0;P=c[P>>2]|0;ud(P);P=c[H>>2]|0;l=Q;return P|0}if(c[K>>2]|0?c[(c[K>>2]|0)+20>>2]|0:0)Ir(c[(c[K>>2]|0)+20>>2]|0)|0;Xd(c[M>>2]|0,c[K>>2]|0);L=c[M>>2]|0;N=c[H>>2]|0;P=c[I>>2]|0;P=(P|0)!=0;P=P?21240:0;K=c[I>>2]|0;c[O>>2]=K;ll(L,N,P,O);O=c[M>>2]|0;P=c[I>>2]|0;Xd(O,P);P=c[J>>2]|0;ql(P);P=c[M>>2]|0;O=c[J>>2]|0;Xd(P,O);O=c[M>>2]|0;P=c[H>>2]|0;P=Jr(O,P)|0;c[H>>2]=P;P=c[M>>2]|0;P=P+12|0;P=c[P>>2]|0;ud(P);P=c[H>>2]|0;l=Q;return P|0}function yJ(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;r=s+24|0;q=s+16|0;j=s+8|0;k=s+52|0;m=s;n=s+48|0;o=s+44|0;p=s+40|0;h=s+36|0;g=s+32|0;i=s+28|0;c[k>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[p>>2]=0;c[h>>2]=c[(c[k>>2]|0)+20>>2];d=m;e=c[d+4>>2]|0;f=c[(c[h>>2]|0)+116>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[o>>2]=Bs(c[(c[k>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[g>>2]=c[c[(c[h>>2]|0)+112>>2]>>2];c[i>>2]=c[(c[g>>2]|0)+80+(c[(c[k>>2]|0)+12>>2]<<2)>>2];if((c[i>>2]|0)>>>0>=12){c[(c[k>>2]|0)+8>>2]=c[(c[g>>2]|0)+80+((c[(c[k>>2]|0)+12>>2]|0)+(b[(c[g>>2]|0)+12>>1]|0)<<2)>>2];j=gE(c[i>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=j;c[(c[k>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2];zJ(c[(c[k>>2]|0)+16>>2]|0);break}d=c[(c[k>>2]|0)+24>>2]|0;if(!(c[i>>2]|0))a=23015;else a=(c[i>>2]|0)==7?23005:22992;c[j>>2]=a;c[p>>2]=Wj(d,42383,j)|0;c[o>>2]=1;Fr(c[(c[k>>2]|0)+20>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}if(!(c[(c[k>>2]|0)+20>>2]|0)){q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}c[o>>2]=Fr(c[(c[k>>2]|0)+20>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=0;a=c[(c[k>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){k=m;m=c[k+4>>2]|0;r=q;c[r>>2]=c[k>>2];c[r+4>>2]=m;c[p>>2]=Wj(a,42412,q)|0;c[o>>2]=1;q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}else{c[r>>2]=Ev(c[(c[k>>2]|0)+24>>2]|0)|0;c[p>>2]=Wj(a,21240,r)|0;q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}return 0}function zJ(b){b=b|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;l=e;return}function AJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(c[b>>2]|0){c[e>>2]=c[(c[b>>2]|0)+24>>2];td(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=Fr(c[(c[b>>2]|0)+20>>2]|0)|0;Xd(c[e>>2]|0,c[b>>2]|0);ud(c[(c[e>>2]|0)+12>>2]|0);g=c[d>>2]|0;l=f;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}return 0}function BJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=CJ(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,148)|0;l=f;return e|0}function CJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;m=r+36|0;s=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[s>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[g>>2]=f;c[i>>2]=c[s>>2];if(!(c[i>>2]|0)){c[m>>2]=qd(84716)|0;s=c[m>>2]|0;l=r;return s|0}c[k>>2]=c[(c[i>>2]|0)+24>>2];td(c[(c[k>>2]|0)+12>>2]|0);c[j>>2]=c[(c[i>>2]|0)+20>>2];do if(!((c[o>>2]|0)<0|(c[p>>2]|0)<0)?(d=c[p>>2]|0,f=c[o>>2]|0,f=_$(d|0,((d|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0,d=D,s=c[(c[i>>2]|0)+4>>2]|0,e=((s|0)<0)<<31>>31,!((d|0)>(e|0)|(d|0)==(e|0)&f>>>0>s>>>0)):0){if(!(c[j>>2]|0)){c[h>>2]=4;break}DJ(c[(c[i>>2]|0)+16>>2]|0);c[h>>2]=Kb[c[g>>2]&255](c[(c[i>>2]|0)+16>>2]|0,(c[p>>2]|0)+(c[(c[i>>2]|0)+8>>2]|0)|0,c[o>>2]|0,c[n>>2]|0)|0;EJ(c[(c[i>>2]|0)+16>>2]|0);if((c[h>>2]|0)==4){Ir(c[j>>2]|0)|0;c[(c[i>>2]|0)+20>>2]=0;break}else{c[(c[j>>2]|0)+40>>2]=c[h>>2];break}}else q=5;while(0);if((q|0)==5)c[h>>2]=1;ml(c[k>>2]|0,c[h>>2]|0);c[h>>2]=Jr(c[k>>2]|0,c[h>>2]|0)|0;ud(c[(c[k>>2]|0)+12>>2]|0);c[m>>2]=c[h>>2];s=c[m>>2]|0;l=r;return s|0}function DJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;el(c[c[d>>2]>>2]|0);l=b;return}function EJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;bl(c[c[d>>2]>>2]|0);l=b;return}function FJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=CJ(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,149)|0;l=f;return e|0}function GJ(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=SD(c[h>>2]|0)|0;else a=0;c[m>>2]=a;if(c[m>>2]|0){c[g>>2]=c[m>>2];m=c[g>>2]|0;l=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)!=1){c[g>>2]=4;m=c[g>>2]|0;l=n;return m|0}_p(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,c[h>>2]|0)|0;if(!((d[(c[h>>2]|0)+64>>0]|0)&1)){c[g>>2]=8;m=c[g>>2]|0;l=n;return m|0}else{c[g>>2]=zq(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,1)|0;m=c[g>>2]|0;l=n;return m|0}return 0}function HJ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;l=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;l=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;l=d;return e|0}function IJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;g=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=qd(84814)|0;n=c[e>>2]|0;l=m;return n|0}c[i>>2]=c[(c[h>>2]|0)+24>>2];td(c[(c[i>>2]|0)+12>>2]|0);if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[g>>2]=yJ(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,j)|0;if(c[g>>2]|0){f=c[i>>2]|0;h=c[g>>2]|0;n=c[j>>2]|0?21240:0;c[k>>2]=c[j>>2];ll(f,h,n,k);Xd(c[i>>2]|0,c[j>>2]|0)}}else c[g>>2]=4;c[g>>2]=Jr(c[i>>2]|0,c[g>>2]|0)|0;ud(c[(c[i>>2]|0)+12>>2]|0);c[e>>2]=c[g>>2];n=c[e>>2]|0;l=m;return n|0}function JJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=KJ(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;l=f;return e|0}function KJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[g>>2]=0;td(c[(c[m>>2]|0)+12>>2]|0);c[h>>2]=md(c[n>>2]|0)|0;if(!(hv((c[m>>2]|0)+320|0,c[n>>2]|0)|0)){c[i>>2]=Ed(c[m>>2]|0,20+(c[h>>2]|0)+1|0,0)|0;if(c[i>>2]|0?(c[k>>2]=(c[i>>2]|0)+20,h0(c[k>>2]|0,c[n>>2]|0,(c[h>>2]|0)+1|0)|0,c[(c[i>>2]|0)+4>>2]=c[k>>2],c[c[i>>2]>>2]=c[o>>2],c[(c[i>>2]|0)+8>>2]=c[p>>2],c[(c[i>>2]|0)+12>>2]=c[q>>2],c[(c[i>>2]|0)+16>>2]=0,c[j>>2]=Fk((c[m>>2]|0)+320|0,c[k>>2]|0,c[i>>2]|0)|0,c[j>>2]|0):0){Od(c[m>>2]|0);Xd(c[m>>2]|0,c[j>>2]|0)}}else c[g>>2]=qd(122590)|0;c[g>>2]=Jr(c[m>>2]|0,c[g>>2]|0)|0;if(!((c[g>>2]|0)!=0&(c[q>>2]|0)!=0)){q=c[m>>2]|0;q=q+12|0;q=c[q>>2]|0;ud(q);q=c[g>>2]|0;l=r;return q|0}Eb[c[q>>2]&255](c[p>>2]|0);q=c[m>>2]|0;q=q+12|0;q=c[q>>2]|0;ud(q);q=c[g>>2]|0;l=r;return q|0}function LJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=KJ(c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return f|0}function MJ(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;r=s;i=s+40|0;j=s+36|0;k=s+32|0;m=s+28|0;n=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;g=s+8|0;h=s+4|0;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[q>>2]=0;td(c[(c[j>>2]|0)+12>>2]|0);c[m>>2]=c[(c[j>>2]|0)+336>>2];if(c[m>>2]|0?(c[(c[m>>2]|0)+12>>2]|0)==0:0){c[p>>2]=c[(c[m>>2]|0)+4>>2];c[n>>2]=_l(c[j>>2]|0,480,0)|0;if(!(c[n>>2]|0))c[o>>2]=7;else{a[(c[n>>2]|0)+410>>0]=1;c[c[n>>2]>>2]=c[j>>2];c[(c[n>>2]|0)+136>>2]=1;if((((0==(Ps(c[n>>2]|0,c[k>>2]|0,q)|0)?c[(c[n>>2]|0)+440>>2]|0:0)?!(a[(c[j>>2]|0)+69>>0]|0):0)?!(c[(c[(c[n>>2]|0)+440>>2]|0)+12>>2]|0):0)?(d[(c[(c[n>>2]|0)+440>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[p>>2]|0)+4>>2]|0)){c[g>>2]=c[(c[n>>2]|0)+440>>2];c[(c[p>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];b[(c[p>>2]|0)+34>>1]=b[(c[g>>2]|0)+34>>1]|0;r=(c[p>>2]|0)+42|0;a[r>>0]=d[r>>0]|d[(c[g>>2]|0)+42>>0]&96;b[(c[g>>2]|0)+34>>1]=0;c[(c[g>>2]|0)+4>>2]=0;if(d[(c[g>>2]|0)+42>>0]&32|0?c[(c[c[(c[c[m>>2]>>2]|0)+4>>2]>>2]|0)+52>>2]|0:0)c[o>>2]=1;c[h>>2]=c[(c[g>>2]|0)+8>>2];if(c[h>>2]|0){c[(c[p>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=c[p>>2]}}c[(c[m>>2]|0)+12>>2]=1}else{m=c[j>>2]|0;p=c[q>>2]|0?21240:0;c[r>>2]=c[q>>2];ll(m,1,p,r);Xd(c[j>>2]|0,c[q>>2]|0);c[o>>2]=1}a[(c[n>>2]|0)+410>>0]=0;if(c[(c[n>>2]|0)+8>>2]|0)Ir(c[(c[n>>2]|0)+8>>2]|0)|0;tk(c[j>>2]|0,c[(c[n>>2]|0)+440>>2]|0);ql(c[n>>2]|0);Xd(c[j>>2]|0,c[n>>2]|0)}c[o>>2]=Jr(c[j>>2]|0,c[o>>2]|0)|0;ud(c[(c[j>>2]|0)+12>>2]|0);c[i>>2]=c[o>>2];r=c[i>>2]|0;l=s;return r|0}ml(c[j>>2]|0,21);ud(c[(c[j>>2]|0)+12>>2]|0);c[i>>2]=qd(123278)|0;r=c[i>>2]|0;l=s;return r|0}function NJ(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[42432+((d[(c[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function OJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+36|0;m=k+32|0;g=k+16|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[m>>2]=d;c[h>>2]=0;td(c[(c[f>>2]|0)+12>>2]|0);c[g>>2]=e;do if((c[m>>2]|0)==1){c[i>>2]=c[(c[f>>2]|0)+336>>2];if(c[i>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);m=c[e>>2]|0;c[g>>2]=e+4;c[j>>2]=m;a[(c[c[i>>2]>>2]|0)+16>>0]=c[j>>2];break}else{c[h>>2]=qd(123749)|0;break}}else c[h>>2]=qd(123757)|0;while(0);if(!(c[h>>2]|0)){m=c[f>>2]|0;m=m+12|0;m=c[m>>2]|0;ud(m);m=c[h>>2]|0;l=k;return m|0}ml(c[f>>2]|0,c[h>>2]|0);m=c[f>>2]|0;m=m+12|0;m=c[m>>2]|0;ud(m);m=c[h>>2]|0;l=k;return m|0}function PJ(){return 3015001}function QJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;o=x+76|0;p=x+72|0;q=x+56|0;r=x+52|0;s=x+48|0;t=x+44|0;u=x+40|0;v=x+36|0;e=x+32|0;f=x+28|0;g=x+24|0;h=x+20|0;i=x+16|0;j=x+12|0;k=x+8|0;m=x+4|0;n=x;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;switch(c[p>>2]|0){case 1e3:{d=(c[q>>2]|0)+(4-1)&~(4-1);w=c[d>>2]|0;c[q>>2]=d+4;c[s>>2]=w;c[c[(c[o>>2]|0)+16>>2]>>2]=c[s>>2];c[r>>2]=0;w=c[r>>2]|0;l=x;return w|0}case 1001:{d=(c[q>>2]|0)+(4-1)&~(4-1);w=c[d>>2]|0;c[q>>2]=d+4;c[u>>2]=w;c[t>>2]=c[u>>2];w=(c[q>>2]|0)+(4-1)&~(4-1);d=c[w>>2]|0;c[q>>2]=w+4;c[e>>2]=d;c[v>>2]=c[e>>2];d=(c[q>>2]|0)+(4-1)&~(4-1);w=c[d>>2]|0;c[q>>2]=d+4;c[g>>2]=w;c[f>>2]=c[g>>2];c[r>>2]=RJ(c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,c[f>>2]|0)|0;w=c[r>>2]|0;l=x;return w|0}default:{c[r>>2]=1;c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=4){w=17;break}if((c[6260+(c[h>>2]<<3)>>2]|0)==(c[p>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}if((w|0)==17){w=c[r>>2]|0;l=x;return w|0}w=(c[q>>2]|0)+(4-1)&~(4-1);d=c[w>>2]|0;c[q>>2]=w+4;c[j>>2]=d;c[i>>2]=c[j>>2];d=(c[q>>2]|0)+(4-1)&~(4-1);w=c[d>>2]|0;c[q>>2]=d+4;c[m>>2]=w;c[k>>2]=c[m>>2];c[n>>2]=c[(c[o>>2]|0)+24>>2];if((c[i>>2]|0)<=0){if(!(c[i>>2]|0)){w=(c[o>>2]|0)+24|0;c[w>>2]=c[w>>2]&~c[6260+(c[h>>2]<<3)+4>>2]}}else{w=(c[o>>2]|0)+24|0;c[w>>2]=c[w>>2]|c[6260+(c[h>>2]<<3)+4>>2]}if((c[n>>2]|0)!=(c[(c[o>>2]|0)+24>>2]|0))Qq(c[o>>2]|0);if(c[k>>2]|0)c[c[k>>2]>>2]=(c[(c[o>>2]|0)+24>>2]&c[6260+(c[h>>2]<<3)+4>>2]|0)!=0&1;c[r>>2]=0;w=c[r>>2]|0;l=x;return w|0}}return 0}function RJ(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q+28|0;o=q+24|0;j=q+20|0;k=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;i=q;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;if(c[(c[o>>2]|0)+256+8>>2]|0){c[p>>2]=5;p=c[p>>2]|0;l=q;return p|0}if(a[(c[o>>2]|0)+256+6>>0]|0)_d(c[(c[o>>2]|0)+256+32>>2]|0);g=c[k>>2]&-8;c[k>>2]=g;c[k>>2]=(c[k>>2]|0)<=4?0:g;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[k>>2]|0)==0|(c[m>>2]|0)==0)){if(c[j>>2]|0){c[n>>2]=c[j>>2];break}Ug();g=S(c[k>>2]|0,c[m>>2]|0)|0;c[n>>2]=Fd(g,((g|0)<0)<<31>>31)|0;Wg();if(c[n>>2]|0){g=Kd(c[n>>2]|0)|0;c[m>>2]=(g|0)/(c[k>>2]|0)|0}}else{c[k>>2]=0;c[n>>2]=0}while(0);c[(c[o>>2]|0)+256+32>>2]=c[n>>2];c[(c[o>>2]|0)+256+28>>2]=0;b[(c[o>>2]|0)+256+4>>1]=c[k>>2];if(c[n>>2]|0){c[i>>2]=c[n>>2];c[h>>2]=(c[m>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;c[c[i>>2]>>2]=c[(c[o>>2]|0)+256+28>>2];c[(c[o>>2]|0)+256+28>>2]=c[i>>2];c[i>>2]=(c[i>>2]|0)+(c[k>>2]|0);c[h>>2]=(c[h>>2]|0)+-1}c[(c[o>>2]|0)+256+36>>2]=c[i>>2];c[(c[o>>2]|0)+256>>2]=0;e=((c[j>>2]|0)==0?1:0)&255;d=c[o>>2]|0}else{c[(c[o>>2]|0)+256+32>>2]=c[o>>2];c[(c[o>>2]|0)+256+36>>2]=c[o>>2];c[(c[o>>2]|0)+256>>2]=1;e=0;d=c[o>>2]|0}a[d+256+6>>0]=e;c[p>>2]=0;p=c[p>>2]|0;l=q;return p|0}function SJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=TJ(c[d>>2]|0,0)|0;l=b;return a|0}function TJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=i+12|0;f=i+8|0;g=i+4|0;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}if(!(Fv(c[f>>2]|0)|0)){c[e>>2]=qd(138867)|0;h=c[e>>2]|0;l=i;return h|0}td(c[(c[f>>2]|0)+12>>2]|0);if((d[(c[f>>2]|0)+76>>0]|0)&8|0)Kb[c[(c[f>>2]|0)+184>>2]&255](8,c[(c[f>>2]|0)+188>>2]|0,c[f>>2]|0,0)|0;UJ(c[f>>2]|0);Br(c[f>>2]|0)|0;if((c[g>>2]|0)==0?rr(c[f>>2]|0)|0:0){ll(c[f>>2]|0,5,42442,h);ud(c[(c[f>>2]|0)+12>>2]|0);c[e>>2]=5;h=c[e>>2]|0;l=i;return h|0}c[(c[f>>2]|0)+84>>2]=1691352191;qr(c[f>>2]|0);c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}function UJ(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[b>>2]=a;pk(c[b>>2]|0);c[e>>2]=0;while(1){a=c[b>>2]|0;if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[g>>2]=c[(c[a+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[g>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[h>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[h>>2]|0)+42>>0]|0)&16|0)VJ(c[b>>2]|0,c[h>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[a+320+8>>2];while(1){if(!(c[f>>2]|0))break;c[i>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[i>>2]|0)+16>>2]|0)VJ(c[b>>2]|0,c[(c[i>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}Oq(c[b>>2]|0);rk(c[b>>2]|0);l=j;return}function VJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;d=h+12|0;i=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[i>>2]=b;c[e>>2]=(c[i>>2]|0)+56;while(1){if(!(c[c[e>>2]>>2]|0)){g=6;break}a=c[c[e>>2]>>2]|0;if((c[c[c[e>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[e>>2]=a+24}if((g|0)==6){l=h;return}c[f>>2]=a;c[c[e>>2]>>2]=c[(c[f>>2]|0)+24>>2];Dk(c[f>>2]|0);l=h;return}function WJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=TJ(c[d>>2]|0,1)|0;l=b;return a|0}function XJ(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=l;l=l+32|0;s=j+28|0;r=j+24|0;q=j+20|0;p=j+16|0;o=j+12|0;n=j+8|0;m=j+4|0;k=j;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[k>>2]=i;i=YJ(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,0)|0;l=j;return i|0}function YJ(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;v=x+40|0;k=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;r=x+12|0;s=x+8|0;t=x+4|0;u=x;c[v>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=1;c[u>>2]=0;td(c[(c[v>>2]|0)+12>>2]|0);do if(c[s>>2]|0){c[u>>2]=_l(c[v>>2]|0,12,0)|0;a=c[s>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[o>>2];w=5;break}else{Eb[a&255](c[o>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[t>>2]=WA(c[v>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0,c[u>>2]|0):0)?(c[c[u>>2]>>2]|0)==0:0){Eb[c[s>>2]&255](c[o>>2]|0);Xd(c[v>>2]|0,c[u>>2]|0)}c[t>>2]=Jr(c[v>>2]|0,c[t>>2]|0)|0;ud(c[(c[v>>2]|0)+12>>2]|0);l=x;return c[t>>2]|0}function ZJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;td(c[(c[e>>2]|0)+12>>2]|0);if(!(ox(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=WA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,232,0,0,0)|0;c[h>>2]=Jr(c[e>>2]|0,c[h>>2]|0)|0;ud(c[(c[e>>2]|0)+12>>2]|0);l=i;return c[h>>2]|0}function _J(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+32|0;h=e;g=e+20|0;i=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[i>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[i>>2];c[f>>2]=nf(42510,h)|0;Th(c[g>>2]|0,c[f>>2]|0,-1);_d(c[f>>2]|0);l=e;return}function $J(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[e>>2]=a;if(c[e>>2]|0?(Fv(c[e>>2]|0)|0)==0:0){c[b>>2]=qd(140115)|0;e=c[b>>2]|0;l=f;return e|0}if(c[e>>2]|0?(d[(c[e>>2]|0)+69>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];e=c[b>>2]|0;l=f;return e|0}c[b>>2]=7;e=c[b>>2]|0;l=f;return e|0}function aK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=bK(c[f>>2]|0,c[e>>2]|0,6,0)|0;l=d;return b|0}function bK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;r=s;k=s+40|0;m=s+36|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;h=s+16|0;g=s+12|0;i=s+8|0;j=s+4|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[i>>2]=0;c[j>>2]=0;c[c[n>>2]>>2]=0;c[h>>2]=fe()|0;if(c[h>>2]|0){c[k>>2]=c[h>>2];r=c[k>>2]|0;l=s;return r|0}if(!(1<<(c[o>>2]&7)&70)){c[k>>2]=qd(140621)|0;r=c[k>>2]|0;l=s;return r|0}do if(c[3]|0){if(c[o>>2]&32768|0){c[g>>2]=0;break}if(c[o>>2]&65536|0){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[o>>2]&262144|0)){if(c[57]|0)c[o>>2]=c[o>>2]|131072}else c[o>>2]=c[o>>2]&-131073;c[o>>2]=c[o>>2]&-655129;c[q>>2]=Xg(464,0)|0;do if(c[q>>2]|0){if(c[g>>2]|0?(f=ie(1)|0,c[(c[q>>2]|0)+12>>2]=f,(c[(c[q>>2]|0)+12>>2]|0)==0):0){_d(c[q>>2]|0);c[q>>2]=0;break}td(c[(c[q>>2]|0)+12>>2]|0);c[(c[q>>2]|0)+56>>2]=255;c[(c[q>>2]|0)+20>>2]=2;c[(c[q>>2]|0)+84>>2]=-264537850;c[(c[q>>2]|0)+16>>2]=(c[q>>2]|0)+392;b=(c[q>>2]|0)+96|0;d=5440;g=b+48|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(g|0));c[(c[q>>2]|0)+96+44>>2]=0;a[(c[q>>2]|0)+67>>0]=1;a[(c[q>>2]|0)+72>>0]=-1;g=184;e=c[g+4>>2]|0;f=(c[q>>2]|0)+40|0;c[f>>2]=c[g>>2];c[f+4>>2]=e;c[(c[q>>2]|0)+80>>2]=0;c[(c[q>>2]|0)+144>>2]=2147483647;f=(c[q>>2]|0)+24|0;c[f>>2]=c[f>>2]|17825888;Rq((c[q>>2]|0)+364|0);Rq((c[q>>2]|0)+320|0);dK(c[q>>2]|0,34455,1,0,147,0)|0;dK(c[q>>2]|0,34455,3,0,147,0)|0;dK(c[q>>2]|0,34455,2,0,147,0)|0;dK(c[q>>2]|0,34448,1,0,148,0)|0;dK(c[q>>2]|0,42561,1,1,147,0)|0;if(!(a[(c[q>>2]|0)+69>>0]|0)){f=tw(c[q>>2]|0,1,34455,0)|0;c[(c[q>>2]|0)+8>>2]=f;c[(c[q>>2]|0)+48>>2]=c[o>>2];c[h>>2]=Sz(c[p>>2]|0,c[m>>2]|0,o,c[q>>2]|0,i,j)|0;if(c[h>>2]|0){if((c[h>>2]|0)==7)Od(c[q>>2]|0);m=c[q>>2]|0;o=c[h>>2]|0;p=c[j>>2]|0?21240:0;c[r>>2]=c[j>>2];ll(m,o,p,r);_d(c[j>>2]|0);break}c[h>>2]=rl(c[c[q>>2]>>2]|0,c[i>>2]|0,c[q>>2]|0,(c[(c[q>>2]|0)+16>>2]|0)+4|0,0,c[o>>2]|256)|0;if(c[h>>2]|0){if((c[h>>2]|0)==3082)c[h>>2]=7;ml(c[q>>2]|0,c[h>>2]|0);break}el(c[(c[(c[q>>2]|0)+16>>2]|0)+4>>2]|0);r=Tz(c[q>>2]|0,c[(c[(c[q>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]=r;if(!(a[(c[q>>2]|0)+69>>0]|0))a[(c[q>>2]|0)+66>>0]=a[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;bl(c[(c[(c[q>>2]|0)+16>>2]|0)+4>>2]|0);r=Tz(c[q>>2]|0,0)|0;c[(c[(c[q>>2]|0)+16>>2]|0)+16+12>>2]=r;c[c[(c[q>>2]|0)+16>>2]>>2]=42567;a[(c[(c[q>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[q>>2]|0)+16>>2]|0)+16>>2]=42437;a[(c[(c[q>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[q>>2]|0)+84>>2]=-1607883113;if(!(a[(c[q>>2]|0)+69>>0]|0)){ml(c[q>>2]|0,0);fK(c[q>>2]|0);c[h>>2]=$J(c[q>>2]|0)|0;if((c[h>>2]|0)==0?(a[(c[q>>2]|0)+69>>0]|0)==0:0)c[h>>2]=gK(c[q>>2]|0)|0;if((c[h>>2]|0)==0?(hK(c[q>>2]|0),c[h>>2]=$J(c[q>>2]|0)|0,c[h>>2]|0):0)break;if((c[h>>2]|0)==0?(a[(c[q>>2]|0)+69>>0]|0)==0:0)c[h>>2]=iK(c[q>>2]|0)|0;if(c[h>>2]|0)ml(c[q>>2]|0,c[h>>2]|0);RJ(c[q>>2]|0,0,c[9]|0,c[10]|0)|0;HA(c[q>>2]|0,1e3)|0}}}while(0);if(c[q>>2]|0)ud(c[(c[q>>2]|0)+12>>2]|0);c[h>>2]=$J(c[q>>2]|0)|0;if((c[h>>2]|0)!=7){if(c[h>>2]|0)c[(c[q>>2]|0)+84>>2]=1266094736}else{SJ(c[q>>2]|0)|0;c[q>>2]=0}c[c[n>>2]>>2]=c[q>>2];_d(c[i>>2]|0);c[k>>2]=c[h>>2]&255;r=c[k>>2]|0;l=s;return r|0}function cK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[h>>2]=(c[j>>2]|0)<(c[m>>2]|0)?c[j>>2]|0:c[m>>2]|0;c[g>>2]=H_(c[k>>2]|0,c[n>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){n=c[g>>2]|0;l=o;return n|0}if((c[i>>2]|0?m_((c[k>>2]|0)+(c[h>>2]|0)|0,(c[j>>2]|0)-(c[h>>2]|0)|0)|0:0)?m_((c[n>>2]|0)+(c[h>>2]|0)|0,(c[m>>2]|0)-(c[h>>2]|0)|0)|0:0){n=c[g>>2]|0;l=o;return n|0}c[g>>2]=(c[j>>2]|0)-(c[m>>2]|0);n=c[g>>2]|0;l=o;return n|0}function dK(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;w=x;s=x+44|0;t=x+40|0;u=x+36|0;v=x+48|0;j=x+32|0;k=x+28|0;m=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;q=x+8|0;r=x+4|0;c[t>>2]=b;c[u>>2]=e;a[v>>0]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=i;c[o>>2]=d[v>>0];if((c[o>>2]|0)==4|(c[o>>2]|0)==8)c[o>>2]=(a[936]|0)==0?3:2;if((c[o>>2]|0)<1|(c[o>>2]|0)>3){c[s>>2]=qd(140172)|0;w=c[s>>2]|0;l=x;return w|0}c[n>>2]=tw(c[t>>2]|0,c[o>>2]&255,c[u>>2]|0,0)|0;a:do if(c[n>>2]|0?c[(c[n>>2]|0)+12>>2]|0:0){b=c[t>>2]|0;if(c[(c[t>>2]|0)+156>>2]|0){ll(b,5,52503,w);c[s>>2]=5;w=c[s>>2]|0;l=x;return w|0}Qq(b);if((d[(c[n>>2]|0)+4>>0]&-9|0)==(c[o>>2]|0)){c[p>>2]=hv((c[t>>2]|0)+364|0,c[u>>2]|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break a;c[r>>2]=(c[p>>2]|0)+((c[q>>2]|0)*20|0);if((d[(c[r>>2]|0)+4>>0]|0)==(d[(c[n>>2]|0)+4>>0]|0)){if(c[(c[r>>2]|0)+16>>2]|0)Eb[c[(c[r>>2]|0)+16>>2]&255](c[(c[r>>2]|0)+8>>2]|0);c[(c[r>>2]|0)+12>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}}while(0);c[n>>2]=tw(c[t>>2]|0,c[o>>2]&255,c[u>>2]|0,1)|0;if(!(c[n>>2]|0)){c[s>>2]=7;w=c[s>>2]|0;l=x;return w|0}else{c[(c[n>>2]|0)+12>>2]=c[k>>2];c[(c[n>>2]|0)+8>>2]=c[j>>2];c[(c[n>>2]|0)+16>>2]=c[m>>2];a[(c[n>>2]|0)+4>>0]=c[o>>2]|d[v>>0]&8;ml(c[t>>2]|0,0);c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}return 0}function eK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;h=j+16|0;m=j+12|0;i=j+8|0;k=j+4|0;g=j;c[j+20>>2]=a;c[h>>2]=b;c[m>>2]=d;c[i>>2]=e;c[k>>2]=f;c[g>>2]=ld(c[m>>2]|0,c[k>>2]|0,(c[h>>2]|0)<(c[i>>2]|0)?c[h>>2]|0:c[i>>2]|0)|0;if(c[g>>2]|0){m=c[g>>2]|0;l=j;return m|0}c[g>>2]=(c[h>>2]|0)-(c[i>>2]|0);m=c[g>>2]|0;l=j;return m|0}function fK(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=ZJ(c[b>>2]|0,52497,2)|0;if((c[e>>2]|0)!=7){l=d;return}Od(c[b>>2]|0);l=d;return}function gK(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=ZQ(c[d>>2]|0)|0;l=b;return a|0}function hK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m;b=m+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;c[b>>2]=a;c[e>>2]=1;if(!(c[13792]|0)){l=m;return}c[d>>2]=0;while(1){if(!(c[e>>2]|0))break;c[i>>2]=ie(2)|0;c[j>>2]=0;td(c[i>>2]|0);if((c[d>>2]|0)>>>0>=(c[13792]|0)>>>0){c[g>>2]=0;c[e>>2]=0}else c[g>>2]=c[(c[13793]|0)+(c[d>>2]<<2)>>2];ud(c[i>>2]|0);c[h>>2]=0;if(c[g>>2]|0?(a=Bb[c[g>>2]&255](c[b>>2]|0,h,c[j>>2]|0)|0,c[f>>2]=a,a|0):0){n=c[b>>2]|0;a=c[f>>2]|0;c[k>>2]=c[h>>2];ll(n,a,47691,k);c[e>>2]=0}_d(c[h>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=m;return}function iK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;jK(i);c[e>>2]=kK(c[d>>2]|0)|0;if(c[e>>2]|0){c[b>>2]=c[e>>2];i=c[b>>2]|0;l=j;return i|0}lK(g);mK(h);c[f>>2]=pe(20)|0;if(c[f>>2]|0)nK(c[f>>2]|0,1,1);else c[e>>2]=7;do if(!(c[e>>2]|0)){if(((oK(c[f>>2]|0,42572,7,c[g>>2]|0)|0)==0?(oK(c[f>>2]|0,42579,7,c[h>>2]|0)|0)==0:0)?(oK(c[f>>2]|0,42586,10,c[i>>2]|0)|0)==0:0)break;c[e>>2]=7}while(0);if((((((0==(c[e>>2]|0)?(i=pK(c[d>>2]|0,c[f>>2]|0,42596)|0,c[e>>2]=i,0==(i|0)):0)?(i=ZJ(c[d>>2]|0,42611,-1)|0,c[e>>2]=i,0==(i|0)):0)?(i=ZJ(c[d>>2]|0,42619,1)|0,c[e>>2]=i,0==(i|0)):0)?(i=ZJ(c[d>>2]|0,42627,1)|0,c[e>>2]=i,0==(i|0)):0)?(i=ZJ(c[d>>2]|0,42627,2)|0,c[e>>2]=i,0==(i|0)):0)?(i=ZJ(c[d>>2]|0,42637,1)|0,c[e>>2]=i,0==(i|0)):0){c[e>>2]=LJ(c[d>>2]|0,42646,6292,c[f>>2]|0,161)|0;if(!(c[e>>2]|0))c[e>>2]=LJ(c[d>>2]|0,42651,6292,c[f>>2]|0,0)|0;if(!(c[e>>2]|0))c[e>>2]=rK(c[d>>2]|0,c[f>>2]|0)|0;c[b>>2]=c[e>>2];i=c[b>>2]|0;l=j;return i|0}if(c[f>>2]|0){sK(c[f>>2]|0);_d(c[f>>2]|0)}c[b>>2]=c[e>>2];i=c[b>>2]|0;l=j;return i|0}function jK(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=6912;l=b;return}function kK(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=JJ(c[e>>2]|0,47509,6820,0)|0;l=d;return c[b>>2]|0}function lK(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=6792;l=b;return}function mK(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=6764;l=b;return}function nK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f;i=f+5|0;h=f+4|0;c[g>>2]=b;a[i>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[i>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;l=f;return}function oK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;m=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;q=s+24|0;r=s+20|0;j=s+16|0;g=s+12|0;k=s+8|0;t=s+4|0;h=s;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[t>>2]=KK(a[c[n>>2]>>0]|0)|0;c[r>>2]=Mb[c[t>>2]&255](c[o>>2]|0,c[p>>2]|0)|0;c[j>>2]=c[r>>2]&(c[(c[n>>2]|0)+12>>2]|0)-1;c[g>>2]=LK(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[q>>2]|0))bQ(c[n>>2]|0,c[g>>2]|0,c[j>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[q>>2];c[m>>2]=c[h>>2];t=c[m>>2]|0;l=s;return t|0}if(!(c[q>>2]|0)){c[m>>2]=0;t=c[m>>2]|0;l=s;return t|0}if(!((c[(c[n>>2]|0)+12>>2]|0)==0?(cQ(c[n>>2]|0,8)|0)!=0:0))i=10;do if((i|0)==10){if((c[(c[n>>2]|0)+4>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0)?cQ(c[n>>2]|0,c[(c[n>>2]|0)+12>>2]<<1)|0:0)break;c[k>>2]=dQ(20)|0;if(!(c[k>>2]|0)){c[m>>2]=c[q>>2];t=c[m>>2]|0;l=s;return t|0}do if(c[o>>2]|0?(a[(c[n>>2]|0)+1>>0]|0)!=0:0){b=dQ(c[p>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+12>>2]|0){h0(c[b+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;break}tK(b);c[m>>2]=c[q>>2];t=c[m>>2]|0;l=s;return t|0}else c[(c[k>>2]|0)+12>>2]=c[o>>2];while(0);c[(c[k>>2]|0)+16>>2]=c[p>>2];t=(c[n>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[j>>2]=c[r>>2]&(c[(c[n>>2]|0)+12>>2]|0)-1;eQ(c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+(c[j>>2]<<3)|0,c[k>>2]|0);c[(c[k>>2]|0)+8>>2]=c[q>>2];c[m>>2]=0;t=c[m>>2]|0;l=s;return t|0}while(0);c[(c[n>>2]|0)+4>>2]=0;c[m>>2]=c[q>>2];t=c[m>>2]|0;l=s;return t|0}function pK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;j=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[j>>2];c[i>>2]=5;if(!(c[g>>2]|0))c[g>>2]=XJ(c[e>>2]|0,c[f>>2]|0,1,5,c[h>>2]|0,233,0,0)|0;if(c[g>>2]|0){j=c[g>>2]|0;l=i;return j|0}c[g>>2]=XJ(c[e>>2]|0,c[f>>2]|0,2,5,c[h>>2]|0,233,0,0)|0;j=c[g>>2]|0;l=i;return j|0}function qK(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];sK(c[d>>2]|0);_d(c[d>>2]|0);l=b;return}function rK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=JJ(c[g>>2]|0,42656,6384,c[f>>2]|0)|0;l=e;return c[d>>2]|0}function sK(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;tK(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if(a[(c[d>>2]|0)+1>>0]|0?c[(c[e>>2]|0)+12>>2]|0:0)tK(c[(c[e>>2]|0)+12>>2]|0);tK(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;l=g;return}function tK(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return}function uK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+64|0;t=w+56|0;x=w+52|0;u=w+48|0;v=w+44|0;h=w+40|0;i=w+36|0;j=w+32|0;k=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;s=w;c[x>>2]=a;c[u>>2]=b;c[v>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;c[p>>2]=0;c[o>>2]=MJ(c[x>>2]|0,42669)|0;if(c[o>>2]|0){c[t>>2]=c[o>>2];x=c[t>>2]|0;l=w;return x|0}c[q>>2]=(c[v>>2]|0)-3;c[o>>2]=FK(c[q>>2]|0,(c[h>>2]|0)+12|0,p)|0;if(!(c[o>>2]|0)){if((c[q>>2]|0)<1)c[r>>2]=42572;else c[r>>2]=c[c[p>>2]>>2];c[o>>2]=GK(c[u>>2]|0,c[r>>2]|0,m,c[j>>2]|0)|0}if(!(c[o>>2]|0)){c[s>>2]=(c[p>>2]|0)+4;c[o>>2]=Bb[c[(c[m>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[s>>2]|0,n)|0}if((c[o>>2]|0)==0?(c[k>>2]=pe(20)|0,(c[k>>2]|0)==0):0)c[o>>2]=7;if(c[o>>2]|0){if(c[n>>2]|0)Hb[c[(c[m>>2]|0)+8>>2]&255](c[n>>2]|0)|0}else{x=c[k>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+16>>2]=c[n>>2];c[c[i>>2]>>2]=c[k>>2]}_d(c[p>>2]|0);c[t>>2]=c[o>>2];x=c[t>>2]|0;l=w;return x|0}function vK(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+4|0;i=j;c[j+8>>2]=b;c[g>>2]=e;c[i>>2]=0;while(1){b=c[g>>2]|0;if((c[i>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if((d[(c[b+4>>2]|0)+((c[i>>2]|0)*12|0)+5>>0]|0|0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[i>>2]=(c[i>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[i>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[i>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}else if((e|0)==8){c[b+20>>2]=0;c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}return 0}function wK(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Hb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;_d(c[d>>2]|0);l=b;return 0}function xK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=pe(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;l=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}return 0}function yK(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];EK(c[d>>2]|0);_d(c[d>>2]|0);l=b;return 0}function zK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;o=q+40|0;p=q+36|0;r=q+32|0;h=q+20|0;i=q+16|0;j=q+12|0;k=q+8|0;m=q+4|0;n=q;c[p>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[h>>2]=g;c[i>>2]=1;c[j>>2]=c[p>>2];c[k>>2]=c[c[p>>2]>>2];EK(c[j>>2]|0);do if((c[r>>2]|0)==1){c[m>>2]=Rh(c[c[h>>2]>>2]|0)|0;c[n>>2]=Sh(c[c[h>>2]>>2]|0)|0;r=pe((c[n>>2]|0)+1|0)|0;c[(c[j>>2]|0)+4>>2]=r;if(!(c[(c[j>>2]|0)+4>>2]|0)){c[i>>2]=7;break}h0(c[(c[j>>2]|0)+4>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;a[(c[(c[j>>2]|0)+4>>2]|0)+(c[n>>2]|0)>>0]=0;c[i>>2]=Kb[c[(c[(c[k>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0,(c[j>>2]|0)+8|0)|0;if(!(c[i>>2]|0))c[c[(c[j>>2]|0)+8>>2]>>2]=c[(c[k>>2]|0)+16>>2]}while(0);if(c[i>>2]|0){c[o>>2]=c[i>>2];r=c[o>>2]|0;l=q;return r|0}else{c[o>>2]=AK(c[p>>2]|0)|0;r=c[o>>2]|0;l=q;return r|0}return 0}function AK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=Gb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;l=e;return g|0}EK(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;l=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=e;return g|0}function BK(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function CK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+12|0;e=g+8|0;h=g+4|0;f=g;c[i>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[i>>2];switch(c[h>>2]|0){case 0:{xi(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);l=g;return 0}case 1:{xi(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);l=g;return 0}case 2:{Xh(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);l=g;return 0}case 3:{Xh(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);l=g;return 0}default:{Xh(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);l=g;return 0}}return 0}function DK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;l=d;return 0}function EK(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];Hb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}_d(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;l=e;return}function FK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;e=o+4|0;f=o;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){c[c[i>>2]>>2]=0;n=c[j>>2]|0;l=o;return n|0}c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;d=(g$(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}m=pe((c[g>>2]<<2)+(c[m>>2]|0)|0)|0;c[n>>2]=m;c[c[i>>2]>>2]=m;if(!(c[n>>2]|0)){c[j>>2]=7;n=c[j>>2]|0;l=o;return n|0}c[e>>2]=(c[n>>2]|0)+(c[g>>2]<<2);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;c[f>>2]=g$(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[(c[n>>2]|0)+(c[k>>2]<<2)>>2]=c[e>>2];h0(c[e>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0,(c[f>>2]|0)+1|0)|0;RK(c[e>>2]|0);c[e>>2]=(c[e>>2]|0)+((c[f>>2]|0)+1);c[k>>2]=(c[k>>2]|0)+1}n=c[j>>2]|0;l=o;return n|0}function GK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;k=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[n>>2]=g$(c[g>>2]|0)|0;c[j>>2]=HK(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[f>>2]=0;o=c[f>>2]|0;l=m;return o|0}else{o=c[i>>2]|0;c[k>>2]=c[g>>2];IK(o,42720,k);c[f>>2]=1;o=c[f>>2]|0;l=m;return o|0}return 0}function HK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;e=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=JK(c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=0;l=f;return i|0}i=c[(c[e>>2]|0)+8>>2]|0;l=f;return i|0}function IK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;_d(c[c[f>>2]>>2]|0);c[g>>2]=d;d=vf(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=d;l=e;return}function JK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(c[g>>2]|0?c[(c[g>>2]|0)+16>>2]|0:0){c[k>>2]=KK(a[c[g>>2]>>0]|0)|0;c[j>>2]=Mb[c[k>>2]&255](c[h>>2]|0,c[i>>2]|0)|0;c[f>>2]=LK(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;k=c[f>>2]|0;l=m;return k|0}c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}function KK(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=213;else c[b>>2]=214;l=d;return c[b>>2]|0}function LK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;h=q+28|0;n=q+24|0;o=q+20|0;i=q+16|0;p=q+12|0;j=q+8|0;k=q+4|0;g=q;c[h>>2]=b;c[n>>2]=d;c[o>>2]=e;c[i>>2]=f;a:do if(c[(c[h>>2]|0)+16>>2]|0){c[g>>2]=(c[(c[h>>2]|0)+16>>2]|0)+(c[i>>2]<<3);c[p>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=c[c[g>>2]>>2];c[k>>2]=MK(a[c[h>>2]>>0]|0)|0;while(1){i=c[j>>2]|0;c[j>>2]=i+-1;if(!(i|0?(c[p>>2]|0)!=0:0))break a;i=(Kb[c[k>>2]&255](c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)==0;b=c[p>>2]|0;if(i)break;c[p>>2]=c[b>>2]}c[m>>2]=b;p=c[m>>2]|0;l=q;return p|0}while(0);c[m>>2]=0;p=c[m>>2]|0;l=q;return p|0}function MK(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=150;else c[b>>2]=151;l=d;return c[b>>2]|0}function NK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;k=j;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[k>>2]=e;if((c[h>>2]|0)!=(c[k>>2]|0)){c[f>>2]=1;k=c[f>>2]|0;l=j;return k|0}else{c[f>>2]=I_(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;k=c[f>>2]|0;l=j;return k|0}return 0}function OK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;k=j;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[k>>2]=e;if((c[h>>2]|0)!=(c[k>>2]|0)){c[f>>2]=1;k=c[f>>2]|0;l=j;return k|0}else{c[f>>2]=H_(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;k=c[f>>2]|0;l=j;return k|0}return 0}function PK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=b;c[e>>2]=d;c[f>>2]=c[i>>2];c[g>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=g$(c[f>>2]|0)|0;while(1){b=c[g>>2]|0;if((c[e>>2]|0)<=0)break;d=b<<3^c[g>>2];i=c[f>>2]|0;c[f>>2]=i+1;c[g>>2]=d^a[i>>0];c[e>>2]=(c[e>>2]|0)+-1}l=h;return b&2147483647|0}function QK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[i>>2];while(1){i=c[e>>2]|0;c[e>>2]=i+-1;b=c[f>>2]|0;if((i|0)<=0)break;d=b<<3^c[f>>2];i=c[g>>2]|0;c[g>>2]=i+1;c[f>>2]=d^a[i>>0]}l=h;return b&2147483647|0}function RK(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+8|0;g=j+12|0;h=j+4|0;i=j;c[f>>2]=b;a[g>>0]=a[c[f>>2]>>0]|0;if((((a[g>>0]|0)!=91?(a[g>>0]|0)!=39:0)?(a[g>>0]|0)!=34:0)?(a[g>>0]|0)!=96:0){l=j;return}c[h>>2]=1;c[i>>2]=0;if((a[g>>0]|0)==91)a[g>>0]=93;while(1){if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=c[h>>2]|0;e=d+1|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=(a[g>>0]|0)){c[h>>2]=e;b=a[b+d>>0]|0;d=c[f>>2]|0;e=c[i>>2]|0;c[i>>2]=e+1;a[d+e>>0]=b;continue}if((a[b+e>>0]|0)!=(a[g>>0]|0))break;b=a[g>>0]|0;d=c[f>>2]|0;e=c[i>>2]|0;c[i>>2]=e+1;a[d+e>>0]=b;c[h>>2]=(c[h>>2]|0)+2}a[(c[f>>2]|0)+(c[i>>2]|0)>>0]=0;l=j;return}function SK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=MP(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function TK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=MP(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function UK(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+64|0;m=u+48|0;v=u+44|0;n=u+40|0;o=u+36|0;p=u+32|0;q=u+28|0;r=u+24|0;s=u+20|0;f=u+16|0;g=u+12|0;i=u+8|0;j=u+4|0;k=u;c[v>>2]=b;c[n>>2]=e;c[o>>2]=c[v>>2];c[q>>2]=-1;c[r>>2]=-1;c[s>>2]=-1;c[f>>2]=-1;c[(c[n>>2]|0)+20>>2]=0;h[(c[n>>2]|0)+40>>3]=5.0e6;c[p>>2]=0;a:while(1){b=c[n>>2]|0;if((c[p>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[j>>2]=(c[b+4>>2]|0)+((c[p>>2]|0)*12|0);b=c[j>>2]|0;b:do if(!(d[(c[j>>2]|0)+5>>0]|0)){if((d[b+4>>0]|0)==64){t=5;break a}}else{if((c[b>>2]|0)<0)b=1;else b=(c[c[j>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[i>>2]=b&1;if((c[q>>2]|0)<0?(c[i>>2]|0?(d[(c[j>>2]|0)+4>>0]|0)==2:0):0){c[(c[n>>2]|0)+20>>2]=1;h[(c[n>>2]|0)+40>>3]=1.0;c[q>>2]=c[p>>2]}if(((d[(c[j>>2]|0)+4>>0]|0)==64?(c[c[j>>2]>>2]|0)>=0:0)?(c[c[j>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[n>>2]|0)+20>>2]=2+(c[c[j>>2]>>2]|0);h[(c[n>>2]|0)+40>>3]=2.0;c[q>>2]=c[p>>2]}if((d[(c[j>>2]|0)+4>>0]|0)==2?(c[c[j>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[r>>2]=c[p>>2];if(c[i>>2]|0){v=(d[(c[j>>2]|0)+4>>0]|0)-4|0;switch(v>>>2|v<<30|0){case 0:case 7:{c[s>>2]=c[p>>2];break b}case 3:case 1:{c[f>>2]=c[p>>2];break b}default:break b}}}while(0);c[p>>2]=(c[p>>2]|0)+1}if((t|0)==5){c[(c[n>>2]|0)+20>>2]=0;h[(c[n>>2]|0)+40>>3]=1.e+50;KP(c[n>>2]|0,0,262144);c[m>>2]=0;v=c[m>>2]|0;l=u;return v|0}if((c[b+20>>2]|0)==1)LP(c[n>>2]|0);c[g>>2]=1;if((c[q>>2]|0)>=0){v=c[g>>2]|0;c[g>>2]=v+1;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[q>>2]<<3)>>2]=v;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[q>>2]<<3)+4>>0]=1}if((c[r>>2]|0)>=0){v=(c[n>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[g>>2]|0;c[g>>2]=v+1;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[r>>2]<<3)>>2]=v}if((c[s>>2]|0)>=0){v=(c[n>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[g>>2]|0;c[g>>2]=v+1;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[s>>2]<<3)>>2]=v}if((c[f>>2]|0)>=0){v=(c[n>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[g>>2]|0;c[g>>2]=v+1;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[f>>2]<<3)>>2]=v}do if((c[(c[n>>2]|0)+8>>2]|0)==1){c[k>>2]=c[(c[n>>2]|0)+12>>2];if((c[c[k>>2]>>2]|0)>=0?(c[c[k>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;c[(c[n>>2]|0)+24>>2]=a[(c[k>>2]|0)+4>>0]|0?45749:45754;c[(c[n>>2]|0)+32>>2]=1}while(0);c[m>>2]=0;v=c[m>>2]|0;l=u;return v|0}function VK(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=40)break;Fr(c[a+56+(c[d>>2]<<2)>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}_d(c[a+240>>2]|0);_d(c[(c[b>>2]|0)+216>>2]|0);_d(c[(c[b>>2]|0)+220>>2]|0);_d(c[(c[b>>2]|0)+40>>2]|0);_d(c[(c[b>>2]|0)+44>>2]|0);Hb[c[(c[c[(c[b>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[b>>2]|0)+36>>2]|0)|0;_d(c[b>>2]|0);l=e;return 0}function WK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+64|0;j=n+32|0;i=n+24|0;m=n+16|0;k=n+8|0;h=n;b=n+56|0;d=n+52|0;e=n+48|0;f=n+44|0;g=n+40|0;c[b>>2]=a;c[d>>2]=c[b>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+16>>2];c[g>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){a=c[g>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=o;qL(e,a,45949,h)}o=c[g>>2]|0;h=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[f>>2];c[k+4>>2]=h;qL(e,o,45986,k);o=c[g>>2]|0;k=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[f>>2];c[m+4>>2]=k;qL(e,o,46024,m);o=c[g>>2]|0;m=c[(c[d>>2]|0)+20>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=m;qL(e,o,46060,i);o=c[g>>2]|0;m=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=m;qL(e,o,46097,j);if(!(c[e>>2]|0)){o=VK(c[b>>2]|0)|0;l=n;return o|0}else{o=c[e>>2]|0;l=n;return o|0}return 0}function XK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=pe(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){a=c[d>>2]|0;b=a+96|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;g=c[e>>2]|0;l=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;l=f;return g|0}return 0}function YK(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Fr(c[(c[d>>2]|0)+8>>2]|0)|0;hP(c[(c[d>>2]|0)+12>>2]|0);JP(c[d>>2]|0);_d(c[(c[d>>2]|0)+44>>2]|0);CM(c[(c[d>>2]|0)+92>>2]|0);_d(c[d>>2]|0);l=b;return 0}function ZK(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;E=l;l=l+112|0;C=E+32|0;B=E;z=E+108|0;A=E+104|0;m=E+100|0;n=E+96|0;j=E+88|0;t=E+84|0;u=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;p=E+64|0;q=E+60|0;x=E+56|0;y=E+52|0;k=E+48|0;r=E+44|0;s=E+40|0;c[A>>2]=e;c[m>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[j>>2]=i;c[t>>2]=0;c[v>>2]=c[c[A>>2]>>2];c[w>>2]=c[A>>2];c[p>>2]=0;c[q>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[m>>2]&65535;c[k>>2]=0;if(c[o>>2]|0){h=c[j>>2]|0;i=c[k>>2]|0;c[k>>2]=i+1;c[p>>2]=c[h+(i<<2)>>2]}if(c[m>>2]&65536|0){h=c[j>>2]|0;i=c[k>>2]|0;c[k>>2]=i+1;c[q>>2]=c[h+(i<<2)>>2]}if(c[m>>2]&131072|0){h=c[j>>2]|0;i=c[k>>2]|0;c[k>>2]=i+1;c[x>>2]=c[h+(i<<2)>>2]}if(c[m>>2]&262144|0){i=c[j>>2]|0;m=c[k>>2]|0;c[k>>2]=m+1;c[y>>2]=c[i+(m<<2)>>2]}Fr(c[(c[w>>2]|0)+8>>2]|0)|0;_d(c[(c[w>>2]|0)+44>>2]|0);CM(c[(c[w>>2]|0)+92>>2]|0);hP(c[(c[w>>2]|0)+12>>2]|0);e=(c[A>>2]|0)+4|0;f=e+92|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));m=iP(c[x>>2]|0,0,-2147483648)|0;i=(c[w>>2]|0)+72|0;c[i>>2]=m;c[i+4>>2]=D;i=iP(c[y>>2]|0,-1,2147483647)|0;m=(c[w>>2]|0)+80|0;c[m>>2]=i;c[m+4>>2]=D;if(c[n>>2]|0){e=(a[c[n>>2]>>0]|0)==68&255;f=c[w>>2]|0}else{e=a[(c[v>>2]|0)+231>>0]|0;f=c[w>>2]|0}a[f+52>>0]=e;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[r>>2]=(c[o>>2]|0)-2;c[s>>2]=Rh(c[p>>2]|0)|0;if((c[s>>2]|0)==0?(Ai(c[p>>2]|0)|0)!=5:0){c[z>>2]=7;C=c[z>>2]|0;l=E;return C|0}c[(c[w>>2]|0)+16>>2]=0;if(c[q>>2]|0){q=Qi(c[q>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=q}c[t>>2]=jP(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[r>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[t>>2]|0){c[z>>2]=c[t>>2];C=c[z>>2]|0;l=E;return C|0}c[t>>2]=kP(c[w>>2]|0)|0;BM(c[v>>2]|0);if(!(c[t>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[z>>2]=c[t>>2];C=c[z>>2]|0;l=E;return C|0}while(0);do if(!(c[o>>2]|0)){e=c[(c[v>>2]|0)+216>>2]|0;f=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=f+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;C=d[(c[w>>2]|0)+52>>0]|0?45749:45754;c[B>>2]=e;y=B+8|0;c[y>>2]=q;c[y+4>>2]=r;y=B+16|0;c[y>>2]=s;c[y+4>>2]=x;c[B+24>>2]=C;c[u>>2]=nf(45758,B)|0}else{B=d[f+52>>0]|0?45749:45754;c[C>>2]=e;c[C+4>>2]=B;c[u>>2]=nf(45820,C)|0}if(c[u>>2]|0){c[t>>2]=zv(c[(c[v>>2]|0)+12>>2]|0,c[u>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;_d(c[u>>2]|0);break}else{c[t>>2]=7;break}}else if((c[o>>2]|0)==1?(c[t>>2]=HN(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[t>>2]|0)==0):0)c[t>>2]=tJ(c[(c[w>>2]|0)+8>>2]|0,1,c[p>>2]|0)|0;while(0);if(c[t>>2]|0){c[z>>2]=c[t>>2];C=c[z>>2]|0;l=E;return C|0}else{c[z>>2]=_K(c[A>>2]|0)|0;C=c[z>>2]|0;l=E;return C|0}return 0}function _K(d){d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=d;c[g>>2]=c[e>>2];if((b[(c[g>>2]|0)+4>>1]|0)!=1?b[(c[g>>2]|0)+4>>1]|0:0){c[f>>2]=gP(c[e>>2]|0)|0;g=c[f>>2]|0;l=h;return g|0}e=100!=(Bs(c[(c[g>>2]|0)+8>>2]|0)|0);d=c[g>>2]|0;if(e){a[d+6>>0]=1;c[f>>2]=ys(c[(c[g>>2]|0)+8>>2]|0)|0;g=c[f>>2]|0;l=h;return g|0}else{e=jJ(c[d+8>>2]|0,0)|0;g=(c[g>>2]|0)+32|0;c[g>>2]=e;c[g+4>>2]=D;c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}return 0}function $K(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+6>>0]|0|0}function aL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[m>>2];c[i>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[i>>2]|0)+24>>2]|0)+1|0)){m=(c[h>>2]|0)+32|0;Bi(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[g>>2]|0;l=k;return m|0}if((c[f>>2]|0)==(c[(c[i>>2]|0)+24>>2]|0)){mj(c[e>>2]|0,h,4,-1);m=c[g>>2]|0;l=k;return m|0}if((c[f>>2]|0)==((c[(c[i>>2]|0)+24>>2]|0)+2|0)?c[(c[h>>2]|0)+12>>2]|0:0){m=c[(c[h>>2]|0)+16>>2]|0;Bi(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[g>>2]|0;l=k;return m|0}c[g>>2]=vN(0,c[h>>2]|0)|0;if(c[g>>2]|0){m=c[g>>2]|0;l=k;return m|0}if((c[f>>2]|0)==((c[(c[i>>2]|0)+24>>2]|0)+2|0)){c[j>>2]=0;if(c[(c[i>>2]|0)+44>>2]|0)c[j>>2]=iJ(c[(c[h>>2]|0)+8>>2]|0,(c[(c[i>>2]|0)+24>>2]|0)+1|0)|0;Xh(c[e>>2]|0,c[j>>2]|0);m=c[g>>2]|0;l=k;return m|0}else{m=eJ(c[(c[h>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[g>>2]|0;l=k;return m|0}m=c[e>>2]|0;Zi(m,kJ(c[(c[h>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[g>>2]|0;l=k;return m|0}return 0}function bL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;l=d;return 0}function cL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=HO(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function dL(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=oL(c[d>>2]|0)|0;l=b;return a|0}function eL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;h=g+20|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[g+16>>2]=64;c[b>>2]=c[h>>2];c[d>>2]=pL(c[b>>2]|0)|0;if(((((c[d>>2]|0)==0?(c[(c[b>>2]|0)+52>>2]|0)>>>0>4:0)?c[(c[b>>2]|0)+48>>2]|0:0)?(c[(c[b>>2]|0)+48>>2]|0)!=255:0)?(c[e>>2]=0,c[d>>2]=gO(c[b>>2]|0,e)|0,c[f>>2]=S(c[(c[b>>2]|0)+52>>2]|0,c[e>>2]|0)|0,c[f>>2]=(c[f>>2]|0)+((c[f>>2]|0)/2|0),(c[f>>2]|0)>64):0)c[d>>2]=hO(c[b>>2]|0,c[f>>2]|0,c[(c[b>>2]|0)+48>>2]|0)|0;BM(c[b>>2]|0);l=g;return c[d>>2]|0}function fL(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function gL(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];mL(c[d>>2]|0);l=b;return 0}function hL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;j=m+60|0;h=m+48|0;k=m+44|0;i=m+8|0;g=m;c[m+56>>2]=a;c[m+52>>2]=b;c[h>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[i>>2]=c[1659];c[i+4>>2]=c[1660];c[i+8>>2]=c[1661];c[i+12>>2]=c[1662];c[i+16>>2]=c[1663];c[i+20>>2]=c[1664];c[i+24>>2]=c[1665];c[i+28>>2]=c[1666];c[g>>2]=0;while(1){if((c[g>>2]|0)>=4){a=6;break}f=(G_(c[h>>2]|0,c[i+(c[g>>2]<<3)>>2]|0)|0)==0;b=c[g>>2]|0;if(f){a=4;break}c[g>>2]=b+1}if((a|0)==4){c[c[k>>2]>>2]=c[i+(b<<3)+4>>2];c[j>>2]=1;k=c[j>>2]|0;l=m;return k|0}else if((a|0)==6){c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}return 0}function iL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+96|0;k=o+64|0;j=o+48|0;n=o+32|0;m=o+16|0;i=o;p=o+92|0;e=o+88|0;f=o+84|0;g=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[f>>2]=c[p>>2];c[g>>2]=c[(c[f>>2]|0)+12>>2];c[h>>2]=oL(c[f>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=pL(c[f>>2]|0)|0;if(!(c[(c[f>>2]|0)+40>>2]|0)){p=c[g>>2]|0;b=c[(c[f>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[i>>2]=c[(c[f>>2]|0)+16>>2];c[i+4>>2]=b;c[i+8>>2]=d;qL(h,p,42742,i)}if(a[(c[f>>2]|0)+230>>0]|0){p=c[g>>2]|0;d=c[(c[f>>2]|0)+20>>2]|0;i=c[e>>2]|0;c[m>>2]=c[(c[f>>2]|0)+16>>2];c[m+4>>2]=d;c[m+8>>2]=i;qL(h,p,42795,m)}if(a[(c[f>>2]|0)+229>>0]|0){p=c[g>>2]|0;i=c[(c[f>>2]|0)+20>>2]|0;m=c[e>>2]|0;c[n>>2]=c[(c[f>>2]|0)+16>>2];c[n+4>>2]=i;c[n+8>>2]=m;qL(h,p,42848,n)}p=c[g>>2]|0;n=c[(c[f>>2]|0)+20>>2]|0;m=c[e>>2]|0;c[j>>2]=c[(c[f>>2]|0)+16>>2];c[j+4>>2]=n;c[j+8>>2]=m;qL(h,p,42895,j);p=c[g>>2]|0;m=c[(c[f>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[f>>2]|0)+16>>2];c[k+4>>2]=m;c[k+8>>2]=n;qL(h,p,42949,k);l=o;return c[h>>2]|0}function jL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0|0){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=eL(c[e>>2]|0)|0;f=c[f>>2]|0;l=g;return f|0}function kL(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function lL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];mL(c[e>>2]|0);l=d;return 0}function mL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[a+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];nL(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}sK(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[a+260>>2]=0;l=h;return}function nL(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return}function oL(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;c[e>>2]=b;c[f>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){k=c[f>>2]|0;l=m;return k|0}c[g>>2]=45306;g=c[g>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[(c[e>>2]|0)+16>>2];c[k+4>>2]=b;c[h>>2]=nf(g,k)|0;if(!(c[h>>2]|0)){c[f>>2]=7;k=c[f>>2]|0;l=m;return k|0}c[i>>2]=0;c[f>>2]=zv(c[(c[e>>2]|0)+12>>2]|0,c[h>>2]|0,-1,i,0)|0;if((c[f>>2]|0)==0?(c[j>>2]=(Bs(c[i>>2]|0)|0)==100&1,c[f>>2]=Fr(c[i>>2]|0)|0,(c[f>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[j>>2];_d(c[h>>2]|0);k=c[f>>2]|0;l=m;return k|0}function pL(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=0;c[g>>2]=0;while(1){if(!(c[f>>2]|0))b=(c[g>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;b=rL(a,c[(c[e>>2]|0)+272>>2]|0,c[g>>2]|0,-1)|0;c[f>>2]=b;c[f>>2]=(c[f>>2]|0)==101?0:b;c[g>>2]=(c[g>>2]|0)+1}mL(a);if(c[f>>2]|0){h=c[f>>2]|0;l=i;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;l=i;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[f>>2]|0;l=i;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[f>>2]|0;l=i;return h|0}c[h>>2]=0;c[f>>2]=sL(c[e>>2]|0,22,h,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;l=i;return h|0}pJ(c[h>>2]|0,1,2)|0;c[f>>2]=Bs(c[h>>2]|0)|0;if((c[f>>2]|0)==100){g=iJ(c[h>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=g;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[f>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[f>>2]=ys(c[h>>2]|0)|0;h=c[f>>2]|0;l=i;return h|0}function qL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;f=k+32|0;g=k+28|0;h=k+24|0;i=k+8|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){l=k;return}c[i>>2]=e;c[j>>2]=vf(c[h>>2]|0,i)|0;if(!(c[j>>2]|0)){c[c[f>>2]>>2]=7;l=k;return}else{e=qv(c[g>>2]|0,c[j>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=e;_d(c[j>>2]|0);l=k;return}}function rL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+128|0;m=s+120|0;n=s+116|0;o=s+112|0;p=s+108|0;q=s+104|0;r=s+100|0;f=s+8|0;g=s+96|0;h=s+80|0;i=s+24|0;j=s+16|0;k=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[r>>2]=0;e=f;c[e>>2]=0;c[e+4>>2]=0;c[g>>2]=0;c[j>>2]=0;e=k;c[e>>2]=0;c[e+4>>2]=0;c[q>>2]=tL(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,0,0,1,0,i)|0;do if((c[q>>2]|0)==0?c[i+4>>2]|0:0){if((c[p>>2]|0)!=-1?(c[q>>2]=uL(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,k)|0,c[q>>2]|0):0)break;if((c[p>>2]|0)==-2){if((c[i+4>>2]|0)==1?0==((c[(c[c[i>>2]>>2]|0)+56>>2]|0)!=0|0):0){c[q>>2]=101;break}b=k;d=c[b+4>>2]|0;e=f;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[j>>2]=1}else{d=vL(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(c[p>>2]|0)+1|0)|0;e=f;c[e>>2]=d;c[e+4>>2]=D;c[q>>2]=wL(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(c[p>>2]|0)+1|0,r)|0;if((c[p>>2]|0)!=-1){e=f;b=c[e+4>>2]|0;a=k;d=c[a+4>>2]|0;a=(b|0)>(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)}else a=0;c[j>>2]=a&1}if(!(c[q>>2]|0)){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+12>>2]=1;e=h+12|0;c[e>>2]=c[e>>2]|(c[j>>2]|0?2:0);c[q>>2]=xL(c[m>>2]|0,i,h)|0;while(1){if(c[q>>2]|0)break;c[q>>2]=yL(c[m>>2]|0,i)|0;if((c[q>>2]|0)!=100)break;c[q>>2]=zL(c[m>>2]|0,g,1,c[i+40>>2]|0,c[i+44>>2]|0,c[i+48>>2]|0,c[i+52>>2]|0)|0}if(!(c[q>>2]|0)){if((c[p>>2]|0)!=-1){c[q>>2]=AL(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[i>>2]|0,c[i+4>>2]|0)|0;if(!((c[q>>2]|0)==0&(c[g>>2]|0)!=0))break}else if(!(c[g>>2]|0))break;o=f;c[q>>2]=BL(c[m>>2]|0,c[g>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[r>>2]|0)|0;if(!(c[q>>2]|0)){if((c[p>>2]|0)!=-1?(p=f,n=c[p+4>>2]|0,r=k,o=c[r+4>>2]|0,!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[r>>2]|0)>>>0:0))):0)break;p=f;r=(c[g>>2]|0)+56|0;c[q>>2]=CL(c[m>>2]|0,c[p>>2]|0,c[p+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0}}}}while(0);DL(c[g>>2]|0);EL(i);l=s;return c[q>>2]|0}function sL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+240|0;p=t+24|0;o=t+16|0;g=t;k=t+228|0;m=t+224|0;r=t+220|0;n=t+216|0;f=t+56|0;s=t+48|0;q=t+44|0;h=t+40|0;i=t+36|0;j=t+32|0;c[k>>2]=a;c[m>>2]=b;c[r>>2]=d;c[n>>2]=e;h0(f|0,6476,160)|0;c[s>>2]=0;c[q>>2]=c[(c[k>>2]|0)+56+(c[m>>2]<<2)>>2];do if(!(c[q>>2]|0)){d=c[m>>2]|0;do if((c[m>>2]|0)!=18){a=c[f+(c[m>>2]<<2)>>2]|0;b=c[k>>2]|0;if((d|0)==7){c[o>>2]=c[b+216>>2];c[h>>2]=nf(a,o)|0;break}else{o=c[(c[k>>2]|0)+20>>2]|0;c[p>>2]=c[b+16>>2];c[p+4>>2]=o;c[h>>2]=nf(a,p)|0;break}}else{p=c[f+(d<<2)>>2]|0;f=c[(c[k>>2]|0)+20>>2]|0;o=c[(c[k>>2]|0)+220>>2]|0;c[g>>2]=c[(c[k>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=o;c[h>>2]=nf(p,g)|0}while(0);if(c[h>>2]|0){c[s>>2]=zv(c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0,-1,q,0)|0;_d(c[h>>2]|0);c[(c[k>>2]|0)+56+(c[m>>2]<<2)>>2]=c[q>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[n>>2]|0)){q=c[q>>2]|0;r=c[r>>2]|0;c[r>>2]=q;s=c[s>>2]|0;l=t;return s|0}c[j>>2]=vJ(c[q>>2]|0)|0;c[i>>2]=0;while(1){if(c[s>>2]|0){a=15;break}if((c[i>>2]|0)>=(c[j>>2]|0)){a=15;break}c[s>>2]=tJ(c[q>>2]|0,(c[i>>2]|0)+1|0,c[(c[n>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+1}if((a|0)==15){q=c[q>>2]|0;r=c[r>>2]|0;c[r>>2]=q;s=c[s>>2]|0;l=t;return s|0}return 0}function tL(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;t=u+32|0;k=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;p=u+12|0;q=u+8|0;r=u+4|0;s=u;c[t>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;a=c[s>>2]|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));t=mM(c[t>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;l=u;return t|0}function uL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;f=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[f>>2]=sL(c[h>>2]|0,15,m,0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];m=c[g>>2]|0;l=n;return m|0}d=c[m>>2]|0;e=vL(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,0)|0;qJ(d,1,e,D)|0;e=c[m>>2]|0;j=vL(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,1023)|0;qJ(e,2,j,D)|0;if(100==(Bs(c[m>>2]|0)|0)){j=jJ(c[m>>2]|0,0)|0;k=c[k>>2]|0;c[k>>2]=j;c[k+4>>2]=D}c[g>>2]=ys(c[m>>2]|0)|0;m=c[g>>2]|0;l=n;return m|0}function vL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;j=f+20|0;k=f+16|0;i=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[k>>2]=b;c[i>>2]=d;c[g>>2]=e;e=c[k>>2]|0;d=c[(c[j>>2]|0)+248>>2]|0;d=r0(e|0,((e|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;e=c[i>>2]|0;e=_$(d|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;e=r0(e|0,D|0,1024,0)|0;d=h;c[d>>2]=e;c[d+4>>2]=D;d=h;e=c[g>>2]|0;e=_$(c[d>>2]|0,c[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;l=f;return e|0}function wL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;g=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[i>>2]=0;c[g>>2]=sL(c[j>>2]|0,8,h,0)|0;if(!(c[g>>2]|0)){e=c[h>>2]|0;f=vL(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;qJ(e,1,f,D)|0;if(100==(Bs(c[h>>2]|0)|0))c[i>>2]=iJ(c[h>>2]|0,0)|0;c[g>>2]=ys(c[h>>2]|0)|0}if(c[g>>2]|0){o=c[g>>2]|0;l=p;return o|0}if((c[i>>2]|0)>=16){c[g>>2]=rL(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[c[o>>2]>>2]=0;o=c[g>>2]|0;l=p;return o|0}else{c[c[o>>2]>>2]=c[i>>2];o=c[g>>2]|0;l=p;return o|0}return 0}function xL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=kM(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;l=e;return d|0}function yL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=l;l=l+128|0;q=K+120|0;B=K+116|0;C=K+112|0;E=K+108|0;F=K+104|0;G=K+100|0;H=K+96|0;I=K+92|0;f=K+88|0;g=K+84|0;h=K+80|0;i=K+76|0;j=K+72|0;k=K+68|0;m=K+64|0;n=K+60|0;o=K+56|0;p=K+52|0;r=K+16|0;s=K+48|0;t=K+44|0;u=K+40|0;v=K+36|0;w=K+8|0;x=K;y=K+32|0;z=K+28|0;A=K+24|0;c[B>>2]=b;c[C>>2]=e;c[E>>2]=0;c[F>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+12>>2]&2;c[G>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+12>>2]&1;c[H>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+12>>2]&4;c[I>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+12>>2]&8;c[f>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+12>>2]&16;c[g>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+12>>2]&32;c[h>>2]=c[c[C>>2]>>2];c[i>>2]=c[(c[C>>2]|0)+4>>2];c[j>>2]=c[(c[C>>2]|0)+12>>2];c[k>>2]=d[(c[B>>2]|0)+231>>0]|0?215:216;if(!(c[(c[C>>2]|0)+4>>2]|0)){c[q>>2]=0;J=c[q>>2]|0;l=K;return J|0}a:while(1){c[n>>2]=0;while(1){b=c[h>>2]|0;if((c[n>>2]|0)>=(c[(c[C>>2]|0)+8>>2]|0))break;c[o>>2]=c[b+(c[n>>2]<<2)>>2];if(a[(c[o>>2]|0)+4>>0]|0)TL(c[o>>2]|0);else c[E>>2]=UL(c[B>>2]|0,c[o>>2]|0,0)|0;if(c[E>>2]|0){J=9;break a}c[n>>2]=(c[n>>2]|0)+1}WL(b,c[i>>2]|0,c[(c[C>>2]|0)+8>>2]|0,217);c[(c[C>>2]|0)+8>>2]=0;if(!(c[(c[c[h>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[C>>2]|0)+44>>2]=c[(c[c[h>>2]>>2]|0)+60>>2];c[(c[C>>2]|0)+40>>2]=c[(c[c[h>>2]>>2]|0)+64>>2];if(!(c[f>>2]|0?1:(c[c[j>>2]>>2]|0)==0)){if((c[(c[C>>2]|0)+44>>2]|0)<(c[(c[j>>2]|0)+4>>2]|0)){J=61;break}if((c[I>>2]|0)==0?(c[(c[C>>2]|0)+44>>2]|0)>(c[(c[j>>2]|0)+4>>2]|0):0){J=61;break}if(H_(c[(c[C>>2]|0)+40>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0){J=61;break}}c[m>>2]=1;while(1){if(((c[m>>2]|0)<(c[i>>2]|0)?c[(c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]|0)+40>>2]|0:0)?(c[(c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[C>>2]|0)+44>>2]|0):0)e=0==(H_(c[(c[C>>2]|0)+40>>2]|0,c[(c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]|0)+64>>2]|0,c[(c[C>>2]|0)+44>>2]|0)|0);else e=0;b=c[m>>2]|0;if(!e)break;c[m>>2]=b+1}do if(!((b|0)!=1|(c[F>>2]|0)!=0|(c[g>>2]|0)!=0)){if(d[(c[B>>2]|0)+231>>0]|0?(c[(c[c[h>>2]>>2]|0)+56>>2]|0)!=0|0:0){J=32;break}c[(c[C>>2]|0)+52>>2]=c[(c[c[h>>2]>>2]|0)+76>>2];if(c[(c[c[h>>2]>>2]|0)+56>>2]|0){c[E>>2]=XL(c[C>>2]|0,c[(c[c[h>>2]>>2]|0)+72>>2]|0,c[(c[C>>2]|0)+52>>2]|0)|0;b=c[(c[C>>2]|0)+16>>2]|0;e=c[C>>2]|0}else{b=c[(c[c[h>>2]>>2]|0)+72>>2]|0;e=c[C>>2]|0}c[e+48>>2]=b;if(!(c[E>>2]|0))c[E>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[p>>2]=0;e=r;c[e>>2]=0;c[e+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;YL(c[B>>2]|0,c[(c[h>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}WL(c[h>>2]|0,c[m>>2]|0,c[m>>2]|0,c[k>>2]|0);while(1){if(!(c[(c[c[h>>2]>>2]|0)+80>>2]|0))break;c[t>>2]=0;c[u>>2]=0;L=(c[c[h>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=w;c[e>>2]=c[L>>2];c[e+4>>2]=b;ZL(c[B>>2]|0,c[c[h>>2]>>2]|0,t,u)|0;c[s>>2]=1;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[h>>2]|0)+(c[s>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[h>>2]|0)+(c[s>>2]<<2)>>2]|0)+88|0;L=w;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;ZL(c[B>>2]|0,c[(c[h>>2]|0)+(c[s>>2]<<2)>>2]|0,0,0)|0;c[s>>2]=(c[s>>2]|0)+1}if(c[H>>2]|0)_L(c[(c[j>>2]|0)+8>>2]|0,0,t,u);do if((c[F>>2]|0)==0|(c[u>>2]|0)>0){if((c[p>>2]|0)>0?(d[(c[B>>2]|0)+231>>0]|0)!=0:0){L=r;e=w;e=Z$(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=x;c[L>>2]=e;c[L+4>>2]=D}else{L=w;e=r;e=Z$(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=x;c[L>>2]=e;c[L+4>>2]=D}L=x;L=ML(c[L>>2]|0,c[L+4>>2]|0)|0;c[v>>2]=L+(c[G>>2]|0?(c[u>>2]|0)+1|0:0);if(((c[p>>2]|0)+(c[v>>2]|0)|0)>(c[(c[C>>2]|0)+20>>2]|0)){c[(c[C>>2]|0)+20>>2]=(c[p>>2]|0)+(c[v>>2]|0)<<1;c[y>>2]=Xf(c[(c[C>>2]|0)+16>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;if(!(c[y>>2]|0)){J=50;break a}c[(c[C>>2]|0)+16>>2]=c[y>>2]}b=(c[(c[C>>2]|0)+16>>2]|0)+(c[p>>2]|0)|0;if(c[g>>2]|0){c[z>>2]=b;L=x;c[A>>2]=$L(c[L>>2]|0,c[L+4>>2]|0,c[t>>2]|0,c[u>>2]|0,c[z>>2]|0)|0;if(!(c[A>>2]|0))break;b=w;e=c[b+4>>2]|0;L=r;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[p>>2]=(c[p>>2]|0)+(c[A>>2]|0);break}else{e=x;b=NL(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+b;b=w;e=c[b+4>>2]|0;L=r;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[G>>2]|0))break;h0((c[(c[C>>2]|0)+16>>2]|0)+(c[p>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[u>>2]|0);e=c[(c[C>>2]|0)+16>>2]|0;L=c[p>>2]|0;c[p>>2]=L+1;a[e+L>>0]=0;break}}while(0);WL(c[h>>2]|0,c[m>>2]|0,c[s>>2]|0,c[k>>2]|0)}if((c[p>>2]|0)>0){c[(c[C>>2]|0)+48>>2]=c[(c[C>>2]|0)+16>>2];c[(c[C>>2]|0)+52>>2]=c[p>>2];c[E>>2]=100}}c[(c[C>>2]|0)+8>>2]=c[m>>2];if(c[E>>2]|0){J=61;break}}if((J|0)==9){c[q>>2]=c[E>>2];L=c[q>>2]|0;l=K;return L|0}else if((J|0)==50){c[q>>2]=7;L=c[q>>2]|0;l=K;return L|0}else if((J|0)==61){c[q>>2]=c[E>>2];L=c[q>>2]|0;l=K;return L|0}return 0}function zL(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;y=B+68|0;z=B+64|0;A=B+60|0;i=B+56|0;j=B+52|0;k=B+48|0;m=B+44|0;n=B+40|0;o=B+36|0;p=B+32|0;q=B+28|0;r=B+24|0;s=B+20|0;t=B+16|0;u=B+12|0;v=B+8|0;w=B+4|0;x=B;c[z>>2]=a;c[A>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;c[n>>2]=h;c[s>>2]=c[c[A>>2]>>2];if(!(c[s>>2]|0)){c[s>>2]=pe(64)|0;if(!(c[s>>2]|0)){c[y>>2]=7;A=c[y>>2]|0;l=B;return A|0}a=c[s>>2]|0;b=a+64|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[A>>2]>>2]=c[s>>2];A=pe(c[(c[z>>2]|0)+224>>2]|0)|0;c[(c[s>>2]|0)+48>>2]=A;if(!(c[(c[s>>2]|0)+48>>2]|0)){c[y>>2]=7;A=c[y>>2]|0;l=B;return A|0}c[(c[s>>2]|0)+40>>2]=c[(c[z>>2]|0)+224>>2];c[t>>2]=sL(c[z>>2]|0,10,u,0)|0;if(c[t>>2]|0){c[y>>2]=c[t>>2];A=c[y>>2]|0;l=B;return A|0}if(100==(Bs(c[u>>2]|0)|0)){h=jJ(c[u>>2]|0,0)|0;g=(c[s>>2]|0)+16|0;c[g>>2]=h;c[g+4>>2]=D;g=(c[s>>2]|0)+16|0;h=c[g+4>>2]|0;A=(c[s>>2]|0)+8|0;c[A>>2]=c[g>>2];c[A+4>>2]=h}c[t>>2]=ys(c[u>>2]|0)|0;if(c[t>>2]|0){c[y>>2]=c[t>>2];A=c[y>>2]|0;l=B;return A|0}}c[r>>2]=c[(c[s>>2]|0)+44>>2];c[o>>2]=PL(c[(c[s>>2]|0)+24>>2]|0,c[(c[s>>2]|0)+28>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[p>>2]=(c[k>>2]|0)-(c[o>>2]|0);A=c[o>>2]|0;A=ML(A,((A|0)<0)<<31>>31)|0;u=c[p>>2]|0;u=A+(ML(u,((u|0)<0)<<31>>31)|0)|0;u=u+(c[p>>2]|0)|0;A=c[n>>2]|0;A=u+(ML(A,((A|0)<0)<<31>>31)|0)|0;c[q>>2]=A+(c[n>>2]|0);do if((c[r>>2]|0)>0?((c[r>>2]|0)+(c[q>>2]|0)|0)>(c[(c[z>>2]|0)+224>>2]|0):0){t=c[z>>2]|0;h=(c[s>>2]|0)+16|0;A=h;u=c[A>>2]|0;A=c[A+4>>2]|0;g=_$(u|0,A|0,1,0)|0;c[h>>2]=g;c[h+4>>2]=D;c[v>>2]=IL(t,u,A,c[(c[s>>2]|0)+48>>2]|0,c[r>>2]|0)|0;if(c[v>>2]|0){c[y>>2]=c[v>>2];A=c[y>>2]|0;l=B;return A|0}A=(c[z>>2]|0)+52|0;c[A>>2]=(c[A>>2]|0)+1;c[v>>2]=QL(c[z>>2]|0,c[s>>2]|0,c[i>>2]|0,c[j>>2]|0,(c[o>>2]|0)+1|0)|0;if(!(c[v>>2]|0)){c[r>>2]=0;c[(c[s>>2]|0)+28>>2]=0;c[o>>2]=0;c[p>>2]=c[k>>2];z=c[k>>2]|0;z=1+(ML(z,((z|0)<0)<<31>>31)|0)|0;z=z+(c[k>>2]|0)|0;A=c[n>>2]|0;A=z+(ML(A,((A|0)<0)<<31>>31)|0)|0;c[q>>2]=A+(c[n>>2]|0);break}c[y>>2]=c[v>>2];A=c[y>>2]|0;l=B;return A|0}while(0);z=c[q>>2]|0;A=(c[s>>2]|0)+56|0;v=A;z=_$(c[v>>2]|0,c[v+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;c[A>>2]=z;c[A+4>>2]=D;do if((c[q>>2]|0)>(c[(c[s>>2]|0)+40>>2]|0)){c[w>>2]=Xf(c[(c[s>>2]|0)+48>>2]|0,c[q>>2]|0)|0;if(c[w>>2]|0){c[(c[s>>2]|0)+48>>2]=c[w>>2];c[(c[s>>2]|0)+40>>2]=c[q>>2];break}c[y>>2]=7;A=c[y>>2]|0;l=B;return A|0}while(0);A=c[o>>2]|0;A=NL((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,A,((A|0)<0)<<31>>31)|0;c[r>>2]=(c[r>>2]|0)+A;A=c[p>>2]|0;A=NL((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,A,((A|0)<0)<<31>>31)|0;c[r>>2]=(c[r>>2]|0)+A;h0((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);A=c[n>>2]|0;A=NL((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,A,((A|0)<0)<<31>>31)|0;c[r>>2]=(c[r>>2]|0)+A;h0((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,c[m>>2]|0,c[n>>2]|0)|0;c[(c[s>>2]|0)+44>>2]=(c[r>>2]|0)+(c[n>>2]|0);if(c[i>>2]|0){do if((c[k>>2]|0)>(c[(c[s>>2]|0)+32>>2]|0)){c[x>>2]=Xf(c[(c[s>>2]|0)+36>>2]|0,c[k>>2]<<1)|0;if(c[x>>2]|0){c[(c[s>>2]|0)+32>>2]=c[k>>2]<<1;c[(c[s>>2]|0)+36>>2]=c[x>>2];c[(c[s>>2]|0)+24>>2]=c[x>>2];break}c[y>>2]=7;A=c[y>>2]|0;l=B;return A|0}while(0);h0(c[(c[s>>2]|0)+24>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}else c[(c[s>>2]|0)+24>>2]=c[j>>2];c[(c[s>>2]|0)+28>>2]=c[k>>2];c[y>>2]=0;A=c[y>>2]|0;l=B;return A|0}function AL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;k=s+20|0;h=s+16|0;i=s+12|0;m=s+8|0;j=s+4|0;n=s;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[k>>2]=e;c[h>>2]=f;c[i>>2]=g;c[m>>2]=0;c[n>>2]=0;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[i>>2]|0))break;c[m>>2]=OL(c[p>>2]|0,c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){c[o>>2]=c[m>>2];r=c[o>>2]|0;l=s;return r|0}a=c[p>>2]|0;if((c[k>>2]|0)==-2){c[m>>2]=sL(a,26,n,0)|0;if(!(c[m>>2]|0)){g=c[n>>2]|0;k=vL(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,0)|0;qJ(g,1,k,D)|0;k=c[n>>2]|0;r=vL(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,1023)|0;qJ(k,2,r,D)|0}}else{c[m>>2]=sL(a,16,n,0)|0;if(!(c[m>>2]|0)){g=c[n>>2]|0;r=vL(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;qJ(g,1,r,D)|0}}if(!(c[m>>2]|0)){Bs(c[n>>2]|0)|0;c[m>>2]=ys(c[n>>2]|0)|0}c[o>>2]=c[m>>2];r=c[o>>2]|0;l=s;return r|0}function BL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;k=q+44|0;m=q+40|0;n=q+16|0;o=q+36|0;p=q+32|0;g=q+8|0;h=q;i=q+28|0;j=q+24|0;c[k>>2]=a;c[m>>2]=b;b=n;c[b>>2]=d;c[b+4>>2]=e;c[o>>2]=f;if(!(c[c[m>>2]>>2]|0)){f=n;n=(c[m>>2]|0)+56|0;c[p>>2]=KL(c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[o>>2]|0,0,0,0,0,0,0,c[n>>2]|0,c[n+4>>2]|0,c[(c[m>>2]|0)+48>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0;o=c[k>>2]|0;o=o+52|0;n=c[o>>2]|0;n=n+1|0;c[o>>2]=n;p=c[p>>2]|0;l=q;return p|0}f=g;c[f>>2]=0;c[f+4>>2]=0;c[i>>2]=0;c[j>>2]=0;f=(c[m>>2]|0)+16|0;b=c[f+4>>2]|0;d=h;c[d>>2]=c[f>>2];c[d+4>>2]=b;d=c[k>>2]|0;b=(c[m>>2]|0)+16|0;f=b;e=c[f>>2]|0;f=c[f+4>>2]|0;a=_$(e|0,f|0,1,0)|0;c[b>>2]=a;c[b+4>>2]=D;c[p>>2]=IL(d,e,f,c[(c[m>>2]|0)+48>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0;if(!(c[p>>2]|0)){e=(c[m>>2]|0)+8|0;f=(c[m>>2]|0)+16|0;c[p>>2]=JL(c[k>>2]|0,c[c[m>>2]>>2]|0,1,c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,g,i,j)|0}if(c[p>>2]|0){o=c[k>>2]|0;o=o+52|0;n=c[o>>2]|0;n=n+1|0;c[o>>2]=n;p=c[p>>2]|0;l=q;return p|0}b=n;d=(c[m>>2]|0)+8|0;e=h;f=g;n=(c[m>>2]|0)+56|0;c[p>>2]=KL(c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[o>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;o=c[k>>2]|0;o=o+52|0;n=c[o>>2]|0;n=n+1|0;c[o>>2]=n;p=c[p>>2]|0;l=q;return p|0}function CL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+80|0;p=v+72|0;q=v+40|0;r=v+32|0;s=v+68|0;t=v+64|0;g=v+60|0;h=v+24|0;i=v+16|0;j=v+8|0;k=v;m=v+56|0;n=v+52|0;o=v+48|0;c[p>>2]=a;a=q;c[a>>2]=b;c[a+4>>2]=d;d=r;c[d>>2]=e;c[d+4>>2]=f;c[s>>2]=0;c[s>>2]=sL(c[p>>2]|0,37,t,0)|0;if(c[s>>2]|0){u=c[s>>2]|0;l=v;return u|0}c[g>>2]=0;e=q;e=n0(c[e>>2]|0,c[e+4>>2]|0,1024,0)|0;e=_$(e|0,D|0,1,0)|0;e=r0(e|0,D|0,1024,0)|0;e=Z$(e|0,D|0,1,0)|0;f=h;c[f>>2]=e;c[f+4>>2]=D;r=r0(c[r>>2]|0,c[r+4>>2]|0,3,0)|0;r=n0(r|0,D|0,2,0)|0;f=i;c[f>>2]=r;c[f+4>>2]=D;f=c[t>>2]|0;r=q;r=_$(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;qJ(f,1,r,D)|0;r=h;qJ(c[t>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0;while(1){if(100!=(Bs(c[t>>2]|0)|0))break;r=j;c[r>>2]=0;c[r+4>>2]=0;HL(c[t>>2]|0,2,k,j);r=j;f=c[r+4>>2]|0;if((f|0)<0|(f|0)==0&(c[r>>2]|0)>>>0<=0){u=6;break}f=j;d=c[f+4>>2]|0;r=i;e=c[r+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>(c[r>>2]|0)>>>0:0)){u=6;break}c[g>>2]=1}if((u|0)==6)c[g>>2]=0;c[s>>2]=ys(c[t>>2]|0)|0;if(!(c[g>>2]|0)){u=c[s>>2]|0;l=v;return u|0}c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;if(!(c[s>>2]|0))c[s>>2]=sL(c[p>>2]|0,38,n,0)|0;if(!(c[s>>2]|0))c[s>>2]=sL(c[p>>2]|0,39,o,0)|0;a:do if(!(c[s>>2]|0)){u=q;qJ(c[t>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(Bs(c[t>>2]|0)|0))break a;r=c[n>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;pJ(r,1,u)|0;u=c[n>>2]|0;pJ(u,2,iJ(c[t>>2]|0,0)|0)|0;u=c[n>>2]|0;pJ(u,3,iJ(c[t>>2]|0,1)|0)|0;Bs(c[n>>2]|0)|0;c[s>>2]=ys(c[n>>2]|0)|0}while(!(c[s>>2]|0));ys(c[t>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=ys(c[t>>2]|0)|0;if(c[s>>2]|0){u=c[s>>2]|0;l=v;return u|0}u=q;qJ(c[o>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;Bs(c[o>>2]|0)|0;c[s>>2]=ys(c[o>>2]|0)|0;u=c[s>>2]|0;l=v;return u|0}function DL(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}_d(c[(c[b>>2]|0)+48>>2]|0);_d(c[(c[b>>2]|0)+36>>2]|0);GL(c[c[b>>2]>>2]|0);_d(c[b>>2]|0);l=d;return}function EL(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=0;while(1){a=c[c[b>>2]>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;FL(c[a+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}_d(a);_d(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;l=e;return}function FL(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){b=c[b>>2]|0;_d(b);l=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))_d(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))_d(c[(c[b>>2]|0)+40>>2]|0);AJ(c[(c[b>>2]|0)+52>>2]|0)|0;b=c[b>>2]|0;_d(b);l=e;return}function GL(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){l=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];GL(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))_d(c[(c[d>>2]|0)+36>>2]|0);_d(c[(c[d>>2]|0)+28>>2]|0);_d(c[d>>2]|0);c[d>>2]=c[e>>2]}l=f;return}function HL(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;p=n+32|0;o=n+28|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;h=n+8|0;i=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[j>>2]=f;c[k>>2]=Cv(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[k>>2]|0)){l=n;return}c[h>>2]=1;p=i;c[p>>2]=0;c[p+4>>2]=0;c[m>>2]=0;while(1){if((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)>=48)a=(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)<=57;else a=0;e=i;b=c[e>>2]|0;e=c[e+4>>2]|0;if(!a)break;p=r0(b|0,e|0,10,0)|0;o=(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;o=_$(p|0,D|0,o|0,((o|0)<0)<<31>>31|0)|0;p=i;c[p>>2]=o;c[p+4>>2]=D;c[m>>2]=(c[m>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=b;c[p+4>>2]=e;while(1){if((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)!=32)break;c[m>>2]=(c[m>>2]|0)+1}p=i;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)==45){c[m>>2]=(c[m>>2]|0)+1;c[h>>2]=-1}while(1){if((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)>=48)a=(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)<=57;else a=0;e=i;b=c[e>>2]|0;e=c[e+4>>2]|0;if(!a)break;p=r0(b|0,e|0,10,0)|0;o=(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;o=_$(p|0,D|0,o|0,((o|0)<0)<<31>>31|0)|0;p=i;c[p>>2]=o;c[p+4>>2]=D;c[m>>2]=(c[m>>2]|0)+1}o=c[h>>2]|0;o=r0(b|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[j>>2]|0;c[p>>2]=o;c[p+4>>2]=D;l=n;return}function IL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;n=m+24|0;h=m;i=m+20|0;j=m+16|0;k=m+12|0;g=m+8|0;c[n>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[i>>2]=e;c[j>>2]=f;c[g>>2]=sL(c[n>>2]|0,9,k,0)|0;if(c[g>>2]|0){n=c[g>>2]|0;l=m;return n|0}n=h;qJ(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;lJ(c[k>>2]|0,2,c[i>>2]|0,c[j>>2]|0,0)|0;Bs(c[k>>2]|0)|0;c[g>>2]=ys(c[k>>2]|0)|0;n=c[g>>2]|0;l=m;return n|0}function JL(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;m=B+72|0;n=B+68|0;o=B+64|0;p=B+24|0;q=B+16|0;r=B+60|0;s=B+56|0;t=B+52|0;u=B+48|0;v=B+44|0;w=B+40|0;x=B+8|0;y=B;z=B+36|0;A=B+32|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;d=p;c[d>>2]=e;c[d+4>>2]=f;f=q;c[f>>2]=g;c[f+4>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=0;if(!(c[c[n>>2]>>2]|0)){j=p;c[v>>2]=LL(c[n>>2]|0,c[o>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=q;j=Z$(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=c[r>>2]|0;c[k>>2]=j;c[k+4>>2]=D;c[c[t>>2]>>2]=(c[(c[n>>2]|0)+32>>2]|0)-(c[v>>2]|0);c[c[s>>2]>>2]=(c[(c[n>>2]|0)+36>>2]|0)+(c[v>>2]|0);k=c[u>>2]|0;l=B;return k|0}k=q;j=c[k+4>>2]|0;i=x;c[i>>2]=c[k>>2];c[i+4>>2]=j;i=p;j=c[i+4>>2]|0;k=y;c[k>>2]=c[i>>2];c[k+4>>2]=j;c[w>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!(c[w>>2]|0?(c[u>>2]|0)==0:0))break;k=y;c[z>>2]=LL(c[w>>2]|0,c[o>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;c[A>>2]=(c[(c[w>>2]|0)+32>>2]|0)-(c[z>>2]|0);k=x;c[u>>2]=IL(c[m>>2]|0,c[k>>2]|0,c[k+4>>2]|0,(c[(c[w>>2]|0)+36>>2]|0)+(c[z>>2]|0)|0,c[A>>2]|0)|0;k=x;k=_$(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;j=x;c[j>>2]=k;c[j+4>>2]=D;j=(c[(c[w>>2]|0)+12>>2]|0)+1|0;k=y;j=_$(c[k>>2]|0,c[k+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;k=y;c[k>>2]=j;c[k+4>>2]=D;c[w>>2]=c[(c[w>>2]|0)+4>>2]}if(c[u>>2]|0){k=c[u>>2]|0;l=B;return k|0}j=q;k=x;c[u>>2]=JL(c[m>>2]|0,c[c[n>>2]>>2]|0,(c[o>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;k=c[u>>2]|0;l=B;return k|0}function KL(a,b,d,e,f,g,h,i,j,k,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+96|0;C=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;B=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;e=t;c[e>>2]=f;c[e+4>>2]=g;g=u;c[g>>2]=h;c[g+4>>2]=i;i=v;c[i>>2]=j;c[i+4>>2]=k;k=w;c[k>>2]=m;c[k+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=sL(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;qJ(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;pJ(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;qJ(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;qJ(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;qJ(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{h=v;i=c[h+4>>2]|0;k=w;j=c[k>>2]|0;k=c[k+4>>2]|0;E=C;c[E>>2]=c[h>>2];c[E+4>>2]=i;E=C+8|0;c[E>>2]=j;c[E+4>>2]=k;c[B>>2]=nf(45278,C)|0;if(c[B>>2]|0){sJ(c[z>>2]|0,5,c[B>>2]|0,-1,157)|0;break}c[q>>2]=7;E=c[q>>2]|0;l=D;return E|0}while(0);lJ(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;Bs(c[z>>2]|0)|0;c[A>>2]=ys(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;l=D;return E|0}function LL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;i=h+16|0;k=h+12|0;j=h;g=h+8|0;c[i>>2]=b;c[k>>2]=d;d=j;c[d>>2]=e;c[d+4>>2]=f;f=j;c[g>>2]=10-(ML(c[f>>2]|0,c[f+4>>2]|0)|0);a[(c[(c[i>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[k>>2];f=j;NL((c[(c[i>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[f>>2]|0,c[f+4>>2]|0)|0;l=h;return c[g>>2]|0}function ML(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=f0(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=D;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);l=f;return c[e>>2]|0}function NL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;g=j+20|0;k=j+8|0;h=j+16|0;i=j;c[g>>2]=b;b=k;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];b=k;e=c[b+4>>2]|0;f=i;c[f>>2]=c[b>>2];c[f+4>>2]=e;do{k=(c[i>>2]&127|128)&255;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=k;f=i;f=f0(c[f>>2]|0,c[f+4>>2]|0,7)|0;k=i;c[k>>2]=f;c[k+4>>2]=D;k=i}while((c[k>>2]|0)!=0|(c[k+4>>2]|0)!=0);k=(c[h>>2]|0)+-1|0;a[k>>0]=(d[k>>0]|0)&127;l=j;return (c[h>>2]|0)-(c[g>>2]|0)|0}function OL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=sL(c[d>>2]|0,17,g,0)|0;if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}d=(c[e>>2]|0)+8|0;qJ(c[g>>2]|0,1,c[d>>2]|0,c[d+4>>2]|0)|0;e=(c[e>>2]|0)+24|0;qJ(c[g>>2]|0,2,c[e>>2]|0,c[e+4>>2]|0)|0;Bs(c[g>>2]|0)|0;c[f>>2]=ys(c[g>>2]|0)|0;g=c[f>>2]|0;l=h;return g|0}function PL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k+4>>2]=f;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){b=5;break}if((a[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0)!=(a[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0)){b=5;break}c[j>>2]=(c[j>>2]|0)+1}if((b|0)==5){l=k;return c[j>>2]|0}return 0}function QL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;v=w+56|0;q=w+52|0;r=w+48|0;s=w+44|0;t=w+40|0;m=w+36|0;u=w+32|0;n=w+28|0;o=w+24|0;g=w+20|0;h=w+16|0;i=w+12|0;j=w+8|0;k=w+4|0;p=w;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[t>>2]=e;c[m>>2]=f;c[u>>2]=c[c[r>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[h>>2]=c[g>>2];c[i>>2]=PL(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;c[j>>2]=(c[m>>2]|0)-(c[i>>2]|0);e=c[i>>2]|0;e=ML(e,((e|0)<0)<<31>>31)|0;f=c[j>>2]|0;f=e+(ML(f,((f|0)<0)<<31>>31)|0)|0;c[h>>2]=(c[h>>2]|0)+(f+(c[j>>2]|0));if((c[h>>2]|0)>(c[(c[q>>2]|0)+224>>2]|0)?c[(c[u>>2]|0)+16>>2]|0:0)break;if((c[h>>2]|0)>(c[(c[q>>2]|0)+224>>2]|0)?(r=pe(c[h>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=r,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[v>>2]=7;v=c[v>>2]|0;l=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){r=c[i>>2]|0;r=NL((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,r,((r|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+r}r=c[j>>2]|0;r=NL((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,r,((r|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+r;h0((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[t>>2]|0)+(c[i>>2]|0)|0,c[j>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[j>>2]|0);r=(c[u>>2]|0)+12|0;c[r>>2]=(c[r>>2]|0)+1;if(c[s>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[m>>2]|0)){c[k>>2]=Xf(c[(c[u>>2]|0)+28>>2]|0,c[m>>2]<<1)|0;if(c[k>>2]|0){c[(c[u>>2]|0)+24>>2]=c[m>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[k>>2];break}c[v>>2]=7;v=c[v>>2]|0;l=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];h0(c[(c[u>>2]|0)+16>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;b=c[m>>2]|0;a=c[u>>2]|0}else{c[(c[u>>2]|0)+16>>2]=c[t>>2];b=c[m>>2]|0;a=c[u>>2]|0}c[a+20>>2]=b;c[v>>2]=0;v=c[v>>2]|0;l=w;return v|0}while(0);c[o>>2]=pe(40+(c[(c[q>>2]|0)+224>>2]|0)|0)|0;if(!(c[o>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;l=w;return v|0}a=c[o>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[(c[o>>2]|0)+32>>2]=11;c[(c[o>>2]|0)+36>>2]=(c[o>>2]|0)+40;if(c[u>>2]|0){c[p>>2]=c[c[u>>2]>>2];c[n>>2]=QL(c[q>>2]|0,p,c[s>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[p>>2];c[(c[u>>2]|0)+4>>2]=c[o>>2];c[(c[o>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[o>>2]>>2]=c[p>>2];c[(c[o>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[o>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[o>>2]|0)+8>>2]=c[o>>2];c[n>>2]=QL(c[q>>2]|0,o,c[s>>2]|0,c[t>>2]|0,c[m>>2]|0)|0}c[c[r>>2]>>2]=c[o>>2];c[v>>2]=c[n>>2];v=c[v>>2]|0;l=w;return v|0}function RL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;l=g;return f|0}else{d=(c[d>>2]|0)+88|0;a=c[d+4>>2]|0;e=(c[e>>2]|0)+88|0;b=c[e+4>>2]|0;c[f>>2]=(a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[e>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;l=g;return f|0}return 0}function SL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;l=g;return f|0}else{d=(c[d>>2]|0)+88|0;a=c[d+4>>2]|0;e=(c[e>>2]|0)+88|0;b=c[e+4>>2]|0;c[f>>2]=(a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;l=g;return f|0}return 0}function TL(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0|0){b=c[b>>2]|0;b=b+40|0;c[b>>2]=0;l=e;return}_d(c[(c[b>>2]|0)+40>>2]|0);AJ(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;b=c[b>>2]|0;b=b+40|0;c[b>>2]=0;l=e;return}function UL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;s=v+52|0;k=v+48|0;t=v+44|0;m=v+40|0;q=v+36|0;u=v+32|0;r=v+28|0;n=v+24|0;g=v+20|0;h=v+16|0;i=v+12|0;j=v+8|0;o=v+4|0;p=v;c[k>>2]=b;c[t>>2]=e;c[m>>2]=f;b=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[b+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0);else c[u>>2]=c[b+40>>2];if(!(c[u>>2]|0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){b=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[g>>2]=c[c[b+56>>2]>>2];_d(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[g>>2]|0){c[i>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=(c[c[i>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[g>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[g>>2]|0)+16>>2];c[h>>2]=pe(c[j>>2]|0)|0;if(c[h>>2]|0){h0(c[h>>2]|0,c[(c[i>>2]|0)+4>>2]|0,c[j>>2]|0)|0;u=c[j>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[h>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;l=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;l=v;return u|0}TL(b);i=(c[t>>2]|0)+32|0;g=c[i+4>>2]|0;j=(c[t>>2]|0)+16|0;h=c[j+4>>2]|0;if((g|0)>(h|0)|((g|0)==(h|0)?(c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;l=v;return u|0}h=c[k>>2]|0;g=(c[t>>2]|0)+32|0;i=g;i=_$(c[i>>2]|0,c[i+4>>2]|0,1,0)|0;j=D;c[g>>2]=i;c[g+4>>2]=j;c[q>>2]=jM(h,i,j,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,c[m>>2]|0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;l=v;return u|0}if(c[m>>2]|0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[k>>2]|0)+244>>2];c[(c[k>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=fM(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;l=v;return u|0}b=c[u>>2]|0;if(d[c[u>>2]>>0]&128|0)b=cM(b,r)|0;else{c[r>>2]=d[b>>0];b=1}c[u>>2]=(c[u>>2]|0)+b;b=c[u>>2]|0;if(d[c[u>>2]>>0]&128|0)b=cM(b,n)|0;else{c[n>>2]=d[b>>0];b=1}c[u>>2]=(c[u>>2]|0)+b;if(!((c[r>>2]|0)<0|(c[n>>2]|0)<=0)?((c[u>>2]|0)+(c[n>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[r>>2]|0)+(c[n>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[o>>2]=(c[r>>2]|0)+(c[n>>2]|0)<<1;c[p>>2]=Xf(c[(c[t>>2]|0)+64>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){c[(c[t>>2]|0)+64>>2]=c[p>>2];c[(c[t>>2]|0)+68>>2]=c[o>>2];break}c[s>>2]=7;u=c[s>>2]|0;l=v;return u|0}while(0);c[q>>2]=fM(c[t>>2]|0,c[u>>2]|0,(c[n>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;l=v;return u|0}h0((c[(c[t>>2]|0)+64>>2]|0)+(c[r>>2]|0)|0,c[u>>2]|0,c[n>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[r>>2]|0)+(c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[n>>2]|0);b=c[u>>2]|0;if(d[c[u>>2]>>0]&128|0)b=cM(b,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[b>>0];b=1}c[u>>2]=(c[u>>2]|0)+b;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0:0)break;c[s>>2]=0;u=c[s>>2]|0;l=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;l=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;l=v;return u|0}function VL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+40>>2]|0?c[(c[e>>2]|0)+40>>2]|0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=H_(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=H_(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;l=h;return g|0}function WL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;f=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;if((c[i>>2]|0)==(c[h>>2]|0))c[i>>2]=(c[i>>2]|0)+-1;c[k>>2]=(c[i>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[m>>2]=c[k>>2];while(1){if((c[m>>2]|0)>=((c[h>>2]|0)-1|0))break;if((Mb[c[j>>2]&255](c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]|0,c[(c[g>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[f>>2]=c[(c[g>>2]|0)+((c[m>>2]|0)+1<<2)>>2];c[(c[g>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2];c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]=c[f>>2];c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}l=n;return}function XL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[i>>2]=Xf(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[i>>2]|0){c[(c[f>>2]|0)+16>>2]=c[i>>2];break}c[e>>2]=7;i=c[e>>2]|0;l=j;return i|0}while(0);h0(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;i=c[e>>2]|0;l=j;return i|0}function YL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+12|0;f=j+8|0;g=j+4|0;h=j+16|0;i=j;c[k>>2]=b;c[f>>2]=e;c[g>>2]=0;if(d[(c[k>>2]|0)+231>>0]|0|0?c[(c[f>>2]|0)+56>>2]|0:0){a[h>>0]=0;k=(c[f>>2]|0)+88|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;dM(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,h);k=c[g>>2]|0;l=j;return k|0}c[g>>2]=fM(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[g>>2]|0){k=c[g>>2]|0;l=j;return k|0}c[i>>2]=bM(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[i>>2]|0);k=c[g>>2]|0;l=j;return k|0}function ZL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;q=u+36|0;r=u+32|0;s=u+28|0;j=u+24|0;k=u+20|0;t=u+16|0;n=u+12|0;h=u+41|0;i=u+40|0;o=u+8|0;p=u;c[r>>2]=b;c[s>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=0;c[n>>2]=c[(c[s>>2]|0)+80>>2];a[h>>0]=0;if(d[(c[r>>2]|0)+231>>0]|0?c[(c[s>>2]|0)+56>>2]|0:0){a[i>>0]=0;if(c[j>>2]|0){c[c[j>>2]>>2]=c[(c[s>>2]|0)+80>>2];c[c[k>>2]>>2]=(c[(c[s>>2]|0)+84>>2]|0)-1}dM(0,c[(c[s>>2]|0)+72>>2]|0,c[(c[s>>2]|0)+76>>2]|0,n,(c[s>>2]|0)+88|0,(c[s>>2]|0)+84|0,i);t=(a[i>>0]|0)!=0;c[(t?c[s>>2]|0:c[s>>2]|0)+80>>2]=t?0:c[n>>2]|0}else m=6;do if((m|0)==6){c[o>>2]=(c[(c[s>>2]|0)+72>>2]|0)+(c[(c[s>>2]|0)+76>>2]|0);while(1){while(1){if(!(a[c[n>>2]>>0]|a[h>>0]))break;g=c[n>>2]|0;c[n>>2]=g+1;a[h>>0]=a[g>>0]&128}if(!(c[(c[s>>2]|0)+52>>2]|0))break;if((c[n>>2]|0)>>>0<((c[(c[s>>2]|0)+40>>2]|0)+(c[(c[s>>2]|0)+48>>2]|0)|0)>>>0)break;c[t>>2]=eM(c[s>>2]|0)|0;if(c[t>>2]|0){m=13;break}}if((m|0)==13){c[q>>2]=c[t>>2];t=c[q>>2]|0;l=u;return t|0}c[n>>2]=(c[n>>2]|0)+1;if(c[j>>2]|0){c[c[j>>2]>>2]=c[(c[s>>2]|0)+80>>2];c[c[k>>2]>>2]=(c[n>>2]|0)-(c[(c[s>>2]|0)+80>>2]|0)-1}while(1){if((c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0)b=(a[c[n>>2]>>0]|0)==0;else b=0;e=c[n>>2]|0;if(!b)break;c[n>>2]=e+1}b=c[s>>2]|0;if(e>>>0>=(c[o>>2]|0)>>>0){c[b+80>>2]=0;break}c[t>>2]=fM(b,c[n>>2]|0,10)|0;if(!(c[t>>2]|0)){o=c[n>>2]|0;o=o+(bM(c[n>>2]|0,p)|0)|0;c[(c[s>>2]|0)+80>>2]=o;r=(a[(c[r>>2]|0)+231>>0]|0)!=0;o=p;n=c[o>>2]|0;o=c[o+4>>2]|0;t=(c[s>>2]|0)+88|0;m=t;k=c[m>>2]|0;m=c[m+4>>2]|0;p=_$(k|0,m|0,n|0,o|0)|0;s=D;o=Z$(k|0,m|0,n|0,o|0)|0;c[t>>2]=r?o:p;c[t+4>>2]=r?D:s}}while(0);c[q>>2]=0;t=c[q>>2]|0;l=u;return t|0}function _L(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;m=t+32|0;n=t+28|0;o=t+24|0;p=t+20|0;q=t+16|0;r=t+12|0;h=t+8|0;i=t+4|0;j=t;k=t+36|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=c[c[o>>2]>>2];c[r>>2]=c[c[p>>2]>>2];c[h>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[i>>2]=0;c[j>>2]=c[q>>2];while(1){a[k>>0]=0;while(1){if((c[j>>2]|0)>>>0>=(c[h>>2]|0)>>>0)break;if(!((a[k>>0]|a[c[j>>2]>>0])&254))break;g=c[j>>2]|0;c[j>>2]=g+1;a[k>>0]=a[g>>0]&128}b=(c[j>>2]|0)-(c[q>>2]|0)|0;if((c[m>>2]|0)==(c[i>>2]|0)){s=7;break}c[r>>2]=(c[r>>2]|0)-b;c[q>>2]=c[j>>2];if(!(c[r>>2]|0))break;c[j>>2]=(c[q>>2]|0)+1;b=c[j>>2]|0;if(d[c[j>>2]>>0]&128|0)b=cM(b,i)|0;else{c[i>>2]=d[b>>0];b=1}c[j>>2]=(c[j>>2]|0)+b}if((s|0)==7)c[r>>2]=b;if(!(c[n>>2]|0)){q=c[q>>2]|0;s=c[o>>2]|0;c[s>>2]=q;r=c[r>>2]|0;s=c[p>>2]|0;c[s>>2]=r;l=t;return}if(((c[q>>2]|0)+(c[r>>2]|0)|0)==(c[h>>2]|0)){q=c[q>>2]|0;s=c[o>>2]|0;c[s>>2]=q;r=c[r>>2]|0;s=c[p>>2]|0;c[s>>2]=r;l=t;return}m0((c[q>>2]|0)+(c[r>>2]|0)|0,0,(c[h>>2]|0)-((c[q>>2]|0)+(c[r>>2]|0))|0)|0;q=c[q>>2]|0;s=c[o>>2]|0;c[s>>2]=q;r=c[r>>2]|0;s=c[p>>2]|0;c[s>>2]=r;l=t;return}function $L(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+48|0;m=p+8|0;r=p+40|0;q=p+36|0;n=p+32|0;o=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p;s=m;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[n>>2]=g;c[o>>2]=0;c[h>>2]=0;c[i>>2]=c[r>>2];c[j>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[i>>2]>>0]|0)!=1){if((a[c[i>>2]>>0]|0)==2){r=m;r=NL((c[n>>2]|0)+(c[o>>2]|0)|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+r;r=c[n>>2]|0;s=c[o>>2]|0;c[o>>2]=s+1;a[r+s>>0]=2;c[h>>2]=1}aM(0,i)}while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;if((a[c[i>>2]>>0]|0)!=1)break;c[i>>2]=(c[i>>2]|0)+1;s=bM(c[i>>2]|0,k)|0;c[i>>2]=(c[i>>2]|0)+s;if((a[c[i>>2]>>0]|0)==2){if(!(c[h>>2]|0)){s=m;s=NL((c[n>>2]|0)+(c[o>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+s;c[h>>2]=1}s=c[n>>2]|0;r=c[o>>2]|0;c[o>>2]=r+1;a[s+r>>0]=1;r=k;r=NL((c[n>>2]|0)+(c[o>>2]|0)|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+r;r=c[n>>2]|0;s=c[o>>2]|0;c[o>>2]=s+1;a[r+s>>0]=2}aM(0,i)}if(!(c[h>>2]|0)){s=c[o>>2]|0;l=p;return s|0}r=c[n>>2]|0;s=c[o>>2]|0;c[o>>2]=s+1;a[r+s>>0]=0;s=c[o>>2]|0;l=p;return s|0}function aM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+20|0;i=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[f>>2]>>2];a[h>>0]=0;while(1){if(!(254&(a[c[g>>2]>>0]|a[h>>0])))break;d=c[g>>2]|0;c[g>>2]=d+1;a[h>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){i=c[g>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}c[i>>2]=(c[g>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];h0(c[j>>2]|0,c[c[f>>2]>>2]|0,c[i>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[i>>2]|0);c[c[e>>2]>>2]=c[j>>2];i=c[g>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}function bM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;e=n+36|0;f=n+32|0;g=n+28|0;h=n+24|0;i=n+20|0;j=n+8|0;k=n+16|0;m=n;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[i>>2]=a[b>>0];b=c[i>>2]|0;if(!(c[i>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;l=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[i>>2]=b&127|a[d>>0]<<7;b=c[i>>2]|0;if(!(c[i>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;l=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[i>>2]=b&16383|a[d>>0]<<14;b=c[i>>2]|0;if(!(c[i>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;l=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[i>>2]=b&2097151|a[d>>0]<<21;b=c[i>>2]|0;if(!(c[i>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;l=n;return m|0}i=j;c[i>>2]=b&268435455;c[i+4>>2]=0;c[k>>2]=28;while(1){if((c[k>>2]|0)>63)break;i=c[f>>2]|0;c[f>>2]=i+1;i=a[i>>0]|0;d=m;c[d>>2]=i;c[d+4>>2]=((i|0)<0)<<31>>31;d=j0(c[m>>2]&127|0,0,c[k>>2]|0)|0;i=j;d=_$(c[i>>2]|0,c[i+4>>2]|0,d|0,D|0)|0;i=j;c[i>>2]=d;c[i+4>>2]=D;if((c[m>>2]&128|0)==0&0==0)break;c[k>>2]=(c[k>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[h>>2]|0);m=c[e>>2]|0;l=n;return m|0}function cM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;l=i;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;l=i;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;l=i;return h|0}return 0}function dM(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;y=B+76|0;z=B+72|0;A=B+68|0;j=B+64|0;k=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+16|0;q=B+44|0;r=B+40|0;s=B+36|0;t=B+32|0;u=B+8|0;v=B+28|0;w=B;x=B+24|0;c[y>>2]=b;c[z>>2]=d;c[A>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=c[c[j>>2]>>2];if(c[o>>2]|0){c[v>>2]=c[y>>2]|0?-1:1;hM(o,c[z>>2]|0,w);A=c[v>>2]|0;y=w;y=r0(A|0,((A|0)<0)<<31>>31|0,c[y>>2]|0,c[y+4>>2]|0)|0;A=c[k>>2]|0;i=A;y=Z$(c[i>>2]|0,c[i+4>>2]|0,y|0,D|0)|0;c[A>>2]=y;c[A+4>>2]=D;if((c[o>>2]|0)==(c[z>>2]|0))a[c[n>>2]>>0]=1;else{c[x>>2]=c[o>>2];iM(c[z>>2]|0,o);c[c[m>>2]>>2]=(c[x>>2]|0)-(c[o>>2]|0)}c[c[j>>2]>>2]=c[o>>2];l=B;return}i=p;c[i>>2]=0;c[i+4>>2]=0;c[q>>2]=0;c[r>>2]=c[z>>2];c[s>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[t>>2]=1;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;A=bM(c[r>>2]|0,u)|0;c[r>>2]=(c[r>>2]|0)+A;A=c[t>>2]|0;z=u;z=r0(A|0,((A|0)<0)<<31>>31|0,c[z>>2]|0,c[z+4>>2]|0)|0;A=p;z=_$(c[A>>2]|0,c[A+4>>2]|0,z|0,D|0)|0;A=p;c[A>>2]=z;c[A+4>>2]=D;c[q>>2]=c[r>>2];gM(0,r);while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;if(a[c[r>>2]>>0]|0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=c[y>>2]|0?-1:1}c[c[m>>2]>>2]=(c[s>>2]|0)-(c[q>>2]|0);c[c[j>>2]>>2]=c[q>>2];y=p;z=c[y+4>>2]|0;A=c[k>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;l=B;return}function eM(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=BJ(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;l=g;return f|0}AJ(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;l=g;return f|0}function fM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){a=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){a=5;break}c[h>>2]=eM(c[e>>2]|0)|0}if((a|0)==5){l=i;return c[h>>2]|0}return 0}function gM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+20|0;i=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[f>>2]>>2];a[h>>0]=0;while(1){d=(a[c[g>>2]>>0]|a[h>>0]|0)!=0;b=c[g>>2]|0;c[g>>2]=b+1;if(!d)break;a[h>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){i=c[g>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}c[i>>2]=(c[g>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];h0(c[j>>2]|0,c[c[f>>2]>>2]|0,c[i>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[i>>2]|0);c[c[e>>2]>>2]=c[j>>2];i=c[g>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}function hM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;h=k+12|0;i=k;j=k+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[j>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[j>>2]>>0]&128))break;c[j>>2]=(c[j>>2]|0)+-1}c[j>>2]=(c[j>>2]|0)+1;c[c[f>>2]>>2]=c[j>>2];bM(c[j>>2]|0,i)|0;g=i;i=c[g+4>>2]|0;j=c[h>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=i;l=k;return}function iM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;e=j+8|0;f=j+4|0;g=j;h=j+12|0;c[e>>2]=b;c[f>>2]=d;c[g>>2]=(c[c[f>>2]>>2]|0)+-2;a[h>>0]=0;do{if((c[g>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[g>>2]|0;c[g>>2]=d+-1;d=a[d>>0]|0;a[h>>0]=d}while(!(d<<24>>24|0));while(1){if((c[g>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[g>>2]>>0]&128|a[h>>0]|0)!=0;else d=0;b=c[g>>2]|0;if(!d)break;c[g>>2]=b+-1;a[h>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[h>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[g>>2]|0)+2|0)>>>0:0)i=11}else i=11;if((i|0)==11)c[g>>2]=(c[g>>2]|0)+2;do{i=c[g>>2]|0;c[g>>2]=i+1}while((a[i>>0]&128|0)!=0);c[c[f>>2]>>2]=c[g>>2];l=j;return}function jM(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+8|0;r=t+40|0;m=t+36|0;n=t;s=t+32|0;i=t+28|0;j=t+24|0;p=t+20|0;k=t+16|0;q=t+12|0;c[m>>2]=b;b=n;c[b>>2]=d;c[b+4>>2]=e;c[s>>2]=f;c[i>>2]=g;c[j>>2]=h;b=c[m>>2]|0;if(c[(c[m>>2]|0)+244>>2]|0){o=n;c[p>>2]=IJ(c[b+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[b+240>>2]|0)?(c[o>>2]=c[(c[m>>2]|0)+20>>2],o=nf(45288,o)|0,c[(c[m>>2]|0)+240>>2]=o,0==(c[(c[m>>2]|0)+240>>2]|0)):0){c[r>>2]=7;s=c[r>>2]|0;l=t;return s|0}o=n;c[p>>2]=xJ(c[(c[m>>2]|0)+12>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+240>>2]|0,45300,c[o>>2]|0,c[o+4>>2]|0,0,(c[m>>2]|0)+244|0)|0}if((c[p>>2]|0)==0?(c[k>>2]=HJ(c[(c[m>>2]|0)+244>>2]|0)|0,c[c[i>>2]>>2]=c[k>>2],c[s>>2]|0):0){c[q>>2]=pe((c[k>>2]|0)+20|0)|0;if(c[q>>2]|0){if((c[j>>2]|0)!=0&(c[k>>2]|0)>16384){c[k>>2]=4096;c[c[j>>2]>>2]=c[k>>2]}c[p>>2]=BJ(c[(c[m>>2]|0)+244>>2]|0,c[q>>2]|0,c[k>>2]|0,0)|0;b=(c[q>>2]|0)+(c[k>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if(c[p>>2]|0){_d(c[q>>2]|0);c[q>>2]=0}}else c[p>>2]=7;c[c[s>>2]>>2]=c[q>>2]}c[r>>2]=c[p>>2];s=c[r>>2]|0;l=t;return s|0}function kM(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;p=r+36|0;i=r+32|0;q=r+28|0;j=r+24|0;k=r+20|0;m=r+16|0;n=r+12|0;g=r+8|0;h=r+4|0;o=r;c[i>>2]=a;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[q>>2]|0)+4>>2];c[m>>2]=0;a:while(1){if(c[(c[q>>2]|0)+28>>2]|0){a=12;break}if((c[m>>2]|0)>=(c[(c[q>>2]|0)+4>>2]|0)){a=12;break}c[g>>2]=0;c[h>>2]=c[(c[c[q>>2]>>2]|0)+(c[m>>2]<<2)>>2];do{c[o>>2]=UL(c[i>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){a=6;break a}if(!(c[j>>2]|0))break;f=lM(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[g>>2]=f}while((f|0)<0);if(c[g>>2]|0?(d[(c[h>>2]|0)+4>>0]|0|0)!=0:0)TL(c[h>>2]|0);c[m>>2]=(c[m>>2]|0)+1}if((a|0)==6){c[p>>2]=c[o>>2];q=c[p>>2]|0;l=r;return q|0}else if((a|0)==12){WL(c[c[q>>2]>>2]|0,c[n>>2]|0,c[n>>2]|0,217);c[p>>2]=0;q=c[p>>2]|0;l=r;return q|0}return 0}function lM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+12|0;e=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;l=i;return h|0}b=c[(c[f>>2]|0)+64>>2]|0;a=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=H_(b,a,c[g>>2]|0)|0;else c[h>>2]=H_(b,a,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;l=i;return h|0}function mM(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;G=l;l=l+96|0;F=G+88|0;k=G+84|0;m=G+80|0;n=G+76|0;o=G+72|0;p=G+68|0;q=G+64|0;r=G+60|0;s=G+56|0;t=G+52|0;u=G+48|0;v=G+44|0;w=G+40|0;x=G+36|0;y=G+16|0;z=G+8|0;A=G;B=G+32|0;C=G+28|0;E=G+24|0;c[F>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=0;c[u>>2]=0;if(((c[n>>2]|0)<0?c[(c[F>>2]|0)+252>>2]|0:0)?(c[w>>2]=0,c[t>>2]=nM(c[F>>2]|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0,(c[q>>2]|0?1:(c[r>>2]|0)!=0)&1,w)|0,(c[t>>2]|0)==0&(c[w>>2]|0)!=0):0)c[t>>2]=oM(c[s>>2]|0,c[w>>2]|0)|0;a:do if((c[n>>2]|0)!=-1){if(!(c[t>>2]|0))c[t>>2]=pM(c[F>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,u)|0;while(1){if(c[t>>2]|0)break a;j=Bs(c[u>>2]|0)|0;c[t>>2]=j;if(100!=(j|0))break a;c[x>>2]=0;i=jJ(c[u>>2]|0,1)|0;j=y;c[j>>2]=i;c[j+4>>2]=D;j=jJ(c[u>>2]|0,2)|0;i=z;c[i>>2]=j;c[i+4>>2]=D;i=jJ(c[u>>2]|0,3)|0;j=A;c[j>>2]=i;c[j+4>>2]=D;c[B>>2]=gJ(c[u>>2]|0,4)|0;c[C>>2]=fJ(c[u>>2]|0,4)|0;j=y;if(((c[j>>2]|0)!=0|(c[j+4>>2]|0)!=0)&(c[o>>2]|0)!=0){c[E>>2]=c[q>>2]|0?z:0;c[t>>2]=qM(c[F>>2]|0,c[o>>2]|0,c[p>>2]|0,c[C>>2]|0,c[B>>2]|0,y,c[E>>2]|0)|0;if(c[t>>2]|0)break a;if((c[q>>2]|0)==0&(c[r>>2]|0)==0){h=y;i=c[h+4>>2]|0;j=z;c[j>>2]=c[h>>2];c[j+4>>2]=i}}h=y;i=z;j=A;c[t>>2]=rM((c[(c[s>>2]|0)+4>>2]|0)+1|0,((c[q>>2]|0)==0?(c[r>>2]|0)==0:0)&1,c[h>>2]|0,c[h+4>>2]|0,c[i>>2]|0,c[i+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[C>>2]|0,c[B>>2]|0,x)|0;if(c[t>>2]|0)break a;c[t>>2]=oM(c[s>>2]|0,c[x>>2]|0)|0}}while(0);c[v>>2]=ys(c[u>>2]|0)|0;if((c[t>>2]|0)!=101){F=c[t>>2]|0;l=G;return F|0}c[t>>2]=c[v>>2];F=c[t>>2]|0;l=G;return F|0}function nM(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=l;l=l+80|0;A=y+64|0;z=y+60|0;v=y+56|0;w=y+52|0;h=y+48|0;i=y+44|0;j=y+40|0;k=y+36|0;m=y+32|0;n=y+28|0;o=y+24|0;p=y+20|0;q=y+16|0;r=y+12|0;s=y+8|0;t=y+4|0;u=y;c[A>>2]=a;c[z>>2]=b;c[v>>2]=d;c[w>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[h>>2]|0){c[q>>2]=0;c[k>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;c[r>>2]=c[(c[k>>2]|0)+12>>2];c[s>>2]=c[(c[k>>2]|0)+16>>2];if(c[w>>2]|0){if((c[s>>2]|0)>=(c[w>>2]|0)?0==(H_(c[r>>2]|0,c[v>>2]|0,c[w>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[n>>2]|0)==(c[q>>2]|0)){c[q>>2]=(c[q>>2]|0)+16;c[t>>2]=Xf(c[m>>2]|0,c[q>>2]<<2)|0;if(!(c[t>>2]|0)){x=9;break}c[m>>2]=c[t>>2]}g=c[k>>2]|0;z=c[m>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[z+(A<<2)>>2]=g}c[k>>2]=c[c[k>>2]>>2]}if((x|0)==9){c[o>>2]=7;c[n>>2]=0}if((c[n>>2]|0)>1)__(c[m>>2]|0,c[n>>2]|0,4,218)}else{c[k>>2]=JK(c[p>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;if(c[k>>2]|0){c[m>>2]=k;c[n>>2]=1}}do if((c[n>>2]|0)>0){c[u>>2]=96+((c[n>>2]|0)+1<<2);c[j>>2]=pe(c[u>>2]|0)|0;if(c[j>>2]|0){m0(c[j>>2]|0,0,c[u>>2]|0)|0;c[c[j>>2]>>2]=2147483647;c[(c[j>>2]|0)+56>>2]=(c[j>>2]|0)+96;h0(c[(c[j>>2]|0)+56>>2]|0,c[m>>2]|0,c[n>>2]<<2|0)|0;break}else{c[o>>2]=7;break}}while(0);if(!(c[h>>2]|0)){z=c[j>>2]|0;A=c[i>>2]|0;c[A>>2]=z;A=c[o>>2]|0;l=y;return A|0}_d(c[m>>2]|0);z=c[j>>2]|0;A=c[i>>2]|0;c[A>>2]=z;A=c[o>>2]|0;l=y;return A|0}function oM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Xf(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}FL(c[f>>2]|0);c[d>>2]=7;h=c[d>>2]|0;l=i;return h|0}while(0);f=c[f>>2]|0;g=c[c[e>>2]>>2]|0;e=(c[e>>2]|0)+4|0;h=c[e>>2]|0;c[e>>2]=h+1;c[g+(h<<2)>>2]=f;c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}function pM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[h>>2]=0;a=c[i>>2]|0;if((c[m>>2]|0)<0){c[g>>2]=sL(a,13,h,0)|0;if(!(c[g>>2]|0)){m=c[h>>2]|0;f=vL(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;qJ(m,1,f,D)|0;f=c[h>>2]|0;m=vL(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,1023)|0;qJ(f,2,m,D)|0}}else{c[g>>2]=sL(a,12,h,0)|0;if(!(c[g>>2]|0)){f=c[h>>2]|0;m=vL(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;qJ(f,1,m,D)|0}}c[c[n>>2]>>2]=c[h>>2];l=o;return c[g>>2]|0}function qM(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;s=v+40|0;t=v+36|0;u=v+32|0;j=v+28|0;k=v+24|0;m=v+20|0;n=v+16|0;o=v+12|0;p=v+8|0;q=v+4|0;r=v;c[s>>2]=a;c[t>>2]=b;c[u>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=0;a=c[j>>2]|0;if((d[c[j>>2]>>0]|0)&128|0)cM(a,p)|0;else c[p>>2]=d[a>>0];c[o>>2]=sM(c[t>>2]|0,c[u>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!((c[o>>2]|0)==0&(c[p>>2]|0)>1)){u=c[o>>2]|0;l=v;return u|0}c[q>>2]=0;c[r>>2]=0;if((c[m>>2]|0)!=0&(c[n>>2]|0)!=0?(k=c[m>>2]|0,p=c[n>>2]|0,(c[k>>2]|0)!=(c[p>>2]|0)?1:(c[k+4>>2]|0)!=(c[p+4>>2]|0)):0){p=c[m>>2]|0;c[o>>2]=jM(c[s>>2]|0,c[p>>2]|0,c[p+4>>2]|0,q,r,0)|0;if(!(c[o>>2]|0))c[o>>2]=qM(c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[m>>2]|0,0)|0;_d(c[q>>2]|0);c[m>>2]=0;c[q>>2]=0}if(!(c[o>>2]|0)){p=c[m>>2]|0?c[m>>2]|0:c[n>>2]|0;c[o>>2]=jM(c[s>>2]|0,c[p>>2]|0,c[p+4>>2]|0,q,r,0)|0}if(!(c[o>>2]|0))c[o>>2]=qM(c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;_d(c[q>>2]|0);u=c[o>>2]|0;l=v;return u|0}function rM(b,d,e,f,g,h,i,j,k,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;o=z+52|0;p=z+48|0;q=z+44|0;r=z+16|0;s=z+8|0;t=z;u=z+40|0;v=z+36|0;w=z+32|0;x=z+28|0;y=z+24|0;c[p>>2]=b;c[q>>2]=d;d=r;c[d>>2]=e;c[d+4>>2]=f;f=s;c[f>>2]=g;c[f+4>>2]=h;h=t;c[h>>2]=i;c[h+4>>2]=j;c[u>>2]=k;c[v>>2]=m;c[w>>2]=n;c[y>>2]=0;m=r;if((c[m>>2]|0)==0&(c[m+4>>2]|0)==0)c[y>>2]=(c[v>>2]|0)+20;c[x>>2]=pe(96+(c[y>>2]|0)|0)|0;if(!(c[x>>2]|0)){c[o>>2]=7;y=c[o>>2]|0;l=z;return y|0}b=c[x>>2]|0;d=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[c[x>>2]>>2]=c[p>>2];a[(c[x>>2]|0)+4>>0]=(c[q>>2]|0)!=0;m=r;q=c[m+4>>2]|0;p=(c[x>>2]|0)+8|0;c[p>>2]=c[m>>2];c[p+4>>2]=q;p=s;s=c[p+4>>2]|0;q=(c[x>>2]|0)+16|0;c[q>>2]=c[p>>2];c[q+4>>2]=s;q=t;s=c[q+4>>2]|0;t=(c[x>>2]|0)+24|0;c[t>>2]=c[q>>2];c[t+4>>2]=s;if(c[y>>2]|0){c[(c[x>>2]|0)+40>>2]=(c[x>>2]|0)+96;a[(c[x>>2]|0)+5>>0]=1;c[(c[x>>2]|0)+44>>2]=c[v>>2];h0(c[(c[x>>2]|0)+40>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;b=(c[(c[x>>2]|0)+40>>2]|0)+(c[v>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0))}else{v=r;v=Z$(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;y=(c[x>>2]|0)+32|0;c[y>>2]=v;c[y+4>>2]=D}c[c[w>>2]>>2]=c[x>>2];c[o>>2]=0;y=c[o>>2]|0;l=z;return y|0} +function Ig(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];while(1){if((c[(c[e>>2]|0)+16>>2]|0)>>>0<=(c[(c[e>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[e>>2]|0)+20+28>>2]|0;c[f>>2]=a;if(d[a+14>>0]|0|0)break;Jg(c[f>>2]|0)|0;Kg(c[f>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){l=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){l=g;return}_d(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;l=g;return}function Jg(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;l=e;return c[d>>2]|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[i>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[i>>2]<<2);while(1){a=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=a}c[c[g>>2]>>2]=c[a>>2];i=(c[f>>2]|0)+40|0;c[i>>2]=(c[i>>2]|0)+-1;if(!(c[e>>2]|0)){l=h;return}Lg(c[d>>2]|0);l=h;return}function Lg(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else Mg(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){l=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;l=f;return}function Mg(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){l=f;return}if((c[b>>2]|0)>>>0>=(c[13668]|0)>>>0?(c[b>>2]|0)>>>0<(c[13669]|0)>>>0:0){td(c[13670]|0);$d(1,1);c[d>>2]=c[b>>2];c[c[d>>2]>>2]=c[13671];c[13671]=c[d>>2];c[13672]=(c[13672]|0)+1;c[13673]=(c[13672]|0)<(c[13667]|0)&1;ud(c[13670]|0);l=f;return}c[e>>2]=0;c[e>>2]=Kd(c[b>>2]|0)|0;td(c[13670]|0);$d(2,c[e>>2]|0);ud(c[13670]|0);_d(c[b>>2]|0);l=f;return}function Ng(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;if(((c[(c[e>>2]|0)+32>>2]|0)-(c[f>>2]|0)|0)>>>0<(c[(c[e>>2]|0)+44>>2]|0)>>>0){c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0;c[h>>2]=((c[(c[e>>2]|0)+32>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}else{c[g>>2]=((c[(c[e>>2]|0)+44>>2]|0)>>>0)/2|0;c[h>>2]=(c[g>>2]|0)-1}while(1){c[i>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){d=c[c[i>>2]>>2]|0;c[j>>2]=d;if(!d)break;if((c[(c[j>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[i>>2]=(c[j>>2]|0)+16;continue}d=(c[e>>2]|0)+40|0;c[d>>2]=(c[d>>2]|0)+-1;c[c[i>>2]>>2]=c[(c[j>>2]|0)+16>>2];if(!(a[(c[j>>2]|0)+12>>0]|0))Jg(c[j>>2]|0)|0;Lg(c[j>>2]|0)}if((c[g>>2]|0)==(c[h>>2]|0))break;c[g>>2]=(((c[g>>2]|0)+1|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}l=k;return}function Og(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;i=k+20|0;m=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[j>>2]=0;c[j>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[j>>2]|0)d=(c[(c[j>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;b=c[j>>2]|0;if(!d)break;c[j>>2]=c[b+16>>2]}if(b|0){b=c[j>>2]|0;if(a[(c[j>>2]|0)+12>>0]|0){c[i>>2]=b;m=c[i>>2]|0;l=k;return m|0}else{c[i>>2]=Jg(b)|0;m=c[i>>2]|0;l=k;return m|0}}else if(c[g>>2]|0){c[i>>2]=Pg(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[i>>2]|0;l=k;return m|0}else{c[i>>2]=0;m=c[i>>2]|0;l=k;return m|0}return 0}function Pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;h=p+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;f=p+4|0;g=p;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=c[c[i>>2]>>2];c[o>>2]=0;c[m>>2]=(c[(c[i>>2]|0)+40>>2]|0)-(c[(c[i>>2]|0)+36>>2]|0);do if((c[k>>2]|0)==1){if((c[m>>2]|0)>>>0<(c[(c[n>>2]|0)+12>>2]|0)>>>0?(c[m>>2]|0)>>>0<(c[(c[i>>2]|0)+28>>2]|0)>>>0:0){if(!(Qg(c[i>>2]|0)|0))break;if((c[(c[i>>2]|0)+36>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break}c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}while(0);if((c[(c[i>>2]|0)+40>>2]|0)>>>0>=(c[(c[i>>2]|0)+44>>2]|0)>>>0)Rg(c[i>>2]|0);do if(c[(c[i>>2]|0)+16>>2]|0?(a[(c[(c[n>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[i>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[i>>2]|0)+24>>2]|0)>>>0?(Qg(c[i>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[n>>2]|0)+20+28>>2];Kg(c[o>>2]|0,0);Jg(c[o>>2]|0)|0;c[f>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[f>>2]|0)+12>>2]|0)!=(c[(c[i>>2]|0)+12>>2]|0)){Lg(c[o>>2]|0);c[o>>2]=0;break}else{n=(c[n>>2]|0)+16|0;c[n>>2]=(c[n>>2]|0)-((c[(c[f>>2]|0)+16>>2]|0)-(c[(c[i>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=Sg(c[i>>2]|0,(c[k>>2]|0)==1&1)|0;if(c[o>>2]|0?(c[g>>2]=((c[j>>2]|0)>>>0)%((c[(c[i>>2]|0)+44>>2]|0)>>>0)|0,n=(c[i>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[j>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[i>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[o>>2],(c[j>>2]|0)>>>0>(c[(c[i>>2]|0)+32>>2]|0)>>>0):0)c[(c[i>>2]|0)+32>>2]=c[j>>2];c[h>>2]=c[o>>2];o=c[h>>2]|0;l=p;return o|0}function Qg(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+4|0;e=d;c[e>>2]=a;if(c[13666]|0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[13665]|0):0){c[b>>2]=c[13673];e=c[b>>2]|0;l=d;return e|0}c[b>>2]=Yg()|0;e=c[b>>2]|0;l=d;return e|0}function Rg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[e>>2]=a;c[e>>2]=(c[e>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)Ug();c[d>>2]=Xg(c[e>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Wg();if(!(c[d>>2]|0)){l=j;return}c[f>>2]=0;while(1){a=c[(c[b>>2]|0)+48>>2]|0;if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[a+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[g>>2]=a;if(!a)break;c[i>>2]=((c[(c[g>>2]|0)+8>>2]|0)>>>0)%((c[e>>2]|0)>>>0)|0;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[(c[g>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[i>>2]<<2)>>2];c[(c[d>>2]|0)+(c[i>>2]<<2)>>2]=c[g>>2]}c[f>>2]=(c[f>>2]|0)+1}_d(a);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[e>>2];l=j;return}function Sg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)j=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?Tg(c[f>>2]|0)|0:0){j=4;break}if(c[g>>2]|0)Ug();c[i>>2]=Vg(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[i>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Wg();if(c[i>>2]|0){c[c[h>>2]>>2]=c[i>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}while(0);if((j|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){j=(c[c[f>>2]>>2]|0)+16|0;c[j>>2]=(c[j>>2]|0)+1}c[e>>2]=c[h>>2];j=c[e>>2]|0;l=k;return j|0}function Tg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+28|0;e=k+24|0;f=k;g=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;c[e>>2]=b;if(!(c[13664]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}Ug();if((c[13664]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[13664]|0;m=r0(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=m;c[b+4>>2]=D}else{b=c[13664]|0;b=r0(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=f;c[m>>2]=b;c[m+4>>2]=D}o=f;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=r0(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=D;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){n=c[(c[e>>2]|0)+12>>2]|0;n=r0(n|0,((n|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;o=f;c[o>>2]=n;c[o+4>>2]=D}o=f;o=Fd(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[g>>2]=o;Wg();a:do if(c[g>>2]|0){o=Kd(c[g>>2]|0)|0;c[h>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break a;c[j>>2]=(c[g>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+4>>2]=(c[j>>2]|0)+32;a[(c[j>>2]|0)+13>>0]=1;a[(c[j>>2]|0)+14>>0]=0;c[(c[j>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[j>>2];c[g>>2]=(c[g>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[i>>2]=(c[i>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;l=k;return o|0}function Ug(){if(!(c[13700]|0))return;Jb[c[13700]&255]();return}function Vg(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[13665]|0)){td(c[13670]|0);c[d>>2]=c[13671];if(c[d>>2]|0){c[13671]=c[c[13671]>>2];c[13672]=(c[13672]|0)+-1;c[13673]=(c[13672]|0)<(c[13667]|0)&1;Hd(7,c[b>>2]|0);Ld(1,1)}ud(c[13670]|0)}if(c[d>>2]|0){e=c[d>>2]|0;l=f;return e|0}a=c[b>>2]|0;c[d>>2]=Fd(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;l=f;return e|0}c[e>>2]=Kd(c[d>>2]|0)|0;td(c[13670]|0);Hd(7,c[b>>2]|0);Ld(2,c[e>>2]|0);ud(c[13670]|0);e=c[d>>2]|0;l=f;return e|0}function Wg(){if(!(c[13701]|0))return;Jb[c[54804>>2]&255]();return}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=Fd(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;l=f;return g|0}m0(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;l=f;return g|0}function Yg(){return c[13627]|0}function Zg(){$g(3948,3);return}function _g(){$g(3724,8);return}function $g(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0))break;c[i>>2]=c[(c[e>>2]|0)+((c[g>>2]|0)*28|0)+20>>2];c[j>>2]=md(c[i>>2]|0)|0;c[k>>2]=((d[20458+(d[c[i>>2]>>0]|0)>>0]|0)+(c[j>>2]|0)|0)%23|0;c[h>>2]=ah(c[k>>2]|0,c[i>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+((c[g>>2]|0)*28|0)+8>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=(c[e>>2]|0)+((c[g>>2]|0)*28|0)}else{c[(c[e>>2]|0)+((c[g>>2]|0)*28|0)+8>>2]=0;c[(c[e>>2]|0)+((c[g>>2]|0)*28|0)+24>>2]=c[54696+(c[k>>2]<<2)>>2];c[54696+(c[k>>2]<<2)>>2]=(c[e>>2]|0)+((c[g>>2]|0)*28|0)}c[g>>2]=(c[g>>2]|0)+1}l=m;return}function ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[54696+(c[h>>2]<<2)>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(bh(c[(c[e>>2]|0)+20>>2]|0,c[d>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+24>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;l=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;l=g;return h|0}return 0}function bh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;j=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[i>>2]=b;c[e>>2]=c[j>>2];c[f>>2]=c[i>>2];while(1){c[g>>2]=(d[20458+(d[c[e>>2]>>0]|0)>>0]|0)-(d[20458+(d[c[f>>2]>>0]|0)>>0]|0);if(c[g>>2]|0){a=5;break}if(!(d[c[e>>2]>>0]|0)){a=5;break}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}if((a|0)==5){l=h;return c[g>>2]|0}return 0}function ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;d=Rh(c[c[h>>2]>>2]|0)|0;c[f>>2]=d;if(!d){l=g;return}h=c[e>>2]|0;Xh(h,kd(c[f>>2]|0)|0);l=g;return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=Qi(c[c[h>>2]>>2]|0)|0;d=c[g>>2]|0;xi(d,od(c[f>>2]|0)|0,-1,0);l=e;return}function eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[f>>2]|0;xi(d,qj()|0,-1,0);l=e;return}function fh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;o=v+52|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+36|0;t=v+32|0;u=v+28|0;g=v+24|0;h=v+20|0;i=v+16|0;j=v+12|0;k=v+8|0;m=v+4|0;n=v;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[h>>2]=0;c[i>>2]=0;if((Ai(c[c[q>>2]>>2]|0)|0)==5){l=v;return}c[r>>2]=Rh(c[c[q>>2]>>2]|0)|0;if(!(c[r>>2]|0)){l=v;return}c[t>>2]=Sh(c[c[q>>2]>>2]|0)|0;a:do if((c[p>>2]|0)!=1){q=Rh(c[(c[q>>2]|0)+4>>2]|0)|0;c[s>>2]=q;if(!q){l=v;return}c[k>>2]=c[s>>2];c[j>>2]=0;while(1){if(!(a[c[k>>2]>>0]|0))break;q=c[k>>2]|0;c[k>>2]=q+1;b:do if((d[q>>0]|0)>=192)while(1){if((d[c[k>>2]>>0]&192|0)!=128)break b;c[k>>2]=(c[k>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)>0){p=c[o>>2]|0;q=c[j>>2]|0;q=r0(q|0,((q|0)<0)<<31>>31|0,5,0)|0;c[i>>2]=_i(p,q,D)|0;if(!(c[i>>2]|0)){l=v;return}c[h>>2]=(c[i>>2]|0)+(c[j>>2]<<2);c[k>>2]=c[s>>2];c[j>>2]=0;while(1){if(!(a[c[k>>2]>>0]|0))break a;c[(c[i>>2]|0)+(c[j>>2]<<2)>>2]=c[k>>2];q=c[k>>2]|0;c[k>>2]=q+1;c:do if((d[q>>0]|0)>=192)while(1){if((d[c[k>>2]>>0]&192|0)!=128)break c;c[k>>2]=(c[k>>2]|0)+1}while(0);a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=(c[k>>2]|0)-(c[(c[i>>2]|0)+(c[j>>2]<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}}else{c[j>>2]=1;c[h>>2]=23020;c[i>>2]=3720;c[s>>2]=0}while(0);if((c[j>>2]|0)>0){c[u>>2]=Qh(c[o>>2]|0)|0;d:do if((c[u>>2]&1|0)!=0&(c[t>>2]|0)>0)do{c[m>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=d[(c[h>>2]|0)+(c[g>>2]|0)>>0];if((c[m>>2]|0)<=(c[t>>2]|0)?(H_(c[r>>2]|0,c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,c[m>>2]|0)|0)==0:0)break;c[g>>2]=(c[g>>2]|0)+1}if((c[g>>2]|0)>=(c[j>>2]|0))break d;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[t>>2]=(c[t>>2]|0)-(c[m>>2]|0)}while((c[t>>2]|0)>0);while(0);e:do if((c[u>>2]&2|0)!=0&(c[t>>2]|0)>0)do{c[n>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=d[(c[h>>2]|0)+(c[g>>2]|0)>>0];if((c[n>>2]|0)<=(c[t>>2]|0)?(H_((c[r>>2]|0)+((c[t>>2]|0)-(c[n>>2]|0))|0,c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,c[n>>2]|0)|0)==0:0)break;c[g>>2]=(c[g>>2]|0)+1}if((c[g>>2]|0)>=(c[j>>2]|0))break e;c[t>>2]=(c[t>>2]|0)-(c[n>>2]|0)}while((c[t>>2]|0)>0);while(0);if(c[s>>2]|0)_d(c[i>>2]|0)}xi(c[o>>2]|0,c[r>>2]|0,c[t>>2]|0,-1);l=v;return}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;d=(Qh(c[e>>2]|0)|0)==0;c[i>>2]=d?0:-1;c[k>>2]=dj(c[e>>2]|0)|0;c[j>>2]=0;if((Ai(c[c[g>>2]>>2]|0)|0)==5){l=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((Ai(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}d=ej(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[k>>2]|0)|0;if((d^c[i>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){l=n;return}Zi(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);l=n;return}function hh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+28|0;f=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[h>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[i>>2]=c[c[f>>2]>>2];c[j>>2]=ui(c[h>>2]|0,40)|0;if(!(c[j>>2]|0)){l=n;return}f=(Ai(c[c[f>>2]>>2]|0)|0)==5;a=(b[(c[j>>2]|0)+8>>1]|0)!=0;if(f){if(!a){l=n;return}pj(c[h>>2]|0);l=n;return}d=c[h>>2]|0;if(!a){m=Ph(d)|0;c[(c[j>>2]|0)+32>>2]=m;$i(c[j>>2]|0,c[i>>2]|0)|0;l=n;return}c[g>>2]=dj(d)|0;c[k>>2]=(Qh(c[h>>2]|0)|0)!=0&1;c[m>>2]=ej(c[j>>2]|0,c[i>>2]|0,c[g>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[m>>2]|0)<0)?!((c[k>>2]|0)==0&(c[m>>2]|0)>0):0){pj(c[h>>2]|0);l=n;return}$i(c[j>>2]|0,c[i>>2]|0)|0;l=n;return}function ih(a){a=a|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=ui(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){l=f;return}if(b[(c[e>>2]|0)+8>>1]|0)Zi(c[d>>2]|0,c[e>>2]|0);ei(c[e>>2]|0);l=f;return}function jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(Ai(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=22992;break}case 3:{c[f>>2]=23e3;break}case 2:{c[f>>2]=23005;break}case 4:{c[f>>2]=23010;break}default:c[f>>2]=23015}xi(c[e>>2]|0,c[f>>2]|0,-1,0);l=g;return}function kh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[k+12>>2]=e;c[h>>2]=f;switch(Ai(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{Xh(c[g>>2]|0,Sh(c[c[h>>2]>>2]|0)|0);l=k;return}case 3:{c[j>>2]=Rh(c[c[h>>2]>>2]|0)|0;if(!(c[j>>2]|0)){l=k;return}c[i>>2]=0;a:while(1){if(!(a[c[j>>2]>>0]|0))break;c[i>>2]=(c[i>>2]|0)+1;h=c[j>>2]|0;c[j>>2]=h+1;if((d[h>>0]|0)<192)continue;while(1){if((d[c[j>>2]>>0]&192|0)!=128)continue a;c[j>>2]=(c[j>>2]|0)+1}}Xh(c[g>>2]|0,c[i>>2]|0);l=k;return}default:{nj(c[g>>2]|0);l=k;return}}}function lh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+40|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;f=q+12|0;g=q+8|0;h=q+4|0;i=q;c[j>>2]=a;c[q+36>>2]=b;c[k>>2]=e;c[h>>2]=1;c[f>>2]=Ai(c[c[k>>2]>>2]|0)|0;c[g>>2]=Ai(c[(c[k>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==5|(c[g>>2]|0)==5){l=q;return}c[o>>2]=Sh(c[c[k>>2]>>2]|0)|0;c[p>>2]=Sh(c[(c[k>>2]|0)+4>>2]|0)|0;a=c[c[k>>2]>>2]|0;if((c[f>>2]|0)==4&(c[g>>2]|0)==4){c[m>>2]=Ri(a)|0;c[n>>2]=Ri(c[(c[k>>2]|0)+4>>2]|0)|0;c[i>>2]=0}else{c[m>>2]=Rh(a)|0;c[n>>2]=Rh(c[(c[k>>2]|0)+4>>2]|0)|0;c[i>>2]=1}a:while(1){if((c[p>>2]|0)>(c[o>>2]|0))break;if(!(H_(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[o>>2]=(c[o>>2]|0)+-1;c[m>>2]=(c[m>>2]|0)+1;if(!(c[i>>2]|0))continue a;if(((d[c[m>>2]>>0]|0)&192|0)!=128)continue a}}if((c[p>>2]|0)>(c[o>>2]|0))c[h>>2]=0;Xh(c[j>>2]|0,c[h>>2]|0);l=q;return}function mh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+80|0;o=p;g=p+64|0;h=p+60|0;i=p+56|0;j=p+44|0;k=p+16|0;m=p+12|0;n=p+8|0;f=p+4|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[f>>2]=Ph(c[g>>2]|0)|0;if((c[h>>2]|0)<1){l=p;return}e=Rh(c[c[i>>2]>>2]|0)|0;c[m>>2]=e;if(!e){l=p;return}c[j>>2]=(c[h>>2]|0)-1;c[j+4>>2]=0;c[j+8>>2]=(c[i>>2]|0)+4;zd(k,c[f>>2]|0,0,0,c[(c[f>>2]|0)+96>>2]|0);a[k+25>>0]=2;m=c[m>>2]|0;c[o>>2]=j;oj(k,m,o);c[n>>2]=c[k+12>>2];m=c[g>>2]|0;o=Bd(k)|0;xi(m,o,c[n>>2]|0,191);l=p;return}function nh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+12|0;i=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[i>>2]=e;c[g>>2]=Rh(c[c[i>>2]>>2]|0)|0;if(!(c[g>>2]|0)){l=h;return}if(!(d[c[g>>2]>>0]|0)){l=h;return}i=c[f>>2]|0;Xh(i,Vh(g)|0);l=h;return}function oh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;f=o+8|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;e=(c[h>>2]<<2)+1|0;e=of(e,((e|0)<0)<<31>>31)|0;c[j>>2]=e;c[k>>2]=e;if(!(c[j>>2]|0)){wi(c[g>>2]|0);l=o;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;p=Fi(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;e=D;d=n;c[d>>2]=p;c[d+4>>2]=e;d=n;b=c[d+4>>2]|0;d=(c[n+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>1114111);b=n;c[b>>2]=d?65533:p;c[b+4>>2]=d?0:e;c[f>>2]=c[n>>2]&2097151;b=c[f>>2]|0;do if((c[f>>2]|0)>>>0>=128){d=c[f>>2]|0;if(b>>>0<2048){e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=192+(d>>>6&31);e=128+(c[f>>2]&63)&255;p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=e;break}b=c[f>>2]|0;if(d>>>0<65536){p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=224+(b>>>12&15);p=128+((c[f>>2]|0)>>>6&63)&255;e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=p;e=128+(c[f>>2]&63)&255;p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=e;break}else{e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=240+(b>>>18&7);e=128+((c[f>>2]|0)>>>12&63)&255;p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=e;p=128+((c[f>>2]|0)>>>6&63)&255;e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=p;e=128+(c[f>>2]&63)&255;p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=e;break}}else{p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=b}while(0);c[m>>2]=(c[m>>2]|0)+1}p=(c[k>>2]|0)-(c[j>>2]|0)|0;Si(c[g>>2]|0,c[j>>2]|0,p,((p|0)<0)<<31>>31,157,1);l=o;return}function ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;e=j+24|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[j+20>>2]=b;c[f>>2]=d;switch(Ai(c[c[f>>2]>>2]|0)|0){case 1:{i=g;c[i>>2]=Fi(c[c[f>>2]>>2]|0)|0;c[i+4>>2]=D;do if((c[g+4>>2]|0)<0){i=g;if(!((c[i>>2]|0)==0?(c[i+4>>2]|0)==-2147483648:0)){f=g;f=Z$(0,0,c[f>>2]|0,c[f+4>>2]|0)|0;i=g;c[i>>2]=f;c[i+4>>2]=D;break}Th(c[e>>2]|0,22260,-1);l=j;return}while(0);i=g;Bi(c[e>>2]|0,c[i>>2]|0,c[i+4>>2]|0);l=j;return}case 5:{nj(c[e>>2]|0);l=j;return}default:{h[i>>3]=+Hi(c[c[f>>2]>>2]|0);if(+h[i>>3]<0.0)h[i>>3]=-+h[i>>3];Ci(c[e>>2]|0,+h[i>>3]);l=j;return}}}function qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;i=m;j=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(Ai(c[(c[f>>2]|0)+4>>2]|0)|0)){l=m;return}else{n=Qi(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((Ai(c[c[f>>2]>>2]|0)|0)==5){l=m;return}h[i>>3]=+Hi(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[i>>3]>=0.0&+h[i>>3]<9223372036854775808.0){o=+h[i>>3]+.5;h[i>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+F(o)>=1.0?(o>0.0?~~+T(+E(o/4294967296.0),4294967295.0)>>>0:~~+R((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[i>>3]<0.0?-+h[i>>3]<9223372036854775808.0:0){o=-+h[i>>3]+.5;h[i>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+F(o)>=1.0?(o>0.0?~~+T(+E(o/4294967296.0),4294967295.0)>>>0:~~+R((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[i>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[j>>2]=nf(22987,k)|0;if(c[j>>2]|0){n=c[j>>2]|0;Ji(n,i,md(c[j>>2]|0)|0,1)|0;_d(c[j>>2]|0);break}wi(c[e>>2]|0);l=m;return}while(0);Ci(c[e>>2]|0,+h[i>>3]);l=m;return}function rh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+24|0;n=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[i>>2]=Rh(c[c[n>>2]>>2]|0)|0;c[k>>2]=Sh(c[c[n>>2]>>2]|0)|0;if(!(c[i>>2]|0)){l=m;return}f=c[g>>2]|0;n=c[k>>2]|0;n=_$(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[h>>2]=_i(f,n,D)|0;if(!(c[h>>2]|0)){l=m;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[(c[i>>2]|0)+(c[j>>2]|0)>>0]&~(d[20063+(d[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&32);c[j>>2]=(c[j>>2]|0)+1}xi(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,157);l=m;return}function sh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+24|0;n=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[i>>2]=Rh(c[c[n>>2]>>2]|0)|0;c[k>>2]=Sh(c[c[n>>2]>>2]|0)|0;if(!(c[i>>2]|0)){l=m;return}f=c[g>>2]|0;n=c[k>>2]|0;n=_$(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[h>>2]=_i(f,n,D)|0;if(!(c[h>>2]|0)){l=m;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[20458+(d[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]|0;c[j>>2]=(c[j>>2]|0)+1}xi(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,157);l=m;return}function th(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;i=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;g=o;h=o+32|0;c[i>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[m>>2]=Ri(c[c[p>>2]>>2]|0)|0;c[k>>2]=Sh(c[c[p>>2]>>2]|0)|0;e=c[i>>2]|0;f=c[k>>2]|0;f=r0(f|0,((f|0)<0)<<31>>31|0,2,0)|0;f=_$(f|0,D|0,1,0)|0;f=_i(e,f,D)|0;c[n>>2]=f;c[g>>2]=f;if(!(c[n>>2]|0)){l=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[m>>2]>>0]|0;p=a[22971+((d[h>>0]|0)>>4&15)>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=p;f=a[22971+((d[h>>0]|0)&15)>>0]|0;p=c[g>>2]|0;c[g>>2]=p+1;a[p>>0]=f;c[j>>2]=(c[j>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}a[c[g>>2]>>0]=0;xi(c[i>>2]|0,c[n>>2]|0,c[k>>2]<<1,157);l=o;return}function uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;sf(8,f);if((c[f+4>>2]|0)<0){b=f;b=Z$(0,0,c[b>>2]|0,c[b+4>>2]&2147483647|0)|0;d=f;c[d>>2]=b;c[d+4>>2]=D}Bi(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);l=g;return}function vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;e=h+16|0;i=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[i>>2]=d;d=Qi(c[c[i>>2]>>2]|0)|0;c[f>>2]=d;c[f>>2]=(c[f>>2]|0)<1?1:d;d=c[f>>2]|0;c[g>>2]=_i(c[e>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){l=h;return}sf(c[f>>2]|0,c[g>>2]|0);mj(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,157);l=h;return}function wh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=dj(c[e>>2]|0)|0;if(!(ej(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){l=g;return}Zi(c[e>>2]|0,c[c[f>>2]>>2]|0);l=g;return}function xh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[f>>2]|0;xi(d,wd()|0,-1,0);l=e;return}function yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;d=Qi(c[c[g>>2]>>2]|0)|0;c[f>>2]=Rh(c[(c[g>>2]|0)+4>>2]|0)|0;xd(d,21240,f);l=e;return}function zh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+144|0;x=y+32|0;w=y+24|0;q=y+80|0;r=y+72|0;s=y+16|0;t=y+8|0;u=y+84|0;v=y+68|0;g=y+64|0;i=y+60|0;j=y+56|0;k=y+52|0;m=y+48|0;n=y;o=y+44|0;p=y+40|0;c[q>>2]=b;c[y+76>>2]=e;c[r>>2]=f;switch(Ai(c[c[r>>2]>>2]|0)|0){case 2:{h[s>>3]=+Hi(c[c[r>>2]>>2]|0);h[w>>3]=+h[s>>3];ef(50,u,22196,w)|0;Ji(u,t,20,1)|0;if(+h[s>>3]!=+h[t>>3]){h[x>>3]=+h[s>>3];ef(50,u,22964,x)|0}xi(c[q>>2]|0,u,-1,-1);l=y;return}case 1:{Zi(c[q>>2]|0,c[c[r>>2]>>2]|0);l=y;return}case 4:{c[v>>2]=0;c[g>>2]=Ri(c[c[r>>2]>>2]|0)|0;c[i>>2]=Sh(c[c[r>>2]>>2]|0)|0;w=c[q>>2]|0;x=c[i>>2]|0;c[v>>2]=_i(w,_$(r0(2,0,x|0,((x|0)<0)<<31>>31|0)|0,D|0,4,0)|0,D)|0;if(!(c[v>>2]|0)){l=y;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;a[(c[v>>2]|0)+((c[j>>2]<<1)+2)>>0]=a[22971+(a[(c[g>>2]|0)+(c[j>>2]|0)>>0]>>4&15)>>0]|0;a[(c[v>>2]|0)+((c[j>>2]<<1)+3)>>0]=a[22971+(a[(c[g>>2]|0)+(c[j>>2]|0)>>0]&15)>>0]|0;c[j>>2]=(c[j>>2]|0)+1}a[(c[v>>2]|0)+((c[i>>2]<<1)+2)>>0]=39;a[(c[v>>2]|0)+((c[i>>2]<<1)+3)>>0]=0;a[c[v>>2]>>0]=88;a[(c[v>>2]|0)+1>>0]=39;xi(c[q>>2]|0,c[v>>2]|0,-1,-1);_d(c[v>>2]|0);l=y;return}case 3:{c[o>>2]=Rh(c[c[r>>2]>>2]|0)|0;if(!(c[o>>2]|0)){l=y;return}c[k>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0)==39){w=n;w=_$(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=D}c[k>>2]=(c[k>>2]|0)+1}w=c[q>>2]|0;v=c[k>>2]|0;x=n;x=_$(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=_$(x|0,D|0,3,0)|0;c[p>>2]=_i(w,x,D)|0;if(!(c[p>>2]|0)){l=y;return}a[c[p>>2]>>0]=39;c[k>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0))break;v=a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0;w=c[p>>2]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[w+x>>0]=v;if((d[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0)==39){w=c[p>>2]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[w+x>>0]=39}c[k>>2]=(c[k>>2]|0)+1}w=c[p>>2]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[w+x>>0]=39;a[(c[p>>2]|0)+(c[m>>2]|0)>>0]=0;xi(c[q>>2]|0,c[p>>2]|0,c[m>>2]|0,157);l=y;return}default:{xi(c[q>>2]|0,20953,4,0);l=y;return}}}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=Ph(c[g>>2]|0)|0;b=c[g>>2]|0;d=cj(c[f>>2]|0)|0;Bi(b,d,D);l=e;return}function Bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=Ph(c[g>>2]|0)|0;d=c[g>>2]|0;Xh(d,bj(c[f>>2]|0)|0);l=e;return}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=Ph(c[g>>2]|0)|0;d=c[g>>2]|0;Xh(d,aj(c[f>>2]|0)|0);l=e;return}function Dh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;t=w+64|0;m=w+56|0;u=w+52|0;n=w+48|0;o=w+44|0;v=w+40|0;p=w+36|0;g=w+32|0;h=w+28|0;i=w;j=w+24|0;q=w+20|0;r=w+16|0;s=w+12|0;k=w+8|0;c[t>>2]=b;c[w+60>>2]=e;c[m>>2]=f;c[u>>2]=Rh(c[c[m>>2]>>2]|0)|0;if(!(c[u>>2]|0)){l=w;return}c[p>>2]=Sh(c[c[m>>2]>>2]|0)|0;c[n>>2]=Rh(c[(c[m>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){l=w;return}if(!(d[c[n>>2]>>0]|0)){Zi(c[t>>2]|0,c[c[m>>2]>>2]|0);l=w;return}c[g>>2]=Sh(c[(c[m>>2]|0)+4>>2]|0)|0;c[o>>2]=Rh(c[(c[m>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){l=w;return}c[h>>2]=Sh(c[(c[m>>2]|0)+8>>2]|0)|0;f=(c[p>>2]|0)+1|0;m=i;c[m>>2]=f;c[m+4>>2]=((f|0)<0)<<31>>31;m=i;c[v>>2]=_i(c[t>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;if(!(c[v>>2]|0)){l=w;return}c[j>>2]=(c[p>>2]|0)-(c[g>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){b=18;break}if((d[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?!(H_((c[u>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[g>>2]|0)|0):0){c[k>>2]=Ph(c[t>>2]|0)|0;b=(c[h>>2]|0)-(c[g>>2]|0)|0;f=i;b=_$(c[f>>2]|0,c[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;f=i;c[f>>2]=b;c[f+4>>2]=D;f=i;f=Z$(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;b=D;m=c[(c[k>>2]|0)+96>>2]|0;e=((m|0)<0)<<31>>31;if((b|0)>(e|0)|(b|0)==(e|0)&f>>>0>m>>>0){b=13;break}c[s>>2]=c[v>>2];m=c[i>>2]|0;c[v>>2]=ee(c[v>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){b=15;break}h0((c[v>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[h>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[h>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[g>>2]|0)-1)}else{e=a[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0;f=c[v>>2]|0;m=c[r>>2]|0;c[r>>2]=m+1;a[f+m>>0]=e}c[q>>2]=(c[q>>2]|0)+1}if((b|0)==13){vi(c[t>>2]|0);_d(c[v>>2]|0);l=w;return}else if((b|0)==15){wi(c[t>>2]|0);_d(c[s>>2]|0);l=w;return}else if((b|0)==18){h0((c[v>>2]|0)+(c[r>>2]|0)|0,(c[u>>2]|0)+(c[q>>2]|0)|0,(c[p>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[p>>2]|0)-(c[q>>2]|0));a[(c[v>>2]|0)+(c[r>>2]|0)>>0]=0;xi(c[t>>2]|0,c[v>>2]|0,c[r>>2]|0,157);l=w;return}}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;e=g+20|0;i=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[i>>2]=d;i=Fi(c[c[i>>2]>>2]|0)|0;b=D;a=h;c[a>>2]=i;c[a+4>>2]=b;a=(c[h+4>>2]|0)<0;d=h;c[d>>2]=a?0:i;c[d+4>>2]=a?0:b;d=h;c[f>>2]=Vi(c[e>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[f>>2]|0)){l=g;return}Wi(c[e>>2]|0,c[f>>2]|0);l=g;return}function Fh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;o=r+44|0;h=r+40|0;i=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;k=r+20|0;m=r+8|0;n=r;g=r+16|0;c[o>>2]=b;c[h>>2]=e;c[i>>2]=f;c[g>>2]=0;if((Ai(c[(c[i>>2]|0)+4>>2]|0)|0)==5){l=r;return}if((c[h>>2]|0)==3?(Ai(c[(c[i>>2]|0)+8>>2]|0)|0)==5:0){l=r;return}c[k>>2]=Ai(c[c[i>>2]>>2]|0)|0;f=Qi(c[(c[i>>2]|0)+4>>2]|0)|0;b=m;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=c[c[i>>2]>>2]|0;a:do if((c[k>>2]|0)==4){c[j>>2]=Sh(b)|0;c[p>>2]=Ri(c[c[i>>2]>>2]|0)|0;if(!(c[p>>2]|0)){l=r;return}}else{c[p>>2]=Rh(b)|0;if(!(c[p>>2]|0)){l=r;return}c[j>>2]=0;if((c[m+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;f=c[q>>2]|0;c[q>>2]=f+1;b:do if((d[f>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[h>>2]|0)==3){h=Qi(c[(c[i>>2]|0)+8>>2]|0)|0;i=n;c[i>>2]=h;c[i+4>>2]=((h|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){h=n;h=Z$(0,0,c[h>>2]|0,c[h+4>>2]|0)|0;i=n;c[i>>2]=h;c[i+4>>2]=D;c[g>>2]=1}}else{h=c[(Ph(c[o>>2]|0)|0)+96>>2]|0;i=n;c[i>>2]=h;c[i+4>>2]=((h|0)<0)<<31>>31}do if((c[m+4>>2]|0)<0){h=c[j>>2]|0;i=m;h=_$(c[i>>2]|0,c[i+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;i=m;c[i>>2]=h;c[i+4>>2]=D;if((c[m+4>>2]|0)<0){e=m;h=n;e=_$(c[h>>2]|0,c[h+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;h=D;f=n;c[f>>2]=e;c[f+4>>2]=h;f=(c[n+4>>2]|0)<0;i=n;c[i>>2]=f?0:e;c[i+4>>2]=f?0:h;i=m;c[i>>2]=0;c[i+4>>2]=0}}else{i=m;h=c[i+4>>2]|0;if((h|0)>0|(h|0)==0&(c[i>>2]|0)>>>0>0){h=m;h=_$(c[h>>2]|0,c[h+4>>2]|0,-1,-1)|0;i=m;c[i>>2]=h;c[i+4>>2]=D;break}i=n;h=c[i+4>>2]|0;if((h|0)>0|(h|0)==0&(c[i>>2]|0)>>>0>0){h=n;h=_$(c[h>>2]|0,c[h+4>>2]|0,-1,-1)|0;i=n;c[i>>2]=h;c[i+4>>2]=D}}while(0);if(c[g>>2]|0?(h=n,i=m,h=Z$(c[i>>2]|0,c[i+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,i=m,c[i>>2]=h,c[i+4>>2]=D,(c[m+4>>2]|0)<0):0){h=m;i=n;h=_$(c[i>>2]|0,c[i+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;i=n;c[i>>2]=h;c[i+4>>2]=D;i=m;c[i>>2]=0;c[i+4>>2]=0}if((c[k>>2]|0)==4){h=m;k=n;k=_$(c[h>>2]|0,c[h+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;h=D;q=c[j>>2]|0;i=((q|0)<0)<<31>>31;if((h|0)>(i|0)|(h|0)==(i|0)&k>>>0>q>>>0){k=c[j>>2]|0;i=m;i=Z$(k|0,((k|0)<0)<<31>>31|0,c[i>>2]|0,c[i+4>>2]|0)|0;k=D;j=n;c[j>>2]=i;c[j+4>>2]=k;j=(c[n+4>>2]|0)<0;q=n;c[q>>2]=j?0:i;c[q+4>>2]=j?0:k}q=n;Ti(c[o>>2]|0,(c[p>>2]|0)+(c[m>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);l=r;return}while(1){k=m;b=c[p>>2]|0;if(!(d[c[p>>2]>>0]|0?(c[k>>2]|0)!=0|(c[k+4>>2]|0)!=0:0))break;c[p>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);j=m;j=_$(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;k=m;c[k>>2]=j;c[k+4>>2]=D}c[q>>2]=b;while(1){m=n;if(!(d[c[q>>2]>>0]|0?(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0:0))break;m=c[q>>2]|0;c[q>>2]=m+1;d:do if((d[m>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);k=n;k=_$(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;m=n;c[m>>2]=k;c[m+4>>2]=D}q=(c[q>>2]|0)-(c[p>>2]|0)|0;Si(c[o>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);l=r;return}function Gh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+32|0;n=m+24|0;g=m+16|0;i=m+12|0;j=m+8|0;k=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[i>>2]=ui(c[n>>2]|0,32)|0;c[j>>2]=Ei(c[c[g>>2]>>2]|0)|0;if(!((c[i>>2]|0)!=0&(c[j>>2]|0)!=5)){l=m;return}b=(c[i>>2]|0)+16|0;n=b;n=_$(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;c[b>>2]=n;c[b+4>>2]=D;b=c[c[g>>2]>>2]|0;if((c[j>>2]|0)!=1){o=+Hi(b);n=c[i>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[i>>2]|0)+25>>0]=1;l=m;return}n=Fi(b)|0;j=k;c[j>>2]=n;c[j+4>>2]=D;j=k;n=c[i>>2]|0;h[n>>3]=+h[n>>3]+(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0));if(d[(c[i>>2]|0)+25>>0]|0|(d[(c[i>>2]|0)+24>>0]|0)|0){l=m;return}n=k;if(!(Gi((c[i>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){l=m;return}a[(c[i>>2]|0)+24>>0]=1;l=m;return}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=ui(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){l=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){l=f;return}if(a[(c[e>>2]|0)+24>>0]|0){Th(c[d>>2]|0,22260,-1);l=f;return}b=c[d>>2]|0;d=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){Ci(b,+h[d>>3]);l=f;return}else{g=d+8|0;Bi(b,c[g>>2]|0,c[g+4>>2]|0);l=f;return}}function Ih(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=ui(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;Ci(a,f);l=d;return}f=+h[c[b>>2]>>3];Ci(a,f);l=d;return}function Jh(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ui(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){l=e;return}f=(c[d>>2]|0)+16|0;Ci(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));l=e;return}function Kh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+12|0;h=g+8|0;e=g+4|0;f=g;c[i>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=ui(c[i>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){l=g;return}}else{i=5!=(Ai(c[c[e>>2]>>2]|0)|0);if(!(i&(c[f>>2]|0)!=0)){l=g;return}}i=c[f>>2]|0;h=i;h=_$(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[i>>2]=h;c[i+4>>2]=D;l=g;return}function Lh(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=ui(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;Bi(a,b,e);l=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;Bi(a,b,e);l=d;return}function Mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;h=p+36|0;i=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;e=p+8|0;f=p+4|0;g=p;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;if((Ai(c[c[j>>2]>>2]|0)|0)==5){l=p;return}c[m>>2]=ui(c[h>>2]|0,28)|0;if(!(c[m>>2]|0)){l=p;return}c[f>>2]=Ph(c[h>>2]|0)|0;c[g>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[f>>2]|0)+96>>2];if(!(c[g>>2]|0)){if((c[i>>2]|0)==2){c[n>>2]=Rh(c[(c[j>>2]|0)+4>>2]|0)|0;c[e>>2]=Sh(c[(c[j>>2]|0)+4>>2]|0)|0}else{c[n>>2]=22226;c[e>>2]=1}if(c[e>>2]|0)Pd(c[m>>2]|0,c[n>>2]|0,c[e>>2]|0)}c[k>>2]=Rh(c[c[j>>2]>>2]|0)|0;c[o>>2]=Sh(c[c[j>>2]>>2]|0)|0;if(!(c[k>>2]|0)){l=p;return}Pd(c[m>>2]|0,c[k>>2]|0,c[o>>2]|0);l=p;return}function Nh(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=ui(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){l=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){vi(c[b>>2]|0);l=f;return}a=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){wi(a);l=f;return}else{xi(a,Bd(c[e>>2]|0)|0,-1,157);l=f;return}}function Oh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+48|0;h=o+36|0;i=o+32|0;j=o+28|0;k=o+24|0;m=o+20|0;n=o+16|0;q=o+12|0;p=o+8|0;f=o+4|0;g=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=e;c[p>>2]=Ph(c[h>>2]|0)|0;c[f>>2]=Qh(c[h>>2]|0)|0;c[m>>2]=Rh(c[c[j>>2]>>2]|0)|0;c[k>>2]=Rh(c[(c[j>>2]|0)+4>>2]|0)|0;c[q>>2]=Sh(c[c[j>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+96+32>>2]|0)){Th(c[h>>2]|0,22049,-1);l=o;return}do if((c[i>>2]|0)==3){c[g>>2]=Rh(c[(c[j>>2]|0)+8>>2]|0)|0;if(!(c[g>>2]|0)){l=o;return}if((Uh(c[g>>2]|0,-1)|0)==1){c[n>>2]=Vh(g)|0;break}Th(c[h>>2]|0,22082,-1);l=o;return}else c[n>>2]=d[(c[f>>2]|0)+2>>0];while(0);if(!((c[k>>2]|0)!=0&(c[m>>2]|0)!=0)){l=o;return}q=c[h>>2]|0;Xh(q,Wh(c[m>>2]|0,c[k>>2]|0,c[f>>2]|0,c[n>>2]|0)|0);l=o;return}function Ph(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function Qh(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function Rh(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=ti(c[d>>2]|0,1)|0;l=b;return a|0}function Sh(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=li(c[d>>2]|0,1)|0;l=b;return a|0}function Th(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+8|0;h=f+4|0;g=f;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[i>>2]|0)+20>>2]=1;a[(c[i>>2]|0)+25>>0]=1;ci(c[c[i>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;l=f;return}function Uh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+16|0;e=i+12|0;h=i+8|0;f=i+4|0;g=i;c[j>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[j>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){a=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){a=10;break}j=c[f>>2]|0;c[f>>2]=j+1;a:do if((d[j>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((a|0)==10){l=i;return c[h>>2]|0}return 0}function Vh(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;l=f;return g|0}c[e>>2]=d[22127+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;l=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;l=f;return h|0}function Wh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;r=x+32|0;q=x+28|0;m=x+24|0;n=x+20|0;o=x+56|0;h=x+16|0;p=x+12|0;i=x+8|0;j=x+4|0;k=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[m>>2]=d[(c[v>>2]|0)+1>>0];c[n>>2]=d[c[v>>2]>>0];a[o>>0]=a[(c[v>>2]|0)+3>>0]|0;c[h>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){b=c[t>>2]|0;c[t>>2]=b+1;b=d[b>>0]|0}else b=Vh(t)|0;c[r>>2]=b;if(!b){f=83;break}if((c[r>>2]|0)==(c[n>>2]|0)){f=7;break}do if((c[r>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[r>>2]=Vh(t)|0;if(!(c[r>>2]|0)){f=49;break a}c[h>>2]=c[t>>2];break}c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[r>>2]=Vh(u)|0;if(!(c[r>>2]|0)){f=52;break a}c[q>>2]=Vh(t)|0;if((c[q>>2]|0)==94){c[k>>2]=1;c[q>>2]=Vh(t)|0}if((c[q>>2]|0)==93){if((c[r>>2]|0)==93)c[j>>2]=1;c[q>>2]=Vh(t)|0}while(1){b=c[q>>2]|0;if(!(c[q>>2]|0?(c[q>>2]|0)!=93:0))break;if(((b|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[i>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[q>>2]=Vh(t)|0;if((c[r>>2]|0)>>>0>=(c[i>>2]|0)>>>0?(c[r>>2]|0)>>>0<=(c[q>>2]|0)>>>0:0)c[j>>2]=1;c[i>>2]=0}else{if((c[r>>2]|0)==(c[q>>2]|0))c[j>>2]=1;c[i>>2]=c[q>>2]}c[q>>2]=Vh(t)|0}if(!b){f=73;break a}if(!(c[j>>2]^c[k>>2])){f=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){b=c[u>>2]|0;c[u>>2]=b+1;b=d[b>>0]|0}else b=Vh(u)|0;c[q>>2]=b;if((c[r>>2]|0)==(c[q>>2]|0))continue;if(d[o>>0]|0?((c[r>>2]|0)>>>0<128?(d[20458+(c[r>>2]&255)>>0]|0)==(d[20458+(c[q>>2]&255)>>0]|0):0)&(c[q>>2]|0)>>>0<128:0)continue;if((c[r>>2]|0)!=(c[m>>2]|0)){f=82;break}if(!(c[q>>2]|0?(c[t>>2]|0)!=(c[h>>2]|0):0)){f=82;break}}if((f|0)==7){while(1){f=0;if((d[c[t>>2]>>0]|0)<128){b=c[t>>2]|0;c[t>>2]=b+1;b=d[b>>0]|0}else b=Vh(t)|0;c[r>>2]=b;if((b|0)==(c[n>>2]|0))b=1;else b=(c[r>>2]|0)==(c[m>>2]|0);e=c[r>>2]|0;if(!b)break;if((e|0)!=(c[m>>2]|0)){f=7;continue}if(!(Vh(u)|0)){f=15;break}else f=7}if((f|0)==15){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}if(!e){c[s>>2]=1;w=c[s>>2]|0;l=x;return w|0}do if((c[r>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[r>>2]=Vh(t)|0;if(c[r>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)b=(Wh((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else b=0;e=c[u>>2]|0;if(!b)break;c[u>>2]=e+1;if((d[e>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[e>>0]|0)!=0&1;w=c[s>>2]|0;l=x;return w|0}while(0);c:do if((c[r>>2]|0)>>>0<=128){b=c[r>>2]|0;if(a[o>>0]|0){c[p>>2]=b&~(d[20063+(c[r>>2]&255)>>0]&32);c[r>>2]=d[20458+(c[r>>2]&255)>>0]}else c[p>>2]=b;while(1){o=c[u>>2]|0;c[u>>2]=o+1;o=d[o>>0]|0;c[q>>2]=o;if(!o)break c;if((c[q>>2]|0)!=(c[r>>2]|0)?(c[q>>2]|0)!=(c[p>>2]|0):0)continue;if(Wh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;l=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){b=c[u>>2]|0;c[u>>2]=b+1;b=d[b>>0]|0}else b=Vh(u)|0;c[q>>2]=b;if(!b)break c;if((c[q>>2]|0)!=(c[r>>2]|0))continue;if(Wh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;l=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==49){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==52){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==73){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==82){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;l=x;return w|0}return 0}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;Yh(c[c[e>>2]>>2]|0,b,((b|0)<0)<<31>>31);l=d;return}function Yh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;h=i;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312|0){Zh(c[g>>2]|0,c[h>>2]|0,c[h+4>>2]|0);l=i;return}else{d=h;f=c[d+4>>2]|0;h=c[g>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=f;b[(c[g>>2]|0)+8>>1]=4;l=i;return}}function Zh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;_h(c[g>>2]|0);a=h;d=c[a+4>>2]|0;e=c[g>>2]|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;b[(c[g>>2]|0)+8>>1]=4;l=f;return}function _h(a){a=a|0;var d=0,f=0;d=l;l=l+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312|0){$h(a);l=d;return}else{b[a+8>>1]=1;l=d;return}}function $h(a){a=a|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192|0)ai(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024|0)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32|0){bi(c[d>>2]|0);break}if((e[d+8>>1]|0)&64|0){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+188>>2];c[(c[c[g>>2]>>2]|0)+188>>2]=c[g>>2]}}else Eb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;l=h;return}function ai(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+96|0;f=j+80|0;g=j+76|0;h=j+72|0;i=j+40|0;e=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if(!(c[g>>2]|0)){i=c[h>>2]|0;l=j;return i|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){i=c[h>>2]|0;l=j;return i|0};c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;a=e;d=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[i>>2]=e;c[i+8>>2]=c[f>>2];c[i+4>>2]=c[g>>2];Eb[c[(c[g>>2]|0)+16>>2]&255](i);if((c[(c[f>>2]|0)+24>>2]|0)>0)Xd(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);a=c[f>>2]|0;d=a+40|0;do{c[a>>2]=c[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(d|0));c[h>>2]=c[i+20>>2];i=c[h>>2]|0;l=j;return i|0}function bi(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Xd(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;l=g;return}function ci(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;r=u+28|0;s=u+24|0;m=u+20|0;v=u+16|0;t=u+34|0;n=u+12|0;o=u+8|0;p=u+4|0;q=u+32|0;k=u;c[s>>2]=f;c[m>>2]=g;c[v>>2]=h;a[t>>0]=i;c[n>>2]=j;c[o>>2]=c[v>>2];b[q>>1]=0;f=c[s>>2]|0;if(!(c[m>>2]|0)){_h(f);c[r>>2]=0;v=c[r>>2]|0;l=u;return v|0}if(c[f+32>>2]|0)c[p>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+96>>2];else c[p>>2]=1e9;b[q>>1]=(d[t>>0]|0)==0?16:2;if((c[o>>2]|0)<0){a:do if((d[t>>0]|0)==1){c[o>>2]=md(c[m>>2]|0)|0;if((c[o>>2]|0)>(c[p>>2]|0))c[o>>2]=(c[p>>2]|0)+1}else{c[o>>2]=0;while(1){if((c[o>>2]|0)>(c[p>>2]|0))break a;if(!(a[(c[m>>2]|0)+(c[o>>2]|0)>>0]|a[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]))break a;c[o>>2]=(c[o>>2]|0)+2}}while(0);b[q>>1]=e[q>>1]|512}do if((c[n>>2]|0)!=(-1|0)){v=(c[n>>2]|0)==191;ei(c[s>>2]|0);f=c[m>>2]|0;c[(c[s>>2]|0)+16>>2]=f;if(v){c[(c[s>>2]|0)+20>>2]=f;v=ae(c[(c[s>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=v;break}else{c[(c[s>>2]|0)+36>>2]=c[n>>2];b[q>>1]=e[q>>1]|((c[n>>2]|0)==0?2048:1024);break}}else{c[k>>2]=c[o>>2];if(e[q>>1]&512|0)c[k>>2]=(c[k>>2]|0)+((d[t>>0]|0)==1?1:2);if((c[o>>2]|0)>(c[p>>2]|0)){c[r>>2]=18;v=c[r>>2]|0;l=u;return v|0}if(!(di(c[s>>2]|0,(c[k>>2]|0)>32?c[k>>2]|0:32)|0)){h0(c[(c[s>>2]|0)+16>>2]|0,c[m>>2]|0,c[k>>2]|0)|0;break}c[r>>2]=7;v=c[r>>2]|0;l=u;return v|0}while(0);c[(c[s>>2]|0)+12>>2]=c[o>>2];b[(c[s>>2]|0)+8>>1]=b[q>>1]|0;a[(c[s>>2]|0)+10>>0]=(d[t>>0]|0)==0?1:d[t>>0]|0;if((d[(c[s>>2]|0)+10>>0]|0)!=1?fi(c[s>>2]|0)|0:0){c[r>>2]=7;v=c[r>>2]|0;l=u;return v|0}if((c[o>>2]|0)>(c[p>>2]|0)){c[r>>2]=18;v=c[r>>2]|0;l=u;return v|0}else{c[r>>2]=0;v=c[r>>2]|0;l=u;return v|0}return 0}function di(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=ii(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;l=i;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;l=i;return h|0}return 0}function ei(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){l=d;return}ki(c[b>>2]|0);l=d;return}function fi(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+4|0;h=m;i=m+10|0;j=m+9|0;k=m+8|0;c[g>>2]=f;c[h>>2]=0;a[i>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[j>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[k>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[j>>0]|0)==254?(d[k>>0]|0)==255:0)a[i>>0]=3;if((d[j>>0]|0)==255?(d[k>>0]|0)==254:0)a[i>>0]=2}if(!(a[i>>0]|0)){k=c[h>>2]|0;l=m;return k|0}c[h>>2]=gi(c[g>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=m;return k|0}k=(c[g>>2]|0)+12|0;c[k>>2]=(c[k>>2]|0)-2;k0(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;k=(c[g>>2]|0)+8|0;b[k>>1]=e[k>>1]|512;a[(c[g>>2]|0)+10>>0]=a[i>>0]|0;k=c[h>>2]|0;l=m;return k|0}function gi(d){d=d|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[g>>2]=d;do if((e[(c[g>>2]|0)+8>>1]|0)&18|0){if((e[(c[g>>2]|0)+8>>1]|0)&16384|0?hi(c[g>>2]|0)|0:0){c[f>>2]=7;g=c[f>>2]|0;l=h;return g|0}if(c[(c[g>>2]|0)+24>>2]|0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(ii(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;g=c[f>>2]|0;l=h;return g|0}while(0);g=(c[g>>2]|0)+8|0;b[g>>1]=(e[g>>1]|0)&-4097;c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}function hi(a){a=a|0;var d=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+8|0;f=g+4|0;h=g;c[f>>2]=a;a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)<=0?1:a;if(ii(c[f>>2]|0,c[h>>2]|0,1)|0){c[d>>2]=7;h=c[d>>2]|0;l=g;return h|0}else{m0((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;h=(c[f>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);h=(c[f>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-16897;c[d>>2]=0;h=c[d>>2]|0;l=g;return h|0}return 0}function ii(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+12|0;i=k+8|0;g=k+4|0;j=k;c[i>>2]=a;c[g>>2]=d;c[j>>2]=f;do if((c[(c[i>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if((c[j>>2]|0?(c[(c[i>>2]|0)+24>>2]|0)>0:0)?(c[(c[i>>2]|0)+16>>2]|0)==(c[(c[i>>2]|0)+20>>2]|0):0){g=c[g>>2]|0;g=ji(c[(c[i>>2]|0)+32>>2]|0,c[(c[i>>2]|0)+16>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[i>>2]|0)+20>>2]=g;c[(c[i>>2]|0)+16>>2]=g;c[j>>2]=0}else{if((c[(c[i>>2]|0)+24>>2]|0)>0)Xd(c[(c[i>>2]|0)+32>>2]|0,c[(c[i>>2]|0)+20>>2]|0);g=c[g>>2]|0;g=Cd(c[(c[i>>2]|0)+32>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[i>>2]|0)+20>>2]=g}a=c[i>>2]|0;if(c[(c[i>>2]|0)+20>>2]|0){g=ae(c[a+32>>2]|0,c[(c[i>>2]|0)+20>>2]|0)|0;c[(c[i>>2]|0)+24>>2]=g;break}_h(a);c[(c[i>>2]|0)+16>>2]=0;c[(c[i>>2]|0)+24>>2]=0;c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}while(0);if((c[j>>2]|0?c[(c[i>>2]|0)+16>>2]|0:0)?(c[(c[i>>2]|0)+16>>2]|0)!=(c[(c[i>>2]|0)+20>>2]|0):0)h0(c[(c[i>>2]|0)+20>>2]|0,c[(c[i>>2]|0)+16>>2]|0,c[(c[i>>2]|0)+12>>2]|0)|0;if((e[(c[i>>2]|0)+8>>1]|0)&1024|0)Eb[c[(c[i>>2]|0)+36>>2]&255](c[(c[i>>2]|0)+16>>2]|0);c[(c[i>>2]|0)+16>>2]=c[(c[i>>2]|0)+20>>2];j=(c[i>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-7169;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function ji(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;f=i+16|0;g=i+12|0;j=i;h=i+8|0;c[f>>2]=a;c[g>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;e=j;c[h>>2]=de(c[f>>2]|0,c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){j=c[h>>2]|0;l=i;return j|0}Xd(c[f>>2]|0,c[g>>2]|0);j=c[h>>2]|0;l=i;return j|0}function ki(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312|0)$h(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){b=c[b>>2]|0;b=b+16|0;c[b>>2]=0;l=d;return}Xd(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;b=c[b>>2]|0;b=b+16|0;c[b>>2]=0;l=d;return}function li(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k+8|0;g=k+4|0;h=k+12|0;j=k;c[g>>2]=b;a[h>>0]=f;c[j>>2]=c[g>>2];if((e[(c[j>>2]|0)+8>>1]|0)&2|0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[i>>2]=c[(c[j>>2]|0)+12>>2];j=c[i>>2]|0;l=k;return j|0}f=e[(c[j>>2]|0)+8>>1]|0;if((e[(c[j>>2]|0)+8>>1]|0)&16|0){b=c[(c[j>>2]|0)+12>>2]|0;if(f&16384|0){c[i>>2]=b+(c[c[j>>2]>>2]|0);j=c[i>>2]|0;l=k;return j|0}else{c[i>>2]=b;j=c[i>>2]|0;l=k;return j|0}}else if(f&1|0){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else{c[i>>2]=mi(c[g>>2]|0,a[h>>0]|0)|0;j=c[i>>2]|0;l=k;return j|0}return 0}function mi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(ni(c[e>>2]|0,a[g>>0]|0)|0)){g=0;l=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;l=f;return g|0}function ni(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+4|0;i=k;j=k+8|0;c[i>>2]=f;a[j>>0]=g;f=c[i>>2]|0;if((e[(c[i>>2]|0)+8>>1]|0)&18|0){g=f+8|0;b[g>>1]=e[g>>1]|0|2;if((d[(c[i>>2]|0)+10>>0]|0|0)!=((d[j>>0]|0)&-9|0))oi(c[i>>2]|0,(d[j>>0]|0)&-9)|0;if(((d[j>>0]|0)&8|0?1==(1&c[(c[i>>2]|0)+16>>2]|0):0)?gi(c[i>>2]|0)|0:0){c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}pi(c[i>>2]|0)|0}else qi(f,a[j>>0]|0,0)|0;if((d[(c[i>>2]|0)+10>>0]|0|0)==((d[j>>0]|0)&-9|0)){c[h>>2]=c[(c[i>>2]|0)+16>>2];j=c[h>>2]|0;l=k;return j|0}else{c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}return 0}function oi(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=b;if((e[(c[g>>2]|0)+8>>1]|0)&2|0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[i>>2]=si(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}function pi(a){a=a|0;var b=0,d=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;d=c[b>>2]|0;l=f;return d|0}else{c[b>>2]=ri(c[d>>2]|0)|0;d=c[b>>2]|0;l=f;return d|0}return 0}function qi(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+8|0;p=r;j=r+28|0;k=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[k>>2]=f;a[m>>0]=g;a[n>>0]=i;c[o>>2]=e[(c[k>>2]|0)+8>>1];c[r+16>>2]=32;if(di(c[k>>2]|0,32)|0){a[(c[k>>2]|0)+10>>0]=0;c[j>>2]=7;q=c[j>>2]|0;l=r;return q|0}f=c[(c[k>>2]|0)+16>>2]|0;g=c[k>>2]|0;if(c[o>>2]&4|0){i=g;o=c[i+4>>2]|0;q=p;c[q>>2]=c[i>>2];c[q+4>>2]=o;ef(32,f,22191,p)|0}else{h[q>>3]=+h[g>>3];ef(32,f,22196,q)|0}q=md(c[(c[k>>2]|0)+16>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=q;a[(c[k>>2]|0)+10>>0]=1;q=(c[k>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[k>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}oi(c[k>>2]|0,d[m>>0]|0)|0;c[j>>2]=0;q=c[j>>2]|0;l=r;return q|0}function ri(d){d=d|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[g>>2]=d;if(ii(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;g=c[f>>2]|0;l=h;return g|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;g=(c[g>>2]|0)+8|0;b[g>>1]=e[g>>1]|0|512;c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}return 0}function si(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;o=v+40|0;p=v+36|0;q=v+45|0;j=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;n=v+12|0;h=v+44|0;i=v+8|0;k=v+4|0;m=v;c[p>>2]=f;a[q>>0]=g;if((d[(c[p>>2]|0)+10>>0]|0|0)!=1?(d[q>>0]|0|0)!=1:0){c[i>>2]=gi(c[p>>2]|0)|0;if(c[i>>2]|0){c[o>>2]=7;u=c[o>>2]|0;l=v;return u|0}c[s>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=(c[s>>2]|0)+(c[(c[p>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;a[h>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[h>>0]|0;u=c[s>>2]|0;c[s>>2]=u+1;a[u>>0]=r}a[(c[p>>2]|0)+10>>0]=a[q>>0]|0}else{f=(c[p>>2]|0)+12|0;g=c[f>>2]|0;if((d[q>>0]|0|0)==1){c[f>>2]=g&-2;c[j>>2]=(c[(c[p>>2]|0)+12>>2]<<1)+1}else c[j>>2]=(g<<1)+2;c[s>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=(c[s>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0);j=c[j>>2]|0;c[r>>2]=Cd(c[(c[p>>2]|0)+32>>2]|0,j,((j|0)<0)<<31>>31)|0;if(!(c[r>>2]|0)){c[o>>2]=7;u=c[o>>2]|0;l=v;return u|0}c[u>>2]=c[r>>2];if((d[(c[p>>2]|0)+10>>0]|0|0)==1){a:do if((d[q>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=d[m>>0];do if((c[n>>2]|0)>>>0>=192){c[n>>2]=d[22127+((c[n>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[t>>2]|0))g=((d[c[s>>2]>>0]|0)&192|0)==128;else g=0;f=c[n>>2]|0;if(!g)break;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=(f<<6)+(63&(d[m>>0]|0))}if((f>>>0>=128?(c[n>>2]&-2048|0)!=55296:0)?(c[n>>2]&-2|0)!=65534:0)break;c[n>>2]=65533}while(0);f=c[n>>2]|0;if((c[n>>2]|0)>>>0<=65535){k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=f;k=(c[n>>2]|0)>>>8&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;continue}else{m=(f>>>10&63)+(((c[n>>2]|0)-65536|0)>>>10&192)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=m;k=216+(((c[n>>2]|0)-65536|0)>>>18&3)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;m=c[n>>2]&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=m;k=220+((c[n>>2]|0)>>>8&3)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=d[m>>0];do if((c[n>>2]|0)>>>0>=192){c[n>>2]=d[22127+((c[n>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[t>>2]|0))g=((d[c[s>>2]>>0]|0)&192|0)==128;else g=0;f=c[n>>2]|0;if(!g)break;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=(f<<6)+(63&(d[m>>0]|0))}if((f>>>0>=128?(c[n>>2]&-2048|0)!=55296:0)?(c[n>>2]&-2|0)!=65534:0)break;c[n>>2]=65533}while(0);f=c[n>>2]|0;if((c[n>>2]|0)>>>0<=65535){k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=f>>>8;k=c[n>>2]&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;continue}else{k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=216+((f-65536|0)>>>18&3);k=((c[n>>2]|0)>>>10&63)+(((c[n>>2]|0)-65536|0)>>>10&192)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;m=220+((c[n>>2]|0)>>>8&3)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=m;k=c[n>>2]&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;continue}}while(0);c[(c[p>>2]|0)+12>>2]=(c[u>>2]|0)-(c[r>>2]|0);t=c[u>>2]|0;c[u>>2]=t+1;a[t>>0]=0}else{b:do if((d[(c[p>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=(c[n>>2]|0)+((d[m>>0]|0)<<8);if((c[n>>2]|0)>>>0>=55296&(c[n>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[t>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[k>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[k>>2]=(c[k>>2]|0)+((d[m>>0]|0)<<8);c[n>>2]=(c[k>>2]&1023)+((c[n>>2]&63)<<10)+((c[n>>2]&960)+64<<10)}f=c[n>>2]|0;if((c[n>>2]|0)>>>0<128){m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=f;continue}g=c[n>>2]|0;if(f>>>0<2048){j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=192+(g>>>6&31);j=128+(c[n>>2]&63)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=j;continue}f=c[n>>2]|0;if(g>>>0<65536){m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=224+(f>>>12&15);m=128+((c[n>>2]|0)>>>6&63)&255;j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=m;j=128+(c[n>>2]&63)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=j;continue}else{j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=240+(f>>>18&7);j=128+((c[n>>2]|0)>>>12&63)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=j;m=128+((c[n>>2]|0)>>>6&63)&255;j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=m;j=128+(c[n>>2]&63)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=j;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break b;k=c[s>>2]|0;c[s>>2]=k+1;c[n>>2]=(d[k>>0]|0)<<8;k=c[s>>2]|0;c[s>>2]=k+1;c[n>>2]=(c[n>>2]|0)+(d[k>>0]|0);if((c[n>>2]|0)>>>0>=55296&(c[n>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[t>>2]|0)>>>0:0){k=c[s>>2]|0;c[s>>2]=k+1;c[m>>2]=(d[k>>0]|0)<<8;k=c[s>>2]|0;c[s>>2]=k+1;c[m>>2]=(c[m>>2]|0)+(d[k>>0]|0);c[n>>2]=(c[m>>2]&1023)+((c[n>>2]&63)<<10)+((c[n>>2]&960)+64<<10)}f=c[n>>2]|0;if((c[n>>2]|0)>>>0<128){k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=f;continue}g=c[n>>2]|0;if(f>>>0<2048){j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=192+(g>>>6&31);j=128+(c[n>>2]&63)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=j;continue}f=c[n>>2]|0;if(g>>>0<65536){k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=224+(f>>>12&15);k=128+((c[n>>2]|0)>>>6&63)&255;j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=k;j=128+(c[n>>2]&63)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=j;continue}else{j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=240+(f>>>18&7);j=128+((c[n>>2]|0)>>>12&63)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=j;k=128+((c[n>>2]|0)>>>6&63)&255;j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=k;j=128+(c[n>>2]&63)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=j;continue}}while(0);c[(c[p>>2]|0)+12>>2]=(c[u>>2]|0)-(c[r>>2]|0)}a[c[u>>2]>>0]=0;c[n>>2]=e[(c[p>>2]|0)+8>>1];ei(c[p>>2]|0);b[(c[p>>2]|0)+8>>1]=514|c[n>>2]&32799;a[(c[p>>2]|0)+10>>0]=a[q>>0]|0;c[(c[p>>2]|0)+16>>2]=c[r>>2];c[(c[p>>2]|0)+20>>2]=c[(c[p>>2]|0)+16>>2];u=ae(c[(c[p>>2]|0)+32>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=u}c[o>>2]=0;u=c[o>>2]|0;l=v;return u|0}function ti(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+4|0;h=j;i=j+8|0;c[h>>2]=b;a[i>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[i>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1|0){c[g>>2]=0;break}else{c[g>>2]=ni(c[h>>2]|0,a[i>>0]|0)|0;break}}else c[g>>2]=0;while(0);l=j;return c[g>>2]|0}function ui(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;a=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=zi(a,c[f>>2]|0)|0;h=c[d>>2]|0;l=g;return h|0}else{c[d>>2]=c[(c[a+8>>2]|0)+16>>2];h=c[d>>2]|0;l=g;return h|0}return 0}function vi(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;ci(c[c[e>>2]>>2]|0,22203,-1,1,0)|0;l=d;return}function wi(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;_h(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;Od(c[(c[c[e>>2]>>2]|0)+32>>2]|0);l=d;return}function xi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;yi(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,1,c[g>>2]|0);l=f;return}function yi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;i=l;l=l+32|0;h=i+12|0;n=i+8|0;m=i+4|0;k=i+16|0;j=i;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[k>>0]=f;c[j>>2]=g;if((ci(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[k>>0]|0,c[j>>2]|0)|0)!=18){l=i;return}vi(c[h>>2]|0);l=i;return}function zi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];a=c[g>>2]|0;if((c[f>>2]|0)>0){di(a,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)m0(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{_h(a);c[(c[g>>2]|0)+16>>2]=0}l=h;return c[(c[g>>2]|0)+16>>2]|0}function Ai(a){a=a|0;var b=0,f=0;f=l;l=l+16|0;b=f;c[b>>2]=a;l=f;return d[22228+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;Yh(c[c[f>>2]>>2]|0,c[d>>2]|0,c[d+4>>2]|0);l=e;return}function Ci(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;Di(c[c[f>>2]>>2]|0,+h[e>>3]);l=d;return}function Di(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;_h(c[e>>2]|0);if(Sd(+h[f>>3])|0){l=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;l=g;return}function Ei(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=Ai(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){e=c[d>>2]|0;l=f;return e|0}c[e>>2]=c[b>>2];Oi(c[e>>2]|0,0);c[d>>2]=Ai(c[b>>2]|0)|0;e=c[d>>2]|0;l=f;return e|0}function Fi(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Ki(c[d>>2]|0)|0;l=b;return a|0}function Gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;f=i+16|0;g=i+8|0;h=i;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=c[f>>2]|0;j=c[a+4>>2]|0;d=h;c[d>>2]=c[a>>2];c[d+4>>2]=j;d=g;j=c[d+4>>2]|0;a=h;b=c[a+4>>2]|0;if((j|0)>0|(j|0)==0&(c[d>>2]|0)>>>0>=0){if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0?(h,h=Z$(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,b=D,j=g,d=c[j+4>>2]|0,(b|0)<(d|0)|((b|0)==(d|0)?h>>>0<(c[j>>2]|0)>>>0:0)):0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}}else if((b|0)<0?(h,h=_$(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=Z$(0,0,h|0,D|0)|0,b=D,j=g,j=_$(c[j>>2]|0,c[j+4>>2]|0,1,0)|0,d=D,(b|0)>(d|0)|(b|0)==(d|0)&h>>>0>j>>>0):0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}h=g;j=c[f>>2]|0;g=j;h=_$(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[j>>2]=h;c[j+4>>2]=D;c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}function Hi(a){a=a|0;var b=0.0,d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;b=+Ii(c[e>>2]|0);l=d;return +b}function Ii(b){b=b|0;var d=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+32|0;f=j+8|0;g=j+16|0;i=j;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8|0){h[f>>3]=+h[b>>3];k=+h[f>>3];l=j;return +k}d=c[g>>2]|0;if((e[b+8>>1]|0)&4|0){i=d;h[f>>3]=+((c[i>>2]|0)>>>0)+4294967296.0*+(c[i+4>>2]|0);k=+h[f>>3];l=j;return +k}if((e[d+8>>1]|0)&18|0){h[i>>3]=0.0;Ji(c[(c[g>>2]|0)+16>>2]|0,i,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[i>>3];k=+h[f>>3];l=j;return +k}else{h[f>>3]=0.0;k=+h[f>>3];l=j;return +k}return 0.0}function Ji(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;G=l;l=l+96|0;F=G+76|0;C=G+72|0;E=G+68|0;m=G+64|0;n=G+80|0;q=G+60|0;w=G+56|0;r=G+52|0;s=G+16|0;p=G+48|0;x=G+44|0;u=G+40|0;y=G+36|0;z=G+8|0;A=G+32|0;B=G+28|0;k=G+24|0;v=G;c[C>>2]=b;c[E>>2]=e;c[m>>2]=f;a[n>>0]=g;c[w>>2]=(c[C>>2]|0)+(c[m>>2]|0);c[r>>2]=1;g=s;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=0;c[x>>2]=1;c[u>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[E>>2]>>3]=0.0;if((d[n>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[k>>2]=3-(d[n>>0]|0);while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;if(a[(c[C>>2]|0)+(c[k>>2]|0)>>0]|0)break;c[k>>2]=(c[k>>2]|0)+2}c[B>>2]=(c[k>>2]|0)<(c[m>>2]|0)&1;c[w>>2]=(c[C>>2]|0)+(c[k>>2]^1);c[C>>2]=(c[C>>2]|0)+(d[n>>0]&1)}while(1){if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;if(!(d[20063+(d[c[C>>2]>>0]|0)>>0]&1))break;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0)}if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;l=G;return F|0}if((a[c[C>>2]>>0]|0)!=45){if((a[c[C>>2]>>0]|0)==43)c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0)}else{c[r>>2]=-1;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0)}while(1){if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;n=s;m=c[n+4>>2]|0;if(!((d[20063+(d[c[C>>2]>>0]|0)>>0]&4|0)!=0&((m|0)<214748364|(m|0)==214748364&(c[n>>2]|0)>>>0<3435973835)))break;n=s;n=r0(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;m=(a[c[C>>2]>>0]|0)-48|0;m=_$(n|0,D|0,m|0,((m|0)<0)<<31>>31|0)|0;n=s;c[n>>2]=m;c[n+4>>2]=D;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;if(!(d[20063+(d[c[C>>2]>>0]|0)>>0]&4))break;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[C>>2]|0)>>>0<(c[w>>2]|0)>>>0){b:do if((a[c[C>>2]>>0]|0)==46){c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0);while(1){if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break b;if(!(d[20063+(d[c[C>>2]>>0]|0)>>0]&4))break b;n=s;m=c[n+4>>2]|0;if((m|0)<214748364|(m|0)==214748364&(c[n>>2]|0)>>>0<3435973835){n=s;n=r0(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;m=(a[c[C>>2]>>0]|0)-48|0;m=_$(n|0,D|0,m|0,((m|0)<0)<<31>>31|0)|0;n=s;c[n>>2]=m;c[n+4>>2]=D;c[p>>2]=(c[p>>2]|0)+-1}c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[C>>2]|0)>>>0<(c[w>>2]|0)>>>0){if(!((a[c[C>>2]>>0]|0)!=101?(a[c[C>>2]>>0]|0)!=69:0))o=34;c:do if((o|0)==34){c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0);c[y>>2]=0;if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break a;if((a[c[C>>2]>>0]|0)!=45){if((a[c[C>>2]>>0]|0)==43)c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0)}else{c[x>>2]=-1;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0)}while(1){if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break c;if(!(d[20063+(d[c[C>>2]>>0]|0)>>0]&4))break c;if((c[u>>2]|0)<1e4)b=((c[u>>2]|0)*10|0)+((a[c[C>>2]>>0]|0)-48)|0;else b=1e4;c[u>>2]=b;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0);c[y>>2]=1}}while(0);while(1){if((c[C>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break a;if(!(d[20063+(d[c[C>>2]>>0]|0)>>0]&1))break a;c[C>>2]=(c[C>>2]|0)+(c[q>>2]|0)}}}while(0);q=S(c[u>>2]|0,c[x>>2]|0)|0;c[u>>2]=q+(c[p>>2]|0);if((c[u>>2]|0)<0){c[x>>2]=-1;c[u>>2]=S(c[u>>2]|0,-1)|0}else c[x>>2]=1;q=s;do if(!((c[q>>2]|0)==0&(c[q+4>>2]|0)==0)){while(1){if((c[u>>2]|0)<=0)break;e=s;b=c[e>>2]|0;e=c[e+4>>2]|0;if((c[x>>2]|0)>0){if((e|0)>214748364|(e|0)==214748364&b>>>0>=3435973836)break;p=s;p=r0(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=s;c[q>>2]=p;c[q+4>>2]=D}else{q=c0(b|0,e|0,10,0)|0;if((q|0)!=0|(D|0)!=0)break;p=s;p=n0(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=s;c[q>>2]=p;c[q+4>>2]=D}c[u>>2]=(c[u>>2]|0)+-1}p=(c[r>>2]|0)<0;q=s;o=c[q>>2]|0;q=c[q+4>>2]|0;n=Z$(0,0,o|0,q|0)|0;r=s;c[r>>2]=p?n:o;c[r+4>>2]=p?D:q;if(!(c[u>>2]|0)){x=s;h[z>>3]=+((c[x>>2]|0)>>>0)+4294967296.0*+(c[x+4>>2]|0);break}h[v>>3]=1.0;if((c[u>>2]|0)<=307){while(1){if(!((c[u>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[u>>2]=(c[u>>2]|0)-1}while(1){if((c[u>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[u>>2]=(c[u>>2]|0)-22}u=s;j=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);i=+h[v>>3];if((c[x>>2]|0)<0){h[z>>3]=j/i;break}else{h[z>>3]=j*i;break}}if((c[u>>2]|0)>=342){v=s;i=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[x>>2]|0)<0){h[z>>3]=0.0*i;break}else{h[z>>3]=t*i;break}}while(1){if(!((c[u>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[u>>2]=(c[u>>2]|0)-1}u=s;j=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);i=+h[v>>3];if((c[x>>2]|0)<0){h[z>>3]=j/i;h[z>>3]=+h[z>>3]/1.e+308;break}else{h[z>>3]=j*i;h[z>>3]=+h[z>>3]*1.e+308;break}}else h[z>>3]=(c[r>>2]|0)<0?-0.0:0.0;while(0);h[c[E>>2]>>3]=+h[z>>3];if(((c[A>>2]|0)>0?(c[C>>2]|0)==(c[w>>2]|0):0)&(c[y>>2]|0)!=0)b=(c[B>>2]|0)==0;else b=0;c[F>>2]=b&1;F=c[F>>2]|0;l=G;return F|0}function Ki(b){b=b|0;var d=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;d=j+8|0;f=j+20|0;g=j+16|0;i=j;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4|0)){if(c[g>>2]&8|0){g=Li(+h[c[f>>2]>>3])|0;i=d;c[i>>2]=g;c[i+4>>2]=D;break}if(c[g>>2]&18|0){g=i;c[g>>2]=0;c[g+4>>2]=0;Mi(c[(c[f>>2]|0)+16>>2]|0,i,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;f=i;g=c[f+4>>2]|0;i=d;c[i>>2]=c[f>>2];c[i+4>>2]=g;break}else{i=d;c[i>>2]=0;c[i+4>>2]=0;break}}else{f=c[f>>2]|0;g=c[f+4>>2]|0;i=d;c[i>>2]=c[f>>2];c[i+4>>2]=g}while(0);i=d;D=c[i+4>>2]|0;l=j;return c[i>>2]|0}function Li(a){a=+a;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+F(a)>=1.0?(a>0.0?~~+T(+E(a/4294967296.0),4294967295.0)>>>0:~~+R((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;D=c[f+4>>2]|0;l=e;return c[f>>2]|0}function Mi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;r=v+48|0;s=v+44|0;t=v+40|0;h=v+36|0;i=v+52|0;u=v+32|0;j=v;k=v+28|0;m=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;q=v+8|0;c[s>>2]=b;c[t>>2]=e;c[h>>2]=f;a[i>>0]=g;g=j;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=0;c[n>>2]=0;c[o>>2]=0;c[q>>2]=(c[s>>2]|0)+(c[h>>2]|0);if((d[i>>0]|0)==1)c[u>>2]=1;else{c[u>>2]=2;c[m>>2]=3-(d[i>>0]|0);while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;if(a[(c[s>>2]|0)+(c[m>>2]|0)>>0]|0)break;c[m>>2]=(c[m>>2]|0)+2}c[o>>2]=(c[m>>2]|0)<(c[h>>2]|0)&1;c[q>>2]=(c[s>>2]|0)+(c[m>>2]^1);c[s>>2]=(c[s>>2]|0)+(d[i>>0]&1)}while(1){if((c[s>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!(d[20063+(d[c[s>>2]>>0]|0)>>0]&1))break;c[s>>2]=(c[s>>2]|0)+(c[u>>2]|0)}do if((c[s>>2]|0)>>>0<(c[q>>2]|0)>>>0){if((a[c[s>>2]>>0]|0)==45){c[k>>2]=1;c[s>>2]=(c[s>>2]|0)+(c[u>>2]|0);break}if((a[c[s>>2]>>0]|0)==43)c[s>>2]=(c[s>>2]|0)+(c[u>>2]|0)}while(0);c[p>>2]=c[s>>2];while(1){if((c[s>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if((a[c[s>>2]>>0]|0)!=48)break;c[s>>2]=(c[s>>2]|0)+(c[u>>2]|0)}c[m>>2]=0;while(1){if(((c[s>>2]|0)+(c[m>>2]|0)|0)>>>0<(c[q>>2]|0)>>>0?(i=a[(c[s>>2]|0)+(c[m>>2]|0)>>0]|0,c[n>>2]=i,(i|0)>=48):0)b=(c[n>>2]|0)<=57;else b=0;f=j;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!b)break;i=r0(e|0,f|0,10,0)|0;h=c[n>>2]|0;h=_$(i|0,D|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Z$(h|0,D|0,48,0)|0;i=j;c[i>>2]=h;c[i+4>>2]=D;c[m>>2]=(c[m>>2]|0)+(c[u>>2]|0)}g=(c[k>>2]|0)!=0;do if(!(f>>>0>2147483647|(f|0)==2147483647&e>>>0>4294967295)){e=j;b=c[e>>2]|0;e=c[e+4>>2]|0;if(g){j=Z$(0,0,b|0,e|0)|0;t=c[t>>2]|0;c[t>>2]=j;c[t+4>>2]=D;break}else{t=c[t>>2]|0;c[t>>2]=b;c[t+4>>2]=e;break}}else{t=c[t>>2]|0;c[t>>2]=g?0:-1;c[t+4>>2]=g?-2147483648:2147483647}while(0);do if(((c[s>>2]|0)+(c[m>>2]|0)|0)>>>0>=(c[q>>2]|0)>>>0){if((c[m>>2]|0)==0?(c[p>>2]|0)==(c[s>>2]|0):0)break;if(!(c[o>>2]|0?1:(c[m>>2]|0)>((c[u>>2]|0)*19|0))){if((c[m>>2]|0)<((c[u>>2]|0)*19|0)){c[r>>2]=0;u=c[r>>2]|0;l=v;return u|0}c[n>>2]=Ni(c[s>>2]|0,c[u>>2]|0)|0;if((c[n>>2]|0)<0){c[r>>2]=0;u=c[r>>2]|0;l=v;return u|0}if((c[n>>2]|0)>0){c[r>>2]=1;u=c[r>>2]|0;l=v;return u|0}else{c[r>>2]=c[k>>2]|0?0:2;u=c[r>>2]|0;l=v;return u|0}}}while(0);c[r>>2]=1;u=c[r>>2]|0;l=v;return u|0}function Ni(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[i>>2]=22277;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;d=a[(c[e>>2]|0)+(S(c[h>>2]|0,c[f>>2]|0)|0)>>0]|0;c[g>>2]=(d-(a[(c[i>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){i=c[g>>2]|0;l=j;return i|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;i=c[g>>2]|0;l=j;return i|0}function Oi(d,f){d=d|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;i=n+16|0;j=n+8|0;k=n;m=n+24|0;c[g>>2]=d;c[i>>2]=f;a[m>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(Ji(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[m>>0]|0)|0)){l=n;return}if(!(Mi(c[(c[g>>2]|0)+16>>2]|0,k,c[(c[g>>2]|0)+12>>2]|0,a[m>>0]|0)|0)){j=k;k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;l=n;return}h[c[g>>2]>>3]=+h[j>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[i>>2]|0)){l=n;return}Pi(c[g>>2]|0);l=n;return}function Pi(a){a=a|0;var d=0,f=0,g=0,i=0,j=0,k=0,m=0;g=l;l=l+16|0;d=g+8|0;f=g;c[d>>2]=a;j=Li(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=j;c[m+4>>2]=D;m=f;j=f;k=c[j+4>>2]|0;a=f;i=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((k|0)>-2147483648|(k|0)==-2147483648&(c[j>>2]|0)>>>0>0)&((i|0)<2147483647|(i|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){l=g;return}j=f;k=c[j+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;l=g;return}function Qi(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Ki(c[d>>2]|0)|0;l=b;return a|0}function Ri(a){a=a|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=Rh(c[d>>2]|0)|0;g=c[g>>2]|0;l=h;return g|0}if((e[(c[f>>2]|0)+8>>1]|0)&16384|0)a=hi(c[f>>2]|0)|0;else a=0;if(a|0){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}d=(c[f>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)a=c[(c[f>>2]|0)+16>>2]|0;else a=0;c[g>>2]=a;g=c[g>>2]|0;l=h;return g|0}function Si(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+16|0;m=p+12|0;n=p;o=p+8|0;j=p+20|0;c[k>>2]=b;c[m>>2]=e;e=n;c[e>>2]=f;c[e+4>>2]=g;c[o>>2]=h;a[j>>0]=i;if((d[j>>0]|0)==4)a[j>>0]=(a[936]|0)==0?3:2;i=n;h=c[i+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[i>>2]|0)>>>0>2147483647){Ui(c[m>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;l=p;return}else{yi(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,a[j>>0]|0,c[o>>2]|0);l=p;return}}function Ti(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k;j=k+8|0;c[g>>2]=a;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=f;f=i;e=c[f+4>>2]|0;if(e>>>0>0|(e|0)==0&(c[f>>2]|0)>>>0>2147483647){Ui(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;l=k;return}else{yi(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,0,c[j>>2]|0);l=k;return}}function Ui(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))Eb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){l=h;return 18}vi(c[g>>2]|0);l=h;return 18}function Vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h;j=h+8|0;c[f>>2]=a;i=g;c[i>>2]=b;c[i+4>>2]=d;c[j>>2]=c[c[f>>2]>>2];b=g;i=c[b+4>>2]|0;d=c[(c[(c[j>>2]|0)+32>>2]|0)+96>>2]|0;a=((d|0)<0)<<31>>31;if(i>>>0>a>>>0|((i|0)==(a|0)?(c[b>>2]|0)>>>0>d>>>0:0)){c[e>>2]=18;j=c[e>>2]|0;l=h;return j|0}else{Yi(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;j=c[e>>2]|0;l=h;return j|0}return 0}function Wi(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){l=h;return}f=c[c[f>>2]>>2]|0;ci(f,Xi(c[g>>2]|0)|0,-1,1,0)|0;l=h;return}function Xi(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=22296;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?c[3612+(c[b>>2]<<2)>>2]|0:0)c[d>>2]=c[3612+(c[b>>2]<<2)>>2]}else c[d>>2]=22310;l=e;return c[d>>2]|0}function Yi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;ei(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;l=h;return}function Zi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;$i(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;l=d;return}function _i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;e=h+16|0;f=h;g=h+12|0;j=h+8|0;c[e>>2]=a;i=f;c[i>>2]=b;c[i+4>>2]=d;c[j>>2]=Ph(c[e>>2]|0)|0;b=f;i=c[b+4>>2]|0;d=c[(c[j>>2]|0)+96>>2]|0;a=((d|0)<0)<<31>>31;if((i|0)>(a|0)|((i|0)==(a|0)?(c[b>>2]|0)>>>0>d>>>0:0)){vi(c[e>>2]|0);c[g>>2]=0;j=c[g>>2]|0;l=h;return j|0}j=f;c[g>>2]=Fd(c[j>>2]|0,c[j+4>>2]|0)|0;if(c[g>>2]|0){j=c[g>>2]|0;l=h;return j|0}wi(c[e>>2]|0);j=c[g>>2]|0;l=h;return j|0}function $i(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312|0)$h(c[f>>2]|0);d=c[f>>2]|0;a=c[g>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];d=(c[f>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;l=i;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;l=i;return h|0}g=(c[f>>2]|0)+8|0;b[g>>1]=e[g>>1]|0|4096;c[h>>2]=gi(c[f>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}function aj(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+92>>2]|0}function bj(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+88>>2]|0}function cj(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function dj(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);l=d;return c[(c[b>>2]|0)+16>>2]|0}function ej(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;f=o+24|0;g=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[g>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e[(c[g>>2]|0)+8>>1];c[m>>2]=e[(c[i>>2]|0)+8>>1];c[n>>2]=c[k>>2]|c[m>>2];do if(!(c[n>>2]&1|0)){if(!(c[n>>2]&12)){if(c[n>>2]&2|0){if(!(c[k>>2]&2)){c[f>>2]=1;break}if(!(c[m>>2]&2)){c[f>>2]=-1;break}if(c[j>>2]|0){c[f>>2]=gj(c[g>>2]|0,c[i>>2]|0,c[j>>2]|0,0)|0;break}}c[f>>2]=hj(c[g>>2]|0,c[i>>2]|0)|0;break}if(c[k>>2]&c[m>>2]&4|0){m=c[g>>2]|0;j=c[m+4>>2]|0;n=c[i>>2]|0;k=c[n+4>>2]|0;if((j|0)<(k|0)|((j|0)==(k|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[f>>2]=-1;break}m=c[g>>2]|0;j=c[m+4>>2]|0;n=c[i>>2]|0;k=c[n+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[k>>2]&c[m>>2]&8|0){if(+h[c[g>>2]>>3]<+h[c[i>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[i>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[k>>2]&4|0)if(c[m>>2]&8|0){n=c[g>>2]|0;c[f>>2]=fj(c[n>>2]|0,c[n+4>>2]|0,+h[c[i>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[k>>2]&8)){c[f>>2]=1;break}if(c[m>>2]&4|0){n=c[i>>2]|0;c[f>>2]=0-(fj(c[n>>2]|0,c[n+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[m>>2]&1)-(c[k>>2]&1);while(0);l=o;return c[f>>2]|0}function fj(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;e=k+32|0;f=k+24|0;g=k+16|0;i=k+8|0;j=k;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;l=k;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;l=k;return m|0}d=+h[g>>3];n=+F(d)>=1.0?(d>0.0?~~+T(+E(d/4294967296.0),4294967295.0)>>>0:~~+R((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=i;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=i;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;l=k;return n|0}m=f;a=c[m+4>>2]|0;n=i;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=i;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;l=k;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;l=k;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;l=k;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;l=k;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;l=k;return n|0}return 0}function gj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+128|0;o=u+116|0;p=u+112|0;q=u+108|0;r=u+104|0;s=u+100|0;t=u+96|0;h=u+92|0;i=u+88|0;j=u+84|0;k=u+80|0;m=u+40|0;n=u;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;if((d[(c[p>>2]|0)+10>>0]|0|0)==(d[(c[r>>2]|0)+4>>0]|0|0)){c[o>>2]=Nb[c[(c[r>>2]|0)+12>>2]&255](c[(c[r>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[(c[q>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+16>>2]|0)|0;t=c[o>>2]|0;l=u;return t|0}jj(m,c[(c[p>>2]|0)+32>>2]|0,1);jj(n,c[(c[p>>2]|0)+32>>2]|0,1);kj(m,c[p>>2]|0,4096);kj(n,c[q>>2]|0,4096);c[h>>2]=ti(m,a[(c[r>>2]|0)+4>>0]|0)|0;c[j>>2]=(c[h>>2]|0)==0?0:c[m+12>>2]|0;c[i>>2]=ti(n,a[(c[r>>2]|0)+4>>0]|0)|0;c[k>>2]=(c[i>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Nb[c[(c[r>>2]|0)+12>>2]&255](c[(c[r>>2]|0)+8>>2]|0,c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0)|0;if(((c[h>>2]|0)==0|(c[i>>2]|0)==0)&(c[s>>2]|0)!=0)a[c[s>>2]>>0]=7;ei(m);ei(n);c[o>>2]=c[t>>2];t=c[o>>2]|0;l=u;return t|0}function hj(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;h=k+12|0;d=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[(c[g>>2]|0)+12>>2];c[j>>2]=c[(c[h>>2]|0)+12>>2];b=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0|(e[(c[h>>2]|0)+8>>1]|0))&16384)){c[d>>2]=H_(c[b+16>>2]|0,c[(c[h>>2]|0)+16>>2]|0,(c[i>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[i>>2]|0)|0;if(c[d>>2]|0){c[f>>2]=c[d>>2];j=c[f>>2]|0;l=k;return j|0}else{c[f>>2]=(c[i>>2]|0)-(c[j>>2]|0);j=c[f>>2]|0;l=k;return j|0}}a=c[g>>2]|0;if((e[b+8>>1]|0)&(e[(c[h>>2]|0)+8>>1]|0)&16384|0){c[f>>2]=(c[a>>2]|0)-(c[c[h>>2]>>2]|0);j=c[f>>2]|0;l=k;return j|0}if((e[a+8>>1]|0)&16384|0)if(ij(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[c[g>>2]>>2]|0)-(c[j>>2]|0);j=c[f>>2]|0;l=k;return j|0}else{c[f>>2]=-1;j=c[f>>2]|0;l=k;return j|0}else if(ij(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[i>>2]|0)-(c[c[h>>2]>>2]|0);j=c[f>>2]|0;l=k;return j|0}else{c[f>>2]=1;j=c[f>>2]|0;l=k;return j|0}return 0}function ij(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){b=6;break}if(a[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0){b=4;break}c[g>>2]=(c[g>>2]|0)+1}if((b|0)==4){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}else if((b|0)==6){c[h>>2]=1;h=c[h>>2]|0;l=i;return h|0}return 0}function jj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+4|0;h=f;i=f+8|0;c[g>>2]=a;c[h>>2]=d;b[i>>1]=e;b[(c[g>>2]|0)+8>>1]=b[i>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;l=f;return}function kj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=d;c[i>>2]=f;a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312|0){lj(a,c[h>>2]|0,c[i>>2]|0);l=j;return}f=c[h>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048|0){l=j;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[i>>2];l=j;return}function lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;$h(c[h>>2]|0);kj(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);l=e;return}function mj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;yi(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,0,c[g>>2]|0);l=f;return}function nj(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_h(c[c[d>>2]>>2]|0);l=b;return}function oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Ad(c[h>>2]|0,c[g>>2]|0,f);l=e;return}function pj(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;l=d;return}function qj(){return 20048}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+64|0;e=g+56|0;i=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[i>>2]=b;c[h>>2]=d;if(zj(c[e>>2]|0,c[i>>2]|0,c[h>>2]|0,f)|0){l=g;return}Aj(f);i=f;Ci(c[e>>2]|0,(+((c[i>>2]|0)>>>0)+4294967296.0*+(c[i+4>>2]|0))/864.0e5);l=g;return}function sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+176|0;h=i+48|0;e=i+68|0;k=i+64|0;j=i+60|0;f=i;g=i+72|0;c[e>>2]=a;c[k>>2]=b;c[j>>2]=d;if(zj(c[e>>2]|0,c[k>>2]|0,c[j>>2]|0,f)|0){l=i;return}Cj(f);j=c[f+12>>2]|0;k=c[f+16>>2]|0;c[h>>2]=c[f+8>>2];c[h+4>>2]=j;c[h+8>>2]=k;ef(100,g,23314,h)|0;xi(c[e>>2]|0,g,-1,-1);l=i;return}function tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;j=l;l=l+176|0;i=j+48|0;e=j+68|0;m=j+64|0;k=j+60|0;f=j;g=j+72|0;c[e>>2]=a;c[m>>2]=b;c[k>>2]=d;if(zj(c[e>>2]|0,c[m>>2]|0,c[k>>2]|0,f)|0){l=j;return}Dj(f);k=c[f+24>>2]|0;m=~~+h[f+32>>3];c[i>>2]=c[f+20>>2];c[i+4>>2]=k;c[i+8>>2]=m;ef(100,g,23299,i)|0;xi(c[e>>2]|0,g,-1,-1);l=j;return}function uj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;j=l;l=l+192|0;i=j+48|0;e=j+80|0;m=j+76|0;k=j+72|0;f=j;g=j+84|0;c[e>>2]=a;c[m>>2]=b;c[k>>2]=d;if(zj(c[e>>2]|0,c[m>>2]|0,c[k>>2]|0,f)|0){l=j;return}Bj(f);a=c[f+12>>2]|0;b=c[f+16>>2]|0;d=c[f+20>>2]|0;k=c[f+24>>2]|0;m=~~+h[f+32>>3];c[i>>2]=c[f+8>>2];c[i+4>>2]=a;c[i+8>>2]=b;c[i+12>>2]=d;c[i+16>>2]=k;c[i+20>>2]=m;ef(100,g,23269,i)|0;xi(c[e>>2]|0,g,-1,-1);l=j;return}function vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+336|0;G=J+192|0;F=J+184|0;E=J+176|0;C=J+168|0;B=J+160|0;A=J+152|0;z=J+144|0;I=J+136|0;H=J+128|0;y=J+120|0;x=J+112|0;t=J+232|0;g=J+228|0;i=J+224|0;u=J+64|0;j=J+56|0;v=J+220|0;w=J+216|0;m=J+212|0;f=J+208|0;n=J+204|0;o=J+236|0;p=J+48|0;q=J+200|0;r=J;s=J+196|0;c[t>>2]=b;c[g>>2]=d;c[i>>2]=e;if(!(c[g>>2]|0)){l=J;return}c[n>>2]=Rh(c[c[i>>2]>>2]|0)|0;if(!(c[n>>2]|0)){l=J;return}if(zj(c[t>>2]|0,(c[g>>2]|0)-1|0,(c[i>>2]|0)+4|0,u)|0){l=J;return}c[f>>2]=Ph(c[t>>2]|0)|0;c[v>>2]=0;i=j;c[i>>2]=1;c[i+4>>2]=0;a:while(1){if(!(a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0))break;if((a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0)==37){switch(a[(c[n>>2]|0)+((c[v>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{g=j;i=j;c[i>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[i+4>>2]=D;break}case 37:case 119:break;case 102:{g=j;i=j;c[i>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,8,0)|0;c[i+4>>2]=D;break}case 106:{g=j;i=j;c[i>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,3,0)|0;c[i+4>>2]=D;break}case 89:{g=j;i=j;c[i>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,8,0)|0;c[i+4>>2]=D;break}case 74:case 115:{g=j;i=j;c[i>>2]=_$(c[g>>2]|0,c[g+4>>2]|0,50,0)|0;c[i+4>>2]=D;break}default:{k=44;break a}}c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1;g=j;g=_$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;i=j;c[i>>2]=g;c[i+4>>2]=D}if((k|0)==44){l=J;return}k=j;i=c[k+4>>2]|0;if(!(i>>>0<0|(i|0)==0&(c[k>>2]|0)>>>0<100)){i=j;e=c[i+4>>2]|0;k=c[(c[f>>2]|0)+96>>2]|0;g=((k|0)<0)<<31>>31;if(e>>>0>g>>>0|((e|0)==(g|0)?(c[i>>2]|0)>>>0>k>>>0:0)){vi(c[t>>2]|0);l=J;return}k=c[j>>2]|0;c[m>>2]=Ed(c[f>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){wi(c[t>>2]|0);l=J;return}}else c[m>>2]=o;Aj(u);Bj(u);c[w>>2]=0;c[v>>2]=0;while(1){if(!(a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0))break;b:do if((a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0)!=37){i=a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0;j=c[m>>2]|0;k=c[w>>2]|0;c[w>>2]=k+1;a[j+k>>0]=i}else{c[v>>2]=(c[v>>2]|0)+1;do switch(a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0){case 100:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[x>>2]=c[u+16>>2];ef(3,k,23105,x)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 102:{h[p>>3]=+h[u+32>>3];if(+h[p>>3]>59.999)h[p>>3]=59.999;k=(c[m>>2]|0)+(c[w>>2]|0)|0;h[y>>3]=+h[p>>3];ef(7,k,23110,y)|0;c[w>>2]=(md((c[m>>2]|0)+(c[w>>2]|0)|0)|0)+(c[w>>2]|0);break b}case 72:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[H>>2]=c[u+20>>2];ef(3,k,23105,H)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 106:case 87:{b=r;d=u;f=b+48|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(f|0));a[r+42>>0]=0;c[r+12>>2]=1;c[r+16>>2]=1;Aj(r);j=u;k=r;c[q>>2]=n0(_$(Z$(c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0,D|0,432e5,0)|0,D|0,864e5,0)|0;if((a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0)==87){k=u;k=_$(c[k>>2]|0,c[k+4>>2]|0,432e5,0)|0;k=n0(k|0,D|0,864e5,0)|0;k=c0(k|0,D|0,7,0)|0;c[s>>2]=k;k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[I>>2]=((c[q>>2]|0)+7-(c[s>>2]|0)|0)/7|0;ef(3,k,23105,I)|0;c[w>>2]=(c[w>>2]|0)+2;break b}else{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[z>>2]=(c[q>>2]|0)+1;ef(4,k,23117,z)|0;c[w>>2]=(c[w>>2]|0)+3;break b}}case 74:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;j=u;h[A>>3]=(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5;ef(20,k,23122,A)|0;c[w>>2]=(md((c[m>>2]|0)+(c[w>>2]|0)|0)|0)+(c[w>>2]|0);break b}case 109:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[B>>2]=c[u+12>>2];ef(3,k,23105,B)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 77:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[C>>2]=c[u+24>>2];ef(3,k,23105,C)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 115:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;i=u;j=E;c[j>>2]=Z$(n0(c[i>>2]|0,c[i+4>>2]|0,1e3,0)|0,D|0,413362496,49)|0;c[j+4>>2]=D;ef(30,k,22191,E)|0;c[w>>2]=(md((c[m>>2]|0)+(c[w>>2]|0)|0)|0)+(c[w>>2]|0);break b}case 83:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[F>>2]=~~+h[u+32>>3];ef(3,k,23105,F)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 119:{i=u;i=c0(n0(_$(c[i>>2]|0,c[i+4>>2]|0,1296e5,0)|0,D|0,864e5,0)|0,D|0,7,0)|0;j=c[m>>2]|0;k=c[w>>2]|0;c[w>>2]=k+1;a[j+k>>0]=((i&255)<<24>>24)+48;break b}case 89:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[G>>2]=c[u+8>>2];ef(5,k,23128,G)|0;c[w>>2]=(md((c[m>>2]|0)+(c[w>>2]|0)|0)|0)+(c[w>>2]|0);break b}default:{j=c[m>>2]|0;k=c[w>>2]|0;c[w>>2]=k+1;a[j+k>>0]=37;break b}}while(0)}while(0);c[v>>2]=(c[v>>2]|0)+1}a[(c[m>>2]|0)+(c[w>>2]|0)>>0]=0;xi(c[t>>2]|0,c[m>>2]|0,-1,(c[m>>2]|0)==(o|0)?-1:191);l=J;return}function wj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;tj(c[f>>2]|0,0,0);l=e;return}function xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;uj(c[f>>2]|0,0,0);l=e;return}function yj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;sj(c[f>>2]|0,0,0);l=e;return}function zj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+32|0;o=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;b=c[m>>2]|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));if(!(c[j>>2]|0)){c[o>>2]=Ej(c[i>>2]|0,c[m>>2]|0)|0;o=c[o>>2]|0;l=p;return o|0}f=Ai(c[c[k>>2]>>2]|0)|0;c[h>>2]=f;b=c[c[k>>2]>>2]|0;do if((f|0)==2|(c[h>>2]|0)==1){q=+Hi(b)*864.0e5+.5;f=+F(q)>=1.0?(q>0.0?~~+T(+E(q/4294967296.0),4294967295.0)>>>0:~~+R((q-+(~~q>>>0))/4294967296.0)>>>0):0;h=c[m>>2]|0;c[h>>2]=~~q>>>0;c[h+4>>2]=f;a[(c[m>>2]|0)+42>>0]=1}else{c[g>>2]=Rh(b)|0;if(c[g>>2]|0?(Fj(c[i>>2]|0,c[g>>2]|0,c[m>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;l=p;return o|0}while(0);c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){b=14;break}c[g>>2]=Rh(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;if(!(c[g>>2]|0)){b=12;break}if(Gj(c[i>>2]|0,c[g>>2]|0,c[m>>2]|0)|0){b=12;break}c[n>>2]=(c[n>>2]|0)+1}if((b|0)==12){c[o>>2]=1;o=c[o>>2]|0;l=p;return o|0}else if((b|0)==14){c[o>>2]=0;o=c[o>>2]|0;l=p;return o|0}return 0}function Aj(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){l=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[e>>2]=2e3;c[f>>2]=1;c[g>>2]=1}if((c[f>>2]|0)<=2){c[e>>2]=(c[e>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+12}c[i>>2]=(c[e>>2]|0)/100|0;c[j>>2]=2-(c[i>>2]|0)+((c[i>>2]|0)/4|0);c[k>>2]=(((c[e>>2]|0)+4716|0)*36525|0)/100|0;c[m>>2]=(((c[f>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[m>>2]|0)+(c[g>>2]|0)+(c[j>>2]|0)|0)-1524.5)*864.0e5;k=+F(o)>=1.0?(o>0.0?~~+T(+E(o/4294967296.0),4294967295.0)>>>0:~~+R((o-+(~~o>>>0))/4294967296.0)>>>0):0;m=c[d>>2]|0;c[m>>2]=~~o>>>0;c[m+4>>2]=k;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){l=n;return}k=S(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;k=k+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;k=_$(k|0,((k|0)<0)<<31>>31|0,~~o>>>0|0,(+F(o)>=1.0?(o>0.0?~~+T(+E(o/4294967296.0),4294967295.0)>>>0:~~+R((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;m=c[d>>2]|0;j=m;k=_$(c[j>>2]|0,c[j+4>>2]|0,k|0,D|0)|0;c[m>>2]=k;c[m+4>>2]=D;if(!(a[(c[d>>2]|0)+43>>0]|0)){l=n;return}k=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;m=c[d>>2]|0;j=m;k=Z$(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;c[m>>2]=k;c[m+4>>2]=D;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;l=n;return}function Bj(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Cj(c[d>>2]|0);Dj(c[d>>2]|0);l=b;return}function Cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){l=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=_$(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=n0(b|0,D|0,864e5,0)|0;c[e>>2]=b;c[f>>2]=~~((+(c[e>>2]|0)-1867216.25)/36524.25);c[f>>2]=(c[e>>2]|0)+1+(c[f>>2]|0)-((c[f>>2]|0)/4|0);c[g>>2]=(c[f>>2]|0)+1524;c[h>>2]=~~((+(c[g>>2]|0)-122.1)/365.25);c[i>>2]=((c[h>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[g>>2]|0)-(c[i>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[g>>2]|0)-(c[i>>2]|0)-(c[k>>2]|0);c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)-((c[j>>2]|0)<14?1:13);c[(c[d>>2]|0)+8>>2]=(c[h>>2]|0)-((c[(c[d>>2]|0)+12>>2]|0)>2?4716:4715)}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;l=m;return}function Dj(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){l=f;return}Aj(c[d>>2]|0);b=c[d>>2]|0;b=_$(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=c0(b|0,D|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;l=f;return}function Ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=Oj(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=D;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;l=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;l=g;return h|0}return 0}function Fj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;i=m+12|0;j=m+8|0;k=m;c[g>>2]=b;c[i>>2]=d;c[j>>2]=e;if(!(Nj(c[i>>2]|0,c[j>>2]|0)|0)){c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}if(!(Jj(c[i>>2]|0,c[j>>2]|0)|0)){c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}if(!(bh(c[i>>2]|0,23253)|0)){c[f>>2]=Ej(c[g>>2]|0,c[j>>2]|0)|0;k=c[f>>2]|0;l=m;return k|0}g=c[i>>2]|0;if(Ji(g,k,md(c[i>>2]|0)|0,1)|0){n=+h[k>>3]*864.0e5+.5;i=+F(n)>=1.0?(n>0.0?~~+T(+E(n/4294967296.0),4294967295.0)>>>0:~~+R((n-+(~~n>>>0))/4294967296.0)>>>0):0;k=c[j>>2]|0;c[k>>2]=~~n>>>0;c[k+4>>2]=i;a[(c[j>>2]|0)+42>>0]=1;c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}else{c[f>>2]=1;k=c[f>>2]|0;l=m;return k|0}return 0}function Gj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+160|0;j=z+124|0;k=z+120|0;w=z+116|0;x=z+112|0;q=z+108|0;r=z+80|0;y=z+104|0;g=z+72|0;i=z+64|0;m=z+56|0;t=z+100|0;u=z+8|0;v=z;n=z+96|0;o=z+92|0;p=z+88|0;c[j>>2]=b;c[k>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[q>>2]=0;while(1){if((c[q>>2]|0)>=29)break;if(!(a[(c[k>>2]|0)+(c[q>>2]|0)>>0]|0))break;a[(c[y>>2]|0)+(c[q>>2]|0)>>0]=a[20458+(d[(c[k>>2]|0)+(c[q>>2]|0)>>0]|0)>>0]|0;c[q>>2]=(c[q>>2]|0)+1}a[(c[y>>2]|0)+(c[q>>2]|0)>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(G_(c[y>>2]|0,23133)|0){y=c[x>>2]|0;l=z;return y|0}Aj(c[w>>2]|0);v=Hj(c[w>>2]|0,c[j>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=_$(c[u>>2]|0,c[u+4>>2]|0,v|0,D|0)|0;c[y+4>>2]=D;Ij(c[w>>2]|0);y=c[x>>2]|0;l=z;return y|0}case 117:{if((G_(c[y>>2]|0,23143)|0)==0?a[(c[w>>2]|0)+42>>0]|0:0){v=c[w>>2]|0;v=_$(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=n0(v|0,D|0,86400,0)|0;v=_$(v|0,D|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=D;Ij(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}if(G_(c[y>>2]|0,23153)|0){y=c[x>>2]|0;l=z;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}Aj(c[w>>2]|0);y=g;c[y>>2]=Hj(c[w>>2]|0,c[j>>2]|0,x)|0;c[y+4>>2]=D;if(!(c[x>>2]|0)){u=g;y=c[w>>2]|0;v=y;u=Z$(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=D;Ij(c[w>>2]|0);y=g;u=c[y>>2]|0;y=c[y+4>>2]|0;v=Hj(c[w>>2]|0,c[j>>2]|0,x)|0;v=Z$(u|0,y|0,v|0,D|0)|0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,v|0,D|0)|0;c[y>>2]=v;c[y+4>>2]=D}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;l=z;return y|0}case 119:{if(I_(c[y>>2]|0,23157,8)|0){y=c[x>>2]|0;l=z;return y|0}if(!(Ji((c[y>>2]|0)+8|0,r,md((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;l=z;return y|0}y=~~+h[r>>3];c[q>>2]=y;if(!(((c[q>>2]|0)>=0?+(y|0)==+h[r>>3]:0)&+h[r>>3]<7.0)){y=c[x>>2]|0;l=z;return y|0}Bj(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;Aj(c[w>>2]|0);t=c[w>>2]|0;v=i;c[v>>2]=c0(n0(_$(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,D|0,864e5,0)|0,D|0,7,0)|0;c[v+4>>2]=D;v=i;t=c[v+4>>2]|0;y=c[q>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=i;v=Z$(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=i;c[y>>2]=v;c[y+4>>2]=D}y=c[q>>2]|0;v=i;v=r0(Z$(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,D|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=_$(c[u>>2]|0,c[u+4>>2]|0,v|0,D|0)|0;c[y+4>>2]=D;Ij(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}case 115:{if(I_(c[y>>2]|0,23166,9)|0){y=c[x>>2]|0;l=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;Cj(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(G_(c[y>>2]|0,23176)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}if(!(G_(c[y>>2]|0,23182)|0)){Cj(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}if(G_(c[y>>2]|0,23187)|0){y=c[x>>2]|0;l=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[q>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[q>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[q>>2]|0)>>0]|0)==58)break;if(!((d[20063+(d[(c[y>>2]|0)+(c[q>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[q>>2]=(c[q>>2]|0)+1}if(!(Ji(c[y>>2]|0,r,c[q>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;l=z;return y|0}if((a[(c[y>>2]|0)+(c[q>>2]|0)>>0]|0)==58){c[t>>2]=c[y>>2];if(!(d[20063+(d[c[t>>2]>>0]|0)>>0]&4))c[t>>2]=(c[t>>2]|0)+1;b=u;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));if(Jj(c[t>>2]|0,u)|0){y=c[x>>2]|0;l=z;return y|0}Aj(u);t=u;t=Z$(c[t>>2]|0,c[t+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=t;c[s+4>>2]=D;s=u;s=n0(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;t=v;c[t>>2]=s;c[t+4>>2]=D;t=v;t=r0(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=Z$(c[v>>2]|0,c[v+4>>2]|0,t|0,D|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=D;if((a[c[y>>2]>>0]|0)==45){v=u;v=Z$(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=D}Aj(c[w>>2]|0);Ij(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=_$(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=D;c[x>>2]=0;y=c[x>>2]|0;l=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[q>>2]|0);while(1){b=c[y>>2]|0;if(!(d[20063+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=b+1}c[q>>2]=md(b)|0;if((c[q>>2]|0)>10|(c[q>>2]|0)<3){y=c[x>>2]|0;l=z;return y|0}if((a[(c[y>>2]|0)+((c[q>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[q>>2]|0)-1)>>0]=0;c[q>>2]=(c[q>>2]|0)+-1}Aj(c[w>>2]|0);c[x>>2]=0;h[m>>3]=+h[r>>3]<0.0?-.5:.5;if((c[q>>2]|0)==3?(G_(c[y>>2]|0,23187)|0)==0:0){A=+h[r>>3]*864.0e5+ +h[m>>3];v=+F(A)>=1.0?(A>0.0?~~+T(+E(A/4294967296.0),4294967295.0)>>>0:~~+R((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=D}else s=53;do if((s|0)==53){if((c[q>>2]|0)==4?(G_(c[y>>2]|0,23191)|0)==0:0){A=+h[r>>3]*36.0e5+ +h[m>>3];v=+F(A)>=1.0?(A>0.0?~~+T(+E(A/4294967296.0),4294967295.0)>>>0:~~+R((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=D;break}if((c[q>>2]|0)==6?(G_(c[y>>2]|0,23196)|0)==0:0){A=+h[r>>3]*6.0e4+ +h[m>>3];v=+F(A)>=1.0?(A>0.0?~~+T(+E(A/4294967296.0),4294967295.0)>>>0:~~+R((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=D;break}if((c[q>>2]|0)==6?(G_(c[y>>2]|0,23203)|0)==0:0){A=+h[r>>3]*1.0e3+ +h[m>>3];v=+F(A)>=1.0?(A>0.0?~~+T(+E(A/4294967296.0),4294967295.0)>>>0:~~+R((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=D;break}if((c[q>>2]|0)==5?(G_(c[y>>2]|0,23176)|0)==0:0){Bj(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[r>>3];c[n>>2]=((c[(c[w>>2]|0)+12>>2]|0)-((c[(c[w>>2]|0)+12>>2]|0)>0?1:12)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[n>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[n>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;Aj(c[w>>2]|0);c[o>>2]=~~+h[r>>3];if(!(+(c[o>>2]|0)!=+h[r>>3]))break;A=(+h[r>>3]-+(c[o>>2]|0))*30.0*864.0e5+ +h[m>>3];v=+F(A)>=1.0?(A>0.0?~~+T(+E(A/4294967296.0),4294967295.0)>>>0:~~+R((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=D;break}if((c[q>>2]|0)==4?(G_(c[y>>2]|0,23182)|0)==0:0){c[p>>2]=~~+h[r>>3];Bj(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);a[(c[w>>2]|0)+42>>0]=0;Aj(c[w>>2]|0);if(!(+(c[p>>2]|0)!=+h[r>>3]))break;A=(+h[r>>3]-+(c[p>>2]|0))*365.0*864.0e5+ +h[m>>3];v=+F(A)>=1.0?(A>0.0?~~+T(+E(A/4294967296.0),4294967295.0)>>>0:~~+R((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=_$(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=D;break}c[x>>2]=1}while(0);Ij(c[w>>2]|0);y=c[x>>2]|0;l=z;return y|0}default:{y=c[x>>2]|0;l=z;return y|0}}return 0}function Hj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+176|0;k=r+96|0;g=r+164|0;m=r+160|0;n=r+156|0;o=r+48|0;p=r;q=r+152|0;j=r+108|0;i=r+104|0;c[g>>2]=b;c[m>>2]=d;c[n>>2]=e;d=j;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[g>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));Bj(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[i>>2]=~~(+h[o+32>>3]+.5);f=+(c[i>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;f=0.0}h[o+32>>3]=f;c[o+28>>2]=0;a[o+42>>0]=0;Aj(o);i=o;i=n0(c[i>>2]|0,c[i+4>>2]|0,1e3,0)|0;i=Z$(i|0,D|0,413362496,49)|0;c[q>>2]=i;if(Mj(q,j)|0){Th(c[m>>2]|0,23230,-1);c[c[n>>2]>>2]=1;p=k;c[p>>2]=0;c[p+4>>2]=0;p=k;q=p;q=c[q>>2]|0;p=p+4|0;p=c[p>>2]|0;D=p;l=r;return q|0}else{c[p+8>>2]=(c[j+20>>2]|0)+1900;c[p+12>>2]=(c[j+16>>2]|0)+1;c[p+16>>2]=c[j+12>>2];c[p+20>>2]=c[j+8>>2];c[p+24>>2]=c[j+4>>2];h[p+32>>3]=+(c[j>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;Aj(p);c[c[n>>2]>>2]=0;q=o;q=Z$(c[p>>2]|0,c[p+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;p=k;c[p>>2]=q;c[p+4>>2]=D;p=k;q=p;q=c[q>>2]|0;p=p+4|0;p=c[p>>2]|0;D=p;l=r;return q|0}return 0}function Ij(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;l=d;return}function Jj(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;i=q+40|0;j=q+36|0;k=q+32|0;m=q+28|0;n=q+8|0;o=q;c[g>>2]=b;c[i>>2]=e;h[n>>3]=0.0;e=c[g>>2]|0;c[r>>2]=j;c[r+4>>2]=k;if((Kj(e,23210,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;l=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=m;if((Kj(r,23218,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;l=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?d[20063+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0:0){h[o>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[20063+(d[c[g>>2]>>0]|0)>>0]&4))break;h[n>>3]=+h[n>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[o>>3]=+h[o>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[n>>3]=+h[n>>3]/+h[o>>3]}}else c[m>>2]=0;a[(c[i>>2]|0)+42>>0]=0;a[(c[i>>2]|0)+41>>0]=1;c[(c[i>>2]|0)+20>>2]=c[j>>2];c[(c[i>>2]|0)+24>>2]=c[k>>2];h[(c[i>>2]|0)+32>>3]=+(c[m>>2]|0)+ +h[n>>3];if(Lj(c[g>>2]|0,c[i>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;l=q;return r|0}else{a[(c[i>>2]|0)+43>>0]=c[(c[i>>2]|0)+28>>2]|0?1:0;c[f>>2]=0;r=c[f>>2]|0;l=q;return r|0}return 0}function Kj(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t+36|0;m=t+32|0;n=t+16|0;s=t+8|0;o=t+44|0;p=t+43|0;q=t+42|0;r=t+4|0;i=t+40|0;j=t;c[k>>2]=f;c[m>>2]=g;c[s>>2]=0;c[n>>2]=h;a:while(1){a[p>>0]=(a[c[m>>2]>>0]|0)-48;a[q>>0]=(a[(c[m>>2]|0)+1>>0]|0)-48;c[r>>2]=0;b[i>>1]=b[11168+((a[(c[m>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[o>>0]=a[(c[m>>2]|0)+3>>0]|0;c[r>>2]=0;while(1){h=a[p>>0]|0;a[p>>0]=h+-1<<24>>24;if(!(h<<24>>24))break;if(!(d[20063+(d[c[k>>2]>>0]|0)>>0]&4)){f=11;break a}c[r>>2]=((c[r>>2]|0)*10|0)+(a[c[k>>2]>>0]|0)-48;c[k>>2]=(c[k>>2]|0)+1}if((c[r>>2]|0)<(a[q>>0]|0)){f=11;break}if((c[r>>2]|0)>(e[i>>1]|0)){f=11;break}if(a[o>>0]|0?(a[o>>0]|0)!=(a[c[k>>2]>>0]|0):0){f=11;break}h=c[r>>2]|0;f=(c[n>>2]|0)+(4-1)&~(4-1);g=c[f>>2]|0;c[n>>2]=f+4;c[j>>2]=g;c[c[j>>2]>>2]=h;c[k>>2]=(c[k>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+4;if(!(a[o>>0]|0)){f=11;break}}if((f|0)==11){l=t;return c[s>>2]|0}return 0}function Lj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=0;while(1){if(!(d[20063+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[m>>2]=a[c[g>>2]>>0];do if((c[m>>2]|0)==45){c[i>>2]=-1;o=11}else{if((c[m>>2]|0)==43){c[i>>2]=1;o=11;break}if((c[m>>2]|0)==90|(c[m>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[m>>2]|0)!=0&1;o=c[f>>2]|0;l=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=j;c[n+4>>2]=k;if((Kj(o,23222,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=S(c[i>>2]|0,(c[k>>2]|0)+((c[j>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;l=p;return o|0}while(0);while(1){if(!(d[20063+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;l=p;return o|0}function Mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[d>>2]=b;c[g>>2]=ie(2)|0;td(c[g>>2]|0);b=xb(c[i>>2]|0)|0;c[f>>2]=b;c[f>>2]=c[69]|0?0:b;if(c[f>>2]|0){a=c[d>>2]|0;b=c[f>>2]|0;d=a+44|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0))}ud(c[g>>2]|0);c[e>>2]=(c[f>>2]|0)==0&1;l=h;return c[e>>2]|0}function Nj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;c[h>>2]=b;c[i>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;e=c[h>>2]|0;c[f>>2]=j;c[f+4>>2]=k;c[f+8>>2]=m;if((Kj(e,23257,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;l=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[20063+(d[c[h>>2]>>0]|0)>>0]&1|0)e=1;else e=84==(d[c[h>>2]>>0]|0);b=c[h>>2]|0;if(!e)break;c[h>>2]=b+1}do if(Jj(b,c[i>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[i>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;l=o;return n|0}while(0);a[(c[i>>2]|0)+42>>0]=0;a[(c[i>>2]|0)+40>>0]=1;j=c[j>>2]|0;c[(c[i>>2]|0)+8>>2]=c[n>>2]|0?0-j|0:j;c[(c[i>>2]|0)+12>>2]=c[k>>2];c[(c[i>>2]|0)+16>>2]=c[m>>2];if(a[(c[i>>2]|0)+43>>0]|0)Aj(c[i>>2]|0);c[g>>2]=0;n=c[g>>2]|0;l=o;return n|0}function Oj(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[e>>2]=(c[(c[b>>2]|0)+12>>2]|0)+56;a=c[e>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[d>>2]=Pj(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[e>>2]|0)|0,c[d>>2]|0):0){d=c[e>>2]|0;c[d>>2]=0;c[d+4>>2]=0}e=c[e>>2]|0;D=c[e+4>>2]|0;l=f;return c[e>>2]|0}function Pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?c[(c[d>>2]|0)+72>>2]|0:0){c[f>>2]=Mb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[f>>2]|0;l=i;return g|0}c[f>>2]=Mb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,g)|0;j=+h[g>>3]*864.0e5;d=+F(j)>=1.0?(j>0.0?~~+T(+E(j/4294967296.0),4294967295.0)>>>0:~~+R((j-+(~~j>>>0))/4294967296.0)>>>0):0;g=c[e>>2]|0;c[g>>2]=~~j>>>0;c[g+4>>2]=d;g=c[f>>2]|0;l=i;return g|0}function Qj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+64|0;p=r;j=r+60|0;s=r+52|0;k=r+48|0;m=r+44|0;n=r+40|0;o=r+32|0;f=r+28|0;g=r+24|0;h=r+20|0;i=r+16|0;c[j>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[k>>2]=Rh(c[c[s>>2]>>2]|0)|0;c[m>>2]=Rh(c[(c[s>>2]|0)+4>>2]|0)|0;c[f>>2]=c[k>>2];c[g>>2]=0;c[i>>2]=Ph(c[j>>2]|0)|0;if(!(c[k>>2]|0)){l=r;return}do{if(!(a[c[f>>2]>>0]|0)){q=7;break}c[o>>2]=c[f>>2];c[o+4>>2]=c[g>>2];do{c[f>>2]=(c[f>>2]|0)+(c[g>>2]|0);c[g>>2]=Tj(c[f>>2]|0,n)|0}while((c[n>>2]|0)==162)}while((c[n>>2]|0)!=22?(c[n>>2]|0)!=125:0);if((q|0)==7){l=r;return}s=c[i>>2]|0;e=c[k>>2]|0;n=c[m>>2]|0;q=(c[o>>2]|0)+(c[o+4>>2]|0)|0;c[p>>2]=(c[o>>2]|0)-(c[k>>2]|0);c[p+4>>2]=e;c[p+8>>2]=n;c[p+12>>2]=q;c[h>>2]=Wj(s,24716,p)|0;xi(c[j>>2]|0,c[h>>2]|0,-1,191);l=r;return}function Rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+80|0;q=s;k=s+68|0;t=s+60|0;m=s+56|0;n=s+52|0;o=s+48|0;p=s+40|0;f=s+32|0;g=s+28|0;h=s+24|0;i=s+20|0;j=s+16|0;c[k>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[m>>2]=Rh(c[c[t>>2]>>2]|0)|0;c[n>>2]=Rh(c[(c[t>>2]|0)+4>>2]|0)|0;c[f>>2]=3;c[g>>2]=c[m>>2];c[h>>2]=0;c[j>>2]=Ph(c[k>>2]|0)|0;if(!(c[m>>2]|0)){l=s;return}while(1){if(!(a[c[g>>2]>>0]|0)){r=8;break}c[p>>2]=c[g>>2];c[p+4>>2]=c[h>>2];do{c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[h>>2]=Tj(c[g>>2]|0,o)|0}while((c[o>>2]|0)==162);t=(c[f>>2]|0)+1|0;c[f>>2]=t;c[f>>2]=(c[o>>2]|0)==122|(c[o>>2]|0)==107?0:t;if((c[f>>2]|0)!=2)continue;if(!((c[o>>2]|0)!=137&(c[o>>2]|0)!=74&(c[o>>2]|0)!=5))break}if((r|0)==8){l=s;return}t=c[j>>2]|0;e=c[m>>2]|0;o=c[n>>2]|0;r=(c[p>>2]|0)+(c[p+4>>2]|0)|0;c[q>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[q+4>>2]=e;c[q+8>>2]=o;c[q+12>>2]=r;c[i>>2]=Wj(t,24716,q)|0;xi(c[k>>2]|0,c[i>>2]|0,-1,191);l=s;return}function Sj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+80|0;t=u+16|0;s=u;n=u+76|0;v=u+68|0;o=u+64|0;p=u+60|0;q=u+56|0;r=u+52|0;f=u+48|0;g=u+44|0;h=u+40|0;i=u+36|0;j=u+32|0;k=u+28|0;m=u+24|0;c[n>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[o>>2]=Ph(c[n>>2]|0)|0;c[p>>2]=0;c[r>>2]=Rh(c[c[v>>2]>>2]|0)|0;c[f>>2]=Rh(c[(c[v>>2]|0)+4>>2]|0)|0;c[g>>2]=Rh(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[r>>2]|0)==0|(c[f>>2]|0)==0){l=u;return}c[h>>2]=c[r>>2];while(1){if(!(a[c[h>>2]>>0]|0))break;c[i>>2]=Tj(c[h>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0);c[i>>2]=Tj(c[h>>2]|0,j)|0}while((c[j>>2]|0)==162);if((c[j>>2]|0)==163)break;v=c[i>>2]|0;c[k>>2]=Uj(c[o>>2]|0,c[h>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[k>>2]|0))break;Vj(c[k>>2]|0);if(!(bh(c[f>>2]|0,c[k>>2]|0)|0)){v=c[o>>2]|0;b=(c[h>>2]|0)-(c[r>>2]|0)|0;d=c[r>>2]|0;e=c[g>>2]|0;c[s>>2]=c[p>>2]|0?c[p>>2]|0:55752;c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=e;c[m>>2]=Wj(v,23392,s)|0;Xd(c[o>>2]|0,c[p>>2]|0);c[p>>2]=c[m>>2];c[r>>2]=(c[h>>2]|0)+(c[i>>2]|0)}Xd(c[o>>2]|0,c[k>>2]|0)}c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0)}v=c[o>>2]|0;s=c[r>>2]|0;c[t>>2]=c[p>>2]|0?c[p>>2]|0:55752;c[t+4>>2]=s;c[q>>2]=Wj(v,23403,t)|0;xi(c[n>>2]|0,c[q>>2]|0,-1,191);Xd(c[o>>2]|0,c[p>>2]|0);l=u;return}function Tj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+24|0;m=o+20|0;f=o+16|0;j=o+12|0;k=o+8|0;g=o+4|0;h=o;c[m>>2]=b;c[f>>2]=e;a:do switch(d[23408+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[j>>2]=1;while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&1))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=162;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[f>>2]>>2]=48;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}c[j>>2]=2;while(1){i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!(i|0?(c[k>>2]|0)!=10:0))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=162;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}case 17:{c[c[f>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 18:{c[c[f>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 19:{c[c[f>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 20:{c[c[f>>2]>>2]=47;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 21:{c[c[f>>2]>>2]=49;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?d[(c[m>>2]|0)+2>>0]|0:0){c[j>>2]=3;c[k>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[k>>2]|0)==42?(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==47:0)break;i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!i)break;c[j>>2]=(c[j>>2]|0)+1}if(c[k>>2]|0)c[j>>2]=(c[j>>2]|0)+1;c[c[f>>2]>>2]=162;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}c[c[f>>2]>>2]=50;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 22:{c[c[f>>2]>>2]=51;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 14:{c[c[f>>2]>>2]=37;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;l=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[k>>2]=m;if((m|0)==61){c[c[f>>2]>>2]=39;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}if((c[k>>2]|0)==62){c[c[f>>2]>>2]=36;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}b=c[f>>2]|0;if((c[k>>2]|0)==60){c[b>>2]=45;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=40;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[k>>2]=m;if((m|0)==61){c[c[f>>2]>>2]=41;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}b=c[f>>2]|0;if((c[k>>2]|0)==62){c[b>>2]=46;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=38;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}}case 15:{b=c[f>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[b>>2]=163;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=36;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}}case 10:{b=c[f>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[b>>2]=44;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=52;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}}case 23:{c[c[f>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 24:{c[c[f>>2]>>2]=43;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 25:{c[c[f>>2]>>2]=54;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 8:{c[g>>2]=d[c[m>>2]>>0];c[j>>2]=1;while(1){i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!i)break;if((c[k>>2]|0)==(c[g>>2]|0)){if((d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=(c[g>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==39){c[c[f>>2]>>2]=97;c[n>>2]=(c[j>>2]|0)+1;n=c[n>>2]|0;l=o;return n|0}b=c[f>>2]|0;if(c[k>>2]|0){c[b>>2]=55;c[n>>2]=(c[j>>2]|0)+1;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=163;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}}case 26:{if(d[20063+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4|0)i=64;else{c[c[f>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}break}case 3:{i=64;break}case 9:{c[j>>2]=1;c[k>>2]=d[c[m>>2]>>0];while(1){if((c[k>>2]|0)==93)break;i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!i)break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=(c[k>>2]|0)==93?55:163;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}case 6:{c[c[f>>2]>>2]=135;c[j>>2]=1;while(1){b=c[j>>2]|0;if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=b+1}c[n>>2]=b;n=c[n>>2]|0;l=o;return n|0}case 5:case 4:{c[h>>2]=0;c[c[f>>2]>>2]=135;c[j>>2]=1;while(1){g=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=g;if(!g)break;if(d[20063+(c[k>>2]&255)>>0]&70|0)c[h>>2]=(c[h>>2]|0)+1;else{if((c[k>>2]|0)==40&(c[h>>2]|0)>0){i=107;break}if((c[k>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=58)break;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}do if((i|0)==107){while(1){c[j>>2]=(c[j>>2]|0)+1;i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!i)break;if((c[k>>2]|0)!=41?(d[20063+(c[k>>2]&255)>>0]&1|0)==0:0)i=107;else break}if((c[k>>2]|0)==41){c[j>>2]=(c[j>>2]|0)+1;break}else{c[c[f>>2]>>2]=163;break}}while(0);if(!(c[h>>2]|0))c[c[f>>2]>>2]=163;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}case 1:{c[j>>2]=1;while(1){if((d[23408+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]|0)>1)break;c[j>>2]=(c[j>>2]|0)+1}if(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70|0){c[j>>2]=(c[j>>2]|0)+1;break a}c[c[f>>2]>>2]=55;c[n>>2]=Yj(c[m>>2]|0,c[j>>2]|0,c[f>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[f>>2]>>2]=133;c[j>>2]=2;while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;c[j>>2]=(c[j>>2]|0)+1}if(!((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==39?!((c[j>>2]|0)%2|0|0):0))i=131;b:do if((i|0)==131){c[c[f>>2]>>2]=163;while(1){if(!(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==39)break b;c[j>>2]=(c[j>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}else i=138;break}case 2:{i=138;break}default:{c[c[f>>2]>>2]=163;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}}while(0);if((i|0)==64){c[c[f>>2]>>2]=134;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[20063+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8|0){c[j>>2]=3;while(1){b=c[j>>2]|0;if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;c[j>>2]=b+1}c[n>>2]=b;n=c[n>>2]|0;l=o;return n|0}}while(0);c[j>>2]=0;while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==46){c[j>>2]=(c[j>>2]|0)+1;while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=132}if(!((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)!=69:0))i=82;do if((i|0)==82){if(!(d[20063+(d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[20063+(d[(c[m>>2]|0)+((c[j>>2]|0)+2)>>0]|0)>>0]&4))break}c[j>>2]=(c[j>>2]|0)+2;while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=132}while(0);while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70))break;c[c[f>>2]>>2]=163;c[j>>2]=(c[j>>2]|0)+1}c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}else if((i|0)==138)c[j>>2]=1;while(1){if(!(d[20063+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=55;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}function Uj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m;k=m+8|0;c[h>>2]=b;c[i>>2]=d;d=j;c[d>>2]=e;c[d+4>>2]=f;if(!(c[i>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}f=c[h>>2]|0;h=j;h=_$(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[k>>2]=Ed(f,h,D)|0;if(c[k>>2]|0){h0(c[k>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;a[(c[k>>2]|0)+(c[j>>2]|0)>>0]=0}c[g>>2]=c[k>>2];k=c[g>>2]|0;l=m;return k|0}function Vj(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;f=j+8|0;g=j+12|0;h=j+4|0;i=j;c[f>>2]=b;if(!(c[f>>2]|0)){l=j;return}a[g>>0]=a[c[f>>2]>>0]|0;if(!(d[20063+(d[g>>0]|0)>>0]&128)){l=j;return}if((a[g>>0]|0)==91)a[g>>0]=93;c[h>>2]=1;c[i>>2]=0;while(1){b=c[f>>2]|0;e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)==(a[g>>0]|0)){if((a[b+(e+1)>>0]|0)!=(a[g>>0]|0))break;k=a[g>>0]|0;b=c[f>>2]|0;e=c[i>>2]|0;c[i>>2]=e+1;a[b+e>>0]=k;c[h>>2]=(c[h>>2]|0)+1}else{b=a[b+e>>0]|0;e=c[f>>2]|0;k=c[i>>2]|0;c[i>>2]=k+1;a[e+k>>0]=b}c[h>>2]=(c[h>>2]|0)+1}a[(c[f>>2]|0)+(c[i>>2]|0)>>0]=0;l=j;return}function Wj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+32|0;i=f+28|0;h=f+24|0;g=f+8|0;e=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Xj(c[i>>2]|0,c[h>>2]|0,g)|0;l=f;return c[e>>2]|0}function Xj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+128|0;g=i+40|0;m=i+36|0;k=i+32|0;h=i+28|0;j=i;c[g>>2]=b;c[m>>2]=e;c[k>>2]=f;zd(j,c[g>>2]|0,i+44|0,70,c[(c[g>>2]|0)+96>>2]|0);a[j+25>>0]=1;Ad(j,c[m>>2]|0,c[k>>2]|0);c[h>>2]=Bd(j)|0;if((d[j+24>>0]|0|0)!=1){m=c[h>>2]|0;l=i;return m|0}Od(c[g>>2]|0);m=c[h>>2]|0;l=i;return m|0}function Yj(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[i>>2]=f;c[j>>2]=g;if((c[i>>2]|0)<2){o=c[i>>2]|0;l=p;return o|0}c[k>>2]=(d[20458+(d[c[h>>2]>>0]|0)>>0]<<2^(d[20458+(d[(c[h>>2]|0)+((c[i>>2]|0)-1)>>0]|0)>>0]|0)*3^c[i>>2]|0)%127|0;c[k>>2]=(d[23664+(c[k>>2]|0)>>0]|0)-1;while(1){if((c[k>>2]|0)<0){o=13;break}if((d[23791+(c[k>>2]|0)>>0]|0)==(c[i>>2]|0)){c[m>>2]=0;c[n>>2]=23915+(e[11180+(c[k>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[i>>2]|0))f=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else f=0;b=c[m>>2]|0;if(!f)break;c[m>>2]=b+1}if((b|0)>=(c[i>>2]|0))break}c[k>>2]=(d[24592+(c[k>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[i>>2]|0;l=p;return o|0}c[c[j>>2]>>2]=d[24468+(c[k>>2]|0)>>0];o=c[i>>2]|0;l=p;return o|0}function Zj(){return 4068}function _j(){return 4032}function $j(){return 0}function ak(){return 0}function bk(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 8}function ck(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return}function dk(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return}function ek(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function fk(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return}function gk(){return 0}function hk(){return 0}function ik(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;switch(c[b>>2]|0){case 1:{c[d>>2]=Xg(28,0)|0;if(c[d>>2]|0){nb(e|0)|0;db(e|0,1)|0;Da(c[d>>2]|0,e|0)|0;Pa(e|0)|0}break}case 0:{c[d>>2]=Xg(28,0)|0;if(c[d>>2]|0)Da(c[d>>2]|0,0)|0;break}default:c[d>>2]=54808+(((c[b>>2]|0)-2|0)*28|0)}l=f;return c[d>>2]|0}function jk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;cb(c[d>>2]|0)|0;_d(c[d>>2]|0);l=b;return}function kk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;$$(c[d>>2]|0)|0;l=b;return}function lk(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;if(!(d0(c[e>>2]|0)|0))c[b>>2]=0;else c[b>>2]=5;l=d;return c[b>>2]|0}function mk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;g0(c[d>>2]|0)|0;l=b;return}function nk(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+12|0;j=m;k=m+8|0;c[h>>2]=a;c[i>>2]=b;b=j;c[b>>2]=f;c[b+4>>2]=g;c[k>>2]=0;if(d[(c[h>>2]|0)+69>>0]|0|0){k=c[k>>2]|0;l=m;return k|0}if(Zd(c[h>>2]|0,c[i>>2]|0)|0){c[k>>2]=Ed(c[h>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;if(!(c[k>>2]|0)){k=c[k>>2]|0;l=m;return k|0}h0(c[k>>2]|0,c[i>>2]|0,e[(c[h>>2]|0)+256+4>>1]|0|0)|0;Xd(c[h>>2]|0,c[i>>2]|0);k=c[k>>2]|0;l=m;return k|0}else{c[k>>2]=ee(c[i>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;if(c[k>>2]|0){k=c[k>>2]|0;l=m;return k|0}Od(c[h>>2]|0);k=c[k>>2]|0;l=m;return k|0}return 0}function ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=be(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){l=h;return}h0((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;f=(c[e>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)+(c[g>>2]|0);l=h;return}function pk(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)el(c[e>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=f;return}function qk(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function rk(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)bl(c[e>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=f;return}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}al(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Xd(c[d>>2]|0,c[c[e>>2]>>2]|0);Xd(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);Ok(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Tk(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Xd(c[d>>2]|0,c[e>>2]|0);l=f;return}function tk(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){l=h;return}if(!(c[e>>2]|0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))g=4;if((g|0)==4?(d=(c[f>>2]|0)+36|0,g=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=g,(g&65535|0)>0):0){l=h;return}Ek(c[e>>2]|0,c[f>>2]|0);l=h;return}function uk(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+16|0;i=k+12|0;f=k+8|0;g=k+4|0;j=k;c[h>>2]=a;c[i>>2]=d;vk(c[(c[i>>2]|0)+100>>2]|0,e[(c[i>>2]|0)+140>>1]<<1);c[f>>2]=c[(c[i>>2]|0)+200>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+20>>2];wk(c[h>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0);Xd(c[h>>2]|0,c[f>>2]|0);c[f>>2]=c[g>>2]}if((c[(c[i>>2]|0)+20>>2]|0)!=381479589){vk(c[(c[i>>2]|0)+116>>2]|0,b[(c[i>>2]|0)+16>>1]|0);c[j>>2]=(b[(c[i>>2]|0)+18>>1]|0)-1;while(1){a=c[h>>2]|0;d=c[(c[i>>2]|0)+120>>2]|0;if((c[j>>2]|0)<0)break;Xd(a,c[d+(c[j>>2]<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}Xd(a,d);Xd(c[h>>2]|0,c[(c[i>>2]|0)+180>>2]|0)}wk(c[h>>2]|0,c[(c[i>>2]|0)+88>>2]|0,c[(c[i>>2]|0)+136>>2]|0);Xd(c[h>>2]|0,c[(c[i>>2]|0)+100>>2]|0);Xd(c[h>>2]|0,c[(c[i>>2]|0)+176>>2]|0);l=k;return}function vk(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+12|0;f=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){l=j;return}c[h>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[i>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[i>>2]|0)+456>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Xd(c[i>>2]|0,c[(c[g>>2]|0)+20>>2]|0);f=(c[g>>2]|0)+40|0;c[g>>2]=f}while(f>>>0<(c[h>>2]|0)>>>0);l=j;return}do{a=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312|0)){if(c[a+24>>2]|0){Xd(c[i>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else ei(a);b[(c[g>>2]|0)+8>>1]=128;f=(c[g>>2]|0)+40|0;c[g>>2]=f}while(f>>>0<(c[h>>2]|0)>>>0);l=j;return}function wk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){h=c[f>>2]|0;i=c[g>>2]|0;Xd(h,i);l=j;return}c[i>>2]=c[g>>2];while(1){if((c[i>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[i>>2]|0)+1>>0]|0)xk(c[f>>2]|0,a[(c[i>>2]|0)+1>>0]|0,c[(c[i>>2]|0)+16>>2]|0);c[i>>2]=(c[i>>2]|0)+20}h=c[f>>2]|0;i=c[g>>2]|0;Xd(h,i);l=j;return}function xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;a:do switch(c[h>>2]|0){case -21:{yk(c[e>>2]|0,c[f>>2]|0);break}case -15:case -1:case -13:case -12:{Xd(c[e>>2]|0,c[f>>2]|0);break}case -6:{if(!(c[(c[e>>2]|0)+456>>2]|0))zk(c[f>>2]|0);break}case -11:{if(!(c[(c[e>>2]|0)+456>>2]|0))_d(c[f>>2]|0);break}case -5:{Ak(c[e>>2]|0,c[f>>2]|0);break}case -8:if(!(c[(c[e>>2]|0)+456>>2]|0)){Bk(c[f>>2]|0);break a}else{Ck(c[e>>2]|0,c[f>>2]|0);break a}case -10:{if(!(c[(c[e>>2]|0)+456>>2]|0))Dk(c[f>>2]|0);break}default:{}}while(0);l=g;return}function yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Ak(c[f>>2]|0,c[(c[e>>2]|0)+4>>2]|0);Xd(c[f>>2]|0,c[e>>2]|0);l=d;return}function zk(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){l=d;return}Xd(c[(c[b>>2]|0)+12>>2]|0,c[b>>2]|0);l=d;return}function Ak(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){l=g;return}Xd(c[d>>2]|0,c[f>>2]|0);l=g;return}function Bk(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}ei(c[b>>2]|0);Xd(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);l=d;return}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[e>>2]|0)+24>>2]|0)Xd(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0);Xd(c[d>>2]|0,c[e>>2]|0);l=f;return}function Dk(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){l=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)Hb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Xd(c[d>>2]|0,c[b>>2]|0);l=f;return}function Ek(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))j=5;if((j|0)==5?(j=0,((d[(c[f>>2]|0)+42>>0]|0)&16|0)==0):0){c[i>>2]=c[c[g>>2]>>2];Fk((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[i>>2]|0,0)|0}Gk(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}Hk(c[e>>2]|0,c[f>>2]|0);Ik(c[e>>2]|0,c[f>>2]|0);Xd(c[e>>2]|0,c[c[f>>2]>>2]|0);Xd(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Jk(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);Kk(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Lk(c[e>>2]|0,c[f>>2]|0);Xd(c[e>>2]|0,c[f>>2]|0);l=k;return}function Fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+28|0;k=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;m=n+4|0;e=n;c[k>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=Wk(c[k>>2]|0,c[f>>2]|0,h)|0;if(c[i>>2]|0){c[e>>2]=c[(c[i>>2]|0)+8>>2];if(!(c[g>>2]|0))Xk(c[k>>2]|0,c[i>>2]|0,c[h>>2]|0);else{c[(c[i>>2]|0)+8>>2]=c[g>>2];c[(c[i>>2]|0)+12>>2]=c[f>>2]}c[j>>2]=c[e>>2];m=c[j>>2]|0;l=n;return m|0}if(!(c[g>>2]|0)){c[j>>2]=0;m=c[j>>2]|0;l=n;return m|0}c[m>>2]=Fd(16,0)|0;if(!(c[m>>2]|0)){c[j>>2]=c[g>>2];m=c[j>>2]|0;l=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[f>>2];c[(c[m>>2]|0)+8>>2]=c[g>>2];i=(c[k>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1;if(((c[(c[k>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[k>>2]|0)+4>>2]|0)>>>0>c[c[k>>2]>>2]<<1>>>0:0)?Yk(c[k>>2]|0,c[(c[k>>2]|0)+4>>2]<<1)|0:0){i=Zk(c[f>>2]|0)|0;c[h>>2]=(i>>>0)%((c[c[k>>2]>>2]|0)>>>0)|0}if(c[(c[k>>2]|0)+12>>2]|0)a=(c[(c[k>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else a=0;_k(c[k>>2]|0,a,c[m>>2]|0);c[j>>2]=0;m=c[j>>2]|0;l=n;return m|0}function Gk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;Vk(c[e>>2]|0,c[f>>2]|0);Ok(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);Kk(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Xd(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){e=c[e>>2]|0;f=c[f>>2]|0;Xd(e,f);l=g;return}Xd(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);e=c[e>>2]|0;f=c[f>>2]|0;Xd(e,f);l=g;return}function Hk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[f>>2]|0))break;if(!(c[d>>2]|0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){a=c[(c[f>>2]|0)+12>>2]|0;if(c[(c[f>>2]|0)+16>>2]|0)c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]=a;else{c[h>>2]=a;a=c[f>>2]|0;if(c[h>>2]|0)a=c[a+12>>2]|0;c[i>>2]=c[a+8>>2];Fk((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[i>>2]|0,c[h>>2]|0)|0}if(c[(c[f>>2]|0)+12>>2]|0)c[(c[(c[f>>2]|0)+12>>2]|0)+16>>2]=c[(c[f>>2]|0)+16>>2]}Uk(c[d>>2]|0,c[(c[f>>2]|0)+28>>2]|0);Uk(c[d>>2]|0,c[(c[f>>2]|0)+28+4>>2]|0);c[g>>2]=c[(c[f>>2]|0)+4>>2];Xd(c[d>>2]|0,c[f>>2]|0);c[f>>2]=c[g>>2]}l=j;return}function Ik(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){l=i;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Xd(a,c[c[h>>2]>>2]|0);Ok(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Xd(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}Xd(a,c[(c[f>>2]|0)+4>>2]|0);l=i;return}function Jk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}Qk(c[d>>2]|0,c[e>>2]|0,1);l=f;return}function Kk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}Nk(c[d>>2]|0,c[e>>2]|0);l=f;return}function Lk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0))Mk(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){l=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Xd(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Xd(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);l=g;return}function Mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[c[g>>2]>>2];c[i>>2]=c[(c[g>>2]|0)+24>>2];if((c[h>>2]|0)==(c[d>>2]|0)){c[f>>2]=c[g>>2];c[(c[e>>2]|0)+56>>2]=c[f>>2];c[(c[f>>2]|0)+24>>2]=0}else{c[(c[g>>2]|0)+24>>2]=c[(c[h>>2]|0)+344>>2];c[(c[h>>2]|0)+344>>2]=c[g>>2]}c[g>>2]=c[i>>2]}l=j;return c[f>>2]|0}function Nk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;Ok(a,c[c[g>>2]>>2]|0);Xd(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Xd(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Xd(a,c[(c[e>>2]|0)+4>>2]|0);Xd(c[d>>2]|0,c[e>>2]|0);l=h;return}function Ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}Pk(c[d>>2]|0,c[e>>2]|0);l=f;return}function Pk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(c[(c[f>>2]|0)+4>>2]&8404992)){if(c[(c[f>>2]|0)+12>>2]|0?(d[c[f>>2]>>0]|0|0)!=159:0)Pk(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);Ok(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);a=c[e>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048|0){Jk(a,c[b>>2]|0);break}else{Kk(a,c[b>>2]|0);break}}while(0);if(c[(c[f>>2]|0)+4>>2]&65536|0)Xd(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0);if(c[(c[f>>2]|0)+4>>2]&32768|0){l=g;return}Xd(c[e>>2]|0,c[f>>2]|0);l=g;return}function Qk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+48>>2];Kk(c[e>>2]|0,c[c[f>>2]>>2]|0);Rk(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);Ok(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);Kk(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);Ok(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Kk(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);Ok(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);Ok(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);if(c[(c[f>>2]|0)+64>>2]|0)Sk(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);if(c[g>>2]|0)Xd(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}l=i;return}function Rk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){l=i;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Xd(a,c[(c[h>>2]|0)+4>>2]|0);Xd(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Xd(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)Xd(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1|0)Kk(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);tk(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);Jk(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);Ok(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);Tk(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Xd(a,c[f>>2]|0);l=i;return}function Sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);Kk(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Jk(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Xd(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Xd(c[d>>2]|0,c[e>>2]|0);l=h;return} +function PR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;k=o+36|0;g=o;m=o+32|0;n=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;e=o+12|0;f=o+8|0;c[k>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[m>>2]=0;if(c[(c[k>>2]|0)+36>>2]|0){n=c[m>>2]|0;l=o;return n|0}c[n>>2]=0;if(c[(c[k>>2]|0)+40>>2]|0){c[h>>2]=c[(c[k>>2]|0)+40>>2];c[(c[k>>2]|0)+40>>2]=0;d=g;c[n>>2]=IJ(c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;c[(c[k>>2]|0)+40>>2]=c[h>>2];if(c[n>>2]|0)WR(c[k>>2]|0);if((c[n>>2]|0)==4)c[n>>2]=0}if((c[n>>2]|0)==0?(c[(c[k>>2]|0)+40>>2]|0)==0:0){c[i>>2]=c[c[k>>2]>>2];h=g;c[n>>2]=xJ(c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+4>>2]|0,45300,c[h>>2]|0,c[h+4>>2]|0,0,(c[k>>2]|0)+40|0)|0}if((c[n>>2]|0)==1)c[n>>2]=267;do if(!(c[n>>2]|0)){c[j>>2]=0;c[e>>2]=HJ(c[(c[k>>2]|0)+40>>2]|0)|0;c[f>>2]=12+(c[e>>2]|0)+20;c[m>>2]=pe(c[f>>2]|0)|0;if(c[m>>2]|0){c[(c[m>>2]|0)+4>>2]=c[e>>2];i=(c[m>>2]|0)+12|0;c[c[m>>2]>>2]=i;c[j>>2]=i}else c[n>>2]=7;if(!(c[n>>2]|0))c[n>>2]=BJ(c[(c[k>>2]|0)+40>>2]|0,c[j>>2]|0,c[e>>2]|0,0)|0;a=c[m>>2]|0;if(c[n>>2]|0){_d(a);c[m>>2]=0;break}else{j=(QR((c[a>>2]|0)+2|0)|0)&65535;c[(c[m>>2]|0)+8>>2]=j;break}}while(0);c[(c[k>>2]|0)+36>>2]=c[n>>2];n=(c[k>>2]|0)+64|0;c[n>>2]=(c[n>>2]|0)+1;n=c[m>>2]|0;l=o;return n|0}function QR(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (((d[c[b>>2]>>0]|0)&65535)<<8)+(d[(c[b>>2]|0)+1>>0]|0)&65535|0}function RR(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[i>>2]=d[c[g>>2]>>0];if(!(c[i>>2]&128)){k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=1;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&127;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=2;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);e=(c[i>>2]&128|0)!=0;c[i>>2]=c[i>>2]&2080895;if(!e){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=3;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;b=c[i>>2]|0;if(!e){c[i>>2]=b<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=4;k=a[f>>0]|0;l=m;return k|0}c[k>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);if(!(c[i>>2]&128)){c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>18;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=5;k=a[f>>0]|0;l=m;return k|0}c[k>>2]=c[k>>2]<<7;c[k>>2]=c[k>>2]|c[j>>2];c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&2080895;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>18;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=6;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);b=c[i>>2]|0;if(!(c[i>>2]&128)){c[i>>2]=b&-266354561;c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>11;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=7;k=a[f>>0]|0;l=m;return k|0}c[i>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(c[j>>2]&128|0){c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<15;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<8;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=c[k>>2]<<4;c[j>>2]=d[(c[g>>2]|0)+-4>>0];c[j>>2]=c[j>>2]&127;c[j>>2]=(c[j>>2]|0)>>>3;c[k>>2]=c[k>>2]|c[j>>2];j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=9;k=a[f>>0]|0;l=m;return k|0}else{c[j>>2]=c[j>>2]&-266354561;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>4;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=8;k=a[f>>0]|0;l=m;return k|0}return 0}function SR(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;i=s+48|0;j=s+44|0;k=s+40|0;m=s+36|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s;e=s+20|0;f=s+16|0;g=s+12|0;h=s+8|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=c[(c[c[i>>2]>>2]|0)+48>>2];c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[j>>2]|0)+20>>2];c[o>>2]=c[c[(c[j>>2]|0)+12>>2]>>2];c[p>>2]=0;if((c[m>>2]|0)>(c[(c[j>>2]|0)+40>>2]|0))c[m>>2]=c[(c[j>>2]|0)+40>>2];while(1){b=q;c[b>>2]=0;c[b+4>>2]=0;if((c[k>>2]|0)==1){if((((c[n>>2]|0)<(c[m>>2]|0)?(d[(c[o>>2]|0)+(c[n>>2]|0)>>0]|0|0)==0:0)?(c[n>>2]=(c[n>>2]|0)+1,(c[n>>2]|0)<(c[m>>2]|0)):0)?(d[(c[o>>2]|0)+(c[n>>2]|0)>>0]|0|0)==0:0)c[n>>2]=(c[n>>2]|0)+1}else{b=TR((c[o>>2]|0)+(c[n>>2]|0)|0,e,f)|0;c[n>>2]=(c[n>>2]|0)+b;c[n>>2]=(c[n>>2]|0)+(c[e>>2]|0)}if((c[n>>2]|0)>=(c[m>>2]|0)){r=16;break}a=(RR((c[o>>2]|0)+(c[n>>2]|0)|0,q)|0)&255;c[n>>2]=(c[n>>2]|0)+a;a=q;b=(c[j>>2]|0)+72|0;t=b;a=_$(c[t>>2]|0,c[t+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=a;c[b+4>>2]=D;if((c[p>>2]|0)>=(c[(c[j>>2]|0)+48>>2]|0)){c[g>>2]=(c[(c[j>>2]|0)+48>>2]|0)+8;c[h>>2]=Xf(c[(c[j>>2]|0)+52>>2]|0,c[g>>2]<<2)|0;if(!(c[h>>2]|0))break;c[(c[j>>2]|0)+52>>2]=c[h>>2];c[(c[j>>2]|0)+48>>2]=c[g>>2]}a=c[(c[j>>2]|0)+20>>2]|0;b=c[(c[j>>2]|0)+52>>2]|0;t=c[p>>2]|0;c[p>>2]=t+1;c[b+(t<<2)>>2]=a;c[(c[j>>2]|0)+20>>2]=c[n>>2]}if((r|0)==16){t=c[p>>2]|0;r=c[j>>2]|0;r=r+44|0;c[r>>2]=t;r=c[i>>2]|0;t=c[j>>2]|0;UR(r,t);l=s;return}c[(c[i>>2]|0)+36>>2]=7;t=c[p>>2]|0;r=c[j>>2]|0;r=r+44|0;c[r>>2]=t;r=c[i>>2]|0;t=c[j>>2]|0;UR(r,t);l=s;return}function TR(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;b=c[f>>2]|0;e=c[j>>2]|0;c[j>>2]=e+1;c[i>>2]=d[b+e>>0];if(c[i>>2]&128|0){c[j>>2]=(c[j>>2]|0)+-1;f=VR((c[f>>2]|0)+(c[j>>2]|0)|0,i)|0;c[j>>2]=(c[j>>2]|0)+f}c[c[g>>2]>>2]=(c[i>>2]|0)/2|0;c[c[h>>2]>>2]=c[i>>2]&1;l=k;return c[j>>2]|0}function UR(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=e;if(c[(c[f>>2]|0)+36>>2]|0){l=k;return}c[i>>2]=c[(c[h>>2]|0)+20>>2];e=c[h>>2]|0;do if((c[(c[c[f>>2]>>2]|0)+48>>2]|0)==1){b=c[h>>2]|0;if((c[e+40>>2]|0)<(c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0))b=c[b+40>>2]|0;else b=c[(c[b+12>>2]|0)+8>>2]|0;c[j>>2]=b;a[(c[h>>2]|0)+84>>0]=0;c[(c[h>>2]|0)+80>>2]=1;if((c[i>>2]|0)<(c[j>>2]|0)?(d[(c[c[(c[h>>2]|0)+12>>2]>>2]|0)+(c[i>>2]|0)>>0]|0|0)==0:0){a[(c[h>>2]|0)+84>>0]=1;c[i>>2]=(c[i>>2]|0)+1;if((c[i>>2]|0)<(c[j>>2]|0)?(d[(c[c[(c[h>>2]|0)+12>>2]>>2]|0)+(c[i>>2]|0)>>0]|0|0)==0:0){c[(c[h>>2]|0)+80>>2]=1;c[i>>2]=(c[i>>2]|0)+1;break}c[(c[h>>2]|0)+80>>2]=0}}else{f=c[c[e+12>>2]>>2]|0;j=c[i>>2]|0;c[i>>2]=j+1;c[g>>2]=d[f+j>>0];if(c[g>>2]&128|0){c[i>>2]=(c[i>>2]|0)+-1;j=VR((c[c[(c[h>>2]|0)+12>>2]>>2]|0)+(c[i>>2]|0)|0,g)|0;c[i>>2]=(c[i>>2]|0)+j}a[(c[h>>2]|0)+84>>0]=c[g>>2]&1;c[(c[h>>2]|0)+80>>2]=c[g>>2]>>1}while(0);c[(c[h>>2]|0)+20>>2]=c[i>>2];l=k;return}function VR(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n;m=n+28|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=d[c[g>>2]>>0];if(!(c[i>>2]&128)){c[c[h>>2]>>2]=c[i>>2];c[f>>2]=1;m=c[f>>2]|0;l=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&127;c[i>>2]=c[i>>2]<<7;c[c[h>>2]>>2]=c[i>>2]|c[j>>2];c[f>>2]=2;m=c[f>>2]|0;l=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);if(c[i>>2]&128|0){c[g>>2]=(c[g>>2]|0)+-2;a[m>>0]=RR(c[g>>2]|0,k)|0;c[c[h>>2]>>2]=c[k>>2];c[f>>2]=d[m>>0];m=c[f>>2]|0;l=n;return m|0}else{c[i>>2]=c[i>>2]&2080895;c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[i>>2]|c[j>>2];c[f>>2]=3;m=c[f>>2]|0;l=n;return m|0}return 0}function WR(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+40>>2]|0)){l=e;return}c[d>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;AJ(c[d>>2]|0)|0;l=e;return}function XR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[f>>2]|0)+8+(c[g>>2]<<5);if(((YR(c[h>>2]|0)|0?((c[g>>2]|0)+1|0)<(c[c[f>>2]>>2]|0):0)?(XR(c[e>>2]|0,c[f>>2]|0,(c[g>>2]|0)+1|0)|0,(c[(c[h>>2]|0)+32+8>>2]|0)==0):0)?(AR(c[c[h>>2]>>2]|0),a=c[h>>2]|0,c[a>>2]=0,c[a+4>>2]=0,c[a+8>>2]=0,c[a+12>>2]=0,c[a+16>>2]=0,c[a+20>>2]=0,c[a+24>>2]=0,c[a+28>>2]=0,e=c[e>>2]|0,a=c[(c[f>>2]|0)+4>>2]|0,a=j0(a|0,((a|0)<0)<<31>>31|0,37)|0,a=_$(a|0,D|0,0,16)|0,b=D,d=c[g>>2]|0,d=j0(d|0,((d|0)<0)<<31>>31|0,31)|0,d=_$(a|0,b|0,d|0,D|0)|0,g=c[(c[h>>2]|0)+32+16>>2]|0,g=_$(d|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0,g=PR(e,g,D)|0,c[c[h>>2]>>2]=g,c[c[h>>2]>>2]|0):0){do{}while(!(ZR(c[h>>2]|0)|0));c[(c[h>>2]|0)+8>>2]=0}l=i;return c[(c[f>>2]|0)+8+8>>2]|0}function YR(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;b=n+36|0;e=n+32|0;f=n+28|0;g=n;h=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;if((c[e>>2]|0)<=(c[(c[b>>2]|0)+12>>2]|0)){c[a+8>>2]=1;m=c[b>>2]|0;m=m+8|0;m=c[m>>2]|0;l=n;return m|0}c[f>>2]=c[c[a>>2]>>2];c[j>>2]=0;c[h>>2]=(c[e>>2]|0)>9?(c[e>>2]|0)-9|0:0;c[e>>2]=(c[e>>2]|0)+-1;while(1){if((c[e>>2]|0)<=(c[h>>2]|0))break;if(!((d[(c[f>>2]|0)+((c[e>>2]|0)-1)>>0]|0)&128))break;c[e>>2]=(c[e>>2]|0)+-1}RR((c[f>>2]|0)+(c[e>>2]|0)|0,g)|0;h=(c[b>>2]|0)+24|0;a=h;g=Z$(c[a>>2]|0,c[a+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=D;h=(c[b>>2]|0)+16|0;c[h>>2]=(c[h>>2]|0)+-1;c[i>>2]=(c[e>>2]|0)-1;while(1){if((c[i>>2]|0)<(c[(c[b>>2]|0)+12>>2]|0))break;if(d[(c[f>>2]|0)+(c[i>>2]|0)>>0]|0|0)break;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+-1}if((c[i>>2]|0)>=(c[(c[b>>2]|0)+12>>2]|0)?(d[(c[f>>2]|0)+(c[i>>2]|0)>>0]|0)&128|0:0){c[k>>2]=0;if(((c[i>>2]|0)-8|0)>=(c[(c[b>>2]|0)+12>>2]|0)){c[m>>2]=1;while(1){if((c[m>>2]|0)>8)break;if(!((d[(c[f>>2]|0)+((c[i>>2]|0)-(c[m>>2]|0))>>0]|0)&128))break;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[m>>2]|0)>8&1}if(!(c[k>>2]|0))c[j>>2]=(c[j>>2]|0)+-1}m=(c[b>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-(c[j>>2]|0);c[(c[b>>2]|0)+4>>2]=(c[e>>2]|0)-(c[j>>2]|0);m=c[b>>2]|0;m=m+8|0;m=c[m>>2]|0;l=n;return m|0}function ZR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];b=(c[d>>2]|0)+4|0;if(!(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=1;g=VR((c[c[e>>2]>>2]|0)+1|0,(c[d>>2]|0)+16|0)|0;f=(c[d>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+g;f=(RR((c[c[e>>2]>>2]|0)+(c[(c[d>>2]|0)+4>>2]|0)|0,(c[d>>2]|0)+24|0)|0)&255;g=(c[d>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+f;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+4>>2];g=c[d>>2]|0;g=g+8|0;g=c[g>>2]|0;l=h;return g|0}c[f>>2]=c[b>>2];while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;if(a[(c[c[e>>2]>>2]|0)+(c[f>>2]|0)>>0]|0)break;c[f>>2]=(c[f>>2]|0)+1}if((c[f>>2]|0)<(c[(c[e>>2]|0)+4>>2]|0)){b=(c[d>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+((c[f>>2]|0)-(c[(c[d>>2]|0)+4>>2]|0)+1);e=(RR((c[c[e>>2]>>2]|0)+(c[f>>2]|0)|0,g)|0)&255;c[f>>2]=(c[f>>2]|0)+e;e=g;g=(c[d>>2]|0)+24|0;b=g;e=_$(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[g>>2]=e;c[g+4>>2]=D;c[(c[d>>2]|0)+4>>2]=c[f>>2];g=c[d>>2]|0;g=g+8|0;g=c[g>>2]|0;l=h;return g|0}else{c[(c[d>>2]|0)+8>>2]=1;g=c[d>>2]|0;g=g+8|0;g=c[g>>2]|0;l=h;return g|0}return 0}function _R(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;c[f>>2]=b;c[e>>2]=c[c[f>>2]>>2];AR(c[(c[f>>2]|0)+12>>2]|0);a=(c[f>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1;a=c[f>>2]|0;if(c[(c[f>>2]|0)+16>>2]|0){c[(c[f>>2]|0)+12>>2]=c[a+16>>2];c[(c[f>>2]|0)+16>>2]=0}else{if((c[a+8>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){b=c[d>>2]|0;e=c[c[e>>2]>>2]|0;e=j0(e|0,((e|0)<0)<<31>>31|0,37)|0;e=_$(e|0,D|0,0,0)|0;e=_$(e|0,D|0,0,0)|0;a=c[(c[f>>2]|0)+8>>2]|0;a=_$(e|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;a=$R(b,a,D)|0;b=c[f>>2]|0}else{a=0;b=c[f>>2]|0}c[b+12>>2]=a}c[g>>2]=c[(c[f>>2]|0)+12>>2];if(!(c[g>>2]|0)){l=h;return}c[(c[f>>2]|0)+36>>2]=c[(c[g>>2]|0)+8>>2];a=c[g>>2]|0;if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[(c[f>>2]|0)+40>>2]=(c[a+4>>2]|0)+1;l=h;return}else{e=VR((c[a>>2]|0)+(c[(c[f>>2]|0)+36>>2]|0)|0,(c[f>>2]|0)+40|0)|0;g=(c[f>>2]|0)+36|0;c[g>>2]=(c[g>>2]|0)+e;l=h;return}}function $R(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;d=h;c[f>>2]=PR(c[e>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;l=g;return h|0}if((c[(c[f>>2]|0)+8>>2]|0)<=(c[(c[f>>2]|0)+4>>2]|0)){h=c[f>>2]|0;l=g;return h|0}c[(c[e>>2]|0)+36>>2]=267;AR(c[f>>2]|0);c[f>>2]=0;h=c[f>>2]|0;l=g;return h|0}function aS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[f>>2]|0)+8+(c[g>>2]<<5);if(((ZR(c[h>>2]|0)|0?((c[g>>2]|0)+1|0)<(c[c[f>>2]>>2]|0):0)?(aS(c[e>>2]|0,c[f>>2]|0,(c[g>>2]|0)+1|0)|0,(c[(c[h>>2]|0)+32+8>>2]|0)==0):0)?(AR(c[c[h>>2]>>2]|0),a=c[h>>2]|0,c[a>>2]=0,c[a+4>>2]=0,c[a+8>>2]=0,c[a+12>>2]=0,c[a+16>>2]=0,c[a+20>>2]=0,c[a+24>>2]=0,c[a+28>>2]=0,e=c[e>>2]|0,a=c[(c[f>>2]|0)+4>>2]|0,a=j0(a|0,((a|0)<0)<<31>>31|0,37)|0,a=_$(a|0,D|0,0,16)|0,b=D,d=c[g>>2]|0,d=j0(d|0,((d|0)<0)<<31>>31|0,31)|0,d=_$(a|0,b|0,d|0,D|0)|0,g=c[(c[h>>2]|0)+32+16>>2]|0,g=_$(d|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0,g=PR(e,g,D)|0,c[c[h>>2]>>2]=g,c[c[h>>2]>>2]|0):0)ZR(c[h>>2]|0)|0;l=i;return c[(c[f>>2]|0)+8+8>>2]|0}function bS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(((c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]|0)|0)>>>0>(c[(c[g>>2]|0)+8>>2]|0)>>>0?cS(c[f>>2]|0,c[g>>2]|0,(c[h>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0)|0:0){l=j;return}h0((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[i>>2]|0,c[h>>2]|0)|0;i=(c[g>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+(c[h>>2]|0);l=j;return}function cS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[(c[g>>2]|0)+8>>2]|0)>>>0<(c[h>>2]|0)>>>0){if(c[(c[g>>2]|0)+8>>2]|0)a=c[(c[g>>2]|0)+8>>2]|0;else a=64;c[i>>2]=a;while(1){if((c[i>>2]|0)>>>0>=(c[h>>2]|0)>>>0)break;c[i>>2]=c[i>>2]<<1}c[j>>2]=Xf(c[c[g>>2]>>2]|0,c[i>>2]|0)|0;if(c[j>>2]|0){c[(c[g>>2]|0)+8>>2]=c[i>>2];c[c[g>>2]>>2]=c[j>>2];break}c[c[f>>2]>>2]=7;c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}while(0);c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function dS(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+8|0;g=f+4|0;d=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=(c[h>>2]|0)+80+((e[(c[(c[h>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);c[c[g>>2]>>2]=c[(c[d>>2]|0)+60+4>>2];l=f;return c[(c[d>>2]|0)+60>>2]|0}function eS(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+48|0;c[a>>2]=0;c[a+4>>2]=0;mS(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;_d(c[(c[d>>2]|0)+24>>2]|0);c[(c[d>>2]|0)+20>>2]=-1;c[(c[d>>2]|0)+24>>2]=0;l=b;return}function fS(b,d,f,g,h,i){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;u=y+60|0;v=y+56|0;w=y+52|0;x=y+48|0;j=y+44|0;k=y+40|0;m=y+36|0;n=y+32|0;o=y+20|0;p=y+16|0;q=y+12|0;r=y+8|0;s=y+4|0;t=y;c[u>>2]=b;c[v>>2]=d;c[w>>2]=f;c[x>>2]=g;c[j>>2]=h;c[k>>2]=i;c[m>>2]=c[c[u>>2]>>2];c[n>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;if(cS((c[u>>2]|0)+36|0,o,(c[w>>2]|0)+1|0)|0){x=c[u>>2]|0;x=BR(x)|0;l=y;return x|0}c[p>>2]=0;h0((c[o>>2]|0)+1|0,c[v>>2]|0,c[w>>2]|0)|0;a:do if(c[x>>2]&1|0){c[q>>2]=gS(c[v>>2]|0,c[w>>2]|0)|0;c[p>>2]=1;while(1){if((c[p>>2]|0)>(c[(c[m>>2]|0)+24>>2]|0))break a;if((c[(c[(c[m>>2]|0)+28>>2]|0)+((c[p>>2]|0)-1<<2)>>2]|0)==(c[q>>2]|0))break a;c[p>>2]=(c[p>>2]|0)+1}}while(0);if((c[p>>2]|0)<=(c[(c[m>>2]|0)+24>>2]|0)){c[r>>2]=hS(c[u>>2]|0)|0;a[c[o>>2]>>0]=48+(c[p>>2]|0);if(c[r>>2]|0){iS(c[u>>2]|0,c[r>>2]|0,c[x>>2]|16,c[j>>2]|0,c[o>>2]|0,(c[w>>2]|0)+1|0,-1,0,n);jS(c[r>>2]|0)}}else{c[s>>2]=(c[x>>2]&2|0)!=0&1;a[c[o>>2]>>0]=48;kS(c[u>>2]|0,c[s>>2]|0,c[o>>2]|0,(c[w>>2]|0)+1|0,c[j>>2]|0,n);lS((c[u>>2]|0)+36|0,c[n>>2]|0);if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[t>>2]=(c[n>>2]|0)+80+((e[(c[(c[n>>2]|0)+72>>2]|0)+4>>1]|0)*88|0),c[(c[t>>2]|0)+12>>2]|0):0)Fb[c[(c[n>>2]|0)+48>>2]&255](c[n>>2]|0,c[t>>2]|0)}if(c[(c[u>>2]|0)+36>>2]|0){mS(c[n>>2]|0);c[n>>2]=0;WR(c[u>>2]|0)}c[c[k>>2]>>2]=c[n>>2];nS(o);x=c[u>>2]|0;x=BR(x)|0;l=y;return x|0}function gS(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break;b=c[f>>2]|0;e=c[i>>2]|0;c[i>>2]=e+1;a:do if((d[b+e>>0]|0)>=192)while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break a;if((a[(c[f>>2]|0)+(c[i>>2]|0)>>0]&192|0)!=128)break a;c[i>>2]=(c[i>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}l=j;return c[h>>2]|0}function hS(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[(c[d>>2]|0)+80>>2]|0)==0?(f=AT(c[d>>2]|0)|0,a=(c[d>>2]|0)+72|0,c[a>>2]=f,c[a+4>>2]=D,(c[(c[d>>2]|0)+36>>2]|0)==0):0){f=BT(c[d>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=f}if(c[(c[d>>2]|0)+36>>2]|0){c[b>>2]=0;f=c[b>>2]|0;l=e;return f|0}else{jT(c[(c[d>>2]|0)+80>>2]|0);c[b>>2]=c[(c[d>>2]|0)+80>>2];f=c[b>>2]|0;l=e;return f|0}return 0}function iS(b,f,g,h,i,j,k,m,n){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+96|0;I=J+80|0;q=J+76|0;u=J+72|0;p=J+68|0;v=J+64|0;w=J+60|0;r=J+56|0;o=J+52|0;C=J+48|0;s=J+44|0;D=J+40|0;x=J+36|0;y=J+32|0;E=J+28|0;z=J+24|0;t=J+20|0;A=J+16|0;B=J+12|0;F=J+8|0;G=J+4|0;H=J;c[I>>2]=b;c[q>>2]=f;c[u>>2]=g;c[p>>2]=h;c[v>>2]=i;c[w>>2]=j;c[r>>2]=k;c[o>>2]=m;c[C>>2]=n;c[s>>2]=0;c[D>>2]=0;do if(!(c[(c[I>>2]|0)+36>>2]|0)){b=c[q>>2]|0;if((c[r>>2]|0)<0){c[s>>2]=c[b+16>>2];c[s>>2]=(c[s>>2]|0)+(c[(c[I>>2]|0)+12>>2]|0?1:0);break}if((c[b+24+((c[r>>2]|0)*12|0)+4>>2]|0)<(c[o>>2]|0))b=c[(c[q>>2]|0)+24+((c[r>>2]|0)*12|0)+4>>2]|0;else b=c[o>>2]|0;c[s>>2]=b}while(0);o=RS(c[I>>2]|0,c[s>>2]|0)|0;c[E>>2]=o;c[c[C>>2]>>2]=o;if(!(c[E>>2]|0)){l=J;return}c[(c[E>>2]|0)+56>>2]=0!=(c[u>>2]&2|0)&1;a[(c[E>>2]|0)+60>>0]=0!=(c[u>>2]&16|0);c[(c[E>>2]|0)+28>>2]=c[q>>2];c[(c[E>>2]|0)+44>>2]=c[p>>2];jT(c[q>>2]|0);if(!(c[u>>2]&32))lS((c[I>>2]|0)+36|0,c[E>>2]|0);a:do if(!(c[(c[I>>2]|0)+36>>2]|0)){b=(c[q>>2]|0)+24|0;if((c[r>>2]|0)>=0){c[y>>2]=b+((c[r>>2]|0)*12|0);c[x>>2]=(c[s>>2]|0)-1;while(1){if((c[x>>2]|0)<0)break a;w=c[I>>2]|0;z=(c[(c[y>>2]|0)+8>>2]|0)+((c[x>>2]|0)*12|0)|0;A=(c[E>>2]|0)+80|0;B=c[D>>2]|0;c[D>>2]=B+1;lT(w,z,A+(B*88|0)|0);c[x>>2]=(c[x>>2]|0)+-1}}c[z>>2]=b+((c[(c[q>>2]|0)+20>>2]|0)*12|0);if(c[(c[I>>2]|0)+12>>2]|0){r=(c[E>>2]|0)+80|0;s=c[D>>2]|0;c[D>>2]=s+1;c[t>>2]=r+(s*88|0);kT(c[I>>2]|0,c[v>>2]|0,c[w>>2]|0,c[u>>2]|0,c[t>>2]|0)}c[y>>2]=(c[q>>2]|0)+24;while(1){if((c[y>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break a;c[x>>2]=(c[(c[y>>2]|0)+4>>2]|0)-1;while(1){b=c[y>>2]|0;if((c[x>>2]|0)<0)break;c[A>>2]=(c[b+8>>2]|0)+((c[x>>2]|0)*12|0);t=(c[E>>2]|0)+80|0;b=c[D>>2]|0;c[D>>2]=b+1;c[B>>2]=t+(b*88|0);b=c[I>>2]|0;if(!(c[v>>2]|0))lT(b,c[A>>2]|0,c[B>>2]|0);else mT(b,c[v>>2]|0,c[w>>2]|0,c[u>>2]|0,c[A>>2]|0,c[B>>2]|0);c[x>>2]=(c[x>>2]|0)+-1}c[y>>2]=b+12}}while(0);b=c[E>>2]|0;if(c[(c[I>>2]|0)+36>>2]|0){oS(b);c[c[C>>2]>>2]=0;l=J;return}c[D>>2]=(c[b+52>>2]|0)-1;while(1){b=c[E>>2]|0;if((c[D>>2]|0)<=0)break;C=GR(b,c[D>>2]|0)|0;c[F>>2]=C;if(C|0){c[G>>2]=(c[E>>2]|0)+80+((c[F>>2]|0)*88|0);if(!(c[(c[I>>2]|0)+36>>2]|0))Ib[c[(c[G>>2]|0)+24>>2]&255](c[I>>2]|0,c[G>>2]|0,0);ER(c[I>>2]|0,c[E>>2]|0,c[F>>2]|0,c[D>>2]|0)}c[D>>2]=(c[D>>2]|0)+-1}FR(b);if(d[(c[E>>2]|0)+60>>0]|0|0?cT(c[I>>2]|0,c[E>>2]|0)|0:0){zR(c[I>>2]|0,c[E>>2]|0,0,0,0);l=J;return}if(d[(c[E>>2]|0)+16>>0]|0|0){l=J;return}c[H>>2]=(c[E>>2]|0)+80+((e[(c[(c[E>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);Fb[c[(c[E>>2]|0)+48>>2]&255](c[E>>2]|0,c[H>>2]|0);l=J;return}function jS(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}f=c[b>>2]|0;a=(c[f>>2]|0)+-1|0;c[f>>2]=a;if(0<(a|0)){l=e;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;_d(c[a+24+((c[d>>2]|0)*12|0)+8>>2]|0);c[d>>2]=(c[d>>2]|0)+1}_d(a);l=e;return}function kS(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+96|0;y=C+92|0;z=C+88|0;A=C+84|0;B=C+80|0;i=C+76|0;j=C+72|0;k=C+68|0;m=C+64|0;n=C+56|0;o=C+52|0;p=C+44|0;q=C;r=C+40|0;s=C+36|0;t=C+24|0;u=C+20|0;v=C+16|0;w=C+12|0;x=C+8|0;c[y>>2]=a;c[z>>2]=b;c[A>>2]=d;c[B>>2]=f;c[i>>2]=g;c[j>>2]=h;c[C+60>>2]=32;if((c[(c[c[y>>2]>>2]|0)+48>>2]|0)==1){c[n>>2]=238;c[o>>2]=133}else{c[n>>2]=239;c[o>>2]=134}c[m>>2]=MS(c[y>>2]|0,384)|0;c[k>>2]=hS(c[y>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[k>>2]|0)!=0)){B=c[k>>2]|0;jS(B);B=c[m>>2]|0;_d(B);l=C;return}c[C+48>>2]=56;h=q;c[h>>2]=0;c[h+4>>2]=0;c[r>>2]=0;c[u>>2]=1;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;iS(c[y>>2]|0,c[k>>2]|0,56,c[i>>2]|0,c[A>>2]|0,c[B>>2]|0,-1,0,r);lS((c[y>>2]|0)+36|0,c[r>>2]|0);while(1){if(NS(c[y>>2]|0,c[r>>2]|0)|0)break;c[v>>2]=(c[r>>2]|0)+80+((e[(c[(c[r>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);c[w>>2]=c[(c[v>>2]|0)+60+4>>2];c[x>>2]=c[(c[v>>2]|0)+60>>2];Fb[c[(c[r>>2]|0)+48>>2]&255](c[r>>2]|0,c[v>>2]|0);if(c[u>>2]|0){if((c[w>>2]|0)<(c[B>>2]|0))break;if(H_(c[A>>2]|0,c[x>>2]|0,c[B>>2]|0)|0)break}if(c[(c[r>>2]|0)+12>>2]|0){g=c[r>>2]|0;d=c[g+4>>2]|0;h=q;f=c[h+4>>2]|0;if((d|0)<(f|0)|((d|0)==(f|0)?(c[g>>2]|0)>>>0<=(c[h>>2]|0)>>>0:0)?(c[t+4>>2]|0)>0:0){c[p>>2]=0;while(1){if(c[(c[y>>2]|0)+36>>2]|0)break;if(!(c[t+4>>2]|0))break;if(!(c[(c[m>>2]|0)+((c[p>>2]|0)*12|0)+4>>2]|0)){OS(t,(c[m>>2]|0)+((c[p>>2]|0)*12|0)|0);xS(t)}else{Ib[c[n>>2]&255](c[y>>2]|0,t,(c[m>>2]|0)+((c[p>>2]|0)*12|0)|0);xS((c[m>>2]|0)+((c[p>>2]|0)*12|0)|0)}c[p>>2]=(c[p>>2]|0)+1}h=q;c[h>>2]=0;c[h+4>>2]=0}h=c[o>>2]|0;g=c[y>>2]|0;d=c[r>>2]|0;f=q;f=Z$(c[d>>2]|0,c[d+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;Cb[h&255](g,f,D,c[r>>2]|0,t);f=c[r>>2]|0;g=c[f+4>>2]|0;h=q;c[h>>2]=c[f>>2];c[h+4>>2]=g}PS(c[y>>2]|0,c[r>>2]|0,u)}c[p>>2]=0;while(1){if((c[p>>2]|0)>=32)break;if(!(c[(c[y>>2]|0)+36>>2]|0))Ib[c[n>>2]&255](c[y>>2]|0,t,(c[m>>2]|0)+((c[p>>2]|0)*12|0)|0);nS((c[m>>2]|0)+((c[p>>2]|0)*12|0)|0);c[p>>2]=(c[p>>2]|0)+1}oS(c[r>>2]|0);c[s>>2]=MS(c[y>>2]|0,12+(c[t+4>>2]|0)|0)|0;if(c[s>>2]|0){c[c[s>>2]>>2]=(c[s>>2]|0)+12;B=c[t+4>>2]|0;c[(c[s>>2]|0)+8>>2]=B;c[(c[s>>2]|0)+4>>2]=B;h0(c[c[s>>2]>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;QS(c[y>>2]|0,c[s>>2]|0,c[z>>2]|0,c[j>>2]|0)}nS(t);B=c[k>>2]|0;jS(B);B=c[m>>2]|0;_d(B);l=C;return}function lS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){l=g;return}c[f>>2]=c[c[(c[e>>2]|0)+24>>2]>>2];a=c[e>>2]|0;if((c[(c[f>>2]|0)+48>>2]|0)==1){c[a+48>>2]=134;l=g;return}b=c[e>>2]|0;if(!(c[a+44>>2]|0)){c[b+48>>2]=135;l=g;return}if(!(c[c[b+44>>2]>>2]|0)){c[(c[e>>2]|0)+48>>2]=136;l=g;return}if(!(c[(c[f>>2]|0)+48>>2]|0)){c[(c[e>>2]|0)+48>>2]=137;l=g;return}a=(c[e>>2]|0)+48|0;if((c[(c[f>>2]|0)+12>>2]|0)<=100){c[a>>2]=138;cS(c[d>>2]|0,(c[e>>2]|0)+32|0,c[(c[f>>2]|0)+12>>2]|0)|0;l=g;return}else{c[a>>2]=139;l=g;return}}function mS(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){l=f;return}c[d>>2]=c[b>>2];c[e>>2]=c[(c[d>>2]|0)+24>>2];oS(c[d>>2]|0);WR(c[e>>2]|0);l=f;return}function nS(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[c[d>>2]>>2]|0);a=c[d>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;l=b;return}function oS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+52>>2]|0))break;pS(a+80+((c[d>>2]|0)*88|0)|0);c[d>>2]=(c[d>>2]|0)+1}jS(c[a+28>>2]|0);nS((c[b>>2]|0)+32|0);_d(c[b>>2]|0);l=e;return}function pS(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;nS((c[b>>2]|0)+60|0);AR(c[(c[b>>2]|0)+12>>2]|0);AR(c[(c[b>>2]|0)+16>>2]|0);qS(c[(c[b>>2]|0)+56>>2]|0);_d(c[(c[b>>2]|0)+52>>2]|0);a=c[b>>2]|0;b=a+88|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return}function qS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;AR(c[a+8+(c[d>>2]<<5)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}_d(a);l=e;return}function rS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;g=(c[f>>2]|0)+72|0;a=c[g+4>>2]|0;b=c[e>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=a;c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+80>>2];l=d;return}function sS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;g=(c[e>>2]|0)+72|0;a=c[g+4>>2]|0;b=c[d>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=a;c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+80>>2];if(((c[(c[e>>2]|0)+20>>2]|0)+(c[(c[e>>2]|0)+80>>2]|0)|0)<=(c[(c[(c[e>>2]|0)+12>>2]|0)+8>>2]|0)){e=(c[c[(c[e>>2]|0)+12>>2]>>2]|0)+(c[(c[e>>2]|0)+20>>2]|0)|0;g=c[d>>2]|0;g=g+8|0;c[g>>2]=e;l=f;return}else{xS((c[d>>2]|0)+32|0);yS(c[(c[d>>2]|0)+24>>2]|0,c[e>>2]|0,0,(c[d>>2]|0)+32|0);e=c[(c[d>>2]|0)+32>>2]|0;g=c[d>>2]|0;g=g+8|0;c[g>>2]=e;l=f;return}}function tS(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;c[(c[e>>2]|0)+12>>2]=0;l=d;return}function uS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+44>>2];i=(c[e>>2]|0)+72|0;a=c[i+4>>2]|0;b=c[d>>2]|0;c[b>>2]=c[i>>2];c[b+4>>2]=a;if(((c[(c[e>>2]|0)+20>>2]|0)+(c[(c[e>>2]|0)+80>>2]|0)|0)>(c[(c[(c[e>>2]|0)+12>>2]|0)+8>>2]|0)){xS((c[d>>2]|0)+32|0);yS(c[(c[d>>2]|0)+24>>2]|0,c[e>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0);c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+32>>2];c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32+4>>2];l=h;return}c[g>>2]=(c[c[(c[e>>2]|0)+12>>2]>>2]|0)+(c[(c[e>>2]|0)+20>>2]|0);if((c[c[f>>2]>>2]|0)==1){i=GS(g,c[(c[e>>2]|0)+80>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;c[(c[d>>2]|0)+12>>2]=i;c[(c[d>>2]|0)+8>>2]=c[g>>2];l=h;return}else{xS((c[d>>2]|0)+32|0);HS(c[f>>2]|0,c[g>>2]|0,c[(c[e>>2]|0)+80>>2]|0,(c[d>>2]|0)+32|0)|0;c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+32>>2];c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32+4>>2];l=h;return}}function vS(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;h=p+32|0;f=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;g=p;c[h>>2]=b;c[f>>2]=e;if(((c[(c[f>>2]|0)+20>>2]|0)+(c[(c[f>>2]|0)+80>>2]|0)|0)>(c[(c[(c[f>>2]|0)+12>>2]|0)+8>>2]|0)){wS(c[h>>2]|0,c[f>>2]|0);l=p;return}c[i>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)+(c[(c[f>>2]|0)+20>>2]|0);c[j>>2]=(c[i>>2]|0)+(c[(c[f>>2]|0)+80>>2]|0);c[k>>2]=0;c[m>>2]=(c[(c[h>>2]|0)+44>>2]|0)+4;c[n>>2]=(c[m>>2]|0)+(c[c[(c[h>>2]|0)+44>>2]>>2]<<2);c[o>>2]=c[(c[h>>2]|0)+32>>2];c[g>>2]=0;b=(c[f>>2]|0)+72|0;e=c[b+4>>2]|0;f=c[h>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;a:while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;f=c[i>>2]|0;c[i>>2]=f+1;c[k>>2]=(c[k>>2]|0)+((d[f>>0]|0)-2);while(1){b=c[m>>2]|0;if((c[c[m>>2]>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=b+4;if((c[m>>2]|0)==(c[n>>2]|0))break a}if((c[b>>2]|0)!=(c[k>>2]|0))continue;e=(c[k>>2]|0)-(c[g>>2]|0)+2&255;f=c[o>>2]|0;c[o>>2]=f+1;a[f>>0]=e;c[g>>2]=c[k>>2]}c[(c[h>>2]|0)+8>>2]=c[(c[h>>2]|0)+32>>2];c[(c[h>>2]|0)+12>>2]=(c[o>>2]|0)-(c[(c[h>>2]|0)+32>>2]|0);l=p;return}function wS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;xS((c[e>>2]|0)+32|0);yS(c[(c[e>>2]|0)+24>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0,(c[e>>2]|0)+32|0);f=(c[f>>2]|0)+72|0;a=c[f+4>>2]|0;b=c[e>>2]|0;c[b>>2]=c[f>>2];c[b+4>>2]=a;c[(c[e>>2]|0)+8>>2]=c[(c[e>>2]|0)+32>>2];c[(c[e>>2]|0)+12>>2]=c[(c[e>>2]|0)+32+4>>2];l=d;return}function xS(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+4>>2]=0;l=b;return}function yS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;f=m+40|0;g=m+36|0;h=m+32|0;i=m+28|0;j=m+16|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(((c[(c[i>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+80>>2]|0)|0)>>>0<=(c[(c[i>>2]|0)+8>>2]|0)>>>0)a=0;else a=cS((c[f>>2]|0)+36|0,c[i>>2]|0,(c[(c[g>>2]|0)+80>>2]|0)+(c[(c[i>>2]|0)+4>>2]|0)|0)|0;if(a){l=m;return}a=c[f>>2]|0;if(!(c[h>>2]|0)){AS(a,c[g>>2]|0,c[i>>2]|0,136);l=m;return}if(!(c[(c[a>>2]|0)+48>>2]|0)){c[j>>2]=c[i>>2];c[j+4>>2]=c[h>>2];c[j+8>>2]=BS(c[h>>2]|0,0)|0;AS(c[f>>2]|0,c[g>>2]|0,j,137);l=m;return}else{c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k>>2]=c[i>>2];c[k+4>>2]=c[h>>2];AS(c[f>>2]|0,c[g>>2]|0,k,138);l=m;return}}function zS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[i+12>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if((c[h>>2]|0)<=0){l=i;return}h0((c[c[f>>2]>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0)|0,c[g>>2]|0,c[h>>2]|0)|0;g=(c[f>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);l=i;return}function AS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+36|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;f=q+12|0;g=q+8|0;h=q+4|0;i=q;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=c[(c[k>>2]|0)+80>>2];c[p>>2]=0;c[f>>2]=(c[c[(c[k>>2]|0)+12>>2]>>2]|0)+(c[(c[k>>2]|0)+20>>2]|0);if((c[o>>2]|0)<((c[(c[(c[k>>2]|0)+12>>2]|0)+8>>2]|0)-(c[(c[k>>2]|0)+20>>2]|0)|0))a=c[o>>2]|0;else a=(c[(c[(c[k>>2]|0)+12>>2]|0)+8>>2]|0)-(c[(c[k>>2]|0)+20>>2]|0)|0;c[g>>2]=a;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[i>>2]=0;if(!(c[(c[k>>2]|0)+4>>2]&2))c[i>>2]=(c[h>>2]|0)+1;while(1){Ob[c[n>>2]&255](c[j>>2]|0,c[m>>2]|0,c[f>>2]|0,c[g>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[g>>2]|0);AR(c[p>>2]|0);if((c[o>>2]|0)<=0){a=13;break}c[h>>2]=(c[h>>2]|0)+1;d=c[j>>2]|0;b=c[c[c[k>>2]>>2]>>2]|0;b=j0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=_$(b|0,D|0,0,0)|0;b=_$(b|0,D|0,0,0)|0;e=c[h>>2]|0;e=_$(b|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;c[p>>2]=PR(d,e,D)|0;if(!(c[p>>2]|0)){a=13;break}c[f>>2]=(c[c[p>>2]>>2]|0)+4;if((c[o>>2]|0)<((c[(c[p>>2]|0)+8>>2]|0)-4|0))a=c[o>>2]|0;else a=(c[(c[p>>2]|0)+8>>2]|0)-4|0;c[g>>2]=a;if((c[h>>2]|0)!=(c[i>>2]|0))continue;c[(c[k>>2]|0)+16>>2]=c[p>>2];c[p>>2]=0}if((a|0)==13){l=q;return}}function BS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){a=6;break}if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){a=4;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==4){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==6){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function CS(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;p=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;h=o+8|0;g=o+4|0;i=o;c[o+32>>2]=a;c[p>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=c[p>>2];if((c[k>>2]|0)<=0){l=o;return}c[n>>2]=0;c[h>>2]=0;do if((c[(c[m>>2]|0)+8>>2]|0)==2){f=c[j>>2]|0;p=c[n>>2]|0;c[n>>2]=p+1;c[g>>2]=d[f+p>>0];if(c[g>>2]&128|0){c[n>>2]=(c[n>>2]|0)+-1;p=VR((c[j>>2]|0)+(c[n>>2]|0)|0,g)|0;c[n>>2]=(c[n>>2]|0)+p}p=(BS(c[(c[m>>2]|0)+4>>2]|0,c[g>>2]|0)|0)!=0;a=(c[m>>2]|0)+8|0;if(p){c[a>>2]=1;f=ES((c[c[c[m>>2]>>2]>>2]|0)+(c[(c[c[m>>2]>>2]|0)+4>>2]|0)|0,1,0)|0;p=(c[c[m>>2]>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+f;break}else{c[a>>2]=0;break}}while(0);while(1){a:while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;if((d[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0|0)==1)break;while(1){p=((d[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0)&128|0)!=0;c[n>>2]=(c[n>>2]|0)+1;if(!p)continue a}}if(c[(c[m>>2]|0)+8>>2]|0){h0((c[c[c[m>>2]>>2]>>2]|0)+(c[(c[c[m>>2]>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[h>>2]|0)|0,(c[n>>2]|0)-(c[h>>2]|0)|0)|0;p=(c[c[m>>2]>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+((c[n>>2]|0)-(c[h>>2]|0))}do if((c[n>>2]|0)<(c[k>>2]|0)){c[h>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+1;if((c[n>>2]|0)>=(c[k>>2]|0)){c[(c[m>>2]|0)+8>>2]=2;break}f=c[j>>2]|0;p=c[n>>2]|0;c[n>>2]=p+1;c[i>>2]=d[f+p>>0];if(c[i>>2]&128|0){c[n>>2]=(c[n>>2]|0)+-1;p=VR((c[j>>2]|0)+(c[n>>2]|0)|0,i)|0;c[n>>2]=(c[n>>2]|0)+p}p=BS(c[(c[m>>2]|0)+4>>2]|0,c[i>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=p;if(c[(c[m>>2]|0)+8>>2]|0){h0((c[c[c[m>>2]>>2]>>2]|0)+(c[(c[c[m>>2]>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[h>>2]|0)|0,(c[n>>2]|0)-(c[h>>2]|0)|0)|0;p=(c[c[m>>2]>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+((c[n>>2]|0)-(c[h>>2]|0));c[h>>2]=c[n>>2]}}while(0);if((c[n>>2]|0)>=(c[k>>2]|0))break}l=o;return}function DS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+20|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;f=k;c[k+24>>2]=a;c[m>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[m>>2];if((c[h>>2]|0)<=0){l=k;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;m=VR((c[g>>2]|0)+(c[j>>2]|0)|0,f)|0;c[j>>2]=(c[j>>2]|0)+m;c[f>>2]=(c[f>>2]|0)+((c[(c[i>>2]|0)+8>>2]|0)-2);c[(c[i>>2]|0)+8>>2]=c[f>>2];if(!(BS(c[(c[i>>2]|0)+4>>2]|0,c[f>>2]|0)|0))continue;e=(c[f>>2]|0)+2-(c[(c[i>>2]|0)+12>>2]|0)|0;e=ES((c[c[c[i>>2]>>2]>>2]|0)+(c[(c[c[i>>2]>>2]|0)+4>>2]|0)|0,e,((e|0)<0)<<31>>31)|0;m=(c[c[i>>2]>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+e;c[(c[i>>2]|0)+12>>2]=c[f>>2]}l=k;return}function ES(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;h=i;c[g>>2]=b;j=h;c[j>>2]=d;c[j+4>>2]=e;e=h;j=c[e+4>>2]|0;d=h;b=c[d>>2]|0;d=c[d+4>>2]|0;if(j>>>0<0|(j|0)==0&(c[e>>2]|0)>>>0<=127){a[c[g>>2]>>0]=b&127;c[f>>2]=1;j=c[f>>2]|0;l=i;return j|0}if(d>>>0<0|(d|0)==0&b>>>0<=16383){j=h;j=f0(c[j>>2]|0,c[j+4>>2]|0,7)|0;a[c[g>>2]>>0]=j&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;j=c[f>>2]|0;l=i;return j|0}else{j=h;c[f>>2]=FS(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[f>>2]|0;l=i;return j|0}return 0}function FS(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;g=o+24|0;h=o+20|0;i=o;j=o+16|0;k=o+12|0;m=o+8|0;n=o+28|0;c[h>>2]=b;b=i;c[b>>2]=e;c[b+4>>2]=f;if(0?1:(c[i+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[i>>2];m=i;m=f0(c[m>>2]|0,c[m+4>>2]|0,8)|0;n=i;c[n>>2]=m;c[n+4>>2]=D;c[j>>2]=7;while(1){if((c[j>>2]|0)<0)break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=c[i>>2]&127|128;m=i;m=f0(c[m>>2]|0,c[m+4>>2]|0,7)|0;n=i;c[n>>2]=m;c[n+4>>2]=D;c[j>>2]=(c[j>>2]|0)+-1}c[g>>2]=9;n=c[g>>2]|0;l=o;return n|0}c[m>>2]=0;do{f=(c[i>>2]&127|128)&255;e=c[m>>2]|0;c[m>>2]=e+1;a[n+e>>0]=f;e=i;e=f0(c[e>>2]|0,c[e+4>>2]|0,7)|0;f=i;c[f>>2]=e;c[f+4>>2]=D;f=i}while((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0);a[n>>0]=(d[n>>0]|0)&127;c[j>>2]=0;c[k>>2]=(c[m>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[n+(c[k>>2]|0)>>0]|0;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1}c[g>>2]=c[m>>2];n=c[g>>2]|0;l=o;return n|0}function GS(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;o=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[o>>2]=b;c[h>>2]=e;c[i>>2]=0;c[j>>2]=c[c[g>>2]>>2];c[k>>2]=(c[j>>2]|0)+(c[o>>2]|0);a:while(1){if((c[h>>2]|0)<=(c[i>>2]|0))break;while(1){if((d[c[j>>2]>>0]|0|0)==1)break;do{o=c[j>>2]|0;c[j>>2]=o+1}while(((d[o>>0]|0)&128|0)!=0);if((c[j>>2]|0)>>>0>=(c[k>>2]|0)>>>0){m=6;break a}}o=c[j>>2]|0;c[j>>2]=o+1;c[c[g>>2]>>2]=o;o=c[j>>2]|0;c[j>>2]=o+1;c[i>>2]=d[o>>0];if(!(c[i>>2]&128))continue;c[j>>2]=(c[j>>2]|0)+-1;o=VR(c[j>>2]|0,i)|0;c[j>>2]=(c[j>>2]|0)+o}if((m|0)==6){c[f>>2]=0;o=c[f>>2]|0;l=n;return o|0}if((c[h>>2]|0)!=(c[i>>2]|0)){c[f>>2]=0;o=c[f>>2]|0;l=n;return o|0}b:while(1){if((c[j>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;if((d[c[j>>2]>>0]|0|0)==1)break;while(1){o=c[j>>2]|0;c[j>>2]=o+1;if(!((d[o>>0]|0)&128))continue b}}c[f>>2]=(c[j>>2]|0)-(c[c[g>>2]>>2]|0);o=c[f>>2]|0;l=n;return o|0}function HS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;f=o+4|0;g=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0;xS(c[k>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[h>>2]>>2]|0))break;c[f>>2]=c[i>>2];c[g>>2]=GS(f,c[j>>2]|0,c[(c[h>>2]|0)+4+(c[n>>2]<<2)>>2]|0)|0;if(c[g>>2]|0)bS(m,c[k>>2]|0,c[g>>2]|0,c[f>>2]|0);c[n>>2]=(c[n>>2]|0)+1}l=o;return c[m>>2]|0}function IS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+64|0;o=n+52|0;g=n+48|0;h=n+44|0;i=n+40|0;j=n+36|0;k=n+16|0;m=n+8|0;e=n;f=n+24|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=0;c[j>>2]=0;d=k;c[d>>2]=0;c[d+4>>2]=0;d=m;c[d>>2]=0;c[d+4>>2]=0;d=e;c[d>>2]=0;c[d+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;cS((c[o>>2]|0)+36|0,f,(c[(c[g>>2]|0)+4>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0)|0)|0;if(c[(c[o>>2]|0)+36>>2]|0){l=n;return}iT(c[g>>2]|0,i,k);iT(c[h>>2]|0,j,m);a:while(1){if(!((c[i>>2]|0)>=0?1:(c[j>>2]|0)>=0))break;do if((c[i>>2]|0)>=0){if((c[j>>2]|0)>=0?(d=k,a=c[d+4>>2]|0,o=m,b=c[o+4>>2]|0,!((a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[o>>2]|0)>>>0:0))):0)break;b=(c[f>>2]|0)+(c[f+4>>2]|0)|0;o=k;d=e;d=Z$(c[o>>2]|0,c[o+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=ES(b,d,D)|0;b=f+4|0;c[b>>2]=(c[b>>2]|0)+d;b=k;d=c[b+4>>2]|0;o=e;c[o>>2]=c[b>>2];c[o+4>>2]=d;iT(c[g>>2]|0,i,k);continue a}while(0);b=(c[f>>2]|0)+(c[f+4>>2]|0)|0;o=m;d=e;d=Z$(c[o>>2]|0,c[o+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=ES(b,d,D)|0;b=f+4|0;c[b>>2]=(c[b>>2]|0)+d;b=m;d=c[b+4>>2]|0;o=e;c[o>>2]=c[b>>2];c[o+4>>2]=d;if((c[i>>2]|0)>=0?(d=k,o=m,(c[d>>2]|0)==(c[o>>2]|0)?(c[d+4>>2]|0)==(c[o+4>>2]|0):0):0)iT(c[g>>2]|0,i,k);iT(c[h>>2]|0,j,m)}OS(f,c[g>>2]|0);nS(f);l=n;return}function JS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+32|0;i=g+16|0;j=g;h=g+8|0;c[i>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;f=j;hT((c[i>>2]|0)+36|0,c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0);l=g;return}function KS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+160|0;s=w+152|0;t=w+148|0;f=w+144|0;p=w+96|0;e=w+64|0;q=w+32|0;u=w+132|0;r=w+120|0;g=w+24|0;h=w+16|0;i=w+116|0;j=w+112|0;k=w+108|0;m=w+104|0;n=w+8|0;o=w;c[s>>2]=a;c[t>>2]=b;c[f>>2]=d;if(!(c[(c[f>>2]|0)+4>>2]|0)){l=w;return}d=p;c[d>>2]=0;c[d+4>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;if(cS((c[s>>2]|0)+36|0,u,(c[(c[t>>2]|0)+4>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0)|0)|0){l=w;return}eT(c[t>>2]|0,e);eT(c[f>>2]|0,q);while(1){d=e+8|0;a=c[d+4>>2]|0;f=q+8|0;b=c[f+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)){b=(c[u>>2]|0)+(c[u+4>>2]|0)|0;f=e+8|0;d=p;d=Z$(c[f>>2]|0,c[f+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=ES(b,d,D)|0;b=u+4|0;c[b>>2]=(c[b>>2]|0)+d;b=e+8|0;d=c[b+4>>2]|0;f=p;c[f>>2]=c[b>>2];c[f+4>>2]=d;h0((c[u>>2]|0)+(c[u+4>>2]|0)|0,c[e+16>>2]|0,(c[e+20>>2]|0)+(c[e+24>>2]|0)|0)|0;f=u+4|0;c[f>>2]=(c[f>>2]|0)+((c[e+20>>2]|0)+(c[e+24>>2]|0));fT(e);if(!(c[e+16>>2]|0))break;else continue}d=q+8|0;f=e+8|0;if((c[d>>2]|0)!=(c[f>>2]|0)?1:(c[d+4>>2]|0)!=(c[f+4>>2]|0)){b=(c[u>>2]|0)+(c[u+4>>2]|0)|0;f=q+8|0;d=p;d=Z$(c[f>>2]|0,c[f+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=ES(b,d,D)|0;b=u+4|0;c[b>>2]=(c[b>>2]|0)+d;b=q+8|0;d=c[b+4>>2]|0;f=p;c[f>>2]=c[b>>2];c[f+4>>2]=d;h0((c[u>>2]|0)+(c[u+4>>2]|0)|0,c[q+16>>2]|0,(c[q+20>>2]|0)+(c[q+24>>2]|0)|0)|0;f=u+4|0;c[f>>2]=(c[f>>2]|0)+((c[q+20>>2]|0)+(c[q+24>>2]|0));fT(q);if(!(c[q+16>>2]|0))break;else continue}b=g;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[i>>2]=0;c[j>>2]=0;c[k>>2]=(c[e+16>>2]|0)+(c[e+24>>2]|0);c[m>>2]=(c[q+16>>2]|0)+(c[q+24>>2]|0);b=n;c[b>>2]=0;c[b+4>>2]=0;c[o>>2]=0;c[o+4>>2]=0;b=(c[u>>2]|0)+(c[u+4>>2]|0)|0;f=q+8|0;d=p;d=Z$(c[f>>2]|0,c[f+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=ES(b,d,D)|0;b=u+4|0;c[b>>2]=(c[b>>2]|0)+d;b=q+8|0;d=c[b+4>>2]|0;f=p;c[f>>2]=c[b>>2];c[f+4>>2]=d;xS(r);cS((c[s>>2]|0)+36|0,r,(c[e+20>>2]|0)+(c[q+20>>2]|0)|0)|0;if(c[(c[s>>2]|0)+36>>2]|0)break;xR(c[k>>2]|0,c[e+20>>2]|0,i,g)|0;xR(c[m>>2]|0,c[q+20>>2]|0,j,h)|0;d=g;a=c[d+4>>2]|0;f=h;b=c[f+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)){f=g;gT(r,n,c[f>>2]|0,c[f+4>>2]|0);xR(c[k>>2]|0,c[e+20>>2]|0,i,g)|0}else{f=h;gT(r,n,c[f>>2]|0,c[f+4>>2]|0);xR(c[m>>2]|0,c[q+20>>2]|0,j,h)|0}b=g;a=c[b+4>>2]|0;f=h;d=c[f+4>>2]|0;if(((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>=0)&((d|0)>0|(d|0)==0&(c[f>>2]|0)>>>0>=0))while(1){d=g;a=c[d+4>>2]|0;f=h;b=c[f+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[f>>2]|0)>>>0:0))){f=h;gT(r,n,c[f>>2]|0,c[f+4>>2]|0);xR(c[m>>2]|0,c[q+20>>2]|0,j,h)|0;if((c[h+4>>2]|0)<0)break;else continue}d=g;f=n;if((c[d>>2]|0)!=(c[f>>2]|0)?1:(c[d+4>>2]|0)!=(c[f+4>>2]|0)){f=g;gT(r,n,c[f>>2]|0,c[f+4>>2]|0)}xR(c[k>>2]|0,c[e+20>>2]|0,i,g)|0;if((c[g+4>>2]|0)<0)break}f=g;d=c[f+4>>2]|0;if((d|0)>0|(d|0)==0&(c[f>>2]|0)>>>0>=0){d=g;f=n;if((c[d>>2]|0)!=(c[f>>2]|0)?1:(c[d+4>>2]|0)!=(c[f+4>>2]|0)){f=g;gT(r,n,c[f>>2]|0,c[f+4>>2]|0)}h0((c[r>>2]|0)+(c[r+4>>2]|0)|0,(c[k>>2]|0)+(c[i>>2]|0)|0,(c[e+20>>2]|0)-(c[i>>2]|0)|0)|0;a=(c[e+20>>2]|0)-(c[i>>2]|0)|0}else{a=h;gT(r,n,c[a>>2]|0,c[a+4>>2]|0);h0((c[r>>2]|0)+(c[r+4>>2]|0)|0,(c[m>>2]|0)+(c[j>>2]|0)|0,(c[q+20>>2]|0)-(c[j>>2]|0)|0)|0;a=(c[q+20>>2]|0)-(c[j>>2]|0)|0}d=r+4|0;c[d>>2]=(c[d>>2]|0)+a;d=c[r+4>>2]<<1;d=ES((c[u>>2]|0)+(c[u+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;f=u+4|0;c[f>>2]=(c[f>>2]|0)+d;h0((c[u>>2]|0)+(c[u+4>>2]|0)|0,c[r>>2]|0,c[r+4>>2]|0)|0;f=u+4|0;c[f>>2]=(c[f>>2]|0)+(c[r+4>>2]|0);fT(e);fT(q);if(!(c[e+16>>2]|0))break;if(!(c[q+16>>2]|0))break}if(!(c[e+16>>2]|0)){if(c[q+16>>2]|0){o=(c[u>>2]|0)+(c[u+4>>2]|0)|0;e=q+8|0;v=p;v=Z$(c[e>>2]|0,c[e+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=ES(o,v,D)|0;o=u+4|0;c[o>>2]=(c[o>>2]|0)+v;o=q+8|0;v=c[o+4>>2]|0;e=p;c[e>>2]=c[o>>2];c[e+4>>2]=v;h0((c[u>>2]|0)+(c[u+4>>2]|0)|0,c[q+16>>2]|0,(c[q>>2]|0)-(c[q+16>>2]|0)|0)|0;e=q;v=29}}else{o=(c[u>>2]|0)+(c[u+4>>2]|0)|0;v=e+8|0;q=p;q=Z$(c[v>>2]|0,c[v+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=ES(o,q,D)|0;o=u+4|0;c[o>>2]=(c[o>>2]|0)+q;o=e+8|0;q=c[o+4>>2]|0;v=p;c[v>>2]=c[o>>2];c[v+4>>2]=q;h0((c[u>>2]|0)+(c[u+4>>2]|0)|0,c[e+16>>2]|0,(c[e>>2]|0)-(c[e+16>>2]|0)|0)|0;v=29}if((v|0)==29){v=u+4|0;c[v>>2]=(c[v>>2]|0)+((c[e>>2]|0)-(c[e+16>>2]|0))}wR((c[s>>2]|0)+36|0,c[t>>2]|0,c[u+4>>2]|0,c[u>>2]|0);nS(r);nS(u);l=w;return}function LS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+20|0;h=m;i=m+16|0;j=m+12|0;k=m+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[i>>2]|0)+12>>2];if(c[(c[g>>2]|0)+36>>2]|0){l=m;return}if(((c[(c[j>>2]|0)+4>>2]|0)+((c[k>>2]|0)+9+9)|0)>>>0<=(c[(c[j>>2]|0)+8>>2]|0)>>>0)a=0;else a=cS((c[g>>2]|0)+36|0,c[j>>2]|0,(c[k>>2]|0)+9+9+(c[(c[j>>2]|0)+4>>2]|0)|0)|0;if(a){l=m;return}h=ES((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[h+4>>2]|0)|0;g=(c[j>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+h;g=c[k>>2]<<1;g=ES((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,g,((g|0)<0)<<31>>31)|0;h=(c[j>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+g;h0((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[i>>2]|0)+8>>2]|0,c[k>>2]|0)|0;j=(c[j>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0);l=m;return}function MS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=dT((c[f>>2]|0)+36|0,c[e>>2]|0)|0;l=d;return b|0}function NS(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;if(c[(c[g>>2]|0)+36>>2]|0){g=1;g=g&1;l=f;return g|0}g=(d[(c[e>>2]|0)+16>>0]|0|0)!=0;g=g&1;l=f;return g|0}function OS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;f=d+12|0;e=d;c[g>>2]=a;c[f>>2]=b;b=c[g>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];b=c[g>>2]|0;a=c[f>>2]|0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];l=d;return}function PS(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[f>>2]|0)+36>>2]|0){l=m;return}do{c[i>>2]=e[(c[(c[g>>2]|0)+72>>2]|0)+4>>1];c[j>>2]=(c[g>>2]|0)+80+((c[i>>2]|0)*88|0);c[k>>2]=0;Ib[c[(c[j>>2]|0)+24>>2]&255](c[f>>2]|0,c[j>>2]|0,k);if(!(c[k>>2]|0?1:(c[(c[j>>2]|0)+12>>2]|0)==0)?!(DR(c[g>>2]|0,c[i>>2]|0,j)|0):0)c[c[h>>2]>>2]=0;else{ER(c[f>>2]|0,c[g>>2]|0,c[i>>2]|0,1);FR(c[g>>2]|0);c[c[h>>2]>>2]=1}}while((cT(c[f>>2]|0,c[g>>2]|0)|0)!=0);l=m;return}function QS(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=RS(c[h>>2]|0,2)|0;if(!(c[m>>2]|0)){n=c[i>>2]|0;AR(n);l=o;return}c[n>>2]=(c[m>>2]|0)+80+88;c[(c[n>>2]|0)+4>>2]=1;if((c[(c[i>>2]|0)+8>>2]|0)>0){c[(c[n>>2]|0)+12>>2]=c[i>>2];g=(RR(c[c[i>>2]>>2]|0,(c[n>>2]|0)+72|0)|0)&255;c[(c[n>>2]|0)+20>>2]=g;c[(c[n>>2]|0)+40>>2]=c[(c[i>>2]|0)+4>>2];b[(c[(c[m>>2]|0)+72>>2]|0)+4>>1]=1;if(c[j>>2]|0){c[(c[m>>2]|0)+56>>2]=1;j=(c[n>>2]|0)+4|0;c[j>>2]=c[j>>2]|2;SR(c[h>>2]|0,c[n>>2]|0)}else UR(c[h>>2]|0,c[n>>2]|0);c[i>>2]=0}else a[(c[m>>2]|0)+16>>0]=1;SS(c[h>>2]|0,c[n>>2]|0);c[c[k>>2]>>2]=c[m>>2];n=c[i>>2]|0;AR(n);l=o;return}function RS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=2;while(1){if((c[g>>2]|0)>=(c[e>>2]|0))break;c[g>>2]=c[g>>2]<<1}c[f>>2]=MS(c[d>>2]|0,168+(((c[g>>2]|0)-1|0)*88|0)+(c[g>>2]<<2)|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;l=h;return g|0}c[(c[f>>2]|0)+52>>2]=c[g>>2];c[(c[f>>2]|0)+72>>2]=(c[f>>2]|0)+80+((c[g>>2]|0)*88|0);c[(c[f>>2]|0)+24>>2]=c[d>>2];c[(c[f>>2]|0)+48>>2]=140;g=c[f>>2]|0;l=h;return g|0}function SS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[e>>2]|0)+4>>2]&2|0){c[(c[e>>2]|0)+24>>2]=240;l=f;return}else{c[(c[e>>2]|0)+24>>2]=(c[(c[c[d>>2]>>2]|0)+48>>2]|0)==1?241:242;l=f;return}}function TS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+24|0;f=j+20|0;g=j+12|0;h=j+8|0;i=j;c[e>>2]=a;c[f>>2]=b;c[j+16>>2]=d;if((c[(c[f>>2]|0)+44>>2]|0)<=0){OR(c[e>>2]|0,c[f>>2]|0);l=j;return}c[g>>2]=c[c[(c[f>>2]|0)+12>>2]>>2];d=(c[f>>2]|0)+44|0;c[d>>2]=(c[d>>2]|0)+-1;c[(c[f>>2]|0)+20>>2]=c[(c[(c[f>>2]|0)+52>>2]|0)+(c[(c[f>>2]|0)+44>>2]<<2)>>2];UR(c[e>>2]|0,c[f>>2]|0);c[h>>2]=c[(c[f>>2]|0)+20>>2];if((c[(c[c[e>>2]>>2]|0)+48>>2]|0)!=1)c[h>>2]=(c[h>>2]|0)+(c[(c[f>>2]|0)+80>>2]|0);RR((c[g>>2]|0)+(c[h>>2]|0)|0,i)|0;h=i;i=(c[f>>2]|0)+72|0;g=i;h=Z$(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[i>>2]=h;c[i+4>>2]=D;l=j;return}function US(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o;m=o+20|0;n=o+16|0;e=o+12|0;f=o+8|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=c[(c[h>>2]|0)+20>>2];do if(c[c[h>>2]>>2]|0?(c[j>>2]|0)>=(c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0):0){_R(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){l=o;return}if(!(c[(c[h>>2]|0)+12>>2]|0)){l=o;return}else{d=(c[h>>2]|0)+72|0;c[d>>2]=0;c[d+4>>2]=0;c[j>>2]=4;break}}while(0);a=c[h>>2]|0;a:do if((c[j>>2]|0)<(c[(c[h>>2]|0)+40>>2]|0)){m=(RR((c[c[a+12>>2]>>2]|0)+(c[j>>2]|0)|0,k)|0)&255;c[j>>2]=(c[j>>2]|0)+m;c[(c[h>>2]|0)+20>>2]=c[j>>2];m=k;n=(c[h>>2]|0)+72|0;k=n;m=_$(c[k>>2]|0,c[k+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[n>>2]=m;c[n+4>>2]=D}else{do if(!(c[a+4>>2]&1)){if(c[c[h>>2]>>2]|0){c[m>>2]=0;n=c[j>>2]|0;if((n|0)!=(WS(c[(c[h>>2]|0)+12>>2]|0)|0)){n=VR((c[c[(c[h>>2]|0)+12>>2]>>2]|0)+(c[j>>2]|0)|0,m)|0;c[j>>2]=(c[j>>2]|0)+n}c[(c[h>>2]|0)+20>>2]=c[j>>2];ZS(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0)}else{c[n>>2]=0;c[e>>2]=0;XS(c[(c[g>>2]|0)+12>>2]|0);YS(c[(c[g>>2]|0)+12>>2]|0,e,n,f);if(!(c[n>>2]|0))break;c[c[(c[h>>2]|0)+12>>2]>>2]=c[n>>2];c[(c[(c[h>>2]|0)+12>>2]|0)+4>>2]=c[f>>2];c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]=c[f>>2];c[(c[h>>2]|0)+40>>2]=c[f>>2];j=(c[g>>2]|0)+36|0;k=(c[h>>2]|0)+60|0;m=g$(c[e>>2]|0)|0;wR(j,k,m,c[e>>2]|0);n=(RR(c[n>>2]|0,(c[h>>2]|0)+72|0)|0)&255;c[(c[h>>2]|0)+20>>2]=n}if(!(c[i>>2]|0))break a;c[c[i>>2]>>2]=1;break a}while(0);AR(c[(c[h>>2]|0)+12>>2]|0);c[(c[h>>2]|0)+12>>2]=0;l=o;return}while(0);UR(c[g>>2]|0,c[h>>2]|0);l=o;return}function VS(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+64|0;q=v+56|0;r=v+52|0;s=v+48|0;m=v+44|0;n=v+40|0;t=v+36|0;u=v+32|0;g=v+28|0;w=v+24|0;h=v;i=v+20|0;j=v+16|0;k=v+12|0;p=v+8|0;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[m>>2]=c[(c[r>>2]|0)+12>>2];c[t>>2]=0;c[u>>2]=0;c[g>>2]=c[c[m>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+8>>2];c[n>>2]=(c[(c[r>>2]|0)+20>>2]|0)+(c[(c[r>>2]|0)+80>>2]|0);a:do if((c[n>>2]|0)<(c[w>>2]|0)){if((c[n>>2]|0)>=(c[(c[r>>2]|0)+40>>2]|0)){c[t>>2]=1;w=c[n>>2]|0;if((w|0)!=(WS(c[m>>2]|0)|0)){w=VR((c[g>>2]|0)+(c[n>>2]|0)|0,u)|0;c[n>>2]=(c[n>>2]|0)+w}}else{o=(RR((c[g>>2]|0)+(c[n>>2]|0)|0,h)|0)&255;c[n>>2]=(c[n>>2]|0)+o;o=h;w=(c[r>>2]|0)+72|0;m=w;o=_$(c[m>>2]|0,c[m+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[w>>2]=o;c[w+4>>2]=D}c[(c[r>>2]|0)+20>>2]=c[n>>2]}else{if(!(c[c[r>>2]>>2]|0)){c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;if(!(c[(c[r>>2]|0)+4>>2]&1)){XS(c[(c[q>>2]|0)+12>>2]|0);YS(c[(c[q>>2]|0)+12>>2]|0,j,i,k)}if(!(c[i>>2]|0)){AR(c[(c[r>>2]|0)+12>>2]|0);c[(c[r>>2]|0)+12>>2]=0;break}else{c[c[(c[r>>2]|0)+12>>2]>>2]=c[i>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+4>>2]=c[k>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+8>>2]=c[k>>2];c[(c[r>>2]|0)+40>>2]=(c[k>>2]|0)+1;n=(c[q>>2]|0)+36|0;o=(c[r>>2]|0)+60|0;w=g$(c[j>>2]|0)|0;wR(n,o,w,c[j>>2]|0);w=(RR(c[i>>2]|0,(c[r>>2]|0)+72|0)|0)&255;c[(c[r>>2]|0)+20>>2]=w;c[c[s>>2]>>2]=1;break}}c[n>>2]=0;do{if(c[n>>2]|0)break a;_R(c[q>>2]|0,c[r>>2]|0);c[m>>2]=c[(c[r>>2]|0)+12>>2];if(!(c[m>>2]|0))break a;w=(QR(c[c[m>>2]>>2]|0)|0)&65535;c[n>>2]=w;if(w|0?(c[n>>2]|0)<(c[(c[m>>2]|0)+8>>2]|0):0){w=(RR((c[c[m>>2]>>2]|0)+(c[n>>2]|0)|0,(c[r>>2]|0)+72|0)|0)&255;c[n>>2]=(c[n>>2]|0)+w;c[(c[r>>2]|0)+20>>2]=c[n>>2];if((c[(c[m>>2]|0)+4>>2]|0)>(c[(c[m>>2]|0)+8>>2]|0)){w=c[(c[m>>2]|0)+8>>2]|0;w=w+(VR((c[c[m>>2]>>2]|0)+(c[(c[m>>2]|0)+8>>2]|0)|0,(c[r>>2]|0)+40|0)|0)|0;c[(c[r>>2]|0)+36>>2]=w}}else o=20;if((o|0)==20?(o=0,(c[(c[m>>2]|0)+4>>2]|0)>(c[(c[m>>2]|0)+8>>2]|0)):0){w=c[(c[m>>2]|0)+8>>2]|0;w=w+(VR((c[c[m>>2]>>2]|0)+(c[(c[m>>2]|0)+8>>2]|0)|0,n)|0)|0;c[(c[r>>2]|0)+36>>2]=w;c[(c[r>>2]|0)+20>>2]=c[n>>2];c[(c[r>>2]|0)+40>>2]=c[n>>2];c[t>>2]=1}}while((c[n>>2]|0)<=(c[(c[m>>2]|0)+8>>2]|0));c[(c[q>>2]|0)+36>>2]=267;l=v;return}while(0);if(!(c[(c[r>>2]|0)+12>>2]|0)){l=v;return}b=c[r>>2]|0;if(!(c[t>>2]|0)){u=c[c[b+12>>2]>>2]|0;t=(c[r>>2]|0)+20|0;w=c[t>>2]|0;c[t>>2]=w+1;c[p>>2]=d[u+w>>0];if(c[p>>2]&128|0){u=(c[r>>2]|0)+20|0;c[u>>2]=(c[u>>2]|0)+-1;u=VR((c[c[(c[r>>2]|0)+12>>2]>>2]|0)+(c[(c[r>>2]|0)+20>>2]|0)|0,p)|0;w=(c[r>>2]|0)+20|0;c[w>>2]=(c[w>>2]|0)+u}a[(c[r>>2]|0)+84>>0]=c[p>>2]&1;c[(c[r>>2]|0)+80>>2]=c[p>>2]>>1;l=v;return}if(c[b+4>>2]&1|0){AR(c[(c[r>>2]|0)+12>>2]|0);c[(c[r>>2]|0)+12>>2]=0;l=v;return}ZS(c[q>>2]|0,c[r>>2]|0,c[u>>2]|0);UR(c[q>>2]|0,c[r>>2]|0);if(!(c[s>>2]|0)){l=v;return}c[c[s>>2]>>2]=1;l=v;return}function WS(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;VR((c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0,b)|0;l=d;return c[b>>2]|0}function XS(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+16>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+4>>2];l=b;return}function YS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;e=c[(c[f>>2]|0)+16>>2]|0;c[j>>2]=e;if(e|0){c[k>>2]=g$((c[j>>2]|0)+40|0)|0;$S(c[f>>2]|0,c[j>>2]|0);c[c[g>>2]>>2]=(c[j>>2]|0)+40;c[c[h>>2]>>2]=(c[j>>2]|0)+40+((c[k>>2]|0)+1);c[c[i>>2]>>2]=(c[(c[j>>2]|0)+16>>2]|0)-(40+(c[k>>2]|0)+1);l=m;return}else{c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;c[c[i>>2]>>2]=0;l=m;return}}function ZS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[(c[f>>2]|0)+12>>2]>>2];c[i>>2]=c[(c[f>>2]|0)+20>>2];d=VR((c[h>>2]|0)+(c[i>>2]|0)|0,j)|0;c[i>>2]=(c[i>>2]|0)+d;if(((c[i>>2]|0)+(c[j>>2]|0)|0)>(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)){c[(c[e>>2]|0)+36>>2]=267;l=m;return}c[(c[f>>2]|0)+60+4>>2]=c[g>>2];bS((c[e>>2]|0)+36|0,(c[f>>2]|0)+60|0,c[j>>2]|0,(c[h>>2]|0)+(c[i>>2]|0)|0);c[i>>2]=(c[i>>2]|0)+(c[j>>2]|0);c[(c[f>>2]|0)+32>>2]=c[i>>2];c[(c[f>>2]|0)+28>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+20>>2]=c[i>>2];if((c[(c[f>>2]|0)+36>>2]|0)>=(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0))c[(c[f>>2]|0)+40>>2]=(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+1;else{i=VR((c[h>>2]|0)+(c[(c[f>>2]|0)+36>>2]|0)|0,k)|0;j=(c[f>>2]|0)+36|0;c[j>>2]=(c[j>>2]|0)+i;j=(c[f>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0)}_S(c[e>>2]|0,c[f>>2]|0);l=m;return}function _S(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+12>>2]>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];do if((c[g>>2]|0)>=(c[(c[(c[e>>2]|0)+12>>2]|0)+8>>2]|0)){_R(c[d>>2]|0,c[e>>2]|0);if(c[(c[e>>2]|0)+12>>2]|0){c[g>>2]=4;c[f>>2]=c[c[(c[e>>2]|0)+12>>2]>>2];break}if(c[(c[d>>2]|0)+36>>2]|0){l=h;return}c[(c[d>>2]|0)+36>>2]=267;l=h;return}while(0);f=(RR((c[f>>2]|0)+(c[g>>2]|0)|0,(c[e>>2]|0)+72|0)|0)&255;c[g>>2]=(c[g>>2]|0)+f;c[(c[e>>2]|0)+20>>2]=c[g>>2];l=h;return}function $S(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+12>>2]|0)){l=m;return}c[h>>2]=c[g>>2];b=c[g>>2]|0;do if((c[c[f>>2]>>2]|0)==1){if(a[b+24>>0]|0?(j=c[h>>2]|0,i=(c[g>>2]|0)+16|0,k=c[i>>2]|0,c[i>>2]=k+1,a[j+k>>0]=0,a[(c[g>>2]|0)+25>>0]|0):0){j=c[h>>2]|0;i=(c[g>>2]|0)+16|0;k=c[i>>2]|0;c[i>>2]=k+1;a[j+k>>0]=0}}else{c[i>>2]=(c[b+16>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0)-1;c[j>>2]=(c[i>>2]<<1)+(d[(c[g>>2]|0)+24>>0]|0);b=c[j>>2]|0;if((c[j>>2]|0)<=127){a[(c[h>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=b;break}else{c[k>>2]=aT(b)|0;k0((c[h>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+(c[k>>2]|0))|0,(c[h>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)|0,c[i>>2]|0)|0;j=c[j>>2]|0;ES((c[h>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)|0,j,((j|0)<0)<<31>>31)|0;j=(c[g>>2]|0)+16|0;c[j>>2]=(c[j>>2]|0)+((c[k>>2]|0)-1);break}}while(0);c[(c[g>>2]|0)+12>>2]=0;a[(c[g>>2]|0)+24>>0]=0;a[(c[g>>2]|0)+25>>0]=0;l=m;return}function aT(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;do if((c[d>>2]|0)>>>0>=16384){if((c[d>>2]|0)>>>0<2097152){c[b>>2]=3;break}if((c[d>>2]|0)>>>0<268435456){c[b>>2]=4;break}else{c[b>>2]=5;break}}else c[b>>2]=2;while(0);l=e;return c[b>>2]|0}function bT(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return}function cT(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=l;l=l+16|0;g=f+8|0;h=f+4|0;d=f;c[g>>2]=a;c[h>>2]=b;c[d>>2]=(c[h>>2]|0)+80+((e[(c[(c[h>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);if(c[(c[g>>2]|0)+36>>2]|0){h=0;h=h&1;l=f;return h|0}if(!(c[(c[d>>2]|0)+12>>2]|0)){h=0;h=h&1;l=f;return h|0}h=(c[(c[d>>2]|0)+80>>2]|0)==0;h=h&1;l=f;return h|0}function dT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(!(c[c[d>>2]>>2]|0)){c[f>>2]=pe(c[e>>2]|0)|0;if((c[f>>2]|0)==0&(c[e>>2]|0)>0){c[c[d>>2]>>2]=7;break}else{m0(c[f>>2]|0,0,c[e>>2]|0)|0;break}}while(0);l=g;return c[f>>2]|0}function eT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=c[e>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[(c[e>>2]|0)+16>>2]=c[c[f>>2]>>2];c[c[e>>2]>>2]=(c[c[f>>2]>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);fT(c[e>>2]|0);l=d;return}function fT(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;b=h;g=h+8|0;c[e>>2]=a;c[f>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[(c[e>>2]|0)+24>>2]|0)+(c[(c[e>>2]|0)+20>>2]|0);if((c[f>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0){f=0;g=c[e>>2]|0;g=g+16|0;c[g>>2]=f;l=h;return}a=(RR(c[f>>2]|0,b)|0)&255;c[f>>2]=(c[f>>2]|0)+a;a=(c[e>>2]|0)+8|0;i=a;b=_$(c[i>>2]|0,c[i+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=D;a=c[f>>2]|0;if((d[c[f>>2]>>0]|0)&128|0){i=VR(a,g)|0;c[(c[e>>2]|0)+24>>2]=i;c[(c[e>>2]|0)+20>>2]=c[g>>2]>>1}else{c[(c[e>>2]|0)+20>>2]=(d[a>>0]|0)>>1;c[(c[e>>2]|0)+24>>2]=1}g=c[f>>2]|0;i=c[e>>2]|0;i=i+16|0;c[i>>2]=g;l=h;return}function gT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+12|0;h=j+8|0;i=j;c[g>>2]=b;c[h>>2]=d;d=i;c[d>>2]=e;c[d+4>>2]=f;if(0?1:(c[i+4>>2]&2147483647|0)!=(c[(c[h>>2]|0)+4>>2]&2147483647|0)){f=c[c[g>>2]>>2]|0;d=(c[g>>2]|0)+4|0;e=c[d>>2]|0;c[d>>2]=e+1;a[f+e>>0]=1;e=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0;f=i;f=e0(c[f>>2]|0,c[f+4>>2]|0,32)|0;f=ES(e,f,D)|0;e=(c[g>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+f;e=c[i+4>>2]&2147483647;f=c[h>>2]|0;c[f>>2]=0;c[f+4>>2]=e}f=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0;d=i;e=c[h>>2]|0;e=Z$(c[d>>2]|0,c[d+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=_$(e|0,D|0,2,0)|0;e=ES(f,e,D)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+e;f=i;g=c[f+4>>2]|0;i=c[h>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=g;l=j;return}function hT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;h=i;c[f>>2]=a;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;if(((c[(c[g>>2]|0)+4>>2]|0)+9|0)>>>0>(c[(c[g>>2]|0)+8>>2]|0)>>>0?cS(c[f>>2]|0,c[g>>2]|0,9+(c[(c[g>>2]|0)+4>>2]|0)|0)|0:0){l=i;return}f=h;f=ES((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=(c[g>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+f;l=i;return}function iT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if((c[h>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){c[c[f>>2]>>2]=-1;l=j;return}else{d=c[h>>2]|0;h=d+((RR((c[c[e>>2]>>2]|0)+(c[h>>2]|0)|0,i)|0)&255)|0;c[c[f>>2]>>2]=h;h=i;i=c[g>>2]|0;g=i;h=_$(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[i>>2]=h;c[i+4>>2]=D;l=j;return}}function jT(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;c[a>>2]=(c[a>>2]|0)+1;l=b;return}function kT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;o=r+36|0;g=r+32|0;h=r+28|0;p=r+24|0;q=r+20|0;i=r+16|0;j=r+12|0;k=r+8|0;m=r+4|0;n=r;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[p>>2]=e;c[q>>2]=f;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=0;if((c[g>>2]|0)!=0?!(c[p>>2]&8|0):0){f=(c[q>>2]|0)+4|0;c[f>>2]=c[f>>2]|1;wT(c[(c[o>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,i,j)|0;c[k>>2]=c[g>>2];c[m>>2]=c[h>>2]}else{h=vT(c[(c[o>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[o>>2]|0)+36>>2]=h;YS(c[(c[o>>2]|0)+12>>2]|0,k,i,j);if(c[k>>2]|0)a=g$(c[k>>2]|0)|0;else a=0;c[m>>2]=a}do if(c[i>>2]|0){wR((c[o>>2]|0)+36|0,(c[q>>2]|0)+60|0,c[m>>2]|0,c[k>>2]|0);c[n>>2]=MS(c[o>>2]|0,12)|0;if(!(c[n>>2]|0)){l=r;return}c[c[n>>2]>>2]=c[i>>2];m=c[j>>2]|0;c[(c[n>>2]|0)+8>>2]=m;c[(c[n>>2]|0)+4>>2]=m;c[(c[q>>2]|0)+12>>2]=c[n>>2];m=(RR(c[c[n>>2]>>2]|0,(c[q>>2]|0)+72|0)|0)&255;c[(c[q>>2]|0)+20>>2]=m;c[(c[q>>2]|0)+40>>2]=c[(c[n>>2]|0)+4>>2];if(c[p>>2]&2|0){p=(c[q>>2]|0)+4|0;c[p>>2]=c[p>>2]|2;SR(c[o>>2]|0,c[q>>2]|0);break}else{UR(c[o>>2]|0,c[q>>2]|0);break}}while(0);SS(c[o>>2]|0,c[q>>2]|0);l=r;return}function lT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[(c[f>>2]|0)+4>>2]|0)){l=h;return}if(!(c[(c[e>>2]|0)+36>>2]|0)){a=c[g>>2]|0;b=a+88|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));SS(c[e>>2]|0,c[g>>2]|0);c[c[g>>2]>>2]=c[f>>2];c[(c[g>>2]|0)+8>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;_R(c[e>>2]|0,c[g>>2]|0)}if(c[(c[e>>2]|0)+36>>2]|0){l=h;return}c[(c[g>>2]|0)+20>>2]=4;c[(c[g>>2]|0)+36>>2]=(c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)+1;ZS(c[e>>2]|0,c[g>>2]|0,0);UR(c[e>>2]|0,c[g>>2]|0);l=h;return}function mT(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;p=t+44|0;q=t+40|0;r=t+36|0;s=t+32|0;h=t+28|0;i=t+24|0;j=t+20|0;k=t+16|0;m=t+12|0;n=t+8|0;o=t;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=1;c[k>>2]=c[s>>2]&8;c[m>>2]=0;c[n>>2]=0;a=c[i>>2]|0;b=a+88|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[i>>2]>>2]=c[h>>2];c[n>>2]=nT(c[p>>2]|0)|0;if(c[(c[p>>2]|0)+36>>2]|0){l=t;return}pJ(c[n>>2]|0,1,c[c[h>>2]>>2]|0)|0;lJ(c[n>>2]|0,2,c[q>>2]|0,c[r>>2]|0,0)|0;if(100==(Bs(c[n>>2]|0)|0)){f=iJ(c[n>>2]|0,0)|0;g=o;c[g>>2]=f;c[g+4>>2]=((f|0)<0)<<31>>31;g=o;g=e0(c[g>>2]|0,c[g+4>>2]|0,1)|0;c[j>>2]=g;c[m>>2]=c[o>>2]&1}o=ys(c[n>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=o;if((c[j>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)){c[j>>2]=c[(c[h>>2]|0)+4>>2];c[m>>2]=0}c[(c[i>>2]|0)+8>>2]=(c[j>>2]|0)-1;_R(c[p>>2]|0,c[i>>2]|0);if(c[(c[i>>2]|0)+12>>2]|0)oT(c[p>>2]|0,c[k>>2]|0,c[i>>2]|0,c[q>>2]|0,c[r>>2]|0);if(((c[k>>2]|0)==0?(c[(c[p>>2]|0)+36>>2]|0)==0:0)?(r=(c[i>>2]|0)+4|0,c[r>>2]=c[r>>2]|1,c[(c[i>>2]|0)+12>>2]|0):0){if(c[s>>2]&2|0){r=(c[i>>2]|0)+4|0;c[r>>2]=c[r>>2]|2}if(c[m>>2]|0)pT(c[p>>2]|0,c[i>>2]|0);if(c[s>>2]&2|0)qT(c[p>>2]|0,c[i>>2]|0)}SS(c[p>>2]|0,c[i>>2]|0);l=t;return}function nT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;e=f;b=f+12|0;d=f+8|0;c[b>>2]=a;if(c[(c[b>>2]|0)+60>>2]|0){e=c[b>>2]|0;e=e+60|0;e=c[e>>2]|0;l=f;return e|0}c[d>>2]=c[c[b>>2]>>2];g=c[b>>2]|0;a=(c[b>>2]|0)+60|0;h=c[(c[d>>2]|0)+8>>2]|0;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[e+4>>2]=h;uT(g,a,nf(47827,e)|0)|0;e=c[b>>2]|0;e=e+60|0;e=c[e>>2]|0;l=f;return e|0}function oT(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+80|0;x=z+68|0;u=z+64|0;y=z+60|0;v=z+56|0;k=z+52|0;m=z+48|0;n=z+44|0;A=z+40|0;o=z+36|0;h=z+32|0;p=z+28|0;q=z+24|0;r=z+20|0;w=z+16|0;s=z+12|0;i=z+8|0;j=z+4|0;t=z;c[x>>2]=a;c[u>>2]=b;c[y>>2]=e;c[v>>2]=f;c[k>>2]=g;c[n>>2]=c[c[(c[y>>2]|0)+12>>2]>>2];c[A>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+8>>2];c[o>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;c[p>>2]=0;c[q>>2]=0;c[s>>2]=0;c[w>>2]=c[A>>2];g=VR((c[n>>2]|0)+(c[w>>2]|0)|0,r)|0;c[w>>2]=(c[w>>2]|0)+g;c[m>>2]=c[r>>2];if((c[m>>2]|0)>(c[o>>2]|0)){c[(c[x>>2]|0)+36>>2]=267;l=z;return}while(1){g=c[n>>2]|0;A=c[m>>2]|0;c[m>>2]=A+1;c[q>>2]=d[g+A>>0];if(c[q>>2]&128|0){c[m>>2]=(c[m>>2]|0)+-1;A=VR((c[n>>2]|0)+(c[m>>2]|0)|0,q)|0;c[m>>2]=(c[m>>2]|0)+A}if((c[p>>2]|0)<(c[h>>2]|0)){a=24;break}if((c[p>>2]|0)==(c[h>>2]|0)){if((c[q>>2]|0)<((c[k>>2]|0)-(c[h>>2]|0)|0))a=c[q>>2]|0;else a=(c[k>>2]|0)-(c[h>>2]|0)|0;c[i>>2]=a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;if((d[(c[n>>2]|0)+((c[m>>2]|0)+(c[j>>2]|0))>>0]|0|0)!=(d[(c[v>>2]|0)+((c[h>>2]|0)+(c[j>>2]|0))>>0]|0|0))break;c[j>>2]=(c[j>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+(c[j>>2]|0);b=c[j>>2]|0;e=c[q>>2]|0;if((c[k>>2]|0)==(c[h>>2]|0)){a=15;break}if((b|0)<(e|0)?(d[(c[n>>2]|0)+((c[m>>2]|0)+(c[j>>2]|0))>>0]|0|0)>(d[(c[v>>2]|0)+(c[h>>2]|0)>>0]|0|0):0){a=24;break}}if((c[w>>2]|0)>=(c[o>>2]|0)){a=19;break}A=VR((c[n>>2]|0)+(c[w>>2]|0)|0,p)|0;c[w>>2]=(c[w>>2]|0)+A;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);c[m>>2]=c[r>>2];if((c[m>>2]|0)>=(c[o>>2]|0)){a=21;break}g=c[n>>2]|0;A=c[m>>2]|0;c[m>>2]=A+1;c[p>>2]=d[g+A>>0];if(!(c[p>>2]&128))continue;c[m>>2]=(c[m>>2]|0)+-1;A=VR((c[n>>2]|0)+(c[m>>2]|0)|0,p)|0;c[m>>2]=(c[m>>2]|0)+A}if((a|0)==15){if((b|0)!=(e|0))a=24}else if((a|0)==19){c[s>>2]=1;a=24}else if((a|0)==21){c[(c[x>>2]|0)+36>>2]=267;l=z;return}do if((a|0)==24){if(!(c[u>>2]|0)){AR(c[(c[y>>2]|0)+12>>2]|0);c[(c[y>>2]|0)+12>>2]=0;l=z;return}if(c[s>>2]|0){while(1){_R(c[x>>2]|0,c[y>>2]|0);if(!(c[(c[y>>2]|0)+12>>2]|0)){a=37;break}c[n>>2]=c[c[(c[y>>2]|0)+12>>2]>>2];if((c[(c[(c[y>>2]|0)+12>>2]|0)+8>>2]|0)>=(c[(c[(c[y>>2]|0)+12>>2]|0)+4>>2]|0)|0)continue;c[w>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+8>>2];A=VR((c[c[(c[y>>2]|0)+12>>2]>>2]|0)+(c[w>>2]|0)|0,m)|0;c[w>>2]=(c[w>>2]|0)+A;if((c[m>>2]|0)>=4?(c[m>>2]|0)<(c[(c[(c[y>>2]|0)+12>>2]|0)+8>>2]|0):0){a=32;break}c[(c[x>>2]|0)+36>>2]=267}if((a|0)==32){c[p>>2]=0;c[r>>2]=c[m>>2];c[o>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+4>>2];A=VR((c[n>>2]|0)+(c[m>>2]|0)|0,q)|0;c[m>>2]=(c[m>>2]|0)+A;break}else if((a|0)==37){l=z;return}}}while(0);c[(c[y>>2]|0)+20>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[(c[y>>2]|0)+32>>2]=c[(c[y>>2]|0)+20>>2];c[(c[y>>2]|0)+28>>2]=c[(c[y>>2]|0)+8>>2];wR((c[x>>2]|0)+36|0,(c[y>>2]|0)+60|0,c[p>>2]|0,c[v>>2]|0);bS((c[x>>2]|0)+36|0,(c[y>>2]|0)+60|0,c[q>>2]|0,(c[n>>2]|0)+(c[m>>2]|0)|0);if((c[w>>2]|0)>=(c[o>>2]|0)){a=(c[(c[(c[y>>2]|0)+12>>2]|0)+4>>2]|0)+1|0;b=c[y>>2]|0}else{a=VR((c[n>>2]|0)+(c[w>>2]|0)|0,t)|0;c[w>>2]=(c[w>>2]|0)+a;a=(c[r>>2]|0)+(c[t>>2]|0)|0;b=c[y>>2]|0}c[b+40>>2]=a;c[(c[y>>2]|0)+36>>2]=c[w>>2];_S(c[x>>2]|0,c[y>>2]|0);UR(c[x>>2]|0,c[y>>2]|0);l=z;return}function pT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;i=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[c[e>>2]>>2]>>2];c[g>>2]=c[(c[e>>2]|0)+4>>2]&2;c[i>>2]=c[(c[e>>2]|0)+12>>2];if((c[(c[e>>2]|0)+28>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)?(c[(c[e>>2]|0)+40>>2]|0)<(c[(c[i>>2]|0)+8>>2]|0):0){l=h;return}i=rT(c[d>>2]|0,c[g>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=i;l=h;return}function qT(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;u=w+68|0;v=w+64|0;o=w+60|0;t=w+56|0;p=w+52|0;q=w+48|0;r=w+44|0;s=w+40|0;e=w+36|0;f=w+32|0;g=w+28|0;h=w;i=w+24|0;j=w+20|0;k=w+16|0;m=w+12|0;n=w+8|0;c[u>>2]=a;c[v>>2]=b;c[o>>2]=c[(c[v>>2]|0)+56>>2];c[t>>2]=0;c[p>>2]=0;a=c[v>>2]|0;a:do if(!(c[o>>2]|0)){c[r>>2]=c[a+12>>2];if((c[(c[v>>2]|0)+28>>2]|0)==(c[(c[v>>2]|0)+8>>2]|0))c[s>>2]=c[(c[v>>2]|0)+32>>2];else c[s>>2]=4;c[e>>2]=(c[s>>2]|0)+9;do{o=c[c[r>>2]>>2]|0;q=c[s>>2]|0;c[s>>2]=q+1;if(!((d[o+q>>0]|0)&128))break}while((c[s>>2]|0)<(c[e>>2]|0));c[(c[v>>2]|0)+20>>2]=c[s>>2];if((c[(c[v>>2]|0)+40>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0)){c[g>>2]=c[c[v>>2]>>2];c[f>>2]=(c[(c[v>>2]|0)+8>>2]|0)+1;while(1){if(c[(c[u>>2]|0)+36>>2]|0)break a;if((c[f>>2]|0)>(c[(c[g>>2]|0)+8>>2]|0))break a;s=c[c[g>>2]>>2]|0;s=j0(s|0,((s|0)<0)<<31>>31|0,37)|0;s=_$(s|0,D|0,0,0)|0;s=_$(s|0,D|0,0,0)|0;r=c[f>>2]|0;r=_$(s|0,D|0,r|0,((r|0)<0)<<31>>31|0)|0;s=h;c[s>>2]=r;c[s+4>>2]=D;s=h;c[i>>2]=PR(c[u>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;if(c[i>>2]|0){c[j>>2]=(QR(c[c[i>>2]>>2]|0)|0)&65535;c[k>>2]=(c[(c[i>>2]|0)+8>>2]|0)>=(c[(c[i>>2]|0)+4>>2]|0)&1;if(c[j>>2]|0){c[m>>2]=c[i>>2];c[i>>2]=c[t>>2];c[t>>2]=c[m>>2];c[p>>2]=c[f>>2]}AR(c[i>>2]|0);if(!(c[k>>2]|0))break a}c[f>>2]=(c[f>>2]|0)+1}}}else{c[q>>2]=c[c[a>>2]>>2];c[p>>2]=KR(c[o>>2]|0)|0;r=c[u>>2]|0;q=c[q>>2]|0;q=j0(q|0,((q|0)<0)<<31>>31|0,37)|0;q=_$(q|0,D|0,0,0)|0;q=_$(q|0,D|0,0,0)|0;s=c[p>>2]|0;s=_$(q|0,D|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=PR(r,s,D)|0}while(0);if(!(c[t>>2]|0)){u=c[u>>2]|0;v=c[v>>2]|0;SR(u,v);l=w;return}AR(c[(c[v>>2]|0)+12>>2]|0);c[(c[v>>2]|0)+12>>2]=c[t>>2];c[(c[v>>2]|0)+8>>2]=c[p>>2];c[n>>2]=(QR(c[c[t>>2]>>2]|0)|0)&65535;a=(RR((c[c[t>>2]>>2]|0)+(c[n>>2]|0)|0,(c[v>>2]|0)+72|0)|0)&255;c[n>>2]=(c[n>>2]|0)+a;c[(c[v>>2]|0)+20>>2]=c[n>>2];a=c[t>>2]|0;if((c[(c[t>>2]|0)+8>>2]|0)>=(c[(c[t>>2]|0)+4>>2]|0)){a=(c[a+4>>2]|0)+1|0;b=c[v>>2]|0}else{a=WS(a)|0;b=c[v>>2]|0}c[b+40>>2]=a;u=c[u>>2]|0;v=c[v>>2]|0;SR(u,v);l=w;return}function rT(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;m=s+44|0;n=s+40|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;g=s+20|0;h=s+16|0;i=s+12|0;j=s;k=s+8|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=0;c[g>>2]=0;c[r>>2]=0;while(1){if(!((c[(c[m>>2]|0)+36>>2]|0)==0?(c[g>>2]|0)==0:0))break;c[h>>2]=40+(c[r>>2]<<5);c[i>>2]=Xf(c[q>>2]|0,c[h>>2]|0)|0;if(!(c[i>>2]|0))c[(c[m>>2]|0)+36>>2]=7;else{b=c[o>>2]|0;b=j0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=_$(b|0,D|0,0,16)|0;e=D;f=c[r>>2]|0;f=j0(f|0,((f|0)<0)<<31>>31|0,31)|0;f=_$(b|0,e|0,f|0,D|0)|0;e=c[p>>2]|0;e=_$(f|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=e;c[f+4>>2]=D;c[k>>2]=(c[i>>2]|0)+8+(c[r>>2]<<5);c[q>>2]=c[i>>2];f=c[k>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;f=j;f=PR(c[m>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[c[k>>2]>>2]=f;if(c[c[k>>2]>>2]|0?((d[c[c[c[k>>2]>>2]>>2]>>0]|0)&1|0)==0:0)c[g>>2]=1;c[c[q>>2]>>2]=(c[r>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}do if(!(c[(c[m>>2]|0)+36>>2]|0)){c[(c[q>>2]|0)+4>>2]=c[o>>2];if(!(c[n>>2]|0)){sT(c[q>>2]|0)|0;break}else{tT(c[m>>2]|0,c[q>>2]|0);break}}while(0);if(!(c[(c[m>>2]|0)+36>>2]|0)){r=c[q>>2]|0;l=s;return r|0}qS(c[q>>2]|0);c[q>>2]=0;r=c[q>>2]|0;l=s;return r|0}function sT(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;while(1){a=(c[b>>2]|0)+8|0;if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;ZR(a+(c[d>>2]<<5)|0)|0;c[d>>2]=(c[d>>2]|0)+1}l=e;return c[a+8>>2]|0}function tT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[c[e>>2]>>2]|0)-1;while(1){if(!((c[(c[d>>2]|0)+36>>2]|0)==0?(c[f>>2]|0)>=0:0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<5);do{}while(!(ZR(c[g>>2]|0)|0));c[(c[g>>2]|0)+8>>2]=0;if((c[f>>2]|0)>0){c[h>>2]=(c[g>>2]|0)+-32;AR(c[c[h>>2]>>2]|0);a=c[h>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;a=c[d>>2]|0;k=c[(c[e>>2]|0)+4>>2]|0;k=j0(k|0,((k|0)<0)<<31>>31|0,37)|0;k=_$(k|0,D|0,0,16)|0;b=D;j=(c[f>>2]|0)-1|0;j=j0(j|0,((j|0)<0)<<31>>31|0,31)|0;j=_$(k|0,b|0,j|0,D|0)|0;b=c[(c[g>>2]|0)+16>>2]|0;b=_$(j|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;b=PR(a,b,D)|0;c[c[h>>2]>>2]=b}c[f>>2]=(c[f>>2]|0)+-1}l=i;return}function uT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(!(c[(c[f>>2]|0)+36>>2]|0)){a=c[f>>2]|0;if(c[g>>2]|0){b=zv(c[c[a>>2]>>2]|0,c[g>>2]|0,-1,c[e>>2]|0,0)|0;a=c[f>>2]|0}else b=7;c[a+36>>2]=b}_d(c[g>>2]|0);l=h;return c[(c[f>>2]|0)+36>>2]|0}function vT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;d=yT(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0,(c[f>>2]|0)+16|0)|0;l=e;return d|0}function wT(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;p=o+4|0;h=o;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=xT(c[(c[i>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[h>>2]=c[(c[(c[i>>2]|0)+20>>2]|0)+(c[p>>2]<<2)>>2];while(1){if(!(c[h>>2]|0))break;if((H_((c[h>>2]|0)+40|0,c[j>>2]|0,c[k>>2]|0)|0)==0?(a[(c[h>>2]|0)+40+(c[k>>2]|0)>>0]|0)==0:0)break;c[h>>2]=c[c[h>>2]>>2]}if(c[h>>2]|0){$S(c[i>>2]|0,c[h>>2]|0);c[c[m>>2]>>2]=(c[h>>2]|0)+40+((c[k>>2]|0)+1);c[c[n>>2]>>2]=(c[(c[h>>2]|0)+16>>2]|0)-(40+(c[k>>2]|0)+1);l=o;return 0}else{c[c[m>>2]>>2]=0;c[c[n>>2]>>2]=0;l=o;return 0}return 0}function xT(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[k>>2]=e;c[i>>2]=13;c[h>>2]=(c[k>>2]|0)-1;while(1){a=c[i>>2]|0;if((c[h>>2]|0)<0)break;c[i>>2]=a<<3^c[i>>2]^(d[(c[g>>2]|0)+(c[h>>2]|0)>>0]|0);c[h>>2]=(c[h>>2]|0)+-1}l=j;return (a>>>0)%((c[f>>2]|0)>>>0)|0|0}function yT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+44|0;n=r+40|0;o=r+36|0;p=r+32|0;q=r+28|0;f=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r+24>>2]=32;c[c[q>>2]>>2]=0;c[f>>2]=pe(128)|0;if(!(c[f>>2]|0)){c[m>>2]=7;q=c[m>>2]|0;l=r;return q|0}a=c[f>>2]|0;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[j>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+(c[h>>2]<<2)>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[o>>2]|0)!=0?0!=(H_((c[j>>2]|0)+40|0,c[o>>2]|0,c[p>>2]|0)|0):0)){c[k>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=0;c[i>>2]=0;while(1){a=c[k>>2]|0;b=(c[f>>2]|0)+(c[i>>2]<<2)|0;if(!(c[(c[f>>2]|0)+(c[i>>2]<<2)>>2]|0))break;c[k>>2]=zT(a,c[b>>2]|0)|0;c[(c[f>>2]|0)+(c[i>>2]<<2)>>2]=0;c[i>>2]=(c[i>>2]|0)+1}c[b>>2]=a}c[j>>2]=c[c[j>>2]>>2]}c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=32)break;c[g>>2]=zT(c[g>>2]|0,c[(c[f>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+1}c[(c[n>>2]|0)+8>>2]=0;_d(c[f>>2]|0);c[c[q>>2]>>2]=c[g>>2];c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}function zT(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;n=k+24|0;m=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[n>>2]=b;c[m>>2]=e;c[f>>2]=c[n>>2];c[g>>2]=c[m>>2];c[h>>2]=0;c[i>>2]=h;while(1){if(!(c[f>>2]|0?1:(c[g>>2]|0)!=0))break;b=c[g>>2]|0;if(!(c[f>>2]|0)){c[c[i>>2]>>2]=b;c[g>>2]=0;continue}if(!b){c[c[i>>2]>>2]=c[f>>2];c[f>>2]=0;continue}c[j>>2]=0;while(1){if((a[(c[f>>2]|0)+40+(c[j>>2]|0)>>0]|0)!=(a[(c[g>>2]|0)+40+(c[j>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1}if((d[(c[f>>2]|0)+40+(c[j>>2]|0)>>0]|0)>(d[(c[g>>2]|0)+40+(c[j>>2]|0)>>0]|0)){c[c[i>>2]>>2]=c[g>>2];c[i>>2]=(c[g>>2]|0)+4;c[g>>2]=c[(c[g>>2]|0)+4>>2]}else{c[c[i>>2]>>2]=c[f>>2];c[i>>2]=(c[f>>2]|0)+4;c[f>>2]=c[(c[f>>2]|0)+4>>2]}c[c[i>>2]>>2]=0}l=k;return c[h>>2]|0}function AT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g+16|0;b=g+8|0;d=g+20|0;e=g;c[d>>2]=a;a=e;c[a>>2]=0;c[a+4>>2]=0;if(!(c[(c[d>>2]|0)+36>>2]|0)){if((c[(c[d>>2]|0)+68>>2]|0)==0?(h=c[d>>2]|0,a=(c[d>>2]|0)+68|0,c[f>>2]=c[(c[c[d>>2]>>2]|0)+4>>2],f=uT(h,a,nf(48195,f)|0)|0,c[(c[d>>2]|0)+36>>2]=f,c[(c[d>>2]|0)+36>>2]|0):0){f=b;c[f>>2]=0;c[f+4>>2]=0;f=b;h=f;h=c[h>>2]|0;f=f+4|0;f=c[f>>2]|0;D=f;l=g;return h|0}if(100==(Bs(c[(c[d>>2]|0)+68>>2]|0)|0)){f=jJ(c[(c[d>>2]|0)+68>>2]|0,0)|0;h=e;c[h>>2]=f;c[h+4>>2]=D}h=ys(c[(c[d>>2]|0)+68>>2]|0)|0;c[(c[d>>2]|0)+36>>2]=h}h=c[e+4>>2]|0;f=b;c[f>>2]=c[e>>2];c[f+4>>2]=h;f=b;h=f;h=c[h>>2]|0;f=f+4|0;f=c[f>>2]|0;D=f;l=g;return h|0}function BT(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[c[e>>2]>>2];c[i>>2]=PR(c[e>>2]|0,10,0)|0;if(c[(c[e>>2]|0)+36>>2]|0){i=c[f>>2]|0;l=j;return i|0}b=(c[c[i>>2]>>2]|0)+(c[(c[i>>2]|0)+4>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));d=CT(c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0,h,f)|0;c[(c[e>>2]|0)+36>>2]=d;if((c[(c[e>>2]|0)+36>>2]|0)==0?(c[(c[g>>2]|0)+64>>2]|0)!=(c[h>>2]|0):0){h=DT(c[g>>2]|0,c[h>>2]|0)|0;c[(c[e>>2]|0)+36>>2]=h}AR(c[i>>2]|0);if(!(c[(c[e>>2]|0)+36>>2]|0)){i=c[f>>2]|0;l=j;return i|0}jS(c[f>>2]|0);c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}function CT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;o=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;s=u+36|0;t=u+32|0;f=u+28|0;g=u+24|0;h=u+20|0;i=u+16|0;j=u+12|0;k=u+8|0;m=u+4|0;n=u;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=0;c[t>>2]=0;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;if(c[q>>2]|0){e=OT(c[o>>2]|0)|0;c[c[q>>2]>>2]=e}c[t>>2]=4;q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,g)|0;c[t>>2]=(c[t>>2]|0)+q;q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,h)|0;c[t>>2]=(c[t>>2]|0)+q;c[i>>2]=40+(((c[g>>2]|0)-1|0)*12|0);c[j>>2]=dT(s,c[i>>2]|0)|0;if(!(c[j>>2]|0)){q=c[j>>2]|0;t=c[r>>2]|0;c[t>>2]=q;t=c[s>>2]|0;l=u;return t|0}c[c[j>>2]>>2]=1;c[(c[j>>2]|0)+20>>2]=c[g>>2];c[(c[j>>2]|0)+16>>2]=c[h>>2];q=(RR((c[o>>2]|0)+(c[t>>2]|0)|0,(c[j>>2]|0)+8|0)|0)&255;c[t>>2]=(c[t>>2]|0)+q;c[f>>2]=0;while(1){if(c[s>>2]|0)break;if((c[f>>2]|0)>=(c[g>>2]|0))break;c[k>>2]=(c[j>>2]|0)+24+((c[f>>2]|0)*12|0);c[m>>2]=0;if((c[t>>2]|0)>=(c[p>>2]|0))c[s>>2]=267;else{q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,c[k>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+q;q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,m)|0;c[t>>2]=(c[t>>2]|0)+q;q=dT(s,(c[m>>2]|0)*12|0)|0;c[(c[k>>2]|0)+8>>2]=q}a:do if(!(c[s>>2]|0)){c[(c[k>>2]|0)+4>>2]=c[m>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break a;if((c[t>>2]|0)>=(c[p>>2]|0))break;q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,(c[(c[k>>2]|0)+8>>2]|0)+((c[n>>2]|0)*12|0)|0)|0;c[t>>2]=(c[t>>2]|0)+q;q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,(c[(c[k>>2]|0)+8>>2]|0)+((c[n>>2]|0)*12|0)+4|0)|0;c[t>>2]=(c[t>>2]|0)+q;q=VR((c[o>>2]|0)+(c[t>>2]|0)|0,(c[(c[k>>2]|0)+8>>2]|0)+((c[n>>2]|0)*12|0)+8|0)|0;c[t>>2]=(c[t>>2]|0)+q;c[n>>2]=(c[n>>2]|0)+1}c[s>>2]=267}while(0);c[f>>2]=(c[f>>2]|0)+1}if(!(c[s>>2]|0)){q=c[j>>2]|0;t=c[r>>2]|0;c[t>>2]=q;t=c[s>>2]|0;l=u;return t|0}jS(c[j>>2]|0);c[j>>2]=0;q=c[j>>2]|0;t=c[r>>2]|0;c[t>>2]=q;t=c[s>>2]|0;l=u;return t|0}function DT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+64|0;n=o+8|0;p=o;g=o+52|0;h=o+48|0;q=o+44|0;d=o+40|0;i=o+36|0;j=o+32|0;k=o+28|0;m=o+24|0;e=o+20|0;f=o+16|0;c[g>>2]=a;c[h>>2]=b;c[q>>2]=47911;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[(c[g>>2]|0)+68>>2]=4050;c[(c[g>>2]|0)+72>>2]=4;c[(c[g>>2]|0)+80>>2]=4;c[(c[g>>2]|0)+76>>2]=16;c[(c[g>>2]|0)+84>>2]=1048576;b=c[q>>2]|0;a=c[(c[g>>2]|0)+8>>2]|0;c[p>>2]=c[(c[g>>2]|0)+4>>2];c[p+4>>2]=a;c[d>>2]=ET(j,b,p)|0;if(c[d>>2]|0){c[j>>2]=zv(c[c[g>>2]>>2]|0,c[d>>2]|0,-1,i,0)|0;_d(c[d>>2]|0)}if(!(c[j>>2]|0)){while(1){q=100==(Bs(c[i>>2]|0)|0);a=c[i>>2]|0;if(!q)break;c[m>>2]=Cv(a,0)|0;c[e>>2]=kJ(c[i>>2]|0,1)|0;if(!(kl(c[m>>2]|0,47943)|0)){c[k>>2]=Qi(c[e>>2]|0)|0;continue}else{c[f>>2]=0;FT(c[g>>2]|0,c[m>>2]|0,c[e>>2]|0,f)|0;continue}}c[j>>2]=Fr(a)|0}if((c[j>>2]|0)==0&(c[k>>2]|0)!=4?(c[j>>2]=1,c[(c[g>>2]|0)+96>>2]|0):0){c[n>>2]=c[k>>2];c[n+4>>2]=4;q=nf(47951,n)|0;c[c[(c[g>>2]|0)+96>>2]>>2]=q}if(c[j>>2]|0){q=c[j>>2]|0;l=o;return q|0}c[(c[g>>2]|0)+64>>2]=c[h>>2];q=c[j>>2]|0;l=o;return q|0}function ET(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+24|0;f=i+20|0;g=i+16|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((c[c[e>>2]>>2]|0)==0?(c[h>>2]=d,c[g>>2]=vf(c[f>>2]|0,h)|0,(c[g>>2]|0)==0):0)c[c[e>>2]>>2]=7;l=i;return c[g>>2]|0}function FT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;f=t+24|0;g=t+20|0;h=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=0;if(!(kl(c[o>>2]|0,48016)|0)){c[s>>2]=0;if(1==(Ei(c[p>>2]|0)|0))c[s>>2]=Qi(c[p>>2]|0)|0;if((c[s>>2]|0)<=0|(c[s>>2]|0)>131072){c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}else{c[(c[n>>2]|0)+68>>2]=c[s>>2];s=c[r>>2]|0;l=t;return s|0}}if(!(kl(c[o>>2]|0,48021)|0)){c[f>>2]=-1;if(1==(Ei(c[p>>2]|0)|0))c[f>>2]=Qi(c[p>>2]|0)|0;if((c[f>>2]|0)<=0){c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}else{c[(c[n>>2]|0)+84>>2]=c[f>>2];s=c[r>>2]|0;l=t;return s|0}}if(!(kl(c[o>>2]|0,48030)|0)){c[g>>2]=-1;if(1==(Ei(c[p>>2]|0)|0))c[g>>2]=Qi(c[p>>2]|0)|0;if((c[g>>2]|0)<0|(c[g>>2]|0)>64){c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}if((c[g>>2]|0)==1)c[g>>2]=4;c[(c[n>>2]|0)+72>>2]=c[g>>2];s=c[r>>2]|0;l=t;return s|0}if(!(kl(c[o>>2]|0,48040)|0)){c[h>>2]=-1;if(1==(Ei(c[p>>2]|0)|0))c[h>>2]=Qi(c[p>>2]|0)|0;if((c[h>>2]|0)<2|(c[h>>2]|0)>16){c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}else{c[(c[n>>2]|0)+80>>2]=c[h>>2];s=c[r>>2]|0;l=t;return s|0}}if(!(kl(c[o>>2]|0,48050)|0)){c[i>>2]=-1;if(1==(Ei(c[p>>2]|0)|0))c[i>>2]=Qi(c[p>>2]|0)|0;if((c[i>>2]|0)<0){c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}if((c[i>>2]|0)<=1)c[i>>2]=16;c[(c[n>>2]|0)+76>>2]=c[i>>2];s=c[r>>2]|0;l=t;return s|0}if(kl(c[o>>2]|0,48062)|0){c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}c[j>>2]=Rh(c[p>>2]|0)|0;c[r>>2]=GT(c[j>>2]|0,k,m)|0;if(!(c[r>>2]|0)){_d(c[(c[n>>2]|0)+88>>2]|0);_d(c[(c[n>>2]|0)+92>>2]|0);c[(c[n>>2]|0)+88>>2]=c[k>>2];c[(c[n>>2]|0)+92>>2]=c[m>>2];s=c[r>>2]|0;l=t;return s|0}if((c[r>>2]|0)!=1){s=c[r>>2]|0;l=t;return s|0}c[r>>2]=0;c[c[q>>2]>>2]=1;s=c[r>>2]|0;l=t;return s|0}function GT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;p=o+32|0;k=o+28|0;m=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;n=o+8|0;j=o+4|0;f=o;c[p>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g>>2]=c[p>>2];c[i>>2]=0;c[n>>2]=0;c[j>>2]=0;c[c[k>>2]>>2]=0;c[c[m>>2]>>2]=0;do if(c[g>>2]|0){c[g>>2]=HT(c[g>>2]|0)|0;c[h>>2]=c[g>>2];c[g>>2]=IT(c[g>>2]|0)|0;if(c[g>>2]|0){c[i>>2]=dT(j,(c[g>>2]|0)+1-(c[h>>2]|0)|0)|0;if(c[i>>2]|0)h0(c[i>>2]|0,c[h>>2]|0,(c[g>>2]|0)-(c[h>>2]|0)|0)|0}else c[j>>2]=1;if(!(c[j>>2]|0)){c[g>>2]=HT(c[g>>2]|0)|0;if((a[c[g>>2]>>0]|0)!=40)c[j>>2]=1;c[g>>2]=(c[g>>2]|0)+1}if((c[j>>2]|0)==0?(c[g>>2]=HT(c[g>>2]|0)|0,c[f>>2]=c[g>>2],(a[c[g>>2]>>0]|0)!=41):0){c[g>>2]=JT(c[g>>2]|0)|0;if(!(c[g>>2]|0)){c[j>>2]=1;break}c[n>>2]=dT(j,(c[g>>2]|0)+1-(c[f>>2]|0)|0)|0;if(c[n>>2]|0)h0(c[n>>2]|0,c[f>>2]|0,(c[g>>2]|0)-(c[f>>2]|0)|0)|0}}else c[j>>2]=1;while(0);b=c[i>>2]|0;if(c[j>>2]|0){_d(b);p=c[j>>2]|0;l=o;return p|0}else{c[c[k>>2]>>2]=b;c[c[m>>2]>>2]=c[n>>2];p=c[j>>2]|0;l=o;return p|0}return 0}function HT(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=c[d>>2]|0;l=e;return f|0}while(1){if(!(NT(a[c[d>>2]>>0]|0)|0))break;c[d>>2]=(c[d>>2]|0)+1}f=c[d>>2]|0;l=e;return f|0}function IT(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[d>>2];while(1){g=(MT(a[c[e>>2]>>0]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if((b|0)!=(c[d>>2]|0)){g=c[e>>2]|0;l=f;return g|0}c[e>>2]=0;g=c[e>>2]|0;l=f;return g|0}function JT(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[f>>2];while(1){c[d>>2]=HT(c[d>>2]|0)|0;c[d>>2]=KT(c[d>>2]|0)|0;c[d>>2]=HT(c[d>>2]|0)|0;if(!(c[d>>2]|0)){b=7;break}if((a[c[d>>2]>>0]|0)==41){b=7;break}if((a[c[d>>2]>>0]|0)!=44){b=5;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==5){c[d>>2]=0;f=c[d>>2]|0;l=e;return f|0}else if((b|0)==7){f=c[d>>2]|0;l=e;return f|0}return 0}function KT(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=c[f>>2];switch(a[c[g>>2]>>0]|0){case 78:case 110:if(!(ld(23015,c[g>>2]|0,4)|0)){c[g>>2]=(c[g>>2]|0)+4;g=c[g>>2]|0;l=h;return g|0}else{c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}case 88:case 120:{c[g>>2]=(c[g>>2]|0)+1;if((a[c[g>>2]>>0]|0)!=39){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}c[g>>2]=(c[g>>2]|0)+1;while(1){if((a[c[g>>2]>>0]|0)>=97?(a[c[g>>2]>>0]|0)<=102:0)b=1;else e=9;do if((e|0)==9){e=0;if((a[c[g>>2]>>0]|0)>=65?(a[c[g>>2]>>0]|0)<=70:0){b=1;break}if((a[c[g>>2]>>0]|0)>=48)b=(a[c[g>>2]>>0]|0)<=57;else b=0}while(0);d=c[g>>2]|0;if(!b)break;c[g>>2]=d+1}if((a[d>>0]|0)==39?0==(((c[g>>2]|0)-(c[f>>2]|0)|0)%2|0|0):0){c[g>>2]=(c[g>>2]|0)+1;g=c[g>>2]|0;l=h;return g|0}c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}case 39:{c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(c[g>>2]|0)){e=37;break}if((a[c[g>>2]>>0]|0)==39?(c[g>>2]=(c[g>>2]|0)+1,(a[c[g>>2]>>0]|0)!=39):0){e=37;break}f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[g>>2]=(a[c[g>>2]>>0]|0)==0?0:f}if((e|0)==37){g=c[g>>2]|0;l=h;return g|0}break}default:{if(!((a[c[g>>2]>>0]|0)!=43?(a[c[g>>2]>>0]|0)!=45:0))c[g>>2]=(c[g>>2]|0)+1;while(1){e=(LT(a[c[g>>2]>>0]|0)|0)!=0;b=c[g>>2]|0;if(!e)break;c[g>>2]=b+1}a:do if((a[b>>0]|0)==46?LT(a[(c[g>>2]|0)+1>>0]|0)|0:0){c[g>>2]=(c[g>>2]|0)+2;while(1){if(!(LT(a[c[g>>2]>>0]|0)|0))break a;c[g>>2]=(c[g>>2]|0)+1}}while(0);if((c[g>>2]|0)!=(c[f>>2]|0)){g=c[g>>2]|0;l=h;return g|0}c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}}return 0}function LT(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;if((a[c>>0]|0)>=48)b=(a[c>>0]|0)<=57;else b=0;l=d;return b&1|0}function MT(b){b=b|0;var c=0,e=0,f=0,g=0,h=0;h=l;l=l+144|0;f=h+128|0;g=h;a[f>>0]=b;b=g;c=48067;e=b+128|0;do{a[b>>0]=a[c>>0]|0;b=b+1|0;c=c+1|0}while((b|0)<(e|0));if(a[f>>0]&128|0){g=1;g=g&1;l=h;return g|0}g=(d[g+(a[f>>0]|0)>>0]|0)!=0;g=g&1;l=h;return g|0}function NT(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;l=d;return (a[c>>0]|0)==32|0}function OT(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return ((d[c[b>>2]>>0]|0)<<24)+((d[(c[b>>2]|0)+1>>0]|0)<<16)+((d[(c[b>>2]|0)+2>>0]|0)<<8)+(d[(c[b>>2]|0)+3>>0]|0)|0}function PT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;j=g+20|0;k=g;h=g+16|0;i=g+12|0;f=g+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;e=k;c[i>>2]=QT(c[j>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[f>>2]=c[c[i>>2]>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+12>>2];l=g;return c[(c[f>>2]|0)+16>>2]|0}function QT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=c[(c[h>>2]|0)+44>>2];while(1){if(!(c[f>>2]|0)){a=5;break}d=(c[f>>2]|0)+16|0;h=e;if((c[d>>2]|0)==(c[h>>2]|0)?(c[d+4>>2]|0)==(c[h+4>>2]|0):0){a=5;break}c[f>>2]=c[(c[f>>2]|0)+4>>2]}if((a|0)==5){l=g;return c[f>>2]|0}return 0}function RT(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+80|0;z=A;v=A+76|0;w=A+72|0;x=A+68|0;y=A+64|0;h=A+60|0;i=A+56|0;j=A+48|0;k=A+40|0;m=A+36|0;n=A+32|0;o=A+28|0;p=A+24|0;q=A+20|0;r=A+16|0;s=A+12|0;t=A+8|0;u=A+4|0;c[v>>2]=a;c[w>>2]=b;c[x>>2]=d;c[y>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[2191];c[j+4>>2]=c[2192];c[k>>2]=0;c[m>>2]=0;if((c[x>>2]|0)==6?(g$(c[(c[y>>2]|0)+4>>2]|0)|0)==4:0)a=(H_(42437,c[(c[y>>2]|0)+4>>2]|0,4)|0)==0;else a=0;c[n>>2]=a&1;if((c[x>>2]|0)!=5&(c[n>>2]|0)==0){y=nf(48295,z)|0;c[c[i>>2]>>2]=y;c[m>>2]=1;y=c[k>>2]|0;z=c[h>>2]|0;c[z>>2]=y;z=c[m>>2]|0;l=A;return z|0}c[p>>2]=c[(c[y>>2]|0)+((c[n>>2]|0?3:1)<<2)>>2];c[q>>2]=c[(c[y>>2]|0)+((c[n>>2]|0?4:3)<<2)>>2];c[r>>2]=c[(c[y>>2]|0)+((c[n>>2]|0?5:4)<<2)>>2];c[s>>2]=(g$(c[p>>2]|0)|0)+1;c[t>>2]=(g$(c[q>>2]|0)|0)+1;c[u>>2]=0;c[m>>2]=ST(c[r>>2]|0,c[i>>2]|0,u)|0;if(!(c[m>>2]|0))c[m>>2]=MJ(c[v>>2]|0,c[j+(c[u>>2]<<2)>>2]|0)|0;c[o>>2]=32+(c[s>>2]|0)+(c[t>>2]|0);c[k>>2]=dT(m,c[o>>2]|0)|0;if(!(c[k>>2]|0)){y=c[k>>2]|0;z=c[h>>2]|0;c[z>>2]=y;z=c[m>>2]|0;l=A;return z|0}c[(c[k>>2]|0)+24>>2]=c[w>>2];c[(c[k>>2]|0)+28>>2]=c[u>>2];c[(c[k>>2]|0)+20>>2]=c[v>>2];c[(c[k>>2]|0)+12>>2]=(c[k>>2]|0)+32;c[(c[k>>2]|0)+16>>2]=(c[(c[k>>2]|0)+12>>2]|0)+(c[t>>2]|0);h0(c[(c[k>>2]|0)+12>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;h0(c[(c[k>>2]|0)+16>>2]|0,c[p>>2]|0,c[s>>2]|0)|0;TT(c[(c[k>>2]|0)+12>>2]|0);TT(c[(c[k>>2]|0)+16>>2]|0);y=c[k>>2]|0;z=c[h>>2]|0;c[z>>2]=y;z=c[m>>2]|0;l=A;return z|0}function ST(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;i=j;k=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=VT(g,c[k>>2]|0,-1)|0;if(c[g>>2]|0){k=c[g>>2]|0;l=j;return k|0}TT(c[h>>2]|0);do if(kl(c[h>>2]|0,48328)|0)if(!(kl(c[h>>2]|0,48332)|0)){c[c[f>>2]>>2]=1;break}else{c[i>>2]=c[h>>2];k=nf(48336,i)|0;c[c[e>>2]>>2]=k;c[g>>2]=1;break}else c[c[f>>2]>>2]=0;while(0);_d(c[h>>2]|0);k=c[g>>2]|0;l=j;return k|0}function TT(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;f=e+4|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if((((a[f>>0]|0)!=91?(a[f>>0]|0)!=39:0)?(a[f>>0]|0)!=34:0)?(a[f>>0]|0)!=96:0){l=e;return}UT(c[d>>2]|0)|0;l=e;return}function UT(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;f=k+8|0;g=k+12|0;h=k+4|0;i=k;c[f>>2]=b;c[h>>2]=1;c[i>>2]=0;e=a[c[f>>2]>>0]|0;a[g>>0]=e;a[g>>0]=(a[g>>0]|0)==91?93:e;while(1){if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){j=9;break}d=c[f>>2]|0;b=c[h>>2]|0;e=b+1|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)==(a[g>>0]|0)){b=c[h>>2]|0;if((a[d+e>>0]|0)!=(a[g>>0]|0))break;c[h>>2]=b+2;b=a[g>>0]|0;e=c[f>>2]|0;d=c[i>>2]|0;c[i>>2]=d+1;d=e+d|0}else{c[h>>2]=e;b=a[d+b>>0]|0;e=c[f>>2]|0;d=c[i>>2]|0;c[i>>2]=d+1;d=e+d|0}a[d>>0]=b}if((j|0)==9){g=c[f>>2]|0;j=c[i>>2]|0;j=g+j|0;a[j>>0]=0;j=c[h>>2]|0;l=k;return j|0}c[h>>2]=b+1;g=c[f>>2]|0;j=c[i>>2]|0;j=g+j|0;a[j>>0]=0;j=c[h>>2]|0;l=k;return j|0}function VT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;if(c[c[f>>2]>>2]|0){i=c[i>>2]|0;l=j;return i|0}if((c[h>>2]|0)<0)c[h>>2]=g$(c[g>>2]|0)|0;c[i>>2]=pe((c[h>>2]|0)+1|0)|0;if(c[i>>2]|0){h0(c[i>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[i>>2]|0)+(c[h>>2]|0)>>0]=0;i=c[i>>2]|0;l=j;return i|0}else{c[c[f>>2]>>2]=7;i=c[i>>2]|0;l=j;return i|0}return 0}function WT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[o+28>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;if((c[j>>2]|0)%2|0|0){c[m>>2]=1;n=c[m>>2]|0;l=o;return n|0}c[n>>2]=pe(148)|0;a:do if(c[n>>2]|0){m0(c[n>>2]|0,0,148)|0;b=c[n>>2]|0;d=48672;e=b+128|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));c[(c[n>>2]|0)+136>>2]=1;c[(c[n>>2]|0)+132>>2]=64;f=pe(c[(c[n>>2]|0)+132>>2]|0)|0;c[(c[n>>2]|0)+128>>2]=f;if(!(c[(c[n>>2]|0)+128>>2]|0))c[m>>2]=7;c[g>>2]=0;while(1){if(c[m>>2]|0)break a;if((c[g>>2]|0)>=(c[j>>2]|0))break a;c[h>>2]=c[(c[i>>2]|0)+((c[g>>2]|0)+1<<2)>>2];do if(kl(c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,48923)|0){if(!(kl(c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,48800)|0)){c[m>>2]=AU(c[n>>2]|0,c[h>>2]|0,1)|0;break}if(!(kl(c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,48811)|0)){c[m>>2]=AU(c[n>>2]|0,c[h>>2]|0,0)|0;break}else{c[m>>2]=1;break}}else{if((a[c[h>>2]>>0]|0)!=48?(a[c[h>>2]>>0]|0)!=49:0)b=13;else b=12;if((b|0)==12?(b=0,a[(c[h>>2]|0)+1>>0]|0):0)b=13;if((b|0)==13)c[m>>2]=1;c[(c[n>>2]|0)+136>>2]=(a[c[h>>2]>>0]|0)==49&1}while(0);c[g>>2]=(c[g>>2]|0)+2}}else c[m>>2]=7;while(0);if(c[m>>2]|0){XT(c[n>>2]|0);c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];n=c[m>>2]|0;l=o;return n|0}function XT(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=c[b>>2];_d(c[(c[d>>2]|0)+144>>2]|0);_d(c[(c[d>>2]|0)+128>>2]|0);_d(c[d>>2]|0);l=e;return}function YT(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+80|0;C=A+68|0;x=A+64|0;y=A+56|0;B=A+52|0;j=A+48|0;k=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;t=A+12|0;u=A+8|0;v=A+4|0;w=A;c[C>>2]=b;c[x>>2]=e;c[A+60>>2]=f;c[y>>2]=g;c[B>>2]=h;c[j>>2]=i;c[k>>2]=c[C>>2];c[m>>2]=0;c[n>>2]=c[k>>2];c[o>>2]=(c[y>>2]|0)+(c[B>>2]|0);c[p>>2]=c[y>>2];c[q>>2]=c[(c[k>>2]|0)+128>>2];c[r>>2]=c[(c[k>>2]|0)+132>>2];c[s>>2]=(c[q>>2]|0)+((c[r>>2]|0)-6);a:while(1){if(c[m>>2]|0)break;c[u>>2]=c[q>>2];while(1){if((c[p>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break a;if(!(d[c[p>>2]>>0]&128)){b=c[p>>2]|0;if(a[(c[n>>2]|0)+(d[c[p>>2]>>0]|0)>>0]|0){z=18;break}c[p>>2]=b+1;continue}c[v>>2]=(c[p>>2]|0)-(c[y>>2]|0);C=c[p>>2]|0;c[p>>2]=C+1;c[t>>2]=d[C>>0];do if((c[t>>2]|0)>=192){c[t>>2]=d[22127+((c[t>>2]|0)-192)>>0];while(1){if((c[p>>2]|0)!=(c[o>>2]|0))b=(d[c[p>>2]>>0]&192|0)==128;else b=0;e=c[t>>2]|0;if(!b)break;C=c[p>>2]|0;c[p>>2]=C+1;c[t>>2]=(e<<6)+(63&d[C>>0])}if(((e|0)>=128?(c[t>>2]&-2048|0)!=55296:0)?(c[t>>2]&-2|0)!=65534:0)break;c[t>>2]=65533}while(0);if(uU(c[k>>2]|0,c[t>>2]|0)|0){z=37;break}}if((z|0)==18){c[v>>2]=b-(c[y>>2]|0);z=46}while(1){do if((z|0)==37){z=0;c[t>>2]=wU(c[t>>2]|0,c[(c[k>>2]|0)+136>>2]|0)|0;if(c[t>>2]|0){b=c[t>>2]|0;if((c[t>>2]|0)<128){C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=b;break}e=c[t>>2]|0;if((b|0)<2048){B=c[u>>2]|0;c[u>>2]=B+1;a[B>>0]=192+(e>>6&31);B=128+(c[t>>2]&63)&255;C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=B;break}b=c[t>>2]|0;if((e|0)<65536){C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=224+(b>>12&15);C=128+(c[t>>2]>>6&63)&255;B=c[u>>2]|0;c[u>>2]=B+1;a[B>>0]=C;B=128+(c[t>>2]&63)&255;C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=B;break}else{B=c[u>>2]|0;c[u>>2]=B+1;a[B>>0]=240+(b>>18&7);B=128+(c[t>>2]>>12&63)&255;C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=B;C=128+(c[t>>2]>>6&63)&255;B=c[u>>2]|0;c[u>>2]=B+1;a[B>>0]=C;B=128+(c[t>>2]&63)&255;C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=B;break}}}else if((z|0)==46){z=0;if((d[c[p>>2]>>0]|0)>=65?(d[c[p>>2]>>0]|0)<=90:0){B=(d[c[p>>2]>>0]|0)+32&255;C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=B}else{B=a[c[p>>2]>>0]|0;C=c[u>>2]|0;c[u>>2]=C+1;a[C>>0]=B}c[p>>2]=(c[p>>2]|0)+1}while(0);c[w>>2]=(c[p>>2]|0)-(c[y>>2]|0);if((c[p>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;if((c[u>>2]|0)>>>0>(c[s>>2]|0)>>>0){c[q>>2]=pe(c[r>>2]<<1)|0;if(!(c[q>>2]|0)){z=22;break a}c[u>>2]=(c[q>>2]|0)+((c[u>>2]|0)-(c[(c[k>>2]|0)+128>>2]|0));h0(c[q>>2]|0,c[(c[k>>2]|0)+128>>2]|0,c[r>>2]|0)|0;_d(c[(c[k>>2]|0)+128>>2]|0);c[(c[k>>2]|0)+128>>2]=c[q>>2];C=c[r>>2]<<1;c[r>>2]=C;c[(c[k>>2]|0)+132>>2]=C;c[s>>2]=(c[q>>2]|0)+((c[r>>2]|0)-6)}if(!(d[c[p>>2]>>0]&128))if(!(d[(c[n>>2]|0)+(d[c[p>>2]>>0]|0)>>0]|0))break;else{z=46;continue}C=c[p>>2]|0;c[p>>2]=C+1;c[t>>2]=d[C>>0];do if((c[t>>2]|0)>=192){c[t>>2]=d[22127+((c[t>>2]|0)-192)>>0];while(1){if((c[p>>2]|0)!=(c[o>>2]|0))e=(d[c[p>>2]>>0]&192|0)==128;else e=0;b=c[t>>2]|0;if(!e)break;C=c[p>>2]|0;c[p>>2]=C+1;c[t>>2]=(b<<6)+(63&d[C>>0])}if(((b|0)>=128?(c[t>>2]&-2048|0)!=55296:0)?(c[t>>2]&-2|0)!=65534:0)break;c[t>>2]=65533}while(0);if(uU(c[k>>2]|0,c[t>>2]|0)|0){z=37;continue}if(vU(c[t>>2]|0)|0)z=37;else break}c[m>>2]=Gb[c[j>>2]&255](c[x>>2]|0,0,c[q>>2]|0,(c[u>>2]|0)-(c[q>>2]|0)|0,c[v>>2]|0,c[w>>2]|0)|0}if((z|0)==22)c[m>>2]=7;if((c[m>>2]|0)!=101){C=c[m>>2]|0;l=A;return C|0}c[m>>2]=0;C=c[m>>2]|0;l=A;return C|0}function ZT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[o+28>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;do if(!((c[j>>2]|0)%2|0|0)){c[n>>2]=pe(128)|0;if(!(c[n>>2]|0)){c[m>>2]=7;break}b=c[n>>2]|0;e=b+128|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));b=c[n>>2]|0;d=48672;e=b+128|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));c[g>>2]=0;while(1){if(c[m>>2]|0)break;if((c[g>>2]|0)>=(c[j>>2]|0))break;c[h>>2]=c[(c[i>>2]|0)+((c[g>>2]|0)+1<<2)>>2];do if(kl(c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,48800)|0)if(!(kl(c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,48811)|0)){tU(c[n>>2]|0,c[h>>2]|0,0);break}else{c[m>>2]=1;break}else tU(c[n>>2]|0,c[h>>2]|0,1);while(0);c[g>>2]=(c[g>>2]|0)+2}if(c[m>>2]|0){_T(c[n>>2]|0);c[n>>2]=0}}else c[m>>2]=1;while(0);c[c[k>>2]>>2]=c[n>>2];l=o;return c[m>>2]|0}function _T(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return}function $T(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=l;l=l+128|0;z=x+52|0;u=x+48|0;v=x+40|0;j=x+36|0;k=x+32|0;y=x+28|0;m=x+24|0;n=x+20|0;o=x+16|0;p=x+56|0;q=x+12|0;r=x+8|0;s=x+4|0;t=x;c[z>>2]=b;c[u>>2]=e;c[x+44>>2]=f;c[v>>2]=g;c[j>>2]=h;c[k>>2]=i;c[y>>2]=c[z>>2];c[m>>2]=0;c[o>>2]=0;c[q>>2]=64;c[r>>2]=p;c[s>>2]=c[y>>2];while(1){if(!((c[o>>2]|0)<(c[j>>2]|0)?(c[m>>2]|0)==0:0))break;while(1){if((c[o>>2]|0)<(c[j>>2]|0)?(a[(c[v>>2]|0)+(c[o>>2]|0)>>0]&128|0)==0:0)b=(d[(c[s>>2]|0)+(a[(c[v>>2]|0)+(c[o>>2]|0)>>0]|0)>>0]|0)==0;else b=0;e=c[o>>2]|0;if(!b)break;c[o>>2]=e+1}if((e|0)==(c[j>>2]|0))break;c[n>>2]=(c[o>>2]|0)+1;while(1){if((c[n>>2]|0)<(c[j>>2]|0))if(a[(c[v>>2]|0)+(c[n>>2]|0)>>0]&128|0)b=1;else b=(d[(c[s>>2]|0)+(a[(c[v>>2]|0)+(c[n>>2]|0)>>0]|0)>>0]|0)!=0;else b=0;e=c[n>>2]|0;if(!b)break;c[n>>2]=e+1}c[t>>2]=e-(c[o>>2]|0);if((c[t>>2]|0)>(c[q>>2]|0)){if((c[r>>2]|0)!=(p|0))_d(c[r>>2]|0);c[r>>2]=pe(c[t>>2]<<1)|0;if(!(c[r>>2]|0)){w=19;break}c[q>>2]=c[t>>2]<<1}sU(c[r>>2]|0,(c[v>>2]|0)+(c[o>>2]|0)|0,c[t>>2]|0);c[m>>2]=Gb[c[k>>2]&255](c[u>>2]|0,0,c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,c[n>>2]|0)|0;c[o>>2]=(c[n>>2]|0)+1}if((w|0)==19)c[m>>2]=7;if((c[r>>2]|0)!=(p|0))_d(c[r>>2]|0);if((c[m>>2]|0)!=101){z=c[m>>2]|0;l=x;return z|0}c[m>>2]=0;z=c[m>>2]|0;l=x;return z|0}function aU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+40|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;f=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;c[r>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=c[r>>2];c[p>>2]=0;c[g>>2]=0;c[h>>2]=42586;if((c[m>>2]|0)>0)c[h>>2]=c[c[k>>2]>>2];c[f>>2]=pe(144)|0;if(c[f>>2]|0){m0(c[f>>2]|0,0,144)|0;c[p>>2]=Kb[c[(c[o>>2]|0)+8>>2]&255](c[o>>2]|0,c[h>>2]|0,g,c[f>>2]|0)|0}else c[p>>2]=7;if(!(c[p>>2]|0)){c[i>>2]=(c[m>>2]|0)>0?(c[m>>2]|0)-1|0:0;c[j>>2]=c[i>>2]|0?(c[k>>2]|0)+4|0:0;c[p>>2]=Kb[c[c[f>>2]>>2]&255](c[g>>2]|0,c[j>>2]|0,c[i>>2]|0,(c[f>>2]|0)+12|0)|0}if(!(c[p>>2]|0)){o=c[f>>2]|0;r=c[n>>2]|0;c[r>>2]=o;r=c[p>>2]|0;l=q;return r|0}bU(c[f>>2]|0);c[f>>2]=0;o=c[f>>2]|0;r=c[n>>2]|0;c[r>>2]=o;r=c[p>>2]|0;l=q;return r|0}function bU(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=c[b>>2];if(c[(c[d>>2]|0)+12>>2]|0)Eb[c[(c[d>>2]|0)+4>>2]&255](c[(c[d>>2]|0)+12>>2]|0);_d(c[d>>2]|0);l=e;return}function cU(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;q=h+36|0;o=h+32|0;k=h+28|0;j=h+24|0;i=h+20|0;p=h+16|0;n=h+12|0;m=h;c[q>>2]=a;c[o>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[p>>2]=g;c[n>>2]=c[q>>2];c[m+4>>2]=c[p>>2];c[m>>2]=c[o>>2];c[m+8>>2]=(c[n>>2]|0)+16;g=Gb[c[(c[n>>2]|0)+8>>2]&255](c[(c[n>>2]|0)+12>>2]|0,m,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,148)|0;l=h;return g|0}function dU(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;q=t+36|0;u=t+32|0;r=t+28|0;s=t+24|0;i=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;p=t+40|0;c[u>>2]=b;c[r>>2]=d;c[s>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=c[u>>2];b=c[m>>2]|0;if((c[i>>2]|0)>64|(c[i>>2]|0)<3){c[q>>2]=Gb[c[b+4>>2]&255](c[c[m>>2]>>2]|0,c[r>>2]|0,c[s>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;u=c[q>>2]|0;l=t;return u|0}c[n>>2]=c[b+8>>2];c[o>>2]=c[i>>2];h0(c[n>>2]|0,c[s>>2]|0,c[o>>2]|0)|0;eU(c[n>>2]|0,o);do if(fU(c[n>>2]|0,o)|0?(gU(c[n>>2]|0,o)|0)==0:0){a[p>>0]=a[(c[n>>2]|0)+((c[o>>2]|0)-1)>>0]|0;if(((((hU(a[p>>0]|0,0)|0)==0?(a[p>>0]|0)!=108:0)?(a[p>>0]|0)!=115:0)?(a[p>>0]|0)!=122:0)?(a[p>>0]|0)==(a[(c[n>>2]|0)+((c[o>>2]|0)-2)>>0]|0):0){c[o>>2]=(c[o>>2]|0)+-1;break}if(iU(c[n>>2]|0,c[o>>2]|0)|0?jU(c[n>>2]|0,c[o>>2]|0)|0:0){s=c[n>>2]|0;u=c[o>>2]|0;c[o>>2]=u+1;a[s+u>>0]=101}}while(0);if((a[(c[n>>2]|0)+((c[o>>2]|0)-1)>>0]|0)==121?kU(c[n>>2]|0,(c[o>>2]|0)-1|0)|0:0)a[(c[n>>2]|0)+((c[o>>2]|0)-1)>>0]=105;lU(c[n>>2]|0,o)|0;mU(c[n>>2]|0,o)|0;nU(c[n>>2]|0,o)|0;do if((a[(c[n>>2]|0)+((c[o>>2]|0)-1)>>0]|0)==101){if(!(oU(c[n>>2]|0,(c[o>>2]|0)-1|0)|0)){if(!(iU(c[n>>2]|0,(c[o>>2]|0)-1|0)|0))break;if(jU(c[n>>2]|0,(c[o>>2]|0)-1|0)|0)break}c[o>>2]=(c[o>>2]|0)+-1}while(0);if((((c[o>>2]|0)>1?(a[(c[n>>2]|0)+((c[o>>2]|0)-1)>>0]|0)==108:0)?(a[(c[n>>2]|0)+((c[o>>2]|0)-2)>>0]|0)==108:0)?oU(c[n>>2]|0,(c[o>>2]|0)-1|0)|0:0)c[o>>2]=(c[o>>2]|0)+-1;c[q>>2]=Gb[c[(c[m>>2]|0)+4>>2]&255](c[c[m>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;u=c[q>>2]|0;l=t;return u|0}function eU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[f>>2]>>2];if((a[(c[e>>2]|0)+((c[g>>2]|0)-1)>>0]|0)!=115){l=i;return}if((a[(c[e>>2]|0)+((c[g>>2]|0)-2)>>0]|0)!=101){if((a[(c[e>>2]|0)+((c[g>>2]|0)-2)>>0]|0)==115){l=i;return}c[c[f>>2]>>2]=(c[g>>2]|0)-1;l=i;return}if(!(((c[g>>2]|0)>4?(a[(c[e>>2]|0)+((c[g>>2]|0)-4)>>0]|0)==115:0)?(a[(c[e>>2]|0)+((c[g>>2]|0)-3)>>0]|0)==115:0))h=6;do if((h|0)==6){if((c[g>>2]|0)>3?(a[(c[e>>2]|0)+((c[g>>2]|0)-3)>>0]|0)==105:0)break;c[c[f>>2]>>2]=(c[g>>2]|0)-1;l=i;return}while(0);c[c[f>>2]>>2]=(c[g>>2]|0)-2;l=i;return}function fU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[c[f>>2]>>2];a:do switch(a[(c[e>>2]|0)+((c[h>>2]|0)-2)>>0]|0){case 101:{if((c[h>>2]|0)>3?0==(H_(48661,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-3)|0;a[e>>0]=a[47220]|0;a[e+1>>0]=a[47221]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-3+2;break a}if(((c[h>>2]|0)>2?0==(H_(48665,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0)?kU(c[e>>2]|0,(c[h>>2]|0)-2|0)|0:0){c[c[f>>2]>>2]=(c[h>>2]|0)-2;c[g>>2]=1}break}case 110:{if(((c[h>>2]|0)>3?0==(H_(48668,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?kU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0){c[c[f>>2]>>2]=(c[h>>2]|0)-3;c[g>>2]=1}break}default:{}}while(0);l=i;return c[g>>2]|0}function gU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[c[f>>2]>>2];switch(a[(c[e>>2]|0)+((c[h>>2]|0)-2)>>0]|0){case 97:{if((c[h>>2]|0)>2?0==(H_(48652,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0){e=(c[e>>2]|0)+((c[h>>2]|0)-2)|0;a[e>>0]=a[47233]|0;a[e+1>>0]=a[47234]|0;a[e+2>>0]=a[47235]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-2+3;c[g>>2]=1}break}case 98:{if((c[h>>2]|0)>2?0==(H_(48655,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0){e=(c[e>>2]|0)+((c[h>>2]|0)-2)|0;a[e>>0]=a[47240]|0;a[e+1>>0]=a[47241]|0;a[e+2>>0]=a[47242]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-2+3;c[g>>2]=1}break}case 105:{if((c[h>>2]|0)>2?0==(H_(48658,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0){e=(c[e>>2]|0)+((c[h>>2]|0)-2)|0;a[e>>0]=a[47247]|0;a[e+1>>0]=a[47248]|0;a[e+2>>0]=a[47249]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-2+3;c[g>>2]=1}break}default:{}}l=i;return c[g>>2]|0}function hU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;a[e>>0]=b;c[f>>2]=d;if(((((a[e>>0]|0)!=97?(a[e>>0]|0)!=101:0)?(a[e>>0]|0)!=105:0)?(a[e>>0]|0)!=111:0)?(a[e>>0]|0)!=117:0)if(c[f>>2]|0)b=(a[e>>0]|0)==121;else b=0;else b=1;l=g;return b&1|0}function iU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=pU(c[e>>2]|0,c[f>>2]|0,0)|0;if(c[g>>2]|0?0==(pU((c[e>>2]|0)+(c[g>>2]|0)|0,(c[f>>2]|0)-(c[g>>2]|0)|0,1)|0):0){c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function jU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;if(((a[(c[f>>2]|0)+((c[g>>2]|0)-1)>>0]|0)!=119?(a[(c[f>>2]|0)+((c[g>>2]|0)-1)>>0]|0)!=120:0)?(a[(c[f>>2]|0)+((c[g>>2]|0)-1)>>0]|0)!=121:0){c[i>>2]=0;c[j>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[g>>2]|0))break;c[j>>2]=((hU(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0,c[j>>2]|0)|0)!=0^1)&1;c[i>>2]=(c[i>>2]<<1)+(c[j>>2]|0);c[h>>2]=(c[h>>2]|0)+1}c[e>>2]=(c[i>>2]&7|0)==5&1;j=c[e>>2]|0;l=k;return j|0}c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function kU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){b=6;break}if(hU(a[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0,(c[g>>2]|0)>0&1)|0){b=4;break}c[g>>2]=(c[g>>2]|0)+1}if((b|0)==4){c[h>>2]=1;h=c[h>>2]|0;l=i;return h|0}else if((b|0)==6){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}return 0}function lU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[c[f>>2]>>2];a:do switch(a[(c[e>>2]|0)+((c[h>>2]|0)-2)>>0]|0){case 97:{if((c[h>>2]|0)>7?0==(H_(48524,(c[e>>2]|0)+((c[h>>2]|0)-7)|0,7)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-7|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-7)|0;a[e>>0]=a[47233]|0;a[e+1>>0]=a[47234]|0;a[e+2>>0]=a[47235]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-7+3;break a}if(((c[h>>2]|0)>6?0==(H_(48532,(c[e>>2]|0)+((c[h>>2]|0)-6)|0,6)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-6|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-6)|0;a[e>>0]=a[47266]|0;a[e+1>>0]=a[47267]|0;a[e+2>>0]=a[47268]|0;a[e+3>>0]=a[47269]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-6+4}break}case 99:{if((c[h>>2]|0)>4?0==(H_(48539,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[47276]|0;a[e+1>>0]=a[47277]|0;a[e+2>>0]=a[47278]|0;a[e+3>>0]=a[47279]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+4;break a}if(((c[h>>2]|0)>4?0==(H_(48544,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[47286]|0;a[e+1>>0]=a[47287]|0;a[e+2>>0]=a[47288]|0;a[e+3>>0]=a[47289]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+4}break}case 101:{if(((c[h>>2]|0)>4?0==(H_(48549,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[47247]|0;a[e+1>>0]=a[47248]|0;a[e+2>>0]=a[47249]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+3}break}case 103:{if(((c[h>>2]|0)>4?0==(H_(48554,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[32259]|0;a[e+1>>0]=a[32260]|0;a[e+2>>0]=a[32261]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+3}break}case 108:{if((c[h>>2]|0)>3?0==(H_(48559,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-3)|0;a[e>>0]=a[47240]|0;a[e+1>>0]=a[47241]|0;a[e+2>>0]=a[47242]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-3+3;break a}if((c[h>>2]|0)>4?0==(H_(48563,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[47310]|0;a[e+1>>0]=a[47311]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+2;break a}if((c[h>>2]|0)>5?0==(H_(48568,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47319]|0;a[e+1>>0]=a[47320]|0;a[e+2>>0]=a[47321]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+3;break a}if((c[h>>2]|0)>3?0==(H_(48574,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0))break a;a[(c[e>>2]|0)+((c[h>>2]|0)-3)>>0]=a[47327]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-3+1;break a}if(((c[h>>2]|0)>5?0==(H_(48578,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47335]|0;a[e+1>>0]=a[47336]|0;a[e+2>>0]=a[47337]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+3}break}case 111:{if((c[h>>2]|0)>7?0==(H_(48584,(c[e>>2]|0)+((c[h>>2]|0)-7)|0,7)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-7|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-7)|0;a[e>>0]=a[47247]|0;a[e+1>>0]=a[47248]|0;a[e+2>>0]=a[47249]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-7+3;break a}if((c[h>>2]|0)>5?0==(H_(48592,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47233]|0;a[e+1>>0]=a[47234]|0;a[e+2>>0]=a[47235]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+3;break a}if(((c[h>>2]|0)>4?0==(H_(48598,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[47233]|0;a[e+1>>0]=a[47234]|0;a[e+2>>0]=a[47235]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+3}break}case 115:{if((c[h>>2]|0)>5?0==(H_(48603,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47310]|0;a[e+1>>0]=a[47311]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+2;break a}if((c[h>>2]|0)>7?0==(H_(48609,(c[e>>2]|0)+((c[h>>2]|0)-7)|0,7)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-7|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-7)|0;a[e>>0]=a[47372]|0;a[e+1>>0]=a[47373]|0;a[e+2>>0]=a[47374]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-7+3;break a}if((c[h>>2]|0)>7?0==(H_(48617,(c[e>>2]|0)+((c[h>>2]|0)-7)|0,7)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-7|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-7)|0;a[e>>0]=a[47384]|0;a[e+1>>0]=a[47385]|0;a[e+2>>0]=a[47386]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-7+3;break a}if(((c[h>>2]|0)>7?0==(H_(48625,(c[e>>2]|0)+((c[h>>2]|0)-7)|0,7)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-7|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-7)|0;a[e>>0]=a[47335]|0;a[e+1>>0]=a[47336]|0;a[e+2>>0]=a[47337]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-7+3}break}case 116:{if((c[h>>2]|0)>5?0==(H_(48633,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47310]|0;a[e+1>>0]=a[47311]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+2;break a}if((c[h>>2]|0)>5?0==(H_(48639,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47372]|0;a[e+1>>0]=a[47373]|0;a[e+2>>0]=a[47374]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+3;break a}if(((c[h>>2]|0)>6?0==(H_(48645,(c[e>>2]|0)+((c[h>>2]|0)-6)|0,6)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-6|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-6)|0;a[e>>0]=a[47240]|0;a[e+1>>0]=a[47241]|0;a[e+2>>0]=a[47242]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-6+3}break}default:{}}while(0);l=i;return c[g>>2]|0}function mU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[c[f>>2]>>2];a:do switch(a[(c[e>>2]|0)+((c[h>>2]|0)-2)>>0]|0){case 97:{if(((c[h>>2]|0)>4?0==(H_(48490,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-4)|0;a[e>>0]=a[47421]|0;a[e+1>>0]=a[47422]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-4+2}break}case 115:{if(((c[h>>2]|0)>4?0==(H_(48495,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-4;break}case 116:{if((c[h>>2]|0)>5?0==(H_(48500,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47421]|0;a[e+1>>0]=a[47422]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+2;break a}if(((c[h>>2]|0)>5?0==(H_(48506,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47421]|0;a[e+1>>0]=a[47422]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+2}break}case 117:{if(((c[h>>2]|0)>3?0==(H_(47384,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}case 118:{if(((c[h>>2]|0)>5?0==(H_(48512,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-5;break}case 122:{if(((c[h>>2]|0)>5?0==(H_(48518,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0)?rU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0:0){e=(c[e>>2]|0)+((c[h>>2]|0)-5)|0;a[e>>0]=a[47310]|0;a[e+1>>0]=a[47311]|0;c[c[f>>2]>>2]=(c[h>>2]|0)-5+2}break}default:{}}while(0);l=i;return c[g>>2]|0}function nU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[c[f>>2]>>2];a:do switch(a[(c[e>>2]|0)+((c[h>>2]|0)-2)>>0]|0){case 97:{if(((c[h>>2]|0)>2?0==(H_(47310,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-2|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-2;break}case 99:{if((c[h>>2]|0)>4?0==(H_(47286,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0){if(!(oU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-4;break a}if(((c[h>>2]|0)>4?0==(H_(47276,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-4;break}case 101:{if(((c[h>>2]|0)>2?0==(H_(48451,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-2|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-2;break}case 105:{if(((c[h>>2]|0)>2?0==(H_(47421,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-2|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-2;break}case 108:{if((c[h>>2]|0)>4?0==(H_(48454,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0){if(!(oU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-4;break a}if(((c[h>>2]|0)>4?0==(H_(48459,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-4;break}case 110:{if((c[h>>2]|0)>3?0==(H_(48464,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0){if(!(oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-3;break a}if((c[h>>2]|0)>5?0==(H_(48468,(c[e>>2]|0)+((c[h>>2]|0)-5)|0,5)|0):0){if(!(oU(c[e>>2]|0,(c[h>>2]|0)-5|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-5;break a}if((c[h>>2]|0)>4?0==(H_(48474,(c[e>>2]|0)+((c[h>>2]|0)-4)|0,4)|0):0){if(!(oU(c[e>>2]|0,(c[h>>2]|0)-4|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-4;break a}if(((c[h>>2]|0)>3?0==(H_(47319,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}case 111:{if((c[h>>2]|0)>3?0==(H_(48479,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0){if(!(qU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-3;break a}if(((c[h>>2]|0)>2?0==(H_(48483,(c[e>>2]|0)+((c[h>>2]|0)-2)|0,2)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-2|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-2;break}case 115:{if(((c[h>>2]|0)>3?0==(H_(48486,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}case 116:{if((c[h>>2]|0)>3?0==(H_(47233,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0){if(!(oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0))break a;c[c[f>>2]>>2]=(c[h>>2]|0)-3;break a}if(((c[h>>2]|0)>3?0==(H_(47479,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}case 117:{if(((c[h>>2]|0)>3?0==(H_(47335,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}case 118:{if(((c[h>>2]|0)>3?0==(H_(47372,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}case 122:{if(((c[h>>2]|0)>3?0==(H_(47247,(c[e>>2]|0)+((c[h>>2]|0)-3)|0,3)|0):0)?oU(c[e>>2]|0,(c[h>>2]|0)-3|0)|0:0)c[c[f>>2]>>2]=(c[h>>2]|0)-3;break}default:{}}while(0);l=i;return c[g>>2]|0}function oU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=pU(c[e>>2]|0,c[f>>2]|0,0)|0;if(c[g>>2]|0?pU((c[e>>2]|0)+(c[g>>2]|0)|0,(c[f>>2]|0)-(c[g>>2]|0)|0,1)|0:0){c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function pU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;j=k+20|0;f=k+16|0;g=k+12|0;m=k+8|0;h=k+4|0;i=k;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[i>>2]=c[m>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[g>>2]|0))break;m=((hU(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0,c[i>>2]|0)|0)!=0^1)&1;c[i>>2]=m;if(!m)break;c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1;while(1){if((c[h>>2]|0)>=(c[g>>2]|0)){b=10;break}m=(hU(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0,c[i>>2]|0)|0)!=0^1;c[i>>2]=m&1;d=(c[h>>2]|0)+1|0;if(m){b=8;break}c[h>>2]=d}if((b|0)==8){c[j>>2]=d;m=c[j>>2]|0;l=k;return m|0}else if((b|0)==10){c[j>>2]=0;m=c[j>>2]|0;l=k;return m|0}return 0}function qU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)!=115?(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)!=116:0){f=0;f=f&1;l=g;return f|0}f=(oU(c[e>>2]|0,c[f>>2]|0)|0)!=0;f=f&1;l=g;return f|0}function rU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=((pU(c[f>>2]|0,c[e>>2]|0,0)|0)!=0^1^1)&1;l=d;return b|0}function sU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;j=k+16|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;a[j>>0]=a[(c[g>>2]|0)+(c[i>>2]|0)>>0]|0;if((a[j>>0]|0)>=65?(a[j>>0]|0)<=90:0)a[j>>0]=(a[j>>0]|0)+32;a[(c[f>>2]|0)+(c[i>>2]|0)>>0]=a[j>>0]|0;c[i>>2]=(c[i>>2]|0)+1}l=k;return}function tU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;while(1){if(!(a[(c[g>>2]|0)+(c[i>>2]|0)>>0]|0))break;if(!(a[(c[g>>2]|0)+(c[i>>2]|0)>>0]&128))a[(c[f>>2]|0)+(a[(c[g>>2]|0)+(c[i>>2]|0)>>0]|0)>>0]=c[h>>2];c[i>>2]=(c[i>>2]|0)+1}l=j;return}function uU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=yU(c[e>>2]|0)|0;b=b^(zU(c[f>>2]|0,c[e>>2]|0)|0);l=d;return b|0}function vU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;e=g+8|0;b=g+4|0;d=g;c[e>>2]=a;c[b>>2]=134389727;c[d>>2]=221688;if((c[e>>2]|0)<768|(c[e>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}if((c[e>>2]|0)<800){b=c[b>>2]|0;a=(c[e>>2]|0)-768|0}else{b=c[d>>2]|0;a=(c[e>>2]|0)-768-32|0}c[f>>2]=b&1<>2]|0;l=g;return f|0}function wU(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;f=p;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[g>>2];a=c[g>>2]|0;if((c[g>>2]|0)<128){if(!((a|0)>=65&(c[g>>2]|0)<=90)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=(c[g>>2]|0)+32;o=c[i>>2]|0;l=p;return o|0}if((a|0)>=65536){if(!((c[g>>2]|0)>=66560&(c[g>>2]|0)<66600)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=(c[g>>2]|0)+40;o=c[i>>2]|0;l=p;return o|0}c[k>>2]=162;c[m>>2]=0;c[n>>2]=-1;while(1){if((c[k>>2]|0)<(c[m>>2]|0))break;c[o>>2]=((c[k>>2]|0)+(c[m>>2]|0)|0)/2|0;c[f>>2]=(c[g>>2]|0)-(e[17876+(c[o>>2]<<2)>>1]|0);a=c[o>>2]|0;if((c[f>>2]|0)>=0){c[n>>2]=a;c[m>>2]=(c[o>>2]|0)+1;continue}else{c[k>>2]=a-1;continue}}c[j>>2]=17876+(c[n>>2]<<2);if((c[g>>2]|0)<((e[c[j>>2]>>1]|0)+(d[(c[j>>2]|0)+3>>0]|0)|0)?0==(1&(d[(c[j>>2]|0)+2>>0]|0)&((e[c[j>>2]>>1]|0)^c[g>>2])|0):0)c[i>>2]=(c[g>>2]|0)+(e[18528+((d[(c[j>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[h>>2]|0)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=xU(c[i>>2]|0)|0;o=c[i>>2]|0;l=p;return o|0}function xU(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+336|0;g=p+20|0;h=p+24|0;i=p+226|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;o=p;c[g>>2]=b;h0(h|0,18682,202)|0;b=i;d=48822;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[j>>2]=c[g>>2]<<3|7;c[k>>2]=0;c[m>>2]=100;c[n>>2]=0;while(1){if((c[m>>2]|0)<(c[n>>2]|0))break;c[o>>2]=((c[m>>2]|0)+(c[n>>2]|0)|0)/2|0;b=c[o>>2]|0;if((c[j>>2]|0)>>>0>=(e[h+(c[o>>2]<<1)>>1]|0)>>>0){c[k>>2]=b;c[n>>2]=(c[o>>2]|0)+1;continue}else{c[m>>2]=b-1;continue}}if((c[g>>2]|0)>((e[h+(c[k>>2]<<1)>>1]>>3)+(e[h+(c[k>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;l=p;return o|0}else{o=a[i+(c[k>>2]|0)>>0]|0;l=p;return o|0}return 0}function yU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)>>>0<128){c[b>>2]=(c[8820+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;i=c[b>>2]|0;l=j;return i|0}if(a>>>0>=4194304){c[b>>2]=1;i=c[b>>2]|0;l=j;return i|0}c[e>>2]=c[d>>2]<<10|1023;c[f>>2]=0;c[g>>2]=405;c[h>>2]=0;while(1){if((c[g>>2]|0)<(c[h>>2]|0))break;c[i>>2]=((c[g>>2]|0)+(c[h>>2]|0)|0)/2|0;a=c[i>>2]|0;if((c[e>>2]|0)>>>0>=(c[8836+(c[i>>2]<<2)>>2]|0)>>>0){c[f>>2]=a;c[h>>2]=(c[i>>2]|0)+1;continue}else{c[g>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[8836+(c[f>>2]<<2)>>2]|0)>>>10)+(c[8836+(c[f>>2]<<2)>>2]&1023)|0)>>>0&1;i=c[b>>2]|0;l=j;return i|0}function zU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+24|0;d=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+140>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+144>>2];c[h>>2]=0;c[i>>2]=(c[(c[d>>2]|0)+140>>2]|0)-1;while(1){if((c[i>>2]|0)<(c[h>>2]|0))break a;c[j>>2]=((c[i>>2]|0)+(c[h>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0))break;a=c[j>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)){c[h>>2]=a+1;continue}else{c[i>>2]=a-1;continue}}c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}while(0);c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function AU(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+44|0;g=t+40|0;p=t+36|0;q=t+32|0;h=t+28|0;r=t+24|0;s=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[o>>2]=b;c[g>>2]=e;c[p>>2]=f;c[q>>2]=0;c[h>>2]=g$(c[g>>2]|0)|0;if((c[h>>2]|0)<=0){s=c[q>>2]|0;l=t;return s|0}c[r>>2]=Xf(c[(c[o>>2]|0)+144>>2]|0,(c[h>>2]|0)+(c[(c[o>>2]|0)+140>>2]|0)<<2)|0;if(!(c[r>>2]|0)){c[q>>2]=7;s=c[q>>2]|0;l=t;return s|0}c[s>>2]=c[(c[o>>2]|0)+140>>2];c[i>>2]=c[g>>2];c[j>>2]=(c[g>>2]|0)+(c[h>>2]|0);while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;h=c[i>>2]|0;c[i>>2]=h+1;c[k>>2]=d[h>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[22127+((c[k>>2]|0)-192)>>0];while(1){if((c[i>>2]|0)!=(c[j>>2]|0))b=((d[c[i>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;h=c[i>>2]|0;c[i>>2]=h+1;c[k>>2]=(e<<6)+(63&(d[h>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if((c[k>>2]|0)<128){a[(c[o>>2]|0)+(c[k>>2]|0)>>0]=c[p>>2];continue}c[m>>2]=yU(c[k>>2]|0)|0;if((c[m>>2]|0)==(c[p>>2]|0))continue;if(vU(c[k>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;if((c[(c[r>>2]|0)+(c[n>>2]<<2)>>2]|0)>(c[k>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}k0((c[r>>2]|0)+((c[n>>2]|0)+1<<2)|0,(c[r>>2]|0)+(c[n>>2]<<2)|0,(c[s>>2]|0)-(c[n>>2]|0)<<2|0)|0;c[(c[r>>2]|0)+(c[n>>2]<<2)>>2]=c[k>>2];c[s>>2]=(c[s>>2]|0)+1}c[(c[o>>2]|0)+144>>2]=c[r>>2];c[(c[o>>2]|0)+140>>2]=c[s>>2];s=c[q>>2]|0;l=t;return s|0}function BU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+208|0;C=L+192|0;D=L+188|0;E=L+184|0;M=L+180|0;F=L+176|0;H=L+112|0;I=L+108|0;h=L+104|0;i=L+100|0;j=L+96|0;k=L+92|0;m=L+88|0;n=L+84|0;J=L+80|0;o=L+76|0;p=L+72|0;q=L+68|0;r=L+64|0;K=L+44|0;s=L+40|0;g=L+36|0;t=L+32|0;u=L+28|0;v=L+24|0;w=L+20|0;x=L+16|0;y=L+12|0;z=L+8|0;A=L+4|0;B=L;c[C>>2]=a;c[D>>2]=b;c[E>>2]=d;c[M>>2]=e;c[F>>2]=f;c[I>>2]=0;c[k>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[M>>2]|0)!=5){c[g>>2]=45572;Th(c[E>>2]|0,c[g>>2]|0,-1);l=L;return}c[s>>2]=Hb[c[(c[C>>2]|0)+8>>2]&255](c[D>>2]|0)|0;a=H;b=a+64|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=Qi(c[c[F>>2]>>2]|0)|0;c[H+40>>2]=Rh(c[(c[F>>2]|0)+4>>2]|0)|0;c[H+44>>2]=Rh(c[(c[F>>2]|0)+8>>2]|0)|0;c[i>>2]=Rh(c[(c[F>>2]|0)+12>>2]|0)|0;c[j>>2]=Qi(c[(c[F>>2]|0)+16>>2]|0)|0;c[o>>2]=(c[h>>2]|0)>=0?c[h>>2]|0:0;c[n>>2]=Hb[c[(c[C>>2]|0)+24>>2]&255](c[D>>2]|0)|0;c[J>>2]=pe(c[n>>2]|0)|0;if(!(c[J>>2]|0))c[I>>2]=7;if(!(c[I>>2]|0))c[I>>2]=Mb[c[(c[C>>2]|0)+32>>2]&255](c[D>>2]|0,k)|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;c[m>>2]=0;a:while(1){if((c[m>>2]|0)>=(c[s>>2]|0))break;if(!((c[h>>2]|0)>=0?(c[h>>2]|0)!=(c[m>>2]|0):0))G=11;b:do if((G|0)==11){G=0;c[K>>2]=0;c[K+8>>2]=0;c[I>>2]=Kb[c[(c[C>>2]|0)+44>>2]&255](c[D>>2]|0,c[m>>2]|0,K+16|0,t)|0;if(c[I>>2]|0)break a;c[I>>2]=Nb[c[(c[C>>2]|0)+20>>2]&255](c[D>>2]|0,c[K+16>>2]|0,c[t>>2]|0,K,149)|0;if(c[I>>2]|0)break a;c[I>>2]=Bb[c[(c[C>>2]|0)+48>>2]&255](c[D>>2]|0,c[m>>2]|0,u)|0;if(c[I>>2]|0)break a;c[v>>2]=0;while(1){if(c[I>>2]|0)break b;if((c[v>>2]|0)>=(c[k>>2]|0))break b;c[I>>2]=Nb[c[(c[C>>2]|0)+36>>2]&255](c[D>>2]|0,c[v>>2]|0,w,x,y)|0;do if(!(c[I>>2]|0?1:(c[x>>2]|0)!=(c[m>>2]|0))){m0(c[J>>2]|0,0,c[n>>2]|0)|0;c[I>>2]=LU(c[C>>2]|0,c[D>>2]|0,c[u>>2]|0,c[J>>2]|0,c[m>>2]|0,c[y>>2]|0,c[j>>2]|0,A,z)|0;if((c[I>>2]|0)==0?(c[A>>2]|0)>(c[q>>2]|0):0){c[q>>2]=c[A>>2];c[o>>2]=c[m>>2];c[p>>2]=c[z>>2];c[r>>2]=c[u>>2]}if(((c[I>>2]|0)==0?c[K+8>>2]|0:0)?(c[u>>2]|0)>(c[j>>2]|0):0){c[B>>2]=0;while(1){if((c[B>>2]|0)>=((c[K+8>>2]|0)-1|0))break;if((c[(c[K+12>>2]|0)+((c[B>>2]|0)+1<<2)>>2]|0)>(c[y>>2]|0))break;c[B>>2]=(c[B>>2]|0)+1}if((c[(c[K+12>>2]|0)+(c[B>>2]<<2)>>2]|0)<(c[y>>2]|0)){m0(c[J>>2]|0,0,c[n>>2]|0)|0;c[I>>2]=LU(c[C>>2]|0,c[D>>2]|0,c[u>>2]|0,c[J>>2]|0,c[m>>2]|0,c[(c[K+12>>2]|0)+(c[B>>2]<<2)>>2]|0,c[j>>2]|0,A,0)|0;c[A>>2]=(c[A>>2]|0)+((c[(c[K+12>>2]|0)+(c[B>>2]<<2)>>2]|0)==0?120:100);if(c[I>>2]|0)break;if((c[A>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[A>>2];c[o>>2]=c[m>>2];c[p>>2]=c[(c[K+12>>2]|0)+(c[B>>2]<<2)>>2];c[r>>2]=c[u>>2]}}}while(0);c[v>>2]=(c[v>>2]|0)+1}}while(0);c[m>>2]=(c[m>>2]|0)+1}if(!(c[I>>2]|0))c[I>>2]=Kb[c[(c[C>>2]|0)+44>>2]&255](c[D>>2]|0,c[o>>2]|0,H+48|0,H+52|0)|0;if((c[I>>2]|0)==0&(c[r>>2]|0)==0)c[I>>2]=Bb[c[(c[C>>2]|0)+48>>2]&255](c[D>>2]|0,c[o>>2]|0,r)|0;do if(c[H+48>>2]|0){if(!(c[I>>2]|0))c[I>>2]=GU(c[C>>2]|0,c[D>>2]|0,c[o>>2]|0,H)|0;c[H+32>>2]=c[p>>2];c[H+36>>2]=(c[p>>2]|0)+(c[j>>2]|0)-1;if((c[p>>2]|0)>0)IU(I,H,c[i>>2]|0,-1);while(1){if((c[H+20>>2]|0)<0)break;if(!((c[I>>2]|0)==0?(c[H+20>>2]|0)<(c[p>>2]|0):0))break;c[I>>2]=JU(H)|0}if(!(c[I>>2]|0))c[I>>2]=Nb[c[(c[C>>2]|0)+20>>2]&255](c[D>>2]|0,c[H+48>>2]|0,c[H+52>>2]|0,H,150)|0;if((c[H+36>>2]|0)>=((c[r>>2]|0)-1|0)){IU(I,H,(c[H+48>>2]|0)+(c[H+56>>2]|0)|0,(c[H+52>>2]|0)-(c[H+56>>2]|0)|0);break}else{IU(I,H,c[i>>2]|0,-1);break}}while(0);a=c[E>>2]|0;if(!(c[I>>2]|0))xi(a,c[H+60>>2]|0,-1,-1);else Wi(a,c[I>>2]|0);_d(c[H+60>>2]|0);_d(c[J>>2]|0);_d(c[K+12>>2]|0);l=L;return}function CU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+112|0;k=p+96|0;m=p+92|0;n=p+88|0;q=p+84|0;o=p+80|0;h=p+16|0;i=p+8|0;j=p+4|0;g=p;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[q>>2]=e;c[o>>2]=f;if((c[q>>2]|0)!=3){c[g>>2]=48956;Th(c[n>>2]|0,c[g>>2]|0,-1);l=p;return}c[j>>2]=Qi(c[c[o>>2]>>2]|0)|0;a=h;b=a+64|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h+40>>2]=Rh(c[(c[o>>2]|0)+4>>2]|0)|0;c[h+44>>2]=Rh(c[(c[o>>2]|0)+8>>2]|0)|0;c[i>>2]=Kb[c[(c[k>>2]|0)+44>>2]&255](c[m>>2]|0,c[j>>2]|0,h+48|0,h+52|0)|0;if(c[h+48>>2]|0){if(!(c[i>>2]|0))c[i>>2]=GU(c[k>>2]|0,c[m>>2]|0,c[j>>2]|0,h)|0;if(!(c[i>>2]|0))c[i>>2]=Nb[c[(c[k>>2]|0)+20>>2]&255](c[m>>2]|0,c[h+48>>2]|0,c[h+52>>2]|0,h,150)|0;IU(i,h,(c[h+48>>2]|0)+(c[h+56>>2]|0)|0,(c[h+52>>2]|0)-(c[h+56>>2]|0)|0);if(!(c[i>>2]|0))xi(c[n>>2]|0,c[h+60>>2]|0,-1,-1);_d(c[h+60>>2]|0)}if(!(c[i>>2]|0)){l=p;return}Wi(c[n>>2]|0,c[i>>2]|0);l=p;return}function DU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+96|0;t=A+92|0;u=A+88|0;v=A+84|0;w=A+80|0;x=A+76|0;y=A+72|0;z=A+16|0;i=A+68|0;j=A+64|0;k=A+60|0;m=A+8|0;n=A+56|0;o=A+52|0;p=A+48|0;q=A+44|0;r=A;s=A+40|0;c[t>>2]=a;c[u>>2]=b;c[v>>2]=d;c[w>>2]=e;c[x>>2]=f;h[A+32>>3]=1.2;h[A+24>>3]=.75;c[y>>2]=0;h[z>>3]=0.0;c[k>>2]=0;h[m>>3]=0.0;c[n>>2]=0;c[y>>2]=EU(c[t>>2]|0,c[u>>2]|0,i)|0;if(!(c[y>>2]|0)){c[n>>2]=c[(c[i>>2]|0)+20>>2];m0(c[n>>2]|0,0,c[c[i>>2]>>2]<<3|0)|0;c[y>>2]=Mb[c[(c[t>>2]|0)+32>>2]&255](c[u>>2]|0,k)|0}c[j>>2]=0;while(1){if(c[y>>2]|0)break;if((c[j>>2]|0)>=(c[k>>2]|0))break;c[y>>2]=Nb[c[(c[t>>2]|0)+36>>2]&255](c[u>>2]|0,c[j>>2]|0,o,p,q)|0;if(!(c[y>>2]|0)){if((c[w>>2]|0)>(c[p>>2]|0))g=+Hi(c[(c[x>>2]|0)+(c[p>>2]<<2)>>2]|0);else g=1.0;h[r>>3]=g;f=(c[n>>2]|0)+(c[o>>2]<<3)|0;h[f>>3]=+h[f>>3]+ +h[r>>3]}c[j>>2]=(c[j>>2]|0)+1}if(!(c[y>>2]|0)){c[y>>2]=Bb[c[(c[t>>2]|0)+48>>2]&255](c[u>>2]|0,-1,s)|0;h[m>>3]=+(c[s>>2]|0)}c[j>>2]=0;while(1){if(c[y>>2]|0)break;if((c[j>>2]|0)>=(c[c[i>>2]>>2]|0))break;h[z>>3]=+h[z>>3]+ +h[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>3]*(+h[(c[n>>2]|0)+(c[j>>2]<<3)>>3]*2.2/(+h[(c[n>>2]|0)+(c[j>>2]<<3)>>3]+(+h[m>>3]*.75/+h[(c[i>>2]|0)+8>>3]+.25)*1.2));c[j>>2]=(c[j>>2]|0)+1}a=c[v>>2]|0;if(!(c[y>>2]|0)){Ci(a,+h[z>>3]*-1.0);l=A;return}else{Wi(a,c[y>>2]|0);l=A;return}}function EU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;k=s+60|0;m=s+56|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;r=s+24|0;e=s+16|0;f=s+36|0;g=s+32|0;i=s+8|0;j=s;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=0;c[p>>2]=Mb[c[(c[k>>2]|0)+60>>2]&255](c[m>>2]|0,0)|0;if(c[p>>2]|0){q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}d=r;c[d>>2]=0;c[d+4>>2]=0;d=e;c[d>>2]=0;c[d+4>>2]=0;c[q>>2]=Hb[c[(c[k>>2]|0)+24>>2]&255](c[m>>2]|0)|0;c[f>>2]=24+(c[q>>2]<<1<<3);c[p>>2]=pe(c[f>>2]|0)|0;if(!(c[p>>2]|0))c[o>>2]=7;else{m0(c[p>>2]|0,0,c[f>>2]|0)|0;c[c[p>>2]>>2]=c[q>>2];c[(c[p>>2]|0)+16>>2]=(c[p>>2]|0)+24;c[(c[p>>2]|0)+20>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[q>>2]<<3)}if(!(c[o>>2]|0))c[o>>2]=Mb[c[(c[k>>2]|0)+12>>2]&255](c[m>>2]|0,r)|0;if(!(c[o>>2]|0))c[o>>2]=Bb[c[(c[k>>2]|0)+16>>2]&255](c[m>>2]|0,-1,e)|0;if(!(c[o>>2]|0)){f=e;d=r;h[(c[p>>2]|0)+8>>3]=(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0))/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0))}c[g>>2]=0;while(1){if(c[o>>2]|0)break;if((c[g>>2]|0)>=(c[q>>2]|0))break;d=i;c[d>>2]=0;c[d+4>>2]=0;c[o>>2]=Kb[c[(c[k>>2]|0)+52>>2]&255](c[m>>2]|0,c[g>>2]|0,i,168)|0;if(!(c[o>>2]|0)){d=r;f=i;f=Z$(c[d>>2]|0,c[d+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;d=i;h[j>>3]=+Q(+((+(f>>>0)+4294967296.0*+(D|0)+.5)/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)+.5)));if(+h[j>>3]<=0.0)h[j>>3]=1.0e-06;h[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<3)>>3]=+h[j>>3]}c[g>>2]=(c[g>>2]|0)+1}if(c[o>>2]|0)_d(c[p>>2]|0);else c[o>>2]=Bb[c[(c[k>>2]|0)+56>>2]&255](c[m>>2]|0,c[p>>2]|0,157)|0;if(!(c[o>>2]|0)){q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}c[p>>2]=0;q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}function FU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e+4|0;f=e;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;c[f>>2]=c[g>>2];d=c[f>>2]|0;b=d;b=_$(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[d>>2]=b;c[d+4>>2]=D;l=e;return 0}function GU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;j=h+16|0;i=h+12|0;k=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[i>>2]=b;c[k>>2]=d;c[f>>2]=e;e=c[f>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[c[f>>2]>>2]=c[j>>2];c[(c[f>>2]|0)+4>>2]=c[i>>2];c[(c[f>>2]|0)+8>>2]=c[k>>2];c[g>>2]=Mb[c[(c[j>>2]|0)+32>>2]&255](c[i>>2]|0,(c[f>>2]|0)+16|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;l=h;return k|0}c[g>>2]=JU(c[f>>2]|0)|0;k=c[g>>2]|0;l=h;return k|0}function HU(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+48|0;n=o+36|0;q=o+32|0;p=o+28|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;m=o;c[q>>2]=a;c[p>>2]=b;c[o+24>>2]=d;c[o+20>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[q>>2];c[k>>2]=0;if(c[p>>2]&1|0){c[n>>2]=0;q=c[n>>2]|0;l=o;return q|0}p=(c[j>>2]|0)+28|0;q=c[p>>2]|0;c[p>>2]=q+1;c[m>>2]=q;do if((c[(c[j>>2]|0)+36>>2]|0)>0){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+32>>2]|0)?(c[m>>2]|0)<=(c[(c[j>>2]|0)+36>>2]|0):0){if(!(c[(c[j>>2]|0)+32>>2]|0))break;if((c[m>>2]|0)!=(c[(c[j>>2]|0)+32>>2]|0))break;c[(c[j>>2]|0)+56>>2]=c[h>>2];break}c[n>>2]=0;q=c[n>>2]|0;l=o;return q|0}while(0);if((c[m>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0)){IU(k,c[j>>2]|0,(c[(c[j>>2]|0)+48>>2]|0)+(c[(c[j>>2]|0)+56>>2]|0)|0,(c[h>>2]|0)-(c[(c[j>>2]|0)+56>>2]|0)|0);IU(k,c[j>>2]|0,c[(c[j>>2]|0)+40>>2]|0,-1);c[(c[j>>2]|0)+56>>2]=c[h>>2]}if((c[m>>2]|0)==(c[(c[j>>2]|0)+24>>2]|0)){if(c[(c[j>>2]|0)+36>>2]|0?(c[(c[j>>2]|0)+20>>2]|0)<(c[(c[j>>2]|0)+32>>2]|0):0)IU(k,c[j>>2]|0,c[(c[j>>2]|0)+40>>2]|0,-1);IU(k,c[j>>2]|0,(c[(c[j>>2]|0)+48>>2]|0)+(c[(c[j>>2]|0)+56>>2]|0)|0,(c[i>>2]|0)-(c[(c[j>>2]|0)+56>>2]|0)|0);IU(k,c[j>>2]|0,c[(c[j>>2]|0)+44>>2]|0,-1);c[(c[j>>2]|0)+56>>2]=c[i>>2];if(!(c[k>>2]|0))c[k>>2]=JU(c[j>>2]|0)|0}if((((c[(c[j>>2]|0)+36>>2]|0)>0?(c[m>>2]|0)==(c[(c[j>>2]|0)+36>>2]|0):0)?(IU(k,c[j>>2]|0,(c[(c[j>>2]|0)+48>>2]|0)+(c[(c[j>>2]|0)+56>>2]|0)|0,(c[i>>2]|0)-(c[(c[j>>2]|0)+56>>2]|0)|0),c[(c[j>>2]|0)+56>>2]=c[i>>2],(c[m>>2]|0)>=(c[(c[j>>2]|0)+20>>2]|0)):0)?(c[m>>2]|0)<(c[(c[j>>2]|0)+24>>2]|0):0)IU(k,c[j>>2]|0,c[(c[j>>2]|0)+44>>2]|0,-1);c[n>>2]=c[k>>2];q=c[n>>2]|0;l=o;return q|0}function IU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;f=k+24|0;g=k+20|0;h=k+16|0;i=k+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(c[c[f>>2]>>2]|0){l=k;return}if((c[i>>2]|0)<0)c[i>>2]=g$(c[h>>2]|0)|0;e=c[i>>2]|0;i=c[h>>2]|0;c[j>>2]=c[(c[g>>2]|0)+60>>2];c[j+4>>2]=e;c[j+8>>2]=i;j=nf(49006,j)|0;c[(c[g>>2]|0)+60>>2]=j;if(c[(c[g>>2]|0)+60>>2]|0){l=k;return}c[c[f>>2]>>2]=7;l=k;return}function JU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;i=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[i>>2]=0;c[(c[d>>2]|0)+20>>2]=-1;c[(c[d>>2]|0)+24>>2]=-1;a:while(1){if(c[i>>2]|0){a=12;break}if((c[(c[d>>2]|0)+12>>2]|0)>=(c[(c[d>>2]|0)+16>>2]|0)){a=12;break}c[i>>2]=Nb[c[(c[c[d>>2]>>2]|0)+36>>2]&255](c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+12>>2]|0,e,f,g)|0;if(c[i>>2]|0)continue;do if((c[f>>2]|0)==(c[(c[d>>2]|0)+8>>2]|0)){a=(c[g>>2]|0)-1|0;c[h>>2]=a+(Mb[c[(c[c[d>>2]>>2]|0)+28>>2]&255](c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0)|0);a=c[g>>2]|0;b=c[d>>2]|0;if((c[(c[d>>2]|0)+20>>2]|0)<0){c[b+20>>2]=a;c[(c[d>>2]|0)+24>>2]=c[h>>2];break}if((a|0)>(c[b+24>>2]|0)){a=12;break a}if((c[h>>2]|0)>(c[(c[d>>2]|0)+24>>2]|0))c[(c[d>>2]|0)+24>>2]=c[h>>2]}while(0);b=(c[d>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+1}if((a|0)==12){l=j;return c[i>>2]|0}return 0}function KU(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;o=p+32|0;q=p+28|0;i=p+16|0;j=p+8|0;k=p+4|0;m=p;n=p+36|0;c[o>>2]=b;c[q>>2]=d;c[p+24>>2]=e;c[p+20>>2]=f;c[i>>2]=g;c[p+12>>2]=h;c[j>>2]=0;if(c[q>>2]&1|0){q=c[j>>2]|0;l=p;return q|0}c[k>>2]=c[o>>2];do if((c[c[k>>2]>>2]|0)>0){a[n>>0]=0;c[m>>2]=(c[i>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[n>>0]=a[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]|0)>>0]|0;if((((a[n>>0]|0)!=32?(a[n>>0]|0)!=9:0)?(a[n>>0]|0)!=10:0)?(a[n>>0]|0)!=13:0)break;c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)!=((c[i>>2]|0)-1|0)){if((a[n>>0]|0)!=46?(a[n>>0]|0)!=58:0)break;c[j>>2]=MU(c[k>>2]|0,c[c[k>>2]>>2]|0)|0}}else c[j>>2]=MU(c[k>>2]|0,0)|0;while(0);q=c[k>>2]|0;c[q>>2]=(c[q>>2]|0)+1;q=c[j>>2]|0;l=p;return q|0}function LU(b,e,f,g,h,i,j,k,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+80|0;F=G+72|0;n=G+68|0;o=G+64|0;p=G+60|0;q=G+56|0;r=G+52|0;s=G+48|0;t=G+44|0;u=G+40|0;v=G+36|0;w=G+32|0;x=G+28|0;y=G+24|0;z=G+20|0;A=G+16|0;B=G+12|0;C=G+8|0;D=G+4|0;E=G;c[F>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=m;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=-1;c[C>>2]=0;c[D>>2]=0;c[v>>2]=Mb[c[(c[F>>2]|0)+32>>2]&255](c[n>>2]|0,B)|0;c[w>>2]=0;while(1){if(!((c[w>>2]|0)<(c[B>>2]|0)?(c[v>>2]|0)==0:0))break;c[v>>2]=Nb[c[(c[F>>2]|0)+36>>2]&255](c[n>>2]|0,c[w>>2]|0,x,y,z)|0;if((((c[v>>2]|0)==0?(c[y>>2]|0)==(c[q>>2]|0):0)?(c[z>>2]|0)>=(c[r>>2]|0):0)?(c[z>>2]|0)<((c[r>>2]|0)+(c[s>>2]|0)|0):0){c[C>>2]=(c[C>>2]|0)+(d[(c[p>>2]|0)+(c[x>>2]|0)>>0]|0|0?1:1e3);a[(c[p>>2]|0)+(c[x>>2]|0)>>0]=1;if((c[A>>2]|0)<0)c[A>>2]=c[z>>2];m=c[z>>2]|0;c[D>>2]=m+(Mb[c[(c[F>>2]|0)+28>>2]&255](c[n>>2]|0,c[x>>2]|0)|0)}c[w>>2]=(c[w>>2]|0)+1}c[c[t>>2]>>2]=c[C>>2];if(!(c[u>>2]|0)){F=c[v>>2]|0;l=G;return F|0}c[E>>2]=(c[A>>2]|0)-(((c[s>>2]|0)-((c[D>>2]|0)-(c[A>>2]|0))|0)/2|0);if(((c[E>>2]|0)+(c[s>>2]|0)|0)>(c[o>>2]|0))c[E>>2]=(c[o>>2]|0)-(c[s>>2]|0);if((c[E>>2]|0)<0)c[E>>2]=0;c[c[u>>2]>>2]=c[E>>2];F=c[v>>2]|0;l=G;return F|0}function MU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;do if((c[(c[e>>2]|0)+4>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){if(c[(c[e>>2]|0)+4>>2]|0)a=c[(c[e>>2]|0)+4>>2]<<1;else a=64;c[g>>2]=a;c[h>>2]=Xf(c[(c[e>>2]|0)+12>>2]|0,c[g>>2]<<2)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+12>>2]=c[h>>2];c[(c[e>>2]|0)+4>>2]=c[g>>2];break}c[d>>2]=7;h=c[d>>2]|0;l=i;return h|0}while(0);f=c[f>>2]|0;g=c[(c[e>>2]|0)+12>>2]|0;e=(c[e>>2]|0)+8|0;h=c[e>>2]|0;c[e>>2]=h+1;c[g+(h<<2)>>2]=f;c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}function NU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;RU(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0);l=e;return}function OU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;RU(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,1);l=e;return}function PU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[i>>2]=b;c[f>>2]=d;if((c[i>>2]|0)!=1){Th(c[e>>2]|0,49108,-1);l=h;return}else{c[g>>2]=Qi(c[c[f>>2]>>2]|0)|0;i=c[e>>2]|0;Xh(i,yU(c[g>>2]|0)|0);l=h;return}}function QU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)!=1&(c[f>>2]|0)!=2){Th(c[e>>2]|0,49060,-1);l=j;return}c[i>>2]=0;c[h>>2]=Qi(c[c[g>>2]>>2]|0)|0;if((c[f>>2]|0)==2)c[i>>2]=Qi(c[(c[g>>2]|0)+4>>2]|0)|0;g=c[e>>2]|0;Xh(g,wU(c[h>>2]|0,c[i>>2]|0)|0);l=j;return} +function RU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+80|0;p=z+8|0;f=z;s=z+76|0;k=z+72|0;m=z+68|0;t=z+64|0;n=z+60|0;o=z+56|0;g=z+52|0;u=z+48|0;v=z+44|0;w=z+40|0;h=z+36|0;x=z+32|0;q=z+28|0;i=z+24|0;y=z+20|0;j=z+16|0;r=z+12|0;c[s>>2]=a;c[k>>2]=b;c[m>>2]=d;c[t>>2]=e;c[n>>2]=Qh(c[s>>2]|0)|0;c[o>>2]=Ph(c[s>>2]|0)|0;c[g>>2]=0;c[u>>2]=0;c[v>>2]=0;c[q>>2]=49159;c[y>>2]=0;c[j>>2]=1;a=(c[t>>2]|0)!=0;if((c[k>>2]|0)<1){c[f>>2]=a?49023:49013;c[u>>2]=nf(49167,f)|0;Th(c[s>>2]|0,c[u>>2]|0,-1);_d(c[u>>2]|0);l=z;return}if(a&(c[k>>2]|0)>1){c[q>>2]=Rh(c[(c[m>>2]|0)+4>>2]|0)|0;c[j>>2]=2}c[i>>2]=3+((c[k>>2]|0)-(c[j>>2]|0));c[x>>2]=pe(c[i>>2]<<2)|0;if(!(c[x>>2]|0)){wi(c[s>>2]|0);l=z;return}c[c[x>>2]>>2]=0;c[(c[x>>2]|0)+4>>2]=42567;c[(c[x>>2]|0)+8>>2]=30152;c[h>>2]=3;while(1){a=c[m>>2]|0;if((c[j>>2]|0)>=(c[k>>2]|0))break;d=Rh(c[a+(c[j>>2]<<2)>>2]|0)|0;e=c[x>>2]|0;f=c[h>>2]|0;c[h>>2]=f+1;c[e+(f<<2)>>2]=d;c[j>>2]=(c[j>>2]|0)+1}c[g>>2]=Rh(c[a>>2]|0)|0;c[w>>2]=SU(c[n>>2]|0,c[o>>2]|0,c[i>>2]|0,c[x>>2]|0,y,u)|0;if(!(c[w>>2]|0))c[w>>2]=TU(c[y>>2]|0,c[g>>2]|0,v,u)|0;do if(!(c[w>>2]|0)){do if(c[(c[(c[v>>2]|0)+8>>2]|0)+12>>2]|0){a=c[y>>2]|0;if(c[t>>2]|0){c[r>>2]=UU(a,c[q>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0;break}else{c[r>>2]=VU(a,c[(c[v>>2]|0)+8>>2]|0)|0;break}}else c[r>>2]=nf(55752,p)|0;while(0);if(!(c[r>>2]|0)){c[w>>2]=7;break}else{xi(c[s>>2]|0,c[r>>2]|0,-1,-1);_d(c[r>>2]|0);break}}while(0);do if(c[w>>2]|0){a=c[s>>2]|0;if(c[u>>2]|0){Th(a,c[u>>2]|0,-1);_d(c[u>>2]|0);break}else{Wi(a,c[w>>2]|0);break}}while(0);_d(c[x>>2]|0);WU(c[y>>2]|0);XU(c[v>>2]|0);l=z;return}function SU(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+112|0;E=F+16|0;D=F+8|0;C=F;y=F+100|0;z=F+96|0;A=F+92|0;B=F+88|0;i=F+84|0;j=F+80|0;k=F+76|0;m=F+72|0;n=F+68|0;o=F+64|0;p=F+60|0;q=F+56|0;r=F+52|0;s=F+48|0;t=F+44|0;u=F+40|0;v=F+36|0;w=F+32|0;x=F+28|0;c[z>>2]=b;c[A>>2]=d;c[B>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=0;h=pe(100)|0;c[n>>2]=h;c[c[j>>2]>>2]=h;if(!(c[n>>2]|0)){c[y>>2]=7;E=c[y>>2]|0;l=F;return E|0}b=c[n>>2]|0;d=b+100|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[c[n>>2]>>2]=c[A>>2];c[(c[n>>2]|0)+64>>2]=-1;c[p>>2]=(c[B>>2]|0)*5;A=dT(m,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=A;c[(c[n>>2]|0)+20>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(c[B>>2]<<2);A=VT(m,c[(c[i>>2]|0)+4>>2]|0,-1)|0;c[(c[n>>2]|0)+4>>2]=A;A=VT(m,c[(c[i>>2]|0)+8>>2]|0,-1)|0;c[(c[n>>2]|0)+8>>2]=A;c[(c[n>>2]|0)+44>>2]=1;c[(c[n>>2]|0)+48>>2]=0;if((c[m>>2]|0)==0?(kl(c[(c[n>>2]|0)+8>>2]|0,48062)|0)==0:0){c[C>>2]=c[(c[n>>2]|0)+8>>2];C=nf(49850,C)|0;c[c[k>>2]>>2]=C;c[m>>2]=1}c[o>>2]=3;while(1){if(c[m>>2]|0)break;if((c[o>>2]|0)>=(c[B>>2]|0))break;c[q>>2]=c[(c[i>>2]|0)+(c[o>>2]<<2)>>2];c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[r>>2]=lW(m,c[q>>2]|0,s,v)|0;c[r>>2]=HT(c[r>>2]|0)|0;if(c[r>>2]|0?(a[c[r>>2]>>0]|0)==61:0){c[u>>2]=1;C=(c[r>>2]|0)+1|0;c[r>>2]=C;c[r>>2]=c[v>>2]|0?0:C}c[r>>2]=HT(c[r>>2]|0)|0;if(((c[r>>2]|0?a[c[r>>2]>>0]|0:0)?(c[r>>2]=lW(m,c[r>>2]|0,t,w)|0,c[r>>2]|0):0)?a[c[r>>2]>>0]|0:0)c[r>>2]=0;do if(!(c[m>>2]|0)){if(!(c[r>>2]|0)){c[D>>2]=c[q>>2];C=nf(49879,D)|0;c[c[k>>2]>>2]=C;c[m>>2]=1;break}if(c[u>>2]|0){c[m>>2]=mW(c[z>>2]|0,c[n>>2]|0,c[s>>2]|0,c[t>>2]|0?c[t>>2]|0:55752,c[k>>2]|0)|0;break}else{c[m>>2]=nW(c[n>>2]|0,c[s>>2]|0,c[t>>2]|0,c[k>>2]|0)|0;c[s>>2]=0;break}}while(0);_d(c[s>>2]|0);_d(c[t>>2]|0);c[o>>2]=(c[o>>2]|0)+1}if((c[m>>2]|0)==0?(c[(c[n>>2]|0)+56>>2]|0)==0:0)c[m>>2]=oW(c[z>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)==0?(c[(c[n>>2]|0)+36>>2]|0)==0:0){c[x>>2]=0;if(c[(c[n>>2]|0)+32>>2]|0){if(c[(c[n>>2]|0)+44>>2]|0)c[x>>2]=49899}else c[x>>2]=46221;if(c[x>>2]|0){C=c[(c[n>>2]|0)+8>>2]|0;D=c[x>>2]|0;c[E>>2]=c[(c[n>>2]|0)+4>>2];c[E+4>>2]=C;c[E+8>>2]=D;E=ET(m,49907,E)|0;c[(c[n>>2]|0)+36>>2]=E}}if((c[m>>2]|0)==0?(c[(c[n>>2]|0)+40>>2]|0)==0:0){E=VT(m,26001,-1)|0;c[(c[n>>2]|0)+40>>2]=E}if(!(c[m>>2]|0))c[m>>2]=pW(c[n>>2]|0)|0;if(c[m>>2]|0){WU(c[n>>2]|0);c[c[j>>2]>>2]=0}c[y>>2]=c[m>>2];E=c[y>>2]|0;l=F;return E|0}function TU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+96|0;f=s+80|0;n=s+72|0;o=s+68|0;t=s+64|0;p=s+60|0;q=s+56|0;r=s+32|0;g=s+24|0;h=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;m=s;c[o>>2]=a;c[t>>2]=b;c[p>>2]=d;c[q>>2]=e;c[h>>2]=c[t>>2];c[c[p>>2]>>2]=0;c[c[q>>2]>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[j>>2]=cV(219)|0;if(!(c[j>>2]|0)){c[n>>2]=7;t=c[n>>2]|0;l=s;return t|0}c[r>>2]=c[o>>2];do{c[i>>2]=dV(r,h,g)|0;e=c[j>>2]|0;t=c[i>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];eV(e,t,f,r)}while((c[r+8>>2]|0)==0?(c[i>>2]|0)!=0:0);gV(c[j>>2]|0,164);do if(!(c[r+8>>2]|0)){t=pe(24)|0;c[k>>2]=t;c[c[p>>2]>>2]=t;if(!(c[k>>2]|0)){c[r+8>>2]=7;YU(c[r+20>>2]|0);break}if(!(c[r+20>>2]|0)){c[m>>2]=40;t=dT(r+8|0,40)|0;c[(c[k>>2]|0)+8>>2]=t;if(c[(c[k>>2]|0)+8>>2]|0)c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]=1}else c[(c[k>>2]|0)+8>>2]=c[r+20>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+4>>2]=c[o>>2];c[(c[k>>2]|0)+20>>2]=c[r+16>>2];c[(c[k>>2]|0)+16>>2]=c[r+12>>2];c[r+16>>2]=0}else YU(c[r+20>>2]|0);while(0);_d(c[r+16>>2]|0);c[c[q>>2]>>2]=c[r+4>>2];c[n>>2]=c[r+8>>2];t=c[n>>2]|0;l=s;return t|0}function UU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+160|0;n=I+96|0;g=I+88|0;E=I+80|0;D=I+72|0;C=I+64|0;B=I+56|0;A=I+48|0;z=I+40|0;y=I+32|0;F=I+24|0;r=I+16|0;q=I+8|0;f=I;G=I+156|0;j=I+152|0;k=I+148|0;m=I+144|0;H=I+140|0;w=I+136|0;x=I+132|0;s=I+128|0;t=I+124|0;p=I+120|0;u=I+116|0;v=I+112|0;e=I+108|0;h=I+104|0;i=I+100|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[H>>2]=0;a:do if((c[c[m>>2]>>2]|0)!=11?(c[c[m>>2]>>2]|0)!=4:0){c[e>>2]=0;switch(c[c[m>>2]>>2]|0){case 2:{c[e>>2]=45936;break}case 3:{c[e>>2]=45940;break}default:c[e>>2]=45933}c[g>>2]=c[e>>2];c[H>>2]=nf(21240,g)|0;c[h>>2]=0;while(1){if(!(c[H>>2]|0))break a;if((c[h>>2]|0)>=(c[(c[m>>2]|0)+28>>2]|0))break a;c[i>>2]=UU(c[j>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+32+(c[h>>2]<<2)>>2]|0)|0;a=c[H>>2]|0;if(c[i>>2]|0){c[n>>2]=c[i>>2];c[H>>2]=$U(a,49300,n)|0}else{_d(a);c[H>>2]=0}c[h>>2]=(c[h>>2]|0)+1}}else o=3;while(0);b:do if((o|0)==3){c[w>>2]=c[(c[m>>2]|0)+24>>2];o=c[H>>2]|0;c[f>>2]=c[k>>2];c[H>>2]=$U(o,49253,f)|0;if(!(c[H>>2]|0)){c[G>>2]=0;H=c[G>>2]|0;l=I;return H|0}if(c[(c[w>>2]|0)+4>>2]|0){c[t>>2]=(c[(c[w>>2]|0)+4>>2]|0)+4;c[p>>2]=c[c[(c[w>>2]|0)+4>>2]>>2];a=c[H>>2]|0;b=c[c[t>>2]>>2]|0;if((c[p>>2]|0)==1){c[q>>2]=b;c[H>>2]=$U(a,49257,q)|0}else{c[r>>2]=b;c[H>>2]=$U(a,49266,r)|0;c[x>>2]=1;while(1){a=c[H>>2]|0;if((c[x>>2]|0)>=(c[c[(c[w>>2]|0)+4>>2]>>2]|0))break;c[F>>2]=c[(c[t>>2]|0)+(c[x>>2]<<2)>>2];c[H>>2]=$U(a,49275,F)|0;c[x>>2]=(c[x>>2]|0)+1}c[H>>2]=$U(a,49279,y)|0}if(!(c[H>>2]|0)){c[G>>2]=0;H=c[G>>2]|0;l=I;return H|0}}if((c[(c[w>>2]|0)+8>>2]|0)>1?(F=c[H>>2]|0,c[z>>2]=c[c[w>>2]>>2],c[H>>2]=$U(F,49282,z)|0,(c[H>>2]|0)==0):0){c[G>>2]=0;H=c[G>>2]|0;l=I;return H|0}c[H>>2]=$U(c[H>>2]|0,49292,A)|0;if(!(c[H>>2]|0)){c[G>>2]=0;H=c[G>>2]|0;l=I;return H|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[w>>2]|0)+8>>2]|0))break b;c[u>>2]=c[(c[w>>2]|0)+12+(c[x>>2]<<2)>>2];c[H>>2]=$U(c[H>>2]|0,49295,B)|0;c[s>>2]=0;while(1){if(!(c[H>>2]|0))break;if((c[s>>2]|0)>=(c[(c[u>>2]|0)+16>>2]|0))break;c[v>>2]=c[(c[u>>2]|0)+20+(c[s>>2]<<4)+4>>2];F=c[H>>2]|0;A=c[v>>2]|0;c[C>>2]=(c[s>>2]|0)==0?55752:23021;c[C+4>>2]=A;c[H>>2]=$U(F,23403,C)|0;if(c[(c[u>>2]|0)+20+(c[s>>2]<<4)>>2]|0)c[H>>2]=$U(c[H>>2]|0,29578,D)|0;c[s>>2]=(c[s>>2]|0)+1}if(c[H>>2]|0)c[H>>2]=$U(c[H>>2]|0,49298,E)|0;if(!(c[H>>2]|0))break;c[x>>2]=(c[x>>2]|0)+1}c[G>>2]=0;H=c[G>>2]|0;l=I;return H|0}while(0);c[G>>2]=c[H>>2];H=c[G>>2]|0;l=I;return H|0}function VU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+128|0;v=A+48|0;u=A+40|0;t=A+32|0;w=A+24|0;f=A+16|0;e=A+8|0;x=A+120|0;o=A+116|0;p=A+112|0;y=A+108|0;q=A+104|0;r=A+100|0;s=A+96|0;d=A+92|0;g=A+88|0;h=A+84|0;i=A+80|0;j=A+76|0;k=A+72|0;m=A+68|0;n=A+64|0;c[o>>2]=a;c[p>>2]=b;c[y>>2]=0;if(!(c[c[p>>2]>>2]|0)){c[x>>2]=nf(49208,A)|0;z=c[x>>2]|0;l=A;return z|0}a:do if((c[c[p>>2]>>2]|0)!=11?(c[c[p>>2]>>2]|0)!=4:0){c[i>>2]=0;switch(c[c[p>>2]>>2]|0){case 2:{c[i>>2]=34303;break}case 3:{c[i>>2]=49233;break}default:c[i>>2]=49239}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[p>>2]|0)+28>>2]|0))break a;c[k>>2]=VU(c[o>>2]|0,c[(c[p>>2]|0)+32+(c[j>>2]<<2)>>2]|0)|0;if(!(c[k>>2]|0)){_d(c[y>>2]|0);c[y>>2]=0}else{c[m>>2]=c[c[(c[p>>2]|0)+32+(c[j>>2]<<2)>>2]>>2];if((c[m>>2]|0)!=11&(c[m>>2]|0)!=4)a=(c[m>>2]|0)!=0;else a=0;c[n>>2]=a&1;w=c[y>>2]|0;s=c[n>>2]|0?34324:55752;t=c[k>>2]|0;u=c[n>>2]|0?34322:55752;c[v>>2]=(c[j>>2]|0)==0?55752:c[i>>2]|0;c[v+4>>2]=s;c[v+8>>2]=t;c[v+12>>2]=u;c[y>>2]=$U(w,49244,v)|0}if(!(c[y>>2]|0))break a;c[j>>2]=(c[j>>2]|0)+1}}else z=5;while(0);do if((z|0)==5){c[q>>2]=c[(c[p>>2]|0)+24>>2];if(c[(c[q>>2]|0)+4>>2]|0?(c[d>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+4>>2],z=c[y>>2]|0,c[e>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[d>>2]<<2)>>2],c[y>>2]=$U(z,49211,e)|0,(c[y>>2]|0)==0):0){c[x>>2]=0;z=c[x>>2]|0;l=A;return z|0}if((c[(c[q>>2]|0)+8>>2]|0)>1?(c[y>>2]=$U(c[y>>2]|0,49217,f)|0,(c[y>>2]|0)==0):0){c[x>>2]=0;z=c[x>>2]|0;l=A;return z|0}c[r>>2]=0;b:while(1){a=c[q>>2]|0;if((c[r>>2]|0)>=(c[(c[q>>2]|0)+8>>2]|0)){z=24;break}c[g>>2]=c[a+12+(c[r>>2]<<2)>>2];if(c[r>>2]|0?(c[y>>2]=$U(c[y>>2]|0,23021,w)|0,(c[y>>2]|0)==0):0){z=15;break}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[g>>2]|0)+16>>2]|0))break;c[h>>2]=aV((c[g>>2]|0)+20+(c[s>>2]<<4)|0)|0;if(c[h>>2]|0){z=c[y>>2]|0;v=c[h>>2]|0;c[t>>2]=(c[s>>2]|0)==0?55752:49223;c[t+4>>2]=v;c[y>>2]=$U(z,23403,t)|0;_d(c[h>>2]|0)}if((c[h>>2]|0)==0|(c[y>>2]|0)==0){z=21;break b}c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}if((z|0)==15){c[x>>2]=0;z=c[x>>2]|0;l=A;return z|0}else if((z|0)==21){_d(c[y>>2]|0);c[x>>2]=0;z=c[x>>2]|0;l=A;return z|0}else if((z|0)==24){if((c[a+8>>2]|0)<=1)break;z=c[y>>2]|0;c[u>>2]=c[c[q>>2]>>2];c[y>>2]=$U(z,49227,u)|0;if(c[y>>2]|0)break;c[x>>2]=0;z=c[x>>2]|0;l=A;return z|0}}while(0);c[x>>2]=c[y>>2];z=c[x>>2]|0;l=A;return z|0}function WU(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}if(c[(c[b>>2]|0)+56>>2]|0)Eb[c[(c[(c[b>>2]|0)+60>>2]|0)+4>>2]&255](c[(c[b>>2]|0)+56>>2]|0);_d(c[(c[b>>2]|0)+4>>2]|0);_d(c[(c[b>>2]|0)+8>>2]|0);c[d>>2]=0;while(1){a=c[(c[b>>2]|0)+16>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+12>>2]|0))break;_d(c[a+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}_d(a);_d(c[(c[b>>2]|0)+28>>2]|0);_d(c[(c[b>>2]|0)+88>>2]|0);_d(c[(c[b>>2]|0)+92>>2]|0);_d(c[(c[b>>2]|0)+36>>2]|0);_d(c[(c[b>>2]|0)+40>>2]|0);_d(c[(c[b>>2]|0)+52>>2]|0);_d(c[b>>2]|0);l=e;return}function XU(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}YU(c[(c[b>>2]|0)+8>>2]|0);_d(c[(c[b>>2]|0)+20>>2]|0);_d(c[b>>2]|0);l=d;return}function YU(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;YU(c[a+32+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}ZU(c[a+24>>2]|0);_d(c[b>>2]|0);l=e;return}function ZU(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+8>>2]|0))break;_U(c[a+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}_d(c[a+4>>2]|0);_d(c[b>>2]|0);l=e;return}function _U(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;if(!(c[b>>2]|0)){l=h;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+16>>2]|0))break;c[g>>2]=a+20+(c[d>>2]<<4);_d(c[(c[g>>2]|0)+4>>2]|0);mS(c[(c[g>>2]|0)+8>>2]|0);c[e>>2]=c[(c[g>>2]|0)+12>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+12>>2];mS(c[(c[e>>2]|0)+8>>2]|0);nS((c[e>>2]|0)+16|0);_d(c[e>>2]|0);c[e>>2]=c[f>>2]}c[d>>2]=(c[d>>2]|0)+1}if((c[a+4+8>>2]|0)>0)nS((c[b>>2]|0)+4|0);_d(c[b>>2]|0);l=h;return}function $U(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;h=i;e=i+40|0;k=i+36|0;f=i+32|0;j=i+16|0;g=i+8|0;c[e>>2]=a;c[k>>2]=b;c[j>>2]=d;c[f>>2]=vf(c[k>>2]|0,j)|0;if(!((c[e>>2]|0)!=0&(c[f>>2]|0)!=0)){k=c[e>>2]|0;_d(k);k=c[f>>2]|0;l=i;return k|0}k=c[f>>2]|0;c[h>>2]=c[e>>2];c[h+4>>2]=k;c[g>>2]=nf(23403,h)|0;_d(c[f>>2]|0);c[f>>2]=c[g>>2];k=c[e>>2]|0;_d(k);k=c[f>>2]|0;l=i;return k|0}function aV(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;d=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[d>>2]=0;c[f>>2]=c[e>>2];while(1){if(!(c[f>>2]|0))break;b=((g$(c[(c[e>>2]|0)+4>>2]|0)|0)<<1)+3+2|0;c[d>>2]=(c[d>>2]|0)+b;c[f>>2]=c[(c[f>>2]|0)+12>>2]}c[g>>2]=pe(c[d>>2]|0)|0;if(!(c[g>>2]|0)){i=c[g>>2]|0;l=j;return i|0}c[h>>2]=0;c[f>>2]=c[e>>2];while(1){if(!(c[f>>2]|0))break;c[i>>2]=c[(c[f>>2]|0)+4>>2];k=c[g>>2]|0;d=c[h>>2]|0;c[h>>2]=d+1;b=34;d=k+d|0;while(1){a[d>>0]=b;if(!(a[c[i>>2]>>0]|0))break;if((a[c[i>>2]>>0]|0)==34){d=c[g>>2]|0;k=c[h>>2]|0;c[h>>2]=k+1;a[d+k>>0]=34}b=c[i>>2]|0;c[i>>2]=b+1;b=a[b>>0]|0;k=c[g>>2]|0;d=c[h>>2]|0;c[h>>2]=d+1;d=k+d|0}d=c[g>>2]|0;k=c[h>>2]|0;c[h>>2]=k+1;a[d+k>>0]=34;if(c[(c[f>>2]|0)+12>>2]|0){d=c[g>>2]|0;k=c[h>>2]|0;c[h>>2]=k+1;a[d+k>>0]=124}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if(c[c[e>>2]>>2]|0){k=c[g>>2]|0;i=c[h>>2]|0;c[h>>2]=i+1;a[k+i>>0]=32;i=c[g>>2]|0;k=c[h>>2]|0;c[h>>2]=k+1;a[i+k>>0]=42}i=c[g>>2]|0;k=c[h>>2]|0;c[h>>2]=k+1;a[i+k>>0]=0;k=c[g>>2]|0;l=j;return k|0}function bV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=pe(c[e>>2]|0)|0;l=d;return b|0}function cV(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=Mb[c[f>>2]&255](1208,0)|0;if(!(c[d>>2]|0)){f=c[d>>2]|0;l=e;return f|0}c[c[d>>2]>>2]=(c[d>>2]|0)+8;a[(c[d>>2]|0)+8>>0]=0;a[(c[d>>2]|0)+8+1>>0]=0;f=c[d>>2]|0;l=e;return f|0}function dV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;i=r+8|0;h=r;m=r+40|0;f=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;k=r+12|0;c[f>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=c[c[n>>2]>>2];while(1){e=(kW(a[c[p>>2]>>0]|0)|0)!=0;b=c[p>>2]|0;if(!e)break;c[p>>2]=b+1}c[c[o>>2]>>2]=b;c[(c[o>>2]|0)+4>>2]=1;a:do switch(a[c[p>>2]>>0]|0){case 40:{c[q>>2]=6;break}case 41:{c[q>>2]=7;break}case 123:{c[q>>2]=9;break}case 125:{c[q>>2]=10;break}case 58:{c[q>>2]=5;break}case 44:{c[q>>2]=12;break}case 43:{c[q>>2]=13;break}case 42:{c[q>>2]=14;break}case 45:{c[q>>2]=8;break}case 0:{c[q>>2]=0;break}case 34:{c[q>>2]=11;c[g>>2]=(c[p>>2]|0)+1;while(1){if((a[c[g>>2]>>0]|0)==34?(c[g>>2]=(c[g>>2]|0)+1,(a[c[g>>2]>>0]|0)!=34):0){j=21;break}if(!(a[c[g>>2]>>0]|0))break;c[g>>2]=(c[g>>2]|0)+1}if((j|0)==21){c[(c[o>>2]|0)+4>>2]=(c[g>>2]|0)-(c[p>>2]|0);break a}oV(c[f>>2]|0,49799,h);c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}default:{if(!(MT(a[c[p>>2]>>0]|0)|0)){q=c[f>>2]|0;c[i>>2]=c[p>>2];oV(q,49819,i);c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}c[q>>2]=11;c[k>>2]=(c[p>>2]|0)+1;while(1){j=(MT(a[c[k>>2]>>0]|0)|0)!=0;b=c[k>>2]|0;if(!j)break;c[k>>2]=b+1}c[(c[o>>2]|0)+4>>2]=b-(c[p>>2]|0);if((c[(c[o>>2]|0)+4>>2]|0)==2?(H_(c[c[o>>2]>>2]|0,45933,2)|0)==0:0)c[q>>2]=1;if((c[(c[o>>2]|0)+4>>2]|0)==3?(H_(c[c[o>>2]>>2]|0,45940,3)|0)==0:0)c[q>>2]=3;if((c[(c[o>>2]|0)+4>>2]|0)==3?(H_(c[c[o>>2]>>2]|0,45936,3)|0)==0:0)c[q>>2]=2}}while(0);c[c[n>>2]>>2]=(c[c[o>>2]>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0);c[m>>2]=c[q>>2];q=c[m>>2]|0;l=r;return q|0}function eV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;f=k+32|0;n=k+24|0;g=k+20|0;m=k+16|0;h=k+8|0;i=k+4|0;j=k;c[n>>2]=a;c[g>>2]=b;c[m>>2]=e;c[j>>2]=c[n>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];while(1){c[i>>2]=kV(c[j>>2]|0,c[g>>2]&255)|0;do if((c[i>>2]|0)>>>0>70)if((c[i>>2]|0)>>>0<=96){mV(c[j>>2]|0,(c[i>>2]|0)-71|0);break}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];m=c[j>>2]|0;n=c[g>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];nV(m,n,f);iV(c[j>>2]|0,c[g>>2]&255,h);c[g>>2]=28;break}else{e=c[j>>2]|0;m=c[i>>2]|0;n=c[g>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];lV(e,m,n,f);c[g>>2]=28}while(0);if((c[g>>2]|0)==28){f=9;break}if((c[c[j>>2]>>2]|0)>>>0<=((c[j>>2]|0)+8|0)>>>0){f=9;break}}if((f|0)==9){l=k;return}}function fV(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return}function gV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if(!(c[e>>2]|0)){l=f;return}while(1){if((c[c[e>>2]>>2]|0)>>>0<=((c[e>>2]|0)+8|0)>>>0)break;hV(c[e>>2]|0)}Eb[c[d>>2]&255](c[e>>2]|0);l=f;return}function hV(b){b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-12;c[e>>2]=b;iV(c[f>>2]|0,a[(c[e>>2]|0)+1>>0]|0,(c[e>>2]|0)+4|0);l=d;return}function iV(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=l;l=l+16|0;j=h+8|0;i=h+12|0;g=h+4|0;c[j>>2]=b;a[i>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[j>>2]|0)+4>>2];switch(d[i>>0]|0|0){case 16:{l=h;return}case 19:case 18:case 17:{YU(c[c[g>>2]>>2]|0);l=h;return}case 23:case 20:{ZU(c[c[g>>2]>>2]|0);l=h;return}case 22:case 21:{_d(c[c[g>>2]>>2]|0);l=h;return}case 24:{jV(c[c[g>>2]>>2]|0);l=h;return}default:{l=h;return}}}function jV(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_U(c[d>>2]|0);l=b;return}function kV(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+12|0;k=j+8|0;g=j+16|0;h=j+4|0;i=j;c[k>>2]=b;a[g>>0]=e;c[i>>2]=d[c[c[k>>2]>>2]>>0];b=c[i>>2]|0;if((c[i>>2]|0)>=71){c[f>>2]=b;k=c[f>>2]|0;l=j;return k|0}c[h>>2]=d[49656+b>>0];c[h>>2]=(c[h>>2]|0)+(d[g>>0]|0);if(!((c[h>>2]|0)<0|(c[h>>2]|0)>=85)?(d[49685+(c[h>>2]|0)>>0]|0|0)==(d[g>>0]|0|0):0){c[f>>2]=d[49404+(c[h>>2]|0)>>0];k=c[f>>2]|0;l=j;return k|0}c[f>>2]=d[49770+(c[i>>2]|0)>>0];k=c[f>>2]|0;l=j;return k|0}function lV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;e=c[g>>2]|0;c[e>>2]=(c[e>>2]|0)+12;if((c[c[g>>2]>>2]|0)>>>0>=((c[g>>2]|0)+8+1200|0)>>>0){pV(c[g>>2]|0);l=k;return}if((c[h>>2]|0)>28)c[h>>2]=(c[h>>2]|0)+26;c[j>>2]=c[c[g>>2]>>2];a[c[j>>2]>>0]=c[h>>2];a[(c[j>>2]|0)+1>>0]=c[i>>2];j=(c[j>>2]|0)+4|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];l=k;return}function mV(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[(c[f>>2]|0)+4>>2];c[j>>2]=c[c[f>>2]>>2];if((d[49337+(c[g>>2]<<1)+1>>0]|0|0)==0?(c[c[f>>2]>>2]|0)>>>0>=((c[f>>2]|0)+8+1188|0)>>>0:0){pV(c[f>>2]|0);l=o;return}do switch(c[g>>2]|0){case 0:{qV(c[m>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break}case 1:{c[n>>2]=rV(c[m>>2]|0,2,c[(c[j>>2]|0)+-24+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,0)|0;c[(c[j>>2]|0)+-24+4>>2]=c[n>>2];break}case 2:{c[n>>2]=rV(c[m>>2]|0,1,c[(c[j>>2]|0)+-24+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,0)|0;c[(c[j>>2]|0)+-24+4>>2]=c[n>>2];break}case 3:{c[n>>2]=rV(c[m>>2]|0,3,c[(c[j>>2]|0)+-24+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,0)|0;c[(c[j>>2]|0)+-24+4>>2]=c[n>>2];break}case 4:{c[(c[j>>2]|0)+-24+4>>2]=c[(c[j>>2]|0)+-12+4>>2];break}case 6:case 5:{c[n>>2]=c[(c[j>>2]|0)+4>>2];c[(c[j>>2]|0)+4>>2]=c[n>>2];break}case 7:{c[n>>2]=sV(c[m>>2]|0,c[(c[j>>2]|0)+-12+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+-12+4>>2]=c[n>>2];break}case 8:{c[n>>2]=rV(c[m>>2]|0,11,0,0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=c[n>>2];break}case 9:{tV(c[m>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+-24+4>>2]|0);c[n>>2]=rV(c[m>>2]|0,11,0,0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+-24+4>>2]=c[n>>2];break}case 10:{n=uV(c[m>>2]|0,c[(c[j>>2]|0)+-12+4>>2]|0)|0;c[(c[j>>2]|0)+-36+4>>2]=n;break}case 11:{c[(c[j>>2]|0)+-24+4>>2]=c[(c[j>>2]|0)+-12+4>>2];break}case 12:{c[n>>2]=vV(c[m>>2]|0,0,(c[j>>2]|0)+4|0)|0;c[(c[j>>2]|0)+4>>2]=c[n>>2];break}case 13:{n=vV(c[m>>2]|0,0,(c[j>>2]|0)+4|0)|0;c[(c[j>>2]|0)+-12+4>>2]=n;n=uV(c[m>>2]|0,c[(c[j>>2]|0)+-12+4>>2]|0)|0;c[(c[j>>2]|0)+-12+4>>2]=n;break}case 14:{c[n>>2]=vV(c[m>>2]|0,c[(c[j>>2]|0)+-12+4>>2]|0,(c[j>>2]|0)+4|0)|0;c[(c[j>>2]|0)+-12+4>>2]=c[n>>2];break}case 15:{c[n>>2]=vV(c[m>>2]|0,0,(c[j>>2]|0)+4|0)|0;c[(c[j>>2]|0)+4>>2]=c[n>>2];break}case 16:{c[n>>2]=wV(c[m>>2]|0,0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=c[n>>2];break}case 17:{xV(c[m>>2]|0,(c[j>>2]|0)+-48+4|0);yV(c[m>>2]|0,c[(c[j>>2]|0)+-24+4>>2]|0,(c[j>>2]|0)+-12+4|0);c[n>>2]=c[(c[j>>2]|0)+-24+4>>2];c[(c[j>>2]|0)+-48+4>>2]=c[n>>2];break}case 18:{c[n>>2]=wV(c[m>>2]|0,0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=c[n>>2];break}case 19:{c[n>>2]=wV(c[m>>2]|0,c[(c[j>>2]|0)+-12+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+-12+4>>2]=c[n>>2];break}case 20:{c[(c[j>>2]|0)+12+4>>2]=0;c[(c[j>>2]|0)+12+4+4>>2]=0;break}case 21:{n=(c[j>>2]|0)+-12+4|0;m=(c[j>>2]|0)+4|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];break}case 22:{c[n>>2]=zV(c[m>>2]|0,c[(c[j>>2]|0)+-36+4>>2]|0,(c[j>>2]|0)+-12+4|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+-36+4>>2]=c[n>>2];break}case 23:{c[n>>2]=zV(c[m>>2]|0,0,(c[j>>2]|0)+-12+4|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+-12+4>>2]=c[n>>2];break}case 24:{c[(c[j>>2]|0)+4>>2]=1;break}case 25:{c[(c[j>>2]|0)+12+4>>2]=0;break}default:{}}while(0);c[h>>2]=d[49337+(c[g>>2]<<1)>>0];c[k>>2]=d[49337+(c[g>>2]<<1)+1>>0];c[i>>2]=AV(d[(c[j>>2]|0)+((0-(c[k>>2]|0)|0)*12|0)>>0]|0,c[h>>2]&255)|0;if((c[i>>2]|0)>70){n=c[f>>2]|0;c[n>>2]=(c[n>>2]|0)+((0-(c[k>>2]|0)|0)*12|0);BV(c[f>>2]|0);l=o;return}if((c[i>>2]|0)>28)c[i>>2]=(c[i>>2]|0)+26;c[j>>2]=(c[j>>2]|0)+((0-((c[k>>2]|0)-1)|0)*12|0);c[c[f>>2]>>2]=c[j>>2];a[c[j>>2]>>0]=c[i>>2];a[(c[j>>2]|0)+1>>0]=c[h>>2];l=o;return}function nV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;h=e;f=e+16|0;g=e+8|0;c[f>>2]=a;c[e+12>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];b=c[g>>2]|0;a=c[d>>2]|0;c[h>>2]=c[d+4>>2];c[h+4>>2]=a;oV(b,49306,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];l=e;return}function oV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+8>>2]|0){l=h;return}d=vf(c[f>>2]|0,g)|0;c[(c[e>>2]|0)+4>>2]=d;c[(c[e>>2]|0)+8>>2]=1;l=h;return}function pV(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-12;while(1){if((c[c[b>>2]>>2]|0)>>>0<=((c[b>>2]|0)+8|0)>>>0)break;hV(c[b>>2]|0)}oV(c[d>>2]|0,49628,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];l=f;return}function qV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];l=d;return}function rV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;r=s;m=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;q=s+24|0;g=s+20|0;h=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[g>>2]=f;c[h>>2]=0;do if(!(c[(c[n>>2]|0)+8>>2]|0)){c[i>>2]=0;if((c[o>>2]|0)==11&(c[g>>2]|0)==0){c[m>>2]=0;r=c[m>>2]|0;l=s;return r|0}if((c[o>>2]|0)!=11&(c[p>>2]|0)==0){c[m>>2]=c[q>>2];r=c[m>>2]|0;l=s;return r|0}if((c[o>>2]|0)!=11&(c[q>>2]|0)==0){c[m>>2]=c[p>>2];r=c[m>>2]|0;l=s;return r|0}if((c[o>>2]|0)!=3){if((c[o>>2]|0)==2|(c[o>>2]|0)==1){c[i>>2]=2;if((c[c[p>>2]>>2]|0)==(c[o>>2]|0))c[i>>2]=(c[i>>2]|0)+((c[(c[p>>2]|0)+28>>2]|0)-1);if((c[c[q>>2]>>2]|0)==(c[o>>2]|0))c[i>>2]=(c[i>>2]|0)+((c[(c[q>>2]|0)+28>>2]|0)-1)}}else c[i>>2]=2;c[j>>2]=40+((c[i>>2]|0)-1<<2);c[h>>2]=dT((c[n>>2]|0)+8|0,c[j>>2]|0)|0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[o>>2];c[(c[h>>2]|0)+24>>2]=c[g>>2];GV(c[h>>2]|0);if((c[o>>2]|0)!=11){HV(c[h>>2]|0,c[p>>2]|0);HV(c[h>>2]|0,c[q>>2]|0);break}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[c[(c[g>>2]|0)+12+(c[k>>2]<<2)>>2]>>2]=c[h>>2];if(!(c[(c[(c[g>>2]|0)+12+(c[k>>2]<<2)>>2]|0)+16>>2]|0)){c[(c[h>>2]|0)+12>>2]=0;c[c[h>>2]>>2]=0}c[k>>2]=(c[k>>2]|0)+1}if(c[(c[c[n>>2]>>2]|0)+48>>2]|0){if((c[(c[g>>2]|0)+8>>2]|0)==1?(c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]|0)<=1:0)break;c[(c[n>>2]|0)+8>>2]=1;c[r>>2]=(c[(c[g>>2]|0)+8>>2]|0)==1?49571:45944;r=nf(49578,r)|0;c[(c[n>>2]|0)+4>>2]=r;_d(c[h>>2]|0);c[h>>2]=0}}}while(0);if(!(c[h>>2]|0)){YU(c[p>>2]|0);YU(c[q>>2]|0);ZU(c[g>>2]|0)}c[m>>2]=c[h>>2];r=c[m>>2]|0;l=s;return r|0}function sV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){YU(a);YU(c[g>>2]|0);j=c[h>>2]|0;l=k;return j|0}b=c[f>>2]|0;if((c[a>>2]|0)==2)c[i>>2]=c[b+32+((c[(c[f>>2]|0)+28>>2]|0)-1<<2)>>2];else c[i>>2]=b;if(!(c[c[g>>2]>>2]|0)){YU(c[g>>2]|0);c[h>>2]=c[f>>2];j=(c[e>>2]|0)+12|0;c[j>>2]=(c[j>>2]|0)+-1;j=c[h>>2]|0;l=k;return j|0}if(c[c[i>>2]>>2]|0){c[h>>2]=rV(c[e>>2]|0,2,c[f>>2]|0,c[g>>2]|0,0)|0;j=c[h>>2]|0;l=k;return j|0}a=c[g>>2]|0;if((c[i>>2]|0)==(c[f>>2]|0))c[h>>2]=a;else{c[(c[f>>2]|0)+32+((c[(c[f>>2]|0)+28>>2]|0)-1<<2)>>2]=a;c[h>>2]=c[f>>2]}c[j>>2]=(c[(c[e>>2]|0)+16>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-1-(c[(c[(c[g>>2]|0)+24>>2]|0)+8>>2]|0)<<2);k0(c[j>>2]|0,(c[j>>2]|0)+4|0,c[(c[(c[g>>2]|0)+24>>2]|0)+8>>2]<<2|0)|0;j=(c[e>>2]|0)+12|0;c[j>>2]=(c[j>>2]|0)+-1;YU(c[i>>2]|0);j=c[h>>2]|0;l=k;return j|0}function tV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;g=h+8|0;f=h+4|0;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;if((c[(c[c[e>>2]>>2]|0)+48>>2]|0)==1){c[(c[e>>2]|0)+8>>2]=1;g=nf(49518,h)|0;c[(c[e>>2]|0)+4>>2]=g;_d(c[f>>2]|0);l=h;return}a=c[f>>2]|0;if(c[g>>2]|0){c[(c[g>>2]|0)+4>>2]=a;l=h;return}else{_d(a);l=h;return}}function uV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[d>>2]=b;c[f>>2]=c[(c[c[j>>2]>>2]|0)+12>>2];c[e>>2]=dT((c[j>>2]|0)+8|0,8+(c[f>>2]<<2)|0)|0;if(!(c[e>>2]|0)){j=c[d>>2]|0;_d(j);j=c[e>>2]|0;l=i;return j|0}c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0))break;if((c[h>>2]|0)<(c[c[d>>2]>>2]|0)?(c[(c[d>>2]|0)+4+(c[h>>2]<<2)>>2]|0)==(c[g>>2]|0):0)c[h>>2]=(c[h>>2]|0)+1;else{a=c[g>>2]|0;b=(c[e>>2]|0)+4|0;k=c[e>>2]|0;j=c[k>>2]|0;c[k>>2]=j+1;c[b+(j<<2)>>2]=a}c[g>>2]=(c[g>>2]|0)+1}k=c[d>>2]|0;_d(k);k=c[e>>2]|0;l=i;return k|0}function vV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;k=m;e=m+28|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=d;c[g>>2]=0;c[i>>2]=VT((c[e>>2]|0)+8|0,c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0)|0;if(!(c[(c[e>>2]|0)+8>>2]|0)){c[j>>2]=c[c[e>>2]>>2];TT(c[i>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;if(!(kl(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[h>>2]<<2)>>2]|0,c[i>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1}a=c[e>>2]|0;if((c[h>>2]|0)==(c[(c[j>>2]|0)+12>>2]|0)){c[k>>2]=c[i>>2];oV(a,34753,k)}else c[g>>2]=FV(a,c[f>>2]|0,c[h>>2]|0)|0;_d(c[i>>2]|0)}if(c[g>>2]|0){n=c[g>>2]|0;l=m;return n|0}_d(c[f>>2]|0);n=c[g>>2]|0;l=m;return n|0}function wV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;i=o+36|0;j=o+32|0;k=o+28|0;m=o+24|0;n=o+16|0;e=o+12|0;f=o+8|0;g=o+4|0;h=o;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[o+20>>2]=8;c[n>>2]=0;do if(!(c[(c[j>>2]|0)+8>>2]|0)){a=c[k>>2]|0;if(!(c[m>>2]|0)){c[i>>2]=a;n=c[i>>2]|0;l=o;return n|0}if(!a){c[e>>2]=48;c[n>>2]=pe(c[e>>2]|0)|0;if(!(c[n>>2]|0)){c[(c[j>>2]|0)+8>>2]=7;break}else{m0(c[n>>2]|0,0,c[e>>2]|0)|0;break}}a=c[k>>2]|0;if((c[(c[k>>2]|0)+8>>2]|0)%8|0|0){c[n>>2]=a;break}c[f>>2]=(c[a+8>>2]|0)+8;c[g>>2]=16+(c[f>>2]<<2);c[n>>2]=Xf(c[k>>2]|0,c[g>>2]|0)|0;if(!(c[n>>2]|0))c[(c[j>>2]|0)+8>>2]=7}while(0);if(!(c[n>>2]|0)){ZU(c[k>>2]|0);jV(c[m>>2]|0)}else{do if((c[(c[n>>2]|0)+8>>2]|0)>0){c[h>>2]=c[(c[n>>2]|0)+12+((c[(c[n>>2]|0)+8>>2]|0)-1<<2)>>2];if(!(c[(c[m>>2]|0)+16>>2]|0)){_U(c[m>>2]|0);k=(c[n>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+-1;k=(c[j>>2]|0)+12|0;c[k>>2]=(c[k>>2]|0)+-1;c[m>>2]=c[h>>2];break}if(!(c[(c[h>>2]|0)+16>>2]|0)){_U(c[h>>2]|0);c[(c[(c[j>>2]|0)+16>>2]|0)+((c[(c[j>>2]|0)+12>>2]|0)-2<<2)>>2]=c[m>>2];k=(c[j>>2]|0)+12|0;c[k>>2]=(c[k>>2]|0)+-1;k=(c[n>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+-1}}while(0);j=c[m>>2]|0;k=(c[n>>2]|0)+12|0;h=(c[n>>2]|0)+8|0;m=c[h>>2]|0;c[h>>2]=m+1;c[k+(m<<2)>>2]=j}c[i>>2]=c[n>>2];n=c[i>>2]|0;l=o;return n|0}function xV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g;d=g+12|0;e=g+8|0;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+4>>2]|0)==4?(H_(45944,c[c[e>>2]>>2]|0,4)|0)==0:0){l=g;return}d=c[d>>2]|0;b=c[c[e>>2]>>2]|0;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[f+4>>2]=b;oV(d,49306,f);l=g;return}function yV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){l=n;return}c[i>>2]=0;a:do if(c[(c[h>>2]|0)+4>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[h>>2]|0)+4>>2]|0))break a;a[k>>0]=a[(c[c[h>>2]>>2]|0)+(c[j>>2]|0)>>0]|0;if((a[k>>0]|0)<48)break;if((a[k>>0]|0)>57)break;c[i>>2]=((c[i>>2]|0)*10|0)+((a[(c[c[h>>2]>>2]|0)+(c[j>>2]|0)>>0]|0)-48);c[j>>2]=(c[j>>2]|0)+1}k=c[f>>2]|0;j=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[h>>2]|0)+4>>2];c[m+4>>2]=j;oV(k,49489,m);l=n;return}else c[i>>2]=10;while(0);c[c[g>>2]>>2]=c[i>>2];l=n;return}function zV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;n=s+52|0;o=s+48|0;p=s+44|0;t=s+40|0;q=s+36|0;r=s+32|0;f=s+24|0;g=s+20|0;h=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;m=s;c[o>>2]=a;c[p>>2]=b;c[t>>2]=d;c[q>>2]=e;c[r>>2]=c[c[o>>2]>>2];c[h>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f>>2]=c[p>>2];c[g>>2]=CV(c[t>>2]|0,h)|0;if(!(c[g>>2]|0)){c[i>>2]=1|(c[q>>2]|0?1:0);TT(c[h>>2]|0);c[j>>2]=g$(c[h>>2]|0)|0;c[g>>2]=EV(c[r>>2]|0,c[i>>2]|0,c[h>>2]|0,c[j>>2]|0,f,151)|0}_d(c[h>>2]|0);if(!(c[g>>2]|0)?(t=c[f+4>>2]|0,c[g>>2]=t,!(t|0)):0){if(!(c[p>>2]|0)){do if(!((c[(c[o>>2]|0)+12>>2]|0)%8|0)){c[k>>2]=(c[(c[o>>2]|0)+12>>2]|0)+8<<2;c[m>>2]=Xf(c[(c[o>>2]|0)+16>>2]|0,c[k>>2]|0)|0;if(c[m>>2]|0){c[(c[o>>2]|0)+16>>2]=c[m>>2];break}c[(c[o>>2]|0)+8>>2]=7;_U(c[f>>2]|0);c[n>>2]=0;t=c[n>>2]|0;l=s;return t|0}while(0);t=(c[o>>2]|0)+12|0;c[t>>2]=(c[t>>2]|0)+1}if(c[f>>2]|0){if(c[(c[f>>2]|0)+16>>2]|0)c[(c[f>>2]|0)+20+((c[(c[f>>2]|0)+16>>2]|0)-1<<4)>>2]=c[q>>2]}else c[f>>2]=dT((c[o>>2]|0)+8|0,36)|0;c[(c[(c[o>>2]|0)+16>>2]|0)+((c[(c[o>>2]|0)+12>>2]|0)-1<<2)>>2]=c[f>>2]}else{c[(c[o>>2]|0)+8>>2]=c[g>>2];_U(c[f>>2]|0);c[f>>2]=0}c[n>>2]=c[f>>2];t=c[n>>2]|0;l=s;return t|0}function AV(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+4|0;h=g+8|0;f=g;c[i>>2]=b;a[h>>0]=e;c[f>>2]=a[49389+(c[i>>2]|0)>>0];c[f>>2]=(c[f>>2]|0)+(d[h>>0]|0);l=g;return d[49404+(c[f>>2]|0)>>0]|0}function BV(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=c[e>>2];l=b;return}function CV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=0;b=VT(d,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;c[c[f>>2]>>2]=b;l=e;return c[d>>2]|0}function DV(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+64|0;t=v+60|0;w=v+56|0;j=v+52|0;u=v+48|0;m=v+44|0;n=v+32|0;o=v+24|0;p=v+20|0;h=v+16|0;i=v+12|0;q=v+8|0;r=v+4|0;s=v;c[w>>2]=a;c[j>>2]=b;c[u>>2]=d;c[m>>2]=e;c[v+40>>2]=f;c[v+36>>2]=g;c[n>>2]=0;c[v+28>>2]=8;c[o>>2]=c[w>>2];c[p>>2]=c[c[o>>2]>>2];if(c[(c[o>>2]|0)+4>>2]|0){c[t>>2]=c[(c[o>>2]|0)+4>>2];w=c[t>>2]|0;l=v;return w|0}if((c[m>>2]|0)>32768)c[m>>2]=32768;do if((c[p>>2]|0?(c[(c[p>>2]|0)+16>>2]|0)>0:0)?c[j>>2]&1|0:0){c[i>>2]=28+(c[m>>2]|0)+1;c[h>>2]=pe(c[i>>2]|0)|0;if(!(c[h>>2]|0)){c[n>>2]=7;break}else{m0(c[h>>2]|0,0,c[i>>2]|0)|0;c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+16+12;h0(c[(c[h>>2]|0)+4>>2]|0,c[u>>2]|0,c[m>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=c[(c[p>>2]|0)+20+((c[(c[p>>2]|0)+16>>2]|0)-1<<4)+12>>2];c[(c[p>>2]|0)+20+((c[(c[p>>2]|0)+16>>2]|0)-1<<4)+12>>2]=c[h>>2];break}}else k=11;while(0);if((k|0)==11){if(!((c[p>>2]|0)!=0?((c[(c[p>>2]|0)+16>>2]|0)%8|0|0)!=0:0))k=13;do if((k|0)==13){if(c[p>>2]|0)a=c[(c[p>>2]|0)+16>>2]|0;else a=0;c[s>>2]=8+a;c[r>>2]=Xf(c[p>>2]|0,36+(c[s>>2]<<4)|0)|0;if(!(c[r>>2]|0)){c[n>>2]=7;break}if(!(c[p>>2]|0)){a=c[r>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0))}w=c[r>>2]|0;c[p>>2]=w;c[c[o>>2]>>2]=w;c[(c[r>>2]|0)+16>>2]=(c[s>>2]|0)-8}while(0);if(!(c[n>>2]|0)){s=(c[p>>2]|0)+20|0;r=(c[p>>2]|0)+16|0;w=c[r>>2]|0;c[r>>2]=w+1;c[q>>2]=s+(w<<4);w=c[q>>2]|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=VT(n,c[u>>2]|0,c[m>>2]|0)|0;c[(c[q>>2]|0)+4>>2]=w}}c[(c[o>>2]|0)+4>>2]=c[n>>2];c[t>>2]=c[n>>2];w=c[t>>2]|0;l=v;return w|0}function EV(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;i=p+4|0;j=p;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;if(!(c[o>>2]|0)){c[k>>2]=0;o=c[k>>2]|0;l=p;return o|0}else{c[k>>2]=Gb[c[(c[(c[m>>2]|0)+60>>2]|0)+8>>2]&255](c[(c[m>>2]|0)+56>>2]|0,c[i>>2]|0,c[n>>2]|0,c[o>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;o=c[k>>2]|0;l=p;return o|0}return 0}function FV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;e=p+4|0;f=p;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;if(c[i>>2]|0)a=c[c[i>>2]>>2]|0;else a=0;c[k>>2]=a;c[m>>2]=Xf(c[i>>2]|0,8+(c[k>>2]<<2)|0)|0;if(!(c[m>>2]|0))c[(c[h>>2]|0)+8>>2]=7;else{c[n>>2]=(c[m>>2]|0)+4;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[k>>2]|0))break;if((c[(c[n>>2]|0)+(c[e>>2]<<2)>>2]|0)==(c[j>>2]|0)){o=8;break}if((c[(c[n>>2]|0)+(c[e>>2]<<2)>>2]|0)>(c[j>>2]|0))break;c[e>>2]=(c[e>>2]|0)+1}if((o|0)==8){c[g>>2]=c[m>>2];o=c[g>>2]|0;l=p;return o|0}c[f>>2]=c[k>>2];while(1){if((c[f>>2]|0)<=(c[e>>2]|0))break;c[(c[n>>2]|0)+(c[f>>2]<<2)>>2]=c[(c[n>>2]|0)+((c[f>>2]|0)-1<<2)>>2];c[f>>2]=(c[f>>2]|0)+-1}c[(c[n>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2];c[c[m>>2]>>2]=(c[k>>2]|0)+1}c[g>>2]=c[m>>2];o=c[g>>2]|0;l=p;return o|0}function GV(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;a:do switch(c[c[b>>2]>>2]|0){case 11:{c[d>>2]=c[(c[b>>2]|0)+24>>2];if(((c[(c[d>>2]|0)+8>>2]|0)==1?(c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]|0)==1:0)?(c[(c[(c[d>>2]|0)+12>>2]|0)+20+12>>2]|0)==0:0){c[c[b>>2]>>2]=4;a=c[b>>2]|0;b=151;break a}a=c[b>>2]|0;b=152;break}case 1:{a=c[b>>2]|0;b=153;break}case 2:{a=c[b>>2]|0;b=154;break}default:{a=c[b>>2]|0;b=155}}while(0);c[a+12>>2]=b;l=e;return}function HV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)!=3?(c[c[e>>2]>>2]|0)==(c[c[d>>2]>>2]|0):0){c[f>>2]=c[(c[e>>2]|0)+28>>2]<<2;h0((c[d>>2]|0)+32+(c[(c[d>>2]|0)+28>>2]<<2)|0,(c[e>>2]|0)+32|0,c[f>>2]|0)|0;f=(c[d>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(c[(c[e>>2]|0)+28>>2]|0);_d(c[e>>2]|0);l=g;return}b=c[e>>2]|0;e=(c[d>>2]|0)+32|0;d=(c[d>>2]|0)+28|0;f=c[d>>2]|0;c[d>>2]=f+1;c[e+(f<<2)>>2]=b;l=g;return}function IV(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+24|0;j=n+20|0;o=n+16|0;k=n;m=n+12|0;h=n+8|0;c[i>>2]=a;c[j>>2]=b;c[o>>2]=e;a=k;c[a>>2]=f;c[a+4>>2]=g;c[h>>2]=c[(c[(c[(c[j>>2]|0)+24>>2]|0)+12>>2]|0)+20+8>>2];a=c[h>>2]|0;if(c[o>>2]|0){o=k;c[m>>2]=VV(a,c[o>>2]|0,c[o+4>>2]|0)|0}else c[m>>2]=WV(a)|0;if((c[m>>2]|0)==0?(d[(c[h>>2]|0)+16>>0]|0|0)==0:0){c[m>>2]=jW(c[i>>2]|0,c[j>>2]|0)|0;o=c[m>>2]|0;l=n;return o|0}c[(c[j>>2]|0)+4>>2]=1;c[(c[j>>2]|0)+8>>2]=0;o=c[m>>2]|0;l=n;return o|0}function JV(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;r=t+52|0;s=t+48|0;o=t+44|0;p=t+16|0;h=t+40|0;q=t+36|0;i=t+32|0;j=t+28|0;k=t+8|0;m=t;n=t+24|0;c[r>>2]=a;c[s>>2]=b;c[o>>2]=e;e=p;c[e>>2]=f;c[e+4>>2]=g;c[h>>2]=(c[(c[(c[s>>2]|0)+24>>2]|0)+12>>2]|0)+20;c[q>>2]=0;c[(c[s>>2]|0)+8>>2]=0;if(c[(c[h>>2]|0)+12>>2]|0){c[i>>2]=1;g=UV(c[h>>2]|0,c[(c[r>>2]|0)+12>>2]|0,0)|0;n=k;c[n>>2]=g;c[n+4>>2]=D;c[j>>2]=c[h>>2];a:while(1){if(!(c[j>>2]|0))break;b:do if(!(d[(c[(c[j>>2]|0)+8>>2]|0)+16>>0]|0)){g=c[(c[j>>2]|0)+8>>2]|0;n=c[g+4>>2]|0;h=m;c[h>>2]=c[g>>2];c[h+4>>2]=n;h=m;n=k;do if(!((c[h>>2]|0)==(c[n>>2]|0)?(c[h+4>>2]|0)==(c[n+4>>2]|0):0)){if((c[o>>2]|0?(h=m,n=p,(c[h>>2]|0)!=(c[n>>2]|0)?1:(c[h+4>>2]|0)!=(c[n+4>>2]|0)):0)?(h=m,f=c[h+4>>2]|0,n=p,g=c[n+4>>2]|0,(((f|0)>(g|0)|((f|0)==(g|0)?(c[h>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))&1|0)==(c[(c[r>>2]|0)+12>>2]|0)):0)break;c[i>>2]=0;break b}while(0);a=c[(c[j>>2]|0)+8>>2]|0;if(c[o>>2]|0){n=p;c[q>>2]=VV(a,c[n>>2]|0,c[n+4>>2]|0)|0}else c[q>>2]=WV(a)|0;if(c[q>>2]|0)break a;if(!(d[(c[(c[j>>2]|0)+8>>2]|0)+16>>0]|0))c[i>>2]=0}while(0);c[j>>2]=c[(c[j>>2]|0)+12>>2]}a=(c[q>>2]|0?1:(c[i>>2]|0)!=0)&1;b=c[s>>2]|0}else{c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[n>>2]|0;if(c[o>>2]|0)c[q>>2]=VV(a,c[p>>2]|0,c[p+4>>2]|0)|0;else c[q>>2]=WV(a)|0;if(c[q>>2]|0)a=1;else a=(d[(c[n>>2]|0)+16>>0]|0|0)!=0;a=a&1;b=c[s>>2]|0}c[b+4>>2]=a;if(c[(c[s>>2]|0)+4>>2]|0){s=c[q>>2]|0;l=t;return s|0}c[q>>2]=XV(c[r>>2]|0,c[s>>2]|0)|0;s=c[q>>2]|0;l=t;return s|0}function KV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;n=q+40|0;o=q+36|0;p=q+32|0;j=q+28|0;k=q+8|0;g=q+24|0;h=q;i=q+20|0;m=q+16|0;c[o>>2]=a;c[p>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;d=(c[p>>2]|0)+16|0;e=c[d+4>>2]|0;f=h;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+28>>2]|0)){a=10;break}c[i>>2]=c[(c[p>>2]|0)+32+(c[g>>2]<<2)>>2];do if(!(c[(c[i>>2]|0)+4>>2]|0)){e=(c[i>>2]|0)+16|0;f=h;if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){if(!(c[j>>2]|0))break;e=(c[i>>2]|0)+16|0;f=k;if((QV(c[o>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0)>=0)break}f=k;c[m>>2]=Nb[c[(c[i>>2]|0)+12>>2]&255](c[o>>2]|0,c[i>>2]|0,c[j>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[m>>2]|0){a=8;break a}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((a|0)==8){c[n>>2]=c[m>>2];p=c[n>>2]|0;l=q;return p|0}else if((a|0)==10){TV(c[o>>2]|0,c[p>>2]|0);c[n>>2]=0;p=c[n>>2]|0;l=q;return p|0}return 0}function LV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;g=j+20|0;h=j+16|0;k=j+12|0;m=j;i=j+8|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;d=m;c[d>>2]=e;c[d+4>>2]=f;f=m;c[i>>2]=Nb[c[(c[(c[h>>2]|0)+32>>2]|0)+12>>2]&255](c[g>>2]|0,c[(c[h>>2]|0)+32>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[i>>2]|0){m=c[i>>2]|0;l=j;return m|0}c[i>>2]=RV(c[g>>2]|0,c[h>>2]|0)|0;m=c[i>>2]|0;l=j;return m|0}function MV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;g=j+20|0;h=j+16|0;k=j+12|0;m=j;i=j+8|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;d=m;c[d>>2]=e;c[d+4>>2]=f;f=m;c[i>>2]=Nb[c[(c[(c[h>>2]|0)+32>>2]|0)+12>>2]&255](c[g>>2]|0,c[(c[h>>2]|0)+32>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[i>>2]|0){m=c[i>>2]|0;l=j;return m|0}c[i>>2]=NV(c[g>>2]|0,c[h>>2]|0)|0;m=c[i>>2]|0;l=j;return m|0}function NV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+32>>2];c[h>>2]=c[(c[e>>2]|0)+32+4>>2];while(1){if(c[f>>2]|0)break;if(c[(c[g>>2]|0)+4>>2]|0)break;c[i>>2]=OV(c[d>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[i>>2]|0)>0){b=(c[g>>2]|0)+16|0;c[f>>2]=Nb[c[(c[h>>2]|0)+12>>2]&255](c[d>>2]|0,c[h>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;c[i>>2]=OV(c[d>>2]|0,c[g>>2]|0,c[h>>2]|0)|0}if(c[i>>2]|0)break;if(c[(c[h>>2]|0)+8>>2]|0)break;c[f>>2]=Nb[c[(c[g>>2]|0)+12>>2]&255](c[d>>2]|0,c[g>>2]|0,0,0,0)|0}c[(c[e>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[(c[e>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];b=(c[g>>2]|0)+16|0;d=c[b+4>>2]|0;i=(c[e>>2]|0)+16|0;c[i>>2]=c[b>>2];c[i+4>>2]=d;if(!(c[(c[g>>2]|0)+4>>2]|0)){i=c[f>>2]|0;l=j;return i|0}PV(c[h>>2]|0);i=c[f>>2]|0;l=j;return i|0}function OV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[h>>2]|0)+4>>2]|0){c[e>>2]=-1;h=c[e>>2]|0;l=i;return h|0}if(c[(c[g>>2]|0)+4>>2]|0){c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}else{g=(c[g>>2]|0)+16|0;h=(c[h>>2]|0)+16|0;c[e>>2]=QV(c[f>>2]|0,c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;l=i;return h|0}return 0}function PV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;if((c[c[b>>2]>>2]|0)!=11?(c[c[b>>2]>>2]|0)!=4:0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;PV(c[(c[b>>2]|0)+32+(c[g>>2]<<2)>>2]|0);c[g>>2]=(c[g>>2]|0)+1}l=h;return}c[d>>2]=c[(c[b>>2]|0)+24>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+8>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+12+(c[e>>2]<<2)>>2];c[(c[f>>2]|0)+4+4>>2]=0;c[e>>2]=(c[e>>2]|0)+1}l=h;return}function QV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;g=j+20|0;k=j+16|0;h=j+8|0;i=j;c[k>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;b=i;c[b>>2]=e;c[b+4>>2]=f;b=h;a=c[b>>2]|0;b=c[b+4>>2]|0;e=i;d=c[e>>2]|0;e=c[e+4>>2]|0;if(!(c[(c[k>>2]|0)+12>>2]|0))if((b|0)<(e|0)|(b|0)==(e|0)&a>>>0>>0){c[g>>2]=-1;k=c[g>>2]|0;l=j;return k|0}else{f=c[h+4>>2]|0;k=i;i=c[k+4>>2]|0;c[g>>2]=((f|0)>(i|0)|((f|0)==(i|0)?(c[h>>2]|0)>>>0>(c[k>>2]|0)>>>0:0))&1;k=c[g>>2]|0;l=j;return k|0}else if((b|0)>(e|0)|(b|0)==(e|0)&a>>>0>d>>>0){c[g>>2]=-1;k=c[g>>2]|0;l=j;return k|0}else{f=c[h+4>>2]|0;k=i;i=c[k+4>>2]|0;c[g>>2]=((f|0)<(i|0)|((f|0)==(i|0)?(c[h>>2]|0)>>>0<(c[k>>2]|0)>>>0:0))&1;k=c[g>>2]|0;l=j;return k|0}return 0}function RV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;e=o+36|0;f=o+32|0;g=o+28|0;h=o+24|0;i=o;j=o+20|0;k=o+16|0;m=o+12|0;d=o+8|0;c[f>>2]=a;c[g>>2]=b;p=(c[g>>2]|0)+16|0;a=c[p+4>>2]|0;b=i;c[b>>2]=c[p>>2];c[b+4>>2]=a;c[j>>2]=0;a:do{c[(c[g>>2]|0)+8>>2]=0;c[k>>2]=1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+28>>2]|0))break;c[m>>2]=c[(c[g>>2]|0)+32+(c[h>>2]<<2)>>2];b=i;p=(c[m>>2]|0)+16|0;c[d>>2]=QV(c[f>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;if((c[d>>2]|0)>0?(p=i,c[j>>2]=Nb[c[(c[m>>2]|0)+12>>2]&255](c[f>>2]|0,c[m>>2]|0,1,c[p>>2]|0,c[p+4>>2]|0)|0,c[j>>2]|0):0){n=6;break a}if(c[(c[m>>2]|0)+4>>2]|0){n=8;break}b=i;p=(c[m>>2]|0)+16|0;if((c[b>>2]|0)!=(c[p>>2]|0)?1:(c[b+4>>2]|0)!=(c[p+4>>2]|0)){c[k>>2]=0;a=(c[m>>2]|0)+16|0;b=c[a+4>>2]|0;p=i;c[p>>2]=c[a>>2];c[p+4>>2]=b}if(c[(c[m>>2]|0)+8>>2]|0)c[(c[g>>2]|0)+8>>2]=1;c[h>>2]=(c[h>>2]|0)+1}if((n|0)==8){n=0;SV(c[g>>2]|0);c[k>>2]=1}}while(!(c[k>>2]|0));if((n|0)==6){c[e>>2]=c[j>>2];p=c[e>>2]|0;l=o;return p|0}if(c[(c[g>>2]|0)+8>>2]|0?(c[g>>2]|0)!=(c[(c[f>>2]|0)+8>>2]|0):0)PV(c[g>>2]|0);m=i;n=c[m+4>>2]|0;p=(c[g>>2]|0)+16|0;c[p>>2]=c[m>>2];c[p+4>>2]=n;c[e>>2]=0;p=c[e>>2]|0;l=o;return p|0}function SV(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+4>>2]=1;c[(c[b>>2]|0)+8>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;SV(c[(c[b>>2]|0)+32+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=e;return}function TV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+20|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+32>>2];c[g>>2]=1;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+28>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+32+(c[g>>2]<<2)>>2];c[i>>2]=OV(c[d>>2]|0,c[f>>2]|0,c[h>>2]|0)|0;if((c[i>>2]|0)<=0){if((c[i>>2]|0)==0?(c[(c[h>>2]|0)+8>>2]|0)==0:0)j=6}else j=6;if((j|0)==6){j=0;c[f>>2]=c[h>>2]}c[g>>2]=(c[g>>2]|0)+1}h=(c[f>>2]|0)+16|0;i=c[h+4>>2]|0;j=(c[e>>2]|0)+16|0;c[j>>2]=c[h>>2];c[j+4>>2]=i;c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2];l=k;return}function UV(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;n=m+32|0;f=m+28|0;g=m+24|0;h=m+8|0;i=m+20|0;j=m+16|0;k=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=e;e=h;c[e>>2]=0;c[e+4>>2]=0;c[i>>2]=0;c[j>>2]=c[n>>2];while(1){if(!(c[j>>2]|0))break;do if(!(d[(c[(c[j>>2]|0)+8>>2]|0)+16>>0]|0)){b=c[(c[j>>2]|0)+8>>2]|0;e=c[b+4>>2]|0;n=k;c[n>>2]=c[b>>2];c[n+4>>2]=e;if(c[i>>2]|0?(e=k,a=c[e+4>>2]|0,n=h,b=c[n+4>>2]|0,(c[f>>2]|0)==(((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))&1|0)):0)break;b=k;e=c[b+4>>2]|0;n=h;c[n>>2]=c[b>>2];c[n+4>>2]=e;c[i>>2]=1}while(0);c[j>>2]=c[(c[j>>2]|0)+12>>2]}if(!((c[g>>2]|0)!=0&(c[i>>2]|0)==0)){k=h;n=k;n=c[n>>2]|0;k=k+4|0;k=c[k>>2]|0;D=k;l=m;return n|0}c[c[g>>2]>>2]=1;k=h;n=k;n=c[n>>2]|0;k=k+4|0;k=c[k>>2]|0;D=k;l=m;return n|0}function VV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+12|0;g=e;f=e+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=c[h>>2];d=g;hW(c[(c[f>>2]|0)+24>>2]|0,c[f>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=BR(c[(c[f>>2]|0)+24>>2]|0)|0;l=e;return d|0}function WV(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];zR(c[(c[d>>2]|0)+24>>2]|0,c[d>>2]|0,0,0,0);a=BR(c[(c[d>>2]|0)+24>>2]|0)|0;l=b;return a|0}function XV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+80|0;n=s+64|0;o=s+60|0;p=s+56|0;k=s+52|0;t=s+48|0;q=s+44|0;r=s+8|0;m=s+40|0;d=s+36|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s+20|0;i=s;j=s+16|0;c[o>>2]=a;c[p>>2]=b;c[k>>2]=c[(c[p>>2]|0)+24>>2];c[t>>2]=c[(c[k>>2]|0)+12>>2];c[q>>2]=0;c[f>>2]=c[(c[o>>2]|0)+12>>2];a=(c[t>>2]|0)+20|0;if(c[(c[t>>2]|0)+20+12>>2]|0){b=UV(a,c[f>>2]|0,0)|0;t=r;c[t>>2]=b;c[t+4>>2]=D}else{a=c[a+8>>2]|0;b=c[a+4>>2]|0;t=r;c[t>>2]=c[a>>2];c[t+4>>2]=b}a:while(1){c[e>>2]=1;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[k>>2]|0)+8>>2]|0))break;c[g>>2]=c[(c[k>>2]|0)+12+(c[m>>2]<<2)>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[g>>2]|0)+16>>2]|0))break;c[h>>2]=(c[g>>2]|0)+20+(c[d>>2]<<4);if(c[(c[h>>2]|0)+12>>2]|0){t=UV(c[h>>2]|0,c[f>>2]|0,0)|0;b=i;c[b>>2]=t;c[b+4>>2]=D;b=i;t=r;if(!((c[b>>2]|0)==(c[t>>2]|0)?(c[b+4>>2]|0)==(c[t+4>>2]|0):0)?(c[e>>2]=0,YV(c[h>>2]|0,c[f>>2]|0,r,q)|0):0){a=11;break a}}else{c[j>>2]=c[(c[g>>2]|0)+20+(c[d>>2]<<4)+8>>2];b=c[j>>2]|0;t=r;if(!((c[b>>2]|0)==(c[t>>2]|0)?(c[b+4>>2]|0)==(c[t+4>>2]|0):0)?(c[e>>2]=0,ZV(c[j>>2]|0,c[f>>2]|0,r,q,(c[p>>2]|0)+4|0)|0):0){a=14;break a}}c[d>>2]=(c[d>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if(c[e>>2]|0){a=18;break}}if((a|0)==11){c[(c[p>>2]|0)+8>>2]=0;c[(c[p>>2]|0)+4>>2]=1;c[n>>2]=c[q>>2];t=c[n>>2]|0;l=s;return t|0}else if((a|0)==14){c[n>>2]=c[q>>2];t=c[n>>2]|0;l=s;return t|0}else if((a|0)==18){m=r;r=c[m+4>>2]|0;t=(c[p>>2]|0)+16|0;c[t>>2]=c[m>>2];c[t+4>>2]=r;t=0==(_V(q,c[o>>2]|0,c[p>>2]|0)|0);c[(c[p>>2]|0)+8>>2]=(t?(c[q>>2]|0)==0:0)&1;c[n>>2]=c[q>>2];t=c[n>>2]|0;l=s;return t|0}return 0}function YV(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+40|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q+8|0;g=q+20|0;h=q+16|0;i=q;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=0;b=c[m>>2]|0;e=c[b+4>>2]|0;f=p;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[h>>2]=0;c[g>>2]=c[j>>2];while(1){if(!((c[o>>2]|0)==0?(c[g>>2]|0)!=0:0))break;do if(!(d[(c[(c[g>>2]|0)+8>>2]|0)+16>>0]|0)){b=c[(c[g>>2]|0)+8>>2]|0;e=c[b+4>>2]|0;f=i;c[f>>2]=c[b>>2];c[f+4>>2]=e;if(!((c[k>>2]|0)==0?(e=p,a=c[e+4>>2]|0,f=i,b=c[f+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0:0)):0)){if(!(c[k>>2]|0))break;e=p;a=c[e+4>>2]|0;f=i;b=c[f+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)))break}f=p;c[o>>2]=VV(c[(c[g>>2]|0)+8>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0}while(0);c[g>>2]=c[(c[g>>2]|0)+12>>2]}if(c[o>>2]|0){c[c[n>>2]>>2]=c[o>>2];c[h>>2]=1;p=c[h>>2]|0;l=q;return p|0}else{o=UV(c[j>>2]|0,c[k>>2]|0,h)|0;p=c[m>>2]|0;c[p>>2]=o;c[p+4>>2]=D;p=c[h>>2]|0;l=q;return p|0}return 0}function ZV(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+40|0;n=r+36|0;o=r+32|0;p=r+28|0;q=r+24|0;h=r+20|0;i=r+8|0;j=r;k=r+16|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[h>>2]=g;g=c[p>>2]|0;f=c[g+4>>2]|0;e=i;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=c[n>>2]|0;f=c[e+4>>2]|0;g=j;c[g>>2]=c[e>>2];c[g+4>>2]=f;if((c[o>>2]|0)==0?(f=i,b=c[f+4>>2]|0,g=j,e=c[g+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0:0)):0)a=5;else a=3;if(((a|0)==3?c[o>>2]|0:0)?(g=i,e=c[g+4>>2]|0,o=j,f=c[o+4>>2]|0,(e|0)<(f|0)|((e|0)==(f|0)?(c[g>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)):0)a=5;do if((a|0)==5){o=i;c[k>>2]=VV(c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;if((c[k>>2]|0)==0?(d[(c[n>>2]|0)+16>>0]|0|0)==0:0){n=c[n>>2]|0;o=c[n+4>>2]|0;q=j;c[q>>2]=c[n>>2];c[q+4>>2]=o;break}c[c[q>>2]>>2]=c[k>>2];c[c[h>>2]>>2]=1;c[m>>2]=1;q=c[m>>2]|0;l=r;return q|0}while(0);n=j;o=c[n+4>>2]|0;q=c[p>>2]|0;c[q>>2]=c[n>>2];c[q+4>>2]=o;c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}function _V(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;m=t+48|0;n=t+44|0;u=t+40|0;o=t+36|0;p=t+32|0;q=t+28|0;r=t+24|0;f=t+20|0;g=t+16|0;h=t+12|0;i=t+8|0;j=t+4|0;k=t;c[n>>2]=a;c[u>>2]=b;c[o>>2]=e;c[p>>2]=c[(c[o>>2]|0)+24>>2];c[q>>2]=c[c[n>>2]>>2];if(c[(c[(c[u>>2]|0)+4>>2]|0)+48>>2]|0){c[f>>2]=c[(c[p>>2]|0)+12>>2];c[(c[f>>2]|0)+4+4>>2]=0;c[r>>2]=(c[f>>2]|0)+20;while(1){if(!(c[r>>2]|0))break;c[g>>2]=c[(c[r>>2]|0)+8>>2];if(((d[(c[g>>2]|0)+16>>0]|0|0)==0?(s=c[g>>2]|0,u=(c[o>>2]|0)+16|0,(c[s>>2]|0)==(c[u>>2]|0)?(c[s+4>>2]|0)==(c[u+4>>2]|0):0):0)?(c[(c[g>>2]|0)+12>>2]|0)>0:0)c[(c[f>>2]|0)+4+4>>2]=1;c[r>>2]=c[(c[r>>2]|0)+12>>2]}c[m>>2]=c[(c[f>>2]|0)+4+4>>2];u=c[m>>2]|0;l=t;return u|0}c[h>>2]=0;while(1){if(c[q>>2]|0)break;if((c[h>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0))break;c[i>>2]=c[(c[p>>2]|0)+12+(c[h>>2]<<2)>>2];if(((c[(c[i>>2]|0)+16>>2]|0)<=1?!(c[(c[i>>2]|0)+20+12>>2]|0):0)?!(c[(c[p>>2]|0)+4>>2]|0):0){c[k>>2]=c[(c[i>>2]|0)+20+8>>2];wR(q,(c[i>>2]|0)+4|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+8>>2]|0)}else s=16;if((s|0)==16?(s=0,c[j>>2]=0,c[q>>2]=$V(c[o>>2]|0,c[i>>2]|0,j)|0,(c[j>>2]|0)==0):0)break;c[h>>2]=(c[h>>2]|0)+1}c[c[n>>2]>>2]=c[q>>2];do if((c[h>>2]|0)==(c[(c[p>>2]|0)+8>>2]|0)){if((c[h>>2]|0)!=1?(aW(c[n>>2]|0,c[p>>2]|0)|0)==0:0)break;c[m>>2]=1;u=c[m>>2]|0;l=t;return u|0}while(0);c[m>>2]=0;u=c[m>>2]|0;l=t;return u|0}function $V(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+192|0;w=A+184|0;m=A+180|0;x=A+176|0;s=A+172|0;t=A+112|0;y=A+16|0;z=A+168|0;u=A+164|0;v=A+160|0;f=A+156|0;g=A+152|0;h=A+148|0;i=A+144|0;j=A+140|0;k=A+128|0;o=A+124|0;p=A+8|0;q=A+120|0;r=A;c[m>>2]=b;c[x>>2]=d;c[s>>2]=e;c[t>>2]=0;c[t+4>>2]=0;c[z>>2]=y;c[v>>2]=0;xS((c[x>>2]|0)+4|0);if((c[(c[x>>2]|0)+16>>2]|0)>4?(c[f>>2]=(c[(c[x>>2]|0)+16>>2]|0)*24,c[z>>2]=pe(c[f>>2]|0)|0,(c[z>>2]|0)==0):0){c[w>>2]=7;z=c[w>>2]|0;l=A;return z|0}m0(c[z>>2]|0,0,(c[(c[x>>2]|0)+16>>2]|0)*24|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[x>>2]|0)+16>>2]|0)){n=14;break}c[g>>2]=(c[x>>2]|0)+20+(c[u>>2]<<4);c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;b=(c[m>>2]|0)+16|0;c[v>>2]=eW(c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0,k,j,h)|0;b=c[j>>2]|0;if(c[v>>2]|0){n=8;break}if((b|0)==(c[k>>2]|0))c[i>>2]=1}else{c[j>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];c[h>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]}fW(c[j>>2]|0,c[h>>2]|0,(c[z>>2]|0)+((c[u>>2]|0)*24|0)|0)|0;a[(c[z>>2]|0)+((c[u>>2]|0)*24|0)+12>>0]=c[i>>2];if(a[(c[z>>2]|0)+((c[u>>2]|0)*24|0)+13>>0]|0)break;c[u>>2]=(c[u>>2]|0)+1}a:do if((n|0)==8)_d(b);else if((n|0)==14)b:while(1){k=(c[z>>2]|0)+16|0;m=c[k+4>>2]|0;n=p;c[n>>2]=c[k>>2];c[n+4>>2]=m;do{c[o>>2]=1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[x>>2]|0)+16>>2]|0))break;c[q>>2]=(c[z>>2]|0)+((c[u>>2]|0)*24|0);m=p;n=c[u>>2]|0;n=_$(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=r;c[m>>2]=n;c[m+4>>2]=D;m=(c[q>>2]|0)+16|0;n=r;if((c[m>>2]|0)!=(c[n>>2]|0)?1:(c[m+4>>2]|0)!=(c[n+4>>2]|0)){c[o>>2]=0;while(1){m=(c[q>>2]|0)+16|0;j=c[m+4>>2]|0;n=r;k=c[n+4>>2]|0;b=c[q>>2]|0;if(!((j|0)<(k|0)|((j|0)==(k|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)))break;if(gW(b)|0)break a}m=b+16|0;j=c[m+4>>2]|0;n=r;k=c[n+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=(c[q>>2]|0)+16|0;m=c[u>>2]|0;m=Z$(c[n>>2]|0,c[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;n=p;c[n>>2]=m;c[n+4>>2]=D}}c[u>>2]=(c[u>>2]|0)+1}}while(!(c[o>>2]|0));n=p;c[v>>2]=dW((c[x>>2]|0)+4|0,t,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[v>>2]|0)break a;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[x>>2]|0)+16>>2]|0)){n=14;continue b}if(gW((c[z>>2]|0)+((c[u>>2]|0)*24|0)|0)|0)break a;c[u>>2]=(c[u>>2]|0)+1}}while(0);c[c[s>>2]>>2]=(c[(c[x>>2]|0)+4+4>>2]|0)>0&1;c[u>>2]=0;while(1){b=c[z>>2]|0;if((c[u>>2]|0)>=(c[(c[x>>2]|0)+16>>2]|0))break;if(a[b+((c[u>>2]|0)*24|0)+12>>0]|0)_d(c[(c[z>>2]|0)+((c[u>>2]|0)*24|0)>>2]|0);c[u>>2]=(c[u>>2]|0)+1}if((b|0)!=(y|0))_d(c[z>>2]|0);c[w>>2]=c[v>>2];z=c[w>>2]|0;l=A;return z|0}function aW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+272|0;p=w+268|0;q=w+264|0;r=w+260|0;s=w+24|0;t=w+256|0;f=w+252|0;u=w+248|0;v=w+244|0;g=w+240|0;d=w+236|0;e=w+232|0;h=w+228|0;i=w+16|0;j=w+8|0;k=w+224|0;m=w;n=w+220|0;o=w+216|0;c[q>>2]=a;c[r>>2]=b;c[t>>2]=s;c[f>>2]=(c[r>>2]|0)+12;c[v>>2]=c[c[q>>2]>>2];if((c[(c[r>>2]|0)+8>>2]|0)>4){c[d>>2]=(c[(c[r>>2]|0)+8>>2]|0)*48;c[t>>2]=dT(v,c[d>>2]|0)|0}else m0(s|0,0,192)|0;if(c[v>>2]|0){c[c[q>>2]>>2]=c[v>>2];c[p>>2]=0;v=c[p>>2]|0;l=w;return v|0}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0))break;c[e>>2]=(c[(c[f>>2]|0)+(c[u>>2]<<2)>>2]|0)+4;bW(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[t>>2]|0)+((c[u>>2]|0)*48|0)|0)|0;c[(c[e>>2]|0)+4>>2]=0;c[(c[t>>2]|0)+((c[u>>2]|0)*48|0)+40>>2]=c[e>>2];c[u>>2]=(c[u>>2]|0)+1}a:do{d=(c[t>>2]|0)+16|0;e=c[d+4>>2]|0;f=j;c[f>>2]=c[d>>2];c[f+4>>2]=e;do{c[g>>2]=1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0))break;c[k>>2]=(c[t>>2]|0)+((c[u>>2]|0)*48|0);b=j;e=c[(c[(c[r>>2]|0)+12+(c[u>>2]<<2)>>2]|0)+16>>2]|0;e=Z$(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=c[c[r>>2]>>2]|0;b=Z$(e|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;e=i;c[e>>2]=b;c[e+4>>2]=D;e=(c[k>>2]|0)+16|0;b=c[e+4>>2]|0;f=i;d=c[f+4>>2]|0;if(!(!((b|0)<(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0))?(e=(c[k>>2]|0)+16|0,b=c[e+4>>2]|0,f=j,d=c[f+4>>2]|0,!((b|0)>(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0:0))):0)){c[g>>2]=0;while(1){e=(c[k>>2]|0)+16|0;b=c[e+4>>2]|0;f=i;d=c[f+4>>2]|0;a=c[k>>2]|0;if(!((b|0)<(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)))break;if(cW(a)|0)break a}e=a+16|0;b=c[e+4>>2]|0;f=j;d=c[f+4>>2]|0;if((b|0)>(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0:0)){d=(c[k>>2]|0)+16|0;e=c[d+4>>2]|0;f=j;c[f>>2]=c[d>>2];c[f+4>>2]=e}}c[u>>2]=(c[u>>2]|0)+1}}while(!(c[g>>2]|0));c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0))break;d=(c[t>>2]|0)+((c[u>>2]|0)*48|0)+16|0;e=c[d+4>>2]|0;f=m;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[n>>2]=(c[t>>2]|0)+((c[u>>2]|0)*48|0)+32;if(!((c[(c[(c[t>>2]|0)+((c[u>>2]|0)*48|0)+40>>2]|0)+4>>2]|0)!=0?(e=m,f=c[n>>2]|0,!((c[e>>2]|0)!=(c[f>>2]|0)?1:(c[e+4>>2]|0)!=(c[f+4>>2]|0))):0)){f=m;dW(c[(c[t>>2]|0)+((c[u>>2]|0)*48|0)+40>>2]|0,c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0}c[u>>2]=(c[u>>2]|0)+1}c[h>>2]=0;d=(c[t>>2]|0)+24|0;e=c[d+4>>2]|0;f=i;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[u>>2]=0;while(1){a=c[t>>2]|0;if((c[u>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0))break;e=a+((c[u>>2]|0)*48|0)+24|0;b=c[e+4>>2]|0;f=i;d=c[f+4>>2]|0;if((b|0)<(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)){d=(c[t>>2]|0)+((c[u>>2]|0)*48|0)+24|0;e=c[d+4>>2]|0;f=i;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[h>>2]=c[u>>2]}c[u>>2]=(c[u>>2]|0)+1}}while(!(cW(a+((c[h>>2]|0)*48|0)|0)|0));c[o>>2]=(c[(c[(c[t>>2]|0)+40>>2]|0)+4>>2]|0)>0&1;c[c[q>>2]>>2]=c[v>>2];if((c[t>>2]|0)!=(s|0))_d(c[t>>2]|0);c[p>>2]=c[o>>2];v=c[p>>2]|0;l=w;return v|0}function bW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=c[f>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[c[f>>2]>>2]=c[h>>2];c[(c[f>>2]|0)+4>>2]=c[g>>2];cW(c[f>>2]|0)|0;d=cW(c[f>>2]|0)|0;l=e;return d|0}function cW(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;c[b>>2]=a;f=(c[b>>2]|0)+24|0;e=c[f+4>>2]|0;a=(c[b>>2]|0)+16|0;c[a>>2]=c[f>>2];c[a+4>>2]=e;if(xR(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+4>>2]|0,(c[b>>2]|0)+8|0,(c[b>>2]|0)+24|0)|0){f=(c[b>>2]|0)+24|0;c[f>>2]=0;c[f+4>>2]=1073741824}f=(c[b>>2]|0)+16|0;l=d;return ((c[f>>2]|0)==0?(c[f+4>>2]|0)==1073741824:0)&1|0}function dW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;h=k+12|0;i=k;j=k+8|0;c[g>>2]=a;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=0;if(((c[(c[g>>2]|0)+4>>2]|0)+15|0)>>>0>(c[(c[g>>2]|0)+8>>2]|0)>>>0?cS(j,c[g>>2]|0,15+(c[(c[g>>2]|0)+4>>2]|0)|0)|0:0){c[f>>2]=c[j>>2];j=c[f>>2]|0;l=k;return j|0}j=i;gT(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j+4>>2]|0);c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function eW(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+192|0;B=A+176|0;o=A+120|0;y=A+172|0;z=A+168|0;p=A+164|0;q=A+24|0;r=A+160|0;s=A+156|0;i=A+152|0;t=A+148|0;j=A+144|0;k=A+140|0;m=A+136|0;n=A+132|0;u=A+16|0;v=A+8|0;w=A+128|0;x=A;c[B>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=e;c[y>>2]=f;c[z>>2]=g;c[p>>2]=h;c[r>>2]=q;c[s>>2]=0;c[i>>2]=4;c[t>>2]=0;c[j>>2]=c[B>>2];while(1){if(!(c[j>>2]|0)){a=14;break}c[k>>2]=c[(c[j>>2]|0)+8>>2];if(((d[(c[k>>2]|0)+16>>0]|0|0)==0?(h=c[k>>2]|0,B=o,(c[h>>2]|0)==(c[B>>2]|0)?(c[h+4>>2]|0)==(c[B+4>>2]|0):0):0)?c[(c[k>>2]|0)+12>>2]|0:0){if((c[s>>2]|0)==(c[i>>2]|0)){c[m>>2]=(c[i>>2]|0)*24<<1;c[n>>2]=pe(c[m>>2]|0)|0;if(!(c[n>>2]|0)){a=8;break}h0(c[n>>2]|0,c[r>>2]|0,(c[s>>2]|0)*24|0)|0;c[i>>2]=c[i>>2]<<1;if((c[r>>2]|0)!=(q|0))_d(c[r>>2]|0);c[r>>2]=c[n>>2]}fW(c[(c[k>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+12>>2]|0,(c[r>>2]|0)+((c[s>>2]|0)*24|0)|0)|0;c[s>>2]=(c[s>>2]|0)+1}c[j>>2]=c[(c[j>>2]|0)+12>>2]}do if((a|0)==8)c[t>>2]=7;else if((a|0)==14){if((c[s>>2]|0)==1){c[c[z>>2]>>2]=c[c[r>>2]>>2];c[c[p>>2]>>2]=c[(c[r>>2]|0)+4>>2];break};c[u>>2]=0;c[u+4>>2]=0;B=v;c[B>>2]=-1;c[B+4>>2]=-1;xS(c[y>>2]|0);while(1){B=x;c[B>>2]=-1;c[B+4>>2]=2147483647;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[s>>2]|0))break;do if(!(d[(c[r>>2]|0)+((c[w>>2]|0)*24|0)+13>>0]|0)){o=(c[r>>2]|0)+((c[w>>2]|0)*24|0)+16|0;B=v;if(((c[o>>2]|0)==(c[B>>2]|0)?(c[o+4>>2]|0)==(c[B+4>>2]|0):0)?gW((c[r>>2]|0)+((c[w>>2]|0)*24|0)|0)|0:0)break;o=(c[r>>2]|0)+((c[w>>2]|0)*24|0)+16|0;g=c[o+4>>2]|0;B=x;h=c[B+4>>2]|0;if((g|0)<(h|0)|((g|0)==(h|0)?(c[o>>2]|0)>>>0<(c[B>>2]|0)>>>0:0)){h=(c[r>>2]|0)+((c[w>>2]|0)*24|0)+16|0;o=c[h+4>>2]|0;B=x;c[B>>2]=c[h>>2];c[B+4>>2]=o}}while(0);c[w>>2]=(c[w>>2]|0)+1}B=x;if(((c[B>>2]|0)==-1?(c[B+4>>2]|0)==2147483647:0)|(c[t>>2]|0)!=0)break;h=x;c[t>>2]=dW(c[y>>2]|0,u,c[h>>2]|0,c[h+4>>2]|0)|0;h=x;o=c[h+4>>2]|0;B=v;c[B>>2]=c[h>>2];c[B+4>>2]=o}if(!(c[t>>2]|0)){c[c[z>>2]>>2]=c[c[y>>2]>>2];c[c[p>>2]>>2]=c[(c[y>>2]|0)+4>>2]}}while(0);if((c[r>>2]|0)==(q|0)){B=c[t>>2]|0;l=A;return B|0}_d(c[r>>2]|0);B=c[t>>2]|0;l=A;return B|0}function fW(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+8|0;h=g+4|0;f=g;c[i>>2]=a;c[h>>2]=b;c[f>>2]=e;e=c[f>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[c[f>>2]>>2]=c[i>>2];c[(c[f>>2]|0)+4>>2]=c[h>>2];gW(c[f>>2]|0)|0;l=g;return d[(c[f>>2]|0)+13>>0]|0|0}function gW(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(xR(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[e>>2]|0)+8|0,(c[e>>2]|0)+16|0)|0)a[(c[e>>2]|0)+13>>0]=1;l=f;return d[(c[e>>2]|0)+13>>0]|0|0}function hW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;f=j+20|0;g=j+16|0;h=j+8|0;i=j;c[f>>2]=a;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;while(1){e=h;zR(c[f>>2]|0,c[g>>2]|0,1,c[e>>2]|0,c[e+4>>2]|0);if(NS(c[f>>2]|0,c[g>>2]|0)|0){a=7;break}d=iW(c[g>>2]|0)|0;e=i;c[e>>2]=d;c[e+4>>2]=D;if((c[(c[g>>2]|0)+56>>2]|0)==0?(d=i,a=c[d+4>>2]|0,e=h,b=c[e+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>=(c[e>>2]|0)>>>0:0)):0){a=7;break}if(!(c[(c[g>>2]|0)+56>>2]|0))continue;d=i;a=c[d+4>>2]|0;e=h;b=c[e+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<=(c[e>>2]|0)>>>0:0)){a=7;break}}if((a|0)==7){l=j;return}}function iW(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+80+((e[(c[(c[d>>2]|0)+72>>2]|0)+4>>1]|0)*88|0)+72|0;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function jW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[(c[d>>2]|0)+24>>2]|0)+12>>2];c[f>>2]=c[(c[e>>2]|0)+20+8>>2];c[(c[e>>2]|0)+4+4>>2]=c[(c[f>>2]|0)+12>>2];if(!(c[(c[(c[h>>2]|0)+4>>2]|0)+48>>2]|0))c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+8>>2];b=c[f>>2]|0;f=c[b+4>>2]|0;h=(c[d>>2]|0)+16|0;c[h>>2]=c[b>>2];c[h+4>>2]=f;c[(c[d>>2]|0)+8>>2]=(c[(c[e>>2]|0)+4+4>>2]|0)==0&1;l=g;return 0}function kW(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;if(((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)b=(a[c>>0]|0)==13;else b=1;l=d;return b&1|0}function lW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+28|0;j=p+24|0;n=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[j>>2]=d;c[n>>2]=e;c[k>>2]=f;c[o>>2]=0;c[m>>2]=g$(c[j>>2]|0)|0;c[g>>2]=pe((c[m>>2]|0)+1|0)|0;c[c[k>>2]>>2]=0;c[c[n>>2]>>2]=0;do if(c[g>>2]|0){h0(c[g>>2]|0,c[j>>2]|0,(c[m>>2]|0)+1|0)|0;if(vW(a[c[g>>2]>>0]|0)|0){c[h>>2]=UT(c[g>>2]|0)|0;c[o>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[k>>2]>>2]=1;break}c[o>>2]=IT(c[j>>2]|0)|0;if(c[o>>2]|0)a[(c[g>>2]|0)+((c[o>>2]|0)-(c[j>>2]|0))>>0]=0}else c[c[i>>2]>>2]=7;while(0);b=c[g>>2]|0;if(!(c[o>>2]|0)){_d(b);o=c[o>>2]|0;l=p;return o|0}else{c[c[n>>2]>>2]=b;o=c[o>>2]|0;l=p;return o|0}return 0}function mW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+160|0;o=L+80|0;n=L+72|0;m=L+64|0;k=L+56|0;r=L+48|0;j=L+40|0;G=L+32|0;p=L+24|0;x=L+16|0;w=L+8|0;v=L;J=L+156|0;F=L+152|0;K=L+148|0;i=L+144|0;q=L+140|0;H=L+136|0;I=L+132|0;h=L+128|0;s=L+120|0;t=L+116|0;u=L+112|0;z=L+108|0;A=L+104|0;B=L+100|0;C=L+96|0;D=L+92|0;E=L+88|0;c[F>>2]=b;c[K>>2]=d;c[i>>2]=e;c[q>>2]=f;c[H>>2]=g;c[I>>2]=0;c[h>>2]=g$(c[i>>2]|0)|0;if(!(ld(46902,c[i>>2]|0,c[h>>2]|0)|0)){c[L+124>>2]=124;c[t>>2]=1;if((c[(c[K>>2]|0)+28>>2]|0)==0?(G=dT(I,124)|0,c[(c[K>>2]|0)+28>>2]=G,c[I>>2]|0):0){c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}c[s>>2]=c[q>>2];while(1){c[u>>2]=0;while(1){if((a[c[s>>2]>>0]|0)!=32)break;c[s>>2]=(c[s>>2]|0)+1}a:do if((c[t>>2]|0)==0?(a[c[s>>2]>>0]|0)==44:0){c[s>>2]=(c[s>>2]|0)+1;while(1){if((a[c[s>>2]>>0]|0)!=32)break a;c[s>>2]=(c[s>>2]|0)+1}}else y=14;while(0);if((y|0)==14?(y=0,(a[c[s>>2]>>0]|0)==0):0)break;if((a[c[s>>2]>>0]|0)<48){y=17;break}if((a[c[s>>2]>>0]|0)>57){y=17;break}if((c[(c[K>>2]|0)+24>>2]|0)==31){y=19;break}while(1){if((a[c[s>>2]>>0]|0)>=48?(a[c[s>>2]>>0]|0)<=57:0)b=(c[u>>2]|0)<1e3;else b=0;d=c[u>>2]|0;if(!b)break;c[u>>2]=(d*10|0)+((a[c[s>>2]>>0]|0)-48);c[s>>2]=(c[s>>2]|0)+1}if((d|0)<=0|(c[u>>2]|0)>=1e3){y=26;break}c[(c[(c[K>>2]|0)+28>>2]|0)+(c[(c[K>>2]|0)+24>>2]<<2)>>2]=c[u>>2];G=(c[K>>2]|0)+24|0;c[G>>2]=(c[G>>2]|0)+1;c[t>>2]=0}if((y|0)==17){K=nf(50062,v)|0;c[c[H>>2]>>2]=K;c[I>>2]=1}else if((y|0)==19){c[w>>2]=31;K=nf(50093,w)|0;c[c[H>>2]>>2]=K;c[I>>2]=1}else if((y|0)==26){K=nf(50126,x)|0;c[c[H>>2]>>2]=K;c[I>>2]=1}c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}if(!(ld(46131,c[i>>2]|0,c[h>>2]|0)|0)){c[z>>2]=c[q>>2];c[A>>2]=(g$(c[q>>2]|0)|0)+1;c[B>>2]=dT(I,c[A>>2]<<2)|0;c[C>>2]=dT(I,c[A>>2]<<1)|0;c[D>>2]=c[C>>2];do if((c[B>>2]|0)!=0&(c[D>>2]|0)!=0){if(c[(c[K>>2]|0)+56>>2]|0){K=nf(50163,p)|0;c[c[H>>2]>>2]=K;c[I>>2]=1;break}c[A>>2]=0;while(1){if(c[z>>2]|0)d=(a[c[z>>2]>>0]|0)!=0;else d=0;b=c[z>>2]|0;if(!d)break;c[E>>2]=HT(b)|0;b=c[E>>2]|0;if((a[c[E>>2]>>0]|0)==39)c[z>>2]=KT(b)|0;else c[z>>2]=IT(b)|0;if(c[z>>2]|0){h0(c[D>>2]|0,c[E>>2]|0,(c[z>>2]|0)-(c[E>>2]|0)|0)|0;c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]=c[D>>2];TT(c[D>>2]|0);c[D>>2]=(c[D>>2]|0)+((c[z>>2]|0)-(c[E>>2]|0)+1);c[z>>2]=HT(c[z>>2]|0)|0}c[A>>2]=(c[A>>2]|0)+1}if(!b){K=nf(50196,G)|0;c[c[H>>2]>>2]=K;c[I>>2]=1;break}else{c[I>>2]=sW(c[F>>2]|0,c[B>>2]|0,c[A>>2]|0,(c[K>>2]|0)+56|0,(c[K>>2]|0)+60|0,c[H>>2]|0)|0;break}}while(0);_d(c[B>>2]|0);_d(c[C>>2]|0);c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}if(!(ld(46221,c[i>>2]|0,c[h>>2]|0)|0)){do if(!(c[(c[K>>2]|0)+32>>2]|0)){b=(c[K>>2]|0)+32|0;if(a[c[q>>2]>>0]|0){c[b>>2]=2;H=c[q>>2]|0;c[r>>2]=c[(c[K>>2]|0)+4>>2];c[r+4>>2]=H;H=ET(I,50262,r)|0;c[(c[K>>2]|0)+36>>2]=H;break}else{c[b>>2]=1;break}}else{K=nf(50230,j)|0;c[c[H>>2]>>2]=K;c[I>>2]=1}while(0);c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}if(!(ld(50268,c[i>>2]|0,c[h>>2]|0)|0)){if(c[(c[K>>2]|0)+40>>2]|0){K=nf(50282,k)|0;c[c[H>>2]>>2]=K;c[I>>2]=1}else{H=VT(I,c[q>>2]|0,-1)|0;c[(c[K>>2]|0)+40>>2]=H}c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}if(!(ld(50320,c[i>>2]|0,c[h>>2]|0)|0)){if((a[c[q>>2]>>0]|0)!=48?(a[c[q>>2]>>0]|0)!=49:0)y=63;else if(a[(c[q>>2]|0)+1>>0]|0)y=63;else c[(c[K>>2]|0)+44>>2]=(a[c[q>>2]>>0]|0)==49&1;if((y|0)==63){K=nf(50331,m)|0;c[c[H>>2]>>2]=K;c[I>>2]=1}c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}else{if(ld(25281,c[i>>2]|0,c[h>>2]|0)|0){K=c[i>>2]|0;c[o>>2]=c[h>>2];c[o+4>>2]=K;K=nf(50397,o)|0;c[c[H>>2]>>2]=K;c[J>>2]=1;K=c[J>>2]|0;l=L;return K|0}K=uW(10540,c[q>>2]|0,(c[K>>2]|0)+48|0)|0;c[I>>2]=K;if(K|0){K=nf(50366,n)|0;c[c[H>>2]>>2]=K}c[J>>2]=c[I>>2];K=c[J>>2]|0;l=L;return K|0}return 0}function nW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;n=p+8|0;m=p;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=0;do if(0!=(kl(c[h>>2]|0,48062)|0)?0!=(kl(c[h>>2]|0,26001)|0):0){if(c[i>>2]|0)if(!(kl(c[i>>2]|0,50021)|0)){a[(c[(c[g>>2]|0)+20>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=1;break}else{c[n>>2]=c[i>>2];n=nf(50031,n)|0;c[c[j>>2]>>2]=n;c[k>>2]=1;break}}else o=3;while(0);if((o|0)==3){c[m>>2]=c[h>>2];o=nf(49991,m)|0;c[c[j>>2]>>2]=o;c[k>>2]=1}m=c[h>>2]|0;n=c[(c[g>>2]|0)+16>>2]|0;j=(c[g>>2]|0)+12|0;o=c[j>>2]|0;c[j>>2]=o+1;c[n+(o<<2)>>2]=m;l=p;return c[k>>2]|0}function oW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=sW(c[f>>2]|0,0,0,(c[e>>2]|0)+56|0,(c[e>>2]|0)+60|0,0)|0;l=d;return b|0}function pW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+48|0;h=i+16|0;g=i+8|0;j=i;b=i+40|0;d=i+36|0;e=i+32|0;f=i+20|0;c[b>>2]=a;c[e>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[j>>2]=c[(c[b>>2]|0)+40>>2];qW(e,f,49918,j);if((c[(c[b>>2]|0)+32>>2]|0)==1){h=c[f>>2]|0;j=c[b>>2]|0;j=j+52|0;c[j>>2]=h;j=c[e>>2]|0;l=i;return j|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+12>>2]|0))break;if((c[(c[b>>2]|0)+32>>2]|0)==2){c[g>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<2)>>2];qW(e,f,49923,g)}else{c[h>>2]=c[d>>2];qW(e,f,49930,h)}c[d>>2]=(c[d>>2]|0)+1}h=c[f>>2]|0;j=c[b>>2]|0;j=j+52|0;c[j>>2]=h;j=c[e>>2]|0;l=i;return j|0}function qW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+28|0;i=k+24|0;g=k+20|0;j=k+16|0;h=k;c[f>>2]=a;c[i>>2]=b;c[g>>2]=d;if(c[c[f>>2]>>2]|0){l=k;return}c[h>>2]=e;c[j>>2]=vf(c[g>>2]|0,h)|0;a=c[f>>2]|0;if(!(c[j>>2]|0)){c[a>>2]=7;l=k;return}else{rW(a,c[i>>2]|0,c[j>>2]|0);_d(c[j>>2]|0);l=k;return}}function rW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;i=e+12|0;f=e+8|0;g=e+4|0;h=e;c[i>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=g$(c[g>>2]|0)|0;bS(c[i>>2]|0,c[f>>2]|0,(c[h>>2]|0)+1|0,c[g>>2]|0);d=(c[f>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+-1;l=e;return}function sW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;r=s+8|0;q=s;m=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;h=s+24|0;i=s+20|0;j=s+16|0;k=s+12|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[i>>2]=g;c[k>>2]=0;if(!(c[o>>2]|0))a=0;else a=c[c[n>>2]>>2]|0;c[j>>2]=tW(c[m>>2]|0,a)|0;if(c[j>>2]|0){c[k>>2]=Kb[c[(c[j>>2]|0)+8>>2]&255](c[(c[j>>2]|0)+4>>2]|0,(c[n>>2]|0)+4|0,c[o>>2]|0?(c[o>>2]|0)-1|0:0,c[p>>2]|0)|0;c[c[h>>2]>>2]=(c[j>>2]|0)+8;if((c[k>>2]|0)!=0&(c[i>>2]|0)!=0){r=nf(49960,r)|0;c[c[i>>2]>>2]=r}}else{c[k>>2]=1;c[q>>2]=c[c[n>>2]>>2];r=nf(49938,q)|0;c[c[i>>2]>>2]=r}if(!(c[k>>2]|0)){r=c[k>>2]|0;l=s;return r|0}c[c[h>>2]>>2]=0;c[c[p>>2]>>2]=0;r=c[k>>2]|0;l=s;return r|0}function tW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=0;a=c[g>>2]|0;if(!(c[d>>2]|0)){c[e>>2]=c[a+40>>2];g=c[e>>2]|0;l=f;return g|0}c[e>>2]=c[a+36>>2];while(1){if(!(c[e>>2]|0)){a=7;break}if(!(kl(c[d>>2]|0,c[c[e>>2]>>2]|0)|0)){a=7;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((a|0)==7){g=c[e>>2]|0;l=f;return g|0}return 0}function uW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;i=m+24|0;e=m+20|0;f=m+16|0;j=m+12|0;g=m+8|0;h=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=g$(c[f>>2]|0)|0;c[k>>2]=-1;c[h>>2]=0;while(1){if(!(c[(c[e>>2]|0)+(c[h>>2]<<3)>>2]|0)){a=8;break}if(!(ld(c[(c[e>>2]|0)+(c[h>>2]<<3)>>2]|0,c[f>>2]|0,c[g>>2]|0)|0)){if((c[k>>2]|0)>=0){a=5;break}c[k>>2]=c[(c[e>>2]|0)+(c[h>>2]<<3)+4>>2]}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==5){c[i>>2]=1;k=c[i>>2]|0;l=m;return k|0}else if((a|0)==8){c[c[j>>2]>>2]=c[k>>2];c[i>>2]=(c[k>>2]|0)<0?1:0;k=c[i>>2]|0;l=m;return k|0}return 0}function vW(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;if(((a[c>>0]|0)!=34?(a[c>>0]|0)!=39:0)?(a[c>>0]|0)!=91:0)b=(a[c>>0]|0)==96;else b=1;l=d;return b&1|0}function wW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;P=l;l=l+240|0;J=P+64|0;I=P+56|0;H=P+40|0;M=P+236|0;R=P+228|0;E=P+32|0;F=P+224|0;G=P+216|0;e=P+212|0;f=P+208|0;K=P+204|0;L=P+200|0;N=P+188|0;O=P+184|0;Q=P+180|0;g=P+176|0;h=P+164|0;i=P;j=P+152|0;k=P+148|0;m=P+144|0;n=P+140|0;o=P+136|0;p=P+132|0;q=P+128|0;r=P+124|0;s=P+112|0;t=P+108|0;u=P+104|0;v=P+100|0;w=P+96|0;x=P+92|0;y=P+88|0;z=P+84|0;A=P+80|0;B=P+76|0;C=P+72|0;c[M>>2]=a;c[P+232>>2]=b;c[R>>2]=d;c[L>>2]=0;c[O>>2]=0;c[Q>>2]=0;c[g>>2]=(Qh(c[M>>2]|0)|0)!=0&1;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;b=Fi(c[c[R>>2]>>2]|0)|0;d=E;c[d>>2]=b;c[d+4>>2]=D;c[K>>2]=Sh(c[(c[R>>2]|0)+4>>2]|0)|0;c[f>>2]=Ri(c[(c[R>>2]|0)+4>>2]|0)|0;c[Q>>2]=(c[K>>2]|0)+8;c[L>>2]=dT(O,c[Q>>2]|0)|0;a:do if(c[L>>2]|0){h0(c[L>>2]|0,c[f>>2]|0,c[K>>2]|0)|0;R=E;yW(c[R>>2]|0,c[R+4>>2]|0,F,e,P+220|0,G);R=E;zW(O,N,c[R>>2]|0,c[R+4>>2]|0);if(c[e>>2]|0){c[h>>2]=c[L>>2];c[h+4>>2]=c[K>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;c[i>>2]=h;c[i+16>>2]=c[G>>2];ZR(i)|0;while(1){if(c[i+8>>2]|0)break a;Q=i+24|0;K=c[Q>>2]|0;Q=c[Q+4>>2]|0;c[H>>2]=c[i+16>>2];R=H+8|0;c[R>>2]=K;c[R+4>>2]=Q;qW(O,N,50609,H);ZR(i)|0}}if(!(c[F>>2]|0)){R=E;b=c[L>>2]|0;a=c[K>>2]|0;if((c[R>>2]|0)==1&(c[R+4>>2]|0)==0){AW(O,N,b,a);break}else{BW(O,N,b,a);break}}if(c[g>>2]|0){R=(QR((c[L>>2]|0)+2|0)|0)&65535;c[k>>2]=R;c[m>>2]=R;c[o>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if((c[k>>2]|0)<(c[K>>2]|0)){R=VR((c[L>>2]|0)+(c[m>>2]|0)|0,n)|0;c[m>>2]=(c[m>>2]|0)+R}else c[n>>2]=c[k>>2];CW(O,N,(c[L>>2]|0)+4|0,(c[n>>2]|0)-4|0);c[p>>2]=c[n>>2];while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break;R=VR((c[L>>2]|0)+(c[p>>2]|0)|0,q)|0;c[p>>2]=(c[p>>2]|0)+R;c[j+4>>2]=c[o>>2];bS(O,j,c[q>>2]|0,(c[L>>2]|0)+(c[p>>2]|0)|0);R=c[j>>2]|0;c[I>>2]=c[j+4>>2];c[I+4>>2]=R;qW(O,N,50619,I);c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0);if((c[m>>2]|0)<(c[K>>2]|0)){R=VR((c[L>>2]|0)+(c[m>>2]|0)|0,r)|0;c[m>>2]=(c[m>>2]|0)+R;c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0)}else c[n>>2]=c[k>>2];CW(O,N,(c[L>>2]|0)+(c[p>>2]|0)|0,(c[n>>2]|0)-(c[p>>2]|0)|0);c[p>>2]=c[n>>2];if((c[p>>2]|0)>=(c[k>>2]|0))continue;R=VR((c[L>>2]|0)+(c[p>>2]|0)|0,o)|0;c[p>>2]=(c[p>>2]|0)+R}nS(j);break}c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;if((c[K>>2]|0)<4){wR(O,N,7,50630);break}c[x>>2]=(QR(c[L>>2]|0)|0)&65535;R=(QR((c[L>>2]|0)+2|0)|0)&65535;c[t>>2]=R;c[u>>2]=R;if((c[u>>2]|0)<(c[K>>2]|0))VR((c[L>>2]|0)+(c[u>>2]|0)|0,w)|0;do if(!(c[x>>2]|0))if(c[w>>2]|0){c[y>>2]=c[w>>2];break}else{c[y>>2]=c[t>>2];break}else c[y>>2]=c[x>>2];while(0);DW(O,N,(c[L>>2]|0)+4|0,(c[y>>2]|0)-4|0)|0;c[z>>2]=(c[w>>2]|0?c[w>>2]|0:c[t>>2]|0)-(c[y>>2]|0);EW(O,N,(c[L>>2]|0)+(c[y>>2]|0)|0,c[z>>2]|0)|0;while(1){if((c[u>>2]|0)>=(c[K>>2]|0))break;c[A>>2]=(c[u>>2]|0)==(c[t>>2]|0)&1;R=VR((c[L>>2]|0)+(c[u>>2]|0)|0,B)|0;c[u>>2]=(c[u>>2]|0)+R;c[v>>2]=(c[v>>2]|0)+(c[B>>2]|0);c[y>>2]=c[v>>2];if((c[u>>2]|0)<(c[K>>2]|0)){VR((c[L>>2]|0)+(c[u>>2]|0)|0,B)|0;c[C>>2]=(c[v>>2]|0)+(c[B>>2]|0)}else c[C>>2]=c[t>>2];if(!(c[A>>2]|0)){R=VR((c[L>>2]|0)+(c[y>>2]|0)|0,B)|0;c[y>>2]=(c[y>>2]|0)+R;c[s+4>>2]=c[B>>2]}R=VR((c[L>>2]|0)+(c[y>>2]|0)|0,B)|0;c[y>>2]=(c[y>>2]|0)+R;bS(O,s,c[B>>2]|0,(c[L>>2]|0)+(c[y>>2]|0)|0);c[y>>2]=(c[y>>2]|0)+(c[B>>2]|0);R=c[s>>2]|0;c[J>>2]=c[s+4>>2];c[J+4>>2]=R;qW(O,N,50619,J);R=EW(O,N,(c[L>>2]|0)+(c[y>>2]|0)|0,(c[C>>2]|0)-(c[y>>2]|0)|0)|0;c[y>>2]=(c[y>>2]|0)+R}nS(s)}while(0);_d(c[L>>2]|0);a=c[M>>2]|0;if(!(c[O>>2]|0)){xi(a,c[N>>2]|0,c[N+4>>2]|0,-1);nS(N);l=P;return}else{Wi(a,c[O>>2]|0);nS(N);l=P;return}}function xW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m;j=m+12|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){Th(c[e>>2]|0,50473,-1);l=m;return}c[h>>2]=Rh(c[c[g>>2]>>2]|0)|0;if(kl(c[h>>2]|0,50510)|0){Th(c[e>>2]|0,50565,-1);l=m;return}if((c[f>>2]|0)!=3){Th(c[e>>2]|0,50518,-1);l=m;return}else{c[j>>2]=Qi(c[(c[g>>2]|0)+4>>2]|0)|0;c[k>>2]=Qi(c[(c[g>>2]|0)+8>>2]|0)|0;h=c[j>>2]|0;h=j0(h|0,((h|0)<0)<<31>>31|0,37)|0;h=_$(h|0,D|0,0,0)|0;h=_$(h|0,D|0,0,0)|0;j=c[k>>2]|0;j=_$(h|0,D|0,j|0,((j|0)<0)<<31>>31|0)|0;k=i;c[k>>2]=j;c[k+4>>2]=D;k=i;Bi(c[e>>2]|0,c[k>>2]|0,c[k+4>>2]|0);l=m;return}}function yW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;j=h;i=h+20|0;k=h+16|0;m=h+12|0;n=h+8|0;o=j;c[o>>2]=a;c[o+4>>2]=b;c[i>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[c[n>>2]>>2]=c[j>>2]&2147483647;f=j;f=e0(c[f>>2]|0,c[f+4>>2]|0,31)|0;g=j;c[g>>2]=f;c[g+4>>2]=D;c[c[m>>2]>>2]=c[j>>2]&31;g=j;g=e0(c[g>>2]|0,c[g+4>>2]|0,5)|0;f=j;c[f>>2]=g;c[f+4>>2]=D;c[c[k>>2]>>2]=c[j>>2]&1;f=j;f=e0(c[f>>2]|0,c[f+4>>2]|0,1)|0;g=j;c[g>>2]=f;c[g+4>>2]=D;c[c[i>>2]>>2]=c[j>>2]&65535;l=h;return}function zW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;m=o+24|0;g=o+60|0;n=o+56|0;h=o;i=o+52|0;j=o+48|0;k=o+44|0;f=o+40|0;c[g>>2]=a;c[n>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;e=h;yW(c[e>>2]|0,c[e+4>>2]|0,i,f,j,k);if(c[i>>2]|0){h=c[g>>2]|0;n=c[n>>2]|0;i=c[i>>2]|0;j=c[j>>2]|0;k=c[k>>2]|0;c[m>>2]=c[f>>2]|0?50747:55752;c[m+4>>2]=i;c[m+8>>2]=j;c[m+12>>2]=k;qW(h,n,50754,m);l=o;return}m=h;b=c[g>>2]|0;a=c[n>>2]|0;if((c[m>>2]|0)==1&(c[m+4>>2]|0)==0){qW(b,a,50723,o+8|0);l=o;return}else{qW(b,a,50735,o+16|0);l=o;return}}function AW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o+8|0;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;f=o;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=0;c[m>>2]=55752;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;d=(RR((c[i>>2]|0)+(c[k>>2]|0)|0,f)|0)&255;c[k>>2]=(c[k>>2]|0)+d;d=c[g>>2]|0;e=c[h>>2]|0;b=c[f>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=b;qW(d,e,50718,n);c[m>>2]=23021}l=o;return}function BW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;f=j+20|0;g=j+16|0;m=j+12|0;k=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[m>>2]=d;c[k>>2]=e;c[i>>2]=0;c[h>>2]=CT(c[m>>2]|0,c[k>>2]|0,0,i)|0;if(c[h>>2]|0){c[c[f>>2]>>2]=c[h>>2];l=j;return}else{FW(c[f>>2]|0,c[g>>2]|0,c[i>>2]|0);jS(c[i>>2]|0);l=j;return}}function CW(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+64|0;p=q+16|0;i=q+52|0;j=q+48|0;k=q+44|0;m=q+40|0;n=q+36|0;o=q+8|0;g=q+32|0;h=q;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=0;f=o;c[f>>2]=0;c[f+4>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;c[g>>2]=55752;e=(RR((c[k>>2]|0)+(c[n>>2]|0)|0,h)|0)&255;c[n>>2]=(c[n>>2]|0)+e;e=h;f=o;e=_$(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=o;c[f>>2]=e;c[f+4>>2]=D;do if((c[n>>2]|0)<(c[m>>2]|0)?(d[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0|0)==0:0){c[n>>2]=(c[n>>2]|0)+1;if((c[n>>2]|0)<(c[m>>2]|0)?(d[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0|0)==0:0){c[n>>2]=(c[n>>2]|0)+1;c[g>>2]=50658;break}c[g>>2]=29578}while(0);e=c[i>>2]|0;f=c[j>>2]|0;s=o;r=c[s+4>>2]|0;b=c[g>>2]|0;a=p;c[a>>2]=c[s>>2];c[a+4>>2]=r;c[p+8>>2]=b;qW(e,f,50660,p)}l=q;return}function DW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;d=VR((c[h>>2]|0)+(c[j>>2]|0)|0,k)|0;c[j>>2]=(c[j>>2]|0)+d;d=c[f>>2]|0;e=c[g>>2]|0;c[m>>2]=c[k>>2];qW(d,e,49275,m)}l=n;return c[j>>2]|0}function EW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+80|0;r=s+32|0;q=s+24|0;f=s+16|0;j=s+64|0;k=s+60|0;m=s+56|0;n=s+52|0;o=s+8|0;p=s+48|0;g=s+44|0;h=s+40|0;i=s;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;e=o;c[e>>2]=0;c[e+4>>2]=0;c[p>>2]=0;if((c[n>>2]|0)>0){c[p>>2]=(RR(c[m>>2]|0,o)|0)&255;d=c[j>>2]|0;e=c[k>>2]|0;t=o;a=c[t+4>>2]|0;b=f;c[b>>2]=c[t>>2];c[b+4>>2]=a;qW(d,e,50638,f)}while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;f=TR((c[m>>2]|0)+(c[p>>2]|0)|0,g,h)|0;c[p>>2]=(c[p>>2]|0)+f;f=c[j>>2]|0;t=c[k>>2]|0;e=c[h>>2]|0?29578:55752;c[q>>2]=c[g>>2];c[q+4>>2]=e;qW(f,t,50647,q);if(((c[n>>2]|0)-(c[p>>2]|0)|0)<(c[g>>2]|0))a=(c[n>>2]|0)-(c[p>>2]|0)|0;else a=c[g>>2]|0;t=DW(c[j>>2]|0,c[k>>2]|0,(c[m>>2]|0)+(c[p>>2]|0)|0,a)|0;c[p>>2]=(c[p>>2]|0)+t;if((c[p>>2]|0)>=(c[n>>2]|0))continue;t=(RR((c[m>>2]|0)+(c[p>>2]|0)|0,i)|0)&255;c[p>>2]=(c[p>>2]|0)+t;t=i;f=o;t=_$(c[f>>2]|0,c[f+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;f=o;c[f>>2]=t;c[f+4>>2]=D;f=c[j>>2]|0;t=c[k>>2]|0;b=o;d=c[b+4>>2]|0;e=r;c[e>>2]=c[b>>2];c[e+4>>2]=d;qW(f,t,50638,r)}l=s;return c[p>>2]|0}function FW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;o=p+32|0;n=p+16|0;m=p;e=p+60|0;f=p+56|0;g=p+52|0;h=p+48|0;i=p+44|0;j=p+40|0;k=p+36|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[g>>2]|0)+24+((c[h>>2]|0)*12|0);b=c[e>>2]|0;d=c[f>>2]|0;q=c[c[j>>2]>>2]|0;a=c[(c[j>>2]|0)+4>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=q;c[m+8>>2]=a;qW(b,d,50668,m);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[k>>2]=(c[(c[j>>2]|0)+8>>2]|0)+((c[i>>2]|0)*12|0);d=c[e>>2]|0;q=c[f>>2]|0;a=c[(c[k>>2]|0)+4>>2]|0;b=c[(c[k>>2]|0)+8>>2]|0;c[n>>2]=c[c[k>>2]>>2];c[n+4>>2]=a;c[n+8>>2]=b;qW(d,q,50695,n);c[i>>2]=(c[i>>2]|0)+1}qW(c[e>>2]|0,c[f>>2]|0,49298,o);c[h>>2]=(c[h>>2]|0)+1}l=p;return}function GW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=h_(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function HW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=h_(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function IW(b,e){b=b|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+176|0;u=y+164|0;z=y+160|0;v=y+156|0;g=y+152|0;o=y+148|0;w=y+144|0;p=y+140|0;x=y+136|0;r=y+132|0;s=y+32|0;i=y+20|0;j=y+16|0;k=y+12|0;m=y+8|0;n=y+4|0;t=y;c[z>>2]=b;c[v>>2]=e;c[g>>2]=c[z>>2];c[o>>2]=c[(c[g>>2]|0)+12>>2];c[w>>2]=0;b=s;e=10696;g=b+100|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[i>>2]=-1;c[i+4>>2]=c[(c[o>>2]|0)+12>>2];c[i+8>>2]=(c[(c[o>>2]|0)+12>>2]|0)+1;c[r>>2]=0;a:while(1){b=c[v>>2]|0;if((c[r>>2]|0)>=(c[c[v>>2]>>2]|0))break;c[j>>2]=(c[b+4>>2]|0)+((c[r>>2]|0)*12|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=5)break;c[m>>2]=s+((c[k>>2]|0)*20|0);do if((c[c[j>>2]>>2]|0)==(c[i+(c[(c[m>>2]|0)+8>>2]<<2)>>2]|0)?d[(c[j>>2]|0)+4>>0]&c[c[m>>2]>>2]|0:0)if(!(a[(c[j>>2]|0)+5>>0]|0))if(!(c[k>>2]|0)){q=10;break a}else break;else{c[(c[m>>2]|0)+16>>2]=c[r>>2];c[w>>2]=c[w>>2]|c[(c[m>>2]|0)+4>>2];break}while(0);c[k>>2]=(c[k>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}if((q|0)==10){h[(c[v>>2]|0)+40>>3]=1.e+50;c[u>>2]=0;z=c[u>>2]|0;l=y;return z|0}if((c[b+8>>2]|0)==1){c[n>>2]=c[c[(c[v>>2]|0)+12>>2]>>2];if((c[n>>2]|0)==((c[(c[o>>2]|0)+12>>2]|0)+1|0)?c[w>>2]&1|0:0)c[w>>2]=c[w>>2]|32;else q=17;if((q|0)==17?(c[n>>2]|0)==-1:0)c[w>>2]=c[w>>2]|64;if(c[w>>2]&96|0?(c[(c[v>>2]|0)+32>>2]=1,a[(c[(c[v>>2]|0)+12>>2]|0)+4>>0]|0):0)c[w>>2]=c[w>>2]|128}c[p>>2]=(c[w>>2]&1|0)!=0&1;if(c[w>>2]&4|0){h[(c[v>>2]|0)+40>>3]=c[p>>2]|0?100.0:10.0;if(!(c[p>>2]|0))g_(c[v>>2]|0)}else{if((c[w>>2]&24|0)==24){f=c[p>>2]|0?500.0:25.0e4;b=c[v>>2]|0}else{b=(c[w>>2]&24|0)!=0;z=(c[p>>2]|0)!=0;f=b?(z?750.0:75.0e4):z?1.0e3:1.0e6;b=b?c[v>>2]|0:c[v>>2]|0}h[b+40>>3]=f}c[x>>2]=1;c[r>>2]=0;while(1){if((c[r>>2]|0)>=5)break;c[t>>2]=s+((c[r>>2]|0)*20|0);if((c[(c[t>>2]|0)+16>>2]|0)>=0){z=c[x>>2]|0;c[x>>2]=z+1;c[(c[(c[v>>2]|0)+16>>2]|0)+(c[(c[t>>2]|0)+16>>2]<<3)>>2]=z;a[(c[(c[v>>2]|0)+16>>2]|0)+(c[(c[t>>2]|0)+16>>2]<<3)+4>>0]=c[(c[t>>2]|0)+12>>2]}c[r>>2]=(c[r>>2]|0)+1}c[(c[v>>2]|0)+20>>2]=c[w>>2];c[u>>2]=0;z=c[u>>2]|0;l=y;return z|0}function JW(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c_(c[d>>2]|0);l=b;return 0}function KW(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+8|0;f=e+4|0;d=e;c[b>>2]=a;c[f>>2]=c[b>>2];c[d>>2]=b_(c[(c[f>>2]|0)+12>>2]|0)|0;if(c[d>>2]|0){f=c[d>>2]|0;l=e;return f|0}c_(c[b>>2]|0);f=c[d>>2]|0;l=e;return f|0}function LW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[d>>2]=b;c[e>>2]=c[m>>2];c[f>>2]=c[(c[e>>2]|0)+12>>2];c[g>>2]=0;c[i>>2]=$Y(c[e>>2]|0)|0;if(c[i>>2]|0){j=c[g>>2]|0;m=c[d>>2]|0;c[m>>2]=j;m=c[i>>2]|0;l=k;return m|0}c[h>>2]=120+(c[(c[f>>2]|0)+12>>2]<<2);c[g>>2]=pe(c[h>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[(c[e>>2]|0)+24>>2];m0(c[g>>2]|0,0,c[h>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=(c[g>>2]|0)+120;c[(c[g>>2]|0)+4>>2]=c[(c[j>>2]|0)+44>>2];c[(c[j>>2]|0)+44>>2]=c[g>>2];j=(c[j>>2]|0)+24|0;h=j;h=_$(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;m=D;c[j>>2]=h;c[j+4>>2]=m;j=(c[g>>2]|0)+16|0;c[j>>2]=h;c[j+4>>2]=m;j=c[g>>2]|0;m=c[d>>2]|0;c[m>>2]=j;m=c[i>>2]|0;l=k;return m|0}else{c[i>>2]=7;j=c[g>>2]|0;m=c[d>>2]|0;c[m>>2]=j;m=c[i>>2]|0;l=k;return m|0}return 0}function MW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;if(!(c[b>>2]|0)){l=g;return 0}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[b>>2];VZ(c[e>>2]|0);c[f>>2]=(c[(c[d>>2]|0)+24>>2]|0)+44;while(1){if((c[c[f>>2]>>2]|0)==(c[e>>2]|0))break;c[f>>2]=(c[c[f>>2]>>2]|0)+4}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];_d(c[e>>2]|0);l=g;return 0}function NW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+96|0;p=B;s=B+80|0;j=B+76|0;t=B+64|0;u=B+60|0;x=B+56|0;y=B+52|0;z=B+48|0;h=B+44|0;v=B+40|0;w=B+36|0;k=B+32|0;m=B+28|0;n=B+24|0;i=B+20|0;o=B+16|0;A=B+12|0;q=B+8|0;r=B+4|0;c[s>>2]=b;c[j>>2]=d;c[B+72>>2]=e;c[B+68>>2]=f;c[t>>2]=g;c[u>>2]=c[c[s>>2]>>2];c[x>>2]=c[(c[u>>2]|0)+12>>2];c[y>>2]=c[s>>2];c[z>>2]=0;c[h>>2]=0;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;c[i>>2]=0;c[o>>2]=0;c[A>>2]=c[(c[x>>2]|0)+96>>2];if(c[(c[y>>2]|0)+24>>2]|0){VZ(c[y>>2]|0);m0((c[y>>2]|0)+24|0,0,120-((c[y>>2]|0)+24-(c[y>>2]|0))|0)|0}c[(c[x>>2]|0)+96>>2]=(c[u>>2]|0)+8;if(c[j>>2]&1|0){f=c[t>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[k>>2]=c[f+(g<<2)>>2]}if(c[j>>2]&2|0){f=c[t>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[m>>2]=c[f+(g<<2)>>2]}if(c[j>>2]&4|0){f=c[t>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[n>>2]=c[f+(g<<2)>>2]}if(c[j>>2]&8|0){f=c[t>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[i>>2]=c[f+(g<<2)>>2]}if(c[j>>2]&16|0){f=c[t>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[o>>2]=c[f+(g<<2)>>2]}c[w>>2]=c[j>>2]&32|0?1:0;j=c[j>>2]&128|0?1:0;c[v>>2]=j;c[(c[y>>2]|0)+28>>2]=j;if(c[n>>2]|0){j=c[n>>2]|0;c[o>>2]=j;c[i>>2]=j}j=(c[v>>2]|0)!=0;b=WZ(c[i>>2]|0,-1,2147483647)|0;d=D;h=c[y>>2]|0;if(j){j=h+32|0;c[j>>2]=b;c[j+4>>2]=d;j=WZ(c[o>>2]|0,0,-2147483648)|0;o=(c[y>>2]|0)+40|0;c[o>>2]=j;c[o+4>>2]=D}else{j=h+40|0;c[j>>2]=b;c[j+4>>2]=d;j=WZ(c[o>>2]|0,0,-2147483648)|0;o=(c[y>>2]|0)+32|0;c[o>>2]=j;c[o+4>>2]=D}if(c[(c[u>>2]|0)+28>>2]|0){c[(c[y>>2]|0)+24>>2]=2;c[(c[y>>2]|0)+52>>2]=c[(c[(c[u>>2]|0)+28>>2]|0)+52>>2];c[z>>2]=DY(c[u>>2]|0,c[y>>2]|0,c[v>>2]|0)|0;y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}if(!(c[k>>2]|0)){if(!(c[(c[x>>2]|0)+36>>2]|0)){c[p>>2]=c[(c[x>>2]|0)+8>>2];y=nf(51858,p)|0;c[c[(c[x>>2]|0)+96>>2]>>2]=y;c[z>>2]=1;y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}c[(c[y>>2]|0)+24>>2]=c[n>>2]|0?6:5;v=c[(c[u>>2]|0)+20>>2]|0;w=SY(c[y>>2]|0)|0;c[z>>2]=TY(v,w,(c[y>>2]|0)+48|0,(c[u>>2]|0)+8|0)|0;if(c[z>>2]|0){y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}b=c[(c[y>>2]|0)+48>>2]|0;if((c[(c[y>>2]|0)+24>>2]|0)==6)tJ(b,1,c[c[t>>2]>>2]|0)|0;else{w=(c[y>>2]|0)+32|0;qJ(b,1,c[w>>2]|0,c[w+4>>2]|0)|0;w=(c[y>>2]|0)+40|0;qJ(c[(c[y>>2]|0)+48>>2]|0,2,c[w>>2]|0,c[w+4>>2]|0)|0}c[z>>2]=OW(c[s>>2]|0)|0;y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}t=Rh(c[c[t>>2]>>2]|0)|0;c[q>>2]=t;c[q>>2]=(c[q>>2]|0)==0?55752:t;c[z>>2]=XZ(c[x>>2]|0,c[y>>2]|0,c[m>>2]|0)|0;if(c[z>>2]|0){y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}b=c[u>>2]|0;if((a[c[q>>2]>>0]|0)==42){c[z>>2]=YZ(b,c[y>>2]|0,(c[q>>2]|0)+1|0)|0;y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}c[r>>2]=b+8;c[z>>2]=TU(c[x>>2]|0,c[q>>2]|0,(c[y>>2]|0)+52|0,c[r>>2]|0)|0;if(c[z>>2]|0){y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}b=(c[y>>2]|0)+24|0;if(c[w>>2]|0){c[b>>2]=4;c[z>>2]=ZZ(c[u>>2]|0,c[y>>2]|0,c[v>>2]|0)|0;y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}else{c[b>>2]=1;c[z>>2]=DY(c[u>>2]|0,c[y>>2]|0,c[v>>2]|0)|0;y=c[A>>2]|0;A=c[x>>2]|0;A=A+96|0;c[A>>2]=y;A=c[z>>2]|0;l=B;return A|0}return 0}function OW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;b=g+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=c[h>>2];a:do if((c[(c[d>>2]|0)+24>>2]|0)<3){c[f>>2]=0;h=SZ(c[d>>2]|0,f)|0;c[e>>2]=h;if(!((h|0)!=0|(c[f>>2]|0)!=0)){f=(c[d>>2]|0)+40|0;c[e>>2]=TZ(c[(c[d>>2]|0)+52>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=FY(c[(c[d>>2]|0)+52>>2]|0)|0;h=(c[d>>2]|0)+60|0;c[h>>2]=c[h>>2]|f;GY(c[d>>2]|0);break}c[b>>2]=c[e>>2];h=c[b>>2]|0;l=g;return h|0}else switch(c[(c[d>>2]|0)+24>>2]|0){case 3:{h=(c[d>>2]|0)+60|0;c[h>>2]=c[h>>2]|1;c[e>>2]=0;break a}case 4:{c[e>>2]=UZ(c[d>>2]|0)|0;break a}default:{c[e>>2]=Bs(c[(c[d>>2]|0)+48>>2]|0)|0;if((c[e>>2]|0)!=100){h=(c[d>>2]|0)+60|0;c[h>>2]=c[h>>2]|1;c[e>>2]=ys(c[(c[d>>2]|0)+48>>2]|0)|0;break a}else{c[e>>2]=0;break a}}}while(0);c[b>>2]=c[e>>2];h=c[b>>2]|0;l=g;return h|0}function PW(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return (c[(c[b>>2]|0)+60>>2]&1|0?1:0)|0}function QW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[m>>2]>>2];c[h>>2]=c[(c[g>>2]|0)+12>>2];c[i>>2]=c[m>>2];c[j>>2]=0;a=(c[f>>2]|0)==(c[(c[h>>2]|0)+12>>2]|0);if((c[(c[i>>2]|0)+24>>2]|0)==3){if(!a){m=c[j>>2]|0;l=k;return m|0}m=(c[i>>2]|0)+64|0;Bi(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[j>>2]|0;l=k;return m|0}if(a){m=(c[i>>2]|0)+16|0;Bi(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[j>>2]|0;l=k;return m|0}if((c[f>>2]|0)!=((c[(c[h>>2]|0)+12>>2]|0)+1|0)){if(QY(c[g>>2]|0)|0){m=c[j>>2]|0;l=k;return m|0}c[j>>2]=RY(c[i>>2]|0,1)|0;if(c[j>>2]|0){m=c[j>>2]|0;l=k;return m|0}m=c[e>>2]|0;Zi(m,kJ(c[(c[i>>2]|0)+48>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[j>>2]|0;l=k;return m|0}if((c[(c[i>>2]|0)+24>>2]|0)==2){QZ(c[e>>2]|0,c[i>>2]|0)|0;m=c[j>>2]|0;l=k;return m|0}if((c[(c[i>>2]|0)+24>>2]|0)!=1?(c[(c[i>>2]|0)+24>>2]|0)!=4:0){m=c[j>>2]|0;l=k;return m|0}if((c[(c[i>>2]|0)+80>>2]|0)==0?(m=RZ(c[i>>2]|0)|0,c[j>>2]=m,0!=(m|0)):0){m=c[j>>2]|0;l=k;return m|0}_X(c[(c[i>>2]|0)+80>>2]|0,c[i>>2]|0,c[e>>2]|0,c[(c[i>>2]|0)+84>>2]|0,c[(c[i>>2]|0)+88>>2]|0);m=c[j>>2]|0;l=k;return m|0}function RW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;d=f+8|0;e=f+4|0;g=f;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];c[g>>2]=c[(c[e>>2]|0)+24>>2];switch(c[g>>2]|0){case 3:{h=c[d>>2]|0;c[h>>2]=0;c[h+4>>2]=0;l=f;return 0}case 4:case 1:case 2:{g=KY(c[e>>2]|0)|0;h=c[d>>2]|0;c[h>>2]=g;c[h+4>>2]=D;l=f;return 0}default:{g=jJ(c[(c[e>>2]|0)+48>>2]|0,0)|0;h=c[d>>2]|0;c[h>>2]=g;c[h+4>>2]=D;l=f;return 0}}return 0}function SW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+80|0;m=v+32|0;w=v+76|0;j=v+72|0;s=v+68|0;t=v+64|0;u=v+60|0;k=v+56|0;f=v+52|0;o=v+48|0;g=v+44|0;p=v+40|0;h=v+24|0;i=v+16|0;q=v+8|0;r=v;c[w>>2]=a;c[j>>2]=b;c[s>>2]=d;c[t>>2]=e;c[u>>2]=c[w>>2];c[k>>2]=c[(c[u>>2]|0)+12>>2];c[o>>2]=0;c[(c[(c[u>>2]|0)+12>>2]|0)+96>>2]=(c[u>>2]|0)+8;aX(c[u>>2]|0);c[f>>2]=Ai(c[c[s>>2]>>2]|0)|0;do if((c[f>>2]|0)==5?(Ai(c[(c[s>>2]|0)+(2+(c[(c[k>>2]|0)+12>>2]|0)<<2)>>2]|0)|0)!=5:0){c[g>>2]=Rh(c[(c[s>>2]|0)+(2+(c[(c[k>>2]|0)+12>>2]|0)<<2)>>2]|0)|0;if(c[(c[k>>2]|0)+32>>2]|0?0==(kl(32733,c[g>>2]|0)|0):0){c[o>>2]=cZ(c[u>>2]|0,c[s>>2]|0)|0;break}c[o>>2]=dZ(c[u>>2]|0,c[g>>2]|0,c[(c[s>>2]|0)+(2+(c[(c[k>>2]|0)+12>>2]|0)+1<<2)>>2]|0)|0}else n=7;while(0);do if((n|0)==7){c[p>>2]=4;if(!(c[(c[k>>2]|0)+32>>2]|0))c[p>>2]=NJ(c[c[k>>2]>>2]|0)|0;if((c[f>>2]|0)==1?QY(c[u>>2]|0)|0:0){w=c[(c[k>>2]|0)+8>>2]|0;c[m>>2]=(c[j>>2]|0)>1?51445:51452;c[m+4>>2]=w;w=nf(51464,m)|0;c[(c[u>>2]|0)+8>>2]=w;c[o>>2]=1;break}if((c[j>>2]|0)==1){t=Fi(c[c[s>>2]>>2]|0)|0;w=h;c[w>>2]=t;c[w+4>>2]=D;w=h;c[o>>2]=eZ(c[(c[u>>2]|0)+20>>2]|0,c[w>>2]|0,c[w+4>>2]|0,0)|0;break}if((c[f>>2]|0)!=1){if((c[p>>2]|0)==5?(Ai(c[(c[s>>2]|0)+4>>2]|0)|0)==1:0){r=Fi(c[(c[s>>2]|0)+4>>2]|0)|0;w=i;c[w>>2]=r;c[w+4>>2]=D;w=i;c[o>>2]=eZ(c[(c[u>>2]|0)+20>>2]|0,c[w>>2]|0,c[w+4>>2]|0,0)|0}fZ(o,c[u>>2]|0,c[s>>2]|0,c[t>>2]|0);break}n=Fi(c[c[s>>2]>>2]|0)|0;w=q;c[w>>2]=n;c[w+4>>2]=D;w=Fi(c[(c[s>>2]|0)+4>>2]|0)|0;n=r;c[n>>2]=w;c[n+4>>2]=D;n=q;w=r;if(!((c[n>>2]|0)!=(c[w>>2]|0)?1:(c[n+4>>2]|0)!=(c[w+4>>2]|0))){w=q;c[o>>2]=eZ(c[(c[u>>2]|0)+20>>2]|0,c[w>>2]|0,c[w+4>>2]|0,0)|0;fZ(o,c[u>>2]|0,c[s>>2]|0,c[t>>2]|0);break}a=c[(c[u>>2]|0)+20>>2]|0;if((c[p>>2]|0)==5){w=q;c[o>>2]=eZ(a,c[w>>2]|0,c[w+4>>2]|0,0)|0;if(!(c[o>>2]|0)){w=r;c[o>>2]=eZ(c[(c[u>>2]|0)+20>>2]|0,c[w>>2]|0,c[w+4>>2]|0,0)|0}fZ(o,c[u>>2]|0,c[s>>2]|0,c[t>>2]|0);break}c[o>>2]=gZ(a,c[s>>2]|0,c[t>>2]|0)|0;if(!(c[o>>2]|0)){w=q;c[o>>2]=eZ(c[(c[u>>2]|0)+20>>2]|0,c[w>>2]|0,c[w+4>>2]|0,0)|0}if(!(c[o>>2]|0)){w=c[t>>2]|0;c[o>>2]=hZ(c[(c[u>>2]|0)+20>>2]|0,c[s>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0}}while(0);c[(c[(c[u>>2]|0)+12>>2]|0)+96>>2]=0;l=v;return c[o>>2]|0}function TW(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;$Y(c[d>>2]|0)|0;l=b;return 0}function UW(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[(c[(c[e>>2]|0)+12>>2]|0)+96>>2]=(c[e>>2]|0)+8;aX(c[e>>2]|0);c[b>>2]=gX(c[(c[e>>2]|0)+20>>2]|0,1)|0;c[(c[(c[e>>2]|0)+12>>2]|0)+96>>2]=0;l=d;return c[b>>2]|0}function VW(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function WW(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=bX(c[(c[e>>2]|0)+20>>2]|0)|0;l=d;return c[b>>2]|0}function XW(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;i=k+28|0;o=k+24|0;m=k+16|0;j=k+12|0;g=k+8|0;n=k+4|0;h=k;c[o>>2]=a;c[k+20>>2]=b;c[m>>2]=d;c[j>>2]=e;c[g>>2]=f;c[n>>2]=c[o>>2];c[h>>2]=YX(c[n>>2]|0,c[m>>2]|0)|0;if(c[h>>2]|0){c[c[j>>2]>>2]=243;c[c[g>>2]>>2]=c[h>>2];c[i>>2]=1;o=c[i>>2]|0;l=k;return o|0}else{c[i>>2]=0;o=c[i>>2]|0;l=k;return o|0}return 0}function YW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];b=VX(c[(c[f>>2]|0)+20>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function ZW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];aX(c[e>>2]|0);b=gX(c[(c[e>>2]|0)+20>>2]|0,0)|0;l=d;return b|0}function _W(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];aX(c[e>>2]|0);b=gX(c[(c[e>>2]|0)+20>>2]|0,0)|0;l=d;return b|0}function $W(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];aX(c[e>>2]|0);b=bX(c[(c[e>>2]|0)+20>>2]|0)|0;l=d;return b|0}function aX(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[(c[b>>2]|0)+24>>2]|0)+44>>2];while(1){if(!(c[d>>2]|0))break;if((c[(c[d>>2]|0)+24>>2]|0)==1?(c[c[d>>2]>>2]|0)==(c[b>>2]|0):0){a=(c[d>>2]|0)+60|0;c[a>>2]=c[a>>2]|32}c[d>>2]=c[(c[d>>2]|0)+4>>2]}l=e;return}function bX(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;a=cX(c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return a|0}function cX(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;WR(c[d>>2]|0);dX(c[d>>2]|0);eX(c[d>>2]|0);l=b;return 0}function dX(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+12>>2]|0)){l=d;return}fX(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+16>>2]=0;l=d;return}function eX(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){l=d;return}jS(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;l=d;return}function fX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[d>>2]=0;while(1){a=c[(c[b>>2]|0)+20>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+12>>2]|0))break;c[f>>2]=c[a+(c[d>>2]<<2)>>2];while(1){if(!(c[f>>2]|0))break;c[e>>2]=c[c[f>>2]>>2];_d(c[f>>2]|0);c[f>>2]=c[e>>2]}c[d>>2]=(c[d>>2]|0)+1}m0(a|0,0,c[(c[b>>2]|0)+12>>2]<<2|0)|0;c[(c[b>>2]|0)+8>>2]=0;l=g;return}function gX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0?c[(c[e>>2]|0)+8>>2]|0:0)?(c[g>>2]=hX(c[e>>2]|0)|0,c[(c[e>>2]|0)+8>>2]=0,c[g>>2]|0):0){c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}c[d>>2]=iX(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;g=c[d>>2]|0;l=h;return g|0}function hX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+24|0;d=h+20|0;e=h+16|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+12>>2];c[g>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a=(c[b>>2]|0)+16|0;hT(g,f,c[a>>2]|0,c[a+4>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[d>>2]|0))break;a=(c[(c[b>>2]|0)+24>>2]|0)+(c[e>>2]<<3)|0;hT(g,f,c[a>>2]|0,c[a+4>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(c[g>>2]|0){f=c[f>>2]|0;_d(f);g=c[g>>2]|0;l=h;return g|0}c[g>>2]=UX(c[(c[b>>2]|0)+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=c[f>>2]|0;_d(f);g=c[g>>2]|0;l=h;return g|0}function iX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;jX(c[d>>2]|0);if(c[f>>2]|0)WR(c[d>>2]|0);f=BR(c[d>>2]|0)|0;l=e;return f|0}function jX(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+16>>2]|0)){l=d;return}c[(c[b>>2]|0)+16>>2]=0;kX(c[b>>2]|0);l=d;return}function kX(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;F=l;l=l+208|0;f=F+192|0;r=F+188|0;x=F+184|0;y=F+180|0;z=F+176|0;A=F+172|0;B=F+168|0;C=F+164|0;E=F+160|0;g=F+156|0;h=F+16|0;i=F+152|0;j=F+148|0;k=F+144|0;m=F+8|0;n=F;o=F+140|0;p=F+136|0;q=F+132|0;s=F+128|0;t=F+124|0;u=F+120|0;v=F+116|0;w=F+112|0;c[f>>2]=b;c[r>>2]=c[(c[f>>2]|0)+12>>2];c[z>>2]=0;c[x>>2]=hS(c[f>>2]|0)|0;c[y>>2]=lX(c[f>>2]|0,c[x>>2]|0)|0;eX(c[f>>2]|0);if(!(c[y>>2]|0)){E=c[f>>2]|0;C=c[z>>2]|0;xX(E,x,C);C=c[f>>2]|0;yX(C,x);C=c[f>>2]|0;E=c[x>>2]|0;zX(C,E);E=c[x>>2]|0;jS(E);l=F;return}c[A>>2]=c[(c[c[f>>2]>>2]|0)+68>>2];c[B>>2]=c[(c[c[f>>2]>>2]|0)+48>>2];mX(c[f>>2]|0,h,c[y>>2]|0);c[E>>2]=h+4+8;c[g>>2]=h+4+20;if(!(c[(c[f>>2]|0)+36>>2]|0)){e=vT(c[r>>2]|0,0,0)|0;c[(c[f>>2]|0)+36>>2]=e}while(1){if(!(c[(c[f>>2]|0)+36>>2]|0))b=0==(nX(c[r>>2]|0)|0);else b=0;e=c[r>>2]|0;if(!b)break;YS(e,i,j,k);b=c[f>>2]|0;e=g$(c[i>>2]|0)|0;oX(b,h,e,c[i>>2]|0);a:do if((c[A>>2]|0)>=((c[(c[E>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]|0)+1|0)){h0((c[c[E>>2]>>2]|0)+(c[(c[E>>2]|0)+4>>2]|0)|0,c[j>>2]|0,c[k>>2]|0)|0;e=(c[E>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+(c[k>>2]|0)}else{e=m;c[e>>2]=0;c[e+4>>2]=0;e=n;c[e>>2]=0;c[e+4>>2]=0;c[o>>2]=0;while(1){if(c[(c[f>>2]|0)+36>>2]|0)break a;if((c[o>>2]|0)>=(c[k>>2]|0))break a;e=(RR((c[j>>2]|0)+(c[o>>2]|0)|0,n)|0)&255;c[o>>2]=(c[o>>2]|0)+e;e=n;b=m;e=_$(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;b=m;c[b>>2]=e;c[b+4>>2]=D;b=c[c[E>>2]>>2]|0;if(a[h+57>>0]|0){pX(b,c[(c[E>>2]|0)+4>>2]&65535);b=m;b=ES((c[c[E>>2]>>2]|0)+(c[(c[E>>2]|0)+4>>2]|0)|0,c[b>>2]|0,c[b+4>>2]|0)|0;e=(c[E>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+b;a[h+57>>0]=0;e=m;qX(c[f>>2]|0,h,c[e>>2]|0,c[e+4>>2]|0)}else{e=n;b=ES(b+(c[(c[E>>2]|0)+4>>2]|0)|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=(c[E>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+b}if((c[B>>2]|0)==1){if((((c[o>>2]|0)<(c[k>>2]|0)?(d[(c[j>>2]|0)+(c[o>>2]|0)>>0]|0)==0:0)?(b=c[c[E>>2]>>2]|0,G=(c[E>>2]|0)+4|0,e=c[G>>2]|0,c[G>>2]=e+1,a[b+e>>0]=0,c[o>>2]=(c[o>>2]|0)+1,(c[o>>2]|0)<(c[k>>2]|0)):0)?(d[(c[j>>2]|0)+(c[o>>2]|0)>>0]|0)==0:0){e=c[c[E>>2]>>2]|0;b=(c[E>>2]|0)+4|0;G=c[b>>2]|0;c[b>>2]=G+1;a[e+G>>0]=0;c[o>>2]=(c[o>>2]|0)+1}if(((c[(c[E>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0)<(c[A>>2]|0))continue;rX(c[f>>2]|0,h);continue}c[s>>2]=TR((c[j>>2]|0)+(c[o>>2]|0)|0,q,p)|0;c[s>>2]=(c[s>>2]|0)+(c[q>>2]|0);b:do if(((c[(c[E>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)+(c[s>>2]|0)|0)<=(c[A>>2]|0)){h0((c[c[E>>2]>>2]|0)+(c[(c[E>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[s>>2]|0)|0;G=(c[E>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+(c[s>>2]|0)}else{c[t>>2]=(c[j>>2]|0)+(c[o>>2]|0);c[u>>2]=0;do{if(c[(c[f>>2]|0)+36>>2]|0)break b;c[v>>2]=(c[A>>2]|0)-(c[(c[E>>2]|0)+4>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0);c[w>>2]=0;if(((c[s>>2]|0)-(c[u>>2]|0)|0)<=(c[v>>2]|0))c[w>>2]=(c[s>>2]|0)-(c[u>>2]|0);else c[w>>2]=sX((c[t>>2]|0)+(c[u>>2]|0)|0,c[v>>2]|0)|0;h0((c[c[E>>2]>>2]|0)+(c[(c[E>>2]|0)+4>>2]|0)|0,(c[t>>2]|0)+(c[u>>2]|0)|0,c[w>>2]|0)|0;G=(c[E>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+(c[w>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[w>>2]|0);if(((c[(c[E>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0)>=(c[A>>2]|0))rX(c[f>>2]|0,h)}while((c[u>>2]|0)<(c[s>>2]|0))}while(0);c[o>>2]=(c[o>>2]|0)+(c[s>>2]|0)}}while(0);XS(c[r>>2]|0)}fX(e);tX(c[f>>2]|0,h,z);if(!(c[(c[x>>2]|0)+20>>2]|0))uX((c[f>>2]|0)+36|0,x);vX((c[f>>2]|0)+36|0,c[x>>2]|0,0,1,0);if(!(c[(c[f>>2]|0)+36>>2]|0)){E=c[(c[x>>2]|0)+24+8>>2]|0;B=(c[x>>2]|0)+24+4|0;G=c[B>>2]|0;c[B>>2]=G+1;c[C>>2]=E+(G*12|0);c[c[C>>2]>>2]=c[y>>2];c[(c[C>>2]|0)+4>>2]=1;c[(c[C>>2]|0)+8>>2]=c[z>>2];G=(c[x>>2]|0)+16|0;c[G>>2]=(c[G>>2]|0)+1}wX(c[f>>2]|0,0,c[x>>2]|0);G=c[f>>2]|0;E=c[z>>2]|0;xX(G,x,E);E=c[f>>2]|0;yX(E,x);E=c[f>>2]|0;G=c[x>>2]|0;zX(E,G);G=c[x>>2]|0;jS(G);l=F;return}function lX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+288|0;e=n+280|0;f=n+276|0;i=n+272|0;j=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;m=n+4|0;d=n;c[e>>2]=a;c[f>>2]=b;c[i>>2]=0;if(c[(c[e>>2]|0)+36>>2]|0){m=c[i>>2]|0;l=n;return m|0}if((c[(c[f>>2]|0)+16>>2]|0)>=2e3){c[(c[e>>2]|0)+36>>2]=13;m=c[i>>2]|0;l=n;return m|0}m0(j|0,0,252)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+24+((c[g>>2]|0)*12|0)+4>>2]|0))break;c[d>>2]=c[(c[(c[f>>2]|0)+24+((c[g>>2]|0)*12|0)+8>>2]|0)+((c[h>>2]|0)*12|0)>>2];if((c[d>>2]|0)<=2e3){e=j+((((c[d>>2]|0)-1|0)/32|0)<<2)|0;c[e>>2]=c[e>>2]|1<<(((c[d>>2]|0)-1|0)%32|0)}c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=(c[g>>2]|0)+1}c[k>>2]=0;while(1){a=c[k>>2]|0;if((c[j+(c[k>>2]<<2)>>2]|0)!=-1)break;c[k>>2]=a+1}c[m>>2]=c[j+(a<<2)>>2];c[i>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[i>>2]=(c[i>>2]|0)+1}c[i>>2]=(c[i>>2]|0)+(1+(c[k>>2]<<5));m=c[i>>2]|0;l=n;return m|0}function mX(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=(c[(c[c[f>>2]>>2]|0)+68>>2]|0)+20;b=c[g>>2]|0;d=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[c[g>>2]>>2]=c[h>>2];QX(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[g>>2]|0)+4>>2]=1;a[(c[g>>2]|0)+58>>0]=1;c[(c[g>>2]|0)+88>>2]=1;cS((c[f>>2]|0)+36|0,(c[g>>2]|0)+4+20|0,c[i>>2]|0)|0;cS((c[f>>2]|0)+36|0,(c[g>>2]|0)+4+8|0,c[i>>2]|0)|0;if(!(c[(c[f>>2]|0)+52>>2]|0)){c[j>>2]=c[c[f>>2]>>2];h=c[f>>2]|0;i=(c[f>>2]|0)+52|0;e=c[(c[j>>2]|0)+8>>2]|0;c[k>>2]=c[(c[j>>2]|0)+4>>2];c[k+4>>2]=e;uT(h,i,nf(50920,k)|0)|0}if(c[(c[f>>2]|0)+36>>2]|0){l=m;return}k=c[(c[g>>2]|0)+4+8>>2]|0;a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=0;c[(c[g>>2]|0)+4+8+4>>2]=4;pJ(c[(c[f>>2]|0)+52>>2]|0,1,c[c[g>>2]>>2]|0)|0;l=m;return}function nX(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function oX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[o>>2]=(c[j>>2]|0)+4;c[g>>2]=(c[j>>2]|0)+4+20;if(((c[(c[o>>2]|0)+8+4>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]|0)+2|0)>=(c[(c[c[i>>2]>>2]|0)+68>>2]|0)){if((c[(c[o>>2]|0)+8+4>>2]|0)>4)rX(c[i>>2]|0,c[j>>2]|0);if(((c[(c[o>>2]|0)+8+4>>2]|0)+((c[k>>2]|0)+20)|0)>>>0>(c[(c[o>>2]|0)+8+8>>2]|0)>>>0)cS((c[i>>2]|0)+36|0,(c[o>>2]|0)+8|0,(c[k>>2]|0)+20+(c[(c[o>>2]|0)+8+4>>2]|0)|0)|0}e=(c[(c[o>>2]|0)+8+4>>2]|0)-(c[(c[o>>2]|0)+4>>2]|0)|0;e=ES((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,e,((e|0)<0)<<31>>31)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+e;c[(c[o>>2]|0)+4>>2]=c[(c[o>>2]|0)+8+4>>2];if(a[(c[j>>2]|0)+58>>0]|0){c[n>>2]=0;if((c[c[o>>2]>>2]|0)!=1){c[h>>2]=c[k>>2];if(c[(c[o>>2]|0)+32+4>>2]|0)c[h>>2]=1+(SX(c[(c[o>>2]|0)+32+4>>2]|0,c[(c[o>>2]|0)+32>>2]|0,c[m>>2]|0)|0);TX(c[i>>2]|0,c[j>>2]|0,c[h>>2]|0,c[m>>2]|0);c[o>>2]=(c[j>>2]|0)+4}}else{c[n>>2]=SX(c[(c[o>>2]|0)+32+4>>2]|0,c[(c[o>>2]|0)+32>>2]|0,c[m>>2]|0)|0;f=c[n>>2]|0;hT((c[i>>2]|0)+36|0,(c[o>>2]|0)+8|0,f,((f|0)<0)<<31>>31)}f=(c[k>>2]|0)-(c[n>>2]|0)|0;hT((c[i>>2]|0)+36|0,(c[o>>2]|0)+8|0,f,((f|0)<0)<<31>>31);bS((c[i>>2]|0)+36|0,(c[o>>2]|0)+8|0,(c[k>>2]|0)-(c[n>>2]|0)|0,(c[m>>2]|0)+(c[n>>2]|0)|0);wR((c[i>>2]|0)+36|0,(c[o>>2]|0)+32|0,c[k>>2]|0,c[m>>2]|0);a[(c[j>>2]|0)+58>>0]=0;a[(c[j>>2]|0)+57>>0]=0;a[(c[j>>2]|0)+56>>0]=1;c[c[(c[j>>2]|0)+72>>2]>>2]=c[c[o>>2]>>2];l=p;return}function pX(d,f){d=d|0;f=f|0;var g=0,h=0,i=0;g=l;l=l+16|0;h=g;i=g+4|0;c[h>>2]=d;b[i>>1]=f;a[c[h>>2]>>0]=(e[i>>1]|0)>>8;a[(c[h>>2]|0)+1>>0]=e[i>>1]|0;l=g;return}function qX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;j=q+48|0;k=q+44|0;m=q+24|0;n=q+40|0;o=q+36|0;p=q+16|0;g=q+32|0;h=q+8|0;i=q;c[j>>2]=b;c[k>>2]=d;d=m;c[d>>2]=e;c[d+4>>2]=f;c[o>>2]=0;c[n>>2]=0;while(1){if(!((c[(c[j>>2]|0)+36>>2]|0)==0?(c[o>>2]|0)==0:0))break;c[g>>2]=(c[(c[k>>2]|0)+72>>2]|0)+(c[n>>2]<<5);if((c[(c[g>>2]|0)+16+4>>2]|0)>=(c[(c[c[j>>2]>>2]|0)+68>>2]|0)){a[c[(c[g>>2]|0)+16>>2]>>0]=1;e=c[j>>2]|0;b=c[c[k>>2]>>2]|0;b=j0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=_$(b|0,D|0,0,16)|0;f=D;d=c[n>>2]|0;d=j0(d|0,((d|0)<0)<<31>>31|0,31)|0;d=_$(b|0,f|0,d|0,D|0)|0;f=c[c[g>>2]>>2]|0;f=_$(d|0,D|0,f|0,((f|0)<0)<<31>>31|0)|0;BX(e,f,D,c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16+4>>2]|0);QX(c[j>>2]|0,c[k>>2]|0,(c[n>>2]|0)+2|0)|0;c[g>>2]=(c[(c[k>>2]|0)+72>>2]|0)+(c[n>>2]<<5);if((c[(c[j>>2]|0)+36>>2]|0)==0?(c[(c[g>>2]|0)+32+16+4>>2]|0)==0:0){e=RX((c[g>>2]|0)+16|0)|0;d=h;c[d>>2]=e;c[d+4>>2]=D;c[(c[g>>2]|0)+32>>2]=c[c[g>>2]>>2];hT((c[j>>2]|0)+36|0,(c[g>>2]|0)+32+16|0,0,0);d=c[c[g>>2]>>2]|0;hT((c[j>>2]|0)+36|0,(c[g>>2]|0)+32+16|0,d,((d|0)<0)<<31>>31);d=h;hT((c[j>>2]|0)+36|0,(c[g>>2]|0)+32+16|0,c[d>>2]|0,c[d+4>>2]|0);c[(c[g>>2]|0)+32+4>>2]=1;d=h;e=c[d+4>>2]|0;f=(c[g>>2]|0)+32+8|0;c[f>>2]=c[d>>2];c[f+4>>2]=e}xS((c[g>>2]|0)+16|0);c[(c[g>>2]|0)+4>>2]=0;f=c[g>>2]|0;c[f>>2]=(c[f>>2]|0)+1}else c[o>>2]=1;if(c[(c[g>>2]|0)+4>>2]|0){f=m;e=(c[g>>2]|0)+8|0;e=Z$(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=p;c[f>>2]=e;c[f+4>>2]=D}else{if(!(c[n>>2]|0))b=c[(c[k>>2]|0)+4>>2]|0;else b=c[(c[g>>2]|0)+-32>>2]|0;d=i;c[d>>2]=b;c[d+4>>2]=((b|0)<0)<<31>>31;d=((c[o>>2]|0)!=0^1)&1;hT((c[j>>2]|0)+36|0,(c[g>>2]|0)+16|0,d,((d|0)<0)<<31>>31);d=i;hT((c[j>>2]|0)+36|0,(c[g>>2]|0)+16|0,c[d>>2]|0,c[d+4>>2]|0);d=m;e=c[d+4>>2]|0;f=p;c[f>>2]=c[d>>2];c[f+4>>2]=e}d=p;hT((c[j>>2]|0)+36|0,(c[g>>2]|0)+16|0,c[d>>2]|0,c[d+4>>2]|0);c[(c[g>>2]|0)+4>>2]=1;d=m;e=c[d+4>>2]|0;f=(c[g>>2]|0)+8|0;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[n>>2]=(c[n>>2]|0)+1}l=q;return}function rX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=(c[f>>2]|0)+4;c[13794]=(c[13794]|0)+1;pX((c[(c[g>>2]|0)+8>>2]|0)+2|0,c[(c[g>>2]|0)+8+4>>2]&65535);b=c[e>>2]|0;if(a[(c[f>>2]|0)+58>>0]|0)PX(b,c[f>>2]|0);else bS(b+36|0,(c[g>>2]|0)+8|0,c[(c[g>>2]|0)+20+4>>2]|0,c[(c[g>>2]|0)+20>>2]|0);d=c[c[f>>2]>>2]|0;d=j0(d|0,((d|0)<0)<<31>>31|0,37)|0;d=_$(d|0,D|0,0,0)|0;d=_$(d|0,D|0,0,0)|0;b=c[c[g>>2]>>2]|0;b=_$(d|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;d=h;c[d>>2]=b;c[d+4>>2]=D;BX(c[e>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+8+4>>2]|0);xS((c[g>>2]|0)+8|0);xS((c[g>>2]|0)+20|0);bS((c[e>>2]|0)+36|0,(c[g>>2]|0)+8|0,4,56049);c[(c[g>>2]|0)+4>>2]=0;h=c[g>>2]|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[f>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)+1;a[(c[f>>2]|0)+58>>0]=1;a[(c[f>>2]|0)+57>>0]=1;l=i;return}function sX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=VR(c[d>>2]|0,g)|0;if((c[f>>2]|0)>=(c[e>>2]|0)){h=c[f>>2]|0;l=i;return h|0}while(1){c[h>>2]=VR((c[d>>2]|0)+(c[f>>2]|0)|0,g)|0;if(((c[f>>2]|0)+(c[h>>2]|0)|0)>(c[e>>2]|0))break;c[f>>2]=(c[f>>2]|0)+(c[h>>2]|0)}h=c[f>>2]|0;l=i;return h|0}function tX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;h=j+12|0;f=j+8|0;i=j+4|0;g=j;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;c[g>>2]=(c[h>>2]|0)+4;if(!(c[(c[e>>2]|0)+36>>2]|0)){if((c[(c[g>>2]|0)+8+4>>2]|0)>4)rX(c[e>>2]|0,c[h>>2]|0);c[c[f>>2]>>2]=(c[c[g>>2]>>2]|0)-1;if((c[c[g>>2]>>2]|0)>1)MX(c[e>>2]|0,c[h>>2]|0)}nS((c[g>>2]|0)+32|0);nS((c[g>>2]|0)+8|0);nS((c[g>>2]|0)+20|0);nS((c[h>>2]|0)+76|0);c[i>>2]=0;while(1){a=c[(c[h>>2]|0)+72>>2]|0;if((c[i>>2]|0)>=(c[(c[h>>2]|0)+68>>2]|0))break;nS(a+(c[i>>2]<<5)+16|0);c[i>>2]=(c[i>>2]|0)+1}_d(a);l=j;return}function uX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){l=i;return}c[f>>2]=c[c[e>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+20>>2];c[h>>2]=40+(((c[g>>2]|0)+1|0)*12|0);c[f>>2]=Xf(c[f>>2]|0,c[h>>2]|0)|0;if(c[f>>2]|0){h=(c[f>>2]|0)+24+((c[g>>2]|0)*12|0)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;h=(c[f>>2]|0)+20|0;c[h>>2]=(c[h>>2]|0)+1;c[c[e>>2]>>2]=c[f>>2];l=i;return}else{c[c[d>>2]>>2]=7;l=i;return}}function vX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;if(c[c[k>>2]>>2]|0){l=q;return}c[g>>2]=(c[m>>2]|0)+24+((c[n>>2]|0)*12|0);c[i>>2]=((c[(c[g>>2]|0)+4>>2]|0)+(c[o>>2]|0)|0)*12;c[h>>2]=Xf(c[(c[g>>2]|0)+8>>2]|0,c[i>>2]|0)|0;if(!(c[h>>2]|0)){c[c[k>>2]>>2]=7;l=q;return}if(!(c[p>>2]|0))m0((c[h>>2]|0)+((c[(c[g>>2]|0)+4>>2]|0)*12|0)|0,0,(c[o>>2]|0)*12|0)|0;else{c[j>>2]=(c[(c[g>>2]|0)+4>>2]|0)*12;k0((c[h>>2]|0)+((c[o>>2]|0)*12|0)|0,c[h>>2]|0,c[j>>2]|0)|0;m0(c[h>>2]|0,0,(c[o>>2]|0)*12|0)|0}c[(c[g>>2]|0)+8>>2]=c[h>>2];l=q;return}function wX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;k=s+48|0;m=s+44|0;n=s+40|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;e=s+20|0;f=s+16|0;g=s+12|0;h=s+8|0;i=s+4|0;j=s;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;if(c[(c[k>>2]|0)+36>>2]|0){l=s;return}c[p>>2]=-1;c[q>>2]=0;c[f>>2]=c[(c[n>>2]|0)+24+((c[m>>2]|0)*12|0)+4>>2];if(!(c[f>>2]|0)){l=s;return}c[r>>2]=(c[(c[n>>2]|0)+24+((c[m>>2]|0)*12|0)+8>>2]|0)+(((c[(c[n>>2]|0)+24+((c[m>>2]|0)*12|0)+4>>2]|0)-1|0)*12|0);c[e>>2]=1+(c[(c[r>>2]|0)+8>>2]|0)-(c[(c[r>>2]|0)+4>>2]|0);c[o>>2]=(c[m>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break;if(c[(c[n>>2]|0)+24+((c[o>>2]|0)*12|0)+4>>2]|0)break;c[o>>2]=(c[o>>2]|0)+-1}if((c[o>>2]|0)>=0){c[h>>2]=0;c[i>>2]=(c[n>>2]|0)+24+((c[o>>2]|0)*12|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[i>>2]|0)+4>>2]|0))break;c[j>>2]=(c[(c[(c[i>>2]|0)+8>>2]|0)+((c[g>>2]|0)*12|0)+8>>2]|0)-(c[(c[(c[i>>2]|0)+8>>2]|0)+((c[g>>2]|0)*12|0)+4>>2]|0)+1;if((c[j>>2]|0)>(c[h>>2]|0))c[h>>2]=c[j>>2];c[g>>2]=(c[g>>2]|0)+1}if((c[h>>2]|0)>=(c[e>>2]|0)){c[p>>2]=c[o>>2];c[q>>2]=c[h>>2]}}if((c[p>>2]|0)<0){c[p>>2]=c[m>>2];c[q>>2]=c[e>>2]}KX(c[k>>2]|0,c[p>>2]|0,c[q>>2]|0,c[n>>2]|0);l=s;return}function xX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m;j=m+12|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+36>>2]|0){l=m;return}if((c[(c[c[e>>2]>>2]|0)+72>>2]|0)<=0){l=m;return}c[h>>2]=c[c[f>>2]>>2];a=(c[h>>2]|0)+8|0;d=c[a+4>>2]|0;b=i;c[b>>2]=c[a>>2];c[b+4>>2]=d;b=i;d=c[g>>2]|0;d=_$(c[b>>2]|0,c[b+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;b=c[(c[e>>2]|0)+8>>2]|0;b=p0(d|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;d=D;a=i;i=c[(c[e>>2]|0)+8>>2]|0;i=p0(c[a>>2]|0,c[a+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Z$(b|0,d|0,i|0,D|0)|0;c[j>>2]=i;g=c[g>>2]|0;i=(c[h>>2]|0)+8|0;d=i;g=_$(c[d>>2]|0,c[d+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[i>>2]=g;c[i+4>>2]=D;j=S(c[(c[e>>2]|0)+8>>2]|0,c[j>>2]|0)|0;c[k>>2]=S(j,c[(c[h>>2]|0)+20>>2]|0)|0;JX(c[e>>2]|0,c[f>>2]|0,c[k>>2]|0,c[(c[c[e>>2]>>2]|0)+72>>2]|0)|0;l=m;return}function yX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;g=i+12|0;e=i+8|0;h=i+4|0;f=i;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[c[d>>2]>>2]|0)+76>>2];c[h>>2]=c[c[g>>2]>>2];c[f>>2]=0;while(1){if(c[(c[d>>2]|0)+36>>2]|0){a=5;break}if((c[(c[h>>2]|0)+24+((c[f>>2]|0)*12|0)+4>>2]|0)<(c[e>>2]|0)){a=5;break}CX(c[d>>2]|0,h,c[f>>2]|0,0);wX(c[d>>2]|0,(c[f>>2]|0)+1|0,c[h>>2]|0);c[f>>2]=(c[f>>2]|0)+1}if((a|0)==5){c[c[g>>2]>>2]=c[h>>2];l=i;return}}function zX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;d=k+32|0;e=k+28|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+36>>2]|0){l=k;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;b=c[(c[c[d>>2]>>2]|0)+64>>2]|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)<0?0:b;if(!(cS((c[d>>2]|0)+36|0,f,31)|0)){AX(c[f>>2]|0,c[h>>2]|0);c[f+4>>2]=4;b=c[(c[e>>2]|0)+20>>2]|0;b=ES((c[f>>2]|0)+(c[f+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;h=f+4|0;c[h>>2]=(c[h>>2]|0)+b;h=c[(c[e>>2]|0)+16>>2]|0;h=ES((c[f>>2]|0)+(c[f+4>>2]|0)|0,h,((h|0)<0)<<31>>31)|0;b=f+4|0;c[b>>2]=(c[b>>2]|0)+h;b=(c[e>>2]|0)+8|0;b=ES((c[f>>2]|0)+(c[f+4>>2]|0)|0,c[b>>2]|0,c[b+4>>2]|0)|0;h=f+4|0;c[h>>2]=(c[h>>2]|0)+b}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[j>>2]=(c[e>>2]|0)+24+((c[g>>2]|0)*12|0);h=c[c[j>>2]>>2]|0;hT((c[d>>2]|0)+36|0,f,h,((h|0)<0)<<31>>31);h=c[(c[j>>2]|0)+4>>2]|0;hT((c[d>>2]|0)+36|0,f,h,((h|0)<0)<<31>>31);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;h=c[(c[(c[j>>2]|0)+8>>2]|0)+((c[i>>2]|0)*12|0)>>2]|0;hT((c[d>>2]|0)+36|0,f,h,((h|0)<0)<<31>>31);h=c[(c[(c[j>>2]|0)+8>>2]|0)+((c[i>>2]|0)*12|0)+4>>2]|0;hT((c[d>>2]|0)+36|0,f,h,((h|0)<0)<<31>>31);h=c[(c[(c[j>>2]|0)+8>>2]|0)+((c[i>>2]|0)*12|0)+8>>2]|0;hT((c[d>>2]|0)+36|0,f,h,((h|0)<0)<<31>>31);c[i>>2]=(c[i>>2]|0)+1}c[g>>2]=(c[g>>2]|0)+1}BX(c[d>>2]|0,10,0,c[f>>2]|0,c[f+4>>2]|0);nS(f);l=k;return}function AX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=c[g>>2]>>24;a[(c[f>>2]|0)+1>>0]=c[g>>2]>>16;a[(c[f>>2]|0)+2>>0]=c[g>>2]>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2]>>0;l=e;return}function BX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+8|0;g=n+28|0;h=n;i=n+24|0;j=n+20|0;k=n+16|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[i>>2]=e;c[j>>2]=f;if(c[(c[g>>2]|0)+36>>2]|0){l=n;return}if((c[(c[g>>2]|0)+44>>2]|0)==0?(c[k>>2]=c[c[g>>2]>>2],e=c[g>>2]|0,f=(c[g>>2]|0)+44|0,d=c[(c[k>>2]|0)+8>>2]|0,c[m>>2]=c[(c[k>>2]|0)+4>>2],c[m+4>>2]=d,uT(e,f,nf(50780,m)|0)|0,c[(c[g>>2]|0)+36>>2]|0):0){l=n;return}m=h;qJ(c[(c[g>>2]|0)+44>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;lJ(c[(c[g>>2]|0)+44>>2]|0,2,c[i>>2]|0,c[j>>2]|0,0)|0;Bs(c[(c[g>>2]|0)+44>>2]|0)|0;m=ys(c[(c[g>>2]|0)+44>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=m;l=n;return}function CX(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;H=l;l=l+192|0;B=H+188|0;j=H+184|0;k=H+180|0;C=H+176|0;E=H+172|0;F=H+168|0;m=H+164|0;n=H+160|0;o=H+156|0;p=H+152|0;q=H;r=H+148|0;s=H+136|0;t=H+132|0;u=H+128|0;i=H+120|0;v=H+116|0;w=H+112|0;x=H+108|0;y=H+104|0;z=H+100|0;A=H+96|0;c[B>>2]=b;c[j>>2]=f;c[k>>2]=g;c[C>>2]=h;c[E>>2]=c[c[j>>2]>>2];c[F>>2]=(c[E>>2]|0)+24+((c[k>>2]|0)*12|0);c[n>>2]=0;if(c[C>>2]|0)b=c[c[C>>2]>>2]|0;else b=0;c[o>>2]=b;c[u>>2]=c[(c[c[B>>2]>>2]|0)+48>>2];c[H+124>>2]=32;b=q;f=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;do if(!(c[c[F>>2]>>2]|0)){c[i>>2]=lX(c[B>>2]|0,c[E>>2]|0)|0;if((c[k>>2]|0)==((c[(c[E>>2]|0)+20>>2]|0)-1|0)){uX((c[B>>2]|0)+36|0,c[j>>2]|0);c[E>>2]=c[c[j>>2]>>2]}vX((c[B>>2]|0)+36|0,c[E>>2]|0,(c[k>>2]|0)+1|0,1,0);if(c[(c[B>>2]|0)+36>>2]|0){l=H;return}else{c[F>>2]=(c[E>>2]|0)+24+((c[k>>2]|0)*12|0);c[m>>2]=(c[E>>2]|0)+24+(((c[k>>2]|0)+1|0)*12|0);mX(c[B>>2]|0,q,c[i>>2]|0);c[r>>2]=(c[(c[m>>2]|0)+8>>2]|0)+((c[(c[m>>2]|0)+4>>2]|0)*12|0);j=(c[m>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[r>>2]|0)+4>>2]=1;c[c[r>>2]>>2]=c[i>>2];j=(c[E>>2]|0)+16|0;c[j>>2]=(c[j>>2]|0)+1;c[p>>2]=c[(c[F>>2]|0)+4>>2];break}}else{c[m>>2]=(c[E>>2]|0)+24+(((c[k>>2]|0)+1|0)*12|0);c[p>>2]=c[c[F>>2]>>2];c[r>>2]=(c[(c[m>>2]|0)+8>>2]|0)+(((c[(c[m>>2]|0)+4>>2]|0)-1|0)*12|0);mX(c[B>>2]|0,q,c[c[r>>2]>>2]|0);c[q+4>>2]=(c[(c[r>>2]|0)+8>>2]|0)+1;c[q+88>>2]=0}while(0);if((c[(c[m>>2]|0)+4>>2]|0)==1)b=(c[(c[E>>2]|0)+20>>2]|0)==((c[k>>2]|0)+2|0);else b=0;c[t>>2]=b&1;iS(c[B>>2]|0,c[E>>2]|0,32,0,0,0,c[k>>2]|0,c[p>>2]|0,n);a:while(1){if(NS(c[B>>2]|0,c[n>>2]|0)|0)break;c[v>>2]=(c[n>>2]|0)+80+((e[(c[(c[n>>2]|0)+72>>2]|0)+4>>1]|0)*88|0);if(!(c[(c[v>>2]|0)+80>>2]|0)){if((c[t>>2]|0)==0?d[(c[v>>2]|0)+84>>0]|0:0)G=16}else G=16;do if((G|0)==16){G=0;c[y>>2]=dS(c[n>>2]|0,x)|0;if(!((c[x>>2]|0)==(c[s+4>>2]|0)?!(H_(c[y>>2]|0,c[s>>2]|0,c[x>>2]|0)|0):0)){if(c[C>>2]|0?(c[q+60>>2]|0)>(c[o>>2]|0):0)break a;oX(c[B>>2]|0,q,c[x>>2]|0,c[y>>2]|0);wR((c[B>>2]|0)+36|0,s,c[x>>2]|0,c[y>>2]|0)}k=c[B>>2]|0;b=iW(c[n>>2]|0)|0;DX(k,q,b,D);b=c[v>>2]|0;if((c[u>>2]|0)!=1){c[w>>2]=(c[b+80>>2]<<1)+(d[(c[v>>2]|0)+84>>0]|0);k=c[w>>2]|0;hT((c[B>>2]|0)+36|0,q+4+8|0,k,((k|0)<0)<<31>>31);AS(c[B>>2]|0,c[v>>2]|0,q,139);break}if(a[b+84>>0]|0?(hT((c[B>>2]|0)+36|0,q+4+8|0,0,0),(c[(c[v>>2]|0)+80>>2]|0)>0):0)hT((c[B>>2]|0)+36|0,q+4+8|0,0,0)}while(0);zR(c[B>>2]|0,c[n>>2]|0,0,0,0)}tX(c[B>>2]|0,q,(c[r>>2]|0)+8|0);if(NS(c[B>>2]|0,c[n>>2]|0)|0){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[p>>2]|0))break;FX(c[B>>2]|0,c[(c[(c[F>>2]|0)+8>>2]|0)+((c[z>>2]|0)*12|0)>>2]|0);c[z>>2]=(c[z>>2]|0)+1}if((c[(c[F>>2]|0)+4>>2]|0)!=(c[p>>2]|0)){c[A>>2]=((c[(c[F>>2]|0)+4>>2]|0)-(c[p>>2]|0)|0)*12;k0(c[(c[F>>2]|0)+8>>2]|0,(c[(c[F>>2]|0)+8>>2]|0)+((c[p>>2]|0)*12|0)|0,c[A>>2]|0)|0}G=(c[E>>2]|0)+16|0;c[G>>2]=(c[G>>2]|0)-(c[p>>2]|0);G=(c[F>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)-(c[p>>2]|0);c[c[F>>2]>>2]=0;if(!(c[(c[r>>2]|0)+8>>2]|0)){G=(c[m>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+-1;G=(c[E>>2]|0)+16|0;c[G>>2]=(c[G>>2]|0)+-1}}else{GX(c[B>>2]|0,c[n>>2]|0);c[c[F>>2]>>2]=c[p>>2]}oS(c[n>>2]|0);nS(s);if(!(c[C>>2]|0)){l=H;return}G=c[C>>2]|0;c[G>>2]=(c[G>>2]|0)-(c[q+60>>2]|0);l=H;return}function DX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+12|0;j=m;k=m+8|0;c[h>>2]=b;c[i>>2]=e;e=j;c[e>>2]=f;c[e+4>>2]=g;if(c[(c[h>>2]|0)+36>>2]|0){l=m;return}c[k>>2]=(c[i>>2]|0)+4;if(((c[(c[k>>2]|0)+8+4>>2]|0)+(c[(c[k>>2]|0)+20+4>>2]|0)|0)>=(c[(c[c[h>>2]>>2]|0)+68>>2]|0))rX(c[h>>2]|0,c[i>>2]|0);if(a[(c[i>>2]|0)+57>>0]|0){pX(c[(c[k>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8+4>>2]&65535);g=j;qX(c[h>>2]|0,c[i>>2]|0,c[g>>2]|0,c[g+4>>2]|0)}if(!(d[(c[i>>2]|0)+56>>0]|0)?!(d[(c[i>>2]|0)+57>>0]|0):0){g=(c[h>>2]|0)+36|0;h=(c[k>>2]|0)+8|0;f=j;k=(c[i>>2]|0)+48|0;k=Z$(c[f>>2]|0,c[f+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;hT(g,h,k,D)}else{g=j;hT((c[h>>2]|0)+36|0,(c[k>>2]|0)+8|0,c[g>>2]|0,c[g+4>>2]|0)}h=j;j=c[h+4>>2]|0;k=(c[i>>2]|0)+48|0;c[k>>2]=c[h>>2];c[k+4>>2]=j;a[(c[i>>2]|0)+56>>0]=0;a[(c[i>>2]|0)+57>>0]=0;l=m;return}function EX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;j=f+16|0;k=f+12|0;h=f+8|0;g=f+4|0;i=f;c[j>>2]=a;c[k>>2]=b;c[h>>2]=d;c[g>>2]=e;c[i>>2]=c[k>>2];IX(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return}function FX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+48|0;g=h+16|0;d=h+32|0;e=h+28|0;j=h+8|0;i=h;f=h+24|0;c[d>>2]=a;c[e>>2]=b;a=c[e>>2]|0;a=j0(a|0,((a|0)<0)<<31>>31|0,37)|0;a=_$(a|0,D|0,0,0)|0;a=_$(a|0,D|0,0,0)|0;a=_$(a|0,D|0,0,0)|0;b=j;c[b>>2]=a;c[b+4>>2]=D;b=(c[e>>2]|0)+1|0;b=j0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=_$(b|0,D|0,0,0)|0;b=_$(b|0,D|0,0,0)|0;b=_$(b|0,D|0,0,0)|0;b=Z$(b|0,D|0,1,0)|0;a=i;c[a>>2]=b;c[a+4>>2]=D;a=j;b=i;HX(c[d>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0);if(!(c[(c[d>>2]|0)+56>>2]|0)){c[f>>2]=c[c[d>>2]>>2];i=c[d>>2]|0;j=(c[d>>2]|0)+56|0;b=c[(c[f>>2]|0)+8>>2]|0;c[g>>2]=c[(c[f>>2]|0)+4>>2];c[g+4>>2]=b;uT(i,j,nf(50880,g)|0)|0}if(c[(c[d>>2]|0)+36>>2]|0){l=h;return}pJ(c[(c[d>>2]|0)+56>>2]|0,1,c[e>>2]|0)|0;Bs(c[(c[d>>2]|0)+56>>2]|0)|0;j=ys(c[(c[d>>2]|0)+56>>2]|0)|0;c[(c[d>>2]|0)+36>>2]=j;l=h;return}function GX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+64|0;h=q+48|0;i=q+44|0;j=q+40|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q;p=q+16|0;e=q+12|0;f=q+52|0;g=q+8|0;c[h>>2]=b;c[i>>2]=d;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[i>>2]|0)+52>>2]|0))break;c[m>>2]=(c[i>>2]|0)+80+((c[j>>2]|0)*88|0);do if(c[c[m>>2]>>2]|0){b=c[m>>2]|0;if(!(c[(c[m>>2]|0)+12>>2]|0)){c[(c[b>>2]|0)+8>>2]=0;c[(c[c[m>>2]>>2]|0)+4>>2]=0;break}c[n>>2]=c[b+32>>2];c[e>>2]=c[c[c[m>>2]>>2]>>2];a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;d=c[e>>2]|0;d=j0(d|0,((d|0)<0)<<31>>31|0,37)|0;d=_$(d|0,D|0,0,0)|0;d=_$(d|0,D|0,0,0)|0;b=c[(c[m>>2]|0)+28>>2]|0;b=_$(d|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;d=o;c[d>>2]=b;c[d+4>>2]=D;d=o;c[p>>2]=PR(c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(c[p>>2]|0){xS(k);if(((c[k+4>>2]|0)+(c[(c[p>>2]|0)+4>>2]|0)|0)>>>0>(c[k+8>>2]|0)>>>0)cS((c[h>>2]|0)+36|0,k,(c[(c[p>>2]|0)+4>>2]|0)+(c[k+4>>2]|0)|0)|0;bS((c[h>>2]|0)+36|0,k,4,f);d=c[(c[m>>2]|0)+60+4>>2]|0;hT((c[h>>2]|0)+36|0,k,d,((d|0)<0)<<31>>31);bS((c[h>>2]|0)+36|0,k,c[(c[m>>2]|0)+60+4>>2]|0,c[(c[m>>2]|0)+60>>2]|0);bS((c[h>>2]|0)+36|0,k,(c[(c[p>>2]|0)+8>>2]|0)-(c[n>>2]|0)|0,(c[c[p>>2]>>2]|0)+(c[n>>2]|0)|0);if(!(c[(c[h>>2]|0)+36>>2]|0))pX((c[k>>2]|0)+2|0,c[k+4>>2]&65535);hT((c[h>>2]|0)+36|0,k,4,0);if((c[(c[m>>2]|0)+8>>2]|0)==(c[(c[m>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+40>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0):0){c[g>>2]=(c[(c[p>>2]|0)+8>>2]|0)-(c[(c[m>>2]|0)+40>>2]|0);d=(c[k+4>>2]|0)-1-(c[g>>2]|0)-4|0;hT((c[h>>2]|0)+36|0,k,d,((d|0)<0)<<31>>31);bS((c[h>>2]|0)+36|0,k,(c[(c[p>>2]|0)+4>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0)|0,(c[c[p>>2]>>2]|0)+(c[(c[m>>2]|0)+36>>2]|0)|0)}AR(c[p>>2]|0);c[(c[c[m>>2]>>2]|0)+4>>2]=c[(c[m>>2]|0)+28>>2];r=c[h>>2]|0;b=c[e>>2]|0;b=j0(b|0,((b|0)<0)<<31>>31|0,37)|0;b=_$(b|0,D|0,0,0)|0;b=_$(b|0,D|0,0,0)|0;b=_$(b|0,D|0,1,0)|0;d=o;HX(r,b,D,c[d>>2]|0,c[d+4>>2]|0);d=o;BX(c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)}}while(0);c[j>>2]=(c[j>>2]|0)+1}nS(k);l=q;return}function HX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;m=p+16|0;n=p+36|0;h=p+8|0;i=p;j=p+32|0;k=p+28|0;g=p+24|0;c[n>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;d=i;c[d>>2]=e;c[d+4>>2]=f;if(c[(c[n>>2]|0)+36>>2]|0){l=p;return}if(!(c[(c[n>>2]|0)+48>>2]|0)){c[k>>2]=c[c[n>>2]>>2];f=c[(c[k>>2]|0)+8>>2]|0;c[m>>2]=c[(c[k>>2]|0)+4>>2];c[m+4>>2]=f;c[g>>2]=nf(50831,m)|0;if(!(c[g>>2]|0))c[j>>2]=7;else{c[j>>2]=zv(c[c[k>>2]>>2]|0,c[g>>2]|0,-1,(c[n>>2]|0)+48|0,0)|0;_d(c[g>>2]|0)}if(c[j>>2]|0){b=c[j>>2]|0;a=c[n>>2]|0}else o=8}else o=8;if((o|0)==8){b=h;qJ(c[(c[n>>2]|0)+48>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;b=i;qJ(c[(c[n>>2]|0)+48>>2]|0,2,c[b>>2]|0,c[b+4>>2]|0)|0;Bs(c[(c[n>>2]|0)+48>>2]|0)|0;b=ys(c[(c[n>>2]|0)+48>>2]|0)|0;a=c[n>>2]|0}c[a+36>>2]=b;l=p;return}function IX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+48|0;j=o+40|0;k=o+36|0;q=o+32|0;p=o+28|0;m=o+24|0;n=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;i=o;c[j>>2]=a;c[k>>2]=b;c[q>>2]=d;c[p>>2]=e;c[m>>2]=(c[k>>2]|0)+4;c[n>>2]=c[q>>2];c[f>>2]=c[p>>2];while(1){if(c[(c[j>>2]|0)+36>>2]|0)break;if(((c[(c[m>>2]|0)+8+4>>2]|0)+(c[(c[m>>2]|0)+20+4>>2]|0)+(c[f>>2]|0)|0)<(c[(c[c[j>>2]>>2]|0)+68>>2]|0))break;c[g>>2]=(c[(c[c[j>>2]>>2]|0)+68>>2]|0)-(c[(c[m>>2]|0)+8+4>>2]|0)-(c[(c[m>>2]|0)+20+4>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[g>>2]|0))break;q=(RR((c[n>>2]|0)+(c[h>>2]|0)|0,i)|0)&255;c[h>>2]=(c[h>>2]|0)+q}bS((c[j>>2]|0)+36|0,(c[m>>2]|0)+8|0,c[h>>2]|0,c[n>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[h>>2]|0);c[f>>2]=(c[f>>2]|0)-(c[h>>2]|0);rX(c[j>>2]|0,c[k>>2]|0)}if((c[f>>2]|0)<=0){l=o;return}bS((c[j>>2]|0)+36|0,(c[m>>2]|0)+8|0,c[f>>2]|0,c[n>>2]|0);l=o;return}function JX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;m=s+40|0;n=s+36|0;t=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;f=s+16|0;g=s+12|0;h=s+8|0;i=s+4|0;j=s;c[m>>2]=a;c[n>>2]=b;c[t>>2]=d;c[o>>2]=e;c[p>>2]=c[t>>2];c[q>>2]=0;c[f>>2]=c[c[n>>2]>>2];while(1){if((c[p>>2]|0)<=0){r=17;break}if(c[(c[m>>2]|0)+36>>2]|0){r=17;break}c[h>>2]=0;c[i>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[j>>2]=(c[f>>2]|0)+24+((c[g>>2]|0)*12|0);k=c[j>>2]|0;if(c[c[j>>2]>>2]|0){r=7;break}if((c[k+4>>2]|0)>(c[i>>2]|0)){c[i>>2]=c[(c[j>>2]|0)+4>>2];c[h>>2]=c[g>>2]}c[g>>2]=(c[g>>2]|0)+1}if((r|0)==7?(r=0,(c[k>>2]|0)>(c[i>>2]|0)):0){c[h>>2]=c[g>>2];c[i>>2]=c[c[j>>2]>>2]}if((c[i>>2]|0)<(c[o>>2]|0)?(c[(c[f>>2]|0)+24+((c[h>>2]|0)*12|0)>>2]|0)==0:0){r=17;break}c[q>>2]=1;CX(c[m>>2]|0,f,c[h>>2]|0,p);if(c[(c[m>>2]|0)+36>>2]|0)continue;if(c[(c[f>>2]|0)+24+((c[h>>2]|0)*12|0)>>2]|0)continue;wX(c[m>>2]|0,(c[h>>2]|0)+1|0,c[f>>2]|0)}if((r|0)==17){c[c[n>>2]>>2]=c[f>>2];l=s;return c[q>>2]|0}return 0}function KX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;i=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[f>>2]=(c[m>>2]|0)+24+((c[j>>2]|0)*12|0);if(c[c[f>>2]>>2]|0){l=p;return}c[n>>2]=(c[j>>2]|0)+1;a:while(1){if((c[n>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0)){a=11;break}c[g>>2]=(c[m>>2]|0)+24+((c[n>>2]|0)*12|0);if(c[c[g>>2]>>2]|0){a=11;break}c[o>>2]=(c[(c[g>>2]|0)+4>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break;c[h>>2]=LX((c[(c[g>>2]|0)+8>>2]|0)+((c[o>>2]|0)*12|0)|0)|0;if((c[h>>2]|0)>(c[k>>2]|0)){a=11;break a}vX((c[i>>2]|0)+36|0,c[m>>2]|0,c[j>>2]|0,1,1);if(c[(c[i>>2]|0)+36>>2]|0){a=11;break a}e=c[(c[f>>2]|0)+8>>2]|0;d=(c[(c[g>>2]|0)+8>>2]|0)+((c[o>>2]|0)*12|0)|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];e=(c[f>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+1;e=(c[g>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+-1}c[n>>2]=(c[n>>2]|0)+1}if((a|0)==11){l=p;return}}function LX(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return 1+(c[(c[b>>2]|0)+8>>2]|0)-(c[(c[b>>2]|0)+4>>2]|0)|0}function MX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+88>>2]|0)){l=h;return}c[f>>2]=NX(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[(c[d>>2]|0)+36>>2]|0)){if((c[(c[e>>2]|0)+76+4>>2]|0)>0)a=c[(c[e>>2]|0)+76>>2]|0;else a=55752;c[g>>2]=a;lJ(c[(c[d>>2]|0)+52>>2]|0,2,c[g>>2]|0,c[(c[e>>2]|0)+76+4>>2]|0,0)|0;b=c[(c[d>>2]|0)+52>>2]|0;f=c[f>>2]|0;g=c[(c[e>>2]|0)+88>>2]|0;g=j0(g|0,((g|0)<0)<<31>>31|0,1)|0;g=_$(f|0,((f|0)<0)<<31>>31|0,g|0,D|0)|0;qJ(b,3,g,D)|0;Bs(c[(c[d>>2]|0)+52>>2]|0)|0;g=ys(c[(c[d>>2]|0)+52>>2]|0)|0;c[(c[d>>2]|0)+36>>2]=g}c[(c[e>>2]|0)+88>>2]=0;l=h;return}function NX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[(c[e>>2]|0)+72>>2]|0)+16+4>>2]|0)>0?(c[(c[e>>2]|0)+64>>2]|0)>=4:0)c[f>>2]=1;OX(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+64>>2]=0;l=g;return c[f>>2]|0}function OX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+68>>2]|0)){a=7;break}c[i>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[h>>2]<<5);if(!(c[(c[i>>2]|0)+16+4>>2]|0)){a=7;break}if(c[g>>2]|0){b=c[e>>2]|0;k=c[c[f>>2]>>2]|0;k=j0(k|0,((k|0)<0)<<31>>31|0,37)|0;k=_$(k|0,D|0,0,16)|0;d=D;a=c[h>>2]|0;a=j0(a|0,((a|0)<0)<<31>>31|0,31)|0;a=_$(k|0,d|0,a|0,D|0)|0;d=c[c[i>>2]>>2]|0;d=_$(a|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;BX(b,d,D,c[(c[i>>2]|0)+16>>2]|0,c[(c[i>>2]|0)+16+4>>2]|0)}xS((c[i>>2]|0)+16|0);c[(c[i>>2]|0)+4>>2]=0;c[h>>2]=(c[h>>2]|0)+1}if((a|0)==7){l=j;return}}function PX(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if(d[(c[f>>2]|0)+57>>0]|0|0?(c[(c[(c[f>>2]|0)+72>>2]|0)+16+4>>2]|0)>0:0){c[g>>2]=c[(c[f>>2]|0)+72>>2];hT((c[e>>2]|0)+36|0,(c[g>>2]|0)+16|0,0,0)}g=(c[f>>2]|0)+64|0;c[g>>2]=(c[g>>2]|0)+1;l=h;return}function QX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do if((c[(c[e>>2]|0)+36>>2]|0)==0?(c[g>>2]|0)>=(c[(c[f>>2]|0)+68>>2]|0):0){c[h>>2]=Xf(c[(c[f>>2]|0)+72>>2]|0,c[g>>2]<<5)|0;if(!(c[h>>2]|0)){c[(c[e>>2]|0)+36>>2]=7;break}else{c[i>>2]=(c[g>>2]|0)-(c[(c[f>>2]|0)+68>>2]|0)<<5;m0((c[h>>2]|0)+(c[(c[f>>2]|0)+68>>2]<<5)|0,0,c[i>>2]|0)|0;c[(c[f>>2]|0)+72>>2]=c[h>>2];c[(c[f>>2]|0)+68>>2]=c[g>>2];break}}while(0);l=j;return c[(c[e>>2]|0)+36>>2]|0}function RX(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;f=b+12|0;d=b;e=b+8|0;c[f>>2]=a;c[e>>2]=1+((RR((c[c[f>>2]>>2]|0)+1|0,d)|0)&255);RR((c[c[f>>2]>>2]|0)+(c[e>>2]|0)|0,d)|0;a=d;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function SX(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[f>>2]|0)){a=5;break}if((d[(c[g>>2]|0)+(c[i>>2]|0)>>0]|0|0)!=(d[(c[h>>2]|0)+(c[i>>2]|0)>>0]|0|0)){a=5;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==5){l=j;return c[i>>2]|0}return 0}function TX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;g=f+8|0;i=f+4|0;h=f;c[j>>2]=a;c[g>>2]=b;c[i>>2]=d;c[h>>2]=e;MX(c[j>>2]|0,c[g>>2]|0);wR((c[j>>2]|0)+36|0,(c[g>>2]|0)+76|0,c[i>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+88>>2]=c[(c[g>>2]|0)+4>>2];l=f;return}function UX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;BX(c[f>>2]|0,1,0,c[h>>2]|0,c[g>>2]|0);d=BR(c[f>>2]|0)|0;l=e;return d|0}function VX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[c[h>>2]>>2];c[f>>2]=gX(c[h>>2]|0,1)|0;WX(c[e>>2]|0,f,50977,c[d>>2]|0);WX(c[e>>2]|0,f,30148,c[d>>2]|0);WX(c[e>>2]|0,f,50982,c[d>>2]|0);if(c[(c[e>>2]|0)+44>>2]|0)WX(c[e>>2]|0,f,49899,c[d>>2]|0);if(c[(c[e>>2]|0)+32>>2]|0){h=c[f>>2]|0;l=g;return h|0}WX(c[e>>2]|0,f,46221,c[d>>2]|0);h=c[f>>2]|0;l=g;return h|0}function WX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k;f=k+32|0;g=k+28|0;h=k+24|0;i=k+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(c[c[g>>2]>>2]|0){l=k;return}e=c[c[f>>2]>>2]|0;a=c[(c[f>>2]|0)+8>>2]|0;b=c[h>>2]|0;d=c[i>>2]|0;i=c[h>>2]|0;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[j+4>>2]=a;c[j+8>>2]=b;c[j+12>>2]=d;c[j+16>>2]=i;j=XX(e,0,50989,j)|0;c[c[g>>2]>>2]=j;l=k;return}function XX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+48|0;f=j+36|0;g=j+32|0;m=j+28|0;h=j+24|0;k=j+8|0;i=j;c[f>>2]=a;c[g>>2]=b;c[m>>2]=d;c[k>>2]=e;c[i>>2]=vf(c[m>>2]|0,k)|0;if(!(c[i>>2]|0)){c[h>>2]=7;m=c[h>>2]|0;l=j;return m|0}else{c[h>>2]=qv(c[f>>2]|0,c[i>>2]|0,0,0,c[g>>2]|0)|0;_d(c[i>>2]|0);m=c[h>>2]|0;l=j;return m|0}return 0}function YX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[(c[h>>2]|0)+24>>2]|0)+32>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(kl(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+20>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;l=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;l=g;return h|0}return 0}function ZX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n+8|0;e=n+36|0;f=n+32|0;g=n+28|0;h=n+24|0;i=n+20|0;j=n;k=n+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Qh(c[e>>2]|0)|0;b=Fi(c[c[g>>2]>>2]|0)|0;d=j;c[d>>2]=b;c[d+4>>2]=D;d=j;c[i>>2]=QT(c[c[h>>2]>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[i>>2]|0)){h=j;i=c[h+4>>2]|0;j=m;c[j>>2]=c[h>>2];c[j+4>>2]=i;c[k>>2]=nf(51031,m)|0;Th(c[e>>2]|0,c[k>>2]|0,-1);_d(c[k>>2]|0);l=n;return}else{_X(c[h>>2]|0,c[i>>2]|0,c[e>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+4|0);l=n;return}}function _X(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;h=g+12|0;k=g+8|0;j=g+4|0;i=g;c[m>>2]=a;c[h>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[(c[h>>2]|0)+96>>2]=c[m>>2];Cb[c[(c[m>>2]|0)+12>>2]&255](10572,c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0);c[(c[h>>2]|0)+96>>2]=0;l=g;return}function $X(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return c[(c[(c[b>>2]|0)+96>>2]|0)+8>>2]|0}function aY(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return c[(c[(c[c[b>>2]>>2]|0)+12>>2]|0)+12>>2]|0}function bY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;h=d+12|0;e=d+8|0;g=d+4|0;f=d;c[h>>2]=a;c[e>>2]=b;c[g>>2]=c[h>>2];c[f>>2]=c[c[g>>2]>>2];b=_Y(c[(c[f>>2]|0)+20>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function cY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;j=e+16|0;g=e+12|0;f=e+8|0;i=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[i>>2]=c[j>>2];c[h>>2]=c[c[i>>2]>>2];d=XY(c[(c[h>>2]|0)+20>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function dY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;g=l;l=l+32|0;o=g+24|0;k=g+20|0;j=g+16|0;i=g+12|0;h=g+8|0;n=g+4|0;m=g;c[o>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;c[n>>2]=c[o>>2];c[m>>2]=c[c[n>>2]>>2];f=EV(c[(c[m>>2]|0)+12>>2]|0,8,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return f|0}function eY(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=VY(c[(c[d>>2]|0)+52>>2]|0)|0;l=b;return a|0}function fY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];b=WY(c[(c[f>>2]|0)+52>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function gY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];c[f>>2]=0;if(c[(c[e>>2]|0)+60>>2]&8|0?(h=UY(c[e>>2]|0)|0,c[f>>2]=h,0!=(h|0)):0){h=c[f>>2]|0;l=g;return h|0}c[c[d>>2]>>2]=c[(c[e>>2]|0)+112>>2];h=c[f>>2]|0;l=g;return h|0}function hY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;o=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;g=n+4|0;h=n;c[o>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[g>>2]=c[o>>2];c[h>>2]=0;if(c[(c[g>>2]|0)+60>>2]&8|0?(o=UY(c[g>>2]|0)|0,c[h>>2]=o,0!=(o|0)):0){o=c[h>>2]|0;l=n;return o|0}if((c[i>>2]|0)>=0?(c[i>>2]|0)<(c[(c[g>>2]|0)+112>>2]|0):0){c[c[j>>2]>>2]=c[(c[(c[g>>2]|0)+116>>2]|0)+((c[i>>2]|0)*3<<2)>>2];c[c[k>>2]>>2]=c[(c[(c[g>>2]|0)+116>>2]|0)+(((c[i>>2]|0)*3|0)+1<<2)>>2];c[c[m>>2]>>2]=c[(c[(c[g>>2]|0)+116>>2]|0)+(((c[i>>2]|0)*3|0)+2<<2)>>2];o=c[h>>2]|0;l=n;return o|0}c[h>>2]=25;o=c[h>>2]|0;l=n;return o|0}function iY(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=KY(c[d>>2]|0)|0;l=b;return a|0}function jY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;c[j>>2]=c[m>>2];if(QY(c[c[j>>2]>>2]|0)|0){c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;m=c[i>>2]|0;l=k;return m|0}c[i>>2]=RY(c[j>>2]|0,0)|0;if(c[i>>2]|0){m=c[i>>2]|0;l=k;return m|0}m=Cv(c[(c[j>>2]|0)+48>>2]|0,(c[f>>2]|0)+1|0)|0;c[c[g>>2]>>2]=m;m=gJ(c[(c[j>>2]|0)+48>>2]|0,(c[f>>2]|0)+1|0)|0;c[c[h>>2]>>2]=m;m=c[i>>2]|0;l=k;return m|0} +function hp(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+176|0;J=N+136|0;K=N+132|0;L=N+128|0;M=N+124|0;u=N+120|0;v=N+116|0;w=N+112|0;x=N+108|0;y=N+104|0;z=N+100|0;A=N+96|0;B=N+92|0;C=N+88|0;E=N+40|0;F=N+16|0;p=N+84|0;m=N+80|0;n=N+144|0;o=N+72|0;q=N+64|0;r=N+60|0;s=N+8|0;t=N+56|0;G=N+52|0;H=N+48|0;I=N;c[K>>2]=f;c[L>>2]=g;c[M>>2]=h;c[u>>2]=i;c[v>>2]=j;c[w>>2]=k;c[A>>2]=0;c[B>>2]=0;c[p>>2]=0;c[m>>2]=qo(c[K>>2]|0)|0;if(H_((c[K>>2]|0)+52|0,c[m>>2]|0,48)|0)c[p>>2]=(c[(c[m>>2]|0)+16>>2]|0)+1;k=ip(c[K>>2]|0)|0;c[x>>2]=k;if(k){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}c[y>>2]=c[(c[K>>2]|0)+52+16>>2];if(!(c[y>>2]|0)){Nn(n,931071618|(a[936]|0)==0);Nn(n+4|0,3007e3);Nn(n+8|0,c[L>>2]|0);Nn(n+12|0,c[(c[K>>2]|0)+112>>2]|0);if(!(c[(c[K>>2]|0)+112>>2]|0))sf(8,(c[K>>2]|0)+52+32|0);k=n+16|0;j=(c[K>>2]|0)+52+32|0;a[k>>0]=a[j>>0]|0;a[k+1>>0]=a[j+1>>0]|0;a[k+2>>0]=a[j+2>>0]|0;a[k+3>>0]=a[j+3>>0]|0;a[k+4>>0]=a[j+4>>0]|0;a[k+5>>0]=a[j+5>>0]|0;a[k+6>>0]=a[j+6>>0]|0;a[k+7>>0]=a[j+7>>0]|0;Lo(1,n,24,0,o);Nn(n+24|0,c[o>>2]|0);Nn(n+28|0,c[o+4>>2]|0);c[(c[K>>2]|0)+36>>2]=c[L>>2];a[(c[K>>2]|0)+52+13>>0]=(a[936]|0)==0;c[(c[K>>2]|0)+52+24>>2]=c[o>>2];c[(c[K>>2]|0)+52+24+4>>2]=c[o+4>>2];a[(c[K>>2]|0)+47>>0]=1;c[x>>2]=Dm(c[(c[K>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[x>>2]|0){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}if((c[w>>2]|0?(d[(c[K>>2]|0)+48>>0]|0)!=0:0)?(c[x>>2]=mm(c[(c[K>>2]|0)+8>>2]|0,c[w>>2]&19)|0,c[x>>2]|0):0){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}}c[F>>2]=c[K>>2];c[F+4>>2]=c[(c[K>>2]|0)+8>>2];j=F+8|0;c[j>>2]=0;c[j+4>>2]=0;c[F+16>>2]=c[w>>2];c[F+20>>2]=c[L>>2];j=(c[L>>2]|0)+24|0;j=r0((c[y>>2]|0)+1-1|0,0,j|0,((j|0)<0)<<31>>31|0)|0;j=_$(32,0,j|0,D|0)|0;k=E;c[k>>2]=j;c[k+4>>2]=D;c[C>>2]=(c[L>>2]|0)+24;c[z>>2]=c[M>>2];while(1){if(!(c[z>>2]|0)){f=30;break}if((c[p>>2]|0?((c[v>>2]|0)==0?1:(c[(c[z>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,ln(c[K>>2]|0,c[(c[z>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){j=(c[L>>2]|0)+24|0;j=r0((c[r>>2]|0)-1|0,0,j|0,((j|0)<0)<<31>>31|0)|0;j=_$(32,0,j|0,D|0)|0;j=_$(j|0,D|0,24,0)|0;k=s;c[k>>2]=j;c[k+4>>2]=D;if(!((c[(c[K>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[K>>2]|0)+104>>2]|0)>>>0:0))c[(c[K>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[z>>2]|0)+4>>2];k=s;c[x>>2]=Dm(c[(c[K>>2]|0)+8>>2]|0,c[t>>2]|0,c[L>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[x>>2]|0){f=22;break}g=(c[z>>2]|0)+24|0;f=g;g=e[g>>1]&-65}else{c[y>>2]=(c[y>>2]|0)+1;if(c[v>>2]|0)f=(c[(c[z>>2]|0)+12>>2]|0)==0?c[u>>2]|0:0;else f=0;c[q>>2]=f;k=E;c[x>>2]=jp(F,c[z>>2]|0,c[q>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[x>>2]|0){f=27;break}c[A>>2]=c[z>>2];f=c[C>>2]|0;g=E;f=_$(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;g=E;c[g>>2]=f;c[g+4>>2]=D;g=(c[z>>2]|0)+24|0;f=g;g=e[g>>1]|64}b[f>>1]=g;c[z>>2]=c[(c[z>>2]|0)+12>>2]}if((f|0)==22){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}else if((f|0)==27){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}else if((f|0)==30){if((c[v>>2]|0?c[(c[K>>2]|0)+104>>2]|0:0)?(c[x>>2]=kp(c[K>>2]|0,c[y>>2]|0)|0,c[x>>2]|0):0){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}if(c[v>>2]|0?c[w>>2]&32|0:0){c[G>>2]=1;a:do if(a[(c[K>>2]|0)+49>>0]|0){c[H>>2]=Zm(c[(c[K>>2]|0)+8>>2]|0)|0;t=E;s=c[H>>2]|0;s=_$(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Z$(s|0,D|0,1,0)|0;t=c[H>>2]|0;t=n0(s|0,D|0,t|0,((t|0)<0)<<31>>31|0)|0;H=c[H>>2]|0;H=r0(t|0,D|0,H|0,((H|0)<0)<<31>>31|0)|0;t=F+8|0;c[t>>2]=H;c[t+4>>2]=D;t=F+8|0;H=E;c[G>>2]=((c[t>>2]|0)==(c[H>>2]|0)?(c[t+4>>2]|0)==(c[H+4>>2]|0):0)&1;while(1){t=E;r=c[t+4>>2]|0;H=F+8|0;s=c[H+4>>2]|0;if(!((r|0)<(s|0)|((r|0)==(s|0)?(c[t>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)))break a;H=E;c[x>>2]=jp(F,c[A>>2]|0,c[u>>2]|0,c[H>>2]|0,c[H+4>>2]|0)|0;if(c[x>>2]|0)break;t=c[C>>2]|0;H=E;t=_$(c[H>>2]|0,c[H+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;H=E;c[H>>2]=t;c[H+4>>2]=D;c[B>>2]=(c[B>>2]|0)+1}c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}while(0);if(c[G>>2]|0)c[x>>2]=mm(c[F+4>>2]|0,c[w>>2]&19)|0}if((c[v>>2]|0?d[(c[K>>2]|0)+47>>0]|0:0)?(H=(c[K>>2]|0)+16|0,G=c[H+4>>2]|0,(G|0)>0|(G|0)==0&(c[H>>2]|0)>>>0>=0):0){H=(c[K>>2]|0)+16|0;E=c[H+4>>2]|0;G=I;c[G>>2]=c[H>>2];c[G+4>>2]=E;G=(c[L>>2]|0)+24|0;G=r0((c[y>>2]|0)+(c[B>>2]|0)+1-1|0,0,G|0,((G|0)<0)<<31>>31|0)|0;G=_$(32,0,G|0,D|0)|0;E=D;H=(c[K>>2]|0)+16|0;F=c[H+4>>2]|0;if((E|0)>(F|0)|((E|0)==(F|0)?G>>>0>(c[H>>2]|0)>>>0:0)){G=(c[L>>2]|0)+24|0;G=r0((c[y>>2]|0)+(c[B>>2]|0)+1-1|0,0,G|0,((G|0)<0)<<31>>31|0)|0;G=_$(32,0,G|0,D|0)|0;H=I;c[H>>2]=G;c[H+4>>2]=D}xo(c[K>>2]|0,c[I>>2]|0,c[I+4>>2]|0);a[(c[K>>2]|0)+47>>0]=0}c[y>>2]=c[(c[K>>2]|0)+52+16>>2];c[z>>2]=c[M>>2];while(1){if(!(c[z>>2]|0?(c[x>>2]|0)==0:0))break;if(e[(c[z>>2]|0)+24>>1]&64|0){c[y>>2]=(c[y>>2]|0)+1;c[x>>2]=To(c[K>>2]|0,c[y>>2]|0,c[(c[z>>2]|0)+20>>2]|0)|0}c[z>>2]=c[(c[z>>2]|0)+12>>2]}while(1){if(!((c[x>>2]|0)==0?(c[B>>2]|0)>0:0))break;c[y>>2]=(c[y>>2]|0)+1;c[B>>2]=(c[B>>2]|0)+-1;c[x>>2]=To(c[K>>2]|0,c[y>>2]|0,c[(c[A>>2]|0)+20>>2]|0)|0}if(!(c[x>>2]|0)){b[(c[K>>2]|0)+52+14>>1]=c[L>>2]&65280|c[L>>2]>>16;c[(c[K>>2]|0)+52+16>>2]=c[y>>2];if(c[v>>2]|0){M=(c[K>>2]|0)+52+8|0;c[M>>2]=(c[M>>2]|0)+1;c[(c[K>>2]|0)+52+20>>2]=c[u>>2]}if(c[v>>2]|0){Ko(c[K>>2]|0);c[(c[K>>2]|0)+12>>2]=c[y>>2]}}c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}return 0}function ip(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=Fo(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){sf(4,i);c[f>>2]=Ao(c[e>>2]|0,4,4)|0;if(!(c[f>>2]|0)){Io(c[e>>2]|0,c[i>>2]|0);Em(c[e>>2]|0,4,4);break}if((c[f>>2]|0)!=5){c[d>>2]=c[f>>2];j=c[d>>2]|0;l=k;return j|0}}while(0);Bm(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[g>>2]=0;do{h=c[e>>2]|0;i=(c[g>>2]|0)+1|0;c[g>>2]=i;c[f>>2]=np(h,j,1,i)|0}while((c[f>>2]|0)==-1)}c[d>>2]=c[f>>2];j=c[d>>2]|0;l=k;return j|0}function jp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+64|0;i=m+28|0;j=m+24|0;p=m+20|0;o=m+16|0;k=m;g=m+12|0;h=m+8|0;n=m+32|0;c[j>>2]=a;c[p>>2]=b;c[o>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;c[h>>2]=c[(c[p>>2]|0)+4>>2];lp(c[c[j>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[h>>2]|0,n);f=k;c[g>>2]=mp(c[j>>2]|0,n,24,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[g>>2]|0){c[i>>2]=c[g>>2];p=c[i>>2]|0;l=m;return p|0}else{f=c[j>>2]|0;n=c[h>>2]|0;o=c[(c[j>>2]|0)+20>>2]|0;p=k;p=_$(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[g>>2]=mp(f,n,o,p,D)|0;c[i>>2]=c[g>>2];p=c[i>>2]|0;l=m;return p|0}return 0}function kp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;h=q+48|0;i=q+44|0;j=q+40|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+56|0;p=q+24|0;d=q+8|0;e=q;f=q+20|0;g=q+16|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=c[(c[i>>2]|0)+36>>2];c[m>>2]=0;c[n>>2]=pe((c[k>>2]|0)+24|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;p=c[h>>2]|0;l=q;return p|0}if((c[(c[i>>2]|0)+104>>2]|0)==1){b=d;c[b>>2]=24;c[b+4>>2]=0}else{a=(c[k>>2]|0)+24|0;a=r0((c[(c[i>>2]|0)+104>>2]|0)-1-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=_$(32,0,a|0,D|0)|0;a=_$(a|0,D|0,16,0)|0;b=d;c[b>>2]=a;c[b+4>>2]=D}c[m>>2]=$m(c[(c[i>>2]|0)+8>>2]|0,c[n>>2]|0,8,c[d>>2]|0,c[d+4>>2]|0)|0;d=Vl(c[n>>2]|0)|0;c[(c[i>>2]|0)+52+24>>2]=d;d=Vl((c[n>>2]|0)+4|0)|0;c[(c[i>>2]|0)+52+24+4>>2]=d;c[p>>2]=c[(c[i>>2]|0)+104>>2];c[(c[i>>2]|0)+104>>2]=0;while(1){if(c[m>>2]|0)break;if((c[p>>2]|0)>>>0>(c[j>>2]|0)>>>0)break;b=(c[k>>2]|0)+24|0;b=r0((c[p>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=_$(32,0,b|0,D|0)|0;d=e;c[d>>2]=b;c[d+4>>2]=D;d=e;c[m>>2]=$m(c[(c[i>>2]|0)+8>>2]|0,c[n>>2]|0,(c[k>>2]|0)+24|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[m>>2]|0)){c[f>>2]=Vl(c[n>>2]|0)|0;c[g>>2]=Vl((c[n>>2]|0)+4|0)|0;lp(c[i>>2]|0,c[f>>2]|0,c[g>>2]|0,(c[n>>2]|0)+24|0,o);d=e;c[m>>2]=Dm(c[(c[i>>2]|0)+8>>2]|0,o,24,c[d>>2]|0,c[d+4>>2]|0)|0}c[p>>2]=(c[p>>2]|0)+1}_d(c[n>>2]|0);c[h>>2]=c[m>>2];p=c[h>>2]|0;l=q;return p|0}function lp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+32|0;k=o+24|0;q=o+20|0;p=o+16|0;m=o+12|0;n=o+8|0;i=o+4|0;j=o;c[k>>2]=b;c[q>>2]=e;c[p>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=(c[k>>2]|0)+52+24;Nn(c[n>>2]|0,c[q>>2]|0);Nn((c[n>>2]|0)+4|0,c[p>>2]|0);b=(c[n>>2]|0)+8|0;if(!(c[(c[k>>2]|0)+104>>2]|0)){q=(c[k>>2]|0)+52+32|0;a[b>>0]=a[q>>0]|0;a[b+1>>0]=a[q+1>>0]|0;a[b+2>>0]=a[q+2>>0]|0;a[b+3>>0]=a[q+3>>0]|0;a[b+4>>0]=a[q+4>>0]|0;a[b+5>>0]=a[q+5>>0]|0;a[b+6>>0]=a[q+6>>0]|0;a[b+7>>0]=a[q+7>>0]|0;c[i>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[936]|0)==0|0)&1;Lo(c[i>>2]|0,c[n>>2]|0,8,c[j>>2]|0,c[j>>2]|0);Lo(c[i>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[j>>2]|0,c[j>>2]|0);Nn((c[n>>2]|0)+16|0,c[c[j>>2]>>2]|0);Nn((c[n>>2]|0)+20|0,c[(c[j>>2]|0)+4>>2]|0);l=o;return}else{e=b+16|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));l=o;return}}function mp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o;g=o+12|0;h=o+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;e=n;b=c[e+4>>2]|0;f=(c[j>>2]|0)+8|0;d=c[f+4>>2]|0;if((b|0)<(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)?(b=n,e=c[m>>2]|0,e=_$(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,b=D,f=(c[j>>2]|0)+8|0,d=c[f+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?e>>>0>=(c[f>>2]|0)>>>0:0)):0){e=(c[j>>2]|0)+8|0;f=n;f=Z$(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[h>>2]=f;f=n;c[g>>2]=Dm(c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0,c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[g>>2]|0){c[i>>2]=c[g>>2];n=c[i>>2]|0;l=o;return n|0}e=c[h>>2]|0;f=n;e=_$(c[f>>2]|0,c[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;f=n;c[f>>2]=e;c[f+4>>2]=D;c[m>>2]=(c[m>>2]|0)-(c[h>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[h>>2]|0);c[g>>2]=mm(c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+16>>2]&19)|0;if((c[m>>2]|0)==0|(c[g>>2]|0)!=0){c[i>>2]=c[g>>2];n=c[i>>2]|0;l=o;return n|0}}c[g>>2]=Dm(c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[i>>2]=c[g>>2];n=c[i>>2]|0;l=o;return n|0}function np(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;v=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;s=w+32|0;t=w+28|0;h=w+24|0;i=w+20|0;j=w+16|0;k=w+12|0;m=w+8|0;n=w+4|0;o=w;c[p>>2]=a;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[k>>2]=0;if((c[s>>2]|0)>5){c[n>>2]=1;if((c[s>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;l=w;return v|0}if((c[s>>2]|0)>=10)c[n>>2]=(S((c[s>>2]|0)-9|0,(c[s>>2]|0)-9|0)|0)*39;op(c[c[p>>2]>>2]|0,c[n>>2]|0)|0}if(!(c[r>>2]|0)){c[k>>2]=Co(c[p>>2]|0,c[q>>2]|0)|0;do if((c[k>>2]|0)==5){if(!(c[c[(c[p>>2]|0)+32>>2]>>2]|0)){c[k>>2]=-1;break}s=Am(c[p>>2]|0,2)|0;c[k>>2]=s;if(!s){Bm(c[p>>2]|0,2);c[k>>2]=-1;break}if((c[k>>2]|0)==5)c[k>>2]=261}while(0);if(c[k>>2]|0){c[v>>2]=c[k>>2];v=c[v>>2]|0;l=w;return v|0}}c[t>>2]=Fo(c[p>>2]|0)|0;do if((c[r>>2]|0)==0?(c[c[t>>2]>>2]|0)==(c[(c[p>>2]|0)+52+16>>2]|0):0){c[k>>2]=Am(c[p>>2]|0,3)|0;Mo(c[p>>2]|0);if(c[k>>2]|0){if((c[k>>2]|0)==5)break;c[v>>2]=c[k>>2];v=c[v>>2]|0;l=w;return v|0}u=qo(c[p>>2]|0)|0;u=(H_(u,(c[p>>2]|0)+52|0,48)|0)!=0;a=c[p>>2]|0;if(u){Bm(a,3);c[v>>2]=-1;v=c[v>>2]|0;l=w;return v|0}else{b[a+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;l=w;return v|0}}while(0);c[h>>2]=0;c[i>>2]=0;c[m>>2]=c[(c[p>>2]|0)+52+16>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>=5)break;c[o>>2]=c[(c[t>>2]|0)+4+(c[j>>2]<<2)>>2];if((c[h>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0:0){c[h>>2]=c[o>>2];c[i>>2]=c[j>>2]}c[j>>2]=(c[j>>2]|0)+1}a:do if(((d[(c[p>>2]|0)+46>>0]|0)&2|0)==0?((c[i>>2]|0)==0?1:(c[h>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[j>>2]=1;while(1){if((c[j>>2]|0)>=5)break a;c[k>>2]=Ao(c[p>>2]|0,3+(c[j>>2]|0)|0,1)|0;if(!(c[k>>2]|0)){u=36;break}if((c[k>>2]|0)!=5)break;c[j>>2]=(c[j>>2]|0)+1}if((u|0)==36){u=c[m>>2]|0;c[(c[t>>2]|0)+4+(c[j>>2]<<2)>>2]=u;c[h>>2]=u;c[i>>2]=c[j>>2];Em(c[p>>2]|0,3+(c[j>>2]|0)|0,1);break}c[v>>2]=c[k>>2];v=c[v>>2]|0;l=w;return v|0}while(0);if(!(c[i>>2]|0)){c[v>>2]=(c[k>>2]|0)==5?-1:520;v=c[v>>2]|0;l=w;return v|0}c[k>>2]=Am(c[p>>2]|0,3+(c[i>>2]|0)|0)|0;if(c[k>>2]|0){c[v>>2]=(c[k>>2]|0)==5?-1:c[k>>2]|0;v=c[v>>2]|0;l=w;return v|0}c[(c[p>>2]|0)+100>>2]=(c[c[t>>2]>>2]|0)+1;Mo(c[p>>2]|0);if((c[(c[t>>2]|0)+4+(c[i>>2]<<2)>>2]|0)==(c[h>>2]|0)?(u=qo(c[p>>2]|0)|0,(H_(u,(c[p>>2]|0)+52|0,48)|0)==0):0){b[(c[p>>2]|0)+40>>1]=c[i>>2];c[v>>2]=c[k>>2];v=c[v>>2]|0;l=w;return v|0}Bm(c[p>>2]|0,3+(c[i>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;l=w;return v|0}function op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function pp(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=so(c[d>>2]|0)|0;l=b;return a|0}function qp(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;k=x+40|0;r=x+36|0;s=x+50|0;t=x+52|0;u=x+32|0;i=x+28|0;v=x+24|0;j=x+48|0;w=x+20|0;m=x+16|0;n=x+12|0;o=x+8|0;g=x+4|0;h=x;p=x+46|0;q=x+44|0;c[r>>2]=f;do if(!(a[c[r>>2]>>0]|0)){c[i>>2]=c[(c[r>>2]|0)+52>>2];a[t>>0]=a[(c[r>>2]|0)+5>>0]|0;c[u>>2]=c[(c[r>>2]|0)+56>>2];if(rp(c[r>>2]|0,d[(c[u>>2]|0)+(d[t>>0]|0)>>0]|0)|0){c[k>>2]=kn(60006)|0;w=c[k>>2]|0;l=x;return w|0}b[(c[r>>2]|0)+20>>1]=(c[(c[i>>2]|0)+32>>2]|0)-1;a[(c[r>>2]|0)+1>>0]=0;c[v>>2]=c[(c[i>>2]|0)+36>>2];f=(d[t>>0]|0)+8+(d[(c[r>>2]|0)+6>>0]|0)&65535;b[j>>1]=f;b[(c[r>>2]|0)+14>>1]=f;c[(c[r>>2]|0)+60>>2]=(c[u>>2]|0)+(c[v>>2]|0);c[(c[r>>2]|0)+64>>2]=(c[u>>2]|0)+(e[j>>1]|0);c[(c[r>>2]|0)+68>>2]=(c[u>>2]|0)+(d[(c[r>>2]|0)+6>>0]|0);c[m>>2]=((d[(c[u>>2]|0)+((d[t>>0]|0)+5)>>0]<<8|d[(c[u>>2]|0)+((d[t>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[r>>2]|0)+18>>1]=d[(c[u>>2]|0)+((d[t>>0]|0)+3)>>0]<<8|d[(c[u>>2]|0)+((d[t>>0]|0)+3)+1>>0];if((e[(c[r>>2]|0)+18>>1]|0)>>>0>((((c[(c[i>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[k>>2]=kn(60024)|0;w=c[k>>2]|0;l=x;return w|0}c[n>>2]=(e[j>>1]|0)+(e[(c[r>>2]|0)+18>>1]<<1);c[o>>2]=(c[v>>2]|0)-4;do if(c[(c[(c[i>>2]|0)+4>>2]|0)+24>>2]&536870912|0){if(!(a[(c[r>>2]|0)+4>>0]|0))c[o>>2]=(c[o>>2]|0)+-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[r>>2]|0)+18>>1]|0)){f=17;break}b[s>>1]=d[(c[u>>2]|0)+((e[j>>1]|0)+(c[g>>2]<<1))>>0]<<8|d[(c[u>>2]|0)+((e[j>>1]|0)+(c[g>>2]<<1))+1>>0];if((e[s>>1]|0)<(c[n>>2]|0)){f=13;break}if((e[s>>1]|0)>(c[o>>2]|0)){f=13;break}c[h>>2]=(Mb[c[(c[r>>2]|0)+76>>2]&255](c[r>>2]|0,(c[u>>2]|0)+(e[s>>1]|0)|0)|0)&65535;if(((e[s>>1]|0)+(c[h>>2]|0)|0)>(c[v>>2]|0)){f=15;break}c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[k>>2]=kn(60052)|0;w=c[k>>2]|0;l=x;return w|0}else if((f|0)==15){c[k>>2]=kn(60057)|0;w=c[k>>2]|0;l=x;return w|0}else if((f|0)==17){if(a[(c[r>>2]|0)+4>>0]|0)break;c[o>>2]=(c[o>>2]|0)+1;break}}while(0);b[s>>1]=d[(c[u>>2]|0)+((d[t>>0]|0)+1)>>0]<<8|d[(c[u>>2]|0)+((d[t>>0]|0)+1)+1>>0];c[w>>2]=(d[(c[u>>2]|0)+((d[t>>0]|0)+7)>>0]|0)+(c[m>>2]|0);while(1){if((e[s>>1]|0)<=0){f=29;break}if((e[s>>1]|0)<(c[n>>2]|0)){f=23;break}if((e[s>>1]|0)>(c[o>>2]|0)){f=23;break}b[p>>1]=d[(c[u>>2]|0)+(e[s>>1]|0)>>0]<<8|d[(c[u>>2]|0)+(e[s>>1]|0)+1>>0];b[q>>1]=d[(c[u>>2]|0)+((e[s>>1]|0)+2)>>0]<<8|d[(c[u>>2]|0)+((e[s>>1]|0)+2)+1>>0];if((e[p>>1]|0)>0?(e[p>>1]|0)<=((e[s>>1]|0)+(e[q>>1]|0)+3|0):0){f=27;break}if(((e[s>>1]|0)+(e[q>>1]|0)|0)>(c[v>>2]|0)){f=27;break}c[w>>2]=(c[w>>2]|0)+(e[q>>1]|0);b[s>>1]=b[p>>1]|0}if((f|0)==23){c[k>>2]=kn(60077)|0;w=c[k>>2]|0;l=x;return w|0}else if((f|0)==27){c[k>>2]=kn(60084)|0;w=c[k>>2]|0;l=x;return w|0}else if((f|0)==29){if((c[w>>2]|0)<=(c[v>>2]|0)){b[(c[r>>2]|0)+16>>1]=(c[w>>2]|0)-(c[n>>2]|0);a[c[r>>2]>>0]=1;break}c[k>>2]=kn(60098)|0;w=c[k>>2]|0;l=x;return w|0}}while(0);c[k>>2]=0;w=c[k>>2]|0;l=x;return w|0}function rp(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+12|0;i=k+8|0;g=k+4|0;j=k;c[i>>2]=e;c[g>>2]=f;a[(c[i>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[i>>2]|0)+6>>0]=4-(d[(c[i>>2]|0)+4>>0]<<2);c[(c[i>>2]|0)+76>>2]=194;c[j>>2]=c[(c[i>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[i>>2]|0)+2>>0]=1;e=(c[i>>2]|0)+3|0;if(a[(c[i>>2]|0)+4>>0]|0){a[e>>0]=1;e=c[i>>2]|0;f=230}else{a[e>>0]=0;c[(c[i>>2]|0)+76>>2]=195;e=c[i>>2]|0;f=231}c[e+80>>2]=f;b[(c[i>>2]|0)+10>>1]=b[(c[j>>2]|0)+28>>1]|0;e=b[(c[j>>2]|0)+30>>1]|0;f=c[i>>2]|0}else{if((c[g>>2]|0)==2){a[(c[i>>2]|0)+2>>0]=0;a[(c[i>>2]|0)+3>>0]=0;c[(c[i>>2]|0)+80>>2]=229;b[(c[i>>2]|0)+10>>1]=b[(c[j>>2]|0)+24>>1]|0;e=b[(c[j>>2]|0)+26>>1]|0;f=c[i>>2]|0;break}c[h>>2]=kn(59964)|0;j=c[h>>2]|0;l=k;return j|0}while(0);b[f+12>>1]=e;a[(c[i>>2]|0)+7>>0]=a[(c[j>>2]|0)+21>>0]|0;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function sp(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=b;c[h>>2]=f;c[i>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[i>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[j>>2]=(c[i>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{b=c[k>>2]<<7;f=(c[i>>2]|0)+1|0;c[i>>2]=f;c[k>>2]=b|d[f>>0]&127;if((d[c[i>>2]>>0]|0)<128)break a}while((c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0)}while(0);c[i>>2]=(c[i>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[j>>2]=(c[i>>2]|0)+9;do{f=c[i>>2]|0;c[i>>2]=f+1;if(!(d[f>>0]&128))break b}while((c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){m=(c[k>>2]|0)+((c[i>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>>>0<4?4:m;m=c[k>>2]|0;m=m&65535;l=n;return m|0}c[m>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[m>>2]|0)+((((c[k>>2]|0)-(c[m>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[m>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[i>>2]|0)-(c[h>>2]|0)&65535));m=c[k>>2]|0;m=m&65535;l=n;return m|0}function tp(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q;p=q+12|0;h=q+8|0;c[i>>2]=a;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[j>>2];c[n>>2]=d[c[m>>2]>>0];a:do if((c[n>>2]|0)>>>0>=128){c[p>>2]=(c[m>>2]|0)+8;c[n>>2]=c[n>>2]&127;do{f=c[n>>2]<<7;g=(c[m>>2]|0)+1|0;c[m>>2]=g;c[n>>2]=f|(d[g>>0]|0)&127;if((d[c[m>>2]>>0]|0|0)<128)break a}while((c[m>>2]|0)>>>0<(c[p>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;p=o;c[p>>2]=d[c[m>>2]>>0];c[p+4>>2]=0;p=o;g=c[p+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[p>>2]|0)>>>0>=128){c[h>>2]=(c[m>>2]|0)+7;p=o;c[p>>2]=c[o>>2]&127;c[p+4>>2]=0;do{f=o;f=j0(c[f>>2]|0,c[f+4>>2]|0,7)|0;g=(c[m>>2]|0)+1|0;c[m>>2]=g;g=(d[g>>0]|0)&127;p=o;c[p>>2]=f|g;c[p+4>>2]=D|((g|0)<0)<<31>>31;if((d[c[m>>2]>>0]|0|0)<128)break b}while((c[m>>2]|0)>>>0<(c[h>>2]|0)>>>0);h=o;h=j0(c[h>>2]|0,c[h+4>>2]|0,8)|0;g=(c[m>>2]|0)+1|0;c[m>>2]=g;p=o;c[p>>2]=h|(d[g>>0]|0);c[p+4>>2]=D}while(0);c[m>>2]=(c[m>>2]|0)+1;g=o;o=c[g+4>>2]|0;p=c[k>>2]|0;c[p>>2]=c[g>>2];c[p+4>>2]=o;c[(c[k>>2]|0)+12>>2]=c[n>>2];c[(c[k>>2]|0)+8>>2]=c[m>>2];if((c[n>>2]|0)>>>0>(e[(c[i>>2]|0)+10>>1]|0)>>>0){xp(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0);l=q;return}b[(c[k>>2]|0)+18>>1]=(c[n>>2]|0)+((c[m>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[n>>2];l=q;return}function up(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[h+12>>2]=a;c[e>>2]=b;c[f>>2]=(c[e>>2]|0)+4;c[g>>2]=(c[f>>2]|0)+9;do{b=c[f>>2]|0;c[f>>2]=b+1;if(!((d[b>>0]|0)&128))break}while((c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0);l=h;return (c[f>>2]|0)-(c[e>>2]|0)&65535|0}function vp(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;e=4+((yp((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=e;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;l=f;return}function wp(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[i>>2]=f;c[j>>2]=g;c[k>>2]=(c[i>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[m>>2]=d[c[k>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[k>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{f=c[m>>2]<<7;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[m>>2]=f|(d[g>>0]|0)&127;if((d[c[k>>2]>>0]|0|0)<128)break a}while((c[k>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[k>>2]=(c[k>>2]|0)+1;n=c[j>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=0;c[(c[j>>2]|0)+12>>2]=c[m>>2];c[(c[j>>2]|0)+8>>2]=c[k>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){xp(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);l=o;return}b[(c[j>>2]|0)+18>>1]=(c[m>>2]|0)+((c[k>>2]|0)-(c[i>>2]|0)&65535);if((e[(c[j>>2]|0)+18>>1]|0|0)<4)b[(c[j>>2]|0)+18>>1]=4;b[(c[j>>2]|0)+16>>1]=c[m>>2];l=o;return}function xp(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;n=k+20|0;i=k+16|0;j=k+12|0;g=k+8|0;m=k+4|0;h=k;c[n>>2]=a;c[i>>2]=d;c[j>>2]=f;c[g>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[h>>2]=(c[g>>2]|0)+((((c[(c[j>>2]|0)+12>>2]|0)-(c[g>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[h>>2]|0)<=(c[m>>2]|0)){a=c[h>>2]&65535;d=c[j>>2]|0}else{a=c[g>>2]&65535;d=c[j>>2]|0}b[d+16>>1]=a;b[(c[j>>2]|0)+18>>1]=((c[(c[j>>2]|0)+8>>2]|0)+(e[(c[j>>2]|0)+16>>1]|0)-(c[i>>2]|0)&65535)+4;l=k;return}function yp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[i>>2]=d[c[g>>2]>>0];if(!(c[i>>2]&128)){k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=1;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&127;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=2;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);e=(c[i>>2]&128|0)!=0;c[i>>2]=c[i>>2]&2080895;if(!e){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=3;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;b=c[i>>2]|0;if(!e){c[i>>2]=b<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=4;k=a[f>>0]|0;l=m;return k|0}c[k>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);if(!(c[i>>2]&128)){c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>18;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=5;k=a[f>>0]|0;l=m;return k|0}c[k>>2]=c[k>>2]<<7;c[k>>2]=c[k>>2]|c[j>>2];c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&2080895;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>18;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=6;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);b=c[i>>2]|0;if(!(c[i>>2]&128)){c[i>>2]=b&-266354561;c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>11;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=7;k=a[f>>0]|0;l=m;return k|0}c[i>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(c[j>>2]&128|0){c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<15;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<8;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=c[k>>2]<<4;c[j>>2]=d[(c[g>>2]|0)+-4>>0];c[j>>2]=c[j>>2]&127;c[j>>2]=(c[j>>2]|0)>>>3;c[k>>2]=c[k>>2]|c[j>>2];j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=9;k=a[f>>0]|0;l=m;return k|0}else{c[j>>2]=c[j>>2]&-266354561;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>4;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=8;k=a[f>>0]|0;l=m;return k|0}return 0}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+244>>2]|0)Ap(c[(c[d>>2]|0)+244>>2]|0);Bp(c[d>>2]|0,c[e>>2]|0);l=f;return}function Ap(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_h(c[d>>2]|0);l=b;return}function Bp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==3082){l=f;return}c[e>>2]=c[e>>2]&255;if(!((c[e>>2]|0)==14|(c[e>>2]|0)==10)){l=f;return}e=Cp(c[c[d>>2]>>2]|0)|0;c[(c[d>>2]|0)+60>>2]=e;l=f;return}function Cp(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+68>>2]|0)){b=0;l=d;return b|0}b=Bb[c[(c[b>>2]|0)+68>>2]&255](c[b>>2]|0,0,0)|0;l=d;return b|0}function Dp(a){a=a|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=_l(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;l=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;l=f;return e|0}function Ep(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n+16|0;m=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;a[k>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){l=n;return}ci(c[h>>2]|0,c[j>>2]|0,c[i>>2]|0,a[k>>0]|0,c[m>>2]|0)|0;l=n;return}function Fp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;F=l;l=l+112|0;u=F+108|0;o=F+104|0;A=F+100|0;p=F+96|0;B=F+92|0;q=F+88|0;C=F+84|0;E=F+80|0;e=F+76|0;f=F+72|0;r=F+68|0;g=F+64|0;h=F+60|0;i=F+56|0;j=F+52|0;s=F+16|0;t=F+48|0;k=F+44|0;m=F+40|0;v=F+8|0;w=F;n=F+36|0;x=F+32|0;y=F+28|0;z=F+24|0;c[u>>2]=a;c[o>>2]=b;c[B>>2]=0;c[q>>2]=0;td(c[(c[(c[u>>2]|0)+20>>2]|0)+12>>2]|0);el(c[(c[u>>2]|0)+24>>2]|0);if(c[c[u>>2]>>2]|0)td(c[(c[c[u>>2]>>2]|0)+12>>2]|0);c[A>>2]=c[(c[u>>2]|0)+28>>2];if(!(Fn(c[A>>2]|0)|0)){c[C>>2]=qk(c[(c[u>>2]|0)+24>>2]|0)|0;c[E>>2]=qk(c[(c[u>>2]|0)+4>>2]|0)|0;c[f>>2]=-1;c[r>>2]=0;if(c[c[u>>2]>>2]|0?(d[(c[(c[(c[u>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[A>>2]=5;else c[A>>2]=0;if((c[A>>2]|0)==0?0==(nl(c[(c[u>>2]|0)+24>>2]|0)|0):0){c[A>>2]=Gp(c[(c[u>>2]|0)+24>>2]|0,0)|0;c[r>>2]=1}if(((c[A>>2]|0)==0?(c[(c[u>>2]|0)+12>>2]|0)==0:0)?(Hp(c[u>>2]|0)|0)==7:0)c[A>>2]=7;if((0==(c[A>>2]|0)?(c[(c[u>>2]|0)+12>>2]|0)==0:0)?(b=Gp(c[(c[u>>2]|0)+4>>2]|0,2)|0,c[A>>2]=b,0==(b|0)):0){c[(c[u>>2]|0)+12>>2]=1;Ip(c[(c[u>>2]|0)+4>>2]|0,1,(c[u>>2]|0)+8|0)}c[B>>2]=Hn(c[(c[u>>2]|0)+24>>2]|0)|0;c[q>>2]=Hn(c[(c[u>>2]|0)+4>>2]|0)|0;c[p>>2]=Jp(qk(c[(c[u>>2]|0)+4>>2]|0)|0)|0;if(0==(c[A>>2]|0)&(c[p>>2]|0)==5?(c[B>>2]|0)!=(c[q>>2]|0):0)c[A>>2]=8;c[f>>2]=Mn(c[(c[u>>2]|0)+24>>2]|0)|0;c[e>>2]=0;while(1){if((c[o>>2]|0)>=0?(c[e>>2]|0)>=(c[o>>2]|0):0)break;if((c[(c[u>>2]|0)+16>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;if(!((c[A>>2]|0)!=0^1))break;c[g>>2]=c[(c[u>>2]|0)+16>>2];if((c[g>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[(c[(c[u>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[A>>2]=gn(c[C>>2]|0,c[g>>2]|0,h,2)|0,(c[A>>2]|0)==0):0){a=c[u>>2]|0;b=c[g>>2]|0;c[A>>2]=Gn(a,b,Kn(c[h>>2]|0)|0,0)|0;On(c[h>>2]|0)}b=(c[u>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}do if(!(c[A>>2]|0)){c[(c[u>>2]|0)+36>>2]=c[f>>2];c[(c[u>>2]|0)+32>>2]=(c[f>>2]|0)+1-(c[(c[u>>2]|0)+16>>2]|0);if((c[(c[u>>2]|0)+16>>2]|0)>>>0>(c[f>>2]|0)>>>0){c[A>>2]=101;break}if(!(c[(c[u>>2]|0)+40>>2]|0))Kp(c[u>>2]|0)}while(0);if((c[A>>2]|0)==101){if(!(c[f>>2]|0)){c[A>>2]=Lp(c[(c[u>>2]|0)+4>>2]|0)|0;c[f>>2]=1}if((c[A>>2]|0)==0|(c[A>>2]|0)==101)c[A>>2]=Mp(c[(c[u>>2]|0)+4>>2]|0,1,(c[(c[u>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[A>>2]|0)){if(c[c[u>>2]>>2]|0)Np(c[c[u>>2]>>2]|0);if((c[p>>2]|0)==5)c[A>>2]=Op(c[(c[u>>2]|0)+4>>2]|0,2)|0}if(!(c[A>>2]|0)){if((c[B>>2]|0)<(c[q>>2]|0)){c[j>>2]=(c[q>>2]|0)/(c[B>>2]|0)|0;c[i>>2]=((c[f>>2]|0)+(c[j>>2]|0)-1|0)/(c[j>>2]|0)|0;if((c[i>>2]|0)==((((c[482]|0)>>>0)/((c[(c[(c[(c[u>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[i>>2]=(c[i>>2]|0)+-1}else c[i>>2]=S(c[f>>2]|0,(c[B>>2]|0)/(c[q>>2]|0)|0)|0;do if((c[B>>2]|0)<(c[q>>2]|0)){p=c[B>>2]|0;o=c[f>>2]|0;o=r0(p|0,((p|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;p=s;c[p>>2]=o;c[p+4>>2]=D;c[t>>2]=Pp(c[E>>2]|0)|0;Qp(c[E>>2]|0,m);c[k>>2]=c[i>>2];while(1){if(c[A>>2]|0)break;if((c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;do if((c[k>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[(c[(c[u>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[A>>2]=gn(c[E>>2]|0,c[k>>2]|0,n,0)|0;if(c[A>>2]|0)break;c[A>>2]=Jn(c[n>>2]|0)|0;On(c[n>>2]|0)}while(0);c[k>>2]=(c[k>>2]|0)+1}if(!(c[A>>2]|0))c[A>>2]=Rp(c[E>>2]|0,0,1)|0;o=(c[482]|0)+(c[q>>2]|0)|0;m=((o|0)<0)<<31>>31;p=s;n=c[p+4>>2]|0;if((m|0)<(n|0)|((m|0)==(n|0)?o>>>0<(c[p>>2]|0)>>>0:0)){b=(c[482]|0)+(c[q>>2]|0)|0;a=b;b=((b|0)<0)<<31>>31}else{b=s;a=c[b>>2]|0;b=c[b+4>>2]|0}p=w;c[p>>2]=a;c[p+4>>2]=b;p=(c[482]|0)+(c[B>>2]|0)|0;q=v;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[A>>2]|0)break;p=v;n=c[p+4>>2]|0;q=w;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[x>>2]=0;p=v;q=c[B>>2]|0;q=n0(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=_$(q|0,D|0,1,0)|0;c[y>>2]=q;c[A>>2]=gn(c[C>>2]|0,c[y>>2]|0,x,0)|0;if(!(c[A>>2]|0)){c[z>>2]=Kn(c[x>>2]|0)|0;q=v;c[A>>2]=Dm(c[t>>2]|0,c[z>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}On(c[x>>2]|0);p=c[B>>2]|0;q=v;p=_$(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=p;c[q+4>>2]=D}if(!(c[A>>2]|0)){C=s;c[A>>2]=Sp(c[t>>2]|0,c[C>>2]|0,c[C+4>>2]|0)|0}if(c[A>>2]|0)break;c[A>>2]=Vm(c[E>>2]|0,0)|0}else{Tp(c[E>>2]|0,c[i>>2]|0);c[A>>2]=Rp(c[E>>2]|0,0,0)|0}while(0);if(!(c[A>>2]|0)){E=Up(c[(c[u>>2]|0)+4>>2]|0,0)|0;c[A>>2]=E;c[A>>2]=0==(E|0)?101:E}}}if(c[r>>2]|0){Vp(c[(c[u>>2]|0)+24>>2]|0,0)|0;Up(c[(c[u>>2]|0)+24>>2]|0,0)|0}if((c[A>>2]|0)==3082)c[A>>2]=7;c[(c[u>>2]|0)+28>>2]=c[A>>2]}if(!(c[c[u>>2]>>2]|0)){E=c[u>>2]|0;E=E+24|0;E=c[E>>2]|0;bl(E);E=c[u>>2]|0;E=E+20|0;E=c[E>>2]|0;E=E+12|0;E=c[E>>2]|0;ud(E);E=c[A>>2]|0;l=F;return E|0}ud(c[(c[c[u>>2]>>2]|0)+12>>2]|0);E=c[u>>2]|0;E=E+24|0;E=c[E>>2]|0;bl(E);E=c[u>>2]|0;E=E+20|0;E=c[E>>2]|0;E=E+12|0;E=c[E>>2]|0;ud(E);E=c[A>>2]|0;l=F;return E|0}function Gp(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=0;el(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?(c[i>>2]|0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if(c[i>>2]|0?(e[(c[j>>2]|0)+22>>1]&1|0)!=0:0){c[k>>2]=8;break}c[m>>2]=0;if(c[i>>2]|0?(d[(c[j>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[j>>2]|0)+22>>1]&64|0)){if((c[i>>2]|0)>1){c[n>>2]=c[(c[j>>2]|0)+72>>2];while(1){if(!(c[n>>2]|0))break a;f=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=(c[h>>2]|0))break;c[n>>2]=c[f+12>>2]}c[m>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[m>>2]=c[c[(c[j>>2]|0)+76>>2]>>2];if(c[m>>2]|0){c[k>>2]=262;break}c[k>>2]=Wq(c[h>>2]|0,1,1)|0;if(!(c[k>>2]|0)){n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]&-9;if(!(c[(c[j>>2]|0)+44>>2]|0)){n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]|8}do{do{if(c[(c[j>>2]|0)+12>>2]|0)break;n=Xq(c[j>>2]|0)|0;c[k>>2]=n}while(0==(n|0));do if((c[k>>2]|0)==0&(c[i>>2]|0)!=0){if(e[(c[j>>2]|0)+22>>1]&1|0){c[k>>2]=8;break}m=c[c[j>>2]>>2]|0;n=(c[i>>2]|0)>1&1;c[k>>2]=Yq(m,n,Kl(c[c[h>>2]>>2]|0)|0)|0;if(!(c[k>>2]|0))c[k>>2]=Sq(c[j>>2]|0)|0}while(0);if(c[k>>2]|0)Jq(c[j>>2]|0);if((c[k>>2]&255|0)!=5)break;if(d[(c[j>>2]|0)+20>>0]|0)break}while((Sl(c[j>>2]|0)|0)!=0);if(!(c[k>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(n=(c[j>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,a[(c[h>>2]|0)+9>>0]|0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[j>>2]|0)+72>>2];c[(c[j>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=c[i>>2]|0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[j>>2]|0)+20>>0]|0))a[(c[j>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[i>>2]|0){c[o>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+76>>2]=c[h>>2];n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]&-33;if((c[i>>2]|0)>1){n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]|32}n=c[(c[j>>2]|0)+44>>2]|0;if((n|0)!=(Vl((c[(c[o>>2]|0)+56>>2]|0)+28|0)|0)?(c[k>>2]=Jn(c[(c[o>>2]|0)+72>>2]|0)|0,(c[k>>2]|0)==0):0)Nn((c[(c[o>>2]|0)+56>>2]|0)+28|0,c[(c[j>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[k>>2]|0)==0&(c[i>>2]|0)!=0)){o=c[h>>2]|0;bl(o);o=c[k>>2]|0;l=p;return o|0}c[k>>2]=Zq(c[c[j>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+432>>2]|0)|0;o=c[h>>2]|0;bl(o);o=c[k>>2]|0;l=p;return o|0}function Hp(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;a=c[(c[e>>2]|0)+4>>2]|0;c[b>>2]=tl(a,Hn(c[(c[e>>2]|0)+24>>2]|0)|0,-1,0)|0;l=d;return c[b>>2]|0}function Ip(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;g=h+4|0;i=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=c[(c[e>>2]|0)+4>>2];el(c[e>>2]|0);a=c[i>>2]|0;if((c[f>>2]|0)==15){i=Vq(c[a>>2]|0)|0;c[c[g>>2]>>2]=i+(c[(c[e>>2]|0)+20>>2]|0);i=c[e>>2]|0;bl(i);l=h;return}else{i=Vl((c[(c[a+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=i;i=c[e>>2]|0;bl(i);l=h;return}}function Jp(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+5>>0]|0|0}function Kp(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Uq(qk(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;l=b;return}function Lp(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;el(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=Sq(c[(c[e>>2]|0)+4>>2]|0)|0;bl(c[e>>2]|0);l=d;return c[b>>2]|0}function Mp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[(c[f>>2]|0)+4>>2];el(c[f>>2]|0);c[j>>2]=c[(c[(c[i>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=Jn(c[(c[(c[i>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[k>>2]|0){j=c[f>>2]|0;bl(j);k=c[k>>2]|0;l=m;return k|0}Nn((c[j>>2]|0)+(36+(c[g>>2]<<2))|0,c[h>>2]|0);if((c[g>>2]|0)!=7){j=c[f>>2]|0;bl(j);k=c[k>>2]|0;l=m;return k|0}a[(c[i>>2]|0)+18>>0]=c[h>>2];j=c[f>>2]|0;bl(j);k=c[k>>2]|0;l=m;return k|0}function Np(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;pk(c[b>>2]|0);c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[a+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)Nq(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=a+24|0;c[e>>2]=c[e>>2]&-3;Oq(c[b>>2]|0);rk(c[b>>2]|0);Pq(c[b>>2]|0);l=f;return}function Op(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[h>>2]|0)+4>>2];g=(c[j>>2]|0)+22|0;b[g>>1]=(e[g>>1]|0)&-17;if((c[i>>2]|0)==1){g=(c[j>>2]|0)+22|0;b[g>>1]=e[g>>1]|0|16}c[k>>2]=Gp(c[h>>2]|0,0)|0;do if(!(c[k>>2]|0)){c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2];if((d[(c[m>>2]|0)+18>>0]|0|0)==(c[i>>2]&255|0)?(d[(c[m>>2]|0)+19>>0]|0|0)==(c[i>>2]&255|0):0)break;c[k>>2]=Gp(c[h>>2]|0,2)|0;if((c[k>>2]|0)==0?(c[k>>2]=Jn(c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[k>>2]|0)==0):0){a[(c[m>>2]|0)+18>>0]=c[i>>2];a[(c[m>>2]|0)+19>>0]=c[i>>2]}}while(0);m=(c[j>>2]|0)+22|0;b[m>>1]=(e[m>>1]|0)&-17;l=n;return c[k>>2]|0}function Pp(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+64>>2]|0}function Qp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];l=d;return}function Rp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;g=p;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(c[(c[i>>2]|0)+44>>2]|0){c[h>>2]=c[(c[i>>2]|0)+44>>2];o=c[h>>2]|0;l=p;return o|0}if(Kq(400)|0){c[h>>2]=10;o=c[h>>2]|0;l=p;return o|0}if((d[(c[i>>2]|0)+17>>0]|0|0)<3){c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}f=0==(qm(c[i>>2]|0,1)|0);b=c[i>>2]|0;do if(!f){f=(tm(b)|0)!=0;b=c[i>>2]|0;if(f){c[n>>2]=no(c[b+212>>2]|0)|0;c[o>>2]=0;if(!(c[n>>2]|0)){c[m>>2]=gn(c[i>>2]|0,1,o,0)|0;c[n>>2]=c[o>>2];c[(c[n>>2]|0)+12>>2]=0}if(c[n>>2]|0)c[m>>2]=_o(c[i>>2]|0,c[n>>2]|0,c[(c[i>>2]|0)+28>>2]|0,1)|0;On(c[o>>2]|0);if(c[m>>2]|0)break;rm(c[(c[i>>2]|0)+212>>2]|0);break}c[m>>2]=Lq(b,0)|0;if((((c[m>>2]|0)==0?(c[m>>2]=Mq(c[i>>2]|0,c[j>>2]|0)|0,(c[m>>2]|0)==0):0)?(c[m>>2]=$o(c[i>>2]|0,0)|0,(c[m>>2]|0)==0):0)?(o=c[i>>2]|0,c[m>>2]=ap(o,no(c[(c[i>>2]|0)+212>>2]|0)|0)|0,(c[m>>2]|0)==0):0){rm(c[(c[i>>2]|0)+212>>2]|0);if((c[(c[i>>2]|0)+28>>2]|0)>>>0>(c[(c[i>>2]|0)+36>>2]|0)>>>0){c[g>>2]=(c[(c[i>>2]|0)+28>>2]|0)-((c[(c[i>>2]|0)+28>>2]|0)==(((c[482]|0)/(c[(c[i>>2]|0)+160>>2]|0)|0)+1|0)&1);c[m>>2]=vm(c[i>>2]|0,c[g>>2]|0)|0;if((c[m>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[m>>2]=Vm(c[i>>2]|0,c[j>>2]|0)|0}}else El(c[b+96>>2]|0);while(0);if((c[m>>2]|0)==0?(tm(c[i>>2]|0)|0)==0:0)a[(c[i>>2]|0)+17>>0]=5;c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}function Sp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+20|0;f=i+8|0;g=i;h=i+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=xl(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}d=g;a=c[d+4>>2]|0;g=f;b=c[g+4>>2]|0;if(!((a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>(c[g>>2]|0)>>>0:0))){h=c[h>>2]|0;l=i;return h|0}g=f;c[h>>2]=lm(c[e>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}function Tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];l=d;return}function Up(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}el(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[i>>2]=Eq(c[c[j>>2]>>2]|0)|0;b=c[g>>2]|0;if(!((c[i>>2]|0)!=0&(c[h>>2]|0)==0)){i=b+20|0;c[i>>2]=(c[i>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;Fq(c[j>>2]|0);break}bl(b);c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}while(0);Gq(c[g>>2]|0);bl(c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function Vp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;c[i>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];el(c[g>>2]|0);if(a[(c[j>>2]|0)+17>>0]|0?(c[i>>2]=Wp(c[j>>2]|0)|0,c[i>>2]|0):0){bl(c[g>>2]|0);c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}if(a[(c[j>>2]|0)+19>>0]|0)Tp(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[i>>2]=Rp(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0;bl(c[g>>2]|0)}c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}function Wp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[c[e>>2]>>2];Xp(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[k>>2]=Rn(c[e>>2]|0)|0;b=Yp(c[e>>2]|0,c[k>>2]|0)|0;if((b|0)!=(c[k>>2]|0)?(c[k>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[i>>2]=Vl((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[h>>2]=Zp(c[e>>2]|0,c[k>>2]|0,c[i>>2]|0)|0;if((c[h>>2]|0)>>>0>(c[k>>2]|0)>>>0){c[d>>2]=kn(61919)|0;k=c[d>>2]|0;l=m;return k|0}if((c[h>>2]|0)>>>0<(c[k>>2]|0)>>>0)c[f>>2]=_p(c[e>>2]|0,0,0)|0;c[j>>2]=c[k>>2];while(1){if(!((c[j>>2]|0)>>>0>(c[h>>2]|0)>>>0?(c[f>>2]|0)==0:0))break;c[f>>2]=$p(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0,1)|0;c[j>>2]=(c[j>>2]|0)+-1}if(((c[f>>2]|0)==101|(c[f>>2]|0)==0)&(c[i>>2]|0)>>>0>0){c[f>>2]=Jn(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;Nn((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);Nn((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);Nn((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[h>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[h>>2]}if(!(c[f>>2]|0))break;hm(c[g>>2]|0)|0;break}c[d>>2]=kn(61914)|0;k=c[d>>2]|0;l=m;return k|0}while(0);c[d>>2]=c[f>>2];k=c[d>>2]|0;l=m;return k|0}function Xp(b){b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}l=f;return}function Yp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;i=c[d>>2]|0;l=j;return i|0}c[g>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[h>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[g>>2]|0)>>>0)|0;c[i>>2]=(S(c[h>>2]|0,c[g>>2]|0)|0)+2;if((c[i>>2]|0)==((((c[482]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[i>>2]=(c[i>>2]|0)+1;c[d>>2]=c[i>>2];i=c[d>>2]|0;l=j;return i|0}function Zp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;e=g+20|0;h=g+16|0;j=g+12|0;k=g+8|0;i=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;d=(c[j>>2]|0)-(c[h>>2]|0)|0;d=d+(Yp(c[e>>2]|0,c[h>>2]|0)|0)|0;c[i>>2]=((d+(c[k>>2]|0)|0)>>>0)/((c[k>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);if((c[h>>2]|0)>>>0>((((c[482]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[482]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){k=Yp(c[e>>2]|0,c[f>>2]|0)|0;if((k|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[482]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);a=c[f>>2]|0;if(!b)break;c[f>>2]=a+-1}l=g;return a|0}function _p(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;g=k+16|0;m=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if((c[j>>2]|0)!=(c[i>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[j>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[j>>2]=c[(c[j>>2]|0)+8>>2]}if(c[j>>2]|0){c[g>>2]=sq(c[j>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;m=c[g>>2]|0;l=k;return m|0}if(c[i>>2]|0){m=(c[i>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;l=k;return m|0}function $p(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;s=z+52|0;t=z+48|0;u=z+44|0;v=z+40|0;w=z+36|0;x=z+32|0;h=z+28|0;i=z+57|0;j=z+24|0;k=z+20|0;m=z+16|0;n=z+12|0;o=z+8|0;p=z+56|0;q=z+4|0;r=z;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;g=Yp(c[t>>2]|0,c[v>>2]|0)|0;do if((g|0)!=(c[v>>2]|0)?(c[v>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[t>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[x>>2]=Vl((c[(c[(c[t>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[x>>2]|0)){c[s>>2]=101;y=c[s>>2]|0;l=z;return y|0}c[h>>2]=aq(c[t>>2]|0,c[v>>2]|0,i,j)|0;if(c[h>>2]|0){c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}if((d[i>>0]|0|0)==1){c[s>>2]=kn(61751)|0;y=c[s>>2]|0;l=z;return y|0}if((d[i>>0]|0|0)==2){if(c[w>>2]|0)break;c[h>>2]=bq(c[t>>2]|0,m,k,c[v>>2]|0,1)|0;if(!(c[h>>2]|0)){cq(c[m>>2]|0);break}c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}a[p>>0]=0;c[q>>2]=0;c[h>>2]=dq(c[t>>2]|0,c[v>>2]|0,o,0)|0;if(c[h>>2]|0){c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}if(!(c[w>>2]|0)){a[p>>0]=2;c[q>>2]=c[u>>2]}do{c[h>>2]=bq(c[t>>2]|0,r,n,c[q>>2]|0,a[p>>0]|0)|0;if(c[h>>2]|0){y=19;break}cq(c[r>>2]|0);if(!(c[w>>2]|0))break}while((c[n>>2]|0)>>>0>(c[u>>2]|0)>>>0);if((y|0)==19){cq(c[o>>2]|0);c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}c[h>>2]=eq(c[t>>2]|0,c[o>>2]|0,a[i>>0]|0,c[j>>2]|0,c[n>>2]|0,c[w>>2]|0)|0;cq(c[o>>2]|0);if(c[h>>2]|0){c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}}while(0);if(!(c[w>>2]|0)){while(1){c[v>>2]=(c[v>>2]|0)+-1;if((c[v>>2]|0)==((((c[482]|0)>>>0)/((c[(c[t>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=Yp(c[t>>2]|0,c[v>>2]|0)|0;if((y|0)!=(c[v>>2]|0))break}a[(c[t>>2]|0)+19>>0]=1;c[(c[t>>2]|0)+44>>2]=c[v>>2]}c[s>>2]=0;y=c[s>>2]|0;l=z;return y|0}function aq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;m=r+36|0;s=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[s>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[h>>2]=Yp(c[s>>2]|0,c[n>>2]|0)|0;c[k>>2]=gn(c[c[s>>2]>>2]|0,c[h>>2]|0,q,0)|0;if(c[k>>2]|0){c[m>>2]=c[k>>2];s=c[m>>2]|0;l=r;return s|0}c[i>>2]=Kn(c[q>>2]|0)|0;c[j>>2]=((c[n>>2]|0)-(c[h>>2]|0)-1|0)*5;if((c[j>>2]|0)<0){On(c[q>>2]|0);c[m>>2]=kn(59240)|0;s=c[m>>2]|0;l=r;return s|0}a[c[o>>2]>>0]=a[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0;if(c[p>>2]|0){s=Vl((c[i>>2]|0)+((c[j>>2]|0)+1)|0)|0;c[c[p>>2]>>2]=s}On(c[q>>2]|0);if((d[c[o>>2]>>0]|0|0)>=1?(d[c[o>>2]>>0]|0|0)<=5:0){c[m>>2]=0;s=c[m>>2]|0;l=r;return s|0}c[m>>2]=kn(59248)|0;s=c[m>>2]|0;l=r;return s|0}function bq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+112|0;K=L+96|0;D=L+92|0;E=L+88|0;F=L+84|0;G=L+80|0;m=L+102|0;n=L+76|0;H=L+72|0;o=L+68|0;p=L+64|0;I=L+60|0;J=L+56|0;q=L+52|0;r=L+48|0;s=L+101|0;t=L+44|0;i=L+100|0;u=L+40|0;v=L+36|0;w=L+32|0;x=L+28|0;y=L+24|0;z=L+20|0;A=L+16|0;B=L+12|0;C=L+8|0;j=L+4|0;k=L;c[D>>2]=b;c[E>>2]=e;c[F>>2]=f;c[G>>2]=g;a[m>>0]=h;c[I>>2]=0;c[J>>2]=0;c[n>>2]=c[(c[D>>2]|0)+12>>2];c[q>>2]=Rn(c[D>>2]|0)|0;c[o>>2]=Vl((c[(c[n>>2]|0)+56>>2]|0)+36|0)|0;if((c[o>>2]|0)>>>0>=(c[q>>2]|0)>>>0){c[K>>2]=kn(63793)|0;K=c[K>>2]|0;l=L;return K|0}a:do if((c[o>>2]|0)>>>0>0){a[s>>0]=0;c[t>>2]=0;do if((d[m>>0]|0)==1){if((c[G>>2]|0)>>>0<=(c[q>>2]|0)>>>0){c[H>>2]=aq(c[D>>2]|0,c[G>>2]|0,i,0)|0;if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}else{if((d[i>>0]|0)!=2)break;a[s>>0]=1;break}}}else if((d[m>>0]|0)==2)a[s>>0]=1;while(0);c[H>>2]=Jn(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}Nn((c[(c[n>>2]|0)+56>>2]|0)+36|0,(c[o>>2]|0)-1|0);b:while(1){c[J>>2]=c[I>>2];if(c[J>>2]|0)c[r>>2]=Vl(c[(c[J>>2]|0)+56>>2]|0)|0;else c[r>>2]=Vl((c[(c[n>>2]|0)+56>>2]|0)+32|0)|0;if((c[r>>2]|0)>>>0<=(c[q>>2]|0)>>>0?(h=c[t>>2]|0,c[t>>2]=h+1,h>>>0<=(c[o>>2]|0)>>>0):0)c[H>>2]=oq(c[D>>2]|0,c[r>>2]|0,I,0)|0;else c[H>>2]=kn(63849)|0;if(c[H>>2]|0){b=23;break}c[p>>2]=Vl((c[(c[I>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[p>>2]|0)!=0|(a[s>>0]|0)!=0){if((c[p>>2]|0)>>>0>((((c[(c[D>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){b=28;break b}do if(d[s>>0]|0){if((c[G>>2]|0)!=(c[r>>2]|0)){if((c[r>>2]|0)>>>0>=(c[G>>2]|0)>>>0)break;if((d[m>>0]|0)!=2)break}c[c[F>>2]>>2]=c[r>>2];c[c[E>>2]>>2]=c[I>>2];a[s>>0]=0;c[H>>2]=Jn(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;do if(!(c[p>>2]|0)){if(!(c[J>>2]|0)){h=(c[(c[n>>2]|0)+56>>2]|0)+32|0;k=c[(c[I>>2]|0)+56>>2]|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0;break}c[H>>2]=Jn(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;h=c[(c[J>>2]|0)+56>>2]|0;k=c[(c[I>>2]|0)+56>>2]|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0}else{c[v>>2]=Vl((c[(c[I>>2]|0)+56>>2]|0)+8|0)|0;if((c[v>>2]|0)>>>0>(c[q>>2]|0)>>>0){b=40;break b}c[H>>2]=oq(c[D>>2]|0,c[v>>2]|0,u,0)|0;if(c[H>>2]|0)break a;c[H>>2]=Jn(c[(c[u>>2]|0)+72>>2]|0)|0;e=c[u>>2]|0;if(c[H>>2]|0){b=43;break b}h=c[e+56>>2]|0;k=c[(c[I>>2]|0)+56>>2]|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0;Nn((c[(c[u>>2]|0)+56>>2]|0)+4|0,(c[p>>2]|0)-1|0);h0((c[(c[u>>2]|0)+56>>2]|0)+8|0,(c[(c[I>>2]|0)+56>>2]|0)+12|0,(c[p>>2]|0)-1<<2|0)|0;cq(c[u>>2]|0);if(!(c[J>>2]|0)){Nn((c[(c[n>>2]|0)+56>>2]|0)+32|0,c[v>>2]|0);break}c[H>>2]=Jn(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;Nn(c[(c[J>>2]|0)+56>>2]|0,c[v>>2]|0)}while(0);c[I>>2]=0;break c}while(0);if((c[p>>2]|0)>>>0>0){c[y>>2]=c[(c[I>>2]|0)+56>>2];h=(c[G>>2]|0)>>>0>0;c[w>>2]=0;d:do if(h)if((d[m>>0]|0)==2){c[z>>2]=0;while(1){if((c[z>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break d;c[x>>2]=Vl((c[y>>2]|0)+(8+(c[z>>2]<<2))|0)|0;b=c[z>>2]|0;if((c[x>>2]|0)>>>0<=(c[G>>2]|0)>>>0)break;c[z>>2]=b+1}c[w>>2]=b;break}else{h=Vl((c[y>>2]|0)+8|0)|0;c[A>>2]=pq(h-(c[G>>2]|0)|0)|0;c[z>>2]=1;while(1){if((c[z>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break d;h=Vl((c[y>>2]|0)+(8+(c[z>>2]<<2))|0)|0;c[B>>2]=pq(h-(c[G>>2]|0)|0)|0;if((c[B>>2]|0)<(c[A>>2]|0)){c[w>>2]=c[z>>2];c[A>>2]=c[B>>2]}c[z>>2]=(c[z>>2]|0)+1}}while(0);c[x>>2]=Vl((c[y>>2]|0)+(8+(c[w>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[q>>2]|0)>>>0){b=63;break b}if(a[s>>0]|0?(c[x>>2]|0)!=(c[G>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[G>>2]|0)>>>0)break;if((d[m>>0]|0)!=2)break}c[c[F>>2]>>2]=c[x>>2];c[H>>2]=Jn(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;if((c[w>>2]|0)>>>0<((c[p>>2]|0)-1|0)>>>0){h=(c[y>>2]|0)+(8+(c[w>>2]<<2))|0;k=(c[y>>2]|0)+(4+(c[p>>2]<<2))|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0}Nn((c[y>>2]|0)+4|0,(c[p>>2]|0)-1|0);h=(qq(c[D>>2]|0,c[c[F>>2]>>2]|0)|0)!=0^1;c[C>>2]=h?1:0;c[H>>2]=oq(c[D>>2]|0,c[c[F>>2]>>2]|0,c[E>>2]|0,c[C>>2]|0)|0;do if(!(c[H>>2]|0)){c[H>>2]=Jn(c[(c[c[E>>2]>>2]|0)+72>>2]|0)|0;if(!(c[H>>2]|0))break;cq(c[c[E>>2]>>2]|0);c[c[E>>2]>>2]=0}while(0);a[s>>0]=0}}else{c[H>>2]=Jn(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;c[c[F>>2]>>2]=c[r>>2];h=(c[(c[n>>2]|0)+56>>2]|0)+32|0;k=c[(c[I>>2]|0)+56>>2]|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0;c[c[E>>2]>>2]=c[I>>2];c[I>>2]=0}while(0);cq(c[J>>2]|0);c[J>>2]=0;if(!(a[s>>0]|0))break a}if((b|0)==23){c[I>>2]=0;break}else if((b|0)==28){c[H>>2]=kn(63878)|0;break}else if((b|0)==40){c[H>>2]=kn(63912)|0;break}else if((b|0)==43){cq(e);break}else if((b|0)==63){c[H>>2]=kn(63977)|0;break}}else{c[j>>2]=0==(d[(c[D>>2]|0)+19>>0]|0)?1:0;c[H>>2]=Jn(c[(c[(c[D>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}G=(c[D>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[D>>2]|0)+44>>2]|0)==((((c[482]|0)>>>0)/((c[(c[D>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[D>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if(d[(c[D>>2]|0)+17>>0]|0?(G=Yp(c[D>>2]|0,c[(c[D>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[D>>2]|0)+44>>2]|0)):0){c[k>>2]=0;c[H>>2]=oq(c[D>>2]|0,c[(c[D>>2]|0)+44>>2]|0,k,c[j>>2]|0)|0;if(!(c[H>>2]|0)){c[H>>2]=Jn(c[(c[k>>2]|0)+72>>2]|0)|0;cq(c[k>>2]|0)}if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}else{G=(c[D>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[D>>2]|0)+44>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[D>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[D>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);Nn((c[(c[(c[D>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[D>>2]|0)+44>>2]|0);c[c[F>>2]>>2]=c[(c[D>>2]|0)+44>>2];c[H>>2]=oq(c[D>>2]|0,c[c[F>>2]>>2]|0,c[E>>2]|0,c[j>>2]|0)|0;if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}else{c[H>>2]=Jn(c[(c[c[E>>2]>>2]|0)+72>>2]|0)|0;if(!(c[H>>2]|0))break;cq(c[c[E>>2]>>2]|0);c[c[E>>2]>>2]=0;break}}while(0);cq(c[I>>2]|0);cq(c[J>>2]|0);c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}function cq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}nq(c[b>>2]|0);l=d;return}function dq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;n=m+8|0;k=m+4|0;f=m;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[n>>2]=e;c[k>>2]=gn(c[c[h>>2]>>2]|0,c[i>>2]|0,f,c[n>>2]|0)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];n=c[g>>2]|0;l=m;return n|0}else{n=mq(c[f>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=n;c[g>>2]=0;n=c[g>>2]|0;l=m;return n|0}return 0}function eq(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=l;l=l+48|0;s=v+40|0;t=v+36|0;k=v+32|0;u=v+44|0;n=v+28|0;o=v+24|0;w=v+20|0;p=v+16|0;q=v+12|0;x=v+8|0;r=v+4|0;j=v;c[t>>2]=b;c[k>>2]=e;a[u>>0]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=i;c[q>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[t>>2]>>2];c[r>>2]=fq(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[o>>2]|0,c[w>>2]|0)|0;if(c[r>>2]|0){c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[o>>2];if((d[u>>0]|0|0)!=5?(d[u>>0]|0|0)!=1:0){c[j>>2]=Vl(c[(c[k>>2]|0)+56>>2]|0)|0;if(c[j>>2]|0?(hq(c[t>>2]|0,c[j>>2]|0,4,c[o>>2]|0,r),c[r>>2]|0):0){c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}}else m=5;if((m|0)==5?(c[r>>2]=gq(c[k>>2]|0)|0,c[r>>2]|0):0){c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}do if((d[u>>0]|0|0)!=1){c[r>>2]=dq(c[t>>2]|0,c[n>>2]|0,p,0)|0;if(c[r>>2]|0){c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}c[r>>2]=Jn(c[(c[p>>2]|0)+72>>2]|0)|0;b=c[p>>2]|0;if(c[r>>2]|0){cq(b);c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}else{c[r>>2]=iq(b,c[q>>2]|0,c[o>>2]|0,a[u>>0]|0)|0;cq(c[p>>2]|0);if(c[r>>2]|0)break;hq(c[t>>2]|0,c[o>>2]|0,a[u>>0]|0,c[n>>2]|0,r);break}}while(0);c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}function fq(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;p=u+36|0;q=u+32|0;r=u+28|0;s=u+24|0;j=u+20|0;t=u+16|0;k=u+12|0;m=u+8|0;n=u+4|0;o=u;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[j>>2]=i;c[k>>2]=0;if(a[(c[q>>2]|0)+13>>0]|0?(c[m>>2]=Jn(c[r>>2]|0)|0,c[m>>2]|0):0){c[p>>2]=c[m>>2];t=c[p>>2]|0;l=u;return t|0}if(e[(c[r>>2]|0)+24>>1]&2|0?(i=Sn(c[r>>2]|0)|0,c[m>>2]=i,0!=(i|0)):0){c[p>>2]=c[m>>2];t=c[p>>2]|0;l=u;return t|0}if(!(c[j>>2]|0?1:(e[(c[r>>2]|0)+24>>1]&8|0)==0))c[k>>2]=c[(c[r>>2]|0)+20>>2];j=(c[r>>2]|0)+24|0;b[j>>1]=e[j>>1]&-9;c[t>>2]=en(c[q>>2]|0,c[s>>2]|0)|0;do if(c[t>>2]|0){f=(c[r>>2]|0)+24|0;b[f>>1]=e[f>>1]|e[(c[t>>2]|0)+24>>1]&8;f=c[t>>2]|0;if(a[(c[q>>2]|0)+13>>0]|0){kq(f,(c[(c[q>>2]|0)+28>>2]|0)+1|0);break}else{un(f);break}}while(0);c[n>>2]=c[(c[r>>2]|0)+20>>2];kq(c[r>>2]|0,c[s>>2]|0);hn(c[r>>2]|0);if(c[t>>2]|0?(d[(c[q>>2]|0)+13>>0]|0)!=0:0){kq(c[t>>2]|0,c[n>>2]|0);Pn(c[t>>2]|0)}do if(c[k>>2]|0){c[m>>2]=gn(c[q>>2]|0,c[k>>2]|0,o,0)|0;if(!(c[m>>2]|0)){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|8;hn(c[o>>2]|0);Pn(c[o>>2]|0);break}if((c[k>>2]|0)>>>0<=(c[(c[q>>2]|0)+32>>2]|0)>>>0)lq(c[(c[q>>2]|0)+60>>2]|0,c[k>>2]|0,c[(c[q>>2]|0)+208>>2]|0);c[p>>2]=c[m>>2];t=c[p>>2]|0;l=u;return t|0}while(0);c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}function gq(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;f=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;k=q+16|0;m=q+36|0;n=q+12|0;o=q+8|0;p=q+4|0;g=q;c[f>>2]=b;c[k>>2]=c[(c[f>>2]|0)+52>>2];a[m>>0]=a[c[f>>2]>>0]|0;c[n>>2]=c[(c[f>>2]|0)+84>>2];c[j>>2]=qp(c[f>>2]|0)|0;if(c[j>>2]|0){o=a[m>>0]|0;p=c[f>>2]|0;a[p>>0]=o;p=c[j>>2]|0;l=q;return p|0}c[i>>2]=e[(c[f>>2]|0)+18>>1];c[h>>2]=0;while(1){b=c[f>>2]|0;if((c[h>>2]|0)>=(c[i>>2]|0))break;c[o>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]));jq(c[f>>2]|0,c[o>>2]|0,j);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[p>>2]=Vl(c[o>>2]|0)|0;hq(c[k>>2]|0,c[p>>2]|0,5,c[n>>2]|0,j)}c[h>>2]=(c[h>>2]|0)+1}if(a[b+4>>0]|0){o=a[m>>0]|0;p=c[f>>2]|0;a[p>>0]=o;p=c[j>>2]|0;l=q;return p|0}c[g>>2]=Vl((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;hq(c[k>>2]|0,c[g>>2]|0,5,c[n>>2]|0,j);o=a[m>>0]|0;p=c[f>>2]|0;a[p>>0]=o;p=c[j>>2]|0;l=q;return p|0}function hq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+32|0;p=t+28|0;q=t+36|0;r=t+24|0;s=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[o>>2]=b;c[p>>2]=e;a[q>>0]=f;c[r>>2]=g;c[s>>2]=h;if(c[c[s>>2]>>2]|0){l=t;return}if(!(c[p>>2]|0)){r=kn(59184)|0;c[c[s>>2]>>2]=r;l=t;return}c[k>>2]=Yp(c[o>>2]|0,c[p>>2]|0)|0;c[n>>2]=gn(c[c[o>>2]>>2]|0,c[k>>2]|0,i,0)|0;if(c[n>>2]|0){c[c[s>>2]>>2]=c[n>>2];l=t;return}c[m>>2]=((c[p>>2]|0)-(c[k>>2]|0)-1|0)*5;do if((c[m>>2]|0)>=0){c[j>>2]=Kn(c[i>>2]|0)|0;if((d[q>>0]|0|0)==(d[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0|0)?(p=Vl((c[j>>2]|0)+((c[m>>2]|0)+1)|0)|0,(p|0)==(c[r>>2]|0)):0)break;p=Jn(c[i>>2]|0)|0;c[n>>2]=p;c[c[s>>2]>>2]=p;if(!(c[n>>2]|0)){a[(c[j>>2]|0)+(c[m>>2]|0)>>0]=a[q>>0]|0;Nn((c[j>>2]|0)+((c[m>>2]|0)+1)|0,c[r>>2]|0)}}else{r=kn(59195)|0;c[c[s>>2]>>2]=r}while(0);On(c[i>>2]|0);l=t;return}function iq(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;o=v+52|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+57|0;t=v+56|0;i=v+36|0;j=v+32|0;k=v+28|0;m=v+24|0;n=v;c[p>>2]=b;c[q>>2]=f;c[r>>2]=g;a[s>>0]=h;b=c[p>>2]|0;do if((d[s>>0]|0|0)==4){u=Vl(c[b+56>>2]|0)|0;if((u|0)==(c[q>>2]|0)){Nn(c[(c[p>>2]|0)+56>>2]|0,c[r>>2]|0);break}c[o>>2]=kn(61581)|0;u=c[o>>2]|0;l=v;return u|0}else{a[t>>0]=a[b>>0]|0;c[k>>2]=qp(c[p>>2]|0)|0;if(c[k>>2]|0){c[o>>2]=c[k>>2];u=c[o>>2]|0;l=v;return u|0}c[j>>2]=e[(c[p>>2]|0)+18>>1];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[(c[p>>2]|0)+56>>2]|0)+((e[(c[p>>2]|0)+20>>1]|0)&((d[(c[(c[p>>2]|0)+64>>2]|0)+(c[i>>2]<<1)>>0]|0)<<8|(d[(c[(c[p>>2]|0)+64>>2]|0)+(c[i>>2]<<1)+1>>0]|0)));if((d[s>>0]|0|0)==3){Ib[c[(c[p>>2]|0)+80>>2]&255](c[p>>2]|0,c[m>>2]|0,n);if(((e[n+16>>1]|0)>>>0<(c[n+12>>2]|0)>>>0?((c[m>>2]|0)+(e[n+18>>1]|0)+-1|0)>>>0<=((c[(c[p>>2]|0)+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]|0)|0)>>>0:0)?(k=c[q>>2]|0,(k|0)==(Vl((c[m>>2]|0)+(e[n+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{k=Vl(c[m>>2]|0)|0;if((k|0)==(c[q>>2]|0)){u=15;break}}c[i>>2]=(c[i>>2]|0)+1}if((u|0)==13)Nn((c[m>>2]|0)+(e[n+18>>1]|0)+-4|0,c[r>>2]|0);else if((u|0)==15)Nn(c[m>>2]|0,c[r>>2]|0);do if((c[i>>2]|0)==(c[j>>2]|0)){if((d[s>>0]|0|0)==5?(u=Vl((c[(c[p>>2]|0)+56>>2]|0)+((d[(c[p>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[q>>2]|0)):0){Nn((c[(c[p>>2]|0)+56>>2]|0)+((d[(c[p>>2]|0)+5>>0]|0)+8)|0,c[r>>2]|0);break}c[o>>2]=kn(61617)|0;u=c[o>>2]|0;l=v;return u|0}while(0);a[c[p>>2]>>0]=a[t>>0]|0}while(0);c[o>>2]=0;u=c[o>>2]|0;l=v;return u|0}function jq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;f=k+36|0;g=k+32|0;h=k+28|0;i=k;j=k+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){l=k;return}Ib[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,i);if((e[i+16>>1]|0)>>>0>=(c[i+12>>2]|0)>>>0){l=k;return}c[j>>2]=Vl((c[g>>2]|0)+((e[i+18>>1]|0)-4)|0)|0;hq(c[(c[f>>2]|0)+52>>2]|0,c[j>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);l=k;return}function kq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];Ob[c[152>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){l=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){l=f;return}Il(c[d>>2]|0,3);l=f;return}function lq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;if(!(c[g>>2]|0)){l=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[j>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[j>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){l=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));l=p;return}c[m>>2]=c[i>>2];h0(c[m>>2]|0,(c[g>>2]|0)+12|0,500)|0;m0((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=125)break;if(c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]|0?(c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[n>>2]=(((c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[n>>2]<<2)>>2]|0))break;o=(c[n>>2]|0)+1|0;c[n>>2]=o;c[n>>2]=(c[n>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[n>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]}c[k>>2]=(c[k>>2]|0)+1}l=p;return}function mq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=Ln(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[i>>2]|0)+84>>2]|0)){i=c[i>>2]|0;l=j;return i|0}e=Kn(c[f>>2]|0)|0;c[(c[i>>2]|0)+56>>2]=e;c[(c[i>>2]|0)+72>>2]=c[f>>2];c[(c[i>>2]|0)+52>>2]=c[h>>2];c[(c[i>>2]|0)+84>>2]=c[g>>2];a[(c[i>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;i=c[i>>2]|0;l=j;return i|0}function nq(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Pn(c[(c[d>>2]|0)+72>>2]|0);l=b;return}function oq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;g=j+20|0;n=j+16|0;m=j+12|0;h=j+8|0;k=j+4|0;i=j;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[k>>2]=f;c[i>>2]=dq(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;b=c[h>>2]|0;do if(!(c[i>>2]|0)){n=(pp(c[(c[b>>2]|0)+72>>2]|0)|0)>1;b=c[c[h>>2]>>2]|0;if(!n){a[b>>0]=0;break}cq(b);c[c[h>>2]>>2]=0;c[g>>2]=kn(60316)|0;n=c[g>>2]|0;l=j;return n|0}else c[b>>2]=0;while(0);c[g>>2]=c[i>>2];n=c[g>>2]|0;l=j;return n|0}function pq(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);l=e;return c[b>>2]|0}function qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;l=f;return g|0}g=c[d>>2]|0;if(g>>>0>(rq(c[e>>2]|0)|0)>>>0){g=1;g=g&1;l=f;return g|0}g=(bn(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;l=f;return g|0}function rq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function sq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){uq(c[f>>2]|0);break}c[j>>2]=tq(c[f>>2]|0)|0;if(c[j>>2]|0){a=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){a=11;break}}if((a|0)==8){c[i>>2]=c[j>>2];j=c[i>>2]|0;l=k;return j|0}else if((a|0)==11){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}return 0}function tq(b){b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=vq(c[e>>2]|0)|0;if(!(c[f>>2]|0)){uq(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;l=g;return c[f>>2]|0}function uq(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){b=c[d>>2]|0;if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;cq(c[b+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[b+68>>0]=-1;l=f;return}function vq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;f=g+4|0;d=g;c[e>>2]=b;c[f>>2]=0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+69>>0]|0){d=wq(b)|0;e=(c[e>>2]|0)+40|0;c[e>>2]=d;c[e+4>>2]=D;f=c[f>>2]|0;l=g;return f|0}h=xq(b)|0;b=(c[e>>2]|0)+40|0;c[b>>2]=h;c[b+4>>2]=0;b=(c[e>>2]|0)+40|0;c[d>>2]=Fd(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[d>>2]|0)){c[f>>2]=7;h=c[f>>2]|0;l=g;return h|0}c[f>>2]=yq(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[d>>2]|0)|0;b=c[d>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=b;h=c[f>>2]|0;l=g;return h|0}else{_d(b);h=c[f>>2]|0;l=g;return h|0}return 0}function wq(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Aq(c[d>>2]|0);a=(c[d>>2]|0)+16|0;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function xq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;Aq(c[b>>2]|0);l=d;return c[(c[b>>2]|0)+16+12>>2]|0}function yq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=zq(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;l=f;return e|0}function zq(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+80|0;x=C+68|0;y=C+64|0;z=C+60|0;A=C+56|0;B=C+52|0;j=C+48|0;k=C+44|0;m=C+40|0;n=C+36|0;o=C+32|0;p=C+28|0;q=C+24|0;r=C+20|0;s=C+16|0;t=C+12|0;u=C+8|0;v=C+4|0;w=C;c[y>>2]=b;c[z>>2]=f;c[A>>2]=g;c[B>>2]=h;c[j>>2]=i;c[m>>2]=0;c[n>>2]=0;c[o>>2]=c[(c[y>>2]|0)+120+(a[(c[y>>2]|0)+68>>0]<<2)>>2];c[p>>2]=c[(c[y>>2]|0)+4>>2];Aq(c[y>>2]|0);c[k>>2]=c[(c[y>>2]|0)+16+8>>2];if(((c[k>>2]|0)-(c[(c[o>>2]|0)+56>>2]|0)|0)>>>0>((c[(c[p>>2]|0)+36>>2]|0)-(e[(c[y>>2]|0)+16+16>>1]|0)|0)>>>0){c[x>>2]=kn(62723)|0;B=c[x>>2]|0;l=C;return B|0}if((c[z>>2]|0)>>>0<(e[(c[y>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[A>>2];if(((c[q>>2]|0)+(c[z>>2]|0)|0)>>>0>(e[(c[y>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[y>>2]|0)+16+16>>1]|0)-(c[z>>2]|0);c[m>>2]=Bq((c[k>>2]|0)+(c[z>>2]|0)|0,c[B>>2]|0,c[q>>2]|0,c[j>>2]&1,c[(c[o>>2]|0)+72>>2]|0)|0;c[z>>2]=0;c[B>>2]=(c[B>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[q>>2]|0)}else c[z>>2]=(c[z>>2]|0)-(e[(c[y>>2]|0)+16+16>>1]|0);a:do if((c[m>>2]|0)==0&(c[A>>2]|0)>>>0>0){c[r>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[s>>2]=Vl((c[k>>2]|0)+(e[(c[y>>2]|0)+16+16>>1]|0)|0)|0;if((c[j>>2]|0)!=2?(d[(c[y>>2]|0)+64>>0]&4|0)==0:0){c[t>>2]=(((c[(c[y>>2]|0)+16+12>>2]|0)-(e[(c[y>>2]|0)+16+16>>1]|0)+(c[r>>2]|0)-1|0)>>>0)/((c[r>>2]|0)>>>0)|0;do if((c[t>>2]|0)>(c[(c[y>>2]|0)+56>>2]|0)){c[u>>2]=ge(c[(c[y>>2]|0)+12>>2]|0,c[t>>2]<<1<<2,0)|0;if(!(c[u>>2]|0)){c[m>>2]=7;break}else{c[(c[y>>2]|0)+56>>2]=c[t>>2]<<1;c[(c[y>>2]|0)+12>>2]=c[u>>2];break}}while(0);if(!(c[m>>2]|0)){m0(c[(c[y>>2]|0)+12>>2]|0,0,c[t>>2]<<2|0)|0;i=(c[y>>2]|0)+64|0;a[i>>0]=d[i>>0]|4}}if(d[(c[y>>2]|0)+64>>0]&4|0?c[(c[(c[y>>2]|0)+12>>2]|0)+((((c[z>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0)<<2)>>2]|0:0){c[n>>2]=((c[z>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0;c[s>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+(c[n>>2]<<2)>>2];c[z>>2]=((c[z>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0}while(1){if(!((c[m>>2]|0)==0&(c[A>>2]|0)>>>0>0&(c[s>>2]|0)!=0))break a;if(d[(c[y>>2]|0)+64>>0]&4|0)c[(c[(c[y>>2]|0)+12>>2]|0)+(c[n>>2]<<2)>>2]=c[s>>2];if((c[z>>2]|0)>>>0>=(c[r>>2]|0)>>>0){if(c[(c[(c[y>>2]|0)+12>>2]|0)+((c[n>>2]|0)+1<<2)>>2]|0)c[s>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+((c[n>>2]|0)+1<<2)>>2];else c[m>>2]=Cq(c[p>>2]|0,c[s>>2]|0,0,s)|0;c[z>>2]=(c[z>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[A>>2];if(((c[v>>2]|0)+(c[z>>2]|0)|0)>>>0>(c[r>>2]|0)>>>0)c[v>>2]=(c[r>>2]|0)-(c[z>>2]|0);c[m>>2]=gn(c[c[p>>2]>>2]|0,c[s>>2]|0,w,(c[j>>2]&1|0)==0?2:0)|0;if(!(c[m>>2]|0)){c[k>>2]=Kn(c[w>>2]|0)|0;c[s>>2]=Vl(c[k>>2]|0)|0;c[m>>2]=Bq((c[k>>2]|0)+((c[z>>2]|0)+4)|0,c[B>>2]|0,c[v>>2]|0,c[j>>2]&1,c[w>>2]|0)|0;On(c[w>>2]|0);c[z>>2]=0}c[A>>2]=(c[A>>2]|0)-(c[v>>2]|0);c[B>>2]=(c[B>>2]|0)+(c[v>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if((c[m>>2]|0)==0&(c[A>>2]|0)>>>0>0){c[x>>2]=kn(62880)|0;B=c[x>>2]|0;l=C;return B|0}else{c[x>>2]=c[m>>2];B=c[x>>2]|0;l=C;return B|0}return 0}function Aq(b){b=b|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){l=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;Dq(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);l=h;return}function Bq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;o=n+8|0;g=n+4|0;h=n;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[o>>2]=e;c[g>>2]=f;do if(c[o>>2]|0){c[h>>2]=Jn(c[g>>2]|0)|0;if(!(c[h>>2]|0)){h0(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;break}c[i>>2]=c[h>>2];o=c[i>>2]|0;l=n;return o|0}else h0(c[k>>2]|0,c[j>>2]|0,c[m>>2]|0)|0;while(0);c[i>>2]=0;o=c[i>>2]|0;l=n;return o|0}function Cq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+32|0;m=s+28|0;r=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;q=s+8|0;h=s+4|0;i=s;j=s+36|0;c[k>>2]=b;c[m>>2]=e;c[r>>2]=f;c[n>>2]=g;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;if(a[(c[k>>2]|0)+17>>0]|0){c[i>>2]=(c[m>>2]|0)+1;while(1){g=Yp(c[k>>2]|0,c[i>>2]|0)|0;if((g|0)==(c[i>>2]|0))e=1;else e=(c[i>>2]|0)==((((c[482]|0)>>>0)/((c[(c[k>>2]|0)+32>>2]|0)>>>0)|0)+1|0);b=c[i>>2]|0;if(!e)break;c[i>>2]=b+1}if(((b>>>0<=(Rn(c[k>>2]|0)|0)>>>0?(c[q>>2]=aq(c[k>>2]|0,c[i>>2]|0,j,h)|0,(c[q>>2]|0)==0):0)?(d[j>>0]|0)==4:0)?(c[h>>2]|0)==(c[m>>2]|0):0){c[o>>2]=c[i>>2];c[q>>2]=101}}if((c[q>>2]|0)==0?(c[q>>2]=dq(c[k>>2]|0,c[m>>2]|0,p,(c[r>>2]|0)==0?2:0)|0,(c[q>>2]|0)==0):0)c[o>>2]=Vl(c[(c[p>>2]|0)+56>>2]|0)|0;c[c[n>>2]>>2]=c[o>>2];b=c[p>>2]|0;if(c[r>>2]|0){c[c[r>>2]>>2]=b;p=c[q>>2]|0;p=(p|0)==101;r=c[q>>2]|0;r=p?0:r;l=s;return r|0}else{cq(b);p=c[q>>2]|0;p=(p|0)==101;r=c[q>>2]|0;r=p?0:r;l=s;return r|0}return 0}function Dq(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;j=g+8|0;i=g+4|0;h=g;c[j>>2]=a;c[i>>2]=b;c[h>>2]=f;Ib[c[(c[j>>2]|0)+80>>2]&255](c[j>>2]|0,(c[(c[j>>2]|0)+56>>2]|0)+((e[(c[j>>2]|0)+20>>1]|0)&((d[(c[(c[j>>2]|0)+64>>2]|0)+(c[i>>2]<<1)>>0]|0)<<8|(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[i>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);l=g;return}function Eq(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;l=h;return g|0}if(((d[b+17>>0]|0|0)==2?d[(c[f>>2]|0)+4>>0]|0|0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=im(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=dm(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;l=h;return g|0}function Fq(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;pm(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;l=b;return}function Gq(b){b=b|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+160>>2]|0)>1:0){Hq(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;l=g;return}if(d[(c[e>>2]|0)+8>>0]|0|0?(Iq(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;Jq(c[f>>2]|0);l=g;return}function Hq(d){d=d|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+8|0;f=h+4|0;g=h;c[i>>2]=d;c[f>>2]=c[(c[i>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[i>>2]|0)){l=h;return}c[(c[f>>2]|0)+76>>2]=0;i=(c[f>>2]|0)+22|0;b[i>>1]=(e[i>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}l=h;return}function Iq(a){a=a|0;var d=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+12|0;h=i+8|0;d=i+4|0;f=i;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[d>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[d>>2]>>2]|0))break;c[f>>2]=c[c[d>>2]>>2];a=(c[f>>2]|0)+12|0;if((c[c[f>>2]>>2]|0)!=(c[g>>2]|0)){c[d>>2]=a;continue}c[c[d>>2]>>2]=c[a>>2];if((c[(c[f>>2]|0)+4>>2]|0)==1)continue;_d(c[f>>2]|0)}a=c[h>>2]|0;do if((c[(c[h>>2]|0)+76>>2]|0)!=(c[g>>2]|0))if((c[a+40>>2]|0)==2){d=-65;a=c[h>>2]|0;break}else{l=i;return}else{c[a+76>>2]=0;d=-97;a=c[h>>2]|0}while(0);h=a+22|0;b[h>>1]=(e[h>>1]|0)&d;l=i;return}function Jq(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0|0){l=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){l=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;nq(c[e>>2]|0);l=f;return}function Kq(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;l=e;return d|0}d=Hb[c[d>>2]&255](c[b>>2]|0)|0;l=e;return d|0}function Lq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+4|0;g=h;c[e>>2]=b;c[h+8>>2]=d;c[f>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[f>>2]|0;l=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=gn(c[e>>2]|0,1,g,0)|0;if(!(c[f>>2]|0))c[f>>2]=Jn(c[g>>2]|0)|0;if(!(c[f>>2]|0)){cp(c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1}On(c[g>>2]|0);g=c[f>>2]|0;l=h;return g|0}function Mq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;f=o+36|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+8|0;m=o;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[n>>2]=0;if((c[h>>2]|0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?c[c[(c[g>>2]|0)+68>>2]>>2]|0:0){a[(c[g>>2]|0)+20>>0]=1;c[j>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0))break;c[n>>2]=(c[n>>2]|0)+(a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0);c[j>>2]=(c[j>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=co(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=D}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Yn(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[482]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[i>>2]=e;if((((0==(e|0)?(b=c[(c[g>>2]|0)+68>>2]|0,e=c[h>>2]|0,h=c[j>>2]|0,p=k,p=_$(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Dm(b,e,h,p,D)|0,c[i>>2]=p,0==(p|0)):0)?(h=c[(c[g>>2]|0)+68>>2]|0,e=k,e=_$(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,p=c[j>>2]|0,p=_$(e|0,D|0,p|0,((p|0)<0)<<31>>31|0)|0,p=Yn(h,p,D,c[j>>2]|0)|0,c[i>>2]=p,0==(p|0)):0)?(h=c[(c[g>>2]|0)+68>>2]|0,e=k,e=_$(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,p=c[j>>2]|0,p=_$(e|0,D|0,p|0,((p|0)<0)<<31>>31|0)|0,p=_$(p|0,D|0,4,0)|0,p=Yn(h,p,D,c[n>>2]|0)|0,c[i>>2]=p,0==(p|0)):0)?(n=c[(c[g>>2]|0)+68>>2]|0,k,k=_$(c[k>>2]|0,c[k+4>>2]|0,4,0)|0,p=c[j>>2]|0,p=_$(k|0,D|0,p|0,((p|0)<0)<<31>>31|0)|0,p=_$(p|0,D|0,8,0)|0,p=Dm(n,24914,8,p,D)|0,c[i>>2]=p,0==(p|0)):0){n=(c[j>>2]|0)+20|0;p=(c[g>>2]|0)+80|0;k=p;n=_$(c[k>>2]|0,c[k+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;c[p>>2]=n;c[p+4>>2]=D;p=xl(c[(c[g>>2]|0)+68>>2]|0,m)|0;c[i>>2]=p;if(0==(p|0)?(n=m,k=c[n+4>>2]|0,p=(c[g>>2]|0)+80|0,m=c[p+4>>2]|0,(k|0)>(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0>(c[p>>2]|0)>>>0:0)):0){p=(c[g>>2]|0)+80|0;c[i>>2]=lm(c[(c[g>>2]|0)+68>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}c[f>>2]=c[i>>2];p=c[f>>2]|0;l=o;return p|0}c[f>>2]=c[i>>2];p=c[f>>2]|0;l=o;return p|0}c[f>>2]=0;p=c[f>>2]|0;l=o;return p|0}function Nq(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+64|0;k=j+48|0;d=j+32|0;f=j+16|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[h>>2]=c[k>>2];a=(c[h>>2]|0)+8|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];a=(c[h>>2]|0)+40|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];Rq((c[h>>2]|0)+40|0);$k((c[h>>2]|0)+24|0);c[g>>2]=c[f+8>>2];while(1){if(!(c[g>>2]|0))break;sk(0,c[(c[g>>2]|0)+8>>2]|0);c[g>>2]=c[c[g>>2]>>2]}$k(f);Rq((c[h>>2]|0)+8|0);c[g>>2]=c[d+8>>2];while(1){if(!(c[g>>2]|0))break;c[i>>2]=c[(c[g>>2]|0)+8>>2];tk(0,c[i>>2]|0);c[g>>2]=c[c[g>>2]>>2]}$k(d);$k((c[h>>2]|0)+56|0);c[(c[h>>2]|0)+72>>2]=0;if(!((e[(c[h>>2]|0)+78>>1]|0)&1)){l=j;return}k=(c[h>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1;k=(c[h>>2]|0)+78|0;b[k>>1]=(e[k>>1]|0)&-2;l=j;return}function Oq(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+344>>2];c[(c[b>>2]|0)+344>>2]=0;if(!(c[d>>2]|0)){l=f;return}Qq(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];Dk(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);l=f;return}function Pq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Xd(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){l=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+392|0)){l=g;return}h=(c[b>>2]|0)+392|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Xd(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+392;l=g;return}function Qq(a){a=a|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+144|0;b[f>>1]=b[f>>1]&-2|1;c[d>>2]=c[(c[d>>2]|0)+8>>2]}l=e;return}function Rq(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;l=b;return}function Sq(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[j>>2]=f;if((c[(c[j>>2]|0)+44>>2]|0)>>>0>0){c[i>>2]=0;m=c[i>>2]|0;l=n;return m|0}c[k>>2]=c[(c[j>>2]|0)+12>>2];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[g>>2]=Jn(c[(c[k>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[i>>2]=c[g>>2];m=c[i>>2]|0;l=n;return m|0}else{f=c[m>>2]|0;g=25018;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[m>>2]|0)+16>>0]=(c[(c[j>>2]|0)+32>>2]|0)>>>8;a[(c[m>>2]|0)+17>>0]=(c[(c[j>>2]|0)+32>>2]|0)>>>16;a[(c[m>>2]|0)+18>>0]=1;a[(c[m>>2]|0)+19>>0]=1;a[(c[m>>2]|0)+20>>0]=(c[(c[j>>2]|0)+32>>2]|0)-(c[(c[j>>2]|0)+36>>2]|0);a[(c[m>>2]|0)+21>>0]=64;a[(c[m>>2]|0)+22>>0]=32;a[(c[m>>2]|0)+23>>0]=32;f=(c[m>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));Tq(c[k>>2]|0,13);k=(c[j>>2]|0)+22|0;b[k>>1]=e[k>>1]|0|2;Nn((c[m>>2]|0)+52|0,d[(c[j>>2]|0)+17>>0]|0);Nn((c[m>>2]|0)+64|0,d[(c[j>>2]|0)+18>>0]|0);c[(c[j>>2]|0)+44>>2]=1;a[(c[m>>2]|0)+31>>0]=1;c[i>>2]=0;m=c[i>>2]|0;l=n;return m|0}return 0}function Tq(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+12|0;i=o+8|0;j=o+4|0;k=o;m=o+18|0;n=o+16|0;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[h>>2]|0)+56>>2];c[k>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[k>>2]|0)+22>>1]|0)&4|0)m0((c[j>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[k>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[j>>2]|0)+(d[m>>0]|0)>>0]=c[i>>2];b[n>>1]=(d[m>>0]|0)+((c[i>>2]&8|0)==0?12:8);g=(c[j>>2]|0)+((d[m>>0]|0)+1)|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;a[(c[j>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[j>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[k>>2]|0)+36>>2]|0)>>>8;a[(c[j>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[k>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[k>>2]|0)+36>>2]|0)-(e[n>>1]|0);rp(c[h>>2]|0,c[i>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[n>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[j>>2]|0)+(c[(c[k>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[j>>2]|0)+(e[n>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[k>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;l=o;return}function Uq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[b>>2]|0)+96|0}function Vq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+108>>2]|0}function Wq(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;i=q+16|0;j=q+12|0;k=q+8|0;m=q+20|0;n=q+4|0;o=q;c[j>>2]=f;c[k>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[j>>2]|0)+4>>2];if(!(a[(c[j>>2]|0)+9>>0]|0)){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[j>>2]|0)?e[(c[n>>2]|0)+22>>1]&32|0:0){c[i>>2]=262;p=c[i>>2]|0;l=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[j>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[i>>2]=262;p=c[i>>2]|0;l=q;return p|0}function Xq(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;n=r+40|0;o=r+36|0;i=r+32|0;p=r+28|0;q=r+24|0;j=r+20|0;k=r+12|0;m=r+8|0;g=r+4|0;h=r;c[o>>2]=f;c[j>>2]=0;c[i>>2]=br(c[c[o>>2]>>2]|0)|0;if(c[i>>2]|0){c[n>>2]=c[i>>2];q=c[n>>2]|0;l=r;return q|0}c[i>>2]=dq(c[o>>2]|0,1,p,0)|0;if(c[i>>2]|0){c[n>>2]=c[i>>2];q=c[n>>2]|0;l=r;return q|0}f=Vl((c[(c[p>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[q>>2]=f;Qp(c[c[o>>2]>>2]|0,j);if(!((c[q>>2]|0)!=0?!(H_((c[(c[p>>2]|0)+56>>2]|0)+24|0,(c[(c[p>>2]|0)+56>>2]|0)+92|0,4)|0):0))c[q>>2]=c[j>>2];a:do if((c[q>>2]|0)>0){c[g>>2]=c[(c[p>>2]|0)+56>>2];c[i>>2]=26;b:do if(!(H_(c[g>>2]|0,25018,16)|0)){if((d[(c[g>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[g>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[g>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[h>>2]=0;c[i>>2]=cr(c[c[o>>2]>>2]|0,h)|0;if(c[i>>2]|0)break b;if(c[h>>2]|0){c[i>>2]=26;break}cq(c[p>>2]|0);c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}while(0);if((H_((c[g>>2]|0)+21|0,25034,3)|0)==0?(c[k>>2]=(d[(c[g>>2]|0)+16>>0]|0)<<8|(d[(c[g>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[g>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){cq(c[p>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];ul(c[o>>2]|0);c[i>>2]=vl(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[i>>2];q=c[n>>2]|0;l=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[q>>2]|0)>(c[j>>2]|0):0){c[i>>2]=kn(61191)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(Vl((c[g>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(Vl((c[g>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);cq(c[p>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[i>>2];q=c[n>>2]|0;l=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;f=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)g=127;else{g=b[f+24>>1]&255;f=c[o>>2]|0}a[f+21>>0]=g;c[(c[o>>2]|0)+12>>2]=c[p>>2];c[(c[o>>2]|0)+44>>2]=c[q>>2];c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}function Yq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+12|0;j=m+8|0;g=m+4|0;k=m;c[i>>2]=b;c[j>>2]=e;c[g>>2]=f;c[k>>2]=0;if(c[(c[i>>2]|0)+44>>2]|0){c[h>>2]=c[(c[i>>2]|0)+44>>2];k=c[h>>2]|0;l=m;return k|0}a[(c[i>>2]|0)+22>>0]=c[g>>2];if((d[(c[i>>2]|0)+17>>0]|0|0)==1){g=(tm(c[i>>2]|0)|0)!=0;b=c[i>>2]|0;if(!g){c[k>>2]=gp(b,2)|0;if((c[k>>2]|0)==0&(c[j>>2]|0)!=0)c[k>>2]=fp(c[i>>2]|0,4)|0}else{do if(d[b+4>>0]|0|0?xm(c[(c[i>>2]|0)+216>>2]|0,-1)|0:0){c[k>>2]=gp(c[i>>2]|0,4)|0;if(!(c[k>>2]|0)){xm(c[(c[i>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[k>>2];k=c[h>>2]|0;l=m;return k|0}while(0);c[k>>2]=ar(c[(c[i>>2]|0)+216>>2]|0)|0}if(!(c[k>>2]|0)){a[(c[i>>2]|0)+17>>0]=2;c[(c[i>>2]|0)+40>>2]=c[(c[i>>2]|0)+28>>2];c[(c[i>>2]|0)+36>>2]=c[(c[i>>2]|0)+28>>2];c[(c[i>>2]|0)+32>>2]=c[(c[i>>2]|0)+28>>2];j=(c[i>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0}}c[h>>2]=c[k>>2];k=c[h>>2]|0;l=m;return k|0}function Zq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?d[(c[f>>2]|0)+6>>0]|0|0:0){c[e>>2]=_q(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;l=h;return g|0}c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}function _q(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[j>>2]=0;c[d>>2]=c[(c[e>>2]|0)+104>>2];c[h>>2]=ge(c[(c[e>>2]|0)+100>>2]|0,(c[f>>2]|0)*48|0,0)|0;if(!(c[h>>2]|0)){c[i>>2]=7;j=c[i>>2]|0;l=k;return j|0}m0((c[h>>2]|0)+((c[d>>2]|0)*48|0)|0,0,((c[f>>2]|0)-(c[d>>2]|0)|0)*48|0)|0;c[(c[e>>2]|0)+100>>2]=c[h>>2];c[g>>2]=c[d>>2];while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){a=14;break}c[(c[h>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[e>>2]|0)+28>>2];if(c[c[(c[e>>2]|0)+68>>2]>>2]|0?(d=(c[e>>2]|0)+80|0,b=c[d+4>>2]|0,(b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0):0){d=(c[e>>2]|0)+80|0;a=(c[h>>2]|0)+((c[g>>2]|0)*48|0)|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{a=(c[h>>2]|0)+((c[g>>2]|0)*48|0)|0;b=c[(c[e>>2]|0)+156>>2]|0;d=0}c[a>>2]=b;c[a+4>>2]=d;c[(c[h>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[e>>2]|0)+56>>2];d=Zn(c[(c[e>>2]|0)+28>>2]|0)|0;c[(c[h>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=d;if(!(c[(c[h>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){a=10;break}if(tm(c[e>>2]|0)|0)$q(c[(c[e>>2]|0)+216>>2]|0,(c[h>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[e>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((a|0)==10){c[i>>2]=7;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==14){c[i>>2]=c[j>>2];j=c[i>>2]|0;l=k;return j|0}return 0}function $q(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];l=d;return}function ar(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;l=g;return f|0}c[f>>2]=Ao(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;l=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(H_(b,qo(c[e>>2]|0)|0,48)|0){Em(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;l=g;return f|0}function br(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;n=p+28|0;o=p+24|0;e=p+20|0;f=p+16|0;g=p+12|0;h=p+8|0;i=p+4|0;j=p;m=p+32|0;c[n>>2]=b;c[o>>2]=0;do if(!(tm(c[n>>2]|0)|0)?(d[(c[n>>2]|0)+17>>0]|0)==0:0){c[e>>2]=1;c[o>>2]=fp(c[n>>2]|0,1)|0;if(!(c[o>>2]|0)){if((d[(c[n>>2]|0)+18>>0]|0)<=1)c[o>>2]=hr(c[n>>2]|0,e)|0;if(!(c[o>>2]|0)){if(c[e>>2]|0){if(a[(c[n>>2]|0)+15>>0]|0){c[o>>2]=776;break}c[o>>2]=gp(c[n>>2]|0,4)|0;if(c[o>>2]|0)break;if((((c[c[(c[n>>2]|0)+68>>2]>>2]|0)==0?(c[f>>2]=c[c[n>>2]>>2],c[o>>2]=Sm(c[f>>2]|0,c[(c[n>>2]|0)+180>>2]|0,0,g)|0,(c[o>>2]|0)==0&(c[g>>2]|0)!=0):0)?(c[h>>2]=0,c[i>>2]=2050,c[o>>2]=Om(c[f>>2]|0,c[(c[n>>2]|0)+180>>2]|0,c[(c[n>>2]|0)+68>>2]|0,c[i>>2]|0,h)|0,(c[o>>2]|0)==0):0)?c[h>>2]&1|0:0){c[o>>2]=gf(51483)|0;fm(c[(c[n>>2]|0)+68>>2]|0)}b=c[n>>2]|0;if(c[c[(c[n>>2]|0)+68>>2]>>2]|0){c[o>>2]=cm(b)|0;if(!(c[o>>2]|0)){c[o>>2]=Qm(c[n>>2]|0,((a[(c[n>>2]|0)+13>>0]|0)!=0^1)&1)|0;a[(c[n>>2]|0)+17>>0]=0}}else if(!(a[b+4>>0]|0))ym(c[n>>2]|0,1)|0;if(c[o>>2]|0){dm(c[n>>2]|0,c[o>>2]|0)|0;break}}if((a[(c[n>>2]|0)+13>>0]|0)==0?d[(c[n>>2]|0)+24>>0]|0:0){c[j>>2]=0;c[o>>2]=ir(c[n>>2]|0,j)|0;if(c[o>>2]|0)break;if((c[j>>2]|0)>>>0>0){c[o>>2]=$m(c[(c[n>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[o>>2]|0)!=0&(c[o>>2]|0)!=522)break}else{b=m;e=b+16|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0))}if(H_((c[n>>2]|0)+112|0,m,16)|0)zl(c[n>>2]|0)}c[o>>2]=jr(c[n>>2]|0)|0;k=32}}}else k=32;while(0);if((k|0)==32){if(tm(c[n>>2]|0)|0)c[o>>2]=kr(c[n>>2]|0)|0;if((d[(c[n>>2]|0)+13>>0]|0)==0?((c[o>>2]|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0):0)c[o>>2]=ir(c[n>>2]|0,(c[n>>2]|0)+28|0)|0}b=c[n>>2]|0;if(c[o>>2]|0){bm(b);o=c[o>>2]|0;l=p;return o|0}else{a[b+17>>0]=1;a[(c[n>>2]|0)+24>>0]=1;o=c[o>>2]|0;l=p;return o|0}return 0}function cr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(!(a[(c[f>>2]|0)+13>>0]|0)?!(c[(c[f>>2]|0)+216>>2]|0):0)if(dr(c[f>>2]|0)|0){fm(c[(c[f>>2]|0)+68>>2]|0);c[h>>2]=er(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;i=c[e>>2]|0;l=j;return i|0}else i=7;while(0);if((i|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}function dr(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+64>>2]>>2];if(a[(c[e>>2]|0)+14>>0]|0){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}if(!(d[(c[e>>2]|0)+4>>0]|0))if((c[c[f>>2]>>2]|0)>=2)b=(c[(c[f>>2]|0)+52>>2]|0)!=0;else b=0;else b=1;c[g>>2]=b&1;g=c[g>>2]|0;l=h;return g|0}function er(b){b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=fr(c[e>>2]|0)|0;if(c[f>>2]|0){e=c[e>>2]|0;Cl(e);f=c[f>>2]|0;l=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=gr(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;e=c[e>>2]|0;Cl(e);f=c[f>>2]|0;l=g;return f|0}function fr(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=gp(c[b>>2]|0,4)|0;if(c[d>>2]|0)ym(c[b>>2]|0,1)|0;l=e;return c[d>>2]|0}function gr(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+48|0;t=w+44|0;u=w+40|0;v=w+36|0;k=w+32|0;m=w+28|0;n=w;o=w+24|0;p=w+20|0;q=w+16|0;r=w+12|0;s=w+8|0;c[u>>2]=d;c[v>>2]=e;c[k>>2]=f;c[m>>2]=g;g=n;c[g>>2]=h;c[g+4>>2]=i;c[o>>2]=j;c[c[o>>2]>>2]=0;c[q>>2]=Xg(120+(c[(c[u>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[q>>2]|0)){c[t>>2]=7;v=c[t>>2]|0;l=w;return v|0}c[c[q>>2]>>2]=c[u>>2];c[(c[q>>2]|0)+8>>2]=(c[q>>2]|0)+120;c[(c[q>>2]|0)+4>>2]=c[v>>2];b[(c[q>>2]|0)+40>>1]=-1;h=n;i=c[h+4>>2]|0;j=(c[q>>2]|0)+16|0;c[j>>2]=c[h>>2];c[j+4>>2]=i;c[(c[q>>2]|0)+108>>2]=c[k>>2];a[(c[q>>2]|0)+48>>0]=1;a[(c[q>>2]|0)+49>>0]=1;a[(c[q>>2]|0)+43>>0]=c[m>>2]|0?2:0;c[r>>2]=524294;c[p>>2]=Om(c[u>>2]|0,c[k>>2]|0,c[(c[q>>2]|0)+8>>2]|0,c[r>>2]|0,r)|0;if((c[p>>2]|0)==0?c[r>>2]&1|0:0)a[(c[q>>2]|0)+46>>0]=1;if(c[p>>2]|0){yo(c[q>>2]|0,0);fm(c[(c[q>>2]|0)+8>>2]|0);_d(c[q>>2]|0)}else{c[s>>2]=Ym(c[v>>2]|0)|0;if(c[s>>2]&1024|0)a[(c[q>>2]|0)+48>>0]=0;if(c[s>>2]&4096|0)a[(c[q>>2]|0)+49>>0]=0;c[c[o>>2]>>2]=c[q>>2]}c[t>>2]=c[p>>2];v=c[t>>2]|0;l=w;return v|0}function hr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;h=q+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;f=q;g=q+36|0;c[h>>2]=b;c[i>>2]=e;c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;c[m>>2]=1;c[n>>2]=((c[c[(c[h>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[i>>2]>>2]=0;if(!(c[n>>2]|0))c[k>>2]=Sm(c[j>>2]|0,c[(c[h>>2]|0)+180>>2]|0,0,m)|0;if(!((c[k>>2]|0)==0&(c[m>>2]|0)!=0)){p=c[k>>2]|0;l=q;return p|0}c[o>>2]=0;c[k>>2]=nr(c[(c[h>>2]|0)+64>>2]|0,o)|0;if((c[k>>2]|0)!=0|(c[o>>2]|0)!=0){p=c[k>>2]|0;l=q;return p|0}c[k>>2]=ir(c[h>>2]|0,p)|0;if(c[k>>2]|0){p=c[k>>2]|0;l=q;return p|0}if(!((c[p>>2]|0)!=0|(c[n>>2]|0)!=0)){Ug();if((gp(c[h>>2]|0,2)|0)==0?(om(c[j>>2]|0,c[(c[h>>2]|0)+180>>2]|0,0)|0,(a[(c[h>>2]|0)+4>>0]|0)==0):0)ym(c[h>>2]|0,1)|0;Wg();p=c[k>>2]|0;l=q;return p|0}if(!(c[n>>2]|0)){c[f>>2]=2049;c[k>>2]=Om(c[j>>2]|0,c[(c[h>>2]|0)+180>>2]|0,c[(c[h>>2]|0)+68>>2]|0,c[f>>2]|0,f)|0}if(!(c[k>>2]|0)){a[g>>0]=0;p=$m(c[(c[h>>2]|0)+68>>2]|0,g,1,0,0)|0;c[k>>2]=p;c[k>>2]=(c[k>>2]|0)==522?0:p;if(!(c[n>>2]|0))fm(c[(c[h>>2]|0)+68>>2]|0);c[c[i>>2]>>2]=(d[g>>0]|0)!=0&1;p=c[k>>2]|0;l=q;return p|0}else{if((c[k>>2]|0)!=14){p=c[k>>2]|0;l=q;return p|0}c[c[i>>2]>>2]=1;c[k>>2]=0;p=c[k>>2]|0;l=q;return p|0}return 0}function ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=mr(c[(c[e>>2]|0)+216>>2]|0)|0;do if((c[g>>2]|0)==0?c[c[(c[e>>2]|0)+64>>2]>>2]|0:0){b=h;c[b>>2]=0;c[b+4>>2]=0;c[i>>2]=xl(c[(c[e>>2]|0)+64>>2]|0,h)|0;if(!(c[i>>2]|0)){i=h;h=c[(c[e>>2]|0)+160>>2]|0;h=_$(c[i>>2]|0,c[i+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Z$(h|0,D|0,1,0)|0;i=c[(c[e>>2]|0)+160>>2]|0;i=n0(h|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;c[g>>2]=i;break}c[d>>2]=c[i>>2];i=c[d>>2]|0;l=j;return i|0}while(0);if((c[g>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[g>>2];c[c[f>>2]>>2]=c[g>>2];c[d>>2]=0;i=c[d>>2]|0;l=j;return i|0}function jr(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;f=k;c[h>>2]=b;c[i>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[i>>2]=ir(c[h>>2]|0,f)|0;if(c[i>>2]|0){c[g>>2]=c[i>>2];j=c[g>>2]|0;l=k;return j|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=om(b,e,0)|0;c[i>>2]=f;c[i>>2]=(c[i>>2]|0)==5898?0:f;c[j>>2]=0}else c[i>>2]=Sm(b,e,0,j)|0;if(!(c[i>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[i>>2]=cr(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[i>>2];j=c[g>>2]|0;l=k;return j|0}function kr(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;to(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=lr(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;l=e;return f|0}zl(c[b>>2]|0);f=c[d>>2]|0;l=e;return f|0}function lr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;do{i=c[d>>2]|0;a=c[e>>2]|0;b=(c[g>>2]|0)+1|0;c[g>>2]=b;c[f>>2]=np(i,a,0,b)|0}while((c[f>>2]|0)==-1);l=h;return c[f>>2]|0}function mr(a){a=a|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[e>>2]=a;if(c[e>>2]|0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];e=c[d>>2]|0;l=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;l=f;return e|0}function nr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function or(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];td(c[(c[f>>2]|0)+12>>2]|0);el(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0)td(c[(c[c[e>>2]>>2]|0)+12>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Uq(qk(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}pr(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){ml(c[c[e>>2]>>2]|0,c[g>>2]|0);qr(c[c[e>>2]>>2]|0)}bl(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0)_d(c[e>>2]|0);qr(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}function pr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;g=q+4|0;h=q;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[i>>2]|0)+4>>2];el(c[i>>2]|0);if(!(c[j>>2]|0)){f=_p(c[n>>2]|0,0,0)|0;c[j>>2]=f;c[m>>2]=f;if(c[m>>2]|0)c[k>>2]=0}else c[m>>2]=0;if(c[j>>2]|0?(c[p>>2]=Er(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0)|0,c[p>>2]|0):0)c[m>>2]=c[p>>2];if((d[(c[i>>2]|0)+8>>0]|0|0)!=2){p=c[i>>2]|0;Gq(p);p=c[i>>2]|0;bl(p);p=c[m>>2]|0;l=q;return p|0}c[g>>2]=hm(c[c[n>>2]>>2]|0)|0;if(c[g>>2]|0)c[m>>2]=c[g>>2];if(!(dq(c[n>>2]|0,1,o,0)|0)){c[h>>2]=Vl((c[(c[o>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[h>>2]|0))Qp(c[c[n>>2]>>2]|0,h);c[(c[n>>2]|0)+44>>2]=c[h>>2];cq(c[o>>2]|0)}a[(c[n>>2]|0)+20>>0]=1;Fq(c[n>>2]|0);p=c[i>>2]|0;Gq(p);p=c[i>>2]|0;bl(p);p=c[m>>2]|0;l=q;return p|0}function qr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if((c[(c[d>>2]|0)+84>>2]|0)==1691352191?(rr(c[d>>2]|0)|0)==0:0){sr(c[d>>2]|0,0);tr(c[d>>2]|0);c[f>>2]=0;while(1){b=c[(c[d>>2]|0)+16>>2]|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[g>>2]=b+(c[f>>2]<<4);if(c[(c[g>>2]|0)+4>>2]|0?(ur(c[(c[g>>2]|0)+4>>2]|0)|0,c[(c[g>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[g>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[b+16+12>>2]|0)Nq(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);Oq(c[d>>2]|0);Pq(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+348+8>>2];while(1){if(!(c[e>>2]|0))break;c[i>>2]=c[(c[e>>2]|0)+8>>2];do{vr(c[d>>2]|0,c[i>>2]|0);c[h>>2]=c[(c[i>>2]|0)+8>>2];Xd(c[d>>2]|0,c[i>>2]|0);c[i>>2]=c[h>>2]}while((c[i>>2]|0)!=0);c[e>>2]=c[c[e>>2]>>2]}$k((c[d>>2]|0)+348|0);c[e>>2]=c[(c[d>>2]|0)+364+8>>2];while(1){if(!(c[e>>2]|0))break;c[j>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[j>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)Eb[c[(c[j>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[j>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Xd(c[d>>2]|0,c[j>>2]|0);c[e>>2]=c[c[e>>2]>>2]}$k((c[d>>2]|0)+364|0);c[e>>2]=c[(c[d>>2]|0)+320+8>>2];while(1){if(!(c[e>>2]|0))break;c[k>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0)Eb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);wr(c[d>>2]|0,c[k>>2]|0);Xd(c[d>>2]|0,c[k>>2]|0);c[e>>2]=c[c[e>>2]>>2]}$k((c[d>>2]|0)+320|0);ml(c[d>>2]|0,0);Bk(c[(c[d>>2]|0)+244>>2]|0);c[(c[d>>2]|0)+84>>2]=-1254786768;Xd(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);ud(c[(c[d>>2]|0)+12>>2]|0);c[(c[d>>2]|0)+84>>2]=-1623446221;oe(c[(c[d>>2]|0)+12>>2]|0);if(a[(c[d>>2]|0)+256+6>>0]|0)_d(c[(c[d>>2]|0)+256+32>>2]|0);_d(c[d>>2]|0);l=m;return}ud(c[(c[d>>2]|0)+12>>2]|0);l=m;return}function rr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;l=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){a=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0?Dr(c[e>>2]|0)|0:0){a=7;break}c[d>>2]=(c[d>>2]|0)+1}if((a|0)==7){c[f>>2]=1;f=c[f>>2]|0;l=g;return f|0}else if((a|0)==9){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}return 0}function sr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[i>>2]=0;Ug();pk(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2|0)b=(d[(c[f>>2]|0)+148+5>>0]|0)==0;else b=0;c[j>>2]=b&1;c[h>>2]=0;while(1){b=c[f>>2]|0;if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[b+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(Ar(c[k>>2]|0)|0)c[i>>2]=1;pr(c[k>>2]|0,c[g>>2]|0,((c[j>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}Br(b)|0;Wg();if(c[(c[f>>2]|0)+24>>2]&2|0?(d[(c[f>>2]|0)+148+5>>0]|0)==0:0){Qq(c[f>>2]|0);Np(c[f>>2]|0)}rk(c[f>>2]|0);k=(c[f>>2]|0)+440|0;c[k>>2]=0;c[k+4>>2]=0;k=(c[f>>2]|0)+448|0;c[k>>2]=0;c[k+4>>2]=0;k=(c[f>>2]|0)+24|0;c[k>>2]=c[k>>2]&-33554433;if(!(c[(c[f>>2]|0)+212>>2]|0)){l=m;return}if((c[i>>2]|0)==0?a[(c[f>>2]|0)+67>>0]|0:0){l=m;return}Eb[c[(c[f>>2]|0)+212>>2]&255](c[(c[f>>2]|0)+208>>2]|0);l=m;return}function tr(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+424>>2]|0))break;c[e>>2]=c[b+424>>2];c[(c[d>>2]|0)+424>>2]=c[(c[e>>2]|0)+24>>2];Xd(c[d>>2]|0,c[e>>2]|0)}c[b+432>>2]=0;c[(c[d>>2]|0)+436>>2]=0;a[(c[d>>2]|0)+75>>0]=0;l=f;return}function ur(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];el(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;xr(c[g>>2]|0)|0}pr(c[d>>2]|0,0,0)|0;bl(c[d>>2]|0);if(!(a[(c[d>>2]|0)+9>>0]|0?!(yr(c[e>>2]|0)|0):0)){Wl(c[c[e>>2]>>2]|0)|0;if(c[(c[e>>2]|0)+52>>2]|0?c[(c[e>>2]|0)+48>>2]|0:0)Eb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Xd(0,c[(c[e>>2]|0)+48>>2]|0);ul(c[e>>2]|0);_d(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;_d(g);l=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;_d(g);l=h;return 0}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+24>>2];if(!(c[e>>2]|0)){l=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){l=f;return}Eb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Xd(c[d>>2]|0,c[e>>2]|0);l=f;return}function wr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[h>>2]|0)){l=i;return}e=(c[h>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|2;tk(c[f>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+16>>2]=0;l=i;return}function xr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];if(!(c[e>>2]|0)){l=i;return 0}c[g>>2]=c[(c[d>>2]|0)+4>>2];el(c[e>>2]|0);zr(c[d>>2]|0);a:do if((c[(c[g>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[g>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[g>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[f>>2]=0;while(1){if((c[f>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;cq(c[(c[d>>2]|0)+120+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Jq(c[g>>2]|0);_d(c[(c[d>>2]|0)+12>>2]|0);bl(c[e>>2]|0);l=i;return 0}function yr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[g>>2]=0;c[e>>2]=ie(2)|0;td(c[e>>2]|0);b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[e>>2]|0;ud(f);g=c[g>>2]|0;l=h;return g|0}if((c[13786]|0)!=(c[d>>2]|0)){c[f>>2]=c[13786];while(1){if(c[f>>2]|0)b=(c[(c[f>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[f>>2]|0;if(!b)break;c[f>>2]=c[a+68>>2]}if(a|0)c[(c[f>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[13786]=c[(c[d>>2]|0)+68>>2];oe(c[(c[d>>2]|0)+56>>2]|0);c[g>>2]=1;f=c[e>>2]|0;ud(f);g=c[g>>2]|0;l=h;return g|0}function zr(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;_d(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;l=d;return}function Ar(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){b=0;b=b&1;l=e;return b|0}b=(d[(c[b>>2]|0)+8>>0]|0|0)==2;b=b&1;l=e;return b|0}function Br(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Cr(c[d>>2]|0,68);l=b;return 0}function Cr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+340>>2]|0)){l=k;return}c[g>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+316>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+(c[f>>2]<<2)>>2];c[i>>2]=c[(c[h>>2]|0)+8>>2];if(c[i>>2]|0?(c[j>>2]=c[(c[c[i>>2]>>2]|0)+(c[e>>2]|0)>>2],c[j>>2]|0):0)Hb[c[j>>2]&255](c[i>>2]|0)|0;c[(c[h>>2]|0)+20>>2]=0;Dk(c[h>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Xd(c[d>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+316>>2]=0;l=k;return}function Dr(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function Er(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[k>>2]=0;if(!(c[g>>2]|0)){n=c[k>>2]|0;l=o;return n|0}el(c[g>>2]|0);c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[j>>2]|0))break;do if(c[i>>2]|0?(d[(c[j>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[j>>2]|0)+66>>0]|0)!=1?(d[(c[j>>2]|0)+66>>0]|0)!=2:0)break;c[k>>2]=tq(c[j>>2]|0)|0;if(c[k>>2]|0){n=9;break a}}else n=10;while(0);if((n|0)==10){n=0;zr(c[j>>2]|0);a[(c[j>>2]|0)+66>>0]=4;c[(c[j>>2]|0)+60>>2]=c[h>>2]}c[m>>2]=0;while(1){b=c[j>>2]|0;if((c[m>>2]|0)>(a[(c[j>>2]|0)+68>>0]|0))break;cq(c[b+120+(c[m>>2]<<2)>>2]|0);c[(c[j>>2]|0)+120+(c[m>>2]<<2)>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[j>>2]=c[b+8>>2]}if((n|0)==9)Er(c[g>>2]|0,c[k>>2]|0,0)|0;bl(c[g>>2]|0);n=c[k>>2]|0;l=o;return n|0}function Fr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;if(!(c[d>>2]|0))c[e>>2]=0;else{c[f>>2]=c[d>>2];c[g>>2]=c[c[f>>2]>>2];if(Gr(c[f>>2]|0)|0){c[b>>2]=qd(75223)|0;g=c[b>>2]|0;l=h;return g|0}td(c[(c[g>>2]|0)+12>>2]|0);d=(c[f>>2]|0)+128|0;a=c[d+4>>2]|0;if((a|0)>0|(a|0)==0&(c[d>>2]|0)>>>0>0)Hr(c[g>>2]|0,c[f>>2]|0);c[e>>2]=Ir(c[f>>2]|0)|0;c[e>>2]=Jr(c[g>>2]|0,c[e>>2]|0)|0;qr(c[g>>2]|0)}c[b>>2]=c[e>>2];g=c[b>>2]|0;l=h;return g|0}function Gr(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){xd(21,25132,d);c[b>>2]=1;e=c[b>>2]|0;l=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;l=d;return e|0}return 0}function Hr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;e=h+20|0;f=h+16|0;i=h+8|0;g=h;c[e>>2]=a;c[f>>2]=b;Pj(c[c[e>>2]>>2]|0,i)|0;b=i;a=(c[f>>2]|0)+128|0;a=Z$(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=r0(a|0,D|0,1e6,0)|0;b=g;c[b>>2]=a;c[b+4>>2]=D;if(c[(c[e>>2]|0)+192>>2]|0){i=g;Ob[c[(c[e>>2]|0)+192>>2]&255](c[(c[e>>2]|0)+196>>2]|0,c[(c[f>>2]|0)+176>>2]|0,c[i>>2]|0,c[i+4>>2]|0)}if(!((d[(c[e>>2]|0)+76>>0]|0)&2)){i=c[f>>2]|0;i=i+128|0;g=i;c[g>>2]=0;i=i+4|0;c[i>>2]=0;l=h;return}Kb[c[(c[e>>2]|0)+184>>2]&255](2,c[(c[e>>2]|0)+188>>2]|0,c[f>>2]|0,g)|0;i=c[f>>2]|0;i=i+128|0;g=i;c[g>>2]=0;i=i+4|0;c[i>>2]=0;l=h;return}function Ir(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+20>>2]|0)!=770837923?(c[(c[b>>2]|0)+20>>2]|0)!=832317811:0))c[d>>2]=Mr(c[b>>2]|0)|0;Nr(c[b>>2]|0);l=e;return c[d>>2]|0}function Jr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+69>>0]|0|0)!=0){c[e>>2]=Kr(c[f>>2]|0)|0;g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];g=c[e>>2]|0;l=h;return g|0}return 0}function Kr(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Lr(c[d>>2]|0);ml(c[d>>2]|0,7);l=b;return 7}function Lr(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+69>>0]|0)){l=f;return}if(c[(c[e>>2]|0)+168>>2]|0){l=f;return}a[(c[e>>2]|0)+69>>0]=0;c[(c[e>>2]|0)+248>>2]=0;e=(c[e>>2]|0)+256|0;c[e>>2]=(c[e>>2]|0)+-1;l=f;return}function Mr(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;d=h+8|0;f=h+4|0;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];Or(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+36>>2]|0)>=0){Pr(a)|0;Xd(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;if((e[(c[d>>2]|0)+144>>1]|0)>>>5&1|0){g=(c[d>>2]|0)+144|0;b[g>>1]=b[g>>1]&-2|1}}else if(c[a+40>>2]|0?b[(c[d>>2]|0)+144>>1]&1|0:0){j=c[f>>2]|0;i=c[(c[d>>2]|0)+40>>2]|0;a=c[(c[d>>2]|0)+108>>2]|0?21240:0;c[g>>2]=c[(c[d>>2]|0)+108>>2];ll(j,i,a,g);Xd(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0}Qr(c[d>>2]|0);j=(c[d>>2]|0)+56|0;c[j>>2]=0;c[j+4>>2]=0;c[(c[d>>2]|0)+20>>2]=1224384374;l=h;return c[(c[d>>2]|0)+40>>2]&c[(c[f>>2]|0)+56>>2]|0}function Nr(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=c[c[b>>2]>>2];uk(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+8>>2]|0;if(c[(c[b>>2]|0)+4>>2]|0)c[(c[(c[b>>2]|0)+4>>2]|0)+8>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0)c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]=c[(c[b>>2]|0)+4>>2];c[(c[b>>2]|0)+20>>2]=1443283912;c[c[b>>2]>>2]=0;Xd(c[d>>2]|0,c[b>>2]|0);l=e;return}function Or(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;j=o+24|0;k=o+20|0;f=o+16|0;m=o+12|0;g=o+8|0;n=o+4|0;h=o;c[k>>2]=b;c[m>>2]=c[c[k>>2]>>2];if(a[(c[m>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+40>>2]=7;Rr(c[k>>2]|0);if((c[(c[k>>2]|0)+20>>2]|0)!=770837923){c[j>>2]=0;n=c[j>>2]|0;l=o;return n|0}if((c[(c[k>>2]|0)+36>>2]|0)>=0?(e[(c[k>>2]|0)+144>>1]|0)>>>8&1|0:0){c[n>>2]=0;Sr(c[k>>2]|0);c[g>>2]=c[(c[k>>2]|0)+40>>2]&255;if((c[g>>2]|0)==7|(c[g>>2]|0)==10|(c[g>>2]|0)==9)b=1;else b=(c[g>>2]|0)==13;c[h>>2]=b&1;do if(c[h>>2]|0?((c[g>>2]|0)!=9?1:((e[(c[k>>2]|0)+144>>1]|0)>>>7&1|0)==0):0){if((c[g>>2]|0)==7|(c[g>>2]|0)==13?(e[(c[k>>2]|0)+144>>1]|0)>>>6&1|0:0){c[n>>2]=2;break}sr(c[m>>2]|0,516);tr(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+44>>2]=0}while(0);if(!(c[(c[k>>2]|0)+40>>2]|0))Tr(c[k>>2]|0,0)|0;if((c[(c[m>>2]|0)+316>>2]|0)>0?(c[(c[m>>2]|0)+340>>2]|0)==0:0)i=36;else if(d[(c[m>>2]|0)+67>>0]|0?(c[(c[m>>2]|0)+164>>2]|0)==(((e[(c[k>>2]|0)+144>>1]|0)>>>7&1|0)==0|0):0){if((c[(c[k>>2]|0)+40>>2]|0)!=0?(c[h>>2]|0?1:(d[(c[k>>2]|0)+142>>0]|0)!=3):0){sr(c[m>>2]|0,0);c[(c[k>>2]|0)+44>>2]=0}else i=23;do if((i|0)==23){c[f>>2]=Tr(c[k>>2]|0,1)|0;do if(c[f>>2]|0){if(!((e[(c[k>>2]|0)+144>>1]|0)>>>7&1)){c[f>>2]=787;break}Ur(c[k>>2]|0);c[j>>2]=1;n=c[j>>2]|0;l=o;return n|0}else c[f>>2]=Vr(c[m>>2]|0,c[k>>2]|0)|0;while(0);if((c[f>>2]|0)==5?(e[(c[k>>2]|0)+144>>1]|0)>>>7&1|0:0){Ur(c[k>>2]|0);c[j>>2]=5;n=c[j>>2]|0;l=o;return n|0}if(c[f>>2]|0){c[(c[k>>2]|0)+40>>2]=c[f>>2];sr(c[m>>2]|0,0);c[(c[k>>2]|0)+44>>2]=0;break}else{h=(c[m>>2]|0)+440|0;c[h>>2]=0;c[h+4>>2]=0;h=(c[m>>2]|0)+448|0;c[h>>2]=0;c[h+4>>2]=0;h=(c[m>>2]|0)+24|0;c[h>>2]=c[h>>2]&-33554433;Wr(c[m>>2]|0);break}}while(0);c[(c[m>>2]|0)+436>>2]=0}else i=36;do if((i|0)==36?(c[n>>2]|0)==0:0){if(c[(c[k>>2]|0)+40>>2]|0?(d[(c[k>>2]|0)+142>>0]|0)!=3:0)if((d[(c[k>>2]|0)+142>>0]|0)==2){c[n>>2]=2;break}else{sr(c[m>>2]|0,516);tr(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+44>>2]=0;break}c[n>>2]=1}while(0);if(c[n>>2]|0?(c[f>>2]=Xr(c[k>>2]|0,c[n>>2]|0)|0,c[f>>2]|0):0){if(!((c[(c[k>>2]|0)+40>>2]|0)!=0?(c[(c[k>>2]|0)+40>>2]&255|0)!=19:0)){c[(c[k>>2]|0)+40>>2]=c[f>>2];Xd(c[m>>2]|0,c[(c[k>>2]|0)+108>>2]|0);c[(c[k>>2]|0)+108>>2]=0}sr(c[m>>2]|0,516);tr(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+44>>2]=0}if((e[(c[k>>2]|0)+144>>1]|0)>>>4&1|0){b=c[m>>2]|0;if((c[n>>2]|0)!=2)Yr(b,c[(c[k>>2]|0)+44>>2]|0);else Yr(b,0);c[(c[k>>2]|0)+44>>2]=0}Ur(c[k>>2]|0)}if((c[(c[k>>2]|0)+36>>2]|0)>=0){n=(c[m>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+-1;if(!((e[(c[k>>2]|0)+144>>1]|0)>>>7&1)){n=(c[m>>2]|0)+164|0;c[n>>2]=(c[n>>2]|0)+-1}if((e[(c[k>>2]|0)+144>>1]|0)>>>8&1|0){n=(c[m>>2]|0)+160|0;c[n>>2]=(c[n>>2]|0)+-1}}c[(c[k>>2]|0)+20>>2]=832317811;if(a[(c[m>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+40>>2]=7;c[j>>2]=(c[(c[k>>2]|0)+40>>2]|0)==5?5:0;n=c[j>>2]|0;l=o;return n|0}function Pr(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+40>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+108>>2]|0)){ml(b,c[f>>2]|0);f=c[f>>2]|0;l=g;return f|0}b=b+70|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;Ug();if(!(c[(c[e>>2]|0)+244>>2]|0)){b=Dp(c[e>>2]|0)|0;c[(c[e>>2]|0)+244>>2]=b}Ep(c[(c[e>>2]|0)+244>>2]|0,-1,c[(c[d>>2]|0)+108>>2]|0,1,-1);Wg();d=(c[e>>2]|0)+70|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;l=g;return f|0}function Qr(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Xd(c[e>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;c[(c[d>>2]|0)+104>>2]=0;l=b;return}function Rr(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+184>>2]|0){c[b>>2]=c[(c[d>>2]|0)+184>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}js(a)|0;c[(c[d>>2]|0)+184>>2]=0;c[(c[d>>2]|0)+192>>2]=0}ks(c[d>>2]|0);if(c[(c[d>>2]|0)+92>>2]|0)vk(c[(c[d>>2]|0)+92>>2]|0,c[(c[d>>2]|0)+24>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+188>>2]|0))break;c[e>>2]=c[a+188>>2];c[(c[d>>2]|0)+188>>2]=c[(c[e>>2]|0)+4>>2];ls(c[e>>2]|0)}if(!(c[a+204>>2]|0)){l=f;return}ms(c[c[d>>2]>>2]|0,(c[d>>2]|0)+204|0,-1,0);l=f;return}function Sr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+152>>2]|0)){l=h;return}c[e>>2]=c[c[b>>2]>>2];c[f>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[g>>2]|0))break;if(((c[d>>2]|0)!=1?c[(c[b>>2]|0)+152>>2]&1<>2]|0:0)?c[(c[f>>2]|0)+(c[d>>2]<<4)+4>>2]|0:0)el(c[(c[f>>2]|0)+(c[d>>2]<<4)+4>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=h;return}function Tr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!(c[g>>2]|0?(d=(c[h>>2]|0)+440|0,h=(c[h>>2]|0)+448|0,h=_$(c[d>>2]|0,c[d+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,d=D,(d|0)>0|(d|0)==0&h>>>0>0):0))j=3;do if((j|0)==3){if((c[g>>2]|0)==0?(j=(c[f>>2]|0)+64|0,h=c[j+4>>2]|0,(h|0)>0|(h|0)==0&(c[j>>2]|0)>>>0>0):0)break;c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}while(0);c[(c[f>>2]|0)+40>>2]=787;a[(c[f>>2]|0)+142>>0]=2;is(c[f>>2]|0,25102,i);c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}function Ur(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+152>>2]|0)){l=d;return}hs(c[b>>2]|0);l=d;return}function Vr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0;I=l;l=l+144|0;E=I+32|0;G=I+24|0;F=I+16|0;C=I+8|0;p=I+128|0;w=I+124|0;J=I+120|0;x=I+116|0;y=I+112|0;z=I+108|0;A=I+104|0;B=I+100|0;e=I+96|0;f=I+92|0;g=I+88|0;h=I+84|0;i=I+80|0;j=I+76|0;k=I+72|0;m=I;n=I+68|0;o=I+64|0;q=I+60|0;r=I+56|0;s=I+52|0;t=I+48|0;u=I+44|0;v=I+40|0;c[w>>2]=a;c[J>>2]=b;c[y>>2]=0;c[z>>2]=0;c[A>>2]=0;c[z>>2]=$r(c[w>>2]|0,c[J>>2]|0)|0;c[x>>2]=0;while(1){if(c[z>>2]|0)break;if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[B>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(Ar(c[B>>2]|0)|0){c[A>>2]=1;el(c[B>>2]|0);c[e>>2]=qk(c[B>>2]|0)|0;if((d[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+8>>0]|0|0)!=1?d[25038+(Jp(c[e>>2]|0)|0)>>0]|0|0:0)c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=dp(c[e>>2]|0)|0;bl(c[B>>2]|0)}c[x>>2]=(c[x>>2]|0)+1}if(c[z>>2]|0){c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}if((c[A>>2]|0?c[(c[w>>2]|0)+204>>2]|0:0)?(c[z>>2]=Hb[c[(c[w>>2]|0)+204>>2]&255](c[(c[w>>2]|0)+200>>2]|0)|0,c[z>>2]|0):0){c[p>>2]=531;J=c[p>>2]|0;l=I;return J|0}J=0==(md(as(c[(c[(c[w>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(J|(c[y>>2]|0)<=1){c[x>>2]=0;while(1){if(c[z>>2]|0)break;if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(c[f>>2]|0)c[z>>2]=Vp(c[f>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}c[x>>2]=0;while(1){if(c[z>>2]|0)break;if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[g>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(c[g>>2]|0)c[z>>2]=Up(c[g>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}if(!(c[z>>2]|0))bs(c[w>>2]|0)|0}else{c[h>>2]=c[c[w>>2]>>2];c[i>>2]=0;c[j>>2]=as(c[(c[(c[w>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[k>>2]=0;J=m;c[J>>2]=0;c[J+4>>2]=0;c[o>>2]=0;c[q>>2]=md(c[j>>2]|0)|0;J=c[w>>2]|0;c[C>>2]=c[j>>2];c[i>>2]=Wj(J,25044,C)|0;if(!(c[i>>2]|0)){c[p>>2]=7;J=c[p>>2]|0;l=I;return J|0}do{if(c[o>>2]|0){if((c[o>>2]|0)>100){H=35;break}if((c[o>>2]|0)==1){c[G>>2]=c[i>>2];xd(13,25074,G)}}c[o>>2]=(c[o>>2]|0)+1;sf(4,r);J=(c[i>>2]|0)+(c[q>>2]|0)|0;C=c[r>>2]&255;c[E>>2]=(c[r>>2]|0)>>>8&16777215;c[E+4>>2]=C;ef(13,J,25089,E)|0;c[z>>2]=Sm(c[h>>2]|0,c[i>>2]|0,0,n)|0}while((c[z>>2]|0)==0?(c[n>>2]|0)!=0:0);if((H|0)==35){c[F>>2]=c[i>>2];xd(13,25060,F);om(c[h>>2]|0,c[i>>2]|0,0)|0}if(!(c[z>>2]|0))c[z>>2]=cs(c[h>>2]|0,c[i>>2]|0,k,16406,0)|0;if(c[z>>2]|0){Xd(c[w>>2]|0,c[i>>2]|0);c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((Ar(c[s>>2]|0)|0?(c[t>>2]=ds(c[s>>2]|0)|0,c[t>>2]|0):0)?(E=c[k>>2]|0,F=c[t>>2]|0,J=(md(c[t>>2]|0)|0)+1|0,G=m,c[z>>2]=Dm(E,F,J,c[G>>2]|0,c[G+4>>2]|0)|0,G=(md(c[t>>2]|0)|0)+1|0,J=m,G=_$(c[J>>2]|0,c[J+4>>2]|0,G|0,((G|0)<0)<<31>>31|0)|0,J=m,c[J>>2]=G,c[J+4>>2]=D,c[z>>2]|0):0){H=48;break}c[x>>2]=(c[x>>2]|0)+1}if((H|0)==48){es(c[k>>2]|0);om(c[h>>2]|0,c[i>>2]|0,0)|0;Xd(c[w>>2]|0,c[i>>2]|0);c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}if(0==((Ym(c[k>>2]|0)|0)&1024|0)?(J=mm(c[k>>2]|0,2)|0,c[z>>2]=J,0!=(J|0)):0){es(c[k>>2]|0);om(c[h>>2]|0,c[i>>2]|0,0)|0;Xd(c[w>>2]|0,c[i>>2]|0);c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}c[x>>2]=0;while(1){if(c[z>>2]|0)break;if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[u>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(c[u>>2]|0)c[z>>2]=Vp(c[u>>2]|0,c[i>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}es(c[k>>2]|0);if(c[z>>2]|0){Xd(c[w>>2]|0,c[i>>2]|0);c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}c[z>>2]=om(c[h>>2]|0,c[i>>2]|0,1)|0;Xd(c[w>>2]|0,c[i>>2]|0);c[i>>2]=0;if(c[z>>2]|0){c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}Ug();c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[v>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(c[v>>2]|0)Up(c[v>>2]|0,1)|0;c[x>>2]=(c[x>>2]|0)+1}Wg();bs(c[w>>2]|0)|0}c[p>>2]=c[z>>2];J=c[p>>2]|0;l=I;return J|0}function Wr(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;l=b;return}function Xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;if(!(c[(c[f>>2]|0)+436>>2]|0)){k=c[g>>2]|0;l=m;return k|0}if(!(c[(c[d>>2]|0)+48>>2]|0)){k=c[g>>2]|0;l=m;return k|0}c[i>>2]=(c[(c[d>>2]|0)+48>>2]|0)-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[j>>2]=0;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if((c[e>>2]|0)==2)c[j>>2]=Zr(c[k>>2]|0,2,c[i>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=Zr(c[k>>2]|0,1,c[i>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=c[j>>2]}c[h>>2]=(c[h>>2]|0)+1}k=(c[f>>2]|0)+436|0;c[k>>2]=(c[k>>2]|0)+-1;c[(c[d>>2]|0)+48>>2]=0;if(!(c[g>>2]|0)){if((c[e>>2]|0)==2)c[g>>2]=_r(c[f>>2]|0,2,c[i>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=_r(c[f>>2]|0,1,c[i>>2]|0)|0}if((c[e>>2]|0)!=2){k=c[g>>2]|0;l=m;return k|0}k=(c[d>>2]|0)+72|0;j=c[k+4>>2]|0;i=(c[f>>2]|0)+440|0;c[i>>2]=c[k>>2];c[i+4>>2]=j;i=(c[d>>2]|0)+80|0;j=c[i+4>>2]|0;k=(c[f>>2]|0)+448|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;k=c[g>>2]|0;l=m;return k|0}function Yr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+88>>2]=c[e>>2];b=(c[f>>2]|0)+92|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);l=d;return}function Zr(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[i>>2]=f;c[j>>2]=0;if(!(c[g>>2]|0)){k=c[j>>2]|0;l=m;return k|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){k=c[j>>2]|0;l=m;return k|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];el(c[g>>2]|0);c[j>>2]=Pm(c[c[k>>2]>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(!(c[j>>2]|0)){if((c[i>>2]|0)<0?(e[(c[k>>2]|0)+22>>1]|0)&8|0:0)c[(c[k>>2]|0)+44>>2]=0;c[j>>2]=Sq(c[k>>2]|0)|0;i=Vl((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=i}bl(c[g>>2]|0);k=c[j>>2]|0;l=m;return k|0}function _r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;e=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[(c[f>>2]|0)+340>>2]|0)){m=c[m>>2]|0;l=n;return m|0}c[i>>2]=0;while(1){if(c[m>>2]|0){a=15;break}if((c[i>>2]|0)>=(c[(c[f>>2]|0)+316>>2]|0)){a=15;break}c[j>>2]=c[(c[(c[f>>2]|0)+340>>2]|0)+(c[i>>2]<<2)>>2];c[k>>2]=c[c[(c[j>>2]|0)+4>>2]>>2];if(c[(c[j>>2]|0)+8>>2]|0?(c[c[k>>2]>>2]|0)>=2:0){switch(c[g>>2]|0){case 0:{c[e>>2]=c[(c[k>>2]|0)+80>>2];c[(c[j>>2]|0)+20>>2]=(c[h>>2]|0)+1;break}case 2:{c[e>>2]=c[(c[k>>2]|0)+88>>2];break}default:c[e>>2]=c[(c[k>>2]|0)+84>>2]}if(c[e>>2]|0?(c[(c[j>>2]|0)+20>>2]|0)>(c[h>>2]|0):0)c[m>>2]=Mb[c[e>>2]&255](c[(c[j>>2]|0)+8>>2]|0,c[h>>2]|0)|0}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==15){m=c[m>>2]|0;l=n;return m|0}return 0}function $r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;c[h>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[f>>2]=0;while(1){if(!(c[g>>2]|0))b=(c[f>>2]|0)<(c[(c[d>>2]|0)+316>>2]|0);else b=0;a=c[h>>2]|0;if(!b)break;c[j>>2]=c[(c[a+(c[f>>2]<<2)>>2]|0)+8>>2];if(c[j>>2]|0?(b=c[(c[c[j>>2]>>2]|0)+60>>2]|0,c[i>>2]=b,b|0):0){c[g>>2]=Hb[c[i>>2]&255](c[j>>2]|0)|0;gs(c[e>>2]|0,c[j>>2]|0)}c[f>>2]=(c[f>>2]|0)+1}c[(c[d>>2]|0)+340>>2]=a;l=k;return c[g>>2]|0}function as(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Ml(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;l=b;return a|0}function bs(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Cr(c[d>>2]|0,64);l=b;return 0}function cs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;n=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;g=o;c[h>>2]=a;c[i>>2]=b;c[n>>2]=d;c[j>>2]=e;c[k>>2]=f;f=c[(c[h>>2]|0)+4>>2]|0;c[g>>2]=Xg(f,((f|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){c[m>>2]=7;n=c[m>>2]|0;l=o;return n|0}c[m>>2]=Om(c[h>>2]|0,c[i>>2]|0,c[g>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a=c[g>>2]|0;if(c[m>>2]|0){_d(a);n=c[m>>2]|0;l=o;return n|0}else{c[c[n>>2]>>2]=a;n=c[m>>2]|0;l=o;return n|0}return 0}function ds(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=fs(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;l=b;return a|0}function es(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;fm(c[d>>2]|0);_d(c[d>>2]|0);l=b;return}function fs(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+180>>2]|0}function gs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){l=g;return}c[f>>2]=c[c[d>>2]>>2];Xd(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);f=Xo(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+108>>2]=f;_d(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;l=g;return}function hs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;b=g+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[h>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[h>>2]|0)+16>>2];c[f>>2]=c[(c[h>>2]|0)+20>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[f>>2]|0))break;if(((c[d>>2]|0)!=1?c[(c[b>>2]|0)+152>>2]&1<>2]|0:0)?c[(c[e>>2]|0)+(c[d>>2]<<4)+4>>2]|0:0)bl(c[(c[e>>2]|0)+(c[d>>2]<<4)+4>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=g;return}function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Xd(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+108>>2]|0);c[g>>2]=d;d=Xj(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+108>>2]=d;l=e;return}function js(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];ks(c[e>>2]|0);c[(c[e>>2]|0)+88>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+136>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+24>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+112>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+44>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+44>>2]=c[(c[b>>2]|0)+68>>2];c[(c[c[e>>2]>>2]|0)+88>>2]=c[(c[b>>2]|0)+72>>2];ms(c[c[e>>2]>>2]|0,(c[e>>2]|0)+204|0,-1,0);c[(c[e>>2]|0)+204>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;l=d;return c[(c[b>>2]|0)+48>>2]|0}function ks(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+112>>2]|0)){l=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){ns(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}l=f;return}function ls(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+80;c[f>>2]=(c[e>>2]|0)+((c[(c[b>>2]|0)+60>>2]|0)*40|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+64>>2]|0))break;ns(c[c[b>>2]>>2]|0,c[(c[f>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}vk(c[e>>2]|0,c[(c[b>>2]|0)+60>>2]|0);ms(c[c[c[b>>2]>>2]>>2]|0,(c[b>>2]|0)+40|0,-1,0);Xd(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);l=g;return}function ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;a:while(1){if(!(c[c[g>>2]>>2]|0))break;c[j>>2]=c[c[g>>2]>>2];do if((c[h>>2]|0)>=0){if((c[c[j>>2]>>2]|0)==(c[h>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)>31)break;if(!(c[i>>2]&1<>2]|0)+4>>2]))break}c[g>>2]=(c[j>>2]|0)+16;continue a}while(0);if(c[(c[j>>2]|0)+12>>2]|0)Eb[c[(c[j>>2]|0)+12>>2]&255](c[(c[j>>2]|0)+8>>2]|0);c[c[g>>2]>>2]=c[(c[j>>2]|0)+16>>2];Xd(c[f>>2]|0,c[j>>2]|0)}l=k;return}function ns(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;h=i+8|0;f=i+4|0;g=i;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){l=i;return}switch(d[c[h>>2]>>0]|0|0){case 1:{os(c[c[e>>2]>>2]|0,c[h>>2]|0);l=i;return}case 0:{a=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){ur(c[a+20>>2]|0)|0;l=i;return}else{xr(c[a+16>>2]|0)|0;l=i;return}}case 2:{c[f>>2]=c[(c[h>>2]|0)+16>>2];c[g>>2]=c[c[c[f>>2]>>2]>>2];h=(c[c[f>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;Hb[c[(c[g>>2]|0)+28>>2]&255](c[f>>2]|0)|0;l=i;return}default:{l=i;return}}}function os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){l=g;return}ps(c[d>>2]|0,c[f>>2]|0);_d(c[(c[f>>2]|0)+36+4>>2]|0);Xd(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;l=g;return}function ps(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;qs(c[g>>2]|0,0)|0;if(c[(c[g>>2]|0)+16>>2]|0){rs(c[(c[g>>2]|0)+16>>2]|0);Xd(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0);c[(c[g>>2]|0)+16>>2]=0}ss(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){b=c[g>>2]|0;if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[i>>2]=b+64+((c[h>>2]|0)*72|0);ts(c[f>>2]|0,c[i>>2]|0);c[(c[i>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[b+36+4>>2]|0))us(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Xd(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;l=j;return}function qs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=c[k>>2];c[g>>2]=(d[(c[e>>2]|0)+59>>0]|0)-1;while(1){if((c[g>>2]|0)<0)break;c[h>>2]=(c[e>>2]|0)+64+((c[g>>2]|0)*72|0);c[i>>2]=ws(c[h>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[i>>2];c[g>>2]=(c[g>>2]|0)+-1}l=j;return c[f>>2]|0}function rs(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;_d(c[(c[b>>2]|0)+28>>2]|0);_d(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)on(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;vs(c[(c[b>>2]|0)+48>>2]|0);a=c[b>>2]|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return}function ss(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){d=c[b>>2]|0;_d(d);l=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;rs((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}d=c[b>>2]|0;_d(d);l=e;return}function ts(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Xd(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);a=(c[d>>2]|0)+16|0;if(c[(c[d>>2]|0)+16+4>>2]|0)_d(c[a+4>>2]|0);else us(0,c[a>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)es(c[(c[d>>2]|0)+40>>2]|0);if(!(c[(c[d>>2]|0)+56>>2]|0)){a=c[d>>2]|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=e;return}es(c[(c[d>>2]|0)+56>>2]|0);a=c[d>>2]|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=e;return}function us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Xd(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}l=g;return}function vs(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}if(c[(c[b>>2]|0)+24>>2]|0){ws(c[c[b>>2]>>2]|0)|0;if(c[(c[b>>2]|0)+32>>2]|0)es(c[(c[b>>2]|0)+32>>2]|0);if(c[(c[b>>2]|0)+32+16>>2]|0)es(c[(c[b>>2]|0)+32+16>>2]|0)}ss(c[(c[b>>2]|0)+4>>2]|0);_d(c[b>>2]|0);l=d;return}function ws(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if(!(c[c[b>>2]>>2]|0)){e=c[d>>2]|0;l=f;return e|0}c[e>>2]=1;xs(c[c[b>>2]>>2]|0,e)|0;c[d>>2]=c[e>>2];c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;e=c[d>>2]|0;l=f;return e|0}function xs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=7;g=c[d>>2]|0;l=h;return g|0}a=c[e>>2]|0;if(c[(c[e>>2]|0)+4>>2]|0){c[c[f>>2]>>2]=c[a+8>>2];c[g>>2]=0}else{f=(Na(c[a>>2]|0,c[f>>2]|0)|0)!=0;c[g>>2]=f?1:0}_d(c[e>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}function ys(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}c[e>>2]=c[b>>2];c[f>>2]=c[c[e>>2]>>2];td(c[(c[f>>2]|0)+12>>2]|0);b=(c[e>>2]|0)+128|0;a=c[b+4>>2]|0;if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0)Hr(c[f>>2]|0,c[e>>2]|0);c[d>>2]=Mr(c[e>>2]|0)|0;zs(c[e>>2]|0);c[d>>2]=Jr(c[f>>2]|0,c[d>>2]|0)|0;ud(c[(c[f>>2]|0)+12>>2]|0);f=c[d>>2]|0;l=g;return f|0}function zs(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=770837923;c[(c[e>>2]|0)+36>>2]=-1;c[(c[e>>2]|0)+40>>2]=0;a[(c[e>>2]|0)+142>>0]=2;c[(c[e>>2]|0)+44>>2]=0;c[(c[e>>2]|0)+32>>2]=1;a[(c[e>>2]|0)+143>>0]=-1;c[(c[e>>2]|0)+48>>2]=0;b=(c[e>>2]|0)+64|0;c[b>>2]=0;c[b+4>>2]=0;l=d;return}function As(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+16|0;d=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[f>>2]=0;c[g>>2]=c[j>>2];c[h>>2]=c[(c[c[j>>2]>>2]|0)+12>>2];td(c[h>>2]|0);c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(b[(c[g>>2]|0)+16>>1]|0))break;ei((c[a+116>>2]|0)+((c[d>>2]|0)*40|0)|0);b[(c[(c[g>>2]|0)+116>>2]|0)+((c[d>>2]|0)*40|0)+8>>1]=1;c[d>>2]=(c[d>>2]|0)+1}if(!((e[a+144>>1]|0)>>>9&1)){j=c[h>>2]|0;ud(j);j=c[f>>2]|0;l=i;return j|0}if(!(c[(c[g>>2]|0)+196>>2]|0)){j=c[h>>2]|0;ud(j);j=c[f>>2]|0;l=i;return j|0}j=(c[g>>2]|0)+144|0;b[j>>1]=b[j>>1]&-2|1;j=c[h>>2]|0;ud(j);j=c[f>>2]|0;l=i;return j|0}function Bs(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;k=o+32|0;e=o+28|0;m=o+24|0;f=o+20|0;j=o+16|0;g=o+12|0;n=o+8|0;h=o+4|0;i=o;c[e>>2]=d;c[m>>2]=0;c[f>>2]=0;c[j>>2]=c[e>>2];c[g>>2]=0;if(Cs(c[j>>2]|0)|0){c[k>>2]=qd(75775)|0;n=c[k>>2]|0;l=o;return n|0}c[n>>2]=c[c[j>>2]>>2];td(c[(c[n>>2]|0)+12>>2]|0);d=(c[j>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3;while(1){d=Ds(c[j>>2]|0)|0;c[m>>2]=d;if((d|0)!=17)break;d=c[g>>2]|0;c[g>>2]=d+1;if((d|0)>=50)break;c[h>>2]=c[(c[j>>2]|0)+36>>2];d=Es(c[j>>2]|0)|0;c[m>>2]=d;c[f>>2]=d;if(c[m>>2]|0)break;ys(c[e>>2]|0)|0;if((c[h>>2]|0)<0)continue;d=(c[j>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3|2}if(c[f>>2]|0){c[i>>2]=Rh(c[(c[n>>2]|0)+244>>2]|0)|0;Xd(c[n>>2]|0,c[(c[j>>2]|0)+108>>2]|0);if(a[(c[n>>2]|0)+69>>0]|0){c[(c[j>>2]|0)+108>>2]=0;c[m>>2]=7;e=7;d=c[j>>2]|0}else{e=Xo(c[n>>2]|0,c[i>>2]|0)|0;c[(c[j>>2]|0)+108>>2]=e;e=c[f>>2]|0;d=c[j>>2]|0}c[d+40>>2]=e}c[m>>2]=Jr(c[n>>2]|0,c[m>>2]|0)|0;ud(c[(c[n>>2]|0)+12>>2]|0);c[k>>2]=c[m>>2];n=c[k>>2]|0;l=o;return n|0}function Cs(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){xd(21,42105,e);c[b>>2]=1;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=Gr(c[d>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}return 0}function Ds(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[h>>2]=f;if((c[(c[h>>2]|0)+20>>2]|0)!=770837923)ys(c[h>>2]|0)|0;c[i>>2]=c[c[h>>2]>>2];f=c[h>>2]|0;if(a[(c[i>>2]|0)+69>>0]|0){c[f+40>>2]=7;c[g>>2]=7;k=c[g>>2]|0;l=m;return k|0}if((c[f+36>>2]|0)<=0?b[(c[h>>2]|0)+144>>1]&1|0:0){c[(c[h>>2]|0)+40>>2]=17;c[j>>2]=1}else{if((c[(c[h>>2]|0)+36>>2]|0)<0){if(!(c[(c[i>>2]|0)+156>>2]|0))c[(c[i>>2]|0)+248>>2]=0;if(!(!(c[(c[i>>2]|0)+192>>2]|0)?!(d[(c[i>>2]|0)+76>>0]&2|0):0))k=13;if(((k|0)==13?(a[(c[i>>2]|0)+148+5>>0]|0)==0:0)?c[(c[h>>2]|0)+176>>2]|0:0)Pj(c[c[i>>2]>>2]|0,(c[h>>2]|0)+128|0)|0;k=(c[i>>2]|0)+156|0;c[k>>2]=(c[k>>2]|0)+1;if(!((e[(c[h>>2]|0)+144>>1]|0)>>>7&1)){k=(c[i>>2]|0)+164|0;c[k>>2]=(c[k>>2]|0)+1}if((e[(c[h>>2]|0)+144>>1]|0)>>>8&1|0){k=(c[i>>2]|0)+160|0;c[k>>2]=(c[k>>2]|0)+1}c[(c[h>>2]|0)+36>>2]=0}if((e[(c[h>>2]|0)+144>>1]|0)>>>2&3|0)c[j>>2]=LF(c[h>>2]|0)|0;else{k=(c[i>>2]|0)+168|0;c[k>>2]=(c[k>>2]|0)+1;c[j>>2]=MF(c[h>>2]|0)|0;k=(c[i>>2]|0)+168|0;c[k>>2]=(c[k>>2]|0)+-1}if((c[j>>2]|0)!=100?(k=(c[h>>2]|0)+128|0,f=c[k+4>>2]|0,(f|0)>0|(f|0)==0&(c[k>>2]|0)>>>0>0):0)Hr(c[i>>2]|0,c[h>>2]|0);if((c[j>>2]|0)==101?(k=NF(c[i>>2]|0)|0,c[(c[h>>2]|0)+40>>2]=k,c[(c[h>>2]|0)+40>>2]|0):0)c[j>>2]=1;c[(c[i>>2]|0)+52>>2]=c[j>>2];if(7==(Jr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+40>>2]|0)|0))c[(c[h>>2]|0)+40>>2]=7}if(((c[j>>2]|0)!=100?((e[(c[h>>2]|0)+144>>1]|0)>>>9&1|0)!=0:0)&(c[j>>2]|0)!=101)c[j>>2]=Pr(c[h>>2]|0)|0;c[g>>2]=c[j>>2]&c[(c[i>>2]|0)+56>>2];k=c[g>>2]|0;l=m;return k|0}function Es(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;b=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;i=h+4|0;g=h;c[d>>2]=a;c[i>>2]=Fs(c[d>>2]|0)|0;c[g>>2]=Gs(c[d>>2]|0)|0;c[e>>2]=Hs(c[g>>2]|0,c[i>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[e>>2]|0)){Is(c[f>>2]|0,c[d>>2]|0);Js(c[f>>2]|0,c[d>>2]|0)|0;Ks(c[f>>2]|0);Ir(c[f>>2]|0)|0;c[b>>2]=0;i=c[b>>2]|0;l=h;return i|0}if((c[e>>2]|0)==7)Od(c[g>>2]|0);c[b>>2]=c[e>>2];i=c[b>>2]|0;l=h;return i|0}function Fs(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;l=d;return e|0}e=c[(c[b>>2]|0)+176>>2]|0;l=d;return e|0}function Gs(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function Hs(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;p=s+32|0;q=s+28|0;r=s+24|0;i=s+20|0;j=s+16|0;k=s+12|0;m=s+8|0;n=s+4|0;o=s;c[q>>2]=a;c[r>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;c[n>>2]=h;c[c[m>>2]>>2]=0;h=(Ms(c[q>>2]|0)|0)==0;if(h|(c[r>>2]|0)==0){c[p>>2]=qd(114197)|0;r=c[p>>2]|0;l=s;return r|0}td(c[(c[q>>2]|0)+12>>2]|0);pk(c[q>>2]|0);c[o>>2]=Ns(c[q>>2]|0,c[r>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==17){Fr(c[c[m>>2]>>2]|0)|0;c[o>>2]=Ns(c[q>>2]|0,c[r>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0}rk(c[q>>2]|0);ud(c[(c[q>>2]|0)+12>>2]|0);c[p>>2]=c[o>>2];r=c[p>>2]|0;l=s;return r|0}function Is(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+224|0;g=f+220|0;h=f+216|0;k=f;j=f+212|0;i=f+208|0;c[g>>2]=a;c[h>>2]=d;h0(k|0,c[g>>2]|0,208)|0;h0(c[g>>2]|0,c[h>>2]|0,208)|0;h0(c[h>>2]|0,k|0,208)|0;c[j>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=c[j>>2];c[j>>2]=c[(c[g>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=c[j>>2];c[i>>2]=c[(c[g>>2]|0)+176>>2];c[(c[g>>2]|0)+176>>2]=c[(c[h>>2]|0)+176>>2];c[(c[h>>2]|0)+176>>2]=c[i>>2];d=(c[h>>2]|0)+144|0;b[d>>1]=b[d>>1]&-513|((e[(c[g>>2]|0)+144>>1]|0)>>>9&1)<<9&65535;l=f;return} +function Tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;b=c[c[e>>2]>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Xd(a,c[b+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Xd(a,b);Xd(c[d>>2]|0,c[e>>2]|0);l=g;return}function Uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];Ok(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);Kk(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Jk(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);Ok(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Xd(c[d>>2]|0,c[e>>2]|0);l=g;return}function Vk(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return}function Wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+28|0;f=n+24|0;i=n+20|0;g=n+16|0;j=n+12|0;k=n+8|0;h=n+4|0;e=n;c[f>>2]=a;c[i>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+12>>2]|0){d=Zk(c[i>>2]|0)|0;c[h>>2]=(d>>>0)%((c[c[f>>2]>>2]|0)>>>0)|0;c[e>>2]=(c[(c[f>>2]|0)+12>>2]|0)+(c[h>>2]<<3);c[j>>2]=c[(c[e>>2]|0)+4>>2];c[k>>2]=c[c[e>>2]>>2]}else{c[h>>2]=0;c[j>>2]=c[(c[f>>2]|0)+8>>2];c[k>>2]=c[(c[f>>2]|0)+4>>2]}c[c[g>>2]>>2]=c[h>>2];while(1){h=c[k>>2]|0;c[k>>2]=h+-1;if(!h){a=9;break}h=(bh(c[(c[j>>2]|0)+12>>2]|0,c[i>>2]|0)|0)==0;b=c[j>>2]|0;if(h){a=7;break}c[j>>2]=c[b>>2]}if((a|0)==7){c[m>>2]=b;m=c[m>>2]|0;l=n;return m|0}else if((a|0)==9){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}return 0}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]|0)a=c[(c[f>>2]|0)+4>>2]|0;else a=(c[e>>2]|0)+8|0;c[a>>2]=c[c[f>>2]>>2];if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}_d(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){l=i;return}$k(c[e>>2]|0);l=i;return}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}Ug();c[g>>2]=Fd(c[f>>2]<<3,0)|0;Wg();if(!(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}_d(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[g>>2];b=((Kd(c[g>>2]|0)|0)>>>0)/8|0;c[f>>2]=b;c[c[e>>2]>>2]=b;m0(c[g>>2]|0,0,c[f>>2]<<3|0)|0;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=Zk(c[(c[h>>2]|0)+12>>2]|0)|0;c[j>>2]=(b>>>0)%((c[f>>2]|0)>>>0)|0;c[i>>2]=c[c[h>>2]>>2];_k(c[e>>2]|0,(c[g>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[i>>2]}c[d>>2]=1;j=c[d>>2]|0;l=k;return j|0}function Zk(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h;g=h+8|0;c[e>>2]=b;c[f>>2]=0;while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=a[b>>0]|0;a[g>>0]=b;if(!(b&255))break;c[f>>2]=(c[f>>2]|0)+(d[20458+(d[g>>0]|0)>>0]|0);c[f>>2]=S(c[f>>2]|0,-1640531535)|0}l=h;return c[f>>2]|0}function _k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){if(c[c[f>>2]>>2]|0)a=c[(c[f>>2]|0)+4>>2]|0;else a=0;c[h>>2]=a;d=c[f>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[f>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];l=i;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];if(c[(c[h>>2]|0)+4>>2]|0)a=c[(c[h>>2]|0)+4>>2]|0;else a=(c[e>>2]|0)+8|0;c[a>>2]=c[g>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];l=i;return}function $k(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;_d(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];_d(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;l=f;return}function al(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];Ok(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);Kk(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Jk(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);Tk(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Xd(c[d>>2]|0,c[f>>2]|0)}l=g;return}function bl(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+9>>0]|0)){l=e;return}b=(c[d>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+-1;if(c[(c[d>>2]|0)+12>>2]|0){l=e;return}cl(c[d>>2]|0);l=e;return}function cl(b){b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];ud(c[(c[f>>2]|0)+56>>2]|0);a[(c[e>>2]|0)+10>>0]=0;l=d;return}function dl(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Hb[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;l=b;return a|0}function el(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+9>>0]|0)){l=e;return}b=(c[d>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+1;if(a[(c[d>>2]|0)+10>>0]|0){l=e;return}fl(c[d>>2]|0);l=e;return}function fl(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;g=(gl(c[(c[(c[d>>2]|0)+4>>2]|0)+56>>2]|0)|0)==0;b=c[d>>2]|0;if(g){c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[b>>2];a[(c[d>>2]|0)+10>>0]=1;l=f;return}c[e>>2]=c[b+24>>2];while(1){if(!(c[e>>2]|0))break;if(a[(c[e>>2]|0)+10>>0]|0)cl(c[e>>2]|0);c[e>>2]=c[(c[e>>2]|0)+24>>2]}hl(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+24>>2];while(1){if(!(c[e>>2]|0))break;if(c[(c[e>>2]|0)+12>>2]|0)hl(c[e>>2]|0);c[e>>2]=c[(c[e>>2]|0)+24>>2]}l=f;return}function gl(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;if(c[d>>2]|0){c[b>>2]=Hb[c[100>>2]&255](c[d>>2]|0)|0;e=c[b>>2]|0;l=f;return e|0}else{c[b>>2]=c[e>>2];e=c[b>>2]|0;l=f;return e|0}return 0}function hl(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;td(c[(c[(c[e>>2]|0)+4>>2]|0)+56>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];a[(c[e>>2]|0)+10>>0]=1;l=d;return}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;e=i+32|0;f=i+24|0;g=i+16|0;h=i+8|0;d=i;j=i+40|0;k=f;c[k>>2]=a;c[k+4>>2]=b;c[j>>2]=fe()|0;if(c[j>>2]|0){j=e;c[j>>2]=-1;c[j+4>>2]=-1;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;l=i;return k|0}td(c[13620]|0);b=54488;j=c[b+4>>2]|0;k=g;c[k>>2]=c[b>>2];c[k+4>>2]=j;if((c[f+4>>2]|0)<0){ud(c[13620]|0);h=g;k=c[h+4>>2]|0;j=e;c[j>>2]=c[h>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;l=i;return k|0}b=f;k=c[b+4>>2]|0;j=54488;c[j>>2]=c[b>>2];c[j+4>>2]=k;j=Id(0)|0;k=d;c[k>>2]=j;c[k+4>>2]=D;k=f;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0){k=f;b=c[k+4>>2]|0;a=d;j=c[a+4>>2]|0;a=(b|0)<(j|0)|((b|0)==(j|0)?(c[k>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[13627]=a&1;ud(c[13620]|0);k=jl()|0;j=f;j=Z$(k|0,D|0,c[j>>2]|0,c[j+4>>2]|0)|0;k=h;c[k>>2]=j;c[k+4>>2]=D;k=h;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0)Md(c[h>>2]&2147483647)|0;h=g;k=c[h+4>>2]|0;j=e;c[j>>2]=c[h>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;l=i;return k|0}function jl(){var a=0,b=0;b=l;l=l+16|0;a=b+8|0;pd(0,a,b,0)|0;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;do if(c[e>>2]|0)if(!a){c[d>>2]=1;break}else{c[d>>2]=bh(c[e>>2]|0,c[f>>2]|0)|0;break}else c[d>>2]=a|0?-1:0;while(0);l=g;return c[d>>2]|0}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+28|0;g=k+24|0;h=k+20|0;i=k+16|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];Bp(c[f>>2]|0,c[g>>2]|0);a=c[f>>2]|0;if(!(c[h>>2]|0)){ml(a,c[g>>2]|0);l=k;return}if((c[a+244>>2]|0)==0?(g=Dp(c[f>>2]|0)|0,c[(c[f>>2]|0)+244>>2]=g,(g|0)==0):0){l=k;return}c[j>>2]=e;c[i>>2]=Xj(c[f>>2]|0,c[h>>2]|0,j)|0;Ep(c[(c[f>>2]|0)+244>>2]|0,-1,c[i>>2]|0,1,191);l=k;return}function ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[d>>2]|0)+52>>2]=c[e>>2];if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+244>>2]|0)==0:0){l=f;return}zp(c[d>>2]|0,c[e>>2]|0);l=f;return}function nl(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=-1;if(!(c[e>>2]|0)){g=c[g>>2]|0;l=h;return g|0}c[g>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);while(1){if((c[g>>2]|0)<0){a=6;break}if(!(bh(c[c[f>>2]>>2]|0,c[e>>2]|0)|0)){a=6;break}c[g>>2]=(c[g>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+-16}if((a|0)==6){g=c[g>>2]|0;l=h;return g|0}return 0}function pl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+409>>0]|0)==0:0){c[g>>2]=rl(c[c[f>>2]>>2]|0,0,c[f>>2]|0,h,0,542)|0;if(c[g>>2]|0){sl(c[e>>2]|0,24788,i);c[(c[e>>2]|0)+12>>2]=c[g>>2];c[d>>2]=1;i=c[d>>2]|0;l=j;return i|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[h>>2];if(7==(tl(c[h>>2]|0,c[(c[f>>2]|0)+80>>2]|0,-1,0)|0)){Od(c[f>>2]|0);c[d>>2]=1;i=c[d>>2]|0;l=j;return i|0}}c[d>>2]=0;i=c[d>>2]|0;l=j;return i|0}function ql(b){b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){l=g;return}c[f>>2]=c[c[e>>2]>>2];Xd(c[f>>2]|0,c[(c[e>>2]|0)+76>>2]|0);Kk(c[f>>2]|0,c[(c[e>>2]|0)+80>>2]|0);if(c[f>>2]|0){f=(c[f>>2]|0)+256|0;c[f>>2]=(c[f>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;l=g;return}function rl(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+192|0;K=L+84|0;A=L+80|0;B=L+76|0;C=L+72|0;E=L+68|0;m=L+64|0;n=L+60|0;F=L+56|0;G=L+52|0;H=L+48|0;I=L+44|0;o=L+188|0;p=L+88|0;q=L+40|0;r=L+36|0;s=L+32|0;t=L+28|0;u=L+24|0;v=L+20|0;w=L+16|0;x=L+12|0;y=L+8|0;z=L+4|0;J=L;c[A>>2]=f;c[B>>2]=g;c[C>>2]=h;c[E>>2]=i;c[m>>2]=j;c[n>>2]=k;c[F>>2]=0;c[H>>2]=0;c[I>>2]=0;if(!(c[B>>2]|0))f=1;else f=(a[c[B>>2]>>0]|0)==0;c[q>>2]=f&1;if(c[B>>2]|0?(G_(c[B>>2]|0,24858)|0)==0:0)f=1;else D=5;do if((D|0)==5){if(c[q>>2]|0?Kl(c[C>>2]|0)|0:0){f=1;break}f=(c[n>>2]&128|0)!=0}while(0);c[r>>2]=f&1;if(c[r>>2]|0)c[m>>2]=c[m>>2]|2;if(c[n>>2]&256|0?(c[r>>2]|0)!=0|(c[q>>2]|0)!=0:0)c[n>>2]=c[n>>2]&-257|512;c[G>>2]=Xg(48,0)|0;if(!(c[G>>2]|0)){c[K>>2]=7;K=c[K>>2]|0;l=L;return K|0}a[(c[G>>2]|0)+8>>0]=0;c[c[G>>2]>>2]=c[C>>2];c[(c[G>>2]|0)+32>>2]=c[G>>2];c[(c[G>>2]|0)+32+4>>2]=1;do if(!(c[q>>2]|0)){if(c[r>>2]|0?(c[n>>2]&64|0)==0:0)break;if(c[n>>2]&131072|0){c[s>>2]=(md(c[B>>2]|0)|0)+1;c[t>>2]=(c[(c[A>>2]|0)+8>>2]|0)+1;q=(c[t>>2]|0)>(c[s>>2]|0)?c[t>>2]|0:c[s>>2]|0;c[u>>2]=Fd(q,((q|0)<0)<<31>>31)|0;a[(c[G>>2]|0)+9>>0]=1;if(!(c[u>>2]|0)){_d(c[G>>2]|0);c[K>>2]=7;K=c[K>>2]|0;l=L;return K|0}if(!(c[r>>2]|0)){c[I>>2]=Ll(c[A>>2]|0,c[B>>2]|0,c[t>>2]|0,c[u>>2]|0)|0;if(c[I>>2]|0){_d(c[u>>2]|0);_d(c[G>>2]|0);c[K>>2]=c[I>>2];K=c[K>>2]|0;l=L;return K|0}}else h0(c[u>>2]|0,c[B>>2]|0,c[s>>2]|0)|0;c[H>>2]=ie(4)|0;td(c[H>>2]|0);c[v>>2]=ie(2)|0;td(c[v>>2]|0);c[F>>2]=c[13786];while(1){if(!(c[F>>2]|0))break;t=c[u>>2]|0;if(0==(G_(t,Ml(c[c[F>>2]>>2]|0,0)|0)|0)?(t=Nl(c[c[F>>2]>>2]|0)|0,(t|0)==(c[A>>2]|0)):0){D=29;break}c[F>>2]=c[(c[F>>2]|0)+68>>2]}do if((D|0)==29){c[w>>2]=(c[(c[C>>2]|0)+20>>2]|0)-1;while(1){if((c[w>>2]|0)<0){D=35;break}c[x>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[w>>2]<<4)+4>>2];if(c[x>>2]|0?(c[(c[x>>2]|0)+4>>2]|0)==(c[F>>2]|0):0)break;c[w>>2]=(c[w>>2]|0)+-1}if((D|0)==35){c[(c[G>>2]|0)+4>>2]=c[F>>2];x=(c[F>>2]|0)+64|0;c[x>>2]=(c[x>>2]|0)+1;break}ud(c[v>>2]|0);ud(c[H>>2]|0);_d(c[u>>2]|0);_d(c[G>>2]|0);c[K>>2]=19;K=c[K>>2]|0;l=L;return K|0}while(0);ud(c[v>>2]|0);_d(c[u>>2]|0)}}while(0);do if(!(c[F>>2]|0)){c[F>>2]=Xg(84,0)|0;if(!(c[F>>2]|0)){c[I>>2]=7;break}c[I>>2]=Pl(c[A>>2]|0,c[F>>2]|0,c[B>>2]|0,88,c[m>>2]|0,c[n>>2]|0,158)|0;if(!(c[I>>2]|0)){A=(c[C>>2]|0)+40|0;Ql(c[c[F>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0);c[I>>2]=Rl(c[c[F>>2]>>2]|0,100,p)|0}if(!(c[I>>2]|0)){a[(c[F>>2]|0)+16>>0]=c[m>>2];c[(c[F>>2]|0)+4>>2]=c[C>>2];Tl(c[c[F>>2]>>2]|0,192,c[F>>2]|0);c[(c[G>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+12>>2]=0;if((Ul(c[c[F>>2]>>2]|0)|0)<<24>>24){A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|1}c[(c[F>>2]|0)+32>>2]=d[p+16>>0]<<8|d[p+17>>0]<<16;if(((c[(c[F>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?!((c[(c[F>>2]|0)+32>>2]|0)-1&c[(c[F>>2]|0)+32>>2]|0):0){a[o>>0]=a[p+20>>0]|0;B=(c[F>>2]|0)+22|0;b[B>>1]=e[B>>1]|2;B=(Vl(p+52|0)|0)!=0;a[(c[F>>2]|0)+17>>0]=B?1:0;B=(Vl(p+64|0)|0)!=0;a[(c[F>>2]|0)+18>>0]=B?1:0}else{c[(c[F>>2]|0)+32>>2]=0;if(!((c[B>>2]|0)==0|(c[r>>2]|0)!=0)){a[(c[F>>2]|0)+17>>0]=0;a[(c[F>>2]|0)+18>>0]=0}a[o>>0]=0}c[I>>2]=vl(c[c[F>>2]>>2]|0,(c[F>>2]|0)+32|0,d[o>>0]|0)|0;if(!(c[I>>2]|0)){c[(c[F>>2]|0)+36>>2]=(c[(c[F>>2]|0)+32>>2]|0)-(d[o>>0]|0);c[(c[F>>2]|0)+64>>2]=1;if(a[(c[G>>2]|0)+9>>0]|0){c[y>>2]=ie(2)|0;if(c[3]|0?(B=ie(0)|0,c[(c[F>>2]|0)+56>>2]=B,(c[(c[F>>2]|0)+56>>2]|0)==0):0){c[I>>2]=7;break}td(c[y>>2]|0);c[(c[F>>2]|0)+68>>2]=c[13786];c[13786]=c[F>>2];ud(c[y>>2]|0);D=59}else D=59}}}else D=59;while(0);if((D|0)==59){a:do if(a[(c[G>>2]|0)+9>>0]|0){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break a;D=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[z>>2]<<4)+4>>2]|0;c[J>>2]=D;if(D|0?d[(c[J>>2]|0)+9>>0]|0:0)break;c[z>>2]=(c[z>>2]|0)+1}while(1){if(!(c[(c[J>>2]|0)+28>>2]|0))break;c[J>>2]=c[(c[J>>2]|0)+28>>2]}if((c[(c[G>>2]|0)+4>>2]|0)>>>0<(c[(c[J>>2]|0)+4>>2]|0)>>>0){c[(c[G>>2]|0)+24>>2]=c[J>>2];c[(c[G>>2]|0)+28>>2]=0;c[(c[J>>2]|0)+28>>2]=c[G>>2];break}while(1){if(c[(c[J>>2]|0)+24>>2]|0)g=(c[(c[(c[J>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0;else g=0;f=c[(c[J>>2]|0)+24>>2]|0;if(!g)break;c[J>>2]=f}c[(c[G>>2]|0)+24>>2]=f;c[(c[G>>2]|0)+28>>2]=c[J>>2];if(c[(c[G>>2]|0)+24>>2]|0)c[(c[(c[G>>2]|0)+24>>2]|0)+28>>2]=c[G>>2];c[(c[J>>2]|0)+24>>2]=c[G>>2]}while(0);c[c[E>>2]>>2]=c[G>>2]}if(!(c[I>>2]|0)){if(!(Xl(c[G>>2]|0,0,0)|0))Yl(c[c[(c[G>>2]|0)+4>>2]>>2]|0,-2e3)}else{if(c[F>>2]|0?c[c[F>>2]>>2]|0:0)Wl(c[c[F>>2]>>2]|0)|0;_d(c[F>>2]|0);_d(c[G>>2]|0);c[c[E>>2]>>2]=0}if(c[H>>2]|0)ud(c[H>>2]|0);c[K>>2]=c[I>>2];K=c[K>>2]|0;l=L;return K|0}function sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;f=i+32|0;k=i+28|0;g=i+24|0;j=i+8|0;h=i;c[f>>2]=b;c[k>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=e;c[g>>2]=Xj(c[h>>2]|0,c[k>>2]|0,j)|0;if(a[(c[h>>2]|0)+73>>0]|0){Xd(c[h>>2]|0,c[g>>2]|0);l=i;return}else{k=(c[f>>2]|0)+36|0;c[k>>2]=(c[k>>2]|0)+1;Xd(c[h>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[f>>2]|0)+12>>2]=1;l=i;return}}function tl(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;h=p;c[j>>2]=a;c[k>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=0;c[h>>2]=c[(c[j>>2]|0)+4>>2];el(c[j>>2]|0);if((e[(c[h>>2]|0)+22>>1]|0)&2|0){bl(c[j>>2]|0);c[i>>2]=8;o=c[i>>2]|0;l=p;return o|0}if((c[m>>2]|0)<0)c[m>>2]=(c[(c[h>>2]|0)+32>>2]|0)-(c[(c[h>>2]|0)+36>>2]|0);if((c[k>>2]|0)>=512&(c[k>>2]|0)<=65536?((c[k>>2]|0)-1&c[k>>2]|0)==0:0){c[(c[h>>2]|0)+32>>2]=c[k>>2];ul(c[h>>2]|0)}c[o>>2]=vl(c[c[h>>2]>>2]|0,(c[h>>2]|0)+32|0,c[m>>2]|0)|0;c[(c[h>>2]|0)+36>>2]=(c[(c[h>>2]|0)+32>>2]|0)-(c[m>>2]&65535);if(c[n>>2]|0){n=(c[h>>2]|0)+22|0;b[n>>1]=e[n>>1]|0|2}bl(c[j>>2]|0);c[i>>2]=c[o>>2];o=c[i>>2]|0;l=p;return o|0}function ul(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){l=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;Bl(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;l=d;return}function vl(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p;c[g>>2]=a;c[h>>2]=e;c[i>>2]=f;c[j>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(wl(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[k>>2]|0)!=0):0)?(c[k>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[m>>2]=0;o=n;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?c[c[(c[g>>2]|0)+64>>2]>>2]|0:0)c[j>>2]=xl(c[(c[g>>2]|0)+64>>2]|0,n)|0;if((c[j>>2]|0)==0?(c[m>>2]=yl(c[k>>2]|0)|0,(c[m>>2]|0)==0):0)c[j>>2]=7;if(!(c[j>>2]|0)){zl(c[g>>2]|0);c[j>>2]=Al(c[(c[g>>2]|0)+212>>2]|0,c[k>>2]|0)|0}if(!(c[j>>2]|0)){Bl(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[m>>2];o=n;o=_$(c[o>>2]|0,c[o+4>>2]|0,c[k>>2]|0,0)|0;o=Z$(o|0,D|0,1,0)|0;o=n0(o|0,D|0,c[k>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[k>>2];break}else{Bl(c[m>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[j>>2]|0){o=c[j>>2]|0;l=p;return o|0}if((c[i>>2]|0)<0)c[i>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[i>>2];Cl(c[g>>2]|0);o=c[j>>2]|0;l=p;return o|0}function wl(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+12>>2]|0}function xl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function yl(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Vg(c[d>>2]|0)|0;l=b;return a|0}function zl(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;El(c[(c[d>>2]|0)+96>>2]|0);Fl(c[(c[d>>2]|0)+212>>2]|0);l=b;return}function Al(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=Bb[c[132>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;h=c[e>>2]|0;l=i;return h|0}j=c[34]|0;a=c[h>>2]|0;b=Dl(c[f>>2]|0)|0;Fb[j&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)Eb[c[160>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}function Bl(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Mg(c[d>>2]|0);l=b;return}function Cl(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return}function Dl(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;l=e;return d|0}else{a=r0(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=n0(a|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;l=e;return d|0}return 0}function El(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}l=d;return}function Fl(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Gl(c[d>>2]|0,0);l=b;return}function Gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){l=i;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)Hl(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?c[(c[d>>2]|0)+12>>2]|0:0)?(c[h>>2]=Bb[c[144>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,c[h>>2]|0):0){m0(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}Fb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);l=i;return}function Hl(a){a=a|0;var d=0,f=0;f=l;l=l+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){l=f;return}Il(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){l=f;return}Jl(c[d>>2]|0);l=f;return}function Il(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j+4|0;g=j+8|0;i=j;c[h>>2]=b;a[g>>0]=f;c[i>>2]=c[(c[h>>2]|0)+28>>2];if(d[g>>0]&1|0){if((c[(c[i>>2]|0)+8>>2]|0)==(c[h>>2]|0))c[(c[i>>2]|0)+8>>2]=c[(c[h>>2]|0)+36>>2];if(c[(c[h>>2]|0)+32>>2]|0)b=(c[(c[h>>2]|0)+32>>2]|0)+36|0;else b=(c[i>>2]|0)+4|0;c[b>>2]=c[(c[h>>2]|0)+36>>2];b=c[(c[h>>2]|0)+32>>2]|0;if(!(c[(c[h>>2]|0)+36>>2]|0)){c[c[i>>2]>>2]=b;if(!(c[c[i>>2]>>2]|0))a[(c[i>>2]|0)+33>>0]=2}else c[(c[(c[h>>2]|0)+36>>2]|0)+32>>2]=b;c[(c[h>>2]|0)+32>>2]=0;c[(c[h>>2]|0)+36>>2]=0}if(!(d[g>>0]&2)){l=j;return}c[(c[h>>2]|0)+32>>2]=c[c[i>>2]>>2];b=c[h>>2]|0;if(!(c[(c[h>>2]|0)+32>>2]|0)){c[(c[i>>2]|0)+4>>2]=b;if(a[(c[i>>2]|0)+32>>0]|0)a[(c[i>>2]|0)+33>>0]=1}else c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=b;c[c[i>>2]>>2]=c[h>>2];if(c[(c[i>>2]|0)+8>>2]|0){l=j;return}if(e[(c[h>>2]|0)+24>>1]&8){l=j;return}c[(c[i>>2]|0)+8>>2]=c[h>>2];l=j;return}function Jl(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){l=e;return}Ib[c[148>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);l=e;return}function Kl(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (d[(c[b>>2]|0)+68>>0]|0|0)==2|0}function Ll(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=Kb[c[(c[k>>2]|0)+36>>2]&255](c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return f|0}function Ml(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if(c[g>>2]|0?d[(c[e>>2]|0)+16>>0]|0|0:0){g=55752;l=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;l=f;return g|0}function Nl(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function Ol(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Ln(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){l=f;return}a[c[e>>2]>>0]=0;if((pp(c[d>>2]|0)|0)<=1){l=f;return}qp(c[e>>2]|0)|0;l=f;return}function Pl(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=l;l=l+112|0;H=K+96|0;E=K+92|0;I=K+88|0;r=K+84|0;s=K+80|0;L=K+76|0;t=K+72|0;F=K+68|0;k=K+64|0;G=K+60|0;u=K+56|0;v=K+52|0;w=K+48|0;x=K+44|0;m=K+40|0;y=K+36|0;z=K+32|0;A=K+28|0;n=K+24|0;B=K+20|0;o=K+16|0;p=K+12|0;q=K+8|0;C=K+4|0;D=K;c[E>>2]=d;c[I>>2]=e;c[r>>2]=f;c[s>>2]=g;c[L>>2]=h;c[t>>2]=i;c[F>>2]=j;c[G>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=(c[L>>2]&1|0)==0&1;c[n>>2]=Vo()|0;c[B>>2]=4096;c[o>>2]=0;c[p>>2]=0;c[m>>2]=(Wo(c[E>>2]|0)|0)+7&-8;c[c[I>>2]>>2]=0;do if((c[L>>2]&2|0?(c[w>>2]=1,c[r>>2]|0):0)?a[c[r>>2]>>0]|0:0){c[y>>2]=Xo(0,c[r>>2]|0)|0;if(c[y>>2]|0){c[z>>2]=md(c[y>>2]|0)|0;c[r>>2]=0;break}c[H>>2]=7;L=c[H>>2]|0;l=K;return L|0}while(0);if(c[r>>2]|0?a[c[r>>2]>>0]|0:0){c[z>>2]=(c[(c[E>>2]|0)+8>>2]|0)+1;L=c[z>>2]<<1;c[y>>2]=Cd(0,L,((L|0)<0)<<31>>31)|0;if(!(c[y>>2]|0)){c[H>>2]=7;L=c[H>>2]|0;l=K;return L|0}a[c[y>>2]>>0]=0;c[u>>2]=Ll(c[E>>2]|0,c[r>>2]|0,c[z>>2]|0,c[y>>2]|0)|0;c[z>>2]=md(c[y>>2]|0)|0;L=c[r>>2]|0;L=L+((md(c[r>>2]|0)|0)+1)|0;c[o>>2]=L;c[q>>2]=L;while(1){d=c[q>>2]|0;if(!(a[c[q>>2]>>0]|0))break;L=(md(d)|0)+1|0;c[q>>2]=(c[q>>2]|0)+L;L=(md(c[q>>2]|0)|0)+1|0;c[q>>2]=(c[q>>2]|0)+L}c[p>>2]=d+1-(c[o>>2]|0);if((c[u>>2]|0)==0?((c[z>>2]|0)+8|0)>(c[(c[E>>2]|0)+8>>2]|0):0)c[u>>2]=gf(51006)|0;if(c[u>>2]|0){Xd(0,c[y>>2]|0);c[H>>2]=c[u>>2];L=c[H>>2]|0;l=K;return L|0}}c[k>>2]=Xg(224+((c[n>>2]|0)+7&-8)+((c[(c[E>>2]|0)+4>>2]|0)+7&-8)+(c[m>>2]<<1)+(c[z>>2]|0)+1+(c[p>>2]|0)+(c[z>>2]|0)+8+2+(c[z>>2]|0)+4+2|0,0)|0;if(!(c[k>>2]|0)){Xd(0,c[y>>2]|0);c[H>>2]=7;L=c[H>>2]|0;l=K;return L|0}c[G>>2]=c[k>>2];L=(c[k>>2]|0)+224|0;c[k>>2]=L;c[(c[G>>2]|0)+212>>2]=L;L=(c[k>>2]|0)+((c[n>>2]|0)+7&-8)|0;c[k>>2]=L;c[(c[G>>2]|0)+64>>2]=L;L=(c[k>>2]|0)+((c[(c[E>>2]|0)+4>>2]|0)+7&-8)|0;c[k>>2]=L;c[(c[G>>2]|0)+72>>2]=L;L=(c[k>>2]|0)+(c[m>>2]|0)|0;c[k>>2]=L;c[(c[G>>2]|0)+68>>2]=L;L=(c[k>>2]|0)+(c[m>>2]|0)|0;c[k>>2]=L;c[(c[G>>2]|0)+176>>2]=L;if(c[y>>2]|0){L=(c[k>>2]|0)+((c[z>>2]|0)+1+(c[p>>2]|0))|0;c[k>>2]=L;c[(c[G>>2]|0)+180>>2]=L;h0(c[(c[G>>2]|0)+176>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(c[p>>2]|0)h0((c[(c[G>>2]|0)+176>>2]|0)+((c[z>>2]|0)+1)|0,c[o>>2]|0,c[p>>2]|0)|0;h0(c[(c[G>>2]|0)+180>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;d=(c[(c[G>>2]|0)+180>>2]|0)+(c[z>>2]|0)|0;e=24985;f=d+10|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));c[(c[G>>2]|0)+220>>2]=(c[(c[G>>2]|0)+180>>2]|0)+((c[z>>2]|0)+8+1);h0(c[(c[G>>2]|0)+220>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;L=(c[(c[G>>2]|0)+220>>2]|0)+(c[z>>2]|0)|0;a[L>>0]=a[24995]|0;a[L+1>>0]=a[24996]|0;a[L+2>>0]=a[24997]|0;a[L+3>>0]=a[24998]|0;a[L+4>>0]=a[24999]|0;Xd(0,c[y>>2]|0)}c[c[G>>2]>>2]=c[E>>2];c[(c[G>>2]|0)+152>>2]=c[t>>2];do if(c[r>>2]|0?a[c[r>>2]>>0]|0:0){c[C>>2]=0;c[u>>2]=Om(c[E>>2]|0,c[(c[G>>2]|0)+176>>2]|0,c[(c[G>>2]|0)+64>>2]|0,c[t>>2]|0,C)|0;c[x>>2]=c[C>>2]&1;if(!(c[u>>2]|0)){c[D>>2]=Ym(c[(c[G>>2]|0)+64>>2]|0)|0;do if((c[x>>2]|0)==0?(Xm(c[G>>2]|0),(c[B>>2]|0)>>>0<(c[(c[G>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[G>>2]|0)+156>>2]|0)>>>0>8192){c[B>>2]=8192;break}else{c[B>>2]=c[(c[G>>2]|0)+156>>2];break}while(0);L=(Of(c[r>>2]|0,25001,0)|0)&255;a[(c[G>>2]|0)+14>>0]=L;if((c[D>>2]&8192|0)==0?(Of(c[r>>2]|0,25008,0)|0)==0:0)break;c[t>>2]=c[t>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){c[v>>2]=1;a[(c[G>>2]|0)+17>>0]=1;a[(c[G>>2]|0)+18>>0]=4;a[(c[G>>2]|0)+14>>0]=1;c[x>>2]=c[t>>2]&1}if(!(c[u>>2]|0))c[u>>2]=vl(c[G>>2]|0,B,-1)|0;if(!(c[u>>2]|0)){c[s>>2]=(c[s>>2]|0)+7&-8;c[u>>2]=Zo(c[B>>2]|0,c[s>>2]|0,((c[w>>2]|0)!=0^1)&1,(c[w>>2]|0)!=0^1?192:0,c[G>>2]|0,c[(c[G>>2]|0)+212>>2]|0)|0}if(c[u>>2]|0){fm(c[(c[G>>2]|0)+64>>2]|0);Bl(c[(c[G>>2]|0)+208>>2]|0);_d(c[G>>2]|0);c[H>>2]=c[u>>2];L=c[H>>2]|0;l=K;return L|0}a[(c[G>>2]|0)+6>>0]=c[A>>2];c[(c[G>>2]|0)+164>>2]=1073741823;a[(c[G>>2]|0)+13>>0]=c[v>>2];a[(c[G>>2]|0)+4>>0]=c[v>>2];a[(c[G>>2]|0)+19>>0]=a[(c[G>>2]|0)+13>>0]|0;a[(c[G>>2]|0)+16>>0]=c[w>>2];a[(c[G>>2]|0)+15>>0]=c[x>>2];a[(c[G>>2]|0)+7>>0]=a[(c[G>>2]|0)+13>>0]|0;if(!(a[(c[G>>2]|0)+7>>0]|0)){a[(c[G>>2]|0)+8>>0]=1;a[(c[G>>2]|0)+9>>0]=0;a[(c[G>>2]|0)+12>>0]=2;a[(c[G>>2]|0)+11>>0]=34;a[(c[G>>2]|0)+10>>0]=2}b[(c[G>>2]|0)+148>>1]=c[s>>2];L=(c[G>>2]|0)+168|0;c[L>>2]=-1;c[L+4>>2]=-1;Xm(c[G>>2]|0);if(c[A>>2]|0){if(c[w>>2]|0){d=4;e=c[G>>2]|0;J=49}}else{d=2;e=c[G>>2]|0;J=49}if((J|0)==49)a[e+5>>0]=d;c[(c[G>>2]|0)+204>>2]=c[F>>2];c[c[I>>2]>>2]=c[G>>2];c[H>>2]=0;L=c[H>>2]|0;l=K;return L|0}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[a+4>>2]|0;d=(c[f>>2]|0)+136|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;Cl(c[f>>2]|0);l=e;return}function Rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;m0(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;l=i;return h|0}g=$m(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=g;c[h>>2]=(c[h>>2]|0)==522?0:g;h=c[h>>2]|0;l=i;return h|0}function Sl(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=Uo((c[(c[d>>2]|0)+4>>2]|0)+380|0)|0;l=b;return a|0}function Tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g+12|0;i=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[i>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[i>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=g;return}c[f>>2]=(c[e>>2]|0)+184;wo(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);l=g;return}function Ul(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;l=e;return a[(c[d>>2]|0)+15>>0]|0}function Vl(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function Wl(b){b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];Ug();$l(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;am(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;zl(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)bm(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;dm(b,cm(c[e>>2]|0)|0)|0}em(c[e>>2]|0)}Wg();fm(c[(c[e>>2]|0)+68>>2]|0);fm(c[(c[e>>2]|0)+64>>2]|0);Bl(c[f>>2]|0);gm(c[(c[e>>2]|0)+212>>2]|0);_d(c[e>>2]|0);l=g;return 0}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];el(c[e>>2]|0);if(!(c[f>>2]|0?(c[(c[h>>2]|0)+48>>2]|0)==0:0)){g=c[e>>2]|0;bl(g);h=c[h>>2]|0;h=h+48|0;h=c[h>>2]|0;l=i;return h|0}f=c[f>>2]|0;f=_l(0,f,((f|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+48>>2]=f;c[(c[h>>2]|0)+52>>2]=c[g>>2];g=c[e>>2]|0;bl(g);h=c[h>>2]|0;h=h+48|0;h=c[h>>2]|0;l=i;return h|0}function Yl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Zl(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);l=d;return}function Zl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[34]|0;a=c[(c[f>>2]|0)+44>>2]|0;b=Dl(c[f>>2]|0)|0;Fb[e&255](a,b);l=d;return}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;d=e;c[f>>2]=Cd(c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;l=g;return h|0}m0(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;l=g;return h|0}function $l(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];_d(c[b>>2]|0);c[b>>2]=c[d>>2]}l=e;return}function am(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;h=p;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;c[n>>2]=0;if(!(c[i>>2]|0)){o=c[n>>2]|0;l=p;return o|0}c[o>>2]=0;c[n>>2]=uo(c[(c[i>>2]|0)+4>>2]|0,4)|0;do if(!(c[n>>2]|0)){if(!(d[(c[i>>2]|0)+43>>0]|0))a[(c[i>>2]|0)+43>>0]=1;c[n>>2]=vo(c[i>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,0,0)|0;if(!(c[n>>2]|0)){c[h>>2]=-1;wo(c[(c[i>>2]|0)+4>>2]|0,10,h);if((c[h>>2]|0)!=1){c[o>>2]=1;break}m=(c[i>>2]|0)+16|0;k=c[m+4>>2]|0;if((k|0)>0|(k|0)==0&(c[m>>2]|0)>>>0>=0)xo(c[i>>2]|0,0,0)}}while(0);yo(c[i>>2]|0,c[o>>2]|0);fm(c[(c[i>>2]|0)+8>>2]|0);if(c[o>>2]|0){Ug();om(c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+108>>2]|0,0)|0;Wg()}_d(c[(c[i>>2]|0)+32>>2]|0);_d(c[i>>2]|0);o=c[n>>2]|0;l=p;return o|0}function bm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i+8|0;e=i+4|0;f=i;c[h>>2]=b;pm(c[(c[h>>2]|0)+60>>2]|0);c[(c[h>>2]|0)+60>>2]=0;jm(c[h>>2]|0);j=(tm(c[h>>2]|0)|0)!=0;b=c[h>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[h>>2]|0)+64>>2]>>2]|0)b=Ym(c[(c[h>>2]|0)+64>>2]|0)|0;else b=0;c[f>>2]=b;if(!(0!=(c[f>>2]&2048|0)?1==(d[(c[h>>2]|0)+5>>0]&5|0):0))fm(c[(c[h>>2]|0)+68>>2]|0);c[e>>2]=ym(c[h>>2]|0,0)|0;if(c[e>>2]|0?(d[(c[h>>2]|0)+17>>0]|0)==6:0)a[(c[h>>2]|0)+18>>0]=5;a[(c[h>>2]|0)+19>>0]=0;b=c[h>>2]|0;g=13}}else{to(c[b+216>>2]|0);b=c[h>>2]|0;g=13}if((g|0)==13)a[b+17>>0]=0;if(!(c[(c[h>>2]|0)+44>>2]|0)){j=c[h>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[h>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[h>>2]|0;j=j+20|0;a[j>>0]=0;l=i;return}b=c[h>>2]|0;if(!(d[(c[h>>2]|0)+13>>0]|0)){zl(b);a[(c[h>>2]|0)+19>>0]=0;b=0;e=c[h>>2]|0}else{b=(c[c[b+68>>2]>>2]|0?0:1)&255;e=c[h>>2]|0}a[e+17>>0]=b;c[(c[h>>2]|0)+44>>2]=0;j=c[h>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[h>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[h>>2]|0;j=j+20|0;a[j>>0]=0;l=i;return}function cm(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=mm(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;l=f;return e|0}c[e>>2]=xl(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;l=f;return e|0}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;l=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;l=g;return h|0}function em(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?d[(c[e>>2]|0)+17>>0]|0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){Ug();hm(c[e>>2]|0)|0;Wg();break}if(!(a[(c[e>>2]|0)+4>>0]|0))im(c[e>>2]|0,0,0)|0}while(0);bm(c[e>>2]|0);l=f;return}function fm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[c[b>>2]>>2]|0)){l=d;return}Hb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;l=d;return}function gm(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Eb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);l=b;return}function hm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];i=c[e>>2]|0;l=j;return i|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;i=c[e>>2]|0;l=j;return i|0}k=(tm(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(k){c[g>>2]=Pm(b,2,-1)|0;c[h>>2]=im(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[g>>2]|0))c[g>>2]=c[h>>2]}else{if(c[c[b+68>>2]>>2]|0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[g>>2]=Qm(c[f>>2]|0,0)|0;break}c[i>>2]=d[(c[f>>2]|0)+17>>0];c[g>>2]=im(c[f>>2]|0,0,0)|0;if((c[i>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[g>>2];k=c[e>>2]|0;l=j;return k|0}}while(0);c[e>>2]=dm(c[f>>2]|0,c[g>>2]|0)|0;k=c[e>>2]|0;l=j;return k|0}function im(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;g=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;h=o;c[j>>2]=b;c[g>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[j>>2]|0)+17>>0]|0)<2?(d[(c[j>>2]|0)+18>>0]|0)<2:0){c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}jm(c[j>>2]|0);a:do if(c[c[(c[j>>2]|0)+68>>2]>>2]|0){f=(km(c[(c[j>>2]|0)+68>>2]|0)|0)!=0;b=c[j>>2]|0;if(f){fm(c[b+68>>2]|0);break}e=c[j>>2]|0;if((d[b+5>>0]|0)==3){h=e+80|0;if(!((c[h>>2]|0)==0&(c[h+4>>2]|0)==0)){c[m>>2]=lm(c[(c[j>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?d[(c[j>>2]|0)+8>>0]|0:0)c[m>>2]=mm(c[(c[j>>2]|0)+68>>2]|0,d[(c[j>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;h=(c[j>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0;break}do if((d[e+5>>0]|0)!=1){if(d[(c[j>>2]|0)+4>>0]|0?(d[(c[j>>2]|0)+5>>0]|0)!=5:0)break;c[h>>2]=((a[(c[j>>2]|0)+13>>0]|0)!=0^1)&1;fm(c[(c[j>>2]|0)+68>>2]|0);if(!(c[h>>2]|0))break a;c[m>>2]=om(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+180>>2]|0,d[(c[j>>2]|0)+9>>0]|0)|0;break a}while(0);if(c[g>>2]|0)b=1;else b=(d[(c[j>>2]|0)+13>>0]|0)!=0;c[m>>2]=nm(c[j>>2]|0,b&1)|0;h=(c[j>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0}while(0);pm(c[(c[j>>2]|0)+60>>2]|0);c[(c[j>>2]|0)+60>>2]=0;c[(c[j>>2]|0)+48>>2]=0;if(!(c[m>>2]|0)){h=(qm(c[j>>2]|0,c[k>>2]|0)|0)!=0;b=c[(c[j>>2]|0)+212>>2]|0;if(h)rm(b);else sm(b);Gl(c[(c[j>>2]|0)+212>>2]|0,c[(c[j>>2]|0)+28>>2]|0)}if(!(tm(c[j>>2]|0)|0)){if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[(c[j>>2]|0)+36>>2]|0)>>>0>(c[(c[j>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=vm(c[j>>2]|0,c[(c[j>>2]|0)+28>>2]|0)|0}else c[n>>2]=um(c[(c[j>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?c[c[(c[j>>2]|0)+64>>2]>>2]|0:0){k=wm(c[(c[j>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==12?0:k}do if(!(a[(c[j>>2]|0)+4>>0]|0)){if(tm(c[j>>2]|0)|0?(xm(c[(c[j>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=ym(c[j>>2]|0,1)|0;a[(c[j>>2]|0)+19>>0]=0}while(0);a[(c[j>>2]|0)+17>>0]=1;a[(c[j>>2]|0)+20>>0]=0;c[i>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[i>>2]|0;l=o;return n|0}function jm(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){b=c[d>>2]|0;if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;pm(c[(c[b+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!(a[b+4>>0]|0?!(km(c[(c[d>>2]|0)+72>>2]|0)|0):0))fm(c[(c[d>>2]|0)+72>>2]|0);_d(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;l=f;return}function km(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[c[b>>2]>>2]|0)==4104|0}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;d=Bb[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;l=e;return d|0}function mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function nm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+24|0;g=k+20|0;h=k+16|0;i=k+8|0;j=k;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;e=(c[f>>2]|0)+80|0;if(!((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0)){j=c[h>>2]|0;l=k;return j|0}m=(c[f>>2]|0)+168|0;b=c[m+4>>2]|0;e=i;c[e>>2]=c[m>>2];c[e+4>>2]=b;e=i;b=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0)c[h>>2]=lm(b,0,0)|0;else c[h>>2]=Dm(b,56012,28,0,0)|0;if((c[h>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[h>>2]=mm(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=i;g=c[m+4>>2]|0;if(!((c[h>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[h>>2]|0;l=k;return m|0}c[h>>2]=xl(c[(c[f>>2]|0)+68>>2]|0,j)|0;if(c[h>>2]|0){m=c[h>>2]|0;l=k;return m|0}e=c[j+4>>2]|0;m=i;g=c[m+4>>2]|0;if(!((e|0)>(g|0)|((e|0)==(g|0)?(c[j>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[h>>2]|0;l=k;return m|0}m=i;c[h>>2]=lm(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[h>>2]|0;l=k;return m|0}function om(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Bb[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function pm(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;pm(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);_d(c[b>>2]|0);l=e;return}function qm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;do if(d[(c[f>>2]|0)+13>>0]|0){if(!(c[g>>2]|0)){c[e>>2]=0;break}if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[e>>2]=(Fm(c[(c[f>>2]|0)+212>>2]|0)|0)>=25&1;break}else{c[e>>2]=0;break}}else c[e>>2]=1;while(0);l=h;return c[e>>2]|0}function rm(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;Hl(c[d>>2]|0)}l=e;return}function sm(a){a=a|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-13;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];l=g;return}function tm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function um(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){l=e;return 0}Em(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;l=e;return 0}function vm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+48|0;e=m+32|0;f=m+28|0;g=m+24|0;h=m+8|0;i=m;j=m+20|0;k=m+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){k=c[g>>2]|0;l=m;return k|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?d[(c[e>>2]|0)+17>>0]|0|0:0){k=c[g>>2]|0;l=m;return k|0}c[j>>2]=c[(c[e>>2]|0)+160>>2];c[g>>2]=xl(c[(c[e>>2]|0)+64>>2]|0,h)|0;a=c[j>>2]|0;a=r0(a|0,((a|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;b=i;c[b>>2]=a;c[b+4>>2]=D;if(c[g>>2]|0){k=c[g>>2]|0;l=m;return k|0}a=h;b=i;if(!((c[a>>2]|0)!=(c[b>>2]|0)?1:(c[a+4>>2]|0)!=(c[b+4>>2]|0))){k=c[g>>2]|0;l=m;return k|0}a=h;o=c[a+4>>2]|0;b=i;n=c[b+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0))){b=h;n=c[j>>2]|0;n=_$(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=D;o=i;h=c[o+4>>2]|0;if((b|0)<(h|0)|((b|0)==(h|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[k>>2]=c[(c[e>>2]|0)+208>>2];m0(c[k>>2]|0,0,c[j>>2]|0)|0;h=c[(c[e>>2]|0)+64>>2]|0;k=c[k>>2]|0;n=c[j>>2]|0;o=c[j>>2]|0;o=Z$(c[i>>2]|0,c[i+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[g>>2]=Dm(h,k,n,o,D)|0}}else{o=i;c[g>>2]=lm(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[g>>2]|0){o=c[g>>2]|0;l=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[g>>2]|0;l=m;return o|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Bb[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function xm(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){e=c[g>>2]|0;if((c[h>>2]|0)>0){Bm(e,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[i>>2]=1;i=c[i>>2]|0;l=j;return i|0}else{c[i>>2]=(d[e+43>>0]|0)==0&1;i=c[i>>2]|0;l=j;return i|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[i>>2]=0;i=c[i>>2]|0;l=j;return i|0}a[(c[g>>2]|0)+43>>0]=0;if(Am(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[i>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;i=c[i>>2]|0;l=j;return i|0}function ym(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;l=i;return h|0}if(d[(c[f>>2]|0)+14>>0]|0|0)b=0;else b=zm(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=b;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;l=i;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;l=i;return h|0}function zm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function Am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=Cm(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}return 0}function Bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){l=g;return}Cm(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;l=g;return}function Cm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=Kb[c[(c[c[j>>2]>>2]|0)+56>>2]&255](c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function Dm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;j=g+16|0;i=g+12|0;h=g+8|0;k=g;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;f=k;f=Nb[c[(c[c[j>>2]>>2]|0)+12>>2]&255](c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;l=g;return f|0}function Em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){l=i;return}Cm(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;l=i;return}function Fm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=0;c[e>>2]=Dl(c[g>>2]|0)|0;c[b>>2]=c[c[g>>2]>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=(c[d>>2]|0)+1;c[b>>2]=c[(c[b>>2]|0)+32>>2]}if(!(c[e>>2]|0)){g=0;l=f;return g|0}d=c[d>>2]|0;d=r0(d|0,((d|0)<0)<<31>>31|0,100,0)|0;g=c[e>>2]|0;g=n0(d|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;l=f;return g|0}function Gm(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Mm(c[d>>2]|0);l=b;return 0}function Hm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+64|0;t=r+52|0;s=r+48|0;o=r+44|0;p=r+8|0;q=r+40|0;h=r+36|0;i=r+32|0;j=r+28|0;k=r+24|0;g=r;m=r+20|0;n=r+16|0;c[t>>2]=a;c[s>>2]=b;c[o>>2]=d;d=p;c[d>>2]=e;c[d+4>>2]=f;c[q>>2]=c[t>>2];c[h>>2]=c[s>>2];c[i>>2]=c[o>>2];d=(c[q>>2]|0)+40|0;e=p;f=p;a:do if(((c[d>>2]|0)!=(c[e>>2]|0)?1:(c[d+4>>2]|0)!=(c[e+4>>2]|0))|(c[f>>2]|0)==0&(c[f+4>>2]|0)==0){t=g;c[t>>2]=0;c[t+4>>2]=0;c[k>>2]=c[(c[q>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break a;e=g;s=c[(c[q>>2]|0)+4>>2]|0;s=_$(c[e>>2]|0,c[e+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;e=D;t=p;f=c[t+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=c[(c[q>>2]|0)+4>>2]|0;t=g;s=_$(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=D;c[k>>2]=c[c[k>>2]>>2]}}else c[k>>2]=c[(c[q>>2]|0)+40+8>>2];while(0);s=p;t=c[(c[q>>2]|0)+4>>2]|0;t=c0(c[s>>2]|0,c[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;c[j>>2]=t;do{c[m>>2]=(c[(c[q>>2]|0)+4>>2]|0)-(c[j>>2]|0);if((c[i>>2]|0)<((c[(c[q>>2]|0)+4>>2]|0)-(c[j>>2]|0)|0))a=c[i>>2]|0;else a=(c[(c[q>>2]|0)+4>>2]|0)-(c[j>>2]|0)|0;c[n>>2]=a;h0(c[h>>2]|0,(c[k>>2]|0)+4+(c[j>>2]|0)|0,c[n>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(c[n>>2]|0);c[i>>2]=(c[i>>2]|0)-(c[m>>2]|0);c[j>>2]=0;if((c[i>>2]|0)<0)break;t=c[c[k>>2]>>2]|0;c[k>>2]=t}while((t|0)!=0&(c[i>>2]|0)>0);if(!(c[k>>2]|0)){o=0;t=0;s=c[q>>2]|0;s=s+40|0;p=s;c[p>>2]=o;s=s+4|0;c[s>>2]=t;s=c[k>>2]|0;t=c[q>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;l=r;return 0}t=p;o=c[o>>2]|0;o=_$(c[t>>2]|0,c[t+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;t=D;s=c[q>>2]|0;s=s+40|0;p=s;c[p>>2]=o;s=s+4|0;c[s>>2]=t;s=c[k>>2]|0;t=c[q>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;l=r;return 0}function Im(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+52|0;h=u+48|0;i=u+44|0;s=u+40|0;t=u;q=u+36|0;j=u+32|0;k=u+28|0;g=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;p=u+8|0;c[h>>2]=a;c[i>>2]=b;c[s>>2]=d;d=t;c[d>>2]=e;c[d+4>>2]=f;c[q>>2]=c[h>>2];c[j>>2]=c[s>>2];c[k>>2]=c[i>>2];if((c[(c[q>>2]|0)+8>>2]|0)>0?(b=c[s>>2]|0,e=t,e=_$(b|0,((b|0)<0)<<31>>31|0,c[e>>2]|0,c[e+4>>2]|0)|0,b=D,f=c[(c[q>>2]|0)+8>>2]|0,d=((f|0)<0)<<31>>31,(b|0)>(d|0)|(b|0)==(d|0)&e>>>0>f>>>0):0){c[g>>2]=Nm(c[q>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=Dm(c[h>>2]|0,c[i>>2]|0,c[s>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;c[r>>2]=c[g>>2];t=c[r>>2]|0;l=u;return t|0}while(1){if((c[j>>2]|0)<=0){a=18;break}c[m>>2]=c[(c[q>>2]|0)+24+8>>2];h=(c[q>>2]|0)+24|0;i=c[(c[q>>2]|0)+4>>2]|0;i=c0(c[h>>2]|0,c[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c[n>>2]=i;if((c[j>>2]|0)<((c[(c[q>>2]|0)+4>>2]|0)-(c[n>>2]|0)|0))a=c[j>>2]|0;else a=(c[(c[q>>2]|0)+4>>2]|0)-(c[n>>2]|0)|0;c[o>>2]=a;if(!(c[n>>2]|0)){c[p>>2]=pe(12+((c[(c[q>>2]|0)+4>>2]|0)-8)|0)|0;if(!(c[p>>2]|0)){a=12;break}c[c[p>>2]>>2]=0;a=c[p>>2]|0;if(c[m>>2]|0)c[c[m>>2]>>2]=a;else c[(c[q>>2]|0)+16>>2]=a;c[(c[q>>2]|0)+24+8>>2]=c[p>>2]}h0((c[(c[q>>2]|0)+24+8>>2]|0)+4+(c[n>>2]|0)|0,c[k>>2]|0,c[o>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+(c[o>>2]|0);c[j>>2]=(c[j>>2]|0)-(c[o>>2]|0);h=c[o>>2]|0;i=(c[q>>2]|0)+24|0;f=i;h=_$(c[f>>2]|0,c[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;c[i>>2]=h;c[i+4>>2]=D}if((a|0)==12){c[r>>2]=3082;t=c[r>>2]|0;l=u;return t|0}else if((a|0)==18){s=c[s>>2]|0;t=_$(s|0,((s|0)<0)<<31>>31|0,c[t>>2]|0,c[t+4>>2]|0)|0;c[(c[q>>2]|0)+12>>2]=t;c[r>>2]=0;t=c[r>>2]|0;l=u;return t|0}return 0}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;g=f;e=f+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[h>>2];d=g;if(!((c[d>>2]|0)==0&(c[d+4>>2]|0)==0)){l=f;return 0}Mm(c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+24+8>>2]=0;h=(c[e>>2]|0)+24|0;c[h>>2]=0;c[h+4>>2]=0;c[(c[e>>2]|0)+40+8>>2]=0;h=(c[e>>2]|0)+40|0;c[h>>2]=0;c[h+4>>2]=0;l=f;return 0}function Km(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function Lm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+24|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;l=d;return 0}function Mm(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];_d(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+16>>2]=0;l=f;return}function Nm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;e=m+96|0;f=m+92|0;g=m+88|0;h=m+8|0;i=m+84|0;j=m;k=m+80|0;c[e>>2]=a;c[g>>2]=c[e>>2];a=h;b=c[e>>2]|0;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));a=c[e>>2]|0;d=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[f>>2]=Om(c[h+60>>2]|0,c[h+64>>2]|0,c[g>>2]|0,c[h+56>>2]|0,0)|0;if(!(c[f>>2]|0)){c[i>>2]=c[h+4>>2];d=j;c[d>>2]=0;c[d+4>>2]=0;c[k>>2]=c[h+16>>2];while(1){if(!(c[k>>2]|0))break;n=j;b=c[i>>2]|0;b=_$(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=D;d=h+24|0;a=c[d+4>>2]|0;if((n|0)>(a|0)|((n|0)==(a|0)?b>>>0>(c[d>>2]|0)>>>0:0)){d=h+24|0;n=j;n=Z$(c[d>>2]|0,c[d+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[i>>2]=n}n=j;c[f>>2]=Dm(c[g>>2]|0,(c[k>>2]|0)+4|0,c[i>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[f>>2]|0)break;d=c[i>>2]|0;n=j;d=_$(c[n>>2]|0,c[n+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;n=j;c[n>>2]=d;c[n+4>>2]=D;c[k>>2]=c[c[k>>2]>>2]}if(!(c[f>>2]|0))Mm(h)}if(!(c[f>>2]|0)){n=c[f>>2]|0;l=m;return n|0}fm(c[g>>2]|0);a=c[e>>2]|0;b=h;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));n=c[f>>2]|0;l=m;return n|0}function Om(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;n=h+20|0;m=h+16|0;k=h+12|0;j=h+8|0;i=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[g>>2]=Nb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]&556927,c[i>>2]|0)|0;l=h;return c[g>>2]|0}function Pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;i=m+24|0;e=m+20|0;f=m+16|0;j=m+12|0;g=m+8|0;h=m+4|0;k=m;c[i>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=c[(c[i>>2]|0)+44>>2];if(c[j>>2]|0){k=c[j>>2]|0;l=m;return k|0}if((c[f>>2]|0)>=(c[(c[i>>2]|0)+104>>2]|0)){k=c[j>>2]|0;l=m;return k|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[i>>2]|0)+104>>2]|0))break;pm(c[(c[(c[i>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[i>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((tm(c[i>>2]|0)|0)==0?(c[c[(c[i>>2]|0)+68>>2]>>2]|0)==0:0){k=c[j>>2]|0;l=m;return k|0}if(!(c[h>>2]|0))a=0;else a=(c[(c[i>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=a;c[j>>2]=ho(c[i>>2]|0,c[k>>2]|0)|0;k=c[j>>2]|0;l=m;return k|0}if(c[h>>2]|0){k=c[j>>2]|0;l=m;return k|0}if(!(c[c[(c[i>>2]|0)+72>>2]>>2]|0)){k=c[j>>2]|0;l=m;return k|0}if(km(c[(c[i>>2]|0)+72>>2]|0)|0)c[j>>2]=lm(c[(c[i>>2]|0)+72>>2]|0,0,0)|0;c[(c[i>>2]|0)+56>>2]=0;k=c[j>>2]|0;l=m;return k|0}function Qm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;s=t+8|0;p=t+56|0;q=t+52|0;g=t+48|0;h=t;i=t+44|0;j=t+40|0;k=t+36|0;r=t+32|0;m=t+28|0;n=t+24|0;f=t+20|0;o=t+16|0;c[p>>2]=b;c[q>>2]=e;c[g>>2]=c[c[p>>2]>>2];c[k>>2]=0;c[m>>2]=1;c[n>>2]=0;c[o>>2]=0;c[r>>2]=xl(c[(c[p>>2]|0)+68>>2]|0,h)|0;a:do if(!(c[r>>2]|0)){c[n>>2]=c[(c[p>>2]|0)+208>>2];c[r>>2]=Rm(c[(c[p>>2]|0)+68>>2]|0,c[n>>2]|0,(c[(c[c[p>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[r>>2]|0)==0?a[c[n>>2]>>0]|0:0)c[r>>2]=Sm(c[g>>2]|0,c[n>>2]|0,0,m)|0;c[n>>2]=0;if((c[r>>2]|0)==0&(c[m>>2]|0)!=0){g=(c[p>>2]|0)+80|0;c[g>>2]=0;c[g+4>>2]=0;c[f>>2]=c[q>>2];b:while(1){g=h;c[r>>2]=Tm(c[p>>2]|0,c[q>>2]|0,c[g>>2]|0,c[g+4>>2]|0,i,k)|0;if(c[r>>2]|0){b=8;break}if((c[i>>2]|0)==-1){e=h;e=Z$(c[e>>2]|0,c[e+4>>2]|0,c[(c[p>>2]|0)+156>>2]|0,0)|0;g=(c[(c[p>>2]|0)+160>>2]|0)+8|0;g=n0(e|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;c[i>>2]=g}if(!((c[i>>2]|0)!=0|(c[q>>2]|0)!=0)?(e=(c[p>>2]|0)+88|0,e=_$(c[e>>2]|0,c[e+4>>2]|0,c[(c[p>>2]|0)+156>>2]|0,0)|0,g=(c[p>>2]|0)+80|0,(e|0)==(c[g>>2]|0)?(D|0)==(c[g+4>>2]|0):0):0){g=h;e=(c[p>>2]|0)+80|0;e=Z$(c[g>>2]|0,c[g+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;g=(c[(c[p>>2]|0)+160>>2]|0)+8|0;g=n0(e|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;c[i>>2]=g}g=(c[p>>2]|0)+80|0;if((c[g+4>>2]|0)==0?(c[g>>2]|0)==(c[(c[p>>2]|0)+156>>2]|0):0){c[r>>2]=vm(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0)break a;c[(c[p>>2]|0)+28>>2]=c[k>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[i>>2]|0)>>>0)continue b;if(c[f>>2]|0){zl(c[p>>2]|0);c[f>>2]=0}c[r>>2]=Um(c[p>>2]|0,(c[p>>2]|0)+80|0,0,1,0)|0;if(c[r>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if((c[r>>2]|0)!=101){b=26;break}b=h;e=c[b+4>>2]|0;g=(c[p>>2]|0)+80|0;c[g>>2]=c[b>>2];c[g+4>>2]=e}if((b|0)==8){if((c[r>>2]|0)!=101)break;c[r>>2]=0;break}else if((b|0)==26){if((c[r>>2]|0)!=522)break;c[r>>2]=0;break}}}while(0);a[(c[p>>2]|0)+19>>0]=a[(c[p>>2]|0)+13>>0]|0;if(!(c[r>>2]|0)){c[n>>2]=c[(c[p>>2]|0)+208>>2];c[r>>2]=Rm(c[(c[p>>2]|0)+68>>2]|0,c[n>>2]|0,(c[(c[c[p>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[r>>2]|0)){if((d[(c[p>>2]|0)+17>>0]|0)<4?d[(c[p>>2]|0)+17>>0]|0:0)break;c[r>>2]=Vm(c[p>>2]|0,0)|0}while(0);if(!(c[r>>2]|0))c[r>>2]=im(c[p>>2]|0,(a[c[n>>2]>>0]|0)!=0&1,0)|0;if((c[r>>2]|0)==0?(c[m>>2]|0?(a[c[n>>2]>>0]|0)!=0:0):0)c[r>>2]=Wm(c[p>>2]|0,c[n>>2]|0)|0;if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[p>>2]|0;Xm(s);s=c[r>>2]|0;l=t;return s|0}q=c[(c[p>>2]|0)+180>>2]|0;c[s>>2]=c[o>>2];c[s+4>>2]=q;xd(539,24867,s);s=c[p>>2]|0;Xm(s);s=c[r>>2]|0;l=t;return s|0}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+36|0;j=q+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q;f=q+12|0;g=q+8|0;h=q+40|0;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;a[c[k>>2]>>0]=0;b=xl(c[j>>2]|0,p)|0;c[n>>2]=b;e=p;d=c[e+4>>2]|0;if((((((!(0!=(b|0)|((d|0)<0|(d|0)==0&(c[e>>2]|0)>>>0<16))?(d=c[j>>2]|0,e=p,e=Z$(c[e>>2]|0,c[e+4>>2]|0,16,0)|0,e=an(d,e,D,o)|0,c[n>>2]=e,0==(e|0)):0)?!((c[o>>2]|0)==0?1:(c[o>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(e=c[j>>2]|0,m=p,m=Z$(c[m>>2]|0,c[m+4>>2]|0,12,0)|0,m=an(e,m,D,f)|0,c[n>>2]=m,0==(m|0)):0)?(e=c[j>>2]|0,m=p,m=Z$(c[m>>2]|0,c[m+4>>2]|0,8,0)|0,m=$m(e,h,8,m,D)|0,c[n>>2]=m,0==(m|0)):0)?(H_(h,24914,8)|0)==0:0)?(e=c[j>>2]|0,j=c[k>>2]|0,m=c[o>>2]|0,p,p=Z$(c[p>>2]|0,c[p+4>>2]|0,16,0)|0,p=Z$(p|0,D|0,c[o>>2]|0,0)|0,p=$m(e,j,m,p,D)|0,c[n>>2]=p,0==(p|0)):0){c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;c[f>>2]=(c[f>>2]|0)-(a[(c[k>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)+1}if(c[f>>2]|0)c[o>>2]=0;a[(c[k>>2]|0)+(c[o>>2]|0)>>0]=0;c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}c[i>>2]=c[n>>2];p=c[i>>2]|0;l=q;return p|0}function Sm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=Kb[c[(c[j>>2]|0)+32>>2]&255](c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function Tm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;p=s+44|0;q=s+40|0;r=s+36|0;t=s+8|0;h=s+32|0;i=s+28|0;j=s+24|0;k=s+48|0;m=s;n=s+20|0;o=s+16|0;c[q>>2]=a;c[r>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=f;c[i>>2]=g;d=co(c[q>>2]|0)|0;f=(c[q>>2]|0)+80|0;c[f>>2]=d;c[f+4>>2]=D;f=(c[q>>2]|0)+80|0;f=_$(c[f>>2]|0,c[f+4>>2]|0,c[(c[q>>2]|0)+156>>2]|0,0)|0;d=D;g=t;e=c[g+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?f>>>0>(c[g>>2]|0)>>>0:0)){c[p>>2]=101;t=c[p>>2]|0;l=s;return t|0}f=(c[q>>2]|0)+80|0;g=c[f+4>>2]|0;t=m;c[t>>2]=c[f>>2];c[t+4>>2]=g;if(!(!(c[r>>2]|0)?(r=m,t=(c[q>>2]|0)+88|0,!((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=m;c[j>>2]=$m(c[(c[q>>2]|0)+68>>2]|0,k,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[j>>2]|0){c[p>>2]=c[j>>2];t=c[p>>2]|0;l=s;return t|0}if(H_(k,24914,8)|0){c[p>>2]=101;t=c[p>>2]|0;l=s;return t|0}}r=c[(c[q>>2]|0)+68>>2]|0;t=m;t=_$(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=an(r,t,D,c[h>>2]|0)|0;c[j>>2]=t;if((0==(t|0)?(r=c[(c[q>>2]|0)+68>>2]|0,t=m,t=_$(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=an(r,t,D,(c[q>>2]|0)+52|0)|0,c[j>>2]=t,0==(t|0)):0)?(r=c[(c[q>>2]|0)+68>>2]|0,t=m,t=_$(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=an(r,t,D,c[i>>2]|0)|0,c[j>>2]=t,0==(t|0)):0){t=(c[q>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){r=c[(c[q>>2]|0)+68>>2]|0;t=m;t=_$(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=an(r,t,D,o)|0;c[j>>2]=t;if(0==(t|0)?(r=c[(c[q>>2]|0)+68>>2]|0,t=m,t=_$(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=an(r,t,D,n)|0,c[j>>2]=t,0==(t|0)):0){if(!(c[n>>2]|0))c[n>>2]=c[(c[q>>2]|0)+160>>2];if((!((c[n>>2]|0)>>>0<512|(c[o>>2]|0)>>>0<32|(c[n>>2]|0)>>>0>65536|(c[o>>2]|0)>>>0>65536)?((c[n>>2]|0)-1&c[n>>2]|0)==0:0)?((c[o>>2]|0)-1&c[o>>2]|0)==0:0){c[j>>2]=vl(c[q>>2]|0,n,-1)|0;c[(c[q>>2]|0)+156>>2]=c[o>>2];break}c[p>>2]=101;t=c[p>>2]|0;l=s;return t|0}c[p>>2]=c[j>>2];t=c[p>>2]|0;l=s;return t|0}while(0);t=(c[q>>2]|0)+80|0;r=t;r=_$(c[r>>2]|0,c[r+4>>2]|0,c[(c[q>>2]|0)+156>>2]|0,0)|0;c[t>>2]=r;c[t+4>>2]=D;c[p>>2]=c[j>>2];t=c[p>>2]|0;l=s;return t|0}c[p>>2]=c[j>>2];t=c[p>>2]|0;l=s;return t|0}function Um(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+64|0;A=B+60|0;u=B+56|0;o=B+52|0;p=B+48|0;v=B+44|0;k=B+40|0;y=B+36|0;z=B+32|0;q=B+28|0;m=B+24|0;r=B+20|0;n=B+16|0;s=B+12|0;t=B;x=B+8|0;c[u>>2]=f;c[o>>2]=g;c[p>>2]=h;c[v>>2]=i;c[k>>2]=j;c[r>>2]=c[(c[u>>2]|0)+208>>2];f=c[u>>2]|0;if(c[v>>2]|0)f=c[f+68>>2]|0;else f=c[f+72>>2]|0;c[n>>2]=f;j=c[o>>2]|0;c[y>>2]=an(c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,q)|0;if(c[y>>2]|0){c[A>>2]=c[y>>2];A=c[A>>2]|0;l=B;return A|0}g=c[n>>2]|0;h=c[r>>2]|0;i=c[(c[u>>2]|0)+160>>2]|0;j=c[o>>2]|0;j=_$(c[j>>2]|0,c[j+4>>2]|0,4,0)|0;c[y>>2]=$m(g,h,i,j,D)|0;if(c[y>>2]|0){c[A>>2]=c[y>>2];A=c[A>>2]|0;l=B;return A|0}i=(c[(c[u>>2]|0)+160>>2]|0)+4+(c[v>>2]<<2)|0;j=c[o>>2]|0;h=j;i=_$(c[h>>2]|0,c[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c[j>>2]=i;c[j+4>>2]=D;if(c[q>>2]|0?(c[q>>2]|0)!=(((c[482]|0)/(c[(c[u>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[q>>2]|0)>>>0<=(c[(c[u>>2]|0)+28>>2]|0)>>>0?(bn(c[p>>2]|0,c[q>>2]|0)|0)==0:0){if(c[v>>2]|0){j=c[n>>2]|0;n=c[o>>2]|0;n=Z$(c[n>>2]|0,c[n+4>>2]|0,4,0)|0;c[y>>2]=an(j,n,D,m)|0;if(c[y>>2]|0){c[A>>2]=c[y>>2];A=c[A>>2]|0;l=B;return A|0}if((c[k>>2]|0)==0?(n=cn(c[u>>2]|0,c[r>>2]|0)|0,(n|0)!=(c[m>>2]|0)):0){c[A>>2]=101;A=c[A>>2]|0;l=B;return A|0}}if(c[p>>2]|0?(p=dn(c[p>>2]|0,c[q>>2]|0)|0,c[y>>2]=p,p|0):0){c[A>>2]=c[y>>2];A=c[A>>2]|0;l=B;return A|0}if((c[q>>2]|0)==1?(b[(c[u>>2]|0)+150>>1]|0)!=(d[(c[r>>2]|0)+20>>0]|0):0)b[(c[u>>2]|0)+150>>1]=d[(c[r>>2]|0)+20>>0]|0;if(tm(c[u>>2]|0)|0)c[z>>2]=0;else c[z>>2]=en(c[u>>2]|0,c[q>>2]|0)|0;if(c[v>>2]|0){if(d[(c[u>>2]|0)+7>>0]|0)f=1;else{p=c[o>>2]|0;n=c[p+4>>2]|0;f=(c[u>>2]|0)+88|0;o=c[f+4>>2]|0;f=(n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<=(c[f>>2]|0)>>>0:0)}c[s>>2]=f&1}else{if(!(c[z>>2]|0))f=1;else f=0==(e[(c[z>>2]|0)+24>>1]&8|0);c[s>>2]=f&1}do if(c[c[(c[u>>2]|0)+64>>2]>>2]|0){if((d[(c[u>>2]|0)+17>>0]|0)>=4){if(!(c[s>>2]|0)){w=44;break}}else if(!(c[s>>2]|0?(d[(c[u>>2]|0)+17>>0]|0)==0:0)){w=44;break}p=c[(c[u>>2]|0)+160>>2]|0;p=r0((c[q>>2]|0)-1|0,0,p|0,((p|0)<0)<<31>>31|0)|0;s=t;c[s>>2]=p;c[s+4>>2]=D;c[y>>2]=Dm(c[(c[u>>2]|0)+64>>2]|0,c[r>>2]|0,c[(c[u>>2]|0)+160>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;if((c[q>>2]|0)>>>0>(c[(c[u>>2]|0)+36>>2]|0)>>>0)c[(c[u>>2]|0)+36>>2]=c[q>>2];if(c[(c[u>>2]|0)+96>>2]|0){fn(c[(c[u>>2]|0)+96>>2]|0,c[q>>2]|0,c[r>>2]|0);c[r>>2]=c[r>>2]}}else w=44;while(0);do if((w|0)==44?(c[v>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[u>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[y>>2]=gn(c[u>>2]|0,c[q>>2]|0,z,1)|0;w=(c[u>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[y>>2]|0)){hn(c[z>>2]|0);break}c[A>>2]=c[y>>2];A=c[A>>2]|0;l=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];h0(c[x>>2]|0,c[r>>2]|0,c[(c[u>>2]|0)+160>>2]|0)|0;Eb[c[(c[u>>2]|0)+204>>2]&255](c[z>>2]|0);if((c[q>>2]|0)==1){h=(c[u>>2]|0)+112|0;f=(c[x>>2]|0)+24|0;g=h+16|0;do{a[h>>0]=a[f>>0]|0;h=h+1|0;f=f+1|0}while((h|0)<(g|0))}jn(c[z>>2]|0)}c[A>>2]=c[y>>2];A=c[A>>2]|0;l=B;return A|0}c[A>>2]=0;A=c[A>>2]|0;l=B;return A|0}c[A>>2]=101;A=c[A>>2]|0;l=B;return A|0}function Vm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[i>>2]=c[g>>2];i=wm(c[(c[f>>2]|0)+64>>2]|0,21,c[i>>2]|0)|0;c[h>>2]=i;c[h>>2]=(c[h>>2]|0)==12?0:i}if(c[h>>2]|0){i=c[h>>2]|0;l=j;return i|0}if(a[(c[f>>2]|0)+7>>0]|0){i=c[h>>2]|0;l=j;return i|0}c[h>>2]=mm(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;i=c[h>>2]|0;l=j;return i|0}function Wm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+64|0;t=s+60|0;k=s+56|0;m=s+52|0;n=s+48|0;o=s+44|0;p=s+40|0;q=s+36|0;r=s;e=s+32|0;f=s+28|0;g=s+24|0;h=s+16|0;i=s+12|0;j=s+8|0;c[t>>2]=b;c[k>>2]=d;c[m>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[m>>2]|0)+4>>2]<<1;c[o>>2]=Xg(d,((d|0)<0)<<31>>31)|0;c[p>>2]=(c[o>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0);if(c[o>>2]|0){c[s+20>>2]=16385;c[n>>2]=Om(c[m>>2]|0,c[k>>2]|0,c[o>>2]|0,16385,0)|0}else c[n>>2]=7;a:do if((c[n>>2]|0)==0?(c[n>>2]=xl(c[o>>2]|0,r)|0,(c[n>>2]|0)==0):0){c[g>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;d=r;t=c[g>>2]|0;t=_$(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=_$(t|0,D|0,1,0)|0;c[q>>2]=Fd(t,D)|0;if(!(c[q>>2]|0)){c[n>>2]=7;break}d=c[q>>2]|0;t=r;t=_$(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[f>>2]=d+t;c[n>>2]=$m(c[o>>2]|0,c[q>>2]|0,c[r>>2]|0,0,0)|0;if(!(c[n>>2]|0)){a[(c[q>>2]|0)+(c[r>>2]|0)>>0]=0;c[e>>2]=c[q>>2];while(1){d=(c[e>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=r;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[n>>2]=Sm(c[m>>2]|0,c[e>>2]|0,0,h)|0;if(c[n>>2]|0)break a;if(c[h>>2]|0){c[j>>2]=2049;c[n>>2]=Om(c[m>>2]|0,c[e>>2]|0,c[p>>2]|0,c[j>>2]|0,0)|0;if(c[n>>2]|0)break a;c[n>>2]=Rm(c[p>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;fm(c[p>>2]|0);if(c[n>>2]|0)break a;if(a[c[f>>2]>>0]|0)b=(G_(c[f>>2]|0,c[k>>2]|0)|0)==0;else b=0;c[i>>2]=b&1;if(c[i>>2]|0)break a}u=(md(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+u}fm(c[o>>2]|0);c[n>>2]=om(c[m>>2]|0,c[k>>2]|0,0)|0}}while(0);_d(c[q>>2]|0);if(!(c[o>>2]|0)){u=c[n>>2]|0;l=s;return u|0}fm(c[o>>2]|0);_d(c[o>>2]|0);u=c[n>>2]|0;l=s;return u|0}function Xm(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?((Ym(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=Zm(c[(c[b>>2]|0)+64>>2]|0)|0;b=c[b>>2]|0;b=b+156|0;c[b>>2]=a;l=e;return}a=512;b=c[b>>2]|0;b=b+156|0;c[b>>2]=a;l=e;return}function Ym(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Hb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;l=b;return a|0}function Zm(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=_m(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;l=d;return c[b>>2]|0}function _m(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;l=e;return d|0}d=Hb[c[d>>2]&255](c[b>>2]|0)|0;l=e;return d|0}function $m(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;j=g+16|0;i=g+12|0;h=g+8|0;k=g;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;f=k;f=Nb[c[(c[c[j>>2]>>2]|0)+8>>2]&255](c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;l=g;return f|0}function an(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;j=i+16|0;k=i;f=i+12|0;g=i+20|0;h=i+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=k;c[h>>2]=$m(c[j>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=i;return k|0}k=Vl(g)|0;c[c[f>>2]>>2]=k;k=c[h>>2]|0;l=i;return k|0}function bn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){e=0;e=e&1;l=f;return e|0}e=(Wn(c[d>>2]|0,c[e>>2]|0)|0)!=0;e=e&1;l=f;return e|0}function cn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[i>>2]|0)+52>>2];c[g>>2]=(c[(c[i>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}l=h;return c[f>>2]|0}function dn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;g=p+20|0;h=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[g>>2]=e;if(!(c[k>>2]|0)){c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}c[g>>2]=(c[g>>2]|0)+-1;while(1){if((c[c[k>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[k>>2]|0)+8>>2]|0))break;c[f>>2]=((c[g>>2]|0)>>>0)/((c[(c[k>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=((c[g>>2]|0)>>>0)%((c[(c[k>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[k>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(e=Zn(c[(c[k>>2]|0)+8>>2]|0)|0,c[(c[k>>2]|0)+12+(c[f>>2]<<2)>>2]=e,(c[(c[k>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){i=8;break}c[k>>2]=c[(c[k>>2]|0)+12+(c[f>>2]<<2)>>2]}if((i|0)==8){c[j>>2]=7;o=c[j>>2]|0;l=p;return o|0}b=c[g>>2]|0;if((c[c[k>>2]>>2]|0)>>>0<=4e3){o=(c[k>>2]|0)+12+(((c[g>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(b&7);c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}c[g>>2]=b+1;c[h>>2]=(b>>>0)%125|0;a:do if(!(c[(c[k>>2]|0)+12+(c[h>>2]<<2)>>2]|0)){if((c[(c[k>>2]|0)+4>>2]|0)>>>0>=124)i=17}else{while(1){if((c[(c[k>>2]|0)+12+(c[h>>2]<<2)>>2]|0)==(c[g>>2]|0))break;i=(c[h>>2]|0)+1|0;c[h>>2]=i;c[h>>2]=(c[h>>2]|0)>>>0>=125?0:i;if(!(c[(c[k>>2]|0)+12+(c[h>>2]<<2)>>2]|0)){i=17;break a}}c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}while(0);if((i|0)==17?(c[(c[k>>2]|0)+4>>2]|0)>>>0>=62:0){c[o>>2]=Cd(0,500,0)|0;if(!(c[o>>2]|0)){c[j>>2]=7;o=c[j>>2]|0;l=p;return o|0}h0(c[o>>2]|0,(c[k>>2]|0)+12|0,500)|0;m0((c[k>>2]|0)+12|0,0,500)|0;c[(c[k>>2]|0)+8>>2]=(((c[c[k>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=dn(c[k>>2]|0,c[g>>2]|0)|0;c[m>>2]=0;while(1){b=c[o>>2]|0;if((c[m>>2]|0)>>>0>=125)break;if(c[b+(c[m>>2]<<2)>>2]|0){i=dn(c[k>>2]|0,c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|i}c[m>>2]=(c[m>>2]|0)+1}Xd(0,b);c[j>>2]=c[n>>2];o=c[j>>2]|0;l=p;return o|0}o=(c[k>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[k>>2]|0)+12+(c[h>>2]<<2)>>2]=c[g>>2];c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}function en(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=pn(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}else{c[d>>2]=rn(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;g=c[d>>2]|0;l=h;return g|0}return 0}function fn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){l=h;return}En(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);l=h;return}function gn(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;u=t+28|0;s=t+24|0;j=t+20|0;k=t+16|0;m=t+12|0;n=t+8|0;g=t+4|0;h=t;c[p>>2]=a;c[q>>2]=b;c[r>>2]=e;c[u>>2]=f;c[s>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[u>>2]&1;c[n>>2]=0;if((c[q>>2]|0)>>>0<=1&(c[q>>2]|0)==0){c[o>>2]=kn(51704)|0;u=c[o>>2]|0;l=t;return u|0}do if(c[(c[p>>2]|0)+44>>2]|0){c[s>>2]=c[(c[p>>2]|0)+44>>2];i=24}else{if((c[n>>2]|0?tm(c[p>>2]|0)|0:0)?(c[s>>2]=ln(c[(c[p>>2]|0)+216>>2]|0,c[q>>2]|0,k)|0,c[s>>2]|0):0)break;if((c[n>>2]|0)!=0&(c[k>>2]|0)==0){c[g>>2]=0;f=c[(c[p>>2]|0)+64>>2]|0;u=c[(c[p>>2]|0)+160>>2]|0;u=r0((c[q>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=mn(f,u,D,c[(c[p>>2]|0)+160>>2]|0,g)|0;if((c[s>>2]|0)==0&(c[g>>2]|0)!=0){if(!((d[(c[p>>2]|0)+17>>0]|0|0)<=1?!(d[(c[p>>2]|0)+13>>0]|0|0):0))c[j>>2]=en(c[p>>2]|0,c[q>>2]|0)|0;a=c[p>>2]|0;if(!(c[j>>2]|0))c[s>>2]=nn(a,c[q>>2]|0,c[g>>2]|0,j)|0;else{f=c[a+64>>2]|0;u=c[(c[p>>2]|0)+160>>2]|0;u=r0((c[q>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;on(f,u,D,c[g>>2]|0)|0}if(c[j>>2]|0){c[c[r>>2]>>2]=c[j>>2];c[o>>2]=0;u=c[o>>2]|0;l=t;return u|0}}if(c[s>>2]|0)break}c[h>>2]=pn(c[(c[p>>2]|0)+212>>2]|0,c[q>>2]|0,3)|0;if(!(c[h>>2]|0)){c[s>>2]=qn(c[(c[p>>2]|0)+212>>2]|0,c[q>>2]|0,h)|0;if(c[s>>2]|0)break;if(!(c[h>>2]|0)){c[c[r>>2]>>2]=0;c[j>>2]=0;c[s>>2]=7;break}}i=rn(c[(c[p>>2]|0)+212>>2]|0,c[q>>2]|0,c[h>>2]|0)|0;c[c[r>>2]>>2]=i;c[j>>2]=i;i=24}while(0);do if((i|0)==24){if(c[s>>2]|0){c[j>>2]=0;break}a=c[p>>2]|0;if(!(c[m>>2]|0?1:(c[(c[j>>2]|0)+16>>2]|0)==0)){u=a+192|0;c[u>>2]=(c[u>>2]|0)+1;c[o>>2]=0;u=c[o>>2]|0;l=t;return u|0}c[(c[j>>2]|0)+16>>2]=a;if((c[q>>2]|0)>>>0<=2147483647?(c[q>>2]|0)!=(((c[482]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0):0){if(c[c[(c[p>>2]|0)+64>>2]>>2]|0?!(c[m>>2]|0?1:(c[(c[p>>2]|0)+28>>2]|0)>>>0<(c[q>>2]|0)>>>0):0){u=(tm(c[p>>2]|0)|0)!=0;if(u&(c[n>>2]|0)==0?(c[s>>2]=ln(c[(c[p>>2]|0)+216>>2]|0,c[q>>2]|0,k)|0,c[s>>2]|0):0)break;u=(c[p>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=tn(c[j>>2]|0,c[k>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[q>>2]|0)>>>0>(c[(c[p>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[m>>2]|0){Ug();if((c[q>>2]|0)>>>0<=(c[(c[p>>2]|0)+32>>2]|0)>>>0)dn(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0;sn(c[p>>2]|0,c[q>>2]|0)|0;Wg()}m0(c[(c[j>>2]|0)+4>>2]|0,0,c[(c[p>>2]|0)+160>>2]|0)|0}c[o>>2]=0;u=c[o>>2]|0;l=t;return u|0}c[s>>2]=kn(51793)|0}while(0);if(c[j>>2]|0)un(c[j>>2]|0);vn(c[p>>2]|0);c[c[r>>2]>>2]=0;c[o>>2]=c[s>>2];u=c[o>>2]|0;l=t;return u|0}function hn(a){a=a|0;var d=0,f=0;f=l;l=l+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&17)){l=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-17;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){l=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;Il(c[d>>2]|0,2);l=f;return}function jn(a){a=a|0;var d=0,f=0,g=0;f=l;l=l+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16|0){l=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1|0){Jl(a);l=f;return}if(!(c[a+36>>2]|0)){l=f;return}Il(c[d>>2]|0,3);l=f;return}function kn(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=vd(11,c[d>>2]|0,24894)|0;l=b;return a|0}function ln(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;t=w+56|0;o=w+52|0;p=w+48|0;u=w+44|0;v=w+40|0;q=w+36|0;r=w+32|0;g=w+28|0;h=w+24|0;i=w+20|0;j=w+16|0;k=w+12|0;m=w+8|0;s=w+4|0;n=w;c[o>>2]=a;c[p>>2]=d;c[u>>2]=f;c[v>>2]=0;c[q>>2]=c[(c[o>>2]|0)+52+16>>2];if(c[q>>2]|0?b[(c[o>>2]|0)+40>>1]|0:0){c[g>>2]=yn(c[(c[o>>2]|0)+100>>2]|0)|0;c[r>>2]=yn(c[q>>2]|0)|0;a:while(1){if(!((c[r>>2]|0)>=(c[g>>2]|0)?(c[v>>2]|0)==0:0)){a=18;break}c[s>>2]=zn(c[o>>2]|0,c[r>>2]|0,h,i,j)|0;if(c[s>>2]|0){a=7;break}c[m>>2]=8192;c[k>>2]=An(c[p>>2]|0)|0;while(1){if(!(b[(c[h>>2]|0)+(c[k>>2]<<1)>>1]|0))break;c[n>>2]=(e[(c[h>>2]|0)+(c[k>>2]<<1)>>1]|0)+(c[j>>2]|0);if(((c[n>>2]|0)>>>0<=(c[q>>2]|0)>>>0?(c[n>>2]|0)>>>0>=(c[(c[o>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[i>>2]|0)+(e[(c[h>>2]|0)+(c[k>>2]<<1)>>1]<<2)>>2]|0)==(c[p>>2]|0):0)c[v>>2]=c[n>>2];f=c[m>>2]|0;c[m>>2]=f+-1;if(!f){a=15;break a}c[k>>2]=Bn(c[k>>2]|0)|0}c[r>>2]=(c[r>>2]|0)+-1}if((a|0)==7){c[t>>2]=c[s>>2];v=c[t>>2]|0;l=w;return v|0}else if((a|0)==15){c[t>>2]=kn(56344)|0;v=c[t>>2]|0;l=w;return v|0}else if((a|0)==18){c[c[u>>2]>>2]=c[v>>2];c[t>>2]=0;v=c[t>>2]|0;l=w;return v|0}}c[c[u>>2]>>2]=0;c[t>>2]=0;v=c[t>>2]|0;l=w;return v|0}function mn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;l=g;return 0}function nn(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[i>>2]=a;c[j>>2]=d;c[k>>2]=f;c[m>>2]=g;a=c[i>>2]|0;do if(c[(c[i>>2]|0)+144>>2]|0){g=c[a+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[i>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;m0(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[i>>2]|0)+148>>1]|0|0)|0}else{g=Xg(40+(e[a+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=32;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[i>>2];break}m=c[(c[i>>2]|0)+64>>2]|0;n=c[(c[i>>2]|0)+160>>2]|0;n=r0((c[j>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;on(m,n,D,c[k>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;l=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[j>>2];c[(c[n>>2]|0)+4>>2]=c[k>>2];n=(c[i>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}function on(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;l=f;return 0}function pn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;j=g+16|0;i=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[i>>2]=b;c[k>>2]=e;c[h>>2]=c[k>>2]&(d[(c[j>>2]|0)+33>>0]|0);c[f>>2]=Bb[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return c[f>>2]|0}function qn(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[i>>2]=a;c[j>>2]=f;c[k>>2]=g;if((d[(c[i>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}g=dl(c[i>>2]|0)|0;if((g|0)>(c[(c[i>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[i>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[i>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[i>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if(c[m>>2]|0?(c[n>>2]=Mb[c[(c[i>>2]|0)+36>>2]&255](c[(c[i>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;l=o;return n|0}}n=Bb[c[144>>2]&255](c[(c[i>>2]|0)+44>>2]|0,c[j>>2]|0,2)|0;c[c[k>>2]>>2]=n;c[h>>2]=(c[c[k>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;l=o;return n|0}function rn(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;k=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[(c[h>>2]|0)+4>>2];a=c[k>>2]|0;if(c[c[i>>2]>>2]|0){k=a+12|0;c[k>>2]=(c[k>>2]|0)+1;k=(c[i>>2]|0)+26|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;c[f>>2]=c[i>>2];k=c[f>>2]|0;l=j;return k|0}else{c[f>>2]=xn(a,c[g>>2]|0,c[h>>2]|0)|0;k=c[f>>2]|0;l=j;return k|0}return 0}function sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[h>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[h>>2]|0)+20>>2]|0)>>>0){b=dn(c[(c[h>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[g>>2]=c[g>>2]|b}c[f>>2]=(c[f>>2]|0)+1}l=i;return c[g>>2]|0}function tn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;i=n+12|0;j=n;k=n+8|0;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+16>>2];c[h>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[i>>2]=c[(c[g>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=wn(c[(c[g>>2]|0)+216>>2]|0,c[f>>2]|0,c[i>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[g>>2]|0)+160>>2]|0;d=r0((c[h>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=d;c[f+4>>2]=D;j=$m(c[(c[g>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[i>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[m>>2]=j;c[m>>2]=(c[m>>2]|0)==522?0:j}if((c[h>>2]|0)!=1){m=c[m>>2]|0;l=n;return m|0}if(c[m>>2]|0){k=(c[g>>2]|0)+112|0;c[k>>2]=-1;c[k+4>>2]=-1;c[k+8>>2]=-1;c[k+12>>2]=-1;m=c[m>>2]|0;l=n;return m|0}else{c[k>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;e=(c[g>>2]|0)+112|0;b=c[k>>2]|0;d=e+16|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));m=c[m>>2]|0;l=n;return m|0}return 0}function un(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2|0)Il(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;Ib[c[148>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);l=d;return}function vn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){l=d;return}if(wl(c[(c[b>>2]|0)+212>>2]|0)|0){l=d;return}em(c[b>>2]|0);l=d;return}function wn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+32|0;k=g+24|0;n=g+20|0;h=g+16|0;j=g+12|0;i=g+8|0;m=g;c[k>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=f;c[i>>2]=e[(c[k>>2]|0)+52+14>>1];c[i>>2]=(c[i>>2]&65024)+((c[i>>2]&1)<<16);d=(c[i>>2]|0)+24|0;d=r0((c[n>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;d=_$(32,0,d|0,D|0)|0;d=_$(d|0,D|0,24,0)|0;f=m;c[f>>2]=d;c[f+4>>2]=D;f=m;f=$m(c[(c[k>>2]|0)+8>>2]|0,c[j>>2]|0,(c[h>>2]|0)>(c[i>>2]|0)?c[i>>2]|0:c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;l=g;return f|0}function xn(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;j=f;c[i>>2]=a;c[h>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[g>>2]|0)+4>>2];e=(c[j>>2]|0)+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];c[(c[j>>2]|0)+8>>2]=(c[j>>2]|0)+40;m0(c[(c[j>>2]|0)+8>>2]|0,0,c[(c[i>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+28>>2]=c[i>>2];c[(c[j>>2]|0)+20>>2]=c[h>>2];b[(c[j>>2]|0)+24>>1]=1;e=rn(c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function yn(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;l=d;return c[b>>2]|0}function zn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;q=p+32|0;k=p+28|0;m=p+24|0;n=p+20|0;o=p+16|0;g=p+12|0;h=p+8|0;i=p+4|0;j=p;c[q>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[g>>2]=Cn(c[q>>2]|0,c[k>>2]|0,h)|0;if(c[g>>2]|0){q=c[g>>2]|0;l=p;return q|0}c[j>>2]=(c[h>>2]|0)+16384;if(!(c[k>>2]|0)){c[h>>2]=(c[h>>2]|0)+136;c[i>>2]=0}else c[i>>2]=4062+((c[k>>2]|0)-1<<12);c[c[n>>2]>>2]=(c[h>>2]|0)+-4;c[c[m>>2]>>2]=c[j>>2];c[c[o>>2]>>2]=c[i>>2];q=c[g>>2]|0;l=p;return q|0}function An(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[b>>2]|0)*383&8191|0}function Bn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[b>>2]|0)+1&8191|0}function Cn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;c[k>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[i>>2]|0)){c[m>>2]=(c[i>>2]|0)+1<<2;m=c[m>>2]|0;c[n>>2]=ee(c[(c[h>>2]|0)+32>>2]|0,m,((m|0)<0)<<31>>31)|0;if(c[n>>2]|0){m0((c[n>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[i>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[n>>2];c[(c[h>>2]|0)+24>>2]=(c[i>>2]|0)+1;break}c[c[j>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;l=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){n=Xg(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2]=n;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2]|0)break;c[k>>2]=7;break}else{c[k>>2]=Dn(c[(c[h>>2]|0)+4>>2]|0,c[i>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)|0)|0;if((c[k>>2]|0)!=8)break;n=(c[h>>2]|0)+46|0;a[n>>0]=d[n>>0]|0|2;c[k>>2]=0;break}while(0);c[c[j>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2];c[g>>2]=c[k>>2];n=c[g>>2]|0;l=o;return n|0}function Dn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=Nb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return f|0}function En(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((Fn(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(td(c[(c[c[e>>2]>>2]|0)+12>>2]|0),c[h>>2]=Gn(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,ud(c[(c[c[e>>2]>>2]|0)+12>>2]|0),c[h>>2]|0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];d=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=d}while((d|0)!=0);l=i;return}function Fn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){b=0;b=b&1;l=d;return b|0}b=(c[b>>2]|0)!=6;b=b&1;l=d;return b|0}function Gn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+80|0;q=w+68|0;x=w+64|0;r=w+60|0;s=w+56|0;t=w+52|0;u=w+48|0;g=w+44|0;h=w+40|0;i=w+8|0;v=w+36|0;j=w;k=w+32|0;m=w+28|0;n=w+24|0;o=w+20|0;p=w+16|0;c[q>>2]=b;c[x>>2]=d;c[r>>2]=e;c[s>>2]=f;c[t>>2]=qk(c[(c[q>>2]|0)+4>>2]|0)|0;c[u>>2]=Hn(c[(c[q>>2]|0)+24>>2]|0)|0;c[g>>2]=Hn(c[(c[q>>2]|0)+4>>2]|0)|0;c[h>>2]=(c[u>>2]|0)<(c[g>>2]|0)?c[u>>2]|0:c[g>>2]|0;e=c[u>>2]|0;e=r0(c[x>>2]|0,0,e|0,((e|0)<0)<<31>>31|0)|0;f=i;c[f>>2]=e;c[f+4>>2]=D;c[v>>2]=0;if((c[u>>2]|0)!=(c[g>>2]|0)?In(c[t>>2]|0)|0:0)c[v>>2]=8;x=i;f=c[u>>2]|0;f=Z$(c[x>>2]|0,c[x+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;x=j;c[x>>2]=f;c[x+4>>2]=D;while(1){if(c[v>>2]|0){b=14;break}f=j;d=c[f+4>>2]|0;x=i;e=c[x+4>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){b=14;break}c[k>>2]=0;f=j;x=c[g>>2]|0;x=n0(c[f>>2]|0,c[f+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[m>>2]=x+1;if((c[m>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[(c[(c[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=gn(c[t>>2]|0,c[m>>2]|0,k,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Jn(c[k>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(e=c[r>>2]|0,x=j,f=c[u>>2]|0,f=c0(c[x>>2]|0,c[x+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,c[n>>2]=e+f,c[o>>2]=Kn(c[k>>2]|0)|0,f=c[o>>2]|0,e=j,x=c[g>>2]|0,x=c0(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[p>>2]=f+x,h0(c[p>>2]|0,c[n>>2]|0,c[h>>2]|0)|0,a[(Ln(c[k>>2]|0)|0)>>0]=0,x=j,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[s>>2]|0)==0):0){x=(c[p>>2]|0)+28|0;Nn(x,Mn(c[(c[q>>2]|0)+24>>2]|0)|0)}On(c[k>>2]|0)}f=c[g>>2]|0;x=j;f=_$(c[x>>2]|0,c[x+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;x=j;c[x>>2]=f;c[x+4>>2]=D}if((b|0)==14){l=w;return c[v>>2]|0}return 0}function Hn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function In(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+13>>0]|0|0}function Jn(a){a=a|0;var b=0,d=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;l=g;return f|0}if((e[(c[b>>2]|0)+24>>1]|0)&4|0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=Sn(c[b>>2]|0)|0;f=c[d>>2]|0;l=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}a=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=Tn(a)|0;f=c[d>>2]|0;l=g;return f|0}else{c[d>>2]=Un(a)|0;f=c[d>>2]|0;l=g;return f|0}return 0}function Kn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+4>>2]|0}function Ln(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+8>>2]|0}function Mn(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Rn(c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return a|0}function Nn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];l=e;return}function On(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Pn(c[b>>2]|0);l=d;return}function Pn(a){a=a|0;var b=0,d=0,f=0;d=l;l=l+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&32|0){Qn(a);f=c[b>>2]|0;vn(f);l=d;return}else{jn(a);f=c[b>>2]|0;vn(f);l=d;return}}function Qn(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=r0((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;on(e,a,D,c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return}function Rn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+44>>2]|0}function Sn(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if(eo(c[d>>2]|0)|0){c[b>>2]=fo(c[d>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}return 0}function Tn(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;g=u+44|0;k=u+40|0;m=u+36|0;n=u+32|0;o=u+28|0;p=u+24|0;q=u+20|0;r=u+16|0;s=u+12|0;h=u+8|0;i=u+4|0;j=u;c[g>>2]=f;c[k>>2]=0;c[o>>2]=0;c[q>>2]=0;c[r>>2]=c[(c[g>>2]|0)+16>>2];c[s>>2]=((c[(c[r>>2]|0)+156>>2]|0)>>>0)/((c[(c[r>>2]|0)+160>>2]|0)>>>0)|0;f=(c[r>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[n>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[s>>2]|0)-1))+1;c[m>>2]=c[(c[r>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[m>>2]|0)>>>0)if(((c[n>>2]|0)+(c[s>>2]|0)-1|0)>>>0>(c[m>>2]|0)>>>0){c[o>>2]=(c[m>>2]|0)+1-(c[n>>2]|0);break}else{c[o>>2]=c[s>>2];break}else c[o>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[n>>2]|0)+1;while(0);c[p>>2]=0;while(1){if(!((c[p>>2]|0)<(c[o>>2]|0)?(c[k>>2]|0)==0:0))break;c[h>>2]=(c[n>>2]|0)+(c[p>>2]|0);if((c[h>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?bn(c[(c[r>>2]|0)+60>>2]|0,c[h>>2]|0)|0:0){s=en(c[r>>2]|0,c[h>>2]|0)|0;c[i>>2]=s;if(s|0){if((e[(c[i>>2]|0)+24>>1]|0)&8|0)c[q>>2]=1;Pn(c[i>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[h>>2]|0)!=(((c[482]|0)/(c[(c[r>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[k>>2]=gn(c[r>>2]|0,c[h>>2]|0,i,0)|0,(c[k>>2]|0)==0):0){c[k>>2]=Un(c[i>>2]|0)|0;if((e[(c[i>>2]|0)+24>>1]|0)&8|0)c[q>>2]=1;Pn(c[i>>2]|0)}c[p>>2]=(c[p>>2]|0)+1}if(!((c[k>>2]|0)==0&(c[q>>2]|0)!=0)){t=c[r>>2]|0;t=t+21|0;s=a[t>>0]|0;s=s&255;s=s&-5;s=s&255;a[t>>0]=s;t=c[k>>2]|0;l=u;return t|0}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;c[j>>2]=en(c[r>>2]|0,(c[n>>2]|0)+(c[p>>2]|0)|0)|0;if(c[j>>2]|0){t=(c[j>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;Pn(c[j>>2]|0)}c[p>>2]=(c[p>>2]|0)+1}t=c[r>>2]|0;t=t+21|0;s=a[t>>0]|0;s=s&255;s=s&-5;s=s&255;a[t>>0]=s;t=c[k>>2]|0;l=u;return t|0}function Un(a){a=a|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[i>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[i>>2]=Vn(c[h>>2]|0)|0,c[i>>2]|0):0){c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}hn(c[g>>2]|0);do if(c[(c[h>>2]|0)+60>>2]|0?(Wn(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[i>>2]=Xn(c[g>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[i>>2]=Sn(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}function Vn(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;i=k+16|0;j=k+12|0;e=k+8|0;f=k+4|0;g=k;c[i>>2]=b;c[j>>2]=0;c[e>>2]=c[c[i>>2]>>2];b=c[i>>2]|0;if(c[(c[i>>2]|0)+44>>2]|0){c[h>>2]=c[b+44>>2];j=c[h>>2]|0;l=k;return j|0}if((tm(b)|0)==0?(d[(c[i>>2]|0)+5>>0]|0)!=2:0){b=Zn(c[(c[i>>2]|0)+28>>2]|0)|0;c[(c[i>>2]|0)+60>>2]=b;if(!(c[(c[i>>2]|0)+60>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}do if(!(c[c[(c[i>>2]|0)+68>>2]>>2]|0)){if((d[(c[i>>2]|0)+5>>0]|0)==4){_n(c[(c[i>>2]|0)+68>>2]|0);break}c[f>>2]=6;b=c[f>>2]|0;if(a[(c[i>>2]|0)+13>>0]|0){c[f>>2]=b|4104;c[g>>2]=c[11]}else{c[f>>2]=b|2048;c[g>>2]=0}c[j>>2]=$n(c[i>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=ao(c[e>>2]|0,c[(c[i>>2]|0)+180>>2]|0,c[(c[i>>2]|0)+68>>2]|0,c[f>>2]|0,c[g>>2]|0)|0}while(0);if(!(c[j>>2]|0)){c[(c[i>>2]|0)+48>>2]=0;g=(c[i>>2]|0)+80|0;c[g>>2]=0;c[g+4>>2]=0;a[(c[i>>2]|0)+20>>0]=0;g=(c[i>>2]|0)+88|0;c[g>>2]=0;c[g+4>>2]=0;c[j>>2]=bo(c[i>>2]|0)|0}}b=c[i>>2]|0;if(c[j>>2]|0){pm(c[b+60>>2]|0);c[(c[i>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[h>>2]=c[j>>2];j=c[h>>2]|0;l=k;return j|0}function Wn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=a;c[g>>2]=b;c[g>>2]=(c[g>>2]|0)+-1;if((c[g>>2]|0)>>>0>=(c[c[f>>2]>>2]|0)>>>0){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}while(1){if(!(c[(c[f>>2]|0)+8>>2]|0))break;c[h>>2]=((c[g>>2]|0)>>>0)/((c[(c[f>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=((c[g>>2]|0)>>>0)%((c[(c[f>>2]|0)+8>>2]|0)>>>0)|0;c[f>>2]=c[(c[f>>2]|0)+12+(c[h>>2]<<2)>>2];if(!(c[f>>2]|0)){j=5;break}}if((j|0)==5){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}if((c[c[f>>2]>>2]|0)>>>0<=4e3){c[e>>2]=((d[(c[f>>2]|0)+12+(((c[g>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[g>>2]&7)|0)!=0&1;j=c[e>>2]|0;l=k;return j|0}j=c[g>>2]|0;c[g>>2]=j+1;c[i>>2]=(j>>>0)%125|0;while(1){if(!(c[(c[f>>2]|0)+12+(c[i>>2]<<2)>>2]|0)){j=13;break}if((c[(c[f>>2]|0)+12+(c[i>>2]<<2)>>2]|0)==(c[g>>2]|0)){j=11;break}c[i>>2]=(((c[i>>2]|0)+1|0)>>>0)%125|0}if((j|0)==11){c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}else if((j|0)==13){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}return 0}function Xn(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;d=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;k=m;c[f>>2]=a;c[g>>2]=c[(c[f>>2]|0)+16>>2];o=(c[g>>2]|0)+80|0;n=c[o+4>>2]|0;a=k;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[i>>2]=cn(c[g>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=k;c[h>>2]=Yn(c[(c[g>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[h>>2]|0){c[d>>2]=c[h>>2];o=c[d>>2]|0;l=m;return o|0}a=c[(c[g>>2]|0)+68>>2]|0;j=c[j>>2]|0;n=c[(c[g>>2]|0)+160>>2]|0;o=k;o=_$(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[h>>2]=Dm(a,j,n,o,D)|0;if(c[h>>2]|0){c[d>>2]=c[h>>2];o=c[d>>2]|0;l=m;return o|0}n=c[(c[g>>2]|0)+68>>2]|0;o=c[(c[g>>2]|0)+160>>2]|0;o=_$(c[k>>2]|0,c[k+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=_$(o|0,D|0,4,0)|0;c[h>>2]=Yn(n,o,D,c[i>>2]|0)|0;if(c[h>>2]|0){c[d>>2]=c[h>>2];o=c[d>>2]|0;l=m;return o|0}else{n=8+(c[(c[g>>2]|0)+160>>2]|0)|0;o=(c[g>>2]|0)+80|0;k=o;n=_$(c[k>>2]|0,c[k+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;c[o>>2]=n;c[o+4>>2]=D;o=(c[g>>2]|0)+48|0;c[o>>2]=(c[o>>2]|0)+1;c[h>>2]=dn(c[(c[g>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;o=sn(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[h>>2]=c[h>>2]|o;c[d>>2]=c[h>>2];o=c[d>>2]|0;l=m;return o|0}return 0}function Yn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;h=f+12|0;i=f;j=f+8|0;g=f+16|0;c[h>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;Nn(g,c[j>>2]|0);e=i;e=Dm(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;l=f;return e|0}function Zn(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Xg(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;l=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;l=e;return d|0}function _n(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;ao(0,0,c[d>>2]|0,0,-1)|0;l=b;return}function $n(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}c[g>>2]=wm(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}function ao(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[g>>2]=f;c[h>>2]=c[m>>2];a=c[h>>2]|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(c[g>>2]|0)){c[i>>2]=Om(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,0)|0;n=c[i>>2]|0;l=o;return n|0}else{m=(c[g>>2]|0)>0;c[(m?c[h>>2]|0:c[h>>2]|0)+4>>2]=m?c[g>>2]|0:1020;c[c[h>>2]>>2]=4104;c[(c[h>>2]|0)+8>>2]=c[g>>2];c[(c[h>>2]|0)+56>>2]=c[n>>2];c[(c[h>>2]|0)+64>>2]=c[k>>2];c[(c[h>>2]|0)+60>>2]=c[j>>2];c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}return 0}function bo(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;f=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;e=k;c[f>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[f>>2]|0)+208>>2];c[h>>2]=c[(c[f>>2]|0)+160>>2];if((c[h>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[h>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){b=c[f>>2]|0;if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[b+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}e=co(b)|0;m=D;n=(c[f>>2]|0)+80|0;c[n>>2]=e;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=e;c[n+4>>2]=m;if((!(d[(c[f>>2]|0)+7>>0]|0|0)?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?!((Ym(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0):0){b=c[g>>2]|0;e=b+12|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0))}else{n=c[g>>2]|0;a[n>>0]=a[24914]|0;a[n+1>>0]=a[24915]|0;a[n+2>>0]=a[24916]|0;a[n+3>>0]=a[24917]|0;a[n+4>>0]=a[24918]|0;a[n+5>>0]=a[24919]|0;a[n+6>>0]=a[24920]|0;a[n+7>>0]=a[24921]|0;Nn((c[g>>2]|0)+8|0,-1)}sf(4,(c[f>>2]|0)+52|0);Nn((c[g>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);Nn((c[g>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);Nn((c[g>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);Nn((c[g>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);m0((c[g>>2]|0)+28|0,0,(c[h>>2]|0)-28|0)|0;c[i>>2]=0;while(1){if(c[j>>2]|0){b=17;break}if((c[i>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){b=17;break}n=(c[f>>2]|0)+80|0;c[j>>2]=Dm(c[(c[f>>2]|0)+68>>2]|0,c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=_$(c[m>>2]|0,c[m+4>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=D;c[i>>2]=(c[i>>2]|0)+(c[h>>2]|0)}if((b|0)==17){l=k;return c[j>>2]|0}return 0}function co(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=l;l=l+32|0;b=f+16|0;d=f+8|0;e=f;c[b>>2]=a;h=d;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=e;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=e;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=d;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=f;return h|0}h=e;h=Z$(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=n0(h|0,D|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=_$(h|0,D|0,1,0)|0;h=r0(h|0,D|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=d;c[g>>2]=h;c[g+4>>2]=D;g=d;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=f;return h|0}function eo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h+20|0;i=h+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[i>>2]=a;c[b>>2]=c[(c[i>>2]|0)+16>>2];c[e>>2]=c[(c[i>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+104>>2]|0)){a=7;break}c[d>>2]=(c[(c[b>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[e>>2]|0)>>>0?0==(Wn(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0):0){a=5;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==5){c[g>>2]=1;i=c[g>>2]|0;l=h;return i|0}else if((a|0)==7){c[g>>2]=0;i=c[g>>2]|0;l=h;return i|0}return 0}function fo(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;b=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;c[b>>2]=a;c[e>>2]=0;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[f>>2]|0)+5>>0]|0|0)!=2?(c[e>>2]=go(c[f>>2]|0)|0,(c[e>>2]|0)==0):0)?(c[g>>2]=c[(c[b>>2]|0)+4>>2],k=4+(c[(c[f>>2]|0)+160>>2]|0)|0,k=r0(c[(c[f>>2]|0)+56>>2]|0,0,k|0,((k|0)<0)<<31>>31|0)|0,a=h,c[a>>2]=k,c[a+4>>2]=D,c[i>>2]=c[g>>2],g=h,c[e>>2]=Yn(c[(c[f>>2]|0)+72>>2]|0,c[g>>2]|0,c[g+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[e>>2]|0)==0):0){a=c[(c[f>>2]|0)+72>>2]|0;g=c[i>>2]|0;i=c[(c[f>>2]|0)+160>>2]|0;k=h;k=_$(c[k>>2]|0,c[k+4>>2]|0,4,0)|0;c[e>>2]=Dm(a,g,i,k,D)|0}if(c[e>>2]|0){k=c[e>>2]|0;l=j;return k|0}k=(c[f>>2]|0)+56|0;c[k>>2]=(c[k>>2]|0)+1;c[e>>2]=sn(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;k=c[e>>2]|0;l=j;return k|0}function go(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;e=g+8|0;f=g;c[b>>2]=a;c[e>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){f=c[e>>2]|0;l=g;return f|0}c[g+4>>2]=8222;c[f>>2]=c[11];if(!((d[(c[b>>2]|0)+5>>0]|0|0)!=4?!(d[(c[b>>2]|0)+22>>0]|0|0):0))c[f>>2]=-1;c[e>>2]=ao(c[c[b>>2]>>2]|0,0,c[(c[b>>2]|0)+72>>2]|0,8222,c[f>>2]|0)|0;f=c[e>>2]|0;l=g;return f|0}function ho(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+64|0;i=s+56|0;j=s+52|0;k=s+48|0;m=s+16|0;n=s+8|0;o=s+44|0;p=s+40|0;q=s+36|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s;c[j>>2]=b;c[k>>2]=d;c[o>>2]=0;c[p>>2]=0;if(c[k>>2]|0?(c[p>>2]=Zn(c[(c[k>>2]|0)+20>>2]|0)|0,(c[p>>2]|0)==0):0){c[i>>2]=7;r=c[i>>2]|0;l=s;return r|0}if(c[k>>2]|0)b=c[(c[k>>2]|0)+20>>2]|0;else b=c[(c[j>>2]|0)+32>>2]|0;c[(c[j>>2]|0)+28>>2]=b;a[(c[j>>2]|0)+19>>0]=a[(c[j>>2]|0)+13>>0]|0;if((c[k>>2]|0)==0?tm(c[j>>2]|0)|0:0){c[i>>2]=io(c[j>>2]|0)|0;r=c[i>>2]|0;l=s;return r|0}t=(c[j>>2]|0)+80|0;b=c[t+4>>2]|0;d=m;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if(c[k>>2]|0?!(tm(c[j>>2]|0)|0):0){t=(c[k>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[k>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=m;b=c[d>>2]|0;d=c[d+4>>2]|0}t=n;c[t>>2]=b;c[t+4>>2]=d;b=c[k>>2]|0;d=c[b+4>>2]|0;t=(c[j>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[o>>2]|0)break a;d=(c[j>>2]|0)+80|0;u=c[d+4>>2]|0;t=n;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[o>>2]=Um(c[j>>2]|0,(c[j>>2]|0)+80|0,c[p>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[j>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[o>>2]|0)break;t=(c[j>>2]|0)+80|0;n=c[t+4>>2]|0;u=m;r=c[u+4>>2]|0;if(!((n|0)<(r|0)|((n|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[e>>2]=0;u=m;c[o>>2]=Tm(c[j>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,e,f)|0;if((c[e>>2]|0)==0?(t=(c[j>>2]|0)+88|0,t=_$(c[t>>2]|0,c[t+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0,u=(c[j>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(D|0)==(c[u+4>>2]|0):0):0){u=m;t=(c[j>>2]|0)+80|0;t=Z$(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[j>>2]|0)+160>>2]|0)+8|0;u=n0(t|0,D|0,u|0,((u|0)<0)<<31>>31|0)|0;c[e>>2]=u}c[q>>2]=0;while(1){if(c[o>>2]|0)continue b;if((c[q>>2]|0)>>>0>=(c[e>>2]|0)>>>0)continue b;t=(c[j>>2]|0)+80|0;n=c[t+4>>2]|0;u=m;r=c[u+4>>2]|0;if(!((n|0)<(r|0)|((n|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[o>>2]=Um(c[j>>2]|0,(c[j>>2]|0)+80|0,c[p>>2]|0,1,1)|0;c[q>>2]=(c[q>>2]|0)+1}}c:do if(c[k>>2]|0){t=4+(c[(c[j>>2]|0)+160>>2]|0)|0;t=r0(c[(c[k>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=h;c[u>>2]=t;c[u+4>>2]=D;if(tm(c[j>>2]|0)|0)c[o>>2]=jo(c[(c[j>>2]|0)+216>>2]|0,(c[k>>2]|0)+28|0)|0;c[g>>2]=c[(c[k>>2]|0)+24>>2];while(1){if(c[o>>2]|0)break c;if((c[g>>2]|0)>>>0>=(c[(c[j>>2]|0)+56>>2]|0)>>>0)break c;c[o>>2]=Um(c[j>>2]|0,h,c[p>>2]|0,0,1)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);pm(c[p>>2]|0);if(!(c[o>>2]|0)){r=m;t=c[r+4>>2]|0;u=(c[j>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[i>>2]=c[o>>2];u=c[i>>2]|0;l=s;return u|0}function io(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[d>>2]=mo(c[(c[b>>2]|0)+216>>2]|0,193,c[b>>2]|0)|0;c[e>>2]=no(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!(c[e>>2]|0?(c[d>>2]|0)==0:0))break;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[d>>2]=lo(c[b>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[e>>2]=c[f>>2]}l=g;return c[d>>2]|0}function jo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;l=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];ko(c[d>>2]|0);f=c[f>>2]|0;l=g;return f|0}function ko(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+24|0;g=m+20|0;h=m+16|0;f=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=a;c[g>>2]=0;c[h>>2]=0;c[f>>2]=0;c[i>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){l=m;return}a=c[d>>2]|0;zn(a,yn(c[(c[d>>2]|0)+52+16>>2]|0)|0,g,h,f)|0;c[i>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[f>>2]|0);c[k>>2]=0;while(1){a=c[g>>2]|0;if((c[k>>2]|0)>=8192)break;if((e[a+(c[k>>2]<<1)>>1]|0|0)>(c[i>>2]|0))b[(c[g>>2]|0)+(c[k>>2]<<1)>>1]=0;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=a-((c[h>>2]|0)+((c[i>>2]|0)+1<<2));m0((c[h>>2]|0)+((c[i>>2]|0)+1<<2)|0,0,c[j>>2]|0)|0;l=m;return}function lo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;j=h+20|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[i>>2]=b;c[d>>2]=0;c[e>>2]=c[j>>2];c[f>>2]=en(c[e>>2]|0,c[i>>2]|0)|0;do if(c[f>>2]|0){if((so(c[f>>2]|0)|0)==1){un(c[f>>2]|0);break}c[g>>2]=0;c[d>>2]=ln(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,g)|0;if(!(c[d>>2]|0))c[d>>2]=tn(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[d>>2]|0))Eb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);Pn(c[f>>2]|0)}while(0);El(c[(c[e>>2]|0)+96>>2]|0);l=h;return c[d>>2]|0}function mo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){k=c[i>>2]|0;l=m;return k|0}c[j>>2]=c[(c[f>>2]|0)+52+16>>2];b=(c[f>>2]|0)+52|0;d=qo(c[f>>2]|0)|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));c[k>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[i>>2]|0)break;if((c[k>>2]|0)>>>0>(c[j>>2]|0)>>>0)break;b=c[g>>2]|0;d=c[h>>2]|0;e=ro(c[f>>2]|0,c[k>>2]|0)|0;c[i>>2]=Mb[b&255](d,e)|0;c[k>>2]=(c[k>>2]|0)+1}if((c[j>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){k=c[i>>2]|0;l=m;return k|0}ko(c[f>>2]|0);k=c[i>>2]|0;l=m;return k|0}function no(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}d=oo(c[c[b>>2]>>2]|0)|0;l=e;return d|0}function oo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;d=i+136|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[d>>2];c[d>>2]=c[(c[g>>2]|0)+12>>2];c[(c[g>>2]|0)+12>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=31)break;if(!(c[f+(c[h>>2]<<2)>>2]|0)){e=6;break}c[g>>2]=po(c[f+(c[h>>2]<<2)>>2]|0,c[g>>2]|0)|0;c[f+(c[h>>2]<<2)>>2]=0;c[h>>2]=(c[h>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[h>>2]<<2)>>2]=c[g>>2]}if((c[h>>2]|0)!=31)continue;b=po(c[f+(c[h>>2]<<2)>>2]|0,c[g>>2]|0)|0;c[f+(c[h>>2]<<2)>>2]=b}c[g>>2]=c[f>>2];c[h>>2]=1;while(1){if((c[h>>2]|0)>=32)break;if(c[f+(c[h>>2]<<2)>>2]|0){if(c[g>>2]|0)a=po(c[g>>2]|0,c[f+(c[h>>2]<<2)>>2]|0)|0;else a=c[f+(c[h>>2]<<2)>>2]|0;c[g>>2]=a}c[h>>2]=(c[h>>2]|0)+1}l=i;return c[g>>2]|0}function po(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+64|0;d=h+52|0;e=h+48|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1)if((c[(c[d>>2]|0)+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[g>>2]|0)+12>>2]=c[d>>2];c[g>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[d>>2]|0)){a=4;break}else continue}else{c[(c[g>>2]|0)+12>>2]=c[e>>2];c[g>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[e>>2]|0)){a=6;break}else continue}if((a|0)==4){e=c[e>>2]|0;g=c[g>>2]|0;g=g+12|0;c[g>>2]=e;g=f+12|0;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==6){e=c[d>>2]|0;g=c[g>>2]|0;g=g+12|0;c[g>>2]=e;g=f+12|0;g=c[g>>2]|0;l=h;return g|0}return 0}function qo(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[e>>2]=b;c[f>>2]=yn(c[e>>2]|0)|0;a=c[(c[h>>2]|0)+32>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[a>>2]|0)+(34+(c[e>>2]|0)-1<<2)>>2];h=c[d>>2]|0;l=g;return h|0}else{c[d>>2]=c[(c[a+(c[f>>2]<<2)>>2]|0)+(((((c[e>>2]|0)-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;l=g;return h|0}return 0}function so(a){a=a|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;l=e;return b[(c[d>>2]|0)+26>>1]|0}function to(a){a=a|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;um(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){l=e;return}Bm(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;l=e;return}function uo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function vo(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;x=A+12|0;t=A+8|0;y=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;c[t>>2]=0;c[y>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;l=A;return z|0}c[x>>2]=Ao(c[v>>2]|0,1,1)|0;if(c[x>>2]|0){c[z>>2]=c[x>>2];z=c[z>>2]|0;l=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[x>>2]=Bo(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[x>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[x>>2]|0)==5){c[y>>2]=0;c[u>>2]=0;c[x>>2]=0}}while(0);if(((c[x>>2]|0)==0?(c[x>>2]=Co(c[v>>2]|0,t)|0,c[t>>2]|0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)on(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[x>>2]|0)){if(c[(c[v>>2]|0)+52+16>>2]|0?(k=Do(c[v>>2]|0)|0,(k|0)!=(c[p>>2]|0)):0)c[x>>2]=kn(57049)|0;else c[x>>2]=Eo(c[v>>2]|0,c[y>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[x>>2]|0)==0|(c[x>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){k=c[(Fo(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=k}}}if(c[t>>2]|0){b=(c[v>>2]|0)+52|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0))}um(c[v>>2]|0)|0;Em(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[x>>2]|0)==0?(c[w>>2]|0)!=(c[y>>2]|0):0)b=5;else b=c[x>>2]|0;c[z>>2]=b;z=c[z>>2]|0;l=A;return z|0}function wo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Bb[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return}function xo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;e=j+24|0;f=j+8|0;g=j;h=j+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;Ug();c[h>>2]=xl(c[(c[e>>2]|0)+8>>2]|0,g)|0;if((c[h>>2]|0)==0?(d=g,a=c[d+4>>2]|0,g=f,b=c[g+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>(c[g>>2]|0)>>>0:0)):0){g=f;c[h>>2]=lm(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0}Wg();if(!(c[h>>2]|0)){l=j;return}h=c[h>>2]|0;c[i>>2]=c[(c[e>>2]|0)+108>>2];xd(h,24922,i);l=j;return}function yo(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){zo(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;l=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;_d(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}l=h;return}function zo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Mb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function Ao(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}else{c[j>>2]=Cm(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[i>>2]|0,10)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;l=k;return j|0}return 0}function Bo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;while(1){c[m>>2]=Ao(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){a=4;break}if(!(Hb[c[h>>2]&255](c[i>>2]|0)|0)){a=4;break}}if((a|0)==4){l=n;return c[m>>2]|0}return 0}function Co(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[i>>2]=Cn(c[g>>2]|0,0,k)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];k=c[f>>2]|0;l=m;return k|0}if(c[k>>2]|0)b=Qo(c[g>>2]|0,c[h>>2]|0)|0;else b=1;c[j>>2]=b;do if(c[j>>2]|0){b=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2|0){k=Am(b,0)|0;c[i>>2]=k;if(k)break;Bm(c[g>>2]|0,0);c[i>>2]=264;break}e=Ao(b,0,1)|0;c[i>>2]=e;if(!e){a[(c[g>>2]|0)+44>>0]=1;k=Cn(c[g>>2]|0,0,k)|0;c[i>>2]=k;if(0==(k|0)?(c[j>>2]=Qo(c[g>>2]|0,c[h>>2]|0)|0,c[j>>2]|0):0){c[i>>2]=Ro(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Em(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[i>>2]=gf(55897)|0;c[f>>2]=c[i>>2];k=c[f>>2]|0;l=m;return k|0}function Do(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function Eo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;H=l;l=l+112|0;B=H+104|0;C=H+100|0;E=H+96|0;F=H+92|0;h=H+88|0;i=H+84|0;j=H+80|0;k=H+76|0;m=H+72|0;n=H+68|0;o=H+64|0;p=H+60|0;q=H+56|0;r=H+52|0;s=H+48|0;t=H+44|0;u=H+40|0;v=H+24|0;w=H+36|0;x=H+16|0;y=H+8|0;z=H;A=H+32|0;c[C>>2]=a;c[E>>2]=b;c[F>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[m>>2]=Do(c[C>>2]|0)|0;c[t>>2]=Fo(c[C>>2]|0)|0;a:do if((c[c[t>>2]>>2]|0)>>>0<(c[(c[C>>2]|0)+52+16>>2]|0)>>>0){c[k>>2]=Go(c[C>>2]|0,n)|0;if(c[k>>2]|0){c[B>>2]=c[k>>2];G=c[B>>2]|0;l=H;return G|0}c[q>>2]=c[(c[C>>2]|0)+52+16>>2];c[r>>2]=c[(c[C>>2]|0)+52+20>>2];c[s>>2]=1;while(1){a=c[t>>2]|0;if((c[s>>2]|0)>=5)break;c[u>>2]=c[a+4+(c[s>>2]<<2)>>2];do if((c[q>>2]|0)>>>0>(c[u>>2]|0)>>>0){c[k>>2]=Bo(c[C>>2]|0,c[F>>2]|0,c[h>>2]|0,3+(c[s>>2]|0)|0,1)|0;if(!(c[k>>2]|0)){c[(c[t>>2]|0)+4+(c[s>>2]<<2)>>2]=(c[s>>2]|0)==1?c[q>>2]|0:-1;Em(c[C>>2]|0,3+(c[s>>2]|0)|0,1);break}if((c[k>>2]|0)!=5)break a;c[q>>2]=c[u>>2];c[F>>2]=0}while(0);c[s>>2]=(c[s>>2]|0)+1}if((c[a>>2]|0)>>>0<(c[q>>2]|0)>>>0?(G=Bo(c[C>>2]|0,c[F>>2]|0,c[h>>2]|0,3,1)|0,c[k>>2]=G,(G|0)==0):0){c[w>>2]=c[c[t>>2]>>2];c[(c[t>>2]|0)+32>>2]=c[q>>2];if(c[i>>2]|0)c[k>>2]=mm(c[(c[C>>2]|0)+8>>2]|0,c[i>>2]|0)|0;if(((c[k>>2]|0)==0?(u=c[m>>2]|0,u=r0(c[r>>2]|0,0,u|0,((u|0)<0)<<31>>31|0)|0,G=x,c[G>>2]=u,c[G+4>>2]=D,c[k>>2]=xl(c[(c[C>>2]|0)+4>>2]|0,v)|0,(c[k>>2]|0)==0):0)?(v,s=c[v+4>>2]|0,G=x,u=c[G+4>>2]|0,(s|0)<(u|0)|((s|0)==(u|0)?(c[v>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)wo(c[(c[C>>2]|0)+4>>2]|0,5,x);b:while(1){if(c[k>>2]|0)break;while(1){if(Ho(c[n>>2]|0,o,p)|0)break b;if((c[p>>2]|0)>>>0<=(c[w>>2]|0)>>>0)continue b;if((c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0)continue b;if((c[o>>2]|0)>>>0>(c[r>>2]|0)>>>0)continue b;x=(c[m>>2]|0)+24|0;x=r0((c[p>>2]|0)-1|0,0,x|0,((x|0)<0)<<31>>31|0)|0;x=_$(32,0,x|0,D|0)|0;x=_$(x|0,D|0,24,0)|0;G=y;c[G>>2]=x;c[G+4>>2]=D;G=y;c[k>>2]=$m(c[(c[C>>2]|0)+8>>2]|0,c[j>>2]|0,c[m>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[k>>2]|0)break b;x=c[m>>2]|0;x=r0((c[o>>2]|0)-1|0,0,x|0,((x|0)<0)<<31>>31|0)|0;G=y;c[G>>2]=x;c[G+4>>2]=D;G=y;c[k>>2]=Dm(c[(c[C>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[k>>2]|0)==0&(c[k>>2]|0)==0))break b}}if(!(c[k>>2]|0)){G=c[q>>2]|0;if((G|0)==(c[(qo(c[C>>2]|0)|0)+16>>2]|0)?(y=c[m>>2]|0,y=r0(c[(c[C>>2]|0)+52+20>>2]|0,0,y|0,((y|0)<0)<<31>>31|0)|0,G=z,c[G>>2]=y,c[G+4>>2]=D,G=z,c[k>>2]=lm(c[(c[C>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[k>>2]|0)==0&(c[i>>2]|0)!=0):0)c[k>>2]=mm(c[(c[C>>2]|0)+4>>2]|0,c[i>>2]|0)|0;if(!(c[k>>2]|0))c[c[t>>2]>>2]=c[q>>2]}Em(c[C>>2]|0,3,1)}if((c[k>>2]|0)==5){c[k>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[k>>2]|0)==0&(c[E>>2]|0)!=0:0){if((c[c[t>>2]>>2]|0)>>>0<(c[(c[C>>2]|0)+52+16>>2]|0)>>>0){c[k>>2]=5;break}if((c[E>>2]|0)>=2?(sf(4,A),c[k>>2]=Bo(c[C>>2]|0,c[F>>2]|0,c[h>>2]|0,4,4)|0,(c[k>>2]|0)==0):0){if((c[E>>2]|0)==3){Io(c[C>>2]|0,c[A>>2]|0);c[k>>2]=lm(c[(c[C>>2]|0)+8>>2]|0,0,0)|0}Em(c[C>>2]|0,4,4)}}while(0);Jo(c[n>>2]|0);c[B>>2]=c[k>>2];G=c[B>>2]|0;l=H;return G|0}function Fo(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function Go(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;n=v+60|0;o=v+56|0;p=v+52|0;q=v+48|0;r=v+44|0;s=v+40|0;t=v+36|0;u=v+32|0;e=v+28|0;f=v+24|0;g=v+20|0;h=v+16|0;i=v+12|0;j=v+8|0;k=v+4|0;m=v;c[o>>2]=a;c[p>>2]=d;c[f>>2]=0;c[s>>2]=c[(c[o>>2]|0)+52+16>>2];c[r>>2]=(yn(c[s>>2]|0)|0)+1;c[t>>2]=28+(((c[r>>2]|0)-1|0)*20|0)+(c[s>>2]<<1);d=c[t>>2]|0;c[q>>2]=of(d,((d|0)<0)<<31>>31)|0;if(!(c[q>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;l=v;return u|0}m0(c[q>>2]|0,0,c[t>>2]|0)|0;c[(c[q>>2]|0)+4>>2]=c[r>>2];c[e>>2]=of(((c[s>>2]|0)>>>0>4096?4096:c[s>>2]|0)<<1,0)|0;if(!(c[e>>2]|0))c[f>>2]=7;c[u>>2]=0;while(1){if(c[f>>2]|0)break;if((c[u>>2]|0)>=(c[r>>2]|0))break;c[f>>2]=zn(c[o>>2]|0,c[u>>2]|0,g,i,h)|0;if(!(c[f>>2]|0)){c[i>>2]=(c[i>>2]|0)+4;if(((c[u>>2]|0)+1|0)==(c[r>>2]|0))c[k>>2]=(c[s>>2]|0)-(c[h>>2]|0);else c[k>>2]=((c[g>>2]|0)-(c[i>>2]|0)|0)/4|0;c[m>>2]=(c[q>>2]|0)+8+((c[(c[q>>2]|0)+4>>2]|0)*20|0)+(c[h>>2]<<1);c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;b[(c[m>>2]|0)+(c[j>>2]<<1)>>1]=c[j>>2];c[j>>2]=(c[j>>2]|0)+1}Oo(c[i>>2]|0,c[e>>2]|0,c[m>>2]|0,k);c[(c[q>>2]|0)+8+((c[u>>2]|0)*20|0)+16>>2]=c[h>>2];c[(c[q>>2]|0)+8+((c[u>>2]|0)*20|0)+12>>2]=c[k>>2];c[(c[q>>2]|0)+8+((c[u>>2]|0)*20|0)+4>>2]=c[m>>2];c[(c[q>>2]|0)+8+((c[u>>2]|0)*20|0)+8>>2]=c[i>>2]}c[u>>2]=(c[u>>2]|0)+1}_d(c[e>>2]|0);if(c[f>>2]|0)Jo(c[q>>2]|0);c[c[p>>2]>>2]=c[q>>2];c[n>>2]=c[f>>2];u=c[n>>2]|0;l=v;return u|0}function Ho(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;f=p;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[k>>2]=-1;c[j>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[g>>2]|0)+4>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[n>>2]=(c[g>>2]|0)+8+((c[m>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[f>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[f>>2]|0)>>>0>(c[j>>2]|0)>>>0){o=6;break}d=c[n>>2]|0;c[d>>2]=(c[d>>2]|0)+1}if((o|0)==6?(o=0,(c[f>>2]|0)>>>0<(c[k>>2]|0)>>>0):0){c[k>>2]=c[f>>2];c[c[i>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[m>>2]=(c[m>>2]|0)+-1}o=c[k>>2]|0;c[c[g>>2]>>2]=o;c[c[h>>2]>>2]=o;l=p;return (c[k>>2]|0)==-1|0}function Io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=l;l=l+32|0;g=f+16|0;h=f+12|0;d=f+8|0;e=f+4|0;i=f;c[g>>2]=a;c[h>>2]=b;c[d>>2]=Fo(c[g>>2]|0)|0;c[i>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[i>>2]|0;Nn(b,1+(Vl(c[i>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];Ko(c[g>>2]|0);c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+32>>2]=0;c[(c[d>>2]|0)+4+4>>2]=0;c[e>>2]=2;while(1){if((c[e>>2]|0)>=5)break;c[(c[d>>2]|0)+4+(c[e>>2]<<2)>>2]=-1;c[e>>2]=(c[e>>2]|0)+1}l=f;return}function Jo(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);l=b;return}function Ko(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=qo(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;Lo(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));Mo(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));l=h;return}function Lo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+48|0;k=o+32|0;q=o+28|0;p=o+24|0;m=o+20|0;n=o+16|0;g=o+12|0;h=o+8|0;i=o+4|0;j=o;c[k>>2]=a;c[q>>2]=b;c[p>>2]=d;c[m>>2]=e;c[n>>2]=f;c[i>>2]=c[q>>2];c[j>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[m>>2]|0){c[g>>2]=c[c[m>>2]>>2];c[h>>2]=c[(c[m>>2]|0)+4>>2]}else{c[h>>2]=0;c[g>>2]=0}if(c[k>>2]|0){do{q=c[i>>2]|0;c[i>>2]=q+4;c[g>>2]=(c[g>>2]|0)+((c[q>>2]|0)+(c[h>>2]|0));q=c[i>>2]|0;c[i>>2]=q+4;c[h>>2]=(c[h>>2]|0)+((c[q>>2]|0)+(c[g>>2]|0))}while((c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0);q=c[g>>2]|0;p=c[n>>2]|0;c[p>>2]=q;p=c[h>>2]|0;q=c[n>>2]|0;q=q+4|0;c[q>>2]=p;l=o;return}else{do{c[g>>2]=(c[g>>2]|0)+(((c[c[i>>2]>>2]&255)<<24)+((c[c[i>>2]>>2]&65280)<<8)+((c[c[i>>2]>>2]&16711680)>>>8)+((c[c[i>>2]>>2]&-16777216)>>>24)+(c[h>>2]|0));c[h>>2]=(c[h>>2]|0)+(((c[(c[i>>2]|0)+4>>2]&255)<<24)+((c[(c[i>>2]|0)+4>>2]&65280)<<8)+((c[(c[i>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[i>>2]|0)+4>>2]&-16777216)>>>24)+(c[g>>2]|0));c[i>>2]=(c[i>>2]|0)+8}while((c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0);q=c[g>>2]|0;p=c[n>>2]|0;c[p>>2]=q;p=c[h>>2]|0;q=c[n>>2]|0;q=q+4|0;c[q>>2]=p;l=o;return}}function Mo(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){l=e;return}No(c[(c[b>>2]|0)+4>>2]|0);l=e;return}function No(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Eb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);l=b;return}function Oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;m=s+144|0;n=s+140|0;o=s+136|0;p=s+132|0;q=s+128|0;r=s+124|0;f=s+120|0;g=s+116|0;h=s+112|0;i=s+8|0;j=s+4|0;k=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=c[c[p>>2]>>2];c[r>>2]=0;c[f>>2]=0;c[h>>2]=0;a=i;b=a+104|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[q>>2]|0))break;c[r>>2]=1;c[f>>2]=(c[o>>2]|0)+(c[g>>2]<<1);c[h>>2]=0;while(1){if(!(c[g>>2]&1<>2]))break;c[j>>2]=i+(c[h>>2]<<3);Po(c[m>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[c[j>>2]>>2]|0,f,r,c[n>>2]|0);c[h>>2]=(c[h>>2]|0)+1}c[i+(c[h>>2]<<3)+4>>2]=c[f>>2];c[i+(c[h>>2]<<3)>>2]=c[r>>2];c[g>>2]=(c[g>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1;while(1){if((c[h>>2]|0)>>>0>=13)break;if(c[q>>2]&1<>2]|0){c[k>>2]=i+(c[h>>2]<<3);Po(c[m>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[c[k>>2]>>2]|0,f,r,c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}c[c[p>>2]>>2]=c[r>>2];l=s;return}function Po(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;t=y+44|0;u=y+40|0;v=y+36|0;w=y+32|0;j=y+28|0;k=y+24|0;m=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y+48|0;s=y;c[t>>2]=a;c[u>>2]=d;c[v>>2]=f;c[w>>2]=g;c[j>>2]=h;c[k>>2]=i;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[w>>2]>>2];while(1){if((c[n>>2]|0)>=(c[p>>2]|0)?(c[m>>2]|0)>=(c[v>>2]|0):0)break;do if((c[m>>2]|0)<(c[v>>2]|0)){if((c[n>>2]|0)<(c[p>>2]|0)?(c[(c[t>>2]|0)+((e[(c[u>>2]|0)+(c[m>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[t>>2]|0)+((e[(c[q>>2]|0)+(c[n>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[u>>2]|0;i=c[m>>2]|0;c[m>>2]=i+1;b[r>>1]=b[h+(i<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[q>>2]|0;i=c[n>>2]|0;c[n>>2]=i+1;b[r>>1]=b[h+(i<<1)>>1]|0}c[s>>2]=c[(c[t>>2]|0)+((e[r>>1]|0)<<2)>>2];g=b[r>>1]|0;h=c[k>>2]|0;i=c[o>>2]|0;c[o>>2]=i+1;b[h+(i<<1)>>1]=g;if((c[m>>2]|0)>=(c[v>>2]|0))continue;if((c[(c[t>>2]|0)+((e[(c[u>>2]|0)+(c[m>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[s>>2]|0))continue;c[m>>2]=(c[m>>2]|0)+1}c[c[w>>2]>>2]=c[u>>2];c[c[j>>2]>>2]=c[o>>2];h0(c[u>>2]|0,c[k>>2]|0,c[o>>2]<<1|0)|0;l=y;return}function Qo(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+128|0;h=p+120|0;i=p+116|0;j=p+112|0;k=p+104|0;m=p+56|0;n=p+8|0;o=p;c[i>>2]=b;c[j>>2]=f;c[o>>2]=qo(c[i>>2]|0)|0;b=m;f=c[o>>2]|0;g=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));Mo(c[i>>2]|0);b=n;f=(c[o>>2]|0)+48|0;g=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));if(H_(m,n,48)|0){c[h>>2]=1;o=c[h>>2]|0;l=p;return o|0}if(!(d[m+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;l=p;return o|0}Lo(1,m,40,0,k);if((c[k>>2]|0)==(c[m+40>>2]|0)?(c[k+4>>2]|0)==(c[m+40+4>>2]|0):0){if(H_((c[i>>2]|0)+52|0,m,48)|0){c[c[j>>2]>>2]=1;b=(c[i>>2]|0)+52|0;f=m;g=b+48|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(g|0));c[(c[i>>2]|0)+36>>2]=((e[(c[i>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[i>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;l=p;return o|0}function Ro(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;E=l;l=l+144|0;C=E+16|0;g=E+96|0;s=E+92|0;v=E+88|0;w=E+8|0;x=E+80|0;y=E+76|0;z=E+72|0;A=E+104|0;B=E+68|0;h=E+64|0;i=E+60|0;j=E+56|0;k=E;m=E+52|0;n=E+48|0;o=E+44|0;p=E+40|0;q=E+36|0;r=E+32|0;t=E+28|0;u=E+24|0;c[s>>2]=e;c[x>>2]=0;c[x+4>>2]=0;c[y>>2]=1+(d[(c[s>>2]|0)+45>>0]|0);c[z>>2]=8-(c[y>>2]|0);c[v>>2]=Ao(c[s>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(c[v>>2]|0){c[g>>2]=c[v>>2];C=c[g>>2]|0;l=E;return C|0}e=(c[s>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[v>>2]=xl(c[(c[s>>2]|0)+8>>2]|0,w)|0;a:do if(!(c[v>>2]|0)){f=w;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[B>>2]=0;c[v>>2]=$m(c[(c[s>>2]|0)+8>>2]|0,A,32,0,0)|0;if(c[v>>2]|0)break a;c[n>>2]=Vl(A)|0;c[m>>2]=Vl(A+8|0)|0;if((((c[n>>2]&-2|0)==931071618?!(((c[m>>2]|0)>65536?1:(c[m>>2]&(c[m>>2]|0)-1|0)!=0)|(c[m>>2]|0)<512):0)?(a[(c[s>>2]|0)+52+13>>0]=c[n>>2]&1,c[(c[s>>2]|0)+36>>2]=c[m>>2],n=Vl(A+12|0)|0,c[(c[s>>2]|0)+112>>2]=n,n=(c[s>>2]|0)+52+32|0,f=A+16|0,a[n>>0]=a[f>>0]|0,a[n+1>>0]=a[f+1>>0]|0,a[n+2>>0]=a[f+2>>0]|0,a[n+3>>0]=a[f+3>>0]|0,a[n+4>>0]=a[f+4>>0]|0,a[n+5>>0]=a[f+5>>0]|0,a[n+6>>0]=a[f+6>>0]|0,a[n+7>>0]=a[f+7>>0]|0,Lo((d[(c[s>>2]|0)+52+13>>0]|0)==((a[936]|0)==0|0)&1,A,24,0,(c[s>>2]|0)+52+24|0),n=c[(c[s>>2]|0)+52+24>>2]|0,(n|0)==(Vl(A+24|0)|0)):0)?(n=c[(c[s>>2]|0)+52+24+4>>2]|0,(n|0)==(Vl(A+28|0)|0)):0){c[o>>2]=Vl(A+4|0)|0;if((c[o>>2]|0)!=3007e3){c[v>>2]=gf(54951)|0;break}c[h>>2]=(c[m>>2]|0)+24;A=c[h>>2]|0;c[B>>2]=of(A,((A|0)<0)<<31>>31)|0;if(!(c[B>>2]|0)){c[v>>2]=7;break a}c[i>>2]=(c[B>>2]|0)+24;c[j>>2]=0;A=k;c[A>>2]=32;c[A+4>>2]=0;while(1){f=k;o=c[h>>2]|0;o=_$(c[f>>2]|0,c[f+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;f=D;A=w;n=c[A+4>>2]|0;if(!((f|0)<(n|0)|((f|0)==(n|0)?o>>>0<=(c[A>>2]|0)>>>0:0)))break;c[j>>2]=(c[j>>2]|0)+1;A=k;c[v>>2]=$m(c[(c[s>>2]|0)+8>>2]|0,c[B>>2]|0,c[h>>2]|0,c[A>>2]|0,c[A+4>>2]|0)|0;if(c[v>>2]|0)break;c[p>>2]=So(c[s>>2]|0,q,r,c[i>>2]|0,c[B>>2]|0)|0;if(!(c[p>>2]|0))break;c[v>>2]=To(c[s>>2]|0,c[j>>2]|0,c[q>>2]|0)|0;if(c[v>>2]|0)break;if(c[r>>2]|0){c[(c[s>>2]|0)+52+16>>2]=c[j>>2];c[(c[s>>2]|0)+52+20>>2]=c[r>>2];b[(c[s>>2]|0)+52+14>>1]=c[m>>2]&65280|c[m>>2]>>16;c[x>>2]=c[(c[s>>2]|0)+52+24>>2];c[x+4>>2]=c[(c[s>>2]|0)+52+24+4>>2]}o=c[h>>2]|0;A=k;o=_$(c[A>>2]|0,c[A+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;A=k;c[A>>2]=o;c[A+4>>2]=D}_d(c[B>>2]|0)}}while(0);if(!(c[v>>2]|0)){c[(c[s>>2]|0)+52+24>>2]=c[x>>2];c[(c[s>>2]|0)+52+24+4>>2]=c[x+4>>2];Ko(c[s>>2]|0);c[t>>2]=Fo(c[s>>2]|0)|0;c[c[t>>2]>>2]=0;c[(c[t>>2]|0)+32>>2]=c[(c[s>>2]|0)+52+16>>2];c[(c[t>>2]|0)+4>>2]=0;c[u>>2]=1;while(1){if((c[u>>2]|0)>=5)break;c[(c[t>>2]|0)+4+(c[u>>2]<<2)>>2]=-1;c[u>>2]=(c[u>>2]|0)+1}if(c[(c[s>>2]|0)+52+16>>2]|0)c[(c[t>>2]|0)+4+4>>2]=c[(c[s>>2]|0)+52+16>>2];if(c[(c[s>>2]|0)+52+20>>2]|0){B=c[(c[s>>2]|0)+108>>2]|0;c[C>>2]=c[(c[s>>2]|0)+52+16>>2];c[C+4>>2]=B;xd(283,24948,C)}}}while(0);Em(c[s>>2]|0,c[y>>2]|0,c[z>>2]|0);c[g>>2]=c[v>>2];C=c[g>>2]|0;l=E;return C|0}function So(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;r=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;m=s;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[i>>2]=h;c[k>>2]=(c[o>>2]|0)+52+24;if(H_((c[o>>2]|0)+52+32|0,(c[i>>2]|0)+8|0,8)|0){c[n>>2]=0;r=c[n>>2]|0;l=s;return r|0}c[m>>2]=Vl(c[i>>2]|0)|0;if(!(c[m>>2]|0)){c[n>>2]=0;r=c[n>>2]|0;l=s;return r|0}c[j>>2]=(d[(c[o>>2]|0)+52+13>>0]|0)==((a[936]|0)==0|0)&1;Lo(c[j>>2]|0,c[i>>2]|0,8,c[k>>2]|0,c[k>>2]|0);Lo(c[j>>2]|0,c[r>>2]|0,c[(c[o>>2]|0)+36>>2]|0,c[k>>2]|0,c[k>>2]|0);r=c[c[k>>2]>>2]|0;if((r|0)==(Vl((c[i>>2]|0)+16|0)|0)?(r=c[(c[k>>2]|0)+4>>2]|0,(r|0)==(Vl((c[i>>2]|0)+20|0)|0)):0){c[c[p>>2]>>2]=c[m>>2];r=Vl((c[i>>2]|0)+4|0)|0;c[c[q>>2]>>2]=r;c[n>>2]=1;r=c[n>>2]|0;l=s;return r|0}c[n>>2]=0;r=c[n>>2]|0;l=s;return r|0}function To(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t+44|0;m=t+40|0;n=t+36|0;o=t+32|0;p=t+28|0;q=t+24|0;r=t+20|0;f=t+16|0;g=t+12|0;h=t+8|0;i=t+4|0;j=t;c[m>>2]=a;c[n>>2]=d;c[o>>2]=e;c[q>>2]=0;c[r>>2]=0;c[f>>2]=0;e=c[m>>2]|0;c[p>>2]=zn(e,yn(c[n>>2]|0)|0,f,r,q)|0;do if(!(c[p>>2]|0)){c[h>>2]=(c[n>>2]|0)-(c[q>>2]|0);if((c[h>>2]|0)==1){c[j>>2]=(c[f>>2]|0)+16384-((c[r>>2]|0)+4);m0((c[r>>2]|0)+4|0,0,c[j>>2]|0)|0}if(c[(c[r>>2]|0)+(c[h>>2]<<2)>>2]|0)ko(c[m>>2]|0);c[i>>2]=c[h>>2];c[g>>2]=An(c[o>>2]|0)|0;while(1){if(!(b[(c[f>>2]|0)+(c[g>>2]<<1)>>1]|0)){s=11;break}q=c[i>>2]|0;c[i>>2]=q+-1;if(!q)break;c[g>>2]=Bn(c[g>>2]|0)|0}if((s|0)==11){c[(c[r>>2]|0)+(c[h>>2]<<2)>>2]=c[o>>2];b[(c[f>>2]|0)+(c[g>>2]<<1)>>1]=c[h>>2];break}c[k>>2]=kn(54820)|0;s=c[k>>2]|0;l=t;return s|0}while(0);c[k>>2]=c[p>>2];s=c[k>>2]|0;l=t;return s|0}function Uo(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if((c[b>>2]|0?c[c[b>>2]>>2]|0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=Mb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))a=-1;else a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[d>>2]=c[e>>2];e=c[d>>2]|0;l=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;l=f;return e|0}function Vo(){return 48}function Wo(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+4>>2]|0)<=72){b=72;l=d;return b|0}b=c[(c[b>>2]|0)+4>>2]|0;l=d;return b|0}function Xo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}c[h>>2]=(md(c[f>>2]|0)|0)+1;b=c[h>>2]|0;c[g>>2]=Cd(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[g>>2]|0)h0(c[g>>2]|0,c[f>>2]|0,c[h>>2]|0)|0;c[d>>2]=c[g>>2];h=c[d>>2]|0;l=i;return h|0}function Yo(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;k=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[g>>2]=b;c[h>>2]=c[k>>2];c[i>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}do if(d[(c[h>>2]|0)+21>>0]|0|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}while(0);c[(c[g>>2]|0)+12>>2]=0;k=(tm(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(k){c[i>>2]=Sn(a)|0;if(!(c[i>>2]|0))c[i>>2]=_o(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(!((e[a+24>>1]|0)&8|0)?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[i>>2]=$o(c[h>>2]|0,1)|0;if(!(c[i>>2]|0))c[i>>2]=ap(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[i>>2]|0))Hl(c[g>>2]|0);c[f>>2]=dm(c[h>>2]|0,c[i>>2]|0)|0;k=c[f>>2]|0;l=j;return k|0}function Zo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;i=p+4|0;j=p;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[i>>2]=g;c[j>>2]=h;b=c[j>>2]|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[(c[j>>2]|0)+24>>2]=1;c[(c[j>>2]|0)+28>>2]=c[m>>2];a[(c[j>>2]|0)+32>>0]=c[n>>2];a[(c[j>>2]|0)+33>>0]=2;c[(c[j>>2]|0)+36>>2]=c[o>>2];c[(c[j>>2]|0)+40>>2]=c[i>>2];c[(c[j>>2]|0)+16>>2]=100;c[(c[j>>2]|0)+20>>2]=1;o=Al(c[j>>2]|0,c[k>>2]|0)|0;l=p;return o|0}function _o(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;g=p+4|0;h=p;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;a:do if(c[m>>2]|0){c[h>>2]=j;c[o>>2]=0;c[g>>2]=c[j>>2];while(1){f=c[g>>2]|0;c[c[h>>2]>>2]=f;if(!f)break a;if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0){c[h>>2]=(c[g>>2]|0)+12;c[o>>2]=(c[o>>2]|0)+1}c[g>>2]=c[(c[g>>2]|0)+12>>2]}}else c[o>>2]=1;while(0);f=(c[i>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+(c[o>>2]|0);if((c[(c[j>>2]|0)+20>>2]|0)==1)cp(c[j>>2]|0);c[n>>2]=hp(c[(c[i>>2]|0)+216>>2]|0,c[(c[i>>2]|0)+160>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,d[(c[i>>2]|0)+11>>0]|0)|0;if(c[n>>2]|0){o=c[n>>2]|0;l=p;return o|0}if(!(c[(c[i>>2]|0)+96>>2]|0)){o=c[n>>2]|0;l=p;return o|0}c[g>>2]=c[j>>2];while(1){if(!(c[g>>2]|0))break;fn(c[(c[i>>2]|0)+96>>2]|0,c[(c[g>>2]|0)+20>>2]|0,c[(c[g>>2]|0)+4>>2]|0);c[g>>2]=c[(c[g>>2]|0)+12>>2]}o=c[n>>2]|0;l=p;return o|0}function $o(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o;m=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=dp(c[g>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[c[(c[g>>2]|0)+68>>2]>>2]|0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[j>>2]=Ym(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[j>>2]&512)){a[n>>0]=a[24914]|0;a[n+1>>0]=a[24915]|0;a[n+2>>0]=a[24916]|0;a[n+3>>0]=a[24917]|0;a[n+4>>0]=a[24918]|0;a[n+5>>0]=a[24919]|0;a[n+6>>0]=a[24920]|0;a[n+7>>0]=a[24921]|0;Nn(n+8|0,c[(c[g>>2]|0)+48>>2]|0);b=co(c[g>>2]|0)|0;e=k;c[e>>2]=b;c[e+4>>2]=D;e=k;c[i>>2]=$m(c[(c[g>>2]|0)+68>>2]|0,m,8,c[e>>2]|0,c[e+4>>2]|0)|0;if((c[i>>2]|0)==0?0==(H_(m,24914,8)|0):0){m=k;c[i>>2]=Dm(c[(c[g>>2]|0)+68>>2]|0,56040,1,c[m>>2]|0,c[m+4>>2]|0)|0}if((c[i>>2]|0)!=0&(c[i>>2]|0)!=522){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}if((d[(c[g>>2]|0)+8>>0]|0?0==(c[j>>2]&1024|0):0)?(c[i>>2]=mm(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,c[i>>2]|0):0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}m=(c[g>>2]|0)+88|0;c[i>>2]=Dm(c[(c[g>>2]|0)+68>>2]|0,n,12,c[m>>2]|0,c[m+4>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}}if(0==(c[j>>2]&1024|0)?(c[i>>2]=mm(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,c[i>>2]|0):0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}k=(c[g>>2]|0)+80|0;m=c[k+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[k>>2];c[n+4>>2]=m;if(!(c[h>>2]|0))break;if(c[j>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[i>>2]=bo(c[g>>2]|0)|0;if(!(c[i>>2]|0))break;c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}k=(c[g>>2]|0)+80|0;m=c[k+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[k>>2];c[n+4>>2]=m}while(0);ep(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;l=o;return n|0}function ap(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;g=n+32|0;h=n+28|0;i=n+24|0;f=n+8|0;j=n+20|0;k=n;m=n+16|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[i>>2]=bp(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[i>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;b=c[(c[g>>2]|0)+160>>2]|0;b=r0(b|0,((b|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;d=f;c[d>>2]=b;c[d+4>>2]=D;wo(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[i>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[j>>2]=c[(c[h>>2]|0)+20>>2];if((c[j>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&16|0):0){d=c[(c[g>>2]|0)+160>>2]|0;d=r0((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=d;c[f+4>>2]=D;if((c[(c[h>>2]|0)+20>>2]|0)==1)cp(c[h>>2]|0);c[m>>2]=c[(c[h>>2]|0)+4>>2];f=k;c[i>>2]=Dm(c[(c[g>>2]|0)+64>>2]|0,c[m>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[j>>2]|0)==1){b=(c[g>>2]|0)+112|0;d=(c[m>>2]|0)+24|0;f=b+16|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0))}if((c[j>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[j>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;fn(c[(c[g>>2]|0)+96>>2]|0,c[j>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}l=n;return c[i>>2]|0}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;e=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Om(c[c[i>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;l=f;return c[e>>2]|0}function cp(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(Vl((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;Nn((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);Nn((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);Nn((c[(c[d>>2]|0)+4>>2]|0)+96|0,3015001);l=b;return}function dp(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(tm(c[b>>2]|0)|0):0)c[d>>2]=fp(c[b>>2]|0,4)|0;l=e;return c[d>>2]|0}function ep(a){a=a|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];l=g;return}function fp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=gp(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){a=4;break}if(!(Hb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){a=4;break}}if((a|0)==4){l=g;return c[f>>2]|0}return 0}function gp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;l=i;return h|0}if(d[(c[f>>2]|0)+14>>0]|0|0)b=0;else b=uo(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=b;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;l=i;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;l=i;return h|0} +function sM(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+80|0;z=A+76|0;s=A+72|0;t=A+68|0;C=A+64|0;B=A+60|0;u=A+56|0;v=A+52|0;w=A+48|0;i=A+44|0;j=A+40|0;x=A+36|0;k=A+32|0;m=A+28|0;y=A;n=A+24|0;o=A+20|0;p=A+16|0;q=A+12|0;r=A+8|0;c[s>>2]=a;c[t>>2]=b;c[C>>2]=e;c[B>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=0;c[i>>2]=c[C>>2];c[j>>2]=(c[i>>2]|0)+(c[B>>2]|0);c[x>>2]=0;c[k>>2]=0;c[m>>2]=1;h=bM(c[i>>2]|0,y)|0;c[i>>2]=(c[i>>2]|0)+h;h=bM(c[i>>2]|0,y)|0;c[i>>2]=(c[i>>2]|0)+h;if((c[i>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[z>>2]=267;C=c[z>>2]|0;l=A;return C|0}while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0){a=28;break}if(!(c[u>>2]|0?1:(c[v>>2]|0)!=0)){a=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){a=c[i>>2]|0;if((d[c[i>>2]>>0]|0)&128|0)a=cM(a,p)|0;else{c[p>>2]=d[a>>0];a=1}c[i>>2]=(c[i>>2]|0)+a}c[m>>2]=0;a=c[i>>2]|0;if((d[c[i>>2]>>0]|0)&128|0)a=cM(a,o)|0;else{c[o>>2]=d[a>>0];a=1}c[i>>2]=(c[i>>2]|0)+a;if((c[p>>2]|0)<0|(c[o>>2]|0)<0){a=15;break}if(((c[i>>2]|0)+(c[o>>2]|0)|0)>>>0>(c[j>>2]|0)>>>0){a=15;break}if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[k>>2]|0)){c[k>>2]=(c[p>>2]|0)+(c[o>>2]|0)<<1;c[r>>2]=Xf(c[x>>2]|0,c[k>>2]|0)|0;if(!(c[r>>2]|0)){a=18;break}c[x>>2]=c[r>>2]}h0((c[x>>2]|0)+(c[p>>2]|0)|0,c[i>>2]|0,c[o>>2]|0)|0;c[q>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[i>>2]=(c[i>>2]|0)+(c[o>>2]|0);c[n>>2]=H_(c[s>>2]|0,c[x>>2]|0,(c[q>>2]|0)>(c[t>>2]|0)?c[t>>2]|0:c[q>>2]|0)|0;do if(c[u>>2]|0){if((c[n>>2]|0)>=0){if(c[n>>2]|0)break;if((c[q>>2]|0)<=(c[t>>2]|0))break}h=y;B=c[h+4>>2]|0;C=c[u>>2]|0;c[C>>2]=c[h>>2];c[C+4>>2]=B;c[u>>2]=0}while(0);if((c[v>>2]|0)!=0&(c[n>>2]|0)<0){h=y;B=c[h+4>>2]|0;C=c[v>>2]|0;c[C>>2]=c[h>>2];c[C+4>>2]=B;c[v>>2]=0}B=y;B=_$(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;C=y;c[C>>2]=B;c[C+4>>2]=D}if((a|0)==15)c[w>>2]=267;else if((a|0)==18)c[w>>2]=7;else if((a|0)==28){if(c[u>>2]|0){t=y;B=c[t+4>>2]|0;C=c[u>>2]|0;c[C>>2]=c[t>>2];c[C+4>>2]=B}if(c[v>>2]|0){B=c[y+4>>2]|0;C=c[v>>2]|0;c[C>>2]=c[y>>2];c[C+4>>2]=B}}_d(c[x>>2]|0);c[z>>2]=c[w>>2];C=c[z>>2]|0;l=A;return C|0}function tM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+28|0;k=g+24|0;j=g+20|0;i=g+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[i>>2]=c[(c[c[k>>2]>>2]|0)+12>>2];c[d>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[e>>2]=c[(c[c[k>>2]>>2]|0)+16>>2];c[h>>2]=(c[d>>2]|0)<(c[e>>2]|0)?c[d>>2]|0:c[e>>2]|0;c[f>>2]=H_(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;if(c[f>>2]|0){m=c[f>>2]|0;l=g;return m|0}c[f>>2]=(c[d>>2]|0)-(c[e>>2]|0);m=c[f>>2]|0;l=g;return m|0}function uM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;j=p+32|0;e=p+28|0;f=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=45552;c[n>>2]=45556;c[o>>2]=45561;c[h>>2]=-1;c[i>>2]=15;a=c[j>>2]|0;if((c[e>>2]|0)>6){Th(a,45572,-1);l=p;return}if(yM(a,42611,c[c[f>>2]>>2]|0,k)|0){l=p;return}switch(c[e>>2]|0){case 6:{c[i>>2]=Qi(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[h>>2]=Qi(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[o>>2]=Rh(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=Rh(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[m>>2]=Rh(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[o>>2]|0)!=0&(c[n>>2]|0)!=0&(c[m>>2]|0)!=0)){wi(c[j>>2]|0);l=p;return}a=c[j>>2]|0;if(!(c[i>>2]|0)){xi(a,55752,-1,0);l=p;return}if(vN(a,c[k>>2]|0)|0){l=p;return}_N(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[h>>2]|0,c[i>>2]|0);l=p;return}function vM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(yM(c[e>>2]|0,42619,c[c[h>>2]>>2]|0,f)|0){l=g;return}if(vN(c[e>>2]|0,c[f>>2]|0)|0){l=g;return}WN(c[e>>2]|0,c[f>>2]|0);l=g;return}function wM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;j=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[i+16>>2]=b;c[j>>2]=d;if(yM(c[e>>2]|0,42637,c[c[j>>2]>>2]|0,h)|0){l=i;return}c[g>>2]=c[c[h>>2]>>2];c[f>>2]=UN(c[g>>2]|0)|0;switch(c[f>>2]|0){case 0:{xi(c[e>>2]|0,45456,-1,0);l=i;return}case 101:{xi(c[e>>2]|0,45472,-1,0);l=i;return}default:{Wi(c[e>>2]|0,c[f>>2]|0);l=i;return}}}function xM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(yM(c[e>>2]|0,42627,c[c[g>>2]>>2]|0,h)|0){l=j;return}c[i>>2]=0;if((c[f>>2]|0)>1)c[i>>2]=Rh(c[(c[g>>2]|0)+4>>2]|0)|0;zM(c[e>>2]|0,c[h>>2]|0,c[i>>2]|0);l=j;return}function yM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;o=p;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;g=p+4|0;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;if((Ai(c[k>>2]|0)|0)==4?(Sh(c[k>>2]|0)|0)==4:0){o=Ri(c[k>>2]|0)|0;a[n>>0]=a[o>>0]|0;a[n+1>>0]=a[o+1>>0]|0;a[n+2>>0]=a[o+2>>0]|0;a[n+3>>0]=a[o+3>>0]|0;c[c[m>>2]>>2]=c[n>>2];c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}c[o>>2]=c[j>>2];c[g>>2]=nf(45427,o)|0;Th(c[i>>2]|0,c[g>>2]|0,-1);_d(c[g>>2]|0);c[h>>2]=1;o=c[h>>2]|0;l=p;return o|0}function zM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[i>>2]=c[f>>2];else c[i>>2]=45362;a=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){AM(a,c[g>>2]|0,c[i>>2]|0);BM(c[h>>2]|0);l=j;return}else{mj(a,55752,0,0);l=j;return}}function AM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;m=u+76|0;n=u+72|0;o=u+68|0;p=u;q=u+64|0;r=u+60|0;s=u+56|0;f=u+52|0;g=u+48|0;h=u+44|0;i=u+40|0;j=u+36|0;k=u+32|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[q>>2]=c[c[n>>2]>>2];c[r>>2]=0;c[s>>2]=0;c[f>>2]=0;c[g>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[n>>2];c[p+4>>2]=c[(c[q>>2]|0)+24>>2];if(c[(c[n>>2]|0)+92>>2]|0?G_(c[(c[(c[n>>2]|0)+92>>2]|0)+12>>2]|0,c[o>>2]|0)|0:0){CM(c[(c[n>>2]|0)+92>>2]|0);c[(c[n>>2]|0)+92>>2]=0}if(!(c[(c[n>>2]|0)+92>>2]|0)){c[h>>2]=0;e=DM(c[(c[n>>2]|0)+12>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=e;c[p+8>>2]=c[(c[n>>2]|0)+20>>2];c[i>>2]=0;while(1){if(!(a[(c[o>>2]|0)+(c[i>>2]|0)>>0]|0))break;c[j>>2]=0;if(EM(c[q>>2]|0,a[(c[o>>2]|0)+(c[i>>2]|0)>>0]|0,j)|0){t=8;break}e=FM(p,a[(c[o>>2]|0)+(c[i>>2]|0)>>0]|0)|0;c[h>>2]=(c[h>>2]|0)+e;c[i>>2]=(c[i>>2]|0)+1}if((t|0)==8){Th(c[m>>2]|0,c[j>>2]|0,-1);_d(c[j>>2]|0);l=u;return}t=GM(c[h>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+92>>2]=t;if(!(c[(c[n>>2]|0)+92>>2]|0))c[r>>2]=7;c[(c[n>>2]|0)+88>>2]=1;c[s>>2]=1}if((c[r>>2]|0)==0?(c[g>>2]=HM(c[(c[n>>2]|0)+92>>2]|0,f)|0,(c[g>>2]|0)==0):0)c[r>>2]=7;if((c[r>>2]|0)==0?(c[p+28>>2]=c[f>>2],c[p+8>>2]=c[(c[n>>2]|0)+20>>2],c[r>>2]=IM(c[n>>2]|0,c[s>>2]|0,p,c[o>>2]|0)|0,c[s>>2]|0):0)JM(c[(c[n>>2]|0)+92>>2]|0);if(!(c[r>>2]|0)){c[k>>2]=c[(c[(c[n>>2]|0)+92>>2]|0)+4>>2]<<2;mj(c[m>>2]|0,c[f>>2]|0,c[k>>2]|0,c[g>>2]|0);l=u;return}Wi(c[m>>2]|0,c[r>>2]|0);if(!(c[g>>2]|0)){l=u;return}Eb[c[g>>2]&255](c[f>>2]|0);l=u;return}function BM(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;AJ(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;l=b;return}function CM(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+1>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+2>>0]|0|0){l=f;return}_d(c[e>>2]|0);l=f;return}function DM(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;QM(c[e>>2]|0,161,b)|0;l=d;return c[b>>2]|0}function EM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m;g=m+12|0;h=m+8|0;i=m+16|0;j=m+4|0;c[h>>2]=b;a[i>>0]=e;c[j>>2]=f;do if((a[i>>0]|0)!=112?(a[i>>0]|0)!=99:0){if((a[i>>0]|0)==110?d[(c[h>>2]|0)+228>>0]|0:0)break;if((a[i>>0]|0)==97?d[(c[h>>2]|0)+228>>0]|0:0)break;if((a[i>>0]|0)==108?d[(c[h>>2]|0)+230>>0]|0:0)break;if((((a[i>>0]|0)!=115?(a[i>>0]|0)!=120:0)?(a[i>>0]|0)!=121:0)?(a[i>>0]|0)!=98:0){j=c[j>>2]|0;c[k>>2]=a[i>>0];IK(j,45392,k);c[g>>2]=1;k=c[g>>2]|0;l=m;return k|0}}while(0);c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}function FM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=S(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=S(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(S(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}l=g;return c[f>>2]|0}function GM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[f>>2]=d;c[h>>2]=((c[e>>2]<<1)+1<<2)+20;c[i>>2]=g$(c[f>>2]|0)|0;c[g>>2]=pe((c[h>>2]|0)+(c[i>>2]|0)+1|0)|0;if(!(c[g>>2]|0)){i=c[g>>2]|0;l=j;return i|0}m0(c[g>>2]|0,0,c[h>>2]|0)|0;c[(c[g>>2]|0)+16>>2]=(c[g>>2]|0)+16+4-(c[g>>2]|0);c[(c[g>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[g>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[g>>2]|0)+4>>2]=c[e>>2];c[(c[g>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0);h0(c[(c[g>>2]|0)+12>>2]|0,c[f>>2]|0,(c[i>>2]|0)+1|0)|0;a[c[g>>2]>>0]=1;i=c[g>>2]|0;l=j;return i|0}function HM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[i>>2]=0;b=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){e=c[f>>2]|0;if(!(d[b+2>>0]|0)){a[e+2>>0]=1;c[i>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[h>>2]=162;break}c[i>>2]=pe(c[e+4>>2]<<2)|0;if(c[i>>2]|0?(c[h>>2]=157,c[(c[f>>2]|0)+8>>2]|0):0)h0(c[i>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[b+1>>0]=1;c[i>>2]=(c[f>>2]|0)+16+4;c[h>>2]=162}while(0);c[c[g>>2]>>2]=c[i>>2];l=j;return c[h>>2]|0}function IM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+96|0;u=B+92|0;v=B+88|0;w=B+84|0;x=B+80|0;A=B+76|0;y=B+72|0;g=B+68|0;z=B+64|0;h=B+24|0;i=B+16|0;j=B+60|0;k=B+56|0;m=B+52|0;n=B+8|0;o=B+48|0;p=B+44|0;q=B+40|0;r=B;s=B+36|0;t=B+32|0;c[u>>2]=b;c[v>>2]=d;c[w>>2]=e;c[x>>2]=f;c[A>>2]=0;c[g>>2]=c[c[u>>2]>>2];c[z>>2]=0;c[y>>2]=0;while(1){if(c[A>>2]|0){b=31;break}if(!(a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0)){b=31;break}a[(c[w>>2]|0)+24>>0]=a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0;a:do switch(a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0){case 112:{if(c[v>>2]|0)c[c[(c[w>>2]|0)+28>>2]>>2]=c[(c[w>>2]|0)+8>>2];break}case 99:{if(c[v>>2]|0)c[c[(c[w>>2]|0)+28>>2]>>2]=c[(c[w>>2]|0)+4>>2];break}case 110:{if(c[v>>2]|0){f=h;c[f>>2]=0;c[f+4>>2]=0;c[A>>2]=KM(c[g>>2]|0,z,h,0)|0;c[c[(c[w>>2]|0)+28>>2]>>2]=c[h>>2]}break}case 97:{if(c[v>>2]|0?(c[A>>2]=KM(c[g>>2]|0,z,i,j)|0,(c[A>>2]|0)==0):0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[w>>2]|0)+4>>2]|0))break a;f=bM(c[j>>2]|0,n)|0;c[j>>2]=(c[j>>2]|0)+f;f=c[n>>2]|0;e=i;e=n0(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=_$(f|0,0,e|0,D|0)|0;f=i;f=n0(e|0,D|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[m>>2]=f;c[(c[(c[w>>2]|0)+28>>2]|0)+(c[k>>2]<<2)>>2]=c[m>>2];c[k>>2]=(c[k>>2]|0)+1}}break}case 108:{c[o>>2]=0;f=(c[u>>2]|0)+32|0;c[A>>2]=LM(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,o)|0;b:do if(!(c[A>>2]|0)){c[q>>2]=fJ(c[o>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[w>>2]|0)+4>>2]|0))break b;f=bM(c[q>>2]|0,r)|0;c[q>>2]=(c[q>>2]|0)+f;c[(c[(c[w>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[r>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);ys(c[o>>2]|0)|0;break}case 115:{c[A>>2]=MM(c[u>>2]|0,0,0)|0;if(!(c[A>>2]|0))c[A>>2]=NM(c[u>>2]|0,c[w>>2]|0)|0;break}case 121:case 98:{c[s>>2]=(FM(c[w>>2]|0,a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0)|0)<<2;m0(c[(c[w>>2]|0)+28>>2]|0,0,c[s>>2]|0)|0;OM(c[(c[u>>2]|0)+12>>2]|0,c[w>>2]|0);break}default:{c[t>>2]=c[(c[u>>2]|0)+12>>2];c[A>>2]=MM(c[u>>2]|0,0,0)|0;if(!(c[A>>2]|0)){if(c[v>>2]|0){if(c[(c[u>>2]|0)+24>>2]|0?(c[A>>2]=KM(c[g>>2]|0,z,(c[w>>2]|0)+16|0,0)|0,c[A>>2]|0):0)break a;c[A>>2]=QM(c[t>>2]|0,162,c[w>>2]|0)|0;RM(c[u>>2]|0,A)|0;if(c[A>>2]|0)break a}QM(c[t>>2]|0,163,c[w>>2]|0)|0}}}while(0);e=FM(c[w>>2]|0,a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0)|0;f=(c[w>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[y>>2]=(c[y>>2]|0)+1}if((b|0)==31){ys(c[z>>2]|0)|0;l=B;return c[A>>2]|0}return 0}function JM(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;h0((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;l=b;return}function KM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;i=p+36|0;j=p+32|0;k=p+28|0;m=p+24|0;n=p+20|0;o=p+16|0;f=p+12|0;g=p;h=p+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;if((c[c[k>>2]>>2]|0)==0?(c[h>>2]=RN(c[j>>2]|0,c[k>>2]|0)|0,c[h>>2]|0):0){c[i>>2]=c[h>>2];o=c[i>>2]|0;l=p;return o|0}c[o>>2]=c[c[k>>2]>>2];c[f>>2]=fJ(c[o>>2]|0,0)|0;o=bM(c[f>>2]|0,g)|0;c[f>>2]=(c[f>>2]|0)+o;o=g;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[i>>2]=267;o=c[i>>2]|0;l=p;return o|0}o=c[m>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=0;if(c[n>>2]|0)c[c[n>>2]>>2]=c[f>>2];c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}function LM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=f+12|0;i=f;g=f+8|0;c[h>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=i;e=QN(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function MM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+24|0;e=i+20|0;f=i+16|0;g=i+12|0;h=i;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=QM(c[(c[j>>2]|0)+12>>2]|0,164,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){j=c[g>>2]|0;l=i;return j|0}c[c[f>>2]>>2]=c[h+8>>2];j=c[g>>2]|0;l=i;return j|0}function NM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;r=t+56|0;j=t+52|0;k=t+48|0;s=t+44|0;m=t+40|0;n=t+36|0;o=t+32|0;p=t+28|0;d=t+24|0;e=t+20|0;q=t+16|0;f=t+12|0;g=t+8|0;h=t+4|0;i=t;c[j>>2]=a;c[k>>2]=b;c[o>>2]=0;c[s>>2]=pe(c[(c[j>>2]|0)+20>>2]<<4)|0;if(!(c[s>>2]|0)){c[r>>2]=7;s=c[r>>2]|0;l=t;return s|0}m0(c[s>>2]|0,0,c[(c[j>>2]|0)+20>>2]<<4|0)|0;QM(c[(c[j>>2]|0)+12>>2]|0,165,c[s>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[k>>2]|0)+8>>2]|0))break;c[p>>2]=(c[s>>2]|0)+(c[m>>2]<<4);c[o>>2]=(c[o>>2]|0)-(c[(c[(c[c[p>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[p>>2]|0)+4>>2]=c[o>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+4>>2]|0)){a=33;break}c[d>>2]=0;c[e>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[k>>2]|0)+8>>2]|0))break;c[f>>2]=(c[s>>2]|0)+(c[m>>2]<<4);c[q>>2]=TM(c[j>>2]|0,c[c[f>>2]>>2]|0,c[n>>2]|0,(c[f>>2]|0)+8|0)|0;if(c[q>>2]|0){a=11;break a}if(c[(c[f>>2]|0)+8>>2]|0){c[(c[f>>2]|0)+12>>2]=c[(c[f>>2]|0)+4>>2];ON((c[s>>2]|0)+(c[m>>2]<<4)|0)|0;c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}while(1){if((c[e>>2]|0)<=0)break;c[g>>2]=0;c[h>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[k>>2]|0)+8>>2]|0))break;c[i>>2]=(c[s>>2]|0)+(c[m>>2]<<4);if(c[(c[i>>2]|0)+8>>2]|0){if(!((c[g>>2]|0)!=0?(c[(c[i>>2]|0)+12>>2]|0)>=(c[(c[g>>2]|0)+12>>2]|0):0))c[g>>2]=c[i>>2];if((c[h>>2]|0)!=0?(c[(c[i>>2]|0)+12>>2]|0)!=(c[(c[i>>2]|0)+-16+12>>2]|0):0)c[h>>2]=1;else c[h>>2]=(c[h>>2]|0)+1;if((c[h>>2]|0)>(c[d>>2]|0))c[d>>2]=c[h>>2]}else c[h>>2]=0;c[m>>2]=(c[m>>2]|0)+1}if(!(ON(c[g>>2]|0)|0))continue;c[e>>2]=(c[e>>2]|0)+-1}c[(c[(c[k>>2]|0)+28>>2]|0)+(c[n>>2]<<2)>>2]=c[d>>2];c[n>>2]=(c[n>>2]|0)+1}if((a|0)==11){c[r>>2]=c[q>>2];s=c[r>>2]|0;l=t;return s|0}else if((a|0)==33){_d(c[s>>2]|0);c[r>>2]=0;s=c[r>>2]|0;l=t;return s|0}return 0}function OM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0|0){l=g;return}a=(c[e>>2]|0)+24|0;b=(c[c[f>>2]>>2]|0)+32|0;if(!((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0)){l=g;return}a=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){OM(c[a+12>>2]|0,c[f>>2]|0);OM(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);l=g;return}else{MN(a,c[f>>2]|0);l=g;return}}function PM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;g=e+8|0;i=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[i>>2]=d;c[f>>2]=c[i>>2];d=JN(c[c[f>>2]>>2]|0,c[h>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+((S((c[g>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0)<<2)|0)|0;l=e;return d|0}function QM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;i=e+12|0;g=e+8|0;f=e+4|0;h=e;c[i>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;d=IN(c[i>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function RM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];c[g>>2]=0;if(c[f>>2]|0){f=c[f>>2]|0;f=(f|0)==0;g=c[g>>2]|0;g=(g|0)!=0;g=f?g:0;g=g&1;l=h;return g|0}if(c[(c[d>>2]|0)+24>>2]|0?(c[f>>2]=vN(0,c[d>>2]|0)|0,(c[f>>2]|0)==0):0)c[f>>2]=wN(c[d>>2]|0)|0;c[g>>2]=0==(xN(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,f)|0)&1;yN(c[d>>2]|0);c[c[e>>2]>>2]=c[f>>2];f=c[f>>2]|0;f=(f|0)==0;g=c[g>>2]|0;g=(g|0)!=0;g=f?g:0;g=g&1;l=h;return g|0}function SM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+28|0;e=m+24|0;n=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;k=m+4|0;f=m;c[g>>2]=a;c[e>>2]=b;c[n>>2]=d;c[h>>2]=0;c[i>>2]=c[n>>2];c[j>>2]=(S(c[e>>2]|0,c[(c[i>>2]|0)+4>>2]|0)|0)*3;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[(c[i>>2]|0)+4>>2]|0)?(c[h>>2]|0)==0:0))break;c[h>>2]=TM(c[c[i>>2]>>2]|0,c[g>>2]|0,c[k>>2]|0,f)|0;if(c[f>>2]|0){a=UM(f)|0;b=c[(c[i>>2]|0)+28>>2]|0;d=c[j>>2]|0;e=c[k>>2]|0}else{a=0;b=c[(c[i>>2]|0)+28>>2]|0;d=c[j>>2]|0;e=c[k>>2]|0}c[b+(d+(e*3|0)<<2)>>2]=a;c[k>>2]=(c[k>>2]|0)+1}l=m;return c[h>>2]|0}function TM(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;G=l;l=l+96|0;B=G+80|0;x=G+76|0;o=G+72|0;C=G+68|0;E=G+64|0;y=G+60|0;h=G+56|0;z=G+52|0;A=G+48|0;p=G;i=G+44|0;q=G+40|0;j=G+36|0;k=G+85|0;r=G+32|0;m=G+28|0;s=G+24|0;n=G+20|0;t=G+84|0;u=G+16|0;v=G+12|0;w=G+8|0;c[x>>2]=b;c[o>>2]=e;c[C>>2]=f;c[E>>2]=g;c[y>>2]=c[(c[o>>2]|0)+20>>2];c[h>>2]=c[c[x>>2]>>2];c[c[E>>2]>>2]=0;if((c[(c[y>>2]|0)+68>>2]|0)<(c[(c[h>>2]|0)+24>>2]|0)?(c[(c[y>>2]|0)+68>>2]|0)!=(c[C>>2]|0):0){c[B>>2]=0;F=c[B>>2]|0;l=G;return F|0}e=(c[o>>2]|0)+24|0;g=c[e+4>>2]|0;f=p;c[f>>2]=c[e>>2];c[f+4>>2]=g;c[z>>2]=c[(c[y>>2]|0)+28>>2];f=p;g=(c[x>>2]|0)+32|0;if(!(!((c[f>>2]|0)!=(c[g>>2]|0)?1:(c[f+4>>2]|0)!=(c[g+4>>2]|0))?!(d[(c[o>>2]|0)+32>>0]|0):0))F=6;do if((F|0)==6){c[i>>2]=0;c[q>>2]=d[(c[h>>2]|0)+231>>0];c[j>>2]=0;a[k>>0]=0;c[m>>2]=c[o>>2];c[r>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0))break;if((c[c[r>>2]>>2]|0)==4)c[j>>2]=1;if((c[c[r>>2]>>2]|0)==1)c[m>>2]=c[r>>2];if(a[(c[r>>2]|0)+32>>0]|0)a[k>>0]=1;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if(!(c[j>>2]|0)){c[B>>2]=0;F=c[B>>2]|0;l=G;return F|0}a:do if(c[(c[y>>2]|0)+40>>2]|0){c[n>>2]=d[(c[m>>2]|0)+32>>0];VM(c[x>>2]|0,c[m>>2]|0,i);b:while(1){if(c[i>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;WM(c[x>>2]|0,c[m>>2]|0,i);if(c[n>>2]|0)continue b;g=(c[m>>2]|0)+24|0;o=p;if(!(((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))&(c[i>>2]|0)==0))break a}}}while(0);c:do if((a[k>>0]|0)!=0&(c[i>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;WM(c[x>>2]|0,c[m>>2]|0,i)}while(!(c[i>>2]|0));while(0);if(c[i>>2]|0){c[B>>2]=c[i>>2];F=c[B>>2]|0;l=G;return F|0}c[s>>2]=1;c[r>>2]=c[m>>2];while(1){if(!(c[r>>2]|0))break;a[t>>0]=0;c[u>>2]=c[r>>2];if((c[c[u>>2]>>2]|0)==1)c[u>>2]=c[(c[u>>2]|0)+16>>2];c[v>>2]=c[(c[u>>2]|0)+20>>2];c[z>>2]=c[(c[v>>2]|0)+48>>2];g=(c[v>>2]|0)+56|0;o=c[g+4>>2]|0;b=p;c[b>>2]=c[g>>2];c[b+4>>2]=o;b=(c[(c[v>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[x>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(b)b=(c[z>>2]|0)>>>0>=((c[c[v>>2]>>2]|0)+(c[(c[v>>2]|0)+4>>2]|0)|0)>>>0;else b=1;a[t>>0]=b&1;while(1){if(c[z>>2]|0?(g=c[q>>2]|0?-1:1,n=p,o=(c[x>>2]|0)+32|0,o=Z$(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,r0(g|0,((g|0)<0)<<31>>31|0,o|0,D|0)|0,(D|0)>=0):0)break d;if(d[t>>0]|0)break d;XM(c[q>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,z,p,t)}}else{if(b)if(c[z>>2]|0)b=(c[z>>2]|0)>>>0<=(c[c[v>>2]>>2]|0)>>>0;else b=0;else b=1;a[t>>0]=b&1;while(1){if(c[z>>2]|0?(g=c[q>>2]|0?-1:1,n=p,o=(c[x>>2]|0)+32|0,o=Z$(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=r0(g|0,((g|0)<0)<<31>>31|0,o|0,D|0)|0,g=D,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[t>>0]|0)break d;dM(c[q>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,z,p,w,t)}}while(0);c[(c[v>>2]|0)+48>>2]=c[z>>2];n=p;g=c[n+4>>2]|0;o=(c[v>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!(!(d[t>>0]|0)?(g=p,o=(c[x>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[r>>2]=c[(c[r>>2]|0)+12>>2]}if(c[s>>2]|0){c[z>>2]=c[(c[y>>2]|0)+48>>2];break}else{c[z>>2]=0;break}}while(0);if(!(c[z>>2]|0)){c[B>>2]=0;F=c[B>>2]|0;l=G;return F|0}if((a[c[z>>2]>>0]|0)==1){c[z>>2]=(c[z>>2]|0)+1;b=c[z>>2]|0;if(d[c[z>>2]>>0]&128|0)b=cM(b,A)|0;else{c[A>>2]=d[b>>0];b=1}c[z>>2]=(c[z>>2]|0)+b}else c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[C>>2]|0))break;aM(0,z);if(!(a[c[z>>2]>>0]|0)){F=65;break}c[z>>2]=(c[z>>2]|0)+1;b=c[z>>2]|0;if(d[c[z>>2]>>0]&128|0)b=cM(b,A)|0;else{c[A>>2]=d[b>>0];b=1}c[z>>2]=(c[z>>2]|0)+b}if((F|0)==65){c[B>>2]=0;F=c[B>>2]|0;l=G;return F|0}if(!(a[c[z>>2]>>0]|0))c[z>>2]=0;c[c[E>>2]>>2]=(c[C>>2]|0)==(c[A>>2]|0)?c[z>>2]|0:0;c[B>>2]=0;F=c[B>>2]|0;l=G;return F|0}function UM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;e=h+4|0;f=h+12|0;g=h;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];a[f>>0]=0;c[g>>2]=0;while(1){b=c[e>>2]|0;if(!(254&(a[c[e>>2]>>0]|a[f>>0])))break;c[e>>2]=b+1;a[f>>0]=a[b>>0]&128;if(a[f>>0]|0)continue;c[g>>2]=(c[g>>2]|0)+1}c[c[d>>2]>>2]=b;l=h;return c[g>>2]|0}function VM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){l=m;return}if(c[c[h>>2]>>2]|0){l=m;return}c[i>>2]=c[(c[g>>2]|0)+20>>2];if(c[i>>2]|0){YM(c[i>>2]|0);if(c[(c[i>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[i>>2]|0)+64>>2]|0))break;c[k>>2]=(c[i>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[k>>2]|0)+20>>2]|0)fN(c[(c[k>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}k=gN(c[f>>2]|0,0,c[i>>2]|0)|0;c[c[h>>2]>>2]=k}c[(c[i>>2]|0)+8>>2]=0;k=(c[i>>2]|0)+16|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[i>>2]|0)+48>>2]=0}k=(c[g>>2]|0)+24|0;c[k>>2]=0;c[k+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;VM(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);VM(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);l=m;return}function WM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;r=x+64|0;w=x+60|0;s=x+56|0;t=x+52|0;u=x+48|0;v=x+44|0;o=x+8|0;p=x+40|0;q=x+36|0;k=x+32|0;m=x+28|0;n=x;g=x+24|0;h=x+20|0;i=x+16|0;c[r>>2]=b;c[w>>2]=e;c[s>>2]=f;if(c[c[s>>2]>>2]|0){l=x;return}c[t>>2]=d[(c[r>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){WM(c[r>>2]|0,c[v>>2]|0,c[s>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;l=x;return}n=(a[(c[v>>2]|0)+34>>0]|0)!=0;WM(c[r>>2]|0,c[u>>2]|0,c[s>>2]|0);if(n){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;l=x;return}WM(c[r>>2]|0,c[v>>2]|0,c[s>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[s>>2]>>2]|0)break;n=c[t>>2]|0?-1:1;k=(c[u>>2]|0)+24|0;m=(c[v>>2]|0)+24|0;m=Z$(c[k>>2]|0,c[k+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=r0(n|0,((n|0)<0)<<31>>31|0,m|0,D|0)|0;n=o;c[n>>2]=m;c[n+4>>2]=D;n=o;if((c[n>>2]|0)==0&(c[n+4>>2]|0)==0)break;b=c[r>>2]|0;if((c[o+4>>2]|0)<0){WM(b,c[u>>2]|0,c[s>>2]|0);continue}else{WM(b,c[v>>2]|0,c[s>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;t=(c[w>>2]|0)+24|0;c[t>>2]=c[n>>2];c[t+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){l=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){l=x;return}a:do if(c[(c[v>>2]|0)+20>>2]|0?c[c[(c[v>>2]|0)+20>>2]>>2]|0:0){c[p>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[s>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;m0(c[(c[p>>2]|0)+28>>2]|0,0,c[(c[p>>2]|0)+32>>2]|0)|0;WM(c[r>>2]|0,c[v>>2]|0,c[s>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){l=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){l=x;return}c[q>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[s>>2]>>2]|0){j=54;break}if(d[(c[u>>2]|0)+32>>0]|0){j=54;break}m0(c[(c[q>>2]|0)+28>>2]|0,0,c[(c[q>>2]|0)+32>>2]|0)|0;WM(c[r>>2]|0,c[u>>2]|0,c[s>>2]|0)}if((j|0)==54){l=x;return}break}case 4:{c[k>>2]=c[(c[w>>2]|0)+12>>2];c[m>>2]=c[(c[w>>2]|0)+16>>2];v=c[t>>2]|0?-1:1;q=(c[k>>2]|0)+24|0;u=(c[m>>2]|0)+24|0;u=Z$(c[q>>2]|0,c[q+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=r0(v|0,((v|0)<0)<<31>>31|0,u|0,D|0)|0;v=n;c[v>>2]=u;c[v+4>>2]=D;do if(!(d[(c[m>>2]|0)+32>>0]|0)?!((c[n+4>>2]|0)<0?(d[(c[k>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[k>>2]|0)+32>>0]|0)==0?(v=n,u=c[v+4>>2]|0,!((d[(c[m>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){WM(c[r>>2]|0,c[k>>2]|0,c[s>>2]|0);WM(c[r>>2]|0,c[m>>2]|0,c[s>>2]|0);break}WM(c[r>>2]|0,c[m>>2]|0,c[s>>2]|0)}else j=33;while(0);if((j|0)==33)WM(c[r>>2]|0,c[k>>2]|0,c[s>>2]|0);if(d[(c[k>>2]|0)+32>>0]|0)b=(d[(c[m>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=c[t>>2]|0?-1:1;t=(c[k>>2]|0)+24|0;u=(c[m>>2]|0)+24|0;u=Z$(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=r0(v|0,((v|0)<0)<<31>>31|0,u|0,D|0)|0;v=n;c[v>>2]=u;c[v+4>>2]=D;if(!(d[(c[m>>2]|0)+32>>0]|0)?!((c[n+4>>2]|0)<0?(d[(c[k>>2]|0)+32>>0]|0)==0:0):0){g=(c[m>>2]|0)+24|0;b=c[w>>2]|0;e=c[g>>2]|0;g=c[g+4>>2]|0}else{g=(c[k>>2]|0)+24|0;b=c[w>>2]|0;e=c[g>>2]|0;g=c[g+4>>2]|0}w=b+24|0;c[w>>2]=e;c[w+4>>2]=g;l=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[h>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[h>>2]|0)+33>>0]|0))WM(c[r>>2]|0,c[h>>2]|0,c[s>>2]|0);WM(c[r>>2]|0,c[g>>2]|0,c[s>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[s>>2]>>2]|0)break b;if(a[(c[h>>2]|0)+32>>0]|0)break b;u=c[t>>2]|0?-1:1;q=(c[g>>2]|0)+24|0;v=(c[h>>2]|0)+24|0;v=Z$(c[q>>2]|0,c[q+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=r0(u|0,((u|0)<0)<<31>>31|0,v|0,D|0)|0;u=D;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;WM(c[r>>2]|0,c[h>>2]|0,c[s>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;l=x;return}default:{c[i>>2]=c[(c[w>>2]|0)+20>>2];YM(c[i>>2]|0);u=ZM(c[r>>2]|0,c[i>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[s>>2]>>2]=u;u=(c[i>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;l=x;return}}}function XM(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;i=r+16|0;j=r+12|0;k=r+8|0;m=r;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[i>>2]=g;c[j>>2]=h;c[k>>2]=c[c[q>>2]>>2];if(!(c[k>>2]|0)){c[k>>2]=c[o>>2];p=bM(c[k>>2]|0,c[i>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p;p=c[k>>2]|0;q=c[q>>2]|0;c[q>>2]=p;l=r;return}gM(0,k);while(1){if((c[k>>2]|0)>>>0<((c[o>>2]|0)+(c[p>>2]|0)|0)>>>0)d=(a[c[k>>2]>>0]|0)==0;else d=0;b=c[k>>2]|0;if(!d)break;c[k>>2]=b+1}if(b>>>0>=((c[o>>2]|0)+(c[p>>2]|0)|0)>>>0){a[c[j>>2]>>0]=1;p=c[k>>2]|0;q=c[q>>2]|0;c[q>>2]=p;l=r;return}else{p=bM(c[k>>2]|0,m)|0;c[k>>2]=(c[k>>2]|0)+p;p=c[n>>2]|0?-1:1;o=m;o=r0(p|0,((p|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[i>>2]|0;n=p;o=_$(c[n>>2]|0,c[n+4>>2]|0,o|0,D|0)|0;c[p>>2]=o;c[p+4>>2]=D;p=c[k>>2]|0;q=c[q>>2]|0;c[q>>2]=p;l=r;return}}function YM(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)_d(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;l=d;return}function ZM(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[i>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];a=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[h>>2]=_M(a,c[f>>2]|0,c[g>>2]|0)|0;m=c[h>>2]|0;l=k;return m|0}if((d[a+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?c[(c[i>>2]|0)+4>>2]|0:0){dM(d[(c[j>>2]|0)+231>>0]|0,c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0,(c[i>>2]|0)+8|0,(c[i>>2]|0)+16|0,(c[i>>2]|0)+32|0,c[g>>2]|0);c[(c[i>>2]|0)+28>>2]=c[(c[i>>2]|0)+8>>2];m=c[h>>2]|0;l=k;return m|0}$M(c[j>>2]|0,c[i>>2]|0,c[g>>2]|0);m=c[h>>2]|0;l=k;return m|0}function _M(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;E=l;l=l+192|0;w=E+172|0;g=E+168|0;x=E+164|0;y=E+160|0;z=E+156|0;A=E+152|0;B=E+148|0;h=E+176|0;i=E+144|0;j=E+8|0;k=E+140|0;m=E;n=E+136|0;o=E+132|0;p=E+128|0;q=E+124|0;r=E+120|0;s=E+116|0;t=E+112|0;u=E+108|0;v=E+104|0;c[g>>2]=b;c[x>>2]=e;c[y>>2]=f;c[z>>2]=0;c[A>>2]=c[x>>2];c[B>>2]=c[c[g>>2]>>2];a[h>>0]=0;if((c[(c[x>>2]|0)+64>>2]|0)==1?c[(c[x>>2]|0)+40>>2]|0:0){c[z>>2]=aN(c[B>>2]|0,c[(c[x>>2]|0)+72+20>>2]|0,(c[A>>2]|0)+16|0,(c[A>>2]|0)+28|0,(c[A>>2]|0)+32|0)|0;if(!(c[(c[A>>2]|0)+28>>2]|0))a[h>>0]=1}else C=5;a:do if((C|0)==5){c[i>>2]=d[(c[g>>2]|0)+52>>0];b=j;e=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));while(1){if(d[h>>0]|0|0)break a;c[k>>2]=0;g=m;c[g>>2]=0;c[g+4>>2]=0;c[n>>2]=0;while(1){if(c[z>>2]|0)break;if((c[n>>2]|0)>=(c[(c[x>>2]|0)+64>>2]|0))break;if(d[h>>0]|0|0)break;c[z>>2]=bN(c[B>>2]|0,c[x>>2]|0,c[n>>2]|0,j+((c[n>>2]|0)*24|0)|0,h)|0;do if(!(c[j+((c[n>>2]|0)*24|0)>>2]|0)){if(c[k>>2]|0?(f=c[i>>2]|0?-1:1,e=m,g=j+((c[n>>2]|0)*24|0)+8|0,g=Z$(c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0,r0(f|0,((f|0)<0)<<31>>31|0,g|0,D|0)|0,(D|0)>=0):0)break;e=j+((c[n>>2]|0)*24|0)+8|0;f=c[e+4>>2]|0;g=m;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[k>>2]=1}while(0);c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[x>>2]|0)+64>>2]|0))break;while(1){if(c[z>>2]|0)break;if(d[h>>0]|0|0)break;if(c[j+((c[n>>2]|0)*24|0)>>2]|0)break;f=c[i>>2]|0?-1:1;e=j+((c[n>>2]|0)*24|0)+8|0;g=m;g=Z$(c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;r0(f|0,((f|0)<0)<<31>>31|0,g|0,D|0)|0;if((D|0)>=0)break;c[z>>2]=bN(c[B>>2]|0,c[x>>2]|0,c[n>>2]|0,j+((c[n>>2]|0)*24|0)|0,h)|0;f=c[i>>2]|0?-1:1;e=j+((c[n>>2]|0)*24|0)+8|0;g=m;g=Z$(c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;g=r0(f|0,((f|0)<0)<<31>>31|0,g|0,D|0)|0;f=D;if(!((f|0)>0|(f|0)==0&g>>>0>0))continue;e=j+((c[n>>2]|0)*24|0)+8|0;f=c[e+4>>2]|0;g=m;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[n>>2]=0}c[n>>2]=(c[n>>2]|0)+1}if(d[h>>0]|0|0)continue;c[o>>2]=0;c[p>>2]=c[j+(((c[(c[x>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[q>>2]=pe((c[p>>2]|0)+1|0)|0;if(!(c[q>>2]|0))break;h0(c[q>>2]|0,c[j+(((c[(c[x>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[p>>2]|0)+1|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[x>>2]|0)+64>>2]|0)-1|0))break;if(!(c[j+((c[n>>2]|0)*24|0)>>2]|0)){c[r>>2]=c[j+((c[n>>2]|0)*24|0)+16>>2];c[s>>2]=c[q>>2];c[t>>2]=c[q>>2];c[u>>2]=(c[(c[x>>2]|0)+64>>2]|0)-1-(c[n>>2]|0);c[v>>2]=cN(t,c[u>>2]|0,0,1,r,s)|0;if(!(c[v>>2]|0))break;c[o>>2]=(c[t>>2]|0)-(c[q>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)==((c[(c[x>>2]|0)+64>>2]|0)-1|0)){C=35;break}_d(c[q>>2]|0)}if((C|0)==35){x=m;B=c[x+4>>2]|0;C=(c[A>>2]|0)+16|0;c[C>>2]=c[x>>2];c[C+4>>2]=B;c[(c[A>>2]|0)+28>>2]=c[q>>2];c[(c[A>>2]|0)+32>>2]=c[o>>2];c[(c[A>>2]|0)+24>>2]=1;break}c[w>>2]=7;C=c[w>>2]|0;l=E;return C|0}while(0);a[c[y>>2]>>0]=a[h>>0]|0;c[w>>2]=c[z>>2];C=c[w>>2]|0;l=E;return C|0}function $M(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;h=n;c[g>>2]=b;c[i>>2]=e;c[j>>2]=f;c[m>>2]=(c[c[i>>2]>>2]|0)+(c[(c[i>>2]|0)+4>>2]|0);b=c[i>>2]|0;if(c[(c[i>>2]|0)+8>>2]|0)c[k>>2]=c[b+8>>2];else c[k>>2]=c[b>>2];if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0){a[c[j>>2]>>0]=1;l=n;return}f=bM(c[k>>2]|0,h)|0;c[k>>2]=(c[k>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[i>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[i>>2]|0)+16|0;f=h;g=Z$(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=D}else{g=h;h=(c[i>>2]|0)+16|0;f=h;g=_$(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=D}c[(c[i>>2]|0)+28>>2]=c[k>>2];gM(0,k);c[(c[i>>2]|0)+32>>2]=(c[k>>2]|0)-(c[(c[i>>2]|0)+28>>2]|0);while(1){if((c[k>>2]|0)>>>0<(c[m>>2]|0)>>>0)b=(a[c[k>>2]>>0]|0)==0;else b=0;e=c[k>>2]|0;if(!b)break;c[k>>2]=e+1}c[(c[i>>2]|0)+8>>2]=e;a[c[j>>2]>>0]=0;l=n;return}function aN(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;u=x+60|0;n=x+56|0;o=x+52|0;v=x+48|0;w=x+44|0;p=x+40|0;h=x+36|0;i=x+32|0;j=x+28|0;k=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;m=x+8|0;t=x;c[n>>2]=a;c[o>>2]=b;c[v>>2]=e;c[w>>2]=f;c[p>>2]=g;c[h>>2]=c[(c[o>>2]|0)+8>>2];c[i>>2]=c[c[o>>2]>>2];c[j>>2]=d[(c[n>>2]|0)+231>>0]|0|0?215:216;if(!(c[h>>2]|0)){c[c[w>>2]>>2]=0;c[u>>2]=0;w=c[u>>2]|0;l=x;return w|0}while(1){c[k>>2]=c[c[c[o>>2]>>2]>>2];if(!(c[(c[k>>2]|0)+80>>2]|0)){a=4;break}e=(c[c[i>>2]>>2]|0)+88|0;f=c[e+4>>2]|0;g=t;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[q>>2]=ZL(c[n>>2]|0,c[c[i>>2]>>2]|0,r,s)|0;c[m>>2]=1;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[h>>2]|0))break;if(!(c[(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0)+80>>2]|0))break;f=(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[f>>2]|0)==(c[g>>2]|0)?(c[f+4>>2]|0)==(c[g+4>>2]|0):0))break;c[q>>2]=ZL(c[n>>2]|0,c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0,0,0)|0;c[m>>2]=(c[m>>2]|0)+1}if(c[q>>2]|0){a=12;break}WL(c[c[o>>2]>>2]|0,c[h>>2]|0,c[m>>2]|0,c[j>>2]|0);if((c[s>>2]|0)>0?c[(c[c[i>>2]>>2]|0)+56>>2]|0:0){c[q>>2]=XL(c[o>>2]|0,c[r>>2]|0,(c[s>>2]|0)+1|0)|0;if(c[q>>2]|0){a=16;break}c[r>>2]=c[(c[o>>2]|0)+16>>2]}if((c[(c[o>>2]|0)+24>>2]|0)>=0)_L(c[(c[o>>2]|0)+24>>2]|0,1,r,s);if((c[s>>2]|0)>0){a=21;break}}if((a|0)==4)c[c[w>>2]>>2]=0;else if((a|0)==12){c[u>>2]=c[q>>2];w=c[u>>2]|0;l=x;return w|0}else if((a|0)==16){c[u>>2]=c[q>>2];w=c[u>>2]|0;l=x;return w|0}else if((a|0)==21){c[c[w>>2]>>2]=c[r>>2];r=t;t=c[r+4>>2]|0;w=c[v>>2]|0;c[w>>2]=c[r>>2];c[w+4>>2]=t;c[c[p>>2]>>2]=c[s>>2]}c[u>>2]=0;w=c[u>>2]|0;l=x;return w|0}function bN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;h=p+4|0;i=p;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[h>>2]=0;if((c[(c[k>>2]|0)+44>>2]|0)==(c[m>>2]|0)){$M(c[j>>2]|0,c[k>>2]|0,c[o>>2]|0);c[(c[n>>2]|0)+16>>2]=c[(c[k>>2]|0)+28>>2];c[(c[n>>2]|0)+20>>2]=c[(c[k>>2]|0)+32>>2];k=(c[k>>2]|0)+16|0;m=c[k+4>>2]|0;o=(c[n>>2]|0)+8|0;c[o>>2]=c[k>>2];c[o+4>>2]=m;o=c[h>>2]|0;l=p;return o|0}c[i>>2]=(c[k>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[i>>2]|0)+20>>2]|0)){c[c[n>>2]>>2]=1;o=c[h>>2]|0;l=p;return o|0}c[h>>2]=aN(c[j>>2]|0,c[(c[i>>2]|0)+20>>2]|0,(c[n>>2]|0)+8|0,(c[n>>2]|0)+16|0,(c[n>>2]|0)+20|0)|0;if(c[(c[n>>2]|0)+16>>2]|0){o=c[h>>2]|0;l=p;return o|0}a[c[o>>2]>>0]=1;o=c[h>>2]|0;l=p;return o|0}function cN(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+96|0;x=C+80|0;y=C+76|0;z=C+72|0;A=C+68|0;j=C+64|0;k=C+60|0;m=C+56|0;n=C+52|0;o=C+48|0;p=C+44|0;q=C+40|0;r=C+36|0;s=C+32|0;t=C+24|0;u=C+16|0;v=C+8|0;w=C;c[y>>2]=b;c[z>>2]=e;c[A>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=i;c[n>>2]=c[c[y>>2]>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=c[c[m>>2]>>2];c[q>>2]=0;c[r>>2]=0;if((a[c[o>>2]>>0]|0)==1){c[o>>2]=(c[o>>2]|0)+1;b=c[o>>2]|0;if(d[c[o>>2]>>0]&128|0)b=cM(b,q)|0;else{c[q>>2]=d[b>>0];b=1}c[o>>2]=(c[o>>2]|0)+b}if((a[c[p>>2]>>0]|0)==1){c[p>>2]=(c[p>>2]|0)+1;b=c[p>>2]|0;if(d[c[p>>2]>>0]&128|0)b=cM(b,r)|0;else{c[r>>2]=d[b>>0];b=1}c[p>>2]=(c[p>>2]|0)+b}while(1){if((c[q>>2]|0)!=(c[r>>2]|0))if((c[q>>2]|0)<(c[r>>2]|0)){aM(0,o);if(!(a[c[o>>2]>>0]|0))break;c[o>>2]=(c[o>>2]|0)+1;b=c[o>>2]|0;if(d[c[o>>2]>>0]&128|0)b=cM(b,q)|0;else{c[q>>2]=d[b>>0];b=1}c[o>>2]=(c[o>>2]|0)+b;continue}else{aM(0,p);if(!(a[c[p>>2]>>0]|0))break;c[p>>2]=(c[p>>2]|0)+1;b=c[p>>2]|0;if(d[c[p>>2]>>0]&128|0)b=cM(b,r)|0;else{c[r>>2]=d[b>>0];b=1}c[p>>2]=(c[p>>2]|0)+b;continue}c[s>>2]=c[n>>2];i=t;c[i>>2]=0;c[i+4>>2]=0;i=u;c[i>>2]=0;c[i+4>>2]=0;i=v;c[i>>2]=0;c[i+4>>2]=0;if(c[q>>2]|0){i=c[n>>2]|0;c[n>>2]=i+1;a[i>>0]=1;i=c[q>>2]|0;i=NL(c[n>>2]|0,i,((i|0)<0)<<31>>31)|0;c[n>>2]=(c[n>>2]|0)+i}dN(o,u);i=u;i=Z$(c[i>>2]|0,c[i+4>>2]|0,2,0)|0;h=u;c[h>>2]=i;c[h+4>>2]=D;dN(p,v);h=v;h=Z$(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;i=v;c[i>>2]=h;c[i+4>>2]=D;while(1){i=v;g=c[i>>2]|0;i=c[i+4>>2]|0;f=u;h=c[z>>2]|0;h=_$(c[f>>2]|0,c[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((g|0)==(h|0)&(i|0)==(D|0))){if(((c[j>>2]|0)==0?(h=v,f=c[h+4>>2]|0,i=u,g=c[i+4>>2]|0,(f|0)>(g|0)|((f|0)==(g|0)?(c[h>>2]|0)>>>0>(c[i>>2]|0)>>>0:0)):0)?(f=v,h=c[f>>2]|0,f=c[f+4>>2]|0,g=u,i=c[z>>2]|0,i=_$(c[g>>2]|0,c[g+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,g=D,(f|0)<(g|0)|(f|0)==(g|0)&h>>>0<=i>>>0):0)B=19}else B=19;if((B|0)==19){B=0;e=(c[A>>2]|0)!=0;f=u;g=v;i=e?c[f+4>>2]|0:c[g+4>>2]|0;h=w;c[h>>2]=e?c[f>>2]|0:c[g>>2]|0;c[h+4>>2]=i;h=w;h=_$(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;eN(n,t,h,D);h=t;h=Z$(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;i=t;c[i>>2]=h;c[i+4>>2]=D;c[s>>2]=0}if(!(!(c[A>>2]|0)?(f=v,h=c[f>>2]|0,f=c[f+4>>2]|0,g=u,i=c[z>>2]|0,i=_$(c[g>>2]|0,c[g+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,g=D,(f|0)<(g|0)|(f|0)==(g|0)&h>>>0<=i>>>0):0))B=22;if((B|0)==22?(B=0,h=v,f=c[h+4>>2]|0,i=u,g=c[i+4>>2]|0,!((f|0)<(g|0)|((f|0)==(g|0)?(c[h>>2]|0)>>>0<=(c[i>>2]|0)>>>0:0))):0){if(!(a[c[o>>2]>>0]&254))break;dN(o,u);h=u;h=Z$(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;i=u;c[i>>2]=h;c[i+4>>2]=D;continue}if(!(a[c[p>>2]>>0]&254))break;dN(p,v);h=v;h=Z$(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;i=v;c[i>>2]=h;c[i+4>>2]=D}if(c[s>>2]|0)c[n>>2]=c[s>>2];aM(0,o);aM(0,p);if(!(a[c[o>>2]>>0]|0))break;if(!(a[c[p>>2]>>0]|0))break;c[o>>2]=(c[o>>2]|0)+1;b=c[o>>2]|0;if(d[c[o>>2]>>0]&128|0)b=cM(b,q)|0;else{c[q>>2]=d[b>>0];b=1}c[o>>2]=(c[o>>2]|0)+b;c[p>>2]=(c[p>>2]|0)+1;b=c[p>>2]|0;if(d[c[p>>2]>>0]&128|0)b=cM(b,r)|0;else{c[r>>2]=d[b>>0];b=1}c[p>>2]=(c[p>>2]|0)+b}gM(0,p);gM(0,o);c[c[k>>2]>>2]=c[o>>2];c[c[m>>2]>>2]=c[p>>2];if((c[c[y>>2]>>2]|0)==(c[n>>2]|0)){c[x>>2]=0;B=c[x>>2]|0;l=C;return B|0}else{B=c[n>>2]|0;c[n>>2]=B+1;a[B>>0]=0;c[c[y>>2]>>2]=c[n>>2];c[x>>2]=1;B=c[x>>2]|0;l=C;return B|0}return 0}function dN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;b=bM(c[c[g>>2]>>2]|0,f)|0;a=c[g>>2]|0;c[a>>2]=(c[a>>2]|0)+b;a=f;b=c[e>>2]|0;e=b;a=_$(c[e>>2]|0,c[e+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=a;c[b+4>>2]=D;l=d;return}function eN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+12|0;g=f+8|0;h=f;c[i>>2]=a;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=c[c[i>>2]>>2]|0;e=h;d=c[g>>2]|0;d=Z$(c[e>>2]|0,c[e+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=NL(b,d,D)|0;b=c[i>>2]|0;c[b>>2]=(c[b>>2]|0)+d;b=h;d=c[b+4>>2]|0;e=c[g>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=d;l=f;return}function fN(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}l=e;return 0}function gN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;h=s+44|0;t=s+40|0;o=s+36|0;p=s+32|0;r=s+28|0;q=s+24|0;i=s+20|0;f=s+16|0;g=s+12|0;k=s+8|0;m=s+4|0;n=s;c[h>>2]=a;c[t>>2]=b;c[o>>2]=e;c[p>>2]=c[c[h>>2]>>2];c[r>>2]=0;c[i>>2]=0;if((c[t>>2]|0?(d[(c[h>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[o>>2]|0)+64>>2]|0)<=4:0)a=(c[(c[o>>2]|0)+64>>2]|0)>0;else a=0;c[f>>2]=a&1;c[q>>2]=0;while(1){if((c[f>>2]|0)!=1)break;if((c[q>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0))break;c[g>>2]=(c[o>>2]|0)+72+((c[q>>2]|0)*24|0);if(!(c[(c[g>>2]|0)+12>>2]|0)){if(c[(c[g>>2]|0)+20>>2]|0?(c[(c[(c[g>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)j=11}else j=11;if((j|0)==11){j=0;c[f>>2]=0}if(c[(c[g>>2]|0)+20>>2]|0)c[i>>2]=1;c[q>>2]=(c[q>>2]|0)+1}if(!((c[f>>2]|0)!=0&(c[i>>2]|0)!=0)){c[r>>2]=iN(c[h>>2]|0,c[o>>2]|0)|0;q=0;t=c[o>>2]|0;t=t+40|0;c[t>>2]=q;t=c[r>>2]|0;l=s;return t|0}if((c[(c[o>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))a=-1;else a=c[(c[o>>2]|0)+68>>2]|0;c[k>>2]=a;c[q>>2]=0;while(1){if(!(c[r>>2]|0))b=(c[q>>2]|0)<(c[(c[o>>2]|0)+64>>2]|0);else b=0;a=c[o>>2]|0;if(!b){b=1;break}c[m>>2]=a+72+((c[q>>2]|0)*24|0);c[n>>2]=c[(c[m>>2]|0)+20>>2];if(c[n>>2]|0)c[r>>2]=hN(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+1}t=a+40|0;c[t>>2]=b;t=c[r>>2]|0;l=s;return t|0}function hN(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+40|0;k=t+36|0;r=t+32|0;s=t+28|0;m=t+24|0;h=t+20|0;n=t+16|0;o=t+12|0;i=t+8|0;p=t+4|0;j=t;c[k>>2]=a;c[r>>2]=b;c[s>>2]=e;c[m>>2]=f;c[h>>2]=g;c[i>>2]=c[(c[r>>2]|0)+4>>2];c[p>>2]=d[(c[k>>2]|0)+231>>0]|0|0?215:216;c[o>>2]=kM(c[k>>2]|0,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;if(c[o>>2]|0){c[q>>2]=c[o>>2];s=c[q>>2]|0;l=t;return s|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[i>>2]|0))break;c[j>>2]=c[(c[c[r>>2]>>2]|0)+(c[n>>2]<<2)>>2];if(!(c[(c[j>>2]|0)+40>>2]|0))break;if(lM(c[j>>2]|0,c[m>>2]|0,c[h>>2]|0)|0)break;c[n>>2]=(c[n>>2]|0)+1}c[(c[r>>2]|0)+8>>2]=c[n>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0)){a=13;break}c[o>>2]=YL(c[k>>2]|0,c[(c[c[r>>2]>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;if(c[o>>2]|0){a=11;break}c[n>>2]=(c[n>>2]|0)+1}if((a|0)==11){c[q>>2]=c[o>>2];s=c[q>>2]|0;l=t;return s|0}else if((a|0)==13){WL(c[c[r>>2]>>2]|0,c[n>>2]|0,c[n>>2]|0,c[p>>2]|0);c[(c[r>>2]|0)+24>>2]=c[s>>2];c[q>>2]=0;s=c[q>>2]|0;l=t;return s|0}return 0}function iN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;g=k+8|0;h=k+4|0;i=k;c[m>>2]=a;c[d>>2]=b;c[e>>2]=c[c[m>>2]>>2];c[j>>2]=0;c[f>>2]=0;while(1){if(c[j>>2]|0){a=8;break}if((c[f>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){a=8;break}c[g>>2]=(c[d>>2]|0)+72+((c[f>>2]|0)*24|0);if(c[(c[g>>2]|0)+20>>2]|0?(c[h>>2]=0,c[i>>2]=0,c[j>>2]=jN(c[e>>2]|0,c[g>>2]|0,c[(c[d>>2]|0)+68>>2]|0,h,i)|0,(c[j>>2]|0)==0):0)c[j>>2]=kN(c[e>>2]|0,c[d>>2]|0,c[f>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}if((a|0)==8){l=k;return c[j>>2]|0}return 0}function jN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+192|0;m=r+176|0;n=r+172|0;o=r+168|0;p=r+164|0;q=r+160|0;g=r+156|0;h=r+152|0;i=r+24|0;j=r+8|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[h>>2]=c[(c[n>>2]|0)+20>>2];a=i;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[j+12>>2]=3|(c[(c[n>>2]|0)+8>>2]|0?8:0)|(c[(c[n>>2]|0)+12>>2]|0?32:0)|((c[o>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?4:0);c[j+8>>2]=c[o>>2];c[j>>2]=c[c[n>>2]>>2];c[j+4>>2]=c[(c[n>>2]|0)+4>>2];c[g>>2]=xL(c[m>>2]|0,c[h>>2]|0,j)|0;while(1){if(c[g>>2]|0)break;o=yL(c[m>>2]|0,c[h>>2]|0)|0;c[g>>2]=o;if(100!=(o|0))break;c[g>>2]=oN(c[m>>2]|0,i,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0}if(!(c[g>>2]|0))c[g>>2]=pN(c[m>>2]|0,i)|0;if(!(c[g>>2]|0)){c[c[q>>2]>>2]=c[i>>2];c[c[p>>2]>>2]=c[i+64>>2];q=c[h>>2]|0;qN(q);q=c[n>>2]|0;q=q+20|0;c[q>>2]=0;q=c[g>>2]|0;l=r;return q|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=16)break;_d(c[i+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}q=c[h>>2]|0;qN(q);q=c[n>>2]|0;q=q+20|0;c[q>>2]=0;q=c[g>>2]|0;l=r;return q|0}function kN(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+40|0;p=t+36|0;q=t+32|0;r=t+28|0;s=t+24|0;h=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[h>>2]=0;a=c[p>>2]|0;do if(!(c[r>>2]|0)){_d(c[a>>2]|0);c[c[p>>2]>>2]=0;c[(c[p>>2]|0)+4>>2]=0}else{if((c[a+44>>2]|0)<0){c[c[p>>2]>>2]=c[r>>2];c[(c[p>>2]|0)+4>>2]=c[s>>2];break}if(!(c[c[p>>2]>>2]|0)){_d(c[r>>2]|0);break}a=c[c[p>>2]>>2]|0;if((c[(c[p>>2]|0)+44>>2]|0)<(c[q>>2]|0)){c[i>>2]=a;c[k>>2]=c[(c[p>>2]|0)+4>>2];c[j>>2]=c[r>>2];c[m>>2]=c[s>>2];c[n>>2]=(c[q>>2]|0)-(c[(c[p>>2]|0)+44>>2]|0)}else{c[j>>2]=a;c[m>>2]=c[(c[p>>2]|0)+4>>2];c[i>>2]=c[r>>2];c[k>>2]=c[s>>2];c[n>>2]=(c[(c[p>>2]|0)+44>>2]|0)-(c[q>>2]|0)}c[h>>2]=lN(d[(c[o>>2]|0)+231>>0]|0,c[n>>2]|0,c[i>>2]|0,c[k>>2]|0,j,m)|0;_d(c[i>>2]|0);c[c[p>>2]>>2]=c[j>>2];c[(c[p>>2]|0)+4>>2]=c[m>>2]}while(0);if((c[q>>2]|0)<=(c[(c[p>>2]|0)+44>>2]|0)){s=c[h>>2]|0;l=t;return s|0}c[(c[p>>2]|0)+44>>2]=c[q>>2];s=c[h>>2]|0;l=t;return s|0}function lN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;C=l;l=l+112|0;z=C+104|0;A=C+100|0;B=C+96|0;E=C+92|0;F=C+88|0;h=C+84|0;i=C+80|0;j=C+32|0;k=C+24|0;m=C+16|0;n=C+76|0;o=C+72|0;p=C+68|0;q=C+64|0;r=C+60|0;s=C+56|0;t=C+52|0;u=C+48|0;v=C+8|0;w=C+44|0;x=C;y=C+40|0;c[A>>2]=a;c[B>>2]=b;c[E>>2]=d;c[F>>2]=e;c[h>>2]=f;c[i>>2]=g;g=j;c[g>>2]=0;c[g+4>>2]=0;g=k;c[g>>2]=0;c[g+4>>2]=0;g=m;c[g>>2]=0;c[g+4>>2]=0;c[n>>2]=c[c[h>>2]>>2];c[o>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[p>>2]=(c[n>>2]|0)+(c[c[i>>2]>>2]|0);c[q>>2]=c[E>>2];c[r>>2]=c[n>>2];c[t>>2]=0;if(c[A>>2]|0){c[u>>2]=pe((c[c[i>>2]>>2]|0)+10|0)|0;if(!(c[u>>2]|0)){c[z>>2]=7;F=c[z>>2]|0;l=C;return F|0}}else c[u>>2]=c[n>>2];c[s>>2]=c[u>>2];mN(q,c[o>>2]|0,0,j);mN(r,c[p>>2]|0,0,k);while(1){if(!(c[q>>2]|0?(c[r>>2]|0)!=0:0))break;F=c[A>>2]|0?-1:1;g=j;E=k;E=Z$(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=r0(F|0,((F|0)<0)<<31>>31|0,E|0,D|0)|0;F=v;c[F>>2]=E;c[F+4>>2]=D;F=v;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[v+4>>2]|0)<0){gM(0,q);mN(q,c[o>>2]|0,c[A>>2]|0,j);continue}else{gM(0,r);mN(r,c[p>>2]|0,c[A>>2]|0,k);continue}else{c[w>>2]=c[s>>2];g=m;E=c[g+4>>2]|0;F=x;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[y>>2]=c[t>>2];F=j;nN(s,c[A>>2]|0,m,t,c[F>>2]|0,c[F+4>>2]|0);if(!(cN(s,c[B>>2]|0,0,1,q,r)|0)){c[s>>2]=c[w>>2];g=x;E=c[g+4>>2]|0;F=m;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[t>>2]=c[y>>2]}mN(q,c[o>>2]|0,c[A>>2]|0,j);mN(r,c[p>>2]|0,c[A>>2]|0,k);continue}}c[c[i>>2]>>2]=(c[s>>2]|0)-(c[u>>2]|0);if(c[A>>2]|0){_d(c[n>>2]|0);c[c[h>>2]>>2]=c[u>>2]}c[z>>2]=0;F=c[z>>2]|0;l=C;return F|0}function mN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+20|0;k=j+16|0;g=j+12|0;h=j+8|0;i=j;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;c[h>>2]=e;a=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[k>>2]|0)>>>0){c[a>>2]=0;l=j;return}else{e=bM(c[a>>2]|0,i)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+e;g=(c[g>>2]|0)!=0;f=i;e=c[f>>2]|0;f=c[f+4>>2]|0;k=c[h>>2]|0;d=k;b=c[d>>2]|0;d=c[d+4>>2]|0;h=_$(b|0,d|0,e|0,f|0)|0;i=D;f=Z$(b|0,d|0,e|0,f|0)|0;c[k>>2]=g?f:h;c[k+4>>2]=g?D:i;l=j;return}}function nN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n+28|0;o=n+24|0;k=n+20|0;m=n+16|0;h=n+8|0;i=n;c[j>>2]=a;c[o>>2]=b;c[k>>2]=d;c[m>>2]=e;e=h;c[e>>2]=f;c[e+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[m>>2]>>2]|0)!=0:0){o=c[k>>2]|0;g=h;g=Z$(c[o>>2]|0,c[o+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;o=i;c[o>>2]=g;c[o+4>>2]=D}else{o=h;g=c[k>>2]|0;g=Z$(c[o>>2]|0,c[o+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;o=i;c[o>>2]=g;c[o+4>>2]=D}o=i;o=NL(c[c[j>>2]>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;g=c[j>>2]|0;c[g>>2]=(c[g>>2]|0)+o;g=h;j=c[g+4>>2]|0;o=c[k>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=j;c[c[m>>2]>>2]=1;l=n;return}function oN(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;n=t+40|0;o=t+36|0;p=t+32|0;q=t+28|0;g=t+24|0;r=t+20|0;h=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[g>>2]=f;a:do if(!(c[c[p>>2]>>2]|0)){s=pe((c[g>>2]|0)+10+1|0)|0;c[c[p>>2]>>2]=s;c[(c[p>>2]|0)+64>>2]=c[g>>2];if(c[c[p>>2]>>2]|0){h0(c[c[p>>2]>>2]|0,c[q>>2]|0,c[g>>2]|0)|0;break}c[n>>2]=7;s=c[n>>2]|0;l=t;return s|0}else{c[r>>2]=c[q>>2];c[h>>2]=c[g>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=16)break a;if(!(c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0)){s=8;break}c[m>>2]=rN(d[(c[o>>2]|0)+231>>0]|0,c[r>>2]|0,c[h>>2]|0,c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0,c[(c[p>>2]|0)+64+(c[i>>2]<<2)>>2]|0,j,k)|0;a=(c[r>>2]|0)!=(c[q>>2]|0);if(c[m>>2]|0)break;if(a)_d(c[r>>2]|0);_d(c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0);c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]=0;c[r>>2]=c[j>>2];c[h>>2]=c[k>>2];if(((c[i>>2]|0)+1|0)==16){c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]=c[r>>2];c[(c[p>>2]|0)+64+(c[i>>2]<<2)>>2]=c[h>>2]}c[i>>2]=(c[i>>2]|0)+1}if((s|0)==8){c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]=c[r>>2];c[(c[p>>2]|0)+64+(c[i>>2]<<2)>>2]=c[h>>2];break}if(a)_d(c[r>>2]|0);c[n>>2]=c[m>>2];s=c[n>>2]|0;l=t;return s|0}while(0);c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}function pN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;j=o+32|0;e=o+28|0;k=o+24|0;m=o+20|0;n=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;i=o;c[e>>2]=a;c[k>>2]=b;c[m>>2]=0;c[n>>2]=0;c[f>>2]=0;a:while(1){if((c[f>>2]|0)>=16){a=10;break}do if(c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]|0){if(!(c[m>>2]|0)){c[m>>2]=c[(c[k>>2]|0)+(c[f>>2]<<2)>>2];c[n>>2]=c[(c[k>>2]|0)+64+(c[f>>2]<<2)>>2];c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]=0;break}c[i>>2]=rN(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[f>>2]<<2)>>2]|0,c[m>>2]|0,c[n>>2]|0,h,g)|0;if(c[i>>2]|0){a=7;break a}_d(c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]|0);_d(c[m>>2]|0);c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]=0;c[m>>2]=c[h>>2];c[n>>2]=c[g>>2]}while(0);c[f>>2]=(c[f>>2]|0)+1}if((a|0)==7){_d(c[m>>2]|0);c[j>>2]=c[i>>2];n=c[j>>2]|0;l=o;return n|0}else if((a|0)==10){c[c[k>>2]>>2]=c[m>>2];c[(c[k>>2]|0)+64>>2]=c[n>>2];c[j>>2]=0;n=c[j>>2]|0;l=o;return n|0}return 0}function qN(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;EL(c[d>>2]|0);_d(c[d>>2]|0);l=b;return}function rN(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;y=l;l=l+96|0;w=y+88|0;x=y+84|0;C=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;i=y+64|0;j=y+60|0;k=y+24|0;m=y+16|0;n=y+8|0;o=y+56|0;p=y+52|0;q=y+48|0;r=y+44|0;s=y+40|0;t=y+36|0;u=y+32|0;v=y;c[x>>2]=a;c[C>>2]=b;c[A>>2]=d;c[B>>2]=e;c[z>>2]=f;c[i>>2]=g;c[j>>2]=h;h=k;c[h>>2]=0;c[h+4>>2]=0;h=m;c[h>>2]=0;c[h+4>>2]=0;h=n;c[h>>2]=0;c[h+4>>2]=0;c[o>>2]=(c[C>>2]|0)+(c[A>>2]|0);c[p>>2]=(c[B>>2]|0)+(c[z>>2]|0);c[q>>2]=c[C>>2];c[r>>2]=c[B>>2];c[u>>2]=0;c[c[i>>2]>>2]=0;c[c[j>>2]>>2]=0;c[t>>2]=pe((c[A>>2]|0)+(c[z>>2]|0)+10-1|0)|0;if(!(c[t>>2]|0)){c[w>>2]=7;C=c[w>>2]|0;l=y;return C|0}c[s>>2]=c[t>>2];mN(q,c[o>>2]|0,0,k);mN(r,c[p>>2]|0,0,m);while(1){if(!(c[q>>2]|0?1:(c[r>>2]|0)!=0))break;C=c[x>>2]|0?-1:1;A=k;B=m;B=Z$(c[A>>2]|0,c[A+4>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;B=r0(C|0,((C|0)<0)<<31>>31|0,B|0,D|0)|0;C=v;c[C>>2]=B;c[C+4>>2]=D;C=v;if((c[r>>2]|0)!=0&(c[q>>2]|0)!=0&((c[C>>2]|0)==0&(c[C+4>>2]|0)==0)){C=k;nN(s,c[x>>2]|0,n,u,c[C>>2]|0,c[C+4>>2]|0);sN(s,q,r);mN(q,c[o>>2]|0,c[x>>2]|0,k);mN(r,c[p>>2]|0,c[x>>2]|0,m);continue}if(c[r>>2]|0?!((c[q>>2]|0)!=0&(c[v+4>>2]|0)<0):0){C=m;nN(s,c[x>>2]|0,n,u,c[C>>2]|0,c[C+4>>2]|0);gM(s,r);mN(r,c[p>>2]|0,c[x>>2]|0,m);continue}C=k;nN(s,c[x>>2]|0,n,u,c[C>>2]|0,c[C+4>>2]|0);gM(s,q);mN(q,c[o>>2]|0,c[x>>2]|0,k)}c[c[i>>2]>>2]=c[t>>2];c[c[j>>2]>>2]=(c[s>>2]|0)-(c[t>>2]|0);c[w>>2]=0;C=c[w>>2]|0;l=y;return C|0}function sN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;m=t+56|0;n=t+52|0;o=t+48|0;p=t+44|0;q=t+40|0;r=t+36|0;s=t+32|0;g=t+28|0;h=t+16|0;i=t+8|0;j=t;k=t+24|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=c[c[m>>2]>>2];c[q>>2]=c[c[n>>2]>>2];c[r>>2]=c[c[o>>2]>>2];a:while(1){if((a[c[q>>2]>>0]|0)==0?(a[c[r>>2]>>0]|0)==0:0)break;b=c[q>>2]|0;do if((a[c[q>>2]>>0]|0)==1){e=(c[q>>2]|0)+1|0;if(d[b+1>>0]&128|0){cM(e,s)|0;break}else{c[s>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[s>>2]=2147483647;break}else{c[s>>2]=0;break}while(0);b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128|0){cM(e,g)|0;break}else{c[g>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[g>>2]=2147483647;break}else{c[g>>2]=0;break}while(0);if((c[s>>2]|0)!=(c[g>>2]|0))if((c[s>>2]|0)<(c[g>>2]|0)){f=tN(p,c[s>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+f;aM(p,q);continue}else{f=tN(p,c[g>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;aM(p,r);continue}f=h;c[f>>2]=0;c[f+4>>2]=0;f=i;c[f>>2]=0;c[f+4>>2]=0;f=j;c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=tN(p,c[s>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[k>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[k>>2]|0);dN(q,h);dN(r,i);while(1){e=h;u=c[e+4>>2]|0;b=i;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=h;f=i;eN(p,j,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=j;f=Z$(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=D;e=h;f=i;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=h;b=c[f+4>>2]|0;u=i;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){uN(q,h);break}else{uN(r,i);break}}else{uN(q,h);uN(r,i)}while(0);f=h;u=i;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[p>>2]|0;c[p>>2]=u+1;a[u>>0]=0;c[c[m>>2]>>2]=c[p>>2];c[c[n>>2]>>2]=(c[q>>2]|0)+1;c[c[o>>2]>>2]=(c[r>>2]|0)+1;l=t;return}function tN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){h=c[g>>2]|0;l=i;return h|0}c[h>>2]=c[c[e>>2]>>2];f=c[f>>2]|0;c[g>>2]=1+(NL((c[h>>2]|0)+1|0,f,((f|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);h=c[g>>2]|0;l=i;return h|0}function uN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254|0){dN(c[e>>2]|0,c[f>>2]|0);f=c[f>>2]|0;e=f;e=Z$(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;c[f>>2]=e;c[f+4>>2]=D;l=g;return}else{f=c[f>>2]|0;c[f>>2]=2147483647;c[f+4>>2]=0;l=g;return}}function vN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if(a[(c[g>>2]|0)+7>>0]|0?(c[i>>2]=0,c[h>>2]=HN(c[g>>2]|0,i)|0,(c[h>>2]|0)==0):0){i=(c[g>>2]|0)+32|0;qJ(c[(c[g>>2]|0)+8>>2]|0,1,c[i>>2]|0,c[i+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(Bs(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;i=c[e>>2]|0;l=j;return i|0}c[h>>2]=ys(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[h>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[h>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[h>>2]|0)!=0&(c[f>>2]|0)!=0)Wi(c[f>>2]|0,c[h>>2]|0);c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}function wN(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=l;l=l+80|0;b=v+64|0;m=v+60|0;n=v+56|0;o=v;p=v+52|0;q=v+48|0;r=v+44|0;s=v+40|0;t=v+36|0;e=v+32|0;f=v+28|0;g=v+24|0;h=v+20|0;i=v+16|0;j=v+12|0;k=v+8|0;c[b>>2]=a;c[m>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[m>>2]|0;l=v;return u|0}c[q>>2]=c[c[b>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+36>>2];c[s>>2]=c[c[r>>2]>>2];w=jJ(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=o;c[a>>2]=w;c[a+4>>2]=D;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[q>>2]|0)+24>>2]|0)?(c[m>>2]|0)==0:0))break;if(!(d[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]|0)>>0]|0)){c[t>>2]=Cv(c[(c[b>>2]|0)+8>>2]|0,(c[n>>2]|0)+1|0)|0;c[e>>2]=0;c[m>>2]=EN(c[r>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[t>>2]|0,-1,e)|0;a:while(1){if(c[m>>2]|0)break;c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;c[m>>2]=Gb[c[(c[s>>2]|0)+20>>2]&255](c[e>>2]|0,f,g,h,i,j)|0;c[p>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[p>>2]|0?(c[m>>2]|0)==0:0))continue a;c[k>>2]=c[c[p>>2]>>2];if(!((c[(c[p>>2]|0)+4>>2]|0)<(c[(c[q>>2]|0)+24>>2]|0)?(c[(c[p>>2]|0)+4>>2]|0)!=(c[n>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[k>>2]|0)+12>>2]|0)==0):0){if((c[(c[k>>2]|0)+4>>2]|0)!=(c[g>>2]|0)){if(!(c[(c[k>>2]|0)+8>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)>=(c[g>>2]|0))break}if(!(H_(c[f>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){x=o;a=c[n>>2]|0;w=c[j>>2]|0;FN((c[p>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,m)|0}}while(0);c[p>>2]=c[(c[p>>2]|0)+8>>2]}}if(c[e>>2]|0)Hb[c[(c[s>>2]|0)+16>>2]&255](c[e>>2]|0)|0;if((c[m>>2]|0)==101)c[m>>2]=0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[p>>2]|0?(c[m>>2]|0)==0:0))break;if(c[(c[p>>2]|0)+12>>2]|0)c[m>>2]=GN((c[p>>2]|0)+12|0,0,0)|0;c[p>>2]=c[(c[p>>2]|0)+8>>2]}x=c[m>>2]|0;l=v;return x|0}function xN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+28|0;k=p+24|0;h=p+20|0;o=p+16|0;n=p+12|0;i=p+8|0;j=p+4|0;g=p;c[m>>2]=b;c[k>>2]=e;c[h>>2]=f;c[o>>2]=1;if(c[c[h>>2]>>2]|0){o=c[o>>2]|0;l=p;return o|0}switch(c[c[k>>2]>>2]|0){case 3:case 1:{if(xN(c[m>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0)|0?xN(c[m>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[h>>2]|0)|0:0)b=(zN(c[k>>2]|0,c[h>>2]|0)|0)!=0;else b=0;c[o>>2]=b&1;if(c[o>>2]|0){o=c[o>>2]|0;l=p;return o|0}if((c[c[k>>2]>>2]|0)!=1){o=c[o>>2]|0;l=p;return o|0}if(c[(c[k>>2]|0)+8>>2]|0?(c[c[(c[k>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;l=p;return o|0}c[n>>2]=c[k>>2];while(1){b=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;j=(c[b+16>>2]|0)+24|0;k=(c[m>>2]|0)+32|0;if((c[j>>2]|0)==(c[k>>2]|0)?(c[j+4>>2]|0)==(c[k+4>>2]|0):0)YM(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}k=b+24|0;m=(c[m>>2]|0)+32|0;if(!((c[k>>2]|0)==(c[m>>2]|0)?(c[k+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;l=p;return o|0}YM(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;l=p;return o|0}case 4:{c[i>>2]=xN(c[m>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0)|0;c[j>>2]=xN(c[m>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[h>>2]|0)|0;c[o>>2]=(c[i>>2]|0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;l=p;return o|0}case 2:{if(xN(c[m>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0)|0)b=(xN(c[m>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[h>>2]|0)|0)!=0^1;else b=0;c[o>>2]=b&1;o=c[o>>2]|0;l=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){j=(c[k>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[j>>2]|0)==(c[n>>2]|0)?(c[j+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[k>>2]|0)+34>>0]|0)==0:0)break;c[g>>2]=c[(c[k>>2]|0)+20>>2];if(a[(c[k>>2]|0)+34>>0]|0)YM(c[g>>2]|0);j=AN(c[m>>2]|0,c[g>>2]|0)|0;c[c[h>>2]>>2]=j;c[o>>2]=(c[(c[g>>2]|0)+28>>2]|0)!=0&1;j=(c[m>>2]|0)+32|0;m=c[j+4>>2]|0;n=(c[k>>2]|0)+24|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;o=c[o>>2]|0;l=p;return o|0}while(0);if(!(d[(c[k>>2]|0)+32>>0]|0)){n=(c[k>>2]|0)+24|0;b=(c[m>>2]|0)+32|0;b=(c[n>>2]|0)==(c[b>>2]|0)?(c[n+4>>2]|0)==(c[b+4>>2]|0):0}else b=0;c[o>>2]=b&1;o=c[o>>2]|0;l=p;return o|0}}return 0}function yN(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;nL(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}l=d;return}function zN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;g=r+44|0;h=r+40|0;m=r+36|0;n=r+32|0;i=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;e=r+12|0;f=r+8|0;j=r+4|0;k=r;c[g>>2]=a;c[h>>2]=b;c[m>>2]=1;if(c[c[h>>2]>>2]|0){q=c[m>>2]|0;l=r;return q|0}if((c[c[g>>2]>>2]|0)!=1){q=c[m>>2]|0;l=r;return q|0}if(d[(c[g>>2]|0)+32>>0]|0|0){q=c[m>>2]|0;l=r;return q|0}if(c[(c[g>>2]|0)+8>>2]|0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)==1:0){q=c[m>>2]|0;l=r;return q|0}c[i>>2]=0;c[n>>2]=c[g>>2];while(1){a=c[n>>2]|0;if(!(c[(c[n>>2]|0)+12>>2]|0))break;c[i>>2]=(c[i>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}c[i>>2]=(c[i>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[i>>2]|0)){c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}c[o>>2]=pe(c[i>>2]<<1)|0;a:do if(c[o>>2]|0){c[p>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+28>>2];c[q>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];c[n>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0))break;if((c[c[n>>2]>>2]|0)!=1)break;c[e>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2];c[f>>2]=c[(c[n>>2]|0)+4>>2];c[m>>2]=CN(c[f>>2]|0,c[o>>2]|0,p,q,c[e>>2]|0)|0;c[n>>2]=c[(c[n>>2]|0)+8>>2]}c[p>>2]=c[(c[(c[(c[g>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[q>>2]=c[(c[(c[(c[g>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[n>>2]=c[(c[g>>2]|0)+12>>2];while(1){if(!(c[n>>2]|0?(c[m>>2]|0)!=0:0))break a;c[j>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+4>>2];a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==1)a=c[a+16>>2]|0;c[k>>2]=c[a+20>>2];c[m>>2]=CN(c[j>>2]|0,c[o>>2]|0,p,q,c[k>>2]|0)|0;c[n>>2]=c[(c[n>>2]|0)+12>>2]}}else{c[c[h>>2]>>2]=7;c[m>>2]=0}while(0);_d(c[o>>2]|0);q=c[m>>2]|0;l=r;return q|0}function AN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;w=y+76|0;s=y+72|0;v=y+68|0;j=y+64|0;x=y+60|0;t=y+56|0;u=y+52|0;k=y+48|0;d=y+44|0;e=y+40|0;f=y+36|0;m=y+32|0;g=y+28|0;h=y+24|0;i=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y;c[s>>2]=a;c[v>>2]=b;c[x>>2]=0;c[t>>2]=0;c[u>>2]=-1;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[v>>2]|0)+64>>2]|0)){a=14;break}c[k>>2]=(c[v>>2]|0)+72+((c[j>>2]|0)*24|0);c[d>>2]=c[(c[k>>2]|0)+16>>2];if(c[d>>2]|0){c[m>>2]=BN(c[d>>2]|0,e,f)|0;if(c[m>>2]|0){a=5;break}b=c[x>>2]|0;if(!(c[e>>2]|0)){a=7;break}a=c[e>>2]|0;if(b){c[g>>2]=a;c[h>>2]=c[x>>2];c[i>>2]=c[g>>2];cN(g,(c[j>>2]|0)-(c[u>>2]|0)|0,0,1,h,i)|0;_d(c[x>>2]|0);c[x>>2]=c[e>>2];c[t>>2]=(c[g>>2]|0)-(c[x>>2]|0);if(!(c[t>>2]|0)){a=11;break}}else{c[x>>2]=a;c[t>>2]=c[f>>2]}c[u>>2]=c[j>>2]}c[j>>2]=(c[j>>2]|0)+1}if((a|0)==5){c[w>>2]=c[m>>2];x=c[w>>2]|0;l=y;return x|0}else if((a|0)==7){_d(b);c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+32>>2]=0;c[w>>2]=0;x=c[w>>2]|0;l=y;return x|0}else if((a|0)==11){_d(c[x>>2]|0);c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+32>>2]=0;c[w>>2]=0;x=c[w>>2]|0;l=y;return x|0}else if((a|0)==14){do if((c[u>>2]|0)>=0){c[n>>2]=c[(c[v>>2]|0)+44>>2];if((c[n>>2]|0)<0){c[(c[v>>2]|0)+28>>2]=c[x>>2];c[(c[v>>2]|0)+32>>2]=c[t>>2];t=(c[s>>2]|0)+32|0;u=c[t+4>>2]|0;x=(c[v>>2]|0)+16|0;c[x>>2]=c[t>>2];c[x+4>>2]=u;c[(c[v>>2]|0)+24>>2]=1;break}if((c[n>>2]|0)>(c[u>>2]|0)){c[p>>2]=c[x>>2];c[q>>2]=c[(c[v>>2]|0)+28>>2];c[o>>2]=(c[n>>2]|0)-(c[u>>2]|0)}else{c[p>>2]=c[(c[v>>2]|0)+28>>2];c[q>>2]=c[x>>2];c[o>>2]=(c[u>>2]|0)-(c[n>>2]|0)}c[r>>2]=pe((c[t>>2]|0)+8|0)|0;if(!(c[r>>2]|0)){_d(c[x>>2]|0);c[w>>2]=7;x=c[w>>2]|0;l=y;return x|0}c[(c[v>>2]|0)+28>>2]=c[r>>2];if(cN(r,c[o>>2]|0,0,1,p,q)|0){c[(c[v>>2]|0)+24>>2]=1;b=(c[r>>2]|0)-(c[(c[v>>2]|0)+28>>2]|0)|0;a=c[v>>2]|0}else{_d(c[r>>2]|0);c[(c[v>>2]|0)+28>>2]=0;b=0;a=c[v>>2]|0}c[a+32>>2]=b;_d(c[x>>2]|0)}while(0);c[w>>2]=0;x=c[w>>2]|0;l=y;return x|0}return 0}function BN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+28|0;f=k+24|0;g=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}c[i>>2]=pe(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[i>>2]|0){c[j>>2]=bM(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,k)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[i>>2];h0(c[i>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}else{c[e>>2]=7;j=c[e>>2]|0;l=k;return j|0}return 0}function CN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=l;l=l+48|0;s=n+40|0;r=n+36|0;j=n+32|0;k=n+28|0;m=n+24|0;q=n+20|0;p=n+16|0;g=n+12|0;o=n+8|0;h=n+4|0;i=n;c[s>>2]=a;c[r>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[m>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[k>>2]>>2]|0);f=c[(c[m>>2]|0)+28>>2]|0;c[h>>2]=f;c[o>>2]=f;c[i>>2]=DN(h,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[j>>2]|0,o)|0;if(!(c[i>>2]|0)){s=c[i>>2]|0;l=n;return s|0}c[g>>2]=(c[h>>2]|0)-(c[(c[m>>2]|0)+28>>2]|0)-1;m0((c[(c[m>>2]|0)+28>>2]|0)+(c[g>>2]|0)|0,0,(c[(c[m>>2]|0)+32>>2]|0)-(c[g>>2]|0)|0)|0;c[(c[m>>2]|0)+32>>2]=c[g>>2];c[c[j>>2]>>2]=c[(c[m>>2]|0)+28>>2];c[c[k>>2]>>2]=c[(c[m>>2]|0)+64>>2];s=c[i>>2]|0;l=n;return s|0}function DN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=l;l=l+48|0;m=o+44|0;n=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;h=o+12|0;i=o+8|0;j=o+4|0;k=o;c[m>>2]=a;c[n>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[h>>2]=c[n>>2];c[k>>2]=1;cN(h,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[h>>2]|0;c[i>>2]=g;c[j>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];cN(i,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[h>>2]|0)!=(c[n>>2]|0)?(c[i>>2]|0)!=(c[j>>2]|0):0){sN(c[m>>2]|0,n,j);u=c[k>>2]|0;l=o;return u|0}if((c[h>>2]|0)!=(c[n>>2]|0)){gM(c[m>>2]|0,n);u=c[k>>2]|0;l=o;return u|0}if((c[i>>2]|0)!=(c[j>>2]|0)){gM(c[m>>2]|0,j);u=c[k>>2]|0;l=o;return u|0}else{c[k>>2]=0;u=c[k>>2]|0;l=o;return u|0}return 0}function EN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+32|0;j=n+28|0;k=n+24|0;p=n+20|0;o=n+16|0;m=n+12|0;g=n+8|0;h=n+4|0;i=n;c[j>>2]=a;c[k>>2]=b;c[p>>2]=d;c[o>>2]=e;c[m>>2]=f;c[g>>2]=c[c[j>>2]>>2];c[h>>2]=0;c[i>>2]=Kb[c[(c[g>>2]|0)+12>>2]&255](c[j>>2]|0,c[p>>2]|0,c[o>>2]|0,h)|0;if(((c[i>>2]|0)==0?(c[c[h>>2]>>2]=c[j>>2],(c[c[g>>2]>>2]|0)>=1):0)?(c[i>>2]=Mb[c[(c[g>>2]|0)+24>>2]&255](c[h>>2]|0,c[k>>2]|0)|0,c[i>>2]|0):0){Hb[c[(c[g>>2]|0)+16>>2]&255](c[h>>2]|0)|0;c[h>>2]=0}c[c[m>>2]>>2]=c[h>>2];l=n;return c[i>>2]|0}function FN(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+48|0;s=u+44|0;j=u+24|0;k=u+16|0;m=u+8|0;n=u+40|0;o=u+36|0;p=u+32|0;q=u;c[s>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;f=m;c[f>>2]=g;c[f+4>>2]=h;c[n>>2]=i;c[o>>2]=c[c[s>>2]>>2];c[p>>2]=0;if(c[o>>2]|0?(h=(c[o>>2]|0)+16|0,i=j,!((c[h>>2]|0)!=(c[i>>2]|0)?1:(c[h+4>>2]|0)!=(c[i+4>>2]|0))):0)t=9;else{a=j;if(c[o>>2]|0){d=(c[o>>2]|0)+16|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{b=0;d=0}h=Z$(c[a>>2]|0,c[a+4>>2]|0,b|0,d|0)|0;i=q;c[i>>2]=h;c[i+4>>2]=D;if(c[o>>2]|0){i=c[o>>2]|0;c[i>>2]=(c[i>>2]|0)+1}q=GN(o,c[q>>2]|0,c[q+4>>2]|0)|0;c[p>>2]=q;if(!q){q=(c[o>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[o>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[j+4>>2]|0;t=(c[o>>2]|0)+16|0;c[t>>2]=c[j>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=k;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[o>>2]|0)+24|0,t=k,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=GN(o,1,0)|0;c[p>>2]=t;if(t)break;t=k;t=GN(o,c[t>>2]|0,c[t+4>>2]|0)|0;c[p>>2]=t;if(t)break;j=k;q=c[j+4>>2]|0;t=(c[o>>2]|0)+24|0;c[t>>2]=c[j>>2];c[t+4>>2]=q;t=(c[o>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=k;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=m,q=_$(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[o>>2]|0)+32|0,t=Z$(q|0,D|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[p>>2]=GN(o,t,D)|0,(c[p>>2]|0)==0):0){q=c[m+4>>2]|0;t=(c[o>>2]|0)+32|0;c[t>>2]=c[m>>2];c[t+4>>2]=q}}while(0);c[c[n>>2]>>2]=c[p>>2];if((c[o>>2]|0)!=(c[c[s>>2]>>2]|0)){c[c[s>>2]>>2]=c[o>>2];c[r>>2]=1;t=c[r>>2]|0;l=u;return t|0}else{c[r>>2]=0;t=c[r>>2]|0;l=u;return t|0}return 0}function GN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;h=k;i=k+12|0;j=k+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[i>>2]=c[c[g>>2]>>2];do if(c[i>>2]|0){if(((c[c[i>>2]>>2]|0)+10+1|0)>(c[(c[i>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[i>>2]|0)+8>>2]<<1;c[i>>2]=Xf(c[i>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[i>>2]|0){c[(c[i>>2]|0)+8>>2]=c[j>>2];c[(c[i>>2]|0)+4>>2]=(c[i>>2]|0)+40;break}_d(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;j=c[f>>2]|0;l=k;return j|0}}else{c[i>>2]=pe(140)|0;if(c[i>>2]|0){c[(c[i>>2]|0)+8>>2]=100;c[(c[i>>2]|0)+4>>2]=(c[i>>2]|0)+40;c[c[i>>2]>>2]=0;break}c[f>>2]=7;j=c[f>>2]|0;l=k;return j|0}while(0);h=NL((c[(c[i>>2]|0)+4>>2]|0)+(c[c[i>>2]>>2]|0)|0,c[h>>2]|0,c[h+4>>2]|0)|0;j=c[i>>2]|0;c[j>>2]=(c[j>>2]|0)+h;a[(c[(c[i>>2]|0)+4>>2]|0)+(c[c[i>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[i>>2];c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function HN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[h>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+216>>2];c[i>>2]=nf(45366,j)|0;if(c[i>>2]|0){c[g>>2]=zv(c[(c[h>>2]|0)+12>>2]|0,c[i>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;_d(c[i>>2]|0);break}c[d>>2]=7;j=c[d>>2]|0;l=k;return j|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[g>>2];j=c[d>>2]|0;l=k;return j|0}function IN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[j>>2]=Bb[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[i>>2]|0)|0;k=c[g>>2]|0;c[k>>2]=(c[k>>2]|0)+1;k=c[j>>2]|0;l=m;return k|0}c[j>>2]=IN(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(!((c[j>>2]|0)==0&(c[k>>2]|0)!=2)){k=c[j>>2]|0;l=m;return k|0}c[j>>2]=IN(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;k=c[j>>2]|0;l=m;return k|0}function JN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[i>>2]=c[c[f>>2]>>2];c[j>>2]=0;if(d[(c[g>>2]|0)+34>>0]|0|0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[i>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[k>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[k>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[k>>2]=(c[k>>2]|0)+1}k=c[j>>2]|0;l=m;return k|0}c[j>>2]=KN(c[f>>2]|0,c[g>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;l=m;return k|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[i>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[k>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[k>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[k>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[k>>2]|0)*3|0)+2<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}k=c[j>>2]|0;l=m;return k|0}function KN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;j=s+44|0;k=s+40|0;f=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;q=s+8|0;g=s;h=s+48|0;i=s+16|0;c[k>>2]=b;c[f>>2]=e;c[m>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[n>>2]=c[c[k>>2]>>2];t=(c[k>>2]|0)+32|0;b=c[t+4>>2]|0;e=q;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)b=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else b=0;e=c[o>>2]|0;if(!b)break;c[o>>2]=c[e+8>>2]}e=e+24|0;f=c[e+4>>2]|0;t=g;c[t>>2]=c[e>>2];c[t+4>>2]=f;a[h>>0]=a[(c[o>>2]|0)+32>>0]|0;c[p>>2]=c[o>>2];while(1){if(!(c[p>>2]|0))break;b=c[p>>2]|0;if((c[c[p>>2]>>2]|0)!=5)b=c[b+16>>2]|0;c[i>>2]=b;t=pe((c[(c[n>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[i>>2]|0)+40>>2]=t;if(!(c[(c[i>>2]|0)+40>>2]|0)){r=12;break}m0(c[(c[i>>2]|0)+40>>2]|0,0,(c[(c[n>>2]|0)+24>>2]|0)*3<<2|0)|0;c[p>>2]=c[(c[p>>2]|0)+12>>2]}if((r|0)==12){c[j>>2]=7;t=c[j>>2]|0;l=s;return t|0}VM(c[k>>2]|0,c[o>>2]|0,m);while(1){if(!((d[(c[k>>2]|0)+6>>0]|0)==0?(c[m>>2]|0)==0:0))break;do{if(!(d[(c[k>>2]|0)+7>>0]|0))ys(c[(c[k>>2]|0)+8>>2]|0)|0;WM(c[k>>2]|0,c[o>>2]|0,m);a[(c[k>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[k>>2]|0)+7>>0]=1;c[(c[k>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[k>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[k>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((RM(c[k>>2]|0,m)|0)!=0);if(c[m>>2]|0)continue;if(d[(c[k>>2]|0)+6>>0]|0)continue;LN(c[o>>2]|0)}a[(c[k>>2]|0)+6>>0]=0;r=c[q+4>>2]|0;t=(c[k>>2]|0)+32|0;c[t>>2]=c[q>>2];c[t+4>>2]=r;if(a[h>>0]|0){a[(c[o>>2]|0)+32>>0]=a[h>>0]|0;break}VM(c[k>>2]|0,c[o>>2]|0,m);do{WM(c[k>>2]|0,c[o>>2]|0,m);r=(c[o>>2]|0)+24|0;t=g}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[m>>2]|0)==0:0)}while(0);c[j>>2]=c[m>>2];t=c[j>>2]|0;l=s;return t|0}function LN(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k+20|0;j=k;c[f>>2]=b;if(!(c[f>>2]|0)){l=k;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if(c[e>>2]|0?c[(c[e>>2]|0)+28>>2]|0:0){c[g>>2]=0;c[h>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[i>>0]=0;c[j>>2]=0;while(1){if(!(254&(a[c[h>>2]>>0]|d[i>>0])))break;if(!(d[i>>0]&128))c[j>>2]=(c[j>>2]|0)+1;e=c[h>>2]|0;c[h>>2]=e+1;a[i>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[g>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[j>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[g>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[j>>2]|0)>0&1);if(!(a[c[h>>2]>>0]|0))break a;c[h>>2]=(c[h>>2]|0)+1;b=c[h>>2]|0;if(d[c[h>>2]>>0]&128|0)b=cM(b,g)|0;else{c[g>>2]=d[b>>0];b=1}c[h>>2]=(c[h>>2]|0)+b}}while(0);LN(c[(c[f>>2]|0)+12>>2]|0);LN(c[(c[f>>2]|0)+16>>2]|0);l=k;return}function MN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;p=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;m=o;c[p>>2]=b;c[f>>2]=e;c[g>>2]=c[c[c[f>>2]>>2]>>2];c[i>>2]=c[(c[p>>2]|0)+20>>2];c[j>>2]=c[(c[i>>2]|0)+28>>2];c[k>>2]=0;b=c[(c[p>>2]|0)+36>>2]|0;e=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=S(b,e)|0;else c[h>>2]=S(b,(e+31|0)/32|0)|0;while(1){c[m>>2]=UM(j)|0;if(!((c[(c[i>>2]|0)+68>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?(c[(c[i>>2]|0)+68>>2]|0)!=(c[k>>2]|0):0))n=6;do if((n|0)==6){n=0;b=c[m>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[k>>2]|0)<<2)>>2]=b;break}if(b|0){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[k>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[k>>2]&31)}}while(0);if((a[c[j>>2]>>0]|0)!=1)break;c[j>>2]=(c[j>>2]|0)+1;b=c[j>>2]|0;if(d[c[j>>2]>>0]&128|0)b=cM(b,k)|0;else{c[k>>2]=d[b>>0];b=1}c[j>>2]=(c[j>>2]|0)+b}l=o;return}function NN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;f=e+8|0;i=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[i>>2]=d;c[g>>2]=c[i>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];l=e;return 0}function ON(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;b=g+16|0;d=g+12|0;e=g;f=g+8|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=bM(c[d>>2]|0,e)|0;c[d>>2]=(c[d>>2]|0)+h;h=e;a=e;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[d>>2]=0;c[f>>2]=1;e=c[d>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;l=g;return h|0}else{h=e;h=Z$(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;e=(c[b>>2]|0)+12|0;c[e>>2]=(c[e>>2]|0)+h;e=c[d>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;l=g;return h|0}return 0}function PN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;j=f+20|0;i=f+12|0;e=f+8|0;g=f+4|0;h=f;c[j>>2]=a;c[f+16>>2]=b;c[i>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[j>>2]|0)+20>>2];c[h>>2]=c[i>>2];d=(c[h>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[h>>2]|0)+8|0;c[d>>2]=(c[d>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);l=f;return c[e>>2]|0}function QN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[i>>2]=sL(c[k>>2]|0,21,h,0)|0;do if(!(c[i>>2]|0)){k=f;qJ(c[h>>2]|0,1,c[k>>2]|0,c[k+4>>2]|0)|0;c[i>>2]=Bs(c[h>>2]|0)|0;if((c[i>>2]|0)==100?(Dv(c[h>>2]|0,0)|0)==4:0){c[i>>2]=0;break}k=ys(c[h>>2]|0)|0;c[i>>2]=k;c[i>>2]=(c[i>>2]|0)==0?267:k;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];l=j;return c[i>>2]|0}function RN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=sL(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){pJ(c[e>>2]|0,1,0)|0;if((Bs(c[e>>2]|0)|0)==100?(Dv(c[e>>2]|0,0)|0)==4:0)break;h=ys(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];l=g;return c[f>>2]|0}function SN(b){b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+1>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+2>>0]|0|0){l=f;return}_d(c[e>>2]|0);l=f;return}function TN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];l=e;return 0}function UN(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=qv(c[(c[b>>2]|0)+12>>2]|0,45494,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=VN(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){qv(a,45522,0,0,0)|0;qv(c[(c[b>>2]|0)+12>>2]|0,45509,0,0,0)|0;break}c[e>>2]=qv(a,45509,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);BM(c[b>>2]|0);l=f;return c[d>>2]|0}function VN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[h>>2]=0;c[g>>2]=sL(c[d>>2]|0,27,h,0)|0;if(!(c[g>>2]|0)){pJ(c[h>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;pJ(c[h>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){b=(Bs(c[h>>2]|0)|0)==100;a=c[h>>2]|0;if(!b)break;c[k>>2]=iJ(a,0)|0;c[j>>2]=0;while(1){if(c[g>>2]|0)continue a;if((c[j>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[g>>2]=rL(c[d>>2]|0,c[k>>2]|0,c[j>>2]|0,-2)|0;if((c[g>>2]|0)==101){c[f>>2]=1;c[g>>2]=0}c[j>>2]=(c[j>>2]|0)+1}}c[i>>2]=ys(a)|0;if(!(c[g>>2]|0))c[g>>2]=c[i>>2]}BM(c[d>>2]|0);mL(c[d>>2]|0);l=m;return ((c[g>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[g>>2]|0)|0}function WN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=l;l=l+208|0;z=C+32|0;p=C+132|0;u=C+128|0;v=C+124|0;w=C+120|0;A=C+116|0;x=C+112|0;y=C+108|0;B=C+96|0;e=C;f=C+92|0;g=C+88|0;h=C+84|0;i=C+80|0;j=C+76|0;k=C+72|0;m=C+68|0;n=C+64|0;o=C+60|0;q=C+56|0;r=C+52|0;s=C+48|0;t=C+136|0;c[p>>2]=b;c[u>>2]=d;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[u>>2]|0)+12>>2]|0)){xi(c[p>>2]|0,55752,0,0);l=C;return};c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[A>>2]=MM(c[u>>2]|0,0,x)|0;a:do if(!(c[A>>2]|0)){c[e+24>>2]=pe((c[x>>2]|0)*12|0)|0;if(!(c[e+24>>2]|0)){c[A>>2]=7;break}D=(c[u>>2]|0)+32|0;b=c[D+4>>2]|0;d=e+16|0;c[d>>2]=c[D>>2];c[d+4>>2]=b;c[e>>2]=c[u>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[e+4>>2]=c[y>>2];c[e+8>>2]=0;QM(c[(c[u>>2]|0)+12>>2]|0,166,e)|0;c[m>>2]=Cv(c[(c[u>>2]|0)+8>>2]|0,(c[y>>2]|0)+1|0)|0;c[n>>2]=gJ(c[(c[u>>2]|0)+8>>2]|0,(c[y>>2]|0)+1|0)|0;if(!(c[m>>2]|0)){if((Dv(c[(c[u>>2]|0)+8>>2]|0,(c[y>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=EN(c[(c[v>>2]|0)+36>>2]|0,c[(c[u>>2]|0)+16>>2]|0,c[m>>2]|0,c[n>>2]|0,f)|0;if(c[A>>2]|0)break a;c[A>>2]=Gb[c[(c[w>>2]|0)+20>>2]&255](c[f>>2]|0,g,h,i,j,k)|0;while(1){if(c[A>>2]|0)break;c[q>>2]=2147483647;c[r>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[x>>2]|0))break;c[s>>2]=(c[e+24>>2]|0)+((c[o>>2]|0)*12|0);if(c[c[s>>2]>>2]|0?((c[(c[s>>2]|0)+4>>2]|0)-(c[(c[s>>2]|0)+8>>2]|0)|0)<(c[q>>2]|0):0){c[q>>2]=(c[(c[s>>2]|0)+4>>2]|0)-(c[(c[s>>2]|0)+8>>2]|0);c[r>>2]=c[s>>2]}c[o>>2]=(c[o>>2]|0)+1}if(!(c[r>>2]|0)){c[A>>2]=101;continue}b=c[r>>2]|0;if(!(254&a[c[c[r>>2]>>2]>>0]))c[b>>2]=0;else YN(b,(c[r>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[k>>2]|0)>=(c[q>>2]|0))break;c[A>>2]=Gb[c[(c[w>>2]|0)+20>>2]&255](c[f>>2]|0,g,h,i,j,k)|0}if(!(c[A>>2]|0)){b=((c[r>>2]|0)-(c[e+24>>2]|0)|0)/12|0;d=c[i>>2]|0;D=(c[j>>2]|0)-(c[i>>2]|0)|0;c[z>>2]=c[y>>2];c[z+4>>2]=b;c[z+8>>2]=d;c[z+12>>2]=D;ef(64,t,45539,z)|0;c[A>>2]=ZN(B,t,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;Hb[c[(c[w>>2]|0)+16>>2]&255](c[f>>2]|0)|0;if(c[A>>2]|0)break a}c[y>>2]=(c[y>>2]|0)+1}c[A>>2]=7}while(0);_d(c[e+24>>2]|0);BM(c[v>>2]|0);b=c[p>>2]|0;if(c[A>>2]|0){Wi(b,c[A>>2]|0);_d(c[B>>2]|0);l=C;return}else{xi(b,c[B>>2]|0,(c[B+4>>2]|0)-1|0,157);l=C;return}}function XN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+48|0;n=m+36|0;o=m+28|0;h=m+24|0;i=m+20|0;j=m+16|0;k=m+12|0;e=m+8|0;f=m+4|0;g=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[f>>2]=TM(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,k)|0;c[i>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0)YN(k,e);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;n=c[(c[h>>2]|0)+24>>2]|0;d=(c[h>>2]|0)+8|0;o=c[d>>2]|0;c[d>>2]=o+1;c[g>>2]=n+(o*12|0);c[(c[g>>2]|0)+8>>2]=(c[i>>2]|0)-(c[j>>2]|0)-1;c[c[g>>2]>>2]=c[k>>2];c[(c[g>>2]|0)+4>>2]=c[e>>2];c[j>>2]=(c[j>>2]|0)+1}l=m;return c[f>>2]|0}function YN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128|0)a=cM(a,g)|0;else{c[g>>2]=d[a>>0];a=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+a;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);l=h;return}function ZN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if((c[i>>2]|0)<0)c[i>>2]=g$(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[i>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[j>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[i>>2]|0)+100;c[k>>2]=Xf(c[c[g>>2]>>2]|0,c[j>>2]|0)|0;if(c[k>>2]|0){c[c[g>>2]>>2]=c[k>>2];c[(c[g>>2]|0)+8>>2]=c[j>>2];break}c[f>>2]=7;k=c[f>>2]|0;l=m;return k|0}while(0);h0((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[i>>2]|0)|0;k=(c[g>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+(c[i>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}function _N(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+224|0;A=G+212|0;B=G+208|0;C=G+204|0;i=G+200|0;j=G+196|0;k=G+192|0;m=G+188|0;n=G+184|0;E=G+180|0;o=G+176|0;F=G+164|0;p=G+160|0;q=G+40|0;r=G+156|0;s=G+152|0;t=G+32|0;u=G+24|0;v=G+148|0;w=G+144|0;x=G+140|0;y=G;z=G+136|0;c[A>>2]=a;c[B>>2]=b;c[C>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=c[c[B>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[p>>2]=0;c[r>>2]=-1;if(!(c[(c[B>>2]|0)+12>>2]|0)){xi(c[A>>2]|0,55752,0,0);l=G;return}c[p>>2]=1;a:while(1){a=t;c[a>>2]=0;c[a+4>>2]=0;a=u;c[a>>2]=0;c[a+4>>2]=0;a=c[m>>2]|0;if((c[m>>2]|0)>=0)c[r>>2]=(a+(c[p>>2]|0)-1|0)/(c[p>>2]|0)|0;else c[r>>2]=S(-1,a)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[p>>2]|0))break;c[v>>2]=-1;c[x>>2]=q+((c[s>>2]|0)*24|0);h=c[x>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[n>>2]|0)+24>>2]|0))break;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[y+16>>2]=0;c[y+20>>2]=0;c[z>>2]=0;if(!((c[k>>2]|0)>=0?(c[w>>2]|0)!=(c[k>>2]|0):0)){h=t;c[E>>2]=$N(c[r>>2]|0,c[B>>2]|0,c[w>>2]|0,c[h>>2]|0,c[h+4>>2]|0,u,y,z)|0;if(c[E>>2]|0)break a;if((c[z>>2]|0)>(c[v>>2]|0)){h=c[x>>2]|0;c[h>>2]=c[y>>2];c[h+4>>2]=c[y+4>>2];c[h+8>>2]=c[y+8>>2];c[h+12>>2]=c[y+12>>2];c[h+16>>2]=c[y+16>>2];c[h+20>>2]=c[y+20>>2];c[v>>2]=c[z>>2]}}c[w>>2]=(c[w>>2]|0)+1}f=(c[x>>2]|0)+8|0;e=t;g=c[e+4>>2]|c[f+4>>2];h=t;c[h>>2]=c[e>>2]|c[f>>2];c[h+4>>2]=g;c[s>>2]=(c[s>>2]|0)+1}g=u;h=t;if(((c[g>>2]|0)==(c[h>>2]|0)?(c[g+4>>2]|0)==(c[h+4>>2]|0):0)|(c[p>>2]|0)==4){D=20;break}c[p>>2]=(c[p>>2]|0)+1}b:do if((D|0)==20){c[o>>2]=0;while(1){if(!((c[o>>2]|0)<(c[p>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=aO(c[B>>2]|0,q+((c[o>>2]|0)*24|0)|0,c[o>>2]|0,(c[o>>2]|0)==((c[p>>2]|0)-1|0)&1,c[r>>2]|0,c[C>>2]|0,c[i>>2]|0,c[j>>2]|0,F)|0;c[o>>2]=(c[o>>2]|0)+1}}while(0);BM(c[n>>2]|0);a=c[A>>2]|0;if(c[E>>2]|0){Wi(a,c[E>>2]|0);_d(c[F>>2]|0);l=G;return}else{xi(a,c[F>>2]|0,-1,157);l=G;return}}function $N(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+112|0;A=C+104|0;B=C+100|0;j=C+96|0;k=C+92|0;m=C+16|0;n=C+88|0;o=C+84|0;p=C+80|0;q=C+76|0;r=C+72|0;s=C+48|0;t=C+40|0;u=C+36|0;v=C+32|0;w=C+28|0;x=C+24|0;y=C+8|0;z=C;c[B>>2]=a;c[j>>2]=b;c[k>>2]=d;d=m;c[d>>2]=e;c[d+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[u>>2]=-1;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[q>>2]=MM(c[j>>2]|0,r,0)|0;if(c[q>>2]|0){c[A>>2]=c[q>>2];B=c[A>>2]|0;l=C;return B|0}c[t>>2]=(c[r>>2]|0)*24;c[s+16>>2]=pe(c[t>>2]|0)|0;if(!(c[s+16>>2]|0)){c[A>>2]=7;B=c[A>>2]|0;l=C;return B|0}m0(c[s+16>>2]|0,0,c[t>>2]|0)|0;c[s>>2]=c[j>>2];c[s+4>>2]=c[k>>2];c[s+8>>2]=c[B>>2];c[s+12>>2]=c[r>>2];c[s+20>>2]=-1;c[q>>2]=QM(c[(c[j>>2]|0)+12>>2]|0,167,s)|0;if(!(c[q>>2]|0)){c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[r>>2]|0))break;if(c[(c[s+16>>2]|0)+((c[v>>2]|0)*24|0)+12>>2]|0){h=j0(1,0,c[v>>2]|0)|0;B=c[n>>2]|0;g=B;i=c[g+4>>2]|D;c[B>>2]=c[g>>2]|h;c[B+4>>2]=i}c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[k>>2];while(1){if(!((dO(s)|0)!=0^1))break;B=m;eO(s,c[B>>2]|0,c[B+4>>2]|0,w,x,y,z);if((c[x>>2]|0)<=(c[u>>2]|0))continue;c[(c[o>>2]|0)+4>>2]=c[w>>2];B=z;i=c[B+4>>2]|0;h=(c[o>>2]|0)+16|0;c[h>>2]=c[B>>2];c[h+4>>2]=i;h=y;i=c[h+4>>2]|0;B=(c[o>>2]|0)+8|0;c[B>>2]=c[h>>2];c[B+4>>2]=i;c[u>>2]=c[x>>2]}c[c[p>>2]>>2]=c[u>>2]}_d(c[s+16>>2]|0);c[A>>2]=c[q>>2];B=c[A>>2]|0;l=C;return B|0}function aO(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=l;l=l+128|0;L=N+112|0;k=N+108|0;P=N+104|0;m=N+100|0;n=N+96|0;o=N+92|0;p=N+88|0;q=N+84|0;r=N+80|0;s=N+76|0;t=N+72|0;u=N+68|0;v=N+64|0;w=N+60|0;x=N+56|0;y=N+52|0;z=N+48|0;A=N+44|0;B=N;O=N+40|0;C=N+36|0;E=N+32|0;F=N+28|0;G=N+24|0;H=N+20|0;I=N+16|0;J=N+12|0;K=N+8|0;c[k>>2]=a;c[P>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=c[c[k>>2]>>2];c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=c[(c[P>>2]|0)+4>>2];j=(c[P>>2]|0)+16|0;b=c[j+4>>2]|0;a=B;c[a>>2]=c[j>>2];c[a+4>>2]=b;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[v>>2]=Cv(c[(c[k>>2]|0)+8>>2]|0,c[O>>2]|0)|0;a=c[(c[k>>2]|0)+8>>2]|0;b=c[O>>2]|0;if(!(c[v>>2]|0))if((Dv(a,b)|0)!=5){c[L>>2]=7;P=c[L>>2]|0;l=N;return P|0}else{c[L>>2]=0;P=c[L>>2]|0;l=N;return P|0}c[w>>2]=gJ(a,b)|0;c[C>>2]=c[c[(c[t>>2]|0)+36>>2]>>2];c[u>>2]=EN(c[(c[t>>2]|0)+36>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[v>>2]|0,c[w>>2]|0,E)|0;if(c[u>>2]|0){c[L>>2]=c[u>>2];P=c[L>>2]|0;l=N;return P|0}while(1){if(c[u>>2]|0)break;c[G>>2]=-1;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[u>>2]=Gb[c[(c[C>>2]|0)+20>>2]&255](c[E>>2]|0,F,G,H,I,x)|0;if(c[u>>2]|0){M=9;break}if((c[x>>2]|0)<(c[A>>2]|0))continue;if(!(c[z>>2]|0)){c[K>>2]=(c[w>>2]|0)-(c[H>>2]|0);c[u>>2]=bO(c[t>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[o>>2]|0,(c[v>>2]|0)+(c[H>>2]|0)|0,c[K>>2]|0,A,B)|0;c[z>>2]=1;do if(!(c[u>>2]|0)){if((c[A>>2]|0)>0|(c[m>>2]|0)>0){c[u>>2]=ZN(c[s>>2]|0,c[r>>2]|0,-1)|0;break}if(c[H>>2]|0)c[u>>2]=ZN(c[s>>2]|0,c[v>>2]|0,c[H>>2]|0)|0}while(0);if(c[u>>2]|0)continue;if((c[x>>2]|0)<(c[A>>2]|0))continue}if((c[x>>2]|0)>=((c[A>>2]|0)+(c[o>>2]|0)|0)){M=21;break}P=B;j=c[P>>2]|0;P=c[P+4>>2]|0;O=j0(1,0,(c[x>>2]|0)-(c[A>>2]|0)|0)|0;c[J>>2]=((j&O|0)!=0|(P&D|0)!=0)&1;if((c[x>>2]|0)>(c[A>>2]|0))c[u>>2]=ZN(c[s>>2]|0,(c[v>>2]|0)+(c[y>>2]|0)|0,(c[H>>2]|0)-(c[y>>2]|0)|0)|0;if((c[u>>2]|0)==0&(c[J>>2]|0)!=0)c[u>>2]=ZN(c[s>>2]|0,c[p>>2]|0,-1)|0;if(!(c[u>>2]|0))c[u>>2]=ZN(c[s>>2]|0,(c[v>>2]|0)+(c[H>>2]|0)|0,(c[I>>2]|0)-(c[H>>2]|0)|0)|0;if((c[u>>2]|0)==0&(c[J>>2]|0)!=0)c[u>>2]=ZN(c[s>>2]|0,c[q>>2]|0,-1)|0;c[y>>2]=c[I>>2]}if((M|0)==9){if((c[u>>2]|0)==101)c[u>>2]=ZN(c[s>>2]|0,(c[v>>2]|0)+(c[y>>2]|0)|0,-1)|0}else if((M|0)==21?c[n>>2]|0:0)c[u>>2]=ZN(c[s>>2]|0,c[r>>2]|0,-1)|0;Hb[c[(c[C>>2]|0)+16>>2]&255](c[E>>2]|0)|0;c[L>>2]=c[u>>2];P=c[L>>2]|0;l=N;return P|0}function bO(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;F=l;l=l+96|0;E=F+84|0;u=F+80|0;v=F+76|0;w=F+72|0;i=F+68|0;j=F+64|0;x=F+60|0;y=F+56|0;z=F;k=F+52|0;m=F+48|0;n=F+44|0;A=F+40|0;B=F+36|0;C=F+32|0;o=F+28|0;p=F+24|0;q=F+20|0;r=F+16|0;s=F+12|0;t=F+8|0;c[u>>2]=a;c[v>>2]=b;c[w>>2]=d;c[i>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;f=c[y>>2]|0;g=c[f+4>>2]|0;h=z;c[h>>2]=c[f>>2];c[h+4>>2]=g;h=z;do if((c[h>>2]|0)!=0|(c[h+4>>2]|0)!=0){c[k>>2]=0;while(1){h=z;f=c[h>>2]|0;h=c[h+4>>2]|0;g=j0(1,0,c[k>>2]|0)|0;if(!(((f&g|0)!=0|(h&D|0)!=0)^1))break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){h=z;f=c[h>>2]|0;h=c[h+4>>2]|0;g=j0(1,0,(c[w>>2]|0)-1-(c[m>>2]|0)|0)|0;if(!(((f&g|0)!=0|(h&D|0)!=0)^1))break;c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=((c[k>>2]|0)-(c[m>>2]|0)|0)/2|0;if((c[n>>2]|0)>0){c[B>>2]=0;c[o>>2]=c[c[(c[u>>2]|0)+36>>2]>>2];c[C>>2]=EN(c[(c[u>>2]|0)+36>>2]|0,c[v>>2]|0,c[i>>2]|0,c[j>>2]|0,p)|0;if(c[C>>2]|0){c[E>>2]=c[C>>2];E=c[E>>2]|0;l=F;return E|0}while(1){if(c[C>>2]|0)break;if((c[B>>2]|0)>=((c[w>>2]|0)+(c[n>>2]|0)|0))break;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[C>>2]=Gb[c[(c[o>>2]|0)+20>>2]&255](c[p>>2]|0,q,r,s,t,B)|0}Hb[c[(c[o>>2]|0)+16>>2]&255](c[p>>2]|0)|0;a=c[C>>2]|0;if((c[C>>2]|0)!=0&(c[C>>2]|0)!=101){c[E>>2]=a;E=c[E>>2]|0;l=F;return E|0}else{c[A>>2]=((a|0)==101&1)+(c[B>>2]|0)-(c[w>>2]|0);if((c[A>>2]|0)<=0)break;B=c[x>>2]|0;c[B>>2]=(c[B>>2]|0)+(c[A>>2]|0);B=z;B=f0(c[B>>2]|0,c[B+4>>2]|0,c[A>>2]|0)|0;C=c[y>>2]|0;c[C>>2]=B;c[C+4>>2]=D;break}}}while(0);c[E>>2]=0;E=c[E>>2]|0;l=F;return E|0}function cO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;i=l;l=l+32|0;k=i+28|0;m=i+24|0;n=i+20|0;j=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;e=i;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=c[n>>2];c[f>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[f>>2]>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=TM(c[c[j>>2]>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,g)|0;if(!(c[g>>2]|0)){n=c[h>>2]|0;l=i;return n|0}c[e>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];YN(g,e);c[(c[f>>2]|0)+12>>2]=c[g>>2];c[(c[f>>2]|0)+20>>2]=c[g>>2];c[(c[f>>2]|0)+8>>2]=c[e>>2];c[(c[f>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;l=i;return n|0}function dO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;b=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);fO((c[f>>2]|0)+12|0,(c[f>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[h>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[i>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if(c[(c[i>>2]|0)+12>>2]|0?(c[(c[i>>2]|0)+8>>2]|0)<(c[h>>2]|0):0)c[h>>2]=c[(c[i>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[h>>2]|0)==2147483647){c[b>>2]=1;j=c[b>>2]|0;l=k;return j|0}i=(c[h>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=i;c[(c[d>>2]|0)+20>>2]=i;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);fO((c[j>>2]|0)+12|0,(c[j>>2]|0)+8|0,(c[h>>2]|0)+1|0);fO((c[j>>2]|0)+20|0,(c[j>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;j=c[b>>2]|0;l=k;return j|0}function eO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+96|0;y=B+84|0;z=B+32|0;A=B+80|0;j=B+76|0;k=B+72|0;m=B+68|0;n=B+64|0;o=B+60|0;p=B+56|0;q=B+24|0;r=B+16|0;s=B+52|0;t=B+48|0;u=B+44|0;v=B+40|0;w=B+8|0;x=B;c[y>>2]=b;b=z;c[b>>2]=d;c[b+4>>2]=e;c[A>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=i;c[n>>2]=c[(c[y>>2]|0)+20>>2];c[o>>2]=0;i=q;c[i>>2]=0;c[i+4>>2]=0;i=r;c[i>>2]=0;c[i+4>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[y>>2]|0)+12>>2]|0))break;c[s>>2]=(c[(c[y>>2]|0)+16>>2]|0)+((c[p>>2]|0)*24|0);a:do if(c[(c[s>>2]|0)+20>>2]|0){c[t>>2]=c[(c[s>>2]|0)+20>>2];c[u>>2]=c[(c[s>>2]|0)+16>>2];while(1){if((c[u>>2]|0)>=((c[n>>2]|0)+(c[(c[y>>2]|0)+8>>2]|0)|0))break a;g=j0(1,0,c[p>>2]|0)|0;h=w;c[h>>2]=g;c[h+4>>2]=D;h=j0(1,0,(c[u>>2]|0)-(c[n>>2]|0)|0)|0;g=x;c[g>>2]=h;c[g+4>>2]=D;g=q;h=z;i=w;b=c[o>>2]|0;if((c[g>>2]|c[h>>2])&c[i>>2]|0?1:((c[g+4>>2]|c[h+4>>2])&c[i+4>>2]|0)!=0)c[o>>2]=b+1;else c[o>>2]=b+1e3;g=w;f=q;h=c[f+4>>2]|c[g+4>>2];i=q;c[i>>2]=c[f>>2]|c[g>>2];c[i+4>>2]=h;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[s>>2]>>2]|0))break;g=x;g=f0(c[g>>2]|0,c[g+4>>2]|0,c[v>>2]|0)|0;f=r;h=c[f+4>>2]|D;i=r;c[i>>2]=c[f>>2]|g;c[i+4>>2]=h;c[v>>2]=(c[v>>2]|0)+1}if(!(a[c[t>>2]>>0]&254))break a;YN(t,u)}}while(0);c[p>>2]=(c[p>>2]|0)+1}c[c[A>>2]>>2]=c[n>>2];c[c[j>>2]>>2]=c[o>>2];A=q;z=c[A+4>>2]|0;y=c[k>>2]|0;c[y>>2]=c[A>>2];c[y+4>>2]=z;y=r;z=c[y+4>>2]|0;A=c[m>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;l=B;return}function fO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[c[f>>2]>>2];if(!(c[i>>2]|0)){l=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[i>>2]>>0]&254)){k=5;break}YN(i,j)}if((k|0)==5){c[j>>2]=-1;c[i>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[i>>2];l=m;return}function gO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[d>>2]=b;c[f>>2]=0;c[g>>2]=0;c[e>>2]=sL(c[i>>2]|0,36,g,0)|0;if(c[e>>2]|0){g=c[f>>2]|0;i=c[d>>2]|0;c[i>>2]=g;i=c[e>>2]|0;l=h;return i|0}if(100==(Bs(c[g>>2]|0)|0))c[f>>2]=iJ(c[g>>2]|0,0)|0;c[e>>2]=ys(c[g>>2]|0)|0;g=c[f>>2]|0;i=c[d>>2]|0;c[i>>2]=g;i=c[e>>2]|0;l=h;return i|0}function hO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;C=l;l=l+128|0;w=C+112|0;x=C+108|0;E=C+104|0;y=C+100|0;z=C+96|0;A=C+92|0;B=C+88|0;f=C+84|0;g=C+80|0;h=C+76|0;i=C+16|0;j=C+64|0;k=C+60|0;m=C+8|0;n=C+52|0;o=C+48|0;p=C+44|0;q=C+40|0;r=C;s=C+36|0;t=C+32|0;u=C+28|0;v=C+24|0;c[x>>2]=a;c[E>>2]=b;c[y>>2]=e;c[A>>2]=c[E>>2];c[h>>2]=0;e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[k>>2]=0;c[C+56>>2]=640;c[g>>2]=pe(640)|0;if(!(c[g>>2]|0)){c[w>>2]=7;E=c[w>>2]|0;l=C;return E|0}c[f>>2]=(c[g>>2]|0)+568;c[B>>2]=(c[f>>2]|0)+16;c[z>>2]=iO(c[x>>2]|0,j)|0;while(1){if(!((c[z>>2]|0)==0?(c[A>>2]|0)>0:0))break;e=c[(c[x>>2]|0)+248>>2]<<10;E=m;c[E>>2]=e;c[E+4>>2]=((e|0)<0)<<31>>31;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[z>>2]=sL(c[x>>2]|0,28,n,0)|0;pJ(c[n>>2]|0,1,2>(c[y>>2]|0)?2:c[y>>2]|0)|0;if((Bs(c[n>>2]|0)|0)==100){e=jJ(c[n>>2]|0,0)|0;E=i;c[E>>2]=e;c[E+4>>2]=D;c[h>>2]=iJ(c[n>>2]|0,1)|0}else c[h>>2]=-1;c[z>>2]=ys(c[n>>2]|0)|0;do if((c[z>>2]|0)==0?c[j+4>>2]|0:0){c[q>>2]=c[j+4>>2];E=r;c[E>>2]=0;c[E+4>>2]=0;c[s>>2]=0;c[z>>2]=jO(j,r,s)|0;if((c[h>>2]|0)>=0?(a=i,e=m,e=c0(c[a>>2]|0,c[a+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0,a=D,b=r,E=m,E=c0(c[b>>2]|0,c[b+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,b=D,!((a|0)>(b|0)|(a|0)==(b|0)&e>>>0>=E>>>0)):0){c[j+4>>2]=c[q>>2];break}b=r;e=c[b+4>>2]|0;E=i;c[E>>2]=c[b>>2];c[E+4>>2]=e;c[h>>2]=c[s>>2];c[o>>2]=1;c[k>>2]=1}while(0);if((c[h>>2]|0)<0)break;m0(c[g>>2]|0,0,640)|0;c[(c[f>>2]|0)+12>>2]=1;do if(!(c[z>>2]|0)){E=i;c[z>>2]=kO(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if(c[p>>2]|0?!((c[o>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[t>>2]=0;e=c[x>>2]|0;E=i;E=_$(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[z>>2]=lO(e,E,D,t)|0;if(c[t>>2]|0){E=(c[f>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[z>>2]|0)){E=i;c[z>>2]=mO(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[h>>2]|0,c[B>>2]|0)|0}if(((0==(c[z>>2]|0)?(c[(c[B>>2]|0)+4>>2]|0)==(c[h>>2]|0):0)?(E=xL(c[x>>2]|0,c[B>>2]|0,c[f>>2]|0)|0,c[z>>2]=E,0==(E|0)):0)?(E=yL(c[x>>2]|0,c[B>>2]|0)|0,c[z>>2]=E,100==(E|0)):0){if((c[o>>2]|0)!=0&(c[p>>2]|0)>0){c[u>>2]=c[(c[B>>2]|0)+40>>2];c[v>>2]=c[(c[B>>2]|0)+44>>2];E=i;c[z>>2]=nO(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[u>>2]|0,c[v>>2]|0,c[g>>2]|0)|0}else{E=i;c[z>>2]=oO(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[B>>2]|0,c[g>>2]|0)|0}if((c[z>>2]|0)==0?c[c[g>>2]>>2]|0:0){do{c[z>>2]=pO(c[x>>2]|0,c[g>>2]|0,c[B>>2]|0)|0;if(!(c[z>>2]|0))c[z>>2]=yL(c[x>>2]|0,c[B>>2]|0)|0;if((c[z>>2]|0)==100?(c[(c[g>>2]|0)+4>>2]|0)>=(c[A>>2]|0):0)c[z>>2]=0}while((c[z>>2]|0)==100);if((c[z>>2]|0)==0?(c[A>>2]=(c[A>>2]|0)-(1+(c[(c[g>>2]|0)+4>>2]|0)),E=i,c[z>>2]=qO(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[B>>2]|0,h)|0,c[h>>2]|0):0){c[k>>2]=1;E=i;rO(j,c[E>>2]|0,c[E+4>>2]|0,c[h>>2]|0,z)}}if(c[h>>2]|0){e=(c[g>>2]|0)+40|0;e=r0(c[e>>2]|0,c[e+4>>2]|0,-1,-1)|0;E=(c[g>>2]|0)+40|0;c[E>>2]=e;c[E+4>>2]=D}sO(c[x>>2]|0,c[g>>2]|0,z);if((c[h>>2]|0)==0?(d[(c[g>>2]|0)+48>>0]|0|0)==0:0){b=c[x>>2]|0;e=i;e=_$(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;E=(c[g>>2]|0)+40|0;CL(b,e,D,c[E>>2]|0,c[E+4>>2]|0)|0}}EL(c[B>>2]|0)}if((c[k>>2]|0)!=0&(c[z>>2]|0)==0)c[z>>2]=tO(c[x>>2]|0,j)|0;_d(c[g>>2]|0);_d(c[j>>2]|0);c[w>>2]=c[z>>2];E=c[w>>2]|0;l=C;return E|0}function iO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[d>>2]=b;c[e>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[f>>2]=sL(c[k>>2]|0,22,e,0)|0;if(c[f>>2]|0){k=c[f>>2]|0;l=j;return k|0}pJ(c[e>>2]|0,1,1)|0;if((100==(Bs(c[e>>2]|0)|0)?(c[h>>2]=fJ(c[e>>2]|0,0)|0,c[i>>2]=gJ(c[e>>2]|0,0)|0,c[h>>2]|0):0)?(uO(c[d>>2]|0,c[i>>2]|0,f),(c[f>>2]|0)==0):0){h0(c[c[d>>2]>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[i>>2]}c[g>>2]=ys(c[e>>2]|0)|0;if(c[f>>2]|0){k=c[f>>2]|0;l=j;return k|0}c[f>>2]=c[g>>2];k=c[f>>2]|0;l=j;return k|0}function jO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+20|0;h=n+16|0;g=n+12|0;i=n+8|0;k=n+4|0;m=n;c[h>>2]=b;c[g>>2]=e;c[i>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[m>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[m>>2]|0)-1)>>0]&128))break;c[m>>2]=(c[m>>2]|0)+-1}while(1){if((c[m>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[m>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[m>>2]|0;if(!e)break;c[m>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=bM((c[c[h>>2]>>2]|0)+(c[m>>2]|0)|0,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[m>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[m>>2]|0)>>0]&128|0)b=cM(b,c[i>>2]|0)|0;else{c[c[i>>2]>>2]=d[b>>0];b=1}c[m>>2]=(c[m>>2]|0)+b;if((c[m>>2]|0)!=(c[k>>2]|0)){c[j>>2]=267;m=c[j>>2]|0;l=n;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;l=n;return m|0}return 0}function kO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[i>>2]=0;c[h>>2]=sL(c[k>>2]|0,8,i,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=j;return k|0}e=c[i>>2]|0;k=f;k=_$(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;qJ(e,1,k,D)|0;Bs(c[i>>2]|0)|0;k=iJ(c[i>>2]|0,0)|0;c[c[g>>2]>>2]=k;c[h>>2]=ys(c[i>>2]|0)|0;k=c[h>>2]|0;l=j;return k|0}function lO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+24|0;m=k+20|0;g=k;h=k+16|0;i=k+12|0;j=k+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=sL(c[m>>2]|0,15,i,0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];m=c[f>>2]|0;l=k;return m|0}m=c[i>>2]|0;j=g;j=_$(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;qJ(m,1,j,D)|0;j=c[i>>2]|0;m=g;m=n0(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=_$(m|0,D|0,1,0)|0;m=r0(m|0,D|0,1024,0)|0;qJ(j,2,m,D)|0;c[c[h>>2]>>2]=0;if(100==(Bs(c[i>>2]|0)|0)){m=(Dv(c[i>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=ys(c[i>>2]|0)|0;m=c[f>>2]|0;l=k;return m|0}function mO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;k=q+36|0;m=q;n=q+32|0;o=q+28|0;p=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;c[k>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[o>>2]=f;c[g>>2]=0;a=c[o>>2]|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=c[n>>2]<<2;f=pe(c[h>>2]|0)|0;c[c[o>>2]>>2]=f;if(!(c[c[o>>2]>>2]|0))c[p>>2]=7;else{m0(c[c[o>>2]>>2]|0,0,c[h>>2]|0)|0;c[p>>2]=sL(c[k>>2]|0,12,g,0)|0}if(c[p>>2]|0){p=c[p>>2]|0;l=q;return p|0}qJ(c[g>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[i>>2]=0;while(1){if(c[p>>2]|0)break;if((Bs(c[g>>2]|0)|0)!=100)break;if((c[i>>2]|0)>=(c[n>>2]|0))break;r=c[i>>2]|0;a=jJ(c[g>>2]|0,1)|0;b=D;d=jJ(c[g>>2]|0,2)|0;e=D;f=jJ(c[g>>2]|0,3)|0;h=D;k=fJ(c[g>>2]|0,4)|0;m=gJ(c[g>>2]|0,4)|0;c[p>>2]=rM(r,0,a,b,d,e,f,h,k,m,(c[c[o>>2]>>2]|0)+(c[i>>2]<<2)|0)|0;m=(c[o>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1}c[j>>2]=ys(c[g>>2]|0)|0;if(c[p>>2]|0){r=c[p>>2]|0;l=q;return r|0}c[p>>2]=c[j>>2];r=c[p>>2]|0;l=q;return r|0}function nO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+208|0;I=K+200|0;J=K+196|0;u=K+120|0;j=K+192|0;k=K+188|0;m=K+184|0;y=K+180|0;z=K+176|0;A=K+172|0;n=K+112|0;o=K+104|0;p=K+96|0;v=K+168|0;w=K+164|0;B=K+160|0;q=K+156|0;r=K+152|0;s=K+148|0;t=K+48|0;C=K+144|0;x=K+140|0;E=K+136|0;F=K;G=K+132|0;H=K+128|0;c[J>>2]=b;b=u;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[y>>2]=i;c[A>>2]=0;c[z>>2]=sL(c[J>>2]|0,32,A,0)|0;if(!(c[z>>2]|0)){b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;b=p;c[b>>2]=0;c[b+4>>2]=0;c[v>>2]=0;c[w>>2]=0;c[q>>2]=0;b=c[A>>2]|0;i=u;i=_$(c[i>>2]|0,c[i+4>>2]|0,1,0)|0;qJ(b,1,i,D)|0;pJ(c[A>>2]|0,2,c[j>>2]|0)|0;i=(Bs(c[A>>2]|0)|0)==100;b=c[A>>2]|0;if(!i){c[I>>2]=ys(b)|0;J=c[I>>2]|0;l=K;return J|0}i=jJ(b,1)|0;h=n;c[h>>2]=i;c[h+4>>2]=D;h=jJ(c[A>>2]|0,2)|0;i=o;c[i>>2]=h;c[i+4>>2]=D;HL(c[A>>2]|0,3,p,(c[y>>2]|0)+40|0);if((c[(c[y>>2]|0)+40+4>>2]|0)<0){h=(c[y>>2]|0)+40|0;h=r0(c[h>>2]|0,c[h+4>>2]|0,-1,-1)|0;i=(c[y>>2]|0)+40|0;c[i>>2]=h;c[i+4>>2]=D}i=(c[y>>2]|0)+40|0;a[(c[y>>2]|0)+48>>0]=(c[i>>2]|0)==0&(c[i+4>>2]|0)==0&1;c[w>>2]=gJ(c[A>>2]|0,4)|0;c[v>>2]=fJ(c[A>>2]|0,4)|0;i=p;c[z>>2]=GO(c[J>>2]|0,c[i>>2]|0,c[i+4>>2]|0,q)|0;if((c[z>>2]|0)==0&(c[q>>2]|0)!=0){c[r>>2]=0;c[s>>2]=0;c[z>>2]=jM(c[J>>2]|0,c[o>>2]|0,c[o+4>>2]|0,r,s,0)|0;if(!(c[z>>2]|0)){c[z>>2]=zO(t,c[r>>2]|0,c[s>>2]|0)|0;while(1){if(!((c[z>>2]|0)==0?(c[t>>2]|0)!=0:0))break;c[z>>2]=DO(t)|0}if((AO(c[k>>2]|0,c[m>>2]|0,c[t+24>>2]|0,c[t+24+4>>2]|0)|0)<=0)c[q>>2]=0;EO(t)}_d(c[r>>2]|0)}a:do if((c[z>>2]|0)==0&(c[q>>2]|0)!=0){c[x>>2]=a[c[v>>2]>>0];t=p;s=n;s=Z$(c[t>>2]|0,c[t+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=_$(s|0,D|0,1,0)|0;c[c[y>>2]>>2]=(s|0)/16|0;s=n;t=c[s+4>>2]|0;r=(c[y>>2]|0)+24|0;c[r>>2]=c[s>>2];c[r+4>>2]=t;r=p;t=c[r+4>>2]|0;s=(c[y>>2]|0)+32|0;c[s>>2]=c[r>>2];c[s+4>>2]=t;s=u;t=c[s+4>>2]|0;u=(c[y>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[y>>2]|0)+16>>2]=c[j>>2];c[C>>2]=(c[x>>2]|0)+1;while(1){b=c[y>>2]|0;if((c[C>>2]|0)>=16)break;u=b+24|0;t=S(c[C>>2]|0,c[c[y>>2]>>2]|0)|0;t=_$(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[y>>2]|0)+56+(c[C>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=D;c[C>>2]=(c[C>>2]|0)+1}c[E>>2]=b+56+(c[x>>2]<<5);u=(c[y>>2]|0)+24|0;t=S(c[c[y>>2]>>2]|0,c[x>>2]|0)|0;t=_$(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[E>>2]|0;c[u>>2]=t;c[u+4>>2]=D;if((c[w>>2]|0)>(c[(c[J>>2]|0)+224>>2]|0))b=c[w>>2]|0;else b=c[(c[J>>2]|0)+224>>2]|0;uO((c[E>>2]|0)+20|0,b,z);if(!(c[z>>2]|0)){h0(c[(c[E>>2]|0)+20>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;c[(c[E>>2]|0)+20+4>>2]=c[w>>2]}c[C>>2]=c[x>>2];while(1){if(!((c[C>>2]|0)>=0?(c[z>>2]|0)==0:0))break a;c[E>>2]=(c[y>>2]|0)+56+(c[C>>2]<<5);c[z>>2]=zO(F,c[(c[E>>2]|0)+20>>2]|0,c[(c[E>>2]|0)+20+4>>2]|0)|0;while(1){if(!(c[F>>2]|0?(c[z>>2]|0)==0:0))break;c[z>>2]=DO(F)|0}uO((c[E>>2]|0)+8|0,c[F+24+4>>2]|0,z);if((c[z>>2]|0)==0?(h0(c[(c[E>>2]|0)+8>>2]|0,c[F+24>>2]|0,c[F+24+4>>2]|0)|0,c[(c[E>>2]|0)+8+4>>2]=c[F+24+4>>2],(c[C>>2]|0)>0):0){c[G>>2]=0;c[H>>2]=0;c[E>>2]=(c[y>>2]|0)+56+((c[C>>2]|0)-1<<5);v=F+16|0;w=c[v+4>>2]|0;x=c[E>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=F+16|0;c[z>>2]=jM(c[J>>2]|0,c[x>>2]|0,c[x+4>>2]|0,G,H,0)|0;if((c[H>>2]|0)>(c[(c[J>>2]|0)+224>>2]|0))b=c[H>>2]|0;else b=c[(c[J>>2]|0)+224>>2]|0;uO((c[E>>2]|0)+20|0,b,z);if(!(c[z>>2]|0)){h0(c[(c[E>>2]|0)+20>>2]|0,c[G>>2]|0,c[H>>2]|0)|0;c[(c[E>>2]|0)+20+4>>2]=c[H>>2]}_d(c[G>>2]|0)}EO(F);c[C>>2]=(c[C>>2]|0)+-1}}while(0);c[B>>2]=ys(c[A>>2]|0)|0;if(!(c[z>>2]|0))c[z>>2]=c[B>>2]}c[I>>2]=c[z>>2];J=c[I>>2]|0;l=K;return J|0}function oO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;p=t+44|0;q=t+40|0;r=t;s=t+36|0;h=t+32|0;i=t+28|0;j=t+24|0;k=t+20|0;m=t+16|0;n=t+12|0;o=t+8|0;c[q>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;c[h>>2]=f;c[i>>2]=g;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[j>>2]=sL(c[q>>2]|0,29,n,0)|0;if(!(c[j>>2]|0)){g=r;qJ(c[n>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[h>>2]|0)+4>>2]|0;qJ(c[n>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(Bs(c[n>>2]|0)|0))c[m>>2]=iJ(c[n>>2]|0,0)|0;c[j>>2]=ys(c[n>>2]|0)|0}if(c[j>>2]|0){c[p>>2]=c[j>>2];s=c[p>>2]|0;l=t;return s|0}c[j>>2]=sL(c[q>>2]|0,10,o,0)|0;if(!(c[j>>2]|0)){if(100==(Bs(c[o>>2]|0)|0)){f=jJ(c[o>>2]|0,0)|0;g=(c[i>>2]|0)+24|0;c[g>>2]=f;c[g+4>>2]=D;g=(c[i>>2]|0)+24|0;g=Z$(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;f=(c[i>>2]|0)+32|0;c[f>>2]=g;c[f+4>>2]=D;f=c[m>>2]<<4;g=(c[i>>2]|0)+32|0;e=g;f=_$(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[g>>2]=f;c[g+4>>2]=D}c[j>>2]=ys(c[o>>2]|0)|0}if(c[j>>2]|0){c[p>>2]=c[j>>2];s=c[p>>2]|0;l=t;return s|0}g=(c[i>>2]|0)+32|0;c[j>>2]=IL(c[q>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[j>>2]|0){c[p>>2]=c[j>>2];s=c[p>>2]|0;l=t;return s|0}g=r;q=c[g+4>>2]|0;r=(c[i>>2]|0)+8|0;c[r>>2]=c[g>>2];c[r+4>>2]=q;c[c[i>>2]>>2]=c[m>>2];c[(c[i>>2]|0)+16>>2]=c[s>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=16)break;s=(c[i>>2]|0)+24|0;r=S(c[k>>2]|0,c[c[i>>2]>>2]|0)|0;r=_$(c[s>>2]|0,c[s+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;s=(c[i>>2]|0)+56+(c[k>>2]<<5)|0;c[s>>2]=r;c[s+4>>2]=D;c[k>>2]=(c[k>>2]|0)+1}c[p>>2]=0;s=c[p>>2]|0;l=t;return s|0}function pO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;k=r+44|0;m=r+40|0;s=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;f=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[k>>2]=b;c[m>>2]=d;c[s>>2]=e;c[n>>2]=c[(c[s>>2]|0)+40>>2];c[o>>2]=c[(c[s>>2]|0)+44>>2];c[p>>2]=c[(c[s>>2]|0)+48>>2];c[q>>2]=c[(c[s>>2]|0)+52>>2];c[f>>2]=0;c[j>>2]=(c[m>>2]|0)+56;c[h>>2]=PL(c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[i>>2]=(c[o>>2]|0)-(c[h>>2]|0);e=c[h>>2]|0;c[g>>2]=ML(e,((e|0)<0)<<31>>31)|0;e=c[i>>2]|0;e=ML(e,((e|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+(e+(c[i>>2]|0));e=c[q>>2]|0;e=ML(e,((e|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+(e+(c[q>>2]|0));if((c[(c[j>>2]|0)+20+4>>2]|0)>0?((c[(c[j>>2]|0)+20+4>>2]|0)+(c[g>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){s=c[j>>2]|0;c[f>>2]=IL(c[k>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20+4>>2]|0)|0;s=(c[m>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[f>>2]|0))c[f>>2]=FO(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[h>>2]|0)+1|0)|0;s=c[j>>2]|0;k=s;k=_$(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[s>>2]=k;c[s+4>>2]=D;c[(c[j>>2]|0)+8+4>>2]=0;c[(c[j>>2]|0)+20+4>>2]=0;c[i>>2]=c[o>>2];c[g>>2]=1;s=c[i>>2]|0;s=ML(s,((s|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+(s+(c[i>>2]|0));s=c[q>>2]|0;s=ML(s,((s|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+(s+(c[q>>2]|0))}k=c[g>>2]|0;s=(c[m>>2]|0)+40|0;m=s;m=_$(c[m>>2]|0,c[m+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;c[s>>2]=m;c[s+4>>2]=D;uO((c[j>>2]|0)+20|0,(c[(c[j>>2]|0)+20+4>>2]|0)+(c[g>>2]|0)|0,f);if(c[f>>2]|0){s=c[f>>2]|0;l=r;return s|0}if(!(c[(c[j>>2]|0)+20+4>>2]|0)){c[(c[j>>2]|0)+20+4>>2]=1;a[c[(c[j>>2]|0)+20>>2]>>0]=0}c[f>>2]=CO((c[j>>2]|0)+20|0,(c[j>>2]|0)+8|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[f>>2]|0;l=r;return s|0}function qO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;n=s+44|0;o=s;p=s+40|0;q=s+36|0;r=s+32|0;g=s+28|0;h=s+24|0;i=s+20|0;j=s+16|0;k=s+12|0;m=s+8|0;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;c[p>>2]=e;c[q>>2]=f;c[g>>2]=0;c[h>>2]=0;c[r>>2]=(c[(c[p>>2]|0)+4>>2]|0)-1;while(1){if(!((c[r>>2]|0)>=0?(c[h>>2]|0)==0:0))break;c[i>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0))break;c[i>>2]=c[(c[c[p>>2]>>2]|0)+(c[j>>2]<<2)>>2];if((c[c[i>>2]>>2]|0)==(c[r>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}if(!(c[(c[i>>2]|0)+40>>2]|0)){c[h>>2]=OL(c[n>>2]|0,c[i>>2]|0)|0;if(!(c[h>>2]|0)){f=o;c[h>>2]=vO(c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[i>>2]>>2]|0)|0}c[c[q>>2]>>2]=0}else{c[k>>2]=c[(c[i>>2]|0)+64>>2];c[m>>2]=c[(c[i>>2]|0)+60>>2];f=o;c[h>>2]=wO(c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[i>>2]>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+-1}if(c[h>>2]|0){p=c[g>>2]|0;r=c[q>>2]|0;c[r>>2]=p;r=c[h>>2]|0;l=s;return r|0}if((c[g>>2]|0)==(c[(c[p>>2]|0)+4>>2]|0)){p=c[g>>2]|0;r=c[q>>2]|0;c[r>>2]=p;r=c[h>>2]|0;l=s;return r|0}p=o;c[h>>2]=xO(c[n>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=c[g>>2]|0;r=c[q>>2]|0;c[r>>2]=p;r=c[h>>2]|0;l=s;return r|0}function rO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;g=j+16|0;h=j;i=j+12|0;k=j+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[i>>2]=e;c[k>>2]=f;uO(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[k>>2]|0);if(c[c[k>>2]>>2]|0){l=j;return}h=NL((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=(c[g>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+h;i=c[i>>2]|0;i=NL((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,i,((i|0)<0)<<31>>31)|0;k=(c[g>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+i;l=j;return}function sO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;j=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;m=r+20|0;p=r+16|0;q=r+12|0;g=r+8|0;h=r+4|0;i=r;c[j>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[m>>2]=15;while(1){if((c[m>>2]|0)<0)break;c[g>>2]=(c[n>>2]|0)+56+(c[m>>2]<<5);if((c[(c[g>>2]|0)+20+4>>2]|0)>0)break;_d(c[(c[g>>2]|0)+20>>2]|0);_d(c[(c[g>>2]|0)+8>>2]|0);c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){l=r;return}if(!(c[m>>2]|0)){c[h>>2]=(c[n>>2]|0)+56+32+20;uO(c[h>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[h>>2]>>2]>>0]=1;f=(c[n>>2]|0)+56|0;f=1+(NL((c[c[h>>2]>>2]|0)+1|0,c[f>>2]|0,c[f+4>>2]|0)|0)|0;c[(c[h>>2]|0)+4>>2]=f}c[m>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[m>>2]<<5);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;c[i>>2]=(c[n>>2]|0)+56+(c[k>>2]<<5);if((c[q>>2]|0)==0?(c[(c[i>>2]|0)+20+4>>2]|0)>0:0){f=c[i>>2]|0;c[q>>2]=IL(c[j>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[(c[i>>2]|0)+20+4>>2]|0)|0}_d(c[(c[i>>2]|0)+20>>2]|0);_d(c[(c[i>>2]|0)+8>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if(!(c[q>>2]|0)){b=c[j>>2]|0;e=(c[n>>2]|0)+8|0;e=_$(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;g=(c[n>>2]|0)+24|0;h=(c[n>>2]|0)+56|0;i=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){j=(c[n>>2]|0)+40|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}c[q>>2]=KL(b,e,D,c[(c[n>>2]|0)+16>>2]|0,c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[i>>2]|0,c[i+4>>2]|0,f,j,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}_d(c[(c[p>>2]|0)+20>>2]|0);_d(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];l=r;return}function tO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=sL(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;l=g;return h|0}pJ(c[e>>2]|0,1,1)|0;lJ(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;Bs(c[e>>2]|0)|0;c[f>>2]=ys(c[e>>2]|0)|0;h=c[f>>2]|0;l=g;return h|0}function uO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){l=j;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){l=j;return}c[h>>2]=c[f>>2];c[i>>2]=Xf(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[i>>2]|0){c[(c[e>>2]|0)+8>>2]=c[h>>2];c[c[e>>2]>>2]=c[i>>2];l=j;return}else{c[c[g>>2]>>2]=7;l=j;return}}function vO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[i>>2]=0;c[h>>2]=sL(c[k>>2]|0,30,i,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=j;return k|0}k=f;qJ(c[i>>2]|0,1,c[k>>2]|0,c[k+4>>2]|0)|0;pJ(c[i>>2]|0,2,c[g>>2]|0)|0;Bs(c[i>>2]|0)|0;c[h>>2]=ys(c[i>>2]|0)|0;k=c[h>>2]|0;l=j;return k|0}function wO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+112|0;x=B+104|0;y=B+24|0;z=B+100|0;A=B+96|0;h=B+92|0;i=B+88|0;j=B+76|0;k=B+64|0;m=B+16|0;n=B+8|0;o=B;p=B+60|0;q=B+56|0;r=B+52|0;s=B+48|0;t=B+44|0;u=B+40|0;v=B+36|0;w=B+32|0;c[x>>2]=a;a=y;c[a>>2]=b;c[a+4>>2]=d;c[z>>2]=e;c[A>>2]=f;c[h>>2]=g;c[i>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;g=m;c[g>>2]=0;c[g+4>>2]=0;g=n;c[g>>2]=0;c[g+4>>2]=0;g=o;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=0;c[i>>2]=sL(c[x>>2]|0,32,p,0)|0;if(!(c[i>>2]|0)){g=y;qJ(c[p>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;pJ(c[p>>2]|0,2,c[z>>2]|0)|0;if(100==(Bs(c[p>>2]|0)|0)){c[r>>2]=fJ(c[p>>2]|0,4)|0;c[s>>2]=gJ(c[p>>2]|0,4)|0;f=jJ(c[p>>2]|0,1)|0;g=o;c[g>>2]=f;c[g+4>>2]=D;c[i>>2]=yO(c[r>>2]|0,c[s>>2]|0,j,c[A>>2]|0,c[h>>2]|0,m)|0}c[q>>2]=ys(c[p>>2]|0)|0;if(!(c[i>>2]|0))c[i>>2]=c[q>>2]}while(1){g=m;if(!((c[i>>2]|0)==0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;c[t>>2]=0;c[u>>2]=0;e=m;f=c[e+4>>2]|0;g=n;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=m;c[i>>2]=jM(c[x>>2]|0,c[g>>2]|0,c[g+4>>2]|0,t,u,0)|0;if(!(c[i>>2]|0))c[i>>2]=yO(c[t>>2]|0,c[u>>2]|0,k,c[A>>2]|0,c[h>>2]|0,m)|0;if(!(c[i>>2]|0)){g=n;c[i>>2]=IL(c[x>>2]|0,c[g>>2]|0,c[g+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0}_d(c[t>>2]|0)}A=n;if((c[i>>2]|0)==0&((c[A>>2]|0)!=0|(c[A+4>>2]|0)!=0)?(c[v>>2]=0,c[i>>2]=sL(c[x>>2]|0,17,v,0)|0,(c[i>>2]|0)==0):0){g=o;qJ(c[v>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[v>>2]|0;A=n;A=Z$(c[A>>2]|0,c[A+4>>2]|0,1,0)|0;qJ(g,2,A,D)|0;Bs(c[v>>2]|0)|0;c[i>>2]=ys(c[v>>2]|0)|0}if(c[i>>2]|0){A=c[j>>2]|0;_d(A);A=c[k>>2]|0;_d(A);A=c[i>>2]|0;l=B;return A|0}c[w>>2]=0;c[i>>2]=sL(c[x>>2]|0,33,w,0)|0;if(c[i>>2]|0){A=c[j>>2]|0;_d(A);A=c[k>>2]|0;_d(A);A=c[i>>2]|0;l=B;return A|0}A=n;qJ(c[w>>2]|0,1,c[A>>2]|0,c[A+4>>2]|0)|0;lJ(c[w>>2]|0,2,c[j>>2]|0,c[j+4>>2]|0,0)|0;A=y;qJ(c[w>>2]|0,3,c[A>>2]|0,c[A+4>>2]|0)|0;pJ(c[w>>2]|0,4,c[z>>2]|0)|0;Bs(c[w>>2]|0)|0;c[i>>2]=ys(c[w>>2]|0)|0;A=c[j>>2]|0;_d(A);A=c[k>>2]|0;_d(A);A=c[i>>2]|0;l=B;return A|0}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;j=s+44|0;k=s;m=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;q=s+24|0;f=s+20|0;g=s+16|0;h=s+12|0;i=s+8|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[f>>2]=0;c[g>>2]=0;c[m>>2]=sL(c[j>>2]|0,35,f,0)|0;if(!(c[m>>2]|0)){e=k;qJ(c[f>>2]|0,1,c[e>>2]|0,c[e+4>>2]|0)|0;while(1){if(100!=(Bs(c[f>>2]|0)|0))break;if((c[o>>2]|0)>=(c[p>>2]|0)){c[p>>2]=(c[p>>2]|0)+16;c[i>>2]=Xf(c[n>>2]|0,c[p>>2]<<2)|0;if(!(c[i>>2]|0)){r=6;break}c[n>>2]=c[i>>2]}b=iJ(c[f>>2]|0,0)|0;d=c[n>>2]|0;e=c[o>>2]|0;c[o>>2]=e+1;c[d+(e<<2)>>2]=b}if((r|0)==6)c[m>>2]=7;c[h>>2]=ys(c[f>>2]|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[h>>2]}if(!(c[m>>2]|0))c[m>>2]=sL(c[j>>2]|0,31,g,0)|0;if(!(c[m>>2]|0)){r=k;qJ(c[g>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[j>>2]|0)+232>>0]=1;c[q>>2]=0;while(1){if(c[m>>2]|0){r=21;break}if((c[q>>2]|0)>=(c[o>>2]|0)){r=21;break}if((c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]|0)!=(c[q>>2]|0)){pJ(c[g>>2]|0,3,c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;pJ(c[g>>2]|0,1,c[q>>2]|0)|0;Bs(c[g>>2]|0)|0;c[m>>2]=ys(c[g>>2]|0)|0}c[q>>2]=(c[q>>2]|0)+1}if((r|0)==21){a[(c[j>>2]|0)+232>>0]=0;_d(c[n>>2]|0);l=s;return c[m>>2]|0}return 0}function yO(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+112|0;r=w+96|0;s=w+92|0;t=w+88|0;u=w+84|0;i=w+80|0;j=w+76|0;k=w+72|0;m=w;n=w+60|0;o=w+56|0;p=w+52|0;q=w+48|0;c[s>>2]=b;c[t>>2]=d;c[u>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=h;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[o>>2]=0;c[p>>2]=(a[c[s>>2]>>0]|0)==0&1;uO(c[u>>2]|0,c[t>>2]|0,o);if(c[o>>2]|0){c[r>>2]=c[o>>2];v=c[r>>2]|0;l=w;return v|0}c[(c[u>>2]|0)+4>>2]=0;c[o>>2]=zO(m,c[s>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[o>>2]|0)==0?(c[m>>2]|0)!=0:0))break;if(!(c[(c[u>>2]|0)+4>>2]|0)){c[q>>2]=AO(c[m+24>>2]|0,c[m+24+4>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;if((c[q>>2]|0)>=0?!((c[p>>2]|0)==0&(c[q>>2]|0)==0):0){h=m+16|0;BO(c[u>>2]|0,a[c[s>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=m+16|0;t=c[h+4>>2]|0;v=c[k>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=t;v=9}}else v=9;if((v|0)==9?(v=0,c[o>>2]=CO(c[u>>2]|0,n,c[m+24>>2]|0,c[m+24+4>>2]|0,c[m+36>>2]|0,c[m+40>>2]|0)|0,c[o>>2]|0):0)break;c[o>>2]=DO(m)|0}if(!(c[(c[u>>2]|0)+4>>2]|0)){t=m+16|0;BO(c[u>>2]|0,a[c[s>>2]>>0]|0,c[t>>2]|0,c[t+4>>2]|0);t=m+16|0;u=c[t+4>>2]|0;v=c[k>>2]|0;c[v>>2]=c[t>>2];c[v+4>>2]=u}EO(m);_d(c[n>>2]|0);c[r>>2]=c[o>>2];v=c[r>>2]|0;l=w;return v|0}function zO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+8|0;f=i+4|0;g=i;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;b=c[h>>2]|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];b=c[h>>2]|0;if(!(a[c[c[h>>2]>>2]>>0]|0)){f=1;g=b;g=g+8|0;c[g>>2]=f;h=c[h>>2]|0;h=DO(h)|0;l=i;return h|0}f=1+(bM((c[b>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;g=c[h>>2]|0;g=g+8|0;c[g>>2]=f;h=c[h>>2]|0;h=DO(h)|0;l=i;return h|0}function AO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;m=i+20|0;f=i+16|0;k=i+12|0;g=i+8|0;j=i+4|0;h=i;c[m>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[j>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=H_(c[m>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;l=i;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;l=i;return m|0}function BO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;g=i+12|0;j=i+8|0;h=i;c[g>>2]=b;c[j>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[j>>2];f=h;b=c[g>>2]|0;if(!((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)){h=1;j=b;j=j+4|0;c[j>>2]=h;l=i;return}h=1+(NL((c[b>>2]|0)+1|0,c[h>>2]|0,c[h+4>>2]|0)|0)|0;j=c[g>>2]|0;j=j+4|0;c[j>>2]=h;l=i;return}function CO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;h=t+24|0;i=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=0;c[m>>2]=(c[(c[r>>2]|0)+4>>2]|0)==0&1;uO(c[r>>2]|0,c[h>>2]|0,k);if(c[k>>2]|0){c[p>>2]=c[k>>2];s=c[p>>2]|0;l=t;return s|0}c[n>>2]=PL(c[c[r>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[s>>2]|0,c[h>>2]|0)|0;c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);h0(c[c[r>>2]>>2]|0,c[s>>2]|0,c[h>>2]|0)|0;c[(c[r>>2]|0)+4>>2]=c[h>>2];if(!(c[m>>2]|0)){g=c[n>>2]|0;g=NL((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,g,((g|0)<0)<<31>>31)|0;r=(c[q>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+g}g=c[o>>2]|0;g=NL((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,g,((g|0)<0)<<31>>31)|0;r=(c[q>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+g;h0((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,(c[s>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;s=(c[q>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+(c[o>>2]|0);if(c[i>>2]|0){r=c[j>>2]|0;r=NL((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,r,((r|0)<0)<<31>>31)|0;s=(c[q>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+r;h0((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,c[i>>2]|0,c[j>>2]|0)|0;s=(c[q>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+(c[j>>2]|0)}c[p>>2]=0;s=c[p>>2]|0;l=t;return s|0}function DO(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i+16|0;b=i+12|0;e=i+8|0;f=i+4|0;h=i;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;j=a;j=_$(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;c[a>>2]=j;c[a+4>>2]=D}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;j=c[h>>2]|0;l=i;return j|0}if(!(c[b>>2]|0)){a=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128|0)a=cM(a,e)|0;else{c[e>>2]=d[a>>0];a=1}j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+a}a=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128|0)a=cM(a,f)|0;else{c[f>>2]=d[a>>0];a=1}j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+a;uO((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){j=c[h>>2]|0;l=i;return j|0}h0((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+(c[f>>2]|0);j=(c[g>>2]|0)+16|0;if(!((c[j>>2]|0)==0&(c[j+4>>2]|0)==0)){j=c[h>>2]|0;l=i;return j|0}a=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128|0)a=cM(a,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[a>>0];a=1}j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+a;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);j=c[h>>2]|0;l=i;return j|0}function EO(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;_d(c[(c[d>>2]|0)+24>>2]|0);l=b;return}function FO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;p=w+60|0;q=w+56|0;r=w+52|0;s=w+48|0;t=w+44|0;u=w+8|0;g=w+40|0;h=w;i=w+36|0;j=w+32|0;k=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;d=(c[r>>2]|0)+56|0;e=c[d+4>>2]|0;f=u;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[g>>2]=1;while(1){if((c[g>>2]|0)>=16){v=17;break}f=h;c[f>>2]=0;c[f+4>>2]=0;c[i>>2]=(c[r>>2]|0)+56+(c[g>>2]<<5);c[j>>2]=0;c[k>>2]=PL(c[(c[i>>2]|0)+8>>2]|0,c[(c[i>>2]|0)+8+4>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;c[m>>2]=(c[t>>2]|0)-(c[k>>2]|0);f=c[k>>2]|0;c[n>>2]=ML(f,((f|0)<0)<<31>>31)|0;f=c[m>>2]|0;f=ML(f,((f|0)<0)<<31>>31)|0;c[n>>2]=(c[n>>2]|0)+(f+(c[m>>2]|0));if((c[(c[i>>2]|0)+8+4>>2]|0)!=0?((c[(c[i>>2]|0)+20+4>>2]|0)+(c[n>>2]|0)|0)>(c[(c[q>>2]|0)+224>>2]|0):0){d=c[i>>2]|0;c[j>>2]=IL(c[q>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[(c[i>>2]|0)+20+4>>2]|0)|0;a[c[(c[i>>2]|0)+20>>2]>>0]=c[g>>2];d=(c[(c[i>>2]|0)+20>>2]|0)+1|0;v=u;v=_$(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;v=1+(NL(d,v,D)|0)|0;c[(c[i>>2]|0)+20+4>>2]=v;v=c[i>>2]|0;d=c[v+4>>2]|0;b=h;c[b>>2]=c[v>>2];c[b+4>>2]=d;b=c[i>>2]|0;d=b;d=_$(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[b>>2]=d;c[b+4>>2]=D;b=0;d=c[i>>2]|0;v=13}else{c[o>>2]=(c[i>>2]|0)+20;if((c[(c[o>>2]|0)+4>>2]|0)==0?(uO(c[o>>2]|0,c[(c[q>>2]|0)+224>>2]|0,j),(c[j>>2]|0)==0):0){a[c[c[o>>2]>>2]>>0]=c[g>>2];f=u;f=1+(NL((c[c[o>>2]>>2]|0)+1|0,c[f>>2]|0,c[f+4>>2]|0)|0)|0;c[(c[o>>2]|0)+4>>2]=f}uO(c[o>>2]|0,(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]|0)|0,j);uO((c[i>>2]|0)+8|0,c[t>>2]|0,j);if(!(c[j>>2]|0)){if(c[(c[i>>2]|0)+8+4>>2]|0){f=c[k>>2]|0;f=NL((c[c[o>>2]>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;v=(c[o>>2]|0)+4|0;c[v>>2]=(c[v>>2]|0)+f}d=c[m>>2]|0;d=NL((c[c[o>>2]>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;b=(c[o>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+d;h0((c[c[o>>2]>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0)|0,(c[s>>2]|0)+(c[k>>2]|0)|0,c[m>>2]|0)|0;b=(c[o>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);h0(c[(c[i>>2]|0)+8>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;b=c[t>>2]|0;d=c[i>>2]|0;v=13}}if((v|0)==13){v=0;c[d+8+4>>2]=b}f=h;if((c[j>>2]|0)!=0|(c[f>>2]|0)==0&(c[f+4>>2]|0)==0){v=15;break}d=h;e=c[d+4>>2]|0;f=u;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+1}if((v|0)==15){c[p>>2]=c[j>>2];v=c[p>>2]|0;l=w;return v|0}else if((v|0)==17){c[p>>2]=0;v=c[p>>2]|0;l=w;return v|0}return 0}function GO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+24|0;f=k;g=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[i>>2]=0;c[j>>2]=sL(c[m>>2]|0,34,i,0)|0;if(c[j>>2]|0){i=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=i;m=c[j>>2]|0;l=k;return m|0}m=f;qJ(c[i>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(Bs(c[i>>2]|0)|0))c[h>>2]=1;c[j>>2]=ys(c[i>>2]|0)|0;i=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=i;m=c[j>>2]|0;l=k;return m|0}function HO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;u=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;g=t+24|0;h=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[u>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=c[u>>2];c[s>>2]=0;c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;if(((c[o>>2]|0)>1?(Ai(c[c[p>>2]>>2]|0)|0)==5:0)?(Ai(c[(c[p>>2]|0)+((c[(c[r>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=IO(c[r>>2]|0,c[(c[p>>2]|0)+((c[(c[r>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}if((c[o>>2]|0)>1?(Qi(c[(c[p>>2]|0)+(2+(c[(c[r>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}c[i>>2]=pe((c[(c[r>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[i>>2]|0)){c[s>>2]=7;u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}c[h>>2]=(c[i>>2]|0)+((c[(c[r>>2]|0)+24>>2]|0)+1<<2);m0(c[i>>2]|0,0,(c[(c[r>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=JO(c[r>>2]|0)|0;if(c[s>>2]|0){u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}do if((c[o>>2]|0)>1?(c[(c[r>>2]|0)+40>>2]|0)==0:0){c[m>>2]=c[(c[p>>2]|0)+(3+(c[(c[r>>2]|0)+24>>2]|0)<<2)>>2];if((Ai(c[m>>2]|0)|0)==5)c[m>>2]=c[(c[p>>2]|0)+4>>2];if((Ai(c[m>>2]|0)|0)!=5){if((Ai(c[c[p>>2]>>2]|0)|0)!=5?(e=Fi(c[c[p>>2]>>2]|0)|0,u=D,f=Fi(c[m>>2]|0)|0,!((e|0)!=(f|0)|(u|0)!=(D|0))):0)break;u=(NJ(c[(c[r>>2]|0)+12>>2]|0)|0)==5;b=c[r>>2]|0;if(u){c[s>>2]=KO(b,c[m>>2]|0,j,c[i>>2]|0)|0;break}else{c[s>>2]=LO(b,c[p>>2]|0,c[q>>2]|0)|0;c[k>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}if((Ai(c[c[p>>2]>>2]|0)|0)!=5){c[s>>2]=KO(c[r>>2]|0,c[c[p>>2]>>2]|0,j,c[i>>2]|0)|0;c[g>>2]=1}if((c[o>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=Qi(c[(c[p>>2]|0)+(2+(c[(c[r>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[k>>2]|0)==0?(c[s>>2]=LO(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[r>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if(c[g>>2]|0?(o=c[q>>2]|0,u=(c[r>>2]|0)+264|0,!((c[o>>2]|0)!=(c[u>>2]|0)?1:(c[o+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[q>>2]|0;c[s>>2]=MO(c[r>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=NO(c[r>>2]|0,c[n>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;if(a[(c[r>>2]|0)+230>>0]|0)OO(s,c[r>>2]|0,c[h>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(!(a[(c[r>>2]|0)+228>>0]|0)){u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}PO(s,c[r>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);u=c[i>>2]|0;_d(u);u=c[r>>2]|0;BM(u);u=c[s>>2]|0;l=t;return u|0}function IO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;k=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[k>>2]=b;c[g>>2]=Rh(c[k>>2]|0)|0;c[h>>2]=Sh(c[k>>2]|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;k=c[d>>2]|0;l=j;return k|0}if((c[h>>2]|0)==8?0==(ld(c[g>>2]|0,42637,8)|0):0)c[f>>2]=VN(c[e>>2]|0,0)|0;else i=6;do if((i|0)==6){if((c[h>>2]|0)==7?0==(ld(c[g>>2]|0,45620,7)|0):0){c[f>>2]=ZO(c[e>>2]|0)|0;break}if((c[h>>2]|0)==15?0==(ld(c[g>>2]|0,45628,15)|0):0){c[f>>2]=_O(c[e>>2]|0)|0;break}if((c[h>>2]|0)>6?0==(ld(c[g>>2]|0,45644,6)|0):0){c[f>>2]=$O(c[e>>2]|0,(c[g>>2]|0)+6|0)|0;break}if((c[h>>2]|0)>10?0==(ld(c[g>>2]|0,45651,10)|0):0){c[f>>2]=aP(c[e>>2]|0,(c[g>>2]|0)+10|0)|0;break}c[f>>2]=1}while(0);c[d>>2]=c[f>>2];k=c[d>>2]|0;l=j;return k|0}function JO(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[d>>2]=sL(c[b>>2]|0,16,e,0)|0,(c[d>>2]|0)==0):0){rJ(c[e>>2]|0,1)|0;Bs(c[e>>2]|0)|0;c[d>>2]=ys(c[e>>2]|0)|0}l=f;return c[d>>2]|0}function KO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;g=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;UO(m,c[h>>2]|0,c[i>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;l=n;return o|0}c[g>>2]=0;c[m>>2]=VO(c[h>>2]|0,c[i>>2]|0,g)|0;if(c[m>>2]|0){o=c[m>>2]|0;l=n;return o|0}if(c[g>>2]|0){c[m>>2]=WO(c[h>>2]|0,1)|0;c[c[j>>2]>>2]=0;m0(c[k>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;l=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[h>>2]|0)+40>>2]|0))XO(m,c[h>>2]|0,0,i);if(!(a[(c[h>>2]|0)+230>>0]|0)){o=c[m>>2]|0;l=n;return o|0}XO(m,c[h>>2]|0,19,i);o=c[m>>2]|0;l=n;return o|0}function LO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+3<<2)>>2];if((Ai(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((Ai(c[k>>2]|0)|0)!=1){c[e>>2]=19;k=c[e>>2]|0;l=m;return k|0}else{j=Fi(c[k>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=D;c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}}c[i>>2]=sL(c[f>>2]|0,18,j,(c[g>>2]|0)+4|0)|0;if((c[i>>2]|0)==0?c[(c[f>>2]|0)+44>>2]|0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[i>>2]=pJ(d,k,Qi(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[i>>2]|0){c[e>>2]=c[i>>2];k=c[e>>2]|0;l=m;return k|0}if(5!=(Ai(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(Ai(c[c[g>>2]>>2]|0)|0)?5!=(Ai(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;k=c[e>>2]|0;l=m;return k|0}c[i>>2]=tJ(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[i>>2]|0){c[e>>2]=c[i>>2];k=c[e>>2]|0;l=m;return k|0}}Bs(c[j>>2]|0)|0;c[i>>2]=ys(c[j>>2]|0)|0;j=cj(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=D;c[e>>2]=c[i>>2];k=c[e>>2]|0;l=m;return k|0}function MO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o;g=o+8|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;b=m;c[b>>2]=e;c[b+4>>2]=f;e=m;b=c[e+4>>2]|0;f=(c[i>>2]|0)+264|0;d=c[f+4>>2]|0;do if(!((b|0)<(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0))){e=m;f=(c[i>>2]|0)+264|0;if(((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)?(c[(c[i>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[i>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[i>>2]|0)+260>>2]|0)<=(c[(c[i>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[g>>2]=pL(c[i>>2]|0)|0,c[g>>2]|0):0){c[h>>2]=c[g>>2];n=c[h>>2]|0;l=o;return n|0}f=m;m=c[f+4>>2]|0;n=(c[i>>2]|0)+264|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;c[(c[i>>2]|0)+272>>2]=c[k>>2];c[(c[i>>2]|0)+276>>2]=c[j>>2];c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0} +function lG(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+64|0;v=z+56|0;w=z+52|0;A=z+63|0;o=z+48|0;p=z+44|0;x=z+40|0;y=z+36|0;q=z+32|0;t=z+28|0;u=z+24|0;h=z+60|0;r=z+20|0;s=z+62|0;i=z+16|0;j=z+12|0;k=z+8|0;m=z+4|0;n=z;c[w>>2]=f;a[A>>0]=g;c[o>>2]=c[c[w>>2]>>2];c[p>>2]=c[(c[o>>2]|0)+4>>2];c[r>>2]=0;a[s>>0]=d[A>>0]&2;c[u>>2]=a[(c[w>>2]|0)+68>>0];c[t>>2]=e[(c[w>>2]|0)+80+(c[u>>2]<<1)>>1];c[y>>2]=c[(c[w>>2]|0)+120+(c[u>>2]<<2)>>2];c[q>>2]=(c[(c[y>>2]|0)+56>>2]|0)+(e[(c[y>>2]|0)+20>>1]&(d[(c[(c[y>>2]|0)+64>>2]|0)+(c[t>>2]<<1)>>0]<<8|d[(c[(c[y>>2]|0)+64>>2]|0)+(c[t>>2]<<1)+1>>0]));do if(a[s>>0]|0){if(a[(c[y>>2]|0)+4>>0]|0?(A=e[(c[y>>2]|0)+16>>1]|0,A=A+((sp(c[y>>2]|0,c[q>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[p>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[r>>2]=1;break}c[x>>2]=vq(c[w>>2]|0)|0;if(c[x>>2]|0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}}while(0);if((a[(c[y>>2]|0)+4>>0]|0)==0?(c[i>>2]=0,c[x>>2]=QD(c[w>>2]|0,i)|0,c[x>>2]|0):0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}if(d[(c[w>>2]|0)+64>>0]&32|0?(c[x>>2]=_p(c[p>>2]|0,c[(c[w>>2]|0)+52>>2]|0,c[w>>2]|0)|0,c[x>>2]|0):0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}if(!(c[(c[w>>2]|0)+72>>2]|0)){A=(c[w>>2]|0)+16|0;tH(c[o>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}c[x>>2]=Jn(c[(c[y>>2]|0)+72>>2]|0)|0;if(c[x>>2]|0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}c[x>>2]=vH(c[y>>2]|0,c[q>>2]|0,h)|0;wI(c[y>>2]|0,c[t>>2]|0,e[h>>1]|0,x);if(c[x>>2]|0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}if(!(a[(c[y>>2]|0)+4>>0]|0)){c[j>>2]=c[(c[w>>2]|0)+120+(a[(c[w>>2]|0)+68>>0]<<2)>>2];c[m>>2]=c[(c[(c[w>>2]|0)+120+((c[u>>2]|0)+1<<2)>>2]|0)+84>>2];c[q>>2]=(c[(c[j>>2]|0)+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+((e[(c[j>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+((e[(c[j>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[q>>2]|0)>>>0<((c[(c[j>>2]|0)+56>>2]|0)+4|0)>>>0){c[v>>2]=kn(66449)|0;A=c[v>>2]|0;l=z;return A|0}c[k>>2]=(Mb[c[(c[j>>2]|0)+76>>2]&255](c[j>>2]|0,c[q>>2]|0)|0)&65535;c[n>>2]=c[(c[p>>2]|0)+80>>2];c[x>>2]=Jn(c[(c[j>>2]|0)+72>>2]|0)|0;if(!(c[x>>2]|0))xI(c[y>>2]|0,c[t>>2]|0,(c[q>>2]|0)+-4|0,(c[k>>2]|0)+4|0,c[n>>2]|0,c[m>>2]|0,x);wI(c[j>>2]|0,(e[(c[j>>2]|0)+18>>1]|0)-1|0,c[k>>2]|0,x);if(c[x>>2]|0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}}c[x>>2]=yI(c[w>>2]|0)|0;if((c[x>>2]|0)==0?(a[(c[w>>2]|0)+68>>0]|0)>(c[u>>2]|0):0){while(1){f=c[w>>2]|0;if((a[(c[w>>2]|0)+68>>0]|0)<=(c[u>>2]|0))break;q=(c[w>>2]|0)+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;cq(c[f+120+(A<<24>>24<<2)>>2]|0)}c[x>>2]=yI(f)|0}do if(!(c[x>>2]|0)){f=c[w>>2]|0;if(!(c[r>>2]|0)){c[x>>2]=aE(f)|0;if(!(a[s>>0]|0))break;a[(c[w>>2]|0)+66>>0]=3;break}a[f+66>>0]=2;f=(c[w>>2]|0)+60|0;if((c[t>>2]|0)>=(e[(c[y>>2]|0)+18>>1]|0)){c[f>>2]=-1;b[(c[w>>2]|0)+80+(c[u>>2]<<1)>>1]=(e[(c[y>>2]|0)+18>>1]|0)-1;break}else{c[f>>2]=1;break}}while(0);c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}function mG(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;p=s+44|0;t=s+40|0;q=s+36|0;m=s+32|0;r=s+28|0;n=s+24|0;o=s+20|0;h=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;c[t>>2]=a;c[q>>2]=d;c[m>>2]=f;c[r>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[o>>2]=c[(c[n>>2]|0)+32>>2];c[h>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[o>>2]|0)){t=YD(c[h>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[o>>2]=t;if(c[o>>2]|0){b[(c[o>>2]|0)+8>>1]=c[m>>2];break}c[p>>2]=7;t=c[p>>2]|0;l=s;return t|0}while(0);c[j>>2]=vI(c[n>>2]|0,k)|0;ZD(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,c[o>>2]|0);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[m>>2]|0)){a=10;break}if((e[(c[(c[o>>2]|0)+4>>2]|0)+((c[i>>2]|0)*40|0)+8>>1]|0)&1|0){a=8;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==8){c[c[r>>2]>>2]=-1;c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}else if((a|0)==10){t=dE(c[(c[q>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[o>>2]|0)|0;c[c[r>>2]>>2]=t;c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}return 0}function nG(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;f=j+20|0;m=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[m>>2]=a;c[g>>2]=d;c[k>>2]=c[(c[m>>2]|0)+16>>2];c[h>>2]=vI(c[k>>2]|0,i)|0;if(di(c[g>>2]|0,c[i>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;l=j;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[i>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;h0(c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;l=j;return m|0}return 0}function oG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;l=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=SD(c[h>>2]|0)|0;else a=0;c[m>>2]=a;if(!(c[m>>2]|0))c[m>>2]=zq(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;l=n;return m|0}function pG(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if(sI(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=tI(c[d>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}return 0}function qG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;f=i+16|0;j=i+12|0;e=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[j>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0|0){c[h>>2]=EH(b)|0;c[h>>2]=qs(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[h>>2]|0)){c[h>>2]=eI(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];j=c[f>>2]|0;l=i;return j|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=KH((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];j=c[f>>2]|0;l=i;return j|0}function rG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=aE(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){a=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[a>>2]=1;break}else{c[a>>2]=0;c[g>>2]=mE(c[f>>2]|0)|0;break}}while(0);l=h;return c[g>>2]|0}function sG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+20|0;m=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[m>>2]=d;c[h>>2]=e;c[i>>2]=c[(c[m>>2]|0)+16>>2];d=c[i>>2]|0;if(!(a[(c[i>>2]|0)+56>>0]|0)){c[g>>2]=c[d+36>>2];c[(c[i>>2]|0)+36>>2]=c[(c[g>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=0;if(!(c[(c[i>>2]|0)+36+4>>2]|0))us(c[f>>2]|0,c[g>>2]|0);c[c[h>>2]>>2]=((c[(c[i>>2]|0)+36>>2]|0)!=0^1)&1;c[j>>2]=0;m=c[j>>2]|0;l=k;return m|0}b=c[i>>2]|0;if(a[d+57>>0]|0){c[j>>2]=WH(c[b+16>>2]|0)|0;c[c[h>>2]>>2]=(c[(c[(c[i>>2]|0)+16>>2]|0)+24>>2]|0)==0&1;m=c[j>>2]|0;l=k;return m|0}else{c[j>>2]=XH(c[b+20>>2]|0,c[h>>2]|0)|0;m=c[j>>2]|0;l=k;return m|0}return 0}function tG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;n=t+52|0;u=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;h=t+28|0;s=t+24|0;g=t+20|0;f=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[u>>2]=b;c[o>>2]=e;c[q>>2]=0;c[p>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[o>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[o>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else fE(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[p>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?c[f>>2]&1|0:0){u=(c[p>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[p>>2]|0)+60>>0]=0}while(0);c[s>>2]=(c[(c[o>>2]|0)+12>>2]|0)+8;f=c[(c[o>>2]|0)+12>>2]|0;u=c[(c[o>>2]|0)+12>>2]|0;c[g>>2]=f+(jE(u,((u|0)<0)<<31>>31)|0);if(c[(c[p>>2]|0)+4>>2]|0){b=c[p>>2]|0;if(c[(c[p>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[p>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0)>(c[(c[p>>2]|0)+4>>2]|0);else b=0;c[h>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[p>>2]|0)+4>>2]|0))if((c[(c[p>>2]|0)+36+8>>2]|0)>(c[c[p>>2]>>2]|0))b=(Yg()|0)!=0;else b=0;else b=1;c[h>>2]=b&1}if(c[h>>2]|0){c[q>>2]=EH(c[p>>2]|0)|0;c[(c[p>>2]|0)+36+8>>2]=0;c[(c[p>>2]|0)+48>>2]=0}}u=(c[p>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[g>>2]|0);if((c[g>>2]|0)>(c[(c[p>>2]|0)+8>>2]|0))c[(c[p>>2]|0)+8>>2]=c[g>>2];do if(c[(c[p>>2]|0)+36+4>>2]|0){c[i>>2]=(c[(c[p>>2]|0)+48>>2]|0)+(c[s>>2]|0);do if((c[i>>2]|0)>(c[(c[p>>2]|0)+52>>2]|0)){c[k>>2]=(c[(c[p>>2]|0)+36>>2]|0)-(c[(c[p>>2]|0)+36+4>>2]|0);c[m>>2]=c[(c[p>>2]|0)+52>>2]<<1;while(1){b=c[m>>2]|0;if((c[m>>2]|0)>=(c[i>>2]|0))break;c[m>>2]=b<<1}if((b|0)>(c[(c[p>>2]|0)+4>>2]|0))c[m>>2]=c[(c[p>>2]|0)+4>>2];if((c[m>>2]|0)<(c[i>>2]|0))c[m>>2]=c[i>>2];u=c[m>>2]|0;c[j>>2]=ge(c[(c[p>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[j>>2]|0){c[(c[p>>2]|0)+36>>2]=(c[j>>2]|0)+(c[k>>2]|0);c[(c[p>>2]|0)+36+4>>2]=c[j>>2];c[(c[p>>2]|0)+52>>2]=c[m>>2];break}c[n>>2]=7;u=c[n>>2]|0;l=t;return u|0}while(0);c[r>>2]=(c[(c[p>>2]|0)+36+4>>2]|0)+(c[(c[p>>2]|0)+48>>2]|0);u=(c[p>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[s>>2]|0)+7&-8);if(c[(c[p>>2]|0)+36>>2]|0)c[(c[r>>2]|0)+4>>2]=(c[(c[p>>2]|0)+36>>2]|0)-(c[(c[p>>2]|0)+36+4>>2]|0)}else{u=c[s>>2]|0;c[r>>2]=Fd(u,((u|0)<0)<<31>>31)|0;if(c[r>>2]|0){c[(c[r>>2]|0)+4>>2]=c[(c[p>>2]|0)+36>>2];break}c[n>>2]=7;u=c[n>>2]|0;l=t;return u|0}while(0);h0((c[r>>2]|0)+8|0,c[(c[o>>2]|0)+16>>2]|0,c[(c[o>>2]|0)+12>>2]|0)|0;c[c[r>>2]>>2]=c[(c[o>>2]|0)+12>>2];c[(c[p>>2]|0)+36>>2]=c[r>>2];c[n>>2]=c[q>>2];u=c[n>>2]|0;l=t;return u|0}function uG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+128|0;k=o+116|0;r=o+112|0;q=o+108|0;m=o+104|0;p=o+80|0;f=o+100|0;n=o+96|0;g=o+92|0;h=o+88|0;i=o+40|0;j=o;c[r>>2]=a;c[q>>2]=b;c[m>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;e=p;c[e>>2]=xq(c[q>>2]|0)|0;c[e+4>>2]=0;jj(i,c[r>>2]|0,0);c[f>>2]=XF(c[q>>2]|0,0,c[p>>2]|0,1,i)|0;if(c[f>>2]|0){c[k>>2]=c[f>>2];r=c[k>>2]|0;l=o;return r|0}a=c[i+16>>2]|0;if((d[c[i+16>>2]>>0]|0|0)<128)c[n>>2]=d[a>>0];else fE(a,n)|0;if((c[n>>2]|0)>>>0>=3?(c[n>>2]|0)<=(c[i+12>>2]|0):0){a=(c[i+16>>2]|0)+((c[n>>2]|0)-1)|0;if((d[(c[i+16>>2]|0)+((c[n>>2]|0)-1)>>0]|0|0)<128)c[g>>2]=d[a>>0];else fE(a,g)|0;if(!((c[g>>2]|0)>>>0<1|(c[g>>2]|0)>>>0>9|(c[g>>2]|0)==7)?(c[h>>2]=d[34519+(c[g>>2]|0)>>0],(c[i+12>>2]|0)>>>0>=((c[n>>2]|0)+(c[h>>2]|0)|0)>>>0):0){hE((c[i+16>>2]|0)+((c[i+12>>2]|0)-(c[h>>2]|0))|0,c[g>>2]|0,j)|0;p=j;q=c[p+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;ei(i);c[k>>2]=0;r=c[k>>2]|0;l=o;return r|0}}ei(i);c[k>>2]=kn(74890)|0;r=c[k>>2]|0;l=o;return r|0}function vG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+80|0;i=o+72|0;j=o+68|0;p=o+64|0;k=o+60|0;m=o+56|0;n=o+40|0;f=o+52|0;g=o+48|0;h=o;c[j>>2]=a;c[p>>2]=b;c[k>>2]=d;c[m>>2]=e;b=n;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=c[(c[p>>2]|0)+16>>2];b=n;c[b>>2]=xq(c[g>>2]|0)|0;c[b+4>>2]=0;b=n;a=c[b+4>>2]|0;e=n;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[m>>2]>>2]=0;c[i>>2]=kn(74923)|0;p=c[i>>2]|0;l=o;return p|0}jj(h,c[j>>2]|0,0);c[f>>2]=XF(c[g>>2]|0,0,c[n>>2]|0,1,h)|0;if(c[f>>2]|0){c[i>>2]=c[f>>2];p=c[i>>2]|0;l=o;return p|0}else{p=dE(c[h+12>>2]|0,c[h+16>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=p;ei(h);c[i>>2]=0;p=c[i>>2]|0;l=o;return p|0}return 0}function wG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;i=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[i>>2]=b;c[h>>2]=d;el(c[g>>2]|0);c[e>>2]=DH(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;bl(c[g>>2]|0);l=f;return c[e>>2]|0}function xG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;p=n+32|0;o=n+28|0;i=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;f=n+8|0;g=n+4|0;h=n;c[p>>2]=a;c[o>>2]=b;c[i>>2]=d;c[j>>2]=e;c[f>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+8;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;c[g>>2]=c[(c[k>>2]|0)+8>>2];if((c[(c[g>>2]|0)+28>>2]|0)==(c[i>>2]|0))c[(c[g>>2]|0)+28>>2]=c[j>>2];c[k>>2]=c[c[k>>2]>>2]}c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+24;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=c[(c[k>>2]|0)+8>>2];if((c[(c[h>>2]|0)+44>>2]|0)==(c[i>>2]|0))c[(c[h>>2]|0)+44>>2]=c[j>>2];c[k>>2]=c[c[k>>2]>>2]}l=n;return}function yG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=c[(c[e>>2]|0)+4>>2];el(c[e>>2]|0);c[h>>2]=_p(c[i>>2]|0,c[f>>2]|0,0)|0;if(c[h>>2]|0){i=c[e>>2]|0;bl(i);i=c[h>>2]|0;l=j;return i|0}tH(c[e>>2]|0,0,0,1);c[h>>2]=uH(c[i>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;i=c[e>>2]|0;bl(i);i=c[h>>2]|0;l=j;return i|0}function zG(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=yG(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;l=b;return a|0}function AG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;f=e+16|0;j=e+12|0;h=e+8|0;g=e+4|0;i=e;c[f>>2]=a;c[j>>2]=b;c[h>>2]=d;c[i>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[g>>2]=Fk((c[(c[i>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;tk(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;l=e;return}function BG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;e=h+20|0;k=h+16|0;i=h+12|0;f=h+8|0;j=h+4|0;g=h;c[e>>2]=a;c[k>>2]=b;c[i>>2]=d;c[j>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+24;c[f>>2]=Fk(c[j>>2]|0,c[i>>2]|0,0)|0;if(!(c[f>>2]|0)){k=c[e>>2]|0;k=k+24|0;j=c[k>>2]|0;j=j|2;c[k>>2]=j;l=h;return}a=c[f>>2]|0;if((c[(c[(c[f>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[f>>2]|0)){c[g>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[g>>2]|0)b=(c[(c[g>>2]|0)+20>>2]|0)!=(c[f>>2]|0);else b=0;a=c[g>>2]|0;if(!b)break;c[g>>2]=c[a+20>>2]}if(a|0?(c[(c[g>>2]|0)+20>>2]|0)==(c[f>>2]|0):0)c[(c[g>>2]|0)+20>>2]=c[(c[f>>2]|0)+20>>2]}else c[(c[(c[f>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];Gk(c[e>>2]|0,c[f>>2]|0);k=c[e>>2]|0;k=k+24|0;j=c[k>>2]|0;j=j|2;c[k>>2]=j;l=h;return}function CG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;f=i+24|0;m=i+20|0;j=i+16|0;g=i+12|0;k=i+8|0;e=i+4|0;h=i;c[f>>2]=a;c[m>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Fk(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=i;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=$z(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}sk(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;l=i;return}function DG(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+240|0;t=u+16|0;s=u+8|0;o=u+124|0;p=u+120|0;q=u+116|0;v=u+112|0;r=u+108|0;i=u+104|0;j=u+32|0;k=u+24|0;m=u+20|0;n=u;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[v>>2]=g;c[r>>2]=h;c[k>>2]=c[(c[o>>2]|0)+4>>2];c[m>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+24>>2];el(c[o>>2]|0);c[j>>2]=c[k>>2];c[j+4>>2]=c[c[k>>2]>>2];c[j+12>>2]=Rn(c[j>>2]|0)|0;c[j+16>>2]=c[v>>2];c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[j+32>>2]=0;c[j+36>>2]=0;c[j+8>>2]=0;c[j+68>>2]=0;zd(j+40|0,0,u+128|0,100,1e9);a[j+40+25>>0]=1;a:do if(c[j+12>>2]|0){c[j+8>>2]=Xg((((c[j+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[j+8>>2]|0)){c[j+24>>2]=1;break}c[j+68>>2]=yl(c[(c[k>>2]|0)+32>>2]|0)|0;if(!(c[j+68>>2]|0)){c[j+24>>2]=1;break}c[i>>2]=(((c[482]|0)>>>0)/((c[(c[k>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[i>>2]|0)>>>0<=(c[j+12>>2]|0)>>>0)kH(j,c[i>>2]|0);c[j+28>>2]=39948;v=Vl((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;lH(j,1,v,Vl((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[j+28>>2]=0;v=(c[(c[k>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-536870913;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[q>>2]|0))break;if(!(c[j+16>>2]|0))break;if(c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0){if(d[(c[k>>2]|0)+17>>0]|0?(c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0)>1:0)mH(j,c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0,1,0);nH(j,c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[i>>2]=(c[i>>2]|0)+1}c[(c[(c[k>>2]|0)+4>>2]|0)+24>>2]=c[m>>2];c[i>>2]=1;while(1){if((c[i>>2]|0)>>>0>(c[j+12>>2]|0)>>>0)break a;if(!(c[j+16>>2]|0))break a;do if(!(oH(j,c[i>>2]|0)|0)){v=Yp(c[k>>2]|0,c[i>>2]|0)|0;if((v|0)==(c[i>>2]|0)?a[(c[k>>2]|0)+17>>0]|0:0)break;c[s>>2]=c[i>>2];pH(j,39964,s)}while(0);if((oH(j,c[i>>2]|0)|0?(v=Yp(c[k>>2]|0,c[i>>2]|0)|0,(v|0)==(c[i>>2]|0)):0)?d[(c[k>>2]|0)+17>>0]|0:0){c[t>>2]=c[i>>2];pH(j,39986,t)}c[i>>2]=(c[i>>2]|0)+1}}while(0);Bl(c[j+68>>2]|0);_d(c[j+8>>2]|0);if(c[j+24>>2]|0){ce(j+40|0);v=j+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[r>>2]>>2]=c[j+20>>2];if(c[j+20>>2]|0){v=c[o>>2]|0;bl(v);v=j+40|0;v=Bd(v)|0;l=u;return v|0}ce(j+40|0);v=c[o>>2]|0;bl(v);v=j+40|0;v=Bd(v)|0;l=u;return v|0}function EG(d){d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];ei(c[e>>2]|0);d=Ed(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+69>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;l=g;return}else{d=ae(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;f=jH(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=f;b[(c[e>>2]|0)+8>>1]=32;l=g;return}}function FG(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k;i=k+12|0;j=k+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[i>>2]=hH(c[g>>2]|0)|0;if(!(c[i>>2]|0)){l=k;return}a=h;d=c[a+4>>2]|0;f=c[i>>2]|0;c[f>>2]=c[a>>2];c[f+4>>2]=d;c[(c[i>>2]|0)+8>>2]=0;c[j>>2]=c[(c[g>>2]|0)+12>>2];if(c[j>>2]|0){f=h;a=c[f+4>>2]|0;h=c[j>>2]|0;d=c[h+4>>2]|0;if((a|0)<(d|0)|((a|0)==(d|0)?(c[f>>2]|0)>>>0<=(c[h>>2]|0)>>>0:0)){h=(c[g>>2]|0)+26|0;b[h>>1]=(e[h>>1]|0)&-2}c[(c[j>>2]|0)+8>>2]=c[i>>2]}else c[(c[g>>2]|0)+8>>2]=c[i>>2];c[(c[g>>2]|0)+12>>2]=c[i>>2];l=k;return}function GG(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=a;c[h>>2]=d;if(!((e[(c[g>>2]|0)+26>>1]|0)&2)){if(!((e[(c[g>>2]|0)+26>>1]|0)&1)){d=dH(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=d}d=(c[g>>2]|0)+26|0;b[d>>1]=e[d>>1]|0|3}if(!(c[(c[g>>2]|0)+8>>2]|0)){c[f>>2]=0;h=c[f>>2]|0;l=i;return h|0}a=c[(c[g>>2]|0)+8>>2]|0;d=c[a+4>>2]|0;h=c[h>>2]|0;c[h>>2]=c[a>>2];c[h+4>>2]=d;c[(c[g>>2]|0)+8>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[g>>2]|0)+8>>2]|0))bi(c[g>>2]|0);c[f>>2]=1;h=c[f>>2]|0;l=i;return h|0}function HG(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;o=s+36|0;k=s+32|0;m=s+28|0;p=s;q=s+24|0;r=s+20|0;h=s+16|0;i=s+12|0;j=s+8|0;c[k>>2]=a;c[m>>2]=d;d=p;c[d>>2]=f;c[d+4>>2]=g;if((c[m>>2]|0)!=(c[(c[k>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[k>>2]|0)+8>>2];if(c[q>>2]|0){c[h>>2]=(c[k>>2]|0)+20;if(!((e[(c[k>>2]|0)+26>>1]|0)&1))c[q>>2]=dH(c[q>>2]|0)|0;c[r>>2]=c[(c[k>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[h>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}fH(c[(c[r>>2]|0)+12>>2]|0,i,j);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=gH(c[i>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=eH(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=hH(c[k>>2]|0)|0,c[r>>2]=n,c[c[h>>2]>>2]=n,c[r>>2]|0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=eH(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[k>>2]|0)+8>>2]=0;c[(c[k>>2]|0)+12>>2]=0;n=(c[k>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[k>>2]|0)+28>>2]=c[m>>2]}c[r>>2]=c[(c[k>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;g=c[m+4>>2]|0;n=p;k=c[n+4>>2]|0;a=c[q>>2]|0;if((g|0)<(k|0)|((g|0)==(k|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[a+8>>2];continue}m=a;g=c[m+4>>2]|0;n=p;k=c[n+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;l=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;l=s;return r|0}return 0}function IG(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;e=c[b>>2]|0;l=f;return e|0}if(c[c[(c[e>>2]|0)+68>>2]>>2]|0?(e=(c[e>>2]|0)+80|0,a=c[e+4>>2]|0,(a|0)>0|(a|0)==0&(c[e>>2]|0)>>>0>0):0){c[b>>2]=0;e=c[b>>2]|0;l=f;return e|0}c[b>>2]=1;e=c[b>>2]|0;l=f;return e|0}function JG(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[e>>2]|0)+216>>2]|0)){c[g>>2]=0;c[f>>2]=gp(c[e>>2]|0,1)|0;if(!(c[f>>2]|0))c[f>>2]=Sm(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+220>>2]|0,0,g)|0;if((c[f>>2]|0)==0&(c[g>>2]|0)!=0)c[f>>2]=er(c[e>>2]|0)|0}if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}if(!(c[(c[e>>2]|0)+216>>2]|0)){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=fr(c[e>>2]|0)|0;if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=am(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[(c[e>>2]|0)+208>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Cl(c[e>>2]|0);if(!(c[f>>2]|0)){g=c[f>>2]|0;l=h;return g|0}if(a[(c[e>>2]|0)+4>>0]|0){g=c[f>>2]|0;l=h;return g|0}ym(c[e>>2]|0,1)|0;g=c[f>>2]|0;l=h;return g|0}function KG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+12|0;g=k+8|0;h=k+16|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if(a[(c[f>>2]|0)+16>>0]|0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){fm(c[(c[f>>2]|0)+68>>2]|0);if((d[(c[f>>2]|0)+18>>0]|0)>=2){om(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[i>>2]=0;c[j>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[j>>2]|0))c[i>>2]=br(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[i>>2]=gp(c[f>>2]|0,2)|0;if(!(c[i>>2]|0))om(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[i>>2]|0)==0&(c[j>>2]|0)==1){ym(c[f>>2]|0,1)|0;break}if(c[j>>2]|0)break;bm(c[f>>2]|0);break}if((c[g>>2]|0)==2)fm(c[(c[f>>2]|0)+68>>2]|0)}while(0);l=k;return d[(c[f>>2]|0)+5>>0]|0}function LG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+112|0;p=D+24|0;o=D+16|0;n=D+8|0;m=D;y=D+92|0;k=D+88|0;z=D+84|0;h=D+80|0;A=D+76|0;B=D+72|0;C=D+68|0;q=D+64|0;r=D+60|0;s=D+56|0;t=D+96|0;u=D+52|0;g=D+48|0;v=D+44|0;i=D+40|0;j=D+36|0;w=D+32|0;x=D+28|0;c[k>>2]=b;c[z>>2]=e;c[h>>2]=f;c[A>>2]=0;c[u>>2]=0;if(!(a[(c[z>>2]|0)+67>>0]|0)){ov(c[k>>2]|0,c[z>>2]|0,39372);c[y>>2]=1;C=c[y>>2]|0;l=D;return C|0}if((c[(c[z>>2]|0)+156>>2]|0)>1){ov(c[k>>2]|0,c[z>>2]|0,39412);c[y>>2]=1;C=c[y>>2]|0;l=D;return C|0}c[q>>2]=c[(c[z>>2]|0)+24>>2];c[r>>2]=c[(c[z>>2]|0)+88>>2];c[s>>2]=c[(c[z>>2]|0)+92>>2];a[t>>0]=a[(c[z>>2]|0)+76>>0]|0;f=(c[z>>2]|0)+24|0;c[f>>2]=c[f>>2]|270542848;f=(c[z>>2]|0)+24|0;c[f>>2]=c[f>>2]&-655489;a[(c[z>>2]|0)+76>>0]=0;c[j>>2]=c[(c[(c[z>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[B>>2]=c[(c[(c[z>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];c[g>>2]=In(qk(c[B>>2]|0)|0)|0;c[i>>2]=c[(c[z>>2]|0)+20>>2];c[A>>2]=ZG(c[z>>2]|0,c[k>>2]|0,39455)|0;a:do if(((c[A>>2]|0)==0?(c[u>>2]=(c[(c[z>>2]|0)+16>>2]|0)+(c[i>>2]<<4),c[C>>2]=c[(c[u>>2]|0)+4>>2],Ws(c[C>>2]|0)|0,c[v>>2]=_G(c[B>>2]|0)|0,pv(c[C>>2]|0,c[(c[(c[(c[z>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+80>>2]|0)|0,h=c[C>>2]|0,uA(h,uA(c[B>>2]|0,0)|0)|0,Wz(c[C>>2]|0,33)|0,c[A>>2]=ZG(c[z>>2]|0,c[k>>2]|0,36964)|0,(c[A>>2]|0)==0):0)?(c[A>>2]=Gp(c[B>>2]|0,2)|0,(c[A>>2]|0)==0):0){if((Jp(qk(c[B>>2]|0)|0)|0)==5)c[(c[z>>2]|0)+80>>2]=0;f=c[C>>2]|0;h=Hn(c[B>>2]|0)|0;do if(!(tl(f,h,c[v>>2]|0,0)|0)){if((c[g>>2]|0)==0?tl(c[C>>2]|0,c[(c[z>>2]|0)+80>>2]|0,c[v>>2]|0,0)|0:0)break;if(!(d[(c[z>>2]|0)+69>>0]|0)){b=c[C>>2]|0;if((a[(c[z>>2]|0)+72>>0]|0)>=0)e=a[(c[z>>2]|0)+72>>0]|0;else e=rA(c[B>>2]|0)|0;tA(b,e)|0;a[(c[z>>2]|0)+148+4>>0]=c[i>>2];h=c[z>>2]|0;i=c[k>>2]|0;c[m>>2]=c[j>>2];c[A>>2]=$G(h,i,39476,m)|0;if(c[A>>2]|0)break a;i=c[z>>2]|0;m=c[k>>2]|0;c[n>>2]=c[j>>2];c[A>>2]=$G(i,m,39584,n)|0;if(c[A>>2]|0)break a;a[(c[z>>2]|0)+148+4>>0]=0;m=c[z>>2]|0;n=c[k>>2]|0;c[o>>2]=c[j>>2];c[A>>2]=$G(m,n,39657,o)|0;o=(c[z>>2]|0)+24|0;c[o>>2]=c[o>>2]&-268435457;if(c[A>>2]|0)break a;n=c[z>>2]|0;o=c[k>>2]|0;c[p>>2]=c[j>>2];c[A>>2]=$G(n,o,39808,p)|0;if(c[A>>2]|0)break a;c[x>>2]=0;while(1){b=c[B>>2]|0;if((c[x>>2]|0)>=10)break;Ip(b,d[39938+(c[x>>2]|0)>>0]|0,w);c[A>>2]=Mp(c[C>>2]|0,d[39938+(c[x>>2]|0)>>0]|0,(c[w>>2]|0)+(d[39938+((c[x>>2]|0)+1)>>0]|0)|0)|0;if(c[A>>2]|0)break a;c[x>>2]=(c[x>>2]|0)+2}c[A>>2]=aH(b,c[C>>2]|0)|0;if(c[A>>2]|0)break a;c[A>>2]=Ws(c[C>>2]|0)|0;if(c[A>>2]|0)break a;x=c[B>>2]|0;tA(x,rA(c[C>>2]|0)|0)|0;x=c[B>>2]|0;C=Hn(c[C>>2]|0)|0;c[A>>2]=tl(x,C,c[v>>2]|0,1)|0;break a}}while(0);c[A>>2]=7}while(0);a[(c[z>>2]|0)+148+4>>0]=0;c[(c[z>>2]|0)+24>>2]=c[q>>2];c[(c[z>>2]|0)+88>>2]=c[r>>2];c[(c[z>>2]|0)+92>>2]=c[s>>2];a[(c[z>>2]|0)+76>>0]=a[t>>0]|0;tl(c[B>>2]|0,-1,-1,1)|0;a[(c[z>>2]|0)+67>>0]=1;if(c[u>>2]|0){ur(c[(c[u>>2]|0)+4>>2]|0)|0;c[(c[u>>2]|0)+4>>2]=0;c[(c[u>>2]|0)+12>>2]=0}Np(c[z>>2]|0);c[y>>2]=c[A>>2];C=c[y>>2]|0;l=D;return C|0}function MG(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+4>>2];el(c[d>>2]|0);do if(a[(c[f>>2]|0)+17>>0]|0){c[g>>2]=Rn(c[f>>2]|0)|0;c[h>>2]=Vl((c[(c[(c[f>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[i>>2]=Zp(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0<(c[i>>2]|0)>>>0){c[e>>2]=kn(61866)|0;break}if((c[h>>2]|0)>>>0<=0){c[e>>2]=101;break}c[e>>2]=_p(c[f>>2]|0,0,0)|0;if(!(c[e>>2]|0)){Xp(c[f>>2]|0);c[e>>2]=$p(c[f>>2]|0,c[i>>2]|0,c[g>>2]|0,0)|0}if(!(c[e>>2]|0)){c[e>>2]=Jn(c[(c[(c[f>>2]|0)+12>>2]|0)+72>>2]|0)|0;Nn((c[(c[(c[f>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[f>>2]|0)+44>>2]|0)}}else c[e>>2]=101;while(0);bl(c[d>>2]|0);l=j;return c[e>>2]|0}function NG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+8|0;h=m+4|0;i=m+13|0;j=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[i>>0]=f;c[j>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){k=c[j>>2]|0;l=m;return k|0}a[k>>0]=1+(d[i>>0]|0);el(c[g>>2]|0);c[j>>2]=Wq(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(!(c[j>>2]|0))c[j>>2]=YG(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;bl(c[g>>2]|0);k=c[j>>2]|0;l=m;return k|0}function OG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((c[(c[e>>2]|0)+316>>2]|0)>0?(c[(c[e>>2]|0)+340>>2]|0)==0:0){c[d>>2]=6;k=c[d>>2]|0;l=m;return k|0}if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;l=m;return k|0}c[h>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[h>>2]|0)+56>>2]|0){c[i>>2]=0;while(1){a=c[e>>2]|0;if((c[i>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0))break;if((c[(c[a+340>>2]|0)+(c[i>>2]<<2)>>2]|0)==(c[f>>2]|0)){k=10;break}c[i>>2]=(c[i>>2]|0)+1}if((k|0)==10){c[d>>2]=0;k=c[d>>2]|0;l=m;return k|0}c[g>>2]=WG(a)|0;if((((c[g>>2]|0)==0?(c[g>>2]=Hb[c[(c[h>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[g>>2]|0)==0):0)?(c[j>>2]=(c[(c[e>>2]|0)+436>>2]|0)+(c[(c[e>>2]|0)+432>>2]|0),XG(c[e>>2]|0,c[f>>2]|0),c[j>>2]|0):0)?c[(c[h>>2]|0)+80>>2]|0:0){c[(c[f>>2]|0)+20>>2]=c[j>>2];c[g>>2]=Mb[c[(c[h>>2]|0)+80>>2]&255](c[(c[f>>2]|0)+8>>2]|0,(c[j>>2]|0)-1|0)|0}}c[d>>2]=c[g>>2];k=c[d>>2]|0;l=m;return k|0}function PG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;m=n;h=n+32|0;o=n+28|0;p=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;f=n+8|0;g=n+4|0;c[h>>2]=a;c[o>>2]=b;c[p>>2]=d;c[i>>2]=e;c[j>>2]=0;c[k>>2]=gv(c[h>>2]|0,c[p>>2]|0,c[(c[(c[h>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[g>>2]=c[c[(c[k>>2]|0)+52>>2]>>2];c[f>>2]=hv((c[h>>2]|0)+320|0,c[g>>2]|0)|0;if(((c[f>>2]|0)!=0?(c[(c[c[f>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)!=0:0)c[j>>2]=jv(c[h>>2]|0,c[k>>2]|0,c[f>>2]|0,c[(c[c[f>>2]>>2]|0)+4>>2]|0,c[i>>2]|0)|0;else{p=c[h>>2]|0;c[m>>2]=c[g>>2];p=Wj(p,30050,m)|0;c[c[i>>2]>>2]=p;c[j>>2]=1}if(c[j>>2]|0){p=c[j>>2]|0;l=n;return p|0}if(!(fw(c[h>>2]|0,c[k>>2]|0)|0)){p=c[j>>2]|0;l=n;return p|0}c[j>>2]=WG(c[h>>2]|0)|0;if(c[j>>2]|0){p=c[j>>2]|0;l=n;return p|0}p=c[h>>2]|0;XG(p,fw(c[h>>2]|0,c[k>>2]|0)|0);p=c[j>>2]|0;l=n;return p|0}function QG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;f=k+28|0;g=k+24|0;m=k+20|0;n=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;e=k;c[g>>2]=a;c[m>>2]=b;c[n>>2]=d;c[h>>2]=0;c[i>>2]=gv(c[g>>2]|0,c[n>>2]|0,c[(c[(c[g>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if(c[i>>2]|0?c[(c[i>>2]|0)+56>>2]|0:0){c[j>>2]=c[(c[i>>2]|0)+56>>2];while(1){if(!(c[j>>2]|0)){a=8;break}if((c[(c[(c[j>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[j>>2]=c[(c[j>>2]|0)+24>>2]}if((a|0)==6){c[f>>2]=6;n=c[f>>2]|0;l=k;return n|0}else if((a|0)==8){c[j>>2]=Mk(c[g>>2]|0,c[i>>2]|0)|0;c[e>>2]=c[(c[c[(c[j>>2]|0)+4>>2]>>2]|0)+20>>2];c[h>>2]=Hb[c[e>>2]&255](c[(c[j>>2]|0)+8>>2]|0)|0;if(c[h>>2]|0)break;c[(c[j>>2]|0)+8>>2]=0;c[(c[i>>2]|0)+56>>2]=0;Dk(c[j>>2]|0);break}}while(0);c[f>>2]=c[h>>2];n=c[f>>2]|0;l=k;return n|0}function RG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;el(c[f>>2]|0);c[d>>2]=VG(c[c[(c[f>>2]|0)+4>>2]>>2]|0,c[g>>2]|0)|0;bl(c[f>>2]|0);l=e;return c[d>>2]|0}function SG(f,g){f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+256|0;A=D+72|0;C=D+64|0;B=D+56|0;z=D+48|0;y=D+40|0;q=D+148|0;r=D+144|0;s=D+140|0;t=D+136|0;u=D+132|0;v=D+128|0;w=D+124|0;x=D+120|0;j=D+116|0;k=D+88|0;m=D;i=D+84|0;n=D+80|0;o=D+152|0;p=D+76|0;c[q>>2]=f;c[r>>2]=g;c[t>>2]=0;c[u>>2]=1;c[s>>2]=c[c[q>>2]>>2];zd(k,0,D+156|0,100,c[(c[s>>2]|0)+96>>2]|0);a:do if((c[(c[s>>2]|0)+168>>2]|0)>1)while(1){if(!(a[c[r>>2]>>0]|0))break a;c[i>>2]=c[r>>2];do{C=c[r>>2]|0;c[r>>2]=C+1;if((a[C>>0]|0)==10)break}while((a[c[r>>2]>>0]|0)!=0);Pd(k,39338,3);Pd(k,c[i>>2]|0,(c[r>>2]|0)-(c[i>>2]|0)|0)}else{if(!(b[(c[q>>2]|0)+16>>1]|0)){C=c[r>>2]|0;Pd(k,C,md(c[r>>2]|0)|0);break}while(1){if(!(a[c[r>>2]>>0]|0))break a;c[v>>2]=TG(c[r>>2]|0,w)|0;Pd(k,c[r>>2]|0,c[v>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[v>>2]|0);if(!(c[w>>2]|0))break a;do if((a[c[r>>2]>>0]|0)==63)if((c[w>>2]|0)>1){gg((c[r>>2]|0)+1|0,t)|0;break}else{c[t>>2]=c[u>>2];break}else c[t>>2]=UG(c[q>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;while(0);c[r>>2]=(c[r>>2]|0)+(c[w>>2]|0);c[u>>2]=(c[t>>2]|0)+1;c[j>>2]=(c[(c[q>>2]|0)+116>>2]|0)+(((c[t>>2]|0)-1|0)*40|0);if(e[(c[j>>2]|0)+8>>1]&1|0){Pd(k,20953,4);continue}f=c[j>>2]|0;if(e[(c[j>>2]|0)+8>>1]&4|0){g=c[f+4>>2]|0;i=y;c[i>>2]=c[f>>2];c[i+4>>2]=g;oj(k,22191,y);continue}g=c[j>>2]|0;if(e[f+8>>1]&8|0){h[z>>3]=+h[g>>3];oj(k,22196,z);continue}if(e[g+8>>1]&2|0){a[o>>0]=a[(c[s>>2]|0)+66>>0]|0;if((d[o>>0]|0)!=1){f=m;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[m+32>>2]=c[s>>2];ci(m,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0,a[o>>0]|0,0)|0;if(7==(oi(m,1)|0)){a[k+24>>0]=1;c[k+16>>2]=0}c[j>>2]=m}c[n>>2]=c[(c[j>>2]|0)+12>>2];i=c[(c[j>>2]|0)+16>>2]|0;c[B>>2]=c[n>>2];c[B+4>>2]=i;oj(k,39342,B);if((d[o>>0]|0)==1)continue;ei(m);continue}else{if(e[(c[j>>2]|0)+8>>1]&16384|0){c[C>>2]=c[c[j>>2]>>2];oj(k,39349,C);continue}Pd(k,39362,2);c[p>>2]=c[(c[j>>2]|0)+12>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[p>>2]|0))break;c[A>>2]=a[(c[(c[j>>2]|0)+16>>2]|0)+(c[x>>2]|0)>>0]&255;oj(k,39365,A);c[x>>2]=(c[x>>2]|0)+1}Pd(k,39370,1);continue}}}while(0);if(!(a[k+24>>0]|0)){C=Bd(k)|0;l=D;return C|0}ce(k);C=Bd(k)|0;l=D;return C|0}function TG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){j=6;break}c[i>>2]=Tj(c[e>>2]|0,g)|0;b=c[i>>2]|0;if((c[g>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+b;c[e>>2]=(c[e>>2]|0)+(c[i>>2]|0)}if((j|0)==6){j=c[h>>2]|0;l=k;return j|0}c[c[f>>2]>>2]=b;j=c[h>>2]|0;l=k;return j|0}function UG(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}a:do if(c[i>>2]|0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[h>>2]|0)+18>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+120>>2]|0)+(c[k>>2]<<2)>>2];if((c[m>>2]|0?(I_(c[m>>2]|0,c[i>>2]|0,c[j>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==0:0)break;c[k>>2]=(c[k>>2]|0)+1}c[g>>2]=(c[k>>2]|0)+1;m=c[g>>2]|0;l=n;return m|0}while(0);c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}function VG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];l=f;return c[(c[d>>2]|0)+164>>2]|0}function WG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+316>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+316>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=de(c[d>>2]|0,c[(c[d>>2]|0)+340>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+316>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+340>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;l=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;l=g;return f|0}function XG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+4|0;e=d;c[g>>2]=a;c[e>>2]=b;f=c[e>>2]|0;a=c[(c[g>>2]|0)+340>>2]|0;g=(c[g>>2]|0)+316|0;b=c[g>>2]|0;c[g>>2]=b+1;c[a+(b<<2)>>2]=f;Xu(c[e>>2]|0);l=d;return}function YG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+20|0;h=p+16|0;i=p+12|0;j=p+24|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[i>>2]=e;a[j>>0]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];c[m>>2]=0;c[n>>2]=c[(c[k>>2]|0)+72>>2];while(1){if(!(c[n>>2]|0))break;if((c[(c[n>>2]|0)+4>>2]|0)==(c[i>>2]|0)?(c[c[n>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((o|0)==5)c[m>>2]=c[n>>2];do if(!(c[m>>2]|0)){c[m>>2]=Xg(16,0)|0;if(c[m>>2]|0){c[(c[m>>2]|0)+4>>2]=c[i>>2];c[c[m>>2]>>2]=c[h>>2];c[(c[m>>2]|0)+12>>2]=c[(c[k>>2]|0)+72>>2];c[(c[k>>2]|0)+72>>2]=c[m>>2];break}c[g>>2]=7;o=c[g>>2]|0;l=p;return o|0}while(0);if((d[j>>0]|0|0)>(d[(c[m>>2]|0)+8>>0]|0|0))a[(c[m>>2]|0)+8>>0]=a[j>>0]|0;c[g>>2]=0;o=c[g>>2]|0;l=p;return o|0}function ZG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;e=k+24|0;f=k+20|0;g=k+16|0;m=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[m>>2]=d;c[i>>2]=zv(c[f>>2]|0,c[m>>2]|0,-1,h,0)|0;if(c[i>>2]|0){c[e>>2]=c[i>>2];m=c[e>>2]|0;l=k;return m|0}while(1){m=Bs(c[h>>2]|0)|0;c[i>>2]=m;if(100!=(m|0))break;c[j>>2]=Cv(c[h>>2]|0,0)|0;if(!(c[j>>2]|0))continue;c[i>>2]=ZG(c[f>>2]|0,c[g>>2]|0,c[j>>2]|0)|0;if(c[i>>2]|0)break}if((c[i>>2]|0)==101)c[i>>2]=0;if(c[i>>2]|0){j=c[g>>2]|0;m=c[f>>2]|0;ov(j,m,Ev(c[f>>2]|0)|0)}Fr(c[h>>2]|0)|0;c[e>>2]=c[i>>2];m=c[e>>2]|0;l=k;return m|0}function _G(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;el(c[e>>2]|0);c[b>>2]=cH(c[e>>2]|0)|0;bl(c[e>>2]|0);l=d;return c[b>>2]|0}function $G(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;f=k+40|0;g=k+36|0;h=k+32|0;n=k+28|0;i=k+24|0;m=k+8|0;j=k;c[g>>2]=a;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;c[i>>2]=Xj(c[g>>2]|0,c[n>>2]|0,m)|0;if(!(c[i>>2]|0)){c[f>>2]=7;n=c[f>>2]|0;l=k;return n|0}else{c[j>>2]=ZG(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;Xd(c[g>>2]|0,c[i>>2]|0);c[f>>2]=c[j>>2];n=c[f>>2]|0;l=k;return n|0}return 0}function aH(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;h=m+68|0;i=m+64|0;j=m+60|0;f=m+56|0;k=m+8|0;g=m;c[h>>2]=a;c[i>>2]=d;el(c[h>>2]|0);el(c[i>>2]|0);c[f>>2]=Pp(qk(c[h>>2]|0)|0)|0;if(c[c[f>>2]>>2]|0?(a=Hn(c[i>>2]|0)|0,a=r0(a|0,((a|0)<0)<<31>>31|0,Mn(c[i>>2]|0)|0,0)|0,d=g,c[d>>2]=a,c[d+4>>2]=D,g=wm(c[f>>2]|0,11,g)|0,c[j>>2]=g,c[j>>2]=(c[j>>2]|0)==12?0:g,c[j>>2]|0):0){k=c[i>>2]|0;bl(k);k=c[h>>2]|0;bl(k);k=c[j>>2]|0;l=m;return k|0}a=k;d=a+48|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[k+20>>2]=c[c[i>>2]>>2];c[k+24>>2]=c[i>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Fp(k,2147483647)|0;c[j>>2]=or(k)|0;if(!(c[j>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;k=c[i>>2]|0;bl(k);k=c[h>>2]|0;bl(k);k=c[j>>2]|0;l=m;return k|0}else{bH(qk(c[k+4>>2]|0)|0);k=c[i>>2]|0;bl(k);k=c[h>>2]|0;bl(k);k=c[j>>2]|0;l=m;return k|0}return 0}function bH(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+13>>0]|0|0){l=e;return}zl(c[b>>2]|0);l=e;return}function cH(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);l=d;return c[b>>2]|0}function dH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+176|0;d=g+168|0;e=g+164|0;b=g+160|0;f=g;c[d>>2]=a;m0(f|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[e>>2]=0;while(1){if(!(c[f+(c[e>>2]<<2)>>2]|0))break;c[d>>2]=gH(c[f+(c[e>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[f+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}c[f+(c[e>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=c[f>>2];c[e>>2]=1;while(1){if((c[e>>2]|0)>>>0>=40)break;if(c[f+(c[e>>2]<<2)>>2]|0){if(c[d>>2]|0)a=gH(c[d>>2]|0,c[f+(c[e>>2]<<2)>>2]|0)|0;else a=c[f+(c[e>>2]<<2)>>2]|0;c[d>>2]=a}c[e>>2]=(c[e>>2]|0)+1}l=g;return c[d>>2]|0}function eH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=iH(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}l=g;return a|0}function fH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+12|0;e=i+8|0;h=i+4|0;f=i;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){fH(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){fH(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);l=i;return}else{c[c[h>>2]>>2]=a;l=i;return}}function gH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;j=c[a+4>>2]|0;b=c[e>>2]|0;i=c[b+4>>2]|0;if(!((j|0)<(i|0)|((j|0)==(i|0)?(c[a>>2]|0)>>>0<=(c[b>>2]|0)>>>0:0))){j=c[e>>2]|0;c[(c[g>>2]|0)+8>>2]=j;c[g>>2]=j;c[e>>2]=c[(c[e>>2]|0)+8>>2];if(!(c[e>>2]|0)){a=8;break}else continue}i=c[d>>2]|0;a=c[i+4>>2]|0;j=c[e>>2]|0;b=c[j+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){j=c[d>>2]|0;c[(c[g>>2]|0)+8>>2]=j;c[g>>2]=j}c[d>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[d>>2]|0)){a=6;break}}if((a|0)==6){i=c[e>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=i;j=f+8|0;j=c[j>>2]|0;l=h;return j|0}else if((a|0)==8){i=c[d>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=i;j=f+8|0;j=c[j>>2]|0;l=h;return j|0}return 0}function hH(a){a=a|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=Ed(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}while(0);g=(c[f>>2]|0)+24|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;f=(c[f>>2]|0)+16|0;g=c[f>>2]|0;c[f>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;l=h;return g|0}function iH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;d=i;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}a=c[f>>2]|0;do if((c[g>>2]|0)>1){c[d>>2]=iH(a,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];a=c[d>>2]|0;if(c[h>>2]|0){c[(c[h>>2]|0)+12>>2]=a;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=iH(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;break}c[e>>2]=a;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=c[a>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0}while(0);c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}function jH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;i=g+12|0;j=g+8|0;h=g+4|0;f=g;c[i>>2]=a;c[j>>2]=d;c[h>>2]=e;c[f>>2]=c[j>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[i>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;l=g;return c[f>>2]|0}function kH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;e=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[e>>0]=d[e>>0]|0|1<<(c[g>>2]&7);l=f;return}function lH(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;r=x+76|0;m=x+72|0;s=x+68|0;t=x+64|0;n=x+60|0;u=x+56|0;q=x+52|0;h=x+48|0;i=x+44|0;j=x+40|0;k=x+36|0;c[r>>2]=b;c[m>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=c[t>>2];c[q>>2]=c[s>>2];while(1){g=c[t>>2]|0;c[t>>2]=g+-1;if((g|0)<=0){b=25;break}if(!(c[(c[r>>2]|0)+16>>2]|0)){b=25;break}e=c[r>>2]|0;if((c[s>>2]|0)<1){b=5;break}if(qH(e,c[s>>2]|0)|0){b=25;break}if(gn(c[(c[r>>2]|0)+4>>2]|0,c[s>>2]|0,h,0)|0){b=8;break}c[i>>2]=Kn(c[h>>2]|0)|0;do if(!(c[m>>2]|0)){if((c[t>>2]|0)>0?(d[(c[c[r>>2]>>2]|0)+17>>0]|0)!=0:0){c[n>>2]=Vl(c[i>>2]|0)|0;mH(c[r>>2]|0,c[n>>2]|0,4,c[s>>2]|0)}}else{c[j>>2]=Vl((c[i>>2]|0)+4|0)|0;if(a[(c[c[r>>2]>>2]|0)+17>>0]|0)mH(c[r>>2]|0,c[s>>2]|0,2,0);if((c[j>>2]|0)>(((c[(c[c[r>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){g=c[r>>2]|0;c[p>>2]=c[s>>2];pH(g,40564,p);c[t>>2]=(c[t>>2]|0)+-1;break}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=Vl((c[i>>2]|0)+(8+(c[n>>2]<<2))|0)|0;if(a[(c[c[r>>2]>>2]|0)+17>>0]|0)mH(c[r>>2]|0,c[k>>2]|0,2,0);qH(c[r>>2]|0,c[k>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[t>>2]=(c[t>>2]|0)-(c[j>>2]|0)}while(0);c[s>>2]=Vl(c[i>>2]|0)|0;On(c[h>>2]|0);if(!(c[m>>2]|0))continue;if((c[t>>2]|0)>=((c[s>>2]|0)!=0|0))continue;pH(c[r>>2]|0,40603,o)}if((b|0)==5){u=c[u>>2]|0;w=c[q>>2]|0;c[v>>2]=(c[t>>2]|0)+1;c[v+4>>2]=u;c[v+8>>2]=w;pH(e,40485,v);l=x;return}else if((b|0)==8){v=c[r>>2]|0;c[w>>2]=c[s>>2];pH(v,40542,w);l=x;return}else if((b|0)==25){l=x;return}}function mH(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r+8|0;p=r;i=r+44|0;j=r+40|0;k=r+49|0;m=r+36|0;n=r+32|0;o=r+48|0;h=r+28|0;c[i>>2]=b;c[j>>2]=e;a[k>>0]=f;c[m>>2]=g;c[n>>2]=aq(c[c[i>>2]>>2]|0,c[j>>2]|0,o,h)|0;if(c[n>>2]|0){if((c[n>>2]|0)==7|(c[n>>2]|0)==3082)c[(c[i>>2]|0)+24>>2]=1;q=c[i>>2]|0;c[p>>2]=c[j>>2];pH(q,40402,p);l=r;return}if((d[o>>0]|0|0)==(d[k>>0]|0|0)?(c[h>>2]|0)==(c[m>>2]|0):0){l=r;return}p=c[i>>2]|0;k=d[k>>0]|0;m=c[m>>2]|0;n=d[o>>0]|0;o=c[h>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=k;c[q+8>>2]=m;c[q+12>>2]=n;c[q+16>>2]=o;pH(p,40431,q);l=r;return}function nH(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=l;l=l+256|0;_=ca+96|0;Z=ca+88|0;Y=ca+80|0;X=ca+72|0;aa=ca+64|0;$=ca+48|0;m=ca+40|0;k=ca+32|0;S=ca+240|0;T=ca+236|0;U=ca+232|0;V=ca+228|0;W=ca+24|0;n=ca+224|0;o=ca+220|0;j=ca+216|0;p=ca+212|0;q=ca+208|0;r=ca+204|0;s=ca+200|0;t=ca+196|0;u=ca+192|0;v=ca+188|0;w=ca+184|0;x=ca+180|0;y=ca+176|0;z=ca+172|0;A=ca+168|0;B=ca+164|0;C=ca+160|0;D=ca+156|0;E=ca+152|0;F=ca+148|0;G=ca+144|0;H=ca+140|0;I=ca+136|0;J=ca+132|0;K=ca+128|0;L=ca+244|0;M=ca;N=ca+124|0;O=ca+120|0;P=ca+116|0;Q=ca+112|0;R=ca+108|0;c[T>>2]=b;c[U>>2]=f;c[V>>2]=g;g=W;c[g>>2]=h;c[g+4>>2]=i;c[n>>2]=0;c[p>>2]=-1;c[w>>2]=1;c[x>>2]=1;c[F>>2]=0;c[H>>2]=0;c[I>>2]=c[(c[T>>2]|0)+28>>2];c[J>>2]=c[(c[T>>2]|0)+32>>2];c[K>>2]=c[(c[T>>2]|0)+36>>2];a[L>>0]=0;c[B>>2]=c[c[T>>2]>>2];c[D>>2]=c[(c[B>>2]|0)+36>>2];if(!(c[U>>2]|0)){c[S>>2]=0;ba=c[S>>2]|0;l=ca;return ba|0}if(qH(c[T>>2]|0,c[U>>2]|0)|0){c[S>>2]=0;ba=c[S>>2]|0;l=ca;return ba|0}c[(c[T>>2]|0)+28>>2]=40022;c[(c[T>>2]|0)+32>>2]=c[U>>2];i=dq(c[B>>2]|0,c[U>>2]|0,n,0)|0;c[j>>2]=i;do if(!(i|0)){a[L>>0]=a[c[n>>2]>>0]|0;a[c[n>>2]>>0]=0;k=qp(c[n>>2]|0)|0;c[j>>2]=k;if(k|0){ba=c[T>>2]|0;c[m>>2]=c[j>>2];pH(ba,40070,m);break}c[y>>2]=c[(c[n>>2]|0)+56>>2];c[t>>2]=d[(c[n>>2]|0)+5>>0];c[(c[T>>2]|0)+28>>2]=40108;c[E>>2]=((d[(c[y>>2]|0)+((c[t>>2]|0)+5)>>0]<<8|d[(c[y>>2]|0)+((c[t>>2]|0)+5)+1>>0])-1&65535)+1;c[v>>2]=d[(c[y>>2]|0)+((c[t>>2]|0)+3)>>0]<<8|d[(c[y>>2]|0)+((c[t>>2]|0)+3)+1>>0];c[u>>2]=(c[t>>2]|0)+12-(d[(c[n>>2]|0)+4>>0]<<2);c[A>>2]=(c[y>>2]|0)+((c[u>>2]|0)+((c[v>>2]|0)-1<<1));if(a[(c[n>>2]|0)+4>>0]|0){c[F>>2]=c[(c[T>>2]|0)+68>>2];c[c[F>>2]>>2]=0}else{c[r>>2]=Vl((c[y>>2]|0)+((c[t>>2]|0)+8)|0)|0;if(a[(c[B>>2]|0)+17>>0]|0){c[(c[T>>2]|0)+28>>2]=40134;mH(c[T>>2]|0,c[r>>2]|0,5,c[U>>2]|0)}m=W;c[p>>2]=nH(c[T>>2]|0,c[r>>2]|0,W,c[m>>2]|0,c[m+4>>2]|0)|0;c[x>>2]=0}c[o>>2]=(c[v>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break;if(!(c[(c[T>>2]|0)+16>>2]|0))break;c[(c[T>>2]|0)+36>>2]=c[o>>2];c[C>>2]=d[c[A>>2]>>0]<<8|d[(c[A>>2]|0)+1>>0];c[A>>2]=(c[A>>2]|0)+-2;do if((c[C>>2]|0)>>>0>=(c[E>>2]|0)>>>0?(c[C>>2]|0)>>>0<=((c[D>>2]|0)-4|0)>>>0:0){c[z>>2]=(c[y>>2]|0)+(c[C>>2]|0);Ib[c[(c[n>>2]|0)+80>>2]&255](c[n>>2]|0,c[z>>2]|0,M);if(((c[C>>2]|0)+(e[M+18>>1]|0)|0)>>>0>(c[D>>2]|0)>>>0){pH(c[T>>2]|0,40192,aa);c[w>>2]=0;break}if(a[(c[n>>2]|0)+2>>0]|0){f=M;b=c[f>>2]|0;f=c[f+4>>2]|0;g=W;j=c[g>>2]|0;g=c[g+4>>2]|0;if(c[x>>2]|0){if((f|0)>(g|0)|(f|0)==(g|0)&b>>>0>j>>>0)ba=26}else if((f|0)>(g|0)|(f|0)==(g|0)&b>>>0>=j>>>0)ba=26;if((ba|0)==26){ba=0;m=c[T>>2]|0;h=M;i=c[h+4>>2]|0;k=X;c[k>>2]=c[h>>2];c[k+4>>2]=i;pH(m,40216,X)}i=M;k=c[i+4>>2]|0;m=W;c[m>>2]=c[i>>2];c[m+4>>2]=k}if((c[M+12>>2]|0)>>>0>(e[M+16>>1]|0)>>>0){c[N>>2]=(((c[M+12>>2]|0)-(e[M+16>>1]|0)+(c[D>>2]|0)-5|0)>>>0)/(((c[D>>2]|0)-4|0)>>>0)|0;c[O>>2]=Vl((c[z>>2]|0)+((e[M+18>>1]|0)-4)|0)|0;if(a[(c[B>>2]|0)+17>>0]|0)mH(c[T>>2]|0,c[O>>2]|0,3,c[U>>2]|0);lH(c[T>>2]|0,0,c[O>>2]|0,c[N>>2]|0)}if(a[(c[n>>2]|0)+4>>0]|0){rH(c[F>>2]|0,c[C>>2]<<16|(c[C>>2]|0)+(e[M+18>>1]|0)-1);break}c[r>>2]=Vl(c[z>>2]|0)|0;if(a[(c[B>>2]|0)+17>>0]|0)mH(c[T>>2]|0,c[r>>2]|0,5,c[U>>2]|0);m=W;c[q>>2]=nH(c[T>>2]|0,c[r>>2]|0,W,c[m>>2]|0,c[m+4>>2]|0)|0;c[x>>2]=0;if((c[q>>2]|0)!=(c[p>>2]|0)){pH(c[T>>2]|0,40240,Y);c[p>>2]=c[q>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[T>>2]|0;i=c[E>>2]|0;k=(c[D>>2]|0)-4|0;c[$>>2]=c[C>>2];c[$+4>>2]=i;c[$+8>>2]=k;pH(m,40162,$);c[w>>2]=0}c[o>>2]=(c[o>>2]|0)+-1}Y=W;$=c[Y+4>>2]|0;aa=c[V>>2]|0;c[aa>>2]=c[Y>>2];c[aa+4>>2]=$;c[(c[T>>2]|0)+28>>2]=0;if(c[w>>2]|0?(c[(c[T>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[n>>2]|0)+4>>0]|0)){c[F>>2]=c[(c[T>>2]|0)+68>>2];c[c[F>>2]>>2]=0;c[o>>2]=(c[v>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break a;c[C>>2]=d[(c[y>>2]|0)+((c[u>>2]|0)+(c[o>>2]<<1))>>0]<<8|d[(c[y>>2]|0)+((c[u>>2]|0)+(c[o>>2]<<1))+1>>0];c[P>>2]=(Mb[c[(c[n>>2]|0)+76>>2]&255](c[n>>2]|0,(c[y>>2]|0)+(c[C>>2]|0)|0)|0)&65535;rH(c[F>>2]|0,c[C>>2]<<16|(c[C>>2]|0)+(c[P>>2]|0)-1);c[o>>2]=(c[o>>2]|0)+-1}}while(0);c[o>>2]=d[(c[y>>2]|0)+((c[t>>2]|0)+1)>>0]<<8|d[(c[y>>2]|0)+((c[t>>2]|0)+1)+1>>0];while(1){if((c[o>>2]|0)<=0)break;c[Q>>2]=d[(c[y>>2]|0)+((c[o>>2]|0)+2)>>0]<<8|d[(c[y>>2]|0)+((c[o>>2]|0)+2)+1>>0];rH(c[F>>2]|0,c[o>>2]<<16|(c[o>>2]|0)+(c[Q>>2]|0)-1);c[R>>2]=d[(c[y>>2]|0)+(c[o>>2]|0)>>0]<<8|d[(c[y>>2]|0)+(c[o>>2]|0)+1>>0];c[o>>2]=c[R>>2]}c[s>>2]=0;c[H>>2]=(c[E>>2]|0)-1;while(1){if(!(sH(c[F>>2]|0,G)|0))break;if((c[H>>2]&65535)>>>0>=(c[G>>2]|0)>>>16>>>0){ba=51;break}c[s>>2]=(c[s>>2]|0)+(((c[G>>2]|0)>>>16)-(c[H>>2]&65535)-1);c[H>>2]=c[G>>2]}if((ba|0)==51){ba=c[T>>2]|0;aa=c[U>>2]|0;c[Z>>2]=(c[G>>2]|0)>>>16;c[Z+4>>2]=aa;pH(ba,40265,Z)}c[s>>2]=(c[s>>2]|0)+((c[D>>2]|0)-(c[H>>2]&65535)-1);if((c[c[F>>2]>>2]|0)==0?(c[s>>2]|0)!=(d[(c[y>>2]|0)+((c[t>>2]|0)+7)>>0]|0):0){ba=c[T>>2]|0;$=d[(c[y>>2]|0)+((c[t>>2]|0)+7)>>0]|0;aa=c[U>>2]|0;c[_>>2]=c[s>>2];c[_+4>>2]=$;c[_+8>>2]=aa;pH(ba,40302,_)}}}else{ba=c[T>>2]|0;c[k>>2]=c[j>>2];pH(ba,40032,k)}while(0);if(!(c[w>>2]|0))a[c[n>>2]>>0]=a[L>>0]|0;cq(c[n>>2]|0);c[(c[T>>2]|0)+28>>2]=c[I>>2];c[(c[T>>2]|0)+32>>2]=c[J>>2];c[(c[T>>2]|0)+36>>2]=c[K>>2];c[S>>2]=(c[p>>2]|0)+1;ba=c[S>>2]|0;l=ca;return ba|0}function oH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;l=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function pH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;f=j+28|0;g=j+24|0;h=j+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){l=j;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)Pd((c[f>>2]|0)+40|0,40020,1);if(c[(c[f>>2]|0)+28>>2]|0){b=(c[f>>2]|0)+40|0;e=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[i>>2]=c[(c[f>>2]|0)+32>>2];c[i+4>>2]=a;oj(b,e,i)}Ad((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){l=j;return}c[(c[f>>2]|0)+24>>2]=1;l=j;return}function qH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+8|0;e=i;g=i+20|0;d=i+16|0;f=i+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){a=c[d>>2]|0;b=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=b;pH(a,40354,e);c[g>>2]=1;break}e=(oH(a,b)|0)!=0;b=c[d>>2]|0;a=c[f>>2]|0;if(e){c[h>>2]=a;pH(b,40377,h);c[g>>2]=1;break}else{kH(b,a);c[g>>2]=0;break}}else c[g>>2]=1;while(0);l=i;return c[g>>2]|0}function rH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[g>>2]=b;c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[e>>2];while(1){b=((c[g>>2]|0)>>>0)/2|0;c[f>>2]=b;if(b>>>0<=0){a=5;break}if((c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0){a=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[e>>2];c[g>>2]=c[f>>2]}if((a|0)==5){l=h;return}}function sH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[i>>2]=b;if(!b){c[d>>2]=0;i=c[d>>2]|0;l=j;return i|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[i>>2]<<2)>>2];c[(c[e>>2]|0)+(c[i>>2]<<2)>>2]=-1;f=c[e>>2]|0;c[f>>2]=(c[f>>2]|0)+-1;c[h>>2]=1;while(1){f=c[h>>2]<<1;c[g>>2]=f;if(f>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[g>>2]|0)+1<<2)>>2]|0)>>>0)c[g>>2]=(c[g>>2]|0)+1;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0)break;c[i>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[i>>2];c[h>>2]=c[g>>2]}c[d>>2]=1;i=c[d>>2]|0;l=j;return i|0}function tH(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m;j=m+12|0;k=m+8|0;c[h>>2]=b;b=i;c[b>>2]=e;c[b+4>>2]=f;c[j>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){l=m;return}a[(c[h>>2]|0)+11>>0]=0;c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;do if((d[(c[k>>2]|0)+64>>0]|0)&16|0){a[(c[h>>2]|0)+11>>0]=1;if((c[j>>2]|0)==0?(f=(c[k>>2]|0)+16|0,g=i,!((c[f>>2]|0)==(c[g>>2]|0)?(c[f+4>>2]|0)==(c[g+4>>2]|0):0)):0)break;a[(c[k>>2]|0)+66>>0]=0}while(0);c[k>>2]=c[(c[k>>2]|0)+8>>2]}l=m;return}function uH(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;r=u+36|0;n=u+32|0;i=u+28|0;s=u+24|0;o=u+20|0;t=u+16|0;p=u+12|0;j=u+8|0;k=u+4|0;q=u;m=u+40|0;c[n>>2]=b;c[i>>2]=f;c[s>>2]=g;c[o>>2]=h;h=c[i>>2]|0;if(h>>>0>(Rn(c[n>>2]|0)|0)>>>0){c[r>>2]=kn(66688)|0;t=c[r>>2]|0;l=u;return t|0}c[p>>2]=WD(c[n>>2]|0,c[i>>2]|0,t,0,0)|0;if(c[p>>2]|0){c[r>>2]=c[p>>2];t=c[r>>2]|0;l=u;return t|0}a:do if(!(a[(c[t>>2]|0)+8>>0]|0)){a[(c[t>>2]|0)+8>>0]=1;c[q>>2]=d[(c[t>>2]|0)+5>>0];c[k>>2]=0;while(1){b=c[t>>2]|0;if((c[k>>2]|0)>=(e[(c[t>>2]|0)+18>>1]|0))break;c[j>>2]=(c[b+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[k>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[k>>2]<<1)+1>>0]));if((a[(c[t>>2]|0)+4>>0]|0)==0?(h=c[n>>2]|0,i=Vl(c[j>>2]|0)|0,c[p>>2]=uH(h,i,1,c[o>>2]|0)|0,c[p>>2]|0):0)break a;c[p>>2]=vH(c[t>>2]|0,c[j>>2]|0,m)|0;if(c[p>>2]|0)break a;c[k>>2]=(c[k>>2]|0)+1}if(a[b+4>>0]|0){if(c[o>>2]|0){o=c[o>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[t>>2]|0)+18>>1]|0)}}else{m=c[n>>2]|0;n=Vl((c[(c[t>>2]|0)+56>>2]|0)+((c[q>>2]|0)+8)|0)|0;c[p>>2]=uH(m,n,1,c[o>>2]|0)|0;if(c[p>>2]|0)break}b=c[t>>2]|0;if(c[s>>2]|0){wH(b,p);break}s=Jn(c[b+72>>2]|0)|0;c[p>>2]=s;if(!s)Tq(c[t>>2]|0,d[(c[(c[t>>2]|0)+56>>2]|0)+(c[q>>2]|0)>>0]|8)}else c[p>>2]=kn(66693)|0;while(0);a[(c[t>>2]|0)+8>>0]=0;cq(c[t>>2]|0);c[r>>2]=c[p>>2];t=c[r>>2]|0;l=u;return t|0}function vH(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+80|0;m=t+64|0;n=t+60|0;o=t+56|0;u=t+52|0;p=t+48|0;q=t;r=t+44|0;g=t+40|0;h=t+36|0;i=t+32|0;j=t+28|0;k=t+24|0;c[n>>2]=a;c[o>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[n>>2]|0)+52>>2];Ib[c[(c[n>>2]|0)+80>>2]&255](c[n>>2]|0,c[o>>2]|0,q);b[c[u>>2]>>1]=b[q+18>>1]|0;if((e[q+16>>1]|0|0)==(c[q+12>>2]|0)){c[m>>2]=0;u=c[m>>2]|0;l=t;return u|0}if(((c[o>>2]|0)+(e[q+18>>1]|0)+-1|0)>>>0>((c[(c[n>>2]|0)+56>>2]|0)+(e[(c[n>>2]|0)+20>>1]|0)|0)>>>0){c[m>>2]=kn(64249)|0;u=c[m>>2]|0;l=t;return u|0}c[r>>2]=Vl((c[o>>2]|0)+(e[q+18>>1]|0)+-4|0)|0;c[i>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[h>>2]=(((c[q+12>>2]|0)-(e[q+16>>1]|0)+(c[i>>2]|0)-1|0)>>>0)/((c[i>>2]|0)>>>0)|0;while(1){u=c[h>>2]|0;c[h>>2]=u+-1;if(!u){s=23;break}c[j>>2]=0;c[k>>2]=0;if((c[r>>2]|0)>>>0<2){s=9;break}u=c[r>>2]|0;if(u>>>0>(Rn(c[p>>2]|0)|0)>>>0){s=9;break}if(c[h>>2]|0?(c[g>>2]=Cq(c[p>>2]|0,c[r>>2]|0,k,j)|0,c[g>>2]|0):0){s=12;break}if(!(c[k>>2]|0)?(u=zH(c[p>>2]|0,c[r>>2]|0)|0,c[k>>2]=u,!(u|0)):0)s=17;else if((pp(c[(c[k>>2]|0)+72>>2]|0)|0)!=1)c[g>>2]=kn(64285)|0;else s=17;if((s|0)==17){s=0;c[g>>2]=xH(c[p>>2]|0,c[k>>2]|0,c[r>>2]|0)|0}if(c[k>>2]|0)On(c[(c[k>>2]|0)+72>>2]|0);if(c[g>>2]|0){s=21;break}c[r>>2]=c[j>>2]}if((s|0)==9){c[m>>2]=kn(64265)|0;u=c[m>>2]|0;l=t;return u|0}else if((s|0)==12){c[m>>2]=c[g>>2];u=c[m>>2]|0;l=t;return u|0}else if((s|0)==21){c[m>>2]=c[g>>2];u=c[m>>2]|0;l=t;return u|0}else if((s|0)==23){c[m>>2]=0;u=c[m>>2]|0;l=t;return u|0}return 0}function wH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){l=f;return}d=xH(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=d;l=f;return}function xH(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+40|0;m=s+36|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;r=s+16|0;g=s+12|0;h=s+8|0;i=s+4|0;j=s;c[m>>2]=b;c[n>>2]=d;c[o>>2]=f;c[p>>2]=0;c[q>>2]=0;c[r>>2]=c[(c[m>>2]|0)+12>>2];if((c[o>>2]|0)>>>0<2){c[k>>2]=kn(64103)|0;r=c[k>>2]|0;l=s;return r|0}if(c[n>>2]|0){c[g>>2]=c[n>>2];yH(c[(c[g>>2]|0)+72>>2]|0)}else c[g>>2]=zH(c[m>>2]|0,c[o>>2]|0)|0;c[h>>2]=Jn(c[(c[r>>2]|0)+72>>2]|0)|0;do if(!(c[h>>2]|0)){c[i>>2]=Vl((c[(c[r>>2]|0)+56>>2]|0)+36|0)|0;Nn((c[(c[r>>2]|0)+56>>2]|0)+36|0,(c[i>>2]|0)+1|0);if(e[(c[m>>2]|0)+22>>1]&4|0){if((c[g>>2]|0)==0?(n=dq(c[m>>2]|0,c[o>>2]|0,g,0)|0,c[h>>2]=n,n|0):0)break;n=Jn(c[(c[g>>2]|0)+72>>2]|0)|0;c[h>>2]=n;if(n|0)break;m0(c[(c[g>>2]|0)+56>>2]|0,0,c[(c[(c[g>>2]|0)+52>>2]|0)+32>>2]|0)|0}if(a[(c[m>>2]|0)+17>>0]|0?(hq(c[m>>2]|0,c[o>>2]|0,2,0,h),c[h>>2]|0):0)break;if(c[i>>2]|0){c[q>>2]=Vl((c[(c[r>>2]|0)+56>>2]|0)+32|0)|0;c[h>>2]=dq(c[m>>2]|0,c[q>>2]|0,p,0)|0;if(c[h>>2]|0)break;c[j>>2]=Vl((c[(c[p>>2]|0)+56>>2]|0)+4|0)|0;if((c[j>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[h>>2]=kn(64156)|0;break}if((c[j>>2]|0)>>>0<((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[h>>2]=Jn(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[h>>2]|0)break;Nn((c[(c[p>>2]|0)+56>>2]|0)+4|0,(c[j>>2]|0)+1|0);Nn((c[(c[p>>2]|0)+56>>2]|0)+(8+(c[j>>2]<<2))|0,c[o>>2]|0);if(c[g>>2]|0?(e[(c[m>>2]|0)+22>>1]&4|0)==0:0)AH(c[(c[g>>2]|0)+72>>2]|0);c[h>>2]=BH(c[m>>2]|0,c[o>>2]|0)|0;break}}if((c[g>>2]|0)==0?(n=dq(c[m>>2]|0,c[o>>2]|0,g,0)|0,c[h>>2]=n,0!=(n|0)):0)break;c[h>>2]=Jn(c[(c[g>>2]|0)+72>>2]|0)|0;if(!(c[h>>2]|0)){Nn(c[(c[g>>2]|0)+56>>2]|0,c[q>>2]|0);Nn((c[(c[g>>2]|0)+56>>2]|0)+4|0,0);Nn((c[(c[r>>2]|0)+56>>2]|0)+32|0,c[o>>2]|0)}}while(0);if(c[g>>2]|0)a[c[g>>2]>>0]=0;cq(c[g>>2]|0);cq(c[p>>2]|0);c[k>>2]=c[h>>2];r=c[k>>2]|0;l=s;return r|0}function yH(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;CH(c[d>>2]|0);l=b;return}function zH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=en(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=mq(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;g=c[d>>2]|0;l=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}return 0}function AH(d){d=d|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=c[(c[f>>2]|0)+16>>2];if(a[(c[g>>2]|0)+13>>0]|0){l=h;return}if(!(e[(c[f>>2]|0)+24>>1]&2)){l=h;return}if(c[(c[g>>2]|0)+104>>2]|0){l=h;return}g=(c[f>>2]|0)+24|0;b[g>>1]=e[g>>1]|16;g=(c[f>>2]|0)+24|0;b[g>>1]=e[g>>1]&-5;l=h;return}function BH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=Zn(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}b=c[e>>2]|0;if(b>>>0>(rq(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=dn(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;l=g;return f|0}function CH(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;l=d;return}function DH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;h=p+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;f=p+4|0;g=p;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[i>>2]|0)+4>>2];if(c[(c[o>>2]|0)+8>>2]|0){c[h>>2]=262;o=c[h>>2]|0;l=p;return o|0}if((c[j>>2]|0)>>>0<2){c[h>>2]=kn(66814)|0;o=c[h>>2]|0;l=p;return o|0}c[m>>2]=dq(c[o>>2]|0,c[j>>2]|0,n,0)|0;if(c[m>>2]|0){c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}c[m>>2]=yG(c[i>>2]|0,c[j>>2]|0,0)|0;if(c[m>>2]|0){cq(c[n>>2]|0);c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}c[c[k>>2]>>2]=0;if(a[(c[o>>2]|0)+17>>0]|0){Ip(c[i>>2]|0,4,f);b=c[n>>2]|0;do if((c[j>>2]|0)==(c[f>>2]|0)){wH(b,m);cq(c[n>>2]|0);if(c[m>>2]|0){c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}}else{cq(b);c[m>>2]=dq(c[o>>2]|0,c[f>>2]|0,g,0)|0;if(c[m>>2]|0){c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}c[m>>2]=eq(c[o>>2]|0,c[g>>2]|0,1,0,c[j>>2]|0,0)|0;cq(c[g>>2]|0);if(c[m>>2]|0){c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}c[g>>2]=0;c[m>>2]=dq(c[o>>2]|0,c[f>>2]|0,g,0)|0;wH(c[g>>2]|0,m);cq(c[g>>2]|0);if(!(c[m>>2]|0)){c[c[k>>2]>>2]=c[f>>2];break}c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}while(0);c[f>>2]=(c[f>>2]|0)+-1;while(1){if((c[f>>2]|0)!=((((c[482]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=Yp(c[o>>2]|0,c[f>>2]|0)|0,(n|0)!=(c[f>>2]|0)):0)break;c[f>>2]=(c[f>>2]|0)+-1}c[m>>2]=Mp(c[i>>2]|0,4,c[f>>2]|0)|0}else{wH(c[n>>2]|0,m);cq(c[n>>2]|0)}c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}function EH(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;e=o+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[f>>2]=b;c[g>>2]=0;c[i>>2]=0;c[j>>2]=(d[(c[f>>2]|0)+59>>0]|0)-1;a[(c[f>>2]|0)+56>>0]=1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=((d[(c[f>>2]|0)+58>>0]|0)+(c[h>>2]|0)+1|0)%(c[j>>2]|0)|0;c[i>>2]=(c[f>>2]|0)+64+((c[k>>2]|0)*72|0);if(c[(c[i>>2]|0)+4>>2]|0)c[g>>2]=ws(c[i>>2]|0)|0;if(c[g>>2]|0)break;if(!(c[c[i>>2]>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}do if(!(c[g>>2]|0)){if((c[h>>2]|0)==(c[j>>2]|0)){c[g>>2]=FH((c[f>>2]|0)+64+((c[j>>2]|0)*72|0)|0,(c[f>>2]|0)+36|0)|0;break}c[m>>2]=c[(c[i>>2]|0)+16+4>>2];c[n>>2]=c[i>>2];a[(c[f>>2]|0)+58>>0]=((c[i>>2]|0)-((c[f>>2]|0)+64)|0)/72|0;k=(c[i>>2]|0)+16|0;j=(c[f>>2]|0)+36|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[(c[f>>2]|0)+36>>2]=0;c[(c[f>>2]|0)+36+8>>2]=0;if(!(c[m>>2]|0)){if(c[(c[f>>2]|0)+36+4>>2]|0?(m=c[(c[f>>2]|0)+52>>2]|0,m=Fd(m,((m|0)<0)<<31>>31)|0,c[(c[f>>2]|0)+36+4>>2]=m,(c[(c[f>>2]|0)+36+4>>2]|0)==0):0){c[e>>2]=7;n=c[e>>2]|0;l=o;return n|0}}else{c[(c[f>>2]|0)+36+4>>2]=c[m>>2];m=Kd(c[m>>2]|0)|0;c[(c[f>>2]|0)+52>>2]=m}c[g>>2]=HH(c[i>>2]|0,194,c[n>>2]|0)|0}while(0);c[e>>2]=c[g>>2];n=c[e>>2]|0;l=o;return n|0}function FH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;e=k+60|0;f=k+56|0;d=k+52|0;g=k+48|0;h=k;i=k+44|0;j=k+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[g>>2]=0;a=h;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[g>>2]=JH(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[g>>2]|0))c[g>>2]=KH(c[e>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){j=c[g>>2]|0;l=k;return j|0}c[j>>2]=0;d=(c[e>>2]|0)+40+8|0;LH(c[(c[e>>2]|0)+40>>2]|0,h,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;MH(h,d,((d|0)<0)<<31>>31);c[i>>2]=c[c[f>>2]>>2];while(1){a=c[i>>2]|0;if(!(c[i>>2]|0))break;c[j>>2]=c[a+4>>2];d=c[c[i>>2]>>2]|0;MH(h,d,((d|0)<0)<<31>>31);NH(h,(c[i>>2]|0)+8|0,c[c[i>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))_d(c[i>>2]|0);c[i>>2]=c[j>>2]}c[c[f>>2]>>2]=a;c[g>>2]=OH(h,(c[e>>2]|0)+40+8|0)|0;j=c[g>>2]|0;l=k;return j|0}function GH(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=FH(c[e>>2]|0,(c[e>>2]|0)+16|0)|0;c[(c[e>>2]|0)+4>>2]=1;l=d;return c[b>>2]|0}function HH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=IH(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function IH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[i>>2]=Fd(20,0)|0;if(!(c[i>>2]|0)){c[e>>2]=7;j=c[e>>2]|0;l=k;return j|0}d=c[i>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[(c[i>>2]|0)+12>>2]=c[g>>2];c[(c[i>>2]|0)+16>>2]=c[h>>2];if(Kq(200)|0)c[j>>2]=1;else c[j>>2]=kb(c[i>>2]|0,0,c[g>>2]|0,c[h>>2]|0)|0;if(c[j>>2]|0){c[(c[i>>2]|0)+4>>2]=1;j=Hb[c[g>>2]&255](c[h>>2]|0)|0;c[(c[i>>2]|0)+8>>2]=j}c[c[f>>2]>>2]=c[i>>2];c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function JH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+28|0;g=k+24|0;h=k+20|0;i=k+16|0;j=k;c[g>>2]=a;a=k+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(Kq(202)|0){c[f>>2]=3338;j=c[f>>2]|0;l=k;return j|0}c[i>>2]=cs(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,i)|0;if(!(c[i>>2]|0)){g=j;c[g>>2]=0;c[g+4>>2]=0;wo(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}function KH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;e=n+4|0;f=n;c[h>>2]=a;c[i>>2]=b;c[e>>2]=PH(c[h>>2]|0)|0;if(c[e>>2]|0){c[g>>2]=c[e>>2];m=c[g>>2]|0;l=n;return m|0}c[m>>2]=c[c[i>>2]>>2];e=QH(c[(c[h>>2]|0)+8>>2]|0)|0;c[(c[h>>2]|0)+32>>2]=e;c[k>>2]=Xg(256,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;m=c[g>>2]|0;l=n;return m|0}while(1){if(!(c[m>>2]|0))break;a=c[m>>2]|0;do if(c[(c[i>>2]|0)+4>>2]|0)if((a|0)==(c[(c[i>>2]|0)+4>>2]|0)){c[f>>2]=0;break}else{c[f>>2]=(c[(c[i>>2]|0)+4>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0);break}else c[f>>2]=c[a+4>>2];while(0);c[(c[m>>2]|0)+4>>2]=0;c[j>>2]=0;while(1){if(!(c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0))break;c[m>>2]=RH(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]=0;c[j>>2]=(c[j>>2]|0)+1}c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];c[m>>2]=c[f>>2]}c[m>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=64)break;if(c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0){if(c[m>>2]|0)a=RH(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;else a=c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0;c[m>>2]=a}c[j>>2]=(c[j>>2]|0)+1}c[c[i>>2]>>2]=c[m>>2];_d(c[k>>2]|0);c[g>>2]=d[(c[(c[h>>2]|0)+12>>2]|0)+11>>0];m=c[g>>2]|0;l=n;return m|0}function LH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;a=c[h>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));f=c[i>>2]|0;f=Fd(f,((f|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=f;if(c[(c[h>>2]|0)+4>>2]|0){e=j;f=c[i>>2]|0;f=c0(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=f;c[(c[h>>2]|0)+16>>2]=f;f=c[(c[h>>2]|0)+12>>2]|0;f=Z$(c[j>>2]|0,c[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;j=(c[h>>2]|0)+24|0;c[j>>2]=f;c[j+4>>2]=D;c[(c[h>>2]|0)+8>>2]=c[i>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];l=k;return}else{c[c[h>>2]>>2]=7;l=k;return}}function MH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+32|0;h=e+12|0;i=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;d=i;c[f>>2]=_F(g,c[d>>2]|0,c[d+4>>2]|0)|0;NH(c[h>>2]|0,g,c[f>>2]|0);l=e;return}function NH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[g>>2];while(1){if((c[h>>2]|0)<=0){a=9;break}if(c[c[e>>2]>>2]|0){a=9;break}c[i>>2]=c[h>>2];if((c[i>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[i>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);h0((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[h>>2]|0))|0,c[i>>2]|0)|0;d=(c[e>>2]|0)+16|0;c[d>>2]=(c[d>>2]|0)+(c[i>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){k=c[(c[e>>2]|0)+32>>2]|0;a=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;d=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;b=c[(c[e>>2]|0)+12>>2]|0;b=_$(c[m>>2]|0,c[m+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Dm(k,a,d,b,D)|0;c[c[e>>2]>>2]=b;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;b=c[(c[e>>2]|0)+8>>2]|0;d=(c[e>>2]|0)+24|0;a=d;b=_$(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[d>>2]=b;c[d+4>>2]=D}c[h>>2]=(c[h>>2]|0)-(c[i>>2]|0)}if((a|0)==9){l=j;return}}function OH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?c[(c[d>>2]|0)+4>>2]|0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){i=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;j=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=_$(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Dm(i,h,a,b,D)|0;c[c[d>>2]>>2]=b}a=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+16>>2]|0;b=_$(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=c[e>>2]|0;c[a>>2]=b;c[a+4>>2]=D;_d(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=g;return c[f>>2]|0}function PH(d){d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=YD(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;g=c[e>>2]|0;l=h;return g|0}while(0);c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}function QH(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=146;break}else{c[b>>2]=147;break}else c[b>>2]=145;while(0);l=f;return c[b>>2]|0}function RH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;k=m+8|0;f=m+4|0;g=m;c[e>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=0;c[k>>2]=j;c[f>>2]=0;while(1){c[g>>2]=Gb[c[(c[e>>2]|0)+32>>2]&255](c[e>>2]|0,f,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0,(c[i>>2]|0)+8|0,c[c[i>>2]>>2]|0)|0;if((c[g>>2]|0)<=0){c[c[k>>2]>>2]=c[h>>2];c[k>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];if(!(c[h>>2]|0)){a=4;break}else continue}else{c[c[k>>2]>>2]=c[i>>2];c[k>>2]=(c[i>>2]|0)+4;c[i>>2]=c[(c[i>>2]|0)+4>>2];c[f>>2]=0;if(!(c[i>>2]|0)){a=6;break}else continue}}if((a|0)==4){c[c[k>>2]>>2]=c[i>>2];k=c[j>>2]|0;l=m;return k|0}else if((a|0)==6){c[c[k>>2]>>2]=c[h>>2];k=c[j>>2]|0;l=m;return k|0}return 0}function SH(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=l;l=l+64|0;t=x+52|0;u=x+48|0;v=x+44|0;w=x+40|0;q=x+36|0;r=x+32|0;z=x+28|0;y=x+24|0;k=x+20|0;m=x+16|0;n=x+12|0;o=x+8|0;s=x+4|0;p=x;c[t>>2]=b;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[q>>2]=i;c[r>>2]=j;c[z>>2]=c[v>>2];c[y>>2]=c[q>>2];c[k>>2]=d[(c[z>>2]|0)+1>>0];c[m>>2]=d[(c[y>>2]|0)+1>>0];c[n>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);b=c[k>>2]|0;f=c[m>>2]|0;a:do if(!((c[k>>2]|0)>7&(c[m>>2]|0)>7)){if((b|0)==(f|0)){if((d[c[n>>2]>>0]^d[c[o>>2]>>0])&128|0){c[s>>2]=d[c[n>>2]>>0]&128|0?-1:1;break}c[s>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(d[40642+(c[k>>2]|0)>>0]|0))break a;z=(d[(c[n>>2]|0)+(c[p>>2]|0)>>0]|0)-(d[(c[o>>2]|0)+(c[p>>2]|0)>>0]|0)|0;c[s>>2]=z;if(z|0)break a;c[p>>2]=(c[p>>2]|0)+1}}do if((c[m>>2]|0)<=7)if((c[k>>2]|0)>7){c[s>>2]=-1;break}else{c[s>>2]=(c[k>>2]|0)-(c[m>>2]|0);break}else c[s>>2]=1;while(0);if((c[s>>2]|0)>0){if(!(d[c[n>>2]>>0]&128))break;c[s>>2]=-1;break}else{if(!(d[c[o>>2]>>0]&128))break;c[s>>2]=1;break}}else c[s>>2]=b-f;while(0);b=c[(c[(c[t>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[s>>2]|0)){if((e[b+6>>1]|0)<=1){z=c[s>>2]|0;l=x;return z|0}c[s>>2]=VH(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;z=c[s>>2]|0;l=x;return z|0}else{if(!(a[c[b+16>>2]>>0]|0)){z=c[s>>2]|0;l=x;return z|0}c[s>>2]=S(c[s>>2]|0,-1)|0;z=c[s>>2]|0;l=x;return z|0}return 0}function TH(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;y=x+24|0;k=x+20|0;m=x+16|0;n=x+12|0;o=x+8|0;p=x+4|0;s=x;c[t>>2]=b;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[q>>2]=i;c[r>>2]=j;c[y>>2]=c[v>>2];c[k>>2]=c[q>>2];c[m>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[n>>2]=(c[k>>2]|0)+(d[c[k>>2]>>0]|0);b=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[o>>2]=d[b>>0];else fE(b,o)|0;c[o>>2]=((c[o>>2]|0)-13|0)/2|0;b=(c[k>>2]|0)+1|0;if((d[(c[k>>2]|0)+1>>0]|0)<128)c[p>>2]=d[b>>0];else fE(b,p)|0;c[p>>2]=((c[p>>2]|0)-13|0)/2|0;c[s>>2]=H_(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)<(c[p>>2]|0)?c[o>>2]|0:c[p>>2]|0)|0;if(!(c[s>>2]|0))c[s>>2]=(c[o>>2]|0)-(c[p>>2]|0);b=c[(c[(c[t>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[s>>2]|0)){if((e[b+6>>1]|0)<=1){y=c[s>>2]|0;l=x;return y|0}c[s>>2]=VH(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;y=c[s>>2]|0;l=x;return y|0}else{if(!(a[c[b+16>>2]>>0]|0)){y=c[s>>2]|0;l=x;return y|0}c[s>>2]=S(c[s>>2]|0,-1)|0;y=c[s>>2]|0;l=x;return y|0}return 0}function UH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;i=p+4|0;j=p;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[k>>2]|0)+12>>2];if(c[c[m>>2]>>2]|0){m=c[o>>2]|0;n=c[n>>2]|0;o=c[j>>2]|0;o=dE(m,n,o)|0;l=p;return o|0}ZD(c[(c[(c[k>>2]|0)+8>>2]|0)+28>>2]|0,c[i>>2]|0,c[h>>2]|0,c[j>>2]|0);c[c[m>>2]>>2]=1;m=c[o>>2]|0;n=c[n>>2]|0;o=c[j>>2]|0;o=dE(m,n,o)|0;l=p;return o|0}function VH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;i=p+4|0;j=p;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[k>>2]|0)+12>>2];if(c[c[m>>2]>>2]|0){m=c[o>>2]|0;n=c[n>>2]|0;o=c[j>>2]|0;o=eE(m,n,o,1)|0;l=p;return o|0}ZD(c[(c[(c[k>>2]|0)+8>>2]|0)+28>>2]|0,c[i>>2]|0,c[h>>2]|0,c[j>>2]|0);c[c[m>>2]>>2]=1;m=c[o>>2]|0;n=c[n>>2]|0;o=c[j>>2]|0;o=eE(m,n,o,1)|0;l=p;return o|0}function WH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;b=i+24|0;d=i+20|0;e=i+16|0;f=i;g=i+12|0;h=i+8|0;c[d>>2]=a;c[e>>2]=0;j=f;c[j>>2]=0;c[j+4>>2]=0;j=c[d>>2]|0;m=c[j+4>>2]|0;a=(c[d>>2]|0)+8|0;k=c[a+4>>2]|0;if((m|0)>(k|0)|((m|0)==(k|0)?(c[j>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=1;if((c[g>>2]|0?(c[e>>2]=YH(c[g>>2]|0)|0,(c[e>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[e>>2]=ZH(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[h>>2]=0}if(c[h>>2]|0){rs(c[d>>2]|0);c[b>>2]=c[e>>2];m=c[b>>2]|0;l=i;return m|0}}if(!(c[e>>2]|0))c[e>>2]=_H(c[d>>2]|0,f)|0;if(!(c[e>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[e>>2]=$H(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[e>>2];m=c[b>>2]|0;l=i;return m|0}function XH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;g=q+36|0;h=q+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;e=q+4|0;f=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2];c[k>>2]=c[(c[g>>2]|0)+4>>2];c[i>>2]=WH((c[(c[g>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[i>>2]|0)){c[e>>2]=0;c[n>>2]=(c[(c[g>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[o>>2]=(c[(c[g>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[m>>2]=((c[c[g>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[m>>2]|0)<=0)break;do if(c[(c[n>>2]|0)+24>>2]|0)if(!(c[(c[o>>2]|0)+24>>2]|0)){c[f>>2]=-1;break}else{c[f>>2]=Gb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,e,c[(c[n>>2]|0)+32>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;break}else c[f>>2]=1;while(0);do if((c[f>>2]|0)<0)p=12;else{if((c[f>>2]|0)==0?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0){p=12;break}if(c[(c[n>>2]|0)+24>>2]|0)c[e>>2]=0;c[(c[(c[g>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2]=((c[o>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0)|0)/56|0;c[n>>2]=(c[(c[g>>2]|0)+12>>2]|0)+((c[(c[(c[g>>2]|0)+8>>2]|0)+((c[m>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[g>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2]=((c[n>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0)|0)/56|0;c[o>>2]=(c[(c[g>>2]|0)+12>>2]|0)+((c[(c[(c[g>>2]|0)+8>>2]|0)+((c[m>>2]^1)<<2)>>2]|0)*56|0);c[e>>2]=0}c[m>>2]=(c[m>>2]|0)/2|0}c[c[h>>2]>>2]=(c[(c[(c[g>>2]|0)+12>>2]|0)+((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[i>>2]|0)){p=d[(c[(c[k>>2]|0)+12>>2]|0)+11>>0]|0;l=q;return p|0}else{p=c[i>>2]|0;l=q;return p|0}return 0}function YH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+32|0;b=f+20|0;e=f+16|0;d=f;c[b>>2]=a;c[e>>2]=0;a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+24>>2]|0)){c[e>>2]=cI(a)|0;a=(c[b>>2]|0)+32|0;d=(c[b>>2]|0)+32+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];a=(c[b>>2]|0)+32+8|0;d=(c[b>>2]|0)+8|0;if(!((c[a>>2]|0)==(c[d>>2]|0)?(c[a+4>>2]|0)==(c[d+4>>2]|0):0)){e=c[e>>2]|0;l=f;return e|0}c[(c[b>>2]|0)+20>>2]=1;e=c[e>>2]|0;l=f;return e|0}c[e>>2]=ws(c[a>>2]|0)|0;if(!(c[e>>2]|0)){a=(c[b>>2]|0)+32|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];a=(c[b>>2]|0)+32|0;g=(c[b>>2]|0)+32+16|0;c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];a=(c[b>>2]|0)+32+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2]}if(c[e>>2]|0){g=c[e>>2]|0;l=f;return g|0}d=(c[b>>2]|0)+32+8|0;g=(c[b>>2]|0)+8|0;a=c[b>>2]|0;if((c[d>>2]|0)==(c[g>>2]|0)?(c[d+4>>2]|0)==(c[g+4>>2]|0):0){c[a+20>>2]=1;g=c[e>>2]|0;l=f;return g|0}else{c[e>>2]=bI(a)|0;g=c[e>>2]|0;l=f;return g|0}return 0}function ZH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;d=p;c[d>>2]=e;c[d+4>>2]=f;c[g>>2]=0;if(Kq(201)|0){c[k>>2]=266;p=c[k>>2]|0;l=q;return p|0}if(c[(c[n>>2]|0)+44>>2]|0){on(c[(c[n>>2]|0)+24>>2]|0,0,0,c[(c[n>>2]|0)+44>>2]|0)|0;c[(c[n>>2]|0)+44>>2]=0}f=c[p+4>>2]|0;e=c[n>>2]|0;c[e>>2]=c[p>>2];c[e+4>>2]=f;e=(c[o>>2]|0)+8|0;f=c[e+4>>2]|0;p=(c[n>>2]|0)+8|0;c[p>>2]=c[e>>2];c[p+4>>2]=f;c[(c[n>>2]|0)+24>>2]=c[c[o>>2]>>2];c[g>>2]=aI(c[m>>2]|0,c[o>>2]|0,(c[n>>2]|0)+44|0)|0;if((c[g>>2]|0)==0?(c[(c[n>>2]|0)+44>>2]|0)==0:0){c[h>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+12>>2];o=c[n>>2]|0;p=c[h>>2]|0;p=c0(c[o>>2]|0,c[o+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[i>>2]=p;if(!(c[(c[n>>2]|0)+36>>2]|0)){p=c[h>>2]|0;p=Fd(p,((p|0)<0)<<31>>31)|0;c[(c[n>>2]|0)+36>>2]=p;if(!(c[(c[n>>2]|0)+36>>2]|0))c[g>>2]=7;c[(c[n>>2]|0)+40>>2]=c[h>>2]}if((c[g>>2]|0)==0&(c[i>>2]|0)!=0){c[j>>2]=(c[h>>2]|0)-(c[i>>2]|0);f=c[n>>2]|0;o=c[j>>2]|0;o=_$(c[f>>2]|0,c[f+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;f=D;p=(c[n>>2]|0)+8|0;m=c[p+4>>2]|0;if((f|0)>(m|0)|((f|0)==(m|0)?o>>>0>(c[p>>2]|0)>>>0:0)){o=(c[n>>2]|0)+8|0;p=c[n>>2]|0;p=Z$(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[j>>2]=p}p=c[n>>2]|0;c[g>>2]=$m(c[(c[n>>2]|0)+24>>2]|0,(c[(c[n>>2]|0)+36>>2]|0)+(c[i>>2]|0)|0,c[j>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}c[k>>2]=c[g>>2];p=c[k>>2]|0;l=q;return p|0}function _H(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;j=p+32|0;k=p+8|0;m=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;b=c[g>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(yp((c[b+44>>2]|0)+(c[c[g>>2]>>2]|0)|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=_$(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=D}else{e=c[(c[g>>2]|0)+40>>2]|0;e=c0(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;c[i>>2]=e;if(c[i>>2]|0?((c[(c[g>>2]|0)+40>>2]|0)-(c[i>>2]|0)|0)>=9:0){n=(yp((c[(c[g>>2]|0)+36>>2]|0)+(c[i>>2]|0)|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=_$(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=D;break}c[m>>2]=0;while(1){c[n>>2]=$H(c[g>>2]|0,1,k)|0;if(c[n>>2]|0)break;e=a[c[k>>2]>>0]|0;i=c[m>>2]|0;c[m>>2]=i+1;a[j+(i&15)>>0]=e;if(!((d[c[k>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){yp(j,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];o=c[f>>2]|0;l=p;return o|0}while(0);c[f>>2]=0;o=c[f>>2]|0;l=p;return o|0}function $H(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+64|0;n=u+52|0;o=u+48|0;p=u+44|0;q=u+40|0;r=u+36|0;s=u+32|0;f=u+28|0;e=u+24|0;g=u+20|0;h=u+16|0;i=u+12|0;j=u+8|0;k=u+4|0;m=u;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;a=c[o>>2]|0;if(c[(c[o>>2]|0)+44>>2]|0){c[c[q>>2]>>2]=(c[a+44>>2]|0)+(c[c[o>>2]>>2]|0);s=c[p>>2]|0;t=c[o>>2]|0;r=t;s=_$(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=D;c[n>>2]=0;t=c[n>>2]|0;l=u;return t|0}b=a;d=c[(c[o>>2]|0)+40>>2]|0;d=c0(c[b>>2]|0,c[b+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[r>>2]=d;if(!(c[r>>2]|0)){w=(c[o>>2]|0)+8|0;b=c[o>>2]|0;b=Z$(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;w=D;d=c[(c[o>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;a=c[o>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&b>>>0>d>>>0)c[f>>2]=c[a+40>>2];else{v=a+8|0;w=c[o>>2]|0;w=Z$(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[f>>2]=w}w=c[o>>2]|0;c[e>>2]=$m(c[(c[o>>2]|0)+24>>2]|0,c[(c[o>>2]|0)+36>>2]|0,c[f>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[e>>2]|0){c[n>>2]=c[e>>2];w=c[n>>2]|0;l=u;return w|0}}c[s>>2]=(c[(c[o>>2]|0)+40>>2]|0)-(c[r>>2]|0);a=c[o>>2]|0;do if((c[p>>2]|0)<=(c[s>>2]|0)){c[c[q>>2]>>2]=(c[a+36>>2]|0)+(c[r>>2]|0);v=c[p>>2]|0;w=c[o>>2]|0;t=w;v=_$(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=D}else{do if((c[a+16>>2]|0)<(c[p>>2]|0)){if(128>(c[(c[o>>2]|0)+16>>2]<<1|0))a=128;else a=c[(c[o>>2]|0)+16>>2]<<1;c[i>>2]=a;while(1){if((c[p>>2]|0)<=(c[i>>2]|0))break;c[i>>2]=c[i>>2]<<1}w=c[i>>2]|0;c[h>>2]=ge(c[(c[o>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[h>>2]|0){c[(c[o>>2]|0)+16>>2]=c[i>>2];c[(c[o>>2]|0)+28>>2]=c[h>>2];break}c[n>>2]=7;w=c[n>>2]|0;l=u;return w|0}while(0);h0(c[(c[o>>2]|0)+28>>2]|0,(c[(c[o>>2]|0)+36>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0;v=c[s>>2]|0;w=c[o>>2]|0;r=w;v=_$(c[r>>2]|0,c[r+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=D;c[g>>2]=(c[p>>2]|0)-(c[s>>2]|0);while(1){if((c[g>>2]|0)<=0){t=27;break}c[k>>2]=c[g>>2];if((c[g>>2]|0)>(c[(c[o>>2]|0)+40>>2]|0))c[k>>2]=c[(c[o>>2]|0)+40>>2];c[j>>2]=$H(c[o>>2]|0,c[k>>2]|0,m)|0;if(c[j>>2]|0)break;h0((c[(c[o>>2]|0)+28>>2]|0)+((c[p>>2]|0)-(c[g>>2]|0))|0,c[m>>2]|0,c[k>>2]|0)|0;c[g>>2]=(c[g>>2]|0)-(c[k>>2]|0)}if((t|0)==27){c[c[q>>2]>>2]=c[(c[o>>2]|0)+28>>2];break}c[n>>2]=c[j>>2];w=c[n>>2]|0;l=u;return w|0}while(0);c[n>>2]=0;w=c[n>>2]|0;l=u;return w|0}function aI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;k=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;b=(c[e>>2]|0)+8|0;j=c[b+4>>2]|0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+24>>2]|0)+144>>2]|0;a=((d|0)<0)<<31>>31;if(!((j|0)<(a|0)|((j|0)==(a|0)?(c[b>>2]|0)>>>0<=d>>>0:0))){k=c[g>>2]|0;l=i;return k|0}c[h>>2]=c[c[e>>2]>>2];if((c[c[c[h>>2]>>2]>>2]|0)<3){k=c[g>>2]|0;l=i;return k|0}c[g>>2]=mn(c[h>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;k=c[g>>2]|0;l=i;return k|0}function bI(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=HH(c[c[e>>2]>>2]|0,195,c[d>>2]|0)|0;l=b;return a|0}function cI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+96|0;b=o+88|0;g=o+84|0;h=o+80|0;i=o+48|0;j=o+76|0;p=o+72|0;k=o+68|0;m=o+8|0;n=o+64|0;d=o+60|0;e=o+56|0;f=o;c[b>>2]=a;c[g>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=i;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[k>>2]=c[(c[b>>2]|0)+4>>2];a=i;LH(c[c[j>>2]>>2]|0,m,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[g>>2]|0)break;c[d>>2]=(c[(c[k>>2]|0)+12>>2]|0)+((c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[e>>2]=c[(c[d>>2]|0)+20>>2];r=m+24|0;q=c[m+16>>2]|0;q=_$(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=f;c[r>>2]=q;c[r+4>>2]=D;if(!(c[(c[d>>2]|0)+24>>2]|0))break;a=f;p=c[e>>2]|0;p=_$(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=D;q=c[e>>2]|0;q=jE(q,((q|0)<0)<<31>>31)|0;q=_$(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=D;p=i;r=c[(c[b>>2]|0)+16>>2]|0;r=_$(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=D;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[e>>2]|0;MH(m,r,((r|0)<0)<<31>>31);NH(m,c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);c[g>>2]=XH(c[(c[b>>2]|0)+4>>2]|0,n)|0}c[h>>2]=OH(m,(c[j>>2]|0)+8|0)|0;if(c[g>>2]|0){r=c[g>>2]|0;l=o;return r|0}c[g>>2]=c[h>>2];r=c[g>>2]|0;l=o;return r|0}function dI(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=cI(c[e>>2]|0)|0;c[(c[c[e>>2]>>2]|0)+4>>2]=1;l=d;return c[b>>2]|0}function eI(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;e=r+44|0;i=r+40|0;j=r+36|0;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;f=r+8|0;g=r+4|0;h=r;c[e>>2]=b;c[j>>2]=(c[e>>2]|0)+64;c[k>>2]=0;c[m>>2]=c[(c[(c[j>>2]|0)+8>>2]|0)+24>>2];c[o>>2]=QH(c[e>>2]|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0))break;c[(c[e>>2]|0)+64+((c[n>>2]|0)*72|0)+32>>2]=c[o>>2];c[n>>2]=(c[n>>2]|0)+1}c[i>>2]=fI(c[e>>2]|0,k)|0;do if(!(c[i>>2]|0)){if(!(a[(c[e>>2]|0)+57>>0]|0)){c[i>>2]=kI(c[j>>2]|0,c[k>>2]|0,0)|0;c[(c[e>>2]|0)+20>>2]=c[k>>2];c[k>>2]=0;break}c[q>>2]=0;c[f>>2]=(c[e>>2]|0)+64+(((d[(c[e>>2]|0)+59>>0]|0)-1|0)*72|0);c[i>>2]=PH(c[f>>2]|0)|0;if((c[i>>2]|0)==0?(c[q>>2]=_l(c[m>>2]|0,56,0)|0,c[(c[e>>2]|0)+16>>2]=c[q>>2],(c[q>>2]|0)==0):0)c[i>>2]=7;if(!(c[i>>2]|0)){c[i>>2]=gI(c[f>>2]|0,c[k>>2]|0,(c[q>>2]|0)+48|0)|0;a:do if(!(c[i>>2]|0)){hI(c[(c[q>>2]|0)+48>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=((d[(c[e>>2]|0)+59>>0]|0)-1|0))break;o=c[(c[(c[k>>2]|0)+12>>2]|0)+((c[p>>2]|0)*56|0)+48>>2]|0;c[g>>2]=o;if(o|0)hI(c[g>>2]|0);c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=0;while(1){if(c[i>>2]|0)break a;if((c[p>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0))break a;c[h>>2]=(c[(c[k>>2]|0)+12>>2]|0)+((c[p>>2]|0)*56|0);c[i>>2]=iI(c[h>>2]|0,1)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[k>>2]=0}if(!(c[i>>2]|0))c[i>>2]=jI(c[q>>2]|0,2)|0}while(0);if(!(c[i>>2]|0)){q=c[i>>2]|0;l=r;return q|0}ss(c[k>>2]|0);q=c[i>>2]|0;l=r;return q|0}function fI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;j=s+52|0;k=s+48|0;m=s+44|0;n=s+40|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;e=s;f=s+20|0;g=s+16|0;h=s+12|0;i=s+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=0;c[n>>2]=0;if((d[(c[j>>2]|0)+59>>0]|0|0)>1?(c[m>>2]=nI(d[(c[j>>2]|0)+59>>0]|0)|0,(c[m>>2]|0)==0):0)c[n>>2]=7;c[o>>2]=0;while(1){if(c[n>>2]|0)break;if((c[o>>2]|0)>=(d[(c[j>>2]|0)+59>>0]|0|0))break;c[p>>2]=(c[j>>2]|0)+64+((c[o>>2]|0)*72|0);do if(c[(c[p>>2]|0)+28>>2]|0){c[q>>2]=0;c[r>>2]=oI(c[(c[p>>2]|0)+28>>2]|0)|0;b=e;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[p>>2]|0)+28>>2]|0)<=16)c[n>>2]=pI(c[p>>2]|0,c[(c[p>>2]|0)+28>>2]|0,e,q)|0;else{c[g>>2]=0;c[q>>2]=nI(16)|0;if(!(c[q>>2]|0))c[n>>2]=7;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[p>>2]|0)+28>>2]|0)?(c[n>>2]|0)==0:0))break a;c[h>>2]=0;if(((c[(c[p>>2]|0)+28>>2]|0)-(c[f>>2]|0)|0)<16)a=(c[(c[p>>2]|0)+28>>2]|0)-(c[f>>2]|0)|0;else a=16;c[i>>2]=a;c[n>>2]=pI(c[p>>2]|0,c[i>>2]|0,e,h)|0;if(!(c[n>>2]|0)){t=c[p>>2]|0;a=c[r>>2]|0;b=c[g>>2]|0;c[g>>2]=b+1;c[n>>2]=qI(t,a,b,c[q>>2]|0,c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+16}}while(0);if(c[n>>2]|0){ss(c[q>>2]|0);break}if(c[m>>2]|0){c[n>>2]=gI(c[p>>2]|0,c[q>>2]|0,(c[(c[m>>2]|0)+12>>2]|0)+((c[o>>2]|0)*56|0)+48|0)|0;break}else{c[m>>2]=c[q>>2];break}}while(0);c[o>>2]=(c[o>>2]|0)+1}if(!(c[n>>2]|0)){r=c[m>>2]|0;t=c[k>>2]|0;c[t>>2]=r;t=c[n>>2]|0;l=s;return t|0}ss(c[m>>2]|0);c[m>>2]=0;r=c[m>>2]|0;t=c[k>>2]|0;c[t>>2]=r;t=c[n>>2]|0;l=s;return t|0}function gI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(Kq(100)|0)a=0;else a=Xg(64,0)|0;c[c[f>>2]>>2]=a;c[i>>2]=a;a=c[e>>2]|0;if(!(c[i>>2]|0)){ss(a);c[h>>2]=7;i=c[h>>2]|0;l=j;return i|0}c[(c[i>>2]|0)+4>>2]=a;c[c[i>>2]>>2]=c[g>>2];a=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))a=(c[a+8>>2]|0)+9|0;else a=(c[a+4>>2]|0)/2|0;c[(c[i>>2]|0)+16>>2]=a;f=c[(c[i>>2]|0)+16>>2]|0;i=(c[g>>2]|0)+56+8|0;g=i;g=_$(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[i>>2]=g;c[i+4>>2]=D;i=c[h>>2]|0;l=j;return i|0}function hI(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b;c[e>>2]=a;c[(c[e>>2]|0)+24>>2]=1;d=c[(c[e>>2]|0)+16>>2]|0;a=(c[c[e>>2]>>2]|0)+56+8|0;e=a;d=Z$(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[a>>2]=d;c[a+4>>2]=D;l=b;return}function iI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+48>>2];c[g>>2]=0;if(!(c[f>>2]|0)){h=c[g>>2]|0;l=i;return h|0}a=c[d>>2]|0;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=a;c[g>>2]=HH(c[c[f>>2]>>2]|0,196,c[h>>2]|0)|0;h=c[g>>2]|0;l=i;return h|0}else{c[g>>2]=jI(a,c[e>>2]|0)|0;h=c[g>>2]|0;l=i;return h|0}return 0}function jI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=c[c[g>>2]>>2];c[i>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[f>>2]=kI(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[e>>2]|0)|0;do if(!(c[f>>2]|0)){c[j>>2]=c[(c[g>>2]|0)+16>>2];if(c[(c[g>>2]|0)+24>>2]|0){h=c[j>>2]|0;c[f>>2]=JH(c[i>>2]|0,h,((h|0)<0)<<31>>31,(c[g>>2]|0)+32|0)|0;if(c[f>>2]|0)break;j=c[j>>2]|0;c[f>>2]=JH(c[i>>2]|0,j,((j|0)<0)<<31>>31,(c[g>>2]|0)+32+16|0)|0;break}if(!(c[(c[h>>2]|0)+56>>2]|0)){b=(c[h>>2]|0)+56+8|0;c[f>>2]=JH(c[i>>2]|0,c[b>>2]|0,c[b+4>>2]|0,(c[h>>2]|0)+56|0)|0;i=(c[h>>2]|0)+56+8|0;c[i>>2]=0;c[i+4>>2]=0}if(!(c[f>>2]|0)){c[(c[g>>2]|0)+32+16>>2]=c[(c[h>>2]|0)+56>>2];a=(c[h>>2]|0)+56+8|0;b=c[a+4>>2]|0;i=(c[g>>2]|0)+8|0;c[i>>2]=c[a>>2];c[i+4>>2]=b;i=c[j>>2]|0;j=(c[h>>2]|0)+56+8|0;h=j;i=_$(c[h>>2]|0,c[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c[j>>2]=i;c[j+4>>2]=D}}while(0);if((c[f>>2]|0)==0?c[(c[g>>2]|0)+24>>2]|0:0)c[f>>2]=cI(c[g>>2]|0)|0;if(!((c[f>>2]|0)==0&(c[e>>2]|0)!=1)){j=c[f>>2]|0;l=k;return j|0}c[f>>2]=WH(c[d>>2]|0)|0;j=c[f>>2]|0;l=k;return j|0}function kI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[j>>2]=0;c[m>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;a=c[(c[h>>2]|0)+12>>2]|0;if((c[i>>2]|0)==2)c[j>>2]=WH(a+(((c[m>>2]|0)-(c[k>>2]|0)-1|0)*56|0)|0)|0;else c[j>>2]=iI(a+((c[k>>2]|0)*56|0)|0,0)|0;if(c[j>>2]|0){n=7;break}c[k>>2]=(c[k>>2]|0)+1}if((n|0)==7){c[f>>2]=c[j>>2];n=c[f>>2]|0;l=o;return n|0}c[k>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[k>>2]|0)<=0)break;lI(c[h>>2]|0,c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];n=c[f>>2]|0;l=o;return n|0}function lI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+36|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;d=o+4|0;e=o;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>=((c[c[f>>2]>>2]|0)/2|0|0)){c[h>>2]=(c[g>>2]|0)-((c[c[f>>2]>>2]|0)/2|0)<<1;c[i>>2]=(c[h>>2]|0)+1}else{c[h>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+(c[g>>2]<<1<<2)>>2];c[i>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+((c[g>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[i>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[m>>2]|0)+24>>2]|0)){c[j>>2]=c[h>>2];break}c[n>>2]=c[(c[f>>2]|0)+4>>2];c[d>>2]=0;c[e>>2]=Gb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,d,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if((c[e>>2]|0)<=0){c[j>>2]=c[h>>2];break}else{c[j>>2]=c[i>>2];break}}else c[j>>2]=c[i>>2];while(0);c[(c[(c[f>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];l=o;return}function mI(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=jI(c[e>>2]|0,1)|0;c[(c[c[(c[e>>2]|0)+48>>2]>>2]|0)+4>>2]=1;l=d;return c[b>>2]|0}function nI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(Kq(100)|0)a=0;else{a=c[d>>2]|0;a=Xg(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;l=g;return f|0}function oI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;i=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((i|0)<(h|0)|((i|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=r0(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;i=e;c[i>>2]=h;c[i+4>>2]=D;c[d>>2]=(c[d>>2]|0)+1}l=f;return c[d>>2]|0}function pI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+44|0;k=q+40|0;m=q+36|0;n=q+32|0;o=q+28|0;p=q+8|0;f=q+24|0;g=q+20|0;h=q;i=q+16|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;b=c[m>>2]|0;d=c[b+4>>2]|0;e=p;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[g>>2]=0;e=nI(c[k>>2]|0)|0;c[o>>2]=e;c[c[n>>2]>>2]=e;if(!(c[o>>2]|0))c[g>>2]=7;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[k>>2]|0)?(c[g>>2]|0)==0:0))break;b=h;c[b>>2]=0;c[b+4>>2]=0;c[i>>2]=(c[(c[o>>2]|0)+12>>2]|0)+((c[f>>2]|0)*56|0);b=p;c[g>>2]=rI(c[j>>2]|0,(c[j>>2]|0)+40|0,c[b>>2]|0,c[b+4>>2]|0,c[i>>2]|0,h)|0;b=(c[i>>2]|0)+8|0;d=c[b+4>>2]|0;e=p;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[f>>2]=(c[f>>2]|0)+1}if(!(c[g>>2]|0)){o=p;k=o;k=c[k>>2]|0;o=o+4|0;o=c[o>>2]|0;p=c[m>>2]|0;n=p;c[n>>2]=k;p=p+4|0;c[p>>2]=o;p=c[g>>2]|0;l=q;return p|0}ss(c[o>>2]|0);c[c[n>>2]>>2]=0;o=p;k=o;k=c[k>>2]|0;o=o+4|0;o=c[o>>2]|0;p=c[m>>2]|0;n=p;c[n>>2]=k;p=p+4|0;c[p>>2]=o;p=c[g>>2]|0;l=q;return p|0}function qI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+64|0;n=s+48|0;o=s+44|0;r=s+40|0;u=s+36|0;t=s+32|0;p=s+28|0;g=s+24|0;h=s+20|0;q=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;m=s;c[n>>2]=a;c[o>>2]=b;c[r>>2]=d;c[u>>2]=e;c[t>>2]=f;c[p>>2]=0;c[g>>2]=1;c[q>>2]=c[u>>2];c[p>>2]=gI(c[n>>2]|0,c[t>>2]|0,i)|0;c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[o>>2]|0))break;c[g>>2]=c[g>>2]<<4;c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=1;while(1){if(!((c[h>>2]|0)<(c[o>>2]|0)?(c[p>>2]|0)==0:0))break;c[j>>2]=((c[r>>2]|0)/(c[g>>2]|0)|0|0)%16|0;c[k>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0);do if(!(c[(c[k>>2]|0)+48>>2]|0)){c[m>>2]=nI(16)|0;if(!(c[m>>2]|0)){c[p>>2]=7;break}else{c[p>>2]=gI(c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+48|0)|0;break}}while(0);if(!(c[p>>2]|0)){c[q>>2]=c[(c[(c[k>>2]|0)+48>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)/16|0}c[h>>2]=(c[h>>2]|0)+1}a=c[i>>2]|0;if(!(c[p>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[r>>2]|0)%16|0)*56|0)+48>>2]=a;u=c[p>>2]|0;l=s;return u|0}else{vs(a);u=c[p>>2]|0;l=s;return u|0}return 0}function rI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+48|0;o=m+32|0;n=m+28|0;p=m+8|0;k=m+24|0;h=m+20|0;i=m+16|0;j=m;c[o>>2]=a;c[n>>2]=b;b=p;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;c[h>>2]=g;g=p;c[i>>2]=ZH(c[o>>2]|0,c[k>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[i>>2]|0)){o=j;c[o>>2]=0;c[o+4>>2]=0;c[i>>2]=_H(c[k>>2]|0,j)|0;o=c[k>>2]|0;p=j;p=_$(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[k>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=D;o=j;p=c[h>>2]|0;n=p;o=_$(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=D}if(c[i>>2]|0){p=c[i>>2]|0;l=m;return p|0}c[i>>2]=WH(c[k>>2]|0)|0;p=c[i>>2]|0;l=m;return p|0}function sI(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function tI(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=uI(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;l=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;l=f;return g|0}function uI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;if((d[(c[f>>2]|0)+66>>0]|0|0)>=3)a=SD(c[f>>2]|0)|0;else a=0;c[h>>2]=a;if(c[h>>2]|0){c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}else{c[c[g>>2]>>2]=(d[(c[f>>2]|0)+66>>0]|0|0)!=1?1:0;c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}return 0}function vI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(!(a[(c[e>>2]|0)+56>>0]|0)){c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;l=i;return h|0}d=c[e>>2]|0;if(a[b+57>>0]|0)c[h>>2]=c[d+16>>2];else c[h>>2]=(c[(c[d+20>>2]|0)+12>>2]|0)+((c[(c[(c[(c[e>>2]|0)+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;l=i;return h|0}function wI(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;n=t+32|0;o=t+28|0;p=t+24|0;q=t+20|0;r=t+16|0;s=t+12|0;j=t+8|0;k=t+4|0;m=t;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;if(c[c[q>>2]>>2]|0){l=t;return}c[s>>2]=c[(c[n>>2]|0)+56>>2];c[j>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);c[r>>2]=(d[c[j>>2]>>0]|0)<<8|(d[(c[j>>2]|0)+1>>0]|0);c[m>>2]=d[(c[n>>2]|0)+5>>0];if((c[r>>2]|0)>>>0>=((d[(c[s>>2]|0)+((c[m>>2]|0)+5)>>0]|0)<<8|(d[(c[s>>2]|0)+((c[m>>2]|0)+5)+1>>0]|0))>>>0?((c[r>>2]|0)+(c[p>>2]|0)|0)>>>0<=(c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[k>>2]=PI(c[n>>2]|0,c[r>>2]&65535,c[p>>2]&65535)|0;if(c[k>>2]|0){c[c[q>>2]>>2]=c[k>>2];l=t;return}r=(c[n>>2]|0)+18|0;b[r>>1]=(b[r>>1]|0)+-1<<16>>16;if(!(e[(c[n>>2]|0)+18>>1]|0)){r=(c[s>>2]|0)+((c[m>>2]|0)+1)|0;a[r>>0]=0;a[r+1>>0]=0;a[r+2>>0]=0;a[r+3>>0]=0;a[(c[s>>2]|0)+((c[m>>2]|0)+7)>>0]=0;a[(c[s>>2]|0)+((c[m>>2]|0)+5)>>0]=(c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[s>>2]|0)+((c[m>>2]|0)+5)+1>>0]=c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2];b[(c[n>>2]|0)+16>>1]=(c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[n>>2]|0)+5>>0]|0)-(d[(c[n>>2]|0)+6>>0]|0)-8;l=t;return}else{k0(c[j>>2]|0,(c[j>>2]|0)+2|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[(c[s>>2]|0)+((c[m>>2]|0)+3)>>0]=(e[(c[n>>2]|0)+18>>1]|0)>>8;a[(c[s>>2]|0)+((c[m>>2]|0)+3)+1>>0]=b[(c[n>>2]|0)+18>>1];s=(c[n>>2]|0)+16|0;b[s>>1]=(e[s>>1]|0)+2;l=t;return}}s=kn(64508)|0;c[c[q>>2]>>2]=s;l=t;return}function xI(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+48|0;w=z+44|0;x=z+40|0;y=z+36|0;n=z+32|0;o=z+28|0;p=z+24|0;q=z+20|0;r=z+16|0;s=z+12|0;t=z+8|0;u=z+4|0;v=z;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[n>>2]=i;c[o>>2]=j;c[p>>2]=k;c[q>>2]=m;c[r>>2]=0;if((d[(c[w>>2]|0)+1>>0]|0)==0?((c[n>>2]|0)+2|0)<=(e[(c[w>>2]|0)+16>>1]|0):0){c[v>>2]=Jn(c[(c[w>>2]|0)+72>>2]|0)|0;if(c[v>>2]|0){c[c[q>>2]>>2]=c[v>>2];l=z;return}c[t>>2]=c[(c[w>>2]|0)+56>>2];c[v>>2]=RI(c[w>>2]|0,c[n>>2]|0,r)|0;if(c[v>>2]|0){c[c[q>>2]>>2]=c[v>>2];l=z;return}m=(c[w>>2]|0)+16|0;b[m>>1]=(e[m>>1]|0)-(2+(c[n>>2]|0)&65535);h0((c[t>>2]|0)+(c[r>>2]|0)|0,c[y>>2]|0,c[n>>2]|0)|0;if(c[p>>2]|0)Nn((c[t>>2]|0)+(c[r>>2]|0)|0,c[p>>2]|0);c[u>>2]=(c[(c[w>>2]|0)+64>>2]|0)+(c[x>>2]<<1);k0((c[u>>2]|0)+2|0,c[u>>2]|0,(e[(c[w>>2]|0)+18>>1]|0)-(c[x>>2]|0)<<1|0)|0;a[c[u>>2]>>0]=c[r>>2]>>8;a[(c[u>>2]|0)+1>>0]=c[r>>2];m=(c[w>>2]|0)+18|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;m=(c[t>>2]|0)+((d[(c[w>>2]|0)+5>>0]|0)+4)|0;x=(a[m>>0]|0)+1<<24>>24;a[m>>0]=x;if(!(x&255)){x=(c[t>>2]|0)+((d[(c[w>>2]|0)+5>>0]|0)+3)|0;a[x>>0]=(a[x>>0]|0)+1<<24>>24}if(!(a[(c[(c[w>>2]|0)+52>>2]|0)+17>>0]|0)){l=z;return}jq(c[w>>2]|0,c[y>>2]|0,c[q>>2]|0);l=z;return}if(c[o>>2]|0){h0(c[o>>2]|0,c[y>>2]|0,c[n>>2]|0)|0;c[y>>2]=c[o>>2]}if(c[p>>2]|0)Nn(c[y>>2]|0,c[p>>2]|0);k=(c[w>>2]|0)+1|0;m=a[k>>0]|0;a[k>>0]=m+1<<24>>24;c[s>>2]=m&255;c[(c[w>>2]|0)+32+(c[s>>2]<<2)>>2]=c[y>>2];b[(c[w>>2]|0)+22+(c[s>>2]<<1)>>1]=c[x>>2];l=z;return}function yI(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;g=r+32|0;i=r+28|0;j=r+24|0;k=r+36|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;h=r;c[g>>2]=f;c[i>>2]=0;c[j>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[n>>2]=a[(c[g>>2]|0)+68>>0];c[o>>2]=c[(c[g>>2]|0)+120+(c[n>>2]<<2)>>2];f=a[(c[o>>2]|0)+1>>0]|0;if(!(c[n>>2]|0)){if(!(f<<24>>24))break;c[i>>2]=zI(c[o>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[i>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[o>>2]|0)+16>>1]|0)<=(c[j>>2]|0):0)break;c[p>>2]=c[(c[g>>2]|0)+120+((c[n>>2]|0)-1<<2)>>2];c[q>>2]=e[(c[g>>2]|0)+80+((c[n>>2]|0)-1<<1)>>1];c[i>>2]=Jn(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[i>>2]|0)){if((((d[(c[o>>2]|0)+3>>0]|0?(d[(c[o>>2]|0)+1>>0]|0)==1:0)?(e[(c[o>>2]|0)+22>>1]|0)==(e[(c[o>>2]|0)+18>>1]|0):0)?(c[(c[p>>2]|0)+84>>2]|0)!=1:0)?(e[(c[p>>2]|0)+18>>1]|0)==(c[q>>2]|0):0){c[i>>2]=AI(c[p>>2]|0,c[o>>2]|0,k)|0;break}c[h>>2]=yl(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[i>>2]=BI(c[p>>2]|0,c[q>>2]|0,c[h>>2]|0,(c[n>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)Bl(c[m>>2]|0);c[m>>2]=c[h>>2]}while(0);a[(c[o>>2]|0)+1>>0]=0;cq(c[o>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while(!(c[i>>2]|0));if(!(c[m>>2]|0)){q=c[i>>2]|0;l=r;return q|0}Bl(c[m>>2]|0);q=c[i>>2]|0;l=r;return q|0}function zI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[(c[g>>2]|0)+52>>2];c[i>>2]=Jn(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[i>>2]|0)==0?(c[i>>2]=bq(c[m>>2]|0,j,k,c[(c[g>>2]|0)+84>>2]|0,0)|0,HI(c[g>>2]|0,c[j>>2]|0,i),a[(c[m>>2]|0)+17>>0]|0):0)hq(c[m>>2]|0,c[k>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,i);if(c[i>>2]|0){c[c[h>>2]>>2]=0;cq(c[j>>2]|0);c[f>>2]=c[i>>2];m=c[f>>2]|0;l=n;return m|0}else{h0((c[j>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;h0((c[j>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[j>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;Tq(c[g>>2]|0,d[c[(c[j>>2]|0)+56>>2]>>0]&-9);Nn((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[k>>2]|0);c[c[h>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}return 0}function AI(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;o=v+40|0;p=v+36|0;q=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;i=v+12|0;j=v+8|0;k=v+4|0;m=v+44|0;n=v;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=c[(c[q>>2]|0)+52>>2];if(!(e[(c[q>>2]|0)+18>>1]|0)){c[o>>2]=kn(65006)|0;u=c[o>>2]|0;l=v;return u|0}c[u>>2]=bq(c[s>>2]|0,t,i,0,0)|0;if(!(c[u>>2]|0)){c[j>>2]=(c[r>>2]|0)+4;c[k>>2]=c[(c[q>>2]|0)+32>>2];b[m>>1]=Mb[c[(c[q>>2]|0)+76>>2]&255](c[q>>2]|0,c[k>>2]|0)|0;Tq(c[t>>2]|0,13);c[u>>2]=NI(c[t>>2]|0,1,k,m)|0;if(c[u>>2]|0){c[o>>2]=c[u>>2];u=c[o>>2]|0;l=v;return u|0}b[(c[t>>2]|0)+16>>1]=(c[(c[s>>2]|0)+36>>2]|0)-(e[(c[t>>2]|0)+14>>1]|0)-2-(e[m>>1]|0);if(a[(c[s>>2]|0)+17>>0]|0?(hq(c[s>>2]|0,c[i>>2]|0,5,c[(c[p>>2]|0)+84>>2]|0,u),(e[m>>1]|0)>(e[(c[t>>2]|0)+12>>1]|0)):0)jq(c[t>>2]|0,c[k>>2]|0,u);c[k>>2]=(c[(c[q>>2]|0)+56>>2]|0)+(e[(c[q>>2]|0)+20>>1]&(d[(c[(c[q>>2]|0)+64>>2]|0)+((e[(c[q>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[q>>2]|0)+64>>2]|0)+((e[(c[q>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[n>>2]=(c[k>>2]|0)+9;do{s=c[k>>2]|0;c[k>>2]=s+1;if(!(d[s>>0]&128))break}while((c[k>>2]|0)>>>0<(c[n>>2]|0)>>>0);c[n>>2]=(c[k>>2]|0)+9;do{s=c[k>>2]|0;c[k>>2]=s+1;s=a[s>>0]|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=s;if(!(s&128))break}while((c[k>>2]|0)>>>0<(c[n>>2]|0)>>>0);if(!(c[u>>2]|0))xI(c[p>>2]|0,e[(c[p>>2]|0)+18>>1]|0,c[r>>2]|0,(c[j>>2]|0)-(c[r>>2]|0)|0,0,c[(c[q>>2]|0)+84>>2]|0,u);Nn((c[(c[p>>2]|0)+56>>2]|0)+((d[(c[p>>2]|0)+5>>0]|0)+8)|0,c[i>>2]|0);cq(c[t>>2]|0)}c[o>>2]=c[u>>2];u=c[o>>2]|0;l=v;return u|0}function BI(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=l;l=l+448|0;va=Da+412|0;wa=Da+408|0;k=Da+404|0;fa=Da+400|0;Ca=Da+396|0;C=Da+392|0;ga=Da+388|0;n=Da+384|0;ha=Da+380|0;ia=Da+376|0;ja=Da+372|0;D=Da+368|0;E=Da+364|0;F=Da+360|0;ka=Da+356|0;la=Da+430|0;ma=Da+352|0;na=Da+348|0;G=Da+344|0;o=Da+340|0;H=Da+336|0;p=Da+332|0;oa=Da+320|0;pa=Da+300|0;I=Da+296|0;q=Da+288|0;qa=Da+264|0;ra=Da+244|0;sa=Da+224|0;r=Da+220|0;J=Da+216|0;ta=Da+432|0;K=Da+196|0;L=Da+176|0;M=Da+420|0;ua=Da+160|0;m=Da+152|0;s=Da+148|0;t=Da+144|0;u=Da+140|0;v=Da+418|0;w=Da+136|0;x=Da+132|0;y=Da+416|0;z=Da+128|0;A=Da+124|0;B=Da+120|0;N=Da+116|0;O=Da+112|0;P=Da+108|0;Q=Da+104|0;R=Da+100|0;S=Da+96|0;T=Da+92|0;U=Da+88|0;V=Da+84|0;W=Da+80|0;X=Da+76|0;Y=Da+72|0;Z=Da+68|0;_=Da+64|0;$=Da+60|0;aa=Da+56|0;ba=Da+52|0;ca=Da+48|0;da=Da+44|0;ea=Da;xa=Da+40|0;ya=Da+36|0;za=Da+32|0;Aa=Da+28|0;Ba=Da+24|0;c[wa>>2]=f;c[k>>2]=g;c[fa>>2]=h;c[Ca>>2]=i;c[C>>2]=j;c[n>>2]=0;c[ha>>2]=0;c[ka>>2]=0;c[o>>2]=0;c[H>>2]=0;a[ta>>0]=0;a[ta+1>>0]=0;a[ta+2>>0]=0;a[ta+3>>0]=0;a[ta+4>>0]=0;c[ua>>2]=0;c[ua+8>>2]=0;c[ga>>2]=c[(c[wa>>2]|0)+52>>2];if(!(c[fa>>2]|0)){c[va>>2]=7;Ca=c[va>>2]|0;l=Da;return Ca|0}c[ja>>2]=(d[(c[wa>>2]|0)+1>>0]|0)+(e[(c[wa>>2]|0)+18>>1]|0);if((c[ja>>2]|0)<2)c[F>>2]=0;else{do if(c[k>>2]|0)if((c[k>>2]|0)==(c[ja>>2]|0)){c[F>>2]=(c[ja>>2]|0)-2+(c[C>>2]|0);break}else{c[F>>2]=(c[k>>2]|0)-1;break}else c[F>>2]=0;while(0);c[ja>>2]=2-(c[C>>2]|0)}c[ia>>2]=(c[ja>>2]|0)+1;f=c[(c[wa>>2]|0)+56>>2]|0;g=c[wa>>2]|0;if(((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)|0)==(e[(c[wa>>2]|0)+18>>1]|0))c[I>>2]=f+((d[g+5>>0]|0)+8);else c[I>>2]=f+(e[g+20>>1]&(d[(c[(c[wa>>2]|0)+64>>2]|0)+((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[wa>>2]|0)+64>>2]|0)+((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)<<1)+1>>0]));c[J>>2]=Vl(c[I>>2]|0)|0;while(1){c[ka>>2]=WD(c[ga>>2]|0,c[J>>2]|0,oa+(c[ja>>2]<<2)|0,0,0)|0;if(c[ka>>2]|0){g=16;break}c[n>>2]=(c[n>>2]|0)+(1+(e[(c[oa+(c[ja>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[oa+(c[ja>>2]<<2)>>2]|0)+1>>0]|0));k=c[ja>>2]|0;c[ja>>2]=k+-1;if(!k){g=26;break}if(((c[ja>>2]|0)+(c[F>>2]|0)|0)==(e[(c[wa>>2]|0)+22>>1]|0)?d[(c[wa>>2]|0)+1>>0]|0:0){c[q+(c[ja>>2]<<2)>>2]=c[(c[wa>>2]|0)+32>>2];c[J>>2]=Vl(c[q+(c[ja>>2]<<2)>>2]|0)|0;k=(Mb[c[(c[wa>>2]|0)+76>>2]&255](c[wa>>2]|0,c[q+(c[ja>>2]<<2)>>2]|0)|0)&65535;c[sa+(c[ja>>2]<<2)>>2]=k;a[(c[wa>>2]|0)+1>>0]=0;continue}c[q+(c[ja>>2]<<2)>>2]=(c[(c[wa>>2]|0)+56>>2]|0)+(e[(c[wa>>2]|0)+20>>1]&(d[(c[(c[wa>>2]|0)+64>>2]|0)+((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[wa>>2]|0)+64>>2]|0)+((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)<<1)+1>>0]));c[J>>2]=Vl(c[q+(c[ja>>2]<<2)>>2]|0)|0;k=(Mb[c[(c[wa>>2]|0)+76>>2]&255](c[wa>>2]|0,c[q+(c[ja>>2]<<2)>>2]|0)|0)&65535;c[sa+(c[ja>>2]<<2)>>2]=k;if(e[(c[ga>>2]|0)+22>>1]&4|0){c[m>>2]=(c[q+(c[ja>>2]<<2)>>2]|0)-(c[(c[wa>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[sa+(c[ja>>2]<<2)>>2]|0)|0)>(c[(c[ga>>2]|0)+36>>2]|0)){g=23;break}h0((c[fa>>2]|0)+(c[m>>2]|0)|0,c[q+(c[ja>>2]<<2)>>2]|0,c[sa+(c[ja>>2]<<2)>>2]|0)|0;c[q+(c[ja>>2]<<2)>>2]=(c[fa>>2]|0)+((c[q+(c[ja>>2]<<2)>>2]|0)-(c[(c[wa>>2]|0)+56>>2]|0))}wI(c[wa>>2]|0,(c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)|0,c[sa+(c[ja>>2]<<2)>>2]|0,ka)}a:do if((g|0)==16)m0(oa|0,0,(c[ja>>2]|0)+1<<2|0)|0;else if((g|0)==23){c[ka>>2]=kn(65347)|0;m0(oa|0,0,(c[ja>>2]|0)+1<<2|0)|0}else if((g|0)==26){c[n>>2]=(c[n>>2]|0)+3&-4;c[p>>2]=(c[n>>2]<<2)+(c[n>>2]<<1)+(c[(c[ga>>2]|0)+32>>2]|0);c[ua+8>>2]=CI(c[p>>2]|0)|0;if(!(c[ua+8>>2]|0)){c[ka>>2]=7;break}c[ua+12>>2]=(c[ua+8>>2]|0)+(c[n>>2]<<2);c[r>>2]=(c[ua+12>>2]|0)+(c[n>>2]<<1);c[ua+4>>2]=c[oa>>2];b[la>>1]=d[(c[ua+4>>2]|0)+4>>0]<<2;c[ma>>2]=d[(c[ua+4>>2]|0)+3>>0];c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ia>>2]|0))break;c[s>>2]=c[oa+(c[ja>>2]<<2)>>2];c[t>>2]=e[(c[s>>2]|0)+18>>1];c[u>>2]=c[(c[s>>2]|0)+56>>2];b[v>>1]=b[(c[s>>2]|0)+20>>1]|0;c[w>>2]=(c[u>>2]|0)+(e[(c[s>>2]|0)+14>>1]|0);if((d[c[(c[s>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[oa>>2]|0)+56>>2]>>0]|0)){g=31;break}m0((c[ua+12>>2]|0)+(c[ua>>2]<<1)|0,0,(c[t>>2]|0)+(d[(c[s>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[s>>2]|0)+1>>0]|0)>0){c[t>>2]=e[(c[s>>2]|0)+22>>1];c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[t>>2]|0))break;c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]=(c[u>>2]|0)+(e[v>>1]&(d[c[w>>2]>>0]<<8|d[(c[w>>2]|0)+1>>0]));c[w>>2]=(c[w>>2]|0)+2;c[ua>>2]=(c[ua>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(d[(c[s>>2]|0)+1>>0]|0))break b;c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]=c[(c[s>>2]|0)+32+(c[E>>2]<<2)>>2];c[ua>>2]=(c[ua>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+1}}while(0);c[x>>2]=(c[u>>2]|0)+(e[(c[s>>2]|0)+14>>1]|0)+(e[(c[s>>2]|0)+18>>1]<<1);while(1){if((c[w>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]=(c[u>>2]|0)+(e[v>>1]&(d[c[w>>2]>>0]<<8|d[(c[w>>2]|0)+1>>0]));c[w>>2]=(c[w>>2]|0)+2;c[ua>>2]=(c[ua>>2]|0)+1}c[ra+(c[ja>>2]<<2)>>2]=c[ua>>2];if(!(c[ma>>2]|0?1:(c[ja>>2]|0)>=((c[ia>>2]|0)-1|0))){b[y>>1]=c[sa+(c[ja>>2]<<2)>>2];b[(c[ua+12>>2]|0)+(c[ua>>2]<<1)>>1]=b[y>>1]|0;c[z>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(e[y>>1]|0);h0(c[z>>2]|0,c[q+(c[ja>>2]<<2)>>2]|0,e[y>>1]|0)|0;c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]=(c[z>>2]|0)+(e[la>>1]|0);b[(c[ua+12>>2]|0)+(c[ua>>2]<<1)>>1]=(e[(c[ua+12>>2]|0)+(c[ua>>2]<<1)>>1]|0)-(e[la>>1]|0);c:do if(a[(c[s>>2]|0)+4>>0]|0)while(1){if((e[(c[ua+12>>2]|0)+(c[ua>>2]<<1)>>1]|0)>=4)break c;n=c[r>>2]|0;p=c[o>>2]|0;c[o>>2]=p+1;a[n+p>>0]=0;p=(c[ua+12>>2]|0)+(c[ua>>2]<<1)|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16}else{p=c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]|0;n=(c[(c[s>>2]|0)+56>>2]|0)+8|0;a[p>>0]=a[n>>0]|0;a[p+1>>0]=a[n+1>>0]|0;a[p+2>>0]=a[n+2>>0]|0;a[p+3>>0]=a[n+3>>0]|0}while(0);c[ua>>2]=(c[ua>>2]|0)+1}c[ja>>2]=(c[ja>>2]|0)+1}if((g|0)==31){c[ka>>2]=kn(65414)|0;break}c[na>>2]=(c[(c[ga>>2]|0)+36>>2]|0)-12+(e[la>>1]|0);c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ia>>2]|0))break;c[A>>2]=c[oa+(c[ja>>2]<<2)>>2];c[sa+(c[ja>>2]<<2)>>2]=(c[na>>2]|0)-(e[(c[A>>2]|0)+16>>1]|0);if((c[sa+(c[ja>>2]<<2)>>2]|0)<0){g=52;break}c[D>>2]=0;while(1){if((c[D>>2]|0)>=(d[(c[A>>2]|0)+1>>0]|0))break;y=2+((Mb[c[(c[A>>2]|0)+76>>2]&255](c[A>>2]|0,c[(c[A>>2]|0)+32+(c[D>>2]<<2)>>2]|0)|0)&65535)|0;z=sa+(c[ja>>2]<<2)|0;c[z>>2]=(c[z>>2]|0)+y;c[D>>2]=(c[D>>2]|0)+1}c[qa+(c[ja>>2]<<2)>>2]=c[ra+(c[ja>>2]<<2)>>2];c[ja>>2]=(c[ja>>2]|0)+1}if((g|0)==52){c[ka>>2]=kn(65512)|0;break}c[E>>2]=c[ia>>2];c[ja>>2]=0;d:while(1){if((c[ja>>2]|0)>=(c[E>>2]|0)){g=83;break}while(1){if((c[sa+(c[ja>>2]<<2)>>2]|0)<=(c[na>>2]|0))break;if(((c[ja>>2]|0)+1|0)>=(c[E>>2]|0)){c[E>>2]=(c[ja>>2]|0)+2;if((c[E>>2]|0)>5){g=62;break d}c[sa+((c[E>>2]|0)-1<<2)>>2]=0;c[qa+((c[E>>2]|0)-1<<2)>>2]=c[ua>>2]}c[B>>2]=2+((DI(ua,(c[qa+(c[ja>>2]<<2)>>2]|0)-1|0)|0)&65535);A=sa+(c[ja>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[ma>>2]|0))if((c[qa+(c[ja>>2]<<2)>>2]|0)<(c[ua>>2]|0)){c[B>>2]=2+((DI(ua,c[qa+(c[ja>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=sa+((c[ja>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=qa+(c[ja>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[qa+(c[ja>>2]<<2)>>2]|0)>=(c[ua>>2]|0))break;c[B>>2]=2+((DI(ua,c[qa+(c[ja>>2]<<2)>>2]|0)|0)&65535);if(((c[sa+(c[ja>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[na>>2]|0))break;A=sa+(c[ja>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=qa+(c[ja>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[ma>>2]|0))if((c[qa+(c[ja>>2]<<2)>>2]|0)<(c[ua>>2]|0)){c[B>>2]=2+((DI(ua,c[qa+(c[ja>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=sa+((c[ja>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}f=c[ja>>2]|0;if((c[qa+(c[ja>>2]<<2)>>2]|0)<(c[ua>>2]|0)){if((c[ja>>2]|0)>0)g=c[qa+((c[ja>>2]|0)-1<<2)>>2]|0;else g=0;if((c[qa+(f<<2)>>2]|0)<=(g|0)){g=81;break}}else c[E>>2]=f+1;c[ja>>2]=(c[ja>>2]|0)+1}if((g|0)==62){c[ka>>2]=kn(65524)|0;break}else if((g|0)==81){c[ka>>2]=kn(65557)|0;break}else if((g|0)==83){c[ja>>2]=(c[E>>2]|0)-1;while(1){if((c[ja>>2]|0)<=0)break;c[N>>2]=c[sa+(c[ja>>2]<<2)>>2];c[O>>2]=c[sa+((c[ja>>2]|0)-1<<2)>>2];c[P>>2]=(c[qa+((c[ja>>2]|0)-1<<2)>>2]|0)-1;c[Q>>2]=(c[P>>2]|0)+1-(c[ma>>2]|0);DI(ua,c[Q>>2]|0)|0;do{DI(ua,c[P>>2]|0)|0;if(c[N>>2]|0){if(c[C>>2]|0)break;if(((c[N>>2]|0)+(e[(c[ua+12>>2]|0)+(c[Q>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ua+12>>2]|0)+(c[P>>2]<<1)>>1]|0)+((c[ja>>2]|0)==((c[E>>2]|0)-1|0)?0:2))|0))break}c[N>>2]=(c[N>>2]|0)+((e[(c[ua+12>>2]|0)+(c[Q>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ua+12>>2]|0)+(c[P>>2]<<1)>>1]|0)+2);c[qa+((c[ja>>2]|0)-1<<2)>>2]=c[P>>2];c[P>>2]=(c[P>>2]|0)+-1;c[Q>>2]=(c[Q>>2]|0)+-1}while((c[P>>2]|0)>=0);c[sa+(c[ja>>2]<<2)>>2]=c[N>>2];c[sa+((c[ja>>2]|0)-1<<2)>>2]=c[O>>2];if((c[ja>>2]|0)>1)f=c[qa+((c[ja>>2]|0)-2<<2)>>2]|0;else f=0;if((c[qa+((c[ja>>2]|0)-1<<2)>>2]|0)<=(f|0)){g=93;break}c[ja>>2]=(c[ja>>2]|0)+-1}if((g|0)==93){c[ka>>2]=kn(65599)|0;break}c[G>>2]=d[c[(c[oa>>2]|0)+56>>2]>>0];c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[E>>2]|0))break;if((c[ja>>2]|0)<(c[ia>>2]|0)){Q=c[oa+(c[ja>>2]<<2)>>2]|0;c[pa+(c[ja>>2]<<2)>>2]=Q;c[R>>2]=Q;c[oa+(c[ja>>2]<<2)>>2]=0;c[ka>>2]=Jn(c[(c[R>>2]|0)+72>>2]|0)|0;c[ha>>2]=(c[ha>>2]|0)+1;if(c[ka>>2]|0)break a}else{c[ka>>2]=bq(c[ga>>2]|0,R,J,c[C>>2]|0?1:c[J>>2]|0,0)|0;if(c[ka>>2]|0)break a;Tq(c[R>>2]|0,c[G>>2]|0);c[pa+(c[ja>>2]<<2)>>2]=c[R>>2];c[ha>>2]=(c[ha>>2]|0)+1;c[ra+(c[ja>>2]<<2)>>2]=c[ua>>2];if(a[(c[ga>>2]|0)+17>>0]|0?(hq(c[ga>>2]|0,c[(c[R>>2]|0)+84>>2]|0,5,c[(c[wa>>2]|0)+84>>2]|0,ka),c[ka>>2]|0):0)break a}c[ja>>2]=(c[ja>>2]|0)+1}c[ja>>2]=0;e:while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break;R=c[(c[pa+(c[ja>>2]<<2)>>2]|0)+84>>2]|0;c[K+(c[ja>>2]<<2)>>2]=R;c[L+(c[ja>>2]<<2)>>2]=R;b[M+(c[ja>>2]<<1)>>1]=b[(c[(c[pa+(c[ja>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[ja>>2]|0))break;if((c[K+(c[D>>2]<<2)>>2]|0)==(c[K+(c[ja>>2]<<2)>>2]|0)){g=108;break e}c[D>>2]=(c[D>>2]|0)+1}c[ja>>2]=(c[ja>>2]|0)+1}if((g|0)==108){c[ka>>2]=kn(65673)|0;break}c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break;c[S>>2]=0;c[D>>2]=1;while(1){if((c[D>>2]|0)>=(c[ha>>2]|0))break;if((c[L+(c[D>>2]<<2)>>2]|0)>>>0<(c[L+(c[S>>2]<<2)>>2]|0)>>>0)c[S>>2]=c[D>>2];c[D>>2]=(c[D>>2]|0)+1}c[J>>2]=c[L+(c[S>>2]<<2)>>2];c[L+(c[S>>2]<<2)>>2]=-1;if((c[S>>2]|0)!=(c[ja>>2]|0)){if((c[S>>2]|0)>(c[ja>>2]|0))EI(c[(c[pa+(c[S>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[ga>>2]|0)+44>>2]|0)+(c[S>>2]|0)+1|0,0);EI(c[(c[pa+(c[ja>>2]<<2)>>2]|0)+72>>2]|0,c[J>>2]|0,b[M+(c[S>>2]<<1)>>1]|0);c[(c[pa+(c[ja>>2]<<2)>>2]|0)+84>>2]=c[J>>2]}c[ja>>2]=(c[ja>>2]|0)+1}Nn(c[I>>2]|0,c[(c[pa+((c[ha>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[G>>2]&8|0)==0?(c[ia>>2]|0)!=(c[ha>>2]|0):0){c[T>>2]=c[((c[ha>>2]|0)>(c[ia>>2]|0)?pa:oa)+((c[ia>>2]|0)-1<<2)>>2];S=(c[(c[pa+((c[ha>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;T=(c[(c[T>>2]|0)+56>>2]|0)+8|0;a[S>>0]=a[T>>0]|0;a[S+1>>0]=a[T+1>>0]|0;a[S+2>>0]=a[T+2>>0]|0;a[S+3>>0]=a[T+3>>0]|0}f:do if(a[(c[ga>>2]|0)+17>>0]|0){c[U>>2]=c[pa>>2];c[V>>2]=c[(c[U>>2]|0)+56>>2];c[W>>2]=(e[(c[U>>2]|0)+18>>1]|0)+(d[(c[U>>2]|0)+1>>0]|0);c[X>>2]=c[(c[ga>>2]|0)+36>>2];c[Y>>2]=0;c[Z>>2]=0;c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ua>>2]|0))break f;c[_>>2]=c[(c[ua+8>>2]|0)+(c[ja>>2]<<2)>>2];if((c[ja>>2]|0)==(c[W>>2]|0)){S=(c[Z>>2]|0)+1|0;c[Z>>2]=S;T=c[Z>>2]|0;c[$>>2]=c[((S|0)<(c[ha>>2]|0)?pa+(T<<2)|0:oa+(T<<2)|0)>>2];c[W>>2]=(c[W>>2]|0)+((e[(c[$>>2]|0)+18>>1]|0)+(d[(c[$>>2]|0)+1>>0]|0)+(((c[ma>>2]|0)!=0^1)&1));c[V>>2]=c[(c[$>>2]|0)+56>>2]}if(!((c[ja>>2]|0)==(c[qa+(c[Y>>2]<<2)>>2]|0)?(T=(c[Y>>2]|0)+1|0,c[Y>>2]=T,c[U>>2]=c[pa+(T<<2)>>2],!(c[ma>>2]|0)):0))g=133;do if((g|0)==133){g=0;if((((c[Z>>2]|0)<(c[ha>>2]|0)?(c[(c[U>>2]|0)+84>>2]|0)==(c[K+(c[Z>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[V>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[V>>2]|0)+(c[X>>2]|0)|0)>>>0:0)break;if(!(b[la>>1]|0)){S=c[ga>>2]|0;T=Vl(c[_>>2]|0)|0;hq(S,T,5,c[(c[U>>2]|0)+84>>2]|0,ka)}T=(DI(ua,c[ja>>2]|0)|0)&65535;if((T|0)>(e[(c[U>>2]|0)+12>>1]|0))jq(c[U>>2]|0,c[_>>2]|0,ka);if(c[ka>>2]|0)break a}while(0);c[ja>>2]=(c[ja>>2]|0)+1}}while(0);c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=((c[ha>>2]|0)-1|0))break;c[da>>2]=c[pa+(c[ja>>2]<<2)>>2];c[D>>2]=c[qa+(c[ja>>2]<<2)>>2];c[aa>>2]=c[(c[ua+8>>2]|0)+(c[D>>2]<<2)>>2];c[ca>>2]=(e[(c[ua+12>>2]|0)+(c[D>>2]<<1)>>1]|0)+(e[la>>1]|0);c[ba>>2]=(c[fa>>2]|0)+(c[H>>2]|0);do if(a[(c[da>>2]|0)+4>>0]|0){if(c[ma>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;Ib[c[(c[da>>2]|0)+80>>2]&255](c[da>>2]|0,c[(c[ua+8>>2]|0)+(c[D>>2]<<2)>>2]|0,ea);c[aa>>2]=c[ba>>2];$=ea;c[ca>>2]=4+(_F((c[aa>>2]|0)+4|0,c[$>>2]|0,c[$+4>>2]|0)|0);c[ba>>2]=0;break}c[aa>>2]=(c[aa>>2]|0)+-4;if((e[(c[ua+12>>2]|0)+(c[D>>2]<<1)>>1]|0)==4)c[ca>>2]=(Mb[c[(c[wa>>2]|0)+76>>2]&255](c[wa>>2]|0,c[aa>>2]|0)|0)&65535}else{$=(c[(c[da>>2]|0)+56>>2]|0)+8|0;_=c[aa>>2]|0;a[$>>0]=a[_>>0]|0;a[$+1>>0]=a[_+1>>0]|0;a[$+2>>0]=a[_+2>>0]|0;a[$+3>>0]=a[_+3>>0]|0}while(0);c[H>>2]=(c[H>>2]|0)+(c[ca>>2]|0);xI(c[wa>>2]|0,(c[F>>2]|0)+(c[ja>>2]|0)|0,c[aa>>2]|0,c[ca>>2]|0,c[ba>>2]|0,c[(c[da>>2]|0)+84>>2]|0,ka);if(c[ka>>2]|0)break a;c[ja>>2]=(c[ja>>2]|0)+1}c[ja>>2]=1-(c[ha>>2]|0);while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break;fa=c[ja>>2]|0;c[xa>>2]=(c[ja>>2]|0)<0?0-fa|0:fa;do if(!(a[ta+(c[xa>>2]|0)>>0]|0)){if((c[ja>>2]|0)<0?(c[ra+((c[xa>>2]|0)-1<<2)>>2]|0)<(c[qa+((c[xa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[xa>>2]|0)){c[za>>2]=0;c[ya>>2]=0;c[Aa>>2]=c[qa>>2]}else{if((c[xa>>2]|0)<(c[ia>>2]|0))f=(c[ra+((c[xa>>2]|0)-1<<2)>>2]|0)+(((c[ma>>2]|0)!=0^1)&1)|0;else f=c[ua>>2]|0;c[za>>2]=f;c[ya>>2]=(c[qa+((c[xa>>2]|0)-1<<2)>>2]|0)+(((c[ma>>2]|0)!=0^1)&1);c[Aa>>2]=(c[qa+(c[xa>>2]<<2)>>2]|0)-(c[ya>>2]|0)}c[ka>>2]=FI(c[pa+(c[xa>>2]<<2)>>2]|0,c[za>>2]|0,c[ya>>2]|0,c[Aa>>2]|0,ua)|0;if(c[ka>>2]|0)break a;fa=ta+(c[xa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[pa+(c[xa>>2]<<2)>>2]|0)+16>>1]=(c[na>>2]|0)-(c[sa+(c[xa>>2]<<2)>>2]|0)}while(0);c[ja>>2]=(c[ja>>2]|0)+1}if((c[Ca>>2]|0?(e[(c[wa>>2]|0)+18>>1]|0)==0:0)?(d[(c[wa>>2]|0)+5>>0]|0)<=(e[(c[pa>>2]|0)+16>>1]|0):0){c[ka>>2]=GI(c[pa>>2]|0)|0;HI(c[pa>>2]|0,c[wa>>2]|0,ka);wH(c[pa>>2]|0,ka)}else g=171;g:do if((g|0)==171?!(b[la>>1]|0?1:(d[(c[ga>>2]|0)+17>>0]|0)==0):0){c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break g;c[Ba>>2]=Vl((c[(c[pa+(c[ja>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;hq(c[ga>>2]|0,c[Ba>>2]|0,5,c[(c[pa+(c[ja>>2]<<2)>>2]|0)+84>>2]|0,ka);c[ja>>2]=(c[ja>>2]|0)+1}}while(0);c[ja>>2]=c[ha>>2];while(1){if((c[ja>>2]|0)>=(c[ia>>2]|0))break a;wH(c[oa+(c[ja>>2]<<2)>>2]|0,ka);c[ja>>2]=(c[ja>>2]|0)+1}}}while(0);II(c[ua+8>>2]|0);c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ia>>2]|0))break;cq(c[oa+(c[ja>>2]<<2)>>2]|0);c[ja>>2]=(c[ja>>2]|0)+1}c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break;cq(c[pa+(c[ja>>2]<<2)>>2]|0);c[ja>>2]=(c[ja>>2]|0)+1}c[va>>2]=c[ka>>2];Ca=c[va>>2]|0;l=Da;return Ca|0}function CI(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;td(c[13620]|0);Hd(8,c[b>>2]|0);if(c[13626]|0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[13625];c[13625]=c[c[13625]>>2];c[13626]=(c[13626]|0)+-1;Ld(3,1);ud(c[13620]|0);d=c[d>>2]|0;l=e;return d|0}ud(c[13620]|0);b=c[b>>2]|0;c[d>>2]=Fd(b,((b|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;l=e;return d|0}td(c[13620]|0);Ld(4,Kd(c[d>>2]|0)|0);ud(c[13620]|0);d=c[d>>2]|0;l=e;return d|0}function DI(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=d;a=c[h>>2]|0;if(b[(c[(c[h>>2]|0)+12>>2]|0)+(c[f>>2]<<1)>>1]|0){b[e>>1]=b[(c[a+12>>2]|0)+(c[f>>2]<<1)>>1]|0;h=b[e>>1]|0;l=g;return h|0}else{b[e>>1]=QI(a,c[f>>2]|0)|0;h=b[e>>1]|0;l=g;return h|0}return 0}function EI(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=f+4|0;g=f;i=f+8|0;c[h>>2]=a;c[g>>2]=d;b[i>>1]=e;b[(c[h>>2]|0)+24>>1]=b[i>>1]|0;kq(c[h>>2]|0,c[g>>2]|0);l=f;return}function FI(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;y=D+68|0;z=D+64|0;A=D+60|0;B=D+56|0;C=D+52|0;o=D+48|0;p=D+44|0;q=D+40|0;r=D+36|0;s=D+32|0;t=D+28|0;u=D+24|0;v=D+20|0;k=D+16|0;m=D+12|0;n=D+8|0;w=D+4|0;x=D;c[z>>2]=f;c[A>>2]=g;c[B>>2]=h;c[C>>2]=i;c[o>>2]=j;c[p>>2]=c[(c[z>>2]|0)+56>>2];c[q>>2]=d[(c[z>>2]|0)+5>>0];c[r>>2]=(c[(c[z>>2]|0)+64>>2]|0)+(c[C>>2]<<1);c[s>>2]=e[(c[z>>2]|0)+18>>1];c[k>>2]=(c[A>>2]|0)+(e[(c[z>>2]|0)+18>>1]|0)+(d[(c[z>>2]|0)+1>>0]|0);c[m>>2]=(c[B>>2]|0)+(c[C>>2]|0);if((c[A>>2]|0)<(c[B>>2]|0)){c[n>>2]=KI(c[z>>2]|0,c[A>>2]|0,(c[B>>2]|0)-(c[A>>2]|0)|0,c[o>>2]|0)|0;k0(c[(c[z>>2]|0)+64>>2]|0,(c[(c[z>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[s>>2]<<1|0)|0;c[s>>2]=(c[s>>2]|0)-(c[n>>2]|0)}if((c[m>>2]|0)<(c[k>>2]|0)){j=KI(c[z>>2]|0,c[m>>2]|0,(c[k>>2]|0)-(c[m>>2]|0)|0,c[o>>2]|0)|0;c[s>>2]=(c[s>>2]|0)-j}c[t>>2]=(c[p>>2]|0)+((((d[(c[p>>2]|0)+((c[q>>2]|0)+5)>>0]|0)<<8|(d[(c[p>>2]|0)+((c[q>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[t>>2]|0)>>>0>=(c[r>>2]|0)>>>0){if((c[B>>2]|0)<(c[A>>2]|0)){if((c[C>>2]|0)<((c[A>>2]|0)-(c[B>>2]|0)|0))f=c[C>>2]|0;else f=(c[A>>2]|0)-(c[B>>2]|0)|0;c[w>>2]=f;c[u>>2]=c[(c[z>>2]|0)+64>>2];k0((c[u>>2]|0)+(c[w>>2]<<1)|0,c[u>>2]|0,c[s>>2]<<1|0)|0;if(LI(c[z>>2]|0,c[r>>2]|0,t,c[u>>2]|0,c[B>>2]|0,c[w>>2]|0,c[o>>2]|0)|0)break;c[s>>2]=(c[s>>2]|0)+(c[w>>2]|0)}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(d[(c[z>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[A>>2]|0)+(e[(c[z>>2]|0)+22+(c[v>>2]<<1)>>1]|0)-(c[B>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[C>>2]|0):0)?(c[u>>2]=(c[(c[z>>2]|0)+64>>2]|0)+(c[x>>2]<<1),k0((c[u>>2]|0)+2|0,c[u>>2]|0,(c[s>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[s>>2]=(c[s>>2]|0)+1,LI(c[z>>2]|0,c[r>>2]|0,t,c[u>>2]|0,(c[x>>2]|0)+(c[B>>2]|0)|0,1,c[o>>2]|0)|0):0)break a;c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=(c[(c[z>>2]|0)+64>>2]|0)+(c[s>>2]<<1);if(!(LI(c[z>>2]|0,c[r>>2]|0,t,c[u>>2]|0,(c[B>>2]|0)+(c[s>>2]|0)|0,(c[C>>2]|0)-(c[s>>2]|0)|0,c[o>>2]|0)|0)){b[(c[z>>2]|0)+18>>1]=c[C>>2];a[(c[z>>2]|0)+1>>0]=0;a[(c[p>>2]|0)+((c[q>>2]|0)+3)>>0]=(e[(c[z>>2]|0)+18>>1]|0)>>8;a[(c[p>>2]|0)+((c[q>>2]|0)+3)+1>>0]=b[(c[z>>2]|0)+18>>1];a[(c[p>>2]|0)+((c[q>>2]|0)+5)>>0]=(c[t>>2]|0)-(c[p>>2]|0)>>8;a[(c[p>>2]|0)+((c[q>>2]|0)+5)+1>>0]=(c[t>>2]|0)-(c[p>>2]|0);c[y>>2]=0;C=c[y>>2]|0;l=D;return C|0}}while(0);MI(c[o>>2]|0,c[B>>2]|0,c[C>>2]|0);c[y>>2]=NI(c[z>>2]|0,c[C>>2]|0,(c[(c[o>>2]|0)+8>>2]|0)+(c[B>>2]<<2)|0,(c[(c[o>>2]|0)+12>>2]|0)+(c[B>>2]<<1)|0)|0;C=c[y>>2]|0;l=D;return C|0}function GI(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;f=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;s=y+48|0;t=y+44|0;u=y+40|0;v=y+36|0;w=y+32|0;g=y+28|0;h=y+24|0;i=y+20|0;j=y+16|0;k=y+12|0;m=y+8|0;n=y+4|0;o=y;c[p>>2]=b;c[i>>2]=0;b=c[(c[p>>2]|0)+56>>2]|0;c[h>>2]=b;c[j>>2]=b;c[s>>2]=d[(c[p>>2]|0)+5>>0];c[v>>2]=e[(c[p>>2]|0)+14>>1];c[g>>2]=e[(c[p>>2]|0)+18>>1];c[u>>2]=c[(c[(c[p>>2]|0)+52>>2]|0)+36>>2];c[w>>2]=c[u>>2];c[k>>2]=(c[v>>2]|0)+(c[g>>2]<<1);c[m>>2]=(c[u>>2]|0)-4;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[g>>2]|0)){x=14;break}c[n>>2]=(c[h>>2]|0)+((c[v>>2]|0)+(c[q>>2]<<1));c[r>>2]=(d[c[n>>2]>>0]|0)<<8|(d[(c[n>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[k>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[m>>2]|0)){x=5;break}c[t>>2]=(Mb[c[(c[p>>2]|0)+76>>2]&255](c[p>>2]|0,(c[j>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[w>>2]=(c[w>>2]|0)-(c[t>>2]|0);if((c[w>>2]|0)<(c[k>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[t>>2]|0)|0)>(c[u>>2]|0)){x=8;break}a[c[n>>2]>>0]=c[w>>2]>>8;a[(c[n>>2]|0)+1>>0]=c[w>>2];if(!(c[i>>2]|0)){if((c[w>>2]|0)!=(c[r>>2]|0)){c[i>>2]=JI(c[c[(c[p>>2]|0)+52>>2]>>2]|0)|0;c[o>>2]=(d[(c[h>>2]|0)+((c[s>>2]|0)+5)>>0]|0)<<8|(d[(c[h>>2]|0)+((c[s>>2]|0)+5)+1>>0]|0);h0((c[i>>2]|0)+(c[o>>2]|0)|0,(c[h>>2]|0)+(c[o>>2]|0)|0,(c[w>>2]|0)+(c[t>>2]|0)-(c[o>>2]|0)|0)|0;c[j>>2]=c[i>>2];x=12}}else x=12;if((x|0)==12){x=0;h0((c[h>>2]|0)+(c[w>>2]|0)|0,(c[j>>2]|0)+(c[r>>2]|0)|0,c[t>>2]|0)|0}c[q>>2]=(c[q>>2]|0)+1}if((x|0)==5){c[f>>2]=kn(59617)|0;x=c[f>>2]|0;l=y;return x|0}else if((x|0)==8){c[f>>2]=kn(59623)|0;x=c[f>>2]|0;l=y;return x|0}else if((x|0)==14){a[(c[h>>2]|0)+((c[s>>2]|0)+5)>>0]=c[w>>2]>>8;a[(c[h>>2]|0)+((c[s>>2]|0)+5)+1>>0]=c[w>>2];a[(c[h>>2]|0)+((c[s>>2]|0)+1)>>0]=0;a[(c[h>>2]|0)+((c[s>>2]|0)+2)>>0]=0;a[(c[h>>2]|0)+((c[s>>2]|0)+7)>>0]=0;m0((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[w>>2]|0)-(c[k>>2]|0)|0)|0;if(((c[w>>2]|0)-(c[k>>2]|0)|0)!=(e[(c[p>>2]|0)+16>>1]|0|0)){c[f>>2]=kn(59647)|0;x=c[f>>2]|0;l=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;l=y;return x|0}}return 0}function HI(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;q=s+16|0;r=s+12|0;h=s+8|0;i=s+4|0;j=s;c[k>>2]=b;c[m>>2]=f;c[n>>2]=g;if(c[c[n>>2]>>2]|0){l=s;return}c[o>>2]=c[(c[k>>2]|0)+52>>2];c[p>>2]=c[(c[k>>2]|0)+56>>2];c[q>>2]=c[(c[m>>2]|0)+56>>2];c[r>>2]=d[(c[k>>2]|0)+5>>0];c[h>>2]=(c[(c[m>>2]|0)+84>>2]|0)==1?100:0;c[j>>2]=d[(c[p>>2]|0)+((c[r>>2]|0)+5)>>0]<<8|d[(c[p>>2]|0)+((c[r>>2]|0)+5)+1>>0];h0((c[q>>2]|0)+(c[j>>2]|0)|0,(c[p>>2]|0)+(c[j>>2]|0)|0,(c[(c[o>>2]|0)+36>>2]|0)-(c[j>>2]|0)|0)|0;h0((c[q>>2]|0)+(c[h>>2]|0)|0,(c[p>>2]|0)+(c[r>>2]|0)|0,(e[(c[k>>2]|0)+14>>1]|0)+(e[(c[k>>2]|0)+18>>1]<<1)|0)|0;a[c[m>>2]>>0]=0;c[i>>2]=qp(c[m>>2]|0)|0;if(c[i>>2]|0){c[c[n>>2]>>2]=c[i>>2];l=s;return}if(!(a[(c[o>>2]|0)+17>>0]|0)){l=s;return}r=gq(c[m>>2]|0)|0;c[c[n>>2]>>2]=r;l=s;return}function II(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){l=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[13624]|0)>>>0:0){c[d>>2]=c[b>>2];td(c[13620]|0);c[c[d>>2]>>2]=c[13625];c[13625]=c[d>>2];c[13626]=(c[13626]|0)+1;$d(3,1);ud(c[13620]|0);l=f;return}if(c[2]|0){c[e>>2]=Kd(c[b>>2]|0)|0;td(c[13620]|0);$d(4,c[e>>2]|0);$d(0,c[e>>2]|0);$d(9,1);Eb[c[52>>2]&255](c[b>>2]|0);ud(c[13620]|0);l=f;return}else{Eb[c[52>>2]&255](c[b>>2]|0);l=f;return}}function JI(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+208>>2]|0}function KI(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=l;l=l+64|0;r=w+56|0;s=w+52|0;x=w+48|0;y=w+44|0;t=w+40|0;u=w+36|0;h=w+32|0;i=w+28|0;j=w+24|0;k=w+20|0;m=w+16|0;n=w+12|0;o=w+8|0;p=w+4|0;q=w;c[s>>2]=a;c[x>>2]=b;c[y>>2]=f;c[t>>2]=g;c[u>>2]=c[(c[s>>2]|0)+56>>2];c[h>>2]=(c[u>>2]|0)+(c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2]|0);c[i>>2]=(c[u>>2]|0)+((d[(c[s>>2]|0)+5>>0]|0)+8+(d[(c[s>>2]|0)+6>>0]|0));c[j>>2]=0;c[m>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[n>>2]=0;c[o>>2]=0;c[k>>2]=c[x>>2];while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;c[p>>2]=c[(c[(c[t>>2]|0)+8>>2]|0)+(c[k>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[i>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[h>>2]|0)>>>0:0){c[q>>2]=e[(c[(c[t>>2]|0)+12>>2]|0)+(c[k>>2]<<1)>>1];if((c[n>>2]|0)!=((c[p>>2]|0)+(c[q>>2]|0)|0)){if(c[n>>2]|0)PI(c[s>>2]|0,(c[n>>2]|0)-(c[u>>2]|0)&65535,c[o>>2]&65535)|0;c[n>>2]=c[p>>2];c[o>>2]=c[q>>2];if(((c[n>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[h>>2]|0)>>>0){v=9;break}}else{c[n>>2]=c[p>>2];c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0)}c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}if((v|0)==9){c[r>>2]=0;y=c[r>>2]|0;l=w;return y|0}if(c[n>>2]|0)PI(c[s>>2]|0,(c[n>>2]|0)-(c[u>>2]|0)&65535,c[o>>2]&65535)|0;c[r>>2]=c[j>>2];y=c[r>>2]|0;l=w;return y|0}function LI(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=l;l=l+64|0;v=y+56|0;w=y+52|0;x=y+48|0;k=y+44|0;m=y+40|0;z=y+36|0;A=y+32|0;n=y+28|0;o=y+24|0;p=y+20|0;q=y+16|0;r=y+12|0;s=y+8|0;t=y+4|0;u=y;c[w>>2]=b;c[x>>2]=e;c[k>>2]=f;c[m>>2]=g;c[z>>2]=h;c[A>>2]=i;c[n>>2]=j;c[p>>2]=c[(c[w>>2]|0)+56>>2];c[q>>2]=c[c[k>>2]>>2];c[r>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[o>>2]=c[z>>2];while(1){if((c[o>>2]|0)>=(c[r>>2]|0)){b=10;break}c[s>>2]=(DI(c[n>>2]|0,c[o>>2]|0)|0)&65535;if((d[(c[p>>2]|0)+1>>0]|0|0)==0?(d[(c[p>>2]|0)+2>>0]|0|0)==0:0)b=6;else b=5;if((b|0)==5?(b=0,A=OI(c[w>>2]|0,c[s>>2]|0,t)|0,c[u>>2]=A,(A|0)==0):0)b=6;if((b|0)==6){if(((c[q>>2]|0)-(c[x>>2]|0)|0)<(c[s>>2]|0)){b=7;break}c[q>>2]=(c[q>>2]|0)+(0-(c[s>>2]|0));c[u>>2]=c[q>>2]}k0(c[u>>2]|0,c[(c[(c[n>>2]|0)+8>>2]|0)+(c[o>>2]<<2)>>2]|0,c[s>>2]|0)|0;a[c[m>>2]>>0]=(c[u>>2]|0)-(c[p>>2]|0)>>8;a[(c[m>>2]|0)+1>>0]=(c[u>>2]|0)-(c[p>>2]|0);c[m>>2]=(c[m>>2]|0)+2;c[o>>2]=(c[o>>2]|0)+1}if((b|0)==7){c[v>>2]=1;A=c[v>>2]|0;l=y;return A|0}else if((b|0)==10){c[c[k>>2]>>2]=c[q>>2];c[v>>2]=0;A=c[v>>2]|0;l=y;return A|0}return 0}function MI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=d;c[i>>2]=f;while(1){if((c[i>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){f=Mb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=f}c[h>>2]=(c[h>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+-1}l=j;return}function NI(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;t=x+52|0;u=x+48|0;v=x+44|0;p=x+40|0;q=x+36|0;w=x+32|0;r=x+28|0;y=x+24|0;j=x+20|0;k=x+16|0;m=x+12|0;n=x+8|0;s=x+4|0;o=x;c[u>>2]=f;c[v>>2]=g;c[p>>2]=h;c[q>>2]=i;c[w>>2]=d[(c[u>>2]|0)+5>>0];c[r>>2]=c[(c[u>>2]|0)+56>>2];c[y>>2]=c[(c[(c[u>>2]|0)+52>>2]|0)+36>>2];c[j>>2]=(c[r>>2]|0)+(c[y>>2]|0);c[m>>2]=c[(c[u>>2]|0)+64>>2];c[n>>2]=JI(c[c[(c[u>>2]|0)+52>>2]>>2]|0)|0;c[k>>2]=(d[(c[r>>2]|0)+((c[w>>2]|0)+5)>>0]|0)<<8|(d[(c[r>>2]|0)+((c[w>>2]|0)+5)+1>>0]|0);h0((c[n>>2]|0)+(c[k>>2]|0)|0,(c[r>>2]|0)+(c[k>>2]|0)|0,(c[y>>2]|0)-(c[k>>2]|0)|0)|0;c[s>>2]=c[j>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[v>>2]|0)){f=9;break}c[o>>2]=c[(c[p>>2]|0)+(c[k>>2]<<2)>>2];if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0?(c[o>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)c[o>>2]=(c[n>>2]|0)+((c[o>>2]|0)-(c[r>>2]|0));c[s>>2]=(c[s>>2]|0)+(0-(e[(c[q>>2]|0)+(c[k>>2]<<1)>>1]|0));a[c[m>>2]>>0]=(c[s>>2]|0)-(c[r>>2]|0)>>8;a[(c[m>>2]|0)+1>>0]=(c[s>>2]|0)-(c[r>>2]|0);c[m>>2]=(c[m>>2]|0)+2;if((c[s>>2]|0)>>>0<(c[m>>2]|0)>>>0){f=7;break}h0(c[s>>2]|0,c[o>>2]|0,e[(c[q>>2]|0)+(c[k>>2]<<1)>>1]|0|0)|0;c[k>>2]=(c[k>>2]|0)+1}if((f|0)==7){c[t>>2]=kn(64716)|0;y=c[t>>2]|0;l=x;return y|0}else if((f|0)==9){b[(c[u>>2]|0)+18>>1]=c[v>>2];a[(c[u>>2]|0)+1>>0]=0;a[(c[r>>2]|0)+((c[w>>2]|0)+1)>>0]=0;a[(c[r>>2]|0)+((c[w>>2]|0)+1)+1>>0]=0;a[(c[r>>2]|0)+((c[w>>2]|0)+3)>>0]=(e[(c[u>>2]|0)+18>>1]|0)>>8;a[(c[r>>2]|0)+((c[w>>2]|0)+3)+1>>0]=b[(c[u>>2]|0)+18>>1];a[(c[r>>2]|0)+((c[w>>2]|0)+5)>>0]=(c[s>>2]|0)-(c[r>>2]|0)>>8;a[(c[r>>2]|0)+((c[w>>2]|0)+5)+1>>0]=(c[s>>2]|0)-(c[r>>2]|0);a[(c[r>>2]|0)+((c[w>>2]|0)+7)>>0]=0;c[t>>2]=0;y=c[t>>2]|0;l=x;return y|0}return 0}function OI(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;n=t+40|0;o=t+36|0;h=t+32|0;p=t+28|0;q=t+24|0;r=t+20|0;s=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[o>>2]=b;c[h>>2]=f;c[p>>2]=g;c[q>>2]=d[(c[o>>2]|0)+5>>0];c[r>>2]=c[(c[o>>2]|0)+56>>2];c[s>>2]=(c[q>>2]|0)+1;c[i>>2]=(d[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0)<<8|(d[(c[r>>2]|0)+(c[s>>2]|0)+1>>0]|0);c[k>>2]=c[(c[(c[o>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[i>>2]|0)>((c[k>>2]|0)-4|0)){b=4;break}if((c[i>>2]|0)<((c[s>>2]|0)+4|0)){b=4;break}c[m>>2]=(d[(c[r>>2]|0)+((c[i>>2]|0)+2)>>0]|0)<<8|(d[(c[r>>2]|0)+((c[i>>2]|0)+2)+1>>0]|0);g=(c[m>>2]|0)-(c[h>>2]|0)|0;c[j>>2]=g;f=c[i>>2]|0;if((g|0)>=0){b=6;break}c[s>>2]=f;c[i>>2]=(d[(c[r>>2]|0)+(c[i>>2]|0)>>0]|0)<<8|(d[(c[r>>2]|0)+(c[i>>2]|0)+1>>0]|0);if(!(c[i>>2]|0)){b=16;break}}if((b|0)==4){s=kn(59680)|0;c[c[p>>2]>>2]=s;c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}else if((b|0)==6){if((f|0)>=((e[(c[o>>2]|0)+14>>1]|0)+((e[(c[o>>2]|0)+18>>1]|0)<<1)|0)?((c[m>>2]|0)+(c[i>>2]|0)|0)<=(c[k>>2]|0):0){do if((c[j>>2]|0)<4){if((d[(c[r>>2]|0)+((c[q>>2]|0)+7)>>0]|0|0)<=57){s=(c[r>>2]|0)+(c[s>>2]|0)|0;p=(c[r>>2]|0)+(c[i>>2]|0)|0;a[s>>0]=a[p>>0]|0;a[s+1>>0]=a[p+1>>0]|0;s=(c[r>>2]|0)+((c[q>>2]|0)+7)|0;a[s>>0]=(d[s>>0]|0)+(c[j>>2]&255);break}c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}else{a[(c[r>>2]|0)+((c[i>>2]|0)+2)>>0]=c[j>>2]>>8;a[(c[r>>2]|0)+((c[i>>2]|0)+2)+1>>0]=c[j>>2]}while(0);c[n>>2]=(c[r>>2]|0)+((c[i>>2]|0)+(c[j>>2]|0));s=c[n>>2]|0;l=t;return s|0}s=kn(59691)|0;c[c[p>>2]>>2]=s;c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}else if((b|0)==16){c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}return 0} +function Sv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;j=k+24|0;m=k+20|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[g>>2]=0;if(a[(c[m>>2]|0)+150>>0]|0){c[j>>2]=0;m=c[j>>2]|0;l=k;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[h>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[h>>2]|0))break a;c[i>>2]=c[(c[h>>2]|0)+8>>2];if((c[(c[i>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(bh(c[(c[i>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[g>>2]|0)b=c[g>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[i>>2]|0)+32>>2]=b;c[g>>2]=c[i>>2]}c[h>>2]=c[c[h>>2]>>2]}}while(0);if(c[g>>2]|0)b=c[g>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[j>>2]=b;m=c[j>>2]|0;l=k;return m|0}function Tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;c[h>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[h>>2]|0)){c[i>>2]=c[c[d>>2]>>2];c[f>>2]=Sv(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[f>>2]|0))break a;if((c[(c[f>>2]|0)+20>>2]|0)==(c[h>>2]|0))c[g>>2]=Uv(c[i>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0)|0;c[f>>2]=c[(c[f>>2]|0)+32>>2]}}while(0);if(!(c[g>>2]|0)){k=c[g>>2]|0;l=m;return k|0}i=c[c[d>>2]>>2]|0;c[k>>2]=c[g>>2];c[j>>2]=Wj(i,27638,k)|0;Xd(c[c[d>>2]>>2]|0,c[g>>2]|0);c[g>>2]=c[j>>2];k=c[g>>2]|0;l=m;return k|0}function Uv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+8|0;i=k;e=k+28|0;f=k+24|0;g=k+20|0;h=k+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){i=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=i;c[h>>2]=Wj(a,27670,j)|0;Xd(c[e>>2]|0,c[f>>2]|0);j=c[h>>2]|0;l=k;return j|0}else{c[i>>2]=c[g>>2];c[h>>2]=Wj(a,27662,i)|0;j=c[h>>2]|0;l=k;return j|0}return 0}function Vv(f,g,i,j,k,m){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;E=l;l=l+64|0;u=E;C=E+52|0;w=E+48|0;t=E+44|0;y=E+58|0;x=E+57|0;z=E+40|0;n=E+36|0;o=E+32|0;v=E+28|0;A=E+24|0;p=E+20|0;q=E+16|0;B=E+12|0;r=E+56|0;s=E+8|0;c[w>>2]=f;c[t>>2]=g;a[y>>0]=i;a[x>>0]=j;c[z>>2]=k;c[n>>2]=m;c[v>>2]=0;c[A>>2]=0;c[p>>2]=1;c[q>>2]=55752;c[B>>2]=0;while(1){m=d[c[t>>2]>>0]|0;c[o>>2]=m;if(!((m|0)==156?1:(c[o>>2]|0)==161))break;c[t>>2]=c[(c[t>>2]|0)+12>>2]}if((c[o>>2]|0)==157)c[o>>2]=d[(c[t>>2]|0)+38>>0];if((c[o>>2]|0)==66){a[r>>0]=Wv(c[(c[t>>2]|0)+8>>2]|0,0)|0;c[B>>2]=Vv(c[w>>2]|0,c[(c[t>>2]|0)+12>>2]|0,a[y>>0]|0,a[r>>0]|0,c[z>>2]|0,c[n>>2]|0)|0;if(c[c[z>>2]>>2]|0){Xv(c[c[z>>2]>>2]|0,a[r>>0]|0,1);Yv(c[c[z>>2]>>2]|0,a[x>>0]|0,1)}c[C>>2]=c[B>>2];C=c[C>>2]|0;l=E;return C|0}do if((c[o>>2]|0)==155){if((d[c[(c[t>>2]|0)+12>>2]>>0]|0|0)!=134?(d[c[(c[t>>2]|0)+12>>2]>>0]|0|0)!=132:0)break;c[t>>2]=c[(c[t>>2]|0)+12>>2];c[o>>2]=d[c[t>>2]>>0];c[p>>2]=-1;c[q>>2]=27684}while(0);do if((c[o>>2]|0)==97|(c[o>>2]|0)==132|(c[o>>2]|0)==134){c[A>>2]=Zv(c[w>>2]|0,c[n>>2]|0)|0;if(c[A>>2]|0){if(c[(c[t>>2]|0)+4>>2]&1024|0){v=c[A>>2]|0;u=c[(c[t>>2]|0)+8>>2]|0;w=c[p>>2]|0;w=r0(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;Yh(v,w,D)}else{m=c[w>>2]|0;t=c[(c[t>>2]|0)+8>>2]|0;c[u>>2]=c[q>>2];c[u+4>>2]=t;c[v>>2]=Wj(m,23403,u)|0;if(!(c[v>>2]|0)){f=42;break}Ep(c[A>>2]|0,-1,c[v>>2]|0,1,191)}if((c[o>>2]|0)==134|(c[o>>2]|0)==132?(d[x>>0]|0|0)==65:0)Yv(c[A>>2]|0,67,1);else Yv(c[A>>2]|0,a[x>>0]|0,1);if((e[(c[A>>2]|0)+8>>1]|0)&12|0){x=(c[A>>2]|0)+8|0;b[x>>1]=(e[x>>1]|0)&-3}if((d[y>>0]|0|0)!=1){c[B>>2]=oi(c[A>>2]|0,d[y>>0]|0)|0;f=41}else f=41}else f=42}else{if((c[o>>2]|0)!=155){if((c[o>>2]|0)==101){c[A>>2]=Zv(c[w>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0)){f=42;break}else{f=41;break}}if((c[o>>2]|0)!=133){f=41;break}c[A>>2]=Zv(c[w>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0)){f=42;break}c[v>>2]=(c[(c[t>>2]|0)+8>>2]|0)+2;c[s>>2]=(md(c[v>>2]|0)|0)-1;y=c[A>>2]|0;f=$v(c[w>>2]|0,c[v>>2]|0,c[s>>2]|0)|0;ci(y,f,(c[s>>2]|0)/2|0,0,191)|0;f=41;break}w=0==(Nv(c[w>>2]|0,c[(c[t>>2]|0)+12>>2]|0,a[y>>0]|0,a[x>>0]|0,A)|0);if(w&(c[A>>2]|0)!=0){_v(c[A>>2]|0)|0;f=c[A>>2]|0;do if(!((e[(c[A>>2]|0)+8>>1]|0)&8|0)){w=f;f=c[A>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[f>>3]=9223372036854775808.0;b[(c[A>>2]|0)+8>>1]=(e[(c[A>>2]|0)+8>>1]|0)&-49664|8;break}else{v=f;v=Z$(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[A>>2]|0;c[w>>2]=v;c[w+4>>2]=D;break}}else h[c[A>>2]>>3]=-+h[f>>3];while(0);Yv(c[A>>2]|0,a[x>>0]|0,a[y>>0]|0);f=41}else f=41}while(0);if((f|0)==41){c[c[z>>2]>>2]=c[A>>2];c[C>>2]=c[B>>2];C=c[C>>2]|0;l=E;return C|0}else if((f|0)==42){Od(c[w>>2]|0);Xd(c[w>>2]|0,c[v>>2]|0);Bk(c[A>>2]|0);c[C>>2]=7;C=c[C>>2]|0;l=E;return C|0}return 0}function Wv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+20|0;j=n+4|0;k=n;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;a[i>>0]=67;c[j>>2]=0;a:while(1){if(!(a[c[f>>2]>>0]|0))break;c[h>>2]=(c[h>>2]<<8)+(d[20458+(a[c[f>>2]>>0]&255)>>0]|0);c[f>>2]=(c[f>>2]|0)+1;if((c[h>>2]|0)==1667785074){a[i>>0]=66;c[j>>2]=c[f>>2];continue}if((c[h>>2]|0)==1668050786){a[i>>0]=66;continue}if((c[h>>2]|0)==1952807028){a[i>>0]=66;continue}do if((c[h>>2]|0)==1651273570){if((a[i>>0]|0)!=67?(a[i>>0]|0)!=69:0)break;a[i>>0]=65;if((a[c[f>>2]>>0]|0)!=40)continue a;c[j>>2]=c[f>>2];continue a}while(0);if((c[h>>2]|0)==1919246700?(a[i>>0]|0)==67:0){a[i>>0]=69;continue}if((c[h>>2]|0)==1718382433?(a[i>>0]|0)==67:0){a[i>>0]=69;continue}if((c[h>>2]|0)==1685026146?(a[i>>0]|0)==67:0){a[i>>0]=69;continue}if((c[h>>2]&16777215|0)==6909556){m=24;break}}if((m|0)==24)a[i>>0]=68;if(!(c[g>>2]|0)){m=a[i>>0]|0;l=n;return m|0}a[c[g>>2]>>0]=1;if((a[i>>0]|0)>=67){m=a[i>>0]|0;l=n;return m|0}if(!(c[j>>2]|0)){a[c[g>>2]>>0]=5;m=a[i>>0]|0;l=n;return m|0}while(1){if(!(a[c[j>>2]>>0]|0)){m=33;break}if(d[20063+(d[c[j>>2]>>0]|0)>>0]&4|0)break;c[j>>2]=(c[j>>2]|0)+1}if((m|0)==33){m=a[i>>0]|0;l=n;return m|0}c[k>>2]=0;gg(c[j>>2]|0,k)|0;m=((c[k>>2]|0)/4|0)+1|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>255?255:m;a[c[g>>2]>>0]=c[k>>2];m=a[i>>0]|0;l=n;return m|0}function Xv(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+5|0;k=m+4|0;c[j>>2]=f;a[i>>0]=g;a[k>>0]=h;if((e[(c[j>>2]|0)+8>>1]|0)&1|0){l=m;return}switch(d[i>>0]|0|0){case 65:{f=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&16|0){k=f+8|0;b[k>>1]=(e[k>>1]|0)&-33264;l=m;return}Yv(f,66,a[k>>0]|0);if(!((e[(c[j>>2]|0)+8>>1]|0)&2)){l=m;return}b[(c[j>>2]|0)+8>>1]=(e[(c[j>>2]|0)+8>>1]|0)&-49664|16;l=m;return}case 67:{_v(c[j>>2]|0)|0;l=m;return}case 68:{bw(c[j>>2]|0)|0;l=m;return}case 69:{cw(c[j>>2]|0)|0;l=m;return}default:{i=(c[j>>2]|0)+8|0;b[i>>1]=e[i>>1]|0|((e[(c[j>>2]|0)+8>>1]|0)&16)>>3;Yv(c[j>>2]|0,66,a[k>>0]|0);k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-16413;l=m;return}}}function Yv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f;h=f+5|0;g=f+4|0;c[i>>2]=b;a[h>>0]=d;a[g>>0]=e;aw(c[i>>2]|0,a[h>>0]|0,a[g>>0]|0);l=f;return}function Zv(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Dp(c[e>>2]|0)|0;l=d;return b|0}function _v(d){d=d|0;var f=0,g=0,i=0,j=0.0;g=l;l=l+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){i=0==(Mi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(i){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{j=+Ii(d);h[c[f>>2]>>3]=j;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;Pi(c[f>>2]|0);break}}while(0);i=(c[f>>2]|0)+8|0;b[i>>1]=(e[i>>1]|0)&-16403;l=g;return 0}function $v(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=b;c[f>>2]=d;c[g>>2]=e;e=((c[g>>2]|0)/2|0)+1|0;c[h>>2]=Ed(c[k>>2]|0,e,((e|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[h>>2]|0)){k=c[h>>2]|0;l=j;return k|0}c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break;k=((hg(a[(c[f>>2]|0)+(c[i>>2]|0)>>0]|0)|0)&255)<<4;k=(k|(hg(a[(c[f>>2]|0)+((c[i>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[h>>2]|0)+((c[i>>2]|0)/2|0)>>0]=k;c[i>>2]=(c[i>>2]|0)+2}a[(c[h>>2]|0)+((c[i>>2]|0)/2|0)>>0]=0;k=c[h>>2]|0;l=j;return k|0}function aw(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;h=k+5|0;i=k+4|0;c[j>>2]=d;a[h>>0]=f;a[i>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){l=k;return}if(0==(e[(c[j>>2]|0)+8>>1]&2|0)?e[(c[j>>2]|0)+8>>1]&12|0:0)qi(c[j>>2]|0,a[i>>0]|0,1)|0;j=(c[j>>2]|0)+8|0;b[j>>1]=e[j>>1]&-13;l=k;return}if(e[(c[j>>2]|0)+8>>1]&4|0){l=k;return}d=c[j>>2]|0;if(e[(c[j>>2]|0)+8>>1]&8|0){Pi(d);l=k;return}if(!(e[d+8>>1]&2)){l=k;return}Oi(c[j>>2]|0,1);l=k;return}function bw(a){a=a|0;var d=0,f=0,g=0;d=l;l=l+16|0;f=d;c[f>>2]=a;g=Ki(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=D;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;l=d;return 0}function cw(a){a=a|0;var d=0,f=0,g=0.0;d=l;l=l+16|0;f=d;c[f>>2]=a;g=+Ii(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;l=d;return 0}function dw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;f=j+12|0;g=j+8|0;h=j+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+148+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(ld(c[h>>2]|0,26664,7)|0):0){g=c[g>>2]|0;c[i>>2]=c[h>>2];sl(g,30069,i);c[f>>2]=1;i=c[f>>2]|0;l=j;return i|0}c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}function ew(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;h=r+36|0;i=r+32|0;j=r+28|0;k=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;g=r+4|0;c[i>>2]=a;c[j>>2]=f;c[n>>2]=0;c[p>>2]=c[c[i>>2]>>2];if(jw(c[i>>2]|0,c[j>>2]|0)|0){c[h>>2]=1;q=c[h>>2]|0;l=r;return q|0}if(d[(c[j>>2]|0)+42>>0]&16|0){c[h>>2]=0;q=c[h>>2]|0;l=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)>0){c[h>>2]=0;q=c[h>>2]|0;l=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)<0){p=c[i>>2]|0;c[q>>2]=c[c[j>>2]>>2];sl(p,28391,q);c[h>>2]=1;q=c[h>>2]|0;l=r;return q|0}c[m>>2]=kw(c[p>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;if(c[m>>2]|0){c[o>>2]=c[(c[i>>2]|0)+40>>2];lw(c[i>>2]|0,c[(c[m>>2]|0)+28>>2]|0);b[(c[j>>2]|0)+34>>1]=-1;q=(c[p>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[(c[p>>2]|0)+296>>2];c[(c[p>>2]|0)+296>>2]=0;c[k>>2]=mw(c[i>>2]|0,c[m>>2]|0)|0;c[(c[p>>2]|0)+296>>2]=c[g>>2];c[(c[i>>2]|0)+40>>2]=c[o>>2];do if(c[(c[j>>2]|0)+24>>2]|0){nw(c[i>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[j>>2]|0)+34|0,(c[j>>2]|0)+4|0)|0;if(((d[(c[p>>2]|0)+69>>0]|0)==0?(c[(c[i>>2]|0)+36>>2]|0)==0:0)?(b[(c[j>>2]|0)+34>>1]|0)==(c[c[c[m>>2]>>2]>>2]|0):0)ow(c[i>>2]|0,c[j>>2]|0,c[m>>2]|0)}else if(c[k>>2]|0){b[(c[j>>2]|0)+34>>1]=b[(c[k>>2]|0)+34>>1]|0;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];b[(c[k>>2]|0)+34>>1]=0;c[(c[k>>2]|0)+4>>2]=0;break}else{b[(c[j>>2]|0)+34>>1]=0;c[n>>2]=(c[n>>2]|0)+1;break}while(0);tk(c[p>>2]|0,c[k>>2]|0);Jk(c[p>>2]|0,c[m>>2]|0);q=(c[p>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1}else c[n>>2]=(c[n>>2]|0)+1;q=(c[(c[j>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[h>>2]=c[n>>2];q=c[h>>2]|0;l=r;return q|0}function fw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){a=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){a=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((a|0)==5){l=f;return c[e>>2]|0}return 0}function gw(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;l=e;return}function hw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=iw(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=Uv(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}l=g;return c[f>>2]|0}function iw(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=hv((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;l=b;return a|0}function jw(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q+8|0;o=q;f=q+44|0;g=q+40|0;h=q+36|0;i=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;e=q+12|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+42>>0]|0)&16|0?(fw(c[i>>2]|0,c[h>>2]|0)|0)==0:0){c[j>>2]=c[c[(c[h>>2]|0)+52>>2]>>2];c[k>>2]=hv((c[i>>2]|0)+320|0,c[j>>2]|0)|0;if(c[k>>2]|0){c[e>>2]=0;c[m>>2]=jv(c[i>>2]|0,c[h>>2]|0,c[k>>2]|0,c[(c[c[k>>2]>>2]|0)+8>>2]|0,e)|0;if(c[m>>2]|0){o=c[g>>2]|0;c[p>>2]=c[e>>2];sl(o,21240,p)}Xd(c[i>>2]|0,c[e>>2]|0)}else{c[n>>2]=c[c[(c[h>>2]|0)+52>>2]>>2];p=c[g>>2]|0;c[o>>2]=c[n>>2];sl(p,30050,o);c[m>>2]=1}c[f>>2]=c[m>>2];p=c[f>>2]|0;l=q;return p|0}c[f>>2]=0;p=c[f>>2]|0;l=q;return p|0}function kw(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;if(!(c[i>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}c[k>>2]=Ed(c[h>>2]|0,68,0)|0;if(!(c[k>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}f=cx(c[h>>2]|0,c[c[i>>2]>>2]|0,c[j>>2]|0)|0;c[c[k>>2]>>2]=f;f=Wx(c[h>>2]|0,c[(c[i>>2]|0)+28>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+28>>2]=f;f=Ww(c[h>>2]|0,c[(c[i>>2]|0)+32>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+32>>2]=f;f=cx(c[h>>2]|0,c[(c[i>>2]|0)+36>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+36>>2]=f;f=Ww(c[h>>2]|0,c[(c[i>>2]|0)+40>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+40>>2]=f;f=cx(c[h>>2]|0,c[(c[i>>2]|0)+44>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+44>>2]=f;a[(c[k>>2]|0)+4>>0]=a[(c[i>>2]|0)+4>>0]|0;f=kw(c[h>>2]|0,c[(c[i>>2]|0)+48>>2]|0,c[j>>2]|0)|0;c[m>>2]=f;c[(c[k>>2]|0)+48>>2]=f;if(c[m>>2]|0)c[(c[m>>2]|0)+52>>2]=c[k>>2];c[(c[k>>2]|0)+52>>2]=0;m=Ww(c[h>>2]|0,c[(c[i>>2]|0)+56>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+56>>2]=m;m=Ww(c[h>>2]|0,c[(c[i>>2]|0)+60>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+60>>2]=m;c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+8>>2]=c[(c[i>>2]|0)+8>>2]&-33;c[(c[k>>2]|0)+20>>2]=-1;c[(c[k>>2]|0)+20+4>>2]=-1;b[(c[k>>2]|0)+6>>1]=b[(c[i>>2]|0)+6>>1]|0;m=Xx(c[h>>2]|0,c[(c[i>>2]|0)+64>>2]|0)|0;c[(c[k>>2]|0)+64>>2]=m;c[g>>2]=c[k>>2];m=c[g>>2]|0;l=n;return m|0}function lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){a=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){a=8;break}a=(c[d>>2]|0)+40|0;b=c[a>>2]|0;c[a>>2]=b+1;c[(c[g>>2]|0)+44>>2]=b;if(c[(c[g>>2]|0)+20>>2]|0)lw(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+28>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((a|0)==8){l=h;return}}function mw(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[k>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;Aw(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+36>>2]|0){c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}c[(c[j>>2]|0)+24>>2]=c[k>>2];c[i>>2]=_l(c[j>>2]|0,72,0)|0;if(!(c[i>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}b[(c[i>>2]|0)+36>>1]=1;c[c[i>>2]>>2]=0;b[(c[i>>2]|0)+38>>1]=200;nw(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[i>>2]|0)+34|0,(c[i>>2]|0)+4|0)|0;ow(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0);b[(c[i>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+69>>0]|0){tk(c[j>>2]|0,c[i>>2]|0);c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}else{c[f>>2]=c[i>>2];k=c[f>>2]|0;l=m;return k|0}return 0}function nw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+112|0;v=D+8|0;u=D;z=D+104|0;E=D+100|0;t=D+96|0;A=D+92|0;B=D+88|0;C=D+84|0;w=D+80|0;x=D+76|0;i=D+72|0;y=D+68|0;j=D+64|0;k=D+60|0;m=D+56|0;n=D+52|0;o=D+48|0;p=D+32|0;q=D+28|0;r=D+24|0;s=D+20|0;c[E>>2]=e;c[t>>2]=f;c[A>>2]=g;c[B>>2]=h;c[C>>2]=c[c[E>>2]>>2];Rq(p);if(c[t>>2]|0){c[k>>2]=c[c[t>>2]>>2];c[y>>2]=_l(c[C>>2]|0,c[k>>2]<<4,0)|0}else{c[k>>2]=0;c[y>>2]=0}b[c[A>>2]>>1]=c[k>>2];c[c[B>>2]>>2]=c[y>>2];c[w>>2]=0;c[j>>2]=c[y>>2];while(1){if((c[w>>2]|0)>=(c[k>>2]|0))break;if(!((a[(c[C>>2]|0)+69>>0]|0)!=0^1))break;c[m>>2]=yw(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+4>>2]|0;c[n>>2]=E;do if(!E){c[q>>2]=c[m>>2];while(1){e=c[q>>2]|0;if((d[c[q>>2]>>0]|0)!=122)break;c[q>>2]=c[e+16>>2]}if((d[e>>0]|0)==152?c[(c[q>>2]|0)+44>>2]|0:0){c[s>>2]=b[(c[q>>2]|0)+32>>1];c[r>>2]=c[(c[q>>2]|0)+44>>2];if((c[s>>2]|0)<0)c[s>>2]=b[(c[r>>2]|0)+32>>1];if((c[s>>2]|0)>=0)e=c[(c[(c[r>>2]|0)+4>>2]|0)+(c[s>>2]<<4)>>2]|0;else e=26001;c[n>>2]=e;break}if((d[c[q>>2]>>0]|0)==55){c[n>>2]=c[(c[q>>2]|0)+8>>2];break}else{c[n>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2];break}}while(0);E=c[C>>2]|0;c[u>>2]=c[n>>2];c[n>>2]=Wj(E,21240,u)|0;c[i>>2]=0;while(1){if(c[n>>2]|0)f=(hv(p,c[n>>2]|0)|0)!=0;else f=0;e=c[n>>2]|0;if(!f)break;c[o>>2]=md(e)|0;if((c[o>>2]|0)>0){c[x>>2]=(c[o>>2]|0)-1;while(1){if((c[x>>2]|0)<=0)break;if(!(d[20063+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&4))break;c[x>>2]=(c[x>>2]|0)+-1}if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==58)c[o>>2]=c[x>>2]}E=c[C>>2]|0;f=c[o>>2]|0;g=c[n>>2]|0;h=(c[i>>2]|0)+1|0;c[i>>2]=h;c[v>>2]=f;c[v+4>>2]=g;c[v+8>>2]=h;c[n>>2]=Wj(E,28463,v)|0;if((c[i>>2]|0)>>>0<=3)continue;sf(4,i)}c[c[j>>2]>>2]=e;if(c[n>>2]|0?(E=Fk(p,c[n>>2]|0,c[j>>2]|0)|0,(E|0)==(c[j>>2]|0)):0)Od(c[C>>2]|0);c[w>>2]=(c[w>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}$k(p);if(!(a[(c[C>>2]|0)+69>>0]|0)){c[z>>2]=0;E=c[z>>2]|0;l=D;return E|0}c[x>>2]=0;while(1){e=c[C>>2]|0;f=c[y>>2]|0;if((c[x>>2]|0)>=(c[w>>2]|0))break;Xd(e,c[f+(c[x>>2]<<4)>>2]|0);c[x>>2]=(c[x>>2]|0)+1}Xd(e,f);c[c[B>>2]>>2]=0;b[c[A>>2]>>1]=0;c[z>>2]=7;E=c[z>>2]|0;l=D;return E|0}function ow(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+96|0;p=w+84|0;q=w+80|0;r=w+76|0;s=w+72|0;t=w+40|0;u=w+36|0;v=w+32|0;h=w+28|0;i=w+24|0;j=w+20|0;k=w;m=w+16|0;n=w+12|0;o=w+8|0;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=c[c[p>>2]>>2];g=k;c[g>>2]=0;c[g+4>>2]=0;if(a[(c[s>>2]|0)+69>>0]|0){l=w;return};c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;c[t+4>>2]=c[(c[r>>2]|0)+28>>2];c[j>>2]=c[(c[c[r>>2]>>2]|0)+4>>2];c[h>>2]=0;c[u>>2]=c[(c[q>>2]|0)+4>>2];while(1){if((c[h>>2]|0)>=(b[(c[q>>2]|0)+34>>1]|0))break;c[i>>2]=c[(c[j>>2]|0)+((c[h>>2]|0)*20|0)>>2];c[m>>2]=pw(t,c[i>>2]|0,(c[u>>2]|0)+14|0)|0;g=k;g=_$(c[g>>2]|0,c[g+4>>2]|0,d[(c[u>>2]|0)+14>>0]|0,0)|0;r=k;c[r>>2]=g;c[r+4>>2]=D;r=qw(c[i>>2]|0)|0;a[(c[u>>2]|0)+13>>0]=r;if((c[m>>2]|0?(r=md(c[m>>2]|0)|0,c[o>>2]=r,(r|0)>0):0)?(c[n>>2]=md(c[c[u>>2]>>2]|0)|0,r=(c[n>>2]|0)+(c[o>>2]|0)+2|0,r=ji(c[s>>2]|0,c[c[u>>2]>>2]|0,r,((r|0)<0)<<31>>31)|0,c[c[u>>2]>>2]=r,c[c[u>>2]>>2]|0):0){h0((c[c[u>>2]>>2]|0)+((c[n>>2]|0)+1)|0,c[m>>2]|0,(c[o>>2]|0)+1|0)|0;r=(c[u>>2]|0)+15|0;a[r>>0]=d[r>>0]|4}if(!(a[(c[u>>2]|0)+13>>0]|0))a[(c[u>>2]|0)+13>>0]=65;c[v>>2]=rw(c[p>>2]|0,c[i>>2]|0)|0;if(c[v>>2]|0?(c[(c[u>>2]|0)+8>>2]|0)==0:0){r=Xo(c[s>>2]|0,c[c[v>>2]>>2]|0)|0;c[(c[u>>2]|0)+8>>2]=r}c[h>>2]=(c[h>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+16}v=k;v=r0(c[v>>2]|0,c[v+4>>2]|0,4,0)|0;v=xv(v,D)|0;b[(c[q>>2]|0)+40>>1]=v;l=w;return}function pw(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+128|0;q=x+112|0;r=x+108|0;s=x+104|0;t=x+100|0;u=x+96|0;v=x+116|0;w=x+92|0;h=x+88|0;i=x+84|0;j=x+80|0;k=x+48|0;m=x+40|0;n=x+8|0;o=x+4|0;p=x;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=0;a[v>>0]=1;a:do switch(d[c[r>>2]>>0]|0){case 152:case 154:{c[w>>2]=0;c[h>>2]=0;c[i>>2]=b[(c[r>>2]|0)+32>>1];while(1){if(!(c[q>>2]|0))break;if(!((c[w>>2]|0)!=0^1))break;c[j>>2]=c[(c[q>>2]|0)+4>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[u>>2]|0)*72|0)+44>>2]|0)==(c[(c[r>>2]|0)+28>>2]|0))break;c[u>>2]=(c[u>>2]|0)+1}if((c[u>>2]|0)<(c[c[j>>2]>>2]|0)){c[w>>2]=c[(c[j>>2]|0)+8+((c[u>>2]|0)*72|0)+16>>2];c[h>>2]=c[(c[j>>2]|0)+8+((c[u>>2]|0)*72|0)+20>>2];continue}else{c[q>>2]=c[(c[q>>2]|0)+16>>2];continue}}if(c[w>>2]|0){if(c[h>>2]|0){if((c[i>>2]|0)<0)break a;if((c[i>>2]|0)>=(c[c[c[h>>2]>>2]>>2]|0))break a;c[m>>2]=c[(c[(c[c[h>>2]>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2];c[k+4>>2]=c[(c[h>>2]|0)+28>>2];c[k+16>>2]=c[q>>2];c[k>>2]=c[c[q>>2]>>2];c[t>>2]=pw(k,c[m>>2]|0,v)|0;break a}if(c[(c[w>>2]|0)+64>>2]|0){if((c[i>>2]|0)<0)c[i>>2]=b[(c[w>>2]|0)+32>>1];if((c[i>>2]|0)<0){c[t>>2]=28455;break a}else{c[t>>2]=kv((c[(c[w>>2]|0)+4>>2]|0)+(c[i>>2]<<4)|0,0)|0;a[v>>0]=a[(c[(c[w>>2]|0)+4>>2]|0)+(c[i>>2]<<4)+14>>0]|0;break a}}}break}case 119:{c[o>>2]=c[(c[r>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2];c[n+4>>2]=c[(c[o>>2]|0)+28>>2];c[n+16>>2]=c[q>>2];c[n>>2]=c[c[q>>2]>>2];c[t>>2]=pw(n,c[p>>2]|0,v)|0;break}default:{}}while(0);if(!(c[s>>2]|0)){w=c[t>>2]|0;l=x;return w|0}a[c[s>>2]>>0]=a[v>>0]|0;w=c[t>>2]|0;l=x;return w|0}function qw(e){e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=e;c[g>>2]=yw(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512|0){a[f>>0]=0;h=a[f>>0]|0;l=i;return h|0}c[h>>2]=d[c[g>>2]>>0];if((c[h>>2]|0)==119){a[f>>0]=qw(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;h=a[f>>0]|0;l=i;return h|0}if((c[h>>2]|0)==157)c[h>>2]=d[(c[g>>2]|0)+38>>0];if((c[h>>2]|0)==66){a[f>>0]=Wv(c[(c[g>>2]|0)+8>>2]|0,0)|0;h=a[f>>0]|0;l=i;return h|0}if((c[h>>2]|0)==154|(c[h>>2]|0)==152){a[f>>0]=zw(c[(c[g>>2]|0)+44>>2]|0,b[(c[g>>2]|0)+32>>1]|0)|0;h=a[f>>0]|0;l=i;return h|0}e=c[g>>2]|0;if((c[h>>2]|0)==159){a[f>>0]=qw(c[(c[(c[c[(c[e+12>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+32>>1]|0)*20|0)>>2]|0)|0;h=a[f>>0]|0;l=i;return h|0}else{a[f>>0]=a[e+1>>0]|0;h=a[f>>0]|0;l=i;return h|0}return 0}function rw(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;i=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;g=r+4|0;h=r;c[i>>2]=e;c[s>>2]=f;c[j>>2]=c[c[i>>2]>>2];c[k>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[n>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512|0)break;if((c[n>>2]|0)==66|(c[n>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[n>>2]|0)==53){q=9;break}if((c[n>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==53:0){q=9;break}if((c[n>>2]|0)==154|(c[n>>2]|0)==152|(c[n>>2]|0)==157|(c[n>>2]|0)==88?c[(c[m>>2]|0)+44>>2]|0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if(c[(c[m>>2]|0)+12>>2]|0?c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[g>>2]=c[(c[m>>2]|0)+16>>2];a:do if(c[(c[m>>2]|0)+20>>2]|0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)+4>>2]&256|0)break;c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]}while(0);c[m>>2]=c[g>>2]}if((q|0)==9)c[k>>2]=sw(c[i>>2]|0,a[(c[j>>2]|0)+66>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[o>>2]=b[(c[m>>2]|0)+32>>1],(c[o>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+(c[o>>2]<<4)+8>>2];c[k>>2]=tw(c[j>>2]|0,a[(c[j>>2]|0)+66>>0]|0,c[p>>2]|0,0)|0}if(!(uw(c[i>>2]|0,c[k>>2]|0)|0)){s=c[k>>2]|0;l=r;return s|0}c[k>>2]=0;s=c[k>>2]|0;l=r;return s|0}function sw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;n=o;h=o+20|0;i=o+24|0;p=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;c[h>>2]=b;a[i>>0]=e;c[p>>2]=f;c[j>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[k>>2]=c[p>>2];if(!(c[k>>2]|0))c[k>>2]=tw(c[m>>2]|0,a[i>>0]|0,c[j>>2]|0,0)|0;if(!(c[k>>2]|0?(c[(c[k>>2]|0)+12>>2]|0)!=0:0)){ww(c[m>>2]|0,d[i>>0]|0,c[j>>2]|0);c[k>>2]=tw(c[m>>2]|0,a[i>>0]|0,c[j>>2]|0,0)|0}if((c[k>>2]|0?(c[(c[k>>2]|0)+12>>2]|0)==0:0)?xw(c[m>>2]|0,c[k>>2]|0)|0:0)c[k>>2]=0;if(c[k>>2]|0){p=c[k>>2]|0;l=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[j>>2];sl(p,28421,n);p=c[k>>2]|0;l=o;return p|0}function tw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;n=m+12|0;h=m+16|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=b;a[h>>0]=e;c[i>>2]=f;c[j>>2]=g;b=c[n>>2]|0;if(c[i>>2]|0)c[k>>2]=vw(b,c[i>>2]|0,c[j>>2]|0)|0;else c[k>>2]=c[b+8>>2];if(!(c[k>>2]|0)){n=c[k>>2]|0;l=m;return n|0}c[k>>2]=(c[k>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[k>>2]|0;l=m;return n|0}function uw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;if(c[g>>2]|0?(c[h>>2]=c[c[g>>2]>>2],c[i>>2]=c[c[f>>2]>>2],c[j>>2]=sw(c[f>>2]|0,a[(c[i>>2]|0)+66>>0]|0,c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function vw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;m=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[h>>2]=hv((c[f>>2]|0)+364|0,c[g>>2]|0)|0;if(!(0==(c[h>>2]|0)&(c[m>>2]|0)!=0)){m=c[h>>2]|0;l=k;return m|0}c[i>>2]=md(c[g>>2]|0)|0;c[h>>2]=_l(c[f>>2]|0,60+(c[i>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){m=c[h>>2]|0;l=k;return m|0}c[j>>2]=0;c[c[h>>2]>>2]=(c[h>>2]|0)+60;a[(c[h>>2]|0)+4>>0]=1;c[(c[h>>2]|0)+20>>2]=(c[h>>2]|0)+60;a[(c[h>>2]|0)+20+4>>0]=2;c[(c[h>>2]|0)+40>>2]=(c[h>>2]|0)+60;a[(c[h>>2]|0)+40+4>>0]=3;h0(c[c[h>>2]>>2]|0,c[g>>2]|0,c[i>>2]|0)|0;a[(c[c[h>>2]>>2]|0)+(c[i>>2]|0)>>0]=0;c[j>>2]=Fk((c[f>>2]|0)+364|0,c[c[h>>2]>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){m=c[h>>2]|0;l=k;return m|0}Od(c[f>>2]|0);Xd(c[f>>2]|0,c[j>>2]|0);c[h>>2]=0;m=c[h>>2]|0;l=k;return m|0}function ww(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;do if(c[(c[g>>2]|0)+232>>2]|0){c[j>>2]=Xo(c[g>>2]|0,c[i>>2]|0)|0;if(c[j>>2]|0){Ob[c[(c[g>>2]|0)+232>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);Xd(c[g>>2]|0,c[j>>2]|0);break}else{l=n;return}}while(0);if(!(c[(c[g>>2]|0)+236>>2]|0)){l=n;return}c[m>>2]=Dp(c[g>>2]|0)|0;Ep(c[m>>2]|0,-1,c[i>>2]|0,1,0);c[k>>2]=ti(c[m>>2]|0,((a[936]|0)==0?3:2)&255)|0;if(c[k>>2]|0)Ob[c[(c[g>>2]|0)+236>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+66>>0]|0,c[k>>2]|0);Bk(c[m>>2]|0);l=n;return}function xw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;e=k+16|0;i=k+12|0;j=k+8|0;f=k+4|0;g=k;c[e>>2]=b;c[i>>2]=d;c[f>>2]=c[c[i>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=3){b=6;break}c[j>>2]=tw(c[e>>2]|0,a[28452+(c[g>>2]|0)>>0]|0,c[f>>2]|0,0)|0;if(c[(c[j>>2]|0)+12>>2]|0){b=4;break}c[g>>2]=(c[g>>2]|0)+1}if((b|0)==4){g=c[i>>2]|0;j=c[j>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];c[g+16>>2]=c[j+16>>2];c[(c[i>>2]|0)+16>>2]=0;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}else if((b|0)==6){c[h>>2]=1;j=c[h>>2]|0;l=k;return j|0}return 0}function yw(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144|0){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}l=e;return b|0}function zw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[f>>2]|0)<0){f=68;f=f&255;l=g;return f|0}f=a[(c[(c[e>>2]|0)+4>>2]|0)+(c[f>>2]<<4)+13>>0]|0;f=f&255;l=g;return f|0}function Aw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;if(!(c[h>>2]|0)){l=k;return}c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+69>>0]|0){l=k;return}if(c[(c[h>>2]|0)+8>>2]&128|0){l=k;return}Bw(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){l=k;return}if(d[(c[j>>2]|0)+69>>0]|0){l=k;return}Cw(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){l=k;return}if(d[(c[j>>2]|0)+69>>0]|0){l=k;return}Dw(c[g>>2]|0,c[h>>2]|0);l=k;return}function Bw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+48|0;h=g+32|0;e=g+28|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=197;c[f>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+8>>2]=198;Gw(f,c[e>>2]|0)|0}c[f+8>>2]=199;if(c[(c[e>>2]|0)+8>>2]&1024|0){h=c[e>>2]|0;Gw(f,h)|0;l=g;return}c[f+12>>2]=132;h=c[e>>2]|0;Gw(f,h)|0;l=g;return}function Cw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+48|0;i=e+36|0;f=e+32|0;h=e+28|0;g=e;c[i>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=200;c[g+8>>2]=201;c[g>>2]=c[i>>2];c[g+24>>2]=c[h>>2];Gw(g,c[f>>2]|0)|0;l=e;return}function Dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=197;c[f>>2]=c[g>>2];Gw(f,c[e>>2]|0)|0;l=d;return}function Ew(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;n=k+28|0;m=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[n>>2]=a;c[m>>2]=b;b=(c[m>>2]|0)+8|0;c[b>>2]=c[b>>2]|128;c[e>>2]=c[c[n>>2]>>2];c[g>>2]=c[(c[m>>2]|0)+28>>2];c[f>>2]=0;c[h>>2]=(c[g>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;c[i>>2]=c[(c[h>>2]|0)+16>>2];if((d[(c[i>>2]|0)+42>>0]|0)&2|0?(c[j>>2]=c[(c[h>>2]|0)+20>>2],c[j>>2]|0):0){while(1){if(!(c[(c[j>>2]|0)+48>>2]|0))break;c[j>>2]=c[(c[j>>2]|0)+48>>2]}ow(c[e>>2]|0,c[i>>2]|0,c[j>>2]|0)}c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}l=k;return}function Fw(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function Gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+1;while(1){if(!(c[d>>2]|0)){a=15;break}if(c[(c[f>>2]|0)+8>>2]|0?(c[g>>2]=Mb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,c[g>>2]|0):0){a=15;break}if(Hw(c[f>>2]|0,c[d>>2]|0)|0){a=11;break}if(Iw(c[f>>2]|0,c[d>>2]|0)|0){a=11;break}if(c[(c[f>>2]|0)+12>>2]|0)Fb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+48>>2]}if((a|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;l=h;return g|0}else if((a|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;l=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}function Hw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(Jw(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(Kw(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0)|0){c[d>>2]=2;break}if(Jw(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(Kw(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(Jw(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(Kw(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0)|0){c[d>>2]=2;break}if(Kw(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);l=g;return c[d>>2]|0}function Iw(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;i=j+20|0;e=j+16|0;k=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=c[(c[k>>2]|0)+28>>2];a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=(c[f>>2]|0)+8;while(1){if((c[g>>2]|0)<=0)break a;if(Gw(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0){a=5;break}if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1|0?Jw(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0)|0:0){a=8;break}c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+72}if((a|0)==5){c[i>>2]=2;k=c[i>>2]|0;l=j;return k|0}else if((a|0)==8){c[i>>2]=2;k=c[i>>2]|0;l=j;return k|0}}while(0);c[i>>2]=0;k=c[i>>2]|0;l=j;return k|0}function Jw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(Kw(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;h=c[d>>2]|0;l=i;return h|0}while(0);c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}function Kw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){e=0;l=f;return e|0}e=Lw(c[d>>2]|0,c[e>>2]|0)|0;l=f;return e|0}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Mb[c[(c[e>>2]|0)+4>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&8404992|0)==0:0){if(c[(c[f>>2]|0)+12>>2]|0?Lw(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0:0){c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}if(c[(c[f>>2]|0)+16>>2]|0?Lw(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0:0){c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}if(c[(c[f>>2]|0)+4>>2]&2048|0){if(Gw(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0){c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}}else if(c[(c[f>>2]|0)+20>>2]|0?Jw(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0:0){c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=c[g>>2]&2;g=c[d>>2]|0;l=h;return g|0}function Mw(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+144|0;p=M+40|0;H=M+32|0;J=M+24|0;I=M+16|0;G=M+8|0;F=M;L=M+128|0;B=M+124|0;C=M+120|0;D=M+116|0;E=M+112|0;m=M+108|0;n=M+104|0;o=M+100|0;h=M+96|0;q=M+92|0;r=M+88|0;s=M+84|0;t=M+80|0;u=M+76|0;v=M+72|0;w=M+68|0;x=M+64|0;y=M+132|0;z=M+60|0;A=M+56|0;i=M+52|0;j=M+48|0;k=M+44|0;c[B>>2]=f;c[C>>2]=g;c[D>>2]=c[(c[B>>2]|0)+24>>2];c[E>>2]=c[c[D>>2]>>2];if(c[(c[C>>2]|0)+4>>2]&4|0){c[L>>2]=1;L=c[L>>2]|0;l=M;return L|0}g=(c[C>>2]|0)+4|0;c[g>>2]=c[g>>2]|4;switch(d[c[C>>2]>>0]|0){case 55:{c[L>>2]=mx(c[E>>2]|0,0,0,c[(c[C>>2]|0)+8>>2]|0,c[D>>2]|0,c[C>>2]|0)|0;L=c[L>>2]|0;l=M;return L|0}case 122:{nx(c[E>>2]|0,c[D>>2]|0,28977,32);c[h>>2]=c[(c[C>>2]|0)+16>>2];if((d[c[h>>2]>>0]|0)==55){c[o>>2]=0;c[n>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[h>>2]|0)+8>>2]}else{c[o>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+8>>2]}c[L>>2]=mx(c[E>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[D>>2]|0,c[C>>2]|0)|0;L=c[L>>2]|0;l=M;return L|0}case 151:{c[q>>2]=c[(c[C>>2]|0)+20>>2];if(c[q>>2]|0)f=c[c[q>>2]>>2]|0;else f=0;c[r>>2]=f;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;a[y>>0]=a[(c[c[E>>2]>>2]|0)+66>>0]|0;c[w>>2]=c[(c[C>>2]|0)+8>>2];c[v>>2]=md(c[w>>2]|0)|0;c[x>>2]=ox(c[c[E>>2]>>2]|0,c[w>>2]|0,c[r>>2]|0,a[y>>0]|0,0)|0;do if(!(c[x>>2]|0)){c[x>>2]=ox(c[c[E>>2]>>2]|0,c[w>>2]|0,-2,a[y>>0]|0,0)|0;if(!(c[x>>2]|0)){c[s>>2]=1;break}else{c[t>>2]=1;break}}else{c[u>>2]=(c[(c[x>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[x>>2]|0)+2>>1]&1024|0){y=(c[C>>2]|0)+4|0;c[y>>2]=c[y>>2]|266240;if((c[r>>2]|0)!=2){c[(c[C>>2]|0)+28>>2]=(a[c[(c[x>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}y=px(c[(c[(c[q>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[C>>2]|0)+28>>2]=y;if((c[(c[C>>2]|0)+28>>2]|0)<0){sl(c[E>>2]|0,28994,F);F=(c[D>>2]|0)+24|0;c[F>>2]=(c[F>>2]|0)+1}}while(0);c[z>>2]=Iu(c[E>>2]|0,31,0,c[(c[x>>2]|0)+20>>2]|0,0)|0;if(c[z>>2]|0){if((c[z>>2]|0)==1){K=c[E>>2]|0;c[G>>2]=c[(c[x>>2]|0)+20>>2];sl(K,29065,G);K=(c[D>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}a[c[C>>2]>>0]=101;c[L>>2]=1;L=c[L>>2]|0;l=M;return L|0}else{if(e[(c[x>>2]|0)+2>>1]&10240|0){G=(c[C>>2]|0)+4|0;c[G>>2]=c[G>>2]|524288}if(e[(c[x>>2]|0)+2>>1]&2048|0)break;nx(c[E>>2]|0,c[D>>2]|0,29100,34);break}}while(0);if(c[u>>2]|0?(e[(c[D>>2]|0)+28>>1]&1|0)==0:0){J=c[E>>2]|0;H=c[w>>2]|0;c[I>>2]=c[v>>2];c[I+4>>2]=H;sl(J,29128,I);J=(c[D>>2]|0)+24|0;c[J>>2]=(c[J>>2]|0)+1;c[u>>2]=0}else K=31;do if((K|0)==31){if(c[s>>2]|0?(d[(c[c[E>>2]>>2]|0)+148+5>>0]|0)==0:0){K=c[E>>2]|0;I=c[w>>2]|0;c[J>>2]=c[v>>2];c[J+4>>2]=I;sl(K,29164,J);K=(c[D>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1;break}if(c[t>>2]|0){K=c[E>>2]|0;J=c[w>>2]|0;c[H>>2]=c[v>>2];c[H+4>>2]=J;sl(K,29187,H);K=(c[D>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}}while(0);if(c[u>>2]|0){K=(c[D>>2]|0)+28|0;b[K>>1]=e[K>>1]&-2}Jw(c[B>>2]|0,c[q>>2]|0)|0;if(c[u>>2]|0){c[A>>2]=c[D>>2];a[c[C>>2]>>0]=-103;a[(c[C>>2]|0)+38>>0]=0;while(1){if(!(c[A>>2]|0))break;if(!((qx(c[C>>2]|0,c[(c[A>>2]|0)+4>>2]|0)|0)!=0^1))break;K=(c[C>>2]|0)+38|0;a[K>>0]=(a[K>>0]|0)+1<<24>>24;c[A>>2]=c[(c[A>>2]|0)+16>>2]}if(c[A>>2]|0){K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]|(16|e[(c[x>>2]|0)+2>>1]&4096)}K=(c[D>>2]|0)+28|0;b[K>>1]=e[K>>1]|1}c[L>>2]=1;L=c[L>>2]|0;l=M;return L|0}case 33:case 20:case 119:{if(c[(c[C>>2]|0)+4>>2]&2048|0?(c[i>>2]=c[(c[D>>2]|0)+20>>2],nx(c[E>>2]|0,c[D>>2]|0,29232,38),Gw(c[B>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0,(c[i>>2]|0)!=(c[(c[D>>2]|0)+20>>2]|0)):0){K=(c[C>>2]|0)+4|0;c[K>>2]=c[K>>2]|32;K=(c[D>>2]|0)+28|0;b[K>>1]=e[K>>1]|64}break}case 135:{nx(c[E>>2]|0,c[D>>2]|0,29243,38);break}case 148:case 29:case 41:case 38:case 39:case 40:case 36:case 37:{if((a[(c[c[E>>2]>>2]|0)+69>>0]|0)==0?(c[j>>2]=rx(c[(c[C>>2]|0)+12>>2]|0)|0,c[k>>2]=rx(c[(c[C>>2]|0)+16>>2]|0)|0,(c[j>>2]|0)!=(c[k>>2]|0)):0)sl(c[E>>2]|0,29254,p);break}default:{}}if(c[(c[E>>2]|0)+36>>2]|0)f=1;else f=(d[(c[c[E>>2]>>2]|0)+69>>0]|0)!=0;c[L>>2]=f?2:0;L=c[L>>2]|0;l=M;return L|0}function Nw(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+128|0;C=E+8|0;B=E;D=E+116|0;t=E+112|0;y=E+108|0;u=E+104|0;v=E+72|0;z=E+68|0;w=E+64|0;A=E+60|0;h=E+56|0;i=E+52|0;x=E+48|0;j=E+44|0;k=E+40|0;m=E+36|0;n=E+32|0;o=E+28|0;p=E+24|0;q=E+20|0;r=E+16|0;s=E+12|0;c[t>>2]=f;c[y>>2]=g;if(c[(c[y>>2]|0)+8>>2]&4|0){c[D>>2]=1;D=c[D>>2]|0;l=E;return D|0}c[u>>2]=c[(c[t>>2]|0)+24>>2];c[A>>2]=c[c[t>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(c[(c[y>>2]|0)+8>>2]&64)){Aw(c[A>>2]|0,c[y>>2]|0,c[u>>2]|0);if(c[(c[A>>2]|0)+36>>2]|0)f=1;else f=(d[(c[j>>2]|0)+69>>0]|0)!=0;c[D>>2]=f?2:1;D=c[D>>2]|0;l=E;return D|0}c[z>>2]=(c[(c[y>>2]|0)+48>>2]|0)!=0&1;c[w>>2]=0;c[x>>2]=c[y>>2];a:while(1){if(!(c[y>>2]|0)){f=68;break}t=(c[y>>2]|0)+8|0;c[t>>2]=c[t>>2]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(Ow(v,c[(c[y>>2]|0)+56>>2]|0)|0){f=11;break}if(Ow(v,c[(c[y>>2]|0)+60>>2]|0)|0){f=11;break}if(c[(c[y>>2]|0)+8>>2]&65536|0){c[k>>2]=c[(c[(c[y>>2]|0)+28>>2]|0)+8+20>>2];c[(c[k>>2]|0)+44>>2]=c[(c[y>>2]|0)+44>>2];c[(c[y>>2]|0)+44>>2]=0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[y>>2]|0)+28>>2]>>2]|0))break;c[m>>2]=(c[(c[y>>2]|0)+28>>2]|0)+8+((c[h>>2]|0)*72|0);if(c[(c[m>>2]|0)+20>>2]|0){c[o>>2]=0;c[p>>2]=c[(c[A>>2]|0)+448>>2];c[n>>2]=c[u>>2];while(1){if(!(c[n>>2]|0))break;c[o>>2]=(c[o>>2]|0)+(c[(c[n>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+16>>2]}if(c[(c[m>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+448>>2]=c[(c[m>>2]|0)+8>>2];Cw(c[A>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[u>>2]|0);c[(c[A>>2]|0)+448>>2]=c[p>>2];if(c[(c[A>>2]|0)+36>>2]|0){f=24;break a}if(d[(c[j>>2]|0)+69>>0]|0){f=24;break a}c[n>>2]=c[u>>2];while(1){if(!(c[n>>2]|0))break;c[o>>2]=(c[o>>2]|0)-(c[(c[n>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+16>>2]}t=(c[m>>2]|0)+36+1|0;a[t>>0]=a[t>>0]&-9|((c[o>>2]|0)!=0&1)<<3&255}c[h>>2]=(c[h>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[y>>2]|0)+28>>2];c[v+16>>2]=c[u>>2];if(Pw(v,c[c[y>>2]>>2]|0)|0){f=31;break}c[i>>2]=c[(c[y>>2]|0)+36>>2];if(!(c[i>>2]|0)?!(e[v+28>>1]&16|0):0){t=v+28|0;b[t>>1]=e[t>>1]&-2}else{t=(c[y>>2]|0)+8|0;c[t>>2]=c[t>>2]|(8|e[v+28>>1]&4096)}if(!(c[i>>2]|0?1:(c[(c[y>>2]|0)+40>>2]|0)==0)){f=37;break}c[v+8>>2]=c[c[y>>2]>>2];if(Ow(v,c[(c[y>>2]|0)+40>>2]|0)|0){f=39;break}if(Ow(v,c[(c[y>>2]|0)+32>>2]|0)|0){f=41;break}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[y>>2]|0)+28>>2]>>2]|0))break;c[q>>2]=(c[(c[y>>2]|0)+28>>2]|0)+8+((c[h>>2]|0)*72|0);if((d[(c[q>>2]|0)+36+1>>0]|0)>>>2&1|0?Pw(v,c[(c[q>>2]|0)+64>>2]|0)|0:0){f=46;break a}c[h>>2]=(c[h>>2]|0)+1}c[v+16>>2]=0;t=v+28|0;b[t>>1]=e[t>>1]|1;if(c[(c[y>>2]|0)+8>>2]&65536|0){c[r>>2]=c[(c[(c[y>>2]|0)+28>>2]|0)+8+20>>2];c[(c[y>>2]|0)+44>>2]=c[(c[r>>2]|0)+44>>2];c[(c[r>>2]|0)+44>>2]=0}if((c[z>>2]|0)<=(c[w>>2]|0)?Qw(v,c[y>>2]|0,c[(c[y>>2]|0)+44>>2]|0,28515)|0:0){f=52;break}if(a[(c[j>>2]|0)+69>>0]|0){f=54;break}b:do if(c[i>>2]|0){if(Qw(v,c[y>>2]|0,c[i>>2]|0,28521)|0){f=58;break a}if(d[(c[j>>2]|0)+69>>0]|0){f=58;break a}c[h>>2]=0;c[s>>2]=c[(c[i>>2]|0)+4>>2];while(1){if((c[h>>2]|0)>=(c[c[i>>2]>>2]|0))break b;if(c[(c[c[s>>2]>>2]|0)+4>>2]&2|0){f=62;break a}c[h>>2]=(c[h>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}}while(0);if(c[(c[y>>2]|0)+52>>2]|0?(c[c[c[y>>2]>>2]>>2]|0)!=(c[c[c[(c[y>>2]|0)+52>>2]>>2]>>2]|0):0){f=66;break}c[y>>2]=c[(c[y>>2]|0)+48>>2];c[w>>2]=(c[w>>2]|0)+1}switch(f|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 37:{sl(c[A>>2]|0,28471,B);c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 62:{sl(c[A>>2]|0,28527,C);c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 66:{Rw(c[A>>2]|0,c[(c[y>>2]|0)+52>>2]|0);c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 68:{if(c[z>>2]|0?Sw(c[A>>2]|0,c[x>>2]|0)|0:0){c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;l=E;return D|0}}return 0}function Ow(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;g=n+40|0;h=n+36|0;i=n+32|0;j=n+44|0;k=n+4|0;m=n;c[h>>2]=d;c[i>>2]=f;if(!(c[i>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}c[m>>2]=c[c[h>>2]>>2];if(lx(c[m>>2]|0,(c[(c[i>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+416>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;l=n;return m|0}m=(c[m>>2]|0)+416|0;c[m>>2]=(c[m>>2]|0)+(c[(c[i>>2]|0)+24>>2]|0);b[j>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4112;m=(c[h>>2]|0)+28|0;b[m>>1]=(e[m>>1]|0)&-4113;c[k>>2]=c[c[h>>2]>>2];c[k+4>>2]=200;c[k+8>>2]=201;c[k+12>>2]=0;c[k+16>>2]=0;a[k+20>>0]=0;c[k+24>>2]=c[h>>2];Kw(k,c[i>>2]|0)|0;m=(c[c[h>>2]>>2]|0)+416|0;c[m>>2]=(c[m>>2]|0)-(c[(c[i>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[k>>2]|0)+36>>2]|0)<=0:0)){m=(c[i>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&16|0){m=(c[i>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[j>>1]|0);c[g>>2]=(c[(c[i>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;l=n;return m|0}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(Ow(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function Qw(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+36|0;t=v+32|0;u=v+28|0;h=v+24|0;i=v+20|0;j=v+16|0;k=v+12|0;m=v+8|0;n=v+4|0;o=v;c[q>>2]=d;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;if(!(c[s>>2]|0)){c[p>>2]=0;u=c[p>>2]|0;l=v;return u|0}c[m>>2]=c[c[c[r>>2]>>2]>>2];c[k>>2]=c[c[q>>2]>>2];c[u>>2]=0;c[j>>2]=c[(c[s>>2]|0)+4>>2];a:while(1){if((c[u>>2]|0)>=(c[c[s>>2]>>2]|0)){f=21;break}c[n>>2]=c[c[j>>2]>>2];c[o>>2]=yw(c[n>>2]|0)|0;if((a[c[t>>2]>>0]|0)!=71?(c[i>>2]=Vw(c[k>>2]|0,c[c[r>>2]>>2]|0,c[o>>2]|0)|0,(c[i>>2]|0)>0):0){d=c[i>>2]&65535;e=c[j>>2]|0;f=19}else f=8;b:do if((f|0)==8){f=0;if(Tw(c[o>>2]|0,i)|0){if((c[i>>2]|0)<1|(c[i>>2]|0)>65535){f=10;break a}d=c[i>>2]&65535;e=c[j>>2]|0;f=19;break}b[(c[j>>2]|0)+16>>1]=0;if(Ow(c[q>>2]|0,c[n>>2]|0)|0){f=13;break a}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[c[r>>2]>>2]>>2]|0))break b;if(!(Yw(c[n>>2]|0,c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[j>>2]|0)+16>>1]=(c[h>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}}while(0);if((f|0)==19)b[e+16>>1]=d;c[u>>2]=(c[u>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==10){Uw(c[k>>2]|0,c[t>>2]|0,(c[u>>2]|0)+1|0,c[m>>2]|0);c[p>>2]=1;u=c[p>>2]|0;l=v;return u|0}else if((f|0)==13){c[p>>2]=1;u=c[p>>2]|0;l=v;return u|0}else if((f|0)==21){c[p>>2]=fx(c[k>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;u=c[p>>2]|0;l=v;return u|0}return 0}function Rw(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g+8|0;h=g+16|0;e=g+12|0;c[h>>2]=a;c[e>>2]=b;a=c[h>>2]|0;if(c[(c[e>>2]|0)+8>>2]&512|0){sl(a,28737,g);l=g;return}else{c[f>>2]=ex(d[(c[e>>2]|0)+4>>0]|0)|0;sl(a,28783,f);l=g;return}}function Sw(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;v=w+8|0;q=w+64|0;r=w+60|0;n=w+56|0;s=w+52|0;t=w+48|0;u=w+44|0;o=w+40|0;p=w+36|0;g=w+32|0;h=w+28|0;i=w+24|0;j=w+20|0;k=w+16|0;m=w+12|0;c[r>>2]=e;c[n>>2]=f;c[p>>2]=1;c[t>>2]=c[(c[n>>2]|0)+44>>2];if(!(c[t>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;l=w;return v|0}c[o>>2]=c[c[r>>2]>>2];if((c[c[t>>2]>>2]|0)>(c[(c[o>>2]|0)+96+8>>2]|0)){sl(c[r>>2]|0,28586,w);c[q>>2]=1;v=c[q>>2]|0;l=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[t>>2]>>2]|0))break;f=(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[n>>2]|0)+52>>2]=0;while(1){if(!(c[(c[n>>2]|0)+48>>2]|0))break;c[(c[(c[n>>2]|0)+48>>2]|0)+52>>2]=c[n>>2];c[n>>2]=c[(c[n>>2]|0)+48>>2]}a:while(1){if(!(c[n>>2]|0?(c[p>>2]|0)!=0:0)){e=36;break}c[p>>2]=0;c[u>>2]=c[c[n>>2]>>2];c[s>>2]=0;c[g>>2]=c[(c[t>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[t>>2]>>2]|0))break;c[h>>2]=-1;do if(!(a[(c[g>>2]|0)+13>>0]&1)){c[i>>2]=yw(c[c[g>>2]>>2]|0)|0;if(Tw(c[i>>2]|0,h)|0){if((c[h>>2]|0)<=0){e=18;break a}if((c[h>>2]|0)>(c[c[u>>2]>>2]|0)){e=18;break a}}else{c[h>>2]=Vw(c[r>>2]|0,c[u>>2]|0,c[i>>2]|0)|0;if(!(c[h>>2]|0)){c[j>>2]=Ww(c[o>>2]|0,c[i>>2]|0,0)|0;if(!(a[(c[o>>2]|0)+69>>0]|0))c[h>>2]=Xw(c[r>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;Ok(c[o>>2]|0,c[j>>2]|0)}}if((c[h>>2]|0)<=0){c[p>>2]=1;break}c[k>>2]=Ht(c[o>>2]|0,134,0)|0;if(!(c[k>>2]|0)){e=25;break a}f=(c[k>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[k>>2]|0)+8>>2]=c[h>>2];if((c[c[g>>2]>>2]|0)==(c[i>>2]|0))c[c[g>>2]>>2]=c[k>>2];else{c[m>>2]=c[c[g>>2]>>2];while(1){if((d[c[(c[m>>2]|0)+12>>2]>>0]|0)!=53)break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[m>>2]|0)+12>>2]=c[k>>2]}Ok(c[o>>2]|0,c[i>>2]|0);b[(c[g>>2]|0)+16>>1]=c[h>>2];f=(c[g>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}c[n>>2]=c[(c[n>>2]|0)+52>>2]}if((e|0)==18){Uw(c[r>>2]|0,28515,(c[s>>2]|0)+1|0,c[c[u>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;l=w;return v|0}else if((e|0)==25){c[q>>2]=1;v=c[q>>2]|0;l=w;return v|0}else if((e|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[t>>2]>>2]|0)){e=41;break}if(!(a[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){e=39;break}c[s>>2]=(c[s>>2]|0)+1}if((e|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;sl(u,28620,v);c[q>>2]=1;v=c[q>>2]|0;l=w;return v|0}else if((e|0)==41){c[q>>2]=0;v=c[q>>2]|0;l=w;return v|0}}return 0}function Tw(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024|0){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;i=c[e>>2]|0;l=j;return i|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=Tw(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(Tw(c[(c[f>>2]|0)+12>>2]|0,i)|0){c[c[g>>2]>>2]=0-(c[i>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}function Uw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;g=f;k=f+24|0;j=f+20|0;h=f+16|0;i=f+12|0;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[i>>2]=e;e=c[k>>2]|0;b=c[j>>2]|0;d=c[i>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=b;c[g+8>>2]=d;sl(e,28681,g);l=f;return}function Vw(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+24|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==55){c[j>>2]=c[(c[h>>2]|0)+8>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)+4>>2];if(c[k>>2]|0?(bh(c[k>>2]|0,c[j>>2]|0)|0)==0:0)break;c[i>>2]=(c[i>>2]|0)+1}c[f>>2]=(c[i>>2]|0)+1;k=c[f>>2]|0;l=m;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}function Ww(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){g=0;l=h;return g|0}g=_w(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,0)|0;l=h;return g|0}function Xw(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;k=l;l=l+80|0;j=k+60|0;q=k+56|0;r=k+52|0;g=k+48|0;h=k+44|0;i=k+40|0;p=k+8|0;n=k+4|0;m=k;o=k+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[i>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+28>>2];c[p+8>>2]=c[i>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+73>>0]|0;a[(c[n>>2]|0)+73>>0]=1;c[m>>2]=Ow(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+73>>0]=a[o>>0]|0;if(c[m>>2]|0){c[j>>2]=0;r=c[j>>2]|0;l=k;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[i>>2]>>2]|0)){d=8;break}r=(Yw(c[(c[(c[i>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;e=(c[h>>2]|0)+1|0;if(r){d=6;break}c[h>>2]=e}if((d|0)==6){c[j>>2]=e;r=c[j>>2]|0;l=k;return r|0}else if((d|0)==8){c[j>>2]=0;r=c[j>>2]|0;l=k;return r|0}return 0}function Yw(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=a;c[i>>2]=e;c[j>>2]=f;if((c[h>>2]|0)==0|(c[i>>2]|0)==0){c[g>>2]=(c[i>>2]|0)==(c[h>>2]|0)?0:2;k=c[g>>2]|0;l=m;return k|0}c[k>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[i>>2]|0)+4>>2];a=c[h>>2]|0;if(c[k>>2]&1024|0){if(c[a+4>>2]&c[(c[i>>2]|0)+4>>2]&1024|0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[i>>2]|0)+8>>2]|0):0){c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}e=d[c[h>>2]>>0]|0;if((d[a>>0]|0)!=(d[c[i>>2]>>0]|0)){if((e|0)==53?(Yw(c[(c[h>>2]|0)+12>>2]|0,c[i>>2]|0,c[j>>2]|0)|0)<2:0){c[g>>2]=1;k=c[g>>2]|0;l=m;return k|0}if((d[c[i>>2]>>0]|0)==53?(Yw(c[h>>2]|0,c[(c[i>>2]|0)+12>>2]|0,c[j>>2]|0)|0)<2:0){c[g>>2]=1;k=c[g>>2]|0;l=m;return k|0}c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}do if(((e|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?c[(c[h>>2]|0)+8>>2]|0:0){a=c[(c[h>>2]|0)+8>>2]|0;e=c[(c[i>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(bh(a,e)|0))break;c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}else{if(!(G_(a,e)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==53?1:2;k=c[g>>2]|0;l=m;return k|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[i>>2]|0)+4>>2]&16|0)){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}do if(!(c[k>>2]&16384)){if(c[k>>2]&2048|0){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if(Yw(c[(c[h>>2]|0)+12>>2]|0,c[(c[i>>2]|0)+12>>2]|0,c[j>>2]|0)|0){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if(Yw(c[(c[h>>2]|0)+16>>2]|0,c[(c[i>>2]|0)+16>>2]|0,c[j>>2]|0)|0){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if(Zw(c[(c[h>>2]|0)+20>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[j>>2]|0)|0){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if((c[k>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[i>>2]|0)+32>>1]|0)){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[i>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[j>>2]|0)?(c[(c[i>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}}}while(0);c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}function Zw(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[f>>2]>>2]|0)){a=14;break}c[j>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2];c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)+12>>0]|0|0)){a=10;break}if(Yw(c[j>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){a=12;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==10){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}else if((a|0)==12){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}else if((a|0)==14){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}return 0}function _w(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+44|0;r=t+40|0;n=t+36|0;o=t+32|0;s=t+28|0;p=t+24|0;g=t+20|0;h=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[q>>2]=a;c[r>>2]=b;c[n>>2]=e;c[o>>2]=f;if(c[o>>2]|0){c[p>>2]=c[c[o>>2]>>2];c[g>>2]=32768}else{e=c[q>>2]|0;f=$w(c[r>>2]|0,c[n>>2]|0)|0;c[p>>2]=Ed(e,f,((f|0)<0)<<31>>31)|0;c[g>>2]=0}c[s>>2]=c[p>>2];if(!(c[s>>2]|0)){s=c[s>>2]|0;l=t;return s|0}c[h>>2]=ax(c[r>>2]|0,c[n>>2]|0)|0;c[i>>2]=c[h>>2]&4095;if(!(c[(c[r>>2]|0)+4>>2]&1024|0)?c[(c[r>>2]|0)+8>>2]|0:0)c[j>>2]=(md(c[(c[r>>2]|0)+8>>2]|0)|0)+1;else c[j>>2]=0;if(!(c[n>>2]|0)){c[k>>2]=bx(c[r>>2]|0)|0;h0(c[p>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;if((c[k>>2]|0)>>>0<48)m0((c[p>>2]|0)+(c[k>>2]|0)|0,0,48-(c[k>>2]|0)|0)|0}else h0(c[p>>2]|0,c[r>>2]|0,c[i>>2]|0)|0;f=(c[s>>2]|0)+4|0;c[f>>2]=c[f>>2]&-122881;f=(c[s>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[h>>2]&24576;f=(c[s>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[g>>2];if(c[j>>2]|0){f=(c[p>>2]|0)+(c[i>>2]|0)|0;c[(c[s>>2]|0)+8>>2]=f;c[m>>2]=f;h0(c[m>>2]|0,c[(c[r>>2]|0)+8>>2]|0,c[j>>2]|0)|0}do if(!((c[(c[r>>2]|0)+4>>2]|c[(c[s>>2]|0)+4>>2])&8404992)){a=c[q>>2]|0;b=(c[r>>2]|0)+20|0;if(c[(c[r>>2]|0)+4>>2]&2048|0){f=kw(a,c[b>>2]|0,c[n>>2]|0)|0;c[(c[s>>2]|0)+20>>2]=f;break}else{f=cx(a,c[b>>2]|0,c[n>>2]|0)|0;c[(c[s>>2]|0)+20>>2]=f;break}}while(0);a=c[r>>2]|0;if(!(c[(c[s>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&8404992|0){s=c[s>>2]|0;l=t;return s|0}if((d[c[s>>2]>>0]|0|0)==159){a=c[(c[r>>2]|0)+12>>2]|0;b=c[s>>2]|0}else{a=Ww(c[q>>2]|0,c[(c[r>>2]|0)+12>>2]|0,0)|0;b=c[s>>2]|0}c[b+12>>2]=a;r=Ww(c[q>>2]|0,c[(c[r>>2]|0)+16>>2]|0,0)|0;c[(c[s>>2]|0)+16>>2]=r;s=c[s>>2]|0;l=t;return s|0}n=dx(a,c[n>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+n;if(!(c[(c[s>>2]|0)+4>>2]&8404992)){if(c[(c[r>>2]|0)+12>>2]|0)a=_w(c[q>>2]|0,c[(c[r>>2]|0)+12>>2]|0,1,p)|0;else a=0;c[(c[s>>2]|0)+12>>2]=a;if(c[(c[r>>2]|0)+16>>2]|0)a=_w(c[q>>2]|0,c[(c[r>>2]|0)+16>>2]|0,1,p)|0;else a=0;c[(c[s>>2]|0)+16>>2]=a}if(!(c[o>>2]|0)){s=c[s>>2]|0;l=t;return s|0}c[c[o>>2]>>2]=c[p>>2];s=c[s>>2]|0;l=t;return s|0}function $w(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=dx(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){f=c[f>>2]|0;l=g;return f|0}b=$w(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;e=b+($w(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+e;f=c[f>>2]|0;l=g;return f|0}function ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]|0))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);l=f;return c[e>>2]|0}function bx(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384|0))if(c[(c[d>>2]|0)+4>>2]&8192|0){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);l=e;return c[b>>2]|0}function cx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;g=q+4|0;h=q;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;if(!(c[k>>2]|0)){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}c[n>>2]=Ed(c[j>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}f=c[c[k>>2]>>2]|0;c[g>>2]=f;c[c[n>>2]>>2]=f;a:do if(!(c[m>>2]&1)){c[g>>2]=1;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break a;c[g>>2]=(c[g>>2]|0)+(c[g>>2]|0)}}while(0);f=Ed(c[j>>2]|0,(c[g>>2]|0)*20|0,0)|0;c[o>>2]=f;c[(c[n>>2]|0)+4>>2]=f;if(!(c[o>>2]|0)){Xd(c[j>>2]|0,c[n>>2]|0);c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}c[p>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[h>>2]=c[c[p>>2]>>2];f=Ww(c[j>>2]|0,c[h>>2]|0,c[m>>2]|0)|0;c[c[o>>2]>>2]=f;f=Xo(c[j>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=f;f=Xo(c[j>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=f;a[(c[o>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;f=(c[o>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2;f=(c[o>>2]|0)+13|0;a[f>>0]=a[f>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[o>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[i>>2]=c[n>>2];p=c[i>>2]|0;l=q;return p|0}function dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(ax(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?c[(c[d>>2]|0)+8>>2]|0:0){g=(md(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}l=f;return (c[e>>2]|0)+7&-8|0}function ex(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=28865;break}case 118:{c[b>>2]=28875;break}case 117:{c[b>>2]=28885;break}default:c[b>>2]=28892}l=d;return c[b>>2]|0}function fx(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t;q=t+36|0;n=t+32|0;j=t+28|0;o=t+24|0;r=t+20|0;s=t+16|0;i=t+12|0;p=t+8|0;m=t+4|0;c[n>>2]=a;c[j>>2]=f;c[o>>2]=g;c[r>>2]=h;c[i>>2]=c[c[n>>2]>>2];if(c[o>>2]|0?(d[(c[c[n>>2]>>2]|0)+69>>0]|0)==0:0){if((c[c[o>>2]>>2]|0)>(c[(c[i>>2]|0)+96+8>>2]|0)){s=c[n>>2]|0;c[k>>2]=c[r>>2];sl(s,28898,k);c[q>>2]=1;s=c[q>>2]|0;l=t;return s|0}c[p>>2]=c[c[j>>2]>>2];c[s>>2]=0;c[m>>2]=c[(c[o>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[o>>2]>>2]|0)){a=13;break}if(b[(c[m>>2]|0)+16>>1]|0){f=c[n>>2]|0;if((e[(c[m>>2]|0)+16>>1]|0)>(c[c[p>>2]>>2]|0)){a=10;break}gx(f,c[p>>2]|0,(e[(c[m>>2]|0)+16>>1]|0)-1|0,c[c[m>>2]>>2]|0,c[r>>2]|0,0)}c[s>>2]=(c[s>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((a|0)==10){Uw(f,c[r>>2]|0,(c[s>>2]|0)+1|0,c[c[p>>2]>>2]|0);c[q>>2]=1;s=c[q>>2]|0;l=t;return s|0}else if((a|0)==13){c[q>>2]=0;s=c[q>>2]|0;l=t;return s|0}}c[q>>2]=0;s=c[q>>2]|0;l=t;return s|0}function gx(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+48|0;m=q+32|0;t=q+28|0;s=q+24|0;p=q+20|0;j=q+16|0;k=q+12|0;r=q+8|0;n=q+4|0;o=q;c[m>>2]=b;c[t>>2]=e;c[s>>2]=f;c[p>>2]=g;c[j>>2]=h;c[k>>2]=i;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[m>>2]>>2];c[n>>2]=Ww(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[n>>2]|0)){l=q;return}if((a[c[j>>2]>>0]|0)!=71)hx(c[n>>2]|0,c[k>>2]|0);if((d[c[p>>2]>>0]|0)==53)c[n>>2]=ix(c[m>>2]|0,c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;b=(c[n>>2]|0)+4|0;c[b>>2]=c[b>>2]|4194304;b=(c[p>>2]|0)+4|0;c[b>>2]=c[b>>2]|32768;Ok(c[o>>2]|0,c[p>>2]|0);b=c[p>>2]|0;e=c[n>>2]|0;j=b+48|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(j|0));if((c[(c[p>>2]|0)+4>>2]&1024|0)==0?c[(c[p>>2]|0)+8>>2]|0:0){t=Xo(c[o>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[p>>2]|0)+8>>2]=t;t=(c[p>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Xd(c[o>>2]|0,c[n>>2]|0);l=q;return}function hx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){l=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=202;c[f+24>>2]=c[e>>2];Kw(f,c[d>>2]|0)|0;l=g;return}function ix(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+32|0;h=e+16|0;g=e+12|0;i=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[i>>2]=d;jx(f,c[i>>2]|0);d=Yt(c[h>>2]|0,c[g>>2]|0,f,0)|0;l=e;return d|0}function jx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=md(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;l=d;return}function kx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){l=h;return 0}g=(c[g>>2]|0)+38|0;a[g>>0]=(d[g>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);l=h;return 0}function lx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;d=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;c[d>>2]=a;c[i>>2]=b;c[e>>2]=0;c[f>>2]=c[(c[c[d>>2]>>2]|0)+96+12>>2];if((c[i>>2]|0)<=(c[f>>2]|0)){i=c[e>>2]|0;l=h;return i|0}i=c[d>>2]|0;c[g>>2]=c[f>>2];sl(i,28929,g);c[e>>2]=1;i=c[e>>2]|0;l=h;return i|0}function mx(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+176|0;W=X+40|0;V=X+24|0;F=X+8|0;E=X;S=X+164|0;T=X+160|0;C=X+156|0;U=X+152|0;I=X+148|0;J=X+144|0;K=X+140|0;m=X+136|0;n=X+132|0;L=X+128|0;o=X+124|0;p=X+120|0;M=X+116|0;q=X+112|0;N=X+108|0;O=X+104|0;P=X+100|0;Q=X+96|0;r=X+92|0;s=X+88|0;t=X+84|0;u=X+80|0;v=X+76|0;w=X+72|0;y=X+68|0;z=X+64|0;A=X+60|0;B=X+56|0;H=X+52|0;R=X+48|0;c[T>>2]=f;c[C>>2]=g;c[U>>2]=h;c[I>>2]=i;c[J>>2]=j;c[K>>2]=k;c[L>>2]=0;c[o>>2]=0;c[p>>2]=0;c[M>>2]=c[c[T>>2]>>2];c[N>>2]=0;c[O>>2]=c[J>>2];c[P>>2]=0;c[Q>>2]=0;c[r>>2]=0;c[(c[K>>2]|0)+28>>2]=-1;c[(c[K>>2]|0)+44>>2]=0;a:do if(c[C>>2]|0){if(e[(c[J>>2]|0)+28>>1]&6|0){c[C>>2]=0;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[M>>2]|0)+20>>2]|0))break a;if(!(bh(c[(c[(c[M>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0,c[C>>2]|0)|0))break;c[m>>2]=(c[m>>2]|0)+1}c[P>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]}while(0);b:while(1){if(!(c[J>>2]|0?(c[L>>2]|0)==0:0)){G=84;break}c[u>>2]=c[(c[J>>2]|0)+4>>2];if(c[u>>2]|0){c[m>>2]=0;c[q>>2]=(c[u>>2]|0)+8;while(1){if((c[m>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[r>>2]=c[(c[q>>2]|0)+16>>2];if(c[(c[q>>2]|0)+20>>2]|0?c[(c[(c[q>>2]|0)+20>>2]|0)+8>>2]&2048|0:0){c[v>>2]=0;c[t>>2]=c[c[(c[q>>2]|0)+20>>2]>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if(ux(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0,c[I>>2]|0,c[U>>2]|0,c[C>>2]|0)|0){c[L>>2]=(c[L>>2]|0)+1;c[o>>2]=2;c[N>>2]=c[q>>2];b[(c[K>>2]|0)+32>>1]=c[n>>2];c[v>>2]=1}c[n>>2]=(c[n>>2]|0)+1}if(!((c[v>>2]|0)!=0|(c[U>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if(c[C>>2]|0?(c[(c[r>>2]|0)+64>>2]|0)!=(c[P>>2]|0):0)break;if(c[U>>2]|0?(c[w>>2]=c[(c[(c[q>>2]|0)+12>>2]|0?(c[q>>2]|0)+12|0:c[r>>2]|0)>>2],bh(c[w>>2]|0,c[U>>2]|0)|0):0)break;k=c[o>>2]|0;c[o>>2]=k+1;if(!k)c[N>>2]=c[q>>2];c[n>>2]=0;c[s>>2]=c[(c[r>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break c;if(!(bh(c[c[s>>2]>>2]|0,c[I>>2]|0)|0)){if((c[L>>2]|0)!=1)break;if((d[(c[q>>2]|0)+36>>0]&4|0)==0?(vx(c[(c[q>>2]|0)+52>>2]|0,c[I>>2]|0)|0)==0:0)break}c[n>>2]=(c[n>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+16}c[L>>2]=(c[L>>2]|0)+1;c[N>>2]=c[q>>2];if((c[n>>2]|0)==(b[(c[r>>2]|0)+32>>1]|0))f=-1;else f=(c[n>>2]&65535)<<16>>16;b[(c[K>>2]|0)+32>>1]=f}while(0);c[m>>2]=(c[m>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+72}if(c[N>>2]|0){c[(c[K>>2]|0)+28>>2]=c[(c[N>>2]|0)+44>>2];c[(c[K>>2]|0)+44>>2]=c[(c[N>>2]|0)+16>>2];if(d[(c[N>>2]|0)+36>>0]&8|0){k=(c[K>>2]|0)+4|0;c[k>>2]=c[k>>2]|1048576}c[P>>2]=c[(c[(c[K>>2]|0)+44>>2]|0)+64>>2]}}if((c[C>>2]|0)==0&(c[U>>2]|0)!=0&(c[o>>2]|0)==0?c[(c[T>>2]|0)+128>>2]|0:0){c[y>>2]=d[(c[T>>2]|0)+148>>0];if((c[y>>2]|0)!=109?(bh(29356,c[U>>2]|0)|0)==0:0){c[(c[K>>2]|0)+28>>2]=1;c[r>>2]=c[(c[T>>2]|0)+128>>2]}else G=47;do if((G|0)==47){G=0;if((c[y>>2]|0)!=108?(bh(29360,c[U>>2]|0)|0)==0:0){c[(c[K>>2]|0)+28>>2]=0;c[r>>2]=c[(c[T>>2]|0)+128>>2];break}c[r>>2]=0}while(0);if(c[r>>2]|0){c[P>>2]=c[(c[r>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[z>>2]=0;c[s>>2]=c[(c[r>>2]|0)+4>>2];while(1){if((c[z>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;k=(bh(c[c[s>>2]>>2]|0,c[I>>2]|0)|0)==0;x=c[z>>2]|0;if(k){G=55;break}c[z>>2]=x+1;c[s>>2]=(c[s>>2]|0)+16}if((G|0)==55?(G=0,(x|0)==(b[(c[r>>2]|0)+32>>1]|0)):0)c[z>>2]=-1;if(((c[z>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0)?wx(c[I>>2]|0)|0:0)?(d[(c[r>>2]|0)+42>>0]&64|0)==0:0)c[z>>2]=-1;if((c[z>>2]|0)<(b[(c[r>>2]|0)+34>>1]|0)){c[L>>2]=(c[L>>2]|0)+1;f=c[K>>2]|0;if((c[z>>2]|0)<0)a[f+1>>0]=68;else{k=(c[f+28>>2]|0)==0?(c[T>>2]|0)+140|0:(c[T>>2]|0)+144|0;c[k>>2]=c[k>>2]|((c[z>>2]|0)>=32?-1:1<>2])}b[(c[K>>2]|0)+32>>1]=c[z>>2];c[(c[K>>2]|0)+44>>2]=c[r>>2];c[Q>>2]=1}}}if((((c[L>>2]|0)==0&(c[o>>2]|0)==1&(c[N>>2]|0)!=0?(e[(c[J>>2]|0)+28>>1]&32|0)==0:0)?wx(c[I>>2]|0)|0:0)?(d[(c[(c[N>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[L>>2]=1;b[(c[K>>2]|0)+32>>1]=-1;a[(c[K>>2]|0)+1>>0]=68}k=c[(c[J>>2]|0)+8>>2]|0;c[t>>2]=k;d:do if((k|0)!=0&(c[U>>2]|0)==0&(c[L>>2]|0)==0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break d;c[A>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];if(c[A>>2]|0?(bh(c[A>>2]|0,c[I>>2]|0)|0)==0:0){G=77;break b}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[L>>2]|0)continue;c[J>>2]=c[(c[J>>2]|0)+16>>2];c[p>>2]=(c[p>>2]|0)+1}if((G|0)==77){c[B>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];if((e[(c[J>>2]|0)+28>>1]&1|0)==0?c[(c[B>>2]|0)+4>>2]&2|0:0){W=c[T>>2]|0;c[E>>2]=c[A>>2];sl(W,29364,E);c[S>>2]=2;W=c[S>>2]|0;l=X;return W|0}gx(c[T>>2]|0,c[t>>2]|0,c[n>>2]|0,c[K>>2]|0,55752,c[p>>2]|0);c[L>>2]=1;c[N>>2]=0}else if((G|0)==84){if((c[L>>2]|0)==0&(c[U>>2]|0)==0?c[(c[K>>2]|0)+4>>2]&64|0:0){a[c[K>>2]>>0]=97;c[(c[K>>2]|0)+44>>2]=0;c[S>>2]=1;W=c[S>>2]|0;l=X;return W|0}if((c[L>>2]|0)!=1){c[H>>2]=(c[L>>2]|0)==0?29395:29410;do if(!(c[C>>2]|0)){g=c[T>>2]|0;f=c[H>>2]|0;if(c[U>>2]|0){U=c[U>>2]|0;W=c[I>>2]|0;c[V>>2]=f;c[V+4>>2]=U;c[V+8>>2]=W;sl(g,26727,V);break}else{V=c[I>>2]|0;c[W>>2]=f;c[W+4>>2]=V;sl(g,26737,W);break}}else{W=c[T>>2]|0;G=c[C>>2]|0;U=c[U>>2]|0;V=c[I>>2]|0;c[F>>2]=c[H>>2];c[F+4>>2]=G;c[F+8>>2]=U;c[F+12>>2]=V;sl(W,29432,F)}while(0);a[(c[T>>2]|0)+17>>0]=1;W=(c[O>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if(c[N>>2]|0?(b[(c[K>>2]|0)+32>>1]|0)>=0:0){U=b[(c[K>>2]|0)+32>>1]|0;c[R>>2]=U;c[R>>2]=(c[R>>2]|0)>=64?63:U;U=j0(1,0,c[R>>2]|0)|0;W=(c[N>>2]|0)+56|0;R=W;V=c[R+4>>2]|D;c[W>>2]=c[R>>2]|U;c[W+4>>2]=V}Ok(c[M>>2]|0,c[(c[K>>2]|0)+12>>2]|0);c[(c[K>>2]|0)+12>>2]=0;Ok(c[M>>2]|0,c[(c[K>>2]|0)+16>>2]|0);c[(c[K>>2]|0)+16>>2]=0;a[c[K>>2]>>0]=c[Q>>2]|0?88:152}if((c[L>>2]|0)!=1){c[S>>2]=2;W=c[S>>2]|0;l=X;return W|0}if(!(c[(c[K>>2]|0)+4>>2]&4194304))xx(c[T>>2]|0,c[K>>2]|0,c[P>>2]|0,c[(c[J>>2]|0)+4>>2]|0);while(1){W=(c[O>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[O>>2]|0)==(c[J>>2]|0))break;c[O>>2]=c[(c[O>>2]|0)+16>>2]}c[S>>2]=1;W=c[S>>2]|0;l=X;return W|0}function nx(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;k=m;g=m+24|0;h=m+20|0;i=m+16|0;n=m+12|0;j=m+8|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){l=m;return}c[j>>2]=29272;if(!((e[(c[h>>2]|0)+28>>1]|0)&32|0)){if((e[(c[h>>2]|0)+28>>1]|0)&4|0)c[j>>2]=29318}else c[j>>2]=29300;n=c[g>>2]|0;j=c[j>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;sl(n,29336,k);l=m;return}function ox(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;t=y+44|0;u=y+40|0;v=y+36|0;w=y+32|0;x=y+49|0;j=y+48|0;k=y+28|0;m=y+24|0;n=y+20|0;o=y+16|0;p=y+12|0;q=y+8|0;r=y+4|0;s=y;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;a[x>>0]=h;a[j>>0]=i;c[m>>2]=0;c[n>>2]=0;c[p>>2]=md(c[v>>2]|0)|0;c[k>>2]=hv((c[u>>2]|0)+348|0,c[v>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[q>>2]=tx(c[k>>2]|0,c[w>>2]|0,a[x>>0]|0)|0;if((c[q>>2]|0)>(c[n>>2]|0)){c[m>>2]=c[k>>2];c[n>>2]=c[q>>2]}c[k>>2]=c[(c[k>>2]|0)+8>>2]}a:do if(!(a[j>>0]|0)){if(c[m>>2]|0?(c[(c[u>>2]|0)+24>>2]&2097152|0)==0:0)break;c[n>>2]=0;c[o>>2]=((d[20458+(d[c[v>>2]>>0]|0)>>0]|0)+(c[p>>2]|0)|0)%23|0;c[k>>2]=ah(c[o>>2]|0,c[v>>2]|0)|0;while(1){if(!(c[k>>2]|0))break a;c[r>>2]=tx(c[k>>2]|0,c[w>>2]|0,a[x>>0]|0)|0;if((c[r>>2]|0)>(c[n>>2]|0)){c[m>>2]=c[k>>2];c[n>>2]=c[r>>2]}c[k>>2]=c[(c[k>>2]|0)+8>>2]}}while(0);do if((d[j>>0]|0)!=0&(c[n>>2]|0)<6?(i=_l(c[u>>2]|0,28+(c[p>>2]|0)+1|0,0)|0,c[m>>2]=i,i|0):0){c[(c[m>>2]|0)+20>>2]=(c[m>>2]|0)+28;a[c[m>>2]>>0]=c[w>>2];b[(c[m>>2]|0)+2>>1]=d[x>>0]|0;h0((c[m>>2]|0)+28|0,c[v>>2]|0,(c[p>>2]|0)+1|0)|0;c[s>>2]=Fk((c[u>>2]|0)+348|0,c[(c[m>>2]|0)+20>>2]|0,c[m>>2]|0)|0;if((c[s>>2]|0)!=(c[m>>2]|0)){c[(c[m>>2]|0)+8>>2]=c[s>>2];break}Xd(c[u>>2]|0,c[m>>2]|0);Od(c[u>>2]|0);c[t>>2]=0;x=c[t>>2]|0;l=y;return x|0}while(0);do if(c[m>>2]|0){if((c[(c[m>>2]|0)+12>>2]|0)==0?(d[j>>0]|0)==0:0)break;c[t>>2]=c[m>>2];x=c[t>>2]|0;l=y;return x|0}while(0);c[t>>2]=0;x=c[t>>2]|0;l=y;return x|0}function px(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=132){c[b>>2]=-1;f=c[b>>2]|0;l=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;Ji(a,f,md(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;l=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;l=g;return f|0}return 0}function qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=203;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;Jw(g,c[(c[f>>2]|0)+20>>2]|0)|0;if((c[d+4>>2]|0)>0){h=1;h=h&1;l=e;return h|0}h=(c[d+8>>2]|0)==0;h=h&1;l=e;return h|0}function rx(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h;g=h+8|0;c[f>>2]=b;a[g>>0]=a[c[f>>2]>>0]|0;if((d[g>>0]|0|0)==157)a[g>>0]=a[(c[f>>2]|0)+38>>0]|0;if((d[g>>0]|0|0)==158){c[e>>2]=c[c[(c[f>>2]|0)+20>>2]>>2];g=c[e>>2]|0;l=h;return g|0}if((d[g>>0]|0|0)==119){c[e>>2]=c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2];g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=1;g=c[e>>2]|0;l=h;return g|0}return 0}function sx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){l=k;return 0}c[h>>2]=c[(c[e>>2]|0)+24>>2];c[i>>2]=c[c[h>>2]>>2];if(c[i>>2]|0)a=c[c[i>>2]>>2]|0;else a=0;c[j>>2]=a;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[j>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[i>>2]|0)+8+((c[g>>2]|0)*72|0)+44>>2]|0))break;c[g>>2]=(c[g>>2]|0)+1}i=c[h>>2]|0;j=(c[g>>2]|0)<(c[j>>2]|0)?i+4|0:i+8|0;c[j>>2]=(c[j>>2]|0)+1;l=k;return 0}function tx(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n+16|0;m=n;c[i>>2]=b;c[j>>2]=f;a[k>>0]=g;b=c[i>>2]|0;if((c[j>>2]|0)==-2){c[h>>2]=(c[b+12>>2]|0)==0?0:6;m=c[h>>2]|0;l=n;return m|0}if((a[b>>0]|0)!=(c[j>>2]|0)?(a[c[i>>2]>>0]|0)>=0:0){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}if((a[c[i>>2]>>0]|0)==(c[j>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[k>>0]|0)!=(e[(c[i>>2]|0)+2>>1]&3|0)){if(d[k>>0]&e[(c[i>>2]|0)+2>>1]&2|0)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[h>>2]=c[m>>2];m=c[h>>2]|0;l=n;return m|0}function ux(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((ld(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[j>>2]|0){if((ld(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0)|0)==0?(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if(c[i>>2]|0?bh(c[h>>2]|0,c[i>>2]|0)|0:0){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}c[g>>2]=1;m=c[g>>2]|0;l=n;return m|0}function vx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(bh(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function wx(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(bh(c[d>>2]|0,29514)|0){if(!(bh(c[d>>2]|0,29445)|0)){c[b>>2]=1;break}if(!(bh(c[d>>2]|0,29522)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);l=e;return c[b>>2]|0}function xx(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;p=s+36|0;q=s+32|0;j=s+28|0;k=s+24|0;t=s+20|0;r=s+16|0;m=s+12|0;i=s+8|0;n=s+4|0;o=s;c[p>>2]=e;c[q>>2]=f;c[j>>2]=g;c[k>>2]=h;c[t>>2]=c[c[p>>2]>>2];c[r>>2]=0;if(!(c[(c[t>>2]|0)+296>>2]|0)){l=s;return}c[n>>2]=Hu(c[c[p>>2]>>2]|0,c[j>>2]|0)|0;if((c[n>>2]|0)<0){l=s;return}a:do if((d[c[q>>2]>>0]|0)==88)c[r>>2]=c[(c[p>>2]|0)+128>>2];else{c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[k>>2]>>2]|0))break a;if((c[(c[q>>2]|0)+28>>2]|0)==(c[(c[k>>2]|0)+8+((c[i>>2]|0)*72|0)+44>>2]|0))break;c[i>>2]=(c[i>>2]|0)+1}c[r>>2]=c[(c[k>>2]|0)+8+((c[i>>2]|0)*72|0)+16>>2]}while(0);c[o>>2]=b[(c[q>>2]|0)+32>>1];if(!(c[r>>2]|0)){l=s;return}e=c[r>>2]|0;do if((c[o>>2]|0)<0)if((b[e+32>>1]|0)>=0){c[m>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+(b[(c[r>>2]|0)+32>>1]<<4)>>2];break}else{c[m>>2]=29445;break}else c[m>>2]=c[(c[e+4>>2]|0)+(c[o>>2]<<4)>>2];while(0);if(2!=(yx(c[p>>2]|0,c[c[r>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)){l=s;return}a[c[q>>2]>>0]=101;l=s;return}function yx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r+16|0;p=r;i=r+52|0;j=r+48|0;k=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;g=r+28|0;h=r+24|0;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];if(a[(c[o>>2]|0)+148+5>>0]|0){c[i>>2]=0;q=c[i>>2]|0;l=r;return q|0}c[h>>2]=Gb[c[(c[o>>2]|0)+296>>2]&255](c[(c[o>>2]|0)+300>>2]|0,20,c[k>>2]|0,c[m>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+448>>2]|0)|0;if((c[h>>2]|0)!=1){if((c[h>>2]|0)!=2&(c[h>>2]|0)!=0)Ju(c[j>>2]|0)}else{b=c[j>>2]|0;if(c[n>>2]|0?1:(c[(c[o>>2]|0)+20>>2]|0)>2){o=c[k>>2]|0;q=c[m>>2]|0;c[p>>2]=c[g>>2];c[p+4>>2]=o;c[p+8>>2]=q;sl(b,29451,p)}else{p=c[m>>2]|0;c[q>>2]=c[k>>2];c[q+4>>2]=p;sl(b,29484,q)}c[(c[j>>2]|0)+12>>2]=23}c[i>>2]=c[h>>2];q=c[i>>2]|0;l=r;return q|0}function zx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;n=r+44|0;g=r+40|0;o=r+36|0;h=r+32|0;p=r+28|0;i=r+24|0;q=r+20|0;j=r+16|0;k=r+12|0;m=r+8|0;f=r;c[g>>2]=b;c[o>>2]=e;if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}if(!(c[(c[o>>2]|0)+44>>2]|0)){c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}c[i>>2]=c[o>>2];while(1){if(!(c[i>>2]|0))break;if((d[(c[i>>2]|0)+4>>0]|0|0)!=116?(d[(c[i>>2]|0)+4>>0]|0|0)!=119:0)break;c[i>>2]=c[(c[i>>2]|0)+48>>2]}if(!(c[i>>2]|0)){c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}c[j>>2]=c[(c[(c[o>>2]|0)+44>>2]|0)+4>>2];c[h>>2]=(c[c[(c[o>>2]|0)+44>>2]>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;if(c[(c[(c[j>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)+4>>2]&256|0)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)<0){c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}c[m>>2]=c[c[g>>2]>>2];c[q>>2]=c[c[m>>2]>>2];c[p>>2]=_l(c[q>>2]|0,68,0)|0;if(!(c[p>>2]|0)){c[n>>2]=2;q=c[n>>2]|0;l=r;return q|0};c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=Ct(c[m>>2]|0,0,0,0,f,c[p>>2]|0,0,0)|0;if(!(c[k>>2]|0)){c[n>>2]=2;q=c[n>>2]|0;l=r;return q|0}else{b=c[p>>2]|0;e=c[o>>2]|0;f=b+68|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));c[(c[o>>2]|0)+28>>2]=c[k>>2];m=c[m>>2]|0;q=Et(m,0,Ht(c[q>>2]|0,160,0)|0)|0;c[c[o>>2]>>2]=q;a[(c[o>>2]|0)+4>>0]=119;c[(c[o>>2]|0)+32>>2]=0;c[(c[p>>2]|0)+36>>2]=0;c[(c[p>>2]|0)+40>>2]=0;c[(c[p>>2]|0)+44>>2]=0;c[(c[o>>2]|0)+48>>2]=0;c[(c[o>>2]|0)+52>>2]=0;c[(c[o>>2]|0)+64>>2]=0;q=(c[o>>2]|0)+8|0;c[q>>2]=c[q>>2]&-257;q=(c[o>>2]|0)+8|0;c[q>>2]=c[q>>2]|65536;c[(c[(c[p>>2]|0)+48>>2]|0)+52>>2]=c[p>>2];c[(c[p>>2]|0)+56>>2]=0;c[(c[p>>2]|0)+60>>2]=0;c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}return 0}function Ax(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+208|0;W=Y+56|0;V=Y+48|0;U=Y+40|0;T=Y+24|0;X=Y+16|0;p=Y+8|0;m=Y;w=Y+196|0;k=Y+192|0;N=Y+188|0;O=Y+184|0;P=Y+180|0;Q=Y+176|0;R=Y+172|0;S=Y+168|0;q=Y+164|0;r=Y+160|0;s=Y+156|0;t=Y+152|0;u=Y+148|0;v=Y+144|0;h=Y+202|0;n=Y+140|0;i=Y+136|0;j=Y+200|0;x=Y+132|0;y=Y+128|0;o=Y+124|0;z=Y+120|0;A=Y+116|0;B=Y+112|0;C=Y+108|0;D=Y+104|0;E=Y+100|0;F=Y+96|0;G=Y+92|0;H=Y+88|0;I=Y+84|0;J=Y+80|0;K=Y+72|0;L=Y+64|0;M=Y+60|0;c[k>>2]=f;c[N>>2]=g;c[O>>2]=c[c[k>>2]>>2];c[s>>2]=c[c[O>>2]>>2];b[h>>1]=c[(c[N>>2]|0)+8>>2];g=(c[N>>2]|0)+8|0;c[g>>2]=c[g>>2]|64;if(a[(c[s>>2]|0)+69>>0]|0){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}if(c[(c[N>>2]|0)+28>>2]|0?(e[h>>1]&64|0)==0:0){c[S>>2]=c[(c[N>>2]|0)+28>>2];c[q>>2]=c[c[N>>2]>>2];if((c[(c[k>>2]|0)+12>>2]|0)==132){h=c[O>>2]|0;Ot(h,c[(Cx(c[N>>2]|0)|0)+64>>2]|0,0)}lw(c[O>>2]|0,c[S>>2]|0);c[P>>2]=0;c[r>>2]=(c[S>>2]|0)+8;a:while(1){if((c[P>>2]|0)>=(c[c[S>>2]>>2]|0)){h=38;break}if(!((d[(c[r>>2]|0)+36+1>>0]|0)>>>5&1)){if(Dx(c[k>>2]|0,c[r>>2]|0)|0){h=12;break}do if(!(c[(c[r>>2]|0)+16>>2]|0)){if(!(c[(c[r>>2]|0)+8>>2]|0)){c[i>>2]=c[(c[r>>2]|0)+20>>2];if(Gw(c[k>>2]|0,c[i>>2]|0)|0){h=16;break a}h=_l(c[s>>2]|0,72,0)|0;c[n>>2]=h;c[(c[r>>2]|0)+16>>2]=h;if(!(c[n>>2]|0)){h=18;break a}b[(c[n>>2]|0)+36>>1]=1;h=c[s>>2]|0;c[m>>2]=c[n>>2];h=Wj(h,29526,m)|0;c[c[n>>2]>>2]=h;while(1){if(!(c[(c[i>>2]|0)+48>>2]|0))break;c[i>>2]=c[(c[i>>2]|0)+48>>2]}nw(c[O>>2]|0,c[c[i>>2]>>2]|0,(c[n>>2]|0)+34|0,(c[n>>2]|0)+4|0)|0;b[(c[n>>2]|0)+32>>1]=-1;b[(c[n>>2]|0)+38>>1]=200;h=(c[n>>2]|0)+42|0;a[h>>0]=d[h>>0]|2;break}h=av(c[O>>2]|0,0,c[r>>2]|0)|0;c[n>>2]=h;c[(c[r>>2]|0)+16>>2]=h;if(!(c[n>>2]|0)){h=24;break a}if((e[(c[n>>2]|0)+36>>1]|0)==65535){h=26;break a}h=(c[n>>2]|0)+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if((d[(c[n>>2]|0)+42>>0]&16|0)==0?Ex(c[O>>2]|0,c[r>>2]|0)|0:0){h=29;break a}if((d[(c[n>>2]|0)+42>>0]&16|0)==0?(c[(c[n>>2]|0)+12>>2]|0)==0:0)break;if(ew(c[O>>2]|0,c[n>>2]|0)|0){h=33;break a}h=kw(c[s>>2]|0,c[(c[n>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+20>>2]=h;b[j>>1]=b[(c[n>>2]|0)+34>>1]|0;b[(c[n>>2]|0)+34>>1]=-1;Gw(c[k>>2]|0,c[(c[r>>2]|0)+20>>2]|0)|0;b[(c[n>>2]|0)+34>>1]=b[j>>1]|0}while(0);if(Fx(c[O>>2]|0,c[r>>2]|0)|0){h=36;break}}c[P>>2]=(c[P>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+72}if((h|0)==12){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==16){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==18){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==24){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==26){X=c[O>>2]|0;c[p>>2]=c[c[n>>2]>>2];sl(X,29539,p);c[(c[r>>2]|0)+16>>2]=0;c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==29){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==33){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==36){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==38){if((d[(c[s>>2]|0)+69>>0]|0)==0?(Gx(c[O>>2]|0,c[N>>2]|0)|0)==0:0){c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[c[q>>2]>>2]|0))break;c[t>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[R>>2]|0)*20|0)>>2];if((d[c[t>>2]>>0]|0)==160)break;if((d[c[t>>2]>>0]|0)==122?(d[c[(c[t>>2]|0)+16>>2]>>0]|0)==160:0)break;c[R>>2]=(c[R>>2]|0)+1}if((c[R>>2]|0)<(c[c[q>>2]>>2]|0)){c[x>>2]=c[(c[q>>2]|0)+4>>2];c[y>>2]=0;c[o>>2]=c[(c[c[O>>2]>>2]|0)+24>>2];if(c[o>>2]&4|0)f=(c[o>>2]&64|0)==0;else f=0;c[z>>2]=f&1;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[c[q>>2]>>2]|0))break;c[t>>2]=c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)>>2];c[u>>2]=c[(c[t>>2]|0)+16>>2];do if((d[c[t>>2]>>0]|0)!=160){if((d[c[t>>2]>>0]|0)==122?(d[c[u>>2]>>0]|0)==160:0){h=58;break}c[y>>2]=Et(c[O>>2]|0,c[y>>2]|0,c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)>>2]|0)|0;if(c[y>>2]|0){c[(c[(c[y>>2]|0)+4>>2]|0)+(((c[c[y>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)+4>>2];c[(c[(c[y>>2]|0)+4>>2]|0)+(((c[c[y>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)+8>>2];c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)+4>>2]=0;c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)+8>>2]=0}c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)>>2]=0}else h=58;while(0);do if((h|0)==58){h=0;c[A>>2]=0;c[B>>2]=0;if((d[c[t>>2]>>0]|0)==122)c[B>>2]=c[(c[(c[t>>2]|0)+12>>2]|0)+8>>2];c[P>>2]=0;c[r>>2]=(c[S>>2]|0)+8;while(1){if((c[P>>2]|0)>=(c[c[S>>2]>>2]|0))break;c[C>>2]=c[(c[r>>2]|0)+16>>2];c[D>>2]=c[(c[r>>2]|0)+20>>2];c[E>>2]=c[(c[r>>2]|0)+12>>2];c[F>>2]=0;if(!(c[E>>2]|0))c[E>>2]=c[c[C>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0)break;if((c[D>>2]|0)!=0?(c[(c[D>>2]|0)+8>>2]&2048|0)!=0:0)h=72;else h=67;do if((h|0)==67){h=0;c[D>>2]=0;if(c[B>>2]|0?bh(c[B>>2]|0,c[E>>2]|0)|0:0)break;c[G>>2]=Hu(c[s>>2]|0,c[(c[C>>2]|0)+64>>2]|0)|0;if((c[G>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[G>>2]<<4)>>2]|0;else f=29578;c[F>>2]=f;h=72}while(0);b:do if((h|0)==72){h=0;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(b[(c[C>>2]|0)+34>>1]|0))break b;c[H>>2]=c[(c[(c[C>>2]|0)+4>>2]|0)+(c[Q>>2]<<4)>>2];if(!((c[B>>2]|0)!=0&(c[D>>2]|0)!=0?!(ux(c[(c[(c[c[D>>2]>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)+8>>2]|0,0,c[B>>2]|0,0)|0):0))h=76;do if((h|0)==76){h=0;if((c[(c[N>>2]|0)+8>>2]&131072|0)==0?d[(c[(c[C>>2]|0)+4>>2]|0)+(c[Q>>2]<<4)+15>>0]&2|0:0)break;c[A>>2]=1;if((c[P>>2]|0)>0&(c[B>>2]|0)==0){if(d[(c[r>>2]|0)+36>>0]&4|0?Hx(c[S>>2]|0,c[P>>2]|0,c[H>>2]|0,0,0)|0:0)break;if((Ix(c[(c[r>>2]|0)+52>>2]|0,c[H>>2]|0)|0)>=0)break}c[u>>2]=Ht(c[s>>2]|0,55,c[H>>2]|0)|0;c[I>>2]=c[H>>2];c[J>>2]=0;do if(c[z>>2]|0)h=84;else{if((c[c[S>>2]>>2]|0)>1){h=84;break}c[v>>2]=c[u>>2]}while(0);do if((h|0)==84){h=0;c[L>>2]=Ht(c[s>>2]|0,55,c[E>>2]|0)|0;c[v>>2]=pt(c[O>>2]|0,122,c[L>>2]|0,c[u>>2]|0,0)|0;if(c[F>>2]|0){c[L>>2]=Ht(c[s>>2]|0,55,c[F>>2]|0)|0;c[v>>2]=pt(c[O>>2]|0,122,c[L>>2]|0,c[v>>2]|0,0)|0}if(!(c[z>>2]|0))break;p=c[s>>2]|0;o=c[H>>2]|0;c[X>>2]=c[E>>2];c[X+4>>2]=o;c[I>>2]=Wj(p,29580,X)|0;c[J>>2]=c[I>>2]}while(0);c[y>>2]=Et(c[O>>2]|0,c[y>>2]|0,c[v>>2]|0)|0;jx(K,c[I>>2]|0);Ft(c[O>>2]|0,c[y>>2]|0,K,0);do if(c[y>>2]|0){if(!(c[(c[N>>2]|0)+8>>2]&2048))break;c[M>>2]=(c[(c[y>>2]|0)+4>>2]|0)+(((c[c[y>>2]>>2]|0)-1|0)*20|0);f=c[s>>2]|0;if(c[D>>2]|0){f=Xo(f,c[(c[(c[c[D>>2]>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)+8>>2]|0)|0;g=c[M>>2]|0}else{p=c[E>>2]|0;g=c[I>>2]|0;c[T>>2]=c[F>>2];c[T+4>>2]=p;c[T+8>>2]=g;f=Wj(f,29586,T)|0;g=c[M>>2]|0}c[g+8>>2]=f;p=(c[M>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Xd(c[s>>2]|0,c[J>>2]|0)}while(0);c[Q>>2]=(c[Q>>2]|0)+1}}while(0);c[P>>2]=(c[P>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+72}if(!(c[A>>2]|0)){f=c[O>>2]|0;if(c[B>>2]|0){c[U>>2]=c[B>>2];sl(f,29595,U);break}else{sl(f,29613,V);break}}}while(0);c[R>>2]=(c[R>>2]|0)+1}Kk(c[s>>2]|0,c[q>>2]|0);c[c[N>>2]>>2]=c[y>>2]}if(c[c[N>>2]>>2]|0?(c[c[c[N>>2]>>2]>>2]|0)>(c[(c[s>>2]|0)+96+8>>2]|0):0){sl(c[O>>2]|0,29633,W);c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}c[w>>2]=0;X=c[w>>2]|0;l=Y;return X|0}c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}}c[w>>2]=1;X=c[w>>2]|0;l=Y;return X|0}function Bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(Cx(c[g>>2]|0)|0)+64>>2];if(!(c[e>>2]|0)){l=f;return}c[(c[d>>2]|0)+472>>2]=c[(c[e>>2]|0)+4>>2];l=f;return}function Cx(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+52>>2]|0))break;c[b>>2]=c[a+52>>2]}l=d;return a|0}function Dx(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+96|0;A=B+16|0;o=B+8|0;i=B;v=B+88|0;w=B+84|0;n=B+80|0;x=B+76|0;h=B+72|0;y=B+68|0;p=B+64|0;z=B+60|0;q=B+56|0;r=B+52|0;s=B+48|0;t=B+44|0;u=B+40|0;j=B+36|0;k=B+32|0;m=B+28|0;c[w>>2]=f;c[n>>2]=g;c[x>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[x>>2]>>2];c[y>>2]=Vx(c[(c[x>>2]|0)+472>>2]|0,c[n>>2]|0,p)|0;if(c[y>>2]|0){f=c[x>>2]|0;if(c[(c[y>>2]|0)+12>>2]|0){A=c[(c[y>>2]|0)+12>>2]|0;c[i>>2]=c[c[y>>2]>>2];sl(f,A,i);c[v>>2]=1;A=c[v>>2]|0;l=B;return A|0}if(Ex(f,c[n>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;l=B;return A|0}i=_l(c[h>>2]|0,72,0)|0;c[z>>2]=i;c[(c[n>>2]|0)+16>>2]=i;if(!(c[z>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;l=B;return A|0}b[(c[z>>2]|0)+36>>1]=1;i=Xo(c[h>>2]|0,c[c[y>>2]>>2]|0)|0;c[c[z>>2]>>2]=i;b[(c[z>>2]|0)+32>>1]=-1;b[(c[z>>2]|0)+38>>1]=200;i=(c[z>>2]|0)+42|0;a[i>>0]=d[i>>0]|66;i=kw(c[h>>2]|0,c[(c[y>>2]|0)+8>>2]|0,0)|0;c[(c[n>>2]|0)+20>>2]=i;if(a[(c[h>>2]|0)+69>>0]|0){c[v>>2]=7;A=c[v>>2]|0;l=B;return A|0}c[r>>2]=c[(c[n>>2]|0)+20>>2];if((d[(c[r>>2]|0)+4>>0]|0)==116)f=1;else f=(d[(c[r>>2]|0)+4>>0]|0)==115;c[t>>2]=f&1;a:do if(c[t>>2]|0){c[k>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+28>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break a;c[m>>2]=(c[k>>2]|0)+8+((c[j>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?c[(c[m>>2]|0)+8>>2]|0:0)?0==(bh(c[(c[m>>2]|0)+8>>2]|0,c[c[y>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[z>>2];n=(c[m>>2]|0)+36+1|0;a[n>>0]=a[n>>0]&-33|32;n=(c[z>>2]|0)+36|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;n=(c[r>>2]|0)+8|0;c[n>>2]=c[n>>2]|8192}c[j>>2]=(c[j>>2]|0)+1}}while(0);if((e[(c[z>>2]|0)+36>>1]|0)>2){A=c[x>>2]|0;c[o>>2]=c[c[y>>2]>>2];sl(A,29874,o);c[v>>2]=1;A=c[v>>2]|0;l=B;return A|0}c[(c[y>>2]|0)+12>>2]=29917;c[u>>2]=c[(c[x>>2]|0)+472>>2];c[(c[x>>2]|0)+472>>2]=c[p>>2];f=c[r>>2]|0;if(c[t>>2]|0)f=c[f+48>>2]|0;Gw(c[w>>2]|0,f)|0;c[(c[x>>2]|0)+472>>2]=c[p>>2];c[s>>2]=c[r>>2];while(1){f=c[s>>2]|0;if(!(c[(c[s>>2]|0)+48>>2]|0))break;c[s>>2]=c[f+48>>2]}c[q>>2]=c[f>>2];if(c[(c[y>>2]|0)+4>>2]|0){if(c[q>>2]|0?(c[c[q>>2]>>2]|0)!=(c[c[(c[y>>2]|0)+4>>2]>>2]|0):0){z=c[x>>2]|0;t=c[c[q>>2]>>2]|0;w=c[c[(c[y>>2]|0)+4>>2]>>2]|0;c[A>>2]=c[c[y>>2]>>2];c[A+4>>2]=t;c[A+8>>2]=w;sl(z,29940,A);c[(c[x>>2]|0)+472>>2]=c[u>>2];c[v>>2]=1;A=c[v>>2]|0;l=B;return A|0}c[q>>2]=c[(c[y>>2]|0)+4>>2]}nw(c[x>>2]|0,c[q>>2]|0,(c[z>>2]|0)+34|0,(c[z>>2]|0)+4|0)|0;if(c[t>>2]|0){c[(c[y>>2]|0)+12>>2]=c[(c[r>>2]|0)+8>>2]&8192|0?29978:30012;Gw(c[w>>2]|0,c[r>>2]|0)|0}c[(c[y>>2]|0)+12>>2]=0;c[(c[x>>2]|0)+472>>2]=c[u>>2]}c[v>>2]=0;A=c[v>>2]|0;l=B;return A|0}function Ex(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=i+12|0;f=i+8|0;g=i+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0){f=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];sl(f,29851,h);c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}return 0}function Fx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;c[g>>2]=b;c[h>>2]=e;do if(c[(c[h>>2]|0)+16>>2]|0?(d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0:0){c[i>>2]=c[(c[h>>2]|0)+16>>2];c[j>>2]=c[(c[h>>2]|0)+64>>2];c[k>>2]=c[(c[i>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if(!(bh(c[c[k>>2]>>2]|0,c[j>>2]|0)|0))break;c[k>>2]=c[(c[k>>2]|0)+20>>2]}if(c[k>>2]|0){c[(c[h>>2]|0)+68>>2]=c[k>>2];break}k=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=0;sl(k,29833,m);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;l=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}function Gx(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+96|0;B=C+16|0;A=C+8|0;z=C;x=C+92|0;y=C+88|0;q=C+84|0;r=C+80|0;s=C+76|0;t=C+72|0;u=C+68|0;v=C+64|0;f=C+60|0;g=C+56|0;h=C+52|0;i=C+48|0;j=C+44|0;k=C+40|0;m=C+36|0;w=C+32|0;n=C+28|0;o=C+24|0;p=C+20|0;c[y>>2]=a;c[q>>2]=e;c[r>>2]=c[(c[q>>2]|0)+28>>2];c[u>>2]=(c[r>>2]|0)+8;c[v>>2]=(c[u>>2]|0)+72;c[s>>2]=0;a:while(1){if((c[s>>2]|0)>=((c[c[r>>2]>>2]|0)-1|0)){a=28;break}c[f>>2]=c[(c[u>>2]|0)+16>>2];c[g>>2]=c[(c[v>>2]|0)+16>>2];b:do if(!((c[f>>2]|0)==0|(c[g>>2]|0)==0)){c[h>>2]=(d[(c[v>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[v>>2]|0)+36>>0]&4|0){if(c[(c[v>>2]|0)+48>>2]|0){a=7;break a}if(c[(c[v>>2]|0)+52>>2]|0){a=7;break a}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[g>>2]|0)+34>>1]|0))break c;c[i>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2];if(Hx(c[r>>2]|0,(c[s>>2]|0)+1|0,c[i>>2]|0,j,k)|0)Kx(c[y>>2]|0,c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,(c[s>>2]|0)+1|0,c[t>>2]|0,c[h>>2]|0,(c[q>>2]|0)+32|0);c[t>>2]=(c[t>>2]|0)+1}}while(0);if(c[(c[v>>2]|0)+48>>2]|0?c[(c[v>>2]|0)+52>>2]|0:0){a=15;break a}if(c[(c[v>>2]|0)+48>>2]|0){if(c[h>>2]|0)Lx(c[(c[v>>2]|0)+48>>2]|0,c[(c[v>>2]|0)+44>>2]|0);e=Mx(c[c[y>>2]>>2]|0,c[(c[q>>2]|0)+32>>2]|0,c[(c[v>>2]|0)+48>>2]|0)|0;c[(c[q>>2]|0)+32>>2]=e;c[(c[v>>2]|0)+48>>2]=0}if(c[(c[v>>2]|0)+52>>2]|0){c[m>>2]=c[(c[v>>2]|0)+52>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[m>>2]|0)+4>>2]|0))break b;c[w>>2]=c[(c[c[m>>2]>>2]|0)+(c[t>>2]<<3)>>2];c[p>>2]=Jx(c[g>>2]|0,c[w>>2]|0)|0;if((c[p>>2]|0)<0){a=25;break a}if(!(Hx(c[r>>2]|0,(c[s>>2]|0)+1|0,c[w>>2]|0,n,o)|0)){a=25;break a}Kx(c[y>>2]|0,c[r>>2]|0,c[n>>2]|0,c[o>>2]|0,(c[s>>2]|0)+1|0,c[p>>2]|0,c[h>>2]|0,(c[q>>2]|0)+32|0);c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+72;c[u>>2]=(c[u>>2]|0)+72}if((a|0)==7){B=c[y>>2]|0;c[z>>2]=0;sl(B,29664,z);c[x>>2]=1;B=c[x>>2]|0;l=C;return B|0}else if((a|0)==15){sl(c[y>>2]|0,29714,A);c[x>>2]=1;B=c[x>>2]|0;l=C;return B|0}else if((a|0)==25){A=c[y>>2]|0;c[B>>2]=c[w>>2];sl(A,29769,B);c[x>>2]=1;B=c[x>>2]|0;l=C;return B|0}else if((a|0)==28){c[x>>2]=0;B=c[x>>2]|0;l=C;return B|0}return 0}function Hx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;g=q+8|0;h=q+4|0;i=q;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[g>>2]=f;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[m>>2]|0)){p=8;break}c[i>>2]=Jx(c[(c[k>>2]|0)+8+((c[h>>2]|0)*72|0)+16>>2]|0,c[n>>2]|0)|0;if((c[i>>2]|0)>=0)break;c[h>>2]=(c[h>>2]|0)+1}if((p|0)==8){c[j>>2]=0;p=c[j>>2]|0;l=q;return p|0}if(c[o>>2]|0){c[c[o>>2]>>2]=c[h>>2];c[c[g>>2]>>2]=c[i>>2]}c[j>>2]=1;p=c[j>>2]|0;l=q;return p|0}function Ix(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;l=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(bh(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;l=h;return g|0}return 0}function Jx(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(bh(c[(c[(c[e>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;l=i;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;l=i;return h|0}return 0}function Kx(a,d,e,f,g,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=l;l=l+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;k=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=i;c[k>>2]=j;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=Ux(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=Ux(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=pt(c[s>>2]|0,37,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[k>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=Mx(v,x,w)|0;x=c[k>>2]|0;c[x>>2]=w;l=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[k>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=Mx(v,x,w)|0;x=c[k>>2]|0;c[x>>2]=w;l=p;return}function Lx(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;e=(c[f>>2]|0)+4|0;c[e>>2]=c[e>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?c[(c[f>>2]|0)+20>>2]|0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;Lx(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);Lx(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}l=i;return}function Mx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;i=c[e>>2]|0;l=j;return i|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;i=c[e>>2]|0;l=j;return i|0}if((Nx(b)|0)==0?(Nx(c[h>>2]|0)|0)==0:0){c[i>>2]=Wt(c[f>>2]|0,28,0,0)|0;Ox(c[f>>2]|0,c[i>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[i>>2];i=c[e>>2]|0;l=j;return i|0}Ok(c[f>>2]|0,c[g>>2]|0);Ok(c[f>>2]|0,c[h>>2]|0);c[e>>2]=Wt(c[f>>2]|0,134,4252,0)|0;i=c[e>>2]|0;l=j;return i|0}function Nx(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1|0))if(Tw(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);l=f;return c[b>>2]|0}function Ox(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(!(c[g>>2]|0)){Ok(c[f>>2]|0,c[h>>2]|0);Ok(c[f>>2]|0,c[i>>2]|0);l=j;return}if(c[i>>2]|0){c[(c[g>>2]|0)+16>>2]=c[i>>2];f=(c[g>>2]|0)+4|0;c[f>>2]=c[f>>2]|2097408&c[(c[i>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];i=(c[g>>2]|0)+4|0;c[i>>2]=c[i>>2]|2097408&c[(c[h>>2]|0)+4>>2]}Px(c[g>>2]|0);l=j;return}function Px(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;Qx(c[(c[b>>2]|0)+12>>2]|0,d);Qx(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048|0)){if(c[a>>2]|0){Sx(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(Tx(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else Rx(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;l=e;return}function Qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){l=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){l=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];l=f;return}function Rx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){l=f;return}Qx(c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);Qx(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);Qx(c[(c[d>>2]|0)+56>>2]|0,c[e>>2]|0);Qx(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);Sx(c[c[d>>2]>>2]|0,c[e>>2]|0);Sx(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);Sx(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);Rx(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);l=f;return}function Sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){l=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;Qx(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}l=g;return}function Tx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){f=c[e>>2]|0;l=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}f=c[e>>2]|0;l=g;return f|0}function Ux(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=Wt(c[n>>2]|0,152,0,0)|0;if(!(c[j>>2]|0)){n=c[j>>2]|0;l=m;return n|0}c[k>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[j>>2]|0)+44>>2]=c[(c[k>>2]|0)+16>>2];c[(c[j>>2]|0)+28>>2]=c[(c[k>>2]|0)+44>>2];if((b[(c[(c[j>>2]|0)+44>>2]|0)+32>>1]|0)==(c[i>>2]|0))b[(c[j>>2]|0)+32>>1]=-1;else{b[(c[j>>2]|0)+32>>1]=c[i>>2];i=j0(1,0,((c[i>>2]|0)>=64?63:c[i>>2]|0)|0)|0;n=(c[k>>2]|0)+56|0;h=n;k=c[h+4>>2]|D;c[n>>2]=c[h>>2]|i;c[n+4>>2]=k}n=(c[j>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[j>>2]|0;l=m;return n|0}function Vx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(g=c[(c[g>>2]|0)+8>>2]|0,c[i>>2]=g,g|0):0){c[j>>2]=c[f>>2];b:while(1){if(!(c[j>>2]|0))break a;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[j>>2]>>2]|0))break;if(!(bh(c[i>>2]|0,c[(c[j>>2]|0)+8+(c[k>>2]<<4)>>2]|0)|0))break b;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=c[(c[j>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[j>>2];c[e>>2]=(c[j>>2]|0)+8+(c[k>>2]<<4);k=c[e>>2]|0;l=m;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}function Wx(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;k=r+36|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[m>>2]=a;c[n>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;l=r;return q|0}if((c[c[n>>2]>>2]|0)>0)a=((c[c[n>>2]>>2]|0)-1|0)*72|0;else a=0;c[g>>2]=80+a;g=c[g>>2]|0;c[p>>2]=Ed(c[m>>2]|0,g,((g|0)<0)<<31>>31)|0;if(!(c[p>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;l=r;return q|0}g=c[c[n>>2]>>2]|0;c[(c[p>>2]|0)+4>>2]=g;c[c[p>>2]>>2]=g;c[q>>2]=0;while(1){a=c[p>>2]|0;if((c[q>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[h>>2]=a+8+((c[q>>2]|0)*72|0);c[i>>2]=(c[n>>2]|0)+8+((c[q>>2]|0)*72|0);c[c[h>>2]>>2]=c[c[i>>2]>>2];g=Xo(c[m>>2]|0,c[(c[i>>2]|0)+4>>2]|0)|0;c[(c[h>>2]|0)+4>>2]=g;g=Xo(c[m>>2]|0,c[(c[i>>2]|0)+8>>2]|0)|0;c[(c[h>>2]|0)+8>>2]=g;g=Xo(c[m>>2]|0,c[(c[i>>2]|0)+12>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=g;c[(c[h>>2]|0)+36>>2]=c[(c[i>>2]|0)+36>>2];c[(c[h>>2]|0)+44>>2]=c[(c[i>>2]|0)+44>>2];c[(c[h>>2]|0)+24>>2]=c[(c[i>>2]|0)+24>>2];c[(c[h>>2]|0)+28>>2]=c[(c[i>>2]|0)+28>>2];if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0){g=Xo(c[m>>2]|0,c[(c[i>>2]|0)+64>>2]|0)|0;c[(c[h>>2]|0)+64>>2]=g}c[(c[h>>2]|0)+68>>2]=c[(c[i>>2]|0)+68>>2];if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1|0){g=cx(c[m>>2]|0,c[(c[i>>2]|0)+64>>2]|0,c[o>>2]|0)|0;c[(c[h>>2]|0)+64>>2]=g}g=c[(c[i>>2]|0)+16>>2]|0;c[(c[h>>2]|0)+16>>2]=g;c[j>>2]=g;if(c[j>>2]|0){g=(c[j>>2]|0)+36|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16}e=kw(c[m>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[o>>2]|0)|0;c[(c[h>>2]|0)+20>>2]=e;e=Ww(c[m>>2]|0,c[(c[i>>2]|0)+48>>2]|0,c[o>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=e;e=Yx(c[m>>2]|0,c[(c[i>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+52>>2]=e;e=(c[i>>2]|0)+56|0;f=c[e+4>>2]|0;g=(c[h>>2]|0)+56|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[q>>2]=(c[q>>2]|0)+1}c[k>>2]=a;q=c[k>>2]|0;l=r;return q|0}function Xx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[e>>2]|0)){h=c[f>>2]|0;l=i;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);g=c[g>>2]|0;c[f>>2]=_l(c[d>>2]|0,g,((g|0)<0)<<31>>31)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;l=i;return h|0}c[c[f>>2]>>2]=c[c[e>>2]>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[e>>2]>>2]|0))break;g=kw(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[h>>2]<<4)+8>>2]|0,0)|0;c[(c[f>>2]|0)+8+(c[h>>2]<<4)+8>>2]=g;g=cx(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[h>>2]<<4)+4>>2]|0,0)|0;c[(c[f>>2]|0)+8+(c[h>>2]<<4)+4>>2]=g;g=Xo(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[h>>2]<<4)>>2]|0)|0;c[(c[f>>2]|0)+8+(c[h>>2]<<4)>>2]=g;c[h>>2]=(c[h>>2]|0)+1}h=c[f>>2]|0;l=i;return h|0}function Yx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}c[g>>2]=Ed(c[e>>2]|0,8,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=Ed(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[g>>2]>>2]=b;if(!(c[c[g>>2]>>2]|0)){Xd(c[e>>2]|0,c[g>>2]|0);c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}c[h>>2]=0;while(1){a=c[g>>2]|0;if((c[h>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[i>>2]=(c[a>>2]|0)+(c[h>>2]<<3);c[j>>2]=(c[c[f>>2]>>2]|0)+(c[h>>2]<<3);b=Xo(c[e>>2]|0,c[c[j>>2]>>2]|0)|0;c[c[i>>2]>>2]=b;c[(c[i>>2]|0)+4>>2]=c[(c[j>>2]|0)+4>>2];c[h>>2]=(c[h>>2]|0)+1}c[d>>2]=a;j=c[d>>2]|0;l=k;return j|0}function Zx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;e=k+32|0;f=k+28|0;n=k+24|0;m=k+20|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;d=k;c[e>>2]=a;c[f>>2]=b;c[n>>2]=c[c[e>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2];cv(c[e>>2]|0,0,c[f>>2]|0);c[h>>2]=c[(c[e>>2]|0)+40>>2];b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+3;by(c[e>>2]|0,c[f>>2]|0,c[h>>2]|0,0,0);c[i>>2]=(c[(c[e>>2]|0)+44>>2]|0)+1;c[j>>2]=c[(c[e>>2]|0)+40>>2];c[g>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[g>>2]|0))break;c[d>>2]=c[(c[g>>2]|0)+8>>2];cy(c[e>>2]|0,c[d>>2]|0,0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);c[g>>2]=c[c[g>>2]>>2]}dy(c[e>>2]|0,c[f>>2]|0);l=k;return}function _x(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Eu(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=ol(c[g>>2]|0,c[f>>2]|0)|0;Xd(c[g>>2]|0,c[f>>2]|0);l=e;return c[d>>2]|0}function $x(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Hu(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;cv(c[e>>2]|0,0,c[h>>2]|0);c[i>>2]=c[(c[e>>2]|0)+40>>2];a=(c[e>>2]|0)+40|0;c[a>>2]=(c[a>>2]|0)+3;a=c[e>>2]|0;b=c[h>>2]|0;d=c[i>>2]|0;if(c[g>>2]|0)by(a,b,d,c[c[g>>2]>>2]|0,30148);else by(a,b,d,c[c[f>>2]>>2]|0,30152);cy(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[i>>2]|0,(c[(c[e>>2]|0)+44>>2]|0)+1|0,c[(c[e>>2]|0)+40>>2]|0);dy(c[e>>2]|0,c[h>>2]|0);l=j;return}function ay(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+8|0;p=r;i=r+36|0;j=r+32|0;k=r+28|0;m=r+24|0;n=r+20|0;o=r+16|0;h=r+12|0;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[h>>2]=c[c[j>>2]>>2];b=(c[h>>2]|0)+148|0;if((c[(c[m>>2]|0)+4>>2]|0)>>>0>0){if(a[b+5>>0]|0){sl(c[j>>2]|0,30111,p);c[i>>2]=-1;q=c[i>>2]|0;l=r;return q|0}c[c[n>>2]>>2]=c[m>>2];c[o>>2]=_x(c[h>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];sl(p,30128,q);c[i>>2]=-1;q=c[i>>2]|0;l=r;return q|0}}else{c[o>>2]=d[b+4>>0];c[c[n>>2]>>2]=c[k>>2]}c[i>>2]=c[o>>2];q=c[i>>2]|0;l=r;return q|0}function by(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+96|0;w=x+16|0;v=x;q=x+84|0;r=x+80|0;s=x+76|0;t=x+72|0;u=x+68|0;h=x+64|0;i=x+60|0;j=x+56|0;k=x+52|0;m=x+40|0;n=x+88|0;o=x+36|0;p=x+32|0;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[i>>2]=c[c[q>>2]>>2];c[k>>2]=Lu(c[q>>2]|0)|0;if(!(c[k>>2]|0)){l=x;return}c[j>>2]=(c[(c[i>>2]|0)+16>>2]|0)+(c[r>>2]<<4);c[h>>2]=0;while(1){if((c[h>>2]|0)>=3)break;c[o>>2]=c[4352+(c[h>>2]<<3)>>2];g=gv(c[i>>2]|0,c[o>>2]|0,c[c[j>>2]>>2]|0)|0;c[p>>2]=g;do if(!g){if(c[4352+(c[h>>2]<<3)+4>>2]|0){g=c[q>>2]|0;e=c[o>>2]|0;f=c[4352+(c[h>>2]<<3)+4>>2]|0;c[v>>2]=c[c[j>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=f;Ku(g,30209,v);c[m+(c[h>>2]<<2)>>2]=c[(c[q>>2]|0)+104>>2];a[n+(c[h>>2]|0)>>0]=16}}else{c[m+(c[h>>2]<<2)>>2]=c[(c[p>>2]|0)+28>>2];a[n+(c[h>>2]|0)>>0]=0;gy(c[q>>2]|0,c[r>>2]|0,c[m+(c[h>>2]<<2)>>2]|0,1,c[o>>2]|0);if(c[t>>2]|0){g=c[q>>2]|0;d=c[o>>2]|0;e=c[u>>2]|0;f=c[t>>2]|0;c[w>>2]=c[c[j>>2]>>2];c[w+4>>2]=d;c[w+8>>2]=e;c[w+12>>2]=f;Ku(g,30232,w);break}else{Qu(c[k>>2]|0,131,c[m+(c[h>>2]<<2)>>2]|0,c[r>>2]|0)|0;break}}while(0);c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if(!(c[4352+(c[h>>2]<<3)+4>>2]|0))break;zy(c[k>>2]|0,105,(c[s>>2]|0)+(c[h>>2]|0)|0,c[m+(c[h>>2]<<2)>>2]|0,c[r>>2]|0,3)|0;jy(c[k>>2]|0,a[n+(c[h>>2]|0)>>0]|0);c[h>>2]=(c[h>>2]|0)+1}l=x;return}function cy(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=l;l=l+128|0;M=R+116|0;N=R+112|0;O=R+108|0;P=R+104|0;k=R+100|0;m=R+96|0;n=R+92|0;o=R+88|0;p=R+84|0;q=R+80|0;r=R+76|0;s=R+72|0;t=R+68|0;u=R+64|0;v=R+120|0;w=R+60|0;x=R+56|0;y=R+52|0;z=R+48|0;A=R+44|0;B=R+40|0;C=R+36|0;D=R+32|0;E=R+28|0;F=R+24|0;G=R+20|0;H=R+16|0;I=R+12|0;J=R+8|0;K=R+4|0;L=R;c[M>>2]=b;c[N>>2]=f;c[O>>2]=g;c[P>>2]=h;c[k>>2]=i;c[m>>2]=j;c[n>>2]=c[c[M>>2]>>2];c[t>>2]=-1;a[v>>0]=1;j=c[k>>2]|0;c[k>>2]=j+1;c[w>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[x>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[y>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[z>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[A>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[B>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[C>>2]=j;c[D>>2]=c[k>>2];if((c[(c[M>>2]|0)+44>>2]|0)>(c[k>>2]|0))b=c[(c[M>>2]|0)+44>>2]|0;else b=c[k>>2]|0;c[(c[M>>2]|0)+44>>2]=b;c[r>>2]=Lu(c[M>>2]|0)|0;if((c[r>>2]|0)==0|(c[N>>2]|0)==0){l=R;return}if(!(c[(c[N>>2]|0)+28>>2]|0)){l=R;return}if(!(fy(30156,c[c[N>>2]>>2]|0,0)|0)){l=R;return}c[u>>2]=Hu(c[n>>2]|0,c[(c[N>>2]|0)+64>>2]|0)|0;if(Iu(c[M>>2]|0,28,c[c[N>>2]>>2]|0,0,c[(c[(c[n>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2]|0)|0){l=R;return}gy(c[M>>2]|0,c[u>>2]|0,c[(c[N>>2]|0)+28>>2]|0,0,c[c[N>>2]>>2]|0);j=c[m>>2]|0;c[m>>2]=j+1;c[q>>2]=j;j=c[m>>2]|0;c[m>>2]=j+1;c[p>>2]=j;if((c[(c[M>>2]|0)+40>>2]|0)>(c[m>>2]|0))b=c[(c[M>>2]|0)+40>>2]|0;else b=c[m>>2]|0;c[(c[M>>2]|0)+40>>2]=b;hy(c[M>>2]|0,c[q>>2]|0,c[u>>2]|0,c[N>>2]|0,104);Pu(c[r>>2]|0,c[A>>2]|0,c[c[N>>2]>>2]|0)|0;c[o>>2]=c[(c[N>>2]|0)+8>>2];while(1){b=c[O>>2]|0;if(!(c[o>>2]|0))break;if(!(b|0?(c[O>>2]|0)!=(c[o>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[o>>2]|0)+36>>2]|0))a[v>>0]=0;if(((d[(c[N>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[o>>2]|0)+55>>0]&3|0)==2:0){c[E>>2]=e[(c[o>>2]|0)+50>>1];c[H>>2]=c[c[N>>2]>>2];c[I>>2]=(c[E>>2]|0)-1}else{c[E>>2]=e[(c[o>>2]|0)+52>>1];c[H>>2]=c[c[o>>2]>>2];if((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)b=e[(c[o>>2]|0)+50>>1]|0;else b=c[E>>2]|0;c[I>>2]=b-1}Pu(c[r>>2]|0,c[B>>2]|0,c[H>>2]|0)|0;if((c[(c[M>>2]|0)+44>>2]|0)>((c[D>>2]|0)+(c[I>>2]|0)|0))b=c[(c[M>>2]|0)+44>>2]|0;else b=(c[D>>2]|0)+(c[I>>2]|0)|0;c[(c[M>>2]|0)+44>>2]=b;Ru(c[r>>2]|0,104,c[p>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[u>>2]|0)|0;iy(c[M>>2]|0,c[o>>2]|0);Qu(c[r>>2]|0,76,c[E>>2]|0,(c[x>>2]|0)+1|0)|0;Qu(c[r>>2]|0,76,e[(c[o>>2]|0)+50>>1]|0,(c[x>>2]|0)+2|0)|0;Uu(c[r>>2]|0,89,0,(c[x>>2]|0)+1|0,c[x>>2]|0,4268,-5)|0;jy(c[r>>2]|0,2);c[F>>2]=ey(c[r>>2]|0,57,c[p>>2]|0)|0;Qu(c[r>>2]|0,76,0,c[y>>2]|0)|0;c[G>>2]=Pv(c[r>>2]|0)|0;if((c[I>>2]|0)>0){c[J>>2]=ky(c[r>>2]|0)|0;c[K>>2]=Ed(c[n>>2]|0,c[I>>2]<<2,0)|0;if(!(c[K>>2]|0))break;Nu(c[r>>2]|0,13)|0;c[G>>2]=Pv(c[r>>2]|0)|0;if(((c[I>>2]|0)==1?(e[(c[o>>2]|0)+50>>1]|0|0)==1:0)?d[(c[o>>2]|0)+54>>0]|0|0:0)Qu(c[r>>2]|0,35,c[D>>2]|0,c[J>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[I>>2]|0))break;c[L>>2]=ly(c[M>>2]|0,c[(c[(c[o>>2]|0)+32>>2]|0)+(c[s>>2]<<2)>>2]|0)|0;Qu(c[r>>2]|0,76,c[s>>2]|0,c[y>>2]|0)|0;Ru(c[r>>2]|0,96,c[p>>2]|0,c[s>>2]|0,c[z>>2]|0)|0;m=Uu(c[r>>2]|0,36,c[z>>2]|0,0,(c[D>>2]|0)+(c[s>>2]|0)|0,c[L>>2]|0,-4)|0;c[(c[K>>2]|0)+(c[s>>2]<<2)>>2]=m;jy(c[r>>2]|0,-128);c[s>>2]=(c[s>>2]|0)+1}Qu(c[r>>2]|0,76,c[I>>2]|0,c[y>>2]|0)|0;my(c[r>>2]|0,c[J>>2]|0)|0;ny(c[r>>2]|0,(c[G>>2]|0)-1|0);c[s>>2]=0;while(1){b=c[r>>2]|0;if((c[s>>2]|0)>=(c[I>>2]|0))break;ny(b,c[(c[K>>2]|0)+(c[s>>2]<<2)>>2]|0);Ru(c[r>>2]|0,96,c[p>>2]|0,c[s>>2]|0,(c[D>>2]|0)+(c[s>>2]|0)|0)|0;c[s>>2]=(c[s>>2]|0)+1}oy(b,c[J>>2]|0);Xd(c[n>>2]|0,c[K>>2]|0)}Uu(c[r>>2]|0,89,1,c[x>>2]|0,c[z>>2]|0,4296,-5)|0;jy(c[r>>2]|0,2);Qu(c[r>>2]|0,7,c[p>>2]|0,c[G>>2]|0)|0;py(c[r>>2]|0,c[x>>2]|0,0,c[C>>2]|0);Uu(c[r>>2]|0,99,c[A>>2]|0,3,c[z>>2]|0,30165,0)|0;Qu(c[r>>2]|0,114,c[P>>2]|0,c[w>>2]|0)|0;Ru(c[r>>2]|0,115,c[P>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;jy(c[r>>2]|0,8);ny(c[r>>2]|0,c[F>>2]|0)}while(0);c[o>>2]=c[(c[o>>2]|0)+20>>2]}if(b|0){l=R;return}if(!(d[v>>0]|0)){l=R;return}Qu(c[r>>2]|0,100,c[q>>2]|0,c[C>>2]|0)|0;c[t>>2]=ey(c[r>>2]|0,22,c[C>>2]|0)|0;Qu(c[r>>2]|0,79,0,c[B>>2]|0)|0;Uu(c[r>>2]|0,99,c[A>>2]|0,3,c[z>>2]|0,30165,0)|0;Qu(c[r>>2]|0,114,c[P>>2]|0,c[w>>2]|0)|0;Ru(c[r>>2]|0,115,c[P>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;jy(c[r>>2]|0,8);ny(c[r>>2]|0,c[t>>2]|0);l=R;return}function dy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=Lu(c[g>>2]|0)|0;if(!(c[e>>2]|0)){l=f;return}ey(c[e>>2]|0,137,c[d>>2]|0)|0;l=f;return}function ey(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ru(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;l=e;return d|0}function fy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=(Wh(c[h>>2]|0,c[g>>2]|0,22031,c[f>>2]|0)|0)==0&1;l=e;return d|0}function gy(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;t=s+28|0;n=s+24|0;o=s+20|0;p=s+32|0;q=s+16|0;m=s+12|0;i=s+8|0;j=s+4|0;r=s;c[t>>2]=b;c[n>>2]=e;c[o>>2]=f;a[p>>0]=g;c[q>>2]=h;b=c[t>>2]|0;if(c[(c[t>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[m>>2]=b;c[i>>2]=0;while(1){b=c[m>>2]|0;if((c[i>>2]|0)>=(c[(c[m>>2]|0)+112>>2]|0))break;c[r>>2]=(c[b+116>>2]|0)+(c[i>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[n>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[o>>2]|0):0){k=7;break}c[i>>2]=(c[i>>2]|0)+1}if((k|0)==7){if(d[(c[r>>2]|0)+8>>0]|0|0)b=1;else b=(d[p>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=b&1;l=s;return}c[j>>2]=(c[b+112>>2]|0)+1<<4;b=c[j>>2]|0;b=ji(c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+116>>2]|0,b,((b|0)<0)<<31>>31)|0;c[(c[m>>2]|0)+116>>2]=b;b=c[m>>2]|0;if(c[(c[m>>2]|0)+116>>2]|0){k=c[b+116>>2]|0;m=(c[m>>2]|0)+112|0;t=c[m>>2]|0;c[m>>2]=t+1;c[r>>2]=k+(t<<4);c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+4>>2]=c[o>>2];a[(c[r>>2]|0)+8>>0]=a[p>>0]|0;c[(c[r>>2]|0)+12>>2]=c[q>>2];l=s;return}else{c[b+112>>2]=0;Od(c[c[m>>2]>>2]|0);l=s;return}}function hy(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[i>>2]=Lu(c[k>>2]|0)|0;gy(c[k>>2]|0,c[n>>2]|0,c[(c[o>>2]|0)+28>>2]|0,((c[p>>2]|0)==105?1:0)&255,c[c[o>>2]>>2]|0);if(!(d[(c[o>>2]|0)+42>>0]&32)){zy(c[i>>2]|0,c[p>>2]|0,c[m>>2]|0,c[(c[o>>2]|0)+28>>2]|0,c[n>>2]|0,b[(c[o>>2]|0)+34>>1]|0)|0;l=q;return}else{c[j>>2]=uv(c[o>>2]|0)|0;Ru(c[i>>2]|0,c[p>>2]|0,c[m>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[n>>2]|0)|0;iy(c[k>>2]|0,c[j>>2]|0);l=q;return}}function iy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];b=c[g>>2]|0;Vu(b,-1,xy(c[f>>2]|0,c[e>>2]|0)|0,-6);l=d;return}function jy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if((c[(c[e>>2]|0)+136>>2]|0)<=0){l=g;return}a[(c[(c[e>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+136>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;l=g;return}function ky(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+12>>2];f=(c[b>>2]|0)+72|0;a=c[f>>2]|0;c[f>>2]=a+1;c[d>>2]=a;if(!(c[d>>2]&(c[d>>2]|0)-1)){f=ji(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+76>>2]|0,(c[d>>2]<<1)+1<<2,0)|0;c[(c[b>>2]|0)+76>>2]=f}if(!(c[(c[b>>2]|0)+76>>2]|0)){f=c[d>>2]|0;f=-1-f|0;l=e;return f|0}c[(c[(c[b>>2]|0)+76>>2]|0)+(c[d>>2]<<2)>>2]=-1;f=c[d>>2]|0;f=-1-f|0;l=e;return f|0}function ly(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;f=j+12|0;g=j+8|0;m=j+4|0;h=j+17|0;k=j+16|0;i=j;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+66>>0]|0;a[k>>0]=a[(c[m>>2]|0)+148+5>>0]|0;c[i>>2]=tw(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[k>>0]|0)|0;if(a[k>>0]|0){m=c[i>>2]|0;l=j;return m|0}if(c[i>>2]|0?c[(c[i>>2]|0)+12>>2]|0:0){m=c[i>>2]|0;l=j;return m|0}c[i>>2]=sw(c[f>>2]|0,a[h>>0]|0,c[i>>2]|0,c[g>>2]|0)|0;m=c[i>>2]|0;l=j;return m|0}function my(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Ru(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;l=d;return b|0}function ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;ty(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+136>>2]|0);l=d;return}function oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=-1-(c[h>>2]|0);if(!(c[(c[e>>2]|0)+76>>2]|0)){l=g;return}c[(c[(c[e>>2]|0)+76>>2]|0)+(c[f>>2]<<2)>>2]=c[(c[d>>2]|0)+136>>2];l=g;return}function py(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;i=f+8|0;h=f;c[g>>2]=a;c[i>>2]=b;c[f+4>>2]=d;c[h>>2]=e;Uu(c[g>>2]|0,89,0,c[i>>2]|0,c[h>>2]|0,4324,-5)|0;jy(c[g>>2]|0,1);l=f;return}function qy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+64|0;n=o+24|0;m=o+16|0;g=o+56|0;p=o+48|0;h=o+44|0;i=o+40|0;j=o+36|0;k=o+32|0;e=o+8|0;f=o;c[g>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[h>>2]=Ri(c[c[p>>2]>>2]|0)|0;d=((c[(c[h>>2]|0)+12>>2]|0)+1|0)*25|0;c[k>>2]=Xg(d,((d|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){wi(c[g>>2]|0);l=o;return}p=c[k>>2]|0;d=m;c[d>>2]=c[c[h>>2]>>2];c[d+4>>2]=0;ef(24,p,30178,m)|0;p=c[k>>2]|0;c[i>>2]=p+(md(c[k>>2]|0)|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[h>>2]|0)+12>>2]|0))break;p=e;c[p>>2]=(c[(c[(c[h>>2]|0)+20+4>>2]|0)+(c[j>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=e;p=_$(c[c[h>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=Z$(p|0,D|0,1,0)|0;b=e;b=p0(p|0,D|0,c[b>>2]|0,c[b+4>>2]|0)|0;p=f;c[p>>2]=b;c[p+4>>2]=D;p=c[i>>2]|0;b=f;d=c[b+4>>2]|0;m=n;c[m>>2]=c[b>>2];c[m+4>>2]=d;ef(24,p,30183,n)|0;p=md(c[i>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+p;c[j>>2]=(c[j>>2]|0)+1}xi(c[g>>2]|0,c[k>>2]|0,-1,157);l=o;return}function ry(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[h+20>>2]=a;c[h+16>>2]=b;c[i>>2]=d;c[f>>2]=Ri(c[c[i>>2]>>2]|0)|0;c[g>>2]=Qi(c[(c[i>>2]|0)+4>>2]|0)|0;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+8>>2]|0))break;c[(c[(c[f>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=c[f>>2]|0;g=c[i>>2]|0;g=g+1|0;c[i>>2]=g;l=h;return}sy(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[g>>2]|0))break;i=(c[(c[f>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[i>>2]=(c[i>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[g>>2];while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+8>>2]|0))break;i=(c[(c[f>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[i>>2]=(c[i>>2]|0)+1;c[(c[(c[f>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=c[f>>2]|0;g=c[i>>2]|0;g=g+1|0;c[i>>2]=g;l=h;return}function sy(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return}function ty(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(uy(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;l=e;return}function uy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+136>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=55148;g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);g=c[e>>2]|0;l=h;return g|0}return 0}function vy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;f=k+32|0;n=k+24|0;g=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;m=k+4|0;e=k;c[f>>2]=a;c[k+28>>2]=b;c[n>>2]=d;c[h>>2]=Qi(c[c[n>>2]>>2]|0)|0;c[j>>2]=(c[h>>2]|0)+1&-2;c[i>>2]=Qi(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[j>>2]<<2)+(c[j>>2]<<2);c[e>>2]=Ph(c[f>>2]|0)|0;d=c[m>>2]|0;c[g>>2]=_l(c[e>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){wi(c[f>>2]|0);l=k;return}else{c[(c[g>>2]|0)+52>>2]=c[e>>2];c[c[g>>2]>>2]=0;c[(c[g>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+12>>2]=c[i>>2];c[(c[g>>2]|0)+20+4>>2]=(c[g>>2]|0)+56;c[(c[g>>2]|0)+20>>2]=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[j>>2]<<2);mj(c[f>>2]|0,c[g>>2]|0,56,159);l=k;return}}function wy(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Xd(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);l=b;return}function xy(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[i>>2]=b;c[j>>2]=f;c[m>>2]=e[(c[j>>2]|0)+52>>1];c[g>>2]=e[(c[j>>2]|0)+50>>1];if(c[(c[i>>2]|0)+36>>2]|0){c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}b=c[c[i>>2]>>2]|0;if((d[(c[j>>2]|0)+55>>0]|0)>>>3&1|0)c[n>>2]=yy(b,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=yy(b,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[j>>2]|0)+32>>2]|0)+(c[k>>2]<<2)>>2];if((c[o>>2]|0)==34455)b=0;else b=ly(c[i>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[k>>2]<<2)>>2]=b;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}if(c[(c[i>>2]|0)+36>>2]|0){zk(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;l=p;return o|0}function yy(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=((c[h>>2]|0)+(c[i>>2]|0)|0)*5;c[k>>2]=Ed(c[g>>2]|0,24+(c[j>>2]|0)|0,0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+16>>2]=(c[k>>2]|0)+20+((c[h>>2]|0)+(c[i>>2]|0)<<2);b[(c[k>>2]|0)+6>>1]=c[h>>2];b[(c[k>>2]|0)+8>>1]=c[i>>2];a[(c[k>>2]|0)+4>>0]=a[(c[g>>2]|0)+66>>0]|0;c[(c[k>>2]|0)+12>>2]=c[g>>2];c[c[k>>2]>>2]=1;m0((c[k>>2]|0)+24|0,0,c[j>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}else{Od(c[g>>2]|0);k=c[k>>2]|0;l=m;return k|0}return 0}function zy(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;i=l;l=l+32|0;k=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;m=i+8|0;j=i+4|0;h=i;c[k>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[j>>2]=g;c[h>>2]=Ru(c[k>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Vu(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0,-14);l=i;return c[h>>2]|0}function Ay(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[f>>2]=c[(c[h>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[i>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[i>>2]|0))break;c[j>>2]=c[(c[i>>2]|0)+8>>2];By(c[d>>2]|0,c[j>>2]|0,c[e>>2]|0);c[i>>2]=c[c[i>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}l=k;return}function By(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[h>>2]|0))break;if(!((c[g>>2]|0)!=0?!(Nz(c[g>>2]|0,c[h>>2]|0)|0):0)){c[i>>2]=Hu(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;cv(c[e>>2]|0,0,c[i>>2]|0);Cy(c[e>>2]|0,c[h>>2]|0,-1)}c[h>>2]=c[(c[h>>2]|0)+20>>2]}l=j;return}function Cy(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+80|0;s=x+64|0;t=x+60|0;k=x+56|0;m=x+52|0;u=x+48|0;v=x+44|0;w=x+40|0;n=x+36|0;o=x+32|0;g=x+28|0;h=x+24|0;p=x+20|0;i=x+16|0;q=x+12|0;y=x+8|0;j=x+4|0;r=x;c[s>>2]=a;c[t>>2]=b;c[k>>2]=f;c[m>>2]=c[(c[t>>2]|0)+12>>2];f=(c[s>>2]|0)+40|0;b=c[f>>2]|0;c[f>>2]=b+1;c[u>>2]=b;b=(c[s>>2]|0)+40|0;f=c[b>>2]|0;c[b>>2]=f+1;c[v>>2]=f;c[y>>2]=c[c[s>>2]>>2];c[j>>2]=Hu(c[y>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(Iu(c[s>>2]|0,27,c[c[t>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0){l=x;return}gy(c[s>>2]|0,c[j>>2]|0,c[(c[m>>2]|0)+28>>2]|0,1,c[c[m>>2]>>2]|0);c[p>>2]=Lu(c[s>>2]|0)|0;if(!(c[p>>2]|0)){l=x;return}if((c[k>>2]|0)>=0)c[g>>2]=c[k>>2];else c[g>>2]=c[(c[t>>2]|0)+44>>2];c[i>>2]=xy(c[s>>2]|0,c[t>>2]|0)|0;f=(c[s>>2]|0)+40|0;b=c[f>>2]|0;c[f>>2]=b+1;c[w>>2]=b;b=c[p>>2]|0;f=c[w>>2]|0;y=e[(c[t>>2]|0)+50>>1]|0;Uu(b,108,f,0,y,Dy(c[i>>2]|0)|0,-6)|0;hy(c[s>>2]|0,c[u>>2]|0,c[j>>2]|0,c[m>>2]|0,104);c[n>>2]=Qu(c[p>>2]|0,57,c[u>>2]|0,0)|0;c[q>>2]=Ov(c[s>>2]|0)|0;Ey(c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[q>>2]|0,0,h,0,0)|0;Qu(c[p>>2]|0,125,c[w>>2]|0,c[q>>2]|0)|0;Fy(c[s>>2]|0,c[h>>2]|0);Qu(c[p>>2]|0,7,c[u>>2]|0,(c[n>>2]|0)+1|0)|0;ny(c[p>>2]|0,c[n>>2]|0);if((c[k>>2]|0)<0)Qu(c[p>>2]|0,131,c[g>>2]|0,c[j>>2]|0)|0;Uu(c[p>>2]|0,105,c[v>>2]|0,c[g>>2]|0,c[j>>2]|0,c[i>>2]|0,-6)|0;jy(c[p>>2]|0,(1|((c[k>>2]|0)>=0?16:0))&255);c[n>>2]=Qu(c[p>>2]|0,55,c[w>>2]|0,0)|0;y=(d[(c[t>>2]|0)+54>>0]|0|0)!=0;a=Pv(c[p>>2]|0)|0;if(y){c[r>>2]=a+3;my(c[p>>2]|0,c[r>>2]|0)|0;c[o>>2]=Pv(c[p>>2]|0)|0;zy(c[p>>2]|0,119,c[w>>2]|0,c[r>>2]|0,c[q>>2]|0,e[(c[t>>2]|0)+50>>1]|0)|0;Gy(c[s>>2]|0,2,c[t>>2]|0)}else c[o>>2]=a;Ru(c[p>>2]|0,120,c[w>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;Ru(c[p>>2]|0,53,c[v>>2]|0,0,-1)|0;Ru(c[p>>2]|0,126,c[v>>2]|0,c[q>>2]|0,0)|0;jy(c[p>>2]|0,16);Qv(c[s>>2]|0,c[q>>2]|0);Qu(c[p>>2]|0,3,c[w>>2]|0,c[o>>2]|0)|0;ny(c[p>>2]|0,c[n>>2]|0);ey(c[p>>2]|0,111,c[u>>2]|0)|0;ey(c[p>>2]|0,111,c[v>>2]|0)|0;ey(c[p>>2]|0,111,c[w>>2]|0)|0;l=x;return}function Dy(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}l=d;return c[b>>2]|0}function Ey(a,e,f,g,h,i,j,k){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+48|0;w=y+44|0;x=y+40|0;o=y+36|0;p=y+32|0;m=y+28|0;n=y+24|0;q=y+20|0;r=y+16|0;s=y+12|0;t=y+8|0;u=y+4|0;v=y;c[w>>2]=a;c[x>>2]=e;c[o>>2]=f;c[p>>2]=g;c[m>>2]=h;c[n>>2]=i;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[(c[w>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[x>>2]|0)+36>>2]|0){k=ky(c[s>>2]|0)|0;c[c[n>>2]>>2]=k;c[(c[w>>2]|0)+60>>2]=c[o>>2];Ky(c[w>>2]|0);Ly(c[w>>2]|0,c[(c[x>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if(c[m>>2]|0?(d[(c[x>>2]|0)+55>>0]|0)>>>3&1|0:0)a=b[(c[x>>2]|0)+50>>1]|0;else a=b[(c[x>>2]|0)+52>>1]|0;c[v>>2]=a&65535;c[u>>2]=My(c[w>>2]|0,c[v>>2]|0)|0;do if(c[q>>2]|0){if((c[u>>2]|0)==(c[r>>2]|0)?(c[(c[q>>2]|0)+36>>2]|0)==0:0)break;c[q>>2]=0}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[v>>2]|0))break;if(!((c[q>>2]|0?(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0)==(b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0):0)?(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0)!=-2:0)){Ny(c[w>>2]|0,c[x>>2]|0,c[o>>2]|0,c[t>>2]|0,(c[u>>2]|0)+(c[t>>2]|0)|0);Oy(c[s>>2]|0,92)|0}c[t>>2]=(c[t>>2]|0)+1}if(!(c[p>>2]|0)){t=c[w>>2]|0;w=c[u>>2]|0;x=c[v>>2]|0;Py(t,w,x);x=c[u>>2]|0;l=y;return x|0}Ru(c[s>>2]|0,99,c[u>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;t=c[w>>2]|0;w=c[u>>2]|0;x=c[v>>2]|0;Py(t,w,x);x=c[u>>2]|0;l=y;return x|0}function Fy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}oy(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);Iy(c[d>>2]|0);l=f;return}function Gy(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+80|0;r=s+8|0;q=s;i=s+68|0;j=s+64|0;k=s+60|0;m=s+56|0;n=s+52|0;o=s+24|0;p=s+20|0;h=s+16|0;c[i>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[(c[k>>2]|0)+12>>2];zd(o,c[c[i>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[q>>2]=c[c[k>>2]>>2];oj(o,30347,q);o=Bd(o)|0;c[m>>2]=o;o=c[i>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[m>>2]|0;Hy(o,p,q,r,-1,2);l=s;return}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[h>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]<<4)>>2];if(c[n>>2]|0)Pd(o,30358,2);q=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];c[r+4>>2]=q;oj(o,29580,r);c[n>>2]=(c[n>>2]|0)+1}o=Bd(o)|0;c[m>>2]=o;o=c[i>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[m>>2]|0;Hy(o,p,q,r,-1,2);l=s;return}function Hy(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;i=q+21|0;j=q+20|0;k=q;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;a[i>>0]=g;a[j>>0]=h;c[k>>2]=Lu(c[m>>2]|0)|0;if((c[o>>2]|0)==2)gw(c[m>>2]|0);Uu(c[k>>2]|0,75,c[n>>2]|0,c[o>>2]|0,0,c[p>>2]|0,a[i>>0]|0)|0;jy(c[k>>2]|0,a[j>>0]|0);l=q;return}function Iy(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=0;a=(c[b>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[e>>2]|0)>=(d[(c[b>>2]|0)+25>>0]|0|0))break;if((c[(c[b>>2]|0)+152+((c[e>>2]|0)*20|0)+8>>2]|0)>(c[(c[b>>2]|0)+64>>2]|0)){Jy(c[b>>2]|0,c[e>>2]|0);continue}else{c[e>>2]=(c[e>>2]|0)+1;continue}}l=f;return}function Jy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(a[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+6>>0]|0?(d[(c[f>>2]|0)+19>>0]|0)<8:0){i=c[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+12>>2]|0;b=(c[f>>2]|0)+352|0;j=(c[f>>2]|0)+19|0;e=a[j>>0]|0;a[j>>0]=e+1<<24>>24;c[b+((e&255)<<2)>>2]=i}j=(c[f>>2]|0)+25|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;if((c[g>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0)){l=h;return}j=(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)|0;i=(c[f>>2]|0)+152+((d[(c[f>>2]|0)+25>>0]|0)*20|0)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];c[j+16>>2]=c[i+16>>2];l=h;return}function Ky(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+1;l=b;return}function Ly(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+20|0;n=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[c[g>>2]>>2];c[k>>2]=Ww(c[j>>2]|0,c[n>>2]|0,0)|0;if(d[(c[j>>2]|0)+69>>0]|0|0){j=c[j>>2]|0;n=c[k>>2]|0;Ok(j,n);l=m;return}nz(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0,c[i>>2]|0);j=c[j>>2]|0;n=c[k>>2]|0;Ok(j,n);l=m;return}function My(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;a=c[e>>2]|0;if((c[f>>2]|0)==1){c[d>>2]=Ov(a)|0;h=c[d>>2]|0;l=i;return h|0}c[g>>2]=c[a+32>>2];c[h>>2]=c[(c[e>>2]|0)+28>>2];if((c[f>>2]|0)<=(c[h>>2]|0)){h=(c[e>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0);h=(c[e>>2]|0)+28|0;c[h>>2]=(c[h>>2]|0)-(c[f>>2]|0)}else{c[g>>2]=(c[(c[e>>2]|0)+44>>2]|0)+1;h=(c[e>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0)}c[d>>2]=c[g>>2];h=c[d>>2]|0;l=i;return h|0}function Ny(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;h=o+20|0;c[i>>2]=a;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;b[h>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0;if((b[h>>1]|0)==-2){c[(c[i>>2]|0)+60>>2]=c[k>>2];Sy(c[i>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2]|0,c[n>>2]|0);l=o;return}else{Ty(c[(c[i>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[h>>1]|0,c[n>>2]|0);l=o;return}}function Oy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+4|0;g=h;i=h+8|0;c[g>>2]=b;a[i>>0]=e;if((c[(c[g>>2]|0)+136>>2]|0)>0?(d[(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[i>>0]|0|0):0){c[f>>2]=Ry(c[g>>2]|0,(c[(c[g>>2]|0)+136>>2]|0)-1|0)|0;i=c[f>>2]|0;l=h;return i|0}c[f>>2]=0;i=c[f>>2]|0;l=h;return i|0}function Py(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;b=c[f>>2]|0;if((c[g>>2]|0)==1){Qv(a,b);l=h;return}Qy(a,b,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+28>>2]|0)){l=h;return}c[(c[e>>2]|0)+28>>2]=c[g>>2];c[(c[e>>2]|0)+32>>2]=c[f>>2];l=h;return}function Qy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+152+((c[i>>2]|0)*20|0);if((c[(c[j>>2]|0)+12>>2]|0)>=(c[g>>2]|0)?(c[(c[j>>2]|0)+12>>2]|0)<((c[g>>2]|0)+(c[h>>2]|0)|0):0){Jy(c[f>>2]|0,c[i>>2]|0);continue}c[i>>2]=(c[i>>2]|0)+1}l=k;return}function Ry(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);xk(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-95;c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}return 0}function Sy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[c[f>>2]>>2];c[g>>2]=Ww(c[i>>2]|0,c[g>>2]|0,0)|0;if(a[(c[i>>2]|0)+69>>0]|0){h=c[i>>2]|0;i=c[g>>2]|0;Ok(h,i);l=j;return}Wy(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);h=c[i>>2]|0;i=c[g>>2]|0;Ok(h,i);l=j;return}function Ty(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[o>>2]|0)>=0?(c[o>>2]|0)!=(b[(c[m>>2]|0)+32>>1]|0):0){c[i>>2]=d[(c[m>>2]|0)+42>>0]&16|0?156:96;c[j>>2]=c[o>>2];if(d[(c[m>>2]|0)+42>>0]&32|0?(d[(c[m>>2]|0)+42>>0]&16|0)==0:0){h=uv(c[m>>2]|0)|0;c[j>>2]=(Uy(h,c[o>>2]&65535)|0)<<16>>16}Ru(c[k>>2]|0,c[i>>2]|0,c[n>>2]|0,c[j>>2]|0,c[p>>2]|0)|0}else Qu(c[k>>2]|0,123,c[n>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)<0){l=q;return}Vy(c[k>>2]|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0);l=q;return}function Uy(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+10|0;f=j+4|0;g=j+8|0;h=j;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){a=6;break}d=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=4;break}c[h>>2]=d+1}if((a|0)==4){b[i>>1]=d;i=b[i>>1]|0;l=j;return i|0}else if((a|0)==6){b[i>>1]=-1;i=b[i>>1]|0;l=j;return i|0}return 0}function Vy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o+24|0;g=o;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[i>>2]|0)+12>>2]|0){l=o;return}c[m>>2]=0;a[n>>0]=a[(Gs(c[h>>2]|0)|0)+66>>0]|0;c[g>>2]=(c[(c[i>>2]|0)+4>>2]|0)+(c[j>>2]<<4);f=Gs(c[h>>2]|0)|0;Nv(f,c[(c[g>>2]|0)+4>>2]|0,a[n>>0]|0,a[(c[g>>2]|0)+13>>0]|0,m)|0;if(c[m>>2]|0)Vu(c[h>>2]|0,-1,c[m>>2]|0,-8);if((a[(c[(c[i>>2]|0)+4>>2]|0)+(c[j>>2]<<4)+13>>0]|0)!=69){l=o;return}ey(c[h>>2]|0,92,c[k>>2]|0)|0;l=o;return}function Wy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if(c[g>>2]|0?(d[c[g>>2]>>0]|0|0)==157:0){Qu(c[(c[f>>2]|0)+8>>2]|0,84,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;l=j;return}c[i>>2]=Xy(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[i>>2]|0)==(c[h>>2]|0)){l=j;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){l=j;return}Qu(c[(c[f>>2]|0)+8>>2]|0,85,c[i>>2]|0,c[h>>2]|0)|0;l=j;return} +function Xy(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=l;l=l+320|0;z=ja+24|0;y=ja+16|0;G=ja+8|0;x=ja;ga=ja+304|0;ha=ja+300|0;T=ja+296|0;ia=ja+292|0;da=ja+288|0;F=ja+284|0;ea=ja+280|0;ba=ja+276|0;ca=ja+272|0;O=ja+268|0;A=ja+264|0;P=ja+216|0;B=ja+208|0;i=ja+204|0;j=ja+200|0;k=ja+196|0;m=ja+192|0;n=ja+188|0;o=ja+184|0;C=ja+180|0;p=ja+176|0;q=ja+172|0;r=ja+168|0;Q=ja+164|0;R=ja+160|0;H=ja+156|0;D=ja+152|0;I=ja+148|0;J=ja+144|0;K=ja+140|0;E=ja+309|0;L=ja+136|0;M=ja+132|0;N=ja+308|0;s=ja+128|0;t=ja+124|0;u=ja+120|0;v=ja+116|0;w=ja+112|0;U=ja+108|0;V=ja+104|0;W=ja+100|0;X=ja+96|0;Y=ja+92|0;Z=ja+88|0;_=ja+40|0;$=ja+32|0;aa=ja+28|0;c[ha>>2]=f;c[T>>2]=g;c[ia>>2]=h;c[da>>2]=c[(c[ha>>2]|0)+8>>2];c[ea>>2]=c[ia>>2];c[ba>>2]=0;c[ca>>2]=0;c[B>>2]=0;if(!(c[da>>2]|0)){c[ga>>2]=0;ia=c[ga>>2]|0;l=ja;return ia|0}if(!(c[T>>2]|0))c[F>>2]=101;else c[F>>2]=d[c[T>>2]>>0];a:do switch(c[F>>2]|0){case 154:{c[i>>2]=c[(c[T>>2]|0)+40>>2];c[j>>2]=(c[(c[i>>2]|0)+28>>2]|0)+((b[(c[T>>2]|0)+34>>1]|0)*24|0);if(!(a[c[i>>2]>>0]|0)){c[ga>>2]=c[(c[j>>2]|0)+16>>2];ia=c[ga>>2]|0;l=ja;return ia|0}if(a[(c[i>>2]|0)+1>>0]|0){Ru(c[da>>2]|0,96,c[(c[i>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}else fa=11;break}case 152:{fa=11;break}case 134:{Zy(c[ha>>2]|0,c[T>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 132:{_y(c[da>>2]|0,c[(c[T>>2]|0)+8>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 97:{Pu(c[da>>2]|0,c[ia>>2]|0,c[(c[T>>2]|0)+8>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 101:{Qu(c[da>>2]|0,79,0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 133:{c[n>>2]=(c[(c[T>>2]|0)+8>>2]|0)+2;c[m>>2]=(md(c[n>>2]|0)|0)-1;c[o>>2]=$v(Gs(c[da>>2]|0)|0,c[n>>2]|0,c[m>>2]|0)|0;Uu(c[da>>2]|0,81,(c[m>>2]|0)/2|0,c[ia>>2]|0,0,c[o>>2]|0,-1)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 135:{Qu(c[da>>2]|0,82,b[(c[T>>2]|0)+32>>1]|0,c[ia>>2]|0)|0;if(a[(c[(c[T>>2]|0)+8>>2]|0)+1>>0]|0)Vu(c[da>>2]|0,-1,c[(c[(c[ha>>2]|0)+428>>2]|0)+((b[(c[T>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 157:{c[ga>>2]=c[(c[T>>2]|0)+28>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 66:{c[ea>>2]=Xy(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;if((c[ea>>2]|0)!=(c[ia>>2]|0)){Qu(c[da>>2]|0,85,c[ea>>2]|0,c[ia>>2]|0)|0;c[ea>>2]=c[ia>>2]}Qu(c[da>>2]|0,93,c[ia>>2]|0,(Wv(c[(c[T>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;$y(c[ha>>2]|0,c[ea>>2]|0,1);c[ga>>2]=c[ea>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 148:case 29:{c[F>>2]=(c[F>>2]|0)==29?37:36;c[B>>2]=128;fa=29;break}case 37:case 36:case 41:case 38:case 39:case 40:{fa=29;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{c[O>>2]=cz(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,ba)|0;c[A>>2]=cz(c[ha>>2]|0,c[(c[T>>2]|0)+16>>2]|0,ca)|0;Ru(c[da>>2]|0,c[F>>2]|0,c[A>>2]|0,c[O>>2]|0,c[ia>>2]|0)|0;break}case 155:{c[p>>2]=c[(c[T>>2]|0)+12>>2];if((d[c[p>>2]>>0]|0)==134){Zy(c[ha>>2]|0,c[p>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}if((d[c[p>>2]>>0]|0)!=132){a[P>>0]=-122;c[P+4>>2]=17408;c[P+8>>2]=0;c[O>>2]=cz(c[ha>>2]|0,P,ba)|0;c[A>>2]=cz(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,ca)|0;Ru(c[da>>2]|0,48,c[A>>2]|0,c[O>>2]|0,c[ia>>2]|0)|0;break a}_y(c[da>>2]|0,c[(c[p>>2]|0)+8>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 19:case 54:{c[O>>2]=cz(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,ba)|0;Qu(c[da>>2]|0,c[F>>2]|0,c[O>>2]|0,c[ea>>2]|0)|0;break}case 35:case 34:{Qu(c[da>>2]|0,76,1,c[ia>>2]|0)|0;c[O>>2]=cz(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,ba)|0;c[q>>2]=ey(c[da>>2]|0,c[F>>2]|0,c[O>>2]|0)|0;Qu(c[da>>2]|0,76,0,c[ia>>2]|0)|0;ny(c[da>>2]|0,c[q>>2]|0);break}case 153:{c[r>>2]=c[(c[T>>2]|0)+40>>2];if(!(c[r>>2]|0)){ia=c[ha>>2]|0;c[x>>2]=c[(c[T>>2]|0)+8>>2];sl(ia,30361,x);break a}c[ga>>2]=c[(c[(c[r>>2]|0)+40>>2]|0)+(b[(c[T>>2]|0)+34>>1]<<4)+8>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 151:{c[I>>2]=0;c[K>>2]=c[c[ha>>2]>>2];a[E>>0]=a[(c[K>>2]|0)+66>>0]|0;c[L>>2]=0;if(c[(c[T>>2]|0)+4>>2]&16384|0)c[Q>>2]=0;else c[Q>>2]=c[(c[T>>2]|0)+20>>2];if(c[Q>>2]|0)f=c[c[Q>>2]>>2]|0;else f=0;c[R>>2]=f;c[D>>2]=c[(c[T>>2]|0)+8>>2];c[H>>2]=ox(c[K>>2]|0,c[D>>2]|0,c[R>>2]|0,a[E>>0]|0,0)|0;if(c[H>>2]|0?(c[(c[H>>2]|0)+16>>2]|0)==0:0){if(e[(c[H>>2]|0)+2>>1]&512|0){c[M>>2]=ky(c[da>>2]|0)|0;Wy(c[ha>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0);c[J>>2]=1;while(1){f=c[da>>2]|0;if((c[J>>2]|0)>=(c[R>>2]|0))break;Qu(f,35,c[ia>>2]|0,c[M>>2]|0)|0;Qy(c[ha>>2]|0,c[ia>>2]|0,1);Ky(c[ha>>2]|0);Wy(c[ha>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0,c[ia>>2]|0);Iy(c[ha>>2]|0);c[J>>2]=(c[J>>2]|0)+1}oy(f,c[M>>2]|0);break a}if(e[(c[H>>2]|0)+2>>1]&1024|0){c[ga>>2]=Xy(c[ha>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;l=ja;return ia|0}c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[R>>2]|0))break;if((c[J>>2]|0)<32?ez(c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0)|0:0)c[I>>2]=c[I>>2]|1<>2];if(!(c[L>>2]|0?1:(e[(c[H>>2]|0)+2>>1]&32|0)==0))c[L>>2]=rw(c[ha>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+1}if(c[Q>>2]|0){f=c[ha>>2]|0;if(c[I>>2]|0){c[O>>2]=(c[f+44>>2]|0)+1;ea=(c[ha>>2]|0)+44|0;c[ea>>2]=(c[ea>>2]|0)+(c[R>>2]|0)}else c[O>>2]=My(f,c[R>>2]|0)|0;do if(e[(c[H>>2]|0)+2>>1]&192|0){a[N>>0]=a[c[c[(c[Q>>2]|0)+4>>2]>>2]>>0]|0;if((d[N>>0]|0)!=152?(d[N>>0]|0)!=154:0)break;a[(c[c[(c[Q>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[H>>2]|0)+2>>1]&192}while(0);Ky(c[ha>>2]|0);fz(c[ha>>2]|0,c[Q>>2]|0,c[O>>2]|0,0,3)|0;Iy(c[ha>>2]|0)}else c[O>>2]=0;if((c[R>>2]|0)>=2?c[(c[T>>2]|0)+4>>2]&128|0:0)c[H>>2]=gz(c[K>>2]|0,c[H>>2]|0,c[R>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+20>>2]|0)|0;else fa=79;if((fa|0)==79?(c[R>>2]|0)>0:0)c[H>>2]=gz(c[K>>2]|0,c[H>>2]|0,c[R>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[H>>2]|0)+2>>1]&32|0){if(!(c[L>>2]|0))c[L>>2]=c[(c[K>>2]|0)+8>>2];Uu(c[da>>2]|0,88,0,0,0,c[L>>2]|0,-4)|0}Uu(c[da>>2]|0,89,c[I>>2]|0,c[O>>2]|0,c[ia>>2]|0,c[H>>2]|0,-5)|0;jy(c[da>>2]|0,c[R>>2]&255);if((c[R>>2]|0)!=0&(c[I>>2]|0)==0)Py(c[ha>>2]|0,c[O>>2]|0,c[R>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}ia=c[ha>>2]|0;c[G>>2]=c[D>>2];sl(ia,30387,G);break}case 119:case 20:{if((c[F>>2]|0)==119?(ia=c[c[c[(c[T>>2]|0)+20>>2]>>2]>>2]|0,c[s>>2]=ia,(ia|0)!=1):0){hz(c[ha>>2]|0,c[s>>2]|0,1);break a}c[ga>>2]=iz(c[ha>>2]|0,c[T>>2]|0,0,0)|0;ia=c[ga>>2]|0;l=ja;return ia|0}case 159:{if(!(c[(c[(c[T>>2]|0)+12>>2]|0)+28>>2]|0)){ia=iz(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,0,0)|0;c[(c[(c[T>>2]|0)+12>>2]|0)+28>>2]=ia}c[ga>>2]=(c[(c[(c[T>>2]|0)+12>>2]|0)+28>>2]|0)+(b[(c[T>>2]|0)+32>>1]|0);ia=c[ga>>2]|0;l=ja;return ia|0}case 33:{c[t>>2]=ky(c[da>>2]|0)|0;c[u>>2]=ky(c[da>>2]|0)|0;Qu(c[da>>2]|0,79,0,c[ia>>2]|0)|0;jz(c[ha>>2]|0,c[T>>2]|0,c[t>>2]|0,c[u>>2]|0);Qu(c[da>>2]|0,76,1,c[ia>>2]|0)|0;oy(c[da>>2]|0,c[t>>2]|0);Qu(c[da>>2]|0,91,c[ia>>2]|0,0)|0;oy(c[da>>2]|0,c[u>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 32:{kz(c[ha>>2]|0,c[T>>2]|0,c[ia>>2]|0,0,0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 156:case 53:case 161:{c[ga>>2]=Xy(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;l=ja;return ia|0}case 88:{c[v>>2]=c[(c[T>>2]|0)+44>>2];c[w>>2]=(S(c[(c[T>>2]|0)+28>>2]|0,(b[(c[v>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[T>>2]|0)+32>>1]|0);Qu(c[da>>2]|0,143,c[w>>2]|0,c[ia>>2]|0)|0;if((b[(c[T>>2]|0)+32>>1]|0)>=0?(a[(c[(c[v>>2]|0)+4>>2]|0)+(b[(c[T>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)ey(c[da>>2]|0,92,c[ia>>2]|0)|0;break}case 158:{sl(c[ha>>2]|0,29254,y);break}case 83:{if(!(c[(c[ha>>2]|0)+128>>2]|0)){sl(c[ha>>2]|0,30410,z);c[ga>>2]=0;ia=c[ga>>2]|0;l=ja;return ia|0}if((a[(c[T>>2]|0)+1>>0]|0)==2)gw(c[ha>>2]|0);if((a[(c[T>>2]|0)+1>>0]|0)==4){Uu(c[da>>2]|0,75,0,4,0,c[(c[T>>2]|0)+8>>2]|0,0)|0;break a}else{Hy(c[ha>>2]|0,1811,a[(c[T>>2]|0)+1>>0]|0,c[(c[T>>2]|0)+8>>2]|0,0,0);break a}}default:{c[aa>>2]=0;c[Y>>2]=c[(c[T>>2]|0)+20>>2];c[Z>>2]=c[(c[Y>>2]|0)+4>>2];c[W>>2]=c[c[Y>>2]>>2];c[U>>2]=ky(c[da>>2]|0)|0;T=c[(c[T>>2]|0)+12>>2]|0;c[$>>2]=T;if(T|0){f=P;g=c[$>>2]|0;i=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));mz(P,lz(c[ha>>2]|0,P,ba)|0);f=_;i=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));a[_>>0]=37;c[_+12>>2]=P;c[aa>>2]=_;c[ba>>2]=0}c[X>>2]=0;while(1){if((c[X>>2]|0)>=((c[W>>2]|0)-1|0))break;Ky(c[ha>>2]|0);f=c[(c[Z>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0;if(c[$>>2]|0)c[_+16>>2]=f;else c[aa>>2]=f;c[V>>2]=ky(c[da>>2]|0)|0;nz(c[ha>>2]|0,c[aa>>2]|0,c[V>>2]|0,16);Wy(c[ha>>2]|0,c[(c[Z>>2]|0)+(((c[X>>2]|0)+1|0)*20|0)>>2]|0,c[ia>>2]|0);my(c[da>>2]|0,c[U>>2]|0)|0;Iy(c[ha>>2]|0);oy(c[da>>2]|0,c[V>>2]|0);c[X>>2]=(c[X>>2]|0)+2}if(c[W>>2]&1|0){Ky(c[ha>>2]|0);Wy(c[ha>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+(((c[W>>2]|0)-1|0)*20|0)>>2]|0,c[ia>>2]|0);Iy(c[ha>>2]|0)}else Qu(c[da>>2]|0,79,0,c[ia>>2]|0)|0;oy(c[da>>2]|0,c[U>>2]|0)}}while(0);do if((fa|0)==11){c[k>>2]=c[(c[T>>2]|0)+28>>2];do if((c[k>>2]|0)<0){if((c[(c[ha>>2]|0)+56>>2]|0)<=0){c[k>>2]=c[(c[ha>>2]|0)+60>>2];break}c[ga>>2]=(b[(c[T>>2]|0)+32>>1]|0)+(c[(c[ha>>2]|0)+56>>2]|0);ia=c[ga>>2]|0;l=ja;return ia|0}while(0);c[ga>>2]=Yy(c[ha>>2]|0,c[(c[T>>2]|0)+44>>2]|0,b[(c[T>>2]|0)+32>>1]|0,c[k>>2]|0,c[ia>>2]|0,a[(c[T>>2]|0)+38>>0]|0)|0;ia=c[ga>>2]|0;l=ja;return ia|0}else if((fa|0)==29){c[C>>2]=c[(c[T>>2]|0)+12>>2];fa=(az(c[C>>2]|0)|0)!=0;f=c[ha>>2]|0;if(fa){bz(f,c[T>>2]|0,c[ia>>2]|0,c[F>>2]&255,c[B>>2]&255);break}else{c[O>>2]=cz(f,c[C>>2]|0,ba)|0;c[A>>2]=cz(c[ha>>2]|0,c[(c[T>>2]|0)+16>>2]|0,ca)|0;dz(c[ha>>2]|0,c[C>>2]|0,c[(c[T>>2]|0)+16>>2]|0,c[F>>2]|0,c[O>>2]|0,c[A>>2]|0,c[ea>>2]|0,32|c[B>>2])|0;break}}while(0);Qv(c[ha>>2]|0,c[ba>>2]|0);Qv(c[ha>>2]|0,c[ca>>2]|0);c[ga>>2]=c[ea>>2];ia=c[ga>>2]|0;l=ja;return ia|0}function Yy(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+48|0;r=w+32|0;s=w+28|0;t=w+24|0;u=w+20|0;k=w+16|0;m=w+12|0;n=w+36|0;o=w+8|0;p=w+4|0;q=w;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[k>>2]=h;c[m>>2]=i;a[n>>0]=j;c[o>>2]=c[(c[s>>2]|0)+8>>2];c[p>>2]=0;c[q>>2]=(c[s>>2]|0)+152;while(1){if((c[p>>2]|0)>=(d[(c[s>>2]|0)+25>>0]|0))break;if((c[c[q>>2]>>2]|0)==(c[k>>2]|0)?(b[(c[q>>2]|0)+4>>1]|0)==(c[u>>2]|0):0){v=5;break}c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((v|0)==5){u=(c[s>>2]|0)+68|0;v=c[u>>2]|0;c[u>>2]=v+1;c[(c[q>>2]|0)+16>>2]=v;Lz(c[s>>2]|0,c[(c[q>>2]|0)+12>>2]|0);c[r>>2]=c[(c[q>>2]|0)+12>>2];v=c[r>>2]|0;l=w;return v|0}Ty(c[o>>2]|0,c[t>>2]|0,c[k>>2]|0,c[u>>2]|0,c[m>>2]|0);if(a[n>>0]|0)jy(c[o>>2]|0,a[n>>0]|0);else Mz(c[s>>2]|0,c[k>>2]|0,c[u>>2]|0,c[m>>2]|0);c[r>>2]=c[m>>2];v=c[r>>2]|0;l=w;return v|0}function Zy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;o=p+8|0;i=p+40|0;q=p+36|0;j=p+32|0;k=p+28|0;m=p+24|0;n=p+20|0;f=p+16|0;g=p;h=p+12|0;c[i>>2]=a;c[q>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=c[(c[i>>2]|0)+8>>2];a=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024|0){c[n>>2]=c[a>>2];if(c[j>>2]|0)c[n>>2]=0-(c[n>>2]|0);Qu(c[m>>2]|0,76,c[n>>2]|0,c[k>>2]|0)|0;l=p;return}c[h>>2]=c[a>>2];c[f>>2]=Kz(c[h>>2]|0,g)|0;if(c[f>>2]|0?!((c[f>>2]|0)==2&(c[j>>2]|0)!=0):0)if(!(ld(c[h>>2]|0,30584,2)|0)){q=c[i>>2]|0;c[o>>2]=c[h>>2];sl(q,30587,o);l=p;return}else{_y(c[m>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);l=p;return}if(c[j>>2]|0){o=(c[f>>2]|0)==2;n=g;n=Z$(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=g;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:D}Jz(c[m>>2]|0,77,0,c[k>>2]|0,0,g,-13)|0;l=p;return}function _y(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;i=m+12|0;j=m+8|0;k=m;c[f>>2]=a;c[g>>2]=b;c[i>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){l=m;return}e=c[g>>2]|0;Ji(e,k,md(c[g>>2]|0)|0,1)|0;if(c[i>>2]|0)h[k>>3]=-+h[k>>3];Jz(c[f>>2]|0,132,0,c[j>>2]|0,0,k,-12)|0;l=m;return}function $y(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Qy(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);l=e;return}function az(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(rx(c[d>>2]|0)|0)>1&1;l=b;return a|0}function bz(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=l;l=l+80|0;y=C+64|0;D=C+60|0;z=C+56|0;A=C+70|0;B=C+69|0;i=C+52|0;j=C+48|0;k=C+44|0;m=C+40|0;n=C+36|0;o=C+32|0;p=C+28|0;q=C+68|0;r=C+24|0;s=C+20|0;t=C+16|0;u=C+12|0;v=C+8|0;w=C+4|0;x=C;c[y>>2]=b;c[D>>2]=e;c[z>>2]=f;a[A>>0]=g;a[B>>0]=h;c[i>>2]=c[(c[y>>2]|0)+8>>2];c[j>>2]=c[(c[D>>2]|0)+12>>2];c[k>>2]=c[(c[D>>2]|0)+16>>2];c[m>>2]=rx(c[j>>2]|0)|0;c[o>>2]=0;c[p>>2]=0;a[q>>0]=a[A>>0]|0;c[r>>2]=ky(c[i>>2]|0)|0;a[B>>0]=d[B>>0]|0|32;if((d[q>>0]|0|0)==39)a[q>>0]=40;if((d[q>>0]|0|0)==41)a[q>>0]=38;c[o>>2]=Hz(c[y>>2]|0,c[j>>2]|0)|0;c[p>>2]=Hz(c[y>>2]|0,c[k>>2]|0)|0;c[n>>2]=0;while(1){c[s>>2]=0;c[t>>2]=0;if((c[n>>2]|0)>0)Ky(c[y>>2]|0);c[w>>2]=Iz(c[y>>2]|0,c[j>>2]|0,c[n>>2]|0,c[o>>2]|0,u,s)|0;c[x>>2]=Iz(c[y>>2]|0,c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,v,t)|0;dz(c[y>>2]|0,c[u>>2]|0,c[v>>2]|0,d[q>>0]|0,c[w>>2]|0,c[x>>2]|0,c[z>>2]|0,d[B>>0]|0)|0;Qv(c[y>>2]|0,c[s>>2]|0);Qv(c[y>>2]|0,c[t>>2]|0);if((c[n>>2]|0)>0)Iy(c[y>>2]|0);if((c[n>>2]|0)==((c[m>>2]|0)-1|0))break;do if((d[q>>0]|0|0)!=37){b=c[i>>2]|0;if((d[q>>0]|0|0)==36){Qu(b,21,c[z>>2]|0,c[r>>2]|0)|0;a[B>>0]=d[B>>0]|0|8;break}Qu(b,42,0,c[r>>2]|0)|0;if((c[n>>2]|0)==((c[m>>2]|0)-2|0))a[q>>0]=a[A>>0]|0}else{Qu(c[i>>2]|0,22,c[z>>2]|0,c[r>>2]|0)|0;a[B>>0]=d[B>>0]|0|8}while(0);c[n>>2]=(c[n>>2]|0)+1}oy(c[i>>2]|0,c[r>>2]|0);l=C;return}function cz(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;h=q+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;f=q+4|0;g=q;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[j>>2]=yw(c[j>>2]|0)|0;if((d[(c[i>>2]|0)+23>>0]|0|0?(d[c[j>>2]>>0]|0|0)!=157:0)?Gz(c[j>>2]|0)|0:0){c[n>>2]=c[(c[i>>2]|0)+80>>2];c[c[k>>2]>>2]=0;a:do if(c[n>>2]|0){c[f>>2]=c[(c[n>>2]|0)+4>>2];c[o>>2]=c[c[n>>2]>>2];while(1){if((c[o>>2]|0)<=0)break a;if((d[(c[f>>2]|0)+13>>0]|0)>>>2&1|0?(Yw(c[c[f>>2]>>2]|0,c[j>>2]|0,-1)|0)==0:0)break;c[f>>2]=(c[f>>2]|0)+20;c[o>>2]=(c[o>>2]|0)+-1}c[h>>2]=c[(c[f>>2]|0)+16>>2];p=c[h>>2]|0;l=q;return p|0}while(0);n=(c[i>>2]|0)+44|0;o=(c[n>>2]|0)+1|0;c[n>>2]=o;c[m>>2]=o;Bz(c[i>>2]|0,c[j>>2]|0,c[m>>2]|0,1)}else p=12;do if((p|0)==12){c[g>>2]=Ov(c[i>>2]|0)|0;c[m>>2]=Xy(c[i>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if((c[m>>2]|0)==(c[g>>2]|0)){c[c[k>>2]>>2]=c[g>>2];break}else{Qv(c[i>>2]|0,c[g>>2]|0);c[c[k>>2]>>2]=0;break}}while(0);c[h>>2]=c[m>>2];p=c[h>>2]|0;l=q;return p|0}function dz(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;k=l;l=l+48|0;n=k+40|0;v=k+36|0;u=k+32|0;s=k+28|0;p=k+24|0;r=k+20|0;q=k+16|0;t=k+12|0;m=k+8|0;j=k+4|0;o=k;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=i;c[o>>2]=xz(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(Fz(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[j>>2]=Uu(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;jy(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);l=k;return c[j>>2]|0}function ez(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Cz(c[d>>2]|0,1,0)|0;l=b;return a|0}function fz(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;t=z+44|0;u=z+40|0;v=z+36|0;w=z+32|0;x=z+49|0;j=z+28|0;k=z+24|0;m=z+20|0;n=z+16|0;o=z+48|0;p=z+12|0;q=z+8|0;r=z+4|0;s=z;c[t>>2]=b;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;a[x>>0]=i;a[o>>0]=d[x>>0]&1|0?84:85;c[p>>2]=c[(c[t>>2]|0)+8>>2];c[n>>2]=c[c[u>>2]>>2];if(!(a[(c[t>>2]|0)+23>>0]|0))a[x>>0]=d[x>>0]&-3;c[j>>2]=c[(c[u>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;c[q>>2]=c[c[j>>2]>>2];if(d[x>>0]&4|0?(i=e[(c[(c[u>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+16>>1]|0,c[m>>2]=i,(i|0)>0):0)Qu(c[p>>2]|0,d[o>>0]|0,(c[m>>2]|0)+(c[w>>2]|0)-1|0,(c[v>>2]|0)+(c[k>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if(d[x>>0]&2|0?ez(c[q>>2]|0)|0:0){Bz(c[t>>2]|0,c[q>>2]|0,(c[v>>2]|0)+(c[k>>2]|0)|0,0);break}c[r>>2]=Xy(c[t>>2]|0,c[q>>2]|0,(c[v>>2]|0)+(c[k>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[v>>2]|0)+(c[k>>2]|0)|0)){if((((d[o>>0]|0)==84?(i=uy(c[p>>2]|0,-1)|0,c[s>>2]=i,(d[i>>0]|0)==84):0)?((c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[s>>2]|0)+8>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0)+1|0)==((c[v>>2]|0)+(c[k>>2]|0)|0):0){i=(c[s>>2]|0)+12|0;c[i>>2]=(c[i>>2]|0)+1;break}Qu(c[p>>2]|0,d[o>>0]|0,c[r>>2]|0,(c[v>>2]|0)+(c[k>>2]|0)|0)|0}}while(0);c[k>>2]=(c[k>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}l=z;return c[n>>2]|0}function gz(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y+32|0;j=y+28|0;k=y+24|0;m=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=i;c[m>>2]=0;c[n>>2]=0;c[p>>2]=0;if(!(c[w>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}if((d[c[w>>2]>>0]|0)!=152){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}c[x>>2]=c[(c[w>>2]|0)+44>>2];if(!(c[x>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}if(!(d[(c[x>>2]|0)+42>>0]&16)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}c[j>>2]=c[(fw(c[t>>2]|0,c[x>>2]|0)|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];if(!(c[(c[k>>2]|0)+72>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}c[q>>2]=Xo(c[t>>2]|0,c[(c[u>>2]|0)+20>>2]|0)|0;if(c[q>>2]|0){c[r>>2]=c[q>>2];while(1){if(!(a[c[r>>2]>>0]|0))break;a[c[r>>2]>>0]=a[20458+(d[c[r>>2]>>0]|0)>>0]|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=Nb[c[(c[k>>2]|0)+72>>2]&255](c[j>>2]|0,c[v>>2]|0,c[q>>2]|0,m,n)|0;Xd(c[t>>2]|0,c[q>>2]|0)}if(!(c[p>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}x=c[t>>2]|0;c[o>>2]=_l(x,28+(md(c[(c[u>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[o>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}else{w=c[o>>2]|0;x=c[u>>2]|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[(c[o>>2]|0)+20>>2]=(c[o>>2]|0)+28;w=(c[o>>2]|0)+28|0;x=c[(c[u>>2]|0)+20>>2]|0;h0(w|0,x|0,(md(c[(c[u>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[o>>2]|0)+12>>2]=c[m>>2];c[(c[o>>2]|0)+4>>2]=c[n>>2];x=(c[o>>2]|0)+2|0;b[x>>1]=e[x>>1]|16;c[s>>2]=c[o>>2];x=c[s>>2]|0;l=y;return x|0}return 0}function hz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;f=e;j=e+20|0;g=e+16|0;h=e+12|0;i=e+8|0;c[j>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=30540;b=c[j>>2]|0;d=c[i>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=a;sl(b,d,f);l=e;return}function iz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+176|0;i=O;J=O+168|0;K=O+164|0;L=O+160|0;M=O+156|0;F=O+152|0;N=O+148|0;H=O+144|0;I=O+140|0;h=O+136|0;v=O+132|0;n=O+128|0;w=O+124|0;o=O+120|0;p=O+116|0;q=O+112|0;r=O+88|0;s=O+80|0;t=O+76|0;x=O+172|0;y=O+72|0;u=O+68|0;z=O+64|0;A=O+60|0;B=O+56|0;C=O+52|0;D=O+48|0;E=O+44|0;j=O+40|0;k=O+16|0;m=O+12|0;c[K>>2]=b;c[L>>2]=e;c[M>>2]=f;c[F>>2]=g;c[N>>2]=-1;c[H>>2]=0;c[I>>2]=Lu(c[K>>2]|0)|0;if(!(c[I>>2]|0)){c[J>>2]=0;N=c[J>>2]|0;l=O;return N|0}Ky(c[K>>2]|0);if(!(c[(c[L>>2]|0)+4>>2]&32))c[N>>2]=Nu(c[I>>2]|0,20)|0;if((d[(c[K>>2]|0)+409>>0]|0)==2){g=c[c[K>>2]>>2]|0;e=(d[c[L>>2]>>0]|0)==33?30503:30508;f=c[(c[K>>2]|0)+424>>2]|0;c[i>>2]=(c[N>>2]|0)>=0?55752:30491;c[i+4>>2]=e;c[i+8>>2]=f;c[h>>2]=Wj(g,30515,i)|0;Uu(c[I>>2]|0,162,c[(c[K>>2]|0)+420>>2]|0,0,0,c[h>>2]|0,-1)|0}b=c[L>>2]|0;do if((d[c[L>>2]>>0]|0)==33){c[n>>2]=c[b+12>>2];c[w>>2]=0;c[o>>2]=rx(c[n>>2]|0)|0;k=(c[K>>2]|0)+40|0;m=c[k>>2]|0;c[k>>2]=m+1;c[(c[L>>2]|0)+28>>2]=m;c[v>>2]=Qu(c[I>>2]|0,107,c[(c[L>>2]|0)+28>>2]|0,c[F>>2]|0?0:c[o>>2]|0)|0;if(c[F>>2]|0)b=0;else b=yy(c[c[K>>2]>>2]|0,c[o>>2]|0,1)|0;c[w>>2]=b;b=(c[L>>2]|0)+20|0;a:do if(c[(c[L>>2]|0)+4>>2]&2048|0){c[p>>2]=c[b>>2];c[q>>2]=c[c[p>>2]>>2];if((c[c[q>>2]>>2]|0)==(c[o>>2]|0)){Az(r,11,c[(c[L>>2]|0)+28>>2]|0);c[r+4>>2]=rz(c[K>>2]|0,c[L>>2]|0)|0;c[(c[p>>2]|0)+12>>2]=0;G=(At(c[K>>2]|0,c[p>>2]|0,r)|0)!=0;Xd(c[c[K>>2]>>2]|0,c[r+4>>2]|0);if(G){zk(c[w>>2]|0);c[J>>2]=0;N=c[J>>2]|0;l=O;return N|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[o>>2]|0))break a;c[t>>2]=uz(c[n>>2]|0,c[s>>2]|0)|0;G=xz(c[K>>2]|0,c[t>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;c[(c[w>>2]|0)+20+(c[s>>2]<<2)>>2]=G;c[s>>2]=(c[s>>2]|0)+1}}}else if(c[b>>2]|0){c[u>>2]=c[(c[L>>2]|0)+20>>2];t=qw(c[n>>2]|0)|0;a[x>>0]=t;a[x>>0]=a[x>>0]|0?t:65;if(c[w>>2]|0){t=rw(c[K>>2]|0,c[(c[L>>2]|0)+12>>2]|0)|0;c[(c[w>>2]|0)+20>>2]=t}c[A>>2]=Ov(c[K>>2]|0)|0;c[B>>2]=Ov(c[K>>2]|0)|0;if(c[F>>2]|0)Qu(c[I>>2]|0,79,0,c[B>>2]|0)|0;c[y>>2]=c[c[u>>2]>>2];c[z>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[D>>2]=c[c[z>>2]>>2];if((c[N>>2]|0)>=0?(ez(c[D>>2]|0)|0)==0:0){Ry(c[I>>2]|0,c[N>>2]|0)|0;c[N>>2]=-1}if(c[F>>2]|0?Tw(c[D>>2]|0,E)|0:0)Ru(c[I>>2]|0,116,c[(c[L>>2]|0)+28>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;else G=30;do if((G|0)==30){G=0;c[C>>2]=Xy(c[K>>2]|0,c[D>>2]|0,c[A>>2]|0)|0;b=c[I>>2]|0;e=c[C>>2]|0;if(c[F>>2]|0){Qu(b,17,e,(Pv(c[I>>2]|0)|0)+2|0)|0;Ru(c[I>>2]|0,115,c[(c[L>>2]|0)+28>>2]|0,c[B>>2]|0,c[C>>2]|0)|0;break}else{Uu(b,99,e,1,c[B>>2]|0,x,1)|0;$y(c[K>>2]|0,c[C>>2]|0,1);Qu(c[I>>2]|0,126,c[(c[L>>2]|0)+28>>2]|0,c[B>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+20}Qv(c[K>>2]|0,c[A>>2]|0);Qv(c[K>>2]|0,c[B>>2]|0)}while(0);if(c[w>>2]|0)Vu(c[I>>2]|0,c[v>>2]|0,c[w>>2]|0,-6)}else{c[j>>2]=c[b+20>>2];if((d[c[L>>2]>>0]|0)==119)b=c[c[c[j>>2]>>2]>>2]|0;else b=1;c[m>>2]=b;Az(k,0,(c[(c[K>>2]|0)+44>>2]|0)+1|0);G=(c[K>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+(c[m>>2]|0);if((d[c[L>>2]>>0]|0)==119){a[k>>0]=10;c[k+12>>2]=c[k+8>>2];c[k+16>>2]=c[m>>2];Ru(c[I>>2]|0,79,0,c[k+8>>2]|0,(c[k+8>>2]|0)+(c[m>>2]|0)-1|0)|0}else{a[k>>0]=3;Qu(c[I>>2]|0,76,0,c[k+8>>2]|0)|0}Ok(c[c[K>>2]>>2]|0,c[(c[j>>2]|0)+56>>2]|0);G=Wt(c[c[K>>2]>>2]|0,134,4260,0)|0;c[(c[j>>2]|0)+56>>2]=G;c[(c[j>>2]|0)+12>>2]=0;G=(c[j>>2]|0)+8|0;c[G>>2]=c[G>>2]&-1025;if(!(At(c[K>>2]|0,c[j>>2]|0,k)|0)){c[H>>2]=c[k+8>>2];break}c[J>>2]=0;N=c[J>>2]|0;l=O;return N|0}while(0);if(c[M>>2]|0)yz(c[I>>2]|0,c[(c[L>>2]|0)+28>>2]|0,c[M>>2]|0);if((c[N>>2]|0)>=0)ny(c[I>>2]|0,c[N>>2]|0);Iy(c[K>>2]|0);c[J>>2]=c[H>>2];N=c[J>>2]|0;l=O;return N|0}function jz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+128|0;G=L+120|0;H=L+116|0;I=L+112|0;J=L+108|0;K=L+104|0;q=L+100|0;r=L+96|0;s=L+92|0;t=L+88|0;u=L+84|0;v=L+80|0;w=L+76|0;x=L+68|0;y=L+64|0;g=L+60|0;z=L+56|0;A=L+52|0;B=L+48|0;C=L+44|0;h=L+40|0;i=L+36|0;j=L+32|0;k=L+28|0;m=L+24|0;n=L+20|0;o=L+16|0;p=L+12|0;D=L+8|0;E=L+4|0;F=L;c[G>>2]=b;c[H>>2]=d;c[I>>2]=e;c[J>>2]=f;c[K>>2]=0;c[u>>2]=0;c[v>>2]=0;c[z>>2]=0;c[x>>2]=c[(c[H>>2]|0)+12>>2];if(qz(c[G>>2]|0,c[H>>2]|0)|0){l=L;return}c[v>>2]=rz(c[G>>2]|0,c[H>>2]|0)|0;c[w>>2]=rx(c[(c[H>>2]|0)+12>>2]|0)|0;c[u>>2]=_l(c[c[G>>2]>>2]|0,((c[w>>2]|0)*5|0)+1|0,0)|0;if(!(a[(c[c[G>>2]>>2]|0)+69>>0]|0)){c[t>>2]=c[(c[G>>2]|0)+8>>2];c[q>>2]=sz(c[G>>2]|0,c[H>>2]|0,3,(c[I>>2]|0)==(c[J>>2]|0)?0:K,c[u>>2]|0)|0;Ky(c[G>>2]|0);c[s>>2]=lz(c[G>>2]|0,c[x>>2]|0,L+72|0)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break;if((c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)!=(c[y>>2]|0))break;c[y>>2]=(c[y>>2]|0)+1}a:do if((c[y>>2]|0)==(c[w>>2]|0))c[r>>2]=c[s>>2];else{c[r>>2]=My(c[G>>2]|0,c[w>>2]|0)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break a;Ru(c[t>>2]|0,84,(c[s>>2]|0)+(c[y>>2]|0)|0,(c[r>>2]|0)+(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)|0,0)|0;c[y>>2]=(c[y>>2]|0)+1}}while(0);b:do if((c[q>>2]|0)==5){c[h>>2]=c[(c[H>>2]|0)+20>>2];c[i>>2]=rw(c[G>>2]|0,c[(c[H>>2]|0)+12>>2]|0)|0;c[j>>2]=ky(c[t>>2]|0)|0;c[n>>2]=0;if((c[J>>2]|0)!=(c[I>>2]|0)){c[n>>2]=Ov(c[G>>2]|0)|0;Ru(c[t>>2]|0,43,c[r>>2]|0,c[r>>2]|0,c[n>>2]|0)|0}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[h>>2]>>2]|0))break;c[k>>2]=cz(c[G>>2]|0,c[(c[(c[h>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,m)|0;if(c[n>>2]|0?tz(c[(c[(c[h>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0:0)Ru(c[t>>2]|0,43,c[n>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)>=((c[c[h>>2]>>2]|0)-1|0)?(c[J>>2]|0)==(c[I>>2]|0):0){Uu(c[t>>2]|0,36,c[r>>2]|0,c[I>>2]|0,c[k>>2]|0,c[i>>2]|0,-4)|0;jy(c[t>>2]|0,(a[c[v>>2]>>0]|16)&255)}else{Uu(c[t>>2]|0,37,c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,c[i>>2]|0,-4)|0;jy(c[t>>2]|0,a[c[v>>2]>>0]|0)}Qv(c[G>>2]|0,c[m>>2]|0);c[o>>2]=(c[o>>2]|0)+1}if(c[n>>2]|0){Qu(c[t>>2]|0,34,c[n>>2]|0,c[J>>2]|0)|0;my(c[t>>2]|0,c[I>>2]|0)|0}oy(c[t>>2]|0,c[j>>2]|0);Qv(c[G>>2]|0,c[n>>2]|0)}else{if((c[J>>2]|0)==(c[I>>2]|0))c[g>>2]=c[I>>2];else{o=ky(c[t>>2]|0)|0;c[z>>2]=o;c[g>>2]=o}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break;c[p>>2]=uz(c[(c[H>>2]|0)+12>>2]|0,c[y>>2]|0)|0;if(tz(c[p>>2]|0)|0)Qu(c[t>>2]|0,34,(c[r>>2]|0)+(c[y>>2]|0)|0,c[g>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+1}b=c[t>>2]|0;do if((c[q>>2]|0)!=1){Uu(b,98,c[r>>2]|0,c[w>>2]|0,0,c[v>>2]|0,c[w>>2]|0)|0;b=c[t>>2]|0;d=c[(c[H>>2]|0)+28>>2]|0;if((c[I>>2]|0)==(c[J>>2]|0)){zy(b,30,d,c[I>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;break b}else{c[A>>2]=zy(b,31,d,0,c[r>>2]|0,c[w>>2]|0)|0;break}}else{Ru(b,32,c[(c[H>>2]|0)+28>>2]|0,c[I>>2]|0,c[r>>2]|0)|0;c[A>>2]=Nu(c[t>>2]|0,13)|0}while(0);if((c[K>>2]|0)!=0&(c[w>>2]|0)==1)Qu(c[t>>2]|0,35,c[K>>2]|0,c[I>>2]|0)|0;if((c[I>>2]|0)==(c[J>>2]|0))my(c[t>>2]|0,c[I>>2]|0)|0;if(c[z>>2]|0)oy(c[t>>2]|0,c[z>>2]|0);c[C>>2]=Qu(c[t>>2]|0,57,c[(c[H>>2]|0)+28>>2]|0,c[I>>2]|0)|0;if((c[w>>2]|0)>1)c[B>>2]=ky(c[t>>2]|0)|0;else c[B>>2]=c[I>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break;c[F>>2]=Ov(c[G>>2]|0)|0;c[D>>2]=uz(c[x>>2]|0,c[y>>2]|0)|0;c[E>>2]=rw(c[G>>2]|0,c[D>>2]|0)|0;Ru(c[t>>2]|0,96,c[(c[H>>2]|0)+28>>2]|0,c[y>>2]|0,c[F>>2]|0)|0;Uu(c[t>>2]|0,36,(c[r>>2]|0)+(c[y>>2]|0)|0,c[B>>2]|0,c[F>>2]|0,c[E>>2]|0,-4)|0;Qv(c[G>>2]|0,c[F>>2]|0);c[y>>2]=(c[y>>2]|0)+1}Qu(c[t>>2]|0,13,0,c[J>>2]|0)|0;if((c[w>>2]|0)>1){oy(c[t>>2]|0,c[B>>2]|0);Qu(c[t>>2]|0,7,c[(c[H>>2]|0)+28>>2]|0,(c[C>>2]|0)+1|0)|0;Qu(c[t>>2]|0,13,0,c[I>>2]|0)|0}ny(c[t>>2]|0,c[A>>2]|0)}while(0);if((c[r>>2]|0)!=(c[s>>2]|0))Qv(c[G>>2]|0,c[r>>2]|0);Iy(c[G>>2]|0)}Xd(c[c[G>>2]>>2]|0,c[u>>2]|0);Xd(c[c[G>>2]>>2]|0,c[v>>2]|0);l=L;return}function kz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+216|0;o=s+212|0;p=s+208|0;q=s+204|0;r=s+200|0;h=s+152|0;i=s+104|0;j=s+56|0;k=s+8|0;m=s;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=0;b=i;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));b=j;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));b=h;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));b=k;d=c[(c[o>>2]|0)+12>>2]|0;e=b+48|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));a[h>>0]=28;c[h+12>>2]=i;c[h+16>>2]=j;a[i>>0]=41;c[i+12>>2]=k;c[i+16>>2]=c[c[(c[(c[o>>2]|0)+20>>2]|0)+4>>2]>>2];a[j>>0]=39;c[j+12>>2]=k;c[j+16>>2]=c[(c[(c[(c[o>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];mz(k,lz(c[n>>2]|0,k,m)|0);if(c[q>>2]|0){Ob[c[q>>2]&255](c[n>>2]|0,h,c[p>>2]|0,c[r>>2]|0);q=c[n>>2]|0;r=c[m>>2]|0;Qv(q,r);l=s;return}else{q=k+4|0;c[q>>2]=c[q>>2]|1;Xy(c[n>>2]|0,h,c[p>>2]|0)|0;q=c[n>>2]|0;r=c[m>>2]|0;Qv(q,r);l=s;return}}function lz(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+20|0;h=m+16|0;f=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[f>>2]=e;c[j>>2]=rx(c[h>>2]|0)|0;if((c[j>>2]|0)==1){c[i>>2]=cz(c[g>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;k=c[i>>2]|0;l=m;return k|0}c[c[f>>2]>>2]=0;a=c[g>>2]|0;if((d[c[h>>2]>>0]|0|0)==119){c[i>>2]=iz(a,c[h>>2]|0,0,0)|0;k=c[i>>2]|0;l=m;return k|0}c[i>>2]=(c[a+44>>2]|0)+1;f=(c[g>>2]|0)+44|0;c[f>>2]=(c[f>>2]|0)+(c[j>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;Wy(c[g>>2]|0,c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,(c[k>>2]|0)+(c[i>>2]|0)|0);c[k>>2]=(c[k>>2]|0)+1}k=c[i>>2]|0;l=m;return k|0}function mz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];d=(c[f>>2]|0)+4|0;c[d>>2]=c[d>>2]&-4097;l=e;return}function nz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;n=u+44|0;o=u+40|0;p=u+36|0;q=u+32|0;r=u+28|0;s=u+24|0;g=u+20|0;h=u+16|0;i=u+12|0;j=u+8|0;k=u+4|0;m=u;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=c[(c[n>>2]|0)+8>>2];c[s>>2]=0;c[g>>2]=0;c[h>>2]=0;if((c[r>>2]|0)==0|(c[o>>2]|0)==0){l=u;return}c[s>>2]=((d[c[o>>2]>>0]|0)+0^1)-0;a:do switch(d[c[o>>2]>>0]|0|0){case 28:{nz(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[p>>2]|0,c[q>>2]|0);Ky(c[n>>2]|0);nz(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[p>>2]|0,c[q>>2]|0);Iy(c[n>>2]|0);break}case 27:{c[k>>2]=ky(c[r>>2]|0)|0;oz(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[k>>2]|0,c[q>>2]^16);Ky(c[n>>2]|0);nz(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[p>>2]|0,c[q>>2]|0);oy(c[r>>2]|0,c[k>>2]|0);Iy(c[n>>2]|0);break}case 19:{oz(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[p>>2]|0,c[q>>2]|0);break}case 148:case 29:{c[s>>2]=(d[c[o>>2]>>0]|0|0)==29?36:37;c[q>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{c[i>>2]=cz(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,g)|0;Qu(c[r>>2]|0,c[s>>2]|0,c[i>>2]|0,c[p>>2]|0)|0;break}case 32:{kz(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,134,c[q>>2]|0);break}case 33:if(c[q>>2]|0){jz(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[p>>2]|0);break a}else{c[m>>2]=ky(c[r>>2]|0)|0;jz(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[m>>2]|0);oy(c[r>>2]|0,c[m>>2]|0);break a}default:t=14}while(0);if((t|0)==7)if(az(c[(c[o>>2]|0)+12>>2]|0)|0)t=14;else{c[i>>2]=cz(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,g)|0;c[j>>2]=cz(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,h)|0;dz(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[s>>2]|0,c[i>>2]|0,c[j>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}do if((t|0)==14){if(Nx(c[o>>2]|0)|0){my(c[r>>2]|0,c[p>>2]|0)|0;break}if(!(pz(c[o>>2]|0)|0)){c[i>>2]=cz(c[n>>2]|0,c[o>>2]|0,g)|0;Ru(c[r>>2]|0,22,c[i>>2]|0,c[p>>2]|0,(c[q>>2]|0)!=0&1)|0}}while(0);Qv(c[n>>2]|0,c[g>>2]|0);Qv(c[n>>2]|0,c[h>>2]|0);l=u;return}function oz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;o=v+48|0;p=v+44|0;q=v+40|0;r=v+36|0;s=v+32|0;t=v+28|0;g=v+24|0;h=v+20|0;i=v+16|0;j=v+12|0;k=v+8|0;m=v+4|0;n=v;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=c[(c[o>>2]|0)+8>>2];c[t>>2]=0;c[g>>2]=0;c[h>>2]=0;if((c[s>>2]|0)==0|(c[p>>2]|0)==0){l=v;return}c[t>>2]=d[c[p>>2]>>0];switch(c[t>>2]|0){case 28:{c[k>>2]=ky(c[s>>2]|0)|0;nz(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[k>>2]|0,c[r>>2]^16);Ky(c[o>>2]|0);oz(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0);oy(c[s>>2]|0,c[k>>2]|0);Iy(c[o>>2]|0);break}case 27:{oz(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[q>>2]|0,c[r>>2]|0);Ky(c[o>>2]|0);oz(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0);Iy(c[o>>2]|0);break}case 19:{nz(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[q>>2]|0,c[r>>2]|0);break}case 148:case 29:{c[t>>2]=(c[t>>2]|0)==29?37:36;c[r>>2]=128;u=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{u=7;break}case 35:case 34:{c[i>>2]=cz(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,g)|0;Qu(c[s>>2]|0,c[t>>2]|0,c[i>>2]|0,c[q>>2]|0)|0;break}case 32:{kz(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,135,c[r>>2]|0);break}case 33:{c[m>>2]=ky(c[s>>2]|0)|0;c[n>>2]=c[r>>2]|0?c[q>>2]|0:c[m>>2]|0;jz(c[o>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0);my(c[s>>2]|0,c[q>>2]|0)|0;oy(c[s>>2]|0,c[m>>2]|0);break}default:u=12}if((u|0)==7)if(az(c[(c[p>>2]|0)+12>>2]|0)|0)u=12;else{c[i>>2]=cz(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,g)|0;c[j>>2]=cz(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,h)|0;dz(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[t>>2]|0,c[i>>2]|0,c[j>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}do if((u|0)==12){if(pz(c[p>>2]|0)|0){my(c[s>>2]|0,c[q>>2]|0)|0;break}if(!(Nx(c[p>>2]|0)|0)){c[i>>2]=cz(c[o>>2]|0,c[p>>2]|0,g)|0;Ru(c[s>>2]|0,21,c[i>>2]|0,c[q>>2]|0,(c[r>>2]|0)!=0&1)|0}}while(0);Qv(c[o>>2]|0,c[g>>2]|0);Qv(c[o>>2]|0,c[h>>2]|0);l=v;return}function pz(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1|0))if(Tw(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);l=f;return c[b>>2]|0}function qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;e=i+16|0;d=i+12|0;f=i+8|0;g=i+4|0;c[d>>2]=a;c[f>>2]=b;c[g>>2]=rx(c[(c[f>>2]|0)+12>>2]|0)|0;a=c[g>>2]|0;if(c[(c[f>>2]|0)+4>>2]&2048|0){if((a|0)!=(c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0)){hz(c[d>>2]|0,c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0,c[g>>2]|0);c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}}else if((a|0)!=1){a=c[d>>2]|0;if(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]&2048|0)hz(a,c[g>>2]|0,1);else sl(a,29254,h);c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}function rz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+28|0;e=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;g=o+32|0;c[f>>2]=b;c[e>>2]=d;c[h>>2]=c[(c[e>>2]|0)+12>>2];c[i>>2]=rx(c[h>>2]|0)|0;if(c[(c[e>>2]|0)+4>>2]&2048|0)b=c[(c[e>>2]|0)+20>>2]|0;else b=0;c[j>>2]=b;e=(c[i>>2]|0)+1|0;c[k>>2]=_l(c[c[f>>2]>>2]|0,e,((e|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;l=o;return n|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[i>>2]|0))break;c[n>>2]=uz(c[h>>2]|0,c[m>>2]|0)|0;a[g>>0]=qw(c[n>>2]|0)|0;if(c[j>>2]|0){b=wz(c[(c[(c[c[j>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2]|0,a[g>>0]|0)|0;d=(c[k>>2]|0)+(c[m>>2]|0)|0}else{b=a[g>>0]|0;d=(c[k>>2]|0)+(c[m>>2]|0)|0}a[d>>0]=b;c[m>>2]=(c[m>>2]|0)+1}a[(c[k>>2]|0)+(c[i>>2]|0)>>0]=0;n=c[k>>2]|0;l=o;return n|0}function sz(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+160|0;W=X+16|0;R=X+140|0;S=X+136|0;T=X+132|0;U=X+128|0;V=X+124|0;k=X+120|0;m=X+116|0;n=X+112|0;o=X+108|0;p=X+104|0;q=X+100|0;r=X+96|0;s=X+92|0;t=X+88|0;u=X+144|0;v=X+84|0;w=X+80|0;x=X+76|0;y=X+72|0;z=X+68|0;A=X+64|0;B=X+60|0;C=X+56|0;E=X+147|0;F=X+146|0;G=X+8|0;H=X;I=X+52|0;J=X+48|0;K=X+44|0;L=X+40|0;M=X+36|0;N=X+32|0;O=X+28|0;P=X+24|0;Q=X+20|0;c[R>>2]=f;c[S>>2]=g;c[T>>2]=h;c[U>>2]=i;c[V>>2]=j;c[m>>2]=0;i=(c[R>>2]|0)+40|0;j=c[i>>2]|0;c[i>>2]=j+1;c[n>>2]=j;c[p>>2]=Lu(c[R>>2]|0)|0;c[o>>2]=(c[T>>2]&4|0)!=0&1;if(c[U>>2]|0?c[(c[S>>2]|0)+4>>2]&2048|0:0){c[r>>2]=c[c[(c[S>>2]|0)+20>>2]>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[r>>2]>>2]|0))break;if(tz(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==(c[c[r>>2]>>2]|0))c[U>>2]=0}a:do if((c[(c[R>>2]|0)+36>>2]|0)==0?(j=vz(c[S>>2]|0)|0,c[k>>2]=j,j|0):0){c[s>>2]=c[c[R>>2]>>2];c[v>>2]=c[c[k>>2]>>2];c[w>>2]=c[c[v>>2]>>2];c[t>>2]=c[(c[(c[k>>2]|0)+28>>2]|0)+8+16>>2];b[u>>1]=Hu(c[s>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0;dv(c[R>>2]|0,b[u>>1]|0);gy(c[R>>2]|0,b[u>>1]|0,c[(c[t>>2]|0)+28>>2]|0,0,c[c[t>>2]>>2]|0);if((c[w>>2]|0)==1?(b[(c[c[(c[v>>2]|0)+4>>2]>>2]|0)+32>>1]|0)<0:0){c[x>>2]=Nu(c[p>>2]|0,20)|0;hy(c[R>>2]|0,c[n>>2]|0,b[u>>1]|0,c[t>>2]|0,104);c[m>>2]=1;ny(c[p>>2]|0,c[x>>2]|0);break}c[z>>2]=1;c[A>>2]=0;while(1){if(!((c[A>>2]|0)<(c[w>>2]|0)?(c[z>>2]|0)!=0:0))break;c[B>>2]=uz(c[(c[S>>2]|0)+12>>2]|0,c[A>>2]|0)|0;c[C>>2]=b[(c[(c[(c[v>>2]|0)+4>>2]|0)+((c[A>>2]|0)*20|0)>>2]|0)+32>>1];a[E>>0]=zw(c[t>>2]|0,c[C>>2]|0)|0;a[F>>0]=wz(c[B>>2]|0,a[E>>0]|0)|0;if(((a[F>>0]|0)+-65|0)>>>0>=2)c[z>>2]=(a[E>>0]|0)>=67&1;c[A>>2]=(c[A>>2]|0)+1}if(c[z>>2]|0){c[y>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[y>>2]|0?(c[m>>2]|0)==0:0))break a;do if((e[(c[y>>2]|0)+52>>1]|0)>=(c[w>>2]|0)?(e[(c[y>>2]|0)+52>>1]|0)<63:0){if(c[o>>2]|0){if((e[(c[y>>2]|0)+50>>1]|0)>(c[w>>2]|0))break;if((e[(c[y>>2]|0)+52>>1]|0)>(c[w>>2]|0)?(d[(c[y>>2]|0)+54>>0]|0)==0:0)break}j=G;c[j>>2]=0;c[j+4>>2]=0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[w>>2]|0))break;c[I>>2]=uz(c[(c[S>>2]|0)+12>>2]|0,c[A>>2]|0)|0;c[J>>2]=c[(c[(c[v>>2]|0)+4>>2]|0)+((c[A>>2]|0)*20|0)>>2];c[K>>2]=xz(c[R>>2]|0,c[I>>2]|0,c[J>>2]|0)|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[w>>2]|0))break;if((b[(c[(c[y>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0)==(b[(c[J>>2]|0)+32>>1]|0)){if(!(c[K>>2]|0))break;if(!(bh(c[c[K>>2]>>2]|0,c[(c[(c[y>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2]|0)|0))break}c[L>>2]=(c[L>>2]|0)+1}if((c[L>>2]|0)==(c[w>>2]|0))break;j=j0(1,0,c[L>>2]|0)|0;i=H;c[i>>2]=j;c[i+4>>2]=D;i=H;j=G;if(c[i>>2]&c[j>>2]|0?1:(c[i+4>>2]&c[j+4>>2]|0)!=0)break;F=H;E=G;i=c[E+4>>2]|c[F+4>>2];j=G;c[j>>2]=c[E>>2]|c[F>>2];c[j+4>>2]=i;if(c[V>>2]|0)c[(c[V>>2]|0)+(c[A>>2]<<2)>>2]=c[L>>2];c[A>>2]=(c[A>>2]|0)+1}j=G;F=c[j>>2]|0;j=c[j+4>>2]|0;i=j0(1,0,c[w>>2]|0)|0;i=Z$(i|0,D|0,1,0)|0;if((F|0)==(i|0)&(j|0)==(D|0)){c[M>>2]=Nu(c[p>>2]|0,20)|0;i=c[p>>2]|0;j=c[s>>2]|0;c[W>>2]=c[c[y>>2]>>2];Uu(i,162,0,0,0,Wj(j,30460,W)|0,-1)|0;Ru(c[p>>2]|0,104,c[n>>2]|0,c[(c[y>>2]|0)+44>>2]|0,b[u>>1]|0)|0;iy(c[R>>2]|0,c[y>>2]|0);c[m>>2]=3+(d[c[(c[y>>2]|0)+28>>2]>>0]|0);if(c[U>>2]|0?(i=(c[R>>2]|0)+44|0,j=(c[i>>2]|0)+1|0,c[i>>2]=j,c[c[U>>2]>>2]=j,(c[w>>2]|0)==1):0)yz(c[p>>2]|0,c[n>>2]|0,c[c[U>>2]>>2]|0);ny(c[p>>2]|0,c[M>>2]|0)}}while(0);c[y>>2]=c[(c[y>>2]|0)+20>>2]}}}while(0);do if(((c[m>>2]|0)==0?c[T>>2]&1|0:0)?(c[(c[S>>2]|0)+4>>2]&2048|0)==0:0){if(zz(c[S>>2]|0)|0?(c[c[(c[S>>2]|0)+20>>2]>>2]|0)>2:0)break;c[m>>2]=5}while(0);if(!(c[m>>2]|0)){c[N>>2]=c[(c[R>>2]|0)+136>>2];c[O>>2]=0;c[m>>2]=2;if(c[T>>2]&4|0){c[(c[R>>2]|0)+136>>2]=0;if((b[(c[(c[S>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[S>>2]|0)+4>>2]&2048|0)==0:0)c[m>>2]=1}else if(c[U>>2]|0){T=(c[R>>2]|0)+44|0;W=(c[T>>2]|0)+1|0;c[T>>2]=W;c[O>>2]=W;c[c[U>>2]>>2]=W}iz(c[R>>2]|0,c[S>>2]|0,c[O>>2]|0,(c[m>>2]|0)==1&1)|0;c[(c[R>>2]|0)+136>>2]=c[N>>2]}else c[(c[S>>2]|0)+28>>2]=c[n>>2];if(!((c[V>>2]|0)!=0&(c[m>>2]|0)!=3&(c[m>>2]|0)!=4)){W=c[m>>2]|0;l=X;return W|0}c[Q>>2]=rx(c[(c[S>>2]|0)+12>>2]|0)|0;c[P>>2]=0;while(1){if((c[P>>2]|0)>=(c[Q>>2]|0))break;c[(c[V>>2]|0)+(c[P>>2]<<2)>>2]=c[P>>2];c[P>>2]=(c[P>>2]|0)+1}W=c[m>>2]|0;l=X;return W|0}function tz(e){e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+4|0;g=j;h=j+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 133:case 132:case 97:case 134:{c[i>>2]=0;i=c[i>>2]|0;l=j;return i|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576|0))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else e=0;else e=1;c[i>>2]=e&1;i=c[i>>2]|0;l=j;return i|0}default:{c[i>>2]=1;i=c[i>>2]|0;l=j;return i|0}}return 0}function uz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=(az(c[f>>2]|0)|0)!=0;a=c[f>>2]|0;if(!b){c[e>>2]=a;g=c[e>>2]|0;l=h;return g|0}if((d[a>>0]|0|0)!=119?(d[(c[f>>2]|0)+38>>0]|0|0)!=119:0){c[e>>2]=c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;l=h;return g|0}c[e>>2]=c[(c[(c[c[(c[f>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;l=h;return g|0}function vz(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m+28|0;b=m+24|0;k=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;c[b>>2]=a;do if(c[(c[b>>2]|0)+4>>2]&2048|0){if(c[(c[b>>2]|0)+4>>2]&32|0){c[j>>2]=0;break}c[k>>2]=c[(c[b>>2]|0)+20>>2];if(c[(c[k>>2]|0)+48>>2]|0){c[j>>2]=0;break}if(c[(c[k>>2]|0)+8>>2]&9|0){c[j>>2]=0;break}if(c[(c[k>>2]|0)+56>>2]|0){c[j>>2]=0;break}if(c[(c[k>>2]|0)+32>>2]|0){c[j>>2]=0;break}c[e>>2]=c[(c[k>>2]|0)+28>>2];if((c[c[e>>2]>>2]|0)!=1){c[j>>2]=0;break}if(c[(c[e>>2]|0)+8+20>>2]|0){c[j>>2]=0;break}c[g>>2]=c[(c[e>>2]|0)+8+16>>2];if((d[(c[g>>2]|0)+42>>0]|0)&16|0){c[j>>2]=0;break}c[f>>2]=c[c[k>>2]>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[f>>2]>>2]|0)){a=24;break}c[i>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2];if((d[c[i>>2]>>0]|0|0)!=152){a=22;break}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==22){c[j>>2]=0;break}else if((a|0)==24){c[j>>2]=c[k>>2];break}}else c[j>>2]=0;while(0);l=m;return c[j>>2]|0}function wz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+6|0;i=h;f=h+5|0;g=h+4|0;c[i>>2]=b;a[f>>0]=d;a[g>>0]=qw(c[i>>2]|0)|0;if(a[g>>0]|0?a[f>>0]|0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;i=a[e>>0]|0;l=h;return i|0}a[e>>0]=67;i=a[e>>0]|0;l=h;return i|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);i=a[e>>0]|0;l=h;return i|0}else{a[e>>0]=65;i=a[e>>0]|0;l=h;return i|0}return 0}function xz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256|0){c[h>>2]=rw(c[e>>2]|0,c[f>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}if(c[g>>2]|0?c[(c[g>>2]|0)+4>>2]&256|0:0){c[h>>2]=rw(c[e>>2]|0,c[g>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}c[h>>2]=rw(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}c[h>>2]=rw(c[e>>2]|0,c[g>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}function yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;g=e+12|0;i=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[i>>2]=b;c[h>>2]=d;Qu(c[g>>2]|0,76,0,c[h>>2]|0)|0;c[f>>2]=ey(c[g>>2]|0,57,c[i>>2]|0)|0;Ru(c[g>>2]|0,96,c[i>>2]|0,0,c[h>>2]|0)|0;jy(c[g>>2]|0,-128);ny(c[g>>2]|0,c[f>>2]|0);l=e;return}function zz(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=ez(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];l=d;return c[b>>2]|0}function Az(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+8|0;i=f+4|0;h=f;c[g>>2]=b;c[i>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[i>>2];c[(c[g>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;l=f;return}function Bz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+16|0;o=n+12|0;i=n+8|0;j=n+20|0;k=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[i>>2]=f;a[j>>0]=g;c[k>>2]=c[(c[h>>2]|0)+80>>2];c[o>>2]=Ww(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[k>>2]=Et(c[h>>2]|0,c[k>>2]|0,c[o>>2]|0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=m;l=n;return}c[m>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(((c[c[k>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[i>>2];m=(c[m>>2]|0)+13|0;a[m>>0]=a[m>>0]&-5|((d[j>>0]|0)&1)<<2&255;m=c[k>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=m;l=n;return}function Cz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=l;l=l+48|0;i=h+36|0;k=h+32|0;j=h+28|0;g=h;c[i>>2]=b;c[k>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[k>>2];c[g+4>>2]=204;c[g+8>>2]=205;c[g+24>>2]=c[j>>2];Kw(g,c[i>>2]|0)|0;l=h;return d[g+20>>0]|0|0}function Dz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?c[(c[h>>2]|0)+4>>2]&1|0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else i=4;a:do if((i|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 55:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);l=j;return c[f>>2]|0}function Ez(b,d){b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;l=e;return 2}function Fz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;i=g+8|0;j=g+4|0;h=g;f=g+12|0;c[i>>2]=b;c[j>>2]=d;c[h>>2]=e;a[f>>0]=qw(c[j>>2]|0)|0;e=(wz(c[i>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=e|c[h>>2]&255;l=g;return a[f>>0]|0}function Gz(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Cz(c[d>>2]|0,2,0)|0;l=b;return a|0}function Hz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((d[c[f>>2]>>0]|0|0)!=119){g=c[g>>2]|0;l=h;return g|0}c[g>>2]=iz(c[e>>2]|0,c[f>>2]|0,0,0)|0;g=c[g>>2]|0;l=h;return g|0}function Iz(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;p=s+24|0;q=s+20|0;j=s+16|0;r=s+12|0;k=s+8|0;m=s+4|0;n=s;o=s+28|0;c[q>>2]=b;c[j>>2]=e;c[r>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;a[o>>0]=a[c[j>>2]>>0]|0;if((d[o>>0]|0|0)==157){q=uz(c[j>>2]|0,c[r>>2]|0)|0;c[c[m>>2]>>2]=q;c[p>>2]=(c[(c[j>>2]|0)+28>>2]|0)+(c[r>>2]|0);r=c[p>>2]|0;l=s;return r|0}b=(c[j>>2]|0)+20|0;if((d[o>>0]|0|0)==119){c[c[m>>2]>>2]=c[(c[(c[c[b>>2]>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];c[p>>2]=(c[k>>2]|0)+(c[r>>2]|0);r=c[p>>2]|0;l=s;return r|0}else{c[c[m>>2]>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];c[p>>2]=cz(c[q>>2]|0,c[c[m>>2]>>2]|0,c[n>>2]|0)|0;r=c[p>>2]|0;l=s;return r|0}return 0}function Jz(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;p=s+28|0;q=s+24|0;r=s+20|0;j=s+16|0;k=s+12|0;m=s+8|0;n=s+4|0;o=s;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=Ed(Gs(c[p>>2]|0)|0,8,0)|0;if(c[o>>2]|0){i=c[o>>2]|0;h=c[m>>2]|0;a[i>>0]=a[h>>0]|0;a[i+1>>0]=a[h+1>>0]|0;a[i+2>>0]=a[h+2>>0]|0;a[i+3>>0]=a[h+3>>0]|0;a[i+4>>0]=a[h+4>>0]|0;a[i+5>>0]=a[h+5>>0]|0;a[i+6>>0]=a[h+6>>0]|0;a[i+7>>0]=a[h+7>>0]|0}r=Uu(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0)|0;l=s;return r|0}function Kz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m+24|0;f=m+20|0;g=m+16|0;h=m;i=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;e=h;c[e>>2]=0;c[e+4>>2]=0;c[i>>2]=2;while(1){b=c[i>>2]|0;if((a[(c[f>>2]|0)+(c[i>>2]|0)>>0]|0)!=48)break;c[i>>2]=b+1}c[j>>2]=b;while(1){if(!(d[20063+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;e=h;e=r0(c[e>>2]|0,c[e+4>>2]|0,16,0)|0;b=D;b=_$(e|0,b|0,(hg(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;e=h;c[e>>2]=b;c[e+4>>2]=D;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))b=((c[j>>2]|0)-(c[i>>2]|0)|0)<=16;else b=0;c[k>>2]=b?0:1;k=c[k>>2]|0;l=m;return k|0}while(0);i=c[f>>2]|0;j=c[g>>2]|0;c[k>>2]=Mi(i,j,md(c[f>>2]|0)|0,1)|0;k=c[k>>2]|0;l=m;return k|0}function Lz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[i>>2]=(c[f>>2]|0)+152;while(1){if((c[h>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;if((c[(c[i>>2]|0)+12>>2]|0)==(c[g>>2]|0))a[(c[i>>2]|0)+6>>0]=0;c[h>>2]=(c[h>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+20}l=j;return}function Mz(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;m=s+28|0;n=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;r=s+8|0;j=s+4|0;k=s;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;if((e[(c[c[m>>2]>>2]|0)+64>>1]|0)&2|0){l=s;return}if((d[(c[m>>2]|0)+25>>0]|0|0)>=10){c[r>>2]=2147483647;c[j>>2]=-1;c[q>>2]=0;c[k>>2]=(c[m>>2]|0)+152;while(1){if((c[q>>2]|0)>=10)break;if((c[(c[k>>2]|0)+16>>2]|0)<(c[r>>2]|0)){c[j>>2]=c[q>>2];c[r>>2]=c[(c[k>>2]|0)+16>>2]}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+20}c[k>>2]=(c[m>>2]|0)+152+((c[j>>2]|0)*20|0)}else{q=(c[m>>2]|0)+152|0;i=(c[m>>2]|0)+25|0;r=a[i>>0]|0;a[i>>0]=r+1<<24>>24;c[k>>2]=q+((r&255)*20|0)}c[(c[k>>2]|0)+8>>2]=c[(c[m>>2]|0)+64>>2];c[c[k>>2]>>2]=c[n>>2];b[(c[k>>2]|0)+4>>1]=c[o>>2];c[(c[k>>2]|0)+12>>2]=c[p>>2];a[(c[k>>2]|0)+6>>0]=0;q=(c[m>>2]|0)+68|0;r=c[q>>2]|0;c[q>>2]=r+1;c[(c[k>>2]|0)+16>>2]=r;l=s;return}function Nz(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){a=7;break}c[i>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(bh(c[i>>2]|0,c[f>>2]|0)|0):0){a=5;break}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==5){c[j>>2]=1;j=c[j>>2]|0;l=k;return j|0}else if((a|0)==7){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}return 0}function Oz(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;v=y+76|0;w=y+72|0;x=y+68|0;k=y+64|0;m=y+60|0;n=y+56|0;o=y+52|0;p=y+48|0;q=y+16|0;r=y+12|0;s=y+8|0;t=y+4|0;u=y;c[v>>2]=b;c[w>>2]=e;c[x>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=j;c[s>>2]=c[c[v>>2]>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[v>>2];j=Pz(q,c[m>>2]|0)|0;c[p>>2]=j;do if((0==(j|0)?(j=Pz(q,c[n>>2]|0)|0,c[p>>2]=j,0==(j|0)):0)?(j=Pz(q,c[o>>2]|0)|0,c[p>>2]=j,0==(j|0)):0){if(c[k>>2]|0){if((d[c[k>>2]>>0]|0)==97)c[u>>2]=c[(c[k>>2]|0)+8>>2];else c[u>>2]=0;c[p>>2]=Iu(c[v>>2]|0,c[w>>2]|0,c[u>>2]|0,0,0)|0;if(c[p>>2]|0)break}c[r>>2]=Lu(c[v>>2]|0)|0;c[t>>2]=My(c[v>>2]|0,4)|0;Wy(c[v>>2]|0,c[m>>2]|0,c[t>>2]|0);Wy(c[v>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0);Wy(c[v>>2]|0,c[o>>2]|0,(c[t>>2]|0)+2|0);if(c[r>>2]|0){Uu(c[r>>2]|0,89,0,(c[t>>2]|0)+3-(a[c[x>>2]>>0]|0)|0,(c[t>>2]|0)+3|0,c[x>>2]|0,-5)|0;jy(c[r>>2]|0,a[c[x>>2]>>0]|0);ey(c[r>>2]|0,150,(c[w>>2]|0)==24&1)|0}}while(0);Ok(c[s>>2]|0,c[m>>2]|0);Ok(c[s>>2]|0,c[n>>2]|0);Ok(c[s>>2]|0,c[o>>2]|0);l=y;return}function Pz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=55){c[h>>2]=Ow(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);l=i;return c[h>>2]|0}function Qz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+192|0;p=q+24|0;o=q+16|0;n=q+8|0;m=q;g=q+52|0;r=q+44|0;h=q+40|0;i=q+36|0;j=q+32|0;k=q+28|0;f=q+56|0;c[g>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[h>>2]=Rh(c[c[r>>2]>>2]|0)|0;c[i>>2]=Ph(c[g>>2]|0)|0;c[k>>2]=0;if(!(c[h>>2]|0))c[h>>2]=55752;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[i>>2]|0)+20>>2]|0))break;c[k>>2]=(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4);if(c[(c[k>>2]|0)+4>>2]|0?(bh(c[c[k>>2]>>2]|0,c[h>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}do if((c[j>>2]|0)>=(c[(c[i>>2]|0)+20>>2]|0)){c[m>>2]=c[h>>2];ef(128,f,30625,m)|0}else{if((c[j>>2]|0)<2){c[n>>2]=c[h>>2];ef(128,f,30646,n)|0;break}if(!(a[(c[i>>2]|0)+67>>0]|0)){ef(128,f,30672,o)|0;break}if((nl(c[(c[k>>2]|0)+4>>2]|0)|0)==0?(Dr(c[(c[k>>2]|0)+4>>2]|0)|0)==0:0){ur(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=0;c[(c[k>>2]|0)+12>>2]=0;Pq(c[i>>2]|0);l=q;return}c[p>>2]=c[h>>2];ef(128,f,30714,p)|0}while(0);Th(c[g>>2]|0,f,-1);l=q;return}function Rz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+128|0;B=E+48|0;A=E+40|0;D=E+32|0;C=E+24|0;k=E+16|0;h=E+8|0;g=E;w=E+116|0;F=E+108|0;j=E+104|0;x=E+100|0;y=E+96|0;z=E+92|0;n=E+88|0;o=E+84|0;p=E+80|0;q=E+76|0;r=E+72|0;s=E+68|0;t=E+64|0;i=E+60|0;u=E+56|0;v=E+52|0;c[w>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[x>>2]=0;c[y>>2]=Ph(c[w>>2]|0)|0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[n>>2]=Rh(c[c[F>>2]>>2]|0)|0;c[z>>2]=Rh(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=55752;if(!(c[z>>2]|0))c[z>>2]=55752;b=c[y>>2]|0;do if((c[(c[y>>2]|0)+20>>2]|0)<((c[(c[y>>2]|0)+96+28>>2]|0)+2|0)){if(!(a[b+67>>0]|0)){c[s>>2]=Wj(c[y>>2]|0,30787,h)|0;break}c[j>>2]=0;while(1){e=c[(c[y>>2]|0)+16>>2]|0;if((c[j>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;c[i>>2]=c[e+(c[j>>2]<<4)>>2];if(!(bh(c[i>>2]|0,c[z>>2]|0)|0)){m=12;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==12){F=c[y>>2]|0;c[k>>2]=c[z>>2];c[s>>2]=Wj(F,30829,k)|0;break}b=c[y>>2]|0;do if((e|0)==((c[y>>2]|0)+392|0)){c[r>>2]=Ed(b,48,0)|0;if(!(c[r>>2]|0)){l=E;return}else{F=c[r>>2]|0;m=c[(c[y>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[r>>2]=de(b,c[(c[y>>2]|0)+16>>2]|0,(c[(c[y>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[r>>2]|0)){l=E;return}}while(0);c[(c[y>>2]|0)+16>>2]=c[r>>2];c[r>>2]=(c[(c[y>>2]|0)+16>>2]|0)+(c[(c[y>>2]|0)+20>>2]<<4);F=c[r>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[y>>2]|0)+48>>2];c[x>>2]=Sz(c[(c[c[y>>2]>>2]|0)+16>>2]|0,c[n>>2]|0,q,t,o,p)|0;if(c[x>>2]|0){if((c[x>>2]|0)==7)Od(c[y>>2]|0);Th(c[w>>2]|0,c[p>>2]|0,-1);_d(c[p>>2]|0);l=E;return}c[q>>2]=c[q>>2]|256;c[x>>2]=rl(c[t>>2]|0,c[o>>2]|0,c[y>>2]|0,(c[r>>2]|0)+4|0,0,c[q>>2]|0)|0;_d(c[o>>2]|0);F=(c[y>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[x>>2]|0)!=19){if(!(c[x>>2]|0)){F=Tz(c[y>>2]|0,c[(c[r>>2]|0)+4>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=F;if(c[(c[r>>2]|0)+12>>2]|0){if(d[(c[(c[r>>2]|0)+12>>2]|0)+76>>0]|0?(d[(c[(c[r>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[y>>2]|0)+66>>0]|0):0){c[s>>2]=Wj(c[y>>2]|0,26947,D)|0;c[x>>2]=1}}else c[x>>2]=7;el(c[(c[r>>2]|0)+4>>2]|0);c[u>>2]=qk(c[(c[r>>2]|0)+4>>2]|0)|0;Uz(c[u>>2]|0,d[(c[y>>2]|0)+71>>0]|0)|0;F=c[(c[r>>2]|0)+4>>2]|0;Vz(F,Vz(c[(c[(c[y>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;Wz(c[(c[r>>2]|0)+4>>2]|0,3|c[(c[y>>2]|0)+24>>2]&56)|0;bl(c[(c[r>>2]|0)+4>>2]|0)}}else{c[x>>2]=1;c[s>>2]=Wj(c[y>>2]|0,30859,C)|0}a[(c[r>>2]|0)+8>>0]=3;F=Xo(c[y>>2]|0,c[z>>2]|0)|0;c[c[r>>2]>>2]=F;if((c[x>>2]|0)==0?(c[c[r>>2]>>2]|0)==0:0)c[x>>2]=7;if(!(c[x>>2]|0)){pk(c[y>>2]|0);c[x>>2]=lv(c[y>>2]|0,s)|0;rk(c[y>>2]|0)}if(!(c[x>>2]|0)){l=E;return}c[v>>2]=(c[(c[y>>2]|0)+20>>2]|0)-1;if(c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]|0){ur(c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]|0)|0;c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]=0;c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+12>>2]=0}Np(c[y>>2]|0);c[(c[y>>2]|0)+20>>2]=c[v>>2];if((c[x>>2]|0)==7|(c[x>>2]|0)==3082){Od(c[y>>2]|0);Xd(c[y>>2]|0,c[s>>2]|0);c[s>>2]=Wj(c[y>>2]|0,22481,A)|0;break}if(!(c[s>>2]|0)){F=c[y>>2]|0;c[B>>2]=c[n>>2];c[s>>2]=Wj(F,30888,B)|0}}else{c[g>>2]=c[(c[y>>2]|0)+96+28>>2];c[s>>2]=Wj(b,30750,g)|0}while(0);if(c[s>>2]|0){Th(c[w>>2]|0,c[s>>2]|0,-1);Xd(c[y>>2]|0,c[s>>2]|0)}if(!(c[x>>2]|0)){l=E;return}Wi(c[w>>2]|0,c[x>>2]|0);l=E;return}function Sz(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=l;l=l+160|0;Q=S+32|0;P=S+24|0;O=S+16|0;N=S+8|0;K=S+140|0;T=S+136|0;L=S+132|0;M=S+128|0;m=S+124|0;n=S+120|0;o=S+116|0;p=S+112|0;q=S+108|0;r=S+104|0;s=S+100|0;t=S+144|0;j=S+96|0;u=S+92|0;v=S+88|0;w=S+84|0;x=S+80|0;k=S;y=S+76|0;z=S+72|0;A=S+68|0;B=S+64|0;C=S+60|0;E=S+56|0;F=S+52|0;G=S+48|0;H=S+44|0;I=S+40|0;J=S+36|0;c[T>>2]=b;c[L>>2]=e;c[M>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=i;c[p>>2]=0;c[q>>2]=c[c[M>>2]>>2];c[r>>2]=c[T>>2];c[j>>2]=md(c[L>>2]|0)|0;a:do if(((c[q>>2]&64|0)!=0|(c[5]|0)!=0)&(c[j>>2]|0)>=5?(H_(c[L>>2]|0,30916,5)|0)==0:0){c[x>>2]=0;i=(c[j>>2]|0)+2|0;T=k;c[T>>2]=i;c[T+4>>2]=((i|0)<0)<<31>>31;c[q>>2]=c[q>>2]|64;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[j>>2]|0))break;i=(a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)==38&1;T=k;i=_$(c[T>>2]|0,c[T+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=i;c[T+4>>2]=D;c[w>>2]=(c[w>>2]|0)+1}T=k;c[s>>2]=of(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[s>>2]|0)){c[K>>2]=7;T=c[K>>2]|0;l=S;return T|0}c[w>>2]=5;do if((a[(c[L>>2]|0)+5>>0]|0)==47?(a[(c[L>>2]|0)+6>>0]|0)==47:0){c[w>>2]=7;while(1){if(a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)e=(a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)!=47;else e=0;b=c[w>>2]|0;if(!e)break;c[w>>2]=b+1}if((b|0)!=7){if((c[w>>2]|0)==16?(H_(30922,(c[L>>2]|0)+7|0,9)|0)==0:0)break;T=(c[L>>2]|0)+7|0;c[N>>2]=(c[w>>2]|0)-7;c[N+4>>2]=T;T=nf(30932,N)|0;c[c[o>>2]>>2]=T;c[p>>2]=1;break a}}while(0);c[v>>2]=0;b:while(1){T=a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[w>>2]=(c[w>>2]|0)+1;do if(((a[t>>0]|0)==37?d[20063+(d[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)>>0]&8|0:0)?d[20063+(d[(c[L>>2]|0)+((c[w>>2]|0)+1)>>0]|0)>>0]&8|0:0){T=c[L>>2]|0;N=c[w>>2]|0;c[w>>2]=N+1;c[y>>2]=((hg(a[T+N>>0]|0)|0)&255)<<4;N=c[L>>2]|0;T=c[w>>2]|0;c[w>>2]=T+1;T=(hg(a[N+T>>0]|0)|0)&255;c[y>>2]=(c[y>>2]|0)+T;if(c[y>>2]|0){a[t>>0]=c[y>>2];break}while(1){T=a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[v>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[v>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[v>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[w>>2]=(c[w>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[v>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[s>>2]|0)+((c[x>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0))continue b;if((a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)==35)continue b;if((a[(c[L>>2]|0)+((c[w>>2]|0)-1)>>0]|0)==38)continue b;c[w>>2]=(c[w>>2]|0)+1}else{if((a[t>>0]|0)==38){N=c[s>>2]|0;T=c[x>>2]|0;c[x>>2]=T+1;a[N+T>>0]=0}else c[v>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[v>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[v>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[v>>2]=1}while(0);i=a[t>>0]|0;N=c[s>>2]|0;T=c[x>>2]|0;c[x>>2]=T+1;a[N+T>>0]=i}if((c[v>>2]|0)==1){N=c[s>>2]|0;T=c[x>>2]|0;c[x>>2]=T+1;a[N+T>>0]=0}T=c[s>>2]|0;N=c[x>>2]|0;c[x>>2]=N+1;a[T+N>>0]=0;N=c[s>>2]|0;T=c[x>>2]|0;c[x>>2]=T+1;a[N+T>>0]=0;T=c[s>>2]|0;c[u>>2]=T+((md(c[s>>2]|0)|0)+1);while(1){if(!(a[c[u>>2]>>0]|0)){R=84;break a}c[z>>2]=md(c[u>>2]|0)|0;c[A>>2]=(c[u>>2]|0)+((c[z>>2]|0)+1);c[B>>2]=md(c[A>>2]|0)|0;if((c[z>>2]|0)==3?(H_(30960,c[u>>2]|0,3)|0)==0:0)c[r>>2]=c[A>>2];else{c[C>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;if((c[z>>2]|0)==5?(H_(30964,c[u>>2]|0,5)|0)==0:0){c[F>>2]=393216;c[C>>2]=4432;c[G>>2]=c[F>>2];c[E>>2]=30964}if((c[z>>2]|0)==4?(H_(30970,c[u>>2]|0,4)|0)==0:0){c[F>>2]=135;c[C>>2]=4456;c[G>>2]=c[F>>2]&c[q>>2];c[E>>2]=21047}if(c[C>>2]|0){c[I>>2]=0;c[H>>2]=0;while(1){if(!(c[(c[C>>2]|0)+(c[H>>2]<<3)>>2]|0))break;c[J>>2]=c[(c[C>>2]|0)+(c[H>>2]<<3)>>2];T=c[B>>2]|0;if((T|0)==(md(c[J>>2]|0)|0)?0==(H_(c[A>>2]|0,c[J>>2]|0,c[B>>2]|0)|0):0){R=73;break}c[H>>2]=(c[H>>2]|0)+1}if((R|0)==73){R=0;c[I>>2]=c[(c[C>>2]|0)+(c[H>>2]<<3)+4>>2]}if(!(c[I>>2]|0)){R=76;break}if((c[I>>2]&-129|0)>(c[G>>2]|0)){R=78;break}c[q>>2]=c[q>>2]&~c[F>>2]|c[I>>2]}}c[u>>2]=(c[A>>2]|0)+((c[B>>2]|0)+1)}if((R|0)==76){T=c[A>>2]|0;c[O>>2]=c[E>>2];c[O+4>>2]=T;T=nf(30975,O)|0;c[c[o>>2]>>2]=T;c[p>>2]=1;break}else if((R|0)==78){T=c[A>>2]|0;c[P>>2]=c[E>>2];c[P+4>>2]=T;T=nf(30995,P)|0;c[c[o>>2]>>2]=T;c[p>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[j>>2]|0)+2|0;c[s>>2]=of(T,((T|0)<0)<<31>>31)|0;if(c[s>>2]|0){h0(c[s>>2]|0,c[L>>2]|0,c[j>>2]|0)|0;a[(c[s>>2]|0)+(c[j>>2]|0)>>0]=0;a[(c[s>>2]|0)+((c[j>>2]|0)+1)>>0]=0;c[q>>2]=c[q>>2]&-65;R=84;break}c[K>>2]=7;T=c[K>>2]|0;l=S;return T|0}while(0);if((R|0)==84?(T=tf(c[r>>2]|0)|0,c[c[m>>2]>>2]=T,(c[c[m>>2]>>2]|0)==0):0){c[Q>>2]=c[r>>2];T=nf(31019,Q)|0;c[c[o>>2]>>2]=T;c[p>>2]=1}if(c[p>>2]|0){_d(c[s>>2]|0);c[s>>2]=0}c[c[M>>2]>>2]=c[q>>2];c[c[n>>2]>>2]=c[s>>2];c[K>>2]=c[p>>2];T=c[K>>2]|0;l=S;return T|0}function Tz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=Xl(c[g>>2]|0,84,160)|0;else c[h>>2]=_l(0,84,0)|0;if(!(c[h>>2]|0)){Od(c[f>>2]|0);h=c[h>>2]|0;l=i;return h|0}if(d[(c[h>>2]|0)+76>>0]|0){h=c[h>>2]|0;l=i;return h|0}Rq((c[h>>2]|0)+8|0);Rq((c[h>>2]|0)+24|0);Rq((c[h>>2]|0)+40|0);Rq((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;h=c[h>>2]|0;l=i;return h|0}function Uz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(Yz(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];l=h;return d[(c[f>>2]|0)+4>>0]|0}function Vz(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}el(c[g>>2]|0);if((c[h>>2]|0)>=0?(d=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[d>>1]=(e[d>>1]|0)&-5,c[h>>2]|0):0){h=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[h>>1]=e[h>>1]|0|4}c[i>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;bl(c[g>>2]|0);c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}function Wz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];el(c[e>>2]|0);Xz(c[c[g>>2]>>2]|0,c[f>>2]|0);bl(c[e>>2]|0);l=d;return 0}function Xz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;h=i+4|0;f=i;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;b=0;e=c[g>>2]|0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;b=((c[f>>2]|0)==4?1:0)&255;e=c[g>>2]|0}a[e+9>>0]=b;do if(!(a[(c[g>>2]|0)+7>>0]|0))if(c[h>>2]&8|0){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}else{f=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;a[(c[g>>2]|0)+10>>0]=f?3:2;break}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(!(a[(c[g>>2]|0)+8>>0]|0)){e=c[h>>2]|0;e=e&32;e=(e|0)!=0;h=c[g>>2]|0;h=h+21|0;f=a[h>>0]|0;f=f&255;g=f|1;f=f&-2;g=e?f:g;g=g&255;a[h>>0]=g;l=i;return}e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32;e=c[h>>2]|0;e=e&32;e=(e|0)!=0;h=c[g>>2]|0;h=h+21|0;f=a[h>>0]|0;f=f&255;g=f|1;f=f&-2;g=e?f:g;g=g&255;a[h>>0]=g;l=i;return}function Yz(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){b=0;b=b&1;l=e;return b|0}b=(d[(c[b>>2]|0)+43>>0]|0|0)==2;b=b&1;l=e;return b|0}function Zz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if(c[e>>2]|0?0!=(bh(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;dv(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}l=i;return}function _z(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o;e=o+44|0;f=o+40|0;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;d=o+12|0;c[e>>2]=a;c[f>>2]=b;c[i>>2]=c[c[e>>2]>>2];c[j>>2]=Hu(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[g>>2]=$z(c[f>>2]|0)|0;c[k>>2]=16;c[m>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[d>>2]=(c[j>>2]|0)==1?26433:26452;if((c[j>>2]|0)==1)c[k>>2]=14;if(Iu(c[e>>2]|0,c[k>>2]|0,c[c[f>>2]>>2]|0,c[c[g>>2]>>2]|0,c[m>>2]|0)|0){l=o;return}if(Iu(c[e>>2]|0,9,c[d>>2]|0,0,c[m>>2]|0)|0){l=o;return}m=Lu(c[e>>2]|0)|0;c[h>>2]=m;if(!m){l=o;return}m=c[e>>2]|0;g=(c[j>>2]|0)==1?26433:26452;k=c[c[f>>2]>>2]|0;c[n>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[n+4>>2]=g;c[n+8>>2]=k;Ku(m,31087,n);Mu(c[e>>2]|0,c[j>>2]|0);Uu(c[h>>2]|0,140,c[j>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;l=o;return}function $z(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=hv((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return a|0}function aA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+12|0;f=j+16|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=_l(c[k>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){k=c[h>>2]|0;l=j;return k|0}c[i>>2]=(c[h>>2]|0)+36;h0(c[i>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Vj(c[i>>2]|0);c[(c[h>>2]|0)+12>>2]=c[i>>2];a[c[h>>2]>>0]=a[f>>0]|0;k=c[h>>2]|0;l=j;return k|0}function bA(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[i>>2]=d;c[f>>2]=(c[i>>2]|0)+8;c[g>>2]=av(c[e>>2]|0,0,c[f>>2]|0)|0;tk(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){i=(c[g>>2]|0)+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16}if(!(Fx(c[e>>2]|0,c[f>>2]|0)|0)){i=c[g>>2]|0;l=h;return i|0}c[g>>2]=0;i=c[g>>2]|0;l=h;return i|0}function cA(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+32|0;h=g+20|0;n=g+16|0;i=g+12|0;k=g+8|0;j=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[i>>2]=d;c[k>>2]=e;c[j>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[i>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[i>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[k>>2];c[(c[h>>2]|0)+20>>2]=c[j>>2];c[(c[h>>2]|0)+8>>2]=(c[i>>2]|0)==1&1;l=g;return}function dA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k;g=k+32|0;h=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;i=k+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;j=c[g>>2]|0;l=k;return j|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[i>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){a=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if(c[(c[i>>2]|0)+4>>2]|0?bh(c[(c[i>>2]|0)+4>>2]|0,c[f>>2]|0)|0:0){a=8;break}Xd(c[c[c[h>>2]>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0);c[(c[i>>2]|0)+4>>2]=0;c[c[i>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(eA(c[h>>2]|0,c[(c[i>>2]|0)+20>>2]|0)|0){a=11;break}if(fA(c[h>>2]|0,c[(c[i>>2]|0)+48>>2]|0)|0){a=13;break}c[e>>2]=(c[e>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+72}if((a|0)==8){f=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+20>>2]|0;i=c[(c[i>>2]|0)+4>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];c[j+4>>2]=e;c[j+8>>2]=i;sl(f,31393,j);c[g>>2]=1;j=c[g>>2]|0;l=k;return j|0}else if((a|0)==11){c[g>>2]=1;j=c[g>>2]|0;l=k;return j|0}else if((a|0)==13){c[g>>2]=1;j=c[g>>2]|0;l=k;return j|0}else if((a|0)==15){c[g>>2]=0;j=c[g>>2]|0;l=k;return j|0}return 0}function eA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){a=20;break}if(gA(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){a=4;break}if(dA(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0){a=6;break}if(fA(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){a=8;break}if(gA(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){a=10;break}if(fA(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){a=12;break}if(gA(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){a=14;break}if(fA(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0)|0){a=16;break}if(fA(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){a=18;break}c[e>>2]=c[(c[e>>2]|0)+48>>2]}if((a|0)==4)c[f>>2]=1;else if((a|0)==6)c[f>>2]=1;else if((a|0)==8)c[f>>2]=1;else if((a|0)==10)c[f>>2]=1;else if((a|0)==12)c[f>>2]=1;else if((a|0)==14)c[f>>2]=1;else if((a|0)==16)c[f>>2]=1;else if((a|0)==18)c[f>>2]=1;else if((a|0)==20)c[f>>2]=0;l=g;return c[f>>2]|0}function fA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;g=j+12|0;h=j+8|0;f=j+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){b=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+148+5>>0]|0)){b=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&8404992|0){b=16;break}b=c[h>>2]|0;e=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048|0){if(eA(b,c[e>>2]|0)|0){b=10;break}}else if(gA(b,c[e>>2]|0)|0){b=12;break}if(fA(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){b=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((b|0)==6){f=c[c[h>>2]>>2]|0;c[i>>2]=c[(c[h>>2]|0)+16>>2];sl(f,31439,i);c[g>>2]=1;i=c[g>>2]|0;l=j;return i|0}else if((b|0)==10){c[g>>2]=1;i=c[g>>2]|0;l=j;return i|0}else if((b|0)==12){c[g>>2]=1;i=c[g>>2]|0;l=j;return i|0}else if((b|0)==14){c[g>>2]=1;i=c[g>>2]|0;l=j;return i|0}else if((b|0)==16){c[g>>2]=0;i=c[g>>2]|0;l=j;return i|0}return 0}function gA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){a=8;break}if(fA(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){a=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((a|0)==6){c[h>>2]=1;h=c[h>>2]|0;l=i;return h|0}else if((a|0)==8){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}return 0}function hA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){a=10;break}if(eA(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){a=4;break}if(fA(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){a=6;break}if(gA(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){a=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((a|0)==4)c[f>>2]=1;else if((a|0)==6)c[f>>2]=1;else if((a|0)==8)c[f>>2]=1;else if((a|0)==10)c[f>>2]=0;l=g;return c[f>>2]|0}function iA(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33|32;l=d;return}function jA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+28|0;o=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;f=n+4|0;g=n;c[h>>2]=a;c[o>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=1;td(c[(c[h>>2]|0)+12>>2]|0);c[m>>2]=aB(c[h>>2]|0,c[o>>2]|0)|0;if(!(c[m>>2]|0)){o=c[h>>2]|0;o=o+12|0;o=c[o>>2]|0;ud(o);o=c[k>>2]|0;l=n;return o|0}el(c[m>>2]|0);c[f>>2]=qk(c[m>>2]|0)|0;c[g>>2]=Pp(c[f>>2]|0)|0;do if((c[i>>2]|0)!=7){if((c[i>>2]|0)==27){o=Nl(c[f>>2]|0)|0;c[c[j>>2]>>2]=o;c[k>>2]=0;break}if((c[i>>2]|0)==28){o=bB(c[f>>2]|0)|0;c[c[j>>2]>>2]=o;c[k>>2]=0;break}if(c[c[g>>2]>>2]|0){c[k>>2]=wm(c[g>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;break}else{c[k>>2]=12;break}}else{c[c[j>>2]>>2]=c[g>>2];c[k>>2]=0}while(0);bl(c[m>>2]|0);o=c[h>>2]|0;o=o+12|0;o=c[o>>2]|0;ud(o);o=c[k>>2]|0;l=n;return o|0}function kA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){l=h;return}Pu(c[e>>2]|0,1,c[g>>2]|0)|0;lA(c[e>>2]|0,c[f>>2]|0);Qu(c[e>>2]|0,87,1,1)|0;l=h;return}function lA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;yA(c[f>>2]|0,1,e);l=d;return}function mA(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+8|0;h=p+4|0;i=p;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[p+12>>2]=g;if(((c[(c[k>>2]|0)+136>>2]|0)+(c[m>>2]|0)|0)>(c[(c[(c[k>>2]|0)+12>>2]|0)+48>>2]|0)?Tu(c[k>>2]|0,c[m>>2]|0)|0:0){c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}g=(c[(c[k>>2]|0)+88>>2]|0)+((c[(c[k>>2]|0)+136>>2]|0)*20|0)|0;c[h>>2]=g;c[i>>2]=g;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;a[c[h>>2]>>0]=a[c[n>>2]>>0]|0;c[(c[h>>2]|0)+4>>2]=a[(c[n>>2]|0)+1>>0];c[(c[h>>2]|0)+8>>2]=a[(c[n>>2]|0)+2>>0];if(d[32756+(d[c[n>>2]>>0]|0)>>0]&1|0?(a[(c[n>>2]|0)+2>>0]|0)>0:0){g=(c[h>>2]|0)+8|0;c[g>>2]=(c[g>>2]|0)+(c[(c[k>>2]|0)+136>>2]|0)}c[(c[h>>2]|0)+12>>2]=a[(c[n>>2]|0)+3>>0];a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[(c[h>>2]|0)+3>>0]=0;c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+4;c[h>>2]=(c[h>>2]|0)+20}o=(c[k>>2]|0)+136|0;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[j>>2]=c[i>>2];o=c[j>>2]|0;l=p;return o|0}function nA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;h=f+8|0;i=f;c[g>>2]=a;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=e;Jz(c[g>>2]|0,77,0,1,0,i,-13)|0;lA(c[g>>2]|0,c[h>>2]|0);Qu(c[g>>2]|0,87,1,1)|0;l=f;return}function oA(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(bh(c[d>>2]|0,31645)|0)){c[b>>2]=1;break}if(!(bh(c[d>>2]|0,31638)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;l=f;return c[b>>2]|0}function pA(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[5488+(c[d>>2]<<2)>>2];l=e;return c[b>>2]|0}function qA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;d=f;b=c[d+4>>2]|0;if((b|0)>-1|(b|0)==-1&(c[d>>2]|0)>>>0>=4294967295){a=f;b=c[a+4>>2]|0;d=(c[e>>2]|0)+168|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;$A(c[(c[e>>2]|0)+216>>2]|0,c[f>>2]|0,c[f+4>>2]|0)}f=(c[e>>2]|0)+168|0;D=c[f+4>>2]|0;l=g;return c[f>>2]|0}function rA(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;el(c[d>>2]|0);if(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;else b=0;c[e>>2]=b;bl(c[d>>2]|0);l=f;return c[e>>2]|0}function sA(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(bh(c[d>>2]|0,32716)|0){if(!(bh(c[d>>2]|0,32160)|0)){c[b>>2]=1;break}if(!(bh(c[d>>2]|0,32721)|0)){c[b>>2]=2;break}else{c[e>>2]=fg(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);l=f;return c[b>>2]|0}function tA(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;g=k+12|0;m=k+8|0;h=k+4|0;i=k;j=k+16|0;c[g>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[i>>2]=0;a[j>>0]=c[m>>2];el(c[g>>2]|0);if((e[(c[h>>2]|0)+22>>1]|0)&2|0?((d[j>>0]|0|0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[i>>2]=8;m=c[g>>2]|0;bl(m);m=c[i>>2]|0;l=k;return m|0}a[(c[h>>2]|0)+17>>0]=d[j>>0]|0|0?1:0;a[(c[h>>2]|0)+18>>0]=(d[j>>0]|0|0)==2?1:0;m=c[g>>2]|0;bl(m);m=c[i>>2]|0;l=k;return m|0}function uA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;h=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[f>>2]|0)+4>>2];el(c[f>>2]|0);c[d>>2]=ZA(c[c[h>>2]>>2]|0,c[g>>2]|0)|0;bl(c[f>>2]|0);l=e;return c[d>>2]|0}function vA(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+67>>0]|0)){l=h;return}c[f>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;if(c[(c[f>>2]|0)+4>>2]|0)Wz(c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[f>>2]=(c[f>>2]|0)+16}l=h;return}function wA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[g>>2]=b;c[k>>2]=e;c[h>>2]=YA(c[k>>2]|0)|0;c[i>>2]=c[c[g>>2]>>2];if((d[(c[i>>2]|0)+68>>0]|0|0)==(c[h>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}if(xA(c[g>>2]|0)|0){c[f>>2]=1;k=c[f>>2]|0;l=j;return k|0}else{a[(c[i>>2]|0)+68>>0]=c[h>>2];c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}return 0}function xA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if(a[(c[f>>2]|0)+67>>0]|0?(nl(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){ur(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;Np(c[f>>2]|0);break}sl(c[e>>2]|0,32654,g);c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function yA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;Rs(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;Ss(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}l=i;return}function zA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+40|0;j=q+36|0;k=q+32|0;m=q+16|0;n=q+12|0;o=q+44|0;p=q+8|0;g=q+4|0;h=q;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){f=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a[o>>0]=f;if(!(f<<24>>24))break;if((a[o>>0]|0)==115){e=(c[m>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[m>>2]=e+4;c[g>>2]=d;c[p>>2]=c[g>>2];d=c[i>>2]|0;e=(c[p>>2]|0)==0?79:97;f=c[j>>2]|0;c[j>>2]=f+1;Uu(d,e,0,f,0,c[p>>2]|0,0)|0}else{d=c[i>>2]|0;f=(c[m>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[m>>2]=f+4;c[h>>2]=e;e=c[h>>2]|0;f=c[j>>2]|0;c[j>>2]=f+1;Qu(d,76,e,f)|0}c[n>>2]=(c[n>>2]|0)+1}l=q;return}function AA(b){b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=32464;break}case 8:{c[e>>2]=32473;break}case 9:{c[e>>2]=32485;break}case 6:{c[e>>2]=32493;break}default:c[e>>2]=32502}l=f;return c[e>>2]|0}function BA(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;B=D;w=D+64|0;x=D+60|0;y=D+56|0;z=D+52|0;A=D+48|0;k=D+44|0;m=D+40|0;n=D+36|0;o=D+32|0;p=D+28|0;q=D+24|0;r=D+20|0;s=D+16|0;t=D+68|0;u=D+12|0;v=D+8|0;c[x>>2]=f;c[y>>2]=g;c[z>>2]=h;c[A>>2]=i;c[k>>2]=j;c[m>>2]=0;c[n>>2]=0;c[o>>2]=c[(c[z>>2]|0)+20>>2];c[p>>2]=c[(c[z>>2]|0)+36+4>>2];do if((c[o>>2]|0)==1){if((b[(c[y>>2]|0)+32>>1]|0)>=0){if(!(c[p>>2]|0)){c[w>>2]=0;C=c[w>>2]|0;l=D;return C|0}if(!(bh(c[(c[(c[y>>2]|0)+4>>2]|0)+(b[(c[y>>2]|0)+32>>1]<<4)>>2]|0,c[p>>2]|0)|0)){c[w>>2]=0;C=c[w>>2]|0;l=D;return C|0}}}else if(c[k>>2]|0){c[n>>2]=Ed(c[c[x>>2]>>2]|0,c[o>>2]<<2,0)|0;if(c[n>>2]|0){c[c[k>>2]>>2]=c[n>>2];break}c[w>>2]=1;C=c[w>>2]|0;l=D;return C|0}while(0);c[m>>2]=c[(c[y>>2]|0)+8>>2];a:while(1){if(!(c[m>>2]|0))break;do if((e[(c[m>>2]|0)+50>>1]|0)==(c[o>>2]|0)?d[(c[m>>2]|0)+54>>0]|0:0){if(!(c[p>>2]|0))if((a[(c[m>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break;b[t>>1]=b[(c[(c[m>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;if((b[t>>1]|0)<0)break;j=c[(c[(c[y>>2]|0)+4>>2]|0)+(b[t>>1]<<4)+8>>2]|0;c[u>>2]=j;c[u>>2]=c[u>>2]|0?j:34455;if(bh(c[(c[(c[m>>2]|0)+32>>2]|0)+(c[r>>2]<<2)>>2]|0,c[u>>2]|0)|0)break;c[v>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+(b[t>>1]<<4)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[o>>2]|0))break;if(!(bh(c[(c[z>>2]|0)+36+(c[s>>2]<<3)+4>>2]|0,c[v>>2]|0)|0)){C=28;break}c[s>>2]=(c[s>>2]|0)+1}if((C|0)==28?(C=0,c[n>>2]|0):0)c[(c[n>>2]|0)+(c[r>>2]<<2)>>2]=c[(c[z>>2]|0)+36+(c[s>>2]<<3)>>2];if((c[s>>2]|0)==(c[o>>2]|0))break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)==(c[o>>2]|0))break a}while(0);c[m>>2]=c[(c[m>>2]|0)+20>>2]}b:do if((C|0)==17?c[n>>2]|0:0){c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[o>>2]|0))break b;c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]=c[(c[z>>2]|0)+36+(c[q>>2]<<3)>>2];c[q>>2]=(c[q>>2]|0)+1}}while(0);if(c[m>>2]|0){c[c[A>>2]>>2]=c[m>>2];c[w>>2]=0;C=c[w>>2]|0;l=D;return C|0}if(!(a[(c[x>>2]|0)+150>>0]|0)){C=c[x>>2]|0;A=c[(c[z>>2]|0)+8>>2]|0;c[B>>2]=c[c[c[z>>2]>>2]>>2];c[B+4>>2]=A;sl(C,32401,B)}Xd(c[c[x>>2]>>2]|0,c[n>>2]|0);c[w>>2]=1;C=c[w>>2]|0;l=D;return C|0}function CA(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+16|0;g=o+12|0;i=o+8|0;j=o+4|0;k=o;m=o+20|0;n=o+22|0;c[g>>2]=d;c[i>>2]=f;if(!(c[(c[i>>2]|0)+16>>2]|0)){c[k>>2]=c[(c[i>>2]|0)+12>>2];f=(e[(c[i>>2]|0)+52>>1]|0)+1|0;f=Cd(0,f,((f|0)<0)<<31>>31)|0;c[(c[i>>2]|0)+16>>2]=f;if(!(c[(c[i>>2]|0)+16>>2]|0)){Od(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}c[j>>2]=0;while(1){d=c[i>>2]|0;if((c[j>>2]|0)>=(e[(c[i>>2]|0)+52>>1]|0))break;b[m>>1]=b[(c[d+4>>2]|0)+(c[j>>2]<<1)>>1]|0;if((b[m>>1]|0)>=0)a[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=a[(c[(c[k>>2]|0)+4>>2]|0)+(b[m>>1]<<4)+13>>0]|0;else{d=c[i>>2]|0;if((b[m>>1]|0)==-1){f=68;d=(c[d+16>>2]|0)+(c[j>>2]|0)|0}else{f=qw(c[(c[(c[d+40>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)|0;a[n>>0]=f;a[n>>0]=(a[n>>0]|0)==0?65:f;f=a[n>>0]|0;d=(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]|0)|0}a[d>>0]=f}c[j>>2]=(c[j>>2]|0)+1}a[(c[d+16>>2]|0)+(c[j>>2]|0)>>0]=0}c[h>>2]=c[(c[i>>2]|0)+16>>2];n=c[h>>2]|0;l=o;return n|0}function DA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=32334;else c[f>>2]=22031;WA(c[d>>2]|0,22035,2,1,c[f>>2]|0,203,0,0,0)|0;WA(c[d>>2]|0,22035,3,1,c[f>>2]|0,203,0,0,0)|0;WA(c[d>>2]|0,22026,2,1,22022,203,0,0,0)|0;XA(c[d>>2]|0,22026,12);XA(c[d>>2]|0,22035,(c[e>>2]|0?12:4)&255);l=g;return}function EA(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;while(1){b=c[e>>2]|0;if((c[f>>2]|0)>=(d[(c[e>>2]|0)+25>>0]|0|0))break;if(d[b+152+((c[f>>2]|0)*20|0)+6>>0]|0|0?(d[(c[e>>2]|0)+19>>0]|0|0)<8:0){i=c[(c[e>>2]|0)+152+((c[f>>2]|0)*20|0)+12>>2]|0;h=(c[e>>2]|0)+352|0;j=(c[e>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[h+((b&255)<<2)>>2]=i}c[f>>2]=(c[f>>2]|0)+1}a[b+25>>0]=0;l=g;return}function FA(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+64|0;A=C+52|0;B=C+48|0;p=C+44|0;q=C+40|0;r=C+56|0;s=C+36|0;t=C+32|0;u=C+28|0;m=C+24|0;v=C+20|0;w=C+16|0;n=C+12|0;x=C+8|0;y=C+4|0;z=C;c[B>>2]=b;c[p>>2]=e;c[q>>2]=f;a[r>>0]=g;c[s>>2]=h;c[t>>2]=i;c[u>>2]=j;c[m>>2]=k;if((d[(c[p>>2]|0)+42>>0]|0)&16|0){c[A>>2]=0;B=c[A>>2]|0;l=C;return B|0}c[w>>2]=Hu(c[c[B>>2]>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[y>>2]=Lu(c[B>>2]|0)|0;if((c[s>>2]|0)<0)c[s>>2]=c[(c[B>>2]|0)+40>>2];k=c[s>>2]|0;c[s>>2]=k+1;c[n>>2]=k;if(c[u>>2]|0)c[c[u>>2]>>2]=c[n>>2];do if(!((d[(c[p>>2]|0)+42>>0]|0)&32)){if(c[t>>2]|0?(d[c[t>>2]>>0]|0|0)==0:0){o=11;break}hy(c[B>>2]|0,c[n>>2]|0,c[w>>2]|0,c[p>>2]|0,c[q>>2]|0)}else o=11;while(0);if((o|0)==11)gy(c[B>>2]|0,c[w>>2]|0,c[(c[p>>2]|0)+28>>2]|0,(c[q>>2]|0)==105&255,c[c[p>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[s>>2];c[v>>2]=0;c[x>>2]=c[(c[p>>2]|0)+8>>2];while(1){b=c[s>>2]|0;if(!(c[x>>2]|0))break;c[s>>2]=b+1;c[z>>2]=b;if((a[(c[x>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]|0)&32|0:0){if(c[u>>2]|0)c[c[u>>2]>>2]=c[z>>2];a[r>>0]=0}if(!((c[t>>2]|0)!=0?!(d[(c[t>>2]|0)+((c[v>>2]|0)+1)>>0]|0|0):0)){Ru(c[y>>2]|0,c[q>>2]|0,c[z>>2]|0,c[(c[x>>2]|0)+44>>2]|0,c[w>>2]|0)|0;iy(c[B>>2]|0,c[x>>2]|0);jy(c[y>>2]|0,a[r>>0]|0)}c[x>>2]=c[(c[x>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}if((b|0)>(c[(c[B>>2]|0)+40>>2]|0))c[(c[B>>2]|0)+40>>2]=c[s>>2];c[A>>2]=c[v>>2];B=c[A>>2]|0;l=C;return B|0}function GA(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33;l=d;return}function HA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){VA(a,145,c[d>>2]|0)|0;l=e;return 0}else{VA(a,0,0)|0;l=e;return 0}return 0}function IA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;i=h+12|0;f=h+8|0;g=h+4|0;j=h;c[i>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<(c[i>>2]|0)){l=h;return 0}Ug();QA(c[f>>2]|0,c[g>>2]|0)|0;Wg();l=h;return 0}function JA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;td(c[(c[b>>2]|0)+12>>2]|0);pk(c[b>>2]|0);c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[a+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=qk(c[e>>2]|0)|0;OA(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}rk(a);ud(c[(c[b>>2]|0)+12>>2]|0);l=g;return 0}function KA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){NA(a,206,c[d>>2]|0)|0;c[(c[d>>2]|0)+428>>2]=c[e>>2];l=f;return 0}else{NA(a,0,0)|0;l=f;return 0}return 0}function LA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;i=c[e>>2]|0;l=j;return i|0}c[i>>2]=c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[5440+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[5440+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[i>>2];i=c[e>>2]|0;l=j;return i|0}function MA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=l;l=l+32|0;d=f+16|0;i=f+12|0;h=f+8|0;e=f+4|0;g=f;c[i>>2]=a;c[h>>2]=b;c[e>>2]=c[i>>2];c[g>>2]=c[(c[i>>2]|0)+428>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;i=c[d>>2]|0;l=f;return i|0}else{op(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;i=c[d>>2]|0;l=f;return i|0}return 0}function NA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;td(c[(c[f>>2]|0)+12>>2]|0);c[(c[f>>2]|0)+380>>2]=c[h>>2];c[(c[f>>2]|0)+380+4>>2]=c[g>>2];c[(c[f>>2]|0)+380+8>>2]=0;c[(c[f>>2]|0)+428>>2]=0;ud(c[(c[f>>2]|0)+12>>2]|0);l=e;return 0}function OA(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;PA(c[(c[d>>2]|0)+212>>2]|0);l=b;return}function PA(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Eb[c[164>>2]&255](c[(c[d>>2]|0)+44>>2]|0);l=b;return}function QA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=RA(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;l=d;return b|0}function RA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[h>>2]=g;c[j>>2]=10;if(c[p>>2]|0)c[c[p>>2]>>2]=-1;if(c[h>>2]|0)c[c[h>>2]>>2]=-1;if((c[o>>2]|0)<0|(c[o>>2]|0)>3){c[k>>2]=21;q=c[k>>2]|0;l=r;return q|0}td(c[(c[m>>2]|0)+12>>2]|0);if(c[n>>2]|0?a[c[n>>2]>>0]|0:0)c[j>>2]=ol(c[m>>2]|0,c[n>>2]|0)|0;if((c[j>>2]|0)<0){c[i>>2]=1;p=c[m>>2]|0;c[q>>2]=c[n>>2];ll(p,1,32233,q)}else{c[(c[m>>2]|0)+380+8>>2]=0;c[i>>2]=SA(c[m>>2]|0,c[j>>2]|0,c[o>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;ml(c[m>>2]|0,c[i>>2]|0)}c[i>>2]=Jr(c[m>>2]|0,c[i>>2]|0)|0;ud(c[(c[m>>2]|0)+12>>2]|0);c[k>>2]=c[i>>2];q=c[k>>2]|0;l=r;return q|0}function SA(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;g=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[g>>2]=0;c[i>>2]=0;c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[(c[j>>2]|0)+20>>2]|0)?(c[g>>2]|0)==0:0))break;if(((c[k>>2]|0)==10?1:(c[h>>2]|0)==(c[k>>2]|0))?(c[g>>2]=TA(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,c[n>>2]=0,c[o>>2]=0,(c[g>>2]|0)==5):0){c[i>>2]=1;c[g>>2]=0}c[h>>2]=(c[h>>2]|0)+1}l=p;return ((c[g>>2]|0)==0&(c[i>>2]|0)!=0?5:c[g>>2]|0)|0}function TA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;c[k>>2]=0;if(!(c[g>>2]|0)){m=c[k>>2]|0;l=n;return m|0}c[m>>2]=c[(c[g>>2]|0)+4>>2];el(c[g>>2]|0);if(d[(c[m>>2]|0)+20>>0]|0|0)c[k>>2]=6;else c[k>>2]=UA(c[c[m>>2]>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;bl(c[g>>2]|0);m=c[k>>2]|0;l=n;return m|0}function UA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;c[k>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){k=c[k>>2]|0;l=m;return k|0}if(!(c[h>>2]|0))a=0;else a=c[(c[g>>2]|0)+184>>2]|0;c[k>>2]=vo(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,a,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}function VA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;i=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[i>>2]=b;c[h>>2]=d;td(c[(c[g>>2]|0)+12>>2]|0);c[e>>2]=c[(c[g>>2]|0)+228>>2];c[(c[g>>2]|0)+224>>2]=c[i>>2];c[(c[g>>2]|0)+228>>2]=c[h>>2];ud(c[(c[g>>2]|0)+12>>2]|0);l=f;return c[e>>2]|0}function WA(d,f,g,h,i,j,k,m,n){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;C=D;B=D+56|0;q=D+52|0;r=D+48|0;s=D+44|0;t=D+40|0;u=D+36|0;v=D+32|0;w=D+28|0;x=D+24|0;y=D+20|0;z=D+16|0;o=D+12|0;A=D+8|0;p=D+4|0;c[q>>2]=d;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=i;c[v>>2]=j;c[w>>2]=k;c[x>>2]=m;c[y>>2]=n;do if(c[r>>2]|0){if(c[v>>2]|0?(c[x>>2]|0)!=0|(c[w>>2]|0)!=0:0)break;if(((c[v>>2]|0)==0&(c[x>>2]|0)!=0^1|(c[w>>2]|0)!=0?!((((c[v>>2]|0)!=0|(c[x>>2]|0)!=0)^1)&(c[w>>2]|0)!=0|(c[s>>2]|0)<-1|(c[s>>2]|0)>127):0)?(n=md(c[r>>2]|0)|0,c[o>>2]=n,255>=(n|0)):0){c[A>>2]=c[t>>2]&2048;c[t>>2]=c[t>>2]&7;do if((c[t>>2]|0)!=4){if((c[t>>2]|0)==5){c[p>>2]=WA(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,1|c[A>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=WA(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,2|c[A>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[p>>2]|0)){c[t>>2]=3;break}c[B>>2]=c[p>>2];C=c[B>>2]|0;l=D;return C|0}}else c[t>>2]=(a[936]|0)==0?3:2;while(0);c[z>>2]=ox(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]&255,0)|0;do if((c[z>>2]|0?(e[(c[z>>2]|0)+2>>1]&3|0)==(c[t>>2]|0):0)?(a[c[z>>2]>>0]|0)==(c[s>>2]|0):0){d=c[q>>2]|0;if(!(c[(c[q>>2]|0)+156>>2]|0)){Qq(d);break}ll(d,5,32338,C);c[B>>2]=5;C=c[B>>2]|0;l=D;return C|0}while(0);c[z>>2]=ox(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]&255,1)|0;if(!(c[z>>2]|0)){c[B>>2]=7;C=c[B>>2]|0;l=D;return C|0}vr(c[q>>2]|0,c[z>>2]|0);if(c[y>>2]|0){C=c[y>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[z>>2]|0)+24>>2]=c[y>>2];b[(c[z>>2]|0)+2>>1]=e[(c[z>>2]|0)+2>>1]&3|c[A>>2];c[(c[z>>2]|0)+12>>2]=c[v>>2]|0?c[v>>2]|0:c[w>>2]|0;c[(c[z>>2]|0)+16>>2]=c[x>>2];c[(c[z>>2]|0)+4>>2]=c[u>>2];a[c[z>>2]>>0]=c[s>>2];c[B>>2]=0;C=c[B>>2]|0;l=D;return C|0}}while(0);c[B>>2]=qd(139436)|0;C=c[B>>2]|0;l=D;return C|0}function XA(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;k=l;l=l+16|0;n=k+8|0;m=k+4|0;i=k+12|0;j=k;c[n>>2]=f;c[m>>2]=g;a[i>>0]=h;c[j>>2]=ox(c[n>>2]|0,c[m>>2]|0,2,1,0)|0;if(!(c[j>>2]|0)){l=k;return}n=(c[j>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[i>>0]|0);l=k;return}function YA(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(bh(c[e>>2]|0,32553)|0)){c[d>>2]=1;break}if(!(bh(c[e>>2]|0,31045)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);l=g;return c[d>>2]|0}function ZA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=_A(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function _A(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){a=c[e>>2]|0;a=r0(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;b=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;b=n0(a|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;c[e>>2]=b}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=Dl(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;l=g;return f|0}function $A(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){l=g;return}b=f;d=c[b+4>>2]|0;f=(c[e>>2]|0)+16|0;c[f>>2]=c[b>>2];c[f+4>>2]=d;l=g;return}function aB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){a=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){a=6;break}if(!(bh(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){a=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((a|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;l=h;return g|0}else if((a|0)==8){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}return 0}function bB(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=cB(c[a+216>>2]|0)|0;l=b;return d|0}else{d=c[a+68>>2]|0;l=b;return d|0}return 0}function cB(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+8>>2]|0}function dB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+80|0;n=o+8|0;m=o;g=o+44|0;p=o+40|0;h=o+36|0;i=o+32|0;j=o+28|0;k=o+24|0;f=o+48|0;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[m>>2]=c[j>>2];ef(24,f,33757,m)|0;if(gv(c[c[g>>2]>>2]|0,f,c[k>>2]|0)|0){p=c[g>>2]|0;d=c[h>>2]|0;e=c[i>>2]|0;c[n>>2]=c[k>>2];c[n+4>>2]=f;c[n+8>>2]=d;c[n+12>>2]=e;Ku(p,30232,n)}c[j>>2]=(c[j>>2]|0)+1}l=o;return}function eB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=l;l=l+48|0;h=e;g=e+36|0;i=e+32|0;k=e+28|0;j=e+24|0;f=e+20|0;c[g>>2]=a;c[i>>2]=b;c[k>>2]=d;c[j>>2]=Lu(c[g>>2]|0)|0;c[f>>2]=Ov(c[g>>2]|0)|0;Ru(c[j>>2]|0,130,c[i>>2]|0,c[f>>2]|0,c[k>>2]|0)|0;gw(c[g>>2]|0);d=c[g>>2]|0;j=(c[k>>2]|0)==1?26433:26452;i=c[i>>2]|0;a=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[h+4>>2]=j;c[h+8>>2]=i;c[h+12>>2]=a;c[h+16>>2]=b;Ku(d,33701,h);Qv(c[g>>2]|0,c[f>>2]|0);l=e;return}function fB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[g>>2]=f;c[i>>2]=c[c[q>>2]>>2];do if(!(c[i>>2]&(c[i>>2]|0)-1)){c[j>>2]=(c[i>>2]|0)==0?1:c[i>>2]<<1;f=S(c[j>>2]|0,c[p>>2]|0)|0;c[k>>2]=de(c[n>>2]|0,c[o>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[k>>2]|0){c[o>>2]=c[k>>2];break}c[c[g>>2]>>2]=-1;c[m>>2]=c[o>>2];q=c[m>>2]|0;l=r;return q|0}while(0);c[h>>2]=c[o>>2];n=(c[h>>2]|0)+(S(c[i>>2]|0,c[p>>2]|0)|0)|0;m0(n|0,0,c[p>>2]|0)|0;c[c[g>>2]>>2]=c[i>>2];q=c[q>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[m>>2]=c[o>>2];q=c[m>>2]|0;l=r;return q|0}function gB(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[h>>2]=0;c[i>>2]=0;if(c[(c[c[k>>2]>>2]|0)+24>>2]&16777216|0)c[i>>2]=Sv(c[k>>2]|0,c[m>>2]|0)|0;c[j>>2]=c[i>>2];while(1){if(!(c[j>>2]|0))break;if((d[(c[j>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?oE(c[(c[j>>2]|0)+16>>2]|0,c[o>>2]|0)|0:0)c[h>>2]=c[h>>2]|(d[(c[j>>2]|0)+9>>0]|0);c[j>>2]=c[(c[j>>2]|0)+32>>2]}if(!(c[p>>2]|0)){o=c[h>>2]|0;o=(o|0)!=0;p=c[i>>2]|0;p=o?p:0;l=q;return p|0}c[c[p>>2]>>2]=c[h>>2];o=c[h>>2]|0;o=(o|0)!=0;p=c[i>>2]|0;p=o?p:0;l=q;return p|0}function hB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;k=n+8|0;j=n;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;if(!((d[(c[h>>2]|0)+42>>0]|0)&16|0?!(c[(c[c[(fw(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0):0))m=3;do if((m|0)==3){if(((d[(c[h>>2]|0)+42>>0]|0)&1|0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[i>>2]|0)==0?c[(c[h>>2]|0)+12>>2]|0:0){m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];sl(m,34685,k);c[f>>2]=1;m=c[f>>2]|0;l=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}while(0);m=c[g>>2]|0;c[j>>2]=c[c[h>>2]>>2];sl(m,34656,j);c[f>>2]=1;m=c[f>>2]|0;l=n;return m|0}function iB(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-17|16;l=d;return}function jB(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+128|0;L=O+108|0;M=O+104|0;N=O+100|0;n=O+96|0;t=O+92|0;u=O+88|0;v=O+84|0;k=O+80|0;w=O+76|0;x=O+72|0;y=O+68|0;m=O+64|0;z=O+60|0;A=O+56|0;B=O+52|0;C=O+48|0;D=O+44|0;r=O+40|0;E=O+36|0;F=O+32|0;G=O+28|0;s=O+24|0;q=O+20|0;H=O+16|0;I=O+12|0;o=O+8|0;p=O+4|0;J=O+112|0;K=O;c[M>>2]=f;c[N>>2]=g;c[n>>2]=h;c[t>>2]=i;c[u>>2]=j;c[v>>2]=c[c[M>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[q>>2]=0;if(!(c[n>>2]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((c[(c[M>>2]|0)+472>>2]|0)==0?(c[(c[n>>2]|0)+64>>2]|0)==0:0){if(Sv(c[M>>2]|0,c[N>>2]|0)|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(d[(c[N>>2]|0)+42>>0]&16|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((c[t>>2]|0)==10){if((b[(c[N>>2]|0)+32>>1]|0)>=0)c[t>>2]=d[(c[N>>2]|0)+43>>0];if((c[t>>2]|0)==10)c[t>>2]=2}if((c[c[(c[n>>2]|0)+28>>2]>>2]|0)!=1){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[(c[n>>2]|0)+28>>2]|0)+8+20>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+32>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+44>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+36>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+56>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+48>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+8>>2]&1|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}c[k>>2]=c[c[n>>2]>>2];if((c[c[k>>2]>>2]|0)!=1){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((d[c[c[(c[k>>2]|0)+4>>2]>>2]>>0]|0)!=160){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}c[m>>2]=(c[(c[n>>2]|0)+28>>2]|0)+8;c[w>>2]=av(c[M>>2]|0,0,c[m>>2]|0)|0;if(!(c[w>>2]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((c[w>>2]|0)==(c[N>>2]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(((d[(c[N>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[w>>2]|0)+12>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((b[(c[N>>2]|0)+34>>1]|0)!=(b[(c[w>>2]|0)+34>>1]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((b[(c[N>>2]|0)+32>>1]|0)!=(b[(c[w>>2]|0)+32>>1]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}c[z>>2]=0;a:while(1){g=c[N>>2]|0;if((c[z>>2]|0)>=(b[(c[N>>2]|0)+34>>1]|0)){f=64;break}c[o>>2]=(c[g+4>>2]|0)+(c[z>>2]<<4);c[p>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(c[z>>2]<<4);if((a[(c[o>>2]|0)+13>>0]|0)!=(a[(c[p>>2]|0)+13>>0]|0)){f=52;break}if(kl(c[(c[o>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){f=54;break}if(d[(c[o>>2]|0)+12>>0]|0?(a[(c[p>>2]|0)+12>>0]|0)==0:0){f=57;break}do if((c[z>>2]|0)>0){if(((c[(c[o>>2]|0)+4>>2]|0)==0|0)!=((c[(c[p>>2]|0)+4>>2]|0)==0|0)){f=62;break a}if(!(c[(c[o>>2]|0)+4>>2]|0))break;if(G_(c[(c[(c[o>>2]|0)+4>>2]|0)+8>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+8>>2]|0)|0){f=62;break a}}while(0);c[z>>2]=(c[z>>2]|0)+1}if((f|0)==52){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else if((f|0)==54){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else if((f|0)==57){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else if((f|0)==62){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else if((f|0)==64){c[y>>2]=c[g+8>>2];while(1){if(!(c[y>>2]|0))break;if(d[(c[y>>2]|0)+54>>0]|0)c[q>>2]=1;c[x>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;if(qE(c[y>>2]|0,c[x>>2]|0)|0)break;c[x>>2]=c[(c[x>>2]|0)+20>>2]}if(!(c[x>>2]|0)){f=73;break}c[y>>2]=c[(c[y>>2]|0)+20>>2]}if((f|0)==73){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}do if(c[(c[N>>2]|0)+24>>2]|0){if(!(Zw(c[(c[w>>2]|0)+24>>2]|0,c[(c[N>>2]|0)+24>>2]|0,-1)|0))break;c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}while(0);do if(c[(c[v>>2]|0)+24>>2]&524288|0){if(!(c[(c[N>>2]|0)+16>>2]|0))break;c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}while(0);if(c[(c[v>>2]|0)+24>>2]&128|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}c[A>>2]=Hu(c[v>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;c[G>>2]=Lu(c[M>>2]|0)|0;dv(c[M>>2]|0,c[A>>2]|0);p=(c[M>>2]|0)+40|0;o=c[p>>2]|0;c[p>>2]=o+1;c[B>>2]=o;o=(c[M>>2]|0)+40|0;p=c[o>>2]|0;c[o>>2]=p+1;c[C>>2]=p;c[s>>2]=kB(c[M>>2]|0,c[u>>2]|0,c[N>>2]|0)|0;c[H>>2]=Ov(c[M>>2]|0)|0;c[I>>2]=Ov(c[M>>2]|0)|0;hy(c[M>>2]|0,c[C>>2]|0,c[u>>2]|0,c[N>>2]|0,105);do if(!(c[(c[v>>2]|0)+24>>2]&268435456)){if((b[(c[N>>2]|0)+32>>1]|0)<0){if(!(c[q>>2]|0?1:(c[(c[N>>2]|0)+8>>2]|0)!=0))f=87}else if(!(c[q>>2]|0))f=87;if((f|0)==87?!((c[t>>2]|0)!=2&(c[t>>2]|0)!=1):0)break;c[D>>2]=Qu(c[G>>2]|0,57,c[C>>2]|0,0)|0;c[E>>2]=Nu(c[G>>2]|0,13)|0;ny(c[G>>2]|0,c[D>>2]|0)}while(0);f=c[M>>2]|0;if(!(d[(c[w>>2]|0)+42>>0]&32)){hy(f,c[B>>2]|0,c[A>>2]|0,c[w>>2]|0,104);c[F>>2]=Qu(c[G>>2]|0,57,c[B>>2]|0,0)|0;do if((b[(c[N>>2]|0)+32>>1]|0)<0){f=c[G>>2]|0;if(!(c[(c[N>>2]|0)+8>>2]|0)){c[D>>2]=Qu(f,114,c[C>>2]|0,c[I>>2]|0)|0;break}else{c[D>>2]=Qu(f,123,c[B>>2]|0,c[I>>2]|0)|0;break}}else{c[D>>2]=Qu(c[G>>2]|0,123,c[B>>2]|0,c[I>>2]|0)|0;c[r>>2]=Ru(c[G>>2]|0,33,c[C>>2]|0,0,c[I>>2]|0)|0;yD(c[M>>2]|0,c[t>>2]|0,c[N>>2]|0);ny(c[G>>2]|0,c[r>>2]|0);qB(c[M>>2]|0,c[s>>2]|0,c[I>>2]|0)}while(0);Qu(c[G>>2]|0,122,c[B>>2]|0,c[H>>2]|0)|0;Uu(c[G>>2]|0,115,c[C>>2]|0,c[H>>2]|0,c[I>>2]|0,c[N>>2]|0,-20)|0;jy(c[G>>2]|0,11);Qu(c[G>>2]|0,7,c[B>>2]|0,c[D>>2]|0)|0;Qu(c[G>>2]|0,111,c[B>>2]|0,0)|0;Qu(c[G>>2]|0,111,c[C>>2]|0,0)|0}else{gy(f,c[u>>2]|0,c[(c[N>>2]|0)+28>>2]|0,1,c[c[N>>2]>>2]|0);gy(c[M>>2]|0,c[A>>2]|0,c[(c[w>>2]|0)+28>>2]|0,0,c[c[w>>2]>>2]|0)}c[y>>2]=c[(c[N>>2]|0)+8>>2];while(1){if(!(c[y>>2]|0))break;a[J>>0]=0;c[x>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;if(qE(c[y>>2]|0,c[x>>2]|0)|0)break;c[x>>2]=c[(c[x>>2]|0)+20>>2]}Ru(c[G>>2]|0,104,c[B>>2]|0,c[(c[x>>2]|0)+44>>2]|0,c[A>>2]|0)|0;iy(c[M>>2]|0,c[x>>2]|0);Ru(c[G>>2]|0,105,c[C>>2]|0,c[(c[y>>2]|0)+44>>2]|0,c[u>>2]|0)|0;iy(c[M>>2]|0,c[y>>2]|0);jy(c[G>>2]|0,1);c[D>>2]=Qu(c[G>>2]|0,57,c[B>>2]|0,0)|0;Qu(c[G>>2]|0,121,c[B>>2]|0,c[H>>2]|0)|0;do if(c[(c[v>>2]|0)+24>>2]&268435456|0){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(e[(c[x>>2]|0)+52>>1]|0))break;c[K>>2]=c[(c[(c[x>>2]|0)+32>>2]|0)+(c[z>>2]<<2)>>2];if(kl(34455,c[K>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+1}if((c[z>>2]|0)!=(e[(c[x>>2]|0)+52>>1]|0))break;a[J>>0]=16;Ru(c[G>>2]|0,53,c[C>>2]|0,0,-1)|0}while(0);do if(d[(c[w>>2]|0)+42>>0]&32|0){if((a[(c[y>>2]|0)+55>>0]&3|0)!=2)break;a[J>>0]=d[J>>0]|1}while(0);Ru(c[G>>2]|0,126,c[C>>2]|0,c[H>>2]|0,1)|0;jy(c[G>>2]|0,a[J>>0]|0);Qu(c[G>>2]|0,7,c[B>>2]|0,(c[D>>2]|0)+1|0)|0;ny(c[G>>2]|0,c[D>>2]|0);Qu(c[G>>2]|0,111,c[B>>2]|0,0)|0;Qu(c[G>>2]|0,111,c[C>>2]|0,0)|0;c[y>>2]=c[(c[y>>2]|0)+20>>2]}if(c[F>>2]|0)ny(c[G>>2]|0,c[F>>2]|0);Qv(c[M>>2]|0,c[I>>2]|0);Qv(c[M>>2]|0,c[H>>2]|0);if(c[E>>2]|0){wB(c[M>>2]|0);Qu(c[G>>2]|0,75,0,0)|0;ny(c[G>>2]|0,c[E>>2]|0);Qu(c[G>>2]|0,111,c[C>>2]|0,0)|0;c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else{c[L>>2]=1;N=c[L>>2]|0;l=O;return N|0}}}c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}function kB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[j>>2]=0;if((d[(c[i>>2]|0)+42>>0]|0)&8|0?(c[(c[c[g>>2]>>2]|0)+24>>2]&268435456|0)==0:0){a=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[k>>2]=a;c[m>>2]=c[(c[k>>2]|0)+120>>2];while(1){if(c[m>>2]|0)b=(c[(c[m>>2]|0)+4>>2]|0)!=(c[i>>2]|0);else b=0;a=c[m>>2]|0;if(!b)break;c[m>>2]=c[a>>2]}do if(!a){c[m>>2]=Ed(c[c[g>>2]>>2]|0,16,0)|0;if(c[m>>2]|0){c[c[m>>2]>>2]=c[(c[k>>2]|0)+120>>2];c[(c[k>>2]|0)+120>>2]=c[m>>2];c[(c[m>>2]|0)+4>>2]=c[i>>2];c[(c[m>>2]|0)+8>>2]=c[h>>2];h=(c[k>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[k>>2]|0)+44|0;i=(c[h>>2]|0)+1|0;c[h>>2]=i;c[(c[m>>2]|0)+12>>2]=i;k=(c[k>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}while(0);c[j>>2]=c[(c[m>>2]|0)+12>>2]}c[f>>2]=c[j>>2];m=c[f>>2]|0;l=n;return m|0}function lB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;ey(c[f>>2]|0,73,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+12>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+12>>2]|0)+28>>2]=0;l=e;return}function mB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+40|0;f=r+36|0;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[f>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=Lu(c[f>>2]|0)|0;c[p>>2]=Pv(c[n>>2]|0)|0;if((d[(c[m>>2]|0)+42>>0]|0)&16|0)a=fw(c[c[f>>2]>>2]|0,c[m>>2]|0)|0;else a=0;c[g>>2]=a;c[o>>2]=1;a:while(1){if((c[o>>2]|0)>=(c[p>>2]|0)){a=18;break}c[h>>2]=uy(c[n>>2]|0,c[o>>2]|0)|0;b:do if((d[c[h>>2]>>0]|0|0)==104?(c[(c[h>>2]|0)+12>>2]|0)==(c[k>>2]|0):0){c[j>>2]=c[(c[h>>2]|0)+8>>2];if((c[j>>2]|0)==(c[(c[m>>2]|0)+28>>2]|0)){a=8;break a}c[i>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[i>>2]|0))break b;if((c[j>>2]|0)==(c[(c[i>>2]|0)+44>>2]|0)){a=12;break a}c[i>>2]=c[(c[i>>2]|0)+20>>2]}}while(0);if((d[c[h>>2]>>0]|0|0)==155?(c[(c[h>>2]|0)+16>>2]|0)==(c[g>>2]|0):0){a=16;break}c[o>>2]=(c[o>>2]|0)+1}if((a|0)==8){c[q>>2]=1;q=c[q>>2]|0;l=r;return q|0}else if((a|0)==12){c[q>>2]=1;q=c[q>>2]|0;l=r;return q|0}else if((a|0)==16){c[q>>2]=1;q=c[q>>2]|0;l=r;return q|0}else if((a|0)==18){c[q>>2]=0;q=c[q>>2]|0;l=r;return q|0}return 0}function nB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;j=e+16|0;g=e+12|0;h=e+8|0;i=e+4|0;f=e;c[j>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=c[(c[j>>2]|0)+8>>2];Wy(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);b=(c[j>>2]|0)+44|0;d=(c[b>>2]|0)+1|0;c[b>>2]=d;c[f>>2]=d;Qu(c[i>>2]|0,84,c[h>>2]|0,c[f>>2]|0)|0;mz(c[g>>2]|0,c[f>>2]|0);l=e;return}function oB(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;i=n;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[i>>2]=Gs(c[g>>2]|0)|0;f=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=Cd(0,f,((f|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){Od(c[i>>2]|0);l=n;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+13>>0]|0;c[k>>2]=(c[k>>2]|0)+1}do{f=c[m>>2]|0;i=c[k>>2]|0;c[k>>2]=i+-1;a[f+i>>0]=0;if((c[k>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[k>>2]=md(c[m>>2]|0)|0;if(!(c[k>>2]|0)){l=n;return}d=c[g>>2]|0;if(c[j>>2]|0){Uu(d,98,c[j>>2]|0,c[k>>2]|0,0,c[m>>2]|0,c[k>>2]|0)|0;l=n;return}else{Vu(d,-1,c[m>>2]|0,c[k>>2]|0);l=n;return}}function pB(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;u=v+36|0;w=v+32|0;m=v+28|0;n=v+24|0;o=v+20|0;p=v+16|0;q=v+12|0;r=v+8|0;s=v+4|0;t=v;c[u>>2]=a;c[w>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;c[t>>2]=c[w>>2];while(1){if(!(c[t>>2]|0))break;if(((d[(c[t>>2]|0)+8>>0]|0|0)==(c[m>>2]|0)?(d[(c[t>>2]|0)+9>>0]|0|0)==(c[o>>2]|0):0)?oE(c[(c[t>>2]|0)+16>>2]|0,c[n>>2]|0)|0:0)HD(c[u>>2]|0,c[t>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0);c[t>>2]=c[(c[t>>2]|0)+32>>2]}l=v;return}function qB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){l=h;return}Qu(c[(c[e>>2]|0)+8>>2]|0,145,c[f>>2]|0,c[g>>2]|0)|0;l=h;return}function rB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if(d[(c[f>>2]|0)+23>>0]|0|0?ez(c[g>>2]|0)|0:0){Bz(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);l=i;return}Wy(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);l=i;return}function sB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[d>>2]=b;a=c[k>>2]|0;if(c[(c[k>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[e>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+412>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[e>>2]|0)+460>>2]|0)+(c[f>>2]<<2)>>2]|0)){i=10;break}c[f>>2]=(c[f>>2]|0)+1}if((i|0)==10){l=j;return}c[g>>2]=(c[(c[e>>2]|0)+412>>2]|0)+1<<2;k=c[g>>2]|0;c[h>>2]=ee(c[(c[e>>2]|0)+460>>2]|0,k,((k|0)<0)<<31>>31)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+460>>2]=c[h>>2];h=c[d>>2]|0;i=c[(c[e>>2]|0)+460>>2]|0;g=(c[e>>2]|0)+412|0;k=c[g>>2]|0;c[g>>2]=k+1;c[i+(k<<2)>>2]=h;l=j;return}else{Od(c[c[e>>2]>>2]|0);l=j;return}}function tB(f,g,h,i,j,k,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=l;l=l+192|0;C=na;E=na+176|0;F=na+172|0;G=na+168|0;H=na+164|0;I=na+160|0;J=na+156|0;K=na+152|0;L=na+183|0;M=na+182|0;N=na+148|0;O=na+144|0;s=na+140|0;P=na+136|0;Q=na+132|0;R=na+128|0;S=na+124|0;T=na+120|0;U=na+116|0;t=na+112|0;V=na+108|0;u=na+104|0;W=na+100|0;X=na+96|0;Y=na+92|0;Z=na+88|0;_=na+181|0;$=na+180|0;aa=na+84|0;v=na+80|0;w=na+76|0;x=na+72|0;y=na+68|0;z=na+64|0;A=na+60|0;B=na+56|0;ba=na+52|0;ca=na+48|0;da=na+44|0;ea=na+40|0;fa=na+36|0;ga=na+32|0;ha=na+28|0;ia=na+24|0;ja=na+20|0;ka=na+16|0;la=na+12|0;ma=na+8|0;c[E>>2]=f;c[F>>2]=g;c[G>>2]=h;c[H>>2]=i;c[I>>2]=j;c[J>>2]=k;c[K>>2]=m;a[L>>0]=n;a[M>>0]=o;c[N>>2]=p;c[O>>2]=q;c[s>>2]=r;c[R>>2]=0;c[W>>2]=0;c[Y>>2]=0;c[Z>>2]=0;a[$>>0]=0;c[aa>>2]=-1;a[_>>0]=(c[K>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[P>>2]=Lu(c[E>>2]|0)|0;c[t>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[R>>2]=0;c[X>>2]=1}else{c[R>>2]=uv(c[F>>2]|0)|0;c[X>>2]=e[(c[R>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[t>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if(c[s>>2]|0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[V>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+12>>0];if(c[V>>2]|0){if((d[M>>0]|0)==10){if((c[V>>2]|0)==10)c[V>>2]=2}else c[V>>2]=d[M>>0];if((c[V>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0)==0:0)c[V>>2]=2;switch(c[V>>2]|0){case 2:{gw(c[E>>2]|0);break}case 3:case 1:break;case 4:{Qu(c[P>>2]|0,34,(c[J>>2]|0)+1+(c[T>>2]|0)|0,c[N>>2]|0)|0;break a}default:{c[u>>2]=ey(c[P>>2]|0,35,(c[J>>2]|0)+1+(c[T>>2]|0)|0)|0;Wy(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[J>>2]|0)+1+(c[T>>2]|0)|0);ny(c[P>>2]|0,c[u>>2]|0);break a}}p=c[S>>2]|0;o=c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)>>2]|0;c[C>>2]=c[c[F>>2]>>2];c[C+4>>2]=o;c[v>>2]=Wj(p,29580,C)|0;Uu(c[P>>2]|0,74,1299,c[V>>2]|0,(c[J>>2]|0)+1+(c[T>>2]|0)|0,c[v>>2]|0,-1)|0;jy(c[P>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if(c[(c[F>>2]|0)+24>>2]|0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[w>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+56>>2]=(c[J>>2]|0)+1;c[V>>2]=(d[M>>0]|0)!=10?d[M>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[w>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!(c[s>>2]|0?(xD(c[y>>2]|0,c[s>>2]|0,d[L>>0]|0)|0)!=0:0)){c[x>>2]=ky(c[P>>2]|0)|0;oz(c[E>>2]|0,c[y>>2]|0,c[x>>2]|0,16);if((c[V>>2]|0)==4)my(c[P>>2]|0,c[N>>2]|0)|0;else{c[z>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[z>>2]|0))c[z>>2]=c[c[F>>2]>>2];if((c[V>>2]|0)==5)c[V>>2]=2;Hy(c[E>>2]|0,275,c[V>>2]|0,c[z>>2]|0,0,3)}oy(c[P>>2]|0,c[x>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[L>>0]|0)!=0&(c[R>>2]|0)==0){c[A>>2]=ky(c[P>>2]|0)|0;c[V>>2]=d[(c[F>>2]|0)+43>>0];if((d[M>>0]|0)==10){if((c[V>>2]|0)==10)c[V>>2]=2}else c[V>>2]=d[M>>0];if(a[_>>0]|0){Ru(c[P>>2]|0,37,c[J>>2]|0,c[A>>2]|0,c[K>>2]|0)|0;jy(c[P>>2]|0,-112)}c:do if((c[V>>2]|0)==5?(d[M>>0]|0)!=5:0){c[Q>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[Q>>2]|0))break c;if((d[(c[Q>>2]|0)+54>>0]|0)==4)break;if((d[(c[Q>>2]|0)+54>>0]|0)==3)break;c[Q>>2]=c[(c[Q>>2]|0)+20>>2]}c[Y>>2]=Nu(c[P>>2]|0,13)|0}while(0);Ru(c[P>>2]|0,33,c[H>>2]|0,c[A>>2]|0,c[J>>2]|0)|0;switch(c[V>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[B>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144|0)c[B>>2]=gB(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if(!(c[B>>2]|0)?!(zD(c[E>>2]|0,c[F>>2]|0,0,0)|0):0){if(c[(c[F>>2]|0)+8>>2]|0){AD(c[E>>2]|0);CD(c[E>>2]|0,c[F>>2]|0,c[H>>2]|0,c[I>>2]|0,0,-1)}}else{AD(c[E>>2]|0);BD(c[E>>2]|0,c[F>>2]|0,c[B>>2]|0,c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,1,0,5,1,-1)}c[W>>2]=1;break}case 4:{my(c[P>>2]|0,c[N>>2]|0)|0;break}default:{c[V>>2]=2;D=55}}if((D|0)==55)yD(c[E>>2]|0,c[V>>2]|0,c[F>>2]|0);oy(c[P>>2]|0,c[A>>2]|0);if(c[Y>>2]|0){c[Z>>2]=Nu(c[P>>2]|0,13)|0;ny(c[P>>2]|0,c[Y>>2]|0)}}c[U>>2]=0;c[Q>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[Q>>2]|0))break;do if(c[(c[G>>2]|0)+(c[U>>2]<<2)>>2]|0){if(!(d[$>>0]|0)){oB(c[P>>2]|0,c[F>>2]|0,(c[J>>2]|0)+1|0);a[$>>0]=1}c[da>>2]=(c[I>>2]|0)+(c[U>>2]|0);c[ea>>2]=ky(c[P>>2]|0)|0;if(c[(c[Q>>2]|0)+36>>2]|0){Qu(c[P>>2]|0,79,0,c[(c[G>>2]|0)+(c[U>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+56>>2]=(c[J>>2]|0)+1;Ly(c[E>>2]|0,c[(c[Q>>2]|0)+36>>2]|0,c[ea>>2]|0,16);c[(c[E>>2]|0)+56>>2]=0}c[ba>>2]=My(c[E>>2]|0,e[(c[Q>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[Q>>2]|0)+52>>1]|0))break;c[fa>>2]=b[(c[(c[Q>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[fa>>2]|0)==-2){c[(c[E>>2]|0)+56>>2]=(c[J>>2]|0)+1;Sy(c[E>>2]|0,c[(c[(c[(c[Q>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ba>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+56>>2]=0}else{if((c[fa>>2]|0)!=-1?(c[fa>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[ga>>2]=(c[fa>>2]|0)+(c[J>>2]|0)+1;else{if((c[aa>>2]|0)==((c[ba>>2]|0)+(c[T>>2]|0)|0))break;c[ga>>2]=c[J>>2];if(c[(c[Q>>2]|0)+36>>2]|0)f=-1;else f=(c[ba>>2]|0)+(c[T>>2]|0)|0;c[aa>>2]=f}Qu(c[P>>2]|0,(c[fa>>2]|0)<0?86:85,c[ga>>2]|0,(c[ba>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}Ru(c[P>>2]|0,99,c[ba>>2]|0,e[(c[Q>>2]|0)+52>>1]|0,c[(c[G>>2]|0)+(c[U>>2]<<2)>>2]|0)|0;$y(c[E>>2]|0,c[ba>>2]|0,e[(c[Q>>2]|0)+52>>1]|0);if((d[_>>0]|0?(c[R>>2]|0)==(c[Q>>2]|0):0)?(d[L>>0]|0)==0:0){oy(c[P>>2]|0,c[ea>>2]|0);break}c[V>>2]=d[(c[Q>>2]|0)+54>>0];if(!(c[V>>2]|0)){Py(c[E>>2]|0,c[ba>>2]|0,e[(c[Q>>2]|0)+52>>1]|0);oy(c[P>>2]|0,c[ea>>2]|0);break}if((d[M>>0]|0)==10){if((c[V>>2]|0)==10)c[V>>2]=2}else c[V>>2]=d[M>>0];zy(c[P>>2]|0,29,c[da>>2]|0,c[ea>>2]|0,c[ba>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0;if((c[Q>>2]|0)==(c[R>>2]|0))f=c[ba>>2]|0;else f=My(c[E>>2]|0,c[X>>2]|0)|0;c[ca>>2]=f;d:do if((d[_>>0]|0)!=0|(c[V>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){Qu(c[P>>2]|0,129,c[da>>2]|0,c[ca>>2]|0)|0;if(!(a[_>>0]|0))break;Ru(c[P>>2]|0,37,c[ca>>2]|0,c[ea>>2]|0,c[K>>2]|0)|0;jy(c[P>>2]|0,-112);break}e:do if((c[Q>>2]|0)!=(c[R>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[R>>2]|0)+50>>1]|0))break e;c[ha>>2]=(Uy(c[Q>>2]|0,b[(c[(c[R>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;Ru(c[P>>2]|0,96,c[da>>2]|0,c[ha>>2]|0,(c[ca>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[_>>0]|0){D=Pv(c[P>>2]|0)|0;c[ia>>2]=D+(e[(c[R>>2]|0)+50>>1]|0);c[ja>>2]=36;c[ka>>2]=(a[(c[Q>>2]|0)+55>>0]&3|0)==2?c[ba>>2]|0:c[ca>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[R>>2]|0)+50>>1]|0))break d;c[la>>2]=ly(c[E>>2]|0,c[(c[(c[R>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ha>>2]=b[(c[(c[R>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[R>>2]|0)+50>>1]|0)-1|0)){c[ia>>2]=c[ea>>2];c[ja>>2]=37}Uu(c[P>>2]|0,c[ja>>2]|0,(c[K>>2]|0)+1+(c[ha>>2]|0)|0,c[ia>>2]|0,(c[ka>>2]|0)+(c[T>>2]|0)|0,c[la>>2]|0,-4)|0;jy(c[P>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[V>>2]|0){case 3:case 2:case 1:{Gy(c[E>>2]|0,c[V>>2]|0,c[Q>>2]|0);break}case 4:{my(c[P>>2]|0,c[N>>2]|0)|0;break}default:{c[ma>>2]=0;AD(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144|0)c[ma>>2]=gB(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;BD(c[E>>2]|0,c[F>>2]|0,c[ma>>2]|0,c[H>>2]|0,c[I>>2]|0,c[ca>>2]|0,c[X>>2]&65535,0,5,((c[Q>>2]|0)==(c[R>>2]|0)?1:0)&255,-1);c[W>>2]=1}}oy(c[P>>2]|0,c[ea>>2]|0);Py(c[E>>2]|0,c[ba>>2]|0,e[(c[Q>>2]|0)+52>>1]|0);if((c[ca>>2]|0)!=(c[ba>>2]|0))Py(c[E>>2]|0,c[ca>>2]|0,c[X>>2]|0)}while(0);c[Q>>2]=c[(c[Q>>2]|0)+20>>2];c[U>>2]=(c[U>>2]|0)+1}if(!(c[Y>>2]|0)){la=c[W>>2]|0;ma=c[O>>2]|0;c[ma>>2]=la;l=na;return}my(c[P>>2]|0,(c[Y>>2]|0)+1|0)|0;ny(c[P>>2]|0,c[Z>>2]|0);la=c[W>>2]|0;ma=c[O>>2]|0;c[ma>>2]=la;l=na;return}function uB(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+112|0;J=O+108|0;K=O+104|0;L=O+100|0;M=O+96|0;k=O+92|0;m=O+88|0;n=O+84|0;o=O+80|0;p=O+76|0;q=O+72|0;r=O+68|0;s=O+64|0;t=O+60|0;u=O+56|0;v=O+52|0;w=O+48|0;x=O+44|0;y=O+40|0;z=O+36|0;A=O+32|0;B=O+28|0;C=O+24|0;D=O+20|0;E=O+16|0;F=O+12|0;G=O+8|0;H=O+4|0;I=O;c[J>>2]=e;c[K>>2]=f;c[L>>2]=g;c[M>>2]=h;c[k>>2]=i;c[m>>2]=j;c[n>>2]=c[c[J>>2]>>2];c[r>>2]=d[(c[J>>2]|0)+150>>0];if(!(c[(c[n>>2]|0)+24>>2]&524288)){l=O;return}c[p>>2]=Hu(c[n>>2]|0,c[(c[K>>2]|0)+64>>2]|0)|0;c[q>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[o>>2]=c[(c[K>>2]|0)+16>>2];a:while(1){if(!(c[o>>2]|0)){N=39;break}c[t>>2]=0;c[u>>2]=0;c[y>>2]=0;if(!((c[k>>2]|0?kl(c[c[K>>2]>>2]|0,c[(c[o>>2]|0)+8>>2]|0)|0:0)?!(yB(c[K>>2]|0,c[o>>2]|0,c[k>>2]|0,c[m>>2]|0)|0):0))N=7;do if((N|0)==7){N=0;if(a[(c[J>>2]|0)+150>>0]|0)c[s>>2]=gv(c[n>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[q>>2]|0)|0;else c[s>>2]=ev(c[J>>2]|0,0,c[(c[o>>2]|0)+8>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0?(BA(c[J>>2]|0,c[s>>2]|0,c[o>>2]|0,t,u)|0)==0:0){if(c[u>>2]|0)c[v>>2]=c[u>>2];else{c[w>>2]=c[(c[o>>2]|0)+36>>2];c[v>>2]=w}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;if((c[(c[v>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[K>>2]|0)+32>>1]|0))c[(c[v>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[n>>2]|0)+296>>2]|0){if(c[t>>2]|0)e=b[(c[(c[t>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else e=b[(c[s>>2]|0)+32>>1]|0;c[D>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+(e<<16>>16<<4)>>2];c[C>>2]=yx(c[J>>2]|0,c[c[s>>2]>>2]|0,c[D>>2]|0,c[p>>2]|0)|0;c[y>>2]=(c[C>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}gy(c[J>>2]|0,c[p>>2]|0,c[(c[s>>2]|0)+28>>2]|0,0,c[c[s>>2]>>2]|0);j=(c[J>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+1;if(c[L>>2]|0)zB(c[J>>2]|0,c[p>>2]|0,c[s>>2]|0,c[t>>2]|0,c[o>>2]|0,c[v>>2]|0,c[L>>2]|0,-1,c[y>>2]|0);if(c[M>>2]|0?(AB(c[J>>2]|0,c[o>>2]|0)|0)==0:0)zB(c[J>>2]|0,c[p>>2]|0,c[s>>2]|0,c[t>>2]|0,c[o>>2]|0,c[v>>2]|0,c[M>>2]|0,1,c[y>>2]|0);Xd(c[n>>2]|0,c[u>>2]|0);break}if(!(c[r>>2]|0)){N=59;break a}if(d[(c[n>>2]|0)+69>>0]|0){N=59;break a}if(!(c[s>>2]|0)){c[z>>2]=Lu(c[J>>2]|0)|0;j=Pv(c[z>>2]|0)|0;c[A>>2]=j+(c[(c[o>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[o>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[L>>2]|0)+1;Qu(c[z>>2]|0,34,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}Qu(c[z>>2]|0,144,d[(c[o>>2]|0)+24>>0]|0,-1)|0}}while(0);c[o>>2]=c[(c[o>>2]|0)+4>>2]}if((N|0)==39){c[o>>2]=iw(c[K>>2]|0)|0;b:while(1){if(!(c[o>>2]|0)){N=59;break}c[E>>2]=0;c[G>>2]=0;if(!(c[k>>2]|0?!(BB(c[K>>2]|0,c[o>>2]|0,c[k>>2]|0,c[m>>2]|0)|0):0))N=43;do if((N|0)==43){N=0;if((((a[(c[o>>2]|0)+24>>0]|0)==0?(c[(c[n>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[J>>2]|0)+124>>2]|0)==0:0)?(a[(c[J>>2]|0)+20>>0]|0)==0:0)break;if(BA(c[J>>2]|0,c[K>>2]|0,c[o>>2]|0,E,G)|0){if(!(c[r>>2]|0)){N=59;break b}if(d[(c[n>>2]|0)+69>>0]|0){N=59;break b}else break}c[F>>2]=Lt(c[n>>2]|0,0,0,0)|0;if(c[F>>2]|0){c[H>>2]=(c[F>>2]|0)+8;c[(c[H>>2]|0)+16>>2]=c[c[o>>2]>>2];c[(c[H>>2]|0)+8>>2]=c[c[c[o>>2]>>2]>>2];C=(c[(c[H>>2]|0)+16>>2]|0)+36|0;b[C>>1]=(b[C>>1]|0)+1<<16>>16;C=(c[J>>2]|0)+40|0;D=c[C>>2]|0;c[C>>2]=D+1;c[(c[H>>2]|0)+44>>2]=D;if(c[M>>2]|0)CB(c[J>>2]|0,c[F>>2]|0,c[K>>2]|0,c[E>>2]|0,c[o>>2]|0,c[G>>2]|0,c[M>>2]|0,-1);if(c[L>>2]|0?(c[I>>2]=d[(c[o>>2]|0)+25+((c[k>>2]|0)!=0&1)>>0],CB(c[J>>2]|0,c[F>>2]|0,c[K>>2]|0,c[E>>2]|0,c[o>>2]|0,c[G>>2]|0,c[L>>2]|0,1),((c[I>>2]|0)!=9?(a[(c[o>>2]|0)+24>>0]|0)==0:0)&(c[I>>2]|0)!=7):0)gw(c[J>>2]|0);c[(c[H>>2]|0)+8>>2]=0;Rk(c[n>>2]|0,c[F>>2]|0)}Xd(c[n>>2]|0,c[G>>2]|0)}while(0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((N|0)==59){l=O;return}}else if((N|0)==59){l=O;return}}function vB(e,f,g,h,i,j,k,m,n){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+64|0;D=E+52|0;o=E+48|0;p=E+44|0;q=E+40|0;r=E+36|0;s=E+32|0;t=E+28|0;u=E+24|0;v=E+20|0;w=E+16|0;x=E+12|0;y=E+57|0;z=E+8|0;A=E+4|0;B=E;C=E+56|0;c[D>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=m;c[v>>2]=n;a[C>>0]=0;c[w>>2]=Lu(c[D>>2]|0)|0;c[B>>2]=0;c[x>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;if(c[(c[s>>2]|0)+(c[B>>2]<<2)>>2]|0){a[C>>0]=1;if(c[(c[x>>2]|0)+36>>2]|0){m=c[w>>2]|0;n=c[(c[s>>2]|0)+(c[B>>2]<<2)>>2]|0;Qu(m,34,n,(Pv(c[w>>2]|0)|0)+2|0)|0}Qu(c[w>>2]|0,126,(c[q>>2]|0)+(c[B>>2]|0)|0,c[(c[s>>2]|0)+(c[B>>2]<<2)>>2]|0)|0;a[y>>0]=0;a[y>>0]=c[v>>2]|0?16:0;if((a[(c[x>>2]|0)+55>>0]&3|0)==2?d[(c[o>>2]|0)+42>>0]&32|0:0)a[y>>0]=d[y>>0]|1;jy(c[w>>2]|0,a[y>>0]|0)}c[x>>2]=c[(c[x>>2]|0)+20>>2];c[B>>2]=(c[B>>2]|0)+1}if(d[(c[o>>2]|0)+42>>0]&32|0){l=E;return}c[z>>2]=(c[r>>2]|0)+1;c[A>>2]=Ov(c[D>>2]|0)|0;Ru(c[w>>2]|0,99,c[z>>2]|0,b[(c[o>>2]|0)+34>>1]|0,c[A>>2]|0)|0;if(!(a[C>>0]|0))oB(c[w>>2]|0,c[o>>2]|0,0);$y(c[D>>2]|0,c[z>>2]|0,b[(c[o>>2]|0)+34>>1]|0);if(a[(c[D>>2]|0)+18>>0]|0)a[y>>0]=0;else{a[y>>0]=1;a[y>>0]=d[y>>0]|(c[t>>2]|0?4:2)}if(c[u>>2]|0)a[y>>0]=d[y>>0]|8;if(c[v>>2]|0)a[y>>0]=d[y>>0]|16;Ru(c[w>>2]|0,115,c[p>>2]|0,c[A>>2]|0,c[r>>2]|0)|0;if(!(a[(c[D>>2]|0)+18>>0]|0))Vu(c[w>>2]|0,-1,c[o>>2]|0,-20);jy(c[w>>2]|0,a[y>>0]|0);l=E;return}function wB(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+120>>2]|0)){l=d;return}xB(c[b>>2]|0);l=d;return}function xB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];c[g>>2]=c[c[d>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[e>>2]|0)){b=5;break}c[i>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[e>>2]|0)+8>>2]<<4);c[k>>2]=c[(c[e>>2]|0)+12>>2];c[j>>2]=Ov(c[d>>2]|0)|0;hy(c[d>>2]|0,0,c[(c[e>>2]|0)+8>>2]|0,c[(c[(c[i>>2]|0)+12>>2]|0)+72>>2]|0,105);c[h>>2]=mA(c[f>>2]|0,5,34e3,0)|0;if(!(c[h>>2]|0)){b=5;break}c[(c[h>>2]|0)+4>>2]=(c[k>>2]|0)+1;c[(c[h>>2]|0)+20+8>>2]=(c[k>>2]|0)+1;c[(c[h>>2]|0)+40+4>>2]=(c[k>>2]|0)-1;c[(c[h>>2]|0)+40+12>>2]=c[j>>2];c[(c[h>>2]|0)+60+8>>2]=c[j>>2];c[(c[h>>2]|0)+60+12>>2]=(c[k>>2]|0)+1;a[(c[h>>2]|0)+60+3>>0]=8;Qv(c[d>>2]|0,c[j>>2]|0);c[e>>2]=c[c[e>>2]>>2]}if((b|0)==5){l=m;return}}function yB(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;g=o;c[h>>2]=a;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[i>>2]|0)+20>>2]|0)){a=8;break}c[g>>2]=c[(c[i>>2]|0)+36+(c[m>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[g>>2]<<2)>>2]|0)>=0){a=4;break}if(c[k>>2]|0?(c[g>>2]|0)==(b[(c[h>>2]|0)+32>>1]|0):0){a=6;break}c[m>>2]=(c[m>>2]|0)+1}if((a|0)==4){c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else if((a|0)==6){c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else if((a|0)==8){c[n>>2]=0;n=c[n>>2]|0;l=o;return n|0}return 0}function zB(e,f,g,h,i,j,k,m,n){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+96|0;J=K+84|0;o=K+80|0;p=K+76|0;q=K+72|0;r=K+68|0;s=K+64|0;t=K+60|0;u=K+56|0;v=K+52|0;w=K+48|0;x=K+44|0;y=K+40|0;z=K+36|0;A=K+32|0;B=K+28|0;C=K+24|0;D=K+20|0;E=K+16|0;F=K+12|0;G=K+8|0;H=K+4|0;I=K;c[J>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=m;c[v>>2]=n;c[x>>2]=Lu(c[J>>2]|0)|0;c[y>>2]=(c[(c[J>>2]|0)+40>>2]|0)-1;c[z>>2]=ky(c[x>>2]|0)|0;if((c[u>>2]|0)<0)Qu(c[x>>2]|0,65,d[(c[r>>2]|0)+24>>0]|0,c[z>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;c[A>>2]=(c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0)+(c[t>>2]|0)+1;Qu(c[x>>2]|0,34,c[A>>2]|0,c[z>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}do if(!(c[v>>2]|0)){if(!(c[q>>2]|0)){c[C>>2]=Ov(c[J>>2]|0)|0;Qu(c[x>>2]|0,85,(c[c[s>>2]>>2]|0)+1+(c[t>>2]|0)|0,c[C>>2]|0)|0;c[B>>2]=Qu(c[x>>2]|0,17,c[C>>2]|0,0)|0;if((c[u>>2]|0)==1?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){Ru(c[x>>2]|0,37,c[t>>2]|0,c[z>>2]|0,c[C>>2]|0)|0;jy(c[x>>2]|0,-112)}hy(c[J>>2]|0,c[y>>2]|0,c[o>>2]|0,c[p>>2]|0,104);Ru(c[x>>2]|0,33,c[y>>2]|0,0,c[C>>2]|0)|0;my(c[x>>2]|0,c[z>>2]|0)|0;n=c[x>>2]|0;ny(n,(Pv(c[x>>2]|0)|0)-2|0);ny(c[x>>2]|0,c[B>>2]|0);Qv(c[J>>2]|0,c[C>>2]|0);break}c[D>>2]=c[(c[r>>2]|0)+20>>2];c[E>>2]=My(c[J>>2]|0,c[D>>2]|0)|0;c[F>>2]=Ov(c[J>>2]|0)|0;Ru(c[x>>2]|0,104,c[y>>2]|0,c[(c[q>>2]|0)+44>>2]|0,c[o>>2]|0)|0;iy(c[J>>2]|0,c[q>>2]|0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[D>>2]|0))break;Qu(c[x>>2]|0,84,(c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0)+1+(c[t>>2]|0)|0,(c[E>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)==1?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){n=Pv(c[x>>2]|0)|0;c[G>>2]=n+(c[D>>2]|0)+1;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[D>>2]|0))break;c[H>>2]=(c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0)+1+(c[t>>2]|0);c[I>>2]=(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)+1+(c[t>>2]|0);if((b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)==(b[(c[p>>2]|0)+32>>1]|0))c[I>>2]=c[t>>2];Ru(c[x>>2]|0,36,c[H>>2]|0,c[G>>2]|0,c[I>>2]|0)|0;jy(c[x>>2]|0,16);c[w>>2]=(c[w>>2]|0)+1}my(c[x>>2]|0,c[z>>2]|0)|0}i=c[x>>2]|0;j=c[E>>2]|0;k=c[D>>2]|0;m=c[F>>2]|0;n=CA(c[c[J>>2]>>2]|0,c[q>>2]|0)|0;Uu(i,99,j,k,m,n,c[D>>2]|0)|0;zy(c[x>>2]|0,31,c[y>>2]|0,c[z>>2]|0,c[F>>2]|0,0)|0;Qv(c[J>>2]|0,c[F>>2]|0);Py(c[J>>2]|0,c[E>>2]|0,c[D>>2]|0)}while(0);if((((a[(c[r>>2]|0)+24>>0]|0)==0?(c[(c[c[J>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[J>>2]|0)+124>>2]|0)==0:0)?(a[(c[J>>2]|0)+20>>0]|0)==0:0){Hy(c[J>>2]|0,787,2,0,-2,4);J=c[x>>2]|0;n=c[z>>2]|0;oy(J,n);n=c[x>>2]|0;J=c[y>>2]|0;ey(n,111,J)|0;l=K;return}if((c[u>>2]|0)>0?(d[(c[r>>2]|0)+24>>0]|0)==0:0)gw(c[J>>2]|0);Qu(c[x>>2]|0,144,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;J=c[x>>2]|0;n=c[z>>2]|0;oy(J,n);n=c[x>>2]|0;J=c[y>>2]|0;ey(n,111,J)|0;l=K;return}function AB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+16|0;j=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[f>>2]=b;a=c[j>>2]|0;if(c[(c[j>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[g>>2]=a;do if(c[(c[g>>2]|0)+468>>2]|0){c[h>>2]=c[c[(c[g>>2]|0)+468>>2]>>2];if(!((c[h>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[h>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}while(0);c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}function BB(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+32|0;m=s+28|0;n=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;h=s+8|0;i=s+4|0;j=s;c[m>>2]=a;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=0;a:while(1){if((c[q>>2]|0)>=(c[(c[n>>2]|0)+20>>2]|0)){r=14;break}c[h>>2]=c[(c[n>>2]|0)+36+(c[q>>2]<<3)+4>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(b[(c[m>>2]|0)+34>>1]|0))break;if(!((c[(c[o>>2]|0)+(c[i>>2]<<2)>>2]|0)<0?!(c[p>>2]|0?(c[i>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[j>>2]=(c[(c[m>>2]|0)+4>>2]|0)+(c[i>>2]<<4);a=c[j>>2]|0;if(c[h>>2]|0)if(!(bh(c[a>>2]|0,c[h>>2]|0)|0)){r=9;break a}else break;else if(d[a+15>>0]&1|0){r=11;break a}else break}while(0);c[i>>2]=(c[i>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}if((r|0)==9){c[k>>2]=1;r=c[k>>2]|0;l=s;return r|0}else if((r|0)==11){c[k>>2]=1;r=c[k>>2]|0;l=s;return r|0}else if((r|0)==14){c[k>>2]=0;r=c[k>>2]|0;l=s;return r|0}return 0}function CB(a,f,g,h,i,j,k,m){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+144|0;M=O+128|0;N=O+124|0;n=O+120|0;o=O+116|0;p=O+112|0;q=O+108|0;r=O+104|0;s=O+100|0;t=O+96|0;u=O+92|0;v=O+88|0;w=O+56|0;x=O+48|0;y=O+44|0;z=O+40|0;A=O+36|0;B=O+32|0;C=O+28|0;D=O+134|0;E=O+24|0;F=O+20|0;G=O+16|0;H=O+12|0;I=O+8|0;J=O+4|0;K=O;L=O+132|0;c[M>>2]=a;c[N>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;c[s>>2]=m;c[t>>2]=c[c[M>>2]>>2];c[v>>2]=0;c[y>>2]=0;c[z>>2]=Lu(c[M>>2]|0)|0;if((c[s>>2]|0)<0)c[y>>2]=Qu(c[z>>2]|0,65,d[(c[p>>2]|0)+24>>0]|0,0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;if(c[o>>2]|0)a=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0;else a=-1;b[D>>1]=a;c[A>>2]=DB(c[M>>2]|0,c[n>>2]|0,c[r>>2]|0,b[D>>1]|0)|0;if(c[q>>2]|0)a=(c[q>>2]|0)+(c[u>>2]<<2)|0;else a=(c[p>>2]|0)+36|0;b[D>>1]=c[a>>2];c[E>>2]=c[(c[(c[c[p>>2]>>2]|0)+4>>2]|0)+(b[D>>1]<<4)>>2];c[B>>2]=Ht(c[t>>2]|0,55,c[E>>2]|0)|0;c[C>>2]=pt(c[M>>2]|0,37,c[A>>2]|0,c[B>>2]|0,0)|0;c[v>>2]=Mx(c[t>>2]|0,c[v>>2]|0,c[C>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+1}if((c[s>>2]|0)>0?(c[n>>2]|0)==(c[c[p>>2]>>2]|0):0){if(!(d[(c[n>>2]|0)+42>>0]&32)){c[G>>2]=DB(c[M>>2]|0,c[n>>2]|0,c[r>>2]|0,-1)|0;c[H>>2]=EB(c[t>>2]|0,c[n>>2]|0,c[(c[N>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=pt(c[M>>2]|0,36,c[G>>2]|0,c[H>>2]|0,0)|0}else{c[J>>2]=0;c[K>>2]=uv(c[n>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(e[(c[K>>2]|0)+50>>1]|0))break;b[L>>1]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0;c[G>>2]=DB(c[M>>2]|0,c[n>>2]|0,c[r>>2]|0,b[L>>1]|0)|0;c[H>>2]=EB(c[t>>2]|0,c[n>>2]|0,c[(c[N>>2]|0)+8+44>>2]|0,b[L>>1]|0)|0;c[I>>2]=pt(c[M>>2]|0,37,c[G>>2]|0,c[H>>2]|0,0)|0;c[J>>2]=Mx(c[t>>2]|0,c[J>>2]|0,c[I>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+1}c[F>>2]=pt(c[M>>2]|0,19,c[J>>2]|0,0,0)|0}c[v>>2]=Mx(c[t>>2]|0,c[v>>2]|0,c[F>>2]|0)|0};c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[w+24>>2]=0;c[w+28>>2]=0;c[w+4>>2]=c[N>>2];c[w>>2]=c[M>>2];Ow(w,c[v>>2]|0)|0;c[x>>2]=FB(c[M>>2]|0,c[N>>2]|0,c[v>>2]|0,0,0,0,0)|0;Qu(c[z>>2]|0,144,d[(c[p>>2]|0)+24>>0]|0,c[s>>2]|0)|0;if(c[x>>2]|0)GB(c[x>>2]|0);Ok(c[t>>2]|0,c[v>>2]|0);if(!(c[y>>2]|0)){l=O;return}ny(c[z>>2]|0,c[y>>2]|0);l=O;return}function DB(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+28|0;o=q+12|0;p=q+8|0;h=q+4|0;i=q;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;b[n>>1]=g;c[i>>2]=c[c[j>>2]>>2];c[o>>2]=Ht(c[i>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;l=q;return p|0}if((b[n>>1]|0)>=0?(b[n>>1]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(b[n>>1]<<4);c[(c[o>>2]|0)+28>>2]=(c[m>>2]|0)+(b[n>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[p>>2]|0)+13>>0]|0;c[h>>2]=c[(c[p>>2]|0)+8>>2];if(!(c[h>>2]|0))c[h>>2]=c[c[(c[i>>2]|0)+8>>2]>>2];c[o>>2]=ix(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0)|0;p=c[o>>2]|0;l=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[m>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;l=q;return p|0}function EB(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+12|0;g=k+8|0;h=k+4|0;i=k+16|0;j=k;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[i>>1]=f;c[j>>2]=Ht(c[m>>2]|0,152,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;l=k;return m|0}c[(c[j>>2]|0)+44>>2]=c[g>>2];c[(c[j>>2]|0)+28>>2]=c[h>>2];b[(c[j>>2]|0)+32>>1]=b[i>>1]|0;m=c[j>>2]|0;l=k;return m|0} +function kY(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;n=u+56|0;o=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;s=u+36|0;t=u+32|0;f=u;g=u+28|0;h=u+24|0;i=u+20|0;j=u+16|0;k=u+12|0;m=u+8|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=c[n>>2];c[r>>2]=c[c[q>>2]>>2];c[s>>2]=c[(c[r>>2]|0)+12>>2];c[t>>2]=0;if(c[(c[q>>2]|0)+60>>2]&4|0){a:do if(c[(c[s>>2]|0)+44>>2]|0){e=KY(c[q>>2]|0)|0;n=f;c[n>>2]=e;c[n+4>>2]=D;n=f;c[t>>2]=LY(c[(c[r>>2]|0)+20>>2]|0,c[n>>2]|0,c[n+4>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0}else{if(!(c[(c[s>>2]|0)+36>>2]|0)){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[s>>2]|0)+12>>2]|0))break a;if(!(d[(c[(c[s>>2]|0)+20>>2]|0)+(c[g>>2]|0)>>0]|0))c[(c[(c[q>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2]=-1;c[g>>2]=(c[g>>2]|0)+1}}c[h>>2]=0;while(1){if(c[t>>2]|0)break a;if((c[h>>2]|0)>=(c[(c[s>>2]|0)+12>>2]|0))break a;if((d[(c[(c[s>>2]|0)+20>>2]|0)+(c[h>>2]|0)>>0]|0|0)==0?(c[k>>2]=(c[(c[q>>2]|0)+8>>2]|0)+(c[h>>2]<<2),c[(c[(c[q>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=0,c[t>>2]=jY(c[n>>2]|0,c[h>>2]|0,i,j)|0,(c[t>>2]|0)==0):0)c[t>>2]=EV(c[s>>2]|0,8,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,152)|0;c[h>>2]=(c[h>>2]|0)+1}}while(0);r=(c[q>>2]|0)+60|0;c[r>>2]=c[r>>2]&-5}if((c[o>>2]|0)<0){c[c[p>>2]>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[s>>2]|0)+12>>2]|0))break;r=c[p>>2]|0;c[r>>2]=(c[r>>2]|0)+(c[(c[(c[q>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}t=c[t>>2]|0;l=u;return t|0}if((c[o>>2]|0)<(c[(c[s>>2]|0)+12>>2]|0)){c[c[p>>2]>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+(c[o>>2]<<2)>>2];t=c[t>>2]|0;l=u;return t|0}else{c[c[p>>2]>>2]=0;c[t>>2]=25;t=c[t>>2]|0;l=u;return t|0}return 0}function lY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;o=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;f=n+4|0;g=n;c[o>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=c[o>>2];c[m>>2]=c[c[k>>2]>>2];c[g>>2]=0;c[f>>2]=LW(c[c[k>>2]>>2]|0,g)|0;if(!(c[f>>2]|0)){c[(c[g>>2]|0)+24>>2]=1;o=(c[g>>2]|0)+32|0;c[o>>2]=0;c[o+4>>2]=-2147483648;o=(c[g>>2]|0)+40|0;c[o>>2]=-1;c[o+4>>2]=2147483647;c[c[g>>2]>>2]=c[m>>2];c[f>>2]=CY(c[(c[k>>2]|0)+52>>2]|0,c[h>>2]|0,(c[g>>2]|0)+52|0)|0}a:do if(!(c[f>>2]|0)){c[f>>2]=DY(c[m>>2]|0,c[g>>2]|0,0)|0;while(1){if(c[f>>2]|0)break a;if(c[(c[g>>2]|0)+60>>2]&1|0)break a;c[f>>2]=Bb[c[j>>2]&255](10572,c[g>>2]|0,c[i>>2]|0)|0;if(c[f>>2]|0)break;c[f>>2]=OW(c[g>>2]|0)|0}if((c[f>>2]|0)==101)c[f>>2]=0}while(0);MW(c[g>>2]|0)|0;l=n;return c[f>>2]|0}function mY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;e=k+24|0;m=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[m>>2];c[i>>2]=c[(c[h>>2]|0)+100>>2];while(1){if(!(c[i>>2]|0))break;if((c[c[i>>2]>>2]|0)==(c[(c[h>>2]|0)+96>>2]|0))break;c[i>>2]=c[(c[i>>2]|0)+12>>2]}do if(c[i>>2]|0){if(c[(c[i>>2]|0)+8>>2]|0)Eb[c[(c[i>>2]|0)+8>>2]&255](c[(c[i>>2]|0)+4>>2]|0)}else{c[j>>2]=0;c[i>>2]=dT(j,16)|0;if(c[i>>2]|0){c[c[i>>2]>>2]=c[(c[h>>2]|0)+96>>2];c[(c[i>>2]|0)+12>>2]=c[(c[h>>2]|0)+100>>2];c[(c[h>>2]|0)+100>>2]=c[i>>2];break}if(c[g>>2]|0)Eb[c[g>>2]&255](c[f>>2]|0);c[e>>2]=c[j>>2];m=c[e>>2]|0;l=k;return m|0}while(0);c[(c[i>>2]|0)+8>>2]=c[g>>2];c[(c[i>>2]|0)+4>>2]=c[f>>2];c[e>>2]=0;m=c[e>>2]|0;l=k;return m|0}function nY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[d>>2]=b;c[e>>2]=c[i>>2];c[g>>2]=0;c[f>>2]=c[(c[e>>2]|0)+100>>2];while(1){if(!(c[f>>2]|0))break;if((c[c[f>>2]>>2]|0)==(c[(c[e>>2]|0)+96>>2]|0))break;c[f>>2]=c[(c[f>>2]|0)+12>>2]}if(!(c[f>>2]|0)){i=c[g>>2]|0;l=h;return i|0}c[g>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[d>>2]|0)){i=c[g>>2]|0;l=h;return i|0}c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=0;i=c[g>>2]|0;l=h;return i|0}function oY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+32|0;i=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;p=n+8|0;g=n+4|0;h=n;c[i>>2]=a;c[o>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[p>>2]=c[i>>2];c[h>>2]=tY(c[p>>2]|0,c[o>>2]|0,c[j>>2]|0,g)|0;if(c[h>>2]|0){p=c[h>>2]|0;l=n;return p|0}c[(c[j>>2]|0)+4>>2]=(c[c[j>>2]>>2]|0)+(c[g>>2]|0);c[c[k>>2]>>2]=0;c[c[m>>2]>>2]=0;pY(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0);p=c[h>>2]|0;l=n;return p|0}function pY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[j+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if((c[c[f>>2]>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[c[g>>2]>>2]=-1;c[c[h>>2]>>2]=-1;l=j;return}d=VR(c[c[f>>2]>>2]|0,i)|0;e=c[f>>2]|0;c[e>>2]=(c[e>>2]|0)+d;if((c[i>>2]|0)==1){d=VR(c[c[f>>2]>>2]|0,i)|0;e=c[f>>2]|0;c[e>>2]=(c[e>>2]|0)+d;c[c[g>>2]>>2]=c[i>>2];c[c[h>>2]>>2]=0;e=VR(c[c[f>>2]>>2]|0,i)|0;g=c[f>>2]|0;c[g>>2]=(c[g>>2]|0)+e}h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+((c[i>>2]|0)-2);l=j;return}function qY(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;m=r+40|0;n=r+36|0;o=r+32|0;p=r+28|0;q=r+24|0;h=r+20|0;s=r+16|0;i=r+12|0;j=r+8|0;k=r+4|0;g=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=0;c[h>>2]=c[m>>2];c[s>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];a=c[h>>2]|0;if((c[(c[s>>2]|0)+48>>2]|0)==2){c[i>>2]=c[a+56>>2];if(c[i>>2]|0){if(!(c[n>>2]|0))a=0;else a=c[(c[i>>2]|0)+24+((c[n>>2]|0)-1<<2)>>2]|0;c[k>>2]=a;c[j>>2]=(c[(c[i>>2]|0)+24+(c[n>>2]<<2)>>2]|0)-(c[k>>2]|0);c[c[o>>2]>>2]=(c[(c[i>>2]|0)+16>>2]|0)+(c[k>>2]|0)}else c[q>>2]=sY(c[(c[h>>2]|0)+52>>2]|0,c[n>>2]|0,c[o>>2]|0,j)|0;if(c[q>>2]|0){s=c[q>>2]|0;l=r;return s|0}c[(c[o>>2]|0)+4>>2]=(c[c[o>>2]>>2]|0)+(c[j>>2]|0);c[c[p>>2]>>2]=0;rY(c[m>>2]|0,c[o>>2]|0,c[p>>2]|0);s=c[q>>2]|0;l=r;return s|0}c[q>>2]=tY(a,c[n>>2]|0,c[o>>2]|0,g)|0;if(c[q>>2]|0){s=c[q>>2]|0;l=r;return s|0}c[(c[o>>2]|0)+4>>2]=(c[c[o>>2]>>2]|0)+(c[g>>2]|0);if((c[g>>2]|0)<=0){c[c[p>>2]>>2]=-1;s=c[q>>2]|0;l=r;return s|0}if((d[c[c[o>>2]>>2]>>0]|0|0)==1){p=1+(VR((c[c[o>>2]>>2]|0)+1|0,c[p>>2]|0)|0)|0;s=c[o>>2]|0;c[s>>2]=(c[s>>2]|0)+p;s=c[q>>2]|0;l=r;return s|0}else{c[c[p>>2]>>2]=0;s=c[q>>2]|0;l=r;return s|0}return 0}function rY(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;n=j+24|0;h=j+20|0;i=j+16|0;m=j+12|0;k=j+8|0;f=j+4|0;g=j;c[n>>2]=a;c[h>>2]=b;c[i>>2]=e;c[m>>2]=c[n>>2];c[k>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];if((c[(c[k>>2]|0)+48>>2]|0)==2)if((c[c[h>>2]>>2]|0)>>>0>=(c[(c[h>>2]|0)+4>>2]|0)>>>0){c[c[i>>2]>>2]=-1;l=j;return}else{m=VR(c[c[h>>2]>>2]|0,f)|0;n=c[h>>2]|0;c[n>>2]=(c[n>>2]|0)+m;n=c[i>>2]|0;c[n>>2]=(c[n>>2]|0)+((c[f>>2]|0)-2);l=j;return}while(1){if((c[c[h>>2]>>2]|0)>>>0>=(c[(c[h>>2]|0)+4>>2]|0)>>>0){a=6;break}b=c[c[h>>2]>>2]|0;if((d[c[c[h>>2]>>2]>>0]|0|0)==1){a=9;break}m=VR(b,g)|0;n=c[h>>2]|0;c[n>>2]=(c[n>>2]|0)+m}if((a|0)==6){c[c[i>>2]>>2]=-1;l=j;return}else if((a|0)==9){m=1+(VR(b+1|0,c[i>>2]|0)|0)|0;n=c[h>>2]|0;c[n>>2]=(c[n>>2]|0)+m;l=j;return}}function sY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;i=o+32|0;p=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;f=o+8|0;g=o+4|0;h=o;c[i>>2]=a;c[p>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=c[(c[(c[i>>2]|0)+20>>2]|0)+(c[p>>2]<<2)>>2];c[n>>2]=c[c[m>>2]>>2];c[f>>2]=0;if(((c[(c[n>>2]|0)+4>>2]|0)==0?(e=(c[n>>2]|0)+16|0,p=(c[(c[i>>2]|0)+8>>2]|0)+16|0,(c[e>>2]|0)==(c[p>>2]|0)?(c[e+4>>2]|0)==(c[p+4>>2]|0):0):0)?(c[(c[m>>2]|0)+4+4>>2]|0)>0:0){c[g>>2]=(c[m>>2]|0)+20;if(c[(c[g>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[g>>2]|0)+12>>2]|0)+16;p=(c[n>>2]|0)+16|0;c[f>>2]=eW(c[g>>2]|0,c[p>>2]|0,c[p+4>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;p=c[f>>2]|0;l=o;return p|0}else{c[c[j>>2]>>2]=c[(c[(c[m>>2]|0)+20+8>>2]|0)+8>>2];c[c[k>>2]>>2]=c[(c[(c[m>>2]|0)+20+8>>2]|0)+12>>2];p=c[f>>2]|0;l=o;return p|0}}c[c[j>>2]>>2]=0;c[c[k>>2]>>2]=0;p=c[f>>2]|0;l=o;return p|0}function tY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;k=t+48|0;p=t+44|0;q=t+40|0;r=t+36|0;m=t+32|0;s=t+28|0;f=t+24|0;g=t+20|0;h=t+16|0;i=t+12|0;j=t+8|0;n=t+4|0;o=t;c[k>>2]=a;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[m>>2]=c[(c[c[k>>2]>>2]|0)+12>>2];c[s>>2]=0;c[f>>2]=(c[(c[k>>2]|0)+56>>2]|0)==0&1;if(c[(c[k>>2]|0)+60>>2]&64|0){if(c[(c[m>>2]|0)+48>>2]|0){c[g>>2]=uY(c[(c[k>>2]|0)+52>>2]|0,c[f>>2]|0)|0;if(!(c[g>>2]|0))c[s>>2]=7;c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[(c[m>>2]|0)+12>>2]|0)?(c[s>>2]|0)==0:0))break;c[s>>2]=jY(c[k>>2]|0,c[h>>2]|0,j,i)|0;if(!(c[s>>2]|0))c[s>>2]=vY(c[m>>2]|0,c[(c[k>>2]|0)+52>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+1}_d(c[g>>2]|0);if(c[(c[k>>2]|0)+56>>2]|0){e=(c[(c[k>>2]|0)+56>>2]|0)+8|0;wY(c[(c[k>>2]|0)+52>>2]|0,c[e>>2]|0,c[e+4>>2]|0)}}e=(c[k>>2]|0)+60|0;c[e>>2]=c[e>>2]&-65}if(c[(c[k>>2]|0)+56>>2]|0?(c[(c[m>>2]|0)+48>>2]|0)==0:0){c[n>>2]=c[(c[k>>2]|0)+56>>2];if(!(c[p>>2]|0))a=0;else a=c[(c[n>>2]|0)+24+((c[p>>2]|0)-1<<2)>>2]|0;c[o>>2]=a;c[c[r>>2]>>2]=(c[(c[n>>2]|0)+24+(c[p>>2]<<2)>>2]|0)-(c[o>>2]|0);c[c[q>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]|0);s=c[s>>2]|0;l=t;return s|0}q=xY(c[(c[k>>2]|0)+52>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[c[r>>2]>>2]=q;s=c[s>>2]|0;l=t;return s|0}function uY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+20|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=pe(c[(c[d>>2]|0)+16>>2]<<4)|0;if(!(c[f>>2]|0)){j=c[f>>2]|0;l=k;return j|0}m0(c[f>>2]|0,0,c[(c[d>>2]|0)+16>>2]<<4|0)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+16>>2]|0))break;c[h>>2]=(c[(c[(c[d>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2]|0)+4;c[i>>2]=c[c[(c[(c[d>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2]>>2];do if(c[e>>2]|0){if((c[(c[h>>2]|0)+4>>2]|0?(a=(c[i>>2]|0)+16|0,b=(c[(c[d>>2]|0)+8>>2]|0)+16|0,!((c[a>>2]|0)!=(c[b>>2]|0)?1:(c[a+4>>2]|0)!=(c[b+4>>2]|0))):0)?(c[(c[i>>2]|0)+4>>2]|0)==0:0){j=9;break}c[(c[f>>2]|0)+(c[g>>2]<<4)+12>>2]=1}else j=9;while(0);if((j|0)==9){j=0;c[(c[h>>2]|0)+4>>2]=0}c[g>>2]=(c[g>>2]|0)+1}j=c[f>>2]|0;l=k;return j|0}function vY(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;o=t+48|0;p=t+44|0;q=t+40|0;r=t+36|0;h=t+32|0;i=t+28|0;j=t+24|0;k=t;m=t+20|0;n=t+16|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[h>>2]=f;c[i>>2]=g;c[k>>2]=c[p>>2];c[k+4>>2]=c[q>>2];f=c[r>>2]|0;f=Z$(0,f|0,1,0)|0;g=k+8|0;c[g>>2]=f;c[g+4>>2]=D;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[p>>2]|0)+16>>2]|0))break;c[m>>2]=c[c[(c[(c[p>>2]|0)+20>>2]|0)+(c[j>>2]<<2)>>2]>>2];c[n>>2]=c[(c[(c[m>>2]|0)+24>>2]|0)+4>>2];if(c[n>>2]|0?0==(AY(c[n>>2]|0,c[r>>2]|0)|0):0)s=6;else if(c[(c[q>>2]|0)+(c[j>>2]<<4)+12>>2]|0)s=6;else{a=1;b=(c[q>>2]|0)+(c[j>>2]<<4)|0}if((s|0)==6){s=0;a=0;b=(c[q>>2]|0)+(c[j>>2]<<4)|0}c[b+8>>2]=a;c[j>>2]=(c[j>>2]|0)+1}s=EV(c[o>>2]|0,4,c[h>>2]|0,c[i>>2]|0,k,153)|0;l=t;return s|0}function wY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;yY(c[(c[f>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;l=e;return}function xY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[(c[e>>2]|0)+20>>2]|0)+(c[k>>2]<<2)>>2];c[i>>2]=c[c[h>>2]>>2];if((c[(c[i>>2]|0)+4>>2]|0)==0?(i=(c[i>>2]|0)+16|0,k=(c[(c[e>>2]|0)+8>>2]|0)+16|0,(c[i>>2]|0)==(c[k>>2]|0)?(c[i+4>>2]|0)==(c[k+4>>2]|0):0):0){c[c[f>>2]>>2]=c[(c[h>>2]|0)+4>>2];c[g>>2]=c[(c[h>>2]|0)+4+4>>2];k=c[g>>2]|0;l=j;return k|0}c[c[f>>2]>>2]=0;c[g>>2]=0;k=c[g>>2]|0;l=j;return k|0}function yY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+24|0;f=k+20|0;g=k;h=k+16|0;i=k+12|0;j=k+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[a+4>>2]|0;d=(c[f>>2]|0)+16|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;c[(c[f>>2]|0)+4>>2]=0;a:do switch(c[c[f>>2]>>2]|0){case 11:case 4:{c[e>>2]=(c[(c[(c[(c[f>>2]|0)+24>>2]|0)+12>>2]|0)+4+4>>2]|0)>0&1;j=c[e>>2]|0;l=k;return j|0}case 2:{c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+28>>2]|0))break a;j=g;if(!(yY(c[(c[f>>2]|0)+32+(c[h>>2]<<2)>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1}zY(c[f>>2]|0);c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}case 1:{c[j>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[f>>2]|0)+28>>2]|0))break;h=g;if(yY(c[(c[f>>2]|0)+32+(c[i>>2]<<2)>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0)c[j>>2]=1;c[i>>2]=(c[i>>2]|0)+1}c[e>>2]=c[j>>2];j=c[e>>2]|0;l=k;return j|0}default:{j=g;if(0!=(yY(c[(c[f>>2]|0)+32>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0)?(j=g,0==(yY(c[(c[f>>2]|0)+32+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0)):0)break a;zY(c[f>>2]|0);c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}}while(0);c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}function zY(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if((c[c[b>>2]>>2]|0)!=4?(c[c[b>>2]>>2]|0)!=11:0){c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;zY(c[(c[b>>2]|0)+32+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=e;return}c[(c[(c[(c[b>>2]|0)+24>>2]|0)+12>>2]|0)+4+4>>2]=0;l=e;return}function AY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){a=6;break}if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){a=4;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==4){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==6){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function BY(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;p=t+48|0;u=t+44|0;q=t+40|0;r=t+36|0;h=t+32|0;i=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[u>>2]=a;c[q>>2]=b;c[r>>2]=d;c[h>>2]=e;c[t+28>>2]=f;c[t+24>>2]=g;c[i>>2]=c[u>>2];c[j>>2]=c[c[i>>2]>>2];if((c[h>>2]|0)>32768)c[h>>2]=32768;if(!(c[q>>2]&1)){u=(c[i>>2]|0)+8|0;q=u;q=_$(c[q>>2]|0,c[q+4>>2]|0,1,0)|0;c[u>>2]=q;c[u+4>>2]=D}c[k>>2]=0;a:while(1){if((c[k>>2]|0)>=(c[(c[j>>2]|0)+16>>2]|0)){s=18;break}b:do if(c[(c[(c[i>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+8>>2]|0){c[m>>2]=(c[(c[(c[j>>2]|0)+20>>2]|0)+(c[k>>2]<<2)>>2]|0)+20;while(1){if(!(c[m>>2]|0))break b;c[n>>2]=g$(c[(c[m>>2]|0)+4>>2]|0)|0;if((c[n>>2]|0)!=(c[h>>2]|0)){if((c[n>>2]|0)<(c[h>>2]|0)?c[c[m>>2]>>2]|0:0)s=13}else s=13;if((s|0)==13?(s=0,(H_(c[(c[m>>2]|0)+4>>2]|0,c[r>>2]|0,c[n>>2]|0)|0)==0):0)break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}u=(c[i>>2]|0)+8|0;c[o>>2]=dW((c[(c[(c[j>>2]|0)+20>>2]|0)+(c[k>>2]<<2)>>2]|0)+4|0,(c[(c[i>>2]|0)+4>>2]|0)+(c[k>>2]<<4)|0,c[u>>2]|0,c[u+4>>2]|0)|0;if(c[o>>2]|0){s=15;break a}}while(0);c[k>>2]=(c[k>>2]|0)+1}if((s|0)==15){c[p>>2]=c[o>>2];u=c[p>>2]|0;l=t;return u|0}else if((s|0)==18){c[p>>2]=0;u=c[p>>2]|0;l=t;return u|0}return 0}function CY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;m=s+60|0;t=s+56|0;p=s+52|0;q=s+48|0;n=s+44|0;r=s+40|0;o=s+32|0;e=s+24|0;f=s+20|0;g=s+16|0;h=s+12|0;i=s+8|0;j=s+4|0;k=s;c[m>>2]=a;c[t>>2]=b;c[p>>2]=d;c[q>>2]=0;c[r>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[n>>2]=c[(c[(c[m>>2]|0)+20>>2]|0)+(c[t>>2]<<2)>>2];c[r>>2]=dT(q,24)|0;if(!(c[q>>2]|0)){t=dT(q,4)|0;c[(c[r>>2]|0)+20>>2]=t}if(!(c[q>>2]|0)){t=dT(q,40)|0;c[(c[r>>2]|0)+8>>2]=t}if(!(c[q>>2]|0)){t=dT(q,20)|0;c[(c[(c[r>>2]|0)+8>>2]|0)+24>>2]=t}if((c[q>>2]|0)==0?(c[e>>2]=c[(c[(c[c[n>>2]>>2]|0)+24>>2]|0)+4>>2],c[e>>2]|0):0){c[f>>2]=8+((c[c[e>>2]>>2]|0)-1<<2);c[g>>2]=dT(q,c[f>>2]|0)|0;if(c[g>>2]|0)h0(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;c[(c[(c[(c[r>>2]|0)+8>>2]|0)+24>>2]|0)+4>>2]=c[g>>2]}a:do if(c[(c[n>>2]|0)+16>>2]|0){c[h>>2]=0;while(1){if(c[q>>2]|0)break a;if((c[h>>2]|0)>=(c[(c[n>>2]|0)+16>>2]|0))break a;c[i>>2]=0;c[j>>2]=(c[n>>2]|0)+20+(c[h>>2]<<4);while(1){if(!(c[j>>2]|0?(c[q>>2]|0)==0:0))break;c[k>>2]=c[(c[j>>2]|0)+4>>2];d=c[i>>2]|0;t=c[k>>2]|0;c[q>>2]=DV(o,d,t,g$(c[k>>2]|0)|0,0,0)|0;c[i>>2]=1;c[j>>2]=c[(c[j>>2]|0)+12>>2]}if(!(c[q>>2]|0))c[(c[o>>2]|0)+20+(c[h>>2]<<4)>>2]=c[(c[n>>2]|0)+20+(c[h>>2]<<4)>>2];c[h>>2]=(c[h>>2]|0)+1}}else c[o>>2]=dT(q,36)|0;while(0);if(c[q>>2]|0){XU(c[r>>2]|0);_U(c[o>>2]|0);c[r>>2]=0;r=c[r>>2]|0;t=c[p>>2]|0;c[t>>2]=r;t=c[q>>2]|0;l=s;return t|0}c[c[r>>2]>>2]=c[c[m>>2]>>2];c[(c[r>>2]|0)+4>>2]=c[(c[m>>2]|0)+4>>2];c[(c[r>>2]|0)+16>>2]=1;c[c[(c[r>>2]|0)+20>>2]>>2]=c[o>>2];c[(c[(c[(c[r>>2]|0)+8>>2]|0)+24>>2]|0)+12>>2]=c[o>>2];c[(c[(c[(c[r>>2]|0)+8>>2]|0)+24>>2]|0)+8>>2]=1;c[c[o>>2]>>2]=c[(c[r>>2]|0)+8>>2];if((c[(c[n>>2]|0)+16>>2]|0)==1?(c[(c[n>>2]|0)+20+12>>2]|0)==0:0){c[c[(c[r>>2]|0)+8>>2]>>2]=4;a=c[r>>2]|0;b=151}else{c[c[(c[r>>2]|0)+8>>2]>>2]=11;a=c[r>>2]|0;b=152}c[(c[a+8>>2]|0)+12>>2]=b;r=c[r>>2]|0;t=c[p>>2]|0;c[t>>2]=r;t=c[q>>2]|0;l=s;return t|0}function DY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+32|0;j=g+16|0;e=g+12|0;i=g+8|0;f=g+4|0;h=g;c[j>>2]=a;c[e>>2]=b;c[i>>2]=d;c[h>>2]=c[(c[e>>2]|0)+52>>2];d=(c[e>>2]|0)+32|0;c[f>>2]=EY(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[i>>2]|0)|0;if(!(FY(c[h>>2]|0)|0)){j=c[e>>2]|0;GY(j);j=c[f>>2]|0;l=g;return j|0}j=(c[e>>2]|0)+60|0;c[j>>2]=c[j>>2]|1;j=c[e>>2]|0;GY(j);j=c[f>>2]|0;l=g;return j|0}function EY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;h=k+24|0;n=k+20|0;i=k;m=k+16|0;j=k+12|0;g=k+8|0;c[h>>2]=a;c[n>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[j>>2]=c[(c[h>>2]|0)+8>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[m>>2];c[g>>2]=HY(c[h>>2]|0,c[j>>2]|0)|0;if((c[(c[j>>2]|0)+4>>2]|0)==0?(m=(c[j>>2]|0)+16|0,n=i,(QV(c[h>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0)<0):0){n=i;c[g>>2]=Nb[c[(c[j>>2]|0)+12>>2]&255](c[h>>2]|0,c[j>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0}while(1){if(!(c[(c[j>>2]|0)+8>>2]|0))break;c[g>>2]=Nb[c[(c[j>>2]|0)+12>>2]&255](c[h>>2]|0,c[j>>2]|0,0,0,0)|0}l=k;return c[g>>2]|0}function FY(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0}function GY(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+60|0;c[a>>2]=c[a>>2]|78;l=b;return}function HY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+20|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;a:do if((c[c[e>>2]>>2]|0)!=4?(c[c[e>>2]>>2]|0)!=11:0){if(!(c[(c[e>>2]|0)+12>>2]|0)){c[(c[e>>2]|0)+4>>2]=1;break}c[h>>2]=0;c[g>>2]=0;while(1){a=(c[e>>2]|0)+32|0;if(!((c[g>>2]|0)<(c[(c[e>>2]|0)+28>>2]|0)?(c[f>>2]|0)==0:0))break;c[i>>2]=c[a+(c[g>>2]<<2)>>2];c[f>>2]=HY(c[d>>2]|0,c[(c[e>>2]|0)+32+(c[g>>2]<<2)>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(c[(c[i>>2]|0)+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}b=(c[a>>2]|0)+16|0;g=c[b+4>>2]|0;i=(c[e>>2]|0)+16|0;c[i>>2]=c[b>>2];c[i+4>>2]=g;switch(c[c[e>>2]>>2]|0){case 2:{if((c[h>>2]|0)<=0)break a;SV(c[e>>2]|0);break a}case 1:{if((c[(c[e>>2]|0)+28>>2]|0)!=(c[h>>2]|0))break a;SV(c[e>>2]|0);break a}default:{c[(c[e>>2]|0)+4>>2]=c[(c[(c[e>>2]|0)+32>>2]|0)+4>>2];break a}}}else j=3;while(0);if((j|0)==3)c[f>>2]=IY(c[d>>2]|0,c[e>>2]|0)|0;if(c[f>>2]|0){j=c[f>>2]|0;l=k;return j|0}c[f>>2]=JY(c[d>>2]|0,c[e>>2]|0)|0;j=c[f>>2]|0;l=k;return j|0}function IY(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;g=p+36|0;m=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;n=p+16|0;o=p+12|0;k=p+8|0;e=p+4|0;f=p;c[g>>2]=a;c[m>>2]=b;c[h>>2]=c[(c[m>>2]|0)+24>>2];c[n>>2]=0;c[o>>2]=1;c[i>>2]=0;while(1){if(c[n>>2]|0){a=18;break}if((c[i>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0)){a=18;break}c[k>>2]=c[(c[h>>2]|0)+12+(c[i>>2]<<2)>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+16>>2]|0))break;c[e>>2]=(c[k>>2]|0)+20+(c[j>>2]<<4);c[f>>2]=c[e>>2];while(1){if(!(c[f>>2]|0?(c[n>>2]|0)==0:0))break;if(c[(c[f>>2]|0)+8>>2]|0){mS(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0}q=c[c[g>>2]>>2]|0;a=c[(c[f>>2]|0)+4>>2]|0;b=g$(c[(c[f>>2]|0)+4>>2]|0)|0;c[n>>2]=fS(q,a,b,(c[c[e>>2]>>2]|0?1:0)|(c[(c[g>>2]|0)+12>>2]|0?2:0),c[(c[h>>2]|0)+4>>2]|0,(c[f>>2]|0)+8|0)|0;if(c[(c[f>>2]|0)+8>>2]|0?0==(d[(c[(c[f>>2]|0)+8>>2]|0)+16>>0]|0|0):0)c[o>>2]=0;c[f>>2]=c[(c[f>>2]|0)+12>>2]}if(c[o>>2]|0)break;c[j>>2]=(c[j>>2]|0)+1}if(c[o>>2]|0){a=18;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==18){c[(c[m>>2]|0)+4>>2]=c[o>>2];l=p;return c[n>>2]|0}return 0}function JY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;a:do if(!(c[(c[e>>2]|0)+4>>2]|0))switch(c[c[e>>2]>>2]|0){case 11:{c[f>>2]=XV(c[d>>2]|0,c[e>>2]|0)|0;break a}case 4:{c[f>>2]=jW(c[d>>2]|0,c[e>>2]|0)|0;break a}case 2:{c[f>>2]=RV(c[d>>2]|0,c[e>>2]|0)|0;break a}case 1:{TV(c[d>>2]|0,c[e>>2]|0);break a}default:{c[f>>2]=NV(c[d>>2]|0,c[e>>2]|0)|0;break a}}while(0);l=g;return c[f>>2]|0}function KY(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;e=d+8|0;c[e>>2]=a;a=c[e>>2]|0;if(c[(c[e>>2]|0)+56>>2]|0){f=(c[a+56>>2]|0)+8|0;a=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=a;e=b;e=c[e>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;l=d;return e|0}else{f=PY(c[a+52>>2]|0)|0;e=b;c[e>>2]=f;c[e+4>>2]=D;e=b;f=e;f=c[f>>2]|0;e=e+4|0;e=c[e>>2]|0;D=e;l=d;return f|0}return 0}function LY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;p=o+36|0;i=o;j=o+32|0;k=o+28|0;m=o+24|0;n=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;c[p>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=c[(c[c[p>>2]>>2]|0)+12>>2];c[m>>2]=0;c[n>>2]=NY(c[p>>2]|0,8,m,0)|0;if(c[n>>2]|0){p=c[n>>2]|0;l=o;return p|0}c[f>>2]=1;p=i;qJ(c[m>>2]|0,1,c[p>>2]|0,c[p+4>>2]|0)|0;if(100==(Bs(c[m>>2]|0)|0)?(c[g>>2]=fJ(c[m>>2]|0,0)|0,c[h>>2]=gJ(c[m>>2]|0,0)|0,0==(OY(c[j>>2]|0,c[k>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)):0)c[f>>2]=0;p=ys(c[m>>2]|0)|0;c[n>>2]=p;c[n>>2]=(c[f>>2]|0)!=0&(c[n>>2]|0)==0?267:p;p=c[n>>2]|0;l=o;return p|0}function MY(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;i=l;l=l+32|0;k=i+24|0;j=i+20|0;h=i;c[k>>2]=a;c[j>>2]=b;c[i+16>>2]=d;c[i+12>>2]=e;c[i+8>>2]=f;c[i+4>>2]=g;c[h>>2]=c[k>>2];if(c[j>>2]&1|0){l=i;return 0}k=c[h>>2]|0;c[k>>2]=(c[k>>2]|0)+1;l=i;return 0}function NY(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+160|0;x=y+72|0;i=y+64|0;w=y+48|0;h=y+32|0;j=y+8|0;g=y;q=y+156|0;r=y+152|0;s=y+148|0;t=y+144|0;u=y+140|0;v=y+96|0;k=y+92|0;m=y+88|0;n=y+84|0;o=y+80|0;p=y+76|0;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[u>>2]=0;if(c[(c[q>>2]|0)+28+(c[r>>2]<<2)>>2]|0){x=c[q>>2]|0;x=x+28|0;w=c[r>>2]|0;w=x+(w<<2)|0;w=c[w>>2]|0;x=c[s>>2]|0;c[x>>2]=w;x=c[s>>2]|0;x=c[x>>2]|0;ys(x)|0;x=c[u>>2]|0;l=y;return x|0}b=v;d=10652;e=b+44|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[k>>2]=c[c[q>>2]>>2];c[m>>2]=0;switch(c[r>>2]|0){case 10:{w=c[v+(c[r>>2]<<2)>>2]|0;v=c[(c[k>>2]|0)+36>>2]|0;c[g>>2]=c[(c[k>>2]|0)+52>>2];c[g+4>>2]=v;c[m>>2]=nf(w,g)|0;break}case 1:case 0:{w=c[v+(c[r>>2]<<2)>>2]|0;n=c[(c[k>>2]|0)+36>>2]|0;o=c[(c[k>>2]|0)+40>>2]|0;p=c[(c[k>>2]|0)+40>>2]|0;v=c[(c[k>>2]|0)+40>>2]|0;c[j>>2]=c[(c[k>>2]|0)+52>>2];c[j+4>>2]=n;c[j+8>>2]=o;c[j+12>>2]=p;c[j+16>>2]=v;c[m>>2]=nf(w,j)|0;break}case 2:{w=c[v+(c[r>>2]<<2)>>2]|0;p=c[(c[k>>2]|0)+36>>2]|0;v=c[(c[k>>2]|0)+40>>2]|0;c[h>>2]=c[(c[k>>2]|0)+52>>2];c[h+4>>2]=p;c[h+8>>2]=v;c[m>>2]=nf(w,h)|0;break}case 4:case 3:{c[n>>2]=(c[(c[k>>2]|0)+12>>2]|0)+1;c[o>>2]=pe(1+(c[n>>2]<<1)|0)|0;if(c[o>>2]|0){c[p>>2]=0;while(1){b=c[o>>2]|0;d=c[p>>2]<<1;if((c[p>>2]|0)>=(c[n>>2]|0))break;a[b+d>>0]=63;a[(c[o>>2]|0)+((c[p>>2]<<1)+1)>>0]=44;c[p>>2]=(c[p>>2]|0)+1}a[b+(d-1)>>0]=0;v=c[v+(c[r>>2]<<2)>>2]|0;n=c[(c[k>>2]|0)+8>>2]|0;p=c[o>>2]|0;c[w>>2]=c[(c[k>>2]|0)+4>>2];c[w+4>>2]=n;c[w+8>>2]=p;c[m>>2]=nf(v,w)|0;_d(c[o>>2]|0)}break}default:{w=c[v+(c[r>>2]<<2)>>2]|0;v=c[(c[k>>2]|0)+8>>2]|0;c[i>>2]=c[(c[k>>2]|0)+4>>2];c[i+4>>2]=v;c[m>>2]=nf(w,i)|0}}if(!(c[m>>2]|0)){c[u>>2]=7;x=c[q>>2]|0;x=x+28|0;w=c[r>>2]|0;w=x+(w<<2)|0;w=c[w>>2]|0;x=c[s>>2]|0;c[x>>2]=w;x=c[s>>2]|0;x=c[x>>2]|0;ys(x)|0;x=c[u>>2]|0;l=y;return x|0}c[u>>2]=zv(c[c[k>>2]>>2]|0,c[m>>2]|0,-1,(c[q>>2]|0)+28+(c[r>>2]<<2)|0,0)|0;_d(c[m>>2]|0);if(!((c[u>>2]|0)!=0&(c[t>>2]|0)!=0)){x=c[q>>2]|0;x=x+28|0;w=c[r>>2]|0;w=x+(w<<2)|0;w=c[w>>2]|0;x=c[s>>2]|0;c[x>>2]=w;x=c[s>>2]|0;x=c[x>>2]|0;ys(x)|0;x=c[u>>2]|0;l=y;return x|0}c[x>>2]=Ev(c[c[k>>2]>>2]|0)|0;x=nf(21240,x)|0;c[c[t>>2]>>2]=x;x=c[q>>2]|0;x=x+28|0;w=c[r>>2]|0;w=x+(w<<2)|0;w=c[w>>2]|0;x=c[s>>2]|0;c[x>>2]=w;x=c[s>>2]|0;x=c[x>>2]|0;ys(x)|0;x=c[u>>2]|0;l=y;return x|0}function OY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;f=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[f>>2]=0;c[k>>2]=0;while(1){b=c[f>>2]|0;d=c[j>>2]|0;if((c[k>>2]|0)>=(c[h>>2]|0)){a=6;break}if((b|0)>=(d|0)){a=4;break}e=VR((c[i>>2]|0)+(c[f>>2]|0)|0,(c[g>>2]|0)+(c[k>>2]<<2)|0)|0;c[f>>2]=(c[f>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1}if((a|0)==4){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}else if((a|0)==6){c[m>>2]=(b|0)!=(d|0)&1;m=c[m>>2]|0;l=n;return m|0}return 0}function PY(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+8>>2]|0)+16|0;D=c[a+4>>2]|0;l=b;return c[a>>2]|0}function QY(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[(c[(c[b>>2]|0)+12>>2]|0)+32>>2]|0)==1|0}function RY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+48>>2]|0)){c[g>>2]=c[c[d>>2]>>2];c[h>>2]=SY(c[d>>2]|0)|0;c[f>>2]=TY(c[(c[g>>2]|0)+20>>2]|0,c[h>>2]|0,(c[d>>2]|0)+48|0,c[e>>2]|0?(c[g>>2]|0)+8|0:0)|0}if(c[f>>2]|0){h=c[f>>2]|0;l=i;return h|0}if(!(c[(c[d>>2]|0)+60>>2]&2)){h=c[f>>2]|0;l=i;return h|0}ys(c[(c[d>>2]|0)+48>>2]|0)|0;g=c[(c[d>>2]|0)+48>>2]|0;h=KY(c[d>>2]|0)|0;qJ(g,1,h,D)|0;c[f>>2]=Bs(c[(c[d>>2]|0)+48>>2]|0)|0;if((c[f>>2]|0)==100){c[f>>2]=0;h=(c[d>>2]|0)+60|0;c[h>>2]=c[h>>2]&-3;h=c[f>>2]|0;l=i;return h|0}else{h=ys(c[(c[d>>2]|0)+48>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;h=c[f>>2]|0;l=i;return h|0}return 0}function SY(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[(c[d>>2]|0)+24>>2]|0)==5){c[b>>2]=c[(c[d>>2]|0)+28>>2]|0?1:0;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=2;d=c[b>>2]|0;l=e;return d|0}return 0}function TY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;f=i+16|0;g=i+12|0;k=i+8|0;j=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=NY(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=i;return k|0}c[(c[f>>2]|0)+28+(c[g>>2]<<2)>>2]=0;k=c[h>>2]|0;l=i;return k|0}function UY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+40|0;j=p+36|0;k=p+32|0;m=p+28|0;b=p+24|0;n=p+20|0;o=p+16|0;e=p+12|0;f=p+8|0;h=p+4|0;i=p;c[g>>2]=a;c[j>>2]=0;c[m>>2]=VY(c[(c[g>>2]|0)+52>>2]|0)|0;if(!(c[(c[g>>2]|0)+104>>2]|0)){c[b>>2]=(c[m>>2]|0)*24;b=dT(j,c[b>>2]|0)|0;c[(c[g>>2]|0)+104>>2]=b}c[k>>2]=c[(c[g>>2]|0)+104>>2];if(!(c[k>>2]|0)){o=c[j>>2]|0;l=p;return o|0}c[n>>2]=0;c[o>>2]=0;while(1){if(!((c[o>>2]|0)<(c[m>>2]|0)?(c[j>>2]|0)==0:0))break;c[j>>2]=tY(c[g>>2]|0,c[o>>2]|0,e,f)|0;if(!(c[j>>2]|0))fW(c[e>>2]|0,c[f>>2]|0,(c[k>>2]|0)+((c[o>>2]|0)*24|0)|0)|0;c[o>>2]=(c[o>>2]|0)+1}a:do if(!(c[j>>2]|0)){while(1){c[i>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;do if(!(d[(c[k>>2]|0)+((c[o>>2]|0)*24|0)+13>>0]|0)){if((c[i>>2]|0)>=0?(e=(c[k>>2]|0)+((c[o>>2]|0)*24|0)+16|0,a=c[e+4>>2]|0,f=(c[k>>2]|0)+((c[i>>2]|0)*24|0)+16|0,b=c[f+4>>2]|0,!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0))):0)break;c[i>>2]=c[o>>2]}while(0);c[o>>2]=(c[o>>2]|0)+1}if((c[i>>2]|0)<0)break a;c[n>>2]=(c[n>>2]|0)+1;if((c[n>>2]|0)>=(c[(c[g>>2]|0)+108>>2]|0)){if(c[(c[g>>2]|0)+108>>2]|0)a=c[(c[g>>2]|0)+108>>2]<<1;else a=32;c[(c[g>>2]|0)+108>>2]=a;c[h>>2]=Xf(c[(c[g>>2]|0)+116>>2]|0,(c[(c[g>>2]|0)+108>>2]<<2)*3|0)|0;if(!(c[h>>2]|0))break;c[(c[g>>2]|0)+116>>2]=c[h>>2]}c[h>>2]=(c[(c[g>>2]|0)+116>>2]|0)+(((c[n>>2]|0)-1|0)*3<<2);c[c[h>>2]>>2]=c[i>>2];f=(c[k>>2]|0)+((c[i>>2]|0)*24|0)+16|0;f=e0(c[f>>2]|0,c[f+4>>2]|0,32)|0;c[(c[h>>2]|0)+4>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[k>>2]|0)+((c[i>>2]|0)*24|0)+16>>2];gW((c[k>>2]|0)+((c[i>>2]|0)*24|0)|0)|0}c[j>>2]=7}while(0);c[(c[g>>2]|0)+112>>2]=c[n>>2];o=(c[g>>2]|0)+60|0;c[o>>2]=c[o>>2]&-9;o=c[j>>2]|0;l=p;return o|0}function VY(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=0;l=d;return b|0}b=c[(c[b>>2]|0)+16>>2]|0;l=d;return b|0}function WY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>=0?(c[f>>2]|0)<(c[(c[e>>2]|0)+16>>2]|0):0){c[d>>2]=c[(c[(c[(c[e>>2]|0)+20>>2]|0)+(c[f>>2]<<2)>>2]|0)+16>>2];f=c[d>>2]|0;l=g;return f|0}c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}function XY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=YY(c[e>>2]|0,0)|0;if(c[h>>2]|0){i=c[h>>2]|0;l=j;return i|0}d=c[g>>2]|0;c[d>>2]=0;c[d+4>>2]=0;if((c[f>>2]|0)<0){c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+12>>2]|0))break;d=(c[(c[e>>2]|0)+24>>2]|0)+(c[i>>2]<<3)|0;f=c[g>>2]|0;b=f;d=_$(c[b>>2]|0,c[b+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;c[f>>2]=d;c[f+4>>2]=D;c[i>>2]=(c[i>>2]|0)+1}i=c[h>>2]|0;l=j;return i|0}if((c[f>>2]|0)<(c[(c[c[e>>2]>>2]|0)+12>>2]|0)){e=(c[(c[e>>2]|0)+24>>2]|0)+(c[f>>2]<<3)|0;f=c[e+4>>2]|0;i=c[g>>2]|0;c[i>>2]=c[e>>2];c[i+4>>2]=f;i=c[h>>2]|0;l=j;return i|0}else{c[h>>2]=25;i=c[h>>2]|0;l=j;return i|0}return 0}function YY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(c[(c[d>>2]|0)+8>>2]|0){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=ZY(c[(c[d>>2]|0)+4>>2]|0,(c[d>>2]|0)+16|0,c[(c[d>>2]|0)+24>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=c[e>>2];f=c[f>>2]|0;l=g;return f|0}function ZY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+12>>2];d=c[f>>2]|0;c[d>>2]=0;c[d+4>>2]=0;m0(c[g>>2]|0,0,c[h>>2]<<3|0)|0;c[i>>2]=PR(c[e>>2]|0,1,0)|0;a:do if((c[(c[e>>2]|0)+36>>2]|0)==0?c[(c[i>>2]|0)+4>>2]|0:0){c[j>>2]=0;f=(RR((c[c[i>>2]>>2]|0)+(c[j>>2]|0)|0,c[f>>2]|0)|0)&255;c[j>>2]=(c[j>>2]|0)+f;c[k>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[i>>2]|0)+4>>2]|0))break a;if((c[k>>2]|0)>=(c[h>>2]|0))break a;f=(RR((c[c[i>>2]>>2]|0)+(c[j>>2]|0)|0,(c[g>>2]|0)+(c[k>>2]<<3)|0)|0)&255;c[j>>2]=(c[j>>2]|0)+f;c[k>>2]=(c[k>>2]|0)+1}}while(0);AR(c[i>>2]|0);k=BR(c[e>>2]|0)|0;l=m;return k|0}function _Y(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=YY(c[d>>2]|0,0)|0;if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}b=(c[d>>2]|0)+16|0;d=c[b+4>>2]|0;e=c[e>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=d;f=c[f>>2]|0;l=g;return f|0}function $Y(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+8|0;e=f+4|0;b=f;c[e>>2]=a;c[b>>2]=c[(c[(c[e>>2]|0)+24>>2]|0)+44>>2];while(1){if(!(c[b>>2]|0)){a=6;break}if((c[c[b>>2]>>2]|0)==(c[e>>2]|0)){a=4;break}c[b>>2]=c[(c[b>>2]|0)+4>>2]}if((a|0)==4){c[d>>2]=0;e=c[d>>2]|0;l=f;return e|0}else if((a|0)==6){c[d>>2]=aZ(c[(c[e>>2]|0)+20>>2]|0)|0;e=c[d>>2]|0;l=f;return e|0}return 0}function aZ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=bZ(c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return a|0}function bZ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d;c[b>>2]=a;e=AT(c[b>>2]|0)|0;a=(c[b>>2]|0)+72|0;if(!((e|0)!=(c[a>>2]|0)?1:(D|0)!=(c[a+4>>2]|0))){e=c[b>>2]|0;e=BR(e)|0;l=d;return e|0}eX(c[b>>2]|0);e=c[b>>2]|0;e=BR(e)|0;l=d;return e|0}function cZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=h+20|0;e=h+16|0;f=h+12|0;i=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[i>>2]=Ai(c[(c[e>>2]|0)+4>>2]|0)|0;if((c[i>>2]|0)!=1){i=c[f>>2]|0;l=h;return i|0}b=Fi(c[(c[e>>2]|0)+4>>2]|0)|0;i=g;c[i>>2]=b;c[i+4>>2]=D;i=g;c[f>>2]=eZ(c[(c[d>>2]|0)+20>>2]|0,c[i>>2]|0,c[i+4>>2]|0,(c[e>>2]|0)+8|0)|0;i=c[f>>2]|0;l=h;return i|0}function dZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;k=o+8|0;j=o;f=o+36|0;g=o+32|0;h=o+28|0;m=o+24|0;n=o+20|0;i=o+16|0;e=o+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=c[(c[f>>2]|0)+12>>2];c[n>>2]=0;c[i>>2]=0;if(!(kl(51501,c[g>>2]|0)|0)){a=c[f>>2]|0;if(!(c[(c[m>>2]|0)+32>>2]|0)){tZ(a,51512,j);c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else{c[n>>2]=uZ(c[a+20>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}}if(!(kl(45620,c[g>>2]|0)|0)){a=c[f>>2]|0;if((c[(c[m>>2]|0)+32>>2]|0)==1){tZ(a,51592,k);c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else{c[n>>2]=vZ(c[a+20>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}}if(!(kl(42637,c[g>>2]|0)|0)){c[n>>2]=wZ(c[(c[f>>2]|0)+20>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}if(!(kl(51648,c[g>>2]|0)|0)){c[e>>2]=Qi(c[h>>2]|0)|0;c[n>>2]=xZ(c[(c[f>>2]|0)+20>>2]|0,c[e>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}m=0==(kl(45628,c[g>>2]|0)|0);a=c[f>>2]|0;if(m){c[n>>2]=yZ(c[a+20>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}c[n>>2]=zZ(c[a+16>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=FT(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,i)|0;if(c[n>>2]|0){n=c[n>>2]|0;l=o;return n|0}if(c[i>>2]|0){c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else{c[n>>2]=AZ(c[(c[f>>2]|0)+20>>2]|0,c[g>>2]|0,c[h>>2]|0,0)|0;n=c[n>>2]|0;l=o;return n|0}return 0}function eZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+24|0;g=m;h=m+20|0;i=m+16|0;j=m+12|0;k=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[i>>2]=c[c[f>>2]>>2];c[k>>2]=0;c[j>>2]=YY(c[f>>2]|0,1)|0;if(!(c[j>>2]|0)){e=g;c[j>>2]=sZ(c[f>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[h>>2]|0)|0}if(((c[j>>2]|0)==0?c[(c[i>>2]|0)+44>>2]|0:0)?(c[j>>2]=NY(c[f>>2]|0,7,k,0)|0,(c[j>>2]|0)==0):0){h=g;qJ(c[k>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;Bs(c[k>>2]|0)|0;c[j>>2]=ys(c[k>>2]|0)|0}if(!(c[(c[i>>2]|0)+32>>2]|0)){if(!(c[j>>2]|0))c[j>>2]=NY(c[f>>2]|0,5,k,0)|0;if(!(c[j>>2]|0)){i=g;qJ(c[k>>2]|0,1,c[i>>2]|0,c[i+4>>2]|0)|0;Bs(c[k>>2]|0)|0;c[j>>2]=ys(c[k>>2]|0)|0}}if(c[j>>2]|0){k=c[j>>2]|0;l=m;return k|0}c[j>>2]=hX(c[f>>2]|0)|0;k=c[j>>2]|0;l=m;return k|0}function fZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=c[c[f>>2]>>2];if(!(c[j>>2]|0))c[j>>2]=gZ(c[(c[g>>2]|0)+20>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(c[j>>2]|0){i=c[j>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}i=c[i>>2]|0;c[j>>2]=hZ(c[(c[g>>2]|0)+20>>2]|0,c[h>>2]|0,c[i>>2]|0,c[i+4>>2]|0)|0;i=c[j>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}function gZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[e>>2]>>2];c[i>>2]=0;if(c[(c[h>>2]|0)+32>>2]|0)if((Ai(c[(c[f>>2]|0)+4>>2]|0)|0)==1){j=Fi(c[(c[f>>2]|0)+4>>2]|0)|0;k=c[g>>2]|0;c[k>>2]=j;c[k+4>>2]=D;k=c[i>>2]|0;l=m;return k|0}else{c[i>>2]=rZ(c[e>>2]|0,c[g>>2]|0)|0;k=c[i>>2]|0;l=m;return k|0}c[j>>2]=0;c[i>>2]=NY(c[e>>2]|0,3,j,0)|0;c[k>>2]=1;while(1){if(c[i>>2]|0)break;if((c[k>>2]|0)>((c[(c[h>>2]|0)+12>>2]|0)+1|0))break;c[i>>2]=tJ(c[j>>2]|0,c[k>>2]|0,c[(c[f>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}if(!(c[i>>2]|0)){Bs(c[j>>2]|0)|0;c[i>>2]=ys(c[j>>2]|0)|0}j=cj(c[c[h>>2]>>2]|0)|0;k=c[g>>2]|0;c[k>>2]=j;c[k+4>>2]=D;k=c[i>>2]|0;l=m;return k|0}function hZ(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;h=o+44|0;i=o+40|0;j=o;k=o+36|0;m=o+32|0;n=o+20|0;g=o+8|0;c[h>>2]=a;c[i>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[c[h>>2]>>2];c[m>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[n>>2]=c[h>>2];c[m>>2]=YY(c[h>>2]|0,1)|0;if(!(c[m>>2]|0)){f=j;c[m>>2]=iZ(c[(c[h>>2]|0)+4>>2]|0,0,c[f>>2]|0,c[f+4>>2]|0)|0}c[n+4>>2]=0;while(1){if(c[m>>2]|0)break;if((c[n+4>>2]|0)>=(c[(c[k>>2]|0)+12>>2]|0))break;c[n+8>>2]=0;if(!(d[(c[(c[k>>2]|0)+20>>2]|0)+(c[n+4>>2]|0)>>0]|0)){e=c[k>>2]|0;f=Rh(c[(c[i>>2]|0)+((c[n+4>>2]|0)+2<<2)>>2]|0)|0;c[m>>2]=EV(e,4,f,Sh(c[(c[i>>2]|0)+((c[n+4>>2]|0)+2<<2)>>2]|0)|0,n,154)|0}e=c[n+8>>2]|0;hT(m,g,e,((e|0)<0)<<31>>31);e=c[n+8>>2]|0;f=(c[(c[h>>2]|0)+24>>2]|0)+(c[n+4>>2]<<3)|0;b=f;e=_$(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;c[f>>2]=e;c[f+4>>2]=D;f=n+4|0;c[f>>2]=(c[f>>2]|0)+1}n=(c[h>>2]|0)+16|0;k=n;k=_$(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[n>>2]=k;c[n+4>>2]=D;if(!(c[m>>2]|0)){n=j;c[m>>2]=kZ(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,g)|0}_d(c[g>>2]|0);if(c[m>>2]|0){n=c[m>>2]|0;l=o;return n|0}c[m>>2]=hX(c[h>>2]|0)|0;n=c[m>>2]|0;l=o;return n|0}function iZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;if(!(c[(c[f>>2]|0)+12>>2]|0)){e=qZ(c[c[f>>2]>>2]|0,(c[f>>2]|0)+12|0,(c[f>>2]|0)+16|0)|0;c[(c[f>>2]|0)+36>>2]=e}d=h;a=c[d+4>>2]|0;e=(c[f>>2]|0)+24|0;b=c[e+4>>2]|0;do if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[e>>2]|0)>>>0:0))){d=h;e=(c[f>>2]|0)+24|0;if(((c[d>>2]|0)==(c[e>>2]|0)?(c[d+4>>2]|0)==(c[e+4>>2]|0):0)?(c[(c[f>>2]|0)+32>>2]|0)==0:0){i=7;break}if((c[(c[f>>2]|0)+16>>2]|0)>(c[(c[c[f>>2]>>2]|0)+84>>2]|0))i=7}else i=7;while(0);if((i|0)==7)jX(c[f>>2]|0);e=h;h=c[e+4>>2]|0;i=(c[f>>2]|0)+24|0;c[i>>2]=c[e>>2];c[i+4>>2]=h;c[(c[f>>2]|0)+32>>2]=c[g>>2];i=BR(c[f>>2]|0)|0;l=j;return i|0}function jZ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;o=n+28|0;j=n+24|0;k=n+20|0;m=n+16|0;h=n+4|0;i=n;c[o>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n+12>>2]=f;c[n+8>>2]=g;c[h>>2]=c[o>>2];c[i>>2]=c[(c[c[h>>2]>>2]|0)+4>>2];if((c[m>>2]|0)>32768)c[m>>2]=32768;if(!((c[j>>2]&1|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)!=0:0)){o=(c[h>>2]|0)+8|0;c[o>>2]=(c[o>>2]|0)+1}o=lZ(c[i>>2]|0,c[(c[h>>2]|0)+4>>2]|0,(c[(c[h>>2]|0)+8>>2]|0)-1|0,c[k>>2]|0,c[m>>2]|0)|0;l=n;return o|0}function kZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k;h=k+16|0;i=k+12|0;j=k+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[i>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+44>>2]|0)){j=c[i>>2]|0;l=k;return j|0}c[j>>2]=0;c[i>>2]=NY(c[f>>2]|0,6,j,0)|0;if(c[i>>2]|0){j=c[i>>2]|0;l=k;return j|0}qJ(c[j>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;lJ(c[j>>2]|0,2,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;Bs(c[j>>2]|0)|0;c[i>>2]=ys(c[j>>2]|0)|0;j=c[i>>2]|0;l=k;return j|0}function lZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[h>>2]=0;c[i>>2]=c[c[m>>2]>>2];f=(c[m>>2]|0)+24|0;c[h>>2]=mZ(c[(c[m>>2]|0)+12>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[n>>2]|0,c[o>>2]|0,48,c[p>>2]|0,c[q>>2]|0)|0;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[i>>2]|0)+24>>2]|0)?(c[h>>2]|0)==0:0))break;c[j>>2]=c[(c[(c[i>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2];c[k>>2]=nZ(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0)|0;if(c[k>>2]|0){f=(c[m>>2]|0)+24|0;c[h>>2]=mZ(c[(c[m>>2]|0)+12>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[n>>2]|0,c[o>>2]|0,48+(c[g>>2]|0)+1&255,c[p>>2]|0,c[k>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}l=r;return c[h>>2]|0}function mZ(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;F=l;l=l+80|0;C=F+68|0;E=F+64|0;q=F;r=F+60|0;s=F+56|0;t=F+72|0;u=F+52|0;v=F+48|0;w=F+44|0;x=F+40|0;y=F+36|0;z=F+32|0;A=F+28|0;B=F+24|0;m=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;c[E>>2]=d;d=q;c[d>>2]=e;c[d+4>>2]=f;c[r>>2]=g;c[s>>2]=h;a[t>>0]=i;c[u>>2]=j;c[v>>2]=k;c[z>>2]=0;c[A>>2]=(c[c[E>>2]>>2]|0)==0&1;c[w>>2]=oZ(c[(c[E>>2]|0)+12>>2]|0,a[t>>0]|0,c[u>>2]|0,c[v>>2]|0)|0;c[x>>2]=c[(c[(c[E>>2]|0)+20>>2]|0)+(c[w>>2]<<2)>>2];while(1){if(!(c[x>>2]|0))break;if(((a[(c[x>>2]|0)+40>>0]|0)==(a[t>>0]|0)?(c[(c[x>>2]|0)+20>>2]|0)==(c[v>>2]|0):0)?(H_((c[x>>2]|0)+40+1|0,c[u>>2]|0,c[v>>2]|0)|0)==0:0)break;c[x>>2]=c[c[x>>2]>>2]}if(!(c[x>>2]|0)){k=40+((c[v>>2]|0)+1)+1+64|0;c[B>>2]=k;c[B>>2]=(c[B>>2]|0)<128?128:k;do if((c[(c[E>>2]|0)+8>>2]<<1|0)>=(c[(c[E>>2]|0)+12>>2]|0)){c[m>>2]=pZ(c[E>>2]|0)|0;if(!(c[m>>2]|0)){c[w>>2]=oZ(c[(c[E>>2]|0)+12>>2]|0,a[t>>0]|0,c[u>>2]|0,c[v>>2]|0)|0;break}c[C>>2]=c[m>>2];E=c[C>>2]|0;l=F;return E|0}while(0);c[x>>2]=pe(c[B>>2]|0)|0;if(!(c[x>>2]|0)){c[C>>2]=7;E=c[C>>2]|0;l=F;return E|0}d=c[x>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[(c[x>>2]|0)+8>>2]=c[B>>2];a[(c[x>>2]|0)+40>>0]=a[t>>0]|0;h0((c[x>>2]|0)+40+1|0,c[u>>2]|0,c[v>>2]|0)|0;c[(c[x>>2]|0)+20>>2]=c[v>>2];a[(c[x>>2]|0)+40+((c[v>>2]|0)+1)>>0]=0;c[(c[x>>2]|0)+16>>2]=(c[v>>2]|0)+1+1+40;c[c[x>>2]>>2]=c[(c[(c[E>>2]|0)+20>>2]|0)+(c[w>>2]<<2)>>2];c[(c[(c[E>>2]|0)+20>>2]|0)+(c[w>>2]<<2)>>2]=c[x>>2];w=(c[E>>2]|0)+8|0;c[w>>2]=(c[w>>2]|0)+1;w=q;w=ES((c[x>>2]|0)+(c[(c[x>>2]|0)+16>>2]|0)|0,c[w>>2]|0,c[w+4>>2]|0)|0;v=(c[x>>2]|0)+16|0;c[v>>2]=(c[v>>2]|0)+w;v=q;w=c[v+4>>2]|0;B=(c[x>>2]|0)+32|0;c[B>>2]=c[v>>2];c[B+4>>2]=w;c[(c[x>>2]|0)+12>>2]=c[(c[x>>2]|0)+16>>2];if((c[c[E>>2]>>2]|0)!=1){B=(c[x>>2]|0)+16|0;c[B>>2]=(c[B>>2]|0)+1;b[(c[x>>2]|0)+26>>1]=(c[c[E>>2]>>2]|0)==0?0:-1}c[z>>2]=(c[z>>2]|0)+(c[(c[x>>2]|0)+16>>2]|0)}else{if(((c[(c[x>>2]|0)+8>>2]|0)-(c[(c[x>>2]|0)+16>>2]|0)|0)<22){c[n>>2]=c[(c[x>>2]|0)+8>>2]<<1;c[o>>2]=Xf(c[x>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[C>>2]=7;E=c[C>>2]|0;l=F;return E|0}c[(c[o>>2]|0)+8>>2]=c[n>>2];c[p>>2]=(c[(c[E>>2]|0)+20>>2]|0)+(c[w>>2]<<2);while(1){if((c[c[p>>2]>>2]|0)==(c[x>>2]|0))break;c[p>>2]=c[c[p>>2]>>2]}c[c[p>>2]>>2]=c[o>>2];c[x>>2]=c[o>>2]}c[z>>2]=(c[z>>2]|0)-(c[(c[x>>2]|0)+16>>2]|0)}c[y>>2]=c[x>>2];w=q;B=(c[x>>2]|0)+32|0;if(((c[w>>2]|0)!=(c[B>>2]|0)?1:(c[w+4>>2]|0)!=(c[B+4>>2]|0))?($S(c[E>>2]|0,c[x>>2]|0),v=(c[y>>2]|0)+(c[(c[x>>2]|0)+16>>2]|0)|0,B=q,w=(c[x>>2]|0)+32|0,w=Z$(c[B>>2]|0,c[B+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0,w=ES(v,w,D)|0,v=(c[x>>2]|0)+16|0,c[v>>2]=(c[v>>2]|0)+w,v=q,w=c[v+4>>2]|0,B=(c[x>>2]|0)+32|0,c[B>>2]=c[v>>2],c[B+4>>2]=w,c[A>>2]=1,c[(c[x>>2]|0)+12>>2]=c[(c[x>>2]|0)+16>>2],(c[c[E>>2]>>2]|0)!=1):0){B=(c[x>>2]|0)+16|0;c[B>>2]=(c[B>>2]|0)+1;b[(c[x>>2]|0)+26>>1]=(c[c[E>>2]>>2]|0)==0?0:-1;c[(c[x>>2]|0)+28>>2]=0}do if((c[r>>2]|0)>=0){if((c[c[E>>2]>>2]|0)==1){a[(c[x>>2]|0)+25>>0]=1;break}do if((c[r>>2]|0)!=(b[(c[x>>2]|0)+26>>1]|0))if(!(c[c[E>>2]>>2]|0)){B=c[y>>2]|0;v=(c[x>>2]|0)+16|0;w=c[v>>2]|0;c[v>>2]=w+1;a[B+w>>0]=1;w=c[r>>2]|0;w=ES((c[y>>2]|0)+(c[(c[x>>2]|0)+16>>2]|0)|0,w,((w|0)<0)<<31>>31)|0;B=(c[x>>2]|0)+16|0;c[B>>2]=(c[B>>2]|0)+w;b[(c[x>>2]|0)+26>>1]=c[r>>2];c[(c[x>>2]|0)+28>>2]=0;break}else{c[A>>2]=1;B=c[r>>2]|0;c[s>>2]=B;b[(c[x>>2]|0)+26>>1]=B;break}while(0);if(c[A>>2]|0){A=(c[s>>2]|0)-(c[(c[x>>2]|0)+28>>2]|0)+2|0;A=ES((c[y>>2]|0)+(c[(c[x>>2]|0)+16>>2]|0)|0,A,((A|0)<0)<<31>>31)|0;B=(c[x>>2]|0)+16|0;c[B>>2]=(c[B>>2]|0)+A;c[(c[x>>2]|0)+28>>2]=c[s>>2]}}else a[(c[x>>2]|0)+24>>0]=1;while(0);c[z>>2]=(c[z>>2]|0)+(c[(c[x>>2]|0)+16>>2]|0);E=c[(c[E>>2]|0)+4>>2]|0;c[E>>2]=(c[E>>2]|0)+(c[z>>2]|0);c[C>>2]=0;E=c[C>>2]|0;l=F;return E|0}function nZ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=0;c[k>>2]=0;while(1){e=c[j>>2]|0;if((c[k>>2]|0)>=(c[i>>2]|0)){b=9;break}if((e|0)>=(c[h>>2]|0)){b=4;break}e=c[g>>2]|0;f=c[j>>2]|0;c[j>>2]=f+1;a:do if((d[e+f>>0]|0)>=192)while(1){if((a[(c[g>>2]|0)+(c[j>>2]|0)>>0]&192|0)!=128)break a;c[j>>2]=(c[j>>2]|0)+1}while(0);c[k>>2]=(c[k>>2]|0)+1}if((b|0)==4){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}else if((b|0)==9){c[m>>2]=e;m=c[m>>2]|0;l=n;return m|0}return 0}function oZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+16|0;i=n+20|0;j=n+12|0;o=n+8|0;k=n+4|0;m=n;c[h>>2]=b;a[i>>0]=e;c[j>>2]=f;c[o>>2]=g;c[m>>2]=13;c[k>>2]=(c[o>>2]|0)-1;while(1){b=c[m>>2]<<3^c[m>>2];if((c[k>>2]|0)<0)break;c[m>>2]=b^(d[(c[j>>2]|0)+(c[k>>2]|0)>>0]|0);c[k>>2]=(c[k>>2]|0)+-1}c[m>>2]=b^(d[i>>0]|0);l=n;return ((c[m>>2]|0)>>>0)%((c[h>>2]|0)>>>0)|0|0}function pZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;b=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+12>>2]<<1;c[h>>2]=c[(c[d>>2]|0)+20>>2];c[g>>2]=pe(c[e>>2]<<2)|0;if(!(c[g>>2]|0)){c[b>>2]=7;j=c[b>>2]|0;l=k;return j|0}m0(c[g>>2]|0,0,c[e>>2]<<2|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;while(1){if(!(c[(c[h>>2]|0)+(c[f>>2]<<2)>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+(c[f>>2]<<2)>>2];c[(c[h>>2]|0)+(c[f>>2]<<2)>>2]=c[c[j>>2]>>2];m=c[e>>2]|0;a=(c[j>>2]|0)+40|0;c[i>>2]=xT(m,a,g$((c[j>>2]|0)+40|0)|0)|0;c[c[j>>2]>>2]=c[(c[g>>2]|0)+(c[i>>2]<<2)>>2];c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}_d(c[h>>2]|0);c[(c[d>>2]|0)+12>>2]=c[e>>2];c[(c[d>>2]|0)+20>>2]=c[g>>2];c[b>>2]=0;m=c[b>>2]|0;l=k;return m|0}function qZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;g=k+16|0;f=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;d=pe(24)|0;c[i>>2]=d;c[c[g>>2]>>2]=d;if(!(c[i>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}a=c[i>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[(c[i>>2]|0)+4>>2]=c[f>>2];c[c[i>>2]>>2]=c[(c[e>>2]|0)+48>>2];c[(c[i>>2]|0)+12>>2]=1024;c[j>>2]=c[(c[i>>2]|0)+12>>2]<<2;a=pe(c[j>>2]|0)|0;c[(c[i>>2]|0)+20>>2]=a;a=c[i>>2]|0;if(!(c[(c[i>>2]|0)+20>>2]|0)){_d(a);c[c[g>>2]>>2]=0;c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}else{m0(c[a+20>>2]|0,0,c[j>>2]|0)|0;j=c[h>>2]|0;l=k;return j|0}return 0}function rZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=20;if(!(c[(c[c[d>>2]>>2]|0)+44>>2]|0)){g=c[f>>2]|0;l=h;return g|0}c[g>>2]=0;c[f>>2]=NY(c[d>>2]|0,6,g,0)|0;if(!(c[f>>2]|0)){rJ(c[g>>2]|0,1)|0;rJ(c[g>>2]|0,2)|0;Bs(c[g>>2]|0)|0;c[f>>2]=ys(c[g>>2]|0)|0}if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}d=cj(c[c[c[d>>2]>>2]>>2]|0)|0;g=c[e>>2]|0;c[g>>2]=d;c[g+4>>2]=D;g=c[f>>2]|0;l=h;return g|0}function sZ(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;n=t+56|0;o=t+52|0;p=t;q=t+48|0;r=t+44|0;s=t+40|0;g=t+36|0;h=t+32|0;i=t+28|0;j=t+16|0;k=t+12|0;m=t+8|0;c[o>>2]=a;a=p;c[a>>2]=b;c[a+4>>2]=e;c[q>>2]=f;c[r>>2]=c[c[o>>2]>>2];c[s>>2]=0;if(!(c[q>>2]|0)){c[g>>2]=NY(c[o>>2]|0,2,s,0)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];s=c[n>>2]|0;l=t;return s|0}f=p;qJ(c[s>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;if((Bs(c[s>>2]|0)|0)!=100){c[n>>2]=ys(c[s>>2]|0)|0;s=c[n>>2]|0;l=t;return s|0}}c[j>>2]=c[o>>2];c[j+4>>2]=-1;c[g>>2]=iZ(c[(c[o>>2]|0)+4>>2]|0,1,c[p>>2]|0,c[p+4>>2]|0)|0;c[i>>2]=1;while(1){if(c[g>>2]|0)break;if((c[i>>2]|0)>(c[(c[r>>2]|0)+12>>2]|0))break;if(!(d[(c[(c[r>>2]|0)+20>>2]|0)+((c[i>>2]|0)-1)>>0]|0)){if(c[s>>2]|0){c[k>>2]=Cv(c[s>>2]|0,c[i>>2]|0)|0;c[m>>2]=gJ(c[s>>2]|0,c[i>>2]|0)|0}else{c[k>>2]=Rh(c[(c[q>>2]|0)+((c[i>>2]|0)-1<<2)>>2]|0)|0;c[m>>2]=Sh(c[(c[q>>2]|0)+((c[i>>2]|0)-1<<2)>>2]|0)|0}c[j+8>>2]=0;c[g>>2]=EV(c[r>>2]|0,4,c[k>>2]|0,c[m>>2]|0,j,154)|0;f=c[j+8>>2]|0;p=(c[(c[o>>2]|0)+24>>2]|0)+((c[i>>2]|0)-1<<3)|0;e=p;f=Z$(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[p>>2]=f;c[p+4>>2]=D}c[i>>2]=(c[i>>2]|0)+1}r=(c[o>>2]|0)+16|0;q=r;q=_$(c[q>>2]|0,c[q+4>>2]|0,-1,-1)|0;c[r>>2]=q;c[r+4>>2]=D;c[h>>2]=ys(c[s>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=c[h>>2];c[n>>2]=c[g>>2];s=c[n>>2]|0;l=t;return s|0}function tZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;d=vf(c[h>>2]|0,g)|0;c[(c[f>>2]|0)+8>>2]=d;l=e;return}function uZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+48|0;f=g+16|0;h=g;b=g+32|0;d=g+28|0;e=g+24|0;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=c[c[d>>2]>>2]|0;k=c[(c[d>>2]|0)+8>>2]|0;j=c[(c[d>>2]|0)+4>>2]|0;i=c[(c[d>>2]|0)+8>>2]|0;c[h>>2]=c[(c[d>>2]|0)+4>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=i;c[e>>2]=XX(a,0,51758,h)|0;if((c[e>>2]|0)==0?c[(c[d>>2]|0)+44>>2]|0:0){k=c[c[d>>2]>>2]|0;j=c[(c[d>>2]|0)+8>>2]|0;c[f>>2]=c[(c[d>>2]|0)+4>>2];c[f+4>>2]=j;c[e>>2]=XX(k,0,51808,f)|0}if(!(c[e>>2]|0))c[e>>2]=PZ(c[(c[b>>2]|0)+4>>2]|0)|0;if(c[e>>2]|0){k=c[e>>2]|0;l=g;return k|0}c[e>>2]=AZ(c[b>>2]|0,47943,0,4)|0;k=c[e>>2]|0;l=g;return k|0}function vZ(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;b=k+44|0;e=k+32|0;f=k+28|0;g=k+24|0;h=k+12|0;i=k+8|0;j=k;c[b>>2]=a;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f>>2]=c[c[b>>2]>>2];c[g>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[b>>2];c[i>>2]=uZ(c[b>>2]|0)|0;if(!(c[i>>2]|0))c[i>>2]=YY(c[b>>2]|0,1)|0;if(!(c[i>>2]|0))c[i>>2]=NY(c[b>>2]|0,10,g,0)|0;while(1){if(c[i>>2]|0)break;if(100!=(Bs(c[g>>2]|0)|0))break;m=jJ(c[g>>2]|0,0)|0;a=j;c[a>>2]=m;c[a+4>>2]=D;xS(e);a=j;c[i>>2]=iZ(c[(c[b>>2]|0)+4>>2]|0,0,c[a>>2]|0,c[a+4>>2]|0)|0;c[h+4>>2]=0;while(1){if(c[i>>2]|0)break;if((c[h+4>>2]|0)>=(c[(c[f>>2]|0)+12>>2]|0))break;c[h+8>>2]=0;if(!(d[(c[(c[f>>2]|0)+20>>2]|0)+(c[h+4>>2]|0)>>0]|0)){a=c[f>>2]|0;m=Cv(c[g>>2]|0,(c[h+4>>2]|0)+1|0)|0;c[i>>2]=EV(a,4,m,gJ(c[g>>2]|0,(c[h+4>>2]|0)+1|0)|0,h,154)|0}a=c[h+8>>2]|0;hT(i,e,a,((a|0)<0)<<31>>31);a=c[h+8>>2]|0;m=(c[(c[b>>2]|0)+24>>2]|0)+(c[h+4>>2]<<3)|0;n=m;a=_$(c[n>>2]|0,c[n+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;c[m+4>>2]=D;m=h+4|0;c[m>>2]=(c[m>>2]|0)+1}n=(c[b>>2]|0)+16|0;m=n;m=_$(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=D;if(c[i>>2]|0)continue;n=j;c[i>>2]=kZ(c[b>>2]|0,c[n>>2]|0,c[n+4>>2]|0,e)|0}_d(c[e>>2]|0);if(c[i>>2]|0){n=c[i>>2]|0;l=k;return n|0}c[i>>2]=hX(c[b>>2]|0)|0;n=c[i>>2]|0;l=k;return n|0}function wZ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=OZ(c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return a|0}function xZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=MZ(c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function yZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+96|0;d=r+84|0;i=r+80|0;j=r+76|0;k=r+72|0;m=r+68|0;n=r+64|0;o=r+16|0;p=r+60|0;q=r+56|0;e=r+52|0;f=r+48|0;g=r+8|0;h=r;c[i>>2]=b;c[j>>2]=c[c[i>>2]>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[o+28>>2]=c[c[i>>2]>>2];c[n>>2]=pe((c[(c[j>>2]|0)+12>>2]|0)*12|0)|0;if(!(c[n>>2]|0)){c[d>>2]=7;q=c[d>>2]|0;l=r;return q|0}c[m>>2]=(c[n>>2]|0)+(c[(c[j>>2]|0)+12>>2]<<3);m0(c[n>>2]|0,0,c[(c[j>>2]|0)+12>>2]<<3|0)|0;c[k>>2]=NY(c[i>>2]|0,10,p,0)|0;if(!(c[k>>2]|0)){do{if(100!=(Bs(c[p>>2]|0)|0))break;s=jJ(c[p>>2]|0,0)|0;b=o;c[b>>2]=s;c[b+4>>2]=D;c[o+12>>2]=0;if(c[(c[j>>2]|0)+44>>2]|0){s=o;c[k>>2]=LY(c[i>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[m>>2]|0)|0}if((c[k>>2]|0)==0?(c[(c[j>>2]|0)+48>>2]|0)==1:0)c[k>>2]=CZ(o+24|0)|0;c[e>>2]=0;while(1){if(c[k>>2]|0)break;if((c[e>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;if(!(a[(c[(c[j>>2]|0)+20>>2]|0)+(c[e>>2]|0)>>0]|0)){c[o+8>>2]=c[e>>2];c[o+12>>2]=0;if((c[(c[j>>2]|0)+48>>2]|0)==2)c[k>>2]=CZ(o+24|0)|0;if(!(c[k>>2]|0)){b=c[j>>2]|0;s=Cv(c[p>>2]|0,(c[e>>2]|0)+1|0)|0;c[k>>2]=EV(b,4,s,gJ(c[p>>2]|0,(c[e>>2]|0)+1|0)|0,o,155)|0}if(((c[k>>2]|0)==0?c[(c[j>>2]|0)+44>>2]|0:0)?(c[o+12>>2]|0)!=(c[(c[m>>2]|0)+(c[e>>2]<<2)>>2]|0):0)c[k>>2]=267;b=c[o+12>>2]|0;s=(c[n>>2]|0)+(c[e>>2]<<3)|0;t=s;b=_$(c[t>>2]|0,c[t+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[s>>2]=b;c[s+4>>2]=D;if((c[(c[j>>2]|0)+48>>2]|0)==2){EZ(c[o+24>>2]|0);c[o+24>>2]=0}}c[e>>2]=(c[e>>2]|0)+1}EZ(c[o+24>>2]|0);c[o+24>>2]=0}while(!(c[k>>2]|0));c[q>>2]=ys(c[p>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[q>>2]}a:do if(!(c[k>>2]|0)){c[k>>2]=YY(c[i>>2]|0,0)|0;c[f>>2]=0;while(1){if(c[k>>2]|0)break a;if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break a;s=(c[(c[i>>2]|0)+24>>2]|0)+(c[f>>2]<<3)|0;t=(c[n>>2]|0)+(c[f>>2]<<3)|0;if((c[s>>2]|0)!=(c[t>>2]|0)?1:(c[s+4>>2]|0)!=(c[t+4>>2]|0))c[k>>2]=267;c[f>>2]=(c[f>>2]|0)+1}}while(0);if((((c[k>>2]|0)==0?(c[(c[j>>2]|0)+32>>2]|0)==0:0)?(t=g,c[t>>2]=0,c[t+4>>2]=0,c[k>>2]=FZ(c[i>>2]|0,46221,g)|0,(c[k>>2]|0)==0):0)?(s=g,t=(c[i>>2]|0)+16|0,(c[s>>2]|0)!=(c[t>>2]|0)?1:(c[s+4>>2]|0)!=(c[t+4>>2]|0)):0)c[k>>2]=267;if((((c[k>>2]|0)==0?c[(c[j>>2]|0)+44>>2]|0:0)?(t=h,c[t>>2]=0,c[t+4>>2]=0,c[k>>2]=FZ(c[i>>2]|0,49899,h)|0,(c[k>>2]|0)==0):0)?(s=h,t=(c[i>>2]|0)+16|0,(c[s>>2]|0)!=(c[t>>2]|0)?1:(c[s+4>>2]|0)!=(c[t+4>>2]|0)):0)c[k>>2]=267;if(!(c[k>>2]|0)){t=o+16|0;c[k>>2]=GZ(c[(c[i>>2]|0)+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0}_d(c[n>>2]|0);c[d>>2]=c[k>>2];t=c[d>>2]|0;l=r;return t|0}function zZ(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=hS(c[d>>2]|0)|0;jS(c[e>>2]|0);a=BR(c[d>>2]|0)|0;l=b;return a|0}function AZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+24|0;f=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[h>>2]=a;c[f>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=0;c[m>>2]=NY(c[h>>2]|0,9,k,0)|0;if(!(c[m>>2]|0)){sJ(c[k>>2]|0,1,c[f>>2]|0,-1,0)|0;a=c[k>>2]|0;if(c[i>>2]|0)tJ(a,2,c[i>>2]|0)|0;else pJ(a,2,c[j>>2]|0)|0;Bs(c[k>>2]|0)|0;c[m>>2]=ys(c[k>>2]|0)|0}if(!((c[m>>2]|0)==0&(c[i>>2]|0)!=0)){m=c[m>>2]|0;l=n;return m|0}c[g>>2]=(c[(c[c[h>>2]>>2]|0)+64>>2]|0)+1;c[m>>2]=BZ(c[(c[h>>2]|0)+4>>2]|0,c[g>>2]|0)|0;if(c[m>>2]|0){m=c[m>>2]|0;l=n;return m|0}c[(c[c[h>>2]>>2]|0)+64>>2]=c[g>>2];m=c[m>>2]|0;l=n;return m|0}function BZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+32|0;h=g+16|0;j=g+12|0;d=g+8|0;i=g+4|0;e=g+20|0;f=g;c[h>>2]=a;c[j>>2]=b;c[i>>2]=c[c[h>>2]>>2];c[f>>2]=0;AX(e,c[j>>2]|0);c[d>>2]=xJ(c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+4>>2]|0,45300,10,0,1,f)|0;if(c[d>>2]|0){j=c[d>>2]|0;l=g;return j|0}FJ(c[f>>2]|0,e,4,0)|0;c[d>>2]=AJ(c[f>>2]|0)|0;j=c[d>>2]|0;l=g;return j|0}function CZ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;a=dT(b,2048)|0;c[c[e>>2]>>2]=a;l=d;return c[b>>2]|0}function DZ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+64|0;v=u+56|0;q=u+52|0;r=u+48|0;s=u+44|0;h=u+32|0;i=u+28|0;j=u+24|0;k=u+20|0;t=u+16|0;m=u+12|0;n=u+8|0;o=u+4|0;p=u;c[v>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[u+40>>2]=f;c[u+36>>2]=g;c[h>>2]=c[v>>2];c[i>>2]=c[(c[h>>2]|0)+24>>2];c[t>>2]=0;if((c[s>>2]|0)>32768)c[s>>2]=32768;if(!((c[q>>2]&1|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0)){v=(c[h>>2]|0)+12|0;c[v>>2]=(c[v>>2]|0)+1}switch(c[(c[(c[h>>2]|0)+28>>2]|0)+48>>2]|0){case 0:{c[m>>2]=(c[(c[h>>2]|0)+12>>2]|0)-1;c[n>>2]=c[(c[h>>2]|0)+8>>2];break}case 2:{c[m>>2]=c[(c[h>>2]|0)+8>>2];c[n>>2]=0;break}default:{c[m>>2]=0;c[n>>2]=0}}c[t>>2]=LZ(c[i>>2]|0,0,c[r>>2]|0,c[s>>2]|0,j)|0;if((c[t>>2]|0)==0&(c[j>>2]|0)==0){g=c[h>>2]|0;g=IZ(c[g>>2]|0,c[g+4>>2]|0,c[n>>2]|0,c[m>>2]|0,0,c[r>>2]|0,c[s>>2]|0)|0;v=(c[h>>2]|0)+16|0;f=v;q=c[f+4>>2]^D;c[v>>2]=c[f>>2]^g;c[v+4>>2]=q}c[k>>2]=0;while(1){if(c[t>>2]|0){a=19;break}if((c[k>>2]|0)>=(c[(c[(c[h>>2]|0)+28>>2]|0)+24>>2]|0)){a=19;break}c[o>>2]=c[(c[(c[(c[h>>2]|0)+28>>2]|0)+28>>2]|0)+(c[k>>2]<<2)>>2];c[p>>2]=nZ(c[r>>2]|0,c[s>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0?(c[t>>2]=LZ(c[i>>2]|0,(c[k>>2]|0)+1|0,c[r>>2]|0,c[p>>2]|0,j)|0,(c[j>>2]|0)==0):0){g=c[h>>2]|0;g=IZ(c[g>>2]|0,c[g+4>>2]|0,c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+1|0,c[r>>2]|0,c[p>>2]|0)|0;v=(c[h>>2]|0)+16|0;f=v;q=c[f+4>>2]^D;c[v>>2]=c[f>>2]^g;c[v+4>>2]=q}c[k>>2]=(c[k>>2]|0)+1}if((a|0)==19){l=u;return c[t>>2]|0}return 0}function EZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;if(!(c[b>>2]|0)){l=g;return}c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>>>0>=512)break;c[e>>2]=c[a+(c[d>>2]<<2)>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];_d(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}_d(a);l=g;return}function FZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+48|0;k=j;n=j+36|0;m=j+32|0;e=j+28|0;f=j+24|0;g=j+20|0;h=j+16|0;i=j+12|0;c[n>>2]=a;c[m>>2]=b;c[e>>2]=d;c[f>>2]=c[c[n>>2]>>2];b=c[(c[f>>2]|0)+8>>2]|0;d=c[m>>2]|0;c[k>>2]=c[(c[f>>2]|0)+4>>2];c[k+4>>2]=b;c[k+8>>2]=d;c[g>>2]=nf(51726,k)|0;if(!(c[g>>2]|0)){c[h>>2]=7;n=c[g>>2]|0;_d(n);n=c[h>>2]|0;l=j;return n|0}c[i>>2]=0;c[h>>2]=zv(c[c[f>>2]>>2]|0,c[g>>2]|0,-1,i,0)|0;if(c[h>>2]|0){n=c[g>>2]|0;_d(n);n=c[h>>2]|0;l=j;return n|0}if(100==(Bs(c[i>>2]|0)|0)){m=jJ(c[i>>2]|0,0)|0;n=c[e>>2]|0;c[n>>2]=m;c[n+4>>2]=D}c[h>>2]=Fr(c[i>>2]|0)|0;n=c[g>>2]|0;_d(n);n=c[h>>2]|0;l=j;return n|0}function GZ(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+96|0;q=x+92|0;r=x+24|0;s=x+88|0;t=x+16|0;u=x+76|0;v=x+72|0;w=x+68|0;f=x+60|0;g=x+56|0;h=x+52|0;i=x+48|0;j=x+8|0;k=x+44|0;m=x;n=x+40|0;o=x+36|0;p=x+32|0;c[q>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=c[(c[c[q>>2]>>2]|0)+48>>2];d=t;c[d>>2]=0;c[d+4>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[x+64>>2]=32;c[w>>2]=hS(c[q>>2]|0)|0;a:do if(c[w>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break a;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[w>>2]|0)+24+((c[f>>2]|0)*12|0)+4>>2]|0))break;c[h>>2]=(c[(c[w>>2]|0)+24+((c[f>>2]|0)*12|0)+8>>2]|0)+((c[g>>2]|0)*12|0);HZ(c[q>>2]|0,c[h>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}}while(0);iS(c[q>>2]|0,c[w>>2]|0,32,0,0,0,-1,0,v);while(1){if(NS(c[q>>2]|0,c[v>>2]|0)|0)break;h=j;c[h>>2]=0;c[h+4>>2]=0;c[k>>2]=0;h=iW(c[v>>2]|0)|0;d=m;c[d>>2]=h;c[d+4>>2]=D;c[n>>2]=dS(c[v>>2]|0,i)|0;b:do if((c[s>>2]|0)==1){if(!(cT(c[q>>2]|0,c[v>>2]|0)|0)){g=m;g=IZ(c[g>>2]|0,c[g+4>>2]|0,0,0,-1,c[n>>2]|0,c[i>>2]|0)|0;f=t;h=c[f+4>>2]^D;d=t;c[d>>2]=c[f>>2]^g;c[d+4>>2]=h}}else{c[u+4>>2]=0;yS(c[q>>2]|0,(c[v>>2]|0)+80+((e[(c[(c[v>>2]|0)+72>>2]|0)+4>>1]|0)*88|0)|0,0,u);while(1){if(xR(c[u>>2]|0,c[u+4>>2]|0,k,j)|0)break b;g=j;g=e0(c[g>>2]|0,c[g+4>>2]|0,32)|0;c[o>>2]=g;c[p>>2]=c[j>>2];g=m;g=IZ(c[g>>2]|0,c[g+4>>2]|0,c[o>>2]|0,c[p>>2]|0,-1,c[n>>2]|0,c[i>>2]|0)|0;f=t;h=c[f+4>>2]^D;d=t;c[d>>2]=c[f>>2]^g;c[d+4>>2]=h}}while(0);zR(c[q>>2]|0,c[v>>2]|0,0,0,0)}oS(c[v>>2]|0);if(c[(c[q>>2]|0)+36>>2]|0){w=c[w>>2]|0;jS(w);nS(u);w=c[q>>2]|0;w=BR(w)|0;l=x;return w|0}s=r;v=t;if(!((c[s>>2]|0)!=(c[v>>2]|0)?1:(c[s+4>>2]|0)!=(c[v+4>>2]|0))){w=c[w>>2]|0;jS(w);nS(u);w=c[q>>2]|0;w=BR(w)|0;l=x;return w|0}c[(c[q>>2]|0)+36>>2]=267;w=c[w>>2]|0;jS(w);nS(u);w=c[q>>2]|0;w=BR(w)|0;l=x;return w|0}function HZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;F=l;l=l+128|0;e=F+24|0;q=F+116|0;x=F+112|0;d=F+108|0;y=F+104|0;z=F+100|0;A=F+96|0;B=F+92|0;C=F+16|0;f=F+88|0;g=F+84|0;h=F+80|0;i=F+76|0;j=F+72|0;k=F+68|0;m=F+64|0;n=F+60|0;o=F+56|0;p=F+52|0;r=F+48|0;s=F+44|0;t=F+40|0;u=F+8|0;v=F;w=F+36|0;c[q>>2]=a;c[x>>2]=b;c[d>>2]=c[c[q>>2]>>2];c[y>>2]=0;c[A>>2]=(c[(c[x>>2]|0)+4>>2]|0)-1;c[B>>2]=c[(c[x>>2]|0)+8>>2];if(!(c[(c[x>>2]|0)+4>>2]|0)){l=F;return}b=c[q>>2]|0;G=c[(c[d>>2]|0)+8>>2]|0;a=c[c[x>>2]>>2]|0;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[e+4>>2]=G;c[e+8>>2]=a;uT(b,y,nf(51654,e)|0)|0;while(1){if(c[(c[q>>2]|0)+36>>2]|0)break;if(100!=(Bs(c[y>>2]|0)|0))break;c[g>>2]=gJ(c[y>>2]|0,1)|0;c[h>>2]=Cv(c[y>>2]|0,1)|0;c[i>>2]=iJ(c[y>>2]|0,2)|0;c[j>>2]=iJ(c[y>>2]|0,3)|0;if((c[i>>2]|0)<(c[(c[x>>2]|0)+4>>2]|0))continue;G=c[c[x>>2]>>2]|0;G=j0(G|0,((G|0)<0)<<31>>31|0,37)|0;G=_$(G|0,D|0,0,0)|0;G=_$(G|0,D|0,0,0)|0;e=c[i>>2]|0;e=_$(G|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;G=C;c[G>>2]=e;c[G+4>>2]=D;G=C;c[f>>2]=PR(c[q>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!(c[f>>2]|0))break;if((c[(c[f>>2]|0)+4>>2]|0)<=(c[(c[f>>2]|0)+8>>2]|0))c[(c[q>>2]|0)+36>>2]=267;else{c[k>>2]=WS(c[f>>2]|0)|0;c[m>>2]=(QR(c[c[f>>2]>>2]|0)|0)&65535;if((c[m>>2]|0)<(c[k>>2]|0)){G=VR((c[c[f>>2]>>2]|0)+(c[k>>2]|0)|0,n)|0;c[k>>2]=(c[k>>2]|0)+G;c[o>>2]=H_((c[c[f>>2]>>2]|0)+(c[k>>2]|0)|0,c[h>>2]|0,(c[n>>2]|0)<(c[g>>2]|0)?c[n>>2]|0:c[g>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=(c[n>>2]|0)-(c[g>>2]|0);if((c[o>>2]|0)<0){a=c[q>>2]|0;E=15}}else{a=c[q>>2]|0;E=15}if((E|0)==15){E=0;c[a+36>>2]=267}JZ(c[q>>2]|0,c[f>>2]|0)}AR(c[f>>2]|0);if(c[(c[q>>2]|0)+36>>2]|0)break;KZ(c[q>>2]|0,c[x>>2]|0,(c[A>>2]|0)+1|0,(c[B>>2]|0)+1|0,(c[i>>2]|0)-1|0);if(c[(c[q>>2]|0)+36>>2]|0)break;if(c[j>>2]|0){c[p>>2]=0;c[r>>2]=c[i>>2];c[s>>2]=c[c[x>>2]>>2];c[t>>2]=0;c[p>>2]=rT(c[q>>2]|0,0,c[s>>2]|0,c[i>>2]|0)|0;while(1){if(IR(c[q>>2]|0,c[p>>2]|0)|0)break;c[t>>2]=(c[r>>2]|0)+1;while(1){G=c[t>>2]|0;if((G|0)>=(KR(c[p>>2]|0)|0))break;G=c[s>>2]|0;G=j0(G|0,((G|0)<0)<<31>>31|0,37)|0;G=_$(G|0,D|0,0,0)|0;G=_$(G|0,D|0,0,0)|0;e=c[t>>2]|0;e=_$(G|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;G=u;c[G>>2]=e;c[G+4>>2]=D;G=u;c[f>>2]=PR(c[q>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[f>>2]|0){if((QR(c[c[f>>2]>>2]|0)|0)&65535|0)c[(c[q>>2]|0)+36>>2]=267;AR(c[f>>2]|0)}c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=KR(c[p>>2]|0)|0;G=c[s>>2]|0;G=j0(G|0,((G|0)<0)<<31>>31|0,37)|0;G=_$(G|0,D|0,0,0)|0;G=_$(G|0,D|0,0,0)|0;e=c[r>>2]|0;e=_$(G|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;G=u;c[G>>2]=e;c[G+4>>2]=D;G=u;c[f>>2]=PR(c[q>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[f>>2]|0){c[w>>2]=(QR(c[c[f>>2]>>2]|0)|0)&65535;if(!((c[w>>2]|0)<(c[(c[f>>2]|0)+8>>2]|0)?(RR((c[c[f>>2]>>2]|0)+(c[w>>2]|0)|0,v)|0,G=v,d=c[G>>2]|0,G=c[G+4>>2]|0,e=JR(c[p>>2]|0)|0,!((d|0)!=(e|0)|(G|0)!=(D|0))):0)){a=c[q>>2]|0;E=34}if((E|0)==34){E=0;c[a+36>>2]=267}AR(c[f>>2]|0)}LR(c[q>>2]|0,c[p>>2]|0)|0}c[B>>2]=c[t>>2];qS(c[p>>2]|0)}else c[B>>2]=c[(c[x>>2]|0)+8>>2];c[A>>2]=c[i>>2]}c[z>>2]=Fr(c[y>>2]|0)|0;if(c[(c[q>>2]|0)+36>>2]|0){l=F;return}c[(c[q>>2]|0)+36>>2]=c[z>>2];l=F;return}function IZ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=l;l=l+48|0;s=p+8|0;r=p+36|0;q=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p;t=s;c[t>>2]=b;c[t+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=i;g=s;h=c[g+4>>2]|0;i=o;c[i>>2]=c[g>>2];c[i+4>>2]=h;i=o;i=j0(c[i>>2]|0,c[i+4>>2]|0,3)|0;h=c[r>>2]|0;h=_$(i|0,D|0,h|0,((h|0)<0)<<31>>31|0)|0;i=o;h=_$(c[i>>2]|0,c[i+4>>2]|0,h|0,D|0)|0;i=o;c[i>>2]=h;c[i+4>>2]=D;i=o;i=j0(c[i>>2]|0,c[i+4>>2]|0,3)|0;h=c[q>>2]|0;h=_$(i|0,D|0,h|0,((h|0)<0)<<31>>31|0)|0;i=o;h=_$(c[i>>2]|0,c[i+4>>2]|0,h|0,D|0)|0;i=o;c[i>>2]=h;c[i+4>>2]=D;if((c[j>>2]|0)>=0){t=o;t=j0(c[t>>2]|0,c[t+4>>2]|0,3)|0;s=48+(c[j>>2]|0)|0;s=_$(t|0,D|0,s|0,((s|0)<0)<<31>>31|0)|0;t=o;s=_$(c[t>>2]|0,c[t+4>>2]|0,s|0,D|0)|0;t=o;c[t>>2]=s;c[t+4>>2]=D}c[n>>2]=0;while(1){d=o;b=c[d>>2]|0;d=c[d+4>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;t=j0(b|0,d|0,3)|0;s=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;s=_$(t|0,D|0,s|0,((s|0)<0)<<31>>31|0)|0;t=o;s=_$(c[t>>2]|0,c[t+4>>2]|0,s|0,D|0)|0;t=o;c[t>>2]=s;c[t+4>>2]=D;c[n>>2]=(c[n>>2]|0)+1}D=d;l=p;return b|0}function JZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;h=q+60|0;i=q+56|0;j=q+52|0;k=q+48|0;o=q+36|0;p=q+24|0;m=q+20|0;n=q+16|0;d=q+12|0;e=q+8|0;f=q+4|0;g=q;c[h>>2]=a;c[i>>2]=b;c[j>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[k>>2]=c[(c[i>>2]|0)+8>>2];while(1){if((c[k>>2]|0)>=(c[(c[i>>2]|0)+4>>2]|0)){a=18;break}if(c[(c[h>>2]|0)+36>>2]|0){a=18;break}b=VR((c[c[i>>2]>>2]|0)+(c[k>>2]|0)|0,d)|0;c[k>>2]=(c[k>>2]|0)+b;c[j>>2]=(c[j>>2]|0)+(c[d>>2]|0);c[n>>2]=c[j>>2];do if((c[n>>2]|0)<(c[(c[i>>2]|0)+8>>2]|0)){a=(c[c[i>>2]>>2]|0)+(c[n>>2]|0)|0;if((c[j>>2]|0)==(c[d>>2]|0)){a=VR(a,e)|0;c[n>>2]=(c[n>>2]|0)+a;a=(c[h>>2]|0)+36|0;if(((c[n>>2]|0)+(c[e>>2]|0)|0)>(c[(c[i>>2]|0)+8>>2]|0)){c[a>>2]=267;break}else{wR(a,o,c[e>>2]|0,(c[c[i>>2]>>2]|0)+(c[n>>2]|0)|0);break}}b=VR(a,f)|0;c[n>>2]=(c[n>>2]|0)+b;b=VR((c[c[i>>2]>>2]|0)+(c[n>>2]|0)|0,g)|0;c[n>>2]=(c[n>>2]|0)+b;if((c[f>>2]|0)<=(c[o+4>>2]|0)?((c[n>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[i>>2]|0)+8>>2]|0):0){c[o+4>>2]=c[f>>2];bS((c[h>>2]|0)+36|0,o,c[g>>2]|0,(c[c[i>>2]>>2]|0)+(c[n>>2]|0)|0)}else c[(c[h>>2]|0)+36>>2]=267;if((c[(c[h>>2]|0)+36>>2]|0)==0?(c[m>>2]=HR(o,p)|0,(c[m>>2]|0)<=0):0)c[(c[h>>2]|0)+36>>2]=267}else c[(c[h>>2]|0)+36>>2]=267;while(0);wR((c[h>>2]|0)+36|0,p,c[o+4>>2]|0,c[o>>2]|0)}if((a|0)==18){nS(o);nS(p);l=q;return}}function KZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+24|0;j=n+20|0;o=n+16|0;k=n+12|0;m=n+8|0;g=n+4|0;h=n;c[i>>2]=a;c[j>>2]=b;c[o>>2]=d;c[k>>2]=e;c[m>>2]=f;c[g>>2]=c[o>>2];while(1){if(c[(c[i>>2]|0)+36>>2]|0){a=11;break}if((c[g>>2]|0)>(c[m>>2]|0)){a=11;break}f=c[i>>2]|0;e=c[c[j>>2]>>2]|0;e=j0(e|0,((e|0)<0)<<31>>31|0,37)|0;e=_$(e|0,D|0,0,0)|0;e=_$(e|0,D|0,0,0)|0;o=c[g>>2]|0;o=_$(e|0,D|0,o|0,((o|0)<0)<<31>>31|0)|0;c[h>>2]=PR(f,o,D)|0;if(c[h>>2]|0){if((c[(c[h>>2]|0)+8>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0))c[(c[i>>2]|0)+36>>2]=267;if((c[g>>2]|0)>=(c[k>>2]|0)?0!=((QR(c[c[h>>2]>>2]|0)|0)&65535|0):0)c[(c[i>>2]|0)+36>>2]=267}AR(c[h>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if((a|0)==11){l=n;return}}function LZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;q=s+16|0;h=s+12|0;i=s+8|0;j=s+4|0;k=s;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[h>>2]=0;c[c[q>>2]>>2]=0;if(!(c[m>>2]|0)){r=c[h>>2]|0;l=s;return r|0}c[j>>2]=13;c[i>>2]=(c[p>>2]|0)-1;while(1){b=c[j>>2]<<3^c[j>>2];if((c[i>>2]|0)<0)break;c[j>>2]=b^a[(c[o>>2]|0)+(c[i>>2]|0)>>0];c[i>>2]=(c[i>>2]|0)+-1}c[j>>2]=b^c[n>>2];c[j>>2]=((c[j>>2]|0)>>>0)%512|0;c[k>>2]=c[(c[m>>2]|0)+(c[j>>2]<<2)>>2];while(1){if(!(c[k>>2]|0))break;if(((c[(c[k>>2]|0)+8>>2]|0)==(c[n>>2]|0)?(c[(c[k>>2]|0)+4>>2]|0)==(c[p>>2]|0):0)?(H_(c[c[k>>2]>>2]|0,c[o>>2]|0,c[p>>2]|0)|0)==0:0){r=10;break}c[k>>2]=c[(c[k>>2]|0)+12>>2]}if((r|0)==10)c[c[q>>2]>>2]=1;if(c[k>>2]|0){r=c[h>>2]|0;l=s;return r|0}c[k>>2]=dT(h,16+(c[p>>2]|0)|0)|0;if(!(c[k>>2]|0)){r=c[h>>2]|0;l=s;return r|0}c[c[k>>2]>>2]=(c[k>>2]|0)+16;c[(c[k>>2]|0)+4>>2]=c[p>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];h0(c[c[k>>2]>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=c[(c[m>>2]|0)+(c[j>>2]<<2)>>2];c[(c[m>>2]|0)+(c[j>>2]<<2)>>2]=c[k>>2];r=c[h>>2]|0;l=s;return r|0}function MZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=hS(c[d>>2]|0)|0;if(!(c[f>>2]|0)){h=c[d>>2]|0;h=BR(h)|0;l=i;return h|0}c[g>>2]=c[(c[c[d>>2]>>2]|0)+80>>2];eX(c[d>>2]|0);if((c[e>>2]|0)<0){c[h>>2]=NZ(c[d>>2]|0,c[f>>2]|0)|0;jS(c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=2;c[e>>2]=S(c[e>>2]|0,-1)|0}if((c[f>>2]|0?c[(c[f>>2]|0)+20>>2]|0:0)?JX(c[d>>2]|0,f,c[e>>2]|0,c[g>>2]|0)|0:0)zX(c[d>>2]|0,c[f>>2]|0);jS(c[f>>2]|0);h=c[d>>2]|0;h=BR(h)|0;l=i;return h|0}function NZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;h=r+44|0;i=r+40|0;j=r+36|0;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;d=r+12|0;e=r+8|0;f=r+4|0;g=r;c[i>>2]=a;c[j>>2]=b;c[k>>2]=0;c[m>>2]=40;c[n>>2]=c[(c[j>>2]|0)+16>>2];if((c[n>>2]|0)<2){c[h>>2]=0;q=c[h>>2]|0;l=r;return q|0}c[o>>2]=0;while(1){a=c[j>>2]|0;if((c[o>>2]|0)>=(c[(c[j>>2]|0)+20>>2]|0))break;c[p>>2]=c[a+24+((c[o>>2]|0)*12|0)+4>>2];if((c[p>>2]|0)==(c[n>>2]|0)){q=8;break}if((c[p>>2]|0)==((c[n>>2]|0)-1|0)?(c[(c[j>>2]|0)+24+((c[o>>2]|0)*12|0)>>2]|0)==(c[p>>2]|0):0){q=8;break}c[o>>2]=(c[o>>2]|0)+1}if((q|0)==8){jT(c[j>>2]|0);c[h>>2]=c[j>>2];q=c[h>>2]|0;l=r;return q|0}c[m>>2]=(c[m>>2]|0)+(((c[a+20>>2]|0)+1|0)*12|0);c[k>>2]=dT((c[i>>2]|0)+36|0,c[m>>2]|0)|0;do if(c[k>>2]|0){c[m>>2]=(c[n>>2]|0)*12;c[(c[k>>2]|0)+20>>2]=(c[(c[j>>2]|0)+20>>2]|0)+1;c[c[k>>2]>>2]=1;o=(c[j>>2]|0)+8|0;p=c[o+4>>2]|0;q=(c[k>>2]|0)+8|0;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[d>>2]=(c[k>>2]|0)+24+((c[(c[j>>2]|0)+20>>2]|0)*12|0);q=dT((c[i>>2]|0)+36|0,c[m>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=q;if(!(c[(c[d>>2]|0)+8>>2]|0)){_d(c[k>>2]|0);c[k>>2]=0;break}c[g>>2]=0;c[e>>2]=(c[(c[j>>2]|0)+20>>2]|0)-1;while(1){if((c[e>>2]|0)<0)break;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+24+((c[e>>2]|0)*12|0)+4>>2]|0))break;q=(c[(c[d>>2]|0)+8>>2]|0)+((c[g>>2]|0)*12|0)|0;p=(c[(c[j>>2]|0)+24+((c[e>>2]|0)*12|0)+8>>2]|0)+((c[f>>2]|0)*12|0)|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}c[e>>2]=(c[e>>2]|0)+-1}q=c[n>>2]|0;c[(c[d>>2]|0)+4>>2]=q;c[(c[k>>2]|0)+16>>2]=q}while(0);c[h>>2]=c[k>>2];q=c[h>>2]|0;l=r;return q|0}function OZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[e>>2]=0;jX(c[b>>2]|0);c[d>>2]=hS(c[b>>2]|0)|0;eX(c[b>>2]|0);if(c[d>>2]|0)c[e>>2]=NZ(c[b>>2]|0,c[d>>2]|0)|0;jS(c[d>>2]|0);if(!(c[e>>2]|0)){g=c[b>>2]|0;g=BR(g)|0;l=h;return g|0}c[f>>2]=0;while(1){if(c[(c[e>>2]|0)+24+((c[f>>2]|0)*12|0)+4>>2]|0)break;c[f>>2]=(c[f>>2]|0)+1}while(1){if(c[(c[b>>2]|0)+36>>2]|0)break;if((c[(c[e>>2]|0)+24+((c[f>>2]|0)*12|0)+4>>2]|0)<=0)break;c[g>>2]=1e3;CX(c[b>>2]|0,e,c[f>>2]|0,g)}zX(c[b>>2]|0,c[e>>2]|0);jS(c[e>>2]|0);g=c[b>>2]|0;g=BR(g)|0;l=h;return g|0}function PZ(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+48|0;d=f+40|0;e=f;c[d>>2]=a;eX(c[d>>2]|0);a=e;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));BX(c[d>>2]|0,1,0,55752,0);zX(c[d>>2]|0,e);e=BR(c[d>>2]|0)|0;l=f;return e|0}function QZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;j=s+60|0;k=s+56|0;m=s+52|0;n=s+48|0;o=s+44|0;p=s+32|0;q=s+28|0;r=s+24|0;d=s+20|0;e=s+16|0;f=s+12|0;g=s+8|0;h=s+4|0;i=s;c[j>>2]=a;c[k>>2]=b;c[n>>2]=0;c[o>>2]=VY(c[(c[k>>2]|0)+52>>2]|0)|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;a:do switch(c[(c[(c[c[k>>2]>>2]|0)+12>>2]|0)+48>>2]|0){case 0:{c[m>>2]=0;while(1){if((c[m>>2]|0)>=((c[o>>2]|0)-1|0))break;c[r>>2]=xY(c[(c[k>>2]|0)+52>>2]|0,c[m>>2]|0,q)|0;i=c[r>>2]|0;hT(n,p,i,((i|0)<0)<<31>>31);c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break a;c[e>>2]=xY(c[(c[k>>2]|0)+52>>2]|0,c[m>>2]|0,d)|0;bS(n,p,c[e>>2]|0,c[d>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}case 2:{c[m>>2]=0;while(1){if(c[n>>2]|0)break;if((c[m>>2]|0)>=((c[o>>2]|0)-1|0))break;c[n>>2]=sY(c[(c[k>>2]|0)+52>>2]|0,c[m>>2]|0,f,g)|0;r=c[g>>2]|0;hT(n,p,r,((r|0)<0)<<31>>31);c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if(c[n>>2]|0)break a;if((c[m>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=sY(c[(c[k>>2]|0)+52>>2]|0,c[m>>2]|0,h,i)|0;bS(n,p,c[i>>2]|0,c[h>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}default:{}}while(0);mj(c[j>>2]|0,c[p>>2]|0,c[p+4>>2]|0,157);l=s;return c[n>>2]|0}function RZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;p=q+8|0;f=q;g=q+52|0;j=q+48|0;b=q+44|0;k=q+40|0;m=q+36|0;n=q+32|0;d=q+28|0;e=q+24|0;o=q+20|0;h=q+16|0;i=q+12|0;c[g>>2]=a;c[j>>2]=c[c[g>>2]>>2];c[b>>2]=c[(c[j>>2]|0)+12>>2];c[k>>2]=0;c[m>>2]=0;c[n>>2]=c[(c[g>>2]|0)+72>>2];c[d>>2]=c[(c[g>>2]|0)+76>>2];do if((c[d>>2]|0?(c[f>>2]=c[d>>2],c[e>>2]=ET(k,45739,f)|0,c[e>>2]|0):0)?(c[o>>2]=0,c[k>>2]=zv(c[c[b>>2]>>2]|0,c[e>>2]|0,-1,o,0)|0,_d(c[e>>2]|0),(c[k>>2]|0)==0):0){f=100==(Bs(c[o>>2]|0)|0);a=c[o>>2]|0;if(!f){c[k>>2]=Fr(a)|0;break}f=Av(a)|0;c[(c[g>>2]|0)+84>>2]=f;c[h>>2]=c[(c[g>>2]|0)+84>>2]<<2;h=dT(k,c[h>>2]|0)|0;c[(c[g>>2]|0)+88>>2]=h;a:do if(!(c[k>>2]|0)){c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[g>>2]|0)+84>>2]|0))break a;h=kJ(c[o>>2]|0,c[i>>2]|0)|0;c[(c[(c[g>>2]|0)+88>>2]|0)+(c[i>>2]<<2)>>2]=h;c[i>>2]=(c[i>>2]|0)+1}}while(0);c[(c[g>>2]|0)+92>>2]=c[o>>2]}while(0);if(c[k>>2]|0){o=c[m>>2]|0;p=c[g>>2]|0;p=p+80|0;c[p>>2]=o;p=c[k>>2]|0;l=q;return p|0}c[m>>2]=YX(c[j>>2]|0,c[n>>2]|0)|0;if(c[m>>2]|0){o=c[m>>2]|0;p=c[g>>2]|0;p=p+80|0;c[p>>2]=o;p=c[k>>2]|0;l=q;return p|0}c[p>>2]=c[n>>2];o=nf(51837,p)|0;c[(c[j>>2]|0)+8>>2]=o;c[k>>2]=1;o=c[m>>2]|0;p=c[g>>2]|0;p=p+80|0;c[p>>2]=o;p=c[k>>2]|0;l=q;return p|0}function SZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+60>>2]&32)){i=c[f>>2]|0;l=j;return i|0}c[g>>2]=c[c[d>>2]>>2];c[h>>2]=c[(c[d>>2]|0)+28>>2];a=PY(c[(c[d>>2]|0)+52>>2]|0)|0;b=i;c[b>>2]=a;c[b+4>>2]=D;b=i;c[f>>2]=EY(c[(c[d>>2]|0)+52>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0)|0;if((c[f>>2]|0)==0?(i,g=c[i>>2]|0,i=c[i+4>>2]|0,h=PY(c[(c[d>>2]|0)+52>>2]|0)|0,(g|0)!=(h|0)|(i|0)!=(D|0)):0)c[c[e>>2]>>2]=1;i=(c[d>>2]|0)+60|0;c[i>>2]=c[i>>2]&-33;GY(c[d>>2]|0);if(!(FY(c[(c[d>>2]|0)+52>>2]|0)|0)){i=c[f>>2]|0;l=j;return i|0}i=(c[d>>2]|0)+60|0;c[i>>2]=c[i>>2]|1;c[c[e>>2]>>2]=1;i=c[f>>2]|0;l=j;return i|0}function TZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i;g=i+12|0;h=i+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[(c[e>>2]|0)+8>>2];do c[g>>2]=Nb[c[(c[h>>2]|0)+12>>2]&255](c[e>>2]|0,c[h>>2]|0,0,0,0)|0;while((c[(c[h>>2]|0)+8>>2]|0)!=0);d=(c[h>>2]|0)+16|0;if((QV(c[e>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0)<=0){h=c[g>>2]|0;l=i;return h|0}c[(c[h>>2]|0)+4>>2]=1;h=c[g>>2]|0;l=i;return h|0}function UZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;b=m+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+56>>2];c[e>>2]=Bs(c[c[d>>2]>>2]|0)|0;if((c[e>>2]|0)==101){c[e>>2]=0;k=(c[b>>2]|0)+60|0;c[k>>2]=c[k>>2]|1;k=c[e>>2]|0;l=m;return k|0}if((c[e>>2]|0)!=100){k=c[e>>2]|0;l=m;return k|0}c[j>>2]=0;c[e>>2]=0;n=jJ(c[c[d>>2]>>2]|0,0)|0;a=(c[d>>2]|0)+8|0;c[a>>2]=n;c[a+4>>2]=D;c[h>>2]=gJ(c[c[d>>2]>>2]|0,1)|0;a=fJ(c[c[d>>2]>>2]|0,1)|0;c[f>>2]=a;c[g>>2]=a;if((c[h>>2]|0)>0){c[i>>2]=0;while(1){if((c[i>>2]|0)>=((c[(c[d>>2]|0)+20>>2]|0)-1|0))break;n=VR(c[f>>2]|0,k)|0;c[f>>2]=(c[f>>2]|0)+n;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0);c[(c[d>>2]|0)+24+(c[i>>2]<<2)>>2]=c[j>>2];c[i>>2]=(c[i>>2]|0)+1}c[(c[d>>2]|0)+24+(c[i>>2]<<2)>>2]=(c[g>>2]|0)+(c[h>>2]|0)-(c[f>>2]|0);c[(c[d>>2]|0)+16>>2]=c[f>>2]}GY(c[b>>2]|0);n=c[e>>2]|0;l=m;return n|0}function VZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;b=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];_d(c[(c[b>>2]|0)+104>>2]|0);_d(c[(c[b>>2]|0)+116>>2]|0);if(c[(c[b>>2]|0)+48>>2]|0){c[g>>2]=SY(c[b>>2]|0)|0;a_(c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0,c[(c[b>>2]|0)+48>>2]|0)}if(c[(c[b>>2]|0)+56>>2]|0){c[h>>2]=c[(c[b>>2]|0)+56>>2];Fr(c[c[h>>2]>>2]|0)|0;_d(c[h>>2]|0)}if((c[(c[b>>2]|0)+24>>2]|0)!=2)XU(c[(c[b>>2]|0)+52>>2]|0);c[e>>2]=c[(c[b>>2]|0)+100>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+12>>2];if(c[(c[e>>2]|0)+8>>2]|0)Eb[c[(c[e>>2]|0)+8>>2]&255](c[(c[e>>2]|0)+4>>2]|0);_d(c[e>>2]|0);c[e>>2]=c[f>>2]}Fr(c[(c[b>>2]|0)+92>>2]|0)|0;_d(c[(c[b>>2]|0)+88>>2]|0);if(!(c[(c[b>>2]|0)+60>>2]&16)){g=c[b>>2]|0;g=g+24|0;f=c[b>>2]|0;f=f+24|0;h=c[b>>2]|0;h=f-h|0;h=120-h|0;m0(g|0,0,h|0)|0;l=i;return}_d(c[(c[b>>2]|0)+72>>2]|0);_d(c[(c[b>>2]|0)+76>>2]|0);g=c[b>>2]|0;g=g+24|0;f=c[b>>2]|0;f=f+24|0;h=c[b>>2]|0;h=f-h|0;h=120-h|0;m0(g|0,0,h|0)|0;l=i;return}function WZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+8|0;f=i+20|0;g=i;h=i+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0?(c[h>>2]=Ei(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){h=Fi(c[f>>2]|0)|0;g=e;c[g>>2]=h;c[g+4>>2]=D;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=i;return h|0}f=g;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=i;return h|0}function XZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n;e=n+28|0;k=n+24|0;f=n+20|0;m=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[m>>2]=0;if(!(c[f>>2]|0)){if(c[(c[e>>2]|0)+88>>2]|0){c[(c[k>>2]|0)+72>>2]=c[(c[e>>2]|0)+88>>2];b=c[(c[e>>2]|0)+92>>2]|0;a=c[k>>2]|0}else{c[(c[k>>2]|0)+72>>2]=48951;b=0;a=c[k>>2]|0}c[a+76>>2]=b;m=c[m>>2]|0;l=n;return m|0}c[g>>2]=Rh(c[f>>2]|0)|0;c[h>>2]=0;c[i>>2]=0;if(!(c[g>>2]|0)){if((Ai(c[f>>2]|0)|0)==5)c[m>>2]=1}else c[m>>2]=GT(c[g>>2]|0,h,i)|0;if(!(c[m>>2]|0)){c[(c[k>>2]|0)+72>>2]=c[h>>2];c[(c[k>>2]|0)+76>>2]=c[i>>2];k=(c[k>>2]|0)+60|0;c[k>>2]=c[k>>2]|16;m=c[m>>2]|0;l=n;return m|0}if((c[m>>2]|0)!=1){m=c[m>>2]|0;l=n;return m|0}c[j>>2]=c[g>>2];j=nf(51981,j)|0;c[(c[c[k>>2]>>2]|0)+8>>2]=j;m=c[m>>2]|0;l=n;return m|0}function YZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;k=m;f=m+28|0;g=m+24|0;n=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=d;c[n>>2]=e;c[h>>2]=0;c[i>>2]=c[n>>2];while(1){if((a[c[i>>2]>>0]|0)!=32)break;c[i>>2]=(c[i>>2]|0)+1}c[j>>2]=0;while(1){if(!(a[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0))break;if((a[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0)==32)break;c[j>>2]=(c[j>>2]|0)+1}c[(c[g>>2]|0)+24>>2]=3;if(!(ld(51947,c[i>>2]|0,c[j>>2]|0)|0)){k=$Z(c[(c[f>>2]|0)+16>>2]|0)|0;n=(c[g>>2]|0)+64|0;c[n>>2]=k;c[n+4>>2]=((k|0)<0)<<31>>31;n=c[h>>2]|0;l=m;return n|0}if(!(ld(32512,c[i>>2]|0,c[j>>2]|0)|0)){j=(c[g>>2]|0)+16|0;k=c[j+4>>2]|0;n=(c[g>>2]|0)+64|0;c[n>>2]=c[j>>2];c[n+4>>2]=k;n=c[h>>2]|0;l=m;return n|0}else{n=c[i>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=n;n=nf(51953,k)|0;c[(c[f>>2]|0)+8>>2]=n;c[h>>2]=1;n=c[h>>2]|0;l=m;return n|0}return 0}function ZZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+80|0;q=r;i=r+68|0;j=r+64|0;k=r+60|0;m=r+56|0;n=r+52|0;o=r+48|0;p=r+44|0;e=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=c[(c[j>>2]|0)+12>>2];c[g>>2]=c[(c[k>>2]|0)+72>>2];c[h>>2]=c[(c[k>>2]|0)+76>>2];c[p>>2]=VY(c[(c[k>>2]|0)+52>>2]|0)|0;c[e>>2]=32+((c[p>>2]|0)-1<<2);c[o>>2]=pe(c[e>>2]|0)|0;if(!(c[o>>2]|0)){c[i>>2]=7;q=c[i>>2]|0;l=r;return q|0}m0(c[o>>2]|0,0,c[e>>2]|0)|0;c[(c[o>>2]|0)+20>>2]=c[p>>2];d=c[o>>2]|0;p=c[n>>2]|0;a=c[(c[n>>2]|0)+8>>2]|0;b=c[g>>2]|0;e=c[(c[n>>2]|0)+8>>2]|0;g=c[h>>2]|0?30358:55752;h=c[h>>2]|0?c[h>>2]|0:55752;m=c[m>>2]|0?45749:45754;c[q>>2]=c[(c[n>>2]|0)+4>>2];c[q+4>>2]=a;c[q+8>>2]=b;c[q+12>>2]=e;c[q+16>>2]=g;c[q+20>>2]=h;c[q+24>>2]=m;c[f>>2]=_Z(d,p,51894,q)|0;c[(c[k>>2]|0)+56>>2]=c[o>>2];if(!(c[f>>2]|0)){c[(c[j>>2]|0)+28>>2]=c[k>>2];c[f>>2]=UZ(c[k>>2]|0)|0;c[(c[j>>2]|0)+28>>2]=0}if(c[f>>2]|0){Fr(c[c[o>>2]>>2]|0)|0;_d(c[o>>2]|0);c[(c[k>>2]|0)+56>>2]=0}c[i>>2]=c[f>>2];q=c[i>>2]|0;l=r;return q|0}function _Z(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+48|0;k=m;f=m+44|0;g=m+40|0;o=m+36|0;h=m+32|0;i=m+28|0;j=m+24|0;n=m+8|0;c[f>>2]=a;c[g>>2]=b;c[o>>2]=d;c[h>>2]=0;c[n>>2]=e;c[j>>2]=vf(c[o>>2]|0,n)|0;if(!(c[j>>2]|0)){c[i>>2]=7;n=c[h>>2]|0;o=c[f>>2]|0;c[o>>2]=n;o=c[i>>2]|0;l=m;return o|0}c[i>>2]=zv(c[c[g>>2]>>2]|0,c[j>>2]|0,-1,h,0)|0;if(c[i>>2]|0){c[k>>2]=Ev(c[c[g>>2]>>2]|0)|0;o=nf(21240,k)|0;c[c[(c[g>>2]|0)+96>>2]>>2]=o}_d(c[j>>2]|0);n=c[h>>2]|0;o=c[f>>2]|0;c[o>>2]=n;o=c[i>>2]|0;l=m;return o|0}function $Z(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+64>>2]|0}function a_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[g>>2]|0;if(!(c[(c[e>>2]|0)+28+(c[f>>2]<<2)>>2]|0)){ys(a)|0;c[(c[e>>2]|0)+28+(c[f>>2]<<2)>>2]=c[g>>2];l=h;return}else{Fr(a)|0;l=h;return}}function b_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+48|0;e=g+32|0;f=g+24|0;h=g;b=g+44|0;d=g+40|0;c[b>>2]=a;a=c[c[b>>2]>>2]|0;n=c[(c[b>>2]|0)+8>>2]|0;m=c[(c[b>>2]|0)+4>>2]|0;k=c[(c[b>>2]|0)+8>>2]|0;j=c[(c[b>>2]|0)+4>>2]|0;i=c[(c[b>>2]|0)+8>>2]|0;c[h>>2]=c[(c[b>>2]|0)+4>>2];c[h+4>>2]=n;c[h+8>>2]=m;c[h+12>>2]=k;c[h+16>>2]=j;c[h+20>>2]=i;c[d>>2]=XX(a,0,52014,h)|0;if((c[d>>2]|0)==0?c[(c[b>>2]|0)+44>>2]|0:0){n=c[c[b>>2]>>2]|0;m=c[(c[b>>2]|0)+8>>2]|0;c[f>>2]=c[(c[b>>2]|0)+4>>2];c[f+4>>2]=m;c[d>>2]=XX(n,0,52118,f)|0}if(c[d>>2]|0){n=c[d>>2]|0;l=g;return n|0}if(c[(c[b>>2]|0)+32>>2]|0){n=c[d>>2]|0;l=g;return n|0}n=c[c[b>>2]>>2]|0;m=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[(c[b>>2]|0)+4>>2];c[e+4>>2]=m;c[d>>2]=XX(n,0,52156,e)|0;n=c[d>>2]|0;l=g;return n|0}function c_(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}d_(c[(c[b>>2]|0)+16>>2]|0)|0;e_(c[(c[b>>2]|0)+20>>2]|0)|0;WU(c[(c[b>>2]|0)+12>>2]|0);_d(c[b>>2]|0);l=d;return}function d_(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;l=e;return d|0}eX(c[b>>2]|0);Fr(c[(c[b>>2]|0)+44>>2]|0)|0;Fr(c[(c[b>>2]|0)+48>>2]|0)|0;Fr(c[(c[b>>2]|0)+52>>2]|0)|0;Fr(c[(c[b>>2]|0)+56>>2]|0)|0;Fr(c[(c[b>>2]|0)+60>>2]|0)|0;Fr(c[(c[b>>2]|0)+68>>2]|0)|0;f_(c[(c[b>>2]|0)+12>>2]|0);_d(c[(c[b>>2]|0)+4>>2]|0);_d(c[b>>2]|0);d=c[d>>2]|0;l=e;return d|0}function e_(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){e=c[d>>2]|0;l=f;return e|0}c[e>>2]=0;while(1){a=c[b>>2]|0;if((c[e>>2]|0)>=11)break;Fr(c[a+28+(c[e>>2]<<2)>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}_d(a);e=c[d>>2]|0;l=f;return e|0}function f_(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}fX(c[b>>2]|0);_d(c[(c[b>>2]|0)+20>>2]|0);_d(c[b>>2]|0);l=d;return}function g_(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+56|0;c[a>>2]=c[a>>2]|1;l=b;return}function h_(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=l;l=l+48|0;r=t+44|0;s=t+40|0;v=t+36|0;i=t+32|0;u=t+28|0;j=t+24|0;k=t+20|0;m=t+16|0;n=t+12|0;o=t+8|0;p=t+4|0;q=t;c[r>>2]=a;c[s>>2]=b;c[v>>2]=d;c[i>>2]=e;c[u>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=c[v>>2];c[n>>2]=c[u>>2];c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[q>>2]=dT(o,32)|0;if(!(c[o>>2]|0))c[o>>2]=SU(c[m>>2]|0,c[s>>2]|0,c[i>>2]|0,c[n>>2]|0,p,c[k>>2]|0)|0;if(!(c[o>>2]|0)){c[(c[q>>2]|0)+12>>2]=c[p>>2];c[(c[q>>2]|0)+24>>2]=c[m>>2]}if(!(c[o>>2]|0))c[o>>2]=i_(c[p>>2]|0,c[r>>2]|0,(c[q>>2]|0)+16|0,c[k>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=j_(c[p>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[r>>2]|0,(c[q>>2]|0)+20|0,c[k>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=k_(c[p>>2]|0)|0;if(!(c[o>>2]|0)){c[(c[p>>2]|0)+96>>2]=c[k>>2];c[o>>2]=zZ(c[(c[q>>2]|0)+16>>2]|0)|0;cX(c[(c[q>>2]|0)+16>>2]|0)|0;c[(c[p>>2]|0)+96>>2]=0}if(c[o>>2]|0){c_(c[q>>2]|0);c[q>>2]=0;u=c[q>>2]|0;v=c[j>>2]|0;c[v>>2]=u;v=c[o>>2]|0;l=t;return v|0}else{u=c[q>>2]|0;v=c[j>>2]|0;c[v>>2]=u;v=c[o>>2]|0;l=t;return v|0}return 0}function i_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=0;e=dT(j,88)|0;c[k>>2]=e;c[c[h>>2]>>2]=e;if((c[j>>2]|0)==0?(c[c[k>>2]>>2]=c[f>>2],c[(c[k>>2]|0)+8>>2]=64,c[m>>2]=c[(c[f>>2]|0)+8>>2],m=ET(j,52410,m)|0,c[(c[k>>2]|0)+4>>2]=m,c[g>>2]|0?(c[(c[k>>2]|0)+4>>2]|0)!=0:0):0){c[j>>2]=l_(c[f>>2]|0,50977,52418,0,c[i>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=l_(c[f>>2]|0,30148,52453,1,c[i>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=PZ(c[k>>2]|0)|0}if(!(c[j>>2]|0)){m=c[j>>2]|0;l=n;return m|0}d_(c[k>>2]|0)|0;c[c[h>>2]>>2]=0;m=c[j>>2]|0;l=n;return m|0}function j_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;v=w+8|0;u=w;p=w+60|0;q=w+56|0;r=w+52|0;s=w+48|0;t=w+44|0;g=w+40|0;h=w+36|0;i=w+32|0;j=w+28|0;k=w+24|0;m=w+20|0;n=w+16|0;o=w+12|0;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[t>>2]=e;c[g>>2]=f;c[h>>2]=0;c[j>>2]=72+(c[(c[q>>2]|0)+12>>2]<<3);f=pe(c[j>>2]|0)|0;c[i>>2]=f;c[c[t>>2]>>2]=f;if(!(c[i>>2]|0)){c[p>>2]=7;v=c[p>>2]|0;l=w;return v|0}m0(c[i>>2]|0,0,c[j>>2]|0)|0;c[(c[i>>2]|0)+24>>2]=(c[i>>2]|0)+72;c[c[i>>2]>>2]=c[q>>2];c[(c[i>>2]|0)+4>>2]=c[r>>2];if(c[s>>2]|0){if(!(c[(c[q>>2]|0)+32>>2]|0)){c[k>>2]=32+((c[(c[q>>2]|0)+12>>2]|0)*10|0);c[m>>2]=pe(32+((c[(c[q>>2]|0)+12>>2]|0)*10|0)|0)|0;if(!(c[m>>2]|0))c[h>>2]=7;else{ef(c[k>>2]|0,c[m>>2]|0,52243,u)|0;c[o>>2]=g$(c[m>>2]|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[q>>2]|0)+12>>2]|0))break;s=(c[k>>2]|0)-(c[o>>2]|0)|0;u=(c[m>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[n>>2];ef(s,u,52266,v)|0;u=g$((c[m>>2]|0)+(c[o>>2]|0)|0)|0;c[o>>2]=(c[o>>2]|0)+u;c[n>>2]=(c[n>>2]|0)+1}c[h>>2]=l_(c[q>>2]|0,46221,c[m>>2]|0,0,c[g>>2]|0)|0}_d(c[m>>2]|0)}if((c[h>>2]|0)==0?c[(c[q>>2]|0)+44>>2]|0:0)c[h>>2]=l_(c[q>>2]|0,49899,52272,0,c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=l_(c[q>>2]|0,50982,52304,1,c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=AZ(c[i>>2]|0,47943,0,4)|0}if(c[h>>2]|0){e_(c[i>>2]|0)|0;c[c[t>>2]>>2]=0}c[p>>2]=c[h>>2];v=c[p>>2]|0;l=w;return v|0}function k_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+64|0;i=j+24|0;h=j+8|0;b=j+52|0;d=j+48|0;e=j+44|0;f=j+40|0;g=j+36|0;c[b>>2]=a;c[e>>2]=0;c[f>>2]=ET(e,52194,j)|0;c[d>>2]=0;while(1){if(!(c[f>>2]|0))break;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+12>>2]|0))break;c[g>>2]=(c[d>>2]|0)==0?55752:30358;k=c[g>>2]|0;a=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<2)>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=k;c[h+8>>2]=a;c[f>>2]=ET(e,52210,h)|0;c[d>>2]=(c[d>>2]|0)+1}k=c[(c[b>>2]|0)+8>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=k;c[i+8>>2]=48062;c[f>>2]=ET(e,52217,i)|0;if(!(c[f>>2]|0)){k=c[e>>2]|0;l=j;return k|0}c[e>>2]=MJ(c[c[b>>2]>>2]|0,c[f>>2]|0)|0;_d(c[f>>2]|0);k=c[e>>2]|0;l=j;return k|0}function l_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;n=l;l=l+64|0;m=n+24|0;o=n;i=n+60|0;j=n+56|0;q=n+52|0;p=n+48|0;k=n+44|0;g=n+40|0;h=n+36|0;c[i>>2]=a;c[j>>2]=b;c[q>>2]=d;c[p>>2]=e;c[k>>2]=f;c[h>>2]=0;f=c[c[i>>2]>>2]|0;a=c[(c[i>>2]|0)+8>>2]|0;b=c[j>>2]|0;d=c[q>>2]|0;e=c[p>>2]|0?52321:55752;c[o>>2]=c[(c[i>>2]|0)+4>>2];c[o+4>>2]=a;c[o+8>>2]=b;c[o+12>>2]=d;c[o+16>>2]=e;c[g>>2]=XX(f,h,52336,o)|0;if(!(c[h>>2]|0)){q=c[g>>2]|0;l=n;return q|0}p=c[j>>2]|0;q=c[h>>2]|0;c[m>>2]=c[(c[i>>2]|0)+8>>2];c[m+4>>2]=p;c[m+8>>2]=q;q=nf(52366,m)|0;c[c[k>>2]>>2]=q;_d(c[h>>2]|0);q=c[g>>2]|0;l=n;return q|0}function m_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)d=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else d=0;b=c[f>>2]|0;if(!d)break;c[f>>2]=b+-1}l=g;return (b|0)==0|0}function n_(){return 55180}function o_(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=v_(c[a+60>>2]|0)|0;a=r_(Ga(6,d|0)|0)|0;l=b;return a|0}function p_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=r_(zb(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=(o<<31>>31)+b|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=r_(zb(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function q_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((r_(ib(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function r_(a){a=a|0;if(a>>>0>4294963200){c[(s_()|0)>>2]=0-a;a=-1}return a|0}function s_(){return (t_()|0)+64|0}function t_(){return u_()|0}function u_(){return 10796}function v_(a){a=a|0;return a|0}function w_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=169;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,gb(54,f|0)|0):0)a[b+75>>0]=-1;f=p_(b,d,e)|0;l=g;return f|0}function x_(a){a=a|0;var b=0;b=(y_(a)|0)==0;return (b?a:a|32)|0}function y_(a){a=a|0;return (a+-65|0)>>>0<26|0}function z_(a){a=a|0;var b=0;b=(A_(a)|0)==0;return (b?a:a&95)|0}function A_(a){a=a|0;return (a+-97|0)>>>0<26|0}function B_(a){a=+a;var b=0;h[j>>3]=a;b=c[j+4>>2]&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=b;a=+h[j>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+D_(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+P(+a);a=(a+1.0/a)*.5;break}else{a=+E_(a);break}while(0);return +a}function C_(a){a=+a;var b=0.0,d=0.0,e=0;h[j>>3]=a;e=c[j+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=e;b=+h[j>>3];do if(e>>>0<1082535490){b=+D_(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+E_(b);while(0);return +a}function D_(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0.0,i=0,k=0,l=0.0;h[j>>3]=a;b=c[j+4>>2]|0;f=b&2147483647;b=f0(c[j>>2]|0,b|0,63)|0;do if(f>>>0>1078159481){f=F_(a)|0;k=D&2147483647;if(!(k>>>0>2146435072|(k|0)==2146435072&f>>>0>0))if(!b)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else{d=.5;i=12}else a=-1.0}else{if(f>>>0<=1071001154)if(f>>>0<1016070144)break;else{g=0.0;b=0;i=15;break}b=(b|0)!=0;if(f>>>0>=1072734898){d=b?-.5:.5;i=12;break}if(b){b=-1;d=a+.6931471803691238;e=-1.9082149292705877e-10;i=13;break}else{b=1;d=a+-.6931471803691238;e=1.9082149292705877e-10;i=13;break}}while(0);if((i|0)==12){b=~~(a*1.4426950408889634+d);e=+(b|0);d=a-e*.6931471803691238;e=e*1.9082149292705877e-10;i=13}if((i|0)==13){g=d-e;a=g;g=d-g-e;i=15}a:do if((i|0)==15){e=a*.5;d=a*e;l=d*(d*(d*(d*(4.008217827329362e-06-d*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;e=3.0-e*l;e=d*((l-e)/(6.0-a*e));if(!b){a=a-(a*e-d);break}d=a*(e-g)-g-d;switch(b|0){case -1:{a=(a-d)*.5+-.5;break a}case 1:if(a<-.25){a=(d-(a+.5))*-2.0;break a}else{a=(a-d)*2.0+1.0;break a}default:{i=j0(b+1023|0,0,52)|0;k=D;c[j>>2]=i;c[j+4>>2]=k;e=+h[j>>3];if(b>>>0>56){a=a-d+1.0;a=((b|0)==1024?a*2.0*8988465674311579538646525.0e283:e*a)+-1.0;break a}else{f=j0(1023-b|0,0,52)|0;i=D;k=(b|0)<20;c[j>>2]=f;c[j+4>>2]=i;l=+h[j>>3];a=e*((k?1.0-l:1.0)+(a-(k?d:l+d)));break a}}}}while(0);return +a}function E_(a){a=+a;return +(+P(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function F_(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function G_(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function H_(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function I_(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)e=0;else{h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255;a:do if(h<<24>>24)do{d=d+-1|0;if(!(h<<24>>24==g<<24>>24&((d|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255}while(h<<24>>24!=0);while(0);e=e-f|0}return e|0}function J_(a){a=a|0;return 0}function K_(a){a=a|0;return}function L_(a){a=a|0;return N_(a,c[(M_()|0)+188>>2]|0)|0}function M_(){return u_()|0}function N_(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[52571+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=52659;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=52659;else{f=52659;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return O_(f,c[e+20>>2]|0)|0}function O_(a,b){a=a|0;b=b|0;return P_(a,b)|0}function P_(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Q_(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Q_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=R_(c[b+8>>2]|0,o)|0;f=R_(c[b+12>>2]|0,o)|0;g=R_(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=R_(c[b+(g<<2)>>2]|0,o)|0;g=R_(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=G_(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=R_(c[b+(f<<2)>>2]|0,o)|0;f=R_(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function R_(a,b){a=a|0;b=b|0;var c=0;c=o0(a|0)|0;return ((b|0)==0?a:c)|0}function S_(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function T_(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function U_(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=v_(a)|0;a=Ga(6,d|0)|0;a=r_((a|0)==-4?0:a)|0;l=b;return a|0}function V_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Ua(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(Ba(221,e|0)|0)>=0):0){X_(e,a);c[f>>2]=e;c[f+4>>2]=b;b=r_(Wa(195,f|0)|0)|0}else b=r_(d)|0;l=g;return b|0}function W_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+192|0;i=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;k=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;j=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=r_(Ba(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=j;d=Ba(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=Ba(221,n|0)|0;break}case 0:{d=c[j+4>>2]|0;d=(c[j>>2]|0)==2?0-d|0:d;break}default:d=r_(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=Ba(221,f|0)|0;do if((d|0)==-22){c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=Ba(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=Ba(221,q|0)|0;if((d|0)<=-1)break;c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;Ba(221,r|0)|0;break}else{if((d|0)<=-1){d=-22;break}c[p>>2]=d;Ga(6,p|0)|0;d=-22;break}}else if((d|0)>-1){c[k>>2]=d;c[k+4>>2]=2;c[k+8>>2]=1;Ba(221,k|0)|0}while(0);d=r_(d)|0;break}case 15:case 16:case 12:case 13:{c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=r_(Ba(221,h|0)|0)|0;break}default:{c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=o;d=r_(Ba(221,i|0)|0)|0}}l=s;return d|0}function X_(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=54463;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function Y_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;g=h+16|0;f=h;e=h+32|0;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=rb(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;Ba(221,g|0)|0}i=r_(e)|0;l=h;return i|0}function Z_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(r_(ib(140,g|0)|0)|0)!=0;l=f;return (d?-1:c[e>>2]|0)|0}function __(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=S(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)$_(a,d,e,f,j);else b$(a,d,e,k,f,0,j);if((f|0)==1){c$(k,1);f=0;break}else{c$(k,b);f=1;break}}else{$_(a,d,e,f,j);a$(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}b$(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){c$(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;a$(k,1);b$(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);c$(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;b$(h,d,e,k,n,1,j);a=h;f=n;continue}b=d$(k)|0;a$(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}function $_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((Mb[d&255](a,g)|0)>-1?(Mb[d&255](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((Mb[d&255](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);f$(b,m,e);l=n;return}function a$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function b$(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(Mb[d&255](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((Mb[d&255](g,j)|0)>-1){i=10;break a}if((Mb[d&255](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=d$(n)|0;a$(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((Mb[d&255](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){f$(b,o,e);$_(a,b,d,f,h)}l=p;return}function c$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=e$(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function e$(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}function f$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;h0(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;h0(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function g$(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function h$(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;i$();c[e>>2]=a;c[e+4>>2]=b;b=r_(bb(91,e|0)|0)|0;l=d;return b|0}function i$(){return}function j$(a,b){a=a|0;b=b|0;k$(a,b)|0;return a|0}function k$(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function l$(a){a=+a;var b=0;h[j>>3]=a;b=f0(c[j>>2]|0,c[j+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Q(+(a*2.0-1.0/(+G(+(a*a+-1.0))+a)));break}else{a=+Q(+a)+.6931471805599453;break}else{a=a+-1.0;a=+m$(a+ +G(+(a*a+a*2.0)))}while(0);return +a}function m$(a){a=+a;var b=0,d=0.0,e=0,f=0.0,g=0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=j0(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){f=0.0;d=0.0;e=11;break}else{e=8;break}}else{if(a==-1.0){a=-t;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)e=8;while(0);if((e|0)==8){d=a+1.0;h[j>>3]=d;b=(c[j+4>>2]|0)+614242|0;e=(b>>>20)+-1023|0;if((e|0)<54){g=(e|0)>1;d=((g?1.0:a)-(d+(g?-a:-1.0)))/d}else d=0.0;c[j>>2]=c[j>>2];c[j+4>>2]=(b&1048575)+1072079006;f=+(e|0);a=+h[j>>3]+-1.0;e=11}if((e|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;k=l*l;a=f*.6931471803691238+(a+(d+f*1.9082149292705877e-10+m*(i+(k*(k*(k*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(k*(k*(k*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function n$(a){a=+a;var b=0,d=0,e=0,f=0.0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;b=f0(e|0,d|0,52)|0;b=b&2047;c[j>>2]=e;c[j+4>>2]=d&2147483647;a=+h[j>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Q(+(a*2.0+1.0/(a+ +G(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+m$(a+f/(+G(+(f+1.0))+1.0))}}else a=+Q(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function o$(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0;h[j>>3]=a;f=c[j>>2]|0;d=c[j+4>>2]|0;b=f0(f|0,d|0,52)|0;b=b&2047;c[j>>2]=f;c[j+4>>2]=d&2147483647;a=+h[j>>3];if(b>>>0<1022){if(b>>>0>=991){g=a*2.0;a=g+a*g/(1.0-a);e=5}}else{a=a/(1.0-a)*2.0;e=5}if((e|0)==5)a=+m$(a)*.5;return +((d|0)<0?-a:a)}function p$(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;a=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;g=+h[j>>3];a=k-g-i+l*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=g*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function q$(a){a=+a;var b=0,d=0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=b;a=+h[j>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+D_(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+D_(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+D_(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function r$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=r_(Ka(4,f|0)|0)|0;l=e;return d|0}function s$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=r_(ob(3,f|0)|0)|0;l=e;return d|0}function t$(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=r_(Wa(195,e|0)|0)|0;l=d;return b|0}function u$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(s_()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((r_(sb(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=v$(d)|0}else a=0}l=g;return a|0}function v$(a){a=a|0;var b=0,c=0;c=(g$(a)|0)+1|0;b=Q$(c)|0;if(!b)b=0;else h0(b|0,a|0,c|0)|0;return b|0}function w$(){var a=0,b=0;b=l;l=l+16|0;a=Ja(20,b|0)|0;l=b;return a|0}function x$(){pb(55244);return 55252}function y$(){hb(55244);return}function z$(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=A$(a)|0;break}d=(J_(a)|0)==0;b=A$(a)|0;if(!d)K_(a)}else{if(!(c[2791]|0))b=0;else b=z$(c[2791]|0)|0;a=c[(x$()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=J_(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=A$(a)|0|b;if(d|0)K_(a);a=c[a+56>>2]|0}while((a|0)!=0);y$()}while(0);return b|0}function A$(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(Bb[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0)Bb[c[a+40>>2]&255](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function B$(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=r_(Va(196,e|0)|0)|0;l=d;return b|0}function C$(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=r_(fb(33,e|0)|0)|0;l=d;return b|0}function D$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=r_(Ca(85,f|0)|0)|0;l=e;return d|0}function E$(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j;h=((g|0)<0)<<31>>31;do if((g&4095|0)==0&(h&-4096|0)==0){if(b>>>0>2147483646){c[(s_()|0)>>2]=12;a=-1;break}if(e&16|0)i$();h=f0(g|0,h|0,12)|0;c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=d;c[i+12>>2]=e;c[i+16>>2]=f;c[i+20>>2]=h;a=r_(Ta(192,i|0)|0)|0}else{c[(s_()|0)>>2]=22;a=-1}while(0);l=j;return a|0}function F$(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=r_(mb(10,d|0)|0)|0;l=b;return a|0}function G$(a,b,c){a=a|0;b=b|0;c=c|0;H$(a,b,c)|0;return a|0}function H$(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);m0(b|0,0,e|0)|0;return b|0}function I$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=_a(94,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(Ba(221,e|0)|0)>=0):0){X_(e,a);c[f>>2]=e;c[f+4>>2]=b;a=r_(jb(15,f|0)|0)|0}else a=r_(d)|0;l=g;return a|0}function J$(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=r_(lb(39,e|0)|0)|0;l=d;return b|0}function K$(){var a=0,b=0;b=l;l=l+16|0;a=vb(201,b|0)|0;l=b;return a|0}function L$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+64|0;g=h+48|0;f=h+16|0;e=h;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=wb(207,e|0)|0;if((e|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(Ba(221,f|0)|0)>=0):0){X_(f,a);c[g>>2]=f;c[g+4>>2]=b;c[g+8>>2]=d;a=r_(Ya(212,g|0)|0)|0}else a=r_(e)|0;l=h;return a|0}function M$(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=r_(Ia(118,d|0)|0)|0;l=b;return a|0}function N$(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=r_(Xa(194,e|0)|0)|0;l=d;return b|0}function O$(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=r_(Ha(40,d|0)|0)|0;l=b;return a|0}function P$(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=($a(b|0,b|0)|0)==0;l=d;return (a?0:c[b>>2]|0)|0}function Q$(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+16|0;o=K;do if(a>>>0<245){p=a>>>0<11?16:a+11&-8;a=p>>>3;t=c[13814]|0;d=t>>>a;if(d&3|0){a=(d&1^1)+a|0;d=55296+(a<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[13818]|0)>>>0)qb();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else qb()}else c[13814]=t&~(1<>2]=J|3;J=f+J+4|0;c[J>>2]=c[J>>2]|1;J=g;l=K;return J|0}s=c[13816]|0;if(p>>>0>s>>>0){if(d|0){i=2<>>12&16;a=a>>>i;e=a>>>5&8;a=a>>>e;g=a>>>2&4;a=a>>>g;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=(e|i|g|d|b)+(a>>>b)|0;a=55296+(b<<1<<2)|0;d=a+8|0;g=c[d>>2]|0;i=g+8|0;e=c[i>>2]|0;do if((a|0)!=(e|0)){if(e>>>0<(c[13818]|0)>>>0)qb();f=e+12|0;if((c[f>>2]|0)==(g|0)){c[f>>2]=a;c[d>>2]=e;j=t;break}else qb()}else{j=t&~(1<>2]=p|3;e=g+p|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(s|0){f=c[13819]|0;b=s>>>3;d=55296+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(c[13818]|0)>>>0)qb();else{k=a;m=b}}else{c[13814]=j|b;k=d;m=d+8|0}c[m>>2]=f;c[k+12>>2]=f;c[f+8>>2]=k;c[f+12>>2]=d}c[13816]=h;c[13819]=e;J=i;l=K;return J|0}k=c[13815]|0;if(k){a=(k&0-k)+-1|0;I=a>>>12&16;a=a>>>I;H=a>>>5&8;a=a>>>H;J=a>>>2&4;a=a>>>J;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=c[55560+((H|I|J|d|b)+(a>>>b)<<2)>>2]|0;a=(c[b+4>>2]&-8)-p|0;d=c[b+16+(((c[b+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){j=b;h=a}else{do{I=(c[d+4>>2]&-8)-p|0;J=I>>>0>>0;a=J?I:a;b=J?d:b;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0}while((d|0)!=0);j=b;h=a}f=c[13818]|0;if(j>>>0>>0)qb();i=j+p|0;if(j>>>0>=i>>>0)qb();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)qb();else{c[a>>2]=0;n=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)qb();b=e+12|0;if((c[b>>2]|0)!=(j|0))qb();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;n=d;break}else qb()}while(0);a:do if(g|0){b=c[j+28>>2]|0;a=55560+(b<<2)|0;do if((j|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[13815]=k&~(1<>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=n;if(!n)break a;else break}else qb();while(0);a=c[13818]|0;if(n>>>0>>0)qb();c[n+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0>>0)qb();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[j+20>>2]|0;if(b|0)if(b>>>0<(c[13818]|0)>>>0)qb();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(h>>>0<16){J=h+p|0;c[j+4>>2]=J|3;J=j+J+4|0;c[J>>2]=c[J>>2]|1}else{c[j+4>>2]=p|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(s|0){e=c[13819]|0;b=s>>>3;d=55296+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(c[13818]|0)>>>0)qb();else{q=a;r=b}}else{c[13814]=t|b;q=d;r=d+8|0}c[r>>2]=e;c[q+12>>2]=e;c[e+8>>2]=q;c[e+12>>2]=d}c[13816]=h;c[13819]=i}J=j+8|0;l=K;return J|0}}}else if(a>>>0<=4294967231){a=a+11|0;p=a&-8;k=c[13815]|0;if(k){e=0-p|0;a=a>>>8;if(a)if(p>>>0>16777215)i=31;else{r=(a+1048320|0)>>>16&8;C=a<>>16&4;C=C<>>16&2;i=14-(q|r|i)+(C<>>15)|0;i=p>>>(i+7|0)&1|i<<1}else i=0;d=c[55560+(i<<2)>>2]|0;b:do if(!d){d=0;a=0;C=81}else{a=0;h=p<<((i|0)==31?0:25-(i>>>1)|0);g=0;while(1){f=(c[d+4>>2]&-8)-p|0;if(f>>>0>>0)if(!f){a=d;e=0;f=d;C=85;break b}else{a=d;e=f}f=c[d+20>>2]|0;d=c[d+16+(h>>>31<<2)>>2]|0;g=(f|0)==0|(f|0)==(d|0)?g:f;f=(d|0)==0;if(f){d=g;C=81;break}else h=h<<((f^1)&1)}}while(0);if((C|0)==81){if((d|0)==0&(a|0)==0){a=2<>>12&16;r=r>>>m;j=r>>>5&8;r=r>>>j;n=r>>>2&4;r=r>>>n;q=r>>>1&2;r=r>>>q;d=r>>>1&1;a=0;d=c[55560+((j|m|n|q|d)+(r>>>d)<<2)>>2]|0}if(!d){j=a;i=e}else{f=d;C=85}}if((C|0)==85)while(1){C=0;d=(c[f+4>>2]&-8)-p|0;r=d>>>0>>0;d=r?d:e;a=r?f:a;f=c[f+16+(((c[f+16>>2]|0)==0&1)<<2)>>2]|0;if(!f){j=a;i=d;break}else{e=d;C=85}}if((j|0)!=0?i>>>0<((c[13816]|0)-p|0)>>>0:0){f=c[13818]|0;if(j>>>0>>0)qb();h=j+p|0;if(j>>>0>=h>>>0)qb();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){s=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)qb();else{c[a>>2]=0;s=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)qb();b=e+12|0;if((c[b>>2]|0)!=(j|0))qb();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;s=d;break}else qb()}while(0);c:do if(g){b=c[j+28>>2]|0;a=55560+(b<<2)|0;do if((j|0)==(c[a>>2]|0)){c[a>>2]=s;if(!s){t=k&~(1<>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=s;if(!s){t=k;break c}else break}else qb();while(0);a=c[13818]|0;if(s>>>0>>0)qb();c[s+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0>>0)qb();else{c[s+16>>2]=b;c[b+24>>2]=s;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[13818]|0)>>>0)qb();else{c[s+20>>2]=b;c[b+24>>2]=s;t=k;break}else t=k}else t=k;while(0);do if(i>>>0>=16){c[j+4>>2]=p|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){d=55296+(b<<1<<2)|0;a=c[13814]|0;b=1<>2]|0;if(a>>>0<(c[13818]|0)>>>0)qb();else{x=a;y=b}}else{c[13814]=a|b;x=d;y=d+8|0}c[y>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;d=55560+(b<<2)|0;c[h+28>>2]=b;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);e=c[d>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){C=139;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=136;break}else{a=a<<1;e=b}}if((C|0)==136)if(d>>>0<(c[13818]|0)>>>0)qb();else{c[d>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((C|0)==139){b=e+8|0;a=c[b>>2]|0;J=c[13818]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=e;c[h+24>>2]=0;break}else qb()}}else{J=i+p|0;c[j+4>>2]=J|3;J=j+J+4|0;c[J>>2]=c[J>>2]|1}while(0);J=j+8|0;l=K;return J|0}}}else p=-1;while(0);d=c[13816]|0;if(d>>>0>=p>>>0){b=d-p|0;a=c[13819]|0;if(b>>>0>15){J=a+p|0;c[13819]=J;c[13816]=b;c[J+4>>2]=b|1;c[J+b>>2]=b;c[a+4>>2]=p|3}else{c[13816]=0;c[13819]=0;c[a+4>>2]=d|3;J=a+d+4|0;c[J>>2]=c[J>>2]|1}J=a+8|0;l=K;return J|0}h=c[13817]|0;if(h>>>0>p>>>0){H=h-p|0;c[13817]=H;J=c[13820]|0;I=J+p|0;c[13820]=I;c[I+4>>2]=H|1;c[J+4>>2]=p|3;J=J+8|0;l=K;return J|0}if(!(c[13932]|0)){c[13934]=4096;c[13933]=4096;c[13935]=-1;c[13936]=-1;c[13937]=0;c[13925]=0;a=o&-16^1431655768;c[o>>2]=a;c[13932]=a;a=4096}else a=c[13934]|0;i=p+48|0;j=p+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=p>>>0){J=0;l=K;return J|0}a=c[13924]|0;if(a|0?(x=c[13922]|0,y=x+k|0,y>>>0<=x>>>0|y>>>0>a>>>0):0){J=0;l=K;return J|0}d:do if(!(c[13925]&4)){d=c[13820]|0;e:do if(d){e=55704;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(w=e+4|0,(a+(c[w>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){C=163;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=i0(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[w>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;C=180;break d}}else{e=a;C=171}}else b=0}else C=163;while(0);do if((C|0)==163){d=i0(0)|0;if((d|0)!=(-1|0)?(b=d,u=c[13933]|0,v=u+-1|0,b=((v&b|0)==0?0:(v+b&0-u)-b|0)+k|0,u=c[13922]|0,v=b+u|0,b>>>0>p>>>0&b>>>0<2147483647):0){y=c[13924]|0;if(y|0?v>>>0<=u>>>0|v>>>0>y>>>0:0){b=0;break}a=i0(b|0)|0;if((a|0)==(d|0)){h=b;g=d;C=180;break d}else{e=a;C=171}}else b=0}while(0);do if((C|0)==171){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;C=180;break d}a=c[13934]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;C=180;break d}if((i0(a|0)|0)==(-1|0)){i0(d|0)|0;b=0;break}else{h=a+b|0;g=e;C=180;break d}}while(0);c[13925]=c[13925]|4;C=178}else{b=0;C=178}while(0);if(((C|0)==178?k>>>0<2147483647:0)?(B=i0(k|0)|0,y=i0(0)|0,z=y-B|0,A=z>>>0>(p+40|0)>>>0,!((B|0)==(-1|0)|A^1|B>>>0>>0&((B|0)!=(-1|0)&(y|0)!=(-1|0))^1)):0){h=A?z:b;g=B;C=180}if((C|0)==180){b=(c[13922]|0)+h|0;c[13922]=b;if(b>>>0>(c[13923]|0)>>>0)c[13923]=b;k=c[13820]|0;do if(k){b=55704;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){C=190;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((C|0)==190?(c[b+12>>2]&8|0)==0:0)?k>>>0>>0&k>>>0>=a>>>0:0){c[d>>2]=e+h;J=k+8|0;J=(J&7|0)==0?0:0-J&7;I=k+J|0;J=(c[13817]|0)+(h-J)|0;c[13820]=I;c[13817]=J;c[I+4>>2]=J|1;c[I+J+4>>2]=40;c[13821]=c[13936];break}b=c[13818]|0;if(g>>>0>>0){c[13818]=g;i=g}else i=b;d=g+h|0;b=55704;while(1){if((c[b>>2]|0)==(d|0)){C=198;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((C|0)==198?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;n=b+4|0;c[n>>2]=(c[n>>2]|0)+h;n=g+8|0;n=g+((n&7|0)==0?0:0-n&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;m=n+p|0;j=b-n-p|0;c[n+4>>2]=p|3;do if((b|0)!=(k|0)){if((b|0)==(c[13819]|0)){J=(c[13816]|0)+j|0;c[13816]=J;c[13819]=m;c[m+4>>2]=J|1;c[m+J>>2]=J;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;f=a>>>3;f:do if(a>>>0>=256){g=c[b+24>>2]|0;e=c[b+12>>2]|0;do if((e|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){H=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}if(d>>>0>>0)qb();else{c[d>>2]=0;H=a;break}}else{f=c[b+8>>2]|0;if(f>>>0>>0)qb();a=f+12|0;if((c[a>>2]|0)!=(b|0))qb();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;H=e;break}else qb()}while(0);if(!g)break;a=c[b+28>>2]|0;d=55560+(a<<2)|0;do if((b|0)!=(c[d>>2]|0))if(g>>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=H;if(!H)break f;else break}else qb();else{c[d>>2]=H;if(H|0)break;c[13815]=c[13815]&~(1<>>0>>0)qb();c[H+24>>2]=g;a=b+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0>>0)qb();else{c[H+16>>2]=d;c[d+24>>2]=H;break}while(0);a=c[a+4>>2]|0;if(!a)break;if(a>>>0<(c[13818]|0)>>>0)qb();else{c[H+20>>2]=a;c[a+24>>2]=H;break}}else{d=c[b+8>>2]|0;e=c[b+12>>2]|0;a=55296+(f<<1<<2)|0;do if((d|0)!=(a|0)){if(d>>>0>>0)qb();if((c[d+12>>2]|0)==(b|0))break;qb()}while(0);if((e|0)==(d|0)){c[13814]=c[13814]&~(1<>>0>>0)qb();a=e+8|0;if((c[a>>2]|0)==(b|0)){E=a;break}qb()}while(0);c[d+12>>2]=e;c[E>>2]=d}while(0);b=b+h|0;f=h+j|0}else f=j;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[m+4>>2]=f|1;c[m+f>>2]=f;b=f>>>3;if(f>>>0<256){d=55296+(b<<1<<2)|0;a=c[13814]|0;b=1<>2]|0;if(a>>>0>=(c[13818]|0)>>>0){I=a;J=b;break}qb()}while(0);c[J>>2]=m;c[I+12>>2]=m;c[m+8>>2]=I;c[m+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=55560+(b<<2)|0;c[m+28>>2]=b;a=m+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[13815]|0;d=1<>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){C=265;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=262;break}else{a=a<<1;e=b}}if((C|0)==262)if(d>>>0<(c[13818]|0)>>>0)qb();else{c[d>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((C|0)==265){b=e+8|0;a=c[b>>2]|0;J=c[13818]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=m;c[b>>2]=m;c[m+8>>2]=a;c[m+12>>2]=e;c[m+24>>2]=0;break}else qb()}}else{J=(c[13817]|0)+j|0;c[13817]=J;c[13820]=m;c[m+4>>2]=J|1}while(0);J=n+8|0;l=K;return J|0}b=55704;while(1){a=c[b>>2]|0;if(a>>>0<=k>>>0?(D=a+(c[b+4>>2]|0)|0,D>>>0>k>>>0):0)break;b=c[b+8>>2]|0}f=D+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=k+16|0;a=a>>>0>>0?k:a;b=a+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;J=g+d|0;d=h+-40-d|0;c[13820]=J;c[13817]=d;c[J+4>>2]=d|1;c[J+d+4>>2]=40;c[13821]=c[13936];d=a+4|0;c[d>>2]=27;c[b>>2]=c[13926];c[b+4>>2]=c[13927];c[b+8>>2]=c[13928];c[b+12>>2]=c[13929];c[13926]=g;c[13927]=h;c[13929]=0;c[13928]=b;b=a+24|0;do{J=b;b=b+4|0;c[b>>2]=7}while((J+8|0)>>>0>>0);if((a|0)!=(k|0)){g=a-k|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=55296+(b<<1<<2)|0;a=c[13814]|0;b=1<>2]|0;if(a>>>0<(c[13818]|0)>>>0)qb();else{F=a;G=b}}else{c[13814]=a|b;F=d;G=d+8|0}c[G>>2]=k;c[F+12>>2]=k;c[k+8>>2]=F;c[k+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;d=14-(H|I|d)+(J<>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=55560+(d<<2)|0;c[k+28>>2]=d;c[k+20>>2]=0;c[f>>2]=0;b=c[13815]|0;a=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(g|0)){C=292;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=289;break}else{a=a<<1;e=b}}if((C|0)==289)if(d>>>0<(c[13818]|0)>>>0)qb();else{c[d>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((C|0)==292){b=e+8|0;a=c[b>>2]|0;J=c[13818]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=k;c[b>>2]=k;c[k+8>>2]=a;c[k+12>>2]=e;c[k+24>>2]=0;break}else qb()}}}else{J=c[13818]|0;if((J|0)==0|g>>>0>>0)c[13818]=g;c[13926]=g;c[13927]=h;c[13929]=0;c[13823]=c[13932];c[13822]=-1;b=0;do{J=55296+(b<<1<<2)|0;c[J+12>>2]=J;c[J+8>>2]=J;b=b+1|0}while((b|0)!=32);J=g+8|0;J=(J&7|0)==0?0:0-J&7;I=g+J|0;J=h+-40-J|0;c[13820]=I;c[13817]=J;c[I+4>>2]=J|1;c[I+J+4>>2]=40;c[13821]=c[13936]}while(0);b=c[13817]|0;if(b>>>0>p>>>0){H=b-p|0;c[13817]=H;J=c[13820]|0;I=J+p|0;c[13820]=I;c[I+4>>2]=H|1;c[J+4>>2]=p|3;J=J+8|0;l=K;return J|0}}c[(s_()|0)>>2]=12;J=0;l=K;return J|0}function R$(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;d=a+-8|0;h=c[13818]|0;if(d>>>0>>0)qb();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)qb();e=a&-8;o=d+e|0;a:do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0>>0)qb();if((k|0)==(c[13819]|0)){a=o+4|0;b=c[a>>2]|0;if((b&3|0)!=3){r=k;f=j;m=k;break}c[13816]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=55296+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)qb();if((c[b+12>>2]|0)!=(k|0))qb()}if((d|0)==(b|0)){c[13814]=c[13814]&~(1<>>0>>0)qb();a=d+8|0;if((c[a>>2]|0)==(k|0))g=a;else qb()}else g=d+8|0;c[b+12>>2]=d;c[g>>2]=b;r=k;f=j;m=k;break}g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){i=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)qb();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0>>0)qb();a=e+12|0;if((c[a>>2]|0)!=(k|0))qb();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else qb()}while(0);if(g){a=c[k+28>>2]|0;b=55560+(a<<2)|0;do if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[13815]=c[13815]&~(1<>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(k|0)&1)<<2)>>2]=i;if(!i){r=k;f=j;m=k;break a}else break}else qb();while(0);d=c[13818]|0;if(i>>>0>>0)qb();c[i+24>>2]=g;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0>>0)qb();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[13818]|0)>>>0)qb();else{c[i+20>>2]=a;c[a+24>>2]=i;r=k;f=j;m=k;break}else{r=k;f=j;m=k}}else{r=k;f=j;m=k}}else{r=d;f=e;m=d}while(0);if(m>>>0>=o>>>0)qb();a=o+4|0;b=c[a>>2]|0;if(!(b&1))qb();if(!(b&2)){a=c[13819]|0;if((o|0)==(c[13820]|0)){q=(c[13817]|0)+f|0;c[13817]=q;c[13820]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[13819]=0;c[13816]=0;return}if((o|0)==(a|0)){q=(c[13816]|0)+f|0;c[13816]=q;c[13819]=m;c[r+4>>2]=q|1;c[m+q>>2]=q;return}f=(b&-8)+f|0;e=b>>>3;b:do if(b>>>0>=256){g=c[o+24>>2]|0;a=c[o+12>>2]|0;do if((a|0)==(o|0)){d=o+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){n=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[13818]|0)>>>0)qb();else{c[b>>2]=0;n=a;break}}else{b=c[o+8>>2]|0;if(b>>>0<(c[13818]|0)>>>0)qb();d=b+12|0;if((c[d>>2]|0)!=(o|0))qb();e=a+8|0;if((c[e>>2]|0)==(o|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else qb()}while(0);if(g|0){a=c[o+28>>2]|0;b=55560+(a<<2)|0;do if((o|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[13815]=c[13815]&~(1<>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else qb();while(0);d=c[13818]|0;if(n>>>0>>0)qb();c[n+24>>2]=g;a=o+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0>>0)qb();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[13818]|0)>>>0)qb();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[o+8>>2]|0;d=c[o+12>>2]|0;a=55296+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[13818]|0)>>>0)qb();if((c[b+12>>2]|0)!=(o|0))qb()}if((d|0)==(b|0)){c[13814]=c[13814]&~(1<>>0<(c[13818]|0)>>>0)qb();a=d+8|0;if((c[a>>2]|0)==(o|0))l=a;else qb()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[r+4>>2]=f|1;c[m+f>>2]=f;if((r|0)==(c[13819]|0)){c[13816]=f;return}}else{c[a>>2]=b&-2;c[r+4>>2]=f|1;c[m+f>>2]=f}a=f>>>3;if(f>>>0<256){d=55296+(a<<1<<2)|0;b=c[13814]|0;a=1<>2]|0;if(b>>>0<(c[13818]|0)>>>0)qb();else{p=b;q=a}}else{c[13814]=b|a;p=d;q=d+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;a=14-(o|p|a)+(q<>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=55560+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;b=c[13815]|0;d=1<>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=124;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){a=121;break}else{b=b<<1;e=a}}if((a|0)==121)if(d>>>0<(c[13818]|0)>>>0)qb();else{c[d>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;break}else if((a|0)==124){a=e+8|0;b=c[a>>2]|0;q=c[13818]|0;if(b>>>0>=q>>>0&e>>>0>=q>>>0){c[b+12>>2]=r;c[a>>2]=r;c[r+8>>2]=b;c[r+12>>2]=e;c[r+24>>2]=0;break}else qb()}}else{c[13815]=b|d;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r}while(0);r=(c[13822]|0)+-1|0;c[13822]=r;if(!r)a=55712;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[13822]=-1;return}function S$(a,b){a=a|0;b=b|0;var d=0;if(a){d=S(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=Q$(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;m0(a|0,0,d|0)|0;return a|0}function T$(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=Q$(b)|0;return b|0}if(b>>>0>4294967231){c[(s_()|0)>>2]=12;b=0;return b|0}d=U$(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=Q$(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;h0(d|0,a|0,(e>>>0>>0?e:b)|0)|0;R$(a);b=d;return b|0}function U$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+4|0;n=c[o>>2]|0;d=n&-8;k=a+d|0;i=c[13818]|0;e=n&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0>>0))qb();f=c[k+4>>2]|0;if(!(f&1))qb();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[13934]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[o>>2]=n&1|b|2;c[m+4>>2]=d|3;o=m+d+4|0;c[o>>2]=c[o>>2]|1;V$(m,d);return a|0}if((k|0)==(c[13820]|0)){m=(c[13817]|0)+d|0;d=m-b|0;e=a+b|0;if(m>>>0<=b>>>0){a=0;return a|0}c[o>>2]=n&1|b|2;c[e+4>>2]=d|1;c[13820]=e;c[13817]=d;return a|0}if((k|0)==(c[13819]|0)){f=(c[13816]|0)+d|0;if(f>>>0>>0){a=0;return a|0}d=f-b|0;e=n&1;if(d>>>0>15){n=a+b|0;m=n+d|0;c[o>>2]=e|b|2;c[n+4>>2]=d|1;c[m>>2]=d;e=m+4|0;c[e>>2]=c[e>>2]&-2;e=n}else{c[o>>2]=e|f|2;e=a+f+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[13816]=d;c[13819]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0>>0){a=0;return a|0}m=l-b|0;g=f>>>3;a:do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){f=k+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){j=0;break}else e=f}while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)qb();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0>>0)qb();d=g+12|0;if((c[d>>2]|0)!=(k|0))qb();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else qb()}while(0);if(h|0){d=c[k+28>>2]|0;e=55560+(d<<2)|0;do if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[13815]=c[13815]&~(1<>>0>=(c[13818]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(k|0)&1)<<2)>>2]=j;if(!j)break a;else break}else qb();while(0);f=c[13818]|0;if(j>>>0>>0)qb();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0>>0)qb();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[13818]|0)>>>0)qb();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=55296+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0>>0)qb();if((c[e+12>>2]|0)!=(k|0))qb()}if((f|0)==(e|0)){c[13814]=c[13814]&~(1<>>0>>0)qb();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else qb()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);d=n&1;if(m>>>0<16){c[o>>2]=l|d|2;o=a+l+4|0;c[o>>2]=c[o>>2]|1;return a|0}else{n=a+b|0;c[o>>2]=d|b|2;c[n+4>>2]=m|3;o=n+m+4|0;c[o>>2]=c[o>>2]|1;V$(n,m);return a|0}return 0} +function UC(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=l;l=l+224|0;M=R+180|0;N=R+176|0;O=R+172|0;P=R+168|0;Q=R+208|0;S=R+164|0;k=R+160|0;m=R+156|0;n=R+152|0;o=R+148|0;j=R+144|0;p=R+48|0;q=R;r=R+206|0;s=R+204|0;t=R+202|0;u=R+200|0;v=R+198|0;w=R+40|0;x=R+196|0;y=R+36|0;z=R+194|0;A=R+192|0;B=R+32|0;C=R+28|0;D=R+190|0;E=R+188|0;F=R+186|0;G=R+24|0;H=R+20|0;I=R+16|0;J=R+12|0;K=R+8|0;L=R+184|0;c[N>>2]=f;c[O>>2]=g;c[P>>2]=h;b[Q>>1]=i;c[S>>2]=c[c[N>>2]>>2];c[k>>2]=c[c[S>>2]>>2];c[m>>2]=c[c[k>>2]>>2];c[y>>2]=0;c[B>>2]=0;c[C>>2]=0;c[n>>2]=c[(c[N>>2]|0)+12>>2];if(a[(c[m>>2]|0)+69>>0]|0){c[M>>2]=7;S=c[M>>2]|0;l=R;return S|0}if(c[(c[n>>2]|0)+36>>2]&32|0)c[j>>2]=24;else c[j>>2]=447;if((d[(c[P>>2]|0)+55>>0]|0)>>>2&1|0)c[j>>2]=c[j>>2]&-61;b[s>>1]=b[(c[n>>2]|0)+24>>1]|0;b[t>>1]=b[(c[n>>2]|0)+24+2>>1]|0;b[u>>1]=b[(c[n>>2]|0)+24+4>>1]|0;b[v>>1]=b[(c[n>>2]|0)+42>>1]|0;b[r>>1]=b[(c[n>>2]|0)+40>>1]|0;c[w>>2]=c[(c[n>>2]|0)+36>>2];h=c[n>>2]|0;i=c[h+4>>2]|0;S=q;c[S>>2]=c[h>>2];c[S+4>>2]=i;b[x>>1]=b[(c[n>>2]|0)+22>>1]|0;c[o>>2]=nC(p,c[(c[N>>2]|0)+4>>2]|0,c[(c[O>>2]|0)+44>>2]|0,e[s>>1]|0,c[j>>2]|0,c[P>>2]|0)|0;b[(c[n>>2]|0)+18>>1]=0;b[z>>1]=b[c[(c[P>>2]|0)+8>>2]>>1]|0;b[A>>1]=EC(b[z>>1]|0)|0;a:while(1){if(!((c[y>>2]|0)==0?(c[o>>2]|0)!=0:0))break;b[D>>1]=b[(c[o>>2]|0)+12>>1]|0;c[G>>2]=0;if((e[D>>1]|0)!=256?!(e[(c[o>>2]|0)+10>>1]&0|0):0)f=13;else f=12;if((f|0)==12?(f=0,(VC(c[P>>2]|0,e[s>>1]|0)|0)==0):0)f=13;do if((f|0)==13?(0,i=(c[o>>2]|0)+32|0,S=(c[n>>2]|0)+8|0,!(c[i>>2]&c[S>>2]|0?1:(c[i+4>>2]&c[S+4>>2]|0)!=0)):0){if(e[(c[o>>2]|0)+10>>1]&256|0?(e[(c[o>>2]|0)+12>>1]|0)==16:0)break;if((d[(c[O>>2]|0)+36>>0]&8|0?(c[(c[c[o>>2]>>2]|0)+4>>2]&1|0)==0:0)?e[D>>1]&384|0:0)break;c[(c[n>>2]|0)+36>>2]=c[w>>2];b[(c[n>>2]|0)+24>>1]=b[s>>1]|0;b[(c[n>>2]|0)+24+2>>1]=b[t>>1]|0;b[(c[n>>2]|0)+24+4>>1]=b[u>>1]|0;b[(c[n>>2]|0)+40>>1]=b[r>>1]|0;if(xC(c[m>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0)break a;h=c[o>>2]|0;j=c[(c[n>>2]|0)+48>>2]|0;i=(c[n>>2]|0)+40|0;g=b[i>>1]|0;b[i>>1]=g+1<<16>>16;c[j+((g&65535)<<2)>>2]=h;g=q;j=(c[o>>2]|0)+32|0;h=(c[n>>2]|0)+8|0;i=(c[g+4>>2]|c[j+4>>2])&~c[h+4>>2];S=c[n>>2]|0;c[S>>2]=(c[g>>2]|c[j>>2])&~c[h>>2];c[S+4>>2]=i;b:do if(!(e[D>>1]&1|0))if(!(e[D>>1]&130|0)){if(e[D>>1]&256|0){S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|8;break}f=(c[n>>2]|0)+36|0;g=c[f>>2]|0;if(e[D>>1]&36|0){c[f>>2]=g|34;S=(WC(c[k>>2]|0,c[(c[O>>2]|0)+44>>2]|0,c[P>>2]|0,e[s>>1]|0,c[o>>2]|0)|0)&65535;b[(c[n>>2]|0)+24+2>>1]=S;c[C>>2]=c[o>>2];c[B>>2]=0;if(!(e[(c[o>>2]|0)+10>>1]&256))break;c[B>>2]=(c[o>>2]|0)+48;if(xC(c[m>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0)break a;h=c[B>>2]|0;i=c[(c[n>>2]|0)+48>>2]|0;j=(c[n>>2]|0)+40|0;S=b[j>>1]|0;b[j>>1]=S+1<<16>>16;c[i+((S&65535)<<2)>>2]=h;S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|16;b[(c[n>>2]|0)+24+4>>1]=1;break}else{c[f>>2]=g|18;S=(WC(c[k>>2]|0,c[(c[O>>2]|0)+44>>2]|0,c[P>>2]|0,e[s>>1]|0,c[o>>2]|0)|0)&65535;b[(c[n>>2]|0)+24+4>>1]=S;c[B>>2]=c[o>>2];if(c[(c[n>>2]|0)+36>>2]&32|0)f=c[(c[(c[n>>2]|0)+48>>2]|0)+((e[(c[n>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else f=0;c[C>>2]=f;break}}else{c[J>>2]=b[(c[(c[P>>2]|0)+4>>2]|0)+(e[s>>1]<<1)>>1];S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|1;if((c[J>>2]|0)!=-1){if((c[J>>2]|0)<=0)break;if(b[Q>>1]|0)break;if((e[s>>1]|0)!=((e[(c[P>>2]|0)+50>>1]|0)-1|0))break}if((c[J>>2]|0)>=0?((d[(c[P>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){f=65536;g=c[n>>2]|0}else{f=4096;g=c[n>>2]|0}S=g+36|0;c[S>>2]=c[S>>2]|f;break}else{c[H>>2]=c[c[o>>2]>>2];S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|4;if(!(c[(c[H>>2]|0)+4>>2]&2048)){if(!(c[(c[H>>2]|0)+20>>2]|0))break;if(!(c[c[(c[H>>2]|0)+20>>2]>>2]|0))break;S=c[c[(c[H>>2]|0)+20>>2]>>2]|0;c[G>>2]=(xv(S,((S|0)<0)<<31>>31)|0)<<16>>16;break}c[G>>2]=46;c[I>>2]=0;while(1){if((c[I>>2]|0)>=((e[(c[n>>2]|0)+40>>1]|0)-1|0))break b;if(c[(c[(c[n>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]|0?(c[c[(c[(c[n>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[H>>2]|0):0)c[G>>2]=0;c[I>>2]=(c[I>>2]|0)+1}}while(0);do if(!(c[(c[n>>2]|0)+36>>2]&2|0)){i=(c[n>>2]|0)+24|0;S=(b[i>>1]|0)+1<<16>>16;b[i>>1]=S;c[K>>2]=S&65535;if((b[(c[o>>2]|0)+8>>1]|0)<=0?(b[(c[(c[P>>2]|0)+4>>2]|0)+(e[s>>1]<<1)>>1]|0)>=0:0){S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+(b[(c[o>>2]|0)+8>>1]|0);S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(c[G>>2]|0);break}S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[(c[(c[P>>2]|0)+8>>2]|0)+(c[K>>2]<<1)>>1]|0)-(b[(c[(c[P>>2]|0)+8>>2]|0)+((c[K>>2]|0)-1<<1)>>1]|0));if(e[D>>1]&256|0){S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+10}}else XC(c[k>>2]|0,c[N>>2]|0,c[C>>2]|0,c[B>>2]|0,c[n>>2]|0)|0;while(0);b[E>>1]=(b[(c[n>>2]|0)+22>>1]|0)+1+(((b[(c[P>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[O>>2]|0)+16>>2]|0)+40>>1]|0)|0);S=BC(b[A>>1]|0,b[E>>1]|0)|0;b[(c[n>>2]|0)+20>>1]=S;if(!(c[(c[n>>2]|0)+36>>2]&320)){S=BC(b[(c[n>>2]|0)+20>>1]|0,(b[(c[n>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[n>>2]|0)+20>>1]=S}b[F>>1]=b[(c[n>>2]|0)+22>>1]|0;S=(c[n>>2]|0)+20|0;b[S>>1]=(b[S>>1]|0)+((b[Q>>1]|0)+(c[G>>2]|0));S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[Q>>1]|0)+(c[G>>2]|0));RC(c[(c[N>>2]|0)+4>>2]|0,c[n>>2]|0,b[z>>1]|0);c[y>>2]=KC(c[N>>2]|0,c[n>>2]|0)|0;S=(c[(c[n>>2]|0)+36>>2]&2|0)!=0;b[(S?c[n>>2]|0:c[n>>2]|0)+22>>1]=S?b[x>>1]|0:b[F>>1]|0;if((c[(c[n>>2]|0)+36>>2]&16|0)==0?(e[(c[n>>2]|0)+24>>1]|0)<(e[(c[P>>2]|0)+52>>1]|0):0)UC(c[N>>2]|0,c[O>>2]|0,c[P>>2]|0,(b[Q>>1]|0)+(c[G>>2]|0)&65535)|0;b[(c[n>>2]|0)+22>>1]=b[x>>1]|0}while(0);c[o>>2]=oC(p)|0}J=q;K=c[J+4>>2]|0;S=c[n>>2]|0;c[S>>2]=c[J>>2];c[S+4>>2]=K;b[(c[n>>2]|0)+24>>1]=b[s>>1]|0;b[(c[n>>2]|0)+24+2>>1]=b[t>>1]|0;b[(c[n>>2]|0)+24+4>>1]=b[u>>1]|0;b[(c[n>>2]|0)+42>>1]=b[v>>1]|0;c[(c[n>>2]|0)+36>>2]=c[w>>2];b[(c[n>>2]|0)+22>>1]=b[x>>1]|0;b[(c[n>>2]|0)+40>>1]=b[r>>1]|0;if(((((e[s>>1]|0)==(e[v>>1]|0)?((e[s>>1]|0)+1|0)<(e[(c[P>>2]|0)+50>>1]|0):0)?((d[(c[P>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[P>>2]|0)+8>>2]|0)+((e[s>>1]|0)+1<<1)>>1]|0)>=42:0)?(S=xC(c[m>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0,c[y>>2]=S,(S|0)==0):0){K=(c[n>>2]|0)+24|0;b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=(c[n>>2]|0)+42|0;b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=c[(c[n>>2]|0)+48>>2]|0;J=(c[n>>2]|0)+40|0;S=b[J>>1]|0;b[J>>1]=S+1<<16>>16;c[K+((S&65535)<<2)>>2]=0;S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|32768;b[L>>1]=(b[(c[(c[P>>2]|0)+8>>2]|0)+(e[s>>1]<<1)>>1]|0)-(b[(c[(c[P>>2]|0)+8>>2]|0)+((e[s>>1]|0)+1<<1)>>1]|0);S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(b[L>>1]|0);b[L>>1]=(b[L>>1]|0)+5;UC(c[N>>2]|0,c[O>>2]|0,c[P>>2]|0,(b[L>>1]|0)+(b[Q>>1]|0)&65535)|0;b[(c[n>>2]|0)+22>>1]=b[x>>1]|0;b[(c[n>>2]|0)+24>>1]=b[s>>1]|0;b[(c[n>>2]|0)+42>>1]=b[v>>1]|0;c[(c[n>>2]|0)+36>>2]=c[w>>2]}c[M>>2]=c[y>>2];S=c[M>>2]|0;l=R;return S|0}function VC(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;j=i+4|0;h=i;c[g>>2]=a;c[j>>2]=e;c[h>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]<<1)>>1];if((c[h>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+12>>0];j=c[f>>2]|0;l=i;return j|0}if((c[h>>2]|0)==-1){c[f>>2]=1;j=c[f>>2]|0;l=i;return j|0}else{c[f>>2]=0;j=c[f>>2]|0;l=i;return j|0}return 0}function WC(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;r=x+36|0;s=x+32|0;t=x+28|0;u=x+24|0;v=x+20|0;k=x+16|0;w=x+12|0;m=x+41|0;n=x+40|0;o=x+8|0;p=x+4|0;q=x;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=i;c[v>>2]=j;c[k>>2]=rx(c[(c[c[v>>2]>>2]|0)+12>>2]|0)|0;if((c[k>>2]|0)<((e[(c[t>>2]|0)+52>>1]|0)-(c[u>>2]|0)|0))f=c[k>>2]|0;else f=(e[(c[t>>2]|0)+52>>1]|0)-(c[u>>2]|0)|0;c[k>>2]=f;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[k>>2]|0)){f=17;break}a[n>>0]=0;c[p>>2]=c[(c[(c[(c[(c[c[v>>2]>>2]|0)+12>>2]|0)+20>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[q>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];f=(c[q>>2]|0)+20|0;if(c[(c[q>>2]|0)+4>>2]&2048|0)c[q>>2]=c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];else c[q>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];if((d[c[p>>2]>>0]|0)!=152){f=17;break}if((c[(c[p>>2]|0)+28>>2]|0)!=(c[s>>2]|0)){f=17;break}if((b[(c[p>>2]|0)+32>>1]|0)!=(b[(c[(c[t>>2]|0)+4>>2]|0)+((c[w>>2]|0)+(c[u>>2]|0)<<1)>>1]|0)){f=17;break}if((d[(c[(c[t>>2]|0)+28>>2]|0)+((c[w>>2]|0)+(c[u>>2]|0))>>0]|0)!=(d[(c[(c[t>>2]|0)+28>>2]|0)+(c[u>>2]|0)>>0]|0)){f=17;break}j=c[q>>2]|0;a[m>>0]=wz(j,qw(c[p>>2]|0)|0)|0;a[n>>0]=zw(c[(c[t>>2]|0)+12>>2]|0,b[(c[p>>2]|0)+32>>1]|0)|0;if((a[m>>0]|0)!=(a[n>>0]|0)){f=17;break}c[o>>2]=xz(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if(!(c[o>>2]|0)){f=17;break}if(bh(c[c[o>>2]>>2]|0,c[(c[(c[t>>2]|0)+32>>2]|0)+((c[w>>2]|0)+(c[u>>2]|0)<<2)>>2]|0)|0){f=17;break}c[w>>2]=(c[w>>2]|0)+1}if((f|0)==17){l=x;return c[w>>2]|0}return 0}function XC(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+16|0;m=o+12|0;n=o+8|0;h=o+4|0;i=o;j=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[h>>2]=0;c[i>>2]=b[(c[n>>2]|0)+22>>1];b[j>>1]=YC(c[k>>2]|0,c[i>>2]&65535)|0;b[j>>1]=YC(c[m>>2]|0,b[j>>1]|0)|0;if((c[k>>2]|0?(c[m>>2]|0?(b[(c[k>>2]|0)+8>>1]|0)>0:0):0)?(b[(c[m>>2]|0)+8>>1]|0)>0:0)b[j>>1]=(b[j>>1]|0)-20;c[i>>2]=(c[i>>2]|0)-(((c[k>>2]|0)!=0&1)+((c[m>>2]|0)!=0&1));if((b[j>>1]|0)<10)b[j>>1]=10;if((b[j>>1]|0)>=(c[i>>2]|0)){m=c[i>>2]|0;m=m&65535;n=c[n>>2]|0;n=n+22|0;b[n>>1]=m;n=c[h>>2]|0;l=o;return n|0}c[i>>2]=b[j>>1];m=c[i>>2]|0;m=m&65535;n=c[n>>2]|0;n=n+22|0;b[n>>1]=m;n=c[h>>2]|0;l=o;return n|0}function YC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h;i=h+6|0;g=h+4|0;c[f>>2]=a;b[i>>1]=d;b[g>>1]=b[i>>1]|0;do if(c[f>>2]|0){a=c[f>>2]|0;if((b[(c[f>>2]|0)+8>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[a+8>>1]|0);break}if(!(e[a+10>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);l=h;return b[g>>1]|0}function ZC(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+8|0;h=j+4|0;i=j;c[h>>2]=e;c[i>>2]=f;if(((d[c[i>>2]>>0]|0|0)==152?(c[(c[i>>2]|0)+28>>2]|0)==(c[(c[(c[h>>2]|0)+24>>2]|0)+4>>2]|0):0)?((Uy(c[c[(c[h>>2]|0)+24>>2]>>2]|0,b[(c[i>>2]|0)+32>>1]|0)|0)<<16>>16|0)<0:0){a[(c[h>>2]|0)+20>>0]=1;c[g>>2]=2;i=c[g>>2]|0;l=j;return i|0}c[g>>2]=0;i=c[g>>2]|0;l=j;return i|0}function _C(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;if(!(Yw(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0)){c[f>>2]=1;i=c[f>>2]|0;l=j;return i|0}do if((d[c[h>>2]>>0]|0|0)==27){if((_C(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[i>>2]|0)|0)==0?(_C(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[i>>2]|0)|0)==0:0)break;c[f>>2]=1;i=c[f>>2]|0;l=j;return i|0}while(0);if((((d[c[h>>2]>>0]|0|0)==35?(Yw(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[i>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=34:0)?(d[c[g>>2]>>0]|0|0)!=29:0){c[f>>2]=1;i=c[f>>2]|0;l=j;return i|0}c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}function $C(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+96|0;I=J+8|0;F=J+80|0;G=J+76|0;H=J+72|0;n=J;o=J+68|0;p=J+64|0;q=J+60|0;r=J+56|0;s=J+52|0;t=J+48|0;u=J+44|0;v=J+40|0;w=J+36|0;x=J+32|0;y=J+28|0;z=J+24|0;A=J+84|0;B=J+20|0;C=J+16|0;D=J+86|0;E=J+12|0;c[G>>2]=f;c[H>>2]=g;g=n;c[g>>2]=h;c[g+4>>2]=i;c[o>>2]=j;c[p>>2]=k;c[q>>2]=m;b[A>>1]=0;c[t>>2]=0;c[r>>2]=0;c[x>>2]=c[(c[H>>2]|0)+20>>2];while(1){if((c[r>>2]|0)>=(c[(c[H>>2]|0)+12>>2]|0))break;if((((c[(c[x>>2]|0)+20>>2]|0)==(c[(c[o>>2]|0)+44>>2]|0)?(k=(c[x>>2]|0)+32|0,m=n,!(c[k>>2]&c[m>>2]|0?1:(c[k+4>>2]&c[m+4>>2]|0)!=0)):0)?e[(c[x>>2]|0)+12>>1]&-2433|0:0)?(e[(c[x>>2]|0)+10>>1]&0|0)==0:0)c[t>>2]=(c[t>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+48}c[y>>2]=0;if(c[p>>2]|0){c[B>>2]=c[c[p>>2]>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[B>>2]|0))break;c[C>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];if((d[c[C>>2]>>0]|0)!=152)break;if((c[(c[C>>2]|0)+28>>2]|0)!=(c[(c[o>>2]|0)+44>>2]|0))break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)==(c[B>>2]|0))c[y>>2]=c[B>>2]}c[z>>2]=_l(c[c[G>>2]>>2]|0,72+((c[t>>2]|0)*20|0)+(c[y>>2]<<3)|0,0)|0;if(!(c[z>>2]|0)){sl(c[G>>2]|0,22481,I);c[F>>2]=0;I=c[F>>2]|0;l=J;return I|0}c[u>>2]=(c[z>>2]|0)+72;c[v>>2]=(c[u>>2]|0)+((c[t>>2]|0)*12|0);c[w>>2]=(c[v>>2]|0)+(c[y>>2]<<3);c[c[z>>2]>>2]=c[t>>2];c[(c[z>>2]|0)+8>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[u>>2];c[(c[z>>2]|0)+12>>2]=c[v>>2];c[(c[z>>2]|0)+16>>2]=c[w>>2];c[s>>2]=0;c[r>>2]=0;c[x>>2]=c[(c[H>>2]|0)+20>>2];while(1){if((c[r>>2]|0)>=(c[(c[H>>2]|0)+12>>2]|0))break;if((((c[(c[x>>2]|0)+20>>2]|0)==(c[(c[o>>2]|0)+44>>2]|0)?(G=(c[x>>2]|0)+32|0,I=n,!(c[G>>2]&c[I>>2]|0?1:(c[G+4>>2]&c[I+4>>2]|0)!=0)):0)?e[(c[x>>2]|0)+12>>1]&-2433|0:0)?(e[(c[x>>2]|0)+10>>1]&0|0)==0:0){c[(c[u>>2]|0)+((c[s>>2]|0)*12|0)>>2]=c[(c[x>>2]|0)+28>>2];c[(c[u>>2]|0)+((c[s>>2]|0)*12|0)+8>>2]=c[r>>2];I=b[(c[x>>2]|0)+12>>1]&255;a[D>>0]=I;a[D>>0]=(d[D>>0]|0)==1?2:I;if((d[D>>0]|0)==64)a[D>>0]=a[(c[x>>2]|0)+15>>0]|0;a[(c[u>>2]|0)+((c[s>>2]|0)*12|0)+4>>0]=a[D>>0]|0;if(d[D>>0]&60|0?az(c[(c[c[x>>2]>>2]|0)+16>>2]|0)|0:0){if((c[r>>2]|0)<16)b[A>>1]=e[A>>1]|1<>2];if((d[D>>0]|0)==16)a[(c[u>>2]|0)+((c[s>>2]|0)*12|0)+4>>0]=8;if((d[D>>0]|0)==4)a[(c[u>>2]|0)+((c[s>>2]|0)*12|0)+4>>0]=32}c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+48}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[y>>2]|0))break;c[E>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];c[(c[v>>2]|0)+(c[r>>2]<<3)>>2]=b[(c[E>>2]|0)+32>>1];a[(c[v>>2]|0)+(c[r>>2]<<3)+4>>0]=a[(c[(c[p>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)+12>>0]|0;c[r>>2]=(c[r>>2]|0)+1}b[c[q>>2]>>1]=b[A>>1]|0;c[F>>2]=c[z>>2];I=c[F>>2]|0;l=J;return I|0}function aD(f,g,i,j,k,m,n,o,p){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=l;l=l+96|0;G=N+16|0;M=N+88|0;I=N+84|0;O=N+8|0;q=N;r=N+94|0;J=N+80|0;t=N+92|0;u=N+76|0;v=N+72|0;w=N+68|0;x=N+64|0;y=N+60|0;z=N+56|0;K=N+52|0;L=N+48|0;A=N+44|0;B=N+40|0;C=N+36|0;s=N+32|0;D=N+28|0;E=N+24|0;F=N+20|0;c[I>>2]=f;f=O;c[f>>2]=g;c[f+4>>2]=i;i=q;c[i>>2]=j;c[i+4>>2]=k;b[r>>1]=m;c[J>>2]=n;b[t>>1]=o;c[u>>2]=p;c[v>>2]=c[(c[I>>2]|0)+4>>2];c[x>>2]=c[(c[J>>2]|0)+16>>2];c[K>>2]=0;c[L>>2]=c[(c[I>>2]|0)+12>>2];c[A>>2]=c[c[c[I>>2]>>2]>>2];c[B>>2]=(c[(c[c[I>>2]>>2]|0)+4>>2]|0)+8+((d[(c[L>>2]|0)+16>>0]|0)*72|0);c[C>>2]=c[c[J>>2]>>2];c[c[u>>2]>>2]=0;n=O;o=c[n+4>>2]|0;p=c[L>>2]|0;c[p>>2]=c[n>>2];c[p+4>>2]=o;c[w>>2]=c[(c[J>>2]|0)+4>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[C>>2]|0))break;c[s>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+8>>2]|0)*48|0);a[(c[w>>2]|0)+5>>0]=0;o=(c[s>>2]|0)+32|0;p=q;O=(c[s>>2]|0)+32|0;if(((c[o>>2]&c[p>>2]|0)==(c[O>>2]|0)?(c[o+4>>2]&c[p+4>>2]|0)==(c[O+4>>2]|0):0)?(e[(c[s>>2]|0)+12>>1]&e[r>>1]|0)==0:0)a[(c[w>>2]|0)+5>>0]=1;c[y>>2]=(c[y>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+12}m0(c[x>>2]|0,0,c[C>>2]<<3|0)|0;c[(c[J>>2]|0)+24>>2]=0;c[(c[J>>2]|0)+20>>2]=0;c[(c[J>>2]|0)+32>>2]=0;h[(c[J>>2]|0)+40>>3]=5.e+98;o=(c[J>>2]|0)+48|0;c[o>>2]=25;c[o+4>>2]=0;c[(c[J>>2]|0)+56>>2]=0;o=(c[B>>2]|0)+56|0;p=c[o+4>>2]|0;O=(c[J>>2]|0)+64|0;c[O>>2]=c[o>>2];c[O+4>>2]=p;c[K>>2]=bD(c[A>>2]|0,c[(c[B>>2]|0)+16>>2]|0,c[J>>2]|0)|0;if(c[K>>2]|0){c[M>>2]=c[K>>2];O=c[M>>2]|0;l=N;return O|0}c[z>>2]=-1;c[y>>2]=0;while(1){f=c[L>>2]|0;if((c[y>>2]|0)>=(c[C>>2]|0))break;c[(c[f+48>>2]|0)+(c[y>>2]<<2)>>2]=0;c[y>>2]=(c[y>>2]|0)+1}b[f+24+6>>1]=0;c[w>>2]=c[(c[J>>2]|0)+4>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[C>>2]|0))break;O=(c[(c[x>>2]|0)+(c[y>>2]<<3)>>2]|0)-1|0;c[D>>2]=O;if((O|0)>=0){c[F>>2]=c[(c[w>>2]|0)+8>>2];if((c[F>>2]|0)<0?1:(c[D>>2]|0)>=(c[C>>2]|0)){H=19;break}if((c[F>>2]|0)>=(c[(c[v>>2]|0)+12>>2]|0)){H=19;break}if(c[(c[(c[L>>2]|0)+48>>2]|0)+(c[D>>2]<<2)>>2]|0){H=19;break}if(!(d[(c[w>>2]|0)+5>>0]|0)){H=19;break}c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[F>>2]|0)*48|0);o=(c[E>>2]|0)+32|0;O=c[L>>2]|0;n=O;p=c[n+4>>2]|c[o+4>>2];c[O>>2]=c[n>>2]|c[o>>2];c[O+4>>2]=p;c[(c[(c[L>>2]|0)+48>>2]|0)+(c[D>>2]<<2)>>2]=c[E>>2];if((c[D>>2]|0)>(c[z>>2]|0))c[z>>2]=c[D>>2];if((c[D>>2]|0)<16?d[(c[x>>2]|0)+(c[y>>2]<<3)+4>>0]|0:0){O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]|1<>2]}if(e[(c[E>>2]|0)+12>>1]&1|0){c[(c[J>>2]|0)+32>>2]=0;O=(c[J>>2]|0)+56|0;c[O>>2]=c[O>>2]&-2;c[c[u>>2]>>2]=1}}c[y>>2]=(c[y>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+12}if((H|0)==19){c[K>>2]=1;O=c[A>>2]|0;c[G>>2]=c[c[(c[B>>2]|0)+16>>2]>>2];sl(O,34420,G);c[M>>2]=c[K>>2];O=c[M>>2]|0;l=N;return O|0}O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]&~e[t>>1];b[(c[L>>2]|0)+40>>1]=(c[z>>2]|0)+1;c[(c[L>>2]|0)+24>>2]=c[(c[J>>2]|0)+20>>2];a[(c[L>>2]|0)+24+4>>0]=c[(c[J>>2]|0)+28>>2];c[(c[J>>2]|0)+28>>2]=0;c[(c[L>>2]|0)+24+8>>2]=c[(c[J>>2]|0)+24>>2];if(c[(c[J>>2]|0)+32>>2]|0)f=c[(c[J>>2]|0)+8>>2]|0;else f=0;a[(c[L>>2]|0)+24+5>>0]=f;b[(c[L>>2]|0)+18>>1]=0;O=cD(+h[(c[J>>2]|0)+40>>3])|0;b[(c[L>>2]|0)+20>>1]=O;O=(c[J>>2]|0)+48|0;O=xv(c[O>>2]|0,c[O+4>>2]|0)|0;b[(c[L>>2]|0)+22>>1]=O;O=(c[L>>2]|0)+36|0;H=c[O>>2]|0;c[O>>2]=c[(c[J>>2]|0)+56>>2]&1|0?H|4096:H&-4097;c[K>>2]=KC(c[I>>2]|0,c[L>>2]|0)|0;if(a[(c[L>>2]|0)+24+4>>0]|0){_d(c[(c[L>>2]|0)+24+8>>2]|0);a[(c[L>>2]|0)+24+4>>0]=0}c[M>>2]=c[K>>2];O=c[M>>2]|0;l=N;return O|0}function bD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;i=j+8|0;h=j;e=j+28|0;m=j+24|0;k=j+20|0;f=j+16|0;g=j+12|0;c[e>>2]=a;c[m>>2]=b;c[k>>2]=d;c[f>>2]=c[(fw(c[c[e>>2]>>2]|0,c[m>>2]|0)|0)+8>>2];c[g>>2]=Mb[c[(c[c[f>>2]>>2]|0)+12>>2]&255](c[f>>2]|0,c[k>>2]|0)|0;do if(c[g>>2]|0){if((c[g>>2]|0)==7){Od(c[c[e>>2]>>2]|0);break}a=c[e>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){c[i>>2]=c[(c[f>>2]|0)+8>>2];sl(a,21240,i);break}else{c[h>>2]=Xi(c[g>>2]|0)|0;sl(a,21240,h);break}}while(0);_d(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0;l=j;return c[(c[e>>2]|0)+36>>2]|0}function cD(a){a=+a;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+32|0;d=i+18|0;e=i+8|0;f=i;g=i+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;l=i;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=xv(~~a>>>0,+F(a)>=1.0?(a>0.0?~~+T(+E(a/4294967296.0),4294967295.0)>>>0:~~+R((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;l=i;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=f0(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=Z$(f|0,D|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;l=i;return g|0}return 0}function dD(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;s=t+36|0;n=t+32|0;o=t+28|0;p=t+24|0;q=t+20|0;i=t+16|0;r=t+12|0;j=t+8|0;k=t+4|0;m=t;c[n>>2]=a;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[i>>2]=h;c[j>>2]=c[(c[(c[q>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[o>>2]>>2]|0)){a=10;break}c[k>>2]=yw(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[k>>2]>>0]|0)==152?(b[(c[k>>2]|0)+32>>1]|0)==(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[i>>2]<<1)>>1]|0):0)?(c[(c[k>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(c[m>>2]=rw(c[n>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0)|0,c[m>>2]|0):0)?0==(bh(c[c[m>>2]>>2]|0,c[j>>2]|0)|0):0){a=8;break}c[r>>2]=(c[r>>2]|0)+1}if((a|0)==8){c[s>>2]=c[r>>2];s=c[s>>2]|0;l=t;return s|0}else if((a|0)==10){c[s>>2]=-1;s=c[s>>2]|0;l=t;return s|0}return 0}function eD(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=l;l=l+256|0;F=oa+228|0;Q=oa+224|0;$=oa+220|0;i=oa+216|0;la=oa+212|0;ma=oa+208|0;na=oa+204|0;k=oa+40|0;m=oa+32|0;n=oa+24|0;o=oa+200|0;p=oa+196|0;q=oa+192|0;r=oa+188|0;s=oa+184|0;t=oa+180|0;u=oa+240|0;j=oa+16|0;v=oa+176|0;w=oa+172|0;x=oa+168|0;y=oa+164|0;z=oa+236|0;A=oa+160|0;B=oa+156|0;C=oa+234|0;E=oa+152|0;G=oa+148|0;H=oa+144|0;I=oa+140|0;J=oa+136|0;K=oa+132|0;L=oa+128|0;M=oa+124|0;N=oa+120|0;O=oa+116|0;P=oa+112|0;R=oa+108|0;S=oa+232|0;T=oa+104|0;U=oa+239|0;V=oa+238|0;W=oa+100|0;X=oa+96|0;Y=oa+92|0;Z=oa+88|0;_=oa+84|0;aa=oa+8|0;ba=oa;ca=oa+80|0;da=oa+76|0;ea=oa+72|0;fa=oa+68|0;ga=oa+64|0;ha=oa+60|0;ia=oa+56|0;ja=oa+52|0;ka=oa+48|0;c[F>>2]=f;c[Q>>2]=g;c[$>>2]=h;c[i>>2]=c[c[Q>>2]>>2];h=n;c[h>>2]=0;c[h+4>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[s>>2]=c[c[i>>2]>>2];c[t>>2]=c[c[s>>2]>>2];if(a[(c[t>>2]|0)+69>>0]|0){l=oa;return}c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);c[ma>>2]=(c[i>>2]|0)+488;c[na>>2]=c[c[la>>2]>>2];h=zC(c[ma>>2]|0,c[(c[na>>2]|0)+12>>2]|0)|0;i=k;c[i>>2]=h;c[i+4>>2]=D;c[r>>2]=d[c[na>>2]>>0];do if((c[r>>2]|0)==33){if(qz(c[s>>2]|0,c[na>>2]|0)|0){l=oa;return}f=c[ma>>2]|0;g=(c[na>>2]|0)+20|0;if(c[(c[na>>2]|0)+4>>2]&2048|0){g=AC(f,c[g>>2]|0)|0;f=c[la>>2]|0;h=D;break}else{g=ZB(f,c[g>>2]|0)|0;f=c[la>>2]|0;h=D;break}}else if((c[r>>2]|0)==34){f=c[la>>2]|0;g=0;h=0;break}else{g=zC(c[ma>>2]|0,c[(c[na>>2]|0)+16>>2]|0)|0;f=c[la>>2]|0;h=D;break}while(0);i=f+32|0;c[i>>2]=g;c[i+4>>2]=h;h=zC(c[ma>>2]|0,c[na>>2]|0)|0;i=m;c[i>>2]=h;c[i+4>>2]=D;if(c[(c[na>>2]|0)+4>>2]&1|0){f=bC(c[ma>>2]|0,b[(c[na>>2]|0)+36>>1]|0)|0;g=j;c[g>>2]=f;c[g+4>>2]=D;g=j;f=m;h=c[f+4>>2]|c[g+4>>2];i=m;c[i>>2]=c[f>>2]|c[g>>2];c[i+4>>2]=h;i=j;i=Z$(c[i>>2]|0,c[i+4>>2]|0,1,0)|0;j=n;c[j>>2]=i;c[j+4>>2]=D}i=m;f=c[i+4>>2]|0;j=(c[la>>2]|0)+40|0;c[j>>2]=c[i>>2];c[j+4>>2]=f;c[(c[la>>2]|0)+20>>2]=-1;c[(c[la>>2]|0)+16>>2]=-1;b[(c[la>>2]|0)+12>>1]=0;j=(fD(c[r>>2]|0)|0)!=0;f=c[na>>2]|0;a:do if(j){c[x>>2]=yw(c[f+12>>2]|0)|0;c[y>>2]=yw(c[(c[na>>2]|0)+16>>2]|0)|0;I=(c[la>>2]|0)+32|0;J=k;b[z>>1]=((c[I>>2]&c[J>>2]|0)==0?(c[I+4>>2]&c[J+4>>2]|0)==0:0)?8191:2048;if((c[(c[la>>2]|0)+24>>2]|0)>0)c[x>>2]=c[(c[(c[(c[x>>2]|0)+20>>2]|0)+4>>2]|0)+(((c[(c[la>>2]|0)+24>>2]|0)-1|0)*20|0)>>2];J=k;if(gD(c[F>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[x>>2]|0,v,w)|0){c[(c[la>>2]|0)+20>>2]=c[v>>2];c[(c[la>>2]|0)+28>>2]=c[w>>2];J=(hD(c[r>>2]|0)|0)&65535;b[(c[la>>2]|0)+12>>1]=J&e[z>>1]}if((c[r>>2]|0)==29){J=(c[la>>2]|0)+10|0;b[J>>1]=e[J>>1]|2048}if(c[y>>2]|0?(J=(c[la>>2]|0)+32|0,gD(c[F>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[y>>2]|0,v,w)|0):0){b[C>>1]=0;if((c[(c[la>>2]|0)+20>>2]|0)>=0){c[B>>2]=Ww(c[t>>2]|0,c[na>>2]|0,0)|0;if(a[(c[t>>2]|0)+69>>0]|0){Ok(c[t>>2]|0,c[B>>2]|0);l=oa;return}c[E>>2]=iD(c[Q>>2]|0,c[B>>2]|0,3)|0;if(!(c[E>>2]|0)){l=oa;return}c[A>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[E>>2]|0)*48|0);jD(c[Q>>2]|0,c[E>>2]|0,c[$>>2]|0);if((c[r>>2]|0)==29){J=(c[A>>2]|0)+10|0;b[J>>1]=e[J>>1]|2048}c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);J=(c[la>>2]|0)+10|0;b[J>>1]=e[J>>1]|8;if(kD(c[s>>2]|0,c[B>>2]|0)|0){J=(c[la>>2]|0)+12|0;b[J>>1]=e[J>>1]|2048;b[C>>1]=2048}}else{c[B>>2]=c[na>>2];c[A>>2]=c[la>>2]}lD(c[s>>2]|0,c[B>>2]|0);c[(c[A>>2]|0)+20>>2]=c[v>>2];c[(c[A>>2]|0)+28>>2]=c[w>>2];G=k;J=n;I=c[G+4>>2]|c[J+4>>2];H=(c[A>>2]|0)+32|0;c[H>>2]=c[G>>2]|c[J>>2];c[H+4>>2]=I;H=m;I=c[H+4>>2]|0;J=(c[A>>2]|0)+40|0;c[J>>2]=c[H>>2];c[J+4>>2]=I;J=(hD(d[c[B>>2]>>0]|0)|0)&65535;b[(c[A>>2]|0)+12>>1]=J+(e[C>>1]|0)&e[z>>1]}}else{if((d[f>>0]|0)==32?(d[(c[Q>>2]|0)+8>>0]|0)==28:0){c[G>>2]=c[(c[na>>2]|0)+20>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=2)break a;B=c[s>>2]|0;C=d[34446+(c[H>>2]|0)>>0]|0;E=Ww(c[t>>2]|0,c[(c[na>>2]|0)+12>>2]|0,0)|0;c[I>>2]=pt(B,C,E,Ww(c[t>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)>>2]|0,0)|0,0)|0;mD(c[I>>2]|0,c[na>>2]|0);c[J>>2]=iD(c[Q>>2]|0,c[I>>2]|0,3)|0;eD(c[F>>2]|0,c[Q>>2]|0,c[J>>2]|0);c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);jD(c[Q>>2]|0,c[J>>2]|0,c[$>>2]|0);c[H>>2]=(c[H>>2]|0)+1}}if((d[c[na>>2]>>0]|0)==27){nD(c[F>>2]|0,c[Q>>2]|0,c[$>>2]|0);c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0)}}while(0);if((d[(c[Q>>2]|0)+8>>0]|0)==28?oD(c[s>>2]|0,c[na>>2]|0,o,p,q)|0:0){b[S>>1]=259;c[K>>2]=c[(c[(c[(c[na>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[L>>2]=Ww(c[t>>2]|0,c[o>>2]|0,0)|0;b:do if(c[q>>2]|0?(a[(c[c[s>>2]>>2]|0)+69>>0]|0)==0:0){S=(c[la>>2]|0)+10|0;b[S>>1]=e[S>>1]|1024;c[T>>2]=0;while(1){S=a[(c[(c[o>>2]|0)+8>>2]|0)+(c[T>>2]|0)>>0]|0;a[U>>0]=S;if(!(S<<24>>24))break b;a[(c[(c[o>>2]|0)+8>>2]|0)+(c[T>>2]|0)>>0]=a[U>>0]&~(d[20063+(d[U>>0]|0)>>0]&32);a[(c[(c[L>>2]|0)+8>>2]|0)+(c[T>>2]|0)>>0]=a[20458+(d[U>>0]|0)>>0]|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(!(a[(c[t>>2]|0)+69>>0]|0)){U=c[(c[L>>2]|0)+8>>2]|0;c[W>>2]=U+((md(c[(c[L>>2]|0)+8>>2]|0)|0)-1);a[V>>0]=a[c[W>>2]>>0]|0;if(c[q>>2]|0){if((d[V>>0]|0)==64)c[p>>2]=0;a[V>>0]=a[20458+(d[V>>0]|0)>>0]|0}a[c[W>>2]>>0]=(d[V>>0]|0)+1}c[R>>2]=c[q>>2]|0?34448:34455;c[M>>2]=Ww(c[t>>2]|0,c[K>>2]|0,0)|0;W=c[s>>2]|0;V=ix(c[s>>2]|0,c[M>>2]|0,c[R>>2]|0)|0;c[M>>2]=pt(W,41,V,c[o>>2]|0,0)|0;mD(c[M>>2]|0,c[na>>2]|0);c[O>>2]=iD(c[Q>>2]|0,c[M>>2]|0,259)|0;eD(c[F>>2]|0,c[Q>>2]|0,c[O>>2]|0);c[N>>2]=Ww(c[t>>2]|0,c[K>>2]|0,0)|0;V=c[s>>2]|0;W=ix(c[s>>2]|0,c[N>>2]|0,c[R>>2]|0)|0;c[N>>2]=pt(V,40,W,c[L>>2]|0,0)|0;mD(c[N>>2]|0,c[na>>2]|0);c[P>>2]=iD(c[Q>>2]|0,c[N>>2]|0,259)|0;eD(c[F>>2]|0,c[Q>>2]|0,c[P>>2]|0);c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);if(c[p>>2]|0){jD(c[Q>>2]|0,c[O>>2]|0,c[$>>2]|0);jD(c[Q>>2]|0,c[P>>2]|0,c[$>>2]|0)}}if(((d[(c[Q>>2]|0)+8>>0]|0)==28?pD(c[na>>2]|0,u)|0:0)?(c[Y>>2]=c[c[(c[(c[na>>2]|0)+20>>2]|0)+4>>2]>>2],c[Z>>2]=c[(c[(c[(c[na>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],V=zC(c[ma>>2]|0,c[Y>>2]|0)|0,W=ba,c[W>>2]=V,c[W+4>>2]=D,ma=zC(c[ma>>2]|0,c[Z>>2]|0)|0,W=aa,c[W>>2]=ma,c[W+4>>2]=D,W=ba,ma=aa,(c[W>>2]&c[ma>>2]|0)==0?(c[W+4>>2]&c[ma+4>>2]|0)==0:0):0){ma=c[s>>2]|0;c[ca>>2]=pt(ma,30,0,Ww(c[t>>2]|0,c[Y>>2]|0,0)|0,0)|0;c[X>>2]=iD(c[Q>>2]|0,c[ca>>2]|0,3)|0;c[_>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[X>>2]|0)*48|0);ma=ba;ca=c[ma+4>>2]|0;ba=(c[_>>2]|0)+32|0;c[ba>>2]=c[ma>>2];c[ba+4>>2]=ca;c[(c[_>>2]|0)+20>>2]=c[(c[Z>>2]|0)+28>>2];c[(c[_>>2]|0)+28>>2]=b[(c[Z>>2]|0)+32>>1];b[(c[_>>2]|0)+12>>1]=64;a[(c[_>>2]|0)+15>>0]=a[u>>0]|0;jD(c[Q>>2]|0,c[X>>2]|0,c[$>>2]|0);c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);ba=(c[la>>2]|0)+10|0;b[ba>>1]=e[ba>>1]|8;ba=(c[la>>2]|0)+40|0;ca=c[ba+4>>2]|0;ma=(c[_>>2]|0)+40|0;c[ma>>2]=c[ba>>2];c[ma+4>>2]=ca}do if((d[(c[Q>>2]|0)+8>>0]|0)==28){if((d[c[na>>2]>>0]|0)!=37?(d[c[na>>2]>>0]|0)!=29:0)break;if(az(c[(c[na>>2]|0)+12>>2]|0)|0){if(c[(c[(c[na>>2]|0)+12>>2]|0)+4>>2]&2048|0?c[(c[(c[na>>2]|0)+16>>2]|0)+4>>2]&2048|0:0)break;c[da>>2]=rx(c[(c[na>>2]|0)+12>>2]|0)|0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;c[ha>>2]=qD(c[s>>2]|0,c[(c[na>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;c[ia>>2]=qD(c[s>>2]|0,c[(c[na>>2]|0)+16>>2]|0,c[ea>>2]|0)|0;c[ga>>2]=pt(c[s>>2]|0,d[c[na>>2]>>0]|0,c[ha>>2]|0,c[ia>>2]|0,0)|0;mD(c[ga>>2]|0,c[na>>2]|0);c[fa>>2]=iD(c[Q>>2]|0,c[ga>>2]|0,1)|0;eD(c[F>>2]|0,c[Q>>2]|0,c[fa>>2]|0);c[ea>>2]=(c[ea>>2]|0)+1}c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);b[(c[la>>2]|0)+10>>1]=6;b[(c[la>>2]|0)+12>>1]=0}}while(0);c:do if(((((d[(c[Q>>2]|0)+8>>0]|0)==28?(d[c[na>>2]>>0]|0)==33:0)?(c[(c[la>>2]|0)+24>>2]|0)==0:0)?(d[c[(c[na>>2]|0)+12>>2]>>0]|0)==158:0)?(c[(c[(c[na>>2]|0)+20>>2]|0)+48>>2]|0)==0:0){c[ja>>2]=0;while(1){ma=c[ja>>2]|0;if((ma|0)>=(rx(c[(c[na>>2]|0)+12>>2]|0)|0))break c;c[ka>>2]=iD(c[Q>>2]|0,c[na>>2]|0,2)|0;c[(c[(c[Q>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)+24>>2]=(c[ja>>2]|0)+1;eD(c[F>>2]|0,c[Q>>2]|0,c[ka>>2]|0);jD(c[Q>>2]|0,c[ka>>2]|0,c[$>>2]|0);c[ja>>2]=(c[ja>>2]|0)+1}}while(0);ka=n;na=(c[la>>2]|0)+32|0;la=na;ma=c[la+4>>2]|c[ka+4>>2];c[na>>2]=c[la>>2]|c[ka>>2];c[na+4>>2]=ma;l=oa;return}function fD(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=33?!((c[b>>2]|0)>=37&(c[b>>2]|0)<=41|(c[b>>2]|0)==34):0)a=(c[b>>2]|0)==29;else a=1;l=d;return a&1|0}function gD(a,f,g,h,i,j,k){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;u=v+40|0;q=v+36|0;w=v+32|0;m=v;n=v+28|0;r=v+24|0;s=v+20|0;o=v+16|0;p=v+12|0;t=v+8|0;c[q>>2]=a;c[w>>2]=f;f=m;c[f>>2]=g;c[f+4>>2]=h;c[n>>2]=i;c[r>>2]=j;c[s>>2]=k;if(((c[w>>2]|0)>=38?(d[c[n>>2]>>0]|0)==158:0)&(c[w>>2]|0)<=41)c[n>>2]=c[c[(c[(c[n>>2]|0)+20>>2]|0)+4>>2]>>2];if((d[c[n>>2]>>0]|0)==152){c[c[r>>2]>>2]=c[(c[n>>2]|0)+28>>2];c[c[s>>2]>>2]=b[(c[n>>2]|0)+32>>1];c[u>>2]=1;w=c[u>>2]|0;l=v;return w|0}w=m;if((c[w>>2]|0)==0&(c[w+4>>2]|0)==0){c[u>>2]=0;w=c[u>>2]|0;l=v;return w|0}w=m;j=c[w>>2]|0;w=c[w+4>>2]|0;k=m;k=Z$(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((j&k|0)!=0|(w&D|0)!=0){c[u>>2]=0;w=c[u>>2]|0;l=v;return w|0}c[p>>2]=0;while(1){w=m;k=c[w+4>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[w>>2]|0)>>>0>1))break;c[p>>2]=(c[p>>2]|0)+1;k=m;k=f0(c[k>>2]|0,c[k+4>>2]|0,1)|0;w=m;c[w>>2]=k;c[w+4>>2]=D}c[t>>2]=c[(c[q>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2];c[o>>2]=c[(c[(c[q>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[o>>2]|0)){a=22;break}b:do if(c[(c[o>>2]|0)+40>>2]|0){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[(c[o>>2]|0)+50>>1]|0))break b;if((b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1]|0)==-2?(Yw(c[n>>2]|0,c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,c[t>>2]|0)|0)==0:0){a=19;break a}c[p>>2]=(c[p>>2]|0)+1}}while(0);c[o>>2]=c[(c[o>>2]|0)+20>>2]}if((a|0)==19){c[c[r>>2]>>2]=c[t>>2];c[c[s>>2]>>2]=-2;c[u>>2]=1;w=c[u>>2]|0;l=v;return w|0}else if((a|0)==22){c[u>>2]=0;w=c[u>>2]|0;l=v;return w|0}return 0}function hD(a){a=a|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=33){if((c[d>>2]|0)==34){b[e>>1]=256;break}if((c[d>>2]|0)==29){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-37;break}}else b[e>>1]=1;while(0);l=f;return b[e>>1]|0}function iD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;n=p+24|0;i=p+20|0;j=p+16|0;k=p+28|0;m=p+12|0;o=p+8|0;h=p+4|0;g=p;c[i>>2]=a;c[j>>2]=d;b[k>>1]=f;do if((c[(c[i>>2]|0)+12>>2]|0)>=(c[(c[i>>2]|0)+16>>2]|0)){c[h>>2]=c[(c[i>>2]|0)+20>>2];c[g>>2]=c[c[c[c[i>>2]>>2]>>2]>>2];f=Ed(c[g>>2]|0,(c[(c[i>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[i>>2]|0)+20>>2]=f;if(c[(c[i>>2]|0)+20>>2]|0){h0(c[(c[i>>2]|0)+20>>2]|0,c[h>>2]|0,(c[(c[i>>2]|0)+12>>2]|0)*48|0)|0;if((c[h>>2]|0)!=((c[i>>2]|0)+24|0))Xd(c[g>>2]|0,c[h>>2]|0);h=((ae(c[g>>2]|0,c[(c[i>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[i>>2]|0)+16>>2]=h;break}if((e[k>>1]|0)&1|0)Ok(c[g>>2]|0,c[j>>2]|0);c[(c[i>>2]|0)+20>>2]=c[h>>2];c[n>>2]=0;o=c[n>>2]|0;l=p;return o|0}while(0);f=c[(c[i>>2]|0)+20>>2]|0;g=(c[i>>2]|0)+12|0;h=c[g>>2]|0;c[g>>2]=h+1;c[o>>2]=h;c[m>>2]=f+(h*48|0);if(c[j>>2]|0?c[(c[j>>2]|0)+4>>2]&262144|0:0){a=c[(c[j>>2]|0)+28>>2]|0;a=((xv(a,((a|0)<0)<<31>>31)|0)<<16>>16)-270&65535;d=c[m>>2]|0}else{a=1;d=c[m>>2]|0}b[d+8>>1]=a;a=yw(c[j>>2]|0)|0;c[c[m>>2]>>2]=a;b[(c[m>>2]|0)+10>>1]=b[k>>1]|0;c[(c[m>>2]|0)+4>>2]=c[i>>2];c[(c[m>>2]|0)+16>>2]=-1;a=(c[m>>2]|0)+12|0;d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[n>>2]=c[o>>2];o=c[n>>2]|0;l=p;return o|0}function jD(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;i=g+8|0;j=g+4|0;h=g;c[i>>2]=d;c[j>>2]=e;c[h>>2]=f;c[(c[(c[i>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0)+16>>2]=c[h>>2];b[(c[(c[i>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0)+8>>1]=b[(c[(c[i>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+8>>1]|0;f=(c[(c[i>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+14|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;l=g;return}function kD(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+20|0;i=p+16|0;j=p+12|0;g=p+25|0;h=p+24|0;k=p+8|0;n=p+4|0;o=p;c[i>>2]=b;c[j>>2]=f;if(e[(c[c[i>>2]>>2]|0)+64>>1]&512|0){c[m>>2]=0;o=c[m>>2]|0;l=p;return o|0}if((d[c[j>>2]>>0]|0)!=37?(d[c[j>>2]>>0]|0)!=29:0){c[m>>2]=0;o=c[m>>2]|0;l=p;return o|0}if(c[(c[j>>2]|0)+4>>2]&1|0){c[m>>2]=0;o=c[m>>2]|0;l=p;return o|0}a[g>>0]=qw(c[(c[j>>2]|0)+12>>2]|0)|0;a[h>>0]=qw(c[(c[j>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;l=p;return o|0}while(0);c[k>>2]=xz(c[i>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0)|0;if(c[k>>2]|0?bh(c[c[k>>2]>>2]|0,34455)|0:0){c[k>>2]=rw(c[i>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if(c[k>>2]|0)b=c[c[k>>2]>>2]|0;else b=0;c[n>>2]=b;c[k>>2]=rw(c[i>>2]|0,c[(c[j>>2]|0)+16>>2]|0)|0;if(c[k>>2]|0)b=c[c[k>>2]>>2]|0;else b=0;c[o>>2]=b;c[m>>2]=(kl(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;l=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;l=p;return o|0}function lD(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;h=m+8|0;i=m+4|0;j=m+14|0;n=m+12|0;k=m;c[h>>2]=f;c[i>>2]=g;b[j>>1]=c[(c[(c[i>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[i>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[j>>1]|0)==(e[n>>1]|0)){if(b[j>>1]|0){n=(c[(c[i>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(rw(c[h>>2]|0,c[(c[i>>2]|0)+12>>2]|0)|0){n=(c[(c[i>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[k>>2]=c[(c[i>>2]|0)+16>>2];c[(c[i>>2]|0)+16>>2]=c[(c[i>>2]|0)+12>>2];c[(c[i>>2]|0)+12>>2]=c[k>>2];if((d[c[i>>2]>>0]|0)<38){l=m;return}a[c[i>>2]>>0]=((d[c[i>>2]>>0]|0)-38^2)+38;l=m;return}function mD(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){l=g;return}d=(c[e>>2]|0)+4|0;c[d>>2]=c[d>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;l=g;return}function nD(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=l;l=l+160|0;E=V+156|0;O=V+152|0;P=V+148|0;Q=V+144|0;R=V+140|0;S=V+136|0;T=V+132|0;w=V+128|0;x=V+124|0;y=V+120|0;z=V+116|0;i=V+112|0;A=V+24|0;j=V+16|0;k=V+108|0;m=V+104|0;n=V+100|0;o=V+96|0;p=V+8|0;q=V;r=V+92|0;s=V+88|0;t=V+84|0;u=V+80|0;v=V+76|0;B=V+72|0;C=V+68|0;F=V+64|0;G=V+60|0;H=V+56|0;I=V+52|0;J=V+48|0;K=V+44|0;L=V+40|0;M=V+36|0;N=V+32|0;c[E>>2]=f;c[O>>2]=g;c[P>>2]=h;c[Q>>2]=c[c[O>>2]>>2];c[R>>2]=c[c[Q>>2]>>2];c[S>>2]=c[c[R>>2]>>2];c[T>>2]=(c[(c[O>>2]|0)+20>>2]|0)+((c[P>>2]|0)*48|0);c[w>>2]=c[c[T>>2]>>2];h=_l(c[S>>2]|0,416,0)|0;c[i>>2]=h;c[(c[T>>2]|0)+28>>2]=h;if(!(c[i>>2]|0)){l=V;return}h=(c[T>>2]|0)+10|0;b[h>>1]=e[h>>1]|16;c[y>>2]=c[i>>2];m0((c[y>>2]|0)+24|0,0,384)|0;QB(c[y>>2]|0,c[Q>>2]|0);RB(c[y>>2]|0,c[w>>2]|0,27);UB(c[E>>2]|0,c[y>>2]|0);if(a[(c[S>>2]|0)+69>>0]|0){l=V;return}h=j;c[h>>2]=-1;c[h+4>>2]=-1;h=A;c[h>>2]=-1;c[h+4>>2]=-1;c[x>>2]=(c[(c[y>>2]|0)+12>>2]|0)-1;c[z>>2]=c[(c[y>>2]|0)+20>>2];while(1){h=j;if(!((c[x>>2]|0)>=0?(c[h>>2]|0)!=0|(c[h+4>>2]|0)!=0:0))break;do if(!(e[(c[z>>2]|0)+12>>1]&511)){h=A;c[h>>2]=0;c[h+4>>2]=0;c[k>>2]=Ed(c[S>>2]|0,408,0)|0;if(c[k>>2]|0){h=p;c[h>>2]=0;c[h+4>>2]=0;c[(c[z>>2]|0)+28>>2]=c[k>>2];h=(c[z>>2]|0)+10|0;b[h>>1]=e[h>>1]|32;b[(c[z>>2]|0)+12>>1]=1024;c[m>>2]=c[k>>2];m0((c[m>>2]|0)+24|0,0,384)|0;QB(c[m>>2]|0,c[c[O>>2]>>2]|0);RB(c[m>>2]|0,c[c[z>>2]>>2]|0,28);UB(c[E>>2]|0,c[m>>2]|0);c[(c[m>>2]|0)+4>>2]=c[O>>2];a:do if(!(a[(c[S>>2]|0)+69>>0]|0)){c[o>>2]=0;c[n>>2]=c[(c[m>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break a;if(!(!(fD(d[c[c[n>>2]>>2]>>0]|0)|0)?(e[(c[n>>2]|0)+12>>1]|0)!=64:0)){f=bC((c[Q>>2]|0)+488|0,c[(c[n>>2]|0)+20>>2]|0)|0;W=p;g=c[W+4>>2]|D;h=p;c[h>>2]=c[W>>2]|f;c[h+4>>2]=g}c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}}while(0);g=p;f=j;h=c[f+4>>2]&c[g+4>>2];W=j;c[W>>2]=c[f>>2]&c[g>>2];c[W+4>>2]=h}}else if(!(e[(c[z>>2]|0)+10>>1]&8)){h=bC((c[Q>>2]|0)+488|0,c[(c[z>>2]|0)+20>>2]|0)|0;W=q;c[W>>2]=h;c[W+4>>2]=D;if(e[(c[z>>2]|0)+10>>1]&2|0){c[r>>2]=(c[(c[y>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+16>>2]|0)*48|0);g=bC((c[Q>>2]|0)+488|0,c[(c[r>>2]|0)+20>>2]|0)|0;f=q;h=c[f+4>>2]|D;W=q;c[W>>2]=c[f>>2]|g;c[W+4>>2]=h}g=q;f=j;h=c[f+4>>2]&c[g+4>>2];W=j;c[W>>2]=c[f>>2]&c[g>>2];c[W+4>>2]=h;if(!(e[(c[z>>2]|0)+12>>1]&2)){W=A;c[W>>2]=0;c[W+4>>2]=0;break}else{g=q;f=A;h=c[f+4>>2]&c[g+4>>2];W=A;c[W>>2]=c[f>>2]&c[g>>2];c[W+4>>2]=h;break}}while(0);c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+48}q=j;r=c[q+4>>2]|0;W=(c[i>>2]|0)+408|0;c[W>>2]=c[q>>2];c[W+4>>2]=r;W=j;b[(c[T>>2]|0)+12>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=j;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[y>>2]|0)+12>>2]|0)==2:0){c[s>>2]=0;c:while(1){r=c[(c[y>>2]|0)+20>>2]|0;W=c[s>>2]|0;c[s>>2]=W+1;W=vD(r,W)|0;c[t>>2]=W;if(!W)break b;c[u>>2]=0;while(1){r=(c[(c[y>>2]|0)+20>>2]|0)+48|0;W=c[u>>2]|0;c[u>>2]=W+1;W=vD(r,W)|0;c[v>>2]=W;if(!W)continue c;wD(c[E>>2]|0,c[O>>2]|0,c[t>>2]|0,c[v>>2]|0)}}}while(0);W=A;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){l=V;return}c[B>>2]=0;c[C>>2]=-1;c[F>>2]=-1;c[G>>2]=0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=2)break;if(!((c[B>>2]|0)!=0^1))break;c[z>>2]=c[(c[y>>2]|0)+20>>2];c[x>>2]=(c[(c[y>>2]|0)+12>>2]|0)-1;while(1){if((c[x>>2]|0)<0)break;W=(c[z>>2]|0)+10|0;b[W>>1]=e[W>>1]&-65;if((c[(c[z>>2]|0)+20>>2]|0)!=(c[F>>2]|0)?(W=A,u=c[W>>2]|0,W=c[W+4>>2]|0,v=bC((c[Q>>2]|0)+488|0,c[(c[z>>2]|0)+20>>2]|0)|0,!((u&v|0)==0&(W&D|0)==0)):0){U=37;break}c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+48}if((U|0)==37){U=0;c[C>>2]=c[(c[z>>2]|0)+28>>2];c[F>>2]=c[(c[z>>2]|0)+20>>2]}if((c[x>>2]|0)<0)break;c[B>>2]=1;while(1){if(!((c[x>>2]|0)>=0?(c[B>>2]|0)!=0:0))break;f=c[z>>2]|0;do if((c[(c[z>>2]|0)+20>>2]|0)!=(c[F>>2]|0)){W=f+10|0;b[W>>1]=e[W>>1]&-65}else{if((c[f+28>>2]|0)!=(c[C>>2]|0)){c[B>>2]=0;break}c[I>>2]=(qw(c[(c[c[z>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[H>>2]=(qw(c[(c[c[z>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if(c[I>>2]|0?(c[I>>2]|0)!=(c[H>>2]|0):0){c[B>>2]=0;break}W=(c[z>>2]|0)+10|0;b[W>>1]=e[W>>1]|64}while(0);c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+48}c[G>>2]=(c[G>>2]|0)+1}if(!(c[B>>2]|0)){l=V;return}c[K>>2]=0;c[L>>2]=0;c[x>>2]=(c[(c[y>>2]|0)+12>>2]|0)-1;c[z>>2]=c[(c[y>>2]|0)+20>>2];while(1){if((c[x>>2]|0)<0)break;if(e[(c[z>>2]|0)+10>>1]&64|0){c[J>>2]=Ww(c[S>>2]|0,c[(c[c[z>>2]>>2]|0)+16>>2]|0,0)|0;c[K>>2]=Et(c[c[Q>>2]>>2]|0,c[K>>2]|0,c[J>>2]|0)|0;c[L>>2]=c[(c[c[z>>2]>>2]|0)+12>>2]}c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+48}c[J>>2]=Ww(c[S>>2]|0,c[L>>2]|0,0)|0;c[M>>2]=pt(c[R>>2]|0,33,c[J>>2]|0,0,0)|0;if(c[M>>2]|0){mD(c[M>>2]|0,c[w>>2]|0);c[(c[M>>2]|0)+20>>2]=c[K>>2];c[N>>2]=iD(c[O>>2]|0,c[M>>2]|0,3)|0;eD(c[E>>2]|0,c[O>>2]|0,c[N>>2]|0);c[T>>2]=(c[(c[O>>2]|0)+20>>2]|0)+((c[P>>2]|0)*48|0);jD(c[O>>2]|0,c[N>>2]|0,c[P>>2]|0)}else Kk(c[S>>2]|0,c[K>>2]|0);b[(c[T>>2]|0)+12>>1]=4096;l=V;return}function oD(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+96|0;B=F+80|0;C=F+76|0;o=F+72|0;D=F+68|0;E=F+64|0;G=F+60|0;r=F+56|0;s=F+52|0;j=F+48|0;k=F+44|0;p=F+40|0;t=F+36|0;q=F+84|0;u=F+32|0;v=F+28|0;w=F+24|0;x=F+20|0;m=F+16|0;n=F+12|0;y=F+8|0;z=F+4|0;A=F;c[C>>2]=e;c[o>>2]=f;c[D>>2]=g;c[E>>2]=h;c[G>>2]=i;c[r>>2]=0;c[u>>2]=c[c[C>>2]>>2];c[v>>2]=0;if(!(rD(c[u>>2]|0,c[o>>2]|0,c[G>>2]|0,q)|0)){c[B>>2]=0;G=c[B>>2]|0;l=F;return G|0}c[k>>2]=c[(c[o>>2]|0)+20>>2];c[j>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+20>>2];if(((d[c[j>>2]>>0]|0)==152?((qw(c[j>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[j>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[s>>2]=yw(c[c[(c[k>>2]|0)+4>>2]>>2]|0)|0;c[w>>2]=d[c[s>>2]>>0];if((c[w>>2]|0)!=135){if((c[w>>2]|0)==97)c[r>>2]=c[(c[s>>2]|0)+8>>2]}else{c[m>>2]=c[(c[C>>2]|0)+432>>2];c[n>>2]=b[(c[s>>2]|0)+32>>1];c[v>>2]=sD(c[m>>2]|0,c[n>>2]|0,65)|0;if(c[v>>2]|0?(Ai(c[v>>2]|0)|0)==3:0)c[r>>2]=Rh(c[v>>2]|0)|0;tD(c[(c[C>>2]|0)+8>>2]|0,c[n>>2]|0)}do if(c[r>>2]|0){c[t>>2]=0;while(1){G=a[(c[r>>2]|0)+(c[t>>2]|0)>>0]|0;c[p>>2]=G;if((G|0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)f=(c[p>>2]|0)!=(a[q+2>>0]|0);else f=0;e=c[t>>2]|0;if(!f)break;c[t>>2]=e+1}if(e|0?255!=(d[(c[r>>2]|0)+((c[t>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))e=(a[(c[r>>2]|0)+((c[t>>2]|0)+1)>>0]|0)==0;else e=0;c[c[E>>2]>>2]=e&1;c[y>>2]=Ht(c[u>>2]|0,97,c[r>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[t>>2]|0)>>0]=0;c[c[D>>2]>>2]=c[y>>2];if((c[w>>2]|0)!=135)break;c[z>>2]=c[(c[C>>2]|0)+8>>2];tD(c[z>>2]|0,b[(c[s>>2]|0)+32>>1]|0);if(!(c[c[E>>2]>>2]|0))break;if(!(a[(c[(c[s>>2]|0)+8>>2]|0)+1>>0]|0))break;c[A>>2]=Ov(c[C>>2]|0)|0;Xy(c[C>>2]|0,c[s>>2]|0,c[A>>2]|0)|0;G=c[z>>2]|0;uD(G,(Pv(c[z>>2]|0)|0)-1|0,0);Qv(c[C>>2]|0,c[A>>2]|0);break}c[r>>2]=0}while(0);c[x>>2]=(c[r>>2]|0)!=0&1;Bk(c[v>>2]|0);c[B>>2]=c[x>>2];G=c[B>>2]|0;l=F;return G|0}c[B>>2]=0;G=c[B>>2]|0;l=F;return G|0}function pD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m+20|0;h=m+16|0;k=m+12|0;f=m+8|0;g=m+4|0;i=m;c[h>>2]=b;c[k>>2]=e;if((d[c[h>>2]>>0]|0|0)!=151){c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}c[f>>2]=c[(c[h>>2]|0)+20>>2];if(c[f>>2]|0?(c[c[f>>2]>>2]|0)==2:0){c[g>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+20>>2];if((d[c[g>>2]>>0]|0|0)==152?(d[(c[(c[g>>2]|0)+44>>2]|0)+42>>0]|0)&16|0:0){c[i>>2]=0;while(1){if((c[i>>2]|0)>=4){b=14;break}g=(bh(c[(c[h>>2]|0)+8>>2]|0,c[5512+(c[i>>2]<<3)>>2]|0)|0)==0;e=c[i>>2]|0;if(g){b=12;break}c[i>>2]=e+1}if((b|0)==12){a[c[k>>2]>>0]=a[5512+(e<<3)+4>>0]|0;c[j>>2]=1;k=c[j>>2]|0;l=m;return k|0}else if((b|0)==14){c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}}c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}function qD(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=e;c[i>>2]=f;if((d[c[h>>2]>>0]|0|0)==119){c[j>>2]=pt(c[g>>2]|0,159,0,0,0)|0;if(!(c[j>>2]|0)){j=c[j>>2]|0;l=k;return j|0}b[(c[j>>2]|0)+32>>1]=c[i>>2];c[(c[j>>2]|0)+12>>2]=c[h>>2];j=c[j>>2]|0;l=k;return j|0}else{if((d[c[h>>2]>>0]|0|0)==158)c[h>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2];c[j>>2]=Ww(c[c[g>>2]>>2]|0,c[h>>2]|0,0)|0;j=c[j>>2]|0;l=k;return j|0}return 0}function rD(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[k>>2]>>0]|0|0)==151?c[(c[k>>2]|0)+20>>2]|0:0)?(c[c[(c[k>>2]|0)+20>>2]>>2]|0)==2:0){c[o>>2]=ox(c[j>>2]|0,c[(c[k>>2]|0)+8>>2]|0,2,1,0)|0;if(c[o>>2]|0?(e[(c[o>>2]|0)+2>>1]|0)&4|0:0){n=c[n>>2]|0;k=c[(c[o>>2]|0)+4>>2]|0;a[n>>0]=a[k>>0]|0;a[n+1>>0]=a[k+1>>0]|0;a[n+2>>0]=a[k+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[i>>2]=1;o=c[i>>2]|0;l=p;return o|0}c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}function sD(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+20|0;k=n+4|0;m=n;c[h>>2]=b;c[i>>2]=d;a[j>>0]=f;if(c[h>>2]|0?(c[k>>2]=(c[(c[h>>2]|0)+116>>2]|0)+(((c[i>>2]|0)-1|0)*40|0),0==((e[(c[k>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Dp(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){$i(c[m>>2]|0,c[k>>2]|0)|0;Yv(c[m>>2]|0,a[j>>0]|0,1)}c[g>>2]=c[m>>2];m=c[g>>2]|0;l=n;return m|0}c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}function tD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+196>>2]=-1;l=f;return}else{d=(c[d>>2]|0)+196|0;c[d>>2]=c[d>>2]|1<<(c[e>>2]|0)-1;l=f;return}}function uD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(uy(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;l=e;return}function vD(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;a=c[g>>2]|0;if((e[(c[f>>2]|0)+12>>1]|0|0)!=1024){c[d>>2]=(a|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;l=h;return g|0}if((a|0)<(c[(c[(c[f>>2]|0)+28>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+28>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;l=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}return 0}function wD(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;p=s+28|0;q=s+24|0;i=s+20|0;j=s+16|0;r=s+32|0;k=s+12|0;m=s+8|0;n=s+4|0;o=s;c[p>>2]=d;c[q>>2]=f;c[i>>2]=g;c[j>>2]=h;b[r>>1]=e[(c[i>>2]|0)+12>>1]|0|(e[(c[j>>2]|0)+12>>1]|0);if(!((e[(c[i>>2]|0)+12>>1]|0)&62)){l=s;return}if(!((e[(c[j>>2]|0)+12>>1]|0)&62)){l=s;return}if(((e[r>>1]|0)&26|0)!=(e[r>>1]|0|0)?((e[r>>1]|0)&38|0)!=(e[r>>1]|0|0):0){l=s;return}if(Yw(c[(c[c[i>>2]>>2]|0)+12>>2]|0,c[(c[c[j>>2]>>2]|0)+12>>2]|0,-1)|0){l=s;return}if(Yw(c[(c[c[i>>2]>>2]|0)+16>>2]|0,c[(c[c[j>>2]>>2]|0)+16>>2]|0,-1)|0){l=s;return}do if((e[r>>1]|0)&(e[r>>1]|0)-1|0)if((e[r>>1]|0)&24|0){b[r>>1]=8;break}else{b[r>>1]=32;break}while(0);c[k>>2]=c[c[c[c[q>>2]>>2]>>2]>>2];c[m>>2]=Ww(c[k>>2]|0,c[c[i>>2]>>2]|0,0)|0;if(!(c[m>>2]|0)){l=s;return}c[n>>2]=37;while(1){d=c[n>>2]|0;if((e[r>>1]|0|0)==(2<<(c[n>>2]|0)-37|0))break;c[n>>2]=d+1}a[c[m>>2]>>0]=d;c[o>>2]=iD(c[q>>2]|0,c[m>>2]|0,3)|0;eD(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0);l=s;return}function xD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=l;l=l+48|0;j=h+36|0;k=h+32|0;i=h+28|0;g=h;c[j>>2]=b;c[k>>2]=e;c[i>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=208;c[g+24>>2]=c[k>>2];Kw(g,c[j>>2]|0)|0;if(c[i>>2]|0){k=g+20|0;k=a[k>>0]|0;k=k<<24>>24!=0;k=k^1;k=k&1;l=h;return k|0}k=g+20|0;a[k>>0]=(d[k>>0]|0)&-3;k=g+20|0;k=a[k>>0]|0;k=k<<24>>24!=0;k=k^1;k=k&1;l=h;return k|0}function yD(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<4)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[i>>2]=Wj(a,29580,k)|0;c[j>>2]=1555;h=c[f>>2]|0;j=c[j>>2]|0;k=c[g>>2]|0;m=c[i>>2]|0;Hy(h,j,k,m,-1,2);l=n;return}else{c[m>>2]=d;c[i>>2]=Wj(a,34647,m)|0;c[j>>2]=2579;h=c[f>>2]|0;j=c[j>>2]|0;k=c[g>>2]|0;m=c[i>>2]|0;Hy(h,j,k,m,-1,2);l=n;return}}function zD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;k=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288|0){a=c[f>>2]|0;if(!(c[g>>2]|0)){if(iw(a)|0)a=1;else a=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[k>>2]=a&1;n=c[k>>2]|0;l=m;return n|0}c[i>>2]=c[a+16>>2];while(1){a=c[f>>2]|0;if(!(c[i>>2]|0))break;if(yB(a,c[i>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){j=9;break}c[i>>2]=c[(c[i>>2]|0)+4>>2]}if((j|0)==9){c[k>>2]=1;n=c[k>>2]|0;l=m;return n|0}c[i>>2]=iw(a)|0;while(1){if(!(c[i>>2]|0))break a;if(BB(c[f>>2]|0,c[i>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[i>>2]=c[(c[i>>2]|0)+12>>2]}c[k>>2]=1;n=c[k>>2]|0;l=m;return n|0}while(0);c[k>>2]=0;n=c[k>>2]|0;l=m;return n|0}function AD(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;l=e;return}function BD(e,f,g,h,i,j,k,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+64|0;q=K+48|0;r=K+44|0;s=K+40|0;t=K+36|0;u=K+32|0;v=K+28|0;w=K+52|0;x=K+58|0;y=K+57|0;z=K+56|0;A=K+24|0;B=K+20|0;C=K+16|0;D=K+12|0;E=K+55|0;F=K+8|0;G=K+4|0;H=K;I=K+54|0;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=i;c[v>>2]=j;b[w>>1]=k;a[x>>0]=m;a[y>>0]=n;a[z>>0]=o;c[A>>2]=p;c[B>>2]=c[(c[q>>2]|0)+8>>2];c[C>>2]=0;c[D>>2]=ky(c[B>>2]|0)|0;a[E>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?33:30;if(!(d[z>>0]|0))zy(c[B>>2]|0,d[E>>0]|0,c[t>>2]|0,c[D>>2]|0,c[v>>2]|0,b[w>>1]|0)|0;o=(zD(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(o|(c[s>>2]|0)!=0){c[F>>2]=DD(c[q>>2]|0,c[s>>2]|0,0,0,3,c[r>>2]|0,d[y>>0]|0)|0;o=ED(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|o;c[C>>2]=(c[(c[q>>2]|0)+44>>2]|0)+1;o=(c[q>>2]|0)+44|0;c[o>>2]=(c[o>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));Qu(c[B>>2]|0,84,c[v>>2]|0,c[C>>2]|0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[G>>2]|0)<=31?c[F>>2]&1<>2]|0:0)J=9}else J=9;if((J|0)==9){J=0;Ty(c[B>>2]|0,c[r>>2]|0,c[t>>2]|0,c[G>>2]|0,(c[C>>2]|0)+(c[G>>2]|0)+1|0)}c[G>>2]=(c[G>>2]|0)+1}c[H>>2]=Pv(c[B>>2]|0)|0;pB(c[q>>2]|0,c[s>>2]|0,109,0,1,c[r>>2]|0,c[C>>2]|0,d[y>>0]|0,c[D>>2]|0);J=c[H>>2]|0;if((J|0)<(Pv(c[B>>2]|0)|0))zy(c[B>>2]|0,d[E>>0]|0,c[t>>2]|0,c[D>>2]|0,c[v>>2]|0,b[w>>1]|0)|0;uB(c[q>>2]|0,c[r>>2]|0,c[C>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){m=c[q>>2]|0;k=c[r>>2]|0;j=c[C>>2]|0;FD(m,k,0,j,0,0);j=c[q>>2]|0;k=c[s>>2]|0;m=c[r>>2]|0;n=c[C>>2]|0;J=a[y>>0]|0;J=J&255;o=c[D>>2]|0;pB(j,k,109,0,2,m,n,J,o);o=c[B>>2]|0;J=c[D>>2]|0;oy(o,J);l=K;return}a[I>>0]=0;CD(c[q>>2]|0,c[r>>2]|0,c[t>>2]|0,c[u>>2]|0,0,c[A>>2]|0);Qu(c[B>>2]|0,117,c[t>>2]|0,d[x>>0]|0?1:0)|0;Vu(c[B>>2]|0,-1,c[r>>2]|0,-20);if(d[z>>0]|0)jy(c[B>>2]|0,4);if((c[A>>2]|0)>=0)ey(c[B>>2]|0,117,c[A>>2]|0)|0;if((d[z>>0]|0)==2)a[I>>0]=d[I>>0]|2;jy(c[B>>2]|0,a[I>>0]|0);m=c[q>>2]|0;k=c[r>>2]|0;j=c[C>>2]|0;FD(m,k,0,j,0,0);j=c[q>>2]|0;k=c[s>>2]|0;m=c[r>>2]|0;n=c[C>>2]|0;J=a[y>>0]|0;J=J&255;o=c[D>>2]|0;pB(j,k,109,0,2,m,n,J,o);o=c[B>>2]|0;J=c[D>>2]|0;oy(o,J);l=K;return}function CD(a,e,f,g,h,i){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;u=y+48|0;j=y+44|0;v=y+40|0;w=y+36|0;k=y+32|0;m=y+28|0;n=y+24|0;o=y+20|0;p=y+16|0;q=y+12|0;r=y+8|0;s=y+4|0;t=y;c[u>>2]=a;c[j>>2]=e;c[v>>2]=f;c[w>>2]=g;c[k>>2]=h;c[m>>2]=i;c[o>>2]=-1;c[r>>2]=0;c[s>>2]=c[(c[u>>2]|0)+8>>2];if(!((d[(c[j>>2]|0)+42>>0]|0)&32))a=0;else a=uv(c[j>>2]|0)|0;c[t>>2]=a;c[n>>2]=0;c[q>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if(!(c[k>>2]|0?!(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0):0))x=7;if(((x|0)==7?(x=0,(c[q>>2]|0)!=(c[t>>2]|0)):0)?((c[w>>2]|0)+(c[n>>2]|0)|0)!=(c[m>>2]|0):0){c[o>>2]=Ey(c[u>>2]|0,c[q>>2]|0,c[v>>2]|0,0,1,p,c[r>>2]|0,c[o>>2]|0)|0;a=c[q>>2]|0;if((d[(c[q>>2]|0)+55>>0]|0)>>>3&1|0)a=b[a+50>>1]|0;else a=b[a+52>>1]|0;Ru(c[s>>2]|0,127,(c[w>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0,a&65535)|0;Fy(c[u>>2]|0,c[p>>2]|0);c[r>>2]=c[q>>2]}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=c[(c[q>>2]|0)+20>>2]}l=y;return}function DD(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;s=u+40|0;v=u+36|0;t=u+32|0;j=u+28|0;k=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;p=u+8|0;q=u+4|0;r=u;c[s>>2]=a;c[v>>2]=b;c[t>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=c[t>>2]|0?110:109;c[p>>2]=0;c[q>>2]=c[v>>2];while(1){if(!(c[q>>2]|0))break;if((((d[(c[q>>2]|0)+8>>0]|0|0)==(c[o>>2]|0)?c[k>>2]&(d[(c[q>>2]|0)+9>>0]|0)|0:0)?oE(c[(c[q>>2]|0)+16>>2]|0,c[t>>2]|0)|0:0)?(c[r>>2]=ID(c[s>>2]|0,c[q>>2]|0,c[m>>2]|0,c[n>>2]|0)|0,c[r>>2]|0):0)c[p>>2]=c[p>>2]|c[(c[r>>2]|0)+16+(c[j>>2]<<2)>>2];c[q>>2]=c[(c[q>>2]|0)+32>>2]}l=u;return c[p>>2]|0}function ED(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){k=c[h>>2]|0;l=m;return k|0}c[i>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[i>>2]|0))break;c[j>>2]=0;while(1){a=c[i>>2]|0;if((c[j>>2]|0)>=(c[(c[i>>2]|0)+20>>2]|0))break;if((c[a+36+(c[j>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[j>>2]<<3)>>2];c[h>>2]=c[h>>2]|a;c[j>>2]=(c[j>>2]|0)+1}c[i>>2]=c[a+4>>2]}c[i>>2]=iw(c[g>>2]|0)|0;while(1){if(!(c[i>>2]|0))break;c[k>>2]=0;BA(c[f>>2]|0,c[g>>2]|0,c[i>>2]|0,k,0)|0;a:do if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break a;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[j>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[j>>2]<<1)>>1];c[h>>2]=c[h>>2]|a;c[j>>2]=(c[j>>2]|0)+1}}while(0);c[i>>2]=c[(c[i>>2]|0)+12>>2]}k=c[h>>2]|0;l=m;return k|0}function FD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[i>>2]=g;if(!(c[(c[c[m>>2]>>2]|0)+24>>2]&524288)){l=r;return}c[j>>2]=iw(c[n>>2]|0)|0;while(1){if(!(c[j>>2]|0))break;if(!((c[h>>2]|0)!=0?!(BB(c[n>>2]|0,c[j>>2]|0,c[h>>2]|0,c[i>>2]|0)|0):0))q=6;if((q|0)==6?(q=0,c[k>>2]=GD(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[o>>2]|0)|0,c[k>>2]|0):0)HD(c[m>>2]|0,c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,2,0);c[j>>2]=c[(c[j>>2]|0)+12>>2]}l=r;return}function GD(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+144|0;I=N+136|0;D=N+132|0;J=N+128|0;K=N+124|0;L=N+120|0;E=N+116|0;i=N+112|0;F=N+108|0;G=N+104|0;j=N+100|0;k=N+96|0;m=N+92|0;n=N+88|0;H=N+84|0;o=N+80|0;p=N+76|0;q=N+72|0;r=N+68|0;s=N+64|0;t=N+56|0;u=N+48|0;v=N+40|0;w=N+32|0;x=N+28|0;y=N+24|0;z=N+20|0;A=N+16|0;B=N+8|0;C=N;c[D>>2]=e;c[J>>2]=f;c[K>>2]=g;c[L>>2]=h;c[E>>2]=c[c[D>>2]>>2];c[G>>2]=(c[L>>2]|0)!=0&1;c[i>>2]=d[(c[K>>2]|0)+25+(c[G>>2]|0)>>0];if((c[i>>2]|0)==6?c[(c[E>>2]|0)+24>>2]&33554432|0:0){c[I>>2]=0;M=c[I>>2]|0;l=N;return M|0}c[F>>2]=c[(c[K>>2]|0)+28+(c[G>>2]<<2)>>2];if(!((c[i>>2]|0)==0|(c[F>>2]|0)!=0)){c[m>>2]=0;c[n>>2]=0;c[H>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[s>>2]=0;if(BA(c[D>>2]|0,c[J>>2]|0,c[K>>2]|0,m,n)|0){c[I>>2]=0;M=c[I>>2]|0;l=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[K>>2]|0)+20>>2]|0))break;c[t>>2]=c[1386];c[t+4>>2]=c[1387];c[u>>2]=c[1388];c[u+4>>2]=c[1389];if(c[n>>2]|0)e=(c[n>>2]|0)+(c[r>>2]<<2)|0;else e=(c[K>>2]|0)+36|0;c[x>>2]=c[e>>2];if(c[m>>2]|0)e=b[(c[(c[m>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else e=b[(c[J>>2]|0)+32>>1]|0;jx(w,c[(c[(c[J>>2]|0)+4>>2]|0)+(e<<16>>16<<4)>>2]|0);jx(v,c[(c[(c[c[K>>2]>>2]|0)+4>>2]|0)+(c[x>>2]<<4)>>2]|0);g=c[D>>2]|0;f=c[D>>2]|0;h=Wt(c[E>>2]|0,55,t,0)|0;h=pt(f,122,h,Wt(c[E>>2]|0,55,w,0)|0,0)|0;c[y>>2]=pt(g,37,h,Wt(c[E>>2]|0,55,v,0)|0,0)|0;c[o>>2]=Mx(c[E>>2]|0,c[o>>2]|0,c[y>>2]|0)|0;if(c[L>>2]|0){e=c[D>>2]|0;g=c[D>>2]|0;f=Wt(c[E>>2]|0,55,t,0)|0;f=pt(g,122,f,Wt(c[E>>2]|0,55,w,0)|0,0)|0;g=c[D>>2]|0;h=Wt(c[E>>2]|0,55,u,0)|0;c[y>>2]=pt(e,29,f,pt(g,122,h,Wt(c[E>>2]|0,55,w,0)|0,0)|0,0)|0;c[s>>2]=Mx(c[E>>2]|0,c[s>>2]|0,c[y>>2]|0)|0}if((c[i>>2]|0)!=6?(c[i>>2]|0)!=9|(c[L>>2]|0)!=0:0){do if((c[i>>2]|0)!=9){if((c[i>>2]|0)!=8){c[z>>2]=Wt(c[E>>2]|0,101,0,0)|0;break}c[A>>2]=c[(c[(c[c[K>>2]>>2]|0)+4>>2]|0)+(c[x>>2]<<4)+4>>2];e=c[E>>2]|0;if(c[A>>2]|0){c[z>>2]=Ww(e,c[A>>2]|0,0)|0;break}else{c[z>>2]=Wt(e,101,0,0)|0;break}}else{g=c[D>>2]|0;h=Wt(c[E>>2]|0,55,u,0)|0;c[z>>2]=pt(g,122,h,Wt(c[E>>2]|0,55,w,0)|0,0)|0}while(0);c[p>>2]=Et(c[D>>2]|0,c[p>>2]|0,c[z>>2]|0)|0;Ft(c[D>>2]|0,c[p>>2]|0,v,0)}c[r>>2]=(c[r>>2]|0)+1}Xd(c[E>>2]|0,c[n>>2]|0);c[j>>2]=c[c[c[K>>2]>>2]>>2];c[k>>2]=md(c[j>>2]|0)|0;if((c[i>>2]|0)==6){c[B>>2]=c[j>>2];c[B+4>>2]=c[k>>2];c[C>>2]=Ht(c[E>>2]|0,83,25102)|0;if(c[C>>2]|0)a[(c[C>>2]|0)+1>>0]=2;z=c[D>>2]|0;A=Et(c[D>>2]|0,0,c[C>>2]|0)|0;C=Lt(c[E>>2]|0,0,B,0)|0;c[q>>2]=Dt(z,A,C,c[o>>2]|0,0,0,0,0,0,0)|0;c[o>>2]=0}C=(c[E>>2]|0)+256|0;c[C>>2]=(c[C>>2]|0)+1;c[F>>2]=_l(c[E>>2]|0,72+(c[k>>2]|0)+1|0,0)|0;if(c[F>>2]|0?(C=(c[F>>2]|0)+36|0,c[(c[F>>2]|0)+28>>2]=C,c[H>>2]=C,c[(c[H>>2]|0)+12>>2]=(c[H>>2]|0)+36,h0(c[(c[H>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0,C=Ww(c[E>>2]|0,c[o>>2]|0,1)|0,c[(c[H>>2]|0)+16>>2]=C,C=cx(c[E>>2]|0,c[p>>2]|0,1)|0,c[(c[H>>2]|0)+20>>2]=C,C=kw(c[E>>2]|0,c[q>>2]|0,1)|0,c[(c[H>>2]|0)+8>>2]=C,c[s>>2]|0):0){c[s>>2]=pt(c[D>>2]|0,19,c[s>>2]|0,0,0)|0;D=Ww(c[E>>2]|0,c[s>>2]|0,1)|0;c[(c[F>>2]|0)+12>>2]=D}D=(c[E>>2]|0)+256|0;c[D>>2]=(c[D>>2]|0)+-1;Ok(c[E>>2]|0,c[o>>2]|0);Ok(c[E>>2]|0,c[s>>2]|0);Kk(c[E>>2]|0,c[p>>2]|0);Jk(c[E>>2]|0,c[q>>2]|0);if((d[(c[E>>2]|0)+69>>0]|0|0)==1){Uk(c[E>>2]|0,c[F>>2]|0);c[I>>2]=0;M=c[I>>2]|0;l=N;return M|0}switch(c[i>>2]|0){case 6:{e=119;f=c[H>>2]|0;break}case 9:{if(c[L>>2]|0)M=41;else{e=109;f=c[H>>2]|0}break}default:M=41}if((M|0)==41){e=110;f=c[H>>2]|0}a[f>>0]=e;c[(c[H>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+20>>2]=c[(c[J>>2]|0)+64>>2];c[(c[F>>2]|0)+24>>2]=c[(c[J>>2]|0)+64>>2];c[(c[K>>2]|0)+28+(c[G>>2]<<2)>>2]=c[F>>2];a[(c[F>>2]|0)+8>>0]=c[L>>2]|0?110:109}c[I>>2]=c[F>>2];M=c[I>>2]|0;l=N;return M|0}function HD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+48|0;n=p+32|0;h=p+28|0;r=p+24|0;o=p+20|0;q=p+16|0;i=p+12|0;j=p+8|0;k=p+4|0;m=p;c[n>>2]=a;c[h>>2]=b;c[r>>2]=d;c[o>>2]=e;c[q>>2]=f;c[i>>2]=g;c[j>>2]=Lu(c[n>>2]|0)|0;c[k>>2]=ID(c[n>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[k>>2]|0)){l=p;return}if(c[c[h>>2]>>2]|0)a=0==(c[(c[c[n>>2]>>2]|0)+24>>2]&262144|0);else a=0;c[m>>2]=a&1;h=c[j>>2]|0;o=c[o>>2]|0;q=c[i>>2]|0;n=(c[n>>2]|0)+44|0;r=(c[n>>2]|0)+1|0;c[n>>2]=r;Uu(h,64,o,q,r,c[(c[k>>2]|0)+8>>2]|0,-18)|0;jy(c[j>>2]|0,c[m>>2]&255);l=p;return}function ID(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;a=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[j>>2]=a;c[k>>2]=c[(c[j>>2]|0)+468>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[i>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){k=c[k>>2]|0;l=m;return k|0}c[k>>2]=JD(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}function JD(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+96|0;w=x;q=x+84|0;r=x+80|0;s=x+76|0;t=x+72|0;u=x+68|0;v=x+64|0;h=x+60|0;i=x+56|0;j=x+52|0;k=x+48|0;m=x+16|0;n=x+12|0;o=x+8|0;p=x+4|0;c[r>>2]=b;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;b=c[r>>2]|0;if(c[(c[r>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[v>>2]=b;c[h>>2]=c[c[r>>2]>>2];c[j>>2]=0;c[n>>2]=0;c[p>>2]=0;c[i>>2]=_l(c[h>>2]|0,24,0)|0;if(!(c[i>>2]|0)){c[q>>2]=0;w=c[q>>2]|0;l=x;return w|0}c[(c[i>>2]|0)+4>>2]=c[(c[v>>2]|0)+468>>2];c[(c[v>>2]|0)+468>>2]=c[i>>2];g=_l(c[h>>2]|0,24,0)|0;c[n>>2]=g;c[(c[i>>2]|0)+8>>2]=g;if(!(c[n>>2]|0)){c[q>>2]=0;w=c[q>>2]|0;l=x;return w|0}KD(c[(c[v>>2]|0)+8>>2]|0,c[n>>2]|0);c[c[i>>2]>>2]=c[s>>2];c[(c[i>>2]|0)+12>>2]=c[u>>2];c[(c[i>>2]|0)+16>>2]=-1;c[(c[i>>2]|0)+16+4>>2]=-1;c[o>>2]=_l(c[h>>2]|0,480,0)|0;if(!(c[o>>2]|0)){c[q>>2]=0;w=c[q>>2]|0;l=x;return w|0};c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;c[m>>2]=c[o>>2];c[c[o>>2]>>2]=c[h>>2];c[(c[o>>2]|0)+128>>2]=c[t>>2];c[(c[o>>2]|0)+124>>2]=c[v>>2];c[(c[o>>2]|0)+448>>2]=c[c[s>>2]>>2];a[(c[o>>2]|0)+148>>0]=a[(c[s>>2]|0)+8>>0]|0;c[(c[o>>2]|0)+136>>2]=c[(c[r>>2]|0)+136>>2];c[k>>2]=Lu(c[o>>2]|0)|0;if(c[k>>2]|0){g=c[k>>2]|0;t=c[h>>2]|0;c[w>>2]=c[c[s>>2]>>2];Vu(g,-1,Wj(t,34505,w)|0,-1);if(c[(c[s>>2]|0)+12>>2]|0){c[j>>2]=Ww(c[h>>2]|0,c[(c[s>>2]|0)+12>>2]|0,0)|0;if(0==(Ow(m,c[j>>2]|0)|0)?(d[(c[h>>2]|0)+69>>0]|0|0)==0:0){c[p>>2]=ky(c[k>>2]|0)|0;nz(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,16)}Ok(c[h>>2]|0,c[j>>2]|0)}LD(c[o>>2]|0,c[(c[s>>2]|0)+28>>2]|0,c[u>>2]|0)|0;if(c[p>>2]|0)oy(c[k>>2]|0,c[p>>2]|0);Nu(c[k>>2]|0,75)|0;MD(c[r>>2]|0,c[o>>2]|0);if(!(d[(c[h>>2]|0)+69>>0]|0)){w=ND(c[k>>2]|0,(c[n>>2]|0)+4|0,(c[v>>2]|0)+108|0)|0;c[c[n>>2]>>2]=w}c[(c[n>>2]|0)+8>>2]=c[(c[o>>2]|0)+44>>2];c[(c[n>>2]|0)+12>>2]=c[(c[o>>2]|0)+40>>2];c[(c[n>>2]|0)+16>>2]=c[s>>2];c[(c[i>>2]|0)+16>>2]=c[(c[o>>2]|0)+140>>2];c[(c[i>>2]|0)+16+4>>2]=c[(c[o>>2]|0)+144>>2];Nr(c[k>>2]|0)}ql(c[o>>2]|0);Xd(c[h>>2]|0,c[o>>2]|0);c[q>>2]=c[i>>2];w=c[q>>2]|0;l=x;return w|0}function KD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+20>>2]=c[(c[e>>2]|0)+200>>2];c[(c[e>>2]|0)+200>>2]=c[f>>2];l=d;return}function LD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+64|0;h=o+52|0;p=o+48|0;i=o+44|0;j=o+40|0;k=o+36|0;m=o+32|0;n=o+8|0;g=o;c[h>>2]=b;c[p>>2]=e;c[i>>2]=f;c[k>>2]=c[(c[h>>2]|0)+8>>2];c[m>>2]=c[c[h>>2]>>2];c[j>>2]=c[p>>2];while(1){if(!(c[j>>2]|0))break;if((c[i>>2]|0)==10)b=a[(c[j>>2]|0)+1>>0]|0;else b=c[i>>2]&255;a[(c[h>>2]|0)+149>>0]=b;switch(d[c[j>>2]>>0]|0|0){case 110:{e=c[h>>2]|0;f=nE(c[h>>2]|0,c[j>>2]|0)|0;p=cx(c[m>>2]|0,c[(c[j>>2]|0)+20>>2]|0,0)|0;Rt(e,f,p,Ww(c[m>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0,d[(c[h>>2]|0)+149>>0]|0);break}case 108:{e=c[h>>2]|0;f=nE(c[h>>2]|0,c[j>>2]|0)|0;p=kw(c[m>>2]|0,c[(c[j>>2]|0)+8>>2]|0,0)|0;Tt(e,f,p,Yx(c[m>>2]|0,c[(c[j>>2]|0)+24>>2]|0)|0,d[(c[h>>2]|0)+149>>0]|0);break}case 109:{p=c[h>>2]|0;Pt(p,nE(c[h>>2]|0,c[j>>2]|0)|0,Ww(c[m>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0);break}default:{c[g>>2]=kw(c[m>>2]|0,c[(c[j>>2]|0)+8>>2]|0,0)|0;Az(n,4,0);At(c[h>>2]|0,c[g>>2]|0,n)|0;Jk(c[m>>2]|0,c[g>>2]|0)}}if((d[c[j>>2]>>0]|0|0)!=119)Nu(c[k>>2]|0,118)|0;c[j>>2]=c[(c[j>>2]|0)+28>>2]}l=o;return 0}function MD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[e>>2]|0;if(!(c[(c[d>>2]|0)+36>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[a+4>>2];c[(c[d>>2]|0)+36>>2]=c[(c[e>>2]|0)+36>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];l=f;return}else{Xd(c[a>>2]|0,c[(c[e>>2]|0)+4>>2]|0);l=f;return}}function ND(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;h=f+8|0;i=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[e>>2]=c[(c[g>>2]|0)+88>>2];OD(c[g>>2]|0,c[i>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+136>>2];c[(c[g>>2]|0)+88>>2]=0;l=f;return c[e>>2]|0}function OD(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[g>>2]=e;c[h>>2]=f;c[i>>2]=c[c[h>>2]>>2];c[k>>2]=c[(c[g>>2]|0)+12>>2];c[m>>2]=c[(c[k>>2]|0)+76>>2];f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129|128;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257;c[j>>2]=(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0);while(1){if((d[c[j>>2]>>0]|0|0)<=71){switch(d[c[j>>2]>>0]|0|0){case 2:{if(c[(c[j>>2]|0)+8>>2]|0){o=(c[g>>2]|0)+144|0;b[o>>1]=b[o>>1]&-129;o=6}else o=6;break}case 0:case 1:{o=6;break}case 9:case 10:case 8:{f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256;break}case 12:{if((c[(c[j>>2]|0)+8>>2]|0)>(c[i>>2]|0))c[i>>2]=c[(c[j>>2]|0)+8>>2];break}case 11:{c[n>>2]=c[(c[j>>2]|0)+-20+4>>2];if((c[n>>2]|0)>(c[i>>2]|0))c[i>>2]=c[n>>2];break}case 3:case 5:case 7:{c[(c[j>>2]|0)+16>>2]=209;a[(c[j>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[j>>2]|0)+16>>2]=210;a[(c[j>>2]|0)+1>>0]=-19;break}default:{}}if((o|0)==6){o=0;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256}if((d[32756+(d[c[j>>2]>>0]|0)>>0]|0)&1|0?(c[(c[j>>2]|0)+8>>2]|0)<0:0)c[(c[j>>2]|0)+8>>2]=c[(c[m>>2]|0)+(-1-(c[(c[j>>2]|0)+8>>2]|0)<<2)>>2]}if((c[j>>2]|0)==(c[(c[g>>2]|0)+88>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-20}Xd(c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+76>>2]|0);c[(c[k>>2]|0)+76>>2]=0;c[(c[k>>2]|0)+72>>2]=0;c[c[h>>2]>>2]=c[i>>2];l=p;return}function PD(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[i>>2]=f;c[j>>2]=g;b[(c[i>>2]|0)+16+18>>1]=0;f=(c[i>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[j>>2]>>2]=0;f=c[i>>2]|0;if((d[(c[i>>2]|0)+66>>0]|0)!=1){c[h>>2]=lE(f,c[j>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}c[k>>2]=c[f+120+(a[(c[i>>2]|0)+68>>0]<<2)>>2];f=(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[k>>2]|0)+18>>1]|0)){k=(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)|0;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;c[h>>2]=lE(c[i>>2]|0,c[j>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}if(a[(c[k>>2]|0)+4>>0]|0){c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}else{c[h>>2]=mE(c[i>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}return 0}function QD(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;i=k+4|0;j=k;c[i>>2]=f;c[j>>2]=g;c[c[j>>2]>>2]=0;g=(c[i>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[i>>2]|0)+16+18>>1]=0;if(((d[(c[i>>2]|0)+66>>0]|0)==1?e[(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)>>1]|0:0)?d[(c[(c[i>>2]|0)+120+(a[(c[i>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0:0){j=(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)|0;b[j>>1]=(b[j>>1]|0)+-1<<16>>16;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}c[h>>2]=RD(c[i>>2]|0,c[j>>2]|0)|0;j=c[h>>2]|0;l=k;return j|0}function RD(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;h=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=SD(c[j>>2]|0)|0;else f=0;c[m>>2]=f;if(c[m>>2]|0){c[i>>2]=c[m>>2];o=c[i>>2]|0;l=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}if(c[(c[j>>2]|0)+60>>2]|0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)<0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}}c[n>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];do if(a[(c[n>>2]|0)+4>>0]|0){while(1){f=c[j>>2]|0;if(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[j>>2]|0;if(!(a[f+68>>0]|0)){o=17;break}VD(g)}if((o|0)==17){a[g+66>>0]=0;c[c[k>>2]>>2]=1;c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}o=f+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[n>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];if(d[(c[n>>2]|0)+2>>0]|0?(a[(c[n>>2]|0)+4>>0]|0)==0:0){c[m>>2]=QD(c[j>>2]|0,c[k>>2]|0)|0;break}c[m>>2]=0}else{c[h>>2]=e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1];o=c[j>>2]|0;c[m>>2]=TD(o,Vl((c[(c[n>>2]|0)+56>>2]|0)+(e[(c[n>>2]|0)+20>>1]&(d[(c[(c[n>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[n>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[m>>2]|0)){c[m>>2]=UD(c[j>>2]|0)|0;break}c[i>>2]=c[m>>2];o=c[i>>2]|0;l=p;return o|0}while(0);c[i>>2]=c[m>>2];o=c[i>>2]|0;l=p;return o|0}function SD(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;l=i;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=XD(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(_d(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],c[(c[f>>2]|0)+60>>2]|0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;l=i;return h|0}function TD(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=kn(63009)|0;j=c[g>>2]|0;l=k;return j|0}else{b[(c[h>>2]|0)+16+18>>1]=0;f=(c[h>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;f=(c[h>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=WD(c[j>>2]|0,c[i>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;j=c[g>>2]|0;l=k;return j|0}return 0}function UD(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;i=n;c[k>>2]=f;c[m>>2]=0;c[i>>2]=0;while(1){f=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2]|0;c[i>>2]=f;g=c[i>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=Vl((c[g+56>>2]|0)+((d[(c[i>>2]|0)+5>>0]|0)+8)|0)|0;b[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]=b[(c[i>>2]|0)+18>>1]|0;c[m>>2]=TD(c[k>>2]|0,c[h>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[j>>2]=c[m>>2];m=c[j>>2]|0;l=n;return m|0}else if((f|0)==5){b[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[j>>2]=0;m=c[j>>2]|0;l=n;return m|0}return 0}function VD(e){e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=e;b[(c[h>>2]|0)+16+18>>1]=0;g=(c[h>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-7;g=(c[h>>2]|0)+120|0;h=(c[h>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;nq(c[g+(e<<24>>24<<2)>>2]|0);l=f;return}function WD(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;n=s+28|0;o=s+24|0;p=s+20|0;q=s+16|0;r=s+12|0;j=s+8|0;k=s+4|0;m=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[j>>2]=i;i=c[p>>2]|0;a:do if(i>>>0<=(Rn(c[o>>2]|0)|0)>>>0){c[k>>2]=gn(c[c[o>>2]>>2]|0,c[p>>2]|0,m,c[j>>2]|0)|0;if(!(c[k>>2]|0)){i=Ln(c[m>>2]|0)|0;c[c[q>>2]>>2]=i;if((d[c[c[q>>2]>>2]>>0]|0|0)==0?(mq(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0)|0,c[k>>2]=qp(c[c[q>>2]>>2]|0)|0,c[k>>2]|0):0){cq(c[c[q>>2]>>2]|0);break}do if(c[r>>2]|0){if((e[(c[c[q>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[q>>2]>>2]|0)+2>>0]|0|0)==(d[(c[r>>2]|0)+69>>0]|0|0):0)break;c[k>>2]=kn(60266)|0;cq(c[c[q>>2]>>2]|0);break a}while(0);c[n>>2]=0;r=c[n>>2]|0;l=s;return r|0}}else c[k>>2]=kn(60244)|0;while(0);if(c[r>>2]|0){r=(c[r>>2]|0)+68|0;a[r>>0]=(a[r>>0]|0)+-1<<24>>24}c[n>>2]=c[k>>2];r=c[n>>2]|0;l=s;return r|0}function XD(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+432|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s;i=s+24|0;j=s+20|0;k=s+16|0;m=s+12|0;n=s+8|0;c[p>>2]=a;c[q>>2]=b;b=r;c[b>>2]=d;c[b+4>>2]=f;c[i>>2]=g;c[j>>2]=h;c[n>>2]=0;if(c[q>>2]|0){c[m>>2]=YD(c[(c[p>>2]|0)+72>>2]|0,s+40|0,384,n)|0;if(!(c[m>>2]|0)){c[o>>2]=7;r=c[o>>2]|0;l=s;return r|0}ZD(c[(c[p>>2]|0)+72>>2]|0,c[r>>2]|0,c[q>>2]|0,c[m>>2]|0);if(!(e[(c[m>>2]|0)+8>>1]|0)){Xd(c[(c[(c[p>>2]|0)+72>>2]|0)+12>>2]|0,c[n>>2]|0);c[o>>2]=kn(59021)|0;r=c[o>>2]|0;l=s;return r|0}}else c[m>>2]=0;c[k>>2]=_D(c[p>>2]|0,c[m>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;if(c[n>>2]|0)Xd(c[(c[(c[p>>2]|0)+72>>2]|0)+12>>2]|0,c[n>>2]|0);c[o>>2]=c[k>>2];r=c[o>>2]|0;l=s;return r|0}function YD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;q=p+16|0;n=p+12|0;o=p+8|0;h=p+4|0;i=p;c[k>>2]=a;c[m>>2]=d;c[q>>2]=f;c[n>>2]=g;c[h>>2]=8-(c[m>>2]&7)&7;c[i>>2]=16+(((e[(c[k>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[i>>2]|0)>((c[q>>2]|0)+(c[h>>2]|0)|0)){q=c[i>>2]|0;c[o>>2]=Cd(c[(c[k>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[n>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[j>>2]=0;q=c[j>>2]|0;l=p;return q|0}}else{c[o>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[c[n>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[k>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[k>>2]|0)+6>>1]|0)+1;c[j>>2]=c[o>>2];q=c[j>>2]|0;l=p;return q|0}function ZD(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;o=u+36|0;p=u+32|0;v=u+28|0;t=u+24|0;q=u+20|0;r=u+16|0;j=u+12|0;s=u+40|0;k=u+8|0;m=u+4|0;n=u;c[o>>2]=f;c[p>>2]=g;c[v>>2]=h;c[t>>2]=i;c[q>>2]=c[v>>2];c[m>>2]=c[(c[t>>2]|0)+4>>2];a[(c[t>>2]|0)+10>>0]=0;f=c[q>>2]|0;if((d[c[q>>2]>>0]|0|0)<128){c[k>>2]=d[f>>0];f=1}else f=(fE(f,k)|0)&255;c[j>>2]=f&255;c[r>>2]=c[k>>2];b[s>>1]=0;while(1){if((c[j>>2]|0)>>>0>=(c[k>>2]|0)>>>0){f=11;break}if((c[r>>2]|0)>(c[p>>2]|0)){f=11;break}f=(c[q>>2]|0)+(c[j>>2]|0)|0;if((d[(c[q>>2]|0)+(c[j>>2]|0)>>0]|0|0)<128){c[n>>2]=d[f>>0];f=1}else f=(fE(f,n)|0)&255;c[j>>2]=(c[j>>2]|0)+(f&255);a[(c[m>>2]|0)+10>>0]=a[(c[o>>2]|0)+4>>0]|0;c[(c[m>>2]|0)+32>>2]=c[(c[o>>2]|0)+12>>2];c[(c[m>>2]|0)+24>>2]=0;c[(c[m>>2]|0)+16>>2]=0;v=hE((c[q>>2]|0)+(c[r>>2]|0)|0,c[n>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+v;c[m>>2]=(c[m>>2]|0)+40;v=(b[s>>1]|0)+1<<16>>16;b[s>>1]=v;if((v&65535|0)>=(e[(c[t>>2]|0)+8>>1]|0|0)){f=11;break}}if((f|0)==11){b[(c[t>>2]|0)+8>>1]=b[s>>1]|0;l=u;return}}function _D(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+96|0;B=F+80|0;C=F+76|0;D=F+72|0;E=F+8|0;m=F+68|0;n=F+64|0;o=F+60|0;p=F+56|0;q=F+52|0;r=F+48|0;s=F+44|0;t=F+40|0;u=F+36|0;v=F+32|0;w=F+28|0;x=F;y=F+24|0;z=F+20|0;A=F+16|0;c[C>>2]=f;c[D>>2]=g;g=E;c[g>>2]=h;c[g+4>>2]=i;c[m>>2]=j;c[n>>2]=k;if(((c[D>>2]|0)==0?(d[(c[C>>2]|0)+66>>0]|0)==1:0)?d[(c[C>>2]|0)+64>>0]&2|0:0){j=(c[C>>2]|0)+16|0;k=E;if((c[j>>2]|0)==(c[k>>2]|0)?(c[j+4>>2]|0)==(c[k+4>>2]|0):0){c[c[n>>2]>>2]=0;c[B>>2]=0;E=c[B>>2]|0;l=F;return E|0}if(d[(c[C>>2]|0)+64>>0]&8|0?(j=(c[C>>2]|0)+16|0,h=c[j+4>>2]|0,k=E,i=c[k+4>>2]|0,(h|0)<(i|0)|((h|0)==(i|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)):0){c[c[n>>2]>>2]=-1;c[B>>2]=0;E=c[B>>2]|0;l=F;return E|0}}if(c[D>>2]|0){c[p>>2]=$D(c[D>>2]|0)|0;a[(c[D>>2]|0)+11>>0]=0}else c[p>>2]=0;c[o>>2]=aE(c[C>>2]|0)|0;if(c[o>>2]|0){c[B>>2]=c[o>>2];E=c[B>>2]|0;l=F;return E|0}if(!(d[(c[C>>2]|0)+66>>0]|0)){c[c[n>>2]>>2]=-1;c[B>>2]=0;E=c[B>>2]|0;l=F;return E|0}a:do{c[v>>2]=c[(c[C>>2]|0)+120+(a[(c[C>>2]|0)+68>>0]<<2)>>2];c[q>>2]=0;c[r>>2]=(e[(c[v>>2]|0)+18>>1]|0)-1;c[s>>2]=c[r>>2]>>1-(c[m>>2]|0);b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];b:do if(!(c[p>>2]|0)){while(1){c[w>>2]=(c[(c[v>>2]|0)+68>>2]|0)+(e[(c[v>>2]|0)+20>>1]&(d[(c[(c[v>>2]|0)+64>>2]|0)+(c[s>>2]<<1)>>0]<<8|d[(c[(c[v>>2]|0)+64>>2]|0)+(c[s>>2]<<1)+1>>0]));c:do if(a[(c[v>>2]|0)+3>>0]|0)while(1){k=c[w>>2]|0;c[w>>2]=k+1;if(128>(d[k>>0]|0))break c;if((c[w>>2]|0)>>>0>=(c[(c[v>>2]|0)+60>>2]|0)>>>0){h=20;break a}}while(0);yp(c[w>>2]|0,x)|0;j=x;h=c[j+4>>2]|0;k=E;i=c[k+4>>2]|0;if((h|0)<(i|0)|((h|0)==(i|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[q>>2]=(c[s>>2]|0)+1;if((c[q>>2]|0)>(c[r>>2]|0)){h=23;break}}else{j=x;h=c[j+4>>2]|0;k=E;i=c[k+4>>2]|0;if(!((h|0)>(i|0)|((h|0)==(i|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0))){h=27;break}c[r>>2]=(c[s>>2]|0)-1;if((c[q>>2]|0)>(c[r>>2]|0)){h=26;break}}c[s>>2]=(c[q>>2]|0)+(c[r>>2]|0)>>1}if((h|0)==23){c[t>>2]=-1;h=51;break}else if((h|0)==26){c[t>>2]=1;h=51;break}else if((h|0)==27){h=0;i=(c[C>>2]|0)+64|0;a[i>>0]=d[i>>0]|2;i=x;j=c[i+4>>2]|0;k=(c[C>>2]|0)+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];if(a[(c[v>>2]|0)+4>>0]|0){h=29;break a}c[q>>2]=c[s>>2];break}}else while(1){c[w>>2]=(c[(c[v>>2]|0)+68>>2]|0)+(e[(c[v>>2]|0)+20>>1]&(d[(c[(c[v>>2]|0)+64>>2]|0)+(c[s>>2]<<1)>>0]<<8|d[(c[(c[v>>2]|0)+64>>2]|0)+(c[s>>2]<<1)+1>>0]));c[y>>2]=d[c[w>>2]>>0];do if((c[y>>2]|0)<=(d[(c[v>>2]|0)+7>>0]|0))c[t>>2]=Bb[c[p>>2]&255](c[y>>2]|0,(c[w>>2]|0)+1|0,c[D>>2]|0)|0;else{if((d[(c[w>>2]|0)+1>>0]&128|0)==0?(k=((c[y>>2]&127)<<7)+(d[(c[w>>2]|0)+1>>0]|0)|0,c[y>>2]=k,(k|0)<=(e[(c[v>>2]|0)+10>>1]|0)):0){c[t>>2]=Bb[c[p>>2]&255](c[y>>2]|0,(c[w>>2]|0)+2|0,c[D>>2]|0)|0;break}c[A>>2]=(c[w>>2]|0)+(0-(d[(c[v>>2]|0)+6>>0]|0));Ib[c[(c[v>>2]|0)+80>>2]&255](c[v>>2]|0,c[A>>2]|0,(c[C>>2]|0)+16|0);c[y>>2]=c[(c[C>>2]|0)+16>>2];if((c[y>>2]|0)<2){h=37;break a}k=(c[y>>2]|0)+18|0;c[z>>2]=Fd(k,((k|0)<0)<<31>>31)|0;if(!(c[z>>2]|0)){h=39;break a}b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];c[o>>2]=zq(c[C>>2]|0,0,c[y>>2]|0,c[z>>2]|0,2)|0;if(c[o>>2]|0){h=41;break a}c[t>>2]=Bb[c[p>>2]&255](c[y>>2]|0,c[z>>2]|0,c[D>>2]|0)|0;_d(c[z>>2]|0)}while(0);if((c[t>>2]|0)<0)c[q>>2]=(c[s>>2]|0)+1;else{if((c[t>>2]|0)<=0){h=47;break a}c[r>>2]=(c[s>>2]|0)-1}if((c[q>>2]|0)>(c[r>>2]|0)){h=51;break b}c[s>>2]=(c[q>>2]|0)+(c[r>>2]|0)>>1}while(0);if((h|0)==51?(h=0,a[(c[v>>2]|0)+4>>0]|0):0){h=52;break}f=c[(c[v>>2]|0)+56>>2]|0;g=c[v>>2]|0;if((c[q>>2]|0)>=(e[(c[v>>2]|0)+18>>1]|0))c[u>>2]=Vl(f+((d[g+5>>0]|0)+8)|0)|0;else c[u>>2]=Vl(f+(e[g+20>>1]&(d[(c[(c[v>>2]|0)+64>>2]|0)+(c[q>>2]<<1)>>0]<<8|d[(c[(c[v>>2]|0)+64>>2]|0)+(c[q>>2]<<1)+1>>0]))|0)|0;b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[q>>2];c[o>>2]=TD(c[C>>2]|0,c[u>>2]|0)|0}while(!(c[o>>2]|0));if((h|0)==20){c[B>>2]=kn(63387)|0;E=c[B>>2]|0;l=F;return E|0}else if((h|0)==29){c[c[n>>2]>>2]=0;c[o>>2]=0}else if((h|0)==37)c[o>>2]=kn(63460)|0;else if((h|0)==39)c[o>>2]=7;else if((h|0)==41)_d(c[z>>2]|0);else if((h|0)==47){c[c[n>>2]>>2]=0;c[o>>2]=0;b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];if(a[(c[D>>2]|0)+11>>0]|0)c[o>>2]=11}else if((h|0)==52){b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];c[c[n>>2]>>2]=c[t>>2];c[o>>2]=0}b[(c[C>>2]|0)+16+18>>1]=0;E=(c[C>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[B>>2]=c[o>>2];E=c[B>>2]|0;l=F;return E|0}function $D(b){b=b|0;var d=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=b;if(((e[(c[c[g>>2]>>2]|0)+6>>1]|0)+(e[(c[c[g>>2]>>2]|0)+8>>1]|0)|0)<=13){c[h>>2]=e[(c[(c[g>>2]|0)+4>>2]|0)+8>>1];b=(c[g>>2]|0)+12|0;if(a[c[(c[c[g>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;b=-1;d=c[g>>2]|0}else{a[b>>0]=-1;b=1;d=c[g>>2]|0}a[d+13>>0]=b;if(c[h>>2]&4|0){c[f>>2]=158;h=c[f>>2]|0;l=i;return h|0}if((c[h>>2]&25|0)==0?(c[(c[c[g>>2]>>2]|0)+20>>2]|0)==0:0){c[f>>2]=159;h=c[f>>2]|0;l=i;return h|0}}c[f>>2]=160;h=c[f>>2]|0;l=i;return h|0}function aE(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=f;c[j>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){zr(f);break}c[g>>2]=c[f+60>>2];k=c[g>>2]|0;l=m;return k|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+120|0;o=(c[h>>2]|0)+68|0;f=a[o>>0]|0;a[o>>0]=f+-1<<24>>24;nq(c[n+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;o=c[g>>2]|0;l=m;return o|0}c[j>>2]=WD(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[j>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[j>>2];o=c[g>>2]|0;l=m;return o|0}while(0);c[i>>2]=c[(c[h>>2]|0)+120>>2];if(d[c[i>>2]>>0]|0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[i>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;o=(c[h>>2]|0)+64|0;a[o>>0]=d[o>>0]&-15;do if((e[(c[i>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[i>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[i>>2]|0)+84>>2]|0)==1){c[k>>2]=Vl((c[(c[i>>2]|0)+56>>2]|0)+((d[(c[i>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[j>>2]=TD(c[h>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=kn(63147)|0;o=c[g>>2]|0;l=m;return o|0}while(0);c[g>>2]=c[j>>2];o=c[g>>2]|0;l=m;return o|0}c[g>>2]=kn(63136)|0;o=c[g>>2]|0;l=m;return o|0}function bE(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;m=s+36|0;t=s+32|0;r=s+28|0;h=s+24|0;i=s+16|0;j=s+8|0;k=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[m>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];do switch(c[t>>2]|0){case 1:{m=a[c[m>>2]>>0]|0;t=k;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[m>>2]>>0]<<8|d[(c[m>>2]|0)+1>>0];t=k;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[m>>2]>>0]<<16|d[(c[m>>2]|0)+1>>0]<<8|d[(c[m>>2]|0)+2>>0];t=k;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[h>>2]=d[c[m>>2]>>0]<<24|d[(c[m>>2]|0)+1>>0]<<16|d[(c[m>>2]|0)+2>>0]<<8|d[(c[m>>2]|0)+3>>0];m=c[h>>2]|0;t=k;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{g=a[c[m>>2]>>0]<<8|d[(c[m>>2]|0)+1>>0];t=k;c[t>>2]=_$(d[(c[m>>2]|0)+2>>0]<<24|d[(c[m>>2]|0)+2+1>>0]<<16|d[(c[m>>2]|0)+2+2>>0]<<8|d[(c[m>>2]|0)+2+3>>0]|0,0,r0(0,1,g|0,((g|0)<0)<<31>>31|0)|0,D|0)|0;c[t+4>>2]=D;break}case 6:{t=i;c[t>>2]=d[c[m>>2]>>0]<<24|d[(c[m>>2]|0)+1>>0]<<16|d[(c[m>>2]|0)+2>>0]<<8|d[(c[m>>2]|0)+3>>0];c[t+4>>2]=0;t=c[i>>2]|0;g=i;c[g>>2]=d[(c[m>>2]|0)+4>>0]<<24|d[(c[m>>2]|0)+4+1>>0]<<16|d[(c[m>>2]|0)+4+2>>0]<<8|d[(c[m>>2]|0)+4+3>>0];c[g+4>>2]=t;g=i;m=c[g+4>>2]|0;t=k;c[t>>2]=c[g>>2];c[t+4>>2]=m;break}case 8:{t=k;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=k;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=dE(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;l=s;return t|0}default:{c[n>>2]=dE(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;l=s;return t|0}}while(0);t=c[(c[q>>2]|0)+4>>2]|0;i=c[t+4>>2]|0;m=j;c[m>>2]=c[t>>2];c[m+4>>2]=i;m=j;i=c[m+4>>2]|0;t=k;g=c[t+4>>2]|0;do if(!((i|0)>(g|0)|((i|0)==(g|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=j;j=c[m+4>>2]|0;t=k;g=c[t+4>>2]|0;b=c[q>>2]|0;if((j|0)<(g|0)|((j|0)==(g|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[b+13>>0];break}if((e[b+8>>1]|0)>1){c[r>>2]=eE(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;l=s;return t|0}function cE(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;r=s+12|0;i=s+8|0;j=s+4|0;k=s;c[m>>2]=b;c[n>>2]=f;c[o>>2]=g;c[p>>2]=c[n>>2];b=(c[p>>2]|0)+1|0;if((d[(c[p>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else fE(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[o>>2]|0)+13>>0];break}c[k>>2]=d[c[p>>2]>>0];c[j>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[k>>2]|0)+(c[j>>2]|0)|0)>(c[m>>2]|0)){r=(kn(74742)|0)&255;a[(c[o>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;l=s;return r|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+12>>2]|0)<(c[j>>2]|0))b=c[(c[(c[o>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[j>>2]|0;c[i>>2]=b;c[r>>2]=H_((c[p>>2]|0)+(c[k>>2]|0)|0,c[(c[(c[o>>2]|0)+4>>2]|0)+16>>2]|0,c[i>>2]|0)|0;if(c[r>>2]|0){b=c[o>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[j>>2]|0)-(c[(c[(c[o>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[o>>2]|0)+8>>1]|0)>1){c[r>>2]=eE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1)|0;break}else{c[r>>2]=a[(c[o>>2]|0)+10>>0];a[(c[o>>2]|0)+14>>0]=1;break}else{b=c[o>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[o>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;l=s;return r|0}function dE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=eE(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;l=e;return d|0}function eE(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;F=l;l=l+128|0;C=F+124|0;x=F+120|0;H=F+116|0;E=F+112|0;G=F+108|0;y=F+104|0;z=F+100|0;m=F+96|0;n=F+92|0;A=F+88|0;o=F+84|0;B=F+80|0;p=F+76|0;q=F+16|0;k=F+72|0;r=F+68|0;s=F+8|0;t=F;u=F+64|0;v=F+60|0;w=F+56|0;c[x>>2]=f;c[H>>2]=g;c[E>>2]=i;c[G>>2]=j;c[A>>2]=0;c[o>>2]=c[(c[E>>2]|0)+4>>2];c[B>>2]=c[c[E>>2]>>2];c[p>>2]=c[H>>2];g=c[p>>2]|0;do if(c[G>>2]|0){f=(c[p>>2]|0)+1|0;if((d[g+1>>0]|0)<128){c[k>>2]=d[f>>0];f=1}else f=(fE(f,k)|0)&255;c[n>>2]=1+(f&255);c[m>>2]=d[c[p>>2]>>0];H=c[m>>2]|0;c[y>>2]=H+(gE(c[k>>2]|0)|0);c[z>>2]=1;c[o>>2]=(c[o>>2]|0)+40}else{f=c[p>>2]|0;if((d[g>>0]|0)<128){c[m>>2]=d[f>>0];f=1}else f=(fE(f,m)|0)&255;c[n>>2]=f&255;c[y>>2]=c[m>>2];if((c[y>>2]|0)>>>0<=(c[x>>2]|0)>>>0){c[z>>2]=0;break}H=(kn(74452)|0)&255;a[(c[E>>2]|0)+11>>0]=H;c[C>>2]=0;H=c[C>>2]|0;l=F;return H|0}while(0);a:while(1){do if(e[(c[o>>2]|0)+8>>1]&4|0){c[r>>2]=d[(c[p>>2]|0)+(c[n>>2]|0)>>0];if((c[r>>2]|0)>>>0>=10){c[A>>2]=1;break}if(!(c[r>>2]|0)){c[A>>2]=-1;break}if((c[r>>2]|0)==7){hE((c[p>>2]|0)+(c[y>>2]|0)|0,c[r>>2]|0,q)|0;H=c[o>>2]|0;c[A>>2]=0-(fj(c[H>>2]|0,c[H+4>>2]|0,+h[q>>3])|0);break}j=iE(c[r>>2]|0,(c[p>>2]|0)+(c[y>>2]|0)|0)|0;H=s;c[H>>2]=j;c[H+4>>2]=D;H=c[o>>2]|0;j=c[H+4>>2]|0;G=t;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=s;j=c[G+4>>2]|0;H=t;k=c[H+4>>2]|0;if((j|0)<(k|0)|((j|0)==(k|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[A>>2]=-1;break}G=s;j=c[G+4>>2]|0;H=t;k=c[H+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[A>>2]=1}else{if(e[(c[o>>2]|0)+8>>1]&8|0){c[r>>2]=d[(c[p>>2]|0)+(c[n>>2]|0)>>0];if((c[r>>2]|0)>>>0>=10){c[A>>2]=1;break}if(!(c[r>>2]|0)){c[A>>2]=-1;break}hE((c[p>>2]|0)+(c[y>>2]|0)|0,c[r>>2]|0,q)|0;if((c[r>>2]|0)!=7){H=q;c[A>>2]=fj(c[H>>2]|0,c[H+4>>2]|0,+h[c[o>>2]>>3])|0;break}if(+h[q>>3]<+h[c[o>>2]>>3]){c[A>>2]=-1;break}if(!(+h[q>>3]>+h[c[o>>2]>>3]))break;c[A>>2]=1;break}if(e[(c[o>>2]|0)+8>>1]&2|0){f=(c[p>>2]|0)+(c[n>>2]|0)|0;if((d[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0)<128)c[r>>2]=d[f>>0];else fE(f,r)|0;if((c[r>>2]|0)>>>0<12){c[A>>2]=-1;break}if(!(c[r>>2]&1)){c[A>>2]=1;break}c[q+12>>2]=(((c[r>>2]|0)-12|0)>>>0)/2|0;if(((c[y>>2]|0)+(c[q+12>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0){f=43;break a}if(c[(c[B>>2]|0)+20+(c[z>>2]<<2)>>2]|0){a[q+10>>0]=a[(c[B>>2]|0)+4>>0]|0;c[q+32>>2]=c[(c[B>>2]|0)+12>>2];b[q+8>>1]=2;c[q+16>>2]=(c[p>>2]|0)+(c[y>>2]|0);c[A>>2]=gj(q,c[o>>2]|0,c[(c[B>>2]|0)+20+(c[z>>2]<<2)>>2]|0,(c[E>>2]|0)+11|0)|0;break}c[u>>2]=c[((c[q+12>>2]|0)<(c[(c[o>>2]|0)+12>>2]|0)?q:c[o>>2]|0)+12>>2];c[A>>2]=H_((c[p>>2]|0)+(c[y>>2]|0)|0,c[(c[o>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[A>>2]|0)break;c[A>>2]=(c[q+12>>2]|0)-(c[(c[o>>2]|0)+12>>2]|0);break}f=d[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(!(e[(c[o>>2]|0)+8>>1]&16)){c[r>>2]=f;c[A>>2]=(c[r>>2]|0)!=0&1;break}g=(c[p>>2]|0)+(c[n>>2]|0)|0;if((f|0)<128)c[r>>2]=d[g>>0];else fE(g,r)|0;if((c[r>>2]|0)>>>0>=12?(c[r>>2]&1|0)==0:0){c[v>>2]=(((c[r>>2]|0)-12|0)>>>0)/2|0;if(((c[y>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0){f=56;break a}if(e[(c[o>>2]|0)+8>>1]&16384|0)if(ij((c[p>>2]|0)+(c[y>>2]|0)|0,c[v>>2]|0)|0){c[A>>2]=(c[v>>2]|0)-(c[c[o>>2]>>2]|0);break}else{c[A>>2]=1;break}if((c[v>>2]|0)<(c[(c[o>>2]|0)+12>>2]|0))f=c[v>>2]|0;else f=c[(c[o>>2]|0)+12>>2]|0;c[w>>2]=f;c[A>>2]=H_((c[p>>2]|0)+(c[y>>2]|0)|0,c[(c[o>>2]|0)+16>>2]|0,c[w>>2]|0)|0;if(c[A>>2]|0)break;c[A>>2]=(c[v>>2]|0)-(c[(c[o>>2]|0)+12>>2]|0);break}c[A>>2]=-1}while(0);if(c[A>>2]|0){f=68;break}c[z>>2]=(c[z>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+40;H=gE(c[r>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+H;H=jE(c[r>>2]|0,0)|0;c[n>>2]=(c[n>>2]|0)+H;if((c[n>>2]|0)>>>0>=(c[m>>2]|0)>>>0){f=74;break}if((c[z>>2]|0)>=(e[(c[E>>2]|0)+8>>1]|0)){f=74;break}if((c[y>>2]|0)>>>0>(c[x>>2]|0)>>>0){f=74;break}}if((f|0)==43){H=(kn(74527)|0)&255;a[(c[E>>2]|0)+11>>0]=H;c[C>>2]=0;H=c[C>>2]|0;l=F;return H|0}else if((f|0)==56){H=(kn(74557)|0)&255;a[(c[E>>2]|0)+11>>0]=H;c[C>>2]=0;H=c[C>>2]|0;l=F;return H|0}else if((f|0)==68){if(a[(c[(c[B>>2]|0)+16>>2]|0)+(c[z>>2]|0)>>0]|0)c[A>>2]=0-(c[A>>2]|0);c[C>>2]=c[A>>2];H=c[C>>2]|0;l=F;return H|0}else if((f|0)==74){a[(c[E>>2]|0)+14>>0]=1;c[C>>2]=a[(c[E>>2]|0)+10>>0];H=c[C>>2]|0;l=F;return H|0}return 0}function fE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+25|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n;m=n+24|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&127;c[i>>2]=c[i>>2]<<7;c[c[h>>2]>>2]=c[i>>2]|c[j>>2];a[f>>0]=2;m=a[f>>0]|0;l=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);if(!(c[i>>2]&128)){c[i>>2]=c[i>>2]&2080895;c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[i>>2]|c[j>>2];a[f>>0]=3;m=a[f>>0]|0;l=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[m>>0]=yp(c[g>>2]|0,k)|0;j=k;if(0!=(c[j+4>>2]|0)?1:(c[k>>2]|0)!=(c[j>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[k>>2];a[f>>0]=a[m>>0]|0;m=a[f>>0]|0;l=n;return m|0}function gE(a){a=a|0;var b=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;l=e;return f|0}else{c[b>>2]=d[34519+a>>0];f=c[b>>2]|0;l=e;return f|0}return 0}function hE(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;switch(c[j>>2]|0){case 0:case 11:case 10:{b[(c[k>>2]|0)+8>>1]=1;c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}case 1:{i=a[c[i>>2]>>0]|0;j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=1;k=c[h>>2]|0;l=m;return k|0}case 2:{i=a[c[i>>2]>>0]<<8|d[(c[i>>2]|0)+1>>0];j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=2;k=c[h>>2]|0;l=m;return k|0}case 3:{i=a[c[i>>2]>>0]<<16|d[(c[i>>2]|0)+1>>0]<<8|d[(c[i>>2]|0)+2>>0];j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=3;k=c[h>>2]|0;l=m;return k|0}case 4:{i=a[c[i>>2]>>0]<<24|d[(c[i>>2]|0)+1>>0]<<16|d[(c[i>>2]|0)+2>>0]<<8|d[(c[i>>2]|0)+3>>0];j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=4;k=c[h>>2]|0;l=m;return k|0}case 5:{j=d[(c[i>>2]|0)+2>>0]<<24|d[(c[i>>2]|0)+2+1>>0]<<16|d[(c[i>>2]|0)+2+2>>0]<<8|d[(c[i>>2]|0)+2+3>>0];i=a[c[i>>2]>>0]<<8|d[(c[i>>2]|0)+1>>0];i=_$(j|0,0,r0(0,1,i|0,((i|0)<0)<<31>>31|0)|0,D|0)|0;j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=D;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=6;k=c[h>>2]|0;l=m;return k|0}case 7:case 6:{c[h>>2]=kE(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}case 9:case 8:{i=c[k>>2]|0;c[i>>2]=(c[j>>2]|0)-8;c[i+4>>2]=0;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}default:{c[(c[k>>2]|0)+16>>2]=c[i>>2];c[(c[k>>2]|0)+12>>2]=(((c[j>>2]|0)-12|0)>>>0)/2|0;b[(c[k>>2]|0)+8>>1]=b[15238+((c[j>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[k>>2]|0)+12>>2];k=c[h>>2]|0;l=m;return k|0}}return 0}function iE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+8|0;g=k+24|0;h=k+20|0;i=k+16|0;j=k;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{i=a[c[h>>2]>>0]|0;j=f;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;break}case 2:{i=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];j=f;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;break}case 3:{i=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];j=f;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;break}case 4:{c[i>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];i=c[i>>2]|0;j=f;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;break}case 5:{g=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];i=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];j=f;c[j>>2]=_$(g|0,0,r0(0,1,i|0,((i|0)<0)<<31>>31|0)|0,D|0)|0;c[j+4>>2]=D;break}case 6:{g=j;c[g>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[g+4>>2]=0;g=c[j>>2]|0;i=j;c[i>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[i+4>>2]=g;h=j;i=c[h+4>>2]|0;j=f;c[j>>2]=c[h>>2];c[j+4>>2]=i;break}default:{j=f;c[j>>2]=(c[g>>2]|0)-8;c[j+4>>2]=0}}j=f;D=c[j+4>>2]|0;l=k;return c[j>>2]|0}function jE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=f0(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=D;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}l=f;return a|0}function kE(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;n=j+20|0;k=j+16|0;g=j+12|0;i=j;m=j+8|0;c[n>>2]=a;c[k>>2]=e;c[g>>2]=f;e=i;c[e>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[e+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);e=_$(0,c[i>>2]|0,c[m>>2]|0,0)|0;f=i;c[f>>2]=e;c[f+4>>2]=D;if((c[k>>2]|0)==6){k=i;n=c[k+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=n;m=4;n=c[g>>2]|0;n=n+8|0;b[n>>1]=m;l=j;return 8}else{m=c[g>>2]|0;c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2];m=(Sd(+h[c[g>>2]>>3])|0)!=0;m=(m?1:8)&65535;n=c[g>>2]|0;n=n+8|0;b[n>>1]=m;l=j;return 8}return 0}function lE(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[i>>2]=f;c[j>>2]=g;if((d[(c[i>>2]|0)+66>>0]|0)!=1){if((d[(c[i>>2]|0)+66>>0]|0)>=3)f=SD(c[i>>2]|0)|0;else f=0;c[k>>2]=f;if(c[k>>2]|0){c[h>>2]=c[k>>2];o=c[h>>2]|0;l=p;return o|0}if(!(d[(c[i>>2]|0)+66>>0]|0)){c[c[j>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}if(c[(c[i>>2]|0)+60>>2]|0?(a[(c[i>>2]|0)+66>>0]=1,g=(c[(c[i>>2]|0)+60>>2]|0)>0,c[(c[i>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}}c[n>>2]=c[(c[i>>2]|0)+120+(a[(c[i>>2]|0)+68>>0]<<2)>>2];g=(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[m>>2]=f&65535;f=(a[(c[n>>2]|0)+4>>0]|0)!=0;if((c[m>>2]|0)<(e[(c[n>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}else{c[h>>2]=mE(c[i>>2]|0)|0;o=c[h>>2]|0;l=p;return o|0}if(!f){o=c[i>>2]|0;c[k>>2]=TD(o,Vl((c[(c[n>>2]|0)+56>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[k>>2]|0){c[h>>2]=c[k>>2];o=c[h>>2]|0;l=p;return o|0}else{c[h>>2]=mE(c[i>>2]|0)|0;o=c[h>>2]|0;l=p;return o|0}}do{if(!(a[(c[i>>2]|0)+68>>0]|0)){o=17;break}VD(c[i>>2]|0);c[n>>2]=c[(c[i>>2]|0)+120+(a[(c[i>>2]|0)+68>>0]<<2)>>2]}while((e[(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[n>>2]|0)+18>>1]|0));if((o|0)==17){c[c[j>>2]>>2]=1;a[(c[i>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}if(a[(c[n>>2]|0)+2>>0]|0){c[h>>2]=PD(c[i>>2]|0,c[j>>2]|0)|0;o=c[h>>2]|0;l=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}return 0}function mE(b){b=b|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;i=j+4|0;h=j;c[f>>2]=b;c[i>>2]=0;while(1){if(c[i>>2]|0){b=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){b=5;break}c[g>>2]=Vl((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]&(d[(c[(c[h>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[h>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[i>>2]=TD(c[f>>2]|0,c[g>>2]|0)|0}if((b|0)==5){l=j;return c[i>>2]|0}return 0}function nE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[d>>2]=b;c[e>>2]=c[c[j>>2]>>2];c[g>>2]=Lt(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;l=i;return j|0}j=Xo(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=j;c[f>>2]=Hu(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){j=c[g>>2]|0;l=i;return j|0}c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];j=Xo(c[e>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=j;j=c[g>>2]|0;l=i;return j|0}function oE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){a=8;break}if((Ix(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){a=6;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==6){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==8){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function pE(e,f){e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;h=i+4|0;g=i;c[h>>2]=e;c[g>>2]=f;if((d[c[g>>2]>>0]|0)!=152){l=i;return 0}e=c[h>>2]|0;do if((b[(c[g>>2]|0)+32>>1]|0)>=0)if((c[(c[e+24>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<2)>>2]|0)>=0){f=1;e=c[h>>2]|0;break}else{l=i;return 0}else f=2;while(0);h=e+20|0;a[h>>0]=d[h>>0]|f;l=i;return 0}function qE(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k+12|0;j=k+8|0;g=k+4|0;h=k;c[j>>2]=a;c[g>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[g>>2]|0)+50>>1]|0)){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[g>>2]|0)+54>>0]|0)){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}c[h>>2]=0;while(1){f=c[g>>2]|0;if((c[h>>2]|0)>=(e[(c[g>>2]|0)+50>>1]|0)){a=17;break}if((b[(c[f+4>>2]|0)+(c[h>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=8;break}if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)==-2?Yw(c[(c[(c[(c[g>>2]|0)+40>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,-1)|0:0){a=11;break}if((d[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[h>>2]|0)>>0]|0)){a=13;break}if(kl(c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]|0)|0){a=15;break}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==8){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==11){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==13){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==15){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==17)if(Yw(c[f+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else{c[i>>2]=1;j=c[i>>2]|0;l=k;return j|0}return 0}function rE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+448>>2];c[(c[f>>2]|0)+448>>2]=c[g>>2];l=e;return}function sE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+64|0;i=p+52|0;j=p+48|0;k=p+44|0;m=p+40|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g>>2]=c[c[i>>2]>>2];c[h>>2]=Hu(c[g>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[k>>2]=Ww(c[g>>2]|0,c[k>>2]|0,0)|0;c[f>>2]=Lt(c[g>>2]|0,0,0,0)|0;if(c[f>>2]|0){j=Xo(c[g>>2]|0,c[c[j>>2]>>2]|0)|0;c[(c[f>>2]|0)+8+8>>2]=j;j=Xo(c[g>>2]|0,c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0;c[(c[f>>2]|0)+8+4>>2]=j}c[o>>2]=Dt(c[i>>2]|0,0,c[f>>2]|0,c[k>>2]|0,0,0,0,131072,0,0)|0;Az(n,12,c[m>>2]|0);At(c[i>>2]|0,c[o>>2]|0,n)|0;Jk(c[g>>2]|0,c[o>>2]|0);l=p;return}function tE(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=l;l=l+96|0;E=F+88|0;H=F+84|0;r=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;s=F+60|0;t=F+56|0;u=F+52|0;v=F+48|0;I=F+44|0;w=F+40|0;x=F+36|0;y=F+32|0;z=F+28|0;A=F+24|0;B=F+20|0;p=F+16|0;q=F+8|0;C=F+4|0;D=F;c[E>>2]=d;c[H>>2]=e;c[r>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=i;c[G>>2]=j;c[s>>2]=k;c[t>>2]=c[(c[E>>2]|0)+8>>2];c[I>>2]=c[c[E>>2]>>2];c[w>>2]=fw(c[I>>2]|0,c[r>>2]|0)|0;c[y>>2]=2+(b[(c[r>>2]|0)+34>>1]|0);c[p>>2]=c[(c[H>>2]|0)+8+44>>2];j=(c[E>>2]|0)+40|0;k=c[j>>2]|0;c[j>>2]=k+1;c[u>>2]=k;c[D>>2]=Qu(c[t>>2]|0,107,c[u>>2]|0,c[y>>2]|0)|0;c[z>>2]=(c[(c[E>>2]|0)+44>>2]|0)+1;k=(c[E>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[E>>2]|0)+44|0;j=(c[k>>2]|0)+1|0;c[k>>2]=j;c[A>>2]=j;j=(c[E>>2]|0)+44|0;k=(c[j>>2]|0)+1|0;c[j>>2]=k;c[B>>2]=k;c[x>>2]=FB(c[E>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[x>>2]|0)){l=F;return}Qu(c[t>>2]|0,123,c[p>>2]|0,c[z>>2]|0)|0;if(c[n>>2]|0)Wy(c[E>>2]|0,c[n>>2]|0,(c[z>>2]|0)+1|0);else Qu(c[t>>2]|0,123,c[p>>2]|0,(c[z>>2]|0)+1|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[v>>2]<<2)>>2]|0)>=0)Wy(c[E>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[v>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[z>>2]|0)+2+(c[v>>2]|0)|0);else Ru(c[t>>2]|0,156,c[p>>2]|0,c[v>>2]|0,(c[z>>2]|0)+2+(c[v>>2]|0)|0)|0;c[v>>2]=(c[v>>2]|0)+1}c[C>>2]=uE(c[x>>2]|0,q)|0;d=c[t>>2]|0;if(c[C>>2]|0){Ry(d,c[D>>2]|0)|0;if(!(c[(c[E>>2]|0)+124>>2]|0))a[(c[E>>2]|0)+20>>0]=0}else{Ru(d,99,c[z>>2]|0,c[y>>2]|0,c[A>>2]|0)|0;Qu(c[t>>2]|0,114,c[u>>2]|0,c[B>>2]|0)|0;Ru(c[t>>2]|0,115,c[u>>2]|0,c[A>>2]|0,c[B>>2]|0)|0}a:do if(!(c[C>>2]|0)){GB(c[x>>2]|0);c[D>>2]=ey(c[t>>2]|0,57,c[u>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[y>>2]|0))break a;Ru(c[t>>2]|0,96,c[u>>2]|0,c[v>>2]|0,(c[z>>2]|0)+(c[v>>2]|0)|0)|0;c[v>>2]=(c[v>>2]|0)+1}}while(0);sB(c[E>>2]|0,c[r>>2]|0);Uu(c[t>>2]|0,12,0,c[y>>2]|0,c[z>>2]|0,c[w>>2]|0,-10)|0;jy(c[t>>2]|0,((c[s>>2]|0)==10?2:c[s>>2]|0)&255);gw(c[E>>2]|0);if(!(c[C>>2]|0)){Qu(c[t>>2]|0,7,c[u>>2]|0,(c[D>>2]|0)+1|0)|0;ny(c[t>>2]|0,c[D>>2]|0);Qu(c[t>>2]|0,111,c[u>>2]|0,0)|0;l=F;return}else{GB(c[x>>2]|0);l=F;return}}function uE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;b=c[g>>2]|0;a=(c[e>>2]|0)+20|0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];l=f;return d[(c[e>>2]|0)+45>>0]|0|0}function vE(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){l=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+448>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;l=d;return}function wE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;j=p+32|0;i=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;c[i>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[k>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[k>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[k>>2]>>2]|0)+(c[m>>2]|0);c[f>>2]=de(c[i>>2]|0,c[k>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[f>>2]|0){c[k>>2]=c[f>>2];c[h>>2]=((((ae(c[i>>2]|0,c[f>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[k>>2]|0)+4>>2]=c[h>>2];break}c[j>>2]=c[k>>2];o=c[j>>2]|0;l=p;return o|0}while(0);c[o>>2]=(c[c[k>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;a=(c[k>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;b=(c[k>>2]|0)+8+((c[o>>2]|0)*72|0)|0;f=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(f|0));c[o>>2]=(c[o>>2]|0)+-1}i=c[k>>2]|0;c[i>>2]=(c[i>>2]|0)+(c[m>>2]|0);m0((c[k>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){a=c[k>>2]|0;if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[a+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[j>>2]=a;o=c[j>>2]|0;l=p;return o|0}function xE(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+128|0;O=Q+112|0;u=Q+108|0;x=Q+104|0;P=Q+100|0;n=Q+96|0;y=Q+92|0;k=Q+88|0;z=Q+84|0;A=Q+80|0;B=Q+76|0;C=Q+72|0;D=Q+68|0;E=Q+64|0;F=Q+60|0;G=Q+56|0;H=Q+52|0;I=Q+48|0;J=Q+44|0;m=Q+40|0;o=Q+36|0;p=Q+32|0;q=Q+28|0;r=Q+24|0;s=Q+20|0;v=Q+16|0;w=Q+12|0;K=Q+8|0;L=Q+116|0;M=Q+4|0;N=Q;c[u>>2]=f;c[x>>2]=g;c[P>>2]=h;c[n>>2]=i;c[y>>2]=j;c[k>>2]=c[(c[u>>2]|0)+448>>2];c[J>>2]=c[c[u>>2]>>2];if(e[(c[J>>2]|0)+64>>1]&1|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}c[C>>2]=c[(c[x>>2]|0)+28>>2];c[I>>2]=(c[C>>2]|0)+8+((c[P>>2]|0)*72|0);c[F>>2]=c[(c[I>>2]|0)+44>>2];c[A>>2]=c[(c[I>>2]|0)+20>>2];do if(c[y>>2]|0){if(c[n>>2]|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if((c[c[C>>2]>>2]|0)>1){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(!(c[(c[x>>2]|0)+32>>2]|0?(c[(c[(c[x>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((Tx(c[c[x>>2]>>2]|0)|0)&2097152|0)==0:0)?((Tx(c[(c[x>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}while(0);c[D>>2]=c[(c[A>>2]|0)+28>>2];if(c[(c[A>>2]|0)+56>>2]|0?c[(c[x>>2]|0)+56>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+60>>2]|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[x>>2]|0)+8>>2]&256|0?c[(c[A>>2]|0)+56>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(!(c[c[D>>2]>>2]|0)){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+8>>2]&1|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+56>>2]|0?(c[n>>2]|0?1:(c[c[C>>2]>>2]|0)>1):0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[y>>2]|0?(c[(c[x>>2]|0)+8>>2]&1|0)!=0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[x>>2]|0)+44>>2]|0?c[(c[A>>2]|0)+44>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[n>>2]|0?c[(c[A>>2]|0)+44>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+56>>2]|0?c[(c[x>>2]|0)+32>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+56>>2]|0?c[(c[x>>2]|0)+8>>2]&1|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+8>>2]&12288|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[x>>2]|0)+8>>2]&8192|0?c[(c[A>>2]|0)+48>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(d[(c[I>>2]|0)+36>>0]&32|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}a:do if(c[(c[A>>2]|0)+48>>2]|0){if(c[(c[A>>2]|0)+44>>2]|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}do if(!(c[n>>2]|0)){if(c[(c[x>>2]|0)+8>>2]&1|0)break;if((c[c[C>>2]>>2]|0)!=1)break;c[B>>2]=c[A>>2];while(1){if(!(c[B>>2]|0))break;if(c[(c[B>>2]|0)+8>>2]&9|0){t=62;break}if(c[(c[B>>2]|0)+48>>2]|0?(d[(c[B>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[B>>2]|0)+28>>2]>>2]|0)<1){t=62;break}c[B>>2]=c[(c[B>>2]|0)+48>>2]}if((t|0)==62){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(!(c[(c[x>>2]|0)+44>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[x>>2]|0)+44>>2]>>2]|0))break a;if(!(e[(c[(c[(c[x>>2]|0)+44>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}while(0);c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}while(0);c[(c[u>>2]|0)+448>>2]=c[(c[I>>2]|0)+8>>2];Iu(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+448>>2]=c[k>>2];c[A>>2]=c[(c[A>>2]|0)+48>>2];while(1){if(!(c[A>>2]|0))break;c[p>>2]=c[(c[x>>2]|0)+44>>2];c[q>>2]=c[(c[x>>2]|0)+56>>2];c[r>>2]=c[(c[x>>2]|0)+60>>2];c[s>>2]=c[(c[x>>2]|0)+48>>2];c[(c[x>>2]|0)+44>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[(c[x>>2]|0)+48>>2]=0;c[(c[x>>2]|0)+56>>2]=0;c[(c[x>>2]|0)+60>>2]=0;c[o>>2]=kw(c[J>>2]|0,c[x>>2]|0,0)|0;c[(c[x>>2]|0)+60>>2]=c[r>>2];c[(c[x>>2]|0)+56>>2]=c[q>>2];c[(c[x>>2]|0)+44>>2]=c[p>>2];c[(c[x>>2]|0)+28>>2]=c[C>>2];a[(c[x>>2]|0)+4>>0]=116;f=c[s>>2]|0;if(!(c[o>>2]|0))g=c[x>>2]|0;else{c[(c[o>>2]|0)+48>>2]=f;if(c[s>>2]|0)c[(c[s>>2]|0)+52>>2]=c[o>>2];c[(c[o>>2]|0)+52>>2]=c[x>>2];f=c[o>>2]|0;g=c[x>>2]|0}c[g+48>>2]=f;if(a[(c[J>>2]|0)+69>>0]|0){t=78;break}c[A>>2]=c[(c[A>>2]|0)+48>>2]}if((t|0)==78){c[O>>2]=1;P=c[O>>2]|0;l=Q;return P|0}t=c[(c[I>>2]|0)+20>>2]|0;c[B>>2]=t;c[A>>2]=t;Xd(c[J>>2]|0,c[(c[I>>2]|0)+4>>2]|0);Xd(c[J>>2]|0,c[(c[I>>2]|0)+8>>2]|0);Xd(c[J>>2]|0,c[(c[I>>2]|0)+12>>2]|0);c[(c[I>>2]|0)+4>>2]=0;c[(c[I>>2]|0)+8>>2]=0;c[(c[I>>2]|0)+12>>2]=0;c[(c[I>>2]|0)+20>>2]=0;if(c[(c[I>>2]|0)+16>>2]|0){c[v>>2]=c[(c[I>>2]|0)+16>>2];if((e[(c[v>>2]|0)+36>>1]|0)==1){f=c[u>>2]|0;if(c[(c[u>>2]|0)+124>>2]|0)f=c[f+124>>2]|0;c[w>>2]=f;c[(c[v>>2]|0)+68>>2]=c[(c[w>>2]|0)+464>>2];c[(c[w>>2]|0)+464>>2]=c[v>>2]}else{w=(c[v>>2]|0)+36|0;b[w>>1]=(b[w>>1]|0)+-1<<16>>16}c[(c[I>>2]|0)+16>>2]=0}c[z>>2]=c[x>>2];while(1){if(!(c[z>>2]|0))break;a[L>>0]=0;c[D>>2]=c[(c[A>>2]|0)+28>>2];c[K>>2]=c[c[D>>2]>>2];c[C>>2]=c[(c[z>>2]|0)+28>>2];if(!(c[C>>2]|0)){x=Lt(c[J>>2]|0,0,0,0)|0;c[(c[z>>2]|0)+28>>2]=x;c[C>>2]=x;if(!(c[C>>2]|0))break}else a[L>>0]=a[(c[I>>2]|0)+36>>0]|0;if((c[K>>2]|0)>1?(x=wE(c[J>>2]|0,c[C>>2]|0,(c[K>>2]|0)-1|0,(c[P>>2]|0)+1|0)|0,c[C>>2]=x,c[(c[z>>2]|0)+28>>2]=x,a[(c[J>>2]|0)+69>>0]|0):0)break;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[K>>2]|0))break;Tk(c[J>>2]|0,c[(c[C>>2]|0)+8+(((c[G>>2]|0)+(c[P>>2]|0)|0)*72|0)+52>>2]|0);f=(c[C>>2]|0)+8+(((c[G>>2]|0)+(c[P>>2]|0)|0)*72|0)|0;g=(c[D>>2]|0)+8+((c[G>>2]|0)*72|0)|0;k=f+72|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(k|0));f=(c[D>>2]|0)+8+((c[G>>2]|0)*72|0)|0;k=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(k|0));c[G>>2]=(c[G>>2]|0)+1}a[(c[C>>2]|0)+8+((c[P>>2]|0)*72|0)+36>>0]=a[L>>0]|0;c[E>>2]=c[c[z>>2]>>2];c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[E>>2]>>2]|0))break;if(!(c[(c[(c[E>>2]|0)+4>>2]|0)+((c[G>>2]|0)*20|0)+4>>2]|0)){c[M>>2]=Xo(c[J>>2]|0,c[(c[(c[E>>2]|0)+4>>2]|0)+((c[G>>2]|0)*20|0)+8>>2]|0)|0;Vj(c[M>>2]|0);c[(c[(c[E>>2]|0)+4>>2]|0)+((c[G>>2]|0)*20|0)+4>>2]=c[M>>2]}c[G>>2]=(c[G>>2]|0)+1}if(c[(c[A>>2]|0)+44>>2]|0){c[N>>2]=c[(c[A>>2]|0)+44>>2];c[G>>2]=0;while(1){f=c[N>>2]|0;if((c[G>>2]|0)>=(c[c[N>>2]>>2]|0))break;b[(c[f+4>>2]|0)+((c[G>>2]|0)*20|0)+16>>1]=0;c[G>>2]=(c[G>>2]|0)+1}c[(c[z>>2]|0)+44>>2]=f;c[(c[A>>2]|0)+44>>2]=0}c[H>>2]=Ww(c[J>>2]|0,c[(c[A>>2]|0)+32>>2]|0,0)|0;if(c[y>>2]|0){c[(c[z>>2]|0)+40>>2]=c[(c[z>>2]|0)+32>>2];c[(c[z>>2]|0)+32>>2]=c[H>>2];w=c[J>>2]|0;x=Ww(c[J>>2]|0,c[(c[A>>2]|0)+40>>2]|0,0)|0;x=Mx(w,x,c[(c[z>>2]|0)+40>>2]|0)|0;c[(c[z>>2]|0)+40>>2]=x;x=cx(c[J>>2]|0,c[(c[A>>2]|0)+36>>2]|0,0)|0;c[(c[z>>2]|0)+36>>2]=x}else{x=Mx(c[J>>2]|0,c[H>>2]|0,c[(c[z>>2]|0)+32>>2]|0)|0;c[(c[z>>2]|0)+32>>2]=x}gF(c[J>>2]|0,c[z>>2]|0,c[F>>2]|0,c[c[A>>2]>>2]|0,0);x=(c[z>>2]|0)+8|0;c[x>>2]=c[x>>2]|c[(c[A>>2]|0)+8>>2]&1;if(c[(c[A>>2]|0)+56>>2]|0){c[(c[z>>2]|0)+56>>2]=c[(c[A>>2]|0)+56>>2];c[(c[A>>2]|0)+56>>2]=0}c[z>>2]=c[(c[z>>2]|0)+48>>2];c[A>>2]=c[(c[A>>2]|0)+48>>2]}Jk(c[J>>2]|0,c[B>>2]|0);c[O>>2]=1;P=c[O>>2]|0;l=Q;return P|0}function yE(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=l;l=l+256|0;Z=_+8|0;h=_;D=_+240|0;O=_+236|0;U=_+232|0;V=_+228|0;W=_+224|0;X=_+220|0;Y=_+216|0;i=_+192|0;j=_+184|0;k=_+180|0;m=_+176|0;n=_+172|0;o=_+168|0;p=_+164|0;q=_+160|0;r=_+244|0;s=_+156|0;t=_+152|0;u=_+148|0;v=_+144|0;w=_+120|0;x=_+116|0;y=_+112|0;z=_+108|0;A=_+104|0;B=_+100|0;C=_+96|0;E=_+92|0;F=_+88|0;G=_+84|0;H=_+80|0;I=_+76|0;J=_+72|0;K=_+48|0;L=_+40|0;M=_+36|0;N=_+32|0;P=_+28|0;Q=_+24|0;R=_+20|0;S=_+16|0;T=_+12|0;c[O>>2]=e;c[U>>2]=f;c[V>>2]=g;c[W>>2]=0;c[j>>2]=0;c[m>>2]=0;c[n>>2]=0;c[k>>2]=c[c[O>>2]>>2];c[X>>2]=c[(c[U>>2]|0)+48>>2];g=c[V>>2]|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];c[i+16>>2]=c[g+16>>2];c[i+20>>2]=c[g+20>>2];a:do if(!(c[(c[X>>2]|0)+44>>2]|0)){e=c[O>>2]|0;if(c[(c[X>>2]|0)+56>>2]|0){c[Z>>2]=ex(d[(c[U>>2]|0)+4>>0]|0)|0;sl(e,35316,Z);c[W>>2]=1;break}c[Y>>2]=Lu(e)|0;if((d[i>>0]|0)==12){Qu(c[Y>>2]|0,107,c[i+8>>2]|0,c[c[c[U>>2]>>2]>>2]|0)|0;a[i>>0]=14}if(c[(c[U>>2]|0)+8>>2]&1024|0){c[W>>2]=iF(c[O>>2]|0,c[U>>2]|0,i)|0;break}b:do if(c[(c[U>>2]|0)+8>>2]&8192|0)jF(c[O>>2]|0,c[U>>2]|0,i);else{if(c[(c[U>>2]|0)+44>>2]|0){c[D>>2]=kF(c[O>>2]|0,c[U>>2]|0,c[V>>2]|0)|0;Z=c[D>>2]|0;l=_;return Z|0}switch(d[(c[U>>2]|0)+4>>0]|0){case 116:{c[o>>2]=0;c[(c[X>>2]|0)+12>>2]=c[(c[U>>2]|0)+12>>2];c[(c[X>>2]|0)+16>>2]=c[(c[U>>2]|0)+16>>2];c[(c[X>>2]|0)+56>>2]=c[(c[U>>2]|0)+56>>2];c[(c[X>>2]|0)+60>>2]=c[(c[U>>2]|0)+60>>2];c[m>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=At(c[O>>2]|0,c[X>>2]|0,i)|0;c[(c[U>>2]|0)+56>>2]=0;c[(c[U>>2]|0)+60>>2]=0;if(c[W>>2]|0)break a;c[(c[U>>2]|0)+48>>2]=0;c[(c[U>>2]|0)+12>>2]=c[(c[X>>2]|0)+12>>2];c[(c[U>>2]|0)+16>>2]=c[(c[X>>2]|0)+16>>2];if(c[(c[U>>2]|0)+12>>2]|0?(c[o>>2]=ey(c[Y>>2]|0,22,c[(c[U>>2]|0)+12>>2]|0)|0,c[(c[U>>2]|0)+16>>2]|0):0)Ru(c[Y>>2]|0,146,c[(c[U>>2]|0)+12>>2]|0,(c[(c[U>>2]|0)+16>>2]|0)+1|0,c[(c[U>>2]|0)+16>>2]|0)|0;c[n>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=At(c[O>>2]|0,c[U>>2]|0,i)|0;c[j>>2]=c[(c[U>>2]|0)+48>>2];c[(c[U>>2]|0)+48>>2]=c[X>>2];Z=BC(b[(c[U>>2]|0)+6>>1]|0,b[(c[X>>2]|0)+6>>1]|0)|0;b[(c[U>>2]|0)+6>>1]=Z;if((c[(c[X>>2]|0)+56>>2]|0?(Z=(Tw(c[(c[X>>2]|0)+56>>2]|0,p)|0)!=0,Z&(c[p>>2]|0)>0):0)?(X=b[(c[U>>2]|0)+6>>1]|0,Z=c[p>>2]|0,(X|0)>((xv(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=c[p>>2]|0;Z=xv(Z,((Z|0)<0)<<31>>31)|0;b[(c[U>>2]|0)+6>>1]=Z}if(!(c[o>>2]|0))break b;ny(c[Y>>2]|0,c[o>>2]|0);break b}case 115:case 117:{a[r>>0]=0;c[s>>2]=1;if((d[i>>0]|0)==(c[s>>2]|0))c[q>>2]=c[i+8>>2];else{M=(c[O>>2]|0)+40|0;Z=c[M>>2]|0;c[M>>2]=Z+1;c[q>>2]=Z;c[v>>2]=Qu(c[Y>>2]|0,107,c[q>>2]|0,0)|0;c[(c[U>>2]|0)+20>>2]=c[v>>2];Z=(Cx(c[U>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32}Az(w,c[s>>2]|0,c[q>>2]|0);c[m>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=At(c[O>>2]|0,c[X>>2]|0,w)|0;if(c[W>>2]|0)break a;if((d[(c[U>>2]|0)+4>>0]|0)==117)a[r>>0]=2;else a[r>>0]=1;c[(c[U>>2]|0)+48>>2]=0;c[t>>2]=c[(c[U>>2]|0)+56>>2];c[(c[U>>2]|0)+56>>2]=0;c[u>>2]=c[(c[U>>2]|0)+60>>2];c[(c[U>>2]|0)+60>>2]=0;a[w>>0]=a[r>>0]|0;c[n>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=At(c[O>>2]|0,c[U>>2]|0,w)|0;Kk(c[k>>2]|0,c[(c[U>>2]|0)+44>>2]|0);c[j>>2]=c[(c[U>>2]|0)+48>>2];c[(c[U>>2]|0)+48>>2]=c[X>>2];c[(c[U>>2]|0)+44>>2]=0;if((d[(c[U>>2]|0)+4>>0]|0)==115){Z=BC(b[(c[U>>2]|0)+6>>1]|0,b[(c[X>>2]|0)+6>>1]|0)|0;b[(c[U>>2]|0)+6>>1]=Z}Ok(c[k>>2]|0,c[(c[U>>2]|0)+56>>2]|0);c[(c[U>>2]|0)+56>>2]=c[t>>2];c[(c[U>>2]|0)+60>>2]=c[u>>2];c[(c[U>>2]|0)+12>>2]=0;c[(c[U>>2]|0)+16>>2]=0;if((d[i>>0]|0)==(c[s>>2]|0))break b;if((d[i>>0]|0)==9){c[A>>2]=c[U>>2];while(1){if(!(c[(c[A>>2]|0)+48>>2]|0))break;c[A>>2]=c[(c[A>>2]|0)+48>>2]}YE(c[O>>2]|0,c[(c[A>>2]|0)+28>>2]|0,c[c[A>>2]>>2]|0)}c[y>>2]=ky(c[Y>>2]|0)|0;c[x>>2]=ky(c[Y>>2]|0)|0;DE(c[O>>2]|0,c[U>>2]|0,c[y>>2]|0);Qu(c[Y>>2]|0,57,c[q>>2]|0,c[y>>2]|0)|0;c[z>>2]=Pv(c[Y>>2]|0)|0;LE(c[O>>2]|0,c[U>>2]|0,c[c[U>>2]>>2]|0,c[q>>2]|0,0,0,i,c[x>>2]|0,c[y>>2]|0);oy(c[Y>>2]|0,c[x>>2]|0);Qu(c[Y>>2]|0,7,c[q>>2]|0,c[z>>2]|0)|0;oy(c[Y>>2]|0,c[y>>2]|0);Qu(c[Y>>2]|0,111,c[q>>2]|0,0)|0;break b}default:{Z=(c[O>>2]|0)+40|0;A=c[Z>>2]|0;c[Z>>2]=A+1;c[B>>2]=A;A=(c[O>>2]|0)+40|0;Z=c[A>>2]|0;c[A>>2]=Z+1;c[C>>2]=Z;c[J>>2]=Qu(c[Y>>2]|0,107,c[B>>2]|0,0)|0;c[(c[U>>2]|0)+20>>2]=c[J>>2];Z=(Cx(c[U>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32;Az(K,1,c[B>>2]|0);c[m>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=At(c[O>>2]|0,c[X>>2]|0,K)|0;if(c[W>>2]|0)break a;c[J>>2]=Qu(c[Y>>2]|0,107,c[C>>2]|0,0)|0;c[(c[U>>2]|0)+20+4>>2]=c[J>>2];c[(c[U>>2]|0)+48>>2]=0;c[H>>2]=c[(c[U>>2]|0)+56>>2];c[(c[U>>2]|0)+56>>2]=0;c[I>>2]=c[(c[U>>2]|0)+60>>2];c[(c[U>>2]|0)+60>>2]=0;c[K+8>>2]=c[C>>2];c[n>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=At(c[O>>2]|0,c[U>>2]|0,K)|0;c[j>>2]=c[(c[U>>2]|0)+48>>2];c[(c[U>>2]|0)+48>>2]=c[X>>2];if((b[(c[U>>2]|0)+6>>1]|0)>(b[(c[X>>2]|0)+6>>1]|0))b[(c[U>>2]|0)+6>>1]=b[(c[X>>2]|0)+6>>1]|0;Ok(c[k>>2]|0,c[(c[U>>2]|0)+56>>2]|0);c[(c[U>>2]|0)+56>>2]=c[H>>2];c[(c[U>>2]|0)+60>>2]=c[I>>2];if((d[i>>0]|0)==9){c[M>>2]=c[U>>2];while(1){if(!(c[(c[M>>2]|0)+48>>2]|0))break;c[M>>2]=c[(c[M>>2]|0)+48>>2]}YE(c[O>>2]|0,c[(c[M>>2]|0)+28>>2]|0,c[c[M>>2]>>2]|0)}c[F>>2]=ky(c[Y>>2]|0)|0;c[E>>2]=ky(c[Y>>2]|0)|0;DE(c[O>>2]|0,c[U>>2]|0,c[F>>2]|0);Qu(c[Y>>2]|0,57,c[B>>2]|0,c[F>>2]|0)|0;c[L>>2]=Ov(c[O>>2]|0)|0;c[G>>2]=Qu(c[Y>>2]|0,121,c[B>>2]|0,c[L>>2]|0)|0;zy(c[Y>>2]|0,30,c[C>>2]|0,c[E>>2]|0,c[L>>2]|0,0)|0;Qv(c[O>>2]|0,c[L>>2]|0);LE(c[O>>2]|0,c[U>>2]|0,c[c[U>>2]>>2]|0,c[B>>2]|0,0,0,i,c[E>>2]|0,c[F>>2]|0);oy(c[Y>>2]|0,c[E>>2]|0);Qu(c[Y>>2]|0,7,c[B>>2]|0,c[G>>2]|0)|0;oy(c[Y>>2]|0,c[F>>2]|0);Qu(c[Y>>2]|0,111,c[C>>2]|0,0)|0;Qu(c[Y>>2]|0,111,c[B>>2]|0,0)|0;break b}}}while(0);lF(c[O>>2]|0,d[(c[U>>2]|0)+4>>0]|0,c[m>>2]|0,c[n>>2]|0,(d[(c[U>>2]|0)+4>>0]|0)!=116&1);if(c[(c[U>>2]|0)+8>>2]&32|0){c[S>>2]=c[c[c[U>>2]>>2]>>2];c[P>>2]=yy(c[k>>2]|0,c[S>>2]|0,1)|0;if(!(c[P>>2]|0)){c[W>>2]=7;break}c[N>>2]=0;c[R>>2]=(c[P>>2]|0)+20;while(1){if((c[N>>2]|0)>=(c[S>>2]|0))break;Z=mF(c[O>>2]|0,c[U>>2]|0,c[N>>2]|0)|0;c[c[R>>2]>>2]=Z;if(!(c[c[R>>2]>>2]|0))c[c[R>>2]>>2]=c[(c[k>>2]|0)+8>>2];c[N>>2]=(c[N>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+4}c[Q>>2]=c[U>>2];while(1){if(!(c[Q>>2]|0))break;c[N>>2]=0;while(1){if((c[N>>2]|0)>=2)break;c[T>>2]=c[(c[Q>>2]|0)+20+(c[N>>2]<<2)>>2];if((c[T>>2]|0)<0)break;ty(c[Y>>2]|0,c[T>>2]|0,c[S>>2]|0);X=c[Y>>2]|0;Z=c[T>>2]|0;Vu(X,Z,Dy(c[P>>2]|0)|0,-6);c[(c[Q>>2]|0)+20+(c[N>>2]<<2)>>2]=-1;c[N>>2]=(c[N>>2]|0)+1}c[Q>>2]=c[(c[Q>>2]|0)+48>>2]}zk(c[P>>2]|0)}}else{Z=c[O>>2]|0;c[h>>2]=ex(d[(c[U>>2]|0)+4>>0]|0)|0;sl(Z,35268,h);c[W>>2]=1}while(0);c[(c[V>>2]|0)+12>>2]=c[i+12>>2];c[(c[V>>2]|0)+16>>2]=c[i+16>>2];Jk(c[k>>2]|0,c[j>>2]|0);c[D>>2]=c[W>>2];Z=c[D>>2]|0;l=_;return Z|0}function zE(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Rx(c[e>>2]|0,b);l=d;return c[b>>2]|0}function AE(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;g=q+4|0;h=q;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[g>>2]=0;if(!(c[m>>2]|0)){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}c[h>>2]=c[k>>2];while(1){if(!(c[h>>2]|0))break;if(c[(c[h>>2]|0)+8>>2]&8200|0){p=6;break}c[h>>2]=c[(c[h>>2]|0)+48>>2]}if((p|0)==6){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}if(c[(c[k>>2]|0)+56>>2]|0){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}while(1){if((d[c[m>>2]>>0]|0|0)!=28)break;p=AE(c[j>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[n>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if(c[(c[m>>2]|0)+4>>2]&1|0){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}a:do if(vC(c[m>>2]|0,c[n>>2]|0)|0){c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(c[k>>2]|0))break a;c[o>>2]=Ww(c[j>>2]|0,c[m>>2]|0,0)|0;c[o>>2]=fF(c[j>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[k>>2]>>2]|0)|0;p=Mx(c[j>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[o>>2]|0)|0;c[(c[k>>2]|0)+32>>2]=p;c[k>>2]=c[(c[k>>2]|0)+48>>2]}}while(0);c[i>>2]=c[g>>2];p=c[i>>2]|0;l=q;return p|0}function BE(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+28>>2]=0;l=d;return}function CE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;k=q+36|0;m=q+32|0;n=q+28|0;r=q+24|0;o=q+20|0;p=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[r>>2]=f;c[h>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[m>>2]>>2];c[p>>2]=yy(c[h>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[p>>2]|0)){r=c[p>>2]|0;l=q;return r|0}c[i>>2]=c[n>>2];c[g>>2]=(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0);while(1){if((c[i>>2]|0)>=(c[o>>2]|0))break;c[j>>2]=rw(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=c[(c[h>>2]|0)+8>>2];c[(c[p>>2]|0)+20+((c[i>>2]|0)-(c[n>>2]|0)<<2)>>2]=c[j>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+((c[i>>2]|0)-(c[n>>2]|0))>>0]=a[(c[g>>2]|0)+12>>0]|0;c[i>>2]=(c[i>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}r=c[p>>2]|0;l=q;return r|0}function DE(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){l=n;return}EA(c[f>>2]|0);if(!(c[(c[g>>2]|0)+56>>2]|0)){l=n;return}d=(c[f>>2]|0)+44|0;e=(c[d>>2]|0)+1|0;c[d>>2]=e;c[j>>2]=e;c[(c[g>>2]|0)+12>>2]=e;c[i>>2]=Lu(c[f>>2]|0)|0;do if(Tw(c[(c[g>>2]|0)+56>>2]|0,m)|0){Qu(c[i>>2]|0,76,c[m>>2]|0,c[j>>2]|0)|0;if(!(c[m>>2]|0)){my(c[i>>2]|0,c[h>>2]|0)|0;break}if((c[m>>2]|0)>=0?(e=b[(c[g>>2]|0)+6>>1]|0,h=c[m>>2]|0,(e|0)>((xv(h,((h|0)<0)<<31>>31)|0)<<16>>16|0)):0){m=c[m>>2]|0;m=xv(m,((m|0)<0)<<31>>31)|0;b[(c[g>>2]|0)+6>>1]=m;m=(c[g>>2]|0)+8|0;c[m>>2]=c[m>>2]|16384}}else{Wy(c[f>>2]|0,c[(c[g>>2]|0)+56>>2]|0,c[j>>2]|0);ey(c[i>>2]|0,17,c[j>>2]|0)|0;Qu(c[i>>2]|0,22,c[j>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[g>>2]|0)+60>>2]|0)){l=n;return}h=(c[f>>2]|0)+44|0;m=(c[h>>2]|0)+1|0;c[h>>2]=m;c[k>>2]=m;c[(c[g>>2]|0)+16>>2]=m;m=(c[f>>2]|0)+44|0;c[m>>2]=(c[m>>2]|0)+1;Wy(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0);ey(c[i>>2]|0,17,c[k>>2]|0)|0;Ru(c[i>>2]|0,146,c[j>>2]|0,(c[k>>2]|0)+1|0,c[k>>2]|0)|0;l=n;return}function EE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=f+4|0;g=f;i=f+8|0;c[h>>2]=b;c[g>>2]=d;a[i>>0]=e;e=a[i>>0]|0;a[(uy(c[h>>2]|0,c[g>>2]|0)|0)>>0]=e;l=f;return}function FE(a){a=a|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;l=e;return b[(c[d>>2]|0)+72>>1]|0}function GE(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+47>>0]|0|0}function HE(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;l=e;return a[(c[d>>2]|0)+43>>0]|0}function IE(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+48>>0]|0|0}function JE(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+28>>2]|0}function KE(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+32>>2]|0}function LE(b,f,g,h,i,j,k,m,n){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+144|0;V=W+124|0;Q=W+120|0;u=W+116|0;o=W+112|0;R=W+108|0;p=W+104|0;M=W+100|0;v=W+96|0;S=W+92|0;T=W+88|0;C=W+84|0;q=W+80|0;U=W+76|0;D=W+72|0;P=W+68|0;N=W+64|0;O=W+60|0;r=W+128|0;s=W+56|0;w=W+52|0;x=W+48|0;y=W+44|0;z=W+40|0;E=W+36|0;A=W+32|0;F=W+28|0;G=W+24|0;H=W+20|0;I=W+16|0;J=W+12|0;B=W+8|0;K=W+4|0;L=W;c[V>>2]=b;c[Q>>2]=f;c[u>>2]=g;c[o>>2]=h;c[R>>2]=i;c[p>>2]=j;c[M>>2]=k;c[v>>2]=m;c[S>>2]=n;c[T>>2]=c[(c[V>>2]|0)+8>>2];c[D>>2]=d[c[M>>2]>>0];c[P>>2]=c[(c[M>>2]|0)+8>>2];c[O>>2]=0;if(c[p>>2]|0)b=d[(c[p>>2]|0)+1>>0]|0;else b=0;c[q>>2]=b;if(c[R>>2]|0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[q>>2]|0)!=0))_E(c[T>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[v>>2]|0);c[N>>2]=c[c[u>>2]>>2];if(c[(c[M>>2]|0)+12>>2]|0){if(((c[(c[M>>2]|0)+12>>2]|0)+(c[N>>2]|0)|0)>(c[(c[V>>2]|0)+44>>2]|0)){b=c[N>>2]|0;f=c[V>>2]|0;t=16}}else{if(c[R>>2]|0){c[O>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[O>>2]=(c[O>>2]|0)+1;t=(c[V>>2]|0)+44|0;c[t>>2]=(c[t>>2]|0)+(c[O>>2]|0)}c[(c[M>>2]|0)+12>>2]=(c[(c[V>>2]|0)+44>>2]|0)+1;b=c[N>>2]|0;f=c[V>>2]|0;t=16}if((t|0)==16){t=f+44|0;c[t>>2]=(c[t>>2]|0)+b}c[(c[M>>2]|0)+16>>2]=c[N>>2];c[U>>2]=c[(c[M>>2]|0)+12>>2];a:do if((c[o>>2]|0)<0){if((c[D>>2]|0)!=3){if((c[D>>2]|0)==10|(c[D>>2]|0)==9|(c[D>>2]|0)==13)a[r>>0]=1;else a[r>>0]=0;fz(c[V>>2]|0,c[u>>2]|0,c[U>>2]|0,0,a[r>>0]|0)|0}}else{c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[N>>2]|0))break a;Ru(c[T>>2]|0,96,c[o>>2]|0,c[C>>2]|0,(c[U>>2]|0)+(c[C>>2]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+1}}while(0);if(c[q>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[x>>2]=(c[(c[V>>2]|0)+44>>2]|0)+1;t=(c[V>>2]|0)+44|0;c[t>>2]=(c[t>>2]|0)+(c[N>>2]|0);Ry(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=uy(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=79;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[x>>2];c[w>>2]=(Pv(c[T>>2]|0)|0)+(c[N>>2]|0);c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[N>>2]|0))break;c[y>>2]=rw(c[V>>2]|0,c[(c[(c[u>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0)|0;b=c[T>>2]|0;f=(c[U>>2]|0)+(c[C>>2]|0)|0;if((c[C>>2]|0)<((c[N>>2]|0)-1|0))Ru(b,36,f,c[w>>2]|0,(c[x>>2]|0)+(c[C>>2]|0)|0)|0;else Ru(b,37,f,c[v>>2]|0,(c[x>>2]|0)+(c[C>>2]|0)|0)|0;Vu(c[T>>2]|0,-1,c[y>>2]|0,-4);jy(c[T>>2]|0,-128);c[C>>2]=(c[C>>2]|0)+1}Ru(c[T>>2]|0,84,c[U>>2]|0,c[x>>2]|0,(c[N>>2]|0)-1|0)|0;break}case 1:{Ry(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:$E(c[V>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[v>>2]|0,c[N>>2]|0,c[U>>2]|0)}if(!(c[R>>2]|0))_E(c[T>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[v>>2]|0)}b:do switch(c[D>>2]|0){case 1:{c[z>>2]=Ov(c[V>>2]|0)|0;Ru(c[T>>2]|0,99,c[U>>2]|0,c[N>>2]|0,c[z>>2]|0)|0;Qu(c[T>>2]|0,126,c[P>>2]|0,c[z>>2]|0)|0;Qv(c[V>>2]|0,c[z>>2]|0);break}case 2:{Ru(c[T>>2]|0,127,c[P>>2]|0,c[U>>2]|0,c[N>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[E>>2]=My(c[V>>2]|0,(c[O>>2]|0)+1|0)|0;Ru(c[T>>2]|0,99,c[U>>2]|0,c[N>>2]|0,(c[E>>2]|0)+(c[O>>2]|0)|0)|0;if((c[D>>2]|0)==6){c[A>>2]=(Pv(c[T>>2]|0)|0)+4;zy(c[T>>2]|0,31,(c[P>>2]|0)+1|0,c[A>>2]|0,c[E>>2]|0,0)|0;Qu(c[T>>2]|0,126,(c[P>>2]|0)+1|0,c[E>>2]|0)|0}b=c[V>>2]|0;if(c[R>>2]|0)eF(b,c[R>>2]|0,c[Q>>2]|0,(c[E>>2]|0)+(c[O>>2]|0)|0,c[U>>2]|0,1,c[O>>2]|0);else{c[F>>2]=Ov(b)|0;Qu(c[T>>2]|0,114,c[P>>2]|0,c[F>>2]|0)|0;Ru(c[T>>2]|0,115,c[P>>2]|0,c[E>>2]|0,c[F>>2]|0)|0;jy(c[T>>2]|0,8);Qv(c[V>>2]|0,c[F>>2]|0)}Py(c[V>>2]|0,c[E>>2]|0,(c[O>>2]|0)+1|0);break}case 11:{b=c[V>>2]|0;if(c[R>>2]|0){eF(b,c[R>>2]|0,c[Q>>2]|0,c[U>>2]|0,c[U>>2]|0,c[N>>2]|0,c[O>>2]|0);break b}else{c[G>>2]=Ov(b)|0;Uu(c[T>>2]|0,99,c[U>>2]|0,c[N>>2]|0,c[G>>2]|0,c[(c[M>>2]|0)+4>>2]|0,c[N>>2]|0)|0;$y(c[V>>2]|0,c[U>>2]|0,c[N>>2]|0);Qu(c[T>>2]|0,126,c[P>>2]|0,c[G>>2]|0)|0;Qv(c[V>>2]|0,c[G>>2]|0);break b}}case 3:{Qu(c[T>>2]|0,76,1,c[P>>2]|0)|0;break}case 10:{if(c[R>>2]|0)eF(c[V>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[U>>2]|0,c[U>>2]|0,c[N>>2]|0,c[O>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){eF(c[V>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[U>>2]|0,c[U>>2]|0,c[N>>2]|0,c[O>>2]|0);break b}b=c[T>>2]|0;if((c[D>>2]|0)==13){ey(b,16,c[(c[M>>2]|0)+8>>2]|0)|0;break b}else{Qu(b,87,c[U>>2]|0,c[N>>2]|0)|0;$y(c[V>>2]|0,c[U>>2]|0,c[N>>2]|0);break b}}case 7:case 8:{c[K>>2]=0;c[L>>2]=c[(c[M>>2]|0)+20>>2];c[H>>2]=c[c[L>>2]>>2];c[I>>2]=Ov(c[V>>2]|0)|0;c[J>>2]=My(c[V>>2]|0,(c[H>>2]|0)+2|0)|0;c[B>>2]=(c[J>>2]|0)+(c[H>>2]|0)+1;if((c[D>>2]|0)==8)c[K>>2]=zy(c[T>>2]|0,31,(c[P>>2]|0)+1|0,0,c[U>>2]|0,c[N>>2]|0)|0;Ru(c[T>>2]|0,99,c[U>>2]|0,c[N>>2]|0,c[B>>2]|0)|0;if((c[D>>2]|0)==8){Qu(c[T>>2]|0,126,(c[P>>2]|0)+1|0,c[B>>2]|0)|0;jy(c[T>>2]|0,16)}c[C>>2]=0;while(1){b=c[T>>2]|0;if((c[C>>2]|0)>=(c[H>>2]|0))break;Qu(b,85,(c[U>>2]|0)+(e[(c[(c[L>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]|0)-1|0,(c[J>>2]|0)+(c[C>>2]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+1}Qu(b,113,c[P>>2]|0,(c[J>>2]|0)+(c[H>>2]|0)|0)|0;Ru(c[T>>2]|0,99,c[J>>2]|0,(c[H>>2]|0)+2|0,c[I>>2]|0)|0;Qu(c[T>>2]|0,126,c[P>>2]|0,c[I>>2]|0)|0;if(c[K>>2]|0)ny(c[T>>2]|0,c[K>>2]|0);Qv(c[V>>2]|0,c[I>>2]|0);Py(c[V>>2]|0,c[J>>2]|0,(c[H>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){l=W;return}if(!(c[(c[Q>>2]|0)+12>>2]|0)){l=W;return}Qu(c[T>>2]|0,68,c[(c[Q>>2]|0)+12>>2]|0,c[S>>2]|0)|0;l=W;return}function ME(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=h;return}c[f>>2]=c[(c[e>>2]|0)+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[e>>2]>>2]|0))break;NE(c[d>>2]|0,c[c[f>>2]>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+20}l=h;return}function NE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=211;c[f+8>>2]=212;c[f+24>>2]=c[g>>2];Kw(f,c[e>>2]|0)|0;l=d;return}function OE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+409>>0]|0|0)!=2){l=j;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[i>>2]=c[f>>2];c[h>>2]=Wj(b,35245,i)|0;Uu(c[g>>2]|0,162,c[(c[e>>2]|0)+420>>2]|0,0,0,c[h>>2]|0,-1)|0;l=j;return}function PE(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+44>>0]|0|0}function QE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;j=f+4|0;g=f;c[i>>2]=a;c[h>>2]=b;c[j>>2]=d;c[g>>2]=e;Ru(c[(c[i>>2]|0)+8>>2]|0,83,c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;Qy(c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return} +function Rt(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=l;l=l+256|0;q=oa;ka=oa+244|0;la=oa+240|0;ma=oa+236|0;na=oa+232|0;V=oa+228|0;X=oa+224|0;B=oa+220|0;Y=oa+216|0;Z=oa+212|0;r=oa+208|0;_=oa+204|0;$=oa+200|0;aa=oa+196|0;s=oa+192|0;t=oa+188|0;ba=oa+184|0;ca=oa+180|0;da=oa+176|0;K=oa+172|0;ea=oa+168|0;fa=oa+164|0;y=oa+254|0;C=oa+253|0;L=oa+252|0;z=oa+160|0;ga=oa+152|0;k=oa+120|0;m=oa+112|0;M=oa+108|0;N=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;O=oa+88|0;D=oa+84|0;E=oa+80|0;ia=oa+76|0;P=oa+72|0;u=oa+64|0;ja=oa+56|0;Q=oa+52|0;R=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;S=oa+32|0;n=oa+28|0;o=oa+24|0;p=oa+250|0;v=oa+20|0;w=oa+248|0;x=oa+16|0;G=oa+12|0;T=oa+8|0;U=oa+4|0;c[ka>>2]=f;c[la>>2]=g;c[ma>>2]=h;c[na>>2]=i;c[V>>2]=j;c[Z>>2]=0;c[K>>2]=0;c[ea>>2]=0;c[z>>2]=0;c[ia>>2]=0;c[P>>2]=0;c[ja>>2]=0;c[Q>>2]=0;c[R>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[S>>2]=0;c[ga>>2]=0;c[ga+4>>2]=0;c[da>>2]=c[c[ka>>2]>>2];a:do if(((((c[(c[ka>>2]|0)+36>>2]|0)==0?(d[(c[da>>2]|0)+69>>0]|0)==0:0)?(c[Y>>2]=bA(c[ka>>2]|0,c[la>>2]|0)|0,c[Y>>2]|0):0)?(c[m>>2]=Hu(c[c[ka>>2]>>2]|0,c[(c[Y>>2]|0)+64>>2]|0)|0,c[O>>2]=gB(c[ka>>2]|0,c[Y>>2]|0,110,c[ma>>2]|0,D)|0,c[H>>2]=(c[(c[Y>>2]|0)+12>>2]|0)!=0&1,(ew(c[ka>>2]|0,c[Y>>2]|0)|0)==0):0)?(hB(c[ka>>2]|0,c[Y>>2]|0,c[D>>2]|0)|0)==0:0){i=(c[ka>>2]|0)+40|0;j=c[i>>2]|0;c[i>>2]=j+1;c[ba>>2]=j;c[t>>2]=j;c[(c[la>>2]|0)+8+44>>2]=j;c[ca>>2]=(c[ba>>2]|0)+1;if(!(d[(c[Y>>2]|0)+42>>0]&32))f=0;else f=uv(c[Y>>2]|0)|0;c[aa>>2]=f;c[s>>2]=0;c[$>>2]=c[(c[Y>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break;if(c[aa>>2]|0?(a[(c[$>>2]|0)+55>>0]&3|0)==2:0){c[ba>>2]=c[(c[ka>>2]|0)+40>>2];c[(c[la>>2]|0)+8+44>>2]=c[ba>>2]}j=(c[ka>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+1;c[$>>2]=c[(c[$>>2]|0)+20>>2];c[s>>2]=(c[s>>2]|0)+1}c[ea>>2]=Ed(c[da>>2]|0,((b[(c[Y>>2]|0)+34>>1]|0)+(c[s>>2]|0)<<2)+(c[s>>2]|0)+2|0,0)|0;if(c[ea>>2]|0){c[K>>2]=(c[ea>>2]|0)+(b[(c[Y>>2]|0)+34>>1]<<2);c[fa>>2]=(c[K>>2]|0)+(c[s>>2]<<2);m0(c[fa>>2]|0,1,(c[s>>2]|0)+1|0)|0;a[(c[fa>>2]|0)+((c[s>>2]|0)+1)>>0]=0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break;c[(c[ea>>2]|0)+(c[X>>2]<<2)>>2]=-1;c[X>>2]=(c[X>>2]|0)+1}c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=c[ka>>2];c[k+4>>2]=c[la>>2];a[y>>0]=0;a[C>>0]=0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[c[ma>>2]>>2]|0))break;if(Ow(k,c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0)break a;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break;j=(bh(c[(c[(c[Y>>2]|0)+4>>2]|0)+(c[B>>2]<<4)>>2]|0,c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+4>>2]|0)|0)==0;f=c[B>>2]|0;if(j){J=23;break}c[B>>2]=f+1}if((J|0)==23){J=0;if((f|0)!=(b[(c[Y>>2]|0)+32>>1]|0)){if(c[aa>>2]|0?d[(c[(c[Y>>2]|0)+4>>2]|0)+(c[B>>2]<<4)+15>>0]&1|0:0)a[y>>0]=1}else{a[C>>0]=1;c[z>>2]=c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]}c[(c[ea>>2]|0)+(c[B>>2]<<2)>>2]=c[X>>2]}if((c[B>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0)){if(c[aa>>2]|0){J=34;break}if(!(wx(c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[B>>2]=-1;a[C>>0]=1;c[z>>2]=c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]}if((c[B>>2]|0)<0)f=29445;else f=c[(c[(c[Y>>2]|0)+4>>2]|0)+(c[B>>2]<<4)>>2]|0;c[n>>2]=Iu(c[ka>>2]|0,23,c[c[Y>>2]>>2]|0,f,c[(c[(c[da>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1)break a;if((c[n>>2]|0)==2)c[(c[ea>>2]|0)+(c[B>>2]<<2)>>2]=-1;c[X>>2]=(c[X>>2]|0)+1}if((J|0)==34){ja=c[ka>>2]|0;c[q>>2]=c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+4>>2];sl(ja,34753,q);a[(c[ka>>2]|0)+17>>0]=1;break}a[L>>0]=(d[C>>0]|0)+(d[y>>0]|0);n=(d[(c[Y>>2]|0)+42>>0]&16|0)!=0;q=(c[la>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[N>>2]=zD(c[ka>>2]|0,c[Y>>2]|0,c[ea>>2]|0,d[L>>0]|0)|0;c[B>>2]=0;c[$>>2]=c[(c[Y>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break;b:do if((!((d[L>>0]|0)!=0|(c[N>>2]|0)!=0)?!(c[(c[$>>2]|0)+36>>2]|0):0)?(c[$>>2]|0)!=(c[aa>>2]|0):0){c[o>>2]=0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[(c[$>>2]|0)+50>>1]|0))break b;b[p>>1]=b[(c[(c[$>>2]|0)+4>>2]|0)+(c[X>>2]<<1)>>1]|0;if((b[p>>1]|0)<0)break;if((c[(c[ea>>2]|0)+(b[p>>1]<<2)>>2]|0)>=0)break;c[X>>2]=(c[X>>2]|0)+1}n=(c[ka>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[ka>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[fa>>2]|0)+((c[B>>2]|0)+1)>>0]=0;c[(c[K>>2]|0)+(c[B>>2]<<2)>>2]=c[o>>2];c[$>>2]=c[(c[$>>2]|0)+20>>2];c[B>>2]=(c[B>>2]|0)+1}c[_>>2]=Lu(c[ka>>2]|0)|0;if(c[_>>2]|0){if(!(d[(c[ka>>2]|0)+18>>0]|0))iB(c[_>>2]|0);cv(c[ka>>2]|0,1,c[m>>2]|0);if(!(d[(c[Y>>2]|0)+42>>0]&16)){q=(c[ka>>2]|0)+44|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[A>>2]=p;p=(c[ka>>2]|0)+44|0;q=(c[p>>2]|0)+1|0;c[p>>2]=q;c[R>>2]=q;c[Q>>2]=q;if((d[y>>0]|0)!=0|(c[O>>2]|0)!=0|(c[N>>2]|0)!=0){c[F>>2]=(c[(c[ka>>2]|0)+44>>2]|0)+1;q=(c[ka>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[Y>>2]|0)+34>>1]|0)}if((d[L>>0]|0)!=0|(c[O>>2]|0)!=0|(c[N>>2]|0)!=0){p=(c[ka>>2]|0)+44|0;q=(c[p>>2]|0)+1|0;c[p>>2]=q;c[R>>2]=q}c[I>>2]=(c[(c[ka>>2]|0)+44>>2]|0)+1;q=(c[ka>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[Y>>2]|0)+34>>1]|0)}if(c[H>>2]|0)rE(c[ka>>2]|0,ga,c[c[Y>>2]>>2]|0);if(c[H>>2]|0)sE(c[ka>>2]|0,c[Y>>2]|0,c[na>>2]|0,c[ba>>2]|0);if(!(Ow(k,c[na>>2]|0)|0)){if(d[(c[Y>>2]|0)+42>>0]&16|0){tE(c[ka>>2]|0,c[la>>2]|0,c[Y>>2]|0,c[ma>>2]|0,c[z>>2]|0,c[ea>>2]|0,c[na>>2]|0,c[V>>2]|0);break}if(!(d[(c[Y>>2]|0)+42>>0]&32)){Ru(c[_>>2]|0,79,0,c[A>>2]|0,c[Q>>2]|0)|0;c[r>>2]=FB(c[ka>>2]|0,c[la>>2]|0,c[na>>2]|0,0,0,1028,c[ca>>2]|0)|0;if(!(c[r>>2]|0))break;c[M>>2]=uE(c[r>>2]|0,u)|0;Qu(c[_>>2]|0,123,c[ba>>2]|0,c[Q>>2]|0)|0;if(!(c[M>>2]|0))Qu(c[_>>2]|0,142,c[A>>2]|0,c[Q>>2]|0)|0;GB(c[r>>2]|0)}else{b[w>>1]=b[(c[aa>>2]|0)+50>>1]|0;c[v>>2]=(c[(c[ka>>2]|0)+44>>2]|0)+1;q=(c[ka>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[ka>>2]|0)+44|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[S>>2]=p;p=(c[ka>>2]|0)+40|0;q=c[p>>2]|0;c[p>>2]=q+1;c[ia>>2]=q;Qu(c[_>>2]|0,79,0,c[v>>2]|0)|0;c[x>>2]=Qu(c[_>>2]|0,107,c[ia>>2]|0,b[w>>1]|0)|0;iy(c[ka>>2]|0,c[aa>>2]|0);c[r>>2]=FB(c[ka>>2]|0,c[la>>2]|0,c[na>>2]|0,0,0,4,c[ca>>2]|0)|0;if(!(c[r>>2]|0))break;c[M>>2]=uE(c[r>>2]|0,u)|0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[w>>1]|0))break;Ty(c[_>>2]|0,c[Y>>2]|0,c[ba>>2]|0,b[(c[(c[aa>>2]|0)+4>>2]|0)+(c[X>>2]<<1)>>1]|0,(c[v>>2]|0)+(c[X>>2]|0)|0);c[X>>2]=(c[X>>2]|0)+1}f=c[_>>2]|0;if(c[M>>2]|0){Ry(f,c[x>>2]|0)|0;c[P>>2]=b[w>>1];c[S>>2]=c[v>>2]}else{p=c[v>>2]|0;q=b[w>>1]|0;v=c[S>>2]|0;x=CA(c[da>>2]|0,c[aa>>2]|0)|0;Uu(f,99,p,q,v,x,b[w>>1]|0)|0;Qu(c[_>>2]|0,126,c[ia>>2]|0,c[S>>2]|0)|0}GB(c[r>>2]|0)}if(c[(c[da>>2]|0)+24>>2]&128|0?(c[(c[ka>>2]|0)+128>>2]|0)==0:0){w=(c[ka>>2]|0)+44|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[ja>>2]=x;Qu(c[_>>2]|0,76,0,c[ja>>2]|0)|0}c[ha>>2]=ky(c[_>>2]|0)|0;if(!(c[H>>2]|0)){c:do if((c[V>>2]|0)==5)m0(c[fa>>2]|0,1,(c[s>>2]|0)+1|0)|0;else{c[$>>2]=c[(c[Y>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break c;if((d[(c[$>>2]|0)+54>>0]|0)==5)break;c[$>>2]=c[(c[$>>2]|0)+20>>2]}m0(c[fa>>2]|0,1,(c[s>>2]|0)+1|0)|0}while(0);do if(c[M>>2]|0){if((c[u>>2]|0)>=0)a[(c[fa>>2]|0)+((c[u>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[u+4>>2]|0)<0)break;a[(c[fa>>2]|0)+((c[u+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);FA(c[ka>>2]|0,c[Y>>2]|0,105,0,c[t>>2]|0,c[fa>>2]|0,0,0)|0}do if(!(c[M>>2]|0)){f=c[_>>2]|0;if(c[aa>>2]|0){c[W>>2]=ky(f)|0;Qu(c[_>>2]|0,57,c[ia>>2]|0,c[ha>>2]|0)|0;c[Z>>2]=Qu(c[_>>2]|0,121,c[ia>>2]|0,c[S>>2]|0)|0;zy(c[_>>2]|0,30,c[ba>>2]|0,c[W>>2]|0,c[S>>2]|0,0)|0;break}else{c[W>>2]=Ru(f,62,c[A>>2]|0,c[ha>>2]|0,c[Q>>2]|0)|0;Ru(c[_>>2]|0,33,c[ba>>2]|0,c[W>>2]|0,c[Q>>2]|0)|0;break}}else{if(!(c[H>>2]|0?1:(d[(c[fa>>2]|0)+((c[ba>>2]|0)-(c[t>>2]|0))>>0]|0)==0))zy(c[_>>2]|0,30,c[ba>>2]|0,c[ha>>2]|0,c[S>>2]|0,c[P>>2]|0)|0;c[W>>2]=c[ha>>2];Qu(c[_>>2]|0,34,c[aa>>2]|0?c[S>>2]|0:c[Q>>2]|0,c[ha>>2]|0)|0}while(0);if(a[C>>0]|0){Wy(c[ka>>2]|0,c[z>>2]|0,c[R>>2]|0);ey(c[_>>2]|0,17,c[R>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[N>>2]|0)!=0|(c[O>>2]|0)!=0){if(c[N>>2]|0)f=ED(c[ka>>2]|0,c[Y>>2]|0)|0;else f=0;c[G>>2]=f;A=DD(c[ka>>2]|0,c[O>>2]|0,c[ma>>2]|0,0,3,c[Y>>2]|0,c[V>>2]|0)|0;c[G>>2]=c[G>>2]|A;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break;do if((c[G>>2]|0)==-1)J=120;else{if((c[X>>2]|0)<32?c[G>>2]&1<>2]|0:0){J=120;break}if(d[(c[(c[Y>>2]|0)+4>>2]|0)+(c[X>>2]<<4)+15>>0]&1|0){J=120;break}Qu(c[_>>2]|0,79,0,(c[F>>2]|0)+(c[X>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;Ty(c[_>>2]|0,c[Y>>2]|0,c[ba>>2]|0,c[X>>2]|0,(c[F>>2]|0)+(c[X>>2]|0)|0)}c[X>>2]=(c[X>>2]|0)+1}if(!((d[C>>0]|0)==0&(c[aa>>2]|0)==0))break;Qu(c[_>>2]|0,84,c[Q>>2]|0,c[R>>2]|0)|0}while(0);c[E>>2]=DD(c[ka>>2]|0,c[O>>2]|0,c[ma>>2]|0,1,1,c[Y>>2]|0,c[V>>2]|0)|0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break;d:do if((c[X>>2]|0)==(b[(c[Y>>2]|0)+32>>1]|0))Qu(c[_>>2]|0,79,0,(c[I>>2]|0)+(c[X>>2]|0)|0)|0;else{c[B>>2]=c[(c[ea>>2]|0)+(c[X>>2]<<2)>>2];if((c[B>>2]|0)>=0){Wy(c[ka>>2]|0,c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[X>>2]|0)|0);break}do if(!((c[X>>2]|0)>31?1:0==(c[D>>2]&1|0))){if(c[E>>2]&1<>2]|0)break;Qu(c[_>>2]|0,79,0,(c[I>>2]|0)+(c[X>>2]|0)|0)|0;break d}while(0);kC(c[ka>>2]|0,c[Y>>2]|0,c[X>>2]|0,c[ba>>2]|0,(c[I>>2]|0)+(c[X>>2]|0)|0)}while(0);c[X>>2]=(c[X>>2]|0)+1}e:do if(c[D>>2]&1|0){oB(c[_>>2]|0,c[Y>>2]|0,c[I>>2]|0);pB(c[ka>>2]|0,c[O>>2]|0,110,c[ma>>2]|0,1,c[Y>>2]|0,c[Q>>2]|0,c[V>>2]|0,c[W>>2]|0);f=c[_>>2]|0;g=c[ba>>2]|0;h=c[W>>2]|0;if(c[aa>>2]|0)zy(f,30,g,h,c[S>>2]|0,c[P>>2]|0)|0;else Ru(f,33,g,h,c[Q>>2]|0)|0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break e;do if((c[(c[ea>>2]|0)+(c[X>>2]<<2)>>2]|0)<0){if((c[X>>2]|0)==(b[(c[Y>>2]|0)+32>>1]|0))break;Ty(c[_>>2]|0,c[Y>>2]|0,c[ba>>2]|0,c[X>>2]|0,(c[I>>2]|0)+(c[X>>2]|0)|0)}while(0);c[X>>2]=(c[X>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[T>>2]=0;c[U>>2]=0;tB(c[ka>>2]|0,c[Y>>2]|0,c[K>>2]|0,c[ba>>2]|0,c[ca>>2]|0,c[R>>2]|0,c[Q>>2]|0,a[L>>0]|0,c[V>>2]&255,c[W>>2]|0,U,c[ea>>2]|0);if(c[N>>2]|0)uB(c[ka>>2]|0,c[Y>>2]|0,c[Q>>2]|0,0,c[ea>>2]|0,d[L>>0]|0);if(!(!(c[U>>2]|0)?!(d[L>>0]|0):0))J=151;do if((J|0)==151){f=c[_>>2]|0;g=c[ba>>2]|0;if(c[aa>>2]|0){c[T>>2]=zy(f,30,g,0,c[S>>2]|0,c[P>>2]|0)|0;break}else{c[T>>2]=Ru(f,33,g,0,c[Q>>2]|0)|0;break}}while(0);CD(c[ka>>2]|0,c[Y>>2]|0,c[ba>>2]|0,c[ca>>2]|0,c[K>>2]|0,-1);if(!(!(c[N>>2]|0)?!((d[L>>0]|0)!=0|(c[aa>>2]|0)!=0):0))Qu(c[_>>2]|0,117,c[ba>>2]|0,0)|0;if(!(!(c[U>>2]|0)?!(d[L>>0]|0):0))ny(c[_>>2]|0,c[T>>2]|0);if(c[N>>2]|0)uB(c[ka>>2]|0,c[Y>>2]|0,0,c[R>>2]|0,c[ea>>2]|0,d[L>>0]|0);vB(c[ka>>2]|0,c[Y>>2]|0,c[ba>>2]|0,c[ca>>2]|0,c[R>>2]|0,c[K>>2]|0,1,0,0);if(!(c[N>>2]|0))break;FD(c[ka>>2]|0,c[Y>>2]|0,c[ma>>2]|0,c[Q>>2]|0,c[ea>>2]|0,d[L>>0]|0)}while(0);do if(c[(c[da>>2]|0)+24>>2]&128|0){if(c[(c[ka>>2]|0)+128>>2]|0)break;Qu(c[_>>2]|0,91,c[ja>>2]|0,1)|0}while(0);pB(c[ka>>2]|0,c[O>>2]|0,110,c[ma>>2]|0,2,c[Y>>2]|0,c[Q>>2]|0,c[V>>2]|0,c[W>>2]|0);do if(!(c[M>>2]|0)){g=c[_>>2]|0;f=c[W>>2]|0;if(c[aa>>2]|0){oy(g,f);Qu(c[_>>2]|0,7,c[ia>>2]|0,c[Z>>2]|0)|0;break}else{my(g,f)|0;break}}while(0);oy(c[_>>2]|0,c[ha>>2]|0);c[X>>2]=0;c[$>>2]=c[(c[Y>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break;if(a[(c[fa>>2]|0)+((c[X>>2]|0)+1)>>0]|0)Qu(c[_>>2]|0,111,(c[ca>>2]|0)+(c[X>>2]|0)|0,0)|0;c[$>>2]=c[(c[$>>2]|0)+20>>2];c[X>>2]=(c[X>>2]|0)+1}if((c[ba>>2]|0)<(c[ca>>2]|0))Qu(c[_>>2]|0,111,c[ba>>2]|0,0)|0;do if(!(d[(c[ka>>2]|0)+18>>0]|0)){if(c[(c[ka>>2]|0)+128>>2]|0)break;wB(c[ka>>2]|0)}while(0);if(!(c[(c[da>>2]|0)+24>>2]&128))break;if(c[(c[ka>>2]|0)+128>>2]|0)break;if(a[(c[ka>>2]|0)+18>>0]|0)break;Qu(c[_>>2]|0,87,c[ja>>2]|0,1)|0;Rs(c[_>>2]|0,1);Ss(c[_>>2]|0,0,0,34772,0)|0}}}}while(0);vE(ga);Xd(c[da>>2]|0,c[ea>>2]|0);Rk(c[da>>2]|0,c[la>>2]|0);Kk(c[da>>2]|0,c[ma>>2]|0);Ok(c[da>>2]|0,c[na>>2]|0);l=oa;return}function St(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;j=r+40|0;k=r+36|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[c[j>>2]>>2];if(c[k>>2]|0)a=c[c[k>>2]>>2]|0;else a=0;c[h>>2]=a;do if(!((c[m>>2]|0)==0|(c[n>>2]|0)==0)){c[p>>2]=rx(c[n>>2]|0)|0;if((c[(c[m>>2]|0)+4>>2]|0)!=(c[p>>2]|0)){j=c[j>>2]|0;p=c[p>>2]|0;c[q>>2]=c[(c[m>>2]|0)+4>>2];c[q+4>>2]=p;sl(j,34723,q);break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[p>>2]|0))break;c[i>>2]=qD(c[j>>2]|0,c[n>>2]|0,c[g>>2]|0)|0;c[k>>2]=Et(c[j>>2]|0,c[k>>2]|0,c[i>>2]|0)|0;if(c[k>>2]|0){c[(c[(c[k>>2]|0)+4>>2]|0)+(((c[c[k>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[c[m>>2]>>2]|0)+(c[g>>2]<<3)>>2];c[(c[c[m>>2]>>2]|0)+(c[g>>2]<<3)>>2]=0}c[g>>2]=(c[g>>2]|0)+1}if((c[k>>2]|0?(d[c[n>>2]>>0]|0|0)==119:0)?c[(c[(c[k>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0:0){c[(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)+16>>2]=c[n>>2];c[n>>2]=0}}while(0);Ok(c[o>>2]|0,c[n>>2]|0);Tk(c[o>>2]|0,c[m>>2]|0);l=r;return c[k>>2]|0}function Tt(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=l;l=l+304|0;D=oa+32|0;C=oa+16|0;B=oa;fa=oa+284|0;ka=oa+280|0;la=oa+276|0;ma=oa+272|0;na=oa+268|0;F=oa+264|0;G=oa+260|0;j=oa+256|0;H=oa+252|0;I=oa+248|0;J=oa+244|0;K=oa+240|0;L=oa+236|0;M=oa+232|0;N=oa+228|0;O=oa+224|0;P=oa+220|0;Q=oa+216|0;R=oa+212|0;S=oa+208|0;T=oa+204|0;U=oa+200|0;k=oa+176|0;m=oa+172|0;V=oa+291|0;W=oa+290|0;n=oa+289|0;o=oa+288|0;X=oa+168|0;Y=oa+164|0;Z=oa+160|0;_=oa+156|0;$=oa+152|0;aa=oa+148|0;ba=oa+144|0;ca=oa+140|0;da=oa+136|0;ea=oa+132|0;p=oa+128|0;q=oa+124|0;r=oa+120|0;s=oa+116|0;t=oa+112|0;u=oa+108|0;v=oa+104|0;w=oa+72|0;x=oa+68|0;y=oa+64|0;z=oa+60|0;A=oa+56|0;ga=oa+52|0;ha=oa+48|0;ia=oa+44|0;ja=oa+40|0;c[fa>>2]=e;c[ka>>2]=f;c[la>>2]=g;c[ma>>2]=h;c[na>>2]=i;c[N>>2]=0;c[O>>2]=0;c[P>>2]=0;c[Q>>2]=-1;c[S>>2]=0;c[T>>2]=0;c[U>>2]=0;a[V>>0]=0;a[W>>0]=0;c[X>>2]=0;c[Y>>2]=0;c[Z>>2]=0;c[_>>2]=0;c[ca>>2]=0;c[F>>2]=c[c[fa>>2]>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;a:do if((c[(c[fa>>2]|0)+36>>2]|0)==0?(d[(c[F>>2]|0)+69>>0]|0)==0:0){if((c[la>>2]|0?c[(c[la>>2]|0)+8>>2]&512|0:0)?(c[(c[la>>2]|0)+48>>2]|0)==0:0){c[X>>2]=c[c[la>>2]>>2];c[c[la>>2]>>2]=0;Jk(c[F>>2]|0,c[la>>2]|0);c[la>>2]=0}c[j>>2]=c[(c[ka>>2]|0)+8+8>>2];if(((((c[j>>2]|0?(c[G>>2]=bA(c[fa>>2]|0,c[ka>>2]|0)|0,c[G>>2]|0):0)?(c[m>>2]=Hu(c[F>>2]|0,c[(c[G>>2]|0)+64>>2]|0)|0,(Iu(c[fa>>2]|0,18,c[c[G>>2]>>2]|0,0,c[(c[(c[F>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)==0):0)?(a[n>>0]=((d[(c[G>>2]|0)+42>>0]&32|0)==0^1)&1,c[ea>>2]=gB(c[fa>>2]|0,c[G>>2]|0,108,0,p)|0,c[da>>2]=(c[(c[G>>2]|0)+12>>2]|0)!=0&1,(ew(c[fa>>2]|0,c[G>>2]|0)|0)==0):0)?(hB(c[fa>>2]|0,c[G>>2]|0,c[p>>2]|0)|0)==0:0)?(c[K>>2]=Lu(c[fa>>2]|0)|0,c[K>>2]|0):0){if(!(d[(c[fa>>2]|0)+18>>0]|0))iB(c[K>>2]|0);cv(c[fa>>2]|0,(c[la>>2]|0?1:(c[ea>>2]|0)!=0)&1,c[m>>2]|0);if(!((c[ma>>2]|0)==0?(jB(c[fa>>2]|0,c[G>>2]|0,c[la>>2]|0,c[na>>2]|0,c[m>>2]|0)|0)!=0:0))E=17;b:do if((E|0)==17){c[Z>>2]=kB(c[fa>>2]|0,c[m>>2]|0,c[G>>2]|0)|0;i=(c[(c[fa>>2]|0)+44>>2]|0)+1|0;c[$>>2]=i;c[aa>>2]=i;i=(c[fa>>2]|0)+44|0;c[i>>2]=(c[i>>2]|0)+((b[(c[G>>2]|0)+34>>1]|0)+1);if(d[(c[G>>2]|0)+42>>0]&16|0){c[aa>>2]=(c[aa>>2]|0)+1;i=(c[fa>>2]|0)+44|0;c[i>>2]=(c[i>>2]|0)+1}c[ba>>2]=(c[aa>>2]|0)+1;a[o>>0]=(d[(c[G>>2]|0)+42>>0]&128|0)==0;c:do if(c[ma>>2]|0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0))break;c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)+4>>2]=-1;c[H>>2]=(c[H>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0))break c;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break;i=(bh(c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+(c[I>>2]<<4)>>2]|0)|0)==0;e=c[I>>2]|0;if(i){E=28;break}c[I>>2]=e+1}do if((E|0)==28){E=0;c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)+4>>2]=e;if((c[H>>2]|0)!=(c[I>>2]|0))a[o>>0]=0;if((c[I>>2]|0)!=(b[(c[G>>2]|0)+32>>1]|0))break;c[Q>>2]=c[H>>2]}while(0);if((c[I>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0)){i=(wx(c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)>>2]|0)|0)==0;if(i|(a[n>>0]|0)!=0)break;c[Q>>2]=c[H>>2];a[o>>0]=0}c[H>>2]=(c[H>>2]|0)+1}na=c[fa>>2]|0;ja=c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)>>2]|0;c[B>>2]=c[ka>>2];c[B+4>>2]=0;c[B+8>>2]=ja;sl(na,33877,B);a[(c[fa>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[la>>2]|0)){c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[w+24>>2]=0;c[w+28>>2]=0;c[w>>2]=c[fa>>2];c[S>>2]=-1;if(c[X>>2]|0){c[M>>2]=c[c[X>>2]>>2];if(Pw(w,c[X>>2]|0)|0)break a;else break}else{c[M>>2]=0;break}}else{w=(c[fa>>2]|0)+44|0;B=(c[w>>2]|0)+1|0;c[w>>2]=B;c[q>>2]=B;c[r>>2]=(Pv(c[K>>2]|0)|0)+1;Ru(c[K>>2]|0,15,c[q>>2]|0,0,c[r>>2]|0)|0;Az(k,13,c[q>>2]|0);c[k+12>>2]=d[o>>0]|0?c[ba>>2]|0:0;c[k+16>>2]=b[(c[G>>2]|0)+34>>1];c[s>>2]=At(c[fa>>2]|0,c[la>>2]|0,k)|0;c[Y>>2]=c[k+12>>2];if(c[s>>2]|0)break a;if(d[(c[F>>2]|0)+69>>0]|0)break a;if(c[(c[fa>>2]|0)+36>>2]|0)break a;lB(c[K>>2]|0,c[q>>2]|0);ny(c[K>>2]|0,(c[r>>2]|0)-1|0);c[M>>2]=c[c[c[la>>2]>>2]>>2];if(!(!(c[ea>>2]|0)?!(mB(c[fa>>2]|0,c[m>>2]|0,c[G>>2]|0)|0):0))a[V>>0]=1;if(!(a[V>>0]|0))break;w=(c[fa>>2]|0)+40|0;B=c[w>>2]|0;c[w>>2]=B+1;c[S>>2]=B;c[t>>2]=Ov(c[fa>>2]|0)|0;c[u>>2]=Ov(c[fa>>2]|0)|0;Qu(c[K>>2]|0,107,c[S>>2]|0,c[M>>2]|0)|0;c[v>>2]=ey(c[K>>2]|0,16,c[k+8>>2]|0)|0;Ru(c[K>>2]|0,99,c[Y>>2]|0,c[M>>2]|0,c[t>>2]|0)|0;Qu(c[K>>2]|0,114,c[S>>2]|0,c[u>>2]|0)|0;Ru(c[K>>2]|0,115,c[S>>2]|0,c[t>>2]|0,c[u>>2]|0)|0;my(c[K>>2]|0,c[v>>2]|0)|0;ny(c[K>>2]|0,c[v>>2]|0);Qv(c[fa>>2]|0,c[t>>2]|0);Qv(c[fa>>2]|0,c[u>>2]|0)}while(0);if((c[ma>>2]|0)==0&(c[M>>2]|0)>0)c[Q>>2]=b[(c[G>>2]|0)+32>>1];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break;c[N>>2]=(c[N>>2]|0)+(d[(c[(c[G>>2]|0)+4>>2]|0)+(c[H>>2]<<4)+15>>0]&2|0?1:0);c[H>>2]=(c[H>>2]|0)+1}if((c[ma>>2]|0)==0&(c[M>>2]|0)!=0?(c[M>>2]|0)!=((b[(c[G>>2]|0)+34>>1]|0)-(c[N>>2]|0)|0):0){na=c[fa>>2]|0;ia=(b[(c[G>>2]|0)+34>>1]|0)-(c[N>>2]|0)|0;ja=c[M>>2]|0;c[C>>2]=c[ka>>2];c[C+4>>2]=0;c[C+8>>2]=ia;c[C+12>>2]=ja;sl(na,33909,C);break a}do if(c[ma>>2]|0){if((c[M>>2]|0)==(c[(c[ma>>2]|0)+4>>2]|0))break;na=c[fa>>2]|0;ja=c[(c[ma>>2]|0)+4>>2]|0;c[D>>2]=c[M>>2];c[D+4>>2]=ja;sl(na,33961,D);break a}while(0);if(c[(c[F>>2]|0)+24>>2]&128|0){C=(c[fa>>2]|0)+44|0;D=(c[C>>2]|0)+1|0;c[C>>2]=D;c[_>>2]=D;Qu(c[K>>2]|0,76,0,c[_>>2]|0)|0}d:do if(!(c[da>>2]|0)){c[x>>2]=FA(c[fa>>2]|0,c[G>>2]|0,105,0,-1,0,O,P)|0;c[ca>>2]=Ed(c[F>>2]|0,(c[x>>2]|0)+1<<2,0)|0;if(!(c[ca>>2]|0))break a;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[x>>2]|0))break d;C=(c[fa>>2]|0)+44|0;D=(c[C>>2]|0)+1|0;c[C>>2]=D;c[(c[ca>>2]|0)+(c[H>>2]<<2)>>2]=D;c[H>>2]=(c[H>>2]|0)+1}}while(0);do if(a[V>>0]|0){c[T>>2]=ey(c[K>>2]|0,57,c[S>>2]|0)|0;c[U>>2]=Pv(c[K>>2]|0)|0}else{if(!(c[la>>2]|0))break;D=ey(c[K>>2]|0,16,c[k+8>>2]|0)|0;c[U>>2]=D;c[T>>2]=D}while(0);c[R>>2]=ky(c[K>>2]|0)|0;if(c[p>>2]&1|0){c[y>>2]=My(c[fa>>2]|0,(b[(c[G>>2]|0)+34>>1]|0)+1|0)|0;if((c[Q>>2]|0)<0)Qu(c[K>>2]|0,76,-1,c[y>>2]|0)|0;else{if(a[V>>0]|0)Ru(c[K>>2]|0,96,c[S>>2]|0,c[Q>>2]|0,c[y>>2]|0)|0;else Wy(c[fa>>2]|0,c[(c[(c[X>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)>>2]|0,c[y>>2]|0);c[z>>2]=ey(c[K>>2]|0,35,c[y>>2]|0)|0;Qu(c[K>>2]|0,76,-1,c[y>>2]|0)|0;ny(c[K>>2]|0,c[z>>2]|0);ey(c[K>>2]|0,17,c[y>>2]|0)|0}c[I>>2]=0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break;e:do if(c[ma>>2]|0){c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0))break e;if((c[(c[c[ma>>2]>>2]|0)+(c[I>>2]<<3)+4>>2]|0)==(c[H>>2]|0))break e;c[I>>2]=(c[I>>2]|0)+1}}while(0);do if((a[V>>0]|0)!=0|(c[X>>2]|0)!=0){if(c[ma>>2]|0?(c[I>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0):0){E=90;break}if(a[V>>0]|0){Ru(c[K>>2]|0,96,c[S>>2]|0,c[I>>2]|0,(c[y>>2]|0)+(c[H>>2]|0)+1|0)|0;break}else{nB(c[fa>>2]|0,c[(c[(c[X>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2]|0,(c[y>>2]|0)+(c[H>>2]|0)+1|0);break}}else E=90;while(0);if((E|0)==90){E=0;Wy(c[fa>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+(c[H>>2]<<4)+4>>2]|0,(c[y>>2]|0)+(c[H>>2]|0)+1|0)}if(!(c[ma>>2]|0))c[I>>2]=(c[I>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}if(!(c[da>>2]|0))oB(c[K>>2]|0,c[G>>2]|0,(c[y>>2]|0)+1|0);pB(c[fa>>2]|0,c[ea>>2]|0,108,0,1,c[G>>2]|0,(c[y>>2]|0)-(b[(c[G>>2]|0)+34>>1]|0)-1|0,c[na>>2]|0,c[R>>2]|0);Py(c[fa>>2]|0,c[y>>2]|0,(b[(c[G>>2]|0)+34>>1]|0)+1|0)}do if(!(c[da>>2]|0)){if(d[(c[G>>2]|0)+42>>0]&16|0)Qu(c[K>>2]|0,79,0,c[$>>2]|0)|0;f:do if((c[Q>>2]|0)>=0){do if(a[V>>0]|0)Ru(c[K>>2]|0,96,c[S>>2]|0,c[Q>>2]|0,c[aa>>2]|0)|0;else{if(c[la>>2]|0){Qu(c[K>>2]|0,84,(c[Y>>2]|0)+(c[Q>>2]|0)|0,c[aa>>2]|0)|0;break}Wy(c[fa>>2]|0,c[(c[(c[X>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)>>2]|0,c[aa>>2]|0);c[A>>2]=uy(c[K>>2]|0,-1)|0;if(!(c[A>>2]|0))break;if((d[c[A>>2]>>0]|0)!=79)break;if(d[(c[G>>2]|0)+42>>0]&16|0)break;a[W>>0]=1;a[c[A>>2]>>0]=114;c[(c[A>>2]|0)+4>>2]=c[O>>2];c[(c[A>>2]|0)+8>>2]=c[aa>>2];c[(c[A>>2]|0)+12>>2]=c[Z>>2]}while(0);if(a[W>>0]|0)break;e=c[K>>2]|0;if(d[(c[G>>2]|0)+42>>0]&16|0){c[ga>>2]=Pv(e)|0;Qu(c[K>>2]|0,34,c[aa>>2]|0,(c[ga>>2]|0)+2|0)|0}else{c[ga>>2]=ey(e,35,c[aa>>2]|0)|0;Ru(c[K>>2]|0,114,c[O>>2]|0,c[aa>>2]|0,c[Z>>2]|0)|0;ny(c[K>>2]|0,c[ga>>2]|0)}ey(c[K>>2]|0,17,c[aa>>2]|0)|0}else{do if(!(d[(c[G>>2]|0)+42>>0]&16)){if(d[n>>0]|0)break;Ru(c[K>>2]|0,114,c[O>>2]|0,c[aa>>2]|0,c[Z>>2]|0)|0;a[W>>0]=1;break f}while(0);Qu(c[K>>2]|0,79,0,c[aa>>2]|0)|0}while(0);qB(c[fa>>2]|0,c[Z>>2]|0,c[aa>>2]|0);c[N>>2]=0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break;c[ha>>2]=(c[aa>>2]|0)+1+(c[H>>2]|0);g:do if((c[H>>2]|0)==(b[(c[G>>2]|0)+32>>1]|0))ey(c[K>>2]|0,80,c[ha>>2]|0)|0;else{h:do if(!(c[ma>>2]|0))if(d[(c[(c[G>>2]|0)+4>>2]|0)+(c[H>>2]<<4)+15>>0]&2|0){c[I>>2]=-1;c[N>>2]=(c[N>>2]|0)+1;break}else{c[I>>2]=(c[H>>2]|0)-(c[N>>2]|0);break}else{c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0))break h;if((c[(c[c[ma>>2]>>2]|0)+(c[I>>2]<<3)+4>>2]|0)==(c[H>>2]|0))break h;c[I>>2]=(c[I>>2]|0)+1}}while(0);do if(!((c[I>>2]|0)<0|(c[M>>2]|0)==0)){if(c[ma>>2]|0?(c[I>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0):0)break;if(a[V>>0]|0){Ru(c[K>>2]|0,96,c[S>>2]|0,c[I>>2]|0,c[ha>>2]|0)|0;break g}if(!(c[la>>2]|0)){Wy(c[fa>>2]|0,c[(c[(c[X>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2]|0,c[ha>>2]|0);break g}if((c[Y>>2]|0)==(c[ba>>2]|0))break g;Qu(c[K>>2]|0,85,(c[Y>>2]|0)+(c[I>>2]|0)|0,c[ha>>2]|0)|0;break g}while(0);rB(c[fa>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+(c[H>>2]<<4)+4>>2]|0,c[ha>>2]|0)}while(0);c[H>>2]=(c[H>>2]|0)+1}if(d[(c[G>>2]|0)+42>>0]&16|0){c[ia>>2]=fw(c[F>>2]|0,c[G>>2]|0)|0;sB(c[fa>>2]|0,c[G>>2]|0);Uu(c[K>>2]|0,12,1,(b[(c[G>>2]|0)+34>>1]|0)+2|0,c[$>>2]|0,c[ia>>2]|0,-10)|0;jy(c[K>>2]|0,((c[na>>2]|0)==10?2:c[na>>2]|0)&255);gw(c[fa>>2]|0);break}else{tB(c[fa>>2]|0,c[G>>2]|0,c[ca>>2]|0,c[O>>2]|0,c[P>>2]|0,c[$>>2]|0,0,(c[Q>>2]|0)>=0&255,c[na>>2]&255,c[R>>2]|0,ja,0);uB(c[fa>>2]|0,c[G>>2]|0,0,c[$>>2]|0,0,0);vB(c[fa>>2]|0,c[G>>2]|0,c[O>>2]|0,c[P>>2]|0,c[$>>2]|0,c[ca>>2]|0,0,d[W>>0]|0,(c[ja>>2]|0)==0&1);break}}while(0);if(c[(c[F>>2]|0)+24>>2]&128|0)Qu(c[K>>2]|0,91,c[_>>2]|0,1)|0;if(c[ea>>2]|0)pB(c[fa>>2]|0,c[ea>>2]|0,108,0,2,c[G>>2]|0,(c[ba>>2]|0)-2-(b[(c[G>>2]|0)+34>>1]|0)|0,c[na>>2]|0,c[R>>2]|0);oy(c[K>>2]|0,c[R>>2]|0);do if(a[V>>0]|0){Qu(c[K>>2]|0,7,c[S>>2]|0,c[U>>2]|0)|0;ny(c[K>>2]|0,c[T>>2]|0);ey(c[K>>2]|0,111,c[S>>2]|0)|0}else{if(!(c[la>>2]|0))break;my(c[K>>2]|0,c[U>>2]|0)|0;ny(c[K>>2]|0,c[T>>2]|0)}while(0);if(c[da>>2]|0?1:(d[(c[G>>2]|0)+42>>0]&16|0)!=0)break;if((c[O>>2]|0)<(c[P>>2]|0))ey(c[K>>2]|0,111,c[O>>2]|0)|0;c[J>>2]=0;c[L>>2]=c[(c[G>>2]|0)+8>>2];while(1){if(!(c[L>>2]|0))break b;ey(c[K>>2]|0,111,(c[J>>2]|0)+(c[P>>2]|0)|0)|0;c[L>>2]=c[(c[L>>2]|0)+20>>2];c[J>>2]=(c[J>>2]|0)+1}}while(0);if((d[(c[fa>>2]|0)+18>>0]|0)==0?(c[(c[fa>>2]|0)+128>>2]|0)==0:0)wB(c[fa>>2]|0);if((c[(c[F>>2]|0)+24>>2]&128|0?(a[(c[fa>>2]|0)+18>>0]|0)==0:0)?(c[(c[fa>>2]|0)+128>>2]|0)==0:0){Qu(c[K>>2]|0,87,c[_>>2]|0,1)|0;Rs(c[K>>2]|0,1);Ss(c[K>>2]|0,0,0,33986,0)|0}}}while(0);Rk(c[F>>2]|0,c[ka>>2]|0);Kk(c[F>>2]|0,c[X>>2]|0);Jk(c[F>>2]|0,c[la>>2]|0);Tk(c[F>>2]|0,c[ma>>2]|0);Xd(c[F>>2]|0,c[ca>>2]|0);l=oa;return}function Ut(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;f=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=_l(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}a=fB(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,i)|0;c[c[g>>2]>>2]=a;a=c[e>>2]|0;if((c[i>>2]|0)<0){Tk(a,c[g>>2]|0);c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}else{h=Eu(a,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[i>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];i=c[f>>2]|0;l=j;return i|0}return 0}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);l=e;return}function Wt(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;i=q+24|0;j=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[i>>2]=e;c[j>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=0;c[k>>2]=0;do if(c[m>>2]|0){if(((c[j>>2]|0)==134?c[c[m>>2]>>2]|0:0)?gg(c[c[m>>2]>>2]|0,k)|0:0)break;c[p>>2]=(c[(c[m>>2]|0)+4>>2]|0)+1}while(0);c[o>>2]=Ed(c[i>>2]|0,48+(c[p>>2]|0)|0,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;l=q;return p|0}e=c[o>>2]|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[c[o>>2]>>0]=c[j>>2];b[(c[o>>2]|0)+34>>1]=-1;do if(c[m>>2]|0){e=c[o>>2]|0;if(!(c[p>>2]|0)){p=e+4|0;c[p>>2]=c[p>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[k>>2];break}c[(c[o>>2]|0)+8>>2]=e+48;if(c[(c[m>>2]|0)+4>>2]|0)h0(c[(c[o>>2]|0)+8>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;a[(c[(c[o>>2]|0)+8>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)>>0]=0;if(c[n>>2]|0?d[20063+(d[c[(c[o>>2]|0)+8>>2]>>0]|0)>>0]&128|0:0){if((a[c[(c[o>>2]|0)+8>>2]>>0]|0)==34){p=(c[o>>2]|0)+4|0;c[p>>2]=c[p>>2]|64}Vj(c[(c[o>>2]|0)+8>>2]|0)}}while(0);c[(c[o>>2]|0)+24>>2]=1;p=c[o>>2]|0;l=q;return p|0}function Xt(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;s=u+16|0;r=u+8|0;j=u+44|0;k=u+40|0;m=u+36|0;n=u+32|0;o=u+28|0;p=u+50|0;q=u;g=u+24|0;h=u+48|0;i=u+20|0;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=c[c[j>>2]>>2];if(!(c[k>>2]|0)){l=u;return}c[o>>2]=c[(c[k>>2]|0)+8>>2];if(a[(c[o>>2]|0)+1>>0]|0){do if((a[c[o>>2]>>0]|0)!=63){b[p>>1]=0;b[h>>1]=0;while(1){if((b[h>>1]|0)>=(c[(c[j>>2]|0)+404>>2]|0))break;if(c[(c[(c[j>>2]|0)+428>>2]|0)+(b[h>>1]<<2)>>2]|0?(G_(c[(c[(c[j>>2]|0)+428>>2]|0)+(b[h>>1]<<2)>>2]|0,c[o>>2]|0)|0)==0:0){t=14;break}b[h>>1]=(b[h>>1]|0)+1<<16>>16}if((t|0)==14)b[p>>1]=(b[h>>1]|0)+1;if(!(b[p>>1]|0)){r=(c[j>>2]|0)+400|0;t=(b[r>>1]|0)+1<<16>>16;b[r>>1]=t;b[p>>1]=t}}else{c[g>>2]=0==(Mi((c[o>>2]|0)+1|0,q,(c[m>>2]|0)-1|0,1)|0)&1;b[p>>1]=c[q>>2];t=q;f=c[t+4>>2]|0;if(!((c[g>>2]|0)==0|((f|0)<0|(f|0)==0&(c[t>>2]|0)>>>0<1))?(f=q,g=c[f+4>>2]|0,t=c[(c[n>>2]|0)+96+36>>2]|0,h=((t|0)<0)<<31>>31,!((g|0)>(h|0)|((g|0)==(h|0)?(c[f>>2]|0)>>>0>t>>>0:0))):0){r=q;h=c[r+4>>2]|0;t=b[(c[j>>2]|0)+400>>1]|0;f=((t|0)<0)<<31>>31;if(!((h|0)>(f|0)|((h|0)==(f|0)?(c[r>>2]|0)>>>0>t>>>0:0)))break;b[(c[j>>2]|0)+400>>1]=c[q>>2];break}t=c[j>>2]|0;c[r>>2]=c[(c[n>>2]|0)+96+36>>2];sl(t,33811,r);l=u;return}while(0);b[(c[k>>2]|0)+32>>1]=b[p>>1]|0;do if((b[p>>1]|0)>(c[(c[j>>2]|0)+404>>2]|0)){c[i>>2]=de(c[n>>2]|0,c[(c[j>>2]|0)+428>>2]|0,b[p>>1]<<2,0)|0;if(!(c[i>>2]|0)){l=u;return}else{c[(c[j>>2]|0)+428>>2]=c[i>>2];m0((c[i>>2]|0)+(c[(c[j>>2]|0)+404>>2]<<2)|0,0,(b[p>>1]|0)-(c[(c[j>>2]|0)+404>>2]|0)<<2|0)|0;c[(c[j>>2]|0)+404>>2]=b[p>>1];break}}while(0);if(!(c[(c[(c[j>>2]|0)+428>>2]|0)+((b[p>>1]|0)-1<<2)>>2]|0)){t=Uj(c[n>>2]|0,c[o>>2]|0,c[m>>2]|0,0)|0;c[(c[(c[j>>2]|0)+428>>2]|0)+((b[p>>1]|0)-1<<2)>>2]=t}}else{r=(c[j>>2]|0)+400|0;t=(b[r>>1]|0)+1<<16>>16;b[r>>1]=t;b[(c[k>>2]|0)+32>>1]=t}if((b[(c[j>>2]|0)+400>>1]|0)<=(c[(c[n>>2]|0)+96+36>>2]|0)){l=u;return}sl(c[j>>2]|0,33854,s);l=u;return}function Yt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){j=c[g>>2]|0;l=k;return j|0}c[j>>2]=Wt(c[c[f>>2]>>2]|0,53,c[h>>2]|0,c[i>>2]|0)|0;if(!(c[j>>2]|0)){j=c[g>>2]|0;l=k;return j|0}c[(c[j>>2]|0)+12>>2]=c[g>>2];i=(c[j>>2]|0)+4|0;c[i>>2]=c[i>>2]|4352;c[g>>2]=c[j>>2];j=c[g>>2]|0;l=k;return j|0}function Zt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;f=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[i>>2]=c[c[f>>2]>>2];c[h>>2]=Wt(c[i>>2]|0,151,c[k>>2]|0,1)|0;if(!(c[h>>2]|0)){Kk(c[i>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;l=j;return k|0}else{c[(c[h>>2]|0)+20>>2]=c[g>>2];du(c[f>>2]|0,c[h>>2]|0);c[e>>2]=c[h>>2];k=c[e>>2]|0;l=j;return k|0}return 0}function _t(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;g=f+4|0;h=f;c[j>>2]=a;c[i>>2]=b;c[g>>2]=d;c[h>>2]=e;e=pt(c[j>>2]|0,c[i>>2]|0,c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];l=f;return}function $t(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){l=g;return}h=pt(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;l=g;return}function au(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;g=f+4|0;h=f;c[j>>2]=a;c[i>>2]=b;c[g>>2]=d;c[h>>2]=e;e=pt(c[j>>2]|0,c[i>>2]|0,c[c[g>>2]>>2]|0,0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);l=f;return}function bu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;n=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=c[c[n>>2]>>2];if(!((c[i>>2]|0)!=0&(c[h>>2]|0)!=0)){l=m;return}if((d[c[h>>2]>>0]|0|0)!=101){l=m;return}a[c[i>>2]>>0]=c[j>>2];Ok(c[k>>2]|0,c[(c[i>>2]|0)+16>>2]|0);c[(c[i>>2]|0)+16>>2]=0;l=m;return}function cu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;h=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;m=g;c[h>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[m>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[m>>2]>>2];f=pt(c[k>>2]|0,c[j>>2]|0,c[c[i>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[i>>2]|0)+8>>2];l=g;return}function du(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+36>>2]|0){l=f;return}Px(c[e>>2]|0);lx(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;l=f;return}function eu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){c[(c[f>>2]|0)+20>>2]=c[g>>2];g=(c[f>>2]|0)+4|0;c[g>>2]=c[g>>2]|2099200;du(c[e>>2]|0,c[f>>2]|0);l=h;return}else{Jk(c[c[e>>2]>>2]|0,c[g>>2]|0);l=h;return}}function fu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+32|0;k=m;i=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;h=m+8|0;c[i>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[h>>2]=Et(c[i>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[i>>2]>>2]|0)+148+5>>0]|0|0)==0:0){p=c[i>>2]|0;o=c[c[j>>2]>>2]|0;c[k>>2]=c[(c[j>>2]|0)+4>>2];c[k+4>>2]=o;sl(p,33771,k)}Ft(c[i>>2]|0,c[h>>2]|0,c[j>>2]|0,1);l=m;return c[h>>2]|0}function gu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;o=u+16|0;n=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;j=u+56|0;k=u+52|0;s=u+48|0;m=u+44|0;f=u+40|0;g=u+36|0;h=u+32|0;i=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}if(fv(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}c[j>>2]=vv(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[j>>2]|0)){b=c[p>>2]|0;d=c[q>>2]|0;if(c[r>>2]|0)Zz(b,c[d+8+4>>2]|0);else{c[t>>2]=d;c[t+4>>2]=0;sl(b,33561,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}if(a[(c[j>>2]|0)+55>>0]&3|0){t=c[p>>2]|0;c[n>>2]=0;sl(t,33579,n);s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}c[m>>2]=Hu(c[s>>2]|0,c[(c[j>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[g>>2]=c[(c[j>>2]|0)+12>>2];c[h>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];c[i>>2]=(c[m>>2]|0)==1?26433:26452;if(Iu(c[p>>2]|0,9,c[i>>2]|0,0,c[h>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}if(c[m>>2]|0)c[f>>2]=12;if(Iu(c[p>>2]|0,c[f>>2]|0,c[c[j>>2]>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}c[k>>2]=Lu(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}cv(c[p>>2]|0,1,c[m>>2]|0);t=c[p>>2]|0;n=(c[m>>2]|0)==1?26433:26452;r=c[c[j>>2]>>2]|0;c[o>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];c[o+4>>2]=n;c[o+8>>2]=r;Ku(t,33652,o);dB(c[p>>2]|0,c[m>>2]|0,30148,c[c[j>>2]>>2]|0);Mu(c[p>>2]|0,c[m>>2]|0);eB(c[p>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[m>>2]|0);Uu(c[k>>2]|0,139,c[m>>2]|0,0,0,c[c[j>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;Rk(s,t);l=u;return}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=Lu(c[d>>2]|0)|0;if(c[e>>2]|0)a=ay(c[d>>2]|0,c[e>>2]|0,c[e>>2]|0,e)|0;else a=0;c[g>>2]=a;if(!(c[f>>2]|0)){l=h;return}if(!((c[g>>2]|0)>=2|(c[g>>2]|0)==0)){l=h;return}ey(c[f>>2]|0,10,c[g>>2]|0)|0;Yu(c[f>>2]|0,c[g>>2]|0);l=h;return}function iu(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=l;l=l+816|0;Za=fc+264|0;Kb=fc+256|0;Jb=fc+248|0;Ya=fc+240|0;Ba=fc+208|0;Aa=fc+200|0;za=fc+184|0;ya=fc+160|0;Zb=fc+144|0;Yb=fc+128|0;xa=fc+112|0;wa=fc+96|0;Xb=fc+72|0;va=fc+64|0;ua=fc+56|0;ta=fc+48|0;r=fc+40|0;p=fc+32|0;ac=fc+808|0;m=fc+804|0;ia=fc+800|0;n=fc+796|0;o=fc+792|0;cc=fc+788|0;dc=fc+784|0;Ha=fc+780|0;k=fc+776|0;q=fc+760|0;$b=fc+756|0;z=fc+752|0;A=fc+748|0;B=fc+744|0;C=fc+740|0;ec=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Lb=fc+724|0;E=fc+720|0;F=fc+716|0;G=fc+712|0;Fa=fc+708|0;H=fc+704|0;I=fc+700|0;J=fc+696|0;_a=fc+692|0;K=fc+688|0;L=fc+684|0;M=fc+680|0;N=fc+676|0;O=fc+672|0;P=fc+668|0;Q=fc+664|0;R=fc+660|0;S=fc+656|0;T=fc+24|0;U=fc+652|0;V=fc+648|0;W=fc+644|0;X=fc+640|0;Y=fc+636|0;Z=fc+632|0;_=fc+628|0;$=fc+624|0;aa=fc+16|0;ba=fc+620|0;ca=fc+616|0;Ga=fc+612|0;Mb=fc+608|0;Nb=fc+604|0;Ob=fc+600|0;Pb=fc+596|0;Qb=fc+592|0;Rb=fc+588|0;da=fc+584|0;ea=fc+580|0;fa=fc+576|0;Sb=fc+572|0;Tb=fc+568|0;Ub=fc+564|0;Vb=fc+560|0;Wb=fc+812|0;ga=fc+556|0;ha=fc+552|0;ja=fc+548|0;ka=fc+536|0;la=fc+532|0;ma=fc+528|0;na=fc+524|0;oa=fc+520|0;pa=fc+516|0;qa=fc+512|0;ra=fc+508|0;sa=fc+504|0;Ja=fc+500|0;Ka=fc+496|0;La=fc+492|0;Ma=fc+488|0;Na=fc+484|0;Oa=fc+480|0;Pa=fc+476|0;Qa=fc+472|0;Ra=fc+468|0;Sa=fc+464|0;Ta=fc+460|0;Ua=fc+456|0;Va=fc+452|0;Wa=fc+448|0;Xa=fc+444|0;Eb=fc+440|0;Fb=fc+436|0;Gb=fc+432|0;Hb=fc+428|0;Ib=fc+424|0;$a=fc+420|0;ab=fc+416|0;bb=fc+412|0;cb=fc+408|0;db=fc+404|0;eb=fc+400|0;fb=fc+396|0;gb=fc+392|0;hb=fc+388|0;ib=fc+384|0;jb=fc+380|0;kb=fc+376|0;lb=fc+372|0;mb=fc+368|0;nb=fc+364|0;ob=fc+360|0;pb=fc+356|0;qb=fc+352|0;rb=fc+348|0;sb=fc+344|0;tb=fc+340|0;ub=fc+336|0;vb=fc+332|0;wb=fc+328|0;xb=fc+324|0;yb=fc+320|0;zb=fc+316|0;Ab=fc+312|0;Bb=fc+308|0;Cb=fc+304|0;Db=fc+300|0;Ia=fc+296|0;s=fc+292|0;t=fc+288|0;u=fc+284|0;Ca=fc+280|0;Da=fc+276|0;v=fc+272|0;w=fc+268|0;x=fc+8|0;y=fc;c[ac>>2]=f;c[m>>2]=g;c[ia>>2]=h;c[n>>2]=i;c[o>>2]=j;c[cc>>2]=0;c[dc>>2]=0;c[Ha>>2]=0;c[B>>2]=0;c[ec>>2]=c[c[ac>>2]>>2];c[bc>>2]=Lu(c[ac>>2]|0)|0;if(!(c[bc>>2]|0)){l=fc;return}iA(c[bc>>2]|0);c[(c[ac>>2]|0)+44>>2]=2;c[$b>>2]=ay(c[ac>>2]|0,c[m>>2]|0,c[ia>>2]|0,k)|0;if((c[$b>>2]|0)<0){l=fc;return}c[Ea>>2]=(c[(c[ec>>2]|0)+16>>2]|0)+(c[$b>>2]<<4);if((c[$b>>2]|0)==1?pl(c[ac>>2]|0)|0:0){l=fc;return}c[cc>>2]=Eu(c[ec>>2]|0,c[k>>2]|0)|0;if(!(c[cc>>2]|0)){l=fc;return}g=c[ec>>2]|0;f=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=f;c[dc>>2]=Wj(g,31556,p)|0}else c[dc>>2]=Eu(g,f)|0;if((c[(c[ia>>2]|0)+4>>2]|0)>>>0>0)f=c[c[Ea>>2]>>2]|0;else f=0;c[Ha>>2]=f;a:do if(!(Iu(c[ac>>2]|0,19,c[cc>>2]|0,c[dc>>2]|0,c[Ha>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[cc>>2];c[q+8>>2]=c[dc>>2];c[q+12>>2]=0;c[(c[ec>>2]|0)+380+8>>2]=0;c[C>>2]=jA(c[ec>>2]|0,c[Ha>>2]|0,14,q)|0;if(!(c[C>>2]|0)){kA(c[bc>>2]|0,31560,c[q>>2]|0);_d(c[q>>2]|0);break}if((c[C>>2]|0)!=12){if(c[q>>2]|0){bc=c[ac>>2]|0;c[r>>2]=c[q>>2];sl(bc,21240,r);_d(c[q>>2]|0)}bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[C>>2];break}c[z>>2]=0;c[A>>2]=57;while(1){if((c[z>>2]|0)>(c[A>>2]|0))break;c[B>>2]=((c[z>>2]|0)+(c[A>>2]|0)|0)/2|0;c[C>>2]=kl(c[cc>>2]|0,c[4496+((c[B>>2]|0)*12|0)>>2]|0)|0;if(!(c[C>>2]|0))break;f=c[B>>2]|0;if((c[C>>2]|0)<0){c[A>>2]=f-1;continue}else{c[z>>2]=f+1;continue}}if((c[z>>2]|0)<=(c[A>>2]|0)){c[Lb>>2]=4496+((c[B>>2]|0)*12|0);if(d[(c[Lb>>2]|0)+5>>0]&1|0?fv(c[ac>>2]|0)|0:0)break;do switch(d[(c[Lb>>2]|0)+4>>0]|0){case 11:{Yu(c[bc>>2]|0,c[$b>>2]|0);if(c[dc>>2]|0){c[F>>2]=pq(fg(c[dc>>2]|0)|0)|0;cv(c[ac>>2]|0,0,c[$b>>2]|0);Ru(c[bc>>2]|0,102,c[$b>>2]|0,3,c[F>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[F>>2];pv(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{lA(c[bc>>2]|0,31567);ac=(c[ac>>2]|0)+44|0;c[ac>>2]=(c[ac>>2]|0)+2;c[E>>2]=mA(c[bc>>2]|0,9,31578,0)|0;c[(c[E>>2]|0)+4>>2]=c[$b>>2];c[(c[E>>2]|0)+20+4>>2]=c[$b>>2];c[(c[E>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{c[G>>2]=c[(c[Ea>>2]|0)+4>>2];if(c[dc>>2]|0){bc=fg(c[dc>>2]|0)|0;c[(c[ec>>2]|0)+80>>2]=bc;if(7!=(tl(c[G>>2]|0,c[(c[ec>>2]|0)+80>>2]|0,-1,0)|0))break a;Od(c[ec>>2]|0);break a}if(c[G>>2]|0)f=Hn(c[G>>2]|0)|0;else f=0;c[Fa>>2]=f;ac=c[Fa>>2]|0;nA(c[bc>>2]|0,31614,ac,((ac|0)<0)<<31>>31);break a}case 26:{c[H>>2]=c[(c[Ea>>2]|0)+4>>2];c[I>>2]=-1;if(c[dc>>2]|0)c[I>>2]=(dg(c[dc>>2]|0,0)|0)&255;b:do if((c[I>>2]|0)>=0?(c[(c[ia>>2]|0)+4>>2]|0)==0:0){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[ec>>2]|0)+20>>2]|0))break b;Vz(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0,c[I>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+1}}while(0);c[I>>2]=Vz(c[H>>2]|0,c[I>>2]|0)|0;ac=c[I>>2]|0;nA(c[bc>>2]|0,31624,ac,((ac|0)<0)<<31>>31);break a}case 23:{dv(c[ac>>2]|0,c[$b>>2]|0);f=(c[ac>>2]|0)+44|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[_a>>2]=k;k=c[bc>>2]|0;f=c[$b>>2]|0;g=c[_a>>2]|0;if((d[20458+(d[c[cc>>2]>>0]|0)>>0]|0)==112)Qu(k,158,f,g)|0;else Ru(k,159,f,g,pq(fg(c[dc>>2]|0)|0)|0)|0;Qu(c[bc>>2]|0,87,c[_a>>2]|0,1)|0;Rs(c[bc>>2]|0,1);Ss(c[bc>>2]|0,0,0,c[cc>>2]|0,-1)|0;break a}case 22:{c[K>>2]=31638;c[L>>2]=oA(c[dc>>2]|0)|0;if((c[L>>2]|0)==-1?(c[(c[ia>>2]|0)+4>>2]|0)==0:0)c[L>>2]=d[(c[ec>>2]|0)+71>>0];else{if(!(c[(c[ia>>2]|0)+4>>2]|0)){c[N>>2]=2;while(1){if((c[N>>2]|0)>=(c[(c[ec>>2]|0)+20>>2]|0))break;c[M>>2]=qk(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+4>>2]|0)|0;Uz(c[M>>2]|0,c[L>>2]|0)|0;c[N>>2]=(c[N>>2]|0)+1}a[(c[ec>>2]|0)+71>>0]=c[L>>2]}c[M>>2]=qk(c[(c[Ea>>2]|0)+4>>2]|0)|0;c[L>>2]=Uz(c[M>>2]|0,c[L>>2]|0)|0}if((c[L>>2]|0)==1)c[K>>2]=31645;kA(c[bc>>2]|0,31655,c[K>>2]|0);break a}case 19:{lA(c[bc>>2]|0,31668);if(c[dc>>2]|0){c[R>>2]=md(c[dc>>2]|0)|0;c[O>>2]=0;while(1){ac=pA(c[O>>2]|0)|0;c[Q>>2]=ac;if(!ac)break;if(!(ld(c[dc>>2]|0,c[Q>>2]|0,c[R>>2]|0)|0))break;c[O>>2]=(c[O>>2]|0)+1}if(!(c[Q>>2]|0))c[O>>2]=-1}else c[O>>2]=-1;if((c[O>>2]|0)==-1?(c[(c[ia>>2]|0)+4>>2]|0)==0:0){c[$b>>2]=0;c[(c[ia>>2]|0)+4>>2]=1}c[P>>2]=(c[(c[ec>>2]|0)+20>>2]|0)-1;while(1){if((c[P>>2]|0)<0)break;do if(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[P>>2]<<4)+4>>2]|0){if((c[P>>2]|0)!=(c[$b>>2]|0)?c[(c[ia>>2]|0)+4>>2]|0:0)break;Yu(c[bc>>2]|0,c[P>>2]|0);Ru(c[bc>>2]|0,9,c[P>>2]|0,1,c[O>>2]|0)|0}while(0);c[P>>2]=(c[P>>2]|0)+-1}Qu(c[bc>>2]|0,87,1,1)|0;break a}case 20:{c[S>>2]=qk(c[(c[Ea>>2]|0)+4>>2]|0)|0;ac=T;c[ac>>2]=-2;c[ac+4>>2]=-1;if(c[dc>>2]|0?(Kz(c[dc>>2]|0,T)|0,ac=T,$b=c[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(c[ac>>2]|0)>>>0<4294967295):0){ac=T;c[ac>>2]=-1;c[ac+4>>2]=-1}$b=T;$b=qA(c[S>>2]|0,c[$b>>2]|0,c[$b+4>>2]|0)|0;ac=T;c[ac>>2]=$b;c[ac+4>>2]=D;ac=T;nA(c[bc>>2]|0,31681,c[ac>>2]|0,c[ac+4>>2]|0);break a}case 1:{c[U>>2]=c[(c[Ea>>2]|0)+4>>2];if(!(c[dc>>2]|0)){ac=c[bc>>2]|0;bc=rA(c[U>>2]|0)|0;nA(ac,31700,bc,((bc|0)<0)<<31>>31);break a}c[V>>2]=sA(c[dc>>2]|0)|0;a[(c[ec>>2]|0)+72>>0]=c[V>>2];c[C>>2]=tA(c[U>>2]|0,c[V>>2]|0)|0;if(c[C>>2]|0)break a;if(!((c[V>>2]|0)==1|(c[V>>2]|0)==2))break a;c[X>>2]=Pv(c[bc>>2]|0)|0;c[W>>2]=mA(c[bc>>2]|0,5,31712,0)|0;c[(c[W>>2]|0)+4>>2]=c[$b>>2];c[(c[W>>2]|0)+20+4>>2]=c[$b>>2];c[(c[W>>2]|0)+40+8>>2]=(c[X>>2]|0)+4;c[(c[W>>2]|0)+80+4>>2]=c[$b>>2];c[(c[W>>2]|0)+80+12>>2]=(c[V>>2]|0)-1;Yu(c[bc>>2]|0,c[$b>>2]|0);break a}case 15:{if(!((c[dc>>2]|0)!=0?(_b=(gg(c[dc>>2]|0,Y)|0)==0,!(_b|(c[Y>>2]|0)<=0)):0))c[Y>>2]=2147483647;cv(c[ac>>2]|0,0,c[$b>>2]|0);Qu(c[bc>>2]|0,76,c[Y>>2]|0,1)|0;c[Z>>2]=ey(c[bc>>2]|0,69,c[$b>>2]|0)|0;ey(c[bc>>2]|0,87,1)|0;Qu(c[bc>>2]|0,91,1,-1)|0;Qu(c[bc>>2]|0,66,1,c[Z>>2]|0)|0;ny(c[bc>>2]|0,c[Z>>2]|0);break a}case 4:if(c[dc>>2]|0){c[_>>2]=fg(c[dc>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[_>>2];pv(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0;nA(c[bc>>2]|0,31567,ac,((ac|0)<0)<<31>>31);break a}case 5:if(c[dc>>2]|0){c[$>>2]=1;if(gg(c[dc>>2]|0,$)|0)uA(c[(c[Ea>>2]|0)+4>>2]|0,c[$>>2]|0)|0;$b=(dg(c[dc>>2]|0,(c[$>>2]|0)!=0&255)|0)<<24>>24!=0;bc=(c[ec>>2]|0)+24|0;ac=c[bc>>2]|0;c[bc>>2]=$b?ac|32:ac&-33;vA(c[ec>>2]|0);break a}else{g=c[bc>>2]|0;if(!(c[(c[ec>>2]|0)+24>>2]&32))f=0;else f=uA(c[(c[Ea>>2]|0)+4>>2]|0,0)|0;nA(g,31732,f,((f|0)<0)<<31>>31);break a}case 24:{$b=aa;c[$b>>2]=0;c[$b+4>>2]=0;c[C>>2]=0;if(!(c[C>>2]|0)){ac=aa;nA(c[bc>>2]|0,31744,c[ac>>2]|0,c[ac+4>>2]|0);break a}if((c[C>>2]|0)==12)break a;bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[C>>2];break a}case 32:if(c[dc>>2]|0){wA(c[ac>>2]|0,c[dc>>2]|0)|0;break a}else{nA(c[bc>>2]|0,31754,d[(c[ec>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(c[dc>>2]|0)){kA(c[bc>>2]|0,31765,c[13628]|0);break a}if(a[c[dc>>2]>>0]|0?(c[C>>2]=Sm(c[c[ec>>2]>>2]|0,c[dc>>2]|0,1,ba)|0,(c[C>>2]|0)!=0|(c[ba>>2]|0)==0):0){sl(c[ac>>2]|0,31786,ta);break a}if((d[(c[ec>>2]|0)+68>>0]|0)<=1)xA(c[ac>>2]|0)|0;_d(c[13628]|0);if(a[c[dc>>2]>>0]|0){c[ua>>2]=c[dc>>2];f=nf(21240,ua)|0}else f=0;c[13628]=f;break a}case 30:{if(!(c[dc>>2]|0)){ac=(d[(c[Ea>>2]|0)+8>>0]|0)-1|0;nA(c[bc>>2]|0,31811,ac,((ac|0)<0)<<31>>31);break a}if(a[(c[ec>>2]|0)+67>>0]|0){bc=((eg(c[dc>>2]|0,0,1)|0)&255)+1&7;c[ca>>2]=bc;c[ca>>2]=(c[ca>>2]|0)==0?1:bc;a[(c[Ea>>2]|0)+8>>0]=c[ca>>2];a[(c[Ea>>2]|0)+9>>0]=1;vA(c[ec>>2]|0);break a}else{sl(c[ac>>2]|0,31823,va);break a}}case 2:{if(!(c[dc>>2]|0)){ac=(c[(c[ec>>2]|0)+24>>2]&c[(c[Lb>>2]|0)+8>>2]|0)!=0&1;nA(c[bc>>2]|0,c[c[Lb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}c[Ga>>2]=c[(c[Lb>>2]|0)+8>>2];if(!(d[(c[ec>>2]|0)+67>>0]|0))c[Ga>>2]=c[Ga>>2]&-524289;ac=(dg(c[dc>>2]|0,0)|0)<<24>>24!=0;f=c[Ga>>2]|0;if(!ac){ac=(c[ec>>2]|0)+24|0;c[ac>>2]=c[ac>>2]&~f;if((c[Ga>>2]|0)==33554432){ac=(c[ec>>2]|0)+448|0;c[ac>>2]=0;c[ac+4>>2]=0}}else{ac=(c[ec>>2]|0)+24|0;c[ac>>2]=c[ac>>2]|f}Nu(c[bc>>2]|0,150)|0;vA(c[ec>>2]|0);break a}case 31:{if(!(c[dc>>2]|0))break a;c[Mb>>2]=ev(c[ac>>2]|0,2,c[dc>>2]|0,c[Ha>>2]|0)|0;if(!(c[Mb>>2]|0))break a;c[Pb>>2]=0;c[Rb>>2]=uv(c[Mb>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=6;dv(c[ac>>2]|0,c[$b>>2]|0);yA(c[bc>>2]|0,6,5192);ew(c[ac>>2]|0,c[Mb>>2]|0)|0;c[Nb>>2]=0;c[Qb>>2]=c[(c[Mb>>2]|0)+4>>2];while(1){if((c[Nb>>2]|0)>=(b[(c[Mb>>2]|0)+34>>1]|0))break a;if(d[(c[Qb>>2]|0)+15>>0]&2|0)c[Pb>>2]=(c[Pb>>2]|0)+1;else{c:do if(!(d[(c[Qb>>2]|0)+15>>0]&1))c[Ob>>2]=0;else{ac=(c[Rb>>2]|0)==0;c[Ob>>2]=1;if(ac)break;while(1){if((c[Ob>>2]|0)>(b[(c[Mb>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Rb>>2]|0)+4>>2]|0)+((c[Ob>>2]|0)-1<<1)>>1]|0)==(c[Nb>>2]|0))break c;c[Ob>>2]=(c[Ob>>2]|0)+1}}while(0);f=c[bc>>2]|0;g=(c[Nb>>2]|0)-(c[Pb>>2]|0)|0;k=c[c[Qb>>2]>>2]|0;h=kv(c[Qb>>2]|0,55752)|0;i=d[(c[Qb>>2]|0)+12>>0]|0?1:0;if(c[(c[Qb>>2]|0)+4>>2]|0)j=c[(c[(c[Qb>>2]|0)+4>>2]|0)+8>>2]|0;else j=0;ac=c[Ob>>2]|0;c[Xb>>2]=g;c[Xb+4>>2]=k;c[Xb+8>>2]=h;c[Xb+12>>2]=i;c[Xb+16>>2]=j;c[Xb+20>>2]=ac;zA(f,1,31876,Xb);Qu(c[bc>>2]|0,87,1,6)|0}c[Nb>>2]=(c[Nb>>2]|0)+1;c[Qb>>2]=(c[Qb>>2]|0)+16}}case 29:{c[bc>>2]=Lu(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=4;dv(c[ac>>2]|0,c[$b>>2]|0);yA(c[bc>>2]|0,4,5216);c[ea>>2]=c[(c[(c[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[ea>>2]|0))break a;c[fa>>2]=c[(c[ea>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=b[(c[fa>>2]|0)+40>>1]|0;$b=b[(c[fa>>2]|0)+38>>1]|0;c[wa>>2]=c[c[fa>>2]>>2];c[wa+4>>2]=0;c[wa+8>>2]=_b;c[wa+12>>2]=$b;zA(ac,1,31883,wa);Qu(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[fa>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break;ac=c[bc>>2]|0;_b=b[(c[da>>2]|0)+48>>1]|0;$b=b[c[(c[da>>2]|0)+8>>2]>>1]|0;c[xa>>2]=c[c[da>>2]>>2];c[xa+4>>2]=_b;c[xa+8>>2]=$b;zA(ac,2,31888,xa);Qu(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2]}c[ea>>2]=c[c[ea>>2]>>2]}}case 16:{if(!(c[dc>>2]|0))break a;c[Sb>>2]=vv(c[ec>>2]|0,c[dc>>2]|0,c[Ha>>2]|0)|0;if(!(c[Sb>>2]|0))break a;f=c[Sb>>2]|0;if(c[(c[Lb>>2]|0)+8>>2]|0){c[Vb>>2]=e[f+52>>1];f=6;g=c[ac>>2]|0}else{c[Vb>>2]=e[f+50>>1];f=3;g=c[ac>>2]|0}c[g+44>>2]=f;c[Tb>>2]=c[(c[Sb>>2]|0)+12>>2];dv(c[ac>>2]|0,c[$b>>2]|0);yA(c[bc>>2]|0,c[(c[ac>>2]|0)+44>>2]|0,5232);c[Ub>>2]=0;while(1){if((c[Ub>>2]|0)>=(c[Vb>>2]|0))break a;b[Wb>>1]=b[(c[(c[Sb>>2]|0)+4>>2]|0)+(c[Ub>>2]<<1)>>1]|0;f=c[bc>>2]|0;g=b[Wb>>1]|0;if((b[Wb>>1]|0)<0)k=0;else k=c[(c[(c[Tb>>2]|0)+4>>2]|0)+(b[Wb>>1]<<4)>>2]|0;c[Yb>>2]=c[Ub>>2];c[Yb+4>>2]=g;c[Yb+8>>2]=k;zA(f,1,31892,Yb);if(c[(c[Lb>>2]|0)+8>>2]|0){$b=c[bc>>2]|0;Xb=c[(c[(c[Sb>>2]|0)+32>>2]|0)+(c[Ub>>2]<<2)>>2]|0;_b=(c[Ub>>2]|0)<(e[(c[Sb>>2]|0)+50>>1]|0)&1;c[Zb>>2]=d[(c[(c[Sb>>2]|0)+28>>2]|0)+(c[Ub>>2]|0)>>0];c[Zb+4>>2]=Xb;c[Zb+8>>2]=_b;zA($b,4,31896,Zb)}Qu(c[bc>>2]|0,87,1,c[(c[ac>>2]|0)+44>>2]|0)|0;c[Ub>>2]=(c[Ub>>2]|0)+1}}case 17:{if(!(c[dc>>2]|0))break a;c[ha>>2]=gv(c[ec>>2]|0,c[dc>>2]|0,c[Ha>>2]|0)|0;if(!(c[ha>>2]|0))break a;c[bc>>2]=Lu(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=5;dv(c[ac>>2]|0,c[$b>>2]|0);yA(c[bc>>2]|0,5,5256);c[ga>>2]=c[(c[ha>>2]|0)+8>>2];c[ja>>2]=0;while(1){if(!(c[ga>>2]|0))break a;c[ka>>2]=c[1319];c[ka+4>>2]=c[1320];c[ka+8>>2]=c[1321];ac=c[bc>>2]|0;Yb=c[c[ga>>2]>>2]|0;Zb=(d[(c[ga>>2]|0)+54>>0]|0)!=0&1;_b=c[ka+((a[(c[ga>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(c[(c[ga>>2]|0)+36>>2]|0)!=0&1;c[ya>>2]=c[ja>>2];c[ya+4>>2]=Yb;c[ya+8>>2]=Zb;c[ya+12>>2]=_b;c[ya+16>>2]=$b;zA(ac,1,31900,ya);Qu(c[bc>>2]|0,87,1,5)|0;c[ga>>2]=c[(c[ga>>2]|0)+20>>2];c[ja>>2]=(c[ja>>2]|0)+1}}case 10:{c[(c[ac>>2]|0)+44>>2]=3;yA(c[bc>>2]|0,3,5288);c[la>>2]=0;while(1){if((c[la>>2]|0)>=(c[(c[ec>>2]|0)+20>>2]|0))break a;if(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[la>>2]<<4)+4>>2]|0){ac=c[bc>>2]|0;Zb=c[la>>2]|0;_b=c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[la>>2]<<4)>>2]|0;$b=as(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[la>>2]<<4)+4>>2]|0)|0;c[za>>2]=Zb;c[za+4>>2]=_b;c[za+8>>2]=$b;zA(ac,1,31906,za);Qu(c[bc>>2]|0,87,1,3)|0}c[la>>2]=(c[la>>2]|0)+1}}case 7:{c[ma>>2]=0;c[(c[ac>>2]|0)+44>>2]=2;yA(c[bc>>2]|0,2,5300);c[na>>2]=c[(c[ec>>2]|0)+364+8>>2];while(1){if(!(c[na>>2]|0))break a;c[oa>>2]=c[(c[na>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=c[ma>>2]|0;c[ma>>2]=_b+1;$b=c[c[oa>>2]>>2]|0;c[Aa>>2]=_b;c[Aa+4>>2]=$b;zA(ac,1,31910,Aa);Qu(c[bc>>2]|0,87,1,2)|0;c[na>>2]=c[c[na>>2]>>2]}}case 14:{if(!(c[dc>>2]|0))break a;c[qa>>2]=gv(c[ec>>2]|0,c[dc>>2]|0,c[Ha>>2]|0)|0;if(!(c[qa>>2]|0))break a;c[bc>>2]=Lu(c[ac>>2]|0)|0;c[pa>>2]=c[(c[qa>>2]|0)+16>>2];if(!(c[pa>>2]|0))break a;c[ra>>2]=0;c[(c[ac>>2]|0)+44>>2]=8;dv(c[ac>>2]|0,c[$b>>2]|0);yA(c[bc>>2]|0,8,5308);while(1){if(!(c[pa>>2]|0))break a;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=(c[(c[pa>>2]|0)+20>>2]|0))break;ac=c[bc>>2]|0;Vb=c[ra>>2]|0;Wb=c[sa>>2]|0;Xb=c[(c[pa>>2]|0)+8>>2]|0;Yb=c[(c[(c[qa>>2]|0)+4>>2]|0)+(c[(c[pa>>2]|0)+36+(c[sa>>2]<<3)>>2]<<4)>>2]|0;Zb=c[(c[pa>>2]|0)+36+(c[sa>>2]<<3)+4>>2]|0;_b=AA(a[(c[pa>>2]|0)+25+1>>0]|0)|0;$b=AA(a[(c[pa>>2]|0)+25>>0]|0)|0;c[Ba>>2]=Vb;c[Ba+4>>2]=Wb;c[Ba+8>>2]=Xb;c[Ba+12>>2]=Yb;c[Ba+16>>2]=Zb;c[Ba+20>>2]=_b;c[Ba+24>>2]=$b;c[Ba+28>>2]=31922;zA(ac,1,31913,Ba);Qu(c[bc>>2]|0,87,1,8)|0;c[sa>>2]=(c[sa>>2]|0)+1}c[ra>>2]=(c[ra>>2]|0)+1;c[pa>>2]=c[(c[pa>>2]|0)+4>>2]}}case 13:{c[Ra>>2]=(c[(c[ac>>2]|0)+44>>2]|0)+1;Zb=(c[ac>>2]|0)+44|0;c[Zb>>2]=(c[Zb>>2]|0)+4;Zb=(c[ac>>2]|0)+44|0;Yb=(c[Zb>>2]|0)+1|0;c[Zb>>2]=Yb;c[Sa>>2]=Yb;Yb=(c[ac>>2]|0)+44|0;Zb=(c[Yb>>2]|0)+1|0;c[Yb>>2]=Zb;c[Ta>>2]=Zb;c[bc>>2]=Lu(c[ac>>2]|0)|0;yA(c[bc>>2]|0,4,5340);dv(c[ac>>2]|0,c[$b>>2]|0);c[Pa>>2]=c[(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Pa>>2]|0))break a;if(c[dc>>2]|0){c[Ka>>2]=ev(c[ac>>2]|0,0,c[dc>>2]|0,c[Ha>>2]|0)|0;c[Pa>>2]=0}else{c[Ka>>2]=c[(c[Pa>>2]|0)+8>>2];c[Pa>>2]=c[c[Pa>>2]>>2]}if(!(c[Ka>>2]|0))continue;if(!(c[(c[Ka>>2]|0)+16>>2]|0))continue;gy(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ka>>2]|0)+28>>2]|0,0,c[c[Ka>>2]>>2]|0);if(((b[(c[Ka>>2]|0)+34>>1]|0)+(c[Ta>>2]|0)|0)>(c[(c[ac>>2]|0)+44>>2]|0))c[(c[ac>>2]|0)+44>>2]=(b[(c[Ka>>2]|0)+34>>1]|0)+(c[Ta>>2]|0);hy(c[ac>>2]|0,0,c[$b>>2]|0,c[Ka>>2]|0,104);Pu(c[bc>>2]|0,c[Ra>>2]|0,c[c[Ka>>2]>>2]|0)|0;c[Na>>2]=1;c[Ja>>2]=c[(c[Ka>>2]|0)+16>>2];d:while(1){if(!(c[Ja>>2]|0))break;c[La>>2]=gv(c[ec>>2]|0,c[(c[Ja>>2]|0)+8>>2]|0,c[Ha>>2]|0)|0;do if(c[La>>2]|0){c[Ma>>2]=0;gy(c[ac>>2]|0,c[$b>>2]|0,c[(c[La>>2]|0)+28>>2]|0,0,c[c[La>>2]>>2]|0);c[Qa>>2]=BA(c[ac>>2]|0,c[La>>2]|0,c[Ja>>2]|0,Ma,0)|0;if(c[Qa>>2]|0){_b=204;break d}if(!(c[Ma>>2]|0)){hy(c[ac>>2]|0,c[Na>>2]|0,c[$b>>2]|0,c[La>>2]|0,104);break}else{Ru(c[bc>>2]|0,104,c[Na>>2]|0,c[(c[Ma>>2]|0)+44>>2]|0,c[$b>>2]|0)|0;iy(c[ac>>2]|0,c[Ma>>2]|0);break}}while(0);c[Na>>2]=(c[Na>>2]|0)+1;c[Ja>>2]=c[(c[Ja>>2]|0)+4>>2]}if((_b|0)==204){_b=0;c[Pa>>2]=0}if(c[Ja>>2]|0)break a;if((c[(c[ac>>2]|0)+40>>2]|0)<(c[Na>>2]|0))c[(c[ac>>2]|0)+40>>2]=c[Na>>2];c[Ua>>2]=ey(c[bc>>2]|0,57,0)|0;c[Na>>2]=1;c[Ja>>2]=c[(c[Ka>>2]|0)+16>>2];while(1){if(!(c[Ja>>2]|0))break;c[La>>2]=gv(c[ec>>2]|0,c[(c[Ja>>2]|0)+8>>2]|0,c[Ha>>2]|0)|0;c[Ma>>2]=0;c[Wa>>2]=0;if(c[La>>2]|0)c[Qa>>2]=BA(c[ac>>2]|0,c[La>>2]|0,c[Ja>>2]|0,Ma,Wa)|0;c[Va>>2]=ky(c[bc>>2]|0)|0;do if((c[La>>2]|0)!=0&(c[Ma>>2]|0)==0){c[Xa>>2]=c[(c[Ja>>2]|0)+36>>2];f=c[bc>>2]|0;if((c[Xa>>2]|0)!=(b[(c[Ka>>2]|0)+32>>1]|0)){Ru(f,96,0,c[Xa>>2]|0,c[Ta>>2]|0)|0;Vy(c[bc>>2]|0,c[Ka>>2]|0,c[Xa>>2]|0,c[Ta>>2]|0);Qu(c[bc>>2]|0,34,c[Ta>>2]|0,c[Va>>2]|0)|0}else Qu(f,123,0,c[Ta>>2]|0)|0;Ru(c[bc>>2]|0,32,c[Na>>2]|0,0,c[Ta>>2]|0)|0;my(c[bc>>2]|0,c[Va>>2]|0)|0;Zb=c[bc>>2]|0;ny(Zb,(Pv(c[bc>>2]|0)|0)-2|0)}else{c[Oa>>2]=0;while(1){if((c[Oa>>2]|0)>=(c[(c[Ja>>2]|0)+20>>2]|0))break;if(c[Wa>>2]|0)f=(c[Wa>>2]|0)+(c[Oa>>2]<<2)|0;else f=(c[Ja>>2]|0)+36+(c[Oa>>2]<<3)|0;Ty(c[bc>>2]|0,c[Ka>>2]|0,0,c[f>>2]|0,(c[Ta>>2]|0)+(c[Oa>>2]|0)|0);Qu(c[bc>>2]|0,34,(c[Ta>>2]|0)+(c[Oa>>2]|0)|0,c[Va>>2]|0)|0;c[Oa>>2]=(c[Oa>>2]|0)+1}if(!(c[La>>2]|0))break;Vb=c[bc>>2]|0;Wb=c[Ta>>2]|0;Xb=c[(c[Ja>>2]|0)+20>>2]|0;Yb=c[Sa>>2]|0;Zb=CA(c[ec>>2]|0,c[Ma>>2]|0)|0;Uu(Vb,99,Wb,Xb,Yb,Zb,c[(c[Ja>>2]|0)+20>>2]|0)|0;zy(c[bc>>2]|0,31,c[Na>>2]|0,c[Va>>2]|0,c[Sa>>2]|0,0)|0}while(0);Qu(c[bc>>2]|0,123,0,(c[Ra>>2]|0)+1|0)|0;Yb=c[bc>>2]|0;Zb=(c[Ra>>2]|0)+2|0;Xb=(c[Na>>2]|0)-1|0;c[Ya>>2]=c[(c[Ja>>2]|0)+8>>2];c[Ya+4>>2]=Xb;zA(Yb,Zb,31927,Ya);Qu(c[bc>>2]|0,87,c[Ra>>2]|0,4)|0;oy(c[bc>>2]|0,c[Va>>2]|0);Xd(c[ec>>2]|0,c[Wa>>2]|0);c[Na>>2]=(c[Na>>2]|0)+1;c[Ja>>2]=c[(c[Ja>>2]|0)+4>>2]}Qu(c[bc>>2]|0,7,0,(c[Ua>>2]|0)+1|0)|0;ny(c[bc>>2]|0,c[Ua>>2]|0)}}case 6:{if(!(c[dc>>2]|0))break a;bc=c[ec>>2]|0;DA(bc,(dg(c[dc>>2]|0,0)|0)&255);break a}case 18:{c[Ib>>2]=(d[20458+(d[c[cc>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[ia>>2]>>2]|0))c[$b>>2]=-1;c[(c[ac>>2]|0)+44>>2]=6;lA(c[bc>>2]|0,31930);c[Hb>>2]=100;if(c[dc>>2]|0?(gg(c[dc>>2]|0,Hb)|0,(c[Hb>>2]|0)<=0):0)c[Hb>>2]=100;Qu(c[bc>>2]|0,76,c[Hb>>2]|0,1)|0;c[Eb>>2]=0;e:while(1){if((c[Eb>>2]|0)>=(c[(c[ec>>2]|0)+20>>2]|0))break;c[cb>>2]=0;c[db>>2]=0;if(!((c[$b>>2]|0)>=0?(c[Eb>>2]|0)!=(c[$b>>2]|0):0))_b=239;f:do if((_b|0)==239){_b=0;dv(c[ac>>2]|0,c[Eb>>2]|0);c[Gb>>2]=ey(c[bc>>2]|0,66,1)|0;Qu(c[bc>>2]|0,75,0,0)|0;ny(c[bc>>2]|0,c[Gb>>2]|0);c[ab>>2]=(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[Eb>>2]<<4)+12>>2]|0)+8;c[cb>>2]=0;c[$a>>2]=c[(c[ab>>2]|0)+8>>2];while(1){if(!(c[$a>>2]|0))break;c[fb>>2]=c[(c[$a>>2]|0)+8>>2];if(!(d[(c[fb>>2]|0)+42>>0]&32))c[cb>>2]=(c[cb>>2]|0)+1;c[eb>>2]=0;c[gb>>2]=c[(c[fb>>2]|0)+8>>2];while(1){if(!(c[gb>>2]|0))break;c[cb>>2]=(c[cb>>2]|0)+1;c[gb>>2]=c[(c[gb>>2]|0)+20>>2];c[eb>>2]=(c[eb>>2]|0)+1}if((c[eb>>2]|0)>(c[db>>2]|0))c[db>>2]=c[eb>>2];c[$a>>2]=c[c[$a>>2]>>2]}c[bb>>2]=Ed(c[ec>>2]|0,(c[cb>>2]|0)+1<<2,0)|0;if(!(c[bb>>2]|0))break e;c[cb>>2]=0;c[$a>>2]=c[(c[ab>>2]|0)+8>>2];while(1){if(!(c[$a>>2]|0))break;c[hb>>2]=c[(c[$a>>2]|0)+8>>2];if(!(d[(c[hb>>2]|0)+42>>0]&32)){Xb=c[(c[hb>>2]|0)+28>>2]|0;Yb=c[bb>>2]|0;Zb=c[cb>>2]|0;c[cb>>2]=Zb+1;c[Yb+(Zb<<2)>>2]=Xb}c[ib>>2]=c[(c[hb>>2]|0)+8>>2];while(1){if(!(c[ib>>2]|0))break;Xb=c[(c[ib>>2]|0)+44>>2]|0;Yb=c[bb>>2]|0;Zb=c[cb>>2]|0;c[cb>>2]=Zb+1;c[Yb+(Zb<<2)>>2]=Xb;c[ib>>2]=c[(c[ib>>2]|0)+20>>2]}c[$a>>2]=c[c[$a>>2]>>2]}c[(c[bb>>2]|0)+(c[cb>>2]<<2)>>2]=0;if((c[(c[ac>>2]|0)+44>>2]|0)>(8+(c[db>>2]|0)|0))f=c[(c[ac>>2]|0)+44>>2]|0;else f=8+(c[db>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=f;Uu(c[bc>>2]|0,141,2,c[cb>>2]|0,1,c[bb>>2]|0,-15)|0;jy(c[bc>>2]|0,c[Eb>>2]&255);c[Gb>>2]=ey(c[bc>>2]|0,34,2)|0;Yb=c[bc>>2]|0;Zb=c[ec>>2]|0;c[Jb>>2]=c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[Eb>>2]<<4)>>2];Uu(Yb,97,0,3,0,Wj(Zb,31946,Jb)|0,-1)|0;Ru(c[bc>>2]|0,83,2,4,1)|0;Ru(c[bc>>2]|0,52,4,3,2)|0;Qu(c[bc>>2]|0,87,2,1)|0;ny(c[bc>>2]|0,c[Gb>>2]|0);c[$a>>2]=c[(c[ab>>2]|0)+8>>2];while(1){if(!(c[$a>>2]|0))break f;if(!((c[Ib>>2]|0)!=0^1))break f;c[jb>>2]=c[(c[$a>>2]|0)+8>>2];c[mb>>2]=0;c[qb>>2]=-1;g:do if(c[(c[jb>>2]|0)+8>>2]|0){if(!(d[(c[jb>>2]|0)+42>>0]&32))f=0;else f=uv(c[jb>>2]|0)|0;c[lb>>2]=f;c[Gb>>2]=ey(c[bc>>2]|0,66,1)|0;Qu(c[bc>>2]|0,75,0,0)|0;ny(c[bc>>2]|0,c[Gb>>2]|0);EA(c[ac>>2]|0);FA(c[ac>>2]|0,c[jb>>2]|0,104,0,1,0,ob,pb)|0;Qu(c[bc>>2]|0,76,0,7)|0;c[Fb>>2]=0;c[kb>>2]=c[(c[jb>>2]|0)+8>>2];while(1){f=c[bc>>2]|0;if(!(c[kb>>2]|0))break;Qu(f,76,0,8+(c[Fb>>2]|0)|0)|0;c[kb>>2]=c[(c[kb>>2]|0)+20>>2];c[Fb>>2]=(c[Fb>>2]|0)+1}Qu(f,57,c[ob>>2]|0,0)|0;c[nb>>2]=Qu(c[bc>>2]|0,91,7,1)|0;c[Fb>>2]=0;while(1){if((c[Fb>>2]|0)>=(b[(c[jb>>2]|0)+34>>1]|0))break;do if((c[Fb>>2]|0)!=(b[(c[jb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[jb>>2]|0)+4>>2]|0)+(c[Fb>>2]<<4)+12>>0]|0))break;Ty(c[bc>>2]|0,c[jb>>2]|0,c[ob>>2]|0,c[Fb>>2]|0,3);jy(c[bc>>2]|0,-128);c[sb>>2]=ey(c[bc>>2]|0,35,3)|0;Qu(c[bc>>2]|0,91,1,-1)|0;Zb=c[ec>>2]|0;Yb=c[(c[(c[jb>>2]|0)+4>>2]|0)+(c[Fb>>2]<<4)>>2]|0;c[Kb>>2]=c[c[jb>>2]>>2];c[Kb+4>>2]=Yb;c[rb>>2]=Wj(Zb,31970,Kb)|0;Uu(c[bc>>2]|0,97,0,3,0,c[rb>>2]|0,-1)|0;Qu(c[bc>>2]|0,87,3,1)|0;c[tb>>2]=ey(c[bc>>2]|0,66,1)|0;Nu(c[bc>>2]|0,75)|0;ny(c[bc>>2]|0,c[sb>>2]|0);ny(c[bc>>2]|0,c[tb>>2]|0)}while(0);c[Fb>>2]=(c[Fb>>2]|0)+1}c[Fb>>2]=0;c[kb>>2]=c[(c[jb>>2]|0)+8>>2];while(1){f=c[bc>>2]|0;if(!(c[kb>>2]|0))break;c[yb>>2]=ky(f)|0;if((c[lb>>2]|0)!=(c[kb>>2]|0)){c[qb>>2]=Ey(c[ac>>2]|0,c[kb>>2]|0,c[ob>>2]|0,0,0,vb,c[mb>>2]|0,c[qb>>2]|0)|0;c[mb>>2]=c[kb>>2];Qu(c[bc>>2]|0,91,8+(c[Fb>>2]|0)|0,1)|0;c[ub>>2]=zy(c[bc>>2]|0,31,(c[pb>>2]|0)+(c[Fb>>2]|0)|0,c[yb>>2]|0,c[qb>>2]|0,e[(c[kb>>2]|0)+52>>1]|0)|0;Qu(c[bc>>2]|0,91,1,-1)|0;Pu(c[bc>>2]|0,3,31990)|0;Ru(c[bc>>2]|0,52,7,3,3)|0;Pu(c[bc>>2]|0,4,31995)|0;Ru(c[bc>>2]|0,52,4,3,3)|0;c[xb>>2]=Pu(c[bc>>2]|0,4,c[c[kb>>2]>>2]|0)|0;Ru(c[bc>>2]|0,52,4,3,3)|0;Qu(c[bc>>2]|0,87,3,1)|0;c[wb>>2]=ey(c[bc>>2]|0,66,1)|0;Nu(c[bc>>2]|0,75)|0;ny(c[bc>>2]|0,c[ub>>2]|0);if(d[(c[kb>>2]|0)+54>>0]|0){c[zb>>2]=ky(c[bc>>2]|0)|0;c[Bb>>2]=0;while(1){if((c[Bb>>2]|0)>=(e[(c[kb>>2]|0)+50>>1]|0))break;c[Cb>>2]=b[(c[(c[kb>>2]|0)+4>>2]|0)+(c[Bb>>2]<<1)>>1];if(!((c[Cb>>2]|0)>=0?(d[(c[(c[jb>>2]|0)+4>>2]|0)+(c[Cb>>2]<<4)+12>>0]|0)!=0:0))Qu(c[bc>>2]|0,34,(c[qb>>2]|0)+(c[Bb>>2]|0)|0,c[zb>>2]|0)|0;c[Bb>>2]=(c[Bb>>2]|0)+1}c[Ab>>2]=ey(c[bc>>2]|0,7,(c[pb>>2]|0)+(c[Fb>>2]|0)|0)|0;my(c[bc>>2]|0,c[zb>>2]|0)|0;ny(c[bc>>2]|0,c[Ab>>2]|0);zy(c[bc>>2]|0,59,(c[pb>>2]|0)+(c[Fb>>2]|0)|0,c[zb>>2]|0,c[qb>>2]|0,e[(c[kb>>2]|0)+50>>1]|0)|0;Qu(c[bc>>2]|0,91,1,-1)|0;Pu(c[bc>>2]|0,3,32016)|0;my(c[bc>>2]|0,c[xb>>2]|0)|0;oy(c[bc>>2]|0,c[zb>>2]|0)}ny(c[bc>>2]|0,c[wb>>2]|0);Fy(c[ac>>2]|0,c[vb>>2]|0)}c[kb>>2]=c[(c[kb>>2]|0)+20>>2];c[Fb>>2]=(c[Fb>>2]|0)+1}Qu(f,7,c[ob>>2]|0,c[nb>>2]|0)|0;ny(c[bc>>2]|0,(c[nb>>2]|0)-1|0);Pu(c[bc>>2]|0,2,32043)|0;c[Fb>>2]=0;c[kb>>2]=c[(c[jb>>2]|0)+8>>2];while(1){if(!(c[kb>>2]|0))break g;if((c[lb>>2]|0)!=(c[kb>>2]|0)){c[Gb>>2]=Pv(c[bc>>2]|0)|0;Qu(c[bc>>2]|0,66,1,(c[Gb>>2]|0)+2|0)|0;Qu(c[bc>>2]|0,75,0,0)|0;Qu(c[bc>>2]|0,100,(c[pb>>2]|0)+(c[Fb>>2]|0)|0,3)|0;Ru(c[bc>>2]|0,37,8+(c[Fb>>2]|0)|0,(c[Gb>>2]|0)+8|0,3)|0;jy(c[bc>>2]|0,-112);Qu(c[bc>>2]|0,91,1,-1)|0;Pu(c[bc>>2]|0,3,c[c[kb>>2]>>2]|0)|0;Ru(c[bc>>2]|0,52,3,2,7)|0;Qu(c[bc>>2]|0,87,7,1)|0}c[kb>>2]=c[(c[kb>>2]|0)+20>>2];c[Fb>>2]=(c[Fb>>2]|0)+1}}while(0);c[$a>>2]=c[c[$a>>2]>>2]}}while(0);c[Eb>>2]=(c[Eb>>2]|0)+1}c[Db>>2]=mA(c[bc>>2]|0,4,32072,0)|0;if(!(c[Db>>2]|0))break a;c[(c[Db>>2]|0)+8>>2]=0-(c[Hb>>2]|0);a[(c[Db>>2]|0)+40+1>>0]=-2;c[(c[Db>>2]|0)+40+16>>2]=32088;break a}case 12:{if(!(c[dc>>2]|0)){if(fv(c[ac>>2]|0)|0)break a;kA(c[bc>>2]|0,32091,c[5356+(d[(c[c[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[ec>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[ec>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ia>>2]=5356;while(1){if(!(c[c[Ia>>2]>>2]|0))break;bc=0==(bh(c[dc>>2]|0,c[c[Ia>>2]>>2]|0)|0);f=c[Ia>>2]|0;if(bc){_b=306;break}c[Ia>>2]=f+8}if((_b|0)==306){if(d[f+4>>0]|0)f=d[(c[Ia>>2]|0)+4>>0]|0;else f=(a[936]|0)==0?3:2;bc=f&255;a[(c[ec>>2]|0)+66>>0]=bc;a[(c[(c[(c[ec>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(c[c[Ia>>2]>>2]|0)break a;bc=c[ac>>2]|0;c[Za>>2]=c[dc>>2];sl(bc,32100,Za);break a}case 0:{c[s>>2]=c[(c[Lb>>2]|0)+8>>2];Yu(c[bc>>2]|0,c[$b>>2]|0);if(c[dc>>2]|0?(d[(c[Lb>>2]|0)+5>>0]&2|0)==0:0){c[t>>2]=mA(c[bc>>2]|0,2,32125,0)|0;c[(c[t>>2]|0)+4>>2]=c[$b>>2];c[(c[t>>2]|0)+20+4>>2]=c[$b>>2];c[(c[t>>2]|0)+20+8>>2]=c[s>>2];bc=fg(c[dc>>2]|0)|0;c[(c[t>>2]|0)+20+12>>2]=bc;break a}c[u>>2]=mA(c[bc>>2]|0,3,32133,0)|0;c[(c[u>>2]|0)+4>>2]=c[$b>>2];c[(c[u>>2]|0)+20+4>>2]=c[$b>>2];c[(c[u>>2]|0)+20+12>>2]=c[s>>2];Rs(c[bc>>2]|0,1);Ss(c[bc>>2]|0,0,0,c[cc>>2]|0,-1)|0;GA(c[bc>>2]|0);break a}case 8:{c[Ca>>2]=0;c[(c[ac>>2]|0)+44>>2]=1;lA(c[bc>>2]|0,32145);while(1){ac=c[Ca>>2]|0;c[Ca>>2]=ac+1;ac=od(ac)|0;c[Da>>2]=ac;f=c[bc>>2]|0;if(!ac)break;Pu(f,1,c[Da>>2]|0)|0;Qu(c[bc>>2]|0,87,1,1)|0}GA(f);break a}case 36:{c[v>>2]=c[c[ia>>2]>>2]|0?c[$b>>2]|0:10;c[w>>2]=0;do if(c[dc>>2]|0){if(!(bh(c[dc>>2]|0,32160)|0)){c[w>>2]=1;break}if(!(bh(c[dc>>2]|0,32165)|0)){c[w>>2]=2;break}if(!(bh(c[dc>>2]|0,32173)|0))c[w>>2]=3}while(0);yA(c[bc>>2]|0,3,5428);c[(c[ac>>2]|0)+44>>2]=3;Ru(c[bc>>2]|0,8,c[v>>2]|0,c[w>>2]|0,1)|0;Qu(c[bc>>2]|0,87,1,3)|0;break a}case 35:{if(c[dc>>2]|0){ac=c[ec>>2]|0;HA(ac,fg(c[dc>>2]|0)|0)|0}if((c[(c[ec>>2]|0)+224>>2]|0)==145)f=c[(c[ec>>2]|0)+228>>2]|0;else f=0;nA(c[bc>>2]|0,32182,f,((f|0)<0)<<31>>31);break a}case 27:{JA(c[ec>>2]|0)|0;break a}case 28:{if(c[dc>>2]|0?(Kz(c[dc>>2]|0,x)|0)==0:0){ac=x;il(c[ac>>2]|0,c[ac+4>>2]|0)|0}ac=c[bc>>2]|0;bc=il(-1,-1)|0;nA(ac,32209,bc,D);break a}case 34:{if(c[dc>>2]|0?(_b=(Kz(c[dc>>2]|0,y)|0)==0,ac=y,$b=c[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(c[ac>>2]|0)>>>0>=0)):0)LA(c[ec>>2]|0,11,c[y>>2]&2147483647)|0;ac=c[bc>>2]|0;bc=LA(c[ec>>2]|0,11,-1)|0;nA(ac,32225,bc,((bc|0)<0)<<31>>31);break a}default:{if(c[dc>>2]|0){ac=c[ec>>2]|0;KA(ac,fg(c[dc>>2]|0)|0)|0}ac=c[(c[ec>>2]|0)+428>>2]|0;nA(c[bc>>2]|0,32201,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);Xd(c[ec>>2]|0,c[cc>>2]|0);Xd(c[ec>>2]|0,c[dc>>2]|0);l=fc;return}function ju(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+112|0;v=w+24|0;u=w;n=w+108|0;o=w+104|0;p=w+100|0;q=w+96|0;r=w+92|0;s=w+88|0;t=w+64|0;f=w+56|0;g=w+48|0;h=w+44|0;i=w+40|0;j=w+36|0;k=w+32|0;m=w+28|0;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=c[(c[n>>2]|0)+444>>2];c[s>>2]=c[c[n>>2]>>2];c[(c[n>>2]|0)+444>>2]=0;do if(c[q>>2]|0?(c[(c[n>>2]|0)+36>>2]|0)==0:0){c[r>>2]=c[c[q>>2]>>2];c[f>>2]=Hu(c[c[n>>2]>>2]|0,c[(c[q>>2]|0)+20>>2]|0)|0;c[(c[q>>2]|0)+28>>2]=c[o>>2];while(1){b=c[q>>2]|0;if(!(c[o>>2]|0))break;c[(c[o>>2]|0)+4>>2]=b;c[o>>2]=c[(c[o>>2]|0)+28>>2]}jx(g,c[b>>2]|0);cA(t,c[n>>2]|0,c[f>>2]|0,31184,g);if((hA(t,c[(c[q>>2]|0)+28>>2]|0)|0)==0?(fA(t,c[(c[q>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[s>>2]|0)+148+5>>0]|0)){c[h>>2]=Lu(c[n>>2]|0)|0;if(!(c[h>>2]|0))break;cv(c[n>>2]|0,0,c[f>>2]|0);c[i>>2]=Uj(c[s>>2]|0,c[c[p>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0,0)|0;p=c[n>>2]|0;d=(c[f>>2]|0)==1?26433:26452;e=c[r>>2]|0;g=c[(c[q>>2]|0)+4>>2]|0;t=c[i>>2]|0;c[u>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];c[u+4>>2]=d;c[u+8>>2]=e;c[u+12>>2]=g;c[u+16>>2]=t;Ku(p,31463,u);Xd(c[s>>2]|0,c[i>>2]|0);Mu(c[n>>2]|0,c[f>>2]|0);p=c[h>>2]|0;t=c[f>>2]|0;u=c[s>>2]|0;c[v>>2]=c[r>>2];Ou(p,t,Wj(u,31527,v)|0)}if(a[(c[s>>2]|0)+148+5>>0]|0){c[j>>2]=c[q>>2];c[k>>2]=(c[(c[(c[s>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+40;c[q>>2]=Fk(c[k>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(c[q>>2]|0){Od(c[s>>2]|0);break}if((c[(c[j>>2]|0)+20>>2]|0)==(c[(c[j>>2]|0)+24>>2]|0)){c[m>>2]=hv((c[(c[j>>2]|0)+24>>2]|0)+8|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=c[(c[m>>2]|0)+60>>2];c[(c[m>>2]|0)+60>>2]=c[j>>2]}}}}while(0);sk(c[s>>2]|0,c[q>>2]|0);al(c[s>>2]|0,c[o>>2]|0);l=w;return}function ku(b,e,f,g,h,i,j,k,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;H=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;M=Q+116|0;B=Q+112|0;N=Q+108|0;O=Q+104|0;P=Q+100|0;C=Q+96|0;q=Q+72|0;D=Q+68|0;E=Q+64|0;F=Q+60|0;G=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=i;c[K>>2]=j;c[L>>2]=k;c[z>>2]=m;c[A>>2]=n;c[M>>2]=0;c[N>>2]=0;c[O>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[P>>2]=1;c[C>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{sl(c[I>>2]|0,31138,r);break}else{c[P>>2]=ay(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,C)|0;if((c[P>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[O>>2]|0)+69>>0]|0)==0:0){if((c[P>>2]|0)!=1?(d[(c[O>>2]|0)+148+5>>0]|0)!=0:0){Xd(c[O>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[B>>2]=bA(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[O>>2]|0)+148+5>>0]|0)==0?(c[B>>2]|0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[B>>2]|0)+64>>2]|0)==(c[(c[(c[O>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[P>>2]=1;if((a[(c[O>>2]|0)+69>>0]|0)==0?(cA(q,c[I>>2]|0,c[P>>2]|0,31184,c[C>>2]|0),(dA(q,c[K>>2]|0)|0)==0):0){c[B>>2]=bA(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[B>>2]|0)){if((d[(c[O>>2]|0)+148+4>>0]|0)!=1)break;a[(c[O>>2]|0)+148+6>>0]=1;break}if(d[(c[B>>2]|0)+42>>0]&16|0){sl(c[I>>2]|0,31192,s);break}c[N>>2]=Eu(c[O>>2]|0,c[C>>2]|0)|0;if(c[N>>2]|0?0==(dw(c[I>>2]|0,c[N>>2]|0)|0):0){if(hv((c[(c[(c[O>>2]|0)+16>>2]|0)+(c[P>>2]<<4)+12>>2]|0)+40|0,c[N>>2]|0)|0){b=c[I>>2]|0;if(c[A>>2]|0){dv(b,c[P>>2]|0);break}else{c[H>>2]=c[C>>2];sl(b,31233,H);break}}if(!(ld(c[c[B>>2]>>2]|0,26664,7)|0)){sl(c[I>>2]|0,31259,t);break}if((c[x>>2]|0)!=77?(c[(c[B>>2]|0)+12>>2]|0)!=0:0){P=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==63?31297:31304;c[u+4>>2]=H;c[u+8>>2]=0;sl(P,31310,u);break}if((c[x>>2]|0)==77?(c[(c[B>>2]|0)+12>>2]|0)==0:0){P=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;sl(P,31347,v);break}c[D>>2]=Hu(c[O>>2]|0,c[(c[B>>2]|0)+64>>2]|0)|0;c[E>>2]=7;c[F>>2]=c[(c[(c[O>>2]|0)+16>>2]|0)+(c[D>>2]<<4)>>2];if(c[z>>2]|0)b=c[(c[(c[O>>2]|0)+16>>2]|0)+16>>2]|0;else b=c[F>>2]|0;c[G>>2]=b;if((c[D>>2]|0)==1|(c[z>>2]|0)!=0)c[E>>2]=5;if((Iu(c[I>>2]|0,c[E>>2]|0,c[N>>2]|0,c[c[B>>2]>>2]|0,c[G>>2]|0)|0)==0?(Iu(c[I>>2]|0,18,(c[D>>2]|0)==1?26433:26452,0,c[F>>2]|0)|0)==0:0){if((c[x>>2]|0)==77)c[x>>2]=63;c[M>>2]=_l(c[O>>2]|0,36,0)|0;if(!(c[M>>2]|0))break;c[c[M>>2]>>2]=c[N>>2];c[N>>2]=0;H=Xo(c[O>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[M>>2]|0)+4>>2]=H;c[(c[M>>2]|0)+20>>2]=c[(c[(c[O>>2]|0)+16>>2]|0)+(c[P>>2]<<4)+12>>2];c[(c[M>>2]|0)+24>>2]=c[(c[B>>2]|0)+64>>2];a[(c[M>>2]|0)+8>>0]=c[y>>2];a[(c[M>>2]|0)+9>>0]=(c[x>>2]|0)==63?1:2;P=Ww(c[O>>2]|0,c[L>>2]|0,1)|0;c[(c[M>>2]|0)+12>>2]=P;P=Yx(c[O>>2]|0,c[J>>2]|0)|0;c[(c[M>>2]|0)+16>>2]=P;c[(c[I>>2]|0)+444>>2]=c[M>>2]}}}}while(0);Xd(c[O>>2]|0,c[N>>2]|0);Rk(c[O>>2]|0,c[K>>2]|0);Tk(c[O>>2]|0,c[J>>2]|0);Ok(c[O>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+444>>2]|0){l=Q;return}sk(c[O>>2]|0,c[M>>2]|0);l=Q;return}function lu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;m=n+20|0;h=n;c[i>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[m>>0]=g;c[h>>2]=aA(c[i>>2]|0,110,c[o>>2]|0)|0;if(c[h>>2]|0){o=cx(c[i>>2]|0,c[j>>2]|0,1)|0;c[(c[h>>2]|0)+20>>2]=o;o=Ww(c[i>>2]|0,c[k>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=o;a[(c[h>>2]|0)+1>>0]=a[m>>0]|0}Kk(c[i>>2]|0,c[j>>2]|0);Ok(c[i>>2]|0,c[k>>2]|0);l=n;return c[h>>2]|0}function mu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;m=n+20|0;h=n;c[i>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[m>>0]=g;c[h>>2]=aA(c[i>>2]|0,108,c[o>>2]|0)|0;b=c[i>>2]|0;if(c[h>>2]|0){o=kw(b,c[k>>2]|0,1)|0;c[(c[h>>2]|0)+8>>2]=o;c[(c[h>>2]|0)+24>>2]=c[j>>2];a[(c[h>>2]|0)+1>>0]=a[m>>0]|0;m=c[i>>2]|0;o=c[k>>2]|0;Jk(m,o);o=c[h>>2]|0;l=n;return o|0}else{Tk(b,c[j>>2]|0);m=c[i>>2]|0;o=c[k>>2]|0;Jk(m,o);o=c[h>>2]|0;l=n;return o|0}return 0}function nu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[j>>2]=d;c[g>>2]=e;c[h>>2]=aA(c[f>>2]|0,109,c[j>>2]|0)|0;if(c[h>>2]|0){j=Ww(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=j;a[(c[h>>2]|0)+1>>0]=10}Ok(c[f>>2]|0,c[g>>2]|0);l=i;return c[h>>2]|0}function ou(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;c[h>>2]=_l(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){Jk(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}return 0}function pu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;m=r+40|0;n=r+36|0;o=r+32|0;g=r+28|0;h=r+24|0;p=r+20|0;i=r+16|0;k=r+12|0;f=r+8|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[g>>2]=0;c[k>>2]=c[c[m>>2]>>2];if(a[(c[k>>2]|0)+69>>0]|0){p=c[k>>2]|0;q=c[n>>2]|0;Rk(p,q);l=r;return}if(fv(c[m>>2]|0)|0){p=c[k>>2]|0;q=c[n>>2]|0;Rk(p,q);l=r;return}c[p>>2]=c[(c[n>>2]|0)+8+4>>2];c[i>>2]=c[(c[n>>2]|0)+8+8>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;e=c[h>>2]|0;c[f>>2]=(c[h>>2]|0)<2?e^1:e;if(!(c[p>>2]|0?(bh(c[(c[(c[k>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2]|0,c[p>>2]|0)|0)!=0:0))j=7;if((j|0)==7?(j=0,c[g>>2]=hv((c[(c[(c[k>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+40|0,c[i>>2]|0)|0,c[g>>2]|0):0)break;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){_z(c[m>>2]|0,c[g>>2]|0);p=c[k>>2]|0;q=c[n>>2]|0;Rk(p,q);l=r;return}b=c[m>>2]|0;if(c[o>>2]|0)Zz(b,c[p>>2]|0);else{c[q>>2]=c[n>>2];c[q+4>>2]=0;sl(b,31067,q)}a[(c[m>>2]|0)+17>>0]=1;p=c[k>>2]|0;q=c[n>>2]|0;Rk(p,q);l=r;return}function qu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;Oz(c[j>>2]|0,24,4404,c[i>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Oz(c[f>>2]|0,25,4376,c[e>>2]|0,0,0,c[e>>2]|0);l=d;return}function su(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;t=u;s=u+48|0;i=u+44|0;j=u+40|0;k=u+36|0;m=u+32|0;n=u+28|0;o=u+24|0;q=u+20|0;r=u+16|0;f=u+12|0;g=u+8|0;h=u+4|0;c[s>>2]=b;c[i>>2]=d;c[j>>2]=e;c[f>>2]=c[c[s>>2]>>2];if(fv(c[s>>2]|0)|0){l=u;return}if(!(c[i>>2]|0)){Ay(c[s>>2]|0,0);l=u;return}if(!((c[j>>2]|0)!=0?(c[c[j>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[h>>2]=Eu(c[c[s>>2]>>2]|0,c[i>>2]|0)|0;if(!(c[h>>2]|0)){l=u;return}c[k>>2]=tw(c[f>>2]|0,a[(c[f>>2]|0)+66>>0]|0,c[h>>2]|0,0)|0;if(!(c[k>>2]|0)){Xd(c[f>>2]|0,c[h>>2]|0);break}Ay(c[s>>2]|0,c[h>>2]|0);Xd(c[f>>2]|0,c[h>>2]|0);l=u;return}while(0);c[r>>2]=ay(c[s>>2]|0,c[i>>2]|0,c[j>>2]|0,g)|0;if((c[r>>2]|0)<0){l=u;return}c[m>>2]=Eu(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[m>>2]|0)){l=u;return}c[n>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[o>>2]=gv(c[f>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){By(c[s>>2]|0,c[o>>2]|0,0);Xd(c[f>>2]|0,c[m>>2]|0);l=u;return}c[q>>2]=vv(c[f>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;Xd(c[f>>2]|0,c[m>>2]|0);b=c[s>>2]|0;if(c[q>>2]|0){cv(b,0,c[r>>2]|0);Cy(c[s>>2]|0,c[q>>2]|0,-1);l=u;return}else{sl(b,30301,t);l=u;return}}function tu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;o=r+44|0;f=r+40|0;g=r+36|0;p=r+32|0;h=r+28|0;i=r+24|0;q=r+20|0;j=r+16|0;k=r+12|0;m=r+8|0;e=r+4|0;n=r;c[o>>2]=a;c[f>>2]=b;c[g>>2]=d;c[p>>2]=c[c[o>>2]>>2];if(fv(c[o>>2]|0)|0){l=r;return}a:do if(c[f>>2]|0){if(c[(c[g>>2]|0)+4>>2]|0){c[h>>2]=ay(c[o>>2]|0,c[f>>2]|0,c[g>>2]|0,e)|0;if((c[h>>2]|0)<0)break;c[j>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Eu(c[p>>2]|0,c[e>>2]|0)|0;if(!(c[q>>2]|0))break;i=vv(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0)|0;c[m>>2]=i;a=c[o>>2]|0;if(!(i|0)){m=ev(a,0,c[q>>2]|0,c[j>>2]|0)|0;c[k>>2]=m;if(m|0)$x(c[o>>2]|0,c[k>>2]|0,0)}else $x(a,c[(c[m>>2]|0)+12>>2]|0,c[m>>2]|0);Xd(c[p>>2]|0,c[q>>2]|0);break}c[h>>2]=_x(c[p>>2]|0,c[f>>2]|0)|0;if((c[h>>2]|0)>=0){Zx(c[o>>2]|0,c[h>>2]|0);break}c[q>>2]=Eu(c[p>>2]|0,c[f>>2]|0)|0;if(c[q>>2]|0){j=vv(c[p>>2]|0,c[q>>2]|0,0)|0;c[m>>2]=j;a=c[o>>2]|0;if(!(j|0)){m=ev(a,0,c[q>>2]|0,0)|0;c[k>>2]=m;if(m|0)$x(c[o>>2]|0,c[k>>2]|0,0)}else $x(a,c[(c[m>>2]|0)+12>>2]|0,c[m>>2]|0);Xd(c[p>>2]|0,c[q>>2]|0)}}else{c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break a;if((c[i>>2]|0)!=1)Zx(c[o>>2]|0,c[i>>2]|0);c[i>>2]=(c[i>>2]|0)+1}}while(0);c[n>>2]=Lu(c[o>>2]|0)|0;if(!(c[n>>2]|0)){l=r;return}Nu(c[n>>2]|0,150)|0;l=r;return}function uu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+176|0;C=E+96|0;B=E+80|0;A=E+40|0;D=E+16|0;z=E+8|0;h=E;t=E+172|0;u=E+168|0;g=E+164|0;v=E+160|0;w=E+156|0;x=E+152|0;y=E+148|0;i=E+144|0;j=E+140|0;k=E+136|0;m=E+132|0;n=E+128|0;o=E+124|0;p=E+120|0;q=E+116|0;r=E+112|0;s=E+108|0;c[t>>2]=b;c[u>>2]=e;c[g>>2]=f;c[y>>2]=0;c[i>>2]=c[c[t>>2]>>2];c[n>>2]=0;c[o>>2]=0;c[p>>2]=c[(c[i>>2]|0)+24>>2];do if(((a[(c[i>>2]|0)+69>>0]|0)==0?(c[x>>2]=av(c[t>>2]|0,0,(c[u>>2]|0)+8|0)|0,c[x>>2]|0):0)?(c[v>>2]=Hu(c[c[t>>2]>>2]|0,c[(c[x>>2]|0)+64>>2]|0)|0,c[w>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2],f=(c[i>>2]|0)+24|0,c[f>>2]=c[f>>2]|2097152,c[y>>2]=Eu(c[i>>2]|0,c[g>>2]|0)|0,c[y>>2]|0):0){if((gv(c[i>>2]|0,c[y>>2]|0,c[w>>2]|0)|0)==0?(vv(c[i>>2]|0,c[y>>2]|0,c[w>>2]|0)|0)==0:0){if(bv(c[t>>2]|0,c[c[x>>2]>>2]|0)|0)break;if(dw(c[t>>2]|0,c[y>>2]|0)|0)break;b=c[t>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){c[z>>2]=c[c[x>>2]>>2];sl(b,27745,z);break}if(Iu(b,26,c[w>>2]|0,c[c[x>>2]>>2]|0,0)|0)break;if(ew(c[t>>2]|0,c[x>>2]|0)|0)break;if(d[(c[x>>2]|0)+42>>0]&16|0?(c[o>>2]=fw(c[i>>2]|0,c[x>>2]|0)|0,(c[(c[c[(c[o>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[o>>2]=0;c[m>>2]=Lu(c[t>>2]|0)|0;if(!(c[m>>2]|0))break;cv(c[t>>2]|0,(c[o>>2]|0)!=0&1,c[v>>2]|0);Mu(c[t>>2]|0,c[v>>2]|0);if(c[o>>2]|0){h=(c[t>>2]|0)+44|0;z=(c[h>>2]|0)+1|0;c[h>>2]=z;c[q>>2]=z;Pu(c[m>>2]|0,c[q>>2]|0,c[y>>2]|0)|0;Uu(c[m>>2]|0,157,c[q>>2]|0,0,0,c[o>>2]|0,-10)|0;gw(c[t>>2]|0)}c[k>>2]=c[c[x>>2]>>2];c[j>>2]=Uh(c[k>>2]|0,-1)|0;if(c[(c[i>>2]|0)+24>>2]&524288|0?(z=hw(c[t>>2]|0,c[x>>2]|0)|0,c[n>>2]=z,z|0):0){z=c[t>>2]|0;h=(c[v>>2]|0)==1?26433:26452;m=c[k>>2]|0;o=c[y>>2]|0;q=c[n>>2]|0;c[D>>2]=c[w>>2];c[D+4>>2]=h;c[D+8>>2]=m;c[D+12>>2]=o;c[D+16>>2]=q;Ku(z,27772,D);Xd(c[i>>2]|0,c[n>>2]|0)}D=c[t>>2]|0;f=(c[v>>2]|0)==1?26433:26452;g=c[y>>2]|0;h=c[y>>2]|0;m=c[y>>2]|0;o=c[y>>2]|0;q=c[y>>2]|0;v=c[j>>2]|0;z=c[k>>2]|0;c[A>>2]=c[w>>2];c[A+4>>2]=f;c[A+8>>2]=g;c[A+12>>2]=h;c[A+16>>2]=m;c[A+20>>2]=o;c[A+24>>2]=q;c[A+28>>2]=v;c[A+32>>2]=z;Ku(D,27841,A);if(gv(c[i>>2]|0,28225,c[w>>2]|0)|0){D=c[t>>2]|0;z=c[y>>2]|0;A=c[c[x>>2]>>2]|0;c[B>>2]=c[w>>2];c[B+4>>2]=z;c[B+8>>2]=A;Ku(D,28241,B)}D=Tv(c[t>>2]|0,c[x>>2]|0)|0;c[n>>2]=D;if(D|0){D=c[t>>2]|0;A=c[y>>2]|0;B=c[n>>2]|0;c[C>>2]=c[y>>2];c[C+4>>2]=A;c[C+8>>2]=B;Ku(D,28299,C);Xd(c[i>>2]|0,c[n>>2]|0)}a:do if(c[(c[i>>2]|0)+24>>2]&524288|0){c[r>>2]=iw(c[x>>2]|0)|0;while(1){if(!(c[r>>2]|0))break a;c[s>>2]=c[c[r>>2]>>2];if((c[s>>2]|0)!=(c[x>>2]|0))Rv(c[t>>2]|0,c[c[r>>2]>>2]|0,c[c[s>>2]>>2]|0);c[r>>2]=c[(c[r>>2]|0)+12>>2]}}while(0);Rv(c[t>>2]|0,c[x>>2]|0,c[y>>2]|0);break}D=c[t>>2]|0;c[h>>2]=c[y>>2];sl(D,27686,h)}while(0);Rk(c[i>>2]|0,c[u>>2]|0);Xd(c[i>>2]|0,c[y>>2]|0);c[(c[i>>2]|0)+24>>2]=c[p>>2];l=E;return}function vu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+144|0;A=E+40|0;z=E+32|0;D=E+24|0;C=E+16|0;B=E+8|0;y=E;q=E+128|0;r=E+124|0;s=E+120|0;t=E+116|0;u=E+112|0;v=E+108|0;w=E+104|0;x=E+100|0;g=E+96|0;h=E+92|0;i=E+88|0;j=E+84|0;k=E+80|0;m=E+76|0;n=E+72|0;o=E+68|0;p=E+64|0;c[q>>2]=e;c[r>>2]=f;c[j>>2]=c[(c[q>>2]|0)+8>>2];c[i>>2]=c[c[q>>2]>>2];if(c[(c[q>>2]|0)+36>>2]|0){l=E;return}if(d[(c[i>>2]|0)+69>>0]|0){l=E;return}c[s>>2]=c[(c[q>>2]|0)+440>>2];c[u>>2]=Hu(c[i>>2]|0,c[(c[s>>2]|0)+64>>2]|0)|0;c[v>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];c[w>>2]=(c[c[s>>2]>>2]|0)+16;c[g>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((b[(c[s>>2]|0)+34>>1]|0)-1<<4);c[h>>2]=c[(c[g>>2]|0)+4>>2];c[t>>2]=gv(c[i>>2]|0,c[w>>2]|0,c[v>>2]|0)|0;if(Iu(c[q>>2]|0,26,c[v>>2]|0,c[c[t>>2]>>2]|0,0)|0){l=E;return}if(c[h>>2]|0?(d[c[(c[h>>2]|0)+12>>2]>>0]|0)==101:0)c[h>>2]=0;if(d[(c[g>>2]|0)+15>>0]&1|0){sl(c[q>>2]|0,27300,y);l=E;return}if(c[(c[s>>2]|0)+8>>2]|0){sl(c[q>>2]|0,27332,B);l=E;return}if(c[(c[i>>2]|0)+24>>2]&524288|0?(c[h>>2]|0?(c[(c[s>>2]|0)+16>>2]|0)!=0:0):0){sl(c[q>>2]|0,27359,C);l=E;return}if(!(c[h>>2]|0?1:(d[(c[g>>2]|0)+12>>0]|0)==0)){sl(c[q>>2]|0,27418,D);l=E;return}do if(c[h>>2]|0){c[m>>2]=0;c[n>>2]=Nv(c[i>>2]|0,c[h>>2]|0,1,65,m)|0;if(c[n>>2]|0){l=E;return}if(c[m>>2]|0){Bk(c[m>>2]|0);break}sl(c[q>>2]|0,27471,z);l=E;return}while(0);c[x>>2]=Uj(c[i>>2]|0,c[c[r>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0,0)|0;if(c[x>>2]|0){c[o>>2]=(c[x>>2]|0)+((c[(c[r>>2]|0)+4>>2]|0)-1);c[p>>2]=c[(c[i>>2]|0)+24>>2];while(1){if((c[o>>2]|0)>>>0<=(c[x>>2]|0)>>>0)break;if((a[c[o>>2]>>0]|0)!=59?(d[20063+(d[c[o>>2]>>0]|0)>>0]&1|0)==0:0)break;D=c[o>>2]|0;c[o>>2]=D+-1;a[D>>0]=0}D=(c[i>>2]|0)+24|0;c[D>>2]=c[D>>2]|2097152;D=c[q>>2]|0;r=(c[u>>2]|0)==1?26433:26452;y=c[(c[s>>2]|0)+44>>2]|0;z=c[x>>2]|0;B=(c[(c[s>>2]|0)+44>>2]|0)+1|0;C=c[w>>2]|0;c[A>>2]=c[v>>2];c[A+4>>2]=r;c[A+8>>2]=y;c[A+12>>2]=z;c[A+16>>2]=B;c[A+20>>2]=C;Ku(D,27517,A);Xd(c[i>>2]|0,c[x>>2]|0);c[(c[i>>2]|0)+24>>2]=c[p>>2]}c[k>>2]=Ov(c[q>>2]|0)|0;Ru(c[j>>2]|0,101,c[u>>2]|0,c[k>>2]|0,2)|0;Yu(c[j>>2]|0,c[u>>2]|0);Qu(c[j>>2]|0,91,c[k>>2]|0,-2)|0;C=c[j>>2]|0;D=c[k>>2]|0;Qu(C,66,D,(Pv(c[j>>2]|0)|0)+2|0)|0;Ru(c[j>>2]|0,102,c[u>>2]|0,2,3)|0;Qv(c[q>>2]|0,c[k>>2]|0);Rv(c[q>>2]|0,c[t>>2]|0,c[c[t>>2]>>2]|0);l=E;return}function wu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;t=u+16|0;s=u+8|0;g=u;j=u+56|0;k=u+52|0;m=u+48|0;n=u+44|0;o=u+40|0;p=u+36|0;q=u+32|0;r=u+28|0;h=u+24|0;i=u+20|0;c[j>>2]=e;c[k>>2]=f;c[h>>2]=c[c[j>>2]>>2];do if((a[(c[h>>2]|0)+69>>0]|0)==0?(c[n>>2]=av(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,c[n>>2]|0):0){if(d[(c[n>>2]|0)+42>>0]&16|0){sl(c[j>>2]|0,26581,g);break}e=c[j>>2]|0;if(c[(c[n>>2]|0)+12>>2]|0){sl(e,26615,s);break}if(((0==(bv(e,c[c[n>>2]>>2]|0)|0)?(c[p>>2]=Hu(c[h>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0,c[m>>2]=_l(c[h>>2]|0,72,0)|0,c[m>>2]|0):0)?(c[(c[j>>2]|0)+440>>2]=c[m>>2],b[(c[m>>2]|0)+36>>1]=1,b[(c[m>>2]|0)+34>>1]=b[(c[n>>2]|0)+34>>1]|0,c[r>>2]=((((b[(c[m>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=_l(c[h>>2]|0,c[r>>2]<<4,0)|0,c[(c[m>>2]|0)+4>>2]=s,s=c[h>>2]|0,c[t>>2]=c[c[n>>2]>>2],t=Wj(s,26645,t)|0,c[c[m>>2]>>2]=t,c[(c[m>>2]|0)+4>>2]|0):0)?c[c[m>>2]>>2]|0:0){h0(c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+4>>2]|0,b[(c[m>>2]|0)+34>>1]<<4|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(b[(c[m>>2]|0)+34>>1]|0))break;c[i>>2]=(c[(c[m>>2]|0)+4>>2]|0)+(c[q>>2]<<4);t=Xo(c[h>>2]|0,c[c[i>>2]>>2]|0)|0;c[c[i>>2]>>2]=t;c[(c[i>>2]|0)+8>>2]=0;c[(c[i>>2]|0)+4>>2]=0;c[q>>2]=(c[q>>2]|0)+1}c[(c[m>>2]|0)+64>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[p>>2]<<4)+12>>2];c[(c[m>>2]|0)+44>>2]=c[(c[n>>2]|0)+44>>2];b[(c[m>>2]|0)+36>>1]=1;cv(c[j>>2]|0,0,c[p>>2]|0);c[o>>2]=Lu(c[j>>2]|0)|0;if(c[o>>2]|0)Mu(c[j>>2]|0,c[p>>2]|0)}}while(0);Rk(c[h>>2]|0,c[k>>2]|0);l=u;return}function xu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+96|0;t=u+32|0;s=u+8|0;r=u;i=u+80|0;j=u+76|0;k=u+72|0;m=u+68|0;n=u+64|0;o=u+60|0;p=u+56|0;q=u+52|0;e=u+48|0;f=u+44|0;g=u+40|0;h=u+36|0;c[i>>2]=b;c[j>>2]=d;c[k>>2]=c[(c[i>>2]|0)+440>>2];c[m>>2]=c[c[i>>2]>>2];if(!(c[k>>2]|0)){l=u;return}Fu(c[i>>2]|0);c[(c[i>>2]|0)+452>>2]=0;if((c[(c[k>>2]|0)+48>>2]|0)<1){l=u;return}if(!(a[(c[m>>2]|0)+148+5>>0]|0)){if(c[j>>2]|0)c[(c[i>>2]|0)+384+4>>2]=(c[c[j>>2]>>2]|0)-(c[(c[i>>2]|0)+384>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);d=c[m>>2]|0;c[r>>2]=(c[i>>2]|0)+384;c[n>>2]=Wj(d,26409,r)|0;c[p>>2]=Hu(c[m>>2]|0,c[(c[k>>2]|0)+64>>2]|0)|0;r=c[i>>2]|0;d=(c[p>>2]|0)==1?26433:26452;f=c[c[k>>2]>>2]|0;g=c[c[k>>2]>>2]|0;h=c[n>>2]|0;j=c[(c[i>>2]|0)+100>>2]|0;c[s>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[s+4>>2]=d;c[s+8>>2]=f;c[s+12>>2]=g;c[s+16>>2]=h;c[s+20>>2]=j;Ku(r,26466,s);Xd(c[m>>2]|0,c[n>>2]|0);c[e>>2]=Lu(c[i>>2]|0)|0;Mu(c[i>>2]|0,c[p>>2]|0);Nu(c[e>>2]|0,150)|0;s=c[m>>2]|0;c[t>>2]=c[c[k>>2]>>2];c[o>>2]=Wj(s,26554,t)|0;Ou(c[e>>2]|0,c[p>>2]|0,c[o>>2]|0);s=(c[i>>2]|0)+44|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[q>>2]=t;Pu(c[e>>2]|0,c[q>>2]|0,c[c[k>>2]>>2]|0)|0;Qu(c[e>>2]|0,153,c[p>>2]|0,c[q>>2]|0)|0;l=u;return}c[g>>2]=c[(c[k>>2]|0)+64>>2];c[h>>2]=c[c[k>>2]>>2];c[f>>2]=Fk((c[g>>2]|0)+8|0,c[h>>2]|0,c[k>>2]|0)|0;if(c[f>>2]|0){Od(c[m>>2]|0);l=u;return}else{c[(c[i>>2]|0)+440>>2]=0;l=u;return}}function yu(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+32|0;m=o+28|0;r=o+24|0;q=o+20|0;n=o+16|0;p=o+12|0;i=o+8|0;j=o+4|0;k=o;c[m>>2]=b;c[r>>2]=e;c[q>>2]=f;c[n>>2]=g;c[p>>2]=h;kt(c[m>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[j>>2]=c[(c[m>>2]|0)+440>>2];if(!(c[j>>2]|0)){l=o;return}c[k>>2]=c[c[m>>2]>>2];c[i>>2]=Hu(c[k>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;r=(c[j>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[j>>2]|0)+48>>2]=0;r=c[k>>2]|0;q=c[j>>2]|0;Gu(r,q,Eu(c[k>>2]|0,c[n>>2]|0)|0);Gu(c[k>>2]|0,c[j>>2]|0,0);q=c[k>>2]|0;r=c[j>>2]|0;Gu(q,r,Xo(c[k>>2]|0,c[c[j>>2]>>2]|0)|0);c[(c[m>>2]|0)+384+4>>2]=(c[c[n>>2]>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)-(c[(c[m>>2]|0)+384>>2]|0);if(!(c[(c[j>>2]|0)+52>>2]|0)){l=o;return}Iu(c[m>>2]|0,29,c[c[j>>2]>>2]|0,c[c[(c[j>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+(c[i>>2]<<4)>>2]|0)|0;l=o;return}function zu(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Fu(c[d>>2]|0);c[(c[d>>2]|0)+452>>2]=0;c[(c[d>>2]|0)+452+4>>2]=0;l=b;return}function Au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+452;a=c[c[d>>2]>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=a;d=c[(c[d>>2]|0)+4>>2]|0;g=c[e>>2]|0;g=g+4|0;c[g>>2]=d;l=f;return}else{d=a+(c[(c[d>>2]|0)+4>>2]|0)-(c[c[e>>2]>>2]|0)|0;g=c[e>>2]|0;g=g+4|0;c[g>>2]=d;l=f;return}}function Bu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;r=s;n=s+40|0;o=s+36|0;t=s+32|0;p=s+28|0;q=s+24|0;h=s+20|0;i=s+16|0;j=s+12|0;k=s+8|0;m=s+4|0;c[n>>2]=b;c[o>>2]=d;c[t>>2]=e;c[p>>2]=f;c[q>>2]=g;c[h>>2]=c[c[n>>2]>>2];c[j>>2]=Eu(c[c[n>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[j>>2]|0)!=0&(c[o>>2]|0)!=0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[o>>2]>>2]|0))break a;if(!(bh(c[j>>2]|0,c[(c[o>>2]|0)+8+(c[k>>2]<<4)>>2]|0)|0)){t=c[n>>2]|0;c[r>>2]=c[j>>2];sl(t,26341,r)}c[k>>2]=(c[k>>2]|0)+1}}while(0);if(c[o>>2]|0){c[m>>2]=24+(c[c[o>>2]>>2]<<4);t=c[m>>2]|0;c[i>>2]=de(c[h>>2]|0,c[o>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[i>>2]=_l(c[h>>2]|0,24,0)|0;if(a[(c[h>>2]|0)+69>>0]|0){Kk(c[h>>2]|0,c[p>>2]|0);Jk(c[h>>2]|0,c[q>>2]|0);Xd(c[h>>2]|0,c[j>>2]|0);c[i>>2]=c[o>>2];t=c[i>>2]|0;l=s;return t|0}else{c[(c[i>>2]|0)+8+(c[c[i>>2]>>2]<<4)+8>>2]=c[q>>2];c[(c[i>>2]|0)+8+(c[c[i>>2]>>2]<<4)+4>>2]=c[p>>2];c[(c[i>>2]|0)+8+(c[c[i>>2]>>2]<<4)>>2]=c[j>>2];c[(c[i>>2]|0)+8+(c[c[i>>2]>>2]<<4)+12>>2]=0;t=c[i>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[i>>2]|0;l=s;return t|0}return 0}function Cu(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;i=l;l=l+16|0;k=i+4|0;j=i+8|0;h=i;c[k>>2]=f;a[j>>0]=g;c[h>>2]=b[11428+(c[k>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[j>>0]|0);l=i;return e[12078+(c[h>>2]<<1)>>1]|0}function Du(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=c[e>>2];l=b;return}function Eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Uj(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Vj(c[f>>2]|0);f=c[f>>2]|0;l=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}return 0}function Fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+452>>2]|0)){l=g;return}if(!(c[(c[b>>2]|0)+440>>2]|0)){l=g;return}c[d>>2]=c[(c[b>>2]|0)+452>>2];c[e>>2]=c[(c[b>>2]|0)+452+4>>2];c[f>>2]=c[c[b>>2]>>2];a=c[f>>2]|0;b=c[(c[b>>2]|0)+440>>2]|0;e=c[e>>2]|0;Gu(a,b,Uj(c[f>>2]|0,c[d>>2]|0,e,((e|0)<0)<<31>>31)|0);l=g;return}function Gu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;f=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[k>>2]|0;c[h>>2]=de(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Xd(c[e>>2]|0,c[g>>2]|0);l=j;return}else{e=(c[f>>2]|0)+48|0;k=c[e>>2]|0;c[e>>2]=k+1;c[i>>2]=k;c[(c[h>>2]|0)+(c[i>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[i>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];l=j;return}}function Hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){a=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){a=6;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==6){f=c[f>>2]|0;l=g;return f|0}return 0}function Iu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[h>>2]=g;c[i>>2]=c[c[m>>2]>>2];if((d[(c[i>>2]|0)+148+5>>0]|0|0)==0?(d[(c[m>>2]|0)+410>>0]|0|0)==0:0){if(!(c[(c[i>>2]|0)+296>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;l=r;return q|0}c[j>>2]=Gb[c[(c[i>>2]|0)+296>>2]&255](c[(c[i>>2]|0)+300>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[h>>2]|0,c[(c[m>>2]|0)+448>>2]|0)|0;if((c[j>>2]|0)!=1){if((c[j>>2]|0)!=0&(c[j>>2]|0)!=2){c[j>>2]=1;Ju(c[m>>2]|0)}}else{sl(c[m>>2]|0,26371,q);c[(c[m>>2]|0)+12>>2]=23}c[k>>2]=c[j>>2];q=c[k>>2]|0;l=r;return q|0}c[k>>2]=0;q=c[k>>2]|0;l=r;return q|0}function Ju(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b+4|0;c[d>>2]=a;sl(c[d>>2]|0,26386,b);c[(c[d>>2]|0)+12>>2]=1;l=b;return}function Ku(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;h=n+36|0;f=n+32|0;g=n+16|0;i=n+8|0;j=n+4|0;k=n;m=n+40|0;c[h>>2]=b;c[f>>2]=d;c[j>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[h>>2]|0)+36>>2]|0){l=n;return}c[g>>2]=e;c[i>>2]=Xj(c[k>>2]|0,c[f>>2]|0,g)|0;if(!(c[i>>2]|0)){l=n;return}b=(c[h>>2]|0)+18|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=m;d=(c[h>>2]|0)+400|0;f=b+80|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));b=(c[h>>2]|0)+400|0;f=b+80|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0));Ps(c[h>>2]|0,c[i>>2]|0,j)|0;Xd(c[k>>2]|0,c[j>>2]|0);Xd(c[k>>2]|0,c[i>>2]|0);b=(c[h>>2]|0)+400|0;d=m;f=b+80|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));m=(c[h>>2]|0)+18|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;l=n;return}function Lu(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(c[d>>2]|0){d=c[d>>2]|0;l=e;return d|0}else{d=_u(c[b>>2]|0)|0;l=e;return d|0}return 0}function Mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];Ru(c[g>>2]|0,102,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;l=d;return}function Nu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Ru(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;l=d;return b|0}function Ou(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g+12|0;i=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[i>>2]=b;c[h>>2]=d;Uu(c[e>>2]|0,136,c[i>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;Yu(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}l=g;return}function Pu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Uu(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;l=e;return d|0}function Qu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=Ru(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;l=f;return e|0}function Ru(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;i=q+4|0;j=q;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[h>>2]=g;c[i>>2]=c[(c[m>>2]|0)+136>>2];b=c[m>>2]|0;if((c[(c[(c[m>>2]|0)+12>>2]|0)+48>>2]|0)<=(c[i>>2]|0)){c[k>>2]=Su(b,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;p=c[k>>2]|0;l=q;return p|0}else{g=b+136|0;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[(c[m>>2]|0)+88>>2]|0)+((c[i>>2]|0)*20|0);a[c[j>>2]>>0]=c[n>>2];a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+4>>2]=c[o>>2];c[(c[j>>2]|0)+8>>2]=c[p>>2];c[(c[j>>2]|0)+12>>2]=c[h>>2];c[(c[j>>2]|0)+16>>2]=0;a[(c[j>>2]|0)+1>>0]=0;c[k>>2]=c[i>>2];p=c[k>>2]|0;l=q;return p|0}return 0}function Su(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g>>2]=f;if(Tu(c[i>>2]|0,1)|0){c[h>>2]=1;m=c[h>>2]|0;l=n;return m|0}else{c[h>>2]=Ru(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;m=c[h>>2]|0;l=n;return m|0}return 0}function Tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+12>>2];if(c[(c[f>>2]|0)+48>>2]|0)a=c[(c[f>>2]|0)+48>>2]<<1;else a=51;c[g>>2]=a;c[e>>2]=de(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+88>>2]|0,(c[g>>2]|0)*20|0,0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;g=(g|0)!=0;g=g?0:7;l=h;return g|0}g=ae(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;c[(c[f>>2]|0)+52>>2]=g;c[(c[f>>2]|0)+48>>2]=((c[(c[f>>2]|0)+52>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+88>>2]=c[e>>2];g=c[e>>2]|0;g=(g|0)!=0;g=g?0:7;l=h;return g|0}function Uu(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;j=l;l=l+32|0;n=j+28|0;r=j+24|0;q=j+20|0;p=j+16|0;o=j+12|0;m=j+8|0;k=j+4|0;i=j;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[k>>2]=h;c[i>>2]=Ru(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Vu(c[n>>2]|0,c[i>>2]|0,c[m>>2]|0,c[k>>2]|0);l=j;return c[i>>2]|0}function Vu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;i=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[i>>2]=c[c[g>>2]>>2];if(a[(c[i>>2]|0)+69>>0]|0){if((c[k>>2]|0)==-10){l=n;return}xk(c[i>>2]|0,c[k>>2]|0,c[j>>2]|0);l=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+136>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+88>>2]|0)+((c[h>>2]|0)*20|0);if((c[k>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){b=c[j>>2]|0;if((c[k>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=b;a[(c[m>>2]|0)+1>>0]=-14;l=n;return}if(!b){l=n;return}c[(c[m>>2]|0)+16>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=c[k>>2];if((c[k>>2]|0)!=-10){l=n;return}Xu(c[j>>2]|0);l=n;return}Wu(c[g>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);l=n;return}function Wu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){xk(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[j>>2]|0)<0){Vu(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+88>>2]|0)|0)/20|0,c[i>>2]|0,c[j>>2]|0);l=k;return}if(!(c[j>>2]|0))c[j>>2]=md(c[i>>2]|0)|0;j=c[j>>2]|0;j=Uj(c[c[g>>2]>>2]|0,c[i>>2]|0,j,((j|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=j;a[(c[h>>2]|0)+1>>0]=-1;l=k;return}function Xu(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;l=b;return}function Yu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=(c[d>>2]|0)+148|0;c[b>>2]=c[b>>2]|1<>2];if((c[e>>2]|0)==1){l=f;return}if(!(Zu(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){l=f;return}d=(c[d>>2]|0)+152|0;c[d>>2]=c[d>>2]|1<>2];l=f;return}function Zu(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+9>>0]|0|0}function _u(b){b=b|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[d>>2]=b;b=$u(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)Qu(c[f>>2]|0,71,0,1)|0;if(c[(c[d>>2]|0)+124>>2]|0){f=c[f>>2]|0;l=g;return f|0}if((e[(c[c[d>>2]>>2]|0)+64>>1]|0)&8|0){f=c[f>>2]|0;l=g;return f|0}a[(c[d>>2]|0)+23>>0]=1;f=c[f>>2]|0;l=g;return f|0}function $u(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=c[c[e>>2]>>2];c[g>>2]=Ed(c[f>>2]|0,208,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}a=(c[g>>2]|0)+88|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[g>>2]>>2]=c[f>>2];if(c[(c[f>>2]|0)+4>>2]|0)c[(c[(c[f>>2]|0)+4>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+8>>2]=c[(c[f>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+20>>2]=381479589;c[(c[g>>2]|0)+12>>2]=c[e>>2];c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}function av(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[i>>2]=Hu(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[h>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[i>>2]<<4)>>2]}else c[h>>2]=c[(c[g>>2]|0)+4>>2];i=ev(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0)|0;l=j;return i|0}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((md(c[f>>2]|0)|0)>6?0==(ld(c[f>>2]|0,26664,7)|0):0){e=c[e>>2]|0;c[g>>2]=c[f>>2];sl(e,26672,g);c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function cv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;b=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[j>>2]=b;dv(c[g>>2]|0,c[i>>2]|0);g=(c[j>>2]|0)+92|0;c[g>>2]=c[g>>2]|1<>2];j=(c[j>>2]|0)+20|0;a[j>>0]=d[j>>0]|0|c[h>>2];l=k;return}function dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;a=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[e>>2]=a;if((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0){l=f;return}g=(c[e>>2]|0)+96|0;c[g>>2]=c[g>>2]|1<>2];if((c[d>>2]|0)!=1){l=f;return}pl(c[e>>2]|0)|0;l=f;return}function ev(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r+16|0;p=r;j=r+52|0;k=r+48|0;h=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;i=r+28|0;g=r+24|0;c[k>>2]=b;c[h>>2]=d;c[m>>2]=e;c[n>>2]=f;if(fv(c[k>>2]|0)|0){c[j>>2]=0;q=c[j>>2]|0;l=r;return q|0}c[o>>2]=gv(c[c[k>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[i>>2]=c[h>>2]&1|0?26700:26713;if(((ol(c[c[k>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[g>>2]=hv((c[c[k>>2]>>2]|0)+320|0,c[m>>2]|0)|0,c[g>>2]|0):0)?iv(c[k>>2]|0,c[g>>2]|0)|0:0){c[j>>2]=c[(c[g>>2]|0)+16>>2];q=c[j>>2]|0;l=r;return q|0}if(!(c[h>>2]&2)){d=c[k>>2]|0;b=c[i>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=b;c[p+4>>2]=n;c[p+8>>2]=q;sl(d,26727,p)}else{p=c[m>>2]|0;c[q>>2]=b;c[q+4>>2]=p;sl(d,26737,q)}a[(c[k>>2]|0)+17>>0]=1}}c[j>>2]=c[o>>2];q=c[j>>2]|0;l=r;return q|0}function fv(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=0;c[f>>2]=c[c[d>>2]>>2];if(!(a[(c[f>>2]|0)+148+5>>0]|0))c[e>>2]=lv(c[f>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;l=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[e>>2];f=(c[d>>2]|0)+36|0;c[f>>2]=(c[f>>2]|0)+1;f=c[e>>2]|0;l=g;return f|0}function gv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){k=7;break}d=c[i>>2]|0;c[j>>2]=(c[i>>2]|0)<2?d^1:d;if(!((c[g>>2]|0)!=0?(bh(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))k=5;if((k|0)==5?(k=0,c[h>>2]=hv((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,c[h>>2]|0):0){k=7;break}c[i>>2]=(c[i>>2]|0)+1}if((k|0)==7){l=m;return c[h>>2]|0}return 0}function hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=Wk(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;l=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;l=e;return g|0}function iv(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;k=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[c[i>>2]>>2];c[m>>2]=0;c[o>>2]=c[c[h>>2]>>2];if(c[(c[i>>2]|0)+16>>2]|0){c[g>>2]=1;p=c[g>>2]|0;l=q;return p|0}if(c[(c[j>>2]|0)+4>>2]|0?(c[(c[j>>2]|0)+4>>2]|0)!=(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;p=c[g>>2]|0;l=q;return p|0}c[k>>2]=_l(c[o>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;l=q;return p|0}f=Xo(c[o>>2]|0,c[(c[i>>2]|0)+4>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0)){Xd(c[o>>2]|0,c[k>>2]|0);c[g>>2]=0;p=c[g>>2]|0;l=q;return p|0}c[(c[i>>2]|0)+16>>2]=c[k>>2];b[(c[k>>2]|0)+36>>1]=1;c[(c[k>>2]|0)+64>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2];f=(c[k>>2]|0)+42|0;a[f>>0]=d[f>>0]|0|16;c[(c[k>>2]|0)+48>>2]=0;b[(c[k>>2]|0)+32>>1]=-1;f=c[o>>2]|0;e=c[k>>2]|0;Gu(f,e,Xo(c[o>>2]|0,c[c[k>>2]>>2]|0)|0);Gu(c[o>>2]|0,c[k>>2]|0,0);e=c[o>>2]|0;f=c[k>>2]|0;Gu(e,f,Xo(c[o>>2]|0,c[c[k>>2]>>2]|0)|0);c[n>>2]=jv(c[o>>2]|0,c[k>>2]|0,c[i>>2]|0,c[(c[j>>2]|0)+8>>2]|0,m)|0;if(c[n>>2]|0){n=c[h>>2]|0;c[p>>2]=c[m>>2];sl(n,21240,p);Xd(c[o>>2]|0,c[m>>2]|0);wr(c[o>>2]|0,c[i>>2]|0);c[g>>2]=0;p=c[g>>2]|0;l=q;return p|0}else{c[g>>2]=1;p=c[g>>2]|0;l=q;return p|0}return 0}function jv(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+144|0;v=N+32|0;I=N+24|0;H=N+16|0;m=N+8|0;k=N;L=N+132|0;M=N+128|0;G=N+124|0;t=N+120|0;u=N+116|0;w=N+112|0;o=N+96|0;x=N+92|0;J=N+88|0;p=N+84|0;q=N+80|0;y=N+76|0;K=N+72|0;r=N+68|0;j=N+64|0;s=N+60|0;z=N+56|0;A=N+136|0;B=N+52|0;C=N+48|0;D=N+44|0;E=N+40|0;F=N+36|0;c[M>>2]=e;c[G>>2]=f;c[t>>2]=g;c[u>>2]=h;c[w>>2]=i;c[p>>2]=c[(c[G>>2]|0)+52>>2];c[q>>2]=c[(c[G>>2]|0)+48>>2];c[y>>2]=0;c[j>>2]=c[(c[M>>2]|0)+336>>2];while(1){if(!(c[j>>2]|0))break;if((c[(c[j>>2]|0)+4>>2]|0)==(c[G>>2]|0)){n=4;break}c[j>>2]=c[(c[j>>2]|0)+8>>2]}if((n|0)==4){M=c[M>>2]|0;c[k>>2]=c[c[G>>2]>>2];M=Wj(M,26744,k)|0;c[c[w>>2]>>2]=M;c[L>>2]=6;M=c[L>>2]|0;l=N;return M|0}n=c[M>>2]|0;c[m>>2]=c[c[G>>2]>>2];c[K>>2]=Wj(n,21240,m)|0;if(!(c[K>>2]|0)){c[L>>2]=7;M=c[L>>2]|0;l=N;return M|0}c[x>>2]=_l(c[M>>2]|0,28,0)|0;e=c[M>>2]|0;if(!(c[x>>2]|0)){Xd(e,c[K>>2]|0);c[L>>2]=7;M=c[L>>2]|0;l=N;return M|0}c[c[x>>2]>>2]=e;c[(c[x>>2]|0)+4>>2]=c[t>>2];c[r>>2]=Hu(c[M>>2]|0,c[(c[G>>2]|0)+64>>2]|0)|0;c[(c[(c[G>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[o+4>>2]=c[G>>2];c[o>>2]=c[x>>2];c[o+8>>2]=c[(c[M>>2]|0)+336>>2];c[o+12>>2]=0;c[(c[M>>2]|0)+336>>2]=o;c[J>>2]=Gb[c[u>>2]&255](c[M>>2]|0,c[(c[t>>2]|0)+8>>2]|0,c[q>>2]|0,c[p>>2]|0,(c[x>>2]|0)+8|0,y)|0;c[(c[M>>2]|0)+336>>2]=c[o+8>>2];if((c[J>>2]|0)==7)Od(c[M>>2]|0);a:do if(!(c[J>>2]|0)){if(c[(c[x>>2]|0)+8>>2]|0){I=c[(c[x>>2]|0)+8>>2]|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[c[(c[x>>2]|0)+8>>2]>>2]=c[c[t>>2]>>2];c[(c[x>>2]|0)+12>>2]=1;if(!(c[o+12>>2]|0)){c[s>>2]=26816;H=c[M>>2]|0;I=c[s>>2]|0;c[v>>2]=c[c[G>>2]>>2];I=Wj(H,I,v)|0;c[c[w>>2]>>2]=I;Dk(c[x>>2]|0);c[J>>2]=1;break}a[A>>0]=0;c[(c[x>>2]|0)+24>>2]=c[(c[G>>2]|0)+56>>2];c[(c[G>>2]|0)+56>>2]=c[x>>2];c[z>>2]=0;while(1){if((c[z>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break a;c[B>>2]=kv((c[(c[G>>2]|0)+4>>2]|0)+(c[z>>2]<<4)|0,55752)|0;c[D>>2]=0;c[C>>2]=md(c[B>>2]|0)|0;c[D>>2]=0;b:while(1){if((c[D>>2]|0)>=(c[C>>2]|0))break;do if(!(ld(26862,(c[B>>2]|0)+(c[D>>2]|0)|0,6)|0)){if(c[D>>2]|0?(a[(c[B>>2]|0)+((c[D>>2]|0)-1)>>0]|0)!=32:0)break;if(!(a[(c[B>>2]|0)+((c[D>>2]|0)+6)>>0]|0))break b;if((a[(c[B>>2]|0)+((c[D>>2]|0)+6)>>0]|0)==32)break b}while(0);c[D>>2]=(c[D>>2]|0)+1}if((c[D>>2]|0)<(c[C>>2]|0)){c[F>>2]=6+(a[(c[B>>2]|0)+((c[D>>2]|0)+6)>>0]|0?1:0);c[E>>2]=c[D>>2];while(1){e=c[B>>2]|0;if(((c[E>>2]|0)+(c[F>>2]|0)|0)>(c[C>>2]|0))break;a[(c[B>>2]|0)+(c[E>>2]|0)>>0]=a[e+((c[E>>2]|0)+(c[F>>2]|0))>>0]|0;c[E>>2]=(c[E>>2]|0)+1}if((c[D>>2]|0)>0?(a[e+(c[D>>2]|0)>>0]|0)==0:0)a[(c[B>>2]|0)+((c[D>>2]|0)-1)>>0]=0;I=(c[(c[G>>2]|0)+4>>2]|0)+(c[z>>2]<<4)+15|0;a[I>>0]=d[I>>0]|2;a[A>>0]=-128}else{I=(c[G>>2]|0)+42|0;a[I>>0]=d[I>>0]|d[A>>0]}c[z>>2]=(c[z>>2]|0)+1}}}else{e=c[M>>2]|0;if(!(c[y>>2]|0)){c[H>>2]=c[K>>2];I=Wj(e,26786,H)|0;c[c[w>>2]>>2]=I}else{c[I>>2]=c[y>>2];I=Wj(e,21240,I)|0;c[c[w>>2]>>2]=I;_d(c[y>>2]|0)}Xd(c[M>>2]|0,c[x>>2]|0)}while(0);Xd(c[M>>2]|0,c[K>>2]|0);c[L>>2]=c[J>>2];M=c[L>>2]|0;l=N;return M|0}function kv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((d[(c[f>>2]|0)+15>>0]|0)&4)){c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}else{g=c[c[f>>2]>>2]|0;c[e>>2]=g+(g$(c[c[f>>2]>>2]|0)|0)+1;g=c[e>>2]|0;l=h;return g|0}return 0}function lv(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[i>>2]=0;a[(c[f>>2]|0)+148+5>>0]=1;a[(c[f>>2]|0)+66>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[h>>2]=0;while(1){if(c[i>>2]|0)break;if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[h>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[i>>2]=mv(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0)|0,c[i>>2]|0):0)Vs(c[f>>2]|0,c[h>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(((c[i>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[i>>2]=mv(c[f>>2]|0,1,c[g>>2]|0)|0,c[i>>2]|0):0)Vs(c[f>>2]|0,1);a[(c[f>>2]|0)+148+5>>0]=0;if(!((c[i>>2]|0)==0&(c[j>>2]|0)!=0)){j=c[i>>2]|0;l=k;return j|0}Wr(c[f>>2]|0);j=c[i>>2]|0;l=k;return j|0}function mv(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+128|0;z=A;t=A+108|0;u=A+104|0;v=A+100|0;w=A+96|0;x=A+92|0;i=A+88|0;y=A+84|0;k=A+80|0;B=A+64|0;m=A+40|0;n=A+24|0;o=A+20|0;p=A+16|0;q=A+112|0;r=A+12|0;s=A+8|0;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[p>>2]=0;h=(c[v>>2]|0)==1?26433:26452;c[o>>2]=h;c[B>>2]=h;c[B+4>>2]=26869;c[B+8>>2]=26871;c[B+12>>2]=0;c[n>>2]=c[u>>2];c[n+8>>2]=c[v>>2];c[n+12>>2]=0;c[n+4>>2]=c[w>>2];nv(n,3,B,0)|0;if(c[n+12>>2]|0)c[x>>2]=c[n+12>>2];else{c[k>>2]=(c[(c[u>>2]|0)+16>>2]|0)+(c[v>>2]<<4);if(!(c[(c[k>>2]|0)+4>>2]|0)){if((c[v>>2]|0)==1){B=(c[(c[(c[u>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[t>>2]=0;B=c[t>>2]|0;l=A;return B|0}el(c[(c[k>>2]|0)+4>>2]|0);do if(!(nl(c[(c[k>>2]|0)+4>>2]|0)|0)){c[x>>2]=Gp(c[(c[k>>2]|0)+4>>2]|0,0)|0;if(c[x>>2]|0){z=c[w>>2]|0;B=c[u>>2]|0;ov(z,B,Xi(c[x>>2]|0)|0);break}else{c[p>>2]=1;j=11;break}}else j=11;while(0);a:do if((j|0)==11){c[i>>2]=0;while(1){if((c[i>>2]|0)>=5)break;Ip(c[(c[k>>2]|0)+4>>2]|0,(c[i>>2]|0)+1|0,m+(c[i>>2]<<2)|0);c[i>>2]=(c[i>>2]|0)+1}c[c[(c[k>>2]|0)+12>>2]>>2]=c[m>>2];do if(c[m+16>>2]|0){f=c[m+16>>2]|0;if(!(c[v>>2]|0)){B=f&3;a[q>>0]=B;a[q>>0]=(d[q>>0]|0)==0?1:B;a[(c[u>>2]|0)+66>>0]=a[q>>0]|0;break}if((f|0)!=(d[(c[u>>2]|0)+66>>0]|0)){ov(c[w>>2]|0,c[u>>2]|0,26947);c[x>>2]=1;break a}}else{B=(c[(c[(c[u>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[k>>2]|0)+12>>2]|0)+77>>0]=a[(c[u>>2]|0)+66>>0]|0;if(!(c[(c[(c[k>>2]|0)+12>>2]|0)+80>>2]|0)){B=pq(c[m+8>>2]|0)|0;c[y>>2]=B;c[y>>2]=(c[y>>2]|0)==0?-2e3:B;c[(c[(c[k>>2]|0)+12>>2]|0)+80>>2]=c[y>>2];pv(c[(c[k>>2]|0)+4>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[k>>2]|0)+12>>2]|0)+76>>0]=c[m+4>>2];if(!(d[(c[(c[k>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[k>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[k>>2]|0)+12>>2]|0)+76>>0]|0)>4){ov(c[w>>2]|0,c[u>>2]|0,27015);c[x>>2]=1;break}if((c[v>>2]|0)==0?(c[m+4>>2]|0)>=4:0){B=(c[u>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[u>>2]|0;y=c[o>>2]|0;c[z>>2]=c[(c[(c[u>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2];c[z+4>>2]=y;c[r>>2]=Wj(B,27039,z)|0;c[s>>2]=c[(c[u>>2]|0)+296>>2];c[(c[u>>2]|0)+296>>2]=0;c[x>>2]=qv(c[u>>2]|0,c[r>>2]|0,146,n,0)|0;c[(c[u>>2]|0)+296>>2]=c[s>>2];if(!(c[x>>2]|0))c[x>>2]=c[n+12>>2];Xd(c[u>>2]|0,c[r>>2]|0);if(!(c[x>>2]|0))rv(c[u>>2]|0,c[v>>2]|0)|0;if(a[(c[u>>2]|0)+69>>0]|0){c[x>>2]=7;Np(c[u>>2]|0)}if(c[x>>2]|0?(c[(c[u>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[u>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[x>>2]=0}while(0);if(c[p>>2]|0)Ws(c[(c[k>>2]|0)+4>>2]|0)|0;bl(c[(c[k>>2]|0)+4>>2]|0)}if((c[x>>2]|0)==7|(c[x>>2]|0)==3082)Od(c[u>>2]|0);c[t>>2]=c[x>>2];B=c[t>>2]|0;l=A;return B|0}function nv(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;p=s+40|0;t=s+36|0;q=s+28|0;r=s+20|0;i=s+16|0;j=s+12|0;k=s+8|0;m=s+44|0;n=s+4|0;o=s;c[t>>2]=d;c[s+32>>2]=f;c[q>>2]=g;c[s+24>>2]=h;c[r>>2]=c[t>>2];c[i>>2]=c[c[r>>2]>>2];c[j>>2]=c[(c[r>>2]|0)+8>>2];h=(c[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78|0;b[h>>1]=e[h>>1]&-5;if(a[(c[i>>2]|0)+69>>0]|0){Lv(c[r>>2]|0,c[c[q>>2]>>2]|0,0);c[p>>2]=1;t=c[p>>2]|0;l=s;return t|0}if(!(c[q>>2]|0)){c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}a:do if(!(c[(c[q>>2]|0)+4>>2]|0))Lv(c[r>>2]|0,c[c[q>>2]>>2]|0,0);else{if(ld(c[(c[q>>2]|0)+8>>2]|0,27234,7)|0){do if(c[c[q>>2]>>2]|0){if(c[(c[q>>2]|0)+8>>2]|0?a[c[(c[q>>2]|0)+8>>2]>>0]|0:0)break;c[o>>2]=vv(c[i>>2]|0,c[c[q>>2]>>2]|0,c[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(gg(c[(c[q>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Lv(c[r>>2]|0,c[c[q>>2]>>2]|0,27242);break a}while(0);Lv(c[r>>2]|0,c[c[q>>2]>>2]|0,0);break}a[m>>0]=a[(c[i>>2]|0)+148+4>>0]|0;a[(c[i>>2]|0)+148+4>>0]=c[j>>2];t=fg(c[(c[q>>2]|0)+4>>2]|0)|0;c[(c[i>>2]|0)+148>>2]=t;a[(c[i>>2]|0)+148+6>>0]=0;Mv(c[i>>2]|0,c[(c[q>>2]|0)+8>>2]|0,-1,n,0)|0;c[k>>2]=c[(c[i>>2]|0)+52>>2];a[(c[i>>2]|0)+148+4>>0]=a[m>>0]|0;do if(0!=(c[k>>2]|0)?(a[(c[i>>2]|0)+148+6>>0]|0)==0:0){c[(c[r>>2]|0)+12>>2]=c[k>>2];if((c[k>>2]|0)==7){Od(c[i>>2]|0);break}if((c[k>>2]|0)!=9?(c[k>>2]&255|0)!=6:0){r=c[r>>2]|0;t=c[c[q>>2]>>2]|0;Lv(r,t,Ev(c[i>>2]|0)|0)}}while(0);Fr(c[n>>2]|0)|0}while(0);c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}function ov(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Xd(c[h>>2]|0,c[c[f>>2]>>2]|0);d=Xo(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;l=e;return}function pv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];el(c[e>>2]|0);Yl(c[c[g>>2]>>2]|0,c[f>>2]|0);bl(c[e>>2]|0);l=d;return 0}function qv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;t=z+56|0;u=z+52|0;v=z+48|0;w=z+44|0;x=z+40|0;i=z+36|0;j=z+32|0;k=z+28|0;m=z+24|0;n=z+20|0;o=z+16|0;p=z+12|0;q=z+8|0;r=z+4|0;s=z;c[u>>2]=b;c[v>>2]=e;c[w>>2]=f;c[x>>2]=g;c[i>>2]=h;c[j>>2]=0;c[m>>2]=0;c[n>>2]=0;if(!(Ms(c[u>>2]|0)|0)){c[t>>2]=qd(109597)|0;y=c[t>>2]|0;l=z;return y|0}if(!(c[v>>2]|0))c[v>>2]=55752;td(c[(c[u>>2]|0)+12>>2]|0);ml(c[u>>2]|0,0);a:while(1){if(c[j>>2]|0)break;if(!(a[c[v>>2]>>0]|0))break;c[q>>2]=0;c[m>>2]=0;c[j>>2]=zv(c[u>>2]|0,c[v>>2]|0,-1,m,k)|0;if(c[j>>2]|0)continue;if(!(c[m>>2]|0)){c[v>>2]=c[k>>2];continue}c[o>>2]=0;c[p>>2]=Av(c[m>>2]|0)|0;do{c[j>>2]=Bs(c[m>>2]|0)|0;do if(c[w>>2]|0){if(100!=(c[j>>2]|0)){if(101!=(c[j>>2]|0)|(c[o>>2]|0)!=0)break;if(!(c[(c[u>>2]|0)+24>>2]&256))break}if(!(c[o>>2]|0)){c[n>>2]=_l(c[u>>2]|0,(c[p>>2]<<1<<2)+1|0,0)|0;if(!(c[n>>2]|0))break a;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break;h=Bv(c[m>>2]|0,c[r>>2]|0)|0;c[(c[n>>2]|0)+(c[r>>2]<<2)>>2]=h;c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=1}b:do if((c[j>>2]|0)==100){c[q>>2]=(c[n>>2]|0)+(c[p>>2]<<2);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break b;h=Cv(c[m>>2]|0,c[r>>2]|0)|0;c[(c[q>>2]|0)+(c[r>>2]<<2)>>2]=h;if((c[(c[q>>2]|0)+(c[r>>2]<<2)>>2]|0)==0?(Dv(c[m>>2]|0,c[r>>2]|0)|0)!=5:0){y=27;break a}c[r>>2]=(c[r>>2]|0)+1}}while(0);if(Kb[c[w>>2]&255](c[x>>2]|0,c[p>>2]|0,c[q>>2]|0,c[n>>2]|0)|0){y=30;break a}}while(0)}while((c[j>>2]|0)==100);c[j>>2]=Ir(c[m>>2]|0)|0;c[m>>2]=0;c[v>>2]=c[k>>2];while(1){if(!(d[20063+(d[c[v>>2]>>0]|0)>>0]&1))break;c[v>>2]=(c[v>>2]|0)+1}Xd(c[u>>2]|0,c[n>>2]|0);c[n>>2]=0}if((y|0)==27)Od(c[u>>2]|0);else if((y|0)==30){c[j>>2]=4;Ir(c[m>>2]|0)|0;c[m>>2]=0;ml(c[u>>2]|0,4)}if(c[m>>2]|0)Ir(c[m>>2]|0)|0;Xd(c[u>>2]|0,c[n>>2]|0);c[j>>2]=Jr(c[u>>2]|0,c[j>>2]|0)|0;do if((c[j>>2]|0)!=0&(c[i>>2]|0)!=0){c[s>>2]=1+(md(Ev(c[u>>2]|0)|0)|0);y=c[s>>2]|0;y=Fd(y,((y|0)<0)<<31>>31)|0;c[c[i>>2]>>2]=y;if(c[c[i>>2]>>2]|0){x=c[c[i>>2]>>2]|0;y=Ev(c[u>>2]|0)|0;h0(x|0,y|0,c[s>>2]|0)|0;break}else{c[j>>2]=7;ml(c[u>>2]|0,7);break}}else if(c[i>>2]|0)c[c[i>>2]>>2]=0;while(0);ud(c[(c[u>>2]|0)+12>>2]|0);c[t>>2]=c[j>>2];y=c[t>>2]|0;l=z;return y|0}function rv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o;e=o+36|0;f=o+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;c[e>>2]=a;c[f>>2]=d;c[j>>2]=0;c[h>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];b[c[(c[k>>2]|0)+8>>2]>>1]=0;c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=c[e>>2];c[g+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];do if(gv(c[e>>2]|0,27094,c[g+4>>2]|0)|0){k=c[e>>2]|0;c[n>>2]=c[g+4>>2];c[i>>2]=Wj(k,27107,n)|0;if(!(c[i>>2]|0)){c[j>>2]=7;break}else{c[j>>2]=qv(c[e>>2]|0,c[i>>2]|0,147,g,0)|0;Xd(c[e>>2]|0,c[i>>2]|0);break}}while(0);c[h>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[h>>2]|0))break;c[m>>2]=c[(c[h>>2]|0)+8>>2];if(!(b[c[(c[m>>2]|0)+8>>2]>>1]|0))tv(c[m>>2]|0);c[h>>2]=c[c[h>>2]>>2]}if((c[j>>2]|0)!=7){n=c[j>>2]|0;l=o;return n|0}Od(c[e>>2]|0);n=c[j>>2]|0;l=o;return n|0}function sv(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+112|0;p=s+96|0;t=s+92|0;q=s+84|0;r=s+76|0;i=s+72|0;j=s+68|0;k=s+64|0;m=s+60|0;n=s+56|0;o=s;c[t>>2]=d;c[s+88>>2]=f;c[q>>2]=g;c[s+80>>2]=h;c[r>>2]=c[t>>2];if((c[q>>2]|0?c[c[q>>2]>>2]|0:0)?c[(c[q>>2]|0)+8>>2]|0:0){c[j>>2]=gv(c[c[r>>2]>>2]|0,c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0)|0;if(!(c[j>>2]|0)){c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}do if(c[(c[q>>2]|0)+4>>2]|0)if(!(kl(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0)){c[i>>2]=uv(c[j>>2]|0)|0;break}else{c[i>>2]=vv(c[c[r>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[(c[r>>2]|0)+4>>2]|0)|0;break}else c[i>>2]=0;while(0);c[k>>2]=c[(c[q>>2]|0)+8>>2];if(c[i>>2]|0){c[m>>2]=0;c[n>>2]=(e[(c[i>>2]|0)+50>>1]|0)+1;t=(c[i>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;wv(c[k>>2]|0,c[n>>2]|0,c[m>>2]|0,c[(c[i>>2]|0)+8>>2]|0,c[i>>2]|0);if(!(c[(c[i>>2]|0)+36>>2]|0))b[(c[j>>2]|0)+38>>1]=b[c[(c[i>>2]|0)+8>>2]>>1]|0}else{b[o+48>>1]=b[(c[j>>2]|0)+40>>1]|0;wv(c[k>>2]|0,1,0,(c[j>>2]|0)+38|0,o);b[(c[j>>2]|0)+40>>1]=b[o+48>>1]|0}c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}function tv(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+12|0;g=k+16|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;b[g>>1]=b[7606]|0;b[g+2>>1]=b[7607]|0;b[g+4>>1]=b[7608]|0;b[g+6>>1]=b[7609]|0;b[g+8>>1]=b[7610]|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[i>>2]=a;b[c[h>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if(c[(c[f>>2]|0)+36>>2]|0){a=c[h>>2]|0;b[a>>1]=(b[a>>1]|0)-10}if((b[c[h>>2]>>1]|0)<33)b[c[h>>2]>>1]=33;h0((c[h>>2]|0)+2|0,g|0,c[i>>2]<<1|0)|0;c[j>>2]=(c[i>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[h>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){l=k;return}b[(c[h>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;l=k;return}function uv(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){l=e;return c[d>>2]|0}return 0}function vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}d=c[i>>2]|0;c[j>>2]=(c[i>>2]|0)<2?d^1:d;c[k>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!(c[g>>2]|0?(bh(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[h>>2]=hv((c[k>>2]|0)+24|0,c[f>>2]|0)|0,c[h>>2]|0):0){m=7;break}c[i>>2]=(c[i>>2]|0)+1}if((m|0)==7){l=n;return c[h>>2]|0}return 0}function wv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+32|0;m=q+28|0;n=q+20|0;p=q+16|0;o=q+12|0;i=q+8|0;j=q+4|0;k=q;c[r>>2]=d;c[m>>2]=e;c[q+24>>2]=f;c[n>>2]=g;c[p>>2]=h;c[o>>2]=c[r>>2];c[j>>2]=0;while(1){if(!(a[c[o>>2]>>0]|0))break;if((c[j>>2]|0)>=(c[m>>2]|0))break;c[k>>2]=0;while(1){r=a[c[o>>2]>>0]|0;c[i>>2]=r;if(!((r|0)>=48?(c[i>>2]|0)<=57:0))break;c[k>>2]=((c[k>>2]|0)*10|0)+(c[i>>2]|0)-48;c[o>>2]=(c[o>>2]|0)+1}r=xv(c[k>>2]|0,0)|0;b[(c[n>>2]|0)+(c[j>>2]<<1)>>1]=r;if((a[c[o>>2]>>0]|0)==32)c[o>>2]=(c[o>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}r=(c[p>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[p>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[o>>2]>>0]|0))break;do if(yv(27148,c[o>>2]|0)|0){r=(yv(27159,c[o>>2]|0)|0)==0;d=c[o>>2]|0;if(r){r=fg(d+3|0)|0;r=xv(r,((r|0)<0)<<31>>31)|0;b[(c[p>>2]|0)+48>>1]=r;break}if(!(yv(27169,d)|0)){r=(c[p>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[p>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[o>>2]>>0]|0))break;if((a[c[o>>2]>>0]|0)==32)break;c[o>>2]=(c[o>>2]|0)+1}while(1){if((a[c[o>>2]>>0]|0)!=32)continue a;c[o>>2]=(c[o>>2]|0)+1}}l=q;return}function xv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+10|0;f=h;g=h+8|0;i=f;c[i>>2]=a;c[i+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){i=f;d=c[i+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[i>>2]|0)>>>0<2){b[e>>1]=0;i=b[e>>1]|0;l=h;return i|0}else while(1){i=f;d=c[i+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[i>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=j0(c[d>>2]|0,c[d+4>>2]|0,1)|0;i=f;c[i>>2]=d;c[i+4>>2]=D}}else{while(1){i=f;d=c[i+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[i>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=f0(c[d>>2]|0,c[d+4>>2]|0,4)|0;i=f;c[i>>2]=d;c[i+4>>2]=D}while(1){i=f;d=c[i+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[i>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=f0(c[d>>2]|0,c[d+4>>2]|0,1)|0;i=f;c[i>>2]=d;c[i+4>>2]=D}}while(0);b[e>>1]=(b[15222+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;i=b[e>>1]|0;l=h;return i|0}function yv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Wh(c[f>>2]|0,c[e>>2]|0,22022,91)|0)==0&1;l=d;return b|0}function zv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;n=h+20|0;m=h+16|0;k=h+12|0;j=h+8|0;i=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[g>>2]=Hs(c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,1,0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return c[g>>2]|0}function Av(a){a=a|0;var b=0,d=0,f=0;d=l;l=l+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;l=d;return f|0}f=e[(c[b>>2]|0)+140>>1]|0;l=d;return f|0}function Bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Kv(c[f>>2]|0,c[e>>2]|0,193,0)|0;l=d;return b|0}function Cv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Rh(Hv(c[f>>2]|0,c[g>>2]|0)|0)|0;Iv(c[f>>2]|0);l=e;return c[d>>2]|0}function Dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Ai(Hv(c[f>>2]|0,c[g>>2]|0)|0)|0;Iv(c[f>>2]|0);l=e;return c[d>>2]|0}function Ev(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=Xi(7)|0;f=c[d>>2]|0;l=g;return f|0}if(!(Fv(c[e>>2]|0)|0)){c[d>>2]=Xi(qd(140046)|0)|0;f=c[d>>2]|0;l=g;return f|0}td(c[(c[e>>2]|0)+12>>2]|0);if(!(a[(c[e>>2]|0)+69>>0]|0)){c[f>>2]=Rh(c[(c[e>>2]|0)+244>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=Xi(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=Xi(7)|0;ud(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=c[f>>2];f=c[d>>2]|0;l=g;return f|0}function Fv(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+84>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){Gv(27181);c[b>>2]=0;f=c[b>>2]|0;l=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;l=d;return f|0}return 0}function Gv(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];xd(21,27189,d);l=b;return}function Hv(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;d=i+16|0;j=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[f>>2]=b;c[g>>2]=c[j>>2];if(!(c[g>>2]|0)){c[d>>2]=Jv()|0;j=c[d>>2]|0;l=i;return j|0}td(c[(c[c[g>>2]>>2]|0)+12>>2]|0);if(c[(c[g>>2]|0)+104>>2]|0?((c[f>>2]|0)>=0?(c[f>>2]|0)<(e[(c[g>>2]|0)+140>>1]|0|0):0):0)c[h>>2]=(c[(c[g>>2]|0)+104>>2]|0)+((c[f>>2]|0)*40|0);else{ml(c[c[g>>2]>>2]|0,25);c[h>>2]=Jv()|0}c[d>>2]=c[h>>2];j=c[d>>2]|0;l=i;return j|0}function Iv(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){l=d;return}e=Jr(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+40>>2]|0)|0;c[(c[b>>2]|0)+40>>2]=e;ud(c[(c[c[b>>2]>>2]|0)+12>>2]|0);l=d;return}function Jv(){return 288}function Kv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;p=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[p>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=c[p>>2];c[h>>2]=c[c[n>>2]>>2];c[g>>2]=Av(c[p>>2]|0)|0;if(!((c[i>>2]|0)>=0?(c[i>>2]|0)<(c[g>>2]|0):0)){p=c[m>>2]|0;l=o;return p|0}p=S(c[k>>2]|0,c[g>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+p;td(c[(c[h>>2]|0)+12>>2]|0);c[m>>2]=Hb[c[j>>2]&255]((c[(c[n>>2]|0)+100>>2]|0)+((c[i>>2]|0)*40|0)|0)|0;if(a[(c[h>>2]|0)+69>>0]|0){Lr(c[h>>2]|0);c[m>>2]=0}ud(c[(c[h>>2]|0)+12>>2]|0);p=c[m>>2]|0;l=o;return p|0}function Lv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o+8|0;m=o;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[c[g>>2]>>2];if((a[(c[j>>2]|0)+69>>0]|0)==0?(c[(c[j>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=27259;f=c[j>>2]|0;c[m>>2]=c[h>>2];c[k>>2]=Wj(f,27261,m)|0;if(c[i>>2]|0){m=c[j>>2]|0;i=c[i>>2]|0;c[n>>2]=c[k>>2];c[n+4>>2]=i;c[k>>2]=Wj(m,27292,n)|0}Xd(c[j>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[k>>2]}if(d[(c[j>>2]|0)+69>>0]|0){m=7;n=c[g>>2]|0;n=n+12|0;c[n>>2]=m;l=o;return}m=kn(113554)|0;n=c[g>>2]|0;n=n+12|0;c[n>>2]=m;l=o;return}function Mv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;n=h+20|0;m=h+16|0;k=h+12|0;j=h+8|0;i=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[g>>2]=Hs(c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,0,0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return c[g>>2]|0}function Nv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;h=n+8|0;i=n+4|0;j=n+13|0;k=n+12|0;m=n;c[h>>2]=b;c[i>>2]=d;a[j>>0]=e;a[k>>0]=f;c[m>>2]=g;if(!(c[i>>2]|0)){m=0;l=n;return m|0}m=Vv(c[h>>2]|0,c[i>>2]|0,a[j>>0]|0,a[k>>0]|0,c[m>>2]|0,0)|0;l=n;return m|0}function Ov(b){b=b|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+44|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;l=g;return f|0}else{h=(c[f>>2]|0)+19|0;f=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=f;c[e>>2]=c[b+352+((f&255)<<2)>>2];f=c[e>>2]|0;l=g;return f|0}return 0}function Pv(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+136>>2]|0}function Qv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+12|0;h=j+8|0;f=j+4|0;i=j;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){l=j;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){l=j;return}c[f>>2]=0;c[i>>2]=(c[g>>2]|0)+152;while(1){if((c[f>>2]|0)>=(d[(c[g>>2]|0)+25>>0]|0|0)){b=8;break}if((c[(c[i>>2]|0)+12>>2]|0)==(c[h>>2]|0)){b=6;break}c[f>>2]=(c[f>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+20}if((b|0)==6){a[(c[i>>2]|0)+6>>0]=1;l=j;return}else if((b|0)==8){f=c[h>>2]|0;h=(c[g>>2]|0)+352|0;g=(c[g>>2]|0)+19|0;i=a[g>>0]|0;a[g>>0]=i+1<<24>>24;c[h+((i&255)<<2)>>2]=f;l=j;return}}function Rv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;e=o+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=Lu(c[f>>2]|0)|0;if(!(c[i>>2]|0)){l=o;return}c[k>>2]=Hu(c[c[f>>2]>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[m>>2]=Sv(c[f>>2]|0,c[g>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;c[e>>2]=Hu(c[c[f>>2]>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;Uu(c[i>>2]|0,140,c[e>>2]|0,0,0,c[c[m>>2]>>2]|0,0)|0;c[m>>2]=c[(c[m>>2]|0)+32>>2]}Uu(c[i>>2]|0,138,c[k>>2]|0,0,0,c[c[g>>2]>>2]|0,0)|0;m=c[c[f>>2]>>2]|0;c[n>>2]=c[h>>2];c[j>>2]=Wj(m,27626,n)|0;if(!(c[j>>2]|0)){l=o;return}Ou(c[i>>2]|0,c[k>>2]|0,c[j>>2]|0);n=Tv(c[f>>2]|0,c[g>>2]|0)|0;c[j>>2]=n;if(!n){l=o;return}Ou(c[i>>2]|0,1,c[j>>2]|0);l=o;return} +function FB(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=l;l=l+192|0;n=ca+24|0;$=ca+180|0;aa=ca+176|0;ba=ca+172|0;o=ca+168|0;q=ca+164|0;r=ca+160|0;R=ca+184|0;s=ca+156|0;p=ca+152|0;S=ca+148|0;T=ca+144|0;U=ca+140|0;V=ca+16|0;t=ca+120|0;u=ca+116|0;W=ca+112|0;v=ca+108|0;X=ca+104|0;Y=ca+100|0;w=ca+96|0;x=ca+186|0;y=ca+8|0;z=ca+92|0;A=ca+88|0;B=ca+84|0;C=ca+80|0;E=ca+76|0;F=ca+72|0;G=ca+68|0;H=ca+64|0;I=ca+60|0;J=ca+56|0;K=ca;L=ca+52|0;M=ca+48|0;N=ca+44|0;O=ca+40|0;P=ca+36|0;Z=ca+32|0;_=ca+28|0;c[aa>>2]=f;c[ba>>2]=g;c[o>>2]=h;c[q>>2]=i;c[r>>2]=j;b[R>>1]=k;c[s>>2]=m;c[U>>2]=c[(c[aa>>2]|0)+8>>2];a[x>>0]=0;c[Y>>2]=c[c[aa>>2]>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;if(c[q>>2]|0?(c[c[q>>2]>>2]|0)>=64:0)c[q>>2]=0;c[t+8>>2]=c[q>>2];if(e[(c[Y>>2]|0)+64>>1]&32|0)b[R>>1]=e[R>>1]&-257;if((c[c[ba>>2]>>2]|0)>64){ba=c[aa>>2]|0;c[n>>2]=64;sl(ba,34020,n);c[$>>2]=0;ba=c[$>>2]|0;l=ca;return ba|0}if(e[R>>1]&32|0)f=1;else f=c[c[ba>>2]>>2]|0;c[S>>2]=f;c[p>>2]=832+(((c[S>>2]|0)-1|0)*80|0)+7&-8;c[T>>2]=Ed(c[Y>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[Y>>2]|0)+69>>0]|0)){c[c[T>>2]>>2]=c[aa>>2];c[(c[T>>2]|0)+4>>2]=c[ba>>2];c[(c[T>>2]|0)+8>>2]=c[q>>2];c[(c[T>>2]|0)+12>>2]=c[r>>2];c[(c[T>>2]|0)+20+4>>2]=-1;c[(c[T>>2]|0)+20>>2]=-1;a[(c[T>>2]|0)+42>>0]=c[S>>2];f=ky(c[U>>2]|0)|0;c[(c[T>>2]|0)+28>>2]=f;c[(c[T>>2]|0)+32>>2]=f;b[(c[T>>2]|0)+40>>1]=b[R>>1]|0;b[(c[T>>2]|0)+16>>1]=c[s>>2];c[(c[T>>2]|0)+36>>2]=c[(c[aa>>2]|0)+136>>2];f=(c[T>>2]|0)+43|0;g=f+37|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));m0((c[T>>2]|0)+752|0,0,72+((c[S>>2]|0)*80|0)|0)|0;c[u>>2]=(c[T>>2]|0)+488;c[t>>2]=c[T>>2];c[t+4>>2]=(c[T>>2]|0)+80;c[t+12>>2]=(c[T>>2]|0)+(c[p>>2]|0);NB(c[t+12>>2]|0);c[c[u>>2]>>2]=0;QB((c[T>>2]|0)+80|0,c[T>>2]|0);RB((c[T>>2]|0)+80|0,c[o>>2]|0,28);c[X>>2]=0;while(1){f=(c[S>>2]|0)==0;if((c[X>>2]|0)>=(c[(c[t+4>>2]|0)+12>>2]|0))break;if(!(!f?!(Gz(c[(c[(c[t+4>>2]|0)+20>>2]|0)+((c[X>>2]|0)*48|0)>>2]|0)|0):0)){nz(c[aa>>2]|0,c[(c[(c[t+4>>2]|0)+20>>2]|0)+((c[X>>2]|0)*48|0)>>2]|0,c[(c[T>>2]|0)+32>>2]|0,16);p=(c[(c[t+4>>2]|0)+20>>2]|0)+((c[X>>2]|0)*48|0)+10|0;b[p>>1]=e[p>>1]|4}c[X>>2]=(c[X>>2]|0)+1}if(f){if(c[q>>2]|0)a[(c[T>>2]|0)+43>>0]=c[c[q>>2]>>2];if(e[R>>1]&256|0)a[(c[T>>2]|0)+47>>0]=1}c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[c[ba>>2]>>2]|0))break;SB(c[u>>2]|0,c[(c[ba>>2]|0)+8+((c[X>>2]|0)*72|0)+44>>2]|0);TB(c[aa>>2]|0,(c[ba>>2]|0)+8+((c[X>>2]|0)*72|0)|0,(c[T>>2]|0)+80|0);c[X>>2]=(c[X>>2]|0)+1}UB(c[ba>>2]|0,(c[T>>2]|0)+80|0);if(!(a[(c[Y>>2]|0)+69>>0]|0)){do if(e[R>>1]&256|0){if(VB(c[aa>>2]|0,c[ba>>2]|0,(c[T>>2]|0)+80|0,c[r>>2]|0)|0){a[(c[T>>2]|0)+47>>0]=1;break}if(!(c[q>>2]|0)){q=(c[T>>2]|0)+40|0;b[q>>1]=e[q>>1]|128;c[(c[T>>2]|0)+8>>2]=c[r>>2]}}while(0);if(!((c[S>>2]|0)==1?(WB(t)|0)!=0:0)){c[w>>2]=XB(t)|0;if(c[w>>2]|0)break;YB(c[T>>2]|0,0)|0;if(a[(c[Y>>2]|0)+69>>0]|0)break;if(c[(c[T>>2]|0)+8>>2]|0?(YB(c[T>>2]|0,(b[(c[T>>2]|0)+72>>1]|0)+1&65535)|0,a[(c[Y>>2]|0)+69>>0]|0):0)break}if((c[(c[T>>2]|0)+8>>2]|0)==0?c[(c[Y>>2]|0)+24>>2]&131072|0:0){w=(c[T>>2]|0)+64|0;c[w>>2]=-1;c[w+4>>2]=-1}if((c[(c[aa>>2]|0)+36>>2]|0)==0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0){b:do if((c[r>>2]|0?(d[(c[T>>2]|0)+42>>0]|0)>=2:0)?(e[(c[Y>>2]|0)+64>>1]&1024|0)==0:0){r=ZB(c[u>>2]|0,c[r>>2]|0)|0;w=y;c[w>>2]=r;c[w+4>>2]=D;if(c[t+8>>2]|0){r=ZB(c[u>>2]|0,c[t+8>>2]|0)|0;q=y;u=c[q+4>>2]|D;w=y;c[w>>2]=c[q>>2]|r;c[w+4>>2]=u}while(1){if((d[(c[T>>2]|0)+42>>0]|0)<2)break b;c[v>>2]=c[(c[T>>2]|0)+752+(((d[(c[T>>2]|0)+42>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[T>>2]|0)+4>>2]|0)+8+((d[(c[v>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[R>>1]&256|0)==0?(c[(c[v>>2]|0)+36>>2]&4096|0)==0:0)break b;u=y;w=(c[v>>2]|0)+8|0;if(c[u>>2]&c[w>>2]|0?1:(c[u+4>>2]&c[w+4>>2]|0)!=0)break b;c[A>>2]=(c[(c[t+4>>2]|0)+20>>2]|0)+((c[(c[t+4>>2]|0)+12>>2]|0)*48|0);c[z>>2]=c[(c[t+4>>2]|0)+20>>2];while(1){if((c[z>>2]|0)>>>0>=(c[A>>2]|0)>>>0)break;u=(c[z>>2]|0)+40|0;w=(c[v>>2]|0)+8|0;if((c[u>>2]&c[w>>2]|0?1:(c[u+4>>2]&c[w+4>>2]|0)!=0)?(c[(c[c[z>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[z>>2]=(c[z>>2]|0)+48}if((c[z>>2]|0)>>>0<(c[A>>2]|0)>>>0)break b;w=(c[T>>2]|0)+42|0;a[w>>0]=(a[w>>0]|0)+-1<<24>>24;c[S>>2]=(c[S>>2]|0)+-1}}while(0);A=(c[c[T>>2]>>2]|0)+136|0;c[A>>2]=(c[A>>2]|0)+(b[(c[T>>2]|0)+72>>1]|0);do if(e[R>>1]&4|0){c[B>>2]=c[(c[(c[T>>2]|0)+752+64>>2]|0)+36>>2];c[C>>2]=(c[B>>2]&4096|0)!=0&1;if(!(c[C>>2]|0)){if(!(e[R>>1]&8))break;if(c[B>>2]&1024)break}a[(c[T>>2]|0)+45>>0]=c[C>>2]|0?1:2;if((d[(c[(c[ba>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?c[B>>2]&64|0:0){if(e[R>>1]&8|0)a[x>>0]=8;c[(c[(c[T>>2]|0)+752+64>>2]|0)+36>>2]=c[B>>2]&-65}}while(0);c[X>>2]=0;c[W>>2]=(c[T>>2]|0)+752;while(1){if((c[X>>2]|0)>=(c[S>>2]|0))break;c[G>>2]=(c[ba>>2]|0)+8+((d[(c[W>>2]|0)+44>>0]|0)*72|0);c[E>>2]=c[(c[G>>2]|0)+16>>2];c[F>>2]=Hu(c[Y>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[v>>2]=c[(c[W>>2]|0)+64>>2];c:do if((d[(c[E>>2]|0)+42>>0]&2|0)==0?(c[(c[E>>2]|0)+12>>2]|0)==0:0){if(c[(c[v>>2]|0)+36>>2]&1024|0){c[H>>2]=fw(c[Y>>2]|0,c[E>>2]|0)|0;c[I>>2]=c[(c[G>>2]|0)+44>>2];Uu(c[U>>2]|0,155,c[I>>2]|0,0,0,c[H>>2]|0,-10)|0;break}if(d[(c[E>>2]|0)+42>>0]&16|0)break;do if(!(c[(c[v>>2]|0)+36>>2]&64)){if(e[R>>1]&32|0)break;c[J>>2]=104;if(d[(c[T>>2]|0)+45>>0]|0){c[J>>2]=105;c[(c[T>>2]|0)+20>>2]=c[(c[G>>2]|0)+44>>2]}hy(c[aa>>2]|0,c[(c[G>>2]|0)+44>>2]|0,c[F>>2]|0,c[E>>2]|0,c[J>>2]|0);do if(!(d[(c[T>>2]|0)+45>>0]|0)){if((b[(c[E>>2]|0)+34>>1]|0)>=64)break;if(d[(c[E>>2]|0)+42>>0]&32|0)break;A=(c[G>>2]|0)+56|0;B=c[A+4>>2]|0;C=K;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[L>>2]=0;while(1){C=K;if(!((c[C>>2]|0)!=0|(c[C+4>>2]|0)!=0))break;B=K;B=f0(c[B>>2]|0,c[B+4>>2]|0,1)|0;C=K;c[C>>2]=B;c[C+4>>2]=D;c[L>>2]=(c[L>>2]|0)+1}Vu(c[U>>2]|0,-1,c[L>>2]|0,-14)}while(0);jy(c[U>>2]|0,a[x>>0]|0);break c}while(0);gy(c[aa>>2]|0,c[F>>2]|0,c[(c[E>>2]|0)+28>>2]|0,0,c[c[E>>2]>>2]|0)}while(0);do if(c[(c[v>>2]|0)+36>>2]&512|0){c[M>>2]=c[(c[v>>2]|0)+24+8>>2];c[O>>2]=104;do if(!(d[(c[E>>2]|0)+42>>0]&32))Q=93;else{if((a[(c[M>>2]|0)+55>>0]&3|0)!=2){Q=93;break}if(!(e[R>>1]&32)){Q=93;break}c[N>>2]=c[(c[W>>2]|0)+4>>2];c[O>>2]=0}while(0);d:do if((Q|0)==93){Q=0;if(!(d[(c[T>>2]|0)+45>>0]|0)){do if(c[s>>2]|0){if(!(e[R>>1]&32))break;c[N>>2]=c[s>>2];c[O>>2]=103;break d}while(0);B=(c[aa>>2]|0)+40|0;C=c[B>>2]|0;c[B>>2]=C+1;c[N>>2]=C;break}c[P>>2]=c[(c[(c[G>>2]|0)+16>>2]|0)+8>>2];c[N>>2]=c[s>>2];while(1){if(!(c[P>>2]|0))break;if((c[P>>2]|0)==(c[M>>2]|0))break;c[N>>2]=(c[N>>2]|0)+1;c[P>>2]=c[(c[P>>2]|0)+20>>2]}c[O>>2]=105;c[(c[T>>2]|0)+20+4>>2]=c[N>>2]}while(0);c[(c[W>>2]|0)+8>>2]=c[N>>2];if(!(c[O>>2]|0))break;Ru(c[U>>2]|0,c[O>>2]|0,c[N>>2]|0,c[(c[M>>2]|0)+44>>2]|0,c[F>>2]|0)|0;iy(c[aa>>2]|0,c[M>>2]|0);if(!(c[(c[v>>2]|0)+36>>2]&15))break;if(c[(c[v>>2]|0)+36>>2]&32770|0)break;if(e[(c[T>>2]|0)+40>>1]&1|0)break;jy(c[U>>2]|0,2)}while(0);if((c[F>>2]|0)>=0)dv(c[aa>>2]|0,c[F>>2]|0);c[X>>2]=(c[X>>2]|0)+1;c[W>>2]=(c[W>>2]|0)+80}Q=Pv(c[U>>2]|0)|0;c[(c[T>>2]|0)+52>>2]=Q;if(!(a[(c[Y>>2]|0)+69>>0]|0)){Q=V;c[Q>>2]=-1;c[Q+4>>2]=-1;c[X>>2]=0;while(1){f=c[T>>2]|0;if((c[X>>2]|0)>=(c[S>>2]|0))break;c[W>>2]=f+752+((c[X>>2]|0)*80|0);c[_>>2]=c[(c[(c[W>>2]|0)+64>>2]|0)+36>>2];if(c[(c[(c[W>>2]|0)+64>>2]|0)+36>>2]&16384|0?(Q=V,_B(c[aa>>2]|0,(c[T>>2]|0)+80|0,(c[ba>>2]|0)+8+((d[(c[W>>2]|0)+44>>0]|0)*72|0)|0,c[Q>>2]|0,c[Q+4>>2]|0,c[W>>2]|0),a[(c[Y>>2]|0)+69>>0]|0):0)break a;c[Z>>2]=$B(c[aa>>2]|0,c[ba>>2]|0,c[W>>2]|0,c[X>>2]|0,d[(c[W>>2]|0)+44>>0]|0,b[R>>1]|0)|0;P=Pv(c[U>>2]|0)|0;c[(c[W>>2]|0)+32>>2]=P;P=V;P=aC(c[T>>2]|0,c[X>>2]|0,c[P>>2]|0,c[P+4>>2]|0)|0;Q=V;c[Q>>2]=P;c[Q+4>>2]=D;c[(c[T>>2]|0)+28>>2]=c[(c[W>>2]|0)+24>>2];do if((c[_>>2]&8192|0)==0?e[R>>1]&32|0:0)break;while(0);c[X>>2]=(c[X>>2]|0)+1}c[$>>2]=f;ba=c[$>>2]|0;l=ca;return ba|0}}}}else{Xd(c[Y>>2]|0,c[T>>2]|0);c[T>>2]=0}while(0);if(c[T>>2]|0){c[(c[aa>>2]|0)+136>>2]=c[(c[T>>2]|0)+36>>2];IB(c[Y>>2]|0,c[T>>2]|0)}c[$>>2]=0;ba=c[$>>2]|0;l=ca;return ba|0}function GB(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+96|0;m=E+80|0;u=E+76|0;x=E+72|0;y=E+68|0;z=E+64|0;A=E+60|0;B=E+56|0;C=E+52|0;k=E+48|0;h=E+44|0;i=E+40|0;j=E+36|0;n=E+32|0;o=E+28|0;p=E+24|0;q=E+20|0;r=E+16|0;s=E+12|0;t=E+8|0;v=E+4|0;w=E;c[m>>2]=f;c[u>>2]=c[c[m>>2]>>2];c[x>>2]=c[(c[u>>2]|0)+8>>2];c[B>>2]=c[(c[m>>2]|0)+4>>2];c[C>>2]=c[c[u>>2]>>2];EA(c[u>>2]|0);c[y>>2]=(d[(c[m>>2]|0)+42>>0]|0)-1;while(1){if((c[y>>2]|0)<0)break;c[z>>2]=(c[m>>2]|0)+752+((c[y>>2]|0)*80|0);c[A>>2]=c[(c[z>>2]|0)+64>>2];oy(c[x>>2]|0,c[(c[z>>2]|0)+24>>2]|0);if((d[(c[z>>2]|0)+45>>0]|0)!=161){Ru(c[x>>2]|0,d[(c[z>>2]|0)+45>>0]|0,c[(c[z>>2]|0)+48>>2]|0,c[(c[z>>2]|0)+52>>2]|0,d[(c[z>>2]|0)+46>>0]|0)|0;jy(c[x>>2]|0,a[(c[z>>2]|0)+47>>0]|0)}a:do if(c[(c[A>>2]|0)+36>>2]&2048|0?(c[(c[z>>2]|0)+56>>2]|0)>0:0){oy(c[x>>2]|0,c[(c[z>>2]|0)+16>>2]|0);c[i>>2]=c[(c[z>>2]|0)+56>>2];c[h>>2]=(c[(c[z>>2]|0)+56+4>>2]|0)+(((c[i>>2]|0)-1|0)*12|0);while(1){if((c[i>>2]|0)<=0)break a;ny(c[x>>2]|0,(c[(c[h>>2]|0)+4>>2]|0)+1|0);if((d[(c[h>>2]|0)+8>>0]|0)!=161)Qu(c[x>>2]|0,d[(c[h>>2]|0)+8>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0;ny(c[x>>2]|0,(c[(c[h>>2]|0)+4>>2]|0)-1|0);c[i>>2]=(c[i>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+-12}}while(0);oy(c[x>>2]|0,c[(c[z>>2]|0)+12>>2]|0);if(c[(c[z>>2]|0)+20>>2]|0){my(c[x>>2]|0,c[(c[z>>2]|0)+20>>2]|0)|0;ny(c[x>>2]|0,c[(c[z>>2]|0)+20>>2]|0);ny(c[x>>2]|0,(c[(c[z>>2]|0)+20>>2]|0)-2|0)}if(c[(c[z>>2]|0)+40>>2]|0)Qu(c[x>>2]|0,68,(c[(c[z>>2]|0)+36>>2]|0)>>>1,c[(c[z>>2]|0)+40>>2]|0)|0;if(c[c[z>>2]>>2]|0){c[j>>2]=c[(c[A>>2]|0)+36>>2];c[k>>2]=ey(c[x>>2]|0,66,c[c[z>>2]>>2]|0)|0;if(!(c[j>>2]&64))ey(c[x>>2]|0,124,c[(c[B>>2]|0)+8+((c[y>>2]|0)*72|0)+44>>2]|0)|0;if(!(c[j>>2]&512|0)){if(c[j>>2]&8192|0?c[(c[z>>2]|0)+56>>2]|0:0)D=22}else D=22;if((D|0)==22){D=0;ey(c[x>>2]|0,124,c[(c[z>>2]|0)+8>>2]|0)|0}f=c[x>>2]|0;g=c[z>>2]|0;if((d[(c[z>>2]|0)+45>>0]|0)==72)Qu(f,14,c[g+48>>2]|0,c[(c[z>>2]|0)+28>>2]|0)|0;else my(f,c[g+28>>2]|0)|0;ny(c[x>>2]|0,c[k>>2]|0)}c[y>>2]=(c[y>>2]|0)+-1}oy(c[x>>2]|0,c[(c[m>>2]|0)+32>>2]|0);c[y>>2]=0;c[z>>2]=(c[m>>2]|0)+752;while(1){if((c[y>>2]|0)>=(d[(c[m>>2]|0)+42>>0]|0))break;c[q>>2]=0;c[r>>2]=(c[B>>2]|0)+8+((d[(c[z>>2]|0)+44>>0]|0)*72|0);c[s>>2]=c[(c[r>>2]|0)+16>>2];c[A>>2]=c[(c[z>>2]|0)+64>>2];if((d[(c[r>>2]|0)+36+1>>0]|0)>>>4&1|0?!(a[(c[C>>2]|0)+69>>0]|0):0)HB(c[x>>2]|0,c[(c[z>>2]|0)+32>>2]|0,c[(c[z>>2]|0)+4>>2]|0,c[(c[r>>2]|0)+32>>2]|0,0);else D=33;b:do if((D|0)==33){D=0;if(((d[(c[s>>2]|0)+42>>0]&2|0)==0?(c[(c[s>>2]|0)+12>>2]|0)==0:0)?(e[(c[m>>2]|0)+40>>1]&32|0)==0:0){c[t>>2]=c[(c[A>>2]|0)+36>>2];if((d[(c[m>>2]|0)+45>>0]|0)==0?(c[t>>2]&64|0)==0:0)ey(c[x>>2]|0,111,c[(c[r>>2]|0)+44>>2]|0)|0;if((c[t>>2]&512|0?(c[t>>2]&16640|0)==0:0)?(c[(c[z>>2]|0)+8>>2]|0)!=(c[(c[m>>2]|0)+20+4>>2]|0):0)ey(c[x>>2]|0,111,c[(c[z>>2]|0)+8>>2]|0)|0}f=c[A>>2]|0;if(!(c[(c[A>>2]|0)+36>>2]&576|0)){if(c[f+36>>2]&8192|0)c[q>>2]=c[(c[z>>2]|0)+56>>2]}else c[q>>2]=c[f+24+8>>2];if(c[q>>2]|0){if(d[(c[m>>2]|0)+45>>0]|0?(d[(c[(c[q>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[C>>2]|0)+69>>0]|0)){c[o>>2]=Pv(c[x>>2]|0)|0;c[n>>2]=c[(c[z>>2]|0)+32>>2];c[p>>2]=uy(c[x>>2]|0,c[n>>2]|0)|0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break b;do if((c[(c[p>>2]|0)+4>>2]|0)==(c[(c[z>>2]|0)+4>>2]|0)){f=c[p>>2]|0;if((d[c[p>>2]>>0]|0)!=96){if((d[f>>0]|0)!=123)break;c[(c[p>>2]|0)+4>>2]=c[(c[z>>2]|0)+8>>2];a[c[p>>2]>>0]=-127;break}c[v>>2]=c[f+8>>2];if(d[(c[s>>2]|0)+42>>0]&32|0){c[w>>2]=uv(c[s>>2]|0)|0;c[v>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[v>>2]<<1)>>1]}c[v>>2]=(Uy(c[q>>2]|0,c[v>>2]&65535)|0)<<16>>16;if((c[v>>2]|0)>=0){c[(c[p>>2]|0)+8>>2]=c[v>>2];c[(c[p>>2]|0)+4>>2]=c[(c[z>>2]|0)+8>>2]}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}}}}while(0);c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+80}c[(c[u>>2]|0)+136>>2]=c[(c[m>>2]|0)+36>>2];IB(c[C>>2]|0,c[m>>2]|0);l=E;return}function HB(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;q=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;i=p+4|0;j=p;c[q>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[i>>2]=uy(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=Pv(c[q>>2]|0)|0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;do if((c[(c[i>>2]|0)+4>>2]|0)==(c[m>>2]|0)){b=c[i>>2]|0;if((d[c[i>>2]>>0]|0|0)==96){a[b>>0]=84;c[(c[i>>2]|0)+4>>2]=(c[(c[i>>2]|0)+8>>2]|0)+(c[n>>2]|0);c[(c[i>>2]|0)+8>>2]=c[(c[i>>2]|0)+12>>2];c[(c[i>>2]|0)+12>>2]=0;break}if((d[b>>0]|0|0)==123){b=c[i>>2]|0;if(c[o>>2]|0){a[b>>0]=91;c[(c[i>>2]|0)+4>>2]=c[(c[i>>2]|0)+8>>2];c[(c[i>>2]|0)+8>>2]=1;break}else{a[b>>0]=79;c[(c[i>>2]|0)+4>>2]=0;c[(c[i>>2]|0)+12>>2]=0;break}}}while(0);c[k>>2]=(c[k>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+20}l=p;return}function IB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){l=j;return}c[g>>2]=0;while(1){a=c[f>>2]|0;if((c[g>>2]|0)>=(d[(c[f>>2]|0)+42>>0]|0|0))break;c[h>>2]=a+752+((c[g>>2]|0)*80|0);if(c[(c[h>>2]|0)+64>>2]|0?c[(c[(c[h>>2]|0)+64>>2]|0)+36>>2]&2048|0:0)Xd(c[e>>2]|0,c[(c[h>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}JB(a+80|0);while(1){if(!(c[(c[f>>2]|0)+56>>2]|0))break;c[i>>2]=c[(c[f>>2]|0)+56>>2];c[(c[f>>2]|0)+56>>2]=c[(c[i>>2]|0)+52>>2];KB(c[e>>2]|0,c[i>>2]|0)}Xd(c[e>>2]|0,c[f>>2]|0);l=j;return}function JB(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[g>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[f>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[d>>2]|0)<0)break;if((e[(c[f>>2]|0)+10>>1]|0)&1|0)Ok(c[g>>2]|0,c[c[f>>2]>>2]|0);if(!((e[(c[f>>2]|0)+10>>1]|0)&16|0)){if((e[(c[f>>2]|0)+10>>1]|0)&32|0)PB(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0)}else OB(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0);c[d>>2]=(c[d>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){l=h;return}Xd(c[g>>2]|0,c[(c[b>>2]|0)+20>>2]|0);l=h;return}function KB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;LB(c[f>>2]|0,c[e>>2]|0);Xd(c[f>>2]|0,c[e>>2]|0);l=d;return}function LB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Xd(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);MB(c[d>>2]|0,c[e>>2]|0);NB(c[e>>2]|0);l=f;return}function MB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){l=h;return}if(c[(c[g>>2]|0)+36>>2]&1024|0?d[(c[g>>2]|0)+24+4>>0]|0|0:0){_d(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;l=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){l=h;return}if(!(c[(c[g>>2]|0)+24+8>>2]|0)){l=h;return}Xd(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+8>>2]|0)+16>>2]|0);Xd(c[f>>2]|0,c[(c[g>>2]|0)+24+8>>2]|0);c[(c[g>>2]|0)+24+8>>2]=0;l=h;return}function NB(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;l=d;return}function OB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;JB(c[e>>2]|0);Xd(c[f>>2]|0,c[e>>2]|0);l=d;return}function PB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;JB(c[e>>2]|0);Xd(c[f>>2]|0,c[e>>2]|0);l=d;return}function QB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;l=d;return}function RB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+8|0;h=k+4|0;i=k+12|0;j=k;c[g>>2]=b;c[h>>2]=e;a[i>>0]=f;c[j>>2]=yw(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[i>>0]|0;if(!(c[j>>2]|0)){l=k;return}b=c[g>>2]|0;if((d[c[j>>2]>>0]|0|0)!=(d[i>>0]|0|0)){iD(b,c[h>>2]|0,0)|0;l=k;return}else{RB(b,c[(c[j>>2]|0)+12>>2]|0,a[i>>0]|0);RB(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a[i>>0]|0);l=k;return}}function SB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;e=c[e>>2]|0;a=(c[f>>2]|0)+4|0;f=c[f>>2]|0;b=c[f>>2]|0;c[f>>2]=b+1;c[a+(b<<2)>>2]=e;l=d;return}function TB(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;i=r+40|0;j=r+36|0;k=r+32|0;o=r+28|0;p=r+24|0;m=r+20|0;n=r+16|0;g=r+12|0;h=r+8|0;c[i>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!((d[(c[j>>2]|0)+36+1>>0]|0)>>>2&1)){l=r;return}c[o>>2]=c[(c[j>>2]|0)+16>>2];c[n>>2]=c[(c[j>>2]|0)+64>>2];if(!(c[n>>2]|0)){l=r;return}c[m>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[n>>2]>>2]|0)){a=13;break}while(1){if((c[m>>2]|0)<(b[(c[o>>2]|0)+34>>1]|0))a=(d[(c[(c[o>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+15>>0]&2|0)==0;else a=0;e=c[m>>2]|0;if(!a)break;c[m>>2]=e+1}f=c[i>>2]|0;if((e|0)>=(b[(c[o>>2]|0)+34>>1]|0)){a=10;break}c[g>>2]=Wt(c[f>>2]|0,152,0,0)|0;if(!(c[g>>2]|0)){a=13;break}c[(c[g>>2]|0)+28>>2]=c[(c[j>>2]|0)+44>>2];e=c[m>>2]|0;c[m>>2]=e+1;b[(c[g>>2]|0)+32>>1]=e;c[(c[g>>2]|0)+44>>2]=c[o>>2];e=c[i>>2]|0;f=c[g>>2]|0;c[h>>2]=pt(e,37,f,Ww(c[c[i>>2]>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,0)|0,0)|0;iD(c[k>>2]|0,c[h>>2]|0,1)|0;c[p>>2]=(c[p>>2]|0)+1}if((a|0)==10){p=c[p>>2]|0;c[q>>2]=c[c[o>>2]>>2];c[q+4>>2]=p;sl(f,34469,q);l=r;return}else if((a|0)==13){l=r;return}}function UB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;eD(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}l=g;return}function VB(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;n=u+36|0;o=u+32|0;p=u+28|0;q=u+24|0;r=u+20|0;s=u+16|0;i=u+12|0;j=u+8|0;k=u+4|0;m=u;c[o>>2]=a;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;if((c[c[p>>2]>>2]|0)!=1){c[n>>2]=0;t=c[n>>2]|0;l=u;return t|0}c[k>>2]=c[(c[p>>2]|0)+8+44>>2];c[s>>2]=c[(c[p>>2]|0)+8+16>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[r>>2]>>2]|0))break;c[m>>2]=yw(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)|0;if(((d[c[m>>2]>>0]|0)==152?(c[(c[m>>2]|0)+28>>2]|0)==(c[k>>2]|0):0)?(b[(c[m>>2]|0)+32>>1]|0)<0:0){t=8;break}c[j>>2]=(c[j>>2]|0)+1}if((t|0)==8){c[n>>2]=1;t=c[n>>2]|0;l=u;return t|0}c[i>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[i>>2]|0)){t=22;break}if(d[(c[i>>2]|0)+54>>0]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(e[(c[i>>2]|0)+50>>1]|0))break;if(!(mC(c[q>>2]|0,c[k>>2]|0,c[j>>2]|0,-1,-1,2,c[i>>2]|0)|0)){if((dD(c[o>>2]|0,c[r>>2]|0,c[k>>2]|0,c[i>>2]|0,c[j>>2]|0)|0)<0)break;if(!(VC(c[i>>2]|0,c[j>>2]|0)|0))break}c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(e[(c[i>>2]|0)+50>>1]|0)){t=20;break}}c[i>>2]=c[(c[i>>2]|0)+20>>2]}if((t|0)==20){c[n>>2]=1;t=c[n>>2]|0;l=u;return t|0}else if((t|0)==22){c[n>>2]=0;t=c[n>>2]|0;l=u;return t|0}return 0}function WB(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;p=u+44|0;j=u+40|0;q=u+36|0;k=u+32|0;m=u+28|0;n=u+24|0;r=u+20|0;s=u+16|0;o=u+12|0;g=u+8|0;h=u+4|0;i=u;c[j>>2]=f;c[q>>2]=c[c[j>>2]>>2];if((e[(c[q>>2]|0)+40>>1]|0)&32|0){c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}c[k>>2]=(c[(c[q>>2]|0)+4>>2]|0)+8;c[g>>2]=c[(c[k>>2]|0)+16>>2];if((d[(c[g>>2]|0)+42>>0]|0)&16|0){c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}if((d[(c[k>>2]|0)+36+1>>0]|0)>>>1&1|0){c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}c[s>>2]=c[(c[k>>2]|0)+44>>2];c[m>>2]=(c[q>>2]|0)+80;c[r>>2]=c[(c[j>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=0;b[(c[r>>2]|0)+42>>1]=0;c[n>>2]=mC(c[m>>2]|0,c[s>>2]|0,-1,0,0,130,0)|0;a:do if(c[n>>2]|0){c[(c[r>>2]|0)+36>>2]=4353;c[c[(c[r>>2]|0)+48>>2]>>2]=c[n>>2];b[(c[r>>2]|0)+40>>1]=1;b[(c[r>>2]|0)+24>>1]=1;f=33;g=c[r>>2]|0;t=24}else{c[h>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[h>>2]|0))break a;if((d[(c[h>>2]|0)+54>>0]|0|0?(c[(c[h>>2]|0)+36>>2]|0)==0:0)?(e[(c[h>>2]|0)+50>>1]|0|0)<=3:0){c[i>>2]=(d[(c[h>>2]|0)+55>>0]|0)>>>3&1|0?130:2;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[h>>2]|0)+50>>1]|0|0))break;c[n>>2]=mC(c[m>>2]|0,c[s>>2]|0,c[o>>2]|0,0,0,c[i>>2]|0,c[h>>2]|0)|0;if(!(c[n>>2]|0))break;c[(c[(c[r>>2]|0)+48>>2]|0)+(c[o>>2]<<2)>>2]=c[n>>2];c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[h>>2]|0)+50>>1]|0|0))break}c[h>>2]=c[(c[h>>2]|0)+20>>2]}c[(c[r>>2]|0)+36>>2]=4609;if(!(!((d[(c[h>>2]|0)+55>>0]|0)>>>5&1|0)?(t=(c[k>>2]|0)+56|0,m=c[t>>2]|0,t=c[t+4>>2]|0,n=SC(c[h>>2]|0)|0,!((m&~n|0)==0&(t&~D|0)==0)):0)){t=(c[r>>2]|0)+36|0;c[t>>2]=c[t>>2]|64}b[(c[r>>2]|0)+40>>1]=c[o>>2];b[(c[r>>2]|0)+24>>1]=c[o>>2];c[(c[r>>2]|0)+24+8>>2]=c[h>>2];f=39;g=c[r>>2]|0;t=24}while(0);if((t|0)==24)b[g+20>>1]=f;if(!(c[(c[r>>2]|0)+36>>2]|0)){c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}b[(c[r>>2]|0)+22>>1]=1;c[(c[q>>2]|0)+752+64>>2]=c[r>>2];o=bC((c[q>>2]|0)+488|0,c[s>>2]|0)|0;t=(c[r>>2]|0)+8|0;c[t>>2]=o;c[t+4>>2]=D;c[(c[q>>2]|0)+752+4>>2]=c[s>>2];b[(c[q>>2]|0)+72>>1]=1;if(c[(c[q>>2]|0)+8>>2]|0)a[(c[q>>2]|0)+43>>0]=c[c[(c[q>>2]|0)+8>>2]>>2];if((e[(c[q>>2]|0)+40>>1]|0)&256|0)a[(c[q>>2]|0)+47>>0]=1;c[p>>2]=1;t=c[p>>2]|0;l=u;return t|0}function XB(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+80|0;e=s+60|0;i=s+56|0;j=s+16|0;k=s+8|0;m=s+52|0;t=s+48|0;n=s+44|0;o=s+40|0;r=s+36|0;p=s+32|0;q=s+28|0;f=s+64|0;g=s;h=s+24|0;c[e>>2]=b;c[i>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=k;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[i>>2]|0)+4>>2];c[o>>2]=(c[t>>2]|0)+8+((d[(c[i>>2]|0)+42>>0]|0)*72|0);c[r>>2]=c[c[c[i>>2]>>2]>>2];c[p>>2]=0;a[f>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];NB(c[q>>2]|0);c[m>>2]=0;c[n>>2]=(c[t>>2]|0)+8;while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=19;break}b=g;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[m>>2];b=bC((c[i>>2]|0)+488|0,c[(c[n>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=D;if((d[(c[n>>2]|0)+36>>0]|0|(d[f>>0]|0))&10|0){u=k;b=c[u+4>>2]|0;t=j;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[f>>0]=a[(c[n>>2]|0)+36>>0]|0;if((d[(c[(c[n>>2]|0)+16>>2]|0)+42>>0]|0)&16|0){c[h>>2]=(c[n>>2]|0)+72;while(1){if((c[h>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;u=g;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?!((d[(c[h>>2]|0)+36>>0]|0)&10|0):0)){b=bC((c[i>>2]|0)+488|0,c[(c[h>>2]|0)+44>>2]|0)|0;v=g;t=c[v+4>>2]|D;u=g;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[h>>2]=(c[h>>2]|0)+72}u=j;v=g;c[p>>2]=FC(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=j;c[p>>2]=GC(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[p>>2]|0)){u=j;v=g;c[p>>2]=HC(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=k;u=c[b+4>>2]|c[t+4>>2];v=k;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[p>>2]|0){b=19;break}if(d[(c[r>>2]|0)+69>>0]|0|0){b=19;break}c[m>>2]=(c[m>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+72}if((b|0)==19){LB(c[r>>2]|0,c[q>>2]|0);l=s;return c[p>>2]|0}return 0}function YB(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+176|0;E=Y+40|0;M=Y+148|0;P=Y+144|0;K=Y+162|0;C=Y+140|0;W=Y+136|0;D=Y+132|0;X=Y+128|0;L=Y+124|0;j=Y+120|0;k=Y+116|0;m=Y+112|0;n=Y+108|0;o=Y+160|0;p=Y+158|0;q=Y+104|0;r=Y+100|0;s=Y+96|0;t=Y+92|0;N=Y+88|0;u=Y+84|0;G=Y+80|0;h=Y+76|0;v=Y+72|0;O=Y+68|0;i=Y+64|0;w=Y+156|0;x=Y+154|0;y=Y+152|0;z=Y+164|0;A=Y+32|0;B=Y+24|0;H=Y+60|0;I=Y+16|0;J=Y+56|0;Q=Y+52|0;R=Y+8|0;T=Y+48|0;U=Y;V=Y+44|0;c[P>>2]=f;b[K>>1]=g;c[m>>2]=0;b[o>>1]=0;b[p>>1]=0;c[v>>2]=0;c[D>>2]=c[c[P>>2]>>2];c[X>>2]=c[c[D>>2]>>2];c[W>>2]=d[(c[P>>2]|0)+42>>0];if((c[W>>2]|0)<=1)f=1;else f=(c[W>>2]|0)==2?5:10;c[C>>2]=f;if((c[(c[P>>2]|0)+8>>2]|0)!=0?(b[K>>1]|0)!=0:0)c[n>>2]=c[c[(c[P>>2]|0)+8>>2]>>2];else c[n>>2]=0;c[i>>2]=(S(32+(c[W>>2]<<2)|0,c[C>>2]|0)|0)<<1;c[i>>2]=(c[i>>2]|0)+(c[n>>2]<<1);i=c[i>>2]|0;c[O>>2]=Ed(c[X>>2]|0,i,((i|0)<0)<<31>>31)|0;if(!(c[O>>2]|0)){c[M>>2]=7;X=c[M>>2]|0;l=Y;return X|0}c[t>>2]=c[O>>2];c[s>>2]=(c[t>>2]|0)+(c[C>>2]<<5);i=c[s>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;c[h>>2]=(c[s>>2]|0)+(c[C>>2]<<5);c[j>>2]=c[C>>2]<<1;c[N>>2]=c[t>>2];while(1){if((c[j>>2]|0)<=0)break;c[(c[N>>2]|0)+24>>2]=c[h>>2];c[j>>2]=(c[j>>2]|0)+-1;c[N>>2]=(c[N>>2]|0)+32;c[h>>2]=(c[h>>2]|0)+(c[W>>2]<<2)}if(c[n>>2]|0){c[v>>2]=c[h>>2];m0(c[v>>2]|0,0,c[n>>2]<<1|0)|0}if((c[(c[D>>2]|0)+136>>2]|0)>>>0<48)f=c[(c[D>>2]|0)+136>>2]|0;else f=48;b[(c[s>>2]|0)+16>>1]=f;c[r>>2]=1;if(c[n>>2]|0)a[(c[s>>2]|0)+22>>0]=(c[W>>2]|0)>0?-1:c[n>>2]|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[W>>2]|0))break;c[q>>2]=0;c[j>>2]=0;c[N>>2]=c[s>>2];while(1){if((c[j>>2]|0)>=(c[r>>2]|0))break;c[G>>2]=c[(c[P>>2]|0)+56>>2];while(1){if(!(c[G>>2]|0))break;a[z>>0]=a[(c[N>>2]|0)+22>>0]|0;h=B;c[h>>2]=0;c[h+4>>2]=0;h=c[G>>2]|0;i=c[N>>2]|0;a:do if(!(c[h>>2]&~c[i>>2]|0?1:(c[h+4>>2]&~c[i+4>>2]|0)!=0)?(h=(c[G>>2]|0)+8|0,i=c[N>>2]|0,!(c[h>>2]&c[i>>2]|0?1:(c[h+4>>2]&c[i+4>>2]|0)!=0)):0){if(c[(c[G>>2]|0)+36>>2]&16384|0?(b[(c[N>>2]|0)+16>>1]|0)<10:0)break;b[y>>1]=BC(b[(c[G>>2]|0)+18>>1]|0,(b[(c[G>>2]|0)+20>>1]|0)+(b[(c[N>>2]|0)+16>>1]|0)&65535)|0;b[y>>1]=BC(b[y>>1]|0,b[(c[N>>2]|0)+20>>1]|0)|0;b[w>>1]=(b[(c[N>>2]|0)+16>>1]|0)+(b[(c[G>>2]|0)+22>>1]|0);f=c[N>>2]|0;g=(c[G>>2]|0)+8|0;h=c[f+4>>2]|c[g+4>>2];i=A;c[i>>2]=c[f>>2]|c[g>>2];c[i+4>>2]=h;if((a[z>>0]|0)<0)a[z>>0]=CC(c[P>>2]|0,c[(c[P>>2]|0)+8>>2]|0,c[N>>2]|0,b[(c[P>>2]|0)+40>>1]|0,c[L>>2]&65535,c[G>>2]|0,B)|0;else{g=(c[N>>2]|0)+8|0;h=c[g+4>>2]|0;i=B;c[i>>2]=c[g>>2];c[i+4>>2]=h}if((a[z>>0]|0)>=0?(a[z>>0]|0)<(c[n>>2]|0):0){if(!(b[(c[v>>2]|0)+(a[z>>0]<<1)>>1]|0)){i=DC(c[P>>2]|0,b[K>>1]|0,c[n>>2]|0,a[z>>0]|0)|0;b[(c[v>>2]|0)+(a[z>>0]<<1)>>1]=i}b[x>>1]=BC(b[y>>1]|0,b[(c[v>>2]|0)+(a[z>>0]<<1)>>1]|0)|0}else b[x>>1]=b[y>>1]|0;c[k>>2]=0;c[u>>2]=c[t>>2];while(1){if((c[k>>2]|0)>=(c[q>>2]|0))break;h=c[u>>2]|0;i=A;if(((c[h>>2]|0)==(c[i>>2]|0)?(c[h+4>>2]|0)==(c[i+4>>2]|0):0)?((a[(c[u>>2]|0)+22>>0]^a[z>>0])&128|0)==0:0)break;c[k>>2]=(c[k>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+32}do if((c[k>>2]|0)<(c[q>>2]|0)){if((b[(c[u>>2]|0)+18>>1]|0)<(b[x>>1]|0))break a;if((b[(c[u>>2]|0)+18>>1]|0)!=(b[x>>1]|0))break;if((b[(c[u>>2]|0)+16>>1]|0)<=(b[w>>1]|0))break a}else{do if((c[q>>2]|0)>=(c[C>>2]|0)){if((b[x>>1]|0)>(b[o>>1]|0))break a;if((b[x>>1]|0)!=(b[o>>1]|0))break;if((b[y>>1]|0)>=(b[p>>1]|0))break a}while(0);if((c[q>>2]|0)<(c[C>>2]|0)){i=c[q>>2]|0;c[q>>2]=i+1;c[k>>2]=i}else c[k>>2]=c[m>>2];c[u>>2]=(c[t>>2]|0)+(c[k>>2]<<5)}while(0);f=c[N>>2]|0;i=(c[G>>2]|0)+8|0;h=c[f+4>>2]|c[i+4>>2];g=c[u>>2]|0;c[g>>2]=c[f>>2]|c[i>>2];c[g+4>>2]=h;g=B;h=c[g+4>>2]|0;i=(c[u>>2]|0)+8|0;c[i>>2]=c[g>>2];c[i+4>>2]=h;b[(c[u>>2]|0)+16>>1]=b[w>>1]|0;b[(c[u>>2]|0)+18>>1]=b[x>>1]|0;b[(c[u>>2]|0)+20>>1]=b[y>>1]|0;a[(c[u>>2]|0)+22>>0]=a[z>>0]|0;h0(c[(c[u>>2]|0)+24>>2]|0,c[(c[N>>2]|0)+24>>2]|0,c[L>>2]<<2|0)|0;c[(c[(c[u>>2]|0)+24>>2]|0)+(c[L>>2]<<2)>>2]=c[G>>2];if((c[q>>2]|0)>=(c[C>>2]|0)){c[m>>2]=0;b[o>>1]=b[(c[t>>2]|0)+18>>1]|0;b[p>>1]=b[(c[t>>2]|0)+16>>1]|0;c[k>>2]=1;c[u>>2]=(c[t>>2]|0)+32;while(1){if((c[k>>2]|0)>=(c[C>>2]|0))break a;do if((b[(c[u>>2]|0)+18>>1]|0)<=(b[o>>1]|0)){if((b[(c[u>>2]|0)+18>>1]|0)!=(b[o>>1]|0))break;if((b[(c[u>>2]|0)+20>>1]|0)>(b[p>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;b[o>>1]=b[(c[u>>2]|0)+18>>1]|0;b[p>>1]=b[(c[u>>2]|0)+20>>1]|0;c[m>>2]=c[k>>2]}c[k>>2]=(c[k>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+32}}}while(0);c[G>>2]=c[(c[G>>2]|0)+52>>2]}c[j>>2]=(c[j>>2]|0)+1;c[N>>2]=(c[N>>2]|0)+32}c[N>>2]=c[t>>2];c[t>>2]=c[s>>2];c[s>>2]=c[N>>2];c[r>>2]=c[q>>2];c[L>>2]=(c[L>>2]|0)+1}if(!(c[r>>2]|0)){sl(c[D>>2]|0,34370,E);Xd(c[X>>2]|0,c[O>>2]|0);c[M>>2]=1;X=c[M>>2]|0;l=Y;return X|0}c[N>>2]=c[s>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[r>>2]|0))break;if((b[(c[N>>2]|0)+18>>1]|0)>(b[(c[s>>2]|0)+(c[j>>2]<<5)+18>>1]|0))c[N>>2]=(c[s>>2]|0)+(c[j>>2]<<5);c[j>>2]=(c[j>>2]|0)+1}c[L>>2]=0;while(1){f=c[P>>2]|0;if((c[L>>2]|0)>=(c[W>>2]|0))break;c[H>>2]=f+752+((c[L>>2]|0)*80|0);F=c[(c[(c[N>>2]|0)+24>>2]|0)+(c[L>>2]<<2)>>2]|0;c[G>>2]=F;c[(c[H>>2]|0)+64>>2]=F;a[(c[H>>2]|0)+44>>0]=a[(c[G>>2]|0)+16>>0]|0;c[(c[H>>2]|0)+4>>2]=c[(c[(c[P>>2]|0)+4>>2]|0)+8+((d[(c[H>>2]|0)+44>>0]|0)*72|0)+44>>2];c[L>>2]=(c[L>>2]|0)+1}if((((e[f+40>>1]&256|0?(e[(c[P>>2]|0)+40>>1]&128|0)==0:0)?(d[(c[P>>2]|0)+47>>0]|0)==0:0)?b[K>>1]|0:0)?(c[J>>2]=(CC(c[P>>2]|0,c[(c[P>>2]|0)+12>>2]|0,c[N>>2]|0,128,(c[W>>2]|0)-1&65535,c[(c[(c[N>>2]|0)+24>>2]|0)+((c[W>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[J>>2]|0)==(c[c[(c[P>>2]|0)+12>>2]>>2]|0)):0)a[(c[P>>2]|0)+47>>0]=2;if(c[(c[P>>2]|0)+8>>2]|0){f=a[(c[N>>2]|0)+22>>0]|0;if(e[(c[P>>2]|0)+40>>1]&128|0){if((f<<24>>24|0)==(c[c[(c[P>>2]|0)+8>>2]>>2]|0))a[(c[P>>2]|0)+47>>0]=2}else{a[(c[P>>2]|0)+43>>0]=f;J=(c[N>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[P>>2]|0)+64|0;c[L>>2]=c[J>>2];c[L+4>>2]=K;if(((((a[(c[P>>2]|0)+43>>0]|0)<=0?(a[(c[P>>2]|0)+43>>0]=0,(c[W>>2]|0)>0):0)?(c[Q>>2]=c[(c[(c[(c[N>>2]|0)+24>>2]|0)+((c[W>>2]|0)-1<<2)>>2]|0)+36>>2],(c[Q>>2]&4096|0)==0):0)?(c[Q>>2]&260|0)!=260:0)?(Q=R,c[Q>>2]=0,c[Q+4>>2]=0,c[T>>2]=(CC(c[P>>2]|0,c[(c[P>>2]|0)+8>>2]|0,c[N>>2]|0,2048,(c[W>>2]|0)-1&65535,c[(c[(c[N>>2]|0)+24>>2]|0)+((c[W>>2]|0)-1<<2)>>2]|0,R)|0)<<24>>24,(c[T>>2]|0)==(c[c[(c[P>>2]|0)+8>>2]>>2]|0)):0){a[(c[P>>2]|0)+48>>0]=1;Q=R;R=c[Q+4>>2]|0;T=(c[P>>2]|0)+64|0;c[T>>2]=c[Q>>2];c[T+4>>2]=R}}if((e[(c[P>>2]|0)+40>>1]&512|0?((c[W>>2]|0)>0?(a[(c[P>>2]|0)+43>>0]|0)==(c[c[(c[P>>2]|0)+8>>2]>>2]|0):0):0)?(T=U,c[T>>2]=0,c[T+4>>2]=0,c[V>>2]=(CC(c[P>>2]|0,c[(c[P>>2]|0)+8>>2]|0,c[N>>2]|0,0,(c[W>>2]|0)-1&65535,c[(c[(c[N>>2]|0)+24>>2]|0)+((c[W>>2]|0)-1<<2)>>2]|0,U)|0)<<24>>24,(c[V>>2]|0)==(c[c[(c[P>>2]|0)+8>>2]>>2]|0)):0){a[(c[P>>2]|0)+44>>0]=1;V=c[U+4>>2]|0;W=(c[P>>2]|0)+64|0;c[W>>2]=c[U>>2];c[W+4>>2]=V}}b[(c[P>>2]|0)+72>>1]=b[(c[N>>2]|0)+16>>1]|0;Xd(c[X>>2]|0,c[O>>2]|0);c[M>>2]=0;X=c[M>>2]|0;l=Y;return X|0}function ZB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;if(!(c[e>>2]|0)){f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;D=f;l=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;i=zC(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;j=g;a=c[j+4>>2]|D;b=g;c[b>>2]=c[j>>2]|i;c[b+4>>2]=a;c[f>>2]=(c[f>>2]|0)+1}i=g;j=i;j=c[j>>2]|0;i=i+4|0;i=c[i>>2]|0;D=i;l=h;return j|0}function _B(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+176|0;q=Y+40|0;X=Y+160|0;K=Y+156|0;L=Y+152|0;M=Y+32|0;N=Y+148|0;t=Y+144|0;u=Y+140|0;v=Y+136|0;w=Y+132|0;O=Y+128|0;P=Y+124|0;x=Y+120|0;Q=Y+116|0;R=Y+112|0;S=Y+108|0;y=Y+104|0;z=Y+100|0;A=Y+96|0;B=Y+92|0;s=Y+88|0;C=Y+24|0;E=Y+16|0;m=Y+164|0;T=Y+84|0;F=Y+80|0;U=Y+76|0;V=Y+72|0;W=Y+68|0;n=Y+64|0;o=Y+60|0;p=Y+8|0;G=Y+56|0;H=Y;I=Y+52|0;J=Y+48|0;c[X>>2]=f;c[K>>2]=g;c[L>>2]=h;h=M;c[h>>2]=i;c[h+4>>2]=j;c[N>>2]=k;a[m>>0]=0;c[T>>2]=0;c[F>>2]=0;c[V>>2]=0;c[O>>2]=c[(c[X>>2]|0)+8>>2];c[P>>2]=Nu(c[O>>2]|0,20)|0;c[t>>2]=0;c[x>>2]=c[(c[L>>2]|0)+16>>2];c[v>>2]=(c[(c[K>>2]|0)+20>>2]|0)+((c[(c[K>>2]|0)+12>>2]|0)*48|0);c[B>>2]=c[(c[N>>2]|0)+64>>2];k=C;c[k>>2]=0;c[k+4>>2]=0;c[u>>2]=c[(c[K>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>>>0>=(c[v>>2]|0)>>>0)break;c[n>>2]=c[c[u>>2]>>2];k=c[B>>2]|0;if((((c[k>>2]|0)==0&(c[k+4>>2]|0)==0?(e[(c[u>>2]|0)+10>>1]&2|0)==0:0)?(c[(c[n>>2]|0)+4>>2]&1|0)==0:0)?vC(c[n>>2]|0,c[(c[L>>2]|0)+44>>2]|0)|0:0){j=c[c[X>>2]>>2]|0;k=c[T>>2]|0;c[T>>2]=Mx(j,k,Ww(c[c[X>>2]>>2]|0,c[n>>2]|0,0)|0)|0}k=M;if(wC(c[u>>2]|0,c[L>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0){c[o>>2]=c[(c[u>>2]|0)+28>>2];if((c[o>>2]|0)>=64){f=0;g=-2147483648}else{f=j0(1,0,c[o>>2]|0)|0;g=D}k=p;c[k>>2]=f;c[k+4>>2]=g;if(!(a[m>>0]|0)){k=c[(c[(c[x>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2]|0;c[q>>2]=c[c[x>>2]>>2];c[q+4>>2]=k;xd(284,34333,q);a[m>>0]=1}j=C;k=p;if((c[j>>2]&c[k>>2]|0)==0?(c[j+4>>2]&c[k+4>>2]|0)==0:0){if(xC(c[c[X>>2]>>2]|0,c[B>>2]|0,(c[t>>2]|0)+1|0)|0){r=57;break}j=c[u>>2]|0;h=c[(c[B>>2]|0)+48>>2]|0;i=c[t>>2]|0;c[t>>2]=i+1;c[h+(i<<2)>>2]=j;i=p;h=C;j=c[h+4>>2]|c[i+4>>2];k=C;c[k>>2]=c[h>>2]|c[i>>2];c[k+4>>2]=j}}c[u>>2]=(c[u>>2]|0)+48}if((r|0)==57){W=c[X>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;Ok(W,X);l=Y;return}o=c[t>>2]&65535;b[(c[B>>2]|0)+40>>1]=o;b[(c[B>>2]|0)+24>>1]=o;c[(c[B>>2]|0)+36>>2]=16961;o=(c[L>>2]|0)+56|0;p=C;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=E;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[x>>2]|0)+34>>1]|0))f=63;else f=b[(c[x>>2]|0)+34>>1]|0;c[z>>2]=f;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;r=E;p=c[r>>2]|0;r=c[r+4>>2]|0;q=j0(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&D|0)!=0)c[t>>2]=(c[t>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0?1:(c[(c[L>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[t>>2]=(c[t>>2]|0)+((b[(c[x>>2]|0)+34>>1]|0)-64+1);c[w>>2]=yC(c[c[X>>2]>>2]|0,(c[t>>2]|0)+1&65535,0,s)|0;if(!(c[w>>2]|0)){W=c[X>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;Ok(W,X);l=Y;return}c[(c[B>>2]|0)+24+8>>2]=c[w>>2];c[c[w>>2]>>2]=34359;c[(c[w>>2]|0)+12>>2]=c[x>>2];c[S>>2]=0;s=C;c[s>>2]=0;c[s+4>>2]=0;c[u>>2]=c[(c[K>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>>>0>=(c[v>>2]|0)>>>0)break;s=M;if(wC(c[u>>2]|0,c[L>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[G>>2]=c[(c[u>>2]|0)+28>>2];if((c[G>>2]|0)>=64){f=0;g=-2147483648}else{f=j0(1,0,c[G>>2]|0)|0;g=D}r=H;c[r>>2]=f;c[r+4>>2]=g;r=C;s=H;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[I>>2]=c[c[u>>2]>>2];q=H;p=C;r=c[p+4>>2]|c[q+4>>2];s=C;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[w>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[u>>2]|0)+28>>2];c[A>>2]=xz(c[X>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[(c[I>>2]|0)+16>>2]|0)|0;if(c[A>>2]|0)f=c[c[A>>2]>>2]|0;else f=34455;c[(c[(c[w>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=f;c[S>>2]=(c[S>>2]|0)+1}}c[u>>2]=(c[u>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;M=E;H=c[M>>2]|0;M=c[M+4>>2]|0;I=j0(1,0,c[y>>2]|0)|0;if((H&I|0)!=0|(M&D|0)!=0){b[(c[(c[w>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[w>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34455;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0?1:(c[(c[L>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[x>>2]|0)+34>>1]|0))break a;b[(c[(c[w>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[w>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34455;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[w>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[w>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34455;L=(c[X>>2]|0)+40|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[N>>2]|0)+8>>2]=M;Qu(c[O>>2]|0,106,c[(c[N>>2]|0)+8>>2]|0,(c[t>>2]|0)+1|0)|0;iy(c[X>>2]|0,c[w>>2]|0);Ky(c[X>>2]|0);c[U>>2]=(c[(c[c[K>>2]>>2]|0)+4>>2]|0)+8+((d[(c[N>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1|0){c[J>>2]=c[(c[U>>2]|0)+28>>2];c[V>>2]=Qu(c[O>>2]|0,76,0,0)|0;Ru(c[O>>2]|0,15,c[J>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[Q>>2]=ey(c[O>>2]|0,16,c[J>>2]|0)|0}else c[Q>>2]=ey(c[O>>2]|0,57,c[(c[N>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[F>>2]=ky(c[O>>2]|0)|0;nz(c[X>>2]|0,c[T>>2]|0,c[F>>2]|0,16);M=(c[B>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[R>>2]=Ov(c[X>>2]|0)|0;c[W>>2]=Ey(c[X>>2]|0,c[w>>2]|0,c[(c[N>>2]|0)+4>>2]|0,c[R>>2]|0,0,0,0,0)|0;Qu(c[O>>2]|0,126,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0)|0;jy(c[O>>2]|0,16);if(c[T>>2]|0)oy(c[O>>2]|0,c[F>>2]|0);f=c[O>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1|0){ty(f,c[V>>2]|0,(c[W>>2]|0)+(c[S>>2]|0)|0);HB(c[O>>2]|0,c[Q>>2]|0,c[(c[N>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);my(c[O>>2]|0,c[Q>>2]|0)|0;W=(c[U>>2]|0)+36+1|0;a[W>>0]=a[W>>0]&-17}else Qu(f,7,c[(c[N>>2]|0)+4>>2]|0,(c[Q>>2]|0)+1|0)|0;jy(c[O>>2]|0,3);ny(c[O>>2]|0,c[Q>>2]|0);Qv(c[X>>2]|0,c[R>>2]|0);Iy(c[X>>2]|0);ny(c[O>>2]|0,c[P>>2]|0);W=c[X>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;Ok(W,X);l=Y;return}function $B(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+256|0;K=O+40|0;J=O+32|0;M=O+24|0;L=O+16|0;I=O+8|0;H=O;G=O+144|0;n=O+140|0;o=O+136|0;p=O+132|0;s=O+128|0;t=O+124|0;m=O+148|0;u=O+120|0;v=O+116|0;w=O+112|0;q=O+108|0;x=O+104|0;y=O+100|0;z=O+96|0;A=O+92|0;B=O+88|0;C=O+60|0;r=O+152|0;D=O+56|0;E=O+52|0;F=O+48|0;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[s>>2]=i;c[t>>2]=j;b[m>>1]=k;c[u>>2]=0;do if((d[(c[n>>2]|0)+409>>0]|0|0)==2){c[v>>2]=(c[o>>2]|0)+8+((d[(c[p>>2]|0)+44>>0]|0)*72|0);c[w>>2]=c[(c[n>>2]|0)+8>>2];c[q>>2]=c[c[n>>2]>>2];c[x>>2]=c[(c[n>>2]|0)+420>>2];c[z>>2]=c[(c[p>>2]|0)+64>>2];c[A>>2]=c[(c[z>>2]|0)+36>>2];if((c[A>>2]&8192|0)==0?((e[m>>1]|0)&32|0)==0:0){do if(c[A>>2]&48|0)f=1;else{if((c[A>>2]&1024|0)==0?(e[(c[z>>2]|0)+24>>1]|0|0)>0:0){f=1;break}f=((e[m>>1]|0)&3|0)!=0}while(0);c[y>>2]=f&1;zd(C,c[q>>2]|0,r,100,1e9);Wd(C,c[y>>2]|0?34068:34075);f=c[v>>2]|0;if(c[(c[v>>2]|0)+20>>2]|0){c[H>>2]=d[f+40>>0];oj(C,34080,H)}else{c[I>>2]=c[f+8>>2];oj(C,34093,I)}if(c[(c[v>>2]|0)+12>>2]|0){c[L>>2]=c[(c[v>>2]|0)+12>>2];oj(C,34103,L)}do if(!(c[A>>2]&1280)){c[D>>2]=0;c[E>>2]=c[(c[z>>2]|0)+24+8>>2];if(((d[(c[(c[v>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[E>>2]|0)+55>>0]&3|0)==2:0){if(c[y>>2]|0)c[D>>2]=34110}else N=19;do if((N|0)==19){if(c[A>>2]&131072|0){c[D>>2]=34122;break}if(c[A>>2]&16384|0){c[D>>2]=34155;break}if(c[A>>2]&64|0){c[D>>2]=34180;break}else{c[D>>2]=34198;break}}while(0);if(c[D>>2]|0){Pd(C,34207,7);N=c[D>>2]|0;c[M>>2]=c[c[E>>2]>>2];oj(C,N,M);sC(C,c[z>>2]|0)}}else{if(c[A>>2]&256|0?c[A>>2]&15|0:0){do if(!(c[A>>2]&5|0)){if((c[A>>2]&48|0)==48){c[F>>2]=34217;break}if(c[A>>2]&32|0){c[F>>2]=34231;break}else{c[F>>2]=34233;break}}else c[F>>2]=34215;while(0);c[J>>2]=c[F>>2];oj(C,34235,J);break}if(c[A>>2]&1024|0){N=c[(c[z>>2]|0)+24+8>>2]|0;c[K>>2]=c[(c[z>>2]|0)+24>>2];c[K+4>>2]=N;oj(C,34273,K)}}while(0);c[B>>2]=Bd(C)|0;c[u>>2]=Uu(c[w>>2]|0,162,c[x>>2]|0,c[s>>2]|0,c[t>>2]|0,c[B>>2]|0,-1)|0;break}c[G>>2]=0;N=c[G>>2]|0;l=O;return N|0}while(0);c[G>>2]=c[u>>2];N=c[G>>2]|0;l=O;return N|0}function aC(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;hb=l;l=l+448|0;db=hb+8|0;eb=hb+432|0;N=hb+428|0;fb=hb;gb=hb+424|0;Ra=hb+420|0;Sa=hb+416|0;qa=hb+412|0;ra=hb+408|0;Oa=hb+404|0;Za=hb+400|0;sa=hb+396|0;_a=hb+392|0;$a=hb+388|0;ab=hb+384|0;Qa=hb+380|0;bb=hb+376|0;H=hb+372|0;G=hb+368|0;cb=hb+364|0;Pa=hb+360|0;k=hb+356|0;j=hb+352|0;m=hb+348|0;n=hb+344|0;o=hb+340|0;p=hb+336|0;q=hb+332|0;r=hb+328|0;s=hb+324|0;t=hb+320|0;u=hb+316|0;v=hb+312|0;w=hb+308|0;x=hb+304|0;y=hb+300|0;z=hb+296|0;A=hb+292|0;B=hb+288|0;C=hb+284|0;E=hb+280|0;F=hb+276|0;ta=hb+442|0;ua=hb+440|0;va=hb+438|0;wa=hb+272|0;xa=hb+268|0;ya=hb+264|0;za=hb+260|0;Aa=hb+256|0;Ba=hb+252|0;Ca=hb+248|0;Da=hb+244|0;Ea=hb+240|0;I=hb+236|0;Fa=hb+232|0;Ga=hb+228|0;Ha=hb+224|0;Ia=hb+447|0;Ja=hb+446|0;J=hb+220|0;K=hb+445|0;L=hb+444|0;Ka=hb+216|0;La=hb+212|0;Ma=hb+208|0;O=hb+204|0;P=hb+200|0;Q=hb+196|0;R=hb+192|0;S=hb+188|0;T=hb+184|0;U=hb+180|0;V=hb+176|0;W=hb+172|0;X=hb+168|0;Y=hb+164|0;Z=hb+436|0;_=hb+160|0;$=hb+156|0;aa=hb+152|0;ba=hb+148|0;ca=hb+144|0;da=hb+140|0;ea=hb+136|0;fa=hb+132|0;ga=hb+128|0;ha=hb+124|0;ia=hb+120|0;ja=hb+116|0;ka=hb+112|0;la=hb+108|0;ma=hb+104|0;na=hb+100|0;oa=hb+96|0;pa=hb+92|0;M=hb+88|0;Ta=hb+84|0;Ua=hb+80|0;Va=hb+76|0;Wa=hb+72|0;Xa=hb+24|0;Ya=hb+16|0;c[eb>>2]=f;c[N>>2]=g;f=fb;c[f>>2]=h;c[f+4>>2]=i;c[Pa>>2]=0;c[k>>2]=0;c[ab>>2]=c[c[eb>>2]>>2];c[bb>>2]=c[(c[ab>>2]|0)+8>>2];c[_a>>2]=(c[eb>>2]|0)+80;c[Qa>>2]=c[c[ab>>2]>>2];c[Za>>2]=(c[eb>>2]|0)+752+((c[N>>2]|0)*80|0);c[sa>>2]=c[(c[Za>>2]|0)+64>>2];c[H>>2]=(c[(c[eb>>2]|0)+4>>2]|0)+8+((d[(c[Za>>2]|0)+44>>0]|0)*72|0);c[Sa>>2]=c[(c[H>>2]|0)+44>>2];h=fb;f=c[h>>2]|0;h=c[h+4>>2]|0;g=bC((c[eb>>2]|0)+488|0,c[Sa>>2]|0)|0;i=(c[Za>>2]|0)+72|0;c[i>>2]=f&~g;c[i+4>>2]=h&~D;i=(c[eb>>2]|0)+64|0;i=f0(c[i>>2]|0,c[i+4>>2]|0,c[N>>2]|0)|0;c[Oa>>2]=i&1;if(c[(c[sa>>2]|0)+36>>2]&64|0)f=(e[(c[eb>>2]|0)+40>>1]&32|0)==0;else f=0;c[ra>>2]=f&1;i=ky(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+16>>2]=i;c[(c[Za>>2]|0)+12>>2]=i;c[G>>2]=i;i=ky(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+24>>2]=i;c[cb>>2]=i;if((d[(c[Za>>2]|0)+44>>0]|0)>0?d[(c[H>>2]|0)+36>>0]&8|0:0){h=(c[ab>>2]|0)+44|0;i=(c[h>>2]|0)+1|0;c[h>>2]=i;c[c[Za>>2]>>2]=i;Qu(c[bb>>2]|0,76,0,c[c[Za>>2]>>2]|0)|0}do if((d[(c[H>>2]|0)+36+1>>0]|0)>>>4&1|0){c[j>>2]=c[(c[H>>2]|0)+28>>2];Ru(c[bb>>2]|0,15,c[j>>2]|0,0,c[(c[H>>2]|0)+24>>2]|0)|0;Ra=Qu(c[bb>>2]|0,16,c[j>>2]|0,c[G>>2]|0)|0;c[(c[Za>>2]|0)+52>>2]=Ra;a[(c[Za>>2]|0)+45>>0]=13}else{f=c[sa>>2]|0;if(c[(c[sa>>2]|0)+36>>2]&1024|0){c[o>>2]=e[f+40>>1];Ky(c[ab>>2]|0);c[m>>2]=My(c[ab>>2]|0,(c[o>>2]|0)+2|0)|0;c[n>>2]=c[(c[Za>>2]|0)+12>>2];c[gb>>2]=0;while(1){if((c[gb>>2]|0)>=(c[o>>2]|0))break;c[q>>2]=(c[m>>2]|0)+(c[gb>>2]|0)+2;c[$a>>2]=c[(c[(c[sa>>2]|0)+48>>2]|0)+(c[gb>>2]<<2)>>2];do if(c[$a>>2]|0)if(e[(c[$a>>2]|0)+12>>1]&1|0){cC(c[ab>>2]|0,c[$a>>2]|0,c[Za>>2]|0,c[gb>>2]|0,c[Oa>>2]|0,c[q>>2]|0)|0;c[n>>2]=c[(c[Za>>2]|0)+16>>2];break}else{c[r>>2]=c[(c[c[$a>>2]>>2]|0)+16>>2];dC(c[ab>>2]|0,c[r>>2]|0,c[q>>2]|0,1);break}while(0);c[gb>>2]=(c[gb>>2]|0)+1}Qu(c[bb>>2]|0,76,c[(c[sa>>2]|0)+24>>2]|0,c[m>>2]|0)|0;Qu(c[bb>>2]|0,76,c[o>>2]|0,(c[m>>2]|0)+1|0)|0;Uu(c[bb>>2]|0,11,c[Sa>>2]|0,c[n>>2]|0,c[m>>2]|0,c[(c[sa>>2]|0)+24+8>>2]|0,d[(c[sa>>2]|0)+24+4>>0]|0?-11:-2)|0;a[(c[sa>>2]|0)+24+4>>0]=0;c[(c[Za>>2]|0)+48>>2]=c[Sa>>2];a[(c[Za>>2]|0)+45>>0]=d[(c[eb>>2]|0)+45>>0]|0?161:70;Ra=Pv(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+52>>2]=Ra;c[p>>2]=c[(c[Za>>2]|0)+56>>2];c[gb>>2]=(c[o>>2]|0)-1;while(1){if((c[gb>>2]|0)<0)break;c[$a>>2]=c[(c[(c[sa>>2]|0)+48>>2]|0)+(c[gb>>2]<<2)>>2];if((c[gb>>2]|0)<16?e[(c[sa>>2]|0)+24+6>>1]>>c[gb>>2]&1|0:0)eC(c[Za>>2]|0,c[$a>>2]|0);else Na=21;if((Na|0)==21?(Na=0,e[(c[$a>>2]|0)+12>>1]&1|0):0){if(!(a[(c[Qa>>2]|0)+69>>0]|0)){Oa=c[bb>>2]|0;Pa=c[(c[Za>>2]|0)+56+4>>2]|0;Ra=(c[p>>2]|0)+-1|0;c[p>>2]=Ra;c[u>>2]=uy(Oa,c[Pa+(Ra*12|0)+4>>2]|0)|0;Ru(c[bb>>2]|0,d[c[u>>2]>>0]|0,c[(c[u>>2]|0)+4>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[(c[u>>2]|0)+12>>2]|0)|0}c[s>>2]=pt(c[ab>>2]|0,37,0,0,0)|0;if(c[s>>2]|0){c[(c[s>>2]|0)+12>>2]=c[(c[c[$a>>2]>>2]|0)+12>>2];Ra=Ht(c[Qa>>2]|0,157,0)|0;c[t>>2]=Ra;c[(c[s>>2]|0)+16>>2]=Ra;if(c[t>>2]|0){c[(c[t>>2]|0)+28>>2]=(c[m>>2]|0)+(c[gb>>2]|0)+2;nz(c[ab>>2]|0,c[s>>2]|0,c[(c[Za>>2]|0)+24>>2]|0,0)}c[(c[s>>2]|0)+12>>2]=0;Ok(c[Qa>>2]|0,c[s>>2]|0)}}c[gb>>2]=(c[gb>>2]|0)+-1}Iy(c[ab>>2]|0);break}if(c[f+36>>2]&256|0?c[(c[sa>>2]|0)+36>>2]&5|0:0){c[$a>>2]=c[c[(c[sa>>2]|0)+48>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[k>>2]=Ra;c[Pa>>2]=cC(c[ab>>2]|0,c[$a>>2]|0,c[Za>>2]|0,0,c[Oa>>2]|0,c[k>>2]|0)|0;if((c[Pa>>2]|0)!=(c[k>>2]|0))Qv(c[ab>>2]|0,c[k>>2]|0);c[qa>>2]=c[(c[Za>>2]|0)+16>>2];Ru(c[bb>>2]|0,32,c[Sa>>2]|0,c[qa>>2]|0,c[Pa>>2]|0)|0;$y(c[ab>>2]|0,c[Pa>>2]|0,1);Mz(c[ab>>2]|0,c[Sa>>2]|0,-1,c[Pa>>2]|0);a[(c[Za>>2]|0)+45>>0]=-95;break}if(c[(c[sa>>2]|0)+36>>2]&256|0?c[(c[sa>>2]|0)+36>>2]&2|0:0){c[v>>2]=161;c[x>>2]=0;c[gb>>2]=0;c[z>>2]=0;c[y>>2]=0;if(c[(c[sa>>2]|0)+36>>2]&32|0){Qa=c[(c[sa>>2]|0)+48>>2]|0;Ra=c[gb>>2]|0;c[gb>>2]=Ra+1;c[y>>2]=c[Qa+(Ra<<2)>>2]}if(c[(c[sa>>2]|0)+36>>2]&16|0){Qa=c[(c[sa>>2]|0)+48>>2]|0;Ra=c[gb>>2]|0;c[gb>>2]=Ra+1;c[z>>2]=c[Qa+(Ra<<2)>>2]}if(c[Oa>>2]|0){c[$a>>2]=c[y>>2];c[y>>2]=c[z>>2];c[z>>2]=c[$a>>2]}if(c[y>>2]|0){c[A>>2]=c[c[y>>2]>>2];Ra=(az(c[(c[A>>2]|0)+16>>2]|0)|0)!=0;f=c[ab>>2]|0;if(Ra){Ra=Ov(f)|0;c[C>>2]=Ra;c[B>>2]=Ra;dC(c[ab>>2]|0,c[(c[A>>2]|0)+16>>2]|0,c[B>>2]|0,1);c[E>>2]=d[34048+((d[c[A>>2]>>0]|0)-38|1)>>0]}else{c[B>>2]=cz(f,c[(c[A>>2]|0)+16>>2]|0,C)|0;eC(c[Za>>2]|0,c[y>>2]|0);c[E>>2]=d[34048+((d[c[A>>2]>>0]|0)-38)>>0]}Ru(c[bb>>2]|0,c[E>>2]|0,c[Sa>>2]|0,c[G>>2]|0,c[B>>2]|0)|0;$y(c[ab>>2]|0,c[B>>2]|0,1);Qv(c[ab>>2]|0,c[C>>2]|0)}else Qu(c[bb>>2]|0,c[Oa>>2]|0?53:57,c[Sa>>2]|0,c[G>>2]|0)|0;if(c[z>>2]|0){c[F>>2]=c[c[z>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[x>>2]=Ra;dC(c[ab>>2]|0,c[(c[F>>2]|0)+16>>2]|0,c[x>>2]|0,1);do if(!(az(c[(c[F>>2]|0)+16>>2]|0)|0)){if((d[c[F>>2]>>0]|0)!=40?(d[c[F>>2]>>0]|0)!=38:0){Na=54;break}c[v>>2]=c[Oa>>2]|0?39:41}else Na=54;while(0);if((Na|0)==54)c[v>>2]=c[Oa>>2]|0?40:38;if(!(az(c[(c[F>>2]|0)+16>>2]|0)|0))eC(c[Za>>2]|0,c[z>>2]|0)}c[w>>2]=Pv(c[bb>>2]|0)|0;a[(c[Za>>2]|0)+45>>0]=c[Oa>>2]|0?6:7;c[(c[Za>>2]|0)+48>>2]=c[Sa>>2];c[(c[Za>>2]|0)+52>>2]=c[w>>2];if((c[v>>2]|0)==161)break;Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Pa>>2]=Ra;Qu(c[bb>>2]|0,123,c[Sa>>2]|0,c[Pa>>2]|0)|0;Mz(c[ab>>2]|0,c[Sa>>2]|0,-1,c[Pa>>2]|0);Ru(c[bb>>2]|0,c[v>>2]|0,c[x>>2]|0,c[G>>2]|0,c[Pa>>2]|0)|0;jy(c[bb>>2]|0,83);break}f=c[sa>>2]|0;if(!(c[(c[sa>>2]|0)+36>>2]&512)){if(!(c[f+36>>2]&8192))if((d[(c[H>>2]|0)+36+1>>0]|0)>>>5&1|0){a[(c[Za>>2]|0)+45>>0]=-95;break}else{a[(c[Za>>2]|0)+45>>0]=a[34064+(c[Oa>>2]|0)>>0]|0;c[(c[Za>>2]|0)+48>>2]=c[Sa>>2];Ra=1+(Qu(c[bb>>2]|0,d[34066+(c[Oa>>2]|0)>>0]|0,c[Sa>>2]|0,c[G>>2]|0)|0)|0;c[(c[Za>>2]|0)+52>>2]=Ra;a[(c[Za>>2]|0)+47>>0]=1;break}c[Q>>2]=0;f=(c[ab>>2]|0)+40|0;Pa=c[f>>2]|0;c[f>>2]=Pa+1;c[R>>2]=Pa;Pa=(c[ab>>2]|0)+44|0;f=(c[Pa>>2]|0)+1|0;c[Pa>>2]=f;c[S>>2]=f;c[T>>2]=0;c[U>>2]=0;c[V>>2]=ky(c[bb>>2]|0)|0;c[X>>2]=0;c[_>>2]=0;c[$>>2]=c[(c[H>>2]|0)+16>>2];c[$a>>2]=c[c[(c[sa>>2]|0)+48>>2]>>2];c[O>>2]=c[(c[$a>>2]|0)+28>>2];a[(c[Za>>2]|0)+45>>0]=72;c[(c[Za>>2]|0)+48>>2]=c[S>>2];f=c[eb>>2]|0;a:do if((d[(c[eb>>2]|0)+42>>0]|0)>1){c[aa>>2]=(d[f+42>>0]|0)-(c[N>>2]|0)-1;c[P>>2]=Cd(c[Qa>>2]|0,80+((c[aa>>2]|0)*72|0)|0,0)|0;if(!(c[P>>2]|0)){eb=fb;gb=c[eb+4>>2]|0;fb=db;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=db;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;D=fb;l=hb;return gb|0}c[(c[P>>2]|0)+4>>2]=(c[aa>>2]|0)+1&255;c[c[P>>2]>>2]=c[(c[P>>2]|0)+4>>2];h=(c[P>>2]|0)+8|0;f=c[H>>2]|0;g=h+72|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));c[ba>>2]=(c[(c[eb>>2]|0)+4>>2]|0)+8;c[Ra>>2]=1;while(1){if((c[Ra>>2]|0)>(c[aa>>2]|0))break a;h=(c[P>>2]|0)+8+((c[Ra>>2]|0)*72|0)|0;f=(c[ba>>2]|0)+((d[(c[Za>>2]|0)+((c[Ra>>2]|0)*80|0)+44>>0]|0)*72|0)|0;g=h+72|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));c[Ra>>2]=(c[Ra>>2]|0)+1}}else c[P>>2]=c[f+4>>2];while(0);if(!(e[(c[eb>>2]|0)+40>>1]&16)){if(!(d[(c[$>>2]|0)+42>>0]&32)){Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[T>>2]=Ra;Qu(c[bb>>2]|0,79,0,c[T>>2]|0)|0}else{c[ca>>2]=uv(c[$>>2]|0)|0;Pa=(c[ab>>2]|0)+40|0;Ra=c[Pa>>2]|0;c[Pa>>2]=Ra+1;c[T>>2]=Ra;Qu(c[bb>>2]|0,107,c[T>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;iy(c[ab>>2]|0,c[ca>>2]|0)}Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[U>>2]=Ra}c[W>>2]=Qu(c[bb>>2]|0,76,0,c[S>>2]|0)|0;if((c[(c[_a>>2]|0)+12>>2]|0)>1){c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break;c[ea>>2]=c[(c[(c[_a>>2]|0)+20>>2]|0)+((c[da>>2]|0)*48|0)>>2];do if((((c[(c[_a>>2]|0)+20>>2]|0)+((c[da>>2]|0)*48|0)|0)!=(c[$a>>2]|0)?(c[(c[ea>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[da>>2]|0)*48|0)+10>>1]&6|0)==0:0){if(!(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[da>>2]|0)*48|0)+12>>1]&8191))break;c[ea>>2]=Ww(c[Qa>>2]|0,c[ea>>2]|0,0)|0;c[_>>2]=Mx(c[Qa>>2]|0,c[_>>2]|0,c[ea>>2]|0)|0}while(0);c[da>>2]=(c[da>>2]|0)+1}if(c[_>>2]|0)c[_>>2]=pt(c[ab>>2]|0,284,0,c[_>>2]|0,0)|0}b[Z>>1]=32|e[(c[eb>>2]|0)+40>>1]&1024;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[(c[O>>2]|0)+12>>2]|0))break;c[fa>>2]=(c[(c[O>>2]|0)+20>>2]|0)+((c[Y>>2]|0)*48|0);if(!((c[(c[fa>>2]|0)+20>>2]|0)!=(c[Sa>>2]|0)?!(e[(c[fa>>2]|0)+12>>1]&1024|0):0)){c[ha>>2]=c[c[fa>>2]>>2];c[ia>>2]=0;if(c[_>>2]|0?(c[(c[ha>>2]|0)+4>>2]&1|0)==0:0){c[(c[_>>2]|0)+12>>2]=c[ha>>2];c[ha>>2]=c[_>>2]}c[ga>>2]=FB(c[ab>>2]|0,c[P>>2]|0,c[ha>>2]|0,0,0,b[Z>>1]|0,c[R>>2]|0)|0;if(c[ga>>2]|0){c[ka>>2]=$B(c[ab>>2]|0,c[P>>2]|0,(c[ga>>2]|0)+752|0,c[N>>2]|0,d[(c[Za>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[eb>>2]|0)+40>>1]&16)){c[ma>>2]=(c[Y>>2]|0)==((c[(c[O>>2]|0)+12>>2]|0)-1|0)?-1:c[Y>>2]|0;if(!(d[(c[$>>2]|0)+42>>0]&32)){c[la>>2]=Yy(c[ab>>2]|0,c[$>>2]|0,-1,c[Sa>>2]|0,c[U>>2]|0,0)|0;c[ia>>2]=zy(c[bb>>2]|0,63,c[T>>2]|0,0,c[la>>2]|0,c[ma>>2]|0)|0;break}c[na>>2]=uv(c[$>>2]|0)|0;c[oa>>2]=e[(c[na>>2]|0)+50>>1];c[la>>2]=My(c[ab>>2]|0,c[oa>>2]|0)|0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[oa>>2]|0))break;c[M>>2]=b[(c[(c[na>>2]|0)+4>>2]|0)+(c[pa>>2]<<1)>>1];kC(c[ab>>2]|0,c[$>>2]|0,c[M>>2]|0,c[Sa>>2]|0,(c[la>>2]|0)+(c[pa>>2]|0)|0);c[pa>>2]=(c[pa>>2]|0)+1}if(c[ma>>2]|0)c[ia>>2]=zy(c[bb>>2]|0,31,c[T>>2]|0,0,c[la>>2]|0,c[oa>>2]|0)|0;do if((c[ma>>2]|0)>=0){Ru(c[bb>>2]|0,99,c[la>>2]|0,c[oa>>2]|0,c[U>>2]|0)|0;Ru(c[bb>>2]|0,126,c[T>>2]|0,c[U>>2]|0,0)|0;if(!(c[ma>>2]|0))break;jy(c[bb>>2]|0,16)}while(0);Py(c[ab>>2]|0,c[la>>2]|0,c[oa>>2]|0)}while(0);Qu(c[bb>>2]|0,14,c[S>>2]|0,c[V>>2]|0)|0;if(c[ia>>2]|0)ny(c[bb>>2]|0,c[ia>>2]|0);if(a[(c[ga>>2]|0)+46>>0]|0)c[X>>2]=1;c[ja>>2]=c[(c[ga>>2]|0)+752+64>>2];do if(c[(c[ja>>2]|0)+36>>2]&512|0){if(c[Y>>2]|0?(c[(c[ja>>2]|0)+24+8>>2]|0)!=(c[Q>>2]|0):0){Na=191;break}if(d[(c[$>>2]|0)+42>>0]&32|0?(a[(c[(c[ja>>2]|0)+24+8>>2]|0)+55>>0]&3|0)==2:0){Na=191;break}c[Q>>2]=c[(c[ja>>2]|0)+24+8>>2]}else Na=191;while(0);if((Na|0)==191){Na=0;c[Q>>2]=0}GB(c[ga>>2]|0)}}c[Y>>2]=(c[Y>>2]|0)+1}c[(c[Za>>2]|0)+56>>2]=c[Q>>2];if(c[Q>>2]|0)c[(c[Za>>2]|0)+8>>2]=c[R>>2];if(c[_>>2]|0){c[(c[_>>2]|0)+12>>2]=0;Ok(c[Qa>>2]|0,c[_>>2]|0)}Pa=c[bb>>2]|0;Ra=c[W>>2]|0;lC(Pa,Ra,Pv(c[bb>>2]|0)|0);my(c[bb>>2]|0,c[(c[Za>>2]|0)+12>>2]|0)|0;oy(c[bb>>2]|0,c[V>>2]|0);if((d[(c[eb>>2]|0)+42>>0]|0)>1)Xd(c[Qa>>2]|0,c[P>>2]|0);if(c[X>>2]|0)break;eC(c[Za>>2]|0,c[$a>>2]|0);break}b[ta>>1]=b[f+24>>1]|0;b[ua>>1]=b[(c[sa>>2]|0)+24+2>>1]|0;b[va>>1]=b[(c[sa>>2]|0)+24+4>>1]|0;c[xa>>2]=0;c[ya>>2]=0;c[I>>2]=0;c[Ha>>2]=0;a[Ia>>0]=0;a[Ja>>0]=0;c[Da>>2]=c[(c[sa>>2]|0)+24+8>>2];c[Ea>>2]=c[(c[Za>>2]|0)+8>>2];if((e[(c[eb>>2]|0)+40>>1]&1|0?(a[(c[eb>>2]|0)+43>>0]|0)>0:0)?(e[(c[Da>>2]|0)+50>>1]|0)>(e[ta>>1]|0):0){a[Ia>>0]=1;c[I>>2]=1}c[gb>>2]=e[ta>>1];if(c[(c[sa>>2]|0)+36>>2]&32|0){pa=c[(c[sa>>2]|0)+48>>2]|0;Na=c[gb>>2]|0;c[gb>>2]=Na+1;c[xa>>2]=c[pa+(Na<<2)>>2];if((c[I>>2]|0)>(e[(c[sa>>2]|0)+24+2>>1]|0))f=c[I>>2]|0;else f=e[(c[sa>>2]|0)+24+2>>1]|0;c[I>>2]=f}do if(c[(c[sa>>2]|0)+36>>2]&16|0){pa=c[(c[sa>>2]|0)+48>>2]|0;Na=c[gb>>2]|0;c[gb>>2]=Na+1;c[ya>>2]=c[pa+(Na<<2)>>2];if((c[I>>2]|0)>(e[(c[sa>>2]|0)+24+4>>1]|0))f=c[I>>2]|0;else f=e[(c[sa>>2]|0)+24+4>>1]|0;c[I>>2]=f;if(e[(c[ya>>2]|0)+10>>1]&256|0){pa=(c[ab>>2]|0)+44|0;Na=(c[pa>>2]|0)+1|0;c[pa>>2]=Na;c[(c[Za>>2]|0)+36>>2]=Na;Qu(c[bb>>2]|0,76,1,c[(c[Za>>2]|0)+36>>2]|0)|0;Na=Pv(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+40>>2]=Na;Na=(c[Za>>2]|0)+36|0;c[Na>>2]=c[Na>>2]<<1;Na=(c[Za>>2]|0)+36|0;c[Na>>2]=c[Na>>2]|c[Oa>>2]^(d[(c[(c[Da>>2]|0)+28>>2]|0)+(e[ta>>1]|0)>>0]|0)==1}if(!(c[xa>>2]|0)){c[gb>>2]=b[(c[(c[Da>>2]|0)+4>>2]|0)+(e[ta>>1]<<1)>>1];if((c[gb>>2]|0)>=0){if(!((c[gb>>2]|0)==-2?1:(d[(c[(c[(c[Da>>2]|0)+12>>2]|0)+4>>2]|0)+(c[gb>>2]<<4)+12>>0]|0)==0))break}else if((c[gb>>2]|0)!=-2)break;a[Ia>>0]=1}}while(0);if((e[ta>>1]|0)<(e[(c[Da>>2]|0)+50>>1]|0)?(c[Oa>>2]|0)==((d[(c[(c[Da>>2]|0)+28>>2]|0)+(e[ta>>1]|0)>>0]|0)==0|0):0)Na=84;else Na=82;if(((Na|0)==82?c[Oa>>2]|0:0)?(e[(c[Da>>2]|0)+50>>1]|0)==(e[ta>>1]|0):0)Na=84;if((Na|0)==84){c[J>>2]=c[ya>>2];c[ya>>2]=c[xa>>2];c[xa>>2]=c[J>>2];a[K>>0]=a[Ia>>0]|0;a[Ia>>0]=a[Ja>>0]|0;a[Ja>>0]=a[K>>0]|0;a[L>>0]=b[ua>>1];b[ua>>1]=b[va>>1]|0;b[va>>1]=d[L>>0]|0}c[wa>>2]=fC(c[ab>>2]|0,c[Za>>2]|0,c[Oa>>2]|0,c[I>>2]|0,Ga)|0;if(c[Ga>>2]|0?e[va>>1]|0:0)c[Ha>>2]=Xo(c[Qa>>2]|0,(c[Ga>>2]|0)+(e[ta>>1]|0)|0)|0;c[qa>>2]=c[(c[Za>>2]|0)+16>>2];if(c[xa>>2]|0)f=(e[(c[xa>>2]|0)+12>>1]&40|0)!=0;else f=1;c[za>>2]=f&1;if(c[ya>>2]|0)f=(e[(c[ya>>2]|0)+12>>1]&40|0)!=0;else f=1;c[Aa>>2]=f&1;if(c[xa>>2]|0)f=1;else f=(e[ta>>1]|0)>0;c[Ba>>2]=f&1;c[Ca>>2]=e[ta>>1];if(!(c[xa>>2]|0)){if(a[Ia>>0]|0){Qu(c[bb>>2]|0,79,0,(c[wa>>2]|0)+(e[ta>>1]|0)|0)|0;c[Ca>>2]=(c[Ca>>2]|0)+1;c[za>>2]=0;c[Ba>>2]=1}}else{c[Ka>>2]=c[(c[c[xa>>2]>>2]|0)+16>>2];dC(c[ab>>2]|0,c[Ka>>2]|0,(c[wa>>2]|0)+(e[ta>>1]|0)|0,e[ua>>1]|0);gC(c[bb>>2]|0,c[Za>>2]|0,c[xa>>2]|0);do if(!(e[(c[xa>>2]|0)+10>>1]&0)){if(!(tz(c[Ka>>2]|0)|0))break;Qu(c[bb>>2]|0,34,(c[wa>>2]|0)+(e[ta>>1]|0)|0,c[qa>>2]|0)|0}while(0);if(c[Ga>>2]|0)hC(c[Ka>>2]|0,e[ua>>1]|0,(c[Ga>>2]|0)+(e[ta>>1]|0)|0);c[Ca>>2]=(c[Ca>>2]|0)+(e[ua>>1]|0);if(!(az(c[Ka>>2]|0)|0))eC(c[Za>>2]|0,c[xa>>2]|0);else c[za>>2]=1;a[Ia>>0]=0}iC(c[ab>>2]|0,c[wa>>2]|0,(c[Ca>>2]|0)-(d[Ia>>0]|0)|0,c[Ga>>2]|0);if(!((e[(c[sa>>2]|0)+42>>1]|0)>0?(c[Ca>>2]|0)==(e[(c[sa>>2]|0)+42>>1]|0):0)){c[Fa>>2]=d[34052+((c[Ba>>2]<<2)+(c[za>>2]<<1)+(c[Oa>>2]|0))>>0];zy(c[bb>>2]|0,c[Fa>>2]|0,c[Ea>>2]|0,c[qa>>2]|0,c[wa>>2]|0,c[Ca>>2]|0)|0}c[Ca>>2]=e[ta>>1];do if(c[ya>>2]|0){c[La>>2]=c[(c[c[ya>>2]>>2]|0)+16>>2];Qy(c[ab>>2]|0,(c[wa>>2]|0)+(e[ta>>1]|0)|0,1);dC(c[ab>>2]|0,c[La>>2]|0,(c[wa>>2]|0)+(e[ta>>1]|0)|0,e[va>>1]|0);gC(c[bb>>2]|0,c[Za>>2]|0,c[ya>>2]|0);do if(!(e[(c[ya>>2]|0)+10>>1]&0)){if(!(tz(c[La>>2]|0)|0))break;Qu(c[bb>>2]|0,34,(c[wa>>2]|0)+(e[ta>>1]|0)|0,c[qa>>2]|0)|0}while(0);if(c[Ha>>2]|0){hC(c[La>>2]|0,e[va>>1]|0,c[Ha>>2]|0);iC(c[ab>>2]|0,(c[wa>>2]|0)+(e[ta>>1]|0)|0,e[va>>1]|0,c[Ha>>2]|0)}c[Ca>>2]=(c[Ca>>2]|0)+(e[va>>1]|0);if(!(az(c[La>>2]|0)|0)){eC(c[Za>>2]|0,c[ya>>2]|0);break}else{c[Aa>>2]=1;break}}else{if(!(a[Ja>>0]|0))break;Qu(c[bb>>2]|0,79,0,(c[wa>>2]|0)+(e[ta>>1]|0)|0)|0;c[Aa>>2]=0;c[Ca>>2]=(c[Ca>>2]|0)+1}while(0);Xd(c[Qa>>2]|0,c[Ga>>2]|0);Xd(c[Qa>>2]|0,c[Ha>>2]|0);Qa=Pv(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+52>>2]=Qa;if(c[Ca>>2]|0){c[Fa>>2]=d[34060+((c[Oa>>2]<<1)+(c[Aa>>2]|0))>>0];zy(c[bb>>2]|0,c[Fa>>2]|0,c[Ea>>2]|0,c[qa>>2]|0,c[wa>>2]|0,c[Ca>>2]|0)|0}do if(!(c[ra>>2]|0)){if(!(d[(c[(c[Da>>2]|0)+12>>2]|0)+42>>0]&32))if(e[(c[eb>>2]|0)+40>>1]&1024|0){Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Pa>>2]=Ra;Qu(c[bb>>2]|0,129,c[Ea>>2]|0,c[Pa>>2]|0)|0;Mz(c[ab>>2]|0,c[Sa>>2]|0,-1,c[Pa>>2]|0);Ru(c[bb>>2]|0,33,c[Sa>>2]|0,0,c[Pa>>2]|0)|0;break}else{jC(c[eb>>2]|0,c[Da>>2]|0,c[Sa>>2]|0,c[Ea>>2]|0);break}if((c[Sa>>2]|0)==(c[Ea>>2]|0))break;c[Ma>>2]=uv(c[(c[Da>>2]|0)+12>>2]|0)|0;c[Pa>>2]=My(c[ab>>2]|0,e[(c[Ma>>2]|0)+50>>1]|0)|0;c[gb>>2]=0;while(1){if((c[gb>>2]|0)>=(e[(c[Ma>>2]|0)+50>>1]|0))break;c[Ra>>2]=(Uy(c[Da>>2]|0,b[(c[(c[Ma>>2]|0)+4>>2]|0)+(c[gb>>2]<<1)>>1]|0)|0)<<16>>16;Ru(c[bb>>2]|0,96,c[Ea>>2]|0,c[Ra>>2]|0,(c[Pa>>2]|0)+(c[gb>>2]|0)|0)|0;c[gb>>2]=(c[gb>>2]|0)+1}zy(c[bb>>2]|0,30,c[Sa>>2]|0,c[cb>>2]|0,c[Pa>>2]|0,e[(c[Ma>>2]|0)+50>>1]|0)|0}while(0);if(c[(c[sa>>2]|0)+36>>2]&4096|0)a[(c[Za>>2]|0)+45>>0]=-95;else a[(c[Za>>2]|0)+45>>0]=c[Oa>>2]|0?6:7;c[(c[Za>>2]|0)+48>>2]=c[Ea>>2];a[(c[Za>>2]|0)+46>>0]=c[(c[sa>>2]|0)+36>>2]&65536|0?1:0;if(c[(c[sa>>2]|0)+36>>2]&15|0)break;a[(c[Za>>2]|0)+47>>0]=1}while(0);c[$a>>2]=c[(c[_a>>2]|0)+20>>2];c[gb>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[gb>>2]|0)<=0)break;c[Ua>>2]=0;do if(!(e[(c[$a>>2]|0)+10>>1]&6)){Qa=(c[$a>>2]|0)+40|0;Ra=(c[Za>>2]|0)+72|0;if(c[Qa>>2]&c[Ra>>2]|0?1:(c[Qa+4>>2]&c[Ra+4>>2]|0)!=0){a[(c[eb>>2]|0)+46>>0]=1;break}c[Ta>>2]=c[c[$a>>2]>>2];if(c[c[Za>>2]>>2]|0?(c[(c[Ta>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[$a>>2]|0)+10>>1]&512|0){c[Va>>2]=c[(c[Za>>2]|0)+36>>2];c[Ua>>2]=ey(c[bb>>2]|0,c[Va>>2]&1|0?22:21,(c[Va>>2]|0)>>>1)|0}nz(c[ab>>2]|0,c[Ta>>2]|0,c[cb>>2]|0,16);if(c[Ua>>2]|0)ny(c[bb>>2]|0,c[Ua>>2]|0);Ra=(c[$a>>2]|0)+10|0;b[Ra>>1]=e[Ra>>1]|4}while(0);c[gb>>2]=(c[gb>>2]|0)+-1;c[$a>>2]=(c[$a>>2]|0)+48}c[$a>>2]=c[(c[_a>>2]|0)+20>>2];c[gb>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[gb>>2]|0)<=0)break;if(((((((e[(c[$a>>2]|0)+10>>1]&6|0)==0?e[(c[$a>>2]|0)+12>>1]&130|0:0)?e[(c[$a>>2]|0)+12>>1]&2048|0:0)?(c[(c[$a>>2]|0)+20>>2]|0)==(c[Sa>>2]|0):0)?(c[c[Za>>2]>>2]|0)==0:0)?(c[Wa>>2]=c[c[$a>>2]>>2],eb=fb,c[Ya>>2]=mC(c[_a>>2]|0,c[Sa>>2]|0,c[(c[$a>>2]|0)+28>>2]|0,c[eb>>2]|0,c[eb+4>>2]|0,131,0)|0,c[Ya>>2]|0):0)?(e[(c[Ya>>2]|0)+10>>1]&4|0)==0:0){h=Xa;f=c[c[Ya>>2]>>2]|0;g=h+48|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));c[Xa+12>>2]=c[(c[Wa>>2]|0)+12>>2];nz(c[ab>>2]|0,Xa,c[cb>>2]|0,16)}c[gb>>2]=(c[gb>>2]|0)+-1;c[$a>>2]=(c[$a>>2]|0)+48}b:do if(c[c[Za>>2]>>2]|0){fb=Pv(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+28>>2]=fb;Qu(c[bb>>2]|0,76,1,c[c[Za>>2]>>2]|0)|0;EA(c[ab>>2]|0);c[$a>>2]=c[(c[_a>>2]|0)+20>>2];c[gb>>2]=0;while(1){if((c[gb>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break b;if((e[(c[$a>>2]|0)+10>>1]&6|0)==0?(eb=(c[$a>>2]|0)+40|0,fb=(c[Za>>2]|0)+72|0,!(c[eb>>2]&c[fb>>2]|0?1:(c[eb+4>>2]&c[fb+4>>2]|0)!=0)):0){nz(c[ab>>2]|0,c[c[$a>>2]>>2]|0,c[cb>>2]|0,16);fb=(c[$a>>2]|0)+10|0;b[fb>>1]=e[fb>>1]|4}c[gb>>2]=(c[gb>>2]|0)+1;c[$a>>2]=(c[$a>>2]|0)+48}}while(0);eb=(c[Za>>2]|0)+72|0;gb=c[eb+4>>2]|0;fb=db;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=db;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;D=fb;l=hb;return gb|0}function bC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){a=6;break}b=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){a=4;break}c[f>>2]=b+1}if((a|0)==4){e=j0(1,0,b|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=D;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;D=f;l=h;return g|0}else if((a|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;D=f;l=h;return g|0}return 0}function cC(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+128|0;N=S+120|0;O=S+116|0;P=S+112|0;Q=S+108|0;z=S+104|0;A=S+100|0;m=S+96|0;B=S+92|0;C=S+88|0;D=S+84|0;E=S+80|0;F=S+76|0;G=S+72|0;H=S+68|0;I=S+64|0;s=S+60|0;J=S+56|0;t=S+52|0;n=S+48|0;u=S+44|0;v=S+40|0;w=S+36|0;x=S+32|0;o=S+28|0;p=S+24|0;q=S+20|0;y=S+16|0;r=S+12|0;K=S+8|0;L=S+4|0;M=S;c[O>>2]=f;c[P>>2]=g;c[Q>>2]=h;c[z>>2]=i;c[A>>2]=j;c[m>>2]=k;c[B>>2]=c[c[P>>2]>>2];c[C>>2]=c[(c[O>>2]|0)+8>>2];do if((d[c[B>>2]>>0]|0)!=37?(d[c[B>>2]>>0]|0)!=29:0){if((d[c[B>>2]>>0]|0)==34){c[D>>2]=c[m>>2];Qu(c[C>>2]|0,79,0,c[D>>2]|0)|0;break}c[E>>2]=5;c[H>>2]=c[(c[Q>>2]|0)+64>>2];c[s>>2]=0;c[J>>2]=0;if(((c[(c[H>>2]|0)+36>>2]&1024|0)==0?c[(c[H>>2]|0)+24+8>>2]|0:0)?d[(c[(c[(c[H>>2]|0)+24+8>>2]|0)+28>>2]|0)+(c[z>>2]|0)>>0]|0:0)c[A>>2]=((c[A>>2]|0)!=0^1)&1;c[D>>2]=c[m>>2];c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[z>>2]|0))break;if(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]|0?(c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[B>>2]|0):0){R=14;break}c[I>>2]=(c[I>>2]|0)+1}if((R|0)==14){eC(c[Q>>2]|0,c[P>>2]|0);c[N>>2]=c[m>>2];R=c[N>>2]|0;l=S;return R|0}c[I>>2]=c[z>>2];while(1){if((c[I>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break;if(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]|0?(c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[B>>2]|0):0)c[s>>2]=(c[s>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+1}if((c[(c[B>>2]|0)+4>>2]&2048|0)!=0?(c[c[c[(c[B>>2]|0)+20>>2]>>2]>>2]|0)!=1:0){c[t>>2]=c[(c[B>>2]|0)+20>>2];c[n>>2]=c[c[O>>2]>>2];c[u>>2]=c[c[t>>2]>>2];c[v>>2]=c[(c[(c[B>>2]|0)+12>>2]|0)+20>>2];c[w>>2]=0;c[x>>2]=0;c[I>>2]=c[z>>2];while(1){if((c[I>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break;if((c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[B>>2]|0)){c[o>>2]=(c[(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]|0)+24>>2]|0)-1;c[p>>2]=Ww(c[n>>2]|0,c[(c[(c[u>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[q>>2]=Ww(c[n>>2]|0,c[(c[(c[v>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[w>>2]=Et(c[O>>2]|0,c[w>>2]|0,c[p>>2]|0)|0;c[x>>2]=Et(c[O>>2]|0,c[x>>2]|0,c[q>>2]|0)|0}c[I>>2]=(c[I>>2]|0)+1}if(!(a[(c[n>>2]|0)+69>>0]|0)){c[y>>2]=c[(c[B>>2]|0)+12>>2];a:do if(c[(c[t>>2]|0)+44>>2]|0){c[r>>2]=c[(c[t>>2]|0)+44>>2];c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[c[r>>2]>>2]|0))break a;b[(c[(c[r>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)+16>>1]=0;c[I>>2]=(c[I>>2]|0)+1}}while(0);f=c[x>>2]|0;if((c[c[x>>2]>>2]|0)==1)c[(c[B>>2]|0)+12>>2]=c[c[f+4>>2]>>2];else{c[(c[y>>2]|0)+20>>2]=f;c[J>>2]=_l(c[c[O>>2]>>2]|0,c[s>>2]<<2,0)|0}c[c[t>>2]>>2]=c[w>>2];c[E>>2]=sz(c[O>>2]|0,c[B>>2]|0,4,0,c[J>>2]|0)|0;c[c[t>>2]>>2]=c[u>>2];c[(c[y>>2]|0)+20>>2]=c[v>>2];c[(c[B>>2]|0)+12>>2]=c[y>>2]}Kk(c[c[O>>2]>>2]|0,c[x>>2]|0);Kk(c[c[O>>2]>>2]|0,c[w>>2]|0)}else c[E>>2]=sz(c[O>>2]|0,c[B>>2]|0,4,0,0)|0;if((c[E>>2]|0)==4)c[A>>2]=((c[A>>2]|0)!=0^1)&1;c[F>>2]=c[(c[B>>2]|0)+28>>2];Qu(c[C>>2]|0,c[A>>2]|0?53:57,c[F>>2]|0,0)|0;y=(c[H>>2]|0)+36|0;c[y>>2]=c[y>>2]|2048;if(!(c[(c[Q>>2]|0)+56>>2]|0)){y=ky(c[C>>2]|0)|0;c[(c[Q>>2]|0)+16>>2]=y}c[I>>2]=c[(c[Q>>2]|0)+56>>2];y=(c[Q>>2]|0)+56|0;c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0);y=ji(c[c[O>>2]>>2]|0,c[(c[Q>>2]|0)+56+4>>2]|0,(c[(c[Q>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[Q>>2]|0)+56+4>>2]=y;c[G>>2]=c[(c[Q>>2]|0)+56+4>>2];b:do if(c[G>>2]|0){c[K>>2]=0;c[G>>2]=(c[G>>2]|0)+((c[I>>2]|0)*12|0);c[I>>2]=c[z>>2];while(1){if((c[I>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break b;if((c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[B>>2]|0)){c[L>>2]=(c[D>>2]|0)+(c[I>>2]|0)-(c[z>>2]|0);if((c[E>>2]|0)==1){f=Qu(c[C>>2]|0,123,c[F>>2]|0,c[L>>2]|0)|0;g=c[G>>2]|0}else{if(c[J>>2]|0){y=c[J>>2]|0;f=c[K>>2]|0;c[K>>2]=f+1;f=c[y+(f<<2)>>2]|0}else f=0;c[M>>2]=f;f=Ru(c[C>>2]|0,96,c[F>>2]|0,c[M>>2]|0,c[L>>2]|0)|0;g=c[G>>2]|0}c[g+4>>2]=f;ey(c[C>>2]|0,34,c[L>>2]|0)|0;if((c[I>>2]|0)==(c[z>>2]|0)){c[c[G>>2]>>2]=c[F>>2];f=(c[A>>2]|0?4:5)&255;g=c[G>>2]|0}else{f=-95;g=c[G>>2]|0}a[g+8>>0]=f;c[G>>2]=(c[G>>2]|0)+12}c[I>>2]=(c[I>>2]|0)+1}}else c[(c[Q>>2]|0)+56>>2]=0;while(0);Xd(c[c[O>>2]>>2]|0,c[J>>2]|0)}else R=3;while(0);if((R|0)==3)c[D>>2]=Xy(c[O>>2]|0,c[(c[B>>2]|0)+16>>2]|0,c[m>>2]|0)|0;eC(c[Q>>2]|0,c[P>>2]|0);c[N>>2]=c[D>>2];R=c[N>>2]|0;l=S;return R|0}function dC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;f=o+4|0;g=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(az(c[i>>2]|0)|0)){Wy(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);l=o;return}if(c[(c[i>>2]|0)+4>>2]&2048|0){c[m>>2]=c[(c[h>>2]|0)+8>>2];c[n>>2]=iz(c[h>>2]|0,c[i>>2]|0,0,0)|0;Ru(c[m>>2]|0,84,c[n>>2]|0,c[j>>2]|0,(c[k>>2]|0)-1|0)|0;l=o;return}c[g>>2]=c[(c[i>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[k>>2]|0))break;Wy(c[h>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,(c[j>>2]|0)+(c[f>>2]|0)|0);c[f>>2]=(c[f>>2]|0)+1}l=o;return}function eC(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;i=k+4|0;j=k;c[h>>2]=f;c[i>>2]=g;c[j>>2]=0;while(1){if(!(c[i>>2]|0)){f=14;break}if((e[(c[i>>2]|0)+10>>1]|0)&4|0){f=14;break}if(c[c[h>>2]>>2]|0?(c[(c[c[i>>2]>>2]|0)+4>>2]&1|0)==0:0){f=14;break}f=(c[h>>2]|0)+72|0;g=(c[i>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){f=14;break}if(c[j>>2]|0?(e[(c[i>>2]|0)+10>>1]|0)&1024|0:0){f=512;g=c[i>>2]|0}else{f=4;g=c[i>>2]|0}g=g+10|0;b[g>>1]=e[g>>1]|0|f;if((c[(c[i>>2]|0)+16>>2]|0)<0){f=14;break}c[i>>2]=(c[(c[(c[i>>2]|0)+4>>2]|0)+20>>2]|0)+((c[(c[i>>2]|0)+16>>2]|0)*48|0);g=(c[i>>2]|0)+14|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[i>>2]|0)+14>>0]|0|0){f=14;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==14){l=k;return}}function fC(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+80|0;w=A+60|0;x=A+56|0;y=A+52|0;C=A+48|0;z=A+44|0;m=A+66|0;j=A+64|0;n=A+40|0;B=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;t=A+12|0;k=A+8|0;u=A+4|0;v=A;c[w>>2]=d;c[x>>2]=f;c[y>>2]=g;c[C>>2]=h;c[z>>2]=i;c[n>>2]=c[(c[w>>2]|0)+8>>2];c[p>>2]=c[(c[x>>2]|0)+64>>2];b[m>>1]=b[(c[p>>2]|0)+24>>1]|0;b[j>>1]=b[(c[p>>2]|0)+42>>1]|0;c[B>>2]=c[(c[p>>2]|0)+24+8>>2];c[r>>2]=(c[(c[w>>2]|0)+44>>2]|0)+1;c[s>>2]=(e[(c[p>>2]|0)+24>>1]|0)+(c[C>>2]|0);i=(c[w>>2]|0)+44|0;c[i>>2]=(c[i>>2]|0)+(c[s>>2]|0);i=c[c[w>>2]>>2]|0;c[t>>2]=Xo(i,CA(c[c[w>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[j>>1]|0){c[k>>2]=c[(c[x>>2]|0)+8>>2];ey(c[n>>2]|0,c[y>>2]|0?53:57,c[k>>2]|0)|0;c[q>>2]=Nu(c[n>>2]|0,13)|0;C=zy(c[n>>2]|0,c[y>>2]|0?23:26,c[k>>2]|0,0,c[r>>2]|0,e[j>>1]|0)|0;c[(c[x>>2]|0)+20>>2]=C;ny(c[n>>2]|0,c[q>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(e[j>>1]|0))break a;Ru(c[n>>2]|0,96,c[k>>2]|0,c[q>>2]|0,(c[r>>2]|0)+(c[q>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+1}}while(0);c[q>>2]=e[j>>1];while(1){if((c[q>>2]|0)>=(e[m>>1]|0))break;c[o>>2]=c[(c[(c[p>>2]|0)+48>>2]|0)+(c[q>>2]<<2)>>2];c[u>>2]=cC(c[w>>2]|0,c[o>>2]|0,c[x>>2]|0,c[q>>2]|0,c[y>>2]|0,(c[r>>2]|0)+(c[q>>2]|0)|0)|0;do if((c[u>>2]|0)!=((c[r>>2]|0)+(c[q>>2]|0)|0))if((c[s>>2]|0)==1){Qv(c[w>>2]|0,c[r>>2]|0);c[r>>2]=c[u>>2];break}else{Qu(c[n>>2]|0,85,c[u>>2]|0,(c[r>>2]|0)+(c[q>>2]|0)|0)|0;break}while(0);d=c[o>>2]|0;if(e[(c[o>>2]|0)+12>>1]&1|0){if(c[t>>2]|0?(c[(c[d>>2]|0)+4>>2]&2048|0)!=0:0)a[(c[t>>2]|0)+(c[q>>2]|0)>>0]=65}else if(!(e[d+12>>1]&256)){c[v>>2]=c[(c[c[o>>2]>>2]|0)+16>>2];if((e[(c[o>>2]|0)+10>>1]&2048|0)==0?tz(c[v>>2]|0)|0:0)Qu(c[n>>2]|0,34,(c[r>>2]|0)+(c[q>>2]|0)|0,c[(c[x>>2]|0)+12>>2]|0)|0;if(c[t>>2]|0){if(((wz(c[v>>2]|0,a[(c[t>>2]|0)+(c[q>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[t>>2]|0)+(c[q>>2]|0)>>0]=65;if(rC(c[v>>2]|0,a[(c[t>>2]|0)+(c[q>>2]|0)>>0]|0)|0)a[(c[t>>2]|0)+(c[q>>2]|0)>>0]=65}}c[q>>2]=(c[q>>2]|0)+1}c[c[z>>2]>>2]=c[t>>2];l=A;return c[r>>2]|0}function gC(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j+12|0;h=j+8|0;k=j+4|0;i=j;c[g>>2]=b;c[h>>2]=d;c[k>>2]=f;if(!((e[(c[k>>2]|0)+10>>1]|0)&256)){l=j;return}c[i>>2]=uy(c[g>>2]|0,-1)|0;c[(c[i>>2]|0)+12>>2]=(c[(c[h>>2]|0)+36>>2]|0)>>>1;a[(c[i>>2]|0)+3>>0]=c[(c[h>>2]|0)+36>>2]&1;l=j;return}function hC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break;c[j>>2]=uz(c[f>>2]|0,c[i>>2]|0)|0;if(!(((wz(c[j>>2]|0,a[(c[h>>2]|0)+(c[i>>2]|0)>>0]|0)|0)<<24>>24|0)!=65?!(rC(c[j>>2]|0,a[(c[h>>2]|0)+(c[i>>2]|0)>>0]|0)|0):0))a[(c[h>>2]|0)+(c[i>>2]|0)>>0]=65;c[i>>2]=(c[i>>2]|0)+1}l=k;return}function iC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[j>>2]|0)){l=m;return}while(1){if((c[i>>2]|0)<=0)break;if((a[c[j>>2]>>0]|0)!=65)break;c[i>>2]=(c[i>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}while(1){if((c[i>>2]|0)>1)d=(a[(c[j>>2]|0)+((c[i>>2]|0)-1)>>0]|0)==65;else d=0;b=c[i>>2]|0;if(!d)break;c[i>>2]=b+-1}if((b|0)<=0){l=m;return}Uu(c[k>>2]|0,98,c[h>>2]|0,c[i>>2]|0,0,c[j>>2]|0,c[i>>2]|0)|0;$y(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0);l=m;return}function jC(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+48|0;p=o+32|0;k=o+28|0;q=o+24|0;r=o+20|0;m=o+16|0;n=o+12|0;h=o+8|0;i=o+4|0;j=o;c[p>>2]=a;c[k>>2]=d;c[q>>2]=f;c[r>>2]=g;c[m>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[m>>2]|0)+8>>2];Ru(c[n>>2]|0,128,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+40>>1]&32)){l=o;return}a=c[m>>2]|0;if(c[(c[m>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;if(c[a+92>>2]|0){l=o;return}c[i>>2]=c[(c[k>>2]|0)+12>>2];c[j>>2]=_l(c[c[m>>2]>>2]|0,(b[(c[i>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){l=o;return}c[c[j>>2]>>2]=b[(c[i>>2]|0)+34>>1];c[h>>2]=0;while(1){if((c[h>>2]|0)>=((e[(c[k>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)+1<<2)>>2]=(c[h>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}Vu(c[n>>2]|0,-1,c[j>>2]|0,-15);l=o;return}function kC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;h=j+20|0;n=j+16|0;m=j+12|0;k=j+8|0;i=j+4|0;g=j;c[h>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[i>>2]=f;c[g>>2]=Yy(c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[i>>2]|0,0)|0;if((c[g>>2]|0)==(c[i>>2]|0)){l=j;return}Qu(c[(c[h>>2]|0)+8>>2]|0,85,c[g>>2]|0,c[i>>2]|0)|0;l=j;return}function lC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(uy(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;l=e;return}function mC(a,b,d,f,g,h,i){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=l;l=l+144|0;p=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;j=q;k=q+116|0;r=q+112|0;n=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;d=j;c[d>>2]=f;c[d+4>>2]=g;c[k>>2]=h;c[r>>2]=i;c[n>>2]=0;c[o>>2]=nC(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[k>>2]|0,c[r>>2]|0)|0;c[k>>2]=c[k>>2]&130;while(1){if(!(c[o>>2]|0)){a=10;break}t=(c[o>>2]|0)+32|0;u=j;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?(e[(c[o>>2]|0)+12>>1]|0)&c[k>>2]|0:0){a=6;break}if(!(c[n>>2]|0))c[n>>2]=c[o>>2]}c[o>>2]=oC(m)|0}if((a|0)==6){c[p>>2]=c[o>>2];u=c[p>>2]|0;l=q;return u|0}else if((a|0)==10){c[p>>2]=c[n>>2];u=c[p>>2]|0;l=q;return u|0}return 0}function nC(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+32|0;n=q+24|0;r=q+20|0;o=q+16|0;p=q+12|0;m=q+8|0;j=q+4|0;k=q;c[n>>2]=d;c[r>>2]=e;c[o>>2]=f;c[p>>2]=g;c[m>>2]=h;c[j>>2]=i;c[k>>2]=0;c[c[n>>2]>>2]=c[r>>2];c[(c[n>>2]|0)+4>>2]=c[r>>2];c[(c[n>>2]|0)+12>>2]=0;if(c[j>>2]|0){c[k>>2]=c[p>>2];c[p>>2]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];if((c[p>>2]|0)==-2)c[(c[n>>2]|0)+12>>2]=c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2];if((c[p>>2]|0)==(b[(c[(c[j>>2]|0)+12>>2]|0)+32>>1]|0))c[p>>2]=-1}if((c[j>>2]|0)!=0&(c[p>>2]|0)>=0){a[(c[n>>2]|0)+16>>0]=a[(c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]|0)+(c[p>>2]<<4)+13>>0]|0;d=c[(c[(c[j>>2]|0)+32>>2]|0)+(c[k>>2]<<2)>>2]|0;e=c[n>>2]|0}else{a[(c[n>>2]|0)+16>>0]=0;d=0;e=c[n>>2]|0}c[e+8>>2]=d;c[(c[n>>2]|0)+20>>2]=c[m>>2];c[(c[n>>2]|0)+24>>2]=0;c[(c[n>>2]|0)+28>>2]=c[o>>2];b[(c[n>>2]|0)+72>>1]=c[p>>2];a[(c[n>>2]|0)+17>>0]=1;a[(c[n>>2]|0)+18>>0]=1;r=oC(c[n>>2]|0)|0;l=q;return r|0}function oC(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;o=s+36|0;p=s+32|0;i=s+28|0;j=s+40|0;k=s+24|0;m=s+20|0;q=s+16|0;r=s+12|0;n=s+8|0;g=s+4|0;h=s;c[p>>2]=f;c[r>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){f=40;break}c[i>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[j>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[j>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){f=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[q>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[r>>2]|0)*48|0);while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[q>>2]|0)+20>>2]|0)==(c[i>>2]|0)?(c[(c[q>>2]|0)+28>>2]|0)==(b[j>>1]|0):0){if((b[j>>1]|0)==-2?Yw(c[(c[c[q>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[i>>2]|0)|0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?c[(c[c[q>>2]>>2]|0)+4>>2]&1|0:0)break;if((e[(c[q>>2]|0)+12>>1]&2048|0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=yw(c[(c[c[q>>2]>>2]|0)+16>>2]|0)|0,c[k>>2]=f,(d[f>>0]|0)==152):0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[n>>2]<<2)>>2]|0)==(c[(c[k>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[n>>2]<<1)>>1]|0)==(b[(c[k>>2]|0)+32>>1]|0):0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[n>>2]<<2)>>2]=c[(c[k>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[n>>2]<<1)>>1]=b[(c[k>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[q>>2]|0)+12>>1]&c[(c[p>>2]|0)+20>>2]|0){if(c[(c[p>>2]|0)+8>>2]|0?(e[(c[q>>2]|0)+12>>1]&256|0)==0:0){c[h>>2]=c[c[c[m>>2]>>2]>>2];c[k>>2]=c[c[q>>2]>>2];if(!(pC(c[k>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[g>>2]=xz(c[h>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=c[(c[c[h>>2]>>2]|0)+8>>2];if(bh(c[c[g>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[q>>2]|0)+12>>1]&130)){f=36;break a}f=c[(c[c[q>>2]>>2]|0)+16>>2]|0;c[k>>2]=f;if((d[f>>0]|0)!=152){f=36;break a}if((c[(c[k>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){f=36;break a}if((b[(c[k>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){f=36;break a}}}while(0);c[r>>2]=(c[r>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[r>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[r>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((f|0)==5){c[o>>2]=0;r=c[o>>2]|0;l=s;return r|0}else if((f|0)==36){c[(c[p>>2]|0)+24>>2]=(c[r>>2]|0)+1;c[o>>2]=c[q>>2];r=c[o>>2]|0;l=s;return r|0}else if((f|0)==40){c[o>>2]=0;r=c[o>>2]|0;l=s;return r|0}return 0}function pC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g+4|0;i=g;f=g+9|0;h=g+8|0;c[i>>2]=b;a[f>>0]=d;a[h>>0]=qC(c[i>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}l=g;return c[e>>2]|0}function qC(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=qw(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=wz(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;l=f;return e|0}if(c[b+4>>2]&2048|0){a[e>>0]=wz(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;l=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;l=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;l=f;return e|0}function rC(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;h=k+9|0;i=k+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[j>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[i>>0]=a[e>>0]|0;if((d[i>>0]|0)==157)a[i>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[i>>0]|0){case 134:{if((a[h>>0]|0)==68)e=1;else e=(a[h>>0]|0)==67;c[j>>2]=e&1;break a}case 132:{if((a[h>>0]|0)==69)e=1;else e=(a[h>>0]|0)==67;c[j>>2]=e&1;break a}case 97:{c[j>>2]=(a[h>>0]|0)==66&1;break a}case 133:{c[j>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)e=1;else e=(a[h>>0]|0)==67;else e=0;c[j>>2]=e&1;break a}default:{c[j>>2]=0;break a}}}while(0);l=k;return c[j>>2]|0}function sC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;o=p;f=p+24|0;g=p+20|0;h=p+16|0;i=p+30|0;j=p+28|0;k=p+12|0;m=p+8|0;n=p+4|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=c[(c[g>>2]|0)+24+8>>2];b[i>>1]=b[(c[g>>2]|0)+24>>1]|0;b[j>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[i>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){l=p;return}Pd(c[f>>2]|0,34300,2);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[i>>1]|0|0))break;c[n>>2]=tC(c[h>>2]|0,c[k>>2]|0)|0;if(c[k>>2]|0)Pd(c[f>>2]|0,34303,5);a=c[f>>2]|0;d=(c[k>>2]|0)>=(e[j>>1]|0|0)?34309:34314;c[o>>2]=c[n>>2];oj(a,d,o);c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=c[k>>2];if(c[(c[g>>2]|0)+36>>2]&32|0){uC(c[f>>2]|0,c[h>>2]|0,e[(c[g>>2]|0)+24+2>>1]|0,c[m>>2]|0,c[k>>2]|0,34231);c[k>>2]=1}if(c[(c[g>>2]|0)+36>>2]&16|0)uC(c[f>>2]|0,c[h>>2]|0,e[(c[g>>2]|0)+24+4>>1]|0,c[m>>2]|0,c[k>>2]|0,34233);Pd(c[f>>2]|0,34322,1);l=p;return}function tC(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=34326;g=c[e>>2]|0;l=h;return g|0}if((c[g>>2]|0)==-1){c[e>>2]=26001;g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2];g=c[e>>2]|0;l=h;return g|0}return 0}function uC(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;p=o+8|0;h=o+4|0;i=o;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[p>>2]=f;c[h>>2]=g;if(c[p>>2]|0)Pd(c[j>>2]|0,34303,5);if((c[m>>2]|0)>1)Pd(c[j>>2]|0,34324,1);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[m>>2]|0))break;if(c[i>>2]|0)Pd(c[j>>2]|0,22226,1);p=c[j>>2]|0;Wd(p,tC(c[k>>2]|0,(c[n>>2]|0)+(c[i>>2]|0)|0)|0);c[i>>2]=(c[i>>2]|0)+1}if((c[m>>2]|0)>1)Pd(c[j>>2]|0,34322,1);Pd(c[j>>2]|0,c[h>>2]|0,1);if((c[m>>2]|0)>1)Pd(c[j>>2]|0,34324,1);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[m>>2]|0))break;if(c[i>>2]|0)Pd(c[j>>2]|0,22226,1);Pd(c[j>>2]|0,27259,1);c[i>>2]=(c[i>>2]|0)+1}if((c[m>>2]|0)<=1){l=o;return}Pd(c[j>>2]|0,34322,1);l=o;return}function vC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Cz(c[f>>2]|0,3,c[e>>2]|0)|0;l=d;return b|0}function wC(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n;m=n+20|0;c[i>>2]=b;c[j>>2]=d;d=k;c[d>>2]=f;c[d+4>>2]=g;if((c[(c[i>>2]|0)+20>>2]|0)!=(c[(c[j>>2]|0)+44>>2]|0)){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}if(!((e[(c[i>>2]|0)+12>>1]|0)&130)){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}g=(c[i>>2]|0)+32|0;if(c[g>>2]&c[k>>2]|0?1:(c[g+4>>2]&c[k+4>>2]|0)!=0){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}if((c[(c[i>>2]|0)+28>>2]|0)<0){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}a[m>>0]=a[(c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]|0)+(c[(c[i>>2]|0)+28>>2]<<4)+13>>0]|0;if(pC(c[c[i>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;m=c[h>>2]|0;l=n;return m|0}else{c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}return 0}function xC(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=a;c[i>>2]=d;c[j>>2]=f;if((e[(c[i>>2]|0)+44>>1]|0|0)>=(c[j>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}c[j>>2]=(c[j>>2]|0)+7&-8;c[k>>2]=Ed(c[h>>2]|0,c[j>>2]<<2,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;k=c[g>>2]|0;l=m;return k|0}h0(c[k>>2]|0,c[(c[i>>2]|0)+48>>2]|0,(e[(c[i>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[i>>2]|0)+48>>2]|0)!=((c[i>>2]|0)+56|0))Xd(c[h>>2]|0,c[(c[i>>2]|0)+48>>2]|0);c[(c[i>>2]|0)+48>>2]=c[k>>2];b[(c[i>>2]|0)+44>>1]=c[j>>2];c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}function yC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;n=m+20|0;h=m+24|0;o=m+16|0;i=m+12|0;j=m+8|0;k=m+4|0;g=m;c[n>>2]=a;b[h>>1]=d;c[o>>2]=e;c[i>>2]=f;c[k>>2]=56+((b[h>>1]<<2)+7&-8)+(((b[h>>1]|0)+1<<1)+(b[h>>1]<<1)+(b[h>>1]|0)+7&-8);f=(c[k>>2]|0)+(c[o>>2]|0)|0;c[j>>2]=_l(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){o=c[j>>2]|0;l=m;return o|0}c[g>>2]=(c[j>>2]|0)+56;c[(c[j>>2]|0)+32>>2]=c[g>>2];c[g>>2]=(c[g>>2]|0)+((b[h>>1]<<2)+7&-8);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[g>>2]=(c[g>>2]|0)+((b[h>>1]|0)+1<<1);c[(c[j>>2]|0)+4>>2]=c[g>>2];c[g>>2]=(c[g>>2]|0)+(b[h>>1]<<1);c[(c[j>>2]|0)+28>>2]=c[g>>2];b[(c[j>>2]|0)+52>>1]=b[h>>1]|0;b[(c[j>>2]|0)+50>>1]=(b[h>>1]|0)-1;c[c[i>>2]>>2]=(c[j>>2]|0)+(c[k>>2]|0);o=c[j>>2]|0;l=m;return o|0}function zC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;e=i+8|0;f=i+20|0;g=i+16|0;h=i;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){g=e;c[g>>2]=0;c[g+4>>2]=0;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=i;return h|0}if((d[c[g>>2]>>0]|0|0)==152){g=bC(c[f>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0;f=h;c[f>>2]=g;c[f+4>>2]=D;f=h;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;l=i;return h|0}if(c[(c[g>>2]|0)+16>>2]|0){a=zC(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;b=D}else{a=0;b=0}j=h;c[j>>2]=a;c[j+4>>2]=b;if(c[(c[g>>2]|0)+12>>2]|0){a=zC(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;k=h;b=c[k+4>>2]|D;j=h;c[j>>2]=c[k>>2]|a;c[j+4>>2]=b}if(!(c[(c[g>>2]|0)+4>>2]&2048|0)){if(c[(c[g>>2]|0)+20>>2]|0){g=ZB(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;j=c[f+4>>2]|D;k=h;c[k>>2]=c[f>>2]|g;c[k+4>>2]=j}}else{g=AC(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;j=c[f+4>>2]|D;k=h;c[k>>2]=c[f>>2]|g;c[k+4>>2]=j}k=c[h+4>>2]|0;j=e;c[j>>2]=c[h>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;l=i;return k|0}function AC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;d=i+20|0;e=i+16|0;f=i;g=i+12|0;h=i+8|0;c[d>>2]=a;c[e>>2]=b;b=f;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+28>>2];j=ZB(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;k=f;a=c[k+4>>2]|D;b=f;c[b>>2]=c[k>>2]|j;c[b+4>>2]=a;b=ZB(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;a=f;j=c[a+4>>2]|D;k=f;c[k>>2]=c[a>>2]|b;c[k+4>>2]=j;k=ZB(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;j=f;b=c[j+4>>2]|D;a=f;c[a>>2]=c[j>>2]|k;c[a+4>>2]=b;a=zC(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0;b=f;k=c[b+4>>2]|D;j=f;c[j>>2]=c[b>>2]|a;c[j+4>>2]=k;j=zC(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;k=f;a=c[k+4>>2]|D;b=f;c[b>>2]=c[k>>2]|j;c[b+4>>2]=a;a:do if(c[g>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[g>>2]>>2]|0))break a;j=AC(c[d>>2]|0,c[(c[g>>2]|0)+8+((c[h>>2]|0)*72|0)+20>>2]|0)|0;k=f;a=c[k+4>>2]|D;b=f;c[b>>2]=c[k>>2]|j;c[b+4>>2]=a;b=zC(c[d>>2]|0,c[(c[g>>2]|0)+8+((c[h>>2]|0)*72|0)+48>>2]|0)|0;a=f;j=c[a+4>>2]|D;k=f;c[k>>2]=c[a>>2]|b;c[k+4>>2]=j;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+48>>2]}k=f;D=c[k+4>>2]|0;l=i;return c[k>>2]|0}function BC(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;l=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;l=h;return g|0}else{b[e>>1]=c+(d[34388+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;l=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;l=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;l=h;return g|0}else{b[e>>1]=c+(d[34388+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;l=h;return g|0}}return 0}function CC(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=l;l=l+160|0;aa=ca+149|0;X=ca+124|0;Y=ca+120|0;n=ca+116|0;o=ca+140|0;p=ca+138|0;q=ca+112|0;r=ca+108|0;s=ca+148|0;t=ca+147|0;u=ca+146|0;v=ca+145|0;w=ca+144|0;x=ca+143|0;y=ca+136|0;z=ca+134|0;A=ca+132|0;B=ca+130|0;C=ca+104|0;Z=ca+100|0;E=ca+96|0;F=ca+92|0;G=ca+88|0;H=ca+84|0;I=ca+80|0;J=ca+76|0;K=ca+72|0;L=ca+68|0;M=ca+64|0;_=ca+40|0;N=ca+32|0;O=ca+24|0;P=ca+16|0;Q=ca+60|0;R=ca+56|0;S=ca+142|0;T=ca+128|0;U=ca+52|0;V=ca+48|0;W=ca+8|0;$=ca;c[X>>2]=f;c[Y>>2]=g;c[n>>2]=h;b[o>>1]=i;b[p>>1]=j;c[q>>2]=k;c[r>>2]=m;c[H>>2]=0;c[M>>2]=c[c[c[X>>2]>>2]>>2];m=_;c[m>>2]=0;c[m+4>>2]=0;if(e[p>>1]|0?e[(c[M>>2]|0)+64>>1]&128|0:0){a[aa>>0]=0;ba=a[aa>>0]|0;l=ca;return ba|0}b[B>>1]=c[c[Y>>2]>>2];if((e[B>>1]|0)>63){a[aa>>0]=0;ba=a[aa>>0]|0;l=ca;return ba|0}a[v>>0]=1;k=j0(1,0,e[B>>1]|0)|0;k=Z$(k|0,D|0,1,0)|0;m=N;c[m>>2]=k;c[m+4>>2]=D;m=O;c[m>>2]=0;c[m+4>>2]=0;m=P;c[m>>2]=0;c[m+4>>2]=0;b[y>>1]=386;if(e[o>>1]&2048|0)b[y>>1]=e[y>>1]|1;c[C>>2]=0;a:while(1){if(!(d[v>>0]|0))break;k=_;i=c[k+4>>2]|0;m=N;j=c[m+4>>2]|0;if(!(i>>>0>>0|((i|0)==(j|0)?(c[k>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)))break;if((c[C>>2]|0)>(e[p>>1]|0))break;if((c[C>>2]|0)>0){j=(c[H>>2]|0)+8|0;i=P;k=c[i+4>>2]|c[j+4>>2];m=P;c[m>>2]=c[i>>2]|c[j>>2];c[m+4>>2]=k}if((c[C>>2]|0)<(e[p>>1]|0)){c[H>>2]=c[(c[(c[n>>2]|0)+24>>2]|0)+(c[C>>2]<<2)>>2];if(!(e[o>>1]&2048))ba=17}else{c[H>>2]=c[q>>2];ba=17}b:do if((ba|0)==17){ba=0;if(c[(c[H>>2]|0)+36>>2]&1024|0){ba=18;break a}c[F>>2]=c[(c[(c[X>>2]|0)+4>>2]|0)+8+((d[(c[H>>2]|0)+16>>0]|0)*72|0)+44>>2];c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(e[B>>1]|0))break;k=j0(1,0,c[Z>>2]|0)|0;m=_;c:do if(((!(k&c[m>>2]|0?1:(D&c[m+4>>2]|0)!=0)?(c[J>>2]=yw(c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0)|0,(d[c[J>>2]>>0]|0)==152):0)?(c[(c[J>>2]|0)+28>>2]|0)==(c[F>>2]|0):0)?(m=P,c[I>>2]=mC((c[X>>2]|0)+80|0,c[F>>2]|0,b[(c[J>>2]|0)+32>>1]|0,~c[m>>2],~c[m+4>>2],e[y>>1]|0,0)|0,c[I>>2]|0):0){if((e[(c[I>>2]|0)+12>>1]|0)==1){c[E>>2]=0;while(1){if((c[E>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break;if((c[I>>2]|0)==(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[E>>2]<<2)>>2]|0))break;c[E>>2]=(c[E>>2]|0)+1}if((c[E>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break}do if(e[(c[I>>2]|0)+12>>1]&130|0){if((b[(c[J>>2]|0)+32>>1]|0)<0)break;c[K>>2]=rw(c[c[X>>2]>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[M>>2]|0)+8>>2];c[Q>>2]=c[c[K>>2]>>2];c[K>>2]=rw(c[c[X>>2]>>2]|0,c[c[I>>2]>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[M>>2]|0)+8>>2];c[R>>2]=c[c[K>>2]>>2];if(bh(c[Q>>2]|0,c[R>>2]|0)|0)break c}while(0);j=j0(1,0,c[Z>>2]|0)|0;i=_;k=c[i+4>>2]|D;m=_;c[m>>2]=c[i>>2]|j;c[m+4>>2]=k}while(0);c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[(c[H>>2]|0)+36>>2]&4096)){if(c[(c[H>>2]|0)+36>>2]&256|0){c[L>>2]=0;b[z>>1]=0;b[A>>1]=1}else{m=c[(c[H>>2]|0)+24+8>>2]|0;c[L>>2]=m;if(!m){ba=46;break a}if((d[(c[L>>2]|0)+55>>0]|0)>>>2&1|0){ba=46;break a}b[z>>1]=b[(c[L>>2]|0)+50>>1]|0;b[A>>1]=b[(c[L>>2]|0)+52>>1]|0;a[v>>0]=(d[(c[L>>2]|0)+54>>0]|0)!=0}a[s>>0]=0;a[t>>0]=0;a[w>>0]=0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(e[A>>1]|0))break;a[S>>0]=1;d:do if((c[E>>2]|0)<(e[(c[H>>2]|0)+24>>1]|0)?(c[E>>2]|0)>=(e[(c[H>>2]|0)+42>>1]|0):0){b[T>>1]=b[(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[E>>2]<<2)>>2]|0)+12>>1]|0;f=e[T>>1]|0;if(e[T>>1]&e[y>>1]|0){if(!(f&256))break;a[v>>0]=0;break}if(!(f&1)){ba=61;break}c[U>>2]=c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[E>>2]<<2)>>2]>>2];c[Z>>2]=(c[E>>2]|0)+1;while(1){if((c[Z>>2]|0)>=(e[(c[H>>2]|0)+24>>1]|0)){ba=61;break d}if((c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[Z>>2]<<2)>>2]>>2]|0)==(c[U>>2]|0))break;c[Z>>2]=(c[Z>>2]|0)+1}a[S>>0]=0;ba=61}else ba=61;while(0);if((ba|0)==61){ba=0;do if(c[L>>2]|0){c[G>>2]=b[(c[(c[L>>2]|0)+4>>2]|0)+(c[E>>2]<<1)>>1];a[u>>0]=a[(c[(c[L>>2]|0)+28>>2]|0)+(c[E>>2]|0)>>0]|0;if((c[G>>2]|0)!=(b[(c[(c[L>>2]|0)+12>>2]|0)+32>>1]|0))break;c[G>>2]=-1}else{c[G>>2]=-1;a[u>>0]=0}while(0);do if((d[v>>0]|0)!=0&(c[G>>2]|0)>=0){if((c[E>>2]|0)<(e[(c[H>>2]|0)+24>>1]|0))break;if(d[(c[(c[(c[L>>2]|0)+12>>2]|0)+4>>2]|0)+(c[G>>2]<<4)+12>>0]|0)break;a[v>>0]=0}while(0);a[x>>0]=0;c[Z>>2]=0;e:while(1){if(!(d[S>>0]|0))break;if((c[Z>>2]|0)>=(e[B>>1]|0))break;k=j0(1,0,c[Z>>2]|0)|0;m=_;do if(!(k&c[m>>2]|0?1:(D&c[m+4>>2]|0)!=0)){c[J>>2]=yw(c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0)|0;if(!(e[o>>1]&192))a[S>>0]=0;f=c[J>>2]|0;if((c[G>>2]|0)>=-1){if((d[f>>0]|0)!=152)break;if((c[(c[J>>2]|0)+28>>2]|0)!=(c[F>>2]|0))break;if((b[(c[J>>2]|0)+32>>1]|0)!=(c[G>>2]|0))break}else if(Yw(f,c[(c[(c[(c[L>>2]|0)+40>>2]|0)+4>>2]|0)+((c[E>>2]|0)*20|0)>>2]|0,c[F>>2]|0)|0)break;if((c[G>>2]|0)<0){ba=84;break e}c[K>>2]=rw(c[c[X>>2]>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[M>>2]|0)+8>>2];if(!(bh(c[c[K>>2]>>2]|0,c[(c[(c[L>>2]|0)+32>>2]|0)+(c[E>>2]<<2)>>2]|0)|0)){ba=84;break e}}while(0);c[Z>>2]=(c[Z>>2]|0)+1}if((ba|0)==84){ba=0;a[x>>0]=1}do if(d[x>>0]|0){if(e[o>>1]&64|0)break;if(a[s>>0]|0){if((d[t>>0]^d[u>>0]|0)==(d[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)+12>>0]|0))break;a[x>>0]=0;break}a[t>>0]=d[u>>0]^d[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)+12>>0];if(a[t>>0]|0){j=j0(1,0,c[C>>2]|0)|0;m=c[r>>2]|0;i=m;k=c[i+4>>2]|D;c[m>>2]=c[i>>2]|j;c[m+4>>2]=k}a[s>>0]=1}while(0);if(!(a[x>>0]|0)){ba=98;break}if((c[G>>2]|0)==-1)a[w>>0]=1;j=j0(1,0,c[Z>>2]|0)|0;i=_;k=c[i+4>>2]|D;m=_;c[m>>2]=c[i>>2]|j;c[m+4>>2]=k}c[E>>2]=(c[E>>2]|0)+1}do if((ba|0)==98){ba=0;if(c[E>>2]|0?(c[E>>2]|0)>=(e[z>>1]|0):0)break;a[v>>0]=0}while(0);if(a[w>>0]|0)a[v>>0]=1}if(a[v>>0]|0){j=(c[H>>2]|0)+8|0;i=O;k=c[i+4>>2]|c[j+4>>2];m=O;c[m>>2]=c[i>>2]|c[j>>2];c[m+4>>2]=k;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(e[B>>1]|0))break b;k=j0(1,0,c[Z>>2]|0)|0;m=_;do if(!(k&c[m>>2]|0?1:(D&c[m+4>>2]|0)!=0)){c[V>>2]=c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2];k=zC((c[X>>2]|0)+488|0,c[V>>2]|0)|0;m=W;c[m>>2]=k;c[m+4>>2]=D;m=W;if((c[m>>2]|0)==0&(c[m+4>>2]|0)==0?(ez(c[V>>2]|0)|0)==0:0)break;k=W;m=O;if((c[k>>2]&~c[m>>2]|0)==0?(c[k+4>>2]&~c[m+4>>2]|0)==0:0){j=j0(1,0,c[Z>>2]|0)|0;i=_;k=c[i+4>>2]|D;m=_;c[m>>2]=c[i>>2]|j;c[m+4>>2]=k}}while(0);c[Z>>2]=(c[Z>>2]|0)+1}}}while(0);c[C>>2]=(c[C>>2]|0)+1}if((ba|0)==18){if(a[(c[H>>2]|0)+24+5>>0]|0){X=N;Y=c[X+4>>2]|0;ba=_;c[ba>>2]=c[X>>2];c[ba+4>>2]=Y}}else if((ba|0)==46){a[aa>>0]=0;ba=a[aa>>0]|0;l=ca;return ba|0}Y=_;ba=N;if((c[Y>>2]|0)==(c[ba>>2]|0)?(c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){a[aa>>0]=b[B>>1];ba=a[aa>>0]|0;l=ca;return ba|0}if(a[v>>0]|0){a[aa>>0]=-1;ba=a[aa>>0]|0;l=ca;return ba|0}c[Z>>2]=(e[B>>1]|0)-1;while(1){if((c[Z>>2]|0)<=0){ba=122;break}Y=j0(1,0,c[Z>>2]|0)|0;Y=Z$(Y|0,D|0,1,0)|0;X=$;c[X>>2]=Y;c[X+4>>2]=D;X=_;Y=$;ba=$;f=c[Z>>2]|0;if((c[X>>2]&c[Y>>2]|0)==(c[ba>>2]|0)?(c[X+4>>2]&c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){ba=120;break}c[Z>>2]=f+-1}if((ba|0)==120){a[aa>>0]=f;ba=a[aa>>0]|0;l=ca;return ba|0}else if((ba|0)==122){a[aa>>0]=0;ba=a[aa>>0]|0;l=ca;return ba|0}return 0}function DC(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;h=k+8|0;i=k+16|0;n=k+4|0;o=k;m=k+14|0;j=k+12|0;c[h>>2]=a;b[i>>1]=d;c[n>>2]=f;c[o>>2]=g;g=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[m>>1]=((xv(g,((g|0)<0)<<31>>31)|0)<<16>>16)-66;b[j>>1]=(b[i>>1]|0)+(b[m>>1]|0)+16;if(e[(c[h>>2]|0)+40>>1]&16384|0?(b[(c[h>>2]|0)+16>>1]|0)<(b[i>>1]|0):0)b[i>>1]=b[(c[h>>2]|0)+16>>1]|0;o=(EC(b[i>>1]|0)|0)<<16>>16;b[j>>1]=(b[j>>1]|0)+o;l=k;return b[j>>1]|0}function EC(a){a=a|0;var c=0,d=0;d=l;l=l+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){c=0;c=c&65535;l=d;return c|0}c=b[c>>1]|0;c=((xv(c,((c|0)<0)<<31>>31)|0)<<16>>16)-33|0;c=c&65535;l=d;return c|0}function FC(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=l;l=l+128|0;z=D+108|0;A=D+104|0;B=D+48|0;F=D+40|0;C=D+100|0;G=D+96|0;j=D+92|0;k=D+88|0;E=D+84|0;m=D+80|0;n=D+76|0;o=D+72|0;p=D+68|0;q=D+32|0;r=D+112|0;s=D+64|0;t=D+60|0;u=D+24|0;v=D+16|0;w=D+56|0;x=D+8|0;y=D;c[A>>2]=e;e=B;c[e>>2]=f;c[e+4>>2]=g;g=F;c[g>>2]=h;c[g+4>>2]=i;c[C>>2]=0;c[G>>2]=c[c[A>>2]>>2];c[j>>2]=c[c[G>>2]>>2];c[k>>2]=c[(c[A>>2]|0)+4>>2];c[p>>2]=c[(c[A>>2]|0)+12>>2];c[E>>2]=(c[(c[G>>2]|0)+4>>2]|0)+8+((d[(c[p>>2]|0)+16>>0]|0)*72|0);i=F;c[m>>2]=$C(c[j>>2]|0,c[k>>2]|0,c[i>>2]|0,c[i+4>>2]|0,c[E>>2]|0,c[(c[A>>2]|0)+8>>2]|0,r)|0;if(!(c[m>>2]|0)){c[z>>2]=7;G=c[z>>2]|0;l=D;return G|0}b[(c[p>>2]|0)+18>>1]=0;c[(c[p>>2]|0)+36>>2]=1024;b[(c[p>>2]|0)+40>>1]=0;a[(c[p>>2]|0)+24+4>>0]=0;c[n>>2]=c[c[m>>2]>>2];if(xC(c[c[j>>2]>>2]|0,c[p>>2]|0,c[n>>2]|0)|0){Xd(c[c[j>>2]>>2]|0,c[m>>2]|0);c[z>>2]=7;G=c[z>>2]|0;l=D;return G|0}G=B;c[C>>2]=aD(c[A>>2]|0,c[G>>2]|0,c[G+4>>2]|0,-1,-1,0,c[m>>2]|0,b[r>>1]|0,o)|0;if((c[C>>2]|0)==0?(E=c[p>>2]|0,G=B,F=c[E>>2]&~c[G>>2],G=c[E+4>>2]&~c[G+4>>2],E=q,c[E>>2]=F,c[E+4>>2]=G,(F|0)!=0|(G|0)!=0):0){c[s>>2]=0;c[t>>2]=0;G=u;c[G>>2]=0;c[G+4>>2]=0;G=v;c[G>>2]=0;c[G+4>>2]=0;if(c[o>>2]|0?(i=B,c[C>>2]=aD(c[A>>2]|0,c[i>>2]|0,c[i+4>>2]|0,-1,-1,1,c[m>>2]|0,b[r>>1]|0,o)|0,i=c[p>>2]|0,E=B,F=c[i+4>>2]&~c[E+4>>2],G=v,c[G>>2]=c[i>>2]&~c[E>>2],c[G+4>>2]=F,G=v,(c[G>>2]|0)==0&(c[G+4>>2]|0)==0):0){c[s>>2]=1;c[t>>2]=1}while(1){if(c[C>>2]|0)break;G=x;c[G>>2]=-1;c[G+4>>2]=-1;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[n>>2]|0))break;E=(c[(c[k>>2]|0)+20>>2]|0)+((c[(c[(c[m>>2]|0)+4>>2]|0)+((c[w>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;G=B;i=c[E+4>>2]&~c[G+4>>2];F=y;c[F>>2]=c[E>>2]&~c[G>>2];c[F+4>>2]=i;F=y;i=c[F+4>>2]|0;G=u;E=c[G+4>>2]|0;if(i>>>0>E>>>0|((i|0)==(E|0)?(c[F>>2]|0)>>>0>(c[G>>2]|0)>>>0:0)?(F=y,i=c[F+4>>2]|0,G=x,E=c[G+4>>2]|0,i>>>0>>0|((i|0)==(E|0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0){E=y;F=c[E+4>>2]|0;G=x;c[G>>2]=c[E>>2];c[G+4>>2]=F}c[w>>2]=(c[w>>2]|0)+1}E=x;F=c[E+4>>2]|0;G=u;c[G>>2]=c[E>>2];c[G+4>>2]=F;G=x;if((c[G>>2]|0)==-1?(c[G+4>>2]|0)==-1:0)break;F=x;G=q;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;F=x;G=v;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;E=B;G=x;F=B;c[C>>2]=aD(c[A>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[G>>2]|c[F>>2],c[G+4>>2]|c[F+4>>2],0,c[m>>2]|0,b[r>>1]|0,o)|0;F=c[p>>2]|0;G=B;if(!((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0))continue;c[s>>2]=1;if(c[o>>2]|0)continue;c[t>>2]=1}if((c[C>>2]|0)==0&(c[s>>2]|0)==0?(F=B,G=B,c[C>>2]=aD(c[A>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,0,c[m>>2]|0,b[r>>1]|0,o)|0,(c[o>>2]|0)==0):0)c[t>>2]=1;if((c[C>>2]|0)==0&(c[t>>2]|0)==0){F=B;G=B;c[C>>2]=aD(c[A>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,1,c[m>>2]|0,b[r>>1]|0,o)|0}}if(c[(c[m>>2]|0)+28>>2]|0)_d(c[(c[m>>2]|0)+24>>2]|0);Xd(c[c[j>>2]>>2]|0,c[m>>2]|0);c[z>>2]=c[C>>2];G=c[z>>2]|0;l=D;return G|0}function GC(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=l;l=l+160|0;A=J+144|0;B=J+8|0;C=J+140|0;E=J+136|0;F=J+80|0;G=J+156|0;H=J+154|0;K=J+72|0;i=J+68|0;j=J+64|0;I=J+60|0;k=J+56|0;m=J+52|0;n=J+152|0;o=J+150|0;p=J+48|0;q=J+44|0;r=J+40|0;s=J+36|0;t=J+32|0;u=J;v=J+148|0;w=J+28|0;x=J+24|0;y=J+20|0;z=J+16|0;c[A>>2]=f;f=B;c[f>>2]=g;c[f+4>>2]=h;b[H>>1]=-1;c[I>>2]=0;c[k>>2]=1;c[j>>2]=c[(c[A>>2]|0)+12>>2];c[C>>2]=c[c[A>>2]>>2];c[K>>2]=c[(c[C>>2]|0)+4>>2];c[i>>2]=(c[K>>2]|0)+8+((d[(c[j>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[i>>2]|0)+16>>2];c[p>>2]=c[(c[A>>2]|0)+4>>2];do if(c[(c[i>>2]|0)+68>>2]|0)c[E>>2]=c[(c[i>>2]|0)+68>>2];else{if(d[(c[q>>2]|0)+42>>0]&32|0){c[E>>2]=c[(c[q>>2]|0)+8>>2];break}f=F;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));b[F+50>>1]=1;b[F+52>>1]=1;c[F+4>>2]=H;c[F+8>>2]=G;a[F+54>>0]=5;c[F+12>>2]=c[q>>2];b[F+48>>1]=b[(c[q>>2]|0)+40>>1]|0;b[G>>1]=b[(c[q>>2]|0)+38>>1]|0;b[G+2>>1]=0;c[r>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[i>>2]|0)+36+1>>0]&1))c[F+20>>2]=c[r>>2];c[E>>2]=F}while(0);b[n>>1]=b[(c[q>>2]|0)+38>>1]|0;b[o>>1]=EC(b[n>>1]|0)|0;a:do if((((((((c[(c[A>>2]|0)+16>>2]|0)==0?(e[(c[C>>2]|0)+40>>1]&32|0)==0:0)?c[(c[c[c[C>>2]>>2]>>2]|0)+24>>2]&1048576|0:0)?(c[(c[i>>2]|0)+68>>2]|0)==0:0)?(a[(c[i>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[q>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[i>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[i>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[t>>2]=(c[(c[p>>2]|0)+20>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*48|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];while(1){if(c[I>>2]|0)break a;if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break a;H=(c[s>>2]|0)+32|0;K=(c[j>>2]|0)+8|0;if(!(c[H>>2]&c[K>>2]|0?1:(c[H+4>>2]&c[K+4>>2]|0)!=0)?wC(c[s>>2]|0,c[i>>2]|0,0,0)|0:0){b[(c[j>>2]|0)+24>>1]=1;b[(c[j>>2]|0)+42>>1]=0;c[(c[j>>2]|0)+24+8>>2]=0;b[(c[j>>2]|0)+40>>1]=1;c[c[(c[j>>2]|0)+48>>2]>>2]=c[s>>2];b[(c[j>>2]|0)+18>>1]=(b[o>>1]|0)+(b[n>>1]|0)+4;if((c[(c[q>>2]|0)+12>>2]|0)==0?(d[(c[q>>2]|0)+42>>0]&2|0)==0:0){K=(c[j>>2]|0)+18|0;b[K>>1]=(b[K>>1]|0)+24}if((b[(c[j>>2]|0)+18>>1]|0)<0)b[(c[j>>2]|0)+18>>1]=0;b[(c[j>>2]|0)+22>>1]=43;F=BC(b[o>>1]|0,b[(c[j>>2]|0)+22>>1]|0)|0;b[(c[j>>2]|0)+20>>1]=F;c[(c[j>>2]|0)+36>>2]=16384;F=B;G=(c[s>>2]|0)+32|0;H=c[F+4>>2]|c[G+4>>2];K=c[j>>2]|0;c[K>>2]=c[F>>2]|c[G>>2];c[K+4>>2]=H;c[I>>2]=KC(c[A>>2]|0,c[j>>2]|0)|0}c[s>>2]=(c[s>>2]|0)+48}}while(0);b:while(1){if(!((c[I>>2]|0)==0?(c[E>>2]|0)!=0:0)){f=57;break}if(!(c[(c[E>>2]|0)+36>>2]|0?!(PC(c[(c[i>>2]|0)+44>>2]|0,c[p>>2]|0,c[(c[E>>2]|0)+36>>2]|0)|0):0)){b[n>>1]=b[c[(c[E>>2]|0)+8>>2]>>1]|0;b[(c[j>>2]|0)+24>>1]=0;b[(c[j>>2]|0)+24+2>>1]=0;b[(c[j>>2]|0)+24+4>>1]=0;b[(c[j>>2]|0)+42>>1]=0;b[(c[j>>2]|0)+40>>1]=0;a[(c[j>>2]|0)+17>>0]=0;b[(c[j>>2]|0)+18>>1]=0;G=B;H=c[G+4>>2]|0;K=c[j>>2]|0;c[K>>2]=c[G>>2];c[K+4>>2]=H;b[(c[j>>2]|0)+22>>1]=b[n>>1]|0;c[(c[j>>2]|0)+24+8>>2]=c[E>>2];c[m>>2]=QC(c[A>>2]|0,c[E>>2]|0,c[(c[i>>2]|0)+44>>2]|0)|0;do if((c[(c[E>>2]|0)+44>>2]|0)<=0){c[(c[j>>2]|0)+36>>2]=256;a[(c[j>>2]|0)+17>>0]=c[m>>2]|0?c[k>>2]|0:0;b[(c[j>>2]|0)+20>>1]=(b[n>>1]|0)+16;RC(c[p>>2]|0,c[j>>2]|0,b[n>>1]|0);c[I>>2]=KC(c[A>>2]|0,c[j>>2]|0)|0;b[(c[j>>2]|0)+22>>1]=b[n>>1]|0;if(c[I>>2]|0){f=57;break b}}else{if((d[(c[E>>2]|0)+55>>0]|0)>>>5&1|0){c[(c[j>>2]|0)+36>>2]=576;K=u;c[K>>2]=0;c[K+4>>2]=0}else{H=(c[i>>2]|0)+56|0;F=c[H>>2]|0;H=c[H+4>>2]|0;G=SC(c[E>>2]|0)|0;K=u;c[K>>2]=F&~G;c[K+4>>2]=H&~D;K=u;c[(c[j>>2]|0)+36>>2]=(c[K>>2]|0)==0&(c[K+4>>2]|0)==0?576:512}if(((c[m>>2]|0)==0?(d[(c[q>>2]|0)+42>>0]&32|0)==0:0)?(c[(c[E>>2]|0)+36>>2]|0)==0:0){K=u;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0))break;if((d[(c[E>>2]|0)+55>>0]|0)>>>2&1|0)break;if((b[(c[E>>2]|0)+48>>1]|0)>=(b[(c[q>>2]|0)+40>>1]|0))break;if(!(c[6]|0?(e[(c[C>>2]|0)+40>>1]&4|0)==0:0))break;if(e[(c[c[c[C>>2]>>2]>>2]|0)+64>>1]&64|0)break}a[(c[j>>2]|0)+17>>0]=c[m>>2]|0?c[k>>2]|0:0;b[(c[j>>2]|0)+20>>1]=(b[n>>1]|0)+1+(((b[(c[E>>2]|0)+48>>1]|0)*15|0)/(b[(c[q>>2]|0)+40>>1]|0)|0);K=u;if((c[K>>2]|0)!=0|(c[K+4>>2]|0)!=0){b[v>>1]=(b[n>>1]|0)+16;c[x>>2]=c[(c[i>>2]|0)+44>>2];c[y>>2]=(c[C>>2]|0)+80;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[y>>2]|0)+12>>2]|0))break;c[z>>2]=(c[(c[y>>2]|0)+20>>2]|0)+((c[w>>2]|0)*48|0);if(!(TC(c[c[z>>2]>>2]|0,c[x>>2]|0,c[E>>2]|0)|0))break;if((b[(c[z>>2]|0)+8>>1]|0)>0){b[v>>1]=(b[v>>1]|0)+-1<<16>>16;if(e[(c[z>>2]|0)+12>>1]&130|0)b[v>>1]=(b[v>>1]|0)-19}else b[v>>1]=(b[v>>1]|0)+(b[(c[z>>2]|0)+8>>1]|0);c[w>>2]=(c[w>>2]|0)+1}K=BC(b[(c[j>>2]|0)+20>>1]|0,b[v>>1]|0)|0;b[(c[j>>2]|0)+20>>1]=K}RC(c[p>>2]|0,c[j>>2]|0,b[n>>1]|0);c[I>>2]=KC(c[A>>2]|0,c[j>>2]|0)|0;b[(c[j>>2]|0)+22>>1]=b[n>>1]|0;if(c[I>>2]|0){f=57;break b}}while(0);c[I>>2]=UC(c[A>>2]|0,c[i>>2]|0,c[E>>2]|0,0)|0;if(c[(c[i>>2]|0)+68>>2]|0){f=57;break}}c[E>>2]=c[(c[E>>2]|0)+20>>2];c[k>>2]=(c[k>>2]|0)+1}if((f|0)==57){l=J;return c[I>>2]|0}return 0}function HC(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+672|0;D=I+668|0;E=I+584|0;F=I+576|0;k=I+664|0;G=I+660|0;m=I+656|0;n=I+652|0;o=I+648|0;p=I+644|0;q=I+640|0;r=I+168|0;s=I+620|0;t=I+112|0;u=I+56|0;v=I+616|0;w=I+612|0;x=I+608|0;y=I+604|0;z=I+600|0;A=I+596|0;B=I+592|0;C=I;c[D>>2]=f;f=E;c[f>>2]=g;c[f+4>>2]=h;f=F;c[f>>2]=i;c[f+4>>2]=j;c[k>>2]=c[c[D>>2]>>2];c[p>>2]=0;c[G>>2]=c[(c[D>>2]|0)+4>>2];c[o>>2]=(c[(c[G>>2]|0)+20>>2]|0)+((c[(c[G>>2]|0)+12>>2]|0)*48|0);c[m>>2]=c[(c[D>>2]|0)+12>>2];f=t;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[v>>2]=(c[(c[k>>2]|0)+4>>2]|0)+8+((d[(c[m>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[v>>2]|0)+44>>2];c[n>>2]=c[(c[G>>2]|0)+20>>2];while(1){if(!((c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0?(c[p>>2]|0)==0:0))break;a:do if(e[(c[n>>2]|0)+12>>1]&512|0?(j=(c[(c[n>>2]|0)+28>>2]|0)+408|0,k=(c[m>>2]|0)+8|0,c[j>>2]&c[k>>2]|0?1:(c[j+4>>2]&c[k+4>>2]|0)!=0):0){c[w>>2]=c[(c[n>>2]|0)+28>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[z>>2]=1;k=c[D>>2]|0;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];c[s+8>>2]=c[k+8>>2];c[s+12>>2]=c[k+12>>2];c[s+16>>2]=c[k+16>>2];c[s+8>>2]=0;c[s+16>>2]=u;c[y>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[y>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;f=c[y>>2]|0;if(!(e[(c[y>>2]|0)+12>>1]&1024|0)){if((c[f+20>>2]|0)==(c[q>>2]|0)){c[r>>2]=c[c[G>>2]>>2];c[r+4>>2]=c[G>>2];a[r+8>>0]=28;c[r+12>>2]=1;c[r+20>>2]=c[y>>2];f=r;H=11}}else{f=c[f+28>>2]|0;H=11}c:do if((H|0)==11){H=0;c[s+4>>2]=f;b[u>>1]=0;g=E;f=c[g>>2]|0;g=c[g+4>>2]|0;if(d[(c[(c[v>>2]|0)+16>>2]|0)+42>>0]&16|0){k=F;c[p>>2]=FC(s,f,g,c[k>>2]|0,c[k+4>>2]|0)|0}else c[p>>2]=GC(s,f,g)|0;if(!(c[p>>2]|0)){j=E;k=F;c[p>>2]=HC(s,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0}if(!(e[u>>1]|0)){H=17;break b}if(c[z>>2]|0){IC(t,u);c[z>>2]=0;break}IC(C,t);b[t>>1]=0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(e[C>>1]|0))break c;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[u>>1]|0))break;k=C+8+(c[A>>2]<<4)|0;j=u+8+(c[B>>2]<<4)|0;i=c[k>>2]|c[j>>2];j=c[k+4>>2]|c[j+4>>2];k=BC(b[C+8+(c[A>>2]<<4)+8>>1]|0,b[u+8+(c[B>>2]<<4)+8>>1]|0)|0;JC(t,i,j,k,BC(b[C+8+(c[A>>2]<<4)+10>>1]|0,b[u+8+(c[B>>2]<<4)+10>>1]|0)|0)|0;c[B>>2]=(c[B>>2]|0)+1}c[A>>2]=(c[A>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}if((H|0)==17){H=0;b[t>>1]=0}b[(c[m>>2]|0)+40>>1]=1;c[c[(c[m>>2]|0)+48>>2]>>2]=c[n>>2];c[(c[m>>2]|0)+36>>2]=8192;b[(c[m>>2]|0)+18>>1]=0;a[(c[m>>2]|0)+17>>0]=0;k=(c[m>>2]|0)+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[A>>2]=0;while(1){if(c[p>>2]|0)break a;if((c[A>>2]|0)>=(e[t>>1]|0))break a;b[(c[m>>2]|0)+20>>1]=(b[t+8+(c[A>>2]<<4)+8>>1]|0)+1;b[(c[m>>2]|0)+22>>1]=b[t+8+(c[A>>2]<<4)+10>>1]|0;i=t+8+(c[A>>2]<<4)|0;j=c[i+4>>2]|0;k=c[m>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;c[p>>2]=KC(c[D>>2]|0,c[m>>2]|0)|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+48}l=I;return c[p>>2]|0}function IC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=l;l=l+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;h0((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;l=f;return}function JC(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+16|0;n=r+12|0;o=r;p=r+24|0;q=r+22|0;j=r+20|0;k=r+8|0;c[n>>2]=a;a=o;c[a>>2]=d;c[a+4>>2]=f;b[p>>1]=g;b[q>>1]=h;b[j>>1]=b[c[n>>2]>>1]|0;c[k>>2]=(c[n>>2]|0)+8;while(1){if((e[j>>1]|0)<=0){i=9;break}if((b[p>>1]|0)<=(b[(c[k>>2]|0)+8>>1]|0)?(f=o,g=c[k>>2]|0,h=o,(c[f>>2]&c[g>>2]|0)==(c[h>>2]|0)?(c[f+4>>2]&c[g+4>>2]|0)==(c[h+4>>2]|0):0):0)break;if((b[(c[k>>2]|0)+8>>1]|0)<=(b[p>>1]|0)?(f=c[k>>2]|0,g=o,h=c[k>>2]|0,(c[f>>2]&c[g>>2]|0)==(c[h>>2]|0)?(c[f+4>>2]&c[g+4>>2]|0)==(c[h+4>>2]|0):0):0){i=7;break}b[j>>1]=(b[j>>1]|0)+-1<<16>>16;c[k>>2]=(c[k>>2]|0)+16}if((i|0)==7){c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}do if((i|0)==9){a=(c[n>>2]|0)+8|0;if((e[c[n>>2]>>1]|0)<3){j=c[n>>2]|0;n=b[j>>1]|0;b[j>>1]=n+1<<16>>16;c[k>>2]=a+((n&65535)<<4);b[(c[k>>2]|0)+10>>1]=b[q>>1]|0;break}c[k>>2]=a;b[j>>1]=1;while(1){a=b[(c[k>>2]|0)+8>>1]|0;if((e[j>>1]|0)>=(e[c[n>>2]>>1]|0))break;if((a|0)>(b[(c[n>>2]|0)+8+(e[j>>1]<<4)+8>>1]|0))c[k>>2]=(c[n>>2]|0)+8+(e[j>>1]<<4);b[j>>1]=(b[j>>1]|0)+1<<16>>16}if((a|0)<=(b[p>>1]|0)){c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}}while(0);j=o;n=c[j+4>>2]|0;o=c[k>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;b[(c[k>>2]|0)+8>>1]=b[p>>1]|0;if((b[(c[k>>2]|0)+10>>1]|0)>(b[q>>1]|0))b[(c[k>>2]|0)+10>>1]=b[q>>1]|0;c[m>>2]=1;q=c[m>>2]|0;l=r;return q|0}function KC(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;h=q+40|0;i=q+36|0;j=q+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;e=q+8|0;f=q+4|0;g=q;c[i>>2]=a;c[j>>2]=d;c[n>>2]=c[c[i>>2]>>2];c[o>>2]=c[c[c[n>>2]>>2]>>2];if(c[(c[i>>2]|0)+16>>2]|0){if(b[(c[j>>2]|0)+40>>1]|0){p=c[j>>2]|0;JC(c[(c[i>>2]|0)+16>>2]|0,c[p>>2]|0,c[p+4>>2]|0,b[(c[j>>2]|0)+20>>1]|0,b[(c[j>>2]|0)+22>>1]|0)|0}c[h>>2]=0;p=c[h>>2]|0;l=q;return p|0}LC(c[(c[n>>2]|0)+56>>2]|0,c[j>>2]|0);c[k>>2]=MC((c[n>>2]|0)+56|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){c[h>>2]=0;p=c[h>>2]|0;l=q;return p|0}c[m>>2]=c[c[k>>2]>>2];a:do if(!(c[m>>2]|0)){n=Ed(c[o>>2]|0,72,0)|0;c[m>>2]=n;c[c[k>>2]>>2]=n;if(c[m>>2]|0){NB(c[m>>2]|0);c[(c[m>>2]|0)+52>>2]=0;break}c[h>>2]=7;p=c[h>>2]|0;l=q;return p|0}else{c[e>>2]=(c[m>>2]|0)+52;while(1){if(!(c[c[e>>2]>>2]|0))break a;c[e>>2]=MC(c[e>>2]|0,c[j>>2]|0)|0;if(!(c[e>>2]|0))break a;c[f>>2]=c[c[e>>2]>>2];if(!(c[f>>2]|0))break a;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52>>2];KB(c[o>>2]|0,c[f>>2]|0)}}while(0);c[p>>2]=NC(c[o>>2]|0,c[m>>2]|0,c[j>>2]|0)|0;if(((c[(c[m>>2]|0)+36>>2]&1024|0)==0?(c[g>>2]=c[(c[m>>2]|0)+24+8>>2],c[g>>2]|0):0)?(c[(c[g>>2]|0)+44>>2]|0)==0:0)c[(c[m>>2]|0)+24+8>>2]=0;c[h>>2]=c[p>>2];p=c[h>>2]|0;l=q;return p|0}function LC(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!(c[f>>2]|0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){l=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?c[(c[f>>2]|0)+36>>2]&512|0:0){if(OC(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(OC(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);l=h;return}function MC(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k+12|0;j=k+8|0;g=k+4|0;h=k;c[j>>2]=a;c[g>>2]=f;c[h>>2]=c[c[j>>2]>>2];while(1){if(!(c[h>>2]|0)){a=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if((((c[(c[h>>2]|0)+36>>2]&16384|0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?c[(c[g>>2]|0)+36>>2]&512|0:0)?c[(c[g>>2]|0)+36>>2]&1|0:0)?(m=c[h>>2]|0,a=c[g>>2]|0,f=c[g>>2]|0,(c[m>>2]&c[a>>2]|0)==(c[f>>2]|0)?(c[m+4>>2]&c[a+4>>2]|0)==(c[f+4>>2]|0):0):0){a=19;break}a=c[h>>2]|0;f=c[g>>2]|0;m=c[h>>2]|0;if(((((c[a>>2]&c[f>>2]|0)==(c[m>>2]|0)?(c[a+4>>2]&c[f+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){a=14;break}a=c[h>>2]|0;f=c[g>>2]|0;m=c[g>>2]|0;if((((c[a>>2]&c[f>>2]|0)==(c[m>>2]|0)?(c[a+4>>2]&c[f+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){a=19;break}}c[j>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[j>>2]>>2]}if((a|0)==14){c[i>>2]=0;m=c[i>>2]|0;l=k;return m|0}else if((a|0)==19){c[i>>2]=c[j>>2];m=c[i>>2]|0;l=k;return m|0}return 0}function NC(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;h=j+12|0;k=j+8|0;g=j+4|0;i=j;c[k>>2]=b;c[g>>2]=d;c[i>>2]=f;MB(c[k>>2]|0,c[g>>2]|0);f=(xC(c[k>>2]|0,c[g>>2]|0,e[(c[i>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(f){k=b+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[h>>2]=7;k=c[h>>2]|0;l=j;return k|0}d=c[i>>2]|0;f=b+44|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(f|0));h0(c[(c[g>>2]|0)+48>>2]|0,c[(c[i>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[i>>2]|0;if(!(c[(c[i>>2]|0)+36>>2]&1024|0)){if(c[b+36>>2]&16384|0)c[(c[i>>2]|0)+24+8>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;k=c[h>>2]|0;l=j;return k|0}function OC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){a=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[i>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[i>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[i>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[i>>2]=(c[i>>2]|0)+-1}if((c[i>>2]|0)<0){a=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((a|0)==18){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}else if((a|0)==20){c[j>>2]=1;j=c[j>>2]|0;l=k;return j|0}return 0}function PC(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=a;c[i>>2]=e;c[j>>2]=f;while(1){if((d[c[j>>2]>>0]|0)!=28)break;if(!(PC(c[h>>2]|0,c[i>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0)){o=4;break}c[j>>2]=c[(c[j>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;l=p;return o|0}c[k>>2]=0;c[m>>2]=c[(c[i>>2]|0)+20>>2];while(1){if((c[k>>2]|0)>=(c[(c[i>>2]|0)+12>>2]|0)){o=13;break}c[n>>2]=c[c[m>>2]>>2];if(_C(c[n>>2]|0,c[j>>2]|0,c[h>>2]|0)|0){if(!(c[(c[n>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[n>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;l=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;l=p;return o|0}return 0}function QC(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;j=s+32|0;k=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;q=s+8|0;h=s+4|0;i=s;c[k>>2]=a;c[m>>2]=f;c[n>>2]=g;if((d[(c[m>>2]|0)+55>>0]|0)>>>2&1|0){c[j>>2]=0;r=c[j>>2]|0;l=s;return r|0}k=c[(c[c[k>>2]>>2]|0)+8>>2]|0;c[o>>2]=k;if(!k){c[j>>2]=0;r=c[j>>2]|0;l=s;return r|0}c[q>>2]=0;a:while(1){if((c[q>>2]|0)>=(c[c[o>>2]>>2]|0)){r=24;break}c[i>>2]=yw(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[i>>2]>>0]|0)==152?(c[(c[i>>2]|0)+28>>2]|0)==(c[n>>2]|0):0){if((b[(c[i>>2]|0)+32>>1]|0)<0){r=10;break a}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0))break b;if((b[(c[i>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){r=14;break a}c[h>>2]=(c[h>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,k=c[(c[m>>2]|0)+40>>2]|0,c[p>>2]=k,k|0):0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0))break c;if((b[(c[(c[m>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)==-2?(Yw(c[i>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[n>>2]|0)|0)==0:0){r=21;break a}c[h>>2]=(c[h>>2]|0)+1}}while(0);c[q>>2]=(c[q>>2]|0)+1}if((r|0)==10){c[j>>2]=1;r=c[j>>2]|0;l=s;return r|0}else if((r|0)==14){c[j>>2]=1;r=c[j>>2]|0;l=s;return r|0}else if((r|0)==21){c[j>>2]=1;r=c[j>>2]|0;l=s;return r|0}else if((r|0)==24){c[j>>2]=0;r=c[j>>2]|0;l=s;return r|0}return 0}function RC(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;k=s+36|0;m=s+32|0;n=s+42|0;o=s+28|0;p=s+24|0;q=s;r=s+20|0;g=s+16|0;h=s+12|0;i=s+40|0;j=s+8|0;c[k>>2]=a;c[m>>2]=d;b[n>>1]=f;t=c[m>>2]|0;a=(c[m>>2]|0)+8|0;d=~(c[t+4>>2]|c[a+4>>2]);f=q;c[f>>2]=~(c[t>>2]|c[a>>2]);c[f+4>>2]=d;b[i>>1]=0;c[r>>2]=c[(c[k>>2]|0)+12>>2];c[o>>2]=c[(c[k>>2]|0)+20>>2];while(1){if((c[r>>2]|0)<=0)break;if(e[(c[o>>2]|0)+10>>1]&2|0)break;f=(c[o>>2]|0)+40|0;t=(c[m>>2]|0)+8|0;do if(!((c[f>>2]&c[t>>2]|0)==0?(c[f+4>>2]&c[t+4>>2]|0)==0:0)?(f=(c[o>>2]|0)+40|0,t=q,!(c[f>>2]&c[t>>2]|0?1:(c[f+4>>2]&c[t+4>>2]|0)!=0)):0){c[g>>2]=(e[(c[m>>2]|0)+40>>1]|0)-1;while(1){if((c[g>>2]|0)<0)break;c[p>>2]=c[(c[(c[m>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];if(c[p>>2]|0){if((c[p>>2]|0)==(c[o>>2]|0))break;if((c[(c[p>>2]|0)+16>>2]|0)>=0?((c[(c[k>>2]|0)+20>>2]|0)+((c[(c[p>>2]|0)+16>>2]|0)*48|0)|0)==(c[o>>2]|0):0)break}c[g>>2]=(c[g>>2]|0)+-1}if((c[g>>2]|0)<0){if((b[(c[o>>2]|0)+8>>1]|0)<=0){t=(c[m>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[o>>2]|0)+8>>1]|0);break}t=(c[m>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[o>>2]|0)+12>>1]&130|0){c[j>>2]=c[(c[c[o>>2]>>2]|0)+16>>2];t=(Tw(c[j>>2]|0,h)|0)!=0;if(t&(c[h>>2]|0)>=-1&(c[h>>2]|0)<=1)c[h>>2]=10;else c[h>>2]=20;if((b[i>>1]|0)<(c[h>>2]|0))b[i>>1]=c[h>>2]}}}while(0);c[r>>2]=(c[r>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+48}if((b[(c[m>>2]|0)+22>>1]|0)<=((b[n>>1]|0)-(b[i>>1]|0)|0)){l=s;return}b[(c[m>>2]|0)+22>>1]=(b[n>>1]|0)-(b[i>>1]|0);l=s;return}function SC(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;d=i+16|0;f=i;g=i+12|0;h=i+8|0;c[d>>2]=a;a=f;c[a>>2]=0;c[a+4>>2]=0;c[g>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[g>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){k=j0(1,0,c[h>>2]|0)|0;m=f;j=c[m+4>>2]|D;a=f;c[a>>2]=c[m>>2]|k;c[a+4>>2]=j}c[g>>2]=(c[g>>2]|0)+-1}m=f;D=c[m+4>>2]|0;l=i;return c[m>>2]|0}function TC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+48|0;h=g+44|0;k=g+40|0;j=g+36|0;f=g+8|0;i=g;c[h>>2]=b;c[k>>2]=d;c[j>>2]=e;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[i+4>>2]=c[k>>2];c[i>>2]=c[j>>2];c[f+4>>2]=207;c[f+24>>2]=i;Kw(f,c[h>>2]|0)|0;l=g;return ((a[f+20>>0]|0)!=0^1)&1|0} +function Js(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;j=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[i>>2]=d;c[e>>2]=c[j>>2];c[f>>2]=c[i>>2];td(c[(c[c[f>>2]>>2]|0)+12>>2]|0);c[g>>2]=0;while(1){a=c[f>>2]|0;if((c[g>>2]|0)>=(b[(c[e>>2]|0)+16>>1]|0))break;Ls((c[a+116>>2]|0)+((c[g>>2]|0)*40|0)|0,(c[(c[e>>2]|0)+116>>2]|0)+((c[g>>2]|0)*40|0)|0);c[g>>2]=(c[g>>2]|0)+1}ud(c[(c[a>>2]|0)+12>>2]|0);l=h;return 0}function Ks(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+40>>2]=0;l=b;return}function Ls(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;ei(c[e>>2]|0);a=c[e>>2]|0;d=c[f>>2]|0;e=a+40|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;l=g;return}function Ms(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){Gv(20953);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+84>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Fv(c[d>>2]|0)|0)Gv(38719);c[b>>2]=0}while(0);l=f;return c[b>>2]|0}function Ns(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+576|0;H=I+16|0;t=I+8|0;o=I;G=I+572|0;A=I+568|0;s=I+564|0;u=I+560|0;k=I+556|0;v=I+552|0;p=I+548|0;C=I+544|0;D=I+540|0;w=I+536|0;E=I+56|0;m=I+48|0;n=I+44|0;q=I+40|0;r=I+36|0;x=I+32|0;y=I+28|0;z=I+24|0;F=I+20|0;c[G>>2]=b;c[A>>2]=e;c[s>>2]=f;c[u>>2]=g;c[k>>2]=h;c[v>>2]=i;c[p>>2]=j;c[C>>2]=0;c[D>>2]=0;m0(E|0,0,152)|0;b=E+400|0;e=b+80|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));c[E+432>>2]=c[k>>2];c[w>>2]=0;while(1){b=c[G>>2]|0;if((c[w>>2]|0)>=(c[(c[G>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[b+16>>2]|0)+(c[w>>2]<<4)+4>>2];if(c[m>>2]|0?(c[D>>2]=Os(c[m>>2]|0)|0,c[D>>2]|0):0){B=5;break}c[w>>2]=(c[w>>2]|0)+1}if((B|0)==5){c[n>>2]=c[(c[(c[G>>2]|0)+16>>2]|0)+(c[w>>2]<<4)>>2];F=c[G>>2]|0;H=c[D>>2]|0;c[o>>2]=c[n>>2];ll(F,H,25177,o);ql(E);G=c[G>>2]|0;H=c[D>>2]|0;H=Jr(G,H)|0;c[D>>2]=H;H=c[D>>2]|0;l=I;return H|0}Oq(b);c[E>>2]=c[G>>2];do if((c[s>>2]|0)>=0){if(c[s>>2]|0?(a[(c[A>>2]|0)+((c[s>>2]|0)-1)>>0]|0)==0:0){B=15;break}c[r>>2]=c[(c[G>>2]|0)+96+4>>2];b=c[G>>2]|0;if((c[s>>2]|0)>(c[r>>2]|0)){ll(b,18,25207,t);c[D>>2]=Jr(c[G>>2]|0,18)|0;ql(E);G=c[G>>2]|0;H=c[D>>2]|0;H=Jr(G,H)|0;c[D>>2]=H;H=c[D>>2]|0;l=I;return H|0}t=c[s>>2]|0;c[q>>2]=Uj(b,c[A>>2]|0,t,((t|0)<0)<<31>>31)|0;if(c[q>>2]|0){Ps(E,c[q>>2]|0,C)|0;c[E+436>>2]=(c[A>>2]|0)+((c[E+436>>2]|0)-(c[q>>2]|0));Xd(c[G>>2]|0,c[q>>2]|0);break}else{c[E+436>>2]=(c[A>>2]|0)+(c[s>>2]|0);break}}else B=15;while(0);if((B|0)==15)Ps(E,c[A>>2]|0,C)|0;if((c[E+12>>2]|0)==101)c[E+12>>2]=0;if(a[E+17>>0]|0)Qs(E);if(a[(c[G>>2]|0)+69>>0]|0)c[E+12>>2]=7;if(c[p>>2]|0)c[c[p>>2]>>2]=c[E+436>>2];c[D>>2]=c[E+12>>2];a:do if(((c[D>>2]|0)==0?c[E+8>>2]|0:0)?d[E+409>>0]|0:0){b=c[E+8>>2]|0;if((d[E+409>>0]|0)==2){Rs(b,4);c[x>>2]=8;c[y>>2]=12}else{Rs(b,8);c[x>>2]=0;c[y>>2]=8}c[w>>2]=c[x>>2];while(1){if((c[w>>2]|0)>=(c[y>>2]|0))break a;Ss(c[E+8>>2]|0,(c[w>>2]|0)-(c[x>>2]|0)|0,0,c[4180+(c[w>>2]<<2)>>2]|0,0)|0;c[w>>2]=(c[w>>2]|0)+1}}while(0);if(!(d[(c[G>>2]|0)+148+5>>0]|0)){c[z>>2]=c[E+8>>2];Ts(c[z>>2]|0,c[A>>2]|0,(c[E+436>>2]|0)-(c[A>>2]|0)|0,c[u>>2]|0)}do if(c[E+8>>2]|0){if((c[D>>2]|0)==0?(d[(c[G>>2]|0)+69>>0]|0)==0:0){B=39;break}Ir(c[E+8>>2]|0)|0}else B=39;while(0);if((B|0)==39)c[c[v>>2]>>2]=c[E+8>>2];b=c[G>>2]|0;e=c[D>>2]|0;if(c[C>>2]|0){c[H>>2]=c[C>>2];ll(b,e,21240,H);Xd(c[G>>2]|0,c[C>>2]|0)}else ml(b,e);while(1){if(!(c[E+468>>2]|0))break;c[F>>2]=c[E+468>>2];c[E+468>>2]=c[(c[F>>2]|0)+4>>2];Xd(c[G>>2]|0,c[F>>2]|0)}ql(E);G=c[G>>2]|0;H=c[D>>2]|0;H=Jr(G,H)|0;c[D>>2]=H;H=c[D>>2]|0;l=I;return H|0}function Os(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;el(c[e>>2]|0);c[b>>2]=Wq(c[e>>2]|0,1,1)|0;bl(c[e>>2]|0);l=d;return c[b>>2]|0}function Ps(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;v=z+68|0;w=z+64|0;k=z+60|0;m=z+56|0;x=z+52|0;y=z+48|0;n=z+44|0;h=z+40|0;i=z+36|0;s=z+32|0;j=z+28|0;t=z+24|0;u=z+20|0;c[w>>2]=b;c[k>>2]=e;c[m>>2]=f;c[x>>2]=0;c[i>>2]=-1;c[s>>2]=c[c[w>>2]>>2];c[j>>2]=c[(c[s>>2]|0)+96+4>>2];if(!(c[(c[s>>2]|0)+156>>2]|0))c[(c[s>>2]|0)+248>>2]=0;c[(c[w>>2]|0)+12>>2]=0;c[(c[w>>2]|0)+436>>2]=c[k>>2];c[y>>2]=0;c[n>>2]=Xs(196)|0;if(!(c[n>>2]|0)){Od(c[s>>2]|0);c[v>>2]=7;y=c[v>>2]|0;l=z;return y|0}a:while(1){do if(a[(c[k>>2]|0)+(c[y>>2]|0)>>0]|0){c[(c[w>>2]|0)+392>>2]=(c[k>>2]|0)+(c[y>>2]|0);f=Tj((c[k>>2]|0)+(c[y>>2]|0)|0,h)|0;c[(c[w>>2]|0)+392+4>>2]=f;c[y>>2]=(c[y>>2]|0)+(c[(c[w>>2]|0)+392+4>>2]|0);if((c[y>>2]|0)>(c[j>>2]|0)){r=7;break a}}else{if((c[i>>2]|0)==1){c[h>>2]=0;break}if(!(c[i>>2]|0))break a;c[h>>2]=1}while(0);if((c[h>>2]|0)>=162){if(c[(c[s>>2]|0)+248>>2]|0){r=14;break}if((c[h>>2]|0)==163){r=16;break}else continue}else{b=c[n>>2]|0;e=c[h>>2]|0;A=(c[w>>2]|0)+392|0;f=c[w>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];Ys(b,e,g,f);c[i>>2]=c[h>>2];if(c[(c[w>>2]|0)+12>>2]|0)break;if(d[(c[s>>2]|0)+69>>0]|0)break;else continue}}if((r|0)==7)c[(c[w>>2]|0)+12>>2]=18;else if((r|0)==14)c[(c[w>>2]|0)+12>>2]=9;else if((r|0)==16){A=c[w>>2]|0;c[o>>2]=(c[w>>2]|0)+392;sl(A,25288,o)}c[(c[w>>2]|0)+436>>2]=(c[k>>2]|0)+(c[y>>2]|0);Zs(c[n>>2]|0,157);if(a[(c[s>>2]|0)+69>>0]|0)c[(c[w>>2]|0)+12>>2]=7;if((c[(c[w>>2]|0)+12>>2]|0?(c[(c[w>>2]|0)+12>>2]|0)!=101:0)?(c[(c[w>>2]|0)+4>>2]|0)==0:0){A=c[s>>2]|0;c[p>>2]=Xi(c[(c[w>>2]|0)+12>>2]|0)|0;A=Wj(A,21240,p)|0;c[(c[w>>2]|0)+4>>2]=A}if(c[(c[w>>2]|0)+4>>2]|0){c[c[m>>2]>>2]=c[(c[w>>2]|0)+4>>2];A=c[(c[w>>2]|0)+12>>2]|0;c[q>>2]=c[c[m>>2]>>2];xd(A,21240,q);c[(c[w>>2]|0)+4>>2]=0;c[x>>2]=(c[x>>2]|0)+1}if((c[(c[w>>2]|0)+8>>2]|0?(c[(c[w>>2]|0)+36>>2]|0)>0:0)?(d[(c[w>>2]|0)+18>>0]|0)==0:0){Nr(c[(c[w>>2]|0)+8>>2]|0);c[(c[w>>2]|0)+8>>2]=0}if(!(d[(c[w>>2]|0)+18>>0]|0)){Xd(c[s>>2]|0,c[(c[w>>2]|0)+116>>2]|0);c[(c[w>>2]|0)+116>>2]=0;c[(c[w>>2]|0)+112>>2]=0}_d(c[(c[w>>2]|0)+460>>2]|0);if(!(a[(c[w>>2]|0)+410>>0]|0))tk(c[s>>2]|0,c[(c[w>>2]|0)+440>>2]|0);if(c[(c[w>>2]|0)+476>>2]|0)Sk(c[s>>2]|0,c[(c[w>>2]|0)+476>>2]|0);sk(c[s>>2]|0,c[(c[w>>2]|0)+444>>2]|0);c[y>>2]=(c[(c[w>>2]|0)+404>>2]|0)-1;while(1){g=c[s>>2]|0;b=c[(c[w>>2]|0)+428>>2]|0;if((c[y>>2]|0)<0)break;Xd(g,c[b+(c[y>>2]<<2)>>2]|0);c[y>>2]=(c[y>>2]|0)+-1}Xd(g,b);while(1){if(!(c[(c[w>>2]|0)+120>>2]|0))break;c[t>>2]=c[(c[w>>2]|0)+120>>2];c[(c[w>>2]|0)+120>>2]=c[c[t>>2]>>2];Xd(c[s>>2]|0,c[t>>2]|0)}while(1){if(!(c[(c[w>>2]|0)+464>>2]|0))break;c[u>>2]=c[(c[w>>2]|0)+464>>2];c[(c[w>>2]|0)+464>>2]=c[(c[u>>2]|0)+68>>2];tk(c[s>>2]|0,c[u>>2]|0)}c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}function Qs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){a=14;break}c[h>>2]=0;c[i>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2];if(c[i>>2]|0){if(!(nl(c[i>>2]|0)|0)){c[f>>2]=Gp(c[i>>2]|0,0)|0;if((c[f>>2]|0)==7|(c[f>>2]|0)==3082)Od(c[d>>2]|0);if(c[f>>2]|0){a=14;break}c[h>>2]=1}Ip(c[i>>2]|0,1,g);if((c[g>>2]|0)!=(c[c[(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)){Vs(c[d>>2]|0,c[e>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[h>>2]|0)Ws(c[i>>2]|0)|0}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==14){l=j;return}}function Rs(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;f=h+16|0;j=h+12|0;g=h+4|0;i=h;c[f>>2]=a;c[j>>2]=d;c[i>>2]=c[c[f>>2]>>2];vk(c[(c[f>>2]|0)+100>>2]|0,(e[(c[f>>2]|0)+140>>1]|0)<<1);Xd(c[i>>2]|0,c[(c[f>>2]|0)+100>>2]|0);c[g>>2]=c[j>>2]<<1;b[(c[f>>2]|0)+140>>1]=c[j>>2];d=Ed(c[i>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h+8>>2]=d;c[(c[f>>2]|0)+100>>2]=d;if(!(c[(c[f>>2]|0)+100>>2]|0)){l=h;return}Us(c[(c[f>>2]|0)+100>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,1);l=h;return}function Ss(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;i=r+8|0;j=r+4|0;k=r;c[n>>2]=b;c[o>>2]=d;c[p>>2]=f;c[q>>2]=g;c[i>>2]=h;if(a[(c[c[n>>2]>>2]|0)+69>>0]|0){c[m>>2]=7;q=c[m>>2]|0;l=r;return q|0}else{c[k>>2]=(c[(c[n>>2]|0)+100>>2]|0)+(((c[o>>2]|0)+(S(c[p>>2]|0,e[(c[n>>2]|0)+140>>1]|0)|0)|0)*40|0);c[j>>2]=ci(c[k>>2]|0,c[q>>2]|0,-1,1,c[i>>2]|0)|0;c[m>>2]=c[j>>2];q=c[m>>2]|0;l=r;return q|0}return 0}function Ts(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){l=k;return}i=c[i>>2]|0;i=Uj(c[c[g>>2]>>2]|0,c[h>>2]|0,i,((i|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+176>>2]=i;i=(c[g>>2]|0)+144|0;b[i>>1]=b[i>>1]&-513|(c[j>>2]&1)<<9&65535;l=k;return}function Us(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+8|0;h=k+4|0;i=k;j=k+12|0;c[g>>2]=a;c[h>>2]=d;c[i>>2]=e;b[j>>1]=f;while(1){f=c[h>>2]|0;c[h>>2]=f+-1;if((f|0)<=0)break;c[(c[g>>2]|0)+32>>2]=c[i>>2];b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+24>>2]=0;c[g>>2]=(c[g>>2]|0)+40}l=k;return}function Vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);Nq(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){l=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;Nq(c[(c[e>>2]|0)+12>>2]|0);l=f;return}function Ws(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;el(c[b>>2]|0);c[d>>2]=Vp(c[b>>2]|0,0)|0;if(!(c[d>>2]|0))c[d>>2]=Up(c[b>>2]|0,0)|0;bl(c[b>>2]|0);l=e;return c[d>>2]|0}function Xs(d){d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;c[g>>2]=d;c[e>>2]=Mb[c[g>>2]&255](1608,0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;l=f;return g|0}c[c[e>>2]>>2]=(c[e>>2]|0)+8;b[(c[e>>2]|0)+8>>1]=0;a[(c[e>>2]|0)+8+2>>0]=0;g=c[e>>2]|0;l=f;return g|0}function Ys(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;f=k+32|0;n=k+28|0;g=k+24|0;m=k+20|0;h=k+8|0;i=k+4|0;j=k;c[n>>2]=a;c[g>>2]=b;c[m>>2]=e;c[j>>2]=c[n>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];while(1){c[i>>2]=at(c[j>>2]|0,c[g>>2]&255)|0;do if((c[i>>2]|0)>>>0>999)if((c[i>>2]|0)>>>0<=1331){ct(c[j>>2]|0,(c[i>>2]|0)-1e3|0);break}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];m=c[j>>2]|0;n=c[g>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];dt(m,n,f);$s(c[j>>2]|0,c[g>>2]&255,h);c[g>>2]=252;break}else{e=c[j>>2]|0;m=c[i>>2]|0;n=c[g>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];bt(e,m,n,f);c[g>>2]=252}while(0);if((c[g>>2]|0)==252){f=9;break}if((c[c[j>>2]>>2]|0)>>>0<=((c[j>>2]|0)+8|0)>>>0){f=9;break}}if((f|0)==9){l=k;return}}function Zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)>>>0<=((c[e>>2]|0)+8|0)>>>0)break;_s(c[e>>2]|0)}Eb[c[d>>2]&255](c[e>>2]|0);l=f;return}function _s(b){b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-16;c[e>>2]=b;$s(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);l=d;return}function $s(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;k=i+8|0;j=i+12|0;g=i+4|0;h=i;c[k>>2]=b;a[j>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[k>>2]|0)+4>>2];do switch(d[j>>0]|0|0){case 206:case 195:case 194:case 163:{Jk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 173:case 172:{Ok(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 226:case 224:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{Kk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 212:case 211:case 200:case 193:{Rk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 250:case 196:{Sk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 241:case 236:case 227:case 225:case 215:case 203:case 201:{Ok(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 220:case 217:case 216:{Tk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 237:case 232:{al(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 234:{Tk(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);l=i;return}default:{l=i;return}}while(0)}function at(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p+16|0;q=p+12|0;i=p+21|0;j=p+8|0;k=p+4|0;m=p+20|0;n=p;c[q>>2]=f;a[i>>0]=g;c[k>>2]=e[c[c[q>>2]>>2]>>1];if((c[k>>2]|0)>=1e3){c[h>>2]=c[k>>2];q=c[h>>2]|0;l=p;return q|0}while(1){c[j>>2]=b[15242+(c[k>>2]<<1)>>1];c[j>>2]=(c[j>>2]|0)+(d[i>>0]|0);if(!((c[j>>2]|0)<0|(c[j>>2]|0)>=1567)?(d[37056+(c[j>>2]|0)>>0]|0)==(d[i>>0]|0):0){o=13;break}if((d[i>>0]|0)>>>0>=96)break;q=a[38623+(d[i>>0]|0)>>0]|0;a[m>>0]=q;if(!(q&255))break;a[i>>0]=a[m>>0]|0}if((o|0)==13){c[h>>2]=e[12078+(c[j>>2]<<1)>>1];q=c[h>>2]|0;l=p;return q|0}c[n>>2]=(c[j>>2]|0)-(d[i>>0]|0)+96;if(((c[n>>2]|0)<1567?(d[37056+(c[n>>2]|0)>>0]|0)==96:0)?(d[i>>0]|0)>0:0){c[h>>2]=e[12078+(c[n>>2]<<1)>>1];q=c[h>>2]|0;l=p;return q|0}c[h>>2]=e[16154+(c[k>>2]<<1)>>1];q=c[h>>2]|0;l=p;return q|0}function bt(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;f=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+16;if((c[c[h>>2]>>2]|0)>>>0>=((c[h>>2]|0)+8+1600|0)>>>0){et(c[h>>2]|0);l=m;return}if((c[i>>2]|0)>455)c[i>>2]=(c[i>>2]|0)+332;c[k>>2]=c[c[h>>2]>>2];b[c[k>>2]>>1]=c[i>>2];a[(c[k>>2]|0)+2>>0]=c[j>>2];k=(c[k>>2]|0)+4|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];l=m;return}function ct(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=l;l=l+288|0;h=fa+280|0;X=fa+40|0;W=fa+32|0;V=fa+24|0;U=fa+16|0;Z=fa+8|0;T=fa;$=fa+276|0;aa=fa+272|0;ba=fa+268|0;ca=fa+264|0;da=fa+260|0;ea=fa+256|0;_=fa+252|0;S=fa+240|0;i=fa+228|0;j=fa+216|0;k=fa+192|0;m=fa+188|0;n=fa+184|0;o=fa+180|0;p=fa+176|0;q=fa+168|0;r=fa+164|0;s=fa+160|0;t=fa+156|0;u=fa+152|0;v=fa+148|0;w=fa+144|0;x=fa+140|0;y=fa+136|0;z=fa+132|0;A=fa+128|0;B=fa+124|0;C=fa+120|0;D=fa+116|0;E=fa+112|0;F=fa+108|0;G=fa+104|0;Y=fa+96|0;H=fa+92|0;I=fa+88|0;J=fa+84|0;K=fa+80|0;L=fa+76|0;M=fa+72|0;N=fa+68|0;O=fa+64|0;P=fa+60|0;Q=fa+56|0;R=fa+48|0;c[$>>2]=f;c[aa>>2]=g;c[_>>2]=c[(c[$>>2]|0)+4>>2];c[da>>2]=c[c[$>>2]>>2];if((d[25337+(c[aa>>2]<<1)+1>>0]|0)==0?(c[c[$>>2]>>2]|0)>>>0>=((c[$>>2]|0)+8+1584|0)>>>0:0){et(c[$>>2]|0);l=fa;return}a:do switch(c[aa>>2]|0){case 0:{a[(c[_>>2]|0)+409>>0]=1;break}case 1:{a[(c[_>>2]|0)+409>>0]=2;break}case 2:{ft(c[_>>2]|0);break}case 3:{gt(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 4:{c[(c[da>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 9:case 8:{ht(c[_>>2]|0);break}case 10:{it(c[_>>2]|0);break}case 11:{jt(c[_>>2]|0,0,(c[da>>2]|0)+4|0);break}case 12:{jt(c[_>>2]|0,1,(c[da>>2]|0)+4|0);break}case 13:{jt(c[_>>2]|0,2,(c[da>>2]|0)+4|0);break}case 14:{kt(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 15:{lt(c[_>>2]|0);break}case 215:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 17:{c[(c[da>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{c[(c[da>>2]|0)+4>>2]=1;break}case 20:{mt(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,c[(c[da>>2]|0)+4>>2]&255,0);break}case 21:{mt(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+4>>2]|0);Jk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 23:{if((c[(c[da>>2]|0)+4+4>>2]|0)==5?(ld(c[(c[da>>2]|0)+4>>2]|0,26001,5)|0)==0:0){c[(c[da>>2]|0)+-16+4>>2]=96;break a}c[(c[da>>2]|0)+-16+4>>2]=0;_=c[_>>2]|0;Z=c[(c[da>>2]|0)+4>>2]|0;c[T>>2]=c[(c[da>>2]|0)+4+4>>2];c[T+4>>2]=Z;sl(_,26007,T);break}case 24:{nt(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 96:case 60:case 25:{c[(c[da>>2]|0)+16+4+4>>2]=0;c[(c[da>>2]|0)+16+4>>2]=0;break}case 26:{c[(c[da>>2]|0)+-48+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0);break}case 27:{c[(c[da>>2]|0)+-80+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-80+4>>2]|0);break}case 28:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[da>>2]|0)+4+4>>2]|0)+((c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{_=(c[_>>2]|0)+84|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 32:case 30:{ot(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 31:{ot(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 33:{c[i>>2]=pt(c[_>>2]|0,155,c[(c[da>>2]|0)+4>>2]|0,0,0)|0;c[i+4>>2]=c[(c[da>>2]|0)+-16+4>>2];c[i+8>>2]=c[(c[da>>2]|0)+4+8>>2];ot(c[_>>2]|0,i);break}case 34:{Z=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];qt(j,Z,97,h);ot(c[_>>2]|0,j);break}case 35:{rt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 36:{st(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 37:{tt(c[_>>2]|0,0,0,0,0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 38:{ut(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 39:{vt(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 40:{wt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 41:{xt(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 44:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 45:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+-16+4>>2]&~c[(c[da>>2]|0)+4+4>>2]|c[(c[da>>2]|0)+4>>2];break}case 46:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 47:{c[(c[da>>2]|0)+-32+4>>2]=0;c[(c[da>>2]|0)+-32+4+4>>2]=0;break}case 48:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-32+4+4>>2]=255;break}case 49:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2]<<8;c[(c[da>>2]|0)+-32+4+4>>2]=65280;break}case 50:{c[(c[da>>2]|0)+-16+4>>2]=7;break}case 51:{c[(c[da>>2]|0)+-16+4>>2]=8;break}case 52:{c[(c[da>>2]|0)+4>>2]=9;break}case 53:{c[(c[da>>2]|0)+4>>2]=6;break}case 54:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 55:{c[(c[da>>2]|0)+-32+4>>2]=0;break}case 144:case 71:case 56:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 216:case 190:case 187:case 75:case 58:{c[(c[da>>2]|0)+-16+4>>2]=1;break}case 59:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 61:{c[(c[_>>2]|0)+84+4>>2]=0;break}case 63:{st(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,0);break}case 64:{tt(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 65:{ut(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 66:{vt(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);wt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 70:case 68:{c[(c[da>>2]|0)+16+4>>2]=10;break}case 69:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 72:{c[(c[da>>2]|0)+4>>2]=4;break}case 145:case 73:{c[(c[da>>2]|0)+4>>2]=5;break}case 74:{yt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 77:{zt(c[_>>2]|0,(c[da>>2]|0)+-128+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 78:{yt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,1,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 79:{c[k>>2]=c[1057];c[k+4>>2]=c[1058];c[k+8>>2]=c[1059];c[k+12>>2]=c[1060];c[k+16>>2]=c[1061];c[k+20>>2]=c[1062];At(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,k)|0;Jk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 80:{c[m>>2]=c[(c[da>>2]|0)+4>>2];if(c[m>>2]|0){c[(c[m>>2]|0)+64>>2]=c[(c[da>>2]|0)+-16+4>>2];Bt(c[_>>2]|0,c[m>>2]|0)}else Sk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);c[(c[da>>2]|0)+-16+4>>2]=c[m>>2];break}case 81:{c[n>>2]=c[(c[da>>2]|0)+4>>2];c[o>>2]=c[(c[da>>2]|0)+-32+4>>2];if(c[n>>2]|0?c[(c[n>>2]|0)+48>>2]|0:0){c[q+4>>2]=0;Bt(c[_>>2]|0,c[n>>2]|0);c[p>>2]=Ct(c[_>>2]|0,0,0,0,q,c[n>>2]|0,0,0)|0;c[n>>2]=Dt(c[_>>2]|0,0,c[p>>2]|0,0,0,0,0,0,0,0)|0}if(c[n>>2]|0){a[(c[n>>2]|0)+4>>0]=c[(c[da>>2]|0)+-16+4>>2];c[(c[n>>2]|0)+48>>2]=c[o>>2];if(c[o>>2]|0){Z=(c[o>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025}Z=(c[n>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025;if((c[(c[da>>2]|0)+-16+4>>2]|0)!=116)a[(c[_>>2]|0)+22>>0]=1}else Jk(c[c[_>>2]>>2]|0,c[o>>2]|0);c[(c[da>>2]|0)+-32+4>>2]=c[n>>2];break}case 84:case 82:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 83:{c[(c[da>>2]|0)+-16+4>>2]=116;break}case 85:{_=Dt(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+4+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=_;break}case 86:{_=Dt(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 87:{c[s>>2]=c[(c[da>>2]|0)+-64+4>>2];c[r>>2]=Dt(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;if(c[s>>2]|0){_=(c[s>>2]|0)+8|0;c[_>>2]=c[_>>2]&-1025}if(c[r>>2]|0){a[(c[r>>2]|0)+4>>0]=116;c[(c[r>>2]|0)+48>>2]=c[s>>2];h=c[r>>2]|0;f=c[da>>2]|0}else{h=c[s>>2]|0;f=c[da>>2]|0}c[f+-64+4>>2]=h;break}case 88:{c[(c[da>>2]|0)+4>>2]=1;break}case 89:{c[(c[da>>2]|0)+4>>2]=2;break}case 211:case 206:case 203:case 126:case 119:case 91:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 92:{Z=Et(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;if((c[(c[da>>2]|0)+4+4>>2]|0)>>>0>0)Ft(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1);Gt(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 93:{c[t>>2]=Ht(c[c[_>>2]>>2]|0,160,0)|0;_=Et(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[t>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 94:{c[u>>2]=pt(c[_>>2]|0,160,0,0,0)|0;c[v>>2]=pt(c[_>>2]|0,55,0,0,(c[da>>2]|0)+-32+4|0)|0;c[w>>2]=pt(c[_>>2]|0,122,c[v>>2]|0,c[u>>2]|0,0)|0;_=Et(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[w>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 226:case 225:case 106:case 95:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 97:{_=_l(c[c[_>>2]>>2]|0,80,0)|0;c[(c[da>>2]|0)+16+4>>2]=_;break}case 98:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];It(c[(c[da>>2]|0)+-16+4>>2]|0);break}case 99:{if(c[(c[da>>2]|0)+-16+4>>2]|0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>0:0)a[(c[(c[da>>2]|0)+-16+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[da>>2]|0)+4>>2];break}case 100:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 101:{Z=Ct(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;Jt(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-32+4|0);break}case 102:{Z=Ct(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=Z;Kt(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 103:{_=Ct(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 104:{if((((c[(c[da>>2]|0)+-96+4>>2]|0)==0?(c[(c[da>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+4>>2]|0)==0:0){c[(c[da>>2]|0)+-96+4>>2]=c[(c[da>>2]|0)+-64+4>>2];break a}if((c[c[(c[da>>2]|0)+-64+4>>2]>>2]|0)!=1){It(c[(c[da>>2]|0)+-64+4>>2]|0);c[z>>2]=Dt(c[_>>2]|0,0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;_=Ct(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[z>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break a}Z=Ct(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;if(c[(c[da>>2]|0)+-96+4>>2]|0){c[x>>2]=(c[(c[da>>2]|0)+-96+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);c[y>>2]=(c[(c[da>>2]|0)+-64+4>>2]|0)+8;c[(c[x>>2]|0)+8>>2]=c[(c[y>>2]|0)+8>>2];c[(c[x>>2]|0)+4>>2]=c[(c[y>>2]|0)+4>>2];c[(c[x>>2]|0)+20>>2]=c[(c[y>>2]|0)+20>>2];c[(c[y>>2]|0)+4>>2]=0;c[(c[y>>2]|0)+8>>2]=0;c[(c[y>>2]|0)+20>>2]=0}Rk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 107:{_=Lt(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 108:{c[(c[da>>2]|0)+4>>2]=1;break}case 109:{_=Mt(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,0,0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 110:{_=Mt(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 111:{_=Mt(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 199:case 136:case 129:case 112:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 202:case 200:case 135:case 128:case 113:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 115:{_=(c[da>>2]|0)+-32+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 116:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=1;break}case 117:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 146:case 118:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 127:case 120:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 121:{_=Et(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;Nt(c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 122:{_=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;Nt(c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 123:{c[(c[da>>2]|0)+4>>2]=0;break}case 124:{c[(c[da>>2]|0)+4>>2]=1;break}case 125:{c[(c[da>>2]|0)+16+4>>2]=-1;break}case 130:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 131:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 132:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 133:{c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 134:{Ot(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);Jt(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);Pt(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 137:{Ot(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,1);Jt(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-48+4|0);Qt(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,26034);Rt(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 138:{Z=Et(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;Ft(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,1);break}case 139:{_=St(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 140:{c[S>>2]=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;Ft(c[_>>2]|0,c[S>>2]|0,(c[da>>2]|0)+-32+4|0,1);c[(c[da>>2]|0)+-32+4>>2]=c[S>>2];break}case 141:{_=St(c[_>>2]|0,0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 142:{Ot(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);Tt(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 143:{Ot(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,1);Tt(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 147:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 148:{_=Ut(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 149:{_=Ut(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 150:{Vt((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 157:case 156:case 151:{Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;_=d[(c[da>>2]|0)+2>>0]|0;X=(c[da>>2]|0)+4|0;c[h>>2]=c[X>>2];c[h+4>>2]=c[X+4>>2];qt(Y,Z,_,h);break}case 153:case 152:{Z=(c[da>>2]|0)+4|0;_=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];qt(Z,_,55,h);break}case 154:{c[A>>2]=Wt(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[B>>2]=Wt(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;Vt((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);_=pt(c[_>>2]|0,122,c[A>>2]|0,c[B>>2]|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 155:{c[C>>2]=Wt(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-64+4|0,1)|0;c[D>>2]=Wt(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[E>>2]=Wt(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;c[F>>2]=pt(c[_>>2]|0,122,c[D>>2]|0,c[E>>2]|0,0)|0;Vt((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);_=pt(c[_>>2]|0,122,c[C>>2]|0,c[F>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 158:{c[S>>2]=Wt(c[c[_>>2]>>2]|0,134,(c[da>>2]|0)+4|0,1)|0;c[S+4>>2]=c[(c[da>>2]|0)+4>>2];c[S+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);if(c[S>>2]|0){_=(c[S>>2]|0)+4|0;c[_>>2]=c[_>>2]|8388608}_=(c[da>>2]|0)+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 159:{if((a[c[(c[da>>2]|0)+4>>2]>>0]|0)==35?d[20063+(d[(c[(c[da>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0:0){h=(c[da>>2]|0)+4|0;c[Y>>2]=c[h>>2];c[Y+4>>2]=c[h+4>>2];Vt((c[da>>2]|0)+4|0,Y,Y);h=c[_>>2]|0;if(!(d[(c[_>>2]|0)+18>>0]|0)){c[Z>>2]=Y;sl(h,25313,Z);c[(c[da>>2]|0)+4>>2]=0;break a}_=pt(h,157,0,0,0)|0;c[(c[da>>2]|0)+4>>2]=_;if(!(c[(c[da>>2]|0)+4>>2]|0))break a;gg((c[Y>>2]|0)+1|0,(c[(c[da>>2]|0)+4>>2]|0)+28|0)|0;break a}c[G>>2]=c[(c[da>>2]|0)+4+4>>2];Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;X=(c[da>>2]|0)+4|0;c[h>>2]=c[X>>2];c[h+4>>2]=c[X+4>>2];qt(Y,Z,135,h);Xt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[G>>2]|0);break}case 160:{_=Yt(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1)|0;c[(c[da>>2]|0)+-32+4>>2]=_;c[(c[da>>2]|0)+-32+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 161:{Vt((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=pt(c[_>>2]|0,66,c[(c[da>>2]|0)+-48+4>>2]|0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 162:{if(c[(c[da>>2]|0)+-16+4>>2]|0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[_>>2]>>2]|0)+96+24>>2]|0):0){Z=c[_>>2]|0;c[U>>2]=(c[da>>2]|0)+-64+4;sl(Z,26043,U)}c[S>>2]=Zt(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,(c[da>>2]|0)+-64+4|0)|0;Vt(S,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);if((c[(c[da>>2]|0)+-32+4>>2]|0)==1?c[S>>2]|0:0){_=(c[S>>2]|0)+4|0;c[_>>2]=c[_>>2]|16}_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 163:{c[S>>2]=Zt(c[_>>2]|0,0,(c[da>>2]|0)+-48+4|0)|0;Vt(S,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+-48+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 164:{c[S>>2]=Zt(c[_>>2]|0,0,(c[da>>2]|0)+4|0)|0;Vt(S,(c[da>>2]|0)+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 165:{c[H>>2]=Et(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[S>>2]=pt(c[_>>2]|0,158,0,0,0)|0;if(c[S>>2]|0){c[(c[S>>2]|0)+20>>2]=c[H>>2];Vt(S,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0)}else Kk(c[c[_>>2]>>2]|0,c[H>>2]|0);_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 173:case 172:case 171:case 170:case 169:case 168:case 167:case 166:{_t(c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 174:{_=(c[da>>2]|0)+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 175:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];_=(c[da>>2]|0)+-16+4+4|0;c[_>>2]=c[_>>2]|-2147483648;break}case 176:{c[J>>2]=c[(c[da>>2]|0)+-16+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-16+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[I>>2]=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[I>>2]=Et(c[_>>2]|0,c[I>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;Z=Zt(c[_>>2]|0,c[I>>2]|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;$t(c[_>>2]|0,c[J>>2]|0,(c[da>>2]|0)+-32+4|0);c[(c[da>>2]|0)+-32+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-32+4>>2]|0){_=(c[(c[da>>2]|0)+-32+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 177:{c[L>>2]=c[(c[da>>2]|0)+-48+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-48+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[K>>2]=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[K>>2]=Et(c[_>>2]|0,c[K>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)|0;c[K>>2]=Et(c[_>>2]|0,c[K>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=Zt(c[_>>2]|0,c[K>>2]|0,(c[da>>2]|0)+-48+4|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;$t(c[_>>2]|0,c[L>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-64+4>>2]|0){_=(c[(c[da>>2]|0)+-64+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 178:{au(c[_>>2]|0,d[(c[da>>2]|0)+2>>0]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 179:{au(c[_>>2]|0,35,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 180:{_t(c[_>>2]|0,29,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);bu(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,34);break}case 181:{_t(c[_>>2]|0,148,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);bu(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,35);break}case 183:case 182:{cu((c[da>>2]|0)+-16+4|0,c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 184:{cu((c[da>>2]|0)+-16+4|0,c[_>>2]|0,155,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 185:{cu((c[da>>2]|0)+-16+4|0,c[_>>2]|0,156,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 189:case 186:{c[(c[da>>2]|0)+4>>2]=0;break}case 188:{c[M>>2]=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[M>>2]=Et(c[_>>2]|0,c[M>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=pt(c[_>>2]|0,32,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0)c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[M>>2];else Kk(c[c[_>>2]>>2]|0,c[M>>2]|0);$t(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];break}case 191:{do if(!(c[(c[da>>2]|0)+-16+4>>2]|0)){Ok(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);_=pt(c[_>>2]|0,134,0,0,4252+(c[(c[da>>2]|0)+-48+4>>2]<<3)|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_}else{if((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)==1){c[N>>2]=c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;Kk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);if(c[N>>2]|0){Z=(c[N>>2]|0)+4|0;c[Z>>2]=c[Z>>2]&-257;Z=(c[N>>2]|0)+4|0;c[Z>>2]=c[Z>>2]|512}_=pt(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0?36:37,c[(c[da>>2]|0)+-64+4>>2]|0,c[N>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}Z=pt(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0){c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[da>>2]|0)+-16+4>>2];du(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)}else Kk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);$t(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0)}while(0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 192:{Vt((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);Z=pt(c[_>>2]|0,119,0,0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;eu(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 193:{Z=pt(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;eu(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);$t(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 194:{c[O>>2]=Lt(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[P>>2]=Dt(c[_>>2]|0,0,c[O>>2]|0,0,0,0,0,0,0,0)|0;if(c[(c[da>>2]|0)+4>>2]|0)Kt(c[_>>2]|0,c[P>>2]|0?c[O>>2]|0:0,c[(c[da>>2]|0)+4>>2]|0);h=pt(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=h;eu(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[P>>2]|0);$t(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);h=c[da>>2]|0;if(c[(c[da>>2]|0)+-16+4>>2]|0){f=(c[da>>2]|0)+-16|0;h=c[h+-16+4>>2]|0}else{f=(c[da>>2]|0)+-32|0;h=c[h+-32+4>>2]|0}c[(c[da>>2]|0)+-64+4+8>>2]=h+(c[f+4+4>>2]|0);break}case 195:{Vt((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);Z=pt(c[_>>2]|0,20,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;c[Q>>2]=Z;eu(c[_>>2]|0,c[Q>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 196:{Vt((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);Z=pt(c[_>>2]|0,136,c[(c[da>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(!(c[(c[da>>2]|0)+-64+4>>2]|0)){Kk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);Ok(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break a}if(c[(c[da>>2]|0)+-16+4>>2]|0)h=Et(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[da>>2]|0)+-32+4>>2]|0;c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=h;du(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 197:{Z=Et(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;_=Et(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 198:{Z=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;_=Et(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 201:{c[(c[da>>2]|0)+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 204:{_=Et(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 205:{_=Et(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 212:case 207:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 208:{tt(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,Lt(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-64+4|0,0)|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,(c[da>>2]|0)+-176+4|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-128+4>>2]|0,0);break}case 250:case 209:{c[(c[da>>2]|0)+4>>2]=2;break}case 210:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 213:{_=fu(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 214:{_=fu(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 217:{gu(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 218:{hu(c[_>>2]|0,0);break}case 219:{hu(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 220:{iu(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,0,0);break}case 221:{iu(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,0);break}case 222:{iu(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,0);break}case 223:{iu(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,1);break}case 224:{iu(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,1);break}case 227:{c[R>>2]=c[(c[da>>2]|0)+-48+4>>2];c[R+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);ju(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,R);break}case 228:{ku(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-64+4+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0);h=(c[da>>2]|0)+-160+4|0;f=c[da>>2]|0;if(!(c[(c[da>>2]|0)+-96+4+4>>2]|0)){_=f+-112+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}else{_=f+-96+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}}case 229:{c[(c[da>>2]|0)+4>>2]=63;break}case 230:{c[(c[da>>2]|0)+4>>2]=59;break}case 231:{c[(c[da>>2]|0)+-16+4>>2]=77;break}case 232:{c[(c[da>>2]|0)+16+4>>2]=63;break}case 234:case 233:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];c[(c[da>>2]|0)+4+4>>2]=0;break}case 235:{c[(c[da>>2]|0)+-32+4>>2]=110;c[(c[da>>2]|0)+-32+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 255:case 236:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 256:case 237:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 238:{c[(c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[da>>2]|0)+-16+4>>2];c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 239:{c[(c[(c[da>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 240:{Z=(c[da>>2]|0)+-32+4|0;Y=(c[da>>2]|0)+4|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];sl(c[_>>2]|0,26077,V);break}case 241:{sl(c[_>>2]|0,26172,W);break}case 242:{sl(c[_>>2]|0,26256,X);break}case 243:{_=lu(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-64+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]&255)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 244:{_=mu(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]&255)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 245:{_=nu(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 246:{_=ou(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 247:{Vt((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=pt(c[_>>2]|0,83,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;if(c[(c[da>>2]|0)+-48+4>>2]|0)a[(c[(c[da>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 248:{Vt((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=pt(c[_>>2]|0,83,0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;if(c[(c[da>>2]|0)+-80+4>>2]|0)a[(c[(c[da>>2]|0)+-80+4>>2]|0)+1>>0]=c[(c[da>>2]|0)+-48+4>>2];break}case 249:{c[(c[da>>2]|0)+4>>2]=1;break}case 251:{c[(c[da>>2]|0)+4>>2]=3;break}case 252:{pu(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 253:{qu(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 254:{ru(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 257:{su(c[_>>2]|0,0,0);break}case 258:{su(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 259:{tu(c[_>>2]|0,0,0);break}case 260:{tu(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 261:{uu(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+4|0);break}case 262:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[_>>2]|0)+392>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0)+(c[(c[_>>2]|0)+392+4>>2]|0);vu(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 263:{lt(c[_>>2]|0);wu(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 264:{xu(c[_>>2]|0,0);break}case 265:{xu(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 266:{yu(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 267:{zu(c[_>>2]|0);break}case 270:case 269:case 268:{Au(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 271:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 272:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 273:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 274:{_=Bu(c[_>>2]|0,0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 275:{_=Bu(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-112+4>>2]=_;break}default:{}}while(0);c[ba>>2]=d[25337+(c[aa>>2]<<1)>>0];c[ea>>2]=d[25337+(c[aa>>2]<<1)+1>>0];c[ca>>2]=Cu(e[(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4)>>1]|0,c[ba>>2]&255)|0;if((c[ca>>2]|0)>999){da=c[$>>2]|0;c[da>>2]=(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4);Du(c[$>>2]|0);l=fa;return}if((c[ca>>2]|0)>455)c[ca>>2]=(c[ca>>2]|0)+332;c[da>>2]=(c[da>>2]|0)+(0-((c[ea>>2]|0)-1)<<4);c[c[$>>2]>>2]=c[da>>2];b[c[da>>2]>>1]=c[ca>>2];a[(c[da>>2]|0)+2>>0]=c[ba>>2];l=fa;return}function dt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];b=c[g>>2]|0;c[h>>2]=d;sl(b,25313,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];l=e;return}function et(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-16;while(1){if((c[c[b>>2]>>2]|0)>>>0<=((c[b>>2]|0)+8|0)>>>0)break;_s(c[b>>2]|0)}sl(c[d>>2]|0,37034,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];l=f;return}function ft(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){l=n;return}if((d[(c[f>>2]|0)+69>>0]|0)==0?(c[(c[e>>2]|0)+36>>2]|0)==0:0){c[g>>2]=Lu(c[e>>2]|0)|0;do if(c[g>>2]|0?(Nu(c[g>>2]|0,75)|0,(d[(c[f>>2]|0)+69>>0]|0)==0):0){if((c[(c[e>>2]|0)+96>>2]|0)==0?(c[(c[e>>2]|0)+80>>2]|0)==0:0)break;ny(c[g>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0?(Yu(c[g>>2]|0,c[h>>2]|0),c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2],zy(c[g>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+92>>2]&1<>2]|0)!=0&1,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+148+5>>0]|0)==0):0)jy(c[g>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[e>>2]|0)+412>>2]|0))break;c[k>>2]=fw(c[f>>2]|0,c[(c[(c[e>>2]|0)+460>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;Uu(c[g>>2]|0,152,0,0,0,c[k>>2]|0,-10)|0;c[i>>2]=(c[i>>2]|0)+1}c[(c[e>>2]|0)+412>>2]=0;HF(c[e>>2]|0);IF(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+80>>2]|0){c[m>>2]=c[(c[e>>2]|0)+80>>2];a[(c[e>>2]|0)+23>>0]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[m>>2]>>2]|0))break a;Wy(c[e>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)+16>>2]|0);c[i>>2]=(c[i>>2]|0)+1}}while(0);my(c[g>>2]|0,1)|0}while(0);if((c[g>>2]|0?(c[(c[e>>2]|0)+36>>2]|0)==0:0)?(a[(c[f>>2]|0)+69>>0]|0)==0:0){if(c[(c[e>>2]|0)+120>>2]|0?(c[(c[e>>2]|0)+40>>2]|0)==0:0)c[(c[e>>2]|0)+40>>2]=1;JF(c[g>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;l=n;return}c[(c[e>>2]|0)+12>>2]=1;l=n;return}if(c[(c[e>>2]|0)+12>>2]|0){l=n;return}c[(c[e>>2]|0)+12>>2]=1;l=n;return}function gt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(Iu(c[d>>2]|0,22,36964,0,0)|0){l=i;return}c[g>>2]=Lu(c[d>>2]|0)|0;if(!(c[g>>2]|0)){l=i;return}a:do if((c[e>>2]|0)!=7){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;Qu(c[g>>2]|0,2,c[h>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;Yu(c[g>>2]|0,c[h>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);Nu(c[g>>2]|0,1)|0;l=i;return}function ht(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Iu(c[b>>2]|0,22,36987,0,0)|0){l=e;return}c[d>>2]=Lu(c[b>>2]|0)|0;if(!(c[d>>2]|0)){l=e;return}ey(c[d>>2]|0,1,1)|0;l=e;return}function it(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Iu(c[b>>2]|0,22,36978,0,0)|0){l=e;return}c[d>>2]=Lu(c[b>>2]|0)|0;if(!(c[d>>2]|0)){l=e;return}Qu(c[d>>2]|0,1,1,1)|0;l=e;return}function jt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=Eu(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[g>>2]|0)){l=i;return}c[h>>2]=Lu(c[e>>2]|0)|0;if(c[h>>2]|0?(Iu(c[e>>2]|0,32,c[5580+(c[f>>2]<<2)>>2]|0,c[g>>2]|0,0)|0)==0:0){Uu(c[h>>2]|0,0,c[f>>2]|0,0,0,c[g>>2]|0,-1)|0;l=i;return}Xd(c[c[e>>2]>>2]|0,c[g>>2]|0);l=i;return}function kt(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+112|0;v=J+16|0;H=J+8|0;u=J;G=J+96|0;s=J+92|0;t=J+88|0;m=J+84|0;w=J+80|0;x=J+76|0;y=J+72|0;n=J+68|0;z=J+64|0;A=J+60|0;B=J+56|0;I=J+52|0;C=J+48|0;o=J+44|0;p=J+40|0;q=J+36|0;r=J+32|0;D=J+28|0;E=J+24|0;F=J+20|0;c[G>>2]=e;c[s>>2]=f;c[t>>2]=g;c[m>>2]=h;c[w>>2]=i;c[x>>2]=j;c[y>>2]=k;c[z>>2]=0;c[A>>2]=c[c[G>>2]>>2];if(d[(c[A>>2]|0)+148+5>>0]|0?(c[(c[A>>2]|0)+148>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+148+4>>0];c[z>>2]=Xo(c[A>>2]|0,(c[I>>2]|0)==1?26433:26452)|0;c[C>>2]=c[s>>2]}else{c[I>>2]=ay(c[G>>2]|0,c[s>>2]|0,c[t>>2]|0,C)|0;if((c[I>>2]|0)<0){l=J;return}if(c[m>>2]|0?((c[I>>2]|0)!=1?(c[(c[t>>2]|0)+4>>2]|0)>>>0>0:0):0){sl(c[G>>2]|0,36854,u);l=J;return}if(c[m>>2]|0)c[I>>2]=1;c[z>>2]=Eu(c[A>>2]|0,c[C>>2]|0)|0}u=(c[G>>2]|0)+384|0;t=c[C>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];if(!(c[z>>2]|0)){l=J;return}a:do if(!(dw(c[G>>2]|0,c[z>>2]|0)|0)){if((d[(c[A>>2]|0)+148+4>>0]|0)==1)c[m>>2]=1;c[o>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(Iu(c[G>>2]|0,18,(c[m>>2]|0)==1?26433:26452,0,c[o>>2]|0)|0)){if((c[x>>2]|0)==0?Iu(c[G>>2]|0,d[36895+((c[m>>2]|0)+(c[w>>2]<<1))>>0]|0,c[z>>2]|0,0,c[o>>2]|0)|0:0)break;do if(!(a[(c[G>>2]|0)+410>>0]|0)){c[p>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(fv(c[G>>2]|0)|0)break a;c[n>>2]=gv(c[A>>2]|0,c[z>>2]|0,c[p>>2]|0)|0;if(!(c[n>>2]|0)){if(!(vv(c[A>>2]|0,c[z>>2]|0,c[p>>2]|0)|0))break;I=c[G>>2]|0;c[v>>2]=c[z>>2];sl(I,36923,v);break a}e=c[G>>2]|0;if(c[y>>2]|0){dv(e,c[I>>2]|0);break a}else{c[H>>2]=c[C>>2];sl(e,36899,H);break a}}while(0);c[n>>2]=_l(c[A>>2]|0,72,0)|0;if(!(c[n>>2]|0)){c[(c[G>>2]|0)+12>>2]=7;I=(c[G>>2]|0)+36|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[n>>2]>>2]=c[z>>2];b[(c[n>>2]|0)+32>>1]=-1;c[(c[n>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[n>>2]|0)+36>>1]=1;b[(c[n>>2]|0)+38>>1]=200;c[(c[G>>2]|0)+440>>2]=c[n>>2];if((a[(c[G>>2]|0)+18>>0]|0)==0?(G_(c[z>>2]|0,28225)|0)==0:0)c[(c[(c[n>>2]|0)+64>>2]|0)+72>>2]=c[n>>2];if(a[(c[A>>2]|0)+148+5>>0]|0){l=J;return}H=Lu(c[G>>2]|0)|0;c[B>>2]=H;if(!H){l=J;return}cv(c[G>>2]|0,1,c[I>>2]|0);if(c[x>>2]|0)Nu(c[B>>2]|0,152)|0;H=(c[G>>2]|0)+44|0;e=(c[H>>2]|0)+1|0;c[H>>2]=e;c[(c[G>>2]|0)+100>>2]=e;c[D>>2]=e;e=(c[G>>2]|0)+44|0;H=(c[e>>2]|0)+1|0;c[e>>2]=H;c[(c[G>>2]|0)+104>>2]=H;c[E>>2]=H;H=(c[G>>2]|0)+44|0;e=(c[H>>2]|0)+1|0;c[H>>2]=e;c[F>>2]=e;Ru(c[B>>2]|0,101,c[I>>2]|0,c[F>>2]|0,2)|0;Yu(c[B>>2]|0,c[I>>2]|0);c[q>>2]=ey(c[B>>2]|0,21,c[F>>2]|0)|0;c[r>>2]=c[(c[A>>2]|0)+24>>2]&32768|0?1:4;Ru(c[B>>2]|0,102,c[I>>2]|0,2,c[r>>2]|0)|0;Ru(c[B>>2]|0,102,c[I>>2]|0,5,d[(c[A>>2]|0)+66>>0]|0)|0;ny(c[B>>2]|0,c[q>>2]|0);e=c[B>>2]|0;if((c[w>>2]|0)!=0|(c[x>>2]|0)!=0)Qu(e,76,0,c[E>>2]|0)|0;else{H=Qu(e,135,c[I>>2]|0,c[E>>2]|0)|0;c[(c[G>>2]|0)+132>>2]=H}GF(c[G>>2]|0,c[I>>2]|0);Qu(c[B>>2]|0,114,0,c[D>>2]|0)|0;Uu(c[B>>2]|0,81,6,c[F>>2]|0,0,36958,-2)|0;Ru(c[B>>2]|0,115,0,c[F>>2]|0,c[D>>2]|0)|0;jy(c[B>>2]|0,8);Nu(c[B>>2]|0,111)|0;l=J;return}}while(0);Xd(c[A>>2]|0,c[z>>2]|0);l=J;return}function lt(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;l=d;return}function mt(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=l;l=l+208|0;O=R+72|0;M=R+64|0;Q=R+32|0;P=R+16|0;N=R+8|0;L=R;G=R+200|0;H=R+196|0;I=R+192|0;J=R+204|0;K=R+188|0;j=R+184|0;k=R+180|0;m=R+176|0;n=R+172|0;o=R+168|0;p=R+164|0;q=R+160|0;r=R+156|0;s=R+152|0;t=R+128|0;u=R+120|0;v=R+116|0;w=R+112|0;x=R+108|0;y=R+104|0;z=R+100|0;A=R+96|0;B=R+92|0;C=R+88|0;D=R+84|0;E=R+80|0;F=R+76|0;c[G>>2]=e;c[H>>2]=f;c[I>>2]=g;a[J>>0]=h;c[K>>2]=i;c[k>>2]=c[c[G>>2]>>2];if((c[I>>2]|0)==0&(c[K>>2]|0)==0){l=R;return}c[j>>2]=c[(c[G>>2]|0)+440>>2];if(!(c[j>>2]|0)){l=R;return}if(a[(c[k>>2]|0)+148+5>>0]|0?(c[(c[j>>2]|0)+28>>2]=c[(c[k>>2]|0)+148>>2],(c[(c[j>>2]|0)+28>>2]|0)==1):0){i=(c[j>>2]|0)+42|0;a[i>>0]=d[i>>0]|1}do if(d[J>>0]&32|0){if(d[(c[j>>2]|0)+42>>0]&8|0){sl(c[G>>2]|0,36535,L);l=R;return}if(!(d[(c[j>>2]|0)+42>>0]&4)){L=c[G>>2]|0;c[N>>2]=c[c[j>>2]>>2];sl(L,36585,N);break}else{N=(c[j>>2]|0)+42|0;a[N>>0]=d[N>>0]|96;zF(c[G>>2]|0,c[j>>2]|0);break}}while(0);c[m>>2]=Hu(c[k>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;if(c[(c[j>>2]|0)+24>>2]|0)uF(c[G>>2]|0,c[j>>2]|0,4,0,c[(c[j>>2]|0)+24>>2]|0);AF(c[j>>2]|0);c[n>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[n>>2]|0))break;xF(c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+20>>2]}if(!(a[(c[k>>2]|0)+148+5>>0]|0)){c[p>>2]=Lu(c[G>>2]|0)|0;if(!(c[p>>2]|0)){l=R;return}ey(c[p>>2]|0,111,0)|0;if(!(c[(c[j>>2]|0)+12>>2]|0)){c[q>>2]=32446;c[r>>2]=36617}else{c[q>>2]=35495;c[r>>2]=36623}do if(c[K>>2]|0){L=(c[G>>2]|0)+44|0;N=(c[L>>2]|0)+1|0;c[L>>2]=N;c[u>>2]=N;N=(c[G>>2]|0)+44|0;L=(c[N>>2]|0)+1|0;c[N>>2]=L;c[w>>2]=L;L=(c[G>>2]|0)+44|0;N=(c[L>>2]|0)+1|0;c[L>>2]=N;c[x>>2]=N;gw(c[G>>2]|0);Ru(c[p>>2]|0,105,1,c[(c[G>>2]|0)+104>>2]|0,c[m>>2]|0)|0;jy(c[p>>2]|0,16);c[(c[G>>2]|0)+40>>2]=2;c[v>>2]=(Pv(c[p>>2]|0)|0)+1;Ru(c[p>>2]|0,15,c[u>>2]|0,0,c[v>>2]|0)|0;Az(t,13,c[u>>2]|0);At(c[G>>2]|0,c[K>>2]|0,t)|0;lB(c[p>>2]|0,c[u>>2]|0);ny(c[p>>2]|0,(c[v>>2]|0)-1|0);if(c[(c[G>>2]|0)+36>>2]|0){l=R;return}c[z>>2]=mw(c[G>>2]|0,c[K>>2]|0)|0;if(!(c[z>>2]|0)){l=R;return}else{b[(c[j>>2]|0)+34>>1]=b[(c[z>>2]|0)+34>>1]|0;c[(c[j>>2]|0)+4>>2]=c[(c[z>>2]|0)+4>>2];b[(c[z>>2]|0)+34>>1]=0;c[(c[z>>2]|0)+4>>2]=0;tk(c[k>>2]|0,c[z>>2]|0);c[y>>2]=ey(c[p>>2]|0,16,c[t+8>>2]|0)|0;Ru(c[p>>2]|0,99,c[t+12>>2]|0,c[t+16>>2]|0,c[w>>2]|0)|0;oB(c[p>>2]|0,c[j>>2]|0,0);Qu(c[p>>2]|0,114,1,c[x>>2]|0)|0;Ru(c[p>>2]|0,115,1,c[w>>2]|0,c[x>>2]|0)|0;my(c[p>>2]|0,c[y>>2]|0)|0;ny(c[p>>2]|0,c[y>>2]|0);ey(c[p>>2]|0,111,1)|0;break}}while(0);if(c[K>>2]|0)c[s>>2]=BF(c[k>>2]|0,c[j>>2]|0)|0;else{c[A>>2]=d[J>>0]|0?(c[G>>2]|0)+392|0:c[I>>2]|0;c[o>>2]=(c[c[A>>2]>>2]|0)-(c[(c[G>>2]|0)+384>>2]|0);if((a[c[c[A>>2]>>2]>>0]|0)!=59)c[o>>2]=(c[o>>2]|0)+(c[(c[A>>2]|0)+4>>2]|0);N=c[k>>2]|0;K=c[o>>2]|0;L=c[(c[G>>2]|0)+384>>2]|0;c[P>>2]=c[r>>2];c[P+4>>2]=K;c[P+8>>2]=L;c[s>>2]=Wj(N,36628,P)|0}P=c[G>>2]|0;A=(c[m>>2]|0)==1?26433:26452;h=c[q>>2]|0;i=c[c[j>>2]>>2]|0;J=c[c[j>>2]>>2]|0;K=c[(c[G>>2]|0)+104>>2]|0;L=c[s>>2]|0;N=c[(c[G>>2]|0)+100>>2]|0;c[Q>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];c[Q+4>>2]=A;c[Q+8>>2]=h;c[Q+12>>2]=i;c[Q+16>>2]=J;c[Q+20>>2]=K;c[Q+24>>2]=L;c[Q+28>>2]=N;Ku(P,36643,Q);Xd(c[k>>2]|0,c[s>>2]|0);Mu(c[G>>2]|0,c[m>>2]|0);if(d[(c[j>>2]|0)+42>>0]&8|0?(c[B>>2]=(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4),(c[(c[(c[B>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[G>>2]|0;c[M>>2]=c[c[B>>2]>>2];Ku(Q,36730,M)}N=c[p>>2]|0;P=c[m>>2]|0;Q=c[k>>2]|0;c[O>>2]=c[c[j>>2]>>2];Ou(N,P,Wj(Q,36772,O)|0)}if(!(a[(c[k>>2]|0)+148+5>>0]|0)){l=R;return}c[D>>2]=c[(c[j>>2]|0)+64>>2];c[C>>2]=Fk((c[D>>2]|0)+8|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(c[C>>2]|0){Od(c[k>>2]|0);l=R;return}c[(c[G>>2]|0)+440>>2]=0;Q=(c[k>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[j>>2]|0)+12>>2]|0){l=R;return}c[E>>2]=c[(c[G>>2]|0)+384>>2];if(!(c[c[H>>2]>>2]|0))c[H>>2]=c[I>>2];c[F>>2]=(c[c[H>>2]>>2]|0)-(c[E>>2]|0);Q=13+(Uh(c[E>>2]|0,c[F>>2]|0)|0)|0;c[(c[j>>2]|0)+44>>2]=Q;l=R;return}function nt(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;t=v+8|0;s=v;k=v+48|0;m=v+44|0;n=v+40|0;o=v+36|0;p=v+32|0;q=v+28|0;r=v+24|0;h=v+20|0;i=v+16|0;j=v+12|0;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[i>>2]=c[c[k>>2]>>2];g=c[(c[k>>2]|0)+440>>2]|0;c[o>>2]=g;if(!g){l=v;return}if(((b[(c[o>>2]|0)+34>>1]|0)+1|0)>(c[(c[i>>2]|0)+96+8>>2]|0)){u=c[k>>2]|0;c[s>>2]=c[c[o>>2]>>2];sl(u,36486,s);l=v;return}c[q>>2]=Cd(c[i>>2]|0,(c[(c[m>>2]|0)+4>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)+2|0,0)|0;if(!(c[q>>2]|0)){l=v;return}h0(c[q>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;a[(c[q>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)>>0]=0;Vj(c[q>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;if(!(kl(c[q>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<4)>>2]|0)|0)){u=8;break}c[p>>2]=(c[p>>2]|0)+1}if((u|0)==8){u=c[k>>2]|0;c[t>>2]=c[q>>2];sl(u,36509,t);Xd(c[i>>2]|0,c[q>>2]|0);l=v;return}do if(!(b[(c[o>>2]|0)+34>>1]&7)){c[j>>2]=de(c[i>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+34>>1]|0)+8<<4,0)|0;if(c[j>>2]|0){c[(c[o>>2]|0)+4>>2]=c[j>>2];break}Xd(c[i>>2]|0,c[q>>2]|0);l=v;return}while(0);c[h>>2]=(c[(c[o>>2]|0)+4>>2]|0)+(b[(c[o>>2]|0)+34>>1]<<4);u=c[h>>2]|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[c[h>>2]>>2]=c[q>>2];if(!(c[(c[n>>2]|0)+4>>2]|0)){a[(c[h>>2]|0)+13>>0]=65;a[(c[h>>2]|0)+14>>0]=1}else{u=c[q>>2]|0;c[r>>2]=u+(md(c[q>>2]|0)|0)+1;h0(c[r>>2]|0,c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0)|0;a[(c[r>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)>>0]=0;Vj(c[r>>2]|0);u=Wv(c[r>>2]|0,(c[h>>2]|0)+14|0)|0;a[(c[h>>2]|0)+13>>0]=u;u=(c[h>>2]|0)+15|0;a[u>>0]=d[u>>0]|4}u=(c[o>>2]|0)+34|0;b[u>>1]=(b[u>>1]|0)+1<<16>>16;c[(c[k>>2]|0)+84+4>>2]=0;l=v;return}function ot(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;h=n;f=n+72|0;i=n+68|0;g=n+64|0;j=n+60|0;k=n+56|0;m=n+8|0;c[f>>2]=d;c[i>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+440>>2];if(!(c[g>>2]|0)){k=c[k>>2]|0;m=c[i>>2]|0;m=c[m>>2]|0;Ok(k,m);l=n;return}c[j>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4);if(yF(c[c[i>>2]>>2]|0,a[(c[k>>2]|0)+148+5>>0]|0)|0){Ok(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0);d=m;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a[m>>0]=-95;h=(c[(c[i>>2]|0)+8>>2]|0)-(c[(c[i>>2]|0)+4>>2]|0)|0;c[m+8>>2]=Uj(c[k>>2]|0,c[(c[i>>2]|0)+4>>2]|0,h,((h|0)<0)<<31>>31)|0;c[m+12>>2]=c[c[i>>2]>>2];c[m+4>>2]=4096;h=Ww(c[k>>2]|0,m,1)|0;c[(c[j>>2]|0)+4>>2]=h;Xd(c[k>>2]|0,c[m+8>>2]|0);k=c[k>>2]|0;m=c[i>>2]|0;m=c[m>>2]|0;Ok(k,m);l=n;return}else{m=c[f>>2]|0;c[h>>2]=c[c[j>>2]>>2];sl(m,36441,h);k=c[k>>2]|0;m=c[i>>2]|0;m=c[m>>2]|0;Ok(k,m);l=n;return}}function pt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;if((c[i>>2]|0)==28?(c[(c[h>>2]|0)+36>>2]|0)==0:0)c[g>>2]=Mx(c[c[h>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[g>>2]=Wt(c[c[h>>2]>>2]|0,c[i>>2]&255,c[m>>2]|0,1)|0;Ox(c[c[h>>2]>>2]|0,c[g>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[g>>2]|0)){m=c[g>>2]|0;l=n;return m|0}lx(c[h>>2]|0,c[(c[g>>2]|0)+24>>2]|0)|0;m=c[g>>2]|0;l=n;return m|0}function qt(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m+12|0;n=m+8|0;j=m+4|0;k=m;c[i>>2]=e;c[n>>2]=f;c[j>>2]=g;c[k>>2]=Ed(c[c[n>>2]>>2]|0,48+(c[h+4>>2]|0)+1|0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;k=c[i>>2]|0;c[k>>2]=n;k=c[h>>2]|0;n=c[i>>2]|0;n=n+4|0;c[n>>2]=k;n=c[h>>2]|0;k=h+4|0;k=c[k>>2]|0;k=n+k|0;n=c[i>>2]|0;n=n+8|0;c[n>>2]=k;l=m;return}e=c[k>>2]|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[c[k>>2]>>0]=c[j>>2];c[(c[k>>2]|0)+4>>2]=8388608;b[(c[k>>2]|0)+34>>1]=-1;c[(c[k>>2]|0)+8>>2]=(c[k>>2]|0)+48;h0(c[(c[k>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[(c[k>>2]|0)+8>>2]|0)+(c[h+4>>2]|0)>>0]=0;if(d[20063+(d[c[(c[k>>2]|0)+8>>2]>>0]|0)>>0]&128|0){if((a[c[(c[k>>2]|0)+8>>2]>>0]|0)==34){n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|64}Vj(c[(c[k>>2]|0)+8>>2]|0)}c[(c[k>>2]|0)+24>>2]=1;n=c[k>>2]|0;k=c[i>>2]|0;c[k>>2]=n;k=c[h>>2]|0;n=c[i>>2]|0;n=n+4|0;c[n>>2]=k;n=c[h>>2]|0;k=h+4|0;k=c[k>>2]|0;k=n+k|0;n=c[i>>2]|0;n=n+8|0;c[n>>2]=k;l=m;return}function rt(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+8|0;f=h+4|0;g=h;c[i>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[i>>2]|0)+440>>2];if(!(c[g>>2]|0)){l=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){l=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4)+12>>0]=c[f>>2];l=h;return}function st(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;x=y+8|0;r=y;s=y+56|0;t=y+52|0;u=y+48|0;v=y+44|0;w=y+40|0;j=y+36|0;k=y+32|0;m=y+28|0;n=y+24|0;o=y+20|0;p=y+16|0;q=y+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=i;c[j>>2]=c[(c[s>>2]|0)+440>>2];c[k>>2]=0;c[m>>2]=-1;if(!(c[j>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;Kk(w,x);l=y;return}if(d[(c[j>>2]|0)+42>>0]&4|0){w=c[s>>2]|0;c[r>>2]=c[c[j>>2]>>2];sl(w,36344,r);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;Kk(w,x);l=y;return}r=(c[j>>2]|0)+42|0;a[r>>0]=d[r>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[k>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[k>>2]|0)+15|0;a[r>>0]=d[r>>0]|1;c[o>>2]=1}else{c[o>>2]=c[c[t>>2]>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break a;c[p>>2]=yw(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;vF(c[p>>2]|0);b:do if((d[c[p>>2]>>0]|0)==55){c[q>>2]=c[(c[p>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break b;if(!(bh(c[q>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0)|0))break;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[k>>2]|0)+15|0;a[r>>0]=d[r>>0]|1}while(0);c[n>>2]=(c[n>>2]|0)+1}}while(0);if((c[o>>2]|0)==1&(c[k>>2]|0)!=0?(r=(bh(kv(c[k>>2]|0,55752)|0,28455)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[j>>2]|0)+32>>1]=c[m>>2];a[(c[j>>2]|0)+43>>0]=c[u>>2];x=(c[j>>2]|0)+42|0;a[x>>0]=d[x>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;Kk(w,x);l=y;return}a[(c[s>>2]|0)+408>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;Kk(w,x);l=y;return}e=c[s>>2]|0;if(c[v>>2]|0){sl(e,36385,x);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;Kk(w,x);l=y;return}else{tt(e,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0,2);c[t>>2]=0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;Kk(w,x);l=y;return}}function tt(f,g,h,i,j,k,m,n,o,p,q){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=l;l=l+352|0;ma=za+112|0;la=za+88|0;ka=za+72|0;ja=za+64|0;ia=za+56|0;D=za+48|0;K=za+40|0;C=za+32|0;B=za+24|0;F=za+16|0;E=za+8|0;A=za;L=za+332|0;r=za+328|0;s=za+324|0;ta=za+320|0;ua=za+316|0;na=za+312|0;M=za+308|0;va=za+304|0;t=za+300|0;G=za+296|0;N=za+336|0;oa=za+292|0;wa=za+288|0;xa=za+284|0;H=za+280|0;O=za+276|0;P=za+272|0;u=za+248|0;Q=za+240|0;ya=za+236|0;I=za+232|0;pa=za+228|0;R=za+224|0;S=za+220|0;T=za+216|0;J=za+212|0;U=za+208|0;V=za+204|0;v=za+200|0;w=za+196|0;x=za+192|0;y=za+184|0;z=za+180|0;W=za+176|0;X=za+172|0;Y=za+168|0;Z=za+164|0;_=za+160|0;$=za+156|0;aa=za+152|0;ba=za+148|0;ca=za+144|0;da=za+140|0;qa=za+136|0;ea=za+132|0;fa=za+128|0;ga=za+124|0;ha=za+120|0;ra=za+116|0;c[L>>2]=f;c[r>>2]=g;c[s>>2]=h;c[ta>>2]=i;c[ua>>2]=j;c[na>>2]=k;c[M>>2]=m;c[va>>2]=n;c[t>>2]=o;c[G>>2]=p;a[N>>0]=q;c[oa>>2]=0;c[wa>>2]=0;c[xa>>2]=0;c[ya>>2]=c[c[L>>2]>>2];c[R>>2]=0;c[T>>2]=0;c[U>>2]=0;c[V>>2]=0;a:do if((d[(c[ya>>2]|0)+69>>0]|0)==0?(c[(c[L>>2]|0)+36>>2]|0)<=0:0){if(d[(c[L>>2]|0)+410>>0]|0?(d[N>>0]|0)!=2:0)break;if(!(fv(c[L>>2]|0)|0)){f=c[L>>2]|0;if(c[ta>>2]|0){c[pa>>2]=ay(f,c[r>>2]|0,c[s>>2]|0,R)|0;if((c[pa>>2]|0)<0)break;if(((a[(c[ya>>2]|0)+148+5>>0]|0)==0?(c[oa>>2]=bA(c[L>>2]|0,c[ta>>2]|0)|0,c[oa>>2]|0?(c[(c[s>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[oa>>2]|0)+64>>2]|0)==(c[(c[(c[ya>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[pa>>2]=1;cA(u,c[L>>2]|0,c[pa>>2]|0,32611,c[R>>2]|0);dA(u,c[ta>>2]|0)|0;c[oa>>2]=av(c[L>>2]|0,0,(c[ta>>2]|0)+8|0)|0;if(!(c[oa>>2]|0))break;if((c[pa>>2]|0)==1?(c[(c[(c[ya>>2]|0)+16>>2]|0)+(c[pa>>2]<<4)+12>>2]|0)!=(c[(c[oa>>2]|0)+64>>2]|0):0){sa=c[L>>2]|0;c[A>>2]=c[c[oa>>2]>>2];sl(sa,35910,A);break}if(d[(c[oa>>2]|0)+42>>0]&32|0)c[V>>2]=uv(c[oa>>2]|0)|0}else{c[oa>>2]=c[f+440>>2];if(!(c[oa>>2]|0))break;c[pa>>2]=Hu(c[ya>>2]|0,c[(c[oa>>2]|0)+64>>2]|0)|0}c[I>>2]=(c[(c[ya>>2]|0)+16>>2]|0)+(c[pa>>2]<<4);if(((ld(c[c[oa>>2]>>2]|0,26664,7)|0)==0?(d[(c[ya>>2]|0)+148+5>>0]|0)==0:0)?ld((c[c[oa>>2]>>2]|0)+7|0,35960,9)|0:0){sa=c[L>>2]|0;c[E>>2]=c[c[oa>>2]>>2];sl(sa,35970,E);break}if(c[(c[oa>>2]|0)+12>>2]|0){sl(c[L>>2]|0,35998,F);break}if(d[(c[oa>>2]|0)+42>>0]&16|0){sl(c[L>>2]|0,36023,B);break}if(c[R>>2]|0){c[xa>>2]=Eu(c[ya>>2]|0,c[R>>2]|0)|0;if(!(c[xa>>2]|0))break;if(dw(c[L>>2]|0,c[xa>>2]|0)|0)break;if((a[(c[ya>>2]|0)+148+5>>0]|0)==0?gv(c[ya>>2]|0,c[xa>>2]|0,0)|0:0){sa=c[L>>2]|0;c[C>>2]=c[xa>>2];sl(sa,36057,C);break}if(vv(c[ya>>2]|0,c[xa>>2]|0,c[c[I>>2]>>2]|0)|0){f=c[L>>2]|0;if(c[G>>2]|0){dv(f,c[pa>>2]|0);break}else{c[K>>2]=c[xa>>2];sl(f,36091,K);break}}}else{c[w>>2]=c[(c[oa>>2]|0)+8>>2];c[v>>2]=1;while(1){if(!(c[w>>2]|0))break;c[w>>2]=c[(c[w>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}K=c[ya>>2]|0;G=c[v>>2]|0;c[D>>2]=c[c[oa>>2]>>2];c[D+4>>2]=G;c[xa>>2]=Wj(K,36115,D)|0;if(!(c[xa>>2]|0))break;if(a[(c[L>>2]|0)+410>>0]|0){K=(c[xa>>2]|0)+7|0;a[K>>0]=(a[K>>0]|0)+1<<24>>24}}c[x>>2]=c[c[I>>2]>>2];if((Iu(c[L>>2]|0,18,(c[pa>>2]|0)==1?26433:26452,0,c[x>>2]|0)|0)==0?(c[O>>2]=1,c[O>>2]=(c[pa>>2]|0)==1?3:1,(Iu(c[L>>2]|0,c[O>>2]|0,c[xa>>2]|0,c[c[oa>>2]>>2]|0,c[x>>2]|0)|0)==0):0){if(!(c[ua>>2]|0)){jx(y,c[(c[(c[oa>>2]|0)+4>>2]|0)+((b[(c[oa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);K=c[L>>2]|0;c[ua>>2]=Et(K,0,Wt(c[ya>>2]|0,55,y,0)|0)|0;if(!(c[ua>>2]|0))break;Nt(c[ua>>2]|0,c[t>>2]|0)}else Qt(c[L>>2]|0,c[ua>>2]|0,32611);c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[c[ua>>2]>>2]|0))break;c[z>>2]=c[(c[(c[ua>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==53){K=1+(md(c[(c[z>>2]|0)+8>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+K}c[O>>2]=(c[O>>2]|0)+1}c[H>>2]=md(c[xa>>2]|0)|0;if(c[V>>2]|0)f=e[(c[V>>2]|0)+50>>1]|0;else f=1;c[J>>2]=f;c[wa>>2]=yC(c[ya>>2]|0,(c[c[ua>>2]>>2]|0)+(c[J>>2]|0)&65535,(c[H>>2]|0)+(c[T>>2]|0)+1|0,U)|0;if(!(a[(c[ya>>2]|0)+69>>0]|0)){c[c[wa>>2]>>2]=c[U>>2];c[U>>2]=(c[U>>2]|0)+((c[H>>2]|0)+1);h0(c[c[wa>>2]>>2]|0,c[xa>>2]|0,(c[H>>2]|0)+1|0)|0;c[(c[wa>>2]|0)+12>>2]=c[oa>>2];a[(c[wa>>2]|0)+54>>0]=c[na>>2];K=(c[wa>>2]|0)+55|0;a[K>>0]=a[K>>0]&-9|((c[na>>2]|0)!=0&1)<<3&255;K=(c[wa>>2]|0)+55|0;a[K>>0]=a[K>>0]&-4|d[N>>0]&3;c[(c[wa>>2]|0)+24>>2]=c[(c[(c[ya>>2]|0)+16>>2]|0)+(c[pa>>2]<<4)+12>>2];b[(c[wa>>2]|0)+50>>1]=c[c[ua>>2]>>2];if(c[va>>2]|0){uF(c[L>>2]|0,c[oa>>2]|0,2,c[va>>2]|0,0);c[(c[wa>>2]|0)+36>>2]=c[va>>2];c[va>>2]=0}if((d[(c[(c[I>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[Q>>2]=-1;else c[Q>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[ua>>2]|0)+4>>2];while(1){if((c[O>>2]|0)>=(c[c[ua>>2]>>2]|0))break;vF(c[c[S>>2]>>2]|0);uF(c[L>>2]|0,c[oa>>2]|0,32,c[c[S>>2]>>2]|0,0);if(c[(c[L>>2]|0)+36>>2]|0)break a;c[W>>2]=yw(c[c[S>>2]>>2]|0)|0;if((d[c[W>>2]>>0]|0)!=152){if((c[oa>>2]|0)==(c[(c[L>>2]|0)+440>>2]|0)){sa=68;break}do if(!(c[(c[wa>>2]|0)+40>>2]|0)){c[Z>>2]=cx(c[ya>>2]|0,c[ua>>2]|0,0)|0;c[(c[wa>>2]|0)+40>>2]=c[Z>>2];if(a[(c[ya>>2]|0)+69>>0]|0)break;c[S>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)}while(0);c[P>>2]=-2;b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1]=-2;K=(c[wa>>2]|0)+55|0;a[K>>0]=a[K>>0]&-9}else{c[P>>2]=b[(c[W>>2]|0)+32>>1];f=c[oa>>2]|0;do if((c[P>>2]|0)<0)c[P>>2]=b[f+32>>1];else{if(d[(c[f+4>>2]|0)+(c[P>>2]<<4)+12>>0]|0)break;K=(c[wa>>2]|0)+55|0;a[K>>0]=a[K>>0]&-9}while(0);b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1]=c[P>>2]}c[Y>>2]=0;do if((d[c[c[S>>2]>>2]>>0]|0)==53){c[Y>>2]=c[(c[c[S>>2]>>2]|0)+8>>2];c[_>>2]=(md(c[Y>>2]|0)|0)+1;h0(c[U>>2]|0,c[Y>>2]|0,c[_>>2]|0)|0;c[Y>>2]=c[U>>2];c[U>>2]=(c[U>>2]|0)+(c[_>>2]|0);c[T>>2]=(c[T>>2]|0)-(c[_>>2]|0)}else{if((c[P>>2]|0)<0)break;c[Y>>2]=c[(c[(c[oa>>2]|0)+4>>2]|0)+(c[P>>2]<<4)+8>>2]}while(0);if(!(c[Y>>2]|0))c[Y>>2]=34455;if((a[(c[ya>>2]|0)+148+5>>0]|0)==0?(ly(c[L>>2]|0,c[Y>>2]|0)|0)==0:0)break a;c[(c[(c[wa>>2]|0)+32>>2]|0)+(c[O>>2]<<2)>>2]=c[Y>>2];c[X>>2]=d[(c[S>>2]|0)+12>>0]&c[Q>>2];a[(c[(c[wa>>2]|0)+28>>2]|0)+(c[O>>2]|0)>>0]=c[X>>2];c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=(c[S>>2]|0)+20}if((sa|0)==68){sl(c[L>>2]|0,36138,ia);break}b:do if(c[V>>2]|0){c[P>>2]=0;while(1){if((c[P>>2]|0)>=(e[(c[V>>2]|0)+50>>1]|0))break b;c[$>>2]=b[(c[(c[V>>2]|0)+4>>2]|0)+(c[P>>2]<<1)>>1];if(wF(c[(c[wa>>2]|0)+4>>2]|0,e[(c[wa>>2]|0)+50>>1]|0,c[$>>2]|0)|0){ia=(c[wa>>2]|0)+52|0;b[ia>>1]=(b[ia>>1]|0)+-1<<16>>16}else{b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1]=c[$>>2];c[(c[(c[wa>>2]|0)+32>>2]|0)+(c[O>>2]<<2)>>2]=c[(c[(c[V>>2]|0)+32>>2]|0)+(c[P>>2]<<2)>>2];a[(c[(c[wa>>2]|0)+28>>2]|0)+(c[O>>2]|0)>>0]=a[(c[(c[V>>2]|0)+28>>2]|0)+(c[P>>2]|0)>>0]|0;c[O>>2]=(c[O>>2]|0)+1}c[P>>2]=(c[P>>2]|0)+1}}else{b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1]=-1;c[(c[(c[wa>>2]|0)+32>>2]|0)+(c[O>>2]<<2)>>2]=34455}while(0);tv(c[wa>>2]|0);if(!(c[(c[L>>2]|0)+440>>2]|0))xF(c[wa>>2]|0);c:do if(c[ta>>2]|0){if((e[(c[wa>>2]|0)+52>>1]|0)<(b[(c[oa>>2]|0)+34>>1]|0))break;ia=(c[wa>>2]|0)+55|0;a[ia>>0]=a[ia>>0]&-33|32;c[P>>2]=0;while(1){if((c[P>>2]|0)>=(b[(c[oa>>2]|0)+34>>1]|0))break c;if((c[P>>2]|0)!=(b[(c[oa>>2]|0)+32>>1]|0)?((Uy(c[wa>>2]|0,c[P>>2]&65535)|0)<<16>>16|0)<0:0)break;c[P>>2]=(c[P>>2]|0)+1}ia=(c[wa>>2]|0)+55|0;a[ia>>0]=a[ia>>0]&-33}while(0);d:do if((c[oa>>2]|0)==(c[(c[L>>2]|0)+440>>2]|0)){c[aa>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(!(c[aa>>2]|0))break d;if((e[(c[aa>>2]|0)+50>>1]|0)==(e[(c[wa>>2]|0)+50>>1]|0)){c[ba>>2]=0;while(1){if((c[ba>>2]|0)>=(e[(c[aa>>2]|0)+50>>1]|0))break;if((b[(c[(c[aa>>2]|0)+4>>2]|0)+(c[ba>>2]<<1)>>1]|0)!=(b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[ba>>2]<<1)>>1]|0))break;c[ca>>2]=c[(c[(c[aa>>2]|0)+32>>2]|0)+(c[ba>>2]<<2)>>2];c[da>>2]=c[(c[(c[wa>>2]|0)+32>>2]|0)+(c[ba>>2]<<2)>>2];if(bh(c[ca>>2]|0,c[da>>2]|0)|0)break;c[ba>>2]=(c[ba>>2]|0)+1}if((c[ba>>2]|0)==(e[(c[aa>>2]|0)+50>>1]|0))break}c[aa>>2]=c[(c[aa>>2]|0)+20>>2]}do if((d[(c[aa>>2]|0)+54>>0]|0)!=(d[(c[wa>>2]|0)+54>>0]|0)){do if((d[(c[aa>>2]|0)+54>>0]|0)!=10){if((d[(c[wa>>2]|0)+54>>0]|0)==10)break;sa=c[L>>2]|0;c[ja>>2]=0;sl(sa,36199,ja)}while(0);if((d[(c[aa>>2]|0)+54>>0]|0)!=10)break;a[(c[aa>>2]|0)+54>>0]=a[(c[wa>>2]|0)+54>>0]|0}while(0);if((d[N>>0]|0)!=2)break a;sa=(c[aa>>2]|0)+55|0;a[sa>>0]=a[sa>>0]&-4|d[N>>0]&3;break a}while(0);do if(a[(c[ya>>2]|0)+148+5>>0]|0){c[qa>>2]=Fk((c[(c[wa>>2]|0)+24>>2]|0)+24|0,c[c[wa>>2]>>2]|0,c[wa>>2]|0)|0;f=c[ya>>2]|0;if(c[qa>>2]|0){Od(f);break a}qa=f+24|0;c[qa>>2]=c[qa>>2]|2;if(!(c[ta>>2]|0))break;c[(c[wa>>2]|0)+44>>2]=c[(c[ya>>2]|0)+148>>2]}else{if(!(c[ta>>2]|0?1:(d[(c[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(c[L>>2]|0)+44|0;qa=(c[ja>>2]|0)+1|0;c[ja>>2]=qa;c[ga>>2]=qa;c[ea>>2]=Lu(c[L>>2]|0)|0;if(!(c[ea>>2]|0))break a;cv(c[L>>2]|0,1,c[pa>>2]|0);qa=Nu(c[ea>>2]|0,161)|0;c[(c[wa>>2]|0)+44>>2]=qa;Qu(c[ea>>2]|0,134,c[pa>>2]|0,c[ga>>2]|0)|0;if(c[M>>2]|0){c[ha>>2]=(c[(c[L>>2]|0)+392>>2]|0)-(c[c[R>>2]>>2]|0)+(c[(c[L>>2]|0)+392+4>>2]|0);if((a[(c[c[R>>2]>>2]|0)+((c[ha>>2]|0)-1)>>0]|0)==59)c[ha>>2]=(c[ha>>2]|0)+-1;qa=c[ya>>2]|0;ia=c[ha>>2]|0;ja=c[c[R>>2]>>2]|0;c[ka>>2]=(c[na>>2]|0)==0?55752:36241;c[ka+4>>2]=ia;c[ka+8>>2]=ja;c[fa>>2]=Wj(qa,36249,ka)|0}else c[fa>>2]=0;qa=c[L>>2]|0;da=(c[pa>>2]|0)==1?26433:26452;ha=c[c[wa>>2]>>2]|0;ia=c[c[oa>>2]>>2]|0;ja=c[ga>>2]|0;ka=c[fa>>2]|0;c[la>>2]=c[(c[(c[ya>>2]|0)+16>>2]|0)+(c[pa>>2]<<4)>>2];c[la+4>>2]=da;c[la+8>>2]=ha;c[la+12>>2]=ia;c[la+16>>2]=ja;c[la+20>>2]=ka;Ku(qa,36269,la);Xd(c[ya>>2]|0,c[fa>>2]|0);if(c[ta>>2]|0){Cy(c[L>>2]|0,c[wa>>2]|0,c[ga>>2]|0);Mu(c[L>>2]|0,c[pa>>2]|0);la=c[ea>>2]|0;pa=c[pa>>2]|0;qa=c[ya>>2]|0;c[ma>>2]=c[c[wa>>2]>>2];Ou(la,pa,Wj(qa,36317,ma)|0);Nu(c[ea>>2]|0,150)|0}ny(c[ea>>2]|0,c[(c[wa>>2]|0)+44>>2]|0)}while(0);if(!((c[ta>>2]|0)==0?1:(d[(c[ya>>2]|0)+148+5>>0]|0)!=0))break;do if((c[na>>2]|0)!=5)sa=143;else{if(!(c[(c[oa>>2]|0)+8>>2]|0)){sa=143;break}if((d[(c[(c[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){sa=143;break}c[ra>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(c[(c[ra>>2]|0)+20>>2]|0)g=(d[(c[(c[ra>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else g=0;f=c[(c[ra>>2]|0)+20>>2]|0;if(!g)break;c[ra>>2]=f}c[(c[wa>>2]|0)+20>>2]=f;c[(c[ra>>2]|0)+20>>2]=c[wa>>2]}while(0);if((sa|0)==143){c[(c[wa>>2]|0)+20>>2]=c[(c[oa>>2]|0)+8>>2];c[(c[oa>>2]|0)+8>>2]=c[wa>>2]}c[wa>>2]=0}}}}while(0);if(!(c[wa>>2]|0)){sa=c[ya>>2]|0;wa=c[va>>2]|0;Ok(sa,wa);wa=c[ya>>2]|0;va=c[ua>>2]|0;Kk(wa,va);va=c[ya>>2]|0;wa=c[ta>>2]|0;Rk(va,wa);wa=c[ya>>2]|0;ya=c[xa>>2]|0;Xd(wa,ya);l=za;return}Gk(c[ya>>2]|0,c[wa>>2]|0);sa=c[ya>>2]|0;wa=c[va>>2]|0;Ok(sa,wa);wa=c[ya>>2]|0;va=c[ua>>2]|0;Kk(wa,va);va=c[ya>>2]|0;wa=c[ta>>2]|0;Rk(va,wa);wa=c[ya>>2]|0;ya=c[xa>>2]|0;Xd(wa,ya);l=za;return}function ut(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[(c[f>>2]|0)+440>>2];c[i>>2]=c[c[f>>2]>>2];if((c[h>>2]|0?(a[(c[f>>2]|0)+410>>0]|0)==0:0)?(tF(c[(c[(c[i>>2]|0)+16>>2]|0)+(d[(c[i>>2]|0)+148+4>>0]<<4)+4>>2]|0)|0)==0:0){i=Et(c[f>>2]|0,c[(c[h>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[h>>2]|0)+24>>2]=i;if(!(c[(c[f>>2]|0)+84+4>>2]|0)){l=j;return}Ft(c[f>>2]|0,c[(c[h>>2]|0)+24>>2]|0,(c[f>>2]|0)+84|0,1);l=j;return}Ok(c[c[f>>2]>>2]|0,c[g>>2]|0);l=j;return}function vt(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+96|0;C=E+16|0;o=E+8|0;n=E;y=E+80|0;z=E+76|0;m=E+72|0;A=E+68|0;B=E+64|0;p=E+60|0;q=E+56|0;r=E+52|0;s=E+48|0;j=E+44|0;t=E+40|0;u=E+36|0;v=E+32|0;k=E+28|0;w=E+24|0;x=E+20|0;c[y>>2]=e;c[z>>2]=f;c[m>>2]=g;c[A>>2]=h;c[B>>2]=i;c[p>>2]=c[c[y>>2]>>2];c[q>>2]=0;c[s>>2]=c[(c[y>>2]|0)+440>>2];a:do if(c[s>>2]|0?(d[(c[y>>2]|0)+410>>0]|0)==0:0){if(!(c[z>>2]|0)){c[k>>2]=(b[(c[s>>2]|0)+34>>1]|0)-1;if((c[k>>2]|0)<0)break;if(c[A>>2]|0?(c[c[A>>2]>>2]|0)!=1:0){D=c[y>>2]|0;C=c[m>>2]|0;c[n>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+(c[k>>2]<<4)>>2];c[n+4>>2]=C;sl(D,35707,n);break}c[u>>2]=1}else{if(c[A>>2]|0?(c[c[A>>2]>>2]|0)!=(c[c[z>>2]>>2]|0):0){sl(c[y>>2]|0,35770,o);break}c[u>>2]=c[c[z>>2]>>2]}c[j>>2]=44+((c[u>>2]|0)-1<<3)+(c[(c[m>>2]|0)+4>>2]|0)+1;b:do if(c[A>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[A>>2]>>2]|0))break b;o=(md(c[(c[(c[A>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[j>>2]=(c[j>>2]|0)+o;c[t>>2]=(c[t>>2]|0)+1}}while(0);o=c[j>>2]|0;c[q>>2]=_l(c[p>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[c[q>>2]>>2]=c[s>>2];c[(c[q>>2]|0)+4>>2]=c[(c[s>>2]|0)+16>>2];c[v>>2]=(c[q>>2]|0)+36+(c[u>>2]<<3);c[(c[q>>2]|0)+8>>2]=c[v>>2];h0(c[v>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;a[(c[v>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)>>0]=0;Vj(c[v>>2]|0);c[v>>2]=(c[v>>2]|0)+((c[(c[m>>2]|0)+4>>2]|0)+1);c[(c[q>>2]|0)+20>>2]=c[u>>2];c:do if(!(c[z>>2]|0))c[(c[q>>2]|0)+36>>2]=(b[(c[s>>2]|0)+34>>1]|0)-1;else{c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break c;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;o=(bh(c[(c[(c[s>>2]|0)+4>>2]|0)+(c[w>>2]<<4)>>2]|0,c[(c[(c[z>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0)==0;e=c[w>>2]|0;if(o){D=25;break}c[w>>2]=e+1}if((D|0)==25){D=0;c[(c[q>>2]|0)+36+(c[t>>2]<<3)>>2]=e}if((c[w>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;c[t>>2]=(c[t>>2]|0)+1}D=c[y>>2]|0;c[C>>2]=c[(c[(c[z>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2];sl(D,35864,C);break a}while(0);d:do if(c[A>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break d;c[x>>2]=md(c[(c[(c[A>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0;c[(c[q>>2]|0)+36+(c[t>>2]<<3)+4>>2]=c[v>>2];h0(c[v>>2]|0,c[(c[(c[A>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0,c[x>>2]|0)|0;a[(c[v>>2]|0)+(c[x>>2]|0)>>0]=0;c[v>>2]=(c[v>>2]|0)+((c[x>>2]|0)+1);c[t>>2]=(c[t>>2]|0)+1}}while(0);a[(c[q>>2]|0)+24>>0]=0;a[(c[q>>2]|0)+25>>0]=c[B>>2];a[(c[q>>2]|0)+25+1>>0]=c[B>>2]>>8;c[r>>2]=Fk((c[(c[s>>2]|0)+64>>2]|0)+56|0,c[(c[q>>2]|0)+8>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==(c[q>>2]|0)){Od(c[p>>2]|0);break}if(c[r>>2]|0){c[(c[q>>2]|0)+12>>2]=c[r>>2];c[(c[r>>2]|0)+16>>2]=c[q>>2]}c[(c[s>>2]|0)+16>>2]=c[q>>2];c[q>>2]=0}}while(0);Xd(c[p>>2]|0,c[q>>2]|0);Kk(c[p>>2]|0,c[z>>2]|0);Kk(c[p>>2]|0,c[A>>2]|0);l=E;return}function wt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=b;c[e>>2]=d;d=c[(c[i>>2]|0)+440>>2]|0;c[f>>2]=d;if(!d){l=h;return}i=c[(c[f>>2]|0)+16>>2]|0;c[g>>2]=i;if(!i){l=h;return}a[(c[g>>2]|0)+24>>0]=c[e>>2];l=h;return}function xt(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+440>>2]|0;c[h>>2]=d;if(!d){l=m;return}c[i>>2]=(b[(c[h>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[j>>2]=Eu(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[j>>2]|0)){l=m;return}f=(ly(c[e>>2]|0,c[j>>2]|0)|0)!=0;a=c[g>>2]|0;if(!f){Xd(a,c[j>>2]|0);l=m;return}Xd(a,c[(c[(c[h>>2]|0)+4>>2]|0)+(c[i>>2]<<4)+8>>2]|0);c[(c[(c[h>>2]|0)+4>>2]|0)+(c[i>>2]<<4)+8>>2]=c[j>>2];c[k>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[i>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+(c[i>>2]<<4)+8>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}l=m;return}function yt(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;w=x+16|0;v=x+8|0;u=x;o=x+64|0;p=x+60|0;q=x+56|0;r=x+52|0;s=x+48|0;t=x+44|0;h=x+40|0;i=x+36|0;j=x+32|0;k=x+28|0;m=x+24|0;n=x+20|0;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[h>>2]=c[c[o>>2]>>2];do if((a[(c[h>>2]|0)+69>>0]|0)==0?(fv(c[o>>2]|0)|0)==0:0){if(c[r>>2]|0){g=(c[h>>2]|0)+73|0;a[g>>0]=(a[g>>0]|0)+1<<24>>24}c[s>>2]=av(c[o>>2]|0,c[q>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[r>>2]|0){g=(c[h>>2]|0)+73|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}if(!(c[s>>2]|0)){if(!(c[r>>2]|0))break;Zz(c[o>>2]|0,c[(c[p>>2]|0)+8+4>>2]|0);break}c[i>>2]=Hu(c[h>>2]|0,c[(c[s>>2]|0)+64>>2]|0)|0;if(d[(c[s>>2]|0)+42>>0]&16|0?ew(c[o>>2]|0,c[s>>2]|0)|0:0)break;c[k>>2]=(c[i>>2]|0)==1?26433:26452;c[m>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[i>>2]<<4)>>2];c[n>>2]=0;if(!(Iu(c[o>>2]|0,9,c[k>>2]|0,0,c[m>>2]|0)|0)){do if(c[q>>2]|0)if((c[i>>2]|0)==1){c[j>>2]=15;break}else{c[j>>2]=17;break}else{if(d[(c[s>>2]|0)+42>>0]&16|0){c[j>>2]=30;c[n>>2]=c[(c[(fw(c[h>>2]|0,c[s>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[i>>2]|0)==1){c[j>>2]=13;break}else{c[j>>2]=11;break}}while(0);if((Iu(c[o>>2]|0,c[j>>2]|0,c[c[s>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0)|0)==0?(Iu(c[o>>2]|0,9,c[c[s>>2]>>2]|0,0,c[m>>2]|0)|0)==0:0){if((ld(c[c[s>>2]>>2]|0,26664,7)|0)==0?ld(c[c[s>>2]>>2]|0,35500,11)|0:0){w=c[o>>2]|0;c[u>>2]=c[c[s>>2]>>2];sl(w,35512,u);break}if(c[q>>2]|0?(c[(c[s>>2]|0)+12>>2]|0)==0:0){w=c[o>>2]|0;c[v>>2]=c[c[s>>2]>>2];sl(w,35540,v);break}if((c[q>>2]|0)==0?c[(c[s>>2]|0)+12>>2]|0:0){v=c[o>>2]|0;c[w>>2]=c[c[s>>2]>>2];sl(v,35574,w);break}c[t>>2]=Lu(c[o>>2]|0)|0;if(c[t>>2]|0){cv(c[o>>2]|0,1,c[i>>2]|0);dB(c[o>>2]|0,c[i>>2]|0,30152,c[c[s>>2]>>2]|0);pF(c[o>>2]|0,c[p>>2]|0,c[s>>2]|0);qF(c[o>>2]|0,c[s>>2]|0,c[i>>2]|0,c[q>>2]|0)}}}}while(0);Rk(c[h>>2]|0,c[p>>2]|0);l=x;return}function zt(e,f,g,h,i,j,k,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+96|0;B=D+88|0;C=D+84|0;n=D+80|0;o=D+76|0;p=D+72|0;q=D+68|0;r=D+64|0;s=D+60|0;t=D+56|0;u=D+52|0;v=D+48|0;w=D+40|0;x=D+16|0;y=D+12|0;z=D+8|0;A=D+4|0;c[B>>2]=e;c[C>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;c[s>>2]=m;c[y>>2]=0;c[A>>2]=c[c[B>>2]>>2];e=c[B>>2]|0;if((b[(c[B>>2]|0)+400>>1]|0)<=0){kt(e,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,1,0,c[s>>2]|0);c[t>>2]=c[(c[B>>2]|0)+440>>2];if(((c[t>>2]|0?(c[(c[B>>2]|0)+36>>2]|0)==0:0)?(ay(c[B>>2]|0,c[n>>2]|0,c[o>>2]|0,y)|0,c[z>>2]=Hu(c[A>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,cA(x,c[B>>2]|0,c[z>>2]|0,35495,c[y>>2]|0),(eA(x,c[q>>2]|0)|0)==0):0)?(z=kw(c[A>>2]|0,c[q>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=z,z=cx(c[A>>2]|0,c[p>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=z,(a[(c[A>>2]|0)+69>>0]|0)==0):0){z=(c[B>>2]|0)+392|0;c[w>>2]=c[z>>2];c[w+4>>2]=c[z+4>>2];if((a[c[w>>2]>>0]|0)!=59)c[w>>2]=(c[w>>2]|0)+(c[w+4>>2]|0);c[w+4>>2]=0;c[u>>2]=(c[w>>2]|0)-(c[c[C>>2]>>2]|0);c[v>>2]=c[c[C>>2]>>2];while(1){if(!(d[20063+(d[(c[v>>2]|0)+((c[u>>2]|0)-1)>>0]|0)>>0]&1))break;c[u>>2]=(c[u>>2]|0)+-1}c[w>>2]=(c[v>>2]|0)+((c[u>>2]|0)-1);c[w+4>>2]=1;mt(c[B>>2]|0,0,w,0,0)}}else sl(e,35459,D);Jk(c[A>>2]|0,c[q>>2]|0);Kk(c[A>>2]|0,c[p>>2]|0);l=D;return}function At(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=l;l=l+432|0;v=Ca;Z=Ca+412|0;aa=Ca+408|0;ja=Ca+404|0;ua=Ca+400|0;za=Ca+396|0;Aa=Ca+392|0;Ba=Ca+388|0;N=Ca+384|0;w=Ca+380|0;O=Ca+376|0;P=Ca+372|0;B=Ca+368|0;Q=Ca+364|0;R=Ca+360|0;S=Ca+356|0;T=Ca+344|0;U=Ca+312|0;V=Ca+264|0;W=Ca+260|0;X=Ca+256|0;Y=Ca+252|0;i=Ca+248|0;j=Ca+244|0;k=Ca+240|0;m=Ca+236|0;n=Ca+232|0;o=Ca+208|0;p=Ca+204|0;q=Ca+200|0;r=Ca+196|0;s=Ca+192|0;t=Ca+188|0;u=Ca+184|0;x=Ca+416|0;C=Ca+152|0;_=Ca+148|0;$=Ca+144|0;ba=Ca+140|0;ca=Ca+136|0;da=Ca+132|0;ea=Ca+128|0;fa=Ca+124|0;ga=Ca+120|0;ha=Ca+116|0;y=Ca+112|0;z=Ca+108|0;ia=Ca+104|0;ka=Ca+100|0;la=Ca+96|0;ma=Ca+92|0;na=Ca+88|0;oa=Ca+84|0;pa=Ca+80|0;qa=Ca+76|0;ra=Ca+72|0;sa=Ca+68|0;ta=Ca+64|0;va=Ca+60|0;wa=Ca+56|0;xa=Ca+52|0;ya=Ca+48|0;D=Ca+44|0;E=Ca+40|0;F=Ca+36|0;G=Ca+32|0;H=Ca+28|0;I=Ca+24|0;J=Ca+20|0;K=Ca+16|0;L=Ca+12|0;M=Ca+418|0;c[aa>>2]=f;c[ja>>2]=g;c[ua>>2]=h;c[O>>2]=0;c[S>>2]=1;c[Y>>2]=c[(c[aa>>2]|0)+420>>2];g=(c[aa>>2]|0)+424|0;h=c[g>>2]|0;c[g>>2]=h+1;c[(c[aa>>2]|0)+420>>2]=h;c[X>>2]=c[c[aa>>2]>>2];if((c[ja>>2]|0?(d[(c[X>>2]|0)+69>>0]|0)==0:0)?(c[(c[aa>>2]|0)+36>>2]|0)==0:0){if(Iu(c[aa>>2]|0,21,0,0,0)|0){c[Z>>2]=1;Ba=c[Z>>2]|0;l=Ca;return Ba|0}f=V;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));if((d[c[ua>>2]>>0]|0)<=8){Kk(c[X>>2]|0,c[(c[ja>>2]|0)+44>>2]|0);c[(c[ja>>2]|0)+44>>2]=0;h=(c[ja>>2]|0)+8|0;c[h>>2]=c[h>>2]&-2}Aw(c[aa>>2]|0,c[ja>>2]|0,0);c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0;c[U+16>>2]=0;c[U+20>>2]=0;c[U+24>>2]=0;c[U+28>>2]=0;c[U>>2]=c[(c[ja>>2]|0)+44>>2];c[P>>2]=c[(c[ja>>2]|0)+28>>2];a:do if((c[(c[aa>>2]|0)+36>>2]|0)==0?(d[(c[X>>2]|0)+69>>0]|0)==0:0){c[w>>2]=(c[(c[ja>>2]|0)+8>>2]&8|0)!=0&1;c[za>>2]=0;while(1){if(c[(c[ja>>2]|0)+48>>2]|0)break;if((c[za>>2]|0)>=(c[c[P>>2]>>2]|0))break;c[i>>2]=(c[P>>2]|0)+8+((c[za>>2]|0)*72|0);c[j>>2]=c[(c[i>>2]|0)+20>>2];c[m>>2]=c[(c[i>>2]|0)+16>>2];if(c[j>>2]|0){if((b[(c[m>>2]|0)+34>>1]|0)!=(c[c[c[j>>2]>>2]>>2]|0)){A=16;break}c[k>>2]=(c[(c[j>>2]|0)+8>>2]&8|0)!=0&1;if(xE(c[aa>>2]|0,c[ja>>2]|0,c[za>>2]|0,c[w>>2]|0,c[k>>2]|0)|0){if(c[k>>2]|0){c[w>>2]=1;h=(c[ja>>2]|0)+8|0;c[h>>2]=c[h>>2]|8}c[za>>2]=-1}c[P>>2]=c[(c[ja>>2]|0)+28>>2];if(a[(c[X>>2]|0)+69>>0]|0)break a;if((d[c[ua>>2]>>0]|0)>8)c[U>>2]=c[(c[ja>>2]|0)+44>>2]}c[za>>2]=(c[za>>2]|0)+1}if((A|0)==16){Ba=c[aa>>2]|0;za=c[c[m>>2]>>2]|0;Aa=c[c[c[j>>2]>>2]>>2]|0;c[v>>2]=b[(c[m>>2]|0)+34>>1];c[v+4>>2]=za;c[v+8>>2]=Aa;sl(Ba,35054,v);break}c[N>>2]=Lu(c[aa>>2]|0)|0;if(c[N>>2]|0){if(c[(c[ja>>2]|0)+48>>2]|0){c[S>>2]=yE(c[aa>>2]|0,c[ja>>2]|0,c[ua>>2]|0)|0;c[(c[aa>>2]|0)+420>>2]=c[Y>>2];c[Z>>2]=c[S>>2];Ba=c[Z>>2]|0;l=Ca;return Ba|0}c[za>>2]=0;while(1){if((c[za>>2]|0)>=(c[c[P>>2]>>2]|0))break;c[n>>2]=(c[P>>2]|0)+8+((c[za>>2]|0)*72|0);c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(c[p>>2]|0){if(c[(c[n>>2]|0)+24>>2]|0){if((d[(c[n>>2]|0)+36+1>>0]|0)>>>4&1|0)break;Qu(c[N>>2]|0,14,c[(c[n>>2]|0)+28>>2]|0,c[(c[n>>2]|0)+24>>2]|0)|0;break}m=zE(c[ja>>2]|0)|0;v=(c[aa>>2]|0)+416|0;c[v>>2]=(c[v>>2]|0)+m;if(!(d[(c[n>>2]|0)+36>>0]&32))AE(c[X>>2]|0,c[p>>2]|0,c[(c[ja>>2]|0)+32>>2]|0,c[(c[n>>2]|0)+44>>2]|0)|0;do if(!(c[za>>2]|0)){if((c[c[P>>2]>>2]|0)!=1?(d[(c[P>>2]|0)+8+72+36>>0]&10|0)==0:0){A=42;break}if(c[(c[ja>>2]|0)+8>>2]&2|0){A=42;break}if(e[(c[X>>2]|0)+64>>1]&256|0){A=42;break}c[q>>2]=(Pv(c[N>>2]|0)|0)+1;m=(c[aa>>2]|0)+44|0;v=(c[m>>2]|0)+1|0;c[m>>2]=v;c[(c[n>>2]|0)+28>>2]=v;Ru(c[N>>2]|0,15,c[(c[n>>2]|0)+28>>2]|0,0,c[q>>2]|0)|0;c[(c[n>>2]|0)+24>>2]=c[q>>2];Az(o,13,c[(c[n>>2]|0)+28>>2]|0);a[(c[n>>2]|0)+40>>0]=c[(c[aa>>2]|0)+424>>2];At(c[aa>>2]|0,c[p>>2]|0,o)|0;b[(c[(c[n>>2]|0)+16>>2]|0)+38>>1]=b[(c[p>>2]|0)+6>>1]|0;v=(c[n>>2]|0)+36+1|0;a[v>>0]=a[v>>0]&-17|16;c[(c[n>>2]|0)+32>>2]=c[o+12>>2];lB(c[N>>2]|0,c[(c[n>>2]|0)+28>>2]|0);ny(c[N>>2]|0,(c[q>>2]|0)-1|0);BE(c[aa>>2]|0)}else A=42;while(0);if((A|0)==42){A=0;c[s>>2]=0;m=(c[aa>>2]|0)+44|0;v=(c[m>>2]|0)+1|0;c[m>>2]=v;c[(c[n>>2]|0)+28>>2]=v;c[r>>2]=Qu(c[N>>2]|0,76,0,c[(c[n>>2]|0)+28>>2]|0)|0;c[(c[n>>2]|0)+24>>2]=(c[r>>2]|0)+1;if(!((d[(c[n>>2]|0)+36+1>>0]|0)>>>3&1))c[s>>2]=Nu(c[N>>2]|0,20)|0;Az(o,12,c[(c[n>>2]|0)+44>>2]|0);a[(c[n>>2]|0)+40>>0]=c[(c[aa>>2]|0)+424>>2];At(c[aa>>2]|0,c[p>>2]|0,o)|0;b[(c[(c[n>>2]|0)+16>>2]|0)+38>>1]=b[(c[p>>2]|0)+6>>1]|0;if(c[s>>2]|0)ny(c[N>>2]|0,c[s>>2]|0);c[t>>2]=ey(c[N>>2]|0,72,c[(c[n>>2]|0)+28>>2]|0)|0;lC(c[N>>2]|0,c[r>>2]|0,c[t>>2]|0);BE(c[aa>>2]|0)}if(a[(c[X>>2]|0)+69>>0]|0)break a;m=zE(c[ja>>2]|0)|0;v=(c[aa>>2]|0)+416|0;c[v>>2]=(c[v>>2]|0)-m}while(0);c[za>>2]=(c[za>>2]|0)+1}c[O>>2]=c[c[ja>>2]>>2];c[B>>2]=c[(c[ja>>2]|0)+32>>2];c[Q>>2]=c[(c[ja>>2]|0)+36>>2];c[R>>2]=c[(c[ja>>2]|0)+40>>2];a[T>>0]=(c[(c[ja>>2]|0)+8>>2]&1|0)!=0;if((c[(c[ja>>2]|0)+8>>2]&9|0)==1?(Zw(c[U>>2]|0,c[O>>2]|0,-1)|0)==0:0){v=(c[ja>>2]|0)+8|0;c[v>>2]=c[v>>2]&-2;v=cx(c[X>>2]|0,c[O>>2]|0,0)|0;c[(c[ja>>2]|0)+36>>2]=v;c[Q>>2]=v}if(c[U>>2]|0){c[u>>2]=CE(c[aa>>2]|0,c[U>>2]|0,0,c[c[O>>2]>>2]|0)|0;v=(c[aa>>2]|0)+40|0;f=c[v>>2]|0;c[v>>2]=f+1;c[U+8>>2]=f;f=Uu(c[N>>2]|0,107,c[U+8>>2]|0,(c[c[U>>2]>>2]|0)+1+(c[c[O>>2]>>2]|0)|0,0,c[u>>2]|0,-6)|0}else f=-1;c[U+20>>2]=f;if((d[c[ua>>2]>>0]|0)==12)Qu(c[N>>2]|0,107,c[(c[ua>>2]|0)+8>>2]|0,c[c[O>>2]>>2]|0)|0;c[W>>2]=ky(c[N>>2]|0)|0;b[(c[ja>>2]|0)+6>>1]=320;DE(c[aa>>2]|0,c[ja>>2]|0,c[W>>2]|0);if((c[(c[ja>>2]|0)+12>>2]|0)==0?(c[U+20>>2]|0)>=0:0){EE(c[N>>2]|0,c[U+20>>2]|0,108);v=U+28|0;a[v>>0]=d[v>>0]|1}if(c[(c[ja>>2]|0)+8>>2]&1|0){f=(c[aa>>2]|0)+40|0;v=c[f>>2]|0;c[f>>2]=v+1;c[T+4>>2]=v;v=c[N>>2]|0;f=c[T+4>>2]|0;c[T+8>>2]=Uu(v,107,f,0,0,CE(c[aa>>2]|0,c[c[ja>>2]>>2]|0,0,0)|0,-6)|0;jy(c[N>>2]|0,8);f=3}else f=0;a[T+1>>0]=f;if((c[w>>2]|0)==0&(c[Q>>2]|0)==0){b[x>>1]=d[T>>0]|0?256:0;b[x>>1]=e[x>>1]|c[(c[ja>>2]|0)+8>>2]&16384;c[Ba>>2]=FB(c[aa>>2]|0,c[P>>2]|0,c[B>>2]|0,c[U>>2]|0,c[c[ja>>2]>>2]|0,b[x>>1]|0,b[(c[ja>>2]|0)+6>>1]|0)|0;if(!(c[Ba>>2]|0))break;Aa=(FE(c[Ba>>2]|0)|0)<<16>>16;if((Aa|0)<(b[(c[ja>>2]|0)+6>>1]|0)){Aa=FE(c[Ba>>2]|0)|0;b[(c[ja>>2]|0)+6>>1]=Aa}do if(d[T>>0]|0){if(!(GE(c[Ba>>2]|0)|0))break;a[T+1>>0]=GE(c[Ba>>2]|0)|0}while(0);do if(c[U>>2]|0){c[U+4>>2]=HE(c[Ba>>2]|0)|0;a[U+29>>0]=IE(c[Ba>>2]|0)|0;if((c[U+4>>2]|0)!=(c[c[U>>2]>>2]|0))break;c[U>>2]=0}while(0);do if((c[U+20>>2]|0)>=0){if(c[U>>2]|0)break;Ry(c[N>>2]|0,c[U+20>>2]|0)|0}while(0);wa=c[aa>>2]|0;xa=c[ja>>2]|0;ya=c[O>>2]|0;za=c[ua>>2]|0;Aa=JE(c[Ba>>2]|0)|0;LE(wa,xa,ya,-1,U,T,za,Aa,KE(c[Ba>>2]|0)|0);GB(c[Ba>>2]|0)}else{c[fa>>2]=0;c[ga>>2]=0;c[ha>>2]=0;f=c[ja>>2]|0;do if(c[Q>>2]|0){c[y>>2]=c[c[f>>2]>>2];c[z>>2]=c[(c[c[ja>>2]>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;b[(c[z>>2]|0)+16+2>>1]=0;c[y>>2]=(c[y>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+20}c[y>>2]=c[c[Q>>2]>>2];c[z>>2]=c[(c[Q>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;b[(c[z>>2]|0)+16+2>>1]=0;c[y>>2]=(c[y>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+20}if((b[(c[ja>>2]|0)+6>>1]|0)<=66)break;g=66;f=c[ja>>2]|0;A=85}else{g=0;A=85}while(0);if((A|0)==85)b[f+6>>1]=g;if(!(Zw(c[Q>>2]|0,c[U>>2]|0,-1)|0))c[ha>>2]=1;c[ea>>2]=ky(c[N>>2]|0)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[C+24>>2]=0;c[C+28>>2]=0;c[C>>2]=c[aa>>2];c[C+4>>2]=c[P>>2];c[C+12>>2]=V;c[V+16>>2]=(c[(c[aa>>2]|0)+44>>2]|0)+1;if(c[Q>>2]|0)f=c[c[Q>>2]>>2]|0;else f=0;c[V+12>>2]=f;c[V+24>>2]=c[Q>>2];ME(C,c[O>>2]|0);ME(C,c[U>>2]|0);if(c[R>>2]|0)NE(C,c[R>>2]|0);c[V+36>>2]=c[V+32>>2];c[za>>2]=0;while(1){if((c[za>>2]|0)>=(c[V+44>>2]|0))break;A=C+28|0;b[A>>1]=e[A>>1]|8;ME(C,c[(c[(c[V+40>>2]|0)+(c[za>>2]<<4)>>2]|0)+20>>2]|0);A=C+28|0;b[A>>1]=e[A>>1]&-9;c[za>>2]=(c[za>>2]|0)+1}c[V+20>>2]=c[(c[aa>>2]|0)+44>>2];if(a[(c[X>>2]|0)+69>>0]|0)break;if(c[Q>>2]|0){L=(c[aa>>2]|0)+40|0;M=c[L>>2]|0;c[L>>2]=M+1;c[V+4>>2]=M;c[ia>>2]=CE(c[aa>>2]|0,c[Q>>2]|0,0,c[V+32>>2]|0)|0;c[pa>>2]=Uu(c[N>>2]|0,108,c[V+4>>2]|0,c[V+12>>2]|0,0,c[ia>>2]|0,-6)|0;M=(c[aa>>2]|0)+44|0;L=(c[M>>2]|0)+1|0;c[M>>2]=L;c[ba>>2]=L;L=(c[aa>>2]|0)+44|0;M=(c[L>>2]|0)+1|0;c[L>>2]=M;c[ca>>2]=M;M=(c[aa>>2]|0)+44|0;L=(c[M>>2]|0)+1|0;c[M>>2]=L;c[ma>>2]=L;c[la>>2]=ky(c[N>>2]|0)|0;L=(c[aa>>2]|0)+44|0;M=(c[L>>2]|0)+1|0;c[L>>2]=M;c[ra>>2]=M;c[qa>>2]=ky(c[N>>2]|0)|0;c[_>>2]=(c[(c[aa>>2]|0)+44>>2]|0)+1;M=(c[aa>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[Q>>2]>>2]|0);c[$>>2]=(c[(c[aa>>2]|0)+44>>2]|0)+1;M=(c[aa>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[Q>>2]>>2]|0);Qu(c[N>>2]|0,76,0,c[ca>>2]|0)|0;Qu(c[N>>2]|0,76,0,c[ba>>2]|0)|0;Ru(c[N>>2]|0,79,0,c[_>>2]|0,(c[_>>2]|0)+(c[c[Q>>2]>>2]|0)-1|0)|0;Qu(c[N>>2]|0,14,c[ra>>2]|0,c[qa>>2]|0)|0;c[Ba>>2]=FB(c[aa>>2]|0,c[P>>2]|0,c[B>>2]|0,c[Q>>2]|0,0,(64|(c[ha>>2]|0?512:0))&65535,0)|0;if(!(c[Ba>>2]|0))break;M=HE(c[Ba>>2]|0)|0;if((M|0)==(c[c[Q>>2]>>2]|0))c[da>>2]=0;else{if(d[T>>0]|0)f=(c[(c[ja>>2]|0)+8>>2]&1|0)==0;else f=0;OE(c[aa>>2]|0,f?35094:35103);c[da>>2]=1;c[wa>>2]=c[c[Q>>2]>>2];c[va>>2]=c[wa>>2];c[Aa>>2]=c[wa>>2];c[za>>2]=0;while(1){if((c[za>>2]|0)>=(c[V+32>>2]|0))break;if((c[(c[V+28>>2]|0)+((c[za>>2]|0)*24|0)+12>>2]|0)>=(c[Aa>>2]|0)){c[va>>2]=(c[va>>2]|0)+1;c[Aa>>2]=(c[Aa>>2]|0)+1}c[za>>2]=(c[za>>2]|0)+1}c[sa>>2]=My(c[aa>>2]|0,c[va>>2]|0)|0;EA(c[aa>>2]|0);fz(c[aa>>2]|0,c[Q>>2]|0,c[sa>>2]|0,0,0)|0;c[Aa>>2]=c[wa>>2];c[za>>2]=0;while(1){if((c[za>>2]|0)>=(c[V+32>>2]|0))break;c[xa>>2]=(c[V+28>>2]|0)+((c[za>>2]|0)*24|0);if((c[(c[xa>>2]|0)+12>>2]|0)>=(c[Aa>>2]|0)){c[ya>>2]=(c[Aa>>2]|0)+(c[sa>>2]|0);kC(c[aa>>2]|0,c[c[xa>>2]>>2]|0,c[(c[xa>>2]|0)+8>>2]|0,c[(c[xa>>2]|0)+4>>2]|0,c[ya>>2]|0);c[Aa>>2]=(c[Aa>>2]|0)+1}c[za>>2]=(c[za>>2]|0)+1}c[ta>>2]=Ov(c[aa>>2]|0)|0;Ru(c[N>>2]|0,99,c[sa>>2]|0,c[va>>2]|0,c[ta>>2]|0)|0;Qu(c[N>>2]|0,125,c[V+4>>2]|0,c[ta>>2]|0)|0;Qv(c[aa>>2]|0,c[ta>>2]|0);Py(c[aa>>2]|0,c[sa>>2]|0,c[va>>2]|0);GB(c[Ba>>2]|0);ya=(c[aa>>2]|0)+40|0;za=c[ya>>2]|0;c[ya>>2]=za+1;c[fa>>2]=za;c[V+8>>2]=za;c[ga>>2]=Ov(c[aa>>2]|0)|0;Ru(c[N>>2]|0,110,c[fa>>2]|0,c[ga>>2]|0,c[va>>2]|0)|0;Qu(c[N>>2]|0,55,c[V+4>>2]|0,c[ea>>2]|0)|0;a[V+1>>0]=1;EA(c[aa>>2]|0)}do if(c[ha>>2]|0){if(e[(c[X>>2]|0)+64>>1]&4|0)break;if((c[da>>2]|0)==0?(PE(c[Ba>>2]|0)|0)==0:0)break;c[U>>2]=0;Ry(c[N>>2]|0,c[U+20>>2]|0)|0}while(0);c[oa>>2]=Pv(c[N>>2]|0)|0;EA(c[aa>>2]|0);if(c[da>>2]|0)Ru(c[N>>2]|0,120,c[V+4>>2]|0,c[ga>>2]|0,c[fa>>2]|0)|0;c[Aa>>2]=0;while(1){if((c[Aa>>2]|0)>=(c[c[Q>>2]>>2]|0))break;if(c[da>>2]|0)Ru(c[N>>2]|0,96,c[fa>>2]|0,c[Aa>>2]|0,(c[$>>2]|0)+(c[Aa>>2]|0)|0)|0;else{a[V>>0]=1;Wy(c[aa>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[Aa>>2]|0)*20|0)>>2]|0,(c[$>>2]|0)+(c[Aa>>2]|0)|0)}c[Aa>>2]=(c[Aa>>2]|0)+1}xa=c[N>>2]|0;ya=c[_>>2]|0;za=c[$>>2]|0;Aa=c[c[Q>>2]>>2]|0;Uu(xa,95,ya,za,Aa,Dy(c[ia>>2]|0)|0,-6)|0;c[ka>>2]=Pv(c[N>>2]|0)|0;Ru(c[N>>2]|0,18,(c[ka>>2]|0)+1|0,0,(c[ka>>2]|0)+1|0)|0;QE(c[aa>>2]|0,c[$>>2]|0,c[_>>2]|0,c[c[Q>>2]>>2]|0);Qu(c[N>>2]|0,14,c[ma>>2]|0,c[la>>2]|0)|0;Qu(c[N>>2]|0,66,c[ca>>2]|0,c[ea>>2]|0)|0;Qu(c[N>>2]|0,14,c[ra>>2]|0,c[qa>>2]|0)|0;ny(c[N>>2]|0,c[ka>>2]|0);RE(c[aa>>2]|0,V);Qu(c[N>>2]|0,76,1,c[ba>>2]|0)|0;if(c[da>>2]|0)Qu(c[N>>2]|0,3,c[V+4>>2]|0,c[oa>>2]|0)|0;else{GB(c[Ba>>2]|0);Ry(c[N>>2]|0,c[pa>>2]|0)|0}Qu(c[N>>2]|0,14,c[ma>>2]|0,c[la>>2]|0)|0;my(c[N>>2]|0,c[ea>>2]|0)|0;c[na>>2]=Pv(c[N>>2]|0)|0;Qu(c[N>>2]|0,76,1,c[ca>>2]|0)|0;ey(c[N>>2]|0,72,c[ma>>2]|0)|0;oy(c[N>>2]|0,c[la>>2]|0);c[la>>2]=Pv(c[N>>2]|0)|0;Qu(c[N>>2]|0,66,c[ba>>2]|0,(c[la>>2]|0)+2|0)|0;ey(c[N>>2]|0,72,c[ma>>2]|0)|0;SE(c[aa>>2]|0,V);nz(c[aa>>2]|0,c[R>>2]|0,(c[la>>2]|0)+1|0,16);LE(c[aa>>2]|0,c[ja>>2]|0,c[c[ja>>2]>>2]|0,-1,U,T,c[ua>>2]|0,(c[la>>2]|0)+1|0,c[na>>2]|0);ey(c[N>>2]|0,72,c[ma>>2]|0)|0;oy(c[N>>2]|0,c[qa>>2]|0);TE(c[aa>>2]|0,V);ey(c[N>>2]|0,72,c[ra>>2]|0)|0}else{c[D>>2]=0;Aa=UE(c[ja>>2]|0,V)|0;c[E>>2]=Aa;if(Aa|0){c[F>>2]=Hu(c[c[aa>>2]>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;Aa=(c[aa>>2]|0)+40|0;Ba=c[Aa>>2]|0;c[Aa>>2]=Ba+1;c[G>>2]=Ba;c[I>>2]=0;c[J>>2]=0;c[K>>2]=c[(c[E>>2]|0)+28>>2];dv(c[aa>>2]|0,c[F>>2]|0);gy(c[aa>>2]|0,c[F>>2]|0,c[(c[E>>2]|0)+28>>2]|0,0,c[c[E>>2]>>2]|0);if(d[(c[E>>2]|0)+42>>0]&32|0)c[J>>2]=uv(c[E>>2]|0)|0;c[H>>2]=c[(c[E>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;do if(!((d[(c[H>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[E>>2]|0)+40>>1]|0))break;if(c[(c[H>>2]|0)+36>>2]|0)break;if(c[J>>2]|0?(b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[J>>2]|0)+48>>1]|0):0)break;c[J>>2]=c[H>>2]}while(0);c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[J>>2]|0){c[K>>2]=c[(c[J>>2]|0)+44>>2];c[I>>2]=xy(c[aa>>2]|0,c[J>>2]|0)|0}zy(c[N>>2]|0,104,c[G>>2]|0,c[K>>2]|0,c[F>>2]|0,1)|0;if(c[I>>2]|0)Vu(c[N>>2]|0,-1,c[I>>2]|0,-6);Qu(c[N>>2]|0,100,c[G>>2]|0,c[(c[V+40>>2]|0)+8>>2]|0)|0;ey(c[N>>2]|0,111,c[G>>2]|0)|0;VE(c[aa>>2]|0,c[E>>2]|0,c[J>>2]|0)}else{c[L>>2]=0;a[M>>0]=0;if(!(c[(c[ja>>2]|0)+40>>2]|0))a[M>>0]=WE(V,L)|0;do if(a[M>>0]|0){c[L>>2]=cx(c[X>>2]|0,c[L>>2]|0,0)|0;c[D>>2]=c[L>>2];if(a[(c[X>>2]|0)+69>>0]|0)break;a[(c[(c[L>>2]|0)+4>>2]|0)+12>>0]=(d[M>>0]|0)!=1?1:0;a[c[c[(c[L>>2]|0)+4>>2]>>2]>>0]=-104}while(0);TE(c[aa>>2]|0,V);c[Ba>>2]=FB(c[aa>>2]|0,c[P>>2]|0,c[B>>2]|0,c[L>>2]|0,0,d[M>>0]|0,0)|0;if(!(c[Ba>>2]|0)){Kk(c[X>>2]|0,c[D>>2]|0);break}RE(c[aa>>2]|0,V);if((HE(c[Ba>>2]|0)|0)>0){Aa=c[N>>2]|0;my(Aa,KE(c[Ba>>2]|0)|0)|0}GB(c[Ba>>2]|0);SE(c[aa>>2]|0,V)}c[U>>2]=0;nz(c[aa>>2]|0,c[R>>2]|0,c[ea>>2]|0,16);LE(c[aa>>2]|0,c[ja>>2]|0,c[c[ja>>2]>>2]|0,-1,0,0,c[ua>>2]|0,c[ea>>2]|0,c[ea>>2]|0);Kk(c[X>>2]|0,c[D>>2]|0)}oy(c[N>>2]|0,c[ea>>2]|0)}if((d[T+1>>0]|0)==3)OE(c[aa>>2]|0,35094);if(c[U>>2]|0){OE(c[aa>>2]|0,(c[U+4>>2]|0)>0?35112:35135);XE(c[aa>>2]|0,c[ja>>2]|0,U,c[c[O>>2]>>2]|0,c[ua>>2]|0)}oy(c[N>>2]|0,c[W>>2]|0);c[S>>2]=(c[(c[aa>>2]|0)+36>>2]|0)>0&1}}while(0);c[(c[aa>>2]|0)+420>>2]=c[Y>>2];if((c[S>>2]|0)==0?(d[c[ua>>2]>>0]|0)==9:0)YE(c[aa>>2]|0,c[P>>2]|0,c[O>>2]|0);Xd(c[X>>2]|0,c[V+28>>2]|0);Xd(c[X>>2]|0,c[V+40>>2]|0);c[Z>>2]=c[S>>2];Ba=c[Z>>2]|0;l=Ca;return Ba|0}c[Z>>2]=1;Ba=c[Z>>2]|0;l=Ca;return Ba|0}function Bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+48>>2]|0)){l=k;return}c[f>>2]=0;c[i>>2]=0;c[g>>2]=c[e>>2];while(1){if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+52>>2]=c[f>>2];b=(c[g>>2]|0)+8|0;c[b>>2]=c[b>>2]|256;c[f>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+48>>2];c[i>>2]=(c[i>>2]|0)+1}if(c[(c[e>>2]|0)+8>>2]&1024|0){l=k;return}g=c[(c[c[d>>2]>>2]|0)+96+16>>2]|0;c[h>>2]=g;if((g|0)<=0){l=k;return}if((c[i>>2]|0)<=(c[h>>2]|0)){l=k;return}sl(c[d>>2]|0,35020,j);l=k;return}function Ct(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;v=x;t=x+44|0;u=x+40|0;j=x+36|0;k=x+32|0;m=x+28|0;n=x+24|0;o=x+20|0;p=x+16|0;q=x+12|0;r=x+8|0;s=x+4|0;c[u>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[s>>2]=c[c[u>>2]>>2];if(!(c[j>>2]|0)?(c[p>>2]|0)!=0|(c[q>>2]|0)!=0:0){u=c[u>>2]|0;c[v>>2]=c[p>>2]|0?34975:34978;sl(u,34984,v)}else w=4;if(((w|0)==4?(c[j>>2]=Lt(c[s>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0,c[j>>2]|0):0)?c[c[j>>2]>>2]|0:0){c[r>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if(c[(c[n>>2]|0)+4>>2]|0){w=Eu(c[s>>2]|0,c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=w}c[(c[r>>2]|0)+20>>2]=c[o>>2];c[(c[r>>2]|0)+48>>2]=c[p>>2];c[(c[r>>2]|0)+52>>2]=c[q>>2];c[t>>2]=c[j>>2];w=c[t>>2]|0;l=x;return w|0}Ok(c[s>>2]|0,c[p>>2]|0);Tk(c[s>>2]|0,c[q>>2]|0);Jk(c[s>>2]|0,c[o>>2]|0);c[t>>2]=0;w=c[t>>2]|0;l=x;return w|0}function Dt(d,e,f,g,h,i,j,k,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;y=B+72|0;z=B+4|0;A=B;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=i;c[u>>2]=j;c[v>>2]=k;c[w>>2]=m;c[x>>2]=n;c[A>>2]=c[c[o>>2]>>2];n=Ed(c[A>>2]|0,68,0)|0;c[y>>2]=n;c[y>>2]=(c[y>>2]|0)==0?z:n;if(!(c[p>>2]|0)){n=c[o>>2]|0;c[p>>2]=Et(n,0,Ht(c[A>>2]|0,160,0)|0)|0}c[c[y>>2]>>2]=c[p>>2];a[(c[y>>2]|0)+4>>0]=119;c[(c[y>>2]|0)+8>>2]=c[v>>2];c[(c[y>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+16>>2]=0;c[(c[y>>2]|0)+20>>2]=-1;c[(c[y>>2]|0)+20+4>>2]=-1;b[(c[y>>2]|0)+6>>1]=0;if(!(c[q>>2]|0))c[q>>2]=_l(c[A>>2]|0,80,0)|0;c[(c[y>>2]|0)+28>>2]=c[q>>2];c[(c[y>>2]|0)+32>>2]=c[r>>2];c[(c[y>>2]|0)+36>>2]=c[s>>2];c[(c[y>>2]|0)+40>>2]=c[t>>2];c[(c[y>>2]|0)+44>>2]=c[u>>2];c[(c[y>>2]|0)+48>>2]=0;c[(c[y>>2]|0)+52>>2]=0;c[(c[y>>2]|0)+56>>2]=c[w>>2];c[(c[y>>2]|0)+60>>2]=c[x>>2];c[(c[y>>2]|0)+64>>2]=0;if(!(a[(c[A>>2]|0)+69>>0]|0)){n=c[y>>2]|0;l=B;return n|0}Qk(c[A>>2]|0,c[y>>2]|0,(c[y>>2]|0)!=(z|0)&1);c[y>>2]=0;n=c[y>>2]|0;l=B;return n|0}function Et(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+24|0;m=k+20|0;g=k+16|0;h=k+12|0;i=k+8|0;e=k+4|0;j=k;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=Ed(c[i>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=Ed(c[i>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)a=7;else a=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=de(c[i>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))a=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];a=7}}else a=7;if((a|0)==7){i=c[(c[g>>2]|0)+4>>2]|0;e=c[g>>2]|0;m=c[e>>2]|0;c[e>>2]=m+1;c[j>>2]=i+(m*20|0);m=c[j>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[j>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;l=k;return m|0}else if((a|0)==8){Ok(c[i>>2]|0,c[h>>2]|0);Kk(c[i>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;l=k;return m|0}return 0}function Ft(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(!(c[g>>2]|0)){l=k;return}c[j>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);h=Uj(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[j>>2]|0)+4>>2]=h;if(!(c[i>>2]|0)){l=k;return}Vj(c[(c[j>>2]|0)+4>>2]|0);l=k;return}function Gt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[j>>2]>>2];if(!(c[e>>2]|0)){l=i;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Xd(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);j=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;j=Uj(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,j,((j|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=j;l=i;return}function Ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;f=i+16|0;g=i+12|0;e=i+8|0;h=i;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)a=md(c[e>>2]|0)|0;else a=0;c[h+4>>2]=a;h=Wt(c[f>>2]|0,c[g>>2]|0,h,0)|0;l=i;return h|0}function It(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){l=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){b=(c[d>>2]|0)+8|0;if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[b+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[b+36>>0]=0;l=f;return}function Jt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){l=j;return}if((c[c[g>>2]>>2]|0)<=0){l=j;return}c[i>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){i=(c[i>>2]|0)+36+1|0;a[i>>0]=a[i>>0]&-2|1;l=j;return}h=Eu(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[i>>2]|0)+64>>2]=h;h=(c[i>>2]|0)+36+1|0;a[h>>0]=a[h>>0]&-3|((c[(c[i>>2]|0)+64>>2]|0)!=0&1)<<1&255;l=j;return}function Kt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[i>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[i>>2]|0)+64>>2]=c[h>>2];i=(c[i>>2]|0)+36+1|0;a[i>>0]=a[i>>0]&-5|4;l=j;return}else{Kk(c[c[f>>2]>>2]|0,c[h>>2]|0);l=j;return}}function Lt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;g=o;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=Ed(c[i>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}while(0);c[j>>2]=wE(c[i>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[i>>2]|0)+69>>0]|0){Rk(c[i>>2]|0,c[j>>2]|0);c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}c[n>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if(c[m>>2]|0?(c[c[m>>2]>>2]|0)==0:0)c[m>>2]=0;if(c[m>>2]|0){c[g>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[g>>2]}k=Eu(c[i>>2]|0,c[k>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=k;m=Eu(c[i>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+4>>2]=m;c[h>>2]=c[j>>2];n=c[h>>2]|0;l=o;return n|0}function Mt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;s=u+16|0;r=u;k=u+64|0;m=u+60|0;n=u+56|0;o=u+52|0;p=u+48|0;q=u+36|0;g=u+32|0;h=u+28|0;i=u+24|0;j=u+20|0;c[k>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=0;c[q>>2]=c[m>>2];c[q+4>>2]=c[n>>2];c[q+8>>2]=c[o>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=3)break;if(!(c[q+(c[h>>2]<<2)>>2]|0))break;c[g>>2]=c[q+(c[h>>2]<<2)>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=7)break;if((c[(c[g>>2]|0)+4>>2]|0)==(d[34821+((c[i>>2]|0)*3|0)+1>>0]|0|0)?(ld(c[c[g>>2]>>2]|0,34842+(d[34821+((c[i>>2]|0)*3|0)>>0]|0)|0,c[(c[g>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[i>>2]=(c[i>>2]|0)+1}if((t|0)==8){t=0;c[p>>2]=c[p>>2]|(d[34821+((c[i>>2]|0)*3|0)+2>>0]|0)}if((c[i>>2]|0)>=7){t=11;break}c[h>>2]=(c[h>>2]|0)+1}if((t|0)==11)c[p>>2]=c[p>>2]|64;if((c[p>>2]&33|0)!=33?(c[p>>2]&64|0)==0:0){if(!(c[p>>2]&32)){t=c[p>>2]|0;l=u;return t|0}if((c[p>>2]&24|0)==8){t=c[p>>2]|0;l=u;return t|0}sl(c[k>>2]|0,34920,s);c[p>>2]=1;t=c[p>>2]|0;l=u;return t|0}c[j>>2]=23021;if(!(c[o>>2]|0))c[j>>2]=(c[j>>2]|0)+1;t=c[k>>2]|0;n=c[n>>2]|0;q=c[j>>2]|0;s=c[o>>2]|0;c[r>>2]=c[m>>2];c[r+4>>2]=n;c[r+8>>2]=q;c[r+12>>2]=s;sl(t,34876,r);c[p>>2]=1;t=c[p>>2]|0;l=u;return t|0}function Nt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){l=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];l=g;return}function Ot(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;h=i+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){l=i;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+472>>2];c[(c[f>>2]|0)+472>>2]=c[g>>2];if(!(a[h>>0]|0)){l=i;return}c[(c[f>>2]|0)+476>>2]=c[g>>2];l=i;return}function Pt(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+192|0;P=X+176|0;S=X+172|0;T=X+168|0;U=X+164|0;V=X+160|0;W=X+156|0;F=X+152|0;G=X+148|0;i=X+144|0;H=X+140|0;I=X+136|0;j=X+132|0;J=X+128|0;K=X+120|0;k=X+88|0;m=X+84|0;L=X+80|0;n=X+76|0;u=X+72|0;v=X+64|0;M=X+60|0;N=X+56|0;o=X+52|0;p=X+184|0;w=X+48|0;x=X+182|0;O=X+44|0;y=X+40|0;z=X+36|0;Q=X+32|0;q=X+28|0;A=X+24|0;R=X+20|0;B=X+16|0;r=X+180|0;s=X+12|0;C=X+8|0;D=X+4|0;E=X;c[P>>2]=f;c[S>>2]=g;c[T>>2]=h;c[H>>2]=0;c[I>>2]=0;c[L>>2]=-1;c[M>>2]=0;c[o>>2]=0;b[p>>1]=1;c[O>>2]=0;c[y>>2]=0;c[z>>2]=0;c[Q>>2]=0;c[q>>2]=0;c[K>>2]=0;c[K+4>>2]=0;c[J>>2]=c[c[P>>2]>>2];a:do if(((c[(c[P>>2]|0)+36>>2]|0)==0?(d[(c[J>>2]|0)+69>>0]|0)==0:0)?(c[V>>2]=bA(c[P>>2]|0,c[S>>2]|0)|0,c[V>>2]|0):0){c[B>>2]=gB(c[P>>2]|0,c[V>>2]|0,109,0,0)|0;c[R>>2]=(c[(c[V>>2]|0)+12>>2]|0)!=0&1;if(c[B>>2]|0)f=1;else f=(zD(c[P>>2]|0,c[V>>2]|0,0,0)|0)!=0;c[A>>2]=f&1;if(((ew(c[P>>2]|0,c[V>>2]|0)|0)==0?(hB(c[P>>2]|0,c[V>>2]|0,c[B>>2]|0?1:0)|0)==0:0)?(c[m>>2]=Hu(c[J>>2]|0,c[(c[V>>2]|0)+64>>2]|0)|0,c[n>>2]=Iu(c[P>>2]|0,9,c[c[V>>2]>>2]|0,0,c[(c[(c[J>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0,(c[n>>2]|0)!=1):0){g=(c[P>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[(c[S>>2]|0)+8+44>>2]=h;c[i>>2]=h;c[j>>2]=0;c[G>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[G>>2]|0))break;h=(c[P>>2]|0)+40|0;c[h>>2]=(c[h>>2]|0)+1;c[G>>2]=c[(c[G>>2]|0)+20>>2];c[j>>2]=(c[j>>2]|0)+1}if(c[R>>2]|0)rE(c[P>>2]|0,K,c[c[V>>2]>>2]|0);c[U>>2]=Lu(c[P>>2]|0)|0;if(c[U>>2]|0){if(!(d[(c[P>>2]|0)+18>>0]|0))iB(c[U>>2]|0);cv(c[P>>2]|0,1,c[m>>2]|0);if(c[R>>2]|0){sE(c[P>>2]|0,c[V>>2]|0,c[T>>2]|0,c[i>>2]|0);h=c[i>>2]|0;c[I>>2]=h;c[H>>2]=h};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=c[P>>2];c[k+4>>2]=c[S>>2];if(!(Ow(k,c[T>>2]|0)|0)){if(c[(c[J>>2]|0)+24>>2]&128|0){g=(c[P>>2]|0)+44|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[L>>2]=h;Qu(c[U>>2]|0,76,0,c[L>>2]|0)|0}b:do if(!((c[n>>2]|0)==0&(c[T>>2]|0)==0^1|(c[A>>2]|0)!=0)?!(d[(c[V>>2]|0)+42>>0]&16|0):0){gy(c[P>>2]|0,c[m>>2]|0,c[(c[V>>2]|0)+28>>2]|0,1,c[c[V>>2]>>2]|0);if(!(d[(c[V>>2]|0)+42>>0]&32))Uu(c[U>>2]|0,131,c[(c[V>>2]|0)+28>>2]|0,c[m>>2]|0,c[L>>2]|0,c[c[V>>2]>>2]|0,-2)|0;c[G>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[G>>2]|0))break b;Qu(c[U>>2]|0,131,c[(c[G>>2]|0)+44>>2]|0,c[m>>2]|0)|0;c[G>>2]=c[(c[G>>2]|0)+20>>2]}}else t=29;while(0);c:do if((t|0)==29){b[r>>1]=1044;if(e[k+28>>1]&64|0)c[A>>2]=1;b[r>>1]=e[r>>1]|(c[A>>2]|0?0:8);if(!(d[(c[V>>2]|0)+42>>0]&32)){c[N>>2]=0;b[p>>1]=1;n=(c[P>>2]|0)+44|0;t=(c[n>>2]|0)+1|0;c[n>>2]=t;c[y>>2]=t;Qu(c[U>>2]|0,79,0,c[y>>2]|0)|0}else{c[N>>2]=uv(c[V>>2]|0)|0;b[p>>1]=b[(c[N>>2]|0)+50>>1]|0;c[o>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;n=(c[P>>2]|0)+44|0;c[n>>2]=(c[n>>2]|0)+(b[p>>1]|0);n=(c[P>>2]|0)+40|0;t=c[n>>2]|0;c[n>>2]=t+1;c[O>>2]=t;c[q>>2]=Qu(c[U>>2]|0,107,c[O>>2]|0,b[p>>1]|0)|0;iy(c[P>>2]|0,c[N>>2]|0)}c[F>>2]=FB(c[P>>2]|0,c[S>>2]|0,c[T>>2]|0,0,0,b[r>>1]|0,(c[i>>2]|0)+1|0)|0;if(!(c[F>>2]|0))break a;c[u>>2]=uE(c[F>>2]|0,v)|0;if(c[(c[J>>2]|0)+24>>2]&128|0)Qu(c[U>>2]|0,91,c[L>>2]|0,1)|0;do if(c[N>>2]|0){c[W>>2]=0;while(1){if((c[W>>2]|0)>=(b[p>>1]|0))break;Ty(c[U>>2]|0,c[V>>2]|0,c[i>>2]|0,b[(c[(c[N>>2]|0)+4>>2]|0)+(c[W>>2]<<1)>>1]|0,(c[o>>2]|0)+(c[W>>2]|0)|0);c[W>>2]=(c[W>>2]|0)+1}c[w>>2]=c[o>>2]}else{c[w>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;c[w>>2]=Yy(c[P>>2]|0,c[V>>2]|0,-1,c[i>>2]|0,c[w>>2]|0,0)|0;if((c[w>>2]|0)<=(c[(c[P>>2]|0)+44>>2]|0))break;c[(c[P>>2]|0)+44>>2]=c[w>>2]}while(0);do if(!(c[u>>2]|0))if(c[N>>2]|0){q=(c[P>>2]|0)+44|0;n=(c[q>>2]|0)+1|0;c[q>>2]=n;c[w>>2]=n;b[x>>1]=0;n=c[U>>2]|0;o=c[o>>2]|0;q=b[p>>1]|0;r=c[w>>2]|0;t=CA(c[c[P>>2]>>2]|0,c[N>>2]|0)|0;Uu(n,99,o,q,r,t,b[p>>1]|0)|0;Qu(c[U>>2]|0,126,c[O>>2]|0,c[w>>2]|0)|0;break}else{b[x>>1]=1;Qu(c[U>>2]|0,142,c[y>>2]|0,c[w>>2]|0)|0;break}else{b[x>>1]=b[p>>1]|0;t=(c[j>>2]|0)+2|0;c[M>>2]=Ed(c[J>>2]|0,t,((t|0)<0)<<31>>31)|0;if(!(c[M>>2]|0)){GB(c[F>>2]|0);break a}m0(c[M>>2]|0,1,(c[j>>2]|0)+1|0)|0;a[(c[M>>2]|0)+((c[j>>2]|0)+1)>>0]=0;if((c[v>>2]|0)>=0)a[(c[M>>2]|0)+((c[v>>2]|0)-(c[i>>2]|0))>>0]=0;if((c[v+4>>2]|0)>=0)a[(c[M>>2]|0)+((c[v+4>>2]|0)-(c[i>>2]|0))>>0]=0;if(!(c[q>>2]|0))break;Ry(c[U>>2]|0,c[q>>2]|0)|0}while(0);if(c[u>>2]|0)c[z>>2]=ky(c[U>>2]|0)|0;else GB(c[F>>2]|0);do if(!(c[R>>2]|0)){c[s>>2]=0;if((c[u>>2]|0)==2)c[s>>2]=Nu(c[U>>2]|0,20)|0;FA(c[P>>2]|0,c[V>>2]|0,105,8,c[i>>2]|0,c[M>>2]|0,H,I)|0;if((c[u>>2]|0)!=2)break;ny(c[U>>2]|0,c[s>>2]|0)}while(0);do if(!(c[u>>2]|0)){f=c[U>>2]|0;if(c[N>>2]|0){c[Q>>2]=ey(f,57,c[O>>2]|0)|0;Qu(c[U>>2]|0,121,c[O>>2]|0,c[w>>2]|0)|0;break}else{c[Q>>2]=Ru(f,62,c[y>>2]|0,0,c[w>>2]|0)|0;break}}else{if(d[(c[V>>2]|0)+42>>0]&16|0)break;if(!(d[(c[M>>2]|0)+((c[H>>2]|0)-(c[i>>2]|0))>>0]|0))break;zy(c[U>>2]|0,30,c[H>>2]|0,c[z>>2]|0,c[w>>2]|0,b[x>>1]|0)|0}while(0);do if(d[(c[V>>2]|0)+42>>0]&16|0){c[C>>2]=fw(c[J>>2]|0,c[V>>2]|0)|0;sB(c[P>>2]|0,c[V>>2]|0);Uu(c[U>>2]|0,12,0,1,c[w>>2]|0,c[C>>2]|0,-10)|0;jy(c[U>>2]|0,2);gw(c[P>>2]|0);if((c[u>>2]|0)!=1)break;if(c[(c[P>>2]|0)+124>>2]|0)break;a[(c[P>>2]|0)+20>>0]=0}else{c[D>>2]=(d[(c[P>>2]|0)+18>>0]|0)==0&1;c[E>>2]=-1;do if(!(c[A>>2]|0)){if((c[v+4>>2]|0)==(c[H>>2]|0))break;c[E>>2]=c[v+4>>2]}while(0);BD(c[P>>2]|0,c[V>>2]|0,c[B>>2]|0,c[H>>2]|0,c[I>>2]|0,c[w>>2]|0,b[x>>1]|0,c[D>>2]&255,10,c[u>>2]&255,c[E>>2]|0)}while(0);do if(!(c[u>>2]|0)){f=c[U>>2]|0;if(c[N>>2]|0){Qu(f,7,c[O>>2]|0,(c[Q>>2]|0)+1|0)|0;ny(c[U>>2]|0,c[Q>>2]|0);break}else{my(f,c[Q>>2]|0)|0;ny(c[U>>2]|0,c[Q>>2]|0);break}}else{oy(c[U>>2]|0,c[z>>2]|0);GB(c[F>>2]|0)}while(0);if(c[R>>2]|0)break;if(d[(c[V>>2]|0)+42>>0]&16|0)break;if(!(c[N>>2]|0))ey(c[U>>2]|0,111,c[H>>2]|0)|0;c[W>>2]=0;c[G>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[G>>2]|0))break c;ey(c[U>>2]|0,111,(c[I>>2]|0)+(c[W>>2]|0)|0)|0;c[W>>2]=(c[W>>2]|0)+1;c[G>>2]=c[(c[G>>2]|0)+20>>2]}}while(0);if((d[(c[P>>2]|0)+18>>0]|0)==0?(c[(c[P>>2]|0)+128>>2]|0)==0:0)wB(c[P>>2]|0);if((c[(c[J>>2]|0)+24>>2]&128|0?(a[(c[P>>2]|0)+18>>0]|0)==0:0)?(c[(c[P>>2]|0)+128>>2]|0)==0:0){Qu(c[U>>2]|0,87,c[L>>2]|0,1)|0;Rs(c[U>>2]|0,1);Ss(c[U>>2]|0,0,0,34808,0)|0}}}}}while(0);vE(K);Rk(c[J>>2]|0,c[S>>2]|0);Ok(c[J>>2]|0,c[T>>2]|0);Xd(c[J>>2]|0,c[M>>2]|0);l=X;return}function Qt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+96+8>>2];if(!(c[f>>2]|0)){l=j;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){l=j;return}h=c[e>>2]|0;c[i>>2]=c[g>>2];sl(h,34785,i);l=j;return} +function MF(f){f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,S=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Cb=0,Db=0,Eb=0,Gb=0,Jb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Pd=0,Qd=0,Rd=0,Td=0,Ud=0,Vd=0,Wd=0,Yd=0,Zd=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0.0,Bf=0;yf=l;l=l+1872|0;Ve=yf+536|0;Ue=yf+528|0;Te=yf+520|0;hf=yf+504|0;gf=yf+496|0;ef=yf+488|0;df=yf+480|0;cf=yf+472|0;bf=yf+464|0;af=yf+456|0;$e=yf+440|0;jf=yf+432|0;_e=yf+424|0;Ze=yf+416|0;Ye=yf+408|0;Xe=yf+400|0;We=yf+392|0;pf=yf+376|0;of=yf+368|0;nf=yf+360|0;mf=yf+352|0;tf=yf+1656|0;qf=yf+1652|0;rf=yf+1648|0;vf=yf+1644|0;wf=yf+1640|0;ff=yf+1862|0;ne=yf+1861|0;ye=yf+1636|0;xf=yf+1632|0;k=yf+1628|0;w=yf+1624|0;J=yf+1620|0;W=yf+1616|0;fa=yf+1612|0;qa=yf+1608|0;Ba=yf+1604|0;uf=yf+344|0;g=yf+1600|0;eb=yf+1596|0;pb=yf+1592|0;Ab=yf+1588|0;lf=yf+1584|0;bc=yf+1580|0;mc=yf+1670|0;xc=yf+1576|0;Ic=yf+1572|0;Tc=yf+1568|0;cd=yf+1564|0;od=yf+1560|0;vd=yf+1556|0;wd=yf+1552|0;yd=yf+336|0;zd=yf+1860|0;Ad=yf+1668|0;Bd=yf+1666|0;Cd=yf+1664|0;Dd=yf+328|0;Fd=yf+320|0;Gd=yf+312|0;Hd=yf+304|0;Id=yf+1548|0;Jd=yf+1544|0;Kd=yf+1540|0;Ld=yf+1536|0;Md=yf+296|0;Nd=yf+288|0;Pd=yf+280|0;Qd=yf+1859|0;Rd=yf+1532|0;Td=yf+1528|0;Ud=yf+1858|0;Vd=yf+1662|0;Wd=yf+1660|0;Yd=yf+1524|0;Zd=yf+1520|0;$d=yf+1516|0;ae=yf+1512|0;be=yf+1508|0;ce=yf+1504|0;de=yf+1500|0;ee=yf+1496|0;fe=yf+1492|0;ge=yf+1488|0;he=yf+1484|0;ie=yf+1480|0;je=yf+1476|0;ke=yf+1472|0;le=yf+1468|0;me=yf+1464|0;oe=yf+1460|0;pe=yf+1456|0;qe=yf+240|0;re=yf+1452|0;se=yf+1448|0;te=yf+1444|0;ue=yf+1440|0;ve=yf+232|0;we=yf+1436|0;xe=yf+1432|0;ze=yf+1428|0;Ae=yf+1424|0;Be=yf+1857|0;Ce=yf+1420|0;De=yf+1416|0;Ee=yf+224|0;Fe=yf+1412|0;Ge=yf+216|0;He=yf+208|0;Ie=yf+1408|0;Je=yf+1404|0;Ke=yf+1400|0;Le=yf+1396|0;Me=yf+1392|0;Ne=yf+1388|0;Oe=yf+1384|0;Pe=yf+1380|0;Qe=yf+1376|0;Re=yf+1372|0;Se=yf+200|0;m=yf+1368|0;n=yf+1364|0;o=yf+1360|0;p=yf+1356|0;q=yf+1352|0;r=yf+1348|0;s=yf+1344|0;t=yf+1340|0;u=yf+1336|0;v=yf+1332|0;x=yf+1328|0;kf=yf+1324|0;y=yf+1320|0;z=yf+1316|0;A=yf+1312|0;B=yf+1308|0;C=yf+1304|0;G=yf+1300|0;H=yf+1296|0;I=yf+1292|0;K=yf+1288|0;L=yf+1284|0;M=yf+1280|0;N=yf+1276|0;O=yf+1272|0;P=yf+1268|0;Q=yf+1264|0;S=yf+1260|0;U=yf+1256|0;V=yf+1252|0;X=yf+1248|0;Y=yf+1244|0;Z=yf+1240|0;_=yf+1236|0;$=yf+1232|0;aa=yf+1228|0;ba=yf+1224|0;ca=yf+1208|0;da=yf+1200|0;ea=yf+192|0;ga=yf+1196|0;ha=yf+1192|0;ia=yf+1188|0;ja=yf+1184|0;ka=yf+1180|0;la=yf+1176|0;ma=yf+1172|0;na=yf+1168|0;oa=yf+1152|0;pa=yf+1674|0;ra=yf+1148|0;sa=yf+1144|0;ta=yf+1140|0;ua=yf+184|0;va=yf+176|0;wa=yf+1136|0;xa=yf+1132|0;ya=yf+1128|0;za=yf+1124|0;Aa=yf+1120|0;Ca=yf+1116|0;Da=yf+1112|0;Ea=yf+1108|0;Fa=yf+1104|0;Ga=yf+1100|0;Ha=yf+1096|0;Ia=yf+1092|0;Ja=yf+144|0;Ka=yf+1088|0;La=yf+1084|0;Ma=yf+1080|0;Na=yf+1076|0;Oa=yf+1072|0;Pa=yf+1068|0;Qa=yf+1064|0;Ra=yf+1060|0;Sa=yf+1056|0;Ta=yf+1052|0;Ua=yf+1048|0;Va=yf+1044|0;Wa=yf+136|0;Xa=yf+1040|0;Ya=yf+1036|0;Za=yf+1032|0;_a=yf+1028|0;$a=yf+1024|0;ab=yf+1020|0;bb=yf+1016|0;cb=yf+1012|0;db=yf+1008|0;fb=yf+1004|0;gb=yf+1e3|0;hb=yf+996|0;ib=yf+104|0;jb=yf+992|0;kb=yf+988|0;lb=yf+984|0;mb=yf+968|0;nb=yf+964|0;ob=yf+960|0;qb=yf+96|0;rb=yf+956|0;sb=yf+952|0;tb=yf+936|0;ub=yf+932|0;vb=yf+928|0;wb=yf+924|0;xb=yf+920|0;yb=yf+916|0;zb=yf+912|0;Cb=yf+908|0;Db=yf+904|0;Eb=yf+900|0;Gb=yf+896|0;Jb=yf+880|0;Ob=yf+872|0;Pb=yf+868|0;Qb=yf+864|0;Rb=yf+860|0;Sb=yf+856|0;Tb=yf+88|0;Ub=yf+852|0;Vb=yf+848|0;Wb=yf+844|0;Xb=yf+840|0;Yb=yf+836|0;Zb=yf+832|0;_b=yf+828|0;$b=yf+824|0;ac=yf+820|0;cc=yf+816|0;dc=yf+812|0;ec=yf+808|0;fc=yf+804|0;gc=yf+800|0;hc=yf+796|0;ic=yf+792|0;jc=yf+788|0;kc=yf+784|0;lc=yf+48|0;nc=yf+780|0;oc=yf+776|0;pc=yf+764|0;qc=yf+760|0;rc=yf+756|0;sc=yf+752|0;tc=yf+748|0;uc=yf+744|0;vc=yf+740|0;wc=yf+736|0;yc=yf+1673|0;zc=yf+732|0;Ac=yf+728|0;Bc=yf+724|0;Cc=yf+8|0;Dc=yf+720|0;Ec=yf+716|0;Fc=yf+712|0;Gc=yf+708|0;Hc=yf+704|0;Jc=yf+700|0;Kc=yf+696|0;Lc=yf+692|0;Mc=yf+688|0;Nc=yf+684|0;Oc=yf+680|0;Pc=yf+676|0;Qc=yf+672|0;Rc=yf+668|0;Sc=yf+664|0;Uc=yf+660|0;Vc=yf+656|0;Wc=yf+652|0;Xc=yf+648|0;Yc=yf+616|0;Zc=yf+612|0;_c=yf+608|0;$c=yf+604|0;ad=yf+600|0;bd=yf+596|0;dd=yf+592|0;ed=yf+588|0;fd=yf+584|0;gd=yf+580|0;hd=yf+576|0;id=yf+572|0;jd=yf;kd=yf+568|0;ld=yf+564|0;nd=yf+1672|0;pd=yf+560|0;qd=yf+556|0;rd=yf+552|0;sd=yf+548|0;td=yf+544|0;ud=yf+540|0;c[tf>>2]=f;c[qf>>2]=c[(c[tf>>2]|0)+88>>2];c[rf>>2]=c[qf>>2];c[vf>>2]=0;c[wf>>2]=c[c[tf>>2]>>2];a[ff>>0]=0;a[ne>>0]=a[(c[wf>>2]|0)+66>>0]|0;c[ye>>2]=0;c[xf>>2]=0;c[k>>2]=0;c[w>>2]=c[(c[tf>>2]|0)+92>>2];c[J>>2]=0;c[W>>2]=0;c[fa>>2]=0;c[qa>>2]=0;c[Ba>>2]=0;zf=(c[wf>>2]|0)+32|0;f=c[zf+4>>2]|0;i=uf;c[i>>2]=c[zf>>2];c[i+4>>2]=f;Sr(c[tf>>2]|0);a:do if((c[(c[tf>>2]|0)+40>>2]|0)==7)j=887;else{c[(c[tf>>2]|0)+40>>2]=0;zf=(c[tf>>2]|0)+56|0;c[zf>>2]=0;c[zf+4>>2]=0;c[(c[tf>>2]|0)+104>>2]=0;c[(c[wf>>2]|0)+380+8>>2]=0;b:do if(!(c[(c[wf>>2]|0)+248>>2]|0)){if(c[(c[wf>>2]|0)+304>>2]|0){c[g>>2]=c[(c[tf>>2]|0)+156+16>>2];c[k>>2]=(c[(c[wf>>2]|0)+312>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[wf>>2]|0)+312>>2]|0)>>>0)|0)}c[rf>>2]=(c[qf>>2]|0)+((c[(c[tf>>2]|0)+36>>2]|0)*20|0);c:while(1){c[xf>>2]=(c[xf>>2]|0)+1;d:do switch(d[c[rf>>2]>>0]|0){case 87:{j=64;break c}case 1:{j=395;break c}case 13:{j=7;break}case 14:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);b[(c[J>>2]|0)+8>>1]=4;zf=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;j=c[J>>2]|0;c[j>>2]=zf;c[j+4>>2]=((zf|0)<0)<<31>>31;j=14;break}case 72:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[rf>>2]=(c[qf>>2]|0)+((c[c[J>>2]>>2]|0)*20|0);b[(c[J>>2]|0)+8>>1]=128;break}case 15:{c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);i=(c[(c[rf>>2]|0)+12>>2]|0)-1|0;zf=c[qa>>2]|0;c[zf>>2]=i;c[zf+4>>2]=((i|0)<0)<<31>>31;b[(c[qa>>2]|0)+8>>1]=4;if(c[(c[rf>>2]|0)+8>>2]|0)j=14;break}case 73:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[eb>>2]=(c[qf>>2]|0)+((c[c[J>>2]>>2]|0)*20|0);c[rf>>2]=(c[qf>>2]|0)+(((c[(c[eb>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[J>>2]|0)+8>>1]=128;break}case 16:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);b[(c[J>>2]|0)+8>>1]=4;c[pb>>2]=c[c[J>>2]>>2];i=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;zf=c[J>>2]|0;c[zf>>2]=i;c[zf+4>>2]=((i|0)<0)<<31>>31;c[rf>>2]=(c[qf>>2]|0)+((c[pb>>2]|0)*20|0);break}case 74:{c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if(e[(c[fa>>2]|0)+8>>1]&1|0)j=20;break}case 75:{j=20;break}case 76:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;i=c[(c[rf>>2]|0)+4>>2]|0;zf=c[qa>>2]|0;c[zf>>2]=i;c[zf+4>>2]=((i|0)<0)<<31>>31;break}case 77:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;g=c[(c[rf>>2]|0)+16>>2]|0;i=c[g+4>>2]|0;zf=c[qa>>2]|0;c[zf>>2]=c[g>>2];c[zf+4>>2]=i;break}case 132:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;b[(c[qa>>2]|0)+8>>1]=8;h[c[qa>>2]>>3]=+h[c[(c[rf>>2]|0)+16>>2]>>3];break}case 97:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;a[c[rf>>2]>>0]=78;zf=md(c[(c[rf>>2]|0)+16>>2]|0)|0;c[(c[rf>>2]|0)+4>>2]=zf;if((d[ne>>0]|0)!=1){c[vf>>2]=ci(c[qa>>2]|0,c[(c[rf>>2]|0)+16>>2]|0,-1,1,0)|0;if(oi(c[qa>>2]|0,d[ne>>0]|0)|0){j=887;break a}c[(c[qa>>2]|0)+24>>2]=0;zf=(c[qa>>2]|0)+8|0;b[zf>>1]=e[zf>>1]|2048;if((a[(c[rf>>2]|0)+1>>0]|0)==-1)Xd(c[wf>>2]|0,c[(c[rf>>2]|0)+16>>2]|0);a[(c[rf>>2]|0)+1>>0]=-1;c[(c[rf>>2]|0)+16>>2]=c[(c[qa>>2]|0)+16>>2];c[(c[rf>>2]|0)+4>>2]=c[(c[qa>>2]|0)+12>>2]}if((c[(c[rf>>2]|0)+4>>2]|0)>(c[(c[wf>>2]|0)+96>>2]|0)){j=886;break c}else j=43;break}case 78:{j=43;break}case 79:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[bc>>2]=(c[(c[rf>>2]|0)+12>>2]|0)-(c[(c[rf>>2]|0)+8>>2]|0);zf=(c[(c[rf>>2]|0)+4>>2]|0?257:1)&65535;b[mc>>1]=zf;b[(c[qa>>2]|0)+8>>1]=zf;c[(c[qa>>2]|0)+12>>2]=0;while(1){if((c[bc>>2]|0)<=0)break d;c[qa>>2]=(c[qa>>2]|0)+40;_h(c[qa>>2]|0);b[(c[qa>>2]|0)+8>>1]=b[mc>>1]|0;c[(c[qa>>2]|0)+12>>2]=0;c[bc>>2]=(c[bc>>2]|0)+-1}}case 80:{c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);b[(c[qa>>2]|0)+8>>1]=(e[(c[qa>>2]|0)+8>>1]|1)&-129;break}case 81:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;ci(c[qa>>2]|0,c[(c[rf>>2]|0)+16>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,0,0)|0;a[(c[qa>>2]|0)+10>>0]=a[ne>>0]|0;break}case 82:{c[xc>>2]=(c[(c[tf>>2]|0)+116>>2]|0)+(((c[(c[rf>>2]|0)+4>>2]|0)-1|0)*40|0);if(RF(c[xc>>2]|0)|0){j=886;break c}c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;kj(c[qa>>2]|0,c[xc>>2]|0,2048);break}case 83:{c[Ic>>2]=c[(c[rf>>2]|0)+12>>2];c[Tc>>2]=c[(c[rf>>2]|0)+4>>2];c[cd>>2]=c[(c[rf>>2]|0)+8>>2];c[J>>2]=(c[w>>2]|0)+((c[Tc>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[cd>>2]|0)*40|0);do{Ls(c[qa>>2]|0,c[J>>2]|0);if(e[(c[qa>>2]|0)+8>>1]&4096|0?gi(c[qa>>2]|0)|0:0){j=887;break a}c[J>>2]=(c[J>>2]|0)+40;c[qa>>2]=(c[qa>>2]|0)+40;zf=(c[Ic>>2]|0)+-1|0;c[Ic>>2]=zf}while((zf|0)!=0);break}case 84:{c[od>>2]=c[(c[rf>>2]|0)+12>>2];c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);while(1){kj(c[qa>>2]|0,c[J>>2]|0,4096);if(e[(c[qa>>2]|0)+8>>1]&4096|0?gi(c[qa>>2]|0)|0:0){j=887;break a}zf=c[od>>2]|0;c[od>>2]=zf+-1;if(!zf)break d;c[qa>>2]=(c[qa>>2]|0)+40;c[J>>2]=(c[J>>2]|0)+40}}case 85:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);kj(c[qa>>2]|0,c[J>>2]|0,4096);break}case 86:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);zf=c[J>>2]|0;Yh(c[qa>>2]|0,c[zf>>2]|0,c[zf+4>>2]|0);break}case 52:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if((e[(c[J>>2]|0)+8>>1]|e[(c[W>>2]|0)+8>>1])&1|0){_h(c[qa>>2]|0);break d}if(e[(c[J>>2]|0)+8>>1]&16384|0?hi(c[J>>2]|0)|0:0){j=887;break a}if(e[(c[W>>2]|0)+8>>1]&16384|0?hi(c[W>>2]|0)|0:0){j=887;break a}if((e[(c[J>>2]|0)+8>>1]&18|0)==0?qi(c[J>>2]|0,a[ne>>0]|0,0)|0:0){j=887;break a}if((e[(c[W>>2]|0)+8>>1]&18|0)==0?qi(c[W>>2]|0,a[ne>>0]|0,0)|0:0){j=887;break a}f=(c[(c[J>>2]|0)+12>>2]|0)+(c[(c[W>>2]|0)+12>>2]|0)|0;i=yd;c[i>>2]=f;c[i+4>>2]=((f|0)<0)<<31>>31;i=yd;f=c[i+4>>2]|0;zf=c[(c[wf>>2]|0)+96>>2]|0;g=((zf|0)<0)<<31>>31;if((f|0)>(g|0)|((f|0)==(g|0)?(c[i>>2]|0)>>>0>zf>>>0:0)){j=886;break c}if(ii(c[qa>>2]|0,(c[yd>>2]|0)+2|0,(c[qa>>2]|0)==(c[W>>2]|0)&1)|0){j=887;break a}b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|2;if((c[qa>>2]|0)!=(c[W>>2]|0))h0(c[(c[qa>>2]|0)+16>>2]|0,c[(c[W>>2]|0)+16>>2]|0,c[(c[W>>2]|0)+12>>2]|0)|0;h0((c[(c[qa>>2]|0)+16>>2]|0)+(c[(c[W>>2]|0)+12>>2]|0)|0,c[(c[J>>2]|0)+16>>2]|0,c[(c[J>>2]|0)+12>>2]|0)|0;a[(c[(c[qa>>2]|0)+16>>2]|0)+(c[yd>>2]|0)>>0]=0;i=c[(c[qa>>2]|0)+16>>2]|0;zf=yd;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,1,0)|0;a[i+zf>>0]=0;zf=(c[qa>>2]|0)+8|0;b[zf>>1]=e[zf>>1]|512;c[(c[qa>>2]|0)+12>>2]=c[yd>>2];a[(c[qa>>2]|0)+10>>0]=a[ne>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);b[Bd>>1]=SF(c[J>>2]|0)|0;c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);b[Cd>>1]=SF(c[W>>2]|0)|0;c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);b[Ad>>1]=e[(c[J>>2]|0)+8>>1]|e[(c[W>>2]|0)+8>>1];e:do if(!(e[Ad>>1]&1)){f:do if(e[Bd>>1]&e[Cd>>1]&4|0){zf=c[J>>2]|0;i=c[zf+4>>2]|0;g=Dd;c[g>>2]=c[zf>>2];c[g+4>>2]=i;g=c[W>>2]|0;i=c[g+4>>2]|0;zf=Fd;c[zf>>2]=c[g>>2];c[zf+4>>2]=i;a[zd>>0]=1;switch(d[c[rf>>2]>>0]|0){case 47:{zf=Dd;if(Gi(Fd,c[zf>>2]|0,c[zf+4>>2]|0)|0)break f;break}case 48:{zf=Dd;if(TF(Fd,c[zf>>2]|0,c[zf+4>>2]|0)|0)break f;break}case 49:{zf=Dd;if(UF(Fd,c[zf>>2]|0,c[zf+4>>2]|0)|0)break f;break}case 50:{zf=Dd;if((c[zf>>2]|0)==0&(c[zf+4>>2]|0)==0)break e;i=Dd;zf=Fd;if(((c[i>>2]|0)==-1?(c[i+4>>2]|0)==-1:0)&((c[zf>>2]|0)==0?(c[zf+4>>2]|0)==-2147483648:0))break f;i=Dd;g=Fd;zf=Fd;c[zf>>2]=n0(c[g>>2]|0,c[g+4>>2]|0,c[i>>2]|0,c[i+4>>2]|0)|0;c[zf+4>>2]=D;break}default:{zf=Dd;if((c[zf>>2]|0)==0&(c[zf+4>>2]|0)==0)break e;zf=Dd;if((c[zf>>2]|0)==-1?(c[zf+4>>2]|0)==-1:0){zf=Dd;c[zf>>2]=1;c[zf+4>>2]=0}i=Dd;g=Fd;zf=Fd;c[zf>>2]=c0(c[g>>2]|0,c[g+4>>2]|0,c[i>>2]|0,c[i+4>>2]|0)|0;c[zf+4>>2]=D}}g=Fd;i=c[g+4>>2]|0;zf=c[qa>>2]|0;c[zf>>2]=c[g>>2];c[zf+4>>2]=i;b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|4;break d}else a[zd>>0]=0;while(0);h[Gd>>3]=+Ii(c[J>>2]|0);h[Hd>>3]=+Ii(c[W>>2]|0);switch(d[c[rf>>2]>>0]|0){case 47:{h[Hd>>3]=+h[Hd>>3]+ +h[Gd>>3];break}case 48:{h[Hd>>3]=+h[Hd>>3]-+h[Gd>>3];break}case 49:{h[Hd>>3]=+h[Hd>>3]*+h[Gd>>3];break}case 50:{if(+h[Gd>>3]==0.0)break e;h[Hd>>3]=+h[Hd>>3]/+h[Gd>>3];break}default:{Af=+h[Gd>>3];zf=+F(Af)>=1.0?(Af>0.0?~~+T(+E(Af/4294967296.0),4294967295.0)>>>0:~~+R((Af-+(~~Af>>>0))/4294967296.0)>>>0):0;i=Dd;c[i>>2]=~~Af>>>0;c[i+4>>2]=zf;Af=+h[Hd>>3];i=+F(Af)>=1.0?(Af>0.0?~~+T(+E(Af/4294967296.0),4294967295.0)>>>0:~~+R((Af-+(~~Af>>>0))/4294967296.0)>>>0):0;zf=Fd;c[zf>>2]=~~Af>>>0;c[zf+4>>2]=i;zf=Dd;if((c[zf>>2]|0)==0&(c[zf+4>>2]|0)==0)break e;zf=Dd;if((c[zf>>2]|0)==-1?(c[zf+4>>2]|0)==-1:0){zf=Dd;c[zf>>2]=1;c[zf+4>>2]=0}i=Fd;zf=Dd;h[Hd>>3]=+((c0(c[i>>2]|0,c[i+4>>2]|0,c[zf>>2]|0,c[zf+4>>2]|0)|0)>>>0)+4294967296.0*+(D|0)}}if(!(Sd(+h[Hd>>3])|0)){h[c[qa>>2]>>3]=+h[Hd>>3];b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|8;if(a[zd>>0]|0?1:((e[Bd>>1]|e[Cd>>1])&8|0)!=0)break d;Pi(c[qa>>2]|0);break d}}while(0);_h(c[qa>>2]|0);break}case 88:{if(c[(c[rf>>2]|0)+4>>2]|0)Yh((c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 89:{c[Id>>2]=d[(c[rf>>2]|0)+3>>0];c[Jd>>2]=Ed(c[wf>>2]|0,32+((c[Id>>2]|0)-1<<2)|0,0)|0;if(!(c[Jd>>2]|0)){j=887;break a}c[c[Jd>>2]>>2]=0;c[(c[Jd>>2]|0)+4>>2]=c[(c[rf>>2]|0)+16>>2];c[(c[Jd>>2]|0)+16>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;c[(c[Jd>>2]|0)+12>>2]=c[tf>>2];a[(c[Jd>>2]|0)+26>>0]=c[Id>>2];a[(c[rf>>2]|0)+1>>0]=-21;c[(c[rf>>2]|0)+16>>2]=c[Jd>>2];a[c[rf>>2]>>0]=90;j=126;break}case 90:{j=126;break}case 46:case 45:case 44:case 43:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if((e[(c[J>>2]|0)+8>>1]|e[(c[W>>2]|0)+8>>1])&1|0){_h(c[qa>>2]|0);break d}zf=Ki(c[W>>2]|0)|0;i=Md;c[i>>2]=zf;c[i+4>>2]=D;i=Ki(c[J>>2]|0)|0;zf=Pd;c[zf>>2]=i;c[zf+4>>2]=D;a[Qd>>0]=a[c[rf>>2]>>0]|0;do if((d[Qd>>0]|0)!=43){g=Pd;f=c[g>>2]|0;g=c[g+4>>2]|0;if((d[Qd>>0]|0)==44){Bf=Md;i=c[Bf+4>>2]|g;zf=Md;c[zf>>2]=c[Bf>>2]|f;c[zf+4>>2]=i;break}if((f|0)!=0|(g|0)!=0){if((c[Pd+4>>2]|0)<0){a[Qd>>0]=91-(d[Qd>>0]|0);zf=Pd;i=c[zf+4>>2]|0;zf=(i|0)>-1|(i|0)==-1&(c[zf>>2]|0)>>>0>4294967232;i=Pd;i=Z$(0,0,c[i>>2]|0,c[i+4>>2]|0)|0;Bf=Pd;c[Bf>>2]=zf?i:64;c[Bf+4>>2]=zf?D:0}Bf=Pd;zf=c[Bf+4>>2]|0;if((zf|0)>0|(zf|0)==0&(c[Bf>>2]|0)>>>0>=64){Bf=Md;zf=c[Bf+4>>2]|0;if((zf|0)>0|(zf|0)==0&(c[Bf>>2]|0)>>>0>=0)f=1;else f=(d[Qd>>0]|0)==45;zf=f?0:-1;Bf=Md;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break};c[Nd>>2]=c[Md>>2];c[Nd+4>>2]=c[Md+4>>2];f=c[Pd>>2]|0;i=Nd;g=c[i>>2]|0;i=c[i+4>>2]|0;if((d[Qd>>0]|0)!=45){zf=f0(g|0,i|0,f|0)|0;Bf=Nd;c[Bf>>2]=zf;c[Bf+4>>2]=D;if((c[Md+4>>2]|0)<0){i=Pd;i=Z$(64,0,c[i>>2]|0,c[i+4>>2]|0)|0;i=j0(-1,-1,i|0)|0;g=Nd;zf=c[g+4>>2]|D;Bf=Nd;c[Bf>>2]=c[g>>2]|i;c[Bf+4>>2]=zf}}else{zf=j0(g|0,i|0,f|0)|0;Bf=Nd;c[Bf>>2]=zf;c[Bf+4>>2]=D};c[Md>>2]=c[Nd>>2];c[Md+4>>2]=c[Nd+4>>2]}}else{i=Pd;g=Md;zf=c[g+4>>2]&c[i+4>>2];Bf=Md;c[Bf>>2]=c[g>>2]&c[i>>2];c[Bf+4>>2]=zf}while(0);i=Md;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|4;break}case 91:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);bw(c[J>>2]|0)|0;zf=c[(c[rf>>2]|0)+8>>2]|0;Bf=c[J>>2]|0;i=Bf;zf=_$(c[i>>2]|0,c[i+4>>2]|0,zf|0,((zf|0)<0)<<31>>31|0)|0;c[Bf>>2]=zf;c[Bf+4>>2]=D;break}case 17:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if((e[(c[J>>2]|0)+8>>1]&4|0)==0?(aw(c[J>>2]|0,67,a[ne>>0]|0),(e[(c[J>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[rf>>2]|0)+8>>2]|0)){j=159;break c}else{j=14;break d}b[(c[J>>2]|0)+8>>1]=e[(c[J>>2]|0)+8>>1]&-49664|4;break}case 92:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&4|0)cw(c[J>>2]|0)|0;break}case 93:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&16384|0)f=hi(c[J>>2]|0)|0;else f=0;c[vf>>2]=f;Xv(c[J>>2]|0,c[(c[rf>>2]|0)+8>>2]&255,a[ne>>0]|0);if(c[vf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);b[Vd>>1]=b[(c[J>>2]|0)+8>>1]|0;b[Wd>>1]=b[(c[fa>>2]|0)+8>>1]|0;f=d[(c[rf>>2]|0)+3>>0]|0;do if((e[Vd>>1]|e[Wd>>1])&1|0){if(!(f&128))if(!(d[(c[rf>>2]|0)+3>>0]&32|0))if(d[(c[rf>>2]|0)+3>>0]&16|0){j=14;break d}else break d;else{c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[ye>>2]=1;b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|1;break d}if((e[Vd>>1]&1|0?e[Wd>>1]&1|0:0)?(e[Wd>>1]&256|0)==0:0){c[Rd>>2]=0;break}c[Rd>>2]=1}else{a[Ud>>0]=f&71;if((a[Ud>>0]|0)>=67){if((e[Vd>>1]|e[Wd>>1])&2|0){if((e[Vd>>1]&14|0)==2){Oi(c[J>>2]|0,0);b[Wd>>1]=b[(c[fa>>2]|0)+8>>1]|0}if((e[Wd>>1]&14|0)==2)Oi(c[fa>>2]|0,0)}if(e[(c[J>>2]|0)+8>>1]&e[(c[fa>>2]|0)+8>>1]&4|0){zf=c[fa>>2]|0;g=c[zf+4>>2]|0;Bf=c[J>>2]|0;i=c[Bf+4>>2]|0;if((g|0)>(i|0)|((g|0)==(i|0)?(c[zf>>2]|0)>>>0>(c[Bf>>2]|0)>>>0:0)){c[Rd>>2]=1;break}zf=c[fa>>2]|0;g=c[zf+4>>2]|0;Bf=c[J>>2]|0;i=c[Bf+4>>2]|0;if((g|0)<(i|0)|((g|0)==(i|0)?(c[zf>>2]|0)>>>0<(c[Bf>>2]|0)>>>0:0)){c[Rd>>2]=-1;break}else{c[Rd>>2]=0;break}}}else if((a[Ud>>0]|0)==66){if((e[Vd>>1]&2|0)==0?e[Vd>>1]&12|0:0){qi(c[J>>2]|0,a[ne>>0]|0,1)|0;b[Vd>>1]=e[(c[J>>2]|0)+8>>1]&-33280|e[Vd>>1]&33279}if((e[Wd>>1]&2|0)==0?e[Wd>>1]&12|0:0){qi(c[fa>>2]|0,a[ne>>0]|0,1)|0;b[Wd>>1]=e[(c[fa>>2]|0)+8>>1]&-33280|e[Wd>>1]&33279}}c[Rd>>2]=ej(c[fa>>2]|0,c[J>>2]|0,c[(c[rf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[rf>>2]>>0]|0){case 37:{c[Td>>2]=(c[Rd>>2]|0)==0&1;break}case 36:{c[Td>>2]=c[Rd>>2];break}case 40:{c[Td>>2]=(c[Rd>>2]|0)<0&1;break}case 39:{c[Td>>2]=(c[Rd>>2]|0)<=0&1;break}case 38:{c[Td>>2]=(c[Rd>>2]|0)>0&1;break}default:c[Td>>2]=(c[Rd>>2]|0)>=0&1}b[(c[J>>2]|0)+8>>1]=b[Vd>>1]|0;b[(c[fa>>2]|0)+8>>1]=b[Wd>>1]|0;if(!(d[(c[rf>>2]|0)+3>>0]&32))if(c[Td>>2]|0){j=14;break d}else break d;c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[ye>>2]=c[Rd>>2];c[Td>>2]=(c[Td>>2]|0)!=0&1;if(d[(c[rf>>2]|0)+3>>0]&8|0?((d[c[rf>>2]>>0]|0)==37|0)==(c[Td>>2]|0):0)break d;b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|4;zf=c[Td>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break}case 42:{if(c[ye>>2]|0)j=14;break}case 94:{c[Ba>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+4;break}case 95:{if(!(d[(c[rf>>2]|0)+3>>0]&1))c[Ba>>2]=0;c[Yd>>2]=c[(c[rf>>2]|0)+12>>2];c[be>>2]=c[(c[rf>>2]|0)+16>>2];c[$d>>2]=c[(c[rf>>2]|0)+4>>2];c[ae>>2]=c[(c[rf>>2]|0)+8>>2];c[Zd>>2]=0;while(1){if((c[Zd>>2]|0)>=(c[Yd>>2]|0))break;if(c[Ba>>2]|0)f=c[(c[Ba>>2]|0)+(c[Zd>>2]<<2)>>2]|0;else f=c[Zd>>2]|0;c[ce>>2]=f;c[de>>2]=c[(c[be>>2]|0)+20+(c[Zd>>2]<<2)>>2];c[ee>>2]=d[(c[(c[be>>2]|0)+16>>2]|0)+(c[Zd>>2]|0)>>0];c[ye>>2]=ej((c[w>>2]|0)+(((c[$d>>2]|0)+(c[ce>>2]|0)|0)*40|0)|0,(c[w>>2]|0)+(((c[ae>>2]|0)+(c[ce>>2]|0)|0)*40|0)|0,c[de>>2]|0)|0;if(c[ye>>2]|0){j=218;break}c[Zd>>2]=(c[Zd>>2]|0)+1}if((j|0)==218?(j=0,c[ee>>2]|0):0)c[ye>>2]=0-(c[ye>>2]|0);c[Ba>>2]=0;break}case 18:{if((c[ye>>2]|0)<0){c[rf>>2]=(c[qf>>2]|0)+(((c[(c[rf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}f=c[qf>>2]|0;g=c[rf>>2]|0;if(!(c[ye>>2]|0)){c[rf>>2]=f+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[rf>>2]=f+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&1|0)c[fe>>2]=2;else{Bf=Ki(c[J>>2]|0)|0;c[fe>>2]=((Bf|0)!=0|(D|0)!=0)&1}c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);if(e[(c[W>>2]|0)+8>>1]&1|0)c[ge>>2]=2;else{Bf=Ki(c[W>>2]|0)|0;c[ge>>2]=((Bf|0)!=0|(D|0)!=0)&1}f=((c[fe>>2]|0)*3|0)+(c[ge>>2]|0)|0;if((d[c[rf>>2]>>0]|0)==28)c[fe>>2]=d[38780+f>>0];else c[fe>>2]=d[38789+f>>0];c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if((c[fe>>2]|0)==2){f=(e[(c[qa>>2]|0)+8>>1]&-49664|1)&65535;g=c[qa>>2]|0}else{g=c[fe>>2]|0;f=c[qa>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;f=(e[(c[qa>>2]|0)+8>>1]&-49664|4)&65535;g=c[qa>>2]|0}b[g+8>>1]=f;break}case 19:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);_h(c[qa>>2]|0);if(!(e[(c[J>>2]|0)+8>>1]&1)){b[(c[qa>>2]|0)+8>>1]=4;zf=Ki(c[J>>2]|0)|0;zf=(((zf|0)!=0|(D|0)!=0)^1)&1;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31}break}case 54:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);_h(c[qa>>2]|0);if(!(e[(c[J>>2]|0)+8>>1]&1)){b[(c[qa>>2]|0)+8>>1]=4;zf=Ki(c[J>>2]|0)|0;Bf=c[qa>>2]|0;c[Bf>>2]=~zf;c[Bf+4>>2]=~D}break}case 20:{if((c[(c[(c[tf>>2]|0)+88>>2]|0)+4>>2]|0)==(c[(c[rf>>2]|0)+4>>2]|0))j=14;else c[(c[rf>>2]|0)+4>>2]=c[(c[(c[tf>>2]|0)+88>>2]|0)+4>>2];break}case 22:case 21:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[J>>2]|0)+8>>1]&1|0)){c[he>>2]=+Ii(c[J>>2]|0)!=0.0&1;if((d[c[rf>>2]>>0]|0)==22)c[he>>2]=((c[he>>2]|0)!=0^1)&1}else c[he>>2]=c[(c[rf>>2]|0)+12>>2];if(c[he>>2]|0)j=14;break}case 34:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&1|0)j=14;break}case 35:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[J>>2]|0)+8>>1]&1))j=14;break}case 96:{c[je>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[ie>>2]=c[(c[rf>>2]|0)+8>>2];c[vf>>2]=VF(je,ie)|0;if(c[vf>>2]|0)break a;c[pe>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[le>>2]=c[(c[je>>2]|0)+76>>2];c[ke>>2]=c[(c[je>>2]|0)+16>>2];do if((c[(c[je>>2]|0)+56>>2]|0)!=(c[(c[tf>>2]|0)+32>>2]|0)){do if(a[(c[je>>2]|0)+2>>0]|0)if((d[c[je>>2]>>0]|0)==3){c[ze>>2]=(c[w>>2]|0)+((c[(c[je>>2]|0)+16>>2]|0)*40|0);Bf=c[(c[ze>>2]|0)+12>>2]|0;c[we>>2]=Bf;c[(c[je>>2]|0)+64>>2]=Bf;c[(c[je>>2]|0)+60>>2]=Bf;c[(c[je>>2]|0)+72>>2]=c[(c[ze>>2]|0)+16>>2];break}else{_h(c[pe>>2]|0);break d}else{f=xq(c[ke>>2]|0)|0;c[(c[je>>2]|0)+60>>2]=f;f=WF(c[ke>>2]|0,we)|0;c[(c[je>>2]|0)+72>>2]=f;f=c[(c[je>>2]|0)+60>>2]|0;if((c[(c[je>>2]|0)+60>>2]|0)>>>0<=(c[we>>2]|0)>>>0){c[(c[je>>2]|0)+64>>2]=f;break}if(f>>>0>(c[(c[wf>>2]|0)+96>>2]|0)>>>0){j=886;break c}c[(c[je>>2]|0)+64>>2]=c[we>>2]}while(0);c[(c[je>>2]|0)+56>>2]=c[(c[tf>>2]|0)+32>>2];f=c[(c[je>>2]|0)+72>>2]|0;if((d[c[(c[je>>2]|0)+72>>2]>>0]|0)<128){c[ue>>2]=d[f>>0];f=1}else f=(fE(f,ue)|0)&255;c[(c[je>>2]|0)+68>>2]=f&255;b[(c[je>>2]|0)+14>>1]=0;c[c[le>>2]>>2]=c[ue>>2];if((c[we>>2]|0)>>>0<(c[ue>>2]|0)>>>0){c[(c[je>>2]|0)+72>>2]=0;c[(c[je>>2]|0)+64>>2]=0;if((c[ue>>2]|0)>>>0>98307){j=269;break c}if((c[ue>>2]|0)>>>0>(c[(c[je>>2]|0)+60>>2]|0)>>>0){j=269;break c}else{j=272;break}}else{if((c[ue>>2]|0)>>>0<=0){j=272;break}c[re>>2]=c[(c[je>>2]|0)+72>>2];j=278;break}}else j=272;while(0);do if((j|0)==272){j=0;f=c[je>>2]|0;if((e[(c[je>>2]|0)+14>>1]|0)>(c[ie>>2]|0)){c[xe>>2]=c[f+80+(c[ie>>2]<<2)>>2];break}if((c[f+68>>2]|0)>>>0>=(c[c[le>>2]>>2]|0)>>>0){c[xe>>2]=0;j=294;break}if(c[(c[je>>2]|0)+72>>2]|0){c[re>>2]=c[(c[je>>2]|0)+72>>2];j=278;break}f=qe;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[vf>>2]=XF(c[ke>>2]|0,0,c[c[le>>2]>>2]|0,((a[(c[je>>2]|0)+4>>0]|0)!=0^1)&1,qe)|0;if(c[vf>>2]|0)break a;c[re>>2]=c[qe+16>>2];j=278}while(0);if((j|0)==278){c[oe>>2]=e[(c[je>>2]|0)+14>>1];Bf=ve;c[Bf>>2]=c[(c[le>>2]|0)+(c[oe>>2]<<2)>>2];c[Bf+4>>2]=0;c[se>>2]=(c[re>>2]|0)+(c[(c[je>>2]|0)+68>>2]|0);c[te>>2]=(c[re>>2]|0)+(c[c[le>>2]>>2]|0);do{Bf=d[c[se>>2]>>0]|0;c[xe>>2]=Bf;f=c[se>>2]|0;if(Bf>>>0<128){c[se>>2]=f+1;zf=(YF(c[xe>>2]&255)|0)&255;Bf=ve;zf=_$(c[Bf>>2]|0,c[Bf+4>>2]|0,zf|0,0)|0;Bf=ve;c[Bf>>2]=zf;c[Bf+4>>2]=D}else{zf=(fE(f,xe)|0)&255;c[se>>2]=(c[se>>2]|0)+zf;zf=gE(c[xe>>2]|0)|0;Bf=ve;zf=_$(c[Bf>>2]|0,c[Bf+4>>2]|0,zf|0,0)|0;Bf=ve;c[Bf>>2]=zf;c[Bf+4>>2]=D}j=c[xe>>2]|0;zf=(c[je>>2]|0)+80|0;Bf=c[oe>>2]|0;c[oe>>2]=Bf+1;c[zf+(Bf<<2)>>2]=j;c[(c[le>>2]|0)+(c[oe>>2]<<2)>>2]=c[ve>>2];if((c[oe>>2]|0)>(c[ie>>2]|0))break}while((c[se>>2]|0)>>>0<(c[te>>2]|0)>>>0);if((c[se>>2]|0)>>>0>=(c[te>>2]|0)>>>0){if((c[se>>2]|0)>>>0>(c[te>>2]|0)>>>0){j=288;break c}Bf=ve;if(c[Bf+4>>2]|0?1:(c[Bf>>2]|0)!=(c[(c[je>>2]|0)+60>>2]|0)){j=288;break c}}Bf=ve;zf=c[Bf+4>>2]|0;if(zf>>>0>0|((zf|0)==0?(c[Bf>>2]|0)>>>0>(c[(c[je>>2]|0)+60>>2]|0)>>>0:0)){j=288;break c}b[(c[je>>2]|0)+14>>1]=c[oe>>2];c[(c[je>>2]|0)+68>>2]=(c[se>>2]|0)-(c[re>>2]|0);if(!(c[(c[je>>2]|0)+72>>2]|0)){ei(qe);j=294}else j=294}if((j|0)==294?(j=0,(e[(c[je>>2]|0)+14>>1]|0)<=(c[ie>>2]|0)):0){f=c[pe>>2]|0;if((a[(c[rf>>2]|0)+1>>0]|0)==-8){kj(f,c[(c[rf>>2]|0)+16>>2]|0,2048);break d}else{_h(f);break d}}if(e[(c[pe>>2]|0)+8>>1]&9312|0)_h(c[pe>>2]|0);if((c[(c[je>>2]|0)+64>>2]|0)>>>0>=(c[(c[le>>2]|0)+((c[ie>>2]|0)+1<<2)>>2]|0)>>>0){c[re>>2]=(c[(c[je>>2]|0)+72>>2]|0)+(c[(c[le>>2]|0)+(c[ie>>2]<<2)>>2]|0);if((c[xe>>2]|0)>>>0<12){hE(c[re>>2]|0,c[xe>>2]|0,c[pe>>2]|0)|0;break d}f=(((c[xe>>2]|0)-12|0)>>>0)/2|0;c[me>>2]=f;c[(c[pe>>2]|0)+12>>2]=f;a[(c[pe>>2]|0)+10>>0]=a[ne>>0]|0;f=c[pe>>2]|0;if((c[(c[pe>>2]|0)+24>>2]|0)<((c[me>>2]|0)+2|0)){b[f+8>>1]=1;if(ii(c[pe>>2]|0,(c[me>>2]|0)+2|0,0)|0){j=887;break a}}else c[(c[pe>>2]|0)+16>>2]=c[f+20>>2];h0(c[(c[pe>>2]|0)+16>>2]|0,c[re>>2]|0,c[me>>2]|0)|0;a[(c[(c[pe>>2]|0)+16>>2]|0)+(c[me>>2]|0)>>0]=0;a[(c[(c[pe>>2]|0)+16>>2]|0)+((c[me>>2]|0)+1)>>0]=0;b[(c[pe>>2]|0)+8>>1]=b[17066+((c[xe>>2]&1)<<1)>>1]|0;break d}a[(c[pe>>2]|0)+10>>0]=a[ne>>0]|0;do if(d[(c[rf>>2]|0)+3>>0]&192|0){if((c[xe>>2]|0)>>>0>=12?(c[xe>>2]&1|0)==0:0)break;if(!(d[(c[rf>>2]|0)+3>>0]&128))j=312}else j=312;while(0);if((j|0)==312?(j=0,Bf=gE(c[xe>>2]|0)|0,c[me>>2]=Bf,Bf|0):0){c[vf>>2]=XF(c[ke>>2]|0,c[(c[le>>2]|0)+(c[ie>>2]<<2)>>2]|0,c[me>>2]|0,((a[(c[je>>2]|0)+4>>0]|0)!=0^1)&1,c[pe>>2]|0)|0;if(c[vf>>2]|0)break a;hE(c[(c[pe>>2]|0)+16>>2]|0,c[xe>>2]|0,c[pe>>2]|0)|0;Bf=(c[pe>>2]|0)+8|0;b[Bf>>1]=e[Bf>>1]&-4097;break d}hE(56041,c[xe>>2]|0,c[pe>>2]|0)|0;break}case 98:{c[Ae>>2]=c[(c[rf>>2]|0)+16>>2];c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);while(1){Bf=c[Ae>>2]|0;c[Ae>>2]=Bf+1;Bf=a[Bf>>0]|0;a[Be>>0]=Bf;if(!(Bf<<24>>24))break d;aw(c[J>>2]|0,a[Be>>0]|0,a[ne>>0]|0);c[J>>2]=(c[J>>2]|0)+40}}case 99:{Bf=Ee;c[Bf>>2]=0;c[Bf+4>>2]=0;c[Fe>>2]=0;Bf=He;c[Bf>>2]=0;c[Bf+4>>2]=0;c[Me>>2]=c[(c[rf>>2]|0)+4>>2];c[Ne>>2]=c[(c[rf>>2]|0)+16>>2];c[Ke>>2]=(c[w>>2]|0)+((c[Me>>2]|0)*40|0);c[Me>>2]=c[(c[rf>>2]|0)+8>>2];c[Le>>2]=(c[Ke>>2]|0)+(((c[Me>>2]|0)-1|0)*40|0);c[Oe>>2]=d[(c[tf>>2]|0)+143>>0];c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if(c[Ne>>2]|0){c[De>>2]=c[Ke>>2];do{zf=c[De>>2]|0;c[De>>2]=zf+40;Bf=c[Ne>>2]|0;c[Ne>>2]=Bf+1;aw(zf,a[Bf>>0]|0,a[ne>>0]|0)}while((a[c[Ne>>2]>>0]|0)!=0)}c[De>>2]=c[Le>>2];while(1){Bf=ZF(c[De>>2]|0,c[Oe>>2]|0,Re)|0;c[Je>>2]=Bf;c[(c[De>>2]|0)+28>>2]=Bf;do if(e[(c[De>>2]|0)+8>>1]&16384|0){Bf=Ee;f=c[De>>2]|0;if((c[Bf>>2]|0)!=0|(c[Bf+4>>2]|0)!=0)if(hi(f)|0){j=887;break a}else break;else{zf=c[f>>2]|0;Bf=He;zf=_$(c[Bf>>2]|0,c[Bf+4>>2]|0,zf|0,((zf|0)<0)<<31>>31|0)|0;Bf=He;c[Bf>>2]=zf;c[Bf+4>>2]=D;c[Re>>2]=(c[Re>>2]|0)-(c[c[De>>2]>>2]|0);break}}while(0);zf=Ee;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,c[Re>>2]|0,0)|0;Bf=Ee;c[Bf>>2]=zf;c[Bf+4>>2]=D;if((c[Je>>2]|0)>>>0<=127)f=1;else f=jE(c[Je>>2]|0,0)|0;c[Fe>>2]=(c[Fe>>2]|0)+f;if((c[De>>2]|0)==(c[Ke>>2]|0))break;c[De>>2]=(c[De>>2]|0)+-40}f=c[Fe>>2]|0;if((c[Fe>>2]|0)>126){c[Ie>>2]=jE(f,((f|0)<0)<<31>>31)|0;c[Fe>>2]=(c[Fe>>2]|0)+(c[Ie>>2]|0);zf=c[Ie>>2]|0;Bf=c[Fe>>2]|0;if((zf|0)<(jE(Bf,((Bf|0)<0)<<31>>31)|0))c[Fe>>2]=(c[Fe>>2]|0)+1}else c[Fe>>2]=f+1;g=c[Fe>>2]|0;zf=Ee;zf=_$(g|0,((g|0)<0)<<31>>31|0,c[zf>>2]|0,c[zf+4>>2]|0)|0;g=Ge;c[g>>2]=zf;c[g+4>>2]=D;g=Ge;zf=He;zf=_$(c[g>>2]|0,c[g+4>>2]|0,c[zf>>2]|0,c[zf+4>>2]|0)|0;g=D;Bf=c[(c[wf>>2]|0)+96>>2]|0;i=((Bf|0)<0)<<31>>31;if((g|0)>(i|0)|(g|0)==(i|0)&zf>>>0>Bf>>>0){j=886;break c}if(di(c[qa>>2]|0,c[Ge>>2]|0)|0){j=887;break a}c[Ce>>2]=c[(c[qa>>2]|0)+16>>2];if((c[Fe>>2]|0)>>>0<128){a[c[Ce>>2]>>0]=c[Fe>>2];f=1}else{f=c[Fe>>2]|0;f=_F(c[Ce>>2]|0,f,((f|0)<0)<<31>>31)|0}c[Pe>>2]=f&255;c[Qe>>2]=c[Fe>>2];c[De>>2]=c[Ke>>2];do{c[Je>>2]=c[(c[De>>2]|0)+28>>2];if((c[Je>>2]|0)>>>0<128){a[(c[Ce>>2]|0)+(c[Pe>>2]|0)>>0]=c[Je>>2];f=1}else f=_F((c[Ce>>2]|0)+(c[Pe>>2]|0)|0,c[Je>>2]|0,0)|0;c[Pe>>2]=(c[Pe>>2]|0)+(f&255);Bf=$F((c[Ce>>2]|0)+(c[Qe>>2]|0)|0,c[De>>2]|0,c[Je>>2]|0)|0;c[Qe>>2]=(c[Qe>>2]|0)+Bf;Bf=(c[De>>2]|0)+40|0;c[De>>2]=Bf}while(Bf>>>0<=(c[Le>>2]|0)>>>0);c[(c[qa>>2]|0)+12>>2]=c[Ge>>2];b[(c[qa>>2]|0)+8>>1]=16;Bf=He;if((c[Bf>>2]|0)!=0|(c[Bf+4>>2]|0)!=0){c[c[qa>>2]>>2]=c[He>>2];Bf=(c[qa>>2]|0)+8|0;b[Bf>>1]=e[Bf>>1]|16384}a[(c[qa>>2]|0)+10>>0]=1;break}case 100:{c[m>>2]=c[(c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];Bf=Se;c[Bf>>2]=0;c[Bf+4>>2]=0;c[vf>>2]=aG(c[m>>2]|0,Se)|0;if(c[vf>>2]|0)break a;c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;i=Se;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;break}case 0:{c[n>>2]=c[(c[rf>>2]|0)+4>>2];c[o>>2]=c[(c[rf>>2]|0)+16>>2];do if(!(c[n>>2]|0)){if((c[(c[wf>>2]|0)+164>>2]|0)>0){is(c[tf>>2]|0,38798,Xe);c[vf>>2]=5;break}c[p>>2]=md(c[o>>2]|0)|0;c[vf>>2]=_r(c[wf>>2]|0,0,(c[(c[wf>>2]|0)+436>>2]|0)+(c[(c[wf>>2]|0)+432>>2]|0)|0)|0;if(c[vf>>2]|0)break a;c[q>>2]=Ed(c[wf>>2]|0,32+(c[p>>2]|0)+1|0,0)|0;if(c[q>>2]|0){c[c[q>>2]>>2]=(c[q>>2]|0)+32;h0(c[c[q>>2]>>2]|0,c[o>>2]|0,(c[p>>2]|0)+1|0)|0;f=c[wf>>2]|0;if(a[(c[wf>>2]|0)+67>>0]|0){a[f+67>>0]=0;a[(c[wf>>2]|0)+75>>0]=1}else{Bf=f+432|0;c[Bf>>2]=(c[Bf>>2]|0)+1}c[(c[q>>2]|0)+24>>2]=c[(c[wf>>2]|0)+424>>2];c[(c[wf>>2]|0)+424>>2]=c[q>>2];Bf=(c[wf>>2]|0)+440|0;zf=c[Bf+4>>2]|0;i=(c[q>>2]|0)+8|0;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;i=(c[wf>>2]|0)+448|0;zf=c[i+4>>2]|0;Bf=(c[q>>2]|0)+16|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}}else{c[t>>2]=0;c[r>>2]=c[(c[wf>>2]|0)+424>>2];while(1){if(!(c[r>>2]|0))break;if(!(bh(c[c[r>>2]>>2]|0,c[o>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1;c[r>>2]=c[(c[r>>2]|0)+24>>2]}if(!(c[r>>2]|0)){Bf=c[tf>>2]|0;c[Ye>>2]=c[o>>2];is(Bf,38849,Ye);c[vf>>2]=1;break}if((c[n>>2]|0)==1?(c[(c[wf>>2]|0)+164>>2]|0)>0:0){is(c[tf>>2]|0,38871,Ze);c[vf>>2]=5;break}if(!(c[(c[r>>2]|0)+24>>2]|0))f=(d[(c[wf>>2]|0)+75>>0]|0)!=0;else f=0;c[v>>2]=f&1;if(!((c[v>>2]|0)!=0&(c[n>>2]|0)==1)){c[t>>2]=(c[(c[wf>>2]|0)+432>>2]|0)-(c[t>>2]|0)-1;g:do if((c[n>>2]|0)==2){c[x>>2]=(c[(c[wf>>2]|0)+24>>2]&2|0)!=0&1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[wf>>2]|0)+20>>2]|0))break g;c[vf>>2]=Er(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[u>>2]<<4)+4>>2]|0,516,(c[x>>2]|0)==0&1)|0;if(c[vf>>2]|0)break a;c[u>>2]=(c[u>>2]|0)+1}}else c[x>>2]=0;while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[wf>>2]|0)+20>>2]|0))break;c[vf>>2]=Zr(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[u>>2]<<4)+4>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;if(c[vf>>2]|0)break a;c[u>>2]=(c[u>>2]|0)+1}if(c[x>>2]|0){Qq(c[wf>>2]|0);Np(c[wf>>2]|0);c[(c[wf>>2]|0)+24>>2]=c[(c[wf>>2]|0)+24>>2]|2}}else{Bf=Tr(c[tf>>2]|0,1)|0;c[vf>>2]=Bf;if(Bf|0){j=885;break c}a[(c[wf>>2]|0)+67>>0]=1;if((Or(c[tf>>2]|0)|0)==5){j=372;break c}a[(c[wf>>2]|0)+75>>0]=0;c[vf>>2]=c[(c[tf>>2]|0)+40>>2]}while(1){if((c[(c[wf>>2]|0)+424>>2]|0)==(c[r>>2]|0))break;c[s>>2]=c[(c[wf>>2]|0)+424>>2];c[(c[wf>>2]|0)+424>>2]=c[(c[s>>2]|0)+24>>2];Xd(c[wf>>2]|0,c[s>>2]|0);Bf=(c[wf>>2]|0)+432|0;c[Bf>>2]=(c[Bf>>2]|0)+-1}f=c[r>>2]|0;if((c[n>>2]|0)==1){c[(c[wf>>2]|0)+424>>2]=c[f+24>>2];Xd(c[wf>>2]|0,c[r>>2]|0);if(!(c[v>>2]|0)){Bf=(c[wf>>2]|0)+432|0;c[Bf>>2]=(c[Bf>>2]|0)+-1}}else{Bf=f+8|0;zf=c[Bf+4>>2]|0;i=(c[wf>>2]|0)+440|0;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;i=(c[r>>2]|0)+16|0;zf=c[i+4>>2]|0;Bf=(c[wf>>2]|0)+448|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}if((c[v>>2]|0)==0|(c[n>>2]|0)==2){c[vf>>2]=_r(c[wf>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;if((c[vf>>2]|0)!=0|(c[vf>>2]|0)!=0)break a;else break d}}while(0);if(c[vf>>2]|0)break a;break}case 2:{if(c[(c[rf>>2]|0)+8>>2]|0?c[(c[wf>>2]|0)+24>>2]&67108864|0:0){j=413;break c}c[z>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+4>>2];if(c[z>>2]|0){c[vf>>2]=Gp(c[z>>2]|0,c[(c[rf>>2]|0)+8>>2]|0)|0;if(c[vf>>2]|0){j=416;break c}do if(c[(c[rf>>2]|0)+8>>2]|0?(e[(c[tf>>2]|0)+144>>1]|0)>>>6&1|0:0){if(d[(c[wf>>2]|0)+67>>0]|0?(c[(c[wf>>2]|0)+160>>2]|0)<=1:0)break;if(!(c[(c[tf>>2]|0)+48>>2]|0)){Bf=(c[wf>>2]|0)+436|0;c[Bf>>2]=(c[Bf>>2]|0)+1;c[(c[tf>>2]|0)+48>>2]=(c[(c[wf>>2]|0)+432>>2]|0)+(c[(c[wf>>2]|0)+436>>2]|0)}c[vf>>2]=_r(c[wf>>2]|0,0,(c[(c[tf>>2]|0)+48>>2]|0)-1|0)|0;if(!(c[vf>>2]|0))c[vf>>2]=bG(c[z>>2]|0,c[(c[tf>>2]|0)+48>>2]|0)|0;Bf=(c[wf>>2]|0)+440|0;zf=c[Bf+4>>2]|0;i=(c[tf>>2]|0)+72|0;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;i=(c[wf>>2]|0)+448|0;zf=c[i+4>>2]|0;Bf=(c[tf>>2]|0)+80|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}while(0);Ip(c[z>>2]|0,1,A);c[B>>2]=c[(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[A>>2]=0;c[B>>2]=0}do if(d[(c[rf>>2]|0)+3>>0]|0){if((c[A>>2]|0)==(c[(c[rf>>2]|0)+12>>2]|0)?(c[B>>2]|0)==(c[(c[rf>>2]|0)+16>>2]|0):0)break;Xd(c[wf>>2]|0,c[(c[tf>>2]|0)+108>>2]|0);Bf=Xo(c[wf>>2]|0,22704)|0;c[(c[tf>>2]|0)+108>>2]=Bf;if((c[c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[A>>2]|0))Vs(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0);Bf=(c[tf>>2]|0)+144|0;b[Bf>>1]=b[Bf>>1]&-2|1;c[vf>>2]=17}while(0);if(c[vf>>2]|0)break a;break}case 101:{c[G>>2]=c[(c[rf>>2]|0)+4>>2];c[H>>2]=c[(c[rf>>2]|0)+12>>2];Ip(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[G>>2]<<4)+4>>2]|0,c[H>>2]|0,C);c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;zf=c[C>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break}case 102:{c[I>>2]=(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4);c[vf>>2]=Mp(c[(c[I>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+8>>2]|0,c[(c[rf>>2]|0)+12>>2]|0)|0;f=c[rf>>2]|0;if((c[(c[rf>>2]|0)+8>>2]|0)!=1){if((c[f+8>>2]|0)==2)a[(c[(c[I>>2]|0)+12>>2]|0)+76>>0]=c[(c[rf>>2]|0)+12>>2]}else{c[c[(c[I>>2]|0)+12>>2]>>2]=c[f+12>>2];Bf=(c[wf>>2]|0)+24|0;c[Bf>>2]=c[Bf>>2]|2}if((c[(c[rf>>2]|0)+4>>2]|0)==1){Qq(c[wf>>2]|0);Bf=(c[tf>>2]|0)+144|0;b[Bf>>1]=b[Bf>>1]&-2}if(c[vf>>2]|0)break a;break}case 103:{c[Q>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];if(c[Q>>2]|0?(c[(c[Q>>2]|0)+8>>2]|0)==(c[(c[rf>>2]|0)+8>>2]|0):0)j=460;else j=446;break}case 105:case 104:{j=446;break}case 107:case 106:{c[U>>2]=cG(c[tf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[U>>2]|0)){j=887;break a}a[(c[U>>2]|0)+2>>0]=1;Bf=(c[U>>2]|0)+5|0;a[Bf>>0]=a[Bf>>0]&-2|1;c[vf>>2]=rl(c[c[wf>>2]>>2]|0,0,c[wf>>2]|0,(c[U>>2]|0)+20|0,5|d[(c[rf>>2]|0)+3>>0],1054)|0;if(!(c[vf>>2]|0))c[vf>>2]=Gp(c[(c[U>>2]|0)+20>>2]|0,1)|0;if(!(c[vf>>2]|0)){Bf=c[(c[rf>>2]|0)+16>>2]|0;c[V>>2]=Bf;f=c[(c[U>>2]|0)+20>>2]|0;if(Bf|0){c[vf>>2]=fG(f,X,2|d[(c[rf>>2]|0)+3>>0])|0;if(!(c[vf>>2]|0)){c[(c[U>>2]|0)+24>>2]=c[V>>2];c[vf>>2]=dG(c[(c[U>>2]|0)+20>>2]|0,c[X>>2]|0,4,c[V>>2]|0,c[(c[U>>2]|0)+16>>2]|0)|0}f=0;g=c[U>>2]|0}else{c[vf>>2]=dG(f,1,4,0,c[(c[U>>2]|0)+16>>2]|0)|0;f=1;g=c[U>>2]|0}a[g+4>>0]=f}if(c[vf>>2]|0)break a;Bf=(c[U>>2]|0)+5|0;a[Bf>>0]=a[Bf>>0]&-5|((d[(c[rf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 108:{c[Y>>2]=cG(c[tf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[Y>>2]|0)){j=887;break a}c[(c[Y>>2]|0)+24>>2]=c[(c[rf>>2]|0)+16>>2];c[vf>>2]=gG(c[wf>>2]|0,c[(c[rf>>2]|0)+12>>2]|0,c[Y>>2]|0)|0;if(c[vf>>2]|0)break a;break}case 109:{c[Z>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];i=(c[Z>>2]|0)+32|0;Bf=i;zf=c[Bf>>2]|0;Bf=c[Bf+4>>2]|0;g=_$(zf|0,Bf|0,1,0)|0;c[i>>2]=g;c[i+4>>2]=D;if((zf|0)==0&(Bf|0)==0)j=14;break}case 110:{c[_>>2]=cG(c[tf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[_>>2]|0)){j=887;break a}a[(c[_>>2]|0)+2>>0]=1;c[(c[_>>2]|0)+16>>2]=c[(c[rf>>2]|0)+8>>2];a[(c[_>>2]|0)+4>>0]=1;break}case 111:{ns(c[tf>>2]|0,c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{c[ba>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[aa>>2]=d[c[rf>>2]>>0];c[ga>>2]=0;a[(c[ba>>2]|0)+2>>0]=0;if(a[(c[ba>>2]|0)+4>>0]|0){c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if((e[(c[fa>>2]|0)+8>>1]&14|0)==2)Oi(c[fa>>2]|0,0);zf=Ki(c[fa>>2]|0)|0;Bf=ea;c[Bf>>2]=zf;c[Bf+4>>2]=D;do if(!(e[(c[fa>>2]|0)+8>>1]&4)){if(!(e[(c[fa>>2]|0)+8>>1]&8)){j=14;break d}Bf=ea;if(+h[c[fa>>2]>>3]<+((c[Bf>>2]|0)>>>0)+4294967296.0*+(c[Bf+4>>2]|0)){if(c[aa>>2]&1|0)break;c[aa>>2]=(c[aa>>2]|0)+-1;break}Bf=ea;if(+h[c[fa>>2]>>3]>+((c[Bf>>2]|0)>>>0)+4294967296.0*+(c[Bf+4>>2]|0)?(c[aa>>2]&1|0)==1:0)c[aa>>2]=(c[aa>>2]|0)+1}while(0);i=ea;c[vf>>2]=_D(c[(c[ba>>2]|0)+16>>2]|0,0,c[i>>2]|0,c[i+4>>2]|0,0,$)|0;i=ea;zf=c[i+4>>2]|0;Bf=(c[ba>>2]|0)+40|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;if(c[vf>>2]|0)break a;else j=496}else{if(hG(c[(c[ba>>2]|0)+16>>2]|0,2)|0)c[ga>>2]=1;c[da>>2]=c[(c[rf>>2]|0)+16>>2];c[ca>>2]=c[(c[ba>>2]|0)+24>>2];b[ca+8>>1]=c[da>>2];a[ca+10>>0]=1&(c[aa>>2]|0)-23|0?-1:1;c[ca+4>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);a[ca+14>>0]=0;c[vf>>2]=_D(c[(c[ba>>2]|0)+16>>2]|0,ca,0,0,0,$)|0;if(c[vf>>2]|0)break a;if(!(c[ga>>2]|0?!(d[ca+14>>0]|0):0))j=496}do if((j|0)==496){j=0;a[(c[ba>>2]|0)+3>>0]=0;c[(c[ba>>2]|0)+56>>2]=0;f=c[$>>2]|0;if((c[aa>>2]|0)>=25){if((f|0)>=0?!((c[$>>2]|0)==0&(c[aa>>2]|0)==26):0){c[$>>2]=0;break}c[$>>2]=0;c[vf>>2]=PD(c[(c[ba>>2]|0)+16>>2]|0,$)|0;if(c[vf>>2]|0)break a;else break}else{if((f|0)<=0?!((c[$>>2]|0)==0&(c[aa>>2]|0)==23):0){c[$>>2]=iG(c[(c[ba>>2]|0)+16>>2]|0)|0;break}c[$>>2]=0;c[vf>>2]=QD(c[(c[ba>>2]|0)+16>>2]|0,$)|0;if(c[vf>>2]|0)break a;else break}}while(0);if(!(c[$>>2]|0)){if(c[ga>>2]|0)c[rf>>2]=(c[rf>>2]|0)+20}else j=14;break}case 31:case 30:case 29:{c[ka>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[ma>>2]=0;f=c[(c[ka>>2]|0)+24>>2]|0;if((c[(c[rf>>2]|0)+16>>2]|0)>0){c[oa>>2]=f;b[oa+8>>1]=c[(c[rf>>2]|0)+16>>2];c[oa+4>>2]=c[fa>>2];c[na>>2]=oa}else{c[na>>2]=YD(f,pa,183,ma)|0;if(!(c[na>>2]|0)){j=887;break a}if(e[(c[fa>>2]|0)+8>>1]&16384|0)hi(c[fa>>2]|0)|0;ZD(c[(c[ka>>2]|0)+24>>2]|0,c[(c[fa>>2]|0)+12>>2]|0,c[(c[fa>>2]|0)+16>>2]|0,c[na>>2]|0)}a[(c[na>>2]|0)+10>>0]=0;c[ia>>2]=0;h:do if((d[c[rf>>2]>>0]|0)==29){c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(e[(c[na>>2]|0)+8>>1]|0))break h;if(e[(c[(c[na>>2]|0)+4>>2]|0)+((c[ja>>2]|0)*40|0)+8>>1]&1|0)break;c[ja>>2]=(c[ja>>2]|0)+1}c[ia>>2]=1}while(0);c[vf>>2]=_D(c[(c[ka>>2]|0)+16>>2]|0,c[na>>2]|0,0,0,0,la)|0;Xd(c[wf>>2]|0,c[ma>>2]|0);if(c[vf>>2]|0)break a;c[(c[ka>>2]|0)+28>>2]=c[la>>2];c[ha>>2]=(c[la>>2]|0)==0&1;a[(c[ka>>2]|0)+2>>0]=1-(c[ha>>2]|0);a[(c[ka>>2]|0)+3>>0]=0;c[(c[ka>>2]|0)+56>>2]=0;if((d[c[rf>>2]>>0]|0)==31)if(c[ha>>2]|0){j=14;break d}else break d;else if((c[ia>>2]|0)==0&(c[ha>>2]|0)!=0)break d;else{j=14;break d}}case 32:{c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if((e[(c[fa>>2]|0)+8>>1]&4|0)==0?(aw(c[fa>>2]|0,67,a[ne>>0]|0),(e[(c[fa>>2]|0)+8>>1]&4|0)==0):0)j=14;else j=526;break}case 33:{j=526;break}case 113:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;Bf=(c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;zf=Bf;i=c[zf>>2]|0;zf=c[zf+4>>2]|0;g=_$(i|0,zf|0,1,0)|0;c[Bf>>2]=g;c[Bf+4>>2]=D;Bf=c[qa>>2]|0;c[Bf>>2]=i;c[Bf+4>>2]=zf;break}case 114:{Bf=va;c[Bf>>2]=0;c[Bf+4>>2]=0;c[xa>>2]=0;c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[wa>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[wa>>2]|0)+5>>0]|0)>>>1&1)){c[vf>>2]=jG(c[(c[wa>>2]|0)+16>>2]|0,xa)|0;if(c[vf>>2]|0)break a;if(c[xa>>2]|0){Bf=va;c[Bf>>2]=1;c[Bf+4>>2]=0;break}zf=wq(c[(c[wa>>2]|0)+16>>2]|0)|0;Bf=va;c[Bf>>2]=zf;c[Bf+4>>2]=D;Bf=va;zf=c[Bf+4>>2]|0;if((zf|0)>2147483647|(zf|0)==2147483647&(c[Bf>>2]|0)>>>0>=4294967295){Bf=(c[wa>>2]|0)+5|0;a[Bf>>0]=a[Bf>>0]&-3|2;break}else{zf=va;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,1,0)|0;Bf=va;c[Bf>>2]=zf;c[Bf+4>>2]=D;break}}while(0);if(c[(c[rf>>2]|0)+12>>2]|0){if(c[(c[tf>>2]|0)+184>>2]|0){c[Aa>>2]=c[(c[tf>>2]|0)+184>>2];while(1){f=c[Aa>>2]|0;if(!(c[(c[Aa>>2]|0)+4>>2]|0))break;c[Aa>>2]=c[f+4>>2]}c[za>>2]=(c[f+16>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0)}else c[za>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);bw(c[za>>2]|0)|0;Bf=c[za>>2]|0;if((c[Bf>>2]|0)==-1?(c[Bf+4>>2]|0)==2147483647:0){j=547;break c}if((d[(c[wa>>2]|0)+5>>0]|0)>>>1&1|0){j=547;break c}g=va;zf=c[g>>2]|0;g=c[g+4>>2]|0;Bf=c[za>>2]|0;Bf=_$(c[Bf>>2]|0,c[Bf+4>>2]|0,1,0)|0;i=D;if((g|0)<(i|0)|(g|0)==(i|0)&zf>>>0>>0){zf=c[za>>2]|0;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,1,0)|0;Bf=va;c[Bf>>2]=zf;c[Bf+4>>2]=D}i=va;zf=c[i+4>>2]|0;Bf=c[za>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}if((d[(c[wa>>2]|0)+5>>0]|0)>>>1&1|0){c[ya>>2]=0;do{sf(8,va);i=va;Bf=c[i+4>>2]&1073741823;zf=va;c[zf>>2]=c[i>>2];c[zf+4>>2]=Bf;zf=va;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,1,0)|0;Bf=va;c[Bf>>2]=zf;c[Bf+4>>2]=D;Bf=va;Bf=_D(c[(c[wa>>2]|0)+16>>2]|0,0,c[Bf>>2]|0,c[Bf+4>>2]|0,0,xa)|0;c[vf>>2]=Bf;if(!((Bf|0)==0&(c[xa>>2]|0)==0))break;Bf=(c[ya>>2]|0)+1|0;c[ya>>2]=Bf}while((Bf|0)<100);if(c[vf>>2]|0)break a;if(!(c[xa>>2]|0)){j=557;break c}}a[(c[wa>>2]|0)+3>>0]=0;c[(c[wa>>2]|0)+56>>2]=0;i=va;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;break}case 116:case 115:{c[Ia>>2]=0;c[Ca>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[Ea>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];if((d[c[rf>>2]>>0]|0)==115){c[Da>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);g=c[Da>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0}else{g=c[(c[rf>>2]|0)+12>>2]|0;f=g;g=((g|0)<0)<<31>>31}Bf=Ja+8|0;c[Bf>>2]=f;c[Bf+4>>2]=g;if((a[(c[rf>>2]|0)+1>>0]|0)==-20?c[(c[wf>>2]|0)+220>>2]|0:0){c[Ga>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(a[(c[Ea>>2]|0)+1>>0]<<4)>>2];c[Ha>>2]=c[(c[rf>>2]|0)+16>>2];c[Ia>>2]=d[(c[rf>>2]|0)+3>>0]&4|0?23:18}else{c[Ha>>2]=0;c[Ga>>2]=0}if(d[(c[rf>>2]|0)+3>>0]&1|0){Bf=(c[tf>>2]|0)+44|0;c[Bf>>2]=(c[Bf>>2]|0)+1}if(d[(c[rf>>2]|0)+3>>0]&2|0){zf=Ja+8|0;i=c[zf>>2]|0;zf=c[zf+4>>2]|0;Bf=uf;c[Bf>>2]=i;c[Bf+4>>2]=zf;Bf=(c[wf>>2]|0)+32|0;c[Bf>>2]=i;c[Bf+4>>2]=zf}if(e[(c[Ca>>2]|0)+8>>1]&1|0){c[Ja+16>>2]=0;f=0}else{c[Ja+16>>2]=c[(c[Ca>>2]|0)+16>>2];f=c[(c[Ca>>2]|0)+12>>2]|0}c[Ja+20>>2]=f;if(d[(c[rf>>2]|0)+3>>0]&16|0)f=c[(c[Ea>>2]|0)+28>>2]|0;else f=0;c[Fa>>2]=f;if(e[(c[Ca>>2]|0)+8>>1]&16384|0)f=c[c[Ca>>2]>>2]|0;else f=0;c[Ja+24>>2]=f;c[Ja>>2]=0;c[vf>>2]=kG(c[(c[Ea>>2]|0)+16>>2]|0,Ja,(d[(c[rf>>2]|0)+3>>0]&8|0)!=0&1,c[Fa>>2]|0)|0;a[(c[Ea>>2]|0)+3>>0]=0;c[(c[Ea>>2]|0)+56>>2]=0;if(c[vf>>2]|0)break a;if(c[Ia>>2]|0?(c[(c[wf>>2]|0)+220>>2]|0)!=0:0){Bf=Ja+8|0;Lb[c[(c[wf>>2]|0)+220>>2]&255](c[(c[wf>>2]|0)+216>>2]|0,c[Ia>>2]|0,c[Ga>>2]|0,c[c[Ha>>2]>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0)}break}case 117:{c[Na>>2]=c[(c[rf>>2]|0)+8>>2];c[Ka>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];if((a[(c[rf>>2]|0)+1>>0]|0)==-20?c[(c[wf>>2]|0)+220>>2]|0:0){c[La>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(a[(c[Ka>>2]|0)+1>>0]<<4)>>2];c[Ma>>2]=c[(c[rf>>2]|0)+16>>2];if(d[(c[rf>>2]|0)+3>>0]&2|0?d[(c[Ka>>2]|0)+4>>0]|0:0){zf=wq(c[(c[Ka>>2]|0)+16>>2]|0)|0;Bf=(c[Ka>>2]|0)+40|0;c[Bf>>2]=zf;c[Bf+4>>2]=D}}else{c[La>>2]=0;c[Ma>>2]=0}c[vf>>2]=lG(c[(c[Ka>>2]|0)+16>>2]|0,a[(c[rf>>2]|0)+3>>0]|0)|0;c[(c[Ka>>2]|0)+56>>2]=0;if(c[vf>>2]|0)break a;if((c[Na>>2]&1|0?(Bf=(c[tf>>2]|0)+44|0,c[Bf>>2]=(c[Bf>>2]|0)+1,c[(c[wf>>2]|0)+220>>2]|0):0)?(d[(c[Ma>>2]|0)+42>>0]&32|0)==0:0){Bf=(c[Ka>>2]|0)+40|0;Lb[c[(c[wf>>2]|0)+220>>2]&255](c[(c[wf>>2]|0)+216>>2]|0,9,c[La>>2]|0,c[c[Ma>>2]>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0)}break}case 118:{Yr(c[wf>>2]|0,c[(c[tf>>2]|0)+44>>2]|0);c[(c[tf>>2]|0)+44>>2]=0;break}case 119:{c[Oa>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[Qa>>2]=c[(c[rf>>2]|0)+16>>2];c[Pa>>2]=0;c[vf>>2]=mG(c[Oa>>2]|0,c[fa>>2]|0,c[Qa>>2]|0,Pa)|0;if(c[vf>>2]|0)break a;if(c[Pa>>2]|0)j=14;break}case 120:{c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[Ra>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[vf>>2]=nG(c[Ra>>2]|0,c[qa>>2]|0)|0;if(c[vf>>2]|0)break a;c[(c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 122:case 121:{c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[Sa>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[Ta>>2]=c[(c[Sa>>2]|0)+16>>2];c[Ua>>2]=xq(c[Ta>>2]|0)|0;if((c[Ua>>2]|0)>>>0>(c[(c[wf>>2]|0)+96>>2]|0)>>>0){j=886;break c}if(di(c[qa>>2]|0,(c[Ua>>2]|0)>>>0>32?c[Ua>>2]|0:32)|0){j=887;break a}c[(c[qa>>2]|0)+12>>2]=c[Ua>>2];b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|16;f=c[Ta>>2]|0;g=c[Ua>>2]|0;i=c[(c[qa>>2]|0)+16>>2]|0;if(!(d[(c[Sa>>2]|0)+4>>0]|0))c[vf>>2]=yq(f,0,g,i)|0;else c[vf>>2]=oG(f,0,g,i)|0;if(c[vf>>2]|0)break a;a[(c[qa>>2]|0)+10>>0]=1;break}case 123:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[Va>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Va>>2]|0)+2>>0]|0){b[(c[qa>>2]|0)+8>>1]=1;break d}f=c[Va>>2]|0;do if(!(a[(c[Va>>2]|0)+3>>0]|0)){g=c[Va>>2]|0;if((d[f>>0]|0)==2){c[Xa>>2]=c[c[g+16>>2]>>2];c[Ya>>2]=c[c[Xa>>2]>>2];c[vf>>2]=Mb[c[(c[Ya>>2]|0)+48>>2]&255](c[(c[Va>>2]|0)+16>>2]|0,Wa)|0;gs(c[tf>>2]|0,c[Xa>>2]|0);if(c[vf>>2]|0)break a;else break}c[vf>>2]=pG(g)|0;if(c[vf>>2]|0)break a;if(a[(c[Va>>2]|0)+2>>0]|0){b[(c[qa>>2]|0)+8>>1]=1;break d}else{zf=wq(c[(c[Va>>2]|0)+16>>2]|0)|0;Bf=Wa;c[Bf>>2]=zf;c[Bf+4>>2]=D;break}}else{i=f+40|0;zf=c[i+4>>2]|0;Bf=Wa;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}while(0);i=Wa;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;break}case 124:{c[Za>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];a[(c[Za>>2]|0)+2>>0]=1;c[(c[Za>>2]|0)+56>>2]=0;if(!(d[c[Za>>2]>>0]|0))zr(c[(c[Za>>2]|0)+16>>2]|0);break}case 53:{c[_a>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[$a>>2]=c[(c[_a>>2]|0)+16>>2];c[ab>>2]=0;c[vf>>2]=jG(c[$a>>2]|0,ab)|0;a[(c[_a>>2]|0)+2>>0]=c[ab>>2];a[(c[_a>>2]|0)+3>>0]=0;c[(c[_a>>2]|0)+56>>2]=0;c[(c[_a>>2]|0)+28>>2]=c[(c[rf>>2]|0)+12>>2];if(c[vf>>2]|0)break a;if(c[ab>>2]|0?(c[(c[rf>>2]|0)+8>>2]|0)>0:0)j=14;break}case 56:case 55:{j=(c[tf>>2]|0)+156+8|0;c[j>>2]=(c[j>>2]|0)+1;j=619;break}case 57:{j=619;break}case 3:{c[fb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[gb>>2]=0;c[vf>>2]=sG(c[wf>>2]|0,c[fb>>2]|0,gb)|0;j=627;break}case 5:case 4:{if(c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2]|0)j=626;break}case 7:case 6:{j=626;break}case 126:case 125:{c[hb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);if(d[(c[rf>>2]|0)+3>>0]&1|0){Bf=(c[tf>>2]|0)+44|0;c[Bf>>2]=(c[Bf>>2]|0)+1}if(e[(c[W>>2]|0)+8>>1]&16384|0)f=hi(c[W>>2]|0)|0;else f=0;c[vf>>2]=f;if(c[vf>>2]|0)break a;if((d[c[rf>>2]>>0]|0)==125)c[vf>>2]=tG(c[hb>>2]|0,c[W>>2]|0)|0;else{zf=c[(c[W>>2]|0)+12>>2]|0;Bf=ib+8|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;c[ib>>2]=c[(c[W>>2]|0)+16>>2];if(d[(c[rf>>2]|0)+3>>0]&16|0)f=c[(c[hb>>2]|0)+28>>2]|0;else f=0;c[vf>>2]=kG(c[(c[hb>>2]|0)+16>>2]|0,ib,c[(c[rf>>2]|0)+12>>2]|0,f)|0;c[(c[hb>>2]|0)+56>>2]=0}if(c[vf>>2]|0)break a;break}case 127:{c[jb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[kb>>2]=c[(c[jb>>2]|0)+16>>2];c[mb>>2]=c[(c[jb>>2]|0)+24>>2];b[mb+8>>1]=c[(c[rf>>2]|0)+12>>2];a[mb+10>>0]=0;c[mb+4>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);c[vf>>2]=_D(c[kb>>2]|0,mb,0,0,0,lb)|0;if(c[vf>>2]|0)break a;if((c[lb>>2]|0)==0?(c[vf>>2]=lG(c[kb>>2]|0,4)|0,c[vf>>2]|0):0)break a;c[(c[jb>>2]|0)+56>>2]=0;break}case 129:case 128:{c[nb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[vf>>2]=pG(c[nb>>2]|0)|0;if(c[vf>>2]|0)break a;if(a[(c[nb>>2]|0)+2>>0]|0){_h((c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0)|0);break d}Bf=qb;c[Bf>>2]=0;c[Bf+4>>2]=0;c[vf>>2]=uG(c[wf>>2]|0,c[(c[nb>>2]|0)+16>>2]|0,qb)|0;if(c[vf>>2]|0)break a;f=c[tf>>2]|0;if((d[c[rf>>2]>>0]|0)==128){c[ob>>2]=c[(c[f+112>>2]|0)+(c[(c[rf>>2]|0)+12>>2]<<2)>>2];a[(c[ob>>2]|0)+2>>0]=0;i=qb;zf=c[i+4>>2]|0;Bf=(c[ob>>2]|0)+40|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;a[(c[ob>>2]|0)+3>>0]=1;c[(c[ob>>2]|0)+52>>2]=c[(c[rf>>2]|0)+16>>2];c[(c[ob>>2]|0)+48>>2]=c[nb>>2];break d}else{c[qa>>2]=QF(f,c[rf>>2]|0)|0;i=qb;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;b[(c[qa>>2]|0)+8>>1]=4;break d}}case 61:case 60:case 59:case 58:{c[rb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[tb>>2]=c[(c[rb>>2]|0)+24>>2];b[tb+8>>1]=c[(c[rf>>2]|0)+16>>2];a[tb+10>>0]=(d[c[rf>>2]>>0]|0)<60?-1:0;c[tb+4>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[sb>>2]=0;c[vf>>2]=vG(c[wf>>2]|0,c[rb>>2]|0,tb,sb)|0;f=c[sb>>2]|0;if(!(d[c[rf>>2]>>0]&1))c[sb>>2]=0-f;else c[sb>>2]=f+1;if(c[vf>>2]|0)break a;if((c[sb>>2]|0)>0)j=14;break}case 130:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;b[(c[qa>>2]|0)+8>>1]=1;if((c[(c[wf>>2]|0)+160>>2]|0)>((c[(c[wf>>2]|0)+172>>2]|0)+1|0)){j=659;break c}c[vb>>2]=c[(c[rf>>2]|0)+12>>2];c[ub>>2]=0;c[vf>>2]=wG(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[vb>>2]<<4)+4>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,ub)|0;b[(c[qa>>2]|0)+8>>1]=4;zf=c[ub>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;if(c[vf>>2]|0)break a;if(c[ub>>2]|0){xG(c[wf>>2]|0,c[vb>>2]|0,c[ub>>2]|0,c[(c[rf>>2]|0)+4>>2]|0);a[ff>>0]=(c[vb>>2]|0)+1}break}case 131:{c[wb>>2]=0;c[vf>>2]=yG(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+12>>2]|0?wb:0)|0;if(c[(c[rf>>2]|0)+12>>2]|0?(Bf=(c[tf>>2]|0)+44|0,c[Bf>>2]=(c[Bf>>2]|0)+(c[wb>>2]|0),(c[(c[rf>>2]|0)+12>>2]|0)>0):0){zf=c[wb>>2]|0;Bf=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0)|0;i=Bf;zf=_$(c[i>>2]|0,c[i+4>>2]|0,zf|0,((zf|0)<0)<<31>>31|0)|0;c[Bf>>2]=zf;c[Bf+4>>2]=D}if(c[vf>>2]|0)break a;break}case 133:{c[xb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];if((d[c[xb>>2]>>0]|0)!=1){c[vf>>2]=zG(c[(c[xb>>2]|0)+16>>2]|0)|0;if(c[vf>>2]|0)break a;else break d}else{ps(c[wf>>2]|0,c[(c[xb>>2]|0)+16>>2]|0);break d}}case 135:case 134:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[yb>>2]=0;c[Cb>>2]=(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4);if((d[c[rf>>2]>>0]|0)==135)c[zb>>2]=1;else c[zb>>2]=2;c[vf>>2]=fG(c[(c[Cb>>2]|0)+4>>2]|0,yb,c[zb>>2]|0)|0;if(c[vf>>2]|0)break a;zf=c[yb>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break}case 136:{c[Db>>2]=c[(c[rf>>2]|0)+4>>2];c[Eb>>2]=(c[Db>>2]|0)==1?26433:26452;c[Jb>>2]=c[wf>>2];c[Jb+8>>2]=c[(c[rf>>2]|0)+4>>2];c[Jb+4>>2]=(c[tf>>2]|0)+108;Bf=c[wf>>2]|0;i=c[Eb>>2]|0;zf=c[(c[rf>>2]|0)+16>>2]|0;c[$e>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[Db>>2]<<4)>>2];c[$e+4>>2]=i;c[$e+8>>2]=zf;c[Gb>>2]=Wj(Bf,39112,$e)|0;if(!(c[Gb>>2]|0))c[vf>>2]=7;else{a[(c[wf>>2]|0)+148+5>>0]=1;c[Jb+12>>2]=0;c[vf>>2]=qv(c[wf>>2]|0,c[Gb>>2]|0,146,Jb,0)|0;if(!(c[vf>>2]|0))c[vf>>2]=c[Jb+12>>2];Xd(c[wf>>2]|0,c[Gb>>2]|0);a[(c[wf>>2]|0)+148+5>>0]=0}if(c[vf>>2]|0){j=681;break c}break}case 137:{c[vf>>2]=rv(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0)|0;if(c[vf>>2]|0)break a;break}case 138:{AG(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+16>>2]|0);break}case 139:{BG(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+16>>2]|0);break}case 140:{CG(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+16>>2]|0);break}case 141:{c[Ob>>2]=c[(c[rf>>2]|0)+8>>2];c[Pb>>2]=c[(c[rf>>2]|0)+16>>2];c[Sb>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[Rb>>2]=DG(c[(c[(c[wf>>2]|0)+16>>2]|0)+(d[(c[rf>>2]|0)+3>>0]<<4)+4>>2]|0,c[Pb>>2]|0,c[Ob>>2]|0,c[c[Sb>>2]>>2]|0,Qb)|0;zf=c[Qb>>2]|0;Bf=c[Sb>>2]|0;i=Bf;zf=Z$(c[i>>2]|0,c[i+4>>2]|0,zf|0,((zf|0)<0)<<31>>31|0)|0;c[Bf>>2]=zf;c[Bf+4>>2]=D;_h(c[J>>2]|0);if(c[Qb>>2]|0){if(!(c[Rb>>2]|0)){j=887;break a}ci(c[J>>2]|0,c[Rb>>2]|0,-1,1,157)|0}oi(c[J>>2]|0,d[ne>>0]|0)|0;break}case 142:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);if((e[(c[J>>2]|0)+8>>1]&32|0)==0?(EG(c[J>>2]|0),(e[(c[J>>2]|0)+8>>1]&32|0)==0):0){j=887;break a}Bf=c[W>>2]|0;FG(c[c[J>>2]>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0);break}case 62:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&32|0?GG(c[c[J>>2]>>2]|0,Tb)|0:0){j=Tb;Yh((c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0)|0,c[j>>2]|0,c[j+4>>2]|0);j=8;break d}_h(c[J>>2]|0);j=7;break}case 63:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[Ub>>2]=c[(c[rf>>2]|0)+16>>2];if((e[(c[J>>2]|0)+8>>1]&32|0)==0?(EG(c[J>>2]|0),(e[(c[J>>2]|0)+8>>1]&32|0)==0):0){j=887;break a}if(c[Ub>>2]|0?(Bf=c[fa>>2]|0,c[Vb>>2]=HG(c[c[J>>2]>>2]|0,c[Ub>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0)|0,c[Vb>>2]|0):0){j=14;break d}if((c[Ub>>2]|0)>=0){Bf=c[fa>>2]|0;FG(c[c[J>>2]>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0)}break}case 64:{c[ac>>2]=c[(c[rf>>2]|0)+16>>2];c[Yb>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if(a[(c[rf>>2]|0)+3>>0]|0){c[cc>>2]=c[(c[ac>>2]|0)+16>>2];c[$b>>2]=c[(c[tf>>2]|0)+184>>2];while(1){if(!(c[$b>>2]|0))break;if((c[(c[$b>>2]|0)+24>>2]|0)==(c[cc>>2]|0))break;c[$b>>2]=c[(c[$b>>2]|0)+4>>2]}if(c[$b>>2]|0)break d}if((c[(c[tf>>2]|0)+192>>2]|0)>=(c[(c[wf>>2]|0)+96+40>>2]|0)){j=710;break c}i:do if(!(e[(c[Yb>>2]|0)+8>>1]&64)){c[Wb>>2]=(c[(c[ac>>2]|0)+8>>2]|0)+(c[(c[ac>>2]|0)+12>>2]|0);if(!(c[(c[ac>>2]|0)+12>>2]|0))c[Wb>>2]=(c[Wb>>2]|0)+1;c[Xb>>2]=80+((c[Wb>>2]|0)*40|0)+(c[(c[ac>>2]|0)+12>>2]<<2);Bf=c[Xb>>2]|0;c[$b>>2]=_l(c[wf>>2]|0,Bf,((Bf|0)<0)<<31>>31)|0;if(!(c[$b>>2]|0)){j=887;break a}ei(c[Yb>>2]|0);b[(c[Yb>>2]|0)+8>>1]=64;c[c[Yb>>2]>>2]=c[$b>>2];c[c[$b>>2]>>2]=c[tf>>2];c[(c[$b>>2]|0)+60>>2]=c[Wb>>2];c[(c[$b>>2]|0)+64>>2]=c[(c[ac>>2]|0)+12>>2];c[(c[$b>>2]|0)+48>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;c[(c[$b>>2]|0)+16>>2]=c[(c[tf>>2]|0)+92>>2];c[(c[$b>>2]|0)+56>>2]=c[(c[tf>>2]|0)+24>>2];c[(c[$b>>2]|0)+20>>2]=c[(c[tf>>2]|0)+112>>2];c[(c[$b>>2]|0)+44>>2]=c[(c[tf>>2]|0)+28>>2];c[(c[$b>>2]|0)+8>>2]=c[(c[tf>>2]|0)+88>>2];c[(c[$b>>2]|0)+52>>2]=c[(c[tf>>2]|0)+136>>2];c[(c[$b>>2]|0)+24>>2]=c[(c[ac>>2]|0)+16>>2];c[_b>>2]=(c[$b>>2]|0)+80+((c[(c[$b>>2]|0)+60>>2]|0)*40|0);c[Zb>>2]=(c[$b>>2]|0)+80;while(1){if((c[Zb>>2]|0)==(c[_b>>2]|0))break i;b[(c[Zb>>2]|0)+8>>1]=128;c[(c[Zb>>2]|0)+32>>2]=c[wf>>2];c[Zb>>2]=(c[Zb>>2]|0)+40}}else c[$b>>2]=c[c[Yb>>2]>>2];while(0);i=(c[tf>>2]|0)+192|0;c[i>>2]=(c[i>>2]|0)+1;c[(c[$b>>2]|0)+4>>2]=c[(c[tf>>2]|0)+184>>2];i=uf;zf=c[i+4>>2]|0;Bf=(c[$b>>2]|0)+32|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;c[(c[$b>>2]|0)+68>>2]=c[(c[tf>>2]|0)+44>>2];c[(c[$b>>2]|0)+72>>2]=c[(c[c[tf>>2]>>2]|0)+88>>2];c[(c[$b>>2]|0)+40>>2]=c[(c[tf>>2]|0)+204>>2];c[(c[tf>>2]|0)+204>>2]=0;c[(c[tf>>2]|0)+44>>2]=0;c[(c[tf>>2]|0)+184>>2]=c[$b>>2];Bf=(c[$b>>2]|0)+80|0;c[w>>2]=Bf;c[(c[tf>>2]|0)+92>>2]=Bf;c[(c[tf>>2]|0)+24>>2]=c[(c[$b>>2]|0)+60>>2];c[(c[tf>>2]|0)+28>>2]=c[(c[$b>>2]|0)+64>>2]&65535;c[(c[tf>>2]|0)+112>>2]=(c[w>>2]|0)+((c[(c[tf>>2]|0)+24>>2]|0)*40|0);Bf=c[c[ac>>2]>>2]|0;c[qf>>2]=Bf;c[(c[tf>>2]|0)+88>>2]=Bf;c[(c[tf>>2]|0)+136>>2]=c[(c[ac>>2]|0)+4>>2];c[rf>>2]=(c[qf>>2]|0)+-20;break}case 143:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[dc>>2]=c[(c[tf>>2]|0)+184>>2];c[ec>>2]=(c[(c[dc>>2]|0)+16>>2]|0)+(((c[(c[rf>>2]|0)+4>>2]|0)+(c[(c[(c[dc>>2]|0)+8>>2]|0)+((c[(c[dc>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);kj(c[qa>>2]|0,c[ec>>2]|0,4096);break}case 144:{f=c[rf>>2]|0;if(c[(c[wf>>2]|0)+24>>2]&33554432|0){i=c[f+8>>2]|0;f=(c[wf>>2]|0)+448|0;g=i;i=((i|0)<0)<<31>>31}else{i=c[(c[rf>>2]|0)+8>>2]|0;f=c[f+4>>2]|0?(c[wf>>2]|0)+440|0:(c[tf>>2]|0)+64|0;g=i;i=((i|0)<0)<<31>>31}zf=f;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,g|0,i|0)|0;Bf=f;c[Bf>>2]=zf;c[Bf+4>>2]=D;break}case 65:if(c[(c[rf>>2]|0)+4>>2]|0){Bf=(c[wf>>2]|0)+440|0;if(!((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0))break d;Bf=(c[wf>>2]|0)+448|0;if((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0){j=14;break d}else break d}else{Bf=(c[tf>>2]|0)+64|0;if(!((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0))break d;Bf=(c[wf>>2]|0)+448|0;if((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0){j=14;break d}else break d}case 145:{if(c[(c[tf>>2]|0)+184>>2]|0){c[fc>>2]=c[(c[tf>>2]|0)+184>>2];while(1){f=c[fc>>2]|0;if(!(c[(c[fc>>2]|0)+4>>2]|0))break;c[fc>>2]=c[f+4>>2]}c[J>>2]=(c[f+16>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0)}else c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);bw(c[J>>2]|0)|0;c[W>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0);bw(c[W>>2]|0)|0;zf=c[J>>2]|0;g=c[zf+4>>2]|0;Bf=c[W>>2]|0;i=c[Bf+4>>2]|0;if((g|0)<(i|0)|((g|0)==(i|0)?(c[zf>>2]|0)>>>0<(c[Bf>>2]|0)>>>0:0)){i=c[W>>2]|0;zf=c[i+4>>2]|0;Bf=c[J>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}break}case 66:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);Bf=c[J>>2]|0;zf=c[Bf+4>>2]|0;if((zf|0)>0|(zf|0)==0&(c[Bf>>2]|0)>>>0>0){Bf=c[(c[rf>>2]|0)+12>>2]|0;j=c[J>>2]|0;zf=j;Bf=Z$(c[zf>>2]|0,c[zf+4>>2]|0,Bf|0,((Bf|0)<0)<<31>>31|0)|0;c[j>>2]=Bf;c[j+4>>2]=D;j=14}break}case 146:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;Bf=c[J>>2]|0;zf=c[Bf+4>>2]|0;if((zf|0)<0|(zf|0)==0&(c[Bf>>2]|0)>>>0<=0){f=-1;g=-1}else{f=c[J>>2]|0;Bf=c[fa>>2]|0;zf=c[Bf+4>>2]|0;if((zf|0)>0|(zf|0)==0&(c[Bf>>2]|0)>>>0>0){i=c[fa>>2]|0;g=c[i>>2]|0;i=c[i+4>>2]|0}else{g=0;i=0}f=_$(c[f>>2]|0,c[f+4>>2]|0,g|0,i|0)|0;g=D}Bf=c[qa>>2]|0;c[Bf>>2]=f;c[Bf+4>>2]=g;break}case 67:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);Bf=c[J>>2]|0;if((c[Bf>>2]|0)!=0|(c[Bf+4>>2]|0)!=0){Bf=c[(c[rf>>2]|0)+12>>2]|0;j=c[J>>2]|0;zf=j;Bf=Z$(c[zf>>2]|0,c[zf+4>>2]|0,Bf|0,((Bf|0)<0)<<31>>31|0)|0;c[j>>2]=Bf;c[j+4>>2]=D;j=14}break}case 68:{c[J>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);Bf=c[J>>2]|0;zf=Bf;zf=_$(c[zf>>2]|0,c[zf+4>>2]|0,-1,-1)|0;c[Bf>>2]=zf;c[Bf+4>>2]=D;Bf=c[J>>2]|0;if((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0)j=14;break}case 147:{c[gc>>2]=d[(c[rf>>2]|0)+3>>0];c[hc>>2]=Ed(c[wf>>2]|0,32+((c[gc>>2]|0)-1<<2)|0,0)|0;if(!(c[hc>>2]|0)){j=887;break a}c[(c[hc>>2]|0)+8>>2]=0;c[(c[hc>>2]|0)+4>>2]=c[(c[rf>>2]|0)+16>>2];c[(c[hc>>2]|0)+16>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;c[(c[hc>>2]|0)+12>>2]=c[tf>>2];a[(c[hc>>2]|0)+26>>0]=c[gc>>2];a[(c[rf>>2]|0)+1>>0]=-21;c[(c[rf>>2]|0)+16>>2]=c[hc>>2];a[c[rf>>2]>>0]=-108;j=750;break}case 148:{j=750;break}case 149:{c[nc>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[vf>>2]=ai(c[nc>>2]|0,c[(c[rf>>2]|0)+16>>2]|0)|0;if(c[vf>>2]|0){j=762;break c}oi(c[nc>>2]|0,d[ne>>0]|0)|0;if(RF(c[nc>>2]|0)|0){j=886;break c}break}case 8:{c[pc>>2]=0;c[pc+8>>2]=-1;c[pc+4>>2]=-1;c[vf>>2]=SA(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+8>>2]|0,pc+4|0,pc+8|0)|0;if(c[vf>>2]|0){if((c[vf>>2]|0)!=5)break a;c[vf>>2]=0;c[pc>>2]=1}c[oc>>2]=0;c[qc>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[oc>>2]|0)>=3)break d;Bf=c[pc+(c[oc>>2]<<2)>>2]|0;Yh(c[qc>>2]|0,Bf,((Bf|0)<0)<<31>>31);c[oc>>2]=(c[oc>>2]|0)+1;c[qc>>2]=(c[qc>>2]|0)+40}}case 9:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[tc>>2]=c[(c[rf>>2]|0)+12>>2];c[rc>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+4>>2];c[sc>>2]=qk(c[rc>>2]|0)|0;c[uc>>2]=Jp(c[sc>>2]|0)|0;if((c[tc>>2]|0)==-1)c[tc>>2]=c[uc>>2];if(!(IG(c[sc>>2]|0)|0))c[tc>>2]=c[uc>>2];c[vc>>2]=Ml(c[sc>>2]|0,1)|0;do if((c[tc>>2]|0)==5){if(md(c[vc>>2]|0)|0?dr(c[sc>>2]|0)|0:0)break;c[tc>>2]=c[uc>>2]}while(0);if((c[tc>>2]|0)!=(c[uc>>2]|0)?(c[uc>>2]|0)==5|(c[tc>>2]|0)==5:0){if(!(a[(c[wf>>2]|0)+67>>0]|0)){j=782;break c}if((c[(c[wf>>2]|0)+160>>2]|0)>1){j=782;break c}if((c[uc>>2]|0)==5){c[vf>>2]=JG(c[sc>>2]|0)|0;if(!(c[vf>>2]|0))KG(c[sc>>2]|0,c[tc>>2]|0)|0}else if((c[uc>>2]|0)==4)KG(c[sc>>2]|0,2)|0;if(!(c[vf>>2]|0))c[vf>>2]=Op(c[rc>>2]|0,(c[tc>>2]|0)==5?2:1)|0}if(c[vf>>2]|0)c[tc>>2]=c[uc>>2];c[tc>>2]=KG(c[sc>>2]|0,c[tc>>2]|0)|0;b[(c[qa>>2]|0)+8>>1]=2562;Bf=pA(c[tc>>2]|0)|0;c[(c[qa>>2]|0)+16>>2]=Bf;Bf=md(c[(c[qa>>2]|0)+16>>2]|0)|0;c[(c[qa>>2]|0)+12>>2]=Bf;a[(c[qa>>2]|0)+10>>0]=1;oi(c[qa>>2]|0,d[ne>>0]|0)|0;if(c[vf>>2]|0)break a;break}case 10:{c[vf>>2]=LG((c[tf>>2]|0)+108|0,c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0)|0;if(c[vf>>2]|0)break a;break}case 69:{c[wc>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+4>>2];c[vf>>2]=MG(c[wc>>2]|0)|0;if(c[vf>>2]|0){if((c[vf>>2]|0)!=101)break a;c[vf>>2]=0;j=14}break}case 150:if(c[(c[rf>>2]|0)+4>>2]|0){Bf=(c[tf>>2]|0)+144|0;b[Bf>>1]=b[Bf>>1]&-2|1;break d}else{Qq(c[wf>>2]|0);break d}case 151:{a[yc>>0]=c[(c[rf>>2]|0)+12>>2];if((d[yc>>0]|0)==0?0!=(c[(c[wf>>2]|0)+24>>2]&16384|0):0)break d;c[zc>>2]=c[(c[rf>>2]|0)+4>>2];c[vf>>2]=NG(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[zc>>2]<<4)+4>>2]|0,c[(c[rf>>2]|0)+8>>2]|0,a[yc>>0]|0)|0;if(c[vf>>2]|0){j=803;break c}break}case 152:{c[Bc>>2]=c[(c[rf>>2]|0)+16>>2];c[vf>>2]=OG(c[wf>>2]|0,c[Bc>>2]|0)|0;if(c[Bc>>2]|0)gs(c[tf>>2]|0,c[(c[Bc>>2]|0)+8>>2]|0);if(c[vf>>2]|0)break a;break}case 153:{f=Cc;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[Cc+32>>2]=c[wf>>2];c[vf>>2]=$i(Cc,(c[w>>2]|0)+((c[(c[rf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[Dc>>2]=Rh(Cc)|0;if(c[Dc>>2]|0)c[vf>>2]=PG(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[Dc>>2]|0,(c[tf>>2]|0)+108|0)|0;ei(Cc);if(c[vf>>2]|0)break a;break}case 154:{Bf=(c[wf>>2]|0)+172|0;c[Bf>>2]=(c[Bf>>2]|0)+1;c[vf>>2]=QG(c[wf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[(c[rf>>2]|0)+16>>2]|0)|0;Bf=(c[wf>>2]|0)+172|0;c[Bf>>2]=(c[Bf>>2]|0)+-1;if(c[vf>>2]|0)break a;break}case 155:{c[Ec>>2]=0;c[Fc>>2]=0;c[Gc>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+8>>2];if(!(c[Gc>>2]|0)){j=814;break c}if(!(c[c[Gc>>2]>>2]|0)){j=814;break c}c[Hc>>2]=c[c[Gc>>2]>>2];c[vf>>2]=Mb[c[(c[Hc>>2]|0)+24>>2]&255](c[Gc>>2]|0,Fc)|0;gs(c[tf>>2]|0,c[Gc>>2]|0);if(c[vf>>2]|0)break a;c[c[Fc>>2]>>2]=c[Gc>>2];c[Ec>>2]=cG(c[tf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[Ec>>2]|0)){j=818;break c}c[(c[Ec>>2]|0)+16>>2]=c[Fc>>2];Bf=(c[Gc>>2]|0)+4|0;c[Bf>>2]=(c[Bf>>2]|0)+1;break}case 11:{c[Mc>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[Nc>>2]=(c[Mc>>2]|0)+40;c[Qc>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[Oc>>2]=c[(c[Qc>>2]|0)+16>>2];c[Pc>>2]=c[c[Oc>>2]>>2];c[Lc>>2]=c[c[Pc>>2]>>2];c[Jc>>2]=c[c[Nc>>2]>>2];c[Kc>>2]=c[c[Mc>>2]>>2];c[Rc>>2]=0;c[Uc>>2]=c[(c[tf>>2]|0)+96>>2];c[Sc>>2]=0;while(1){if((c[Sc>>2]|0)>=(c[Jc>>2]|0))break;c[(c[Uc>>2]|0)+(c[Sc>>2]<<2)>>2]=(c[Nc>>2]|0)+(((c[Sc>>2]|0)+1|0)*40|0);c[Sc>>2]=(c[Sc>>2]|0)+1}c[vf>>2]=Nb[c[(c[Lc>>2]|0)+32>>2]&255](c[Oc>>2]|0,c[Kc>>2]|0,c[(c[rf>>2]|0)+16>>2]|0,c[Jc>>2]|0,c[Uc>>2]|0)|0;gs(c[tf>>2]|0,c[Pc>>2]|0);if(c[vf>>2]|0)break a;c[Rc>>2]=Hb[c[(c[Lc>>2]|0)+40>>2]&255](c[Oc>>2]|0)|0;a[(c[Qc>>2]|0)+2>>0]=0;if(c[Rc>>2]|0)j=14;break}case 156:{c[Zc>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[Xc>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);if(a[(c[Zc>>2]|0)+2>>0]|0){_h(c[Xc>>2]|0);break d}c[Vc>>2]=c[c[(c[Zc>>2]|0)+16>>2]>>2];c[Wc>>2]=c[c[Vc>>2]>>2];c[Yc>>2]=0;c[Yc+4>>2]=0;c[Yc+8>>2]=0;c[Yc+12>>2]=0;c[Yc+16>>2]=0;c[Yc+20>>2]=0;c[Yc+24>>2]=0;c[Yc+28>>2]=0;c[Yc>>2]=c[Xc>>2];b[(c[Xc>>2]|0)+8>>1]=e[(c[Xc>>2]|0)+8>>1]&-49664|1;c[vf>>2]=Bb[c[(c[Wc>>2]|0)+44>>2]&255](c[(c[Zc>>2]|0)+16>>2]|0,Yc,c[(c[rf>>2]|0)+8>>2]|0)|0;gs(c[tf>>2]|0,c[Vc>>2]|0);if(c[Yc+20>>2]|0)c[vf>>2]=c[Yc+20>>2];oi(c[Xc>>2]|0,d[ne>>0]|0)|0;if(RF(c[Xc>>2]|0)|0){j=886;break c}if(c[vf>>2]|0)break a;break}case 70:{c[ad>>2]=0;c[bd>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[bd>>2]|0)+2>>0]|0)){c[_c>>2]=c[c[(c[bd>>2]|0)+16>>2]>>2];c[$c>>2]=c[c[_c>>2]>>2];c[vf>>2]=Hb[c[(c[$c>>2]|0)+36>>2]&255](c[(c[bd>>2]|0)+16>>2]|0)|0;gs(c[tf>>2]|0,c[_c>>2]|0);if(c[vf>>2]|0)break a;c[ad>>2]=Hb[c[(c[$c>>2]|0)+40>>2]&255](c[(c[bd>>2]|0)+16>>2]|0)|0;if(c[ad>>2]|0)j=8;else j=7}break}case 157:{c[dd>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+8>>2];c[ed>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0);c[vf>>2]=oi(c[ed>>2]|0,1)|0;if(c[vf>>2]|0)break a;c[vf>>2]=Mb[c[(c[c[dd>>2]>>2]|0)+76>>2]&255](c[dd>>2]|0,c[(c[ed>>2]|0)+16>>2]|0)|0;gs(c[tf>>2]|0,c[dd>>2]|0);Bf=(c[tf>>2]|0)+144|0;b[Bf>>1]=b[Bf>>1]&-2;if(c[vf>>2]|0)break a;break}case 12:{c[fd>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+8>>2];if(!(c[fd>>2]|0)){j=837;break c}if(!(c[c[fd>>2]>>2]|0)){j=837;break c}c[gd>>2]=c[c[fd>>2]>>2];c[hd>>2]=c[(c[rf>>2]|0)+8>>2];if(c[(c[gd>>2]|0)+52>>2]|0){a[nd>>0]=a[(c[wf>>2]|0)+74>>0]|0;c[kd>>2]=c[(c[tf>>2]|0)+96>>2];c[ld>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[id>>2]=0;while(1){if((c[id>>2]|0)>=(c[hd>>2]|0))break;c[(c[kd>>2]|0)+(c[id>>2]<<2)>>2]=c[ld>>2];c[ld>>2]=(c[ld>>2]|0)+40;c[id>>2]=(c[id>>2]|0)+1}a[(c[wf>>2]|0)+74>>0]=a[(c[rf>>2]|0)+3>>0]|0;c[vf>>2]=Kb[c[(c[gd>>2]|0)+52>>2]&255](c[fd>>2]|0,c[hd>>2]|0,c[kd>>2]|0,jd)|0;a[(c[wf>>2]|0)+74>>0]=a[nd>>0]|0;gs(c[tf>>2]|0,c[fd>>2]|0);if((c[vf>>2]|0)==0?c[(c[rf>>2]|0)+4>>2]|0:0){zf=jd;i=c[zf>>2]|0;zf=c[zf+4>>2]|0;Bf=uf;c[Bf>>2]=i;c[Bf+4>>2]=zf;Bf=(c[wf>>2]|0)+32|0;c[Bf>>2]=i;c[Bf+4>>2]=zf}do if((c[vf>>2]&255|0)==19?d[(c[(c[rf>>2]|0)+16>>2]|0)+16>>0]|0:0){if((d[(c[rf>>2]|0)+3>>0]|0)==4){c[vf>>2]=0;break}if((d[(c[rf>>2]|0)+3>>0]|0)==5)f=2;else f=d[(c[rf>>2]|0)+3>>0]|0;a[(c[tf>>2]|0)+142>>0]=f}else j=852;while(0);if((j|0)==852){j=0;Bf=(c[tf>>2]|0)+44|0;c[Bf>>2]=(c[Bf>>2]|0)+1}if(c[vf>>2]|0)break a}break}case 158:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;zf=Mn(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=0;break}case 159:{c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;c[qd>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<4)+4>>2];c[pd>>2]=0;if(c[(c[rf>>2]|0)+12>>2]|0?(c[pd>>2]=Mn(c[qd>>2]|0)|0,(c[pd>>2]|0)>>>0<(c[(c[rf>>2]|0)+12>>2]|0)>>>0):0)c[pd>>2]=c[(c[rf>>2]|0)+12>>2];zf=RG(c[qd>>2]|0,c[pd>>2]|0)|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break}case 71:{do if(d[(c[wf>>2]|0)+76>>0]&129|0?((e[(c[tf>>2]|0)+144>>1]|0)>>>1&1|0)==0:0){if(c[(c[rf>>2]|0)+16>>2]|0)f=c[(c[rf>>2]|0)+16>>2]|0;else f=c[(c[tf>>2]|0)+176>>2]|0;c[rd>>2]=f;if(f|0){f=c[(c[wf>>2]|0)+184>>2]|0;if(d[(c[wf>>2]|0)+76>>0]&128|0){c[td>>2]=f;c[ud>>2]=SG(c[tf>>2]|0,c[rd>>2]|0)|0;Fb[c[td>>2]&255](c[(c[wf>>2]|0)+188>>2]|0,c[ud>>2]|0);_d(c[ud>>2]|0);break}else{Kb[f&255](1,c[(c[wf>>2]|0)+188>>2]|0,c[tf>>2]|0,c[rd>>2]|0)|0;break}}}while(0);if((c[(c[rf>>2]|0)+4>>2]|0)>=(c[70]|0)){c[sd>>2]=1;while(1){if((c[sd>>2]|0)>=(c[(c[tf>>2]|0)+136>>2]|0))break;if((d[(c[(c[tf>>2]|0)+88>>2]|0)+((c[sd>>2]|0)*20|0)>>0]|0)==20)c[(c[(c[tf>>2]|0)+88>>2]|0)+((c[sd>>2]|0)*20|0)+4>>2]=0;c[sd>>2]=(c[sd>>2]|0)+1}c[(c[rf>>2]|0)+4>>2]=0}j=(c[rf>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1;j=14;break}default:{}}while(0);do if((j|0)==20){j=0;c[lf>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;if(c[(c[rf>>2]|0)+4>>2]|0){j=25;break c}if(!(c[(c[tf>>2]|0)+184>>2]|0)){j=25;break c}c[Ab>>2]=c[(c[tf>>2]|0)+184>>2];c[(c[tf>>2]|0)+184>>2]=c[(c[Ab>>2]|0)+4>>2];i=(c[tf>>2]|0)+192|0;c[i>>2]=(c[i>>2]|0)+-1;Yr(c[wf>>2]|0,c[(c[tf>>2]|0)+44>>2]|0);c[lf>>2]=js(c[Ab>>2]|0)|0;i=(c[wf>>2]|0)+32|0;zf=c[i+4>>2]|0;Bf=uf;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;if((c[(c[rf>>2]|0)+8>>2]|0)==4)c[lf>>2]=(c[(c[(c[tf>>2]|0)+88>>2]|0)+((c[lf>>2]|0)*20|0)+8>>2]|0)-1;c[qf>>2]=c[(c[tf>>2]|0)+88>>2];c[w>>2]=c[(c[tf>>2]|0)+92>>2];c[rf>>2]=(c[qf>>2]|0)+((c[lf>>2]|0)*20|0)}else if((j|0)==43){j=0;c[qa>>2]=QF(c[tf>>2]|0,c[rf>>2]|0)|0;b[(c[qa>>2]|0)+8>>1]=2562;c[(c[qa>>2]|0)+16>>2]=c[(c[rf>>2]|0)+16>>2];c[(c[qa>>2]|0)+12>>2]=c[(c[rf>>2]|0)+4>>2];a[(c[qa>>2]|0)+10>>0]=a[ne>>0]|0;if((c[(c[rf>>2]|0)+12>>2]|0)>0?(c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0),Bf=c[fa>>2]|0,(c[Bf+4>>2]|0)==0?(c[Bf>>2]|0)==(d[(c[rf>>2]|0)+3>>0]|0):0):0)b[(c[qa>>2]|0)+8>>1]=2576}else if((j|0)==126){j=0;c[Ld>>2]=c[(c[rf>>2]|0)+16>>2];c[qa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[Ld>>2]>>2]|0)!=(c[qa>>2]|0)){c[c[Ld>>2]>>2]=c[qa>>2];c[Kd>>2]=(d[(c[Ld>>2]|0)+26>>0]|0)-1;while(1){if((c[Kd>>2]|0)<0)break j;c[(c[Ld>>2]|0)+28+(c[Kd>>2]<<2)>>2]=(c[w>>2]|0)+(((c[(c[rf>>2]|0)+8>>2]|0)+(c[Kd>>2]|0)|0)*40|0);c[Kd>>2]=(c[Kd>>2]|0)+-1}}while(0);b[(c[c[Ld>>2]>>2]|0)+8>>1]=e[(c[c[Ld>>2]>>2]|0)+8>>1]&-49664|1;a[(c[Ld>>2]|0)+25>>0]=0;Bf=uf;zf=c[Bf+4>>2]|0;i=(c[wf>>2]|0)+32|0;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;Ib[c[(c[(c[Ld>>2]|0)+4>>2]|0)+12>>2]&255](c[Ld>>2]|0,d[(c[Ld>>2]|0)+26>>0]|0,(c[Ld>>2]|0)+28|0);i=(c[wf>>2]|0)+32|0;zf=c[i+4>>2]|0;Bf=uf;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;if(a[(c[Ld>>2]|0)+25>>0]|0){if(c[(c[Ld>>2]|0)+20>>2]|0){Bf=c[tf>>2]|0;c[We>>2]=Rh(c[c[Ld>>2]>>2]|0)|0;is(Bf,21240,We);c[vf>>2]=c[(c[Ld>>2]|0)+20>>2]}ms(c[wf>>2]|0,(c[tf>>2]|0)+204|0,c[(c[Ld>>2]|0)+16>>2]|0,c[(c[rf>>2]|0)+4>>2]|0);if(c[vf>>2]|0)break a}if(e[(c[qa>>2]|0)+8>>1]&18|0?(oi(c[c[Ld>>2]>>2]|0,d[ne>>0]|0)|0,RF(c[c[Ld>>2]>>2]|0)|0):0){j=886;break c}}else if((j|0)==446){if(b[(c[tf>>2]|0)+144>>1]&1|0){j=447;break c}c[K>>2]=0;c[L>>2]=0;c[M>>2]=c[(c[rf>>2]|0)+8>>2];c[N>>2]=c[(c[rf>>2]|0)+12>>2];c[S>>2]=(c[(c[wf>>2]|0)+16>>2]|0)+(c[N>>2]<<4);c[P>>2]=c[(c[S>>2]|0)+4>>2];if((d[c[rf>>2]>>0]|0)==105){c[O>>2]=4|d[(c[rf>>2]|0)+3>>0]&8;if((d[(c[(c[S>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[tf>>2]|0)+143>>0]|0))a[(c[tf>>2]|0)+143>>0]=a[(c[(c[S>>2]|0)+12>>2]|0)+76>>0]|0}else c[O>>2]=0;if(d[(c[rf>>2]|0)+3>>0]&16|0){c[W>>2]=(c[w>>2]|0)+((c[M>>2]|0)*40|0);bw(c[W>>2]|0)|0;c[M>>2]=c[c[W>>2]>>2]}f=c[rf>>2]|0;if((a[(c[rf>>2]|0)+1>>0]|0)!=-6){if((a[f+1>>0]|0)==-14)c[K>>2]=c[(c[rf>>2]|0)+16>>2]}else{c[L>>2]=c[f+16>>2];c[K>>2]=(e[(c[L>>2]|0)+6>>1]|0)+(e[(c[L>>2]|0)+8>>1]|0)}c[Q>>2]=cG(c[tf>>2]|0,c[(c[rf>>2]|0)+4>>2]|0,c[K>>2]|0,c[N>>2]|0,0)|0;if(!(c[Q>>2]|0)){j=887;break a}a[(c[Q>>2]|0)+2>>0]=1;j=(c[Q>>2]|0)+5|0;a[j>>0]=a[j>>0]&-5|4;c[(c[Q>>2]|0)+8>>2]=c[M>>2];c[vf>>2]=dG(c[P>>2]|0,c[M>>2]|0,c[O>>2]|0,c[L>>2]|0,c[(c[Q>>2]|0)+16>>2]|0)|0;c[(c[Q>>2]|0)+24>>2]=c[L>>2];a[(c[Q>>2]|0)+4>>0]=(a[(c[rf>>2]|0)+1>>0]|0)!=-6;j=460}else if((j|0)==526){j=0;c[fa>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);c[ra>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[sa>>2]=c[(c[ra>>2]|0)+16>>2];c[ta>>2]=0;Bf=c[fa>>2]|0;zf=c[Bf+4>>2]|0;i=ua;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;i=ua;c[vf>>2]=_D(c[sa>>2]|0,0,c[i>>2]|0,c[i+4>>2]|0,0,ta)|0;i=ua;zf=c[i+4>>2]|0;Bf=(c[ra>>2]|0)+40|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;a[(c[ra>>2]|0)+2>>0]=0;c[(c[ra>>2]|0)+56>>2]=0;a[(c[ra>>2]|0)+3>>0]=0;c[(c[ra>>2]|0)+28>>2]=c[ta>>2];if(c[ta>>2]|0){if(c[(c[rf>>2]|0)+8>>2]|0){j=14;break}c[vf>>2]=kn(81458)|0}if(c[vf>>2]|0)break a}else if((j|0)==619){j=0;c[bb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[db>>2]=1;f=c[bb>>2]|0;if((d[c[bb>>2]>>0]|0)==1)c[vf>>2]=qG(f,db)|0;else{c[cb>>2]=c[f+16>>2];c[vf>>2]=rG(c[cb>>2]|0,db)|0;a[(c[bb>>2]|0)+3>>0]=0;c[(c[bb>>2]|0)+56>>2]=0}if(c[vf>>2]|0)break a;a[(c[bb>>2]|0)+2>>0]=c[db>>2];if(c[db>>2]|0)j=14}else if((j|0)==626){c[fb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[rf>>2]|0)+4>>2]<<2)>>2];c[gb>>2]=c[(c[rf>>2]|0)+12>>2];c[vf>>2]=Mb[c[(c[rf>>2]|0)+16>>2]&255](c[(c[fb>>2]|0)+16>>2]|0,gb)|0;j=627}else if((j|0)==750){j=0;c[jc>>2]=c[(c[rf>>2]|0)+16>>2];c[kc>>2]=(c[w>>2]|0)+((c[(c[rf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[jc>>2]|0)+8>>2]|0)!=(c[kc>>2]|0)){c[(c[jc>>2]|0)+8>>2]=c[kc>>2];c[ic>>2]=(d[(c[jc>>2]|0)+26>>0]|0)-1;while(1){if((c[ic>>2]|0)<0)break k;c[(c[jc>>2]|0)+28+(c[ic>>2]<<2)>>2]=(c[w>>2]|0)+(((c[(c[rf>>2]|0)+8>>2]|0)+(c[ic>>2]|0)|0)*40|0);c[ic>>2]=(c[ic>>2]|0)+-1}}while(0);Bf=(c[kc>>2]|0)+12|0;c[Bf>>2]=(c[Bf>>2]|0)+1;jj(lc,c[wf>>2]|0,1);c[c[jc>>2]>>2]=lc;a[(c[jc>>2]|0)+25>>0]=0;a[(c[jc>>2]|0)+24>>0]=0;Ib[c[(c[(c[jc>>2]|0)+4>>2]|0)+12>>2]&255](c[jc>>2]|0,d[(c[jc>>2]|0)+26>>0]|0,(c[jc>>2]|0)+28|0);if(a[(c[jc>>2]|0)+25>>0]|0){if(c[(c[jc>>2]|0)+20>>2]|0){Bf=c[tf>>2]|0;c[bf>>2]=Rh(lc)|0;is(Bf,21240,bf);c[vf>>2]=c[(c[jc>>2]|0)+20>>2]}ei(lc);if(c[vf>>2]|0)break a}if(a[(c[jc>>2]|0)+24>>0]|0?(c[ic>>2]=c[(c[rf>>2]|0)+-20+4>>2],c[ic>>2]|0):0)Yh((c[w>>2]|0)+((c[ic>>2]|0)*40|0)|0,1,0)}while(0);do if((j|0)==14){j=0;c[rf>>2]=(c[qf>>2]|0)+(((c[(c[rf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((j|0)==460){j=0;eG(c[(c[Q>>2]|0)+16>>2]|0,d[(c[rf>>2]|0)+3>>0]&3);if(c[vf>>2]|0)break a}else if((j|0)==627){j=0;c[(c[fb>>2]|0)+56>>2]=0;if(c[vf>>2]|0)break a;f=(c[fb>>2]|0)+2|0;if(!(c[gb>>2]|0)){a[f>>0]=0;j=(c[tf>>2]|0)+156+(d[(c[rf>>2]|0)+3>>0]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;j=7;break}else{a[f>>0]=1;j=8;break}}while(0);if((j|0)==7){c[rf>>2]=(c[qf>>2]|0)+(((c[(c[rf>>2]|0)+8>>2]|0)-1|0)*20|0);j=8}if((j|0)==8){j=0;if(c[(c[wf>>2]|0)+248>>2]|0)break b;if((c[(c[wf>>2]|0)+304>>2]|0?(c[xf>>2]|0)>>>0>=(c[k>>2]|0)>>>0:0)?(c[k>>2]=(c[xf>>2]|0)+(c[(c[wf>>2]|0)+312>>2]|0)-(((c[xf>>2]|0)>>>0)%((c[(c[wf>>2]|0)+312>>2]|0)>>>0)|0),Hb[c[(c[wf>>2]|0)+304>>2]&255](c[(c[wf>>2]|0)+308>>2]|0)|0):0){j=12;break}}c[rf>>2]=(c[rf>>2]|0)+20}switch(j|0){case 12:{c[vf>>2]=9;break a}case 25:{c[(c[tf>>2]|0)+40>>2]=c[(c[rf>>2]|0)+4>>2];a[(c[tf>>2]|0)+142>>0]=c[(c[rf>>2]|0)+8>>2];c[(c[tf>>2]|0)+36>>2]=c[lf>>2];if(c[(c[tf>>2]|0)+40>>2]|0){f=c[tf>>2]|0;g=c[rf>>2]|0;if(a[(c[rf>>2]|0)+3>>0]|0){c[mf>>2]=c[5592+((d[g+3>>0]|0)-1<<2)>>2];is(f,38728,mf);if(c[(c[rf>>2]|0)+16>>2]|0){Bf=c[wf>>2]|0;zf=c[(c[rf>>2]|0)+16>>2]|0;c[nf>>2]=c[(c[tf>>2]|0)+108>>2];c[nf+4>>2]=zf;Bf=Wj(Bf,38749,nf)|0;c[(c[tf>>2]|0)+108>>2]=Bf}}else{c[of>>2]=c[g+16>>2];is(f,21240,of)}Bf=c[(c[rf>>2]|0)+4>>2]|0;rf=c[(c[tf>>2]|0)+176>>2]|0;zf=c[(c[tf>>2]|0)+108>>2]|0;c[pf>>2]=c[lf>>2];c[pf+4>>2]=rf;c[pf+8>>2]=zf;xd(Bf,38756,pf)}c[vf>>2]=Or(c[tf>>2]|0)|0;f=(c[tf>>2]|0)+40|0;if((c[vf>>2]|0)==5){c[f>>2]=5;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}else{c[vf>>2]=c[f>>2]|0?1:101;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}}case 64:{if((c[(c[wf>>2]|0)+304>>2]|0?(c[xf>>2]|0)>>>0>=(c[k>>2]|0)>>>0:0)?Hb[c[(c[wf>>2]|0)+304>>2]&255](c[(c[wf>>2]|0)+308>>2]|0)|0:0){c[vf>>2]=9;break a}Bf=Tr(c[tf>>2]|0,0)|0;c[vf>>2]=Bf;if(Bf)break a;c[vf>>2]=Xr(c[tf>>2]|0,1)|0;c[(c[tf>>2]|0)+32>>2]=(c[(c[tf>>2]|0)+32>>2]|0)+2|1;Bf=(c[w>>2]|0)+((c[(c[rf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[tf>>2]|0)+104>>2]=Bf;c[vd>>2]=Bf;c[wd>>2]=0;while(1){if((c[wd>>2]|0)>=(c[(c[rf>>2]|0)+8>>2]|0))break;if(e[(c[vd>>2]|0)+((c[wd>>2]|0)*40|0)+8>>1]&4096|0?gi((c[vd>>2]|0)+((c[wd>>2]|0)*40|0)|0)|0:0){j=887;break a}pi((c[vd>>2]|0)+((c[wd>>2]|0)*40|0)|0)|0;c[wd>>2]=(c[wd>>2]|0)+1}if(a[(c[wf>>2]|0)+69>>0]|0){j=887;break a}if(d[(c[wf>>2]|0)+76>>0]&4|0)Kb[c[(c[wf>>2]|0)+184>>2]&255](4,c[(c[wf>>2]|0)+188>>2]|0,c[tf>>2]|0,0)|0;c[(c[tf>>2]|0)+36>>2]=(((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0)+1;c[vf>>2]=100;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}case 159:{c[vf>>2]=20;break a}case 269:{c[vf>>2]=kn(79835)|0;break a}case 288:{if(!(c[(c[je>>2]|0)+72>>2]|0))ei(qe);c[vf>>2]=kn(79894)|0;break a}case 372:{c[(c[tf>>2]|0)+36>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;a[(c[wf>>2]|0)+67>>0]=0;c[vf>>2]=5;c[(c[tf>>2]|0)+40>>2]=5;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}case 395:{c[kf>>2]=c[(c[rf>>2]|0)+4>>2];c[y>>2]=c[(c[rf>>2]|0)+8>>2];if((c[kf>>2]|0)==(d[(c[wf>>2]|0)+67>>0]|0)){if(c[kf>>2]|0)f=c[y>>2]|0?38980:39023;else f=39064;is(c[tf>>2]|0,f,jf);c[vf>>2]=1;break a}do if(!(c[y>>2]|0)){if(c[kf>>2]|0?(c[(c[wf>>2]|0)+164>>2]|0)>0:0){is(c[tf>>2]|0,38925,_e);c[vf>>2]=5;break a}Bf=Tr(c[tf>>2]|0,1)|0;c[vf>>2]=Bf;if(Bf|0){Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}else{f=c[kf>>2]&255;g=c[wf>>2]|0;break}}else{sr(c[wf>>2]|0,516);f=1;g=c[wf>>2]|0}while(0);a[g+67>>0]=f;if((Or(c[tf>>2]|0)|0)==5){c[(c[tf>>2]|0)+36>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;a[(c[wf>>2]|0)+67>>0]=1-(c[kf>>2]|0);c[vf>>2]=5;c[(c[tf>>2]|0)+40>>2]=5;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}tr(c[wf>>2]|0);if(!(c[(c[tf>>2]|0)+40>>2]|0)){c[vf>>2]=101;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}else{c[vf>>2]=1;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}}case 413:{c[vf>>2]=8;break a}case 416:{if((c[vf>>2]&255|0)!=5)break a;c[(c[tf>>2]|0)+36>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;c[(c[tf>>2]|0)+40>>2]=c[vf>>2];Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}case 447:{c[vf>>2]=516;break a}case 547:{c[vf>>2]=13;break a}case 557:{c[vf>>2]=13;break a}case 659:{c[vf>>2]=6;a[(c[tf>>2]|0)+142>>0]=2;break a}case 681:{Np(c[wf>>2]|0);if((c[vf>>2]|0)==7){j=887;break a}else break a}case 710:{c[vf>>2]=1;is(c[tf>>2]|0,39176,af);break a}case 762:{Bf=c[tf>>2]|0;c[cf>>2]=Rh(c[nc>>2]|0)|0;is(Bf,21240,cf);break a}case 782:{c[vf>>2]=1;Bf=c[tf>>2]|0;c[df>>2]=(c[tc>>2]|0)==5?39213:39218;is(Bf,39225,df);break a}case 803:{if((c[vf>>2]&255|0)!=6)break a;c[Ac>>2]=c[(c[rf>>2]|0)+16>>2];Bf=c[tf>>2]|0;c[ef>>2]=c[Ac>>2];is(Bf,39277,ef);break a}case 814:{c[vf>>2]=6;break a}case 818:{Hb[c[(c[Hc>>2]|0)+28>>2]&255](c[Fc>>2]|0)|0;j=887;break a}case 837:{c[vf>>2]=6;break a}case 885:{Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}case 886:{is(c[tf>>2]|0,22203,Te);c[vf>>2]=18;break a}}}while(0);c[vf>>2]=d[(c[wf>>2]|0)+69>>0]|0?7:9;c[(c[tf>>2]|0)+40>>2]=c[vf>>2];Bf=c[tf>>2]|0;c[Ve>>2]=Xi(c[vf>>2]|0)|0;is(Bf,21240,Ve)}while(0);if((j|0)==887){Od(c[wf>>2]|0);is(c[tf>>2]|0,22481,Ue);c[vf>>2]=7}if(a[(c[wf>>2]|0)+69>>0]|0)c[vf>>2]=7;if((c[vf>>2]|0)!=3082?(c[(c[tf>>2]|0)+108>>2]|0)==0:0){Bf=c[tf>>2]|0;c[gf>>2]=Xi(c[vf>>2]|0)|0;is(Bf,21240,gf)}c[(c[tf>>2]|0)+40>>2]=c[vf>>2];Bp(c[wf>>2]|0,c[vf>>2]|0);Bf=c[vf>>2]|0;pf=c[(c[tf>>2]|0)+176>>2]|0;zf=c[(c[tf>>2]|0)+108>>2]|0;c[hf>>2]=((c[rf>>2]|0)-(c[qf>>2]|0)|0)/20|0;c[hf+4>>2]=pf;c[hf+8>>2]=zf;xd(Bf,39306,hf);Or(c[tf>>2]|0)|0;if((c[vf>>2]|0)==3082)Od(c[wf>>2]|0);c[vf>>2]=1;if((d[ff>>0]|0)<=0){Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}Vs(c[wf>>2]|0,(d[ff>>0]|0)-1|0);Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[tf>>2]|0;Ur(Bf);Bf=c[vf>>2]|0;l=yf;return Bf|0}function NF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2];if(c[f>>2]|0?(el(c[f>>2]|0),c[g>>2]=OF(qk(c[f>>2]|0)|0)|0,bl(c[f>>2]|0),((c[g>>2]|0)>0?(c[(c[b>>2]|0)+224>>2]|0)!=0:0)&(c[d>>2]|0)==0):0)c[d>>2]=Kb[c[(c[b>>2]|0)+224>>2]&255](c[(c[b>>2]|0)+228>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)>>2]|0,c[g>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}l=h;return c[d>>2]|0}function OF(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=PF(c[(c[d>>2]|0)+216>>2]|0)|0;l=b;return a|0}function PF(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;l=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;l=e;return d|0}function QF(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;f=h+12|0;j=h+8|0;i=h+4|0;g=h;c[j>>2]=a;c[i>>2]=d;c[g>>2]=(c[(c[j>>2]|0)+92>>2]|0)+((c[(c[i>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312|0){c[f>>2]=bJ(a)|0;j=c[f>>2]|0;l=h;return j|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];j=c[f>>2]|0;l=h;return j|0}return 0}function RF(a){a=a|0;var b=0,d=0,f=0,g=0;g=l;l=l+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;f=c[b>>2]|0;l=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384|0)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+96>>2]|0)&1;f=c[b>>2]|0;l=g;return f|0}function SF(a){a=a|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12|0))if(a&18|0){b[d>>1]=aJ(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);l=g;return b[d>>1]|0}function TF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;a=c[f>>2]|0;if(!((c[d>>2]|0)==0?(c[d+4>>2]|0)==-2147483648:0)){g=Z$(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=Gi(a,g,D)|0;g=c[e>>2]|0;l=h;return g|0}d=a;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;l=h;return g|0}else{d=g;g=c[f>>2]|0;f=g;f=Z$(c[f>>2]|0,c[f+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=D;c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}return 0}function UF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;f=i+16|0;g=i+8|0;h=i;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=c[f>>2]|0;b=c[a+4>>2]|0;d=h;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=g;b=c[d+4>>2]|0;do if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){j=h;b=c[j>>2]|0;j=c[j+4>>2]|0;d=g;d=n0(-1,2147483647,c[d>>2]|0,c[d+4>>2]|0)|0;a=D;if((j|0)>(a|0)|(j|0)==(a|0)&b>>>0>d>>>0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}a=h;d=c[a>>2]|0;a=c[a+4>>2]|0;j=g;j=n0(0,-2147483648,c[j>>2]|0,c[j+4>>2]|0)|0;b=D;if((a|0)<(b|0)|(a|0)==(b|0)&d>>>0>>0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}}else if((c[g+4>>2]|0)<0){j=h;d=c[j+4>>2]|0;if((d|0)>0|(d|0)==0&(c[j>>2]|0)>>>0>0){a=g;d=c[a>>2]|0;a=c[a+4>>2]|0;j=h;j=n0(0,-2147483648,c[j>>2]|0,c[j+4>>2]|0)|0;b=D;if(!((a|0)<(b|0)|(a|0)==(b|0)&d>>>0>>0))break;c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}if((c[h+4>>2]|0)<0){j=g;if((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}j=h;if((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}d=h;d=Z$(0,0,c[d>>2]|0,c[d+4>>2]|0)|0;a=D;j=g;j=Z$(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=n0(-1,2147483647,j|0,D|0)|0;b=D;if((a|0)>(b|0)|(a|0)==(b|0)&d>>>0>j>>>0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}}}while(0);j=h;h=g;h=r0(c[j>>2]|0,c[j+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;j=c[f>>2]|0;c[j>>2]=h;c[j+4>>2]=D;c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}function VF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;c[i>>2]=c[c[g>>2]>>2];do if(!(d[c[i>>2]>>0]|0)){b=c[i>>2]|0;if(!(a[(c[i>>2]|0)+3>>0]|0)){if(!(sI(c[b+16>>2]|0)|0))break;c[f>>2]=tI(c[i>>2]|0)|0;j=c[f>>2]|0;l=k;return j|0}if(c[b+52>>2]|0?(e=c[(c[(c[i>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=e,(e|0)>0):0){c[c[g>>2]>>2]=c[(c[i>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}c[f>>2]=$I(c[i>>2]|0)|0;j=c[f>>2]|0;l=k;return j|0}while(0);c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function WF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=_I(c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function XF(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;q=p+4|0;i=p;c[j>>2]=a;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[q>>2]=0;c[i>>2]=0;c[h>>2]=WF(c[j>>2]|0,q)|0;if(((c[k>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[q>>2]|0)>>>0){c[(c[o>>2]|0)+16>>2]=(c[h>>2]|0)+(c[k>>2]|0);b[(c[o>>2]|0)+8>>1]=4112;c[(c[o>>2]|0)+12>>2]=c[m>>2];q=c[i>>2]|0;l=p;return q|0}else{c[i>>2]=ZI(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;q=c[i>>2]|0;l=p;return q|0}return 0}function YF(b){b=b|0;var c=0,e=0;e=l;l=l+16|0;c=e;a[c>>0]=b;l=e;return a[34519+(d[c>>0]|0)>>0]|0}function ZF(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o+36|0;f=o+32|0;k=o+28|0;i=o+24|0;g=o+20|0;h=o+16|0;m=o+8|0;j=o;c[f>>2]=a;c[k>>2]=b;c[i>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1|0){c[c[i>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;l=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8|0){c[c[i>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;l=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384|0)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[i>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;l=o;return n|0}h=c[f>>2]|0;a=c[h+4>>2]|0;b=m;c[b>>2]=c[h>>2];c[b+4>>2]=a;b=m;a=c[b>>2]|0;b=c[b+4>>2]|0;if((c[m+4>>2]|0)<0){h=j;c[h>>2]=~a;c[h+4>>2]=~b}else{h=j;c[h>>2]=a;c[h+4>>2]=b}h=j;g=c[h+4>>2]|0;if(g>>>0<0|(g|0)==0&(c[h>>2]|0)>>>0<=127){h=m;a=c[i>>2]|0;if((0==(c[h+4>>2]|0)?(c[m>>2]&1|0)==(c[h>>2]|0):0)&(c[k>>2]|0)>=4){c[a>>2]=0;c[n>>2]=8+(c[j>>2]|0);n=c[n>>2]|0;l=o;return n|0}else{c[a>>2]=1;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}}m=j;k=c[m+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[m>>2]|0)>>>0<=32767){c[c[i>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}m=j;k=c[m+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[m>>2]|0)>>>0<=8388607){c[c[i>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;l=o;return n|0}m=j;k=c[m+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[m>>2]|0)>>>0<=2147483647){c[c[i>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;l=o;return n|0}m=j;k=c[m+4>>2]|0;a=c[i>>2]|0;if(k>>>0<32767|(k|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[a>>2]=6;c[n>>2]=5;n=c[n>>2]|0;l=o;return n|0}else{c[a>>2]=8;c[n>>2]=6;n=c[n>>2]|0;l=o;return n|0}return 0}function _F(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;h=i;c[g>>2]=b;j=h;c[j>>2]=d;c[j+4>>2]=e;e=h;j=c[e+4>>2]|0;d=h;b=c[d>>2]|0;d=c[d+4>>2]|0;if(j>>>0<0|(j|0)==0&(c[e>>2]|0)>>>0<=127){a[c[g>>2]>>0]=b&127;c[f>>2]=1;j=c[f>>2]|0;l=i;return j|0}if(d>>>0<0|(d|0)==0&b>>>0<=16383){j=h;j=f0(c[j>>2]|0,c[j+4>>2]|0,7)|0;a[c[g>>2]>>0]=j&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;j=c[f>>2]|0;l=i;return j|0}else{j=h;c[f>>2]=YI(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[f>>2]|0;l=i;return j|0}return 0}function $F(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;g=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o;n=o+8|0;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;b=c[j>>2]|0;if((c[j>>2]|0)>>>0<=7&(c[j>>2]|0)>>>0>0){if((b|0)==7){i=c[i>>2]|0;c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2]}else{e=c[i>>2]|0;f=c[e+4>>2]|0;i=m;c[i>>2]=c[e>>2];c[i+4>>2]=f}j=d[34519+(c[j>>2]|0)>>0]|0;c[n>>2]=j;c[k>>2]=j;do{f=c[m>>2]&255;j=c[h>>2]|0;i=(c[n>>2]|0)+-1|0;c[n>>2]=i;a[j+i>>0]=f;i=m;i=f0(c[i>>2]|0,c[i+4>>2]|0,8)|0;j=m;c[j>>2]=i;c[j+4>>2]=D}while((c[n>>2]|0)!=0);c[g>>2]=c[k>>2];n=c[g>>2]|0;l=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;l=o;return n|0}c[k>>2]=c[(c[i>>2]|0)+12>>2];if((c[k>>2]|0)>>>0>0)h0(c[h>>2]|0,c[(c[i>>2]|0)+16>>2]|0,c[k>>2]|0)|0;c[g>>2]=c[k>>2];n=c[g>>2]|0;l=o;return n|0}return 0}function aG(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q;p=q+16|0;i=q+12|0;j=q+8|0;c[m>>2]=f;c[n>>2]=g;h=o;c[h>>2]=0;c[h+4>>2]=0;if(!(c[(c[m>>2]|0)+52>>2]|0)){p=c[n>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[k>>2]=0;p=c[k>>2]|0;l=q;return p|0}c[p>>2]=aE(c[m>>2]|0)|0;a:while(1){if(c[p>>2]|0){f=16;break}c[j>>2]=c[(c[m>>2]|0)+120+(a[(c[m>>2]|0)+68>>0]<<2)>>2];if(!(!(d[(c[j>>2]|0)+4>>0]|0)?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){g=o;g=_$(c[g>>2]|0,c[g+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;h=o;c[h>>2]=g;c[h+4>>2]=D}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[m>>2]|0)+68>>0]|0)){f=10;break a}VD(c[m>>2]|0)}while((e[(c[m>>2]|0)+80+(a[(c[m>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[m>>2]|0)+120+(a[(c[m>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));h=(c[m>>2]|0)+80+(a[(c[m>>2]|0)+68>>0]<<1)|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;c[j>>2]=c[(c[m>>2]|0)+120+(a[(c[m>>2]|0)+68>>0]<<2)>>2]}c[i>>2]=e[(c[m>>2]|0)+80+(a[(c[m>>2]|0)+68>>0]<<1)>>1];f=c[m>>2]|0;g=c[(c[j>>2]|0)+56>>2]|0;h=c[j>>2]|0;if((c[i>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[p>>2]=TD(f,Vl(g+((d[h+5>>0]|0)+8)|0)|0)|0;continue}else{c[p>>2]=TD(f,Vl(g+(e[h+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[i>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[i>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=o;o=c[j+4>>2]|0;p=c[n>>2]|0;c[p>>2]=c[j>>2];c[p+4>>2]=o;c[k>>2]=aE(c[m>>2]|0)|0;p=c[k>>2]|0;l=q;return p|0}else if((f|0)==16){c[k>>2]=c[p>>2];p=c[k>>2]|0;l=q;return p|0}return 0}function bG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;d=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[f>>2]|0)+4>>2];el(c[f>>2]|0);c[d>>2]=Zq(c[c[h>>2]>>2]|0,c[g>>2]|0)|0;bl(c[f>>2]|0);l=e;return c[d>>2]|0}function cG(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;k=s+24|0;m=s+20|0;p=s+16|0;q=s+12|0;r=s+28|0;n=s+8|0;j=s+4|0;o=s;c[k>>2]=e;c[m>>2]=f;c[p>>2]=g;c[q>>2]=h;a[r>>0]=i;e=c[(c[k>>2]|0)+92>>2]|0;if((c[m>>2]|0)>0)e=e+(((c[(c[k>>2]|0)+24>>2]|0)-(c[m>>2]|0)|0)*40|0)|0;c[n>>2]=e;c[o>>2]=0;e=88+(c[p>>2]<<3)|0;if(!(d[r>>0]|0))f=WI()|0;else f=0;c[j>>2]=e+f;if(c[(c[(c[k>>2]|0)+112>>2]|0)+(c[m>>2]<<2)>>2]|0){ns(c[k>>2]|0,c[(c[(c[k>>2]|0)+112>>2]|0)+(c[m>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+112>>2]|0)+(c[m>>2]<<2)>>2]=0}if(di(c[n>>2]|0,c[j>>2]|0)|0){r=c[o>>2]|0;l=s;return r|0}e=c[(c[n>>2]|0)+16>>2]|0;c[o>>2]=e;c[(c[(c[k>>2]|0)+112>>2]|0)+(c[m>>2]<<2)>>2]=e;e=c[o>>2]|0;f=e+88|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[c[o>>2]>>0]=a[r>>0]|0;a[(c[o>>2]|0)+1>>0]=c[q>>2];b[(c[o>>2]|0)+12>>1]=c[p>>2];c[(c[o>>2]|0)+76>>2]=(c[o>>2]|0)+80+(c[p>>2]<<2);if(d[r>>0]|0|0){r=c[o>>2]|0;l=s;return r|0}c[(c[o>>2]|0)+16>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(88+(c[p>>2]<<3));XI(c[(c[o>>2]|0)+16>>2]|0);r=c[o>>2]|0;l=s;return r|0}function dG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;if((c[i>>2]|0)<1){c[g>>2]=kn(62410)|0;m=c[g>>2]|0;l=n;return m|0}else{el(c[h>>2]|0);c[g>>2]=UI(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;bl(c[h>>2]|0);m=c[g>>2]|0;l=n;return m|0}return 0}function eG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];l=e;return}function fG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;i=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[i>>2]=b;c[h>>2]=d;el(c[g>>2]|0);c[e>>2]=TI(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;bl(c[g>>2]|0);l=f;return c[e>>2]|0}function gG(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;t=x+56|0;o=x+52|0;p=x+48|0;u=x+44|0;q=x+40|0;v=x+36|0;w=x+32|0;i=x+28|0;j=x+24|0;s=x+20|0;k=x+16|0;m=x+12|0;r=x;n=x+8|0;c[t>>2]=f;c[o>>2]=g;c[p>>2]=h;c[s>>2]=0;h=(Kl(c[t>>2]|0)|0)!=0;if(h|(c[3]|0)==0)c[k>>2]=0;else c[k>>2]=c[(c[t>>2]|0)+96+44>>2];c[i>>2]=24+((e[(c[(c[p>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[j>>2]=136+((c[k>>2]|0)*72|0);h=(c[j>>2]|0)+(c[i>>2]|0)|0;c[v>>2]=_l(c[t>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[p>>2]|0)+16>>2]=c[v>>2];if(!(c[v>>2]|0)){c[s>>2]=7;w=c[s>>2]|0;l=x;return w|0}h=(c[v>>2]|0)+(c[j>>2]|0)|0;c[w>>2]=h;c[(c[v>>2]|0)+28>>2]=h;h0(c[w>>2]|0,c[(c[p>>2]|0)+24>>2]|0,c[i>>2]|0)|0;c[(c[w>>2]|0)+12>>2]=0;if((c[o>>2]|0)!=0&(c[k>>2]|0)==0){p=(c[w>>2]|0)+8|0;b[p>>1]=(e[p>>1]|0)+((e[(c[w>>2]|0)+6>>1]|0)-(c[o>>2]|0));b[(c[w>>2]|0)+6>>1]=c[o>>2]}p=Hn(c[(c[(c[t>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[u>>2]=p;c[(c[v>>2]|0)+12>>2]=p;a[(c[v>>2]|0)+59>>0]=(c[k>>2]|0)+1;a[(c[v>>2]|0)+58>>0]=(c[k>>2]|0)-1;a[(c[v>>2]|0)+57>>0]=(d[(c[v>>2]|0)+59>>0]|0|0)>1;c[(c[v>>2]|0)+24>>2]=c[t>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(d[(c[v>>2]|0)+59>>0]|0|0))break;c[m>>2]=(c[v>>2]|0)+64+((c[q>>2]|0)*72|0);c[(c[m>>2]|0)+8>>2]=c[v>>2];c[q>>2]=(c[q>>2]|0)+1}if(!(Kl(c[t>>2]|0)|0)){c[n>>2]=c[58];f=S(c[n>>2]|0,c[u>>2]|0)|0;c[c[v>>2]>>2]=f;f=c[(c[(c[(c[t>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;g=r;c[g>>2]=f;c[g+4>>2]=((f|0)<0)<<31>>31;g=r;f=c[g>>2]|0;g=c[g+4>>2]|0;if((c[r+4>>2]|0)<0){p=r0(f|0,g|0,-1024,-1)|0;q=r;c[q>>2]=p;c[q+4>>2]=D}else{p=c[u>>2]|0;p=r0(f|0,g|0,p|0,((p|0)<0)<<31>>31|0)|0;q=r;c[q>>2]=p;c[q+4>>2]=D}h=r;o=c[h+4>>2]|0;h=(o|0)<0|(o|0)==0&(c[h>>2]|0)>>>0<536870912;o=r;p=h?c[o+4>>2]|0:0;q=r;c[q>>2]=h?c[o>>2]|0:536870912;c[q+4>>2]=p;if((c[c[v>>2]>>2]|0)>(c[r>>2]|0))f=c[c[v>>2]>>2]|0;else f=c[r>>2]|0;c[(c[v>>2]|0)+4>>2]=f;if((c[50]|0)==0?(c[(c[v>>2]|0)+52>>2]=c[u>>2],u=c[u>>2]|0,u=Fd(u,((u|0)<0)<<31>>31)|0,c[(c[v>>2]|0)+36+4>>2]=u,(c[(c[v>>2]|0)+36+4>>2]|0)==0):0)c[s>>2]=7}if(((e[(c[w>>2]|0)+6>>1]|0)+(e[(c[w>>2]|0)+8>>1]|0)|0)>=13){w=c[s>>2]|0;l=x;return w|0}if(c[(c[w>>2]|0)+20>>2]|0?(c[(c[w>>2]|0)+20>>2]|0)!=(c[(c[t>>2]|0)+8>>2]|0):0){w=c[s>>2]|0;l=x;return w|0}a[(c[v>>2]|0)+60>>0]=3;w=c[s>>2]|0;l=x;return w|0}function hG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;l=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function iG(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function jG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+12|0;h=j+8|0;f=j+4|0;i=j;c[h>>2]=b;c[f>>2]=e;if(1==(d[(c[h>>2]|0)+66>>0]|0|0)?(d[(c[h>>2]|0)+64>>0]|0)&8|0:0){c[g>>2]=0;i=c[g>>2]|0;l=j;return i|0}c[i>>2]=aE(c[h>>2]|0)|0;do if(!(c[i>>2]|0)){b=c[f>>2]|0;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[b>>2]=1;break}else{c[b>>2]=0;c[i>>2]=UD(c[h>>2]|0)|0;h=(c[h>>2]|0)+64|0;f=d[h>>0]|0;a[h>>0]=(c[i>>2]|0)==0?f|8:f&-9;break}}while(0);c[g>>2]=c[i>>2];i=c[g>>2]|0;l=j;return i|0}function kG(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+64|0;t=y+52|0;u=y+48|0;v=y+44|0;w=y+40|0;z=y+36|0;x=y+32|0;j=y+28|0;k=y+24|0;m=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y;s=y+56|0;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[z>>2]=i;c[j>>2]=c[z>>2];c[k>>2]=0;c[o>>2]=c[c[u>>2]>>2];c[p>>2]=c[(c[o>>2]|0)+4>>2];c[r>>2]=0;f=c[u>>2]|0;if((d[(c[u>>2]|0)+66>>0]|0)==4){c[t>>2]=c[f+60>>2];z=c[t>>2]|0;l=y;return z|0}if(d[f+64>>0]&32|0?(c[x>>2]=_p(c[p>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,c[x>>2]|0):0){c[t>>2]=c[x>>2];z=c[t>>2]|0;l=y;return z|0}do if(!(c[(c[u>>2]|0)+72>>2]|0)){z=(c[v>>2]|0)+8|0;tH(c[o>>2]|0,c[z>>2]|0,c[z+4>>2]|0,0);if((d[(c[u>>2]|0)+64>>0]&2|0?(z=(c[v>>2]|0)+8|0,o=c[z+4>>2]|0,(o|0)>0|(o|0)==0&(c[z>>2]|0)>>>0>0):0)?(z=(c[u>>2]|0)+16|0,i=c[z>>2]|0,z=c[z+4>>2]|0,o=(c[v>>2]|0)+8|0,o=Z$(c[o>>2]|0,c[o+4>>2]|0,1,0)|0,(i|0)==(o|0)&(z|0)==(D|0)):0){c[j>>2]=-1;break}if((c[j>>2]|0)==0?(z=(c[v>>2]|0)+8|0,c[x>>2]=_D(c[u>>2]|0,0,c[z>>2]|0,c[z+4>>2]|0,c[w>>2]|0,j)|0,c[x>>2]|0):0){c[t>>2]=c[x>>2];z=c[t>>2]|0;l=y;return z|0}}else if((c[j>>2]|0)==0?(z=(c[v>>2]|0)+8|0,c[x>>2]=XD(c[u>>2]|0,c[c[v>>2]>>2]|0,c[z>>2]|0,c[z+4>>2]|0,c[w>>2]|0,j)|0,c[x>>2]|0):0){c[t>>2]=c[x>>2];z=c[t>>2]|0;l=y;return z|0}while(0);c[n>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[r>>2]=c[(c[p>>2]|0)+80>>2];c[x>>2]=SI(c[n>>2]|0,c[r>>2]|0,c[v>>2]|0,k)|0;do if(!(c[x>>2]|0)){c[m>>2]=e[(c[u>>2]|0)+80+(a[(c[u>>2]|0)+68>>0]<<1)>>1];if(!(c[j>>2]|0)){c[x>>2]=Jn(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[x>>2]|0)break;c[q>>2]=(c[(c[n>>2]|0)+56>>2]|0)+(e[(c[n>>2]|0)+20>>1]&(d[(c[(c[n>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[n>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if(!(a[(c[n>>2]|0)+4>>0]|0)){z=c[r>>2]|0;w=c[q>>2]|0;a[z>>0]=a[w>>0]|0;a[z+1>>0]=a[w+1>>0]|0;a[z+2>>0]=a[w+2>>0]|0;a[z+3>>0]=a[w+3>>0]|0}c[x>>2]=vH(c[n>>2]|0,c[q>>2]|0,s)|0;wI(c[n>>2]|0,c[m>>2]|0,e[s>>1]|0,x);if(c[x>>2]|0)break}else if((c[j>>2]|0)<0?(e[(c[n>>2]|0)+18>>1]|0)>0:0){w=(c[u>>2]|0)+80+(a[(c[u>>2]|0)+68>>0]<<1)|0;z=(b[w>>1]|0)+1<<16>>16;b[w>>1]=z;c[m>>2]=z&65535}xI(c[n>>2]|0,c[m>>2]|0,c[r>>2]|0,c[k>>2]|0,0,0,x);b[(c[u>>2]|0)+16+18>>1]=0;if(a[(c[n>>2]|0)+1>>0]|0){z=(c[u>>2]|0)+64|0;a[z>>0]=d[z>>0]&-3;c[x>>2]=yI(c[u>>2]|0)|0;a[(c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+66>>0]=0}}while(0);c[t>>2]=c[x>>2];z=c[t>>2]|0;l=y;return z|0} +function V$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+b|0;d=c[a+4>>2]|0;a:do if(!(d&1)){g=c[a>>2]|0;if(!(d&3))return;l=a+(0-g)|0;k=g+b|0;i=c[13818]|0;if(l>>>0>>0)qb();if((l|0)==(c[13819]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;f=k;break}c[13816]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=g>>>3;if(g>>>0<256){d=c[l+8>>2]|0;b=c[l+12>>2]|0;a=55296+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0>>0)qb();if((c[d+12>>2]|0)!=(l|0))qb()}if((b|0)==(d|0)){c[13814]=c[13814]&~(1<>>0>>0)qb();a=b+8|0;if((c[a>>2]|0)==(l|0))h=a;else qb()}else h=b+8|0;c[d+12>>2]=b;c[h>>2]=d;r=l;f=k;break}g=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){b=l+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){j=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0>>0)qb();else{c[d>>2]=0;j=a;break}}else{e=c[l+8>>2]|0;if(e>>>0>>0)qb();a=e+12|0;if((c[a>>2]|0)!=(l|0))qb();d=b+8|0;if((c[d>>2]|0)==(l|0)){c[a>>2]=b;c[d>>2]=e;j=b;break}else qb()}while(0);if(g){a=c[l+28>>2]|0;d=55560+(a<<2)|0;do if((l|0)==(c[d>>2]|0)){c[d>>2]=j;if(!j){c[13815]=c[13815]&~(1<>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(l|0)&1)<<2)>>2]=j;if(!j){r=l;f=k;break a}else break}else qb();while(0);b=c[13818]|0;if(j>>>0>>0)qb();c[j+24>>2]=g;a=l+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0>>0)qb();else{c[j+16>>2]=d;c[d+24>>2]=j;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[13818]|0)>>>0)qb();else{c[j+20>>2]=a;c[a+24>>2]=j;r=l;f=k;break}else{r=l;f=k}}else{r=l;f=k}}else{r=a;f=b}while(0);h=c[13818]|0;if(o>>>0>>0)qb();a=o+4|0;d=c[a>>2]|0;if(!(d&2)){a=c[13819]|0;if((o|0)==(c[13820]|0)){q=(c[13817]|0)+f|0;c[13817]=q;c[13820]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[13819]=0;c[13816]=0;return}if((o|0)==(a|0)){q=(c[13816]|0)+f|0;c[13816]=q;c[13819]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}f=(d&-8)+f|0;e=d>>>3;b:do if(d>>>0>=256){g=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){b=o+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0>>0)qb();else{c[d>>2]=0;n=a;break}}else{e=c[o+8>>2]|0;if(e>>>0>>0)qb();a=e+12|0;if((c[a>>2]|0)!=(o|0))qb();d=b+8|0;if((c[d>>2]|0)==(o|0)){c[a>>2]=b;c[d>>2]=e;n=b;break}else qb()}while(0);if(g|0){a=c[o+28>>2]|0;d=55560+(a<<2)|0;do if((o|0)==(c[d>>2]|0)){c[d>>2]=n;if(!n){c[13815]=c[13815]&~(1<>>0>=(c[13818]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else qb();while(0);b=c[13818]|0;if(n>>>0>>0)qb();c[n+24>>2]=g;a=o+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0>>0)qb();else{c[n+16>>2]=d;c[d+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[13818]|0)>>>0)qb();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{d=c[o+8>>2]|0;b=c[o+12>>2]|0;a=55296+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0>>0)qb();if((c[d+12>>2]|0)!=(o|0))qb()}if((b|0)==(d|0)){c[13814]=c[13814]&~(1<>>0>>0)qb();a=b+8|0;if((c[a>>2]|0)==(o|0))m=a;else qb()}else m=b+8|0;c[d+12>>2]=b;c[m>>2]=d}while(0);c[r+4>>2]=f|1;c[r+f>>2]=f;if((r|0)==(c[13819]|0)){c[13816]=f;return}}else{c[a>>2]=d&-2;c[r+4>>2]=f|1;c[r+f>>2]=f}a=f>>>3;if(f>>>0<256){b=55296+(a<<1<<2)|0;d=c[13814]|0;a=1<>2]|0;if(d>>>0<(c[13818]|0)>>>0)qb();else{p=d;q=a}}else{c[13814]=d|a;p=b;q=b+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=b;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;a=14-(o|p|a)+(q<>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=55560+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;d=c[13815]|0;b=1<>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}d=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=121;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){a=118;break}else{d=d<<1;e=a}}if((a|0)==118){if(b>>>0<(c[13818]|0)>>>0)qb();c[b>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((a|0)==121){a=e+8|0;d=c[a>>2]|0;q=c[13818]|0;if(!(d>>>0>=q>>>0&e>>>0>=q>>>0))qb();c[d+12>>2]=r;c[a>>2]=r;c[r+8>>2]=d;c[r+12>>2]=e;c[r+24>>2]=0;return}}function W$(a,b){a=a|0;b=b|0;if(a>>>0<9){b=Q$(b)|0;return b|0}else{b=X$(a,b)|0;return b|0}return 0}function X$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(s_()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=Q$(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(d&a+-1){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;V$(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;h=b+g|0;c[a>>2]=g|d&1|2;c[h+4>>2]=i|3;g=h+i+4|0;c[g>>2]=c[g>>2]|1;V$(h,i)}i=b+8|0;return i|0}function Y$(){}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function $$(a){a=a|0;return 0}function a0(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function b0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(V(i|0)|0)-(V(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h|0){i=(V(h|0)|0)+33-(V(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=a0(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((a0(i|0)|0)>>>0);return (D=o,p)|0}g=(V(i|0)|0)-(V(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=_$(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Z$(k|0,d|0,e|0,n|0)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Z$(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function c0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+16|0;i=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Z$(h^a|0,g^b|0,h|0,g|0)|0;b=D;b0(a,b,Z$(k^d|0,j^e|0,k|0,j|0)|0,D,i)|0;e=Z$(c[i>>2]^h|0,c[i+4>>2]^g|0,h|0,g|0)|0;d=D;l=f;return (D=d,e)|0}function d0(a){a=a|0;return 0}function e0(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function f0(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function g0(a){a=a|0;return 0}function h0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return ab(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function i0(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){_()|0;Sa(12);return -1}c[i>>2]=a;if((a|0)>(Z()|0)?(Y()|0)==0:0){Sa(12);c[i>>2]=b;return -1}return b|0}function j0(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else h0(b,c,d)|0;return b|0}function l0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;b0(a,b,d,e,f)|0;l=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function m0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Z$(j^a|0,i^b|0,j|0,i|0)|0;g=D;a=f^j;b=e^i;return Z$((b0(h,g,Z$(f^c|0,e^d|0,f|0,e|0)|0,D,0)|0)^a|0,D^b|0,a|0,b|0)|0}function o0(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return b0(a,b,c,d,0)|0}function q0(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=S(e,f)|0;d=a>>>16;a=(c>>>16)+(S(e,d)|0)|0;e=b>>>16;b=S(e,f)|0;return (D=(a>>>16)+(S(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=q0(e,f)|0;a=D;return (D=(S(b,f)|0)+(S(d,e)|0)+a|a&0,c|0|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb[a&255](b|0,c|0,d|0)|0}function t0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(0,a|0,b|0,c|0)|0}function u0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(1,a|0,b|0,c|0)|0}function v0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(2,a|0,b|0,c|0)|0}function w0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(3,a|0,b|0,c|0)|0}function x0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(4,a|0,b|0,c|0)|0}function y0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(5,a|0,b|0,c|0)|0}function z0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(6,a|0,b|0,c|0)|0}function A0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(7,a|0,b|0,c|0)|0}function B0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(8,a|0,b|0,c|0)|0}function C0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(9,a|0,b|0,c|0)|0}function D0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(10,a|0,b|0,c|0)|0}function E0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(11,a|0,b|0,c|0)|0}function F0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(12,a|0,b|0,c|0)|0}function G0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(13,a|0,b|0,c|0)|0}function H0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(14,a|0,b|0,c|0)|0}function I0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(15,a|0,b|0,c|0)|0}function J0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(16,a|0,b|0,c|0)|0}function K0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(17,a|0,b|0,c|0)|0}function L0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(18,a|0,b|0,c|0)|0}function M0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(19,a|0,b|0,c|0)|0}function N0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(20,a|0,b|0,c|0)|0}function O0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(21,a|0,b|0,c|0)|0}function P0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(22,a|0,b|0,c|0)|0}function Q0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(23,a|0,b|0,c|0)|0}function R0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(24,a|0,b|0,c|0)|0}function S0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(25,a|0,b|0,c|0)|0}function T0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(26,a|0,b|0,c|0)|0}function U0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(27,a|0,b|0,c|0)|0}function V0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(28,a|0,b|0,c|0)|0}function W0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(29,a|0,b|0,c|0)|0}function X0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(30,a|0,b|0,c|0)|0}function Y0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(31,a|0,b|0,c|0)|0}function Z0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(32,a|0,b|0,c|0)|0}function _0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(33,a|0,b|0,c|0)|0}function $0(a,b,c){a=a|0;b=b|0;c=c|0;return aa(34,a|0,b|0,c|0)|0}function a1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(35,a|0,b|0,c|0)|0}function b1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(36,a|0,b|0,c|0)|0}function c1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(37,a|0,b|0,c|0)|0}function d1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(38,a|0,b|0,c|0)|0}function e1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(39,a|0,b|0,c|0)|0}function f1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(40,a|0,b|0,c|0)|0}function g1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(41,a|0,b|0,c|0)|0}function h1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(42,a|0,b|0,c|0)|0}function i1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(43,a|0,b|0,c|0)|0}function j1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(44,a|0,b|0,c|0)|0}function k1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(45,a|0,b|0,c|0)|0}function l1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(46,a|0,b|0,c|0)|0}function m1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(47,a|0,b|0,c|0)|0}function n1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(48,a|0,b|0,c|0)|0}function o1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(49,a|0,b|0,c|0)|0}function p1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(50,a|0,b|0,c|0)|0}function q1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(51,a|0,b|0,c|0)|0}function r1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(52,a|0,b|0,c|0)|0}function s1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(53,a|0,b|0,c|0)|0}function t1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(54,a|0,b|0,c|0)|0}function u1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(55,a|0,b|0,c|0)|0}function v1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(56,a|0,b|0,c|0)|0}function w1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(57,a|0,b|0,c|0)|0}function x1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(58,a|0,b|0,c|0)|0}function y1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(59,a|0,b|0,c|0)|0}function z1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(60,a|0,b|0,c|0)|0}function A1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(61,a|0,b|0,c|0)|0}function B1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(62,a|0,b|0,c|0)|0}function C1(a,b,c){a=a|0;b=b|0;c=c|0;return aa(63,a|0,b|0,c|0)|0}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cb[a&255](b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(0,a|0,b|0,c|0,d|0,e|0)}function F1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1,a|0,b|0,c|0,d|0,e|0)}function G1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(2,a|0,b|0,c|0,d|0,e|0)}function H1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(3,a|0,b|0,c|0,d|0,e|0)}function I1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(4,a|0,b|0,c|0,d|0,e|0)}function J1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(5,a|0,b|0,c|0,d|0,e|0)}function K1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(6,a|0,b|0,c|0,d|0,e|0)}function L1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(7,a|0,b|0,c|0,d|0,e|0)}function M1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(8,a|0,b|0,c|0,d|0,e|0)}function N1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(9,a|0,b|0,c|0,d|0,e|0)}function O1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(10,a|0,b|0,c|0,d|0,e|0)}function P1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(11,a|0,b|0,c|0,d|0,e|0)}function Q1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(12,a|0,b|0,c|0,d|0,e|0)}function R1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(13,a|0,b|0,c|0,d|0,e|0)}function S1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(14,a|0,b|0,c|0,d|0,e|0)}function T1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(15,a|0,b|0,c|0,d|0,e|0)}function U1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(16,a|0,b|0,c|0,d|0,e|0)}function V1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(17,a|0,b|0,c|0,d|0,e|0)}function W1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(18,a|0,b|0,c|0,d|0,e|0)}function X1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(19,a|0,b|0,c|0,d|0,e|0)}function Y1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(20,a|0,b|0,c|0,d|0,e|0)}function Z1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(21,a|0,b|0,c|0,d|0,e|0)}function _1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(22,a|0,b|0,c|0,d|0,e|0)}function $1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(23,a|0,b|0,c|0,d|0,e|0)}function a2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(24,a|0,b|0,c|0,d|0,e|0)}function b2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(25,a|0,b|0,c|0,d|0,e|0)}function c2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(26,a|0,b|0,c|0,d|0,e|0)}function d2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(27,a|0,b|0,c|0,d|0,e|0)}function e2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(28,a|0,b|0,c|0,d|0,e|0)}function f2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(29,a|0,b|0,c|0,d|0,e|0)}function g2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(30,a|0,b|0,c|0,d|0,e|0)}function h2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(31,a|0,b|0,c|0,d|0,e|0)}function i2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(32,a|0,b|0,c|0,d|0,e|0)}function j2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(33,a|0,b|0,c|0,d|0,e|0)}function k2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(34,a|0,b|0,c|0,d|0,e|0)}function l2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(35,a|0,b|0,c|0,d|0,e|0)}function m2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(36,a|0,b|0,c|0,d|0,e|0)}function n2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(37,a|0,b|0,c|0,d|0,e|0)}function o2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(38,a|0,b|0,c|0,d|0,e|0)}function p2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(39,a|0,b|0,c|0,d|0,e|0)}function q2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(40,a|0,b|0,c|0,d|0,e|0)}function r2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(41,a|0,b|0,c|0,d|0,e|0)}function s2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(42,a|0,b|0,c|0,d|0,e|0)}function t2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(43,a|0,b|0,c|0,d|0,e|0)}function u2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(44,a|0,b|0,c|0,d|0,e|0)}function v2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(45,a|0,b|0,c|0,d|0,e|0)}function w2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(46,a|0,b|0,c|0,d|0,e|0)}function x2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(47,a|0,b|0,c|0,d|0,e|0)}function y2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(48,a|0,b|0,c|0,d|0,e|0)}function z2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(49,a|0,b|0,c|0,d|0,e|0)}function A2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(50,a|0,b|0,c|0,d|0,e|0)}function B2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(51,a|0,b|0,c|0,d|0,e|0)}function C2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(52,a|0,b|0,c|0,d|0,e|0)}function D2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(53,a|0,b|0,c|0,d|0,e|0)}function E2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(54,a|0,b|0,c|0,d|0,e|0)}function F2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(55,a|0,b|0,c|0,d|0,e|0)}function G2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(56,a|0,b|0,c|0,d|0,e|0)}function H2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(57,a|0,b|0,c|0,d|0,e|0)}function I2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(58,a|0,b|0,c|0,d|0,e|0)}function J2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(59,a|0,b|0,c|0,d|0,e|0)}function K2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(60,a|0,b|0,c|0,d|0,e|0)}function L2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(61,a|0,b|0,c|0,d|0,e|0)}function M2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(62,a|0,b|0,c|0,d|0,e|0)}function N2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(63,a|0,b|0,c|0,d|0,e|0)}function O2(a){a=a|0;return Db[a&255]()|0}function P2(){return ea(0)|0}function Q2(){return ea(1)|0}function R2(){return ea(2)|0}function S2(){return ea(3)|0}function T2(){return ea(4)|0}function U2(){return ea(5)|0}function V2(){return ea(6)|0}function W2(){return ea(7)|0}function X2(){return ea(8)|0}function Y2(){return ea(9)|0}function Z2(){return ea(10)|0}function _2(){return ea(11)|0}function $2(){return ea(12)|0}function a3(){return ea(13)|0}function b3(){return ea(14)|0}function c3(){return ea(15)|0}function d3(){return ea(16)|0}function e3(){return ea(17)|0}function f3(){return ea(18)|0}function g3(){return ea(19)|0}function h3(){return ea(20)|0}function i3(){return ea(21)|0}function j3(){return ea(22)|0}function k3(){return ea(23)|0}function l3(){return ea(24)|0}function m3(){return ea(25)|0}function n3(){return ea(26)|0}function o3(){return ea(27)|0}function p3(){return ea(28)|0}function q3(){return ea(29)|0}function r3(){return ea(30)|0}function s3(){return ea(31)|0}function t3(){return ea(32)|0}function u3(){return ea(33)|0}function v3(){return ea(34)|0}function w3(){return ea(35)|0}function x3(){return ea(36)|0}function y3(){return ea(37)|0}function z3(){return ea(38)|0}function A3(){return ea(39)|0}function B3(){return ea(40)|0}function C3(){return ea(41)|0}function D3(){return ea(42)|0}function E3(){return ea(43)|0}function F3(){return ea(44)|0}function G3(){return ea(45)|0}function H3(){return ea(46)|0}function I3(){return ea(47)|0}function J3(){return ea(48)|0}function K3(){return ea(49)|0}function L3(){return ea(50)|0}function M3(){return ea(51)|0}function N3(){return ea(52)|0}function O3(){return ea(53)|0}function P3(){return ea(54)|0}function Q3(){return ea(55)|0}function R3(){return ea(56)|0}function S3(){return ea(57)|0}function T3(){return ea(58)|0}function U3(){return ea(59)|0}function V3(){return ea(60)|0}function W3(){return ea(61)|0}function X3(){return ea(62)|0}function Y3(){return ea(63)|0}function Z3(a,b){a=a|0;b=b|0;Eb[a&255](b|0)}function _3(a){a=a|0;ga(0,a|0)}function $3(a){a=a|0;ga(1,a|0)}function a4(a){a=a|0;ga(2,a|0)}function b4(a){a=a|0;ga(3,a|0)}function c4(a){a=a|0;ga(4,a|0)}function d4(a){a=a|0;ga(5,a|0)}function e4(a){a=a|0;ga(6,a|0)}function f4(a){a=a|0;ga(7,a|0)}function g4(a){a=a|0;ga(8,a|0)}function h4(a){a=a|0;ga(9,a|0)}function i4(a){a=a|0;ga(10,a|0)}function j4(a){a=a|0;ga(11,a|0)}function k4(a){a=a|0;ga(12,a|0)}function l4(a){a=a|0;ga(13,a|0)}function m4(a){a=a|0;ga(14,a|0)}function n4(a){a=a|0;ga(15,a|0)}function o4(a){a=a|0;ga(16,a|0)}function p4(a){a=a|0;ga(17,a|0)}function q4(a){a=a|0;ga(18,a|0)}function r4(a){a=a|0;ga(19,a|0)}function s4(a){a=a|0;ga(20,a|0)}function t4(a){a=a|0;ga(21,a|0)}function u4(a){a=a|0;ga(22,a|0)}function v4(a){a=a|0;ga(23,a|0)}function w4(a){a=a|0;ga(24,a|0)}function x4(a){a=a|0;ga(25,a|0)}function y4(a){a=a|0;ga(26,a|0)}function z4(a){a=a|0;ga(27,a|0)}function A4(a){a=a|0;ga(28,a|0)}function B4(a){a=a|0;ga(29,a|0)}function C4(a){a=a|0;ga(30,a|0)}function D4(a){a=a|0;ga(31,a|0)}function E4(a){a=a|0;ga(32,a|0)}function F4(a){a=a|0;ga(33,a|0)}function G4(a){a=a|0;ga(34,a|0)}function H4(a){a=a|0;ga(35,a|0)}function I4(a){a=a|0;ga(36,a|0)}function J4(a){a=a|0;ga(37,a|0)}function K4(a){a=a|0;ga(38,a|0)}function L4(a){a=a|0;ga(39,a|0)}function M4(a){a=a|0;ga(40,a|0)}function N4(a){a=a|0;ga(41,a|0)}function O4(a){a=a|0;ga(42,a|0)}function P4(a){a=a|0;ga(43,a|0)}function Q4(a){a=a|0;ga(44,a|0)}function R4(a){a=a|0;ga(45,a|0)}function S4(a){a=a|0;ga(46,a|0)}function T4(a){a=a|0;ga(47,a|0)}function U4(a){a=a|0;ga(48,a|0)}function V4(a){a=a|0;ga(49,a|0)}function W4(a){a=a|0;ga(50,a|0)}function X4(a){a=a|0;ga(51,a|0)}function Y4(a){a=a|0;ga(52,a|0)}function Z4(a){a=a|0;ga(53,a|0)}function _4(a){a=a|0;ga(54,a|0)}function $4(a){a=a|0;ga(55,a|0)}function a5(a){a=a|0;ga(56,a|0)}function b5(a){a=a|0;ga(57,a|0)}function c5(a){a=a|0;ga(58,a|0)}function d5(a){a=a|0;ga(59,a|0)}function e5(a){a=a|0;ga(60,a|0)}function f5(a){a=a|0;ga(61,a|0)}function g5(a){a=a|0;ga(62,a|0)}function h5(a){a=a|0;ga(63,a|0)}function i5(a,b,c){a=a|0;b=b|0;c=c|0;Fb[a&255](b|0,c|0)}function j5(a,b){a=a|0;b=b|0;ia(0,a|0,b|0)}function k5(a,b){a=a|0;b=b|0;ia(1,a|0,b|0)}function l5(a,b){a=a|0;b=b|0;ia(2,a|0,b|0)}function m5(a,b){a=a|0;b=b|0;ia(3,a|0,b|0)}function n5(a,b){a=a|0;b=b|0;ia(4,a|0,b|0)}function o5(a,b){a=a|0;b=b|0;ia(5,a|0,b|0)}function p5(a,b){a=a|0;b=b|0;ia(6,a|0,b|0)}function q5(a,b){a=a|0;b=b|0;ia(7,a|0,b|0)}function r5(a,b){a=a|0;b=b|0;ia(8,a|0,b|0)}function s5(a,b){a=a|0;b=b|0;ia(9,a|0,b|0)}function t5(a,b){a=a|0;b=b|0;ia(10,a|0,b|0)}function u5(a,b){a=a|0;b=b|0;ia(11,a|0,b|0)}function v5(a,b){a=a|0;b=b|0;ia(12,a|0,b|0)}function w5(a,b){a=a|0;b=b|0;ia(13,a|0,b|0)}function x5(a,b){a=a|0;b=b|0;ia(14,a|0,b|0)}function y5(a,b){a=a|0;b=b|0;ia(15,a|0,b|0)}function z5(a,b){a=a|0;b=b|0;ia(16,a|0,b|0)}function A5(a,b){a=a|0;b=b|0;ia(17,a|0,b|0)}function B5(a,b){a=a|0;b=b|0;ia(18,a|0,b|0)}function C5(a,b){a=a|0;b=b|0;ia(19,a|0,b|0)}function D5(a,b){a=a|0;b=b|0;ia(20,a|0,b|0)}function E5(a,b){a=a|0;b=b|0;ia(21,a|0,b|0)}function F5(a,b){a=a|0;b=b|0;ia(22,a|0,b|0)}function G5(a,b){a=a|0;b=b|0;ia(23,a|0,b|0)}function H5(a,b){a=a|0;b=b|0;ia(24,a|0,b|0)}function I5(a,b){a=a|0;b=b|0;ia(25,a|0,b|0)}function J5(a,b){a=a|0;b=b|0;ia(26,a|0,b|0)}function K5(a,b){a=a|0;b=b|0;ia(27,a|0,b|0)}function L5(a,b){a=a|0;b=b|0;ia(28,a|0,b|0)}function M5(a,b){a=a|0;b=b|0;ia(29,a|0,b|0)}function N5(a,b){a=a|0;b=b|0;ia(30,a|0,b|0)}function O5(a,b){a=a|0;b=b|0;ia(31,a|0,b|0)}function P5(a,b){a=a|0;b=b|0;ia(32,a|0,b|0)}function Q5(a,b){a=a|0;b=b|0;ia(33,a|0,b|0)}function R5(a,b){a=a|0;b=b|0;ia(34,a|0,b|0)}function S5(a,b){a=a|0;b=b|0;ia(35,a|0,b|0)}function T5(a,b){a=a|0;b=b|0;ia(36,a|0,b|0)}function U5(a,b){a=a|0;b=b|0;ia(37,a|0,b|0)}function V5(a,b){a=a|0;b=b|0;ia(38,a|0,b|0)}function W5(a,b){a=a|0;b=b|0;ia(39,a|0,b|0)}function X5(a,b){a=a|0;b=b|0;ia(40,a|0,b|0)}function Y5(a,b){a=a|0;b=b|0;ia(41,a|0,b|0)}function Z5(a,b){a=a|0;b=b|0;ia(42,a|0,b|0)}function _5(a,b){a=a|0;b=b|0;ia(43,a|0,b|0)}function $5(a,b){a=a|0;b=b|0;ia(44,a|0,b|0)}function a6(a,b){a=a|0;b=b|0;ia(45,a|0,b|0)}function b6(a,b){a=a|0;b=b|0;ia(46,a|0,b|0)}function c6(a,b){a=a|0;b=b|0;ia(47,a|0,b|0)}function d6(a,b){a=a|0;b=b|0;ia(48,a|0,b|0)}function e6(a,b){a=a|0;b=b|0;ia(49,a|0,b|0)}function f6(a,b){a=a|0;b=b|0;ia(50,a|0,b|0)}function g6(a,b){a=a|0;b=b|0;ia(51,a|0,b|0)}function h6(a,b){a=a|0;b=b|0;ia(52,a|0,b|0)}function i6(a,b){a=a|0;b=b|0;ia(53,a|0,b|0)}function j6(a,b){a=a|0;b=b|0;ia(54,a|0,b|0)}function k6(a,b){a=a|0;b=b|0;ia(55,a|0,b|0)}function l6(a,b){a=a|0;b=b|0;ia(56,a|0,b|0)}function m6(a,b){a=a|0;b=b|0;ia(57,a|0,b|0)}function n6(a,b){a=a|0;b=b|0;ia(58,a|0,b|0)}function o6(a,b){a=a|0;b=b|0;ia(59,a|0,b|0)}function p6(a,b){a=a|0;b=b|0;ia(60,a|0,b|0)}function q6(a,b){a=a|0;b=b|0;ia(61,a|0,b|0)}function r6(a,b){a=a|0;b=b|0;ia(62,a|0,b|0)}function s6(a,b){a=a|0;b=b|0;ia(63,a|0,b|0)}function t6(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Gb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function u6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function v6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function w6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function x6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function y6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function z6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function A6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function B6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function C6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function D6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function E6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function F6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function G6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function H6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function I6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function J6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function K6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function L6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function M6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function N6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function O6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function P6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Q6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function R6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function S6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function T6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function U6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function V6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function W6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function X6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Y6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Z6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function a7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function b7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function c7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function d7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function e7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function f7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function g7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function h7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function i7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function j7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function k7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function l7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function m7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function n7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function o7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function p7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function q7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function r7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function s7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function t7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function u7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function v7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function w7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function x7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function y7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function z7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function A7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function B7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function C7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function D7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ka(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function E7(a,b){a=a|0;b=b|0;return Hb[a&255](b|0)|0}function F7(a){a=a|0;return ma(0,a|0)|0}function G7(a){a=a|0;return ma(1,a|0)|0}function H7(a){a=a|0;return ma(2,a|0)|0}function I7(a){a=a|0;return ma(3,a|0)|0}function J7(a){a=a|0;return ma(4,a|0)|0}function K7(a){a=a|0;return ma(5,a|0)|0}function L7(a){a=a|0;return ma(6,a|0)|0}function M7(a){a=a|0;return ma(7,a|0)|0}function N7(a){a=a|0;return ma(8,a|0)|0}function O7(a){a=a|0;return ma(9,a|0)|0}function P7(a){a=a|0;return ma(10,a|0)|0}function Q7(a){a=a|0;return ma(11,a|0)|0}function R7(a){a=a|0;return ma(12,a|0)|0}function S7(a){a=a|0;return ma(13,a|0)|0}function T7(a){a=a|0;return ma(14,a|0)|0}function U7(a){a=a|0;return ma(15,a|0)|0}function V7(a){a=a|0;return ma(16,a|0)|0}function W7(a){a=a|0;return ma(17,a|0)|0}function X7(a){a=a|0;return ma(18,a|0)|0}function Y7(a){a=a|0;return ma(19,a|0)|0}function Z7(a){a=a|0;return ma(20,a|0)|0}function _7(a){a=a|0;return ma(21,a|0)|0}function $7(a){a=a|0;return ma(22,a|0)|0}function a8(a){a=a|0;return ma(23,a|0)|0}function b8(a){a=a|0;return ma(24,a|0)|0}function c8(a){a=a|0;return ma(25,a|0)|0}function d8(a){a=a|0;return ma(26,a|0)|0}function e8(a){a=a|0;return ma(27,a|0)|0}function f8(a){a=a|0;return ma(28,a|0)|0}function g8(a){a=a|0;return ma(29,a|0)|0}function h8(a){a=a|0;return ma(30,a|0)|0}function i8(a){a=a|0;return ma(31,a|0)|0}function j8(a){a=a|0;return ma(32,a|0)|0}function k8(a){a=a|0;return ma(33,a|0)|0}function l8(a){a=a|0;return ma(34,a|0)|0}function m8(a){a=a|0;return ma(35,a|0)|0}function n8(a){a=a|0;return ma(36,a|0)|0}function o8(a){a=a|0;return ma(37,a|0)|0}function p8(a){a=a|0;return ma(38,a|0)|0}function q8(a){a=a|0;return ma(39,a|0)|0}function r8(a){a=a|0;return ma(40,a|0)|0}function s8(a){a=a|0;return ma(41,a|0)|0}function t8(a){a=a|0;return ma(42,a|0)|0}function u8(a){a=a|0;return ma(43,a|0)|0}function v8(a){a=a|0;return ma(44,a|0)|0}function w8(a){a=a|0;return ma(45,a|0)|0}function x8(a){a=a|0;return ma(46,a|0)|0}function y8(a){a=a|0;return ma(47,a|0)|0}function z8(a){a=a|0;return ma(48,a|0)|0}function A8(a){a=a|0;return ma(49,a|0)|0}function B8(a){a=a|0;return ma(50,a|0)|0}function C8(a){a=a|0;return ma(51,a|0)|0}function D8(a){a=a|0;return ma(52,a|0)|0}function E8(a){a=a|0;return ma(53,a|0)|0}function F8(a){a=a|0;return ma(54,a|0)|0}function G8(a){a=a|0;return ma(55,a|0)|0}function H8(a){a=a|0;return ma(56,a|0)|0}function I8(a){a=a|0;return ma(57,a|0)|0}function J8(a){a=a|0;return ma(58,a|0)|0}function K8(a){a=a|0;return ma(59,a|0)|0}function L8(a){a=a|0;return ma(60,a|0)|0}function M8(a){a=a|0;return ma(61,a|0)|0}function N8(a){a=a|0;return ma(62,a|0)|0}function O8(a){a=a|0;return ma(63,a|0)|0}function P8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ib[a&255](b|0,c|0,d|0)}function Q8(a,b,c){a=a|0;b=b|0;c=c|0;oa(0,a|0,b|0,c|0)}function R8(a,b,c){a=a|0;b=b|0;c=c|0;oa(1,a|0,b|0,c|0)}function S8(a,b,c){a=a|0;b=b|0;c=c|0;oa(2,a|0,b|0,c|0)}function T8(a,b,c){a=a|0;b=b|0;c=c|0;oa(3,a|0,b|0,c|0)}function U8(a,b,c){a=a|0;b=b|0;c=c|0;oa(4,a|0,b|0,c|0)}function V8(a,b,c){a=a|0;b=b|0;c=c|0;oa(5,a|0,b|0,c|0)}function W8(a,b,c){a=a|0;b=b|0;c=c|0;oa(6,a|0,b|0,c|0)}function X8(a,b,c){a=a|0;b=b|0;c=c|0;oa(7,a|0,b|0,c|0)}function Y8(a,b,c){a=a|0;b=b|0;c=c|0;oa(8,a|0,b|0,c|0)}function Z8(a,b,c){a=a|0;b=b|0;c=c|0;oa(9,a|0,b|0,c|0)}function _8(a,b,c){a=a|0;b=b|0;c=c|0;oa(10,a|0,b|0,c|0)}function $8(a,b,c){a=a|0;b=b|0;c=c|0;oa(11,a|0,b|0,c|0)}function a9(a,b,c){a=a|0;b=b|0;c=c|0;oa(12,a|0,b|0,c|0)}function b9(a,b,c){a=a|0;b=b|0;c=c|0;oa(13,a|0,b|0,c|0)}function c9(a,b,c){a=a|0;b=b|0;c=c|0;oa(14,a|0,b|0,c|0)}function d9(a,b,c){a=a|0;b=b|0;c=c|0;oa(15,a|0,b|0,c|0)}function e9(a,b,c){a=a|0;b=b|0;c=c|0;oa(16,a|0,b|0,c|0)}function f9(a,b,c){a=a|0;b=b|0;c=c|0;oa(17,a|0,b|0,c|0)}function g9(a,b,c){a=a|0;b=b|0;c=c|0;oa(18,a|0,b|0,c|0)}function h9(a,b,c){a=a|0;b=b|0;c=c|0;oa(19,a|0,b|0,c|0)}function i9(a,b,c){a=a|0;b=b|0;c=c|0;oa(20,a|0,b|0,c|0)}function j9(a,b,c){a=a|0;b=b|0;c=c|0;oa(21,a|0,b|0,c|0)}function k9(a,b,c){a=a|0;b=b|0;c=c|0;oa(22,a|0,b|0,c|0)}function l9(a,b,c){a=a|0;b=b|0;c=c|0;oa(23,a|0,b|0,c|0)}function m9(a,b,c){a=a|0;b=b|0;c=c|0;oa(24,a|0,b|0,c|0)}function n9(a,b,c){a=a|0;b=b|0;c=c|0;oa(25,a|0,b|0,c|0)}function o9(a,b,c){a=a|0;b=b|0;c=c|0;oa(26,a|0,b|0,c|0)}function p9(a,b,c){a=a|0;b=b|0;c=c|0;oa(27,a|0,b|0,c|0)}function q9(a,b,c){a=a|0;b=b|0;c=c|0;oa(28,a|0,b|0,c|0)}function r9(a,b,c){a=a|0;b=b|0;c=c|0;oa(29,a|0,b|0,c|0)}function s9(a,b,c){a=a|0;b=b|0;c=c|0;oa(30,a|0,b|0,c|0)}function t9(a,b,c){a=a|0;b=b|0;c=c|0;oa(31,a|0,b|0,c|0)}function u9(a,b,c){a=a|0;b=b|0;c=c|0;oa(32,a|0,b|0,c|0)}function v9(a,b,c){a=a|0;b=b|0;c=c|0;oa(33,a|0,b|0,c|0)}function w9(a,b,c){a=a|0;b=b|0;c=c|0;oa(34,a|0,b|0,c|0)}function x9(a,b,c){a=a|0;b=b|0;c=c|0;oa(35,a|0,b|0,c|0)}function y9(a,b,c){a=a|0;b=b|0;c=c|0;oa(36,a|0,b|0,c|0)}function z9(a,b,c){a=a|0;b=b|0;c=c|0;oa(37,a|0,b|0,c|0)}function A9(a,b,c){a=a|0;b=b|0;c=c|0;oa(38,a|0,b|0,c|0)}function B9(a,b,c){a=a|0;b=b|0;c=c|0;oa(39,a|0,b|0,c|0)}function C9(a,b,c){a=a|0;b=b|0;c=c|0;oa(40,a|0,b|0,c|0)}function D9(a,b,c){a=a|0;b=b|0;c=c|0;oa(41,a|0,b|0,c|0)}function E9(a,b,c){a=a|0;b=b|0;c=c|0;oa(42,a|0,b|0,c|0)}function F9(a,b,c){a=a|0;b=b|0;c=c|0;oa(43,a|0,b|0,c|0)}function G9(a,b,c){a=a|0;b=b|0;c=c|0;oa(44,a|0,b|0,c|0)}function H9(a,b,c){a=a|0;b=b|0;c=c|0;oa(45,a|0,b|0,c|0)}function I9(a,b,c){a=a|0;b=b|0;c=c|0;oa(46,a|0,b|0,c|0)}function J9(a,b,c){a=a|0;b=b|0;c=c|0;oa(47,a|0,b|0,c|0)}function K9(a,b,c){a=a|0;b=b|0;c=c|0;oa(48,a|0,b|0,c|0)}function L9(a,b,c){a=a|0;b=b|0;c=c|0;oa(49,a|0,b|0,c|0)}function M9(a,b,c){a=a|0;b=b|0;c=c|0;oa(50,a|0,b|0,c|0)}function N9(a,b,c){a=a|0;b=b|0;c=c|0;oa(51,a|0,b|0,c|0)}function O9(a,b,c){a=a|0;b=b|0;c=c|0;oa(52,a|0,b|0,c|0)}function P9(a,b,c){a=a|0;b=b|0;c=c|0;oa(53,a|0,b|0,c|0)}function Q9(a,b,c){a=a|0;b=b|0;c=c|0;oa(54,a|0,b|0,c|0)}function R9(a,b,c){a=a|0;b=b|0;c=c|0;oa(55,a|0,b|0,c|0)}function S9(a,b,c){a=a|0;b=b|0;c=c|0;oa(56,a|0,b|0,c|0)}function T9(a,b,c){a=a|0;b=b|0;c=c|0;oa(57,a|0,b|0,c|0)}function U9(a,b,c){a=a|0;b=b|0;c=c|0;oa(58,a|0,b|0,c|0)}function V9(a,b,c){a=a|0;b=b|0;c=c|0;oa(59,a|0,b|0,c|0)}function W9(a,b,c){a=a|0;b=b|0;c=c|0;oa(60,a|0,b|0,c|0)}function X9(a,b,c){a=a|0;b=b|0;c=c|0;oa(61,a|0,b|0,c|0)}function Y9(a,b,c){a=a|0;b=b|0;c=c|0;oa(62,a|0,b|0,c|0)}function Z9(a,b,c){a=a|0;b=b|0;c=c|0;oa(63,a|0,b|0,c|0)}function _9(a){a=a|0;Jb[a&255]()}function $9(){qa(0)}function aaa(){qa(1)}function baa(){qa(2)}function caa(){qa(3)}function daa(){qa(4)}function eaa(){qa(5)}function faa(){qa(6)}function gaa(){qa(7)}function haa(){qa(8)}function iaa(){qa(9)}function jaa(){qa(10)}function kaa(){qa(11)}function laa(){qa(12)}function maa(){qa(13)}function naa(){qa(14)}function oaa(){qa(15)}function paa(){qa(16)}function qaa(){qa(17)}function raa(){qa(18)}function saa(){qa(19)}function taa(){qa(20)}function uaa(){qa(21)}function vaa(){qa(22)}function waa(){qa(23)}function xaa(){qa(24)}function yaa(){qa(25)}function zaa(){qa(26)}function Aaa(){qa(27)}function Baa(){qa(28)}function Caa(){qa(29)}function Daa(){qa(30)}function Eaa(){qa(31)}function Faa(){qa(32)}function Gaa(){qa(33)}function Haa(){qa(34)}function Iaa(){qa(35)}function Jaa(){qa(36)}function Kaa(){qa(37)}function Laa(){qa(38)}function Maa(){qa(39)}function Naa(){qa(40)}function Oaa(){qa(41)}function Paa(){qa(42)}function Qaa(){qa(43)}function Raa(){qa(44)}function Saa(){qa(45)}function Taa(){qa(46)}function Uaa(){qa(47)}function Vaa(){qa(48)}function Waa(){qa(49)}function Xaa(){qa(50)}function Yaa(){qa(51)}function Zaa(){qa(52)}function _aa(){qa(53)}function $aa(){qa(54)}function aba(){qa(55)}function bba(){qa(56)}function cba(){qa(57)}function dba(){qa(58)}function eba(){qa(59)}function fba(){qa(60)}function gba(){qa(61)}function hba(){qa(62)}function iba(){qa(63)}function jba(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Kb[a&255](b|0,c|0,d|0,e|0)|0}function kba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(0,a|0,b|0,c|0,d|0)|0}function lba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(1,a|0,b|0,c|0,d|0)|0}function mba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(2,a|0,b|0,c|0,d|0)|0}function nba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(3,a|0,b|0,c|0,d|0)|0}function oba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(4,a|0,b|0,c|0,d|0)|0}function pba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(5,a|0,b|0,c|0,d|0)|0}function qba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(6,a|0,b|0,c|0,d|0)|0}function rba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(7,a|0,b|0,c|0,d|0)|0}function sba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(8,a|0,b|0,c|0,d|0)|0}function tba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(9,a|0,b|0,c|0,d|0)|0}function uba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(10,a|0,b|0,c|0,d|0)|0}function vba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(11,a|0,b|0,c|0,d|0)|0}function wba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(12,a|0,b|0,c|0,d|0)|0}function xba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(13,a|0,b|0,c|0,d|0)|0}function yba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(14,a|0,b|0,c|0,d|0)|0}function zba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(15,a|0,b|0,c|0,d|0)|0}function Aba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(16,a|0,b|0,c|0,d|0)|0}function Bba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(17,a|0,b|0,c|0,d|0)|0}function Cba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(18,a|0,b|0,c|0,d|0)|0}function Dba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(19,a|0,b|0,c|0,d|0)|0}function Eba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(20,a|0,b|0,c|0,d|0)|0}function Fba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(21,a|0,b|0,c|0,d|0)|0}function Gba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(22,a|0,b|0,c|0,d|0)|0}function Hba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(23,a|0,b|0,c|0,d|0)|0}function Iba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(24,a|0,b|0,c|0,d|0)|0}function Jba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(25,a|0,b|0,c|0,d|0)|0}function Kba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(26,a|0,b|0,c|0,d|0)|0}function Lba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(27,a|0,b|0,c|0,d|0)|0}function Mba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(28,a|0,b|0,c|0,d|0)|0}function Nba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(29,a|0,b|0,c|0,d|0)|0}function Oba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(30,a|0,b|0,c|0,d|0)|0}function Pba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(31,a|0,b|0,c|0,d|0)|0}function Qba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(32,a|0,b|0,c|0,d|0)|0}function Rba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(33,a|0,b|0,c|0,d|0)|0}function Sba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(34,a|0,b|0,c|0,d|0)|0}function Tba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(35,a|0,b|0,c|0,d|0)|0}function Uba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(36,a|0,b|0,c|0,d|0)|0}function Vba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(37,a|0,b|0,c|0,d|0)|0}function Wba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(38,a|0,b|0,c|0,d|0)|0}function Xba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(39,a|0,b|0,c|0,d|0)|0}function Yba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(40,a|0,b|0,c|0,d|0)|0}function Zba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(41,a|0,b|0,c|0,d|0)|0}function _ba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(42,a|0,b|0,c|0,d|0)|0}function $ba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(43,a|0,b|0,c|0,d|0)|0}function aca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(44,a|0,b|0,c|0,d|0)|0}function bca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(45,a|0,b|0,c|0,d|0)|0}function cca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(46,a|0,b|0,c|0,d|0)|0}function dca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(47,a|0,b|0,c|0,d|0)|0}function eca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(48,a|0,b|0,c|0,d|0)|0}function fca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(49,a|0,b|0,c|0,d|0)|0}function gca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(50,a|0,b|0,c|0,d|0)|0}function hca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(51,a|0,b|0,c|0,d|0)|0}function ica(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(52,a|0,b|0,c|0,d|0)|0}function jca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(53,a|0,b|0,c|0,d|0)|0}function kca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(54,a|0,b|0,c|0,d|0)|0}function lca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(55,a|0,b|0,c|0,d|0)|0}function mca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(56,a|0,b|0,c|0,d|0)|0}function nca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(57,a|0,b|0,c|0,d|0)|0}function oca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(58,a|0,b|0,c|0,d|0)|0}function pca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(59,a|0,b|0,c|0,d|0)|0}function qca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(60,a|0,b|0,c|0,d|0)|0}function rca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(61,a|0,b|0,c|0,d|0)|0}function sca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(62,a|0,b|0,c|0,d|0)|0}function tca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sa(63,a|0,b|0,c|0,d|0)|0}function uca(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Lb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function vca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(0,a|0,b|0,c|0,d|0,e|0,f|0)}function wca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(1,a|0,b|0,c|0,d|0,e|0,f|0)}function xca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(2,a|0,b|0,c|0,d|0,e|0,f|0)}function yca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(3,a|0,b|0,c|0,d|0,e|0,f|0)}function zca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(4,a|0,b|0,c|0,d|0,e|0,f|0)}function Aca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(5,a|0,b|0,c|0,d|0,e|0,f|0)}function Bca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(6,a|0,b|0,c|0,d|0,e|0,f|0)}function Cca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(7,a|0,b|0,c|0,d|0,e|0,f|0)}function Dca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(8,a|0,b|0,c|0,d|0,e|0,f|0)}function Eca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(9,a|0,b|0,c|0,d|0,e|0,f|0)}function Fca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(10,a|0,b|0,c|0,d|0,e|0,f|0)}function Gca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(11,a|0,b|0,c|0,d|0,e|0,f|0)}function Hca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(12,a|0,b|0,c|0,d|0,e|0,f|0)}function Ica(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(13,a|0,b|0,c|0,d|0,e|0,f|0)}function Jca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(14,a|0,b|0,c|0,d|0,e|0,f|0)}function Kca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(15,a|0,b|0,c|0,d|0,e|0,f|0)}function Lca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(16,a|0,b|0,c|0,d|0,e|0,f|0)}function Mca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(17,a|0,b|0,c|0,d|0,e|0,f|0)}function Nca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(18,a|0,b|0,c|0,d|0,e|0,f|0)}function Oca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(19,a|0,b|0,c|0,d|0,e|0,f|0)}function Pca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(20,a|0,b|0,c|0,d|0,e|0,f|0)}function Qca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(21,a|0,b|0,c|0,d|0,e|0,f|0)}function Rca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(22,a|0,b|0,c|0,d|0,e|0,f|0)}function Sca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(23,a|0,b|0,c|0,d|0,e|0,f|0)}function Tca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(24,a|0,b|0,c|0,d|0,e|0,f|0)}function Uca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(25,a|0,b|0,c|0,d|0,e|0,f|0)}function Vca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(26,a|0,b|0,c|0,d|0,e|0,f|0)}function Wca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(27,a|0,b|0,c|0,d|0,e|0,f|0)}function Xca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(28,a|0,b|0,c|0,d|0,e|0,f|0)}function Yca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(29,a|0,b|0,c|0,d|0,e|0,f|0)}function Zca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(30,a|0,b|0,c|0,d|0,e|0,f|0)}function _ca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(31,a|0,b|0,c|0,d|0,e|0,f|0)}function $ca(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(32,a|0,b|0,c|0,d|0,e|0,f|0)}function ada(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(33,a|0,b|0,c|0,d|0,e|0,f|0)}function bda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(34,a|0,b|0,c|0,d|0,e|0,f|0)}function cda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(35,a|0,b|0,c|0,d|0,e|0,f|0)}function dda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(36,a|0,b|0,c|0,d|0,e|0,f|0)}function eda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(37,a|0,b|0,c|0,d|0,e|0,f|0)}function fda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(38,a|0,b|0,c|0,d|0,e|0,f|0)}function gda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(39,a|0,b|0,c|0,d|0,e|0,f|0)}function hda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(40,a|0,b|0,c|0,d|0,e|0,f|0)}function ida(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(41,a|0,b|0,c|0,d|0,e|0,f|0)}function jda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(42,a|0,b|0,c|0,d|0,e|0,f|0)}function kda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(43,a|0,b|0,c|0,d|0,e|0,f|0)}function lda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(44,a|0,b|0,c|0,d|0,e|0,f|0)}function mda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(45,a|0,b|0,c|0,d|0,e|0,f|0)}function nda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(46,a|0,b|0,c|0,d|0,e|0,f|0)}function oda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(47,a|0,b|0,c|0,d|0,e|0,f|0)}function pda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(48,a|0,b|0,c|0,d|0,e|0,f|0)}function qda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(49,a|0,b|0,c|0,d|0,e|0,f|0)}function rda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(50,a|0,b|0,c|0,d|0,e|0,f|0)}function sda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(51,a|0,b|0,c|0,d|0,e|0,f|0)}function tda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(52,a|0,b|0,c|0,d|0,e|0,f|0)}function uda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(53,a|0,b|0,c|0,d|0,e|0,f|0)}function vda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(54,a|0,b|0,c|0,d|0,e|0,f|0)}function wda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(55,a|0,b|0,c|0,d|0,e|0,f|0)}function xda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(56,a|0,b|0,c|0,d|0,e|0,f|0)}function yda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(57,a|0,b|0,c|0,d|0,e|0,f|0)}function zda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(58,a|0,b|0,c|0,d|0,e|0,f|0)}function Ada(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(59,a|0,b|0,c|0,d|0,e|0,f|0)}function Bda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(60,a|0,b|0,c|0,d|0,e|0,f|0)}function Cda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(61,a|0,b|0,c|0,d|0,e|0,f|0)}function Dda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(62,a|0,b|0,c|0,d|0,e|0,f|0)}function Eda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua(63,a|0,b|0,c|0,d|0,e|0,f|0)}function Fda(a,b,c){a=a|0;b=b|0;c=c|0;return Mb[a&255](b|0,c|0)|0}function Gda(a,b){a=a|0;b=b|0;return wa(0,a|0,b|0)|0}function Hda(a,b){a=a|0;b=b|0;return wa(1,a|0,b|0)|0}function Ida(a,b){a=a|0;b=b|0;return wa(2,a|0,b|0)|0}function Jda(a,b){a=a|0;b=b|0;return wa(3,a|0,b|0)|0}function Kda(a,b){a=a|0;b=b|0;return wa(4,a|0,b|0)|0}function Lda(a,b){a=a|0;b=b|0;return wa(5,a|0,b|0)|0}function Mda(a,b){a=a|0;b=b|0;return wa(6,a|0,b|0)|0}function Nda(a,b){a=a|0;b=b|0;return wa(7,a|0,b|0)|0}function Oda(a,b){a=a|0;b=b|0;return wa(8,a|0,b|0)|0}function Pda(a,b){a=a|0;b=b|0;return wa(9,a|0,b|0)|0}function Qda(a,b){a=a|0;b=b|0;return wa(10,a|0,b|0)|0}function Rda(a,b){a=a|0;b=b|0;return wa(11,a|0,b|0)|0}function Sda(a,b){a=a|0;b=b|0;return wa(12,a|0,b|0)|0}function Tda(a,b){a=a|0;b=b|0;return wa(13,a|0,b|0)|0}function Uda(a,b){a=a|0;b=b|0;return wa(14,a|0,b|0)|0}function Vda(a,b){a=a|0;b=b|0;return wa(15,a|0,b|0)|0}function Wda(a,b){a=a|0;b=b|0;return wa(16,a|0,b|0)|0}function Xda(a,b){a=a|0;b=b|0;return wa(17,a|0,b|0)|0}function Yda(a,b){a=a|0;b=b|0;return wa(18,a|0,b|0)|0}function Zda(a,b){a=a|0;b=b|0;return wa(19,a|0,b|0)|0}function _da(a,b){a=a|0;b=b|0;return wa(20,a|0,b|0)|0}function $da(a,b){a=a|0;b=b|0;return wa(21,a|0,b|0)|0}function aea(a,b){a=a|0;b=b|0;return wa(22,a|0,b|0)|0}function bea(a,b){a=a|0;b=b|0;return wa(23,a|0,b|0)|0}function cea(a,b){a=a|0;b=b|0;return wa(24,a|0,b|0)|0}function dea(a,b){a=a|0;b=b|0;return wa(25,a|0,b|0)|0}function eea(a,b){a=a|0;b=b|0;return wa(26,a|0,b|0)|0}function fea(a,b){a=a|0;b=b|0;return wa(27,a|0,b|0)|0}function gea(a,b){a=a|0;b=b|0;return wa(28,a|0,b|0)|0}function hea(a,b){a=a|0;b=b|0;return wa(29,a|0,b|0)|0}function iea(a,b){a=a|0;b=b|0;return wa(30,a|0,b|0)|0}function jea(a,b){a=a|0;b=b|0;return wa(31,a|0,b|0)|0}function kea(a,b){a=a|0;b=b|0;return wa(32,a|0,b|0)|0}function lea(a,b){a=a|0;b=b|0;return wa(33,a|0,b|0)|0}function mea(a,b){a=a|0;b=b|0;return wa(34,a|0,b|0)|0}function nea(a,b){a=a|0;b=b|0;return wa(35,a|0,b|0)|0}function oea(a,b){a=a|0;b=b|0;return wa(36,a|0,b|0)|0}function pea(a,b){a=a|0;b=b|0;return wa(37,a|0,b|0)|0}function qea(a,b){a=a|0;b=b|0;return wa(38,a|0,b|0)|0}function rea(a,b){a=a|0;b=b|0;return wa(39,a|0,b|0)|0}function sea(a,b){a=a|0;b=b|0;return wa(40,a|0,b|0)|0}function tea(a,b){a=a|0;b=b|0;return wa(41,a|0,b|0)|0}function uea(a,b){a=a|0;b=b|0;return wa(42,a|0,b|0)|0}function vea(a,b){a=a|0;b=b|0;return wa(43,a|0,b|0)|0}function wea(a,b){a=a|0;b=b|0;return wa(44,a|0,b|0)|0}function xea(a,b){a=a|0;b=b|0;return wa(45,a|0,b|0)|0}function yea(a,b){a=a|0;b=b|0;return wa(46,a|0,b|0)|0}function zea(a,b){a=a|0;b=b|0;return wa(47,a|0,b|0)|0}function Aea(a,b){a=a|0;b=b|0;return wa(48,a|0,b|0)|0}function Bea(a,b){a=a|0;b=b|0;return wa(49,a|0,b|0)|0}function Cea(a,b){a=a|0;b=b|0;return wa(50,a|0,b|0)|0}function Dea(a,b){a=a|0;b=b|0;return wa(51,a|0,b|0)|0}function Eea(a,b){a=a|0;b=b|0;return wa(52,a|0,b|0)|0}function Fea(a,b){a=a|0;b=b|0;return wa(53,a|0,b|0)|0}function Gea(a,b){a=a|0;b=b|0;return wa(54,a|0,b|0)|0}function Hea(a,b){a=a|0;b=b|0;return wa(55,a|0,b|0)|0}function Iea(a,b){a=a|0;b=b|0;return wa(56,a|0,b|0)|0}function Jea(a,b){a=a|0;b=b|0;return wa(57,a|0,b|0)|0}function Kea(a,b){a=a|0;b=b|0;return wa(58,a|0,b|0)|0}function Lea(a,b){a=a|0;b=b|0;return wa(59,a|0,b|0)|0}function Mea(a,b){a=a|0;b=b|0;return wa(60,a|0,b|0)|0}function Nea(a,b){a=a|0;b=b|0;return wa(61,a|0,b|0)|0}function Oea(a,b){a=a|0;b=b|0;return wa(62,a|0,b|0)|0}function Pea(a,b){a=a|0;b=b|0;return wa(63,a|0,b|0)|0}function Qea(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Nb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function Rea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(0,a|0,b|0,c|0,d|0,e|0)|0}function Sea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(1,a|0,b|0,c|0,d|0,e|0)|0}function Tea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(2,a|0,b|0,c|0,d|0,e|0)|0}function Uea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(3,a|0,b|0,c|0,d|0,e|0)|0}function Vea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(4,a|0,b|0,c|0,d|0,e|0)|0}function Wea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(5,a|0,b|0,c|0,d|0,e|0)|0}function Xea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(6,a|0,b|0,c|0,d|0,e|0)|0}function Yea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(7,a|0,b|0,c|0,d|0,e|0)|0}function Zea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(8,a|0,b|0,c|0,d|0,e|0)|0}function _ea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(9,a|0,b|0,c|0,d|0,e|0)|0}function $ea(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(10,a|0,b|0,c|0,d|0,e|0)|0}function afa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(11,a|0,b|0,c|0,d|0,e|0)|0}function bfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(12,a|0,b|0,c|0,d|0,e|0)|0}function cfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(13,a|0,b|0,c|0,d|0,e|0)|0}function dfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(14,a|0,b|0,c|0,d|0,e|0)|0}function efa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(15,a|0,b|0,c|0,d|0,e|0)|0}function ffa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(16,a|0,b|0,c|0,d|0,e|0)|0}function gfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(17,a|0,b|0,c|0,d|0,e|0)|0}function hfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(18,a|0,b|0,c|0,d|0,e|0)|0}function ifa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(19,a|0,b|0,c|0,d|0,e|0)|0}function jfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(20,a|0,b|0,c|0,d|0,e|0)|0}function kfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(21,a|0,b|0,c|0,d|0,e|0)|0}function lfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(22,a|0,b|0,c|0,d|0,e|0)|0}function mfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(23,a|0,b|0,c|0,d|0,e|0)|0}function nfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(24,a|0,b|0,c|0,d|0,e|0)|0}function ofa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(25,a|0,b|0,c|0,d|0,e|0)|0}function pfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(26,a|0,b|0,c|0,d|0,e|0)|0}function qfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(27,a|0,b|0,c|0,d|0,e|0)|0}function rfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(28,a|0,b|0,c|0,d|0,e|0)|0}function sfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(29,a|0,b|0,c|0,d|0,e|0)|0}function tfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(30,a|0,b|0,c|0,d|0,e|0)|0}function ufa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(31,a|0,b|0,c|0,d|0,e|0)|0}function vfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(32,a|0,b|0,c|0,d|0,e|0)|0}function wfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(33,a|0,b|0,c|0,d|0,e|0)|0}function xfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(34,a|0,b|0,c|0,d|0,e|0)|0}function yfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(35,a|0,b|0,c|0,d|0,e|0)|0}function zfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(36,a|0,b|0,c|0,d|0,e|0)|0}function Afa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(37,a|0,b|0,c|0,d|0,e|0)|0}function Bfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(38,a|0,b|0,c|0,d|0,e|0)|0}function Cfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(39,a|0,b|0,c|0,d|0,e|0)|0}function Dfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(40,a|0,b|0,c|0,d|0,e|0)|0}function Efa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(41,a|0,b|0,c|0,d|0,e|0)|0}function Ffa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(42,a|0,b|0,c|0,d|0,e|0)|0}function Gfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(43,a|0,b|0,c|0,d|0,e|0)|0}function Hfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(44,a|0,b|0,c|0,d|0,e|0)|0}function Ifa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(45,a|0,b|0,c|0,d|0,e|0)|0}function Jfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(46,a|0,b|0,c|0,d|0,e|0)|0}function Kfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(47,a|0,b|0,c|0,d|0,e|0)|0}function Lfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(48,a|0,b|0,c|0,d|0,e|0)|0}function Mfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(49,a|0,b|0,c|0,d|0,e|0)|0}function Nfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(50,a|0,b|0,c|0,d|0,e|0)|0}function Ofa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(51,a|0,b|0,c|0,d|0,e|0)|0}function Pfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(52,a|0,b|0,c|0,d|0,e|0)|0}function Qfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(53,a|0,b|0,c|0,d|0,e|0)|0}function Rfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(54,a|0,b|0,c|0,d|0,e|0)|0}function Sfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(55,a|0,b|0,c|0,d|0,e|0)|0}function Tfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(56,a|0,b|0,c|0,d|0,e|0)|0}function Ufa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(57,a|0,b|0,c|0,d|0,e|0)|0}function Vfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(58,a|0,b|0,c|0,d|0,e|0)|0}function Wfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(59,a|0,b|0,c|0,d|0,e|0)|0}function Xfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(60,a|0,b|0,c|0,d|0,e|0)|0}function Yfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(61,a|0,b|0,c|0,d|0,e|0)|0}function Zfa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(62,a|0,b|0,c|0,d|0,e|0)|0}function _fa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ya(63,a|0,b|0,c|0,d|0,e|0)|0}function $fa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ob[a&255](b|0,c|0,d|0,e|0)}function aga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(0,a|0,b|0,c|0,d|0)}function bga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(1,a|0,b|0,c|0,d|0)}function cga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(2,a|0,b|0,c|0,d|0)}function dga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(3,a|0,b|0,c|0,d|0)}function ega(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(4,a|0,b|0,c|0,d|0)}function fga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(5,a|0,b|0,c|0,d|0)}function gga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(6,a|0,b|0,c|0,d|0)}function hga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(7,a|0,b|0,c|0,d|0)}function iga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(8,a|0,b|0,c|0,d|0)}function jga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(9,a|0,b|0,c|0,d|0)}function kga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(10,a|0,b|0,c|0,d|0)}function lga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(11,a|0,b|0,c|0,d|0)}function mga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(12,a|0,b|0,c|0,d|0)}function nga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(13,a|0,b|0,c|0,d|0)}function oga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(14,a|0,b|0,c|0,d|0)}function pga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(15,a|0,b|0,c|0,d|0)}function qga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(16,a|0,b|0,c|0,d|0)}function rga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(17,a|0,b|0,c|0,d|0)}function sga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(18,a|0,b|0,c|0,d|0)}function tga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(19,a|0,b|0,c|0,d|0)}function uga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(20,a|0,b|0,c|0,d|0)}function vga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(21,a|0,b|0,c|0,d|0)}function wga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(22,a|0,b|0,c|0,d|0)}function xga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(23,a|0,b|0,c|0,d|0)}function yga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(24,a|0,b|0,c|0,d|0)}function zga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(25,a|0,b|0,c|0,d|0)}function Aga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(26,a|0,b|0,c|0,d|0)}function Bga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(27,a|0,b|0,c|0,d|0)}function Cga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(28,a|0,b|0,c|0,d|0)}function Dga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(29,a|0,b|0,c|0,d|0)}function Ega(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(30,a|0,b|0,c|0,d|0)}function Fga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(31,a|0,b|0,c|0,d|0)}function Gga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(32,a|0,b|0,c|0,d|0)}function Hga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(33,a|0,b|0,c|0,d|0)}function Iga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(34,a|0,b|0,c|0,d|0)}function Jga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(35,a|0,b|0,c|0,d|0)}function Kga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(36,a|0,b|0,c|0,d|0)}function Lga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(37,a|0,b|0,c|0,d|0)}function Mga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(38,a|0,b|0,c|0,d|0)}function Nga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(39,a|0,b|0,c|0,d|0)}function Oga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(40,a|0,b|0,c|0,d|0)}function Pga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(41,a|0,b|0,c|0,d|0)}function Qga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(42,a|0,b|0,c|0,d|0)}function Rga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(43,a|0,b|0,c|0,d|0)}function Sga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(44,a|0,b|0,c|0,d|0)}function Tga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(45,a|0,b|0,c|0,d|0)}function Uga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(46,a|0,b|0,c|0,d|0)}function Vga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(47,a|0,b|0,c|0,d|0)}function Wga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(48,a|0,b|0,c|0,d|0)}function Xga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(49,a|0,b|0,c|0,d|0)}function Yga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(50,a|0,b|0,c|0,d|0)}function Zga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(51,a|0,b|0,c|0,d|0)}function _ga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(52,a|0,b|0,c|0,d|0)}function $ga(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(53,a|0,b|0,c|0,d|0)}function aha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(54,a|0,b|0,c|0,d|0)}function bha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(55,a|0,b|0,c|0,d|0)}function cha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(56,a|0,b|0,c|0,d|0)}function dha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(57,a|0,b|0,c|0,d|0)}function eha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(58,a|0,b|0,c|0,d|0)}function fha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(59,a|0,b|0,c|0,d|0)}function gha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(60,a|0,b|0,c|0,d|0)}function hha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(61,a|0,b|0,c|0,d|0)}function iha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(62,a|0,b|0,c|0,d|0)}function jha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Aa(63,a|0,b|0,c|0,d|0)}function kha(a,b,c){a=a|0;b=b|0;c=c|0;W(0);return 0}function lha(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(1)}function mha(){W(2);return 0}function nha(a){a=a|0;W(3)}function oha(a,b){a=a|0;b=b|0;W(4)}function pha(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(5);return 0}function qha(a){a=a|0;W(6);return 0}function rha(a,b,c){a=a|0;b=b|0;c=c|0;W(7)}function sha(){W(8)}function tha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(9);return 0}function uha(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(10)}function vha(a,b){a=a|0;b=b|0;W(11);return 0}function wha(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(12);return 0}function xha(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(13)} +function RE(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;n=v+56|0;o=v+52|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+36|0;t=v+32|0;u=v+28|0;f=v+24|0;g=v+20|0;h=v+16|0;i=v+12|0;j=v+8|0;k=v+4|0;m=v;c[n>>2]=b;c[o>>2]=d;c[p>>2]=c[(c[n>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=0;a[c[o>>2]>>0]=1;c[q>>2]=0;c[t>>2]=c[(c[o>>2]|0)+40>>2];while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+44>>2]|0))break;c[g>>2]=0;c[i>>2]=c[(c[c[t>>2]>>2]|0)+20>>2];if(c[i>>2]|0){c[f>>2]=c[c[i>>2]>>2];c[h>>2]=My(c[n>>2]|0,c[f>>2]|0)|0;fz(c[n>>2]|0,c[i>>2]|0,c[h>>2]|0,0,1)|0}else{c[f>>2]=0;c[h>>2]=0}if((c[(c[t>>2]|0)+12>>2]|0)>=0){c[g>>2]=ky(c[p>>2]|0)|0;$E(c[n>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[g>>2]|0,1,c[h>>2]|0)}if((e[(c[(c[t>>2]|0)+4>>2]|0)+2>>1]|0)&32|0){c[j>>2]=0;c[m>>2]=0;c[k>>2]=c[(c[i>>2]|0)+4>>2];while(1){if(c[j>>2]|0)break;if((c[m>>2]|0)>=(c[f>>2]|0))break;c[j>>2]=rw(c[n>>2]|0,c[c[k>>2]>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+20}if(!(c[j>>2]|0))c[j>>2]=c[(c[c[n>>2]>>2]|0)+8>>2];if((c[r>>2]|0)==0?c[(c[o>>2]|0)+36>>2]|0:0){b=(c[n>>2]|0)+44|0;d=(c[b>>2]|0)+1|0;c[b>>2]=d;c[r>>2]=d}Uu(c[p>>2]|0,88,c[r>>2]|0,0,0,c[j>>2]|0,-4)|0}Uu(c[p>>2]|0,147,0,c[h>>2]|0,c[(c[t>>2]|0)+8>>2]|0,c[(c[t>>2]|0)+4>>2]|0,-5)|0;jy(c[p>>2]|0,c[f>>2]&255);$y(c[n>>2]|0,c[h>>2]|0,c[f>>2]|0);Py(c[n>>2]|0,c[h>>2]|0,c[f>>2]|0);if(c[g>>2]|0){oy(c[p>>2]|0,c[g>>2]|0);EA(c[n>>2]|0)}c[q>>2]=(c[q>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+16}if(c[r>>2]|0)c[s>>2]=ey(c[p>>2]|0,21,c[r>>2]|0)|0;EA(c[n>>2]|0);c[q>>2]=0;c[u>>2]=c[(c[o>>2]|0)+28>>2];while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+36>>2]|0))break;Wy(c[n>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[(c[u>>2]|0)+16>>2]|0);c[q>>2]=(c[q>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+24}a[c[o>>2]>>0]=0;EA(c[n>>2]|0);if(!(c[s>>2]|0)){l=v;return}ny(c[p>>2]|0,c[s>>2]|0);l=v;return}function SE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[j>>2]|0)+8>>2];c[f>>2]=0;c[g>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[h>>2]=c[(c[c[g>>2]>>2]|0)+20>>2];if(c[h>>2]|0)a=c[c[h>>2]>>2]|0;else a=0;Uu(c[e>>2]|0,149,c[(c[g>>2]|0)+8>>2]|0,a,0,c[(c[g>>2]|0)+4>>2]|0,-5)|0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+16}l=i;return}function TE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;n=m+12|0;i=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){l=m;return}Ru(c[f>>2]|0,79,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[i>>2]=c[c[h>>2]>>2];if(c[(c[i>>2]|0)+20>>2]|0?(c[c[(c[i>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=CE(c[d>>2]|0,c[(c[i>>2]|0)+20>>2]|0,0,0)|0;Uu(c[f>>2]|0,107,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}sl(c[d>>2]|0,35194,k);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}l=m;return}function UE(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+32>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+28>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){c[i>>2]=c[(c[(c[g>>2]|0)+28>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[i>>2]|0)+42>>0]|0)&16|0){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}if(c[(c[j>>2]|0)+4>>2]&16|0){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}else{c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}}c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function VE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;i=n+28|0;j=n+24|0;g=n+20|0;h=n+16|0;k=n+12|0;c[i>>2]=b;c[j>>2]=e;c[g>>2]=f;if((d[(c[i>>2]|0)+409>>0]|0|0)!=2){l=n;return}if(c[g>>2]|0)if(!((d[(c[j>>2]|0)+42>>0]|0)&32))b=1;else b=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else b=0;c[h>>2]=b&1;e=c[c[i>>2]>>2]|0;f=c[h>>2]|0?35153:55752;if(c[h>>2]|0)b=c[c[g>>2]>>2]|0;else b=55752;c[m>>2]=c[c[j>>2]>>2];c[m+4>>2]=f;c[m+8>>2]=b;c[k>>2]=Wj(e,35176,m)|0;Uu(c[(c[i>>2]|0)+8>>2]|0,162,c[(c[i>>2]|0)+420>>2]|0,0,0,c[k>>2]|0,-1)|0;l=n;return}function WE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[h>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[i>>2]=c[(c[h>>2]|0)+20>>2],c[i>>2]|0):0)?(c[c[i>>2]>>2]|0)==1:0)?(d[c[c[(c[i>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[j>>2]=c[(c[h>>2]|0)+8>>2];if(!(bh(c[j>>2]|0,21770)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[i>>2];break}if(!(bh(c[j>>2]|0,21774)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[i>>2]}}while(0);l=k;return c[g>>2]&255|0}function XE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+96|0;x=E+84|0;r=E+80|0;D=E+76|0;y=E+72|0;s=E+68|0;B=E+64|0;C=E+60|0;u=E+56|0;A=E+52|0;h=E+48|0;z=E+44|0;i=E+40|0;v=E+36|0;j=E+32|0;t=E+28|0;w=E+24|0;k=E+20|0;m=E+16|0;n=E+12|0;o=E+8|0;p=E+4|0;q=E;c[x>>2]=a;c[r>>2]=b;c[D>>2]=e;c[y>>2]=f;c[s>>2]=g;c[B>>2]=c[(c[x>>2]|0)+8>>2];c[C>>2]=c[(c[D>>2]|0)+24>>2];c[u>>2]=ky(c[B>>2]|0)|0;c[h>>2]=0;c[i>>2]=c[c[D>>2]>>2];c[v>>2]=d[c[s>>2]>>0];c[j>>2]=c[(c[s>>2]|0)+8>>2];if(c[(c[D>>2]|0)+16>>2]|0){Qu(c[B>>2]|0,14,c[(c[D>>2]|0)+12>>2]|0,c[(c[D>>2]|0)+16>>2]|0)|0;my(c[B>>2]|0,c[C>>2]|0)|0;oy(c[B>>2]|0,c[(c[D>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[D>>2]|0)+8>>2];if((c[v>>2]|0)==9|(c[v>>2]|0)==13|(c[v>>2]|0)==10){c[w>>2]=0;c[t>>2]=c[(c[s>>2]|0)+12>>2];c[n>>2]=c[y>>2]}else{c[w>>2]=Ov(c[x>>2]|0)|0;c[t>>2]=My(c[x>>2]|0,c[y>>2]|0)|0;c[n>>2]=c[y>>2]}c[k>>2]=(c[c[i>>2]>>2]|0)-(c[(c[D>>2]|0)+4>>2]|0);if((d[(c[D>>2]|0)+28>>0]|0)&1|0){g=(c[x>>2]|0)+44|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[q>>2]=f;f=(c[x>>2]|0)+40|0;g=c[f>>2]|0;c[f>>2]=g+1;c[m>>2]=g;if(c[(c[D>>2]|0)+16>>2]|0)c[h>>2]=Nu(c[B>>2]|0,20)|0;Ru(c[B>>2]|0,110,c[m>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1+(c[n>>2]|0)|0)|0;if(c[h>>2]|0)ny(c[B>>2]|0,c[h>>2]|0);c[A>>2]=1+(Qu(c[B>>2]|0,55,c[z>>2]|0,c[C>>2]|0)|0);_E(c[B>>2]|0,c[(c[r>>2]|0)+16>>2]|0,c[u>>2]|0);Ru(c[B>>2]|0,120,c[z>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;c[p>>2]=0}else{c[A>>2]=1+(Qu(c[B>>2]|0,56,c[z>>2]|0,c[C>>2]|0)|0);_E(c[B>>2]|0,c[(c[r>>2]|0)+16>>2]|0,c[u>>2]|0);c[m>>2]=c[z>>2];c[p>>2]=1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break;Ru(c[B>>2]|0,96,c[m>>2]|0,(c[k>>2]|0)+(c[p>>2]|0)+(c[o>>2]|0)|0,(c[t>>2]|0)+(c[o>>2]|0)|0)|0;c[o>>2]=(c[o>>2]|0)+1}a:do switch(c[v>>2]|0){case 12:{Qu(c[B>>2]|0,114,c[j>>2]|0,c[w>>2]|0)|0;Ru(c[B>>2]|0,115,c[j>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;jy(c[B>>2]|0,8);break}case 11:{Uu(c[B>>2]|0,99,c[t>>2]|0,c[y>>2]|0,c[w>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[y>>2]|0)|0;$y(c[x>>2]|0,c[t>>2]|0,c[y>>2]|0);Qu(c[B>>2]|0,126,c[j>>2]|0,c[w>>2]|0)|0;break}case 10:break;default:{a=c[B>>2]|0;b=c[s>>2]|0;if((c[v>>2]|0)==9){Qu(a,87,c[b+12>>2]|0,c[y>>2]|0)|0;$y(c[x>>2]|0,c[(c[s>>2]|0)+12>>2]|0,c[y>>2]|0);break a}else{ey(a,16,c[b+8>>2]|0)|0;break a}}}while(0);if(c[w>>2]|0){b=c[x>>2]|0;a=c[t>>2]|0;if((c[v>>2]|0)==11)Py(b,a,c[y>>2]|0);else Qv(b,a);Qv(c[x>>2]|0,c[w>>2]|0)}oy(c[B>>2]|0,c[u>>2]|0);h=c[B>>2]|0;b=c[z>>2]|0;a=c[A>>2]|0;if((d[(c[D>>2]|0)+28>>0]|0)&1|0)Qu(h,3,b,a)|0;else Qu(h,7,b,a)|0;if(!(c[(c[D>>2]|0)+12>>2]|0)){B=c[B>>2]|0;D=c[C>>2]|0;oy(B,D);l=E;return}ey(c[B>>2]|0,72,c[(c[D>>2]|0)+12>>2]|0)|0;B=c[B>>2]|0;D=c[C>>2]|0;oy(B,D);l=E;return}function YE(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+80|0;z=A+8|0;y=A;r=A+72|0;s=A+68|0;t=A+64|0;u=A+60|0;v=A+56|0;w=A+52|0;x=A+48|0;h=A+44|0;i=A+40|0;j=A+36|0;k=A+32|0;m=A+28|0;n=A+24|0;o=A+20|0;p=A+16|0;q=A+12|0;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=c[c[r>>2]>>2];if(a[(c[r>>2]|0)+409>>0]|0){l=A;return}if(d[(c[r>>2]|0)+16>>0]|0){l=A;return}if(d[(c[x>>2]|0)+69>>0]|0){l=A;return}a[(c[r>>2]|0)+16>>0]=1;c[h>>2]=(c[(c[x>>2]|0)+24>>2]&4|0)!=0&1;c[i>>2]=(c[(c[x>>2]|0)+24>>2]&64|0)!=0&1;Rs(c[u>>2]|0,c[c[t>>2]>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[t>>2]>>2]|0))break;c[j>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)>>2];do if(c[j>>2]|0){if(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2]|0){c[k>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2];Ss(c[u>>2]|0,c[v>>2]|0,0,c[k>>2]|0,-1)|0;break}if((d[c[j>>2]>>0]|0)!=152?(d[c[j>>2]>>0]|0)!=154:0){c[q>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+8>>2];e=c[x>>2]|0;if(!(c[q>>2]|0)){c[z>>2]=(c[v>>2]|0)+1;e=Wj(e,35144,z)|0}else e=Xo(e,c[q>>2]|0)|0;c[q>>2]=e;Ss(c[u>>2]|0,c[v>>2]|0,0,c[q>>2]|0,191)|0;break}c[o>>2]=b[(c[j>>2]|0)+32>>1];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[s>>2]>>2]|0))break;if((c[(c[s>>2]|0)+8+((c[w>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1}c[m>>2]=c[(c[s>>2]|0)+8+((c[w>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[m>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[n>>2]=26001;else c[n>>2]=c[(c[(c[m>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(!((c[i>>2]|0)!=0|(c[h>>2]|0)!=0)){f=c[u>>2]|0;g=c[v>>2]|0;Ss(f,g,0,Xo(c[x>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+8>>2]|0)|0,191)|0;break}if(c[h>>2]|0){c[p>>2]=0;g=c[x>>2]|0;f=c[n>>2]|0;c[y>>2]=c[c[m>>2]>>2];c[y+4>>2]=f;c[p>>2]=Wj(g,29580,y)|0;Ss(c[u>>2]|0,c[v>>2]|0,0,c[p>>2]|0,191)|0;break}else{Ss(c[u>>2]|0,c[v>>2]|0,0,c[n>>2]|0,-1)|0;break}}while(0);c[v>>2]=(c[v>>2]|0)+1}ZE(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);l=A;return}function ZE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+64|0;m=k+56|0;n=k+52|0;f=k+48|0;g=k+44|0;h=k+40|0;i=k+8|0;j=k+4|0;e=k;c[m>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[m>>2]|0)+8>>2];c[i+4>>2]=c[n>>2];c[i>>2]=c[m>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[f>>2]>>2]|0))break;c[j>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2];c[e>>2]=pw(i,c[j>>2]|0,0)|0;Ss(c[g>>2]|0,c[h>>2]|0,1,c[e>>2]|0,-1)|0;c[h>>2]=(c[h>>2]|0)+1}l=k;return}function _E(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){l=h;return}Ru(c[e>>2]|0,66,c[f>>2]|0,c[g>>2]|0,1)|0;l=h;return}function $E(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;g=l;l=l+32|0;i=g+24|0;j=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;k=g+4|0;h=g;c[i>>2]=a;c[j>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[k>>2]=c[(c[i>>2]|0)+8>>2];c[h>>2]=Ov(c[i>>2]|0)|0;zy(c[k>>2]|0,31,c[j>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Ru(c[k>>2]|0,99,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;Qu(c[k>>2]|0,126,c[j>>2]|0,c[h>>2]|0)|0;Qv(c[i>>2]|0,c[h>>2]|0);l=g;return}function aF(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+80|0;w=A+64|0;q=A+60|0;x=A+56|0;y=A+52|0;r=A+48|0;u=A+44|0;s=A+40|0;z=A+36|0;h=A+32|0;i=A+28|0;j=A+24|0;k=A+20|0;m=A+16|0;n=A+12|0;o=A+8|0;p=A+4|0;v=A;t=A+68|0;c[q>>2]=f;c[x>>2]=g;c[r>>2]=c[(c[q>>2]|0)+24>>2];c[u>>2]=c[c[r>>2]>>2];c[s>>2]=c[(c[r>>2]|0)+4>>2];c[z>>2]=c[(c[r>>2]|0)+12>>2];switch(d[c[x>>2]>>0]|0){case 152:case 154:{a:do if(c[s>>2]|0){c[h>>2]=(c[s>>2]|0)+8;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[c[s>>2]>>2]|0))break a;if((c[(c[x>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0))break;c[y>>2]=(c[y>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}c[i>>2]=c[(c[z>>2]|0)+28>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[z>>2]|0)+32>>2]|0))break;if((c[(c[i>>2]|0)+4>>2]|0)==(c[(c[x>>2]|0)+28>>2]|0)?(c[(c[i>>2]|0)+8>>2]|0)==(b[(c[x>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+24}if((c[j>>2]|0)>=(c[(c[z>>2]|0)+32>>2]|0)?(y=cF(c[c[u>>2]>>2]|0,c[z>>2]|0)|0,c[j>>2]=y,(y|0)>=0):0){c[i>>2]=(c[(c[z>>2]|0)+28>>2]|0)+((c[j>>2]|0)*24|0);c[c[i>>2]>>2]=c[(c[x>>2]|0)+44>>2];c[(c[i>>2]|0)+4>>2]=c[(c[x>>2]|0)+28>>2];c[(c[i>>2]|0)+8>>2]=b[(c[x>>2]|0)+32>>1];v=(c[u>>2]|0)+44|0;y=(c[v>>2]|0)+1|0;c[v>>2]=y;c[(c[i>>2]|0)+16>>2]=y;c[(c[i>>2]|0)+12>>2]=-1;c[(c[i>>2]|0)+20>>2]=c[x>>2];b:do if(c[(c[z>>2]|0)+24>>2]|0){c[n>>2]=c[(c[z>>2]|0)+24>>2];c[o>>2]=c[(c[n>>2]|0)+4>>2];c[m>>2]=c[c[n>>2]>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break b;c[p>>2]=c[c[o>>2]>>2];if(((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[(c[x>>2]|0)+28>>2]|0):0)?(b[(c[p>>2]|0)+32>>1]|0)==(b[(c[x>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}c[(c[i>>2]|0)+12>>2]=c[k>>2]}while(0);if((c[(c[i>>2]|0)+12>>2]|0)<0){v=(c[z>>2]|0)+12|0;y=c[v>>2]|0;c[v>>2]=y+1;c[(c[i>>2]|0)+12>>2]=y}}c[(c[x>>2]|0)+40>>2]=c[z>>2];a[c[x>>2]>>0]=-102;b[(c[x>>2]|0)+34>>1]=c[j>>2]}while(0);c[w>>2]=1;z=c[w>>2]|0;l=A;return z|0}case 153:{if((e[(c[r>>2]|0)+28>>1]&8|0)==0?(c[(c[q>>2]|0)+16>>2]|0)==(d[(c[x>>2]|0)+38>>0]|0):0){c[v>>2]=c[(c[z>>2]|0)+40>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[(c[z>>2]|0)+44>>2]|0))break;if(!(Yw(c[c[v>>2]>>2]|0,c[x>>2]|0,-1)|0))break;c[y>>2]=(c[y>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+16}if((c[y>>2]|0)>=(c[(c[z>>2]|0)+44>>2]|0)?(a[t>>0]=a[(c[c[u>>2]>>2]|0)+66>>0]|0,c[y>>2]=dF(c[c[u>>2]>>2]|0,c[z>>2]|0)|0,(c[y>>2]|0)>=0):0){c[v>>2]=(c[(c[z>>2]|0)+40>>2]|0)+(c[y>>2]<<4);c[c[v>>2]>>2]=c[x>>2];r=(c[u>>2]|0)+44|0;s=(c[r>>2]|0)+1|0;c[r>>2]=s;c[(c[v>>2]|0)+8>>2]=s;if(c[(c[x>>2]|0)+20>>2]|0)f=c[c[(c[x>>2]|0)+20>>2]>>2]|0;else f=0;t=ox(c[c[u>>2]>>2]|0,c[(c[x>>2]|0)+8>>2]|0,f,a[t>>0]|0,0)|0;c[(c[v>>2]|0)+4>>2]=t;if(c[(c[x>>2]|0)+4>>2]&16|0){f=(c[u>>2]|0)+40|0;g=c[f>>2]|0;c[f>>2]=g+1;f=c[v>>2]|0}else{g=-1;f=c[v>>2]|0}c[f+12>>2]=g}b[(c[x>>2]|0)+34>>1]=c[y>>2];c[(c[x>>2]|0)+40>>2]=c[z>>2];c[w>>2]=1;z=c[w>>2]|0;l=A;return z|0}c[w>>2]=0;z=c[w>>2]|0;l=A;return z|0}default:{c[w>>2]=0;z=c[w>>2]|0;l=A;return z|0}}return 0}function bF(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function cF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=fB(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;l=e;return c[d>>2]|0}function dF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=fB(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;l=e;return c[d>>2]|0}function eF(b,f,g,h,i,j,k){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+112|0;J=L+96|0;K=L+92|0;m=L+88|0;n=L+84|0;o=L+80|0;r=L+76|0;p=L+72|0;s=L+68|0;t=L+64|0;u=L+60|0;q=L+56|0;v=L+52|0;w=L+48|0;x=L+44|0;y=L+40|0;z=L+36|0;A=L+32|0;B=L+28|0;C=L+24|0;D=L+20|0;E=L+16|0;F=L+12|0;G=L+8|0;H=L+4|0;I=L;c[J>>2]=b;c[K>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=i;c[r>>2]=j;c[p>>2]=k;c[s>>2]=c[(c[J>>2]|0)+8>>2];c[t>>2]=(d[(c[K>>2]|0)+28>>0]&1|0)==0&1;c[u>>2]=c[c[c[K>>2]>>2]>>2];c[q>>2]=(c[u>>2]|0)+(c[t>>2]|0)+(c[r>>2]|0);j=(c[J>>2]|0)+44|0;k=(c[j>>2]|0)+1|0;c[j>>2]=k;c[w>>2]=k;c[x>>2]=c[(c[K>>2]|0)+4>>2];if(c[p>>2]|0)c[v>>2]=(c[n>>2]|0)-(c[u>>2]|0)-(c[t>>2]|0);else{c[v>>2]=(c[(c[J>>2]|0)+44>>2]|0)+1;k=(c[J>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0)}b=c[m>>2]|0;if(c[(c[m>>2]|0)+16>>2]|0)b=(c[b+16>>2]|0)+1|0;else b=c[b+12>>2]|0;c[z>>2]=b;m=ky(c[s>>2]|0)|0;c[(c[K>>2]|0)+24>>2]=m;fz(c[J>>2]|0,c[c[K>>2]>>2]|0,c[v>>2]|0,c[o>>2]|0,5)|0;if(c[t>>2]|0)Qu(c[s>>2]|0,113,c[(c[K>>2]|0)+8>>2]|0,(c[v>>2]|0)+(c[u>>2]|0)|0)|0;if(!(c[p>>2]|0))QE(c[J>>2]|0,c[n>>2]|0,(c[v>>2]|0)+(c[u>>2]|0)+(c[t>>2]|0)|0,c[r>>2]|0);Ru(c[s>>2]|0,99,(c[v>>2]|0)+(c[x>>2]|0)|0,(c[q>>2]|0)-(c[x>>2]|0)|0,c[w>>2]|0)|0;if((c[x>>2]|0)>0){c[A>>2]=(c[(c[J>>2]|0)+44>>2]|0)+1;b=(c[J>>2]|0)+44|0;c[b>>2]=(c[b>>2]|0)+(c[(c[K>>2]|0)+4>>2]|0);c[E>>2]=(c[u>>2]|0)-(c[(c[K>>2]|0)+4>>2]|0)+(c[t>>2]|0);b=c[s>>2]|0;if(c[t>>2]|0)c[B>>2]=ey(b,22,(c[v>>2]|0)+(c[u>>2]|0)|0)|0;else c[B>>2]=ey(b,109,c[(c[K>>2]|0)+8>>2]|0)|0;Ru(c[s>>2]|0,95,c[A>>2]|0,c[v>>2]|0,c[(c[K>>2]|0)+4>>2]|0)|0;c[D>>2]=uy(c[s>>2]|0,c[(c[K>>2]|0)+20>>2]|0)|0;if(a[(c[c[J>>2]>>2]|0)+69>>0]|0){l=L;return}c[(c[D>>2]|0)+8>>2]=(c[E>>2]|0)+(c[r>>2]|0);c[F>>2]=c[(c[D>>2]|0)+16>>2];m0(c[(c[F>>2]|0)+16>>2]|0,0,e[(c[F>>2]|0)+6>>1]|0)|0;Vu(c[s>>2]|0,-1,c[F>>2]|0,-6);E=CE(c[J>>2]|0,c[c[K>>2]>>2]|0,c[x>>2]|0,(e[(c[F>>2]|0)+8>>1]|0)-1|0)|0;c[(c[D>>2]|0)+16>>2]=E;c[C>>2]=Pv(c[s>>2]|0)|0;Ru(c[s>>2]|0,18,(c[C>>2]|0)+1|0,0,(c[C>>2]|0)+1|0)|0;E=ky(c[s>>2]|0)|0;c[(c[K>>2]|0)+16>>2]=E;E=(c[J>>2]|0)+44|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[(c[K>>2]|0)+12>>2]=F;Qu(c[s>>2]|0,14,c[(c[K>>2]|0)+12>>2]|0,c[(c[K>>2]|0)+16>>2]|0)|0;ey(c[s>>2]|0,133,c[(c[K>>2]|0)+8>>2]|0)|0;if(c[z>>2]|0)Qu(c[s>>2]|0,22,c[z>>2]|0,c[(c[K>>2]|0)+24>>2]|0)|0;ny(c[s>>2]|0,c[B>>2]|0);QE(c[J>>2]|0,c[v>>2]|0,c[A>>2]|0,c[(c[K>>2]|0)+4>>2]|0);ny(c[s>>2]|0,c[C>>2]|0)}if(d[(c[K>>2]|0)+28>>0]&1|0)c[y>>2]=125;else c[y>>2]=126;Qu(c[s>>2]|0,c[y>>2]|0,c[(c[K>>2]|0)+8>>2]|0,c[w>>2]|0)|0;if(!(c[z>>2]|0)){l=L;return}c[H>>2]=0;c[G>>2]=Ru(c[s>>2]|0,67,c[z>>2]|0,0,1)|0;ey(c[s>>2]|0,53,c[(c[K>>2]|0)+8>>2]|0)|0;if(a[(c[K>>2]|0)+29>>0]|0){F=(c[J>>2]|0)+44|0;J=(c[F>>2]|0)+1|0;c[F>>2]=J;c[H>>2]=J;Ru(c[s>>2]|0,96,c[(c[K>>2]|0)+8>>2]|0,c[u>>2]|0,c[H>>2]|0)|0}ey(c[s>>2]|0,117,c[(c[K>>2]|0)+8>>2]|0)|0;if(a[(c[K>>2]|0)+29>>0]|0){c[I>>2]=(Pv(c[s>>2]|0)|0)+2;Ru(c[s>>2]|0,37,(c[v>>2]|0)+(c[u>>2]|0)|0,c[I>>2]|0,c[H>>2]|0)|0;jy(c[s>>2]|0,-128)}ny(c[s>>2]|0,c[G>>2]|0);l=L;return}function fF(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+20|0;i=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;j=q;c[i>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;l=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[j>>2]=Ww(c[i>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;Ok(c[i>>2]|0,c[n>>2]|0);c[n>>2]=c[j>>2];break}else k=8;while(0);do if((k|0)==8){e=fF(c[i>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=fF(c[i>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;e=c[i>>2]|0;f=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048|0){gF(e,c[f>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{hF(e,c[f>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;l=q;return p|0}function gF(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;if(!(c[m>>2]|0)){l=q;return}while(1){hF(c[k>>2]|0,c[c[m>>2]>>2]|0,c[n>>2]|0,c[o>>2]|0);hF(c[k>>2]|0,c[(c[m>>2]|0)+36>>2]|0,c[n>>2]|0,c[o>>2]|0);hF(c[k>>2]|0,c[(c[m>>2]|0)+44>>2]|0,c[n>>2]|0,c[o>>2]|0);g=fF(c[k>>2]|0,c[(c[m>>2]|0)+40>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[(c[m>>2]|0)+40>>2]=g;g=fF(c[k>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[(c[m>>2]|0)+32>>2]=g;c[h>>2]=c[(c[m>>2]|0)+28>>2];c[j>>2]=c[c[h>>2]>>2];c[i>>2]=(c[h>>2]|0)+8;while(1){if((c[j>>2]|0)<=0)break;gF(c[k>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[n>>2]|0,c[o>>2]|0,1);if((d[(c[i>>2]|0)+36+1>>0]|0)>>>2&1|0)hF(c[k>>2]|0,c[(c[i>>2]|0)+64>>2]|0,c[n>>2]|0,c[o>>2]|0);c[j>>2]=(c[j>>2]|0)+-1;c[i>>2]=(c[i>>2]|0)+72}if(!(c[p>>2]|0)){a=9;break}g=c[(c[m>>2]|0)+48>>2]|0;c[m>>2]=g;if(!g){a=9;break}}if((a|0)==9){l=q;return}}function hF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(!(c[g>>2]|0)){l=k;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break;e=fF(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]=e;c[j>>2]=(c[j>>2]|0)+1}l=k;return}function iF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=1;c[k>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[g>>2]=c[(c[g>>2]|0)+48>>2];c[j>>2]=(c[j>>2]|0)+1}while(1){if(!(c[g>>2]|0)){a=7;break}c[i>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=0;c[k>>2]=At(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+48>>2]=c[i>>2];if(c[k>>2]|0){a=7;break}b[(c[g>>2]|0)+6>>1]=c[j>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((a|0)==7){l=m;return c[k>>2]|0}return 0}function jF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+128|0;F=G;A=G+120|0;B=G+116|0;C=G+112|0;g=G+108|0;n=G+104|0;D=G+100|0;E=G+96|0;o=G+92|0;p=G+88|0;q=G+84|0;r=G+80|0;s=G+76|0;t=G+72|0;i=G+68|0;j=G+64|0;u=G+40|0;f=G+32|0;k=G+28|0;v=G+24|0;w=G+20|0;x=G+16|0;y=G+12|0;z=G+8|0;m=G+4|0;c[A>>2]=a;c[B>>2]=b;c[C>>2]=e;c[g>>2]=c[(c[B>>2]|0)+28>>2];c[n>>2]=c[c[c[B>>2]>>2]>>2];c[D>>2]=c[(c[A>>2]|0)+8>>2];c[E>>2]=c[(c[B>>2]|0)+48>>2];c[r>>2]=0;c[i>>2]=0;c[j>>2]=5;if(Iu(c[A>>2]|0,33,0,0,0)|0){l=G;return}c[q>>2]=ky(c[D>>2]|0)|0;DE(c[A>>2]|0,c[B>>2]|0,c[q>>2]|0);c[w>>2]=c[(c[B>>2]|0)+56>>2];c[x>>2]=c[(c[B>>2]|0)+60>>2];c[y>>2]=c[(c[B>>2]|0)+12>>2];c[z>>2]=c[(c[B>>2]|0)+16>>2];c[(c[B>>2]|0)+60>>2]=0;c[(c[B>>2]|0)+56>>2]=0;c[(c[B>>2]|0)+16>>2]=0;c[(c[B>>2]|0)+12>>2]=0;c[v>>2]=c[(c[B>>2]|0)+44>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;if((d[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+36+1>>0]|0)>>>5&1|0){h=5;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==5)c[r>>2]=c[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+44>>2];h=(c[A>>2]|0)+40|0;a=c[h>>2]|0;c[h>>2]=a+1;c[t>>2]=a;a=(c[v>>2]|0)!=0;if((d[(c[B>>2]|0)+4>>0]|0|0)==115){c[j>>2]=a?8:6;g=(c[A>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[i>>2]=h}else c[j>>2]=a?7:5;Az(u,c[j>>2]|0,c[t>>2]|0);h=(c[A>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[s>>2]=j;Ru(c[D>>2]|0,110,c[r>>2]|0,c[s>>2]|0,c[n>>2]|0)|0;if(c[v>>2]|0){c[m>>2]=nF(c[A>>2]|0,c[B>>2]|0,1)|0;Uu(c[D>>2]|0,107,c[t>>2]|0,(c[c[v>>2]>>2]|0)+2|0,0,c[m>>2]|0,-6)|0;c[u+20>>2]=c[v>>2]}else Qu(c[D>>2]|0,107,c[t>>2]|0,c[n>>2]|0)|0;if(c[i>>2]|0){n=Qu(c[D>>2]|0,107,c[i>>2]|0,0)|0;c[(c[B>>2]|0)+20>>2]=n;n=(c[B>>2]|0)+8|0;c[n>>2]=c[n>>2]|32}c[(c[B>>2]|0)+44>>2]=0;c[(c[E>>2]|0)+52>>2]=0;c[k>>2]=At(c[A>>2]|0,c[E>>2]|0,u)|0;c[(c[E>>2]|0)+52>>2]=c[B>>2];if(!(c[k>>2]|0)){c[o>>2]=Qu(c[D>>2]|0,57,c[t>>2]|0,c[q>>2]|0)|0;ey(c[D>>2]|0,124,c[r>>2]|0)|0;a=c[D>>2]|0;b=c[t>>2]|0;if(c[v>>2]|0)Ru(a,96,b,(c[c[v>>2]>>2]|0)+1|0,c[s>>2]|0)|0;else Qu(a,122,b,c[s>>2]|0)|0;ey(c[D>>2]|0,117,c[t>>2]|0)|0;c[p>>2]=ky(c[D>>2]|0)|0;_E(c[D>>2]|0,c[z>>2]|0,c[p>>2]|0);LE(c[A>>2]|0,c[B>>2]|0,c[c[B>>2]>>2]|0,c[r>>2]|0,0,0,c[C>>2]|0,c[p>>2]|0,c[q>>2]|0);if(c[y>>2]|0)Qu(c[D>>2]|0,68,c[y>>2]|0,c[q>>2]|0)|0;oy(c[D>>2]|0,c[p>>2]|0);if(c[(c[B>>2]|0)+8>>2]&8|0)sl(c[A>>2]|0,35417,F);else{c[(c[B>>2]|0)+48>>2]=0;At(c[A>>2]|0,c[B>>2]|0,u)|0;c[(c[B>>2]|0)+48>>2]=c[E>>2]}my(c[D>>2]|0,c[o>>2]|0)|0;oy(c[D>>2]|0,c[q>>2]|0)}Kk(c[c[A>>2]>>2]|0,c[(c[B>>2]|0)+44>>2]|0);c[(c[B>>2]|0)+44>>2]=c[v>>2];c[(c[B>>2]|0)+56>>2]=c[w>>2];c[(c[B>>2]|0)+60>>2]=c[x>>2];l=G;return}function kF(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=l;l=l+224|0;K=ba+220|0;U=ba+216|0;_=ba+212|0;$=ba+208|0;o=ba+204|0;p=ba+200|0;aa=ba+196|0;q=ba+192|0;r=ba+168|0;s=ba+144|0;t=ba+140|0;u=ba+136|0;v=ba+132|0;w=ba+128|0;x=ba+124|0;y=ba+120|0;z=ba+116|0;A=ba+112|0;B=ba+108|0;C=ba+104|0;D=ba+100|0;E=ba+96|0;F=ba+92|0;G=ba+88|0;H=ba+84|0;I=ba+80|0;J=ba+76|0;L=ba+72|0;M=ba+68|0;N=ba+64|0;O=ba+60|0;P=ba+56|0;Q=ba+52|0;R=ba+48|0;S=ba+44|0;T=ba+40|0;i=ba+36|0;V=ba+32|0;W=ba+28|0;X=ba+24|0;Y=ba+20|0;j=ba+16|0;k=ba+12|0;m=ba+8|0;n=ba+4|0;Z=ba;c[U>>2]=f;c[_>>2]=g;c[$>>2]=h;c[A>>2]=0;c[R>>2]=0;c[T>>2]=c[c[U>>2]>>2];c[q>>2]=c[(c[U>>2]|0)+8>>2];c[O>>2]=ky(c[q>>2]|0)|0;c[N>>2]=ky(c[q>>2]|0)|0;c[Q>>2]=d[(c[_>>2]|0)+4>>0];c[aa>>2]=c[(c[_>>2]|0)+48>>2];c[i>>2]=c[(c[_>>2]|0)+44>>2];c[V>>2]=c[c[i>>2]>>2];a:do if((c[Q>>2]|0)!=116){c[o>>2]=1;while(1){if(d[(c[T>>2]|0)+69>>0]|0)break a;if((c[o>>2]|0)>(c[c[c[_>>2]>>2]>>2]|0))break a;c[p>>2]=0;c[j>>2]=c[(c[i>>2]|0)+4>>2];while(1){if((c[p>>2]|0)>=(c[V>>2]|0))break;if((e[(c[j>>2]|0)+16>>1]|0)==(c[o>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((c[p>>2]|0)==(c[V>>2]|0)){c[k>>2]=Ht(c[T>>2]|0,134,0)|0;if(!(c[k>>2]|0))break;h=(c[k>>2]|0)+4|0;c[h>>2]=c[h>>2]|1024;c[(c[k>>2]|0)+8>>2]=c[o>>2];c[i>>2]=Et(c[U>>2]|0,c[i>>2]|0,c[k>>2]|0)|0;if(c[i>>2]|0){f=c[o>>2]&65535;g=c[(c[i>>2]|0)+4>>2]|0;h=c[V>>2]|0;c[V>>2]=h+1;b[g+(h*20|0)+16>>1]=f}}c[o>>2]=(c[o>>2]|0)+1}c[K>>2]=7;aa=c[K>>2]|0;l=ba;return aa|0}while(0);c[W>>2]=Ed(c[T>>2]|0,(c[V>>2]|0)+1<<2,0)|0;if(c[W>>2]|0){c[c[W>>2]>>2]=c[V>>2];c[o>>2]=1;c[m>>2]=c[(c[i>>2]|0)+4>>2];while(1){if((c[o>>2]|0)>(c[V>>2]|0))break;c[(c[W>>2]|0)+(c[o>>2]<<2)>>2]=(e[(c[m>>2]|0)+16>>1]|0)-1;c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}c[S>>2]=nF(c[U>>2]|0,c[_>>2]|0,1)|0}else c[S>>2]=0;c[(c[_>>2]|0)+44>>2]=c[i>>2];p=cx(c[c[U>>2]>>2]|0,c[i>>2]|0,0)|0;c[(c[aa>>2]|0)+44>>2]=p;b:do if((c[Q>>2]|0)!=116){c[n>>2]=c[c[c[_>>2]>>2]>>2];c[J>>2]=(c[(c[U>>2]|0)+44>>2]|0)+1;p=(c[U>>2]|0)+44|0;c[p>>2]=(c[p>>2]|0)+((c[n>>2]|0)+1);Qu(c[q>>2]|0,76,0,c[J>>2]|0)|0;c[R>>2]=yy(c[T>>2]|0,c[n>>2]|0,1)|0;if(c[R>>2]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break b;p=mF(c[U>>2]|0,c[_>>2]|0,c[o>>2]|0)|0;c[(c[R>>2]|0)+20+(c[o>>2]<<2)>>2]=p;a[(c[(c[R>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]=0;c[o>>2]=(c[o>>2]|0)+1}}}else c[J>>2]=0;while(0);c[(c[_>>2]|0)+48>>2]=0;c[(c[aa>>2]|0)+52>>2]=0;fx(c[U>>2]|0,c[_>>2]|0,c[(c[_>>2]|0)+44>>2]|0,28515)|0;if(!(c[(c[aa>>2]|0)+48>>2]|0))fx(c[U>>2]|0,c[aa>>2]|0,c[(c[aa>>2]|0)+44>>2]|0,28515)|0;DE(c[U>>2]|0,c[_>>2]|0,c[O>>2]|0);if((c[Q>>2]|0)==116?(c[(c[_>>2]|0)+12>>2]|0)!=0:0){f=(c[U>>2]|0)+44|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[H>>2]=p;p=(c[U>>2]|0)+44|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[I>>2]=f;f=c[_>>2]|0;if(c[(c[_>>2]|0)+16>>2]|0)f=(c[f+16>>2]|0)+1|0;else f=c[f+12>>2]|0;Qu(c[q>>2]|0,84,f,c[H>>2]|0)|0;Qu(c[q>>2]|0,84,c[H>>2]|0,c[I>>2]|0)|0}else{c[I>>2]=0;c[H>>2]=0}Ok(c[T>>2]|0,c[(c[_>>2]|0)+56>>2]|0);c[(c[_>>2]|0)+56>>2]=0;Ok(c[T>>2]|0,c[(c[_>>2]|0)+60>>2]|0);c[(c[_>>2]|0)+60>>2]=0;p=(c[U>>2]|0)+44|0;o=(c[p>>2]|0)+1|0;c[p>>2]=o;c[t>>2]=o;o=(c[U>>2]|0)+44|0;p=(c[o>>2]|0)+1|0;c[o>>2]=p;c[u>>2]=p;p=(c[U>>2]|0)+44|0;o=(c[p>>2]|0)+1|0;c[p>>2]=o;c[x>>2]=o;o=(c[U>>2]|0)+44|0;p=(c[o>>2]|0)+1|0;c[o>>2]=p;c[y>>2]=p;Az(r,13,c[t>>2]|0);Az(s,13,c[u>>2]|0);c[v>>2]=(Pv(c[q>>2]|0)|0)+1;c[P>>2]=Ru(c[q>>2]|0,15,c[t>>2]|0,0,c[v>>2]|0)|0;c[(c[aa>>2]|0)+12>>2]=c[H>>2];c[X>>2]=c[(c[U>>2]|0)+424>>2];At(c[U>>2]|0,c[aa>>2]|0,r)|0;lB(c[q>>2]|0,c[t>>2]|0);ny(c[q>>2]|0,c[P>>2]|0);c[w>>2]=(Pv(c[q>>2]|0)|0)+1;c[P>>2]=Ru(c[q>>2]|0,15,c[u>>2]|0,0,c[w>>2]|0)|0;c[L>>2]=c[(c[_>>2]|0)+12>>2];c[M>>2]=c[(c[_>>2]|0)+16>>2];c[(c[_>>2]|0)+12>>2]=c[I>>2];c[(c[_>>2]|0)+16>>2]=0;c[Y>>2]=c[(c[U>>2]|0)+424>>2];At(c[U>>2]|0,c[_>>2]|0,s)|0;c[(c[_>>2]|0)+12>>2]=c[L>>2];c[(c[_>>2]|0)+16>>2]=c[M>>2];lB(c[q>>2]|0,c[u>>2]|0);c[z>>2]=oF(c[U>>2]|0,c[_>>2]|0,r,c[$>>2]|0,c[x>>2]|0,c[J>>2]|0,c[R>>2]|0,c[O>>2]|0)|0;if((c[Q>>2]|0)==116|(c[Q>>2]|0)==115)c[A>>2]=oF(c[U>>2]|0,c[_>>2]|0,s,c[$>>2]|0,c[y>>2]|0,c[J>>2]|0,c[R>>2]|0,c[O>>2]|0)|0;zk(c[R>>2]|0);if((c[Q>>2]|0)==117|(c[Q>>2]|0)==118){R=c[O>>2]|0;c[B>>2]=R;c[C>>2]=R}else{c[B>>2]=Qu(c[q>>2]|0,14,c[y>>2]|0,c[A>>2]|0)|0;c[C>>2]=Qu(c[q>>2]|0,16,c[u>>2]|0,c[O>>2]|0)|0;my(c[q>>2]|0,c[B>>2]|0)|0;R=BC(b[(c[_>>2]|0)+6>>1]|0,b[(c[aa>>2]|0)+6>>1]|0)|0;b[(c[_>>2]|0)+6>>1]=R}if((c[Q>>2]|0)==118){c[D>>2]=c[B>>2];if((b[(c[_>>2]|0)+6>>1]|0)>(b[(c[aa>>2]|0)+6>>1]|0))b[(c[_>>2]|0)+6>>1]=b[(c[aa>>2]|0)+6>>1]|0}else{c[D>>2]=Qu(c[q>>2]|0,14,c[x>>2]|0,c[z>>2]|0)|0;Qu(c[q>>2]|0,16,c[t>>2]|0,c[O>>2]|0)|0;my(c[q>>2]|0,c[D>>2]|0)|0}c[E>>2]=Qu(c[q>>2]|0,14,c[x>>2]|0,c[z>>2]|0)|0;Qu(c[q>>2]|0,16,c[t>>2]|0,c[B>>2]|0)|0;my(c[q>>2]|0,c[N>>2]|0)|0;do if((c[Q>>2]|0)!=116)if((c[Q>>2]|0)==118){c[F>>2]=c[E>>2];c[E>>2]=(c[E>>2]|0)+1;break}else{c[F>>2]=Qu(c[q>>2]|0,16,c[t>>2]|0,c[B>>2]|0)|0;my(c[q>>2]|0,c[N>>2]|0)|0;break}else c[F>>2]=c[E>>2];while(0);c[G>>2]=Pv(c[q>>2]|0)|0;if((c[Q>>2]|0)==116|(c[Q>>2]|0)==115)Qu(c[q>>2]|0,14,c[y>>2]|0,c[A>>2]|0)|0;Qu(c[q>>2]|0,16,c[u>>2]|0,c[D>>2]|0)|0;my(c[q>>2]|0,c[N>>2]|0)|0;ny(c[q>>2]|0,c[P>>2]|0);Qu(c[q>>2]|0,16,c[t>>2]|0,c[C>>2]|0)|0;Qu(c[q>>2]|0,16,c[u>>2]|0,c[D>>2]|0)|0;oy(c[q>>2]|0,c[N>>2]|0);Uu(c[q>>2]|0,94,0,0,0,c[W>>2]|0,-15)|0;Uu(c[q>>2]|0,95,c[r+12>>2]|0,c[s+12>>2]|0,c[V>>2]|0,c[S>>2]|0,-6)|0;jy(c[q>>2]|0,1);Ru(c[q>>2]|0,18,c[E>>2]|0,c[F>>2]|0,c[G>>2]|0)|0;oy(c[q>>2]|0,c[O>>2]|0);if((d[c[$>>2]>>0]|0)==9){c[Z>>2]=c[aa>>2];while(1){if(!(c[(c[Z>>2]|0)+48>>2]|0))break;c[Z>>2]=c[(c[Z>>2]|0)+48>>2]}YE(c[U>>2]|0,c[(c[Z>>2]|0)+28>>2]|0,c[c[Z>>2]>>2]|0)}if(c[(c[_>>2]|0)+48>>2]|0)Jk(c[T>>2]|0,c[(c[_>>2]|0)+48>>2]|0);c[(c[_>>2]|0)+48>>2]=c[aa>>2];c[(c[aa>>2]|0)+52>>2]=c[_>>2];lF(c[U>>2]|0,d[(c[_>>2]|0)+4>>0]|0,c[X>>2]|0,c[Y>>2]|0,0);c[K>>2]=(c[(c[U>>2]|0)+36>>2]|0)!=0&1;aa=c[K>>2]|0;l=ba;return aa|0}function lF(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q;j=q+40|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;h=q+20|0;i=q+16|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if((d[(c[j>>2]|0)+409>>0]|0|0)!=2){l=q;return}c[h>>2]=c[(c[j>>2]|0)+8>>2];g=c[c[j>>2]>>2]|0;f=c[m>>2]|0;m=c[n>>2]|0;n=c[o>>2]|0?35361:55752;o=ex(c[k>>2]|0)|0;c[p>>2]=f;c[p+4>>2]=m;c[p+8>>2]=n;c[p+12>>2]=o;c[i>>2]=Wj(g,35380,p)|0;Uu(c[h>>2]|0,162,c[(c[j>>2]|0)+420>>2]|0,0,0,c[i>>2]|0,-1)|0;l=q;return}function mF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+48>>2]|0)c[h>>2]=mF(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;l=i;return h|0}c[h>>2]=rw(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}function nF(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;k=r+40|0;m=r+36|0;s=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[k>>2]=b;c[m>>2]=d;c[s>>2]=f;c[n>>2]=c[(c[m>>2]|0)+44>>2];c[o>>2]=c[c[(c[m>>2]|0)+44>>2]>>2];c[p>>2]=c[c[k>>2]>>2];c[q>>2]=yy(c[p>>2]|0,(c[o>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[q>>2]|0)){s=c[q>>2]|0;l=r;return s|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[o>>2]|0))break;c[h>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);c[i>>2]=c[c[h>>2]>>2];b=c[k>>2]|0;if(c[(c[i>>2]|0)+4>>2]&256|0)c[j>>2]=rw(b,c[i>>2]|0)|0;else{c[j>>2]=mF(b,c[m>>2]|0,(e[(c[h>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[j>>2]|0))c[j>>2]=c[(c[p>>2]|0)+8>>2];s=ix(c[k>>2]|0,c[i>>2]|0,c[c[j>>2]>>2]|0)|0;c[(c[(c[n>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]=s}c[(c[q>>2]|0)+20+(c[g>>2]<<2)>>2]=c[j>>2];a[(c[(c[q>>2]|0)+16>>2]|0)+(c[g>>2]|0)>>0]=a[(c[(c[n>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+12>>0]|0;c[g>>2]=(c[g>>2]|0)+1}s=c[q>>2]|0;l=r;return s|0}function oF(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;B=D+64|0;C=D+60|0;m=D+56|0;n=D+52|0;o=D+48|0;p=D+44|0;q=D+40|0;r=D+36|0;s=D+32|0;t=D+28|0;u=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;y=D+8|0;z=D+4|0;A=D;c[C>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;c[t>>2]=c[(c[C>>2]|0)+8>>2];c[v>>2]=Pv(c[t>>2]|0)|0;c[u>>2]=ky(c[t>>2]|0)|0;if(c[q>>2]|0){c[w>>2]=ey(c[t>>2]|0,22,c[q>>2]|0)|0;h=c[t>>2]|0;i=c[(c[n>>2]|0)+12>>2]|0;j=(c[q>>2]|0)+1|0;k=c[(c[n>>2]|0)+16>>2]|0;c[x>>2]=Uu(h,95,i,j,k,Dy(c[r>>2]|0)|0,-6)|0;Ru(c[t>>2]|0,18,(c[x>>2]|0)+2|0,c[u>>2]|0,(c[x>>2]|0)+2|0)|0;ny(c[t>>2]|0,c[w>>2]|0);Ru(c[t>>2]|0,84,c[(c[n>>2]|0)+12>>2]|0,(c[q>>2]|0)+1|0,(c[(c[n>>2]|0)+16>>2]|0)-1|0)|0;Qu(c[t>>2]|0,76,1,c[q>>2]|0)|0}if(a[(c[c[C>>2]>>2]|0)+69>>0]|0){c[B>>2]=0;C=c[B>>2]|0;l=D;return C|0}_E(c[t>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[u>>2]|0);switch(d[c[o>>2]>>0]|0){case 12:{c[y>>2]=Ov(c[C>>2]|0)|0;c[z>>2]=Ov(c[C>>2]|0)|0;Ru(c[t>>2]|0,99,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[y>>2]|0)|0;Qu(c[t>>2]|0,114,c[(c[o>>2]|0)+8>>2]|0,c[z>>2]|0)|0;Ru(c[t>>2]|0,115,c[(c[o>>2]|0)+8>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;jy(c[t>>2]|0,8);Qv(c[C>>2]|0,c[z>>2]|0);Qv(c[C>>2]|0,c[y>>2]|0);break}case 11:{c[A>>2]=Ov(c[C>>2]|0)|0;Uu(c[t>>2]|0,99,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[A>>2]|0,c[(c[o>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;$y(c[C>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0);Qu(c[t>>2]|0,126,c[(c[o>>2]|0)+8>>2]|0,c[A>>2]|0)|0;Qv(c[C>>2]|0,c[A>>2]|0);break}case 10:{QE(c[C>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+8>>2]|0,1);break}case 13:{if(!(c[(c[o>>2]|0)+12>>2]|0)){k=My(c[C>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=k;c[(c[o>>2]|0)+16>>2]=c[(c[n>>2]|0)+16>>2]}QE(c[C>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0);ey(c[t>>2]|0,16,c[(c[o>>2]|0)+8>>2]|0)|0;break}default:{Qu(c[t>>2]|0,87,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;$y(c[C>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)}}if(c[(c[m>>2]|0)+12>>2]|0)Qu(c[t>>2]|0,68,c[(c[m>>2]|0)+12>>2]|0,c[s>>2]|0)|0;oy(c[t>>2]|0,c[u>>2]|0);ey(c[t>>2]|0,72,c[p>>2]|0)|0;c[B>>2]=c[v>>2];C=c[B>>2]|0;l=D;return C|0}function pF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(!(c[(c[j>>2]|0)+24>>2]&524288)){l=o;return}if((d[(c[i>>2]|0)+42>>0]|0)&16|0){l=o;return}if(c[(c[i>>2]|0)+12>>2]|0){l=o;return}c[k>>2]=0;c[m>>2]=Lu(c[g>>2]|0)|0;do if(!(iw(c[i>>2]|0)|0)){c[n>>2]=c[(c[i>>2]|0)+16>>2];while(1){if(!(c[n>>2]|0))break;if(d[(c[n>>2]|0)+24>>0]|0|0)break;if(c[(c[j>>2]|0)+24>>2]&33554432|0)break;c[n>>2]=c[(c[n>>2]|0)+4>>2]}if(c[n>>2]|0){c[k>>2]=ky(c[m>>2]|0)|0;Qu(c[m>>2]|0,65,1,c[k>>2]|0)|0;break}else{l=o;return}}while(0);a[(c[g>>2]|0)+150>>0]=1;n=c[g>>2]|0;Pt(n,Wx(c[j>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+150>>0]=0;if(!(c[(c[j>>2]|0)+24>>2]&33554432)){n=c[m>>2]|0;Qu(n,65,0,(Pv(c[m>>2]|0)|0)+2|0)|0;Hy(c[g>>2]|0,787,2,0,-2,4)}if(!(c[k>>2]|0)){l=o;return}oy(c[m>>2]|0,c[k>>2]|0);l=o;return}function qF(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r+8|0;p=r;i=r+48|0;j=r+44|0;k=r+40|0;m=r+36|0;n=r+32|0;o=r+28|0;g=r+24|0;h=r+20|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;c[o>>2]=c[c[i>>2]>>2];c[h>>2]=(c[(c[o>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[n>>2]=Lu(c[i>>2]|0)|0;cv(c[i>>2]|0,1,c[k>>2]|0);if((d[(c[j>>2]|0)+42>>0]|0)&16|0)Nu(c[n>>2]|0,152)|0;c[g>>2]=Sv(c[i>>2]|0,c[j>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;_z(c[i>>2]|0,c[g>>2]|0);c[g>>2]=c[(c[g>>2]|0)+32>>2]}if((d[(c[j>>2]|0)+42>>0]|0)&8|0){f=c[i>>2]|0;e=c[c[j>>2]>>2]|0;c[p>>2]=c[c[h>>2]>>2];c[p+4>>2]=e;Ku(f,35606,p)}p=c[i>>2]|0;e=(c[k>>2]|0)==1?26433:26452;f=c[c[j>>2]>>2]|0;c[q>>2]=c[c[h>>2]>>2];c[q+4>>2]=e;c[q+8>>2]=f;Ku(p,35651,q);if((c[m>>2]|0)==0?((d[(c[j>>2]|0)+42>>0]|0)&16|0)==0:0)rF(c[i>>2]|0,c[j>>2]|0);if(!((d[(c[j>>2]|0)+42>>0]|0)&16)){n=c[n>>2]|0;p=c[k>>2]|0;q=c[j>>2]|0;q=c[q>>2]|0;Uu(n,138,p,0,0,q,0)|0;q=c[i>>2]|0;p=c[k>>2]|0;Mu(q,p);p=c[o>>2]|0;q=c[k>>2]|0;sF(p,q);l=r;return}Uu(c[n>>2]|0,154,c[k>>2]|0,0,0,c[c[j>>2]>>2]|0,0)|0;n=c[n>>2]|0;p=c[k>>2]|0;q=c[j>>2]|0;q=c[q>>2]|0;Uu(n,138,p,0,0,q,0)|0;q=c[i>>2]|0;p=c[k>>2]|0;Mu(q,p);p=c[o>>2]|0;q=c[k>>2]|0;sF(p,q);l=r;return}function rF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[i>>2]=0;if(!((c[g>>2]|0)!=0?(c[f>>2]|0)>=(c[g>>2]|0):0))c[i>>2]=c[f>>2];c[h>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[j>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[j>>2]|0)>(c[i>>2]|0)):0)c[i>>2]=c[j>>2];c[h>>2]=c[(c[h>>2]|0)+20>>2]}if(!(c[i>>2]|0))break;c[k>>2]=Hu(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;eB(c[d>>2]|0,c[i>>2]|0,c[k>>2]|0);c[g>>2]=c[i>>2]}l=n;return}function sF(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){l=j;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[i>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[i>>2]|0)+12>>2]|0){Ik(c[f>>2]|0,c[i>>2]|0);c[(c[i>>2]|0)+4>>2]=0;b[(c[i>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}i=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[i>>1]=(e[i>>1]|0)&-3;l=j;return}function tF(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function uF(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+144|0;j=p+128|0;k=p+124|0;m=p+120|0;n=p+116|0;o=p+112|0;h=p;i=p+80|0;c[j>>2]=a;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;a=h;d=a+80|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[h>>2]=1;c[h+8+8>>2]=c[c[k>>2]>>2];c[h+8+16>>2]=c[k>>2];c[h+8+44>>2]=-1;c[i>>2]=c[j>>2];c[i+4>>2]=h;b[i+28>>1]=c[m>>2];n=(Ow(i,c[n>>2]|0)|0)==0;if(!(n&(c[o>>2]|0)!=0)){l=p;return}Pw(i,c[o>>2]|0)|0;l=p;return}function vF(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=55;l=f;return}if((d[b>>0]|0|0)!=53){l=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){l=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=55;l=f;return}function wF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){a=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){a=4;break}}if((a|0)==4){c[i>>2]=1;i=c[i>>2]|0;l=j;return i|0}else if((a|0)==5){c[i>>2]=0;i=c[i>>2]|0;l=j;return i|0}return 0}function xF(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;j=k+16|0;c[f>>2]=a;c[g>>2]=0;c[i>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[j>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[j>>1]|0)<0)a=1;else a=d[(c[i>>2]|0)+(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]<<4)+14>>0]|0;c[g>>2]=(c[g>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}j=xv(c[g>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=j;l=k;return}function yF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;e=Cz(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;l=f;return e|0}function zF(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;k=v+52|0;n=v+48|0;o=v+44|0;p=v+40|0;q=v+36|0;r=v+32|0;s=v+28|0;t=v+24|0;h=v+20|0;i=v+16|0;j=v+8|0;m=v;c[k>>2]=f;c[n>>2]=g;c[t>>2]=c[c[k>>2]>>2];c[h>>2]=c[(c[k>>2]|0)+8>>2];a:do if(!(a[(c[t>>2]|0)+148+7>>0]|0)){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[n>>2]|0)+34>>1]|0))break a;if(d[(c[(c[n>>2]|0)+4>>2]|0)+(c[r>>2]<<4)+15>>0]&1|0)a[(c[(c[n>>2]|0)+4>>2]|0)+(c[r>>2]<<4)+12>>0]=2;c[r>>2]=(c[r>>2]|0)+1}}while(0);if(a[(c[k>>2]|0)+410>>0]|0){l=v;return}if(c[(c[k>>2]|0)+132>>2]|0)EE(c[h>>2]|0,c[(c[k>>2]|0)+132>>2]|0,-122);f=c[n>>2]|0;do if((b[(c[n>>2]|0)+32>>1]|0)>=0){jx(j,c[(c[f+4>>2]|0)+(b[(c[n>>2]|0)+32>>1]<<4)>>2]|0);h=c[k>>2]|0;c[i>>2]=Et(h,0,Wt(c[t>>2]|0,55,j,0)|0)|0;if(!(c[i>>2]|0)){l=v;return}a[(c[(c[i>>2]|0)+4>>2]|0)+12>>0]=a[(c[k>>2]|0)+408>>0]|0;tt(c[k>>2]|0,0,0,0,c[i>>2]|0,d[(c[n>>2]|0)+43>>0]|0,0,0,0,0,2);if(a[(c[t>>2]|0)+69>>0]|0){l=v;return}else{c[p>>2]=uv(c[n>>2]|0)|0;b[(c[n>>2]|0)+32>>1]=-1;break}}else{c[p>>2]=uv(f)|0;if(c[h>>2]|0)EE(c[h>>2]|0,c[(c[p>>2]|0)+44>>2]|0,13);c[s>>2]=1;c[r>>2]=1;while(1){if((c[r>>2]|0)>=(e[(c[p>>2]|0)+50>>1]|0))break;k=(wF(c[(c[p>>2]|0)+4>>2]|0,c[s>>2]|0,b[(c[(c[p>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)|0)!=0;f=c[p>>2]|0;if(k){k=f+52|0;b[k>>1]=(b[k>>1]|0)+-1<<16>>16}else{i=b[(c[f+4>>2]|0)+(c[r>>2]<<1)>>1]|0;j=c[(c[p>>2]|0)+4>>2]|0;k=c[s>>2]|0;c[s>>2]=k+1;b[j+(k<<1)>>1]=i}c[r>>2]=(c[r>>2]|0)+1}b[(c[p>>2]|0)+50>>1]=c[s>>2]}while(0);k=(c[p>>2]|0)+55|0;a[k>>0]=a[k>>0]&-33|32;if(!(a[(c[t>>2]|0)+148+7>>0]|0)){k=(c[p>>2]|0)+55|0;a[k>>0]=a[k>>0]&-9|8}c[q>>2]=e[(c[p>>2]|0)+50>>1];c[(c[p>>2]|0)+44>>2]=c[(c[n>>2]|0)+28>>2];c[o>>2]=c[(c[n>>2]|0)+8>>2];b:while(1){if(!(c[o>>2]|0))break;c:do if((a[(c[o>>2]|0)+55>>0]&3|0)!=2){c[m>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break;if(!(wF(c[(c[o>>2]|0)+4>>2]|0,e[(c[o>>2]|0)+50>>1]|0,b[(c[(c[p>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)|0))c[m>>2]=(c[m>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if(!(c[m>>2]|0)){b[(c[o>>2]|0)+52>>1]=b[(c[o>>2]|0)+50>>1]|0;break}if(FF(c[t>>2]|0,c[o>>2]|0,(e[(c[o>>2]|0)+50>>1]|0)+(c[m>>2]|0)|0)|0){u=50;break b}c[r>>2]=0;c[s>>2]=e[(c[o>>2]|0)+50>>1];while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break c;if(!(wF(c[(c[o>>2]|0)+4>>2]|0,e[(c[o>>2]|0)+50>>1]|0,b[(c[(c[p>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)|0)){b[(c[(c[o>>2]|0)+4>>2]|0)+(c[s>>2]<<1)>>1]=b[(c[(c[p>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;c[(c[(c[o>>2]|0)+32>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[(c[p>>2]|0)+32>>2]|0)+(c[r>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}}while(0);c[o>>2]=c[(c[o>>2]|0)+20>>2]}if((u|0)==50){l=v;return}if((c[q>>2]|0)>=(b[(c[n>>2]|0)+34>>1]|0)){b[(c[p>>2]|0)+52>>1]=b[(c[n>>2]|0)+34>>1]|0;l=v;return}if(FF(c[t>>2]|0,c[p>>2]|0,b[(c[n>>2]|0)+34>>1]|0)|0){l=v;return}c[r>>2]=0;c[s>>2]=c[q>>2];while(1){if((c[r>>2]|0)>=(b[(c[n>>2]|0)+34>>1]|0))break;if(!(wF(c[(c[p>>2]|0)+4>>2]|0,c[s>>2]|0,c[r>>2]|0)|0)){b[(c[(c[p>>2]|0)+4>>2]|0)+(c[s>>2]<<1)>>1]=c[r>>2];c[(c[(c[p>>2]|0)+32>>2]|0)+(c[s>>2]<<2)>>2]=34455;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}l=v;return}function AF(a){a=a|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=0;c[h>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[h>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[g>>2]|0)+14>>0]|0);c[h>>2]=(c[h>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+16}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[f>>2]|0;g=g<<2;g=xv(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;l=i;return}c[f>>2]=(c[f>>2]|0)+1;g=c[f>>2]|0;g=g<<2;g=xv(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;l=i;return}function BF(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;v=w+16|0;u=w+8|0;g=w;n=w+68|0;f=w+64|0;o=w+60|0;p=w+56|0;q=w+52|0;r=w+48|0;s=w+44|0;t=w+40|0;h=w+36|0;i=w+32|0;j=w+28|0;k=w+24|0;m=w+20|0;c[f>>2]=d;c[o>>2]=e;c[r>>2]=0;c[j>>2]=c[(c[o>>2]|0)+4>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;e=(CF(c[c[j>>2]>>2]|0)|0)+5|0;c[r>>2]=(c[r>>2]|0)+e;c[p>>2]=(c[p>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}e=CF(c[c[o>>2]>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+e;if((c[r>>2]|0)<50){c[t>>2]=55752;c[h>>2]=22226;c[i>>2]=34322}else{c[t>>2]=36806;c[h>>2]=36810;c[i>>2]=36815}c[r>>2]=(c[r>>2]|0)+(35+((b[(c[o>>2]|0)+34>>1]|0)*6|0));e=c[r>>2]|0;c[s>>2]=Cd(0,e,((e|0)<0)<<31>>31)|0;if(!(c[s>>2]|0)){Od(c[f>>2]|0);c[n>>2]=0;v=c[n>>2]|0;l=w;return v|0}ef(c[r>>2]|0,c[s>>2]|0,36818,g)|0;c[q>>2]=md(c[s>>2]|0)|0;DF(c[s>>2]|0,q,c[c[o>>2]>>2]|0);f=c[s>>2]|0;g=c[q>>2]|0;c[q>>2]=g+1;a[f+g>>0]=40;c[j>>2]=c[(c[o>>2]|0)+4>>2];c[p>>2]=0;while(1){d=(c[r>>2]|0)-(c[q>>2]|0)|0;e=(c[s>>2]|0)+(c[q>>2]|0)|0;if((c[p>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;ef(d,e,c[t>>2]|0,u)|0;g=md((c[s>>2]|0)+(c[q>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+g;c[t>>2]=c[h>>2];DF(c[s>>2]|0,q,c[c[j>>2]>>2]|0);c[m>>2]=c[5560+((a[(c[j>>2]|0)+13>>0]|0)-65<<2)>>2];c[k>>2]=md(c[m>>2]|0)|0;h0((c[s>>2]|0)+(c[q>>2]|0)|0,c[m>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[k>>2]|0);c[p>>2]=(c[p>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}c[v>>2]=c[i>>2];ef(d,e,21240,v)|0;c[n>>2]=c[s>>2];v=c[n>>2]|0;l=w;return v|0}function CF(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}l=f;return (c[e>>2]|0)+2|0}function DF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;g=n+24|0;h=n+20|0;o=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[i>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[20063+(d[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if((!(d[20063+(d[c[i>>2]>>0]|0)>>0]&4|0)?(EF(c[i>>2]|0,c[k>>2]|0)|0)==55:0)?!(d[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0):0)b=(c[k>>2]|0)==0;else b=1;c[m>>2]=b&1;if(c[m>>2]|0){f=c[g>>2]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[f+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0))break;e=a[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0;f=c[g>>2]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[f+o>>0]=e;if((d[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0)==34){f=c[g>>2]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[f+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[m>>2]|0)){o=c[g>>2]|0;m=c[j>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;l=n;return}m=c[g>>2]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[m+o>>0]=34;o=c[g>>2]|0;m=c[j>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;l=n;return}function EF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=55;Yj(c[g>>2]|0,c[f>>2]|0,d)|0;l=e;return c[d>>2]|0}function FF(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[i>>2]=d;c[j>>2]=f;c[k>>2]=g;if((e[(c[j>>2]|0)+52>>1]|0|0)>=(c[k>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}c[n>>2]=(c[k>>2]|0)*7;n=c[n>>2]|0;c[m>>2]=_l(c[i>>2]|0,n,((n|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;l=o;return n|0}else{h0(c[m>>2]|0,c[(c[j>>2]|0)+32>>2]|0,(e[(c[j>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[j>>2]|0)+32>>2]=c[m>>2];c[m>>2]=(c[m>>2]|0)+(c[k>>2]<<2);h0(c[m>>2]|0,c[(c[j>>2]|0)+4>>2]|0,(e[(c[j>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[j>>2]|0)+4>>2]=c[m>>2];c[m>>2]=(c[m>>2]|0)+(c[k>>2]<<1);h0(c[m>>2]|0,c[(c[j>>2]|0)+28>>2]|0,e[(c[j>>2]|0)+52>>1]|0|0)|0;c[(c[j>>2]|0)+28>>2]=c[m>>2];b[(c[j>>2]|0)+52>>1]=c[k>>2];n=(c[j>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}return 0}function GF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Lu(c[d>>2]|0)|0;gy(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?26433:26452);zy(c[g>>2]|0,105,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+40>>2]|0){l=e;return}c[(c[d>>2]|0)+40>>2]=1;l=e;return}function HF(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;b=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[b>>2]=a;c[f>>2]=Lu(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+112>>2]|0))break;c[g>>2]=(c[(c[b>>2]|0)+116>>2]|0)+(c[e>>2]<<4);c[h>>2]=c[c[g>>2]>>2];Uu(c[f>>2]|0,151,c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|0,c[(c[g>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}l=i;return}function IF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[i>>2]=c[(c[d>>2]|0)+8>>2];c[e>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[e>>2]|0)){b=5;break}c[g>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[e>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[e>>2]|0)+12>>2];hy(c[d>>2]|0,0,c[(c[e>>2]|0)+8>>2]|0,c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0,104);Pu(c[i>>2]|0,(c[h>>2]|0)-1|0,c[c[(c[e>>2]|0)+4>>2]>>2]|0)|0;c[j>>2]=mA(c[i>>2]|0,10,36994,0)|0;if(!(c[j>>2]|0)){b=5;break}c[(c[j>>2]|0)+8>>2]=c[h>>2];c[(c[j>>2]|0)+12>>2]=(c[h>>2]|0)+1;c[(c[j>>2]|0)+40+12>>2]=c[h>>2];c[(c[j>>2]|0)+60+4>>2]=(c[h>>2]|0)-1;c[(c[j>>2]|0)+60+12>>2]=c[h>>2];a[(c[j>>2]|0)+60+3>>0]=16;c[(c[j>>2]|0)+80+8>>2]=(c[h>>2]|0)+1;c[(c[j>>2]|0)+100+12>>2]=c[h>>2];c[(c[j>>2]|0)+160+8>>2]=c[h>>2];c[e>>2]=c[c[e>>2]>>2]}if((b|0)==5){l=k;return}}function JF(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+40|0;j=q+36|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;g=q+12|0;h=q;c[i>>2]=e;c[j>>2]=f;c[k>>2]=c[c[i>>2]>>2];c[m>>2]=b[(c[j>>2]|0)+400>>1];c[n>>2]=c[(c[j>>2]|0)+44>>2];c[o>>2]=c[(c[j>>2]|0)+40>>2];c[p>>2]=c[(c[j>>2]|0)+108>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);if((c[o>>2]|0)==0&(c[n>>2]|0)>0)c[n>>2]=(c[n>>2]|0)+1;c[g>>2]=((c[(c[i>>2]|0)+136>>2]|0)*20|0)+7&-8;c[h>>2]=(c[(c[i>>2]|0)+88>>2]|0)+(c[g>>2]|0);c[h+4>>2]=(c[(c[j>>2]|0)+52>>2]|0)-(c[g>>2]|0)&-8;OD(c[i>>2]|0,p);if(d[(c[j>>2]|0)+20>>0]|0)e=(d[(c[j>>2]|0)+21>>0]|0)!=0;else e=0;g=(c[i>>2]|0)+144|0;b[g>>1]=b[g>>1]&-65|(e&1)<<6&65535;if((c[n>>2]|0)<10?(d[(c[j>>2]|0)+409>>0]|0)!=0:0)c[n>>2]=10;g=(c[i>>2]|0)+144|0;b[g>>1]=b[g>>1]&-2;do{c[h+8>>2]=0;g=KF(h,c[(c[i>>2]|0)+92>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[i>>2]|0)+92>>2]=g;g=KF(h,c[(c[i>>2]|0)+116>>2]|0,(c[m>>2]|0)*40|0)|0;c[(c[i>>2]|0)+116>>2]=g;g=KF(h,c[(c[i>>2]|0)+96>>2]|0,c[p>>2]<<2)|0;c[(c[i>>2]|0)+96>>2]=g;g=KF(h,c[(c[i>>2]|0)+112>>2]|0,c[o>>2]<<2)|0;c[(c[i>>2]|0)+112>>2]=g;if(!(c[h+8>>2]|0))break;g=c[h+8>>2]|0;g=Ed(c[k>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[i>>2]|0)+180>>2]=g;c[h>>2]=g;c[h+4>>2]=c[h+8>>2]}while((a[(c[k>>2]|0)+69>>0]|0)!=0^1);b[(c[i>>2]|0)+18>>1]=c[(c[j>>2]|0)+404>>2];c[(c[i>>2]|0)+120>>2]=c[(c[j>>2]|0)+428>>2];c[(c[j>>2]|0)+404>>2]=0;c[(c[j>>2]|0)+428>>2]=0;p=(c[i>>2]|0)+144|0;b[p>>1]=b[p>>1]&-13|(d[(c[j>>2]|0)+409>>0]&3)<<2&65535;if(a[(c[k>>2]|0)+69>>0]|0){b[(c[i>>2]|0)+16>>1]=0;c[(c[i>>2]|0)+28>>2]=0;c[(c[i>>2]|0)+24>>2]=0;p=c[i>>2]|0;zs(p);l=q;return}else{c[(c[i>>2]|0)+28>>2]=c[o>>2];b[(c[i>>2]|0)+16>>1]=c[m>>2];Us(c[(c[i>>2]|0)+116>>2]|0,c[m>>2]|0,c[k>>2]|0,1);c[(c[i>>2]|0)+24>>2]=c[n>>2];Us(c[(c[i>>2]|0)+92>>2]|0,c[n>>2]|0,c[k>>2]|0,128);m0(c[(c[i>>2]|0)+112>>2]|0,0,c[o>>2]<<2|0)|0;p=c[i>>2]|0;zs(p);l=q;return}}function KF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;a=c[g>>2]|0;b=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=b+4|0;c[g>>2]=(c[g>>2]|0)-a;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;l=h;return g|0}else{g=b+8|0;c[g>>2]=(c[g>>2]|0)+a;g=c[f>>2]|0;l=h;return g|0}return 0}function LF(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+80|0;x=y+8|0;i=y;r=y+68|0;v=y+64|0;g=y+60|0;n=y+56|0;o=y+52|0;p=y+48|0;h=y+44|0;q=y+40|0;w=y+36|0;s=y+32|0;t=y+28|0;u=y+24|0;j=y+20|0;k=y+16|0;m=y+12|0;c[v>>2]=f;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[h>>2]=c[c[v>>2]>>2];c[w>>2]=0;c[s>>2]=(c[(c[v>>2]|0)+92>>2]|0)+40;vk(c[s>>2]|0,8);c[(c[v>>2]|0)+104>>2]=0;if((c[(c[v>>2]|0)+40>>2]|0)==7){Od(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;l=y;return x|0}c[g>>2]=c[(c[v>>2]|0)+136>>2];a:do if(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3|0)==1){c[p>>2]=(c[(c[v>>2]|0)+92>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16|0){c[n>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[o>>2]=c[(c[p>>2]|0)+16>>2]}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[n>>2]|0))break a;c[g>>2]=(c[g>>2]|0)+(c[(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}while(0);do{z=(c[v>>2]|0)+36|0;f=c[z>>2]|0;c[z>>2]=f+1;c[q>>2]=f;if((c[q>>2]|0)>=(c[g>>2]|0))break;if(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3|0)!=2)break}while((d[(c[(c[v>>2]|0)+88>>2]|0)+((c[q>>2]|0)*20|0)>>0]|0)!=162);do if((c[q>>2]|0)>=(c[g>>2]|0)){c[(c[v>>2]|0)+40>>2]=0;c[w>>2]=101}else{if(c[(c[h>>2]|0)+248>>2]|0){c[(c[v>>2]|0)+40>>2]=9;c[w>>2]=1;z=c[v>>2]|0;is(z,Xi(c[(c[v>>2]|0)+40>>2]|0)|0,i);break}f=c[v>>2]|0;if((c[q>>2]|0)<(c[(c[v>>2]|0)+136>>2]|0))c[u>>2]=(c[f+88>>2]|0)+((c[q>>2]|0)*20|0);else{c[q>>2]=(c[q>>2]|0)-(c[f+136>>2]|0);c[j>>2]=0;while(1){f=c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]|0;if((c[q>>2]|0)<(c[(c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0))break;c[q>>2]=(c[q>>2]|0)-(c[f+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}c[u>>2]=(c[f>>2]|0)+((c[q>>2]|0)*20|0)}if(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3|0)==1?(b[(c[s>>2]|0)+8>>1]=4,q=c[q>>2]|0,z=c[s>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[s>>2]=(c[s>>2]|0)+40,b[(c[s>>2]|0)+8>>1]=2562,z=cJ(d[c[u>>2]>>0]|0)|0,c[(c[s>>2]|0)+16>>2]=z,z=md(c[(c[s>>2]|0)+16>>2]|0)|0,c[(c[s>>2]|0)+12>>2]=z,a[(c[s>>2]|0)+10>>0]=1,c[s>>2]=(c[s>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[k>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;if((c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)==(c[n>>2]|0)?0==(ii(c[p>>2]|0,c[k>>2]|0,(c[n>>2]|0)!=0&1)|0):0){c[o>>2]=c[(c[p>>2]|0)+16>>2];m=c[(c[u>>2]|0)+16>>2]|0;q=c[o>>2]|0;z=c[n>>2]|0;c[n>>2]=z+1;c[q+(z<<2)>>2]=m;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[n>>2]<<2}}b[(c[s>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[s>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[s>>2]=(c[s>>2]|0)+40;b[(c[s>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[s>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[s>>2]=(c[s>>2]|0)+40;b[(c[s>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[s>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[s>>2]=(c[s>>2]|0)+40;if(di(c[s>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;l=y;return z|0}b[(c[s>>2]|0)+8>>1]=514;c[t>>2]=dJ(c[u>>2]|0,c[(c[s>>2]|0)+16>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;f=c[s>>2]|0;if((c[t>>2]|0)!=(c[(c[s>>2]|0)+16>>2]|0)){c[f+12>>2]=0;ci(c[s>>2]|0,c[t>>2]|0,-1,1,0)|0}else{z=md(c[f+16>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=z;a[(c[s>>2]|0)+10>>0]=1}c[s>>2]=(c[s>>2]|0)+40;do if(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3|0)==1){if(!(di(c[s>>2]|0,4)|0)){b[(c[s>>2]|0)+8>>1]=514;c[(c[s>>2]|0)+12>>2]=2;z=c[(c[s>>2]|0)+16>>2]|0;c[x>>2]=d[(c[u>>2]|0)+3>>0];ef(3,z,40683,x)|0;a[(c[s>>2]|0)+10>>0]=1;c[s>>2]=(c[s>>2]|0)+40;b[(c[s>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;l=y;return z|0}while(0);b[(c[v>>2]|0)+140>>1]=8-(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3)-1<<2);c[(c[v>>2]|0)+104>>2]=(c[(c[v>>2]|0)+92>>2]|0)+40;c[(c[v>>2]|0)+40>>2]=0;c[w>>2]=100}while(0);c[r>>2]=c[w>>2];z=c[r>>2]|0;l=y;return z|0} // EMSCRIPTEN_END_FUNCS -var Ob=[N5,N5,fS,N5,gS,N5,hS,N5,iS,N5,jS,N5,kS,N5,lS,N5,mS,N5,nS,N5,oS,N5,pS,N5,qS,N5,rS,N5,sS,N5,tS,N5,uS,N5,vS,N5,wS,N5,xS,N5,yS,N5,zS,N5,AS,N5,BS,N5,CS,N5,DS,N5,ES,N5,FS,N5,GS,N5,HS,N5,IS,N5,JS,N5,KS,N5,LS,N5,MS,N5,NS,N5,OS,N5,PS,N5,QS,N5,RS,N5,SS,N5,TS,N5,US,N5,VS,N5,WS,N5,XS,N5,YS,N5,ZS,N5,_S,N5,$S,N5,aT,N5,bT,N5,cT,N5,dT,N5,eT,N5,fT,N5,gT,N5,hT,N5,iT,N5,jT,N5,kT,N5,lT,N5,mT,N5,nT,N5,oT,N5,wN,zN,CN,EN,Zk,zk,eq,uq,Jq,Mq,Pr,yu,Bu,LN,RN,dO,DQ,wR,BR,pR,xR,bR,$Q,Rn,Mm,Pm,Nn,Ln,Vn,ao,ZF,_F,$F,aR,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5];var Pb=[O5,O5,qT,O5,rT,O5,sT,O5,tT,O5,uT,O5,vT,O5,wT,O5,xT,O5,yT,O5,zT,O5,AT,O5,BT,O5,CT,O5,DT,O5,ET,O5,FT,O5,GT,O5,HT,O5,IT,O5,JT,O5,KT,O5,LT,O5,MT,O5,NT,O5,OT,O5,PT,O5,QT,O5,RT,O5,ST,O5,TT,O5,UT,O5,VT,O5,WT,O5,XT,O5,YT,O5,ZT,O5,_T,O5,$T,O5,aU,O5,bU,O5,cU,O5,dU,O5,eU,O5,fU,O5,gU,O5,hU,O5,iU,O5,jU,O5,kU,O5,lU,O5,mU,O5,nU,O5,oU,O5,pU,O5,qU,O5,rU,O5,sU,O5,tU,O5,uU,O5,vU,O5,wU,O5,xU,O5,yU,O5,zU,O5,tR,fO,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5];var Qb=[P5,P5,BU,P5,CU,P5,DU,P5,EU,P5,FU,P5,GU,P5,HU,P5,IU,P5,JU,P5,KU,P5,LU,P5,MU,P5,NU,P5,OU,P5,PU,P5,QU,P5,RU,P5,SU,P5,TU,P5,UU,P5,VU,P5,WU,P5,XU,P5,YU,P5,ZU,P5,_U,P5,$U,P5,aV,P5,bV,P5,cV,P5,dV,P5,eV,P5,fV,P5,gV,P5,hV,P5,iV,P5,jV,P5,kV,P5,lV,P5,mV,P5,nV,P5,oV,P5,pV,P5,qV,P5,rV,P5,sV,P5,tV,P5,uV,P5,vV,P5,wV,P5,xV,P5,yV,P5,zV,P5,AV,P5,BV,P5,CV,P5,DV,P5,EV,P5,FV,P5,GV,P5,HV,P5,IV,P5,JV,P5,KV,P5,Wc,Xc,Zc,_c,$c,ad,xu,Fu,Gu,Uu,Zu,VN,iP,HP,IP,JP,LP,NP,Kd,$q,yj,nk,Qn,gA,CR,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5];var Rb=[Q5,Q5,MV,Q5,NV,Q5,OV,Q5,PV,Q5,QV,Q5,RV,Q5,SV,Q5,TV,Q5,UV,Q5,VV,Q5,WV,Q5,XV,Q5,YV,Q5,ZV,Q5,_V,Q5,$V,Q5,aW,Q5,bW,Q5,cW,Q5,dW,Q5,eW,Q5,fW,Q5,gW,Q5,hW,Q5,iW,Q5,jW,Q5,kW,Q5,lW,Q5,mW,Q5,nW,Q5,oW,Q5,pW,Q5,qW,Q5,rW,Q5,sW,Q5,tW,Q5,uW,Q5,vW,Q5,wW,Q5,xW,Q5,yW,Q5,zW,Q5,AW,Q5,BW,Q5,CW,Q5,DW,Q5,EW,Q5,FW,Q5,GW,Q5,HW,Q5,IW,Q5,JW,Q5,KW,Q5,LW,Q5,MW,Q5,NW,Q5,OW,Q5,PW,Q5,QW,Q5,RW,Q5,SW,Q5,TW,Q5,UW,Q5,VW,Q5,zu,Eu,lz,qy,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5];var Sb=[R5,R5,XW,R5,YW,R5,ZW,R5,_W,R5,$W,R5,aX,R5,bX,R5,cX,R5,dX,R5,eX,R5,fX,R5,gX,R5,hX,R5,iX,R5,jX,R5,kX,R5,lX,R5,mX,R5,nX,R5,oX,R5,pX,R5,qX,R5,rX,R5,sX,R5,tX,R5,uX,R5,vX,R5,wX,R5,xX,R5,yX,R5,zX,R5,AX,R5,BX,R5,CX,R5,DX,R5,EX,R5,FX,R5,GX,R5,HX,R5,IX,R5,JX,R5,KX,R5,LX,R5,MX,R5,NX,R5,OX,R5,PX,R5,QX,R5,RX,R5,SX,R5,TX,R5,UX,R5,VX,R5,WX,R5,XX,R5,YX,R5,ZX,R5,_X,R5,$X,R5,aY,R5,bY,R5,cY,R5,dY,R5,eY,R5,Pk,Qk,rk,iq,yq,Bq,Qq,RQ,uL,vL,wL,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5];var Tb=[S5,S5,gY,S5,hY,S5,iY,S5,jY,S5,kY,S5,lY,S5,mY,S5,nY,S5,oY,S5,pY,S5,qY,S5,rY,S5,sY,S5,tY,S5,uY,S5,vY,S5,wY,S5,xY,S5,yY,S5,zY,S5,AY,S5,BY,S5,CY,S5,DY,S5,EY,S5,FY,S5,GY,S5,HY,S5,IY,S5,JY,S5,KY,S5,LY,S5,MY,S5,NY,S5,OY,S5,PY,S5,QY,S5,RY,S5,SY,S5,TY,S5,UY,S5,VY,S5,WY,S5,XY,S5,YY,S5,ZY,S5,_Y,S5,$Y,S5,aZ,S5,bZ,S5,cZ,S5,dZ,S5,eZ,S5,fZ,S5,gZ,S5,hZ,S5,iZ,S5,jZ,S5,kZ,S5,lZ,S5,mZ,S5,nZ,S5,oZ,S5,pZ,S5,Sk,Tk,Vk,Xk,Yk,al,bl,cl,dl,tk,vk,xk,yk,fq,hq,vq,xq,Dq,Fq,Hq,Iq,Nq,Pq,Mr,wu,Au,Tu,Wu,Xu,Yu,IN,SN,TN,oR,AR,yR,wO,HO,_Q,$d,ag,dr,mq,nq,rq,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5];var Ub=[T5,T5,rZ,T5,sZ,T5,tZ,T5,uZ,T5,vZ,T5,wZ,T5,xZ,T5,yZ,T5,zZ,T5,AZ,T5,BZ,T5,CZ,T5,DZ,T5,EZ,T5,FZ,T5,GZ,T5,HZ,T5,IZ,T5,JZ,T5,KZ,T5,LZ,T5,MZ,T5,NZ,T5,OZ,T5,PZ,T5,QZ,T5,RZ,T5,SZ,T5,TZ,T5,UZ,T5,VZ,T5,WZ,T5,XZ,T5,YZ,T5,ZZ,T5,_Z,T5,$Z,T5,a_,T5,b_,T5,c_,T5,d_,T5,e_,T5,f_,T5,g_,T5,h_,T5,i_,T5,j_,T5,k_,T5,l_,T5,m_,T5,n_,T5,o_,T5,p_,T5,q_,T5,r_,T5,s_,T5,t_,T5,u_,T5,v_,T5,w_,T5,x_,T5,y_,T5,z_,T5,A_,T5,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Yc,rm,sm,tm,um,Cu,fA,bA,aA,KB,TB,cP,dP,eP,fP,gP,hP,jP,kP,lP,mP,nP,oP,pP,qP,rP,sP,tP,uP,vP,wP,xP,yP,zP,AP,BP,CP,DP,EP,FP,GP,KP,MP,HC,RP,SP,TP,UP,VP,WP,XP,YP,nQ,oQ,pQ,li,_p,Zt,$t,au,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5];var Vb=[U5,U5,C_,U5,D_,U5,E_,U5,F_,U5,G_,U5,H_,U5,I_,U5,J_,U5,K_,U5,L_,U5,M_,U5,N_,U5,O_,U5,P_,U5,Q_,U5,R_,U5,S_,U5,T_,U5,U_,U5,V_,U5,W_,U5,X_,U5,Y_,U5,Z_,U5,__,U5,$_,U5,a$,U5,b$,U5,c$,U5,d$,U5,e$,U5,f$,U5,g$,U5,h$,U5,i$,U5,j$,U5,k$,U5,l$,U5,m$,U5,n$,U5,o$,U5,p$,U5,q$,U5,r$,U5,s$,U5,t$,U5,u$,U5,v$,U5,w$,U5,x$,U5,y$,U5,z$,U5,A$,U5,B$,U5,C$,U5,D$,U5,E$,U5,F$,U5,G$,U5,H$,U5,I$,U5,J$,U5,K$,U5,L$,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5];var Wb=[V5,V5,N$,V5,O$,V5,P$,V5,Q$,V5,R$,V5,S$,V5,T$,V5,U$,V5,V$,V5,W$,V5,X$,V5,Y$,V5,Z$,V5,_$,V5,$$,V5,a0,V5,b0,V5,c0,V5,d0,V5,e0,V5,f0,V5,g0,V5,h0,V5,i0,V5,j0,V5,k0,V5,l0,V5,m0,V5,n0,V5,o0,V5,p0,V5,q0,V5,r0,V5,s0,V5,t0,V5,u0,V5,v0,V5,w0,V5,x0,V5,y0,V5,z0,V5,A0,V5,B0,V5,C0,V5,D0,V5,E0,V5,F0,V5,G0,V5,H0,V5,I0,V5,J0,V5,K0,V5,L0,V5,M0,V5,N0,V5,O0,V5,P0,V5,Q0,V5,R0,V5,S0,V5,T0,V5,U0,V5,V0,V5,W0,V5,xN,yN,$k,gq,wq,Oq,UN,YN,Qh,mi,Bj,Hj,Kk,Lk,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5];var Xb=[W5,W5,Y0,W5,Z0,W5,_0,W5,$0,W5,a1,W5,b1,W5,c1,W5,d1,W5,e1,W5,f1,W5,g1,W5,h1,W5,i1,W5,j1,W5,k1,W5,l1,W5,m1,W5,n1,W5,o1,W5,p1,W5,q1,W5,r1,W5,s1,W5,t1,W5,u1,W5,v1,W5,w1,W5,x1,W5,y1,W5,z1,W5,A1,W5,B1,W5,C1,W5,D1,W5,E1,W5,F1,W5,G1,W5,H1,W5,I1,W5,J1,W5,K1,W5,L1,W5,M1,W5,N1,W5,O1,W5,P1,W5,Q1,W5,R1,W5,S1,W5,T1,W5,U1,W5,V1,W5,W1,W5,X1,W5,Y1,W5,Z1,W5,_1,W5,$1,W5,a2,W5,b2,W5,c2,W5,d2,W5,e2,W5,f2,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5];var Yb=[X5,X5,h2,X5,i2,X5,j2,X5,k2,X5,l2,X5,m2,X5,n2,X5,o2,X5,p2,X5,q2,X5,r2,X5,s2,X5,t2,X5,u2,X5,v2,X5,w2,X5,x2,X5,y2,X5,z2,X5,A2,X5,B2,X5,C2,X5,D2,X5,E2,X5,F2,X5,G2,X5,H2,X5,I2,X5,J2,X5,K2,X5,L2,X5,M2,X5,N2,X5,O2,X5,P2,X5,Q2,X5,R2,X5,S2,X5,T2,X5,U2,X5,V2,X5,W2,X5,X2,X5,Y2,X5,Z2,X5,_2,X5,$2,X5,a3,X5,b3,X5,c3,X5,d3,X5,e3,X5,f3,X5,g3,X5,h3,X5,i3,X5,j3,X5,k3,X5,l3,X5,m3,X5,n3,X5,o3,X5,p3,X5,q3,X5,AN,BN,DN,FN,GN,Rk,Uk,_k,fl,gl,hl,il,sk,uk,Ak,Cq,Eq,Kq,Qr,Rr,Vu,TO,vO,HN,MN,NN,ON,PN,QN,WN,nR,sR,XQ,UQ,rR,TQ,eO,WQ,SQ,VQ,xO,yO,zO,IO,JO,KO,kd,ld,ii,$f,Mk,Nk,Ol,Pl,Sl,qm,ut,ys,Yt,_t,ry,jz,kz,yy,zy,Yy,dz,yB,zB,LE,wG,BF,CF,hH,iH,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5];var Zb=[Y5,Y5,s3,Y5,t3,Y5,u3,Y5,v3,Y5,w3,Y5,x3,Y5,y3,Y5,z3,Y5,A3,Y5,B3,Y5,C3,Y5,D3,Y5,E3,Y5,F3,Y5,G3,Y5,H3,Y5,I3,Y5,J3,Y5,K3,Y5,L3,Y5,M3,Y5,N3,Y5,O3,Y5,P3,Y5,Q3,Y5,R3,Y5,S3,Y5,T3,Y5,U3,Y5,V3,Y5,W3,Y5,X3,Y5,Y3,Y5,Z3,Y5,_3,Y5,$3,Y5,a4,Y5,b4,Y5,c4,Y5,d4,Y5,e4,Y5,f4,Y5,g4,Y5,h4,Y5,i4,Y5,j4,Y5,k4,Y5,l4,Y5,m4,Y5,n4,Y5,o4,Y5,p4,Y5,q4,Y5,r4,Y5,s4,Y5,t4,Y5,u4,Y5,v4,Y5,w4,Y5,x4,Y5,y4,Y5,z4,Y5,A4,Y5,B4,Y5,vN,Wk,el,wk,Gq,Nr,Or,JN,KN,XN,LO,_j,$j,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5];var _b=[Z5,Z5,D4,Z5,E4,Z5,F4,Z5,G4,Z5,H4,Z5,I4,Z5,J4,Z5,K4,Z5,L4,Z5,M4,Z5,N4,Z5,O4,Z5,P4,Z5,Q4,Z5,R4,Z5,S4,Z5,T4,Z5,U4,Z5,V4,Z5,W4,Z5,X4,Z5,Y4,Z5,Z4,Z5,_4,Z5,$4,Z5,a5,Z5,b5,Z5,c5,Z5,d5,Z5,e5,Z5,f5,Z5,g5,Z5,h5,Z5,i5,Z5,j5,Z5,k5,Z5,l5,Z5,m5,Z5,n5,Z5,o5,Z5,p5,Z5,q5,Z5,r5,Z5,s5,Z5,t5,Z5,u5,Z5,v5,Z5,w5,Z5,x5,Z5,y5,Z5,z5,Z5,A5,Z5,B5,Z5,C5,Z5,D5,Z5,E5,Z5,F5,Z5,G5,Z5,H5,Z5,I5,Z5,J5,Z5,K5,Z5,L5,Z5,M5,Z5,Du,vd,xd,iB,jB,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5];return{_sqlite3_value_blob:_d,_sqlite3_column_name:He,_sqlite3_reset:Yd,_sqlite3_column_type:Ge,_sqlite3_exec:$e,_sqlite3_result_null:le,_sqlite3_step:te,_bitshift64Lshr:SR,_sqlite3_prepare_v2:af,_sqlite3_close_v2:tf,_sqlite3_open:Ff,_bitshift64Shl:WR,_sqlite3_result_text:me,_fflush:cR,_sqlite3_column_bytes:Ae,_sqlite3_bind_int:Ke,_sqlite3_bind_blob:Ie,_memset:VR,_sqlite3_value_double:be,_memcpy:TR,_sqlite3_result_double:he,_sqlite3_value_text:$d,_sqlite3_changes:qf,_sqlite3_column_blob:ze,_sqlite3_bind_parameter_index:Re,_sqlite3_value_type:ee,_i64Subtract:QR,_sqlite3_column_text:Ee,_i64Add:RR,_sqlite3_value_bytes:ae,_sqlite3_finalize:Xd,_sqlite3_column_double:Be,_sqlite3_create_function_v2:xf,_sqlite3_free:Kd,_sqlite3_value_int:ce,_sqlite3_data_count:ye,_sqlite3_bind_text:Ne,_sqlite3_bind_double:Je,___errno_location:BQ,_RegisterExtensionFunctions:ic,_free:KR,_memmove:UR,_sqlite3_errmsg:bf,_sqlite3_clear_bindings:Zd,_malloc:JR,runPostSets:PR,stackAlloc:$b,stackSave:ac,stackRestore:bc,establishStackSpace:cc,setThrew:dc,setTempRet0:gc,getTempRet0:hc,dynCall_iiii:eS,dynCall_i:pT,dynCall_vi:AU,dynCall_vii:LV,dynCall_iiiiiii:WW,dynCall_ii:fY,dynCall_viii:qZ,dynCall_v:B_,dynCall_iiiii:M$,dynCall_viiiiii:X0,dynCall_iii:g2,dynCall_iiiiii:r3,dynCall_viiii:C4}}) +var Bb=[kha,kha,t0,kha,u0,kha,v0,kha,w0,kha,x0,kha,y0,kha,z0,kha,A0,kha,B0,kha,C0,kha,D0,kha,E0,kha,F0,kha,G0,kha,H0,kha,I0,kha,J0,kha,K0,kha,L0,kha,M0,kha,N0,kha,O0,kha,P0,kha,Q0,kha,R0,kha,S0,kha,T0,kha,U0,kha,V0,kha,W0,kha,X0,kha,Y0,kha,Z0,kha,_0,kha,$0,kha,a1,kha,b1,kha,c1,kha,d1,kha,e1,kha,f1,kha,g1,kha,h1,kha,i1,kha,j1,kha,k1,kha,l1,kha,m1,kha,n1,kha,o1,kha,p1,kha,q1,kha,r1,kha,s1,kha,t1,kha,u1,kha,v1,kha,w1,kha,x1,kha,y1,kha,z1,kha,A1,kha,B1,kha,C1,kha,ue,xe,Ae,Ce,Je,Pe,bf,W_,s$,r$,L$,D$,zg,Cg,Jm,aL,CK,fQ,vQ,KQ,NQ,QW,tR,cY,kY,mY,w_,q_,bE,cE,dE,TN,PM,SM,PN,NN,XN,cO,FU,p_,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha,kha];var Cb=[lha,lha,E1,lha,F1,lha,G1,lha,H1,lha,I1,lha,J1,lha,K1,lha,L1,lha,M1,lha,N1,lha,O1,lha,P1,lha,Q1,lha,R1,lha,S1,lha,T1,lha,U1,lha,V1,lha,W1,lha,X1,lha,Y1,lha,Z1,lha,_1,lha,$1,lha,a2,lha,b2,lha,c2,lha,d2,lha,e2,lha,f2,lha,g2,lha,h2,lha,i2,lha,j2,lha,k2,lha,l2,lha,m2,lha,n2,lha,o2,lha,p2,lha,q2,lha,r2,lha,s2,lha,t2,lha,u2,lha,v2,lha,w2,lha,x2,lha,y2,lha,z2,lha,A2,lha,B2,lha,C2,lha,D2,lha,E2,lha,F2,lha,G2,lha,H2,lha,I2,lha,J2,lha,K2,lha,L2,lha,M2,lha,N2,lha,BU,CU,DU,JS,LS,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha,lha];var Db=[mha,mha,P2,mha,Q2,mha,R2,mha,S2,mha,T2,mha,U2,mha,V2,mha,W2,mha,X2,mha,Y2,mha,Z2,mha,_2,mha,$2,mha,a3,mha,b3,mha,c3,mha,d3,mha,e3,mha,f3,mha,g3,mha,h3,mha,i3,mha,j3,mha,k3,mha,l3,mha,m3,mha,n3,mha,o3,mha,p3,mha,q3,mha,r3,mha,s3,mha,t3,mha,u3,mha,v3,mha,w3,mha,x3,mha,y3,mha,z3,mha,A3,mha,B3,mha,C3,mha,D3,mha,E3,mha,F3,mha,G3,mha,H3,mha,I3,mha,J3,mha,K3,mha,L3,mha,M3,mha,N3,mha,O3,mha,P3,mha,Q3,mha,R3,mha,S3,mha,T3,mha,U3,mha,V3,mha,W3,mha,X3,mha,Y3,mha,K$,df,$j,ak,gk,hk,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha,mha];var Eb=[nha,nha,_3,nha,$3,nha,a4,nha,b4,nha,c4,nha,d4,nha,e4,nha,f4,nha,g4,nha,h4,nha,i4,nha,j4,nha,k4,nha,l4,nha,m4,nha,n4,nha,o4,nha,p4,nha,q4,nha,r4,nha,s4,nha,t4,nha,u4,nha,v4,nha,w4,nha,x4,nha,y4,nha,z4,nha,A4,nha,B4,nha,C4,nha,D4,nha,E4,nha,F4,nha,G4,nha,H4,nha,I4,nha,J4,nha,K4,nha,L4,nha,M4,nha,N4,nha,O4,nha,P4,nha,Q4,nha,R4,nha,S4,nha,T4,nha,U4,nha,V4,nha,W4,nha,X4,nha,Y4,nha,Z4,nha,_4,nha,$4,nha,a5,nha,b5,nha,c5,nha,d5,nha,e5,nha,f5,nha,g5,nha,h5,nha,Ic,Jc,Lc,Mc,Nc,Oc,Te,yg,Gg,Hg,rg,wg,ih,Hh,Ih,Jh,Lh,Nh,ck,dk,fk,jk,kk,mk,XT,_T,bU,_d,Ol,wy,Nq,qK,SN,bR,fV,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha,nha];var Fb=[oha,oha,j5,oha,k5,oha,l5,oha,m5,oha,n5,oha,o5,oha,p5,oha,q5,oha,r5,oha,s5,oha,t5,oha,u5,oha,v5,oha,w5,oha,x5,oha,y5,oha,z5,oha,A5,oha,B5,oha,C5,oha,D5,oha,E5,oha,F5,oha,G5,oha,H5,oha,I5,oha,J5,oha,K5,oha,L5,oha,M5,oha,N5,oha,O5,oha,P5,oha,Q5,oha,R5,oha,S5,oha,T5,oha,U5,oha,V5,oha,W5,oha,X5,oha,Y5,oha,Z5,oha,_5,oha,$5,oha,a6,oha,b6,oha,c6,oha,d6,oha,e6,oha,f6,oha,g6,oha,h6,oha,i6,oha,j6,oha,k6,oha,l6,oha,m6,oha,n6,oha,o6,oha,p6,oha,q6,oha,r6,oha,s6,oha,Ag,Fg,Bx,Ew,rS,sS,tS,uS,vS,wS,bT,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha,oha];var Gb=[pha,pha,u6,pha,v6,pha,w6,pha,x6,pha,y6,pha,z6,pha,A6,pha,B6,pha,C6,pha,D6,pha,E6,pha,F6,pha,G6,pha,H6,pha,I6,pha,J6,pha,K6,pha,L6,pha,M6,pha,N6,pha,O6,pha,P6,pha,Q6,pha,R6,pha,S6,pha,T6,pha,U6,pha,V6,pha,W6,pha,X6,pha,Y6,pha,Z6,pha,_6,pha,$6,pha,a7,pha,b7,pha,c7,pha,d7,pha,e7,pha,f7,pha,g7,pha,h7,pha,i7,pha,j7,pha,k7,pha,l7,pha,m7,pha,n7,pha,o7,pha,p7,pha,q7,pha,r7,pha,s7,pha,t7,pha,u7,pha,v7,pha,w7,pha,x7,pha,y7,pha,z7,pha,A7,pha,B7,pha,C7,pha,D7,pha,E$,SK,TK,uK,jQ,zQ,CQ,RQ,GW,HW,jR,kR,YT,$T,cU,SH,TH,UH,dU,KU,HU,DV,MY,BY,jZ,DZ,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha,pha];var Hb=[qha,qha,F7,qha,G7,qha,H7,qha,I7,qha,J7,qha,K7,qha,L7,qha,M7,qha,N7,qha,O7,qha,P7,qha,Q7,qha,R7,qha,S7,qha,T7,qha,U7,qha,V7,qha,W7,qha,X7,qha,Y7,qha,Z7,qha,_7,qha,$7,qha,a8,qha,b8,qha,c8,qha,d8,qha,e8,qha,f8,qha,g8,qha,h8,qha,i8,qha,j8,qha,k8,qha,l8,qha,m8,qha,n8,qha,o8,qha,p8,qha,q8,qha,r8,qha,s8,qha,t8,qha,u8,qha,v8,qha,w8,qha,x8,qha,y8,qha,z8,qha,A8,qha,B8,qha,C8,qha,D8,qha,E8,qha,F8,qha,G8,qha,H8,qha,I8,qha,J8,qha,K8,qha,L8,qha,M8,qha,N8,qha,O8,qha,Ge,Qe,Re,U_,F$,O$,Ff,Rf,xg,Bg,qg,tg,ug,vg,bk,ek,ik,lk,Gm,VK,WK,YK,_K,$K,dL,eL,fL,gL,wK,yK,AK,BK,gQ,iQ,wQ,yQ,EQ,GQ,IQ,JQ,OQ,QQ,JW,KW,MW,OW,PW,TW,UW,VW,WW,mR,nR,pR,rR,sR,$X,aY,eY,iY,o_,Kd,Sl,Rh,GH,dI,mI,nQ,oQ,sQ,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha,qha];var Ib=[rha,rha,Q8,rha,R8,rha,S8,rha,T8,rha,U8,rha,V8,rha,W8,rha,X8,rha,Y8,rha,Z8,rha,_8,rha,$8,rha,a9,rha,b9,rha,c9,rha,d9,rha,e9,rha,f9,rha,g9,rha,h9,rha,i9,rha,j9,rha,k9,rha,l9,rha,m9,rha,n9,rha,o9,rha,p9,rha,q9,rha,r9,rha,s9,rha,t9,rha,u9,rha,v9,rha,w9,rha,x9,rha,y9,rha,z9,rha,A9,rha,B9,rha,C9,rha,D9,rha,E9,rha,F9,rha,G9,rha,H9,rha,I9,rha,J9,rha,K9,rha,L9,rha,M9,rha,N9,rha,O9,rha,P9,rha,Q9,rha,R9,rha,S9,rha,T9,rha,U9,rha,V9,rha,W9,rha,X9,rha,Y9,rha,Z9,rha,Xb,Yb,Zb,_b,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Kc,Dg,ch,dh,eh,fh,gh,hh,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Kh,Mh,Oh,rj,sj,tj,uj,vj,wj,xj,yj,Qj,Rj,Sj,vy,ry,qy,Qz,Rz,uM,vM,wM,xM,NU,OU,PU,QU,rY,wp,tp,vp,_J,$P,hR,iR,wW,xW,IS,KS,TS,US,VS,ZX,rha,rha,rha,rha,rha,rha,rha,rha,rha,rha,rha,rha];var Jb=[sha,sha,$9,sha,aaa,sha,baa,sha,caa,sha,daa,sha,eaa,sha,faa,sha,gaa,sha,haa,sha,iaa,sha,jaa,sha,kaa,sha,laa,sha,maa,sha,naa,sha,oaa,sha,paa,sha,qaa,sha,raa,sha,saa,sha,taa,sha,uaa,sha,vaa,sha,waa,sha,xaa,sha,yaa,sha,zaa,sha,Aaa,sha,Baa,sha,Caa,sha,Daa,sha,Eaa,sha,Faa,sha,Gaa,sha,Haa,sha,Iaa,sha,Jaa,sha,Kaa,sha,Laa,sha,Maa,sha,Naa,sha,Oaa,sha,Paa,sha,Qaa,sha,Raa,sha,Saa,sha,Taa,sha,Uaa,sha,Vaa,sha,Waa,sha,Xaa,sha,Yaa,sha,Zaa,sha,_aa,sha,$aa,sha,aba,sha,bba,sha,cba,sha,dba,sha,eba,sha,fba,sha,gba,sha,hba,sha,iba,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha,sha];var Kb=[tha,tha,kba,tha,lba,tha,mba,tha,nba,tha,oba,tha,pba,tha,qba,tha,rba,tha,sba,tha,tba,tha,uba,tha,vba,tha,wba,tha,xba,tha,yba,tha,zba,tha,Aba,tha,Bba,tha,Cba,tha,Dba,tha,Eba,tha,Fba,tha,Gba,tha,Hba,tha,Iba,tha,Jba,tha,Kba,tha,Lba,tha,Mba,tha,Nba,tha,Oba,tha,Pba,tha,Qba,tha,Rba,tha,Sba,tha,Tba,tha,Uba,tha,Vba,tha,Wba,tha,Xba,tha,Yba,tha,Zba,tha,_ba,tha,$ba,tha,aca,tha,bca,tha,cca,tha,dca,tha,eca,tha,fca,tha,gca,tha,hca,tha,ica,tha,jca,tha,kca,tha,lca,tha,mca,tha,nca,tha,oca,tha,pca,tha,qca,tha,rca,tha,sca,tha,tca,tha,ve,we,Se,We,cL,hQ,xQ,PQ,SW,WT,ZT,aU,jY,lY,qY,IA,nv,sv,oG,GJ,NK,OK,aR,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha,tha];var Lb=[uha,uha,vca,uha,wca,uha,xca,uha,yca,uha,zca,uha,Aca,uha,Bca,uha,Cca,uha,Dca,uha,Eca,uha,Fca,uha,Gca,uha,Hca,uha,Ica,uha,Jca,uha,Kca,uha,Lca,uha,Mca,uha,Nca,uha,Oca,uha,Pca,uha,Qca,uha,Rca,uha,Sca,uha,Tca,uha,Uca,uha,Vca,uha,Wca,uha,Xca,uha,Yca,uha,Zca,uha,_ca,uha,$ca,uha,ada,uha,bda,uha,cda,uha,dda,uha,eda,uha,fda,uha,gda,uha,hda,uha,ida,uha,jda,uha,kda,uha,lda,uha,mda,uha,nda,uha,oda,uha,pda,uha,qda,uha,rda,uha,sda,uha,tda,uha,uda,uha,vda,uha,wda,uha,xda,uha,yda,uha,zda,uha,Ada,uha,Bda,uha,Cda,uha,Dda,uha,Eda,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha,uha];var Mb=[vha,vha,Gda,vha,Hda,vha,Ida,vha,Jda,vha,Kda,vha,Lda,vha,Mda,vha,Nda,vha,Oda,vha,Pda,vha,Qda,vha,Rda,vha,Sda,vha,Tda,vha,Uda,vha,Vda,vha,Wda,vha,Xda,vha,Yda,vha,Zda,vha,_da,vha,$da,vha,aea,vha,bea,vha,cea,vha,dea,vha,eea,vha,fea,vha,gea,vha,hea,vha,iea,vha,jea,vha,kea,vha,lea,vha,mea,vha,nea,vha,oea,vha,pea,vha,qea,vha,rea,vha,sea,vha,tea,vha,uea,vha,vea,vha,wea,vha,xea,vha,yea,vha,zea,vha,Aea,vha,Bea,vha,Cea,vha,Dea,vha,Eea,vha,Fea,vha,Gea,vha,Hea,vha,Iea,vha,Jea,vha,Kea,vha,Lea,vha,Mea,vha,Nea,vha,Oea,vha,Pea,vha,ye,ze,Be,De,Ee,jg,Ef,Fe,Ke,Le,Me,Ne,Oe,Ue,C$,u$,t$,V_,N$,I$,cf,J$,h$,B$,Gf,Hf,If,Sf,Tf,Uf,sg,Km,Lm,UK,XK,bL,iL,jL,kL,lL,vK,xK,DK,DQ,FQ,LQ,IW,LW,RW,YW,ZW,_W,$W,lR,oR,uR,bY,fY,gY,nY,Yc,Zc,Yo,lo,sp,up,Fd,Fw,zx,Ax,Mw,Nw,kx,sx,Dz,Ez,MA,ZC,pE,PD,QD,aF,bF,PK,QK,RL,SL,VL,tM,bV,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha,vha];var Nb=[wha,wha,Rea,wha,Sea,wha,Tea,wha,Uea,wha,Vea,wha,Wea,wha,Xea,wha,Yea,wha,Zea,wha,_ea,wha,$ea,wha,afa,wha,bfa,wha,cfa,wha,dfa,wha,efa,wha,ffa,wha,gfa,wha,hfa,wha,ifa,wha,jfa,wha,kfa,wha,lfa,wha,mfa,wha,nfa,wha,ofa,wha,pfa,wha,qfa,wha,rfa,wha,sfa,wha,tfa,wha,ufa,wha,vfa,wha,wfa,wha,xfa,wha,yfa,wha,zfa,wha,Afa,wha,Bfa,wha,Cfa,wha,Dfa,wha,Efa,wha,Ffa,wha,Gfa,wha,Hfa,wha,Ifa,wha,Jfa,wha,Kfa,wha,Lfa,wha,Mfa,wha,Nfa,wha,Ofa,wha,Pfa,wha,Qfa,wha,Rfa,wha,Sfa,wha,Tfa,wha,Ufa,wha,Vfa,wha,Wfa,wha,Xfa,wha,Yfa,wha,Zfa,wha,_fa,wha,te,He,Ie,Ve,Vf,Hm,Im,ZK,hL,zK,HQ,NW,XW,qR,dY,hY,oY,cK,eK,_Q,$Q,IV,JV,KV,LV,MV,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha,wha];var Ob=[xha,xha,aga,xha,bga,xha,cga,xha,dga,xha,ega,xha,fga,xha,gga,xha,hga,xha,iga,xha,jga,xha,kga,xha,lga,xha,mga,xha,nga,xha,oga,xha,pga,xha,qga,xha,rga,xha,sga,xha,tga,xha,uga,xha,vga,xha,wga,xha,xga,xha,yga,xha,zga,xha,Aga,xha,Bga,xha,Cga,xha,Dga,xha,Ega,xha,Fga,xha,Gga,xha,Hga,xha,Iga,xha,Jga,xha,Kga,xha,Lga,xha,Mga,xha,Nga,xha,Oga,xha,Pga,xha,Qga,xha,Rga,xha,Sga,xha,Tga,xha,Uga,xha,Vga,xha,Wga,xha,Xga,xha,Yga,xha,Zga,xha,_ga,xha,$ga,xha,aha,xha,bha,xha,cha,xha,dha,xha,eha,xha,fha,xha,gha,xha,hha,xha,iha,xha,jha,xha,Eg,pY,hd,jd,nz,oz,zS,CS,DS,EX,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha,xha];return{___uremdi3:l0,_sqlite3_value_blob:Ri,_sqlite3_column_name:Bv,_sqlite3_reset:ys,_sqlite3_column_type:Dv,_sqlite3_exec:qv,_sqlite3_result_null:nj,___udivdi3:p0,_sqlite3_step:Bs,_bitshift64Lshr:f0,_sqlite3_prepare_v2:zv,_sqlite3_close_v2:WJ,_sqlite3_open:aK,_bitshift64Shl:j0,_sqlite3_result_text:xi,_fflush:z$,_sqlite3_errmsg:Ev,_sqlite3_column_bytes:gJ,_sqlite3_bind_int:pJ,_sqlite3_bind_blob:lJ,_memset:m0,_sbrk:i0,_sqlite3_value_double:Hi,_memcpy:h0,_sqlite3_result_double:Ci,_sqlite3_value_text:Rh,___muldi3:r0,_sqlite3_changes:bj,_sqlite3_column_blob:fJ,_sqlite3_bind_parameter_index:wJ,___divdi3:n0,_sqlite3_value_type:Ai,_pthread_mutex_trylock:d0,_i64Subtract:Z$,_sqlite3_column_text:Cv,___udivmoddi4:b0,_llvm_cttz_i32:a0,_i64Add:_$,_sqlite3_value_bytes:Sh,_pthread_mutex_unlock:g0,_sqlite3_finalize:Fr,_sqlite3_column_double:hJ,_sqlite3_create_function_v2:YJ,_sqlite3_free:_d,_sqlite3_value_int:Qi,_sqlite3_data_count:eJ,_sqlite3_bind_text:sJ,_sqlite3_bind_double:oJ,___errno_location:s_,___muldsi3:q0,_RegisterExtensionFunctions:Wb,_free:R$,_memmove:k0,_emscripten_get_global_libc:n_,_sqlite3_clear_bindings:As,_malloc:Q$,_bitshift64Ashr:e0,_pthread_mutex_lock:$$,_memalign:W$,___remdi3:c0,_llvm_bswap_i32:o0,runPostSets:Y$,stackAlloc:Pb,stackSave:Qb,stackRestore:Rb,establishStackSpace:Sb,setTempRet0:Ub,getTempRet0:Vb,setThrew:Tb,stackAlloc:Pb,stackSave:Qb,stackRestore:Rb,establishStackSpace:Sb,setThrew:Tb,setTempRet0:Ub,getTempRet0:Vb,dynCall_iiii:s0,dynCall_viiiii:D1,dynCall_i:O2,dynCall_vi:Z3,dynCall_vii:i5,dynCall_iiiiiii:t6,dynCall_ii:E7,dynCall_viii:P8,dynCall_v:_9,dynCall_iiiii:jba,dynCall_viiiiii:uca,dynCall_iii:Fda,dynCall_iiiiii:Qea,dynCall_viiii:$fa}}) // EMSCRIPTEN_END_ASM -(f.mb,f.nb,buffer);f._sqlite3_value_blob=W._sqlite3_value_blob;f._sqlite3_column_name=W._sqlite3_column_name;f._sqlite3_reset=W._sqlite3_reset;f._sqlite3_column_type=W._sqlite3_column_type;f._sqlite3_exec=W._sqlite3_exec;f._sqlite3_result_null=W._sqlite3_result_null;f._sqlite3_step=W._sqlite3_step;var Tc=f._bitshift64Lshr=W._bitshift64Lshr;f._sqlite3_prepare_v2=W._sqlite3_prepare_v2;f._sqlite3_close_v2=W._sqlite3_close_v2;f._sqlite3_open=W._sqlite3_open; -var bd=f._bitshift64Shl=W._bitshift64Shl;f._sqlite3_result_text=W._sqlite3_result_text;f._fflush=W._fflush;f._sqlite3_column_bytes=W._sqlite3_column_bytes;f._sqlite3_bind_int=W._sqlite3_bind_int;f._sqlite3_bind_blob=W._sqlite3_bind_blob;var ad=f._memset=W._memset;f._sqlite3_value_double=W._sqlite3_value_double;var Yc=f._memcpy=W._memcpy;f._sqlite3_result_double=W._sqlite3_result_double;f._sqlite3_value_text=W._sqlite3_value_text;f._sqlite3_changes=W._sqlite3_changes;f._sqlite3_column_blob=W._sqlite3_column_blob; -f._sqlite3_bind_parameter_index=W._sqlite3_bind_parameter_index;f._sqlite3_value_type=W._sqlite3_value_type;var zb=f._i64Subtract=W._i64Subtract;f._sqlite3_column_text=W._sqlite3_column_text;var Ab=f._i64Add=W._i64Add;f._sqlite3_value_bytes=W._sqlite3_value_bytes;f._sqlite3_finalize=W._sqlite3_finalize;f._sqlite3_column_double=W._sqlite3_column_double;f._sqlite3_create_function_v2=W._sqlite3_create_function_v2;f._sqlite3_free=W._sqlite3_free;f._sqlite3_value_int=W._sqlite3_value_int; -f._sqlite3_data_count=W._sqlite3_data_count;f._sqlite3_bind_text=W._sqlite3_bind_text;f._sqlite3_bind_double=W._sqlite3_bind_double;f.___errno_location=W.___errno_location;f._RegisterExtensionFunctions=W._RegisterExtensionFunctions;var Pa=f._free=W._free;f.runPostSets=W.runPostSets;var Zc=f._memmove=W._memmove;f._sqlite3_errmsg=W._sqlite3_errmsg;f._sqlite3_clear_bindings=W._sqlite3_clear_bindings;var Ga=f._malloc=W._malloc;f.dynCall_iiii=W.dynCall_iiii;f.dynCall_i=W.dynCall_i;f.dynCall_vi=W.dynCall_vi; -f.dynCall_vii=W.dynCall_vii;f.dynCall_iiiiiii=W.dynCall_iiiiiii;f.dynCall_ii=W.dynCall_ii;f.dynCall_viii=W.dynCall_viii;f.dynCall_v=W.dynCall_v;f.dynCall_iiiii=W.dynCall_iiiii;f.dynCall_viiiiii=W.dynCall_viiiiii;f.dynCall_iii=W.dynCall_iii;f.dynCall_iiiiii=W.dynCall_iiiiii;f.dynCall_viiii=W.dynCall_viiii;l.R=W.stackAlloc;l.qa=W.stackSave;l.ga=W.stackRestore;l.we=W.establishStackSpace;l.Qb=W.setTempRet0;l.Ab=W.getTempRet0; -function ka(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ka.prototype=Error();ka.prototype.constructor=ka;var Vd=null,vb=function Wd(){f.calledRun||Xd();f.calledRun||(vb=Wd)}; -f.callMain=f.te=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}assert(0==tb,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(0==bb.length,"cannot call main when preRun functions remain to be called");a=a||[];Ja||(Ja=!0,ab(cb));var c=a.length+1,d=[z(B(f.thisProgram),"i8",0)];b();for(var e=0;eg;a=0<=g?++c:--c)e[a]=u[d+a];return e};a.prototype.get=function(a){var c,d,e;null!=a&&this.bind(a)&&this.step();e=[];a=c=0;for(d=te(this.u);0<=d?cd;a=0<=d?++c:--c)switch(re(this.u,a)){case X.gb:case X.FLOAT:e.push(this.yb(a));break;case X.ib:e.push(this.zb(a));break;case X.cb:e.push(this.getBlob(a));break;default:e.push(null)}return e};a.prototype.getColumnNames= -function(){var a,c,d,e;e=[];a=c=0;for(d=te(this.u);0<=d?cd;a=0<=d?++c:--c)e.push(pe(this.u,a));return e};a.prototype.getAsObject=function(a){var c,d,e,g,h,m;m=this.get(a);g=this.getColumnNames();h={};a=c=0;for(d=g.length;c>>0);null!=a&&Gc("/",this.filename,a,!0,!0);this.handleError(xe(this.filename,Z));this.db=y(Z,"i32");be(this.db);this.ra={}}a.prototype.run=function(a,c){var d;if(!this.db)throw"Database closed";c?(d=this.prepare(a,c),d.step(),d.free()):this.handleError(ve(this.db,a,0,0,Z));return this};a.prototype.exec=function(a){var c,d,e,g,h;if(!this.db)throw"Database closed";g=l.qa();d=l.R(a.length<<3);wa(a,d);a=l.R(4);for(e= -[];y(d,"i8")!==ae;)if(ya(Z,0,"i32"),ya(a,0,"i32"),this.handleError(ze(this.db,d,-1,Z,a)),c=y(Z,"i32"),d=y(a,"i32"),c!==ae){h=new ce(c,this);for(c=null;h.step();)null===c&&(c={columns:h.getColumnNames(),values:[]},e.push(c)),c.values.push(h.get());h.free()}l.ga(g);return e};a.prototype.each=function(a,c,d,e){"function"===typeof c&&(e=d,d=c,c=void 0);for(a=this.prepare(a,c);a.step();)d(a.getAsObject());a.free();if("function"===typeof e)return e()};a.prototype.prepare=function(a,c){var d,e;ya(Z,0,"i32"); -this.handleError(ye(this.db,a,-1,Z,ae));d=y(Z,"i32");if(d===ae)throw"Nothing to prepare";e=new ce(d,this);null!=c&&e.bind(c);return this.ra[d]=e};a.prototype["export"]=function(){var a,c,d,e;d=this.ra;for(a in d)e=d[a],e.free();this.handleError(le(this.db));e=this.filename;a=a={encoding:"binary"};a.flags=a.flags||"r";a.encoding=a.encoding||"binary";if("utf8"!==a.encoding&&"binary"!==a.encoding)throw Error('Invalid encoding type "'+a.encoding+'"');d=wc(e,a.flags);e=rc(e).size;var g=new Uint8Array(e); -Ac(d,g,0,e,0);"utf8"===a.encoding?c=La(g,0):"binary"===a.encoding&&(c=g);yc(d);this.handleError(xe(this.filename,Z));this.db=y(Z,"i32");return c};a.prototype.close=function(){var a,c,d;c=this.ra;for(a in c)d=c[a],d.free();this.handleError(le(this.db));qc("/"+this.filename);return this.db=null};a.prototype.handleError=function(a){if(a===X.ka)return null;a=ue(this.db);throw Error(a);};a.prototype.getRowsModified=function(){return je(this.db)};a.prototype.create_function=function(a,c){var d;d=l.La(function(a, -b,d){var m,t,r,x,v;t=[];for(m=r=0;0<=b?r<=b:r>=b;m=0<=b?++r:--r)x=y(d+4*m,"i32"),v=Ke(x),m=function(){switch(!1){case 1!==v:return Ie;case 2!==v:return He;case 3!==v:return Je;case 4!==v:return function(a){var b,c,d,e;e=Ge(a);b=Fe(a);a=new Uint8Array(e);for(c=d=0;0<=e?de;c=0<=e?++d:--d)a[c]=u[b+c];return a};default:return function(){return null}}}(),m=m(x),t.push(m);if(b=c.apply(null,t))switch(typeof b){case "number":return Be(a,b);case "string":return De(a,b,-1,-1)}else return Ce(a)});this.handleError(se(this.db, -a,c.length,X.jb,0,d,0,0,0));return this};return a}();xe=f.cwrap("sqlite3_open","number",["string","number"]);le=f.cwrap("sqlite3_close_v2","number",["number"]);ve=f.cwrap("sqlite3_exec","number",["number","string","number","number","number"]);f.cwrap("sqlite3_free","",["number"]);je=f.cwrap("sqlite3_changes","number",["number"]);ye=f.cwrap("sqlite3_prepare_v2","number",["number","string","number","number","number"]);ze=f.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]); -ie=f.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]);ee=f.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]);fe=f.cwrap("sqlite3_bind_double","number",["number","number","number"]);ge=f.cwrap("sqlite3_bind_int","number",["number","number","number"]);he=f.cwrap("sqlite3_bind_parameter_index","number",["number","string"]);Ee=f.cwrap("sqlite3_step","number",["number"]);ue=f.cwrap("sqlite3_errmsg","string",["number"]); -te=f.cwrap("sqlite3_data_count","number",["number"]);oe=f.cwrap("sqlite3_column_double","number",["number","number"]);qe=f.cwrap("sqlite3_column_text","string",["number","number"]);me=f.cwrap("sqlite3_column_blob","number",["number","number"]);ne=f.cwrap("sqlite3_column_bytes","number",["number","number"]);re=f.cwrap("sqlite3_column_type","number",["number","number"]);pe=f.cwrap("sqlite3_column_name","string",["number","number"]);Ae=f.cwrap("sqlite3_reset","number",["number"]); -ke=f.cwrap("sqlite3_clear_bindings","number",["number"]);we=f.cwrap("sqlite3_finalize","number",["number"]);se=f.cwrap("sqlite3_create_function_v2","number","number string number number number number number number number".split(" "));Ke=f.cwrap("sqlite3_value_type","number",["number"]);Ge=f.cwrap("sqlite3_value_bytes","number",["number"]);Je=f.cwrap("sqlite3_value_text","string",["number"]);Ie=f.cwrap("sqlite3_value_int","number",["number"]);Fe=f.cwrap("sqlite3_value_blob","number",["number"]); -He=f.cwrap("sqlite3_value_double","number",["number"]);Be=f.cwrap("sqlite3_result_double","",["number","number"]);Ce=f.cwrap("sqlite3_result_null","",["number"]);De=f.cwrap("sqlite3_result_text","",["number","string","number","number"]);be=f.cwrap("RegisterExtensionFunctions","number",["number"]);this.SQL={Database:Database};for(de in this.SQL)f[de]=this.SQL[de];ae=0;X.ka=0;X.ERROR=1;X.$d=2;X.je=3;X.Ub=4;X.Wb=5;X.ce=6;X.NOMEM=7;X.me=8;X.ae=9;X.be=10;X.Zb=11;X.NOTFOUND=12;X.Yd=13;X.Xb=14;X.ke=15; -X.EMPTY=16;X.ne=17;X.pe=18;X.Yb=19;X.de=20;X.ee=21;X.fe=22;X.Vb=23;X.Xd=24;X.le=25;X.ge=26;X.he=27;X.qe=28;X.hb=100;X.DONE=101;X.gb=1;X.FLOAT=2;X.ib=3;X.cb=4;X.ie=5;X.jb=1; +(e.Ua,e.Va,buffer),Vc=e._llvm_bswap_i32=W._llvm_bswap_i32;e._sqlite3_value_blob=W._sqlite3_value_blob;e.stackSave=W.stackSave;e._sqlite3_column_name=W._sqlite3_column_name;e._sqlite3_reset=W._sqlite3_reset;e._sqlite3_column_type=W._sqlite3_column_type;e._sqlite3_exec=W._sqlite3_exec;e._sqlite3_data_count=W._sqlite3_data_count;e.getTempRet0=W.getTempRet0; +e._sqlite3_result_null=W._sqlite3_result_null;var Wc=e.___udivdi3=W.___udivdi3;e._sqlite3_step=W._sqlite3_step;var Ic=e._bitshift64Lshr=W._bitshift64Lshr;e._sqlite3_prepare_v2=W._sqlite3_prepare_v2;e._sqlite3_close_v2=W._sqlite3_close_v2;e._sqlite3_open=W._sqlite3_open;var Pc=e._bitshift64Shl=W._bitshift64Shl;e._sqlite3_result_text=W._sqlite3_result_text;e._fflush=W._fflush;e._emscripten_get_global_libc=W._emscripten_get_global_libc;e._sqlite3_column_bytes=W._sqlite3_column_bytes; +e._sqlite3_bind_int=W._sqlite3_bind_int;e._sqlite3_bind_blob=W._sqlite3_bind_blob;var Tc=e._memset=W._memset,Oc=e._sbrk=W._sbrk;e._sqlite3_value_double=W._sqlite3_value_double;var Nc=e._memcpy=W._memcpy;e._sqlite3_result_double=W._sqlite3_result_double;e._sqlite3_value_text=W._sqlite3_value_text;var Yc=e.___muldi3=W.___muldi3;e._sqlite3_changes=W._sqlite3_changes;e._sqlite3_column_blob=W._sqlite3_column_blob;var Rc=e.___uremdi3=W.___uremdi3,Uc=e.___divdi3=W.___divdi3;e._sqlite3_value_type=W._sqlite3_value_type; +var Ac=e._pthread_mutex_trylock=W._pthread_mutex_trylock,hb=e._i64Subtract=W._i64Subtract;e._sqlite3_column_text=W._sqlite3_column_text;var xc=e.___udivmoddi4=W.___udivmoddi4;e.setTempRet0=W.setTempRet0;var ib=e._i64Add=W._i64Add;e._sqlite3_value_bytes=W._sqlite3_value_bytes;var Mc=e._pthread_mutex_unlock=W._pthread_mutex_unlock;e._sqlite3_finalize=W._sqlite3_finalize;e._sqlite3_column_double=W._sqlite3_column_double;e._sqlite3_create_function_v2=W._sqlite3_create_function_v2;e._sqlite3_errmsg=W._sqlite3_errmsg; +e._sqlite3_value_int=W._sqlite3_value_int;var wc=e._llvm_cttz_i32=W._llvm_cttz_i32;e._sqlite3_bind_text=W._sqlite3_bind_text;e.stackAlloc=W.stackAlloc;e.stackRestore=W.stackRestore;e._sqlite3_bind_double=W._sqlite3_bind_double;e.___errno_location=W.___errno_location;var Xc=e.___muldsi3=W.___muldsi3;e._RegisterExtensionFunctions=W._RegisterExtensionFunctions;var Ja=e._free=W._free;e.runPostSets=W.runPostSets;e.setThrew=W.setThrew;e.establishStackSpace=W.establishStackSpace; +e._sqlite3_bind_parameter_index=W._sqlite3_bind_parameter_index;e._sqlite3_free=W._sqlite3_free;e._sqlite3_clear_bindings=W._sqlite3_clear_bindings;var Aa=e._malloc=W._malloc,Hc=e._bitshift64Ashr=W._bitshift64Ashr,jb=e._pthread_mutex_lock=W._pthread_mutex_lock,Zc=e._memalign=W._memalign,Qc=e._memmove=W._memmove,yc=e.___remdi3=W.___remdi3;e.dynCall_iiii=W.dynCall_iiii;e.dynCall_viiiii=W.dynCall_viiiii;e.dynCall_i=W.dynCall_i;e.dynCall_vi=W.dynCall_vi;e.dynCall_vii=W.dynCall_vii;e.dynCall_iiiiiii=W.dynCall_iiiiiii; +e.dynCall_ii=W.dynCall_ii;e.dynCall_viii=W.dynCall_viii;e.dynCall_v=W.dynCall_v;e.dynCall_iiiii=W.dynCall_iiiii;e.dynCall_viiiiii=W.dynCall_viiiiii;e.dynCall_iii=W.dynCall_iii;e.dynCall_iiiiii=W.dynCall_iiiiii;e.dynCall_viiii=W.dynCall_viiii;n.D=e.stackAlloc;n.$=e.stackSave;n.Q=e.stackRestore;n.Yd=e.establishStackSpace;n.tb=e.setTempRet0;n.hb=e.getTempRet0;e.asm=W;function ha(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ha.prototype=Error(); +ha.prototype.constructor=ha;var $c=null,db=function ad(){e.calledRun||bd();e.calledRun||(db=ad)}; +e.callMain=e.Wd=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}a=a||[];Ca||(Ca=!0,Sa(Ua));var c=a.length+1,d=[z(C(e.thisProgram),"i8",0)];b();for(var f=0;fg;a=0<=g?++c:--c)f[a]=x[d+a];return f};a.prototype.get=function(a){var c,d,f;null!=a&&this.bind(a)&&this.step();f=[];a=c=0;for(d=yd(this.i);0<=d?cd;a=0<=d?++c:--c)switch(wd(this.i,a)){case X.Oa:case X.FLOAT:f.push(this.fb(a));break;case X.Qa:f.push(this.gb(a));break;case X.La:f.push(this.getBlob(a));break;default:f.push(null)}return f};a.prototype.getColumnNames= +function(){var a,c,d,f;f=[];a=c=0;for(d=yd(this.i);0<=d?cd;a=0<=d?++c:--c)f.push(ud(this.i,a));return f};a.prototype.getAsObject=function(a){var c,d,f,g,h,q;q=this.get(a);g=this.getColumnNames();h={};a=c=0;for(d=g.length;c>>0);null!=a&&pc("/",this.filename,a,!0,!0);this.handleError(Cd(this.filename,Z));this.db=y(Z,"i32");gd(this.db);this.aa={}}a.prototype.run=function(a,c){var d;if(!this.db)throw"Database closed";c?(d=this.prepare(a,c),d.step(),d.free()):this.handleError(Ad(this.db,a,0,0,Z));return this};a.prototype.exec=function(a){var c,d,f,g,h;if(!this.db)throw"Database closed";g=n.$();d=n.D(a.length<<3);$a(a,d);a=n.D(4);for(f=[];y(d, +"i8")!==fd;)if(sa(Z,0,"i32"),sa(a,0,"i32"),this.handleError(Ed(this.db,d,-1,Z,a)),c=y(Z,"i32"),d=y(a,"i32"),c!==fd){h=new hd(c,this);for(c=null;h.step();)null===c&&(c={columns:h.getColumnNames(),values:[]},f.push(c)),c.values.push(h.get());h.free()}n.Q(g);return f};a.prototype.each=function(a,c,d,f){"function"===typeof c&&(f=d,d=c,c=void 0);for(a=this.prepare(a,c);a.step();)d(a.getAsObject());a.free();if("function"===typeof f)return f()};a.prototype.prepare=function(a,c){var d,f;sa(Z,0,"i32");this.handleError(Dd(this.db, +a,-1,Z,fd));d=y(Z,"i32");if(d===fd)throw"Nothing to prepare";f=new hd(d,this);null!=c&&f.bind(c);return this.aa[d]=f};a.prototype["export"]=function(){var a,c,d,f;d=this.aa;for(a in d)f=d[a],f.free();this.handleError(qd(this.db));f=this.filename;a=a={encoding:"binary"};a.flags=a.flags||"r";a.encoding=a.encoding||"binary";if("utf8"!==a.encoding&&"binary"!==a.encoding)throw Error('Invalid encoding type "'+a.encoding+'"');d=fc(f,a.flags);f=ac(f).size;var g=new Uint8Array(f);jc(d,g,0,f,0);"utf8"===a.encoding? +c=Fa(g,0):"binary"===a.encoding&&(c=g);hc(d);this.handleError(Cd(this.filename,Z));this.db=y(Z,"i32");return c};a.prototype.close=function(){var a,c,d;c=this.aa;for(a in c)d=c[a],d.free();this.handleError(qd(this.db));$b("/"+this.filename);return this.db=null};a.prototype.handleError=function(a){if(a===X.OK)return null;a=zd(this.db);throw Error(a);};a.prototype.getRowsModified=function(){return od(this.db)};a.prototype.create_function=function(a,c){var d;d=n.ua(function(a,b,d){var q,v,r,D,B;v=[]; +for(q=r=0;0<=b?r<=b:r>=b;q=0<=b?++r:--r)D=y(d+4*q,"i32"),B=Pd(D),q=function(){switch(!1){case 1!==B:return Nd;case 2!==B:return Md;case 3!==B:return Od;case 4!==B:return function(a){var b,c,d,f;f=Ld(a);b=Kd(a);a=new Uint8Array(f);for(c=d=0;0<=f?df;c=0<=f?++d:--d)a[c]=x[b+c];return a};default:return function(){return null}}}(),q=q(D),v.push(q);if(b=c.apply(null,v))switch(typeof b){case "number":return Gd(a,b);case "string":return Id(a,b,-1,-1)}else return Hd(a)});this.handleError(xd(this.db,a, +c.length,X.Ra,0,d,0,0,0));return this};return a}();Cd=e.cwrap("sqlite3_open","number",["string","number"]);qd=e.cwrap("sqlite3_close_v2","number",["number"]);Ad=e.cwrap("sqlite3_exec","number",["number","string","number","number","number"]);e.cwrap("sqlite3_free","",["number"]);od=e.cwrap("sqlite3_changes","number",["number"]);Dd=e.cwrap("sqlite3_prepare_v2","number",["number","string","number","number","number"]);Ed=e.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]); +nd=e.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]);jd=e.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]);kd=e.cwrap("sqlite3_bind_double","number",["number","number","number"]);ld=e.cwrap("sqlite3_bind_int","number",["number","number","number"]);md=e.cwrap("sqlite3_bind_parameter_index","number",["number","string"]);Jd=e.cwrap("sqlite3_step","number",["number"]);zd=e.cwrap("sqlite3_errmsg","string",["number"]); +yd=e.cwrap("sqlite3_data_count","number",["number"]);td=e.cwrap("sqlite3_column_double","number",["number","number"]);vd=e.cwrap("sqlite3_column_text","string",["number","number"]);rd=e.cwrap("sqlite3_column_blob","number",["number","number"]);sd=e.cwrap("sqlite3_column_bytes","number",["number","number"]);wd=e.cwrap("sqlite3_column_type","number",["number","number"]);ud=e.cwrap("sqlite3_column_name","string",["number","number"]);Fd=e.cwrap("sqlite3_reset","number",["number"]); +pd=e.cwrap("sqlite3_clear_bindings","number",["number"]);Bd=e.cwrap("sqlite3_finalize","number",["number"]);xd=e.cwrap("sqlite3_create_function_v2","number","number string number number number number number number number".split(" "));Pd=e.cwrap("sqlite3_value_type","number",["number"]);Ld=e.cwrap("sqlite3_value_bytes","number",["number"]);Od=e.cwrap("sqlite3_value_text","string",["number"]);Nd=e.cwrap("sqlite3_value_int","number",["number"]);Kd=e.cwrap("sqlite3_value_blob","number",["number"]); +Md=e.cwrap("sqlite3_value_double","number",["number"]);Gd=e.cwrap("sqlite3_result_double","",["number","number"]);Hd=e.cwrap("sqlite3_result_null","",["number"]);Id=e.cwrap("sqlite3_result_text","",["number","string","number","number"]);gd=e.cwrap("RegisterExtensionFunctions","number",["number"]);this.SQL={Database:Database};for(id in this.SQL)e[id]=this.SQL[id];fd=0;X.OK=0;X.ERROR=1;X.Bd=2;X.Ld=3;X.wb=4;X.yb=5;X.Ed=6;X.NOMEM=7;X.Od=8;X.Cd=9;X.Dd=10;X.Bb=11;X.NOTFOUND=12;X.Ad=13;X.zb=14;X.Md=15; +X.EMPTY=16;X.Pd=17;X.Rd=18;X.Ab=19;X.Fd=20;X.Gd=21;X.Hd=22;X.xb=23;X.zd=24;X.Nd=25;X.Id=26;X.Jd=27;X.Sd=28;X.Pa=100;X.DONE=101;X.Oa=1;X.FLOAT=2;X.Qa=3;X.La=4;X.Kd=5;X.Ra=1; return this['SQL']; })(); if (typeof module !== 'undefined') module.exports = SQL; if (typeof define === 'function') define(SQL); -// Generated by CoffeeScript 1.9.2 +// Generated by CoffeeScript 1.12.5 var createDb, db; if (typeof importScripts === 'function') { @@ -562,8 +588,8 @@ if (typeof importScripts === 'function') { }; try { return postMessage(result, [result]); - } catch (_error) { - err = _error; + } catch (error) { + err = error; return postMessage(result); } break;